diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000000..e9a2b0416a --- /dev/null +++ b/.gitignore @@ -0,0 +1,322 @@ +### Project files ### + +# Only used for release server authentication +/.npmrc + +# React Storybook +storybook/ +storybook-based-tests/ + +# Publishing and dist build +.tmp* + +# For build server. A copy of itself from master is pulled down in order to publish itself. +design-system-react + +# Allow custom pre-commit +scripts/pre-commit.sh + +# Visual diff images. These are the images that compare differences +# in the current and previous capture +__diff_output__ + +# Dev notes +dev-notes.txt + +# --- MACHINE GENERATED BELOW THIS LINE --- + +### Node ### +# Logs +logs +*.log +npm-debug.log* +yarn-debug.log* +yarn-error.log* + +# Runtime data +pids +*.pid +*.seed +*.pid.lock + +# Directory for instrumented libs generated by jscoverage/JSCover +lib-cov + +# Coverage directory used by tools like istanbul +coverage + +# nyc test coverage +.nyc_output + +# Grunt intermediate storage (http://gruntjs.com/creating-plugins#storing-task-files) +.grunt + +# Bower dependency directory (https://bower.io/) +bower_components + +# node-waf configuration +.lock-wscript + +# Compiled binary addons (http://nodejs.org/api/addons.html) +build/Release + +# Dependency directories +node_modules/ +jspm_packages/ + +# Typescript v1 declaration files +typings/ + +# Optional npm cache directory +.npm + +# Optional eslint cache +.eslintcache + +# Optional REPL history +.node_repl_history + +# Output of 'npm pack' +*.tgz + +# Yarn Integrity file +.yarn-integrity + +# dotenv environment variables file +.env + +### Code ### +# Visual Studio Code - https://code.visualstudio.com/ +.settings/ +.vscode/ +tsconfig.json +jsconfig.json + +### Emacs ### +# -*- mode: gitignore; -*- +*~ +\#*\# +/.emacs.desktop +/.emacs.desktop.lock +*.elc +auto-save-list +tramp +.\#* + +# Org-mode +.org-id-locations +*_archive + +# flymake-mode +*_flymake.* + +# eshell files +/eshell/history +/eshell/lastdir + +# elpa packages +/elpa/ + +# reftex files +*.rel + +# AUCTeX auto folder +/auto/ + +# cask packages +.cask/ +/dist/ + +# Flycheck +flycheck_*.el + +# server auth directory +/server/ + +# projectiles files +.projectile +projectile-bookmarks.eld + +# directory configuration +.dir-locals.el + +# saveplace +places + +# url cache +url/cache/ + +# cedet +ede-projects.el + +# smex +smex-items + +# company-statistics +company-statistics-cache.el + +# anaconda-mode +anaconda-mode/ + +### macOS ### +*.DS_Store +.AppleDouble +.LSOverride + +# Removed due to Icon component not working on NPM. +# Icon must end with two \r +# Icon + +# Thumbnails +._* + +# Files that might appear in the root of a volume +.DocumentRevisions-V100 +.fseventsd +.Spotlight-V100 +.TemporaryItems +.Trashes +.VolumeIcon.icns +.com.apple.timemachine.donotpresent + +# Directories potentially created on remote AFP share +.AppleDB +.AppleDesktop +Network Trash Folder +Temporary Items +.apdisk + +### SublimeText ### +# cache files for sublime text +*.tmlanguage.cache +*.tmPreferences.cache +*.stTheme.cache + +# workspace files are user-specific +*.sublime-workspace + +# project files should be checked into the repository, unless a significant +# proportion of contributors will probably not be using SublimeText +# *.sublime-project + +# sftp configuration file +sftp-config.json + +# Package control specific files +Package Control.last-run +Package Control.ca-list +Package Control.ca-bundle +Package Control.system-ca-bundle +Package Control.cache/ +Package Control.ca-certs/ +Package Control.merged-ca-bundle +Package Control.user-ca-bundle +oscrypto-ca-bundle.crt +bh_unicode_properties.cache + +# Sublime-github package stores a github token in this file +# https://packagecontrol.io/packages/sublime-github +GitHub.sublime-settings + +### Vim ### +# swap +[._]*.s[a-v][a-z] +[._]*.sw[a-p] +[._]s[a-v][a-z] +[._]sw[a-p] +# session +Session.vim +# temporary +.netrwhist +# auto-generated tag files +tags + +### WebStorm ### +# Covers JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm, CLion, Android Studio and Webstorm +# Reference: https://intellij-support.jetbrains.com/hc/en-us/articles/206544839 + +# User-specific stuff: +.idea/**/workspace.xml +.idea/**/tasks.xml +.idea/dictionaries + +# Sensitive or high-churn files: +.idea/**/dataSources/ +.idea/**/dataSources.ids +.idea/**/dataSources.xml +.idea/**/dataSources.local.xml +.idea/**/sqlDataSources.xml +.idea/**/dynamic.xml +.idea/**/uiDesigner.xml + +# Gradle: +.idea/**/gradle.xml +.idea/**/libraries + +# CMake +cmake-build-debug/ + +# Mongo Explorer plugin: +.idea/**/mongoSettings.xml + +## File-based project format: +*.iws + +## Plugin-specific files: + +# IntelliJ +/out/ + +# mpeltonen/sbt-idea plugin +.idea_modules/ + +# JIRA plugin +atlassian-ide-plugin.xml + +# Cursive Clojure plugin +.idea/replstate.xml + +# Ruby plugin and RubyMine +/.rakeTasks + +# Crashlytics plugin (for Android Studio and IntelliJ) +com_crashlytics_export_strings.xml +crashlytics.properties +crashlytics-build.properties +fabric.properties + +### WebStorm Patch ### +# Comment Reason: https://github.com/joeblau/gitignore.io/issues/186#issuecomment-215987721 + +# *.iml +# modules.xml +# .idea/misc.xml +# *.ipr + +# Sonarlint plugin +.idea/sonarlint + +### Windows ### +# Windows thumbnail cache files +Thumbs.db +ehthumbs.db +ehthumbs_vista.db + +# Folder config file +Desktop.ini + +# Recycle Bin used on file shares +$RECYCLE.BIN/ + +# Windows Installer files +*.cab +*.msi +*.msm +*.msp + +# Windows shortcuts +*.lnk + +# Intellij IDE +.idea/* +*.iml diff --git a/LICENSE.txt b/LICENSE.txt new file mode 100644 index 0000000000..5c48ca436c --- /dev/null +++ b/LICENSE.txt @@ -0,0 +1,24 @@ +Copyright (c) 2015-present, Salesforce.com, Inc. +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + * Neither the name of the Salesforce.com nor the + names of its contributors may be used to endorse or promote products + derived from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY +DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. \ No newline at end of file diff --git a/README.md b/README.md new file mode 100644 index 0000000000..745d1126e0 --- /dev/null +++ b/README.md @@ -0,0 +1,54 @@ +# Design System for React + +### Accessible, localization-friendly, presentational React components + +## Install + +``` +$ npm install @salesforce-ux/design-system @salesforce/design-system-react +``` + +## Getting Started + +Welcome to the project! :wave: This library is the [React](https://facebook.github.io/react/) implementation of the [Salesforce Lightning Design System](https://www.lightningdesignsystem.com/). This library has a peer dependency on `@salesforce-ux/design-system`, `react`, and `react-dom`. + +* [Getting Started](https://react.lightningdesignsystem.com/getting-started/) +* [Documentation and interactive examples](https://react.lightningdesignsystem.com) + +### Quick Setup (CommonJS) + +A CommonJS-compatible version has been included within the NPM package to allows usage without transpiling. Use the following named `import` syntax to access CommonJS components from `/lib/index.js`: + +``` +import { Button } from '@salesforce/design-system-react'; + + + +
+ +
+ +
+ Accordion details - A +
+ + +
  • +
    +
    +

    + +

    +
    + +
    +
    +
    + Accordion details - B +
    +
    +
  • +
  • +
    +
    +

    + +

    +
    + +
    +
    +
    + Accordion details - C +
    +
    +
  • + + +`; + +exports[`DOM snapshots SLDSAccordion Base Open 1`] = ` +
    + +
    +`; diff --git a/components/accordion/__docs__/storybook-stories.jsx b/components/accordion/__docs__/storybook-stories.jsx new file mode 100644 index 0000000000..3fcec27482 --- /dev/null +++ b/components/accordion/__docs__/storybook-stories.jsx @@ -0,0 +1,15 @@ +import React from 'react'; +import { storiesOf } from '@storybook/react'; +import { action } from '@storybook/addon-actions'; + +import { ACCORDION } from '../../../utilities/constants'; + +import Base from '../__examples__/base'; +import BaseOpen from '../__examples__/base-open'; + +storiesOf(ACCORDION, module) + .addDecorator((getStory) => ( +
    {getStory()}
    + )) + .add('Base', () => ) + .add('Base Open', () => ); diff --git a/components/accordion/__examples__/base-open.jsx b/components/accordion/__examples__/base-open.jsx new file mode 100644 index 0000000000..d5b1658277 --- /dev/null +++ b/components/accordion/__examples__/base-open.jsx @@ -0,0 +1,64 @@ +import React from 'react'; +import Accordion from '~/components/accordion'; // `~` is replaced with design-system-react at runtime +import Panel from '~/components/accordion/panel'; // `~` is replaced with design-system-react at runtime +import IconSettings from '~/components/icon-settings'; // `~` is replaced with design-system-react at runtime + +class Example extends React.Component { + constructor(props) { + super(props); + this.state = { + expandedPanels: {}, + items: [ + { + id: '1', + summary: 'Accordion Summary', + details: 'Accordion details - A', + }, + { + id: '2', + summary: 'Accordion Summary', + details: 'Accordion details - B', + }, + { + id: '3', + summary: 'Accordion Summary', + details: 'Accordion details - C', + }, + ], + }; + } + + togglePanel(event, data) { + this.setState((state) => ({ + ...state, + expandedPanels: { + ...state.expandedPanels, + [data.id]: !state.expandedPanels[data.id], + }, + })); + console.log('onClick', data); + } + + render() { + return ( + + + {this.state.items.map((item) => ( + this.togglePanel(event, item)} + summary={item.summary} + > + {item.details} + + ))} + + + ); + } +} + +Example.displayName = 'AccordionExample'; // export is replaced with `ReactDOM.render(, mountNode);` at runtime +export default Example; diff --git a/components/accordion/__examples__/base.jsx b/components/accordion/__examples__/base.jsx new file mode 100644 index 0000000000..541f1c1a2c --- /dev/null +++ b/components/accordion/__examples__/base.jsx @@ -0,0 +1,112 @@ +import React from 'react'; +import Accordion from '~/components/accordion'; // `~` is replaced with design-system-react at runtime +import AccordionPanel from '~/components/accordion/panel'; // `~` is replaced with design-system-react at runtime +import IconSettings from '~/components/icon-settings'; // `~` is replaced with design-system-react at runtime +import Dropdown from '~/components/menu-dropdown'; // `~` is replaced with design-system-react at runtime + +class Example extends React.Component { + constructor(props) { + super(props); + this.state = { + expandedPanels: {}, + items: [ + { + id: '1', + summary: 'Accordion Summary', + details: 'Accordion details - A', + }, + { + id: '2', + summary: 'Accordion Summary', + details: 'Accordion details - B', + }, + { + id: '3', + summary: 'Accordion Summary', + details: 'Accordion details - C', + }, + ], + }; + } + + menuDropdown(selectedItem) { + return ( + { + if (option.label === 'delete') { + this.setState((state) => ({ + ...state, + items: state.items.filter((item) => item.id !== selectedItem.id), + })); + } else if (console) { + console.log('onSelect', event, option); + } + }} + options={[ + { + label: 'delete', + value: 'A0', + }, + { + label: 'redo', + value: 'B0', + }, + { + label: 'activate', + value: 'C0', + }, + ]} + iconSize="x-small" + /> + ); + } + + togglePanel(event, data) { + this.setState((state) => ({ + ...state, + expandedPanels: { + [data.id]: !state.expandedPanels[data.id], + }, + })); + if (this.props.action) { + const dataAsArray = Object.keys(data).map((id) => data[id]); + this.props.action('onClick')(event, ...dataAsArray); + } else if (console) { + console.log('[onSelect] (event, data)', event, data); + } + } + + render() { + return ( + + + {this.state.items.map((item, i) => { + return ( + this.togglePanel(event, item)} + summary={item.summary} + > + {item.details} + + ); + })} + + + ); + } +} + +Example.displayName = 'AccordionExample'; +export default Example; // export is replaced with `ReactDOM.render(, mountNode);` at runtime diff --git a/components/accordion/component.json b/components/accordion/component.json new file mode 100644 index 0000000000..99a9e6dc2e --- /dev/null +++ b/components/accordion/component.json @@ -0,0 +1,22 @@ +{ + "component": "accordion", + "status": "prod", + "display-name": "Accordions", + "classKey": "Accordion", + "last-accessibility-review": { + "date-iso-8601": "2018/01/18", + "commit-sha": "ad6b6c6523ee21cada11be5f7ea4d99abc530726" + }, + "SLDS-component-path": "/components/accordion", + "dependencies": [ + { + "component": "panel", + "classKey": "AccordionPanel" + } + ], + "site-stories": [{ + "heading": "Base", + "path": "/__examples__/base.jsx"} + ], + "url-slug": "accordions" +} diff --git a/components/accordion/index.js b/components/accordion/index.js new file mode 100644 index 0000000000..5ab4b3396a --- /dev/null +++ b/components/accordion/index.js @@ -0,0 +1,184 @@ +"use strict"; + +function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = void 0; + +var _react = _interopRequireWildcard(require("react")); + +var _propTypes = _interopRequireDefault(require("prop-types")); + +var _classnames = _interopRequireDefault(require("classnames")); + +var _shortid = _interopRequireDefault(require("shortid")); + +var _constants = require("../../utilities/constants"); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +function _getRequireWildcardCache() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); _getRequireWildcardCache = function _getRequireWildcardCache() { return cache; }; return cache; } + +function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; } + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } + +function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); } + +function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } + +function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; } + +function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } + +function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } } + +function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } + +var propTypes = { + /** + * CSS class names to be added to the accordion component. _Tested with snapshot testing._ + */ + className: _propTypes.default.oneOfType([_propTypes.default.array, _propTypes.default.object, _propTypes.default.string]), + + /** + * HTML id for accordion component. _Tested with snapshot testing._ + */ + id: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.string]), + + /** + * The panel content for the Accordion component. Accordion panels should be added as . Event handler for the accordion panels should be added to ``. Optional `panelContentActions` component may be passed as prop. _Tested with Mocha framework and snapshot testing._ + * + * Example: + * ``` + * + * + * + * + * + * ``` + */ + children: _propTypes.default.node.isRequired +}; +/** + * An accordion allows a user to toggle the display of sections of content. + * The accordion component wraps accordion panels that can be selected and expanded. It accepts children to define the content displayed within. + */ + +var Accordion = /*#__PURE__*/function (_Component) { + _inherits(Accordion, _Component); + + var _super = _createSuper(Accordion); + + function Accordion(props) { + var _this; + + _classCallCheck(this, Accordion); + + _this = _super.call(this, props); + _this.state = { + currButtonIndex: 0 + }; + _this.summaryButtons = []; + _this.generatedId = _shortid.default.generate(); + return _this; + } + + _createClass(Accordion, [{ + key: "componentDidUpdate", + value: function componentDidUpdate(prevProps, prevState) { + if (this.state.currButtonIndex !== null && this.state.currButtonIndex !== prevState.currButtonIndex) { + this.summaryButtons[this.state.currButtonIndex].focus(); + } + } + }, { + key: "onClickSummary", + value: function onClickSummary() { + this.setState({ + currButtonIndex: null + }); + } + }, { + key: "onKeyDownSummary", + value: function onKeyDownSummary(e) { + var buttonIndex = this.state.currButtonIndex; + + if (buttonIndex === null) { + buttonIndex = this.summaryButtons.findIndex(function (el) { + return el.id === e.target.id; + }); + } + + if (e.key === 'ArrowDown') { + e.preventDefault(); + + if (buttonIndex < this.props.children.length - 1) { + this.setState({ + currButtonIndex: buttonIndex + 1 + }); + } else { + this.setState({ + currButtonIndex: 0 + }); + } + } else if (e.key === 'ArrowUp') { + e.preventDefault(); + + if (buttonIndex > 0) { + this.setState({ + currButtonIndex: buttonIndex - 1 + }); + } else { + this.setState({ + currButtonIndex: this.props.children.length - 1 + }); + } + } + } + }, { + key: "addSummaryButton", + value: function addSummaryButton(button) { + var btnInArr = this.summaryButtons.find(function (el) { + return button === el; + }); + + if (button !== null && btnInArr === undefined) { + // eslint-disable-next-line fp/no-mutating-methods + this.summaryButtons.push(button); + } + } + }, { + key: "render", + value: function render() { + var _this2 = this; + + return /*#__PURE__*/_react.default.createElement("ul", { + name: this.props.id || this.generatedId, + className: (0, _classnames.default)('slds-accordion', this.props.className) + }, _react.default.Children.map(this.props.children, function (child) { + return /*#__PURE__*/_react.default.cloneElement(child, { + refs: { + summaryButton: _this2.addSummaryButton.bind(_this2) + }, + onClickSummary: _this2.onClickSummary.bind(_this2), + onKeyDownSummary: _this2.onKeyDownSummary.bind(_this2) + }); + })); + } + }]); + + return Accordion; +}(_react.Component); + +Accordion.displayName = _constants.ACCORDION; +Accordion.propTypes = propTypes; +var _default = Accordion; +exports.default = _default; \ No newline at end of file diff --git a/components/accordion/panel.d.ts b/components/accordion/panel.d.ts new file mode 100644 index 0000000000..c7438f91ff --- /dev/null +++ b/components/accordion/panel.d.ts @@ -0,0 +1,46 @@ +declare module '@salesforce/design-system-react/components/accordion/panel' { + import React from 'react'; + type Props = { + /** + * The panel content for the Accordion component. Accordion panels should be added as . Event handler for the accordion panels should be added to ``. Optional `panelContentActions` component may be passed as prop. _Tested with Mocha framework and snapshot testing._ + */ + children?: React.ReactNode; + /** + * Indicates whether item is expanded or not, which should be handled by `onTogglePanel`. _Tested with Mocha framework and snapshot testing._ + */ + expanded: boolean /*.isRequired*/; + /** + * Id of the item belonging to this panel. _Tested with snapshot testing._ + */ + id: number | string /*.isRequired*/; + /** + * Component that can be passed as prop to ``. As an example, a menu dropdown could be used here to handle additional actions for each accordion panel. _Tested with Mocha framework._ + */ + panelContentActions?: React.ReactNode; + /** + * Callback that will run whenever there is a keydown on the panel button. Function doesn't change the state of the component. + */ + onKeyDownSummary?: (v: any) => any; + /** + * Callback that will run whenever a panel is toggled. Function should handle state to toggle `expanded` prop. _Tested with Mocha framework._ + */ + onTogglePanel: (v: any) => any /*.isRequired*/; + /** + * Ref callback that will pass in panel's `input` tag + */ + refs?: Partial<{ + summaryButton?: (v: any) => any; + }>; + /** + * Summary in the span element in the header of this panel. The summary is truncated and so the title element should contain the full text so that it is accessible on hover. _Tested with snapshot testing._ + */ + summary: string | React.ReactNode /*.isRequired*/; + /** + * HTML title attribute. _Tested with snapshot testing._ + */ + title?: string; + }; + + function Component(props: Props): React.ReactNode; + export default Component; +} diff --git a/components/accordion/panel.js b/components/accordion/panel.js new file mode 100644 index 0000000000..67287960e1 --- /dev/null +++ b/components/accordion/panel.js @@ -0,0 +1,127 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = void 0; + +var _react = _interopRequireDefault(require("react")); + +var _propTypes = _interopRequireDefault(require("prop-types")); + +var _classnames = _interopRequireDefault(require("classnames")); + +var _button = _interopRequireDefault(require("../button")); + +var _constants = require("../../utilities/constants"); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */ + +/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */ +// Implements the [Accordion design +// pattern](https://www.lightningdesignsystem.com/components/accordion/) in +// React. Based on SLDS v2.3.2 +var propTypes = { + /** + * The panel content for the Accordion component. Accordion panels should be added as . Event handler for the accordion panels should be added to ``. Optional `panelContentActions` component may be passed as prop. _Tested with Mocha framework and snapshot testing._ + */ + children: _propTypes.default.node, + + /** + * Indicates whether item is expanded or not, which should be handled by `onTogglePanel`. _Tested with Mocha framework and snapshot testing._ + */ + expanded: _propTypes.default.bool.isRequired, + + /** + * Id of the item belonging to this panel. _Tested with snapshot testing._ + */ + id: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.string]).isRequired, + + /** + * Component that can be passed as prop to ``. As an example, a menu dropdown could be used here to handle additional actions for each accordion panel. _Tested with Mocha framework._ + */ + panelContentActions: _propTypes.default.node, + + /** + * Callback that will run whenever there is a keydown on the panel button. Function doesn't change the state of the component. + */ + onKeyDownSummary: _propTypes.default.func, + + /** + * Callback that will run whenever a panel is toggled. Function should handle state to toggle `expanded` prop. _Tested with Mocha framework._ + */ + onTogglePanel: _propTypes.default.func.isRequired, + + /** + * Ref callback that will pass in panel's `input` tag + */ + refs: _propTypes.default.shape({ + summaryButton: _propTypes.default.func + }), + + /** + * Summary in the span element in the header of this panel. The summary is truncated and so the title element should contain the full text so that it is accessible on hover. _Tested with snapshot testing._ + */ + summary: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.node]).isRequired, + + /** + * HTML title attribute. _Tested with snapshot testing._ + */ + title: _propTypes.default.string +}; +/** + * The panel content for the Accordion component. + */ + +var AccordionPanel = function AccordionPanel(_ref) { + var children = _ref.children, + expanded = _ref.expanded, + id = _ref.id, + panelContentActions = _ref.panelContentActions, + summary = _ref.summary, + title = _ref.title, + onClickSummary = _ref.onClickSummary, + onKeyDownSummary = _ref.onKeyDownSummary, + onTogglePanel = _ref.onTogglePanel, + refs = _ref.refs; + return /*#__PURE__*/_react.default.createElement("li", { + className: "slds-accordion__list-item" + }, /*#__PURE__*/_react.default.createElement("section", { + className: (0, _classnames.default)('slds-accordion__section', { + 'slds-is-open': expanded + }) + }, /*#__PURE__*/_react.default.createElement("div", { + className: "slds-accordion__summary" + }, /*#__PURE__*/_react.default.createElement("h3", { + className: "slds-text-heading_small slds-accordion__summary-heading slds-has-flexi-truncate" + }, /*#__PURE__*/_react.default.createElement(_button.default, { + "aria-controls": "".concat(id, "-accordion-panel"), + "aria-expanded": expanded, + buttonRef: refs.summaryButton, + className: "slds-button_reset slds-accordion__summary-action", + iconCategory: "utility", + iconClassName: "slds-accordion__summary-action-icon slds-button__icon slds-button__icon_left", + iconName: "switch", + id: "".concat(id, "-accordion-button"), + onKeyDown: onKeyDownSummary, + onClick: function onClick(e) { + onClickSummary(); + onTogglePanel(e); + }, + variant: "base" + }, /*#__PURE__*/_react.default.createElement("span", { + className: "slds-truncate", + title: title || summary + }, summary))), panelContentActions), /*#__PURE__*/_react.default.createElement("div", { + "aria-hidden": !expanded, + className: "slds-accordion__content", + id: "".concat(id, "-accordion-panel") + }, children))); +}; + +var _default = AccordionPanel; +exports.default = _default; +AccordionPanel.propTypes = propTypes; +AccordionPanel.displayName = _constants.ACCORDION_PANEL; \ No newline at end of file diff --git a/components/alert.d.ts b/components/alert.d.ts new file mode 100644 index 0000000000..e2574cd103 --- /dev/null +++ b/components/alert.d.ts @@ -0,0 +1,67 @@ +declare module '@salesforce/design-system-react/components/alert' { + import React from 'react'; + type Props = { + /** + * **Assistive text for accessibility** + * This object is merged with the default props object on every render. + * * `closeButton`: This is a visually hidden label for the close button. + * _Tested with snapshot testing._ + */ + assistiveText?: Partial<{ + closeButton?: string | React.ReactNode; + }>; + /** + * CSS classes to be added to tag with `.slds-notify_alert`. Uses `classNames` [API](https://github.com/JedWatson/classnames). + * _Tested with snapshot testing._ + */ + className?: any[] | Record | string; + /** + * Allows user to click a close button. Banners should be dismissible only if they communicate future impact to the system, + * _Tested with snapshot testing._ + */ + dismissible?: boolean; + /** + * Icon of type `~/components/icon`. This icon will be cloned and additional props appended. The default icons are: + * * info variant: `utility:info` + * * error variant: `utility:error` + * * offline variant: `utility:offline` + * * warning variant: `utility:warning` + * + * _Tested with snapshot testing._ + */ + icon?: React.ReactNode; + /** + * **Text labels for internationalization** + * This object is merged with the default props object on every render. + * * `heading`: text within heading tag + * * `headingLink`: Text of link that triggers `onClickHeadingLink`. Inline links should pass a keyed array of React components into `labels.heading`. + * + * _Tested with snapshot testing._ + */ + labels?: Partial<{ + heading?: string | React.ReactNode; + headingLink?: string | React.ReactNode; + }>; + /** + * Triggered by link. _Tested with Mocha testing._ + */ + onClickHeadingLink?: (v: any) => any; + /** + * Triggered by close button. This is a controlled component. _Tested with Mocha testing._ + */ + onRequestClose?: (v: any) => any; + /** + * Custom styles to be passed to the component. _Tested with Mocha testing._ + */ + style?: Record; + /** + * The type of alert. _Tested with snapshot testing._ + */ + variant: 'error' | 'info' | 'offline' | 'warning' /*.isRequired*/; + }; + /** + * Alert banners communicate a state that affects the entire system, not just a feature or page. It persists over a session and appears without the user initiating the action. View [banner guidelines](https://www.lightningdesignsystem.com/guidelines/messaging/components/banners/). + */ + function Component(props: Props): React.ReactElement; + export default Component; +} diff --git a/components/alert/__docs__/__snapshots__/storybook-stories.storyshot b/components/alert/__docs__/__snapshots__/storybook-stories.storyshot new file mode 100644 index 0000000000..59945ee082 --- /dev/null +++ b/components/alert/__docs__/__snapshots__/storybook-stories.storyshot @@ -0,0 +1,355 @@ +// Jest Snapshot v1, https://goo.gl/fbAQLP + +exports[`DOM snapshots SLDSAlert Close alert 1`] = ` +
    +
    + +
    +
    +
    +`; + +exports[`DOM snapshots SLDSAlert Custom Class Names 1`] = ` +
    +
    +
    + + info + + + + + +

    + Logged in as John Smith (johnsmith@acme.com). + + + Log out + +

    +
    +
    +
    +`; + +exports[`DOM snapshots SLDSAlert Custom Styles 1`] = ` +
    +
    +
    + + info + + + + + +

    + Logged in as John Smith (johnsmith@acme.com). + + + Log out + +

    +
    +
    +
    +`; + +exports[`DOM snapshots SLDSAlert Dismissable 1`] = ` +
    +
    +
    + + info + + + + + +

    + Logged in as John Smith (johnsmith@acme.com). + + + Log out + +

    + +
    +
    +
    +`; + +exports[`DOM snapshots SLDSAlert Error 1`] = ` +
    +
    +
    + + error + + + + + +

    + Your browser is currently not supported. Your Salesforce may be degraded. + + + More Information + +

    +
    +
    +
    +`; + +exports[`DOM snapshots SLDSAlert Info 1`] = ` +
    +
    +
    + + info + + + + + +

    + Logged in as John Smith (johnsmith@acme.com). + + + Log out + +

    +
    +
    +
    +`; + +exports[`DOM snapshots SLDSAlert Offline 1`] = ` +
    +
    +
    + + offline + + + + + +

    + You are in offline mode. + + + More information + +

    +
    +
    +
    +`; + +exports[`DOM snapshots SLDSAlert Warning 1`] = ` +
    +
    +
    + + warning + + + + + +

    + Your browser is outdated. Your Salesforce experience may be degraded. + + + More Information + +

    +
    +
    +
    +`; diff --git a/components/alert/__docs__/storybook-stories.jsx b/components/alert/__docs__/storybook-stories.jsx new file mode 100644 index 0000000000..6798fd73c2 --- /dev/null +++ b/components/alert/__docs__/storybook-stories.jsx @@ -0,0 +1,27 @@ +import React from 'react'; +import { storiesOf } from '@storybook/react'; + +import { ALERT } from '../../../utilities/constants'; +import Info from '../__examples__/info'; +import Warning from '../__examples__/warning'; +import ErrorAlert from '../__examples__/error'; +import Offline from '../__examples__/offline'; +import Dismissable from '../__examples__/dismissable'; +import CloseAlert from '../__examples__/close-alert'; +import CustomClassNames from '../__examples__/custom-class-name'; +import CustomStyles from '../__examples__/custom-style'; + +/* eslint-disable react/display-name */ + +storiesOf(ALERT, module) + .addDecorator((getStory) => ( +
    {getStory()}
    + )) + .add('Info', () => ) + .add('Warning', () => ) + .add('Error', () => ) + .add('Offline', () => ) + .add('Dismissable', () => ) + .add('Close alert', () => ) + .add('Custom Class Names', () => ) + .add('Custom Styles', () => ); diff --git a/components/alert/__examples__/close-alert.jsx b/components/alert/__examples__/close-alert.jsx new file mode 100644 index 0000000000..47f7dc1241 --- /dev/null +++ b/components/alert/__examples__/close-alert.jsx @@ -0,0 +1,53 @@ +import React from 'react'; +import Alert from '~/components/alert'; // `~` is replaced with design-system-react at runtime +import AlertContainer from '~/components/alert/container'; // `~` is replaced with design-system-react at runtime +import Icon from '~/components/icon'; // `~` is replaced with design-system-react at runtime +import Button from '~/components/button'; // `~` is replaced with design-system-react at runtime +import IconSettings from '~/components/icon-settings'; + +class Example extends React.Component { + constructor(props) { + super(props); + + this.state = { + isOpen: false, + }; + } + + render() { + return ( + +
    +
    +
    + ); + } +} + +Example.displayName = 'AlertExample'; + +export default Example; // export is replaced with `ReactDOM.render(, mountNode);` at runtime diff --git a/components/alert/__examples__/custom-class-name.jsx b/components/alert/__examples__/custom-class-name.jsx new file mode 100644 index 0000000000..998f92a8bd --- /dev/null +++ b/components/alert/__examples__/custom-class-name.jsx @@ -0,0 +1,31 @@ +import React from 'react'; +import Alert from '~/components/alert'; // `~` is replaced with design-system-react at runtime +import AlertContainer from '~/components/alert/container'; // `~` is replaced with design-system-react at runtime +import Icon from '~/components/icon'; // `~` is replaced with design-system-react at runtime +import IconSettings from '~/components/icon-settings'; + +class Example extends React.Component { + render() { + return ( + + + } + labels={{ + heading: 'Logged in as John Smith (johnsmith@acme.com).', + headingLink: 'Log out', + }} + onClickHeadingLink={() => { + console.log('Link clicked.'); + }} + /> + + + ); + } +} + +Example.displayName = 'AlertExample'; + +export default Example; // export is replaced with `ReactDOM.render(, mountNode);` at runtime diff --git a/components/alert/__examples__/custom-style.jsx b/components/alert/__examples__/custom-style.jsx new file mode 100644 index 0000000000..eeb9f9db87 --- /dev/null +++ b/components/alert/__examples__/custom-style.jsx @@ -0,0 +1,31 @@ +import React from 'react'; +import Alert from '~/components/alert'; // `~` is replaced with design-system-react at runtime +import AlertContainer from '~/components/alert/container'; // `~` is replaced with design-system-react at runtime +import Icon from '~/components/icon'; // `~` is replaced with design-system-react at runtime +import IconSettings from '~/components/icon-settings'; + +class Example extends React.Component { + render() { + return ( + + + } + labels={{ + heading: 'Logged in as John Smith (johnsmith@acme.com).', + headingLink: 'Log out', + }} + onClickHeadingLink={() => { + console.log('Link clicked.'); + }} + /> + + + ); + } +} + +Example.displayName = 'AlertExample'; + +export default Example; // export is replaced with `ReactDOM.render(, mountNode);` at runtime diff --git a/components/alert/__examples__/dismissable.jsx b/components/alert/__examples__/dismissable.jsx new file mode 100644 index 0000000000..28006439ee --- /dev/null +++ b/components/alert/__examples__/dismissable.jsx @@ -0,0 +1,44 @@ +import React from 'react'; +import Alert from '~/components/alert'; // `~` is replaced with design-system-react at runtime +import AlertContainer from '~/components/alert/container'; // `~` is replaced with design-system-react at runtime +import Icon from '~/components/icon'; // `~` is replaced with design-system-react at runtime +import IconSettings from '~/components/icon-settings'; + +class Example extends React.Component { + constructor(props) { + super(props); + + this.state = { + isOpen: true, + }; + } + + render() { + return ( + + {this.state.isOpen ? ( + + } + labels={{ + heading: 'Logged in as John Smith (johnsmith@acme.com).', + headingLink: 'Log out', + }} + onClickHeadingLink={() => { + console.log('Link clicked.'); + }} + onRequestClose={() => { + this.setState({ isOpen: false }); + }} + /> + + ) : null} + + ); + } +} + +Example.displayName = 'AlertExample'; + +export default Example; // export is replaced with `ReactDOM.render(, mountNode);` at runtime diff --git a/components/alert/__examples__/error.jsx b/components/alert/__examples__/error.jsx new file mode 100644 index 0000000000..fcb98cce6c --- /dev/null +++ b/components/alert/__examples__/error.jsx @@ -0,0 +1,32 @@ +import React from 'react'; +import Alert from '~/components/alert'; // `~` is replaced with design-system-react at runtime +import AlertContainer from '~/components/alert/container'; // `~` is replaced with design-system-react at runtime +import Icon from '~/components/icon'; // `~` is replaced with design-system-react at runtime +import IconSettings from '~/components/icon-settings'; + +class Example extends React.Component { + render() { + return ( + + + } + labels={{ + heading: + 'Your browser is currently not supported. Your Salesforce may be degraded.', + headingLink: 'More Information', + }} + onClickHeadingLink={() => { + console.log('Link clicked.'); + }} + variant="error" + /> + + + ); + } +} + +Example.displayName = 'AlertExample'; + +export default Example; // export is replaced with `ReactDOM.render(, mountNode);` at runtime diff --git a/components/alert/__examples__/info.jsx b/components/alert/__examples__/info.jsx new file mode 100644 index 0000000000..7f345b4e98 --- /dev/null +++ b/components/alert/__examples__/info.jsx @@ -0,0 +1,30 @@ +import React from 'react'; +import Alert from '~/components/alert'; // `~` is replaced with design-system-react at runtime +import AlertContainer from '~/components/alert/container'; // `~` is replaced with design-system-react at runtime +import Icon from '~/components/icon'; // `~` is replaced with design-system-react at runtime +import IconSettings from '~/components/icon-settings'; + +class Example extends React.Component { + render() { + return ( + + + } + labels={{ + heading: 'Logged in as John Smith (johnsmith@acme.com).', + headingLink: 'Log out', + }} + onClickHeadingLink={() => { + console.log('Link clicked.'); + }} + /> + + + ); + } +} + +Example.displayName = 'AlertExample'; + +export default Example; // export is replaced with `ReactDOM.render(, mountNode);` at runtime diff --git a/components/alert/__examples__/offline.jsx b/components/alert/__examples__/offline.jsx new file mode 100644 index 0000000000..280bd6b38b --- /dev/null +++ b/components/alert/__examples__/offline.jsx @@ -0,0 +1,30 @@ +import React from 'react'; +import Alert from '~/components/alert'; // `~` is replaced with design-system-react at runtime +import AlertContainer from '~/components/alert/container'; // `~` is replaced with design-system-react at runtime + +import IconSettings from '~/components/icon-settings'; + +class Example extends React.Component { + render() { + return ( + + + { + console.log('Link clicked.'); + }} + variant="offline" + /> + + + ); + } +} + +Example.displayName = 'AlertExample'; + +export default Example; // export is replaced with `ReactDOM.render(, mountNode);` at runtime diff --git a/components/alert/__examples__/warning.jsx b/components/alert/__examples__/warning.jsx new file mode 100644 index 0000000000..839986bb4b --- /dev/null +++ b/components/alert/__examples__/warning.jsx @@ -0,0 +1,30 @@ +import React from 'react'; +import Alert from '~/components/alert'; // `~` is replaced with design-system-react at runtime +import AlertContainer from '~/components/alert/container'; // `~` is replaced +import IconSettings from '~/components/icon-settings'; + +class Example extends React.Component { + render() { + return ( + + + { + console.log('Link clicked.'); + }} + variant="warning" + /> + + + ); + } +} + +Example.displayName = 'AlertExample'; + +export default Example; // export is replaced with `ReactDOM.render(, mountNode);` at runtime diff --git a/components/alert/check-props.js b/components/alert/check-props.js new file mode 100644 index 0000000000..9f2228b768 --- /dev/null +++ b/components/alert/check-props.js @@ -0,0 +1,38 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = void 0; + +var _sunsetProperty = _interopRequireDefault(require("../../utilities/warning/sunset-property")); + +var _getComponentDoc = _interopRequireDefault(require("../../utilities/get-component-doc")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */ + +/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */ + +/* eslint-disable import/no-mutable-exports */ +var checkProps = function checkPropsFunction() {}; + +if (process.env.NODE_ENV !== 'production') { + checkProps = function checkPropsFunction(COMPONENT, props, jsonDoc) { + var createDocUrl = (0, _getComponentDoc.default)(jsonDoc); + /* eslint-disable max-len */ + + (0, _sunsetProperty.default)(COMPONENT, props.iconCategory, 'iconCategory', "Use `Icon` instead. ".concat(createDocUrl('icon'))); + (0, _sunsetProperty.default)(COMPONENT, props.iconName, 'iconName', "Use `Icon` instead. ".concat(createDocUrl('icon'))); + (0, _sunsetProperty.default)(COMPONENT, props.content, 'content', "Use `labels.heading` and `labels.headingLink` instead.".concat(createDocUrl('labels'))); + (0, _sunsetProperty.default)(COMPONENT, props.duration, 'duration', "Only Toasts can auto-hide. ".concat(createDocUrl())); + (0, _sunsetProperty.default)(COMPONENT, props.isOpen, 'isOpen', "Use a conditional outside of alert. ".concat(createDocUrl())); + (0, _sunsetProperty.default)(COMPONENT, props.isOpen, 'onDismiss', "Use `onRequestClose` instead. ".concat(createDocUrl('onRequestClose'))); + (0, _sunsetProperty.default)(COMPONENT, props.texture, 'texture', createDocUrl()); + (0, _sunsetProperty.default)(COMPONENT, props.theme, 'theme', "Use `variant` instead. ".concat(createDocUrl('variant'))); + }; +} + +var _default = checkProps; +exports.default = _default; \ No newline at end of file diff --git a/components/alert/component.json b/components/alert/component.json new file mode 100644 index 0000000000..a45b4dfd33 --- /dev/null +++ b/components/alert/component.json @@ -0,0 +1,40 @@ +{ + "component": "alert", + "status": "prod", + "display-name": "Alerts", + "classKey": "Alert", + "last-accessibility-review": { + "date-iso-8601": "2018/01/18", + "commit-sha": "ad6b6c6523ee21cada11be5f7ea4d99abc530726" + }, + "SLDS-component-path": "/components/alert", + "dependencies": [ + { + "component": "container", + "classKey": "AlertContainer" + } + ], + "site-stories": [ + { + "heading": "Informational", + "path": "/__examples__/info.jsx" + }, + { + "heading": "Warning", + "path": "/__examples__/warning.jsx" + }, + { + "heading": "System Status", + "path": "/__examples__/offline.jsx" + }, + { + "heading": "Error", + "path": "/__examples__/error.jsx" + }, + { + "heading": "Dismissable", + "path": "/__examples__/dismissable.jsx" + } + ], + "url-slug": "alerts" +} diff --git a/components/alert/container.d.ts b/components/alert/container.d.ts new file mode 100644 index 0000000000..1648848318 --- /dev/null +++ b/components/alert/container.d.ts @@ -0,0 +1,18 @@ +declare module '@salesforce/design-system-react/components/alert/container' { + import React from 'react'; + type Props = { + /** + * CSS classes to be added to tag with `.slds-notify_alert`. Uses `classNames` [API](https://github.com/JedWatson/classnames). + */ + className?: any[] | Record | string; + /** + * Alert components + */ + children?: React.ReactNode; + }; + /** + * A fixed container for alert banners. + */ + function Component(props: Props): React.ReactNode; + export default Component; +} diff --git a/components/alert/container.js b/components/alert/container.js new file mode 100644 index 0000000000..c6511b7ab5 --- /dev/null +++ b/components/alert/container.js @@ -0,0 +1,81 @@ +"use strict"; + +function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = void 0; + +var _react = _interopRequireDefault(require("react")); + +var _propTypes = _interopRequireDefault(require("prop-types")); + +var _classNames = _interopRequireDefault(require("../../utilities/class-names")); + +var _constants = require("../../utilities/constants"); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } + +function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); } + +function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } + +function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; } + +function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } + +function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } } + +function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } + +var propTypes = { + /** + * CSS classes to be added to tag with `.slds-notify_alert`. Uses `classNames` [API](https://github.com/JedWatson/classnames). + */ + className: _propTypes.default.oneOfType([_propTypes.default.array, _propTypes.default.object, _propTypes.default.string]), + + /** + * Alert components + */ + children: _propTypes.default.node +}; +/** + * A fixed container for alert banners. + */ + +var AlertContainer = /*#__PURE__*/function (_React$Component) { + _inherits(AlertContainer, _React$Component); + + var _super = _createSuper(AlertContainer); + + function AlertContainer() { + _classCallCheck(this, AlertContainer); + + return _super.apply(this, arguments); + } + + _createClass(AlertContainer, [{ + key: "render", + value: function render() { + return /*#__PURE__*/_react.default.createElement("div", { + className: (0, _classNames.default)('slds-notify-container', this.props.className) + }, this.props.children); + } + }]); + + return AlertContainer; +}(_react.default.Component); + +AlertContainer.displayName = _constants.ALERT_CONTAINER; +AlertContainer.propTypes = propTypes; +var _default = AlertContainer; +exports.default = _default; \ No newline at end of file diff --git a/components/alert/index.js b/components/alert/index.js new file mode 100644 index 0000000000..7ca2e1071e --- /dev/null +++ b/components/alert/index.js @@ -0,0 +1,264 @@ +"use strict"; + +function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = void 0; + +var _react = _interopRequireDefault(require("react")); + +var _propTypes = _interopRequireDefault(require("prop-types")); + +var _lodash = _interopRequireDefault(require("lodash.assign")); + +var _classNames = _interopRequireDefault(require("../../utilities/class-names")); + +var _button = _interopRequireDefault(require("../button")); + +var _icon = _interopRequireDefault(require("../icon")); + +var _checkProps = _interopRequireDefault(require("./check-props")); + +var _component = _interopRequireDefault(require("./component.json")); + +var _constants = require("../../utilities/constants"); + +var _domElementFocus = _interopRequireDefault(require("../../utilities/dom-element-focus")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } + +function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); } + +function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } + +function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; } + +function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } + +function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } } + +function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var propTypes = { + /** + * **Assistive text for accessibility** + * This object is merged with the default props object on every render. + * * `closeButton`: This is a visually hidden label for the close button. + * _Tested with snapshot testing._ + */ + assistiveText: _propTypes.default.shape({ + closeButton: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.node]) + }), + + /** + * CSS classes to be added to tag with `.slds-notify_alert`. Uses `classNames` [API](https://github.com/JedWatson/classnames). + * _Tested with snapshot testing._ + */ + className: _propTypes.default.oneOfType([_propTypes.default.array, _propTypes.default.object, _propTypes.default.string]), + + /** + * Allows user to click a close button. Banners should be dismissible only if they communicate future impact to the system, + * _Tested with snapshot testing._ + */ + dismissible: _propTypes.default.bool, + + /** + * Icon of type `~/components/icon`. This icon will be cloned and additional props appended. The default icons are: + * * info variant: `utility:info` + * * error variant: `utility:error` + * * offline variant: `utility:offline` + * * warning variant: `utility:warning` + * + * _Tested with snapshot testing._ + */ + icon: _propTypes.default.node, + + /** + * **Text labels for internationalization** + * This object is merged with the default props object on every render. + * * `heading`: text within heading tag + * * `headingLink`: Text of link that triggers `onClickHeadingLink`. Inline links should pass a keyed array of React components into `labels.heading`. + * + * _Tested with snapshot testing._ + */ + labels: _propTypes.default.shape({ + heading: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.node]), + headingLink: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.node]) + }), + + /** + * Triggered by link. _Tested with Mocha testing._ + */ + onClickHeadingLink: _propTypes.default.func, + + /** + * Triggered by close button. This is a controlled component. _Tested with Mocha testing._ + */ + onRequestClose: _propTypes.default.func, + + /** + * Custom styles to be passed to the component. _Tested with Mocha testing._ + */ + style: _propTypes.default.object, + + /** + * The type of alert. _Tested with snapshot testing._ + */ + variant: _propTypes.default.oneOf(['error', 'info', 'offline', 'warning']).isRequired +}; +var defaultProps = { + assistiveText: { + closeButton: 'Close' + }, + labels: {}, + variant: 'info' +}; +/** + * Alert banners communicate a state that affects the entire system, not just a feature or page. It persists over a session and appears without the user initiating the action. View [banner guidelines](https://www.lightningdesignsystem.com/guidelines/messaging/components/banners/). + */ + +var Alert = /*#__PURE__*/function (_React$Component) { + _inherits(Alert, _React$Component); + + var _super = _createSuper(Alert); + + function Alert(props) { + var _this; + + _classCallCheck(this, Alert); + + _this = _super.call(this, props); + + _defineProperty(_assertThisInitialized(_this), "saveButtonRef", function (component) { + _this.closeButton = component; + + if (_this.state.isInitialRender) { + _domElementFocus.default.storeActiveElement(); + + if (_this.closeButton) { + _this.closeButton.focus(); + } + + _this.setState({ + isInitialRender: false + }); + } + }); + + _this.state = { + isInitialRender: true + }; // `checkProps` issues warnings to developers about properties (similar to React's built in development tools) + + (0, _checkProps.default)(_constants.ALERT, props, _component.default); + return _this; + } + + _createClass(Alert, [{ + key: "componentWillUnmount", + value: function componentWillUnmount() { + _domElementFocus.default.returnFocusToStoredElement(); + } + }, { + key: "render", + value: function render() { + // Merge objects of strings with their default object + var assistiveText = (0, _lodash.default)({}, defaultProps.assistiveText, this.props.assistiveText); + var labels = (0, _lodash.default)({}, defaultProps.labels, this.props.labels); // BACKWARD COMPATIBILITY WITH NOTIFICATION + + var heading = labels.heading || this.props.content; // eslint-disable-line react/prop-types + + var onRequestClose = this.props.onRequestClose || this.props.onDismiss; // eslint-disable-line react/prop-types + + var assistiveTextVariant = { + info: 'info', + warning: 'warning', + error: 'error', + offline: 'offline' + }; + var defaultIcons = { + info: /*#__PURE__*/_react.default.createElement(_icon.default, { + category: "utility", + name: "info" + }), + offline: /*#__PURE__*/_react.default.createElement(_icon.default, { + category: "utility", + name: "offline" + }), + warning: /*#__PURE__*/_react.default.createElement(_icon.default, { + category: "utility", + name: "warning" + }), + error: /*#__PURE__*/_react.default.createElement(_icon.default, { + category: "utility", + name: "error" + }) + }; + var icon = this.props.icon ? this.props.icon : defaultIcons[this.props.variant]; // BACKWARD COMPATIBILITY WITH NOTIFICATION + + if (this.props.iconName && this.props.iconCategory) { + // eslint-disable-line react/prop-types + icon = /*#__PURE__*/_react.default.createElement(_icon.default, { + category: this.props.iconCategory, + name: this.props.iconName + }); + } + + var clonedIcon = /*#__PURE__*/_react.default.cloneElement(icon, { + containerClassName: 'slds-m-right_x-small', + inverse: true, + size: 'x-small' + }); + /* eslint-disable no-script-url */ + + + return /*#__PURE__*/_react.default.createElement("div", { + className: (0, _classNames.default)('slds-notify slds-notify_alert slds-theme_alert-texture', { + 'slds-theme_info': this.props.variant === 'info', + 'slds-theme_warning': this.props.variant === 'warning', + 'slds-theme_error': this.props.variant === 'error', + 'slds-theme_offline': this.props.variant === 'offline' + }, this.props.className), + role: "alert", + style: this.props.style + }, /*#__PURE__*/_react.default.createElement("span", { + className: "slds-assistive-text" + }, assistiveTextVariant[this.props.variant]), clonedIcon, /*#__PURE__*/_react.default.createElement("h2", null, heading, ' ', labels.headingLink ? /*#__PURE__*/_react.default.createElement("a", { + onClick: this.props.onClickHeadingLink, + href: "javascript:void(0);" + }, labels.headingLink) : null), this.props.dismissible ? /*#__PURE__*/_react.default.createElement(_button.default, { + assistiveText: { + icon: assistiveText.closeButton + }, + buttonRef: this.saveButtonRef, + className: "slds-notify__close", + iconCategory: "utility", + iconName: "close", + iconSize: "medium", + inverse: true, + onClick: onRequestClose, + title: assistiveText.closeButton, + variant: "icon" + }) : null); + } + }]); + + return Alert; +}(_react.default.Component); + +Alert.defaultProps = defaultProps; +Alert.displayName = _constants.ALERT; +Alert.propTypes = propTypes; +var _default = Alert; +exports.default = _default; \ No newline at end of file diff --git a/components/app-launcher.d.ts b/components/app-launcher.d.ts new file mode 100644 index 0000000000..08110e7d2e --- /dev/null +++ b/components/app-launcher.d.ts @@ -0,0 +1,88 @@ +declare module '@salesforce/design-system-react/components/app-launcher' { + import React from 'react'; + type Props = { + /** + * **Assistive text for accessibility.** + * This object is merged with the default props object on every render. + * * `trigger`: This is a visually hidden label for the app launcher icon. + */ + assistiveText?: Partial<{ + trigger?: string; + }>; + /** + * Boolean indicating if the appElement should be hidden. + */ + ariaHideApp?: boolean; + /** + * One or more ``s, each containing one or more ``s or ``s + */ + children: React.ReactNode /*.isRequired*/; + /** + * The app launcher id. If not provided, one will be generated for accessibility + */ + id?: string; + /** + * Control the open/close state of the App Launcher + */ + isOpen?: boolean; + /** + * CSS classes to be added to App Launcher Modal. + */ + modalClassName?: any[] | Record | string; + /** + * Button that exists in the upper right hand corner of the App Launcher modal + */ + modalHeaderButton?: React.ReactNode; + /** + * Allows longer application names without truncating them. + */ + noTruncate?: boolean; + /** + * Callback when the App Launcher Modal is closed + */ + onClose?: (v: any) => any; + /** + * Search bar for the Modal's header. Will typically be an instance of `design-system-react/input/search` + */ + search?: React.ReactNode; + /** + * Set the App Launcher's title text (for localization) + */ + title?: string; + /** + * This is typically the name of the cloud or application + */ + triggerName?: React.ReactNode; + /** + * Callback when the App Launcher icon is clicked + */ + triggerOnClick?: (v: any) => any; + }; + /** + * The App Launcher allows the user to quickly access all the apps and functionality with their organization. + * The App Launcher should generally only be used as a sub-component of the [Global Navigation Bar](/components/global-navigation-bar) + * + * USAGE EXAMPLE: + * ``` + * + * + * + * + * + * + * + * + * + * + * + * ``` + * + * By default, `Modal`, a child component of App Launcher, will add `aria-hidden=true` to the `body` tag, but this disables some assistive technologies. To prevent this you can add the following to your application with `#mount` being the root node of your application that you would like to hide from assistive technologies when the `Modal` is open. + * ``` + * import settings from 'design-system-react/components/settings'; + * settings.setAppElement('#mount'); + * ``` + */ + function Component(props: Props): React.ReactElement; + export default Component; +} diff --git a/components/app-launcher/__docs__/storybook-stories.jsx b/components/app-launcher/__docs__/storybook-stories.jsx new file mode 100644 index 0000000000..8a0caa02e3 --- /dev/null +++ b/components/app-launcher/__docs__/storybook-stories.jsx @@ -0,0 +1,504 @@ +/* eslint-disable max-lines */ +import React from 'react'; + +import PropTypes from 'prop-types'; +import { storiesOf } from '@storybook/react'; +import { action } from '@storybook/addon-actions'; + +import { APP_LAUNCHER, APP_LAUNCHER_TILE } from '../../../utilities/constants'; + +import AppLauncher from '../../app-launcher'; +import AppLauncherLink from '../../app-launcher/link'; +import AppLauncherTile from '../../app-launcher/tile'; +import AppLauncherExpandableSection from '../../app-launcher/expandable-section'; +import Icon from '../../icon'; +import Button from '../../button'; +import Search from '../../input/search'; + +import GlobalNavigationBar from '../../global-navigation-bar'; +import GlobalNavigationBarRegion from '../../global-navigation-bar/region'; + +import IconSettings from '../../icon-settings'; +import SLDSSettings from '../../SLDSSettings'; + +import DefaultExample from '../__examples__/default'; + +import { canUseDOM } from '../../../utilities/execution-environment'; + +// used by Modal component +if (canUseDOM && document.querySelector('#root')) { + SLDSSettings.setAppElement('#root'); +} else if (canUseDOM) { + SLDSSettings.setAppElement(document.createElement('div')); +} + +const tileDemoStyles = { + width: '20rem', + paddingLeft: '.5rem', + paddingRight: '.5rem', +}; + +class DemoAppLauncherTile extends React.Component { + static displayName = APP_LAUNCHER_TILE; + + static propTypes = { + search: PropTypes.string, + }; + + render() { + return ( + + ); + } +} +DemoAppLauncherTile.displayName = APP_LAUNCHER_TILE; + +class DemoAppLauncherTileWithIconNode extends React.Component { + static displayName = APP_LAUNCHER_TILE; + + static propTypes = { + search: PropTypes.string, + }; + + render() { + const icon = ; + + return ( + + ); + } +} + +class DemoAppLauncherTileWithIconBackgroundColor extends React.Component { + static displayName = APP_LAUNCHER_TILE; + + static propTypes = { + search: PropTypes.string, + }; + + render() { + return ( + + ); + } +} + +class DemoAppLauncherTileWithTruncatedText extends React.Component { + static displayName = APP_LAUNCHER_TILE; + + static propTypes = { + search: PropTypes.string, + }; + + render() { + return ( + + ); + } +} + +class DemoAppLauncherTileWithSearchText extends React.Component { + static displayName = APP_LAUNCHER_TILE; + + static propTypes = { + search: PropTypes.string, + }; + + static defaultProps = { + search: 'Call', + }; + + render() { + return ; + } +} + +class DemoAppLauncherExpandableSection extends React.Component { + static displayName = 'DemoAppLauncherExpandableSection'; + + state = { + allAppsOpen: true, + }; + + render() { + return ( +
    + { + action('Section `All App` open -->'); + this.setState({ allAppsOpen: !this.state.allAppsOpen }); + }} + title="All Apps" + > + + + + + + + + + Accounts + Announcements + Approvals + Campaigns + Cases + Coaching + Contacts + +
    + ); + } +} + +class DemoAppLauncher extends React.Component { + static displayName = 'DemoAppLauncher'; + + state = { + search: '', + appLauncherOpen: this.props.isOpen || false, // eslint-disable-line react/prop-types + allItemsSectionIsOpen: true, + }; + + onClear = () => { + this.setState({ search: '' }); + }; + + onSearch = (event) => { + this.setState({ search: event.target.value }); + }; + + toggleAppLauncher = () => { + this.setState({ appLauncherOpen: !this.state.appLauncherOpen }); + }; + + toggleSection = () => { + this.setState({ allItemsSectionIsOpen: !this.state.allItemsSectionIsOpen }); + }; + + render() { + const search = ( + + ); + const modalHeaderButton = ( + +
    + +
  • + + Parent Entity + +
  • +
  • + + Parent Record Name + +
  • + + + +`; diff --git a/components/breadcrumb/__docs__/storybook-stories.jsx b/components/breadcrumb/__docs__/storybook-stories.jsx new file mode 100644 index 0000000000..abe1f5986d --- /dev/null +++ b/components/breadcrumb/__docs__/storybook-stories.jsx @@ -0,0 +1,15 @@ +import React from 'react'; +import { storiesOf } from '@storybook/react'; + +import { BREADCRUMB } from '../../../utilities/constants'; +import Base from '../__examples__/base'; +import OneItem from '../__examples__/one-item'; +import OverflowMenu from '../__examples__/base-with-overflow-menu'; + +storiesOf(BREADCRUMB, module) + .addDecorator((getStory) => ( +
    {getStory()}
    + )) + .add('2 Items', () => ) + .add('1 Item', () => ) + .add('Base with overflow menu', () => ); diff --git a/components/breadcrumb/__examples__/base-with-overflow-menu.jsx b/components/breadcrumb/__examples__/base-with-overflow-menu.jsx new file mode 100644 index 0000000000..b9484cb9c6 --- /dev/null +++ b/components/breadcrumb/__examples__/base-with-overflow-menu.jsx @@ -0,0 +1,45 @@ +import React from 'react'; + +import IconSettings from '~/components/icon-settings'; +import Breadcrumb from '~/components/breadcrumb'; // `~` is replaced with design-system-react at runtime +import Dropdown from '~/components/menu-dropdown'; + +class Example extends React.Component { + static displayName = 'BreadCrumbExample'; + + render() { + const trail = [ + Parent Entity, + Parent Record Name, + ]; + + return ( + + { + console.log('selected: ', value); + }} + options={[ + { label: 'Menu Item One', value: 'A0' }, + { label: 'Menu Item Two', value: 'B0' }, + { label: 'Menu Item Three', value: 'C0' }, + { label: 'Menu Item Four', value: 'D0' }, + ]} + /> + } + trail={trail} + /> + + ); + } +} + +export default Example; // export is replaced with `ReactDOM.render(, mountNode);` at runtime diff --git a/components/breadcrumb/__examples__/base.jsx b/components/breadcrumb/__examples__/base.jsx new file mode 100644 index 0000000000..77bcf63da8 --- /dev/null +++ b/components/breadcrumb/__examples__/base.jsx @@ -0,0 +1,28 @@ +import React from 'react'; + +import IconSettings from '~/components/icon-settings'; +import BreadCrumb from '~/components/breadcrumb'; // `~` is replaced with design-system-react at runtime + +class Example extends React.Component { + static displayName = 'BreadCrumbExample'; + + render() { + const trail = [ + + Parent Entity + , + Parent Record Name, + ]; + + return ( + + + + ); + } +} + +export default Example; // export is replaced with `ReactDOM.render(, mountNode);` at runtime diff --git a/components/breadcrumb/__examples__/one-item.jsx b/components/breadcrumb/__examples__/one-item.jsx new file mode 100644 index 0000000000..8d3f21330d --- /dev/null +++ b/components/breadcrumb/__examples__/one-item.jsx @@ -0,0 +1,20 @@ +import React from 'react'; + +import IconSettings from '~/components/icon-settings'; +import BreadCrumb from '~/components/breadcrumb'; // `~` is replaced with design-system-react at runtime + +class Example extends React.Component { + static displayName = 'BreadCrumbExample'; + + render() { + const trail = [Parent Entity]; + + return ( + + + + ); + } +} + +export default Example; // export is replaced with `ReactDOM.render(, mountNode);` at runtime diff --git a/components/breadcrumb/check-props.js b/components/breadcrumb/check-props.js new file mode 100644 index 0000000000..de5c5764b9 --- /dev/null +++ b/components/breadcrumb/check-props.js @@ -0,0 +1,32 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = void 0; + +var _sunsetProperty = _interopRequireDefault(require("../../utilities/warning/sunset-property")); + +var _getComponentDoc = _interopRequireDefault(require("../../utilities/get-component-doc")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */ + +/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */ + +/* eslint-disable import/no-mutable-exports */ +var checkProps = function checkPropsFunction() {}; + +if (process.env.NODE_ENV !== 'production') { + checkProps = function checkPropsFunction(COMPONENT, props, jsonDoc) { + var createDocUrl = (0, _getComponentDoc.default)(jsonDoc); + + if (typeof props.assistiveText === 'string') { + (0, _sunsetProperty.default)(COMPONENT, props.assistiveText, 'assistiveText', "`assistiveText` as a string has been deprecated and is now an object to allow for multiple uses in the component. Please use `assistiveText.label` instead. ".concat(createDocUrl('assistiveText'))); + } + }; +} + +var _default = checkProps; +exports.default = _default; \ No newline at end of file diff --git a/components/breadcrumb/component.json b/components/breadcrumb/component.json new file mode 100644 index 0000000000..df45fa8a16 --- /dev/null +++ b/components/breadcrumb/component.json @@ -0,0 +1,26 @@ +{ + "component": "breadcrumb", + "status": "prod", + "display-name": "Breadcrumbs", + "classKey": "Breadcrumb", + "last-accessibility-review": { + "date-iso-8601": "2018/01/18", + "commit-sha": "ad6b6c6523ee21cada11be5f7ea4d99abc530726" + }, + "SLDS-component-path": "/components/breadcrumb", + "site-stories": [ + { + "heading": "Base", + "path": "/__examples__/base.jsx" + }, + { + "heading": "One Item", + "path": "/__examples__/one-item.jsx" + }, + { + "heading": "With Overflow Menu", + "path": "/__examples__/base-with-overflow-menu.jsx" + } + ], + "url-slug": "breadcrumbs" +} diff --git a/components/breadcrumb/index.js b/components/breadcrumb/index.js new file mode 100644 index 0000000000..b8a2ec33e6 --- /dev/null +++ b/components/breadcrumb/index.js @@ -0,0 +1,111 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = void 0; + +var _react = _interopRequireDefault(require("react")); + +var _propTypes = _interopRequireDefault(require("prop-types")); + +var _checkProps = _interopRequireDefault(require("./check-props")); + +var _component = _interopRequireDefault(require("./component.json")); + +var _constants = require("../../utilities/constants"); + +var _menuDropdown = _interopRequireDefault(require("./../menu-dropdown")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var propTypes = { + /** + * **Assistive text for accessibility.** + * This object is merged with the default props object on every render. + * * `label`: The assistive text for the breadcrumb trail. + */ + assistiveText: _propTypes.default.shape({ + label: _propTypes.default.string + }), + + /** + * A unique ID is needed in order to support keyboard navigation, ARIA support, and connect the dropdown to the triggering button. + */ + id: _propTypes.default.string, + + /** + * Overflow menu of the type [Dropdown](/components/menu-dropdowns) + */ + overflowDropdownMenu: _propTypes.default.node, + + /** + * Custom styles to be passed to the containing `nav` tag + */ + styleContainer: _propTypes.default.object, + + /** + * An array of anchor elements that define the path to the current record. + */ + trail: _propTypes.default.array.isRequired +}; +var defaultProps = { + assistiveText: { + label: 'Breadcrumbs' + } +}; + +var getBreadcrumbDropdown = function getBreadcrumbDropdown(overflowDropdownMenu, props) { + var overflowDropdownMenuProps = _objectSpread(_objectSpread({}, overflowDropdownMenu.props), {}, { + id: "".concat(props.id, "-dropdown"), + iconCategory: 'utility', + iconName: 'threedots', + iconVariant: 'bare', + threedots: true + }); + + return /*#__PURE__*/_react.default.createElement("li", { + className: "slds-breadcrumb__item" + }, /*#__PURE__*/_react.default.createElement(_menuDropdown.default, overflowDropdownMenuProps)); +}; +/** + * Use breadcrumbs to note the path of a record and help the user to navigate back to the parent.Breadcrumb based on SLDS 2.1.0-dev + */ + + +var Breadcrumb = function Breadcrumb(props) { + (0, _checkProps.default)(_constants.BREADCRUMB, props, _component.default); + var overflowDropdownMenu = props.overflowDropdownMenu, + trail = props.trail; + var assistiveText = typeof props.assistiveText === 'string' ? props.assistiveText : _objectSpread(_objectSpread({}, defaultProps.assistiveText), props.assistiveText).label; + return /*#__PURE__*/_react.default.createElement("nav", { + role: "navigation", + "aria-label": assistiveText, + style: props.styleContainer + }, /*#__PURE__*/_react.default.createElement("ol", { + className: "slds-breadcrumb slds-list_horizontal" + }, overflowDropdownMenu && getBreadcrumbDropdown(overflowDropdownMenu, props), trail.map(function (crumb, index) { + return ( + /*#__PURE__*/ + + /* eslint-disable react/no-array-index-key */ + _react.default.createElement("li", { + key: index // There isn't any better reasonable way to identity these + , + className: "slds-breadcrumb__item" + }, crumb) + ); + }))); +}; + +Breadcrumb.displayName = _constants.BREADCRUMB; +Breadcrumb.propTypes = propTypes; +Breadcrumb.defaultProps = defaultProps; +var _default = Breadcrumb; +exports.default = _default; \ No newline at end of file diff --git a/components/builder-header.d.ts b/components/builder-header.d.ts new file mode 100644 index 0000000000..578d7abc55 --- /dev/null +++ b/components/builder-header.d.ts @@ -0,0 +1,81 @@ +declare module "@salesforce/design-system-react/components/builder-header" { + import React from "react"; + type Props = { + /** + * **Assistive text for accessibility** + * This object is merged with the default props object on every render. + * * `backIcon`: Used for the back icon. + * * `helpIcon`: Used for the help icon. + * * `icon`: Used for the main icon next to the header title. + * * _Tested with snapshot testing._ + */ + assistiveText?: Partial<{ + backIcon?: string; + helpIcon?: string; + icon?: string; + }>; + /** + * Provide children of the types ``, ``, or `` to define the structure of the header. + * ``` + * + * + * + * + * + * ``` + */ + children?: React.ReactNode; + /** + * CSS classes to be added to tag with `.slds-builder-header_container`. Uses `classNames` [API](https://github.com/JedWatson/classnames). _Tested with snapshot testing._ + */ + className?: any[] | Record | string; + /** + * Event Callbacks + * * `onClickBack`: Called when the Back link is clicked. + * * `onClickHelp`: Called when the Help link is clicked. + * _Tested with Mocha testing._ + */ + events?: Partial<{ + onClickBack?: (v: any) => any; + onClickHelp?: (v: any) => any; + }>; + /** + * Category of the title icon from [lightningdesignsystem.com/icons/](https://www.lightningdesignsystem.com/icons/) + */ + iconCategory?: string; + /** + * CSS classes that are applied to the title icon. + */ + iconClassName?: any[] | Record | string; + /** + * Name of the title icon. Visit Lightning Design System Icons to reference icon names. + */ + iconName?: string; + /** + * Path to the title icon. This will override any global icon settings. + */ + iconPath?: string; + /** + * **Text labels for internationalization** + * This object is merged with the default props object on every render. + * * `back`: The label for the Back link. + * * `help`: The label for the Help link. + * * `pageType`: The label that describes the page type. + * * `title`: The label for the page title. + * _Tested with snapshot testing._ + */ + labels?: Partial<{ + back?: string; + help?: string; + pageType?: string; + title?: string; + }>; + /** + * Custom styles applied to the `.slds-builder-header_container` element. + */ + style?: Record; + }; + + function Component(props: Props): React.ReactElement; + export default Component; +} diff --git a/components/builder-header/__docs__/__snapshots__/storybook-stories.storyshot b/components/builder-header/__docs__/__snapshots__/storybook-stories.storyshot new file mode 100644 index 0000000000..125bfc3e08 --- /dev/null +++ b/components/builder-header/__docs__/__snapshots__/storybook-stories.storyshot @@ -0,0 +1,2751 @@ +// Jest Snapshot v1, https://goo.gl/fbAQLP + +exports[`DOM snapshots SLDSBuilderHeader After Successful Save 1`] = ` +
    +
    +
    +
    +
    +
    +
    + + + + Builder + + +
    +
    + App Name +
    +
    +
    + +
    +

    + + Page Type + +

    +
    + +
    +
    +
    +
    + + +
    +
    +
    +
    + + + +
    +
    +
    +
    +
    + + Saved 5 mins ago + + +
    + + + +
    +
    +
    +
    +
    +
    +`; + +exports[`DOM snapshots SLDSBuilderHeader Base 1`] = ` +
    +
    +
    +
    +
    +
    +
    + + + + Builder + + +
    +
    + App Name +
    +
    +
    + +
    +

    + + Page Type + +

    +
    + +
    +
    +
    +
    +`; + +exports[`DOM snapshots SLDSBuilderHeader Base with Page Type Editable 1`] = ` +
    +
    +
    +
    +
    +
    +
    + + + + Builder + + +
    +
    + App Name +
    +
    +
    + +
    +
    +
    + + Page Type + +
    +
    + + +
    +
    +
    +
    +
    +
    +
    +
    + + Page Type + +
    +
    + + +
    +
    +
    +
    +
    + +
    +
    +
    +
    +`; + +exports[`DOM snapshots SLDSBuilderHeader Base with Toolbar 1`] = ` +
    +
    +
    +
    +
    +
    +
    + + + + Builder + + +
    +
    + App Name +
    +
    +
    + +
    +

    + + Page Type + +

    +
    + +
    +
    +
    +
    + + +
    +
    +
    +
    + + + +
    +
    +
    +
    + + + +
    +
    +
    +
    +
    +
    +`; + +exports[`DOM snapshots SLDSBuilderHeader Custom Icon 1`] = ` +
    +
    +
    +
    +
    +
    +
    + + + + Builder + + +
    +
    + App Name +
    +
    +
    + +
    +

    + + Page Type + +

    +
    + +
    +
    +
    +
    +`; + +exports[`DOM snapshots SLDSBuilderHeader Failed Save 1`] = ` +
    +
    +
    +
    +
    +
    +
    + + + + Builder + + +
    +
    + App Name +
    +
    +
    + +
    +

    + + Page Type + +

    +
    + +
    +
    +
    +
    + + +
    +
    +
    +
    + + + +
    +
    +
    +
    +
    + + +
    +
    + +
    + + + +
    +
    +
    +
    +
    +
    +`; + +exports[`DOM snapshots SLDSBuilderHeader Successful Save 1`] = ` +
    +
    +
    +
    +
    +
    +
    + + + + Builder + + +
    +
    + App Name +
    +
    +
    + +
    +

    + + Page Type + +

    +
    + +
    +
    +
    +
    + + +
    +
    +
    +
    + + + +
    +
    +
    +
    + + + + + + Saved + + + + +
    +
    +
    +
    +
    +
    +`; diff --git a/components/builder-header/__docs__/storybook-stories.jsx b/components/builder-header/__docs__/storybook-stories.jsx new file mode 100644 index 0000000000..70e86e8a03 --- /dev/null +++ b/components/builder-header/__docs__/storybook-stories.jsx @@ -0,0 +1,26 @@ +import React from 'react'; +import { storiesOf } from '@storybook/react'; + +import BuilderHeaderBase from '../__examples__/base'; +import BuilderHeaderBaseWithToolbar from '../__examples__/base-with-toolbar'; +import BuilderHeaderCustomIcon from '../__examples__/custom-icon'; +import BuilderHeaderSuccessfulSave from '../__examples__/successful-save'; +import BuilderHeaderAfterSuccessfulSave from '../__examples__/after-successful-save'; +import BuilderHeaderFailedSave from '../__examples__/failed-save'; +import BuilderHeaderWithPageTypeEditable from '../__examples__/base-with-page-type-editable'; + +import { BUILDER_HEADER } from '../../../utilities/constants'; + +storiesOf(BUILDER_HEADER, module) + .addDecorator((getStory) => ( +
    {getStory()}
    + )) + .add('Base', () => ) + .add('Base with Toolbar', () => ) + .add('Custom Icon', () => ) + .add('Successful Save', () => ) + .add('After Successful Save', () => ) + .add('Failed Save', () => ) + .add('Base with Page Type Editable', () => ( + + )); diff --git a/components/builder-header/__examples__/after-successful-save.jsx b/components/builder-header/__examples__/after-successful-save.jsx new file mode 100644 index 0000000000..0fad2f09e3 --- /dev/null +++ b/components/builder-header/__examples__/after-successful-save.jsx @@ -0,0 +1,121 @@ +import React from 'react'; +import IconSettings from '../../icon-settings'; +import Button from '../../button'; +import ButtonGroup from '../../button-group'; +import Tooltip from '../../tooltip'; +import BuilderHeader from '..'; +import BuilderHeaderNav from '../nav'; +import BuilderHeaderNavLink from '../nav-link'; +import BuilderHeaderNavDropdown from '../nav-dropdown'; +import BuilderHeaderToolbar from '../toolbar'; + +const Example = (props) => ( + + + + + + + ( +
    + + + Saved 5 mins ago + + +
    + )} + > + + + + +

    + Pellentesque magna tellus, dapibus vitae placerat nec, + viverra vel mi.{' '} + + Learn More + +

    + + } + heading="Review warning" + id="popover-error" + variant="error" + > + + +
    + +
    + +
    +
    +
    + + Actions + +
    +
    + + +
    + +
    +
    +
    +
    + +`; + +exports[`DOM snapshots SLDSButtonGroup List Variant 1`] = ` +
    +
      +
    • + +
    • +
    • + +
    • +
    • +
      + +
      +
    • +
    +
    +
    +
    + + Actions + +
    +
      +
    • + +
    • +
    • + +
    • +
    • +
      + +
      +
    • +
    +
    +
    +
    +`; + +exports[`DOM snapshots SLDSButtonGroup More Icon 1`] = ` +
    +
    + + + +
    + +
    +
    +
    +`; diff --git a/components/button-group/__docs__/storybook-stories.jsx b/components/button-group/__docs__/storybook-stories.jsx new file mode 100644 index 0000000000..4e4e0b720b --- /dev/null +++ b/components/button-group/__docs__/storybook-stories.jsx @@ -0,0 +1,24 @@ +/* eslint-disable react/display-name */ + +import React from 'react'; +import { storiesOf } from '@storybook/react'; +import IconSettings from '../../icon-settings'; + +import { BUTTON_GROUP } from '../../../utilities/constants'; +import MoreIcon from '../__examples__/more-icon'; +import IconGroup from '../__examples__/icon-group'; +import Checkbox from '../__examples__/checkbox'; +import CheckboxError from '../__examples__/checkbox-error'; +import ListVariant from '../__examples__/list-variant'; + +storiesOf(BUTTON_GROUP, module) + .addDecorator((getStory) => ( +
    + {getStory()} +
    + )) + .add('More Icon', () => ) + .add('Icon Group', () => ) + .add('Checkbox', () => ) + .add('Checkbox Error', () => ) + .add('List Variant', () => ); diff --git a/components/button-group/__examples__/checkbox-error.jsx b/components/button-group/__examples__/checkbox-error.jsx new file mode 100644 index 0000000000..947ee43d45 --- /dev/null +++ b/components/button-group/__examples__/checkbox-error.jsx @@ -0,0 +1,29 @@ +import React from 'react'; + +import ButtonGroup from '~/components/button-group'; +import Checkbox from '~/components/checkbox'; + +class Example extends React.Component { + static displayName = 'ButtonGroupExample'; + + render() { + return ( + + + + + + + + ); + } +} + +export default Example; // export is replaced with `ReactDOM.render(, mountNode);` at runtime diff --git a/components/button-group/__examples__/checkbox.jsx b/components/button-group/__examples__/checkbox.jsx new file mode 100644 index 0000000000..afbe3977fc --- /dev/null +++ b/components/button-group/__examples__/checkbox.jsx @@ -0,0 +1,28 @@ +import React from 'react'; + +import ButtonGroup from '~/components/button-group'; +import Checkbox from '~/components/checkbox'; + +class Example extends React.Component { + static displayName = 'ButtonGroupExample'; + + render() { + return ( + + + + + + + + ); + } +} + +export default Example; // export is replaced with `ReactDOM.render(, mountNode);` at runtime diff --git a/components/button-group/__examples__/icon-group.jsx b/components/button-group/__examples__/icon-group.jsx new file mode 100644 index 0000000000..43c9a7be92 --- /dev/null +++ b/components/button-group/__examples__/icon-group.jsx @@ -0,0 +1,90 @@ +import React from 'react'; + +import ButtonGroup from '~/components/button-group'; +import ButtonStateful from '~/components/button-stateful'; +import Dropdown from '~/components/menu-dropdown'; +import IconSettings from '~/components/icon-settings'; + +class Example extends React.Component { + static displayName = 'ButtonGroupExample'; + + render() { + return ( + + + + + { + console.log(item.label, 'selected'); + }} + openOn="click" + options={[ + { label: 'Bring left panel to front', value: 'A0' }, + { label: 'Bring right panel to front', value: 'B0' }, + ]} + value="A0" + variant="icon" + /> + +
    +
    + + + + { + console.log(item.label, 'selected'); + }} + openOn="click" + options={[ + { label: 'Bring left panel to front', value: 'A0' }, + { label: 'Bring right panel to front', value: 'B0' }, + ]} + value="A0" + variant="icon" + /> + +
    + ); + } +} + +export default Example; // export is replaced with `ReactDOM.render(, mountNode);` at runtime diff --git a/components/button-group/__examples__/list-variant.jsx b/components/button-group/__examples__/list-variant.jsx new file mode 100644 index 0000000000..695c576f89 --- /dev/null +++ b/components/button-group/__examples__/list-variant.jsx @@ -0,0 +1,62 @@ +import React from 'react'; + +import IconSettings from '~/components/icon-settings'; +import ButtonGroup from '~/components/button-group'; +import Button from '~/components/button'; +import Dropdown from '~/components/menu-dropdown'; + +class Example extends React.Component { + static displayName = 'ListVariantExample'; + + render() { + return ( + + + + +`; + +exports[`DOM snapshots SLDSButtonStateful Disabled 1`] = ` +
    + +
    +`; + +exports[`DOM snapshots SLDSButtonStateful Icon Button 1`] = ` +
    + +
    +`; + +exports[`DOM snapshots SLDSButtonStateful Icon Text Button 1`] = ` +
    +
    + +
    + +
    +
    +
    +`; diff --git a/components/button-stateful/__docs__/storybook-stories.jsx b/components/button-stateful/__docs__/storybook-stories.jsx new file mode 100644 index 0000000000..3db1a4c543 --- /dev/null +++ b/components/button-stateful/__docs__/storybook-stories.jsx @@ -0,0 +1,27 @@ +/* eslint-disable react/display-name */ + +import React from 'react'; +import { storiesOf } from '@storybook/react'; +import { action } from '@storybook/addon-actions'; +import IconSettings from '../../icon-settings'; + +import { BUTTON_STATEFUL } from '../../../utilities/constants'; +import ButtonStateful from '../../button-stateful'; + +import IconTextButton from '../__examples__/icon-text'; +import IconButton from '../__examples__/icon'; + +const getButtonStateful = (props) => ( + +); + +storiesOf(BUTTON_STATEFUL, module) + .addDecorator((getStory) => ( +
    + {getStory()} +
    + )) + .add('Base', () => getButtonStateful()) + .add('Disabled', () => getButtonStateful({ disabled: true })) + .add('Icon Text Button', () => ) + .add('Icon Button', () => ); diff --git a/components/button-stateful/__examples__/icon-text.jsx b/components/button-stateful/__examples__/icon-text.jsx new file mode 100644 index 0000000000..0d3b501051 --- /dev/null +++ b/components/button-stateful/__examples__/icon-text.jsx @@ -0,0 +1,37 @@ +import React from 'react'; + +import IconSettings from '~/components/icon-settings'; +import ButtonIcon from '~/components/icon/button-icon'; +import ButtonStateful from '~/components/button-stateful'; // `~` is replaced with design-system-react at runtime + +class Example extends React.Component { + static displayName = 'ButtonStatefulExample'; + + render() { + return ( + +
    + + +
    + , label: 'Join' }} + stateTwo={{ icon: , label: 'Member' }} + stateThree={{ icon: , label: 'Leave' }} + /> +
    +
    +
    + ); + } +} + +export default Example; // export is replaced with `ReactDOM.render(, mountNode);` at runtime diff --git a/components/button-stateful/__examples__/icon.jsx b/components/button-stateful/__examples__/icon.jsx new file mode 100644 index 0000000000..399eadb744 --- /dev/null +++ b/components/button-stateful/__examples__/icon.jsx @@ -0,0 +1,35 @@ +import React from 'react'; + +import IconSettings from '~/components/icon-settings'; +import ButtonIcon from '~/components/icon/button-icon'; +import ButtonStateful from '~/components/button-stateful'; // `~` is replaced with design-system-react at runtime + +class Example extends React.Component { + static displayName = 'ButtonStatefulExample'; + + state = { + isActive: false, + }; + + handleOnClick = () => { + this.setState({ + isActive: !this.state.isActive, + }); + }; + + render() { + return ( + + } + onClick={this.handleOnClick} + variant="icon-filled" + /> + + ); + } +} + +export default Example; // export is replaced with `ReactDOM.render(, mountNode);` at runtime diff --git a/components/button-stateful/check-props.js b/components/button-stateful/check-props.js new file mode 100644 index 0000000000..396c29d578 --- /dev/null +++ b/components/button-stateful/check-props.js @@ -0,0 +1,32 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = void 0; + +var _getComponentDoc = _interopRequireDefault(require("../../utilities/get-component-doc")); + +var _sunsetProperty = _interopRequireDefault(require("../../utilities/warning/sunset-property")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */ + +/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */ + +/* eslint-disable import/no-mutable-exports */ +var checkProps = function checkPropsFunction() {}; + +if (process.env.NODE_ENV !== 'production') { + checkProps = function checkPropsFunction(COMPONENT, props, jsonDoc) { + var createDocUrl = (0, _getComponentDoc.default)(jsonDoc); + + if (typeof props.assistiveText === 'string') { + (0, _sunsetProperty.default)(COMPONENT, props.assistiveText, 'assistiveText', "`assistiveText` as a string has been deprecated and is now an object to allow for multiple uses in the component. Please use `assistiveText.icon` instead. ".concat(createDocUrl('assistiveText'))); + } + }; +} + +var _default = checkProps; +exports.default = _default; \ No newline at end of file diff --git a/components/button-stateful/component.json b/components/button-stateful/component.json new file mode 100644 index 0000000000..c4af96ffb4 --- /dev/null +++ b/components/button-stateful/component.json @@ -0,0 +1,18 @@ +{ + "component": "button-stateful", + "status": "prod", + "display-name": "Stateful Buttons", + "classKey": "ButtonStateful", + "SLDS-component-path": "/components/button/#flavor-stateful", + "site-stories": [ + { + "heading": "Icon Only", + "path": "/__examples__/icon.jsx" + }, + { + "heading": "Icon and Text", + "path": "/__examples__/icon-text.jsx" + } + ], + "url-slug": "stateful-buttons" +} diff --git a/components/button-stateful/index.js b/components/button-stateful/index.js new file mode 100644 index 0000000000..531158f7ef --- /dev/null +++ b/components/button-stateful/index.js @@ -0,0 +1,358 @@ +"use strict"; + +function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = void 0; + +var _react = _interopRequireDefault(require("react")); + +var _propTypes = _interopRequireDefault(require("prop-types")); + +var _classnames = _interopRequireDefault(require("classnames")); + +var _lodash = _interopRequireDefault(require("lodash.isfunction")); + +var _checkProps = _interopRequireDefault(require("./check-props")); + +var _component = _interopRequireDefault(require("./component.json")); + +var _buttonIcon = _interopRequireDefault(require("../icon/button-icon")); + +var _getAriaProps = _interopRequireDefault(require("../../utilities/get-aria-props")); + +var _constants = require("../../utilities/constants"); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); } + +function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; } + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } + +function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); } + +function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } + +function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; } + +function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } + +function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } } + +function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var propTypes = { + /** + * Specifies the current state of the button. If set, the button will act as a ['controlled' component](https://facebook.github.io/react/docs/forms.html#controlled-components). + */ + active: _propTypes.default.bool, + + /** + * **Assistive text for accessibility.** + * This object is merged with the default props object on every render. + * * `icon`: Text that is visually hidden but read aloud by screenreaders to tell the user what the icon means. This should also include the state of the button. If the button has an icon and a visible label, you can omit the icon prop and use the label prop. + */ + assistiveText: _propTypes.default.shape({ + icon: _propTypes.default.string + }), + + /** + * Disables the button and adds disabled styling. + */ + disabled: _propTypes.default.bool, + + /** + * Icon associated with the stateful button. Accepts an `Icon` component + */ + icon: _propTypes.default.node, + + /** + * Triggered when focus is removed. + */ + onBlur: _propTypes.default.func, + + /** + * Triggered when the button is clicked. + */ + onClick: _propTypes.default.func, + + /** + * Triggered when component is focused. + */ + onFocus: _propTypes.default.func, + + /** + * Triggered when a key is pressed down + */ + onKeyDown: _propTypes.default.func, + + /** + * Triggered when a key is pressed and released + */ + onKeyPress: _propTypes.default.func, + + /** + * Triggered when a key is released + */ + onKeyUp: _propTypes.default.func, + + /** + * Triggered when a mouse button is pressed down + */ + onMouseDown: _propTypes.default.func, + + /** + * Triggered when a mouse arrow hovers + */ + onMouseEnter: _propTypes.default.func, + + /** + * If true, button scales to 100% width on small form factors. + */ + responsive: _propTypes.default.bool, + + /** + * Initial label and icon (optional) of button. + */ + stateOne: _propTypes.default.object, + + /** + * Selected label and icon (optional) of button. + */ + stateTwo: _propTypes.default.object, + + /** + * Deselect label and icon (optional) of button. + */ + stateThree: _propTypes.default.object, + + /** + * Write "-1" if you don't want the user to tab to the button. + */ + tabIndex: _propTypes.default.string, + + /** + * Different types of buttons + */ + variant: _propTypes.default.oneOf(['base', 'neutral', 'brand', 'destructive', 'icon', 'icon-filled']) +}; // i18n + +var defaultProps = { + assistiveText: { + icon: '' + }, + disabled: false, + iconSize: 'medium', + responsive: false, + stateOne: { + iconName: 'add', + label: 'Follow' + }, + stateTwo: { + iconName: 'check', + label: 'Following' + }, + stateThree: { + iconName: 'close', + label: 'Unfollow' + } +}; +/** + * The ButtonStateful component is a variant of the Lightning Design System Button component. It is used for buttons that have a state of unselected or selected. + * For icon buttons, use variant='icon'. For buttons with labels or buttons with labels and icons, pass data to the state props (ie. stateOne={{iconName: 'add', label: 'Join'}}). + * Although not listed in the prop table, all `aria-*` props will be added to the button element if passed in. + * If no `aria-*` props are passed in, aria-live='polite' is used for `icon` and `icon-filled` variants, + * and aria-live='assertive' is used for the remaining variants. + */ + +var ButtonStateful = /*#__PURE__*/function (_React$Component) { + _inherits(ButtonStateful, _React$Component); + + var _super = _createSuper(ButtonStateful); + + function ButtonStateful(props) { + var _this; + + _classCallCheck(this, ButtonStateful); + + _this = _super.call(this, props); + + _defineProperty(_assertThisInitialized(_this), "handleBlur", function (e) { + if (_this.props.onBlur) _this.props.onBlur(e); + e.currentTarget.blur(); + }); + + _defineProperty(_assertThisInitialized(_this), "handleClick", function (e) { + if ((0, _lodash.default)(_this.props.onClick)) _this.props.onClick(e); + + if (typeof _this.props.active !== 'boolean') { + _this.setState(function (prevState) { + return { + active: !prevState.active + }; + }); + } + }); + + _this.state = { + active: false + }; + (0, _checkProps.default)(_constants.BUTTON_STATEFUL, props, _component.default); + return _this; + } + + _createClass(ButtonStateful, [{ + key: "getClassName", + value: function getClassName(active) { + return (0, _classnames.default)(this.props.className, 'slds-button', { + 'slds-button_neutral': this.props.variant !== 'icon' && this.props.variant !== 'icon-filled', + 'slds-button_inverse': this.props.variant === 'inverse', + 'slds-not-selected': !active, + 'slds-is-selected': active, + 'slds-max-small-button_stretch': this.props.responsive, + 'slds-button_icon-border': this.props.variant === 'icon', + 'slds-button_icon-border-filled': this.props.variant === 'icon-filled' + }); + } + }, { + key: "render", + value: function render() { + var _this$props = this.props, + active = _this$props.active, + disabled = _this$props.disabled, + icon = _this$props.icon, + iconName = _this$props.iconName, + iconSize = _this$props.iconSize, + id = _this$props.id, + onFocus = _this$props.onFocus, + onKeyDown = _this$props.onKeyDown, + onKeyPress = _this$props.onKeyPress, + onKeyUp = _this$props.onKeyUp, + onMouseDown = _this$props.onMouseDown, + onMouseEnter = _this$props.onMouseEnter, + stateOne = _this$props.stateOne, + stateTwo = _this$props.stateTwo, + stateThree = _this$props.stateThree, + tabIndex = _this$props.tabIndex, + variant = _this$props.variant; + var defaultIconProps = { + disabled: disabled, + size: 'small', + className: 'slds-button__icon_stateful' + }; + var iconAssistiveText = typeof this.props.assistiveText === 'string' ? this.props.assistiveText : _objectSpread(_objectSpread({}, defaultProps.assistiveText), this.props.assistiveText).icon; + var isActive = typeof active === 'boolean' ? active : this.state.active; // Accept aria-* props + + var ariaProps = (0, _getAriaProps.default)(this.props); + + if (variant === 'icon' || variant === 'icon-filled') { + // Default aria attribute for stateful button with icon, if none is specified + if (Object.keys(ariaProps).length === 0) { + ariaProps = { + 'aria-live': 'polite' + }; + } + + return /*#__PURE__*/_react.default.createElement("button", _extends({}, ariaProps, { + className: this.getClassName(isActive), + disabled: disabled, + id: id, + onBlur: this.handleBlur, + onClick: this.handleClick, + onFocus: onFocus, + onKeyDown: onKeyDown, + onKeyPress: onKeyPress, + onKeyUp: onKeyUp, + onMouseDown: onMouseDown, + onMouseEnter: onMouseEnter, + onMouseLeave: this.handleBlur, + tabIndex: tabIndex, + type: "button" + }), icon ? /*#__PURE__*/_react.default.cloneElement(icon, _objectSpread(_objectSpread({}, defaultIconProps), icon.props)) : /*#__PURE__*/_react.default.createElement(_buttonIcon.default, { + disabled: disabled, + name: iconName, + size: iconSize, + className: "slds-button__icon_stateful" + }), iconAssistiveText ? /*#__PURE__*/_react.default.createElement("span", { + className: "slds-assistive-text" + }, iconAssistiveText) : null); + } + + defaultIconProps.position = 'left'; // Default aria attribute for stateful button, if none is specified + + if (Object.keys(ariaProps).length === 0) { + ariaProps = { + 'aria-live': 'assertive' + }; + } + + return /*#__PURE__*/_react.default.createElement("button", _extends({}, ariaProps, { + className: this.getClassName(isActive), + disabled: disabled, + id: id, + onBlur: this.handleBlur, + onClick: this.handleClick, + onFocus: onFocus, + onKeyDown: onKeyDown, + onKeyPress: onKeyPress, + onKeyUp: onKeyUp, + onMouseEnter: onMouseEnter, + onMouseLeave: this.handleBlur, + tabIndex: tabIndex, + type: "button" + }), /*#__PURE__*/_react.default.createElement("span", { + className: "slds-text-not-selected" + }, stateOne.icon ? /*#__PURE__*/_react.default.cloneElement(stateOne.icon, _objectSpread(_objectSpread(_objectSpread({}, defaultIconProps), stateOne.icon.props), {}, { + size: 'small' + })) : /*#__PURE__*/_react.default.createElement(_buttonIcon.default, { + disabled: disabled, + name: stateOne.iconName, + size: "small", + position: "left", + className: "slds-button__icon_stateful" + }), stateOne.label), /*#__PURE__*/_react.default.createElement("span", { + className: "slds-text-selected" + }, stateTwo.icon ? /*#__PURE__*/_react.default.cloneElement(stateTwo.icon, _objectSpread(_objectSpread(_objectSpread({}, defaultIconProps), stateTwo.icon.props), {}, { + size: 'small' + })) : /*#__PURE__*/_react.default.createElement(_buttonIcon.default, { + disabled: disabled, + name: stateTwo.iconName, + size: "small", + position: "left", + className: "slds-button__icon_stateful" + }), stateTwo.label), /*#__PURE__*/_react.default.createElement("span", { + className: "slds-text-selected-focus" + }, stateThree.icon ? /*#__PURE__*/_react.default.cloneElement(stateThree.icon, _objectSpread(_objectSpread(_objectSpread({}, defaultIconProps), stateThree.icon.props), {}, { + size: 'small' + })) : /*#__PURE__*/_react.default.createElement(_buttonIcon.default, { + disabled: disabled, + name: stateThree.iconName, + size: "small", + position: "left", + className: "slds-button__icon_stateful" + }), stateThree.label)); + } + }]); + + return ButtonStateful; +}(_react.default.Component); + +ButtonStateful.displayName = _constants.BUTTON_STATEFUL; +ButtonStateful.propTypes = propTypes; +ButtonStateful.defaultProps = defaultProps; +var _default = ButtonStateful; +exports.default = _default; \ No newline at end of file diff --git a/components/button.d.ts b/components/button.d.ts new file mode 100644 index 0000000000..1191560e26 --- /dev/null +++ b/components/button.d.ts @@ -0,0 +1,163 @@ +declare module '@salesforce/design-system-react/components/button' { + import React from 'react'; + type Props = { + /** + * **Assistive text for accessibility.** + * This object is merged with the default props object on every render. + * * `icon`: Text that is visually hidden but read aloud by screenreaders to tell the user what the icon means. If the button has an icon and a visible label, you can omit the assistiveText.icon prop and use the label prop. + */ + assistiveText?: Partial<{ + icon?: string; + }>; + + /** + * Callback that passes in the DOM reference of the ` + +`; + +exports[`DOM snapshots SLDSButton Base 1`] = ` +
    + +
    +`; + +exports[`DOM snapshots SLDSButton Data attribute 1`] = ` +
    + +
    +`; + +exports[`DOM snapshots SLDSButton Disabled 1`] = ` +
    + +
    +`; + +exports[`DOM snapshots SLDSButton Doc site Base Neutral 1`] = ` +
    +
    + + + + +
    +
    +`; + +exports[`DOM snapshots SLDSButton Doc site Brand Disabled 1`] = ` +
    +
    + + + + +
    + +
    +
    +
    +`; + +exports[`DOM snapshots SLDSButton Doc site Button Icons 1`] = ` +
    +
    + + +
    + + +
    + +
    + +
    +
    + +
    +
    +
    +`; + +exports[`DOM snapshots SLDSButton Dropdown Icon inverse 1`] = ` +
    +
    + +
    +
    +`; + +exports[`DOM snapshots SLDSButton Icon Container Small 1`] = ` +
    +
    + +
    +
    +`; + +exports[`DOM snapshots SLDSButton Icon large 1`] = ` +
    + +
    +`; + +exports[`DOM snapshots SLDSButton Icon with external path 1`] = ` +
    + +
    +`; + +exports[`DOM snapshots SLDSButton Neutral 1`] = ` +
    + +
    +`; + +exports[`DOM snapshots SLDSButton Neutral Icon 1`] = ` +
    + +
    +`; + +exports[`DOM snapshots SLDSButton Neutral with id 1`] = ` +
    + +
    +`; + +exports[`DOM snapshots SLDSButton Outline brand button 1`] = ` +
    +
    + +
    +
    +`; + +exports[`DOM snapshots SLDSButton Small Icon Hint inverse 1`] = ` +
    +
    + +
    +
    +`; diff --git a/components/button/__docs__/storybook-stories.jsx b/components/button/__docs__/storybook-stories.jsx new file mode 100644 index 0000000000..8bd426a36c --- /dev/null +++ b/components/button/__docs__/storybook-stories.jsx @@ -0,0 +1,127 @@ +/* eslint-disable react/display-name */ + +import React from 'react'; +import { storiesOf } from '@storybook/react'; +import { action } from '@storybook/addon-actions'; +import IconSettings from '../../icon-settings'; + +import { BUTTON } from '../../../utilities/constants'; +import Button from '../../button'; + +import BaseNeutral from '../__examples__/base-neutral'; +import BrandDisabled from '../__examples__/brand-disabled-destructive-inverse'; +import ButtonIcons from '../__examples__/button-icons'; + +const getButton = (props) => + + + + + +
    +
    + +
    + + + + +
    +
    +
    +
    + +
    + +
    + + + + + + + + + + + + + + + + + +
    +
    + Opportunity Name +
    +
    +
    + + Cloudhub + +
    +
    +
    + + Cloudhub + Anypoint Connectors + +
    +
    +
    + + Cloud City + +
    +
    +
    +
    + Card Footer +
    + + + +`; + +exports[`DOM snapshots SLDSCard Custom Heading 1`] = ` +
    +
    +
    +
    +
    +
    + + + + + +
    +
    +

    + + To Wanda! This is custom! + +

    +
    +
    +
    +
    + +
    + + + + +
    +
    +
    +
    + +
    +
    +
    + + + + + + + + + + + + + + + + + +
    +
    + Opportunity Name +
    +
    +
    + + Cloudhub + +
    +
    +
    + + Cloudhub + Anypoint Connectors + +
    +
    +
    + + Cloud City + +
    +
    +
    +
    + Card Footer +
    +
    +
    +
    +`; + +exports[`DOM snapshots SLDSCard Doc site Related List With Table 1`] = ` +
    +
    +
    +
    +
    +
    + + + + + +
    +
    +

    + Releated Items +

    +
    +
    +
    +
    + +
    + + + + +
    +
    +
    +
    + +
    +
    +
    + + + + + + + + + + + + + + + + + +
    +
    + Opportunity Name +
    +
    +
    + Cloudhub +
    +
    +
    + Cloudhub + Anypoint Connectors +
    +
    +
    + Cloud City +
    +
    +
    +
    +
    +
    +`; + +exports[`DOM snapshots SLDSCard Empty 1`] = ` +
    +
    +
    +
    +
    +
    + + + + + +
    +
    +

    + Related Items +

    +
    +
    +
    + +
    +
    +
    +
    +
    +

    + No Related Items +

    +
    +
    +
    +
    + Card Footer +
    +
    +
    +
    +`; + +exports[`DOM snapshots SLDSCard Set height card 1`] = ` +
    +
    +
    +
    +
    + + + + + +
    +
    +

    + Card with set height +

    +
    +
    +
    +
    +
    +
    +
    + asdf +
    +
    + asdf +
    +
    + asdf +
    +
    + asdf +
    +
    + asdf +
    +
    + asdf +
    +
    + asdf +
    +
    + asdf +
    +
    + asdf +
    +
    + asdf +
    +
    + asdf +
    +
    + asdf +
    +
    + asdf +
    +
    +
    + +
    +
    +`; + +exports[`DOM snapshots SLDSCard w/ Items 1`] = ` +
    +
    +
    +
    +
    +
    + + + + + +
    +
    +

    + Related Items (3) +

    +
    +
    +
    +
    + +
    + + + + +
    +
    +
    +
    + +
    +
    +
    + + + + + + + + + + + + + + + + + +
    +
    + Opportunity Name +
    +
    +
    + + Cloudhub + +
    +
    +
    + + Cloudhub + Anypoint Connectors + +
    +
    +
    + + Cloud City + +
    +
    +
    +
    + Card Footer +
    +
    +
    +
    +`; + +exports[`DOM snapshots SLDSCard w/o Header 1`] = ` +
    +
    +
    + + + + + + + + + + + + + + + + + +
    +
    + Opportunity Name +
    +
    +
    + + Cloudhub + +
    +
    +
    + + Cloudhub + Anypoint Connectors + +
    +
    +
    + + Cloud City + +
    +
    +
    + +
    +
    +`; diff --git a/components/card/__docs__/storybook-stories.jsx b/components/card/__docs__/storybook-stories.jsx new file mode 100644 index 0000000000..6ab68fd4b3 --- /dev/null +++ b/components/card/__docs__/storybook-stories.jsx @@ -0,0 +1,211 @@ +import React from 'react'; + +import PropTypes from 'prop-types'; +import shortid from 'shortid'; +import { storiesOf } from '@storybook/react'; +import { action } from '@storybook/addon-actions'; +import IconSettings from '../../icon-settings'; + +import { CARD } from '../../../utilities/constants'; +import Button from '../../button'; +import Card from '../../card'; +import CardEmpty from '../../card/empty'; +import CardFilter from '../../card/filter'; +import DataTable from '../../data-table'; +import DataTableColumn from '../../data-table/column'; +import DataTableHighlightCell from '../../data-table/highlight-cell'; +import Icon from '../../icon'; + +import MediaObject from '../../media-object'; +import InlineEdit from '../../forms/input/inline'; + +import RelatedListWithTable from '../__examples__/related-list-with-table'; + +const sampleItems = [ + { id: '0', name: 'Cloudhub' }, + { id: '1', name: 'Cloudhub + Anypoint Connectors' }, + { id: '2', name: 'Cloud City' }, +]; + +let currentId = 3; + +class DemoCard extends React.Component { + static displayName = 'DemoCard'; + + static propTypes = { + items: PropTypes.array, + header: PropTypes.node, + heading: PropTypes.oneOfType([PropTypes.node, PropTypes.string]), + }; + + state = { + filter: null, + items: this.props.items, + }; + + handleFilterChange = (event, ...rest) => { + action('filter')(event, ...rest); + + const filter = + event.target.value !== '' ? RegExp(event.target.value, 'i') : null; + + this.setState({ + filter, + }); + }; + + handleDeleteAllItems = (...rest) => { + action('delete all')(...rest); + + this.setState({ + filter: null, + items: [], + }); + }; + + handleAddItem = (...rest) => { + action('add')(...rest); + + this.setState({ + items: [ + // eslint-disable-next-line no-plusplus + { id: currentId++, name: `New item #${shortid.generate()}` }, + ...this.state.items, + ], + }); + }; + + render() { + let { items } = this.state; + if (this.state.filter) { + items = items.filter((item) => this.state.filter.test(item.name)); + } + + const isEmpty = items.length === 0; + + let { heading } = this.props; + + if (!this.props.heading) { + heading = + items.length > 0 ? `Related Items (${items.length})` : 'Related Items'; + } + + return ( +
    + + ) : null + } + header={this.props.header} + headerActions={ + !isEmpty ? ( +
    + ); + } +} + +const SetHeightCard = () => ( + Footer text} // eslint-disable-line no-script-url + heading="Card with set height" + icon={} + style={{ height: '300px' }} + > +
    +
    asdf
    +
    asdf
    +
    asdf
    +
    asdf
    +
    asdf
    +
    asdf
    +
    asdf
    +
    asdf
    +
    asdf
    +
    asdf
    +
    asdf
    +
    asdf
    +
    asdf
    +
    +
    +); + +SetHeightCard.displayName = 'SET_HEIGHT_CARD'; + +const DemoCardWithoutHeader = () => ( + Footer text} // eslint-disable-line no-script-url + hasNoHeader + icon={} + style={{ height: '300px' }} + > + + + + + + +); + +DemoCardWithoutHeader.displayName = 'CARD_WITHOUT_HEADER'; + +storiesOf(CARD, module) + .addDecorator((getStory) => ( +
    + {getStory()} +
    + )) + .add('w/ Items', () => ) + .add('Empty', () => ) + .add('Custom Header', () => ( + + } + /> + } + items={sampleItems} + /> + )) + .add('Custom Heading', () => ( + To Wanda! This is custom!} + /> + )) + .add('Set height card', () => ) + .add('w/o Header', () => ) + .add('Doc site Related List With Table', () => ); diff --git a/components/card/__examples__/related-list-with-table.jsx b/components/card/__examples__/related-list-with-table.jsx new file mode 100644 index 0000000000..94e6be71ed --- /dev/null +++ b/components/card/__examples__/related-list-with-table.jsx @@ -0,0 +1,86 @@ +import React from 'react'; + +import IconSettings from '~/components/icon-settings'; +import Button from '~/components/button'; // `~` is replaced with design-system-react at runtime +import Card from '~/components/card'; +import CardEmpty from '~/components/card/empty'; +import CardFilter from '~/components/card/filter'; +import DataTable from '~/components/data-table'; +import DataTableColumn from '~/components/data-table/column'; +import Icon from '~/components/icon'; + +const sampleItems = [ + { id: '1', name: 'Cloudhub' }, + { id: '2', name: 'Cloudhub + Anypoint Connectors' }, + { id: '3', name: 'Cloud City' }, +]; + +class Example extends React.Component { + static displayName = 'CardExample'; + + state = { + items: sampleItems, + isFiltering: false, + }; + + handleFilterChange = (event) => { + const filteredItems = sampleItems.filter((item) => + RegExp(event.target.value, 'i').test(item.name) + ); + this.setState({ isFiltering: true, items: filteredItems }); + }; + + handleDeleteAllItems = () => { + this.setState({ isFiltering: false, items: [] }); + }; + + handleAddItem = () => { + this.setState({ items: sampleItems }); + }; + + render() { + const isEmpty = this.state.items.length === 0; + + return ( + +
    + + ) + } + headerActions={ + !isEmpty && ( +
    +
    + ); + } +} + +export default Example; // export is replaced with `ReactDOM.render(, mountNode);` at runtime diff --git a/components/card/component.json b/components/card/component.json new file mode 100644 index 0000000000..aa302a745c --- /dev/null +++ b/components/card/component.json @@ -0,0 +1,28 @@ +{ + "component": "card", + "status": "prod", + "display-name": "Cards", + "classKey": "Card", + "last-accessibility-review": { + "date-iso-8601": "2018/01/18", + "commit-sha": "ad6b6c6523ee21cada11be5f7ea4d99abc530726" + }, + "SLDS-component-path": "/components/cards", + "dependencies": [ + { + "component": "empty", + "classKey": "CardEmpty" + }, + { + "component": "filter", + "classKey": "CardFilter" + } + ], + "site-stories": [ + { + "heading": "Card with Data Table", + "path": "/__examples__/related-list-with-table.jsx" + } + ], + "url-slug": "cards" +} diff --git a/components/card/empty.d.ts b/components/card/empty.d.ts new file mode 100644 index 0000000000..cc47b4c130 --- /dev/null +++ b/components/card/empty.d.ts @@ -0,0 +1,16 @@ +declare module '@salesforce/design-system-react/components/card/empty' { + import React from 'react'; + type Props = { + /** + * Additional call to actions that will render under the heading. Often this is an "Add Item" button. + */ + children?: React.ReactNode; + /** + * Primary text for an Empty Card. + */ + heading?: string; + }; + + function Component(props: Props): React.ReactNode; + export default Component; +} diff --git a/components/card/empty.js b/components/card/empty.js new file mode 100644 index 0000000000..2f0a9cdfcb --- /dev/null +++ b/components/card/empty.js @@ -0,0 +1,54 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = void 0; + +var _react = _interopRequireDefault(require("react")); + +var _propTypes = _interopRequireDefault(require("prop-types")); + +var _constants = require("../../utilities/constants"); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */ + +/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */ +// ### React +// React is an external dependency of the project. + +/** + * A default empty state for Cards. + */ +var CardEmpty = function CardEmpty(props) { + return /*#__PURE__*/_react.default.createElement("div", { + className: "slds-p-horizontal_small" + }, /*#__PURE__*/_react.default.createElement("div", { + className: "slds-text-align_center slds-m-bottom_x-large" + }, /*#__PURE__*/_react.default.createElement("h3", { + className: "slds-text-heading_small slds-p-top_large slds-p-bottom_large" + }, props.heading), props.children)); +}; // ### Display Name +// Always use the canonical component name as the React display name. + + +CardEmpty.displayName = _constants.CARD_EMPTY; // ### Prop Types + +CardEmpty.propTypes = { + /** + * Additional call to actions that will render under the heading. Often this is an "Add Item" button. + */ + children: _propTypes.default.node, + + /** + * Primary text for an Empty Card. + */ + heading: _propTypes.default.string +}; +CardEmpty.defaultProps = { + heading: 'No Related Items' +}; +var _default = CardEmpty; +exports.default = _default; \ No newline at end of file diff --git a/components/card/filter.d.ts b/components/card/filter.d.ts new file mode 100644 index 0000000000..5b895b15b9 --- /dev/null +++ b/components/card/filter.d.ts @@ -0,0 +1,20 @@ +declare module '@salesforce/design-system-react/components/card/filter' { + import React from 'react'; + type Props = { + /** + * The HTML `id` from the card with a suffixe. + */ + id?: string; + /** + * This callback fires when the input changes. + */ + onChange?: (v: any) => any; + /** + * Text present in input until the user enters text. This text will also be used for a visually hidden label on the filter `input` element for accessibility. + */ + placeholder: string /*.isRequired*/; + }; + + function Component(props: Props): React.ReactNode; + export default Component; +} diff --git a/components/card/filter.js b/components/card/filter.js new file mode 100644 index 0000000000..d9ba7d7640 --- /dev/null +++ b/components/card/filter.js @@ -0,0 +1,73 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = void 0; + +var _react = _interopRequireDefault(require("react")); + +var _propTypes = _interopRequireDefault(require("prop-types")); + +var _input = _interopRequireDefault(require("../input")); + +var _inputIcon = _interopRequireDefault(require("../icon/input-icon")); + +var _constants = require("../../utilities/constants"); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); } + +function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; } + +function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; } + +/** + * A default filter or search input for Cards that contain items. + */ +var Filter = function Filter(props) { + var id = props.id, + placeholder = props.placeholder, + onChange = props.onChange, + rest = _objectWithoutProperties(props, ["id", "placeholder", "onChange"]); + + return /*#__PURE__*/_react.default.createElement(_input.default, _extends({}, rest, { + assistiveText: { + label: placeholder + }, + iconLeft: /*#__PURE__*/_react.default.createElement(_inputIcon.default, { + name: "search", + category: "utility" + }), + id: id, + onChange: onChange, + placeholder: placeholder + })); +}; // ### Display Name +// Always use the canonical component name as the React display name. + + +Filter.displayName = _constants.CARD_FILTER; // ### Prop Types + +Filter.propTypes = { + /** + * The HTML `id` from the card with a suffixe. + */ + id: _propTypes.default.string, + + /** + * This callback fires when the input changes. + */ + onChange: _propTypes.default.func, + + /** + * Text present in input until the user enters text. This text will also be used for a visually hidden label on the filter `input` element for accessibility. + */ + placeholder: _propTypes.default.string.isRequired +}; +Filter.defaultProps = { + placeholder: 'Find in List' +}; +var _default = Filter; +exports.default = _default; \ No newline at end of file diff --git a/components/card/index.js b/components/card/index.js new file mode 100644 index 0000000000..61fdffaebf --- /dev/null +++ b/components/card/index.js @@ -0,0 +1,161 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.idSuffixes = exports.default = void 0; + +var _react = _interopRequireDefault(require("react")); + +var _propTypes = _interopRequireDefault(require("prop-types")); + +var _classnames = _interopRequireDefault(require("classnames")); + +var _header = _interopRequireDefault(require("./private/header")); + +var _body = _interopRequireDefault(require("./private/body")); + +var _footer = _interopRequireDefault(require("./private/footer")); + +var _empty = _interopRequireDefault(require("./empty")); + +var _constants = require("../../utilities/constants"); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */ + +/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */ +// # Card Component +// Implements the [Card design pattern](https://www.lightningdesignsystem.com/components/cards/) in React. +// Based on SLDS v2.2.1 +// ### React +// ### classNames +// [github.com/JedWatson/classnames](https://github.com/JedWatson/classnames) +// This project uses `classnames`, "a simple javascript utility for conditionally +// joining classNames together." +// ## Children +var idSuffixes = { + body: '__body', + headerActions: '__header-actions', + heading: '__heading', + filter: '__filter-input' +}; +/** + * Cards are used to apply a container around a related grouping of information. It has a header, a body, and an optional footer. It often contains a DataTable or Tile (coming soon). Actions associated with selected items or with all items are included within the header actions. Footer often contains pagination. + */ + +exports.idSuffixes = idSuffixes; + +var Card = function Card(props) { + var bodyId = props.id ? props.id + idSuffixes.body : null; + var filterId = props.id ? props.id + idSuffixes.filter : null; + var headingId = props.id ? props.id + idSuffixes.heading : null; + var headerActionsId = props.id ? props.id + idSuffixes.headerActions : null; + var empty = props.empty; + + if (empty === true) { + // Can be overridden by passing in a node to the empty prop + empty = /*#__PURE__*/_react.default.createElement(_empty.default, { + id: props.id, + heading: props.heading + }); + } + + return /*#__PURE__*/_react.default.createElement("article", { + id: props.id, + className: (0, _classnames.default)('slds-card', props.className), + style: props.style + }, !props.hasNoHeader && /*#__PURE__*/_react.default.createElement(_header.default, { + header: props.header, + headingId: headingId, + icon: props.icon, + filter: props.filter, + filterId: filterId, + heading: props.heading, + headerActions: props.headerActions, + headerActionsId: headerActionsId + }), !empty ? /*#__PURE__*/_react.default.createElement(_body.default, { + id: bodyId, + className: props.bodyClassName + }, props.children) : /*#__PURE__*/_react.default.createElement(_body.default, { + id: bodyId, + className: props.bodyClassName + }, empty), props.footer ? /*#__PURE__*/_react.default.createElement(_footer.default, null, props.footer) : null); +}; // ### Display Name +// Always use the canonical component name as the React display name. + + +Card.displayName = _constants.CARD; +Card.defaultProps = { + heading: 'Related Items' +}; // ### Prop Types + +Card.propTypes = { + /** + * CSS classes to be added to the card body (wraps children). + */ + bodyClassName: _propTypes.default.oneOfType([_propTypes.default.array, _propTypes.default.object, _propTypes.default.string]), + + /** + * The main section of the card. It often contains a `DataTable` or `Tile`. + */ + children: _propTypes.default.node, + + /** + * CSS classes to be added to the card. + */ + className: _propTypes.default.oneOfType([_propTypes.default.array, _propTypes.default.object, _propTypes.default.string]), + + /** + * Replaces the body (that is the children) with the specified empty state, this will also remove header actions, the filter, and the icon. If the default empty state is wanted, set to `true`. + */ + empty: _propTypes.default.oneOfType([_propTypes.default.bool, _propTypes.default.node]), + + /** + * Adds a filter input to the card header. + */ + filter: _propTypes.default.node, + + /** + * Footer often contains pagination. + */ + footer: _propTypes.default.node, + + /** + * Allows card to have no header, and ignores header related props altogether. + */ + hasNoHeader: _propTypes.default.bool, + + /** + * Allows a custom header (the media object with the icon in the first column). `icon`, `heading` and other props are passed into the media object from Card if present. Use `design-system-react/components/media-object` to create your own custom header. + */ + header: _propTypes.default.node, + + /** + * The heading is the name of the related item group and should only contain inline elements. + */ + heading: _propTypes.default.oneOfType([_propTypes.default.node, _propTypes.default.string]).isRequired, + + /** + * Actions to perform on selected items or actions that are not specific to one item such as adding an item. If no group actions are needed, then the number of selected items is often present. + */ + headerActions: _propTypes.default.node, + + /** + * Icon associated with the items within the `body`. + */ + icon: _propTypes.default.node, + + /** + * Set the HTML `id` of the card. This also sets the `id` of the filter and the header actions. + */ + id: _propTypes.default.string, + + /** + * Custom styles to be added to the card. + */ + style: _propTypes.default.object +}; +var _default = Card; +exports.default = _default; \ No newline at end of file diff --git a/components/card/private/body.d.ts b/components/card/private/body.d.ts new file mode 100644 index 0000000000..fc820928c3 --- /dev/null +++ b/components/card/private/body.d.ts @@ -0,0 +1,20 @@ +declare module '@salesforce/design-system-react/components/card/private/body' { + import React from 'react'; + type Props = { + /** + * Elements to place in the body. + */ + children?: React.ReactNode; + /** + * CSS classes to be added to the card. + */ + className?: any[] | Record | string; + /** + * Set the HTML `id` of the body. + */ + id?: string; + }; + + function Component(props: Props): React.ReactNode; + export default Component; +} diff --git a/components/card/private/body.js b/components/card/private/body.js new file mode 100644 index 0000000000..bfa710ce4b --- /dev/null +++ b/components/card/private/body.js @@ -0,0 +1,50 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = void 0; + +var _react = _interopRequireDefault(require("react")); + +var _propTypes = _interopRequireDefault(require("prop-types")); + +var _classnames = _interopRequireDefault(require("classnames")); + +var _constants = require("../../../utilities/constants"); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */ + +/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */ +// ### React +// ### classNames +// [github.com/JedWatson/classnames](https://github.com/JedWatson/classnames) +// This project uses `classnames`, "a simple javascript utility for conditionally joining classNames together." +var CardBody = function CardBody(props) { + return /*#__PURE__*/_react.default.createElement("div", { + className: (0, _classnames.default)('slds-card__body', props.className), + id: props.id + }, props.children); +}; + +CardBody.displayName = _constants.CARD_BODY; +CardBody.propTypes = { + /** + * Elements to place in the body. + */ + children: _propTypes.default.node, + + /** + * CSS classes to be added to the card. + */ + className: _propTypes.default.oneOfType([_propTypes.default.array, _propTypes.default.object, _propTypes.default.string]), + + /** + * Set the HTML `id` of the body. + */ + id: _propTypes.default.string +}; +var _default = CardBody; +exports.default = _default; \ No newline at end of file diff --git a/components/card/private/footer.d.ts b/components/card/private/footer.d.ts new file mode 100644 index 0000000000..51adf111ca --- /dev/null +++ b/components/card/private/footer.d.ts @@ -0,0 +1,12 @@ +declare module '@salesforce/design-system-react/components/card/private/footer' { + import React from 'react'; + type Props = { + /** + * Elements to place in the footer. + */ + children?: React.ReactNode; + }; + + function Component(props: Props): React.ReactNode; + export default Component; +} diff --git a/components/card/private/footer.js b/components/card/private/footer.js new file mode 100644 index 0000000000..0764355e1d --- /dev/null +++ b/components/card/private/footer.js @@ -0,0 +1,34 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = void 0; + +var _react = _interopRequireDefault(require("react")); + +var _propTypes = _interopRequireDefault(require("prop-types")); + +var _constants = require("../../../utilities/constants"); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */ + +/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */ +// ### React +var CardFooter = function CardFooter(props) { + return /*#__PURE__*/_react.default.createElement("div", { + className: "slds-card__footer" + }, props.children); +}; + +CardFooter.displayName = _constants.CARD_FOOTER; +CardFooter.propTypes = { + /** + * Elements to place in the footer. + */ + children: _propTypes.default.node +}; +var _default = CardFooter; +exports.default = _default; \ No newline at end of file diff --git a/components/card/private/header.d.ts b/components/card/private/header.d.ts new file mode 100644 index 0000000000..7635e2f70d --- /dev/null +++ b/components/card/private/header.d.ts @@ -0,0 +1,41 @@ +declare module '@salesforce/design-system-react/components/card/private/header' { + import React from 'react'; + type Props = { + /** + * Adds a filter input to the card header + */ + filter?: React.ReactNode; + /** + * Set the HTML `id` of the card filter. + */ + filterId?: string; + /** + * Allows a custom header (the media object with the icon in the first column). `icon`, `heading` and other props are passed in the media object from Card. Use `design-system-react/components/media-object` to create your own. + */ + header?: React.ReactNode; + /** + * Actions performed on selected items or that relate to the entire group of items such as "Add Item."" + */ + headerActions?: React.ReactNode; + /** + * Set the HTML `id` of the card header actions. + */ + headerActionsId?: string; + /** + * The heading is the name of the related item group. + */ + heading?: React.ReactElement | string; + /*.isRequired*/ + /** + * Set the HTML `id` of the card heading. + */ + headingId?: string; + /** + * Icon associated with grouped items + */ + icon?: React.ReactNode; + }; + + function Component(props: Props): React.ReactNode; + export default Component; +} diff --git a/components/card/private/header.js b/components/card/private/header.js new file mode 100644 index 0000000000..ca5ff78c54 --- /dev/null +++ b/components/card/private/header.js @@ -0,0 +1,139 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.idSuffixes = exports.default = void 0; + +var _react = _interopRequireDefault(require("react")); + +var _propTypes = _interopRequireDefault(require("prop-types")); + +var _classnames = _interopRequireDefault(require("classnames")); + +var _mediaObject = _interopRequireDefault(require("../../media-object")); + +var _constants = require("../../../utilities/constants"); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +// Allow for predicatable DOM queries with `querySelectorAll(cssClasses.base)` +var idSuffixes = { + headerActions: '__header-actions', + heading: '__heading', + filter: '__filter-input' +}; +exports.idSuffixes = idSuffixes; + +var renderFilter = function renderFilter(filter, id) { + // allow id to be set by custom header component passed in + var clonedFilter = /*#__PURE__*/_react.default.cloneElement(filter, { + id: filter.props.id || id + }); + + return /*#__PURE__*/_react.default.createElement("div", { + className: "slds-input-has-icon slds-input-has-icon_left slds-size_1-of-3" + }, clonedFilter); +}; + +renderFilter.displayName = 'renderFilter'; +/** + * Card Header is a private component and is not meant to be imported or used for Card's `header` prop. It just happens to have the same file name. + */ + +var CardHeader = function CardHeader(props) { + var title = null; + + if (typeof props.heading === 'string' || props.heading instanceof String) { + title = props.heading; + } + + var heading = /*#__PURE__*/_react.default.createElement("h2", { + id: props.headingId, + className: "slds-text-heading_small slds-truncate", + title: title + }, props.heading); + + var Header; + + if (props.header) { + Header = /*#__PURE__*/_react.default.cloneElement(props.header, _objectSpread({ + figure: props.icon, + body: heading, + verticalCenter: true, + canTruncate: true + }, props.header.props)); + } else { + Header = /*#__PURE__*/_react.default.createElement(_mediaObject.default, { + figure: props.icon, + body: heading, + verticalCenter: true, + canTruncate: true + }); + } + + var hasFilter = props.filter ? true : null; + return /*#__PURE__*/_react.default.createElement("div", { + className: (0, _classnames.default)('slds-card__header', 'slds-grid') + }, Header, props.filter ? renderFilter(props.filter, props.filterId) : null, /*#__PURE__*/_react.default.createElement("div", { + id: props.headerActionsId, + className: (0, _classnames.default)('slds-no-flex', { + 'slds-size_1-of-3': hasFilter, + 'slds-text-align_right': hasFilter + }) + }, props.headerActions)); +}; // ### Display Name +// Always use the canonical component name as the React display name. + + +CardHeader.displayName = _constants.CARD_HEADER; // ### Prop Types + +CardHeader.propTypes = { + /** + * Adds a filter input to the card header + */ + filter: _propTypes.default.node, + + /** + * Set the HTML `id` of the card filter. + */ + filterId: _propTypes.default.string, + + /** + * Allows a custom header (the media object with the icon in the first column). `icon`, `heading` and other props are passed in the media object from Card. Use `design-system-react/components/media-object` to create your own. + */ + header: _propTypes.default.node, + + /** + * Actions performed on selected items or that relate to the entire group of items such as "Add Item."" + */ + headerActions: _propTypes.default.node, + + /** + * Set the HTML `id` of the card header actions. + */ + headerActionsId: _propTypes.default.string, + + /** + * The heading is the name of the related item group. + */ + heading: _propTypes.default.oneOfType([_propTypes.default.element, _propTypes.default.string]).isRequired, + + /** + * Set the HTML `id` of the card heading. + */ + headingId: _propTypes.default.string, + + /** + * Icon associated with grouped items + */ + icon: _propTypes.default.node +}; +var _default = CardHeader; +exports.default = _default; \ No newline at end of file diff --git a/components/carousel.d.ts b/components/carousel.d.ts new file mode 100644 index 0000000000..22dbdeb372 --- /dev/null +++ b/components/carousel.d.ts @@ -0,0 +1,79 @@ +declare module '@salesforce/design-system-react/components/carousel' { + import React from 'react'; + type Props = { + /** + * Description of the carousel items for screen-readers. + */ + assistiveText?: Record; + /** + * Interval for the autoplay iteration + */ + autoplayInterval?: number; + /** + * CSS classes that are applied to the main 'slds-carousel' classed component container + */ + className?: any[] | Record | string; + /** + * Dictates the currently active/visible carousel panel. Use with `onRequestPanelChange` for a controlled carousel component. If not provided, the carousel will manage this itself via state. + */ + currentPanel?: number; + /** + * Boolean showing whether the autoplay button is available or not + */ + hasAutoplay?: boolean; + /** + * Boolean for displaying the navigation indicators (left/right arrows) of the carousel + */ + hasPreviousNextPanelNavigation?: boolean; + /** + * Id of component, if desired. If not provided an id is automatically generated + */ + id?: string; + /** + * Boolean that dictates whether autoplay is active or not. Use with `onRequestAutoplayToggle` for a controlled carousel component. + */ + isAutoplayOn?: boolean; + /** + * Boolean for infinite loop navigation. Note: if not true autoplay will stop automatically at the last panel. + */ + isInfinite?: boolean; + /** + * * **Array of item objects used by the default carousel item renderer.** + * Each object can contain: + * * `id`: The id of the carousel item. [REQUIRED] + * * `heading`: Primary string that will be used as the heading + * * `description`: Secondary string that is used to describe the item + * * `buttonLabel`: If assigned a call to button action will be rendered with this text, if unassigned no button is rendered + * * `imageAssistiveText`: Image alt text, if not present heading will be used instead + * * `href`: Used for item link, if not provided 'javascript:void(0);' is used instead + * * `src`: Item image src value + */ + items: any[] /*.isRequired*/; + /** + * Number of items to be displayed at a time in the carousel + */ + itemsPerPanel?: number; + /** + * Accepts a custom carousel item rendering function + */ + onRenderItem?: (v: any) => any; + /** + * Called whenever `isAutoplayOn` is requested to be toggled on or off. Use with `isAutoplayOn` prop for a controlled carousel component. Passes an event object and a data object with the current `isAutoplayOn` value as an attribute. + */ + onRequestAutoplayToggle?: (v: any) => any; + /** + * Called whenever the panel is requested to change due to user interaction or auto-play. Use with `currentPanel` for a controlled carousel component. Passes an event object and a data object with `currentPanel` and `requestedPanel` attributes. + */ + onRequestPanelChange?: (v: any) => any; + /** + * Handler for clicking on a carousel item + */ + onItemClick?: (v: any) => any; + }; + /** + * A carousel allows multiple pieces of featured content to occupy an allocated amount of space. + * Currently panel index and auto play cannot be controlled by the app. + */ + function Component(props: Props): React.ReactElement; + export default Component; +} diff --git a/components/carousel/__docs__/__snapshots__/storybook-stories.storyshot b/components/carousel/__docs__/__snapshots__/storybook-stories.storyshot new file mode 100644 index 0000000000..bf778b431b --- /dev/null +++ b/components/carousel/__docs__/__snapshots__/storybook-stories.storyshot @@ -0,0 +1,4799 @@ +// Jest Snapshot v1, https://goo.gl/fbAQLP + +exports[`DOM snapshots SLDSCarousel 3 items NoImageTest 1`] = ` +
    + +
    +`; + +exports[`DOM snapshots SLDSCarousel 3 items controlled isInfinite NoImageTest 1`] = ` +
    + +
    +`; + +exports[`DOM snapshots SLDSCarousel 5 items NoImageTest 1`] = ` +
    + +
    +`; + +exports[`DOM snapshots SLDSCarousel Default (1 item) NoImageTest 1`] = ` +
    + +
    +`; + +exports[`DOM snapshots SLDSCarousel Default with Autoplay NoImageTest 1`] = ` +
    + +
    +`; + +exports[`DOM snapshots SLDSCarousel Default with navigation indicators NoImageTest 1`] = ` +
    + +
    +`; + +exports[`DOM snapshots SLDSCarousel With custom items NoImageTest 1`] = ` +
    +
    + +
    +
    +`; diff --git a/components/carousel/__docs__/storybook-stories.jsx b/components/carousel/__docs__/storybook-stories.jsx new file mode 100644 index 0000000000..7653af5e95 --- /dev/null +++ b/components/carousel/__docs__/storybook-stories.jsx @@ -0,0 +1,30 @@ +import React from 'react'; +import { action } from '@storybook/addon-actions'; +import { storiesOf } from '@storybook/react'; + +import Default from '../__examples__/default'; +import DefaultWithAutoplay from '../__examples__/default-with-autoplay'; +import DefaultWithNavigation from '../__examples__/default-with-navigation'; +import FiveItems from '../__examples__/five-items'; +import ThreeItems from '../__examples__/three-items'; +import ThreeItemsControlled from '../__examples__/three-items-controlled'; +import WithCustomItems from '../__examples__/with-custom-items'; + +import { CAROUSEL } from '../../../utilities/constants'; + +storiesOf(CAROUSEL, module) + .add('Default (1 item) NoImageTest', () => ) + .add('Default with navigation indicators NoImageTest', () => ( + + )) + .add('Default with Autoplay NoImageTest', () => ( + + )) + .add('3 items NoImageTest', () => ) + .add('3 items controlled isInfinite NoImageTest', () => ( + + )) + .add('5 items NoImageTest', () => ) + .add('With custom items NoImageTest', () => ( + + )); diff --git a/components/carousel/__examples__/default-with-autoplay.jsx b/components/carousel/__examples__/default-with-autoplay.jsx new file mode 100644 index 0000000000..6868437a8c --- /dev/null +++ b/components/carousel/__examples__/default-with-autoplay.jsx @@ -0,0 +1,101 @@ +import React from 'react'; + +import Carousel from '~/components/carousel'; +import IconSettings from '~/components/icon-settings'; + +import log from '~/utilities/log'; + +const items = [ + { + id: 1, + heading: 'Visit App Exchange', + description: 'Extend Salesforce with the #1 business marketplace.', + imageAssistiveText: 'Appy', + src: '/assets/images/carousel/carousel-01.jpg', + href: 'https://www.salesforce.com', + }, + { + id: 2, + heading: 'Click to Customize', + description: + 'Use the Object Manager to add fields, build layouts, and more.', + imageAssistiveText: 'Apps', + src: '/assets/images/carousel/carousel-02.jpg', + href: 'https://www.salesforce.com', + }, + { + id: 3, + heading: 'Download Salesforce Apps', + description: "Get the mobile app that's just for Salesforce admins.", + imageAssistiveText: 'Salesforce Apps', + src: '/assets/images/carousel/carousel-03.jpg', + href: 'https://www.salesforce.com', + }, + { + id: 4, + heading: 'Carousel Item 4', + description: 'Description for carousel item #4', + imageAssistiveText: 'Apps', + src: '/assets/images/carousel/carousel-02.jpg', + href: 'https://www.salesforce.com', + }, + { + id: 5, + heading: 'Carousel Item 5', + description: 'Description for carousel item #5', + imageAssistiveText: 'Appy', + src: '/assets/images/carousel/carousel-01.jpg', + href: 'https://www.salesforce.com', + }, + { + id: 6, + heading: 'Carousel Item 6', + description: 'Description for carousel item #6', + imageAssistiveText: 'Salesforce Apps', + src: '/assets/images/carousel/carousel-03.jpg', + href: 'https://www.salesforce.com', + }, + { + id: 7, + heading: 'Carousel Item 7', + description: 'Description for carousel item #7', + imageAssistiveText: 'Apps', + src: '/assets/images/carousel/carousel-02.jpg', + href: 'https://www.salesforce.com', + }, +]; + +class Example extends React.Component { + static displayName = 'DefaultWithAutoplayExample'; + + render() { + return ( + +
    + { + event.preventDefault(); + log({ + action: this.props.action, + event, + eventName: 'Item Clicked', + data, + }); + }} + /> +
    +
    + ); + } +} + +export default Example; diff --git a/components/carousel/__examples__/default-with-navigation.jsx b/components/carousel/__examples__/default-with-navigation.jsx new file mode 100644 index 0000000000..e8091ceaeb --- /dev/null +++ b/components/carousel/__examples__/default-with-navigation.jsx @@ -0,0 +1,100 @@ +import React from 'react'; + +import Carousel from '~/components/carousel'; +import IconSettings from '~/components/icon-settings'; + +import log from '~/utilities/log'; + +const items = [ + { + id: 1, + heading: 'Visit App Exchange', + description: 'Extend Salesforce with the #1 business marketplace.', + imageAssistiveText: 'Appy', + src: '/assets/images/carousel/carousel-01.jpg', + href: 'https://www.salesforce.com', + }, + { + id: 2, + heading: 'Click to Customize', + description: + 'Use the Object Manager to add fields, build layouts, and more.', + imageAssistiveText: 'Apps', + src: '/assets/images/carousel/carousel-02.jpg', + href: 'https://www.salesforce.com', + }, + { + id: 3, + heading: 'Download Salesforce Apps', + description: "Get the mobile app that's just for Salesforce admins.", + imageAssistiveText: 'Salesforce Apps', + src: '/assets/images/carousel/carousel-03.jpg', + href: 'https://www.salesforce.com', + }, + { + id: 4, + heading: 'Carousel Item 4', + description: 'Description for carousel item #4', + imageAssistiveText: 'Apps', + src: '/assets/images/carousel/carousel-02.jpg', + href: 'https://www.salesforce.com', + }, + { + id: 5, + heading: 'Carousel Item 5', + description: 'Description for carousel item #5', + imageAssistiveText: 'Appy', + src: '/assets/images/carousel/carousel-01.jpg', + href: 'https://www.salesforce.com', + }, + { + id: 6, + heading: 'Carousel Item 6', + description: 'Description for carousel item #6', + imageAssistiveText: 'Salesforce Apps', + src: '/assets/images/carousel/carousel-03.jpg', + href: 'https://www.salesforce.com', + }, + { + id: 7, + heading: 'Carousel Item 7', + description: 'Description for carousel item #7', + imageAssistiveText: 'Apps', + src: '/assets/images/carousel/carousel-02.jpg', + href: 'https://www.salesforce.com', + }, +]; + +class Example extends React.Component { + static displayName = 'DefaultWithNavigationExample'; + + render() { + return ( + +
    + { + event.preventDefault(); + log({ + action: this.props.action, + event, + eventName: 'Item Clicked', + data, + }); + }} + /> +
    +
    + ); + } +} + +export default Example; diff --git a/components/carousel/__examples__/default.jsx b/components/carousel/__examples__/default.jsx new file mode 100644 index 0000000000..4cda716b78 --- /dev/null +++ b/components/carousel/__examples__/default.jsx @@ -0,0 +1,99 @@ +import React from 'react'; + +import Carousel from '~/components/carousel'; +import IconSettings from '~/components/icon-settings'; + +import log from '~/utilities/log'; + +const items = [ + { + id: 1, + heading: 'Visit App Exchange', + description: 'Extend Salesforce with the #1 business marketplace.', + imageAssistiveText: 'Appy', + src: '/assets/images/carousel/carousel-01.jpg', + href: 'https://www.salesforce.com', + }, + { + id: 2, + heading: 'Click to Customize', + description: + 'Use the Object Manager to add fields, build layouts, and more.', + imageAssistiveText: 'Apps', + src: '/assets/images/carousel/carousel-02.jpg', + href: 'https://www.salesforce.com', + }, + { + id: 3, + heading: 'Download Salesforce Apps', + description: "Get the mobile app that's just for Salesforce admins.", + imageAssistiveText: 'Salesforce Apps', + src: '/assets/images/carousel/carousel-03.jpg', + href: 'https://www.salesforce.com', + }, + { + id: 4, + heading: 'Carousel Item 4', + description: 'Description for carousel item #4', + imageAssistiveText: 'Apps', + src: '/assets/images/carousel/carousel-02.jpg', + href: 'https://www.salesforce.com', + }, + { + id: 5, + heading: 'Carousel Item 5', + description: 'Description for carousel item #5', + imageAssistiveText: 'Appy', + src: '/assets/images/carousel/carousel-01.jpg', + href: 'https://www.salesforce.com', + }, + { + id: 6, + heading: 'Carousel Item 6', + description: 'Description for carousel item #6', + imageAssistiveText: 'Salesforce Apps', + src: '/assets/images/carousel/carousel-03.jpg', + href: 'https://www.salesforce.com', + }, + { + id: 7, + heading: 'Carousel Item 7', + description: 'Description for carousel item #7', + imageAssistiveText: 'Apps', + src: '/assets/images/carousel/carousel-02.jpg', + href: 'https://www.salesforce.com', + }, +]; + +class Example extends React.Component { + static displayName = 'DefaultExample'; + + render() { + return ( + +
    + { + event.preventDefault(); + log({ + action: this.props.action, + event, + eventName: 'Item Clicked', + data, + }); + }} + /> +
    +
    + ); + } +} + +export default Example; diff --git a/components/carousel/__examples__/five-items.jsx b/components/carousel/__examples__/five-items.jsx new file mode 100644 index 0000000000..7d623a1466 --- /dev/null +++ b/components/carousel/__examples__/five-items.jsx @@ -0,0 +1,108 @@ +import React from 'react'; + +import Carousel from '~/components/carousel'; +import IconSettings from '~/components/icon-settings'; + +import log from '~/utilities/log'; + +const items = [ + { + buttonLabel: 'Get Started', + id: 1, + heading: 'Visit App Exchange', + description: 'Extend Salesforce with the #1 business marketplace.', + imageAssistiveText: 'Appy', + src: '/assets/images/carousel/carousel-01.jpg', + href: 'https://www.salesforce.com', + }, + { + buttonLabel: 'Get Started', + id: 2, + heading: 'Click to Customize', + description: + 'Use the Object Manager to add fields, build layouts, and more.', + imageAssistiveText: 'Apps', + src: '/assets/images/carousel/carousel-02.jpg', + href: 'https://www.salesforce.com', + }, + { + buttonLabel: 'Get Started', + id: 3, + heading: 'Download Salesforce Apps', + description: "Get the mobile app that's just for Salesforce admins.", + imageAssistiveText: 'Salesforce Apps', + src: '/assets/images/carousel/carousel-03.jpg', + href: 'https://www.salesforce.com', + }, + { + buttonLabel: 'Get Started', + id: 4, + heading: 'Carousel Item 4', + description: 'Description for carousel item #4', + imageAssistiveText: 'Apps', + src: '/assets/images/carousel/carousel-02.jpg', + href: 'https://www.salesforce.com', + }, + { + buttonLabel: 'Learn More', + id: 5, + heading: 'Carousel Item 5', + description: 'Description for carousel item #5', + imageAssistiveText: 'Appy', + src: '/assets/images/carousel/carousel-01.jpg', + href: 'https://www.salesforce.com', + }, + { + buttonLabel: 'Learn More', + id: 6, + heading: 'Carousel Item 6', + description: 'Description for carousel item #6', + imageAssistiveText: 'Salesforce Apps', + src: '/assets/images/carousel/carousel-03.jpg', + href: 'https://www.salesforce.com', + }, + { + buttonLabel: 'Learn More', + id: 7, + heading: 'Carousel Item 7', + description: 'Description for carousel item #7', + imageAssistiveText: 'Apps', + src: '/assets/images/carousel/carousel-02.jpg', + href: 'https://www.salesforce.com', + }, +]; + +class Example extends React.Component { + static displayName = 'FiveItemsExample'; + + render() { + return ( + +
    + { + event.preventDefault(); + log({ + action: this.props.action, + event, + eventName: 'Item Clicked', + data, + }); + }} + /> +
    +
    + ); + } +} + +export default Example; diff --git a/components/carousel/__examples__/three-items-controlled.jsx b/components/carousel/__examples__/three-items-controlled.jsx new file mode 100644 index 0000000000..b6523dce07 --- /dev/null +++ b/components/carousel/__examples__/three-items-controlled.jsx @@ -0,0 +1,138 @@ +import React from 'react'; + +import Carousel from '~/components/carousel'; +import IconSettings from '~/components/icon-settings'; + +import log from '~/utilities/log'; + +const items = [ + { + buttonLabel: 'Get Started', + id: 1, + heading: 'Visit App Exchange', + description: 'Extend Salesforce with the #1 business marketplace.', + imageAssistiveText: 'Appy', + src: '/assets/images/carousel/carousel-01.jpg', + href: 'https://www.salesforce.com', + }, + { + buttonLabel: 'Get Started', + id: 2, + heading: 'Click to Customize', + description: + 'Use the Object Manager to add fields, build layouts, and more.', + imageAssistiveText: 'Apps', + src: '/assets/images/carousel/carousel-02.jpg', + href: 'https://www.salesforce.com', + }, + { + buttonLabel: 'Get Started', + id: 3, + heading: 'Download Salesforce Apps', + description: "Get the mobile app that's just for Salesforce admins.", + imageAssistiveText: 'Salesforce Apps', + src: '/assets/images/carousel/carousel-03.jpg', + href: 'https://www.salesforce.com', + }, + { + buttonLabel: 'Get Started', + id: 4, + heading: 'Carousel Item 4', + description: 'Description for carousel item #4', + imageAssistiveText: 'Apps', + src: '/assets/images/carousel/carousel-02.jpg', + href: 'https://www.salesforce.com', + }, + { + buttonLabel: 'Learn More', + id: 5, + heading: 'Carousel Item 5', + description: 'Description for carousel item #5', + imageAssistiveText: 'Appy', + src: '/assets/images/carousel/carousel-01.jpg', + href: 'https://www.salesforce.com', + }, + { + buttonLabel: 'Learn More', + id: 6, + heading: 'Carousel Item 6', + description: 'Description for carousel item #6', + imageAssistiveText: 'Salesforce Apps', + src: '/assets/images/carousel/carousel-03.jpg', + href: 'https://www.salesforce.com', + }, + { + buttonLabel: 'Learn More', + id: 7, + heading: 'Carousel Item 7', + description: 'Description for carousel item #7', + imageAssistiveText: 'Apps', + src: '/assets/images/carousel/carousel-02.jpg', + href: 'https://www.salesforce.com', + }, +]; + +class Example extends React.Component { + static displayName = 'ThreeItemsControlledExample'; + + constructor(props) { + super(props); + this.state = { + currentPanel: 1, + isAutoplayOn: false, + }; + } + + render() { + return ( + +
    + { + event.preventDefault(); + log({ + action: this.props.action, + event, + eventName: 'Item Clicked', + data, + }); + }} + onRequestAutoplayToggle={(event, data) => { + log({ + action: this.props.action, + event, + eventName: 'On Request Autoplay Toggle', + data, + }); + this.setState({ isAutoplayOn: !data.isAutoplayOn }); + }} + onRequestPanelChange={(event, data) => { + log({ + action: this.props.action, + event, + eventName: 'On Request Panel Change', + data, + }); + this.setState({ currentPanel: data.requestedPanel }); + }} + /> +
    +
    + ); + } +} + +export default Example; diff --git a/components/carousel/__examples__/three-items.jsx b/components/carousel/__examples__/three-items.jsx new file mode 100644 index 0000000000..fae6777b51 --- /dev/null +++ b/components/carousel/__examples__/three-items.jsx @@ -0,0 +1,108 @@ +import React from 'react'; + +import Carousel from '~/components/carousel'; +import IconSettings from '~/components/icon-settings'; + +import log from '~/utilities/log'; + +const items = [ + { + buttonLabel: 'Get Started', + id: 1, + heading: 'Visit App Exchange', + description: 'Extend Salesforce with the #1 business marketplace.', + imageAssistiveText: 'Appy', + src: '/assets/images/carousel/carousel-01.jpg', + href: 'https://www.salesforce.com', + }, + { + buttonLabel: 'Get Started', + id: 2, + heading: 'Click to Customize', + description: + 'Use the Object Manager to add fields, build layouts, and more.', + imageAssistiveText: 'Apps', + src: '/assets/images/carousel/carousel-02.jpg', + href: 'https://www.salesforce.com', + }, + { + buttonLabel: 'Get Started', + id: 3, + heading: 'Download Salesforce Apps', + description: "Get the mobile app that's just for Salesforce admins.", + imageAssistiveText: 'Salesforce Apps', + src: '/assets/images/carousel/carousel-03.jpg', + href: 'https://www.salesforce.com', + }, + { + buttonLabel: 'Get Started', + id: 4, + heading: 'Carousel Item 4', + description: 'Description for carousel item #4', + imageAssistiveText: 'Apps', + src: '/assets/images/carousel/carousel-02.jpg', + href: 'https://www.salesforce.com', + }, + { + buttonLabel: 'Learn More', + id: 5, + heading: 'Carousel Item 5', + description: 'Description for carousel item #5', + imageAssistiveText: 'Appy', + src: '/assets/images/carousel/carousel-01.jpg', + href: 'https://www.salesforce.com', + }, + { + buttonLabel: 'Learn More', + id: 6, + heading: 'Carousel Item 6', + description: 'Description for carousel item #6', + imageAssistiveText: 'Salesforce Apps', + src: '/assets/images/carousel/carousel-03.jpg', + href: 'https://www.salesforce.com', + }, + { + buttonLabel: 'Learn More', + id: 7, + heading: 'Carousel Item 7', + description: 'Description for carousel item #7', + imageAssistiveText: 'Apps', + src: '/assets/images/carousel/carousel-02.jpg', + href: 'https://www.salesforce.com', + }, +]; + +class Example extends React.Component { + static displayName = 'ThreeItemsExample'; + + render() { + return ( + +
    + { + event.preventDefault(); + log({ + action: this.props.action, + event, + eventName: 'Item Clicked', + data, + }); + }} + /> +
    +
    + ); + } +} + +export default Example; diff --git a/components/carousel/__examples__/with-custom-items.jsx b/components/carousel/__examples__/with-custom-items.jsx new file mode 100644 index 0000000000..7280e9cf97 --- /dev/null +++ b/components/carousel/__examples__/with-custom-items.jsx @@ -0,0 +1,155 @@ +import React from 'react'; + +import Button from '~/components/button'; +import Carousel from '~/components/carousel'; +import IconSettings from '~/components/icon-settings'; + +import log from '~/utilities/log'; + +const items = [ + { + buttonLabel: 'Get Started', + id: 1, + heading: 'Visit App Exchange', + description: 'Extend Salesforce with the #1 business marketplace.', + imageAssistiveText: 'Appy', + src: '/assets/images/carousel/carousel-01.jpg', + href: 'https://www.salesforce.com', + }, + { + buttonLabel: 'Get Started', + id: 2, + heading: 'Click to Customize', + description: + 'Use the Object Manager to add fields, build layouts, and more.', + imageAssistiveText: 'Apps', + src: '/assets/images/carousel/carousel-02.jpg', + href: 'https://www.salesforce.com', + }, + { + buttonLabel: 'Get Started', + id: 3, + heading: 'Download Salesforce Apps', + description: "Get the mobile app that's just for Salesforce admins.", + imageAssistiveText: 'Salesforce Apps', + src: '/assets/images/carousel/carousel-03.jpg', + href: 'https://www.salesforce.com', + }, + { + buttonLabel: 'Get Started', + id: 4, + heading: 'Carousel Item 4', + description: 'Description for carousel item #4', + imageAssistiveText: 'Apps', + src: '/assets/images/carousel/carousel-02.jpg', + href: 'https://www.salesforce.com', + }, + { + buttonLabel: 'Learn More', + id: 5, + heading: 'Carousel Item 5', + description: 'Description for carousel item #5', + imageAssistiveText: 'Appy', + src: '/assets/images/carousel/carousel-01.jpg', + href: 'https://www.salesforce.com', + }, + { + buttonLabel: 'Learn More', + id: 6, + heading: 'Carousel Item 6', + description: 'Description for carousel item #6', + imageAssistiveText: 'Salesforce Apps', + src: '/assets/images/carousel/carousel-03.jpg', + href: 'https://www.salesforce.com', + }, + { + buttonLabel: 'Learn More', + id: 7, + heading: 'Carousel Item 7', + description: 'Description for carousel item #7', + imageAssistiveText: 'Apps', + src: '/assets/images/carousel/carousel-02.jpg', + href: 'https://www.salesforce.com', + }, +]; + +class Example extends React.Component { + static displayName = 'WithCustomItemsExample'; + + renderCustomItem = ({ item }) => { + const onButtonClick = (event) => { + event.preventDefault(); + log({ + action: this.props.action, + event, + eventName: 'Button Clicked', + data: { item }, + }); + }; + + return ( +
    +
    {item.heading}
    +
    + {item.imageAssistiveText} +
    +
    + ); + }; + + render() { + return ( +
    + +
    + +
    +
    +
    + ); + } +} + +export default Example; diff --git a/components/carousel/component.json b/components/carousel/component.json new file mode 100644 index 0000000000..7d97494e84 --- /dev/null +++ b/components/carousel/component.json @@ -0,0 +1,22 @@ +{ + "component": "carousel", + "status": "prod", + "display-name": "Carousel", + "classKey": "Carousel", + "SLDS-component-path": "/components/carousel", + "site-stories": [ + { + "heading": "Three Items", + "path": "/__examples__/three-items.jsx" + }, + { + "heading": "Default", + "path": "/__examples__/default.jsx" + }, + { + "heading": "With Navigation", + "path": "/__examples__/default-with-navigation.jsx" + } + ], + "url-slug": "carousel" +} diff --git a/components/carousel/index.js b/components/carousel/index.js new file mode 100644 index 0000000000..8e5ecd98c7 --- /dev/null +++ b/components/carousel/index.js @@ -0,0 +1,544 @@ +"use strict"; + +function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = void 0; + +var _react = _interopRequireDefault(require("react")); + +var _propTypes = _interopRequireDefault(require("prop-types")); + +var _classnames = _interopRequireDefault(require("classnames")); + +var _shortid = _interopRequireDefault(require("shortid")); + +var _constants = require("../../utilities/constants"); + +var _executionEnvironment = require("../../utilities/execution-environment"); + +var _carouselIndicators = _interopRequireDefault(require("./private/carousel-indicators")); + +var _previousNextCarouselNavigator = _interopRequireDefault(require("./private/previous-next-carousel-navigator")); + +var _carouselItem = _interopRequireDefault(require("./private/carousel-item")); + +var _autoPlayButton = _interopRequireDefault(require("./private/auto-play-button")); + +var _keyCode = _interopRequireDefault(require("../../utilities/key-code")); + +var _event = _interopRequireDefault(require("../../utilities/event")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); } + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } + +function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); } + +function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } + +function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; } + +function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } + +function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } } + +function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +/* eslint-disable jsx-a11y/no-static-element-interactions */ +// ### Default Props +var defaultProps = { + assistiveText: { + autoplayButton: 'Start / Stop auto-play', + nextPanel: 'Next Panel', + previousPanel: 'Previous Panel' + }, + autoplayInterval: 4000, + hasAutoplay: false, + hasPreviousNextPanelNavigation: false, + isInfinite: false, + itemsPerPanel: 1 +}; +/** + * A carousel allows multiple pieces of featured content to occupy an allocated amount of space. + * Currently panel index and auto play cannot be controlled by the app. + */ + +var Carousel = /*#__PURE__*/function (_React$Component) { + _inherits(Carousel, _React$Component); + + var _super = _createSuper(Carousel); + + // ### Display Name + // Always use the canonical component name as the React display name. + // ### Prop Types + // ### Default Props + function Carousel(props) { + var _this; + + _classCallCheck(this, Carousel); + + _this = _super.call(this, props); + + _defineProperty(_assertThisInitialized(_this), "onNextPanelHandler", function (event) { + var next = _this.getCurrentPanel() + 1; + + if (next > _this.nrOfPanels - 1) { + next = 0; + } + + _this.setCurrentPanel(event, next, _this.changeTranslationAutomatically); + }); + + _defineProperty(_assertThisInitialized(_this), "onPreviousPanelHandler", function (event) { + var prev = _this.getCurrentPanel() - 1; + + if (prev < 0) { + prev = _this.nrOfPanels - 1; + } + + _this.setCurrentPanel(event, prev, _this.changeTranslationAutomatically); + }); + + _defineProperty(_assertThisInitialized(_this), "onIndicatorBlur", function () { + _this.setState({ + indicatorsHaveFocus: false + }); + }); + + _defineProperty(_assertThisInitialized(_this), "onIndicatorClickHandler", function (event, panel) { + _this.setCurrentPanel(event, panel, _this.changeTranslationAutomatically); + + _this.setState({ + indicatorsHaveFocus: true + }); + + if (_this.getIsAutoplayOn()) { + _this.stopAutoplay(event); + } + }); + + _defineProperty(_assertThisInitialized(_this), "onIndicatorFocus", function (event) { + _this.setState({ + indicatorsHaveFocus: true + }); + + if (_this.getIsAutoplayOn()) { + _this.stopAutoplay(event); + } + }); + + _defineProperty(_assertThisInitialized(_this), "onAutoplayBtnClick", function (event) { + var isAutoplayOn = _this.getIsAutoplayOn(); + + if (_this.props.onRequestAutoplayToggle) { + _this.props.onRequestAutoplayToggle(event, { + isAutoplayOn: isAutoplayOn + }); + } else { + var actionToTake = isAutoplayOn ? _this.stopAutoplay : _this.startAutoplay; + + _this.setState({ + isAutoplayOn: !isAutoplayOn + }); + + actionToTake(event); + } + }); + + _defineProperty(_assertThisInitialized(_this), "getPanelId", function (_ref) { + var carouselId = _ref.carouselId, + itemId = _ref.itemId; + return "content-id-".concat(carouselId, "-").concat(itemId); + }); + + _defineProperty(_assertThisInitialized(_this), "setDimensions", function () { + if (_executionEnvironment.canUseDOM && _this.stageItem !== undefined && _this.stageItem.current !== undefined && _this.stageItem.current.offsetWidth !== undefined) { + _this.setState({ + stageWidth: _this.stageItem.current.offsetWidth + }, _this.changeTranslationAutomatically); + } + }); + + _defineProperty(_assertThisInitialized(_this), "setTranslationAmount", function (amount, cb) { + _this.setState({ + translateX: amount + }, cb); + }); + + _defineProperty(_assertThisInitialized(_this), "setCurrentPanel", function (event, amount, cb) { + if (_this.props.onRequestPanelChange) { + _this.props.onRequestPanelChange(event, { + currentPanel: _this.getCurrentPanel(), + requestedPanel: amount + }); + } else { + _this.setState({ + currentPanel: amount + }, cb); + } + }); + + _defineProperty(_assertThisInitialized(_this), "startAutoplay", function (event) { + _this.autoplayId = setInterval(function () { + if (_this.canGoToNext()) { + _this.onNextPanelHandler(event); + } else if (_this.props.isInfinite) { + _this.setCurrentPanel(event, 0, _this.changeTranslationAutomatically); + } else { + _this.stopAutoplay(event); + } + }, _this.props.autoplayInterval); + }); + + _defineProperty(_assertThisInitialized(_this), "stopAutoplay", function (event, ignoreCallbacksAndStateUpdates) { + if (_this.autoplayId) { + clearInterval(_this.autoplayId); + } + + if (!ignoreCallbacksAndStateUpdates) { + if (_this.props.onRequestAutoplayToggle) { + _this.props.onRequestAutoplayToggle(event, { + isAutoplayOn: _this.getIsAutoplayOn() + }); + } else { + _this.setState({ + isAutoplayOn: false + }); + } + } + }); + + _defineProperty(_assertThisInitialized(_this), "changeTranslationAutomatically", function () { + _this.setTranslationAmount(-((_this.state.stageWidth || _this.stageWidth) * _this.getCurrentPanel())); + }); + + _defineProperty(_assertThisInitialized(_this), "canGoToNext", function () { + return _this.getCurrentPanel() < _this.nrOfPanels - 1; + }); + + _defineProperty(_assertThisInitialized(_this), "canGoToPrevious", function () { + return _this.getCurrentPanel() > 0; + }); + + _defineProperty(_assertThisInitialized(_this), "handleKeyDown", function (event) { + var _keyDownCallbacks; + + var keyDownCallbacks = (_keyDownCallbacks = {}, _defineProperty(_keyDownCallbacks, _keyCode.default.LEFT, function () { + if (_this.props.isInfinite || _this.canGoToPrevious()) { + _this.onPreviousPanelHandler(event); + + _this.setState({ + indicatorsHaveFocus: true + }); + + if (_this.getIsAutoplayOn()) { + _this.stopAutoplay(event); + } + } + }), _defineProperty(_keyDownCallbacks, _keyCode.default.RIGHT, function () { + if (_this.props.isInfinite || _this.canGoToNext()) { + _this.onNextPanelHandler(event); + + _this.setState({ + indicatorsHaveFocus: true + }); + + if (_this.getIsAutoplayOn()) { + _this.stopAutoplay(event); + } + } + }), _keyDownCallbacks); + + if (keyDownCallbacks[event.keyCode]) { + _event.default.trapImmediate(event); + + keyDownCallbacks[event.keyCode](); + } + }); + + _this.nrOfPanels = Math.ceil(props.items.length / props.itemsPerPanel); + _this.stageItem = /*#__PURE__*/_react.default.createRef(); + _this.state = { + currentPanel: props.currentPanel !== undefined ? props.currentPanel : 0, + indicatorsHaveFocus: false, + isAutoplayOn: props.isAutoplayOn !== undefined ? props.isAutoplayOn : props.hasAutoplay, + stageWidth: 0, + translateX: -1000000 + }; + _this.generatedId = _shortid.default.generate(); + return _this; + } + + _createClass(Carousel, [{ + key: "componentDidMount", + value: function componentDidMount() { + if (_executionEnvironment.canUseDOM && this.stageItem !== undefined && this.stageItem.current !== undefined && this.stageItem.current.offsetWidth !== undefined) { + this.stageWidth = this.stageItem.current.offsetWidth; + } + + if (_executionEnvironment.canUseEventListeners) { + window.addEventListener('resize', this.setDimensions, false); + } + + this.changeTranslationAutomatically(); + + if (this.getIsAutoplayOn()) { + this.startAutoplay({ + mountAutoplayEvent: true + }); + } + } + }, { + key: "componentDidUpdate", + value: function componentDidUpdate(prevProps) { + if (this.props.currentPanel !== undefined && prevProps.currentPanel !== this.props.currentPanel) { + this.changeTranslationAutomatically(); + } + + if (this.props.isAutoplayOn !== undefined && prevProps.isAutoplayOn !== this.props.isAutoplayOn) { + if (this.props.isAutoplayOn) { + this.startAutoplay({ + updateAutoplayEvent: true + }); + } else { + this.stopAutoplay({ + updateAutoplayEvent: true + }, true); + } + } + + if (prevProps.items.length !== this.props.items.length || prevProps.itemsPerPanel !== this.props.itemsPerPanel) { + this.nrOfPanels = Math.ceil(this.props.items.length / this.props.itemsPerPanel); + } + } + }, { + key: "componentWillUnmount", + value: function componentWillUnmount() { + if (_executionEnvironment.canUseEventListeners) { + window.removeEventListener('resize', this.setDimensions, false); + } + + this.stopAutoplay({ + unmountAutoplayEvent: true + }, true); + } + }, { + key: "getCurrentPanel", + value: function getCurrentPanel() { + return this.props.currentPanel !== undefined ? this.props.currentPanel : this.state.currentPanel; + } + }, { + key: "getIsAutoplayOn", + value: function getIsAutoplayOn() { + return this.props.isAutoplayOn !== undefined ? this.props.isAutoplayOn : this.state.isAutoplayOn; + } + }, { + key: "render", + value: function render() { + var _this2 = this; + + var _this$props = this.props, + hasAutoplay = _this$props.hasAutoplay, + hasPreviousNextPanelNavigation = _this$props.hasPreviousNextPanelNavigation, + isInfinite = _this$props.isInfinite; + var currentPanel = this.getCurrentPanel(); + var id = this.props.id || this.generatedId; + var isPreviousBtnDisabled = !(isInfinite || this.canGoToPrevious()); + var isNextBtnDisabled = !(isInfinite || this.canGoToNext()); + var itemWidth = (this.state.stageWidth || this.stageWidth) / this.props.itemsPerPanel; + var carouselMargins = hasPreviousNextPanelNavigation ? { + marginLeft: '44px', + marginRight: '44px' + } : {}; + return /*#__PURE__*/_react.default.createElement("div", { + className: (0, _classnames.default)('slds-carousel', this.props.className), + id: id, + onKeyDown: this.handleKeyDown + }, /*#__PURE__*/_react.default.createElement("div", { + className: "slds-grid_vertical slds-col slds-path__scroller" + }, hasAutoplay && /*#__PURE__*/_react.default.createElement(_autoPlayButton.default, { + assistiveText: this.props.assistiveText.autoplayButton, + isAutoplayOn: this.getIsAutoplayOn(), + onClick: this.onAutoplayBtnClick + }), /*#__PURE__*/_react.default.createElement("div", { + className: "slds-is-relative", + style: carouselMargins + }, hasPreviousNextPanelNavigation && /*#__PURE__*/_react.default.createElement(_previousNextCarouselNavigator.default, { + assistiveText: this.props.assistiveText.previousPanel, + iconName: "chevronleft", + isDisabled: isPreviousBtnDisabled, + onClick: function onClick(event) { + if (_this2.getIsAutoplayOn()) { + _this2.stopAutoplay(event); + } + + _this2.onPreviousPanelHandler(event); + }, + inlineStyle: { + left: '-38px' + } + }), /*#__PURE__*/_react.default.createElement("div", { + ref: this.stageItem, + className: "slds-carousel__stage slds-show" + }, /*#__PURE__*/_react.default.createElement("div", { + className: "slds-carousel__panels slds-is-relative", + style: { + transform: "translateX(".concat(this.state.translateX, "px)") + } + }, this.props.items.map(function (item, index) { + return /*#__PURE__*/_react.default.createElement(_carouselItem.default, _extends({ + carouselId: id, + getPanelId: _this2.getPanelId, + onClick: function onClick(event) { + _this2.props.onItemClick(event, { + item: item + }); + }, + onFocus: function onFocus(event) { + if (_this2.getIsAutoplayOn()) { + _this2.stopAutoplay(event); + } + }, + onRenderItem: _this2.props.onRenderItem + }, item, { + isInCurrentPanel: index >= currentPanel * _this2.props.itemsPerPanel && index < currentPanel * _this2.props.itemsPerPanel + _this2.props.itemsPerPanel, + itemWidth: itemWidth, + key: item.id, + panelIndex: Math.ceil((index + 1) / _this2.props.itemsPerPanel) - 1 + })); + }))), hasPreviousNextPanelNavigation && /*#__PURE__*/_react.default.createElement(_previousNextCarouselNavigator.default, { + assistiveText: this.props.assistiveText.nextPanel, + iconName: "chevronright", + isDisabled: isNextBtnDisabled, + onClick: function onClick(event) { + if (_this2.getIsAutoplayOn()) { + _this2.stopAutoplay(event); + } + + _this2.onNextPanelHandler(event); + }, + inlineStyle: { + right: '-38px' + } + })), /*#__PURE__*/_react.default.createElement(_carouselIndicators.default, { + noOfIndicators: this.nrOfPanels, + carouselId: id, + currentIndex: currentPanel, + getPanelId: this.getPanelId, + hasFocus: this.state.indicatorsHaveFocus, + onBlur: this.onIndicatorBlur, + onClick: this.onIndicatorClickHandler, + onFocus: this.onIndicatorFocus, + items: this.props.items, + itemsPerPanel: this.props.itemsPerPanel + }))); + } + }]); + + return Carousel; +}(_react.default.Component); + +_defineProperty(Carousel, "displayName", _constants.CAROUSEL); + +_defineProperty(Carousel, "propTypes", { + /** + * Description of the carousel items for screen-readers. + */ + assistiveText: _propTypes.default.object, + + /** + * Interval for the autoplay iteration + */ + autoplayInterval: _propTypes.default.number, + + /** + * CSS classes that are applied to the main 'slds-carousel' classed component container + */ + className: _propTypes.default.oneOfType([_propTypes.default.array, _propTypes.default.object, _propTypes.default.string]), + + /** + * Dictates the currently active/visible carousel panel. Use with `onRequestPanelChange` for a controlled carousel component. If not provided, the carousel will manage this itself via state. + */ + currentPanel: _propTypes.default.number, + + /** + * Boolean showing whether the autoplay button is available or not + */ + hasAutoplay: _propTypes.default.bool, + + /** + * Boolean for displaying the navigation indicators (left/right arrows) of the carousel + */ + hasPreviousNextPanelNavigation: _propTypes.default.bool, + + /** + * Id of component, if desired. If not provided an id is automatically generated + */ + id: _propTypes.default.string, + + /** + * Boolean that dictates whether autoplay is active or not. Use with `onRequestAutoplayToggle` for a controlled carousel component. + */ + isAutoplayOn: _propTypes.default.bool, + + /** + * Boolean for infinite loop navigation. Note: if not true autoplay will stop automatically at the last panel. + */ + isInfinite: _propTypes.default.bool, + + /** + * * **Array of item objects used by the default carousel item renderer.** + * Each object can contain: + * * `id`: The id of the carousel item. [REQUIRED] + * * `heading`: Primary string that will be used as the heading + * * `description`: Secondary string that is used to describe the item + * * `buttonLabel`: If assigned a call to button action will be rendered with this text, if unassigned no button is rendered + * * `imageAssistiveText`: Image alt text, if not present heading will be used instead + * * `href`: Used for item link, if not provided 'javascript:void(0);' is used instead + * * `src`: Item image src value + */ + items: _propTypes.default.array.isRequired, + + /** + * Number of items to be displayed at a time in the carousel + */ + itemsPerPanel: _propTypes.default.number, + + /** + * Accepts a custom carousel item rendering function + */ + onRenderItem: _propTypes.default.func, + + /** + * Called whenever `isAutoplayOn` is requested to be toggled on or off. Use with `isAutoplayOn` prop for a controlled carousel component. Passes an event object and a data object with the current `isAutoplayOn` value as an attribute. + */ + onRequestAutoplayToggle: _propTypes.default.func, + + /** + * Called whenever the panel is requested to change due to user interaction or auto-play. Use with `currentPanel` for a controlled carousel component. Passes an event object and a data object with `currentPanel` and `requestedPanel` attributes. + */ + onRequestPanelChange: _propTypes.default.func, + + /** + * Handler for clicking on a carousel item + */ + onItemClick: _propTypes.default.func +}); + +_defineProperty(Carousel, "defaultProps", defaultProps); + +var _default = Carousel; +exports.default = _default; \ No newline at end of file diff --git a/components/carousel/private/auto-play-button.d.ts b/components/carousel/private/auto-play-button.d.ts new file mode 100644 index 0000000000..578c44015b --- /dev/null +++ b/components/carousel/private/auto-play-button.d.ts @@ -0,0 +1,20 @@ +declare module '@salesforce/design-system-react/components/carousel/private/auto-play-button' { + import React from 'react'; + type Props = { + /** + * Description of the start/pause autoplay button for screen-readers. + */ + assistiveText?: string; + /** + * Indicates whether autoplay is enabled + */ + isAutoplayOn?: boolean; + /** + * Triggered when the autoplay button is clicked. + */ + onClick?: (v: any) => any; + }; + + function Component(props: Props): React.ReactNode; + export default Component; +} diff --git a/components/carousel/private/auto-play-button.js b/components/carousel/private/auto-play-button.js new file mode 100644 index 0000000000..fea0ac579a --- /dev/null +++ b/components/carousel/private/auto-play-button.js @@ -0,0 +1,69 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = void 0; + +var _react = _interopRequireDefault(require("react")); + +var _propTypes = _interopRequireDefault(require("prop-types")); + +var _button = _interopRequireDefault(require("../../../components/button")); + +var _constants = require("../../../utilities/constants"); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */ + +/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */ +// ### React + +/** + * AutoplayButton is used to start/pause the autoplay iteration of the carousel + */ +var AutoplayButton = function AutoplayButton(props) { + return /*#__PURE__*/_react.default.createElement("span", { + className: "slds-carousel__autoplay", + style: { + left: '66px' + } + }, /*#__PURE__*/_react.default.createElement(_button.default, { + assistiveText: { + icon: props.assistiveText + }, + className: "slds-button_icon", + disabled: props.isDisabled, + iconCategory: "utility", + iconName: props.isAutoplayOn ? 'pause' : 'play', + iconVariant: "border-filled", + iconSize: "x-small", + onClick: props.onClick, + variant: "icon" + })); +}; + +AutoplayButton.displayName = _constants.CAROUSEL_AUTOPLAY_BUTTON; // ### Prop Types + +AutoplayButton.propTypes = { + /** + * Description of the start/pause autoplay button for screen-readers. + */ + assistiveText: _propTypes.default.string, + + /** + * Indicates whether autoplay is enabled + */ + isAutoplayOn: _propTypes.default.bool, + + /** + * Triggered when the autoplay button is clicked. + */ + onClick: _propTypes.default.func +}; +AutoplayButton.defaultProps = { + isAutoplayOn: false +}; +var _default = AutoplayButton; +exports.default = _default; \ No newline at end of file diff --git a/components/carousel/private/carousel-indicators.d.ts b/components/carousel/private/carousel-indicators.d.ts new file mode 100644 index 0000000000..0ab61bc98f --- /dev/null +++ b/components/carousel/private/carousel-indicators.d.ts @@ -0,0 +1,51 @@ +declare module '@salesforce/design-system-react/components/carousel/private/carousel-indicators' { + import React from 'react'; + type Props = { + /** + * Carousel HTML ID + */ + carouselId?: string; + /** + * CSS classes that are applied to the component + */ + className?: any[] | Record | string; + /** + * Selected indicator + */ + currentIndex?: number; + /** + * Passed from carousel parent state, dictates if indicator currently has focus + */ + hasFocus?: boolean; + /** + * Array of objects with shape, needed for building a carousel items + */ + items?: any[]; + /** + * Number of items to be displayed at a time in the carousel + */ + itemsPerPanel?: number; + /** + * Number of indicators to be displayed (corresponds to the number of panels in the carousel) + */ + noOfIndicators: number /*.isRequired*/; + /** + * Fires on indicator blur, allows parent carousel to adjust indicatorsHaveFocus state accordingly + */ + onBlur?: (v: any) => any; + /** + * Triggered when the indicator is clicked. + */ + onClick?: (v: any) => any; + /** + * Fires on indicator focus, allows parent carousel to adjust indicatorsHaveFocus state accordingly + */ + onFocus?: (v: any) => any; + }; + /** + * CarouselIndicators is used to display the list of indicators associated to the number of panels + * a carousel has + */ + function Component(props: Props): React.ReactNode; + export default Component; +} diff --git a/components/carousel/private/carousel-indicators.js b/components/carousel/private/carousel-indicators.js new file mode 100644 index 0000000000..b766e4a99e --- /dev/null +++ b/components/carousel/private/carousel-indicators.js @@ -0,0 +1,223 @@ +"use strict"; + +function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = void 0; + +var _react = _interopRequireDefault(require("react")); + +var _propTypes = _interopRequireDefault(require("prop-types")); + +var _classnames = _interopRequireDefault(require("classnames")); + +var _constants = require("../../../utilities/constants"); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); } + +function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } + +function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); } + +function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && Symbol.iterator in Object(iter)) return Array.from(iter); } + +function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); } + +function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; } + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } + +function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); } + +function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } + +function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; } + +function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } + +function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } } + +function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +/** + * CarouselIndicators is used to display the list of indicators associated to the number of panels + * a carousel has + */ +var CarouselIndicators = /*#__PURE__*/function (_React$Component) { + _inherits(CarouselIndicators, _React$Component); + + var _super = _createSuper(CarouselIndicators); + + function CarouselIndicators() { + var _this; + + _classCallCheck(this, CarouselIndicators); + + for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { + args[_key] = arguments[_key]; + } + + _this = _super.call.apply(_super, [this].concat(args)); + + _defineProperty(_assertThisInitialized(_this), "onFocus", function (event) { + _this["indicator".concat(_this.props.currentIndex)].focus(); + + if (_this.props.onFocus) { + _this.props.onFocus(event); + } + }); + + return _this; + } + + _createClass(CarouselIndicators, [{ + key: "componentDidUpdate", + value: function componentDidUpdate() { + if (this.props.hasFocus && this["indicator".concat(this.props.currentIndex)]) { + this["indicator".concat(this.props.currentIndex)].focus(); + } + } + }, { + key: "render", + value: function render() { + var _this2 = this; + + var props = this.props; + return /*#__PURE__*/_react.default.createElement("ul", { + className: "slds-carousel__indicators slds-col slds-text-align_center", + role: "tablist" + }, _toConsumableArray(Array(props.noOfIndicators).keys()).map(function (index) { + var isSelectedPanel = index === props.currentIndex; + var indicatorActionClassName = (0, _classnames.default)('slds-carousel__indicator-action', props.className, { + 'slds-is-active': isSelectedPanel + }); + var assistiveText = "".concat(index); + var title = "".concat(index); + var id = ''; + + if (props.items && props.items.length > 0) { + // eslint-disable-next-line prefer-destructuring + id = props.items[index].id; + var startItemIndex = index * props.itemsPerPanel; + var autoIndicatorText = ''; // eslint-disable-next-line fp/no-loops + + for (var i = startItemIndex; i < startItemIndex + props.itemsPerPanel; i += 1) { + if (props.items[i] && props.items[i].heading) { + autoIndicatorText = !autoIndicatorText ? '' : "".concat(autoIndicatorText, ", "); + autoIndicatorText += props.items[i].heading; + } + } + + if (autoIndicatorText) { + assistiveText = autoIndicatorText; + title = autoIndicatorText; + } + } + + return /*#__PURE__*/_react.default.createElement("li", { + className: "slds-carousel__indicator slds-m-horizontal_xx-small", + key: index, + role: "presentation", + style: { + margin: 0, + padding: '0 5px' + } + }, /*#__PURE__*/_react.default.createElement("a", { + ref: function ref(component) { + _this2["indicator".concat(index)] = component; + }, + id: "indicator-id-".concat(props.carouselId, "-").concat(index), + className: indicatorActionClassName, + role: "tab", + tabIndex: isSelectedPanel ? '0' : '-1', + "aria-selected": isSelectedPanel, + "aria-controls": props.getPanelId({ + carouselId: props.carouselId, + itemId: id + }), + title: title, + onBlur: props.onBlur, + onClick: function onClick(event) { + return props.onClick(event, index); + }, + onFocus: _this2.onFocus + }, /*#__PURE__*/_react.default.createElement("span", { + className: "slds-assistive-text" + }, assistiveText))); + })); + } + }]); + + return CarouselIndicators; +}(_react.default.Component); + +CarouselIndicators.displayName = _constants.CAROUSEL_INDICATORS; +CarouselIndicators.defaultProps = { + currentIndex: 0 +}; // ### Prop Types + +CarouselIndicators.propTypes = { + /** + * Carousel HTML ID + */ + carouselId: _propTypes.default.string, + + /** + * CSS classes that are applied to the component + */ + className: _propTypes.default.oneOfType([_propTypes.default.array, _propTypes.default.object, _propTypes.default.string]), + + /** + * Selected indicator + */ + currentIndex: _propTypes.default.number, + + /** + * Passed from carousel parent state, dictates if indicator currently has focus + */ + hasFocus: _propTypes.default.bool, + + /** + * Array of objects with shape, needed for building a carousel items + */ + items: _propTypes.default.array, + + /** + * Number of items to be displayed at a time in the carousel + */ + itemsPerPanel: _propTypes.default.number, + + /** + * Number of indicators to be displayed (corresponds to the number of panels in the carousel) + */ + noOfIndicators: _propTypes.default.number.isRequired, + + /** + * Fires on indicator blur, allows parent carousel to adjust indicatorsHaveFocus state accordingly + */ + onBlur: _propTypes.default.func, + + /** + * Triggered when the indicator is clicked. + */ + onClick: _propTypes.default.func, + + /** + * Fires on indicator focus, allows parent carousel to adjust indicatorsHaveFocus state accordingly + */ + onFocus: _propTypes.default.func +}; +var _default = CarouselIndicators; +exports.default = _default; \ No newline at end of file diff --git a/components/carousel/private/carousel-item.d.ts b/components/carousel/private/carousel-item.d.ts new file mode 100644 index 0000000000..d2ce040097 --- /dev/null +++ b/components/carousel/private/carousel-item.d.ts @@ -0,0 +1,61 @@ +declare module '@salesforce/design-system-react/components/carousel/private/carousel-item' { + import React from 'react'; + type Props = { + /** + * Label of the button to be displayed. If not provided, no button will be rendered. + */ + buttonLabel?: string; + /** + * Carousel HTML ID + */ + carouselId?: string; + /** + * CSS classes that are applied to the component + */ + className?: any[] | Record | string; + /** + * Visible paragraph text to be displayed on the carousel item + */ + description?: string | React.ReactNode; + /** + * Carousel Item's visible heading + */ + heading: string | Record /*.isRequired*/; + href?: string; + /** + * Id of the item component. + */ + id: number /*.isRequired*/; + /** + * Image alt text + */ + imageAssistiveText?: string; + /** + * Boolean indicating whether this item is currently visible in the active parent carousel panel + */ + isInCurrentPanel?: boolean; + /** + * Width of the carousel item + */ + itemWidth?: number; + /** + * Accepts a callback to handle when the a tag is focused on + */ + onFocus?: (v: any) => any; + /** + * Accepts a custom carousel item rendering function + */ + onRenderItem?: (v: any) => any; + /** + * Index of the panel this item belongs to, to be used when associating it to an indicator + */ + panelIndex?: number; + /** + * Path of the image to be used + */ + src: string /*.isRequired*/; + }; + + function Component(props: Props): React.ReactNode; + export default Component; +} diff --git a/components/carousel/private/carousel-item.js b/components/carousel/private/carousel-item.js new file mode 100644 index 0000000000..38d0710e65 --- /dev/null +++ b/components/carousel/private/carousel-item.js @@ -0,0 +1,150 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = void 0; + +var _react = _interopRequireDefault(require("react")); + +var _propTypes = _interopRequireDefault(require("prop-types")); + +var _button = _interopRequireDefault(require("../../button")); + +var _constants = require("../../../utilities/constants"); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */ + +/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */ +// # CarouselItem Component +// Implements the [CarouselItem design pattern](https://www.lightningdesignsystem.com/components/carousel/) in React. + +/** + * A carousel allows multiple pieces of featured content to occupy an allocated amount of space. + */ +var CarouselItem = function CarouselItem(props) { + return /*#__PURE__*/_react.default.createElement("div", { + id: props.getPanelId({ + carouselId: props.carouselId, + itemId: props.id + }), + className: "slds-carousel__panel slds-m-horizontal_xx-small slds-list_horizontal", + role: "tabpanel", + "aria-hidden": "false", + "aria-labelledby": "indicator-id-".concat(props.carouselId, "-").concat(props.panelIndex), + style: { + margin: 0, + maxWidth: "".concat(props.itemWidth, "px"), + padding: '0 6px' + } + }, props.onRenderItem ? props.onRenderItem({ + item: props + }) : /*#__PURE__*/_react.default.createElement("a", { + className: "slds-carousel__panel-action slds-text-link_reset", + href: props.href, + onClick: props.onClick, + onFocus: props.onFocus, + style: { + backgroundColor: 'white', + width: '100%' + }, + tabIndex: props.isInCurrentPanel ? '0' : '-1' + }, /*#__PURE__*/_react.default.createElement("div", { + className: "slds-carousel__image" + }, /*#__PURE__*/_react.default.createElement("img", { + src: props.src, + alt: props.imageAssistiveText || props.heading + })), /*#__PURE__*/_react.default.createElement("div", { + className: "slds-carousel__content", + style: { + height: 'auto' + } + }, /*#__PURE__*/_react.default.createElement("h2", { + className: "slds-carousel__content-title" + }, props.heading), /*#__PURE__*/_react.default.createElement("div", { + className: "slds-p-bottom_x-small slds-text-body_small", + style: { + minHeight: '40px' + } + }, props.description), props.buttonLabel && /*#__PURE__*/_react.default.createElement(_button.default, { + label: props.buttonLabel, + tabIndex: props.isInCurrentPanel ? '0' : '-1', + variant: "neutral" + })))); +}; + +CarouselItem.displayName = _constants.CAROUSEL_ITEM; +CarouselItem.propTypes = { + /** + * Label of the button to be displayed. If not provided, no button will be rendered. + */ + buttonLabel: _propTypes.default.string, + + /** + * Carousel HTML ID + */ + carouselId: _propTypes.default.string, + + /** + * CSS classes that are applied to the component + */ + className: _propTypes.default.oneOfType([_propTypes.default.array, _propTypes.default.object, _propTypes.default.string]), + + /** + * Visible paragraph text to be displayed on the carousel item + */ + description: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.node]), + + /** + * Carousel Item's visible heading + */ + heading: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.object]).isRequired, + href: _propTypes.default.string, + + /** + * Id of the item component. + */ + id: _propTypes.default.number.isRequired, + + /** + * Image alt text + */ + imageAssistiveText: _propTypes.default.string, + + /** + * Boolean indicating whether this item is currently visible in the active parent carousel panel + */ + isInCurrentPanel: _propTypes.default.bool, + + /** + * Width of the carousel item + */ + itemWidth: _propTypes.default.number, + + /** + * Accepts a callback to handle when the a tag is focused on + */ + onFocus: _propTypes.default.func, + + /** + * Accepts a custom carousel item rendering function + */ + onRenderItem: _propTypes.default.func, + + /** + * Index of the panel this item belongs to, to be used when associating it to an indicator + */ + panelIndex: _propTypes.default.number, + + /** + * Path of the image to be used + */ + src: _propTypes.default.string.isRequired +}; +CarouselItem.defaultProps = { + href: 'javascript:void(0);' +}; +var _default = CarouselItem; +exports.default = _default; \ No newline at end of file diff --git a/components/carousel/private/previous-next-carousel-navigator.d.ts b/components/carousel/private/previous-next-carousel-navigator.d.ts new file mode 100644 index 0000000000..87097e4a0f --- /dev/null +++ b/components/carousel/private/previous-next-carousel-navigator.d.ts @@ -0,0 +1,28 @@ +declare module '@salesforce/design-system-react/components/carousel/private/previous-next-carousel-navigator' { + import React from 'react'; + type Props = { + /** + * Description of the previous/next navigation icons for screen-readers. + */ + assistiveText?: string; + /** + * Name of icon displayed within the navigation button + */ + iconName?: 'chevronleft' | 'chevronright'; + /** + * Determines where the navigator indicator has been disabled + */ + isDisabled?: boolean; + /** + * Additional styles to be applied to the container + */ + inlineStyle?: Record; + /** + * Triggered when the indicator is clicked. + */ + onClick?: (v: any) => any; + }; + + function Component(props: Props): React.ReactNode; + export default Component; +} diff --git a/components/carousel/private/previous-next-carousel-navigator.js b/components/carousel/private/previous-next-carousel-navigator.js new file mode 100644 index 0000000000..45db4ad645 --- /dev/null +++ b/components/carousel/private/previous-next-carousel-navigator.js @@ -0,0 +1,79 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = void 0; + +var _react = _interopRequireDefault(require("react")); + +var _propTypes = _interopRequireDefault(require("prop-types")); + +var _button = _interopRequireDefault(require("../../../components/button")); + +var _constants = require("../../../utilities/constants"); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +/** + * previousNextCarouselNavigator is used to display previous/next navigation items of the carousel + */ +var previousNextCarouselNavigator = function previousNextCarouselNavigator(props) { + return /*#__PURE__*/_react.default.createElement("div", { + className: "slds-carousel__col-center slds-is-absolute", + style: _objectSpread(_objectSpread({}, props.inlineStyle), {}, { + margin: '-12px 0 0', + top: '50%' + }) + }, /*#__PURE__*/_react.default.createElement(_button.default, { + assistiveText: { + icon: props.assistiveText + }, + className: "slds-button_icon slds-carousel__button", + disabled: props.isDisabled, + iconCategory: "utility", + iconName: props.iconName, + iconVariant: "border-filled", + iconSize: "small", + onClick: props.onClick, + variant: "icon" + })); +}; // /assets/icons/utility-sprite/svg/symbols.svg#right + + +previousNextCarouselNavigator.displayName = _constants.CAROUSEL_NAVIGATORS; // ### Prop Types + +previousNextCarouselNavigator.propTypes = { + /** + * Description of the previous/next navigation icons for screen-readers. + */ + assistiveText: _propTypes.default.string, + + /** + * Name of icon displayed within the navigation button + */ + iconName: _propTypes.default.oneOf(['chevronleft', 'chevronright']), + + /** + * Determines where the navigator indicator has been disabled + */ + isDisabled: _propTypes.default.bool, + + /** + * Additional styles to be applied to the container + */ + inlineStyle: _propTypes.default.object, + + /** + * Triggered when the indicator is clicked. + */ + onClick: _propTypes.default.func +}; +var _default = previousNextCarouselNavigator; +exports.default = _default; \ No newline at end of file diff --git a/components/checkbox.d.ts b/components/checkbox.d.ts new file mode 100644 index 0000000000..da06249967 --- /dev/null +++ b/components/checkbox.d.ts @@ -0,0 +1,156 @@ +declare module '@salesforce/design-system-react/components/checkbox' { + import React from 'react'; + type Props = { + /** + * An HTML ID that is shared with ARIA-supported devices with the + * `aria-controls` attribute in order to relate the input with + * another region of the page. An example would be a select box + * that shows or hides a panel. + */ + 'aria-controls'?: string; + /** + * The `aria-describedby` attribute is used to indicate the IDs of the elements that describe the object. It is used to establish a relationship between widgets or groups and text that described them. This is very similar to aria-labelledby: a label describes the essence of an object, while a description provides more information that the user might need. + */ + 'aria-describedby'?: string; + /** + * The aria-labelledby attribute establishes relationships between objects and their label(s), and its value should be one or more element IDs, which refer to elements that have the text needed for labeling. List multiple element IDs in a space delimited fashion. + */ + 'aria-labelledby'?: string; + /** + * `aria-owns` indicate that an element depends on the current one when the relation can't be determined by the hierarchy structure. + */ + 'aria-owns'?: string; + /** + * The `aria-required` attribute is used to indicate that user input is required on an element before a form can be submitted. + */ + 'aria-required'?: boolean; + /** + * **Assistive text for accessibility** + * This object is merged with the default props object on every render. + * * `heading`: This is used as a visually hidden label if, no `labels.heading` is provided. + * * `label`: This is used as a visually hidden label if, no `labels.label` is provided. + */ + assistiveText?: Partial<{ + heading?: string; + label?: string; + }>; + /** + * The Checkbox should be a controlled component, and will always be in the state specified. If checked is not defined, the state of the uncontrolled native `input` component will be used. + */ + checked?: boolean; + /** + * This is the initial value of an uncontrolled form element and is present only + * to provide compatibility with hybrid framework applications that are not + * entirely React. It should only be used in an application without centralized + * state (Redux, Flux). "Controlled components" with centralized state is highly recommended. See [Code Overview](https://github.com/salesforce/design-system-react/blob/master/docs/codebase-overview.md#controlled-and-uncontrolled-components) for more information. + */ + defaultChecked?: boolean; + /** + * Class names to be added to the outer container of the Checkbox. + */ + className?: any[] | Record | string; + /** + * Disables the Checkbox and prevents clicking it. + */ + disabled?: boolean; + /** + * Message to display when the Checkbox is in an error state. When this is present, also visually highlights the component as in error. + */ + errorText?: string; + /** + * A unique ID is needed in order to support keyboard navigation and ARIA support. This ID is added to the `input` element + */ + id?: string; + /** + * The Checkbox will be indeterminate if its state can not be figured out or is partially checked. Once a checkbox is indeterminate, a click should cause it to be checked. Since a user cannot put a checkbox into an indeterminate state, it is assumed you are controlling the value of `checked` with the parent, also, and that this is a controlled component. **Note:** `indeterminate` proptype does nothing in the `toggle` variant, as [SLDS does not support it](https://lightningdesignsystem.com/components/forms/#flavor-checkbox-toggle-checkbox-toggle). + */ + indeterminate?: boolean; + /** + * **Text labels for internationalization** + * This object is merged with the default props object on every render. + * * `heading`: Heading for the visual picker variant + * * `label`: Label for the _enabled_ state of the Toggle variant. Defaults to "Enabled". + * * `toggleDisabled`: Label for the _disabled_ state of the Toggle variant. Defaults to "Disabled". Note that this uses SLDS language, and meaning, of "Enabled" and "Disabled"; referring to the state of whatever the checkbox is _toggling_, not whether the checkbox itself is enabled or disabled. + * * `toggleEnabled`: Label for the _enabled_ state of the Toggle variant. Defaults to "Enabled". + */ + labels?: Partial<{ + heading?: string; + label?: string; + toggleDisabled?: string; + toggleEnabled?: string; + }>; + /** + * Name of the submitted form parameter. + */ + name?: string; + /** + * This event fires when the Checkbox looses focus. It passes in `{ event }`. + */ + onBlur?: (v: any) => any; + /** + * This event fires when the Checkbox changes. Passes in `event, { checked }`. This used to be `checked, event, { checked }`. + */ + onChange?: (v: any) => any; + /** + * This event fires when the Checkbox is focused. It passes in `{ event }`. + */ + onFocus?: (v: any) => any; + /** + * This event fires when a key is pressed down. It passes in `{ event }`. + */ + onKeyDown?: (v: any) => any; + /** + * This event fires when a character is typed. See [this article](http://www.bloggingdeveloper.com/post/KeyPress-KeyDown-KeyUp-The-Difference-Between-Javascript-Key-Events.aspx) for more information. It passes in `{ event }`. + */ + onKeyPress?: (v: any) => any; + /** + * This event fires when a pressed key is released. It passes in `{ event }`. + */ + onKeyUp?: (v: any) => any; + /** + * Displays the value of the input, but does not allow changes. + */ + readOnly?: boolean; + /** + * Highlights the Checkbox as a required field (does not perform any validation). + */ + required?: boolean; + /** + * The aria-role of the checkbox. + */ + role?: string; + /** + * Which UX pattern of checkbox? The default is `base` while other option is `toggle`. (**Note:** `toggle` variant does not support the `indeterminate` feature, because [SLDS does not support it](https://lightningdesignsystem.com/components/forms/#flavor-checkbox-toggle-checkbox-toggle).) + */ + variant?: 'base' | 'toggle' | 'button-group' | 'visual-picker'; + /** + * Determines whether visual picker is coverable when selected (only for visual picker variant) + */ + coverable?: boolean; + /** + * Determines whether the visual picker should be vertical or horizontal (only for visual picker variant) + */ + vertical?: boolean; + /** + * Allows icon to shown with checkbox (only for non-coverable visual picker variant) + */ + onRenderVisualPicker?: (v: any) => any; + /** + * Allows icon to shown if checkbox is not selected (only for visual picker variant) + */ + onRenderVisualPickerSelected?: (v: any) => any; + /** + * Allows icon to shown if checkbox is not selected (only for visual picker variant) + */ + onRenderVisualPickerNotSelected?: (v: any) => any; + /** + * Size of checkbox in case of visual composer variant + */ + size?: 'medium' | 'large'; + }; + /** + * The ability to style checkboxes with CSS varies across browsers. Using this component ensures checkboxes look the same everywhere. + */ + function Component(props: Props): React.ReactElement; + export default Component; +} diff --git a/components/checkbox/__docs__/__snapshots__/storybook-stories.storyshot b/components/checkbox/__docs__/__snapshots__/storybook-stories.storyshot new file mode 100644 index 0000000000..40e434ead5 --- /dev/null +++ b/components/checkbox/__docs__/__snapshots__/storybook-stories.storyshot @@ -0,0 +1,2100 @@ +// Jest Snapshot v1, https://goo.gl/fbAQLP + +exports[`DOM snapshots SLDSCheckbox Checkbox (assistive text) 1`] = ` +
    +
    +
    +
    + + + + +
    +
    +
    +

    + This example has assistive text. In Safari on Mac you can turn assistive text on by using the keyboard combination: + + Command + F5 + + . +

    +

    + Once you have enabled it, use your tab key to focus on the checkbox input, and the system should read you what is supplied to the checkbox as the + + assistiveText + + property. +

    +
    +
    +
    +`; + +exports[`DOM snapshots SLDSCheckbox Checkbox (checked) 1`] = ` +
    +
    +
    + + + + +
    +
    +
    +`; + +exports[`DOM snapshots SLDSCheckbox Checkbox (default, indeterminate, required, disabled 1`] = ` +
    +
    +
    +
    +
    + + + + +
    +
    +
    +
    +
    +
    + + + + +
    +
    +
    +
    +
    +
    + + + * + + + + +
    +
    +
    +
    +
    +
    + + + + +
    +
    +
    +
    +
    +`; + +exports[`DOM snapshots SLDSCheckbox Checkbox (indeterminate) 1`] = ` +
    +
    + + + +

    + + Current State: + + + Indeterminate +

    +
    +
    + + + + +
    +
    +
    +

    + This example has an + + indeterminate + + checkbox. +

    +

    + It is set by providing the + + indeterminate + + prop as + + + + true + + + . +

    +

    + Once it is clicked, there is no way to make it go + + back + + to the indeterminate state, + + + it must be done programatically, through JavaScript + + . +

    +
    +
    +
    +`; + +exports[`DOM snapshots SLDSCheckbox Checkbox Toggle (assistive text) 1`] = ` +
    +
    +
    + +
    +
    +

    + This example has assistive text. In Safari on Mac you can turn assistive text on by using the keyboard combination: + + Command + F5 + + . +

    +

    + Once you have enabled it, use your tab key to focus on the checkbox input, and the system should read you what is supplied to the checkbox as the + + assistiveText + + property. +

    +
    +
    +
    +`; + +exports[`DOM snapshots SLDSCheckbox Checkbox Toggle (checked) 1`] = ` +
    +
    + +
    +
    +`; + +exports[`DOM snapshots SLDSCheckbox Checkbox Toggle (disabled) 1`] = ` +
    +
    + +
    +
    +`; + +exports[`DOM snapshots SLDSCheckbox Checkbox Toggle (required) 1`] = ` +
    +
    + +
    +
    +`; + +exports[`DOM snapshots SLDSCheckbox Checkbox Toggle (with error) 1`] = ` +
    +
    + +
    + This field has an error. +
    +
    +
    +`; + +exports[`DOM snapshots SLDSCheckbox Checkbox Toggle 1`] = ` +
    +
    + +
    +
    +`; + +exports[`DOM snapshots SLDSCheckbox Doc site Error 1`] = ` +
    +
    +
    +
    +
    + + + + +
    +
    + This field is required +
    +
    +
    +
    +
    +
    + + + + +
    +
    +
    +
    +
    +
    + + + * + + + + +
    +
    +
    +
    +
    +
    + + + + +
    +
    +
    +
    +
    +`; + +exports[`DOM snapshots SLDSCheckbox Doc site Snapshot Base 1`] = ` +
    +
    +
    +
    +
    +
    + + + + +
    +
    +
    +
    +
    +
    + + + + +
    +
    + This field has an error +
    +
    +
    +
    +
    +
    + + + + +
    +
    +
    +
    +
    +
    + + + * + + + + +
    +
    +
    +
    +
    +
    +
    +
    + + + + +
    +
    +
    +
    +
    +
    + + + + +
    +
    +
    +
    +
    +
    + + + + +
    +
    +
    +
    +
    +
    + + + + +
    +
    +
    +
    +
    +
    +`; + +exports[`DOM snapshots SLDSCheckbox Doc site Snapshot Toggle 1`] = ` +
    +
    +
    +
    +
    + +
    +
    +
    +
    + +
    + This field has an error +
    +
    +
    +
    +
    + +
    +
    +
    +
    + +
    +
    +
    +
    +
    +
    + +
    +
    +
    +
    + +
    +
    +
    +
    + +
    +
    +
    +
    +
    +`; + +exports[`DOM snapshots SLDSCheckbox Doc site Toggle 1`] = ` +
    +
    +
    +
    +
    + +
    +
    +
    +
    + +
    + This field has an error +
    +
    +
    +
    +
    + +
    +
    +
    +
    + +
    +
    +
    +
    +
    +
    + +
    +
    +
    +
    + +
    +
    +
    +
    + +
    +
    +
    +
    +
    +`; + +exports[`DOM snapshots SLDSCheckbox Grouped with Tristate 1`] = ` +
    +
    + + Grouped with Tristate + +
    +
    + + + + +
    +
    +
      +
    • +
      +
      + + + + +
      +
      +
    • +
    • +
      +
      + + + + +
      +
      +
    • +
    • +
      +
      + + + + +
      +
      +
    • +
    • +
      +
      + + + + +
      +
      +
    • +
    +
    +
    +`; diff --git a/components/checkbox/__docs__/storybook-stories.jsx b/components/checkbox/__docs__/storybook-stories.jsx new file mode 100644 index 0000000000..73ec706afa --- /dev/null +++ b/components/checkbox/__docs__/storybook-stories.jsx @@ -0,0 +1,286 @@ +import React from 'react'; +import { storiesOf } from '@storybook/react'; +import { action } from '@storybook/addon-actions'; +import IconSettings from '../../icon-settings'; + +import { CHECKBOX } from '../../../utilities/constants'; +import Checkbox from '../'; +import Button from '../../button'; + +import DefaultCheckbox from '../__examples__/default'; +import Error from '../__examples__/error'; +import GroupedWithTristate from '../__examples__/grouped-with-tristate'; +import SnapshotBase from '../__examples__/snapshot-base'; +import SnapshotToggle from '../__examples__/snapshot-toggle'; +import Toggle from '../__examples__/toggle'; + +class CheckboxIndeterminate extends React.Component { + static displayName = `${CHECKBOX}_INDETERMINATE`; + + state = { + indeterminate: true, + checked: true, + currentStateHelper: 'Indeterminate', + }; + + handleChange = (checked, event, data) => { + const checkedLabel = data.checked ? 'Checked' : 'Unchecked'; + this.setState({ + checked: data.checked, + currentStateHelper: data.indeterminate ? 'Indeterminate' : checkedLabel, + indeterminate: data.indeterminate, + }); + + action('handleChange')( + checked, + event, + `checked: ${data.checked}, + indeterminate: ${data.indeterminate}` + ); + }; + + changeToIndeterminate = (event) => { + this.setState({ + currentStateHelper: 'Indeterminate', + checked: true, + indeterminate: true, + }); + action('changeToIndeterminate')( + event, + 'checked: true, indeterminate: true' + ); + }; + + changeToCheck = (event) => { + this.setState({ + currentStateHelper: 'Checked', + checked: true, + indeterminate: false, + }); + action('changeToCheck')(event, 'checked: true, indeterminate: false'); + }; + + changeToUnChecked = (event) => { + this.setState({ + currentStateHelper: 'Unchecked', + checked: false, + indeterminate: false, + }); + action('changeToUnChecked')(event, 'checked: false, indeterminate: false'); + }; + + render() { + return ( +
    +
    + ); + } +} + +storiesOf(CHECKBOX, module) + .addDecorator((getStory) => ( +
    + {getStory()} +
    + )) + .add('Checkbox (default, indeterminate, required, disabled', () => ( + + )) + .add('Checkbox (assistive text)', () => ( +
    + +
    +

    + This example has assistive text. In Safari on Mac you can turn + assistive text on by using the keyboard combination: + Command + F5. +

    +

    + Once you have enabled it, use your tab key to focus on the checkbox + input, and the system should read you what is supplied to the checkbox + as the assistiveText + property. +

    +
    +
    + )) + .add('Checkbox (checked)', () => ( + + )) + .add('Checkbox (indeterminate)', () => ) + .add('Checkbox Toggle', () => ( + { + console.log('bluring ', e.target); + }} + variant="toggle" + /> + )) + .add('Checkbox Toggle (with error)', () => ( + { + console.log('bluring ', e.target); + }} + variant="toggle" + /> + )) + .add('Checkbox Toggle (required)', () => ( + { + console.log('bluring ', e.target); + }} + variant="toggle" + required + /> + )) + .add('Checkbox Toggle (disabled)', () => ( + { + console.log('bluring ', e.target); + }} + variant="toggle" + disabled + /> + )) + .add('Checkbox Toggle (assistive text)', () => ( +
    + +
    +

    + This example has assistive text. In Safari on Mac you can turn + assistive text on by using the keyboard combination: + Command + F5. +

    +

    + Once you have enabled it, use your tab key to focus on the checkbox + input, and the system should read you what is supplied to the checkbox + as the assistiveText + property. +

    +
    +
    + )) + .add('Checkbox Toggle (checked)', () => ( + + )) + .add('Doc site Error', () => ) + .add('Doc site Snapshot Base', () => ) + .add('Doc site Snapshot Toggle', () => ) + .add('Doc site Toggle', () => ) + .add('Grouped with Tristate', () => ); diff --git a/components/checkbox/__examples__/default.jsx b/components/checkbox/__examples__/default.jsx new file mode 100644 index 0000000000..363be06cd8 --- /dev/null +++ b/components/checkbox/__examples__/default.jsx @@ -0,0 +1,78 @@ +import React from 'react'; +// `~` is replaced with design-system-react at runtime +import IconSettings from '~/components/icon-settings'; +import Checkbox from '~/components/checkbox'; + +class Example extends React.Component { + static displayName = 'CheckboxExample'; + + render() { + return ( + +
    +
    + { + console.log('onChange ', e.target); + }} + /> +
    +
    + { + console.log('onChange ', e.target); + }} + /> +
    +
    + { + console.log('onChange ', e.target); + }} + /> +
    +
    + { + console.log('onChange ', e.target); + }} + /> +
    +
    +
    + ); + } +} + +export default Example; // export is replaced with `ReactDOM.render(, mountNode);` at runtime diff --git a/components/checkbox/__examples__/error.jsx b/components/checkbox/__examples__/error.jsx new file mode 100644 index 0000000000..10800a0266 --- /dev/null +++ b/components/checkbox/__examples__/error.jsx @@ -0,0 +1,61 @@ +import React from 'react'; +// `~` is replaced with design-system-react at runtime +import IconSettings from '~/components/icon-settings'; +import Checkbox from '~/components/checkbox'; + +class Example extends React.Component { + render() { + return ( + +
    +
    + +
    +
    + +
    +
    + +
    +
    + +
    +
    +
    + ); + } +} + +Example.displayName = 'CheckboxExample'; + +export default Example; // export is replaced with `ReactDOM.render(, mountNode);` at runtime diff --git a/components/checkbox/__examples__/grouped-with-tristate.jsx b/components/checkbox/__examples__/grouped-with-tristate.jsx new file mode 100644 index 0000000000..babff0814a --- /dev/null +++ b/components/checkbox/__examples__/grouped-with-tristate.jsx @@ -0,0 +1,175 @@ +import React from 'react'; +// `~` is replaced with design-system-react at runtime +import IconSettings from '~/components/icon-settings'; +import Checkbox from '~/components/checkbox'; + +class Example extends React.Component { + static displayName = 'CheckboxExample'; + + constructor(props) { + super(props); + this.state = { + mayonnaiseChecked: true, + mustardChecked: false, + oilChecked: true, + vinegarChecked: false, + }; + this.previousMixedState = { ...this.state }; + } + + getAllCondimentsStatus() { + let status = 'mixed'; + + if ( + this.state.mayonnaiseChecked && + this.state.mustardChecked && + this.state.oilChecked && + this.state.vinegarChecked + ) { + status = true; + } else if ( + !this.state.mayonnaiseChecked && + !this.state.mustardChecked && + !this.state.oilChecked && + !this.state.vinegarChecked + ) { + status = false; + } + + return status; + } + + handleSubCheckboxChange(attribute) { + const newState = { ...this.state }; + newState[attribute] = !this.state[attribute]; + this.previousMixedState = { ...newState }; + this.setState(newState); + } + + render() { + const allCondimentsStatus = this.getAllCondimentsStatus(); + + return ( + +
    + + Grouped with Tristate + + { + const condimentsStatus = this.getAllCondimentsStatus(); + + if (condimentsStatus === false) { + if ( + !this.previousMixedState.mayonnaiseChecked && + !this.previousMixedState.mustardChecked && + !this.previousMixedState.oilChecked && + !this.previousMixedState.vinegarChecked + ) { + this.setState({ + mayonnaiseChecked: true, + mustardChecked: true, + oilChecked: true, + vinegarChecked: true, + }); + } else { + this.setState({ ...this.previousMixedState }); + } + } else if (condimentsStatus === 'mixed') { + this.previousMixedState = { ...this.state }; + this.setState({ + mayonnaiseChecked: true, + mustardChecked: true, + oilChecked: true, + vinegarChecked: true, + }); + } else { + this.setState({ + mayonnaiseChecked: false, + mustardChecked: false, + oilChecked: false, + vinegarChecked: false, + }); + } + }} + /> +
      +
    • + { + this.handleSubCheckboxChange('mayonnaiseChecked'); + }} + /> +
    • +
    • + { + this.handleSubCheckboxChange('mustardChecked'); + }} + /> +
    • +
    • + { + this.handleSubCheckboxChange('oilChecked'); + }} + /> +
    • +
    • + { + this.handleSubCheckboxChange('vinegarChecked'); + }} + /> +
    • +
    +
    +
    + ); + } +} + +export default Example; // export is replaced with `ReactDOM.render(, mountNode);` at runtime diff --git a/components/checkbox/__examples__/snapshot-base.jsx b/components/checkbox/__examples__/snapshot-base.jsx new file mode 100644 index 0000000000..e00b5d785e --- /dev/null +++ b/components/checkbox/__examples__/snapshot-base.jsx @@ -0,0 +1,91 @@ +import React from 'react'; +// `~` is replaced with design-system-react at runtime +import Checkbox from '~/components/checkbox'; + +class Example extends React.Component { + render() { + return ( +
    +
    +
    + +
    +
    + +
    +
    + +
    +
    + +
    +
    +
    +
    + +
    +
    + +
    +
    + +
    +
    + +
    +
    +
    + ); + } +} + +Example.displayName = 'CheckboxExample'; + +export default Example; // export is replaced with `ReactDOM.render(, mountNode);` at runtime diff --git a/components/checkbox/__examples__/snapshot-toggle.jsx b/components/checkbox/__examples__/snapshot-toggle.jsx new file mode 100644 index 0000000000..06093fd364 --- /dev/null +++ b/components/checkbox/__examples__/snapshot-toggle.jsx @@ -0,0 +1,90 @@ +import React from 'react'; + +// `~` is replaced with design-system-react at runtime +import Checkbox from '~/components/checkbox'; + +class Example extends React.Component { + render() { + return ( +
    +
    +
    + +
    +
    + +
    +
    + +
    +
    + +
    +
    +
    +
    + +
    +
    + +
    +
    + +
    +
    +
    + ); + } +} + +Example.displayName = 'CheckboxExample'; + +export default Example; // export is replaced with `ReactDOM.render(, mountNode);` at runtime diff --git a/components/checkbox/__examples__/toggle.jsx b/components/checkbox/__examples__/toggle.jsx new file mode 100644 index 0000000000..69913f47bc --- /dev/null +++ b/components/checkbox/__examples__/toggle.jsx @@ -0,0 +1,92 @@ +import React from 'react'; +// `~` is replaced with design-system-react at runtime +import IconSettings from '~/components/icon-settings'; +import Checkbox from '~/components/checkbox'; + +class Example extends React.Component { + render() { + return ( + +
    +
    +
    + +
    +
    + +
    +
    + +
    +
    + +
    +
    +
    +
    + +
    +
    + +
    +
    + +
    +
    +
    +
    + ); + } +} + +Example.displayName = 'CheckboxExample'; + +export default Example; // export is replaced with `ReactDOM.render(, mountNode);` at runtime diff --git a/components/checkbox/check-props.js b/components/checkbox/check-props.js new file mode 100644 index 0000000000..430f79e4d1 --- /dev/null +++ b/components/checkbox/check-props.js @@ -0,0 +1,47 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = void 0; + +var _deprecatedEventParameter = _interopRequireDefault(require("../../utilities/warning/deprecated-event-parameter")); + +var _getComponentDoc = _interopRequireDefault(require("../../utilities/get-component-doc")); + +var _onlyOneOfProperties = _interopRequireDefault(require("../../utilities/warning/only-one-of-properties")); + +var _sunsetProperty = _interopRequireDefault(require("../../utilities/warning/sunset-property")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */ + +/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */ + +/* eslint-disable import/no-mutable-exports */ + +/* eslint-disable max-len */ +var checkProps = function checkPropsFunction() {}; + +if (process.env.NODE_ENV !== 'production') { + checkProps = function checkPropsFunction(COMPONENT, props, jsonDoc) { + var createDocUrl = (0, _getComponentDoc.default)(jsonDoc); + (0, _sunsetProperty.default)(COMPONENT, props.label, 'label', "Use `labels.label` instead.".concat(createDocUrl('labels'))); + (0, _deprecatedEventParameter.default)(COMPONENT, { + oldEventParameterOrder: props.oldEventParameterOrder, + propAsString: 'onChange', + propAsValue: props.onChange + }, "`components/forms/checkbox` is deprecated. `components/checkbox` should be used. When this path update is made `onChange` event parameters will change from `onChange(value, event, { value }) to `onChange(event, { value }). Please update your event parameters when you change paths.` If you are using the CommonJS named import, `Checkbox` events will break at v1.0 and this warning will be present until then. Please review https://github.com/salesforce/design-system-react/releases when you upgrade. ".concat(createDocUrl('onChange'))); + + if (props.variant === 'toggle' && props.indeterminate === true) { + (0, _onlyOneOfProperties.default)(COMPONENT, { + variant: props.variant, + indeterminate: props.indeterminate + }, "Currently SLDS does not support the `indeterminate` state in Checkbox Toggle. See SLDS documentation about [Checkbox Toggle](https://lightningdesignsystem.com/components/forms/#flavor-checkbox-toggle-checkbox-toggle) for more information. ".concat(createDocUrl('variant'))); + } + }; +} + +var _default = checkProps; +exports.default = _default; \ No newline at end of file diff --git a/components/checkbox/component.json b/components/checkbox/component.json new file mode 100644 index 0000000000..1004f6921e --- /dev/null +++ b/components/checkbox/component.json @@ -0,0 +1,30 @@ +{ + "component": "checkbox", + "status": "prod", + "display-name": "Checkboxes", + "classKey": "Checkbox", + "last-accessibility-review": { + "date-iso-8601": "2018/01/18", + "commit-sha": "ad6b6c6523ee21cada11be5f7ea4d99abc530726" + }, + "SLDS-component-path": "/components/checkbox", + "site-stories": [ + { + "heading": "Default", + "path": "/__examples__/default.jsx" + }, + { + "heading": "Error State", + "path": "/__examples__/error.jsx" + }, + { + "heading": "Toggle", + "path": "/__examples__/toggle.jsx" + }, + { + "heading": "Grouped with Tri-State", + "path": "/__examples__/grouped-with-tristate.jsx" + } + ], + "url-slug": "checkboxes" +} diff --git a/components/checkbox/index.js b/components/checkbox/index.js new file mode 100644 index 0000000000..64c01e4559 --- /dev/null +++ b/components/checkbox/index.js @@ -0,0 +1,567 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = void 0; + +var _react = _interopRequireDefault(require("react")); + +var _propTypes = _interopRequireDefault(require("prop-types")); + +var _classnames = _interopRequireDefault(require("classnames")); + +var _shortid = _interopRequireDefault(require("shortid")); + +var _keyCode = _interopRequireDefault(require("../../utilities/key-code")); + +var _event = _interopRequireDefault(require("../../utilities/event")); + +var _checkProps = _interopRequireDefault(require("./check-props")); + +var _component = _interopRequireDefault(require("./component.json")); + +var _constants = require("../../utilities/constants"); + +var _icon = _interopRequireDefault(require("../icon")); + +var _getAriaProps = _interopRequireDefault(require("../../utilities/get-aria-props")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } + +function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; } + +function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); } + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } + +function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); } + +function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } + +function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; } + +function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } + +function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } } + +function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var propTypes = { + /** + * An HTML ID that is shared with ARIA-supported devices with the + * `aria-controls` attribute in order to relate the input with + * another region of the page. An example would be a select box + * that shows or hides a panel. + */ + 'aria-controls': _propTypes.default.string, + + /** + * The `aria-describedby` attribute is used to indicate the IDs of the elements that describe the object. It is used to establish a relationship between widgets or groups and text that described them. This is very similar to aria-labelledby: a label describes the essence of an object, while a description provides more information that the user might need. + */ + 'aria-describedby': _propTypes.default.string, + + /** + * The aria-labelledby attribute establishes relationships between objects and their label(s), and its value should be one or more element IDs, which refer to elements that have the text needed for labeling. List multiple element IDs in a space delimited fashion. + */ + 'aria-labelledby': _propTypes.default.string, + + /** + * `aria-owns` indicate that an element depends on the current one when the relation can't be determined by the hierarchy structure. + */ + 'aria-owns': _propTypes.default.string, + + /** + * The `aria-required` attribute is used to indicate that user input is required on an element before a form can be submitted. + */ + 'aria-required': _propTypes.default.bool, + + /** + * **Assistive text for accessibility** + * This object is merged with the default props object on every render. + * * `heading`: This is used as a visually hidden label if, no `labels.heading` is provided. + * * `label`: This is used as a visually hidden label if, no `labels.label` is provided. + */ + assistiveText: _propTypes.default.shape({ + heading: _propTypes.default.string, + label: _propTypes.default.string + }), + + /** + * The Checkbox should be a controlled component, and will always be in the state specified. If checked is not defined, the state of the uncontrolled native `input` component will be used. + */ + checked: _propTypes.default.bool, + + /** + * This is the initial value of an uncontrolled form element and is present only + * to provide compatibility with hybrid framework applications that are not + * entirely React. It should only be used in an application without centralized + * state (Redux, Flux). "Controlled components" with centralized state is highly recommended. See [Code Overview](https://github.com/salesforce/design-system-react/blob/master/docs/codebase-overview.md#controlled-and-uncontrolled-components) for more information. + */ + defaultChecked: _propTypes.default.bool, + + /** + * Class names to be added to the outer container of the Checkbox. + */ + className: _propTypes.default.oneOfType([_propTypes.default.array, _propTypes.default.object, _propTypes.default.string]), + + /** + * Disables the Checkbox and prevents clicking it. + */ + disabled: _propTypes.default.bool, + + /** + * Message to display when the Checkbox is in an error state. When this is present, also visually highlights the component as in error. + */ + errorText: _propTypes.default.string, + + /** + * A unique ID is needed in order to support keyboard navigation and ARIA support. This ID is added to the `input` element + */ + id: _propTypes.default.string, + + /** + * The Checkbox will be indeterminate if its state can not be figured out or is partially checked. Once a checkbox is indeterminate, a click should cause it to be checked. Since a user cannot put a checkbox into an indeterminate state, it is assumed you are controlling the value of `checked` with the parent, also, and that this is a controlled component. **Note:** `indeterminate` proptype does nothing in the `toggle` variant, as [SLDS does not support it](https://lightningdesignsystem.com/components/forms/#flavor-checkbox-toggle-checkbox-toggle). + */ + indeterminate: _propTypes.default.bool, + + /** + * **Text labels for internationalization** + * This object is merged with the default props object on every render. + * * `heading`: Heading for the visual picker variant + * * `label`: Label for the _enabled_ state of the Toggle variant. Defaults to "Enabled". + * * `toggleDisabled`: Label for the _disabled_ state of the Toggle variant. Defaults to "Disabled". Note that this uses SLDS language, and meaning, of "Enabled" and "Disabled"; referring to the state of whatever the checkbox is _toggling_, not whether the checkbox itself is enabled or disabled. + * * `toggleEnabled`: Label for the _enabled_ state of the Toggle variant. Defaults to "Enabled". + */ + labels: _propTypes.default.shape({ + heading: _propTypes.default.string, + label: _propTypes.default.string, + toggleDisabled: _propTypes.default.string, + toggleEnabled: _propTypes.default.string + }), + + /** + * Name of the submitted form parameter. + */ + name: _propTypes.default.string, + + /** + * This event fires when the Checkbox looses focus. It passes in `{ event }`. + */ + onBlur: _propTypes.default.func, + + /** + * This event fires when the Checkbox changes. Passes in `event, { checked }`. This used to be `checked, event, { checked }`. + */ + onChange: _propTypes.default.func, + + /** + * This event fires when the Checkbox is focused. It passes in `{ event }`. + */ + onFocus: _propTypes.default.func, + + /** + * This event fires when a key is pressed down. It passes in `{ event }`. + */ + onKeyDown: _propTypes.default.func, + + /** + * This event fires when a character is typed. See [this article](http://www.bloggingdeveloper.com/post/KeyPress-KeyDown-KeyUp-The-Difference-Between-Javascript-Key-Events.aspx) for more information. It passes in `{ event }`. + */ + onKeyPress: _propTypes.default.func, + + /** + * This event fires when a pressed key is released. It passes in `{ event }`. + */ + onKeyUp: _propTypes.default.func, + + /** + * Displays the value of the input, but does not allow changes. + */ + readOnly: _propTypes.default.bool, + + /** + * Highlights the Checkbox as a required field (does not perform any validation). + */ + required: _propTypes.default.bool, + + /** + * The aria-role of the checkbox. + */ + role: _propTypes.default.string, + + /** + * Which UX pattern of checkbox? The default is `base` while other option is `toggle`. (**Note:** `toggle` variant does not support the `indeterminate` feature, because [SLDS does not support it](https://lightningdesignsystem.com/components/forms/#flavor-checkbox-toggle-checkbox-toggle).) + */ + variant: _propTypes.default.oneOf(['base', 'toggle', 'button-group', 'visual-picker']), + + /** + * Determines whether visual picker is coverable when selected (only for visual picker variant) + */ + coverable: _propTypes.default.bool, + + /** + * Determines whether the visual picker should be vertical or horizontal (only for visual picker variant) + */ + vertical: _propTypes.default.bool, + + /** + * Allows icon to shown with checkbox (only for non-coverable visual picker variant) + */ + onRenderVisualPicker: _propTypes.default.func, + + /** + * Allows icon to shown if checkbox is not selected (only for visual picker variant) + */ + onRenderVisualPickerSelected: _propTypes.default.func, + + /** + * Allows icon to shown if checkbox is not selected (only for visual picker variant) + */ + onRenderVisualPickerNotSelected: _propTypes.default.func, + + /** + * Size of checkbox in case of visual composer variant + */ + size: _propTypes.default.oneOf(['medium', 'large']) +}; +var defaultProps = { + assistiveText: {}, + labels: { + toggleDisabled: 'Disabled', + toggleEnabled: 'Enabled' + }, + variant: 'base' +}; +/** + * The ability to style checkboxes with CSS varies across browsers. Using this component ensures checkboxes look the same everywhere. + */ + +var Checkbox = /*#__PURE__*/function (_React$Component) { + _inherits(Checkbox, _React$Component); + + var _super = _createSuper(Checkbox); + + function Checkbox(_props) { + var _this; + + _classCallCheck(this, Checkbox); + + _this = _super.call(this, _props); + + _defineProperty(_assertThisInitialized(_this), "getId", function () { + return _this.props.id || _this.generatedId; + }); + + _defineProperty(_assertThisInitialized(_this), "getErrorId", function () { + return _this.props.errorText ? "".concat(_this.getId(), "-error-text") : undefined; + }); + + _defineProperty(_assertThisInitialized(_this), "getAriaDescribedBy", function () { + var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}, + _ref$idArray = _ref.idArray, + idArray = _ref$idArray === void 0 ? [] : _ref$idArray; + + return idArray.concat(_this.props['aria-describedby'], _this.getErrorId()).filter(Boolean).join(' ') || undefined; + }); + + _defineProperty(_assertThisInitialized(_this), "handleChange", function (event) { + var _this$props = _this.props, + checked = _this$props.checked, + indeterminate = _this$props.indeterminate, + onChange = _this$props.onChange; + + if (typeof onChange === 'function') { + // `target.checked` is present twice to maintain backwards compatibility. Please remove first parameter `value` on the next breaking change or when `forms/checkbox` is removed. + if (_this.props.oldEventParameterOrder) { + onChange(event.target.checked, event, { + checked: indeterminate ? true : !checked, + indeterminate: false + }); + } else { + // NEW API + onChange(event, { + checked: indeterminate ? true : !checked, + indeterminate: false + }); + } + } + }); + + _defineProperty(_assertThisInitialized(_this), "handleKeyDown", function (event) { + if (event.keyCode) { + if (event.keyCode === _keyCode.default.ENTER || event.keyCode === _keyCode.default.SPACE) { + _event.default.trapImmediate(event); + + _this.handleChange(event); + } + } + }); + + _defineProperty(_assertThisInitialized(_this), "renderButtonGroupVariant", function (props, ariaProps, assistiveText, labels) { + return /*#__PURE__*/_react.default.createElement("span", { + className: "slds-button slds-checkbox_button" + }, /*#__PURE__*/_react.default.createElement("input", _extends({ + disabled: props.disabled + /* A form element should not have both checked and defaultChecked props. */ + + }, props.checked !== undefined ? { + checked: props.checked + } : { + defaultChecked: props.defaultChecked + }, { + id: _this.getId(), + name: props.name, + onBlur: props.onBlur, + onChange: _this.handleChange, + onFocus: props.onFocus, + onKeyDown: props.onKeyDown, + onKeyPress: props.onKeyPress, + onKeyUp: props.onKeyUp, + ref: function ref(component) { + _this.input = component; + }, + role: props.role, + required: props.required, + type: "checkbox" + }, ariaProps, { + "aria-describedby": _this.getAriaDescribedBy() + })), /*#__PURE__*/_react.default.createElement("label", { + className: "slds-checkbox_button__label", + htmlFor: _this.getId() + }, /*#__PURE__*/_react.default.createElement("span", { + className: "slds-checkbox_faux" + }, labels.label), assistiveText.label ? /*#__PURE__*/_react.default.createElement("span", { + className: "slds-assistive-text" + }, assistiveText.label) : null)); + }); + + _defineProperty(_assertThisInitialized(_this), "renderBaseVariant", function (props, ariaProps, assistiveText, labels) { + return /*#__PURE__*/_react.default.createElement("div", { + className: (0, _classnames.default)('slds-form-element', { + 'is-required': props.required, + 'slds-has-error': props.errorText + }, props.className) + }, /*#__PURE__*/_react.default.createElement("div", { + className: "slds-form-element__control" + }, /*#__PURE__*/_react.default.createElement("span", { + className: "slds-checkbox" + }, props.required ? /*#__PURE__*/_react.default.createElement("abbr", { + className: "slds-required", + title: "required" + }, '*') : null, /*#__PURE__*/_react.default.createElement("input", _extends({ + disabled: props.disabled + /* A form element should not have both checked and defaultChecked props. */ + + }, props.checked !== undefined ? { + checked: props.checked + } : { + defaultChecked: props.defaultChecked + }, { + id: _this.getId(), + name: props.name, + onBlur: props.onBlur, + onChange: _this.handleChange, + onFocus: props.onFocus, + onKeyDown: props.onKeyDown, + onKeyPress: props.onKeyPress, + onKeyUp: props.onKeyUp, + ref: function ref(component) { + if (component) { + // eslint-disable-next-line no-param-reassign + component.indeterminate = props.indeterminate; + } + + _this.input = component; + }, + role: props.role, + required: props.required, + type: "checkbox" + }, ariaProps, { + "aria-describedby": _this.getAriaDescribedBy() + })), /*#__PURE__*/_react.default.createElement("label", { + className: "slds-checkbox__label", + htmlFor: _this.getId(), + id: props.labelId + }, /*#__PURE__*/_react.default.createElement("span", { + className: "slds-checkbox_faux" + }), labels.label ? /*#__PURE__*/_react.default.createElement("span", { + className: "slds-form-element__label" + }, labels.label) : null, assistiveText.label ? /*#__PURE__*/_react.default.createElement("span", { + className: "slds-assistive-text" + }, assistiveText.label) : null))), props.errorText ? /*#__PURE__*/_react.default.createElement("div", { + className: "slds-form-element__help", + id: _this.getErrorId() + }, props.errorText) : null); + }); + + _defineProperty(_assertThisInitialized(_this), "renderToggleVariant", function (props, ariaProps, assistiveText, labels) { + return /*#__PURE__*/_react.default.createElement("div", { + className: (0, _classnames.default)('slds-form-element', { + 'is-required': props.required, + 'slds-has-error': props.errorText + }, props.className) + }, /*#__PURE__*/_react.default.createElement("label", { + className: "slds-checkbox_toggle slds-grid", + htmlFor: _this.getId() + }, props.required ? /*#__PURE__*/_react.default.createElement("abbr", { + className: "slds-required", + title: "required" + }, '*') : null, labels.label ? /*#__PURE__*/_react.default.createElement("span", { + className: "slds-form-element__label slds-m-bottom_none" + }, labels.label) : null, assistiveText.label ? /*#__PURE__*/_react.default.createElement("span", { + className: "slds-assistive-text" + }, assistiveText.label) : null, /*#__PURE__*/_react.default.createElement("input", _extends({ + disabled: props.disabled, + id: _this.getId() + /* A form element should not have both checked and defaultChecked props. */ + + }, props.checked !== undefined ? { + checked: props.checked + } : { + defaultChecked: props.defaultChecked + }, { + name: props.name, + onBlur: props.onBlur, + onChange: _this.handleChange, + onFocus: props.onFocus, + onKeyDown: props.onKeyDown, + onKeyPress: props.onKeyPress, + onKeyUp: props.onKeyUp, + ref: function ref(component) { + _this.input = component; + }, + role: props.role, + required: props.required, + type: "checkbox" + }, ariaProps, { + "aria-describedby": _this.getAriaDescribedBy({ + idArray: ["".concat(_this.getId(), "-desc")] + }) + })), /*#__PURE__*/_react.default.createElement("span", { + id: "".concat(_this.getId(), "-desc"), + className: "slds-checkbox_faux_container", + "aria-live": "assertive" + }, /*#__PURE__*/_react.default.createElement("span", { + className: "slds-checkbox_faux" + }), /*#__PURE__*/_react.default.createElement("span", { + className: "slds-checkbox_on" + }, labels.toggleEnabled), /*#__PURE__*/_react.default.createElement("span", { + className: "slds-checkbox_off" + }, labels.toggleDisabled))), props.errorText ? /*#__PURE__*/_react.default.createElement("div", { + className: "slds-form-element__help", + id: _this.getErrorId() + }, props.errorText) : null); + }); + + _defineProperty(_assertThisInitialized(_this), "renderVisualPickerVariant", function (props, ariaProps, assistiveText) { + return /*#__PURE__*/_react.default.createElement("span", { + className: (0, _classnames.default)('slds-visual-picker', "slds-visual-picker_".concat(_this.props.size), _this.props.vertical ? 'slds-visual-picker_vertical' : null) + }, /*#__PURE__*/_react.default.createElement("input", _extends({ + disabled: props.disabled + /* A form element should not have both checked and defaultChecked props. */ + + }, props.checked !== undefined ? { + checked: props.checked + } : { + defaultChecked: props.defaultChecked + }, { + id: _this.getId(), + name: props.name, + onBlur: props.onBlur, + onChange: _this.handleChange, + onFocus: props.onFocus, + onKeyDown: props.onKeyDown, + onKeyPress: props.onKeyPress, + onKeyUp: props.onKeyUp, + ref: function ref(component) { + _this.input = component; + }, + role: props.role, + required: props.required, + type: "checkbox" + }, ariaProps, { + "aria-describedby": _this.getAriaDescribedBy() + })), /*#__PURE__*/_react.default.createElement("label", { + className: "slds-checkbox_button__label", + htmlFor: _this.getId() + }, _this.props.coverable ? /*#__PURE__*/_react.default.createElement("div", { + className: "slds-visual-picker__figure slds-visual-picker__icon slds-align_absolute-center" + }, /*#__PURE__*/_react.default.createElement("span", { + className: "slds-is-selected" + }, _this.props.onRenderVisualPickerSelected()), /*#__PURE__*/_react.default.createElement("span", { + className: "slds-is-not-selected" + }, _this.props.onRenderVisualPickerNotSelected())) : /*#__PURE__*/_react.default.createElement("span", { + className: "slds-visual-picker__figure slds-visual-picker__text slds-align_absolute-center" + }, _this.props.onRenderVisualPicker()), !_this.props.vertical ? /*#__PURE__*/_react.default.createElement("span", { + className: "slds-visual-picker__body" + }, _this.props.labels.heading ? /*#__PURE__*/_react.default.createElement("span", { + className: "slds-text-heading_small" + }, _this.props.labels.heading) : null, /*#__PURE__*/_react.default.createElement("span", { + className: "slds-text-title" + }, _this.props.labels.label), assistiveText.label || assistiveText.heading ? /*#__PURE__*/_react.default.createElement("span", { + className: "slds-assistive-text" + }, assistiveText.label || assistiveText.heading) : null) : null, !_this.props.coverable ? /*#__PURE__*/_react.default.createElement("span", { + className: "slds-icon_container slds-visual-picker__text-check" + }, /*#__PURE__*/_react.default.createElement(_icon.default, { + assistiveText: _this.props.assistiveText, + category: "utility", + name: "check", + colorVariant: "base", + size: "x-small" + })) : null)); + }); + + (0, _checkProps.default)(_constants.CHECKBOX, _this.props, _component.default); + _this.generatedId = _shortid.default.generate(); + return _this; + } + + _createClass(Checkbox, [{ + key: "render", + value: function render() { + var ariaProps = (0, _getAriaProps.default)(this.props); + + if (this.props.variant === 'toggle') { + ariaProps['aria-describedby'] = "".concat(this.getId(), "-desc"); + } + + var assistiveText = _objectSpread(_objectSpread(_objectSpread({}, defaultProps.assistiveText), typeof this.props.assistiveText === 'string' ? { + label: this.props.assistiveText + } : {}), _typeof(this.props.assistiveText) === 'object' ? this.props.assistiveText : {}); + + var labels = _objectSpread(_objectSpread(_objectSpread({}, defaultProps.labels), this.props.label ? { + label: this.props.label + } : {}), this.props.labels); + + var subRenders = { + base: this.renderBaseVariant, + 'button-group': this.renderButtonGroupVariant, + toggle: this.renderToggleVariant, + 'visual-picker': this.renderVisualPickerVariant + }; + var variantExists = subRenders[this.props.variant]; + return variantExists ? subRenders[this.props.variant](this.props, ariaProps, assistiveText, labels) : subRenders.base(this.props, ariaProps, assistiveText, labels); + } + }]); + + return Checkbox; +}(_react.default.Component); + +Checkbox.displayName = _constants.CHECKBOX; +Checkbox.propTypes = propTypes; +Checkbox.defaultProps = defaultProps; +var _default = Checkbox; +exports.default = _default; \ No newline at end of file diff --git a/components/color-picker.d.ts b/components/color-picker.d.ts new file mode 100644 index 0000000000..d2c3b1ada5 --- /dev/null +++ b/components/color-picker.d.ts @@ -0,0 +1,147 @@ +declare module '@salesforce/design-system-react/components/color-picker' { + import React from 'react'; + type Props = { + /** + * **Assistive text for accessibility** + * * `label`: Visually hidden label but read out loud by screen readers. + * * `hueSlider`: Instructions for hue selection input + * * `saturationValueGrid`: Instructions for using the grid for saturation + * and value selection + */ + assistiveText?: Partial<{ + label?: string; + hueSlider?: string; + saturationValueGrid?: string; + }>; + /** + * CSS classes to be added to tag with `.slds-color-picker`. Uses `classNames` [API](https://github.com/JedWatson/classnames). _Tested with snapshot testing._ + */ + className?: any[] | Record | string; + /** + * CSS classes to be added to tag with `.slds-popover`. Uses `classNames` [API](https://github.com/JedWatson/classnames). _Tested with snapshot testing._ + */ + classNameMenu?: any[] | Record | string; + /** + * Unique ID for component. + */ + id?: string; + /** + * Disables the input and button. + */ + disabled?: boolean; + /** + * Message to display when the outer input is in an error state. When this is present, also visually highlights the component as in error. + */ + errorText?: string; + /** + * Message to display when the custom tab input is in an error state. When this is present, also visually highlights the component as in error. + */ + errorTextWorkingColor?: string; + /** + * Event Callbacks + * * `onChange`: This function is triggered when done is clicked. This function returns `{event, { color: [string] }}`, which is a hex representation of the color. + * * `onClose`: This function is triggered when the menu is closed. This function returns `{event, { trigger, componentWillUnmount }}`. Trigger can have the values `cancel`, `clickOutside`, or `newPopover`. + * * `onOpen`: This function is triggered when the color-picker menu is mounted and added to the DOM. The parameters are `event, { portal: }`. `portal` can be used as a React tree root node. + * * `onRequestClose`: This function is triggered when the user clicks outside the menu or clicks the close button. You will want to define this if color-picker is to be a controlled component. Most of the time you will want to set `isOpen` to `false` when this is triggered unless you need to validate something. + * This function returns `{event, {trigger: [string]}}` where `trigger` is either `cancel` or `clickOutside`. + * * `onRequestOpen`: Function called when the color-picker menu would like show. + * * `onValidateColor`: Function that overwrites default color validator and called when validating HEX color on outer input change. If callback returns false, errorText is shown if set. + * * `onValidateWorkingColor`: Function that overwrites default color validator and called when validating HEX color on custom tab inner input change. If callback returns false, errorTextWorkingColor is shown if set. + * * `onWorkingColorChange`: This function is triggered when working color changes (color inside the custom tab). This function returns `{event, { color: [string] }}`, which is a hex representation of the color. + * _Tested with Mocha framework._ + */ + events?: Partial<{ + onChange?: (v: any) => any; + onClose?: (v: any) => any; + onOpen?: (v: any) => any; + onRequestClose?: (v: any) => any; + onRequestOpen?: (v: any) => any; + onValidateColor?: (v: any) => any; + onValidateWorkingColor?: (v: any) => any; + onWorkingColorChange?: (v: any) => any; + }>; + /** + * By default, dialogs will flip their alignment (such as bottom to top) if they extend beyond a boundary element such as a scrolling parent or a window/viewpoint. `hasStaticAlignment` disables this behavior and allows this component to extend beyond boundary elements. _Not tested._ + */ + hasStaticAlignment?: boolean; + /** + * Hides the text input + */ + hideInput?: boolean; + /** + * Popover open state + */ + isOpen?: boolean; + /** + * **Text labels for internationalization** + * * `blueAbbreviated`: One letter abbreviation of blue color component + * * `cancelButton`: Text for cancel button on popover + * * `customTab`: Text for custom tab of popover + * * `customTabActiveWorkingColorSwatch`: Label for custom tab active working color swatch + * * `customTabTransparentSwatch`: Label for custom tab active transparent swatch + * * `greenAbbreviated`: One letter abbreviation of green color component + * * `hexLabel`: Label for input of hexadecimal color + * * `invalidColor`: Error message when hex color input is invalid + * * `invalidComponent`: Error message when a component input is invalid + * * `label`: An `input` label as for a `form` + * * `redAbbreviated`: One letter abbreviation of red color component + * * `swatchTab`: Label for swatch tab of popover + * * `submitButton`: Text for submit/done button of popover + */ + labels?: Partial<{ + blueAbbreviated?: string; + cancelButton?: string; + customTab?: string; + customTabActiveWorkingColorSwatch?: string; + customTabTransparentSwatch?: string; + greenAbbreviated?: string; + hexLabel?: string; + invalidColor?: string; + invalidComponent?: string; + label?: string; + redAbbreviated?: string; + swatchTab?: string; + swatchTabTransparentSwatch?: string; + submitButton?: string; + }>; + /** + * Please select one of the following: + * * `absolute` - (default) The dialog will use `position: absolute` and style attributes to position itself. This allows inverted placement or flipping of the dialog. + * * `overflowBoundaryElement` - The dialog will overflow scrolling parents. Use on elements that are aligned to the left or right of their target and don't care about the target being within a scrolling parent. Typically this is a popover or tooltip. Dropdown menus can usually open up and down if no room exists. In order to achieve this a portal element will be created and attached to `body`. This element will render into that detached render tree. + * * `relative` - No styling or portals will be used. Menus will be positioned relative to their triggers. This is a great choice for HTML snapshot testing. + */ + menuPosition?: 'absolute' | 'overflowBoundaryElement' | 'relative'; + /** + * An array of hex color values which is used to set the options of the + * swatch tab of the colorpicker popover. + * To specify transparent, use empty string as a value. + */ + swatchColors?: string[]; + /** + * Determines which tab is visible when dialog opens. Use this prop with `base` variant only. + * Defaults to `swatch` tab. + */ + defaultSelectedTab?: 'swatches' | 'custom'; + /** + * Selects which tabs are present for the colorpicker. + * * `base`: both swatches and custom tabs are present + * * `swatches`: only swatch tab is present + * * `custom`: only custom tab is present + * _Tested with snapshot testing._ + */ + variant?: 'base' | 'swatches' | 'custom'; + /** + * Current color in hexadecimal string, including # sign (eg: "#000000") + */ + value?: string; + /** + * Current working color in hexadecimal string, including # sign (eg: "#000000") + */ + valueWorking?: string; + }; + /** + * The Unified Color Picker component allows for a fully accessible and configurable color picker, allowing the user to pick from a set of predefined colors (swatches), or to pick a custom color using a HSB selection interface. It can be configured to show one or both of those color selection interfaces. View [component blueprint guidelines](https://lightningdesignsystem.com/components/color-picker/). + */ + function Component(props: Props): React.ReactElement; + export default Component; +} diff --git a/components/color-picker/__docs__/__snapshots__/storybook-stories.storyshot b/components/color-picker/__docs__/__snapshots__/storybook-stories.storyshot new file mode 100644 index 0000000000..2b9e7f1fd7 --- /dev/null +++ b/components/color-picker/__docs__/__snapshots__/storybook-stories.storyshot @@ -0,0 +1,2372 @@ +// Jest Snapshot v1, https://goo.gl/fbAQLP + +exports[`DOM snapshots SLDSColorPicker Color Picker Disabled 1`] = ` +
    +
    +
    + +
    + +
    +
    +
    + +
    +
    + +
    +
    +
    +`; + +exports[`DOM snapshots SLDSColorPicker ColorPicker Menu Open 1`] = ` +
    +
    +
    + +
    + + +
    +
    +
    + +
    +
    + +
    +
    +
    +`; + +exports[`DOM snapshots SLDSColorPicker Custom Only 1`] = ` +
    +
    +
    + +
    + +
    +
    +
    + +
    +
    + +
    +
    +
    +`; + +exports[`DOM snapshots SLDSColorPicker Custom Tab Selected 1`] = ` +
    +
    +
    + +
    + +
    +
    +
    + +
    +
    + +
    +
    +
    +`; + +exports[`DOM snapshots SLDSColorPicker Custom Validator 1`] = ` +
    +
    +
    + +
    + +
    +
    +
    + +
    +
    + +
    +
    +
    +`; + +exports[`DOM snapshots SLDSColorPicker Default - Right to Left (RTL) 1`] = ` +
    +
    +
    +
    + +
    + +
    +
    +
    + +
    +
    + +
    +
    +
    +
    +`; + +exports[`DOM snapshots SLDSColorPicker Default 1`] = ` +
    +
    +
    + +
    + +
    +
    +
    + +
    +
    + +
    +
    +
    +`; + +exports[`DOM snapshots SLDSColorPicker Doc site Default 1`] = ` +
    +
    +
    + +
    + +
    +
    +
    + +
    +
    + +
    +
    +
    +`; + +exports[`DOM snapshots SLDSColorPicker Hidden Input 1`] = ` +
    +
    +
    + +
    + +
    + +
    +
    +
    +`; + +exports[`DOM snapshots SLDSColorPicker Outer Input in Error State 1`] = ` +
    +
    +
    + +
    + +
    +
    +
    + +
    +
    +

    + Hex is invalid. Please correct this field. +

    +
    +
    +
    +`; + +exports[`DOM snapshots SLDSColorPicker Predefined Colors 1`] = ` +
    +
    +
    + +
    + +
    +
    +
    + +
    +
    + +
    +
    +
    +`; + +exports[`DOM snapshots SLDSColorPicker Predefined Colors Only 1`] = ` +
    +
    +
    + +
    + +
    +
    +
    + +
    +
    + +
    +
    +
    +`; + +exports[`DOM snapshots SLDSColorPicker Swatch Only 1`] = ` +
    +
    +
    + +
    + +
    +
    +
    + +
    +
    + +
    +
    +
    +`; + +exports[`DOM snapshots SLDSColorPicker Working Color Input in Error State 1`] = ` +
    +
    +
    + +
    + +
    +
    +
    + +
    +
    + +
    +
    +
    +`; diff --git a/components/color-picker/__docs__/storybook-stories.jsx b/components/color-picker/__docs__/storybook-stories.jsx new file mode 100644 index 0000000000..323597277d --- /dev/null +++ b/components/color-picker/__docs__/storybook-stories.jsx @@ -0,0 +1,175 @@ +import React from 'react'; +import { storiesOf } from '@storybook/react'; +import { action } from '@storybook/addon-actions'; +import IconSettings from '../../icon-settings'; + +import ColorPicker from '../../color-picker'; +import { COLOR_PICKER } from '../../../utilities/constants'; + +import Default from '../__examples__/default'; + +// eslint-disable-next-line camelcase +import UNSAFE_DirectionSettings from '../../utilities/UNSAFE_direction'; + +const makeRtl = (component) => ( + // eslint-disable-next-line + +
    {component}
    +
    +); + +const HEX_REGEX_6_DIGITS = /^#([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i; + +const handleChange = (event, data) => { + const dataAsArray = Object.keys(data).map((key) => data[key]); + action('onChange')(event, data, ...dataAsArray); +}; + +const customOuterInputValidator = (hex) => !hex || HEX_REGEX_6_DIGITS.test(hex); + +storiesOf(COLOR_PICKER, module) + .addDecorator((getStory) => ( +
    + {getStory()} +
    + )) + .add('Default', () => ( + + )) + .add('Default - Right to Left (RTL)', () => + makeRtl( + + ) + ) + .add('Custom Only', () => ( + + )) + .add('Swatch Only', () => ( + + )) + .add('Predefined Colors', () => ( + + )) + .add('Predefined Colors Only', () => ( + + )) + .add('Hidden Input', () => ( + + )) + .add('Custom Tab Selected', () => ( + + )) + .add('Outer Input in Error State', () => ( + + )) + .add('Working Color Input in Error State', () => ( + + )) + .add('Custom Validator', () => ( + // Example of a custom validator that support hex color with strictly 6 digits. + + )) + .add('Color Picker Disabled', () => ( + + )) + .add('ColorPicker Menu Open', () => ( + + )) + .add('Doc site Default', () => ); diff --git a/components/color-picker/__examples__/default.jsx b/components/color-picker/__examples__/default.jsx new file mode 100644 index 0000000000..8c3efb8e03 --- /dev/null +++ b/components/color-picker/__examples__/default.jsx @@ -0,0 +1,22 @@ +/* eslint-disable no-console, react/prop-types */ +import React from 'react'; + +import IconSettings from '~/components/icon-settings'; +import ColorPicker from '~/components/color-picker'; + +class Example extends React.Component { + static displayName = 'ColorPickerExample'; + + render() { + return ( + + + + ); + } +} + +export default Example; // export is replaced with `ReactDOM.render(, mountNode);` at runtime diff --git a/components/color-picker/check-props.js b/components/color-picker/check-props.js new file mode 100644 index 0000000000..0429d2f2ba --- /dev/null +++ b/components/color-picker/check-props.js @@ -0,0 +1,32 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = void 0; + +var _onlyOneOfProperties = _interopRequireDefault(require("../../utilities/warning/only-one-of-properties")); + +var _getComponentDoc = _interopRequireDefault(require("../../utilities/get-component-doc")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */ + +/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */ + +/* eslint-disable import/no-mutable-exports */ +var checkProps = function checkPropsFunction() {}; + +if (process.env.NODE_ENV !== 'production') { + checkProps = function checkPropsFunction(COMPONENT, props, jsonDoc) { + var createDocUrl = (0, _getComponentDoc.default)(jsonDoc); + (0, _onlyOneOfProperties.default)(COMPONENT, { + 'assistiveText.label': props.assistiveText && props.assistiveText.label, + label: props.labels.label + }, createDocUrl('assistiveText')); + }; +} + +var _default = checkProps; +exports.default = _default; \ No newline at end of file diff --git a/components/color-picker/component.json b/components/color-picker/component.json new file mode 100644 index 0000000000..e2439bf727 --- /dev/null +++ b/components/color-picker/component.json @@ -0,0 +1,14 @@ +{ + "component": "color-picker", + "status": "prod", + "display-name": "Color Pickers", + "classKey": "ColorPicker", + "SLDS-component-path": "/components/color-picker", + "site-stories": [ + { + "heading": "Default", + "path": "/__examples__/default.jsx" + } + ], + "url-slug": "color-picker" +} diff --git a/components/color-picker/index.js b/components/color-picker/index.js new file mode 100644 index 0000000000..ea310e80c0 --- /dev/null +++ b/components/color-picker/index.js @@ -0,0 +1,653 @@ +"use strict"; + +function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = void 0; + +var _classnames = _interopRequireDefault(require("classnames")); + +var _propTypes = _interopRequireDefault(require("prop-types")); + +var _react = _interopRequireDefault(require("react")); + +var _shortid = _interopRequireDefault(require("shortid")); + +var _lodash = _interopRequireDefault(require("lodash.assign")); + +var _checkProps = _interopRequireDefault(require("./check-props")); + +var _customColor = _interopRequireDefault(require("./private/custom-color")); + +var _swatch = _interopRequireDefault(require("./private/swatch")); + +var _swatchPicker = _interopRequireDefault(require("./private/swatch-picker")); + +var _button = _interopRequireDefault(require("../button")); + +var _input = _interopRequireDefault(require("../input")); + +var _tabs = _interopRequireDefault(require("../tabs")); + +var _panel = _interopRequireDefault(require("../tabs/panel")); + +var _popover = _interopRequireDefault(require("../popover")); + +var _color = _interopRequireDefault(require("../../utilities/color")); + +var _constants = require("../../utilities/constants"); + +var _component = _interopRequireDefault(require("./component.json")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } + +function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); } + +function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } + +function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; } + +function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } + +function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } } + +function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var propTypes = { + /** + * **Assistive text for accessibility** + * * `label`: Visually hidden label but read out loud by screen readers. + * * `hueSlider`: Instructions for hue selection input + * * `saturationValueGrid`: Instructions for using the grid for saturation + * and value selection + */ + assistiveText: _propTypes.default.shape({ + label: _propTypes.default.string, + hueSlider: _propTypes.default.string, + saturationValueGrid: _propTypes.default.string + }), + + /** + * CSS classes to be added to tag with `.slds-color-picker`. Uses `classNames` [API](https://github.com/JedWatson/classnames). _Tested with snapshot testing._ + */ + className: _propTypes.default.oneOfType([_propTypes.default.array, _propTypes.default.object, _propTypes.default.string]), + + /** + * CSS classes to be added to tag with `.slds-popover`. Uses `classNames` [API](https://github.com/JedWatson/classnames). _Tested with snapshot testing._ + */ + classNameMenu: _propTypes.default.oneOfType([_propTypes.default.array, _propTypes.default.object, _propTypes.default.string]), + + /** + * Unique ID for component. + */ + id: _propTypes.default.string, + + /** + * Disables the input and button. + */ + disabled: _propTypes.default.bool, + + /** + * Message to display when the outer input is in an error state. When this is present, also visually highlights the component as in error. + */ + errorText: _propTypes.default.string, + + /** + * Message to display when the custom tab input is in an error state. When this is present, also visually highlights the component as in error. + */ + errorTextWorkingColor: _propTypes.default.string, + + /** + * Event Callbacks + * * `onChange`: This function is triggered when done is clicked. This function returns `{event, { color: [string] }}`, which is a hex representation of the color. + * * `onClose`: This function is triggered when the menu is closed. This function returns `{event, { trigger, componentWillUnmount }}`. Trigger can have the values `cancel`, `clickOutside`, or `newPopover`. + * * `onOpen`: This function is triggered when the color-picker menu is mounted and added to the DOM. The parameters are `event, { portal: }`. `portal` can be used as a React tree root node. + * * `onRequestClose`: This function is triggered when the user clicks outside the menu or clicks the close button. You will want to define this if color-picker is to be a controlled component. Most of the time you will want to set `isOpen` to `false` when this is triggered unless you need to validate something. + * This function returns `{event, {trigger: [string]}}` where `trigger` is either `cancel` or `clickOutside`. + * * `onRequestOpen`: Function called when the color-picker menu would like show. + * * `onValidateColor`: Function that overwrites default color validator and called when validating HEX color on outer input change. If callback returns false, errorText is shown if set. + * * `onValidateWorkingColor`: Function that overwrites default color validator and called when validating HEX color on custom tab inner input change. If callback returns false, errorTextWorkingColor is shown if set. + * * `onWorkingColorChange`: This function is triggered when working color changes (color inside the custom tab). This function returns `{event, { color: [string] }}`, which is a hex representation of the color. + * _Tested with Mocha framework._ + */ + events: _propTypes.default.shape({ + onChange: _propTypes.default.func, + onClose: _propTypes.default.func, + onOpen: _propTypes.default.func, + onRequestClose: _propTypes.default.func, + onRequestOpen: _propTypes.default.func, + onValidateColor: _propTypes.default.func, + onValidateWorkingColor: _propTypes.default.func, + onWorkingColorChange: _propTypes.default.func + }), + + /** + * By default, dialogs will flip their alignment (such as bottom to top) if they extend beyond a boundary element such as a scrolling parent or a window/viewpoint. `hasStaticAlignment` disables this behavior and allows this component to extend beyond boundary elements. _Not tested._ + */ + hasStaticAlignment: _propTypes.default.bool, + + /** + * Hides the text input + */ + hideInput: _propTypes.default.bool, + + /** + * Popover open state + */ + isOpen: _propTypes.default.bool, + + /** + * **Text labels for internationalization** + * * `blueAbbreviated`: One letter abbreviation of blue color component + * * `cancelButton`: Text for cancel button on popover + * * `customTab`: Text for custom tab of popover + * * `customTabActiveWorkingColorSwatch`: Label for custom tab active working color swatch + * * `customTabTransparentSwatch`: Label for custom tab active transparent swatch + * * `greenAbbreviated`: One letter abbreviation of green color component + * * `hexLabel`: Label for input of hexadecimal color + * * `invalidColor`: Error message when hex color input is invalid + * * `invalidComponent`: Error message when a component input is invalid + * * `label`: An `input` label as for a `form` + * * `redAbbreviated`: One letter abbreviation of red color component + * * `swatchTab`: Label for swatch tab of popover + * * `submitButton`: Text for submit/done button of popover + */ + labels: _propTypes.default.shape({ + blueAbbreviated: _propTypes.default.string, + cancelButton: _propTypes.default.string, + customTab: _propTypes.default.string, + customTabActiveWorkingColorSwatch: _propTypes.default.string, + customTabTransparentSwatch: _propTypes.default.string, + greenAbbreviated: _propTypes.default.string, + hexLabel: _propTypes.default.string, + invalidColor: _propTypes.default.string, + invalidComponent: _propTypes.default.string, + label: _propTypes.default.string, + redAbbreviated: _propTypes.default.string, + swatchTab: _propTypes.default.string, + swatchTabTransparentSwatch: _propTypes.default.string, + submitButton: _propTypes.default.string + }), + + /** + * Please select one of the following: + * * `absolute` - (default) The dialog will use `position: absolute` and style attributes to position itself. This allows inverted placement or flipping of the dialog. + * * `overflowBoundaryElement` - The dialog will overflow scrolling parents. Use on elements that are aligned to the left or right of their target and don't care about the target being within a scrolling parent. Typically this is a popover or tooltip. Dropdown menus can usually open up and down if no room exists. In order to achieve this a portal element will be created and attached to `body`. This element will render into that detached render tree. + * * `relative` - No styling or portals will be used. Menus will be positioned relative to their triggers. This is a great choice for HTML snapshot testing. + */ + menuPosition: _propTypes.default.oneOf(['absolute', 'overflowBoundaryElement', 'relative']), + + /** + * An array of hex color values which is used to set the options of the + * swatch tab of the colorpicker popover. + * To specify transparent, use empty string as a value. + */ + swatchColors: _propTypes.default.arrayOf(_propTypes.default.string), + + /** + * Determines which tab is visible when dialog opens. Use this prop with `base` variant only. + * Defaults to `swatch` tab. + */ + defaultSelectedTab: _propTypes.default.oneOf(['swatches', 'custom']), + + /** + * Selects which tabs are present for the colorpicker. + * * `base`: both swatches and custom tabs are present + * * `swatches`: only swatch tab is present + * * `custom`: only custom tab is present + * _Tested with snapshot testing._ + */ + variant: _propTypes.default.oneOf(['base', 'swatches', 'custom']), + + /** + * Current color in hexadecimal string, including # sign (eg: "#000000") + */ + value: _propTypes.default.string, + + /** + * Current working color in hexadecimal string, including # sign (eg: "#000000") + */ + valueWorking: _propTypes.default.string +}; +var defaultProps = { + assistiveText: { + saturationValueGrid: 'Use arrow keys to select a saturation and brightness, on an x and y axis.', + hueSlider: 'Select Hue' + }, + events: {}, + labels: { + blueAbbreviated: 'B', + cancelButton: 'Cancel', + customTab: 'Custom', + customTabActiveWorkingColorSwatch: 'Working Color', + customTabTransparentSwatch: 'Transparent Swatch', + greenAbbreviated: 'G', + hexLabel: 'Hex', + invalidColor: 'The color entered is invalid', + invalidComponent: 'The value needs to be an integer from 0-255', + redAbbreviated: 'R', + submitButton: 'Done', + swatchTab: 'Default', + swatchTabTransparentSwatch: 'Transparent Swatch' + }, + menuPosition: 'absolute', + swatchColors: ['#e3abec', '#c2dbf7', '#9fd6ff', '#9de7da', '#9df0c0', '#fff099', '#fed49a', '#d073e0', '#86baf3', '#5ebbff', '#44d8be', '#3be282', '#ffe654', '#ffb758', '#bd35bd', '#5779c1', '#5679c0', '#00aea9', '#3cba4c', '#f5bc25', '#f99221', '#580d8c', '#001970', '#0a2399', '#0b7477', '#0b6b50', '#b67e11', '#b85d0d', ''], + defaultSelectedTab: 'swatches', + variant: 'base' +}; +/** + * The Unified Color Picker component allows for a fully accessible and configurable color picker, allowing the user to pick from a set of predefined colors (swatches), or to pick a custom color using a HSB selection interface. It can be configured to show one or both of those color selection interfaces. View [component blueprint guidelines](https://lightningdesignsystem.com/components/color-picker/). + */ + +var ColorPicker = /*#__PURE__*/function (_React$Component) { + _inherits(ColorPicker, _React$Component); + + var _super = _createSuper(ColorPicker); + + function ColorPicker(props) { + var _this; + + _classCallCheck(this, ColorPicker); + + _this = _super.call(this, props); + + _defineProperty(_assertThisInitialized(_this), "handleSwatchChange", function (event) { + _this.setWorkingColor(event, { + hex: event.target.value + }); + }); + + _defineProperty(_assertThisInitialized(_this), "handleOnRequestClose", function (event, _ref) { + var trigger = _ref.trigger; + + if (trigger === 'clickOutside' || trigger === 'cancel') { + _this.handleCancelState(); + } + + if (_this.props.onRequestClose) { + _this.props.onRequestClose(event, { + trigger: trigger + }); + } + }); + + _defineProperty(_assertThisInitialized(_this), "handleClickOutside", function (event) { + _this.handleCancelButtonClick(event); + }); + + _defineProperty(_assertThisInitialized(_this), "handleCancel", function (event) { + _this.handleCancelState(); + + if (_this.props.onRequestClose) { + _this.props.onRequestClose(event, { + trigger: 'cancel' + }); + } + }); + + _defineProperty(_assertThisInitialized(_this), "handleCancelState", function () { + var workingColor = _color.default.getNewColor({ + // eslint-disable-next-line react/no-access-state-in-setstate + hex: _this.state.currentColor + }, _this.props.events.onValidateWorkingColor); + + _this.setState({ + isOpen: false, + workingColor: workingColor, + previousWorkingColor: workingColor + }); + }); + + _defineProperty(_assertThisInitialized(_this), "handleHexInputChange", function (event, _ref2) { + var labels = _ref2.labels; + var currentColor = event.target.value; + + var namedColorHex = _color.default.getHexFromNamedColor(currentColor); + + var isValid = false; + + if (_this.props.events.onValidateColor) { + isValid = _this.props.events.onValidateColor(currentColor); + } else { + isValid = namedColorHex ? true : _color.default.isValidHex(currentColor); + } + + _this.setState({ + currentColor: currentColor, + workingColor: _color.default.getNewColor({ + hex: namedColorHex || currentColor, + name: namedColorHex ? currentColor.toLowerCase() : null + }, _this.props.events.onValidateWorkingColor), + colorErrorMessage: isValid ? '' : labels.invalidColor + }); + + if (_this.props.events.onChange) { + _this.props.events.onChange(event, { + color: currentColor, + isValid: isValid + }); + } + }); + + _defineProperty(_assertThisInitialized(_this), "handleSaturationValueChange", function (event, _ref3) { + var saturation = _ref3.saturation, + value = _ref3.value; + + _this.setWorkingColor(event, { + saturation: saturation, + value: value + }); + }); + + _defineProperty(_assertThisInitialized(_this), "handleSubmitButtonClick", function (event) { + _this.setState({ + isOpen: false, + // eslint-disable-next-line react/no-access-state-in-setstate + currentColor: _this.state.workingColor.hex, + colorErrorMessage: '' + }); + + if (_this.props.events.onChange) { + _this.props.events.onChange(event, { + color: _this.state.workingColor.hex, + isValid: true + }); + } + }); + + _defineProperty(_assertThisInitialized(_this), "handleSwatchButtonClick", function () { + var workingColor = _color.default.getNewColor({ + // eslint-disable-next-line react/no-access-state-in-setstate + hex: _this.state.workingColor.hex + }, _this.props.events.onValidateWorkingColor); + + _this.setState({ + // eslint-disable-next-line react/no-access-state-in-setstate + isOpen: !_this.state.isOpen, + workingColor: workingColor, + // eslint-disable-next-line react/no-access-state-in-setstate + previousWorkingColor: _this.state.previousWorkingColor + }); + + if (_this.props.onRequestOpen) { + _this.props.onRequestOpen(); + } + }); + + _defineProperty(_assertThisInitialized(_this), "handleSwatchSelect", function (event, _ref4) { + var hex = _ref4.hex; + + _this.setWorkingColor(event, { + hex: hex + }); + }); + + _this.generatedId = props.id || _shortid.default.generate(); + + var _workingColor = _color.default.getNewColor({ + hex: props.valueWorking || props.value + }, props.events.onValidateWorkingColor); + + _this.state = { + currentColor: props.value != null ? props.value : '', + disabled: props.disabled, + isOpen: props.isOpen, + workingColor: _workingColor, + previousWorkingColor: _workingColor, + colorErrorMessage: props.errorText + }; + (0, _checkProps.default)(_constants.COLOR_PICKER, props, _component.default); + return _this; + } + + _createClass(ColorPicker, [{ + key: "componentDidUpdate", + value: function componentDidUpdate(prevProps) { + // The following are only present to allow props to update the state if they get out of sync (for instance, the external store is updated). + var nextState = {}; + + if (this.props.value !== prevProps.value) { + nextState.currentColor = this.props.value; + } + + if (this.props.valueWorking !== prevProps.valueWorking) { + nextState.workingColor = _color.default.getNewColor({ + hex: this.props.valueWorking + }, this.props.events.onValidateWorkingColor); + } + + if (this.props.disabled !== prevProps.disabled) { + nextState.disabled = this.props.disabled; + } + + if (Object.entries(nextState).length !== 0) { + // eslint-disable-next-line react/no-did-update-set-state + this.setState(nextState); + } + } + }, { + key: "getInput", + value: function getInput(_ref5) { + var _this2 = this; + + var labels = _ref5.labels; + return this.props.hideInput ? null : /*#__PURE__*/_react.default.createElement(_input.default, { + "aria-describedby": !this.state.isOpen && this.state.colorErrorMessage ? "color-picker-summary-error-".concat(this.generatedId) : undefined, + className: (0, _classnames.default)('slds-color-picker__summary-input', 'slds-align-top', { + 'slds-has-error': !!this.state.colorErrorMessage + }), + disabled: this.props.disabled, + id: "color-picker-summary-input-".concat(this.generatedId), + onChange: function onChange(event) { + _this2.handleHexInputChange(event, { + labels: labels + }); + }, + value: this.state.currentColor + }); + } + }, { + key: "getDefaultTab", + value: function getDefaultTab(_ref6) { + var labels = _ref6.labels; + return (this.props.variant === 'base' || this.props.variant === 'swatches') && /*#__PURE__*/_react.default.createElement(_panel.default, { + label: labels.swatchTab + }, /*#__PURE__*/_react.default.createElement(_swatchPicker.default, { + color: this.state.workingColor, + labels: labels, + onSelect: this.handleSwatchSelect, + swatchColors: this.props.swatchColors + })); + } + }, { + key: "getCustomTab", + value: function getCustomTab(_ref7) { + var labels = _ref7.labels; + return (this.props.variant === 'base' || this.props.variant === 'custom') && /*#__PURE__*/_react.default.createElement(_panel.default, { + label: labels.customTab + }, /*#__PURE__*/_react.default.createElement(_customColor.default, { + assistiveText: this.props.assistiveText, + id: this.generatedId, + color: this.state.workingColor, + errorTextWorkingColor: this.props.errorTextWorkingColor, + previousColor: this.state.previousWorkingColor, + labels: labels, + onBlueChange: this.handleColorChange('blue'), + onGreenChange: this.handleColorChange('green'), + onHexChange: this.handleColorChange('hex'), + onHueChange: this.handleColorChange('hue'), + onRedChange: this.handleColorChange('red'), + onSwatchChange: this.handleSwatchChange, + onSaturationValueChange: this.handleSaturationValueChange, + onSaturationNavigate: this.handleNavigate('saturation'), + onValueNavigate: this.handleNavigate('value') + })); + } + }, { + key: "getPopover", + value: function getPopover(_ref8) { + var labels = _ref8.labels; + + var popoverBody = /*#__PURE__*/_react.default.createElement(_tabs.default, { + id: "color-picker-tabs-".concat(this.generatedId), + defaultSelectedIndex: this.props.defaultSelectedTab === 'custom' ? 1 : 0 + }, this.getDefaultTab({ + labels: labels + }), this.getCustomTab({ + labels: labels + })); + + var popoverFooter = /*#__PURE__*/_react.default.createElement("div", { + className: "slds-color-picker__selector-footer" + }, /*#__PURE__*/_react.default.createElement(_button.default, { + className: "slds-color-picker__selector-cancel", + id: "color-picker-footer-cancel-".concat(this.generatedId), + label: labels.cancelButton, + onClick: this.handleCancel, + variant: "neutral" + }), /*#__PURE__*/_react.default.createElement(_button.default, { + className: "slds-color-picker__selector-submit", + disabled: Object.keys(this.state.workingColor.errors || {}).length > 0, + id: "color-picker-footer-submit-".concat(this.generatedId), + label: labels.submitButton, + onClick: this.handleSubmitButtonClick, + variant: "brand" + })); + + return /*#__PURE__*/_react.default.createElement(_popover.default, { + ariaLabelledby: "color-picker-label-".concat(this.generatedId), + align: "bottom left", + body: popoverBody, + className: (0, _classnames.default)('slds-color-picker__selector', this.props.classNameMenu), + footer: popoverFooter, + hasNoCloseButton: true, + hasNoNubbin: true, + hasStaticAlignment: this.props.hasStaticAlignment, + id: "slds-color-picker__selector-".concat(this.generatedId), + isOpen: this.state.isOpen, + onClose: this.props.onClose, + onOpen: this.props.onOpen, + onRequestClose: this.handleOnRequestClose, + position: this.props.menuPosition + }, /*#__PURE__*/_react.default.createElement(_button.default, { + className: "slds-color-picker__summary-button", + disabled: this.props.disabled, + iconClassName: "slds-m-left_xx-small", + iconPosition: "right", + iconVariant: "more", + id: "slds-color-picker__summary-button-".concat(this.generatedId), + label: /*#__PURE__*/_react.default.createElement(_swatch.default, { + color: this.state.currentColor, + labels: labels + }), + onClick: this.handleSwatchButtonClick, + variant: "icon" + })); + } + }, { + key: "setWorkingColor", + value: function setWorkingColor(event, color) { + var newColor = _color.default.getNewColor(color, this.props.events.onValidateWorkingColor, // eslint-disable-next-line react/no-access-state-in-setstate + this.state.workingColor); + + this.setState({ + workingColor: newColor, + // eslint-disable-next-line react/no-access-state-in-setstate + previousWorkingColor: this.state.workingColor + }); + + if (this.props.events.onWorkingColorChange) { + this.props.events.onWorkingColorChange(event, { + color: newColor + }); + } + } + }, { + key: "handleColorChange", + value: function handleColorChange(property) { + var _this3 = this; + + return function (event) { + var colorProperties = {}; + colorProperties[property] = event.target.value; + + _this3.setWorkingColor(event, colorProperties); + }; + } + }, { + key: "handleNavigate", + value: function handleNavigate(property) { + var _this4 = this; + + return function (event, _ref9) { + var delta = _ref9.delta; + var colorProperties = {}; + colorProperties[property] = delta; + + var newColor = _color.default.getDeltaColor(colorProperties, _this4.props.events.onValidateWorkingColor, // eslint-disable-next-line react/no-access-state-in-setstate + _this4.state.workingColor); + + _this4.setState({ + workingColor: newColor, + // eslint-disable-next-line react/no-access-state-in-setstate + previousWorkingColor: _this4.state.workingColor + }); + + if (_this4.props.events.onWorkingColorChange) { + _this4.props.events.onWorkingColorChange(event, { + color: newColor + }); + } + }; + } + }, { + key: "render", + value: function render() { + var _this5 = this; + + var labels = (0, _lodash.default)({}, defaultProps.labels, this.props.labels); + return /*#__PURE__*/_react.default.createElement("div", { + className: (0, _classnames.default)('slds-color-picker', this.props.className), + ref: function ref(node) { + _this5.wrapper = node; + } + }, /*#__PURE__*/_react.default.createElement("div", { + className: "slds-color-picker__summary" + }, /*#__PURE__*/_react.default.createElement("label", { + className: (0, _classnames.default)('slds-color-picker__summary-label', this.props.assistiveText.label ? 'slds-assistive-text' : ''), + htmlFor: !this.props.hideInput ? "color-picker-summary-input-".concat(this.generatedId) : undefined, + id: "color-picker-label-".concat(this.generatedId) + }, this.props.assistiveText.label ? this.props.assistiveText.label : labels.label), this.getPopover({ + labels: labels + }), this.getInput({ + labels: labels + }), !this.state.isOpen && this.state.colorErrorMessage ? /*#__PURE__*/_react.default.createElement("p", { + className: "slds-form-error", + id: "color-picker-summary-error-".concat(this.generatedId) + }, this.state.colorErrorMessage) : '')); + } + }]); + + return ColorPicker; +}(_react.default.Component); + +_defineProperty(ColorPicker, "displayName", _constants.COLOR_PICKER); + +_defineProperty(ColorPicker, "propTypes", propTypes); + +_defineProperty(ColorPicker, "defaultProps", defaultProps); + +var _default = ColorPicker; +exports.default = _default; \ No newline at end of file diff --git a/components/color-picker/private/custom-color-form.js b/components/color-picker/private/custom-color-form.js new file mode 100644 index 0000000000..3ab8ead499 --- /dev/null +++ b/components/color-picker/private/custom-color-form.js @@ -0,0 +1,112 @@ +"use strict"; + +function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = void 0; + +var _react = _interopRequireDefault(require("react")); + +var _classnames = _interopRequireDefault(require("classnames")); + +var _input = _interopRequireDefault(require("../../input")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } + +function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); } + +function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } + +function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; } + +function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } + +function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } } + +function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var CustomColorForm = /*#__PURE__*/function (_React$Component) { + _inherits(CustomColorForm, _React$Component); + + var _super = _createSuper(CustomColorForm); + + function CustomColorForm() { + _classCallCheck(this, CustomColorForm); + + return _super.apply(this, arguments); + } + + _createClass(CustomColorForm, [{ + key: "render", + value: function render() { + var describedBy; + + if (this.props.errorTextWorkingColor || this.props.color.errors) { + describedBy = "color-picker-custom-error-".concat(this.props.id); + } + + return /*#__PURE__*/_react.default.createElement("div", { + className: "slds-color-picker__custom-inputs" + }, /*#__PURE__*/_react.default.createElement(_input.default, { + "aria-describedby": describedBy, + className: (0, _classnames.default)('slds-color-picker__input-custom-hex', { + 'slds-has-error': this.props.color.errors && this.props.color.errors.hex + }), + id: "color-picker-input-hex-".concat(this.props.id), + label: this.props.labels.hexLabel, + maxLength: "7", + onChange: this.props.onHexChange, + value: this.props.color.hex + }), /*#__PURE__*/_react.default.createElement(_input.default, { + "aria-describedby": describedBy, + className: (0, _classnames.default)('slds-color-picker__input-custom-r', { + 'slds-has-error': this.props.color.errors && this.props.color.errors.red + }), + id: "color-picker-input-r-".concat(this.props.id), + label: this.props.labels.redAbbreviated, + onChange: this.props.onRedChange, + maxLength: "3", + value: String(this.props.color.rgb.red) + }), /*#__PURE__*/_react.default.createElement(_input.default, { + "aria-describedby": describedBy, + className: (0, _classnames.default)('slds-color-picker__input-custom-g', { + 'slds-has-error': this.props.color.errors && this.props.color.errors.green + }), + id: "color-picker-input-g-".concat(this.props.id), + label: this.props.labels.greenAbbreviated, + onChange: this.props.onGreenChange, + maxLength: "3", + value: String(this.props.color.rgb.green) + }), /*#__PURE__*/_react.default.createElement(_input.default, { + "aria-describedby": describedBy, + className: (0, _classnames.default)('slds-color-picker__input-custom-b', { + 'slds-has-error': this.props.color.errors && this.props.color.errors.blue + }), + id: "color-picker-input-b-".concat(this.props.id), + label: this.props.labels.blueAbbreviated, + onChange: this.props.onBlueChange, + maxLength: "3", + value: String(this.props.color.rgb.blue) + })); + } + }]); + + return CustomColorForm; +}(_react.default.Component); + +_defineProperty(CustomColorForm, "displayName", 'SLDSCustomColorForm'); + +var _default = CustomColorForm; +exports.default = _default; \ No newline at end of file diff --git a/components/color-picker/private/custom-color.js b/components/color-picker/private/custom-color.js new file mode 100644 index 0000000000..d804d14ef7 --- /dev/null +++ b/components/color-picker/private/custom-color.js @@ -0,0 +1,102 @@ +"use strict"; + +function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = void 0; + +var _react = _interopRequireDefault(require("react")); + +var _customColorForm = _interopRequireDefault(require("./custom-color-form")); + +var _hsvColor = _interopRequireDefault(require("./hsv-color")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } + +function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); } + +function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } + +function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; } + +function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } + +function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } } + +function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +// using state to manage everything in here because multiple HSV coordinates +// can map to a single RGB coordinate and we lose that if we're always passing +// in a hex color +var CustomColor = /*#__PURE__*/function (_React$Component) { + _inherits(CustomColor, _React$Component); + + var _super = _createSuper(CustomColor); + + function CustomColor() { + _classCallCheck(this, CustomColor); + + return _super.apply(this, arguments); + } + + _createClass(CustomColor, [{ + key: "render", + value: function render() { + var errorText; + + if (this.props.errorTextWorkingColor) { + errorText = this.props.errorTextWorkingColor; + } else if (this.props.color.errors && this.props.color.errors.hex) { + errorText = this.props.labels.invalidColor; + } else { + errorText = this.props.labels.invalidComponent; + } + + return /*#__PURE__*/_react.default.createElement("div", { + className: "slds-color-picker__custom" + }, /*#__PURE__*/_react.default.createElement(_hsvColor.default, { + assistiveText: this.props.assistiveText, + color: this.props.color, + id: this.props.id, + labels: this.props.labels, + onHueChange: this.props.onHueChange, + onSaturationValueChange: this.props.onSaturationValueChange, + onSaturationNavigate: this.props.onSaturationNavigate, + onValueNavigate: this.props.onValueNavigate, + onSwatchChange: this.props.onSwatchChange, + previousColor: this.props.previousColor + }), /*#__PURE__*/_react.default.createElement(_customColorForm.default, { + color: this.props.color, + id: this.props.id, + errorTextWorkingColor: this.props.errorTextWorkingColor, + labels: this.props.labels, + onBlueChange: this.props.onBlueChange, + onGreenChange: this.props.onGreenChange, + onHexChange: this.props.onHexChange, + onRedChange: this.props.onRedChange + }), this.props.errorTextWorkingColor || this.props.color.errors ? /*#__PURE__*/_react.default.createElement("p", { + className: "slds-form-error slds-color-picker__input-custom-error", + id: "color-picker-custom-error-".concat(this.props.id) + }, errorText) : ''); + } + }]); + + return CustomColor; +}(_react.default.Component); + +_defineProperty(CustomColor, "displayName", 'SLDSCustomColor'); + +var _default = CustomColor; +exports.default = _default; \ No newline at end of file diff --git a/components/color-picker/private/hsv-color.js b/components/color-picker/private/hsv-color.js new file mode 100644 index 0000000000..0eaf735b4e --- /dev/null +++ b/components/color-picker/private/hsv-color.js @@ -0,0 +1,228 @@ +"use strict"; + +function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = void 0; + +var _react = _interopRequireDefault(require("react")); + +var _keyCode = _interopRequireDefault(require("../../../utilities/key-code")); + +var _radioButtonGroup = _interopRequireDefault(require("../../../components/radio-button-group")); + +var _radio = _interopRequireDefault(require("../../../components/radio-button-group/radio")); + +var _color = _interopRequireDefault(require("../../../utilities/color")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; } + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } + +function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); } + +function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } + +function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; } + +function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } + +function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } } + +function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var handleClick = function handleClick(event, rangeIndicator, _ref) { + var onSaturationValueChange = _ref.onSaturationValueChange; + var rect = event.currentTarget.getBoundingClientRect(); + rangeIndicator.focus(); + onSaturationValueChange(event, { + saturation: Math.round((event.clientX - rect.left) / rect.width * 100), + value: Math.round((rect.bottom - event.clientY) / rect.height * 100) + }); +}; + +var handleKeyDown = function handleKeyDown(event, _ref2) { + var _keyDownCallbacks; + + var onSaturationNavigate = _ref2.onSaturationNavigate, + onValueNavigate = _ref2.onValueNavigate; + var keyDownCallbacks = (_keyDownCallbacks = {}, _defineProperty(_keyDownCallbacks, _keyCode.default.LEFT, function (multiplier) { + onSaturationNavigate(event, { + delta: multiplier * -1 + }); + }), _defineProperty(_keyDownCallbacks, _keyCode.default.RIGHT, function (multiplier) { + onSaturationNavigate(event, { + delta: multiplier + }); + }), _defineProperty(_keyDownCallbacks, _keyCode.default.UP, function (multiplier) { + onValueNavigate(event, { + delta: multiplier + }); + }), _defineProperty(_keyDownCallbacks, _keyCode.default.DOWN, function (multiplier) { + onValueNavigate(event, { + delta: multiplier * -1 + }); + }), _keyDownCallbacks); + + if (keyDownCallbacks[event.keyCode]) { + event.preventDefault(); + keyDownCallbacks[event.keyCode](event.shiftKey ? 10 : 1); + } +}; + +var selectedStyle = { + border: '1px solid #9e9e9e', + boxShadow: 'rgb(117, 112, 112) 1px 1px 1px', + marginRight: '2px' +}; +var unselectedStyle = { + border: '1px solid #9e9e9e', + marginRight: '2px' +}; + +var HsvColor = /*#__PURE__*/function (_React$Component) { + _inherits(HsvColor, _React$Component); + + var _super = _createSuper(HsvColor); + + function HsvColor() { + var _this; + + _classCallCheck(this, HsvColor); + + for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { + args[_key] = arguments[_key]; + } + + _this = _super.call.apply(_super, [this].concat(args)); + + _defineProperty(_assertThisInitialized(_this), "handleSwatchChange", function (event) { + _this.setState({ + isTransparentSelected: event.target.value === '' + }); + + _this.props.onSwatchChange(event); + }); + + _defineProperty(_assertThisInitialized(_this), "isTransparent", function () { + return _this.props.color.hex === ''; + }); + + return _this; + } + + _createClass(HsvColor, [{ + key: "render", + value: function render() { + var _this2 = this; + + var style = { + border: 'none', + borderRadius: 'unset' + }; + var swatchStyle = this.isTransparent() ? _objectSpread({}, unselectedStyle) : _objectSpread({}, selectedStyle); + var transparentSwatchStyle = this.isTransparent() ? _objectSpread({}, selectedStyle) : _objectSpread({}, unselectedStyle); // when working color is transparent: either use the previous color or default to black + + var fallbackWorkingColor = this.props.previousColor.hex ? this.props.previousColor : _color.default.getNewColor({ + hex: '#000000' + }); + var workingColor = this.isTransparent() ? fallbackWorkingColor : this.props.color; + return /*#__PURE__*/_react.default.createElement("div", null, /*#__PURE__*/_react.default.createElement("p", { + className: "slds-assistive-text", + id: "color-picker-instructions-".concat(this.props.id) + }, this.props.assistiveText.saturationValueGrid), /*#__PURE__*/_react.default.createElement("div", { + className: "slds-color-picker__custom-range", + style: { + background: "hsl(".concat(workingColor.hsv.hue, ", 100%, 50%)") + }, + onClick: function onClick(event) { + handleClick(event, _this2.rangeIndicator, { + onSaturationValueChange: _this2.props.onSaturationValueChange + }); + }, + role: "presentation" + }, /*#__PURE__*/_react.default.createElement("a", { + "aria-atomic": "true", + "aria-describedby": "color-picker-instructions-".concat(this.props.id), + "aria-live": "assertive", + className: "slds-color-picker__range-indicator", + onKeyDown: function onKeyDown(event) { + handleKeyDown(event, _objectSpread({}, _this2.props)); + }, + ref: function ref(rangeIndicator) { + _this2.rangeIndicator = rangeIndicator; + }, + role: "button", + style: { + bottom: "".concat(workingColor.hsv.value, "%"), + left: "".concat(workingColor.hsv.saturation, "%") + }, + tabIndex: 0 + }, /*#__PURE__*/_react.default.createElement("span", { + className: "slds-assistive-text" + }, "Saturation ".concat(workingColor.hsv.saturation, "% Brightness: ").concat(workingColor.hsv.value, "%")))), /*#__PURE__*/_react.default.createElement("div", { + className: "slds-color-picker__hue-and-preview" + }, /*#__PURE__*/_react.default.createElement("label", { + className: "slds-assistive-text", + htmlFor: "color-picker-input-range-".concat(this.props.id) + }, this.props.assistiveText.hueSlider), /*#__PURE__*/_react.default.createElement("input", { + type: "range", + min: "0", + max: "360", + className: "slds-color-picker__hue-slider", + id: "color-picker-input-range-".concat(this.props.id), + value: workingColor.hsv.hue, + onChange: this.props.onHueChange + }), /*#__PURE__*/_react.default.createElement(_radioButtonGroup.default, { + name: "".concat(this.props.id, "-color-picker-swatch-toggle-button-group"), + assistiveText: { + label: 'Toggle Transparency' + }, + style: style, + onChange: this.handleSwatchChange + }, /*#__PURE__*/_react.default.createElement(_radio.default, { + checked: !this.isTransparent(), + id: "color-picker-active-working-color-swatch-".concat(this.props.id), + key: "working-color", + labels: { + label: this.props.labels.customTabActiveWorkingColorSwatch + }, + style: swatchStyle, + value: workingColor.hex, + variant: "swatch" + }), /*#__PURE__*/_react.default.createElement(_radio.default, { + checked: this.isTransparent(), + id: "color-picker-transparent-swatch-".concat(this.props.id), + key: "transparent", + labels: { + label: this.props.labels.customTabTransparentSwatch + }, + style: transparentSwatchStyle, + value: "" // transparent + , + variant: "swatch" + })))); + } + }]); + + return HsvColor; +}(_react.default.Component); + +_defineProperty(HsvColor, "displayName", 'SLDSHsvColor'); + +var _default = HsvColor; +exports.default = _default; \ No newline at end of file diff --git a/components/color-picker/private/swatch-option.js b/components/color-picker/private/swatch-option.js new file mode 100644 index 0000000000..57aa1c74f7 --- /dev/null +++ b/components/color-picker/private/swatch-option.js @@ -0,0 +1,103 @@ +"use strict"; + +function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = void 0; + +var _react = _interopRequireDefault(require("react")); + +var _swatch = _interopRequireDefault(require("./swatch")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } + +function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); } + +function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } + +function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; } + +function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } + +function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } } + +function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var handleClick = function handleClick(event, _ref) { + var hex = _ref.hex, + onSelect = _ref.onSelect; + event.preventDefault(); + onSelect(event, { + hex: hex + }); +}; + +var selectedStyle = { + border: '1px solid #141414', + borderRadius: '2px', + margin: '3px' +}; +var selectedInnerStyle = { + border: '1px solid white', + borderRadius: '2px' +}; + +var SwatchOption = /*#__PURE__*/function (_React$Component) { + _inherits(SwatchOption, _React$Component); + + var _super = _createSuper(SwatchOption); + + function SwatchOption() { + _classCallCheck(this, SwatchOption); + + return _super.apply(this, arguments); + } + + _createClass(SwatchOption, [{ + key: "render", + value: function render() { + var _this = this; + + return /*#__PURE__*/_react.default.createElement("li", { + className: "slds-color-picker__swatch", + style: this.props.workingColor && this.props.workingColor.hex === this.props.color ? selectedStyle : {}, + role: "presentation" + }, /*#__PURE__*/_react.default.createElement("a", { + "aria-selected": this.props.workingColor && this.props.workingColor.hex === this.props.color, + className: "slds-color-picker__swatch-trigger", + onClick: function onClick(event) { + handleClick(event, { + hex: _this.props.color, + onSelect: _this.props.onSelect + }); + }, + ref: this.props.swatchOptionRef, + role: "option", + style: this.props.workingColor && this.props.workingColor === this.props.color ? selectedInnerStyle : {}, + tabIndex: this.props.tabIndex + }, /*#__PURE__*/_react.default.createElement(_swatch.default, { + color: this.props.color, + labels: this.props.labels + }))); + } + }]); + + return SwatchOption; +}(_react.default.Component); + +_defineProperty(SwatchOption, "displayName", 'SLDSSwatchOption'); + +var _default = SwatchOption; +exports.default = _default; \ No newline at end of file diff --git a/components/color-picker/private/swatch-picker.js b/components/color-picker/private/swatch-picker.js new file mode 100644 index 0000000000..cfdb66ee5e --- /dev/null +++ b/components/color-picker/private/swatch-picker.js @@ -0,0 +1,172 @@ +"use strict"; + +function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = void 0; + +var _react = _interopRequireDefault(require("react")); + +var _lodash = _interopRequireDefault(require("lodash.findindex")); + +var _swatchOption = _interopRequireDefault(require("./swatch-option")); + +var _keyCode = _interopRequireDefault(require("../../../utilities/key-code")); + +var _event = _interopRequireDefault(require("../../../utilities/event")); + +var _UNSAFE_direction = require("../../utilities/UNSAFE_direction"); + +var _languageDirection = _interopRequireDefault(require("../../utilities/UNSAFE_direction/private/language-direction")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; } + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } + +function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); } + +function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } + +function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; } + +function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } + +function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } } + +function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var SwatchPicker = /*#__PURE__*/function (_React$Component) { + _inherits(SwatchPicker, _React$Component); + + var _super = _createSuper(SwatchPicker); + + function SwatchPicker(_props) { + var _this; + + _classCallCheck(this, SwatchPicker); + + _this = _super.call(this, _props); + + _defineProperty(_assertThisInitialized(_this), "selectPreviousColor", function (event, props) { + var index = (0, _lodash.default)(props.swatchColors, function (item) { + return item === props.color.hex; + }); + var nextIndex = index === -1 || index === props.swatchColors.length - 1 ? 0 : index + 1; + var prevColor = props.swatchColors[nextIndex]; + props.onSelect(event, { + hex: prevColor + }); + + _this.swatchColorRefs[prevColor].focus(); + }); + + _defineProperty(_assertThisInitialized(_this), "selectNextColor", function (event, props) { + var index = (0, _lodash.default)(props.swatchColors, function (item) { + return item === props.color.hex; + }); + var prevIndex; + + if (index === 0) { + prevIndex = props.swatchColors.length - 1; + } else if (index === -1) { + prevIndex = 0; + } else { + prevIndex = index - 1; + } + + var nextColor = props.swatchColors[prevIndex]; + props.onSelect(event, { + hex: nextColor + }); + + _this.swatchColorRefs[nextColor].focus(); + }); + + _defineProperty(_assertThisInitialized(_this), "handleKeyDown", function (event, props) { + var _keyDownCallbacks; + + var keyDownCallbacks = (_keyDownCallbacks = {}, _defineProperty(_keyDownCallbacks, _keyCode.default.RIGHT, function () { + if (props.direction === _UNSAFE_direction.DIRECTIONS.RTL) { + _this.selectNextColor(event, props); + } else { + _this.selectPreviousColor(event, props); + } + }), _defineProperty(_keyDownCallbacks, _keyCode.default.DOWN, function () { + _this.selectPreviousColor(event, props); + }), _defineProperty(_keyDownCallbacks, _keyCode.default.LEFT, function () { + if (props.direction === _UNSAFE_direction.DIRECTIONS.RTL) { + _this.selectPreviousColor(event, props); + } else { + _this.selectNextColor(event, props); + } + }), _defineProperty(_keyDownCallbacks, _keyCode.default.UP, function () { + _this.selectNextColor(event, props); + }), _keyDownCallbacks); + + if (event.keyCode) { + if (keyDownCallbacks[event.keyCode]) { + _event.default.trapEvent(event); + + keyDownCallbacks[event.keyCode](); + } + } + }); + + _defineProperty(_assertThisInitialized(_this), "addRef", function (color) { + return function (el) { + _this.swatchColorRefs[color] = el; + }; + }); + + _this.swatchColorRefs = {}; + return _this; + } + + _createClass(SwatchPicker, [{ + key: "render", + value: function render() { + var _this2 = this; + + var isSelectedColorInSwatch = this.props.swatchColors.includes(this.props.color.hex); + return /*#__PURE__*/_react.default.createElement("ul", { + className: "slds-color-picker__swatches", + role: "listbox", + onKeyDown: function onKeyDown(event) { + _this2.handleKeyDown(event, _objectSpread({}, _this2.props)); + } + }, this.props.swatchColors.map(function (color, index) { + return /*#__PURE__*/_react.default.createElement(_swatchOption.default, { + color: color, + key: color, + labels: _this2.props.labels, + onSelect: _this2.props.onSelect, + swatchOptionRef: _this2.addRef(color), + workingColor: _this2.props.color, + tabIndex: _this2.props.color && _this2.props.color.hex === color || index === 0 && !isSelectedColorInSwatch ? 0 : -1 + }); + })); + } + }]); + + return SwatchPicker; +}(_react.default.Component); + +_defineProperty(SwatchPicker, "displayName", 'SLDSSwatchPicker'); + +var _default = (0, _languageDirection.default)(SwatchPicker); + +exports.default = _default; \ No newline at end of file diff --git a/components/color-picker/private/swatch.d.ts b/components/color-picker/private/swatch.d.ts new file mode 100644 index 0000000000..3563b72888 --- /dev/null +++ b/components/color-picker/private/swatch.d.ts @@ -0,0 +1,9 @@ +declare module '@salesforce/design-system-react/components/color-picker/private/swatch' { + import React from 'react'; + type Props = { + color: string /*.isRequired*/; + }; + + function Component(props: Props): React.ReactNode; + export default Component; +} diff --git a/components/color-picker/private/swatch.js b/components/color-picker/private/swatch.js new file mode 100644 index 0000000000..48807b6ff7 --- /dev/null +++ b/components/color-picker/private/swatch.js @@ -0,0 +1,52 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = void 0; + +var _react = _interopRequireDefault(require("react")); + +var _propTypes = _interopRequireDefault(require("prop-types")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var Swatch = function Swatch(_ref) { + var color = _ref.color, + style = _ref.style, + label = _ref.label, + labels = _ref.labels; + + var innerStyle = _objectSpread({ + backgroundColor: color + }, style); + + var assistiveText = label || color; // falsey values output a transparent swatch + + if (!color) { + innerStyle.backgroundImage = 'linear-gradient(-45deg, white 47%, #870500 0, #870500 53%, white 0)'; + + if (labels && labels.swatchTabTransparentSwatch) { + assistiveText = labels.swatchTabTransparentSwatch; + } + } + + return /*#__PURE__*/_react.default.createElement("span", { + className: "slds-swatch", + style: innerStyle + }, /*#__PURE__*/_react.default.createElement("span", { + className: "slds-assistive-text" + }, assistiveText)); +}; + +Swatch.propTypes = { + color: _propTypes.default.string.isRequired +}; +var _default = Swatch; +exports.default = _default; \ No newline at end of file diff --git a/components/combobox/__docs__/__snapshots__/storybook-stories.storyshot b/components/combobox/__docs__/__snapshots__/storybook-stories.storyshot new file mode 100644 index 0000000000..2f2306be76 --- /dev/null +++ b/components/combobox/__docs__/__snapshots__/storybook-stories.storyshot @@ -0,0 +1,8762 @@ +// Jest Snapshot v1, https://goo.gl/fbAQLP + +exports[`DOM snapshots SLDSCombobox Base 1`] = ` +
    +
    + +
    +
    +
    +
    + + + + +
    +
    +
    +
    +
      +
    • + + + + + + Account + + + + + Acme + + + + + + + , Press delete or backspace to remove + + + +
    • +
    • + + + + + + Account + + + + + Salesforce.com, Inc. + + + + + + + , Press delete or backspace to remove + + + +
    • +
    +
    +
    +
    +
    +`; + +exports[`DOM snapshots SLDSCombobox Base Custom Menu Item 1`] = ` +
    +
    + +
    +
    +
    +
    + + + + +
    +
    +
    +
    +
    +
    +`; + +exports[`DOM snapshots SLDSCombobox Base Custom Menu Item Disabled 1`] = ` +
    +
    + +
    +
    +
    +
    + + + + +
    +
    +
    +
    +
    +
    +`; + +exports[`DOM snapshots SLDSCombobox Base Inherit Menu Width - Right to Left (RTL) 1`] = ` +
    +
    +

    + 1. Combobox in RTL mode. +

    +

    + Note that + + design-system.css + + styles are in LTR. See example code for more info. +

    +
    + +
    +
    +
    +
    + + + + +
    +
    +
      +
    • + + + + + + Account + + + + + + A very very very very very very very very very very very long title to show how menu width will behave + + + Account • San Francisco + + + +
    • +
    • + + + + + + Account + + + + + + Salesforce.com, Inc. + + + Account • San Francisco + + + +
    • +
    • + + + + + + Account + + + + + + Paddy's Pub + + + Account • Boston, MA + + + +
    • +
    • + + + + + + Account + + + + + + Opportunities + + + Opportunity • San Francisco, CA + + + +
    • +
    • + + + + + + Account + + + + + + Nakatomi Investments + + + Opportunity • Chicago, IL + + + +
    • +
    • + + + + + + Account + + + + + + Acme Landscaping + + +   + + + +
    • +
    • + + + + + + Account + + + + + + Acme Construction + + + Opportunity • Grand Marais, MN + + + +
    • +
    +
    +
    +
    +
    +
    +
    +
    +`; + +exports[`DOM snapshots SLDSCombobox Base Inherit Menu Width 1`] = ` +
    +
    + +
    +
    +
    +
    + + + + +
    +
    +
    +
    +
    +
    +`; + +exports[`DOM snapshots SLDSCombobox Base Inline Help 1`] = ` +
    +
    +

    + Field Level Help Tooltip +

    +
    + +
    + + +
    +
    +
    +
    +
    + + + + +
    +
    +
    +
    +
      +
    • + + + + + + Account + + + + + Acme + + + + + + + , Press delete or backspace to remove + + + +
    • +
    • + + + + + + Account + + + + + Salesforce.com, Inc. + + + + + + + , Press delete or backspace to remove + + + +
    • +
    +
    +
    +
    +
    +
    +`; + +exports[`DOM snapshots SLDSCombobox Base Menu Item Disabled 1`] = ` +
    +
    + +
    +
    +
    +
    + + + + +
    +
    +
    +
    +
      +
    • + + + + + + Account + + + + + Acme + + + + + + + , Press delete or backspace to remove + + + +
    • +
    • + + + + + + Account + + + + + Salesforce.com, Inc. + + + + + + + , Press delete or backspace to remove + + + +
    • +
    +
    +
    +
    +
    +`; + +exports[`DOM snapshots SLDSCombobox Base Menu Item Disabled With Tooltip 1`] = ` +
    +
    + +
    +
    +
    +
    + + + + +
    +
    +
    +
    +
      +
    • + + + + + + Account + + + + + Acme + + + + + + + , Press delete or backspace to remove + + + +
    • +
    • + + + + + + Account + + + + + Salesforce.com, Inc. + + + + + + + , Press delete or backspace to remove + + + +
    • +
    +
    +
    +
    +
    +`; + +exports[`DOM snapshots SLDSCombobox Base Menu Item Disabled With Tooltip Open 1`] = ` +
    +
    + +
    +
    +
    +
    + + + + +
    +
    +
      +
    • + + + + + + Account + + + + + + Paddy's Pub + + + Account • Boston, MA + + + +
    • +
    • +
      + + + + + + Account + + + + + + Tyrell Corp + + + Account • San Francisco, CA + + + + +
      +
    • +
    • + + + + + + Account + + + + + + Paper St. Soap Company + + + Account • Beloit, WI + + + +
    • +
    • +
      + + + + + + Account + + + + + + Nakatomi Investments + + + Account • Chicago, IL + + + + +
      +
    • +
    • + + + + + + Account + + + + + + Acme Landscaping + + +   + + + +
    • +
    • + + + + + + Account + + + + + + Acme Construction + + + Account • Grand Marais, MN + + + +
    • +
    +
    +
    +
    +
    +
      +
    • + + + + + + Account + + + + + Acme + + + + + + + , Press delete or backspace to remove + + + +
    • +
    • + + + + + + Account + + + + + Salesforce.com, Inc. + + + + + + + , Press delete or backspace to remove + + + +
    • +
    +
    +
    +
    +
    +`; + +exports[`DOM snapshots SLDSCombobox Base Menu Separator 1`] = ` +
    +
    + +
    +
    +
    +
    + + + + +
    +
    +
    +
    +
    +
    +`; + +exports[`DOM snapshots SLDSCombobox Base Menu Sub Headers 1`] = ` +
    +
    + +
    +
    +
    +
    + + + + +
    +
    +
    +
    +
    +
    +`; + +exports[`DOM snapshots SLDSCombobox Base Pre-defined Options Only 1`] = ` +
    +
    + +
    +
    +
    +
    + + + + +
    +
    +
    +
    +
      +
    • + + + + + + Account + + + + + Acme + + + + + + + , Press delete or backspace to remove + + + +
    • +
    • + + + + + + Account + + + + + Salesforce.com, Inc. + + + + + + + , Press delete or backspace to remove + + + +
    • +
    +
    +
    +
    +
    +`; + +exports[`DOM snapshots SLDSCombobox Base With Input 1`] = ` +
    +
    + +
    +
    +
    +
    + + + + +
    +
    +
      +
    • + + + + + + Account + + + + + + Paddy's Pu + + b + + + + + Account • + + B + + oston, MA + + + +
    • +
    • + + + + + + Account + + + + + + Paper St. Soap Company + + + Account • + + B + + eloit, WI + + + +
    • +
    +
    +
    +
    +
    +
      +
    • + + + + + + Account + + + + + Acme + + + + + + + , Press delete or backspace to remove + + + +
    • +
    • + + + + + + Account + + + + + Salesforce.com, Inc. + + + + + + + , Press delete or backspace to remove + + + +
    • +
    +
    +
    +
    +
    +`; + +exports[`DOM snapshots SLDSCombobox Base With Scroll 1`] = ` +
    +
    + +
    +
    +
    +
    + + + + +
    +
    +
    +
    +
      +
    • + + + + + + Account + + + + + Acme + + + + + + + , Press delete or backspace to remove + + + +
    • +
    • + + + + + + Account + + + + + Salesforce.com, Inc. + + + + + + + , Press delete or backspace to remove + + + +
    • +
    +
    +
    +
    +
    +`; + +exports[`DOM snapshots SLDSCombobox Dialog 1`] = ` +
    +
    + +
    +
    +
    +
    +
    + + + + + + +
    +
    +
    +
    +
    +
    +
    +`; + +exports[`DOM snapshots SLDSCombobox Inline Multiple Selection 1`] = ` +
    +
    + +
    +
    +
    +
      +
    • + + + + + + Account + + + + + Acme + + + + + + + , Press delete or backspace to remove + + + +
    • +
    • + + + + + + Account + + + + + Salesforce.com, Inc. + + + + + + + , Press delete or backspace to remove + + + +
    • +
    +
    +
    +
    + + + + +
    +
    +
    +
    +
    +
    +`; + +exports[`DOM snapshots SLDSCombobox Inline Multiple Selection Loading 1`] = ` +
    +
    + +
    +
    +
    +
    + + + + +
    +
    +
    +
    +
    +
    +`; + +exports[`DOM snapshots SLDSCombobox Inline Single Entity Selection 1`] = ` +
    +
    + +
    +
    +
    +
    + +
    +
    +
    +
    + + + + + + +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + + + + +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +`; + +exports[`DOM snapshots SLDSCombobox Inline Single Search/Add Entities - Open 1`] = ` +
    +
    + +
    +
    +
    +
    + + + + +
    +
    +
      +
    • +
      + + + + + Search + + + + + Search in Salesforce + +
      +
    • +
    • +
      + + + + + Search in Accounts + + + + + Search + in Accounts + +
      +
    • +
    • + + + + + + Account + + + + + + Acme + + + Account • San Francisco + + + +
    • +
    • + + + + + + Account + + + + + + Salesforce.com, Inc. + + + Account • San Francisco + + + +
    • +
    • + + + + + + Account + + + + + + Paddy's Pub + + + Account • Boston, MA + + + +
    • +
    • + + + + + + Account + + + + + + Tyrell Corp + + + Account • San Francisco, CA + + + +
    • +
    • +
      + + + + + Add + + + + + New Entity + +
      +
    • +
    +
    +
    +
    +
    +
    +
    +`; + +exports[`DOM snapshots SLDSCombobox Inline Single Search/Add Entities 1`] = ` +
    +
    + +
    +
    +
    +
    + + + + +
    +
    +
    +
    +
    +
    +`; + +exports[`DOM snapshots SLDSCombobox Inline Single Selection 1`] = ` +
    +
    + +
    +
    +
    +
    + + + + +
    +
    +
    +
    +
    +
    +`; + +exports[`DOM snapshots SLDSCombobox Inline Single Selection Predefined Options Only 1`] = ` +
    +
    + +
    +
    +
    +
    + + + + +
    +
    +
    +
    +
    +
    +`; + +exports[`DOM snapshots SLDSCombobox Inline Single Selection With Custom Open State 1`] = ` +
    +
    + +
    +
    +
    +
    + + + + +
    +
    +
    +
    +
    +
    +`; + +exports[`DOM snapshots SLDSCombobox Input Component as a Prop 1`] = ` +
    +
    + +
    +
    +
    +
    + + + + +
    +
    +
    +
    +
      +
    • + + + + + + Account + + + + + Acme + + + + + + + , Press delete or backspace to remove + + + +
    • +
    • + + + + + + Account + + + + + Salesforce.com, Inc. + + + + + + + , Press delete or backspace to remove + + + +
    • +
    +
    +
    +
    +
    +`; + +exports[`DOM snapshots SLDSCombobox Readonly Multiple Selection 1`] = ` +
    +
    + +
    +
    +
    +
    + + + + + + +
    +
    +
    +
    +
    +
    +`; + +exports[`DOM snapshots SLDSCombobox Readonly Single Menu Item Disabled 1`] = ` +
    +
    + +
    +
    +
    +
    + + + + + + +
    +
    +
    +
    +
    +
    +`; + +exports[`DOM snapshots SLDSCombobox Readonly Single Selection - Right to Left (RTL) 1`] = ` +
    +

    + 1. Combobox in RTL mode. +

    +

    + Note that + + design-system.css + + styles are in LTR. See example code for more info. +

    +
    +
    + +
    +
    +
    +
    + + + + + + +
    +
    +
    +
    +
    +
    +
    +`; + +exports[`DOM snapshots SLDSCombobox Readonly Single Selection 1`] = ` +
    +
    + +
    +
    +
    +
    + + + + + + +
    +
    +
    +
    +
    +
    +`; + +exports[`DOM snapshots SLDSCombobox Readonly Single Selection Custom Menu Item 1`] = ` +
    +
    + +
    +
    +
    +
    + + + + + + +
    +
    +
    +
    +
    +
    +`; + +exports[`DOM snapshots SLDSCombobox Readonly Single Selection Disabled 1`] = ` +
    +
    + +
    +
    +
    +
    + + + + + + +
    +
    +
    +
    +
    +
    +`; + +exports[`DOM snapshots SLDSCombobox Required Input in Error State 1`] = ` +
    +
    + +
    +
    +
    +
    + + + + +
    +
    +
    +
    +
    + This field is required +
    +
    +
    +
    +
    +`; + +exports[`DOM snapshots SLDSCombobox Snapshot Base Custom Menu Item Open 1`] = ` +
    +
    + +
    +
    +
    +
    + + + + +
    +
    +
      +
    • + + + + Acme + + + Account • San Francisco + + + +
    • +
    • + + + + Salesforce.com, Inc. + + + Account • San Francisco + + + +
    • +
    • + + + + Paddy's Pub + + + Account • Boston, MA + + + +
    • +
    • + + + + Tyrell Corp + + + Account • San Francisco, CA + + + +
    • +
    • + + + + Paper St. Soap Company + + + Account • Beloit, WI + + + +
    • +
    • + + + + Nakatomi Investments + + + Account • Chicago, IL + + + +
    • +
    • + + + + Acme Landscaping + + +   + + + +
    • +
    • + + + + Acme Construction + + + Account • Grand Marais, MN + + + +
    • +
    +
    +
    +
    +
    +
    +
    +`; + +exports[`DOM snapshots SLDSCombobox Snapshot Base Label Required 1`] = ` +
    +
    + +
    +
    +
    +
    + + + + +
    +
    +
    +
    +
    + This field is required +
    +
    +
    +
    +
    +`; + +exports[`DOM snapshots SLDSCombobox Snapshot Base Open 1`] = ` +
    +
    + +
    +
    +
    +
    + + + + +
    +
    +
      +
    • + + + + + + Account + + + + + + Acme + + + Account • San Francisco + + + +
    • +
    • + + + + + + Account + + + + + + Salesforce.com, Inc. + + + Account • San Francisco + + + +
    • +
    +
    +
    +
    +
    +
    +
    +`; + +exports[`DOM snapshots SLDSCombobox Snapshot Base Open Menu Sub Header Separator 1`] = ` +
    +
    + +
    +
    +
    +
    + + + + +
    +
    +
      +
    • + + Accounts + +
    • +
    • + + + + Salesforce.com, Inc. + + + Account • San Francisco + + + +
    • +
    +
    +
    +
    +
    +
    +
    +`; + +exports[`DOM snapshots SLDSCombobox Snapshot Base Open Menu inheritWidthOf prop 1`] = ` +
    +
    + +
    +
    +
    +
    + + + + +
    +
    +
      +
    • + + Accounts + +
    • +
    • + + + + Salesforce.com, Inc. + + + Account • San Francisco + + + +
    • +
    +
    +
    +
    +
    +
    +
    +`; + +exports[`DOM snapshots SLDSCombobox Snapshot Base Selected 1`] = ` +
    +
    + +
    +
    +
    +
    + + + + +
    +
    +
    +
    +
      +
    • + + + + + + Account + + + + + Salesforce.com, Inc. + + + + + + + , Press delete or backspace to remove + + + +
    • +
    +
    +
    +
    +
    +`; + +exports[`DOM snapshots SLDSCombobox Snapshot Dialog Open 1`] = ` +
    +
    + +
    +
    +
    +
    +
    + + + + + + +
    + +
    +
    +
    +
    +
    +
    +`; + +exports[`DOM snapshots SLDSCombobox Snapshot Inline Multiple Open Loading 1`] = ` +
    +
    + +
    +
    +
    +
    + + + + +
    +
    +
      +
    • + + + + + + Account + + + + + + Acme + + + Account • San Francisco + + + +
    • +
    • + + + + + + Account + + + + + + Salesforce.com, Inc. + + + Account • San Francisco + + + +
    • +
    • + + + + + + Account + + + + + + Paddy's Pub + + + Account • Boston, MA + + + +
    • +
    • + + + + + + Account + + + + + + Tyrell Corp + + + Account • San Francisco, CA + + + +
    • +
    • + + + + + + Account + + + + + + Paper St. Soap Company + + + Account • Beloit, WI + + + +
    • +
    • +
      +
      + + Loading + +
      +
      +
      +
      +
    • +
    +
    +
    +
    +
    +
    +
    +`; + +exports[`DOM snapshots SLDSCombobox Snapshot Inline Multiple Selection 1`] = ` +
    +
    + +
    +
    +
    +
    + + + + +
    +
    +
    +
    +
    +
    +`; + +exports[`DOM snapshots SLDSCombobox Snapshot Inline Multiple Selection Selected 1`] = ` +
    +
    + +
    +
    +
    +
      +
    • + + + + + + Account + + + + + Acme + + + + + + + , Press delete or backspace to remove + + + +
    • +
    • + + + + + + Account + + + + + Salesforce.com, Inc. + + + + + + + , Press delete or backspace to remove + + + +
    • +
    +
    +
    +
    + + + + +
    +
    +
    +
    +
    +
    +`; + +exports[`DOM snapshots SLDSCombobox Snapshot Inline Single Entity Selection 1`] = ` +
    +
    + +
    +
    +
    +
    + +
    +
    +
    +
    + + + + +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + + + + +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    +`; + +exports[`DOM snapshots SLDSCombobox Snapshot Inline Single Search/Add Entities Open 1`] = ` +
    +
    + +
    +
    +
    +
    + + + + +
    +
    +
      +
    • +
      + + + + + Search + + + + + salesforce + +
      +
    • +
    • + + + + + + Account + + + + + + Acme + + + Account • San Francisco + + + +
    • +
    • + + + + + + Account + + + + + + Salesforce.com, Inc. + + + Account • San Francisco + + + +
    • +
    • + + + + + + Account + + + + + + Paddy's Pub + + + Account • Boston, MA + + + +
    • +
    • +
      + + + + + Add + + + + + New Entity + +
      +
    • +
    +
    +
    +
    +
    +
    +
    +`; + +exports[`DOM snapshots SLDSCombobox Snapshot Inline Single Selection 1`] = ` +
    +
    + +
    +
    +
    +
    + + + + +
    +
    +
    +
    +
    +
    +`; + +exports[`DOM snapshots SLDSCombobox Snapshot Inline Single Selection Selected 1`] = ` +
    +
    + +
    +
    +
    +
    + + + + Account + + + + +
    +
    +
    +
    +
    +
    +`; + +exports[`DOM snapshots SLDSCombobox Snapshot Readonly Multiple Selection 1`] = ` +
    +
    + +
    +
    +
    +
    + + + + + + +
    +
    +
    +
    +
    +
    +`; + +exports[`DOM snapshots SLDSCombobox Snapshot Readonly Multiple Selection Multiple Items Selected 1`] = ` +
    +
    + +
    +
    +
    +
    + + + + + + +
    +
    +
    +
    +
      +
    • + + + Acme + + + + + + + , Press delete or backspace to remove + + + +
    • +
    • + + + Salesforce.com, Inc. + + + + + + + , Press delete or backspace to remove + + + +
    • +
    +
    +
    +
    +
    +`; + +exports[`DOM snapshots SLDSCombobox Snapshot Readonly Multiple Selection Single Item Selected 1`] = ` +
    +
    + +
    +
    +
    +
    + + + + + + +
    +
    +
    +
    +
    +
    +`; + +exports[`DOM snapshots SLDSCombobox Snapshot Readonly Single Selection 1`] = ` +
    +
    + +
    +
    +
    +
    + + + + + + +
    +
    +
    +
    +
    +
    +`; + +exports[`DOM snapshots SLDSCombobox Snapshot Readonly Single Selection Custom Menu Item 1`] = ` +
    +
    + +
    +
    +
    +
    + + + + + + +
    +
    +
      +
    • + + + + + + + + + + + + + + Account + + + + + + + Acme + + + + + +
    • +
    • + + + + + + + + + + + + + + Account + + + + + + + Salesforce.com, Inc. + + + + + +
    • +
    • + + + + + + + + + + + + + + Account + + + + + + + Paddy's Pub + + + + + +
    • +
    • + + + + + + + + + + + + + + Account + + + + + + + Tyrell Corp + + + + + +
    • +
    • + + + + + + + + + + + + + + Account + + + + + + + Paper St. Soap Company + + + + + +
    • +
    • + + + + + + + + + + + + + + Account + + + + + + + Nakatomi Investments + + + + + +
    • +
    • + + + + + + + + + + + + + + Account + + + + + + + Acme Landscaping + + + + + +
    • +
    • + + + + + + + + + + + + + + Account + + + + + + + Acme Construction + + + + + +
    • +
    +
    +
    +
    +
    +
    +
    +`; + +exports[`DOM snapshots SLDSCombobox Snapshot Readonly Single Selection Disabled 1`] = ` +
    +
    + +
    +
    +
    +
    + + + + + + +
    +
    +
    +
    +
    +
    +`; + +exports[`DOM snapshots SLDSCombobox Snapshot Readonly Single Selection Selected 1`] = ` +
    +
    + +
    +
    +
    +
    + + + + + + +
    +
    +
    +
    +
    +
    +`; + +exports[`DOM snapshots SLDSCombobox Snapshot Readonly Single Selection Selected Open 1`] = ` +
    +
    + +
    +
    +
    +
    + + + + + + +
    +
    +
      +
    • + + + + + + + + + + + Current Selection: + + + Acme + + + +
    • +
    • + + + + + + + + + + + Salesforce.com, Inc. + + + +
    • +
    • + + + + + + + + + + + Paddy's Pub + + + +
    • +
    • + + + + + + + + + + + Tyrell Corp + + + +
    • +
    • + + + + + + + + + + + Paper St. Soap Company + + + +
    • +
    • + + + + + + + + + + + Nakatomi Investments + + + +
    • +
    • + + + + + + + + + + + Acme Landscaping + + + +
    • +
    • + + + + + + + + + + + Acme Construction + + + +
    • +
    +
    +
    +
    +
    +
    +
    +`; diff --git a/components/combobox/__docs__/storybook-stories.jsx b/components/combobox/__docs__/storybook-stories.jsx new file mode 100644 index 0000000000..ba0ebd861c --- /dev/null +++ b/components/combobox/__docs__/storybook-stories.jsx @@ -0,0 +1,200 @@ +import React from 'react'; +import { storiesOf } from '@storybook/react'; +import { action } from '@storybook/addon-actions'; + +import { COMBOBOX } from '../../../utilities/constants'; + +import Base from '../__examples__/base'; +import BaseCustomMenuItem from '../__examples__/base-custom-menu-item'; +import BaseCustomMenuItemDisabled from '../__examples__/base-custom-menu-item-disabled'; +import BaseInheritMenuWidth from '../__examples__/base-inherit-menu-width.jsx'; +import BaseInheritMenuWidthRTL from '../__examples__/base-inherit-menu-width-RTL'; +import BaseInlineHelpTooltip from '../__examples__/base-inline-help-tooltip'; +import BaseMenuSubHeader from '../__examples__/base-menu-subheader'; +import BaseMenuSeparator from '../__examples__/base-menu-separator'; +import BaseMenuItemDisabled from '../__examples__/base-menu-item-disabled'; +import BaseMenuItemDisabledTooltipOpen from '../__examples__/base-menu-item-disabled-tooltip-open'; +import BaseMenuItemDisabledTooltip from '../__examples__/base-menu-item-disabled-tooltip'; +import BaseWithScroll from '../__examples__/base-with-scroll'; +import BaseWithInput from '../__examples__/base-with-input'; +import Dialog from '../__examples__/dialog.jsx'; +import InlineSingle from '../__examples__/inline-single'; +import InlineSinglePredefinedOnly from '../__examples__/inline-single-predefined-options-only'; +import InlineSingleWithCustomOpenState from '../__examples__/inline-single-with-custom-open-state'; +import InlineSingleEntityCombobox from '../__examples__/inline-single-entity-combobox'; +import InlineSingleSearchAddEntities from '../__examples__/inline-single-search-add-entities'; +import InlineMultiple from '../__examples__/inline-multiple'; +import InlineMultipleLoading from '../__examples__/inline-multiple-loading'; +import InputProp from '../__examples__/input-prop'; +import PredefinedOptionsOnly from '../__examples__/base-predefined-options-only'; +import ReadOnly from '../__examples__/readonly-single'; +import ReadOnlyRTL from '../__examples__/readonly-single-RTL'; +import ReadOnlyDisabled from '../__examples__/readonly-single-disabled'; +import ReadOnlyMenuItemDisabled from '../__examples__/readonly-menu-item-disabled'; +import ReadOnlySingleSelectionCustomMenuItem from '../__examples__/readonly-single-selection-custom-menu-item'; +import ReadOnlyMultiple from '../__examples__/readonly-multiple'; +import RequiredInputErrorState from '../__examples__/required-input-error-state'; + +import SnapshotBaseOpen from '../__examples__/snapshot/base-open'; +import SnapshotBaseOpenMenuSubHeaderSeparator from '../__examples__/snapshot/base-open-menu-sub-header'; +import SnapshotBaseOpenMenuInheritWidthOf from '../__examples__/snapshot/base-open-menu-inheritWidthOf'; +import SnapshotBaseCustomMenuItemOpen from '../__examples__/snapshot/base-custom-menu-item-open'; +import SnapshotBaseLabelRequired from '../__examples__/snapshot/base-label-required'; +import SnapshotBaseSelected from '../__examples__/snapshot/base-selected'; +import SnapshotDialogOpen from '../__examples__/snapshot/dialog-open'; +import SnapshotInlineMultipleOpenLoading from '../__examples__/snapshot/inline-multiple-open-loading'; +import SnapshotInlineMultipleSelection from '../__examples__/snapshot/inline-multiple-selection'; +import SnapshotInlineMultipleSelectionSelected from '../__examples__/snapshot/inline-multiple-selection-selected'; +import SnapshotInlineSingleEntityCombobox from '../__examples__/snapshot/inline-single-entity-combobox'; +import SnapshotInlineSingleSelection from '../__examples__/snapshot/inline-single-selection'; +import SnapshotInlineSingleSelectionSelected from '../__examples__/snapshot/inline-single-selection-selected'; +import SnapshotInlineSingleSearchAddEntitiesOpen from '../__examples__/snapshot/inline-single-search-add-entities-open'; +import SnapshotReadonlyMultipleSelection from '../__examples__/snapshot/readonly-multiple-selection'; +import SnapshotReadonlyMultipleSelectionMultipleItemsSelected from '../__examples__/snapshot/readonly-multiple-selection-multiple-items-selected'; +import SnapshotReadonlyMultipleSelectionSingleItemSelected from '../__examples__/snapshot/readonly-multiple-selection-single-item-selected'; +import SnapshotReadonlySingleSelection from '../__examples__/snapshot/readonly-single-selection'; +import SnapshotReadonlySingleSelectionDisabled from '../__examples__/snapshot/readonly-single-selection-disabled'; +import SnapshotReadonlySingleSelectionCustomMenuItemOpen from '../__examples__/snapshot/readonly-single-selection-custom-menu-item'; +import SnapshotReadonlySingleSelectionSelected from '../__examples__/snapshot/readonly-single-selection-selected'; +import SnapshotReadonlySingleSelectionSelectedOpen from '../__examples__/snapshot/readonly-single-selection-selected-open'; + +storiesOf(COMBOBOX, module) + .addDecorator((getStory) => ( +
    {getStory()}
    + )) + .add('Base', () => ) + .add('Base Pre-defined Options Only', () => ( + + )) + .add('Base Inline Help', () => ( +
    +

    + Field Level Help Tooltip +

    + +
    + )) + .add('Base Menu Item Disabled', () => ( + + )) + .add('Base Menu Item Disabled With Tooltip', () => ( + + )) + .add('Base Menu Item Disabled With Tooltip Open', () => ( + + )) + .add('Inline Single Selection', () => ) + .add('Inline Single Selection Predefined Options Only', () => ( + + )) + .add('Inline Single Selection With Custom Open State', () => ( + + )) + .add('Inline Single Entity Selection', () => ( + + )) + .add('Inline Single Search/Add Entities', () => ( + + )) + .add('Inline Single Search/Add Entities - Open', () => ( + + )) + .add('Inline Multiple Selection', () => ) + .add('Inline Multiple Selection Loading', () => ( + + )) + .add('Base Custom Menu Item', () => ) + .add('Base Custom Menu Item Disabled', () => ( + + )) + .add('Base Menu Sub Headers', () => ) + .add('Base Menu Separator', () => ) + .add('Base Inherit Menu Width', () => ( + + )) + .add('Base Inherit Menu Width - Right to Left (RTL)', () => ( + + )) + .add('Base With Scroll', () => ) + .add('Base With Input', () => ) + .add('Dialog', () => ) + .add('Readonly Single Selection', () => ) + .add('Readonly Single Selection - Right to Left (RTL)', () => ( + + )) + .add('Readonly Single Selection Disabled', () => ( + + )) + .add('Readonly Single Menu Item Disabled', () => ( + + )) + .add('Readonly Multiple Selection', () => ( + + )) + .add('Readonly Single Selection Custom Menu Item', () => ( + + )) + .add('Required Input in Error State', () => ( + + )) + .add('Input Component as a Prop', () => ) + .add('Snapshot Base Open', () => ) + .add('Snapshot Base Custom Menu Item Open', () => ( + + )) + .add('Snapshot Base Selected', () => ) + .add('Snapshot Base Label Required', () => ( + + )) + .add('Snapshot Base Open Menu Sub Header Separator', () => ( + + )) + .add('Snapshot Base Open Menu inheritWidthOf prop', () => ( + + )) + .add('Snapshot Dialog Open', () => ) + .add('Snapshot Inline Single Selection', () => ( + + )) + .add('Snapshot Inline Single Selection Selected', () => ( + + )) + .add('Snapshot Inline Multiple Selection', () => ( + + )) + .add('Snapshot Inline Multiple Selection Selected', () => ( + + )) + .add('Snapshot Readonly Single Selection', () => ( + + )) + .add('Snapshot Readonly Single Selection Disabled', () => ( + + )) + .add('Snapshot Readonly Single Selection Selected', () => ( + + )) + .add('Snapshot Readonly Single Selection Selected Open', () => ( + + )) + .add('Snapshot Readonly Multiple Selection', () => ( + + )) + .add('Snapshot Readonly Multiple Selection Single Item Selected', () => ( + + )) + .add('Snapshot Readonly Multiple Selection Multiple Items Selected', () => ( + + )) + .add('Snapshot Readonly Single Selection Custom Menu Item', () => ( + + )) + .add('Snapshot Inline Single Search/Add Entities Open', () => ( + + )) + .add('Snapshot Inline Single Entity Selection', () => ( + + )) + .add('Snapshot Inline Multiple Open Loading', () => ( + + )); diff --git a/components/combobox/__examples__/base-custom-menu-item-disabled.jsx b/components/combobox/__examples__/base-custom-menu-item-disabled.jsx new file mode 100644 index 0000000000..7f44430257 --- /dev/null +++ b/components/combobox/__examples__/base-custom-menu-item-disabled.jsx @@ -0,0 +1,177 @@ +/* eslint-disable no-console, react/prop-types */ +import React from 'react'; +import classNames from 'classnames'; +import Combobox from '~/components/combobox'; +import Icon from '~/components/icon'; +import comboboxFilterAndLimit from '~/components/combobox/filter'; +import IconSettings from '~/components/icon-settings'; + +const accounts = [ + { + id: '1', + label: 'Acme', + subTitle: 'Account • San Francisco', + type: 'account', + }, + { + id: '2', + label: 'Salesforce.com, Inc.', + subTitle: 'Account • San Francisco', + type: 'account', + disabled: true, + }, + { + id: '3', + label: "Paddy's Pub", + subTitle: 'Account • Boston, MA', + type: 'account', + disabled: true, + }, + { + id: '4', + label: 'Tyrell Corp', + subTitle: 'Account • San Francisco, CA', + type: 'account', + }, + { + id: '5', + label: 'Paper St. Soap Company', + subTitle: 'Account • Beloit, WI', + type: 'account', + }, +]; + +const accountsWithIcon = accounts.map((elem) => ({ + ...elem, + ...{ + icon: ( + + ), + }, +})); + +const CustomMenuItem = (props) => { + const disabledRule = { 'slds-disabled-text': props.option.disabled }; + + return ( + + + {props.option.label} + + + {props.option.subTitle || '\u00A0'} + + + ); +}; + +CustomMenuItem.displayName = 'CustomMenuItem'; + +class Example extends React.Component { + constructor(props) { + super(props); + + this.state = { + inputValue: '', + selection: [], + }; + } + + render() { + return ( + + { + if (this.props.action) { + this.props.action('onChange')(event, value); + } else if (console) { + console.log('onChange', event, value); + } + this.setState({ inputValue: value }); + }, + onRequestRemoveSelectedOption: (event, data) => { + this.setState({ + inputValue: '', + selection: data.selection, + }); + }, + onSubmit: (event, { value }) => { + if (this.props.action) { + this.props.action('onChange')(event, value); + } else if (console) { + console.log('onChange', event, value); + } + this.setState({ + inputValue: '', + selection: [ + ...this.state.selection, + { + label: value, + icon: ( + + ), + }, + ], + }); + }, + onSelect: (event, data) => { + if (this.props.action) { + this.props.action('onSelect')( + event, + ...Object.keys(data).map((key) => data[key]) + ); + } else if (console) { + console.log('onSelect', event, data); + } + this.setState({ + inputValue: '', + selection: data.selection, + }); + }, + }} + labels={{ + label: 'Search', + placeholder: 'Search Salesforce', + }} + onRenderMenuItem={CustomMenuItem} + multiple + options={comboboxFilterAndLimit({ + inputValue: this.state.inputValue, + options: accountsWithIcon, + selection: this.state.selection, + })} + selection={this.state.selection} + value={this.state.inputValue} + {...this.props} + /> + + ); + } +} + +Example.displayName = 'ComboboxExample'; +export default Example; // export is replaced with `ReactDOM.render(, mountNode);` at runtime diff --git a/components/combobox/__examples__/base-custom-menu-item.jsx b/components/combobox/__examples__/base-custom-menu-item.jsx new file mode 100644 index 0000000000..2810256eb5 --- /dev/null +++ b/components/combobox/__examples__/base-custom-menu-item.jsx @@ -0,0 +1,170 @@ +/* eslint-disable no-console, react/prop-types */ +import React from 'react'; +import Combobox from '~/components/combobox'; +import Icon from '~/components/icon'; +import comboboxFilterAndLimit from '~/components/combobox/filter'; +import IconSettings from '~/components/icon-settings'; + +const accounts = [ + { + id: '1', + label: 'Acme', + subTitle: 'Account • San Francisco', + type: 'account', + }, + { + id: '2', + label: 'Salesforce.com, Inc.', + subTitle: 'Account • San Francisco', + type: 'account', + }, + { + id: '3', + label: "Paddy's Pub", + subTitle: 'Account • Boston, MA', + type: 'account', + }, + { + id: '4', + label: 'Tyrell Corp', + subTitle: 'Account • San Francisco, CA', + type: 'account', + }, + { + id: '5', + label: 'Paper St. Soap Company', + subTitle: 'Account • Beloit, WI', + type: 'account', + }, + { + id: '6', + label: 'Nakatomi Investments', + subTitle: 'Account • Chicago, IL', + type: 'account', + }, + { id: '7', label: 'Acme Landscaping', type: 'account' }, + { + id: '8', + label: 'Acme Construction', + subTitle: 'Account • Grand Marais, MN', + type: 'account', + }, +]; + +const accountsWithIcon = accounts.map((elem) => ({ + ...elem, + ...{ + icon: ( + + ), + }, +})); + +const CustomMenuItem = (props) => ( + + + {props.option.label} + + + {props.option.subTitle || '\u00A0'} + + +); +CustomMenuItem.displayName = 'CustomMenuItem'; + +class Example extends React.Component { + constructor(props) { + super(props); + + this.state = { + inputValue: '', + selection: [], + }; + } + + render() { + return ( + + { + if (this.props.action) { + this.props.action('onChange')(event, value); + } else if (console) { + console.log('onChange', event, value); + } + this.setState({ inputValue: value }); + }, + onRequestRemoveSelectedOption: (event, data) => { + this.setState({ + inputValue: '', + selection: data.selection, + }); + }, + onSubmit: (event, { value }) => { + if (this.props.action) { + this.props.action('onChange')(event, value); + } else if (console) { + console.log('onChange', event, value); + } + this.setState({ + inputValue: '', + selection: [ + ...this.state.selection, + { + label: value, + icon: ( + + ), + }, + ], + }); + }, + onSelect: (event, data) => { + if (this.props.action) { + this.props.action('onSelect')( + event, + ...Object.keys(data).map((key) => data[key]) + ); + } else if (console) { + console.log('onSelect', event, data); + } + this.setState({ + inputValue: '', + selection: data.selection, + }); + }, + }} + labels={{ + label: 'Search', + placeholder: 'Search Salesforce', + }} + onRenderMenuItem={CustomMenuItem} + multiple + options={comboboxFilterAndLimit({ + inputValue: this.state.inputValue, + options: accountsWithIcon, + selection: this.state.selection, + })} + selection={this.state.selection} + value={this.state.inputValue} + {...this.props} + /> + + ); + } +} + +Example.displayName = 'ComboboxExample'; +export default Example; // export is replaced with `ReactDOM.render(, mountNode);` at runtime diff --git a/components/combobox/__examples__/base-inherit-menu-width-RTL.jsx b/components/combobox/__examples__/base-inherit-menu-width-RTL.jsx new file mode 100644 index 0000000000..22973a68cb --- /dev/null +++ b/components/combobox/__examples__/base-inherit-menu-width-RTL.jsx @@ -0,0 +1,169 @@ +/* eslint-disable no-console, react/prop-types, react/jsx-pascal-case */ +import React from 'react'; +import Combobox from '~/components/combobox'; +import Icon from '~/components/icon'; +import comboboxFilterAndLimit from '~/components/combobox/filter'; +import IconSettings from '~/components/icon-settings'; +// eslint-disable-next-line camelcase +import UNSAFE_DirectionSettings from '~/components/utilities/UNSAFE_direction'; + +const accounts = [ + { + id: '1', + label: + 'A very very very very very very very very very very very long title to show how menu width will behave', + subTitle: 'Account • San Francisco ', + type: 'account', + }, + { + id: '2', + label: 'Salesforce.com, Inc.', + subTitle: 'Account • San Francisco', + type: 'account', + }, + { + id: '3', + label: "Paddy's Pub", + subTitle: 'Account • Boston, MA', + type: 'account', + }, + { + id: '4', + label: 'Opportunities', + subTitle: 'Opportunity • San Francisco, CA', + type: 'account', + }, + { + id: '5', + label: 'Nakatomi Investments', + subTitle: 'Opportunity • Chicago, IL', + type: 'opportunity', + }, + { id: '6', label: 'Acme Landscaping', subTitle: '\u00A0', type: 'account' }, + { + id: '7', + label: 'Acme Construction', + subTitle: 'Opportunity • Grand Marais, MN', + type: 'opportunity', + }, +]; + +const accountsWithIcon = accounts.map((elem) => ({ + ...elem, + ...{ + icon: ( + + ), + }, +})); + +/** + * Combobox rendered in RTL mode. Note that styles might look broken since `salesforce-lightning-design-system.css` styles are loaded in LTR mode. + * SLDS doesn't ship a static version of their css in RTL at the moment. + */ +class Example extends React.Component { + constructor(props) { + super(props); + + this.state = { + inputValue: '', + selection: [], + }; + } + + render() { + return ( +
    + +

    1. Combobox in RTL mode.

    +

    + Note that design-system.css styles are in LTR. See example + code for more info. +

    + + { + if (this.props.action) { + this.props.action('onChange')(event, value); + } else if (console) { + console.log('onChange', event, value); + } + this.setState({ inputValue: value }); + }, + onRequestRemoveSelectedOption: (event, data) => { + this.setState({ + inputValue: '', + selection: data.selection, + }); + }, + onSubmit: (event, { value }) => { + if (this.props.action) { + this.props.action('onChange')(event, value); + } else if (console) { + console.log('onChange', event, value); + } + this.setState({ + inputValue: '', + selection: [ + ...this.state.selection, + { + label: value, + icon: ( + + ), + }, + ], + }); + }, + onSelect: (event, data) => { + if (this.props.action) { + this.props.action('onSelect')( + event, + ...Object.keys(data).map((key) => data[key]) + ); + } else if (console) { + console.log('onSelect', event, data); + } + this.setState({ + inputValue: '', + selection: data.selection, + }); + }, + }} + labels={{ + label: 'Search', + placeholder: 'Search Salesforce', + }} + menuMaxWidth="500px" + multiple + options={comboboxFilterAndLimit({ + inputValue: this.state.inputValue, + limit: 10, + options: accountsWithIcon, + selection: this.state.selection, + })} + selection={this.state.selection} + value={this.state.inputValue} + /> + +
    +
    + ); + } +} + +Example.displayName = 'ComboboxExample'; +export default Example; // export is replaced with `ReactDOM.render(, mountNode);` at runtime diff --git a/components/combobox/__examples__/base-inherit-menu-width.jsx b/components/combobox/__examples__/base-inherit-menu-width.jsx new file mode 100644 index 0000000000..52d50aeb0e --- /dev/null +++ b/components/combobox/__examples__/base-inherit-menu-width.jsx @@ -0,0 +1,153 @@ +/* eslint-disable no-console, react/prop-types */ +import React from 'react'; +import Combobox from '~/components/combobox'; +import Icon from '~/components/icon'; +import comboboxFilterAndLimit from '~/components/combobox/filter'; +import IconSettings from '~/components/icon-settings'; + +const accounts = [ + { + id: '1', + label: + 'A very very very very very very very very very very very long title to show how menu width will behave', + subTitle: 'Account • San Francisco ', + type: 'account', + }, + { + id: '2', + label: 'Salesforce.com, Inc.', + subTitle: 'Account • San Francisco', + type: 'account', + }, + { + id: '3', + label: "Paddy's Pub", + subTitle: 'Account • Boston, MA', + type: 'account', + }, + { + id: '4', + label: 'Opportunities', + subTitle: 'Opportunity • San Francisco, CA', + type: 'account', + }, + { + id: '5', + label: 'Nakatomi Investments', + subTitle: 'Opportunity • Chicago, IL', + type: 'opportunity', + }, + { id: '6', label: 'Acme Landscaping', subTitle: '\u00A0', type: 'account' }, + { + id: '7', + label: 'Acme Construction', + subTitle: 'Opportunity • Grand Marais, MN', + type: 'opportunity', + }, +]; + +const accountsWithIcon = accounts.map((elem) => ({ + ...elem, + ...{ + icon: ( + + ), + }, +})); + +class Example extends React.Component { + constructor(props) { + super(props); + + this.state = { + inputValue: '', + selection: [], + }; + } + + render() { + return ( + + { + if (this.props.action) { + this.props.action('onChange')(event, value); + } else if (console) { + console.log('onChange', event, value); + } + this.setState({ inputValue: value }); + }, + onRequestRemoveSelectedOption: (event, data) => { + this.setState({ + inputValue: '', + selection: data.selection, + }); + }, + onSubmit: (event, { value }) => { + if (this.props.action) { + this.props.action('onChange')(event, value); + } else if (console) { + console.log('onChange', event, value); + } + this.setState({ + inputValue: '', + selection: [ + ...this.state.selection, + { + label: value, + icon: ( + + ), + }, + ], + }); + }, + onSelect: (event, data) => { + if (this.props.action) { + this.props.action('onSelect')( + event, + ...Object.keys(data).map((key) => data[key]) + ); + } else if (console) { + console.log('onSelect', event, data); + } + this.setState({ + inputValue: '', + selection: data.selection, + }); + }, + }} + labels={{ + label: 'Search', + placeholder: 'Search Salesforce', + }} + menuMaxWidth="500px" + multiple + options={comboboxFilterAndLimit({ + inputValue: this.state.inputValue, + limit: 10, + options: accountsWithIcon, + selection: this.state.selection, + })} + selection={this.state.selection} + value={this.state.inputValue} + /> + + ); + } +} + +Example.displayName = 'ComboboxExample'; +export default Example; // export is replaced with `ReactDOM.render(, mountNode);` at runtime diff --git a/components/combobox/__examples__/base-inline-help-tooltip.jsx b/components/combobox/__examples__/base-inline-help-tooltip.jsx new file mode 100644 index 0000000000..aa5d6e555c --- /dev/null +++ b/components/combobox/__examples__/base-inline-help-tooltip.jsx @@ -0,0 +1,164 @@ +/* eslint-disable no-console, react/prop-types */ +import React from 'react'; +import Combobox from '~/components/combobox'; +import comboboxFilterAndLimit from '~/components/combobox/filter'; +import Icon from '~/components/icon'; +import IconSettings from '~/components/icon-settings'; +import Tooltip from '../../tooltip'; + +const accounts = [ + { + id: '1', + label: 'Acme', + subTitle: 'Account • San Francisco', + type: 'account', + }, + { + id: '2', + label: 'Salesforce.com, Inc.', + subTitle: 'Account • San Francisco', + type: 'account', + }, + { + id: '3', + label: "Paddy's Pub", + subTitle: 'Account • Boston, MA', + type: 'account', + }, + { + id: '4', + label: 'Tyrell Corp', + subTitle: 'Account • San Francisco, CA', + type: 'account', + }, + { + id: '5', + label: 'Paper St. Soap Company', + subTitle: 'Account • Beloit, WI', + type: 'account', + }, + { + id: '6', + label: 'Nakatomi Investments', + subTitle: 'Account • Chicago, IL', + type: 'account', + }, + { id: '7', label: 'Acme Landscaping', subTitle: '\u00A0', type: 'account' }, + { + id: '8', + label: 'Acme Construction', + subTitle: 'Account • Grand Marais, MN', + type: 'account', + }, +]; + +const accountsWithIcon = accounts.map((elem) => ({ + ...elem, + ...{ + icon: ( + + ), + }, +})); + +class Example extends React.Component { + constructor(props) { + super(props); + + this.state = { + inputValue: '', + selection: [accountsWithIcon[0], accountsWithIcon[1]], + }; + } + + render() { + return ( + + { + if (this.props.action) { + this.props.action('onChange')(event, value); + } else if (console) { + console.log('onChange', event, value); + } + this.setState({ inputValue: value }); + }, + onRequestRemoveSelectedOption: (event, data) => { + this.setState({ + inputValue: '', + selection: data.selection, + }); + }, + onSubmit: (event, { value }) => { + if (this.props.action) { + this.props.action('onChange')(event, value); + } else if (console) { + console.log('onChange', event, value); + } + this.setState({ + inputValue: '', + selection: [ + ...this.state.selection, + { + label: value, + icon: ( + + ), + }, + ], + }); + }, + onSelect: (event, data) => { + if (this.props.action) { + this.props.action('onSelect')( + event, + ...Object.keys(data).map((key) => data[key]) + ); + } else if (console) { + console.log('onSelect', event, data); + } + this.setState({ + inputValue: '', + selection: data.selection, + }); + }, + }} + fieldLevelHelpTooltip={ + + } + labels={{ + label: 'Search', + placeholder: 'Search Salesforce', + }} + multiple + options={comboboxFilterAndLimit({ + inputValue: this.state.inputValue, + limit: 10, + options: accountsWithIcon, + selection: this.state.selection, + })} + selection={this.state.selection} + value={this.state.inputValue} + /> + + ); + } +} + +Example.displayName = 'ComboboxExample'; +export default Example; // export is replaced with `ReactDOM.render(, mountNode);` at runtime diff --git a/components/combobox/__examples__/base-menu-item-disabled-tooltip-open.jsx b/components/combobox/__examples__/base-menu-item-disabled-tooltip-open.jsx new file mode 100644 index 0000000000..9e3627ee8f --- /dev/null +++ b/components/combobox/__examples__/base-menu-item-disabled-tooltip-open.jsx @@ -0,0 +1,164 @@ +/* eslint-disable no-console, react/prop-types */ +import React from 'react'; +import Combobox from '~/components/combobox'; +import Icon from '~/components/icon'; +import comboboxFilterAndLimit from '~/components/combobox/filter'; +import IconSettings from '~/components/icon-settings'; +import Tooltip from '~/components/tooltip'; + +const accounts = [ + { + id: '1', + label: 'Acme', + subTitle: 'Account • San Francisco', + type: 'account', + }, + { + id: '2', + label: 'Salesforce.com, Inc.', + subTitle: 'Account • San Francisco', + type: 'account', + }, + { + id: '3', + label: "Paddy's Pub", + subTitle: 'Account • Boston, MA', + type: 'account', + }, + { + id: '4', + label: 'Tyrell Corp', + subTitle: 'Account • San Francisco, CA', + type: 'account', + disabled: true, + tooltipContent: 'This account has been removed from the system.', + }, + { + id: '5', + label: 'Paper St. Soap Company', + subTitle: 'Account • Beloit, WI', + type: 'account', + }, + { + id: '6', + label: 'Nakatomi Investments', + subTitle: 'Account • Chicago, IL', + type: 'account', + disabled: true, + tooltipContent: "You don't have permission to access this account.", + }, + { id: '7', label: 'Acme Landscaping', subTitle: '\u00A0', type: 'account' }, + { + id: '8', + label: 'Acme Construction', + subTitle: 'Account • Grand Marais, MN', + type: 'account', + }, +]; + +const accountsWithIcon = accounts.map((elem) => ({ + ...elem, + ...{ + icon: ( + + ), + }, +})); + +class Example extends React.Component { + constructor(props) { + super(props); + + this.state = { + inputValue: '', + selection: [accountsWithIcon[0], accountsWithIcon[1]], + }; + } + + render() { + return ( + + { + if (this.props.action) { + this.props.action('onChange')(event, value); + } else if (console) { + console.log('onChange', event, value); + } + this.setState({ inputValue: value }); + }, + onRequestRemoveSelectedOption: (event, data) => { + this.setState({ + inputValue: '', + selection: data.selection, + }); + }, + onSubmit: (event, { value }) => { + if (this.props.action) { + this.props.action('onChange')(event, value); + } else if (console) { + console.log('onChange', event, value); + } + this.setState({ + inputValue: '', + selection: [ + ...this.state.selection, + { + label: value, + icon: ( + + ), + }, + ], + }); + }, + onSelect: (event, data) => { + if (this.props.action) { + this.props.action('onSelect')( + event, + ...Object.keys(data).map((key) => data[key]) + ); + } else if (console) { + console.log('onSelect', event, data); + } + this.setState({ + inputValue: '', + selection: data.selection, + }); + }, + }} + isOpen + labels={{ + label: 'Search', + placeholder: 'Search Salesforce', + }} + multiple + options={comboboxFilterAndLimit({ + inputValue: this.state.inputValue, + limit: 10, + options: accountsWithIcon, + selection: this.state.selection, + })} + selection={this.state.selection} + tooltipMenuItemDisabled={} + value={this.state.inputValue} + /> + + ); + } +} + +Example.displayName = 'ComboboxExample'; +export default Example; // export is replaced with `ReactDOM.render(, mountNode);` at runtime diff --git a/components/combobox/__examples__/base-menu-item-disabled-tooltip.jsx b/components/combobox/__examples__/base-menu-item-disabled-tooltip.jsx new file mode 100644 index 0000000000..b4841504e5 --- /dev/null +++ b/components/combobox/__examples__/base-menu-item-disabled-tooltip.jsx @@ -0,0 +1,163 @@ +/* eslint-disable no-console, react/prop-types */ +import React from 'react'; +import Combobox from '~/components/combobox'; +import Icon from '~/components/icon'; +import comboboxFilterAndLimit from '~/components/combobox/filter'; +import IconSettings from '~/components/icon-settings'; +import Tooltip from '~/components/tooltip'; + +const accounts = [ + { + id: '1', + label: 'Acme', + subTitle: 'Account • San Francisco', + type: 'account', + }, + { + id: '2', + label: 'Salesforce.com, Inc.', + subTitle: 'Account • San Francisco', + type: 'account', + }, + { + id: '3', + label: "Paddy's Pub", + subTitle: 'Account • Boston, MA', + type: 'account', + }, + { + id: '4', + label: 'Tyrell Corp', + subTitle: 'Account • San Francisco, CA', + type: 'account', + disabled: true, + tooltipContent: 'This account has been removed from the system.', + }, + { + id: '5', + label: 'Paper St. Soap Company', + subTitle: 'Account • Beloit, WI', + type: 'account', + }, + { + id: '6', + label: 'Nakatomi Investments', + subTitle: 'Account • Chicago, IL', + type: 'account', + disabled: true, + tooltipContent: "You don't have permission to access this account.", + }, + { id: '7', label: 'Acme Landscaping', subTitle: '\u00A0', type: 'account' }, + { + id: '8', + label: 'Acme Construction', + subTitle: 'Account • Grand Marais, MN', + type: 'account', + }, +]; + +const accountsWithIcon = accounts.map((elem) => ({ + ...elem, + ...{ + icon: ( + + ), + }, +})); + +class Example extends React.Component { + constructor(props) { + super(props); + + this.state = { + inputValue: '', + selection: [accountsWithIcon[0], accountsWithIcon[1]], + }; + } + + render() { + return ( + + { + if (this.props.action) { + this.props.action('onChange')(event, value); + } else if (console) { + console.log('onChange', event, value); + } + this.setState({ inputValue: value }); + }, + onRequestRemoveSelectedOption: (event, data) => { + this.setState({ + inputValue: '', + selection: data.selection, + }); + }, + onSubmit: (event, { value }) => { + if (this.props.action) { + this.props.action('onChange')(event, value); + } else if (console) { + console.log('onChange', event, value); + } + this.setState({ + inputValue: '', + selection: [ + ...this.state.selection, + { + label: value, + icon: ( + + ), + }, + ], + }); + }, + onSelect: (event, data) => { + if (this.props.action) { + this.props.action('onSelect')( + event, + ...Object.keys(data).map((key) => data[key]) + ); + } else if (console) { + console.log('onSelect', event, data); + } + this.setState({ + inputValue: '', + selection: data.selection, + }); + }, + }} + labels={{ + label: 'Search', + placeholder: 'Search Salesforce', + }} + multiple + options={comboboxFilterAndLimit({ + inputValue: this.state.inputValue, + limit: 10, + options: accountsWithIcon, + selection: this.state.selection, + })} + selection={this.state.selection} + tooltipMenuItemDisabled={} + value={this.state.inputValue} + /> + + ); + } +} + +Example.displayName = 'ComboboxExample'; +export default Example; // export is replaced with `ReactDOM.render(, mountNode);` at runtime diff --git a/components/combobox/__examples__/base-menu-item-disabled.jsx b/components/combobox/__examples__/base-menu-item-disabled.jsx new file mode 100644 index 0000000000..33dcb6cad5 --- /dev/null +++ b/components/combobox/__examples__/base-menu-item-disabled.jsx @@ -0,0 +1,159 @@ +/* eslint-disable no-console, react/prop-types */ +import React from 'react'; +import Combobox from '~/components/combobox'; +import Icon from '~/components/icon'; +import comboboxFilterAndLimit from '~/components/combobox/filter'; +import IconSettings from '~/components/icon-settings'; + +const accounts = [ + { + id: '1', + label: 'Acme', + subTitle: 'Account • San Francisco', + type: 'account', + }, + { + id: '2', + label: 'Salesforce.com, Inc.', + subTitle: 'Account • San Francisco', + type: 'account', + }, + { + id: '3', + label: "Paddy's Pub", + subTitle: 'Account • Boston, MA', + type: 'account', + }, + { + id: '4', + label: 'Tyrell Corp', + subTitle: 'Account • San Francisco, CA', + type: 'account', + disabled: true, + }, + { + id: '5', + label: 'Paper St. Soap Company', + subTitle: 'Account • Beloit, WI', + type: 'account', + }, + { + id: '6', + label: 'Nakatomi Investments', + subTitle: 'Account • Chicago, IL', + type: 'account', + disabled: true, + }, + { id: '7', label: 'Acme Landscaping', subTitle: '\u00A0', type: 'account' }, + { + id: '8', + label: 'Acme Construction', + subTitle: 'Account • Grand Marais, MN', + type: 'account', + }, +]; + +const accountsWithIcon = accounts.map((elem) => ({ + ...elem, + ...{ + icon: ( + + ), + }, +})); + +class Example extends React.Component { + constructor(props) { + super(props); + + this.state = { + inputValue: '', + selection: [accountsWithIcon[0], accountsWithIcon[1]], + }; + } + + render() { + return ( + + { + if (this.props.action) { + this.props.action('onChange')(event, value); + } else if (console) { + console.log('onChange', event, value); + } + this.setState({ inputValue: value }); + }, + onRequestRemoveSelectedOption: (event, data) => { + this.setState({ + inputValue: '', + selection: data.selection, + }); + }, + onSubmit: (event, { value }) => { + if (this.props.action) { + this.props.action('onChange')(event, value); + } else if (console) { + console.log('onChange', event, value); + } + this.setState({ + inputValue: '', + selection: [ + ...this.state.selection, + { + label: value, + icon: ( + + ), + }, + ], + }); + }, + onSelect: (event, data) => { + if (this.props.action) { + this.props.action('onSelect')( + event, + ...Object.keys(data).map((key) => data[key]) + ); + } else if (console) { + console.log('onSelect', event, data); + } + this.setState({ + inputValue: '', + selection: data.selection, + }); + }, + }} + labels={{ + label: 'Search', + placeholder: 'Search Salesforce', + }} + multiple + options={comboboxFilterAndLimit({ + inputValue: this.state.inputValue, + limit: 10, + options: accountsWithIcon, + selection: this.state.selection, + })} + selection={this.state.selection} + value={this.state.inputValue} + /> + + ); + } +} + +Example.displayName = 'ComboboxExample'; +export default Example; // export is replaced with `ReactDOM.render(, mountNode);` at runtime diff --git a/components/combobox/__examples__/base-menu-separator.jsx b/components/combobox/__examples__/base-menu-separator.jsx new file mode 100644 index 0000000000..83a3a633ba --- /dev/null +++ b/components/combobox/__examples__/base-menu-separator.jsx @@ -0,0 +1,158 @@ +/* eslint-disable no-console, react/prop-types */ +import React from 'react'; +import Combobox from '~/components/combobox'; +import Icon from '~/components/icon'; +import comboboxFilterAndLimit from '~/components/combobox/filter'; +import IconSettings from '~/components/icon-settings'; + +const accounts = [ + { + id: '1', + label: 'Acme', + subTitle: 'Account • San Francisco', + type: 'account', + }, + { + id: '2', + label: 'Salesforce.com, Inc.', + subTitle: 'Account • San Francisco', + type: 'account', + }, + { + id: '3', + type: 'separator', + }, + { + id: '4', + label: "Paddy's Pub", + subTitle: 'Account • Boston, MA', + type: 'account', + }, + { + id: '5', + label: 'Opportunities', + subTitle: 'Opportunity • San Francisco, CA', + type: 'account', + }, + { + id: '6', + type: 'separator', + }, + { + id: '7', + label: 'Nakatomi Investments', + subTitle: 'Opportunity • Chicago, IL', + type: 'opportunity', + }, + { id: '8', label: 'Acme Landscaping', subTitle: '\u00A0', type: 'account' }, + { + id: '9', + label: 'Acme Construction', + subTitle: 'Opportunity • Grand Marais, MN', + type: 'opportunity', + }, +]; + +const accountsWithIcon = accounts.map((elem) => ({ + ...elem, + ...{ + icon: ( + + ), + }, +})); + +class Example extends React.Component { + constructor(props) { + super(props); + + this.state = { + inputValue: '', + selection: [], + }; + } + + render() { + return ( + + { + if (this.props.action) { + this.props.action('onChange')(event, value); + } else if (console) { + console.log('onChange', event, value); + } + this.setState({ inputValue: value }); + }, + onRequestRemoveSelectedOption: (event, data) => { + this.setState({ + inputValue: '', + selection: data.selection, + }); + }, + onSubmit: (event, { value }) => { + if (this.props.action) { + this.props.action('onChange')(event, value); + } else if (console) { + console.log('onChange', event, value); + } + this.setState({ + inputValue: '', + selection: [ + ...this.state.selection, + { + label: value, + icon: ( + + ), + }, + ], + }); + }, + onSelect: (event, data) => { + if (this.props.action) { + this.props.action('onSelect')( + event, + ...Object.keys(data).map((key) => data[key]) + ); + } else if (console) { + console.log('onSelect', event, data); + } + this.setState({ + inputValue: '', + selection: data.selection, + }); + }, + }} + labels={{ + label: 'Search', + placeholder: 'Search Salesforce', + }} + multiple + options={comboboxFilterAndLimit({ + inputValue: this.state.inputValue, + limit: 10, + options: accountsWithIcon, + selection: this.state.selection, + })} + selection={this.state.selection} + value={this.state.inputValue} + /> + + ); + } +} + +Example.displayName = 'ComboboxExample'; +export default Example; // export is replaced with `ReactDOM.render(, mountNode);` at runtime diff --git a/components/combobox/__examples__/base-menu-subheader.jsx b/components/combobox/__examples__/base-menu-subheader.jsx new file mode 100644 index 0000000000..494bee9738 --- /dev/null +++ b/components/combobox/__examples__/base-menu-subheader.jsx @@ -0,0 +1,167 @@ +/* eslint-disable no-console, react/prop-types */ +import React from 'react'; +import Combobox from '~/components/combobox'; +import Icon from '~/components/icon'; +import comboboxFilterAndLimit from '~/components/combobox/filter'; +import comboboxAddSubheadings from '~/components/combobox/add-subheadings'; +import IconSettings from '~/components/icon-settings'; + +const subheadings = [ + { + id: 'account', + label: 'Accounts', + type: 'separator', + }, + { + id: 'opportunity', + label: 'Opportunities', + type: 'separator', + }, +]; + +const accounts = [ + { + id: '1', + label: 'Acme', + subTitle: 'Account • San Francisco', + type: 'account', + }, + { + id: '2', + label: 'Salesforce.com, Inc.', + subTitle: 'Account • San Francisco', + type: 'account', + }, + { + id: '3', + label: "Paddy's Pub", + subTitle: 'Account • Boston, MA', + type: 'account', + }, + { + id: '4', + label: 'Vandelay Industries', + subTitle: 'Account • San Francisco, CA', + type: 'account', + }, + { + id: '6', + label: 'Nakatomi Investments', + subTitle: 'Opportunity • Chicago, IL', + type: 'opportunity', + }, + { id: '7', label: 'Acme Landscaping', subTitle: '\u00A0', type: 'account' }, + { + id: '8', + label: 'Acme Construction', + subTitle: 'Opportunity • Grand Marais, MN', + type: 'opportunity', + }, +]; + +const accountsWithIcon = accounts.map((elem) => ({ + ...elem, + ...{ + icon: ( + + ), + }, +})); + +class Example extends React.Component { + constructor(props) { + super(props); + + this.state = { + inputValue: '', + selection: [], + }; + } + + render() { + return ( + + { + if (this.props.action) { + this.props.action('onChange')(event, value); + } else if (console) { + console.log('onChange', event, value); + } + this.setState({ inputValue: value }); + }, + onRequestRemoveSelectedOption: (event, data) => { + this.setState({ + inputValue: '', + selection: data.selection, + }); + }, + onSubmit: (event, { value }) => { + if (this.props.action) { + this.props.action('onChange')(event, value); + } else if (console) { + console.log('onChange', event, value); + } + this.setState({ + inputValue: '', + selection: [ + ...this.state.selection, + { + label: value, + icon: ( + + ), + }, + ], + }); + }, + onSelect: (event, data) => { + if (this.props.action) { + this.props.action('onSelect')( + event, + ...Object.keys(data).map((key) => data[key]) + ); + } else if (console) { + console.log('onSelect', event, data); + } + this.setState({ + inputValue: '', + selection: data.selection, + }); + }, + }} + labels={{ + label: 'Search', + placeholder: 'Search Salesforce', + }} + multiple + options={comboboxAddSubheadings({ + subheadings, + filteredOptions: comboboxFilterAndLimit({ + inputValue: this.state.inputValue, + limit: 10, + options: accountsWithIcon, + selection: this.state.selection, + }), + })} + selection={this.state.selection} + value={this.state.inputValue} + /> + + ); + } +} + +Example.displayName = 'ComboboxExample'; +export default Example; // export is replaced with `ReactDOM.render(, mountNode);` at runtime diff --git a/components/combobox/__examples__/base-predefined-options-only.jsx b/components/combobox/__examples__/base-predefined-options-only.jsx new file mode 100644 index 0000000000..c4e5b66ea4 --- /dev/null +++ b/components/combobox/__examples__/base-predefined-options-only.jsx @@ -0,0 +1,132 @@ +/* eslint-disable no-console, react/prop-types */ +import React from 'react'; +import Combobox from '~/components/combobox'; +import comboboxFilterAndLimit from '~/components/combobox/filter'; +import Icon from '~/components/icon'; +import IconSettings from '~/components/icon-settings'; + +const accounts = [ + { + id: '1', + label: 'Acme', + subTitle: 'Account • San Francisco', + type: 'account', + }, + { + id: '2', + label: 'Salesforce.com, Inc.', + subTitle: 'Account • San Francisco', + type: 'account', + }, + { + id: '3', + label: "Paddy's Pub", + subTitle: 'Account • Boston, MA', + type: 'account', + }, + { + id: '4', + label: 'Tyrell Corp', + subTitle: 'Account • San Francisco, CA', + type: 'account', + }, + { + id: '5', + label: 'Paper St. Soap Company', + subTitle: 'Account • Beloit, WI', + type: 'account', + }, + { + id: '6', + label: 'Nakatomi Investments', + subTitle: 'Account • Chicago, IL', + type: 'account', + }, + { id: '7', label: 'Acme Landscaping', type: 'account' }, + { + id: '8', + label: 'Acme Construction', + subTitle: 'Account • Grand Marais, MN', + type: 'account', + }, +]; + +const accountsWithIcon = accounts.map((elem) => ({ + ...elem, + ...{ + icon: ( + + ), + }, +})); + +class Example extends React.Component { + constructor(props) { + super(props); + + this.state = { + inputValue: '', + selection: [accountsWithIcon[0], accountsWithIcon[1]], + }; + } + + render() { + return ( + + { + if (this.props.action) { + this.props.action('onChange')(event, value); + } else if (console) { + console.log('onChange', event, value); + } + this.setState({ inputValue: value }); + }, + onRequestRemoveSelectedOption: (event, data) => { + this.setState({ + inputValue: '', + selection: data.selection, + }); + }, + onSelect: (event, data) => { + if (this.props.action) { + this.props.action('onSelect')( + event, + ...Object.keys(data).map((key) => data[key]) + ); + } else if (console) { + console.log('onSelect', event, data); + } + this.setState({ + inputValue: '', + selection: data.selection, + }); + }, + }} + labels={{ + label: 'Search', + placeholder: 'Search Salesforce', + }} + multiple + options={comboboxFilterAndLimit({ + inputValue: this.state.inputValue, + options: accountsWithIcon, + selection: this.state.selection, + })} + predefinedOptionsOnly + selection={this.state.selection} + value={this.state.inputValue} + /> + + ); + } +} + +Example.displayName = 'ComboboxExample'; +export default Example; // export is replaced with `ReactDOM.render(, mountNode);` at runtime diff --git a/components/combobox/__examples__/base-with-input.jsx b/components/combobox/__examples__/base-with-input.jsx new file mode 100644 index 0000000000..332911e39d --- /dev/null +++ b/components/combobox/__examples__/base-with-input.jsx @@ -0,0 +1,157 @@ +/* eslint-disable no-console, react/prop-types */ +import React from 'react'; +import Combobox from '~/components/combobox'; +import Icon from '~/components/icon'; +import comboboxFilterAndLimit from '~/components/combobox/filter'; +import IconSettings from '~/components/icon-settings'; + +const accounts = [ + { + id: '1', + label: 'Acme', + subTitle: 'Account • San Francisco', + type: 'account', + }, + { + id: '2', + label: 'Salesforce.com, Inc.', + subTitle: 'Account • San Francisco', + type: 'account', + }, + { + id: '3', + label: "Paddy's Pub", + subTitle: 'Account • Boston, MA', + type: 'account', + }, + { + id: '4', + label: 'Tyrell Corp', + subTitle: 'Account • San Francisco, CA', + type: 'account', + }, + { + id: '5', + label: 'Paper St. Soap Company', + subTitle: 'Account • Beloit, WI', + type: 'account', + }, + { + id: '6', + label: 'Nakatomi Investments', + subTitle: 'Account • Chicago, IL', + type: 'account', + }, + { id: '7', label: 'Acme Landscaping', subTitle: '\u00A0', type: 'account' }, + { + id: '8', + label: 'Acme Construction', + subTitle: 'Account • Grand Marais, MN', + type: 'account', + }, +]; + +const accountsWithIcon = accounts.map((elem) => ({ + ...elem, + ...{ + icon: ( + + ), + }, +})); + +class Example extends React.Component { + constructor(props) { + super(props); + + this.state = { + inputValue: 'b', + selection: [accountsWithIcon[0], accountsWithIcon[1]], + }; + } + + render() { + return ( + + { + if (this.props.action) { + this.props.action('onChange')(event, value); + } else if (console) { + console.log('onChange', event, value); + } + this.setState({ inputValue: value }); + }, + onRequestRemoveSelectedOption: (event, data) => { + this.setState({ + inputValue: '', + selection: data.selection, + }); + }, + onSubmit: (event, { value }) => { + if (this.props.action) { + this.props.action('onChange')(event, value); + } else if (console) { + console.log('onChange', event, value); + } + this.setState({ + inputValue: '', + selection: [ + ...this.state.selection, + { + label: value, + icon: ( + + ), + }, + ], + }); + }, + onSelect: (event, data) => { + if (this.props.action) { + this.props.action('onSelect')( + event, + ...Object.keys(data).map((key) => data[key]) + ); + } else if (console) { + console.log('onSelect', event, data); + } + this.setState({ + inputValue: '', + selection: data.selection, + }); + }, + }} + labels={{ + label: 'Search', + placeholder: 'Search Salesforce', + }} + multiple + options={comboboxFilterAndLimit({ + inputValue: this.state.inputValue, + limit: 10, + options: accountsWithIcon, + selection: this.state.selection, + })} + selection={this.state.selection} + value={this.state.inputValue} + isOpen + /> + + ); + } +} + +Example.displayName = 'ComboboxExample'; +export default Example; // export is replaced with `ReactDOM.render(, mountNode);` at runtime diff --git a/components/combobox/__examples__/base-with-scroll.jsx b/components/combobox/__examples__/base-with-scroll.jsx new file mode 100644 index 0000000000..1900e75aee --- /dev/null +++ b/components/combobox/__examples__/base-with-scroll.jsx @@ -0,0 +1,157 @@ +/* eslint-disable no-console, react/prop-types */ +import React from 'react'; +import Combobox from '~/components/combobox'; +import Icon from '~/components/icon'; +import comboboxFilterAndLimit from '~/components/combobox/filter'; +import IconSettings from '~/components/icon-settings'; + +const accounts = [ + { + id: '1', + label: 'Acme', + subTitle: 'Account • San Francisco', + type: 'account', + }, + { + id: '2', + label: 'Salesforce.com, Inc.', + subTitle: 'Account • San Francisco', + type: 'account', + }, + { + id: '3', + label: "Paddy's Pub", + subTitle: 'Account • Boston, MA', + type: 'account', + }, + { + id: '4', + label: 'Tyrell Corp', + subTitle: 'Account • San Francisco, CA', + type: 'account', + }, + { + id: '5', + label: 'Paper St. Soap Company', + subTitle: 'Account • Beloit, WI', + type: 'account', + }, + { + id: '6', + label: 'Nakatomi Investments', + subTitle: 'Account • Chicago, IL', + type: 'account', + }, + { id: '7', label: 'Acme Landscaping', subTitle: '\u00A0', type: 'account' }, + { + id: '8', + label: 'Acme Construction', + subTitle: 'Account • Grand Marais, MN', + type: 'account', + }, +]; + +const accountsWithIcon = accounts.map((elem) => ({ + ...elem, + ...{ + icon: ( + + ), + }, +})); + +class Example extends React.Component { + constructor(props) { + super(props); + + this.state = { + inputValue: '', + selection: [accountsWithIcon[0], accountsWithIcon[1]], + }; + } + + render() { + return ( + + { + if (this.props.action) { + this.props.action('onChange')(event, value); + } else if (console) { + console.log('onChange', event, value); + } + this.setState({ inputValue: value }); + }, + onRequestRemoveSelectedOption: (event, data) => { + this.setState({ + inputValue: '', + selection: data.selection, + }); + }, + onSubmit: (event, { value }) => { + if (this.props.action) { + this.props.action('onChange')(event, value); + } else if (console) { + console.log('onChange', event, value); + } + this.setState({ + inputValue: '', + selection: [ + ...this.state.selection, + { + label: value, + icon: ( + + ), + }, + ], + }); + }, + onSelect: (event, data) => { + if (this.props.action) { + this.props.action('onSelect')( + event, + ...Object.keys(data).map((key) => data[key]) + ); + } else if (console) { + console.log('onSelect', event, data); + } + this.setState({ + inputValue: '', + selection: data.selection, + }); + }, + }} + labels={{ + label: 'Search', + placeholder: 'Search Salesforce', + }} + menuItemVisibleLength={5} + multiple + options={comboboxFilterAndLimit({ + inputValue: this.state.inputValue, + limit: 10, + options: accountsWithIcon, + selection: this.state.selection, + })} + selection={this.state.selection} + value={this.state.inputValue} + /> + + ); + } +} + +Example.displayName = 'ComboboxExample'; +export default Example; // export is replaced with `ReactDOM.render(, mountNode);` at runtime diff --git a/components/combobox/__examples__/base.jsx b/components/combobox/__examples__/base.jsx new file mode 100644 index 0000000000..189b5fb53b --- /dev/null +++ b/components/combobox/__examples__/base.jsx @@ -0,0 +1,156 @@ +/* eslint-disable no-console, react/prop-types */ +import React from 'react'; +import Combobox from '~/components/combobox'; +import Icon from '~/components/icon'; +import comboboxFilterAndLimit from '~/components/combobox/filter'; +import IconSettings from '~/components/icon-settings'; + +const accounts = [ + { + id: '1', + label: 'Acme', + subTitle: 'Account • San Francisco', + type: 'account', + }, + { + id: '2', + label: 'Salesforce.com, Inc.', + subTitle: 'Account • San Francisco', + type: 'account', + }, + { + id: '3', + label: "Paddy's Pub", + subTitle: 'Account • Boston, MA', + type: 'account', + }, + { + id: '4', + label: 'Tyrell Corp', + subTitle: 'Account • San Francisco, CA', + type: 'account', + }, + { + id: '5', + label: 'Paper St. Soap Company', + subTitle: 'Account • Beloit, WI', + type: 'account', + }, + { + id: '6', + label: 'Nakatomi Investments', + subTitle: 'Account • Chicago, IL', + type: 'account', + }, + { id: '7', label: 'Acme Landscaping', subTitle: '\u00A0', type: 'account' }, + { + id: '8', + label: 'Acme Construction', + subTitle: 'Account • Grand Marais, MN', + type: 'account', + }, +]; + +const accountsWithIcon = accounts.map((elem) => ({ + ...elem, + ...{ + icon: ( + + ), + }, +})); + +class Example extends React.Component { + constructor(props) { + super(props); + + this.state = { + inputValue: '', + selection: [accountsWithIcon[0], accountsWithIcon[1]], + }; + } + + render() { + return ( + + { + if (this.props.action) { + this.props.action('onChange')(event, value); + } else if (console) { + console.log('onChange', event, value); + } + this.setState({ inputValue: value }); + }, + onRequestRemoveSelectedOption: (event, data) => { + this.setState({ + inputValue: '', + selection: data.selection, + }); + }, + onSubmit: (event, { value }) => { + if (this.props.action) { + this.props.action('onChange')(event, value); + } else if (console) { + console.log('onChange', event, value); + } + this.setState({ + inputValue: '', + selection: [ + ...this.state.selection, + { + label: value, + icon: ( + + ), + }, + ], + }); + }, + onSelect: (event, data) => { + if (this.props.action) { + this.props.action('onSelect')( + event, + ...Object.keys(data).map((key) => data[key]) + ); + } else if (console) { + console.log('onSelect', event, data); + } + this.setState({ + inputValue: '', + selection: data.selection, + }); + }, + }} + labels={{ + label: 'Search', + placeholder: 'Search Salesforce', + }} + multiple + options={comboboxFilterAndLimit({ + inputValue: this.state.inputValue, + limit: 10, + options: accountsWithIcon, + selection: this.state.selection, + })} + selection={this.state.selection} + value={this.state.inputValue} + /> + + ); + } +} + +Example.displayName = 'ComboboxExample'; +export default Example; // export is replaced with `ReactDOM.render(, mountNode);` at runtime diff --git a/components/combobox/__examples__/dialog.jsx b/components/combobox/__examples__/dialog.jsx new file mode 100644 index 0000000000..3a7bbdcd8c --- /dev/null +++ b/components/combobox/__examples__/dialog.jsx @@ -0,0 +1,130 @@ +/* eslint-disable no-console, react/prop-types */ +import React from 'react'; +import Checkbox from '~/components/checkbox'; +import Combobox from '~/components/combobox'; +import IconSettings from '~/components/icon-settings'; +import Popover from '~/components/popover'; + +const languages = ['English', 'German', 'Tobagonian Creole English', 'Spanish']; + +class Example extends React.Component { + constructor(props) { + super(props); + this.state = { + inputValue: 'Select an option', + selection: [], + checked: [], + }; + this.handleClose = this.handleClose.bind(this); + } + + getIsChecked(label) { + let isChecked = false; + const checkedIndex = this.state.checked.findIndex( + (el) => el.label === label + ); + if (checkedIndex > -1) isChecked = true; + return isChecked; + } + + getInputString = (options) => { + let inputValue = ''; + if (options.length === 0) inputValue = 'Select an option'; + else if (options.length === 1) inputValue = `${options[0].label}`; + else inputValue = `${options.length} options selected`; + return inputValue; + }; + + handleCheckboxChange(targetChecked, target, value) { + const { checked } = this.state; + if (targetChecked) { + checked.push({ + id: target.id, + label: value, + }); + } else { + const valueIndex = checked.findIndex((el) => el.label === value); + checked.splice(valueIndex, 1); + } + + const inputValue = this.getInputString(checked); + this.setState({ inputValue, checked }); + } + + handleClose(e, { trigger }) { + if (trigger === 'cancel') { + const inputValue = this.getInputString(this.state.selection); + const selection = + this.state.selection.length > 0 ? this.state.selection.slice(0) : []; + this.setState({ + checked: selection, + inputValue, + }); + } else { + const checked = + this.state.checked.length > 0 ? this.state.checked.slice(0) : []; + this.setState({ + selection: checked, + }); + } + } + + render() { + return ( + + 2 || this.state.checked.length > 2 + ? 'Only select 2 options.' + : null + } + labels={{ + label: 'Languages', + placeholder: this.state.inputValue, + }} + popover={ + +
    + + Select up to 2 + +
    + {languages.map((language, i) => ( + { + this.handleCheckboxChange( + checked, + e.target, + language + ); + }} + /> + ))} +
    +
    + + } + onClose={this.handleClose} + /> + } + selection={this.state.selection} + value={this.state.inputValue} + variant="popover" + /> +
    + ); + } +} + +Example.displayName = 'ComboboxExample'; +export default Example; // export is replaced with `ReactDOM.render(, mountNode);` at runtime diff --git a/components/combobox/__examples__/inline-multiple-loading.jsx b/components/combobox/__examples__/inline-multiple-loading.jsx new file mode 100644 index 0000000000..2c48b1b3c2 --- /dev/null +++ b/components/combobox/__examples__/inline-multiple-loading.jsx @@ -0,0 +1,168 @@ +/* eslint-disable no-console, react/prop-types */ +import React from 'react'; +import Combobox from '~/components/combobox'; +import Icon from '~/components/icon'; +import comboboxFilterAndLimit from '~/components/combobox/filter'; +import IconSettings from '~/components/icon-settings'; + +const accounts = [ + { + id: '1', + label: 'Acme', + subTitle: 'Account • San Francisco', + type: 'account', + }, + { + id: '2', + label: 'Salesforce.com, Inc.', + subTitle: 'Account • San Francisco', + type: 'account', + }, + { + id: '3', + label: "Paddy's Pub", + subTitle: 'Account • Boston, MA', + type: 'account', + }, + { + id: '4', + label: 'Tyrell Corp', + subTitle: 'Account • San Francisco, CA', + type: 'account', + }, + { + id: '5', + label: 'Paper St. Soap Company', + subTitle: 'Account • Beloit, WI', + type: 'account', + }, + { + id: '6', + label: 'Nakatomi Investments', + subTitle: 'Account • Chicago, IL', + type: 'account', + }, + { id: '7', label: 'Acme Landscaping', type: 'account' }, + { + id: '8', + label: 'Acme Construction', + subTitle: 'Account • Grand Marais, MN', + type: 'account', + }, +]; + +const accountsWithIcon = accounts.map((elem) => ({ + ...elem, + ...{ + icon: ( + + ), + }, +})); +class Example extends React.Component { + constructor(props) { + super(props); + + this.state = { + inputValue: '', + isLoadingMenuItems: false, + selection: [], + }; + } + + delayOptionsLoad = () => { + // A promise should be used here for asynchronous callbacks + setTimeout(() => { + this.setState({ isLoadingMenuItems: false }); + }, 1000); + }; + + render() { + return ( + + { + this.props.action('onChange')(event, value); + this.setState({ inputValue: value, isLoadingMenuItems: true }); + this.delayOptionsLoad(); + }, + onRequestRemoveSelectedOption: (event, data) => { + this.setState({ + inputValue: '', + selection: data.selection, + }); + }, + onSubmit: (event, { value }) => { + if (this.props.action) { + this.props.action('onChange')(event, value); + } else if (console) { + console.log('onChange', event, value); + } + this.setState({ + inputValue: '', + selection: [ + ...this.state.selection, + { + label: value, + icon: ( + + ), + }, + ], + }); + }, + onSelect: (event, data) => { + if (this.props.action) { + this.props.action('onSelect')( + event, + ...Object.keys(data).map((key) => data[key]) + ); + } else if (console) { + console.log('onSelect', event, data); + } + this.setState({ + inputValue: '', + selection: data.selection, + }); + }, + }} + labels={{ + label: 'Search', + placeholder: 'Search Salesforce', + }} + multiple + options={ + this.state.isLoadingMenuItems + ? comboboxFilterAndLimit({ + inputValue: this.state.inputValue, + options: accountsWithIcon.slice(0, 3), + selection: this.state.selection, + }) + : comboboxFilterAndLimit({ + inputValue: this.state.inputValue, + options: accountsWithIcon, + selection: this.state.selection, + }) + } + selection={this.state.selection} + value={this.state.inputValue} + variant="inline-listbox" + hasMenuSpinner={this.state.isLoadingMenuItems} + /> + + ); + } +} + +Example.displayName = 'ComboboxExample'; +export default Example; // export is replaced with `ReactDOM.render(, mountNode);` at runtime diff --git a/components/combobox/__examples__/inline-multiple.jsx b/components/combobox/__examples__/inline-multiple.jsx new file mode 100644 index 0000000000..f331d68384 --- /dev/null +++ b/components/combobox/__examples__/inline-multiple.jsx @@ -0,0 +1,151 @@ +/* eslint-disable no-console, react/prop-types */ +import React from 'react'; +import Combobox from '~/components/combobox'; +import Icon from '~/components/icon'; +import comboboxFilterAndLimit from '~/components/combobox/filter'; +import IconSettings from '~/components/icon-settings'; + +const accounts = [ + { + id: '1', + label: 'Acme', + subTitle: 'Account • San Francisco', + type: 'account', + }, + { + id: '2', + label: 'Salesforce.com, Inc.', + subTitle: 'Account • San Francisco', + type: 'account', + }, + { + id: '3', + label: "Paddy's Pub", + subTitle: 'Account • Boston, MA', + type: 'account', + }, + { + id: '4', + label: 'Tyrell Corp', + subTitle: 'Account • San Francisco, CA', + type: 'account', + }, + { + id: '5', + label: 'Paper St. Soap Company', + subTitle: 'Account • Beloit, WI', + type: 'account', + }, + { + id: '6', + label: 'Nakatomi Investments', + subTitle: 'Account • Chicago, IL', + type: 'account', + }, + { id: '7', label: 'Acme Landscaping', type: 'account' }, + { + id: '8', + label: 'Acme Construction', + subTitle: 'Account • Grand Marais, MN', + type: 'account', + }, +]; + +const accountsWithIcon = accounts.map((elem) => ({ + ...elem, + ...{ + icon: ( + + ), + }, +})); + +class Example extends React.Component { + constructor(props) { + super(props); + + this.state = { + inputValue: '', + selection: [accountsWithIcon[0], accountsWithIcon[1]], + }; + } + + render() { + return ( + + { + this.props.action('onChange')(event, value); + this.setState({ inputValue: value }); + }, + onRequestRemoveSelectedOption: (event, data) => { + this.setState({ + inputValue: '', + selection: data.selection, + }); + }, + onSubmit: (event, { value }) => { + if (this.props.action) { + this.props.action('onChange')(event, value); + } else if (console) { + console.log('onChange', event, value); + } + this.setState({ + inputValue: '', + selection: [ + ...this.state.selection, + { + label: value, + icon: ( + + ), + }, + ], + }); + }, + onSelect: (event, data) => { + if (this.props.action) { + this.props.action('onSelect')( + event, + ...Object.keys(data).map((key) => data[key]) + ); + } else if (console) { + console.log('onSelect', event, data); + } + this.setState({ + inputValue: '', + selection: data.selection, + }); + }, + }} + labels={{ + label: 'Search', + placeholder: 'Search Salesforce', + }} + multiple + options={comboboxFilterAndLimit({ + inputValue: this.state.inputValue, + options: accountsWithIcon, + selection: this.state.selection, + })} + selection={this.state.selection} + value={this.state.inputValue} + variant="inline-listbox" + /> + + ); + } +} + +Example.displayName = 'ComboboxExample'; +export default Example; // export is replaced with `ReactDOM.render(, mountNode);` at runtime diff --git a/components/combobox/__examples__/inline-single-entity-combobox.jsx b/components/combobox/__examples__/inline-single-entity-combobox.jsx new file mode 100644 index 0000000000..cb4c4463cc --- /dev/null +++ b/components/combobox/__examples__/inline-single-entity-combobox.jsx @@ -0,0 +1,253 @@ +/* eslint-disable no-console, react/prop-types */ +import React from 'react'; +import Combobox from '~/components/combobox'; +import Icon from '~/components/icon'; +import comboboxFilterAndLimit from '~/components/combobox/filter'; +import IconSettings from '~/components/icon-settings'; + +const accounts = [ + { + id: '1', + label: 'Acme', + subTitle: 'Account • San Francisco', + type: 'account', + }, + { + id: '2', + label: 'Salesforce.com, Inc.', + subTitle: 'Account • San Francisco', + type: 'account', + }, + { + id: '3', + label: "Paddy's Pub", + subTitle: 'Account • Boston, MA', + type: 'account', + }, + { + id: '4', + label: 'Tyrell Corp', + subTitle: 'Account • San Francisco, CA', + type: 'account', + }, + { + id: '5', + label: 'Paper St. Soap Company', + subTitle: 'Account • Beloit, WI', + type: 'account', + }, + { + id: '6', + label: 'Nakatomi Investments', + subTitle: 'Account • Chicago, IL', + type: 'account', + }, + { id: '7', label: 'Acme Landscaping', type: 'account' }, + { + id: '8', + label: 'Acme Construction', + subTitle: 'Account • Grand Marais, MN', + type: 'account', + }, +]; +const entities = [ + { + id: '0', + label: 'Suggested for you', + type: 'separator', + }, + { + id: '1', + label: 'All', + }, + { + id: '2', + label: 'Accounts', + }, + { + id: '3', + label: 'Analytics', + }, + { + id: '4', + label: 'Approvals', + }, +]; + +const accountsWithIcon = accounts.map((elem) => ({ + ...elem, + ...{ + icon: ( + + ), + }, +})); +const entityWithIcon = entities.map((elem) => ({ + ...elem, + ...{ + icon: ( + + ), + }, +})); + +class Example extends React.Component { + constructor(props) { + super(props); + + this.state = { + inputValue: '', + entityInputValue: '', + selection: [], + entitySelection: [entities[1]], + }; + } + + entityCombobox = () => ( + { + this.props.action('onChange')(event, value); + this.setState({ entityInputValue: value }); + }, + onRequestRemoveSelectedOption: (event, data) => { + this.setState({ + entityInputValue: '', + entitySelection: data.selection, + }); + }, + onSubmit: (event, { value }) => { + if (this.props.action) { + this.props.action('onChange')(event, value); + } else if (console) { + console.log('onChange', event, value); + } + this.setState({ + entityInputValue: '', + entitySelection: [ + ...this.state.entitySelection, + { + label: value, + icon: ( + + ), + }, + ], + }); + }, + onSelect: (event, data) => { + if (this.props.action) { + this.props.action('onSelect')( + event, + ...Object.keys(data).map((key) => data[key]) + ); + } else if (console) { + console.log('onSelect', event, data); + } + this.setState({ + entityInputValue: '', + entitySelection: data.selection, + }); + }, + }} + options={comboboxFilterAndLimit({ + inputValue: this.state.entityInputValue, + options: entityWithIcon, + selection: this.state.entitySelection, + })} + selection={this.state.entitySelection} + value={this.state.entityInputValue} + variant="readonly" + /> + ); + + render() { + return ( + + { + this.props.action('onChange')(event, value); + this.setState({ inputValue: value }); + }, + onRequestRemoveSelectedOption: (event, data) => { + this.setState({ + inputValue: '', + selection: data.selection, + }); + }, + onSubmit: (event, { value }) => { + if (this.props.action) { + this.props.action('onChange')(event, value); + } else if (console) { + console.log('onChange', event, value); + } + this.setState({ + inputValue: '', + selection: [ + ...this.state.selection, + { + label: value, + icon: ( + + ), + }, + ], + }); + }, + onSelect: (event, data) => { + if (this.props.action) { + this.props.action('onSelect')( + event, + ...Object.keys(data).map((key) => data[key]) + ); + } else if (console) { + console.log('onSelect', event, data); + } + this.setState({ + inputValue: '', + selection: data.selection, + }); + }, + }} + labels={{ + label: 'Search', + placeholder: 'Search Salesforce', + }} + multiple + options={comboboxFilterAndLimit({ + inputValue: this.state.inputValue, + options: accountsWithIcon, + selection: this.state.selection, + })} + selection={this.state.selection} + value={this.state.inputValue} + variant="inline-listbox" + entityCombobox={this.entityCombobox()} + /> + + ); + } +} + +Example.displayName = 'ComboboxExample'; +export default Example; // export is replaced with `ReactDOM.render(, mountNode);` at runtime diff --git a/components/combobox/__examples__/inline-single-predefined-options-only.jsx b/components/combobox/__examples__/inline-single-predefined-options-only.jsx new file mode 100644 index 0000000000..0158a8cd50 --- /dev/null +++ b/components/combobox/__examples__/inline-single-predefined-options-only.jsx @@ -0,0 +1,159 @@ +/* eslint-disable no-console, react/prop-types */ +import React from 'react'; +import Combobox from '~/components/combobox'; +import Icon from '~/components/icon'; +import comboboxFilterAndLimit from '~/components/combobox/filter'; +import IconSettings from '~/components/icon-settings'; + +const accounts = [ + { + id: '1', + label: 'Acme', + subTitle: 'Account • San Francisco', + type: 'account', + }, + { + id: '2', + label: 'Salesforce.com, Inc.', + subTitle: 'Account • San Francisco', + type: 'account', + }, + { + id: '3', + label: "Paddy's Pub", + subTitle: 'Account • Boston, MA', + type: 'account', + }, + { + id: '4', + label: 'Tyrell Corp', + subTitle: 'Account • San Francisco, CA', + type: 'account', + }, + { + id: '5', + label: 'Paper St. Soap Company', + subTitle: 'Account • Beloit, WI', + type: 'account', + }, + { + id: '6', + label: 'Nakatomi Investments', + subTitle: 'Account • Chicago, IL', + type: 'account', + }, + { id: '7', label: 'Acme Landscaping', type: 'account' }, + { + id: '8', + label: 'Acme Construction', + subTitle: 'Account • Grand Marais, MN', + type: 'account', + }, +]; + +const accountsWithIcon = accounts.map((elem) => ({ + ...elem, + ...{ + icon: ( + + ), + }, +})); + +class Example extends React.Component { + constructor(props) { + super(props); + + this.state = { + inputValue: '', + selection: [], + }; + } + + render() { + return ( + + { + if (this.props.action) { + this.props.action('onChange')(event, value); + } else if (console) { + console.log('onChange', event, value); + } + this.setState({ inputValue: value }); + }, + onRequestRemoveSelectedOption: (event, data) => { + this.setState({ + inputValue: '', + selection: data.selection, + }); + }, + onSubmit: (event, { value }) => { + if (this.props.action) { + this.props.action('onChange')(event, value); + } else if (console) { + console.log('onChange', event, value); + } + this.setState({ + inputValue: '', + selection: [ + ...this.state.selection, + { + label: value, + icon: ( + + ), + }, + ], + }); + }, + onSelect: (event, data) => { + if (this.props.action) { + this.props.action('onSelect')( + event, + ...Object.keys(data).map((key) => data[key]) + ); + } else if (console) { + console.log('onSelect', event, data); + } + this.setState({ + inputValue: '', + selection: data.selection, + }); + }, + }} + labels={{ + label: 'Search', + placeholder: 'Search Salesforce', + }} + options={comboboxFilterAndLimit({ + inputValue: this.state.inputValue, + options: accountsWithIcon, + selection: this.state.selection, + })} + predefinedOptionsOnly + selection={this.state.selection} + value={ + this.state.selection.length > 0 + ? this.state.selection[0].label + : this.state.inputValue + } + variant="inline-listbox" + /> + + ); + } +} + +Example.displayName = 'ComboboxExample'; +export default Example; // export is replaced with `ReactDOM.render(, mountNode);` at runtime diff --git a/components/combobox/__examples__/inline-single-search-add-entities.jsx b/components/combobox/__examples__/inline-single-search-add-entities.jsx new file mode 100644 index 0000000000..d45da2d7e4 --- /dev/null +++ b/components/combobox/__examples__/inline-single-search-add-entities.jsx @@ -0,0 +1,187 @@ +/* eslint-disable no-console, react/prop-types */ +import React from 'react'; +import Combobox from '~/components/combobox'; +import Icon from '~/components/icon'; +import comboboxFilterAndLimit from '~/components/combobox/filter'; +import IconSettings from '~/components/icon-settings'; + +const accounts = [ + { + id: '1', + label: 'Acme', + subTitle: 'Account • San Francisco', + type: 'account', + }, + { + id: '2', + label: 'Salesforce.com, Inc.', + subTitle: 'Account • San Francisco', + type: 'account', + }, + { + id: '3', + label: "Paddy's Pub", + subTitle: 'Account • Boston, MA', + type: 'account', + }, + { + id: '4', + label: 'Tyrell Corp', + subTitle: 'Account • San Francisco, CA', + type: 'account', + }, +]; + +const accountsWithIcon = accounts.map((elem) => ({ + ...elem, + ...{ + icon: ( + + ), + }, +})); + +class Example extends React.Component { + constructor(props) { + super(props); + + this.state = { + inputValue: '', + isLoadingMenuItems: false, + selection: [], + }; + } + + delayOptionsLoad = () => { + // A promise should be used here for asynchronous callbacks + setTimeout(() => { + this.setState({ isLoadingMenuItems: false }); + }, 1000); + }; + + render() { + return ( + + + ), + label: 'Search in Salesforce', + }, + { + id: 'search-in-account-id', + icon: ( + + ), + label: (searchTerm) => [ + searchTerm && searchTerm.length > 0 ? ( + {`"${searchTerm}" `} + ) : ( + 'Search ' + ), + 'in Accounts', + ], + }, + ]} + optionsAddItem={[ + { + id: 'options-add-id-1', + icon: ( + + ), + label: 'New Entity', + }, + ]} + events={{ + onChange: (event, { value }) => { + if (this.props.action) { + this.props.action('onChange')(event, value); + } else if (console) { + console.log('onChange', event, value); + } + this.setState({ inputValue: value, isLoadingMenuItems: true }); + this.delayOptionsLoad(); + }, + onRequestRemoveSelectedOption: (event, data) => { + this.setState({ + inputValue: '', + selection: data.selection, + }); + }, + onSubmit: (event, { value }) => { + if (this.props.action) { + this.props.action('onChange')(event, value); + } else if (console) { + console.log('onChange', event, value); + } + this.setState({ + inputValue: '', + }); + }, + onSelect: (event, data) => { + if (this.props.action) { + this.props.action('onSelect')( + event, + ...Object.keys(data).map((key) => data[key]) + ); + } else if (console) { + console.log('onSelect', event, data); + } + this.setState({ + inputValue: '', + }); + }, + }} + labels={{ + label: 'Search', + placeholder: 'Search Salesforce', + }} + options={ + this.state.isLoadingMenuItems + ? [] + : comboboxFilterAndLimit({ + inputValue: this.state.inputValue, + options: accountsWithIcon, + selection: this.state.selection, + }) + } + selection={this.state.selection} + value={ + this.state.selectedOption + ? this.state.selectedOption.label + : this.state.inputValue + } + variant="inline-listbox" + {...this.props} + /> + + ); + } +} + +Example.displayName = 'ComboboxExample'; +export default Example; // export is replaced with `ReactDOM.render(, mountNode);` at runtime diff --git a/components/combobox/__examples__/inline-single-with-custom-open-state.jsx b/components/combobox/__examples__/inline-single-with-custom-open-state.jsx new file mode 100644 index 0000000000..694071b778 --- /dev/null +++ b/components/combobox/__examples__/inline-single-with-custom-open-state.jsx @@ -0,0 +1,149 @@ +/* eslint-disable no-console, react/prop-types */ +import React from 'react'; +import Combobox from '~/components/combobox'; +import Icon from '~/components/icon'; +import comboboxFilterAndLimit from '~/components/combobox/filter'; +import IconSettings from '~/components/icon-settings'; + +const accounts = [ + { + id: '1', + label: 'Acme', + subTitle: 'Account • San Francisco', + type: 'account', + }, + { + id: '2', + label: 'Salesforce.com, Inc.', + subTitle: 'Account • San Francisco', + type: 'account', + }, + { + id: '3', + label: "Paddy's Pub", + subTitle: 'Account • Boston, MA', + type: 'account', + }, + { + id: '4', + label: 'Tyrell Corp', + subTitle: 'Account • San Francisco, CA', + type: 'account', + }, + { + id: '5', + label: 'Paper St. Soap Company', + subTitle: 'Account • Beloit, WI', + type: 'account', + }, + { + id: '6', + label: 'Nakatomi Investments', + subTitle: 'Account • Chicago, IL', + type: 'account', + }, + { id: '7', label: 'Acme Landscaping', type: 'account' }, + { + id: '8', + label: 'Acme Construction', + subTitle: 'Account • Grand Marais, MN', + type: 'account', + }, +]; + +const accountsWithIcon = accounts.map((elem) => ({ + ...elem, + ...{ + icon: ( + + ), + }, +})); + +class Example extends React.Component { + constructor(props) { + super(props); + + this.state = { + inputValue: '', + selection: [], + isOpen: false, + }; + } + + render() { + return ( + + { + if (this.props.action) { + this.props.action('onChange')(event, value); + } else if (console) { + console.log('onChange', event, value); + } + this.setState({ inputValue: value }); + }, + onRequestClose: () => { + this.setState((prevState) => ({ + ...prevState, + isOpen: false, + inputValue: '', + })); + }, + onRequestOpen: () => { + this.setState((prevState) => ({ ...prevState, isOpen: true })); + }, + onRequestRemoveSelectedOption: (event, data) => { + this.setState({ + inputValue: '', + selection: data.selection, + }); + }, + onSelect: (event, data) => { + if (this.props.action) { + this.props.action('onSelect')( + event, + ...Object.keys(data).map((key) => data[key]) + ); + } else if (console) { + console.log('onSelect', event, data); + } + this.setState({ + inputValue: '', + selection: data.selection, + isOpen: false, + }); + }, + }} + labels={{ + label: 'Search', + placeholder: 'Search Salesforce', + }} + options={comboboxFilterAndLimit({ + inputValue: this.state.inputValue, + options: accountsWithIcon, + selection: this.state.selection, + })} + predefinedOptionsOnly + selection={this.state.selection} + isOpen={this.state.isOpen} + value={ + this.state.selection.length > 0 + ? this.state.selection[0].label + : this.state.inputValue + } + variant="inline-listbox" + /> + + ); + } +} + +Example.displayName = 'ComboboxExample'; +export default Example; // export is replaced with `ReactDOM.render(, mountNode);` at runtime diff --git a/components/combobox/__examples__/inline-single.jsx b/components/combobox/__examples__/inline-single.jsx new file mode 100644 index 0000000000..96e69f874c --- /dev/null +++ b/components/combobox/__examples__/inline-single.jsx @@ -0,0 +1,158 @@ +/* eslint-disable no-console, react/prop-types */ +import React from 'react'; +import Combobox from '~/components/combobox'; +import Icon from '~/components/icon'; +import comboboxFilterAndLimit from '~/components/combobox/filter'; +import IconSettings from '~/components/icon-settings'; + +const accounts = [ + { + id: '1', + label: 'Acme', + subTitle: 'Account • San Francisco', + type: 'account', + }, + { + id: '2', + label: 'Salesforce.com, Inc.', + subTitle: 'Account • San Francisco', + type: 'account', + }, + { + id: '3', + label: "Paddy's Pub", + subTitle: 'Account • Boston, MA', + type: 'account', + }, + { + id: '4', + label: 'Tyrell Corp', + subTitle: 'Account • San Francisco, CA', + type: 'account', + }, + { + id: '5', + label: 'Paper St. Soap Company', + subTitle: 'Account • Beloit, WI', + type: 'account', + }, + { + id: '6', + label: 'Nakatomi Investments', + subTitle: 'Account • Chicago, IL', + type: 'account', + }, + { id: '7', label: 'Acme Landscaping', type: 'account' }, + { + id: '8', + label: 'Acme Construction', + subTitle: 'Account • Grand Marais, MN', + type: 'account', + }, +]; + +const accountsWithIcon = accounts.map((elem) => ({ + ...elem, + ...{ + icon: ( + + ), + }, +})); + +class Example extends React.Component { + constructor(props) { + super(props); + + this.state = { + inputValue: '', + selection: [], + }; + } + + render() { + return ( + + { + if (this.props.action) { + this.props.action('onChange')(event, value); + } else if (console) { + console.log('onChange', event, value); + } + this.setState({ inputValue: value }); + }, + onRequestRemoveSelectedOption: (event, data) => { + this.setState({ + inputValue: '', + selection: data.selection, + }); + }, + onSubmit: (event, { value }) => { + if (this.props.action) { + this.props.action('onChange')(event, value); + } else if (console) { + console.log('onChange', event, value); + } + this.setState({ + inputValue: '', + selection: [ + ...this.state.selection, + { + label: value, + icon: ( + + ), + }, + ], + }); + }, + onSelect: (event, data) => { + if (this.props.action) { + this.props.action('onSelect')( + event, + ...Object.keys(data).map((key) => data[key]) + ); + } else if (console) { + console.log('onSelect', event, data); + } + this.setState({ + inputValue: '', + selection: data.selection, + }); + }, + }} + labels={{ + label: 'Search', + placeholder: 'Search Salesforce', + }} + options={comboboxFilterAndLimit({ + inputValue: this.state.inputValue, + options: accountsWithIcon, + selection: this.state.selection, + })} + selection={this.state.selection} + value={ + this.state.selectedOption + ? this.state.selectedOption.label + : this.state.inputValue + } + variant="inline-listbox" + /> + + ); + } +} + +Example.displayName = 'ComboboxExample'; +export default Example; // export is replaced with `ReactDOM.render(, mountNode);` at runtime diff --git a/components/combobox/__examples__/input-prop.jsx b/components/combobox/__examples__/input-prop.jsx new file mode 100644 index 0000000000..ffa0628d09 --- /dev/null +++ b/components/combobox/__examples__/input-prop.jsx @@ -0,0 +1,164 @@ +/* eslint-disable no-console, react/prop-types */ +import React from 'react'; +import Combobox from '~/components/combobox'; +import Icon from '~/components/icon'; +import Input from '~/components/input'; +import comboboxFilterAndLimit from '~/components/combobox/filter'; +import IconSettings from '~/components/icon-settings'; + +const accounts = [ + { + id: '1', + label: 'Acme', + subTitle: 'Account • San Francisco', + type: 'account', + }, + { + id: '2', + label: 'Salesforce.com, Inc.', + subTitle: 'Account • San Francisco', + type: 'account', + }, + { + id: '3', + label: "Paddy's Pub", + subTitle: 'Account • Boston, MA', + type: 'account', + }, + { + id: '4', + label: 'Tyrell Corp', + subTitle: 'Account • San Francisco, CA', + type: 'account', + }, + { + id: '5', + label: 'Paper St. Soap Company', + subTitle: 'Account • Beloit, WI', + type: 'account', + }, + { + id: '6', + label: 'Nakatomi Investments', + subTitle: 'Account • Chicago, IL', + type: 'account', + }, + { id: '7', label: 'Acme Landscaping', subTitle: '\u00A0', type: 'account' }, + { + id: '8', + label: 'Acme Construction', + subTitle: 'Account • Grand Marais, MN', + type: 'account', + }, +]; + +const accountsWithIcon = accounts.map((elem) => ({ + ...elem, + ...{ + icon: ( + + ), + }, +})); + +class Example extends React.Component { + constructor(props) { + super(props); + + this.state = { + inputValue: '', + selection: [accountsWithIcon[0], accountsWithIcon[1]], + }; + } + + render() { + // example of passing in an SLDSInput component to a SLDSCombobox + const inputElement = ( + + ); + return ( + + { + if (this.props.action) { + this.props.action('onChange')(event, value); + } else if (console) { + console.log('onChange', event, value); + } + this.setState({ inputValue: value }); + }, + onRequestRemoveSelectedOption: (event, data) => { + this.setState({ + inputValue: '', + selection: data.selection, + }); + }, + onSubmit: (event, { value }) => { + if (this.props.action) { + this.props.action('onChange')(event, value); + } else if (console) { + console.log('onChange', event, value); + } + this.setState({ + inputValue: '', + selection: [ + ...this.state.selection, + { + label: value, + icon: ( + + ), + }, + ], + }); + }, + onSelect: (event, data) => { + if (this.props.action) { + this.props.action('onSelect')( + event, + ...Object.keys(data).map((key) => data[key]) + ); + } else if (console) { + console.log('onSelect', event, data); + } + this.setState({ + inputValue: '', + selection: data.selection, + }); + }, + }} + labels={{ + label: 'Search', + placeholder: 'Search Salesforce', + }} + options={comboboxFilterAndLimit({ + inputValue: this.state.inputValue, + limit: 10, + options: accountsWithIcon, + selection: this.state.selection, + })} + selection={this.state.selection} + value={this.state.inputValue} + /> + + ); + } +} + +Example.displayName = 'ComboboxExample'; +export default Example; // export is replaced with `ReactDOM.render(, mountNode);` at runtime diff --git a/components/combobox/__examples__/readonly-menu-item-disabled.jsx b/components/combobox/__examples__/readonly-menu-item-disabled.jsx new file mode 100644 index 0000000000..7fdb95ef45 --- /dev/null +++ b/components/combobox/__examples__/readonly-menu-item-disabled.jsx @@ -0,0 +1,94 @@ +/* eslint-disable no-console, react/prop-types */ +import React from 'react'; +import Combobox from '~/components/combobox'; +import IconSettings from '~/components/icon-settings'; + +const accounts = [ + { + id: '1', + label: 'Acme', + subTitle: 'Account • San Francisco', + }, + { + id: '2', + label: 'Salesforce.com, Inc.', + subTitle: 'Account • San Francisco', + disabled: true, + }, + { + id: '3', + label: "Paddy's Pub", + subTitle: 'Account • Boston, MA', + disabled: true, + }, + { + id: '4', + label: 'Tyrell Corp', + subTitle: 'Account • San Francisco, CA', + disabled: true, + }, + { + id: '5', + label: 'Paper St. Soap Company', + subTitle: 'Account • Beloit, WI', + }, + { + id: '6', + label: 'Nakatomi Investments', + subTitle: 'Account • Chicago, IL', + }, + { id: '7', label: 'Acme Landscaping' }, + { + id: '8', + label: 'Acme Construction', + subTitle: 'Account • Grand Marais, MN', + }, +]; + +class Example extends React.Component { + constructor(props) { + super(props); + + this.state = { + inputValue: '', + selection: [], + }; + } + + render() { + return ( + + { + if (this.props.action) { + this.props.action('onSelect')( + event, + ...Object.keys(data).map((key) => data[key]) + ); + } else if (console) { + console.log('onSelect', event, data); + } + this.setState({ + inputValue: '', + selection: data.selection, + }); + }, + }} + labels={{ + label: 'Search', + placeholder: 'Search Salesforce', + }} + options={accounts} + selection={this.state.selection} + value={this.state.inputValue} + variant="readonly" + /> + + ); + } +} + +Example.displayName = 'ComboboxExample'; +export default Example; // export is replaced with `ReactDOM.render(, mountNode);` at runtime diff --git a/components/combobox/__examples__/readonly-multiple.jsx b/components/combobox/__examples__/readonly-multiple.jsx new file mode 100644 index 0000000000..8d594a6fe5 --- /dev/null +++ b/components/combobox/__examples__/readonly-multiple.jsx @@ -0,0 +1,98 @@ +/* eslint-disable no-console, react/prop-types */ +import React from 'react'; +import Combobox from '~/components/combobox'; +import IconSettings from '~/components/icon-settings'; + +const accounts = [ + { + id: '1', + label: 'Acme', + subTitle: 'Account • San Francisco', + }, + { + id: '2', + label: 'Salesforce.com, Inc.', + subTitle: 'Account • San Francisco', + }, + { + id: '3', + label: "Paddy's Pub", + subTitle: 'Account • Boston, MA', + }, + { + id: '4', + label: 'Tyrell Corp', + subTitle: 'Account • San Francisco, CA', + }, + { + id: '5', + label: 'Paper St. Soap Company', + subTitle: 'Account • Beloit, WI', + }, + { + id: '6', + label: 'Nakatomi Investments', + subTitle: 'Account • Chicago, IL', + }, + { id: '7', label: 'Acme Landscaping' }, + { + id: '8', + label: 'Acme Construction', + subTitle: 'Account • Grand Marais, MN', + }, +]; + +class Example extends React.Component { + constructor(props) { + super(props); + + this.state = { + inputValue: '', + selection: [], + }; + } + + render() { + return ( + + { + this.setState({ + inputValue: '', + selection: data.selection, + }); + }, + onSelect: (event, data) => { + if (this.props.action) { + this.props.action('onSelect')( + event, + ...Object.keys(data).map((key) => data[key]) + ); + } else if (console) { + console.log('onSelect', event, data); + } + this.setState({ + inputValue: '', + selection: data.selection, + }); + }, + }} + labels={{ + label: 'Search', + placeholder: 'Search Salesforce', + }} + multiple + options={accounts} + selection={this.state.selection} + value={this.state.inputValue} + variant="readonly" + /> + + ); + } +} + +Example.displayName = 'ComboboxExample'; +export default Example; // export is replaced with `ReactDOM.render(, mountNode);` at runtime diff --git a/components/combobox/__examples__/readonly-single-RTL.jsx b/components/combobox/__examples__/readonly-single-RTL.jsx new file mode 100644 index 0000000000..c98d011664 --- /dev/null +++ b/components/combobox/__examples__/readonly-single-RTL.jsx @@ -0,0 +1,106 @@ +/* eslint-disable no-console, react/prop-types, react/jsx-pascal-case */ +import React from 'react'; +import Combobox from '~/components/combobox'; +// eslint-disable-next-line camelcase +import UNSAFE_DirectionSettings from '~/components/utilities/UNSAFE_direction'; +import IconSettings from '~/components/icon-settings'; + +const accounts = [ + { + id: '1', + label: 'Acme', + subTitle: 'Account • San Francisco', + }, + { + id: '2', + label: 'Salesforce.com, Inc.', + subTitle: 'Account • San Francisco', + }, + { + id: '3', + label: "Paddy's Pub", + subTitle: 'Account • Boston, MA', + }, + { + id: '4', + label: 'Tyrell Corp', + subTitle: 'Account • San Francisco, CA', + }, + { + id: '5', + label: 'Paper St. Soap Company', + subTitle: 'Account • Beloit, WI', + }, + { + id: '6', + label: 'Nakatomi Investments', + subTitle: 'Account • Chicago, IL', + }, + { id: '7', label: 'Acme Landscaping' }, + { + id: '8', + label: 'Acme Construction', + subTitle: 'Account • Grand Marais, MN', + }, +]; + +/** + * Combobox rendered in RTL mode. Note that styles might look broken since `salesforce-lightning-design-system.css` styles are loaded in LTR mode. + * SLDS doesn't ship a static version of their css in RTL at the moment. + */ +class Example extends React.Component { + constructor(props) { + super(props); + + this.state = { + inputValue: '', + selection: [], + }; + } + + render() { + return ( + +

    1. Combobox in RTL mode.

    +

    + Note that design-system.css styles are in LTR. See example code + for more info. +

    + +
    + { + if (this.props.action) { + this.props.action('onSelect')( + event, + ...Object.keys(data).map((key) => data[key]) + ); + } else if (console) { + console.log('onSelect', event, data); + } + this.setState({ + inputValue: '', + selection: data.selection, + }); + }, + }} + labels={{ + label: 'Search', + placeholder: 'Search Salesforce', + }} + options={accounts} + selection={this.state.selection} + value={this.state.inputValue} + variant="readonly" + /> +
    +
    +
    + ); + } +} + +Example.displayName = 'ComboboxExample'; +export default Example; // export is replaced with `ReactDOM.render(, mountNode);` at runtime diff --git a/components/combobox/__examples__/readonly-single-disabled.jsx b/components/combobox/__examples__/readonly-single-disabled.jsx new file mode 100644 index 0000000000..0599340ca0 --- /dev/null +++ b/components/combobox/__examples__/readonly-single-disabled.jsx @@ -0,0 +1,99 @@ +/* eslint-disable no-console, react/prop-types */ +import React from 'react'; +import Combobox from '~/components/combobox'; +import IconSettings from '~/components/icon-settings'; + +const accounts = [ + { + id: '1', + label: 'Acme', + subTitle: 'Account • San Francisco', + type: 'account', + }, + { + id: '2', + label: 'Salesforce.com, Inc.', + subTitle: 'Account • San Francisco', + type: 'account', + }, + { + id: '3', + label: "Paddy's Pub", + subTitle: 'Account • Boston, MA', + type: 'account', + }, + { + id: '4', + label: 'Tyrell Corp', + subTitle: 'Account • San Francisco, CA', + type: 'account', + }, + { + id: '5', + label: 'Paper St. Soap Company', + subTitle: 'Account • Beloit, WI', + type: 'account', + }, + { + id: '6', + label: 'Nakatomi Investments', + subTitle: 'Account • Chicago, IL', + type: 'account', + }, + { id: '7', label: 'Acme Landscaping', type: 'account' }, + { + id: '8', + label: 'Acme Construction', + subTitle: 'Account • Grand Marais, MN', + type: 'account', + }, +]; + +class Example extends React.Component { + constructor(props) { + super(props); + + this.state = { + inputValue: '', + selection: [], + }; + } + + render() { + return ( + + { + if (this.props.action) { + this.props.action('onSelect')( + event, + ...Object.keys(data).map((key) => data[key]) + ); + } else if (console) { + console.log('onSelect', event, data); + } + this.setState({ + inputValue: '', + selection: data.selection, + }); + }, + }} + labels={{ + label: 'Search', + placeholder: 'Search Salesforce', + }} + options={accounts} + singleInputDisabled + selection={this.state.selection} + value={this.state.inputValue} + variant="readonly" + /> + + ); + } +} + +Example.displayName = 'ComboboxExample'; +export default Example; // export is replaced with `ReactDOM.render(, mountNode);` at runtime diff --git a/components/combobox/__examples__/readonly-single-selection-custom-menu-item.jsx b/components/combobox/__examples__/readonly-single-selection-custom-menu-item.jsx new file mode 100644 index 0000000000..21f16a0d3e --- /dev/null +++ b/components/combobox/__examples__/readonly-single-selection-custom-menu-item.jsx @@ -0,0 +1,134 @@ +/* eslint-disable no-console, react/prop-types */ +import React from 'react'; +import Combobox from '~/components/combobox'; +import Icon from '~/components/icon'; +import IconSettings from '~/components/icon-settings'; + +const accounts = [ + { + id: '1', + label: 'Acme', + subTitle: 'Account • San Francisco', + type: 'account', + }, + { + id: '2', + label: 'Salesforce.com, Inc.', + subTitle: 'Account • San Francisco', + type: 'account', + }, + { + id: '3', + label: "Paddy's Pub", + subTitle: 'Account • Boston, MA', + type: 'account', + }, + { + id: '4', + label: 'Tyrell Corp', + subTitle: 'Account • San Francisco, CA', + type: 'account', + }, + { + id: '5', + label: 'Paper St. Soap Company', + subTitle: 'Account • Beloit, WI', + type: 'account', + }, + { + id: '6', + label: 'Nakatomi Investments', + subTitle: 'Account • Chicago, IL', + type: 'account', + }, + { id: '7', label: 'Acme Landscaping', type: 'account' }, + { + id: '8', + label: 'Acme Construction', + subTitle: 'Account • Grand Marais, MN', + type: 'account', + }, +]; + +const accountsWithIcon = accounts.map((elem) => ({ + ...elem, + ...{ + icon: ( + + ), + }, +})); + +const CustomMenuItem = (props) => ( + + + {props.option.icon} + + + + {props.selected ? ( + + {props.assistiveText.optionSelectedInMenu} + + ) : null}{' '} + {props.option.label} + + + +); +CustomMenuItem.displayName = 'CustomMenuItem'; + +class Example extends React.Component { + constructor(props) { + super(props); + + this.state = { + inputValue: '', + selection: [], + }; + } + + render() { + return ( + + { + if (this.props.action) { + this.props.action('onSelect')( + event, + ...Object.keys(data).map((key) => data[key]) + ); + } else if (console) { + console.log('onSelect', event, data); + } + this.setState({ + inputValue: '', + selection: data.selection, + }); + }, + }} + labels={{ + label: 'Search', + placeholderReadOnly: 'Select company', + }} + onRenderMenuItem={CustomMenuItem} + options={accountsWithIcon} + selection={this.state.selection} + value={this.state.inputValue} + variant="readonly" + {...this.props} + /> + + ); + } +} + +Example.displayName = 'ComboboxExample'; +export default Example; // export is replaced with `ReactDOM.render(, mountNode);` at runtime diff --git a/components/combobox/__examples__/readonly-single.jsx b/components/combobox/__examples__/readonly-single.jsx new file mode 100644 index 0000000000..f1cffb0870 --- /dev/null +++ b/components/combobox/__examples__/readonly-single.jsx @@ -0,0 +1,91 @@ +/* eslint-disable no-console, react/prop-types */ +import React from 'react'; +import Combobox from '~/components/combobox'; +import IconSettings from '~/components/icon-settings'; + +const accounts = [ + { + id: '1', + label: 'Acme', + subTitle: 'Account • San Francisco', + }, + { + id: '2', + label: 'Salesforce.com, Inc.', + subTitle: 'Account • San Francisco', + }, + { + id: '3', + label: "Paddy's Pub", + subTitle: 'Account • Boston, MA', + }, + { + id: '4', + label: 'Tyrell Corp', + subTitle: 'Account • San Francisco, CA', + }, + { + id: '5', + label: 'Paper St. Soap Company', + subTitle: 'Account • Beloit, WI', + }, + { + id: '6', + label: 'Nakatomi Investments', + subTitle: 'Account • Chicago, IL', + }, + { id: '7', label: 'Acme Landscaping' }, + { + id: '8', + label: 'Acme Construction', + subTitle: 'Account • Grand Marais, MN', + }, +]; + +class Example extends React.Component { + constructor(props) { + super(props); + + this.state = { + inputValue: '', + selection: [], + }; + } + + render() { + return ( + + { + if (this.props.action) { + this.props.action('onSelect')( + event, + ...Object.keys(data).map((key) => data[key]) + ); + } else if (console) { + console.log('onSelect', event, data); + } + this.setState({ + inputValue: '', + selection: data.selection, + }); + }, + }} + labels={{ + label: 'Search', + placeholder: 'Search Salesforce', + }} + options={accounts} + selection={this.state.selection} + value={this.state.inputValue} + variant="readonly" + /> + + ); + } +} + +Example.displayName = 'ComboboxExample'; +export default Example; // export is replaced with `ReactDOM.render(, mountNode);` at runtime diff --git a/components/combobox/__examples__/required-input-error-state.jsx b/components/combobox/__examples__/required-input-error-state.jsx new file mode 100644 index 0000000000..d19bc5518a --- /dev/null +++ b/components/combobox/__examples__/required-input-error-state.jsx @@ -0,0 +1,159 @@ +/* eslint-disable no-console, react/prop-types */ +import React from 'react'; +import Combobox from '~/components/combobox'; +import Icon from '~/components/icon'; +import comboboxFilterAndLimit from '~/components/combobox/filter'; +import IconSettings from '~/components/icon-settings'; + +const accounts = [ + { + id: '1', + label: 'Acme', + subTitle: 'Account • San Francisco', + type: 'account', + }, + { + id: '2', + label: 'Salesforce.com, Inc.', + subTitle: 'Account • San Francisco', + type: 'account', + }, + { + id: '3', + label: "Paddy's Pub", + subTitle: 'Account • Boston, MA', + type: 'account', + }, + { + id: '4', + label: 'Tyrell Corp', + subTitle: 'Account • San Francisco, CA', + type: 'account', + }, + { + id: '5', + label: 'Paper St. Soap Company', + subTitle: 'Account • Beloit, WI', + type: 'account', + }, + { + id: '6', + label: 'Nakatomi Investments', + subTitle: 'Account • Chicago, IL', + type: 'account', + }, + { id: '7', label: 'Acme Landscaping', subTitle: '\u00A0', type: 'account' }, + { + id: '8', + label: 'Acme Construction', + subTitle: 'Account • Grand Marais, MN', + type: 'account', + }, +]; + +const accountsWithIcon = accounts.map((elem) => ({ + ...elem, + ...{ + icon: ( + + ), + }, +})); + +class Example extends React.Component { + constructor(props) { + super(props); + + this.state = { + inputValue: '', + selection: [], + }; + } + + render() { + return ( + + { + if (this.props.action) { + this.props.action('onChange')(event, value); + } else if (console) { + console.log('onChange', event, value); + } + this.setState({ inputValue: value }); + }, + onRequestRemoveSelectedOption: (event, data) => { + this.setState({ + inputValue: '', + selection: data.selection, + }); + }, + onSubmit: (event, { value }) => { + if (this.props.action) { + this.props.action('onChange')(event, value); + } else if (console) { + console.log('onChange', event, value); + } + this.setState({ + inputValue: 'input not found', + selection: [ + ...this.state.selection, + { + label: value, + icon: ( + + ), + }, + ], + }); + }, + onSelect: (event, data) => { + if (this.props.action) { + this.props.action('onSelect')( + event, + ...Object.keys(data).map((key) => data[key]) + ); + } else if (console) { + console.log('onSelect', event, data); + } + this.setState({ + inputValue: '', + selection: data.selection, + }); + }, + }} + errorText="This field is required" + labels={{ + label: 'Search', + placeholder: 'Search Salesforce', + }} + multiple + options={comboboxFilterAndLimit({ + inputValue: this.state.inputValue, + limit: 10, + options: accountsWithIcon, + selection: this.state.selection, + })} + required + selection={this.state.selection} + value={this.state.inputValue} + /> + + ); + } +} + +Example.displayName = 'ComboboxExample'; +export default Example; // export is replaced with `ReactDOM.render(, mountNode);` at runtime diff --git a/components/combobox/__examples__/snapshot/base-custom-menu-item-open.jsx b/components/combobox/__examples__/snapshot/base-custom-menu-item-open.jsx new file mode 100644 index 0000000000..6c417ad479 --- /dev/null +++ b/components/combobox/__examples__/snapshot/base-custom-menu-item-open.jsx @@ -0,0 +1,12 @@ +/* eslint-disable no-console, react/prop-types */ +import React from 'react'; +import BaseCustomMenuItem from '../base-custom-menu-item'; + +class Example extends React.Component { + render() { + return ; + } +} + +Example.displayName = 'ComboboxExample'; +export default Example; // export is replaced with `ReactDOM.render(, mountNode);` at runtime diff --git a/components/combobox/__examples__/snapshot/base-label-required.jsx b/components/combobox/__examples__/snapshot/base-label-required.jsx new file mode 100644 index 0000000000..9c66eef276 --- /dev/null +++ b/components/combobox/__examples__/snapshot/base-label-required.jsx @@ -0,0 +1,12 @@ +/* eslint-disable no-console, react/prop-types */ +import React from 'react'; +import RequiredInputErrorStateComponent from '../required-input-error-state'; + +class Example extends React.Component { + render() { + return ; + } +} + +Example.displayName = 'ComboboxExample'; +export default Example; // export is replaced with `ReactDOM.render(, mountNode);` at runtime diff --git a/components/combobox/__examples__/snapshot/base-open-class-name.jsx b/components/combobox/__examples__/snapshot/base-open-class-name.jsx new file mode 100644 index 0000000000..82610db49d --- /dev/null +++ b/components/combobox/__examples__/snapshot/base-open-class-name.jsx @@ -0,0 +1,109 @@ +/* eslint-disable no-console, react/prop-types */ +import React from 'react'; +import Combobox from '~/components/combobox/combobox'; +import Icon from '~/components/icon'; +import IconSettings from '~/components/icon-settings'; + +const accounts = [ + { + id: '0', + label: 'Accounts', + type: 'separator', + }, + { + id: '1', + label: 'Acme', + subTitle: 'Account • San Francisco', + type: 'account', + }, + { + id: '2', + label: 'Salesforce.com, Inc.', + subTitle: 'Account • San Francisco', + type: 'account', + }, +]; + +const accountsWithIcon = accounts.map((elem) => ({ + ...elem, + ...{ + icon: ( + + ), + }, +})); + +class Example extends React.Component { + constructor(props) { + super(props); + + this.state = { + inputValue: '', + selection: [], + }; + } + + render() { + return ( + + { + console.log('onChange', value); + this.setState({ inputValue: value }); + }} + onRequestRemoveSelectedOption={(event, data) => { + this.setState({ + inputValue: '', + selection: [], + }); + }} + onSubmit={(event, { value }) => { + console.log('onSubmit', value); + this.setState({ + selection: [ + { + label: value, + icon: ( + + ), + }, + ], + }); + }} + onSelect={(event, data) => { + console.log('onSelect', data); + this.setState({ selection: data.selection }); + }} + options={accountsWithIcon} + selection={this.state.selection} + value={ + this.state.selectedOption + ? this.state.selectedOption.label + : this.state.inputValue + } + /> + + ); + } +} + +Example.displayName = 'ComboboxExample'; +export default Example; // export is replaced with `ReactDOM.render(, mountNode);` at runtime diff --git a/components/combobox/__examples__/snapshot/base-open-menu-inheritWidthOf.jsx b/components/combobox/__examples__/snapshot/base-open-menu-inheritWidthOf.jsx new file mode 100644 index 0000000000..e76574cc30 --- /dev/null +++ b/components/combobox/__examples__/snapshot/base-open-menu-inheritWidthOf.jsx @@ -0,0 +1,91 @@ +/* eslint-disable no-console, react/prop-types */ +import React from 'react'; +import Combobox from '~/components/combobox'; +import Icon from '~/components/icon'; +import IconSettings from '~/components/icon-settings'; + +const accounts = [ + { + id: '1', + label: 'Accounts', + type: 'separator', + }, + { + id: '2', + label: 'Salesforce.com, Inc.', + subTitle: 'Account • San Francisco', + type: 'account', + }, +]; + +class Example extends React.Component { + constructor(props) { + super(props); + + this.state = { + inputValue: '', + selection: [], + }; + } + + render() { + return ( + + { + console.log('onChange', value); + this.setState({ inputValue: value }); + }, + onRequestRemoveSelectedOption: (event, data) => { + this.setState({ + inputValue: '', + selection: [], + }); + }, + onSubmit: (event, { value }) => { + console.log('onSubmit', value); + this.setState({ + selection: [ + { + label: value, + icon: ( + + ), + }, + ], + }); + }, + onSelect: (event, data) => { + console.log('onSelect', data); + this.setState({ selection: data.selection }); + }, + }} + inheritWidthOf="menu" + menuMaxWidth="500px" + options={accounts} + selection={this.state.selection} + value={ + this.state.selectedOption + ? this.state.selectedOption.label + : this.state.inputValue + } + /> + + ); + } +} + +Example.displayName = 'ComboboxExample'; +export default Example; // export is replaced with `ReactDOM.render(, mountNode);` at runtime diff --git a/components/combobox/__examples__/snapshot/base-open-menu-sub-header.jsx b/components/combobox/__examples__/snapshot/base-open-menu-sub-header.jsx new file mode 100644 index 0000000000..86365149dd --- /dev/null +++ b/components/combobox/__examples__/snapshot/base-open-menu-sub-header.jsx @@ -0,0 +1,89 @@ +/* eslint-disable no-console, react/prop-types */ +import React from 'react'; +import Combobox from '~/components/combobox'; +import Icon from '~/components/icon'; +import IconSettings from '~/components/icon-settings'; + +const accounts = [ + { + id: '1', + label: 'Accounts', + type: 'separator', + }, + { + id: '2', + label: 'Salesforce.com, Inc.', + subTitle: 'Account • San Francisco', + type: 'account', + }, +]; + +class Example extends React.Component { + constructor(props) { + super(props); + + this.state = { + inputValue: '', + selection: [], + }; + } + + render() { + return ( + + { + console.log('onChange', value); + this.setState({ inputValue: value }); + }, + onRequestRemoveSelectedOption: (event, data) => { + this.setState({ + inputValue: '', + selection: [], + }); + }, + onSubmit: (event, { value }) => { + console.log('onSubmit', value); + this.setState({ + selection: [ + { + label: value, + icon: ( + + ), + }, + ], + }); + }, + onSelect: (event, data) => { + console.log('onSelect', data); + this.setState({ selection: data.selection }); + }, + }} + options={accounts} + selection={this.state.selection} + value={ + this.state.selectedOption + ? this.state.selectedOption.label + : this.state.inputValue + } + /> + + ); + } +} + +Example.displayName = 'ComboboxExample'; +export default Example; // export is replaced with `ReactDOM.render(, mountNode);` at runtime diff --git a/components/combobox/__examples__/snapshot/base-open.jsx b/components/combobox/__examples__/snapshot/base-open.jsx new file mode 100644 index 0000000000..765fe9ee57 --- /dev/null +++ b/components/combobox/__examples__/snapshot/base-open.jsx @@ -0,0 +1,101 @@ +/* eslint-disable no-console, react/prop-types */ +import React from 'react'; +import Combobox from '~/components/combobox'; +import Icon from '~/components/icon'; +import IconSettings from '~/components/icon-settings'; + +const accounts = [ + { + id: '1', + label: 'Acme', + subTitle: 'Account • San Francisco', + type: 'account', + }, + { + id: '2', + label: 'Salesforce.com, Inc.', + subTitle: 'Account • San Francisco', + type: 'account', + }, +]; + +const accountsWithIcon = accounts.map((elem) => ({ + ...elem, + ...{ + icon: ( + + ), + }, +})); + +class Example extends React.Component { + constructor(props) { + super(props); + + this.state = { + inputValue: '', + selection: [], + }; + } + + render() { + return ( + + { + console.log('onChange', value); + this.setState({ inputValue: value }); + }} + onRequestRemoveSelectedOption={(event, data) => { + this.setState({ + inputValue: '', + selection: [], + }); + }} + onSubmit={(event, { value }) => { + console.log('onSubmit', value); + this.setState({ + selection: [ + { + label: value, + icon: ( + + ), + }, + ], + }); + }} + onSelect={(event, data) => { + console.log('onSelect', data); + this.setState({ selection: data.selection }); + }} + options={accountsWithIcon} + selection={this.state.selection} + value={ + this.state.selectedOption + ? this.state.selectedOption.label + : this.state.inputValue + } + /> + + ); + } +} + +Example.displayName = 'ComboboxExample'; +export default Example; // export is replaced with `ReactDOM.render(, mountNode);` at runtime diff --git a/components/combobox/__examples__/snapshot/base-selected.jsx b/components/combobox/__examples__/snapshot/base-selected.jsx new file mode 100644 index 0000000000..6b95207a78 --- /dev/null +++ b/components/combobox/__examples__/snapshot/base-selected.jsx @@ -0,0 +1,69 @@ +/* eslint-disable no-console, react/prop-types */ +import React from 'react'; +import Combobox from '~/components/combobox/combobox'; +import Icon from '~/components/icon'; +import IconSettings from '~/components/icon-settings'; + +const accounts = [ + { + id: '1', + label: 'Acme', + subTitle: 'Account • San Francisco', + type: 'account', + }, + { + id: '2', + label: 'Salesforce.com, Inc.', + subTitle: 'Account • San Francisco', + type: 'account', + }, +]; + +const accountsWithIcon = accounts.map((elem) => ({ + ...elem, + ...{ + icon: ( + + ), + }, +})); + +class Example extends React.Component { + constructor(props) { + super(props); + + this.state = { + inputValue: '', + selection: [accountsWithIcon[1]], + }; + } + + render() { + return ( + + + + ); + } +} + +Example.displayName = 'ComboboxExample'; +export default Example; // export is replaced with `ReactDOM.render(, mountNode);` at runtime diff --git a/components/combobox/__examples__/snapshot/dialog-open.jsx b/components/combobox/__examples__/snapshot/dialog-open.jsx new file mode 100644 index 0000000000..97ff2983ba --- /dev/null +++ b/components/combobox/__examples__/snapshot/dialog-open.jsx @@ -0,0 +1,31 @@ +/* eslint-disable no-console, react/prop-types */ +import React from 'react'; +import Combobox from '~/components/combobox'; +import Popover from '~/components/popover'; +import IconSettings from '~/components/icon-settings'; + +class Example extends React.Component { + render() { + return ( + + Any content can go here.} />} + value="Select an option" + variant="popover" + /> + + ); + } +} + +Example.displayName = 'ComboboxExample'; +export default Example; // export is replaced with `ReactDOM.render(, mountNode);` at runtime diff --git a/components/combobox/__examples__/snapshot/inline-multiple-open-loading.jsx b/components/combobox/__examples__/snapshot/inline-multiple-open-loading.jsx new file mode 100644 index 0000000000..6adc108de0 --- /dev/null +++ b/components/combobox/__examples__/snapshot/inline-multiple-open-loading.jsx @@ -0,0 +1,146 @@ +/* eslint-disable no-console, react/prop-types */ +import React from 'react'; +import Combobox from '~/components/combobox'; +import Icon from '~/components/icon'; +import comboboxFilterAndLimit from '~/components/combobox/filter'; +import IconSettings from '~/components/icon-settings'; + +const accounts = [ + { + id: '1', + label: 'Acme', + subTitle: 'Account • San Francisco', + type: 'account', + }, + { + id: '2', + label: 'Salesforce.com, Inc.', + subTitle: 'Account • San Francisco', + type: 'account', + }, + { + id: '3', + label: "Paddy's Pub", + subTitle: 'Account • Boston, MA', + type: 'account', + }, + { + id: '4', + label: 'Tyrell Corp', + subTitle: 'Account • San Francisco, CA', + type: 'account', + }, + { + id: '5', + label: 'Paper St. Soap Company', + subTitle: 'Account • Beloit, WI', + type: 'account', + }, +]; + +const accountsWithIcon = accounts.map((elem) => ({ + ...elem, + ...{ + icon: ( + + ), + }, +})); + +class Example extends React.Component { + constructor(props) { + super(props); + + this.state = { + inputValue: '', + isLoadingMenuItems: false, + selection: [], + }; + } + + delayOptionsLoad = () => { + // A promise should be used here for asynchronous callbacks + setTimeout(() => { + this.setState({ isLoadingMenuItems: false }); + }, 1000); + }; + + render() { + return ( + + { + this.props.action('onChange')(event, value); + this.setState({ inputValue: value, isLoadingMenuItems: true }); + this.delayOptionsLoad(); + }, + onRequestRemoveSelectedOption: (event, data) => { + this.setState({ + inputValue: '', + selection: data.selection, + }); + }, + onSubmit: (event, { value }) => { + console.log('onChange', event, value); + this.setState({ + inputValue: '', + selection: [ + ...this.state.selection, + { + label: value, + icon: ( + + ), + }, + ], + }); + }, + onSelect: (event, data) => { + console.log('onSelect', event, data); + this.setState({ + inputValue: '', + selection: data.selection, + }); + }, + }} + labels={{ + label: 'Search', + placeholder: 'Search Salesforce', + }} + multiple + options={ + this.state.isLoadingMenuItems + ? comboboxFilterAndLimit({ + inputValue: this.state.inputValue, + options: accountsWithIcon.slice(0, 3), + selection: this.state.selection, + }) + : comboboxFilterAndLimit({ + inputValue: this.state.inputValue, + options: accountsWithIcon, + selection: this.state.selection, + }) + } + selection={this.state.selection} + value={this.state.inputValue} + variant="inline-listbox" + hasMenuSpinner + /> + + ); + } +} + +Example.displayName = 'ComboboxExample'; +export default Example; // export is replaced with `ReactDOM.render(, mountNode);` at runtime diff --git a/components/combobox/__examples__/snapshot/inline-multiple-selection-selected.jsx b/components/combobox/__examples__/snapshot/inline-multiple-selection-selected.jsx new file mode 100644 index 0000000000..17213cdeb6 --- /dev/null +++ b/components/combobox/__examples__/snapshot/inline-multiple-selection-selected.jsx @@ -0,0 +1,141 @@ +/* eslint-disable no-console, react/prop-types */ +import React from 'react'; +import Combobox from '~/components/combobox'; +import Icon from '~/components/icon'; +import filter from '~/components/combobox/filter'; +import IconSettings from '~/components/icon-settings'; + +const accounts = [ + { + id: '1', + label: 'Acme', + subTitle: 'Account • San Francisco', + type: 'account', + }, + { + id: '2', + label: 'Salesforce.com, Inc.', + subTitle: 'Account • San Francisco', + type: 'account', + }, + { + id: '3', + label: "Paddy's Pub", + subTitle: 'Account • Boston, MA', + type: 'account', + }, + { + id: '4', + label: 'Tyrell Corp', + subTitle: 'Account • San Francisco, CA', + type: 'account', + }, + { + id: '5', + label: 'Paper St. Soap Company', + subTitle: 'Account • Beloit, WI', + type: 'account', + }, + { + id: '6', + label: 'Nakatomi Investments', + subTitle: 'Account • Chicago, IL', + type: 'account', + }, + { id: '7', label: 'Acme Landscaping', type: 'account' }, + { + id: '8', + label: 'Acme Construction', + subTitle: 'Account • Grand Marais, MN', + type: 'account', + }, +]; + +const accountsWithIcon = accounts.map((elem) => ({ + ...elem, + ...{ + icon: ( + + ), + }, +})); + +class Example extends React.Component { + constructor(props) { + super(props); + + this.state = { + inputValue: '', + selection: [accountsWithIcon[0], accountsWithIcon[1]], + }; + } + + render() { + return ( + + { + console.log('onChange', value); + this.setState({ inputValue: value }); + }, + onRequestRemoveSelectedOption: (event, data) => { + this.setState({ + inputValue: '', + selection: data.selection, + }); + }, + onSubmit: (event, { value }) => { + console.log('onSubmit', value); + this.setState({ + inputValue: '', + selection: [ + ...this.state.selection, + { + label: value, + icon: ( + + ), + }, + ], + }); + }, + onSelect: (event, data) => { + console.log('onSelect', data); + this.setState({ + inputValue: '', + selection: data.selection, + }); + }, + }} + labels={{ + label: 'Search', + placeholder: 'Search Salesforce', + }} + menuPosition="relative" + multiple + options={filter({ + inputValue: this.state.inputValue, + options: accountsWithIcon, + selection: this.state.selection, + })} + selection={this.state.selection} + value={this.state.inputValue} + variant="inline-listbox" + /> + + ); + } +} + +Example.displayName = 'ComboboxExample'; +export default Example; // export is replaced with `ReactDOM.render(, mountNode);` at runtime diff --git a/components/combobox/__examples__/snapshot/inline-multiple-selection.jsx b/components/combobox/__examples__/snapshot/inline-multiple-selection.jsx new file mode 100644 index 0000000000..96864d17e8 --- /dev/null +++ b/components/combobox/__examples__/snapshot/inline-multiple-selection.jsx @@ -0,0 +1,141 @@ +/* eslint-disable no-console, react/prop-types */ +import React from 'react'; +import Combobox from '~/components/combobox'; +import Icon from '~/components/icon'; +import filter from '~/components/combobox/filter'; +import IconSettings from '~/components/icon-settings'; + +const accounts = [ + { + id: '1', + label: 'Acme', + subTitle: 'Account • San Francisco', + type: 'account', + }, + { + id: '2', + label: 'Salesforce.com, Inc.', + subTitle: 'Account • San Francisco', + type: 'account', + }, + { + id: '3', + label: "Paddy's Pub", + subTitle: 'Account • Boston, MA', + type: 'account', + }, + { + id: '4', + label: 'Tyrell Corp', + subTitle: 'Account • San Francisco, CA', + type: 'account', + }, + { + id: '5', + label: 'Paper St. Soap Company', + subTitle: 'Account • Beloit, WI', + type: 'account', + }, + { + id: '6', + label: 'Nakatomi Investments', + subTitle: 'Account • Chicago, IL', + type: 'account', + }, + { id: '7', label: 'Acme Landscaping', type: 'account' }, + { + id: '8', + label: 'Acme Construction', + subTitle: 'Account • Grand Marais, MN', + type: 'account', + }, +]; + +const accountsWithIcon = accounts.map((elem) => ({ + ...elem, + ...{ + icon: ( + + ), + }, +})); + +class Example extends React.Component { + constructor(props) { + super(props); + + this.state = { + inputValue: '', + selection: [], + }; + } + + render() { + return ( + + { + console.log('onChange', value); + this.setState({ inputValue: value }); + }, + onRequestRemoveSelectedOption: (event, data) => { + this.setState({ + inputValue: '', + selection: data.selection, + }); + }, + onSubmit: (event, { value }) => { + console.log('onSubmit', value); + this.setState({ + inputValue: '', + selection: [ + ...this.state.selection, + { + label: value, + icon: ( + + ), + }, + ], + }); + }, + onSelect: (event, data) => { + console.log('onSelect', data); + this.setState({ + inputValue: '', + selection: data.selection, + }); + }, + }} + labels={{ + label: 'Search', + placeholder: 'Search Salesforce', + }} + menuPosition="relative" + multiple + options={filter({ + inputValue: this.state.inputValue, + options: accountsWithIcon, + selection: this.state.selection, + })} + selection={this.state.selection} + value={this.state.inputValue} + variant="inline-listbox" + /> + + ); + } +} + +Example.displayName = 'ComboboxExample'; +export default Example; // export is replaced with `ReactDOM.render(, mountNode);` at runtime diff --git a/components/combobox/__examples__/snapshot/inline-single-entity-combobox.jsx b/components/combobox/__examples__/snapshot/inline-single-entity-combobox.jsx new file mode 100644 index 0000000000..f2af060334 --- /dev/null +++ b/components/combobox/__examples__/snapshot/inline-single-entity-combobox.jsx @@ -0,0 +1,228 @@ +/* eslint-disable no-console, react/prop-types */ +import React from 'react'; +import Combobox from '~/components/combobox'; +import Icon from '~/components/icon'; +import comboboxFilterAndLimit from '~/components/combobox/filter'; +import IconSettings from '~/components/icon-settings'; + +const accounts = [ + { + id: '1', + label: 'Acme', + subTitle: 'Account • San Francisco', + type: 'account', + }, + { + id: '2', + label: 'Salesforce.com, Inc.', + subTitle: 'Account • San Francisco', + type: 'account', + }, + { + id: '3', + label: "Paddy's Pub", + subTitle: 'Account • Boston, MA', + type: 'account', + }, + { + id: '4', + label: 'Tyrell Corp', + subTitle: 'Account • San Francisco, CA', + type: 'account', + }, + { + id: '5', + label: 'Paper St. Soap Company', + subTitle: 'Account • Beloit, WI', + type: 'account', + }, + { + id: '6', + label: 'Nakatomi Investments', + subTitle: 'Account • Chicago, IL', + type: 'account', + }, + { id: '7', label: 'Acme Landscaping', type: 'account' }, + { + id: '8', + label: 'Acme Construction', + subTitle: 'Account • Grand Marais, MN', + type: 'account', + }, +]; +const entities = [ + { + id: '1', + label: 'entity one', + type: 'socialshare', + }, + { + id: '2', + label: 'entity two', + type: 'socialshare', + }, + { + id: '3', + label: 'entity three', + type: 'socialshare', + }, +]; + +const accountsWithIcon = accounts.map((elem) => ({ + ...elem, + ...{ + icon: ( + + ), + }, +})); +const entityWithIcon = entities.map((elem) => ({ + ...elem, + ...{ + icon: ( + + ), + }, +})); + +class Example extends React.Component { + constructor(props) { + super(props); + + this.state = { + inputValue: '', + entityInputValue: '', + selection: [], + entitySelection: [], + }; + } + + entityCombobox = () => ( + { + this.props.action('onChange')(event, value); + this.setState({ entityInputValue: value }); + }, + onRequestRemoveSelectedOption: (event, data) => { + this.setState({ + entityInputValue: '', + entitySelection: data.selection, + }); + }, + onSubmit: (event, { value }) => { + console.log('onChange', event, value); + this.setState({ + entityInputValue: '', + entitySelection: [ + ...this.state.entitySelection, + { + label: value, + icon: ( + + ), + }, + ], + }); + }, + onSelect: (event, data) => { + console.log('onSelect', event, data); + this.setState({ + entityInputValue: '', + entitySelection: data.selection, + }); + }, + }} + labels={{ + placeholder: 'entity', + }} + options={comboboxFilterAndLimit({ + inputValue: this.state.entityInputValue, + options: entityWithIcon, + selection: this.state.entitySelection, + })} + selection={this.state.entitySelection} + value={this.state.entityInputValue} + variant="inline-listbox" + /> + ); + + render() { + return ( + + { + this.props.action('onChange')(event, value); + this.setState({ inputValue: value }); + }, + onRequestRemoveSelectedOption: (event, data) => { + this.setState({ + inputValue: '', + selection: data.selection, + }); + }, + onSubmit: (event, { value }) => { + console.log('onChange', event, value); + this.setState({ + inputValue: '', + selection: [ + ...this.state.selection, + { + label: value, + icon: ( + + ), + }, + ], + }); + }, + onSelect: (event, data) => { + console.log('onSelect', event, data); + this.setState({ + inputValue: '', + selection: data.selection, + }); + }, + }} + labels={{ + label: 'Search', + placeholder: 'Search Salesforce', + }} + multiple + options={comboboxFilterAndLimit({ + inputValue: this.state.inputValue, + options: accountsWithIcon, + selection: this.state.selection, + })} + selection={this.state.selection} + value={this.state.inputValue} + variant="inline-listbox" + entityCombobox={this.entityCombobox()} + /> + + ); + } +} + +Example.displayName = 'ComboboxExample'; +export default Example; // export is replaced with `ReactDOM.render(, mountNode);` at runtime diff --git a/components/combobox/__examples__/snapshot/inline-single-search-add-entities-open.jsx b/components/combobox/__examples__/snapshot/inline-single-search-add-entities-open.jsx new file mode 100644 index 0000000000..804cf33f05 --- /dev/null +++ b/components/combobox/__examples__/snapshot/inline-single-search-add-entities-open.jsx @@ -0,0 +1,149 @@ +/* eslint-disable no-console, react/prop-types */ +import React from 'react'; +import Combobox from '~/components/combobox'; +import Icon from '~/components/icon'; +import comboboxFilterAndLimit from '~/components/combobox/filter'; +import IconSettings from '~/components/icon-settings'; + +const accounts = [ + { + id: '1', + label: 'Acme', + subTitle: 'Account • San Francisco', + type: 'account', + }, + { + id: '2', + label: 'Salesforce.com, Inc.', + subTitle: 'Account • San Francisco', + type: 'account', + }, + { + id: '3', + label: "Paddy's Pub", + subTitle: 'Account • Boston, MA', + type: 'account', + }, +]; + +const accountsWithIcon = accounts.map((elem) => ({ + ...elem, + ...{ + icon: ( + + ), + }, +})); + +class Example extends React.Component { + constructor(props) { + super(props); + + this.state = { + inputValue: '', + selection: [], + }; + } + + render() { + return ( + + + ), + label: 'salesforce', + onClick: (event) => console.log('onClick', event), + }, + ]} + optionsAddItem={[ + { + id: 'my-new-id', + icon: ( + + ), + label: 'New Entity', + onClick: (event) => console.log('onClick', event), + }, + ]} + events={{ + onChange: (event, { value }) => { + console.log('onChange', event, value); + this.setState({ inputValue: value }); + }, + onRequestRemoveSelectedOption: (event, data) => { + this.setState({ + inputValue: '', + selection: data.selection, + }); + }, + onSubmit: (event, { value }) => { + console.log('onChange', event, value); + this.setState({ + inputValue: '', + selection: [ + ...this.state.selection, + { + label: value, + icon: ( + + ), + }, + ], + }); + }, + onSelect: (event, data) => { + console.log('onSelect', event, data); + this.setState({ + inputValue: '', + selection: data.selection, + }); + }, + }} + labels={{ + label: 'Search', + placeholder: 'Search Salesforce', + }} + options={comboboxFilterAndLimit({ + inputValue: this.state.inputValue, + options: accountsWithIcon, + selection: this.state.selection, + })} + selection={this.state.selection} + value={ + this.state.selectedOption + ? this.state.selectedOption.label + : this.state.inputValue + } + variant="inline-listbox" + /> + + ); + } +} + +Example.displayName = 'ComboboxExample'; +export default Example; // export is replaced with `ReactDOM.render(, mountNode);` at runtime diff --git a/components/combobox/__examples__/snapshot/inline-single-selection-selected.jsx b/components/combobox/__examples__/snapshot/inline-single-selection-selected.jsx new file mode 100644 index 0000000000..d99bbbb083 --- /dev/null +++ b/components/combobox/__examples__/snapshot/inline-single-selection-selected.jsx @@ -0,0 +1,144 @@ +/* eslint-disable no-console, react/prop-types */ +import React from 'react'; +import Combobox from '~/components/combobox'; +import Icon from '~/components/icon'; +import filter from '~/components/combobox/filter'; +import IconSettings from '~/components/icon-settings'; + +const accounts = [ + { + id: '1', + label: 'Acme', + subTitle: 'Account • San Francisco', + type: 'account', + }, + { + id: '2', + label: 'Salesforce.com, Inc.', + subTitle: 'Account • San Francisco', + type: 'account', + }, + { + id: '3', + label: "Paddy's Pub", + subTitle: 'Account • Boston, MA', + type: 'account', + }, + { + id: '4', + label: 'Tyrell Corp', + subTitle: 'Account • San Francisco, CA', + type: 'account', + }, + { + id: '5', + label: 'Paper St. Soap Company', + subTitle: 'Account • Beloit, WI', + type: 'account', + }, + { + id: '6', + label: 'Nakatomi Investments', + subTitle: 'Account • Chicago, IL', + type: 'account', + }, + { id: '7', label: 'Acme Landscaping', type: 'account' }, + { + id: '8', + label: 'Acme Construction', + subTitle: 'Account • Grand Marais, MN', + type: 'account', + }, +]; + +const accountsWithIcon = accounts.map((elem) => ({ + ...elem, + ...{ + icon: ( + + ), + }, +})); + +class Example extends React.Component { + constructor(props) { + super(props); + + this.state = { + inputValue: '', + selection: [accountsWithIcon[0]], + }; + } + + render() { + return ( + + { + console.log('onChange', value); + this.setState({ inputValue: value }); + }, + onRequestRemoveSelectedOption: (event, data) => { + this.setState({ + inputValue: '', + selection: data.selection, + }); + }, + onSubmit: (event, { value }) => { + console.log('onSubmit', value); + this.setState({ + inputValue: '', + selection: [ + ...this.state.selection, + { + label: value, + icon: ( + + ), + }, + ], + }); + }, + onSelect: (event, data) => { + console.log('onSelect', data); + this.setState({ + inputValue: '', + selection: data.selection, + }); + }, + }} + labels={{ + label: 'Search', + placeholder: 'Search Salesforce', + }} + menuPosition="relative" + options={filter({ + inputValue: this.state.inputValue, + options: accountsWithIcon, + selection: this.state.selection, + })} + selection={this.state.selection} + value={ + this.state.selectedOption + ? this.state.selectedOption.label + : this.state.inputValue + } + variant="inline-listbox" + /> + + ); + } +} + +Example.displayName = 'ComboboxExample'; +export default Example; // export is replaced with `ReactDOM.render(, mountNode);` at runtime diff --git a/components/combobox/__examples__/snapshot/inline-single-selection.jsx b/components/combobox/__examples__/snapshot/inline-single-selection.jsx new file mode 100644 index 0000000000..79125fa330 --- /dev/null +++ b/components/combobox/__examples__/snapshot/inline-single-selection.jsx @@ -0,0 +1,144 @@ +/* eslint-disable no-console, react/prop-types */ +import React from 'react'; +import Combobox from '~/components/combobox'; +import Icon from '~/components/icon'; +import filter from '~/components/combobox/filter'; +import IconSettings from '~/components/icon-settings'; + +const accounts = [ + { + id: '1', + label: 'Acme', + subTitle: 'Account • San Francisco', + type: 'account', + }, + { + id: '2', + label: 'Salesforce.com, Inc.', + subTitle: 'Account • San Francisco', + type: 'account', + }, + { + id: '3', + label: "Paddy's Pub", + subTitle: 'Account • Boston, MA', + type: 'account', + }, + { + id: '4', + label: 'Tyrell Corp', + subTitle: 'Account • San Francisco, CA', + type: 'account', + }, + { + id: '5', + label: 'Paper St. Soap Company', + subTitle: 'Account • Beloit, WI', + type: 'account', + }, + { + id: '6', + label: 'Nakatomi Investments', + subTitle: 'Account • Chicago, IL', + type: 'account', + }, + { id: '7', label: 'Acme Landscaping', type: 'account' }, + { + id: '8', + label: 'Acme Construction', + subTitle: 'Account • Grand Marais, MN', + type: 'account', + }, +]; + +const accountsWithIcon = accounts.map((elem) => ({ + ...elem, + ...{ + icon: ( + + ), + }, +})); + +class Example extends React.Component { + constructor(props) { + super(props); + + this.state = { + inputValue: '', + selection: [], + }; + } + + render() { + return ( + + { + console.log('onChange', value); + this.setState({ inputValue: value }); + }, + onRequestRemoveSelectedOption: (event, data) => { + this.setState({ + inputValue: '', + selection: data.selection, + }); + }, + onSubmit: (event, { value }) => { + console.log('onSubmit', value); + this.setState({ + inputValue: '', + selection: [ + ...this.state.selection, + { + label: value, + icon: ( + + ), + }, + ], + }); + }, + onSelect: (event, data) => { + console.log('onSelect', data); + this.setState({ + inputValue: '', + selection: data.selection, + }); + }, + }} + labels={{ + label: 'Search', + placeholder: 'Search Salesforce', + }} + menuPosition="relative" + options={filter({ + inputValue: this.state.inputValue, + options: accountsWithIcon, + selection: this.state.selection, + })} + selection={this.state.selection} + value={ + this.state.selectedOption + ? this.state.selectedOption.label + : this.state.inputValue + } + variant="inline-listbox" + /> + + ); + } +} + +Example.displayName = 'ComboboxExample'; +export default Example; // export is replaced with `ReactDOM.render(, mountNode);` at runtime diff --git a/components/combobox/__examples__/snapshot/readonly-multiple-selection-multiple-items-selected.jsx b/components/combobox/__examples__/snapshot/readonly-multiple-selection-multiple-items-selected.jsx new file mode 100644 index 0000000000..aa8049ae86 --- /dev/null +++ b/components/combobox/__examples__/snapshot/readonly-multiple-selection-multiple-items-selected.jsx @@ -0,0 +1,99 @@ +/* eslint-disable no-console, react/prop-types */ +import React from 'react'; +import Combobox from '~/components/combobox'; +import IconSettings from '~/components/icon-settings'; + +const accounts = [ + { + id: '1', + label: 'Acme', + subTitle: 'Account • San Francisco', + type: 'account', + }, + { + id: '2', + label: 'Salesforce.com, Inc.', + subTitle: 'Account • San Francisco', + type: 'account', + }, + { + id: '3', + label: "Paddy's Pub", + subTitle: 'Account • Boston, MA', + type: 'account', + }, + { + id: '4', + label: 'Tyrell Corp', + subTitle: 'Account • San Francisco, CA', + type: 'account', + }, + { + id: '5', + label: 'Paper St. Soap Company', + subTitle: 'Account • Beloit, WI', + type: 'account', + }, + { + id: '6', + label: 'Nakatomi Investments', + subTitle: 'Account • Chicago, IL', + type: 'account', + }, + { id: '7', label: 'Acme Landscaping', type: 'account' }, + { + id: '8', + label: 'Acme Construction', + subTitle: 'Account • Grand Marais, MN', + type: 'account', + }, +]; + +class Example extends React.Component { + constructor(props) { + super(props); + + this.state = { + inputValue: '', + selection: [accounts[0], accounts[1]], + }; + } + + render() { + return ( + + { + this.setState({ + inputValue: '', + selection: data.selection, + }); + }, + onSelect: (event, data) => { + console.log('onSelect', data); + this.setState({ + inputValue: '', + selection: data.selection, + }); + }, + }} + labels={{ + label: 'Search', + placeholder: 'Search Salesforce', + }} + menuPosition="relative" + multiple + options={accounts} + selection={this.state.selection} + value={this.state.inputValue} + variant="readonly" + /> + + ); + } +} + +Example.displayName = 'ComboboxExample'; +export default Example; // export is replaced with `ReactDOM.render(, mountNode);` at runtime diff --git a/components/combobox/__examples__/snapshot/readonly-multiple-selection-single-item-selected.jsx b/components/combobox/__examples__/snapshot/readonly-multiple-selection-single-item-selected.jsx new file mode 100644 index 0000000000..8ec51e6768 --- /dev/null +++ b/components/combobox/__examples__/snapshot/readonly-multiple-selection-single-item-selected.jsx @@ -0,0 +1,99 @@ +/* eslint-disable no-console, react/prop-types */ +import React from 'react'; +import Combobox from '~/components/combobox'; +import IconSettings from '~/components/icon-settings'; + +const accounts = [ + { + id: '1', + label: 'Acme', + subTitle: 'Account • San Francisco', + type: 'account', + }, + { + id: '2', + label: 'Salesforce.com, Inc.', + subTitle: 'Account • San Francisco', + type: 'account', + }, + { + id: '3', + label: "Paddy's Pub", + subTitle: 'Account • Boston, MA', + type: 'account', + }, + { + id: '4', + label: 'Tyrell Corp', + subTitle: 'Account • San Francisco, CA', + type: 'account', + }, + { + id: '5', + label: 'Paper St. Soap Company', + subTitle: 'Account • Beloit, WI', + type: 'account', + }, + { + id: '6', + label: 'Nakatomi Investments', + subTitle: 'Account • Chicago, IL', + type: 'account', + }, + { id: '7', label: 'Acme Landscaping', type: 'account' }, + { + id: '8', + label: 'Acme Construction', + subTitle: 'Account • Grand Marais, MN', + type: 'account', + }, +]; + +class Example extends React.Component { + constructor(props) { + super(props); + + this.state = { + inputValue: '', + selection: [accounts[0]], + }; + } + + render() { + return ( + + { + this.setState({ + inputValue: '', + selection: data.selection, + }); + }, + onSelect: (event, data) => { + console.log('onSelect', data); + this.setState({ + inputValue: '', + selection: data.selection, + }); + }, + }} + labels={{ + label: 'Search', + placeholder: 'Search Salesforce', + }} + menuPosition="relative" + multiple + options={accounts} + selection={this.state.selection} + value={this.state.inputValue} + variant="readonly" + /> + + ); + } +} + +Example.displayName = 'ComboboxExample'; +export default Example; // export is replaced with `ReactDOM.render(, mountNode);` at runtime diff --git a/components/combobox/__examples__/snapshot/readonly-multiple-selection.jsx b/components/combobox/__examples__/snapshot/readonly-multiple-selection.jsx new file mode 100644 index 0000000000..ed2b6dfd16 --- /dev/null +++ b/components/combobox/__examples__/snapshot/readonly-multiple-selection.jsx @@ -0,0 +1,99 @@ +/* eslint-disable no-console, react/prop-types */ +import React from 'react'; +import Combobox from '~/components/combobox'; +import IconSettings from '~/components/icon-settings'; + +const accounts = [ + { + id: '1', + label: 'Acme', + subTitle: 'Account • San Francisco', + type: 'account', + }, + { + id: '2', + label: 'Salesforce.com, Inc.', + subTitle: 'Account • San Francisco', + type: 'account', + }, + { + id: '3', + label: "Paddy's Pub", + subTitle: 'Account • Boston, MA', + type: 'account', + }, + { + id: '4', + label: 'Tyrell Corp', + subTitle: 'Account • San Francisco, CA', + type: 'account', + }, + { + id: '5', + label: 'Paper St. Soap Company', + subTitle: 'Account • Beloit, WI', + type: 'account', + }, + { + id: '6', + label: 'Nakatomi Investments', + subTitle: 'Account • Chicago, IL', + type: 'account', + }, + { id: '7', label: 'Acme Landscaping', type: 'account' }, + { + id: '8', + label: 'Acme Construction', + subTitle: 'Account • Grand Marais, MN', + type: 'account', + }, +]; + +class Example extends React.Component { + constructor(props) { + super(props); + + this.state = { + inputValue: '', + selection: [], + }; + } + + render() { + return ( + + { + this.setState({ + inputValue: '', + selection: data.selection, + }); + }, + onSelect: (event, data) => { + console.log('onSelect', data); + this.setState({ + inputValue: '', + selection: data.selection, + }); + }, + }} + labels={{ + label: 'Search', + placeholder: 'Search Salesforce', + }} + menuPosition="relative" + multiple + options={accounts} + selection={this.state.selection} + value={this.state.inputValue} + variant="readonly" + /> + + ); + } +} + +Example.displayName = 'ComboboxExample'; +export default Example; // export is replaced with `ReactDOM.render(, mountNode);` at runtime diff --git a/components/combobox/__examples__/snapshot/readonly-single-selection-custom-menu-item.jsx b/components/combobox/__examples__/snapshot/readonly-single-selection-custom-menu-item.jsx new file mode 100644 index 0000000000..af37e6800d --- /dev/null +++ b/components/combobox/__examples__/snapshot/readonly-single-selection-custom-menu-item.jsx @@ -0,0 +1,14 @@ +/* eslint-disable no-console, react/prop-types */ +import React from 'react'; +import ReadonlySingleSelectionCustomMenuItem from '../readonly-single-selection-custom-menu-item'; + +class Example extends React.Component { + render() { + return ( + + ); + } +} + +Example.displayName = 'ComboboxExample'; +export default Example; // export is replaced with `ReactDOM.render(, mountNode);` at runtime diff --git a/components/combobox/__examples__/snapshot/readonly-single-selection-disabled.jsx b/components/combobox/__examples__/snapshot/readonly-single-selection-disabled.jsx new file mode 100644 index 0000000000..c3c08f6d3f --- /dev/null +++ b/components/combobox/__examples__/snapshot/readonly-single-selection-disabled.jsx @@ -0,0 +1,93 @@ +/* eslint-disable no-console, react/prop-types */ +import React from 'react'; +import Combobox from '~/components/combobox'; +import IconSettings from '~/components/icon-settings'; + +const accounts = [ + { + id: '1', + label: 'Acme', + subTitle: 'Account • San Francisco', + type: 'account', + }, + { + id: '2', + label: 'Salesforce.com, Inc.', + subTitle: 'Account • San Francisco', + type: 'account', + }, + { + id: '3', + label: "Paddy's Pub", + subTitle: 'Account • Boston, MA', + type: 'account', + }, + { + id: '4', + label: 'Tyrell Corp', + subTitle: 'Account • San Francisco, CA', + type: 'account', + }, + { + id: '5', + label: 'Paper St. Soap Company', + subTitle: 'Account • Beloit, WI', + type: 'account', + }, + { + id: '6', + label: 'Nakatomi Investments', + subTitle: 'Account • Chicago, IL', + type: 'account', + }, + { id: '7', label: 'Acme Landscaping', type: 'account' }, + { + id: '8', + label: 'Acme Construction', + subTitle: 'Account • Grand Marais, MN', + type: 'account', + }, +]; + +class Example extends React.Component { + constructor(props) { + super(props); + + this.state = { + inputValue: '', + selection: [], + }; + } + + render() { + return ( + + { + console.log('onSelect', data); + this.setState({ + inputValue: '', + selection: data.selection, + }); + }, + }} + labels={{ + label: 'Search', + placeholder: 'Search Salesforce', + }} + menuPosition="relative" + options={accounts} + singleInputDisabled + selection={this.state.selection} + value={this.state.inputValue} + variant="readonly" + /> + + ); + } +} + +Example.displayName = 'ComboboxExample'; +export default Example; // export is replaced with `ReactDOM.render(, mountNode);` at runtime diff --git a/components/combobox/__examples__/snapshot/readonly-single-selection-selected-open.jsx b/components/combobox/__examples__/snapshot/readonly-single-selection-selected-open.jsx new file mode 100644 index 0000000000..887495fc10 --- /dev/null +++ b/components/combobox/__examples__/snapshot/readonly-single-selection-selected-open.jsx @@ -0,0 +1,93 @@ +/* eslint-disable no-console, react/prop-types */ +import React from 'react'; +import Combobox from '~/components/combobox'; +import IconSettings from '~/components/icon-settings'; + +const accounts = [ + { + id: '1', + label: 'Acme', + subTitle: 'Account • San Francisco', + type: 'account', + }, + { + id: '2', + label: 'Salesforce.com, Inc.', + subTitle: 'Account • San Francisco', + type: 'account', + }, + { + id: '3', + label: "Paddy's Pub", + subTitle: 'Account • Boston, MA', + type: 'account', + }, + { + id: '4', + label: 'Tyrell Corp', + subTitle: 'Account • San Francisco, CA', + type: 'account', + }, + { + id: '5', + label: 'Paper St. Soap Company', + subTitle: 'Account • Beloit, WI', + type: 'account', + }, + { + id: '6', + label: 'Nakatomi Investments', + subTitle: 'Account • Chicago, IL', + type: 'account', + }, + { id: '7', label: 'Acme Landscaping', type: 'account' }, + { + id: '8', + label: 'Acme Construction', + subTitle: 'Account • Grand Marais, MN', + type: 'account', + }, +]; + +class Example extends React.Component { + constructor(props) { + super(props); + + this.state = { + inputValue: '', + selection: [accounts[0]], + }; + } + + render() { + return ( + + { + console.log('onSelect', data); + this.setState({ + inputValue: '', + selection: data.selection, + }); + }, + }} + labels={{ + label: 'Search', + placeholder: 'Search Salesforce', + }} + menuPosition="relative" + options={accounts} + selection={this.state.selection} + value={this.state.inputValue} + variant="readonly" + /> + + ); + } +} + +Example.displayName = 'ComboboxExample'; +export default Example; // export is replaced with `ReactDOM.render(, mountNode);` at runtime diff --git a/components/combobox/__examples__/snapshot/readonly-single-selection-selected.jsx b/components/combobox/__examples__/snapshot/readonly-single-selection-selected.jsx new file mode 100644 index 0000000000..942d69daa2 --- /dev/null +++ b/components/combobox/__examples__/snapshot/readonly-single-selection-selected.jsx @@ -0,0 +1,92 @@ +/* eslint-disable no-console, react/prop-types */ +import React from 'react'; +import Combobox from '~/components/combobox'; +import IconSettings from '~/components/icon-settings'; + +const accounts = [ + { + id: '1', + label: 'Acme', + subTitle: 'Account • San Francisco', + type: 'account', + }, + { + id: '2', + label: 'Salesforce.com, Inc.', + subTitle: 'Account • San Francisco', + type: 'account', + }, + { + id: '3', + label: "Paddy's Pub", + subTitle: 'Account • Boston, MA', + type: 'account', + }, + { + id: '4', + label: 'Tyrell Corp', + subTitle: 'Account • San Francisco, CA', + type: 'account', + }, + { + id: '5', + label: 'Paper St. Soap Company', + subTitle: 'Account • Beloit, WI', + type: 'account', + }, + { + id: '6', + label: 'Nakatomi Investments', + subTitle: 'Account • Chicago, IL', + type: 'account', + }, + { id: '7', label: 'Acme Landscaping', type: 'account' }, + { + id: '8', + label: 'Acme Construction', + subTitle: 'Account • Grand Marais, MN', + type: 'account', + }, +]; + +class Example extends React.Component { + constructor(props) { + super(props); + + this.state = { + inputValue: '', + selection: [accounts[0]], + }; + } + + render() { + return ( + + { + console.log('onSelect', data); + this.setState({ + inputValue: '', + selection: data.selection, + }); + }, + }} + labels={{ + label: 'Search', + placeholder: 'Search Salesforce', + }} + menuPosition="relative" + options={accounts} + selection={this.state.selection} + value={this.state.inputValue} + variant="readonly" + /> + + ); + } +} + +Example.displayName = 'ComboboxExample'; +export default Example; // export is replaced with `ReactDOM.render(, mountNode);` at runtime diff --git a/components/combobox/__examples__/snapshot/readonly-single-selection.jsx b/components/combobox/__examples__/snapshot/readonly-single-selection.jsx new file mode 100644 index 0000000000..769a62aef5 --- /dev/null +++ b/components/combobox/__examples__/snapshot/readonly-single-selection.jsx @@ -0,0 +1,92 @@ +/* eslint-disable no-console, react/prop-types */ +import React from 'react'; +import Combobox from '~/components/combobox'; +import IconSettings from '~/components/icon-settings'; + +const accounts = [ + { + id: '1', + label: 'Acme', + subTitle: 'Account • San Francisco', + type: 'account', + }, + { + id: '2', + label: 'Salesforce.com, Inc.', + subTitle: 'Account • San Francisco', + type: 'account', + }, + { + id: '3', + label: "Paddy's Pub", + subTitle: 'Account • Boston, MA', + type: 'account', + }, + { + id: '4', + label: 'Tyrell Corp', + subTitle: 'Account • San Francisco, CA', + type: 'account', + }, + { + id: '5', + label: 'Paper St. Soap Company', + subTitle: 'Account • Beloit, WI', + type: 'account', + }, + { + id: '6', + label: 'Nakatomi Investments', + subTitle: 'Account • Chicago, IL', + type: 'account', + }, + { id: '7', label: 'Acme Landscaping', type: 'account' }, + { + id: '8', + label: 'Acme Construction', + subTitle: 'Account • Grand Marais, MN', + type: 'account', + }, +]; + +class Example extends React.Component { + constructor(props) { + super(props); + + this.state = { + inputValue: '', + selection: [], + }; + } + + render() { + return ( + + { + console.log('onSelect', data); + this.setState({ + inputValue: '', + selection: data.selection, + }); + }, + }} + labels={{ + label: 'Search', + placeholder: 'Search Salesforce', + }} + menuPosition="relative" + options={accounts} + selection={this.state.selection} + value={this.state.inputValue} + variant="readonly" + /> + + ); + } +} + +Example.displayName = 'ComboboxExample'; +export default Example; // export is replaced with `ReactDOM.render(, mountNode);` at runtime diff --git a/components/combobox/add-subheadings.js b/components/combobox/add-subheadings.js new file mode 100644 index 0000000000..78b1d64677 --- /dev/null +++ b/components/combobox/add-subheadings.js @@ -0,0 +1,63 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = void 0; + +function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); } + +function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } + +function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); } + +function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && Symbol.iterator in Object(iter)) return Array.from(iter); } + +function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); } + +function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; } + +/* eslint-disable fp/no-mutating-methods */ + +/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */ + +/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */ + +/** + * This is a UX pattern recommendation for auto-complete search results that can contain multiple subheadings within the results. It inserts a subheading object based on `option.type === subheading.id` directly before a found option object and only inserts the subheading at the first occurence of that type of option. + */ +var addSubheadings = function addSubheadings(_ref) { + var _ref2; + + var subheadings = _ref.subheadings, + filteredOptions = _ref.filteredOptions; + + // Let's not mutate things we don't own. + var subheadingsCopy = _toConsumableArray(subheadings); + + var sortedOptions = { + noSubHeaderType: [] + }; // populate an object with subheader ID as the keys + + subheadingsCopy.forEach(function (subH) { + if (subH.id) { + sortedOptions[subH.id] = [subH]; + } + }); // sort options into arrays using option type + // if option type and subheader ID are equal, add to array, if no option type, add to noSubHeaderType array + + filteredOptions.forEach(function (option) { + if (sortedOptions[option.type]) { + sortedOptions[option.type].push(option); + } else { + sortedOptions.noSubHeaderType.push(option); + } + }); // get object values by dropping keys + // flatten and remove child arrays, so that we have one array + // `...` operates on each array item, not the array + + return (_ref2 = []).concat.apply(_ref2, _toConsumableArray(Object.values(sortedOptions))); +}; + +var _default = addSubheadings; +exports.default = _default; \ No newline at end of file diff --git a/components/combobox/check-props.js b/components/combobox/check-props.js new file mode 100644 index 0000000000..3dd16d8a03 --- /dev/null +++ b/components/combobox/check-props.js @@ -0,0 +1,46 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = void 0; + +var _deprecatedProperty = _interopRequireDefault(require("../../utilities/warning/deprecated-property")); + +var _oneOfRequiredProperty = _interopRequireDefault(require("../../utilities/warning/one-of-required-property")); + +var _getComponentDoc = _interopRequireDefault(require("../../utilities/get-component-doc")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */ + +/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */ + +/* eslint-disable import/no-mutable-exports */ +var checkProps = function checkPropsFunction() {}; + +if (process.env.NODE_ENV !== 'production') { + checkProps = function checkPropsFunction(COMPONENT, props, jsonDoc) { + var createDocUrl = (0, _getComponentDoc.default)(jsonDoc); + /* eslint-disable max-len */ + + (0, _deprecatedProperty.default)(COMPONENT, props.isInline, 'isInline', 'menuPosition="relative"', createDocUrl('menuPosition')); + (0, _deprecatedProperty.default)(COMPONENT, props.menuItem, 'menuItem', 'onRenderMenuItem', createDocUrl('onRenderItem')); + (0, _deprecatedProperty.default)(COMPONENT, props.readOnlyMenuItemVisibleLength, 'readOnlyMenuItemVisibleLength', 'menuItemVisibleLength', createDocUrl('menuItemVisibleLength')); + /* eslint-enable max-len */ + + if (props.variant !== 'popover') { + (0, _oneOfRequiredProperty.default)(COMPONENT, { + options: props.options + }, createDocUrl('options')); + } else { + (0, _oneOfRequiredProperty.default)(COMPONENT, { + "assistiveText['popoverLabel']": props.assistiveText.popoverLabel + }, createDocUrl('assistiveText')); + } + }; +} + +var _default = checkProps; +exports.default = _default; \ No newline at end of file diff --git a/components/combobox/combobox.d.ts b/components/combobox/combobox.d.ts new file mode 100644 index 0000000000..1528e81f5c --- /dev/null +++ b/components/combobox/combobox.d.ts @@ -0,0 +1,315 @@ +declare module '@salesforce/design-system-react/components/combobox/combobox' { + import React from 'react'; + type Props = { + /** + * **Assistive text for accessibility** + * This object is merged with the default props object on every render. + * * `label`: This is used as a visually hidden label if, no `labels.label` is provided. + * * `loading`: Text added to loading spinner. + * * `optionSelectedInMenu`: Added before selected menu items in Read-only variants (Picklists). The default is `Current Selection:`. + * * `popoverLabel`: Used by popover variant, assistive text for the Popover aria-label. + * * `removeSingleSelectedOption`: Used by inline-listbox, single-select variant to remove the selected item (pill). This is a button with focus. The default is `Remove selected option`. + * * `removePill`: Used by multiple selection Comboboxes to remove a selected item (pill). Focus is on the pill. This is not a button. The default is `, Press delete or backspace to remove`. + * * `selectedListboxLabel`: This is a label for the selected listbox. The grouping of pills for multiple selection Comboboxes. The default is `Selected Options:`. + * _Tested with snapshot testing._ + */ + assistiveText?: Partial<{ + label?: string; + loadingMenuItems?: string; + optionSelectedInMenu?: string; + popoverLabel?: string; + removeSingleSelectedOption?: string; + removePill?: string; + selectedListboxLabel?: string; + }>; + /** + * The `aria-describedby` attribute is used to indicate the IDs of the elements that describe the object. It is used to establish a relationship between widgets or groups and text that described them. + * This is very similar to aria-labelledby?: a label describes the essence of an object, while a description provides more information that the user might need. _Tested with snapshot testing._ + */ + 'aria-describedby'?: string; + /** + * CSS classes to be added to tag with `.slds-combobox`. Uses `classNames` [API](https://github.com/JedWatson/classnames). _Tested with snapshot testing._ + */ + className?: any[] | Record | string; + /** + * CSS classes to be added to top level tag with `.slds-form-element` and not on `.slds-combobox_container`. Uses `classNames` [API](https://github.com/JedWatson/classnames). _Tested with snapshot testing._ + */ + classNameContainer?: any[] | Record | string; + /** + * CSS classes to be added to tag with `.slds-dropdown`. Uses `classNames` [API](https://github.com/JedWatson/classnames). Autocomplete/bass variant menu height should not scroll and should be determined by number items which should be no more than 10. _Tested with snapshot testing._ + */ + classNameMenu?: any[] | Record | string; + /** + * CSS classes to be added to tag with `.slds-dropdown__header`. Uses `classNames` [API](https://github.com/JedWatson/classnames). + */ + classNameMenuSubHeader?: any[] | Record | string; + /** + * Event Callbacks + * * `onBlur`: Called when `input` removes focus. + * * `onChange`: Called when keyboard events occur within `input` + * * `onClose`: Triggered when the menu has closed. + * * `onFocus`: Called when `input` receives focus. + * * `onOpen`: Triggered when the menu has opened. + * * `onRequestClose`: Function called when the menu would like to hide. Please use with `isOpen`. + * * `onRequestOpen`: Function called when the menu would like to show. Please use with `isOpen`. + * * `onRequestRemoveSelectedOption`: Function called when a single selection option is to be removed. + * * `onSelect`: Function called when a menu item is selected. This includes header and footer items. + * * `onSubmit`: Function called when user presses enter or submits the `input` + * _Tested with Mocha testing._ + */ + events?: Partial<{ + onBlur?: (v: any) => any; + onChange?: (v: any) => any; + onClose?: (v: any) => any; + onFocus?: (v: any) => any; + onOpen?: (v: any) => any; + onRequestClose?: (v: any) => any; + onRequestOpen?: (v: any) => any; + onRequestRemoveSelectedOption?: (v: any) => any; + onSelect?: (v: any) => any; + onSubmit?: (v: any) => any; + }>; + /** + * Message to display when the input is in an error state. When this is present, also visually highlights the component as in error. _Tested with snapshot testing._ + */ + errorText?: string; + /** + * A [Tooltip](https://react.lightningdesignsystem.com/components/tooltips/) component that is displayed next to the `labels.label`. The props from the component will be merged and override any default props. + */ + fieldLevelHelpTooltip?: React.ReactNode; + /** + * If true, loading spinner appears inside input on right hand side. + */ + hasInputSpinner?: boolean; + /** + * Add loading spinner below the options + */ + hasMenuSpinner?: boolean; + /** + * By default, dialogs will flip their alignment (such as bottom to top) if they extend beyond a boundary element such as a scrolling parent or a window/viewpoint. `hasStaticAlignment` disables this behavior and allows this component to extend beyond boundary elements. _Not tested._ + */ + hasStaticAlignment?: boolean; + /** + * HTML id for component. _Tested with snapshot testing._ + */ + id?: string; + /** + * An [Input](https://react.lightningdesignsystem.com/components/inputs) component. + * The props from this component will override any default props. + */ + input?: React.ReactNode; + /** + * **Text labels for internationalization** + * This object is merged with the default props object on every render. + * * `label`: This label appears above the input. + * * `cancelButton`: This label is only used by the dialog variant for the cancel button in the footer of the dialog. The default is `Cancel` + * * `doneButton`: This label is only used by the dialog variant for the done button in the footer of the dialog. The default is `Done` + * * `multipleOptionsSelected`: This label is used by the readonly variant when multiple options are selected. The default is `${props.selection.length} options selected`. This will override the entire string. + * * `noOptionsFound`: Custom message that renders when no matches found. The default empty state is just text that says, 'No matches found.'. + * * `placeholder`: Input placeholder + * * `placeholderReadOnly`: Placeholder for Picklist-like Combobox + * * `removePillTitle`: Title on `X` icon + * _Tested with snapshot testing._ + */ + labels?: Partial<{ + label?: React.ReactNode | string; + multipleOptionsSelected?: string; + noOptionsFound?: React.ReactNode | string; + placeholder?: string; + placeholderReadOnly?: string; + removePillTitle?: string; + }>; + /** + * Forces the dropdown to be open or closed. See controlled/uncontrolled callback/prop pattern for more on suggested use view [Concepts and Best Practices](https://github.com/salesforce-ux/design-system-react/blob/master/CONTRIBUTING.md#concepts-and-best-practices) _Tested with snapshot testing._ + */ + isOpen?: boolean; + /** + * Sets the dialog width to the width of one of the following: + * * `target`: Sets the dialog width to the width of the target. (Menus attached to `input` typically follow this UX pattern), + * * `menu`: Consider setting a `menuMaxWidth` if using this value. If not, width will be set to width of largest menu item. + * * `none`: Does not set a width on the dialog. _Tested with snapshot testing._ + */ + inheritWidthOf?: 'target' | 'menu' | 'none'; + /** + * Accepts a custom menu item rendering function that becomes a custom component. It should return a React node. The checkmark is still rendered in readonly variants. This function is passed the following props: + * * `assistiveText`: Object, `assistiveText` prop that is passed into Combobox + * * `option`: Object, option data for item being rendered that is passed into Combobox + * * `selected`: Boolean, allows rendering of `assistiveText.optionSelectedInMenu` in Readonly Combobox + * + * _Tested with snapshot testing._ + */ + onRenderMenuItem?: (v: any) => any; + /** + * Please select one of the following: + * * `absolute` - (default) The dialog will use `position: absolute` and style attributes to position itself. This allows inverted placement or flipping of the dialog. + * * `overflowBoundaryElement` - The dialog will overflow scrolling parents. Use on elements that are aligned to the left or right of their target and don't care about the target being within a scrolling parent. Typically this is a popover or tooltip. Dropdown menus can usually open up and down if no room exists. In order to achieve this a portal element will be created and attached to `body`. This element will render into that detached render tree. + * * `relative` - No styling or portals will be used. Menus will be positioned relative to their triggers. This is a great choice for HTML snapshot testing. + */ + menuPosition?: 'absolute' | 'overflowBoundaryElement' | 'relative'; + /** + * Sets a maximum width that the menu will be used if `inheritWidthOf` is set to `menu`. (Example: 500px) _Tested with snapshot testing._ + * + */ + menuMaxWidth?: string; + /** + * Allows multiple selections _Tested with mocha testing._ + */ + multiple?: boolean; + /** + * **Array of item objects in the dropdown menu.** + * Each object can contain: + * * `icon`: An `Icon` component. (not used in read-only variant) + * * `id`: A unique identifier string. + * * `label`: A primary string of text for a menu item or group separator. + * * `subTitle`: A secondary string of text added for clarity. (optional) + * * `type`: 'separator' is the only type currently used + * * `disabled`: Set to true to disable this menu item. + * * `tooltipContent`: Content that is displayed in tooltip when item is disabled + * ``` + * { + * id: '2', + * label: 'Salesforce.com, Inc.', + * subTitle: 'Account • San Francisco', + * type: 'account', + * disabled: true, + * tooltipContent: "You don't have permission to select this item." + * }, + * ``` + * Note: At the moment, Combobox does not support two consecutive separators. _Tested with snapshot testing._ + */ + options?: PropTypes.Partial<{ + id: string /*.isRequired*/; + icon?: React.ReactNode; + label?: string; + subTitle?: string; + type?: string; + disabled?: booleanean; + tooltipContent?: React.ReactNode; + }>[]; + /** + * Determines the height of the menu based on SLDS CSS classes. This is a `number`. The default for a `readonly` variant is `5`. + */ + menuItemVisibleLength?: 5 | 7 | 10; + /** + * Limits auto-complete input submission to one of the provided options. _Tested with mocha testing._ + */ + predefinedOptionsOnly?: boolean; + /** + * A `Popover` component. The props from this popover will be merged and override any default props. This also allows a Combobox's Popover dialog to be a controlled component. _Tested with snapshot testing._ + */ + popover?: React.ReactNode; + /** + * Applies label styling for a required form element. _Tested with snapshot testing._ + */ + required?: boolean; + /** + * Accepts an array of item objects. For single selection, pass in an array of one object. For item object keys, see `options` prop. _Tested with snapshot testing._ + */ + selection?: PropTypes.Partial<{ + id: string /*.isRequired*/; + icon?: React.ReactNode; + label?: string; + subTitle?: string; + type?: string; + }>[] /*.isRequired*/; + /** + * This callback exposes the selected listbox reference / DOM node to parent components. + */ + selectedListboxRef?: (v: any) => any; + /** + * Disables the input and prevents editing the contents. This only applies for single readonly and inline-listbox variants. + */ + singleInputDisabled?: boolean; + /** + * Accepts a tooltip that is displayed when hovering on disabled menu items. + */ + tooltipMenuItemDisabled?: React.ReactElement; + /** + * Value of input. _This is a controlled component,_ so you will need to control the input value by passing the `value` from `onChange` to a parent component or state manager, and then pass it back into the componet with this prop. Please see examples for more clarification. _Tested with snapshot testing._ + */ + value?: string; + /** + * Changes styles of the input and menu. Currently `entity` is not supported. + * The options are: + * * `base`: An autocomplete Combobox also allows a user to select an option from a list, but that list can be affected by what the user types into the input of the Combobox. The SLDS website used to call the autocomplete Combobox its `base` variant. + * * `inline-listbox`: An Entity Autocomplete Combobox or Lookup, is used to search for and select Salesforce Entities. + * * `popover`: A dialog Combobox is best used when a listbox, tree, grid, or tree-grid is not the best solution. This variant allows custom content. + * * `readonly`: A readonly text input that allows a user to select an option from a pre-defined list of options. It does not allow free form user input, nor does it allow the user to modify the selected value. + * + * _Tested with snapshot testing._ + */ + /** + * Default value of input. Provide uncontroled behaviour + */ + defaultValue?: string; + /** + * **Array of item objects in the dropdown menu that is displayed below the list of `options`. `onSelect` fires when selected.** + * Each object can contain: + * * `id`: A unique identifier string. + * * `icon`: An [Icon](/components/icons/) component to be displayed to the left of the menu item `label`. + * * `label`: A primary string of text for a menu item or a function that receives `inputValue` as function parameter and returns text to be displayed in for a menu item. + * ``` + * { + * id: '1', + * icon: ( + * + * ), + * label: 'New Entity' + * } + * ``` + * _Tested with snapshot testing._ + */ + optionsAddItem?: Partial<{ + id?: string; + icon?: React.ReactNode; + label?: string | ((v: any) => any); + }>[]; + /** + * **Array of item objects in the dropdown menu that is displayed above the list of `options`. `onSelect` fires when selected. ** + * Each object can contain: + * * `id`: A unique identifier string. + * * `icon`: An [Icon](/components/icons/) component to be displayed to the left of the menu item `label`. + * * `label`: A primary string of text for a menu item or a function that receives `inputValue` as function parameter and returns text to be displayed in for a menu item. + * ``` + * { + * id: '1', + * icon: ( + * + * ), + * label: (searchTerm) => { + * return `${searchTerm} in Accounts`; + * }, + * } + * ``` + * _Tested with snapshot testing._ + */ + optionsSearchEntity?: Partial<{ + id?: string; + icon?: React.ReactNode; + label?: string | ((v: any) => any); + }>[]; + /** + * Node of type [Combobox](/components/comboboxes/) for creating grouped comboboxes. + */ + entityCombobox?: React.ReactNode; + /** + * Defines Combobox variant styling and functionality + */ + variant?: 'base' | 'inline-listbox' | 'popover' | 'readonly'; + }; + /** + * A widget that provides a user with an input field that is either an autocomplete or readonly, accompanied with a listbox of pre-definfined options. + */ + function Component(props: Props): React.ReactNode; + export default Component; +} diff --git a/components/combobox/combobox.js b/components/combobox/combobox.js new file mode 100644 index 0000000000..d2d01ba27d --- /dev/null +++ b/components/combobox/combobox.js @@ -0,0 +1,1751 @@ +"use strict"; + +function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = void 0; + +var _react = _interopRequireDefault(require("react")); + +var _propTypes = _interopRequireDefault(require("prop-types")); + +var _lodash = _interopRequireDefault(require("lodash.assign")); + +var _lodash2 = _interopRequireDefault(require("lodash.find")); + +var _lodash3 = _interopRequireDefault(require("lodash.reject")); + +var _lodash4 = _interopRequireDefault(require("lodash.isequal")); + +var _lodash5 = _interopRequireDefault(require("lodash.findindex")); + +var _lodash6 = _interopRequireDefault(require("lodash.isfunction")); + +var _classnames = _interopRequireDefault(require("classnames")); + +var _shortid = _interopRequireDefault(require("shortid")); + +var _button = _interopRequireDefault(require("../button")); + +var _dialog = _interopRequireDefault(require("../utilities/dialog")); + +var _innerInput = _interopRequireDefault(require("../../components/input/private/inner-input")); + +var _inputIcon = _interopRequireDefault(require("../icon/input-icon")); + +var _menu = _interopRequireDefault(require("./private/menu")); + +var _label = _interopRequireDefault(require("../forms/private/label")); + +var _popover = _interopRequireDefault(require("../popover")); + +var _selectedListbox = _interopRequireDefault(require("../pill-container/private/selected-listbox")); + +var _fieldLevelHelpTooltip = _interopRequireDefault(require("../tooltip/private/field-level-help-tooltip")); + +var _keyCode = _interopRequireDefault(require("../../utilities/key-code")); + +var _keyBuffer = _interopRequireDefault(require("../../utilities/key-buffer")); + +var _keyLetterMenuItemSelect = _interopRequireDefault(require("../../utilities/key-letter-menu-item-select")); + +var _keyCallbacks = _interopRequireDefault(require("../../utilities/key-callbacks")); + +var _menuItemSelectScroll = _interopRequireDefault(require("../../utilities/menu-item-select-scroll")); + +var _checkProps = _interopRequireDefault(require("./check-props")); + +var _constants = require("../../utilities/constants"); + +var _component = _interopRequireDefault(require("./component.json")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); } + +function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); } + +function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } + +function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); } + +function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && Symbol.iterator in Object(iter)) return Array.from(iter); } + +function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); } + +function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; } + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } + +function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); } + +function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } + +function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; } + +function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } + +function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } } + +function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var currentOpenDropdown; +var documentDefined = typeof document !== 'undefined'; +var propTypes = { + /** + * **Assistive text for accessibility** + * This object is merged with the default props object on every render. + * * `label`: This is used as a visually hidden label if, no `labels.label` is provided. + * * `loading`: Text added to loading spinner. + * * `optionSelectedInMenu`: Added before selected menu items in Read-only variants (Picklists). The default is `Current Selection:`. + * * `popoverLabel`: Used by popover variant, assistive text for the Popover aria-label. + * * `removeSingleSelectedOption`: Used by inline-listbox, single-select variant to remove the selected item (pill). This is a button with focus. The default is `Remove selected option`. + * * `removePill`: Used by multiple selection Comboboxes to remove a selected item (pill). Focus is on the pill. This is not a button. The default is `, Press delete or backspace to remove`. + * * `selectedListboxLabel`: This is a label for the selected listbox. The grouping of pills for multiple selection Comboboxes. The default is `Selected Options:`. + * _Tested with snapshot testing._ + */ + assistiveText: _propTypes.default.shape({ + label: _propTypes.default.string, + loadingMenuItems: _propTypes.default.string, + optionSelectedInMenu: _propTypes.default.string, + popoverLabel: _propTypes.default.string, + removeSingleSelectedOption: _propTypes.default.string, + removePill: _propTypes.default.string, + selectedListboxLabel: _propTypes.default.string + }), + + /** + * The `aria-describedby` attribute is used to indicate the IDs of the elements that describe the object. It is used to establish a relationship between widgets or groups and text that described them. + * This is very similar to aria-labelledby: a label describes the essence of an object, while a description provides more information that the user might need. _Tested with snapshot testing._ + */ + 'aria-describedby': _propTypes.default.string, + + /** + * CSS classes to be added to tag with `.slds-combobox`. Uses `classNames` [API](https://github.com/JedWatson/classnames). _Tested with snapshot testing._ + */ + className: _propTypes.default.oneOfType([_propTypes.default.array, _propTypes.default.object, _propTypes.default.string]), + + /** + * CSS classes to be added to top level tag with `.slds-form-element` and not on `.slds-combobox_container`. Uses `classNames` [API](https://github.com/JedWatson/classnames). _Tested with snapshot testing._ + */ + classNameContainer: _propTypes.default.oneOfType([_propTypes.default.array, _propTypes.default.object, _propTypes.default.string]), + + /** + * CSS classes to be added to tag with `.slds-dropdown`. Uses `classNames` [API](https://github.com/JedWatson/classnames). Autocomplete/bass variant menu height should not scroll and should be determined by number items which should be no more than 10. _Tested with snapshot testing._ + */ + classNameMenu: _propTypes.default.oneOfType([_propTypes.default.array, _propTypes.default.object, _propTypes.default.string]), + + /** + * CSS classes to be added to tag with `.slds-dropdown__header`. Uses `classNames` [API](https://github.com/JedWatson/classnames). + */ + classNameMenuSubHeader: _propTypes.default.oneOfType([_propTypes.default.array, _propTypes.default.object, _propTypes.default.string]), + + /** + * Event Callbacks + * * `onBlur`: Called when `input` removes focus. + * * `onChange`: Called when keyboard events occur within `input` + * * `onClose`: Triggered when the menu has closed. + * * `onFocus`: Called when `input` receives focus. + * * `onOpen`: Triggered when the menu has opened. + * * `onRequestClose`: Function called when the menu would like to hide. Please use with `isOpen`. + * * `onRequestOpen`: Function called when the menu would like to show. Please use with `isOpen`. + * * `onRequestRemoveSelectedOption`: Function called when a single selection option is to be removed. + * * `onSelect`: Function called when a menu item is selected. This includes header and footer items. + * * `onSubmit`: Function called when user presses enter or submits the `input` + * _Tested with Mocha testing._ + */ + events: _propTypes.default.shape({ + onBlur: _propTypes.default.func, + onChange: _propTypes.default.func, + onClose: _propTypes.default.func, + onFocus: _propTypes.default.func, + onOpen: _propTypes.default.func, + onRequestClose: _propTypes.default.func, + onRequestOpen: _propTypes.default.func, + onRequestRemoveSelectedOption: _propTypes.default.func, + onSelect: _propTypes.default.func, + onSubmit: _propTypes.default.func + }), + + /** + * Message to display when the input is in an error state. When this is present, also visually highlights the component as in error. _Tested with snapshot testing._ + */ + errorText: _propTypes.default.string, + + /** + * A [Tooltip](https://react.lightningdesignsystem.com/components/tooltips/) component that is displayed next to the `labels.label`. The props from the component will be merged and override any default props. + */ + fieldLevelHelpTooltip: _propTypes.default.node, + + /** + * If true, loading spinner appears inside input on right hand side. + */ + hasInputSpinner: _propTypes.default.bool, + + /** + * Add loading spinner below the options + */ + hasMenuSpinner: _propTypes.default.bool, + + /** + * By default, dialogs will flip their alignment (such as bottom to top) if they extend beyond a boundary element such as a scrolling parent or a window/viewpoint. `hasStaticAlignment` disables this behavior and allows this component to extend beyond boundary elements. _Not tested._ + */ + hasStaticAlignment: _propTypes.default.bool, + + /** + * HTML id for component. _Tested with snapshot testing._ + */ + id: _propTypes.default.string, + + /** + * An [Input](https://react.lightningdesignsystem.com/components/inputs) component. + * The props from this component will override any default props. + */ + input: _propTypes.default.node, + + /** + * **Text labels for internationalization** + * This object is merged with the default props object on every render. + * * `label`: This label appears above the input. + * * `cancelButton`: This label is only used by the dialog variant for the cancel button in the footer of the dialog. The default is `Cancel` + * * `doneButton`: This label is only used by the dialog variant for the done button in the footer of the dialog. The default is `Done` + * * `multipleOptionsSelected`: This label is used by the readonly variant when multiple options are selected. The default is `${props.selection.length} options selected`. This will override the entire string. + * * `noOptionsFound`: Custom message that renders when no matches found. The default empty state is just text that says, 'No matches found.'. + * * `placeholder`: Input placeholder + * * `placeholderReadOnly`: Placeholder for Picklist-like Combobox + * * `removePillTitle`: Title on `X` icon + * _Tested with snapshot testing._ + */ + labels: _propTypes.default.shape({ + label: _propTypes.default.oneOfType([_propTypes.default.node, _propTypes.default.string]), + multipleOptionsSelected: _propTypes.default.string, + noOptionsFound: _propTypes.default.oneOfType([_propTypes.default.node, _propTypes.default.string]), + placeholder: _propTypes.default.string, + placeholderReadOnly: _propTypes.default.string, + removePillTitle: _propTypes.default.string + }), + + /** + * Forces the dropdown to be open or closed. See controlled/uncontrolled callback/prop pattern for more on suggested use view [Concepts and Best Practices](https://github.com/salesforce-ux/design-system-react/blob/master/CONTRIBUTING.md#concepts-and-best-practices) _Tested with snapshot testing._ + */ + isOpen: _propTypes.default.bool, + + /** + * Sets the dialog width to the width of one of the following: + * * `target`: Sets the dialog width to the width of the target. (Menus attached to `input` typically follow this UX pattern), + * * `menu`: Consider setting a `menuMaxWidth` if using this value. If not, width will be set to width of largest menu item. + * * `none`: Does not set a width on the dialog. _Tested with snapshot testing._ + */ + inheritWidthOf: _propTypes.default.oneOf(['target', 'menu', 'none']), + + /** + * Accepts a custom menu item rendering function that becomes a custom component. It should return a React node. The checkmark is still rendered in readonly variants. This function is passed the following props: + * * `assistiveText`: Object, `assistiveText` prop that is passed into Combobox + * * `option`: Object, option data for item being rendered that is passed into Combobox + * * `selected`: Boolean, allows rendering of `assistiveText.optionSelectedInMenu` in Readonly Combobox + * + * _Tested with snapshot testing._ + */ + onRenderMenuItem: _propTypes.default.func, + + /** + * Please select one of the following: + * * `absolute` - (default) The dialog will use `position: absolute` and style attributes to position itself. This allows inverted placement or flipping of the dialog. + * * `overflowBoundaryElement` - The dialog will overflow scrolling parents. Use on elements that are aligned to the left or right of their target and don't care about the target being within a scrolling parent. Typically this is a popover or tooltip. Dropdown menus can usually open up and down if no room exists. In order to achieve this a portal element will be created and attached to `body`. This element will render into that detached render tree. + * * `relative` - No styling or portals will be used. Menus will be positioned relative to their triggers. This is a great choice for HTML snapshot testing. + */ + menuPosition: _propTypes.default.oneOf(['absolute', 'overflowBoundaryElement', 'relative']), + + /** + * Sets a maximum width that the menu will be used if `inheritWidthOf` is set to `menu`. (Example: 500px) _Tested with snapshot testing._ + * + */ + menuMaxWidth: _propTypes.default.string, + + /** + * Allows multiple selections _Tested with mocha testing._ + */ + multiple: _propTypes.default.bool, + + /** + * **Array of item objects in the dropdown menu.** + * Each object can contain: + * * `icon`: An `Icon` component. (not used in read-only variant) + * * `id`: A unique identifier string. + * * `label`: A primary string of text for a menu item or group separator. + * * `subTitle`: A secondary string of text added for clarity. (optional) + * * `type`: 'separator' is the only type currently used + * * `disabled`: Set to true to disable this menu item. + * * `tooltipContent`: Content that is displayed in tooltip when item is disabled + * ``` + * { + * id: '2', + * label: 'Salesforce.com, Inc.', + * subTitle: 'Account • San Francisco', + * type: 'account', + * disabled: true, + * tooltipContent: "You don't have permission to select this item." + * }, + * ``` + * Note: At the moment, Combobox does not support two consecutive separators. _Tested with snapshot testing._ + */ + options: _propTypes.default.arrayOf(_propTypes.default.PropTypes.shape({ + id: _propTypes.default.string.isRequired, + icon: _propTypes.default.node, + label: _propTypes.default.string, + subTitle: _propTypes.default.string, + type: _propTypes.default.string, + disabled: _propTypes.default.boolean, + tooltipContent: _propTypes.default.node + })), + + /** + * Determines the height of the menu based on SLDS CSS classes. This is a `number`. The default for a `readonly` variant is `5`. + */ + menuItemVisibleLength: _propTypes.default.oneOf([5, 7, 10]), + + /** + * Limits auto-complete input submission to one of the provided options. _Tested with mocha testing._ + */ + predefinedOptionsOnly: _propTypes.default.bool, + + /** + * A `Popover` component. The props from this popover will be merged and override any default props. This also allows a Combobox's Popover dialog to be a controlled component. _Tested with snapshot testing._ + */ + popover: _propTypes.default.node, + + /** + * Applies label styling for a required form element. _Tested with snapshot testing._ + */ + required: _propTypes.default.bool, + + /** + * Accepts an array of item objects. For single selection, pass in an array of one object. For item object keys, see `options` prop. _Tested with snapshot testing._ + */ + selection: _propTypes.default.arrayOf(_propTypes.default.PropTypes.shape({ + id: _propTypes.default.string.isRequired, + icon: _propTypes.default.node, + label: _propTypes.default.string, + subTitle: _propTypes.default.string, + type: _propTypes.default.string + })).isRequired, + + /** + * This callback exposes the selected listbox reference / DOM node to parent components. + */ + selectedListboxRef: _propTypes.default.func, + + /** + * Disables the input and prevents editing the contents. This only applies for single readonly and inline-listbox variants. + */ + singleInputDisabled: _propTypes.default.bool, + + /** + * Accepts a tooltip that is displayed when hovering on disabled menu items. + */ + tooltipMenuItemDisabled: _propTypes.default.element, + + /** + * Value of input. _This is a controlled component,_ so you will need to control the input value by passing the `value` from `onChange` to a parent component or state manager, and then pass it back into the componet with this prop. Please see examples for more clarification. _Tested with snapshot testing._ + */ + value: _propTypes.default.string, + + /** + * Changes styles of the input and menu. Currently `entity` is not supported. + * The options are: + * * `base`: An autocomplete Combobox also allows a user to select an option from a list, but that list can be affected by what the user types into the input of the Combobox. The SLDS website used to call the autocomplete Combobox its `base` variant. + * * `inline-listbox`: An Entity Autocomplete Combobox or Lookup, is used to search for and select Salesforce Entities. + * * `popover`: A dialog Combobox is best used when a listbox, tree, grid, or tree-grid is not the best solution. This variant allows custom content. + * * `readonly`: A readonly text input that allows a user to select an option from a pre-defined list of options. It does not allow free form user input, nor does it allow the user to modify the selected value. + * + * _Tested with snapshot testing._ + */ + + /** + * Default value of input. Provide uncontroled behaviour + */ + defaultValue: _propTypes.default.string, + + /** + * **Array of item objects in the dropdown menu that is displayed below the list of `options`. `onSelect` fires when selected.** + * Each object can contain: + * * `id`: A unique identifier string. + * * `icon`: An [Icon](/components/icons/) component to be displayed to the left of the menu item `label`. + * * `label`: A primary string of text for a menu item or a function that receives `inputValue` as function parameter and returns text to be displayed in for a menu item. + * ``` + * { + * id: '1', + * icon: ( + * + * ), + * label: 'New Entity' + * } + * ``` + * _Tested with snapshot testing._ + */ + optionsAddItem: _propTypes.default.arrayOf(_propTypes.default.shape({ + id: _propTypes.default.string, + icon: _propTypes.default.node, + label: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.func]) + })), + + /** + * **Array of item objects in the dropdown menu that is displayed above the list of `options`. `onSelect` fires when selected. ** + * Each object can contain: + * * `id`: A unique identifier string. + * * `icon`: An [Icon](/components/icons/) component to be displayed to the left of the menu item `label`. + * * `label`: A primary string of text for a menu item or a function that receives `inputValue` as function parameter and returns text to be displayed in for a menu item. + * ``` + * { + * id: '1', + * icon: ( + * + * ), + * label: (searchTerm) => { + * return `${searchTerm} in Accounts`; + * }, + * } + * ``` + * _Tested with snapshot testing._ + */ + optionsSearchEntity: _propTypes.default.arrayOf(_propTypes.default.shape({ + id: _propTypes.default.string, + icon: _propTypes.default.node, + label: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.func]) + })), + + /** + * Node of type [Combobox](/components/comboboxes/) for creating grouped comboboxes. + */ + entityCombobox: _propTypes.default.node, + + /** + * Defines Combobox variant styling and functionality + */ + variant: _propTypes.default.oneOf(['base', 'inline-listbox', 'popover', 'readonly']) +}; +var defaultProps = { + assistiveText: { + loadingMenuItems: 'Loading', + optionSelectedInMenu: 'Current Selection:', + removeSingleSelectedOption: 'Remove selected option', + removePill: ', Press delete or backspace to remove', + selectedListboxLabel: 'Selected Options:' + }, + events: {}, + labels: { + cancelButton: 'Cancel', + doneButton: "Done", + noOptionsFound: 'No matches found.', + optionDisabledTooltipLabel: 'This option is disabled.', + placeholderReadOnly: 'Select an Option', + removePillTitle: 'Remove' + }, + inheritWidthOf: 'target', + menuPosition: 'absolute', + optionsSearchEntity: [], + optionsAddItem: [], + required: false, + selection: [], + singleInputDisabled: false, + variant: 'base' +}; +/** + * A widget that provides a user with an input field that is either an autocomplete or readonly, accompanied with a listbox of pre-definfined options. + */ + +var Combobox = /*#__PURE__*/function (_React$Component) { + _inherits(Combobox, _React$Component); + + var _super = _createSuper(Combobox); + + function Combobox(_props) { + var _this; + + _classCallCheck(this, Combobox); + + _this = _super.call(this, _props); + + _defineProperty(_assertThisInitialized(_this), "getCustomPopoverProps", function (body, _ref) { + var assistiveText = _ref.assistiveText, + labels = _ref.labels; + + /* + * Generate the popover props based on passed in popover props. Using the default behavior if not provided by passed in popover + */ + var popoverBody = /*#__PURE__*/_react.default.createElement("div", null, /*#__PURE__*/_react.default.createElement("div", { + className: "slds-assistive-text", + id: "".concat(_this.getId(), "-label") + }, assistiveText.popoverLabel), body); + + var popoverFooter = /*#__PURE__*/_react.default.createElement("div", null, /*#__PURE__*/_react.default.createElement(_button.default, { + label: labels.cancelButton, + onClick: function onClick(e) { + _this.handleClose(e, { + trigger: 'cancel' + }); + } + }), /*#__PURE__*/_react.default.createElement(_button.default, { + label: labels.doneButton, + variant: "brand", + onClick: _this.handleClose + })); + + var defaultPopoverProps = { + ariaLabelledby: "".concat(_this.getId(), "-label"), + align: 'bottom', + body: popoverBody, + className: 'slds-popover_full-width', + footer: popoverFooter, + footerClassName: 'slds-popover__footer_form', + hasNoNubbin: true, + id: _this.getId(), + isOpen: _this.state.isOpen, + hasNoTriggerStyles: true, + onOpen: _this.handleOpen, + onClose: _this.handleClose, + onRequestClose: _this.handleClose + }; + /* Merge in passed popover's props if there is any to override the default popover props */ + + var popoverProps = (0, _lodash.default)(defaultPopoverProps, _this.props.popover ? _this.props.popover.props : {}); + popoverProps.body = popoverBody; // eslint-disable-next-line fp/no-delete + + delete popoverProps.children; + return popoverProps; + }); + + _defineProperty(_assertThisInitialized(_this), "getId", function () { + return _this.props.id || _this.generatedId; + }); + + _defineProperty(_assertThisInitialized(_this), "getIsActiveOption", function () { + return _this.state.activeOption && _this.state.activeOptionIndex !== -1; + }); + + _defineProperty(_assertThisInitialized(_this), "getIsOpen", function () { + return !!(typeof _this.props.isOpen === 'boolean' ? _this.props.isOpen : _this.state.isOpen); + }); + + _defineProperty(_assertThisInitialized(_this), "getNewActiveOptionIndex", function (_ref2) { + var activeOptionIndex = _ref2.activeOptionIndex, + offset = _ref2.offset, + options = _ref2.options; + // used by menu listbox and selected options listbox + var nextIndex = activeOptionIndex + offset; + var skipIndex = options.length > nextIndex && nextIndex >= 0 && options[nextIndex].type === 'separator'; + var newIndex = skipIndex ? nextIndex + offset : nextIndex; + var hasNewIndex = options.length > nextIndex && nextIndex >= 0; + return hasNewIndex ? newIndex : activeOptionIndex; + }); + + _defineProperty(_assertThisInitialized(_this), "getOptions", function () { + var props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : _this.props; + var localProps = props; + var options = []; + + if (localProps.optionsSearchEntity.length > 0) { + // eslint-disable-next-line fp/no-mutating-methods + options.push.apply(options, _toConsumableArray(localProps.optionsSearchEntity)); + } + + if (localProps.options) { + // eslint-disable-next-line fp/no-mutating-methods + options.push.apply(options, _toConsumableArray(localProps.options)); + } + + if (localProps.optionsAddItem.length > 0) { + // eslint-disable-next-line fp/no-mutating-methods + options.push.apply(options, _toConsumableArray(localProps.optionsAddItem)); + } + + return options; + }); + + _defineProperty(_assertThisInitialized(_this), "getTargetElement", function () { + return _this.inputRef; + }); + + _defineProperty(_assertThisInitialized(_this), "setInputRef", function (component) { + _this.inputRef = component; // yes, this is a render triggered by a render. + // Dialog/Popper.js cannot place the menu until + // the trigger/target DOM node is mounted. This + // way `findDOMNode` is not called and parent + // DOM nodes are not queried. + + if (!_this.state.inputRendered) { + _this.setState({ + inputRendered: true + }); + } + }); + + _defineProperty(_assertThisInitialized(_this), "setSelectedListboxRef", function (ref) { + _this.selectedListboxRef = ref; + + if (_this.props.selectedListboxRef) { + _this.props.selectedListboxRef(ref); + } + }); + + _defineProperty(_assertThisInitialized(_this), "handleBlurPill", function () { + _this.setState({ + listboxHasFocus: false + }); + }); + + _defineProperty(_assertThisInitialized(_this), "handleClickOutside", function (event) { + _this.handleRequestClose(event, {}); + }); + + _defineProperty(_assertThisInitialized(_this), "handleClose", function (event) { + var _ref3 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}, + trigger = _ref3.trigger; + + var isOpen = _this.getIsOpen(); + + if (isOpen) { + if (currentOpenDropdown === _assertThisInitialized(_this)) { + currentOpenDropdown = undefined; + } + + _this.setState({ + activeOption: undefined, + activeOptionIndex: -1, + isOpen: false + }); + + if (_this.props.variant === 'popover' && trigger === 'cancel') { + if (_this.props.popover.props.onClose) { + _this.props.popover.props.onClose(event, { + trigger: trigger + }); + } + } + + if (_this.props.events.onClose) { + _this.props.events.onClose(event, {}); + } + } + }); + + _defineProperty(_assertThisInitialized(_this), "handleInputBlur", function (event) { + // If menu is open when the input's onBlur event fires, it will close before the onClick of the menu item can fire. + setTimeout(function () { + var activeElement = documentDefined ? document.activeElement : false; // detect if the scrollbar of the combobox-autocomplete/lookup menu is clicked in IE11. If it is, return focus to input, and do not close menu. + + if (activeElement && activeElement.tagName === 'DIV' && activeElement.id === "".concat(_this.getId(), "-listbox")) { + if (_this.inputRef) { + _this.inputRef.focus(); + } + } else if (!_this.props.popover) { + _this.handleClose(event); + } + }, 200); + + if (_this.props.events.onBlur) { + _this.props.events.onBlur(event); + } + }); + + _defineProperty(_assertThisInitialized(_this), "handleInputChange", function (event) { + _this.requestOpenMenu(); + + if (_this.props.events && _this.props.events.onChange) { + _this.props.events.onChange(event, { + value: event.target.value + }); + } + }); + + _defineProperty(_assertThisInitialized(_this), "handleInputFocus", function (event) { + if (_this.props.events.onFocus) { + _this.props.events.onFocus(event, {}); + } + }); + + _defineProperty(_assertThisInitialized(_this), "handleInputSubmit", function (event) { + if (_this.state.activeOption && _this.state.activeOption.disabled) { + return; + } + + if (_this.state.activeOption && (_this.state.activeOption.type === 'header' || _this.state.activeOption.type === 'footer')) { + _this.state.activeOption.onClick(event); + + return; + } // use menu options + + + if (_this.getIsActiveOption()) { + _this.handleSelect(event, { + option: _this.state.activeOption, + selection: _this.props.selection + }); // use input value, if not limited to predefined options (in the menu) + + } else if (!_this.props.predefinedOptionsOnly && event.target.value !== '' && _this.props.events.onSubmit) { + _this.props.events.onSubmit(event, { + value: event.target.value + }); + } + }); + + _defineProperty(_assertThisInitialized(_this), "handleKeyDown", function (event) { + var _callbacks; + + var callbacks = (_callbacks = {}, _defineProperty(_callbacks, _keyCode.default.DOWN, { + callback: _this.handleKeyDownDown + }), _defineProperty(_callbacks, _keyCode.default.ENTER, { + callback: _this.handleInputSubmit + }), _defineProperty(_callbacks, _keyCode.default.ESCAPE, { + callback: _this.handleClose + }), _defineProperty(_callbacks, _keyCode.default.UP, { + callback: _this.handleKeyDownUp + }), _callbacks); + + if (_this.props.variant === 'readonly') { + if (_this.props.selection.length > 2) { + callbacks[_keyCode.default.TAB] = { + callback: _this.handleKeyDownTab + }; + } else { + callbacks[_keyCode.default.TAB] = undefined; + } + + callbacks.other = { + callback: _this.handleKeyDownOther, + stopPropagation: false + }; + } // Helper function that takes an object literal of callbacks that are triggered with a key event + + + (0, _keyCallbacks.default)(event, { + callbacks: callbacks + }); + }); + + _defineProperty(_assertThisInitialized(_this), "handleKeyDownDown", function (event) { + // Don't open if user is selecting text + if (!event.shiftKey) { + _this.openDialog(); + } + + if (_this.props.variant !== 'popover') { + _this.handleNavigateListboxMenu(event, { + direction: 'next' + }); + } + }); + + _defineProperty(_assertThisInitialized(_this), "handleKeyDownTab", function () { + if (_this.selectedListboxRef) { + _this.setState({ + listboxHasFocus: true + }); + } + }); + + _defineProperty(_assertThisInitialized(_this), "handleKeyDownUp", function (event) { + // Don't open if user is selecting text + if (!event.shiftKey && _this.getIsOpen()) { + _this.handleNavigateListboxMenu(event, { + direction: 'previous' + }); + } + }); + + _defineProperty(_assertThisInitialized(_this), "handleKeyDownOther", function (event) { + var activeOptionIndex = (0, _keyLetterMenuItemSelect.default)({ + key: event.key, + keyBuffer: _this.menuKeyBuffer, + keyCode: event.keyCode, + options: _this.getOptions() + }); + + if (activeOptionIndex !== undefined) { + if (_this.getIsOpen()) { + (0, _menuItemSelectScroll.default)({ + container: _this.menuRef, + focusedIndex: activeOptionIndex + }); + } + + _this.setState({ + activeOption: _this.getOptions()[activeOptionIndex], + activeOptionIndex: activeOptionIndex + }); + } + }); + + _defineProperty(_assertThisInitialized(_this), "handleNavigateListboxMenu", function (event, _ref4) { + var direction = _ref4.direction; + var offsets = { + next: 1, + previous: -1 + }; // takes current/previous state and returns an object with the new state + + _this.setState(function (prevState) { + var newIndex = _this.getNewActiveOptionIndex({ + activeOptionIndex: prevState.activeOptionIndex, + offset: offsets[direction], + options: _this.getOptions() + }); // eslint-disable-next-line react/no-access-state-in-setstate + + + if (_this.getIsOpen()) { + (0, _menuItemSelectScroll.default)({ + container: _this.menuRef, + focusedIndex: newIndex + }); + } + + return { + activeOption: _this.getOptions()[newIndex], + activeOptionIndex: newIndex + }; + }); + }); + + _defineProperty(_assertThisInitialized(_this), "handleNavigateSelectedListbox", function (event, _ref5) { + var direction = _ref5.direction; + var offsets = { + next: 1, + previous: -1 + }; + + _this.setState(function (prevState) { + var isLastOptionAndRightIsPressed = prevState.activeSelectedOptionIndex + 1 === _this.props.selection.length && direction === 'next'; + var isFirstOptionAndLeftIsPressed = prevState.activeSelectedOptionIndex === 0 && direction === 'previous'; + var newState; + + if (isLastOptionAndRightIsPressed) { + newState = { + activeSelectedOption: _this.props.selection[0], + activeSelectedOptionIndex: 0, + listboxHasFocus: true + }; + } else if (isFirstOptionAndLeftIsPressed) { + newState = { + activeSelectedOption: _this.props.selection[_this.props.selection.length - 1], + activeSelectedOptionIndex: _this.props.selection.length - 1, + listboxHasFocus: true + }; + } else { + var newIndex = _this.getNewActiveOptionIndex({ + activeOptionIndex: prevState.activeSelectedOptionIndex, + offset: offsets[direction], + options: _this.props.selection + }); + + newState = { + activeSelectedOption: _this.props.selection[newIndex], + activeSelectedOptionIndex: newIndex, + listboxHasFocus: true + }; + } + + return newState; + }); + }); + + _defineProperty(_assertThisInitialized(_this), "handleOpen", function (event, data) { + var isOpen = _this.getIsOpen(); + + if (!isOpen) { + if (currentOpenDropdown && (0, _lodash6.default)(currentOpenDropdown.handleClose)) { + currentOpenDropdown.handleClose(); + } + } else { + currentOpenDropdown = _assertThisInitialized(_this); + + _this.setState({ + isOpen: true + }); + + if (_this.props.events.onOpen) { + _this.props.events.onOpen(event, data); + } + + if (_this.props.variant === 'readonly' && _this.menuRef !== null) { + var activeOptionIndex = (0, _lodash5.default)(_this.getOptions(), function (item) { + return (0, _lodash4.default)(item, _this.props.selection[0]); + }); + + _this.setState({ + activeOptionIndex: activeOptionIndex + }); + + (0, _menuItemSelectScroll.default)({ + container: _this.menuRef, + focusedIndex: activeOptionIndex + }); + } + } + }); + + _defineProperty(_assertThisInitialized(_this), "handlePillFocus", function (event, _ref6) { + var option = _ref6.option, + index = _ref6.index; + + if (!_this.state.listboxHasFocus) { + _this.setState({ + activeSelectedOption: option, + activeSelectedOptionIndex: index, + listboxHasFocus: true + }); + } + }); + + _defineProperty(_assertThisInitialized(_this), "handleRemoveSelectedOption", function (event, _ref7) { + var option = _ref7.option, + index = _ref7.index; + event.preventDefault(); + var onlyOnePillAndInputExists = _this.props.selection.length === 1; + var isReadOnlyAndTwoPillsExists = _this.props.selection.length === 2 && _this.props.variant === 'readonly' && _this.props.multiple; + var lastPillWasRemoved = index + 1 === _this.props.selection.length; + + if ((onlyOnePillAndInputExists || isReadOnlyAndTwoPillsExists) && _this.inputRef) { + _this.inputRef.focus(); + } else if (lastPillWasRemoved) { + // set focus to previous option and index + _this.setState({ + activeSelectedOption: _this.props.selection[index - 1], + activeSelectedOptionIndex: index - 1, + listboxHasFocus: true + }); + } else { + // set focus to next option, but same index + _this.setState({ + activeSelectedOption: _this.props.selection[index + 1], + activeSelectedOptionIndex: index, + listboxHasFocus: true + }); + } + + if (_this.props.events.onRequestRemoveSelectedOption) { + _this.props.events.onRequestRemoveSelectedOption(event, { + selection: (0, _lodash3.default)(_this.props.selection, option) + }); + } + }); + + _defineProperty(_assertThisInitialized(_this), "handleRequestClose", function (event, data) { + if (_this.props.events.onRequestClose) { + _this.props.events.onRequestClose(event, data); + } + + if (_this.getIsOpen()) { + _this.handleClose(event, { + trigger: 'cancel' + }); + } + }); + + _defineProperty(_assertThisInitialized(_this), "handleRequestFocusSelectedListbox", function (event, _ref8) { + var ref = _ref8.ref; + + if (ref) { + _this.activeSelectedOptionRef = ref; + + _this.activeSelectedOptionRef.focus(); + } + }); + + _defineProperty(_assertThisInitialized(_this), "handleSelect", function (event, _ref9) { + var selection = _ref9.selection, + option = _ref9.option; + var newSelection; + + var isSelected = _this.isSelected({ + selection: selection, + option: option + }); + + var singleSelectAndSelectedWasNotClicked = !_this.props.multiple && !isSelected; + var multiSelectAndSelectedWasNotClicked = _this.props.multiple && !isSelected; + + if (singleSelectAndSelectedWasNotClicked) { + newSelection = [option]; + } else if (multiSelectAndSelectedWasNotClicked) { + newSelection = [].concat(_toConsumableArray(_this.props.selection), [option]); + } else { + newSelection = (0, _lodash3.default)(_this.props.selection, option); + } + + if (_this.props.events.onSelect) { + _this.props.events.onSelect(event, { + selection: newSelection + }); + } + + _this.handleClose(); // if (this.inputRef) { + // this.inputRef.focus(); + // } + + }); + + _defineProperty(_assertThisInitialized(_this), "isSelected", function (_ref10) { + var selection = _ref10.selection, + option = _ref10.option; + return !!(0, _lodash2.default)(selection, option); + }); + + _defineProperty(_assertThisInitialized(_this), "openDialog", function () { + if (_this.props.events.onRequestOpen) { + _this.props.events.onRequestOpen(); + } else { + _this.setState({ + isOpen: true + }); + } + }); + + _defineProperty(_assertThisInitialized(_this), "requestOpenMenu", function () { + var isInlineSingleSelectionAndIsNotSelected = !_this.props.multiple && _this.props.selection.length === 0 && _this.props.variant === 'inline-listbox'; + + if (isInlineSingleSelectionAndIsNotSelected || _this.props.multiple || _this.props.variant === 'readonly') { + _this.openDialog(); + } + }); + + _defineProperty(_assertThisInitialized(_this), "renderBase", function (_ref11) { + var assistiveText = _ref11.assistiveText, + labels = _ref11.labels, + props = _ref11.props, + userDefinedProps = _ref11.userDefinedProps; + return /*#__PURE__*/_react.default.createElement("div", { + className: "slds-form-element__control" + }, /*#__PURE__*/_react.default.createElement("div", { + className: "slds-combobox_container" + }, /*#__PURE__*/_react.default.createElement("div", { + className: (0, _classnames.default)('slds-combobox', 'slds-dropdown-trigger', 'slds-dropdown-trigger_click', 'ignore-react-onclickoutside', { + 'slds-is-open': _this.getIsOpen() + }, { + 'slds-has-error': props.errorText + }, props.className) // Not in ARIA 1.2 spec, temporary for SLDS styles + , + role: "combobox" // eslint-disable-line jsx-a11y/role-supports-aria-props, jsx-a11y/role-has-required-aria-props + + }, /*#__PURE__*/_react.default.createElement(_innerInput.default, _extends({ + "aria-autocomplete": "list", + "aria-controls": _this.getIsOpen() ? "".concat(_this.getId(), "-listbox") : undefined, + "aria-activedescendant": _this.state.activeOption ? "".concat(_this.getId(), "-listbox-option-").concat(_this.state.activeOption.id) : null, + "aria-describedby": _this.getErrorId(), + "aria-expanded": _this.getIsOpen(), + "aria-haspopup": "listbox", + role: "combobox", + autoComplete: "off", + className: "slds-combobox__input", + containerProps: { + className: 'slds-combobox__form-element', + role: 'none' + }, + hasSpinner: _this.props.hasInputSpinner, + iconRight: /*#__PURE__*/_react.default.createElement(_inputIcon.default, { + category: "utility", + name: "search", + title: labels.inputIconTitle + }), + id: _this.getId(), + onFocus: _this.handleInputFocus, + onBlur: _this.handleInputBlur, + onKeyDown: _this.handleKeyDown, + inputRef: _this.setInputRef, + onClick: function onClick() { + _this.openDialog(); + }, + onChange: _this.handleInputChange, + placeholder: labels.placeholder, + defaultValue: props.defaultValue, + readOnly: !!(props.predefinedOptionsOnly && _this.state.activeOption), + required: props.required, + value: props.predefinedOptionsOnly ? _this.state.activeOption && _this.state.activeOption.label || props.value : props.value + }, userDefinedProps.input)), _this.getDialog({ + menuRenderer: _this.renderMenu({ + assistiveText: assistiveText, + labels: labels + }) + }))), /*#__PURE__*/_react.default.createElement(_selectedListbox.default, { + activeOption: _this.state.activeSelectedOption, + activeOptionIndex: _this.state.activeSelectedOptionIndex, + assistiveText: assistiveText, + events: { + onBlurPill: _this.handleBlurPill, + onPillFocus: _this.handlePillFocus, + onRequestFocus: _this.handleRequestFocusSelectedListbox, + onRequestFocusOnNextPill: _this.handleNavigateSelectedListbox, + onRequestFocusOnPreviousPill: _this.handleNavigateSelectedListbox, + onRequestRemove: _this.handleRemoveSelectedOption + }, + id: "".concat(_this.getId(), "-selected-listbox"), + labels: labels, + selectedListboxRef: _this.setSelectedListboxRef, + selection: props.selection, + listboxHasFocus: _this.state.listboxHasFocus + }), props.errorText && /*#__PURE__*/_react.default.createElement("div", { + className: "slds-has-error" + }, /*#__PURE__*/_react.default.createElement("div", { + id: _this.getErrorId(), + className: "slds-form-element__help slds-has-error" + }, props.errorText))); + }); + + _defineProperty(_assertThisInitialized(_this), "renderInlineMultiple", function (_ref12) { + var assistiveText = _ref12.assistiveText, + labels = _ref12.labels, + props = _ref12.props, + userDefinedProps = _ref12.userDefinedProps; + return /*#__PURE__*/_react.default.createElement("div", { + className: "slds-form-element__control" + }, /*#__PURE__*/_react.default.createElement("div", { + className: (0, _classnames.default)('slds-combobox_container', { + 'slds-has-inline-listbox': props.selection.length + }) + }, props.selection.length ? /*#__PURE__*/_react.default.createElement(_selectedListbox.default, { + activeOption: _this.state.activeSelectedOption, + activeOptionIndex: _this.state.activeSelectedOptionIndex, + assistiveText: assistiveText, + containerRole: "listbox", + containerAriaOrientation: "horizontal", + listboxRole: "group", + listboxAriaOrientation: null, + events: { + onBlurPill: _this.handleBlurPill, + onPillFocus: _this.handlePillFocus, + onRequestFocus: _this.handleRequestFocusSelectedListbox, + onRequestFocusOnNextPill: _this.handleNavigateSelectedListbox, + onRequestFocusOnPreviousPill: _this.handleNavigateSelectedListbox, + onRequestRemove: _this.handleRemoveSelectedOption + }, + id: "".concat(_this.getId(), "-selected-listbox"), + labels: labels, + selectedListboxRef: _this.setSelectedListboxRef, + selection: props.selection, + listboxHasFocus: _this.state.listboxHasFocus + }) : null, /*#__PURE__*/_react.default.createElement("div", { + className: (0, _classnames.default)('slds-combobox', 'slds-dropdown-trigger', 'slds-dropdown-trigger_click', 'ignore-react-onclickoutside', { + 'slds-is-open': _this.getIsOpen() + }, { + 'slds-has-error': props.errorText + }, props.className) // Not in ARIA 1.2 spec, temporary for SLDS styles + , + role: "combobox" // eslint-disable-line jsx-a11y/role-supports-aria-props, jsx-a11y/role-has-required-aria-props + + }, /*#__PURE__*/_react.default.createElement(_innerInput.default, _extends({ + "aria-autocomplete": "list", + "aria-controls": _this.getIsOpen() ? "".concat(_this.getId(), "-listbox") : undefined, + "aria-activedescendant": _this.state.activeOption ? "".concat(_this.getId(), "-listbox-option-").concat(_this.state.activeOption.id) : null, + "aria-describedby": _this.getErrorId(), + "aria-expanded": _this.getIsOpen(), + "aria-haspopup": "listbox" // eslint-disable-line jsx-a11y/aria-proptypes + , + role: "combobox", + defaultValue: props.defaultValue, + autoComplete: "off", + className: "slds-combobox__input", + containerProps: { + className: 'slds-combobox__form-element', + role: 'none' + }, + hasSpinner: _this.props.hasInputSpinner, + iconRight: /*#__PURE__*/_react.default.createElement(_inputIcon.default, { + category: "utility", + name: "search", + title: labels.inputIconTitle + }), + id: _this.getId(), + onFocus: _this.handleInputFocus, + onBlur: _this.handleInputBlur, + onKeyDown: _this.handleKeyDown, + inputRef: _this.setInputRef, + onClick: function onClick() { + _this.openDialog(); + }, + onChange: _this.handleInputChange, + placeholder: labels.placeholder, + readOnly: !!(props.predefinedOptionsOnly && _this.state.activeOption), + required: props.required, + value: props.predefinedOptionsOnly ? _this.state.activeOption && _this.state.activeOption.label || props.value : props.value + }, userDefinedProps.input)), _this.getDialog({ + menuRenderer: _this.renderMenu({ + assistiveText: assistiveText, + labels: labels + }) + }), props.errorText && /*#__PURE__*/_react.default.createElement("div", { + id: _this.getErrorId(), + className: "slds-form-element__help" + }, props.errorText)))); + }); + + _defineProperty(_assertThisInitialized(_this), "renderInlineSingle", function (_ref13) { + var assistiveText = _ref13.assistiveText, + labels = _ref13.labels, + props = _ref13.props, + userDefinedProps = _ref13.userDefinedProps; + var iconLeft = props.selection[0] && props.selection[0].icon ? /*#__PURE__*/_react.default.cloneElement(props.selection[0].icon, { + containerClassName: 'slds-combobox__input-entity-icon' + }) : null; + var value = props.selection[0] && props.selection[0].label ? props.selection[0].label : props.value; + return /*#__PURE__*/_react.default.createElement("div", { + className: "slds-form-element__control" + }, /*#__PURE__*/_react.default.createElement("div", { + className: (0, _classnames.default)('slds-combobox_container', { + 'slds-has-inline-listbox': props.selection.length + }) + }, /*#__PURE__*/_react.default.createElement("div", { + className: (0, _classnames.default)('slds-combobox', 'slds-dropdown-trigger', 'slds-dropdown-trigger_click', 'ignore-react-onclickoutside', { + 'slds-is-open': _this.getIsOpen() + }, { + 'slds-has-error': props.errorText + }, props.className) // Not in ARIA 1.2 spec, temporary for SLDS styles + , + role: "combobox" // eslint-disable-line jsx-a11y/role-supports-aria-props, jsx-a11y/role-has-required-aria-props + + }, /*#__PURE__*/_react.default.createElement(_innerInput.default, _extends({ + defaultValue: props.defaultValue, + "aria-autocomplete": "list", + "aria-controls": _this.getIsOpen() ? "".concat(_this.getId(), "-listbox") : undefined, + "aria-activedescendant": _this.state.activeOption ? "".concat(_this.getId(), "-listbox-option-").concat(_this.state.activeOption.id) : null, + "aria-describedby": _this.getErrorId(), + "aria-expanded": _this.getIsOpen(), + "aria-haspopup": "listbox" // eslint-disable-line jsx-a11y/aria-proptypes + , + role: "combobox", + autoComplete: "off", + className: "slds-combobox__input", + containerProps: { + className: 'slds-combobox__form-element', + role: 'none' + }, + disabled: _this.props.singleInputDisabled, + hasSpinner: _this.props.hasInputSpinner, + iconRight: props.selection.length ? /*#__PURE__*/_react.default.createElement(_inputIcon.default, { + assistiveText: { + icon: assistiveText.removeSingleSelectedOption + }, + buttonRef: function buttonRef(component) { + _this.buttonRef = component; + }, + category: "utility", + iconPosition: "right", + name: "close", + onClick: function onClick(event) { + _this.handleRemoveSelectedOption(event, { + option: props.selection[0] + }); + } + }) : /*#__PURE__*/_react.default.createElement(_inputIcon.default, { + category: "utility", + name: "search" + }), + iconLeft: iconLeft, + id: _this.getId(), + onFocus: _this.handleInputFocus, + onBlur: _this.handleInputBlur, + onKeyDown: _this.handleKeyDown, + inputRef: _this.setInputRef, + onClick: function onClick() { + _this.requestOpenMenu(); + }, + onChange: function onChange(event) { + if (!props.selection.length) { + _this.handleInputChange(event); + } + }, + placeholder: labels.placeholder, + readOnly: !!(props.predefinedOptionsOnly && _this.state.activeOption) || !!props.selection.length, + required: props.required, + value: props.predefinedOptionsOnly ? _this.state.activeOption && _this.state.activeOption.label || props.value : value + }, userDefinedProps.input)), _this.getDialog({ + menuRenderer: _this.renderMenu({ + assistiveText: assistiveText, + labels: labels + }) + }), props.errorText && /*#__PURE__*/_react.default.createElement("div", { + id: _this.getErrorId(), + className: "slds-form-element__help" + }, props.errorText)))); + }); + + _defineProperty(_assertThisInitialized(_this), "renderMenu", function (_ref14) { + var assistiveText = _ref14.assistiveText, + labels = _ref14.labels; + var menuVariant = { + base: 'icon-title-subtitle', + 'inline-listbox': 'icon-title-subtitle', + readonly: 'checkbox' + }; + var readonlyItemVisibleLength = _this.props.variant === 'readonly' ? 5 : null; + return /*#__PURE__*/_react.default.createElement(_menu.default, { + assistiveText: assistiveText, + activeOption: _this.state.activeOption, + activeOptionIndex: _this.state.activeOptionIndex, + classNameMenu: _this.props.classNameMenu, + classNameMenuSubHeader: _this.props.classNameMenuSubHeader, + clearActiveOption: _this.clearActiveOption, + inheritWidthOf: _this.props.inheritWidthOf, + inputId: _this.getId(), + inputValue: _this.props.value, + isSelected: _this.isSelected, + itemVisibleLength: _this.props.menuItemVisibleLength || readonlyItemVisibleLength, + labels: labels, + hasMenuSpinner: _this.props.hasMenuSpinner, + menuItem: _this.props.menuItem, + menuPosition: _this.props.menuPosition, + menuRef: function menuRef(ref) { + _this.menuRef = ref; + }, + maxWidth: _this.props.menuMaxWidth, + options: _this.props.options, + optionsAddItem: _this.props.optionsAddItem, + optionsSearchEntity: _this.props.optionsSearchEntity, + onSelect: _this.handleSelect // For backward compatibility, 'menuItem' prop will be deprecated soon + , + onRenderMenuItem: _this.props.onRenderMenuItem ? _this.props.onRenderMenuItem : _this.props.menuItem, + selection: _this.props.selection, + tooltipMenuItemDisabled: _this.props.tooltipMenuItemDisabled, + variant: menuVariant[_this.props.variant] + }); + }); + + _defineProperty(_assertThisInitialized(_this), "renderPopover", function (_ref15) { + var assistiveText = _ref15.assistiveText, + labels = _ref15.labels, + props = _ref15.props; + + var popoverProps = _this.getCustomPopoverProps(_this.props.popover.props.body, { + assistiveText: assistiveText, + labels: labels + }); + + return /*#__PURE__*/_react.default.createElement("div", { + className: "slds-form-element__control" + }, /*#__PURE__*/_react.default.createElement("div", { + className: "slds-combobox_container" + }, /*#__PURE__*/_react.default.createElement("div", { + className: (0, _classnames.default)('slds-combobox', 'slds-dropdown-trigger', 'slds-dropdown-trigger_click', 'ignore-react-onclickoutside', { + 'slds-is-open': _this.getIsOpen() + }, { + 'slds-has-error': props.errorText + }, props.className) // Not in ARIA 1.2 spec, temporary for SLDS styles + , + role: "combobox" // eslint-disable-line jsx-a11y/role-supports-aria-props, jsx-a11y/role-has-required-aria-props + + }, /*#__PURE__*/_react.default.createElement(_popover.default, popoverProps, /*#__PURE__*/_react.default.createElement(_innerInput.default, { + "aria-autocomplete": "none", + "aria-controls": _this.getIsOpen() ? "".concat(_this.getId(), "-popover") : undefined, + "aria-describedby": _this.getErrorId(), + "aria-expanded": _this.getIsOpen(), + "aria-haspopup": "dialog" // eslint-disable-line jsx-a11y/aria-proptypes + , + role: "combobox", + autoComplete: "off", + className: "slds-combobox__input", + containerProps: { + className: 'slds-combobox__form-element', + role: 'none' + }, + iconRight: /*#__PURE__*/_react.default.createElement(_inputIcon.default, { + category: "utility", + name: "down", + variant: "combobox" + }), + id: _this.getId(), + onFocus: _this.handleInputFocus, + onBlur: _this.handleInputBlur, + onKeyDown: _this.handleKeyDown, + inputRef: _this.setInputRef, + onClick: function onClick() { + _this.openDialog(); + }, + onChange: _this.handleInputChange, + placeholder: labels.placeholder, + readOnly: true, + required: props.required, + value: props.value + })))), props.errorText && /*#__PURE__*/_react.default.createElement("div", { + className: "slds-has-error" + }, /*#__PURE__*/_react.default.createElement("div", { + id: _this.getErrorId(), + className: "slds-form-element__help slds-has-error" + }, props.errorText))); + }); + + _defineProperty(_assertThisInitialized(_this), "renderReadOnlyMultiple", function (_ref16) { + var assistiveText = _ref16.assistiveText, + labels = _ref16.labels, + props = _ref16.props, + userDefinedProps = _ref16.userDefinedProps; + var value = props.selection.length > 1 ? labels.multipleOptionsSelected || "".concat(props.selection.length, " options selected") : props.selection[0] && props.selection[0].label || ''; + return /*#__PURE__*/_react.default.createElement("div", { + className: "slds-form-element__control" + }, /*#__PURE__*/_react.default.createElement("div", { + className: "slds-combobox_container" + }, /*#__PURE__*/_react.default.createElement("div", { + className: (0, _classnames.default)('slds-combobox', 'slds-dropdown-trigger', 'slds-dropdown-trigger_click', 'ignore-react-onclickoutside', { + 'slds-is-open': _this.getIsOpen() + }, { + 'slds-has-error': props.errorText + }, props.className) // Not in ARIA 1.2 spec, temporary for SLDS styles + , + role: "combobox" // eslint-disable-line jsx-a11y/role-supports-aria-props, jsx-a11y/role-has-required-aria-props + + }, /*#__PURE__*/_react.default.createElement(_innerInput.default, _extends({ + defaultValue: props.defaultValue, + "aria-autocomplete": "list", + "aria-controls": _this.getIsOpen() ? "".concat(_this.getId(), "-listbox") : undefined, + "aria-activedescendant": _this.state.activeOption ? "".concat(_this.getId(), "-listbox-option-").concat(_this.state.activeOption.id) : null, + "aria-describedby": _this.getErrorId(), + "aria-expanded": _this.getIsOpen(), + "aria-haspopup": "listbox" // eslint-disable-line jsx-a11y/aria-proptypes + , + role: "combobox", + autoComplete: "off", + className: "slds-combobox__input", + containerProps: { + className: 'slds-combobox__form-element', + role: 'none' + }, + iconRight: /*#__PURE__*/_react.default.createElement(_inputIcon.default, { + category: "utility", + name: "down", + variant: "combobox" + }), + id: _this.getId(), + onFocus: _this.handleInputFocus, + onBlur: _this.handleInputBlur, + onKeyDown: _this.handleKeyDown, + inputRef: _this.setInputRef, + onClick: function onClick() { + _this.requestOpenMenu(); + }, + onChange: function onChange(event) { + if (!props.selection.length) { + _this.handleInputChange(event); + } + }, + placeholder: labels.placeholderReadOnly, + readOnly: true, + required: props.required, + value: value + }, userDefinedProps.input)), _this.getDialog({ + menuRenderer: _this.renderMenu({ + assistiveText: assistiveText, + labels: labels + }) + }))), /*#__PURE__*/_react.default.createElement(_selectedListbox.default, { + activeOption: _this.state.activeSelectedOption, + activeOptionIndex: _this.state.activeSelectedOptionIndex, + assistiveText: assistiveText, + events: { + onBlurPill: _this.handleBlurPill, + onPillFocus: _this.handlePillFocus, + onRequestFocus: _this.handleRequestFocusSelectedListbox, + onRequestFocusOnNextPill: _this.handleNavigateSelectedListbox, + onRequestFocusOnPreviousPill: _this.handleNavigateSelectedListbox, + onRequestRemove: _this.handleRemoveSelectedOption + }, + id: "".concat(_this.getId(), "-selected-listbox"), + labels: labels, + selectedListboxRef: _this.setSelectedListboxRef, + selection: props.selection, + listboxHasFocus: _this.state.listboxHasFocus, + variant: _this.props.variant, + renderAtSelectionLength: 2 + }), props.errorText && /*#__PURE__*/_react.default.createElement("div", { + className: "slds-has-error" + }, /*#__PURE__*/_react.default.createElement("div", { + id: _this.getErrorId(), + className: "slds-form-element__help slds-has-error" + }, props.errorText))); + }); + + _defineProperty(_assertThisInitialized(_this), "renderReadOnlySingle", function (_ref17) { + var assistiveText = _ref17.assistiveText, + labels = _ref17.labels, + props = _ref17.props, + userDefinedProps = _ref17.userDefinedProps; + var value = props.selection[0] && props.selection[0].label || ''; + return /*#__PURE__*/_react.default.createElement("div", { + className: "slds-form-element__control" + }, /*#__PURE__*/_react.default.createElement("div", { + className: "slds-combobox_container" + }, /*#__PURE__*/_react.default.createElement("div", { + // aria attributes have been moved to the `div` wrapping `input` to comply with ARIA 1.1. + className: (0, _classnames.default)('slds-combobox', 'slds-dropdown-trigger', 'slds-dropdown-trigger_click', 'ignore-react-onclickoutside', { + 'slds-is-open': _this.getIsOpen() + }, { + 'slds-has-error': props.errorText + }, props.className) // Not in ARIA 1.2 spec, temporary for SLDS styles + , + role: "combobox" // eslint-disable-line jsx-a11y/role-supports-aria-props, jsx-a11y/role-has-required-aria-props + + }, /*#__PURE__*/_react.default.createElement(_innerInput.default, _extends({ + defaultValue: props.defaultValue, + "aria-autocomplete": "list", + "aria-controls": _this.getIsOpen() ? "".concat(_this.getId(), "-listbox") : undefined, + "aria-activedescendant": _this.state.activeOption ? "".concat(_this.getId(), "-listbox-option-").concat(_this.state.activeOption.id) : null, + "aria-describedby": _this.getErrorId(), + "aria-expanded": _this.getIsOpen(), + "aria-haspopup": "listbox" // eslint-disable-line jsx-a11y/aria-proptypes + , + role: "combobox", + autoComplete: "off", + className: "slds-combobox__input", + containerProps: { + className: 'slds-combobox__form-element', + role: 'none' + }, + disabled: _this.props.singleInputDisabled, + iconRight: /*#__PURE__*/_react.default.createElement(_inputIcon.default, { + category: "utility", + name: "down", + variant: "combobox" + }), + id: _this.getId(), + onFocus: _this.handleInputFocus, + onBlur: _this.handleInputBlur, + onKeyDown: _this.handleKeyDown, + inputRef: _this.setInputRef, + onClick: function onClick() { + _this.requestOpenMenu(); + }, + onChange: function onChange(event) { + if (!props.selection.length) { + _this.handleInputChange(event); + } + }, + placeholder: labels.placeholderReadOnly, + readOnly: true, + required: props.required, + value: _this.state.activeOption && _this.state.activeOption.label || value + }, userDefinedProps.input)), _this.getDialog({ + menuRenderer: _this.renderMenu({ + assistiveText: assistiveText, + labels: labels + }) + }), props.errorText && /*#__PURE__*/_react.default.createElement("div", { + id: _this.getErrorId(), + className: "slds-form-element__help" + }, props.errorText)))); + }); + + _this.state = { + activeOption: undefined, + activeOptionIndex: -1, + // seeding initial state with this.props.selection[0] + activeSelectedOption: _this.props.selection && _this.props.selection[0] || undefined, + activeSelectedOptionIndex: 0, + listboxHasFocus: false, + isOpen: typeof _props.isOpen === 'boolean' ? _props.isOpen : false + }; + _this.menuKeyBuffer = new _keyBuffer.default(); + _this.menuRef = undefined; + _this.selectedListboxRef = null; // `checkProps` issues warnings to developers about properties (similar to React's built in development tools) + + (0, _checkProps.default)(_constants.COMBOBOX, _props, _component.default); + _this.generatedId = _shortid.default.generate(); + _this.generatedErrorId = _shortid.default.generate(); + return _this; + } + /** + * Lifecycle methods + */ + + + _createClass(Combobox, [{ + key: "componentDidUpdate", + value: function componentDidUpdate(nextProps) { + var _this2 = this; + + // This logic will maintain the active highlight even when the + // option order changes. One example would be the server pushes + // data out as the user has the menu open. This logic clears + // `activeOption` if the active option is no longer in the options + // list. If it's in the options list, then find the new index and + // set `activeOptionIndex` + if (!(0, _lodash4.default)(this.getOptions(), this.getOptions(nextProps))) { + var index = (0, _lodash5.default)(this.getOptions(nextProps), function (item) { + return (0, _lodash4.default)(item, _this2.state.activeOption); + }); + + if (index !== -1) { + // eslint-disable-next-line react/no-did-update-set-state + this.setState({ + activeOptionIndex: index + }); + } else { + // eslint-disable-next-line react/no-did-update-set-state + this.setState({ + activeOption: undefined, + activeOptionIndex: -1 + }); + } + } else if (this.props.isOpen !== nextProps.isOpen) { + // eslint-disable-next-line react/no-did-update-set-state + this.setState({ + activeOption: undefined, + activeOptionIndex: -1, + isOpen: nextProps.isOpen + }); + } // there may be issues with tabindex/focus if the app removes an item + // from selection while the user is using the listbox + + + var selectedOptionsRenderIsInitialRender = this.props.selection && this.props.selection.length === 0 && nextProps.selection.length > 0; + + if (selectedOptionsRenderIsInitialRender) { + // eslint-disable-next-line react/no-did-update-set-state + this.setState({ + activeSelectedOption: nextProps.selection[0], + activeSelectedOptionIndex: 0 + }); + } + } + }, { + key: "componentWillUnmount", + value: function componentWillUnmount() { + if (currentOpenDropdown === this) { + currentOpenDropdown = undefined; + } + } + }, { + key: "getDialog", + value: function getDialog(_ref18) { + var menuRenderer = _ref18.menuRenderer; + // FOR BACKWARDS COMPATIBILITY + var menuPosition = this.props.isInline ? 'relative' : this.props.menuPosition; // eslint-disable-line react/prop-types + + return !this.props.disabled && this.getIsOpen() ? /*#__PURE__*/_react.default.createElement(_dialog.default, { + align: "bottom left", + context: this.context, + hasStaticAlignment: this.props.hasStaticAlignment, + inheritWidthOf: this.props.inheritWidthOf, + onClose: this.handleClose, + onMouseDown: function onMouseDown(event) { + // prevent onBlur + event.preventDefault(); + }, + onOpen: this.handleOpen, + onRequestTargetElement: this.getTargetElement, + position: menuPosition, + containerProps: { + id: "".concat(this.getId(), "-listbox"), + role: 'listbox' + } + }, menuRenderer) : null; + } + }, { + key: "getErrorId", + value: function getErrorId() { + return this.props['aria-describedby'] || this.props.errorText && this.generatedErrorId; + } + /** + * Shared class property getter methods + */ + + }, { + key: "render", + value: function render() { + var props = this.props; // Merge objects of strings with their default object + + var assistiveText = (0, _lodash.default)({}, defaultProps.assistiveText, props.assistiveText); + var labels = (0, _lodash.default)({}, defaultProps.labels, this.props.labels); + var hasRenderedLabel = labels.label || assistiveText && assistiveText.label; // declare user defined props + + var userDefinedProps = {}; + + if (props.input) { + // at the moment we only support overriding the input props + userDefinedProps.input = props.input.props; + } + + var subRenderParameters = { + assistiveText: assistiveText, + labels: labels, + props: this.props, + userDefinedProps: userDefinedProps + }; + var multipleOrSingle = this.props.multiple ? 'multiple' : 'single'; + var subRenders = { + base: { + multiple: this.renderBase, + // same + single: this.renderBase + }, + 'inline-listbox': { + multiple: this.renderInlineMultiple, + single: this.renderInlineSingle + }, + popover: { + multiple: this.renderPopover, + // same + single: this.renderPopover + }, + readonly: { + multiple: this.renderReadOnlyMultiple, + single: this.renderReadOnlySingle + } + }; + var variantExists = subRenders[this.props.variant][multipleOrSingle]; + + var mainCombobox = /*#__PURE__*/_react.default.createElement("div", { + className: (0, _classnames.default)('slds-form-element', props.classNameContainer) + }, props.entityCombobox ? null : /*#__PURE__*/_react.default.createElement(_label.default, { + assistiveText: this.props.assistiveText, + htmlFor: this.getId(), + label: labels.label, + required: props.required + }), this.props.fieldLevelHelpTooltip && hasRenderedLabel ? /*#__PURE__*/_react.default.createElement(_fieldLevelHelpTooltip.default, { + fieldLevelHelpTooltip: this.props.fieldLevelHelpTooltip + }) : null, variantExists ? subRenders[this.props.variant][multipleOrSingle](subRenderParameters) : subRenders.base.multiple(subRenderParameters)); + + return props.entityCombobox ? /*#__PURE__*/_react.default.createElement("div", { + className: "slds-form-element" + }, /*#__PURE__*/_react.default.createElement(_label.default, { + assistiveText: props.assistiveText, + htmlFor: this.getId(), + label: labels.label, + required: props.required + }), /*#__PURE__*/_react.default.createElement("div", { + className: "slds-form-element__control" + }, /*#__PURE__*/_react.default.createElement("div", { + className: "slds-combobox-group" + }, /*#__PURE__*/_react.default.createElement("div", { + className: "slds-combobox_object-switcher slds-combobox-addon_start" + }, props.entityCombobox), /*#__PURE__*/_react.default.createElement("div", { + className: "slds-combobox_container slds-combobox-addon_end" + }, mainCombobox)))) : mainCombobox; + } + }]); + + return Combobox; +}(_react.default.Component); + +Combobox.contextTypes = { + iconPath: _propTypes.default.string +}; +Combobox.displayName = _constants.COMBOBOX; +Combobox.propTypes = propTypes; +Combobox.defaultProps = defaultProps; +var _default = Combobox; +exports.default = _default; \ No newline at end of file diff --git a/components/combobox/component.json b/components/combobox/component.json new file mode 100644 index 0000000000..06fe7d5647 --- /dev/null +++ b/components/combobox/component.json @@ -0,0 +1,66 @@ +{ + "component": "combobox", + "status": "prod", + "display-name": "Comboboxes", + "classKey": "Combobox", + "last-accessibility-review": { + "date-iso-8601": "2017/08/21", + "commit-sha": "295a4766f712a5f93743c4ecd3ba62d91c1fc153" + }, + "SLDS-component-path": "/components/combobox", + "site-stories": [ + { + "heading": "Base", + "path": "/__examples__/base.jsx" + }, + { + "heading": "Base: With subheader", + "path": "/__examples__/base-menu-subheader.jsx" + }, + { + "heading": "Base: Inherit Menu Width", + "path": "/__examples__/base-inherit-menu-width.jsx" + }, + { + "heading": "Base: Predefined options only", + "path": "/__examples__/base-predefined-options-only.jsx" + }, + { + "heading": "Base With Scroll", + "path": "/__examples__/base-with-scroll.jsx" + }, + { + "heading": "Base: With dialog", + "path": "/__examples__/dialog.jsx" + }, + { + "heading": "Inline single selection", + "path": "/__examples__/inline-single.jsx" + }, + { + "heading": "Inline: Single Selection with Entity Selection", + "path": "/__examples__/inline-single-entity-combobox.jsx" + }, + { + "heading": "Inline: Single Selection with Search and Add Menu Items", + "path": "/__examples__/inline-single-search-add-entities.jsx" + }, + { + "heading": "Inline: Multiple Selection with Loading State", + "path": "/__examples__/inline-multiple-loading.jsx" + }, + { + "heading": "Read-only: Single Selection (Picklist)", + "path": "/__examples__/readonly-single.jsx" + }, + { + "heading": "Read-only: Multiple Selection (Picklist)", + "path": "/__examples__/readonly-multiple.jsx" + }, + { + "heading": "Required Input and Error State", + "path": "/__examples__/required-input-error-state.jsx" + } + ], + "url-slug": "comboboxes" +} diff --git a/components/combobox/filter.js b/components/combobox/filter.js new file mode 100644 index 0000000000..477c4d2913 --- /dev/null +++ b/components/combobox/filter.js @@ -0,0 +1,39 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = void 0; + +var _lodash = _interopRequireDefault(require("lodash.escaperegexp")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */ + +/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */ + +/** + * SLDS recommends auto-complete/search inputs menus have a limit of 10 items. + */ +var filter = function filter(_ref) { + var inputValue = _ref.inputValue, + _ref$limit = _ref.limit, + limit = _ref$limit === void 0 ? 10 : _ref$limit, + options = _ref.options, + selection = _ref.selection; + var inputValueRegExp = new RegExp((0, _lodash.default)(inputValue), 'ig'); // eslint-disable-next-line fp/no-mutating-methods + + return options.filter(function (option) { + var searchTermFoundInLabel = option.label ? option.label.match(inputValueRegExp) : false; + var searchTermFoundInSubtitle = option.subTitle ? option.subTitle.match(inputValueRegExp) : false; + var isSeparator = option.type === 'separator'; + var notAlreadySelected = !selection.some(function (sel) { + return sel.id === option.id; + }); + return (!inputValue || isSeparator || searchTermFoundInLabel || searchTermFoundInSubtitle) && notAlreadySelected; + }).splice(0, limit); +}; + +var _default = filter; +exports.default = _default; \ No newline at end of file diff --git a/components/combobox/index.js b/components/combobox/index.js new file mode 100644 index 0000000000..e800624542 --- /dev/null +++ b/components/combobox/index.js @@ -0,0 +1,25 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = void 0; + +var _reactOnclickoutside = _interopRequireDefault(require("react-onclickoutside")); + +var _languageDirection = _interopRequireDefault(require("../utilities/UNSAFE_direction/private/language-direction")); + +var _combobox = _interopRequireDefault(require("./combobox")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */ + +/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */ +// ### onClickOutside +// Listen for clicks that occur somewhere in the document, outside of the element itself +var _default = (0, _languageDirection.default)((0, _reactOnclickoutside.default)(_combobox.default, { + excludeScrollbar: true +})); + +exports.default = _default; \ No newline at end of file diff --git a/components/combobox/private/menu.d.ts b/components/combobox/private/menu.d.ts new file mode 100644 index 0000000000..4a1f8ae489 --- /dev/null +++ b/components/combobox/private/menu.d.ts @@ -0,0 +1,115 @@ +declare module '@salesforce/design-system-react/components/combobox/private/menu' { + import React from 'react'; + type Props = { + /* + * Active descendant in menu + */ + activeOption?: Record; + /* + * Index of active descendant in menu + */ + activeOptionIndex?: number; + /** + * CSS classes to be added to container `div` tag. Uses `classNames` [API](https://github.com/JedWatson/classnames). + */ + className?: any[] | Record | string; + /** + * CSS classes to be added to tag with `.slds-dropdown`. Uses `classNames` [API](https://github.com/JedWatson/classnames). + */ + classNameMenu?: any[] | Record | string; + /** + * CSS classes to be added to menu sub header `span` tag. Uses `classNames` [API](https://github.com/JedWatson/classnames). + */ + classNameMenuSubHeader?: any[] | Record | string; + /** + * Sets the dialog width to the width of one of the following: + * `target`: (Menus attached to `input` typically follow this UX pattern), + * `menu`: Consider setting a menuMaxWidth if using this value. If not, width will be set to width of largest menu item. + * 'none' + */ + inheritWidthOf?: 'target' | 'menu' | 'none'; + /* + * Id used for assistive technology + */ + inputId?: string; + /** + * Determines the height of the menu based on SLDS CSS classes. + */ + itemVisibleLength?: 5 | 7 | 10; + /** + * **Text labels for internationalization** + * This object is merged with the default props object on every render. + * * `noOptionsFound`: Custom message that renders when no matches found. The default empty state is just text that says, 'No matches found.'. + */ + labels?: Partial<{ + noOptionsFound?: React.ReactNode | string; + /*.isRequired*/ + }>; + /** + * Accepts a custom menu item rendering function that becomes a custom component and is passed in the following props: + * * `assistiveText`: Object, `assistiveText` prop that is passed into Combobox + * * `option`: Object, option data for item being rendered that is passed into Combobox + * * `selected`: Boolean, allows rendering of `assistiveText.optionSelectedInMenu` in Readonly Combobox + * + * _Tested with snapshot testing._ + */ + onRenderMenuItem?: (v: any) => any; + /** + * Accepts a ref function or object (React.createRef() or otherwise) to store the menu DOM reference once available + */ + menuRef?: ((v: any) => any) | Record; + /* + * Sets a maximum width that the menu will be if `inheritWidthOf` is menu. + */ + maxWidth?: string; + /* + * Callback when option is selected with keyboard or mouse + */ + onSelect?: (v: any) => any; + /* + * Menu options + */ + options?: any[]; + /* + * Callback to remove active descendent + */ + resetActiveOption?: (v: any) => any; + /* + * Selected options + */ + selection?: any[]; + /* + * Adds loading spinner below the options + */ + hasMenuSpinner?: boolean; + /* + * Object for creating Add item below the options + */ + optionsAddItem?: Partial<{ + id?: string; + icon?: React.ReactNode; + label?: string | ((v: any) => any); + }>[]; + /* + * Object for creating Search item on top of the options + */ + optionsSearchEntity?: Partial<{ + id?: string; + icon?: React.ReactNode; + label?: string | ((v: any) => any); + }>[]; + /** + * Accepts a tooltip that is displayed when hovering on disabled menu items. + */ + tooltipMenuItemDisabled?: React.ReactElement; + /** + * Changes styles of the menu option + */ + variant?: 'icon-title-subtitle' | 'checkbox'; + isSelected?: (v: any) => any; + assistiveText?: Record; + }; + + function Component(props: Props): React.ReactNode; + export default Component; +} diff --git a/components/combobox/private/menu.js b/components/combobox/private/menu.js new file mode 100644 index 0000000000..c1f4827ec3 --- /dev/null +++ b/components/combobox/private/menu.js @@ -0,0 +1,469 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = void 0; + +var _react = _interopRequireDefault(require("react")); + +var _propTypes = _interopRequireDefault(require("prop-types")); + +var _lodash = _interopRequireDefault(require("lodash.isequal")); + +var _classnames = _interopRequireDefault(require("classnames")); + +var _icon = _interopRequireDefault(require("../../icon")); + +var _spinner = _interopRequireDefault(require("../../spinner")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; } + +function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; } + +function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); } + +function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); } + +function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } + +function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); } + +function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && Symbol.iterator in Object(iter)) return Array.from(iter); } + +function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); } + +function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; } + +function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var propTypes = { + /* + * Active descendant in menu + */ + activeOption: _propTypes.default.object, + + /* + * Index of active descendant in menu + */ + activeOptionIndex: _propTypes.default.number, + + /** + * CSS classes to be added to container `div` tag. Uses `classNames` [API](https://github.com/JedWatson/classnames). + */ + className: _propTypes.default.oneOfType([_propTypes.default.array, _propTypes.default.object, _propTypes.default.string]), + + /** + * CSS classes to be added to tag with `.slds-dropdown`. Uses `classNames` [API](https://github.com/JedWatson/classnames). + */ + classNameMenu: _propTypes.default.oneOfType([_propTypes.default.array, _propTypes.default.object, _propTypes.default.string]), + + /** + * CSS classes to be added to menu sub header `span` tag. Uses `classNames` [API](https://github.com/JedWatson/classnames). + */ + classNameMenuSubHeader: _propTypes.default.oneOfType([_propTypes.default.array, _propTypes.default.object, _propTypes.default.string]), + + /** + * Sets the dialog width to the width of one of the following: + * `target`: (Menus attached to `input` typically follow this UX pattern), + * `menu`: Consider setting a menuMaxWidth if using this value. If not, width will be set to width of largest menu item. + * 'none' + */ + inheritWidthOf: _propTypes.default.oneOf(['target', 'menu', 'none']), + + /* + * Id used for assistive technology + */ + inputId: _propTypes.default.string, + + /** + * Determines the height of the menu based on SLDS CSS classes. + */ + itemVisibleLength: _propTypes.default.oneOf([5, 7, 10]), + + /** + * **Text labels for internationalization** + * This object is merged with the default props object on every render. + * * `noOptionsFound`: Custom message that renders when no matches found. The default empty state is just text that says, 'No matches found.'. + */ + labels: _propTypes.default.shape({ + noOptionsFound: _propTypes.default.oneOfType([_propTypes.default.node, _propTypes.default.string]).isRequired + }), + + /** + * Accepts a custom menu item rendering function that becomes a custom component and is passed in the following props: + * * `assistiveText`: Object, `assistiveText` prop that is passed into Combobox + * * `option`: Object, option data for item being rendered that is passed into Combobox + * * `selected`: Boolean, allows rendering of `assistiveText.optionSelectedInMenu` in Readonly Combobox + * + * _Tested with snapshot testing._ + */ + onRenderMenuItem: _propTypes.default.func, + + /** + * Accepts a ref function or object (React.createRef() or otherwise) to store the menu DOM reference once available + */ + menuRef: _propTypes.default.oneOfType([_propTypes.default.func, _propTypes.default.object]), + + /* + * Sets a maximum width that the menu will be if `inheritWidthOf` is menu. + */ + maxWidth: _propTypes.default.string, + + /* + * Callback when option is selected with keyboard or mouse + */ + onSelect: _propTypes.default.func, + + /* + * Menu options + */ + options: _propTypes.default.array, + + /* + * Callback to remove active descendent + */ + resetActiveOption: _propTypes.default.func, + + /* + * Selected options + */ + selection: _propTypes.default.array, + + /* + * Adds loading spinner below the options + */ + hasMenuSpinner: _propTypes.default.bool, + + /* + * Object for creating Add item below the options + */ + optionsAddItem: _propTypes.default.arrayOf(_propTypes.default.shape({ + id: _propTypes.default.string, + icon: _propTypes.default.node, + label: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.func]) + })), + + /* + * Object for creating Search item on top of the options + */ + optionsSearchEntity: _propTypes.default.arrayOf(_propTypes.default.shape({ + id: _propTypes.default.string, + icon: _propTypes.default.node, + label: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.func]) + })), + + /** + * Accepts a tooltip that is displayed when hovering on disabled menu items. + */ + tooltipMenuItemDisabled: _propTypes.default.element, + + /** + * Changes styles of the menu option + */ + variant: _propTypes.default.oneOf(['icon-title-subtitle', 'checkbox']), + isSelected: _propTypes.default.func, + assistiveText: _propTypes.default.object +}; +var defaultProps = { + inputValue: '', + menuRef: function menuRef() {}, + optionsAddItem: [], + optionsSearchEntity: [] +}; + +var getOptions = function getOptions(props) { + // use of array.push() is OK, because the array is created on each render + var options = []; + + if (props.optionsSearchEntity.length > 0) { + var localOptionsSearchEntity = props.optionsSearchEntity.map(function (entity) { + return _objectSpread(_objectSpread({}, entity), {}, { + type: 'header' + }); + }); // eslint-disable-next-line fp/no-mutating-methods + + options.push.apply(options, _toConsumableArray(localOptionsSearchEntity)); + } // eslint-disable-next-line fp/no-mutating-methods + + + options.push.apply(options, _toConsumableArray(props.options)); + + if (props.optionsAddItem.length > 0) { + var localOptionsAddItem = props.optionsAddItem.map(function (entity) { + return _objectSpread(_objectSpread({}, entity), {}, { + type: 'footer' + }); + }); // eslint-disable-next-line fp/no-mutating-methods + + options.push.apply(options, _toConsumableArray(localOptionsAddItem)); + } + + return options; +}; + +var setBold = function setBold(label, searchTerm) { + if (!label || label.length === 0 || !searchTerm || searchTerm.length === 0) { + return label; + } + + var position = label.toLowerCase().indexOf(searchTerm.toLowerCase()); + + if (position > -1) { + return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, label.substr(0, position), /*#__PURE__*/_react.default.createElement("span", { + key: "bold", + className: "slds-text-title_bold" + }, "".concat(label.substr(position, searchTerm.length))), label.substr(position + searchTerm.length)); + } + + return label; +}; + +var renderLabel = function renderLabel(labelProp, searchTerm) { + if (labelProp == null || typeof labelProp === 'string') { + return labelProp; + } + + return labelProp(searchTerm); +}; + +var Menu = function Menu(props) { + var maxWidth = props.inheritWidthOf === 'menu' ? 'inherit' : undefined; + maxWidth = props.inheritWidthOf === 'menu' && props.maxWidth ? props.maxWidth : maxWidth; // .slds-dropdown sets the menu to absolute positioning, since it has a relative parent. Absolute positioning removes clientHeight and clientWidth which Popper.js needs to absolute position the menu's wrapping div. Absolute positioning an already absolute positioned element doesn't work. Setting the menu's position to relative allows PopperJS to work it's magic. + + var menuOptions = getOptions(props).map(function (optionData, index) { + var active = index === props.activeOptionIndex && props.activeOption && (0, _lodash.default)(optionData.id, props.activeOption.id); + var selected = props.isSelected({ + selection: props.selection, + option: optionData + }) && (optionData.type !== 'header' || optionData.type === 'footer'); + var MenuItem = props.onRenderMenuItem; + + if (optionData.type === 'separator') { + return optionData.label ? /*#__PURE__*/_react.default.createElement("li", { + className: "slds-dropdown__header slds-truncate", + title: optionData.label, + role: "separator", + key: "menu-separator-".concat(optionData.id) + }, /*#__PURE__*/_react.default.createElement("span", { + className: (0, _classnames.default)('slds-listbox__option-header', props.classNameMenuSubHeader) + }, optionData.label)) : /*#__PURE__*/_react.default.createElement("li", { + className: "slds-has-divider_top-space", + role: "separator", + key: "menu-separator-".concat(optionData.id) + }); + } + + if (optionData.type === 'header') { + return /*#__PURE__*/_react.default.createElement("li", { + key: "menu-header-".concat(optionData.id, "}"), + role: "presentation", + className: "slds-listbox__item" + }, /*#__PURE__*/_react.default.createElement("div", { + onClick: optionData.disabled ? null : function (event) { + props.onSelect(event, { + option: optionData + }); + }, + "aria-selected": active, + id: "".concat(props.inputId, "-listbox-option-").concat(optionData.id), + className: (0, _classnames.default)('slds-media slds-listbox__option', 'slds-listbox__option_entity slds-listbox__option_term', { + 'slds-has-focus': active + }), + role: "option" + }, /*#__PURE__*/_react.default.createElement("span", { + className: "slds-media__figure slds-listbox__option-icon" + }, optionData.icon), /*#__PURE__*/_react.default.createElement("span", { + className: "slds-media__body" + }, renderLabel(optionData.label, props.inputValue)))); + } + + if (optionData.type === 'footer') { + return /*#__PURE__*/_react.default.createElement("li", { + key: "menu-footer-".concat(optionData.id, "}"), + role: "presentation", + className: "slds-listbox__item" + }, /*#__PURE__*/_react.default.createElement("div", { + "aria-selected": active, + onClick: optionData.disabled ? null : function (event) { + props.onSelect(event, { + option: optionData + }); + }, + id: "".concat(props.inputId, "-listbox-option-").concat(optionData.id), + className: (0, _classnames.default)('slds-media slds-listbox__option', 'slds-listbox__option_entity slds-listbox__option_term', { + 'slds-has-focus': active + }), + role: "option" + }, /*#__PURE__*/_react.default.createElement("span", { + className: "slds-media__figure slds-listbox__option-icon" + }, optionData.icon), /*#__PURE__*/_react.default.createElement("span", { + className: "slds-media__body" + }, renderLabel(optionData.label, props.inputValue)))); + } + + var disabledProps = {}; + var tooltipId = "".concat(props.inputId, "-listbox-option-help-").concat(optionData.id); + + if (optionData.disabled && props.tooltipMenuItemDisabled && active) { + disabledProps['aria-describedby'] = tooltipId; + } + + if (optionData.disabled) { + disabledProps['aria-disabled'] = !!optionData.disabled; + disabledProps.style = { + cursor: 'default' + }; // Replace this with a css class name once SLDS has it. + } + + var menuItem = { + 'icon-title-subtitle': /*#__PURE__*/_react.default.createElement("span", _extends({ + "aria-selected": active + }, disabledProps, { + id: "".concat(props.inputId, "-listbox-option-").concat(optionData.id), + key: "menu-subtitle-".concat(optionData.id), + className: (0, _classnames.default)('slds-media slds-listbox__option', 'slds-listbox__option_entity slds-listbox__option_has-meta', { + 'slds-has-focus': active + }), + onClick: optionData.disabled ? null : function (event) { + props.onSelect(event, { + option: optionData + }); + }, + role: "option" + }), optionData.icon && !props.onRenderMenuItem ? /*#__PURE__*/_react.default.createElement("span", { + className: "slds-media__figure" + }, optionData.icon) : null, props.onRenderMenuItem ? /*#__PURE__*/_react.default.createElement(MenuItem, { + assistiveText: props.assistiveText, + selected: selected, + option: optionData + }) : /*#__PURE__*/_react.default.createElement("span", { + className: "slds-media__body" + }, /*#__PURE__*/_react.default.createElement("span", { + className: (0, _classnames.default)('slds-listbox__option-text', 'slds-listbox__option-text_entity', { + 'slds-disabled-text': optionData.disabled + }) + }, setBold(optionData.label, props.inputValue)), /*#__PURE__*/_react.default.createElement("span", { + className: (0, _classnames.default)('slds-listbox__option-meta slds-listbox__option-meta_entity', { + 'slds-disabled-text': optionData.disabled + }) + }, setBold(optionData.subTitle, props.inputValue)))), + checkbox: /*#__PURE__*/_react.default.createElement("span", _extends({ + // eslint-disable-line jsx-a11y/no-static-element-interactions + "aria-selected": active + }, disabledProps, { + id: "".concat(props.inputId, "-listbox-option-").concat(optionData.id), + key: "menu-checkbox-".concat(optionData.id), + className: (0, _classnames.default)('slds-media slds-listbox__option', ' slds-listbox__option_plain slds-media_small slds-media_center', { + 'slds-has-focus': active, + 'slds-is-selected': selected + }), + onClick: optionData.disabled ? null : function (event) { + props.onSelect(event, { + selection: props.selection, + option: optionData + }); + }, + role: "option" + }), /*#__PURE__*/_react.default.createElement("span", { + className: "slds-media__figure" + }, /*#__PURE__*/_react.default.createElement(_icon.default, { + className: "slds-listbox__icon-selected", + category: "utility", + name: "check", + size: "x-small" + })), /*#__PURE__*/_react.default.createElement("span", { + className: "slds-media__body" + }, props.onRenderMenuItem ? /*#__PURE__*/_react.default.createElement(MenuItem, { + assistiveText: props.assistiveText, + selected: selected, + option: optionData + }) : /*#__PURE__*/_react.default.createElement("span", { + className: (0, _classnames.default)('slds-truncate', { + 'slds-disabled-text': optionData.disabled + }), + title: optionData.label + }, selected ? /*#__PURE__*/_react.default.createElement("span", { + className: "slds-assistive-text" + }, props.assistiveText.optionSelectedInMenu) : null, ' ', optionData.label))) + }; + var item; + + if (optionData.disabled && props.tooltipMenuItemDisabled) { + var _props$tooltipMenuIte = props.tooltipMenuItemDisabled.props, + content = _props$tooltipMenuIte.content, + userDefinedTooltipProps = _objectWithoutProperties(_props$tooltipMenuIte, ["content"]); + + var tooltipProps = _objectSpread({ + align: 'top', + content: optionData.tooltipContent || content, + // either use specific content defined on option or content defined on tooltip component. + id: tooltipId, + position: 'absolute', + silenceTriggerTabbableWarning: true, + triggerStyle: { + width: '100%' + } + }, userDefinedTooltipProps); + + if (active) { + // allows showing the tooltip on keyboard navigation to disabled menu item + tooltipProps.isOpen = true; + } + + item = /*#__PURE__*/_react.default.cloneElement(props.tooltipMenuItemDisabled, tooltipProps, menuItem[props.variant]); + } else { + item = menuItem[props.variant]; + } + + return /*#__PURE__*/_react.default.createElement("li", { + className: "slds-listbox__item", + key: "menu-option-".concat(optionData.id), + role: "presentation" + }, item); + }); + return /*#__PURE__*/_react.default.createElement("ul", { + className: (0, _classnames.default)('slds-listbox slds-listbox_vertical slds-dropdown slds-dropdown_fluid', { + 'slds-dropdown_length-with-icon-5': props.itemVisibleLength === 5, + 'slds-dropdown_length-with-icon-7': props.itemVisibleLength === 7, + 'slds-dropdown_length-with-icon-10': props.itemVisibleLength === 10 + }, props.classNameMenu), + ref: props.menuRef, + role: "presentation", + style: { + width: props.inheritWidthOf === 'menu' ? 'auto' : undefined, + maxWidth: maxWidth, + position: props.menuPosition !== 'relative' ? 'relative' : undefined + } + }, menuOptions.length ? menuOptions : /*#__PURE__*/_react.default.createElement("li", { + className: "slds-listbox__item slds-listbox__status", + role: "status", + "aria-live": "polite" + }, /*#__PURE__*/_react.default.createElement("span", { + className: "slds-m-left_x-large slds-p-vertical_medium" + }, props.labels.noOptionsFound)), props.hasMenuSpinner && /*#__PURE__*/_react.default.createElement("li", { + role: "presentation", + className: "slds-listbox__item" + }, /*#__PURE__*/_react.default.createElement("div", { + className: "slds-align_absolute-center slds-p-top_medium" + }, /*#__PURE__*/_react.default.createElement(_spinner.default, { + assistiveText: { + label: props.assistiveText.loadingMenuItems + }, + hasContainer: false, + isInline: true, + size: "x-small" + })))); +}; + +Menu.displayName = 'Menu'; +Menu.propTypes = propTypes; +Menu.defaultProps = defaultProps; +var _default = Menu; +exports.default = _default; \ No newline at end of file diff --git a/components/comments.txt b/components/comments.txt new file mode 100644 index 0000000000..7a233f4476 --- /dev/null +++ b/components/comments.txt @@ -0,0 +1,102 @@ +/Users/vu/forks/design-system-react/components/visual-picker/index.jsx:58:\n\n/**\n * Visual Picker Component\n */\n +/Users/vu/forks/design-system-react/components/utilities/menu-list/index.jsx:20:\n\n/**\n * Component description.\n */\n +/Users/vu/forks/design-system-react/components/progress-indicator/private/step-vertical.jsx:45:\n\n/**\n * StepVertical renders a step icon and its step label if applied\n */\n +/Users/vu/forks/design-system-react/components/notification/index.jsx:53:\n\n/**\n * The Notification component is the Alert and Toast variants of the Lightning Design System Notification component. For prompt notifications, use the Modal component with prompt={true}.\n * The Notification opens from a state change outside of the component itself (pass this state to the isOpen prop).\n */\n +/Users/vu/forks/design-system-react/components/badge/index.jsx:19:\n\n/**\n * Badges are labels which hold small amounts of information.\n */\n +/Users/vu/forks/design-system-react/components/data-table/row-actions.jsx:20:\n\n/**\n * RowActions provide a mechanism for defining a menu to display alongside each row in the DataTable.\n */\n +/Users/vu/forks/design-system-react/components/progress-indicator/index.jsx:176:\n\n/**\n * Progress Indicator is a component that communicates to the user the progress of a particular process.\n */\n +/Users/vu/forks/design-system-react/components/visual-picker/link.jsx:41:\n\n/**\n * Visual Picker Link Component\n */\n +/Users/vu/forks/design-system-react/components/alert/container.jsx:24:\n\n/**\n * A fixed container for alert banners.\n */\n\n +/Users/vu/forks/design-system-react/components/location-map/index.jsx:97:\n\n/**\n * A location map component is used to find and show locations\n */\n +/Users/vu/forks/design-system-react/components/progress-indicator/private/progress-bar.jsx:19:\n/**\n * ProgressBar renders the blue/gray progress bar and dynamically updates its completion percentage\n */\n +/Users/vu/forks/design-system-react/components/global-header/favorites.jsx:45:\n\n/**\n * A GlobalHeaderFavorites component. The favorites action is used to "favorite" a commonly used page within a user's experience. When a user "favorites" a page by pressing the favorites action, the button icon changes color with a small animation to confirm your selection.\n */\n +/Users/vu/forks/design-system-react/components/utilities/dialog/index.jsx:32:\n\n/*\n * A Dialog is content that is separate from the typical flow of a page. It typically overlays other elements in the document flow. This is achieved with elevation (`z-index`) and one of the following: relative position, absolute position, or a new top-level React render tree (portal). A boundary element is a scrolling ancestor element or the edge of the browser (window/viewport). This element typically has an overflow (overflow-y/overflow-x) style that is scroll, hidden, or auto. Inverted placement is the flipping of the overlay element from top to bottom or left to right in order stay within a boundary element.\n *\n * * Dropdown menu (Combobox, DatePicker, et al.) placement is typically bottom-aligned and should be allowed to invert its placement when inside a boundary element this often happens within a modal. Dropdowns should not overflow boundary elements , since most boundary elements scroll vertically and have space for the menu.\n *\n * * If they are hidden, left and right placed overlay elements (such as Popover and Tooltip) should be placed within a portal element attached to the DOM , but styled to align to its target/trigger. Since scrolling typically occurs on the vertical axis, this allows them to overflow boundary elements and still allow scrolling of content, yet still invert placement for the browser viewport. Portal elements are only necessary if an original ancestor boundary element exists. **No portals are created by default.**\n *\n * * Nubbins/arrows should be repositioned for any new placement/alignment.\n *\n * Allow Overflowing of Boundary Element: Allow applications to create a portal element attached to the DOM to be outside of boundary elements if manual testing shows confusing alignment/poor usability/readability. This should be exception and not the default.\n *\n * Allow Inverted placement: Allow applications to prevent inverted placement if manual testing shows confusing alignment/poor usability/readability.\n *\n * ### How this new Dialog component works\n * * There is no longer an inline render within components. All overlays should go through `Dialog`. `position: relative` just passes on the markup with some additional event listeners. No positional library is used.\n * * The default `position: absolute` will run through three renders. It will first render the overlay at `0px/0px` offset of its parent. It will then store the target DOM node, once the DOM node is set, a state change will occur and tell a PopperJS instance to be created on update, once it is created, a third render is done to update the styles created by PopperJS.\n * * `position: overflowBoundaryElement` will do the same three renders as `absolute` except that the initial render will create a disconnected render tree (portal) on the `body`. Then, the position will change once the target is stored. The portal itself will be rendered multiple times. The first will result in `onOpen` executing. Each update will result in a re-render of the disconnected render-tree.\n *\n * This component is private.\n */\n +/Users/vu/forks/design-system-react/components/global-header/private/dropdown-trigger.jsx:25:\n\n/**\n * The Dropdown Button Trigger renders the default trigger button for the dropdown menu. If this component has children, it does not render itself to the DOM. Instead, it renders its child element, `Button`, and all that child's properties. This component may be used as a template to create custom triggers that do not use `Button`.\n */\n +/Users/vu/forks/design-system-react/components/progress-indicator/private/step.jsx:97:\n\n/**\n * Step renders a button icon and its tooltip if applied.\n * The button is applied with different css classes under different conditions.\n * Button icons have 4 types of status: completed (success), active (in progress), error (warning) and uncompleted (not approached)\n */\n +/Users/vu/forks/design-system-react/components/global-header/setup.jsx:28:\n\n/**\n * A GlobalHeaderSetup component.\n */\n +/Users/vu/forks/design-system-react/components/utilities/menu-list/item.jsx:28:\n\n/**\n * Component description.\n */\n +/Users/vu/forks/design-system-react/components/data-table/index.jsx:60:\n\n/**\n * DataTables support the display of structured data in rows and columns with an HTML table. To sort, filter or paginate the table, simply update the data passed in the items to the table and it will re-render itself appropriately. The table will throw a sort event as needed, and helper components for paging and filtering are coming soon.\n *\n * NOTE: for horizontal scrolling with `fixedHeader`-enabled DataTables, see the `style` property description\n */\n +/Users/vu/forks/design-system-react/components/radio-group/index.jsx:79:\n\n/**\n * A styled select list that can have a single entry checked at any one time.\n * The RadioGroup component wraps [Radio](/components/radios) components, which should be used as children.\n */\n +/Users/vu/forks/design-system-react/components/global-header/profile.jsx:21:\n\n/**\n * This component is an `Avatar` component that opens a `Popover` component when clicked.\n */\n +/Users/vu/forks/design-system-react/components/progress-indicator/private/progress.jsx:53:\n\n/**\n * Progress renders all step buttons and a container wrapping these buttongs and a progress bar\n */\n +/Users/vu/forks/design-system-react/components/vertical-navigation/index.jsx:27:\n\n/**\n * Vertical Navigation represents a list of links that either take the user to another page or parts of the page the user is in.\n */\n +/Users/vu/forks/design-system-react/components/global-header/help.jsx:27:\n\n/**\n * A GlobalHeaderHelp component.\n */\n +/Users/vu/forks/design-system-react/components/app-launcher/section.jsx:38:\n\n/**\n * App Launcher Sections allow users to categorize App Tiles as well as toggle their display\n */\n\n +/Users/vu/forks/design-system-react/components/data-table/private/head.jsx:14:\n\n/**\n * Used internally, provides header row rendering to the DataTable.\n */\n +/Users/vu/forks/design-system-react/components/time-picker/index.jsx:54:\n\n/**\n * Component description.\n */\n +/Users/vu/forks/design-system-react/components/textarea/index.jsx:36:\n\n/**\n * A multi-line plain-text editing control.\n */\n +/Users/vu/forks/design-system-react/components/data-table/private/row.jsx:23:\n\n/**\n * Used internally, provides row rendering to the DataTable.\n */\n +/Users/vu/forks/design-system-react/components/time-picker/private/dropdown-trigger.jsx:20:\n\n/**\n * Component description.\n */\n +/Users/vu/forks/design-system-react/components/app-launcher/index.jsx:30:\n\n/**\n * The App Launcher allows the user to quickly access all the apps and functionality with their organization.\n * The App Launcher should generally only be used as a sub-component of the [Global Navigation Bar](/components/global-navigation-bar)\n *\n * USAGE EXAMPLE:\n * ```\n * \n * \n * \n * \n * \n * \n * \n * \n * \n * \n * \n * ```\n *\n * By default, `Modal`, a child component of App Launcher, will add `aria-hidden=true` to the `body` tag, but this disables some assistive technologies. To prevent this you can add the following to your application with `#mount` being the root node of your application that you would like to hide from assistive technologies when the `Modal` is open.\n * ```\n * import settings from 'design-system-react/components/settings';\n * settings.setAppElement('#mount');\n * ```\n */\n +/Users/vu/forks/design-system-react/components/app-launcher/link.jsx:21:\n\n/**\n * App Launcher Link component creates simple links to be used in "All Items" sections\n */\n +/Users/vu/forks/design-system-react/components/data-table/column.jsx:12:\n\n// extends is used below so that react-docgen can detect the component\n\n/**\n * Columns define the structure of the data displayed in the DataTable.\n */\n +/Users/vu/forks/design-system-react/components/media-object/index.jsx:22:\n\n/**\n * When you need text and a figure next to each other, use a media object.\n */\n +/Users/vu/forks/design-system-react/components/expandable-section/index.jsx:69:\n\n/**\n * Toggle visibility of section content with the Expandable Section\n */\n +/Users/vu/forks/design-system-react/components/app-launcher/expandable-section.jsx:28:\n\n/**\n * App Launcher Sections allow users to categorize App Tiles & Links as well as toggle their display. It is a superset of components/expandable-section with content formatting.\n * All Expandable Section props are compatible with props passed to this component.\n */\n +/Users/vu/forks/design-system-react/components/welcome-mat/tile.jsx:78:\n\n/**\n * Tile component item represents a tile in a Welcome Mat\n */\n +/Users/vu/forks/design-system-react/components/data-table/private/header-cell.jsx:26:\n\n/**\n * Used internally, renders each individual column heading.\n */\n +/Users/vu/forks/design-system-react/components/dynamic-icon/index.jsx:89:\n\n/**\n * A set of delightful animated icons.\n */\n +/Users/vu/forks/design-system-react/components/welcome-mat/info-badge.jsx:56:\n\n/**\n * InfoBadge component item represents a tile in a Welcome Mat\n */\n +/Users/vu/forks/design-system-react/components/app-launcher/tile.jsx:96:\n\n/**\n * App Launcher Tiles provide information and links to a user's apps\n */\n +/Users/vu/forks/design-system-react/components/panel/index.jsx:19:\n\n/**\n * A panel provides detailed contextual information or contextual filtering options. [Filter](/components/filters/) component should be used as children. Menus within a Filter Popover will need to not have "portal mounts" and be inline. */\n +/Users/vu/forks/design-system-react/components/progress-ring/index.jsx:76:\n\n/**\n * Customizable and configurable progress ring. Will display progress in a circular progress bar factor, and is capable of displaying iconography inside of the ring structure.\n */\n +/Users/vu/forks/design-system-react/components/button-group/index.jsx:61:\n\n/**\n * The ButtonGroup component wraps other components (ie. Button, MenuDropdown, PopoverTooltip, Checkboxes, etc).\n */\n +/Users/vu/forks/design-system-react/components/tooltip/index.jsx:163:\n\n/**\n * The PopoverTooltip component is variant of the Lightning Design System Popover component. This component wraps an element that triggers it to open. It must be a focusable child element (either a button or an anchor), so that keyboard users can navigate to it.\n */\n +/Users/vu/forks/design-system-react/components/radio/index.jsx:129:\n\n/**\n * A radio input that can have a single input checked at any one time. Radios should be wrapped with\n * a [RadioGroup](/components/radio-group) or [RadioButtonGroup](/components/radio-button-group)\n */\n +/Users/vu/forks/design-system-react/components/modal/index.jsx:180:\n\n/**\n * The Modal component is used for the Lightning Design System Modal and Notification > Prompt components. The Modal opens from a state change outside of the component itself (pass this state to the isOpen prop). For more details on the Prompt markup, please review the Notifications > Prompt.\n *\n * By default, `Modal` will add `aria-hidden=true` to the `body` tag, but this disables some assistive technologies. To prevent this you can add the following to your application with `#mount` being the root node of your application that you would like to hide from assistive technologies when the `Modal` is open.\n * ```\n * import settings from 'design-system-react/components/settings';\n * settings.setAppElement('#mount');\n * ```\n * This component uses a portalMount (a disconnected React subtree mount) to create a modal as a child of `body`.\n */\n +/Users/vu/forks/design-system-react/components/forms/input/inline.jsx:97:\n\n/**\n * An inline input is rendered as a label by default. When clicked (or tabbed in), it's rendered as an input. When the focus is lost, the current input value is saved and the input is rendered as a label again.\n */\n +/Users/vu/forks/design-system-react/components/split-view/index.jsx:77:\n\n/**\n * Split view is used to navigate between records in a list while staying on the same screen.\n */\n +/Users/vu/forks/design-system-react/components/split-view/listbox.jsx:116:\n\n/**\n * The menu with the ARIA role of a listbox.\n */\n +/Users/vu/forks/design-system-react/components/menu-dropdown/button-trigger.jsx:21:\n\n/**\n * The Dropdown Button Trigger renders the default trigger button for the dropdown menu. If this component has children, it does not render itself to the DOM. Instead, it renders its child element, `Button`, and all that child's properties. This component may be used as a template to create custom triggers that do not use `Button`.\n */\n +/Users/vu/forks/design-system-react/components/split-view/private/list-item-with-content.jsx:70:\n +/Users/vu/forks/design-system-react/components/global-navigation-bar/region.jsx:76:\n\n/* eslint-enable react/display-name */\n\n/**\n * Regions make up a GlobalNavigation Bar and typically contain links and dropdowns. The Primary region contains the AppSwitcher, Application Name, and Object Switcher. The secondary region typically has navigation betweens sections of the application. The tertiary region is aligned to the right side of the screen and contains shortcuts or actions.\n */\n +/Users/vu/forks/design-system-react/components/combobox/combobox.jsx:407:\n\n/**\n * A widget that provides a user with an input field that is either an autocomplete or readonly, accompanied with a listbox of pre-definfined options.\n */\n +/Users/vu/forks/design-system-react/components/scoped-notification/index.jsx:43:\n\n/**\n * A Scoped Notification Component serve advisory information for the user that is not important enough to justify an alert.\n */\n +/Users/vu/forks/design-system-react/components/global-navigation-bar/dropdown-trigger.jsx:26:\n\n/**\n * The Dropdown Button Trigger renders the default trigger button for the dropdown menu. If this component has children, it does not render itself to the DOM. Instead, it renders its child element, `Button`, and all that child's properties. This component may be used as a template to create custom triggers that do not use `Button`.\n */\n +/Users/vu/forks/design-system-react/components/welcome-mat/index.jsx:85:\n\n/**\n * A Welcome Mat provides a series of unordered items a user can click to learn about a thematic topic.\n */\n +/Users/vu/forks/design-system-react/components/color-picker/index.jsx:235:\n\n/**\n * The Unified Color Picker component allows for a fully accessible and configurable color picker, allowing the user to pick from a set of predefined colors (swatches), or to pick a custom color using a HSB selection interface. It can be configured to show one or both of those color selection interfaces. View [component blueprint guidelines](https://lightningdesignsystem.com/components/color-picker/).\n */\n +/Users/vu/forks/design-system-react/components/popover/edit-dialog.jsx:21:\n +/Users/vu/forks/design-system-react/components/setup-assistant/index.jsx:58:\n\n/**\n * Setup Assistant provides Administrators with a centralized list of tasks for\n * onboarding organizations, clouds, or features within the Salesforce Platform.\n */\n +/Users/vu/forks/design-system-react/components/tree/index.jsx:139:\n\n/**\n * A tree is visualization of a structure hierarchy. A branch can be expanded or collapsed. This is a controlled component, since visual state is present in the `nodes` data.\n */\n +/Users/vu/forks/design-system-react/components/menu-dropdown/menu-dropdown.jsx:418:\n\n/**\n * The MenuDropdown component is a variant of the Lightning Design System Menu component. This component\n * may require a polyfill such as [classList](https://github.com/yola/classlist-polyfill) due to\n * [react-onclickoutside](https://github.com/Pomax/react-onclickoutside) if Internet Explorer 11\n * support is needed.\n *\n * This component is wrapped in a [higher order component to listen for clicks outside itself](https://github.com/kentor/react-click-outside) and thus requires use of `ReactDOM`.\n */\n +/Users/vu/forks/design-system-react/components/popover/popover.jsx:83:\n\n/**\n * The Popover component is a non-modal dialog. It should be paired with a clickable trigger such as a `Button`. It traps focus from the page and must be exited if focus needs to be outside the Popover. Use a `Tooltip` if there are no call to actions within the dialog. A `Tooltip` does not need to be clicked. Multiple popovers open at the same time, each with focus trap is not supported.\n */\n +/Users/vu/forks/design-system-react/components/filter/index.jsx:33:\n\n/**\n * A Filter is a popover with custom trigger. It can be used by [Panel Filtering](/components/panels/). Menus within a Filter Popover will need to not have "portal mounts" and be inline.\n */\n +/Users/vu/forks/design-system-react/components/date-picker/private/navigation.jsx:10:\n\n +/Users/vu/forks/design-system-react/components/pill-container/index.jsx:101:\n\n/**\n * A `PillContainer` is a container that holds one or more pills. Use it for a list of pills in a container that resembles an `input` form field. It is not intended for navigation.\n */\n +/Users/vu/forks/design-system-react/components/setup-assistant/step.jsx:98:\n\n/**\n * Setup Assistant Step component is used to specify individual items within the Setup Assistant\n * filled with learning and task links along with a recommended sequence that may have progress tracking\n */\n +/Users/vu/forks/design-system-react/components/date-picker/private/year-picklist.jsx:7:\n\n +/Users/vu/forks/design-system-react/components/date-picker/private/calendar-wrapper.jsx:17:\n\n +/Users/vu/forks/design-system-react/components/expression/condition.jsx:137:\n/**\n * Expression Condition Component\n */\n +/Users/vu/forks/design-system-react/components/date-picker/private/calendar.jsx:8:\n\n +/Users/vu/forks/design-system-react/components/expression/formula.jsx:87:\n/**\n * Expression Formula Component\n */\n +/Users/vu/forks/design-system-react/components/carousel/index.jsx:47:\n\n/**\n * A carousel allows multiple pieces of featured content to occupy an allocated amount of space.\n * Currently panel index and auto play cannot be controlled by the app.\n */\n +/Users/vu/forks/design-system-react/components/expression/index.jsx:83:\n\n/**\n * Expression builders help users declaratively construct logical expressions.\n * These expressions can be used when querying for a filtered set of records,\n * creating rules to control when something executes, or any other conditional logic.\n */\n +/Users/vu/forks/design-system-react/components/lookup/header.jsx:13:\n\n +/Users/vu/forks/design-system-react/components/brand-band/index.jsx:25:\n\n/**\n * The brand band provides theming capability that adds personality and improves information density and contrast.\n *\n * NOTE: you may find that themes other than 'default' fail to load the appropriate styling in your application.\n * If this occurs the cause is very likely to be CSP settings on the server hosting your application protecting against style injections.\n * Changing these settings is not recommended. Instead, add the following styles to any stylesheet provided by the server itself (such as an external stylesheet):\n *\n * When using 'lightning-theme':\n * .slds-brand-band.dsr-brand-band_lightning-blue:before {\n * background-image: url(/assets/images/themes/oneSalesforce/banner-brand-default.png), linear-gradient(to top, rgba(175, 197, 222, 0) 0, #1B5F9E);\n * }\n * .slds-brand-band.dsr-brand-band_lightning-blue:after {\n * background-image: linear-gradient(to bottom, rgba(175, 197, 222, 0) 60%, #AFC5DE);\n * }\n *\n * For more information on the problem, [see this Stack Overflow question](https://stackoverflow.com/questions/17766817/refused-to-apply-inline-style-because-it-violates-the-following-content-security)\n */\n +/Users/vu/forks/design-system-react/components/button-stateful/index.jsx:124:\n\n/**\n * The ButtonStateful component is a variant of the Lightning Design System Button component. It is used for buttons that have a state of unselected or selected.\n * For icon buttons, use variant='icon'. For buttons with labels or buttons with labels and icons, pass data to the state props (ie. stateOne={{iconName: 'add', label: 'Join'}}).\n * Although not listed in the prop table, all `aria-*` props will be added to the button element if passed in.\n * If no `aria-*` props are passed in, aria-live='polite' is used for `icon` and `icon-filled` variants,\n * and aria-live='assertive' is used for the remaining variants.\n */\n +/Users/vu/forks/design-system-react/components/files/file.jsx:109:\n/**\n * File is a component that represents content uploaded as an attachment.\n */\n +/Users/vu/forks/design-system-react/components/files/index.jsx:43:\n\n/**\n * Files is a component that wraps multiple file components that represent an attachment\n */\n +/Users/vu/forks/design-system-react/components/button/index.jsx:30:\n\n/**\n * The Button component is the Lightning Design System Button component. The Button should be used for label buttons, icon buttons, or buttons that have both labels and icons.\n * Either a label or assistiveText.icon is required; see the Prop Details table below. For buttons that maintain selected/unselected states, use the ButtonStateful component.\n * Although not listed in the prop table, all `aria-*` and `form*` props will be added to the `button` element if passed in.\n */\n +/Users/vu/forks/design-system-react/components/expression/group.jsx:117:\n\n/**\n * Expression Group Component\n */\n +/Users/vu/forks/design-system-react/components/files/more-files.jsx:68:\n\n/**\n * MoreFiles is a component that represents a number of file contents uploaded as an attachment.\n */\n +/Users/vu/forks/design-system-react/components/avatar/index.jsx:79:\n\n/**\n * The avatar component represents an object or entity. An image is the preferred format for an avatar.\n If the `imgSrc` prop is undefined, and if a `label` or `initials` prop is available, the fallback avatar will render with initials. If initals are passed in directly in the `initials` prop, this will render in the fallback avatar. If `initals` prop is unavailable but a `label` prop is available, the fallback avatar will render with built initials of the user name or entity name.\n\n Intials built from the `label` prop will apply the following logic: If the label name contains two words, like first and last name, the first letter of each will be capitalized and returned. For labels that only have a single word name, the first two letters of that word, using one capital and one lower case letter, will be returned. For labels that contain three or more words, the first character of the first and last words will be capitalized and returned.\n\n If `initials` or `label` are not available, the fallback avatar will render a standard icon. If `variant='user'`, a user icon will\n render. If `variant='entity'`, an account icon will render.\n */\n\n +/Users/vu/forks/design-system-react/components/date-picker/date-picker.jsx:244:\n\n/**\n * A date picker is a non-text input form element. You can select a single date from a popup calendar. Please use an external library such as [MomentJS](https://github.com/moment/moment/) for date formatting and parsing and internationalization. You will want to use your date library within the `parser` and `formatter` callbacks.\n *\n * The calendar is rendered with time/dates based on local browser time of the client browser. All dates are in the local user's timezones and time. Another way to put it is if a user selects a date, they are actually selecting midnight in their current time on their current day and not mightnight in UTC. If `Datepicker` is paired with a time and timezone input, you may want to convert dates provided by this component to UTC and then combine the date with your time and timezone input.\n *\n * Pairing with any other component besides an `input` is untested.\n *\n * This component is wrapped in a [higher order component to listen for clicks outside itself](https://github.com/kentor/react-click-outside) and thus requires use of `ReactDOM`.\n */\n +/Users/vu/forks/design-system-react/components/lookup/private/menu.jsx:28:\n +/Users/vu/forks/design-system-react/components/utilities/truncate/index.jsx:26:\n\n +/Users/vu/forks/design-system-react/components/lookup/private/item.jsx:27:\n\n +/Users/vu/forks/design-system-react/components/lookup/footer.jsx:13:\n\n +/Users/vu/forks/design-system-react/components/slider/index.jsx:116:\n\n/**\n * The ability to style sliders with CSS varies across browsers. Using this component ensures sliders look the same everywhere.\n */\n +/Users/vu/forks/design-system-react/components/pill/index.jsx:108:\n\n/**\n * A pill displays a label that can contain links and can be removed from view. Use `PillContainer` for a list of pills in a container that resembles an `input` form field. A pill is useful for displaying read-only text that can be added and removed on demand.\n */\n +/Users/vu/forks/design-system-react/components/carousel/private/carousel-indicators.jsx:14:\n\n/**\n * CarouselIndicators is used to display the list of indicators associated to the number of panels\n * a carousel has\n */\n +/Users/vu/forks/design-system-react/components/toast/index.jsx:99:\n\n/**\n * Toast serves as a feedback & confirmation mechanism after the user takes an action. View [banner guidelines](https://www.lightningdesignsystem.com/guidelines/messaging/components/banners/).\n */\n\n +/Users/vu/forks/design-system-react/components/toast/container.jsx:24:\n\n/**\n * A fixed container for toast banners.\n */\n\n +/Users/vu/forks/design-system-react/components/icon-settings/index.jsx:7:\n\n/**\n * The Icon Settings component allows for the path to the icons to be specified in all child components and is recommended to be used at the root of the application. It's render function is `return this.props.children`, so it can only have one child node.\n *\n * **Individual sprites**\n * If you are using webpack it is advised to use the sprite properties\n * {actionSprite, standardSprite...} to specify the individual sprite paths so that webpack can\n * easily re-write the paths.\n * ```\n * import actionSprite from '......';\n *\n * \n * ```\n * **Root icon path**\n * Otherwise use the iconPath to specify the root path to where the icon files will be located in you application\n * such as `/assets/icons`.\n */\n +/Users/vu/forks/design-system-react/components/progress-bar/index.jsx:81:\n\n/**\n * A progress bar component communicates to the user the progress of a particular process\n */\n +/Users/vu/forks/design-system-react/components/checkbox/index.jsx:192:\n\n/**\n * The ability to style checkboxes with CSS varies across browsers. Using this component ensures checkboxes look the same everywhere.\n */\n +/Users/vu/forks/design-system-react/components/global-header/index.jsx:41:\n\n/**\n * The global header is the anchor for the Salesforce platform and spans all other parts of the UI. It accepts children to define the items displayed within.\n *\n * Example:\n * ```\n * \n * \n * \n * \n * \n * \n * \n * ```\n */\n +/Users/vu/forks/design-system-react/components/global-header/notifications.jsx:35:\n\n/**\n * A GlobalHeaderNotifications component. Notifications are a way to notify a user about a global change within the application.\n */\n +/Users/vu/forks/design-system-react/components/alert/index.jsx:89:\n\n/**\n * Alert banners communicate a state that affects the entire system, not just a feature or page. It persists over a session and appears without the user initiating the action. View [banner guidelines](https://www.lightningdesignsystem.com/guidelines/messaging/components/banners/).\n */\n\n +/Users/vu/forks/design-system-react/components/global-header/task.jsx:28:\n\n/**\n * A GlobalHeaderTask component.\n */\n +/Users/vu/forks/design-system-react/components/input/index.jsx:51:\n\n/**\n * The HTML `input` with a label and error messaging.\n */\n +/Users/vu/forks/design-system-react/components/tabs/index.jsx:129:\n\n/**\n * A tab keeps related content in a single container that is shown and hidden through navigation.\n */\n +/Users/vu/forks/design-system-react/components/tabs/private/tab.jsx:19:\n\n/*\n * Disabled Tab CSS has been removed. If you'd like to use the styling, please import it in your module bundler.\n */\n// import '!style-loader!css-loader!../../../styles/tabs/tab.css'; // eslint-disable-line import/no-unresolved\n\n diff --git a/components/component-docs.json b/components/component-docs.json new file mode 100644 index 0000000000..7251d0634f --- /dev/null +++ b/components/component-docs.json @@ -0,0 +1,18380 @@ +{ + "accordion": { + "description": "An accordion allows a user to toggle the display of sections of content.\nThe accordion component wraps accordion panels that can be selected and expanded. It accepts children to define the content displayed within.", + "methods": [ + { + "name": "onClickSummary", + "docblock": null, + "modifiers": [], + "params": [], + "returns": null + }, + { + "name": "onKeyDownSummary", + "docblock": null, + "modifiers": [], + "params": [ + { + "name": "e", + "type": null + } + ], + "returns": null + }, + { + "name": "addSummaryButton", + "docblock": null, + "modifiers": [], + "params": [ + { + "name": "button", + "type": null + } + ], + "returns": null + } + ], + "props": { + "className": { + "type": { + "name": "union", + "value": [ + { + "name": "array" + }, + { + "name": "object" + }, + { + "name": "string" + } + ] + }, + "required": false, + "description": "CSS class names to be added to the accordion component. _Tested with snapshot testing._" + }, + "id": { + "type": { + "name": "union", + "value": [ + { + "name": "number" + }, + { + "name": "string" + } + ] + }, + "required": false, + "description": "HTML id for accordion component. _Tested with snapshot testing._" + }, + "children": { + "type": { + "name": "node" + }, + "required": true, + "description": "The panel content for the Accordion component. Accordion panels should be added as . Event handler for the accordion panels should be added to ``. Optional `panelContentActions` component may be passed as prop. _Tested with Mocha framework and snapshot testing._\n\nExample:\n```\n\n \n \n \n\n```" + } + }, + "route": "accordions", + "display-name": "Accordions", + "SLDS-component-path": "/components/accordion", + "dependencies": [ + { + "panel": { + "description": "The panel content for the Accordion component.", + "methods": [], + "props": { + "children": { + "type": { + "name": "node" + }, + "required": false, + "description": "The panel content for the Accordion component. Accordion panels should be added as . Event handler for the accordion panels should be added to ``. Optional `panelContentActions` component may be passed as prop. _Tested with Mocha framework and snapshot testing._" + }, + "expanded": { + "type": { + "name": "bool" + }, + "required": true, + "description": "Indicates whether item is expanded or not, which should be handled by `onTogglePanel`. _Tested with Mocha framework and snapshot testing._" + }, + "id": { + "type": { + "name": "union", + "value": [ + { + "name": "number" + }, + { + "name": "string" + } + ] + }, + "required": true, + "description": "Id of the item belonging to this panel. _Tested with snapshot testing._" + }, + "panelContentActions": { + "type": { + "name": "node" + }, + "required": false, + "description": "Component that can be passed as prop to ``. As an example, a menu dropdown could be used here to handle additional actions for each accordion panel. _Tested with Mocha framework._" + }, + "onKeyDownSummary": { + "type": { + "name": "func" + }, + "required": false, + "description": "Callback that will run whenever there is a keydown on the panel button. Function doesn't change the state of the component." + }, + "onTogglePanel": { + "type": { + "name": "func" + }, + "required": true, + "description": "Callback that will run whenever a panel is toggled. Function should handle state to toggle `expanded` prop. _Tested with Mocha framework._" + }, + "refs": { + "type": { + "name": "shape", + "value": { + "summaryButton": { + "name": "func", + "required": false + } + } + }, + "required": false, + "description": "Ref callback that will pass in panel's `input` tag" + }, + "summary": { + "type": { + "name": "union", + "value": [ + { + "name": "string" + }, + { + "name": "node" + } + ] + }, + "required": true, + "description": "Summary in the span element in the header of this panel. The summary is truncated and so the title element should contain the full text so that it is accessible on hover. _Tested with snapshot testing._" + }, + "title": { + "type": { + "name": "string" + }, + "required": false, + "description": "HTML title attribute. _Tested with snapshot testing._" + } + }, + "name": "panel", + "source": "/components/accordion/panel.jsx" + } + } + ] + }, + "alert": { + "description": "Alert banners communicate a state that affects the entire system, not just a feature or page. It persists over a session and appears without the user initiating the action. View [banner guidelines](https://www.lightningdesignsystem.com/guidelines/messaging/components/banners/).", + "methods": [ + { + "name": "saveButtonRef", + "docblock": null, + "modifiers": [], + "params": [ + { + "name": "component", + "type": null + } + ], + "returns": null + } + ], + "props": { + "assistiveText": { + "type": { + "name": "shape", + "value": { + "closeButton": { + "name": "union", + "value": [ + { + "name": "string" + }, + { + "name": "node" + } + ], + "required": false + } + } + }, + "required": false, + "description": "**Assistive text for accessibility**\nThis object is merged with the default props object on every render.\n* `closeButton`: This is a visually hidden label for the close button.\n_Tested with snapshot testing._", + "defaultValue": { + "value": "{\n\tcloseButton: 'Close',\n}", + "computed": false + } + }, + "className": { + "type": { + "name": "union", + "value": [ + { + "name": "array" + }, + { + "name": "object" + }, + { + "name": "string" + } + ] + }, + "required": false, + "description": "CSS classes to be added to tag with `.slds-notify_alert`. Uses `classNames` [API](https://github.com/JedWatson/classnames).\n_Tested with snapshot testing._" + }, + "dismissible": { + "type": { + "name": "bool" + }, + "required": false, + "description": "Allows user to click a close button. Banners should be dismissible only if they communicate future impact to the system,\n_Tested with snapshot testing._" + }, + "icon": { + "type": { + "name": "node" + }, + "required": false, + "description": "Icon of type `~/components/icon`. This icon will be cloned and additional props appended. The default icons are:\n* info variant: `utility:info`\n* error variant: `utility:error`\n* offline variant: `utility:offline`\n* warning variant: `utility:warning`\n\n_Tested with snapshot testing._" + }, + "labels": { + "type": { + "name": "shape", + "value": { + "heading": { + "name": "union", + "value": [ + { + "name": "string" + }, + { + "name": "node" + } + ], + "required": false + }, + "headingLink": { + "name": "union", + "value": [ + { + "name": "string" + }, + { + "name": "node" + } + ], + "required": false + } + } + }, + "required": false, + "description": "**Text labels for internationalization**\nThis object is merged with the default props object on every render.\n* `heading`: text within heading tag\n* `headingLink`: Text of link that triggers `onClickHeadingLink`. Inline links should pass a keyed array of React components into `labels.heading`.\n\n_Tested with snapshot testing._", + "defaultValue": { + "value": "{}", + "computed": false + } + }, + "onClickHeadingLink": { + "type": { + "name": "func" + }, + "required": false, + "description": "Triggered by link. _Tested with Mocha testing._" + }, + "onRequestClose": { + "type": { + "name": "func" + }, + "required": false, + "description": "Triggered by close button. This is a controlled component. _Tested with Mocha testing._" + }, + "style": { + "type": { + "name": "object" + }, + "required": false, + "description": "Custom styles to be passed to the component. _Tested with Mocha testing._" + }, + "variant": { + "type": { + "name": "enum", + "value": [ + { + "value": "'error'", + "computed": false + }, + { + "value": "'info'", + "computed": false + }, + { + "value": "'offline'", + "computed": false + }, + { + "value": "'warning'", + "computed": false + } + ] + }, + "required": false, + "description": "The type of alert. _Tested with snapshot testing._", + "defaultValue": { + "value": "'info'", + "computed": false + } + } + }, + "route": "alerts", + "display-name": "Alerts", + "SLDS-component-path": "/components/alert", + "dependencies": [ + { + "container": { + "description": "A fixed container for alert banners.", + "methods": [], + "props": { + "className": { + "type": { + "name": "union", + "value": [ + { + "name": "array" + }, + { + "name": "object" + }, + { + "name": "string" + } + ] + }, + "required": false, + "description": "CSS classes to be added to tag with `.slds-notify_alert`. Uses `classNames` [API](https://github.com/JedWatson/classnames)." + }, + "children": { + "type": { + "name": "node" + }, + "required": false, + "description": "Alert components" + } + }, + "name": "container", + "source": "/components/alert/container.jsx" + } + } + ] + }, + "app-launcher": { + "description": "The App Launcher allows the user to quickly access all the apps and functionality with their organization.\nThe App Launcher should generally only be used as a sub-component of the [Global Navigation Bar](/components/global-navigation-bar)\n\nUSAGE EXAMPLE:\n```\n\n\t\n\t\t\n\t\t\n\t\t\n\t\n\t\n\t\t\n\t\t\n\t\n\n```\n\nBy default, `Modal`, a child component of App Launcher, will add `aria-hidden=true` to the `body` tag, but this disables some assistive technologies. To prevent this you can add the following to your application with `#mount` being the root node of your application that you would like to hide from assistive technologies when the `Modal` is open.\n```\nimport settings from 'design-system-react/components/settings';\nsettings.setAppElement('#mount');\n```", + "methods": [ + { + "name": "getId", + "docblock": null, + "modifiers": [], + "params": [], + "returns": null + }, + { + "name": "openAppLauncher", + "docblock": null, + "modifiers": [], + "params": [ + { + "name": "event", + "type": null + } + ], + "returns": null + }, + { + "name": "closeAppLauncher", + "docblock": null, + "modifiers": [], + "params": [ + { + "name": "event", + "type": null + } + ], + "returns": null + }, + { + "name": "renderSearch", + "docblock": null, + "modifiers": [], + "params": [], + "returns": null + } + ], + "props": { + "assistiveText": { + "type": { + "name": "shape", + "value": { + "trigger": { + "name": "string", + "required": false + } + } + }, + "required": false, + "description": "**Assistive text for accessibility.**\nThis object is merged with the default props object on every render.\n* `trigger`: This is a visually hidden label for the app launcher icon.", + "defaultValue": { + "value": "{\n\ttrigger: 'Open App Launcher',\n}", + "computed": false + } + }, + "ariaHideApp": { + "type": { + "name": "bool" + }, + "required": false, + "description": "Boolean indicating if the appElement should be hidden.", + "defaultValue": { + "value": "true", + "computed": false + } + }, + "children": { + "type": { + "name": "node" + }, + "required": true, + "description": "One or more ``s, each containing one or more ``s or ``s" + }, + "id": { + "type": { + "name": "string" + }, + "required": false, + "description": "The app launcher id. If not provided, one will be generated for accessibility" + }, + "isOpen": { + "type": { + "name": "bool" + }, + "required": false, + "description": "Control the open/close state of the App Launcher" + }, + "modalClassName": { + "type": { + "name": "union", + "value": [ + { + "name": "array" + }, + { + "name": "object" + }, + { + "name": "string" + } + ] + }, + "required": false, + "description": "CSS classes to be added to App Launcher Modal." + }, + "modalHeaderButton": { + "type": { + "name": "node" + }, + "required": false, + "description": "Button that exists in the upper right hand corner of the App Launcher modal" + }, + "noTruncate": { + "type": { + "name": "bool" + }, + "required": false, + "description": "Allows longer application names without truncating them." + }, + "onClose": { + "type": { + "name": "func" + }, + "required": false, + "description": "Callback when the App Launcher Modal is closed" + }, + "search": { + "type": { + "name": "node" + }, + "required": false, + "description": "Search bar for the Modal's header. Will typically be an instance of `design-system-react/input/search`" + }, + "title": { + "type": { + "name": "string" + }, + "required": false, + "description": "Set the App Launcher's title text (for localization)", + "defaultValue": { + "value": "'App Launcher'", + "computed": false + } + }, + "triggerName": { + "type": { + "name": "node" + }, + "required": false, + "description": "This is typically the name of the cloud or application" + }, + "triggerOnClick": { + "type": { + "name": "func" + }, + "required": false, + "description": "Callback when the App Launcher icon is clicked" + } + }, + "route": "app-launcher", + "display-name": "App Launcher", + "SLDS-component-path": "/components/app-launcher", + "dependencies": [ + { + "expandable-section": { + "description": "App Launcher Sections allow users to categorize App Tiles & Links as well as toggle their display. It is a superset of components/expandable-section with content formatting.\nAll Expandable Section props are compatible with props passed to this component.", + "methods": [ + { + "name": "toggleOpen", + "docblock": null, + "modifiers": [], + "params": [ + { + "name": "event", + "type": null + }, + { + "name": "data", + "type": null + } + ], + "returns": null + } + ], + "props": { + "assistiveText": { + "type": { + "name": "shape", + "value": { + "toggleSection": { + "name": "string", + "required": false + } + } + }, + "required": false, + "description": "**Assistive text for accessibility.**\n* `toggleSection`: Label for the icon that expands / collapses the section" + }, + "children": { + "type": { + "name": "node" + }, + "required": false, + "description": "Contents of the section" + }, + "className": { + "type": { + "name": "union", + "value": [ + { + "name": "array" + }, + { + "name": "object" + }, + { + "name": "string" + } + ] + }, + "required": false, + "description": "Class names to be added to the `slds-section` classed node" + }, + "id": { + "type": { + "name": "string" + }, + "required": false, + "description": "Unique identifier for the expandable section. The id is automatically generated if not provided" + }, + "isOpen": { + "type": { + "name": "bool" + }, + "required": false, + "description": "Specifies whether the section is expanded or collapsed. If not provided, component will use its own state to manage this itself" + }, + "nonCollapsible": { + "type": { + "name": "bool" + }, + "required": false, + "description": "Specifies whether the section can be expanded or collapsed. Defaults to `false`" + }, + "onToggleOpen": { + "type": { + "name": "func" + }, + "required": false, + "description": "Callback for when the section is expanded or collapsed. Passes event object and data object with `isOpen` bool." + }, + "title": { + "type": { + "name": "string" + }, + "required": true, + "description": "The title for the section" + } + }, + "name": "expandable-section", + "source": "/components/app-launcher/expandable-section.jsx" + } + }, + { + "link": { + "description": "App Launcher Link component creates simple links to be used in \"All Items\" sections", + "methods": [], + "props": { + "children": { + "type": { + "name": "node" + }, + "required": false, + "description": "Contents of the link" + }, + "className": { + "type": { + "name": "union", + "value": [ + { + "name": "array" + }, + { + "name": "object" + }, + { + "name": "string" + } + ] + }, + "required": false, + "description": "Classes to be applied to the link" + }, + "href": { + "type": { + "name": "string" + }, + "required": false, + "description": "The `href` attribute of the link. If the `onClick` callback is specified this URL will be prevented from changing the browser's location.", + "defaultValue": { + "value": "'javascript:void(0);'", + "computed": false + } + }, + "onClick": { + "type": { + "name": "func" + }, + "required": false, + "description": "Callback for when the link is clicked. Passes back event and data object with href prop. Prevents click from changing browser's location if set." + }, + "search": { + "type": { + "name": "string" + }, + "required": false, + "description": "Text used to highlight content in link" + }, + "title": { + "type": { + "name": "string" + }, + "required": false, + "description": "The title for the link. If not provided it will attempt to use child content if that content is a string." + } + }, + "name": "link", + "source": "/components/app-launcher/link.jsx" + } + }, + { + "tile": { + "description": "App Launcher Tiles provide information and links to a user's apps", + "methods": [ + { + "name": "handleClick", + "docblock": null, + "modifiers": [], + "params": [ + { + "name": "event", + "type": null + } + ], + "returns": null + } + ], + "props": { + "assistiveText": { + "type": { + "name": "shape", + "value": { + "dragIconText": { + "name": "string", + "required": false + } + } + }, + "required": false, + "description": "**Assistive text for accessibility.**\n* `dragIconText`: Text that describes the purpose of the drag handle icon.", + "defaultValue": { + "value": "{\n\tdragIconText: 'Reorder',\n}", + "computed": false + } + }, + "className": { + "type": { + "name": "union", + "value": [ + { + "name": "array" + }, + { + "name": "object" + }, + { + "name": "string" + } + ] + }, + "required": false, + "description": "Class names to be added to the tile." + }, + "description": { + "type": { + "name": "string" + }, + "required": false, + "description": "The description of the app. Not visible on small tiles." + }, + "descriptionHeading": { + "type": { + "name": "string" + }, + "required": false, + "description": "Heading for app description. NOTE: this prop is DEPRECATED and use should be avoided" + }, + "href": { + "type": { + "name": "string" + }, + "required": false, + "description": "The `href` attribute of the tile. Please pass in bookmarkable URLs from your routing library. If the `onClick` callback is specified this URL will be prevented from changing the browser's location.", + "defaultValue": { + "value": "'javascript:void(0);'", + "computed": false + } + }, + "iconBackgroundColor": { + "type": { + "name": "string" + }, + "required": false, + "description": "Background color to be used on the icon. Only applied if iconNode is undefined" + }, + "iconNode": { + "type": { + "name": "node" + }, + "required": false, + "description": "Icon node for app tile. Takes priority over `iconText`" + }, + "iconText": { + "type": { + "name": "string" + }, + "required": false, + "description": "Text to be used as an icon. Only renders if iconNode is undefined" + }, + "isOpenTooltip": { + "type": { + "name": "bool" + }, + "required": false, + "description": "Open the More Tooltip" + }, + "moreLabel": { + "type": { + "name": "string" + }, + "required": false, + "description": "The localized text for the \"More information\" tooltip.", + "defaultValue": { + "value": "' More'", + "computed": false + } + }, + "onClick": { + "type": { + "name": "func" + }, + "required": false, + "description": "Function that will be executed when clicking on a tile" + }, + "search": { + "type": { + "name": "string" + }, + "required": false, + "description": "Text used to highlight content in app tiles" + }, + "title": { + "type": { + "name": "string" + }, + "required": true, + "description": "App name for the tile's title." + } + }, + "name": "tile", + "source": "/components/app-launcher/tile.jsx" + } + } + ] + }, + "avatar": { + "description": "The avatar component represents an object or entity. An image is the preferred format for an avatar.\n If the `imgSrc` prop is undefined, and if a `label` or `initials` prop is available, the fallback avatar will render with initials. If initals are passed in directly in the `initials` prop, this will render in the fallback avatar. If `initals` prop is unavailable but a `label` prop is available, the fallback avatar will render with built initials of the user name or entity name.\n\n Intials built from the `label` prop will apply the following logic: If the label name contains two words, like first and last name, the first letter of each will be capitalized and returned. For labels that only have a single word name, the first two letters of that word, using one capital and one lower case letter, will be returned. For labels that contain three or more words, the first character of the first and last words will be capitalized and returned.\n\n If `initials` or `label` are not available, the fallback avatar will render a standard icon. If `variant='user'`, a user icon will\n render. If `variant='entity'`, an account icon will render.", + "methods": [ + { + "name": "buildInitials", + "docblock": null, + "modifiers": [], + "params": [], + "returns": null + }, + { + "name": "handleImageError", + "docblock": null, + "modifiers": [], + "params": [], + "returns": null + }, + { + "name": "renderBaseAvatar", + "docblock": null, + "modifiers": [], + "params": [], + "returns": null + }, + { + "name": "renderIconAvatar", + "docblock": null, + "modifiers": [], + "params": [], + "returns": null + }, + { + "name": "renderInitialsAvatar", + "docblock": null, + "modifiers": [], + "params": [], + "returns": null + } + ], + "props": { + "assistiveText": { + "type": { + "name": "shape", + "value": { + "icon": { + "name": "string", + "required": false + } + } + }, + "required": false, + "description": "**Assistive text for accessibility.**\nThis object is merged with the default props object on every render.\n* `icon`: Assistive text for accessibility that labels the icon.", + "defaultValue": { + "value": "{\n\ticon: 'User or Account Icon',\n}", + "computed": false + } + }, + "imgAlt": { + "type": { + "name": "string" + }, + "required": false, + "description": "Alt attribute to be applied to image (base case) element.", + "defaultValue": { + "value": "''", + "computed": false + } + }, + "imgSrc": { + "type": { + "name": "string" + }, + "required": false, + "description": "Source attribute to be applied to image (base case) element." + }, + "initials": { + "type": { + "name": "string" + }, + "required": false, + "description": "Initials attribute to optionally pass in initials directly in case of \"initials\" fallback case." + }, + "inverse": { + "type": { + "name": "bool" + }, + "required": false, + "description": "Avatar with initials that are dark text on light background" + }, + "label": { + "type": { + "name": "string" + }, + "required": false, + "description": "Label attibute to display inside \"initials\" fallback case. Will be passed as title prop in `abbr` element to provide more specificity." + }, + "variant": { + "type": { + "name": "enum", + "value": [ + { + "value": "'entity'", + "computed": false + }, + { + "value": "'user'", + "computed": false + } + ] + }, + "required": false, + "description": "Avatar variants to apply relevant styling (circle: user, square: entity) and icon rendering if applicable.", + "defaultValue": { + "value": "'user'", + "computed": false + } + }, + "size": { + "type": { + "name": "enum", + "value": [ + { + "value": "'x-small'", + "computed": false + }, + { + "value": "'small'", + "computed": false + }, + { + "value": "'medium'", + "computed": false + }, + { + "value": "'large'", + "computed": false + } + ] + }, + "required": false, + "description": "Size of the icon in \"icon\" fallback case.", + "defaultValue": { + "value": "'medium'", + "computed": false + } + }, + "title": { + "type": { + "name": "string" + }, + "required": false, + "description": "Title attribute for the avatar container.", + "defaultValue": { + "value": "'user avatar'", + "computed": false + } + } + }, + "route": "avatars", + "display-name": "Avatars", + "SLDS-component-path": "/components/avatar", + "dependencies": [] + }, + "badge": { + "description": "Badges are labels which hold small amounts of information.", + "methods": [ + { + "name": "getId", + "docblock": "Get the Badge's HTML id. Generate a new one if no ID present.", + "modifiers": [], + "params": [], + "returns": null, + "description": "Get the Badge's HTML id. Generate a new one if no ID present." + } + ], + "props": { + "className": { + "type": { + "name": "union", + "value": [ + { + "name": "array" + }, + { + "name": "object" + }, + { + "name": "string" + } + ] + }, + "required": false, + "description": "CSS classes that are applied to the component" + }, + "id": { + "type": { + "name": "string" + }, + "required": false, + "description": "Id of component, if desired. If not provided an id is automatically generated" + }, + "style": { + "type": { + "name": "object" + }, + "required": false, + "description": "Custom styles to be passed to the component" + }, + "color": { + "type": { + "name": "enum", + "value": [ + { + "value": "'default'", + "computed": false + }, + { + "value": "'inverse'", + "computed": false + }, + { + "value": "'light'", + "computed": false + }, + { + "value": "'success'", + "computed": false + }, + { + "value": "'warning'", + "computed": false + }, + { + "value": "'error'", + "computed": false + } + ] + }, + "required": false, + "description": "Color variant for the badge component", + "defaultValue": { + "value": "'default'", + "computed": false + } + }, + "iconAlignment": { + "type": { + "name": "enum", + "value": [ + { + "value": "'left'", + "computed": false + }, + { + "value": "'right'", + "computed": false + } + ] + }, + "required": false, + "description": "Icon alignment for the badge component", + "defaultValue": { + "value": "'left'", + "computed": false + } + }, + "content": { + "type": { + "name": "union", + "value": [ + { + "name": "string" + }, + { + "name": "node" + } + ] + }, + "required": false, + "description": "Content to be placed inside the badge component" + } + }, + "route": "badge", + "display-name": "Badge", + "SLDS-component-path": "/components/badges", + "dependencies": [] + }, + "brand-band": { + "description": "The brand band provides theming capability that adds personality and improves information density and contrast.\n\nNOTE: you may find that themes other than 'default' fail to load the appropriate styling in your application.\nIf this occurs the cause is very likely to be CSP settings on the server hosting your application protecting against style injections.\nChanging these settings is not recommended. Instead, add the following styles to any stylesheet provided by the server itself (such as an external stylesheet):\n\nWhen using 'lightning-theme':\n.slds-brand-band.dsr-brand-band_lightning-blue:before {\n background-image: url(/assets/images/themes/oneSalesforce/banner-brand-default.png), linear-gradient(to top, rgba(175, 197, 222, 0) 0, #1B5F9E);\n}\n.slds-brand-band.dsr-brand-band_lightning-blue:after {\n background-image: linear-gradient(to bottom, rgba(175, 197, 222, 0) 60%, #AFC5DE);\n}\n\nFor more information on the problem, [see this Stack Overflow question](https://stackoverflow.com/questions/17766817/refused-to-apply-inline-style-because-it-violates-the-following-content-security)", + "methods": [ + { + "name": "injectLightningBlueStyles", + "docblock": null, + "modifiers": [ + "static" + ], + "params": [], + "returns": null + }, + { + "name": "getId", + "docblock": null, + "modifiers": [], + "params": [], + "returns": null + } + ], + "props": { + "children": { + "type": { + "name": "node" + }, + "required": false, + "description": "Primary application grid layout or a white background component such as a `Card` should be passed into this component." + }, + "className": { + "type": { + "name": "union", + "value": [ + { + "name": "array" + }, + { + "name": "object" + }, + { + "name": "string" + } + ] + }, + "required": false, + "description": "CSS classes that are applied to the component" + }, + "id": { + "type": { + "name": "string" + }, + "required": false, + "description": "Id of component, if desired. If not provided an id is automatically generated" + }, + "image": { + "type": { + "name": "enum", + "value": [ + { + "value": "'default'", + "computed": false + }, + { + "value": "'none'", + "computed": false + } + ] + }, + "required": false, + "description": "Image of the brand band", + "defaultValue": { + "value": "'default'", + "computed": false + } + }, + "backgroundSize": { + "type": { + "name": "enum", + "value": [ + { + "value": "'contain'", + "computed": false + }, + { + "value": "'cover'", + "computed": false + } + ] + }, + "required": false, + "description": "Background size of the brand band. Default is 'contain'", + "defaultValue": { + "value": "'contain'", + "computed": false + } + }, + "size": { + "type": { + "name": "enum", + "value": [ + { + "value": "'small'", + "computed": false + }, + { + "value": "'medium'", + "computed": false + }, + { + "value": "'large'", + "computed": false + } + ] + }, + "required": false, + "description": "Size of the brand band. Default is 'medium'", + "defaultValue": { + "value": "'medium'", + "computed": false + } + }, + "style": { + "type": { + "name": "object" + }, + "required": false, + "description": "Custom styles to be passed to the component" + }, + "styleContainer": { + "type": { + "name": "object" + }, + "required": false, + "description": "Custom styles to be passed to the component container" + }, + "theme": { + "type": { + "name": "enum", + "value": [ + { + "value": "'default'", + "computed": false + }, + { + "value": "'lightning-blue'", + "computed": false + } + ] + }, + "required": false, + "description": "Different brand band styling.\nNOTE: using 'lightning-blue' may result in incorrect styling depending on server CSP settings. See opening component documentation above for details.", + "defaultValue": { + "value": "'default'", + "computed": false + } + } + }, + "route": "brand-band", + "display-name": "Brand Band", + "SLDS-component-path": "/components/brand-band", + "dependencies": [] + }, + "breadcrumb": { + "description": "Use breadcrumbs to note the path of a record and help the user to navigate back to the parent.Breadcrumb based on SLDS 2.1.0-dev", + "methods": [], + "props": { + "assistiveText": { + "type": { + "name": "shape", + "value": { + "label": { + "name": "string", + "required": false + } + } + }, + "required": false, + "description": "**Assistive text for accessibility.**\nThis object is merged with the default props object on every render.\n* `label`: The assistive text for the breadcrumb trail.", + "defaultValue": { + "value": "{\n\tlabel: 'Breadcrumbs',\n}", + "computed": false + } + }, + "id": { + "type": { + "name": "string" + }, + "required": false, + "description": "A unique ID is needed in order to support keyboard navigation, ARIA support, and connect the dropdown to the triggering button." + }, + "overflowDropdownMenu": { + "type": { + "name": "node" + }, + "required": false, + "description": "Overflow menu of the type [Dropdown](/components/menu-dropdowns)" + }, + "styleContainer": { + "type": { + "name": "object" + }, + "required": false, + "description": "Custom styles to be passed to the containing `nav` tag" + }, + "trail": { + "type": { + "name": "array" + }, + "required": true, + "description": "An array of anchor elements that define the path to the current record." + } + }, + "route": "breadcrumbs", + "display-name": "Breadcrumbs", + "SLDS-component-path": "/components/breadcrumb", + "dependencies": [] + }, + "builder-header": { + "description": "Every builder needs a builder header, which contains basic navigation elements. It also shows the builder type and content name.", + "methods": [], + "props": { + "assistiveText": { + "type": { + "name": "shape", + "value": { + "backIcon": { + "name": "string", + "required": false + }, + "helpIcon": { + "name": "string", + "required": false + }, + "icon": { + "name": "string", + "required": false + } + } + }, + "required": false, + "description": "**Assistive text for accessibility**\nThis object is merged with the default props object on every render.\n* `backIcon`: Used for the back icon.\n* `helpIcon`: Used for the help icon.\n* `icon`: Used for the main icon next to the header title.\n* _Tested with snapshot testing._", + "defaultValue": { + "value": "{\n\tbackIcon: 'Back',\n\thelpIcon: 'Help',\n\ticon: 'Builder',\n}", + "computed": false + } + }, + "children": { + "type": { + "name": "node" + }, + "required": false, + "description": "Provide children of the types ``, ``, or `` to define the structure of the header.\n```\n\n \n \n \n\n```" + }, + "className": { + "type": { + "name": "union", + "value": [ + { + "name": "array" + }, + { + "name": "object" + }, + { + "name": "string" + } + ] + }, + "required": false, + "description": "CSS classes to be added to tag with `.slds-builder-header_container`. Uses `classNames` [API](https://github.com/JedWatson/classnames). _Tested with snapshot testing._" + }, + "events": { + "type": { + "name": "shape", + "value": { + "onClickBack": { + "name": "func", + "required": false + }, + "onClickHelp": { + "name": "func", + "required": false + } + } + }, + "required": false, + "description": "Event Callbacks\n* `onClickBack`: Called when the Back link is clicked.\n* `onClickHelp`: Called when the Help link is clicked.\n_Tested with Mocha testing._" + }, + "iconCategory": { + "type": { + "name": "string" + }, + "required": false, + "description": "Category of the title icon from [lightningdesignsystem.com/icons/](https://www.lightningdesignsystem.com/icons/)", + "defaultValue": { + "value": "'utility'", + "computed": false + } + }, + "iconClassName": { + "type": { + "name": "union", + "value": [ + { + "name": "array" + }, + { + "name": "object" + }, + { + "name": "string" + } + ] + }, + "required": false, + "description": "CSS classes that are applied to the title icon." + }, + "iconName": { + "type": { + "name": "string" + }, + "required": false, + "description": "Name of the title icon. Visit Lightning Design System Icons to reference icon names.", + "defaultValue": { + "value": "'builder'", + "computed": false + } + }, + "iconPath": { + "type": { + "name": "string" + }, + "required": false, + "description": "Path to the title icon. This will override any global icon settings." + }, + "labels": { + "type": { + "name": "shape", + "value": { + "back": { + "name": "string", + "required": false + }, + "help": { + "name": "string", + "required": false + }, + "pageType": { + "name": "string", + "required": false + }, + "title": { + "name": "string", + "required": false + } + } + }, + "required": false, + "description": "**Text labels for internationalization**\nThis object is merged with the default props object on every render.\n* `back`: The label for the Back link.\n* `help`: The label for the Help link.\n* `pageType`: The label that describes the page type.\n* `title`: The label for the page title.\n_Tested with snapshot testing._", + "defaultValue": { + "value": "{\n\tback: 'Back',\n\thelp: 'Help',\n\tpageType: 'Page Type',\n\ttitle: 'App Name',\n}", + "computed": false + } + }, + "style": { + "type": { + "name": "object" + }, + "required": false, + "description": "Custom styles applied to the `.slds-builder-header_container` element." + } + }, + "route": "builder-header", + "display-name": "Builder Header", + "SLDS-component-path": "/components/builder-header", + "dependencies": [ + { + "nav": { + "description": "The navigation section of the header.", + "methods": [], + "props": { + "children": { + "type": { + "name": "node" + }, + "required": false, + "description": "Provide children of the types `` or `` to define the structure of the navigation section.\n```\n\n \n \n \n \n\n```" + } + }, + "name": "nav", + "source": "/components/builder-header/nav.jsx" + } + }, + { + "nav-dropdown": { + "description": "A dropdown within the navigation section of the header.", + "methods": [], + "composes": [ + "../menu-dropdown/menu-dropdown" + ], + "name": "nav-dropdown", + "source": "/components/builder-header/nav-dropdown.jsx" + } + }, + { + "nav-link": { + "description": "A link within the navigation section of the header.", + "methods": [], + "props": { + "assistiveText": { + "type": { + "name": "shape", + "value": { + "icon": { + "name": "string", + "required": false + } + } + }, + "required": false, + "description": "**Assistive text for accessibility**\nThis object is merged with the default props object on every render.\n* `icon`: Used for the icon next to the link text.\n* _Tested with snapshot testing._" + }, + "iconCategory": { + "type": { + "name": "enum", + "value": [ + { + "value": "'action'", + "computed": false + }, + { + "value": "'custom'", + "computed": false + }, + { + "value": "'doctype'", + "computed": false + }, + { + "value": "'standard'", + "computed": false + }, + { + "value": "'utility'", + "computed": false + } + ] + }, + "required": false, + "description": "Name of the icon category. Visit Lightning Design System Icons to reference icon categories." + }, + "iconName": { + "type": { + "name": "string" + }, + "required": false, + "description": "Name of the icon. Visit Lightning Design System Icons to reference icon names." + }, + "iconPath": { + "type": { + "name": "string" + }, + "required": false, + "description": "Path to the icon. This will override any global icon settings." + }, + "label": { + "type": { + "name": "string" + }, + "required": false, + "description": "Text for the link." + }, + "onClick": { + "type": { + "name": "func" + }, + "required": false, + "description": "Triggered when the link is clicked." + } + }, + "name": "nav-link", + "source": "/components/builder-header/nav-link.jsx" + } + }, + { + "toolbar": { + "description": "The toolbar section of the header.", + "methods": [], + "props": { + "assistiveText": { + "type": { + "name": "shape", + "value": { + "actions": { + "name": "string", + "required": false + } + } + }, + "required": false, + "description": "**Assistive text for accessibility**\nThis object is merged with the default props object on every render.\n* `actions`: Used for the aria-label for the actions section of the toolbar.\n* _Tested with snapshot testing._", + "defaultValue": { + "value": "{\n\tactions: 'Actions',\n}", + "computed": false + } + }, + "children": { + "type": { + "name": "node" + }, + "required": false, + "description": "Provide children of the type `` to define the structure of the toolbar section.\n```\n\n \n \n \n \n\n```" + }, + "onRenderActions": { + "type": { + "name": "func" + }, + "required": false, + "description": "Renders the actions section of the header." + } + }, + "name": "toolbar", + "source": "/components/builder-header/toolbar.jsx" + } + }, + { + "misc": { + "description": "The miscellaneous section of the header.", + "methods": [], + "props": { + "children": { + "type": { + "name": "node" + }, + "required": false, + "description": "Provide custom content in place of Page Type label\n```\n\n \n Custom content\n \n\n```" + } + }, + "name": "misc", + "source": "/components/builder-header/misc.jsx" + } + } + ] + }, + "button-group": { + "description": "The ButtonGroup component wraps other components (ie. Button, MenuDropdown, PopoverTooltip, Checkboxes, etc).", + "methods": [ + { + "name": "getId", + "docblock": null, + "modifiers": [], + "params": [], + "returns": null + } + ], + "props": { + "children": { + "type": { + "name": "node" + }, + "required": true, + "description": "Children are expected to be components. If last button triggers a dropdown menu, use Dropdown instead of Button. _Tested with snapshot testing._" + }, + "className": { + "type": { + "name": "union", + "value": [ + { + "name": "array" + }, + { + "name": "object" + }, + { + "name": "string" + } + ] + }, + "required": false, + "description": "CSS classes added to `slds-button-group` or `slds-checkbox_button-group` tag" + }, + "classNameContainer": { + "type": { + "name": "union", + "value": [ + { + "name": "array" + }, + { + "name": "object" + }, + { + "name": "string" + } + ] + }, + "required": false, + "description": "If the `labels.label` prop is set, a `.slds-form-element` classed fieldset element is added as a container. This prop applies classes to that element" + }, + "id": { + "type": { + "name": "string" + }, + "required": false, + "description": "HTML id for component." + }, + "labels": { + "type": { + "name": "shape", + "value": { + "error": { + "name": "string", + "required": false + }, + "label": { + "name": "string", + "required": false + } + } + }, + "required": false, + "description": "**Text labels for internationalization**\nThis object is merged with the default props object on every render.\n* `error`: Message to display when any of Checkboxes are in an error state. _Tested with snapshot testing._\n* `label`: This label appears above the button group. _Tested with snapshot testing._", + "defaultValue": { + "value": "{}", + "computed": false + } + }, + "variant": { + "type": { + "name": "enum", + "value": [ + { + "value": "'checkbox'", + "computed": false + }, + { + "value": "'list'", + "computed": false + } + ] + }, + "required": false, + "description": "Use checkbox variant for \"Checkbox Button Group\" styling and add Checkbox components as children _Tested with snapshot testing._" + } + }, + "route": "button-groups", + "display-name": "Button Groups", + "SLDS-component-path": "/components/button-group", + "dependencies": [] + }, + "button-stateful": { + "description": "The ButtonStateful component is a variant of the Lightning Design System Button component. It is used for buttons that have a state of unselected or selected.\nFor icon buttons, use variant='icon'. For buttons with labels or buttons with labels and icons, pass data to the state props (ie. stateOne={{iconName: 'add', label: 'Join'}}).\nAlthough not listed in the prop table, all `aria-*` props will be added to the button element if passed in.\nIf no `aria-*` props are passed in, aria-live='polite' is used for `icon` and `icon-filled` variants,\nand aria-live='assertive' is used for the remaining variants.", + "methods": [ + { + "name": "getClassName", + "docblock": null, + "modifiers": [], + "params": [ + { + "name": "active", + "type": null + } + ], + "returns": null + }, + { + "name": "handleBlur", + "docblock": null, + "modifiers": [], + "params": [ + { + "name": "e", + "type": null + } + ], + "returns": null + }, + { + "name": "handleClick", + "docblock": null, + "modifiers": [], + "params": [ + { + "name": "e", + "type": null + } + ], + "returns": null + } + ], + "props": { + "active": { + "type": { + "name": "bool" + }, + "required": false, + "description": "Specifies the current state of the button. If set, the button will act as a ['controlled' component](https://facebook.github.io/react/docs/forms.html#controlled-components)." + }, + "assistiveText": { + "type": { + "name": "shape", + "value": { + "icon": { + "name": "string", + "required": false + } + } + }, + "required": false, + "description": "**Assistive text for accessibility.**\nThis object is merged with the default props object on every render.\n* `icon`: Text that is visually hidden but read aloud by screenreaders to tell the user what the icon means. This should also include the state of the button. If the button has an icon and a visible label, you can omit the icon prop and use the label prop.", + "defaultValue": { + "value": "{ icon: '' }", + "computed": false + } + }, + "disabled": { + "type": { + "name": "bool" + }, + "required": false, + "description": "Disables the button and adds disabled styling.", + "defaultValue": { + "value": "false", + "computed": false + } + }, + "icon": { + "type": { + "name": "node" + }, + "required": false, + "description": "Icon associated with the stateful button. Accepts an `Icon` component" + }, + "onBlur": { + "type": { + "name": "func" + }, + "required": false, + "description": "Triggered when focus is removed." + }, + "onClick": { + "type": { + "name": "func" + }, + "required": false, + "description": "Triggered when the button is clicked." + }, + "onFocus": { + "type": { + "name": "func" + }, + "required": false, + "description": "Triggered when component is focused." + }, + "onKeyDown": { + "type": { + "name": "func" + }, + "required": false, + "description": "Triggered when a key is pressed down" + }, + "onKeyPress": { + "type": { + "name": "func" + }, + "required": false, + "description": "Triggered when a key is pressed and released" + }, + "onKeyUp": { + "type": { + "name": "func" + }, + "required": false, + "description": "Triggered when a key is released" + }, + "onMouseDown": { + "type": { + "name": "func" + }, + "required": false, + "description": "Triggered when a mouse button is pressed down" + }, + "onMouseEnter": { + "type": { + "name": "func" + }, + "required": false, + "description": "Triggered when a mouse arrow hovers" + }, + "responsive": { + "type": { + "name": "bool" + }, + "required": false, + "description": "If true, button scales to 100% width on small form factors.", + "defaultValue": { + "value": "false", + "computed": false + } + }, + "stateOne": { + "type": { + "name": "object" + }, + "required": false, + "description": "Initial label and icon (optional) of button.", + "defaultValue": { + "value": "{ iconName: 'add', label: 'Follow' }", + "computed": false + } + }, + "stateTwo": { + "type": { + "name": "object" + }, + "required": false, + "description": "Selected label and icon (optional) of button.", + "defaultValue": { + "value": "{ iconName: 'check', label: 'Following' }", + "computed": false + } + }, + "stateThree": { + "type": { + "name": "object" + }, + "required": false, + "description": "Deselect label and icon (optional) of button.", + "defaultValue": { + "value": "{ iconName: 'close', label: 'Unfollow' }", + "computed": false + } + }, + "tabIndex": { + "type": { + "name": "string" + }, + "required": false, + "description": "Write \"-1\" if you don't want the user to tab to the button." + }, + "variant": { + "type": { + "name": "enum", + "value": [ + { + "value": "'base'", + "computed": false + }, + { + "value": "'neutral'", + "computed": false + }, + { + "value": "'brand'", + "computed": false + }, + { + "value": "'destructive'", + "computed": false + }, + { + "value": "'icon'", + "computed": false + }, + { + "value": "'icon-filled'", + "computed": false + } + ] + }, + "required": false, + "description": "Different types of buttons" + }, + "iconSize": { + "defaultValue": { + "value": "'medium'", + "computed": false + }, + "required": false + } + }, + "route": "stateful-buttons", + "display-name": "Stateful Buttons", + "SLDS-component-path": "/components/button/#flavor-stateful", + "dependencies": [] + }, + "button": { + "description": "The Button component is the Lightning Design System Button component. The Button should be used for label buttons, icon buttons, or buttons that have both labels and icons.\nEither a label or assistiveText.icon is required; see the Prop Details table below. For buttons that maintain selected/unselected states, use the ButtonStateful component.\nAlthough not listed in the prop table, all `aria-*`, `data-*` and `form*` props will be added to the `button` element if passed in.", + "methods": [ + { + "name": "getClassName", + "docblock": null, + "modifiers": [], + "params": [], + "returns": null + }, + { + "name": "handleClick", + "docblock": null, + "modifiers": [], + "params": [ + { + "name": "event", + "type": null + } + ], + "returns": null + }, + { + "name": "renderIcon", + "docblock": null, + "modifiers": [], + "params": [ + { + "name": "name", + "type": null + } + ], + "returns": null + }, + { + "name": "renderLabel", + "docblock": null, + "modifiers": [], + "params": [], + "returns": null + }, + { + "name": "renderButton", + "docblock": null, + "modifiers": [], + "params": [], + "returns": null + }, + { + "name": "renderTooltip", + "docblock": null, + "modifiers": [], + "params": [], + "returns": null + } + ], + "props": { + "assistiveText": { + "type": { + "name": "shape", + "value": { + "icon": { + "name": "string", + "required": false + } + } + }, + "required": false, + "description": "**Assistive text for accessibility.**\nThis object is merged with the default props object on every render.\n* `icon`: Text that is visually hidden but read aloud by screenreaders to tell the user what the icon means. If the button has an icon and a visible label, you can omit the assistiveText.icon prop and use the label prop.", + "defaultValue": { + "value": "{ icon: '' }", + "computed": false + } + }, + "buttonRef": { + "type": { + "name": "func" + }, + "required": false, + "description": "Callback that passes in the DOM reference of the ` + + + + + + + + + +
    +
    +
    +
    + + +
    + +
    +
    +
    +
    +
    + +
    +
    +

    + 10 items • sorted by name +

    +
    +
    +
    +
    +
    + +
    +
    +
    +
    + +
    +
    +
    + +
    +
    + +
    +
    +
    + + +
    +
    +
    +
    +
    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +
    +
    +
    + + + + +
    +
    +
    +
    +
    + + Select all rows + +
    +
    + + + + +
    +
    +
    +
    +
    + + + sort this column + + + + Name + + + + + + + asc + + + + + + + Account Name + + +
    + + + Account Name + + +
    +
    + + + Close Date + + +
    + + + Close Date + + +
    +
    + + + Stage + + +
    + + + Stage + + +
    +
    + + + sort this column + + + + Confidence + + + + + + + + + + + Amount + + +
    + + + Amount + + +
    +
    + + + Contact + + +
    + + + Contact + + +
    +
    +
    + + actions + +
    +
    +
    + + actions + +
    +
    +
    +
    +
    + + + + +
    +
    +
    + + +
    + Acme +
    +
    +
    + 4/10/15 +
    +
    +
    + Value Proposition +
    +
    +
    + 70% +
    +
    +
    + $25,000,000 +
    +
    + + +
    + +
    +
    +
    +
    + + + + +
    +
    +
    + + +
    + Acme +
    +
    +
    + 1/31/15 +
    +
    +
    + Prospecting +
    +
    +
    + 30% +
    +
    +
    + $5,000,000 +
    +
    + + +
    + +
    +
    +
    +
    + + + + +
    +
    +
    + + +
    + salesforce.com +
    +
    +
    + 1/31/15 3:45PM +
    +
    +
    + Id. Decision Makers +
    +
    +
    + 60% +
    +
    +
    + $25,000 +
    +
    + + +
    + +
    +
    +
    +
    + + + + +
    +
    +
    + + +
    + Acme +
    +
    +
    + 6/11/18 +
    +
    +
    + Value Proposition +
    +
    +
    + 85% +
    +
    +
    + $970,000 +
    +
    + + +
    + +
    +
    +
    +
    + + + + +
    +
    +
    + + +
    + Acme +
    +
    +
    + 4/15/17 +
    +
    +
    + Prospecting +
    +
    +
    + 56% +
    +
    +
    + $3,110,000 +
    +
    + + +
    + +
    +
    +
    +
    + + + + +
    +
    +
    + + +
    + salesforce.com +
    +
    +
    + 5/23/18 1:02PM +
    +
    +
    + Id. Decision Makers +
    +
    +
    + 62% +
    +
    +
    + $18,000 +
    +
    + + +
    + +
    +
    +
    +
    + + + + +
    +
    +
    + + +
    + Acme +
    +
    +
    + 5/16/17 +
    +
    +
    + Value Proposition +
    +
    +
    + 70% +
    +
    +
    + $23,600,000 +
    +
    + + +
    + +
    +
    +
    +
    + + + + +
    +
    +
    + + +
    + Acme +
    +
    +
    + 6/12/18 +
    +
    +
    + Prospecting +
    +
    +
    + 42% +
    +
    +
    + $4,222,222 +
    +
    + + +
    + +
    +
    +
    +
    + + + + +
    +
    +
    + + +
    + salesforce.com +
    +
    +
    + 7/21/17 10:11AM +
    +
    +
    + Id. Decision Makers +
    +
    +
    + 42% +
    +
    +
    + $24,200 +
    +
    + + +
    + +
    +
    +
    +
    + + + + +
    +
    +
    + + +
    + Acme +
    +
    +
    + 3/18/18 +
    +
    +
    + Value Proposition +
    +
    +
    + 66% +
    +
    +
    + $22,000,000 +
    +
    + + +
    + +
    +
    +
    +
    + + + + +
    +
    +
    + + +
    + Acme +
    +
    +
    + 1/31/18 +
    +
    +
    + Prospecting +
    +
    +
    + 36% +
    +
    +
    + $4,322,000 +
    +
    + + +
    + +
    +
    +
    +
    + + + + +
    +
    +
    + + +
    + salesforce.com +
    +
    +
    + 2/21/17 8:33PM +
    +
    +
    + Id. Decision Makers +
    +
    +
    + 72% +
    +
    +
    + $15,000 +
    +
    + + +
    + +
    +
    +
    +
    + + +`; diff --git a/components/data-table/__docs__/storybook-stories.jsx b/components/data-table/__docs__/storybook-stories.jsx new file mode 100644 index 0000000000..a0b69b551d --- /dev/null +++ b/components/data-table/__docs__/storybook-stories.jsx @@ -0,0 +1,50 @@ +import React from 'react'; +import { storiesOf } from '@storybook/react'; +import { action } from '@storybook/addon-actions'; +import IconSettings from '../../icon-settings'; + +import { DATA_TABLE } from '../../../utilities/constants'; + +import Advanced from '../__examples__/advanced'; +import AdvancedHeaderRow from '../__examples__/advanced-header-row'; +import AdvancedSingleSelect from '../__examples__/advanced-single-select'; +import AdvancedSingleSelectFixedHeader from '../__examples__/advanced-single-select-fixed-header'; +import BasicFixedLayout from '../__examples__/basic-fixed-layout'; +import BasicFluid from '../__examples__/basic-fluid'; +import BasicFluidColumnBordered from '../__examples__/basic-fluid-column-bordered'; +import BasicFluidNoRowHover from '../__examples__/basic-fluid-no-row-hover'; +import BasicFluidStriped from '../__examples__/basic-fluid-striped'; +import FixedHeader from '../__examples__/fixed-header'; +import FixedHeaderHorizontalScroller from '../__examples__/fixed-header-horizontal-scrolling'; +import JoinedWithPageHeader from '../__examples__/joined-with-page-header'; +import CustomClasses from '../__examples__/custom-classes'; +import InfiniteScrolling from '../__examples__/infinite-scrolling'; + +storiesOf(DATA_TABLE, module) + .addDecorator((getStory) => ( +
    + {getStory()} +
    + )) + .add('Basic Fluid Layout (Default)', () => ) + .add('Basic Fluid Layout - Striped', () => ) + .add('Basic Fluid Layout - No Row Hover', () => ) + .add('Basic Fluid Layout - Column Bordered', () => ( + + )) + .add('Basic Fixed Layout', () => ) + .add('Advanced (Fixed Layout)', () => ) + .add('Advanced Single Select (Fixed Layout)', () => ( + + )) + .add('Advanced Single Select (Fixed Header)', () => ( + + )) + .add('Advanced with Header Row', () => ) + .add('Fixed Header', () => ) + .add('Fixed Header Horizontal Scrolling', () => ( + + )) + .add('Joined with Page Header', () => ) + .add('Custom Classes', () => ) + .add('Infinite Scrolling', () => ); diff --git a/components/data-table/__examples__/advanced-header-row.jsx b/components/data-table/__examples__/advanced-header-row.jsx new file mode 100644 index 0000000000..ab75ca0f76 --- /dev/null +++ b/components/data-table/__examples__/advanced-header-row.jsx @@ -0,0 +1,160 @@ +import React from 'react'; + +import DataTable from '~/components/data-table'; // `~` is replaced with design-system-react at runtime +import DataTableColumn from '~/components/data-table/column'; +import DataTableCell from '~/components/data-table/cell'; +import IconSettings from '~/components/icon-settings'; + +const CustomHeaderRow = ({ columns, item }) => ( + // +1 colSpan due to selection. + + +

    + {item.heading} +

    + + +); +CustomHeaderRow.displayName = DataTableCell.displayName; + +class Example extends React.Component { + static displayName = 'DataTableExample'; + + state = { + sortColumn: 'opportunityName', + sortColumnDirection: { + opportunityName: 'asc', + }, + items: [ + { + type: 'header-row', + id: 'header-row-example-id-1', + heading: 'Argentina', + ariaLevel: 1, + }, + { + id: '8IKSDFZV91', + headerId: 'header-row-example-id-1', + opportunityName: 'Mule Systems', + accountName: 'MuleSoft', + closeDate: '3/31/17 2:05PM', + stage: 'Processing', + confidence: '80%', + amount: '$14,000', + contact: 'bob@mulesoft.com', + }, + { + id: '8IKZHZZV80', + opportunityName: 'Acme - 1,200 Widgets', + headerId: 'header-row-example-id-1', + accountName: 'Acme', + closeDate: '4/10/15', + stage: 'Value Proposition', + confidence: '70%', + amount: '$25,000,000', + contact: 'jrogers@acme.com', + }, + { + id: '5GJOOOPWU7', + opportunityName: 'Acme - 200 Widgets', + headerId: 'header-row-example-id-1', + accountName: 'Acme', + closeDate: '1/31/15', + stage: 'Prospecting', + confidence: '30%', + amount: '$5,000,000', + contact: 'bob@acme.com', + }, + { + type: 'header-row', + id: 'header-row-example-id-2', + heading: 'Argentina > Autonomous City of Buenos Aires', + ariaLevel: 2, + }, + { + id: '8SDFDSZHZZV34', + headerId: 'header-row-example-id-2', + opportunityName: 'salesforce.com - 5,000 Widgets', + accountName: 'MulesSoft', + closeDate: '10/31/18 4:15AM', + stage: 'Id. Decision Makers', + confidence: '35%', + amount: '$50,000', + contact: 'chyral@salesforce.com', + }, + { + type: 'header-row', + id: 'header-row-example-id-3', + heading: 'Argentina > Autonomous City of Buenos Aires > Belgrano', + ariaLevel: 3, + }, + { + id: '8IKZHWERWRV81', + headerId: 'header-row-example-id-3', + opportunityName: 'salesforce.com - 1,000 Widgets', + accountName: 'salesforce.com', + closeDate: '1/31/15 3:45PM', + stage: 'Id. Decision Makers', + confidence: '60%', + amount: '$25,000', + contact: 'nathan@salesforce.com', + }, + ], + selection: [], + }; + + handleChanged = (event, data) => { + this.setState({ selection: data.selection }); + console.log(event, data); + }; + + render() { + return ( +
    + + + + + + + + + + + +
    + ); + } +} + +export default Example; // export is replaced with `ReactDOM.render(, mountNode);` at runtime diff --git a/components/data-table/__examples__/advanced-single-select-fixed-header.jsx b/components/data-table/__examples__/advanced-single-select-fixed-header.jsx new file mode 100644 index 0000000000..81e1345c47 --- /dev/null +++ b/components/data-table/__examples__/advanced-single-select-fixed-header.jsx @@ -0,0 +1,210 @@ +import React from 'react'; + +import Dropdown from '~/components/menu-dropdown'; +import DataTable from '~/components/data-table'; // `~` is replaced with design-system-react at runtime +import DataTableColumn from '~/components/data-table/column'; +import DataTableCell from '~/components/data-table/cell'; +import DataTableRowActions from '~/components/data-table/row-actions'; +import IconSettings from '~/components/icon-settings'; + +const CustomDataTableCell = ({ children, ...props }) => ( + + { + event.preventDefault(); + }} + > + {children} + + +); +CustomDataTableCell.displayName = DataTableCell.displayName; + +class Example extends React.Component { + static displayName = 'DataTableExample'; + + state = { + sortColumn: 'opportunityName', + sortColumnDirection: { + opportunityName: 'asc', + }, + items: [ + { + id: '8IKZHZZV80', + opportunityName: 'Acme - 1,200 Widgets', + accountName: 'Acme', + closeDate: '4/10/15', + stage: 'Value Proposition', + confidence: '70%', + amount: '$25,000,000', + contact: 'jrogers@acme.com', + }, + { + id: '5GJOOOPWU7', + opportunityName: 'Acme - 200 Widgets', + accountName: 'Acme', + closeDate: '1/31/15', + stage: 'Prospecting', + confidence: '30%', + amount: '$5,000,000', + contact: 'bob@acme.com', + }, + { + id: '8IKZHZZV81', + opportunityName: 'salesforce.com - 1,000 Widgets', + accountName: 'salesforce.com', + closeDate: '1/31/15 3:45PM', + stage: 'Id. Decision Makers', + confidence: '60%', + amount: '$25,000', + contact: 'nathan@salesforce.com', + }, + ], + selection: [], + }; + + handleChanged = (event, data) => { + this.setState({ selection: data.selection }); + console.log('event: ', event, ', data: ', data); + }; + + handleRowAction = (item, action) => { + console.log(item, action); + }; + + handleSort = (sortColumn, ...rest) => { + if (this.props.log) { + this.props.log('sort')(sortColumn, ...rest); + } + + const sortProperty = sortColumn.property; + const { sortDirection } = sortColumn; + const newState = { + sortColumn: sortProperty, + sortColumnDirection: { + [sortProperty]: sortDirection, + }, + items: [...this.state.items], + }; + + // needs to work in both directions + newState.items = newState.items.sort((a, b) => { + let val = 0; + + if (a[sortProperty] > b[sortProperty]) { + val = 1; + } + if (a[sortProperty] < b[sortProperty]) { + val = -1; + } + + if (sortDirection === 'desc') { + val *= -1; + } + + return val; + }); + + this.setState(newState); + }; + + render() { + return ( +
    + + + + + + + + + + + + + + } + /> + + +
    + ); + } +} + +export default Example; // export is replaced with `ReactDOM.render(, mountNode);` at runtime diff --git a/components/data-table/__examples__/advanced-single-select.jsx b/components/data-table/__examples__/advanced-single-select.jsx new file mode 100644 index 0000000000..81e1345c47 --- /dev/null +++ b/components/data-table/__examples__/advanced-single-select.jsx @@ -0,0 +1,210 @@ +import React from 'react'; + +import Dropdown from '~/components/menu-dropdown'; +import DataTable from '~/components/data-table'; // `~` is replaced with design-system-react at runtime +import DataTableColumn from '~/components/data-table/column'; +import DataTableCell from '~/components/data-table/cell'; +import DataTableRowActions from '~/components/data-table/row-actions'; +import IconSettings from '~/components/icon-settings'; + +const CustomDataTableCell = ({ children, ...props }) => ( + + { + event.preventDefault(); + }} + > + {children} + + +); +CustomDataTableCell.displayName = DataTableCell.displayName; + +class Example extends React.Component { + static displayName = 'DataTableExample'; + + state = { + sortColumn: 'opportunityName', + sortColumnDirection: { + opportunityName: 'asc', + }, + items: [ + { + id: '8IKZHZZV80', + opportunityName: 'Acme - 1,200 Widgets', + accountName: 'Acme', + closeDate: '4/10/15', + stage: 'Value Proposition', + confidence: '70%', + amount: '$25,000,000', + contact: 'jrogers@acme.com', + }, + { + id: '5GJOOOPWU7', + opportunityName: 'Acme - 200 Widgets', + accountName: 'Acme', + closeDate: '1/31/15', + stage: 'Prospecting', + confidence: '30%', + amount: '$5,000,000', + contact: 'bob@acme.com', + }, + { + id: '8IKZHZZV81', + opportunityName: 'salesforce.com - 1,000 Widgets', + accountName: 'salesforce.com', + closeDate: '1/31/15 3:45PM', + stage: 'Id. Decision Makers', + confidence: '60%', + amount: '$25,000', + contact: 'nathan@salesforce.com', + }, + ], + selection: [], + }; + + handleChanged = (event, data) => { + this.setState({ selection: data.selection }); + console.log('event: ', event, ', data: ', data); + }; + + handleRowAction = (item, action) => { + console.log(item, action); + }; + + handleSort = (sortColumn, ...rest) => { + if (this.props.log) { + this.props.log('sort')(sortColumn, ...rest); + } + + const sortProperty = sortColumn.property; + const { sortDirection } = sortColumn; + const newState = { + sortColumn: sortProperty, + sortColumnDirection: { + [sortProperty]: sortDirection, + }, + items: [...this.state.items], + }; + + // needs to work in both directions + newState.items = newState.items.sort((a, b) => { + let val = 0; + + if (a[sortProperty] > b[sortProperty]) { + val = 1; + } + if (a[sortProperty] < b[sortProperty]) { + val = -1; + } + + if (sortDirection === 'desc') { + val *= -1; + } + + return val; + }); + + this.setState(newState); + }; + + render() { + return ( +
    + + + + + + + + + + + + + + } + /> + + +
    + ); + } +} + +export default Example; // export is replaced with `ReactDOM.render(, mountNode);` at runtime diff --git a/components/data-table/__examples__/advanced.jsx b/components/data-table/__examples__/advanced.jsx new file mode 100644 index 0000000000..19f97196fc --- /dev/null +++ b/components/data-table/__examples__/advanced.jsx @@ -0,0 +1,226 @@ +import React from 'react'; + +import Dropdown from '~/components/menu-dropdown'; +import DataTable from '~/components/data-table'; // `~` is replaced with design-system-react at runtime +import DataTableColumn from '~/components/data-table/column'; +import DataTableCell from '~/components/data-table/cell'; +import DataTableRowActions from '~/components/data-table/row-actions'; +import IconSettings from '~/components/icon-settings'; + +const CustomDataTableCell = ({ children, ...props }) => ( + + { + event.preventDefault(); + }} + > + {children} + + +); +CustomDataTableCell.displayName = DataTableCell.displayName; + +class Example extends React.Component { + static displayName = 'DataTableExample'; + + state = { + sortColumn: 'opportunityName', + sortColumnDirection: { + opportunityName: 'asc', + }, + items: [ + { + id: '8IKZHZZV80', + opportunityName: 'Acme - 1,200 Widgets', + accountName: 'Acme', + closeDate: '4/10/15', + stage: 'Value Proposition', + confidence: '70%', + amount: '$25,000,000', + contact: 'jrogers@acme.com', + }, + { + id: '5GJOOOPWU7', + opportunityName: 'Acme - 200 Widgets', + accountName: 'Acme', + closeDate: '1/31/15', + stage: 'Prospecting', + confidence: '30%', + amount: '$5,000,000', + contact: 'bob@acme.com', + }, + { + id: '8IKZHZZV81', + opportunityName: 'salesforce.com - 1,000 Widgets', + accountName: 'salesforce.com', + closeDate: '1/31/15 3:45PM', + stage: 'Id. Decision Makers', + confidence: '60%', + amount: '$25,000', + contact: 'nathan@salesforce.com', + }, + ], + selection: [ + { + id: '8IKZHZZV81', + opportunityName: 'salesforce.com - 1,000 Widgets', + accountName: 'salesforce.com', + closeDate: '1/31/15 3:45PM', + stage: 'Id. Decision Makers', + confidence: '60%', + amount: '$25,000', + contact: 'nathan@salesforce.com', + }, + ], + }; + + handleChanged = (event, data) => { + this.setState({ selection: data.selection }); + console.log(event, data); + }; + + handleRowAction = (item, action) => { + console.log(item, action); + }; + + handleSort = (sortColumn, ...rest) => { + if (this.props.log) { + this.props.log('sort')(sortColumn, ...rest); + } + + const sortProperty = sortColumn.property; + const { sortDirection } = sortColumn; + const newState = { + sortColumn: sortProperty, + sortColumnDirection: { + [sortProperty]: sortDirection, + }, + items: [...this.state.items], + }; + + // needs to work in both directions + newState.items = newState.items.sort((a, b) => { + let val = 0; + + if (a[sortProperty] > b[sortProperty]) { + val = 1; + } + if (a[sortProperty] < b[sortProperty]) { + val = -1; + } + + if (sortDirection === 'desc') { + val *= -1; + } + + return val; + }); + + this.setState(newState); + }; + + render() { + return ( +
    + + + + + + + + + + + + + + } + /> + + +
    + ); + } +} + +export default Example; // export is replaced with `ReactDOM.render(, mountNode);` at runtime diff --git a/components/data-table/__examples__/basic-fixed-layout.jsx b/components/data-table/__examples__/basic-fixed-layout.jsx new file mode 100644 index 0000000000..b3130693a4 --- /dev/null +++ b/components/data-table/__examples__/basic-fixed-layout.jsx @@ -0,0 +1,103 @@ +import React from 'react'; + +import DataTable from '~/components/data-table'; // `~` is replaced with design-system-react at runtime +import DataTableColumn from '~/components/data-table/column'; +import IconSettings from '~/components/icon-settings'; + +const columns = [ + , + + , + + , + + , + + , + + , + + , +]; + +class Example extends React.Component { + static displayName = 'DataTableExample'; + + state = { + items: [ + { + id: '8IKZHZZV80', + opportunityName: 'Cloudhub', + accountName: 'Cloudhub', + closeDate: '4/14/2015', + stage: 'Prospecting', + confidence: '20%', + amount: '$25k', + contact: 'jrogers@cloudhub.com', + }, + { + id: '5GJOOOPWU7', + opportunityName: 'Cloudhub + Anypoint Connectors', + accountName: 'Cloudhub', + closeDate: '4/14/2015', + stage: 'Prospecting', + confidence: '20%', + amount: '$25k', + contact: 'jrogers@cloudhub.com', + }, + { + id: '8IKZHZZV81', + opportunityName: 'Cloudhub', + accountName: 'Cloudhub', + closeDate: '4/14/2015', + stage: 'Prospecting', + confidence: '20%', + amount: '$25k', + contact: 'jrogers@cloudhub.com', + }, + ], + }; + + render() { + return ( + +
    + + {columns} + +
    +
    + ); + } +} + +export default Example; // export is replaced with `ReactDOM.render(, mountNode);` at runtime diff --git a/components/data-table/__examples__/basic-fluid-column-bordered.jsx b/components/data-table/__examples__/basic-fluid-column-bordered.jsx new file mode 100644 index 0000000000..8974561786 --- /dev/null +++ b/components/data-table/__examples__/basic-fluid-column-bordered.jsx @@ -0,0 +1,105 @@ +import React from 'react'; + +import DataTable from '~/components/data-table'; // `~` is replaced with design-system-react at runtime +import DataTableColumn from '~/components/data-table/column'; +import DataTableCell from '~/components/data-table/cell'; +import IconSettings from '~/components/icon-settings'; + +const CustomDataTableCell = ({ children, ...props }) => ( + + { + event.preventDefault(); + }} + > + {children} + + +); +CustomDataTableCell.displayName = DataTableCell.displayName; + +const columns = [ + + + , + + , + + , + + , + + , + + , + + + + , +]; + +class Example extends React.Component { + static displayName = 'DataTableExample'; + + state = { + items: [ + { + id: '8IKZHZZV80', + opportunityName: 'Cloudhub', + accountName: 'Cloudhub', + closeDate: '4/14/2015', + stage: 'Prospecting', + confidence: '20%', + amount: '$25k', + contact: 'jrogers@cloudhub.com', + }, + { + id: '5GJOOOPWU7', + opportunityName: 'Cloudhub + Anypoint Connectors', + accountName: 'Cloudhub', + closeDate: '4/14/2015', + stage: 'Prospecting', + confidence: '20%', + amount: '$25k', + contact: 'jrogers@cloudhub.com', + }, + { + id: '8IKZHZZV81', + opportunityName: 'Cloudhub', + accountName: 'Cloudhub', + closeDate: '4/14/2015', + stage: 'Prospecting', + confidence: '20%', + amount: '$25k', + contact: 'jrogers@cloudhub.com', + }, + ], + }; + + render() { + return ( + +
    + + {columns} + +
    +
    + ); + } +} + +export default Example; // export is replaced with `ReactDOM.render(, mountNode);` at runtime diff --git a/components/data-table/__examples__/basic-fluid-no-row-hover.jsx b/components/data-table/__examples__/basic-fluid-no-row-hover.jsx new file mode 100644 index 0000000000..257a94f9df --- /dev/null +++ b/components/data-table/__examples__/basic-fluid-no-row-hover.jsx @@ -0,0 +1,105 @@ +import React from 'react'; + +import DataTable from '~/components/data-table'; // `~` is replaced with design-system-react at runtime +import DataTableColumn from '~/components/data-table/column'; +import DataTableCell from '~/components/data-table/cell'; +import IconSettings from '~/components/icon-settings'; + +const CustomDataTableCell = ({ children, ...props }) => ( + + { + event.preventDefault(); + }} + > + {children} + + +); +CustomDataTableCell.displayName = DataTableCell.displayName; + +const columns = [ + + + , + + , + + , + + , + + , + + , + + + + , +]; + +class Example extends React.Component { + static displayName = 'DataTableExample'; + + state = { + items: [ + { + id: '8IKZHZZV80', + opportunityName: 'Cloudhub', + accountName: 'Cloudhub', + closeDate: '4/14/2015', + stage: 'Prospecting', + confidence: '20%', + amount: '$25k', + contact: 'jrogers@cloudhub.com', + }, + { + id: '5GJOOOPWU7', + opportunityName: 'Cloudhub + Anypoint Connectors', + accountName: 'Cloudhub', + closeDate: '4/14/2015', + stage: 'Prospecting', + confidence: '20%', + amount: '$25k', + contact: 'jrogers@cloudhub.com', + }, + { + id: '8IKZHZZV81', + opportunityName: 'Cloudhub', + accountName: 'Cloudhub', + closeDate: '4/14/2015', + stage: 'Prospecting', + confidence: '20%', + amount: '$25k', + contact: 'jrogers@cloudhub.com', + }, + ], + }; + + render() { + return ( + +
    + + {columns} + +
    +
    + ); + } +} + +export default Example; // export is replaced with `ReactDOM.render(, mountNode);` at runtime diff --git a/components/data-table/__examples__/basic-fluid-striped.jsx b/components/data-table/__examples__/basic-fluid-striped.jsx new file mode 100644 index 0000000000..3cc3ff7377 --- /dev/null +++ b/components/data-table/__examples__/basic-fluid-striped.jsx @@ -0,0 +1,105 @@ +import React from 'react'; + +import DataTable from '~/components/data-table'; // `~` is replaced with design-system-react at runtime +import DataTableColumn from '~/components/data-table/column'; +import DataTableCell from '~/components/data-table/cell'; +import IconSettings from '~/components/icon-settings'; + +const CustomDataTableCell = ({ children, ...props }) => ( + + { + event.preventDefault(); + }} + > + {children} + + +); +CustomDataTableCell.displayName = DataTableCell.displayName; + +const columns = [ + + + , + + , + + , + + , + + , + + , + + + + , +]; + +class Example extends React.Component { + static displayName = 'DataTableExample'; + + state = { + items: [ + { + id: '8IKZHZZV80', + opportunityName: 'Cloudhub', + accountName: 'Cloudhub', + closeDate: '4/14/2015', + stage: 'Prospecting', + confidence: '20%', + amount: '$25k', + contact: 'jrogers@cloudhub.com', + }, + { + id: '5GJOOOPWU7', + opportunityName: 'Cloudhub + Anypoint Connectors', + accountName: 'Cloudhub', + closeDate: '4/14/2015', + stage: 'Prospecting', + confidence: '20%', + amount: '$25k', + contact: 'jrogers@cloudhub.com', + }, + { + id: '8IKZHZZV81', + opportunityName: 'Cloudhub', + accountName: 'Cloudhub', + closeDate: '4/14/2015', + stage: 'Prospecting', + confidence: '20%', + amount: '$25k', + contact: 'jrogers@cloudhub.com', + }, + ], + }; + + render() { + return ( + +
    + + {columns} + +
    +
    + ); + } +} + +export default Example; // export is replaced with `ReactDOM.render(, mountNode);` at runtime diff --git a/components/data-table/__examples__/basic-fluid.jsx b/components/data-table/__examples__/basic-fluid.jsx new file mode 100644 index 0000000000..dec5a95547 --- /dev/null +++ b/components/data-table/__examples__/basic-fluid.jsx @@ -0,0 +1,101 @@ +import React from 'react'; + +import DataTable from '~/components/data-table'; // `~` is replaced with design-system-react at runtime +import DataTableColumn from '~/components/data-table/column'; +import DataTableCell from '~/components/data-table/cell'; +import IconSettings from '~/components/icon-settings'; + +const CustomDataTableCell = ({ children, ...props }) => ( + + { + event.preventDefault(); + }} + > + {children} + + +); +CustomDataTableCell.displayName = DataTableCell.displayName; + +const columns = [ + + + , + + , + + , + + , + + , + + , + + + + , +]; + +class Example extends React.Component { + static displayName = 'DataTableExample'; + + state = { + items: [ + { + id: '8IKZHZZV80', + opportunityName: 'Cloudhub', + accountName: 'Cloudhub', + closeDate: '4/14/2015', + stage: 'Prospecting', + confidence: '20%', + amount: '$25k', + contact: 'jrogers@cloudhub.com', + }, + { + id: '5GJOOOPWU7', + opportunityName: 'Cloudhub + Anypoint Connectors', + accountName: 'Cloudhub', + closeDate: '4/14/2015', + stage: 'Prospecting', + confidence: '20%', + amount: '$25k', + contact: 'jrogers@cloudhub.com', + }, + { + id: '8IKZHZZV81', + opportunityName: 'Cloudhub', + accountName: 'Cloudhub', + closeDate: '4/14/2015', + stage: 'Prospecting', + confidence: '20%', + amount: '$25k', + contact: 'jrogers@cloudhub.com', + }, + ], + }; + + render() { + return ( + +
    + + {columns} + +
    +
    + ); + } +} + +export default Example; // export is replaced with `ReactDOM.render(, mountNode);` at runtime diff --git a/components/data-table/__examples__/custom-classes.jsx b/components/data-table/__examples__/custom-classes.jsx new file mode 100644 index 0000000000..7566f617d8 --- /dev/null +++ b/components/data-table/__examples__/custom-classes.jsx @@ -0,0 +1,84 @@ +import React from 'react'; + +import DataTable from '~/components/data-table'; // `~` is replaced with design-system-react at runtime +import DataTableColumn from '~/components/data-table/column'; +import IconSettings from '~/components/icon-settings'; + +const columns = [ + , + , + + , + + , + + , + + , + + , +]; + +class Example extends React.Component { + static displayName = 'DataTableExample'; + + state = { + items: [ + { + id: '8IKZHZZV80', + opportunityName: 'Cloudhub', + accountName: 'Cloudhub', + closeDate: '4/14/2015', + stage: 'Prospecting', + confidence: '20%', + amount: '$25k', + contact: 'jrogers@cloudhub.com', + classNameRow: 'slds-text-color_success', + }, + { + id: '5GJOOOPWU7', + opportunityName: 'Cloudhub + Anypoint Connectors', + accountName: 'Cloudhub', + closeDate: '4/14/2015', + stage: 'Prospecting', + confidence: '20%', + amount: '$25k', + contact: 'jrogers@cloudhub.com', + classNameRow: 'slds-text-font_monospace slds-text-heading_medium', + }, + { + id: '8IKZHZZV81', + opportunityName: 'Cloudhub', + accountName: 'Cloudhub', + closeDate: '4/14/2015', + stage: 'Prospecting', + confidence: '20%', + amount: '$25k', + contact: 'jrogers@cloudhub.com', + classNameRow: 'slds-is-selected', + }, + ], + }; + + render() { + return ( + +
    + + {columns} + +
    +
    + ); + } +} + +export default Example; // export is replaced with `ReactDOM.render(, mountNode);` at runtime diff --git a/components/data-table/__examples__/fixed-header-horizontal-scrolling.jsx b/components/data-table/__examples__/fixed-header-horizontal-scrolling.jsx new file mode 100644 index 0000000000..04df8d98df --- /dev/null +++ b/components/data-table/__examples__/fixed-header-horizontal-scrolling.jsx @@ -0,0 +1,306 @@ +import React from 'react'; + +import Dropdown from '~/components/menu-dropdown'; +import DataTable from '~/components/data-table'; // `~` is replaced with design-system-react at runtime +import DataTableColumn from '~/components/data-table/column'; +import DataTableCell from '~/components/data-table/cell'; +import DataTableRowActions from '~/components/data-table/row-actions'; +import IconSettings from '~/components/icon-settings'; + +const CustomDataTableCell = ({ children, ...props }) => ( + + { + event.preventDefault(); + }} + > + {children} + + +); +CustomDataTableCell.displayName = DataTableCell.displayName; + +class Example extends React.Component { + static displayName = 'DataTableExample'; + + state = { + sortColumn: 'opportunityName', + sortColumnDirection: { + opportunityName: 'asc', + }, + items: [ + { + id: '896a6a60', + opportunityName: 'Acme - 1,200 Widgets', + accountName: 'Acme', + closeDate: '4/10/15', + stage: 'Value Proposition', + confidence: '70%', + amount: '$25,000,000', + contact: 'jrogers@acme.com', + }, + { + id: '44da9dcd', + opportunityName: 'Acme - 200 Widgets', + accountName: 'Acme', + closeDate: '1/31/15', + stage: 'Prospecting', + confidence: '30%', + amount: '$5,000,000', + contact: 'bob@acme.com', + }, + { + id: 'f988a721', + opportunityName: 'salesforce.com - 1,000 Widgets', + accountName: 'salesforce.com', + closeDate: '1/31/15 3:45PM', + stage: 'Id. Decision Makers', + confidence: '60%', + amount: '$25,000', + contact: 'nathan@salesforce.com', + }, + { + id: 'd7679cdd', + opportunityName: 'Acme - 800 Widgets', + accountName: 'Acme', + closeDate: '6/11/18', + stage: 'Value Proposition', + confidence: '85%', + amount: '$970,000', + contact: 'jrogers@acme.com', + }, + { + id: '0085f7a0', + opportunityName: 'Acme - 744 Widgets', + accountName: 'Acme', + closeDate: '4/15/17', + stage: 'Prospecting', + confidence: '56%', + amount: '$3,110,000', + contact: 'bob@acme.com', + }, + { + id: 'b7acc778', + opportunityName: 'salesforce.com - 847 Widgets', + accountName: 'salesforce.com', + closeDate: '5/23/18 1:02PM', + stage: 'Id. Decision Makers', + confidence: '62%', + amount: '$18,000', + contact: 'nathan@salesforce.com', + }, + { + id: '17991de5', + opportunityName: 'Acme - 1,621 Widgets', + accountName: 'Acme', + closeDate: '5/16/17', + stage: 'Value Proposition', + confidence: '70%', + amount: '$23,600,000', + contact: 'jrogers@acme.com', + }, + { + id: '09b2cee9', + opportunityName: 'Acme - 430 Widgets', + accountName: 'Acme', + closeDate: '6/12/18', + stage: 'Prospecting', + confidence: '42%', + amount: '$4,222,222', + contact: 'bob@acme.com', + }, + { + id: 'd0035700', + opportunityName: 'salesforce.com - 677 Widgets', + accountName: 'salesforce.com', + closeDate: '7/21/17 10:11AM', + stage: 'Id. Decision Makers', + confidence: '42%', + amount: '$24,200', + contact: 'nathan@salesforce.com', + }, + { + id: '4a526f0c', + opportunityName: 'Acme - 1,444 Widgets', + accountName: 'Acme', + closeDate: '3/18/18', + stage: 'Value Proposition', + confidence: '66%', + amount: '$22,000,000', + contact: 'jrogers@acme.com', + }, + { + id: '9a5dbdb2', + opportunityName: 'Acme - 320 Widgets', + accountName: 'Acme', + closeDate: '1/31/18', + stage: 'Prospecting', + confidence: '36%', + amount: '$4,322,000', + contact: 'bob@acme.com', + }, + { + id: '356dbb52', + opportunityName: 'salesforce.com - 4,000 Widgets', + accountName: 'salesforce.com', + closeDate: '2/21/17 8:33PM', + stage: 'Id. Decision Makers', + confidence: '72%', + amount: '$15,000', + contact: 'nathan@salesforce.com', + }, + ], + selection: [], + }; + + handleChanged = (event, data) => { + this.setState({ selection: data.selection }); + console.log(event, data); + }; + + handleRowAction = (item, action) => { + console.log(item, action); + }; + + handleSort = (sortColumn, ...rest) => { + if (this.props.log) { + this.props.log('sort')(sortColumn, ...rest); + } + + const sortProperty = sortColumn.property; + const { sortDirection } = sortColumn; + const newState = { + sortColumn: sortProperty, + sortColumnDirection: { + [sortProperty]: sortDirection, + }, + items: [...this.state.items], + }; + + // needs to work in both directions + newState.items = newState.items.sort((a, b) => { + let val = 0; + + if (a[sortProperty] > b[sortProperty]) { + val = 1; + } + if (a[sortProperty] < b[sortProperty]) { + val = -1; + } + + if (sortDirection === 'desc') { + val *= -1; + } + + return val; + }); + + this.setState(newState); + }; + + render() { + return ( +
    { + this.wrapperRef = ref; + }} + style={{ + height: '200px', + width: '400px', + }} + > + + + + + + + + + + + + + + } + /> + + +
    + ); + } +} + +export default Example; // export is replaced with `ReactDOM.render(, mountNode);` at runtime diff --git a/components/data-table/__examples__/fixed-header.jsx b/components/data-table/__examples__/fixed-header.jsx new file mode 100644 index 0000000000..02996646be --- /dev/null +++ b/components/data-table/__examples__/fixed-header.jsx @@ -0,0 +1,301 @@ +import React from 'react'; + +import Dropdown from '~/components/menu-dropdown'; +import DataTable from '~/components/data-table'; // `~` is replaced with design-system-react at runtime +import DataTableColumn from '~/components/data-table/column'; +import DataTableCell from '~/components/data-table/cell'; +import DataTableRowActions from '~/components/data-table/row-actions'; +import IconSettings from '~/components/icon-settings'; + +const CustomDataTableCell = ({ children, ...props }) => ( + + { + event.preventDefault(); + }} + > + {children} + + +); +CustomDataTableCell.displayName = DataTableCell.displayName; + +class Example extends React.Component { + static displayName = 'DataTableExample'; + + state = { + sortColumn: 'opportunityName', + sortColumnDirection: { + opportunityName: 'asc', + }, + items: [ + { + id: '896a6a60', + opportunityName: 'Acme - 1,200 Widgets', + accountName: 'Acme', + closeDate: '4/10/15', + stage: 'Value Proposition', + confidence: '70%', + amount: '$25,000,000', + contact: 'jrogers@acme.com', + }, + { + id: '44da9dcd', + opportunityName: 'Acme - 200 Widgets', + accountName: 'Acme', + closeDate: '1/31/15', + stage: 'Prospecting', + confidence: '30%', + amount: '$5,000,000', + contact: 'bob@acme.com', + }, + { + id: 'f988a721', + opportunityName: 'salesforce.com - 1,000 Widgets', + accountName: 'salesforce.com', + closeDate: '1/31/15 3:45PM', + stage: 'Id. Decision Makers', + confidence: '60%', + amount: '$25,000', + contact: 'nathan@salesforce.com', + }, + { + id: 'd7679cdd', + opportunityName: 'Acme - 800 Widgets', + accountName: 'Acme', + closeDate: '6/11/18', + stage: 'Value Proposition', + confidence: '85%', + amount: '$970,000', + contact: 'jrogers@acme.com', + }, + { + id: '0085f7a0', + opportunityName: 'Acme - 744 Widgets', + accountName: 'Acme', + closeDate: '4/15/17', + stage: 'Prospecting', + confidence: '56%', + amount: '$3,110,000', + contact: 'bob@acme.com', + }, + { + id: 'b7acc778', + opportunityName: 'salesforce.com - 847 Widgets', + accountName: 'salesforce.com', + closeDate: '5/23/18 1:02PM', + stage: 'Id. Decision Makers', + confidence: '62%', + amount: '$18,000', + contact: 'nathan@salesforce.com', + }, + { + id: '17991de5', + opportunityName: 'Acme - 1,621 Widgets', + accountName: 'Acme', + closeDate: '5/16/17', + stage: 'Value Proposition', + confidence: '70%', + amount: '$23,600,000', + contact: 'jrogers@acme.com', + }, + { + id: '09b2cee9', + opportunityName: 'Acme - 430 Widgets', + accountName: 'Acme', + closeDate: '6/12/18', + stage: 'Prospecting', + confidence: '42%', + amount: '$4,222,222', + contact: 'bob@acme.com', + }, + { + id: 'd0035700', + opportunityName: 'salesforce.com - 677 Widgets', + accountName: 'salesforce.com', + closeDate: '7/21/17 10:11AM', + stage: 'Id. Decision Makers', + confidence: '42%', + amount: '$24,200', + contact: 'nathan@salesforce.com', + }, + { + id: '4a526f0c', + opportunityName: 'Acme - 1,444 Widgets', + accountName: 'Acme', + closeDate: '3/18/18', + stage: 'Value Proposition', + confidence: '66%', + amount: '$22,000,000', + contact: 'jrogers@acme.com', + }, + { + id: '9a5dbdb2', + opportunityName: 'Acme - 320 Widgets', + accountName: 'Acme', + closeDate: '1/31/18', + stage: 'Prospecting', + confidence: '36%', + amount: '$4,322,000', + contact: 'bob@acme.com', + }, + { + id: '356dbb52', + opportunityName: 'salesforce.com - 4,000 Widgets', + accountName: 'salesforce.com', + closeDate: '2/21/17 8:33PM', + stage: 'Id. Decision Makers', + confidence: '72%', + amount: '$15,000', + contact: 'nathan@salesforce.com', + }, + ], + selection: [], + }; + + handleChanged = (event, data) => { + this.setState({ selection: data.selection }); + console.log(event, data); + }; + + handleRowAction = (item, action) => { + console.log(item, action); + }; + + handleSort = (sortColumn, ...rest) => { + if (this.props.log) { + this.props.log('sort')(sortColumn, ...rest); + } + + const sortProperty = sortColumn.property; + const { sortDirection } = sortColumn; + const newState = { + sortColumn: sortProperty, + sortColumnDirection: { + [sortProperty]: sortDirection, + }, + items: [...this.state.items], + }; + + // needs to work in both directions + newState.items = newState.items.sort((a, b) => { + let val = 0; + + if (a[sortProperty] > b[sortProperty]) { + val = 1; + } + if (a[sortProperty] < b[sortProperty]) { + val = -1; + } + + if (sortDirection === 'desc') { + val *= -1; + } + + return val; + }); + + this.setState(newState); + }; + + render() { + return ( +
    + + + + + + + + + + + + + + } + /> + + +
    + ); + } +} + +export default Example; // export is replaced with `ReactDOM.render(, mountNode);` at runtime diff --git a/components/data-table/__examples__/infinite-scrolling.jsx b/components/data-table/__examples__/infinite-scrolling.jsx new file mode 100644 index 0000000000..316cf8952c --- /dev/null +++ b/components/data-table/__examples__/infinite-scrolling.jsx @@ -0,0 +1,329 @@ +import React from 'react'; + +import Dropdown from '~/components/menu-dropdown'; +import DataTable from '~/components/data-table'; // `~` is replaced with design-system-react at runtime +import DataTableColumn from '~/components/data-table/column'; +import DataTableCell from '~/components/data-table/cell'; +import DataTableRowActions from '~/components/data-table/row-actions'; +import IconSettings from '~/components/icon-settings'; + +const ITEMS = [ + { + id: '896a6a60', + opportunityName: 'Acme - 1,200 Widgets', + accountName: 'Acme', + closeDate: '4/10/15', + stage: 'Value Proposition', + confidence: '70%', + amount: '$25,000,000', + contact: 'jrogers@acme.com', + }, + { + id: '44da9dcd', + opportunityName: 'Acme - 200 Widgets', + accountName: 'Acme', + closeDate: '1/31/15', + stage: 'Prospecting', + confidence: '30%', + amount: '$5,000,000', + contact: 'bob@acme.com', + }, + { + id: 'f988a721', + opportunityName: 'salesforce.com - 1,000 Widgets', + accountName: 'salesforce.com', + closeDate: '1/31/15 3:45PM', + stage: 'Id. Decision Makers', + confidence: '60%', + amount: '$25,000', + contact: 'nathan@salesforce.com', + }, + { + id: 'd7679cdd', + opportunityName: 'Acme - 800 Widgets', + accountName: 'Acme', + closeDate: '6/11/18', + stage: 'Value Proposition', + confidence: '85%', + amount: '$970,000', + contact: 'jrogers@acme.com', + }, + { + id: '0085f7a0', + opportunityName: 'Acme - 744 Widgets', + accountName: 'Acme', + closeDate: '4/15/17', + stage: 'Prospecting', + confidence: '56%', + amount: '$3,110,000', + contact: 'bob@acme.com', + }, + { + id: 'b7acc778', + opportunityName: 'salesforce.com - 847 Widgets', + accountName: 'salesforce.com', + closeDate: '5/23/18 1:02PM', + stage: 'Id. Decision Makers', + confidence: '62%', + amount: '$18,000', + contact: 'nathan@salesforce.com', + }, + { + id: '17991de5', + opportunityName: 'Acme - 1,621 Widgets', + accountName: 'Acme', + closeDate: '5/16/17', + stage: 'Value Proposition', + confidence: '70%', + amount: '$23,600,000', + contact: 'jrogers@acme.com', + }, + { + id: '09b2cee9', + opportunityName: 'Acme - 430 Widgets', + accountName: 'Acme', + closeDate: '6/12/18', + stage: 'Prospecting', + confidence: '42%', + amount: '$4,222,222', + contact: 'bob@acme.com', + }, + { + id: 'd0035700', + opportunityName: 'salesforce.com - 677 Widgets', + accountName: 'salesforce.com', + closeDate: '7/21/17 10:11AM', + stage: 'Id. Decision Makers', + confidence: '42%', + amount: '$24,200', + contact: 'nathan@salesforce.com', + }, + { + id: '4a526f0c', + opportunityName: 'Acme - 1,444 Widgets', + accountName: 'Acme', + closeDate: '3/18/18', + stage: 'Value Proposition', + confidence: '66%', + amount: '$22,000,000', + contact: 'jrogers@acme.com', + }, + { + id: '9a5dbdb2', + opportunityName: 'Acme - 320 Widgets', + accountName: 'Acme', + closeDate: '1/31/18', + stage: 'Prospecting', + confidence: '36%', + amount: '$4,322,000', + contact: 'bob@acme.com', + }, + { + id: '356dbb52', + opportunityName: 'salesforce.com - 4,000 Widgets', + accountName: 'salesforce.com', + closeDate: '2/21/17 8:33PM', + stage: 'Id. Decision Makers', + confidence: '72%', + amount: '$15,000', + contact: 'nathan@salesforce.com', + }, +]; + +const CustomDataTableCell = ({ children, ...props }) => ( + + { + event.preventDefault(); + }} + > + {children} + + +); +CustomDataTableCell.displayName = DataTableCell.displayName; + +class Example extends React.Component { + page = 0; + + isLoading = false; + + static displayName = 'DataTableExample'; + + state = { + sortColumn: 'opportunityName', + sortColumnDirection: { + opportunityName: 'asc', + }, + items: ITEMS, + selection: [], + hasMore: true, + }; + + handleChanged = (event, data) => { + this.setState({ selection: data.selection }); + console.log(event, data); + }; + + handleRowAction = (item, action) => { + console.log(item, action); + }; + + handleSort = (sortColumn, ...rest) => { + if (this.props.log) { + this.props.log('sort')(sortColumn, ...rest); + } + + const sortProperty = sortColumn.property; + const { sortDirection } = sortColumn; + const newState = { + sortColumn: sortProperty, + sortColumnDirection: { + [sortProperty]: sortDirection, + }, + items: [...this.state.items], + }; + + // needs to work in both directions + newState.items = newState.items.sort((a, b) => { + let val = 0; + + if (a[sortProperty] > b[sortProperty]) { + val = 1; + } + if (a[sortProperty] < b[sortProperty]) { + val = -1; + } + + if (sortDirection === 'desc') { + val *= -1; + } + + return val; + }); + + this.setState(newState); + }; + + handleLoadMore = () => { + if (!this.isLoading) { + setTimeout(() => { + const moreItems = ITEMS.map((item) => { + const copy = { ...item }; + copy.id += this.page.toString(); + return copy; + }); + this.page = this.page + 1; + const items = this.state.items.slice().concat(moreItems); + + this.setState({ items, hasMore: this.page !== 5 }, () => { + this.isLoading = false; + }); + }, 1000); + } + this.isLoading = true; + }; + + render() { + return ( +
    + + + + + + + + + + + + + + } + /> + + +
    + ); + } +} + +export default Example; // export is replaced with `ReactDOM.render(, mountNode);` at runtime diff --git a/components/data-table/__examples__/joined-with-page-header.jsx b/components/data-table/__examples__/joined-with-page-header.jsx new file mode 100644 index 0000000000..650e59d8a3 --- /dev/null +++ b/components/data-table/__examples__/joined-with-page-header.jsx @@ -0,0 +1,465 @@ +import React from 'react'; + +import Button from '~/components/button'; +import ButtonGroup from '~/components/button-group'; +import DataTable from '~/components/data-table'; +import DataTableColumn from '~/components/data-table/column'; +import DataTableCell from '~/components/data-table/cell'; +import DataTableRowActions from '~/components/data-table/row-actions'; +import Dropdown from '~/components/menu-dropdown'; +import DropdownTrigger from '~/components/menu-dropdown/button-trigger'; +import Icon from '~/components/icon'; +import IconSettings from '~/components/icon-settings'; +import PageHeader from '~/components/page-header'; +import PageHeaderControl from '~/components/page-header/control'; + +const CustomDataTableCell = ({ children, ...props }) => ( + + { + event.preventDefault(); + }} + > + {children} + + +); +CustomDataTableCell.displayName = DataTableCell.displayName; + +const actions = () => ( + + + + +
    + +
    + + +`; diff --git a/components/dynamic-icon/__docs__/storybook-stories.jsx b/components/dynamic-icon/__docs__/storybook-stories.jsx new file mode 100644 index 0000000000..af9506f640 --- /dev/null +++ b/components/dynamic-icon/__docs__/storybook-stories.jsx @@ -0,0 +1,23 @@ +import React from 'react'; +import { storiesOf } from '@storybook/react'; +import { DYNAMIC_ICON } from '../../../utilities/constants'; + +import Ellie from '../__examples__/ellie'; +import Eq from '../__examples__/eq'; +import Score from '../__examples__/score'; +import Strength from '../__examples__/strength'; +import Trend from '../__examples__/trend'; +import Typing from '../__examples__/typing'; +import Waffle from '../__examples__/waffle'; + +storiesOf(DYNAMIC_ICON, module) + .addDecorator((getStory) => ( +
    {getStory()}
    + )) + .add('Ellie', () => ) + .add('Eq', () => ) + .add('Score', () => ) + .add('Strength', () => ) + .add('Trend', () => ) + .add('Typing', () => ) + .add('Waffle', () => ); diff --git a/components/dynamic-icon/__examples__/ellie.jsx b/components/dynamic-icon/__examples__/ellie.jsx new file mode 100644 index 0000000000..9776a3f965 --- /dev/null +++ b/components/dynamic-icon/__examples__/ellie.jsx @@ -0,0 +1,31 @@ +import React from 'react'; +import DynamicIcon from '~/components/dynamic-icon'; // `~` is replaced with design-system-react at runtime +import IconSettings from '~/components/icon-settings'; + +class Example extends React.Component { + render() { + return ( + +
    +
    + +
    +
    + +
    +
    + +
    +
    +
    + ); + } +} + +Example.displayName = 'EllieExample'; // export is replaced with `ReactDOM.render(, mountNode);` at runtime +export default Example; diff --git a/components/dynamic-icon/__examples__/eq.jsx b/components/dynamic-icon/__examples__/eq.jsx new file mode 100644 index 0000000000..7418a678dc --- /dev/null +++ b/components/dynamic-icon/__examples__/eq.jsx @@ -0,0 +1,23 @@ +import React from 'react'; +import DynamicIcon from '~/components/dynamic-icon'; // `~` is replaced with design-system-react at runtime +import IconSettings from '~/components/icon-settings'; + +class Example extends React.Component { + render() { + return ( + +
    +
    + +
    +
    + +
    +
    +
    + ); + } +} + +Example.displayName = 'EqExample'; // export is replaced with `ReactDOM.render(, mountNode);` at runtime +export default Example; diff --git a/components/dynamic-icon/__examples__/score.jsx b/components/dynamic-icon/__examples__/score.jsx new file mode 100644 index 0000000000..42235000bb --- /dev/null +++ b/components/dynamic-icon/__examples__/score.jsx @@ -0,0 +1,27 @@ +import React from 'react'; +import DynamicIcon from '~/components/dynamic-icon'; // `~` is replaced with design-system-react at runtime +import IconSettings from '~/components/icon-settings'; + +class Example extends React.Component { + render() { + return ( + +
    +
    + +
    +
    + +
    +
    +
    + ); + } +} + +Example.displayName = 'ScoreExample'; // export is replaced with `ReactDOM.render(, mountNode);` at runtime +export default Example; diff --git a/components/dynamic-icon/__examples__/strength.jsx b/components/dynamic-icon/__examples__/strength.jsx new file mode 100644 index 0000000000..ef90729f57 --- /dev/null +++ b/components/dynamic-icon/__examples__/strength.jsx @@ -0,0 +1,89 @@ +import React from 'react'; +import DynamicIcon from '~/components/dynamic-icon'; // `~` is replaced with design-system-react at runtime +import IconSettings from '~/components/icon-settings'; + +class Example extends React.Component { + render() { + return ( + +
    +
    + +
    +
    + +
    +
    + +
    +
    + +
    +
    + +
    +
    + +
    +
    + +
    +
    + +
    +
    + +
    +
    + +
    +
    +
    + ); + } +} + +Example.displayName = 'StrengthExample'; // export is replaced with `ReactDOM.render(, mountNode);` at runtime +export default Example; diff --git a/components/dynamic-icon/__examples__/trend.jsx b/components/dynamic-icon/__examples__/trend.jsx new file mode 100644 index 0000000000..4dcb855fad --- /dev/null +++ b/components/dynamic-icon/__examples__/trend.jsx @@ -0,0 +1,50 @@ +import React from 'react'; +import DynamicIcon from '~/components/dynamic-icon'; // `~` is replaced with design-system-react at runtime +import IconSettings from '~/components/icon-settings'; + +class Example extends React.Component { + render() { + return ( + +
    +
    + +
    +
    + +
    +
    + +
    +
    + +
    +
    + +
    +
    +
    + ); + } +} + +Example.displayName = 'TrendExample'; // export is replaced with `ReactDOM.render(, mountNode);` at runtime +export default Example; diff --git a/components/dynamic-icon/__examples__/typing.jsx b/components/dynamic-icon/__examples__/typing.jsx new file mode 100644 index 0000000000..84a0d4fbc3 --- /dev/null +++ b/components/dynamic-icon/__examples__/typing.jsx @@ -0,0 +1,26 @@ +import React from 'react'; +import DynamicIcon from '~/components/dynamic-icon'; // `~` is replaced with design-system-react at runtime +import IconSettings from '~/components/icon-settings'; + +class Example extends React.Component { + render() { + return ( + +
    +
    + +
    +
    + +
    +
    + +
    +
    +
    + ); + } +} + +Example.displayName = 'TypingExample'; // export is replaced with `ReactDOM.render(, mountNode);` at runtime +export default Example; diff --git a/components/dynamic-icon/__examples__/waffle.jsx b/components/dynamic-icon/__examples__/waffle.jsx new file mode 100644 index 0000000000..afc5f5d530 --- /dev/null +++ b/components/dynamic-icon/__examples__/waffle.jsx @@ -0,0 +1,23 @@ +import React from 'react'; +import DynamicIcon from '~/components/dynamic-icon'; // `~` is replaced with design-system-react at runtime +import IconSettings from '~/components/icon-settings'; + +class Example extends React.Component { + render() { + return ( + +
    +
    + +
    +
    + +
    +
    +
    + ); + } +} + +Example.displayName = 'WaffleExample'; // export is replaced with `ReactDOM.render(, mountNode);` at runtime +export default Example; diff --git a/components/dynamic-icon/component.json b/components/dynamic-icon/component.json new file mode 100644 index 0000000000..2dcd8cc651 --- /dev/null +++ b/components/dynamic-icon/component.json @@ -0,0 +1,38 @@ +{ + "component": "dynamic-icon", + "status": "prod", + "display-name": "Dynamic Icon", + "classKey": "DynamicIcon", + "SLDS-component-path": "/components/dynamic-icon", + "site-stories": [ + { + "heading": "Ellie", + "path": "/__examples__/ellie.jsx" + }, + { + "heading": "Eq", + "path": "/__examples__/eq.jsx" + }, + { + "heading": "Score", + "path": "/__examples__/score.jsx" + }, + { + "heading": "Strength", + "path": "/__examples__/strength.jsx" + }, + { + "heading": "Trend", + "path": "/__examples__/trend.jsx" + }, + { + "heading": "Typing", + "path": "/__examples__/typing.jsx" + }, + { + "heading": "Waffle", + "path": "/__examples__/waffle.jsx" + } + ], + "url-slug": "dynamic-icon" +} diff --git a/components/dynamic-icon/index.js b/components/dynamic-icon/index.js new file mode 100644 index 0000000000..9dc4246eea --- /dev/null +++ b/components/dynamic-icon/index.js @@ -0,0 +1,441 @@ +"use strict"; + +function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = void 0; + +var _react = _interopRequireDefault(require("react")); + +var _propTypes = _interopRequireDefault(require("prop-types")); + +var _classNames = _interopRequireDefault(require("../../utilities/class-names")); + +var _constants = require("../../utilities/constants"); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); } + +function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } + +function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); } + +function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && Symbol.iterator in Object(iter)) return Array.from(iter); } + +function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); } + +function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; } + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } + +function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); } + +function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } + +function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; } + +function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } + +function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } } + +function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } + +// PropTypes for the component +var propTypes = { + /** + * **Assistive text for accessibility** + * * `label`: Used as a visually hidden label to describe the dynamic icon. + */ + assistiveText: _propTypes.default.shape({ + label: _propTypes.default.string + }), + + /** + * CSS class names to be added to the icon. + */ + className: _propTypes.default.oneOfType([_propTypes.default.array, _propTypes.default.object, _propTypes.default.string]), + + /** + * Pauses the icon animation if the value is true. + */ + isPaused: _propTypes.default.bool, + + /** + * Disables icon animation if set to true + */ + isStatic: _propTypes.default.bool, + + /** + * Polarity values for the 'score' variant. Defaults to 'positive' + */ + scorePolarity: _propTypes.default.oneOf(['positive', 'negative']), + + /** + * Range of strength values for the 'strength' variant. Defaults to '0'. + */ + strengthLevel: _propTypes.default.oneOf(['-3', '-2', '-1', '0', '1', '2', '3', -3, -2, -1, 0, 1, 2, 3]), + + /** + * HTML title attribute. + */ + title: _propTypes.default.string.isRequired, + + /** + * Signals direction for the 'trend' variant. The default value 'neutral' points to the east. + */ + trendDirection: _propTypes.default.oneOf(['down', 'up', 'neutral']), + + /** + * Different types of dynamic icons. Possible variants: + * + * `ellie` - Displays a pulsing blue circle, which pulses and stops after one animation cycle. + * `eq` - Displays an animated graph with three bars that rise and fall randomly. + * `score` - Displays a green filled circle or a red unfilled circle. + * `strength` - Displays three animated horizontal circles that are colored green or red. + * `trend` - Displays animated arrows that point up, down, or straight. + * `waffle` - Displays a 3x3 grid of dots that animates on hover. + */ + variant: _propTypes.default.oneOf(['ellie', 'eq', 'score', 'strength', 'trend', 'typing', 'waffle']).isRequired +}; +/** + * A set of delightful animated icons. + */ + +var DynamicIcon = /*#__PURE__*/function (_React$Component) { + _inherits(DynamicIcon, _React$Component); + + var _super = _createSuper(DynamicIcon); + + function DynamicIcon() { + _classCallCheck(this, DynamicIcon); + + return _super.apply(this, arguments); + } + + _createClass(DynamicIcon, [{ + key: "getIconChildren", + value: function getIconChildren() { + var children = []; + var defaultAssistiveText = this.props.title ? this.props.title : "".concat(this.props.variant.charAt(0).toUpperCase()).concat(this.props.variant.slice(1)); + + if (this.props.variant === 'ellie') { + children = [/*#__PURE__*/_react.default.createElement("svg", { + viewBox: "0 0 280 14", + "aria-hidden": "true" + }, /*#__PURE__*/_react.default.createElement("circle", { + cx: "7", + cy: "7", + r: "4" + }), /*#__PURE__*/_react.default.createElement("circle", { + cx: "7", + cy: "7", + r: "3" + }), /*#__PURE__*/_react.default.createElement("circle", { + cx: "21", + cy: "7", + r: "4" + }), /*#__PURE__*/_react.default.createElement("circle", { + cx: "21", + cy: "7", + r: "3" + }), /*#__PURE__*/_react.default.createElement("circle", { + cx: "35", + cy: "7", + r: "4" + }), /*#__PURE__*/_react.default.createElement("circle", { + cx: "35", + cy: "7", + r: "3" + }), /*#__PURE__*/_react.default.createElement("circle", { + cx: "49", + cy: "7", + r: "4" + }), /*#__PURE__*/_react.default.createElement("circle", { + cx: "49", + cy: "7", + r: "3" + }), /*#__PURE__*/_react.default.createElement("circle", { + cx: "63", + cy: "7", + r: "4" + }), /*#__PURE__*/_react.default.createElement("circle", { + cx: "63", + cy: "7", + r: "3" + }), /*#__PURE__*/_react.default.createElement("circle", { + cx: "77", + cy: "7", + r: "4" + }), /*#__PURE__*/_react.default.createElement("circle", { + cx: "77", + cy: "7", + r: "3" + }), /*#__PURE__*/_react.default.createElement("circle", { + cx: "91", + cy: "7", + r: "4" + }), /*#__PURE__*/_react.default.createElement("circle", { + cx: "91", + cy: "7", + r: "3" + }), /*#__PURE__*/_react.default.createElement("circle", { + cx: "105", + cy: "7", + r: "4" + }), /*#__PURE__*/_react.default.createElement("circle", { + cx: "105", + cy: "7", + r: "3" + }), /*#__PURE__*/_react.default.createElement("circle", { + cx: "119", + cy: "7", + r: "4" + }), /*#__PURE__*/_react.default.createElement("circle", { + cx: "119", + cy: "7", + r: "3" + }), /*#__PURE__*/_react.default.createElement("circle", { + cx: "133", + cy: "7", + r: "4" + }), /*#__PURE__*/_react.default.createElement("circle", { + cx: "133", + cy: "7", + r: "3" + }), /*#__PURE__*/_react.default.createElement("circle", { + cx: "147", + cy: "7", + r: "4" + }), /*#__PURE__*/_react.default.createElement("circle", { + cx: "147", + cy: "7", + r: "3" + }), /*#__PURE__*/_react.default.createElement("circle", { + cx: "161", + cy: "7", + r: "4" + }), /*#__PURE__*/_react.default.createElement("circle", { + cx: "161", + cy: "7", + r: "3" + }), /*#__PURE__*/_react.default.createElement("circle", { + cx: "175", + cy: "7", + r: "4" + }), /*#__PURE__*/_react.default.createElement("circle", { + cx: "175", + cy: "7", + r: "3" + }), /*#__PURE__*/_react.default.createElement("circle", { + cx: "189", + cy: "7", + r: "4" + }), /*#__PURE__*/_react.default.createElement("circle", { + cx: "189", + cy: "7", + r: "3" + }), /*#__PURE__*/_react.default.createElement("circle", { + cx: "203", + cy: "7", + r: "4" + }), /*#__PURE__*/_react.default.createElement("circle", { + cx: "203", + cy: "7", + r: "3" + }), /*#__PURE__*/_react.default.createElement("circle", { + cx: "217", + cy: "7", + r: "4" + }), /*#__PURE__*/_react.default.createElement("circle", { + cx: "217", + cy: "7", + r: "3" + }), /*#__PURE__*/_react.default.createElement("circle", { + cx: "231", + cy: "7", + r: "4" + }), /*#__PURE__*/_react.default.createElement("circle", { + cx: "231", + cy: "7", + r: "3" + }), /*#__PURE__*/_react.default.createElement("circle", { + cx: "245", + cy: "7", + r: "4" + }), /*#__PURE__*/_react.default.createElement("circle", { + cx: "245", + cy: "7", + r: "3" + }), /*#__PURE__*/_react.default.createElement("circle", { + cx: "259", + cy: "7", + r: "4" + }), /*#__PURE__*/_react.default.createElement("circle", { + cx: "259", + cy: "7", + r: "3" + }), /*#__PURE__*/_react.default.createElement("circle", { + cx: "273", + cy: "7", + r: "4" + }), /*#__PURE__*/_react.default.createElement("circle", { + cx: "273", + cy: "7", + r: "3" + }))]; + } else if (this.props.variant === 'eq') { + children = [/*#__PURE__*/_react.default.createElement("div", { + className: "slds-icon-eq__bar" + }), /*#__PURE__*/_react.default.createElement("div", { + className: "slds-icon-eq__bar" + }), /*#__PURE__*/_react.default.createElement("div", { + className: "slds-icon-eq__bar" + })]; + } else if (this.props.variant === 'score') { + children = [/*#__PURE__*/_react.default.createElement("svg", { + viewBox: "0 0 5 5", + className: "slds-icon-score__positive", + "aria-hidden": "true" + }, /*#__PURE__*/_react.default.createElement("circle", { + cx: "50%", + cy: "50%", + r: "1.875" + })), /*#__PURE__*/_react.default.createElement("svg", { + viewBox: "0 0 5 5", + className: "slds-icon-score__negative", + "aria-hidden": "true" + }, /*#__PURE__*/_react.default.createElement("circle", { + cx: "50%", + cy: "50%", + r: "1.875" + }))]; + } else if (this.props.variant === 'strength') { + children = [/*#__PURE__*/_react.default.createElement("svg", { + viewBox: "0 0 27 7", + "aria-hidden": "true" + }, /*#__PURE__*/_react.default.createElement("circle", { + r: "3.025", + cx: "3.5", + cy: "3.5" + }), /*#__PURE__*/_react.default.createElement("circle", { + r: "3.025", + cx: "13.5", + cy: "3.5" + }), /*#__PURE__*/_react.default.createElement("circle", { + r: "3.025", + cx: "23.5", + cy: "3.5" + }))]; + } else if (this.props.variant === 'trend') { + children = [/*#__PURE__*/_react.default.createElement("svg", { + viewBox: "0 0 16 16", + "aria-hidden": "true" + }, /*#__PURE__*/_react.default.createElement("path", { + className: "slds-icon-trend__arrow", + d: "M.75 8H11M8 4.5L11.5 8 8 11.5" + }), /*#__PURE__*/_react.default.createElement("circle", { + className: "slds-icon-trend__circle", + cy: "8", + cx: "8", + r: "7.375", + transform: "rotate(-28 8 8) scale(-1 1) translate(-16 0)" + }))]; + } else if (this.props.variant === 'typing') { + children = [/*#__PURE__*/_react.default.createElement("span", { + className: "slds-icon-typing__dot" + }), /*#__PURE__*/_react.default.createElement("span", { + className: "slds-icon-typing__dot" + }), /*#__PURE__*/_react.default.createElement("span", { + className: "slds-icon-typing__dot" + })]; + + if (!this.props.title) { + defaultAssistiveText = 'User is typing'; + } + } else if (this.props.variant === 'waffle') { + children = [/*#__PURE__*/_react.default.createElement("span", { + className: "slds-icon-waffle" + }, /*#__PURE__*/_react.default.createElement("span", { + className: "slds-r1" + }), /*#__PURE__*/_react.default.createElement("span", { + className: "slds-r2" + }), /*#__PURE__*/_react.default.createElement("span", { + className: "slds-r3" + }), /*#__PURE__*/_react.default.createElement("span", { + className: "slds-r4" + }), /*#__PURE__*/_react.default.createElement("span", { + className: "slds-r5" + }), /*#__PURE__*/_react.default.createElement("span", { + className: "slds-r6" + }), /*#__PURE__*/_react.default.createElement("span", { + className: "slds-r7" + }), /*#__PURE__*/_react.default.createElement("span", { + className: "slds-r8" + }), /*#__PURE__*/_react.default.createElement("span", { + className: "slds-r9" + }))]; + + if (!this.props.title) { + defaultAssistiveText = 'Open App Launcher'; + } + } // eslint-disable-next-line fp/no-mutating-methods + + + children.push( /*#__PURE__*/_react.default.createElement("span", { + className: "slds-assistive-text" + }, this.props.assistiveText && this.props.assistiveText.label ? this.props.assistiveText.label : defaultAssistiveText)); + return children; + } + }, { + key: "render", + value: function render() { + var children = this.getIconChildren(); + var classes = [{ + 'slds-is-animated': !this.props.isStatic, + 'slds-is-paused': this.props.isPaused + }]; + var iconProps = { + title: this.props.title + }; + var element = 'span'; + + if (this.props.variant === 'waffle') { + // eslint-disable-next-line fp/no-mutating-methods + classes.unshift('slds-button', 'slds-icon-waffle_container'); + element = 'button'; + } else { + // eslint-disable-next-line fp/no-mutating-methods + classes.unshift("slds-icon-".concat(this.props.variant)); + + if (this.props.variant === 'eq') { + element = 'div'; + } else if (this.props.variant === 'score') { + iconProps['data-slds-state'] = this.props.scorePolarity ? this.props.scorePolarity : 'positive'; + } else if (this.props.variant === 'strength') { + iconProps['data-slds-strength'] = this.props.strengthLevel !== undefined ? "".concat(this.props.strengthLevel) : '0'; + } else if (this.props.variant === 'trend') { + iconProps['data-slds-trend'] = this.props.trendDirection ? this.props.trendDirection : 'neutral'; + } + } + + iconProps.className = (0, _classNames.default)(classes, this.props.className); + return /*#__PURE__*/_react.default.createElement.apply(_react.default, [element, iconProps].concat(_toConsumableArray(children))); + } + }]); + + return DynamicIcon; +}(_react.default.Component); + +DynamicIcon.displayName = _constants.DYNAMIC_ICON; +DynamicIcon.propTypes = propTypes; +var _default = DynamicIcon; +exports.default = _default; \ No newline at end of file diff --git a/components/expandable-section.d.ts b/components/expandable-section.d.ts new file mode 100644 index 0000000000..92086712a1 --- /dev/null +++ b/components/expandable-section.d.ts @@ -0,0 +1,45 @@ +declare module '@salesforce/design-system-react/components/expandable-section' { + import React from 'react'; + type Props = { + /** + * **Assistive text for accessibility.** + * * `toggleSection`: Label for the icon that expands / collapses the section + */ + assistiveText?: Partial<{ + toggleSection?: string; + }>; + /** + * Contents of the section + */ + children?: React.ReactNode; + /** + * Class names to be added to the `slds-section` classed node + */ + className?: any[] | Record | string; + /** + * Unique identifier for the expandable section. The id is automatically generated if not provided + */ + id?: string; + /** + * Specifies whether the section is expanded or collapsed. If not provided, component will use its own state to manage this itself + */ + isOpen?: boolean; + /** + * Specifies whether the section can be expanded or collapsed. Defaults to `false` + */ + nonCollapsible?: boolean; + /** + * Callback for when the section is expanded or collapsed. Passes event object and data object with `isOpen` bool. + */ + onToggleOpen?: (v: any) => any; + /** + * The title for the section + */ + title: string /*.isRequired*/; + }; + /** + * Toggle visibility of section content with the Expandable Section + */ + function Component(props: Props): React.ReactElement; + export default Component; +} diff --git a/components/expandable-section/__docs__/__snapshots__/storybook-stories.storyshot b/components/expandable-section/__docs__/__snapshots__/storybook-stories.storyshot new file mode 100644 index 0000000000..4a93b8afb7 --- /dev/null +++ b/components/expandable-section/__docs__/__snapshots__/storybook-stories.storyshot @@ -0,0 +1,135 @@ +// Jest Snapshot v1, https://goo.gl/fbAQLP + +exports[`DOM snapshots SLDSExpandableSection Controlled 1`] = ` +
    +
    +

    + +

    +
    +

    + Aenean eu leo quam. Pellentesque ornare sem lacinia quam venenatis vestibulum. Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa justo sit amet risus. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nullam quis risus eget urna mollis ornare vel eu leo. +

    +
    +
    +
    +`; + +exports[`DOM snapshots SLDSExpandableSection Default 1`] = ` +
    +
    +

    + +

    +
    +

    + Aenean eu leo quam. Pellentesque ornare sem lacinia quam venenatis vestibulum. Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa justo sit amet risus. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nullam quis risus eget urna mollis ornare vel eu leo. +

    +
    +
    +
    +`; + +exports[`DOM snapshots SLDSExpandableSection Non-collapsible 1`] = ` +
    +
    +

    + + Section Title + +

    +
    +

    + Aenean eu leo quam. Pellentesque ornare sem lacinia quam venenatis vestibulum. Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa justo sit amet risus. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nullam quis risus eget urna mollis ornare vel eu leo. +

    +
    +
    +
    +`; diff --git a/components/expandable-section/__docs__/storybook-stories.jsx b/components/expandable-section/__docs__/storybook-stories.jsx new file mode 100644 index 0000000000..45a75c4a14 --- /dev/null +++ b/components/expandable-section/__docs__/storybook-stories.jsx @@ -0,0 +1,17 @@ +import React from 'react'; +import { storiesOf } from '@storybook/react'; +import { action } from '@storybook/addon-actions'; + +import { EXPANDABLE_SECTION } from '../../../utilities/constants'; + +import ControlledExample from '../__examples__/controlled'; +import DefaultExample from '../__examples__/default'; +import NonCollapsibleExample from '../__examples__/non-collapsible'; + +storiesOf(EXPANDABLE_SECTION, module) + .addDecorator((getStory) => ( +
    {getStory()}
    + )) + .add('Default', () => ) + .add('Controlled', () => ) + .add('Non-collapsible', () => ); diff --git a/components/expandable-section/__examples__/controlled.jsx b/components/expandable-section/__examples__/controlled.jsx new file mode 100644 index 0000000000..65a3157be8 --- /dev/null +++ b/components/expandable-section/__examples__/controlled.jsx @@ -0,0 +1,48 @@ +import React from 'react'; +// `~` is replaced with design-system-react at runtime +import IconSettings from '~/components/icon-settings'; +import ExpandableSection from '~/components/expandable-section'; + +import log from '~/utilities/log'; + +class Example extends React.Component { + static displayName = 'ExpandableSectionControlledExample'; + + constructor(props) { + super(props); + this.state = { + isOpen: true, + }; + } + + render() { + return ( + + { + log({ + action: this.props.action, + event, + eventName: 'Toggle expandable section!', + data, + }); + this.setState({ isOpen: !this.state.isOpen }); + }} + title="Section Title" + > +

    + Aenean eu leo quam. Pellentesque ornare sem lacinia quam venenatis + vestibulum. Fusce dapibus, tellus ac cursus commodo, tortor mauris + condimentum nibh, ut fermentum massa justo sit amet risus. Lorem + ipsum dolor sit amet, consectetur adipiscing elit. Nullam quis risus + eget urna mollis ornare vel eu leo. +

    +
    +
    + ); + } +} + +export default Example; // export is replaced with `ReactDOM.render(, mountNode);` at runtime diff --git a/components/expandable-section/__examples__/default.jsx b/components/expandable-section/__examples__/default.jsx new file mode 100644 index 0000000000..e7c18161ab --- /dev/null +++ b/components/expandable-section/__examples__/default.jsx @@ -0,0 +1,29 @@ +import React from 'react'; +// `~` is replaced with design-system-react at runtime +import IconSettings from '~/components/icon-settings'; +import ExpandableSection from '~/components/expandable-section'; + +class Example extends React.Component { + static displayName = 'ExpandableSectionDefaultExample'; + + render() { + return ( + + +

    + Aenean eu leo quam. Pellentesque ornare sem lacinia quam venenatis + vestibulum. Fusce dapibus, tellus ac cursus commodo, tortor mauris + condimentum nibh, ut fermentum massa justo sit amet risus. Lorem + ipsum dolor sit amet, consectetur adipiscing elit. Nullam quis risus + eget urna mollis ornare vel eu leo. +

    +
    +
    + ); + } +} + +export default Example; // export is replaced with `ReactDOM.render(, mountNode);` at runtime diff --git a/components/expandable-section/__examples__/non-collapsible.jsx b/components/expandable-section/__examples__/non-collapsible.jsx new file mode 100644 index 0000000000..8345ab4853 --- /dev/null +++ b/components/expandable-section/__examples__/non-collapsible.jsx @@ -0,0 +1,30 @@ +import React from 'react'; +// `~` is replaced with design-system-react at runtime +import IconSettings from '~/components/icon-settings'; +import ExpandableSection from '~/components/expandable-section'; + +class Example extends React.Component { + static displayName = 'ExpandableSectionNonCollapsibleExample'; + + render() { + return ( + + +

    + Aenean eu leo quam. Pellentesque ornare sem lacinia quam venenatis + vestibulum. Fusce dapibus, tellus ac cursus commodo, tortor mauris + condimentum nibh, ut fermentum massa justo sit amet risus. Lorem + ipsum dolor sit amet, consectetur adipiscing elit. Nullam quis risus + eget urna mollis ornare vel eu leo. +

    +
    +
    + ); + } +} + +export default Example; // export is replaced with `ReactDOM.render(, mountNode);` at runtime diff --git a/components/expandable-section/component.json b/components/expandable-section/component.json new file mode 100644 index 0000000000..061e0a097b --- /dev/null +++ b/components/expandable-section/component.json @@ -0,0 +1,22 @@ +{ + "component": "expandable-section", + "status": "prod", + "display-name": "Expandable Section", + "classKey": "ExpandableSection", + "SLDS-component-path": "/components/expandable-section", + "site-stories": [ + { + "heading": "Deault", + "path": "/__examples__/default.jsx" + }, + { + "heading": "Controlled", + "path": "/__examples__/controlled.jsx" + }, + { + "heading": "Non-collapsible", + "path": "/__examples__/non-collapsible.jsx" + } + ], + "url-slug": "expandable-section" +} diff --git a/components/expandable-section/index.js b/components/expandable-section/index.js new file mode 100644 index 0000000000..0b13223aa6 --- /dev/null +++ b/components/expandable-section/index.js @@ -0,0 +1,189 @@ +"use strict"; + +function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = void 0; + +var _react = _interopRequireDefault(require("react")); + +var _propTypes = _interopRequireDefault(require("prop-types")); + +var _classnames = _interopRequireDefault(require("classnames")); + +var _shortid = _interopRequireDefault(require("shortid")); + +var _button = _interopRequireDefault(require("../button")); + +var _constants = require("../../utilities/constants"); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); } + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } + +function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); } + +function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } + +function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; } + +function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } + +function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } } + +function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var propTypes = { + /** + * **Assistive text for accessibility.** + * * `toggleSection`: Label for the icon that expands / collapses the section + */ + assistiveText: _propTypes.default.shape({ + toggleSection: _propTypes.default.string + }), + + /** + * Contents of the section + */ + children: _propTypes.default.node, + + /** + * Class names to be added to the `slds-section` classed node + */ + className: _propTypes.default.oneOfType([_propTypes.default.array, _propTypes.default.object, _propTypes.default.string]), + + /** + * Unique identifier for the expandable section. The id is automatically generated if not provided + */ + id: _propTypes.default.string, + + /** + * Specifies whether the section is expanded or collapsed. If not provided, component will use its own state to manage this itself + */ + isOpen: _propTypes.default.bool, + + /** + * Specifies whether the section can be expanded or collapsed. Defaults to `false` + */ + nonCollapsible: _propTypes.default.bool, + + /** + * Callback for when the section is expanded or collapsed. Passes event object and data object with `isOpen` bool. + */ + onToggleOpen: _propTypes.default.func, + + /** + * The title for the section + */ + title: _propTypes.default.string.isRequired +}; +var defaultProps = { + assistiveText: { + toggleSection: 'Toggle visibility of section' + }, + nonCollapsible: false +}; +/** + * Toggle visibility of section content with the Expandable Section + */ + +var ExpandableSection = /*#__PURE__*/function (_React$Component) { + _inherits(ExpandableSection, _React$Component); + + var _super = _createSuper(ExpandableSection); + + function ExpandableSection(props) { + var _this; + + _classCallCheck(this, ExpandableSection); + + _this = _super.call(this, props); + + _defineProperty(_assertThisInitialized(_this), "getId", function () { + return _this.props.id || _this.generatedId; + }); + + _defineProperty(_assertThisInitialized(_this), "toggleOpen", function (event) { + if (_this.props.onToggleOpen) { + _this.props.onToggleOpen(event, { + isOpen: _this.props.isOpen + }); + } else { + _this.setState(function (prevState) { + return { + isOpen: !prevState.isOpen + }; + }); + } + }); + + _this.generatedId = _shortid.default.generate(); + _this.state = { + isOpen: true + }; + return _this; + } + + _createClass(ExpandableSection, [{ + key: "render", + value: function render() { + var contentId = "".concat(this.getId(), "-expanded-section-content"); + var isOpen = this.props.isOpen !== undefined ? this.props.isOpen : this.state.isOpen; + var buttonAriaProps = { + 'aria-controls': contentId, + 'aria-expanded': !!isOpen + }; + + var titleNode = /*#__PURE__*/_react.default.createElement("span", { + className: (0, _classnames.default)('slds-truncate', { + 'slds-p-horizontal_small': !!this.props.nonCollapsible + }), + title: this.props.title + }, this.props.title); + + return /*#__PURE__*/_react.default.createElement("div", { + className: (0, _classnames.default)('slds-section', { + 'slds-is-open': isOpen + }, this.props.className) + }, /*#__PURE__*/_react.default.createElement("h3", { + className: (0, _classnames.default)('slds-section__title', { + 'slds-theme_shade': !!this.props.nonCollapsible + }) + }, !this.props.nonCollapsible ? /*#__PURE__*/_react.default.createElement(_button.default, _extends({ + assistiveText: { + icon: this.props.assistiveText.toggleSection + }, + iconCategory: "utility", + iconClassName: "slds-section__title-action-icon slds-button__icon_left", + iconName: "switch", + onClick: this.toggleOpen, + className: "slds-section__title-action", + variant: "base" + }, buttonAriaProps), titleNode) : titleNode), /*#__PURE__*/_react.default.createElement("div", { + "aria-hidden": !isOpen, + className: "slds-section__content", + id: contentId + }, this.props.children)); + } + }]); + + return ExpandableSection; +}(_react.default.Component); + +ExpandableSection.displayName = _constants.EXPANDABLE_SECTION; +ExpandableSection.propTypes = propTypes; +ExpandableSection.defaultProps = defaultProps; +var _default = ExpandableSection; +exports.default = _default; \ No newline at end of file diff --git a/components/expression.d.ts b/components/expression.d.ts new file mode 100644 index 0000000000..b42d382088 --- /dev/null +++ b/components/expression.d.ts @@ -0,0 +1,67 @@ +declare module '@salesforce/design-system-react/components/expression' { + import React from 'react'; + type Props = { + /** + * HTML id for component. + */ + id?: string; + /** + * `Expression` children, accepts `ExpressionCondition` & `ExpressionGroup` + */ + children?: React.ReactNode; + /** + * Callbacks for various expression events such as trigger change, add group etc + */ + events?: Partial<{ + onChangeTrigger?: (v: any) => any; + onAddGroup?: (v: any) => any; + onAddCondition?: (v: any) => any; + onChangeCustomLogicValue?: (v: any) => any; + }>; + /** + * **Text labels for internationalization** + * This object is merged with the default props object on every render. + * * `addCondition`: Label for the Add Condition Button. Defaults to "Add Condition" + * * `addGroup`: Label for the Add Group Button. Defaults to "Add Group" + * * `customLogic`: Label for the text box for inputting `customLogicValue`, if the `triggerType` is `custom`. Defaults to "Custom Logic" + * * `takeAction`: Label for the `triggerType` selector. Defaults to "Take Action When" + * * `title` : Title for the Expression. Defaults to "Conditions" + * * `triggerAll`: Label for the `all` value within the trigger selector + * * `triggerAlways`: Label for the `always` value within the trigger selector + * * `triggerAny`: Label for the `any` value within the trigger selector + * * `triggerCustom`: Label for the `custom` value within the trigger selector + * * `triggerFormula`: Label for the `formula` value within the trigger selector + */ + labels?: Partial<{ + addCondition?: string; + addGroup?: string; + customLogic?: string; + takeAction?: string; + title?: string; + triggerAll?: string; + triggerAlways?: string; + triggerAny?: string; + triggerCustom?: string; + triggerFormula?: string; + }>; + /** + * CSS classes to be added to the element with class `.slds-expression`. Uses `classNames` [API](https://github.com/JedWatson/classnames). + */ + className?: any[] | Record | string; + /** + * Sets the trigger type for the expression. + */ + triggerType?: 'all' | 'any' | 'custom' | 'always' | 'formula'; + /** + * Sets the input for the custom logic value input box, shown if the `triggerType` is set to `custom`. + */ + customLogicValue?: string; + }; + /** + * Expression builders help users declaratively construct logical expressions. + * These expressions can be used when querying for a filtered set of records, + * creating rules to control when something executes, or any other conditional logic. + */ + function Component(props: Props): React.ReactElement; + export default Component; +} diff --git a/components/expression/__docs__/__snapshots__/storybook-stories.storyshot b/components/expression/__docs__/__snapshots__/storybook-stories.storyshot new file mode 100644 index 0000000000..c87c1d3694 --- /dev/null +++ b/components/expression/__docs__/__snapshots__/storybook-stories.storyshot @@ -0,0 +1,3382 @@ +// Jest Snapshot v1, https://goo.gl/fbAQLP + +exports[`DOM snapshots SLDSExpression Initial State 1`] = ` +
    +
    +

    + Conditions +

    +
    +
    +
    + +
    +
    +
    +
    + + + + + + +
    +
    +
    +
    +
    +
    +
      +
    • +
      + + + + + + Condition + + +
      +
      +
      + +
      +
      +
      +
      + + + + + + +
      +
      +
      +
      +
      +
      +
      +
      + +
      +
      +
      +
      + + + + + + +
      +
      +
      +
      +
      +
      +
      +
      + +
      + +
      +
      +
      +
      +
      + +   + +
      + +
      +
      +
      +
      +
      +
    • +
    +
    + + +
    +
    +
    +
    +`; + +exports[`DOM snapshots SLDSExpression w/ Custom Logic 1`] = ` +
    +
    +

    + Conditions +

    +
    +
    +
    + +
    +
    +
    +
    + + + + + + +
    +
    +
    +
    +
    +
    +
    + +
    + +
    +
    +
      +
    • +
      + + + 1 + + + Condition + + +
      +
      +
      + +
      +
      +
      +
      + + + + + + +
      +
      +
      +
      +
      +
      +
      +
      + +
      +
      +
      +
      + + + + + + +
      +
      +
      +
      +
      +
      +
      +
      + +
      + +
      +
      +
      +
      +
      + +   + +
      + +
      +
      +
      +
      +
      +
    • +
    • +
      + + + 2 + + + Condition + + +
      +
      +
      + +
      +
      +
      +
      + + + + + + +
      +
      +
      +
      +
      +
      +
      +
      + +
      +
      +
      +
      + + + + + + +
      +
      +
      +
      +
      +
      +
      +
      + +
      + +
      +
      +
      +
      +
      + +   + +
      + +
      +
      +
      +
      +
      +
    • +
    +
    + + +
    +
    +
    +
    +`; + +exports[`DOM snapshots SLDSExpression w/ Formula Logic 1`] = ` +
    +
    +

    + Conditions +

    +
    +
    + +
    +
    +
    +
    + + + + + + +
    +
    +
    +
    +
    +
    +
    +
    + + Formula + +
    +
    +
    +
    +
    + +
    +
    +
    +
    + + + + +
    +
    +
    +
    +
    +
    +
    +
    + +
    +
    +
    +
    + + + + +
    +
    +
    +
    +
    +
    +
    +
    + +
    + +
    +
    +
    +
    + +
    +
    +
    +
    +
    +
    +
    +
    +
    +
    + +
    +
    +
    +`; + +exports[`DOM snapshots SLDSExpression w/ Group 1`] = ` +
    +
    +

    + Conditions +

    +
    +
    +
    + +
    +
    +
    +
    + + + + + + +
    +
    +
    +
    +
    +
    +
      +
    • +
      + + + + + + Condition + + +
      +
      +
      + +
      +
      +
      +
      + + + + + + +
      +
      +
      +
      +
      +
      +
      +
      + +
      +
      +
      +
      + + + + + + +
      +
      +
      +
      +
      +
      +
      +
      + +
      + +
      +
      +
      +
      +
      + +   + +
      + +
      +
      +
      +
      +
      +
    • +
    • +
      + + + AND + + + +
      +
      + +
      +
      +
      +
      + + + + + + +
      +
      +
      +
      +
      +
      +
        +
      • +
        + + + + + + Condition + + +
        +
        +
        + +
        +
        +
        +
        + + + + + + +
        +
        +
        +
        +
        +
        +
        +
        + +
        +
        +
        +
        + + + + + + +
        +
        +
        +
        +
        +
        +
        +
        + +
        + +
        +
        +
        +
        +
        + +   + +
        + +
        +
        +
        +
        +
        +
      • +
      • +
        + + + OR + + + Condition + + +
        +
        +
        + +
        +
        +
        +
        + + + + + + +
        +
        +
        +
        +
        +
        +
        +
        + +
        +
        +
        +
        + + + + + + +
        +
        +
        +
        +
        +
        +
        +
        + +
        + +
        +
        +
        +
        +
        + +   + +
        + +
        +
        +
        +
        +
        +
      • +
      +
      + +
      +
      +
    • +
    • +
      + + + AND + + + +
      +
      + +
      +
      +
      +
      + + + + + + +
      +
      +
      +
      +
      +
      +
      + +
      + +
      +
      +
        +
      • +
        + + + 1 + + + Condition + + +
        +
        +
        + +
        +
        +
        +
        + + + + + + +
        +
        +
        +
        +
        +
        +
        +
        + +
        +
        +
        +
        + + + + + + +
        +
        +
        +
        +
        +
        +
        +
        + +
        + +
        +
        +
        +
        +
        + +   + +
        + +
        +
        +
        +
        +
        +
      • +
      +
      + +
      +
      +
    • +
    +
    + + +
    +
    +
    +
    +`; + +exports[`DOM snapshots SLDSExpression w/ Multiple Conditions 1`] = ` +
    +
    +

    + Conditions +

    +
    +
    +
    + +
    +
    +
    +
    + + + + + + +
    +
    +
    +
    +
    +
    +
      +
    • +
      + + + + + + Condition + + +
      +
      +
      + +
      +
      +
      +
      + + + + + + +
      +
      +
      +
      +
      +
      +
      +
      + +
      +
      +
      +
      + + + + + + +
      +
      +
      +
      +
      +
      +
      +
      + +
      + +
      +
      +
      +
      +
      + +   + +
      + +
      +
      +
      +
      +
      +
    • +
    • +
      + + + OR + + + Condition + + +
      +
      +
      + +
      +
      +
      +
      + + + + + + +
      +
      +
      +
      +
      +
      +
      +
      + +
      +
      +
      +
      + + + + + + +
      +
      +
      +
      +
      +
      +
      +
      + +
      + +
      +
      +
      +
      +
      + +   + +
      + +
      +
      +
      +
      +
      +
    • +
    +
    + + +
    +
    +
    +
    +`; + +exports[`DOM snapshots SLDSExpression w/ Resource Selected 1`] = ` +
    +
    +

    + Conditions +

    +
    +
    +
    + +
    +
    +
    +
    + + + + + + +
    +
    +
    +
    +
    +
    +
      +
    • +
      + + + + + + Condition + + +
      +
      +
      + +
      +
      +
      +
      + + + + + + +
      +
      +
      +
      +
      +
      +
      +
      + +
      +
      +
      +
      + + + + + + +
      +
      +
      +
      +
      +
      +
      +
      + +
      + +
      +
      +
      +
      +
      + +   + +
      + +
      +
      +
      +
      +
      +
    • +
    +
    + + +
    +
    +
    +
    +`; diff --git a/components/expression/__docs__/storybook-stories.jsx b/components/expression/__docs__/storybook-stories.jsx new file mode 100644 index 0000000000..076038c35b --- /dev/null +++ b/components/expression/__docs__/storybook-stories.jsx @@ -0,0 +1,23 @@ +import React from 'react'; +import { storiesOf } from '@storybook/react'; +import { action } from '@storybook/addon-actions'; + +import { EXPRESSION } from '../../../utilities/constants'; + +import Initial from '../__examples__/initial'; +import ResourceSelected from '../__examples__/resource-selected'; +import MultipleConditions from '../__examples__/multi-condition'; +import WithGroup from '../__examples__/with-group'; +import CustomLogic from '../__examples__/with-custom-Logic'; +import FormulaLogic from '../__examples__/with-formula-logic'; + +storiesOf(EXPRESSION, module) + .addDecorator((getStory) => ( +
    {getStory()}
    + )) + .add('Initial State', () => ) + .add('w/ Resource Selected', () => ) + .add('w/ Multiple Conditions', () => ) + .add('w/ Group', () => ) + .add('w/ Custom Logic', () => ) + .add('w/ Formula Logic', () => ); diff --git a/components/expression/__examples__/example.jsx b/components/expression/__examples__/example.jsx new file mode 100644 index 0000000000..27fe060344 --- /dev/null +++ b/components/expression/__examples__/example.jsx @@ -0,0 +1,512 @@ +import React from 'react'; +import find from 'lodash.find'; +import log from '~/utilities/log'; +import IconSettings from '~/components/icon-settings'; +import Combobox from '~/components/combobox'; +import Input from '~/components/input'; +import Expression from '~/components/expression'; +import ExpressionGroup from '~/components/expression/group'; +import ExpressionCondition from '~/components/expression/condition'; +import ExpressionFormula from '~/components/expression/formula'; + +const ResourcesList = [ + { id: '111', label: 'Resource 1' }, + { id: '112', label: 'Resource 2' }, + { id: '113', label: 'Resource 3' }, + { id: '114', label: 'Resource 4' }, +]; + +const OperatorsList = [ + { id: '1', label: 'Equals' }, + { id: '2', label: 'Does Not Equals' }, + { id: '3', label: 'Greater Than' }, + { id: '4', label: 'Less Than' }, +]; + +class Example extends React.Component { + static displayName = 'ExpressionBaseExample'; + + constructor(props) { + super(props); + this.state = { + conditions: props.conditions, + triggerType: props.triggerType, + customLogic: props.customLogic, + }; + } + + static getTriggerType(i, trigger) { + if (trigger === 'custom') return String(i + 1); + if (i > 0) { + if (trigger === 'all') return 'AND'; + if (trigger === 'any') return 'OR'; + } + return ''; + } + + updateData(i, val, type) { + const { conditions } = this.state; + if (type === 'value') conditions[i].value = val; + else conditions[i][type] = val.selection[0].id; + this.setState({ conditions }); + } + + updateSubData(i, j, val, type) { + const { conditions } = this.state; + if (type === 'value') conditions[i].conditions[j].value = val; + else conditions[i].conditions[j][type] = val.selection[0].id; + this.setState({ conditions }); + } + + updateFormula(data, type) { + const { conditions } = this.state; + conditions[type] = data; + this.setState({ conditions }); + } + + addCondition() { + const { conditions } = this.state; + const newCondition = { + isGroup: false, + resource: '', + operator: '', + value: '', + }; + conditions.push(newCondition); + this.setState({ conditions }); + } + + addSubCondition(i) { + const { conditions } = this.state; + const newCondition = { + resource: '', + operator: '', + value: '', + }; + conditions[i].conditions.push(newCondition); + this.setState({ conditions }); + } + + deleteCondition(i) { + const { conditions } = this.state; + if (conditions.length > 1) { + conditions.splice(i, 1); + this.setState({ conditions }); + } else { + const newCondition = { + resource: '', + operator: '', + value: '', + }; + this.setState({ conditions: [newCondition] }); + } + } + + deleteSubCondition(i, j) { + const { conditions } = this.state; + if (conditions[i].conditions.length > 1) { + conditions[i].conditions.splice(j, 1); + this.setState({ conditions }); + } else { + conditions.splice(i, 1); + this.setState({ conditions }); + } + } + + addGroup() { + if (!this.props.isChild) { + const { conditions } = this.state; + const newCondition = { + resource: '', + operator: '', + value: '', + }; + const newGroup = { + isGroup: true, + triggerType: 'all', + conditions: [newCondition], + }; + conditions.push(newGroup); + this.setState({ conditions }); + } + } + + updateGroupData(i, val, type) { + const { conditions } = this.state; + conditions[i][type] = val; + this.setState({ conditions }); + } + + render() { + return ( + + { + log({ + action: this.props.action, + event, + eventName: 'Trigger Changed', + data, + }); + this.setState({ triggerType: data.triggerType }); + }, + onChangeCustomLogicValue: (event, data) => { + log({ + action: this.props.action, + event, + eventName: 'Custom Logic Changed', + data, + }); + this.setState({ customLogic: data.value }); + }, + onAddCondition: () => { + log({ + action: this.props.action, + event: null, + eventName: 'New Condition Added', + data: null, + }); + this.addCondition(); + }, + onAddGroup: () => { + log({ + action: this.props.action, + event: null, + eventName: 'New Group Added', + data: null, + }); + this.addGroup(); + }, + }} + triggerType={this.state.triggerType} + customLogicValue={this.state.customLogic} + > + {this.state.triggerType === 'formula' ? ( + { + this.updateFormula(data.selection[0].id, 'resource'); + log({ + action: this.props.action, + event, + eventName: `Formula Resource Changed`, + data, + }); + }, + }} + variant="inline-listbox" + /> + } + events={{ + onChangeTextEditor: (event, data) => + log({ + action: this.props.action, + event, + eventName: `Formula updated in Text Editor`, + data, + }), + onClickCheckSyntax: () => + log({ + action: this.props.action, + event: null, + eventName: `Check Syntax Button Clicked`, + data: null, + }), + onClickHelp: () => + log({ + action: this.props.action, + event: null, + eventName: `Get Help Button Clicked`, + data: null, + }), + }} + functionCombobox={ + { + this.updateFormula(data.selection[0].id, 'function'); + log({ + action: this.props.action, + event, + eventName: `Formula Function Changed`, + data, + }); + }, + }} + variant="inline-listbox" + /> + } + operatorInput={ + + } + /> + ) : ( + this.state.conditions.map((condition, i) => + !condition.isGroup ? ( + { + log({ + action: this.props.action, + event, + eventName: `Condition ${i} Operator Changed`, + data: obj, + }); + this.updateData(i, obj, 'operator'); + }, + onChangeResource: (event, obj) => { + log({ + action: this.props.action, + event, + eventName: `Condition ${i} Resource Changed`, + data: obj, + }); + this.updateData(i, obj, 'resource'); + }, + onChangeValue: (event, data) => { + log({ + action: this.props.action, + event, + eventName: `Condition ${i} Value Changed`, + data, + }); + this.updateData(i, data.value, 'value'); + }, + onDelete: () => { + log({ + action: this.props.action, + event: null, + eventName: `Condition ${i} Deleted`, + data: null, + }); + this.deleteCondition(i); + }, + }} + resourcesList={ResourcesList} + resourceSelected={find(ResourcesList, { + id: condition.resource, + })} + operatorsList={OperatorsList} + operatorSelected={find(OperatorsList, { + id: condition.operator, + })} + value={condition.value} + /> + ) : ( + { + log({ + action: this.props.action, + event, + eventName: `Custom Logic Value of Condition Group ${i} Changed`, + data, + }); + this.updateGroupData(i, data.value, 'customLogic'); + }, + onChangeTrigger: (event, data) => { + log({ + action: this.props.action, + event, + eventName: `Trigger of Condition Group ${i} Changed`, + data, + }); + this.updateGroupData(i, data.triggerType, 'triggerType'); + }, + onAddCondition: () => { + log({ + action: this.props.action, + event: null, + eventName: `New Condition added to Condition Group ${i}`, + data: null, + }); + this.addSubCondition(i); + }, + }} + customLogicValue={condition.customLogic} + triggerType={condition.triggerType} + > + {condition.triggerType === 'formula' ? ( + + } + events={{ + onClickCheckSyntax: log({ + action: this.props.action, + event: null, + eventName: `Check Syntax Button Clicked`, + data: null, + }), + onClickHelp: log({ + action: this.props.action, + event: null, + eventName: `Get Help Button Clicked`, + data: null, + }), + }} + functionCombobox={ + + } + operatorInput={ + + } + /> + ) : ( + condition.conditions.map((c, j) => ( + { + log({ + action: this.props.action, + event, + eventName: `Operator of Condition ${j} of Group ${i} Changed`, + data: obj, + }); + this.updateSubData(i, j, obj, 'operator'); + }, + onChangeResource: (event, obj) => { + log({ + action: this.props.action, + event, + eventName: `Resource of Condition [${i},${j}] Changed`, + data: obj, + }); + this.updateSubData(i, j, obj, 'resource'); + }, + onChangeValue: (event, data) => { + log({ + action: this.props.action, + event, + eventName: `Value of Condition [${i},${j}] Changed`, + data, + }); + this.updateSubData(i, j, data.value, 'value'); + }, + onDelete: () => { + log({ + action: this.props.action, + event: null, + eventName: `Condition [${i},${j}] deleted`, + data: null, + }); + this.deleteSubCondition(i, j); + }, + }} + resourcesList={ResourcesList} + resourceSelected={find(ResourcesList, { + id: c.resource, + })} + operatorsList={OperatorsList} + operatorSelected={find(OperatorsList, { + id: c.operator, + })} + value={c.value} + /> + )) + )} + + ) + ) + )} + + + ); + } +} + +export default Example; diff --git a/components/expression/__examples__/initial.jsx b/components/expression/__examples__/initial.jsx new file mode 100644 index 0000000000..c777dd9670 --- /dev/null +++ b/components/expression/__examples__/initial.jsx @@ -0,0 +1,22 @@ +import React from 'react'; +import Example from './example'; + +class Initial extends React.Component { + static displayName = 'ExpressionInitialStateExample'; + + render() { + return ( + + ); + } +} + +export default Initial; diff --git a/components/expression/__examples__/multi-condition.jsx b/components/expression/__examples__/multi-condition.jsx new file mode 100644 index 0000000000..3e804763e0 --- /dev/null +++ b/components/expression/__examples__/multi-condition.jsx @@ -0,0 +1,25 @@ +import React from 'react'; +import Example from './example'; + +class MultipleConditions extends React.Component { + static displayName = 'ExpressionMultipleConditionsExample'; + + render() { + return ( + + ); + } +} + +export default MultipleConditions; diff --git a/components/expression/__examples__/resource-selected.jsx b/components/expression/__examples__/resource-selected.jsx new file mode 100644 index 0000000000..e5c3b12cdd --- /dev/null +++ b/components/expression/__examples__/resource-selected.jsx @@ -0,0 +1,504 @@ +import React from 'react'; +import find from 'lodash.find'; +import log from '~/utilities/log'; +import IconSettings from '~/components/icon-settings'; +import Combobox from '~/components/combobox'; +import Input from '~/components/input'; +import Expression from '~/components/expression'; +import ExpressionGroup from '~/components/expression/group'; +import ExpressionCondition from '~/components/expression/condition'; +import ExpressionFormula from '~/components/expression/formula'; + +const ResourcesList = [ + { id: '111', label: 'Resource 1' }, + { id: '112', label: 'Resource 2' }, + { id: '113', label: 'Resource 3' }, + { id: '114', label: 'Resource 4' }, +]; + +const OperatorsList = [ + { id: '1', label: 'Equals' }, + { id: '2', label: 'Does Not Equals' }, + { id: '3', label: 'Greater Than' }, + { id: '4', label: 'Less Than' }, +]; + +class Example extends React.Component { + static displayName = 'ExpressionResourceSelectedExample'; + + constructor(props) { + super(props); + this.state = { + conditions: [ + { + resource: '111', + }, + ], + triggerType: 'all', + customLogic: undefined, + }; + } + + static getTriggerType(i, trigger) { + if (trigger === 'custom') return String(i + 1); + if (i > 0) { + if (trigger === 'all') return 'AND'; + if (trigger === 'any') return 'OR'; + } + return ''; + } + + updateData(i, val, type) { + const { conditions } = this.state; + if (type === 'value') conditions[i].value = val; + else conditions[i][type] = val.selection[0].id; + this.setState({ conditions }); + } + + updateSubData(i, j, val, type) { + const { conditions } = this.state; + if (type === 'value') conditions[i].conditions[j].value = val; + else conditions[i].conditions[j][type] = val.selection[0].id; + this.setState({ conditions }); + } + + updateFormula(data, type) { + const { conditions } = this.state; + conditions[type] = data; + this.setState({ conditions }); + } + + addCondition() { + const { conditions } = this.state; + const newCondition = { + isGroup: false, + resource: '', + operator: '', + value: '', + }; + conditions.push(newCondition); + this.setState({ conditions }); + } + + addSubCondition(i) { + const { conditions } = this.state; + const newCondition = { + resource: '', + operator: '', + value: '', + }; + conditions[i].conditions.push(newCondition); + this.setState({ conditions }); + } + + deleteCondition(i) { + const { conditions } = this.state; + if (conditions.length > 1) { + conditions.splice(i, 1); + this.setState({ conditions }); + } else { + const newCondition = { + resource: '', + operator: '', + value: '', + }; + this.setState({ conditions: [newCondition] }); + } + } + + deleteSubCondition(i, j) { + const { conditions } = this.state; + if (conditions[i].conditions.length > 1) { + conditions[i].conditions.splice(j, 1); + this.setState({ conditions }); + } else { + conditions.splice(i, 1); + this.setState({ conditions }); + } + } + + addGroup() { + if (!this.props.isChild) { + const { conditions } = this.state; + const newCondition = { + resource: '', + operator: '', + value: '', + }; + const newGroup = { + isGroup: true, + triggerType: 'all', + conditions: [newCondition], + }; + conditions.push(newGroup); + this.setState({ conditions }); + } + } + + updateGroupData(i, val, type) { + const { conditions } = this.state; + conditions[i][type] = val; + this.setState({ conditions }); + } + + render() { + return ( + + { + log({ + action: this.props.action, + event, + eventName: 'Trigger Changed', + data, + }); + this.setState({ triggerType: data.triggerType }); + }, + onChangeCustomLogicValue: (event, data) => { + log({ + action: this.props.action, + event, + eventName: 'Custom Logic Changed', + data, + }); + this.setState({ customLogic: data.value }); + }, + onAddCondition: () => { + log({ + action: this.props.action, + event, + eventName: 'New Condition Added', + data: null, + }); + this.addCondition(); + }, + onAddGroup: () => { + log({ + action: this.props.action, + event, + eventName: 'New Group Added', + data: null, + }); + this.addGroup(); + }, + }} + triggerType={this.state.triggerType} + customLogicValue={this.state.customLogic} + > + {this.state.triggerType === 'formula' ? ( + { + this.updateFormula(data.selection[0].id, 'resource'); + log({ + action: this.props.action, + event, + eventName: `Formula Resource Changed`, + data, + }); + }, + }} + variant="inline-listbox" + /> + } + events={{ + onChangeTextEditor: (event, data) => + log({ + action: this.props.action, + event, + eventName: `Formula updated in Text Editor`, + data, + }), + onClickCheckSyntax: () => + log({ + action: this.props.action, + event, + eventName: `Check Syntax Button Clicked`, + data: null, + }), + onClickHelp: () => + log({ + action: this.props.action, + event, + eventName: `Get Help Button Clicked`, + data: null, + }), + }} + functionCombobox={ + { + this.updateFormula(data.selection[0].id, 'function'); + log({ + action: this.props.action, + event, + eventName: `Formula Function Changed`, + data, + }); + }, + }} + variant="inline-listbox" + /> + } + operatorInput={ + + } + /> + ) : ( + this.state.conditions.map((condition, i) => + !condition.isGroup ? ( + { + log({ + action: this.props.action, + event, + eventName: `Condition ${i} Operator Changed`, + data: obj, + }); + this.updateData(i, obj, 'operator'); + }, + onChangeResource: (event, obj) => { + log({ + action: this.props.action, + event, + eventName: `Condition ${i} Resource Changed`, + data: obj, + }); + this.updateData(i, obj, 'resource'); + }, + onChangeValue: (event, data) => { + log({ + action: this.props.action, + event, + eventName: `Condition ${i} Value Changed`, + data, + }); + this.updateData(i, data.value, 'value'); + }, + onDelete: () => { + log({ + action: this.props.action, + event, + eventName: `Condition ${i} Deleted`, + data: null, + }); + this.deleteCondition(i); + }, + }} + resourcesList={ResourcesList} + resourceSelected={find(ResourcesList, { + id: condition.resource, + })} + operatorsList={OperatorsList} + operatorSelected={find(OperatorsList, { + id: condition.operator, + })} + value={condition.value} + /> + ) : ( + { + log({ + action: this.props.action, + event, + eventName: `Custom Logic Value of Condition Group ${i} Changed`, + data, + }); + this.updateGroupData(i, data.value, 'customLogic'); + }, + onChangeTrigger: (event, data) => { + log({ + action: this.props.action, + event, + eventName: `Trigger of Condition Group ${i} Changed`, + data, + }); + this.updateGroupData(i, data.triggerType, 'triggerType'); + }, + onAddCondition: () => { + log({ + action: this.props.action, + event, + eventName: `New Condition added to Condition Group ${i}`, + data: null, + }); + this.addSubCondition(i); + }, + }} + customLogicValue={condition.customLogic} + triggerType={condition.triggerType} + > + {condition.triggerType === 'formula' ? ( + + } + events={{ + onClickCheckSyntax: log({ + action: this.props.action, + event, + eventName: `Check Syntax Button Clicked`, + data: null, + }), + onClickHelp: log({ + action: this.props.action, + event, + eventName: `Get Help Button Clicked`, + data: null, + }), + }} + functionCombobox={ + + } + operatorInput={ + + } + /> + ) : ( + condition.conditions.map((c, j) => ( + { + log({ + action: this.props.action, + event, + eventName: `Operator of Condition ${j} of Group ${i} Changed`, + data: obj, + }); + this.updateSubData(i, j, obj, 'operator'); + }, + onChangeResource: (event, obj) => { + log({ + action: this.props.action, + event, + eventName: `Resource of Condition [${i},${j}] Changed`, + data: obj, + }); + this.updateSubData(i, j, obj, 'resource'); + }, + onChangeValue: (event, data) => { + log({ + action: this.props.action, + event, + eventName: `Value of Condition [${i},${j}] Changed`, + data, + }); + this.updateSubData(i, j, data.value, 'value'); + }, + onDelete: () => { + log({ + action: this.props.action, + event, + eventName: `Condition [${i},${j}] deleted`, + data: null, + }); + this.deleteSubCondition(i, j); + }, + }} + resourcesList={ResourcesList} + resourceSelected={find(ResourcesList, { + id: c.resource, + })} + operatorsList={OperatorsList} + operatorSelected={find(OperatorsList, { + id: c.operator, + })} + value={c.value} + /> + )) + )} + + ) + ) + )} + + + ); + } +} + +export default Example; diff --git a/components/expression/__examples__/with-custom-Logic.jsx b/components/expression/__examples__/with-custom-Logic.jsx new file mode 100644 index 0000000000..33235420e5 --- /dev/null +++ b/components/expression/__examples__/with-custom-Logic.jsx @@ -0,0 +1,26 @@ +import React from 'react'; +import Example from './example'; + +class CustomLogic extends React.Component { + static displayName = 'ExpressionWithCustomLogicExample'; + + render() { + return ( + + ); + } +} + +export default CustomLogic; diff --git a/components/expression/__examples__/with-formula-logic.jsx b/components/expression/__examples__/with-formula-logic.jsx new file mode 100644 index 0000000000..b9c99401df --- /dev/null +++ b/components/expression/__examples__/with-formula-logic.jsx @@ -0,0 +1,22 @@ +import React from 'react'; +import Example from './example'; + +class FormulaLogic extends React.Component { + static displayName = 'ExpressionWithFormulaLogicExample'; + + render() { + return ( + + ); + } +} + +export default FormulaLogic; diff --git a/components/expression/__examples__/with-group.jsx b/components/expression/__examples__/with-group.jsx new file mode 100644 index 0000000000..d6c4ed9add --- /dev/null +++ b/components/expression/__examples__/with-group.jsx @@ -0,0 +1,44 @@ +import React from 'react'; +import Example from './example'; + +class WithGroup extends React.Component { + static displayName = 'ExpressionWithGroupExample'; + + render() { + return ( + + ); + } +} + +export default WithGroup; diff --git a/components/expression/component.json b/components/expression/component.json new file mode 100644 index 0000000000..f526561654 --- /dev/null +++ b/components/expression/component.json @@ -0,0 +1,28 @@ +{ + "component": "expression", + "status": "prod", + "display-name": "Expression", + "classKey": "Expression", + "SLDS-component-path": "/components/expression", + "dependencies": [ + { + "component": "condition", + "classKey": "ExpressionCondition" + }, + { + "component": "formula", + "classKey": "ExpressionFormula" + }, + { + "component": "group", + "classKey": "ExpressionGroup" + } + ], + "site-stories": [ + { + "heading": "Default", + "path": "/__examples__/resource-selected.jsx" + } + ], + "url-slug": "expression" +} diff --git a/components/expression/condition.d.ts b/components/expression/condition.d.ts new file mode 100644 index 0000000000..7265f6cbe0 --- /dev/null +++ b/components/expression/condition.d.ts @@ -0,0 +1,106 @@ +declare module '@salesforce/design-system-react/components/expression/condition' { + import React from 'react'; + type Props = { + /** + * **Assistive text for accessibility.** + * * `title`: For users of assistive technology, title for the condition fieldset. Defaults to 'Condition' + * * `deleteIcon`: For users of assistive technology, assistive text for the Delete Condition button's icon. Defaults to 'Delete Condition' + */ + assistiveText?: Partial<{ + title?: string; + deleteIcon?: string; + }>; + /** + * HTML id for component. + */ + id?: string; + /** + * CSS classes to be added to the element with class `.slds-expression__row`. Uses `classNames` [API](https://github.com/JedWatson/classnames). + */ + className?: any[] | Record | string; + /** + * Callbacks for various expression condition events such as value change, delete etc + */ + events?: Partial<{ + onChangeResource?: (v: any) => any; + onChangeOperator?: (v: any) => any; + onChangeValue?: (v: any) => any; + onDelete?: (v: any) => any; + }> /*.isRequired*/; + /** + * If set to true, the component will focus on the first focusable input upon mounting. This is useful for accessibility when adding new conditions. + */ + focusOnMount?: boolean; + /** + * **Text labels for internationalization** + * This object is merged with the default props object on every + * * `deleteCondition`: Title for the delete condition button. Defaults to "Delete Condition". + * * `label`: Label for the condition, shown left-most in the row. Left empty on default. + * * `operator`: Label for the operator selection dropdown. Defaults to "Operator" + * * `resource`: Label for the resource selection dropdown. Defaults to "Resource" + * * `value`: Label for the value input box. Defaults to "Value" + */ + labels?: Partial<{ + deleteCondition?: string; + label?: string; + operator?: string; + resource?: string; + value?: string; + }>; + /** + * Controls whether the condition is a sub-condition inside a ExpressionGroup + */ + isSubCondition?: boolean; + /** + * **Array of item objects that are options in the resource selection dropdown menu.** + * Each object can contain: + * * `id`: A unique identifier string. + * * `label`: A primary string of text for a menu item. + * ``` + * { + * id: '1', + * label: 'Resource 1', + * }, + * ``` + * Note: The dropdown uses the Combobox Component, and `resourcesList` is + * passed as `options` props to it, and hence shall also support more + * custom objects. Please refer to the Combobox documentation. + */ + resourcesList?: Record[]; + /** + * Accepts an object from the `resourcesList` which needs to be selected + * for the resource dropdown menu, + */ + resourceSelected?: Record; + /** + * **Array of item objects that are options in the operator selection dropdown menu.** + * Each object can contain: + * * `id`: A unique identifier string. + * * `label`: A primary string of text for a menu item. + * ``` + * { + * id: '1', + * label: 'Operator 1', + * }, + * ``` + * Note: The dropdown uses the Combobox Component, and `operatorList` is + * passed as `options` props to it, and hence shall also support more + * custom objects. Please refer to the Combobox documentation. + */ + operatorsList?: Record[]; + /** + * Accepts an object from the `operatorSelected` which needs to be selected + * for the operator dropdown menu, + */ + operatorSelected?: Record; + /** + * Sets the input value for the Value input field. + */ + value?: string; + }; + /** + * Expression Condition Component + */ + function Component(props: Props): React.ReactNode; + export default Component; +} diff --git a/components/expression/condition.js b/components/expression/condition.js new file mode 100644 index 0000000000..6ce42773f5 --- /dev/null +++ b/components/expression/condition.js @@ -0,0 +1,300 @@ +"use strict"; + +function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = void 0; + +var _react = _interopRequireDefault(require("react")); + +var _propTypes = _interopRequireDefault(require("prop-types")); + +var _classnames = _interopRequireDefault(require("classnames")); + +var _lodash = _interopRequireDefault(require("lodash.assign")); + +var _shortid = _interopRequireDefault(require("shortid")); + +var _constants = require("../../utilities/constants"); + +var _combobox = _interopRequireDefault(require("../combobox")); + +var _input = _interopRequireDefault(require("../input")); + +var _button = _interopRequireDefault(require("../button")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } + +function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); } + +function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } + +function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; } + +function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } + +function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } } + +function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } + +var propTypes = { + /** + * **Assistive text for accessibility.** + * * `title`: For users of assistive technology, title for the condition fieldset. Defaults to 'Condition' + * * `deleteIcon`: For users of assistive technology, assistive text for the Delete Condition button's icon. Defaults to 'Delete Condition' + */ + assistiveText: _propTypes.default.shape({ + title: _propTypes.default.string, + deleteIcon: _propTypes.default.string + }), + + /** + * HTML id for component. + */ + id: _propTypes.default.string, + + /** + * CSS classes to be added to the element with class `.slds-expression__row`. Uses `classNames` [API](https://github.com/JedWatson/classnames). + */ + className: _propTypes.default.oneOfType([_propTypes.default.array, _propTypes.default.object, _propTypes.default.string]), + + /** + * Callbacks for various expression condition events such as value change, delete etc + */ + events: _propTypes.default.shape({ + onChangeResource: _propTypes.default.func, + onChangeOperator: _propTypes.default.func, + onChangeValue: _propTypes.default.func, + onDelete: _propTypes.default.func + }).isRequired, + + /** + * If set to true, the component will focus on the first focusable input upon mounting. This is useful for accessibility when adding new conditions. + */ + focusOnMount: _propTypes.default.bool, + + /** + * **Text labels for internationalization** + * This object is merged with the default props object on every + * * `deleteCondition`: Title for the delete condition button. Defaults to "Delete Condition". + * * `label`: Label for the condition, shown left-most in the row. Left empty on default. + * * `operator`: Label for the operator selection dropdown. Defaults to "Operator" + * * `resource`: Label for the resource selection dropdown. Defaults to "Resource" + * * `value`: Label for the value input box. Defaults to "Value" + */ + labels: _propTypes.default.shape({ + deleteCondition: _propTypes.default.string, + label: _propTypes.default.string, + operator: _propTypes.default.string, + resource: _propTypes.default.string, + value: _propTypes.default.string + }), + + /** + * Controls whether the condition is a sub-condition inside a ExpressionGroup + */ + isSubCondition: _propTypes.default.bool, + + /** + * **Array of item objects that are options in the resource selection dropdown menu.** + * Each object can contain: + * * `id`: A unique identifier string. + * * `label`: A primary string of text for a menu item. + * ``` + * { + * id: '1', + * label: 'Resource 1', + * }, + * ``` + * Note: The dropdown uses the Combobox Component, and `resourcesList` is + * passed as `options` props to it, and hence shall also support more + * custom objects. Please refer to the Combobox documentation. + */ + resourcesList: _propTypes.default.arrayOf(_propTypes.default.object), + + /** + * Accepts an object from the `resourcesList` which needs to be selected + * for the resource dropdown menu, + */ + resourceSelected: _propTypes.default.object, + + /** + * **Array of item objects that are options in the operator selection dropdown menu.** + * Each object can contain: + * * `id`: A unique identifier string. + * * `label`: A primary string of text for a menu item. + * ``` + * { + * id: '1', + * label: 'Operator 1', + * }, + * ``` + * Note: The dropdown uses the Combobox Component, and `operatorList` is + * passed as `options` props to it, and hence shall also support more + * custom objects. Please refer to the Combobox documentation. + */ + operatorsList: _propTypes.default.arrayOf(_propTypes.default.object), + + /** + * Accepts an object from the `operatorSelected` which needs to be selected + * for the operator dropdown menu, + */ + operatorSelected: _propTypes.default.object, + + /** + * Sets the input value for the Value input field. + */ + value: _propTypes.default.string +}; +var defaultProps = { + assistiveText: { + title: 'Condition', + deleteIcon: 'Delete Condition' + }, + labels: { + label: '', + operator: 'Operator', + resource: 'Resource', + value: 'Value', + deleteCondition: 'Delete Condition' + }, + value: '' +}; +/** + * Expression Condition Component + */ + +var ExpressionCondition = /*#__PURE__*/function (_React$Component) { + _inherits(ExpressionCondition, _React$Component); + + var _super = _createSuper(ExpressionCondition); + + function ExpressionCondition(props) { + var _this; + + _classCallCheck(this, ExpressionCondition); + + _this = _super.call(this, props); + _this.generatedId = _shortid.default.generate(); + return _this; + } + + _createClass(ExpressionCondition, [{ + key: "componentDidMount", + value: function componentDidMount() { + if (this.props.focusOnMount && this.rootNode) { + var input = this.rootNode.querySelector('input'); + + if (input) { + input.focus(); + } + } + } + /** + * Get the Expression Condition's HTML id. Generate a new one if no ID present. + */ + + }, { + key: "getId", + value: function getId() { + return this.props.id || this.generatedId; + } + }, { + key: "render", + value: function render() { + var _this2 = this; + + var assistiveText = (0, _lodash.default)({}, defaultProps.assistiveText, this.props.assistiveText); + var labels = (0, _lodash.default)({}, defaultProps.labels, this.props.labels); + return /*#__PURE__*/_react.default.createElement("li", { + className: (0, _classnames.default)("slds-expression__row", { + 'slds-expression__row_group': this.props.isSubCondition + }, this.props.className), + id: this.getId(), + ref: function ref(rootNode) { + _this2.rootNode = rootNode; + } + }, /*#__PURE__*/_react.default.createElement("fieldset", null, /*#__PURE__*/_react.default.createElement("legend", { + className: "slds-expression__legend" + }, /*#__PURE__*/_react.default.createElement("span", null, labels.label), /*#__PURE__*/_react.default.createElement("span", { + className: "slds-assistive-text" + }, assistiveText.title)), /*#__PURE__*/_react.default.createElement("div", { + className: "slds-grid slds-gutters_xx-small" + }, /*#__PURE__*/_react.default.createElement("div", { + className: "slds-col" + }, /*#__PURE__*/_react.default.createElement(_combobox.default, { + events: { + onSelect: this.props.events.onChangeResource + }, + id: "".concat(this.getId(), "-resource-selector"), + multiple: false, + variant: "readonly", + labels: { + label: labels.resource + }, + options: this.props.resourcesList, + selection: [this.props.resourceSelected] + })), /*#__PURE__*/_react.default.createElement("div", { + className: "slds-col slds-grow-none" + }, /*#__PURE__*/_react.default.createElement(_combobox.default, { + events: { + onSelect: this.props.events.onChangeOperator + }, + id: "".concat(this.getId(), "-operator-selector"), + multiple: false, + variant: "readonly", + labels: { + label: labels.operator + }, + options: this.props.operatorsList, + selection: [this.props.operatorSelected], + singleInputDisabled: !this.props.resourceSelected + })), /*#__PURE__*/_react.default.createElement("div", { + className: "slds-col" + }, /*#__PURE__*/_react.default.createElement(_input.default, { + id: "".concat(this.getId(), "-input"), + label: labels.value, + value: this.props.value, + onChange: this.props.events.onChangeValue, + disabled: !this.props.resourceSelected + })), /*#__PURE__*/_react.default.createElement("div", { + className: "slds-col slds-grow-none" + }, /*#__PURE__*/_react.default.createElement("div", { + className: "slds-form-element" + }, /*#__PURE__*/_react.default.createElement("span", { + className: "slds-form-element__label" + }, "\xA0"), /*#__PURE__*/_react.default.createElement("div", { + className: "slds-form-element__control" + }, /*#__PURE__*/_react.default.createElement(_button.default, { + id: "".concat(this.getId(), "-delete-button"), + variant: "outline-brand", + iconCategory: "utility", + iconName: "delete", + iconVariant: "border-filled", + onClick: this.props.events.onDelete, + assistiveText: { + icon: assistiveText.deleteIcon + }, + title: labels.deleteCondition + }))))))); + } + }]); + + return ExpressionCondition; +}(_react.default.Component); + +ExpressionCondition.displayName = _constants.EXPRESSION_CONDITION; +ExpressionCondition.propTypes = propTypes; +ExpressionCondition.defaultProps = defaultProps; +var _default = ExpressionCondition; +exports.default = _default; \ No newline at end of file diff --git a/components/expression/formula.d.ts b/components/expression/formula.d.ts new file mode 100644 index 0000000000..d578ac5ca5 --- /dev/null +++ b/components/expression/formula.d.ts @@ -0,0 +1,61 @@ +declare module '@salesforce/design-system-react/components/expression/formula' { + import React from 'react'; + type Props = { + /** + * **Assistive text for accessibility.** + * * `help`: Assistive text for help icon + */ + assistiveText?: Partial<{ + help?: string; + }>; + /** + * HTML id for component. + */ + id?: string; + /** + * CSS classes to be added to the element with class `.slds-form-element`. Uses `classNames` [API](https://github.com/JedWatson/classnames). + */ + className?: any[] | Record | string; + /** + * Callbacks for various expression formula events such as text editor change, check syntax etc + */ + events?: Partial<{ + onChangeTextEditor?: (v: any) => any; + onClickHelp?: (v: any) => any; + onClickCheckSyntax?: (v: any) => any; + }>; + /** + * **Text labels for internationalization** + * This object is merged with the default props object on every render. + * * `label`: Label for the Expression Formula group.Defaults to "Formula" + * * `checkSyntax`: Label for the Check Syntax Button. Defaults to "Check Syntax" + * * `textArea`: Label for the `triggerType` selector. Defaults to "Take Action When" + */ + labels?: Partial<{ + label?: string; + checkSyntax?: string; + textArea?: string; + }>; + /** + * Accepts a single combobox component, to select resource in the expression formula editor + */ + resourceCombobox?: React.ReactNode; + /** + * Accepts a single combobox component, to select function in the expression formula editor + */ + functionCombobox?: React.ReactNode; + /** + * Accepts a single input component, to enter operator in the expression formula editor + */ + operatorInput?: React.ReactNode; + /** + * Value for the text editor in expression formula editor + */ + textEditorValue?: React.ReactNode; + }; + /** + * Expression Formula Component + */ + function Component(props: Props): React.ReactNode; + export default Component; +} diff --git a/components/expression/formula.js b/components/expression/formula.js new file mode 100644 index 0000000000..04f7cf50ca --- /dev/null +++ b/components/expression/formula.js @@ -0,0 +1,237 @@ +"use strict"; + +function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = void 0; + +var _react = _interopRequireDefault(require("react")); + +var _propTypes = _interopRequireDefault(require("prop-types")); + +var _classnames = _interopRequireDefault(require("classnames")); + +var _lodash = _interopRequireDefault(require("lodash.assign")); + +var _reactContenteditable = _interopRequireDefault(require("react-contenteditable")); + +var _shortid = _interopRequireDefault(require("shortid")); + +var _constants = require("../../utilities/constants"); + +var _button = _interopRequireDefault(require("../button")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } + +function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); } + +function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } + +function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; } + +function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } + +function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } } + +function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var propTypes = { + /** + * **Assistive text for accessibility.** + * * `help`: Assistive text for help icon + */ + assistiveText: _propTypes.default.shape({ + help: _propTypes.default.string + }), + + /** + * HTML id for component. + */ + id: _propTypes.default.string, + + /** + * CSS classes to be added to the element with class `.slds-form-element`. Uses `classNames` [API](https://github.com/JedWatson/classnames). + */ + className: _propTypes.default.oneOfType([_propTypes.default.array, _propTypes.default.object, _propTypes.default.string]), + + /** + * Callbacks for various expression formula events such as text editor change, check syntax etc + */ + events: _propTypes.default.shape({ + onChangeTextEditor: _propTypes.default.func, + onClickHelp: _propTypes.default.func, + onClickCheckSyntax: _propTypes.default.func + }), + + /** + * **Text labels for internationalization** + * This object is merged with the default props object on every render. + * * `label`: Label for the Expression Formula group.Defaults to "Formula" + * * `checkSyntax`: Label for the Check Syntax Button. Defaults to "Check Syntax" + * * `textArea`: Label for the `triggerType` selector. Defaults to "Take Action When" + */ + labels: _propTypes.default.shape({ + label: _propTypes.default.string, + checkSyntax: _propTypes.default.string, + textArea: _propTypes.default.string + }), + + /** + * Accepts a single combobox component, to select resource in the expression formula editor + */ + resourceCombobox: _propTypes.default.node, + + /** + * Accepts a single combobox component, to select function in the expression formula editor + */ + functionCombobox: _propTypes.default.node, + + /** + * Accepts a single input component, to enter operator in the expression formula editor + */ + operatorInput: _propTypes.default.node, + + /** + * Value for the text editor in expression formula editor + */ + textEditorValue: _propTypes.default.node +}; +var defaultProps = { + assistiveText: { + help: 'Help' + }, + labels: { + label: 'Formula', + checkSyntax: 'Check Syntax', + textArea: 'Text Area' + } +}; +/** + * Expression Formula Component + */ + +var ExpressionFormula = /*#__PURE__*/function (_React$Component) { + _inherits(ExpressionFormula, _React$Component); + + var _super = _createSuper(ExpressionFormula); + + function ExpressionFormula() { + var _this; + + _classCallCheck(this, ExpressionFormula); + + _this = _super.call(this); + + _defineProperty(_assertThisInitialized(_this), "handleTextEditorChange", function (event) { + var textEditorValue = event.target.value; + + if (_this.props.textEditorValue === undefined) { + _this.setState({ + textEditorValue: textEditorValue + }); + } + + if (_this.props.events && _this.props.events.onChangeTextEditor) { + _this.props.events.onChangeTextEditor(event, { + textEditorValue: textEditorValue + }); + } + }); + + _this.textEditorRef = /*#__PURE__*/_react.default.createRef(); + _this.state = { + textEditorValue: 'Compose formula...' // default is set here to preserve functionality if not controlled by props.textEditorValue + + }; + _this.generatedId = _shortid.default.generate(); + return _this; + } + /** + * Get the Expression Condition's HTML id. Generate a new one if no ID present. + */ + + + _createClass(ExpressionFormula, [{ + key: "getId", + value: function getId() { + return this.props.id || this.generatedId; + } + }, { + key: "render", + value: function render() { + var assistiveText = (0, _lodash.default)({}, defaultProps.assistiveText, this.props.assistiveText); + var labels = (0, _lodash.default)({}, defaultProps.labels, this.props.labels); + return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement("div", { + id: this.getId(), + className: (0, _classnames.default)("slds-expression_formula__rte", this.props.className) + }, /*#__PURE__*/_react.default.createElement("div", { + className: "slds-form-element" + }, /*#__PURE__*/_react.default.createElement("span", { + className: "slds-form-element__label" + }, labels.label), /*#__PURE__*/_react.default.createElement("div", { + className: "slds-form-element__control" + }, /*#__PURE__*/_react.default.createElement("div", { + className: "slds-rich-text-editor slds-grid slds-grid_vertical slds-nowrap" + }, /*#__PURE__*/_react.default.createElement("div", { + role: "toolbar", + className: "slds-rich-text-editor__toolbar slds-shrink-none" + }, /*#__PURE__*/_react.default.createElement("div", { + className: "slds-rich-text-editor__col slds-rich-text-editor__col_grow" + }, this.props.resourceCombobox), /*#__PURE__*/_react.default.createElement("div", { + className: "slds-rich-text-editor__col slds-rich-text-editor__col_grow" + }, this.props.functionCombobox), /*#__PURE__*/_react.default.createElement("div", { + className: "slds-rich-text-editor__col slds-rich-text-editor__col_grow" + }, this.props.operatorInput), /*#__PURE__*/_react.default.createElement("div", { + className: "slds-rich-text-editor__col" + }, /*#__PURE__*/_react.default.createElement(_button.default, { + assistiveText: { + icon: assistiveText.help + }, + className: "slds-button_icon-container", + id: "".concat(this.getId(), "-help-button"), + variant: "icon", + iconCategory: "utility", + iconName: "help", + onClick: this.props.events.onClickHelp, + title: assistiveText.help + }))), /*#__PURE__*/_react.default.createElement("div", { + className: "slds-rich-text-editor__textarea slds-grid" + }, /*#__PURE__*/_react.default.createElement(_reactContenteditable.default, { + id: "".concat(this.getId(), "-content-editor"), + "aria-label": this.props.labels.textArea, + className: "slds-rich-text-area__content slds-text-color_weak slds-grow", + innerRef: this.textEditorRef, + html: this.props.textEditorValue !== undefined ? this.props.textEditorValue : this.state.textEditorValue, + onChange: this.handleTextEditorChange, + disabled: false + })))))), /*#__PURE__*/_react.default.createElement("div", { + className: "slds-m-top_small" + }, /*#__PURE__*/_react.default.createElement(_button.default, { + id: "".concat(this.getId(), "-check-syntax-button"), + variant: "neutral", + label: labels.checkSyntax, + onClick: this.props.events.onClickCheckSyntax + }))); + } + }]); + + return ExpressionFormula; +}(_react.default.Component); + +ExpressionFormula.displayName = _constants.EXPRESSION_FORMULA; +ExpressionFormula.propTypes = propTypes; +ExpressionFormula.defaultProps = defaultProps; +var _default = ExpressionFormula; +exports.default = _default; \ No newline at end of file diff --git a/components/expression/group.d.ts b/components/expression/group.d.ts new file mode 100644 index 0000000000..6a150c732d --- /dev/null +++ b/components/expression/group.d.ts @@ -0,0 +1,84 @@ +declare module '@salesforce/design-system-react/components/expression/group' { + import React from 'react'; + type Props = { + /** + * **Assistive text for accessibility.** + * * `label`: For users of assistive technology, assistive text for the expression group's label. + * * `addCondition`: For users of assistive technology, assistive text for the Add Condition button's icon. + * * `addGroup`: For users of assistive technology, assistive text for the Add Group button's icon. + */ + assistiveText?: Partial<{ + label?: string; + addCondition?: string; + addGroup?: string; + }>; + /** + * HTML id for ExpressionGroup component. + */ + id?: string; + /** + * `ExpressionGroup` children, accepts `ExpressionCondition`. (Also accepts sub-`ExpressionGroup` if `isRoot`) + */ + children?: React.ReactNode; + /** + * CSS classes to be added to the element with class `.slds-expression__group`. Uses `classNames` [API](https://github.com/JedWatson/classnames). + */ + className?: any[] | Record | string; + /** + * Callbacks for various expression group events such as trigger change, add condition etc + */ + events?: Partial<{ + onChangeTrigger?: (v: any) => any; + onChangeCustomLogicValue?: (v: any) => any; + onAddCondition?: (v: any) => any; + onAddGroup?: (v: any) => any; + }>; + /** + * If set to true, the component will focus on the first focusable input upon mounting. This is useful for accessibility when adding new groups. + */ + focusOnMount?: boolean; + /** + * **Text labels for internationalization** + * This object is merged with the default props object on every render. + * * `addCondition`: Label for the Add Condition Button. Defaults to "Add Condition" + * * `addGroup`: Label for the Add Group Button. Defaults to "Add Group" + * * `customLogic`: Label for the text box for inputting `customLogicValue`, if the `triggerType` is `custom`. Defaults to "Custom Logic" + * * `label`: Label for the expression group, to indicate condition connectors based on the parent's trigger-type chosen. Defaults to "" + * * `takeAction`: Label for the `triggerType` selector. Defaults to "Take Action When" + * * `triggerAll`: Label for the `all` value within the trigger selector + * * `triggerAlways`: Label for the `always` value within the trigger selector + * * `triggerAny`: Label for the `any` value within the trigger selector + * * `triggerCustom`: Label for the `custom` value within the trigger selector + * * `triggerFormula`: Label for the `formula` value within the trigger selector + */ + labels?: Partial<{ + addCondition?: string; + addGroup?: string; + customLogic?: string; + label?: string; + takeAction?: string; + triggerAll?: string; + triggerAlways?: string; + triggerAny?: string; + triggerCustom?: string; + triggerFormula?: string; + }>; + /** + * Whether the group is at root level + */ + isRoot?: boolean; + /** + * Trigger type for the Group + */ + triggerType?: 'all' | 'any' | 'custom' | 'always' | 'formula'; + /** + * Sets the input for the custom logic value input box, shown if the `triggerType` is set to `custom`. + */ + customLogicValue?: string; + }; + /** + * Expression Group Component + */ + function Component(props: Props): React.ReactNode; + export default Component; +} diff --git a/components/expression/group.js b/components/expression/group.js new file mode 100644 index 0000000000..77d4c771ef --- /dev/null +++ b/components/expression/group.js @@ -0,0 +1,375 @@ +"use strict"; + +function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = void 0; + +var _react = _interopRequireDefault(require("react")); + +var _propTypes = _interopRequireDefault(require("prop-types")); + +var _classnames = _interopRequireDefault(require("classnames")); + +var _lodash = _interopRequireDefault(require("lodash.assign")); + +var _shortid = _interopRequireDefault(require("shortid")); + +var _constants = require("../../utilities/constants"); + +var _combobox = _interopRequireDefault(require("../combobox")); + +var _button = _interopRequireDefault(require("../button")); + +var _input = _interopRequireDefault(require("../input")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } + +function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); } + +function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } + +function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; } + +function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } + +function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } } + +function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } + +var propTypes = { + /** + * **Assistive text for accessibility.** + * * `label`: For users of assistive technology, assistive text for the expression group's label. + * * `addCondition`: For users of assistive technology, assistive text for the Add Condition button's icon. + * * `addGroup`: For users of assistive technology, assistive text for the Add Group button's icon. + */ + assistiveText: _propTypes.default.shape({ + label: _propTypes.default.string, + addCondition: _propTypes.default.string, + addGroup: _propTypes.default.string + }), + + /** + * HTML id for ExpressionGroup component. + */ + id: _propTypes.default.string, + + /** + * `ExpressionGroup` children, accepts `ExpressionCondition`. (Also accepts sub-`ExpressionGroup` if `isRoot`) + */ + children: _propTypes.default.node, + + /** + * CSS classes to be added to the element with class `.slds-expression__group`. Uses `classNames` [API](https://github.com/JedWatson/classnames). + */ + className: _propTypes.default.oneOfType([_propTypes.default.array, _propTypes.default.object, _propTypes.default.string]), + + /** + * Callbacks for various expression group events such as trigger change, add condition etc + */ + events: _propTypes.default.shape({ + onChangeTrigger: _propTypes.default.func, + onChangeCustomLogicValue: _propTypes.default.func, + onAddCondition: _propTypes.default.func, + onAddGroup: _propTypes.default.func + }), + + /** + * If set to true, the component will focus on the first focusable input upon mounting. This is useful for accessibility when adding new groups. + */ + focusOnMount: _propTypes.default.bool, + + /** + * **Text labels for internationalization** + * This object is merged with the default props object on every render. + * * `addCondition`: Label for the Add Condition Button. Defaults to "Add Condition" + * * `addGroup`: Label for the Add Group Button. Defaults to "Add Group" + * * `customLogic`: Label for the text box for inputting `customLogicValue`, if the `triggerType` is `custom`. Defaults to "Custom Logic" + * * `label`: Label for the expression group, to indicate condition connectors based on the parent's trigger-type chosen. Defaults to "" + * * `takeAction`: Label for the `triggerType` selector. Defaults to "Take Action When" + * * `triggerAll`: Label for the `all` value within the trigger selector + * * `triggerAlways`: Label for the `always` value within the trigger selector + * * `triggerAny`: Label for the `any` value within the trigger selector + * * `triggerCustom`: Label for the `custom` value within the trigger selector + * * `triggerFormula`: Label for the `formula` value within the trigger selector + */ + labels: _propTypes.default.shape({ + addCondition: _propTypes.default.string, + addGroup: _propTypes.default.string, + customLogic: _propTypes.default.string, + label: _propTypes.default.string, + takeAction: _propTypes.default.string, + triggerAll: _propTypes.default.string, + triggerAlways: _propTypes.default.string, + triggerAny: _propTypes.default.string, + triggerCustom: _propTypes.default.string, + triggerFormula: _propTypes.default.string + }), + + /** + * Whether the group is at root level + */ + isRoot: _propTypes.default.bool, + + /** + * Trigger type for the Group + */ + triggerType: _propTypes.default.oneOf(['all', 'any', 'custom', 'always', 'formula']), + + /** + * Sets the input for the custom logic value input box, shown if the `triggerType` is set to `custom`. + */ + customLogicValue: _propTypes.default.string +}; +var defaultProps = { + triggerType: 'all', + customLogicValue: '', + labels: { + label: '', + takeAction: 'Take Action When', + customLogic: 'Custom Logic', + addCondition: 'Add Condition', + addGroup: 'Add Group', + triggerAll: 'All Conditions Are Met', + triggerAny: 'Any Condition Is Met', + triggerCustom: 'Custom Logic Is Met', + triggerAlways: 'Always (No Criteria)', + triggerFormula: 'Formula Evaluates To True' + } +}; +/** + * Expression Group Component + */ + +var ExpressionGroup = /*#__PURE__*/function (_React$Component) { + _inherits(ExpressionGroup, _React$Component); + + var _super = _createSuper(ExpressionGroup); + + _createClass(ExpressionGroup, null, [{ + key: "triggerChange", + + /** + * Return triggerType selected, processing the triggerType objects generated + */ + value: function triggerChange(event, data) { + var selection = data.selection[0].id; + var trigger = ''; + + if (selection === '1') { + trigger = 'all'; + } else if (selection === '2') { + trigger = 'any'; + } else if (selection === '3') { + trigger = 'custom'; + } else if (selection === '4') { + trigger = 'always'; + } else if (selection === '5') { + trigger = 'formula'; + } + + return trigger; + } + }]); + + function ExpressionGroup(props) { + var _this; + + _classCallCheck(this, ExpressionGroup); + + _this = _super.call(this, props); + _this.generatedId = _shortid.default.generate(); + return _this; + } + + _createClass(ExpressionGroup, [{ + key: "componentDidMount", + value: function componentDidMount() { + if (this.props.focusOnMount && this.rootNode) { + var input = this.rootNode.querySelector('input'); + + if (input) { + input.focus(); + } + } + } + /** + * Get the Expression Group's HTML id. Generate a new one if no ID present. + */ + + }, { + key: "getId", + value: function getId() { + return this.props.id || this.generatedId; + } + /** + * Generate and return trigger type objects, with labels either sent as props or using default props. + */ + + }, { + key: "getTriggers", + value: function getTriggers() { + var labels = (0, _lodash.default)({}, defaultProps.labels, this.props.labels); + return [{ + id: '1', + label: labels.triggerAll + }, { + id: '2', + label: labels.triggerAny + }, { + id: '3', + label: labels.triggerCustom + }, { + id: '4', + label: labels.triggerAlways + }, { + id: '5', + label: labels.triggerFormula + }]; + } + /** + * Returns object of trigger from trigger passed as prop + */ + + }, { + key: "getTriggerSelection", + value: function getTriggerSelection() { + var selection = this.props.triggerType; + var Triggers = this.getTriggers(); + var t = []; + + if (selection === 'all') { + // eslint-disable-next-line fp/no-mutating-methods + t.push(Triggers[0]); + } else if (selection === 'any') { + // eslint-disable-next-line fp/no-mutating-methods + t.push(Triggers[1]); + } else if (selection === 'custom') { + // eslint-disable-next-line fp/no-mutating-methods + t.push(Triggers[2]); + } else if (selection === 'always') { + // eslint-disable-next-line fp/no-mutating-methods + t.push(Triggers[3]); + } else if (selection === 'formula') { + // eslint-disable-next-line fp/no-mutating-methods + t.push(Triggers[4]); + } + + return t; + } + }, { + key: "render", + value: function render() { + var _this2 = this; + + var assistiveText = (0, _lodash.default)({}, defaultProps.assistiveText, this.props.assistiveText); + var labels = (0, _lodash.default)({}, defaultProps.labels, this.props.labels); + + var triggerCombobox = /*#__PURE__*/_react.default.createElement(_combobox.default, { + events: { + onSelect: function onSelect(event, data) { + return _this2.props.events.onChangeTrigger(event, { + triggerType: ExpressionGroup.triggerChange(event, data) + }); + } + }, + id: "".concat(this.getId(), "-take-action-trigger"), + multiple: false, + options: this.getTriggers(), + variant: "readonly", + labels: { + label: labels.takeAction + }, + selection: this.getTriggerSelection() + }); + + var buttons = this.props.triggerType !== 'always' && this.props.triggerType !== 'formula' ? /*#__PURE__*/_react.default.createElement("div", { + className: "slds-expression__buttons" + }, /*#__PURE__*/_react.default.createElement(_button.default, { + iconCategory: "utility", + iconName: "add", + iconPosition: "left", + id: "".concat(this.getId(), "-add-condition-button"), + label: labels.addCondition, + assistiveText: { + icon: assistiveText.addCondition + }, + onClick: this.props.events.onAddCondition + }), this.props.isRoot ? /*#__PURE__*/_react.default.createElement(_button.default, { + iconCategory: "utility", + iconName: "add", + iconPosition: "left", + id: "".concat(this.getId(), "-add-group-button"), + label: labels.addGroup, + assistiveText: { + icon: assistiveText.addGroup + }, + onClick: this.props.events.onAddGroup + }) : null) : null; + var body = null; + + if (this.props.triggerType !== 'always') { + if (this.props.isRoot && this.props.triggerType === 'formula') { + body = this.props.children; + } else { + body = /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, this.props.triggerType === 'custom' ? /*#__PURE__*/_react.default.createElement(_input.default, { + label: labels.customLogic, + className: "slds-expression__custom-logic", + id: "".concat(this.getId(), "-custom-logic-input"), + value: this.props.customLogicValue, + variant: "base", + onChange: this.props.events.onChangeCustomLogicValue + }) : null, /*#__PURE__*/_react.default.createElement("ul", null, this.props.children)); + } + } + + if (this.props.isRoot) { + if (this.props.triggerType === 'formula') { + return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement("div", { + className: "slds-expression__options" + }, triggerCombobox), body); + } + + return /*#__PURE__*/_react.default.createElement("div", { + className: (0, _classnames.default)(this.props.className), + id: this.getId() + }, /*#__PURE__*/_react.default.createElement("div", { + className: "slds-expression__options" + }, triggerCombobox), body, buttons); + } + + return /*#__PURE__*/_react.default.createElement("li", { + className: (0, _classnames.default)('slds-expression__group', this.props.className), + id: this.getId(), + ref: function ref(rootNode) { + _this2.rootNode = rootNode; + } + }, /*#__PURE__*/_react.default.createElement("fieldset", null, /*#__PURE__*/_react.default.createElement("legend", { + className: "slds-expression__legend slds-expression__legend_group" + }, /*#__PURE__*/_react.default.createElement("span", null, labels.label), /*#__PURE__*/_react.default.createElement("span", { + className: "slds-assistive-text" + }, assistiveText.label)), /*#__PURE__*/_react.default.createElement("div", { + className: "slds-expression__options" + }, triggerCombobox), body, buttons)); + } + }]); + + return ExpressionGroup; +}(_react.default.Component); + +ExpressionGroup.displayName = _constants.EXPRESSION_GROUP; +ExpressionGroup.propTypes = propTypes; +ExpressionGroup.defaultProps = defaultProps; +var _default = ExpressionGroup; +exports.default = _default; \ No newline at end of file diff --git a/components/expression/index.js b/components/expression/index.js new file mode 100644 index 0000000000..a33c6d1ae8 --- /dev/null +++ b/components/expression/index.js @@ -0,0 +1,173 @@ +"use strict"; + +function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = void 0; + +var _react = _interopRequireDefault(require("react")); + +var _propTypes = _interopRequireDefault(require("prop-types")); + +var _classnames = _interopRequireDefault(require("classnames")); + +var _shortid = _interopRequireDefault(require("shortid")); + +var _lodash = _interopRequireDefault(require("lodash.assign")); + +var _constants = require("../../utilities/constants"); + +var _group = _interopRequireDefault(require("./group")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } + +function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); } + +function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } + +function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; } + +function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } + +function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } } + +function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } + +var propTypes = { + /** + * HTML id for component. + */ + id: _propTypes.default.string, + + /** + * `Expression` children, accepts `ExpressionCondition` & `ExpressionGroup` + */ + children: _propTypes.default.node, + + /** + * Callbacks for various expression events such as trigger change, add group etc + */ + events: _propTypes.default.shape({ + onChangeTrigger: _propTypes.default.func, + onAddGroup: _propTypes.default.func, + onAddCondition: _propTypes.default.func, + onChangeCustomLogicValue: _propTypes.default.func + }), + + /** + * **Text labels for internationalization** + * This object is merged with the default props object on every render. + * * `addCondition`: Label for the Add Condition Button. Defaults to "Add Condition" + * * `addGroup`: Label for the Add Group Button. Defaults to "Add Group" + * * `customLogic`: Label for the text box for inputting `customLogicValue`, if the `triggerType` is `custom`. Defaults to "Custom Logic" + * * `takeAction`: Label for the `triggerType` selector. Defaults to "Take Action When" + * * `title` : Title for the Expression. Defaults to "Conditions" + * * `triggerAll`: Label for the `all` value within the trigger selector + * * `triggerAlways`: Label for the `always` value within the trigger selector + * * `triggerAny`: Label for the `any` value within the trigger selector + * * `triggerCustom`: Label for the `custom` value within the trigger selector + * * `triggerFormula`: Label for the `formula` value within the trigger selector + */ + labels: _propTypes.default.shape({ + addCondition: _propTypes.default.string, + addGroup: _propTypes.default.string, + customLogic: _propTypes.default.string, + takeAction: _propTypes.default.string, + title: _propTypes.default.string, + triggerAll: _propTypes.default.string, + triggerAlways: _propTypes.default.string, + triggerAny: _propTypes.default.string, + triggerCustom: _propTypes.default.string, + triggerFormula: _propTypes.default.string + }), + + /** + * CSS classes to be added to the element with class `.slds-expression`. Uses `classNames` [API](https://github.com/JedWatson/classnames). + */ + className: _propTypes.default.oneOfType([_propTypes.default.array, _propTypes.default.object, _propTypes.default.string]), + + /** + * Sets the trigger type for the expression. + */ + triggerType: _propTypes.default.oneOf(['all', 'any', 'custom', 'always', 'formula']), + + /** + * Sets the input for the custom logic value input box, shown if the `triggerType` is set to `custom`. + */ + customLogicValue: _propTypes.default.string +}; +var defaultProps = { + labels: { + title: 'Conditions' + } +}; +/** + * Expression builders help users declaratively construct logical expressions. + * These expressions can be used when querying for a filtered set of records, + * creating rules to control when something executes, or any other conditional logic. + */ + +var Expression = /*#__PURE__*/function (_React$Component) { + _inherits(Expression, _React$Component); + + var _super = _createSuper(Expression); + + function Expression() { + _classCallCheck(this, Expression); + + return _super.apply(this, arguments); + } + + _createClass(Expression, [{ + key: "UNSAFE_componentWillMount", + // eslint-disable-next-line camelcase, react/sort-comp + value: function UNSAFE_componentWillMount() { + this.generatedId = _shortid.default.generate(); + } + /** + * Get the Expression Group's HTML id. Generate a new one if no ID present. + */ + + }, { + key: "getId", + value: function getId() { + return this.props.id || this.generatedId; + } + }, { + key: "render", + value: function render() { + var labels = (0, _lodash.default)({}, defaultProps.labels, this.props.labels); + return /*#__PURE__*/_react.default.createElement("div", { + className: (0, _classnames.default)('slds-expression', this.props.className), + id: this.getId() + }, /*#__PURE__*/_react.default.createElement("h2", { + className: "slds-expression__title" + }, labels.title), /*#__PURE__*/_react.default.createElement(_group.default, { + isRoot: true, + id: "".concat(this.getId(), "-group"), + events: this.props.events, + labels: labels, + customLogicValue: this.props.customLogicValue, + triggerType: this.props.triggerType + }, this.props.children)); + } + }]); + + return Expression; +}(_react.default.Component); + +Expression.displayName = _constants.EXPRESSION; +Expression.propTypes = propTypes; +Expression.defaultProps = defaultProps; +var _default = Expression; +exports.default = _default; \ No newline at end of file diff --git a/components/files.d.ts b/components/files.d.ts new file mode 100644 index 0000000000..bd1823554e --- /dev/null +++ b/components/files.d.ts @@ -0,0 +1,26 @@ +declare module '@salesforce/design-system-react/components/files' { + import React from 'react'; + type Props = { + /** + * CSS class names to be added to the container element. `array`, `object`, or `string` are accepted. + */ + className?: any[] | Record | string; + /** + * HTML id for component. + */ + id?: string; + /** + * Crop ratio for the file preview image + */ + crop?: '16-by-9' | '4-by-3' | '1-by-1'; + /** + * Column class names to be added each file in the grid + */ + columnClassName?: string; + }; + /** + * Files is a component that wraps multiple file components that represent an attachment + */ + function Component(props: Props): React.ReactElement; + export default Component; +} diff --git a/components/files/__docs__/__snapshots__/storybook-stories.storyshot b/components/files/__docs__/__snapshots__/storybook-stories.storyshot new file mode 100644 index 0000000000..e63b8ecced --- /dev/null +++ b/components/files/__docs__/__snapshots__/storybook-stories.storyshot @@ -0,0 +1,908 @@ +// Jest Snapshot v1, https://goo.gl/fbAQLP + +exports[`DOM snapshots SLDSFiles Cropped 1`] = ` +
    + +
    +`; + +exports[`DOM snapshots SLDSFiles Default 1`] = ` +
    + +
    +`; + +exports[`DOM snapshots SLDSFiles Loading 1`] = ` +
    + +
    +`; + +exports[`DOM snapshots SLDSFiles w/ Actions 1`] = ` +
    +
      +
    • +
      +
      + + + Preview: + + Proposal.pdf + +
      + +
      +
      +
      + +
      + +
      +
      +
      +
      +
      +
    • +
    • +
      +
      + + + Preview: + + Proposal.pdf + +
      +
      + + + + +
      +
      + + Proposal.pdf + +
      +
      +
      + +
      +
      + +
      + +
      +
      +
      +
      +
    • +
    • +
      +
      + +
      + + Preview: + + Show more files + +
      +
      +
      +
      + + + 22+ + + + more files + + +
      +
      +
      +
      +
      +
    • +
    +
    +`; + +exports[`DOM snapshots SLDSFiles w/ External Icon 1`] = ` +
    + +
    +`; + +exports[`DOM snapshots SLDSFiles w/o Image 1`] = ` +
    + +
    +`; + +exports[`DOM snapshots SLDSFiles w/o Title 1`] = ` +
    + +
    +`; diff --git a/components/files/__docs__/storybook-stories.jsx b/components/files/__docs__/storybook-stories.jsx new file mode 100644 index 0000000000..1b3ca1a821 --- /dev/null +++ b/components/files/__docs__/storybook-stories.jsx @@ -0,0 +1,23 @@ +import React from 'react'; +import { action } from '@storybook/addon-actions'; +import { storiesOf } from '@storybook/react'; +import { FILES } from '../../../utilities/constants'; +import Default from '../__examples__/default'; +import NoImage from '../__examples__/no-image'; +import NoTitle from '../__examples__/no-title'; +import Actions from '../__examples__/actions'; +import ExternalIcon from '../__examples__/with-external-icon'; +import Loading from '../__examples__/loading'; +import Cropped from '../__examples__/crops'; + +storiesOf(FILES, module) + .addDecorator((getStory) => ( +
    {getStory()}
    + )) + .add('Default', () => ) + .add('w/o Image', () => ) + .add('w/o Title', () => ) + .add('w/ External Icon', () => ) + .add('w/ Actions', () => ) + .add('Loading', () => ) + .add('Cropped', () => ); diff --git a/components/files/__examples__/actions.jsx b/components/files/__examples__/actions.jsx new file mode 100644 index 0000000000..eb537eb4e2 --- /dev/null +++ b/components/files/__examples__/actions.jsx @@ -0,0 +1,86 @@ +import React from 'react'; +import Files from '~/components/files'; +import File from '~/components/files/file'; +import MoreFiles from '~/components/files/more-files'; +import IconSettings from '~/components/icon-settings'; +import Icon from '~/components/icon'; +import Dropdown from '~/components/menu-dropdown'; + +class Example extends React.Component { + static displayName = 'filesLoadingExample'; + + render() { + return ( + + + { + console.log('Download Button Clicked'); + }} + moreActionsDropdown={ + { + console.log('selected: ', value); + }} + options={[ + { label: 'Menu Item One', value: 'A0' }, + { label: 'Menu Item Two', value: 'B0' }, + ]} + value="A0" + /> + } + /> + } + image="/assets/images/placeholder-img@16x9.jpg" + onClickDownload={() => { + console.log('Download Button Clicked'); + }} + moreActionsDropdown={ + { + console.log('selected: ', value); + }} + options={[ + { label: 'Menu Item One', value: 'A0' }, + { label: 'Menu Item Two', value: 'B0' }, + ]} + value="A0" + /> + } + /> + + + + ); + } +} + +export default Example; diff --git a/components/files/__examples__/crops.jsx b/components/files/__examples__/crops.jsx new file mode 100644 index 0000000000..3f237cd124 --- /dev/null +++ b/components/files/__examples__/crops.jsx @@ -0,0 +1,48 @@ +import React from 'react'; +import Files from '~/components/files'; +import File from '~/components/files/file'; +import IconSettings from '~/components/icon-settings'; +import Icon from '~/components/icon'; + +class Example extends React.Component { + static displayName = 'filesExample'; + + render() { + return ( + + + } + image="/assets/images/placeholder-img@16x9.jpg" + crop="1-by-1" + /> + } + image="/assets/images/placeholder-img@16x9.jpg" + crop="16-by-9" + /> + } + image="/assets/images/placeholder-img@16x9.jpg" + href="javascript:void(0);" + crop="4-by-3" + /> + + + ); + } +} + +export default Example; diff --git a/components/files/__examples__/default.jsx b/components/files/__examples__/default.jsx new file mode 100644 index 0000000000..a6fc7a33a2 --- /dev/null +++ b/components/files/__examples__/default.jsx @@ -0,0 +1,31 @@ +import React from 'react'; +import Files from '~/components/files'; +import File from '~/components/files/file'; +import IconSettings from '~/components/icon-settings'; +import Icon from '~/components/icon'; + +class Example extends React.Component { + static displayName = 'filesExample'; + + render() { + return ( + + + } + image="/assets/images/placeholder-img@16x9.jpg" + /> + + + ); + } +} + +export default Example; diff --git a/components/files/__examples__/loading.jsx b/components/files/__examples__/loading.jsx new file mode 100644 index 0000000000..fc9626aa92 --- /dev/null +++ b/components/files/__examples__/loading.jsx @@ -0,0 +1,36 @@ +import React from 'react'; +import Files from '~/components/files'; +import File from '~/components/files/file'; +import IconSettings from '~/components/icon-settings'; +import Icon from '~/components/icon'; + +class Example extends React.Component { + static displayName = 'filesLoadingExample'; + + render() { + return ( + + + + } + isLoading + labels={{ + title: 'Proposal.pdf', + }} + /> + + + ); + } +} + +export default Example; diff --git a/components/files/__examples__/no-image.jsx b/components/files/__examples__/no-image.jsx new file mode 100644 index 0000000000..d13423710a --- /dev/null +++ b/components/files/__examples__/no-image.jsx @@ -0,0 +1,27 @@ +import React from 'react'; +import Files from '~/components/files'; +import File from '~/components/files/file'; +import IconSettings from '~/components/icon-settings'; +import Icon from '~/components/icon'; + +class Example extends React.Component { + static displayName = 'filesNoImageExample'; + + render() { + return ( + + + } + /> + + + ); + } +} + +export default Example; diff --git a/components/files/__examples__/no-title.jsx b/components/files/__examples__/no-title.jsx new file mode 100644 index 0000000000..08eeb25a29 --- /dev/null +++ b/components/files/__examples__/no-title.jsx @@ -0,0 +1,37 @@ +import React from 'react'; +import Files from '~/components/files'; +import File from '~/components/files/file'; +import IconSettings from '~/components/icon-settings'; + +import log from '~/utilities/log'; + +class Example extends React.Component { + static displayName = 'filesNoTitleExample'; + + render() { + return ( + + + { + event.preventDefault(); + log({ + action: this.props.action, + event, + eventName: 'Image Clicked', + }); + }} + /> + + + ); + } +} + +export default Example; diff --git a/components/files/__examples__/with-external-icon.jsx b/components/files/__examples__/with-external-icon.jsx new file mode 100644 index 0000000000..c9a5d79ab8 --- /dev/null +++ b/components/files/__examples__/with-external-icon.jsx @@ -0,0 +1,28 @@ +import React from 'react'; +import Files from '~/components/files'; +import File from '~/components/files/file'; +import IconSettings from '~/components/icon-settings'; +import Icon from '~/components/icon'; + +class Example extends React.Component { + static displayName = 'filesNoImageExample'; + + render() { + return ( + + + } + externalIcon={} + /> + + + ); + } +} + +export default Example; diff --git a/components/files/component.json b/components/files/component.json new file mode 100644 index 0000000000..bc2f8e1370 --- /dev/null +++ b/components/files/component.json @@ -0,0 +1,48 @@ +{ + "component": "files", + "status": "prod", + "display-name": "Files", + "classKey": "Files", + "dependencies": [ + { + "component": "file", + "classKey": "FilesFile" + }, + { + "component": "more-files", + "classKey": "FilesMoreFiles" + } + ], + "SLDS-component-path": "/components/files", + "site-stories": [ + { + "heading": "Default", + "path": "/__examples__/default.jsx" + }, + { + "heading": "Cropped", + "path": "/__examples__/crops.jsx" + }, + { + "heading": "Loading", + "path": "/__examples__/loading.jsx" + }, + { + "heading": "No Title", + "path": "/__examples__/no-title.jsx" + }, + { + "heading": "With External Icon", + "path": "/__examples__/with-external-icon.jsx" + }, + { + "heading": "No Image", + "path": "/__examples__/no-image.jsx" + }, + { + "heading": "Actions", + "path": "/__examples__/actions.jsx" + } + ], + "url-slug": "files" +} diff --git a/components/files/file.d.ts b/components/files/file.d.ts new file mode 100644 index 0000000000..0636a8b0f0 --- /dev/null +++ b/components/files/file.d.ts @@ -0,0 +1,80 @@ +declare module '@salesforce/design-system-react/components/files/file' { + import React from 'react'; + type Props = { + /** + * **Assistive text for accessibility** + * * download - description for the download button if present + * * image - description for the file image + * * link - description for the file link + * * loading - description for the loading spinner if present + * * moreActions - description for the more actions dropdown if present + */ + assistiveText?: Partial<{ + download?: string; + image?: string; + link?: string; + loading?: string; + moreActions?: string; + }>; + /** + * CSS class names to be added to the container element. `array`, `object`, or `string` are accepted. + */ + className?: any[] | Record | string; + /** + * Controls different cropping aspect ratios for the component + */ + crop?: '16-by-9' | '4-by-3' | '1-by-1'; + /** + * HTML id for component. + */ + id?: string; + /** + * Action to be done on clicking download button; doesn't show download button if empty + */ + onClickDownload?: (v: any) => any; + /** + * Function that is called when image is clicked; can be used instead of href for more advanced event handling + */ + onClickImage?: (v: any) => any; + /** + * Dropdown for more actions button; doesn't show more actions button if empty + */ + moreActionsDropdown?: React.ReactNode; + /** + * Icon associated with the file. Accepts an Icon component + */ + icon?: React.ReactNode; + /** + * Icon to be shown in top left corner of File component. Accepts an Icon component + */ + externalIcon?: React.ReactNode; + /** + * Link to thumbnail image + */ + image?: string; + /** + * Controls whether file preview is loading + */ + isLoading?: boolean; + /** + * Href attribute for image + */ + href?: string; + /** + * Labels for the File Component + * * image - title for the file. Required. + */ + labels?: Partial<{ + title: string /*.isRequired*/; + }>; + /** + * Controls whether the file's title should be visible + */ + hasNoVisibleTitle?: boolean; + }; + /** + * File is a component that represents content uploaded as an attachment. + */ + function Component(props: Props): React.ReactNode; + export default Component; +} diff --git a/components/files/file.js b/components/files/file.js new file mode 100644 index 0000000000..7333e54663 --- /dev/null +++ b/components/files/file.js @@ -0,0 +1,236 @@ +"use strict"; + +function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = void 0; + +var _react = _interopRequireDefault(require("react")); + +var _propTypes = _interopRequireDefault(require("prop-types")); + +var _classnames = _interopRequireDefault(require("classnames")); + +var _shortid = _interopRequireDefault(require("shortid")); + +var _constants = require("../../utilities/constants"); + +var _fileFigure = _interopRequireDefault(require("./private/file-figure")); + +var _fileActions = _interopRequireDefault(require("./private/file-actions")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } + +function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); } + +function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } + +function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; } + +function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } + +function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } } + +function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } + +var displayName = _constants.FILES_FILE; +var propTypes = { + /** + * **Assistive text for accessibility** + * * download - description for the download button if present + * * image - description for the file image + * * link - description for the file link + * * loading - description for the loading spinner if present + * * moreActions - description for the more actions dropdown if present + */ + assistiveText: _propTypes.default.shape({ + download: _propTypes.default.string, + image: _propTypes.default.string, + link: _propTypes.default.string, + loading: _propTypes.default.string, + moreActions: _propTypes.default.string + }), + + /** + * CSS class names to be added to the container element. `array`, `object`, or `string` are accepted. + */ + className: _propTypes.default.oneOfType([_propTypes.default.array, _propTypes.default.object, _propTypes.default.string]), + + /** + * Controls different cropping aspect ratios for the component + */ + crop: _propTypes.default.oneOf(['16-by-9', '4-by-3', '1-by-1']), + + /** + * HTML id for component. + */ + id: _propTypes.default.string, + + /** + * Action to be done on clicking download button; doesn't show download button if empty + */ + onClickDownload: _propTypes.default.func, + + /** + * Function that is called when image is clicked; can be used instead of href for more advanced event handling + */ + onClickImage: _propTypes.default.func, + + /** + * Dropdown for more actions button; doesn't show more actions button if empty + */ + moreActionsDropdown: _propTypes.default.node, + + /** + * Icon associated with the file. Accepts an Icon component + */ + icon: _propTypes.default.node, + + /** + * Icon to be shown in top left corner of File component. Accepts an Icon component + */ + externalIcon: _propTypes.default.node, + + /** + * Link to thumbnail image + */ + image: _propTypes.default.string, + + /** + * Controls whether file preview is loading + */ + isLoading: _propTypes.default.bool, + + /** + * Href attribute for image + */ + href: _propTypes.default.string, + + /** + * Labels for the File Component + * * image - title for the file. Required. + */ + labels: _propTypes.default.shape({ + title: _propTypes.default.string.isRequired + }), + + /** + * Controls whether the file's title should be visible + */ + hasNoVisibleTitle: _propTypes.default.bool +}; +var defaultProps = { + assistiveText: { + download: 'download', + link: 'Preview:', + loading: 'loading', + moreActions: 'more actions' + }, + crop: '16-by-9', + href: 'javascript:void(0);', + isLoading: false, + hasNoVisibleTitle: false +}; +/** + * File is a component that represents content uploaded as an attachment. + */ + +var File = /*#__PURE__*/function (_React$Component) { + _inherits(File, _React$Component); + + var _super = _createSuper(File); + + function File() { + _classCallCheck(this, File); + + return _super.apply(this, arguments); + } + + _createClass(File, [{ + key: "UNSAFE_componentWillMount", + // eslint-disable-next-line camelcase, react/sort-comp + value: function UNSAFE_componentWillMount() { + this.generatedId = _shortid.default.generate(); + } + /** + * Get the File's HTML id. Generate a new one if no ID present. + */ + + }, { + key: "getId", + value: function getId() { + return this.props.id || this.generatedId; + } + }, { + key: "render", + value: function render() { + var assistiveText = _objectSpread(_objectSpread({}, defaultProps.assistiveText), this.props.assistiveText); + + return /*#__PURE__*/_react.default.createElement("div", { + id: this.getId(), + className: (0, _classnames.default)('slds-file', 'slds-file_card', !this.props.hasNoVisibleTitle ? 'slds-has-title' : null, this.props.className) + }, /*#__PURE__*/_react.default.createElement("figure", null, /*#__PURE__*/_react.default.createElement("a", { + href: this.props.href, + className: (0, _classnames.default)('slds-file__crop', this.props.crop ? "slds-file__crop_".concat(this.props.crop) : null), + onClick: this.props.onClickImage + }, /*#__PURE__*/_react.default.createElement(_fileFigure.default, { + assistiveText: assistiveText, + labels: { + title: this.props.labels.title + }, + isLoading: this.props.isLoading, + image: this.props.image, + icon: this.props.icon + })), !this.props.hasNoVisibleTitle ? /*#__PURE__*/_react.default.createElement("figcaption", { + className: "slds-file__title slds-file__title_card" + }, /*#__PURE__*/_react.default.createElement("div", { + className: "slds-media__figure slds-line-height_reset" + }, this.props.icon ? /*#__PURE__*/_react.default.cloneElement(this.props.icon, { + size: 'x-small' + }) : null), /*#__PURE__*/_react.default.createElement("div", { + className: "slds-media__body" + }, /*#__PURE__*/_react.default.createElement("span", { + className: "slds-file__text slds-truncate", + title: this.props.labels.title + }, this.props.labels.title))) : null), this.props.externalIcon ? /*#__PURE__*/_react.default.createElement("div", { + className: "slds-file__external-icon" + }, /*#__PURE__*/_react.default.cloneElement(this.props.externalIcon, { + containerClassName: 'slds-file__icon slds-icon_container' + })) : null, this.props.moreActionsDropdown ? File.injectMoreActionsStyles() : null, /*#__PURE__*/_react.default.createElement(_fileActions.default, { + assistiveText: assistiveText, + hasNoVisibleTitle: this.props.hasNoVisibleTitle, + onClickDownload: this.props.onClickDownload, + moreActionsDropdown: this.props.moreActionsDropdown + })); + } + }], [{ + key: "injectMoreActionsStyles", + value: function injectMoreActionsStyles() { + return /*#__PURE__*/_react.default.createElement("style", null, "\n\t\t\t\t\t.dsr-file__more-actions-dropdown ul.dropdown__list li.slds-dropdown__item > a:before\n\t\t\t\t\t{ background: none; }\n\t\t\t\t\t.dsr-file__more-actions-dropdown ul.dropdown__list li.slds-dropdown__item > a:after\n\t\t\t\t\t{ background: none; }\n\t\t\t\t\t.dsr-file__more-actions > button:first-child\n\t\t\t\t\t{ border-radius: 0 0.25rem 0.25rem 0!important;}\n\t\t\t"); + } + }]); + + return File; +}(_react.default.Component); + +File.displayName = displayName; +File.propTypes = propTypes; +File.defaultProps = defaultProps; +var _default = File; +exports.default = _default; \ No newline at end of file diff --git a/components/files/index.js b/components/files/index.js new file mode 100644 index 0000000000..aa616fc424 --- /dev/null +++ b/components/files/index.js @@ -0,0 +1,124 @@ +"use strict"; + +function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = void 0; + +var _react = _interopRequireDefault(require("react")); + +var _propTypes = _interopRequireDefault(require("prop-types")); + +var _classnames = _interopRequireDefault(require("classnames")); + +var _shortid = _interopRequireDefault(require("shortid")); + +var _constants = require("../../utilities/constants"); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } + +function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); } + +function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } + +function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; } + +function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } + +function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } } + +function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } + +var displayName = _constants.FILES; +var propTypes = { + /** + * CSS class names to be added to the container element. `array`, `object`, or `string` are accepted. + */ + className: _propTypes.default.oneOfType([_propTypes.default.array, _propTypes.default.object, _propTypes.default.string]), + + /** + * HTML id for component. + */ + id: _propTypes.default.string, + + /** + * Crop ratio for the file preview image + */ + crop: _propTypes.default.oneOf(['16-by-9', '4-by-3', '1-by-1']), + + /** + * Column class names to be added each file in the grid + */ + columnClassName: _propTypes.default.string +}; +var defaultProps = { + crop: '4-by-3' +}; +/** + * Files is a component that wraps multiple file components that represent an attachment + */ + +var Files = /*#__PURE__*/function (_React$Component) { + _inherits(Files, _React$Component); + + var _super = _createSuper(Files); + + function Files() { + _classCallCheck(this, Files); + + return _super.apply(this, arguments); + } + + _createClass(Files, [{ + key: "UNSAFE_componentWillMount", + // eslint-disable-next-line camelcase, react/sort-comp + value: function UNSAFE_componentWillMount() { + this.generatedId = _shortid.default.generate(); + } + /** + * Get the File's HTML id. Generate a new one if no ID present. + */ + + }, { + key: "getId", + value: function getId() { + return this.props.id || this.generatedId; + } + }, { + key: "render", + value: function render() { + var _this = this; + + var files = _react.default.Children.map(this.props.children, function (option) { + return /*#__PURE__*/_react.default.createElement("li", { + className: (0, _classnames.default)("slds-p-horizontal_xx-small slds-size_1-of-3 slds-medium-size_1-of-4", _this.props.columnClassName) + }, /*#__PURE__*/_react.default.cloneElement(option, { + crop: option.props.crop ? option.props.crop : _this.props.crop + })); + }); + + return /*#__PURE__*/_react.default.createElement("ul", { + className: (0, _classnames.default)('slds-grid slds-grid_pull-padded', this.props.className), + id: this.getId() + }, files); + } + }]); + + return Files; +}(_react.default.Component); + +Files.displayName = displayName; +Files.propTypes = propTypes; +Files.defaultProps = defaultProps; +var _default = Files; +exports.default = _default; \ No newline at end of file diff --git a/components/files/more-files.d.ts b/components/files/more-files.d.ts new file mode 100644 index 0000000000..da4a6dfe4f --- /dev/null +++ b/components/files/more-files.d.ts @@ -0,0 +1,45 @@ +declare module '@salesforce/design-system-react/components/files/more-files' { + import React from 'react'; + type Props = { + /** + * **Assistive text for accessibility** + * * count - description for the more files count + * * image - description for the image + * * link - description for the more files link + */ + assistiveText?: Partial<{ + count?: string; + image?: string; + link?: string; + }>; + /** + * CSS class names to be added to the container element. `array`, `object`, or `string` are accepted. + */ + className?: any[] | Record | string; + /** + * HTML id for component. + */ + id?: string; + /** + * Controls different cropping aspect ratios for the component + */ + crop?: '16-by-9' | '4-by-3' | '1-by-1'; + /** + * Link to thumbnail image + */ + image?: string; + /** + * Controls the number of additional files that is displayed + */ + count?: string; + /** + * Href attribute for image + */ + href?: string; + }; + /** + * MoreFiles is a component that represents a number of file contents uploaded as an attachment. + */ + function Component(props: Props): React.ReactNode; + export default Component; +} diff --git a/components/files/more-files.js b/components/files/more-files.js new file mode 100644 index 0000000000..102e8c014e --- /dev/null +++ b/components/files/more-files.js @@ -0,0 +1,169 @@ +"use strict"; + +function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = void 0; + +var _react = _interopRequireDefault(require("react")); + +var _propTypes = _interopRequireDefault(require("prop-types")); + +var _classnames = _interopRequireDefault(require("classnames")); + +var _shortid = _interopRequireDefault(require("shortid")); + +var _constants = require("../../utilities/constants"); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } + +function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); } + +function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } + +function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; } + +function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } + +function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } } + +function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } + +var displayName = _constants.FILES_MORE; +var propTypes = { + /** + * **Assistive text for accessibility** + * * count - description for the more files count + * * image - description for the image + * * link - description for the more files link + */ + assistiveText: _propTypes.default.shape({ + count: _propTypes.default.string, + image: _propTypes.default.string, + link: _propTypes.default.string + }), + + /** + * CSS class names to be added to the container element. `array`, `object`, or `string` are accepted. + */ + className: _propTypes.default.oneOfType([_propTypes.default.array, _propTypes.default.object, _propTypes.default.string]), + + /** + * HTML id for component. + */ + id: _propTypes.default.string, + + /** + * Controls different cropping aspect ratios for the component + */ + crop: _propTypes.default.oneOf(['16-by-9', '4-by-3', '1-by-1']), + + /** + * Link to thumbnail image + */ + image: _propTypes.default.string, + + /** + * Controls the number of additional files that is displayed + */ + count: _propTypes.default.string, + + /** + * Href attribute for image + */ + href: _propTypes.default.string +}; +var defaultProps = { + assistiveText: { + count: 'more files', + image: 'Show more files', + link: 'Preview:' + }, + crop: '16-by-9', + href: 'javascript:void(0);' +}; +/** + * MoreFiles is a component that represents a number of file contents uploaded as an attachment. + */ + +var MoreFiles = /*#__PURE__*/function (_React$Component) { + _inherits(MoreFiles, _React$Component); + + var _super = _createSuper(MoreFiles); + + function MoreFiles() { + _classCallCheck(this, MoreFiles); + + return _super.apply(this, arguments); + } + + _createClass(MoreFiles, [{ + key: "UNSAFE_componentWillMount", + // eslint-disable-next-line camelcase, react/sort-comp + value: function UNSAFE_componentWillMount() { + this.generatedId = _shortid.default.generate(); + } + }, { + key: "getId", + value: function getId() { + return this.props.id || this.generatedId; + } + }, { + key: "render", + value: function render() { + var assistiveText = _objectSpread(_objectSpread({}, defaultProps.assistiveText), this.props.assistiveText); + + return /*#__PURE__*/_react.default.createElement("div", { + className: (0, _classnames.default)("slds-file slds-file_card", this.props.className), + id: this.getId() + }, /*#__PURE__*/_react.default.createElement("figure", null, /*#__PURE__*/_react.default.createElement("a", { + href: this.props.href, + className: (0, _classnames.default)('slds-file__crop', this.props.crop ? "slds-file__crop_".concat(this.props.crop) : null) + }, /*#__PURE__*/_react.default.createElement("div", { + className: "slds-file_overlay" + }), /*#__PURE__*/_react.default.createElement("span", { + className: "slds-assistive-text" + }, assistiveText.link), /*#__PURE__*/_react.default.createElement("img", { + src: this.props.image, + alt: assistiveText.image + })), /*#__PURE__*/_react.default.createElement("figcaption", { + className: "slds-file__title slds-file__title_overlay slds-align_absolute-center slds-text-heading_large" + }, /*#__PURE__*/_react.default.createElement("div", { + className: "slds-media slds-media_small slds-media_center" + }, /*#__PURE__*/_react.default.createElement("div", { + className: "slds-media__figure slds-line-height_reset" + }), /*#__PURE__*/_react.default.createElement("div", { + className: "slds-media__body" + }, /*#__PURE__*/_react.default.createElement("span", { + className: "slds-file__text slds-truncate", + title: this.props.count + }, /*#__PURE__*/_react.default.createElement("span", null, this.props.count), /*#__PURE__*/_react.default.createElement("span", { + className: "slds-assistive-text" + }, assistiveText.count))))))); + } + }]); + + return MoreFiles; +}(_react.default.Component); + +MoreFiles.displayName = displayName; +MoreFiles.propTypes = propTypes; +MoreFiles.defaultProps = defaultProps; +var _default = MoreFiles; +exports.default = _default; \ No newline at end of file diff --git a/components/files/private/file-actions.d.ts b/components/files/private/file-actions.d.ts new file mode 100644 index 0000000000..3b67172007 --- /dev/null +++ b/components/files/private/file-actions.d.ts @@ -0,0 +1,20 @@ +declare module '@salesforce/design-system-react/components/files/private/file-actions' { + import React from 'react'; + type Props = { + /** + * Action to be done on clicking download button; doesnt show download button if empty + */ + onClickDownload?: (v: any) => any; + /** + * Dropdown for More Actions; doesn't show More actions button if empty + */ + moreActionsDropdown?: React.ReactNode; + /** + * Labels for the file component + */ + hasNoVisibleTitle?: boolean; + }; + + function Component(props: Props): React.ReactNode; + export default Component; +} diff --git a/components/files/private/file-actions.js b/components/files/private/file-actions.js new file mode 100644 index 0000000000..6e9945690a --- /dev/null +++ b/components/files/private/file-actions.js @@ -0,0 +1,92 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = void 0; + +var _react = _interopRequireDefault(require("react")); + +var _propTypes = _interopRequireDefault(require("prop-types")); + +var _constants = require("../../../utilities/constants"); + +var _button = _interopRequireDefault(require("../../button")); + +var _icon = _interopRequireDefault(require("../../icon")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */ + +/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */ +// # FileActions Component +// Implements the [FileActions design pattern](https://www.lightningdesignsystem.com/components/files/) in React. + +/** + * A carousel allows multiple pieces of featured content to occupy an allocated amount of space. + */ +var FileActions = function FileActions(props) { + var actions = /*#__PURE__*/_react.default.createElement("div", { + className: "slds-file__actions-menu" + }, /*#__PURE__*/_react.default.createElement("div", { + className: "slds-button-group", + role: "group" + }, typeof props.onClickDownload === 'function' ? /*#__PURE__*/_react.default.createElement(_button.default, { + type: "button", + variant: "icon", + iconSize: "x-small", + onClick: props.onClickDownload, + title: "Download", + className: "slds-button_icon-inverse" + }, /*#__PURE__*/_react.default.createElement(_icon.default, { + assistiveText: { + label: props.assistiveText.download + }, + category: "utility", + name: "download", + size: "xx-small", + inverse: props.hasNoVisibleTitle + })) : null, props.moreActionsDropdown ? /*#__PURE__*/_react.default.cloneElement(props.moreActionsDropdown, { + assistiveText: { + icon: props.assistiveText.moreActions + }, + overlay: false, + buttonVariant: 'icon', + buttonInverse: props.hasNoVisibleTitle, + className: 'dsr-file__more-actions-dropdown ', + triggerClassName: 'dsr-file__more-actions' + }) : null)); + + if (typeof props.onClickDownload === 'function' || props.moreActionsDropdown) { + if (!props.hasNoVisibleTitle) { + return actions; + } + + return /*#__PURE__*/_react.default.createElement("div", { + className: "slds-file__title slds-file__title_scrim" + }, actions); + } + + return null; +}; + +FileActions.displayName = _constants.FILES_ACTIONS; +FileActions.propTypes = { + /** + * Action to be done on clicking download button; doesnt show download button if empty + */ + onClickDownload: _propTypes.default.func, + + /** + * Dropdown for More Actions; doesn't show More actions button if empty + */ + moreActionsDropdown: _propTypes.default.node, + + /** + * Labels for the file component + */ + hasNoVisibleTitle: _propTypes.default.bool +}; +var _default = FileActions; +exports.default = _default; \ No newline at end of file diff --git a/components/files/private/file-figure.d.ts b/components/files/private/file-figure.d.ts new file mode 100644 index 0000000000..6b3a395e7d --- /dev/null +++ b/components/files/private/file-figure.d.ts @@ -0,0 +1,25 @@ +declare module '@salesforce/design-system-react/components/files/private/file-figure' { + import React from 'react'; + type Props = { + assistiveText?: Partial<{ + image?: string; + }>; + /** + * Whether the file figure is loading + */ + isLoading?: boolean; + /** + * Image/Figure for the file + */ + image?: string; + /** + * Labels for the file figure component + */ + labels?: Partial<{ + title: string /*.isRequired*/; + }>; + }; + + function Component(props: Props): React.ReactNode; + export default Component; +} diff --git a/components/files/private/file-figure.js b/components/files/private/file-figure.js new file mode 100644 index 0000000000..9c0f5d6ab3 --- /dev/null +++ b/components/files/private/file-figure.js @@ -0,0 +1,89 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = void 0; + +var _react = _interopRequireDefault(require("react")); + +var _propTypes = _interopRequireDefault(require("prop-types")); + +var _constants = require("../../../utilities/constants"); + +var _spinner = _interopRequireDefault(require("../../spinner")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */ + +/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */ +// # FileFigure Component +// Implements the [FileFigure design pattern](https://www.lightningdesignsystem.com/components/files/) in React. + +/** + * A file can have a image, an icon or a loading animation as its thumbnail + */ +var FileFigure = function FileFigure(props) { + if (props.isLoading) { + return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement("span", { + className: "slds-assistive-text" + }, props.assistiveText.link), /*#__PURE__*/_react.default.createElement(_spinner.default, { + size: "medium", + variant: "base", + assistiveText: { + label: props.assistiveText.loading + }, + containerStyle: { + zIndex: '1' + } + })); + } + + if (props.image) { + return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement("span", { + className: "slds-assistive-text" + }, props.assistiveText.link), /*#__PURE__*/_react.default.createElement("img", { + alt: props.assistiveText.image || props.labels.title, + src: props.image + })); + } + + return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement("span", { + className: "slds-assistive-text" + }, props.assistiveText.link), /*#__PURE__*/_react.default.createElement("span", { + className: "slds-file__icon slds-icon_container", + title: props.labels.title + }, /*#__PURE__*/_react.default.cloneElement(props.icon, { + size: null + }))); +}; + +FileFigure.displayName = _constants.FILES_FIGURE; +FileFigure.propTypes = { + assistiveText: _propTypes.default.shape({ + image: _propTypes.default.string + }), + + /** + * Whether the file figure is loading + */ + isLoading: _propTypes.default.bool, + + /** + * Image/Figure for the file + */ + image: _propTypes.default.string, + + /** + * Labels for the file figure component + */ + labels: _propTypes.default.shape({ + title: _propTypes.default.string.isRequired + }) +}; +FileFigure.defaultProps = { + isLoading: false +}; +var _default = FileFigure; +exports.default = _default; \ No newline at end of file diff --git a/components/filter.d.ts b/components/filter.d.ts new file mode 100644 index 0000000000..dded632416 --- /dev/null +++ b/components/filter.d.ts @@ -0,0 +1,84 @@ +declare module '@salesforce/design-system-react/components/filter' { + import React from 'react'; + type Props = { + /** + * Aligns the popover with the respective side of the trigger. That is `left` will place the `Popover` to the left of the Filter. + */ + align?: 'left' | 'right'; + /** + * **Assistive text for accessibility** + * * `removeFilter`: Assistive text for removing a filter. The default is `Remove Filter: this.props.property this.props.predicate`. + * * `editFilter`: Assistive text for changing a filter. + * * `editFilterHeading`: Assistive text for Popover heading. + */ + assistiveText?: Partial<{ + editFilter?: string; + editFilterHeading?: string; + removeFilter?: string; + }>; + /** + * Contents of popover. That is the dropdowns and inputs that set the filter criteria. + */ + children?: React.ReactNode; + /** + * Custom CSS classes for `slds-filters__item` node. Uses `classNames` [API](https://github.com/JedWatson/classnames). + */ + className?: any[] | Record | string; + /** + * Applies error state styling. Per filter error messages are outside this components. + */ + isError?: boolean; + /** + * A unique ID is needed in order to support keyboard navigation, ARIA support, and connect the dropdown to the triggering button. An `id` will be generated if none is supplied. + */ + id?: string; + /** + * If true, the filter will not display an editing popover when clicked. + */ + isLocked?: boolean; + /** + * Applies new filter styling. + */ + isNew?: boolean; + /** + * If true, the filter will not include a remove button. + */ + isPermanent?: boolean; + /** + * Will be triggered when Done within the Popover is clicked. This is the place to update the filter props displayed. Callback will recieve parameters: `clickEvent, { id }`. An index into your store may be a good setting for `id`, so that it will be passed back here. + */ + onChange?: ( + e: React.MouseEvent, + option: { id: string } + ) => any; + /** + * Will be triggered when "Remove Filter" button is clicked. Callback will recieve parameters: `clickEvent, { id }`. An index into your store may be a good setting for `id`, so that it will be passed back here. + */ + onRemove?: ( + clickEvent: React.MouseEvent, + props: { id: string } + ) => any; + /** + * Will be triggered when Filter is clicked. This is the place to close/open popover if a custom popover is passed in + */ + onClick?: (v: any) => any; + /** + * A `Popover` component. The props from this popover will be merged and override any default props. This also allows a Filter's Popover dialog to be a controlled component. _Tested with Mocha framework._ + */ + popover?: React.ReactElement; + /** + * The criteria you are filtering for. For instance, if "Hair Color is PURPLE" is your filter, "is PURPLE" is your filter predicate. + */ + predicate?: React.ReactNode; + /** + * The property you are filtering. For instance, if "Hair Color is PURPLE" is your filter, "Hair Color" is your filter property. + */ + property?: React.ReactNode; + }; + + /** + * A Filter is a popover with custom trigger. It can be used by [Panel Filtering](/components/panels/). Menus within a Filter Popover will need to not have "portal mounts" and be inline. + */ + function Component(props: Props): React.ReactElement; + export default Component; +} diff --git a/components/filter/__docs__/__snapshots__/storybook-stories.storyshot b/components/filter/__docs__/__snapshots__/storybook-stories.storyshot new file mode 100644 index 0000000000..3b70425e95 --- /dev/null +++ b/components/filter/__docs__/__snapshots__/storybook-stories.storyshot @@ -0,0 +1,515 @@ +// Jest Snapshot v1, https://goo.gl/fbAQLP + +exports[`DOM snapshots SLDSFilter AssistiveTextFilter 1`] = ` +
    +
    +
    +
    +
    + +
    + +
    +
    +
    +
    +`; + +exports[`DOM snapshots SLDSFilter ErrorFilter 1`] = ` +
    +
    +
    +
    +
    +
    + +
    + +
    +

    + Error Message +

    +
    +
    +
    +
    +`; + +exports[`DOM snapshots SLDSFilter Filter 1`] = ` +
    +
    +
    +
    +
    + +
    + +
    +
    +
    +
    +`; + +exports[`DOM snapshots SLDSFilter Filter Align Right 1`] = ` +
    +
    +
    +
    +
    + +
    + +
    +
    +
    +
    +`; + +exports[`DOM snapshots SLDSFilter Locked Filter 1`] = ` +
    +
    +
    +
    + +
    +
    +
    +
    +`; + +exports[`DOM snapshots SLDSFilter New Filter 1`] = ` +
    +
    +
    +
    +
    + +
    + +
    +
    +
    +
    +`; + +exports[`DOM snapshots SLDSFilter Permanant Filter 1`] = ` +
    +
    +
    +
    +
    + +
    +
    +
    +
    +
    +`; diff --git a/components/filter/__docs__/storybook-stories.jsx b/components/filter/__docs__/storybook-stories.jsx new file mode 100644 index 0000000000..dde0e47a6a --- /dev/null +++ b/components/filter/__docs__/storybook-stories.jsx @@ -0,0 +1,66 @@ +import React from 'react'; +import { storiesOf } from '@storybook/react'; +import IconSettings from '../../icon-settings'; + +import { FILTER } from '../../../utilities/constants'; +import Default from '../__examples__/default'; +import NewFilter from '../__examples__/new'; +import LockedFilter from '../__examples__/locked'; +import PermanantFilter from '../__examples__/permanant'; +import ErrorFilter from '../__examples__/error'; +import AssistiveTextFilter from '../__examples__/assistive-text'; + +/* eslint-disable react/display-name */ +/* eslint-disable react/prop-types */ + +const CustomAlignment = ({ children, align }) => ( +
    +
    + {children} +
    +
    +); + +CustomAlignment.defaultProps = { align: 'left' }; + +storiesOf(FILTER, module) + .addDecorator((getStory) => ( +
    + {getStory()} +
    + )) + .add('Filter', () => ( + + + + )) + .add('New Filter', () => ( + + + + )) + .add('Locked Filter', () => ( + + + + )) + .add('Permanant Filter', () => ( + + + + )) + .add('Filter Align Right', () => ( + + + + )) + .add('AssistiveTextFilter', () => ( + + + + )) + .add('ErrorFilter', () => ( + + + + )); diff --git a/components/filter/__examples__/assistive-text.jsx b/components/filter/__examples__/assistive-text.jsx new file mode 100644 index 0000000000..5def7017e8 --- /dev/null +++ b/components/filter/__examples__/assistive-text.jsx @@ -0,0 +1,99 @@ +import React from 'react'; + +import PropTypes from 'prop-types'; +import IconSettings from '~/components/icon-settings'; + +import Filter from '~/components/filter'; + +import Combobox from '~/components/combobox'; + +const options = { + 'show-me': [ + { id: 1, label: 'All Products', value: 'all-products' }, + { id: 2, label: 'All Wackamoles', value: 'all-Wackamoles' }, + ], +}; + +class Example extends React.Component { + static displayName = 'FilterExample'; + + static propTypes() { + return { + align: PropTypes.string, + }; + } + + state = { + 'show-me': { + selectedItem: options['show-me'][0], + isActive: true, + comboboxSelection: [options['show-me'][0]], + }, + }; + + onChangePredicate = (event, { id }) => { + const idSuffix = id.split('sample-panel-filtering-')[1]; + this.setState({ + [idSuffix]: { + ...this.state[idSuffix], + selectedItem: this.state[idSuffix].comboboxSelection[0], + }, + }); + }; + + onRemove = (event, { id }) => { + const idSuffix = id.split('sample-panel-filtering-')[1]; + this.setState({ + [idSuffix]: { + ...this.state[idSuffix], + isActive: false, + }, + }); + }; + + render() { + return ( + this.state['show-me'].isActive && ( + + + { + this.setState({ + 'show-me': { + ...this.state['show-me'], + comboboxSelection: data.selection, + }, + }); + }, + }} + labels={{ + label: 'Show Me', + placeholder: 'Select record type', + }} + menuPosition="relative" + options={options['show-me']} + selection={this.state['show-me'].comboboxSelection} + variant="readonly" + /> + + + ) + ); + } +} + +export default Example; // export is replaced with `ReactDOM.render(, mountNode);` at runtime diff --git a/components/filter/__examples__/default.jsx b/components/filter/__examples__/default.jsx new file mode 100644 index 0000000000..782fb68218 --- /dev/null +++ b/components/filter/__examples__/default.jsx @@ -0,0 +1,94 @@ +import React from 'react'; + +import PropTypes from 'prop-types'; +import IconSettings from '~/components/icon-settings'; + +import Filter from '~/components/filter'; + +import Combobox from '~/components/combobox'; + +const options = { + 'show-me': [ + { id: 1, label: 'All Products', value: 'all-products' }, + { id: 2, label: 'All Wackamoles', value: 'all-Wackamoles' }, + ], +}; + +class Example extends React.Component { + static displayName = 'FilterExample'; + + static propTypes() { + return { + align: PropTypes.string, + }; + } + + state = { + 'show-me': { + selectedItem: options['show-me'][0], + isActive: true, + comboboxSelection: [options['show-me'][0]], + }, + }; + + onChangePredicate = (event, { id }) => { + const idSuffix = id.split('sample-panel-filtering-')[1]; + this.setState({ + [idSuffix]: { + ...this.state[idSuffix], + selectedItem: this.state[idSuffix].comboboxSelection[0], + }, + }); + }; + + onRemove = (event, { id }) => { + const idSuffix = id.split('sample-panel-filtering-')[1]; + this.setState({ + [idSuffix]: { + ...this.state[idSuffix], + isActive: false, + }, + }); + }; + + render() { + return ( + this.state['show-me'].isActive && ( + + + { + this.setState({ + 'show-me': { + ...this.state['show-me'], + comboboxSelection: data.selection, + }, + }); + }, + }} + labels={{ + label: 'Show Me', + placeholder: 'Select record type', + }} + menuPosition="relative" + options={options['show-me']} + selection={this.state['show-me'].comboboxSelection} + variant="readonly" + /> + + + ) + ); + } +} + +export default Example; // export is replaced with `ReactDOM.render(, mountNode);` at runtime diff --git a/components/filter/__examples__/error.jsx b/components/filter/__examples__/error.jsx new file mode 100644 index 0000000000..c6fdbcbae7 --- /dev/null +++ b/components/filter/__examples__/error.jsx @@ -0,0 +1,103 @@ +import React from 'react'; + +import PropTypes from 'prop-types'; +import IconSettings from '~/components/icon-settings'; + +import Filter from '~/components/filter'; + +import Combobox from '~/components/combobox'; + +const options = { + 'show-me': [ + { id: '1', label: 'All Products', value: 'all-products' }, + { id: '2', label: 'All Wackamoles', value: 'all-Wackamoles' }, + ], +}; + +class Example extends React.Component { + static displayName = 'FilterExample'; + + static propTypes() { + return { + align: PropTypes.string, + }; + } + + state = { + 'show-me': { + comboboxSelection: [options['show-me'][0]], + selectedItem: options['show-me'][0], + isActive: true, + }, + }; + + onChangePredicate = (event, { id }) => { + const idSuffix = id.split('sample-panel-filtering-')[1]; + this.setState({ + [idSuffix]: { + ...this.state[idSuffix], + selectedItem: this.state[idSuffix].comboboxSelection, + }, + }); + }; + + onRemove = (event, { id }) => { + const idSuffix = id.split('sample-panel-filtering-')[1]; + this.setState({ + [idSuffix]: { + ...this.state[idSuffix], + isActive: false, + }, + }); + }; + + render() { + return ( + this.state['show-me'].isActive && ( + +
    + + { + this.setState({ + 'show-me': { + ...this.state['show-me'], + comboboxSelection: data.selection, + }, + }); + }, + }} + labels={{ + label: 'Show Me', + placeholder: 'Select record type', + }} + menuPosition="relative" + options={options['show-me']} + selection={this.state['show-me'].comboboxSelection} + variant="readonly" + /> + +

    + Error Message +

    +
    +
    + ) + ); + } +} + +export default Example; // export is replaced with `ReactDOM.render(, mountNode);` at runtime diff --git a/components/filter/__examples__/locked.jsx b/components/filter/__examples__/locked.jsx new file mode 100644 index 0000000000..6031aaab89 --- /dev/null +++ b/components/filter/__examples__/locked.jsx @@ -0,0 +1,94 @@ +import React from 'react'; + +import PropTypes from 'prop-types'; +import IconSettings from '~/components/icon-settings'; + +import Filter from '~/components/filter'; + +import Combobox from '~/components/combobox'; + +const options = { + 'show-me': [ + { id: 1, label: 'All Products', value: 'all-products' }, + { id: 2, label: 'All Wackamoles', value: 'all-Wackamoles' }, + ], +}; + +class Example extends React.Component { + static displayName = 'FilterExample'; + + static propTypes() { + return { + align: PropTypes.string, + }; + } + + state = { + 'show-me': { + comboboxSelection: [options['show-me'][0]], + selectedItem: options['show-me'][0], + isActive: true, + }, + }; + + onChangePredicate = (event, { id }) => { + const idSuffix = id.split('sample-panel-filtering-')[1]; + this.setState({ + [idSuffix]: { + ...this.state[idSuffix], + selectedItem: this.state[idSuffix].comboboxSelection, + }, + }); + }; + + onRemove = (event, { id }) => { + const idSuffix = id.split('sample-panel-filtering-')[1]; + this.setState({ + [idSuffix]: { + ...this.state[idSuffix], + isActive: false, + }, + }); + }; + + render() { + return ( + this.state['show-me'].isActive && ( + + + { + this.setState({ + 'show-me': { + ...this.state['show-me'], + comboboxSelection: data.selection, + }, + }); + }, + }} + labels={{ + label: 'Show Me', + placeholder: 'Select record type', + }} + menuPosition="relative" + options={options['show-me']} + selection={this.state['show-me'].comboboxSelection} + variant="readonly" + /> + + + ) + ); + } +} + +export default Example; // export is replaced with `ReactDOM.render(, mountNode);` at runtime diff --git a/components/filter/__examples__/new.jsx b/components/filter/__examples__/new.jsx new file mode 100644 index 0000000000..0cb2b26e8c --- /dev/null +++ b/components/filter/__examples__/new.jsx @@ -0,0 +1,94 @@ +import React from 'react'; + +import PropTypes from 'prop-types'; +import IconSettings from '~/components/icon-settings'; + +import Filter from '~/components/filter'; + +import Combobox from '~/components/combobox'; + +const options = { + 'show-me': [ + { id: 1, label: 'All Products', value: 'all-products' }, + { id: 2, label: 'All Wackamoles', value: 'all-Wackamoles' }, + ], +}; + +class Example extends React.Component { + static displayName = 'FilterExample'; + + static propTypes() { + return { + align: PropTypes.string, + }; + } + + state = { + 'show-me': { + comboboxSelection: [options['show-me'][0]], + selectedItem: options['show-me'][0], + isActive: true, + }, + }; + + onChangePredicate = (event, { id }) => { + const idSuffix = id.split('sample-panel-filtering-')[1]; + this.setState({ + [idSuffix]: { + ...this.state[idSuffix], + selectedItem: this.state[idSuffix].comboboxSelection, + }, + }); + }; + + onRemove = (event, { id }) => { + const idSuffix = id.split('sample-panel-filtering-')[1]; + this.setState({ + [idSuffix]: { + ...this.state[idSuffix], + isActive: false, + }, + }); + }; + + render() { + return ( + this.state['show-me'].isActive && ( + + + { + this.setState({ + 'show-me': { + ...this.state['show-me'], + comboboxSelection: data.selection, + }, + }); + }, + }} + labels={{ + label: 'Show Me', + placeholder: 'Select record type', + }} + menuPosition="relative" + options={options['show-me']} + selection={this.state['show-me'].comboboxSelection} + variant="readonly" + /> + + + ) + ); + } +} + +export default Example; // export is replaced with `ReactDOM.render(, mountNode);` at runtime diff --git a/components/filter/__examples__/permanant.jsx b/components/filter/__examples__/permanant.jsx new file mode 100644 index 0000000000..ebe409de64 --- /dev/null +++ b/components/filter/__examples__/permanant.jsx @@ -0,0 +1,94 @@ +import React from 'react'; + +import PropTypes from 'prop-types'; +import IconSettings from '~/components/icon-settings'; + +import Filter from '~/components/filter'; + +import Combobox from '~/components/combobox'; + +const options = { + 'show-me': [ + { id: 1, label: 'All Products', value: 'all-products' }, + { id: 2, label: 'All Wackamoles', value: 'all-Wackamoles' }, + ], +}; + +class Example extends React.Component { + static displayName = 'FilterExample'; + + static propTypes() { + return { + align: PropTypes.string, + }; + } + + state = { + 'show-me': { + comboboxSelection: [options['show-me'][0]], + selectedItem: options['show-me'][0], + isActive: true, + }, + }; + + onChangePredicate = (event, { id }) => { + const idSuffix = id.split('sample-panel-filtering-')[1]; + this.setState({ + [idSuffix]: { + ...this.state[idSuffix], + selectedItem: this.state[idSuffix].comboboxSelection, + }, + }); + }; + + onRemove = (event, { id }) => { + const idSuffix = id.split('sample-panel-filtering-')[1]; + this.setState({ + [idSuffix]: { + ...this.state[idSuffix], + isActive: false, + }, + }); + }; + + render() { + return ( + this.state['show-me'].isActive && ( + + + { + this.setState({ + 'show-me': { + ...this.state['show-me'], + comboboxSelection: data.selection, + }, + }); + }, + }} + labels={{ + label: 'Show Me', + placeholder: 'Select record type', + }} + menuPosition="relative" + options={options['show-me']} + selection={this.state['show-me'].comboboxSelection} + variant="readonly" + /> + + + ) + ); + } +} + +export default Example; // export is replaced with `ReactDOM.render(, mountNode);` at runtime diff --git a/components/filter/component.json b/components/filter/component.json new file mode 100644 index 0000000000..1d8ee7a29f --- /dev/null +++ b/components/filter/component.json @@ -0,0 +1,26 @@ +{ + "component": "filter", + "status": "prod", + "display-name": "Filters", + "classKey": "Filter", + "SLDS-component-path": "/components/filter", + "site-stories": [ + { + "heading": "Default", + "path": "/__examples__/default.jsx" + }, + { + "heading": "New", + "path": "/__examples__/new.jsx" + }, + { + "heading": "Error", + "path": "/__examples__/error.jsx" + }, + { + "heading": "Locked", + "path": "/__examples__/locked.jsx" + } + ], + "url-slug": "filters" +} diff --git a/components/filter/index.js b/components/filter/index.js new file mode 100644 index 0000000000..6da59acb1f --- /dev/null +++ b/components/filter/index.js @@ -0,0 +1,315 @@ +"use strict"; + +function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = void 0; + +var _react = _interopRequireDefault(require("react")); + +var _propTypes = _interopRequireDefault(require("prop-types")); + +var _lodash = _interopRequireDefault(require("lodash.assign")); + +var _classnames = _interopRequireDefault(require("classnames")); + +var _shortid = _interopRequireDefault(require("shortid")); + +var _button = _interopRequireDefault(require("../button")); + +var _popover = _interopRequireDefault(require("../popover")); + +var _constants = require("../../utilities/constants"); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); } + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } + +function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); } + +function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } + +function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; } + +function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } + +function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } } + +function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +/** + * A Filter is a popover with custom trigger. It can be used by [Panel Filtering](/components/panels/). Menus within a Filter Popover will need to not have "portal mounts" and be inline. + */ +var Filter = /*#__PURE__*/function (_React$Component) { + _inherits(Filter, _React$Component); + + var _super = _createSuper(Filter); + + function Filter(props) { + var _this; + + _classCallCheck(this, Filter); + + _this = _super.call(this, props); + + _defineProperty(_assertThisInitialized(_this), "state", { + popoverIsOpen: _this.props.popover ? _this.props.popover.props.isOpen : false + }); + + _defineProperty(_assertThisInitialized(_this), "getId", function () { + return _this.props.id || _this.generatedId; + }); + + _defineProperty(_assertThisInitialized(_this), "getCustomPopoverProps", function (_ref) { + var assistiveText = _ref.assistiveText; + + /* + * Generate the popover props based on passed in popover props. Using the default behavior if not provided by passed in popover + */ + var popoverBody = /*#__PURE__*/_react.default.createElement("div", null, /*#__PURE__*/_react.default.createElement("h4", { + className: "slds-assistive-text", + id: "".concat(_this.getId(), "-popover-heading") + }, assistiveText.editFilterHeading), _this.props.children, /*#__PURE__*/_react.default.createElement("div", { + className: "slds-m-top_small slds-text-align_right" + }, /*#__PURE__*/_react.default.createElement(_button.default, { + className: "slds-col_bump-left", + label: "Done", + onClick: _this.handleChange + }))); + + var defaultPopoverProps = { + ariaLabelledby: "".concat(_this.getId(), "-popover-heading"), + align: _this.props.align, + body: popoverBody, + heading: '', + id: _this.getId(), + isOpen: _this.state.popoverIsOpen, + // MAGIC NUMBERS - REMOVE/REDESIGN WHEN DESIGN FOR RIGHT-ALIGNED FILTERS ARE ADDED TO SLDS + offset: _this.props.align === 'right' ? '0px -35px' : undefined, + onClose: _this.handleClose, + onRequestClose: _this.handleClose, + position: 'overflowBoundaryElement', + triggerClassName: 'slds-grow' + }; + /* Mixin passed popover's props if there is any to override the default popover props */ + + var popoverProps = (0, _lodash.default)(defaultPopoverProps, _this.props.popover ? _this.props.popover.props : {}); // eslint-disable-next-line fp/no-delete + + delete popoverProps.children; + return popoverProps; + }); + + _defineProperty(_assertThisInitialized(_this), "handleFilterClick", function () { + _this.setState({ + popoverIsOpen: true + }); + + if (_this.props.onClick) { + _this.props.onClick(); + } + }); + + _defineProperty(_assertThisInitialized(_this), "handleClose", function () { + _this.setState({ + popoverIsOpen: false + }); + }); + + _defineProperty(_assertThisInitialized(_this), "handleChange", function (event) { + _this.setState({ + popoverIsOpen: false + }); + + if (_this.props.onChange) { + _this.props.onChange(event, { + id: _this.getId() + }); + } + }); + + _defineProperty(_assertThisInitialized(_this), "handleRemove", function (event) { + if (_this.props.onRemove) { + _this.props.onRemove(event, { + id: _this.getId() + }); + } + }); + + _this.generatedId = _shortid.default.generate(); + return _this; + } + + _createClass(Filter, [{ + key: "render", + value: function render() { + /* Remove at next breaking change */ + var assistiveText = { + editFilter: this.props.assistiveTextEditFilter || // eslint-disable-line react/prop-types + this.props.assistiveText.editFilter, + editFilterHeading: this.props.assistiveTextEditFilterHeading || // eslint-disable-line react/prop-types + this.props.assistiveText.editFilterHeading, + removeFilter: this.props.assistiveTextRemoveFilter || // eslint-disable-line react/prop-types + this.props.assistiveText.removeFilter || "Remove Filter: ".concat(this.props.property, " ").concat(this.props.predicate) + }; + /* TODO: Button wrapper for property and predictate should be transitioned to `Button` component. `Button` needs to take custom children first though. */ + + var popoverProps = this.getCustomPopoverProps({ + assistiveText: assistiveText + }); + return /*#__PURE__*/_react.default.createElement("div", { + className: (0, _classnames.default)('slds-filters__item', 'slds-grid', 'slds-grid_vertical-align-center', { + 'slds-is-locked': this.props.isLocked, + 'slds-is-new': this.props.isNew, + 'slds-has-error': this.props.isError + }, this.props.className) + }, !this.props.isLocked && (this.props.children || this.props.popover) ? /*#__PURE__*/_react.default.createElement(_popover.default, _extends({}, popoverProps, { + silenceDeprecatedPropertyWarning: true + }), /*#__PURE__*/_react.default.createElement("button", { + className: "slds-button_reset slds-grow slds-has-blur-focus", + onClick: this.handleFilterClick, + "aria-describedby": this.props.isError ? "".concat(this.getId(), "-error") : undefined, + type: "button" + }, /*#__PURE__*/_react.default.createElement("span", { + className: "slds-assistive-text" + }, assistiveText.editFilter), this.props.property ? /*#__PURE__*/_react.default.createElement("span", { + className: "slds-show slds-text-body_small" + }, this.props.property) : null, /*#__PURE__*/_react.default.createElement("span", { + className: "slds-show" + }, this.props.predicate))) : /*#__PURE__*/_react.default.createElement("button", { + "aria-describedby": this.props.isError ? "".concat(this.getId(), "-error") : undefined, + className: "slds-button_reset slds-grow slds-has-blur-focus", + disabled: true, + type: "button" + }, /*#__PURE__*/_react.default.createElement("span", { + className: "slds-show slds-text-body_small" + }, this.props.property), /*#__PURE__*/_react.default.createElement("span", { + className: "slds-show" + }, this.props.predicate)), // Remove button + !this.props.isPermanent && !this.props.isLocked ? /*#__PURE__*/_react.default.createElement(_button.default, { + assistiveText: { + icon: assistiveText.removeFilter + }, + hint: true, + iconCategory: "utility", + iconName: "delete", + iconSize: "small", + iconVariant: "bare", + onClick: this.handleRemove, + title: assistiveText.removeFilter, + variant: "icon" + }) : null); + } + }]); + + return Filter; +}(_react.default.Component); + +_defineProperty(Filter, "displayName", _constants.FILTER); + +_defineProperty(Filter, "propTypes", { + /** + * Aligns the popover with the respective side of the trigger. That is `left` will place the `Popover` to the left of the Filter. + */ + align: _propTypes.default.oneOf(['left', 'right']), + + /** + * **Assistive text for accessibility** + * * `removeFilter`: Assistive text for removing a filter. The default is `Remove Filter: this.props.property this.props.predicate`. + * * `editFilter`: Assistive text for changing a filter. + * * `editFilterHeading`: Assistive text for Popover heading. + */ + assistiveText: _propTypes.default.shape({ + editFilter: _propTypes.default.string, + editFilterHeading: _propTypes.default.string, + removeFilter: _propTypes.default.string + }), + + /** + * Contents of popover. That is the dropdowns and inputs that set the filter criteria. + */ + children: _propTypes.default.node, + + /** + * Custom CSS classes for `slds-filters__item` node. Uses `classNames` [API](https://github.com/JedWatson/classnames). + */ + className: _propTypes.default.oneOfType([_propTypes.default.array, _propTypes.default.object, _propTypes.default.string]), + + /** + * Applies error state styling. Per filter error messages are outside this components. + */ + isError: _propTypes.default.bool, + + /** + * A unique ID is needed in order to support keyboard navigation, ARIA support, and connect the dropdown to the triggering button. An `id` will be generated if none is supplied. + */ + id: _propTypes.default.string, + + /** + * If true, the filter will not display an editing popover when clicked. + */ + isLocked: _propTypes.default.bool, + + /** + * Applies new filter styling. + */ + isNew: _propTypes.default.bool, + + /** + * If true, the filter will not include a remove button. + */ + isPermanent: _propTypes.default.bool, + + /** + * Will be triggered when Done within the Popover is clicked. This is the place to update the filter props displayed. Callback will recieve parameters: `clickEvent, { id }`. An index into your store may be a good setting for `id`, so that it will be passed back here. + */ + onChange: _propTypes.default.func, + + /** + * Will be triggered when "Remove Filter" button is clicked. Callback will recieve parameters: `clickEvent, { id }`. An index into your store may be a good setting for `id`, so that it will be passed back here. + */ + onRemove: _propTypes.default.func, + + /** + * Will be triggered when Filter is clicked. This is the place to close/open popover if a custom popover is passed in + */ + onClick: _propTypes.default.func, + + /** + * A `Popover` component. The props from this popover will be merged and override any default props. This also allows a Filter's Popover dialog to be a controlled component. _Tested with Mocha framework._ + */ + popover: _propTypes.default.node, + + /** + * The criteria you are filtering for. For instance, if "Hair Color is PURPLE" is your filter, "is PURPLE" is your filter predicate. + */ + predicate: _propTypes.default.node, + + /** + * The property you are filtering. For instance, if "Hair Color is PURPLE" is your filter, "Hair Color" is your filter property. + */ + property: _propTypes.default.node +}); + +_defineProperty(Filter, "defaultProps", { + align: 'left', + assistiveText: { + editFilter: 'Edit filter:', + editFilterHeading: 'Choose filter criteria' + }, + predicate: 'New Filter' +}); + +var _default = Filter; +exports.default = _default; \ No newline at end of file diff --git a/components/forms/checkbox/index.js b/components/forms/checkbox/index.js new file mode 100644 index 0000000000..90373f0101 --- /dev/null +++ b/components/forms/checkbox/index.js @@ -0,0 +1,23 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = void 0; + +var _react = _interopRequireDefault(require("react")); + +var _checkbox = _interopRequireDefault(require("../../checkbox")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); } + +var OldCheckbox = function OldCheckbox(props) { + return /*#__PURE__*/_react.default.createElement(_checkbox.default, _extends({ + oldEventParameterOrder: true + }, props)); +}; + +var _default = OldCheckbox; +exports.default = _default; \ No newline at end of file diff --git a/components/forms/input/__docs__/inline/storybook-stories.jsx b/components/forms/input/__docs__/inline/storybook-stories.jsx new file mode 100644 index 0000000000..44dea8b79f --- /dev/null +++ b/components/forms/input/__docs__/inline/storybook-stories.jsx @@ -0,0 +1,66 @@ +/* eslint-disable indent */ + +import React from 'react'; + +import { storiesOf } from '@storybook/react'; +import { action } from '@storybook/addon-actions'; +import IconSettings from '../../../../../components/icon-settings'; + +import { FORMS_INLINE_EDIT } from '../../../../../utilities/constants'; +import InlineEdit from '../../inline'; + +class DemoInlineEdit extends React.Component { + static displayName = 'DemoInlineEdit'; + + state = { + value: 'Edit me inline', + }; + + handleChange = (eventProps, ...rest) => { + action('change')(rest); + + if (eventProps.value === '') { + this.setState({ value: 'Edit me inline' }); + } else { + this.setState({ value: eventProps.value }); + } + }; + + render() { + return ( + + ); + } +} + +storiesOf(FORMS_INLINE_EDIT, module) + .addDecorator((getStory) => ( +
    + {getStory()} +
    + )) + .add('Base', () => ( +
    +

    + Base Inline Edit Input +

    + +
    + )) + .add('Disabled', () => ( +
    +

    + Disabled Inline Edit Input +

    + +
    + )); diff --git a/components/forms/input/__examples__/inline-default.jsx b/components/forms/input/__examples__/inline-default.jsx new file mode 100644 index 0000000000..a50bc881ef --- /dev/null +++ b/components/forms/input/__examples__/inline-default.jsx @@ -0,0 +1,50 @@ +import React from 'react'; + +import IconSettings from '~/components/icon-settings'; +import InlineEdit from '~/components/forms/input/inline'; // `~` is replaced with design-system-react at runtime + +class Example extends React.Component { + static displayName = 'InlineEditExample'; + + state = { + value: 'Edit me inline', + }; + + handleChange = (eventProps) => { + this.setState({ value: eventProps.value }); + }; + + render() { + return ( + +
    +
    +

    + Base Input with visible label +

    + +
    +
    +

    + Disabled Base Input +

    + +
    +
    +
    + ); + } +} + +export default Example; // export is replaced with `ReactDOM.render(, mountNode);` at runtime diff --git a/components/forms/input/index.js b/components/forms/input/index.js new file mode 100644 index 0000000000..1456bf1beb --- /dev/null +++ b/components/forms/input/index.js @@ -0,0 +1,25 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = void 0; + +var _input = _interopRequireDefault(require("../../input")); + +var _componentHasMoved = _interopRequireDefault(require("../../../utilities/warning/component-has-moved")); + +var _constants = require("../../../utilities/constants"); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */ + +/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */ +// Alias +(0, _componentHasMoved.default)(_constants.INPUT, { + oldFileLocation: 'components/forms/input', + newFileLocation: 'components/input' +}); +var _default = _input.default; +exports.default = _default; \ No newline at end of file diff --git a/components/forms/input/inline-check-props.js b/components/forms/input/inline-check-props.js new file mode 100644 index 0000000000..0eb1497dde --- /dev/null +++ b/components/forms/input/inline-check-props.js @@ -0,0 +1,28 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = void 0; + +var _componentIsDeprecated = _interopRequireDefault(require("../../../utilities/warning/component-is-deprecated")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */ + +/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */ + +/* eslint-disable import/no-mutable-exports */ + +/* eslint-disable max-len */ +var checkProps = function checkPropsFunction() {}; + +if (process.env.NODE_ENV !== 'production') { + checkProps = function checkPropsFunction(COMPONENT, props) { + (0, _componentIsDeprecated.default)(COMPONENT, props, 'For a multiple input form, please use the pattern located at https://www.lightningdesignsystem.com/components/form-element/#Record-Detail that swaps out a read-only `Input` with a base `Input`. For a single input, please use a `Popover` paired with ` +
    + +
    +
    + + +
  • +
    + +
    +
  • +
  • +
    + +
    +
  • +
  • +
    + +
    +
  • +
  • +
    + + +
    +
  • +
  • +
    + +
    +
  • + + + + + +`; + +exports[`DOM snapshots SLDSGlobalHeader Fewer Elements 1`] = ` +
    +
    +
    +
    +
    +
    +
    +
      +
    • +
      + +
      +
    • +
    • +
      + +
      +
    • +
    +
    +
    +
    +
    +`; + +exports[`DOM snapshots SLDSGlobalHeader Search + Navigation 1`] = ` +
    +
    + + Skip to Navigation + + + Skip to Main Content + +
    +
    +
    +
    +
    +
    + +
    +
    +
    +
    + + + + +
    +
    +
    +
    +
    +
    +
    +
      +
    • +
      +
      + +
      + +
      +
      +
      +
    • +
    • +
      + +
      +
    • +
    • +
      + +
      +
    • +
    • +
      + +
      +
    • +
    • +
      + + +
      +
    • +
    • +
      + +
      +
    • +
    +
    +
    +
    +
    +`; + +exports[`DOM snapshots SLDSGlobalHeader With custom 1`] = ` +
    +
    + + Skip to Navigation + + + Skip to Main Content + +
    +
    +
    +
    +
    +
    + +
    +
    +
    +
    + + + + +
    +
    +
    +
    +
    +
    +
    +
      +
    • +
      +
      + +
      + +
      +
      +
      +
    • +
    • +
      + +
      +
    • +
    • +
      + +
      +
    • +
    • +
      + +
      +
    • +
    • +
      + + +
      +
    • +
    • +
      + +
      +
    • +
    +
    +
    +
    +
    +`; diff --git a/components/global-header/__docs__/storybook-stories.jsx b/components/global-header/__docs__/storybook-stories.jsx new file mode 100644 index 0000000000..1e78fdacdb --- /dev/null +++ b/components/global-header/__docs__/storybook-stories.jsx @@ -0,0 +1,306 @@ +import React from 'react'; +import { storiesOf } from '@storybook/react'; +import { action } from '@storybook/addon-actions'; + +import Avatar from '../../avatar'; +import Combobox from '../../combobox'; +import Dropdown from '../../menu-dropdown'; +import GlobalHeader from '../../global-header'; +import GlobalHeaderFavorites from '../../global-header/favorites'; +import GlobalHeaderHelp from '../../global-header/help'; +import GlobalHeaderNotifications from '../../global-header/notifications'; +import GlobalHeaderProfile from '../../global-header/profile'; +import GlobalHeaderSearch from '../../global-header/search'; +import GlobalHeaderSetup from '../../global-header/setup'; +import GlobalHeaderTask from '../../global-header/task'; +import IconSettings from '../../icon-settings'; +import Popover from '../../popover'; + +import { GLOBAL_HEADER } from '../../../utilities/constants'; + +import Default from '../__examples__/default'; + +/* eslint-disable max-len */ +/* eslint-disable no-script-url */ +/* eslint-disable react/prop-types */ + +const ipsum = + 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec bibendum fermentum eros, vel porta metus dignissim vitae. Fusce finibus sed magna vitae tempus. Suspendisse condimentum, arcu eu viverra vulputate, mauris odio dictum velit, in dictum lorem augue id augue. Proin nec leo convallis, aliquet mi ut, interdum nunc.'; + +// Notifications content is currently the contents of a generic `Popover` with markup copied from https://www.lightningdesignsystem.com/components/global-header/#Notifications. This allows content to have tab stops and focus trapping. If you need a more specific/explicit `GlobalHeaderNotification` content, please create an issue. +const HeaderNotificationsCustomContent = (props) => ( + +); +HeaderNotificationsCustomContent.displayName = + 'HeaderNotificationsCustomContent'; + +// Profile content is currently the contents of a generic `Popover` with markup copied from https://www.lightningdesignsystem.com/components/global-header/. This allows content to have tab stops and focus trapping. If you need a more specific/explicit `GlobalHeaderProfile` content, please create an issue. +const HeaderProfileCustomContent = (props) => ( +
    +
    +
    +

    Art Vandelay

    + +
    +
    +
    +); +HeaderProfileCustomContent.displayName = 'HeaderProfileCustomContent'; + +class GlobalHeaderDemo extends React.Component { + constructor(props) { + super(props); + this.state = { + favoritesActionSelected: false, + }; + } + + render() { + return ( + + + } + /> + { + this.setState({ favoritesActionSelected: !data.actionSelected }); + }} + popover={ + +

    + Favorites +

    + {ipsum} + + } + id="header-favorites-popover-id" + /> + } + /> + + } + /> + +

    + Help and Training +

    + {ipsum} + + } + id="header-help-popover-id" + /> + } + /> + + } + /> + + } + id="header-notifications-popover-id" + /> + } + /> + } + id="header-profile-popover-id" + /> + } + userName="Art Vandelay" + /> +
    + ); + } +} +GlobalHeaderDemo.displayName = 'GlobalHeaderDemo'; + +storiesOf(GLOBAL_HEADER, module) + .addDecorator((getStory) => ( +
    + {getStory()} +
    + )) + .add('Search + Navigation', () => ) + .add('Fewer Elements', () => ( + + + } + /> + } + id="header-profile-popover-id" + /> + } + userName="Art Vandelay" + /> + + )) + .add('With custom ', () => ( + } /> + )) + .add('Doc site Default', () => ); diff --git a/components/global-header/__examples__/default.jsx b/components/global-header/__examples__/default.jsx new file mode 100644 index 0000000000..be07226d71 --- /dev/null +++ b/components/global-header/__examples__/default.jsx @@ -0,0 +1,266 @@ +import React from 'react'; + +import Combobox from '~/components/combobox'; +import Dropdown from '~/components/menu-dropdown'; +import GlobalHeader from '~/components/global-header'; // `~` is replaced with design-system-react at runtime +import GlobalHeaderFavorites from '~/components/global-header/favorites'; +import GlobalHeaderHelp from '~/components/global-header/help'; +import GlobalHeaderNotifications from '~/components/global-header/notifications'; +import GlobalHeaderProfile from '~/components/global-header/profile'; +import GlobalHeaderSearch from '~/components/global-header/search'; +import GlobalHeaderSetup from '~/components/global-header/setup'; +import GlobalHeaderTask from '~/components/global-header/task'; +import IconSettings from '~/components/icon-settings'; +import Popover from '~/components/popover'; + +/* eslint-disable max-len */ +/* eslint-disable no-script-url */ +/* eslint-disable react/prop-types */ + +const ipsum = + 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec bibendum fermentum eros, vel porta metus dignissim vitae. Fusce finibus sed magna vitae tempus. Suspendisse condimentum, arcu eu viverra vulputate, mauris odio dictum velit, in dictum lorem augue id augue. Proin nec leo convallis, aliquet mi ut, interdum nunc.'; + +// Notifications content is currently the contents of a generic `Popover` with markup copied from https://www.lightningdesignsystem.com/components/global-header/#Notifications. This allows content to have tab stops and focus trapping. If you need a more specific/explicit `GlobalHeaderNotification` content, please create an issue. +const HeaderNotificationsCustomContent = (props) => ( + +); +HeaderNotificationsCustomContent.displayName = + 'HeaderNotificationsCustomContent'; + +// Profile content is currently the contents of a generic `Popover` with markup copied from https://www.lightningdesignsystem.com/components/global-header/. This allows content to have tab stops and focus trapping. If you need a more specific/explicit `GlobalHeaderProfile` content, please create an issue. +const HeaderProfileCustomContent = (props) => ( +
    +
    +
    +

    Art Vandelay

    + +
    +
    +
    +); +HeaderProfileCustomContent.displayName = 'HeaderProfileCustomContent'; + +class Example extends React.Component { + static displayName = 'GlobalHeaderExample'; + + constructor(props) { + super(props); + this.state = { + favoritesActionSelected: false, + }; + } + + render() { + return ( + + { + console.log('>>> Skip to Content Clicked'); + }} + onSkipToNav={() => { + console.log('>>> Skip to Nav Clicked'); + }} + > + { + console.log('>>> onSelect'); + }, + }} + id="header-search-custom-id" + labels={{ placeholder: 'Search Salesforce' }} + options={[ + { id: 'email', label: 'Email' }, + { id: 'mobile', label: 'Mobile' }, + ]} + /> + } + /> + { + this.setState({ favoritesActionSelected: !data.actionSelected }); + }} + popover={ + +

    + Favorites +

    + {ipsum} + + } + id="header-favorites-popover-id" + /> + } + /> + + } + /> + +

    + Help and Training +

    + {ipsum} + + } + id="header-help-popover-id" + /> + } + /> + + } + /> + + } + id="header-notifications-popover-id" + /> + } + /> + } + id="header-profile-popover-id" + /> + } + userName="Art Vandelay" + /> +
    +
    + ); + } +} +Example.displayName = 'GlobalHeaderExample'; + +export default Example; // export is replaced with `ReactDOM.render(, mountNode);` at runtime diff --git a/components/global-header/button.js b/components/global-header/button.js new file mode 100644 index 0000000000..21b77684d2 --- /dev/null +++ b/components/global-header/button.js @@ -0,0 +1,43 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = void 0; + +var _react = _interopRequireDefault(require("react")); + +var _button = _interopRequireDefault(require("../button")); + +var _checkProps = _interopRequireDefault(require("./check-props")); + +var _constants = require("../../utilities/constants"); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); } + +function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; } + +function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; } + +/** + * A helper component that renders a Button in the tools area of the Global Header. Currently defaults to a bare icon, but this can be overriden if text-based buttons are required. + */ +var GlobalHeaderButton = function GlobalHeaderButton(props) { + (0, _checkProps.default)(_constants.GLOBAL_HEADER_BUTTON, props); + + var buttonVariant = props.buttonVariant, + rest = _objectWithoutProperties(props, ["buttonVariant"]); + + var btn = /*#__PURE__*/_react.default.createElement(_button.default, _extends({ + iconVariant: "global-header", + variant: "icon" + }, rest)); + + return buttonVariant === 'dropdown' ? btn : /*#__PURE__*/_react.default.createElement("li", null, btn); +}; + +GlobalHeaderButton.displayName = _constants.GLOBAL_HEADER_TOOL; +var _default = GlobalHeaderButton; +exports.default = _default; \ No newline at end of file diff --git a/components/global-header/check-props.js b/components/global-header/check-props.js new file mode 100644 index 0000000000..3421a37795 --- /dev/null +++ b/components/global-header/check-props.js @@ -0,0 +1,51 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = void 0; + +var _componentIsDeprecated = _interopRequireDefault(require("../../utilities/warning/component-is-deprecated")); + +var _deprecatedProperty = _interopRequireDefault(require("../../utilities/warning/deprecated-property")); + +var _getComponentDoc = _interopRequireDefault(require("../../utilities/get-component-doc")); + +var _sunsetProperty = _interopRequireDefault(require("../../utilities/warning/sunset-property")); + +var _constants = require("../../utilities/constants"); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */ + +/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */ + +/* eslint-disable import/no-mutable-exports */ +// ## Constants +var checkProps = function checkPropsFunction() {}; + +if (process.env.NODE_ENV !== 'production') { + checkProps = function checkPropsFunction(COMPONENT, props, jsonDoc) { + if (COMPONENT === _constants.GLOBAL_HEADER_BUTTON || COMPONENT === _constants.GLOBAL_HEADER_DROPDOWN) { + (0, _componentIsDeprecated.default)(COMPONENT, props, "".concat(COMPONENT, " has been deprecated in favor of more-specific global header subcomponents. Please see docs for updated examples.")); + } + + if (COMPONENT === _constants.GLOBAL_HEADER_PROFILE) { + var popoverExtraMessage = 'Use the `popover` attribute to provide a `Popover` component with content inside the `body` prop instead.'; + (0, _sunsetProperty.default)(COMPONENT, props.align, 'align'); + (0, _sunsetProperty.default)(COMPONENT, props.children, 'children', popoverExtraMessage); + (0, _sunsetProperty.default)(COMPONENT, props.nubbinPosition, 'nubbinPosition'); + (0, _sunsetProperty.default)(COMPONENT, props.offset, 'offset'); + (0, _sunsetProperty.default)(COMPONENT, props.onSelect, 'onSelect'); + (0, _sunsetProperty.default)(COMPONENT, props.options, 'options', popoverExtraMessage); + } + + var createDocUrl = (0, _getComponentDoc.default)(jsonDoc); + (0, _deprecatedProperty.default)(COMPONENT, props.skipToContentAssistiveText, 'skipToContentAssistiveText', "assistiveText['skipToContent']", createDocUrl('assistiveText')); + (0, _deprecatedProperty.default)(COMPONENT, props.skipToNavAssistiveText, 'skipToNavAssistiveText', "assistiveText['skipToNav']", createDocUrl('assistiveText')); + }; +} + +var _default = checkProps; +exports.default = _default; \ No newline at end of file diff --git a/components/global-header/component.json b/components/global-header/component.json new file mode 100644 index 0000000000..69540d3193 --- /dev/null +++ b/components/global-header/component.json @@ -0,0 +1,44 @@ +{ + "component": "global-header", + "status": "prod", + "display-name": "Global Header", + "classKey": "GlobalHeader", + "SLDS-component-path": "/components/global-header#flavor-base", + "dependencies": [ + { + "component": "favorites", + "classKey": "GlobalHeaderFavorites" + }, + { + "component": "help", + "classKey": "GlobalHeaderHelp" + }, + { + "component": "notifications", + "classKey": "GlobalHeaderNotifications" + }, + { + "component": "profile", + "classKey": "GlobalHeaderProfile" + }, + { + "component": "search", + "classKey": "GlobalHeaderSearch" + }, + { + "component": "setup", + "classKey": "GlobalHeaderSetup" + }, + { + "component": "task", + "classKey": "GlobalHeaderTask" + } + ], + "site-stories": [ + { + "heading": "Default", + "path": "/__examples__/default.jsx" + } + ], + "url-slug": "global-headers" +} diff --git a/components/global-header/dropdown.d.ts b/components/global-header/dropdown.d.ts new file mode 100644 index 0000000000..0c62f164e1 --- /dev/null +++ b/components/global-header/dropdown.d.ts @@ -0,0 +1,64 @@ +declare module '@salesforce/design-system-react/components/global-header/dropdown' { + import React from 'react'; + type Props = { + /** + * Aligns the right or left side of the menu with the respective side of the trigger. This is not intended for use with `nubbinPosition`. + */ + align?: 'left' | 'right'; + /** + * Extra classnames to apply to the dropdown menu. + */ + className?: string; + /** + * CSS classes to be added to `li` element. + */ + buttonClassName?: any[] | Record | string; + /** + * Name of the icon. Visit Lightning Design System Icons to reference icon names. + */ + iconName?: string; + /** + * For icon variants, please reference Lightning Design System Icons. + */ + iconVariant?: + | 'bare' + | 'container' + | 'border' + | 'border-filled' + | 'more' + | 'global-header'; + /** + * A unique ID is needed in order to support keyboard navigation, ARIA support, and connect the dropdown to the triggering button. + */ + id?: string; + /** + * Adds custom styling such as inverse fill and special sizing/spacing + */ + globalAction?: boolean; + /** + * Positions dropdown menu with a nubbin--that is the arrow notch. The placement options correspond to the placement of the nubbin. This is implemeted with CSS classes and is best used with a `Button` with "icon container" styling. Dropdown menus will still be contained to the closest scrolling parent. + */ + nubbinPosition?: + | 'top left' + | 'top' + | 'top right' + | 'bottom left' + | 'bottom' + | 'bottom right'; + /** + * Offset adds pixels to the absolutely positioned dropdown menu in the format: ([vertical]px [horizontal]px). + */ + offset?: string; + /** + * Triggered when an item in the menu is clicked. + */ + onSelect?: (v: any) => any; + /** + * An array of menu item. + */ + options: any[] /*.isRequired*/; + }; + + function Component(props: Props): React.ReactNode; + export default Component; +} diff --git a/components/global-header/dropdown.js b/components/global-header/dropdown.js new file mode 100644 index 0000000000..3348b129e6 --- /dev/null +++ b/components/global-header/dropdown.js @@ -0,0 +1,122 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = void 0; + +var _react = _interopRequireDefault(require("react")); + +var _propTypes = _interopRequireDefault(require("prop-types")); + +var _menuDropdown = _interopRequireDefault(require("../menu-dropdown")); + +var _dropdownTrigger = _interopRequireDefault(require("./private/dropdown-trigger")); + +var _checkProps = _interopRequireDefault(require("./check-props")); + +var _constants = require("../../utilities/constants"); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); } + +function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; } + +function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; } + +/** + * This component is an implementation of `MenuDropdown` with a custom trigger. All the properties listed below are provided to the `MenuDropdown` component. Any additional properties are provided to the Custom Trigger (that is the `Button` or `li` tag). + */ +var GlobalHeaderDropdown = function GlobalHeaderDropdown(props) { + (0, _checkProps.default)(_constants.GLOBAL_HEADER_DROPDOWN, props); + + var globalAction = props.globalAction, + iconVariant = props.iconVariant, + rest = _objectWithoutProperties(props, ["globalAction", "iconVariant"]); + + var iconVariantOverride; + + if (globalAction) { + iconVariantOverride = 'container'; + } + + return /*#__PURE__*/_react.default.createElement(_menuDropdown.default, _extends({ + nubbinPosition: "top right" + }, rest), /*#__PURE__*/_react.default.createElement(_dropdownTrigger.default, { + globalAction: globalAction, + iconSize: globalAction && 'small', + iconVariant: iconVariantOverride || iconVariant + })); +}; // ### Display Name +// Always use the canonical component name (set in the core) as the React +// display name. + + +GlobalHeaderDropdown.displayName = _constants.GLOBAL_HEADER_TOOL; // ### Prop Types + +GlobalHeaderDropdown.propTypes = { + /** + * Aligns the right or left side of the menu with the respective side of the trigger. This is not intended for use with `nubbinPosition`. + */ + align: _propTypes.default.oneOf(['left', 'right']), + + /** + * Extra classnames to apply to the dropdown menu. + */ + className: _propTypes.default.string, + + /** + * CSS classes to be added to `li` element. + */ + buttonClassName: _propTypes.default.oneOfType([_propTypes.default.array, _propTypes.default.object, _propTypes.default.string]), + + /** + * Name of the icon. Visit Lightning Design System Icons to reference icon names. + */ + iconName: _propTypes.default.string, + + /** + * For icon variants, please reference Lightning Design System Icons. + */ + iconVariant: _propTypes.default.oneOf(['bare', 'container', 'border', 'border-filled', 'more', 'global-header']), + + /** + * A unique ID is needed in order to support keyboard navigation, ARIA support, and connect the dropdown to the triggering button. + */ + id: _propTypes.default.string, + + /** + * Adds custom styling such as inverse fill and special sizing/spacing + */ + globalAction: _propTypes.default.bool, + + /** + * Positions dropdown menu with a nubbin--that is the arrow notch. The placement options correspond to the placement of the nubbin. This is implemeted with CSS classes and is best used with a `Button` with "icon container" styling. Dropdown menus will still be contained to the closest scrolling parent. + */ + nubbinPosition: _propTypes.default.oneOf(['top left', 'top', 'top right', 'bottom left', 'bottom', 'bottom right']), + + /** + * Offset adds pixels to the absolutely positioned dropdown menu in the format: ([vertical]px [horizontal]px). + */ + offset: _propTypes.default.string, + + /** + * Triggered when an item in the menu is clicked. + */ + onSelect: _propTypes.default.func, + + /** + * An array of menu item. + */ + options: _propTypes.default.array.isRequired +}; // ### Default Props + +GlobalHeaderDropdown.defaultProps = { + align: 'right', + buttonVariant: 'icon', + iconVariant: 'global-header', + nubbinPosition: 'top right' +}; +var _default = GlobalHeaderDropdown; +exports.default = _default; \ No newline at end of file diff --git a/components/global-header/favorites.d.ts b/components/global-header/favorites.d.ts new file mode 100644 index 0000000000..5a76c003a5 --- /dev/null +++ b/components/global-header/favorites.d.ts @@ -0,0 +1,35 @@ +declare module '@salesforce/design-system-react/components/global-header/favorites' { + import React from 'react'; + type Props = { + /** + * **Assistive text for accessibility** + * * `action`: Description of star button. Default is "Toggle Favorite." + * * `more`: Description of dropdown menu. Default is "View Favorites." + */ + assistiveText?: Partial<{ + action?: string; + more?: string; + }>; + /** + * Disables the favorites action (star) button and not the related Popover." + */ + actionDisabled?: boolean; + /** + * Controls whether the favorites action (star) button is selected or not + */ + actionSelected?: boolean; + /** + * This event fires when the favorites action (star) button is toggled. Passes in `event, { actionSelected }`. + */ + onToggleActionSelected?: (v: any) => any; + /** + * A `Popover` component applied to the favorites more button. The props from this popover will be merged and override any default props. The `children` prop will be ignored. + */ + popover?: React.ReactNode; + }; + /** + * A GlobalHeaderFavorites component. The favorites action is used to "favorite" a commonly used page within a user's experience. When a user "favorites" a page by pressing the favorites action, the button icon changes color with a small animation to confirm your selection. + */ + function Component(props: Props): React.ReactNode; + export default Component; +} diff --git a/components/global-header/favorites.js b/components/global-header/favorites.js new file mode 100644 index 0000000000..5dc1f2b8de --- /dev/null +++ b/components/global-header/favorites.js @@ -0,0 +1,193 @@ +"use strict"; + +function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = void 0; + +var _react = _interopRequireDefault(require("react")); + +var _propTypes = _interopRequireDefault(require("prop-types")); + +var _lodash = _interopRequireDefault(require("lodash.assign")); + +var _classnames = _interopRequireDefault(require("classnames")); + +var _button = _interopRequireDefault(require("../button")); + +var _event = _interopRequireDefault(require("../../utilities/event")); + +var _keyCode = _interopRequireDefault(require("../../utilities/key-code")); + +var _popover = _interopRequireDefault(require("../popover")); + +var _constants = require("../../utilities/constants"); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); } + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } + +function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); } + +function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } + +function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; } + +function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } + +function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } } + +function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var propTypes = { + /** + * **Assistive text for accessibility** + * * `action`: Description of star button. Default is "Toggle Favorite." + * * `more`: Description of dropdown menu. Default is "View Favorites." + */ + assistiveText: _propTypes.default.shape({ + action: _propTypes.default.string, + more: _propTypes.default.string + }), + + /** + * Disables the favorites action (star) button and not the related Popover." + */ + actionDisabled: _propTypes.default.bool, + + /** + * Controls whether the favorites action (star) button is selected or not + */ + actionSelected: _propTypes.default.bool, + + /** + * This event fires when the favorites action (star) button is toggled. Passes in `event, { actionSelected }`. + */ + onToggleActionSelected: _propTypes.default.func, + + /** + * A `Popover` component applied to the favorites more button. The props from this popover will be merged and override any default props. The `children` prop will be ignored. + */ + popover: _propTypes.default.node +}; +/** + * A GlobalHeaderFavorites component. The favorites action is used to "favorite" a commonly used page within a user's experience. When a user "favorites" a page by pressing the favorites action, the button icon changes color with a small animation to confirm your selection. + */ + +var GlobalHeaderFavorites = /*#__PURE__*/function (_React$Component) { + _inherits(GlobalHeaderFavorites, _React$Component); + + var _super = _createSuper(GlobalHeaderFavorites); + + function GlobalHeaderFavorites() { + var _this; + + _classCallCheck(this, GlobalHeaderFavorites); + + for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { + args[_key] = arguments[_key]; + } + + _this = _super.call.apply(_super, [this].concat(args)); + + _defineProperty(_assertThisInitialized(_this), "toggleActionSelected", function (event) { + if (_this.props.onToggleActionSelected) { + _this.props.onToggleActionSelected(event, { + actionSelected: _this.props.actionSelected || false + }); + } + }); + + return _this; + } + + _createClass(GlobalHeaderFavorites, [{ + key: "render", + value: function render() { + var _this2 = this; + + var actionAriaProps = {}; + var popoverProps = (0, _lodash.default)({ + align: 'bottom', + body: /*#__PURE__*/_react.default.createElement("span", null), + triggerClassName: 'slds-dropdown-trigger slds-dropdown-trigger_click' + }, this.props.popover ? this.props.popover.props : {}); // eslint-disable-next-line fp/no-delete + + delete popoverProps.children; + + if (this.props.actionSelected) { + actionAriaProps['aria-pressed'] = true; + } + + return /*#__PURE__*/_react.default.createElement("div", { + className: "slds-global-actions__favorites slds-dropdown-trigger slds-dropdown-trigger_click" + }, /*#__PURE__*/_react.default.createElement("div", { + className: "slds-button-group" + }, /*#__PURE__*/_react.default.createElement(_button.default, _extends({ + assistiveText: { + icon: this.props.assistiveText.action + }, + className: (0, _classnames.default)('slds-button_icon slds-global-actions__favorites-action', { + 'slds-is-disabled': this.props.actionDisabled, + 'slds-is-selected': this.props.actionSelected + }), + disabled: this.props.actionDisabled, + iconCategory: "utility", + iconName: "favorite", + iconSize: "small", + iconVariant: "border", + onClick: this.toggleActionSelected, + onKeyDown: function onKeyDown(event) { + if (event.keyCode === _keyCode.default.ENTER) { + _event.default.trapImmediate(event); + + _this2.toggleActionSelected(event); + } + }, + title: this.props.assistiveText.action, + variant: "icon" + }, actionAriaProps)), /*#__PURE__*/_react.default.createElement(_popover.default, popoverProps, /*#__PURE__*/_react.default.createElement(_button.default, { + assistiveText: { + icon: this.props.assistiveText.more + }, + className: "slds-button_icon slds-global-actions__favorites-more", + iconCategory: "utility", + iconName: "down", + iconSize: "small", + iconVariant: "border", + style: { + // this is needed because the popover trigger wrapper janks up the default styles + borderLeft: '0', + borderRadius: '0 .25rem .25rem 0' + }, + title: this.props.assistiveText.more, + variant: "icon" + })))); + } + }]); + + return GlobalHeaderFavorites; +}(_react.default.Component); + +GlobalHeaderFavorites.displayName = _constants.GLOBAL_HEADER_FAVORITES; +GlobalHeaderFavorites.defaultProps = { + assistiveText: { + action: 'Toggle Favorite', + more: 'View Favorites' + } +}; +GlobalHeaderFavorites.propTypes = propTypes; +var _default = GlobalHeaderFavorites; +exports.default = _default; \ No newline at end of file diff --git a/components/global-header/help.d.ts b/components/global-header/help.d.ts new file mode 100644 index 0000000000..7e5b97a24a --- /dev/null +++ b/components/global-header/help.d.ts @@ -0,0 +1,21 @@ +declare module '@salesforce/design-system-react/components/global-header/help' { + import React from 'react'; + type Props = { + /** + * **Assistive text for accessibility** + * * `triggerButton`: Assistive text for the GlobalHeaderHelp trigger button. The default is `Help and Training`. + */ + assistiveText?: Partial<{ + triggerButton?: string; + }>; + /** + * A `Popover` component. The props from this popover will be merged and override any default props. The `children` prop will be ignored. + */ + popover?: React.ReactNode; + }; + /** + * A GlobalHeaderHelp component. + */ + function Component(props: Props): React.ReactNode; + export default Component; +} diff --git a/components/global-header/help.js b/components/global-header/help.js new file mode 100644 index 0000000000..2a7f290489 --- /dev/null +++ b/components/global-header/help.js @@ -0,0 +1,115 @@ +"use strict"; + +function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = void 0; + +var _react = _interopRequireDefault(require("react")); + +var _propTypes = _interopRequireDefault(require("prop-types")); + +var _lodash = _interopRequireDefault(require("lodash.assign")); + +var _button = _interopRequireDefault(require("../button")); + +var _popover = _interopRequireDefault(require("../popover")); + +var _constants = require("../../utilities/constants"); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); } + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } + +function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); } + +function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } + +function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; } + +function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } + +function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } } + +function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } + +var propTypes = { + /** + * **Assistive text for accessibility** + * * `triggerButton`: Assistive text for the GlobalHeaderHelp trigger button. The default is `Help and Training`. + */ + assistiveText: _propTypes.default.shape({ + triggerButton: _propTypes.default.string + }), + + /** + * A `Popover` component. The props from this popover will be merged and override any default props. The `children` prop will be ignored. + */ + popover: _propTypes.default.node +}; +/** + * A GlobalHeaderHelp component. + */ + +var GlobalHeaderHelp = /*#__PURE__*/function (_React$Component) { + _inherits(GlobalHeaderHelp, _React$Component); + + var _super = _createSuper(GlobalHeaderHelp); + + function GlobalHeaderHelp() { + _classCallCheck(this, GlobalHeaderHelp); + + return _super.apply(this, arguments); + } + + _createClass(GlobalHeaderHelp, [{ + key: "render", + value: function render() { + var buttonAriaProps = { + 'aria-haspopup': true + }; + var popoverProps = (0, _lodash.default)({ + align: 'bottom', + body: /*#__PURE__*/_react.default.createElement("span", null), + triggerClassName: 'slds-dropdown-trigger slds-dropdown-trigger_click' + }, this.props.popover ? this.props.popover.props : {}); // eslint-disable-next-line fp/no-delete + + delete popoverProps.children; + return /*#__PURE__*/_react.default.createElement(_popover.default, popoverProps, /*#__PURE__*/_react.default.createElement(_button.default, _extends({ + assistiveText: { + icon: this.props.assistiveText.triggerButton + }, + className: "slds-button_icon slds-global-actions__help slds-global-actions__item-action", + iconCategory: "utility", + iconClassName: "slds-global-header__icon", + iconName: "question", + iconSize: "small", + iconVariant: "container", + title: this.props.assistiveText.triggerButton, + variant: "icon" + }, buttonAriaProps))); + } + }]); + + return GlobalHeaderHelp; +}(_react.default.Component); + +GlobalHeaderHelp.displayName = _constants.GLOBAL_HEADER_HELP; +GlobalHeaderHelp.defaultProps = { + assistiveText: { + triggerButton: 'Help and Training' + } +}; +GlobalHeaderHelp.propTypes = propTypes; +var _default = GlobalHeaderHelp; +exports.default = _default; \ No newline at end of file diff --git a/components/global-header/index.js b/components/global-header/index.js new file mode 100644 index 0000000000..2acb85cca7 --- /dev/null +++ b/components/global-header/index.js @@ -0,0 +1,206 @@ +"use strict"; + +function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = void 0; + +var _react = _interopRequireDefault(require("react")); + +var _propTypes = _interopRequireDefault(require("prop-types")); + +var _checkProps = _interopRequireDefault(require("./check-props")); + +var _component = _interopRequireDefault(require("./component.json")); + +var _event = _interopRequireDefault(require("../../utilities/event")); + +var _constants = require("../../utilities/constants"); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; } + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } + +function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); } + +function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } + +function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; } + +function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } + +function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } } + +function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var defaultProps = { + assistiveText: { + skipToNav: 'Skip to Navigation', + skipToContent: 'Skip to Main Content' + }, + logoSrc: '/assets/images/logo-noname.svg' +}; +/** + * The global header is the anchor for the Salesforce platform and spans all other parts of the UI. It accepts children to define the items displayed within. + * + * Example: + * ``` + * + * + * + * + * + * + * + * ``` + */ + +var GlobalHeader = /*#__PURE__*/function (_React$Component) { + _inherits(GlobalHeader, _React$Component); + + var _super = _createSuper(GlobalHeader); + + function GlobalHeader(props) { + var _this; + + _classCallCheck(this, GlobalHeader); + + _this = _super.call(this, props); + + _defineProperty(_assertThisInitialized(_this), "handleSkipToContent", function (e) { + _event.default.trap(e); + + _this.props.onSkipToContent(e); + }); + + _defineProperty(_assertThisInitialized(_this), "handleSkipToNav", function (e) { + _event.default.trap(e); + + _this.props.onSkipToNav(e); + }); + + (0, _checkProps.default)(_constants.GLOBAL_HEADER, props, _component.default); + return _this; + } + + _createClass(GlobalHeader, [{ + key: "render", + value: function render() { + var _actions; + + var assistiveText = _objectSpread(_objectSpread({}, defaultProps.assistiveText), this.props.assistiveText); + + var actions = (_actions = {}, _defineProperty(_actions, _constants.GLOBAL_HEADER_FAVORITES, []), _defineProperty(_actions, _constants.GLOBAL_HEADER_HELP, []), _defineProperty(_actions, _constants.GLOBAL_HEADER_NOTIFICATIONS, []), _defineProperty(_actions, _constants.GLOBAL_HEADER_PROFILE, []), _defineProperty(_actions, _constants.GLOBAL_HEADER_SETUP, []), _defineProperty(_actions, _constants.GLOBAL_HEADER_TASK, []), _defineProperty(_actions, _constants.GLOBAL_HEADER_TOOL, []), _actions); + var search; + + _react.default.Children.forEach(this.props.children, function (child) { + if (child) { + if (child.type.displayName === _constants.GLOBAL_HEADER_SEARCH) { + search = child; + } else if (actions[child.type.displayName]) { + // eslint-disable-next-line fp/no-mutating-methods + actions[child.type.displayName].push(child); + } + } + }); + + actions = [].concat(actions[_constants.GLOBAL_HEADER_FAVORITES], actions[_constants.GLOBAL_HEADER_TASK], actions[_constants.GLOBAL_HEADER_HELP], actions[_constants.GLOBAL_HEADER_SETUP], actions[_constants.GLOBAL_HEADER_NOTIFICATIONS], actions[_constants.GLOBAL_HEADER_TOOL], // support for deprecated GlobalHeaderButton and GlobalHeaderDropdown + actions[_constants.GLOBAL_HEADER_PROFILE]); + /* eslint-disable max-len, no-script-url */ + + return /*#__PURE__*/_react.default.createElement("header", { + className: "slds-global-header_container" + }, this.props.onSkipToNav ? /*#__PURE__*/_react.default.createElement("a", { + href: "javascript:void(0);", + className: "slds-assistive-text slds-assistive-text_focus", + onClick: this.handleSkipToNav + }, this.props.skipToNavAssistiveText || assistiveText.skipToNav) : null, this.props.onSkipToContent ? /*#__PURE__*/_react.default.createElement("a", { + href: "javascript:void(0);", + className: "slds-assistive-text slds-assistive-text_focus", + onClick: this.handleSkipToContent + }, this.props.skipToContentAssistiveText || assistiveText.skipToContent) : null, /*#__PURE__*/_react.default.createElement("div", { + className: "slds-global-header slds-grid slds-grid_align-spread" + }, /*#__PURE__*/_react.default.createElement("div", { + className: "slds-global-header__item" + }, /*#__PURE__*/_react.default.createElement("div", { + className: "slds-global-header__logo", + style: { + backgroundImage: "url(".concat(this.props.logoSrc, ")") + } + })), search, /*#__PURE__*/_react.default.createElement("div", { + className: "slds-global-header__item" + }, /*#__PURE__*/_react.default.createElement("ul", { + className: "slds-global-actions" + }, actions.map(function (actionItem, index) { + return /*#__PURE__*/_react.default.createElement("li", { + className: "slds-global-actions__item", + key: "actions-item-".concat(index) + /* eslint-disable-line react/no-array-index-key */ + + }, actionItem); + })))), this.props.navigation); + /* eslint-enable max-len, no-script-url */ + } + }]); + + return GlobalHeader; +}(_react.default.Component); + +_defineProperty(GlobalHeader, "displayName", _constants.GLOBAL_HEADER); + +_defineProperty(GlobalHeader, "propTypes", { + /** + * **Assistive text for accessibility.** + * This object is merged with the default props object on every render. + * * `skipToNav`: The localized text that will be read back for the "Skip to Navigation" accessibility link. + * * `skipToContent`: The localized text that will be read back for the "Skip to Main Content" accessibility link. + */ + assistiveText: _propTypes.default.shape({ + skipToNav: _propTypes.default.string, + skipToContent: _propTypes.default.string + }), + + /** + * See the component description, this accepts some combination of `SLDSGlobalHeaderSearch`, `SLDSGlobalHeaderButton`, `SLDSGlobalHeaderDropdown`, and `SLDSGlobalHeaderProfile` components. + */ + children: _propTypes.default.node, + + /** + * The Salesforce logo to display in the header. + */ + logoSrc: _propTypes.default.string, + + /** + * Pass in the Global Navigation Bar component + */ + navigation: _propTypes.default.node, + + /** + * Required for accessibility. Should jump the user to the primary content area. + */ + onSkipToContent: _propTypes.default.func, + + /** + * Required for accessibility. Should jump the user to the primary navigation. + */ + onSkipToNav: _propTypes.default.func +}); + +_defineProperty(GlobalHeader, "defaultProps", defaultProps); + +var _default = GlobalHeader; +exports.default = _default; \ No newline at end of file diff --git a/components/global-header/notifications.d.ts b/components/global-header/notifications.d.ts new file mode 100644 index 0000000000..311b47f334 --- /dev/null +++ b/components/global-header/notifications.d.ts @@ -0,0 +1,29 @@ +declare module '@salesforce/design-system-react/components/global-header/notifications' { + import React from 'react'; + type Props = { + /** + * **Assistive text for accessibility** + * * `newNotificationsAfter`: Assistive text for when there are new notifications, after the notificationCount. The default is ' new notifications'. + * * `newNotificationsBefore`: Assistive text for when there are new notifications, before the notificationCount. The default is ''. + * * `noNotifications`: Assistive text for when there are no new notifications. + */ + assistiveText?: Partial<{ + newNotificationsAfter?: string; + newNotificationsBefore?: string; + noNotifications?: string; + }>; + /** + * Dictates the number of notifications shown in the new notifications badge. + */ + notificationCount?: number; + /** + * A `Popover` component. The props from this popover will be merged and override any default props. The `children` prop will be ignored. + */ + popover?: React.ReactNode; + }; + /** + * A GlobalHeaderNotifications component. Notifications are a way to notify a user about a global change within the application. + */ + function Component(props: Props): React.ReactNode; + export default Component; +} diff --git a/components/global-header/notifications.js b/components/global-header/notifications.js new file mode 100644 index 0000000000..d18e31615b --- /dev/null +++ b/components/global-header/notifications.js @@ -0,0 +1,142 @@ +"use strict"; + +function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = void 0; + +var _react = _interopRequireDefault(require("react")); + +var _propTypes = _interopRequireDefault(require("prop-types")); + +var _lodash = _interopRequireDefault(require("lodash.assign")); + +var _button = _interopRequireDefault(require("../button")); + +var _popover = _interopRequireDefault(require("../popover")); + +var _constants = require("../../utilities/constants"); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); } + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } + +function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); } + +function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } + +function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; } + +function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } + +function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } } + +function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } + +var propTypes = { + /** + * **Assistive text for accessibility** + * * `newNotificationsAfter`: Assistive text for when there are new notifications, after the notificationCount. The default is ' new notifications'. + * * `newNotificationsBefore`: Assistive text for when there are new notifications, before the notificationCount. The default is ''. + * * `noNotifications`: Assistive text for when there are no new notifications. + */ + assistiveText: _propTypes.default.shape({ + newNotificationsAfter: _propTypes.default.string, + newNotificationsBefore: _propTypes.default.string, + noNotifications: _propTypes.default.string + }), + + /** + * Dictates the number of notifications shown in the new notifications badge. + */ + notificationCount: _propTypes.default.number, + + /** + * A `Popover` component. The props from this popover will be merged and override any default props. The `children` prop will be ignored. + */ + popover: _propTypes.default.node +}; +/** + * A GlobalHeaderNotifications component. Notifications are a way to notify a user about a global change within the application. + */ + +var GlobalHeaderNotifications = /*#__PURE__*/function (_React$Component) { + _inherits(GlobalHeaderNotifications, _React$Component); + + var _super = _createSuper(GlobalHeaderNotifications); + + function GlobalHeaderNotifications() { + _classCallCheck(this, GlobalHeaderNotifications); + + return _super.apply(this, arguments); + } + + _createClass(GlobalHeaderNotifications, [{ + key: "render", + value: function render() { + var buttonAriaProps = { + 'aria-live': 'assertive' + }; + var notificationCount = this.props.notificationCount; + var popoverProps = (0, _lodash.default)({ + align: 'bottom right', + body: /*#__PURE__*/_react.default.createElement("span", null), + triggerClassName: 'slds-dropdown-trigger slds-dropdown-trigger_click' + }, this.props.popover ? this.props.popover.props : {}); + var notificationsAssistiveText = this.props.assistiveText.noNotifications; // eslint-disable-next-line fp/no-delete + + delete popoverProps.children; + + if (notificationCount > 0) { + notificationsAssistiveText = "".concat(this.props.assistiveText.newNotificationsBefore).concat(notificationCount).concat(this.props.assistiveText.newNotificationsAfter); + } else { + buttonAriaProps['aria-atomic'] = true; + } + + return /*#__PURE__*/_react.default.createElement(_popover.default, popoverProps, /*#__PURE__*/_react.default.createElement(_button.default, _extends({ + assistiveText: { + icon: notificationsAssistiveText + }, + className: "slds-button_icon slds-global-actions__notifications slds-global-actions__item-action", + iconCategory: "utility", + iconClassName: "slds-global-header__icon", + iconName: "notification", + iconSize: "small", + iconVariant: "container", + title: notificationsAssistiveText, + variant: "icon" + }, buttonAriaProps)), notificationCount > 0 ? /*#__PURE__*/_react.default.createElement("span", { + "aria-hidden": "true", + className: "slds-notification-badge slds-incoming-notification slds-show-notification" + }, notificationCount) : /*#__PURE__*/_react.default.createElement("span", { + "aria-hidden": "true", + className: "slds-notification-badge" + })); + } + }]); + + return GlobalHeaderNotifications; +}(_react.default.Component); + +GlobalHeaderNotifications.displayName = _constants.GLOBAL_HEADER_NOTIFICATIONS; +GlobalHeaderNotifications.defaultProps = { + assistiveText: { + newNotificationsAfter: ' new notifications', + newNotificationsBefore: '', + noNotifications: 'No new notifications' + }, + notificationCount: 0 +}; +GlobalHeaderNotifications.propTypes = propTypes; +var _default = GlobalHeaderNotifications; +exports.default = _default; \ No newline at end of file diff --git a/components/global-header/private/dropdown-trigger.d.ts b/components/global-header/private/dropdown-trigger.d.ts new file mode 100644 index 0000000000..559e332f44 --- /dev/null +++ b/components/global-header/private/dropdown-trigger.d.ts @@ -0,0 +1,74 @@ +declare module '@salesforce/design-system-react/components/global-header/private/dropdown-trigger' { + import React from 'react'; + type Props = { + /** + * An image URL or avatar node to display for the user profile. + */ + avatar?: string | React.ReactNode; + /** + * CSS classes to be added to `li` element. + */ + className?: any[] | Record | string; + /** + * A unique ID is needed in order to support keyboard navigation, ARIA support, and connect the dropdown to the triggering button. + */ + id?: string; + /** + * Informs the trigger on the open/close state of the dropdown menu + */ + isOpen?: boolean; + /** + * Adds custom styling such as inverse fill and special sizing/spacing + */ + globalAction?: boolean; + /** + * The dropdown menu. + */ + menu?: React.ReactNode; + /** + * Is only called when `openOn` is set to `hover` and when the triggering li loses focus. + */ + onBlur?: (v: any) => any; + /** + * This prop is passed onto the triggering `li`. Triggered when the trigger li is clicked. + */ + onClick?: (v: any) => any; + /** + * Is only called when `openOn` is set to `hover` and when the triggering li gains focus. + */ + onFocus?: (v: any) => any; + /** + * Called when a key pressed. + */ + onKeyDown?: (v: any) => any; + /** + * Called when mouse clicks down on the trigger li. + */ + onMouseDown?: (v: any) => any; + /** + * Called when mouse hovers over the trigger `li`. + */ + onMouseEnter?: (v: any) => any; + /** + * Called when mouse leaves trigger `li` or the menu. + */ + onMouseLeave?: (v: any) => any; + /** + * Determines if mouse hover or click opens the dropdown menu. The default of `click` is highly recommended to comply with accessibility standards. If you are planning on using hover, please pause a moment and reconsider. + */ + openOn?: 'hover' | 'click' | 'hybrid'; + /** + * Set to true if menu is inline and relatively positioned with CSS. This is the typical use case for menus with nubbins. + */ + positioned?: boolean; + /** + * The ref of the actual triggering button. + */ + triggerRef?: (v: any) => any; + }; + /** + * The Dropdown Button Trigger renders the default trigger button for the dropdown menu. If this component has children, it does not render itself to the DOM. Instead, it renders its child element, `Button`, and all that child's properties. This component may be used as a template to create custom triggers that do not use `Button`. + */ + function Component(props: Props): React.ReactNode; + export default Component; +} diff --git a/components/global-header/private/dropdown-trigger.js b/components/global-header/private/dropdown-trigger.js new file mode 100644 index 0000000000..00dca2cf19 --- /dev/null +++ b/components/global-header/private/dropdown-trigger.js @@ -0,0 +1,230 @@ +"use strict"; + +function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = void 0; + +var _react = _interopRequireDefault(require("react")); + +var _propTypes = _interopRequireDefault(require("prop-types")); + +var _classnames = _interopRequireDefault(require("classnames")); + +var _button = _interopRequireDefault(require("../button")); + +var _constants = require("../../../utilities/constants"); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); } + +function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; } + +function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; } + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } + +function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); } + +function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } + +function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; } + +function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } + +function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } } + +function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +/** + * The Dropdown Button Trigger renders the default trigger button for the dropdown menu. If this component has children, it does not render itself to the DOM. Instead, it renders its child element, `Button`, and all that child's properties. This component may be used as a template to create custom triggers that do not use `Button`. + */ +var GlobalHeaderDropdownTrigger = /*#__PURE__*/function (_React$Component) { + _inherits(GlobalHeaderDropdownTrigger, _React$Component); + + var _super = _createSuper(GlobalHeaderDropdownTrigger); + + function GlobalHeaderDropdownTrigger() { + var _this; + + _classCallCheck(this, GlobalHeaderDropdownTrigger); + + for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { + args[_key] = arguments[_key]; + } + + _this = _super.call.apply(_super, [this].concat(args)); + + _defineProperty(_assertThisInitialized(_this), "renderAvatar", function () { + var avatar = _this.props.avatar; + + if (typeof avatar === 'string') { + return /*#__PURE__*/_react.default.createElement("span", { + className: "slds-avatar slds-avatar_circle slds-avatar_medium" + }, /*#__PURE__*/_react.default.createElement("img", { + src: avatar, + alt: "" + })); + } + + return avatar || null; + }); + + return _this; + } + + _createClass(GlobalHeaderDropdownTrigger, [{ + key: "render", + // ### Render + value: function render() { + // The following props are provided to the `li`, all others are passed into the `Button` + var _this$props = this.props, + className = _this$props.className, + id = _this$props.id, + isOpen = _this$props.isOpen, + globalAction = _this$props.globalAction, + menu = _this$props.menu, + onBlur = _this$props.onBlur, + onClick = _this$props.onClick, + onFocus = _this$props.onFocus, + onKeyDown = _this$props.onKeyDown, + onMouseDown = _this$props.onMouseDown, + onMouseEnter = _this$props.onMouseEnter, + onMouseLeave = _this$props.onMouseLeave, + triggerRef = _this$props.triggerRef, + rest = _objectWithoutProperties(_this$props, ["className", "id", "isOpen", "globalAction", "menu", "onBlur", "onClick", "onFocus", "onKeyDown", "onMouseDown", "onMouseEnter", "onMouseLeave", "triggerRef"]); + + return ( + /*#__PURE__*/ + + /* eslint-disable jsx-a11y/no-static-element-interactions */ + // eslint-disable-next-line jsx-a11y/role-supports-aria-props + _react.default.createElement("li", { + "aria-haspopup": "true", + className: (0, _classnames.default)('slds-dropdown-trigger slds-dropdown-trigger_click', { + 'slds-is-open': isOpen, + 'slds-p-around_xx-small': globalAction + }, className), + id: id, + onBlur: onBlur, + onClick: onClick, + onFocus: onFocus, + onKeyDown: onKeyDown, + onMouseDown: onMouseDown, + onMouseEnter: onMouseEnter, + onMouseLeave: onMouseLeave, + ref: triggerRef + }, /*#__PURE__*/_react.default.createElement(_button.default, _extends({ + className: (0, _classnames.default)({ + 'slds-global-header__button_icon-actions': globalAction + }), + iconClassName: (0, _classnames.default)({ + 'slds-global-header__icon-actions': globalAction + }), + "aria-haspopup": "true", + buttonVariant: "dropdown" + }, rest), this.renderAvatar()), menu) + ); + } + }]); + + return GlobalHeaderDropdownTrigger; +}(_react.default.Component); + +_defineProperty(GlobalHeaderDropdownTrigger, "displayName", _constants.MENU_DROPDOWN_TRIGGER); + +_defineProperty(GlobalHeaderDropdownTrigger, "propTypes", { + /** + * An image URL or avatar node to display for the user profile. + */ + avatar: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.node]), + + /** + * CSS classes to be added to `li` element. + */ + className: _propTypes.default.oneOfType([_propTypes.default.array, _propTypes.default.object, _propTypes.default.string]), + + /** + * A unique ID is needed in order to support keyboard navigation, ARIA support, and connect the dropdown to the triggering button. + */ + id: _propTypes.default.string, + + /** + * Informs the trigger on the open/close state of the dropdown menu + */ + isOpen: _propTypes.default.bool, + + /** + * Adds custom styling such as inverse fill and special sizing/spacing + */ + globalAction: _propTypes.default.bool, + + /** + * The dropdown menu. + */ + menu: _propTypes.default.node, + + /** + * Is only called when `openOn` is set to `hover` and when the triggering li loses focus. + */ + onBlur: _propTypes.default.func, + + /** + * This prop is passed onto the triggering `li`. Triggered when the trigger li is clicked. + */ + onClick: _propTypes.default.func, + + /** + * Is only called when `openOn` is set to `hover` and when the triggering li gains focus. + */ + onFocus: _propTypes.default.func, + + /** + * Called when a key pressed. + */ + onKeyDown: _propTypes.default.func, + + /** + * Called when mouse clicks down on the trigger li. + */ + onMouseDown: _propTypes.default.func, + + /** + * Called when mouse hovers over the trigger `li`. + */ + onMouseEnter: _propTypes.default.func, + + /** + * Called when mouse leaves trigger `li` or the menu. + */ + onMouseLeave: _propTypes.default.func, + + /** + * Determines if mouse hover or click opens the dropdown menu. The default of `click` is highly recommended to comply with accessibility standards. If you are planning on using hover, please pause a moment and reconsider. + */ + openOn: _propTypes.default.oneOf(['hover', 'click', 'hybrid']), + + /** + * Set to true if menu is inline and relatively positioned with CSS. This is the typical use case for menus with nubbins. + */ + positioned: _propTypes.default.bool, + + /** + * The ref of the actual triggering button. + */ + triggerRef: _propTypes.default.func +}); + +var _default = GlobalHeaderDropdownTrigger; +exports.default = _default; \ No newline at end of file diff --git a/components/global-header/profile.d.ts b/components/global-header/profile.d.ts new file mode 100644 index 0000000000..7332e6b059 --- /dev/null +++ b/components/global-header/profile.d.ts @@ -0,0 +1,34 @@ +declare module '@salesforce/design-system-react/components/global-header/profile' { + import React from 'react'; + type Props = { + /** + * Extra classnames to apply to the popover. + */ + className?: string; + /** + * An image URL or avatar node to display for the user profile. Defaults to a base64 encoded generic user avatar image string + */ + avatar?: string | React.ReactNode; + /** + * CSS classes to be added to the `button` element. + */ + buttonClassName?: any[] | Record | string; + /** + * A unique ID is needed in order to support keyboard navigation, ARIA support, and connect the popover to the triggering button. If an id is not provided, it will be automatically generated. + */ + id?: string; + /** + * A `Popover` component. The props from this popover will be merged and override any default props. + */ + popover?: React.ReactNode; + /** + * The user name of the profile. Defaults to "User Name" + */ + userName?: string; + }; + /** + * This component is an `Avatar` component that opens a `Popover` component when clicked. + */ + function Component(props: Props): React.ReactNode; + export default Component; +} diff --git a/components/global-header/profile.js b/components/global-header/profile.js new file mode 100644 index 0000000000..b86efe204e --- /dev/null +++ b/components/global-header/profile.js @@ -0,0 +1,147 @@ +"use strict"; + +function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = void 0; + +var _react = _interopRequireDefault(require("react")); + +var _propTypes = _interopRequireDefault(require("prop-types")); + +var _lodash = _interopRequireDefault(require("lodash.assign")); + +var _classnames = _interopRequireDefault(require("classnames")); + +var _checkProps = _interopRequireDefault(require("./check-props")); + +var _button = _interopRequireDefault(require("../button")); + +var _popover = _interopRequireDefault(require("../popover")); + +var _constants = require("../../utilities/constants"); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); } + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } + +function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); } + +function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } + +function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; } + +function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } + +function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } } + +function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } + +/** + * This component is an `Avatar` component that opens a `Popover` component when clicked. + */ +var GlobalHeaderProfile = /*#__PURE__*/function (_React$Component) { + _inherits(GlobalHeaderProfile, _React$Component); + + var _super = _createSuper(GlobalHeaderProfile); + + function GlobalHeaderProfile(props) { + var _this; + + _classCallCheck(this, GlobalHeaderProfile); + + _this = _super.call(this, props); + (0, _checkProps.default)(_constants.GLOBAL_HEADER_PROFILE, props); + return _this; + } + + _createClass(GlobalHeaderProfile, [{ + key: "render", + value: function render() { + var buttonAriaProps = { + 'aria-haspopup': true + }; + var popoverProps = (0, _lodash.default)({ + align: 'bottom right', + body: /*#__PURE__*/_react.default.createElement("span", null), + className: this.props.className, + heading: this.props.userName, + id: this.props.id, + triggerClassName: 'slds-dropdown-trigger slds-dropdown-trigger_click' + }, this.props.popover ? this.props.popover.props : {}); // Note: the default avatar is done this way to prevent documentation from showing this giant string + + /* eslint-disable max-len */ + + var avatar = 'data:image/jpeg;base64,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'; + /* eslint-enable max-len */ + // eslint-disable-next-line fp/no-delete + + delete popoverProps.children; + avatar = this.props.avatar ? this.props.avatar : avatar; + return /*#__PURE__*/_react.default.createElement(_popover.default, popoverProps, /*#__PURE__*/_react.default.createElement(_button.default, _extends({ + className: (0, _classnames.default)('slds-global-actions__avatar slds-global-actions__item-action', this.props.buttonClassName), + title: this.props.userName, + variant: "icon" + }, buttonAriaProps), typeof avatar === 'string' ? /*#__PURE__*/_react.default.createElement("span", { + className: "slds-avatar slds-avatar_circle slds-avatar_medium" + }, /*#__PURE__*/_react.default.createElement("img", { + alt: this.props.userName, + src: avatar, + title: "User avatar" + })) : avatar || null)); + } + }]); + + return GlobalHeaderProfile; +}(_react.default.Component); // ### Display Name + + +GlobalHeaderProfile.displayName = _constants.GLOBAL_HEADER_PROFILE; // ### Prop Types + +GlobalHeaderProfile.propTypes = { + /** + * Extra classnames to apply to the popover. + */ + className: _propTypes.default.string, + + /** + * An image URL or avatar node to display for the user profile. Defaults to a base64 encoded generic user avatar image string + */ + avatar: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.node]), + + /** + * CSS classes to be added to the `button` element. + */ + buttonClassName: _propTypes.default.oneOfType([_propTypes.default.array, _propTypes.default.object, _propTypes.default.string]), + + /** + * A unique ID is needed in order to support keyboard navigation, ARIA support, and connect the popover to the triggering button. If an id is not provided, it will be automatically generated. + */ + id: _propTypes.default.string, + + /** + * A `Popover` component. The props from this popover will be merged and override any default props. + */ + popover: _propTypes.default.node, + + /** + * The user name of the profile. Defaults to "User Name" + */ + userName: _propTypes.default.string +}; // ### Default Props + +GlobalHeaderProfile.defaultProps = { + userName: 'User Name' +}; +var _default = GlobalHeaderProfile; +exports.default = _default; \ No newline at end of file diff --git a/components/global-header/search.d.ts b/components/global-header/search.d.ts new file mode 100644 index 0000000000..0a90a68b34 --- /dev/null +++ b/components/global-header/search.d.ts @@ -0,0 +1,12 @@ +declare module '@salesforce/design-system-react/components/global-header/search' { + import React from 'react'; + type Props = { + /** + * A required `Combobox` component. The props from this combobox will be merged and override any default props. + */ + combobox: React.ReactNode /*.isRequired*/; + }; + + function Component(props: Props): React.ReactNode; + export default Component; +} diff --git a/components/global-header/search.js b/components/global-header/search.js new file mode 100644 index 0000000000..9887f772f8 --- /dev/null +++ b/components/global-header/search.js @@ -0,0 +1,41 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = void 0; + +var _react = _interopRequireDefault(require("react")); + +var _propTypes = _interopRequireDefault(require("prop-types")); + +var _constants = require("../../utilities/constants"); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */ + +/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */ +// # Global Header Search Component +// ## Dependencies +// ### React +// ## Constants + +/** + * The GlobalHeaderSearch component is used for application wide search. The form element is implemented as a `Combobox`. + */ +var GlobalHeaderSearch = function GlobalHeaderSearch(props) { + return /*#__PURE__*/_react.default.createElement("div", { + className: "slds-global-header__item slds-global-header__item_search" + }, props.combobox); +}; + +GlobalHeaderSearch.displayName = _constants.GLOBAL_HEADER_SEARCH; +GlobalHeaderSearch.propTypes = { + /** + * A required `Combobox` component. The props from this combobox will be merged and override any default props. + */ + combobox: _propTypes.default.node.isRequired +}; +var _default = GlobalHeaderSearch; +exports.default = _default; \ No newline at end of file diff --git a/components/global-header/setup.d.ts b/components/global-header/setup.d.ts new file mode 100644 index 0000000000..a7d36355c0 --- /dev/null +++ b/components/global-header/setup.d.ts @@ -0,0 +1,21 @@ +declare module '@salesforce/design-system-react/components/global-header/setup' { + import React from 'react'; + type Props = { + /** + * **Assistive text for accessibility** + * * `triggerButton`: Assistive text for the GlobalHeaderSetup trigger button. The default is `Setup`. + */ + assistiveText?: Partial<{ + triggerButton?: string; + }>; + /** + * A `Dropdown` component. The props from this dropdown will be merged and override any default props. This also allows custom content to be passed as children and rendered in the dropdown. + */ + dropdown?: React.ReactNode; + }; + /** + * A GlobalHeaderSetup component. + */ + function Component(props: Props): React.ReactNode; + export default Component; +} diff --git a/components/global-header/setup.js b/components/global-header/setup.js new file mode 100644 index 0000000000..3202ea251a --- /dev/null +++ b/components/global-header/setup.js @@ -0,0 +1,117 @@ +"use strict"; + +function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = void 0; + +var _react = _interopRequireDefault(require("react")); + +var _propTypes = _interopRequireDefault(require("prop-types")); + +var _lodash = _interopRequireDefault(require("lodash.assign")); + +var _button = _interopRequireDefault(require("../button")); + +var _menuDropdown = _interopRequireDefault(require("../menu-dropdown")); + +var _buttonTrigger = _interopRequireDefault(require("../menu-dropdown/button-trigger")); + +var _constants = require("../../utilities/constants"); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); } + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } + +function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); } + +function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } + +function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; } + +function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } + +function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } } + +function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } + +var propTypes = { + /** + * **Assistive text for accessibility** + * * `triggerButton`: Assistive text for the GlobalHeaderSetup trigger button. The default is `Setup`. + */ + assistiveText: _propTypes.default.shape({ + triggerButton: _propTypes.default.string + }), + + /** + * A `Dropdown` component. The props from this dropdown will be merged and override any default props. This also allows custom content to be passed as children and rendered in the dropdown. + */ + dropdown: _propTypes.default.node +}; +/** + * A GlobalHeaderSetup component. + */ + +var GlobalHeaderSetup = /*#__PURE__*/function (_React$Component) { + _inherits(GlobalHeaderSetup, _React$Component); + + var _super = _createSuper(GlobalHeaderSetup); + + function GlobalHeaderSetup() { + _classCallCheck(this, GlobalHeaderSetup); + + return _super.apply(this, arguments); + } + + _createClass(GlobalHeaderSetup, [{ + key: "render", + value: function render() { + var buttonAriaProps = { + 'aria-haspopup': true + }; + var dropdownProps = (0, _lodash.default)({ + align: 'right', + nubbinPosition: 'top right' + }, this.props.dropdown ? this.props.dropdown.props : {}); + var dropdownChildren = dropdownProps.children || null; // eslint-disable-next-line fp/no-delete + + delete dropdownProps.children; + return /*#__PURE__*/_react.default.createElement(_menuDropdown.default, dropdownProps, /*#__PURE__*/_react.default.createElement(_buttonTrigger.default, null, /*#__PURE__*/_react.default.createElement(_button.default, _extends({ + assistiveText: { + icon: this.props.assistiveText.triggerButton + }, + className: "slds-button_icon slds-global-actions__setup slds-global-actions__item-action", + iconCategory: "utility", + iconClassName: "slds-global-header__icon", + iconName: "setup", + iconSize: "small", + iconVariant: "container", + title: this.props.assistiveText.triggerButton, + variant: "icon" + }, buttonAriaProps))), dropdownChildren); + } + }]); + + return GlobalHeaderSetup; +}(_react.default.Component); + +GlobalHeaderSetup.displayName = _constants.GLOBAL_HEADER_SETUP; +GlobalHeaderSetup.defaultProps = { + assistiveText: { + triggerButton: 'Setup' + } +}; +GlobalHeaderSetup.propTypes = propTypes; +var _default = GlobalHeaderSetup; +exports.default = _default; \ No newline at end of file diff --git a/components/global-header/task.d.ts b/components/global-header/task.d.ts new file mode 100644 index 0000000000..190e701713 --- /dev/null +++ b/components/global-header/task.d.ts @@ -0,0 +1,21 @@ +declare module '@salesforce/design-system-react/components/global-header/task' { + import React from 'react'; + type Props = { + /** + * **Assistive text for accessibility** + * * `triggerButton`: Assistive text for the GlobalHeaderTask trigger button. The default is `Global Actions`. + */ + assistiveText?: Partial<{ + triggerButton?: string; + }>; + /** + * A `Dropdown` component. The props from this dropdown will be merged and override any default props. This also allows custom content to be passed as children and rendered in the dropdown. + */ + dropdown?: React.ReactNode; + }; + /** + * A GlobalHeaderTask component. + */ + function Component(props: Props): React.ReactNode; + export default Component; +} diff --git a/components/global-header/task.js b/components/global-header/task.js new file mode 100644 index 0000000000..4ff6b603cb --- /dev/null +++ b/components/global-header/task.js @@ -0,0 +1,116 @@ +"use strict"; + +function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = void 0; + +var _react = _interopRequireDefault(require("react")); + +var _propTypes = _interopRequireDefault(require("prop-types")); + +var _lodash = _interopRequireDefault(require("lodash.assign")); + +var _button = _interopRequireDefault(require("../button")); + +var _menuDropdown = _interopRequireDefault(require("../menu-dropdown")); + +var _buttonTrigger = _interopRequireDefault(require("../menu-dropdown/button-trigger")); + +var _constants = require("../../utilities/constants"); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); } + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } + +function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); } + +function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } + +function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; } + +function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } + +function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } } + +function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } + +var propTypes = { + /** + * **Assistive text for accessibility** + * * `triggerButton`: Assistive text for the GlobalHeaderTask trigger button. The default is `Global Actions`. + */ + assistiveText: _propTypes.default.shape({ + triggerButton: _propTypes.default.string + }), + + /** + * A `Dropdown` component. The props from this dropdown will be merged and override any default props. This also allows custom content to be passed as children and rendered in the dropdown. + */ + dropdown: _propTypes.default.node +}; +/** + * A GlobalHeaderTask component. + */ + +var GlobalHeaderTask = /*#__PURE__*/function (_React$Component) { + _inherits(GlobalHeaderTask, _React$Component); + + var _super = _createSuper(GlobalHeaderTask); + + function GlobalHeaderTask() { + _classCallCheck(this, GlobalHeaderTask); + + return _super.apply(this, arguments); + } + + _createClass(GlobalHeaderTask, [{ + key: "render", + value: function render() { + var buttonAriaProps = { + 'aria-haspopup': true + }; + var dropdownProps = (0, _lodash.default)({ + align: 'right', + nubbinPosition: 'top right' + }, this.props.dropdown ? this.props.dropdown.props : {}); + var dropdownChildren = dropdownProps.children || null; // eslint-disable-next-line fp/no-delete + + delete dropdownProps.children; + return /*#__PURE__*/_react.default.createElement(_menuDropdown.default, dropdownProps, /*#__PURE__*/_react.default.createElement(_buttonTrigger.default, null, /*#__PURE__*/_react.default.createElement(_button.default, _extends({ + assistiveText: { + icon: this.props.assistiveText.triggerButton + }, + className: "slds-button_icon slds-global-actions__task slds-global-actions__item-action", + iconCategory: "utility", + iconName: "add", + iconSize: "small", + iconVariant: "container", + title: this.props.assistiveText.triggerButton, + variant: "icon" + }, buttonAriaProps))), dropdownChildren); + } + }]); + + return GlobalHeaderTask; +}(_react.default.Component); + +GlobalHeaderTask.displayName = _constants.GLOBAL_HEADER_TASK; +GlobalHeaderTask.defaultProps = { + assistiveText: { + triggerButton: 'Global Actions' + } +}; +GlobalHeaderTask.propTypes = propTypes; +var _default = GlobalHeaderTask; +exports.default = _default; \ No newline at end of file diff --git a/components/global-navigation-bar.d.ts b/components/global-navigation-bar.d.ts new file mode 100644 index 0000000000..e787e64f9c --- /dev/null +++ b/components/global-navigation-bar.d.ts @@ -0,0 +1,24 @@ +declare module "@salesforce/design-system-react/components/global-navigation-bar" { + import React from "react"; + type Props = { + /** + * The items to be displayed in the Global Navigation Bar. + */ + children?: React.ReactNode; + /** + * CSS class names to be added to the container element. + */ + className?: any[] | Record | string; + /** + * Typically the cloud name (e.g.- "sales" or "marketing"). This primarily changes the background color. + */ + cloud?: string; + /** + * Transforms text and interactions (such as hover) to be more visually accessible. + */ + theme?: "light" | "dark"; + }; + + function Component(props: Props): React.ReactElement; + export default Component; +} diff --git a/components/global-navigation-bar/__docs__/storybook-stories.jsx b/components/global-navigation-bar/__docs__/storybook-stories.jsx new file mode 100644 index 0000000000..7382e7ebd1 --- /dev/null +++ b/components/global-navigation-bar/__docs__/storybook-stories.jsx @@ -0,0 +1,332 @@ +import React from 'react'; +import { storiesOf } from '@storybook/react'; +import { action } from '@storybook/addon-actions'; +import IconSettings from '../../icon-settings'; + +import { GLOBAL_NAVIGATION_BAR } from '../../../utilities/constants'; + +import { propSets } from '../../../utilities/sample-data/global-navigation-bar'; + +import GlobalNavigationBar from '../../global-navigation-bar'; +import GlobalNavigationBarRegion from '../../global-navigation-bar/region'; +import GlobalNavigationBarDropdown from '../../global-navigation-bar/dropdown'; +import GlobalNavigationBarLink from '../../global-navigation-bar/link'; +import GlobalNavigationBarLabel from '../../global-navigation-bar/label'; +import GlobalNavigationBarButton from '../../global-navigation-bar/button'; + +import AppLauncher from '../../app-launcher'; +import AppLauncherExpandableSection from '../../app-launcher/expandable-section'; +import AppLauncherTile from '../../app-launcher/tile'; + +import Default from '../__examples__/default'; + +// aliased to allow copy and paste from component tests +const buttonClicked = action; +const dropdownItemClicked = action; +const linkClicked = action; +const searchClicked = action; + +const dropdownCollection = [ + { + label: 'Main action', + value: '0', + leftIcon: { + category: 'utility', + name: 'add', + }, + href: 'http://www.google.com', + }, + { + label: 'Menu Header', + type: 'header', + divider: 'top', + }, + { + label: 'Menu Item One', + value: '1', + href: 'http://www.google.com', + }, + { + label: 'Menu Item Two', + value: '2', + href: 'http://www.google.com', + }, + { + label: 'Menu Item Three', + value: '3', + href: 'http://www.google.com', + }, +]; + +/* eslint-disable react/display-name */ +const getGlobalNavigationBar = (props, primaryRegionProps) => ( + + + + + + + + + + { + console.log(e.target); + }} + /> + + + + + + +); + +const getGlobalNavigationBarCustomCloud = (props, primaryRegionProps) => ( + + + + + + + + + + + + + + + + + + + + + + + +); + +const getGlobalNavigationBarCustomCloudOverviewActive = ( + props, + primaryRegionProps +) => ( + + + + + + + + + + + + + + + + + + + + + + + +); + +const getGlobalNavigationBarNoNav = (props, primaryRegionProps) => ( + + + + + + + + + +); + +storiesOf(GLOBAL_NAVIGATION_BAR, module) + .addDecorator((getStory) => ( +
    + {getStory()} +
    + )) + .add('Base', () => + getGlobalNavigationBar( + propSets.base.props, + propSets.base.primaryRegionProps + ) + ) + .add('Custom Cloud', () => + getGlobalNavigationBarCustomCloud( + propSets.customCloud.props, + propSets.customCloud.primaryRegionProps + ) + ) + .add('Custom Cloud (Multiple active and white)', () => + getGlobalNavigationBarCustomCloudOverviewActive( + propSets.customCloud.props, + propSets.customCloud.primaryRegionProps + ) + ) + .add('No Secondary Navigation', () => + getGlobalNavigationBarNoNav( + propSets.noNav.props, + propSets.noNav.primaryRegionProps + ) + ) + .add('Hybrid Dropdown', () => + getGlobalNavigationBar( + propSets.hybrid.props, + propSets.base.primaryRegionProps + ) + ) + .add('Doc site Default', () => ); diff --git a/components/global-navigation-bar/__examples__/default.jsx b/components/global-navigation-bar/__examples__/default.jsx new file mode 100644 index 0000000000..b7bd815874 --- /dev/null +++ b/components/global-navigation-bar/__examples__/default.jsx @@ -0,0 +1,103 @@ +import React from 'react'; + +import IconSettings from '~/components/icon-settings'; +import GlobalNavigationBar from '~/components/global-navigation-bar'; // `~` is replaced with design-system-react at runtime +import GlobalNavigationBarRegion from '~/components/global-navigation-bar/region'; +import GlobalNavigationBarDropdown from '~/components/global-navigation-bar/dropdown'; +import GlobalNavigationBarLink from '~/components/global-navigation-bar/link'; + +import Button from '~/components/button'; +import Icon from '~/components/icon'; + +import AppLauncher from '~/components/app-launcher'; +import AppLauncherExpandableSection from '~/components/app-launcher/expandable-section'; +import AppLauncherTile from '~/components/app-launcher/tile'; + +class Example extends React.Component { + static displayName = 'GlobalNavigationBarExample'; + + render() { + const dropdownCollection = [ + { + label: 'Menu Item One', + value: '1', + iconCategory: 'utility', + iconName: 'table', + href: 'http://www.google.com', + }, + { + label: 'Menu Item Two', + value: '2', + iconCategory: 'utility', + iconName: 'kanban', + href: 'http://www.google.com', + }, + { + label: 'Menu Item Three', + value: '3', + iconCategory: 'utility', + iconName: 'side_list', + href: 'http://www.google.com', + }, + ]; + + return ( + + + + { + console.log('Search term:', event.target.value); + }} + modalHeaderButton={ + + + + +
  • +

    + 3. Base Input with right icon +

    +
    + +
    + + + + +
    +
    +
  • +
  • +

    + 4. Base Input with Clickable right icon +

    +
    + +
    + + +
    +
    +
  • +
  • +

    + 5. Base Input with left and right icons +

    +
    + +
    + + + + + + + +
    +
    +
  • +
  • +

    + 6. Base Input with Clickable left and right icon +

    +
    + +
    + + + +
    +
    +
  • +
  • +

    + 7. Base Input with left and clickable right icon +

    +
    + +
    + + + + + +
    +
    +
  • +
  • +

    + 8. Base Input with left, clickable right icon, and loading spinner +

    +
    + +
    + + + + +
    +
    +
    + + Field data is loading + +
    +
    +
    +
    + +
    +
    +
    +
  • + + + +`; + +exports[`DOM snapshots SLDSInput Counter Input 1`] = ` +
    +
    +
    +

    + 1. Simple counter input +

    +
    + +
    + + + +
    +
    +
    +
    +

    + 2. Controlled counter input +

    +
    + +
    + + + +
    +
    +
    +
    +

    + 3. Controlled counter input with min/max values and custom step size +

    +
    + +
    + + + +
    +
    +
    +
    +

    + 4. Counter input with floating step size +

    +
    + +
    + + + +
    +
    +
    +
    +

    + 5. Disabled counter input +

    +
    + +
    + + + +
    +
    +
    +
    +

    + 6. Readonly counter input +

    +
    + +
    + +
    +
    +
    +
    +
    +`; + +exports[`DOM snapshots SLDSInput Counter Static Input 1`] = ` +
    +
    +

    + 1. Static counter input +

    +
    + + My Label + +
    + + 10 + +
    +
    +
    +
    +`; + +exports[`DOM snapshots SLDSInput Custom style and autocomplete 1`] = ` +
    +
    +
      +
    1. +

      + Input with custom style +

      +
      + +
      + +
      +
      +
    2. +
    +
    +
    +`; + +exports[`DOM snapshots SLDSInput Disabled Input 1`] = ` +
    +
    +

    + Disabled Input +

    +
    + +
    + +
    +
    +
    +
    +`; + +exports[`DOM snapshots SLDSInput Docs site Default 1`] = ` +
    +
    +
    +

    + Base Input with visible label +

    +
    + +
    + +
    +
    +
    +
    +

    + Base Input with hidden label (assistive text) +

    +
    + +
    + +
    +
    +
    +
    +

    + Base Input with Fixed Text +

    +
    + +
    + + $ + + +
    +
    +
    +
    +
    +`; + +exports[`DOM snapshots SLDSInput Docs site Error 1`] = ` +
    +
    +
    +
    + +
    + +
    +
    + Error Message +
    +
    +
    +
    +
    + +
    + + +
    +
    + Error Message +
    +
    +
    +
    +
    +`; + +exports[`DOM snapshots SLDSInput Docs site Icons 1`] = ` +
    +
    +

    + Input with Icons +

    +
    +
    + +
    + + + + +
    +
    +
    +
    +
    + +
    + + + +
    +
    +
    +
    +
    + +
    + + +
    +
    +
    +
    +
    + +
    + +
    +
    +
    + + Field data is loading + +
    +
    +
    +
    + +
    +
    +
    +
    +
    +
    +`; + +exports[`DOM snapshots SLDSInput Docs site InactiveInputs 1`] = ` +
    +
    +
    +

    + Disabled Input +

    +
    + +
    + +
    +
    +
    +
    +

    + ReadOnly Input +

    +
    + +
    + +
    +
    +
    +
    +
    +`; + +exports[`DOM snapshots SLDSInput Field Level Help 1`] = ` +
    +
    +

    + Field Level Help +

    +
    + +
    + + +
    +
    + +
    +
    +
    +
    +`; + +exports[`DOM snapshots SLDSInput Field Level Help, Tooltip Open 1`] = ` +
    +
    +

    + Field Level Help +

    +
    + +
    + + +
    +
    + +
    +
    +
    +
    +`; + +exports[`DOM snapshots SLDSInput Fixed Text 1`] = ` +
    +
    +

    + Input with Fixed Text +

    +
    + +
    + + $ + + +
    +
    +
    +
    +`; + +exports[`DOM snapshots SLDSInput Inline Help 1`] = ` +
    +
    +
      +
    1. +

      + 1. Inline Help +

      +
      + +
      + +
      +
      + ex: (415) 111-2222 +
      +
      +
    2. +
    3. +

      + 2. Inline Help With Left Icon +

      +
      + +
      + + + + +
      +
      + ex: (415) 111-2222 +
      +
      +
    4. +
    5. +

      + 3. Inline Help With Right Icon +

      +
      + +
      + + + + +
      +
      + ex: (415) 111-2222 +
      +
      +
    6. +
    7. +

      + 4. Inline Help With Error Text +

      +
      + +
      + +
      +
      + ex: (415) 111-2222 +
      +
      + This field is required. +
      +
      +
    8. +
    9. +

      + 4. Inline Help With Error Text and Icon +

      +
      + +
      + + + + +
      +
      + ex: (415) 111-2222 +
      +
      + This field is required. +
      +
      +
    10. +
    +
    +
    +`; + +exports[`DOM snapshots SLDSInput Read Only 1`] = ` +
    +
    +

    + Read only Input +

    +
    + +
    + +
    +
    +
    +
    +`; + +exports[`DOM snapshots SLDSInput Required Input in Error State 1`] = ` +
    +
    +
      +
    1. +

      + Required Input with Error Text +

      +
      + +
      + +
      +
      + This field is required. +
      +
      +
    2. +
    3. +

      + Required Input with Error Text and Icon +

      +
      + +
      + + + + +
      +
      + This field is required. +
      +
      +
    4. +
    +
    +
    +`; + +exports[`DOM snapshots SLDSInput Static Input 1`] = ` +
    +
    +

    + Static Input +

    +
    + + My Label + +
    + + Static value + +
    +
    +
    +
    +`; diff --git a/components/input/__docs__/search/__snapshots__/storybook-stories.storyshot b/components/input/__docs__/search/__snapshots__/storybook-stories.storyshot new file mode 100644 index 0000000000..2614276560 --- /dev/null +++ b/components/input/__docs__/search/__snapshots__/storybook-stories.storyshot @@ -0,0 +1,51 @@ +// Jest Snapshot v1, https://goo.gl/fbAQLP + +exports[`DOM snapshots SLDSSearch Standard 1`] = ` +
    +
    + +
    + + +
    +
    +
    +`; diff --git a/components/input/__docs__/search/storybook-stories.jsx b/components/input/__docs__/search/storybook-stories.jsx new file mode 100644 index 0000000000..365348cee4 --- /dev/null +++ b/components/input/__docs__/search/storybook-stories.jsx @@ -0,0 +1,24 @@ +import React from 'react'; +import { storiesOf } from '@storybook/react'; +import { action } from '@storybook/addon-actions'; +import IconSettings from '../../../icon-settings'; + +import { SEARCH } from '../../../../utilities/constants'; +import Search from '../../search'; + +storiesOf(SEARCH, module) + .addDecorator((getStory) => ( +
    + {getStory()} +
    + )) + .add('Standard', () => ( + + )); diff --git a/components/input/__docs__/storybook-stories.jsx b/components/input/__docs__/storybook-stories.jsx new file mode 100644 index 0000000000..f6016271d3 --- /dev/null +++ b/components/input/__docs__/storybook-stories.jsx @@ -0,0 +1,323 @@ +import React from 'react'; +import { storiesOf } from '@storybook/react'; +import { action } from '@storybook/addon-actions'; +import { INPUT } from '../../../utilities/constants'; +import IconSettings from '../../icon-settings'; +import Input from '../'; +import InputIcon from '../../icon/input-icon'; +import CounterInput from '../__examples__/counter-input'; +import CounterStaticInput from '../__examples__/counter-static-input'; +import InlineHelpInput from '../__examples__/inline-help'; +import FieldLevelHelpInput from '../__examples__/field-level-help'; +import Default from '../__examples__/default'; +import Error from '../__examples__/error'; +import Icons from '../__examples__/icons'; +import InactiveInputs from '../__examples__/inactiveInputs'; + +const iconClicked = action; +const clearIcon = ( + +); +const clearIconClickable = ( + +); +const searchIcon = ; +const searchIconClickable = ( + +); +const errorIcon = ; + +storiesOf(INPUT, module) + .addDecorator((getStory) => ( +
    {getStory()}
    + )) + .add('Base', () => ( + +
    +
      +
    1. +

      + 1. Base Input with visible label +

      + +
    2. +
    3. +

      + 2. Base Input with hidden label (assistive text) +

      + +
    4. +
    +
    +
    + )) + .add('Custom style and autocomplete', () => ( + +
    +
      +
    1. +

      + Input with custom style +

      + +
    2. +
    +
    +
    + )) + .add('Base with Icons', () => ( + +
    +
      +
    1. +

      + 1. Base Input with left icon +

      + +
    2. +
    3. +

      + 2. Base Input with Clickable left icon +

      + +
    4. +
    5. +

      + 3. Base Input with right icon +

      + +
    6. +
    7. +

      + 4. Base Input with Clickable right icon +

      + +
    8. +
    9. +

      + 5. Base Input with left and right icons +

      + +
    10. +
    11. +

      + 6. Base Input with Clickable left and right icon +

      + +
    12. +
    13. +

      + 7. Base Input with left and clickable right icon +

      + +
    14. +
    15. +

      + 8. Base Input with left, clickable right icon, and loading spinner +

      + +
    16. +
    +
    +
    + )) + .add('Fixed Text', () => ( + +
    +

    + Input with Fixed Text +

    + +
    +
    + )) + .add('Read Only', () => ( + +
    +

    + Read only Input +

    + +
    +
    + )) + .add('Static Input', () => ( + +
    +

    + Static Input +

    + +
    +
    + )) + .add('Disabled Input', () => ( + +
    +

    + Disabled Input +

    + +
    +
    + )) + .add('Required Input in Error State', () => ( + +
    +
      +
    1. +

      + Required Input with Error Text +

      + +
    2. +
    3. +

      + Required Input with Error Text and Icon +

      + +
    4. +
    +
    +
    + )) + .add('Inline Help', () => ) + .add('Field Level Help', () => ) + .add('Field Level Help, Tooltip Open', () => ( + + )) + .add('Counter Input', () => ) + .add('Counter Static Input', () => ) + .add('Docs site Default', () => ) + .add('Docs site Error', () => ) + .add('Docs site Icons', () => ) + .add('Docs site InactiveInputs', () => ); diff --git a/components/input/__examples__/counter-input.jsx b/components/input/__examples__/counter-input.jsx new file mode 100644 index 0000000000..09b6e8e2e6 --- /dev/null +++ b/components/input/__examples__/counter-input.jsx @@ -0,0 +1,100 @@ +import React from 'react'; +import IconSettings from '~/components/icon-settings'; // `~` is replaced with design-system-react at runtime +import Input from '~/components/input'; // `~` is replaced with design-system-react at runtime + +class Example extends React.Component { + constructor(props) { + super(props); + + this.state = { + counter2value: 10, + counter3value: 10, + }; + } + + render() { + return ( + +
    +
    +

    + 1. Simple counter input +

    + +
    +
    +

    + 2. Controlled counter input +

    + { + this.setState({ counter2value: data.value }); + }} + value={this.state.counter2value} + variant="counter" + /> +
    +
    +

    + 3. Controlled counter input with min/max values and custom step + size +

    + { + this.setState({ counter3value: data.value }); + }} + step={2} + value={this.state.counter3value} + variant="counter" + /> +
    +
    +

    + 4. Counter input with floating step size +

    + +
    +
    +

    + 5. Disabled counter input +

    + +
    +
    +

    + 6. Readonly counter input +

    + +
    +
    +
    + ); + } +} + +Example.displayName = 'CounterInputExample'; +export default Example; // export is replaced with `ReactDOM.render(, mountNode);` at runtime diff --git a/components/input/__examples__/counter-static-input.jsx b/components/input/__examples__/counter-static-input.jsx new file mode 100644 index 0000000000..af09a8dc60 --- /dev/null +++ b/components/input/__examples__/counter-static-input.jsx @@ -0,0 +1,36 @@ +import React from 'react'; +import IconSettings from '~/components/icon-settings'; // `~` is replaced with design-system-react at runtime +import Input from '~/components/input'; // `~` is replaced with design-system-react at runtime + +class Example extends React.Component { + constructor(props) { + super(props); + + this.state = { + counter2value: 10, + counter3value: 10, + }; + } + + render() { + return ( + +
    +

    + 1. Static counter input +

    + +
    +
    + ); + } +} + +Example.displayName = 'CounterStaticInputExample'; +export default Example; // export is replaced with `ReactDOM.render(, mountNode);` at runtime diff --git a/components/input/__examples__/default.jsx b/components/input/__examples__/default.jsx new file mode 100644 index 0000000000..df1f6976c4 --- /dev/null +++ b/components/input/__examples__/default.jsx @@ -0,0 +1,46 @@ +import React from 'react'; + +import IconSettings from '~/components/icon-settings'; +import Input from '~/components/input'; // `~` is replaced with design-system-react at runtime + +class Example extends React.Component { + static displayName = 'BaseInputExample'; + + render() { + return ( + +
    +
    +

    + Base Input with visible label +

    + +
    +
    +

    + Base Input with hidden label (assistive text) +

    + +
    +
    +

    + Base Input with Fixed Text +

    + +
    +
    +
    + ); + } +} + +export default Example; // export is replaced with `ReactDOM.render(, mountNode);` at runtime diff --git a/components/input/__examples__/error.jsx b/components/input/__examples__/error.jsx new file mode 100644 index 0000000000..f532a94262 --- /dev/null +++ b/components/input/__examples__/error.jsx @@ -0,0 +1,51 @@ +import React from 'react'; + +import IconSettings from '~/components/icon-settings'; +import Input from '~/components/input'; // `~` is replaced with design-system-react at runtime +import InputIcon from '~/components/icon/input-icon'; // `~` is replaced with design-system-react at runtime + +class Example extends React.Component { + static displayName = 'ErrorInputExample'; + + render() { + return ( + +
    +
    + +
    +
    + { + console.log('Icon Clicked'); + }} + /> + } + aria-describedby="error-5" + id="unique-id-5" + label="Input Label" + required + errorText="Error Message" + placeholder="Placeholder Text" + /> +
    +
    +
    + ); + } +} + +export default Example; // export is replaced with `ReactDOM.render(, mountNode);` at runtime diff --git a/components/input/__examples__/field-level-help.jsx b/components/input/__examples__/field-level-help.jsx new file mode 100644 index 0000000000..bb09cd9336 --- /dev/null +++ b/components/input/__examples__/field-level-help.jsx @@ -0,0 +1,39 @@ +import React from 'react'; +import PropTypes from 'prop-types'; +import IconSettings from '~/components/icon-settings'; // `~` is replaced with design-system-react at runtime +import Input from '~/components/input'; // `~` is replaced with design-system-react at runtime +import Tooltip from '~/components/tooltip'; // `~` is replaced with design-system-react at runtime + +const propTypes = { + tooltipOpen: PropTypes.bool, +}; + +class Example extends React.Component { + render() { + return ( + +
    +

    + Field Level Help +

    + + } + /> +
    +
    + ); + } +} + +Example.displayName = 'FieldLevelHelpInputExample'; +Example.propTypes = propTypes; +export default Example; // export is replaced with `ReactDOM.render(, mountNode);` at runtime diff --git a/components/input/__examples__/icons.jsx b/components/input/__examples__/icons.jsx new file mode 100644 index 0000000000..808dff4040 --- /dev/null +++ b/components/input/__examples__/icons.jsx @@ -0,0 +1,110 @@ +import React from 'react'; + +import IconSettings from '~/components/icon-settings'; +import Input from '~/components/input'; // `~` is replaced with design-system-react at runtime +import InputIcon from '~/components/icon/input-icon'; // `~` is replaced with design-system-react at runtime + +class Example extends React.Component { + static displayName = 'InputExample'; + + render() { + return ( + +
    +

    + Input with Icons +

    +
    + + } + id="unique-id-1" + label="Input Label" + placeholder="Static Icon on the left" + /> +
    +
    + { + console.log('Icon Clicked'); + }} + /> + } + iconRight={ + { + console.log('Icon Clicked'); + }} + /> + } + id="unique-id-2" + label="Input Label" + placeholder="Clickable Icons (Left and Right)" + /> +
    +
    + { + console.log('Icon Clicked'); + }} + /> + } + id="unique-id-3" + label="Input Label" + placeholder="Clickable Icon on the right" + /> +
    +
    + { + console.log('Icon Clicked'); + }} + /> + } + hasSpinner + id="unique-id-4" + label="Input Label" + placeholder="Loading Spinner Icon on the right" + /> +
    +
    +
    + ); + } +} + +export default Example; // export is replaced with `ReactDOM.render(, mountNode);` at runtime diff --git a/components/input/__examples__/inactiveInputs.jsx b/components/input/__examples__/inactiveInputs.jsx new file mode 100644 index 0000000000..f347f84096 --- /dev/null +++ b/components/input/__examples__/inactiveInputs.jsx @@ -0,0 +1,41 @@ +import React from 'react'; + +import IconSettings from '~/components/icon-settings'; +import Input from '~/components/input'; // `~` is replaced with design-system-react at runtime + +class Example extends React.Component { + static displayName = 'InactiveInputExamples'; + + render() { + return ( + +
    +
    +

    + Disabled Input +

    + +
    +
    +

    + ReadOnly Input +

    + +
    +
    +
    + ); + } +} + +export default Example; // export is replaced with `ReactDOM.render(, mountNode);` at runtime diff --git a/components/input/__examples__/inline-help.jsx b/components/input/__examples__/inline-help.jsx new file mode 100644 index 0000000000..3560f9f24a --- /dev/null +++ b/components/input/__examples__/inline-help.jsx @@ -0,0 +1,81 @@ +import React from 'react'; +import Input from '~/components/input'; // `~` is replaced with design-system-react at runtime +import IconSettings from '~/components/icon-settings'; +import InputIcon from '~/components/icon/input-icon'; + +class Example extends React.Component { + render() { + return ( + +
    +
      +
    1. +

      + 1. Inline Help +

      + +
    2. +
    3. +

      + 2. Inline Help With Left Icon +

      + } + /> +
    4. +
    5. +

      + 3. Inline Help With Right Icon +

      + } + /> +
    6. +
    7. +

      + 4. Inline Help With Error Text +

      + +
    8. +
    9. +

      + 4. Inline Help With Error Text and Icon +

      + } + /> +
    10. +
    +
    +
    + ); + } +} + +Example.displayName = 'InlineHelpInputExample'; +export default Example; // export is replaced with `ReactDOM.render(, mountNode);` at runtime diff --git a/components/input/check-props.js b/components/input/check-props.js new file mode 100644 index 0000000000..ccefbcdcef --- /dev/null +++ b/components/input/check-props.js @@ -0,0 +1,77 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = void 0; + +var _deprecatedProperty = _interopRequireDefault(require("../../utilities/warning/deprecated-property")); + +var _sunsetProperty = _interopRequireDefault(require("../../utilities/warning/sunset-property")); + +var _onlyOneOfProperties = _interopRequireDefault(require("../../utilities/warning/only-one-of-properties")); + +var _getComponentDoc = _interopRequireDefault(require("../../utilities/get-component-doc")); + +var _constants = require("../../utilities/constants"); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */ + +/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */ + +/* eslint-disable import/no-mutable-exports */ + +/* eslint-disable max-len */ +// import oneOfRequiredProperty from '../../../utilities/warning/one-of-required-property'; +var checkProps = function checkPropsFunction() {}; + +if (process.env.NODE_ENV !== 'production') { + checkProps = function checkPropsFunction(COMPONENT) { + var props = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + var jsonDoc = arguments.length > 2 ? arguments[2] : undefined; + var createDocUrl = (0, _getComponentDoc.default)(jsonDoc); + + if (COMPONENT === _constants.INPUT) { + var iconDeprecatedMessage = "Please use `iconLeft` and `iconRight` to pass in a customized component. ".concat(createDocUrl()); // Deprecated and changed to another property + + (0, _deprecatedProperty.default)(COMPONENT, props.assistiveText && props.assistiveText.fieldLevelHelpButton, 'assistiveText.fieldLevelHelpButton', undefined, "Please pass a `Tooltip` component into `fieldLevelHelpTooltip` with `assistiveText.triggerLearnMoreIcon`."); + (0, _deprecatedProperty.default)(COMPONENT, props.iconCategory, 'iconCategory', undefined, iconDeprecatedMessage); + (0, _deprecatedProperty.default)(COMPONENT, props.iconName, 'iconName', undefined, iconDeprecatedMessage); + (0, _deprecatedProperty.default)(COMPONENT, props.iconPosition, 'iconPosition', undefined, iconDeprecatedMessage); + (0, _deprecatedProperty.default)(COMPONENT, props.iconAssistiveText, 'iconAssistiveText', undefined, iconDeprecatedMessage); + (0, _deprecatedProperty.default)(COMPONENT, props.onIconClick, 'onIconClick', undefined, iconDeprecatedMessage); + + if (typeof props.assistiveText === 'string') { + (0, _sunsetProperty.default)(COMPONENT, props.assistiveText, 'assistiveText', "AssistiveText as a string has been deprecated and is now an object to allow for multiple uses in the component. Please use either assistiveText.label or assistiveText.spinner. ".concat(createDocUrl('assistiveText'))); + } + + (0, _onlyOneOfProperties.default)(COMPONENT, { + 'assistiveText.label': props.assistiveText && props.assistiveText.label, + label: props.label + }, createDocUrl('assistiveText')); + (0, _onlyOneOfProperties.default)(COMPONENT, { + fixedTextLeft: props.fixedTextLeft, + fixedTextRight: props.fixedTextRight + }, createDocUrl('assistiveText')); + /* + * Once we support horizontal labels, then I think we can enable this check + * + if (!props.inlineEditTrigger) { + oneOfRequiredProperty(COMPONENT, { + assistiveText: props.assistiveText, + label: props.label + }); + } + */ + } else if (COMPONENT === _constants.SEARCH) { + if (typeof props.assistiveText === 'string') { + (0, _sunsetProperty.default)(COMPONENT, props.assistiveText, 'assistiveText', "`assistiveText` as a string has been deprecated and is now an object to allow for multiple uses in the component. Please use `assistiveText.label` instead. ".concat(createDocUrl('assistiveText'))); + } + } + }; +} + +var _default = checkProps; +exports.default = _default; \ No newline at end of file diff --git a/components/input/component.json b/components/input/component.json new file mode 100644 index 0000000000..897bfe85e9 --- /dev/null +++ b/components/input/component.json @@ -0,0 +1,48 @@ +{ + "component": "input", + "status": "prod", + "display-name": "Inputs", + "classKey": "Input", + "last-accessibility-review": { + "date-iso-8601": "2017/09/22", + "commit-sha": "ad6b6c6523ee21cada11be5f7ea4d99abc530726" + }, + "dependencies": [ + { + "component": "search", + "classKey": "InputSearch" + } + ], + "SLDS-component-path": "/components/input", + "site-stories": [ + { + "heading": "Default", + "path": "/__examples__/default.jsx" + }, + { + "heading": "With Icons", + "path": "/__examples__/icons.jsx" + }, + { + "heading": "Error State", + "path": "/__examples__/error.jsx" + }, + { + "heading": "Disabled", + "path": "/__examples__/inactiveInputs.jsx" + }, + { + "heading": "With Inline Help", + "path": "/__examples__/inline-help.jsx" + }, + { + "heading": "With Field Level Help", + "path": "/__examples__/field-level-help.jsx" + }, + { + "heading": "Counter", + "path": "/__examples__/counter-input.jsx" + } + ], + "url-slug": "inputs" +} diff --git a/components/input/index.js b/components/input/index.js new file mode 100644 index 0000000000..464363eea8 --- /dev/null +++ b/components/input/index.js @@ -0,0 +1,674 @@ +"use strict"; + +function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = void 0; + +var _react = _interopRequireDefault(require("react")); + +var _propTypes = _interopRequireDefault(require("prop-types")); + +var _classnames = _interopRequireDefault(require("classnames")); + +var _shortid = _interopRequireDefault(require("shortid")); + +var _button = _interopRequireDefault(require("../button")); + +var _inputIcon = _interopRequireDefault(require("../icon/input-icon")); + +var _innerInput = _interopRequireDefault(require("./private/inner-input")); + +var _label = _interopRequireDefault(require("../utilities/label")); + +var _checkProps = _interopRequireDefault(require("./check-props")); + +var _constants = require("../../utilities/constants"); + +var _component = _interopRequireDefault(require("./component.json")); + +var _fieldLevelHelpTooltip = _interopRequireDefault(require("../tooltip/private/field-level-help-tooltip")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; } + +function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); } + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } + +function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); } + +function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } + +function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; } + +function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } + +function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } } + +function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var COUNTER = 'counter'; +var DECREMENT = 'Decrement'; +var INCREMENT = 'Increment'; +var defaultProps = { + assistiveText: { + decrement: "".concat(DECREMENT, " ").concat(COUNTER), + increment: "".concat(INCREMENT, " ").concat(COUNTER) + }, + type: 'text' +}; +/** + * The HTML `input` with a label and error messaging. + */ + +var Input = /*#__PURE__*/function (_React$Component) { + _inherits(Input, _React$Component); + + var _super = _createSuper(Input); + + function Input(props) { + var _this; + + _classCallCheck(this, Input); + + _this = _super.call(this, props); + + _defineProperty(_assertThisInitialized(_this), "getId", function () { + return _this.props.id || _this.generatedId; + }); + + _defineProperty(_assertThisInitialized(_this), "getErrorId", function () { + return _this.props['aria-describedby'] || _this.generatedErrorId; + }); + + _defineProperty(_assertThisInitialized(_this), "getValueAsNumber", function () { + var value = 0; + + if (_this.props.value !== undefined) { + value = Number(_this.props.value); + } else if (_this.inputRef) { + value = Number(_this.inputRef.value); + } + + return value; + }); + + _defineProperty(_assertThisInitialized(_this), "getCounterButtonIcon", function (direction) { + var value = _this.getValueAsNumber(); + + var disabled = false; + + if (_this.props.disabled || direction === INCREMENT && _this.props.maxValue !== undefined && value >= _this.props.maxValue || direction === DECREMENT && _this.props.minValue !== undefined && value <= _this.props.minValue) { + disabled = true; + } + + return /*#__PURE__*/_react.default.createElement(_button.default, { + assistiveText: { + icon: _this.props.assistiveText[direction.toLowerCase()] + }, + className: (0, _classnames.default)('slds-button_icon-small', "slds-input__button_".concat(direction.toLowerCase())), + disabled: disabled, + iconCategory: "utility", + iconName: direction === DECREMENT ? 'ban' : 'new', + onKeyDown: function onKeyDown(event) { + if (event.keyCode === 13) { + _this.performStep(direction, event); + } + }, + onKeyUp: _this.stopStepping, + onMouseDown: function onMouseDown(event) { + _this.performStep(direction, event); + }, + onMouseLeave: _this.stopStepping, + onMouseUp: _this.stopStepping, + variant: "icon" + }); + }); + + _defineProperty(_assertThisInitialized(_this), "getIconRender", function (position, iconPositionProp) { + var icon; // Remove at next breaking change + + /* eslint-disable react/prop-types */ + + var deprecatedProps = { + assistiveText: { + icon: _this.props[iconPositionProp] && _this.props[iconPositionProp].props.assistiveText || _this.props.iconAssistiveText + }, + category: _this.props[iconPositionProp] && _this.props[iconPositionProp].props.category || _this.props.iconCategory, + name: _this.props[iconPositionProp] && _this.props[iconPositionProp].props.name || _this.props.iconName, + onClick: _this.props[iconPositionProp] && _this.props[iconPositionProp].props.onClick || _this.props.onIconClick + }; + /* eslint-enable react/prop-types */ + + if (_this.props[iconPositionProp] && position && _this.props[iconPositionProp]) { + icon = /*#__PURE__*/_react.default.cloneElement(_this.props[iconPositionProp], { + iconPosition: "".concat(position) + }); + } else if (deprecatedProps.name) { + icon = /*#__PURE__*/_react.default.createElement(_inputIcon.default, _extends({ + iconPosition: position + }, deprecatedProps)); + } + + return icon; + }); + + _defineProperty(_assertThisInitialized(_this), "setInputRef", function (ref) { + _this.inputRef = ref; + + if (_this.props.inputRef) { + _this.props.inputRef(ref); + } + }); + + _defineProperty(_assertThisInitialized(_this), "handleChange", function (event) { + if (_this.props.onChange) { + var data = { + value: event.target.value + }; + + if (_this.props.variant === COUNTER) { + data.number = Number(data.value); + } + + _this.props.onChange(event, data); + } + }); + + _defineProperty(_assertThisInitialized(_this), "performStep", function (direction, event) { + clearTimeout(_this.stepping.timeout); + var maxValue = _this.props.maxValue; + var minValue = _this.props.minValue; + var step = _this.props.step !== undefined ? Number(_this.props.step) : 1; + + var value = _this.getValueAsNumber(); + + var valueChanged = false; + + if (direction === DECREMENT && maxValue !== undefined && value > maxValue) { + value = Number(maxValue); + valueChanged = true; + } else if (direction === INCREMENT && minValue !== undefined && value < minValue) { + value = Number(minValue); + valueChanged = true; + } else { + var decimalPlaces = String(step).search(/\./) >= 0 ? String(step).split('.')[1].length : 0; + var minOverflow = 0; + + if (minValue !== undefined) { + minOverflow = (value - minValue) % step; + } + + if (minOverflow > 0) { + // Default browser inputs of type number with a min attribute alter the value upon change as needed so + // that with enough decrements it can reach the exact min value. This behavior is reflected here + value = direction === DECREMENT ? value - minOverflow : value + (step - minOverflow); + } else { + value = direction === DECREMENT ? value - step : value + step; + } + + value = Number(value.toFixed(decimalPlaces)); + + if (!(maxValue !== undefined && value > maxValue) && !(minValue !== undefined && value < minValue)) { + valueChanged = true; + } + } + + if (valueChanged) { + /* + * Use of `this.forceUpdate` is an anti-pattern. This code only executes if this `input` element is uncontrolled which this library believes is an anti-pattern, also. This code is only present to allow for the edge case of uncontrolled use of an `input`. + */ + if (_this.props.value === undefined && _this.inputRef) { + _this.inputRef.value = String(value); + + _this.forceUpdate(); + } else if (_this.props.onChange) { + _this.props.onChange(event, { + number: value, + value: String(value) + }); + } + } + + if (direction === INCREMENT && maxValue !== undefined && value >= maxValue || direction === DECREMENT && minValue !== undefined && value <= minValue) { + _this.stopStepping(); + } else { + _this.stepping.timeout = setTimeout(function () { + _this.stepping.currentDelay = _this.stepping.speedDelay; + + _this.performStep(direction); + }, _this.stepping.currentDelay); + } + }); + + _defineProperty(_assertThisInitialized(_this), "stopStepping", function () { + clearTimeout(_this.stepping.timeout); + _this.stepping.currentDelay = _this.stepping.initialDelay; + }); + + _this.inputRef = null; + _this.stepping = { + currentDelay: 500, + initialDelay: 500, + speedDelay: 75, + timeout: {} + }; // `checkProps` issues warnings to developers about properties (similar to React's built in development tools) + + (0, _checkProps.default)(_constants.INPUT, props, _component.default); + _this.generatedId = _shortid.default.generate(); + + if (props.errorText) { + _this.generatedErrorId = _shortid.default.generate(); + } + + return _this; + } + + _createClass(Input, [{ + key: "render", + value: function render() { + var assistiveText = _objectSpread(_objectSpread({}, defaultProps.assistiveText), this.props.assistiveText); + + var inputRef = this.props.variant === COUNTER ? this.setInputRef : this.props.inputRef; + var iconLeft = null; + var iconRight = null; + var hasRenderedLabel = this.props.label || assistiveText && assistiveText.label; // Remove at next breaking change + // this is a hack to make left the default prop unless overwritten by `iconPosition="right"` + + if (!!this.props.iconLeft || (this.props.iconPosition === 'left' || this.props.iconPosition === undefined) && !!this.props.iconName) { + iconLeft = this.getIconRender('left', 'iconLeft'); + } else if (this.props.variant === COUNTER && !this.props.isStatic && !this.props.readOnly) { + iconLeft = this.getCounterButtonIcon(DECREMENT); + } + + if (!!this.props.iconRight || this.props.iconPosition === 'right' && !!this.props.iconName) { + iconRight = this.getIconRender('right', 'iconRight'); + } else if (this.props.variant === COUNTER && !this.props.isStatic && !this.props.readOnly) { + iconRight = this.getCounterButtonIcon(INCREMENT); + } + + return /*#__PURE__*/_react.default.createElement("div", { + className: (0, _classnames.default)('slds-form-element', { + 'slds-has-error': this.props.errorText + }, this.props.className), + style: this.props.styleContainer + }, /*#__PURE__*/_react.default.createElement(_label.default, { + assistiveText: assistiveText, + htmlFor: this.props.isStatic ? undefined : this.getId(), + label: this.props.label, + required: this.props.required, + variant: this.props.isStatic ? 'static' : 'base' + }), this.props.fieldLevelHelpTooltip && hasRenderedLabel ? /*#__PURE__*/_react.default.createElement(_fieldLevelHelpTooltip.default, { + assistiveText: { + triggerLearnMoreIcon: assistiveText.fieldLevelHelpButton + }, + fieldLevelHelpTooltip: this.props.fieldLevelHelpTooltip + }) : null, /*#__PURE__*/_react.default.createElement(_innerInput.default, { + "aria-activedescendant": this.props['aria-activedescendant'], + "aria-autocomplete": this.props['aria-autocomplete'], + "aria-controls": this.props['aria-controls'], + "aria-labelledby": this.props['aria-labelledby'], + "aria-describedby": this.getErrorId(), + "aria-expanded": this.props['aria-expanded'], + "aria-owns": this.props['aria-owns'], + "aria-required": this.props['aria-required'], + autoComplete: this.props.autoComplete, + className: (0, _classnames.default)({ + 'slds-input_counter': this.props.variant === COUNTER, + 'slds-p-horizontal_none': this.props.variant === COUNTER && this.props.readOnly + }), + containerProps: { + className: 'slds-form-element__control' + }, + defaultValue: this.props.defaultValue, + disabled: this.props.disabled, + fixedTextLeft: this.props.fixedTextLeft, + fixedTextRight: this.props.fixedTextRight, + hasSpinner: this.props.hasSpinner, + id: this.getId(), + iconLeft: iconLeft, + iconRight: iconRight, + inlineEditTrigger: this.props.inlineEditTrigger, + isStatic: this.props.isStatic, + minLength: this.props.minLength, + minValue: this.props.minValue, + maxLength: this.props.maxLength, + maxValue: this.props.maxValue, + name: this.props.name, + onBlur: this.props.onBlur, + onChange: this.handleChange, + onClick: this.props.onClick, + onFocus: this.props.onFocus, + onInput: this.props.onInput, + onInvalid: this.props.onInvalid, + onKeyDown: this.props.onKeyDown, + onKeyPress: this.props.onKeyPress, + onKeyUp: this.props.onKeyUp, + onSelect: this.props.onSelect, + onSubmit: this.props.onSubmit, + placeholder: this.props.placeholder, + inputRef: inputRef, + readOnly: this.props.readOnly, + required: this.props.required, + role: this.props.role, + assistiveText: this.props.assistiveText, + type: this.props.variant === COUNTER ? 'number' : this.props.type, + value: this.props.value, + variant: this.props.variant, + step: this.props.step, + style: this.props.styleInput + }), this.props.inlineHelpText && /*#__PURE__*/_react.default.createElement("div", { + className: "slds-form-element__help" + }, this.props.inlineHelpText), this.props.errorText && /*#__PURE__*/_react.default.createElement("div", { + id: this.getErrorId(), + className: "slds-form-element__help" + }, this.props.errorText), this.props.children); + } + }]); + + return Input; +}(_react.default.Component); + +_defineProperty(Input, "displayName", _constants.INPUT); + +_defineProperty(Input, "propTypes", { + /** + * The aria-activedescendant attribute contains the ID of the currently active child object that is part of a composite widget within the Document Object Model. It makes do with the overhead of having all or more than one child focusable. As the name specifies, it helps in managing the current active child of the composite widget. + */ + 'aria-activedescendant': _propTypes.default.string, + + /** + * Indicates if the suggestions in a composite widget are values that complete the current textbox input. + */ + 'aria-autocomplete': _propTypes.default.string, + + /** + * An HTML ID that is shared with ARIA-supported devices with the + * `aria-controls` attribute in order to relate the input with + * another region of the page. An example would be a select box + * that shows or hides a panel. + */ + 'aria-controls': _propTypes.default.string, + + /** + * The `aria-describedby` attribute is used to indicate the IDs of the elements that describe the object. It is used to establish a relationship between widgets or groups and text that described them. This is very similar to aria-labelledby: a label describes the essence of an object, while a description provides more information that the user might need. + */ + 'aria-describedby': _propTypes.default.string, + + /** + * Use the `aria-expanded` state to indicate whether regions of the content are collapsible, and to expose whether a region is currently expanded or collapsed. + */ + 'aria-expanded': _propTypes.default.bool, + + /** + * Indicates that the element has a popup context menu or sub-level menu. + */ + 'aria-haspopup': _propTypes.default.bool, + + /** + * The aria-labelledby attribute contains the element IDs of labels in objects such as input elements, widgets, and groups. The attribute establishes relationships between objects and their labels. Assistive technology, such as screen readers, use this attribute to catalog the objects in a document so that users can navigate between them. Without an element ID, the assistive technology cannot catalog the object. + */ + 'aria-labelledby': _propTypes.default.string, + + /** + * An HTML ID that is shared with ARIA-supported devices with the + * `aria-controls` attribute in order to relate the input with + * another region of the page. An example would be a search field + * that shows search results. + */ + 'aria-owns': _propTypes.default.string, + + /** + * The `aria-required` attribute is used to indicate that user input is required on an element before a form can be submitted. + */ + 'aria-required': _propTypes.default.bool, + + /** + * **Assistive text for accessibility** + * * `label`: Visually hidden label but read out loud by screen readers. + * * `spinner`: Text for loading spinner icon. + */ + assistiveText: _propTypes.default.shape({ + label: _propTypes.default.string, + spinner: _propTypes.default.string + }), + + /** + * Disabled brower's autocomplete when "off" is used. + */ + autoComplete: _propTypes.default.string, + + /** + * Elements are added after the `input`. + */ + children: _propTypes.default.node, + + /** + * Class names to be added to the outer container of the input. + */ + className: _propTypes.default.oneOfType([_propTypes.default.array, _propTypes.default.object, _propTypes.default.string]), + + /** + * This is the initial value of an uncontrolled form element and + * is present only to provide compatibility with hybrid framework + * applications that are not entirely React. It should only be used + * in an application without centralized state (Redux, Flux). + * "Controlled components" with centralized state is highly recommended. + * See [Code Overview](https://github.com/salesforce/design-system-react/blob/master/docs/codebase-overview.md#controlled-and-uncontrolled-components) for more information. + */ + defaultValue: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.string]), + + /** + * Disables the input and prevents editing the contents. + */ + disabled: _propTypes.default.bool, + + /** + * Message to display when the input is in an error state. When this is present, also visually highlights the component as in error. + */ + errorText: _propTypes.default.oneOfType([_propTypes.default.node, _propTypes.default.string]), + + /** + * A [Tooltip](https://react.lightningdesignsystem.com/components/tooltips/) component that is displayed next to the label. + */ + fieldLevelHelpTooltip: _propTypes.default.node, + + /** + * Displays text or node to the left of the input. This follows the fixed text input UX pattern. + */ + fixedTextLeft: _propTypes.default.oneOfType([_propTypes.default.node, _propTypes.default.string]), + + /** + * Displays text or node to the right of the input. This follows the fixed text input UX pattern. + */ + fixedTextRight: _propTypes.default.oneOfType([_propTypes.default.node, _propTypes.default.string]), + + /** + * If true, loading spinner appears inside input on right hand side. + */ + hasSpinner: _propTypes.default.bool, + + /** + * Left aligned icon, must be instace of `design-system-react/components/icon/input-icon` + */ + iconLeft: _propTypes.default.node, + + /** + * Right aligned icon, must be instace of `design-system-react/components/icon/input-icon` + */ + iconRight: _propTypes.default.node, + + /** + * Every input must have a unique ID in order to support keyboard navigation and ARIA support. + */ + id: _propTypes.default.string, + + /** + * Displays help text under the input. + */ + inlineHelpText: _propTypes.default.oneOfType([_propTypes.default.node, _propTypes.default.string]), + + /** + * This callback exposes the input reference / DOM node to parent components. ` this.input = inputComponent} /> + */ + inputRef: _propTypes.default.func, + + /** + * Displays the value of the input statically. This follows the static input UX pattern. + */ + isStatic: _propTypes.default.bool, + + /** + * This label appears above the input. + */ + label: _propTypes.default.string, + + /** + * Triggered when focus is removed. + */ + onBlur: _propTypes.default.func, + + /** + * This callback fires when the input changes. Passes in `event, { value }`. + */ + onChange: _propTypes.default.func, + + /** + * This event fires when the input is clicked. + */ + onClick: _propTypes.default.func, + + /** + * Triggered when component is focused. + */ + onFocus: _propTypes.default.func, + + /** + * Similar to `onchange`. Triggered when an element gets user input. + */ + onInput: _propTypes.default.func, + + /** + * Triggered when a submittable `` element is invalid. + */ + onInvalid: _propTypes.default.func, + + /** + * Triggered when a key is pressed down + */ + onKeyDown: _propTypes.default.func, + + /** + * Triggered when a key is pressed and released + */ + onKeyPress: _propTypes.default.func, + + /** + * Triggered when a key is released + */ + onKeyUp: _propTypes.default.func, + + /** + * Triggered after some text has been selected in an element. + */ + onSelect: _propTypes.default.func, + + /** + * Fires when a form is submitted. + */ + onSubmit: _propTypes.default.func, + + /** + * Text that will appear in an empty input. + */ + placeholder: _propTypes.default.string, + + /** + * Sets the minimum number of characters that an `` can accept. + */ + minLength: _propTypes.default.string, + + /** + * Specifies minimum accepted value for a counter input + */ + minValue: _propTypes.default.number, + + /** + * Sets the maximum number of characters that an `` can accept. + */ + maxLength: _propTypes.default.string, + + /** + * Specifies maximum accepted value for a counter input + */ + maxValue: _propTypes.default.number, + + /** + * Name of the submitted form parameter. + */ + name: _propTypes.default.string, + + /** + * Displays the value of the input as read-only. This is used in the inline edit UX pattern. + */ + readOnly: _propTypes.default.bool, + + /** + * Highlights the input as a required field (does not perform any validation). + */ + required: _propTypes.default.bool, + + /** + * ARIA role + */ + role: _propTypes.default.string, + + /** + * Determines the step size upon increment or decrement. Can be set to decimal values. + */ + step: _propTypes.default.number, + + /** + * styles to be added to input + */ + styleInput: _propTypes.default.object, + + /** + * Custom styles to be passed to the component container + */ + styleContainer: _propTypes.default.object, + + /** + * The `` element includes support for all HTML5 types. + */ + type: _propTypes.default.oneOf(['text', 'password', 'datetime', 'datetime-local', 'date', 'month', 'time', 'week', 'number', 'email', 'url', 'search', 'tel', 'color']), + + /** + * The input is a controlled component, and will always display this value. + */ + value: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.string]), + + /** + * Which UX pattern of input? The default is `base` while other option is `counter` + */ + variant: _propTypes.default.oneOf(['base', COUNTER]) +}); + +_defineProperty(Input, "defaultProps", defaultProps); + +var _default = Input; +exports.default = _default; \ No newline at end of file diff --git a/components/input/private/inner-input.d.ts b/components/input/private/inner-input.d.ts new file mode 100644 index 0000000000..771cd7a18e --- /dev/null +++ b/components/input/private/inner-input.d.ts @@ -0,0 +1,190 @@ +declare module '@salesforce/design-system-react/components/input/private/inner-input' { + import React from 'react'; + type Props = { + 'aria-activedescendant'?: string; + 'aria-autocomplete'?: string; + /** + * An HTML ID that is shared with ARIA-supported devices with the + * `aria-controls` attribute in order to relate the input with + * another region of the page. An example would be a select box + * that shows or hides a panel. + */ + 'aria-controls'?: string; + 'aria-describedby'?: string; + 'aria-expanded'?: boolean; + 'aria-haspopup'?: boolean | string; + 'aria-labelledby'?: string; + /** + * An HTML ID that is shared with ARIA-supported devices with the + * `aria-controls` attribute in order to relate the input with + * another region of the page. An example would be a search field + * that shows search results. + */ + 'aria-owns'?: string; + 'aria-required'?: boolean; + /** + * **Assistive text for accessibility.** + * This object is merged with the default props object on every render. + * * `spinner`: Assistive text on the spinner. + */ + assistiveText?: Partial<{ + spinner?: string; + }>; + /** + * Disabled brower's autocomplete when "off" is used. + */ + autoComplete?: string; + /** + * Class names to be added to the `input` element. + */ + className?: any[] | Record | string; + /** + * Class names to be added to the outer container `div` of the input. + */ + containerClassName?: any[] | Record | string; + /** + * Props to be added to the outer container `div` of the input (excluding `containerClassName`). + */ + containerProps?: Record; + /** + * Disables the input and prevents editing the contents. + */ + disabled?: boolean; + /** + * Displays text or node to the left of the input. This follows the fixed text input UX pattern. + */ + fixedTextLeft?: React.ReactNode | string; + /** + * Displays text or node to the right of the input. This follows the fixed text input UX pattern. + */ + fixedTextRight?: React.ReactNode | string; + /** + * If true, loading spinner appears inside input on right hand side. + */ + hasSpinner?: boolean; + /** + * Left aligned icon, must be instance of `design-system-react/components/icon/input-icon` + */ + iconLeft?: React.ReactNode; + /** + * Right aligned icon, must be instance of `design-system-react/components/icon/input-icon` + */ + iconRight?: React.ReactNode; + /** + * Every input must have a unique ID in order to support keyboard navigation and ARIA support. + */ + id: string /*.isRequired*/; + /** + * Displays help text under the input. + */ + inlineHelpText?: React.ReactNode | string; + /** + * This callback exposes the input reference / DOM node to parent components. ` this.input = inputComponent} /> + */ + inputRef?: (v: any) => any; + /** + * Displays the value of the input statically. This follows the static input UX pattern. + */ + isStatic?: boolean; + /** + * This label appears above the input. + */ + label?: string; + onBlur?: (v: any) => any; + /** + * This callback fires when the input changes. The synthetic React event will be the first parameter to the callback. You will probably want to reference `event.target.value` in your callback. No custom data object is provided. + */ + onChange?: (v: any) => any; + /** + * This event fires when the input is clicked. + */ + onClick?: (v: any) => any; + onFocus?: (v: any) => any; + onInput?: (v: any) => any; + onInvalid?: (v: any) => any; + onKeyDown?: (v: any) => any; + onKeyPress?: (v: any) => any; + onKeyUp?: (v: any) => any; + onSelect?: (v: any) => any; + onSubmit?: (v: any) => any; + /** + * Text that will appear in an empty input. + */ + placeholder?: string; + minLength?: string; + /** + * Specifies minimum accepted value for an input of type "number" + */ + minValue?: number; + maxLength?: string; + /** + * Specifies maximum accepted value for an input of type "number" + */ + maxValue?: number; + /** + * Name of the submitted form parameter. + */ + name?: string; + /** + * Specifies `readOnly` for `input` node. + */ + readOnly?: boolean; + /** + * Highlights the input as a required field (does not perform any validation). + */ + required?: boolean; + /** + * `role` to be added to `input` node + */ + role?: string; + /** + * Determines the step size upon increment or decrement. Can be set to decimal values. + */ + step?: number; + /** + * Style object to be added to `input` node + */ + style?: Record; + /** + * Specifies `tabIndex` for `input` node + */ + tabIndex?: string; + /** + * The `` element includes support for all HTML5 types. + */ + type?: + | 'text' + | 'password' + | 'datetime' + | 'datetime-local' + | 'date' + | 'month' + | 'time' + | 'week' + | 'number' + | 'email' + | 'url' + | 'search' + | 'tel' + | 'color'; + /** + * The input is a controlled component, and will always display this value. + */ + value?: number | string; + /** + * Which UX pattern of input? The default is `base` while other option is `counter` + */ + variant?: 'base' | COUNTER; + /** + * This is the initial value of an uncontrolled form element and is present only to provide + * compatibility with hybrid framework applications that are not entirely React. It should only + * be used in an application without centralized state (Redux, Flux). "Controlled components" + * with centralized state is highly recommended. + * See [Code Overview](https://github.com/salesforce/design-system-react/blob/master/docs/codebase-overview.md#controlled-and-uncontrolled-components) for more information. + */ + defaultValue?: number | string; + }; + + function Component(props: Props): React.ReactNode; + export default Component; +} diff --git a/components/input/private/inner-input.js b/components/input/private/inner-input.js new file mode 100644 index 0000000000..9519084b0d --- /dev/null +++ b/components/input/private/inner-input.js @@ -0,0 +1,323 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = void 0; + +var _react = _interopRequireDefault(require("react")); + +var _propTypes = _interopRequireDefault(require("prop-types")); + +var _classnames = _interopRequireDefault(require("classnames")); + +var _spinner = _interopRequireDefault(require("../../../components/spinner")); + +var _getAriaProps = _interopRequireDefault(require("../../../utilities/get-aria-props")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); } + +function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; } + +function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; } + +var COUNTER = 'counter'; +var propTypes = { + 'aria-activedescendant': _propTypes.default.string, + 'aria-autocomplete': _propTypes.default.string, + + /** + * An HTML ID that is shared with ARIA-supported devices with the + * `aria-controls` attribute in order to relate the input with + * another region of the page. An example would be a select box + * that shows or hides a panel. + */ + 'aria-controls': _propTypes.default.string, + 'aria-describedby': _propTypes.default.string, + 'aria-expanded': _propTypes.default.bool, + 'aria-haspopup': _propTypes.default.oneOfType([_propTypes.default.bool, _propTypes.default.string]), + 'aria-labelledby': _propTypes.default.string, + + /** + * An HTML ID that is shared with ARIA-supported devices with the + * `aria-controls` attribute in order to relate the input with + * another region of the page. An example would be a search field + * that shows search results. + */ + 'aria-owns': _propTypes.default.string, + 'aria-required': _propTypes.default.bool, + + /** + * **Assistive text for accessibility.** + * This object is merged with the default props object on every render. + * * `spinner`: Assistive text on the spinner. + */ + assistiveText: _propTypes.default.shape({ + spinner: _propTypes.default.string + }), + + /** + * Disabled brower's autocomplete when "off" is used. + */ + autoComplete: _propTypes.default.string, + + /** + * Class names to be added to the `input` element. + */ + className: _propTypes.default.oneOfType([_propTypes.default.array, _propTypes.default.object, _propTypes.default.string]), + + /** + * Class names to be added to the outer container `div` of the input. + */ + containerClassName: _propTypes.default.oneOfType([_propTypes.default.array, _propTypes.default.object, _propTypes.default.string]), + + /** + * Props to be added to the outer container `div` of the input (excluding `containerClassName`). + */ + containerProps: _propTypes.default.object, + + /** + * Disables the input and prevents editing the contents. + */ + disabled: _propTypes.default.bool, + + /** + * Displays text or node to the left of the input. This follows the fixed text input UX pattern. + */ + fixedTextLeft: _propTypes.default.oneOfType([_propTypes.default.node, _propTypes.default.string]), + + /** + * Displays text or node to the right of the input. This follows the fixed text input UX pattern. + */ + fixedTextRight: _propTypes.default.oneOfType([_propTypes.default.node, _propTypes.default.string]), + + /** + * If true, loading spinner appears inside input on right hand side. + */ + hasSpinner: _propTypes.default.bool, + + /** + * Left aligned icon, must be instance of `design-system-react/components/icon/input-icon` + */ + iconLeft: _propTypes.default.node, + + /** + * Right aligned icon, must be instance of `design-system-react/components/icon/input-icon` + */ + iconRight: _propTypes.default.node, + + /** + * Every input must have a unique ID in order to support keyboard navigation and ARIA support. + */ + id: _propTypes.default.string.isRequired, + + /** + * This callback exposes the input reference / DOM node to parent components. ` this.input = inputComponent} /> + */ + inputRef: _propTypes.default.func, + + /** + * Displays the value of the input statically. This follows the static input UX pattern. + */ + isStatic: _propTypes.default.bool, + + /** + * This label appears above the input. + */ + label: _propTypes.default.string, + onBlur: _propTypes.default.func, + + /** + * This callback fires when the input changes. The synthetic React event will be the first parameter to the callback. You will probably want to reference `event.target.value` in your callback. No custom data object is provided. + */ + onChange: _propTypes.default.func, + + /** + * This event fires when the input is clicked. + */ + onClick: _propTypes.default.func, + onFocus: _propTypes.default.func, + onInput: _propTypes.default.func, + onInvalid: _propTypes.default.func, + onKeyDown: _propTypes.default.func, + onKeyPress: _propTypes.default.func, + onKeyUp: _propTypes.default.func, + onSelect: _propTypes.default.func, + onSubmit: _propTypes.default.func, + + /** + * Text that will appear in an empty input. + */ + placeholder: _propTypes.default.string, + minLength: _propTypes.default.string, + + /** + * Specifies minimum accepted value for an input of type "number" + */ + minValue: _propTypes.default.number, + maxLength: _propTypes.default.string, + + /** + * Specifies maximum accepted value for an input of type "number" + */ + maxValue: _propTypes.default.number, + + /** + * Name of the submitted form parameter. + */ + name: _propTypes.default.string, + + /** + * Specifies `readOnly` for `input` node. + */ + readOnly: _propTypes.default.bool, + + /** + * Highlights the input as a required field (does not perform any validation). + */ + required: _propTypes.default.bool, + + /** + * `role` to be added to `input` node + */ + role: _propTypes.default.string, + + /** + * Determines the step size upon increment or decrement. Can be set to decimal values. + */ + step: _propTypes.default.number, + + /** + * Style object to be added to `input` node + */ + style: _propTypes.default.object, + + /** + * Specifies `tabIndex` for `input` node + */ + tabIndex: _propTypes.default.string, + + /** + * The `` element includes support for all HTML5 types. + */ + type: _propTypes.default.oneOf(['text', 'password', 'datetime', 'datetime-local', 'date', 'month', 'time', 'week', 'number', 'email', 'url', 'search', 'tel', 'color']), + + /** + * The input is a controlled component, and will always display this value. + */ + value: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.string]), + + /** + * Which UX pattern of input? The default is `base` while other option is `counter` + */ + variant: _propTypes.default.oneOf(['base', COUNTER]), + + /** + * This is the initial value of an uncontrolled form element and is present only to provide + * compatibility with hybrid framework applications that are not entirely React. It should only + * be used in an application without centralized state (Redux, Flux). "Controlled components" + * with centralized state is highly recommended. + * See [Code Overview](https://github.com/salesforce/design-system-react/blob/master/docs/codebase-overview.md#controlled-and-uncontrolled-components) for more information. + */ + defaultValue: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.string]) +}; +var defaultProps = { + assistiveText: { + spinner: 'Loading ...' + }, + type: 'text' +}; +/* + * This component was created to allow the DIV wrapped input to be used within other components such as combobox. This components API is not public. + */ + +var InnerInput = function InnerInput(props) { + var ariaProps = (0, _getAriaProps.default)(props); + ariaProps['aria-describedby'] = props.hasSpinner ? "loading-status-icon ".concat(props['aria-describedby']) : props['aria-describedby']; + + var _props$containerProps = props.containerProps, + containerClassName = _props$containerProps.className, + containerProps = _objectWithoutProperties(_props$containerProps, ["className"]); + + var assistiveText = _objectSpread(_objectSpread({}, defaultProps.assistiveText), props.assistiveText); + + return /*#__PURE__*/_react.default.createElement("div", _extends({ + className: (0, _classnames.default)(containerClassName, { + 'slds-input-has-icon': props.variant !== COUNTER && (props.iconLeft || props.iconRight), + 'slds-input-has-icon_left': props.iconLeft && !props.iconRight, + 'slds-input-has-icon_right': !props.iconLeft && props.iconRight, + 'slds-input-has-icon_left-right': props.variant !== COUNTER && props.iconLeft && props.iconRight, + 'slds-input-has-fixed-addon': props.fixedTextLeft || props.fixedTextRight, + 'slds-has-divider_bottom': props.isStatic + }) + }, containerProps), props.iconLeft && props.iconLeft, props.fixedTextLeft && /*#__PURE__*/_react.default.createElement("span", { + className: "slds-form-element__addon" + }, props.fixedTextLeft), !props.isStatic && /*#__PURE__*/_react.default.createElement("input", _extends({ + autoComplete: props.autoComplete, + className: (0, _classnames.default)('slds-input', { + 'slds-text-align_left': props.variant === COUNTER && props.readOnly + }, props.className), + disabled: props.disabled, + id: props.id, + min: props.minValue, + minLength: props.minLength, + max: props.maxValue, + maxLength: props.maxLength, + name: props.name, + onBlur: props.onBlur, + onChange: props.onChange, + onClick: props.onClick, + onFocus: props.onFocus, + onInput: props.onInput, + onInvalid: props.onInvalid, + onKeyDown: props.onKeyDown, + onKeyPress: props.onKeyPress, + onKeyUp: props.onKeyUp, + onSelect: props.onSelect, + onSubmit: props.onSubmit, + placeholder: props.placeholder, + readOnly: props.readOnly, + ref: props.inputRef, + required: props.required, + role: props.role, + step: props.step, + style: props.style, + tabIndex: props.tabIndex, + type: props.type + }, ariaProps, props.value !== undefined ? { + value: props.value + } : { + defaultValue: props.defaultValue + })), props.hasSpinner ? /*#__PURE__*/_react.default.createElement("div", { + className: "slds-input__icon-group slds-input__icon-group_right" + }, /*#__PURE__*/_react.default.createElement(_spinner.default, { + assistiveText: { + label: assistiveText.spinner + }, + id: "loading-status-icon", + isInput: true, + size: "x-small", + variant: "brand" + }), props.iconRight && props.iconRight) : props.iconRight && props.iconRight, props.fixedTextRight && /*#__PURE__*/_react.default.createElement("span", { + className: "slds-form-element__addon" + }, props.fixedTextRight), props.isStatic && /*#__PURE__*/_react.default.createElement("span", { + className: (0, _classnames.default)('slds-form-element__static', 'slds-grid', { + 'slds-grid_align-spread': props.variant !== COUNTER + }), + onClick: props.onClick + }, props.value, props.inlineEditTrigger)); +}; + +InnerInput.displayName = 'SLDSInnerInput'; +InnerInput.propTypes = propTypes; +InnerInput.defaultProps = defaultProps; +var _default = InnerInput; +exports.default = _default; \ No newline at end of file diff --git a/components/input/search.d.ts b/components/input/search.d.ts new file mode 100644 index 0000000000..a42f5706ac --- /dev/null +++ b/components/input/search.d.ts @@ -0,0 +1,32 @@ +declare module '@salesforce/design-system-react/components/input/search' { + import React from 'react'; + type Props = { + /** + * **Assistive text for accessibility.** + * This object is merged with the default props object on every render. + * * `label`: Assistive text to search input + */ + assistiveText?: Partial<{ + label?: string; + }>; + /** + * Adds a clear button to right side of the input + */ + clearable?: boolean; + /** + * Triggers when the clear button is clicked + */ + onClear?: (v: any) => any; + /** + * This event fires when enter is pressed in the `input` or the search button is clicked. + */ + onSearch?: (v: any) => any; + /** + * Placeholder for the input + */ + placeholder?: string; + }; + + function Component(props: Props): React.ReactNode; + export default Component; +} diff --git a/components/input/search.js b/components/input/search.js new file mode 100644 index 0000000000..d82569f244 --- /dev/null +++ b/components/input/search.js @@ -0,0 +1,124 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = void 0; + +var _react = _interopRequireDefault(require("react")); + +var _propTypes = _interopRequireDefault(require("prop-types")); + +var _index = _interopRequireDefault(require("./index")); + +var _inputIcon = _interopRequireDefault(require("../icon/input-icon")); + +var _checkProps = _interopRequireDefault(require("./check-props")); + +var _component = _interopRequireDefault(require("./component.json")); + +var _keyCode = _interopRequireDefault(require("../../utilities/key-code")); + +var _event = _interopRequireDefault(require("../../utilities/event")); + +var _constants = require("../../utilities/constants"); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); } + +function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; } + +function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; } + +var handleKeyDown = function handleKeyDown(event, onSearch) { + if (event.keyCode === _keyCode.default.ENTER) { + _event.default.trapImmediate(event); + + onSearch(event); + } +}; + +var defaultProps = { + assistiveText: {} +}; +/** + * A `Search` is an `Input` which renders the search icon by default. It can be cleared, too. All `Input` props not specified as props already may be used with this component and will override defaults. + */ + +var Search = function Search(_ref) { + var clearable = _ref.clearable, + onClear = _ref.onClear, + onSearch = _ref.onSearch, + placeholder = _ref.placeholder, + props = _objectWithoutProperties(_ref, ["clearable", "onClear", "onSearch", "placeholder"]); + + (0, _checkProps.default)(_constants.SEARCH, props, _component.default); + var assistiveText = typeof props.assistiveText === 'string' ? props.assistiveText : _objectSpread(_objectSpread({}, defaultProps.assistiveText), props.assistiveText).label; + return /*#__PURE__*/_react.default.createElement(_index.default, _extends({ + assistiveText: { + label: assistiveText + }, + iconLeft: /*#__PURE__*/_react.default.createElement(_inputIcon.default, { + assistiveText: { + icon: 'Search' + }, + category: "utility", + name: "search", + onClick: onSearch + }), + iconRight: clearable ? /*#__PURE__*/_react.default.createElement(_inputIcon.default, { + assistiveText: { + icon: 'Clear' + }, + category: "utility", + name: "clear", + onClick: onClear + }) : null, + onKeyDown: onSearch ? function (event) { + return handleKeyDown(event, onSearch); + } : null, + placeholder: placeholder + }, props)); +}; + +Search.displayName = _constants.SEARCH; +Search.propTypes = { + /** + * **Assistive text for accessibility.** + * This object is merged with the default props object on every render. + * * `label`: Assistive text to search input + */ + assistiveText: _propTypes.default.shape({ + label: _propTypes.default.string + }), + + /** + * Adds a clear button to right side of the input + */ + clearable: _propTypes.default.bool, + + /** + * Triggers when the clear button is clicked + */ + onClear: _propTypes.default.func, + + /** + * This event fires when enter is pressed in the `input` or the search button is clicked. + */ + onSearch: _propTypes.default.func, + + /** + * Placeholder for the input + */ + placeholder: _propTypes.default.string +}; +Search.defaultProps = defaultProps; +var _default = Search; +exports.default = _default; \ No newline at end of file diff --git a/components/location-map.d.ts b/components/location-map.d.ts new file mode 100644 index 0000000000..903d084f83 --- /dev/null +++ b/components/location-map.d.ts @@ -0,0 +1,71 @@ +declare module '@salesforce/design-system-react/components/location-map' { + import React from 'react'; + type Props = { + /** + * CSS class names to be added with `slds-map` class. `array`, `object`, or `string` are accepted. + */ + className?: any[] | Record | string; + /** + * CSS class names to be added to the container element. `array`, `object`, or `string` are accepted. + */ + classNameContainer?: any[] | Record | string; + /** + * Accepts location object that will be shown if no location has been selected. Required + * * `id` : A unique identifier string for the location + * * `name` : Name of the location + * * `address` : Address of the location + */ + defaultLocation?: Partial<{ + id: string /*.isRequired*/; + name: string /*.isRequired*/; + address: string /*.isRequired*/; + }> /*.isRequired*/; + /** + * HTML id for component. + */ + id?: string; + /** + * Labels + * * `title` - Title for the LocationMap component. + */ + labels?: Partial<{ + title?: string; + }>; + /** + * Array of locations objects for the LocationMap component.** + * Each location object can contain: + * * `id` : A unique identifier string for the location + * * `name` : Name of the location + * * `address` : Address of the location + */ + locations?: Partial<{ + id: string /*.isRequired*/; + name: string /*.isRequired*/; + address: string /*.isRequired*/; + }>[] /*.isRequired*/; + /** + * Callback function triggered when a location is selected + */ + onClickLocation?: (v: any) => any; + /** + * Accepts a Google Map API Key that will be used for showing the map + */ + googleAPIKey: string /*.isRequired*/; + /** + * Accepts location object that will be shown when selected + * * `id` : A unique identifier string for the location + * * `name` : Name of the location + * * `address` : Address of the location + */ + selection?: Partial<{ + id: string /*.isRequired*/; + name: string /*.isRequired*/; + address: string /*.isRequired*/; + }>; + }; + /** + * A location map component is used to find and show locations + */ + function Component(props: Props): React.ReactElement; + export default Component; +} diff --git a/components/location-map/__docs__/storybook-stories.jsx b/components/location-map/__docs__/storybook-stories.jsx new file mode 100644 index 0000000000..73e9a354da --- /dev/null +++ b/components/location-map/__docs__/storybook-stories.jsx @@ -0,0 +1,27 @@ +import React from 'react'; +import { action } from '@storybook/addon-actions'; +import { storiesOf } from '@storybook/react'; + +import { LOCATION_MAP } from '../../../utilities/constants'; +import MultiLocations from '../../location-map/__examples__/multiple-locations'; +import SingleLocation from '../../location-map/__examples__/single-location'; + +storiesOf(LOCATION_MAP, module) + .addDecorator((getStory) => ( +
    {getStory()}
    + )) + .add('Multi Locations', () => ) + .add('Multi Locations pre-selected', () => ( + + )) + .add('Multi locations inside Modal', () => ( + + )) + .add('Single location inside Modal', () => ); diff --git a/components/location-map/__examples__/multiple-locations.jsx b/components/location-map/__examples__/multiple-locations.jsx new file mode 100644 index 0000000000..a516f0cc3c --- /dev/null +++ b/components/location-map/__examples__/multiple-locations.jsx @@ -0,0 +1,114 @@ +import React from 'react'; + +import IconSettings from '~/components/icon-settings'; +import LocationMap from '~/components/location-map'; +import Button from '~/components/button'; +import Modal from '~/components/modal'; + +import log from '~/utilities/log'; + +const locations = [ + { + id: '1', + name: 'Worldwide Corporate Headquarters', + address: 'The Landmark @ One Market, San Francisco, CA', + }, + { + id: '2', + name: 'salesforce.com inc Atlanta', + address: '950 East Paces Ferry Road NE, Atlanta, GA', + }, + { + id: '3', + name: 'salesforce.com inc Bellevue', + address: '929 108th Ave NE, Bellevue, WA', + }, + { + id: '4', + name: 'salesforce.com inc Boston', + address: '500 Boylston Street 19th Floor, Boston, MA', + }, + { + id: '5', + name: 'salesforce.com inc Chicago', + address: '111 West Illinois Street, Chicago, IL', + }, + { + id: '6', + name: 'salesforce.com inc Herndon', + address: '2550 Wasser Terrace, Herndon, VA', + }, + { + id: '7', + name: 'salesforce.com inc Hillsboro', + address: '2035 NE Cornelius Pass Road, Hillsboro, OR', + }, + { + id: '8', + name: 'salesforce.com inc Indy', + address: '111 Monument Circle, Indianapolis, IN', + }, + { + id: '9', + name: 'salesforce.com inc Irvine', + address: '300 Spectrum Center Drive, Irvine, CA', + }, +]; + +class Example extends React.Component { + static displayName = 'LocationMapExampleMultipleLocations'; + + constructor(props) { + super(props); + this.state = { + selection: this.props.selection || undefined, + }; + } + + render() { + const locationMap = ( + { + log({ + action: this.props.action, + event, + eventName: 'Location is selected', + data, + }); + this.setState({ selection: data }); + }} + selection={this.state.selection} + /> + ); + + return ( + + {this.props.isModal ? ( + + } + > + {locationMap} + + ) : ( + {locationMap} + )} + + ); + } +} + +export default Example; diff --git a/components/location-map/__examples__/single-location.jsx b/components/location-map/__examples__/single-location.jsx new file mode 100644 index 0000000000..3ef449edbe --- /dev/null +++ b/components/location-map/__examples__/single-location.jsx @@ -0,0 +1,49 @@ +import React from 'react'; + +import IconSettings from '~/components/icon-settings'; +import LocationMap from '~/components/location-map'; +import Button from '~/components/button'; +import Modal from '~/components/modal'; + +const locations = [ + { + id: '1', + name: 'Worldwide Corporate Headquarters', + address: 'The Landmark @ One Market, San Francisco, CA', + }, +]; + +class Example extends React.Component { + static displayName = 'MapExampleSingleLocation'; + + render() { + return ( + + + } + > + + + + ); + } +} + +export default Example; diff --git a/components/location-map/component.json b/components/location-map/component.json new file mode 100644 index 0000000000..9bbd7926fb --- /dev/null +++ b/components/location-map/component.json @@ -0,0 +1,14 @@ +{ + "component": "location-map", + "status": "prod", + "display-name": "Location Map", + "classKey": "LocationMap", + "SLDS-component-path": "/components/location-map", + "site-stories": [ + { + "heading": "Multiple Locations", + "path": "/__examples__/multiple-locations.jsx" + } + ], + "url-slug": "location-map" +} diff --git a/components/location-map/index.js b/components/location-map/index.js new file mode 100644 index 0000000000..0b1291da10 --- /dev/null +++ b/components/location-map/index.js @@ -0,0 +1,239 @@ +"use strict"; + +function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = void 0; + +var _react = _interopRequireDefault(require("react")); + +var _propTypes = _interopRequireDefault(require("prop-types")); + +var _classnames = _interopRequireDefault(require("classnames")); + +var _shortid = _interopRequireDefault(require("shortid")); + +var _icon = _interopRequireDefault(require("../icon")); + +var _constants = require("../../utilities/constants"); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; } + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } + +function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); } + +function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } + +function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; } + +function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } + +function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } } + +function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var displayName = _constants.LOCATION_MAP; +var propTypes = { + /** + * CSS class names to be added with `slds-map` class. `array`, `object`, or `string` are accepted. + */ + className: _propTypes.default.oneOfType([_propTypes.default.array, _propTypes.default.object, _propTypes.default.string]), + + /** + * CSS class names to be added to the container element. `array`, `object`, or `string` are accepted. + */ + classNameContainer: _propTypes.default.oneOfType([_propTypes.default.array, _propTypes.default.object, _propTypes.default.string]), + + /** + * Accepts location object that will be shown if no location has been selected. Required + * * `id` : A unique identifier string for the location + * * `name` : Name of the location + * * `address` : Address of the location + */ + defaultLocation: _propTypes.default.shape({ + id: _propTypes.default.string.isRequired, + name: _propTypes.default.string.isRequired, + address: _propTypes.default.string.isRequired + }).isRequired, + + /** + * HTML id for component. + */ + id: _propTypes.default.string, + + /** + * Labels + * * `title` - Title for the LocationMap component. + */ + labels: _propTypes.default.shape({ + title: _propTypes.default.string + }), + + /** + * Array of locations objects for the LocationMap component.** + * Each location object can contain: + * * `id` : A unique identifier string for the location + * * `name` : Name of the location + * * `address` : Address of the location + */ + locations: _propTypes.default.arrayOf(_propTypes.default.shape({ + id: _propTypes.default.string.isRequired, + name: _propTypes.default.string.isRequired, + address: _propTypes.default.string.isRequired + })).isRequired, + + /** + * Callback function triggered when a location is selected + */ + onClickLocation: _propTypes.default.func, + + /** + * Accepts a Google Map API Key that will be used for showing the map + */ + googleAPIKey: _propTypes.default.string.isRequired, + + /** + * Accepts location object that will be shown when selected + * * `id` : A unique identifier string for the location + * * `name` : Name of the location + * * `address` : Address of the location + */ + selection: _propTypes.default.shape({ + id: _propTypes.default.string.isRequired, + name: _propTypes.default.string.isRequired, + address: _propTypes.default.string.isRequired + }) +}; +var defaultProps = { + labels: { + title: 'Interactive Map' + } +}; +/** + * A location map component is used to find and show locations + */ + +var LocationMap = /*#__PURE__*/function (_React$Component) { + _inherits(LocationMap, _React$Component); + + var _super = _createSuper(LocationMap); + + function LocationMap(props) { + var _this; + + _classCallCheck(this, LocationMap); + + _this = _super.call(this, props); + + _defineProperty(_assertThisInitialized(_this), "handleClick", function (event, i) { + if (typeof _this.props.onClickLocation === 'function') _this.props.onClickLocation(event, _this.props.locations[i]); + + if (_this.map) { + _this.map.focus(); + } + }); + + _this.generatedId = _shortid.default.generate(); + return _this; + } + /** + * Get the LocationMap's HTML id. Generate a new one if no ID present. + */ + + + _createClass(LocationMap, [{ + key: "getId", + value: function getId() { + return this.props.id || this.generatedId; + } + /** + * Handles clicking of a location + */ + + }, { + key: "render", + value: function render() { + var _this2 = this; + + var labels = _objectSpread(_objectSpread({}, defaultProps.labels), this.props.labels); + + return /*#__PURE__*/_react.default.createElement("div", { + id: this.getId(), + className: (0, _classnames.default)("slds-grid", { + 'slds-has-coordinates': this.props.locations + }, this.props.classNameContainer) + }, /*#__PURE__*/_react.default.createElement("div", { + className: "slds-map_container", + style: { + padding: '4px' + } + }, /*#__PURE__*/_react.default.createElement("div", { + className: (0, _classnames.default)("slds-map", this.props.className), + ref: function ref(map) { + _this2.map = map; + }, + tabIndex: 0 // eslint-disable-line jsx-a11y/no-noninteractive-tabindex + , + title: labels.title + }, /*#__PURE__*/_react.default.createElement("iframe", { + id: "".concat(this.getId(), "-google-map"), + src: "https://www.google.com/maps/embed/v1/place?key=".concat(this.props.googleAPIKey, "&q=").concat(encodeURIComponent(this.props.selection ? this.props.selection.address : this.props.defaultLocation.address)), + title: labels.title + }))), this.props.locations.length > 1 ? /*#__PURE__*/_react.default.createElement("div", { + className: "slds-coordinates" + }, /*#__PURE__*/_react.default.createElement("div", { + className: "slds-coordinates__header" + }, /*#__PURE__*/_react.default.createElement("h2", { + className: "slds-coordinates__title" + }, "".concat(labels.title, " (").concat(this.props.locations.length, ")"))), /*#__PURE__*/_react.default.createElement("ul", { + className: "slds-coordinates__list" + }, this.props.locations.map(function (location, i) { + return /*#__PURE__*/_react.default.createElement("li", { + key: location.id, + className: "slds-coordinates__item" + }, /*#__PURE__*/_react.default.createElement("span", { + className: "slds-assistive-text", + "aria-live": "polite" + }, "".concat(location.name, " is currently selected")), /*#__PURE__*/_react.default.createElement("button", { + type: "button", + onClick: function onClick(event) { + return _this2.handleClick(event, i); + }, + className: "slds-coordinates__item-action slds-button_reset slds-media", + "aria-pressed": _this2.props.selection && _this2.props.selection.id === location.id + }, /*#__PURE__*/_react.default.createElement("span", { + className: "slds-media__figure" + }, /*#__PURE__*/_react.default.createElement(_icon.default, { + category: "standard", + name: "account" + })), /*#__PURE__*/_react.default.createElement("span", { + className: "slds-media__body" + }, /*#__PURE__*/_react.default.createElement("span", { + className: "slds-text-link" + }, location.name), /*#__PURE__*/_react.default.createElement("span", null, location.address)))); + }))) : null); + } + }]); + + return LocationMap; +}(_react.default.Component); + +LocationMap.displayName = displayName; +LocationMap.propTypes = propTypes; +var _default = LocationMap; +exports.default = _default; \ No newline at end of file diff --git a/components/lookup/__docs__/site-stories.js b/components/lookup/__docs__/site-stories.js new file mode 100644 index 0000000000..0970f4425a --- /dev/null +++ b/components/lookup/__docs__/site-stories.js @@ -0,0 +1,12 @@ +// This object is imported into the documentation site. An example for the documentation site should be part of the pull request for the component. The object key is the kabob case of the "URL folder". In the case of `http://localhost:8080/components/app-launcher/`, `app-launcher` is the `key`. The folder name is created by `components.component` value in `package.json`. The following uses webpack's raw-loader plugin to get "text files" that will be eval()'d by CodeMirror within the documentation site on page load. + +/* eslint-env node */ +/* eslint-disable global-require */ + +const siteStories = [ + require('raw-loader!@salesforce/design-system-react/components/lookup/__examples__/default.jsx'), + require('raw-loader!@salesforce/design-system-react/components/lookup/__examples__/files.jsx'), + require('raw-loader!@salesforce/design-system-react/components/lookup/__examples__/with-selection.jsx'), +]; + +module.exports = siteStories; diff --git a/components/lookup/__docs__/storybook-stories.jsx b/components/lookup/__docs__/storybook-stories.jsx new file mode 100644 index 0000000000..df2dda784b --- /dev/null +++ b/components/lookup/__docs__/storybook-stories.jsx @@ -0,0 +1,155 @@ +import React from 'react'; +import { storiesOf } from '@storybook/react'; +import { action } from '@storybook/addon-actions'; +import IconSettings from '../../icon-settings'; +import { LOOKUP } from '../../../utilities/constants'; +import Lookup from '../../lookup'; +import Header from '../../lookup/header'; +import Footer from '../../lookup/footer'; +import SLDSButton from '../../button'; + +import Default from '../__examples__/default'; +import Files from '../__examples__/files'; +import WithSelection from '../__examples__/with-selection'; +import DeprecatedWarning from '../../utilities/deprecated-warning'; + +class DemoLookup extends React.Component { + static displayName = 'DemoLookup'; + + state = { + options: [ + { + label: 'File 1', + }, + { + label: 'File 2', + }, + { + label: 'File 3', + }, + { + label: 'File 4', + }, + ], + }; + + clearSelected = () => { + this.setState({ + currentSelected: -1, + }); + }; + + handleSelect = (selectedItem, ...rest) => { + action('select')(selectedItem, ...rest); + this.setState({ + currentSelected: this.state.options.indexOf(selectedItem), + }); + }; + + render() { + return ( +
    +
    + Clear Selected +
    + +
    + ); + } +} + +class DemoLookupAccounts extends React.Component { + static displayName = 'DemoLookupAccounts'; + + state = { + options: [ + { + label: "Paddy's Pub", + subTitle: 'Boston, MA', + }, + { + label: 'Tyrell Corp', + subTitle: 'San Francisco, CA', + }, + { + label: 'Paper St. Soap Company', + subTitle: 'Beloit, WI', + }, + { + label: 'Nakatomi Investments', + subTitle: 'Chicago, IL', + }, + { + label: 'Acme Landscaping', + }, + { + label: 'Acme Construction', + subTitle: 'Grand Marais, MN', + }, + ], + }; + + handleSelect = (selectedItem, ...rest) => { + action('select')(selectedItem, ...rest); + this.setState({ + selectedItem, + }); + }; + + render() { + return ( + + ); + } +} +storiesOf(LOOKUP, module) + .addDecorator((getStory) => ( +
    + + {} + {getStory()} + +
    + )) + .add('Standard', () => ( + + )) + .add('Disabled', () => ) + .add('Standard with Accounts', () => ( + + )) + .add('Custom Empty Message Content', () => ( + No matches.} isInline /> + )) + .add('Docs site Default', () => ) + .add('Docs site Files', () => ) + .add('Docs site WithSelection', () => ); diff --git a/components/lookup/__examples__/default.jsx b/components/lookup/__examples__/default.jsx new file mode 100644 index 0000000000..5a6c5d6d15 --- /dev/null +++ b/components/lookup/__examples__/default.jsx @@ -0,0 +1,41 @@ +import React from 'react'; + +import IconSettings from '~/components/icon-settings'; +import Lookup from '~/components/lookup'; // `~` is replaced with design-system-react at runtime + +class Example extends React.Component { + static displayName = 'LookupExample'; + + render() { + return ( + + { + console.log('New search term: ', newValue); + }} + onSelect={(item) => { + console.log(item, ' Selected'); + }} + options={[ + { type: 'section', label: 'SECTION 1' }, + { label: "Paddy's Pub" }, + { label: 'Tyrell Corp' }, + { type: 'section', label: 'SECTION 2' }, + { label: 'Paper St. Soap Company' }, + { label: 'Nakatomi Investments' }, + { label: 'Acme Landscaping' }, + { type: 'section', label: 'SECTION 3' }, + { label: 'Acme Construction' }, + ]} + sectionDividerRenderer={Lookup.DefaultSectionDivider} + silenceDeprecationWarning + /> + + ); + } +} + +export default Example; // export is replaced with `ReactDOM.render(, mountNode);` at runtime diff --git a/components/lookup/__examples__/files.jsx b/components/lookup/__examples__/files.jsx new file mode 100644 index 0000000000..d942a3ae50 --- /dev/null +++ b/components/lookup/__examples__/files.jsx @@ -0,0 +1,35 @@ +import React from 'react'; + +import IconSettings from '~/components/icon-settings'; +import Lookup from '~/components/lookup'; // `~` is replaced with design-system-react at runtime + +class Example extends React.Component { + static displayName = 'LookupExample'; + + render() { + return ( + + { + console.log(item, ' Selected'); + }} + options={[ + { label: 'File 1' }, + { label: 'File 2' }, + { label: 'File 3' }, + { label: 'File 4' }, + ]} + silenceDeprecationWarning + /> + + ); + } +} + +export default Example; // export is replaced with `ReactDOM.render(, mountNode);` at runtime diff --git a/components/lookup/__examples__/with-selection.jsx b/components/lookup/__examples__/with-selection.jsx new file mode 100644 index 0000000000..e46341f317 --- /dev/null +++ b/components/lookup/__examples__/with-selection.jsx @@ -0,0 +1,42 @@ +import React from 'react'; + +import IconSettings from '~/components/icon-settings'; +import Lookup from '~/components/lookup'; // `~` is replaced with design-system-react at runtime + +class Example extends React.Component { + static displayName = 'LookupExample'; + + render() { + return ( + + { + console.log('New search term: ', newValue); + }} + onSelect={(item) => { + console.log(item, ' Selected'); + }} + options={[ + { label: "Paddy's Pub" }, + { label: 'Tyrell Corp' }, + { label: 'Paper St. Soap Company' }, + { label: 'Nakatomi Investments' }, + { label: 'Acme Landscaping' }, + { label: 'Acme Construction' }, + ]} + selectedItem={1} + silenceDeprecationWarning + /> + + ); + } +} + +export default Example; // export is replaced with `ReactDOM.render(, mountNode);` at runtime diff --git a/components/lookup/check-props.js b/components/lookup/check-props.js new file mode 100644 index 0000000000..3294d8f13b --- /dev/null +++ b/components/lookup/check-props.js @@ -0,0 +1,26 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = void 0; + +var _componentIsDeprecated = _interopRequireDefault(require("../../utilities/warning/component-is-deprecated")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */ + +/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */ + +/* eslint-disable import/no-mutable-exports */ +var checkProps = function checkPropsFunction() {}; + +if (process.env.NODE_ENV !== 'production') { + checkProps = function checkPropsFunction(COMPONENT, props) { + (0, _componentIsDeprecated.default)(COMPONENT, props, 'Please use an auto-complete Combobox instead. It is more accessible and closer aligned to SLDS.'); + }; +} + +var _default = checkProps; +exports.default = _default; \ No newline at end of file diff --git a/components/lookup/footer.d.ts b/components/lookup/footer.d.ts new file mode 100644 index 0000000000..3a7acce423 --- /dev/null +++ b/components/lookup/footer.d.ts @@ -0,0 +1,7 @@ +declare module '@salesforce/design-system-react/components/lookup/footer' { + import React from 'react'; + type Props = {}; + + function Component(props: Props): React.ReactNode; + export default Component; +} diff --git a/components/lookup/footer.js b/components/lookup/footer.js new file mode 100644 index 0000000000..7f4f767d04 --- /dev/null +++ b/components/lookup/footer.js @@ -0,0 +1,115 @@ +"use strict"; + +function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = void 0; + +var _react = _interopRequireDefault(require("react")); + +var _icon = _interopRequireDefault(require("../icon")); + +var _event = _interopRequireDefault(require("../../utilities/event")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } + +function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); } + +function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } + +function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; } + +function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } + +function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } } + +function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var displayName = 'LookupDefaultFooter'; +var propTypes = {}; +var defaultProps = {}; + +var DefaultFooter = /*#__PURE__*/function (_React$Component) { + _inherits(DefaultFooter, _React$Component); + + var _super = _createSuper(DefaultFooter); + + function DefaultFooter() { + var _this; + + _classCallCheck(this, DefaultFooter); + + for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { + args[_key] = arguments[_key]; + } + + _this = _super.call.apply(_super, [this].concat(args)); + + _defineProperty(_assertThisInitialized(_this), "handleClick", function () { + if (_this.props.onClose) { + _this.props.onClose(); + } + }); + + return _this; + } + + _createClass(DefaultFooter, [{ + key: "UNSAFE_componentWillReceiveProps", + // eslint-disable-next-line react/sort-comp, camelcase + value: function UNSAFE_componentWillReceiveProps(nextProps) { + if (nextProps.isActive !== this.props.isActive && nextProps.isActive === true) { + this.props.setFocus('newItem'); + } + } + }, { + key: "render", + value: function render() { + var className = 'slds-lookup__item-action slds-lookup__item-action_label'; + if (this.props.isActive) className += ' slds-theme_shade'; + return ( + /*#__PURE__*/ + + /* eslint-disable jsx-a11y/no-static-element-interactions */ + _react.default.createElement("div", { + className: "js-slds-lookup__item", + onClick: this.handleClick, + onMouseDown: _event.default.trapImmediate + }, /*#__PURE__*/_react.default.createElement("a", { + id: "newItem", + href: "javascript:void(0);", + className: className + }, /*#__PURE__*/_react.default.createElement("span", { + className: "lookup__item-action-label" + }, /*#__PURE__*/_react.default.createElement(_icon.default, { + name: "add", + category: "utility", + size: "x-small", + className: "slds-icon-text-default" + }), /*#__PURE__*/_react.default.createElement("span", { + className: "slds-truncate" + }, this.props.newItemLabel ? this.props.newItemLabel : 'Add New Item')))) + ); + } + }]); + + return DefaultFooter; +}(_react.default.Component); + +DefaultFooter.displayName = displayName; +DefaultFooter.propTypes = propTypes; +DefaultFooter.defaultProps = defaultProps; +var _default = DefaultFooter; +exports.default = _default; \ No newline at end of file diff --git a/components/lookup/header.d.ts b/components/lookup/header.d.ts new file mode 100644 index 0000000000..fd9544cd01 --- /dev/null +++ b/components/lookup/header.d.ts @@ -0,0 +1,7 @@ +declare module '@salesforce/design-system-react/components/lookup/header' { + import React from 'react'; + type Props = {}; + + function Component(props: Props): React.ReactNode; + export default Component; +} diff --git a/components/lookup/header.js b/components/lookup/header.js new file mode 100644 index 0000000000..c3520ab4ea --- /dev/null +++ b/components/lookup/header.js @@ -0,0 +1,115 @@ +"use strict"; + +function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = void 0; + +var _react = _interopRequireDefault(require("react")); + +var _icon = _interopRequireDefault(require("../icon")); + +var _event = _interopRequireDefault(require("../../utilities/event")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } + +function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); } + +function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } + +function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; } + +function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } + +function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } } + +function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var displayName = 'LookupDefaultHeader'; +var propTypes = {}; +var defaultProps = {}; + +var DefaultHeader = /*#__PURE__*/function (_React$Component) { + _inherits(DefaultHeader, _React$Component); + + var _super = _createSuper(DefaultHeader); + + function DefaultHeader() { + var _this; + + _classCallCheck(this, DefaultHeader); + + for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { + args[_key] = arguments[_key]; + } + + _this = _super.call.apply(_super, [this].concat(args)); + + _defineProperty(_assertThisInitialized(_this), "handleClick", function () { + if (_this.props.onClose) { + _this.props.onClose(); + } + }); + + return _this; + } + + _createClass(DefaultHeader, [{ + key: "UNSAFE_componentWillReceiveProps", + // eslint-disable-next-line camelcase, react/sort-comp + value: function UNSAFE_componentWillReceiveProps(nextProps) { + if (nextProps.isActive !== this.props.isActive && nextProps.isActive === true) { + this.props.setFocus('searchRecords'); + } + } + }, { + key: "render", + value: function render() { + var className = 'slds-lookup__item-action slds-lookup__item-action_label'; + if (this.props.isActive) className += ' slds-theme_shade'; + return ( + /*#__PURE__*/ + + /* eslint-disable jsx-a11y/no-static-element-interactions */ + _react.default.createElement("div", { + className: "js-slds-lookup__item", + onMouseDown: _event.default.trapImmediate, + onClick: this.handleClick + }, /*#__PURE__*/_react.default.createElement("a", { + id: "searchRecords", + href: "javascript:void(0);", + className: className + }, /*#__PURE__*/_react.default.createElement("span", { + className: "lookup__item-action-label" + }, /*#__PURE__*/_react.default.createElement(_icon.default, { + name: "search", + category: "utility", + size: "x-small", + className: "slds-icon-text-default" + }), /*#__PURE__*/_react.default.createElement("span", { + className: "slds-truncate" + }, this.props.searchTerm)))) + ); + } + }]); + + return DefaultHeader; +}(_react.default.Component); + +DefaultHeader.displayName = displayName; +DefaultHeader.propTypes = propTypes; +DefaultHeader.defaultProps = defaultProps; +var _default = DefaultHeader; +exports.default = _default; \ No newline at end of file diff --git a/components/lookup/index.js b/components/lookup/index.js new file mode 100644 index 0000000000..69708b0069 --- /dev/null +++ b/components/lookup/index.js @@ -0,0 +1,47 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +Object.defineProperty(exports, "DefaultFooter", { + enumerable: true, + get: function get() { + return _defaultFooter.default; + } +}); +Object.defineProperty(exports, "DefaultHeader", { + enumerable: true, + get: function get() { + return _defaultHeader.default; + } +}); +Object.defineProperty(exports, "DefaultSectionDivider", { + enumerable: true, + get: function get() { + return _defaultSectionDivider.default; + } +}); +exports.default = void 0; + +var _reactOnclickoutside = _interopRequireDefault(require("react-onclickoutside")); + +var _defaultFooter = _interopRequireDefault(require("./menu/default-footer")); + +var _defaultHeader = _interopRequireDefault(require("./menu/default-header")); + +var _defaultSectionDivider = _interopRequireDefault(require("./menu/default-section-divider")); + +var _lookup = _interopRequireDefault(require("./lookup")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */ + +/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */ +// ### onClickOutside +// Listen for clicks that occur somewhere in the document, outside of the element itself +var _default = (0, _reactOnclickoutside.default)(_lookup.default, { + excludeScrollbar: true +}); + +exports.default = _default; \ No newline at end of file diff --git a/components/lookup/lookup.d.ts b/components/lookup/lookup.d.ts new file mode 100644 index 0000000000..9b51ffea7a --- /dev/null +++ b/components/lookup/lookup.d.ts @@ -0,0 +1,144 @@ +declare module '@salesforce/design-system-react/components/lookup/lookup' { + import React from 'react'; + type Props = { + /** + * If present, the label associated with this `input` is overwritten + * by this text and is visually not shown. + */ + assistiveText?: Record | string; + /** + * Class names to be added to the tag classed with `slds-lookup`. + */ + className?: any[] | Record | string; + /** + * If true, constrains the menu to the scroll parent. Has no effect if `isInline` is `true`. + */ + constrainToScrollParent?: boolean; + /** + * ID for aria-describedby (e.g. for an error message or a description) + */ + describedById?: string; + /** + * Please select one of the following: + * * `absolute` - (default) The dialog will use `position: absolute` and style attributes to position itself. This allows inverted placement or flipping of the dialog. + * * `overflowBoundaryElement` - The dialog will overflow scrolling parents. Use on elements that are aligned to the left or right of their target and don't care about the target being within a scrolling parent. Typically this is a popover or tooltip. Dropdown menus can usually open up and down if no room exists. In order to achieve this a portal element will be created and attached to `body`. This element will render into that detached render tree. + * * `relative` - No styling or portals will be used. Menus will be positioned relative to their triggers. This is a great choice for HTML snapshot testing. + */ + menuPosition?: string; + /** + * This prop is passed onto the `input`. Prevents dropdown menu from opening. Also applies disabled styling to input. + */ + disabled?: boolean; + /** + * Custom message that renders when no matches found. The default empty state is just text that says, 'No matches found.'. + */ + emptyMessage?: string | React.ReactElement; + /** + * Custom function to filter the Lookup items when typing into input field. The default function is case-insensitive and uses the searchTerm to filter Lookup items on their labels. + */ + filterWith?: (v: any) => any; + /** + * If true, the menu is constrained to the window and may be flipped up. Has no effect if `isInline` is `true`. In other components, its opposite is used `hasStaticAlignment`. + */ + flippable?: boolean; + /** + * Custom component for Lookup footer. The default footer allows user to add new item - see Lightning Design System Lookup > Base. To use the default footer, pass in Lookup.DefaultFooter. + */ + footerRenderer?: (v: any) => any; + /** + * Custom component for Lookup header. The default header has a search icon and shows the search term - see Lightning Design System Lookup > Base. To use the default header, pass in Lookup.DefaultHeader. + */ + headerRenderer?: (v: any) => any; + /** + * Please refer to Lightning Design System Icons to view categories. + */ + iconCategory?: string; + /** + * If true, icon color is white. If false, icon color is the default text color. + */ + iconInverse?: boolean; + /** + * Name of icon. Please refer to Lightning Design System Icons to view icon names. + */ + iconName?: string; + /** + * Determines whether the input's icon will display that icon on the left or the right. + */ + iconPosition?: 'left' | 'right'; + /** + * Renders menu within the wrapping trigger as a sibling of the button. By default, you will have an absolutely positioned container at an elevated z-index. + */ + isInline?: boolean; + /** + * Whether or not the dropdown menu is open. This overrides the default behavior. + */ + isOpen?: boolean; + /** + * Form label for input. + */ + label?: string; + /** + * Custom component that overrides the default Lookup Item component. + */ + listItemLabelRenderer?: (v: any) => any; + /** + * Triggered when input focus is removed. + */ + onBlur?: (v: any) => any; + /** + * Triggered when the contents of the input changes. + */ + onChange?: (v: any) => any; + /** + * Triggered when input is focused. + */ + onFocus?: (v: any) => any; + /** + * Function called when the lookup dropdown would like hide. This will turn the Lookup into into a controlled component. Please use with `isOpen`. + */ + onRequestClose?: (v: any) => any; + /** + * Function called when the lookup dropdown would like show. This will turn the Lookup into into a controlled component. Please use with `isOpen`. + */ + onRequestOpen?: (v: any) => any; + /** + * Triggered when the user scrolls in the dropdown menu. + */ + onScroll?: (v: any) => any; + /** + * Triggered when an item is selected from the dropdown menu. + */ + onSelect?: (v: any) => any; + /** + * Triggered when an item is an item is removed from the input. + */ + onUnselect?: (v: any) => any; + /** + * Item added to the dropdown menu. + */ + options: any[] /*.isRequired*/; + /** + * Text that will appear in an empty input. + */ + placeholder?: string; + /** + * If true, adds asterisk next to input label to indicate it is a required field. + */ + required?: boolean; + /** + * Text passed on to header search input of dropdown menu. + */ + searchTerm?: string; + /** + * Custom component that overrides the default section divider + */ + sectionDividerRenderer?: (v: any) => any; + /** + * Index of current selected item. To clear the selection, pass in -1. + */ + selectedItem?: number; + }; + + function Component(props: Props): React.ReactNode; + export default Component; +} diff --git a/components/lookup/lookup.js b/components/lookup/lookup.js new file mode 100644 index 0000000000..f5aa09f7d4 --- /dev/null +++ b/components/lookup/lookup.js @@ -0,0 +1,846 @@ +"use strict"; + +function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = void 0; + +var _react = _interopRequireDefault(require("react")); + +var _propTypes = _interopRequireDefault(require("prop-types")); + +var _lodash = _interopRequireDefault(require("lodash.escaperegexp")); + +var _lodash2 = _interopRequireDefault(require("lodash.isequal")); + +var _classnames = _interopRequireDefault(require("classnames")); + +var _checkProps = _interopRequireDefault(require("./check-props")); + +var _dialog = _interopRequireDefault(require("../utilities/dialog")); + +var _button = _interopRequireDefault(require("../button")); + +var _icon = _interopRequireDefault(require("../icon")); + +var _inputIcon = _interopRequireDefault(require("../icon/input-icon")); + +var _input = _interopRequireDefault(require("../input")); + +var _event = _interopRequireDefault(require("../../utilities/event")); + +var _keyCode = _interopRequireDefault(require("../../utilities/key-code")); + +var _menu = _interopRequireDefault(require("./menu")); + +var _constants = require("../../utilities/constants"); + +var _class, _temp; + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); } + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } + +function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); } + +function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } + +function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; } + +function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } + +function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } } + +function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +/** + * A function that takes a term string and an item and returns a truthy value if the item should be kept. + */ +var defaultFilter = function defaultFilter(term, item) { + if (!term) return true; + return item.data && item.data.type === 'section' || item.label.match(new RegExp((0, _lodash.default)(term), 'ig')); +}; + +var normalizeSearchTerm = function normalizeSearchTerm(string) { + return (string || '').toString().replace(/^\s+/, ''); +}; +/** + * ** Lookup is deprecated. Please use an auto-complete Combobox instead.** + * + * Lookup is an advanced inline search form. The lookup can parse through single or multi scoped datasets. The parsed dataset can be filtered by single or multi option selects. + * + * This component is wrapped in a [higher order component to listen for clicks outside itself](https://github.com/kentor/react-click-outside) and thus requires use of `ReactDOM`. + */ + + +var Lookup = (_temp = _class = /*#__PURE__*/function (_React$Component) { + _inherits(Lookup, _React$Component); + + var _super = _createSuper(Lookup); + + function Lookup(props) { + var _this; + + _classCallCheck(this, Lookup); + + _this = _super.call(this, props); // `checkProps` issues warnings to developers about properties (similar to React's built in development tools) + + _defineProperty(_assertThisInitialized(_this), "state", { + currentFocus: null, + focusIndex: null, + items: [], + listLength: _this.props.options.length, + searchTerm: normalizeSearchTerm(_this.props.searchTerm), + selectedIndex: _this.props.selectedItem + }); + + _defineProperty(_assertThisInitialized(_this), "getClassName", function () { + return (0, _classnames.default)(_this.props.className, 'slds-form-element slds-lookup', { + 'slds-has-selection': _this.isSelected(), + 'slds-is-open': _this.getIsOpen() + }); + }); + + _defineProperty(_assertThisInitialized(_this), "setFirstIndex", function () { + var nextFocusIndex = 0; + var filteredItem = _this.state.items[0]; + + if (_this.menuComponent && _this.menuComponent.getFilteredItemForIndex) { + filteredItem = _this.menuComponent.getFilteredItemForIndex(nextFocusIndex); + } + + if (filteredItem && filteredItem.data.type === 'section') { + nextFocusIndex += 1; + } + + _this.setState({ + focusIndex: nextFocusIndex + }); + }); + + _defineProperty(_assertThisInitialized(_this), "getHeader", function () { + var Header = _this.props.headerRenderer; + var headerActive = _this.state.focusIndex === 0; + return /*#__PURE__*/_react.default.createElement(Header, _extends({ + ref: function ref(header) { + _this.headerComponent = header; + } + }, _this.props, { + focusIndex: _this.state.focusIndex, + isActive: headerActive, + onClose: _this.handleClose, + searchTerm: _this.state.searchTerm, + setFocus: _this.setFocus + })); + }); + + _defineProperty(_assertThisInitialized(_this), "getFooter", function () { + var Footer = _this.props.footerRenderer; + + var numFocusable = _this.getNumFocusableItems(); + + var footerActive = _this.state.focusIndex === numFocusable; + return /*#__PURE__*/_react.default.createElement(Footer, _extends({ + ref: function ref(footer) { + _this.footerComponent = footer; + } + }, _this.props, { + focusIndex: _this.state.focusIndex, + isActive: footerActive, + onClose: _this.handleClose, + setFocus: _this.setFocus + })); + }); + + _defineProperty(_assertThisInitialized(_this), "setFocus", function (id) { + _this.setState({ + currentFocus: id + }); + }); + + _defineProperty(_assertThisInitialized(_this), "getIsOpen", function () { + return !!(typeof _this.props.isOpen === 'boolean' ? _this.props.isOpen : _this.state.isOpen); + }); + + _defineProperty(_assertThisInitialized(_this), "getListLength", function (qty) { + if (qty !== _this.state.listLength) { + _this.setState({ + listLength: qty + }); + } + }); + + _defineProperty(_assertThisInitialized(_this), "getNumFocusableItems", function () { + var offset = 0; + + if (_this.footerComponent) { + offset += 1; + } + + if (_this.headerComponent) { + offset += 1; + } + + return _this.state.listLength - 1 + offset; + }); + + _defineProperty(_assertThisInitialized(_this), "increaseIndex", function () { + var numFocusable = _this.getNumFocusableItems(); + + var nextFocusIndex = _this.state.focusIndex < numFocusable ? _this.state.focusIndex + 1 : 0; + + var filteredItem = _this.menuComponent.getFilteredItemForIndex(nextFocusIndex); + + if (filteredItem && filteredItem.data.type === 'section') { + nextFocusIndex += 1; + } + + _this.setState({ + focusIndex: nextFocusIndex + }); + }); + + _defineProperty(_assertThisInitialized(_this), "decreaseIndex", function () { + var numFocusable = _this.getNumFocusableItems(); + + var prevFocusIndex = _this.state.focusIndex > 0 ? _this.state.focusIndex - 1 : numFocusable; + + var filteredItem = _this.menuComponent.getFilteredItemForIndex(prevFocusIndex); + + if (filteredItem && filteredItem.data.type === 'section') { + prevFocusIndex = prevFocusIndex === 0 ? numFocusable : prevFocusIndex - 1; + } + + _this.setState({ + focusIndex: prevFocusIndex + }); + }); + + _defineProperty(_assertThisInitialized(_this), "selectItem", function (itemId) { + if (itemId) { + var index = itemId.replace('item-', ''); + + _this.selectItemByIndex(index); + } + }); + + _defineProperty(_assertThisInitialized(_this), "selectItemByIndex", function (index) { + if (index >= 0 && index < _this.state.items.length) { + if (_this.props.onRequestClose) { + _this.props.onRequestClose(); + } + + _this.setState({ + isOpen: false, + selectedIndex: index, + searchTerm: '' + }); + + var data = _this.state.items[index].data; + + if (_this.props.onSelect) { + _this.props.onSelect(data); + } + } + }); + + _defineProperty(_assertThisInitialized(_this), "handleDeleteSelected", function () { + if (_this.props.onRequestOpen) { + _this.props.onRequestOpen(); + } + + _this.setState({ + selectedIndex: null, + isOpen: true + }); + + _this.focusInput(); + + if (_this.props.onUnselect) { + _this.props.onUnselect(); + } + }); + + _defineProperty(_assertThisInitialized(_this), "handleClose", function () { + if (_this.props.onRequestClose) { + _this.props.onRequestClose(); + } + + _this.setState({ + isOpen: false, + focusIndex: null, + currentFocus: null + }); + }); + + _defineProperty(_assertThisInitialized(_this), "handleClickOutside", function () { + _this.handleClose(); + }); + + _defineProperty(_assertThisInitialized(_this), "handleEscape", function (event) { + if (_this.getIsOpen() && event) { + _event.default.trap(event); + } + + _this.handleClose(); + }); + + _defineProperty(_assertThisInitialized(_this), "handleCancel", function () { + _this.handleClose(); + }); + + _defineProperty(_assertThisInitialized(_this), "handleClick", function () { + if (_this.props.onRequestOpen) { + _this.props.onRequestOpen(); + } + + _this.setState({ + isOpen: true + }); + }); + + _defineProperty(_assertThisInitialized(_this), "handleBlur", function (event) { + if (_this.props.onBlur) { + var target = event.target || event.currentTarget; + + _this.props.onBlur(target.value); + } + }); + + _defineProperty(_assertThisInitialized(_this), "handleFocus", function (event) { + if (_this.props.onFocus) { + var target = event.target || event.currentTarget; + + _this.props.onFocus(target.value); + } + + if (_this.props.onRequestOpen) { + _this.props.onRequestOpen(); + } + + _this.setState({ + isOpen: true + }); + }); + + _defineProperty(_assertThisInitialized(_this), "handleChange", function (event) { + var target = event.target || event.currentTarget; + + _this.setState({ + searchTerm: normalizeSearchTerm(target.value) + }); + + if (_this.props.onChange) { + _this.props.onChange(target.value); + } + }); + + _defineProperty(_assertThisInitialized(_this), "handleKeyDown", function (event) { + if (event.keyCode) { + // If user hits esc key or tab key, close menu + if (event.keyCode === _keyCode.default.ESCAPE) { + _this.handleEscape(event); + } else if (event.keyCode === _keyCode.default.TAB) { + // remove the focus on input, tab focus shoud move to next tabbale elemnt + setTimeout(function () { + _this.handleClose(); + }, 200); + + _this.handleBlur(event); + } else { + _this.handleClick(); + } // If user hits down key, advance aria activedescendant to next item + + + if (event.keyCode === _keyCode.default.DOWN) { + _event.default.trapImmediate(event); + + if (_this.state.focusIndex === null) { + _this.setFirstIndex(); + } else { + _this.increaseIndex(); + } + } else if (event.keyCode === _keyCode.default.UP) { + // If user hits up key, advance aria activedescendant to previous item + _event.default.trapImmediate(event); + + var numFocusable = _this.getNumFocusableItems(); + + if (_this.state.focusIndex === null) { + _this.setState({ + focusIndex: numFocusable + }); + } else { + _this.decreaseIndex(); + } + } else if (event.keyCode === _keyCode.default.ENTER && _this.state.focusIndex !== null) { + // If user hits enter, select current activedescendant item + _event.default.trapImmediate(event); // If the focus is on the first fixed Action Item in Menu, click it + + + if (_this.headerComponent && _this.state.focusIndex === 0) { + _this.headerComponent.handleClick(); + } else if (_this.footerComponent && _this.state.focusIndex === _this.state.listLength + 1) { + // If the focus is on the last fixed Action Item in Menu, click it + _this.footerComponent.handleClick(); + } else { + // If not, then select menu item + _this.selectItem(_this.state.currentFocus); + } + } + } + }); + + _defineProperty(_assertThisInitialized(_this), "handlePillKeyDown", function (event) { + if (event.keyCode) { + if (event.keyCode === _keyCode.default.DELETE || event.keyCode === _keyCode.default.BACKSPACE) { + _event.default.trapImmediate(event); + + _this.handleDeleteSelected(); + } + } + }); + + _defineProperty(_assertThisInitialized(_this), "inputRefId", function () { + return "".concat(_this.props.label, "Lookup"); + }); + + _defineProperty(_assertThisInitialized(_this), "focusInput", function () { + _this.focusOnRender = true; + }); + + _defineProperty(_assertThisInitialized(_this), "isSelected", function () { + var hasSelection = !isNaN(parseInt(_this.state.selectedIndex, 10)) && _this.state.selectedIndex >= 0; + return hasSelection; + }); + + _defineProperty(_assertThisInitialized(_this), "modifyItems", function (itemsToModify) { + var items = itemsToModify.map(function (item, index) { + return { + id: "item-".concat(index), + label: item.label, + data: item + }; + }); + + _this.setState({ + items: items + }); + }); + + _defineProperty(_assertThisInitialized(_this), "renderMenuContent", function () { + return /*#__PURE__*/_react.default.createElement(_menu.default, { + ref: function ref(menu) { + _this.menuComponent = menu; + }, + emptyMessage: _this.props.emptyMessage, + filterWith: _this.props.filterWith, + focusIndex: _this.state.focusIndex, + footer: _this.props.footerRenderer ? _this.getFooter() : null, + getListLength: _this.getListLength, + header: _this.props.headerRenderer ? _this.getHeader() : null, + iconCategory: _this.props.iconCategory, + iconInverse: _this.props.iconInverse, + iconName: _this.props.iconName, + items: _this.state.items, + label: _this.props.label, + listItemLabelRenderer: _this.props.listItemLabelRenderer, + listLength: _this.state.listLength, + onSelect: _this.selectItem, + searchTerm: _this.state.searchTerm, + sectionDividerRenderer: _this.props.sectionDividerRenderer, + setFocus: _this.setFocus + }); + }); + + _defineProperty(_assertThisInitialized(_this), "renderInlineMenu", function () { + return _this.getIsOpen() ? /*#__PURE__*/_react.default.createElement("div", { + className: "ignore-react-onclickoutside slds-lookup__menu", + role: "listbox" + }, _this.renderMenuContent()) : null; + }); + + _defineProperty(_assertThisInitialized(_this), "renderSeparateMenu", function () { + // FOR BACKWARDS COMPATIBILITY + var menuPosition = _this.props.isInline ? 'relative' : _this.props.menuPosition; // eslint-disable-line react/prop-types + + return _this.getIsOpen() ? /*#__PURE__*/_react.default.createElement(_dialog.default, { + align: "bottom", + className: "slds-lookup__menu slds-show", + closeOnTabKey: true, + contentsClassName: "slds-lookup__menu slds-show", + context: _this.context, + inheritWidthOf: "target", + onClose: _this.handleCancel, + hasStaticAlignement: !_this.props.flippable, + constrainToScrollParent: _this.props.constrainToScrollParent, + onRequestTargetElement: function onRequestTargetElement() { + return _this.input; + }, + position: menuPosition + }, _this.renderMenuContent()) : null; + }); + + _defineProperty(_assertThisInitialized(_this), "renderInput", function () { + return /*#__PURE__*/_react.default.createElement(_input.default, { + "aria-activedescendant": _this.state.currentFocus ? _this.state.currentFocus : '', + "aria-autocomplete": "list", + "aria-describedby": _this.props.describedById, + "aria-expanded": !!_this.getIsOpen(), + assistiveText: _this.props.assistiveText, + className: "slds-lookup__search-input", + disabled: _this.props.disabled, + iconRight: /*#__PURE__*/_react.default.createElement(_inputIcon.default, { + assistiveText: { + icon: 'Search' + }, + category: "utility", + name: "search" + }), + id: _this.inputRefId(), + onBlur: _this.handleBlur, + onChange: _this.handleChange, + onClick: _this.handleClick, + onFocus: _this.handleFocus, + onKeyDown: _this.handleKeyDown, + inputRef: function inputRef(component) { + _this.input = component; + + if (_this.focusOnRender) { + _this.input.focus(); + + _this.focusOnRender = false; + } + }, + placeholder: _this.props.placeholder, + role: "combobox", + type: "text", + value: _this.state.searchTerm + }); + }); + + _defineProperty(_assertThisInitialized(_this), "renderSelectedItem", function () { + var selectedItem = _this.props.options[_this.state.selectedIndex].label; + var renderIcon = _this.props.iconName ? /*#__PURE__*/_react.default.createElement(_icon.default, { + category: _this.props.iconCategory, + className: "slds-icon slds-pill__icon", + inverse: _this.props.iconInverse, + name: _this.props.iconName + }) : null; + var labelClassName = _this.props.iconName ? 'slds-pill__label' : 'slds-pill__label slds-m-left_x-small'; // i18n + + return /*#__PURE__*/_react.default.createElement("div", { + className: "slds-pill__container" + }, /*#__PURE__*/_react.default.createElement("a", { + href: "javascript:void(0)", + className: "slds-pill", + ref: function ref(pill) { + _this.pills[_this.state.selectedIndex] = pill; + }, + onKeyDown: _this.handlePillKeyDown + }, renderIcon, /*#__PURE__*/_react.default.createElement("span", { + className: labelClassName + }, selectedItem), /*#__PURE__*/_react.default.createElement(_button.default, { + assistiveText: { + icon: 'Press delete to remove' + }, + className: "slds-pill__remove slds-button_icon-bare", + iconCategory: "utility", + iconName: "close", + onClick: _this.handleDeleteSelected, + tabIndex: "-1", + variant: "icon" + }))); + }); + + _defineProperty(_assertThisInitialized(_this), "renderLabel", function () { + var inputLabel; + var required = _this.props.required ? + /*#__PURE__*/ + // eslint-disable-next-line react/jsx-curly-brace-presence + _react.default.createElement("span", { + className: "slds-required" + }, '*') : null; + + if (_this.isSelected()) { + // inline style override + inputLabel = /*#__PURE__*/_react.default.createElement("span", { + className: "slds-form-element__label", + style: { + width: '100%' + } + }, required, _this.props.label); + } else { + inputLabel = /*#__PURE__*/_react.default.createElement("label", { + className: "slds-form-element__label", + htmlFor: _this.inputRefId(), + style: { + width: '100%' + } + }, required, _this.props.label); + } + + return inputLabel; + }); + + (0, _checkProps.default)(_constants.LOOKUP, props); // Keeps track of references of children for keyboard navigation + + _this.pills = []; + return _this; + } + + _createClass(Lookup, [{ + key: "componentDidMount", + value: function componentDidMount() { + this.modifyItems(this.props.options); + } // eslint-disable-next-line camelcase, react/sort-comp + + }, { + key: "UNSAFE_componentWillReceiveProps", + value: function UNSAFE_componentWillReceiveProps(newProps) { + if (newProps.options) { + this.modifyItems(newProps.options); + } + + if (newProps.selectedItem !== this.props.selectedItem || !(0, _lodash2.default)(newProps.options, this.props.options)) { + this.setState({ + selectedIndex: newProps.selectedItem + }); + } + } + }, { + key: "componentDidUpdate", + value: function componentDidUpdate(prevProps, prevState) { + if (!isNaN(parseInt(prevState.selectedIndex, 10)) && isNaN(parseInt(this.state.selectedIndex, 10))) { + if (this.input) { + this.input.focus(); + } + } else if (isNaN(parseInt(prevState.selectedIndex, 10)) && !isNaN(parseInt(this.state.selectedIndex, 10))) { + if (this.pills[this.state.selectedIndex]) { + this.pills[this.state.selectedIndex].focus(); + } + } + } + }, { + key: "render", + value: function render() { + var isInline; + /* eslint-disable react/prop-types */ + + if (this.props.isInline) { + isInline = true; + } else if (this.props.modal !== undefined) { + isInline = !this.props.modal; + } + /* eslint-enable react/prop-types */ + + + var formElementControlClasses = _defineProperty({ + 'slds-form-element__control': true + }, "slds-input-has-icon slds-input-has-icon_".concat(this.props.iconPosition), !this.isSelected()); + + return /*#__PURE__*/_react.default.createElement("div", { + className: this.getClassName(), + "data-select": "single", + "data-scope": "single", + onScroll: this.props.onScroll + }, this.props.label ? this.renderLabel() : null, /*#__PURE__*/_react.default.createElement("div", { + className: (0, _classnames.default)(formElementControlClasses) + }, this.isSelected() ? this.renderSelectedItem() : null, !this.isSelected() ? this.renderInput() : null), isInline ? this.renderInlineMenu() : this.renderSeparateMenu()); + } + }]); + + return Lookup; +}(_react.default.Component), _defineProperty(_class, "displayName", _constants.LOOKUP), _defineProperty(_class, "propTypes", { + /** + * If present, the label associated with this `input` is overwritten + * by this text and is visually not shown. + */ + assistiveText: _propTypes.default.oneOfType([_propTypes.default.object, _propTypes.default.string]), + + /** + * Class names to be added to the tag classed with `slds-lookup`. + */ + className: _propTypes.default.oneOfType([_propTypes.default.array, _propTypes.default.object, _propTypes.default.string]), + + /** + * If true, constrains the menu to the scroll parent. Has no effect if `isInline` is `true`. + */ + constrainToScrollParent: _propTypes.default.bool, + + /** + * ID for aria-describedby (e.g. for an error message or a description) + */ + describedById: _propTypes.default.string, + + /** + * Please select one of the following: + * * `absolute` - (default) The dialog will use `position: absolute` and style attributes to position itself. This allows inverted placement or flipping of the dialog. + * * `overflowBoundaryElement` - The dialog will overflow scrolling parents. Use on elements that are aligned to the left or right of their target and don't care about the target being within a scrolling parent. Typically this is a popover or tooltip. Dropdown menus can usually open up and down if no room exists. In order to achieve this a portal element will be created and attached to `body`. This element will render into that detached render tree. + * * `relative` - No styling or portals will be used. Menus will be positioned relative to their triggers. This is a great choice for HTML snapshot testing. + */ + menuPosition: _propTypes.default.string, + + /** + * This prop is passed onto the `input`. Prevents dropdown menu from opening. Also applies disabled styling to input. + */ + disabled: _propTypes.default.bool, + + /** + * Custom message that renders when no matches found. The default empty state is just text that says, 'No matches found.'. + */ + emptyMessage: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.element]), + + /** + * Custom function to filter the Lookup items when typing into input field. The default function is case-insensitive and uses the searchTerm to filter Lookup items on their labels. + */ + filterWith: _propTypes.default.func, + + /** + * If true, the menu is constrained to the window and may be flipped up. Has no effect if `isInline` is `true`. In other components, its opposite is used `hasStaticAlignment`. + */ + flippable: _propTypes.default.bool, + + /** + * Custom component for Lookup footer. The default footer allows user to add new item - see Lightning Design System Lookup > Base. To use the default footer, pass in Lookup.DefaultFooter. + */ + footerRenderer: _propTypes.default.func, + + /** + * Custom component for Lookup header. The default header has a search icon and shows the search term - see Lightning Design System Lookup > Base. To use the default header, pass in Lookup.DefaultHeader. + */ + headerRenderer: _propTypes.default.func, + + /** + * Please refer to Lightning Design System Icons to view categories. + */ + iconCategory: _propTypes.default.string, + + /** + * If true, icon color is white. If false, icon color is the default text color. + */ + iconInverse: _propTypes.default.bool, + + /** + * Name of icon. Please refer to Lightning Design System Icons to view icon names. + */ + iconName: _propTypes.default.string, + + /** + * Determines whether the input's icon will display that icon on the left or the right. + */ + iconPosition: _propTypes.default.oneOf(['left', 'right']), + + /** + * Renders menu within the wrapping trigger as a sibling of the button. By default, you will have an absolutely positioned container at an elevated z-index. + */ + isInline: _propTypes.default.bool, + + /** + * Whether or not the dropdown menu is open. This overrides the default behavior. + */ + isOpen: _propTypes.default.bool, + + /** + * Form label for input. + */ + label: _propTypes.default.string, + + /** + * Custom component that overrides the default Lookup Item component. + */ + listItemLabelRenderer: _propTypes.default.func, + + /** + * Triggered when input focus is removed. + */ + onBlur: _propTypes.default.func, + + /** + * Triggered when the contents of the input changes. + */ + onChange: _propTypes.default.func, + + /** + * Triggered when input is focused. + */ + onFocus: _propTypes.default.func, + + /** + * Function called when the lookup dropdown would like hide. This will turn the Lookup into into a controlled component. Please use with `isOpen`. + */ + onRequestClose: _propTypes.default.func, + + /** + * Function called when the lookup dropdown would like show. This will turn the Lookup into into a controlled component. Please use with `isOpen`. + */ + onRequestOpen: _propTypes.default.func, + + /** + * Triggered when the user scrolls in the dropdown menu. + */ + onScroll: _propTypes.default.func, + + /** + * Triggered when an item is selected from the dropdown menu. + */ + onSelect: _propTypes.default.func, + + /** + * Triggered when an item is an item is removed from the input. + */ + onUnselect: _propTypes.default.func, + + /** + * Item added to the dropdown menu. + */ + options: _propTypes.default.array.isRequired, + + /** + * Text that will appear in an empty input. + */ + placeholder: _propTypes.default.string, + + /** + * If true, adds asterisk next to input label to indicate it is a required field. + */ + required: _propTypes.default.bool, + + /** + * Text passed on to header search input of dropdown menu. + */ + searchTerm: _propTypes.default.string, + + /** + * Custom component that overrides the default section divider + */ + sectionDividerRenderer: _propTypes.default.func, + + /** + * Index of current selected item. To clear the selection, pass in -1. + */ + selectedItem: _propTypes.default.number +}), _defineProperty(_class, "defaultProps", { + constrainToScrollParent: true, + filterWith: defaultFilter, + iconPosition: 'right', + searchTerm: '', + menuPosition: 'absolute' +}), _temp); +Lookup.contextTypes = { + iconPath: _propTypes.default.string +}; +var _default = Lookup; +exports.default = _default; \ No newline at end of file diff --git a/components/lookup/menu/default-footer/index.js b/components/lookup/menu/default-footer/index.js new file mode 100644 index 0000000000..1423c9eca6 --- /dev/null +++ b/components/lookup/menu/default-footer/index.js @@ -0,0 +1,14 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = void 0; + +var _header = _interopRequireDefault(require("../../header")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +// Alias +var _default = _header.default; +exports.default = _default; \ No newline at end of file diff --git a/components/lookup/menu/default-header/index.js b/components/lookup/menu/default-header/index.js new file mode 100644 index 0000000000..fedded76c4 --- /dev/null +++ b/components/lookup/menu/default-header/index.js @@ -0,0 +1,14 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = void 0; + +var _footer = _interopRequireDefault(require("../../footer")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +// Alias +var _default = _footer.default; +exports.default = _default; \ No newline at end of file diff --git a/components/lookup/menu/default-section-divider/index.js b/components/lookup/menu/default-section-divider/index.js new file mode 100644 index 0000000000..6dfb87ea5b --- /dev/null +++ b/components/lookup/menu/default-section-divider/index.js @@ -0,0 +1,14 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = void 0; + +var _sectionDivider = _interopRequireDefault(require("../../section-divider")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +// Alias +var _default = _sectionDivider.default; +exports.default = _default; \ No newline at end of file diff --git a/components/lookup/menu/index.js b/components/lookup/menu/index.js new file mode 100644 index 0000000000..79848e7fd9 --- /dev/null +++ b/components/lookup/menu/index.js @@ -0,0 +1,14 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = void 0; + +var _menu = _interopRequireDefault(require("../private/menu")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +// Alias +var _default = _menu.default; +exports.default = _default; \ No newline at end of file diff --git a/components/lookup/menu/item/index.js b/components/lookup/menu/item/index.js new file mode 100644 index 0000000000..66550cbbc6 --- /dev/null +++ b/components/lookup/menu/item/index.js @@ -0,0 +1,14 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = void 0; + +var _item = _interopRequireDefault(require("../../private/item")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +// Alias +var _default = _item.default; +exports.default = _default; \ No newline at end of file diff --git a/components/lookup/private/item.d.ts b/components/lookup/private/item.d.ts new file mode 100644 index 0000000000..4b27556729 --- /dev/null +++ b/components/lookup/private/item.d.ts @@ -0,0 +1,20 @@ +declare module '@salesforce/design-system-react/components/lookup/private/item' { + import React from 'react'; + type Props = { + data?: Record; + handleItemFocus?: (v: any) => any; + href?: string; + iconCategory?: string; + id?: string; + index?: number; + isActive?: boolean; + isDisabled?: boolean; + listItemLabelRenderer?: (v: any) => any; + onSelect?: (v: any) => any; + searchTerm?: string; + setFocus?: (v: any) => any; + }; + + function Component(props: Props): React.ReactNode; + export default Component; +} diff --git a/components/lookup/private/item.js b/components/lookup/private/item.js new file mode 100644 index 0000000000..1cd67891c0 --- /dev/null +++ b/components/lookup/private/item.js @@ -0,0 +1,188 @@ +"use strict"; + +function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = void 0; + +var _react = _interopRequireDefault(require("react")); + +var _propTypes = _interopRequireDefault(require("prop-types")); + +var _classnames = _interopRequireDefault(require("classnames")); + +var _icon = _interopRequireDefault(require("../../icon")); + +var _event = _interopRequireDefault(require("../../../utilities/event")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } + +function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); } + +function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } + +function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; } + +function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } + +function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } } + +function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var displayName = 'Lookup-Menu-Item'; +var propTypes = { + data: _propTypes.default.object, + handleItemFocus: _propTypes.default.func, + href: _propTypes.default.string, + iconCategory: _propTypes.default.string, + id: _propTypes.default.string, + index: _propTypes.default.number, + isActive: _propTypes.default.bool, + isDisabled: _propTypes.default.bool, + listItemLabelRenderer: _propTypes.default.func, + onSelect: _propTypes.default.func, + searchTerm: _propTypes.default.string, + setFocus: _propTypes.default.func +}; + +var Item = /*#__PURE__*/function (_React$Component) { + _inherits(Item, _React$Component); + + var _super = _createSuper(Item); + + function Item() { + var _this; + + _classCallCheck(this, Item); + + for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { + args[_key] = arguments[_key]; + } + + _this = _super.call.apply(_super, [this].concat(args)); + + _defineProperty(_assertThisInitialized(_this), "handleClick", function () { + return _this.props.onSelect(_this.props.id, _this.props.data); + }); + + return _this; + } + + _createClass(Item, [{ + key: "UNSAFE_componentWillReceiveProps", + // eslint-disable-next-line camelcase, react/sort-comp + value: function UNSAFE_componentWillReceiveProps(nextProps) { + if (nextProps.isActive !== this.props.isActive && nextProps.isActive === true) { + this.scrollFocus(); + this.props.setFocus(this.props.id); + } + } + }, { + key: "getCustomLabel", + value: function getCustomLabel() { + var ListItemLabel = this.props.listItemLabelRenderer; + return /*#__PURE__*/_react.default.createElement(ListItemLabel, this.props); + } + }, { + key: "getIcon", + value: function getIcon() { + if (this.props.iconName && !this.props.listItemLabelRenderer) { + return /*#__PURE__*/_react.default.createElement("span", { + className: "slds-media__figure" + }, /*#__PURE__*/_react.default.createElement(_icon.default, { + category: this.props.iconCategory, + inverse: this.props.iconInverse, + key: this.props.iconName, + name: this.props.iconName, + size: "small" + })); + } + + return null; + } + }, { + key: "getLabel", + value: function getLabel() { + var label; + + if (this.props.children.data.subTitle) { + label = /*#__PURE__*/_react.default.createElement("div", { + className: "slds-media__body" + }, /*#__PURE__*/_react.default.createElement("div", { + className: "slds-lookup__result-text" + }, this.props.children.label), /*#__PURE__*/_react.default.createElement("span", { + className: "slds-lookup__result-meta slds-text-body_small" + }, this.props.children.data.subTitle)); + } else { + var labelClassName = (0, _classnames.default)('slds-lookup__result-text', { + 'slds-m-left_x-small': !this.props.iconName + }); + label = /*#__PURE__*/_react.default.createElement("div", { + className: "slds-media__body" + }, /*#__PURE__*/_react.default.createElement("div", { + className: labelClassName + }, this.props.children.label)); + } + + return label; + } + }, { + key: "scrollFocus", + // Scroll menu item based on up/down mouse keys (assumes all items are the same height) + value: function scrollFocus() { + var height = this.itemRef.offsetHeight; + + if (height && this.props.handleItemFocus) { + this.props.handleItemFocus(this.props.index, height); + } + } + }, { + key: "render", + value: function render() { + var _this2 = this; + + var itemClassName = 'js-slds-lookup__item'; + var id = this.props.id; + if (this.props.isActive) itemClassName += ' slds-theme_shade'; + return ( + /*#__PURE__*/ + // IMPORTANT: anchor id is used to set lookup's input's aria-activedescendant + _react.default.createElement("li", { + className: itemClassName, + ref: function ref(li) { + _this2.itemRef = li; + } + }, /*#__PURE__*/_react.default.createElement("a", { + "aria-disabled": this.props.isDisabled, + className: "slds-lookup__item-action slds-media slds-media_center", + href: this.props.href, + id: id, + onClick: this.handleClick, + onMouseDown: _event.default.trapImmediate, + ref: id, + role: "option", + tabIndex: "-1" + }, this.getIcon(), this.props.listItemLabelRenderer ? this.getCustomLabel() : this.getLabel())) + ); + } + }]); + + return Item; +}(_react.default.Component); + +Item.displayName = displayName; +Item.propTypes = propTypes; +var _default = Item; +exports.default = _default; \ No newline at end of file diff --git a/components/lookup/private/menu.d.ts b/components/lookup/private/menu.d.ts new file mode 100644 index 0000000000..06000e1ebb --- /dev/null +++ b/components/lookup/private/menu.d.ts @@ -0,0 +1,19 @@ +declare module '@salesforce/design-system-react/components/lookup/private/menu' { + import React from 'react'; + type Props = { + boldRegex?: RegExp; + emptyMessage?: string | React.ReactElement; + filterWith?: (v: any) => any; + focusIndex?: number; + getListLength?: (v: any) => any; + iconCategory?: string; + items?: any[]; + label?: string; + listLength?: number; + searchTerm?: string; + setFocus?: (v: any) => any; + }; + + function Component(props: Props): React.ReactNode; + export default Component; +} diff --git a/components/lookup/private/menu.js b/components/lookup/private/menu.js new file mode 100644 index 0000000000..8a963b31fc --- /dev/null +++ b/components/lookup/private/menu.js @@ -0,0 +1,248 @@ +"use strict"; + +function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = void 0; + +var _react = _interopRequireDefault(require("react")); + +var _propTypes = _interopRequireDefault(require("prop-types")); + +var _item = _interopRequireDefault(require("./item")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); } + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } + +function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); } + +function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } + +function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; } + +function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } + +function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } } + +function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +/* eslint-disable react/no-did-update-set-state */ +var displayName = 'Lookup-Menu'; +var propTypes = { + boldRegex: _propTypes.default.instanceOf(RegExp), + emptyMessage: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.element]), + filterWith: _propTypes.default.func, + focusIndex: _propTypes.default.number, + getListLength: _propTypes.default.func, + iconCategory: _propTypes.default.string, + items: _propTypes.default.array, + label: _propTypes.default.string, + listLength: _propTypes.default.number, + searchTerm: _propTypes.default.string, + setFocus: _propTypes.default.func +}; +var defaultProps = { + emptyMessage: 'No matches found.' +}; + +var Menu = /*#__PURE__*/function (_React$Component) { + _inherits(Menu, _React$Component); + + var _super = _createSuper(Menu); + + function Menu(props) { + var _this; + + _classCallCheck(this, Menu); + + _this = _super.call(this, props); + + _defineProperty(_assertThisInitialized(_this), "handleItemFocus", function (itemIndex, itemHeight) { + if (_this.listRef) { + _this.listRef.scrollTop = itemIndex * itemHeight; + } + }); + + _this.state = { + filteredItems: _this.filteredItems() + }; + return _this; + } // Set filtered list length in parent to determine active indexes for aria-activedescendent + + + _createClass(Menu, [{ + key: "componentDidUpdate", + value: function componentDidUpdate(prevProps) { + // make an array of the children of the list but only count the actual items (but include section dividers) + var childFilter = function childFilter(child) { + return child.className.indexOf('js-slds-lookup__item') > -1 || child.className.indexOf('slds-lookup__divider') > -1; + }; + + var list = [].slice.call(this.listRef.children).filter(childFilter).length; + this.props.getListLength(list); + + if (prevProps.items !== this.props.items || prevProps.filter !== this.props.filter || prevProps.searchTerm !== this.props.searchTerm) { + // eslint-disable-next-line class-methods-use-this + this.setState({ + filteredItems: this.filteredItems() + }); + } + } + }, { + key: "getFilteredItemForIndex", + value: function getFilteredItemForIndex(i) { + if (i > -1 && this.state.filteredItems && i < this.state.filteredItems.length) { + return this.state.filteredItems[i]; + } + + return null; + } + }, { + key: "filter", + value: function filter(item) { + return this.props.filterWith(this.props.searchTerm, item); + } // eslint-disable-next-line class-methods-use-this + + }, { + key: "filterEmptySections", + value: function filterEmptySections(items) { + var result = []; + items.forEach(function (item, index) { + if (item && item.data && item.data.type === 'section') { + if (index + 1 < items.length) { + var nextItem = items[index + 1]; + + if (nextItem.data && nextItem.data.type !== 'section') { + // eslint-disable-next-line fp/no-mutating-methods + result.push(item); + } + } + } else { + // eslint-disable-next-line fp/no-mutating-methods + result.push(item); + } + }); + return result; + } + }, { + key: "filteredItems", + value: function filteredItems() { + return this.filterEmptySections(this.props.items.filter(this.filter, this)); + } // Scroll menu up/down when using mouse keys + + }, { + key: "renderContent", + value: function renderContent() { + if (this.state.filteredItems.length === 0) { + return /*#__PURE__*/_react.default.createElement("li", { + className: "slds-lookup__message", + "aria-live": "polite" + }, /*#__PURE__*/_react.default.createElement("span", { + className: "slds-m-left_x-large slds-p-vertical_medium" + }, this.props.emptyMessage)); + } + + return this.renderItems(); + } + }, { + key: "renderFooter", + value: function renderFooter() { + return this.props.footer; + } + }, { + key: "renderHeader", + value: function renderHeader() { + return this.props.header; + } + }, { + key: "renderItems", + value: function renderItems() { + var _this2 = this; + + var focusIndex = this.props.focusIndex; + return this.state.filteredItems.map(function (component, i) { + // isActive means it is aria-activedescendant + var id = component.id; + var isActive = false; + + if (_this2.props.header) { + isActive = focusIndex === i + 1; + } else { + isActive = focusIndex === i; + } + + if (component.data.type === 'section') { + if (_this2.props.sectionDividerRenderer) { + var SectionDivider = _this2.props.sectionDividerRenderer; + return /*#__PURE__*/_react.default.createElement(SectionDivider, _extends({ + data: component.data, + key: "section_header_".concat(id) + }, _this2.props)); + } + } + + return /*#__PURE__*/_react.default.createElement(_item.default, { + boldRegex: _this2.props.boldRegex, + data: component.data, + handleItemFocus: _this2.handleItemFocus, + iconCategory: _this2.props.iconCategory, + iconInverse: _this2.props.iconInverse, + iconName: _this2.props.iconName, + id: id, + index: i, + isActive: isActive, + key: id, + listItemLabelRenderer: _this2.props.listItemLabelRenderer, + onSelect: _this2.props.onSelect, + searchTerm: _this2.props.searchTerm, + setFocus: _this2.props.setFocus + }, component); + }); + } + }, { + key: "renderSectionDivider", + value: function renderSectionDivider() { + return this.props.sectionDivider; + } + }, { + key: "render", + value: function render() { + var _this3 = this; + + return /*#__PURE__*/_react.default.createElement("section", { + id: "menuContainer", + className: "ignore-react-onclickoutside" + }, this.renderHeader(), /*#__PURE__*/_react.default.createElement("ul", { + id: "list", + className: "slds-lookup__list", + role: "presentation", + ref: function ref(list) { + if (list) { + _this3.listRef = list; + } + } + }, this.renderContent()), this.renderFooter()); + } + }]); + + return Menu; +}(_react.default.Component); + +Menu.displayName = displayName; +Menu.propTypes = propTypes; +Menu.defaultProps = defaultProps; +var _default = Menu; +exports.default = _default; \ No newline at end of file diff --git a/components/lookup/section-divider.d.ts b/components/lookup/section-divider.d.ts new file mode 100644 index 0000000000..140d18832c --- /dev/null +++ b/components/lookup/section-divider.d.ts @@ -0,0 +1,9 @@ +declare module '@salesforce/design-system-react/components/lookup/section-divider' { + import React from 'react'; + type Props = { + data?: Record; + }; + + function Component(props: Props): React.ReactNode; + export default Component; +} diff --git a/components/lookup/section-divider.js b/components/lookup/section-divider.js new file mode 100644 index 0000000000..e763509d69 --- /dev/null +++ b/components/lookup/section-divider.js @@ -0,0 +1,34 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = void 0; + +var _react = _interopRequireDefault(require("react")); + +var _propTypes = _interopRequireDefault(require("prop-types")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */ + +/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */ +var displayName = 'LookupDefaultSectionDivider'; +var propTypes = { + data: _propTypes.default.object +}; + +var DefaultSectionDivider = function DefaultSectionDivider(props) { + return /*#__PURE__*/_react.default.createElement("li", { + className: "slds-p-around_x-small slds-lookup__divider", + tabIndex: "-1" + }, /*#__PURE__*/_react.default.createElement("span", { + className: "slds-m-left_x-small" + }, /*#__PURE__*/_react.default.createElement("strong", null, props.data.label))); +}; + +DefaultSectionDivider.displayName = displayName; +DefaultSectionDivider.propTypes = propTypes; +var _default = DefaultSectionDivider; +exports.default = _default; \ No newline at end of file diff --git a/components/media-object.d.ts b/components/media-object.d.ts new file mode 100644 index 0000000000..c19e9f76c2 --- /dev/null +++ b/components/media-object.d.ts @@ -0,0 +1,30 @@ +declare module '@salesforce/design-system-react/components/media-object' { + import React from 'react'; + type Props = { + /** + * Often the body may need to be truncated for correct layout. This is only applicable if using the component within a flexbox container. + */ + canTruncate?: boolean; + /** + * Class names to be added to the component's HTML tag with `slds-media` class. + */ + className?: any[] | Record | string; + /** + * The body is often text such as a heading or paragraph. + */ + body?: React.ReactNode; + /** + * The figure is the optional visualization of the text within the body. + */ + figure?: React.ReactNode; + /** + * Vertically centers the body with the middle of the figure. + */ + verticalCenter?: boolean; + }; + /** + * When you need text and a figure next to each other, use a media object. + */ + function Component(props: Props): React.ReactElement; + export default Component; +} diff --git a/components/media-object/__docs__/__snapshots__/storybook-stories.storyshot b/components/media-object/__docs__/__snapshots__/storybook-stories.storyshot new file mode 100644 index 0000000000..f9c6603bfe --- /dev/null +++ b/components/media-object/__docs__/__snapshots__/storybook-stories.storyshot @@ -0,0 +1,137 @@ +// Jest Snapshot v1, https://goo.gl/fbAQLP + +exports[`DOM snapshots SLDSMediaObject Base 1`] = ` +
    +
    +
    + + + + + +
    +
    + Lorem ipsum dolor sit amet, consectetur adipisicing elit. Fugiat minus molestias reprehenderit consequuntur sapiente. Modi veritatis totam accusantium numquam assumenda. Lorem ipsum dolor sit amet, consectetur adipisicing elit. Fugiat minus molestias reprehenderit consequuntur sapiente. Modi veritatis totam accusantium numquam assumenda. +
    +
    +
    +`; + +exports[`DOM snapshots SLDSMediaObject Docs site Default 1`] = ` +
    +
    +
    + + + + + +
    +
    + Lorem ipsum dolor sit amet, consectetur adipisicing elit. Fugiat minus molestias reprehenderit consequuntur sapiente. Modi veritatis totam accusantium numquam assumenda. +
    +
    +
    +`; + +exports[`DOM snapshots SLDSMediaObject Docs site VerticallyCentered 1`] = ` +
    +
    +
    + + + + + +
    +
    + Lorem ipsum dolor sit amet, consectetur adipisicing elit. Fugiat minus molestias reprehenderit consequuntur sapiente. Modi veritatis totam accusantium numquam assumenda. Lorem ipsum dolor sit amet, consectetur adipisicing elit. Fugiat minus molestias reprehenderit consequuntur sapiente. Modi veritatis totam accusantium numquam assumenda. +
    +
    +
    +`; + +exports[`DOM snapshots SLDSMediaObject Figure Vertical Center 1`] = ` +
    +
    +
    + + + + + +
    +
    + Lorem ipsum dolor sit amet, consectetur adipisicing elit. Fugiat minus molestias reprehenderit consequuntur sapiente. Modi veritatis totam accusantium numquam assumenda. Lorem ipsum dolor sit amet, consectetur adipisicing elit. Fugiat minus molestias reprehenderit consequuntur sapiente. Modi veritatis totam accusantium numquam assumenda. +
    +
    +
    +`; diff --git a/components/media-object/__docs__/storybook-stories.jsx b/components/media-object/__docs__/storybook-stories.jsx new file mode 100644 index 0000000000..6c09e3073d --- /dev/null +++ b/components/media-object/__docs__/storybook-stories.jsx @@ -0,0 +1,33 @@ +import React from 'react'; +import { storiesOf } from '@storybook/react'; +import IconSettings from '../../icon-settings'; +import MediaObject from '../../media-object'; +import Icon from '../../icon'; +import { MEDIA_OBJECT } from '../../../utilities/constants'; + +import Default from '../__examples__/default'; +import VerticallyCentered from '../__examples__/vertically-centered'; + +const DemoMediaObject = (props) => ; +DemoMediaObject.displayName = 'DemoMediaObject'; +storiesOf(MEDIA_OBJECT, module) + .addDecorator((getStory) => ( +
    + {getStory()} +
    + )) + .add('Base', () => ( + } + /> + )) + .add('Figure Vertical Center', () => ( + } + verticalCenter + /> + )) + .add('Docs site Default', () => ) + .add('Docs site VerticallyCentered', () => ); diff --git a/components/media-object/__examples__/default.jsx b/components/media-object/__examples__/default.jsx new file mode 100644 index 0000000000..d4915cbd5b --- /dev/null +++ b/components/media-object/__examples__/default.jsx @@ -0,0 +1,22 @@ +import React from 'react'; + +import IconSettings from '~/components/icon-settings'; +import MediaObject from '~/components/media-object'; // `~` is replaced with design-system-react at runtime +import Icon from '~/components/icon'; + +class Example extends React.Component { + static displayName = 'MediaObjectExample'; + + render() { + return ( + + } + /> + + ); + } +} + +export default Example; // export is replaced with `ReactDOM.render(, mountNode);` at runtime diff --git a/components/media-object/__examples__/vertically-centered.jsx b/components/media-object/__examples__/vertically-centered.jsx new file mode 100644 index 0000000000..c3b81ac625 --- /dev/null +++ b/components/media-object/__examples__/vertically-centered.jsx @@ -0,0 +1,23 @@ +import React from 'react'; + +import IconSettings from '~/components/icon-settings'; +import MediaObject from '~/components/media-object'; // `~` is replaced with design-system-react at runtime +import Icon from '~/components/icon'; + +class Example extends React.Component { + static displayName = 'MediaObjectExample'; + + render() { + return ( + + } + verticalCenter + /> + + ); + } +} + +export default Example; // export is replaced with `ReactDOM.render(, mountNode);` at runtime diff --git a/components/media-object/component.json b/components/media-object/component.json new file mode 100644 index 0000000000..185a591261 --- /dev/null +++ b/components/media-object/component.json @@ -0,0 +1,22 @@ +{ + "component": "media-object", + "status": "prod", + "display-name": "Media Objects", + "classKey": "MediaObject", + "last-accessibility-review": { + "date-iso-8601": "2018/01/18", + "commit-sha": "ad6b6c6523ee21cada11be5f7ea4d99abc530726" + }, + "SLDS-component-path": "/components/utilities/media-object", + "site-stories": [ + { + "heading": "Default", + "path": "/__examples__/default.jsx" + }, + { + "heading": "Vertically Centered", + "path": "/__examples__/vertically-centered.jsx" + } + ], + "url-slug": "media-objects" +} diff --git a/components/media-object/index.js b/components/media-object/index.js new file mode 100644 index 0000000000..c33c3e5f97 --- /dev/null +++ b/components/media-object/index.js @@ -0,0 +1,117 @@ +"use strict"; + +function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = exports.cssClasses = void 0; + +var _react = _interopRequireDefault(require("react")); + +var _propTypes = _interopRequireDefault(require("prop-types")); + +var _classnames = _interopRequireDefault(require("classnames")); + +var _constants = require("../../utilities/constants"); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } + +function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); } + +function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } + +function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; } + +function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } + +function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } } + +function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +// Allow for predicatable DOM queries with `querySelectorAll(cssClasses.base)` +var cssClasses = { + base: 'slds-media', + figure: 'slds-media__figure', + body: 'slds-media__body' +}; +/** + * When you need text and a figure next to each other, use a media object. + */ + +exports.cssClasses = cssClasses; + +var MediaObject = /*#__PURE__*/function (_React$Component) { + _inherits(MediaObject, _React$Component); + + var _super = _createSuper(MediaObject); + + function MediaObject() { + _classCallCheck(this, MediaObject); + + return _super.apply(this, arguments); + } + + _createClass(MediaObject, [{ + key: "render", + // ### Display Name + // Always use the canonical component name as the React display name. + // ### Prop Types + value: function render() { + return /*#__PURE__*/_react.default.createElement("div", { + className: (0, _classnames.default)(cssClasses.base, { + 'slds-media_center': this.props.verticalCenter, + 'slds-has-flexi-truncate': this.props.canTruncate + }, this.props.className) + }, this.props.figure ? /*#__PURE__*/_react.default.createElement("div", { + className: cssClasses.figure + }, this.props.figure, " ") : null, /*#__PURE__*/_react.default.createElement("div", { + className: cssClasses.body + }, this.props.body)); + } + }]); + + return MediaObject; +}(_react.default.Component); + +_defineProperty(MediaObject, "displayName", _constants.MEDIA_OBJECT); + +_defineProperty(MediaObject, "propTypes", { + /** + * Often the body may need to be truncated for correct layout. This is only applicable if using the component within a flexbox container. + */ + canTruncate: _propTypes.default.bool, + + /** + * Class names to be added to the component's HTML tag with `slds-media` class. + */ + className: _propTypes.default.oneOfType([_propTypes.default.array, _propTypes.default.object, _propTypes.default.string]), + + /** + * The body is often text such as a heading or paragraph. + */ + body: _propTypes.default.node, + + /** + * The figure is the optional visualization of the text within the body. + */ + figure: _propTypes.default.node, + + /** + * Vertically centers the body with the middle of the figure. + */ + verticalCenter: _propTypes.default.bool +}); + +var _default = MediaObject; +exports.default = _default; \ No newline at end of file diff --git a/components/menu-dropdown/__docs__/__snapshots__/storybook-stories.storyshot b/components/menu-dropdown/__docs__/__snapshots__/storybook-stories.storyshot new file mode 100644 index 0000000000..7394e85f3e --- /dev/null +++ b/components/menu-dropdown/__docs__/__snapshots__/storybook-stories.storyshot @@ -0,0 +1,5084 @@ +// Jest Snapshot v1, https://goo.gl/fbAQLP + +exports[`DOM snapshots SLDSMenuDropdown Base 1`] = ` +
    +
    + +
    +
    +`; + +exports[`DOM snapshots SLDSMenuDropdown Base center-aligned 1`] = ` +
    +
    + +
    +
    +`; + +exports[`DOM snapshots SLDSMenuDropdown Base with icon, dropdown left-aligned 1`] = ` +
    +
    + +
    +
    +`; + +exports[`DOM snapshots SLDSMenuDropdown Base with icon, dropdown left-aligned, right-to-left 1`] = ` +
    +
    +
    + +
    +
    +
    +`; + +exports[`DOM snapshots SLDSMenuDropdown Base with icon, dropdown right-aligned 1`] = ` +
    +
    + +
    +
    +`; + +exports[`DOM snapshots SLDSMenuDropdown Base with icon, dropdown right-aligned, right-to-left 1`] = ` +
    +
    +
    + +
    +
    +
    +`; + +exports[`DOM snapshots SLDSMenuDropdown Checkmark 1`] = ` +
    +
    + +
    +
    +`; + +exports[`DOM snapshots SLDSMenuDropdown Checkmark, right-to-left 1`] = ` +
    +
    +
    + +
    +
    +
    +`; + +exports[`DOM snapshots SLDSMenuDropdown Controlled w/ isOpen 1`] = ` +
    +
    +
    +
    + +
    +
    +
    + + + + +
    +
    +
    +`; + +exports[`DOM snapshots SLDSMenuDropdown Custom Content 1`] = ` +
    +
    + +
    +
    +`; + +exports[`DOM snapshots SLDSMenuDropdown Custom Trigger 1`] = ` +
    +
    + +
    +
    +`; + +exports[`DOM snapshots SLDSMenuDropdown Hover 1`] = ` +
    +
    + +
    +
    +`; + +exports[`DOM snapshots SLDSMenuDropdown Hover with Checkmark 1`] = ` +
    +
    + +
    +
    +`; + +exports[`DOM snapshots SLDSMenuDropdown Render inline 1`] = ` +
    +
    + +
    +
    +`; + +exports[`DOM snapshots SLDSMenuDropdown Render inline w/ Nubbins 1`] = ` +
    +
    +
    + + + + + + +
    +
    +
    + +
    +
    +
    +
    +`; + +exports[`DOM snapshots SLDSMenuDropdown Render inline w/ Nubbins, right-to-left 1`] = ` +
    +
    +
    +
    + + + + + + +
    +
    +
    + +
    +
    +
    +
    +
    +`; + +exports[`DOM snapshots SLDSMenuDropdown Two Hovers 1`] = ` +
    +
    +
    + +
    + +
    + +
    +
    +
    +`; + +exports[`DOM snapshots SLDSMenuDropdown With tooltips (open) 1`] = ` +
    + +
    +`; + +exports[`DOM snapshots SLDSTree Base 1`] = ` +
    +
    +
    +

    + Miscellaneous Foods +

    +
      +
    • +
      + + + + Grains + + +
      +
    • +
    +
    +
    +`; + +exports[`DOM snapshots SLDSTree Base with stencil 1`] = ` +
    +
    +
    +

    + Miscellaneous Foods +

    +
      +
    • +
      + + + + Grains + + +
      +
    • +
    +
    +
    +`; + +exports[`DOM snapshots SLDSTree Highlighted Search 1`] = ` +
    +
    +
    +
    + +
    + + + + +
    +
    +
    +
    +
    +

    + Miscellaneous Foods +

    +
      +
    • +
      + + + + + + Grains + + + + +
      +
    • +
    +
    +
    +`; + +exports[`DOM snapshots SLDSTree Initial Expanded/Selected 1`] = ` +
    +
    +
    +

    + Miscellaneous Foods +

    +
      +
    • +
      + + + + Grains + + +
      +
    • +
    • +
      + + + + Fruits + + +
      +
        +
      • +
        + + + + Ground Fruits + + +
        +
          +
        • +
          + + + + Watermelon + + +
          +
        • +
        • +
          + + + + Canteloupe + + +
          +
        • +
        • +
          + + + + Strawberries + + +
          +
        • +
        +
      • + +
    +
    +
    +`; + +exports[`DOM snapshots SLDSTree Multiple Selection 1`] = ` +
    +
    +
    +

    + Miscellaneous Foods +

    +
      +
    • +
      + + + + Grains + + +
      +
    • +
    +
    +
    +`; + +exports[`DOM snapshots SLDSTree No Branch Select 1`] = ` +
    +
    +
    +

    + Miscellaneous Foods +

    +
      +
    • +
      + + + + Grains + + +
      +
    • +
    +
    +
    +`; diff --git a/components/tree/__docs__/dynamic-hashmap.jsx b/components/tree/__docs__/dynamic-hashmap.jsx new file mode 100644 index 0000000000..700ad1a4f0 --- /dev/null +++ b/components/tree/__docs__/dynamic-hashmap.jsx @@ -0,0 +1,32 @@ +/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */ +/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */ + +import { normalize, schema } from 'normalizr'; +import sampleNodes from '../../../utilities/sample-data/tree'; + +/* + [Normalizr](https://github.com/paularmstrong/normalizr) Many APIs, public or not, return JSON data that has deeply nested objects. Using data in this kind of structure is often very difficult for JavaScript applications, especially those using Flux or Redux. + + Normalizr is a small, but powerful utility for taking JSON with a schema definition and returning nested entities with their IDs, gathered in dictionaries. + + Hashmaps or hash tables more easily allow immutability because only one hash entry needs to be overwritten by changes. This prevents anti-patterns like `_.deepClone` or `forceUpdate` renders which update the whole tree instead of limiting the re-render to only the node that changed. React is cool like that. + */ + +// Define Normalzr schema +const nodeEntity = new schema.Entity('nodes'); +const nodes = new schema.Array(nodeEntity); +nodeEntity.define({ nodes }); + +// Convert nested objects to a hashmap +const base = normalize(sampleNodes.base, nodeEntity).entities.nodes; +const initialExpandedSelected = normalize(sampleNodes.initialState, nodeEntity) + .entities.nodes; +const large = normalize(sampleNodes.large, nodeEntity).entities.nodes; + +const hashmap = { + base, + large, + initialExpandedSelected, +}; + +export default hashmap; diff --git a/components/tree/__docs__/storybook-stories.jsx b/components/tree/__docs__/storybook-stories.jsx new file mode 100644 index 0000000000..06f4f97bb8 --- /dev/null +++ b/components/tree/__docs__/storybook-stories.jsx @@ -0,0 +1,63 @@ +/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */ +/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */ + +import React from 'react'; + +import { storiesOf } from '@storybook/react'; +import { action } from '@storybook/addon-actions'; + +import { TREE } from '../../../utilities/constants'; +import sampleNodesDynamicHashMap from './dynamic-hashmap'; + +import DefaultExample from '../__examples__/default'; + +// View the generated hash map +// console.log(JSON.stringify(sampleNodesDynamicHashMap.base)); +// console.log(JSON.stringify(sampleNodesDynamicHashMap.initialExpandedSelected)); +// console.log(JSON.stringify(sampleNodesDynamicHashMap.large)); + +storiesOf(TREE, module) + .addDecorator((getStory) => ( +
    {getStory()}
    + )) + .add('Base', () => ( + + )) + .add('Base with stencil', () => ( + + )) + .add('Initial Expanded/Selected', () => ( + + )) + .add('No Branch Select', () => ( + + )) + .add('Multiple Selection', () => ( + + )) + .add('Assistive Heading', () => ( + + )) + .add('Overflow Hidden NoTest', () => ( + + )) + .add('Large dataset (300+) NoTest', () => ( + + )) + .add('Highlighted Search', () => ( + + )); diff --git a/components/tree/__examples__/default.jsx b/components/tree/__examples__/default.jsx new file mode 100644 index 0000000000..d59a935c96 --- /dev/null +++ b/components/tree/__examples__/default.jsx @@ -0,0 +1,410 @@ +import React from 'react'; + +import IconSettings from '~/components/icon-settings'; +import Tree from '~/components/tree'; +import log from '~/utilities/log'; +import Search from '../../forms/input/search'; + +const sampleNodes = { + 0: { + id: 0, + nodes: [1, 2, 3, 7], + }, + 1: { + label: 'Grains', + type: 'item', + id: 1, + }, + 2: { + label: 'Fruits', + type: 'branch', + id: 2, + nodes: [4, 5], + }, + 3: { + label: 'Nuts', + type: 'branch', + _iconClass: 'glyphicon-file', + id: 3, + nodes: [8, 9, 10, 11], + }, + 4: { + assistiveText: 'Ground Fruits', + label: 'Ground Fruits', + type: 'branch', + id: 4, + nodes: [12, 13, 14], + }, + 5: { + label: 'Tree Fruits', + type: 'branch', + id: 5, + nodes: [15, 16, 17, 18, 19, 6], + }, + 6: { + label: 'Raspberries', + type: 'item', + id: 6, + }, + 7: { + label: 'Empty folder', + type: 'branch', + id: 7, + }, + 8: { + label: 'Almonds', + type: 'item', + id: 8, + }, + 9: { + label: 'Cashews', + type: 'item', + id: 9, + }, + 10: { + label: 'Pecans', + type: 'item', + id: 10, + }, + 11: { + label: 'Walnuts', + type: 'item', + id: 11, + }, + 12: { + label: 'Watermelon', + type: 'item', + id: 12, + }, + 13: { + label: 'Canteloupe', + type: 'item', + _iconClass: 'glyphicon-file', + id: 13, + }, + 14: { + label: 'Strawberries', + type: 'item', + id: 14, + }, + 15: { + label: 'Peaches', + type: 'item', + id: 15, + }, + 16: { + label: 'Pears', + type: 'item', + _iconClass: 'glyphicon-file', + id: 16, + }, + 17: { + label: 'Citrus', + type: 'branch', + id: 17, + nodes: [20, 21, 22, 23], + }, + 18: { + label: 'Apples', + type: 'branch', + id: 18, + nodes: [24, 25, 26, 27], + }, + 19: { + label: 'Cherries', + type: 'branch', + id: 19, + nodes: [28, 29, 30, 31, 32, 33], + }, + 20: { + label: 'Orange', + type: 'item', + id: 20, + }, + 21: { + label: 'Grapefruit', + type: 'item', + id: 21, + }, + 22: { + label: 'Lemon', + type: 'item', + id: 22, + }, + 23: { + label: 'Lime', + type: 'item', + id: 23, + }, + 24: { + label: 'Granny Smith', + type: 'item', + id: 24, + }, + 25: { + label: 'Pinklady', + type: 'item', + _iconClass: 'glyphicon-file', + id: 25, + }, + 26: { + label: 'Rotten', + type: 'item', + id: 26, + }, + 27: { + label: 'Jonathan', + type: 'item', + id: 27, + }, + 28: { + label: 'Balaton', + type: 'item', + id: 28, + }, + 29: { + label: 'Erdi Botermo', + type: 'item', + id: 29, + }, + 30: { + label: 'Montmorency', + type: 'item', + id: 30, + }, + 31: { + label: 'Queen Ann', + type: 'item', + id: 31, + }, + 32: { + label: 'Ulster', + type: 'item', + id: 32, + }, + 33: { + label: 'Viva', + type: 'item', + id: 33, + }, +}; + +/* +Sample of normalized hash table created +{ + "0":{ + "id":0, + "nodes":[ + 1, + 2, + 3, + 7 + ] + }, + "1":{ + "label":"Grains", + "type":"item", + "id":1 + }, + "2":{ + "label":"Fruits", + "type":"branch", + "id":2, + "nodes":[ + 4, + 5 + ] + }, + "3":{ + "label":"Nuts", + "type":"branch", + "_iconClass":"glyphicon-file", + "id":3, + "nodes":[ + 8, + 9, + 10, + 11 + ] + }, + "4":{ + "assistiveText":"Ground Fruits", + "label":{ + "type":"span", + "key":null, + "ref":null, + "props":{ + "children":"Ground Fruits" + }, + "_owner":null, + "_store":{ + + } + }, + "type":"branch", + "id":4, + "nodes":[ + 12, + 13, + 14 + ] + } +} + */ + +class Example extends React.Component { + static displayName = 'DemoTree'; + + static defaultProps = { + heading: 'Miscellaneous Foods', + id: 'example-tree', + }; + + state = { + nodes: this.props.nodes || sampleNodes, + searchTerm: this.props.searchable ? 'fruit' : undefined, + }; + + getNodes = (node) => + node.nodes ? node.nodes.map((id) => this.state.nodes[id]) : []; + + // By default Tree can have multiple selected nodes and folders/branches can be selected. To disable either of these, you can use the following logic. However, `props` are immutable. The node passed in shouldn't be modified. Object and arrays are reference variables. + handleExpandClick = (event, data) => { + log({ + action: this.props.action, + customLog: this.props.log, + event, + eventName: 'Expand Branch', + data, + }); + const selected = data.select ? true : data.node.selected; + this.setState((prevState) => ({ + ...prevState, + nodes: { + ...prevState.nodes, + ...{ + [data.node.id]: { + ...data.node, + expanded: data.expand, + selected, + }, + }, + }, + })); + }; + + handleClick = (event, data) => { + log({ + action: this.props.action, + customLog: this.props.log, + event, + eventName: 'Node Selected', + data, + }); + if (this.props.multipleSelection) { + if ( + !this.props.noBranchSelection || + (this.props.noBranchSelection && data.node.type !== 'branch') + ) { + // Take the previous state, expand it, overwrite the `nodes` key with the previous state's `nodes` key expanded with the id of the node just clicked selected + this.setState((prevState) => ({ + ...prevState, + nodes: { + ...prevState.nodes, + ...{ + [data.node.id]: { ...data.node, selected: data.select }, + }, + }, + })); + } + } else if (this.props.noBranchSelection && data.node.type === 'branch') { + // OPEN BRANCH/FOLDER WHEN CLICKED + // Although not codified in SLDS, this takes the click callback and turns it into the expand callback, and should be used for item only selection. + this.setState((prevState) => ({ + ...prevState, + nodes: { + ...prevState.nodes, + ...{ + [data.node.id]: { ...data.node, expanded: !data.node.expanded }, + }, + }, + })); + } else { + // SINGLE SELECTION + // Take the previous state, expand it, overwrite the `nodes` key with the previous state's `nodes` key expanded with the id of the node just clicked selected and the previously selected node unselected. + this.setState((prevState) => { + // Gaurd against no selection with the following. `selectedNode` + // is the previously selected "current state" that is about to + // be updated + const selectedNode = prevState.selectedNode + ? { + [prevState.selectedNode.id]: { + ...prevState.nodes[prevState.selectedNode.id], + selected: false, + }, + } + : {}; + return { + ...prevState, + nodes: { + ...prevState.nodes, + ...{ + [data.node.id]: { ...data.node, selected: data.select }, + ...selectedNode, + }, + }, + selectedNode: data.node, + }; + }); + } + }; + + handleScroll = (event, data) => { + log({ + action: this.props.action, + event, + eventName: 'Tree scrolled', + data, + }); + }; + + handleSearchChange = (event) => { + this.setState({ searchTerm: event.target.value }); + }; + + render() { + return ( + +
    + {this.props.searchable ? ( +
    + +
    +
    + ) : null} + +
    +
    + ); + } +} + +export default Example; // export is replaced with `ReactDOM.render(, mountNode);` at runtime diff --git a/components/tree/check-props.js b/components/tree/check-props.js new file mode 100644 index 0000000000..481e7eef12 --- /dev/null +++ b/components/tree/check-props.js @@ -0,0 +1,41 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = void 0; + +var _oneOfRequiredProperty = _interopRequireDefault(require("../../utilities/warning/one-of-required-property")); + +var _sunsetProperty = _interopRequireDefault(require("../../utilities/warning/sunset-property")); + +var _getComponentDoc = _interopRequireDefault(require("../../utilities/get-component-doc")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */ + +/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */ + +/* eslint-disable import/no-mutable-exports */ +var checkProps = function checkPropsFunction() {}; + +if (process.env.NODE_ENV !== 'production') { + checkProps = function checkPropsFunction(COMPONENT, props, jsonDoc) { + var createDocUrl = (0, _getComponentDoc.default)(jsonDoc); + /* eslint-disable max-len */ + + (0, _oneOfRequiredProperty.default)(COMPONENT, { + assistiveText: props.assistiveText, + heading: props.heading + }, createDocUrl()); + /* eslint-enable max-len */ + + if (typeof props.assistiveText === 'string') { + (0, _sunsetProperty.default)(COMPONENT, props.assistiveText, 'assistiveText', "`assistiveText` as a string has been deprecated and is now an object to allow for multiple uses in the component. Please use `assistiveText.label` instead. ".concat(createDocUrl('assistiveText'))); + } + }; +} + +var _default = checkProps; +exports.default = _default; \ No newline at end of file diff --git a/components/tree/component.json b/components/tree/component.json new file mode 100644 index 0000000000..dc20115e68 --- /dev/null +++ b/components/tree/component.json @@ -0,0 +1,22 @@ +{ + "component": "tree", + "status": "prod", + "display-name": "Tree", + "classKey": "Tree", + "last-accessibility-review": { + "date-iso-8601": "2018/05/04", + "commit-sha": "5fdeb31982a42cbd37a70d96d6257142cd7eec72" + }, + "last-slds-markup-review": { + "date-iso-8601": "2018/05/04", + "commit-sha": "5fdeb31982a42cbd37a70d96d6257142cd7eec72" + }, + "SLDS-component-path": "/components/trees", + "site-stories": [ + { + "heading": "Default", + "path": "/__examples__/default.jsx" + } + ], + "url-slug": "tree" +} diff --git a/components/tree/index.js b/components/tree/index.js new file mode 100644 index 0000000000..04e6d63f70 --- /dev/null +++ b/components/tree/index.js @@ -0,0 +1,342 @@ +"use strict"; + +function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = void 0; + +var _react = _interopRequireDefault(require("react")); + +var _propTypes = _interopRequireDefault(require("prop-types")); + +var _classnames = _interopRequireDefault(require("classnames")); + +var _lodash = _interopRequireDefault(require("lodash.find")); + +var _branch = _interopRequireDefault(require("./private/branch")); + +var _checkProps = _interopRequireDefault(require("./check-props")); + +var _component = _interopRequireDefault(require("./component.json")); + +var _constants = require("../../utilities/constants"); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; } + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } + +function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); } + +function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } + +function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; } + +function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } + +function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } } + +function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +// ### Prop Types +var propTypes = { + /** + * **Assistive text for accessibility.** + * This object is merged with the default props object on every render. + * * `label`: For users of assistive technology, if set the heading will be hidden. One of `heading` or `assistiveText.label` must be set in order to label the tree. + */ + assistiveText: _propTypes.default.shape({ + label: _propTypes.default.string + }), + + /** + * Class names to be added to the container element which has the heading and the `ul.slds-tree` element as children. + */ + className: _propTypes.default.oneOfType([_propTypes.default.array, _propTypes.default.object, _propTypes.default.string]), + + /** + * Class names to be added to the top-level `ul` element of the tree. + */ + listClassName: _propTypes.default.oneOfType([_propTypes.default.array, _propTypes.default.object, _propTypes.default.string]), + + /** + * A function that will be called by every branch to receive its child nodes. The parent `node` object with the branch data is passed into this function: `getNodes(node)`. If your state engine is Flux or Redux, then your tree data structure will probably be flattened or normalized within the store. This will allow you to build out your tree without transversing an actual tree of data and may be more performant. + */ + getNodes: _propTypes.default.func, + + /** + * This is the tree's heading and describes its contents. It can be hidden, see `assistiveText`. + * */ + heading: _propTypes.default.oneOfType([_propTypes.default.node, _propTypes.default.string]), + + /** + * HTML `id` of primary element that has `.slds-tree` on it. This component has a wrapping container element outside of `.slds-tree`. + */ + id: _propTypes.default.string.isRequired, + + /** + * Array of items starting at the top of the tree. The shape each node in the array is: + * ``` + * { + * expanded: boolean, + * id: string, + * label: string or node, + * selected: boolean, + * type: string, + * nodes: array + * } + * ``` + * `assistiveText: string` is optional and helpful if the label is not a string. Only `id` and `label` are required. Use `type: 'branch'` for folder and categories. + */ + nodes: _propTypes.default.arrayOf(_propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.string, _propTypes.default.shape({ + id: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.string]).isRequired, + label: _propTypes.default.oneOfType([_propTypes.default.node, _propTypes.default.string]).isRequired, + type: _propTypes.default.string.isRequired + })])).isRequired, + + /** + * Function that will run whenever an item or branch is selected due to click or keyboard navigation. + */ + onClick: _propTypes.default.func.isRequired, + + /** + * This function triggers when the expand or collapse icon is clicked or due to keyboard navigation. + */ + onExpandClick: _propTypes.default.func.isRequired, + + /** + * This function triggers when the top-level `ul` element scrolls. This can be used to implement an "infinite scroll" pattern and update the `nodes` prop accordingly. + */ + onScroll: _propTypes.default.func, + + /** + * Highlights term if found in node label. This does not auto-expand branches. + */ + searchTerm: _propTypes.default.string, + + /** + * Styles to be added to the top-level `ul` element. Useful for `overflow:hidden`. + */ + listStyle: _propTypes.default.object +}; +var defaultProps = { + assistiveText: {}, + getNodes: function getNodes(node) { + return node.nodes; + } +}; +/* Flattens hierarchical tree structure into a flat array. The + * first item in the array is the whole tree and therefore should be + * removed with `slice(1)`.` This means that root cannot call `getNodes()` + * and should directly reference the `nodes` key. All level after that + * should use `getNodes()` to access the correct nodes. + */ + +var flattenTree = function flattenTree(root, getNodes) { + var treeIndex = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : ''; + var firstLevel = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : true; + + if (!root.nodes) { + return [{ + node: root, + treeIndex: treeIndex + }]; + } + + var nodes = [{ + node: root, + treeIndex: treeIndex + }]; + + if (root.expanded) { + // eslint-disable-next-line fp/no-loops + for (var index = 0; index < root.nodes.length; index += 1) { + var curNode = firstLevel ? root.nodes[index] : getNodes(root)[index]; + nodes = nodes.concat(flattenTree(curNode, getNodes, treeIndex ? "".concat(treeIndex, "-").concat(index) : "".concat(index), false)); + } + } + + return nodes; +}; +/** + * A tree is visualization of a structure hierarchy. A branch can be expanded or collapsed. This is a controlled component, since visual state is present in the `nodes` data. + */ + + +var Tree = /*#__PURE__*/function (_React$Component) { + _inherits(Tree, _React$Component); + + var _super = _createSuper(Tree); + + function Tree(props) { + var _this; + + _classCallCheck(this, Tree); + + _this = _super.call(this, props); // Find the first selected node and initialize it properly so that can be tabbed to. If no node is selected, it will be selected upon first focus. + + _defineProperty(_assertThisInitialized(_this), "handleSelect", function (_ref) { + var event = _ref.event, + data = _ref.data, + clearSelectedNodes = _ref.clearSelectedNodes, + fromFocus = _ref.fromFocus; + + // When triggered by a key event, other nodes should be deselected. + if (clearSelectedNodes) { + // TODO: This bad design. This is state modfication. State should be changed via setState only. + _this.state.flattenedNodes.forEach(function (flattenedNode) { + if (flattenedNode.node.selected) { + // eslint-disable-next-line no-param-reassign + flattenedNode.node.selected = false; + } + }); + } // Prevent firing twice on first click, due to the handleSelect + // triggered by a focus event + + + if (!fromFocus) { + _this.props.onClick(event, data); + } // Keep track of the currently selected and focused nodes. + + + var selectedNodeIndexes; + + if (data.select) { + selectedNodeIndexes = _this.state.selectedNodeIndexes.concat([data.treeIndex]); + } else { + selectedNodeIndexes = _this.state.selectedNodeIndexes.filter(function (treeIndex) { + return treeIndex !== data.treeIndex; + }); + } + + _this.treeHasFocus = true; + + _this.setState({ + focusedNodeIndex: data.treeIndex, + selectedNodeIndexes: selectedNodeIndexes + }); + }); + + _defineProperty(_assertThisInitialized(_this), "handleNodeBlur", function () { + // There is no need to render when blurring a node because focus is either: + // - outside of the tree, or + // - focused on another node in the tree, which triggers its own render + _this.treeHasFocus = false; + }); + + _defineProperty(_assertThisInitialized(_this), "handleExpand", function (_ref2) { + var event = _ref2.event, + data = _ref2.data; + _this.treeHasFocus = true; + + _this.props.onExpandClick(event, data); + + if (data.select) { + _this.setState({ + focusedNodeIndex: data.treeIndex + }); + } + }); + + var flattenedNodes = flattenTree({ + nodes: _this.props.getNodes({ + nodes: _this.props.nodes + }), + expanded: true + }, _this.props.getNodes).slice(1); + var selectedNode = (0, _lodash.default)(flattenedNodes, function (curNode) { + return curNode.node.selected; + }); + var _selectedNodeIndexes = []; + var focusedNodeIndex; + + if (selectedNode) { + // eslint-disable-next-line fp/no-mutating-methods + _selectedNodeIndexes.push(selectedNode.treeIndex); + + focusedNodeIndex = selectedNode.treeIndex; + } + + _this.state = { + flattenedNodes: flattenedNodes, + selectedNodeIndexes: _selectedNodeIndexes, + focusedNodeIndex: focusedNodeIndex + }; + (0, _checkProps.default)(_constants.TREE, props, _component.default); + return _this; + } + + _createClass(Tree, [{ + key: "render", + value: function render() { + // One of these is required to pass accessibility tests + var assistiveText = typeof this.props.assistiveText === 'string' ? this.props.assistiveText : _objectSpread(_objectSpread({}, defaultProps.assistiveText), this.props.assistiveText).label; + var headingText = assistiveText || this.props.heading; // Start the zero level branch--that is the tree root. There is no label for + // the tree root, but is required by all other nodes + + return /*#__PURE__*/_react.default.createElement("div", { + id: this.props.id, + className: (0, _classnames.default)('slds-tree_container', this.props.className) + /* role="application" */ + + }, /*#__PURE__*/_react.default.createElement("h4", { + className: (0, _classnames.default)('slds-tree__group-header', { + 'slds-assistive-text': assistiveText + }), + id: "".concat(this.props.id, "__heading") + }, headingText), /*#__PURE__*/_react.default.createElement(_branch.default, { + getNodes: this.props.getNodes, + initalClassName: this.props.listClassName, + htmlId: this.props.id, + initialStyle: this.props.listStyle, + level: 0, + node: { + nodes: this.props.nodes + }, + flattenedNodes: this.state.flattenedNodes, + selectedNodeIndexes: this.state.selectedNodeIndexes, + focusedNodeIndex: this.state.focusedNodeIndex, + treeHasFocus: this.treeHasFocus, + onNodeBlur: this.handleNodeBlur, + onSelect: this.handleSelect, + onExpand: this.handleExpand, + onScroll: this.props.onScroll, + searchTerm: this.props.searchTerm, + treeId: this.props.id + })); + } + }], [{ + key: "getDerivedStateFromProps", + value: function getDerivedStateFromProps(nextProps) { + return { + flattenedNodes: flattenTree({ + nodes: nextProps.getNodes({ + nodes: nextProps.nodes + }), + expanded: true + }, nextProps.getNodes).slice(1) + }; + } + }]); + + return Tree; +}(_react.default.Component); + +Tree.displayName = _constants.TREE; +Tree.propTypes = propTypes; +Tree.defaultProps = defaultProps; +var _default = Tree; +exports.default = _default; \ No newline at end of file diff --git a/components/tree/private/branch.d.ts b/components/tree/private/branch.d.ts new file mode 100644 index 0000000000..d10eab94f9 --- /dev/null +++ b/components/tree/private/branch.d.ts @@ -0,0 +1,85 @@ +declare module '@salesforce/design-system-react/components/tree/private/branch' { + import React from 'react'; + type Props = { + /** + * A function that will be called by every branch to receive its child nodes. The parent `node` object with the branch data is passed into this function: `getNodes(node)`. If your state engine is Flux or Redux, then your tree data structure will probably be flattened or normalized within the store. This will allow you to build out your tree without transversing an actual tree of data and may be more performant. + */ + getNodes?: (v: any) => any; + /** + * HTML `id` of the wrapping container element joined with the `id` of the node. This will recursively increase as the tree depth increases. + */ + htmlId: number | string /*.isRequired*/; + /** + * All tree nodes must have a unique HTML `id` for users of assistive technology. If no `id` key is present in the is provided, one will be generated. + */ + index?: number; + /** + * Determines if nodes in the top-level of the tree. + */ + initial?: boolean; + /* + * Class names to be added to the top-level `ul` element. + */ + initalClassName?: any[] | Record | string; + initialStyle?: Record; + /** + * The text of the tree item. + */ + label?: React.ReactNode | string; + /** + * The number of nestings. Determines the ARIA level and style alignment. + */ + level: number /*.isRequired*/; + /** + * The current node that is being rendered. + */ + node: Record /*.isRequired*/; + /** + * Function that will run whenever an item or branch is selected (click or keyboard). + */ + onSelect?: (v: any) => any; + /** + * This function triggers when the expand or collapse icon is clicked. + */ + onExpand: (v: any) => any /*.isRequired*/; + /** + * Highlights term if found in node label + */ + searchTerm?: string; + /** + * Unique id used for a prefix of all tree nodes. This is the prefix for subsequent `htmlId` props. + */ + treeId?: string; + /** + * Location of node (zero index). First node is `0`. It's first child is `0-0`. This can be used to modify your nodes without searching for the node. This index is only valid if the `nodes` prop is the same as at the time of the event. + */ + treeIndex?: string; + /** + * Flattened tree structure. + */ + flattenedNodes?: Record[]; + /** + * Tree indexes of nodes that are currently selected. + */ + selectedNodeIndexes?: string[]; + /** + * Tree index of the node that is currently focused. + */ + focusedNodeIndex?: string; + /** + * Callback for when a node is blurred. + */ + onNodeBlur?: (v: any) => any; + /** + * Sets focus on render. + */ + treeHasFocus?: boolean; + /** + * This node's parent. + */ + parent?: Record; + }; + + function Component(props: Props): React.ReactNode; + export default Component; +} diff --git a/components/tree/private/branch.js b/components/tree/private/branch.js new file mode 100644 index 0000000000..4b0cb74c6f --- /dev/null +++ b/components/tree/private/branch.js @@ -0,0 +1,209 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = void 0; + +var _react = _interopRequireDefault(require("react")); + +var _propTypes = _interopRequireDefault(require("prop-types")); + +var _shortid = _interopRequireDefault(require("shortid")); + +var _item = _interopRequireDefault(require("./item")); + +var _renderInitialBranch = _interopRequireDefault(require("./render-initial-branch")); + +var _renderBranch = _interopRequireDefault(require("./render-branch")); + +var _constants = require("../../../utilities/constants"); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */ + +/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */ +// # Tree Branch Component +// Child components + +/** + * A Tree Item is a non-branching node in a hierarchical list. + */ +var Branch = function Branch(props) { + var treeIndex = ''; + var children; + var treeId = props.treeId, + level = props.level, + onExpand = props.onExpand, + searchTerm = props.searchTerm; + + if (Array.isArray(props.getNodes(props.node))) { + children = props.getNodes(props.node).map(function (node, index) { + var child; + var htmlId = "".concat(props.treeId, "-").concat(node.id); + treeIndex = "".concat(index); + + if (props.treeIndex) { + treeIndex = "".concat(props.treeIndex, "-").concat(treeIndex); + } + + if (node.type === 'branch') { + child = /*#__PURE__*/_react.default.createElement(Branch, { + getNodes: props.getNodes, + htmlId: htmlId, + key: node.id, + label: node.label, + level: level + 1, + node: node, + flattenedNodes: props.flattenedNodes, + selectedNodeIndexes: props.selectedNodeIndexes, + focusedNodeIndex: props.focusedNodeIndex, + treeHasFocus: props.treeHasFocus, + onNodeBlur: props.onNodeBlur, + nodes: node.nodes, + onSelect: props.onSelect, + onExpand: onExpand, + searchTerm: searchTerm, + treeId: treeId, + treeIndex: treeIndex, + parent: props.node + }); + } else { + child = /*#__PURE__*/_react.default.createElement(_item.default, { + label: node.label, + htmlId: htmlId, + key: _shortid.default.generate(), + level: level + 1, + node: node, + flattenedNodes: props.flattenedNodes, + selectedNodeIndexes: props.selectedNodeIndexes, + focusedNodeIndex: props.focusedNodeIndex, + treeHasFocus: props.treeHasFocus, + onNodeBlur: props.onNodeBlur, + onSelect: props.onSelect, + onExpand: onExpand, + searchTerm: searchTerm, + treeIndex: treeIndex, + treeId: treeId, + parent: props.node + }); + } + + return child; + }); + } + + var branch = props.level === 0 ? (0, _renderInitialBranch.default)(children, props) : (0, _renderBranch.default)(children, props); + return branch; +}; // ### Display Name +// Always use the canonical component name as the React display name. + + +Branch.displayName = _constants.TREE_BRANCH; // ### Prop Types + +Branch.propTypes = { + /** + * A function that will be called by every branch to receive its child nodes. The parent `node` object with the branch data is passed into this function: `getNodes(node)`. If your state engine is Flux or Redux, then your tree data structure will probably be flattened or normalized within the store. This will allow you to build out your tree without transversing an actual tree of data and may be more performant. + */ + getNodes: _propTypes.default.func, + + /** + * HTML `id` of the wrapping container element joined with the `id` of the node. This will recursively increase as the tree depth increases. + */ + htmlId: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.string]).isRequired, + + /** + * All tree nodes must have a unique HTML `id` for users of assistive technology. If no `id` key is present in the is provided, one will be generated. + */ + index: _propTypes.default.number, + + /** + * Determines if nodes in the top-level of the tree. + */ + initial: _propTypes.default.bool, + + /* + * Class names to be added to the top-level `ul` element. + */ + initalClassName: _propTypes.default.oneOfType([_propTypes.default.array, _propTypes.default.object, _propTypes.default.string]), + initialStyle: _propTypes.default.object, + + /** + * The text of the tree item. + */ + label: _propTypes.default.oneOfType([_propTypes.default.node, _propTypes.default.string]), + + /** + * The number of nestings. Determines the ARIA level and style alignment. + */ + level: _propTypes.default.number.isRequired, + + /** + * The current node that is being rendered. + */ + node: _propTypes.default.object.isRequired, + + /** + * Function that will run whenever an item or branch is selected (click or keyboard). + */ + onSelect: _propTypes.default.func, + + /** + * This function triggers when the expand or collapse icon is clicked. + */ + onExpand: _propTypes.default.func.isRequired, + + /** + * Highlights term if found in node label + */ + searchTerm: _propTypes.default.string, + + /** + * Unique id used for a prefix of all tree nodes. This is the prefix for subsequent `htmlId` props. + */ + treeId: _propTypes.default.string, + + /** + * Location of node (zero index). First node is `0`. It's first child is `0-0`. This can be used to modify your nodes without searching for the node. This index is only valid if the `nodes` prop is the same as at the time of the event. + */ + treeIndex: _propTypes.default.string, + + /** + * Flattened tree structure. + */ + flattenedNodes: _propTypes.default.arrayOf(_propTypes.default.object), + + /** + * Tree indexes of nodes that are currently selected. + */ + selectedNodeIndexes: _propTypes.default.arrayOf(_propTypes.default.string), + + /** + * Tree index of the node that is currently focused. + */ + focusedNodeIndex: _propTypes.default.string, + + /** + * Callback for when a node is blurred. + */ + onNodeBlur: _propTypes.default.func, + + /** + * Sets focus on render. + */ + treeHasFocus: _propTypes.default.bool, + + /** + * This node's parent. + */ + parent: _propTypes.default.object +}; +Branch.defaultProps = { + level: 0, + label: '', + treeIndex: '', + selectedNodeIndexes: [] +}; +var _default = Branch; +exports.default = _default; \ No newline at end of file diff --git a/components/tree/private/item.d.ts b/components/tree/private/item.d.ts new file mode 100644 index 0000000000..e46019b720 --- /dev/null +++ b/components/tree/private/item.d.ts @@ -0,0 +1,68 @@ +declare module '@salesforce/design-system-react/components/tree/private/item' { + import React from 'react'; + type Props = { + /** + * HTML `id` of the wrapping container element joined with the `id` of the node. This will recursively increase as the tree depth increases. + */ + htmlId: string /*.isRequired*/; + /** + * The text of the tree item. + */ + label: React.ReactNode | string /*.isRequired*/; + /** + * The number of nestings. Determines the ARIA level and style alignment. + */ + level: number /*.isRequired*/; + /** + * The current node that is being rendered. + */ + node: Record /*.isRequired*/; + /** + * This function triggers when the expand or collapse icon is clicked or due to keyboard navigation. + */ + onExpand: (v: any) => any /*.isRequired*/; + /** + * Function that will run whenever an item or branch is selected (click or keyboard). + */ + onSelect?: (v: any) => any; + /** + * Highlights term if found in node label + */ + searchTerm?: string; + /** + * Unique id used for a prefix of all tree nodes + */ + treeId?: string; + /** + * Location of node (zero index). First node is `0`. It's first child is `0-0`. This can be used to modify your nodes without searching for the node. This index is only valid if the `nodes` prop is the same as at the time of the event. + */ + treeIndex?: string; + /** + * Flattened tree structure. + */ + flattenedNodes?: Record[]; + /** + * Tree indexes of nodes that are currently selected. + */ + selectedNodeIndexes?: string[]; + /** + * Tree index of the node that is currently focused. + */ + focusedNodeIndex?: string; + /** + * Callback for when a node is blurred. + */ + onNodeBlur?: (v: any) => any; + /** + * Sets focus on render. + */ + treeHasFocus?: boolean; + /** + * This node's parent. + */ + parent?: Record; + }; + + function Component(props: Props): React.ReactNode; + export default Component; +} diff --git a/components/tree/private/item.js b/components/tree/private/item.js new file mode 100644 index 0000000000..31c8832818 --- /dev/null +++ b/components/tree/private/item.js @@ -0,0 +1,318 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = void 0; + +var _react = _interopRequireDefault(require("react")); + +var _propTypes = _interopRequireDefault(require("prop-types")); + +var _classnames = _interopRequireDefault(require("classnames")); + +var _lodash = _interopRequireDefault(require("lodash.findindex")); + +var _lodash2 = _interopRequireDefault(require("lodash.isfunction")); + +var _button = _interopRequireDefault(require("../../button")); + +var _highlighter = _interopRequireDefault(require("../../utilities/highlighter")); + +var _event = _interopRequireDefault(require("../../../utilities/event")); + +var _keyCode = _interopRequireDefault(require("../../../utilities/key-code")); + +var _keyCallbacks = _interopRequireDefault(require("../../../utilities/key-callbacks")); + +var _constants = require("../../../utilities/constants"); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var handleSelect = function handleSelect(_ref) { + var event = _ref.event, + props = _ref.props, + fromFocus = _ref.fromFocus; + + _event.default.trap(event); + + if ((0, _lodash2.default)(props.onSelect)) { + props.onSelect({ + event: event, + data: { + node: props.node, + select: !props.node.selected, + treeIndex: props.treeIndex + }, + fromFocus: fromFocus + }); + } +}; + +var findNextNode = function findNextNode(flattenedNodes, node) { + var nodes = flattenedNodes.map(function (flattenedNode) { + return flattenedNode.node; + }); + var index = (0, _lodash.default)(nodes, { + id: node.id + }); + return flattenedNodes[(index + 1) % flattenedNodes.length]; +}; + +var findPreviousNode = function findPreviousNode(flattenedNodes, node) { + var nodes = flattenedNodes.map(function (flattenedNode) { + return flattenedNode.node; + }); + var index = (0, _lodash.default)(nodes, { + id: node.id + }) - 1; + + if (index < 0) { + index += flattenedNodes.length; + } + + return flattenedNodes[index]; +}; + +var handleKeyDownDown = function handleKeyDownDown(event, props) { + if (props.focusedNodeIndex === props.treeIndex) { + // Select the next visible node + var flattenedNode = findNextNode(props.flattenedNodes, props.node); + props.onSelect({ + event: event, + data: { + node: flattenedNode.node, + select: true, + treeIndex: flattenedNode.treeIndex + }, + clearSelectedNodes: true + }); + } +}; + +var handleKeyDownUp = function handleKeyDownUp(event, props) { + if (props.focusedNodeIndex === props.treeIndex) { + // Go to the previous visible node + var flattenedNode = findPreviousNode(props.flattenedNodes, props.node); + props.onSelect({ + event: event, + data: { + node: flattenedNode.node, + select: true, + treeIndex: flattenedNode.treeIndex + }, + clearSelectedNodes: true + }); + } +}; + +var handleKeyDownLeft = function handleKeyDownLeft(event, props) { + var nodes = props.flattenedNodes.map(function (flattenedNode) { + return flattenedNode.node; + }); + var index = (0, _lodash.default)(nodes, { + id: props.parent.id + }); + + if (index !== -1) { + props.onExpand({ + event: event, + data: { + node: props.parent, + select: true, + expand: !props.parent.expanded, + treeIndex: props.flattenedNodes[index].treeIndex + } + }); + } +}; + +var handleKeyDownEnter = function handleKeyDownEnter(event, props) { + handleSelect({ + event: event, + props: props + }); +}; + +var handleKeyDown = function handleKeyDown(event, props) { + var _callbacks; + + (0, _keyCallbacks.default)(event, { + callbacks: (_callbacks = {}, _defineProperty(_callbacks, _keyCode.default.DOWN, { + callback: function callback(evt) { + return handleKeyDownDown(evt, props); + } + }), _defineProperty(_callbacks, _keyCode.default.UP, { + callback: function callback(evt) { + return handleKeyDownUp(evt, props); + } + }), _defineProperty(_callbacks, _keyCode.default.LEFT, { + callback: function callback(evt) { + return handleKeyDownLeft(evt, props); + } + }), _defineProperty(_callbacks, _keyCode.default.ENTER, { + callback: function callback(evt) { + return handleKeyDownEnter(evt, props); + } + }), _callbacks) + }); +}; + +var handleFocus = function handleFocus(event, props) { + if (!props.treeHasFocus && !props.focusedNodeIndex && event.target === event.currentTarget) { + handleSelect({ + event: event, + props: props + }); + } +}; + +var getTabIndex = function getTabIndex(props) { + var initialFocus = props.selectedNodeIndexes.length === 0 && props.treeIndex === props.flattenedNodes[0].treeIndex; + return props.treeIndex === props.focusedNodeIndex || initialFocus ? 0 : -1; +}; +/** + * A Tree Item is a non-branching node in a hierarchical list. + */ + + +var Item = function Item(props) { + var isSelected = props.node.selected; + var isFocused = props.treeIndex === props.focusedNodeIndex; + return /*#__PURE__*/_react.default.createElement("li", { + id: "".concat(props.treeId, "-").concat(props.node.id), + role: "treeitem", + "aria-level": props.level, + "aria-selected": isSelected ? 'true' : 'false', + tabIndex: getTabIndex(props), + onKeyDown: function onKeyDown(event) { + return handleKeyDown(event, props); + }, + onFocus: function onFocus(event) { + return handleFocus(event, props); + }, + onBlur: props.onNodeBlur, + ref: function ref(component) { + if (props.treeHasFocus && component && isFocused) { + component.focus(); + } + } + }, /*#__PURE__*/_react.default.createElement("div", { + className: (0, _classnames.default)('slds-tree__item', { + 'slds-is-selected': isSelected + }), + onClick: function onClick(event) { + handleSelect({ + event: event, + props: props + }); + } + }, /*#__PURE__*/_react.default.createElement(_button.default, { + tabIndex: "-1", + "aria-hidden": true, + assistiveText: { + icon: '' + }, + role: "presentation", + iconCategory: "utility", + iconName: "chevronright", + iconSize: "small", + variant: "icon", + className: "slds-m-right_small slds-is-disabled", + disabled: true + }), /*#__PURE__*/_react.default.createElement("span", { + className: "slds-size_1-of-1" + }, /*#__PURE__*/_react.default.createElement(_highlighter.default, { + search: props.searchTerm, + className: "slds-tree__item-label slds-truncate" + }, props.label)))); +}; // ### Display Name +// Always use the canonical component name as the React display name. + + +Item.displayName = _constants.TREE_ITEM; // ### Prop Types + +Item.propTypes = { + /** + * HTML `id` of the wrapping container element joined with the `id` of the node. This will recursively increase as the tree depth increases. + */ + htmlId: _propTypes.default.string.isRequired, + + /** + * The text of the tree item. + */ + label: _propTypes.default.oneOfType([_propTypes.default.node, _propTypes.default.string]).isRequired, + + /** + * The number of nestings. Determines the ARIA level and style alignment. + */ + level: _propTypes.default.number.isRequired, + + /** + * The current node that is being rendered. + */ + node: _propTypes.default.object.isRequired, + + /** + * This function triggers when the expand or collapse icon is clicked or due to keyboard navigation. + */ + onExpand: _propTypes.default.func.isRequired, + + /** + * Function that will run whenever an item or branch is selected (click or keyboard). + */ + onSelect: _propTypes.default.func, + + /** + * Highlights term if found in node label + */ + searchTerm: _propTypes.default.string, + + /** + * Unique id used for a prefix of all tree nodes + */ + treeId: _propTypes.default.string, + + /** + * Location of node (zero index). First node is `0`. It's first child is `0-0`. This can be used to modify your nodes without searching for the node. This index is only valid if the `nodes` prop is the same as at the time of the event. + */ + treeIndex: _propTypes.default.string, + + /** + * Flattened tree structure. + */ + flattenedNodes: _propTypes.default.arrayOf(_propTypes.default.object), + + /** + * Tree indexes of nodes that are currently selected. + */ + selectedNodeIndexes: _propTypes.default.arrayOf(_propTypes.default.string), + + /** + * Tree index of the node that is currently focused. + */ + focusedNodeIndex: _propTypes.default.string, + + /** + * Callback for when a node is blurred. + */ + onNodeBlur: _propTypes.default.func, + + /** + * Sets focus on render. + */ + treeHasFocus: _propTypes.default.bool, + + /** + * This node's parent. + */ + parent: _propTypes.default.object +}; +Item.defaultProps = { + selected: false, + selectedNodeIndexes: [] +}; +var _default = Item; +exports.default = _default; \ No newline at end of file diff --git a/components/tree/private/render-branch.d.ts b/components/tree/private/render-branch.d.ts new file mode 100644 index 0000000000..de45c8df59 --- /dev/null +++ b/components/tree/private/render-branch.d.ts @@ -0,0 +1,64 @@ +declare module '@salesforce/design-system-react/components/tree/private/render-branch' { + import React from 'react'; + type Props = { + /** + * HTML `id` of primary element that has `.slds-tree` on it. This component has a wrapping container element outside of `.slds-tree`. + */ + htmlId: number | string /*.isRequired*/; + /** + * The text of the tree item. + */ + label?: React.ReactNode | string; + /** + * The number of nestings. Determines the ARIA level and style alignment. + */ + level: number /*.isRequired*/; + /** + * The current node that is being rendered. + */ + node: Record /*.isRequired*/; + /** + * This function triggers when the expand or collapse icon is clicked or due to keyboard navigation. + */ + onExpand: (v: any) => any /*.isRequired*/; + /** + * Function that will run whenever an item or branch is clicked. + */ + onSelect?: (v: any) => any; + /** + * Highlights term if found in node label + */ + searchTerm?: string; + /** + * Location of node (zero index). First node is `0`. It's first child is `0-0`. This can be used to modify your nodes without searching for the node. This index is only valid if the `nodes` prop is the same as at the time of the event. + */ + treeIndex?: string; + /** + * Flattened tree structure. + */ + flattenedNodes?: Record[]; + /** + * Tree indexes of nodes that are currently selected. + */ + selectedNodeIndexes?: string[]; + /** + * Tree index of the node that is currently focused. + */ + focusedNodeIndex?: string; + /** + * Callback for when a node is blurred. + */ + onNodeBlur?: (v: any) => any; + /** + * Sets focus on render. + */ + treeHasFocus?: boolean; + /** + * This node's parent. + */ + parent?: Record; + }; + + function Component(props: Props): React.ReactNode; + export default Component; +} diff --git a/components/tree/private/render-branch.js b/components/tree/private/render-branch.js new file mode 100644 index 0000000000..3593f359c9 --- /dev/null +++ b/components/tree/private/render-branch.js @@ -0,0 +1,389 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = void 0; + +var _react = _interopRequireDefault(require("react")); + +var _propTypes = _interopRequireDefault(require("prop-types")); + +var _lodash = _interopRequireDefault(require("lodash.findindex")); + +var _lodash2 = _interopRequireDefault(require("lodash.isfunction")); + +var _classnames = _interopRequireDefault(require("classnames")); + +var _button = _interopRequireDefault(require("../../button")); + +var _highlighter = _interopRequireDefault(require("../../utilities/highlighter")); + +var _event = _interopRequireDefault(require("../../../utilities/event")); + +var _keyCode = _interopRequireDefault(require("../../../utilities/key-code")); + +var _keyCallbacks = _interopRequireDefault(require("../../../utilities/key-callbacks")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var propTypes = { + /** + * HTML `id` of primary element that has `.slds-tree` on it. This component has a wrapping container element outside of `.slds-tree`. + */ + htmlId: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.string]).isRequired, + + /** + * The text of the tree item. + */ + label: _propTypes.default.oneOfType([_propTypes.default.node, _propTypes.default.string]), + + /** + * The number of nestings. Determines the ARIA level and style alignment. + */ + level: _propTypes.default.number.isRequired, + + /** + * The current node that is being rendered. + */ + node: _propTypes.default.object.isRequired, + + /** + * This function triggers when the expand or collapse icon is clicked or due to keyboard navigation. + */ + onExpand: _propTypes.default.func.isRequired, + + /** + * Function that will run whenever an item or branch is clicked. + */ + onSelect: _propTypes.default.func, + + /** + * Highlights term if found in node label + */ + searchTerm: _propTypes.default.string, + + /** + * Location of node (zero index). First node is `0`. It's first child is `0-0`. This can be used to modify your nodes without searching for the node. This index is only valid if the `nodes` prop is the same as at the time of the event. + */ + treeIndex: _propTypes.default.string, + + /** + * Flattened tree structure. + */ + flattenedNodes: _propTypes.default.arrayOf(_propTypes.default.object), + + /** + * Tree indexes of nodes that are currently selected. + */ + selectedNodeIndexes: _propTypes.default.arrayOf(_propTypes.default.string), + + /** + * Tree index of the node that is currently focused. + */ + focusedNodeIndex: _propTypes.default.string, + + /** + * Callback for when a node is blurred. + */ + onNodeBlur: _propTypes.default.func, + + /** + * Sets focus on render. + */ + treeHasFocus: _propTypes.default.bool, + + /** + * This node's parent. + */ + parent: _propTypes.default.object +}; + +var handleExpand = function handleExpand(event, props) { + _event.default.trap(event); + + if ((0, _lodash2.default)(props.onExpand)) { + props.onExpand({ + event: event, + data: { + node: props.node, + expand: !props.node.expanded, + treeIndex: props.treeIndex + } + }); + } +}; + +var handleSelect = function handleSelect(_ref) { + var event = _ref.event, + props = _ref.props, + fromFocus = _ref.fromFocus; + + _event.default.trap(event); + + if ((0, _lodash2.default)(props.onSelect)) { + props.onSelect({ + event: event, + data: { + node: props.node, + select: !props.node.selected, + treeIndex: props.treeIndex + }, + fromFocus: fromFocus + }); + } +}; + +var findNextNode = function findNextNode(flattenedNodes, node) { + var nodes = flattenedNodes.map(function (flattenedNode) { + return flattenedNode.node; + }); + var index = (0, _lodash.default)(nodes, { + id: node.id + }); + return flattenedNodes[(index + 1) % flattenedNodes.length]; +}; + +var findPreviousNode = function findPreviousNode(flattenedNodes, node) { + var nodes = flattenedNodes.map(function (flattenedNode) { + return flattenedNode.node; + }); + var index = (0, _lodash.default)(nodes, { + id: node.id + }) - 1; + + if (index < 0) { + index += flattenedNodes.length; + } + + return flattenedNodes[index]; +}; + +var handleKeyDownDown = function handleKeyDownDown(event, props) { + if (props.focusedNodeIndex === props.treeIndex) { + // Select the next visible node + var flattenedNode = findNextNode(props.flattenedNodes, props.node); + props.onSelect({ + event: event, + data: { + node: flattenedNode.node, + select: true, + treeIndex: flattenedNode.treeIndex + }, + clearSelectedNodes: true + }); + } +}; + +var handleKeyDownUp = function handleKeyDownUp(event, props) { + if (props.focusedNodeIndex === props.treeIndex) { + // Go to the previous visible node + var flattenedNode = findPreviousNode(props.flattenedNodes, props.node); + props.onSelect({ + event: event, + data: { + node: flattenedNode.node, + select: true, + treeIndex: flattenedNode.treeIndex + }, + clearSelectedNodes: true + }); + } +}; + +var handleKeyDownRight = function handleKeyDownRight(event, props) { + if (props.node.expanded) { + if (props.getNodes(props.node) && props.getNodes(props.node).length > 0) { + handleKeyDownDown(event, props); + } + } else { + handleExpand(event, props); + } +}; + +var handleKeyDownLeft = function handleKeyDownLeft(event, props) { + if (props.node.expanded) { + handleExpand(event, props); + } else { + var nodes = props.flattenedNodes.map(function (flattenedNode) { + return flattenedNode.node; + }); + var index = (0, _lodash.default)(nodes, { + id: props.parent.id + }); + + if (index !== -1) { + props.onExpand({ + event: event, + data: { + node: props.parent, + select: true, + expand: !props.parent.expanded, + treeIndex: props.flattenedNodes[index].treeIndex + } + }); + } + } +}; + +var handleKeyDownEnter = function handleKeyDownEnter(event, props) { + handleSelect({ + event: event, + props: props + }); +}; + +var handleKeyDown = function handleKeyDown(event, props) { + var _callbacks; + + (0, _keyCallbacks.default)(event, { + callbacks: (_callbacks = {}, _defineProperty(_callbacks, _keyCode.default.DOWN, { + callback: function callback(evt) { + return handleKeyDownDown(evt, props); + } + }), _defineProperty(_callbacks, _keyCode.default.UP, { + callback: function callback(evt) { + return handleKeyDownUp(evt, props); + } + }), _defineProperty(_callbacks, _keyCode.default.RIGHT, { + callback: function callback(evt) { + return handleKeyDownRight(evt, props); + } + }), _defineProperty(_callbacks, _keyCode.default.LEFT, { + callback: function callback(evt) { + return handleKeyDownLeft(evt, props); + } + }), _defineProperty(_callbacks, _keyCode.default.ENTER, { + callback: function callback(evt) { + return handleKeyDownEnter(evt, props); + } + }), _callbacks) + }); +}; + +var handleFocus = function handleFocus(event, props) { + if (!props.treeHasFocus && !props.focusedNodeIndex && event.target === event.currentTarget) { + // did it happen by mouse? + handleSelect({ + event: event, + props: props, + fromFocus: true + }); + } +}; + +var getTabIndex = function getTabIndex(props) { + var initialFocus = props.selectedNodeIndexes.length === 0 && props.treeIndex === props.flattenedNodes[0].treeIndex; + return props.treeIndex === props.focusedNodeIndex || initialFocus ? 0 : -1; +}; // Most of these props come from the nodes array, not from the Tree props + + +var RenderBranch = function RenderBranch(children, props) { + var isExpanded = props.node.expanded; + var isSelected = props.node.selected; + var isFocused = props.treeIndex === props.focusedNodeIndex; + var isLoading = props.node.loading; + + var loader = /*#__PURE__*/_react.default.createElement("div", { + style: { + display: 'block', + paddingLeft: "".concat(1.5 * props.level + 1.5, "rem"), + marginTop: '.5rem' + } + }, /*#__PURE__*/_react.default.createElement("div", { + style: { + borderRadius: '15rem', + display: 'block', + marginBottom: '.75rem', + height: '.5rem', + backgroundColor: 'rgb(224, 229, 238)', + width: '40%' + } + }), /*#__PURE__*/_react.default.createElement("div", { + style: { + borderRadius: '15rem', + display: 'block', + marginBottom: '.75rem', + height: '.5rem', + backgroundColor: 'rgb(224, 229, 238)', + width: '80%' + } + }), /*#__PURE__*/_react.default.createElement("div", { + style: { + borderRadius: '15rem', + display: 'block', + marginBottom: '.75rem', + height: '.5rem', + backgroundColor: 'rgb(224, 229, 238)', + width: '60%' + } + })); + + var label = props.node.assistiveText || (typeof props.node.label === 'string' ? props.node.label : null); + return /*#__PURE__*/_react.default.createElement("li", { + id: props.htmlId, + role: "treeitem", + "aria-level": props.level, + "aria-expanded": isExpanded ? 'true' : 'false', + "aria-label": props.node.nodes && props.node.nodes.length > 0 ? label : null, + tabIndex: getTabIndex(props), + onKeyDown: function onKeyDown(event) { + return handleKeyDown(event, props); + }, + onFocus: function onFocus(event) { + return handleFocus(event, props); + }, + onBlur: props.onNodeBlur, + ref: function ref(component) { + if (props.treeHasFocus && component && isFocused) { + component.focus(); + } + } + }, /*#__PURE__*/_react.default.createElement("div", { + className: (0, _classnames.default)('slds-tree__item', { + 'slds-is-selected': isSelected + }), + onClick: function onClick(event) { + handleSelect({ + event: event, + props: props + }); + } + }, /*#__PURE__*/_react.default.createElement(_button.default, { + "aria-hidden": true, + assistiveText: { + icon: 'Expand Tree Branch' + }, + iconCategory: "utility", + iconName: "chevronright", + iconSize: "small", + variant: "icon", + className: "slds-m-right_small", + role: "presentation", + "aria-controls": props.htmlId, + onClick: function onClick(event) { + handleExpand(event, props); + }, + tabIndex: "-1" + }), /*#__PURE__*/_react.default.createElement("span", { + className: "slds-size_1-of-1", + id: "".concat(props.htmlId, "__label") + }, /*#__PURE__*/_react.default.createElement(_highlighter.default, { + search: props.searchTerm, + className: "slds-tree__item-label slds-truncate" + }, props.label))), isLoading ? loader : null, /*#__PURE__*/_react.default.createElement("ul", { + className: (0, _classnames.default)({ + 'slds-is-expanded': isExpanded, + 'slds-is-collapsed': !isExpanded + }), + role: "group", + "aria-labelledby": "".concat(props.htmlId, "__label") + }, isExpanded && !isLoading ? children : null)); +}; + +RenderBranch.displayName = 'Branch'; +RenderBranch.propTypes = propTypes; +var _default = RenderBranch; +exports.default = _default; \ No newline at end of file diff --git a/components/tree/private/render-initial-branch.d.ts b/components/tree/private/render-initial-branch.d.ts new file mode 100644 index 0000000000..838256ed43 --- /dev/null +++ b/components/tree/private/render-initial-branch.d.ts @@ -0,0 +1,20 @@ +declare module '@salesforce/design-system-react/components/tree/private/render-initial-branch' { + import React from 'react'; + type Props = { + /** + * HTML `id` of the wrapping container element. + */ + htmlId: number | string /*.isRequired*/; + /* + * Class names to be added to the top-level `ul` element. + */ + initalClassName?: any[] | Record | string; + /* + * Styles to be added to the top-level `ul` element. Useful for `overflow:hidden`. + */ + initialStyle?: Record; + }; + + function Component(props: Props): React.ReactNode; + export default Component; +} diff --git a/components/tree/private/render-initial-branch.js b/components/tree/private/render-initial-branch.js new file mode 100644 index 0000000000..abf4390bca --- /dev/null +++ b/components/tree/private/render-initial-branch.js @@ -0,0 +1,69 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = void 0; + +var _react = _interopRequireDefault(require("react")); + +var _propTypes = _interopRequireDefault(require("prop-types")); + +var _lodash = _interopRequireDefault(require("lodash.isfunction")); + +var _classnames = _interopRequireDefault(require("classnames")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */ + +/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */ +// # Tree Initial Branch +var propTypes = { + /** + * HTML `id` of the wrapping container element. + */ + htmlId: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.string]).isRequired, + + /* + * Class names to be added to the top-level `ul` element. + */ + initalClassName: _propTypes.default.oneOfType([_propTypes.default.array, _propTypes.default.object, _propTypes.default.string]), + + /* + * Styles to be added to the top-level `ul` element. Useful for `overflow:hidden`. + */ + initialStyle: _propTypes.default.object +}; + +var handleScroll = function handleScroll(event, props) { + var percentage = event.target.scrollTop / (event.target.scrollHeight - event.target.clientHeight) * 100; + + if ((0, _lodash.default)(props.onScroll)) { + props.onScroll(event, { + percentage: percentage + }); + } +}; + +var renderInitialNode = function renderInitialNode(children, props) { + return ( + /*#__PURE__*/ + // id intentionally not rendered here, and is present on + // container that includes the header + _react.default.createElement("ul", { + "aria-labelledby": "".concat(props.htmlId, "__heading"), + className: (0, _classnames.default)('slds-tree', props.initalClassName), + onScroll: function onScroll(event) { + handleScroll(event, props); + }, + role: "tree", + style: props.initialStyle + }, children) + ); +}; + +renderInitialNode.displayName = 'TreeInitialNode'; +renderInitialNode.propTypes = propTypes; +var _default = renderInitialNode; +exports.default = _default; \ No newline at end of file diff --git a/components/trial-bar.d.ts b/components/trial-bar.d.ts new file mode 100644 index 0000000000..f047c32d72 --- /dev/null +++ b/components/trial-bar.d.ts @@ -0,0 +1,43 @@ +declare module "@salesforce/design-system-react/components/trial-bar" { + import React from "react"; + type Props = { + /** + * Provide children of the types `` or `` to define the structure of the trial bar. + * ``` + * + * + * + * + * ``` + */ + children?: React.ReactNode; + + /** + * CSS classes to be added to the component. Uses `classNames` [API](https://github.com/JedWatson/classnames). + */ + className?: any[] | Record | string; + /** + * **Text labels for internationalization** + * This object is merged with the default props object on every render. + * * `learnMoreAfter`: Amount of time left in trial, e.g. `30` + * * `learnMoreBefore`: Unit of the amount of time left, e.g. `days` + * * `timeLeftUnitAfter`: String after `timeLeftUnit` + */ + labels?: Partial<{ + timeLeft?: string; + timeLeftUnit?: string; + timeLeftUnitAfter?: string; + }>; + /** + * Renders the actions section of the trial bar. + */ + onRenderActions?: (v: any) => any; + /** + * Customs styles to be applied to the component. + */ + style?: Record; + }; + + function Component(props: Props): React.ReactElement; + export default Component; +} diff --git a/components/trial-bar/__docs__/__snapshots__/storybook-stories.storyshot b/components/trial-bar/__docs__/__snapshots__/storybook-stories.storyshot new file mode 100644 index 0000000000..60aa796b6a --- /dev/null +++ b/components/trial-bar/__docs__/__snapshots__/storybook-stories.storyshot @@ -0,0 +1,91 @@ +// Jest Snapshot v1, https://goo.gl/fbAQLP + +exports[`DOM snapshots SLDSTrialBar Default 1`] = ` +
    +
    +
    +
    + + +
    +
    + + 30 + + + days + left in trial + + +
    +
    +
    +
    +`; diff --git a/components/trial-bar/__docs__/storybook-stories.jsx b/components/trial-bar/__docs__/storybook-stories.jsx new file mode 100644 index 0000000000..08d4e4f1df --- /dev/null +++ b/components/trial-bar/__docs__/storybook-stories.jsx @@ -0,0 +1,10 @@ +import React from 'react'; +import { storiesOf } from '@storybook/react'; +import { TRIAL_BAR } from '../../../utilities/constants'; +import Default from '../__examples__/default'; + +storiesOf(TRIAL_BAR, module) + .addDecorator((getStory) => ( +
    {getStory()}
    + )) + .add('Default', () => ); diff --git a/components/trial-bar/__examples__/default.jsx b/components/trial-bar/__examples__/default.jsx new file mode 100644 index 0000000000..6bdd1ff1a1 --- /dev/null +++ b/components/trial-bar/__examples__/default.jsx @@ -0,0 +1,46 @@ +import React from 'react'; +import TrialBar from '~/components/trial-bar'; +import TrialBarDropdown from '~/components/trial-bar/dropdown'; +import TrialBarButton from '~/components/trial-bar/button'; +import IconSettings from '~/components/icon-settings'; +import Button from '~/components/button'; + +class Example extends React.Component { + render() { + return ( + +
    + ( +
    +
    + ); + } +} +Example.displayName = 'TrialBarDefault'; + +export default Example; // export is replaced with `ReactDOM.render(, mountNode);` at runtime diff --git a/components/trial-bar/button.js b/components/trial-bar/button.js new file mode 100644 index 0000000000..8e5909c3e6 --- /dev/null +++ b/components/trial-bar/button.js @@ -0,0 +1,39 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = void 0; + +var _react = _interopRequireDefault(require("react")); + +var _button = _interopRequireDefault(require("../button")); + +var _constants = require("../../utilities/constants"); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); } + +// This component accepts the same props as Button. +// eslint-disable-next-line react/forbid-foreign-prop-types +var propTypes = _button.default.propTypes; +/** + * A [Button](/components/buttons/) within the Trial Bar. + */ + +var TrialBarButton = function TrialBarButton(props) { + return /*#__PURE__*/_react.default.createElement(_button.default, _extends({}, props, { + inverse: true, + style: { + border: 0, + padding: 0 + }, + className: "slds-m-right_small" + })); +}; + +TrialBarButton.propTypes = propTypes; +TrialBarButton.displayName = _constants.TRIAL_BAR_BUTTON; +var _default = TrialBarButton; +exports.default = _default; \ No newline at end of file diff --git a/components/trial-bar/component.json b/components/trial-bar/component.json new file mode 100644 index 0000000000..9334d03772 --- /dev/null +++ b/components/trial-bar/component.json @@ -0,0 +1,24 @@ +{ + "component": "trial-bar", + "status": "prod", + "display-name": "Trial Bars", + "classKey": "TrialBar", + "SLDS-component-path": "/components/trial-bar", + "dependencies": [ + { + "component": "button", + "classKey": "TrialBarButton" + }, + { + "component": "dropdown", + "classKey": "TrialBarDropdown" + } + ], + "site-stories": [ + { + "heading": "Base", + "path": "/__examples__/default.jsx" + } + ], + "url-slug": "trial-bars" +} diff --git a/components/trial-bar/dropdown.js b/components/trial-bar/dropdown.js new file mode 100644 index 0000000000..cdd5c4bfee --- /dev/null +++ b/components/trial-bar/dropdown.js @@ -0,0 +1,60 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = void 0; + +var _react = _interopRequireDefault(require("react")); + +var _menuDropdown = _interopRequireDefault(require("../menu-dropdown")); + +var _buttonTrigger = _interopRequireDefault(require("../menu-dropdown/button-trigger")); + +var _menuDropdown2 = _interopRequireDefault(require("../menu-dropdown/menu-dropdown")); + +var _button = _interopRequireDefault(require("../button")); + +var _constants = require("../../utilities/constants"); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); } + +function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; } + +function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; } + +// This component accepts the same props as MenuDropdown. +// eslint-disable-next-line react/forbid-foreign-prop-types +var propTypes = _menuDropdown2.default.propTypes; +/** + * A [Dropdown](/components/menu-dropdowns/) within the Trial Bar. + */ + +var TrialBarDropdown = function TrialBarDropdown(props) { + var label = props.label, + rest = _objectWithoutProperties(props, ["label"]); + + return /*#__PURE__*/_react.default.createElement(_menuDropdown.default, _extends({}, rest, { + inverse: true + }), /*#__PURE__*/_react.default.createElement(_buttonTrigger.default, { + triggerClassName: "slds-grid" + }, /*#__PURE__*/_react.default.createElement(_button.default, { + inverse: true, + style: { + border: 0, + height: '100%', + padding: 0 + }, + iconCategory: "utility", + iconName: "right", + iconPosition: "left", + label: label + }))); +}; + +TrialBarDropdown.propTypes = propTypes; +TrialBarDropdown.displayName = _constants.TRIAL_BAR_DROPDOWN; +var _default = TrialBarDropdown; +exports.default = _default; \ No newline at end of file diff --git a/components/trial-bar/index.js b/components/trial-bar/index.js new file mode 100644 index 0000000000..8a89f49a0c --- /dev/null +++ b/components/trial-bar/index.js @@ -0,0 +1,94 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = void 0; + +var _react = _interopRequireDefault(require("react")); + +var _propTypes = _interopRequireDefault(require("prop-types")); + +var _classnames = _interopRequireDefault(require("classnames")); + +var _lodash = _interopRequireDefault(require("lodash.assign")); + +var _constants = require("../../utilities/constants"); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */ + +/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */ +// Implements the [Trial Bar design pattern](https://lightningdesignsystem.com/components/trial-bar/) in React. +// Based on SLDS v2.4.5 +var propTypes = { + /** + * Provide children of the types `` or `` to define the structure of the trial bar. + * ``` + * + * + * + * + * ``` + */ + children: _propTypes.default.node, + + /** + * CSS classes to be added to the component. Uses `classNames` [API](https://github.com/JedWatson/classnames). + */ + className: _propTypes.default.oneOfType([_propTypes.default.array, _propTypes.default.object, _propTypes.default.string]), + + /** + * **Text labels for internationalization** + * This object is merged with the default props object on every render. + * * `learnMoreAfter`: Amount of time left in trial, e.g. `30` + * * `learnMoreBefore`: Unit of the amount of time left, e.g. `days` + * * `timeLeftUnitAfter`: String after `timeLeftUnit` + */ + labels: _propTypes.default.shape({ + timeLeft: _propTypes.default.string, + timeLeftUnit: _propTypes.default.string, + timeLeftUnitAfter: _propTypes.default.string + }), + + /** + * Renders the actions section of the trial bar. + */ + onRenderActions: _propTypes.default.func, + + /** + * Customs styles to be applied to the component. + */ + style: _propTypes.default.object +}; +var defaultProps = { + labels: { + timeLeftUnitAfter: 'left in trial' + } +}; +/** + * Trial bar components are used to provide an interactive and educational prospect experience for setup. + */ + +var TrialBar = function TrialBar(props) { + var labels = (0, _lodash.default)({}, defaultProps.labels, props.labels); + return /*#__PURE__*/_react.default.createElement("div", { + className: (0, _classnames.default)('slds-trial-header slds-grid', props.className), + style: props.style + }, /*#__PURE__*/_react.default.createElement("div", { + className: "slds-grid" + }, props.children), /*#__PURE__*/_react.default.createElement("div", { + className: "slds-grid slds-grid_vertical-align-center slds-col_bump-left" + }, /*#__PURE__*/_react.default.createElement("span", { + className: "slds-box slds-box_xx-small slds-theme_default" + }, labels.timeLeft), /*#__PURE__*/_react.default.createElement("span", { + className: "slds-m-horizontal_x-small" + }, labels.timeLeftUnit, " ".concat(labels.timeLeftUnitAfter)), props.onRenderActions())); +}; + +TrialBar.displayName = _constants.TRIAL_BAR; +TrialBar.propTypes = propTypes; +TrialBar.defaultProps = defaultProps; +var _default = TrialBar; +exports.default = _default; \ No newline at end of file diff --git a/components/utilities/README.md b/components/utilities/README.md new file mode 100644 index 0000000000..acf9bbe383 --- /dev/null +++ b/components/utilities/README.md @@ -0,0 +1,3 @@ +# Utility Components + +This folder contains shared child components used by official SLDS components. Components in this folder are not official SLDS components in their own right. diff --git a/components/utilities/UNSAFE_direction/index.js b/components/utilities/UNSAFE_direction/index.js new file mode 100644 index 0000000000..8fd94a6ebc --- /dev/null +++ b/components/utilities/UNSAFE_direction/index.js @@ -0,0 +1,39 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.DIRECTIONS = exports.default = void 0; + +var _react = _interopRequireDefault(require("react")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */ + +/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */ +// Constants to specify directions: Left-to-Right (ltr) or Right-to-Left (rtl) +var DIRECTIONS = {}; +exports.DIRECTIONS = DIRECTIONS; +DIRECTIONS.LTR = 'ltr'; +DIRECTIONS.RTL = 'rtl'; +/* + * Use this React context to wrap your component(s) to specify direction. Use either `DIRECTIONS.LTR` (ltr) or `DIRECTIONS.LTR` (rtl). + * It's also expected that the `HTML` document of your markup has `dir='ltr'` or `dir='rtl'` attribute set. + * The dir attribute is essential to set the direction of text to display and enable HTML in right-to-left. + * For instance, setting `dir='rtl'` will cause block elements and table columns to start on the right and flow from right to left. + * + * Note: (1) This context is prefixed with UNSAFE because it is not a publicly supported feature. + * (2) When testing this feature in the storybooks, styles consumed from `salesforce-lightning-design-system.css` may appear broken. + * This is expected since Design System React loads only the LTR version since SLDS doesn't ship a static version of RTL. + * Example on how to use the context to set your component right-to-left: + * + * + * + */ +// eslint-disable-next-line camelcase + +var UNSAFE_DirectionSettings = /*#__PURE__*/_react.default.createContext('ltr'); // eslint-disable-next-line camelcase + + +exports.default = UNSAFE_DirectionSettings; \ No newline at end of file diff --git a/components/utilities/UNSAFE_direction/private/language-direction.js b/components/utilities/UNSAFE_direction/private/language-direction.js new file mode 100644 index 0000000000..1d57bcba14 --- /dev/null +++ b/components/utilities/UNSAFE_direction/private/language-direction.js @@ -0,0 +1,89 @@ +"use strict"; + +function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = void 0; + +var _react = _interopRequireWildcard(require("react")); + +var _ = _interopRequireDefault(require("..")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +function _getRequireWildcardCache() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); _getRequireWildcardCache = function _getRequireWildcardCache() { return cache; }; return cache; } + +function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; } + +function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); } + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } + +function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); } + +function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } + +function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; } + +function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } + +function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } } + +function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var LanguageDirectionHOC = function LanguageDirectionHOC(WrappedComponent) { + var _class, _temp; + + var componentName = WrappedComponent.displayName || WrappedComponent.name || 'Component'; + return _temp = _class = /*#__PURE__*/function (_Component) { + _inherits(LanguageDirection, _Component); + + var _super = _createSuper(LanguageDirection); + + function LanguageDirection() { + var _this; + + _classCallCheck(this, LanguageDirection); + + for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { + args[_key] = arguments[_key]; + } + + _this = _super.call.apply(_super, [this].concat(args)); + + _defineProperty(_assertThisInitialized(_this), "getWrappedComponent", function (value) { + return /*#__PURE__*/_react.default.createElement(WrappedComponent, _extends({}, _this.props, { + direction: value + })); + }); + + return _this; + } + + _createClass(LanguageDirection, [{ + key: "render", + value: function render() { + return ( + /*#__PURE__*/ + // eslint-disable-next-line react/jsx-pascal-case + _react.default.createElement(_.default.Consumer, null, this.getWrappedComponent) + ); + } + }]); + + return LanguageDirection; + }(_react.Component), _defineProperty(_class, "displayName", "LanguageDirection(".concat(componentName, ")")), _temp; +}; + +var _default = LanguageDirectionHOC; +exports.default = _default; \ No newline at end of file diff --git a/components/utilities/deprecated-warning/index.js b/components/utilities/deprecated-warning/index.js new file mode 100644 index 0000000000..d3b2229588 --- /dev/null +++ b/components/utilities/deprecated-warning/index.js @@ -0,0 +1,43 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = void 0; + +var _react = _interopRequireDefault(require("react")); + +var _constants = require("../../../utilities/constants"); + +var _alert = _interopRequireDefault(require("../../alert")); + +var _container = _interopRequireDefault(require("../../alert/container")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */ + +/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */ + +/* eslint-disable react/jsx-no-literals */ +// ### React +// ## Constants + +/** + * A utility component that is used to highlight a deprecated component. + */ +var DeprecatedWarning = function DeprecatedWarning() { + return /*#__PURE__*/_react.default.createElement("div", { + className: "slds-p-top_x-large" + }, /*#__PURE__*/_react.default.createElement(_container.default, null, /*#__PURE__*/_react.default.createElement(_alert.default, { + labels: { + heading: /*#__PURE__*/_react.default.createElement("span", null, /*#__PURE__*/_react.default.createElement("strong", null, "Deprecated component."), " No fit and finish bug fixes will be accepted for this component.") + }, + variant: "error" + }))); +}; // ### Display Name + + +DeprecatedWarning.displayName = _constants.DEPRECATED_WARNING; +var _default = DeprecatedWarning; +exports.default = _default; \ No newline at end of file diff --git a/components/utilities/dialog.d.ts b/components/utilities/dialog.d.ts new file mode 100644 index 0000000000..14c5c24042 --- /dev/null +++ b/components/utilities/dialog.d.ts @@ -0,0 +1,151 @@ +declare module '@salesforce/design-system-react/components/utilities/dialog' { + import React from 'react'; + type Props = { + /** + * Alignment of the dialog with respect to the target (assuming left-to-right language direction). For example, + * a value of 'left bottom' indicates that the dialog will be rendered below and left-aligned with the target. + * Note that setting the direction prop to "rtl" will flip the resulting dialog alignment. + */ + align?: + | 'top' + | 'top left' + | 'top right' + | 'right' + | 'right top' + | 'right bottom' + | 'bottom' + | 'bottom left' + | 'bottom right' + | 'left' + | 'left top' + | 'left bottom'; + /** + * CSS classes to be added to the absolutely positioned element. + */ + className?: any[] | Record | string; + /** + * CSS classes to be added to the wrapping `div` of the contents of the dialog. + */ + contentsClassName?: any[] | Record | string; + /** + * Contents of dialog + */ + children: React.ReactNode /*.isRequired*/; + /** + * Closes dialog when tab key is pressed + */ + closeOnTabKey?: boolean; + /** + * Props passed along to wrapping div. This allows one less wrapping `div` to be in the markup. dialog children are expected to be wrapper in a single `div`. + */ + containerProps?: Record; + /** + * Establishes directional context for component. Defaults to left-to-right. + */ + direction?: DIRECTIONS.LTR | DIRECTIONS.RTL; + /** + * Will show the nubbin pointing from the dialog to the reference element. Positioning and offsets will be handled. + */ + hasNubbin?: boolean; + /** + * By default, dialogs will flip their alignment (such as bottom to top) if they extend beyond a boundary element such as a scrolling parent or a window/viewpoint. `hasStaticAlignment` disables this behavior and allows this component to extend beyond boundary elements. + */ + hasStaticAlignment?: boolean; + /** + * Sets the dialog width to the width of either 'target' (Menus attached to `input` typically follow this UX pattern), 'menu' or 'none. + */ + inheritWidthOf?: 'target' | 'menu' | 'none'; + /** + * DEPRECATED - do not add checkProp deprecation message at this level. It is handled at higher level components. + * TODO - to be removed. + * Offset adds pixels to the absolutely positioned dropdown menu in the format: ([vertical]px [horizontal]px). SHOULD BE OBJECT ----------- + */ + offset?: string; + /** + * Called when dialog closes and unmounts. + */ + onClose?: (v: any) => any; + /** + * Called when a key pressed. + */ + onKeyDown?: (v: any) => any; + /** + * Called when mouse hovers over the trigger button. This is only called if `this.props.openOn` is set to `hover`. + */ + onMouseEnter?: (v: any) => any; + /** + * Called when mouse hover leaves the trigger button. This is only called if `this.props.openOn` is set to `hover`. + */ + onMouseLeave?: (v: any) => any; + /** + * Called when dialog opens (that is mounts). The parameters are `undefined, { portal: this.portal }`. + */ + onOpen?: (v: any) => any; + /** + * React component to be aligned with. Function should return a DOM `ref` from the parent component. + */ + onRequestTargetElement: (v: any) => any /*.isRequired*/; + /** + * Triggered when an item in the menu is clicked. + */ + outsideClickIgnoreClass?: string; + /** + * If a dialog is `positione="overflowBoundaryElement"`, it will be rendered in a portal or separate render tree. This `portalMount` callback will be triggered instead of the the default `ReactDOM.unstable_renderSubtreeIntoContainer` and the function will mount the portal itself. Consider the following code that bypasses the internal mount and uses an Enzyme wrapper to mount the React root tree to the DOM. + * + * ``` + * { + * portalWrapper = Enzyme.mount(reactElement, { attachTo: domContainerNode }); + * }} + * onOpen={() => { + * expect(portalWrapper.find(`#my-heading`)).to.exist; + * done(); + * }} + * /> + * ``` + */ + portalMount?: (v: any) => any; + /** + * Please select one of the following: + * * `absolute` - (default) The dialog will use `position: absolute` and style attributes to position itself. This allows inverted placement or flipping of the dialog. + * * `overflowBoundaryElement` - The dialog will overflow scrolling parents. Use on elements that are aligned to the left or right of their target and don't care about the target being within a scrolling parent. Typically this is a popover or tooltip. Dropdown menus can usually open up and down if no room exists. In order to achieve this a portal element will be created and attached to `body`. This element will render into that detached render tree. + * * `relative` - No styling or portals will be used. Menus will be positioned relative to their triggers. This is a great choice for HTML snapshot testing. + */ + position?: + | 'absolute' + | 'overflowBoundaryElement' + | 'relative' /*.isRequired*/; + /** + * An object of CSS styles that are applied to the immediate parent `div` of the contents. Use this instead of margin props. + */ + style?: Record; + + /** + * Sets which focus UX pattern to follow. For instance, popovers trap focus and must be exited to regain focus. Dropdowns and Tooltips never have focus. + */ + variant?: 'dropdown' | 'popover' | 'tooltip'; + }; + /* + * A Dialog is content that is separate from the typical flow of a page. It typically overlays other elements in the document flow. This is achieved with elevation (`z-index`) and one of the following: relative position, absolute position, or a new top-level React render tree (portal). A boundary element is a scrolling ancestor element or the edge of the browser (window/viewport). This element typically has an overflow (overflow-y/overflow-x) style that is scroll, hidden, or auto. Inverted placement is the flipping of the overlay element from top to bottom or left to right in order stay within a boundary element. + * + * * Dropdown menu (Combobox, DatePicker, et al.) placement is typically bottom-aligned and should be allowed to invert its placement when inside a boundary element this often happens within a modal. Dropdowns should not overflow boundary elements , since most boundary elements scroll vertically and have space for the menu. + * + * * If they are hidden, left and right placed overlay elements (such as Popover and Tooltip) should be placed within a portal element attached to the DOM , but styled to align to its target/trigger. Since scrolling typically occurs on the vertical axis, this allows them to overflow boundary elements and still allow scrolling of content, yet still invert placement for the browser viewport. Portal elements are only necessary if an original ancestor boundary element exists. **No portals are created by default.** + * + * * Nubbins/arrows should be repositioned for any new placement/alignment. + * + * Allow Overflowing of Boundary Element: Allow applications to create a portal element attached to the DOM to be outside of boundary elements if manual testing shows confusing alignment/poor usability/readability. This should be exception and not the default. + * + * Allow Inverted placement: Allow applications to prevent inverted placement if manual testing shows confusing alignment/poor usability/readability. + * + * ### How this new Dialog component works + * * There is no longer an inline render within components. All overlays should go through `Dialog`. `position: relative` just passes on the markup with some additional event listeners. No positional library is used. + * * The default `position: absolute` will run through three renders. It will first render the overlay at `0px/0px` offset of its parent. It will then store the target DOM node, once the DOM node is set, a state change will occur and tell a PopperJS instance to be created on update, once it is created, a third render is done to update the styles created by PopperJS. + * * `position: overflowBoundaryElement` will do the same three renders as `absolute` except that the initial render will create a disconnected render tree (portal) on the `body`. Then, the position will change once the target is stored. The portal itself will be rendered multiple times. The first will result in `onOpen` executing. Each update will result in a re-render of the disconnected render-tree. + * + * This component is private. + */ + function Component(props: Props): React.ReactNode; + export default Component; +} diff --git a/components/utilities/dialog/__docs__/storybook-stories.jsx b/components/utilities/dialog/__docs__/storybook-stories.jsx new file mode 100644 index 0000000000..9ccf11d750 --- /dev/null +++ b/components/utilities/dialog/__docs__/storybook-stories.jsx @@ -0,0 +1,31 @@ +// TODO - we should make stories to see everything on one page +// import React from 'react'; +// import { storiesOf } from '@storybook/react'; +// import { action } from '@storybook/addon-actions'; +// import IconSettings from '../../../icon-settings'; +// +// // import { POPOVER } from '../../../utilities/constants'; +// // import Header from '../__examples__/header'; +// // import AlternativeHeader from '../__examples__/alternative-header'; +// // import ControlledWithFooter from '../__examples__/controlled-with-footer'; +// +// import Popover from '../../../popover'; +// import Tooltip from '../../../tooltip'; +// import Button from '../../../button'; +// +// +// let stories = storiesOf('Dialog', module) +// .addDecorator((getStory) => ( +//
    +// {getStory()} +//
    +// )); +// +// stories = stories.add('Header', () =>
    ); diff --git a/components/utilities/dialog/index.js b/components/utilities/dialog/index.js new file mode 100644 index 0000000000..140abb2e1e --- /dev/null +++ b/components/utilities/dialog/index.js @@ -0,0 +1,558 @@ +"use strict"; + +function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = void 0; + +var _react = _interopRequireDefault(require("react")); + +var _propTypes = _interopRequireDefault(require("prop-types")); + +var _popper = _interopRequireDefault(require("popper.js")); + +var _lodash = _interopRequireDefault(require("lodash.isequal")); + +var _classnames = _interopRequireDefault(require("classnames")); + +var _portal = _interopRequireDefault(require("./portal")); + +var _event = _interopRequireDefault(require("../../../utilities/event")); + +var _keyCode = _interopRequireDefault(require("../../../utilities/key-code")); + +var _domElementFocus = _interopRequireDefault(require("../../../utilities/dom-element-focus")); + +var _dialogHelpers = require("../../../utilities/dialog-helpers"); + +var _constants = require("../../../utilities/constants"); + +var _iconSettings = _interopRequireDefault(require("../../icon-settings")); + +var _UNSAFE_direction = _interopRequireWildcard(require("../UNSAFE_direction")); + +var _languageDirection = _interopRequireDefault(require("../UNSAFE_direction/private/language-direction")); + +function _getRequireWildcardCache() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); _getRequireWildcardCache = function _getRequireWildcardCache() { return cache; }; return cache; } + +function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; } + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; } + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } + +function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); } + +function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } + +function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; } + +function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } + +function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } } + +function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +/* + * A Dialog is content that is separate from the typical flow of a page. It typically overlays other elements in the document flow. This is achieved with elevation (`z-index`) and one of the following: relative position, absolute position, or a new top-level React render tree (portal). A boundary element is a scrolling ancestor element or the edge of the browser (window/viewport). This element typically has an overflow (overflow-y/overflow-x) style that is scroll, hidden, or auto. Inverted placement is the flipping of the overlay element from top to bottom or left to right in order stay within a boundary element. + * + * * Dropdown menu (Combobox, DatePicker, et al.) placement is typically bottom-aligned and should be allowed to invert its placement when inside a boundary element this often happens within a modal. Dropdowns should not overflow boundary elements , since most boundary elements scroll vertically and have space for the menu. + * + * * If they are hidden, left and right placed overlay elements (such as Popover and Tooltip) should be placed within a portal element attached to the DOM , but styled to align to its target/trigger. Since scrolling typically occurs on the vertical axis, this allows them to overflow boundary elements and still allow scrolling of content, yet still invert placement for the browser viewport. Portal elements are only necessary if an original ancestor boundary element exists. **No portals are created by default.** + * + * * Nubbins/arrows should be repositioned for any new placement/alignment. + * + * Allow Overflowing of Boundary Element: Allow applications to create a portal element attached to the DOM to be outside of boundary elements if manual testing shows confusing alignment/poor usability/readability. This should be exception and not the default. + * + * Allow Inverted placement: Allow applications to prevent inverted placement if manual testing shows confusing alignment/poor usability/readability. + * + * ### How this new Dialog component works + * * There is no longer an inline render within components. All overlays should go through `Dialog`. `position: relative` just passes on the markup with some additional event listeners. No positional library is used. + * * The default `position: absolute` will run through three renders. It will first render the overlay at `0px/0px` offset of its parent. It will then store the target DOM node, once the DOM node is set, a state change will occur and tell a PopperJS instance to be created on update, once it is created, a third render is done to update the styles created by PopperJS. + * * `position: overflowBoundaryElement` will do the same three renders as `absolute` except that the initial render will create a disconnected render tree (portal) on the `body`. Then, the position will change once the target is stored. The portal itself will be rendered multiple times. The first will result in `onOpen` executing. Each update will result in a re-render of the disconnected render-tree. + * + * This component is private. + */ +var Dialog = /*#__PURE__*/function (_React$Component) { + _inherits(Dialog, _React$Component); + + var _super = _createSuper(Dialog); + + function Dialog() { + var _this; + + _classCallCheck(this, Dialog); + + for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { + args[_key] = arguments[_key]; + } + + _this = _super.call.apply(_super, [this].concat(args)); + + _defineProperty(_assertThisInitialized(_this), "state", { + triggerPopperJS: false, + isOpen: false + }); + + _defineProperty(_assertThisInitialized(_this), "getPropOffsetsInPixels", function (offsetString) { + var offsetArray = offsetString.split(' '); + return { + vertical: parseInt(offsetArray[0], 10), + horizontal: parseInt(offsetArray[1], 10) + }; + }); + + _defineProperty(_assertThisInitialized(_this), "getPopperStyles", function () { + var popperData = _this.state.popperData; + + if (!_this.popper || !popperData) { + return { + position: 'absolute', + pointerEvents: 'none' + }; + } + + var position = popperData.offsets.popper.position; + + var propOffsets = _this.getPropOffsetsInPixels(_this.props.offset); // FIXME before merge - gotta rename from margin to offset + + + var nubbinOffsets = _this.props.hasNubbin ? (0, _dialogHelpers.getNubbinMargins)(_this.state.popperData) : { + left: 0, + top: 0 + }; + var left = popperData.offsets.popper.left + nubbinOffsets.left + propOffsets.horizontal; + var top = popperData.offsets.popper.top + nubbinOffsets.top + propOffsets.vertical; // A Dropdown with overflowBoundaryElement position and 'align=right' uses max-width instead of inherited children width + + var right = 'inherit'; + return _objectSpread(_objectSpread({}, popperData.style), {}, { + left: isNaN(left) ? 0 : left, + top: isNaN(top) ? 0 : top, + right: right, + position: position + }); + }); + + _defineProperty(_assertThisInitialized(_this), "setDialogContent", function (component) { + _this.dialogContent = component; + + if (!_this.state.triggerPopperJS) { + _this.setState({ + triggerPopperJS: true + }); + } + }); + + _defineProperty(_assertThisInitialized(_this), "handleClickOutside", function () { + _this.handleClose(); + }); + + _defineProperty(_assertThisInitialized(_this), "handleClose", function (event) { + var data = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + + if (!data.componentWillUnmount) { + _this.setState({ + triggerPopperJS: true + }); + } + + if (_this.props.onClose) { + _this.props.onClose(event, data); + } + }); + + _defineProperty(_assertThisInitialized(_this), "handleClick", function (event) { + if (event.nativeEvent) { + event.nativeEvent.preventDefault(); + event.nativeEvent.stopPropagation(); + } + }); + + _defineProperty(_assertThisInitialized(_this), "handleKeyDown", function (event) { + if (event.keyCode === _keyCode.default.TAB) { + if (_this.props.closeOnTabKey) { + _event.default.trap(event); + + _this.handleClose(event); + } + } + + if (_this.props.onKeyDown) { + _this.props.onKeyDown(event); + } + }); + + _defineProperty(_assertThisInitialized(_this), "handleOpen", function () { + if (_this.props.variant === 'popover' && _this.dialogContent) { + _domElementFocus.default.storeActiveElement(); + + _domElementFocus.default.setupScopedFocus({ + ancestorElement: _this.dialogContent + }); // eslint-disable-line react/no-find-dom-node + // Don't steal focus from inner elements + + + if (!_domElementFocus.default.hasOrAncestorHasFocus()) { + _domElementFocus.default.focusAncestor({ + isPortal: _this.props.position === 'overflowBoundaryElement' + }); + } + } + + if (_this.props.onOpen) { + _this.props.onOpen(undefined, { + portal: _this.dialogContent + }); + } + }); + + _defineProperty(_assertThisInitialized(_this), "createPopper", function () { + var reference = _this.props.onRequestTargetElement(); // eslint-disable-line react/no-find-dom-node + + + var popper = _this.dialogContent; + var placement = (0, _dialogHelpers.mapPropToPopperPlacement)(_this.props.align, _this.props.direction); + var eventsEnabled = true; // Lets popper listen to events (resize, scroll, etc.) + + var modifiers = { + applyStyle: { + enabled: false + }, + // moves dialog in order to not extend a boundary element such as a scrolling parent or a window/viewpoint. + preventOverflow: { + enabled: !_this.props.hasStaticAlignment, + boundariesElement: _this.props.position === 'absolute' ? 'scrollParent' : 'viewport' + }, + hide: { + enabled: false + }, + // By default, dialogs will flip their alignment if they extend beyond a boundary element such as a scrolling parent or a window/viewpoint + flip: { + enabled: !_this.props.hasStaticAlignment + }, + removeOnDestroy: true, + updateState: { + enabled: true, + order: 900, + fn: function fn(popperData) { + if (_this.state.popperData && !(0, _lodash.default)(popperData.offsets, _this.state.popperData.offsets) || !_this.state.popperData) { + _this.setState({ + popperData: popperData + }); + } + + return popperData; + } + } // arrow property can also point to an element + + }; + + if (!reference) { + console.error('Target node not found!', reference); // eslint-disable-line no-console + } + + if (!popper) { + console.error('Popper node not found!', popper); // eslint-disable-line no-console + } + + _this.popper = new _popper.default(reference, popper, { + placement: placement, + eventsEnabled: eventsEnabled, + modifiers: modifiers + }); + + _this.popper.scheduleUpdate(); + }); + + _defineProperty(_assertThisInitialized(_this), "destroyPopper", function () { + if (_this.popper) { + _this.popper.destroy(); + } + }); + + return _this; + } + + _createClass(Dialog, [{ + key: "componentDidMount", + value: function componentDidMount() { + if (this.props.position === 'absolute' || this.props.position === 'relative') { + this.handleOpen(); + } + } // eslint-disable-next-line camelcase, react/sort-comp + + }, { + key: "UNSAFE_componentWillUpdate", + value: function UNSAFE_componentWillUpdate() { + if (this.popper) { + this.popper.scheduleUpdate(); + } + } + }, { + key: "componentDidUpdate", + value: function componentDidUpdate(prevProps, prevState) { + if (this.state.triggerPopperJS === true && prevState.triggerPopperJS === false && (this.props.position === 'absolute' || this.props.position === 'overflowBoundaryElement') && this.dialogContent && this.props.onRequestTargetElement()) { + this.createPopper(); + } + } + }, { + key: "componentWillUnmount", + value: function componentWillUnmount() { + if (this.props.variant === 'popover') { + _domElementFocus.default.teardownScopedFocus(); + + _domElementFocus.default.returnFocusToStoredElement(); + } + + if (this.props.position === 'absolute' || this.props.position === 'overflowBoundaryElement') { + this.destroyPopper(); + } + + this.handleClose(undefined, { + componentWillUnmount: true + }); + } + }, { + key: "render", + value: function render() { + var _this2 = this; + + var style = {}; + var role = this.props.variant === 'popover' ? 'dialog' : this.props.variant; + + if (this.props.position === 'absolute' || this.props.position === 'overflowBoundaryElement') { + style = _objectSpread(_objectSpread({}, style), {}, { + outline: 0 + }, this.getPopperStyles()); + } + + if (this.props.inheritWidthOf === 'target' && this.props.onRequestTargetElement()) { + style.width = this.props.onRequestTargetElement().getBoundingClientRect().width; + } else if (this.props.inheritWidthOf === 'menu' && this.dialogContent && this.dialogContent.querySelector('.slds-listbox')) { + // inherit menu renderer width + style.width = this.dialogContent.querySelector('.slds-listbox').getBoundingClientRect().width; + } + + style = _objectSpread(_objectSpread({}, style), this.props.style); + var outerTag = this.props.variant === 'popover' ? 'section' : 'div'; + + var contents = /*#__PURE__*/_react.default.createElement(outerTag, _objectSpread({ + className: (0, _classnames.default)(_defineProperty({ + 'absolute-positioned': this.props.position === 'absolute', + 'portal-positioned': this.props.position === 'overflowBoundaryElement' + }, "".concat(this.props.outsideClickIgnoreClass), this.props.position === 'overflowBoundaryElement'), this.props.hasNubbin && (0, _dialogHelpers.getNubbinClassName)(this.props.align, this.state.popperData), this.props.contentsClassName) || undefined, + style: style, + onMouseDown: this.props.onMouseDown, + onKeyDown: this.handleKeyDown, + onMouseEnter: this.props.onMouseEnter, + onMouseLeave: this.props.onMouseLeave, + ref: this.setDialogContent, + role: role, + tabIndex: this.props.variant === 'popover' ? '-1' : undefined + }, this.props.containerProps), this.props.children); + + var subRenders = { + absolute: function absolute() { + return contents; + }, + relative: function relative() { + return contents; + }, + overflowBoundaryElement: function overflowBoundaryElement() { + // Cycle through current context, create object of + // truthy values, and pass into Portal's context. + // TODO: Add test when switched to `ReactDOM.createPortal` + var truthyIconSettingsContext = Object.keys(_iconSettings.default.childContextTypes).filter(function (key) { + return Boolean(_this2.context[key]); + }).reduce(function (accumulatedContext, key) { + return _objectSpread(_objectSpread({}, accumulatedContext), _defineProperty({}, key, _this2.context[key])); + }, {}); + + var wrapped = + /*#__PURE__*/ + // eslint-disable-next-line + _react.default.createElement(_UNSAFE_direction.default.Provider, { + value: _this2.props.direction + }, /*#__PURE__*/_react.default.createElement(_iconSettings.default, truthyIconSettingsContext, contents)); + + return /*#__PURE__*/_react.default.createElement(_portal.default, { + onOpen: _this2.handleOpen, + portalMount: _this2.props.portalMount + }, wrapped); + } + }; + return subRenders[this.props.position] && subRenders[this.props.position](); + } + }]); + + return Dialog; +}(_react.default.Component); + +_defineProperty(Dialog, "displayName", _constants.DIALOG); + +_defineProperty(Dialog, "propTypes", { + /** + * Alignment of the dialog with respect to the target (assuming left-to-right language direction). For example, + * a value of 'left bottom' indicates that the dialog will be rendered below and left-aligned with the target. + * Note that setting the direction prop to "rtl" will flip the resulting dialog alignment. + */ + align: _propTypes.default.oneOf(['top', 'top left', 'top right', 'right', 'right top', 'right bottom', 'bottom', 'bottom left', 'bottom right', 'left', 'left top', 'left bottom']), + + /** + * CSS classes to be added to the absolutely positioned element. + */ + className: _propTypes.default.oneOfType([_propTypes.default.array, _propTypes.default.object, _propTypes.default.string]), + + /** + * CSS classes to be added to the wrapping `div` of the contents of the dialog. + */ + contentsClassName: _propTypes.default.oneOfType([_propTypes.default.array, _propTypes.default.object, _propTypes.default.string]), + + /** + * Contents of dialog + */ + children: _propTypes.default.node.isRequired, + + /** + * Closes dialog when tab key is pressed + */ + closeOnTabKey: _propTypes.default.bool, + + /** + * Props passed along to wrapping div. This allows one less wrapping `div` to be in the markup. dialog children are expected to be wrapper in a single `div`. + */ + containerProps: _propTypes.default.object, + + /** + * Establishes directional context for component. Defaults to left-to-right. + */ + direction: _propTypes.default.oneOf([_UNSAFE_direction.DIRECTIONS.LTR, _UNSAFE_direction.DIRECTIONS.RTL]), + + /** + * Will show the nubbin pointing from the dialog to the reference element. Positioning and offsets will be handled. + */ + hasNubbin: _propTypes.default.bool, + + /** + * By default, dialogs will flip their alignment (such as bottom to top) if they extend beyond a boundary element such as a scrolling parent or a window/viewpoint. `hasStaticAlignment` disables this behavior and allows this component to extend beyond boundary elements. + */ + hasStaticAlignment: _propTypes.default.bool, + + /** + * Sets the dialog width to the width of either 'target' (Menus attached to `input` typically follow this UX pattern), 'menu' or 'none. + */ + inheritWidthOf: _propTypes.default.oneOf(['target', 'menu', 'none']), + + /** + * DEPRECATED - do not add checkProp deprecation message at this level. It is handled at higher level components. + * TODO - to be removed. + * Offset adds pixels to the absolutely positioned dropdown menu in the format: ([vertical]px [horizontal]px). SHOULD BE OBJECT ----------- + */ + offset: _propTypes.default.string, + + /** + * Called when dialog closes and unmounts. + */ + onClose: _propTypes.default.func, + + /** + * Called when a key pressed. + */ + onKeyDown: _propTypes.default.func, + + /** + * Called when mouse hovers over the trigger button. This is only called if `this.props.openOn` is set to `hover`. + */ + onMouseEnter: _propTypes.default.func, + + /** + * Called when mouse hover leaves the trigger button. This is only called if `this.props.openOn` is set to `hover`. + */ + onMouseLeave: _propTypes.default.func, + + /** + * Called when dialog opens (that is mounts). The parameters are `undefined, { portal: this.portal }`. + */ + onOpen: _propTypes.default.func, + + /** + * React component to be aligned with. Function should return a DOM `ref` from the parent component. + */ + onRequestTargetElement: _propTypes.default.func.isRequired, + + /** + * Triggered when an item in the menu is clicked. + */ + outsideClickIgnoreClass: _propTypes.default.string, + + /** + * If a dialog is `positione="overflowBoundaryElement"`, it will be rendered in a portal or separate render tree. This `portalMount` callback will be triggered instead of the the default `ReactDOM.unstable_renderSubtreeIntoContainer` and the function will mount the portal itself. Consider the following code that bypasses the internal mount and uses an Enzyme wrapper to mount the React root tree to the DOM. + * + * ``` + * { + * portalWrapper = Enzyme.mount(reactElement, { attachTo: domContainerNode }); + * }} + * onOpen={() => { + * expect(portalWrapper.find(`#my-heading`)).to.exist; + * done(); + * }} + * /> + * ``` + */ + portalMount: _propTypes.default.func, + + /** + * Please select one of the following: + * * `absolute` - (default) The dialog will use `position: absolute` and style attributes to position itself. This allows inverted placement or flipping of the dialog. + * * `overflowBoundaryElement` - The dialog will overflow scrolling parents. Use on elements that are aligned to the left or right of their target and don't care about the target being within a scrolling parent. Typically this is a popover or tooltip. Dropdown menus can usually open up and down if no room exists. In order to achieve this a portal element will be created and attached to `body`. This element will render into that detached render tree. + * * `relative` - No styling or portals will be used. Menus will be positioned relative to their triggers. This is a great choice for HTML snapshot testing. + */ + position: _propTypes.default.oneOf(['absolute', 'overflowBoundaryElement', 'relative']).isRequired, + + /** + * An object of CSS styles that are applied to the immediate parent `div` of the contents. Use this instead of margin props. + */ + style: _propTypes.default.object, + + /** + * Sets which focus UX pattern to follow. For instance, popovers trap focus and must be exited to regain focus. Dropdowns and Tooltips never have focus. + */ + variant: _propTypes.default.oneOf(['dropdown', 'popover', 'tooltip']) +}); + +_defineProperty(Dialog, "defaultProps", { + align: 'bottom left', + direction: _UNSAFE_direction.DIRECTIONS.LTR, + offset: '0px 0px', + outsideClickIgnoreClass: 'ignore-react-onclickoutside' +}); + +Dialog.contextTypes = { + iconPath: _propTypes.default.string, + onRequestIconPath: _propTypes.default.func, + actionSprite: _propTypes.default.string, + customSprite: _propTypes.default.string, + doctypeSprite: _propTypes.default.string, + standardSprite: _propTypes.default.string, + utilitySprite: _propTypes.default.string +}; + +var _default = (0, _languageDirection.default)(Dialog); + +exports.default = _default; \ No newline at end of file diff --git a/components/utilities/dialog/portal.d.ts b/components/utilities/dialog/portal.d.ts new file mode 100644 index 0000000000..8460f065fa --- /dev/null +++ b/components/utilities/dialog/portal.d.ts @@ -0,0 +1,61 @@ +declare module '@salesforce/design-system-react/components/utilities/dialog/portal' { + import React from 'react'; + type Props = { + /* + * What tag to use for the portal, defaults to `div`. + */ + renderTag?: string; + /* + * What node the portal is rendered to, defaults to `document.body`. + */ + renderTo?: PropTypes.any; + /* + * React id prop. + */ + id?: string; + /* + * Accepts a _single_ element or component. + */ + children?: React.ReactNode; + /* + * ClassName added to . + */ + className?: PropTypes.any; + /* + * An object of styles that are applied to the portal. + */ + style?: Record; + /* + * Triggers when Portal render tree mounts. Pass in an undefined event and `{ portal: [node] }`` + */ + onMount?: (v: any) => any; + /* + * Triggers when the portal is mounted. + */ + onOpen?: (v: any) => any; + /* + * Triggers when Portal re-renders its tree. + */ + onUpdate?: (v: any) => any; + /** + * If a dialog is `positione="overflowBoundaryElement"`, it will be rendered in a portal or separate render tree. This `portalMount` callback will be triggered instead of the the default `ReactDOM.unstable_renderSubtreeIntoContainer` and the function will mount the portal itself. Consider the following code that bypasses the internal mount and uses an Enzyme wrapper to mount the React root tree to the DOM. + * + * ``` + * { + * portalWrapper = Enzyme.mount(reactElement, { attachTo: domContainerNode }); + * }} + * onOpen={() => { + * expect(portalWrapper.find(`#my-heading`)).to.exist; + * done(); + * }} + * /> + * ``` + */ + portalMount?: (v: any) => any; + }; + + function Component(props: Props): React.ReactNode; + export default Component; +} diff --git a/components/utilities/dialog/portal.js b/components/utilities/dialog/portal.js new file mode 100644 index 0000000000..6c643f805b --- /dev/null +++ b/components/utilities/dialog/portal.js @@ -0,0 +1,281 @@ +"use strict"; + +function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = void 0; + +var _react = require("react"); + +var _propTypes = _interopRequireDefault(require("prop-types")); + +var _reactDom = _interopRequireDefault(require("react-dom")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } + +function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); } + +function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } + +function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; } + +function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } + +function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } } + +function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } + +/* + * This component mounts its children within a disconnected render tree (portal). + */ +var documentDefined = typeof document !== 'undefined'; + +var Portal = /*#__PURE__*/function (_Component) { + _inherits(Portal, _Component); + + var _super = _createSuper(Portal); + + function Portal(props) { + var _this; + + _classCallCheck(this, Portal); + + _this = _super.call(this, props); + _this.portalNode = null; + _this.state = { + isOpen: false + }; + return _this; + } + + _createClass(Portal, [{ + key: "componentDidMount", + value: function componentDidMount() { + this.renderPortal(); + } + }, { + key: "componentDidUpdate", + value: function componentDidUpdate() { + this.renderPortal(); + } + }, { + key: "componentWillUnmount", + value: function componentWillUnmount() { + this.unmountPortal(); + } + }, { + key: "getChildren", + value: function getChildren() { + return _react.Children.only(this.props.children); + } + }, { + key: "getPortalParentNode", + value: function getPortalParentNode() { + var element; + + if (typeof this.props.renderTo === 'string') { + element = document.querySelector(this.props.renderTo); + } else { + element = this.props.renderTo || documentDefined && document.body; + } + + return element; + } + }, { + key: "setupPortalNode", + value: function setupPortalNode() { + var parentParentNode = this.getPortalParentNode(); + this.portalNode = {}; + + if (documentDefined) { + this.portalNode = document.createElement(this.props.renderTag); + this.portalNode.setAttribute('style', 'display: block; height: 0px; width: 0px;'); + this.portalNode.setAttribute('className', 'design-system-react-portal'); + parentParentNode.appendChild(this.portalNode); + this.portalNodeInstance = this.props.onMount ? this.props.onMount(undefined, { + portal: this.portalNode + }) : this.portalNode; + } + } + }, { + key: "unmountPortal", + value: function unmountPortal() { + if (this.portalNode) { + _reactDom.default.unmountComponentAtNode(this.portalNode); + + this.portalNode.parentNode.removeChild(this.portalNode); + } + + this.portalNode = null; + } + }, { + key: "updatePortal", + value: function updatePortal() { + var _this2 = this; + + if (this.props.id) { + this.portalNode.id = this.props.id; + } + + if (this.props.className) { + this.portalNode.className = this.props.className; + } + + if (this.props.style) { + Object.keys(this.props.style).forEach(function (key) { + _this2.portalNode.style[key] = _this2.props.style[key]; + }); + } + + if (this.props.onUpdate) { + this.portalNodeInstance = this.props.onUpdate(this.portalNodeInstance); + } + } + }, { + key: "renderPortal", + value: function renderPortal() { + var _this3 = this; + + // if no portal contents, then unmount + if (!this.getChildren() || !documentDefined) { + this.unmountPortal(); + return; + } + + if (!this.portalNode) { + this.setupPortalNode(); + } + + if (this.props.portalMount) { + this.props.portalMount({ + instance: this, + reactElement: this.getChildren(), + domContainerNode: this.portalNode, + updateCallback: function updateCallback() { + _this3.updatePortal(); // update after subtree renders + + } + }); + } else { + // actual render + _reactDom.default.unstable_renderSubtreeIntoContainer(this, this.getChildren(), this.portalNode, function () { + _this3.updatePortal(); // update after subtree renders + + + if (_this3.state.isOpen === false) { + if (_this3.props.onOpen) { + _this3.props.onOpen(undefined, { + portal: _this3.getChildren() + }); + } + + _this3.setState({ + isOpen: true + }); + } + }); + } + } + }, { + key: "render", + value: function render() { + return null; + } + }]); + + return Portal; +}(_react.Component); + +Portal.displayName = 'Portal'; +Portal.propTypes = { + /* + * What tag to use for the portal, defaults to `div`. + */ + renderTag: _propTypes.default.string, + + /* + * What node the portal is rendered to, defaults to `document.body`. + */ + renderTo: _propTypes.default.any, + + /* + * React id prop. + */ + id: _propTypes.default.string, + + /* + * Accepts a _single_ element or component. + */ + children: _propTypes.default.node, + + /* + * ClassName added to . + */ + className: _propTypes.default.any, + + /* + * An object of styles that are applied to the portal. + */ + style: _propTypes.default.object, + + /* + * Triggers when Portal render tree mounts. Pass in an undefined event and `{ portal: [node] }`` + */ + onMount: _propTypes.default.func, + + /* + * Triggers when the portal is mounted. + */ + onOpen: _propTypes.default.func, + + /* + * Triggers when Portal re-renders its tree. + */ + onUpdate: _propTypes.default.func, + + /** + * If a dialog is `positione="overflowBoundaryElement"`, it will be rendered in a portal or separate render tree. This `portalMount` callback will be triggered instead of the the default `ReactDOM.unstable_renderSubtreeIntoContainer` and the function will mount the portal itself. Consider the following code that bypasses the internal mount and uses an Enzyme wrapper to mount the React root tree to the DOM. + * + * ``` + * { + * portalWrapper = Enzyme.mount(reactElement, { attachTo: domContainerNode }); + * }} + * onOpen={() => { + * expect(portalWrapper.find(`#my-heading`)).to.exist; + * done(); + * }} + * /> + * ``` + */ + portalMount: _propTypes.default.func +}; +Portal.defaultProps = { + renderTag: 'span', + renderTo: null, + onMount: function onMount() { + return null; + }, + onOpen: function onOpen() { + return null; + }, + onUpdate: function onUpdate() { + return null; + }, + onUnmount: function onUnmount() { + return null; + } +}; +var _default = Portal; +exports.default = _default; \ No newline at end of file diff --git a/components/utilities/highlighter.d.ts b/components/utilities/highlighter.d.ts new file mode 100644 index 0000000000..db40a3972b --- /dev/null +++ b/components/utilities/highlighter.d.ts @@ -0,0 +1,17 @@ +declare module '@salesforce/design-system-react/components/utilities/highlighter' { + import React from 'react'; + type Props = { + /** + * The full string to display. + */ + children?: string | number | boolean | React.ReactNode; + className?: string; + /** + * The string of text (or Regular Expression) to highlight. + */ + search?: PropTypes.any; + }; + + function Component(props: Props): React.ReactNode; + export default Component; +} diff --git a/components/utilities/highlighter/index.js b/components/utilities/highlighter/index.js new file mode 100644 index 0000000000..e4af92258e --- /dev/null +++ b/components/utilities/highlighter/index.js @@ -0,0 +1,99 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = void 0; + +var _react = _interopRequireDefault(require("react")); + +var _propTypes = _interopRequireDefault(require("prop-types")); + +var _reactHighlighter = _interopRequireDefault(require("react-highlighter")); + +var _constants = require("../../../utilities/constants"); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */ + +/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */ +// ### React +// ### ReactHighlighter +// ## Constants + +/** + * A utility component that highlights occurrences of a particular pattern in its contents. + */ +var Highlighter = function Highlighter(props) { + if (props.search) { + var children; + + if (typeof props.children === 'string') { + children = /*#__PURE__*/_react.default.createElement(_reactHighlighter.default, { + className: props.className, + matchClass: null, + matchElement: "mark", + search: props.search, + title: props.children + }, props.children); + } else { + var findString = function findString(nodeArr) { + return nodeArr.map(function (element) { + var newElement; + + if (typeof element === 'string') { + newElement = /*#__PURE__*/_react.default.createElement(_reactHighlighter.default, { + key: element, + className: props.className, + matchClass: null, + matchElement: "mark", + search: props.search, + title: element + }, element); + } else { + newElement = element; + } + + return newElement; + }); + }; + + if (props.children.props) { + var node = props.children.props.children; + children = node instanceof Array ? findString(node) : node; + } + } + + return /*#__PURE__*/_react.default.createElement("span", null, children); + } + + if (typeof props.children === 'string') { + return /*#__PURE__*/_react.default.createElement("span", { + className: props.className, + title: props.children + }, props.children); + } + + return /*#__PURE__*/_react.default.createElement("span", { + className: props.className + }, props.children); +}; // ### Display Name + + +Highlighter.displayName = _constants.HIGHLIGHTER; // ### Prop Types + +Highlighter.propTypes = { + /** + * The full string to display. + */ + children: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.number, _propTypes.default.bool, _propTypes.default.node]), + className: _propTypes.default.string, + + /** + * The string of text (or Regular Expression) to highlight. + */ + search: _propTypes.default.any +}; +var _default = Highlighter; +exports.default = _default; \ No newline at end of file diff --git a/components/utilities/label.d.ts b/components/utilities/label.d.ts new file mode 100644 index 0000000000..0a036e38b3 --- /dev/null +++ b/components/utilities/label.d.ts @@ -0,0 +1,32 @@ +declare module '@salesforce/design-system-react/components/utilities/label' { + import React from 'react'; + type Props = { + /* + * Assistive Text to use instead of a visible label + */ + assistiveText?: Record; + /** + * Class names to be added to the label + */ + className?: any[] | Record | string; + /* + * Id of the input associated with this label + */ + htmlFor?: string; + /* + * Input Label + */ + label?: string; + /* + * Applies label styling for a required form element + */ + required?: boolean; + /** + * Changes markup of label. + */ + variant?: 'base' | 'static'; + }; + + function Component(props: Props): React.ReactNode; + export default Component; +} diff --git a/components/utilities/label/index.js b/components/utilities/label/index.js new file mode 100644 index 0000000000..fc6e06845e --- /dev/null +++ b/components/utilities/label/index.js @@ -0,0 +1,83 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = void 0; + +var _react = _interopRequireDefault(require("react")); + +var _propTypes = _interopRequireDefault(require("prop-types")); + +var _classnames = _interopRequireDefault(require("classnames")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +/* eslint-disable react/jsx-curly-brace-presence */ + +/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */ + +/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */ +var propTypes = { + /* + * Assistive Text to use instead of a visible label + */ + assistiveText: _propTypes.default.object, + + /** + * Class names to be added to the label + */ + className: _propTypes.default.oneOfType([_propTypes.default.array, _propTypes.default.object, _propTypes.default.string]), + + /* + * Id of the input associated with this label + */ + htmlFor: _propTypes.default.string, + + /* + * Input Label + */ + label: _propTypes.default.string, + + /* + * Applies label styling for a required form element + */ + required: _propTypes.default.bool, + + /** + * Changes markup of label. + */ + variant: _propTypes.default.oneOf(['base', 'static']) +}; +var defaultProps = { + variant: 'base' +}; +/* + * Form label. This returns null if there is no label text (hidden or shown) + */ + +var Label = function Label(props) { + var labelText = props.label || props.assistiveText && props.assistiveText.label; // One of these is required to pass accessibility tests + + var subRenders = { + base: /*#__PURE__*/_react.default.createElement("label", { + className: (0, _classnames.default)('slds-form-element__label', { + 'slds-assistive-text': props.assistiveText && !props.label + }, props.className), + htmlFor: props.htmlFor + }, props.required && /*#__PURE__*/_react.default.createElement("abbr", { + className: "slds-required", + title: "required" + }, '*'), labelText), + static: /*#__PURE__*/_react.default.createElement("span", { + className: (0, _classnames.default)('slds-form-element__label', props.className) + }, labelText) + }; + return labelText ? subRenders[props.variant] : null; +}; + +Label.displayName = 'Label'; +Label.propTypes = propTypes; +Label.defaultProps = defaultProps; +var _default = Label; +exports.default = _default; \ No newline at end of file diff --git a/components/utilities/menu-list.d.ts b/components/utilities/menu-list.d.ts new file mode 100644 index 0000000000..6eaf2947d3 --- /dev/null +++ b/components/utilities/menu-list.d.ts @@ -0,0 +1,54 @@ +declare module '@salesforce/design-system-react/components/utilities/menu-list' { + import React from 'react'; + type Props = { + /** + * Determines whether or not to show a checkmark for selected items. + */ + checkmark?: boolean; + /** + * CSS classes to be added to `
      `. + */ + className?: string; + /** + * Used internally to determine the id that will be used for list items. + */ + getListItemId?: (v: any) => any; + /** + * Used internally to pass references to the individual menu items back up for focusing / scrolling. + */ + itemRefs?: (v: any) => any; + /** + * If provided, this function will be used to render the contents of each menu item. + */ + itemRenderer?: (v: any) => any; + /** + * Sets the height of the list based on the numeber of items. + */ + length?: null | '5' | '7' | '10' | 5 | 7 | 10; + /** + * Triggered when a list item is selected (via mouse or keyboard). + */ + onSelect?: (v: any) => any; + /** + * An array of items to render in the list. + */ + options?: any[]; + /** + * The index of the currently selected item in the list. + */ + selectedIndex?: number; + /** + * Accepts a `Tooltip` component to be used as the template for menu item tooltips that appear via the `tooltipContent` options object attribute + */ + tooltipMenuItem?: React.ReactNode; + /** + * The id of the element which triggered this list (in a menu context). + */ + triggerId?: string; + }; + /** + * Component description. + */ + function Component(props: Props): React.ReactNode; + export default Component; +} diff --git a/components/utilities/menu-list/index.js b/components/utilities/menu-list/index.js new file mode 100644 index 0000000000..ab36ab412f --- /dev/null +++ b/components/utilities/menu-list/index.js @@ -0,0 +1,181 @@ +"use strict"; + +function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = void 0; + +var _react = _interopRequireDefault(require("react")); + +var _propTypes = _interopRequireDefault(require("prop-types")); + +var _classnames = _interopRequireDefault(require("classnames")); + +var _item = _interopRequireDefault(require("./item")); + +var _constants = require("../../../utilities/constants"); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); } + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } + +function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); } + +function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } + +function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; } + +function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } + +function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } } + +function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +/** + * Component description. + */ +var List = /*#__PURE__*/function (_React$Component) { + _inherits(List, _React$Component); + + var _super = _createSuper(List); + + function List() { + _classCallCheck(this, List); + + return _super.apply(this, arguments); + } + + _createClass(List, [{ + key: "render", + value: function render() { + var _this = this; + + var lengthClassName; + var list; + + if (this.props.length) { + lengthClassName = "slds-dropdown_length-".concat(this.props.length); + } + + list = /*#__PURE__*/_react.default.createElement("ul", { + "aria-labelledby": this.props.triggerId, + className: (0, _classnames.default)('dropdown__list', lengthClassName, this.props.className), + role: "menu" + }, this.props.options.map(function (option, index) { + var id = _this.props.getListItemId(index); + + var isSingleSelected = index === _this.props.selectedIndex; + var isMultipleSelected = !!_this.props.selectedIndices && _this.props.selectedIndices.indexOf(index) !== -1; + return /*#__PURE__*/_react.default.createElement(_item.default, _extends({}, option, { + "aria-disabled": option.disabled, + checkmark: _this.props.checkmark && (isSingleSelected || isMultipleSelected), + data: option, + id: id, + index: index, + isSelected: isSingleSelected || isMultipleSelected, + key: "".concat(id, "-").concat(option.value), + labelRenderer: _this.props.itemRenderer, + onSelect: _this.props.onSelect, + ref: function ref(listItem) { + return _this.props.itemRefs(listItem, index); + }, + tooltipTemplate: _this.props.tooltipMenuItem + })); + })); + + if (this.props.tooltipMenuItem) { + /* eslint-disable react/no-danger */ + list = /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement("style", { + dangerouslySetInnerHTML: { + __html: ".slds-dropdown__item > .slds-tooltip-trigger > a {\n\tposition: relative;\n\tdisplay: -ms-flexbox;\n\tdisplay: flex;\n\t-ms-flex-pack: justify;\n\tjustify-content: space-between;\n\t-ms-flex-align: center;\n\talign-items: center;\n\tpadding: 0.5rem 0.75rem;\n\tcolor: #080707;\n\twhite-space: nowrap;\n\tcursor: pointer;\n}\n\n.slds-dropdown__item > .slds-tooltip-trigger > a:active {\n text-decoration: none;\n background-color: #ecebea;\n}\n\n.slds-dropdown__item > .slds-tooltip-trigger > a:hover,\n.slds-dropdown__item > .slds-tooltip-trigger > a:focus {\n outline: 0;\n text-decoration: none;\n background-color: #f3f2f2;\n}\n" + } + }), list); + /* eslint-enable react/no-danger */ + } + + return list; + } + }]); + + return List; +}(_react.default.Component); + +_defineProperty(List, "displayName", _constants.LIST); + +_defineProperty(List, "propTypes", { + /** + * Determines whether or not to show a checkmark for selected items. + */ + checkmark: _propTypes.default.bool, + + /** + * CSS classes to be added to `
        `. + */ + className: _propTypes.default.string, + + /** + * Used internally to determine the id that will be used for list items. + */ + getListItemId: _propTypes.default.func, + + /** + * Used internally to pass references to the individual menu items back up for focusing / scrolling. + */ + itemRefs: _propTypes.default.func, + + /** + * If provided, this function will be used to render the contents of each menu item. + */ + itemRenderer: _propTypes.default.func, + + /** + * Sets the height of the list based on the numeber of items. + */ + length: _propTypes.default.oneOf([null, '5', '7', '10', 5, 7, 10]), + + /** + * Triggered when a list item is selected (via mouse or keyboard). + */ + onSelect: _propTypes.default.func, + + /** + * An array of items to render in the list. + */ + options: _propTypes.default.array, + + /** + * The index of the currently selected item in the list. + */ + selectedIndex: _propTypes.default.number, + + /** + * Accepts a `Tooltip` component to be used as the template for menu item tooltips that appear via the `tooltipContent` options object attribute + */ + tooltipMenuItem: _propTypes.default.node, + + /** + * The id of the element which triggered this list (in a menu context). + */ + triggerId: _propTypes.default.string +}); + +_defineProperty(List, "defaultProps", { + length: '5', + options: [], + selectedIndex: -1 +}); + +var _default = List; +exports.default = _default; \ No newline at end of file diff --git a/components/utilities/menu-list/item-label.d.ts b/components/utilities/menu-list/item-label.d.ts new file mode 100644 index 0000000000..e1fa3b5841 --- /dev/null +++ b/components/utilities/menu-list/item-label.d.ts @@ -0,0 +1,15 @@ +declare module '@salesforce/design-system-react/components/utilities/menu-list/item-label' { + import React from 'react'; + type Props = { + data?: Record; + icon?: React.ReactNode; + index?: number; + inverted?: boolean; + isSelected?: boolean; + label?: string; + value?: PropTypes.any; + }; + + function Component(props: Props): React.ReactNode; + export default Component; +} diff --git a/components/utilities/menu-list/item-label.js b/components/utilities/menu-list/item-label.js new file mode 100644 index 0000000000..5c0c4ceccb --- /dev/null +++ b/components/utilities/menu-list/item-label.js @@ -0,0 +1,53 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = void 0; + +var _react = _interopRequireDefault(require("react")); + +var _propTypes = _interopRequireDefault(require("prop-types")); + +var _constants = require("../../../utilities/constants"); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */ + +/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */ +// # List Item Label Component +// ## Dependencies +// ### React +// ## Constants + +/** + * Component description. + */ +var ListItemLabel = function ListItemLabel(props) { + return /*#__PURE__*/_react.default.createElement("span", { + className: "slds-truncate", + title: props.label + }, props.icon, props.label); +}; + +ListItemLabel.displayName = _constants.LIST_ITEM_LABEL; +ListItemLabel.propTypes = { + data: _propTypes.default.object, + icon: _propTypes.default.node, + index: _propTypes.default.number, + inverted: _propTypes.default.bool, + isSelected: _propTypes.default.bool, + label: _propTypes.default.string, + value: _propTypes.default.any +}; +ListItemLabel.defaultProps = { + data: {}, + index: 0, + inverted: false, + isSelected: false, + label: '', + value: null +}; +var _default = ListItemLabel; +exports.default = _default; \ No newline at end of file diff --git a/components/utilities/menu-list/item.d.ts b/components/utilities/menu-list/item.d.ts new file mode 100644 index 0000000000..fea0e68a2c --- /dev/null +++ b/components/utilities/menu-list/item.d.ts @@ -0,0 +1,35 @@ +declare module '@salesforce/design-system-react/components/utilities/menu-list/item' { + import React from 'react'; + type Props = { + 'aria-disabled'?: boolean; + className?: any[] | Record | string; + checkmark?: boolean; + data?: Record; + divider?: 'top' | 'bottom'; + href?: string; + id: string /*.isRequired*/; + index: number /*.isRequired*/; + inverted?: boolean; + isSelected?: boolean; + label?: string; + labelRenderer?: (v: any) => any; + leftIcon?: Partial<{ + category?: string; + name?: string; + }>; + onSelect: (v: any) => any /*.isRequired*/; + rightIcon?: Partial<{ + category?: string; + name?: string; + }>; + tooltipContent?: React.ReactNode | string; + tooltipTemplate?: React.ReactNode; + type?: string; + value?: PropTypes.any; + }; + /** + * Component description. + */ + function Component(props: Props): React.ReactNode; + export default Component; +} diff --git a/components/utilities/menu-list/item.js b/components/utilities/menu-list/item.js new file mode 100644 index 0000000000..35e3e18b0d --- /dev/null +++ b/components/utilities/menu-list/item.js @@ -0,0 +1,258 @@ +"use strict"; + +function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = void 0; + +var _react = _interopRequireDefault(require("react")); + +var _propTypes = _interopRequireDefault(require("prop-types")); + +var _classnames = _interopRequireDefault(require("classnames")); + +var _icon = _interopRequireDefault(require("../../icon")); + +var _itemLabel = _interopRequireDefault(require("./item-label")); + +var _event = _interopRequireDefault(require("../../../utilities/event")); + +var _constants = require("../../../utilities/constants"); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; } + +function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); } + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } + +function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); } + +function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } + +function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; } + +function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } + +function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } } + +function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +/** + * Component description. + */ +var ListItem = /*#__PURE__*/function (_React$Component) { + _inherits(ListItem, _React$Component); + + var _super = _createSuper(ListItem); + + function ListItem() { + var _this; + + _classCallCheck(this, ListItem); + + for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { + args[_key] = arguments[_key]; + } + + _this = _super.call.apply(_super, [this].concat(args)); + + _defineProperty(_assertThisInitialized(_this), "getLabel", function () { + var Label = _this.props.labelRenderer; + return /*#__PURE__*/_react.default.createElement(Label, { + checkmark: _this.props.checkmark, + data: _this.props.data, + icon: _this.getIcon('left'), + index: _this.props.index, + inverted: _this.props.inverted, + isSelected: _this.props.isSelected, + label: _this.props.label, + value: _this.props.value + }); + }); + + _defineProperty(_assertThisInitialized(_this), "getIcon", function (position) { + var classnames = ['slds-icon-text-default']; + + var iconProps = _this.props["".concat(position, "Icon")]; + + if (position === 'left') { + if (_this.props.checkmark) { + // eslint-disable-next-line fp/no-mutating-methods + classnames.push('slds-icon_selected'); + iconProps = { + category: 'utility', + name: 'check' + }; + } // eslint-disable-next-line fp/no-mutating-methods + + + classnames.push('slds-m-right_x-small'); + } else { + // eslint-disable-next-line fp/no-mutating-methods + classnames.push('slds-m-left_small'); + } + + if (iconProps) { + return /*#__PURE__*/_react.default.createElement(_icon.default, _extends({ + className: (0, _classnames.default)(classnames), + position: position, + size: "x-small" + }, iconProps)); + } + + return null; + }); + + _defineProperty(_assertThisInitialized(_this), "handleClick", function (event) { + if (_this.props.type !== 'link' || _this.props.href === 'javascript:void(0);' // eslint-disable-line no-script-url + ) { + // eslint-disable-line no-script-url + _event.default.trapImmediate(event); + } + + if (_this.props.onSelect) { + _this.props.onSelect(_this.props.index); + } + }); + + _defineProperty(_assertThisInitialized(_this), "handleMouseDown", function (event) { + _event.default.trapImmediate(event); + }); + + return _this; + } + + _createClass(ListItem, [{ + key: "render", + value: function render() { + switch (this.props.type) { + case 'header': + { + return /*#__PURE__*/_react.default.createElement("li", { + className: (0, _classnames.default)('slds-dropdown__header', { + 'slds-has-divider_top-space': this.props.divider === 'top', + 'slds-has-divider_bottom-space': this.props.divider === 'bottom' + }, this.props.className), + onMouseDown: this.handleMouseDown, + role: "separator" + }, /*#__PURE__*/_react.default.createElement("span", null, this.props.label)); + } + + case 'divider': + { + return /*#__PURE__*/_react.default.createElement("li", { + className: (0, _classnames.default)('slds-has-divider', this.props.className), + onMouseDown: this.handleMouseDown, + role: "separator" + }); + } + + case 'link': + case 'item': + default: + { + /* eslint-disable jsx-a11y/role-supports-aria-props */ + var itemContents = /*#__PURE__*/_react.default.createElement("a", { + "aria-checked": this.props.checkmark && this.props.isSelected, + "aria-disabled": this.props['aria-disabled'], + href: this.props.href, + "data-index": this.props.index, + onClick: this.handleClick, + role: this.props.checkmark ? 'menuitemcheckbox' : 'menuitem', + tabIndex: "-1" + }, this.getLabel(), this.getIcon('right')); + + if (this.props.tooltipContent && this.props.tooltipTemplate) { + var tooltipTemplateProps = _extends({}, this.props.tooltipTemplate.props); + + var tooltipProps = _objectSpread(_objectSpread({}, tooltipTemplateProps), {}, { + content: this.props.tooltipContent, + id: "".concat(this.props.id, "-tooltip"), + triggerStyle: _objectSpread({ + width: '100%' + }, tooltipTemplateProps.triggerStyle || {}) + }); + + itemContents = /*#__PURE__*/_react.default.cloneElement(this.props.tooltipTemplate, tooltipProps, itemContents); + } + + return ( + /*#__PURE__*/ + + /* eslint-disable jsx-a11y/role-supports-aria-props */ + // disabled eslint, but using aria-selected on presentation role seems suspicious... + _react.default.createElement("li", { + "aria-selected": this.props.checkmark === null ? this.props.isSelected : null, + className: (0, _classnames.default)('slds-dropdown__item', { + 'slds-is-selected': this.props.isSelected + }, this.props.className), + id: this.props.id, + onMouseDown: this.handleMouseDown, + role: "presentation" + }, itemContents) + ); + } + } + } + }]); + + return ListItem; +}(_react.default.Component); + +_defineProperty(ListItem, "displayName", _constants.LIST_ITEM); + +_defineProperty(ListItem, "propTypes", { + 'aria-disabled': _propTypes.default.bool, + className: _propTypes.default.oneOfType([_propTypes.default.array, _propTypes.default.object, _propTypes.default.string]), + checkmark: _propTypes.default.bool, + data: _propTypes.default.object, + divider: _propTypes.default.oneOf(['top', 'bottom']), + href: _propTypes.default.string, + id: _propTypes.default.string.isRequired, + index: _propTypes.default.number.isRequired, + inverted: _propTypes.default.bool, + isSelected: _propTypes.default.bool, + label: _propTypes.default.string, + labelRenderer: _propTypes.default.func, + leftIcon: _propTypes.default.shape({ + category: _propTypes.default.string, + name: _propTypes.default.string + }), + onSelect: _propTypes.default.func.isRequired, + rightIcon: _propTypes.default.shape({ + category: _propTypes.default.string, + name: _propTypes.default.string + }), + tooltipContent: _propTypes.default.oneOfType([_propTypes.default.node, _propTypes.default.string]), + tooltipTemplate: _propTypes.default.node, + type: _propTypes.default.string, + value: _propTypes.default.any +}); + +_defineProperty(ListItem, "defaultProps", { + data: {}, + href: 'javascript:void(0);', + // eslint-disable-line no-script-url + inverted: false, + isSelected: false, + label: '', + labelRenderer: _itemLabel.default, + value: null +}); + +var _default = ListItem; +exports.default = _default; \ No newline at end of file diff --git a/components/utilities/pill.d.ts b/components/utilities/pill.d.ts new file mode 100644 index 0000000000..111b507717 --- /dev/null +++ b/components/utilities/pill.d.ts @@ -0,0 +1,73 @@ +declare module '@salesforce/design-system-react/components/utilities/pill' { + import React from 'react'; + type Props = { + /** + * Pill is the actively focused pill within a pill container. This will request focus on the DOM node. + */ + active?: boolean; + /** + * **Assistive text for accessibility** + * This object is merged with the default props object on every render. + * * `pressDeleteOrBackspace`: Informs user of keyboard keys to press in order to remove a pill + */ + assistiveText?: Partial<{ + remove?: string; + }>; + /** + * SLDSAvatar component to show on the left of the pill. + * _Tested with Mocha framework._ + */ + avatar?: React.ReactElement; + /** + * Applies the bare style to the component. + * _Tested with Mocha framework._ + */ + bare?: boolean; + /* + * Pills are often used for selection of a type of entity such as days in a daypicker. This prop allows you to pass in data that will be passed back to the event handler. + */ + eventData?: Record; + /* + * Callbacks for various pill events such as click, focus, etc + */ + events?: Partial<{ + onClick?: (v: any) => any; + onFocus?: (v: any) => any; + onRequestFocus: (v: any) => any /*.isRequired*/; + onRequestFocusOnNextPill: (v: any) => any /*.isRequired*/; + onRequestFocusOnPreviousPill: (v: any) => any /*.isRequired*/; + onRequestRemove: (v: any) => any /*.isRequired*/; + }>; + /** + * Applies the error style to the component. + * _Tested with Mocha framework._ + */ + hasError?: boolean; + /* + * The icon next to the pill label. + */ + icon?: React.ReactElement; + /* + * Pill Label + */ + labels?: Partial<{ + label: string /*.isRequired*/; + removeTitle?: string; + }>; + /* + * If true and is active pill in listbox, will trigger `events.onRequestFocus` + */ + requestFocus?: boolean; + /* + * Pill Title + */ + title?: string; + /* + * Allows the user to tab to the node + */ + tabIndex?: number; + }; + + function Component(props: Props): React.ReactNode; + export default Component; +} diff --git a/components/utilities/pill/index.js b/components/utilities/pill/index.js new file mode 100644 index 0000000000..21eadc1481 --- /dev/null +++ b/components/utilities/pill/index.js @@ -0,0 +1,208 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = void 0; + +var _react = _interopRequireDefault(require("react")); + +var _propTypes = _interopRequireDefault(require("prop-types")); + +var _lodash = _interopRequireDefault(require("lodash.assign")); + +var _keyCode = _interopRequireDefault(require("../../../utilities/key-code")); + +var _keyCallbacks = _interopRequireDefault(require("../../../utilities/key-callbacks")); + +var _event = _interopRequireDefault(require("../../../utilities/event")); + +var _pill = _interopRequireDefault(require("../../../components/pill")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var propTypes = { + /** + * Pill is the actively focused pill within a pill container. This will request focus on the DOM node. + */ + active: _propTypes.default.bool, + + /** + * **Assistive text for accessibility** + * This object is merged with the default props object on every render. + * * `pressDeleteOrBackspace`: Informs user of keyboard keys to press in order to remove a pill + */ + assistiveText: _propTypes.default.shape({ + remove: _propTypes.default.string + }), + + /** + * SLDSAvatar component to show on the left of the pill. + * _Tested with Mocha framework._ + */ + avatar: _propTypes.default.element, + + /** + * Applies the bare style to the component. + * _Tested with Mocha framework._ + */ + bare: _propTypes.default.bool, + + /* + * Pills are often used for selection of a type of entity such as days in a daypicker. This prop allows you to pass in data that will be passed back to the event handler. + */ + eventData: _propTypes.default.object, + + /* + * Callbacks for various pill events such as click, focus, etc + */ + events: _propTypes.default.shape({ + onClick: _propTypes.default.func, + onFocus: _propTypes.default.func, + onRequestFocus: _propTypes.default.func.isRequired, + onRequestFocusOnNextPill: _propTypes.default.func.isRequired, + onRequestFocusOnPreviousPill: _propTypes.default.func.isRequired, + onRequestRemove: _propTypes.default.func.isRequired + }), + + /** + * Applies the error style to the component. + * _Tested with Mocha framework._ + */ + hasError: _propTypes.default.bool, + + /* + * The icon next to the pill label. + */ + icon: _propTypes.default.element, + + /* + * Pill Label + */ + labels: _propTypes.default.shape({ + label: _propTypes.default.string.isRequired, + removeTitle: _propTypes.default.string + }), + + /* + * If true and is active pill in listbox, will trigger `events.onRequestFocus` + */ + requestFocus: _propTypes.default.bool, + + /* + * Pill Title + */ + title: _propTypes.default.string, + + /* + * Allows the user to tab to the node + */ + tabIndex: _propTypes.default.number +}; +var defaultProps = { + assistiveText: _propTypes.default.shape({ + remove: ', Press delete or backspace to remove' + }), + labels: { + remove: 'Remove' + }, + events: {} +}; + +var handleKeyDown = function handleKeyDown(event, _ref) { + var _callbacks; + + var events = _ref.events, + data = _ref.data; + // Helper function that takes an object literal of callbacks that are triggered with a key event + (0, _keyCallbacks.default)(event, { + callbacks: (_callbacks = {}, _defineProperty(_callbacks, _keyCode.default.BACKSPACE, { + callback: events.onRequestRemove, + data: data + }), _defineProperty(_callbacks, _keyCode.default.DELETE, { + callback: events.onRequestRemove, + data: data + }), _defineProperty(_callbacks, _keyCode.default.LEFT, { + callback: events.onRequestFocusOnPreviousPill, + data: _objectSpread(_objectSpread({}, data), {}, { + direction: 'previous' + }) + }), _defineProperty(_callbacks, _keyCode.default.RIGHT, { + callback: events.onRequestFocusOnNextPill, + data: _objectSpread(_objectSpread({}, data), {}, { + direction: 'next' + }) + }), _callbacks) + }); +}; + +var handleClickRemove = function handleClickRemove(event, _ref2) { + var events = _ref2.events, + data = _ref2.data; + + _event.default.trap(event); + + events.onRequestRemove(event, data); +}; + +var Pill = function Pill(props) { + var assistiveText = (0, _lodash.default)({}, defaultProps.assistiveText, props.assistiveText); + var labels = (0, _lodash.default)({}, defaultProps.labels, props.labels); + return /*#__PURE__*/_react.default.createElement(_pill.default, { + avatar: props.avatar, + bare: props.bare, + hasError: props.hasError, + tabIndex: props.tabIndex || '0', + icon: props.icon, + variant: "option", + labels: labels, + assistiveText: { + remove: assistiveText.remove + }, + "aria-selected": "true", + onBlur: props.events.onBlur, + onClick: typeof props.events.onClick === 'function' ? function (event) { + if (props.events.onClick) { + props.events.onClick(event, _objectSpread({}, props.eventData)); + } + } : null, + onFocus: function onFocus(event) { + if (props.events.onFocus) { + props.events.onFocus(event, _objectSpread({}, props.eventData)); + } + }, + onRemove: function onRemove(event) { + _event.default.trap(event); + + handleClickRemove(event, { + events: props.events, + data: props.eventData + }); + }, + onKeyDown: function onKeyDown(event) { + handleKeyDown(event, { + events: props.events, + data: props.eventData + }); + }, + ref: function ref(component) { + if (props.requestFocus && props.active) { + props.events.onRequestFocus(undefined, { + ref: component + }); + } + } + }); +}; + +Pill.displayName = 'Pill'; +Pill.propTypes = propTypes; +Pill.defaultProps = defaultProps; +var _default = Pill; +exports.default = _default; \ No newline at end of file diff --git a/components/utilities/text-content.js b/components/utilities/text-content.js new file mode 100644 index 0000000000..85db7c6909 --- /dev/null +++ b/components/utilities/text-content.js @@ -0,0 +1,28 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = textContent; + +function textContentArray(child) { + var text = []; + + if (typeof child === 'string' || typeof child === 'number') { + // eslint-disable-next-line fp/no-mutating-methods + text.push(child); + } else if (Array.isArray(child)) { + // eslint-disable-next-line fp/no-mutating-methods + text.push(child.forEach(textContentArray)); + } else if (child && child.props) { + var children = child.props.children; // eslint-disable-next-line fp/no-mutating-methods + + text.push(textContentArray(children)); + } + + return text; +} + +function textContent(child) { + return textContentArray(child).join(''); +} \ No newline at end of file diff --git a/components/utilities/truncate.d.ts b/components/utilities/truncate.d.ts new file mode 100644 index 0000000000..9859e09af7 --- /dev/null +++ b/components/utilities/truncate.d.ts @@ -0,0 +1,16 @@ +declare module '@salesforce/design-system-react/components/utilities/truncate' { + import React from 'react'; + type Props = { + containerClassName?: string; + line?: number; + prefix?: string; + suffix?: string; + text?: string; + textTruncateChild?: React.ReactNode; + truncateText?: string; + wrapper?: (v: any) => any; + }; + + function Component(props: Props): React.ReactNode; + export default Component; +} diff --git a/components/utilities/truncate/by-length.js b/components/utilities/truncate/by-length.js new file mode 100644 index 0000000000..3931d2b701 --- /dev/null +++ b/components/utilities/truncate/by-length.js @@ -0,0 +1,41 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = truncateByLength; + +/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */ + +/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */ +function truncateByLength(_ref) { + var _ref$inputString = _ref.inputString, + inputString = _ref$inputString === void 0 ? '' : _ref$inputString, + _ref$maxLength = _ref.maxLength, + maxLength = _ref$maxLength === void 0 ? 140 : _ref$maxLength, + _ref$truncationChars = _ref.truncationChars, + truncationChars = _ref$truncationChars === void 0 ? '...' : _ref$truncationChars, + _ref$startingLength = _ref.startingLength, + startingLength = _ref$startingLength === void 0 ? 0 : _ref$startingLength; + var outputString; + + if (inputString.length <= maxLength) { + outputString = inputString; + } else { + var words = inputString.split(' '); + var length = startingLength + truncationChars.length - 1; + outputString = words.reduce(function (combined, word) { + length += word.length + 1; + + if (length <= maxLength) { + // eslint-disable-next-line fp/no-mutating-methods + combined.push(word); + } + + return combined; + }, []).join(' '); + outputString += truncationChars; + } + + return outputString; +} \ No newline at end of file diff --git a/components/utilities/truncate/index.js b/components/utilities/truncate/index.js new file mode 100644 index 0000000000..e40f521942 --- /dev/null +++ b/components/utilities/truncate/index.js @@ -0,0 +1,299 @@ +"use strict"; + +function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = void 0; + +var _react = _interopRequireDefault(require("react")); + +var _propTypes = _interopRequireDefault(require("prop-types")); + +var _lodash = _interopRequireDefault(require("lodash.memoize")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; } + +function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; } + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } + +function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); } + +function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } + +function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; } + +function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } + +function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } } + +function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var documentDefined = typeof document !== 'undefined'; +var canvas; +var docFragment; +var canvasContext; + +var measureWidth = function measureWidth() { + return 0; +}; + +if (documentDefined) { + canvas = document.createElement('canvas'); + + if (canvas.getContext) { + docFragment = document.createDocumentFragment(); + docFragment.appendChild(canvas); + canvasContext = canvas.getContext('2d'); + measureWidth = (0, _lodash.default)(function (text, font) { + canvasContext.font = font; + return canvasContext.measureText(text).width; + }); + } +} + +var TextTruncate = /*#__PURE__*/function (_React$Component) { + _inherits(TextTruncate, _React$Component); + + var _super = _createSuper(TextTruncate); + + function TextTruncate() { + var _this; + + _classCallCheck(this, TextTruncate); + + for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { + args[_key] = arguments[_key]; + } + + _this = _super.call.apply(_super, [this].concat(args)); + + _defineProperty(_assertThisInitialized(_this), "state", {}); + + _defineProperty(_assertThisInitialized(_this), "onResize", function () { + _this.update(_this.props); + }); + + _defineProperty(_assertThisInitialized(_this), "getRenderText", function (ref, nextProps) { + if (!ref) { + return; + } + + _this.scope = ref; // nextProps will be undefined for resize events, but will change if search or other props are changed + + var propsToRender; + + if (nextProps) { + propsToRender = nextProps; + } else { + propsToRender = _this.props; + } + + var _propsToRender = propsToRender, + containerClassName = _propsToRender.containerClassName, + line = _propsToRender.line, + prefix = _propsToRender.prefix, + suffix = _propsToRender.suffix, + text = _propsToRender.text, + textTruncateChild = _propsToRender.textTruncateChild, + truncateText = _propsToRender.truncateText, + wrapper = _propsToRender.wrapper, + props = _objectWithoutProperties(_propsToRender, ["containerClassName", "line", "prefix", "suffix", "text", "textTruncateChild", "truncateText", "wrapper"]); + + var scopeWidth = _this.scope.getBoundingClientRect().width; + + var style = window.getComputedStyle(_this.scope); + var font = [style['font-weight'], style['font-style'], style['font-size'], style['font-family']].join(' '); // return if display:none + + if (scopeWidth === 0) { + _this.setState({ + renderText: null + }); + + return; + } + + var child; + var outputText = text; // return if all of text can be displayed + + if (scopeWidth < measureWidth(text, font)) { + var currentPos = 1; + var maxTextLength = text.length; + var truncatedText = ''; + var splitPos = 0; + var startPos = 0; + var displayLine = line; + var width = 0; + var lastIsEng = false; + var lastSpaceIndex = -1; // eslint-disable-next-line fp/no-loops + + while (displayLine !== 0) { + var ext = ''; + var extraWidthDueToPrefixStyle = 0; + + if (prefix && displayLine === line - 1) { + ext += " ".concat(prefix); // MAGIC NUMBER: (width at letter-spacing of 0.25rems - width at normal) / number of letters + + extraWidthDueToPrefixStyle = prefix.length * 0.66; + } + + if (!displayLine) { + ext += truncateText; + + if (suffix) { + ext += " ".concat(suffix); + } + } // eslint-disable-next-line fp/no-loops + + + while (currentPos <= maxTextLength) { + truncatedText = text.substr(startPos, currentPos); + width = measureWidth(truncatedText + ext, font) + extraWidthDueToPrefixStyle; + + if (width < scopeWidth) { + splitPos = text.indexOf(' ', currentPos + 1); + + if (splitPos === -1) { + currentPos += 1; + lastIsEng = false; + } else { + lastIsEng = true; + currentPos = splitPos; + } + } else { + var lastWidth = 0; // eslint-disable-next-line fp/no-loops + + do { + currentPos -= 1; + truncatedText = text.substr(startPos, currentPos); + + if (truncatedText[truncatedText.length - 1] === ' ') { + truncatedText = text.substr(startPos, currentPos - 1); + } + + if (lastIsEng) { + lastSpaceIndex = truncatedText.lastIndexOf(' '); + + if (lastSpaceIndex > -1) { + currentPos = lastSpaceIndex; + truncatedText = text.substr(startPos, currentPos); + } + } + + width = measureWidth(truncatedText + ext, font) + extraWidthDueToPrefixStyle; + + if (width === lastWidth) { + currentPos = 0; + break; + } else { + lastWidth = width; + } + } while (width >= scopeWidth); + + startPos += currentPos; + break; + } + } + + if (currentPos >= maxTextLength) { + startPos = maxTextLength; + break; + } + + displayLine -= 1; // iterate + } + + if (startPos !== maxTextLength) { + outputText = "".concat(text.substr(0, startPos)).concat(truncateText, " "); + child = textTruncateChild; + } + } + + var renderText; + + if (wrapper) { + renderText = wrapper(outputText, child); + } else { + renderText = /*#__PURE__*/_react.default.createElement("div", props, outputText, child); + } + + _this.setState({ + renderText: renderText + }); + }); + + _defineProperty(_assertThisInitialized(_this), "update", function (nextProps) { + _this.getRenderText(_this.scope, nextProps); + }); + + return _this; + } + + _createClass(TextTruncate, [{ + key: "componentDidMount", + value: function componentDidMount() { + window.addEventListener('resize', this.onResize, false); + } + }, { + key: "componentDidUpdate", + value: function componentDidUpdate(nextProps) { + if (nextProps.text !== this.props.text) { + this.update(nextProps); + } + } + }, { + key: "componentWillUnmount", + value: function componentWillUnmount() { + window.removeEventListener('resize', this.onResize, false); + } + }, { + key: "render", + value: function render() { + var containerClassName = this.props.containerClassName; // inline style override + + return /*#__PURE__*/_react.default.createElement("div", { + ref: this.getRenderText, + className: containerClassName, + style: { + overflow: 'hidden' + } + }, this.state.renderText); + } + }]); + + return TextTruncate; +}(_react.default.Component); + +_defineProperty(TextTruncate, "displayName", 'TextTruncate'); + +_defineProperty(TextTruncate, "propTypes", { + containerClassName: _propTypes.default.string, + line: _propTypes.default.number, + prefix: _propTypes.default.string, + suffix: _propTypes.default.string, + text: _propTypes.default.string, + textTruncateChild: _propTypes.default.node, + truncateText: _propTypes.default.string, + wrapper: _propTypes.default.func +}); + +_defineProperty(TextTruncate, "defaultProps", { + line: 1, + text: '', + truncateText: '…' +}); + +var _default = TextTruncate; +exports.default = _default; \ No newline at end of file diff --git a/components/utilities/utility-icon.d.ts b/components/utilities/utility-icon.d.ts new file mode 100644 index 0000000000..fc614c7996 --- /dev/null +++ b/components/utilities/utility-icon.d.ts @@ -0,0 +1,22 @@ +declare module '@salesforce/design-system-react/components/utilities/utility-icon' { + import React from 'react'; + type Props = { + assistiveText?: Record; + category?: 'action' | 'custom' | 'doctype' | 'standard' | 'utility'; + /** + * An SVG object to use instead of name / category, look in `design-system-react/icons` for examples + */ + icon?: Record; + /** + * Name of the icon. Visit Lightning Design System Icons to reference icon names. + */ + name?: string; + /** + * Path to the icon. This will override any global icon settings. + */ + path?: string; + }; + + function Component(props: Props): React.ReactNode; + export default Component; +} diff --git a/components/utilities/utility-icon/check-props.js b/components/utilities/utility-icon/check-props.js new file mode 100644 index 0000000000..3abab21c97 --- /dev/null +++ b/components/utilities/utility-icon/check-props.js @@ -0,0 +1,32 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = void 0; + +var _urlExists = _interopRequireDefault(require("../../../utilities/warning/url-exists")); + +var _UNSAFE_direction = require("../UNSAFE_direction"); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */ + +/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */ + +/* eslint-disable import/no-mutable-exports */ +var checkProps = function checkPropsFunction() {}; + +if (process.env.NODE_ENV !== 'production') { + checkProps = function checkPropsFunction(COMPONENT, props) { + if (!props.context["".concat(props.category, "Sprite")] && !props.context.onRequestIconPath) { + var modifiedPath = props.path || props.context.iconPath; + var svgAssetName = props.direction === _UNSAFE_direction.DIRECTIONS.RTL ? 'symbols-rtl.svg' : 'symbols.svg'; + (0, _urlExists.default)(COMPONENT, "".concat(modifiedPath, "/").concat(props.category, "-sprite/svg/").concat(svgAssetName, "#").concat(props.name)); + } + }; +} + +var _default = checkProps; +exports.default = _default; \ No newline at end of file diff --git a/components/utilities/utility-icon/index.js b/components/utilities/utility-icon/index.js new file mode 100644 index 0000000000..16019e196c --- /dev/null +++ b/components/utilities/utility-icon/index.js @@ -0,0 +1,139 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = void 0; + +var _react = _interopRequireDefault(require("react")); + +var _propTypes = _interopRequireDefault(require("prop-types")); + +var _checkProps = _interopRequireDefault(require("./check-props")); + +var _svg = _interopRequireDefault(require("./svg")); + +var _utility = _interopRequireDefault(require("../../../icons/utility")); + +var _action = _interopRequireDefault(require("../../../icons/action")); + +var _custom = _interopRequireDefault(require("../../../icons/custom")); + +var _doctype = _interopRequireDefault(require("../../../icons/doctype")); + +var _standard = _interopRequireDefault(require("../../../icons/standard")); + +var _UNSAFE_direction = require("../UNSAFE_direction"); + +var _languageDirection = _interopRequireDefault(require("../UNSAFE_direction/private/language-direction")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); } + +function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; } + +function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; } + +/* + * If inline icons are present and icon bundle imports are not just an empty object, then inline icons will be used instead of external icons that require HTTP access. + */ +var UtilityIcon = function UtilityIcon(_ref, context) { + var _ref$name = _ref.name, + name = _ref$name === void 0 ? '' : _ref$name, + assistiveText = _ref.assistiveText, + category = _ref.category, + icon = _ref.icon, + path = _ref.path, + direction = _ref.direction, + rest = _objectWithoutProperties(_ref, ["name", "assistiveText", "category", "icon", "path", "direction"]); + + (0, _checkProps.default)('UtilityIcon', { + name: name, + category: category, + path: path, + context: context + }); + var inlineIcons = { + action: _action.default, + custom: _custom.default, + doctype: _doctype.default, + standard: _standard.default, + utility: _utility.default + }; + var inlineData; + + if (icon) { + // Use SVG data passed in with `icon` prop + inlineData = icon; + } else if (Object.keys(inlineIcons[category]).length) { + // Use inline icon data if it exists. ENV variables will have to set to allow this. + inlineData = inlineIcons[category][name.toLowerCase()]; + inlineData.viewBox = inlineIcons[category].viewBox; + } + + var modifiedPath; + + if (path) { + // Use `path` prop of Icon if present + modifiedPath = path; + } else if (context.onRequestIconPath) { + modifiedPath = context.onRequestIconPath({ + category: category, + name: name + }); + } else if (context["".concat(category, "Sprite")]) { + // Use category sprite file from IconSettings if present + modifiedPath = "".concat(context["".concat(category, "Sprite")], "#").concat(name); + } else { + // Otherwise, use external URLs for icons + var svgAssetName = direction === _UNSAFE_direction.DIRECTIONS.RTL ? 'symbols-rtl.svg' : 'symbols.svg'; + modifiedPath = context.iconPath && "".concat(context.iconPath, "/").concat(category, "-sprite/svg/").concat(svgAssetName, "#").concat(name); + } + + return inlineData ? /*#__PURE__*/_react.default.createElement(_svg.default, _extends({ + data: inlineData, + name: name + }, rest)) : /*#__PURE__*/_react.default.createElement("svg", _extends({ + key: "".concat(name, "_").concat(category) + }, rest), /*#__PURE__*/_react.default.createElement("use", { + href: modifiedPath + })); +}; + +UtilityIcon.displayName = 'UtilityIcon'; +UtilityIcon.propTypes = { + assistiveText: _propTypes.default.object, + category: _propTypes.default.oneOf(['action', 'custom', 'doctype', 'standard', 'utility']), + + /** + * An SVG object to use instead of name / category, look in `design-system-react/icons` for examples + */ + icon: _propTypes.default.object, + + /** + * Name of the icon. Visit Lightning Design System Icons to reference icon names. + */ + name: _propTypes.default.string, + + /** + * Path to the icon. This will override any global icon settings. + */ + path: _propTypes.default.string +}; +UtilityIcon.defaultProps = { + category: 'utility' +}; +UtilityIcon.contextTypes = { + iconPath: _propTypes.default.string, + onRequestIconPath: _propTypes.default.func, + actionSprite: _propTypes.default.string, + customSprite: _propTypes.default.string, + doctypeSprite: _propTypes.default.string, + standardSprite: _propTypes.default.string, + utilitySprite: _propTypes.default.string +}; + +var _default = (0, _languageDirection.default)(UtilityIcon); + +exports.default = _default; \ No newline at end of file diff --git a/components/utilities/utility-icon/svg.js b/components/utilities/utility-icon/svg.js new file mode 100644 index 0000000000..da44623b1a --- /dev/null +++ b/components/utilities/utility-icon/svg.js @@ -0,0 +1,167 @@ +"use strict"; + +function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = void 0; + +var _react = _interopRequireDefault(require("react")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; } + +function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; } + +function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); } + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } + +function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); } + +function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } + +function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; } + +function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } + +function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } } + +function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +var Svg = /*#__PURE__*/function (_React$Component) { + _inherits(Svg, _React$Component); + + var _super = _createSuper(Svg); + + function Svg() { + var _this; + + _classCallCheck(this, Svg); + + for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { + args[_key] = arguments[_key]; + } + + _this = _super.call.apply(_super, [this].concat(args)); + + _defineProperty(_assertThisInitialized(_this), "getPaths", function (paths) { + if (paths instanceof Array) { + return paths.map(function (item) { + return /*#__PURE__*/_react.default.createElement("path", item); + }); + } + + return /*#__PURE__*/_react.default.createElement("path", _extends({ + key: "pathSVG" + }, paths)); + }); + + _defineProperty(_assertThisInitialized(_this), "getCircles", function (circles) { + if (circles instanceof Array) { + return circles.map(function (item) { + return /*#__PURE__*/_react.default.createElement("circle", item); + }); + } + + return /*#__PURE__*/_react.default.createElement("circle", _extends({ + key: "circleSVG" + }, circles)); + }); + + _defineProperty(_assertThisInitialized(_this), "getEllipses", function (ellipses) { + if (ellipses instanceof Array) { + return ellipses.map(function (item) { + return /*#__PURE__*/_react.default.createElement("ellipse", item); + }); + } + + return /*#__PURE__*/_react.default.createElement("ellipse", _extends({ + key: "ellipseSVG" + }, ellipses)); + }); + + _defineProperty(_assertThisInitialized(_this), "getGroups", function (groups) { + if (groups instanceof Array) { + return groups.map(function (item) { + return /*#__PURE__*/_react.default.createElement("g", null, _this.getShapes(item)); + }); + } + + return /*#__PURE__*/_react.default.createElement("g", { + key: "groupsSVG" + }, _this.getShapes(groups)); + }); + + _defineProperty(_assertThisInitialized(_this), "getShapes", function (data) { + var shapes = []; + + if (data) { + if (data.g) { + // eslint-disable-next-line fp/no-mutating-methods + shapes.push(_this.getGroups(data.g)); + } + + if (data.ellipse) { + // eslint-disable-next-line fp/no-mutating-methods + shapes.push(_this.getEllipses(data.ellipse)); + } + + if (data.circle) { + // eslint-disable-next-line fp/no-mutating-methods + shapes.push(_this.getCircles(data.circle)); + } + + if (data.path) { + // eslint-disable-next-line fp/no-mutating-methods + shapes.push(_this.getPaths(data.path)); + } + } + + return shapes; + }); + + _defineProperty(_assertThisInitialized(_this), "getSVG", function (_ref, props) { + var viewBox = _ref.viewBox, + rest = _objectWithoutProperties(_ref, ["viewBox"]); + + return /*#__PURE__*/_react.default.createElement("svg", { + "aria-hidden": props['aria-hidden'], + className: props.className, + viewBox: viewBox, + name: props.name, + style: props.style + }, _this.getShapes(rest)); + }); + + return _this; + } + + _createClass(Svg, [{ + key: "render", + value: function render() { + var _this$props = this.props, + data = _this$props.data, + props = _objectWithoutProperties(_this$props, ["data"]); + + return data ? this.getSVG(data, props) : null; + } + }]); + + return Svg; +}(_react.default.Component); + +_defineProperty(Svg, "displayName", 'Svg'); + +var _default = Svg; +exports.default = _default; \ No newline at end of file diff --git a/components/vertical-navigation.d.ts b/components/vertical-navigation.d.ts new file mode 100644 index 0000000000..6588c85d89 --- /dev/null +++ b/components/vertical-navigation.d.ts @@ -0,0 +1,30 @@ +declare module '@salesforce/design-system-react/components/vertical-navigation' { + import React from 'react'; + type Props = { + /** + * HTML id for component. _Tested with snapshot testing._ + */ + id?: string; + /** + * CSS class names to be added to the container element. _Tested with snapshot testing._ + */ + className?: any[] | Record | string; + /** + * Array of categories. The required shape is: `{id: string, label: string, items: array}`. The required shape of an item is `{id: string, label: string, url: string}`. All item ids are expected to be unique. _Tested with snapshot testing._ + */ + categories?: any[]; + /** + * The ID of the item that is currently selected. Defaults to the ID of the first item. _Tested with Mocha framework._ + */ + selectedId?: string; + /** + * Triggered when the selection changes. It receives an event and an item object in the shape: `event, {item: [object] }`. _Tested with Mocha framework._ + */ + onSelect?: (v: any) => any; + }; + /** + * Vertical Navigation represents a list of links that either take the user to another page or parts of the page the user is in. + */ + function Component(props: Props): React.ReactElement; + export default Component; +} diff --git a/components/vertical-navigation/__docs__/__snapshots__/storybook-stories.storyshot b/components/vertical-navigation/__docs__/__snapshots__/storybook-stories.storyshot new file mode 100644 index 0000000000..b13050649f --- /dev/null +++ b/components/vertical-navigation/__docs__/__snapshots__/storybook-stories.storyshot @@ -0,0 +1,291 @@ +// Jest Snapshot v1, https://goo.gl/fbAQLP + +exports[`DOM snapshots SLDSVerticalNavigation DOM Snapshot 1`] = ` + +`; + +exports[`DOM snapshots SLDSVerticalNavigation Default 1`] = ` + +`; diff --git a/components/vertical-navigation/__docs__/storybook-stories.jsx b/components/vertical-navigation/__docs__/storybook-stories.jsx new file mode 100644 index 0000000000..17c6260e33 --- /dev/null +++ b/components/vertical-navigation/__docs__/storybook-stories.jsx @@ -0,0 +1,18 @@ +import React from 'react'; +import { storiesOf } from '@storybook/react'; +import { action } from '@storybook/addon-actions'; +import IconSettings from '../../icon-settings'; + +import { VERTICAL_NAVIGATION } from '../../../utilities/constants'; + +import Default from '../__examples__/default'; +import SnaphotDefault from '../__examples__/snapshot-default'; + +storiesOf(VERTICAL_NAVIGATION, module) + .addDecorator((getStory) => ( +
        + {getStory()} +
        + )) + .add('Default', () => ) + .add('DOM Snapshot', () => ); diff --git a/components/vertical-navigation/__examples__/default.jsx b/components/vertical-navigation/__examples__/default.jsx new file mode 100644 index 0000000000..1b723787d3 --- /dev/null +++ b/components/vertical-navigation/__examples__/default.jsx @@ -0,0 +1,61 @@ +/* eslint-disable no-console, react/prop-types */ +import React from 'react'; + +import IconSettings from '~/components/icon-settings'; +import VerticalNavigation from '~/components/vertical-navigation'; + +const sampleReportCategories = [ + { + id: 'reports', + label: 'Reports', + items: [ + { id: 'recent_reports', label: 'Recent' }, + { id: 'my_reports', label: 'Created by Me' }, + { id: 'private_reports', label: 'Private Reports' }, + { id: 'public_reports', label: 'Public Reports' }, + { id: 'all_reports', label: 'All Reports' }, + ], + }, + { + id: 'folders', + label: 'Folders', + items: [ + { id: 'my_folders', label: 'Created by Me' }, + { id: 'shared_folders', label: 'Shared with Me' }, + { id: 'all_folders', label: 'All Folders' }, + ], + }, +]; + +class Example extends React.Component { + static displayName = 'NavigationExample'; + + state = { + selectedId: 'recent_reports', + }; + + render() { + return ( + +
        + { + this.setState({ selectedId: data.item.id }); + if (this.props.action) { + const dataAsArray = Object.keys(data).map((key) => data[key]); + this.props.action('onSelect')(event, data, ...dataAsArray); + } else if (console) { + console.log('[onSelect] (event, data)', event, data); + } + }} + /> +
        +
        + ); + } +} + +export default Example; // export is replaced with `ReactDOM.render(, mountNode);` at runtime diff --git a/components/vertical-navigation/__examples__/snapshot-default.jsx b/components/vertical-navigation/__examples__/snapshot-default.jsx new file mode 100644 index 0000000000..e3080091da --- /dev/null +++ b/components/vertical-navigation/__examples__/snapshot-default.jsx @@ -0,0 +1,26 @@ +/* eslint-disable no-console, react/prop-types */ +import React from 'react'; + +// Higher Order Components such as `react-onclickoutside` use the DOM and Jest snapshot testing must be DOMless +import VerticalNavigation from '~/components/vertical-navigation'; +import IconSettings from '~/components/icon-settings'; + +import { sampleReportCategories } from '~/utilities/sample-data/vertical-navigation'; + +class Example extends React.Component { + static displayName = 'NavigationExample'; + + render() { + return ( + + + + ); + } +} + +export default Example; diff --git a/components/vertical-navigation/check-props.js b/components/vertical-navigation/check-props.js new file mode 100644 index 0000000000..732a76193c --- /dev/null +++ b/components/vertical-navigation/check-props.js @@ -0,0 +1,26 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = void 0; + +var _deprecatedProperty = _interopRequireDefault(require("../../utilities/warning/deprecated-property")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */ + +/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */ + +/* eslint-disable import/no-mutable-exports */ +var checkProps = function checkPropsFunction() {}; + +if (process.env.NODE_ENV !== 'production') { + checkProps = function checkPropsFunction(COMPONENT, props) { + (0, _deprecatedProperty.default)(COMPONENT, props.variant, 'variant', undefined, 'Shade variant is deprecated as there is no background supported currently. Vertical Navigation now uses a default shade.'); + }; +} + +var _default = checkProps; +exports.default = _default; \ No newline at end of file diff --git a/components/vertical-navigation/component.json b/components/vertical-navigation/component.json new file mode 100644 index 0000000000..d6ee1c31ec --- /dev/null +++ b/components/vertical-navigation/component.json @@ -0,0 +1,14 @@ +{ + "component": "vertical-navigation", + "status": "prod", + "display-name": "Vertical Navigation", + "classKey": "VerticalNavigation", + "SLDS-component-path": "/components/vertical-navigation", + "site-stories": [ + { + "heading": "Default", + "path": "/__examples__/default.jsx" + } + ], + "url-slug": "vertical-navigation" +} diff --git a/components/vertical-navigation/index.js b/components/vertical-navigation/index.js new file mode 100644 index 0000000000..7b9b1cbbdb --- /dev/null +++ b/components/vertical-navigation/index.js @@ -0,0 +1,158 @@ +"use strict"; + +function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = void 0; + +var _react = _interopRequireDefault(require("react")); + +var _propTypes = _interopRequireDefault(require("prop-types")); + +var _classnames = _interopRequireDefault(require("classnames")); + +var _shortid = _interopRequireDefault(require("shortid")); + +var _component = _interopRequireDefault(require("./component.json")); + +var _checkProps = _interopRequireDefault(require("./check-props")); + +var _constants = require("../../utilities/constants"); + +var _item = _interopRequireDefault(require("./private/item")); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } + +function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); } + +function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } + +function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; } + +function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } + +function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } } + +function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +/** + * Vertical Navigation represents a list of links that either take the user to another page or parts of the page the user is in. + */ +var VerticalNavigation = /*#__PURE__*/function (_React$Component) { + _inherits(VerticalNavigation, _React$Component); + + var _super = _createSuper(VerticalNavigation); + + function VerticalNavigation(props) { + var _this; + + _classCallCheck(this, VerticalNavigation); + + _this = _super.call(this, props); + + _defineProperty(_assertThisInitialized(_this), "getId", function () { + return _this.props.id || _this.generatedId; + }); + + _defineProperty(_assertThisInitialized(_this), "getSelectedId", function () { + var categories = _this.props.categories; + var selectedId; + + if (_this.props.selectedId) { + // eslint-disable-next-line prefer-destructuring + selectedId = _this.props.selectedId; + } else if (categories.length > 0 && categories[0].items && categories[0].items.length > 0) { + selectedId = categories[0].items[0].id; + } + + return selectedId; + }); + + _this.generatedId = _shortid.default.generate(); + (0, _checkProps.default)(_constants.VERTICAL_NAVIGATION, props, _component.default); + return _this; + } + + _createClass(VerticalNavigation, [{ + key: "render", + value: function render() { + var _this2 = this; + + var rootId = this.getId(); + return /*#__PURE__*/_react.default.createElement("nav", { + id: rootId, + className: (0, _classnames.default)('slds-nav-vertical', this.props.className) + }, this.props.categories.map(function (category) { + var categoryId = "".concat(rootId, "-").concat(category.id); + + var selectedId = _this2.getSelectedId(); + + return /*#__PURE__*/_react.default.createElement("div", { + key: "".concat(categoryId, "-header"), + className: "slds-nav-vertical__section" + }, /*#__PURE__*/_react.default.createElement("h2", { + id: categoryId, + className: "slds-nav-vertical__title" + }, category.label), /*#__PURE__*/_react.default.createElement("ul", { + key: categoryId + }, category.items.map(function (item) { + return /*#__PURE__*/_react.default.createElement(_item.default, { + key: item.id, + item: item, + isSelected: item.id === selectedId, + categoryId: categoryId, + onSelect: _this2.props.onSelect + }); + }))); + })); + } + }]); + + return VerticalNavigation; +}(_react.default.Component); + +_defineProperty(VerticalNavigation, "displayName", _constants.VERTICAL_NAVIGATION); + +_defineProperty(VerticalNavigation, "propTypes", { + /** + * HTML id for component. _Tested with snapshot testing._ + */ + id: _propTypes.default.string, + + /** + * CSS class names to be added to the container element. _Tested with snapshot testing._ + */ + className: _propTypes.default.oneOfType([_propTypes.default.array, _propTypes.default.object, _propTypes.default.string]), + + /** + * Array of categories. The required shape is: `{id: string, label: string, items: array}`. The required shape of an item is `{id: string, label: string, url: string}`. All item ids are expected to be unique. _Tested with snapshot testing._ + */ + categories: _propTypes.default.array, + + /** + * The ID of the item that is currently selected. Defaults to the ID of the first item. _Tested with Mocha framework._ + */ + selectedId: _propTypes.default.string, + + /** + * Triggered when the selection changes. It receives an event and an item object in the shape: `event, {item: [object] }`. _Tested with Mocha framework._ + */ + onSelect: _propTypes.default.func +}); + +_defineProperty(VerticalNavigation, "defaultProps", {}); + +var _default = VerticalNavigation; +exports.default = _default; \ No newline at end of file diff --git a/components/vertical-navigation/private/item.d.ts b/components/vertical-navigation/private/item.d.ts new file mode 100644 index 0000000000..506e85ec3e --- /dev/null +++ b/components/vertical-navigation/private/item.d.ts @@ -0,0 +1,28 @@ +declare module '@salesforce/design-system-react/components/vertical-navigation/private/item' { + import React from 'react'; + type Props = { + /** + * Item to be rendered. + */ + item?: Partial<{ + id: string /*.isRequired*/; + label: string /*.isRequired*/; + url?: string; + }>; + /** + * Whether item is selected or not. + */ + isSelected?: boolean; + /** + * ID of the category this item belongs to. + */ + categoryId: string /*.isRequired*/; + /** + * Function that will run whenever an item is selected. + */ + onSelect?: (v: any) => any; + }; + + function Component(props: Props): React.ReactNode; + export default Component; +} diff --git a/components/vertical-navigation/private/item.js b/components/vertical-navigation/private/item.js new file mode 100644 index 0000000000..97f593e414 --- /dev/null +++ b/components/vertical-navigation/private/item.js @@ -0,0 +1,87 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = void 0; + +var _react = _interopRequireDefault(require("react")); + +var _propTypes = _interopRequireDefault(require("prop-types")); + +var _classnames = _interopRequireDefault(require("classnames")); + +var _lodash = _interopRequireDefault(require("lodash.isfunction")); + +var _constants = require("../../../utilities/constants"); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */ + +/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */ +// ### classNames +// [github.com/JedWatson/classnames](https://github.com/JedWatson/classnames) +// This project uses `classnames`, 'a simple javascript utility for conditionally +// joining classNames together.' +// ### isFunction +var handleClick = function handleClick(event, props) { + if ((0, _lodash.default)(props.onSelect)) { + props.onSelect(event, { + item: props.item + }); + } +}; + +var Item = function Item(props) { + return /*#__PURE__*/_react.default.createElement("li", { + className: (0, _classnames.default)('slds-nav-vertical__item', { + 'slds-is-active': props.isSelected + }) + }, /*#__PURE__*/_react.default.createElement("a", { + "data-id": props.item.id, + href: props.item.url || 'javascript:void(0);' // eslint-disable-line no-script-url + , + className: "slds-nav-vertical__action", + "aria-describedby": props.categoryId, + "aria-current": props.isSelected ? true : undefined, + onClick: function onClick(event) { + handleClick(event, props); + } + }, props.item.label)); +}; // ### Display Name +// Always use the canonical component name as the React display name. + + +Item.displayName = _constants.VERTICAL_NAVIGATION_ITEM; // ### Prop Types + +Item.propTypes = { + /** + * Item to be rendered. + */ + item: _propTypes.default.shape({ + id: _propTypes.default.string.isRequired, + label: _propTypes.default.string.isRequired, + url: _propTypes.default.string + }), + + /** + * Whether item is selected or not. + */ + isSelected: _propTypes.default.bool, + + /** + * ID of the category this item belongs to. + */ + categoryId: _propTypes.default.string.isRequired, + + /** + * Function that will run whenever an item is selected. + */ + onSelect: _propTypes.default.func +}; +Item.defaultProps = { + isSelected: false +}; +var _default = Item; +exports.default = _default; \ No newline at end of file diff --git a/components/visual-picker.d.ts b/components/visual-picker.d.ts new file mode 100644 index 0000000000..0471c5adb8 --- /dev/null +++ b/components/visual-picker.d.ts @@ -0,0 +1,42 @@ +declare module '@salesforce/design-system-react/components/visual-picker' { + import React from 'react'; + type Props = { + /** + * HTML id for component. + */ + id?: string; + /** + * Visual Picker accepts `Checkbox`, `Radio` and `VisualPickerLink` components as children. Please see `Checkbox`, `Radio` and `VisualPickerLink` for props. + */ + children?: React.ReactNode; + /** + * CSS classes to be added to tag with `.slds-form-element`. Uses `classNames` [API](https://github.com/JedWatson/classnames). + */ + className?: any[] | Record | string; + /** + * Label for the visual picker + */ + label?: string; + /** + * Whether the visual picker is coverable on selection + */ + coverable?: boolean; + /** + * Whether the visual picker has a vertical layout + */ + vertical?: boolean; + /** + * Whether the visual picker has links as children + */ + links?: boolean; + /** + * Size for visual picker + */ + size?: 'medium' | 'large'; + }; + /** + * Visual Picker Component + */ + function Component(props: Props): React.ReactElement; + export default Component; +} diff --git a/components/visual-picker/__docs__/__snapshots__/storybook-stories.storyshot b/components/visual-picker/__docs__/__snapshots__/storybook-stories.storyshot new file mode 100644 index 0000000000..392ab9187d --- /dev/null +++ b/components/visual-picker/__docs__/__snapshots__/storybook-stories.storyshot @@ -0,0 +1,1538 @@ +// Jest Snapshot v1, https://goo.gl/fbAQLP + +exports[`DOM snapshots SLDSVisualPicker Coverable 1`] = ` +
        +
        +

        + Radio +

        +
        + + Select any one + +
        + + + + + + + + +
        +
        +
        +

        + Checkbox +

        +
        + + Add the following object(s) + +
        + + + + + + + + + + + + +
        +
        +
        +
        +`; + +exports[`DOM snapshots SLDSVisualPicker Links 1`] = ` + +`; + +exports[`DOM snapshots SLDSVisualPicker Non-Coverable 1`] = ` +
        +
        +

        + Radio +

        +
        + + Please Select Any One + +
        + + + + + + + + + + + + +
        +
        +
        +

        + Checkbox +

        +
        + + Add the following object(s) + +
        + + + + + + + + + + + + +
        +
        +
        +
        +`; + +exports[`DOM snapshots SLDSVisualPicker Vertical 1`] = ` +
        +
        +

        + Radio +

        +
        + + Please Select Any One + +
        + + + + + + + + + + + + +
        +
        +
        +

        + Checkbox +

        +
        + + Please Select Any One + +
        + + + + + + + + + + + + +
        +
        +
        +
        +`; + +exports[`DOM snapshots SLDSVisualPicker Vertical Coverable 1`] = ` +
        +
        +

        + Radio +

        +
        + + Select any one + +
        + + + + + + + + +
        +
        +
        +

        + Checkbox +

        +
        + + Add the following object(s) + +
        + + + + + + + + + + + + +
        +
        +
        +
        +`; diff --git a/components/visual-picker/__docs__/storybook-stories.jsx b/components/visual-picker/__docs__/storybook-stories.jsx new file mode 100644 index 0000000000..792bfa24b5 --- /dev/null +++ b/components/visual-picker/__docs__/storybook-stories.jsx @@ -0,0 +1,18 @@ +import React from 'react'; +import { storiesOf } from '@storybook/react'; +import { VISUAL_PICKER } from '../../../utilities/constants'; +import NonCoverable from '../__examples__/non-coverable'; +import Coverable from '../__examples__/coverable'; +import Links from '../__examples__/links'; +import Vertical from '../__examples__/vertical'; +import VerticalCoverable from '../__examples__/vertical-coverable'; + +storiesOf(VISUAL_PICKER, module) + .addDecorator((getStory) => ( +
        {getStory()}
        + )) + .add('Coverable', () => ) + .add('Non-Coverable', () => ) + .add('Links', () => ) + .add('Vertical', () => ) + .add('Vertical Coverable', () => ); diff --git a/components/visual-picker/__examples__/coverable.jsx b/components/visual-picker/__examples__/coverable.jsx new file mode 100644 index 0000000000..a161b10e23 --- /dev/null +++ b/components/visual-picker/__examples__/coverable.jsx @@ -0,0 +1,154 @@ +import React from 'react'; +import VisualPicker from '~/components/visual-picker'; +import { Radio, Checkbox } from '~/components'; +import Icon from '~/components/icon'; +import IconSettings from '~/components/icon-settings'; + +class Example extends React.Component { + render() { + return ( + +
        +

        Radio

        + + ( + + )} + onRenderVisualPickerNotSelected={() => ( + + )} + /> + ( + + )} + onRenderVisualPickerNotSelected={() => ( + + )} + /> + +
        +

        Checkbox

        + + ( + + )} + onRenderVisualPickerNotSelected={() => ( + + )} + /> + ( + + )} + onRenderVisualPickerNotSelected={() => ( + + )} + /> + ( + + )} + onRenderVisualPickerNotSelected={() => ( + + )} + /> + +
        +
        + ); + } +} +Example.displayName = 'VisualPickerCoverable'; + +export default Example; // export is replaced with `ReactDOM.render(, mountNode);` at runtime diff --git a/components/visual-picker/__examples__/links.jsx b/components/visual-picker/__examples__/links.jsx new file mode 100644 index 0000000000..0163b7fc44 --- /dev/null +++ b/components/visual-picker/__examples__/links.jsx @@ -0,0 +1,38 @@ +import React from 'react'; +import VisualPicker from '~/components/visual-picker'; +import Icon from '~/components/icon'; +import IconSettings from '~/components/icon-settings'; +import VisualPickerLink from '../link'; + +class Example extends React.Component { + render() { + return ( + +
        + + } + /> + } + /> + +
        +
        + ); + } +} +Example.displayName = 'VisualPickerLinks'; + +export default Example; diff --git a/components/visual-picker/__examples__/non-coverable.jsx b/components/visual-picker/__examples__/non-coverable.jsx new file mode 100644 index 0000000000..e49d36b1ff --- /dev/null +++ b/components/visual-picker/__examples__/non-coverable.jsx @@ -0,0 +1,122 @@ +import React from 'react'; +import VisualPicker from '~/components/visual-picker'; +import { Radio, Checkbox } from '~/components'; +import IconSettings from '~/components/icon-settings'; + +class Example extends React.Component { + render() { + return ( + +
        +

        Radio

        + + ( + + $30 + USD/user/month * + + )} + /> + ( + + $150 + USD/user/month * + + )} + /> + ( + + $300 + USD/user/month * + + )} + /> + +
        +

        Checkbox

        + + ( + + $30 + USD/user/month * + + )} + /> + ( + + $150 + USD/user/month * + + )} + /> + ( + + $300 + USD/user/month * + + )} + /> + +
        +
        + ); + } +} +Example.displayName = 'VisualPickerNonCoverable'; + +export default Example; // export is replaced with `ReactDOM.render(, mountNode);` at runtime diff --git a/components/visual-picker/__examples__/vertical-coverable.jsx b/components/visual-picker/__examples__/vertical-coverable.jsx new file mode 100644 index 0000000000..1d3edb2ee8 --- /dev/null +++ b/components/visual-picker/__examples__/vertical-coverable.jsx @@ -0,0 +1,144 @@ +import React from 'react'; +import VisualPicker from '~/components/visual-picker'; +import { Radio, Checkbox } from '~/components'; +import Icon from '~/components/icon'; +import IconSettings from '~/components/icon-settings'; + +class Example extends React.Component { + render() { + return ( + +
        +

        Radio

        + + ( + + )} + onRenderVisualPickerNotSelected={() => ( + + )} + /> + ( + + )} + onRenderVisualPickerNotSelected={() => ( + + )} + /> + +
        +

        Checkbox

        + + ( + + )} + onRenderVisualPickerNotSelected={() => ( + + )} + /> + ( + + )} + onRenderVisualPickerNotSelected={() => ( + + )} + /> + ( + + )} + onRenderVisualPickerNotSelected={() => ( + + )} + /> + +
        +
        + ); + } +} +Example.displayName = 'VisualPickerCoverable'; + +export default Example; // export is replaced with `ReactDOM.render(, mountNode);` at runtime diff --git a/components/visual-picker/__examples__/vertical.jsx b/components/visual-picker/__examples__/vertical.jsx new file mode 100644 index 0000000000..c512e62d0c --- /dev/null +++ b/components/visual-picker/__examples__/vertical.jsx @@ -0,0 +1,130 @@ +import React from 'react'; +import VisualPicker from '~/components/visual-picker'; +import { Radio, Checkbox } from '~/components'; +import IconSettings from '~/components/icon-settings'; + +class Example extends React.Component { + render() { + return ( + +
        +

        Radio

        + + ( + + + Item Text + + + Some optional item description to help the user better + understand what this option is about. + + + )} + /> + ( + + + Item Text + + + Some optional item description to help the user better + understand what this option is about. + + + )} + /> + ( + + + Item Text + + + Some optional item description to help the user better + understand what this option is about. + + + )} + /> + +
        +

        Checkbox

        + + ( + + + Item Text + + + Some optional item description to help the user better + understand what this option is about. + + + )} + /> + ( + + + Item Text + + + Some optional item description to help the user better + understand what this option is about. + + + )} + /> + ( + + + Item Text + + + Some optional item description to help the user better + understand what this option is about. + + + )} + /> + +
        +
        + ); + } +} +Example.displayName = 'VisualPickerNonCoverable'; + +export default Example; // export is replaced with `ReactDOM.render(, mountNode);` at runtime diff --git a/components/visual-picker/component.json b/components/visual-picker/component.json new file mode 100644 index 0000000000..4019f9ac09 --- /dev/null +++ b/components/visual-picker/component.json @@ -0,0 +1,28 @@ +{ + "component": "visual-picker", + "status": "prod", + "display-name": "Visual Pickers", + "classKey": "VisualPicker", + "SLDS-component-path": "/components/visual-picker", + "dependencies": [ + { + "component": "link", + "classKey": "VisualPickerLink" + } + ], + "site-stories": [ + { + "heading": "Coverable", + "path": "/__examples__/coverable.jsx" + }, + { + "heading": "Non-coverable", + "path": "/__examples__/non-coverable.jsx" + }, + { + "heading": "Vertical", + "path": "/__examples__/vertical.jsx" + } + ], + "url-slug": "visual-pickers" +} diff --git a/components/visual-picker/index.js b/components/visual-picker/index.js new file mode 100644 index 0000000000..9f83b50d4f --- /dev/null +++ b/components/visual-picker/index.js @@ -0,0 +1,145 @@ +"use strict"; + +function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = void 0; + +var _react = _interopRequireDefault(require("react")); + +var _propTypes = _interopRequireDefault(require("prop-types")); + +var _classnames = _interopRequireDefault(require("classnames")); + +var _shortid = _interopRequireDefault(require("shortid")); + +var _constants = require("../../utilities/constants"); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } + +function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); } + +function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } + +function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; } + +function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } + +function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } } + +function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } + +var propTypes = { + /** + * HTML id for component. + */ + id: _propTypes.default.string, + + /** + * Visual Picker accepts `Checkbox`, `Radio` and `VisualPickerLink` components as children. Please see `Checkbox`, `Radio` and `VisualPickerLink` for props. + */ + children: _propTypes.default.node, + + /** + * CSS classes to be added to tag with `.slds-form-element`. Uses `classNames` [API](https://github.com/JedWatson/classnames). + */ + className: _propTypes.default.oneOfType([_propTypes.default.array, _propTypes.default.object, _propTypes.default.string]), + + /** + * Label for the visual picker + */ + label: _propTypes.default.string, + + /** + * Whether the visual picker is coverable on selection + */ + coverable: _propTypes.default.bool, + + /** + * Whether the visual picker has a vertical layout + */ + vertical: _propTypes.default.bool, + + /** + * Whether the visual picker has links as children + */ + links: _propTypes.default.bool, + + /** + * Size for visual picker + */ + size: _propTypes.default.oneOf(['medium', 'large']) +}; +var defaultProps = { + size: 'medium', + vertical: false, + links: false +}; +/** + * Visual Picker Component + */ + +var VisualPicker = /*#__PURE__*/function (_React$Component) { + _inherits(VisualPicker, _React$Component); + + var _super = _createSuper(VisualPicker); + + function VisualPicker() { + _classCallCheck(this, VisualPicker); + + return _super.apply(this, arguments); + } + + _createClass(VisualPicker, [{ + key: "UNSAFE_componentWillMount", + // eslint-disable-next-line camelcase + value: function UNSAFE_componentWillMount() { + this.generatedId = _shortid.default.generate(); + } + }, { + key: "render", + value: function render() { + var _this = this; + + var options = _react.default.Children.map(this.props.children, function (option, index) { + return /*#__PURE__*/_react.default.cloneElement(option, { + index: "".concat(_this.props.id || _this.generatedId, "-").concat(index), + coverable: _this.props.coverable, + variant: 'visual-picker', + name: "".concat(_this.props.id || _this.generatedId, "_options"), + size: _this.props.size, + vertical: !!_this.props.vertical + }); + }); + + return this.props.links ? /*#__PURE__*/_react.default.createElement("div", { + className: "slds-form-element__control" + }, this.props.children) : /*#__PURE__*/_react.default.createElement("fieldset", { + id: this.props.id, + className: (0, _classnames.default)("slds-form-element", this.props.className) + }, /*#__PURE__*/_react.default.createElement("legend", { + className: "slds-form-element__legend slds-form-element__label" + }, this.props.label), /*#__PURE__*/_react.default.createElement("div", { + className: "slds-form-element__control" + }, options)); + } + }]); + + return VisualPicker; +}(_react.default.Component); + +VisualPicker.displayName = _constants.VISUAL_PICKER; +VisualPicker.propTypes = propTypes; +VisualPicker.defaultProps = defaultProps; +var _default = VisualPicker; +exports.default = _default; \ No newline at end of file diff --git a/components/visual-picker/link.d.ts b/components/visual-picker/link.d.ts new file mode 100644 index 0000000000..355db36deb --- /dev/null +++ b/components/visual-picker/link.d.ts @@ -0,0 +1,34 @@ +declare module '@salesforce/design-system-react/components/visual-picker/link' { + import React from 'react'; + type Props = { + /** + * HTML id for component. + */ + id?: string; + /** + * CSS classes to be added to tag with `.slds-form-element`. Uses `classNames` [API](https://github.com/JedWatson/classnames). + */ + className?: any[] | Record | string; + /** + * URL for the Link + */ + href?: string; + /** + * Icon node for the Link + */ + icon?: React.ReactNode; + /** + * Title for the Link + */ + title?: string; + /** + * Description for the Link + */ + description?: string; + }; + /** + * Visual Picker Link Component + */ + function Component(props: Props): React.ReactNode; + export default Component; +} diff --git a/components/visual-picker/link.js b/components/visual-picker/link.js new file mode 100644 index 0000000000..eb45bfac99 --- /dev/null +++ b/components/visual-picker/link.js @@ -0,0 +1,112 @@ +"use strict"; + +function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = void 0; + +var _react = _interopRequireDefault(require("react")); + +var _propTypes = _interopRequireDefault(require("prop-types")); + +var _classnames = _interopRequireDefault(require("classnames")); + +var _constants = require("../../utilities/constants"); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } + +function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); } + +function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } + +function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; } + +function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } + +function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } } + +function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } + +var propTypes = { + /** + * HTML id for component. + */ + id: _propTypes.default.string, + + /** + * CSS classes to be added to tag with `.slds-form-element`. Uses `classNames` [API](https://github.com/JedWatson/classnames). + */ + className: _propTypes.default.oneOfType([_propTypes.default.array, _propTypes.default.object, _propTypes.default.string]), + + /** + * URL for the Link + */ + href: _propTypes.default.string, + + /** + * Icon node for the Link + */ + icon: _propTypes.default.node, + + /** + * Title for the Link + */ + title: _propTypes.default.string, + + /** + * Description for the Link + */ + description: _propTypes.default.string +}; +/** + * Visual Picker Link Component + */ + +var VisualPickerLink = /*#__PURE__*/function (_React$Component) { + _inherits(VisualPickerLink, _React$Component); + + var _super = _createSuper(VisualPickerLink); + + function VisualPickerLink() { + _classCallCheck(this, VisualPickerLink); + + return _super.apply(this, arguments); + } + + _createClass(VisualPickerLink, [{ + key: "render", + value: function render() { + return /*#__PURE__*/_react.default.createElement("a", { + href: this.props.href, + id: this.props.id, + className: (0, _classnames.default)('slds-box', 'slds-box_link', 'slds-theme_default', 'slds-box_x-small', 'slds-media', 'slds-visual-picker_vertical', this.props.className) + }, /*#__PURE__*/_react.default.createElement("div", { + className: "slds-media__figure slds-media__figure_fixed-width slds-align_absolute-center slds-m-left_xx-small" + }, this.props.icon), /*#__PURE__*/_react.default.createElement("div", { + className: "slds-media__body slds-border_left slds-p-around_small" + }, /*#__PURE__*/_react.default.createElement("h2", { + className: "slds-truncate slds-text-heading_small", + title: this.props.title + }, this.props.title), /*#__PURE__*/_react.default.createElement("p", { + className: "slds-m-top_small" + }, this.props.description))); + } + }]); + + return VisualPickerLink; +}(_react.default.Component); + +VisualPickerLink.displayName = _constants.VISUAL_PICKER_LINK; +VisualPickerLink.propTypes = propTypes; +var _default = VisualPickerLink; +exports.default = _default; \ No newline at end of file diff --git a/components/welcome-mat.d.ts b/components/welcome-mat.d.ts new file mode 100644 index 0000000000..38c834a300 --- /dev/null +++ b/components/welcome-mat.d.ts @@ -0,0 +1,54 @@ +declare module '@salesforce/design-system-react/components/welcome-mat' { + import React from 'react'; + type Props = { + /** + * CSS class names to be added to the container element. `array`, `object`, or `string` are accepted. + */ + className?: any[] | Record | string; + /** + * HTML id for component. + */ + id?: string; + /** + * Whether the modal is open + */ + isOpen?: boolean; + /** + * **Weclome Mat labels for internationalization** + * This object is merged with the default props object on every render. + * * `title`: Title for the Welcome Mat + * * `description`: Label for the radio input + * * `unitsCompletedAfter`: Label for the radio input + */ + labels?: Partial<{ + title?: string; + description?: string; + unitsCompletedAfter?: string; + }>; + /** + * Variant of the WelcomeMat + */ + variant?: 'steps' | 'info-only' | 'splash' | 'trailhead-connected'; + /** + * Link to learn more button + */ + onRenderInfoActions?: (v: any) => any; + /** + * Callback to fire when modal is dismissed + */ + onRequestClose?: (v: any) => any; + /** + * Accepts a single WelcomeMatInfoBadge component, to be used with the trailhead variant + */ + infoBadge?: React.ReactNode; + /** + * Do not show again checkbox for info-only variant + */ + doNotShowAgainCheckbox?: React.ReactNode; + }; + /** + * A Welcome Mat provides a series of unordered items a user can click to learn about a thematic topic. + */ + function Component(props: Props): React.ReactElement; + export default Component; +} diff --git a/components/welcome-mat/__docs__/storybook-stories.jsx b/components/welcome-mat/__docs__/storybook-stories.jsx new file mode 100644 index 0000000000..9a18282233 --- /dev/null +++ b/components/welcome-mat/__docs__/storybook-stories.jsx @@ -0,0 +1,20 @@ +import React from 'react'; +import { storiesOf } from '@storybook/react'; +import { WELCOME_MAT } from '../../../utilities/constants'; +import Default from '../__examples__/default'; +import StepsComplete from '../__examples__/steps-complete'; +import Splash from '../__examples__/splash'; +import InfoOnly from '../__examples__/info-only'; +import TrailHead from '../__examples__/trailhead'; +import TrailHeadComplete from '../__examples__/trailhead-complete'; + +storiesOf(WELCOME_MAT, module) + .addDecorator((getStory) => ( +
        {getStory()}
        + )) + .add('Default', () => ) + .add('Steps Complete', () => ) + .add('Info Only', () => ) + .add('Splash', () => ) + .add('Trailhead', () => ) + .add('Trailhead Complete', () => ); diff --git a/components/welcome-mat/__examples__/default.jsx b/components/welcome-mat/__examples__/default.jsx new file mode 100644 index 0000000000..6494329027 --- /dev/null +++ b/components/welcome-mat/__examples__/default.jsx @@ -0,0 +1,81 @@ +import React from 'react'; +import WelcomeMat from '~/components/welcome-mat'; +import WelcomeMatTile from '~/components/welcome-mat/tile'; +import Button from '~/components/button'; +import Icon from '~/components/icon'; +import IconSettings from '~/components/icon-settings'; + +class Example extends React.Component { + static displayName = 'welcomeMatExample'; + + state = { + isOpen: this.props.isOpen || false, + }; + + toggleOpen = () => { + this.setState({ isOpen: !this.state.isOpen }); + }; + + render() { + return ( + +
    +
    +
    + ); + } +} + +export default Example; diff --git a/components/welcome-mat/__examples__/splash.jsx b/components/welcome-mat/__examples__/splash.jsx new file mode 100644 index 0000000000..9a885c1533 --- /dev/null +++ b/components/welcome-mat/__examples__/splash.jsx @@ -0,0 +1,62 @@ +import React from 'react'; +import WelcomeMat from '~/components/welcome-mat'; +import Button from '~/components/button'; +import IconSettings from '~/components/icon-settings'; +import Checkbox from '~/components/checkbox'; + +class Example extends React.Component { + static displayName = 'welcomeMatSplashExample'; + + state = { + isOpen: this.props.isOpen || false, + }; + + toggleOpen = () => { + this.setState({ isOpen: !this.state.isOpen }); + }; + + render() { + return ( + +
    \n\t\t) : (\n\t\t\t\n\t\t);\n\t}\n\n\tgetTooltipContent() {\n\t\treturn (\n\t\t\t
    \n\t\t\t\t{this.props.content}\n\t\t\t\t{this.props.variant === 'learnMore' && this.props.onClickTrigger ? (\n\t\t\t\t\t
    \n\t\t\t\t\t\t{this.props.labels.learnMoreBefore}{' '}\n\t\t\t\t\t\t{' '}\n\t\t\t\t\t\t{this.props.labels.learnMoreAfter}{' '}\n\t\t\t\t\t
    \n\t\t\t\t) : null}\n\t\t\t
    \n\t\t);\n\t}\n\n\tgetTooltipTarget() {\n\t\tif (this.props.onRequestTargetElement) {\n\t\t\treturn this.props.onRequestTargetElement();\n\t\t}\n\n\t\t// for backwards compatibility\n\t\tif (this.props.target) {\n\t\t\treturn this.props.target;\n\t\t}\n\n\t\treturn this.trigger;\n\t}\n\n\thandleCancel = () => {\n\t\tclearTimeout(this.tooltipTimeout);\n\n\t\tthis.setState({\n\t\t\tisOpen: false,\n\t\t});\n\t};\n\n\thandleMouseEnter = () => {\n\t\tclearTimeout(this.tooltipTimeout);\n\n\t\tthis.tooltipTimeout = setTimeout(() => {\n\t\t\tif (!this.isUnmounting) {\n\t\t\t\tthis.setState({\n\t\t\t\t\tisOpen: true,\n\t\t\t\t});\n\t\t\t}\n\t\t}, this.props.hoverOpenDelay);\n\t};\n\n\thandleMouseLeave = () => {\n\t\tclearTimeout(this.tooltipTimeout);\n\n\t\tthis.tooltipTimeout = setTimeout(() => {\n\t\t\tif (!this.isUnmounting) {\n\t\t\t\tthis.setState({\n\t\t\t\t\tisOpen: false,\n\t\t\t\t});\n\t\t\t}\n\t\t}, this.props.hoverCloseDelay);\n\t};\n\n\tsaveTriggerRef = (component) => {\n\t\tthis.trigger = component;\n\t\t// yes, this is a re-render triggered by a render.\n\t\t// Dialog/Popper.js cannot place the popover until\n\t\t// the trigger/target DOM node is mounted. This\n\t\t// way `findDOMNode` is not called and parent\n\t\t// DOM nodes are not queried.\n\t\tif (!this.state.triggerRendered) {\n\t\t\tthis.setState({ triggerRendered: true });\n\t\t}\n\t};\n\n\trender() {\n\t\tconst containerStyles = {\n\t\t\tdisplay: 'inline-block',\n\t\t\tlineHeight: '1',\n\t\t\t...this.props.triggerStyle,\n\t\t};\n\n\t\treturn (\n\t\t\t\n\t\t\t\t{this.getAnchoredNubbinStyles()}\n\t\t\t\t{this.getContent()}\n\t\t\t\t{this.getTooltip()}\n\t\t\t\n\t\t);\n\t}\n}\n\nTooltip.contextTypes = {\n\ticonPath: PropTypes.string,\n};\n\nTooltip.displayName = displayName;\nTooltip.propTypes = propTypes;\nTooltip.defaultProps = defaultProps;\n\nexport default Tooltip;\n","export default function getAriaProps(props) {\n\treturn Object.keys(props).reduce((prev, key) => {\n\t\tif (key.substr(0, 5) === 'aria-') {\n\t\t\t// eslint-disable-next-line no-param-reassign\n\t\t\tprev[key] = props[key];\n\t\t}\n\t\treturn prev;\n\t}, {});\n}\n","export default function getDataProps(props) {\n\treturn Object.keys(props).reduce((prev, key) => {\n\t\tif (key.substr(0, 5) === 'data-') {\n\t\t\t// eslint-disable-next-line no-param-reassign\n\t\t\tprev[key] = props[key];\n\t\t}\n\t\treturn prev;\n\t}, {});\n}\n","const formPropsSet = new Set([\n\t'form',\n\t'formAction',\n\t'formEncType',\n\t'formMethod',\n\t'formNoValidate',\n\t'formTarget',\n]);\n\nexport default function getFormProps(props) {\n\treturn Object.keys(props).reduce((prev, key) => {\n\t\tif (formPropsSet.has(key)) {\n\t\t\t// eslint-disable-next-line no-param-reassign\n\t\t\tprev[key] = props[key];\n\t\t}\n\t\treturn prev;\n\t}, {});\n}\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// Implements the [Button design pattern](https://lightningdesignsystem.com/components/buttons/) in React.\n// Based on SLDS v2.2.1\n\nimport React from 'react';\nimport requiredIf from 'react-required-if';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport ButtonIcon from '../icon/button-icon';\nimport checkProps from './check-props';\nimport componentDoc from './component.json';\n// eslint-disable-next-line import/no-cycle\nimport Tooltip from '../tooltip';\n\nimport getAriaProps from '../../utilities/get-aria-props';\nimport getDataProps from '../../utilities/get-data-props';\nimport getFormProps from '../../utilities/get-form-props';\n\nimport { BUTTON } from '../../utilities/constants';\n\nconst defaultProps = {\n\tassistiveText: { icon: '' },\n\tdisabled: false,\n\thint: false,\n\ticonSize: 'medium',\n\tresponsive: false,\n\ttype: 'button',\n\tvariant: 'neutral',\n};\n\n/**\n * The Button component is the Lightning Design System Button component. The Button should be used for label buttons, icon buttons, or buttons that have both labels and icons.\n * Either a label or assistiveText.icon is required; see the Prop Details table below. For buttons that maintain selected/unselected states, use the ButtonStateful component.\n * Although not listed in the prop table, all `aria-*`, `data-*` and `form*` props will be added to the `button` element if passed in.\n */\nclass Button extends React.Component {\n\tstatic displayName = BUTTON;\n\n\tstatic propTypes = {\n\t\t/**\n\t\t * **Assistive text for accessibility.**\n\t\t * This object is merged with the default props object on every render.\n\t\t * * `icon`: Text that is visually hidden but read aloud by screenreaders to tell the user what the icon means. If the button has an icon and a visible label, you can omit the assistiveText.icon prop and use the label prop.\n\t\t */\n\t\tassistiveText: PropTypes.shape({\n\t\t\ticon: PropTypes.string,\n\t\t}),\n\n\t\t/**\n\t\t * Callback that passes in the DOM reference of the `\n\t\t);\n\t};\n\n\t// This is present for backwards compatibility and should be removed at a future breaking change release. Please wrap a `Button` in a `PopoverTooltip` to achieve the same result. There will be an extra trigger `div` wrapping the `Button` though.\n\trenderTooltip = () => (\n\t\t{this.renderButton}\n\t);\n\n\trender() {\n\t\treturn this.props.tooltip ? this.renderTooltip() : this.renderButton();\n\t}\n}\n\nexport default Button;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// Implements the [Accordion design\n// pattern](https://www.lightningdesignsystem.com/components/accordion/) in\n// React. Based on SLDS v2.3.2\n\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\n\nimport Button from '../button';\n\nimport { ACCORDION_PANEL } from '../../utilities/constants';\n\nconst propTypes = {\n\t/**\n\t * The panel content for the Accordion component. Accordion panels should be added as . Event handler for the accordion panels should be added to ``. Optional `panelContentActions` component may be passed as prop. _Tested with Mocha framework and snapshot testing._\n\t */\n\tchildren: PropTypes.node,\n\t/**\n\t * Indicates whether item is expanded or not, which should be handled by `onTogglePanel`. _Tested with Mocha framework and snapshot testing._\n\t */\n\texpanded: PropTypes.bool.isRequired,\n\t/**\n\t * Id of the item belonging to this panel. _Tested with snapshot testing._\n\t */\n\tid: PropTypes.oneOfType([PropTypes.number, PropTypes.string]).isRequired,\n\t/**\n\t * Component that can be passed as prop to ``. As an example, a menu dropdown could be used here to handle additional actions for each accordion panel. _Tested with Mocha framework._\n\t */\n\tpanelContentActions: PropTypes.node,\n\t/**\n\t * Callback that will run whenever there is a keydown on the panel button. Function doesn't change the state of the component.\n\t */\n\tonKeyDownSummary: PropTypes.func,\n\t/**\n\t * Callback that will run whenever a panel is toggled. Function should handle state to toggle `expanded` prop. _Tested with Mocha framework._\n\t */\n\tonTogglePanel: PropTypes.func.isRequired,\n\t/**\n\t * Ref callback that will pass in panel's `input` tag\n\t */\n\trefs: PropTypes.shape({\n\t\tsummaryButton: PropTypes.func,\n\t}),\n\t/**\n\t * Summary in the span element in the header of this panel. The summary is truncated and so the title element should contain the full text so that it is accessible on hover. _Tested with snapshot testing._\n\t */\n\tsummary: PropTypes.oneOfType([PropTypes.string, PropTypes.node]).isRequired,\n\t/**\n\t * HTML title attribute. _Tested with snapshot testing._\n\t */\n\ttitle: PropTypes.string,\n};\n\n/**\n * The panel content for the Accordion component.\n */\nconst AccordionPanel = ({\n\tchildren,\n\texpanded,\n\tid,\n\tpanelContentActions,\n\tsummary,\n\ttitle,\n\tonClickSummary,\n\tonKeyDownSummary,\n\tonTogglePanel,\n\trefs,\n}) => (\n\t
  • \n\t\t\n\t\t\t
    \n\t\t\t\t

    \n\t\t\t\t\t {\n\t\t\t\t\t\t\tonClickSummary();\n\t\t\t\t\t\t\tonTogglePanel(e);\n\t\t\t\t\t\t}}\n\t\t\t\t\t\tvariant=\"base\"\n\t\t\t\t\t>\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t{summary}\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t

    \n\t\t\t\t{panelContentActions}\n\t\t\t
    \n\t\t\t\n\t\t\t\t{children}\n\t\t\t\n\t\t\n\t
  • \n);\n\nexport default AccordionPanel;\n\nAccordionPanel.propTypes = propTypes;\nAccordionPanel.displayName = ACCORDION_PANEL;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n/* eslint-disable import/no-mutable-exports */\n\nimport sunsetProperty from '../../utilities/warning/sunset-property';\nimport getComponentDocFn from '../../utilities/get-component-doc';\n\nlet checkProps = function checkPropsFunction() {};\n\nif (process.env.NODE_ENV !== 'production') {\n\tcheckProps = function checkPropsFunction(COMPONENT, props, jsonDoc) {\n\t\tconst createDocUrl = getComponentDocFn(jsonDoc);\n\t\t/* eslint-disable max-len */\n\t\tsunsetProperty(\n\t\t\tCOMPONENT,\n\t\t\tprops.iconCategory,\n\t\t\t'iconCategory',\n\t\t\t`Use \\`Icon\\` instead. ${createDocUrl('icon')}`\n\t\t);\n\t\tsunsetProperty(\n\t\t\tCOMPONENT,\n\t\t\tprops.iconName,\n\t\t\t'iconName',\n\t\t\t`Use \\`Icon\\` instead. ${createDocUrl('icon')}`\n\t\t);\n\n\t\tsunsetProperty(\n\t\t\tCOMPONENT,\n\t\t\tprops.content,\n\t\t\t'content',\n\t\t\t`Use \\`labels.heading\\` and \\`labels.headingLink\\` instead.${createDocUrl(\n\t\t\t\t'labels'\n\t\t\t)}`\n\t\t);\n\t\tsunsetProperty(\n\t\t\tCOMPONENT,\n\t\t\tprops.duration,\n\t\t\t'duration',\n\t\t\t`Only Toasts can auto-hide. ${createDocUrl()}`\n\t\t);\n\t\tsunsetProperty(\n\t\t\tCOMPONENT,\n\t\t\tprops.isOpen,\n\t\t\t'isOpen',\n\t\t\t`Use a conditional outside of alert. ${createDocUrl()}`\n\t\t);\n\t\tsunsetProperty(\n\t\t\tCOMPONENT,\n\t\t\tprops.isOpen,\n\t\t\t'onDismiss',\n\t\t\t`Use \\`onRequestClose\\` instead. ${createDocUrl('onRequestClose')}`\n\t\t);\n\t\tsunsetProperty(COMPONENT, props.texture, 'texture', createDocUrl());\n\t\tsunsetProperty(\n\t\t\tCOMPONENT,\n\t\t\tprops.theme,\n\t\t\t'theme',\n\t\t\t`Use \\`variant\\` instead. ${createDocUrl('variant')}`\n\t\t);\n\t};\n}\n\nexport default checkProps;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// # Alert Component\n\n// Implements the [Alert design pattern](https://lightningdesignsystem.com/components/alert/) in React.\n\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport assign from 'lodash.assign';\nimport classNames from '../../utilities/class-names';\nimport Button from '../button';\nimport Icon from '../icon';\nimport checkProps from './check-props';\nimport componentDoc from './component.json';\nimport { ALERT } from '../../utilities/constants';\nimport DOMElementFocus from '../../utilities/dom-element-focus';\n\nconst propTypes = {\n\t/**\n\t * **Assistive text for accessibility**\n\t * This object is merged with the default props object on every render.\n\t * * `closeButton`: This is a visually hidden label for the close button.\n\t * _Tested with snapshot testing._\n\t */\n\tassistiveText: PropTypes.shape({\n\t\tcloseButton: PropTypes.oneOfType([PropTypes.string, PropTypes.node]),\n\t}),\n\t/**\n\t * CSS classes to be added to tag with `.slds-notify_alert`. Uses `classNames` [API](https://github.com/JedWatson/classnames).\n\t * _Tested with snapshot testing._\n\t */\n\tclassName: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\t/**\n\t * Allows user to click a close button. Banners should be dismissible only if they communicate future impact to the system,\n\t * _Tested with snapshot testing._\n\t */\n\tdismissible: PropTypes.bool,\n\t/**\n\t * Icon of type `~/components/icon`. This icon will be cloned and additional props appended. The default icons are:\n\t * * info variant: `utility:info`\n\t * * error variant: `utility:error`\n\t * * offline variant: `utility:offline`\n\t * * warning variant: `utility:warning`\n\t *\n\t * _Tested with snapshot testing._\n\t */\n\ticon: PropTypes.node,\n\t/**\n\t * **Text labels for internationalization**\n\t * This object is merged with the default props object on every render.\n\t * * `heading`: text within heading tag\n\t * * `headingLink`: Text of link that triggers `onClickHeadingLink`. Inline links should pass a keyed array of React components into `labels.heading`.\n\t *\n\t * _Tested with snapshot testing._\n\t */\n\tlabels: PropTypes.shape({\n\t\theading: PropTypes.oneOfType([PropTypes.string, PropTypes.node]),\n\t\theadingLink: PropTypes.oneOfType([PropTypes.string, PropTypes.node]),\n\t}),\n\t/**\n\t * Triggered by link. _Tested with Mocha testing._\n\t */\n\tonClickHeadingLink: PropTypes.func,\n\t/**\n\t * Triggered by close button. This is a controlled component. _Tested with Mocha testing._\n\t */\n\tonRequestClose: PropTypes.func,\n\t/**\n\t * Custom styles to be passed to the component. _Tested with Mocha testing._\n\t */\n\tstyle: PropTypes.object,\n\t/**\n\t * The type of alert. _Tested with snapshot testing._\n\t */\n\tvariant: PropTypes.oneOf(['error', 'info', 'offline', 'warning']).isRequired,\n};\n\nconst defaultProps = {\n\tassistiveText: {\n\t\tcloseButton: 'Close',\n\t},\n\tlabels: {},\n\tvariant: 'info',\n};\n\n/**\n * Alert banners communicate a state that affects the entire system, not just a feature or page. It persists over a session and appears without the user initiating the action. View [banner guidelines](https://www.lightningdesignsystem.com/guidelines/messaging/components/banners/).\n */\n\nclass Alert extends React.Component {\n\tconstructor(props) {\n\t\tsuper(props);\n\t\tthis.state = {\n\t\t\tisInitialRender: true,\n\t\t};\n\n\t\t// `checkProps` issues warnings to developers about properties (similar to React's built in development tools)\n\t\tcheckProps(ALERT, props, componentDoc);\n\t}\n\n\tcomponentWillUnmount() {\n\t\tDOMElementFocus.returnFocusToStoredElement();\n\t}\n\n\tsaveButtonRef = (component) => {\n\t\tthis.closeButton = component;\n\t\tif (this.state.isInitialRender) {\n\t\t\tDOMElementFocus.storeActiveElement();\n\t\t\tif (this.closeButton) {\n\t\t\t\tthis.closeButton.focus();\n\t\t\t}\n\t\t\tthis.setState({ isInitialRender: false });\n\t\t}\n\t};\n\n\trender() {\n\t\t// Merge objects of strings with their default object\n\t\tconst assistiveText = assign(\n\t\t\t{},\n\t\t\tdefaultProps.assistiveText,\n\t\t\tthis.props.assistiveText\n\t\t);\n\t\tconst labels = assign({}, defaultProps.labels, this.props.labels);\n\n\t\t// BACKWARD COMPATIBILITY WITH NOTIFICATION\n\t\tconst heading = labels.heading || this.props.content; // eslint-disable-line react/prop-types\n\t\tconst onRequestClose = this.props.onRequestClose || this.props.onDismiss; // eslint-disable-line react/prop-types\n\n\t\tconst assistiveTextVariant = {\n\t\t\tinfo: 'info',\n\t\t\twarning: 'warning',\n\t\t\terror: 'error',\n\t\t\toffline: 'offline',\n\t\t};\n\n\t\tconst defaultIcons = {\n\t\t\tinfo: ,\n\t\t\toffline: ,\n\t\t\twarning: ,\n\t\t\terror: ,\n\t\t};\n\n\t\tlet icon = this.props.icon\n\t\t\t? this.props.icon\n\t\t\t: defaultIcons[this.props.variant];\n\n\t\t// BACKWARD COMPATIBILITY WITH NOTIFICATION\n\t\tif (this.props.iconName && this.props.iconCategory) {\n\t\t\t// eslint-disable-line react/prop-types\n\t\t\ticon = (\n\t\t\t\t\n\t\t\t);\n\t\t}\n\n\t\tconst clonedIcon = React.cloneElement(icon, {\n\t\t\tcontainerClassName: 'slds-m-right_x-small',\n\t\t\tinverse: true,\n\t\t\tsize: 'x-small',\n\t\t});\n\n\t\t/* eslint-disable no-script-url */\n\t\treturn (\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t{assistiveTextVariant[this.props.variant]}\n\t\t\t\t\n\t\t\t\t{clonedIcon}\n\t\t\t\t

    \n\t\t\t\t\t{heading}{' '}\n\t\t\t\t\t{labels.headingLink ? (\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t{labels.headingLink}\n\t\t\t\t\t\t\n\t\t\t\t\t) : null}\n\t\t\t\t

    \n\t\t\t\t{this.props.dismissible ? (\n\t\t\t\t\t\n\t\t\t\t) : null}\n\t\t\t\n\t\t);\n\t}\n}\n\nAlert.defaultProps = defaultProps;\nAlert.displayName = ALERT;\nAlert.propTypes = propTypes;\n\nexport default Alert;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// # Alert Container Component\n\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from '../../utilities/class-names';\nimport { ALERT_CONTAINER } from '../../utilities/constants';\n\nconst propTypes = {\n\t/**\n\t * CSS classes to be added to tag with `.slds-notify_alert`. Uses `classNames` [API](https://github.com/JedWatson/classnames).\n\t */\n\tclassName: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\t/**\n\t * Alert components\n\t */\n\tchildren: PropTypes.node,\n};\n\n/**\n * A fixed container for alert banners.\n */\n\nclass AlertContainer extends React.Component {\n\trender() {\n\t\treturn (\n\t\t\t\n\t\t\t\t{this.props.children}\n\t\t\t\n\t\t);\n\t}\n}\n\nAlertContainer.displayName = ALERT_CONTAINER;\nAlertContainer.propTypes = propTypes;\n\nexport default AlertContainer;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n/* eslint-disable import/no-mutable-exports */\n\nlet lowPriorityWarning = function printWarningFunction() {};\n\nif (process.env.NODE_ENV !== 'production') {\n\t// eslint-disable-next-line fp/no-rest-parameters\n\tconst printWarning = function printWarningFunction(originalMessage, ...args) {\n\t\tlet argIndex = 0;\n\t\tconst message = `Warning: ${originalMessage.replace(/%s/g, () => {\n\t\t\tconst argument = args[argIndex];\n\t\t\targIndex += 1;\n\t\t\treturn argument;\n\t\t})}`;\n\t\tif (typeof console !== 'undefined') {\n\t\t\tconsole.warn(message); // eslint-disable-line no-console\n\t\t}\n\t\ttry {\n\t\t\t// Throw error to enable tracing the callstack.\n\t\t\t// eslint-disable-next-line fp/no-throw\n\t\t\tthrow new Error(message);\n\t\t} catch (event) {} // eslint-disable-line no-empty\n\t};\n\n\t// eslint-disable-next-line fp/no-rest-parameters\n\tlowPriorityWarning = (condition, originalMessage, ...args) => {\n\t\tif (!condition && originalMessage) {\n\t\t\tprintWarning(originalMessage, ...args);\n\t\t}\n\t};\n}\n\nexport default lowPriorityWarning;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n/* eslint-disable import/no-mutable-exports */\n\n// This function will deliver a warning message to the browser console about the component being a deprecated component.\nimport lowPriorityWarning from './low-priority-warning';\n\nlet isPrototype = function isPrototypeFunction() {};\n\nif (process.env.NODE_ENV !== 'production') {\n\tconst hasWarned = {};\n\n\tisPrototype = function isPrototypeFunction(control, props, comment) {\n\t\tconst additionalComment = comment ? ` ${comment}` : '';\n\t\tif (!props.silenceDeprecationWarning && !hasWarned[control]) {\n\t\t\t/* eslint-disable max-len */\n\t\t\tlowPriorityWarning(\n\t\t\t\tfalse,\n\t\t\t\t`[Design System React] ${control} is a deprecated component. Bugfixes can be contributed, but new features and additional alignment with SLDS may be declined.${additionalComment}`\n\t\t\t);\n\t\t\t/* eslint-enable max-len */\n\t\t\thasWarned[control] = true;\n\t\t}\n\t};\n}\n\nexport default isPrototype;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n/* eslint-disable import/no-mutable-exports */\n\n// This function will deliver an error message to the browser console when all of the props passed in are undefined (falsey).\nimport warning from 'warning';\n\nlet oneOfComponent = function oneOfComponentFunction() {};\n\nif (process.env.NODE_ENV !== 'production') {\n\tconst hasWarned = {};\n\toneOfComponent = function oneOfComponentFunction(\n\t\tcontrol,\n\t\tprops,\n\t\tpropName,\n\t\tallowedComponents,\n\t\tcomment,\n\t\tspecificTest // if this is set, it will be checked instead of props[propName]\n\t) {\n\t\tconst additionalComment = comment ? ` ${comment}` : '';\n\n\t\tlet componentType;\n\n\t\tif (specificTest) {\n\t\t\tif (typeof specificTest.type === 'string') {\n\t\t\t\tcomponentType = specificTest.type;\n\t\t\t} else {\n\t\t\t\tcomponentType = specificTest.type.displayName;\n\t\t\t}\n\t\t} else if (typeof props[propName].type === 'string') {\n\t\t\tcomponentType = props[propName].type;\n\t\t} else {\n\t\t\tcomponentType = props[propName].type.displayName;\n\t\t}\n\n\t\tconst allowedComponentFound = allowedComponents.indexOf(componentType) > -1;\n\n\t\tif (!allowedComponentFound && !hasWarned[control]) {\n\t\t\t/* eslint-disable max-len */\n\t\t\twarning(\n\t\t\t\tfalse,\n\t\t\t\t`[Design System React] ${control} requires that prop '${propName}' is an instance of one of the following components: ${allowedComponents.join(\n\t\t\t\t\t', '\n\t\t\t\t)}. An instance of '${componentType}' was given.${additionalComment}`\n\t\t\t);\n\t\t\t/* eslint-enable max-len */\n\t\t\thasWarned[control] = true;\n\t\t}\n\t};\n}\n\nexport default oneOfComponent;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n/* eslint-disable import/no-mutable-exports */\n\nimport deprecatedProperty from '../../utilities/warning/deprecated-property';\nimport componentIsDeprecated from '../../utilities/warning/component-is-deprecated';\nimport getComponentDocFn from '../../utilities/get-component-doc';\nimport oneOfComponent from '../../utilities/warning/one-of-component';\nimport sunsetProperty from '../../utilities/warning/sunset-property';\nimport {\n\tAPP_LAUNCHER,\n\tAPP_LAUNCHER_EXPANDABLE_SECTION,\n\tAPP_LAUNCHER_SECTION,\n\tAPP_LAUNCHER_TILE,\n} from '../../utilities/constants';\n\nlet checkProps = function checkPropsFunction() {};\n\nif (process.env.NODE_ENV !== 'production') {\n\tcheckProps = function checkPropsFunction(COMPONENT, props, jsonDoc) {\n\t\tconst createDocUrl = getComponentDocFn(jsonDoc);\n\n\t\tif (COMPONENT === APP_LAUNCHER) {\n\t\t\tif (props.modalHeaderButton !== undefined) {\n\t\t\t\toneOfComponent(\n\t\t\t\t\tCOMPONENT,\n\t\t\t\t\tprops,\n\t\t\t\t\t'modalHeaderButton',\n\t\t\t\t\t['SLDSButton'],\n\t\t\t\t\tcreateDocUrl('modalHeaderButton')\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tdeprecatedProperty(\n\t\t\t\tCOMPONENT,\n\t\t\t\tprops.triggerAssistiveText,\n\t\t\t\t'triggerAssistiveText',\n\t\t\t\t\"assistiveText['trigger']\",\n\t\t\t\tcreateDocUrl('assistiveText')\n\t\t\t);\n\t\t} else if (COMPONENT === APP_LAUNCHER_EXPANDABLE_SECTION) {\n\t\t\tdeprecatedProperty(\n\t\t\t\tCOMPONENT,\n\t\t\t\tprops.collapseSectionAssistiveText,\n\t\t\t\t'collapseSectionAssistiveText',\n\t\t\t\t\"assistiveText['collapseSection']\",\n\t\t\t\tcreateDocUrl('assistiveText')\n\t\t\t);\n\t\t} else if (COMPONENT === APP_LAUNCHER_SECTION) {\n\t\t\tcomponentIsDeprecated(\n\t\t\t\tCOMPONENT,\n\t\t\t\tprops,\n\t\t\t\t'App Launcher Section has been deprecated. Please use APP_LAUNCHER_EXPANDABLE_SECTION instead.'\n\t\t\t);\n\t\t} else if (COMPONENT === APP_LAUNCHER_TILE) {\n\t\t\tdeprecatedProperty(\n\t\t\t\tCOMPONENT,\n\t\t\t\tprops.descriptionHeading,\n\t\t\t\t'descriptionHeading',\n\t\t\t\tnull,\n\t\t\t\t'Description headings are no longer a part of the SLDS App Launcher Tile spec. Please reach out to DSR admin if there is a special need for this feature'\n\t\t\t);\n\n\t\t\tsunsetProperty(\n\t\t\t\tCOMPONENT,\n\t\t\t\tprops.size,\n\t\t\t\t'size',\n\t\t\t\t'App Launcher Tiles are now all a consistent size according to SLDS specifications'\n\t\t\t);\n\t\t}\n\t};\n}\n\nexport default checkProps;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n/* eslint-disable import/no-mutable-exports */\n/* eslint-disable max-len */\n\nimport deprecatedProperty from '../../utilities/warning/deprecated-property';\nimport getComponentDocFn from '../../utilities/get-component-doc';\n\nlet checkProps = function checkPropsFunction() {};\n\nif (process.env.NODE_ENV !== 'production') {\n\tcheckProps = function checkPropsFunction(COMPONENT, props, jsonDoc) {\n\t\tconst createDocUrl = getComponentDocFn(jsonDoc);\n\t\tdeprecatedProperty(\n\t\t\tCOMPONENT,\n\t\t\tprops.closeButtonAssistiveText,\n\t\t\t'closeButtonAssistiveText',\n\t\t\t\"assistiveText['closeButton']\",\n\t\t\tcreateDocUrl('assistiveText')\n\t\t);\n\t\tdeprecatedProperty(\n\t\t\tCOMPONENT,\n\t\t\tprops.title,\n\t\t\t'title',\n\t\t\t'heading',\n\t\t\tcreateDocUrl('heading')\n\t\t);\n\t\tdeprecatedProperty(\n\t\t\tCOMPONENT,\n\t\t\tprops.dismissible,\n\t\t\t'dismissible',\n\t\t\t'disableClose',\n\t\t\tcreateDocUrl('disableClose')\n\t\t);\n\t};\n}\n\nexport default checkProps;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\nimport Modal from 'react-modal';\n\n/*\n * The following are component utility methods that aid in global settings.\n */\n\nlet assetsPath = 'assets/';\nlet appRoot;\n\nconst settings = {\n\tsetAssetsPath: (path) => {\n\t\tif (path) {\n\t\t\tassetsPath = path;\n\t\t}\n\t},\n\n\tgetAssetsPath: () => String(assetsPath),\n\n\t/*\n\t * The app element allows you to specify the portion of your app that should be hidden (via aria-hidden)\n\tto prevent assistive technologies such as screenreaders from reading content outside of the content of\n\tyour modal. It can be specified in the following ways:\n\t * element\n\tModal.setAppElement(appElement);\n\t * query selector - uses the first element found if you pass in a class.\n\tModal.setAppElement('#your-app-element');\n\t*/\n\tsetAppElement: (el) => {\n\t\tif (el) {\n\t\t\tappRoot = el;\n\t\t\tModal.setAppElement(el);\n\t\t}\n\t},\n\n\tgetAppElement: () => appRoot,\n};\n\nexport default settings;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n/* eslint-disable import/no-mutable-exports */\n\nimport warning from 'warning';\nimport Settings from '../../components/settings';\nimport { canUseDOM } from '../execution-environment';\n\nlet checkAppElementIsSet = function checkAppElementIsSetFunction() {};\n\nif (process.env.NODE_ENV !== 'production') {\n\tcheckAppElementIsSet = function checkAppElementIsSetFunction() {\n\t\tconst appElement = Settings.getAppElement();\n\t\t/* eslint-disable max-len */\n\t\twarning(\n\t\t\tcanUseDOM && Boolean(appElement),\n\t\t\t'[Design System React] App element is not defined. Please use Settings.setAppElement(el).' +\n\t\t\t\t' By default, `Modal` will add `aria-hidden=true` to the `body` tag, but this disables some assistive technologies.' +\n\t\t\t\t' To prevent this you can add Settings.setAppElement(el) to your application with `el` being the root node of your application' +\n\t\t\t\t' that you would like to hide from assistive technologies when the `Modal` is open.'\n\t\t);\n\t};\n}\n\nexport default checkAppElementIsSet;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n/* eslint-disable react/prefer-es6-class, jsx-a11y/no-noninteractive-element-interactions */\n\n// Implements the [Modal design pattern](https://lightningdesignsystem.com/components/modals/) in React.\n// Based on SLDS v2.2.1\n\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport ReactDOM from 'react-dom';\n\nimport classNames from 'classnames';\nimport ReactModal from 'react-modal';\n\n// ### shortid\n// [npmjs.com/package/shortid](https://www.npmjs.com/package/shortid)\n// shortid is a short, non-sequential, url-friendly, unique id generator\nimport shortid from 'shortid';\n\n// This component's `checkProps` which issues warnings to developers about properties when in development mode (similar to React's built in development tools)\nimport checkProps from './check-props';\n\nimport checkAppElementIsSet from '../../utilities/warning/check-app-element-set';\n\nimport Button from '../button';\n\nimport { MODAL } from '../../utilities/constants';\nimport componentDoc from './component.json';\n\nconst documentDefined = typeof document !== 'undefined';\nconst windowDefined = typeof window !== 'undefined';\n\nconst propTypes = {\n\t/**\n\t * Vertical alignment of Modal.\n\t */\n\talign: PropTypes.oneOf(['top', 'center']),\n\t/**\n\t * Boolean indicating if the appElement should be hidden.\n\t */\n\tariaHideApp: PropTypes.bool,\n\t/**\n\t * **Assistive text for accessibility.**\n\t * This object is merged with the default props object on every render.\n\t * * `dialogLabel`: This is a visually hidden label for the dialog. If not provided, `heading` is used.\n\t * * `dialogLabelledBy`: This describes which node labels the dialog. If not provided and dialogLabel is unavailable, `id` is used.\n\t * * `closeButton`: This is a visually hidden label for the close button.\n\t */\n\tassistiveText: PropTypes.shape({\n\t\tdialogLabel: PropTypes.string,\n\t\tdialogLabelledBy: PropTypes.string,\n\t\tcloseButton: PropTypes.string,\n\t}),\n\t/**\n\t * Modal content.\n\t */\n\tchildren: PropTypes.node.isRequired,\n\t/**\n\t * Custom CSS classes for the modal `section` node classed `.slds-modal` and the parent of `.slds-modal__container`. Uses `classNames` [API](https://github.com/JedWatson/classnames).\n\t */\n\tclassName: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\t/**\n\t * Custom CSS classes for the modal's container. This is the child element of `.slds-modal` with class `.slds-modal__container`. Uses `classNames` [API](https://github.com/JedWatson/classnames).\n\t */\n\tcontainerClassName: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\t/**\n\t * Custom CSS classes for the modal's body. This is the element that has overflow rules and should be used to set a static height if desired. Use `classNames` [API](https://github.com/JedWatson/classnames).\n\t */\n\tcontentClassName: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\t/**\n\t * Custom styles for the modal's body. This is the element that has overflow rules and should be used to set a static height if desired.\n\t */\n\tcontentStyle: PropTypes.object,\n\t/**\n\t * If true, modal footer buttons render left and right. An example use case would be for \"back\" and \"next\" buttons.\n\t */\n\tdirectional: PropTypes.bool,\n\t/**\n\t * If true, Modals cannot be dismissed by clicking on the close icon or pressing esc key.\n\t */\n\tdisableClose: PropTypes.bool,\n\t/**\n\t * If true, Modals can be dismissed by clicking outside of modal. If unspecified, defaults to disableClose.\n\t */\n\tdismissOnClickOutside: PropTypes.bool,\n\t/**\n\t * Callback to fire with Modal is dismissed\n\t */\n\tonRequestClose: PropTypes.func,\n\t/**\n\t * Accepts a node or array of nodes that are typically a `Button` or `ProgressIndicator`. If an array, the nodes render on the right side first but are then floated left and right if directional prop is `true`.\n\t */\n\tfooter: PropTypes.oneOfType([PropTypes.array, PropTypes.node]),\n\t/**\n\t * Allows for a custom modal header that does not scroll with modal content. If this is defined, `heading` and `tagline` will be ignored. The close button will still be present.\n\t */\n\theader: PropTypes.node,\n\t/**\n\t * Adds CSS classes to the container surrounding the modal header and the close button. Use `classNames` [API](https://github.com/JedWatson/classnames).\n\t */\n\theaderClassName: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\t/**\n\t * Unique identifier for the modal. The id is automatically generated if not provided\n\t */\n\tid: PropTypes.string,\n\t/**\n\t * Forces the modal to be open or closed.\n\t */\n\tisOpen: PropTypes.bool.isRequired,\n\t/**\n\t * Function whose return value is the mount node to insert the Modal element into. The default is `() => document.body`.\n\t */\n\tparentSelector: PropTypes.func,\n\t/**\n\t * Custom CSS classes for the portal DOM node. This node is a direct descendant of the `body` and is the parent of `ReactModal__Overlay`. Use `classNames` [API](https://github.com/JedWatson/classnames).\n\t */\n\tportalClassName: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\t/**\n\t * Styles the modal as a prompt.\n\t */\n\tprompt: PropTypes.oneOf([\n\t\t'success',\n\t\t'warning',\n\t\t'error',\n\t\t'wrench',\n\t\t'offline',\n\t\t'info',\n\t]),\n\t/**\n\t * Specifies the modal's width. May be deprecated in favor of `width` in the future.\n\t */\n\tsize: PropTypes.oneOf(['small', 'medium', 'large']),\n\t/**\n\t * Content underneath the heading in the modal header.\n\t */\n\ttagline: PropTypes.node,\n\t/**\n\t * Content underneath the title in the modal header.\n\t */\n\ttitle: PropTypes.node,\n\t/**\n\t * Text heading at the top of a modal.\n\t */\n\theading: PropTypes.node,\n\t/**\n\t * Allows adding additional notifications within the modal.\n\t */\n\ttoast: PropTypes.node,\n};\n\nconst defaultProps = {\n\tassistiveText: {\n\t\tdialogLabel: '',\n\t\tdialogLabelledBy: '',\n\t\tcloseButton: 'Close',\n\t},\n\talign: 'center',\n\tariaHideApp: true,\n};\n\n/**\n * The Modal component is used for the Lightning Design System Modal and Notification > Prompt components. The Modal opens from a state change outside of the component itself (pass this state to the isOpen prop). For more details on the Prompt markup, please review the Notifications > Prompt.\n *\n * By default, `Modal` will add `aria-hidden=true` to the `body` tag, but this disables some assistive technologies. To prevent this you can add the following to your application with `#mount` being the root node of your application that you would like to hide from assistive technologies when the `Modal` is open.\n * ```\n * import settings from 'design-system-react/components/settings';\n * settings.setAppElement('#mount');\n * ```\n * This component uses a portalMount (a disconnected React subtree mount) to create a modal as a child of `body`.\n */\nclass Modal extends React.Component {\n\tconstructor(props) {\n\t\tsuper(props);\n\t\tthis.state = {\n\t\t\tisClosing: false,\n\t\t};\n\n\t\t// Bind\n\t\tthis.handleModalClick = this.handleModalClick.bind(this);\n\t\tthis.closeModal = this.closeModal.bind(this);\n\t\tthis.dismissModalOnClickOutside = this.dismissModalOnClickOutside.bind(\n\t\t\tthis\n\t\t);\n\n\t\tthis.generatedId = shortid.generate();\n\t\tcheckProps(MODAL, props, componentDoc);\n\t\tif (props.ariaHideApp) {\n\t\t\tcheckAppElementIsSet();\n\t\t}\n\t}\n\n\tcomponentDidMount() {\n\t\tthis.setReturnFocus();\n\t\tthis.updateBodyScroll();\n\t}\n\n\tcomponentDidUpdate(prevProps, prevState) {\n\t\tif (this.props.isOpen !== prevProps.isOpen) {\n\t\t\tthis.updateBodyScroll();\n\t\t}\n\t\tif (this.state.isClosing !== prevState.isClosing) {\n\t\t\tif (this.state.isClosing) {\n\t\t\t\t// This section of code should be removed once trigger.jsx\n\t\t\t\t// and manager.jsx are removed. They appear to have\n\t\t\t\t// been created in order to do modals in portals.\n\t\t\t\tif (!this.isUnmounting) {\n\t\t\t\t\tconst el = ReactDOM.findDOMNode(this); // eslint-disable-line react/no-find-dom-node\n\t\t\t\t\tif (\n\t\t\t\t\t\tel &&\n\t\t\t\t\t\tel.parentNode &&\n\t\t\t\t\t\tel.parentNode.getAttribute('data-slds-modal')\n\t\t\t\t\t) {\n\t\t\t\t\t\tReactDOM.unmountComponentAtNode(el);\n\t\t\t\t\t\tdocument.body.removeChild(el);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\tcomponentWillUnmount() {\n\t\tthis.isUnmounting = true;\n\t\tthis.clearBodyScroll();\n\t}\n\n\tgetId() {\n\t\treturn this.props.id || this.generatedId;\n\t}\n\n\tgetBorderRadius() {\n\t\tconst borderRadiusValue = '.25rem';\n\t\tconst borderTopRadius =\n\t\t\tthis.props.title || this.props.heading || this.props.header\n\t\t\t\t? {}\n\t\t\t\t: {\n\t\t\t\t\t\tborderTopLeftRadius: borderRadiusValue,\n\t\t\t\t\t\tborderTopRightRadius: borderRadiusValue,\n\t\t\t\t };\n\t\tconst borderBottomRadius = this.props.footer\n\t\t\t? {}\n\t\t\t: {\n\t\t\t\t\tborderBottomLeftRadius: borderRadiusValue,\n\t\t\t\t\tborderBottomRightRadius: borderRadiusValue,\n\t\t\t };\n\t\treturn {\n\t\t\t...borderTopRadius,\n\t\t\t...borderBottomRadius,\n\t\t};\n\t}\n\n\tgetModal() {\n\t\tconst modalStyle =\n\t\t\tthis.props.align === 'top' ? { justifyContent: 'flex-start' } : null;\n\t\tconst borderRadius = this.getBorderRadius();\n\t\tconst contentStyleFromProps = this.props.contentStyle || {};\n\t\tconst contentStyle = {\n\t\t\t...borderRadius,\n\t\t\t...contentStyleFromProps,\n\t\t};\n\t\tlet dialogLabelledBy = null;\n\n\t\tif (this.props.assistiveText.dialogLabelledBy) {\n\t\t\t// eslint-disable-next-line prefer-destructuring\n\t\t\tdialogLabelledBy = this.props.assistiveText.dialogLabelledBy;\n\t\t} else if (\n\t\t\t!this.props.assistiveText.dialogLabel &&\n\t\t\t(this.props.heading || this.props.title)\n\t\t) {\n\t\t\tdialogLabelledBy = `${this.getId()}-heading`;\n\t\t}\n\n\t\treturn (\n\t\t\t// temporarily disabling eslint for the onClicks on the div tags\n\t\t\t/* eslint-disable */\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t{this.headerComponent()}\n\t\t\t\t\t\n\t\t\t\t\t\t{this.props.children}\n\t\t\t\t\t\n\t\t\t\t\t{this.footerComponent()}\n\t\t\t\t\n\t\t\t\n\t\t\t/* eslint-enable */\n\t\t);\n\t}\n\n\tsetReturnFocus() {\n\t\tthis.setState({\n\t\t\treturnFocusTo: documentDefined ? document.activeElement : null,\n\t\t});\n\t}\n\n\t// eslint-disable-next-line class-methods-use-this\n\tclearBodyScroll() {\n\t\tif (windowDefined && documentDefined && document.body) {\n\t\t\tdocument.body.style.overflow = 'inherit';\n\t\t}\n\t}\n\n\tcloseModal() {\n\t\tif (!this.props.disableClose) {\n\t\t\tthis.dismissModal();\n\t\t}\n\t}\n\n\tdismissModal() {\n\t\tthis.setState({ isClosing: true });\n\t\tif (this.state.returnFocusTo && this.state.returnFocusTo.focus) {\n\t\t\tthis.state.returnFocusTo.focus();\n\t\t}\n\t\tif (this.props.onRequestClose) {\n\t\t\tthis.props.onRequestClose();\n\t\t}\n\t}\n\n\tdismissModalOnClickOutside() {\n\t\t// if dismissOnClickOutside is not set, default its value to disableClose\n\t\tconst dismissOnClickOutside =\n\t\t\tthis.props.dismissOnClickOutside !== undefined\n\t\t\t\t? this.props.dismissOnClickOutside\n\t\t\t\t: !this.props.disableClose;\n\n\t\tif (dismissOnClickOutside) {\n\t\t\tthis.dismissModal();\n\t\t}\n\t}\n\n\tfooterComponent() {\n\t\tlet footer = null;\n\t\tconst hasFooter = this.props.footer;\n\t\tconst footerClass = {\n\t\t\t'slds-modal__footer': true,\n\t\t\t'slds-modal__footer_directional': this.props.directional,\n\t\t\t'slds-theme_default': this.isPrompt(),\n\t\t};\n\n\t\tif (hasFooter) {\n\t\t\tfooter = ( // eslint-disable-next-line jsx-a11y/no-static-element-interactions, jsx-a11y/no-noninteractive-element-interactions\n\t\t\t\t\n\t\t\t\t\t{this.props.footer}\n\t\t\t\t\n\t\t\t);\n\t\t}\n\t\treturn footer;\n\t}\n\n\t// eslint-disable-next-line class-methods-use-this\n\thandleModalClick(event) {\n\t\tif (event && event.stopPropagation) {\n\t\t\tevent.stopPropagation();\n\t\t}\n\t}\n\n\thandleSubmitModal() {\n\t\tthis.closeModal();\n\t}\n\n\theaderComponent() {\n\t\tlet headerContent = this.props.header;\n\t\tconst headerEmpty =\n\t\t\t!headerContent &&\n\t\t\t!(this.props.heading || this.props.title) &&\n\t\t\t!this.props.tagline;\n\t\tconst assistiveText = {\n\t\t\t...defaultProps.assistiveText,\n\t\t\t...this.props.assistiveText,\n\t\t};\n\t\tconst closeButtonAssistiveText =\n\t\t\tthis.props.closeButtonAssistiveText || assistiveText.closeButton;\n\t\tconst closeButton = (\n\t\t\t\n\t\t);\n\n\t\tif (\n\t\t\t(!headerContent && (this.props.heading || this.props.title)) ||\n\t\t\tthis.props.tagline\n\t\t) {\n\t\t\theaderContent = (\n\t\t\t\t
    \n\t\t\t\t\t{this.props.toast}\n\t\t\t\t\t\n\t\t\t\t\t\t{this.props.heading ? this.props.heading : this.props.title}\n\t\t\t\t\t\n\t\t\t\t\t{this.props.tagline ? (\n\t\t\t\t\t\t

    {this.props.tagline}

    \n\t\t\t\t\t) : null}\n\t\t\t\t
    \n\t\t\t);\n\t\t}\n\n\t\treturn (\n\t\t\t// eslint-disable-next-line jsx-a11y/no-static-element-interactions\n\t\t\t\n\t\t\t\t{this.props.disableClose ? null : closeButton}\n\t\t\t\t{headerContent}\n\t\t\t\n\t\t);\n\t}\n\n\tisPrompt() {\n\t\treturn this.props.prompt !== undefined;\n\t}\n\n\tupdateBodyScroll() {\n\t\tif (windowDefined && documentDefined && document.body) {\n\t\t\tif (this.props.isOpen) {\n\t\t\t\tdocument.body.style.overflow = 'hidden';\n\t\t\t} else {\n\t\t\t\tdocument.body.style.overflow = 'inherit';\n\t\t\t}\n\t\t}\n\t}\n\n\trender() {\n\t\tconst customStyles = {\n\t\t\tcontent: {\n\t\t\t\tposition: 'default',\n\t\t\t\ttop: 'default',\n\t\t\t\tleft: 'default',\n\t\t\t\tright: 'default',\n\t\t\t\tbottom: 'default',\n\t\t\t\tborder: 'default',\n\t\t\t\tbackground: 'default',\n\t\t\t\toverflow: 'default',\n\t\t\t\tWebkitOverflowScrolling: 'default',\n\t\t\t\tborderRadius: 'default',\n\t\t\t\toutline: 'default',\n\t\t\t\tpadding: 'default',\n\t\t\t},\n\t\t\toverlay: {\n\t\t\t\tzIndex: 8000, // following SLDS guideline for z-index overlay\n\t\t\t\tbackgroundColor: 'default',\n\t\t\t},\n\t\t};\n\n\t\treturn (\n\t\t\t\n\t\t\t\t{this.getModal()}\n\t\t\t\t
    \n\t\t\t\n\t\t);\n\t}\n}\n\nModal.displayName = MODAL;\nModal.propTypes = propTypes;\nModal.defaultProps = defaultProps;\n\nexport default Modal;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// # App Launcher Component\n// Based on SLDS v2.1.0-rc.2\n\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\nimport classNames from 'classnames';\n\nimport isFunction from 'lodash.isfunction';\nimport shortid from 'shortid';\n\n// This component's `checkProps` which issues warnings to developers about properties when in development mode (similar to React's built in development tools)\nimport checkProps from './check-props';\nimport componentDoc from './component.json';\n\n// ## Children\nimport Modal from '../modal';\n\nimport { APP_LAUNCHER } from '../../utilities/constants';\n\nconst defaultProps = {\n\tassistiveText: {\n\t\ttrigger: 'Open App Launcher',\n\t},\n\tariaHideApp: true,\n\ttitle: 'App Launcher',\n};\n\n/**\n * The App Launcher allows the user to quickly access all the apps and functionality with their organization.\n * The App Launcher should generally only be used as a sub-component of the [Global Navigation Bar](/components/global-navigation-bar)\n *\n * USAGE EXAMPLE:\n * ```\n * \n * \t\n * \t\t\n * \t\t\n * \t\t\n * \t\n * \t\n * \t\t\n * \t\t\n * \t\n * \n * ```\n *\n * By default, `Modal`, a child component of App Launcher, will add `aria-hidden=true` to the `body` tag, but this disables some assistive technologies. To prevent this you can add the following to your application with `#mount` being the root node of your application that you would like to hide from assistive technologies when the `Modal` is open.\n * ```\n * import settings from 'design-system-react/components/settings';\n * settings.setAppElement('#mount');\n * ```\n */\nclass AppLauncher extends React.Component {\n\t// ### Display Name\n\t// Always use the canonical component name as the React display name.\n\tstatic displayName = APP_LAUNCHER;\n\n\t// ### Prop Types\n\tstatic propTypes = {\n\t\t/**\n\t\t * **Assistive text for accessibility.**\n\t\t * This object is merged with the default props object on every render.\n\t\t * * `trigger`: This is a visually hidden label for the app launcher icon.\n\t\t */\n\t\tassistiveText: PropTypes.shape({\n\t\t\ttrigger: PropTypes.string,\n\t\t}),\n\t\t/**\n\t\t * Boolean indicating if the appElement should be hidden.\n\t\t */\n\t\tariaHideApp: PropTypes.bool,\n\t\t/**\n\t\t * One or more ``s, each containing one or more ``s or ``s\n\t\t */\n\t\tchildren: PropTypes.node.isRequired,\n\t\t/**\n\t\t * The app launcher id. If not provided, one will be generated for accessibility\n\t\t */\n\t\tid: PropTypes.string,\n\t\t/**\n\t\t * Control the open/close state of the App Launcher\n\t\t */\n\t\tisOpen: PropTypes.bool,\n\t\t/**\n\t\t * CSS classes to be added to App Launcher Modal.\n\t\t */\n\t\tmodalClassName: PropTypes.oneOfType([\n\t\t\tPropTypes.array,\n\t\t\tPropTypes.object,\n\t\t\tPropTypes.string,\n\t\t]),\n\t\t/**\n\t\t * Button that exists in the upper right hand corner of the App Launcher modal\n\t\t */\n\t\tmodalHeaderButton: PropTypes.node,\n\t\t/**\n\t\t * Allows longer application names without truncating them.\n\t\t */\n\t\tnoTruncate: PropTypes.bool,\n\t\t/**\n\t\t * Callback when the App Launcher Modal is closed\n\t\t */\n\t\tonClose: PropTypes.func,\n\t\t/**\n\t\t * Search bar for the Modal's header. Will typically be an instance of `design-system-react/input/search`\n\t\t */\n\t\tsearch: PropTypes.node,\n\t\t/**\n\t\t * Set the App Launcher's title text (for localization)\n\t\t */\n\t\ttitle: PropTypes.string,\n\t\t/**\n\t\t * This is typically the name of the cloud or application\n\t\t */\n\t\ttriggerName: PropTypes.node,\n\t\t/**\n\t\t * Callback when the App Launcher icon is clicked\n\t\t */\n\t\ttriggerOnClick: PropTypes.func,\n\t};\n\n\tstatic defaultProps = defaultProps;\n\n\tconstructor(props) {\n\t\tsuper(props);\n\t\tthis.generatedId = shortid.generate();\n\t\tthis.state = {\n\t\t\tisOpen: false,\n\t\t};\n\n\t\t// `checkProps` issues warnings to developers about properties (similar to React's built in development tools)\n\t\tcheckProps(APP_LAUNCHER, props, componentDoc);\n\t}\n\n\tgetId() {\n\t\treturn this.props.id || this.generatedId;\n\t}\n\n\topenAppLauncher = (event) => {\n\t\tthis.setState({ isOpen: true });\n\n\t\tif (isFunction(this.props.triggerOnClick)) {\n\t\t\tthis.props.triggerOnClick(event, {});\n\t\t}\n\t};\n\n\tcloseAppLauncher = (event) => {\n\t\tthis.setState({ isOpen: false });\n\n\t\tif (isFunction(this.props.onClose)) {\n\t\t\tthis.props.onClose(event, {});\n\t\t}\n\t};\n\n\trenderSearch = () => {\n\t\tlet returnVal;\n\n\t\tif (this.props.search) {\n\t\t\treturnVal = (\n\t\t\t\t {\n\t\t\t\t\t\tif (component) {\n\t\t\t\t\t\t\tif (!this.focusedOnSearch) {\n\t\t\t\t\t\t\t\tconst input = component.querySelector('input');\n\t\t\t\t\t\t\t\tif (input) {\n\t\t\t\t\t\t\t\t\t// push to end of stack so click event doesn't blur the focus\n\t\t\t\t\t\t\t\t\tsetTimeout(() => {\n\t\t\t\t\t\t\t\t\t\tinput.focus();\n\t\t\t\t\t\t\t\t\t\tthis.focusedOnSearch = true;\n\t\t\t\t\t\t\t\t\t}, 0);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tthis.focusedOnSearch = false;\n\t\t\t\t\t\t}\n\t\t\t\t\t}}\n\t\t\t\t>\n\t\t\t\t\t{this.props.search}\n\t\t\t\t
    \n\t\t\t);\n\t\t}\n\n\t\treturn returnVal;\n\t};\n\n\trender() {\n\t\tconst isOpen =\n\t\t\tthis.props.isOpen !== undefined ? this.props.isOpen : this.state.isOpen;\n\n\t\t// Should be removed in the future by adding a reset class of some sort.\n\t\tconst style = this.props.noTruncate ? { maxWidth: 'none' } : null;\n\n\t\tconst customModalHeader = (\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t{this.props.title}\n\t\t\t\t\n\n\t\t\t\t{this.renderSearch()}\n\n\t\t\t\t{this.props.modalHeaderButton ? (\n\t\t\t\t\tthis.props.modalHeaderButton\n\t\t\t\t) : (\n\t\t\t\t\t\n\t\t\t\t)}\n\t\t\t\n\t\t);\n\n\t\t// Not present in SLDS, but is consistent with other implementations of App Launcher. This also prevents resizing/jumping around when filtering. It will start clipping the modal close button at 600px viewport height.\n\t\tconst modalContentStaticHeight = '90%';\n\n\t\tconst assistiveText = {\n\t\t\t...defaultProps.assistiveText,\n\t\t\t...this.props.assistiveText,\n\t\t};\n\t\tconst triggerAssistiveText =\n\t\t\tthis.props.triggerAssistiveText || assistiveText.trigger;\n\t\treturn (\n\t\t\t\n\t\t\t\t
    \n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t{triggerAssistiveText && (\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t{triggerAssistiveText}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t)}\n\t\t\t\t\t\n\t\t\t\t
    \n\t\t\t\t\n\t\t\t\t\t{this.props.children}\n\t\t\t\t\n\t\t\t\t{this.props.triggerName ? (\n\t\t\t\t\t\n\t\t\t\t\t\t{this.props.noTruncate ? (\n\t\t\t\t\t\t\tthis.props.triggerName\n\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t{this.props.triggerName}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t)}\n\t\t\t\t\t\n\t\t\t\t) : null}\n\t\t\t\n\t\t);\n\t}\n}\n\nexport default AppLauncher;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// # Expandable Section Component\n\n// Implements the [Expandable Section design pattern](https://www.lightningdesignsystem.com/components/expandable-section/) in React.\n\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\nimport classNames from 'classnames';\nimport shortid from 'shortid';\n\nimport Button from '../button';\n\n// ### Event Helpers\n// import KEYS from '../../utilities/key-code';\n// import EventUtil from '../../utilities/event';\n\nimport { EXPANDABLE_SECTION } from '../../utilities/constants';\n\nconst propTypes = {\n\t/**\n\t * **Assistive text for accessibility.**\n\t * * `toggleSection`: Label for the icon that expands / collapses the section\n\t */\n\tassistiveText: PropTypes.shape({\n\t\ttoggleSection: PropTypes.string,\n\t}),\n\t/**\n\t * Contents of the section\n\t */\n\tchildren: PropTypes.node,\n\t/**\n\t * Class names to be added to the `slds-section` classed node\n\t */\n\tclassName: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\t/**\n\t * Unique identifier for the expandable section. The id is automatically generated if not provided\n\t */\n\tid: PropTypes.string,\n\t/**\n\t * Specifies whether the section is expanded or collapsed. If not provided, component will use its own state to manage this itself\n\t */\n\tisOpen: PropTypes.bool,\n\t/**\n\t * Specifies whether the section can be expanded or collapsed. Defaults to `false`\n\t */\n\tnonCollapsible: PropTypes.bool,\n\t/**\n\t * Callback for when the section is expanded or collapsed. Passes event object and data object with `isOpen` bool.\n\t */\n\tonToggleOpen: PropTypes.func,\n\t/**\n\t * The title for the section\n\t */\n\ttitle: PropTypes.string.isRequired,\n};\n\nconst defaultProps = {\n\tassistiveText: {\n\t\ttoggleSection: 'Toggle visibility of section',\n\t},\n\tnonCollapsible: false,\n};\n\n/**\n * Toggle visibility of section content with the Expandable Section\n */\nclass ExpandableSection extends React.Component {\n\tconstructor(props) {\n\t\tsuper(props);\n\t\tthis.generatedId = shortid.generate();\n\t\tthis.state = {\n\t\t\tisOpen: true,\n\t\t};\n\t}\n\n\tgetId = () => this.props.id || this.generatedId;\n\n\ttoggleOpen = (event) => {\n\t\tif (this.props.onToggleOpen) {\n\t\t\tthis.props.onToggleOpen(event, {\n\t\t\t\tisOpen: this.props.isOpen,\n\t\t\t});\n\t\t} else {\n\t\t\tthis.setState((prevState) => ({\n\t\t\t\tisOpen: !prevState.isOpen,\n\t\t\t}));\n\t\t}\n\t};\n\n\trender() {\n\t\tconst contentId = `${this.getId()}-expanded-section-content`;\n\t\tconst isOpen =\n\t\t\tthis.props.isOpen !== undefined ? this.props.isOpen : this.state.isOpen;\n\t\tconst buttonAriaProps = {\n\t\t\t'aria-controls': contentId,\n\t\t\t'aria-expanded': !!isOpen,\n\t\t};\n\t\tconst titleNode = (\n\t\t\t\n\t\t\t\t{this.props.title}\n\t\t\t
    \n\t\t);\n\n\t\treturn (\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t{!this.props.nonCollapsible ? (\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t{titleNode}\n\t\t\t\t\t\t\n\t\t\t\t\t) : (\n\t\t\t\t\t\ttitleNode\n\t\t\t\t\t)}\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t{this.props.children}\n\t\t\t\t\n\t\t\t\n\t\t);\n\t}\n}\n\nExpandableSection.displayName = EXPANDABLE_SECTION;\nExpandableSection.propTypes = propTypes;\nExpandableSection.defaultProps = defaultProps;\n\nexport default ExpandableSection;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// # App Launcher Expandable Section Component\n\n// ## Dependencies\n\n// ### React\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\n// ### classNames\n// [github.com/JedWatson/classnames](https://github.com/JedWatson/classnames)\n// A simple javascript utility for conditionally joining classNames together.\nimport classNames from 'classnames';\n\n// This component's `checkProps` which issues warnings to developers about properties when in development mode (similar to React's built in development tools)\nimport checkProps from './check-props';\nimport componentDoc from './component.json';\n\n// ## Children\nimport ExpandableSection from '../expandable-section';\n\n// ## Constants\nimport {\n\tAPP_LAUNCHER_EXPANDABLE_SECTION,\n\tAPP_LAUNCHER_TILE,\n} from '../../utilities/constants';\n\n/**\n * App Launcher Sections allow users to categorize App Tiles & Links as well as toggle their display. It is a superset of components/expandable-section with content formatting.\n * All Expandable Section props are compatible with props passed to this component.\n */\nclass AppLauncherExpandableSection extends React.Component {\n\t// ### Display Name\n\t// Always use the canonical component name as the React display name.\n\tstatic displayName = APP_LAUNCHER_EXPANDABLE_SECTION;\n\n\t// ### Prop Types\n\tstatic propTypes = {\n\t\t/**\n\t\t * **Assistive text for accessibility.**\n\t\t * * `toggleSection`: Label for the icon that expands / collapses the section\n\t\t */\n\t\tassistiveText: PropTypes.shape({\n\t\t\ttoggleSection: PropTypes.string,\n\t\t}),\n\t\t/**\n\t\t * Contents of the section\n\t\t */\n\t\tchildren: PropTypes.node,\n\t\t/**\n\t\t * Class names to be added to the `slds-section` classed node\n\t\t */\n\t\tclassName: PropTypes.oneOfType([\n\t\t\tPropTypes.array,\n\t\t\tPropTypes.object,\n\t\t\tPropTypes.string,\n\t\t]),\n\t\t/**\n\t\t * Unique identifier for the expandable section. The id is automatically generated if not provided\n\t\t */\n\t\tid: PropTypes.string,\n\t\t/**\n\t\t * Specifies whether the section is expanded or collapsed. If not provided, component will use its own state to manage this itself\n\t\t */\n\t\tisOpen: PropTypes.bool,\n\t\t/**\n\t\t * Specifies whether the section can be expanded or collapsed. Defaults to `false`\n\t\t */\n\t\tnonCollapsible: PropTypes.bool,\n\t\t/**\n\t\t * Callback for when the section is expanded or collapsed. Passes event object and data object with `isOpen` bool.\n\t\t */\n\t\tonToggleOpen: PropTypes.func,\n\t\t/**\n\t\t * The title for the section\n\t\t */\n\t\ttitle: PropTypes.string.isRequired,\n\t};\n\n\tstate = {\n\t\tisOpen: true,\n\t};\n\n\tconstructor(props) {\n\t\tsuper(props);\n\n\t\tcheckProps(APP_LAUNCHER_EXPANDABLE_SECTION, props, componentDoc);\n\t}\n\n\ttoggleOpen = (event, data) => {\n\t\tif (this.props.onToggleOpen) {\n\t\t\tthis.props.onToggleOpen(event, data);\n\t\t} else {\n\t\t\tthis.setState((prevState) => ({\n\t\t\t\tisOpen: !prevState.isOpen,\n\t\t\t}));\n\t\t}\n\t};\n\n\trender() {\n\t\tconst expandableSectionProps = {\n\t\t\t...this.props,\n\t\t\t...{\n\t\t\t\tisOpen:\n\t\t\t\t\tthis.props.isOpen !== undefined\n\t\t\t\t\t\t? this.props.isOpen\n\t\t\t\t\t\t: this.state.isOpen,\n\t\t\t\tonToggleOpen: this.toggleOpen,\n\t\t\t},\n\t\t};\n\t\tlet ulChildrenType = 'tiles';\n\n\t\tconst ulContent = React.Children.map(this.props.children, (child) => {\n\t\t\tlet liClasses =\n\t\t\t\t'slds-p-horizontal_small slds-size_1-of-1 slds-medium-size_1-of-3';\n\n\t\t\tif (\n\t\t\t\t(child && child.type && child.type.displayName !== APP_LAUNCHER_TILE) ||\n\t\t\t\t(child && !child.type)\n\t\t\t) {\n\t\t\t\tulChildrenType = 'links';\n\t\t\t}\n\n\t\t\tif (ulChildrenType === 'links') {\n\t\t\t\tliClasses = 'slds-col_padded slds-p-vertical_xx-small slds-size_1-of-5';\n\t\t\t}\n\n\t\t\treturn
  • {child}
  • ;\n\t\t});\n\n\t\treturn (\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t{ulContent}\n\t\t\t\t\n\t\t\t\n\t\t);\n\t}\n}\n\nexport default AppLauncherExpandableSection;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// ### React\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\n// ### ReactHighlighter\nimport ReactHighlighter from 'react-highlighter';\n\n// ## Constants\nimport { HIGHLIGHTER } from '../../../utilities/constants';\n\n/**\n * A utility component that highlights occurrences of a particular pattern in its contents.\n */\nconst Highlighter = (props) => {\n\tif (props.search) {\n\t\tlet children;\n\t\tif (typeof props.children === 'string') {\n\t\t\tchildren = (\n\t\t\t\t\n\t\t\t\t\t{props.children}\n\t\t\t\t\n\t\t\t);\n\t\t} else {\n\t\t\tconst findString = (nodeArr) =>\n\t\t\t\tnodeArr.map((element) => {\n\t\t\t\t\tlet newElement;\n\t\t\t\t\tif (typeof element === 'string') {\n\t\t\t\t\t\tnewElement = (\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t{element}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tnewElement = element;\n\t\t\t\t\t}\n\t\t\t\t\treturn newElement;\n\t\t\t\t});\n\n\t\t\tif (props.children.props) {\n\t\t\t\tconst node = props.children.props.children;\n\t\t\t\tchildren = node instanceof Array ? findString(node) : node;\n\t\t\t}\n\t\t}\n\n\t\treturn {children};\n\t}\n\n\tif (typeof props.children === 'string') {\n\t\treturn (\n\t\t\t\n\t\t\t\t{props.children}\n\t\t\t\n\t\t);\n\t}\n\n\treturn {props.children};\n};\n\n// ### Display Name\nHighlighter.displayName = HIGHLIGHTER;\n\n// ### Prop Types\nHighlighter.propTypes = {\n\t/**\n\t * The full string to display.\n\t */\n\tchildren: PropTypes.oneOfType([\n\t\tPropTypes.string,\n\t\tPropTypes.number,\n\t\tPropTypes.bool,\n\t\tPropTypes.node,\n\t]),\n\tclassName: PropTypes.string,\n\t/**\n\t * The string of text (or Regular Expression) to highlight.\n\t */\n\tsearch: PropTypes.any,\n};\n\nexport default Highlighter;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// # App Launcher Link Component\n\n// ## Dependencies\n\n// ### React\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\n// ### classNames\n// [github.com/JedWatson/classnames](https://github.com/JedWatson/classnames)\n// A simple javascript utility for conditionally joining classNames together.\nimport classNames from 'classnames';\n\n// ### Children\nimport Highlighter from '../utilities/highlighter';\n\n// ## Constants\nimport { APP_LAUNCHER_LINK } from '../../utilities/constants';\n\n/**\n * App Launcher Link component creates simple links to be used in \"All Items\" sections\n */\nclass AppLauncherLink extends React.Component {\n\t// ### Display Name\n\t// Always use the canonical component name as the React display name.\n\tstatic displayName = APP_LAUNCHER_LINK;\n\n\t// ### Prop Types\n\tstatic propTypes = {\n\t\t/**\n\t\t * Contents of the link\n\t\t */\n\t\tchildren: PropTypes.node,\n\t\t/**\n\t\t * Classes to be applied to the link\n\t\t */\n\t\tclassName: PropTypes.oneOfType([\n\t\t\tPropTypes.array,\n\t\t\tPropTypes.object,\n\t\t\tPropTypes.string,\n\t\t]),\n\t\t/**\n\t\t * The `href` attribute of the link. If the `onClick` callback is specified this URL will be prevented from changing the browser's location.\n\t\t */\n\t\thref: PropTypes.string,\n\t\t/**\n\t\t * Callback for when the link is clicked. Passes back event and data object with href prop. Prevents click from changing browser's location if set.\n\t\t */\n\t\tonClick: PropTypes.func,\n\t\t/**\n\t\t * Text used to highlight content in link\n\t\t */\n\t\tsearch: PropTypes.string,\n\t\t/**\n\t\t * The title for the link. If not provided it will attempt to use child content if that content is a string.\n\t\t */\n\t\ttitle: PropTypes.string,\n\t};\n\n\t// ### Default Props\n\tstatic defaultProps = {\n\t\thref: 'javascript:void(0);', // eslint-disable-line no-script-url\n\t};\n\n\trender() {\n\t\tlet { title } = this.props;\n\n\t\tif (!title && typeof this.props.children === 'string') {\n\t\t\ttitle = this.props.children;\n\t\t}\n\n\t\treturn (\n\t\t\t {\n\t\t\t\t\tif (this.props.onClick) {\n\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t\tthis.props.onClick(event, { href: this.props.href });\n\t\t\t\t\t}\n\t\t\t\t}}\n\t\t\t\ttitle={title}\n\t\t\t>\n\t\t\t\t\n\t\t\t\t\t{this.props.children}\n\t\t\t\t\n\t\t\t\n\t\t);\n\t}\n}\n\nexport default AppLauncherLink;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\nimport React from 'react';\n\nimport PropTypes from 'prop-types';\n\nimport memoize from 'lodash.memoize';\n\nconst documentDefined = typeof document !== 'undefined';\n\nlet canvas;\nlet docFragment;\nlet canvasContext;\nlet measureWidth = () => 0;\n\nif (documentDefined) {\n\tcanvas = document.createElement('canvas');\n\tif (canvas.getContext) {\n\t\tdocFragment = document.createDocumentFragment();\n\t\tdocFragment.appendChild(canvas);\n\t\tcanvasContext = canvas.getContext('2d');\n\t\tmeasureWidth = memoize((text, font) => {\n\t\t\tcanvasContext.font = font;\n\t\t\treturn canvasContext.measureText(text).width;\n\t\t});\n\t}\n}\n\nclass TextTruncate extends React.Component {\n\tstatic displayName = 'TextTruncate';\n\n\tstatic propTypes = {\n\t\tcontainerClassName: PropTypes.string,\n\t\tline: PropTypes.number,\n\t\tprefix: PropTypes.string,\n\t\tsuffix: PropTypes.string,\n\t\ttext: PropTypes.string,\n\t\ttextTruncateChild: PropTypes.node,\n\t\ttruncateText: PropTypes.string,\n\t\twrapper: PropTypes.func,\n\t};\n\n\tstatic defaultProps = {\n\t\tline: 1,\n\t\ttext: '',\n\t\ttruncateText: '…',\n\t};\n\n\tstate = {};\n\n\tcomponentDidMount() {\n\t\twindow.addEventListener('resize', this.onResize, false);\n\t}\n\n\tcomponentDidUpdate(nextProps) {\n\t\tif (nextProps.text !== this.props.text) {\n\t\t\tthis.update(nextProps);\n\t\t}\n\t}\n\n\tcomponentWillUnmount() {\n\t\twindow.removeEventListener('resize', this.onResize, false);\n\t}\n\n\tonResize = () => {\n\t\tthis.update(this.props);\n\t};\n\n\tgetRenderText = (ref, nextProps) => {\n\t\tif (!ref) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis.scope = ref;\n\n\t\t// nextProps will be undefined for resize events, but will change if search or other props are changed\n\t\tlet propsToRender;\n\t\tif (nextProps) {\n\t\t\tpropsToRender = nextProps;\n\t\t} else {\n\t\t\tpropsToRender = this.props;\n\t\t}\n\n\t\tconst {\n\t\t\tcontainerClassName, // eslint-disable-line no-unused-vars\n\t\t\tline,\n\t\t\tprefix,\n\t\t\tsuffix,\n\t\t\ttext,\n\t\t\ttextTruncateChild,\n\t\t\ttruncateText,\n\t\t\twrapper,\n\t\t\t...props\n\t\t} = propsToRender;\n\n\t\tconst scopeWidth = this.scope.getBoundingClientRect().width;\n\t\tconst style = window.getComputedStyle(this.scope);\n\t\tconst font = [\n\t\t\tstyle['font-weight'],\n\t\t\tstyle['font-style'],\n\t\t\tstyle['font-size'],\n\t\t\tstyle['font-family'],\n\t\t].join(' ');\n\n\t\t// return if display:none\n\t\tif (scopeWidth === 0) {\n\t\t\tthis.setState({ renderText: null });\n\t\t\treturn;\n\t\t}\n\n\t\tlet child;\n\t\tlet outputText = text;\n\n\t\t// return if all of text can be displayed\n\t\tif (scopeWidth < measureWidth(text, font)) {\n\t\t\tlet currentPos = 1;\n\t\t\tconst maxTextLength = text.length;\n\t\t\tlet truncatedText = '';\n\t\t\tlet splitPos = 0;\n\t\t\tlet startPos = 0;\n\t\t\tlet displayLine = line;\n\t\t\tlet width = 0;\n\t\t\tlet lastIsEng = false;\n\t\t\tlet lastSpaceIndex = -1;\n\n\t\t\t// eslint-disable-next-line fp/no-loops\n\t\t\twhile (displayLine !== 0) {\n\t\t\t\tlet ext = '';\n\t\t\t\tlet extraWidthDueToPrefixStyle = 0;\n\n\t\t\t\tif (prefix && displayLine === line - 1) {\n\t\t\t\t\text += ` ${prefix}`;\n\t\t\t\t\t// MAGIC NUMBER: (width at letter-spacing of 0.25rems - width at normal) / number of letters\n\t\t\t\t\textraWidthDueToPrefixStyle = prefix.length * 0.66;\n\t\t\t\t}\n\n\t\t\t\tif (!displayLine) {\n\t\t\t\t\text += truncateText;\n\n\t\t\t\t\tif (suffix) {\n\t\t\t\t\t\text += ` ${suffix}`;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t// eslint-disable-next-line fp/no-loops\n\t\t\t\twhile (currentPos <= maxTextLength) {\n\t\t\t\t\ttruncatedText = text.substr(startPos, currentPos);\n\t\t\t\t\twidth =\n\t\t\t\t\t\tmeasureWidth(truncatedText + ext, font) +\n\t\t\t\t\t\textraWidthDueToPrefixStyle;\n\n\t\t\t\t\tif (width < scopeWidth) {\n\t\t\t\t\t\tsplitPos = text.indexOf(' ', currentPos + 1);\n\t\t\t\t\t\tif (splitPos === -1) {\n\t\t\t\t\t\t\tcurrentPos += 1;\n\t\t\t\t\t\t\tlastIsEng = false;\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tlastIsEng = true;\n\t\t\t\t\t\t\tcurrentPos = splitPos;\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\n\t\t\t\t\t\tlet lastWidth = 0;\n\t\t\t\t\t\t// eslint-disable-next-line fp/no-loops\n\t\t\t\t\t\tdo {\n\t\t\t\t\t\t\tcurrentPos -= 1;\n\t\t\t\t\t\t\ttruncatedText = text.substr(startPos, currentPos);\n\t\t\t\t\t\t\tif (truncatedText[truncatedText.length - 1] === ' ') {\n\t\t\t\t\t\t\t\ttruncatedText = text.substr(startPos, currentPos - 1);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tif (lastIsEng) {\n\t\t\t\t\t\t\t\tlastSpaceIndex = truncatedText.lastIndexOf(' ');\n\t\t\t\t\t\t\t\tif (lastSpaceIndex > -1) {\n\t\t\t\t\t\t\t\t\tcurrentPos = lastSpaceIndex;\n\t\t\t\t\t\t\t\t\ttruncatedText = text.substr(startPos, currentPos);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\twidth =\n\t\t\t\t\t\t\t\tmeasureWidth(truncatedText + ext, font) +\n\t\t\t\t\t\t\t\textraWidthDueToPrefixStyle;\n\t\t\t\t\t\t\tif (width === lastWidth) {\n\t\t\t\t\t\t\t\tcurrentPos = 0;\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tlastWidth = width;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} while (width >= scopeWidth);\n\t\t\t\t\t\tstartPos += currentPos;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tif (currentPos >= maxTextLength) {\n\t\t\t\t\tstartPos = maxTextLength;\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\n\t\t\t\tdisplayLine -= 1; // iterate\n\t\t\t}\n\n\t\t\tif (startPos !== maxTextLength) {\n\t\t\t\toutputText = `${text.substr(0, startPos)}${truncateText} `;\n\t\t\t\tchild = textTruncateChild;\n\t\t\t}\n\t\t}\n\n\t\tlet renderText;\n\t\tif (wrapper) {\n\t\t\trenderText = wrapper(outputText, child);\n\t\t} else {\n\t\t\trenderText = (\n\t\t\t\t
    \n\t\t\t\t\t{outputText}\n\t\t\t\t\t{child}\n\t\t\t\t
    \n\t\t\t);\n\t\t}\n\n\t\tthis.setState({ renderText });\n\t};\n\n\tupdate = (nextProps) => {\n\t\tthis.getRenderText(this.scope, nextProps);\n\t};\n\n\trender() {\n\t\tconst { containerClassName } = this.props;\n\n\t\t// inline style override\n\t\treturn (\n\t\t\t\n\t\t\t\t{this.state.renderText}\n\t\t\t\n\t\t);\n\t}\n}\n\nexport default TextTruncate;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n/* eslint-disable jsx-a11y/no-noninteractive-tabindex */\n\n// # App Launcher Tile Component\n\n// ## Dependencies\n\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\n\n// This component's `checkProps` which issues warnings to developers about properties when in development mode (similar to React's built in development tools)\nimport checkProps from './check-props';\nimport componentDoc from './component.json';\n\n// ## Children\nimport Button from '../button';\nimport Highlighter from '../utilities/highlighter';\nimport Tooltip from '../tooltip';\nimport Truncate from '../utilities/truncate';\n\nimport { APP_LAUNCHER_TILE } from '../../utilities/constants';\n\nconst propTypes = {\n\t/**\n\t * **Assistive text for accessibility.**\n\t * * `dragIconText`: Text that describes the purpose of the drag handle icon.\n\t */\n\tassistiveText: PropTypes.shape({\n\t\tdragIconText: PropTypes.string,\n\t}),\n\t/**\n\t * Class names to be added to the tile.\n\t */\n\tclassName: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\t/**\n\t * The description of the app. Not visible on small tiles.\n\t */\n\tdescription: PropTypes.string,\n\t/**\n\t * Heading for app description. NOTE: this prop is DEPRECATED and use should be avoided\n\t */\n\tdescriptionHeading: PropTypes.string,\n\t/**\n\t * The `href` attribute of the tile. Please pass in bookmarkable URLs from your routing library. If the `onClick` callback is specified this URL will be prevented from changing the browser's location.\n\t */\n\thref: PropTypes.string,\n\t/**\n\t * Background color to be used on the icon. Only applied if iconNode is undefined\n\t */\n\ticonBackgroundColor: PropTypes.string,\n\t/**\n\t * Icon node for app tile. Takes priority over `iconText`\n\t */\n\ticonNode: PropTypes.node,\n\t/**\n\t * Text to be used as an icon. Only renders if iconNode is undefined\n\t */\n\ticonText: PropTypes.string,\n\t/**\n\t * Open the More Tooltip\n\t */\n\tisOpenTooltip: PropTypes.bool,\n\t/**\n\t * The localized text for the \"More information\" tooltip.\n\t */\n\tmoreLabel: PropTypes.string,\n\t/**\n\t * Function that will be executed when clicking on a tile\n\t */\n\tonClick: PropTypes.func,\n\t/**\n\t * Text used to highlight content in app tiles\n\t */\n\tsearch: PropTypes.string,\n\t/**\n\t * App name for the tile's title.\n\t */\n\ttitle: PropTypes.string.isRequired,\n\n\t// Future feature: add Highlighter to Truncate text (https://github.com/ShinyChang/React-Text-Truncate/issues/32)\n};\n\nconst defaultProps = {\n\tassistiveText: {\n\t\tdragIconText: 'Reorder',\n\t},\n\thref: 'javascript:void(0);', // eslint-disable-line no-script-url\n\tmoreLabel: ' More',\n};\n\n/**\n * App Launcher Tiles provide information and links to a user's apps\n */\nclass AppLauncherTile extends React.Component {\n\tconstructor(props) {\n\t\tsuper(props);\n\n\t\t// `checkProps` issues warnings to developers about properties (similar to React's built in development tools)\n\t\tcheckProps(APP_LAUNCHER_TILE, props, componentDoc);\n\t}\n\n\thandleClick = (event) => {\n\t\tif (this.props.onClick) {\n\t\t\tevent.preventDefault();\n\t\t\tthis.props.onClick(event, { href: this.props.href });\n\t\t}\n\t};\n\n\trender() {\n\t\tconst dragButtonAriaProps = { 'aria-pressed': false };\n\t\tconst iconStyles = {};\n\n\t\tif (this.props.iconBackgroundColor) {\n\t\t\ticonStyles.backgroundColor = this.props.iconBackgroundColor;\n\t\t}\n\n\t\treturn (\n\t\t\t\n\t\t\t\t
    \n\t\t\t\t\t{this.props.iconNode || (\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t{this.props.iconText}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t)}\n\t\t\t\t\t
    \n\t\t\t\t\t\t\n\t\t\t\t\t
    \n\t\t\t\t
    \n\t\t\t\t
    \n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t{this.props.title}\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t{this.props.description}\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tisOpen={this.props.isOpenTooltip}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t{this.props.moreLabel}\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t}\n\t\t\t\t\t\twrapper={(text, textTruncateChild) => (\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t{this.props.descriptionHeading && (\n\t\t\t\t\t\t\t\t\t// inline style override\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t{this.props.descriptionHeading}{' '}\n\t\t\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t{text}\n\t\t\t\t\t\t\t\t{textTruncateChild && ' '}\n\t\t\t\t\t\t\t\t{textTruncateChild}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t)}\n\t\t\t\t\t/>\n\t\t\t\t\n\t\t\t\n\t\t);\n\t}\n}\n\nAppLauncherTile.displayName = APP_LAUNCHER_TILE;\nAppLauncherTile.defaultProps = defaultProps;\nAppLauncherTile.propTypes = propTypes;\n\nexport default AppLauncherTile;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n/* eslint-disable import/no-mutable-exports */\n\nimport sunsetProperty from '../../utilities/warning/sunset-property';\nimport getComponentDocFn from '../../utilities/get-component-doc';\n\nlet checkProps = function checkPropsFunction() {};\n\nif (process.env.NODE_ENV !== 'production') {\n\tcheckProps = function checkPropsFunction(COMPONENT, props, jsonDoc) {\n\t\tconst createDocUrl = getComponentDocFn(jsonDoc);\n\t\tif (typeof props.assistiveText === 'string') {\n\t\t\tsunsetProperty(\n\t\t\t\tCOMPONENT,\n\t\t\t\tprops.assistiveText,\n\t\t\t\t'assistiveText',\n\t\t\t\t`\\`assistiveText\\` as a string has been deprecated and is now an object to allow for multiple uses in the component. Please use \\`assistiveText.icon\\` instead. ${createDocUrl(\n\t\t\t\t\t'assistiveText'\n\t\t\t\t)}`\n\t\t\t);\n\t\t}\n\t};\n}\n\nexport default checkProps;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// # Avatar Component\n\n// Implements the [Avatar design pattern](https://lightningdesignsystem.com/components/avatar/) in React.\n\n// ### React\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\n// This component's `checkProps` which issues warnings to developers about properties when in development mode (similar to React's built in development tools)\nimport checkProps from './check-props';\n\n// ### classNames\n// [github.com/JedWatson/classnames](https://github.com/JedWatson/classnames) A\n// simple javascript utility for conditionally joining classNames together.\nimport classNames from '../../utilities/class-names';\nimport { AVATAR } from '../../utilities/constants';\nimport UtilityIcon from '../icon';\nimport componentDoc from './component.json';\n\n// ### Display Name Always use the canonical component name as the React display\n// name.\nconst displayName = AVATAR;\n\n// ### Prop Types\nconst propTypes = {\n\t/**\n\t * **Assistive text for accessibility.**\n\t * This object is merged with the default props object on every render.\n\t * * `icon`: Assistive text for accessibility that labels the icon.\n\t */\n\tassistiveText: PropTypes.shape({\n\t\ticon: PropTypes.string,\n\t}),\n\t/**\n\t * Alt attribute to be applied to image (base case) element.\n\t */\n\timgAlt: PropTypes.string,\n\t/**\n\t * Source attribute to be applied to image (base case) element.\n\t */\n\timgSrc: PropTypes.string,\n\t/**\n\t * Initials attribute to optionally pass in initials directly in case of \"initials\" fallback case.\n\t */\n\tinitials: PropTypes.string,\n\t/**\n\t * Avatar with initials that are dark text on light background\n\t */\n\tinverse: PropTypes.bool,\n\t/**\n\t * Label attibute to display inside \"initials\" fallback case. Will be passed as title prop in `abbr` element to provide more specificity.\n\t */\n\tlabel: PropTypes.string,\n\t/**\n\t * Avatar variants to apply relevant styling (circle: user, square: entity) and icon rendering if applicable.\n\t */\n\tvariant: PropTypes.oneOf(['entity', 'user']).isRequired,\n\t/**\n\t * Size of the icon in \"icon\" fallback case.\n\t */\n\tsize: PropTypes.oneOf(['x-small', 'small', 'medium', 'large']).isRequired,\n\t/**\n\t * Title attribute for the avatar container.\n\t */\n\ttitle: PropTypes.string,\n};\n\nconst defaultProps = {\n\tassistiveText: {\n\t\ticon: 'User or Account Icon',\n\t},\n\timgAlt: '',\n\tsize: 'medium',\n\ttitle: 'user avatar',\n\tvariant: 'user',\n};\n\n/**\n * The avatar component represents an object or entity. An image is the preferred format for an avatar.\n If the `imgSrc` prop is undefined, and if a `label` or `initials` prop is available, the fallback avatar will render with initials. If initals are passed in directly in the `initials` prop, this will render in the fallback avatar. If `initals` prop is unavailable but a `label` prop is available, the fallback avatar will render with built initials of the user name or entity name.\n\n Intials built from the `label` prop will apply the following logic: If the label name contains two words, like first and last name, the first letter of each will be capitalized and returned. For labels that only have a single word name, the first two letters of that word, using one capital and one lower case letter, will be returned. For labels that contain three or more words, the first character of the first and last words will be capitalized and returned.\n\n If `initials` or `label` are not available, the fallback avatar will render a standard icon. If `variant='user'`, a user icon will\n render. If `variant='entity'`, an account icon will render.\n */\n\nclass Avatar extends React.Component {\n\tconstructor(props) {\n\t\tsuper(props);\n\t\tthis.state = {\n\t\t\timgLoadError: false,\n\t\t};\n\n\t\tcheckProps(AVATAR, props, componentDoc);\n\t}\n\n\tbuildInitials() {\n\t\tconst { label } = this.props;\n\t\tconst name = label.trim();\n\t\tconst nameParts = name.split(' ');\n\t\tif (nameParts.length > 1) {\n\t\t\treturn (\n\t\t\t\tnameParts[0].charAt(0).toUpperCase() +\n\t\t\t\tnameParts[nameParts.length - 1].charAt(0).toUpperCase()\n\t\t\t);\n\t\t}\n\t\treturn (name[0] || '').toUpperCase() + (name[1] || '').toLowerCase();\n\t}\n\n\thandleImageError() {\n\t\treturn this.setState(() => ({ imgLoadError: true }));\n\t}\n\n\trenderBaseAvatar() {\n\t\tconst { imgAlt, imgSrc, title } = this.props;\n\t\treturn (\n\t\t\t this.handleImageError()}\n\t\t\t\ttitle={title}\n\t\t\t/>\n\t\t);\n\t}\n\n\trenderIconAvatar() {\n\t\tconst { variant } = this.props;\n\t\tconst iconAssistiveText =\n\t\t\ttypeof this.props.assistiveText === 'string'\n\t\t\t\t? this.props.assistiveText\n\t\t\t\t: {\n\t\t\t\t\t\t...defaultProps.assistiveText,\n\t\t\t\t\t\t...this.props.assistiveText,\n\t\t\t\t }.icon;\n\t\treturn (\n\t\t\t\n\t\t);\n\t}\n\n\trenderInitialsAvatar() {\n\t\tconst { initials, inverse, label, variant } = this.props;\n\t\treturn (\n\t\t\t\n\t\t\t\t{initials ? initials : this.buildInitials()}\n\t\t\t\n\t\t);\n\t}\n\n\trender() {\n\t\tconst { imgSrc, initials, variant, label, size } = this.props;\n\n\t\tconst renderAvatar = () => {\n\t\t\t/* eslint no-unneeded-ternary: */\n\t\t\tif (!this.state.imgLoadError && imgSrc) {\n\t\t\t\treturn this.renderBaseAvatar();\n\t\t\t}\n\t\t\tif (initials || (label && label.trim())) {\n\t\t\t\treturn this.renderInitialsAvatar();\n\t\t\t}\n\t\t\treturn this.renderIconAvatar();\n\t\t};\n\n\t\treturn (\n\t\t\t
    \n\t\t\t\t\n\t\t\t\t\t{renderAvatar()}\n\t\t\t\t\n\t\t\t
    \n\t\t);\n\t}\n}\n\nAvatar.defaultProps = defaultProps;\nAvatar.displayName = displayName;\nAvatar.propTypes = propTypes;\n\nexport default Avatar;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// Implements the [Badge design pattern](https://latest-216.lightningdesignsystem.com/components/badges/) in React.\n\n// ## Dependencies\n\n// ### React\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\n\n// ### shortid\n// [npmjs.com/package/shortid](https://www.npmjs.com/package/shortid)\n// shortid is a short, non-sequential, url-friendly, unique id generator\nimport shortid from 'shortid';\n\n// ## Constants\nimport { BADGE } from '../../utilities/constants';\n\n/**\n * Badges are labels which hold small amounts of information.\n */\nclass Badge extends React.Component {\n\tconstructor(props) {\n\t\tsuper(props);\n\t\tthis.generatedId = shortid.generate();\n\t}\n\n\t/**\n\t * Get the Badge's HTML id. Generate a new one if no ID present.\n\t */\n\tgetId() {\n\t\treturn this.props.id || this.generatedId;\n\t}\n\n\trender() {\n\t\tconst icon = this.props.icon && (\n\t\t\t\n\t\t\t\t{this.props.icon}\n\t\t\t\n\t\t);\n\n\t\treturn (\n\t\t\t\n\t\t\t\t{this.props.iconAlignment === 'left' ? (\n\t\t\t\t\t\n\t\t\t\t\t\t{icon}\n\t\t\t\t\t\t{this.props.content}\n\t\t\t\t\t\n\t\t\t\t) : (\n\t\t\t\t\t\n\t\t\t\t\t\t{this.props.content}\n\t\t\t\t\t\t{icon}\n\t\t\t\t\t\n\t\t\t\t)}\n\t\t\t\n\t\t);\n\t}\n}\n\nBadge.displayName = BADGE;\n\nBadge.propTypes = {\n\t/**\n\t * CSS classes that are applied to the component\n\t */\n\tclassName: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\n\t/**\n\t * Id of component, if desired. If not provided an id is automatically generated\n\t */\n\tid: PropTypes.string,\n\n\t/**\n\t * Custom styles to be passed to the component\n\t */\n\tstyle: PropTypes.object,\n\n\t/**\n\t * Color variant for the badge component\n\t */\n\tcolor: PropTypes.oneOf([\n\t\t'default',\n\t\t'inverse',\n\t\t'light',\n\t\t'success',\n\t\t'warning',\n\t\t'error',\n\t]),\n\n\t/**\n\t * Icon alignment for the badge component\n\t */\n\ticonAlignment: PropTypes.oneOf(['left', 'right']),\n\n\t/**\n\t * Content to be placed inside the badge component\n\t */\n\tcontent: PropTypes.oneOfType([PropTypes.string, PropTypes.node]),\n};\n\nBadge.defaultProps = {\n\ticonAlignment: 'left',\n\tcolor: 'default',\n};\n\nexport default Badge;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// # Brand Band Component\n\n// Implements the [Brand Band design pattern](https://latest-216.lightningdesignsystem.com/components/brand-band/) in React.\n\n// ## Dependencies\n\n// ### React\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\n// ### shortid\n// [npmjs.com/package/shortid](https://www.npmjs.com/package/shortid)\n// shortid is a short, non-sequential, url-friendly, unique id generator\nimport shortid from 'shortid';\n\n// ### classNames\n// [github.com/JedWatson/classnames](https://github.com/JedWatson/classnames)\n// A simple javascript utility for conditionally joining classNames together.\nimport classNames from '../../utilities/class-names';\n\n// ## Constants\nimport { BRAND_BAND } from '../../utilities/constants';\n\n/**\n * The brand band provides theming capability that adds personality and improves information density and contrast.\n *\n * NOTE: you may find that themes other than 'default' fail to load the appropriate styling in your application.\n * If this occurs the cause is very likely to be CSP settings on the server hosting your application protecting against style injections.\n * Changing these settings is not recommended. Instead, add the following styles to any stylesheet provided by the server itself (such as an external stylesheet):\n *\n * When using 'lightning-theme':\n * .slds-brand-band.dsr-brand-band_lightning-blue:before {\n * background-image: url(/assets/images/themes/oneSalesforce/banner-brand-default.png), linear-gradient(to top, rgba(175, 197, 222, 0) 0, #1B5F9E);\n * }\n * .slds-brand-band.dsr-brand-band_lightning-blue:after {\n * background-image: linear-gradient(to bottom, rgba(175, 197, 222, 0) 60%, #AFC5DE);\n * }\n *\n * For more information on the problem, [see this Stack Overflow question](https://stackoverflow.com/questions/17766817/refused-to-apply-inline-style-because-it-violates-the-following-content-security)\n */\nclass BrandBand extends React.Component {\n\tstatic injectLightningBlueStyles() {\n\t\treturn (\n\t\t\t\n\t\t);\n\t}\n\n\tconstructor(props) {\n\t\tsuper(props);\n\t\tthis.generatedId = shortid.generate();\n\t}\n\n\tgetId() {\n\t\treturn this.props.id || this.generatedId;\n\t}\n\n\trender() {\n\t\tconst { props } = this;\n\n\t\treturn (\n\t\t\t\n\t\t\t\t{BrandBand.injectLightningBlueStyles()}\n\t\t\t\t\n\t\t\t\t\t{props.children}\n\t\t\t\t\n\t\t\t\n\t\t);\n\t}\n}\n\nBrandBand.displayName = BRAND_BAND;\n\nBrandBand.propTypes = {\n\t/**\n\t * Primary application grid layout or a white background component such as a `Card` should be passed into this component.\n\t */\n\tchildren: PropTypes.node,\n\n\t/**\n\t * CSS classes that are applied to the component\n\t */\n\tclassName: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\n\t/**\n\t * Id of component, if desired. If not provided an id is automatically generated\n\t */\n\tid: PropTypes.string,\n\n\t/**\n\t * Image of the brand band\n\t */\n\timage: PropTypes.oneOf(['default', 'none']),\n\n\t/**\n\t * Background size of the brand band. Default is 'contain'\n\t */\n\tbackgroundSize: PropTypes.oneOf(['contain', 'cover']),\n\t/**\n\t * Size of the brand band. Default is 'medium'\n\t */\n\tsize: PropTypes.oneOf(['small', 'medium', 'large']),\n\n\t/**\n\t * Custom styles to be passed to the component\n\t */\n\tstyle: PropTypes.object,\n\n\t/**\n\t * Custom styles to be passed to the component container\n\t */\n\tstyleContainer: PropTypes.object,\n\n\t/**\n\t * Different brand band styling.\n\t * NOTE: using 'lightning-blue' may result in incorrect styling depending on server CSP settings. See opening component documentation above for details.\n\t */\n\ttheme: PropTypes.oneOf(['default', 'lightning-blue']),\n};\n\nBrandBand.defaultProps = {\n\tbackgroundSize: 'contain',\n\timage: 'default',\n\tsize: 'medium',\n\ttheme: 'default',\n};\n\nexport default BrandBand;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n/* eslint-disable import/no-mutable-exports */\n\nimport sunsetProperty from '../../utilities/warning/sunset-property';\nimport getComponentDocFn from '../../utilities/get-component-doc';\n\nlet checkProps = function checkPropsFunction() {};\n\nif (process.env.NODE_ENV !== 'production') {\n\tcheckProps = function checkPropsFunction(COMPONENT, props, jsonDoc) {\n\t\tconst createDocUrl = getComponentDocFn(jsonDoc);\n\t\tif (typeof props.assistiveText === 'string') {\n\t\t\tsunsetProperty(\n\t\t\t\tCOMPONENT,\n\t\t\t\tprops.assistiveText,\n\t\t\t\t'assistiveText',\n\t\t\t\t`\\`assistiveText\\` as a string has been deprecated and is now an object to allow for multiple uses in the component. Please use \\`assistiveText.label\\` instead. ${createDocUrl(\n\t\t\t\t\t'assistiveText'\n\t\t\t\t)}`\n\t\t\t);\n\t\t}\n\t};\n}\n\nexport default checkProps;\n","import { Component, createElement } from 'react';\nimport { findDOMNode } from 'react-dom';\n\nfunction _inheritsLoose(subClass, superClass) {\n subClass.prototype = Object.create(superClass.prototype);\n subClass.prototype.constructor = subClass;\n subClass.__proto__ = superClass;\n}\n\nfunction _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n\n return target;\n}\n\n/**\n * Check whether some DOM node is our Component's node.\n */\nfunction isNodeFound(current, componentNode, ignoreClass) {\n if (current === componentNode) {\n return true;\n } // SVG elements do not technically reside in the rendered DOM, so\n // they do not have classList directly, but they offer a link to their\n // corresponding element, which can have classList. This extra check is for\n // that case.\n // See: http://www.w3.org/TR/SVG11/struct.html#InterfaceSVGUseElement\n // Discussion: https://github.com/Pomax/react-onclickoutside/pull/17\n\n\n if (current.correspondingElement) {\n return current.correspondingElement.classList.contains(ignoreClass);\n }\n\n return current.classList.contains(ignoreClass);\n}\n/**\n * Try to find our node in a hierarchy of nodes, returning the document\n * node as highest node if our node is not found in the path up.\n */\n\nfunction findHighest(current, componentNode, ignoreClass) {\n if (current === componentNode) {\n return true;\n } // If source=local then this event came from 'somewhere'\n // inside and should be ignored. We could handle this with\n // a layered approach, too, but that requires going back to\n // thinking in terms of Dom node nesting, running counter\n // to React's 'you shouldn't care about the DOM' philosophy.\n\n\n while (current.parentNode) {\n if (isNodeFound(current, componentNode, ignoreClass)) {\n return true;\n }\n\n current = current.parentNode;\n }\n\n return current;\n}\n/**\n * Check if the browser scrollbar was clicked\n */\n\nfunction clickedScrollbar(evt) {\n return document.documentElement.clientWidth <= evt.clientX || document.documentElement.clientHeight <= evt.clientY;\n}\n\n// ideally will get replaced with external dep\n// when rafrex/detect-passive-events#4 and rafrex/detect-passive-events#5 get merged in\nvar testPassiveEventSupport = function testPassiveEventSupport() {\n if (typeof window === 'undefined' || typeof window.addEventListener !== 'function') {\n return;\n }\n\n var passive = false;\n var options = Object.defineProperty({}, 'passive', {\n get: function get() {\n passive = true;\n }\n });\n\n var noop = function noop() {};\n\n window.addEventListener('testPassiveEventSupport', noop, options);\n window.removeEventListener('testPassiveEventSupport', noop, options);\n return passive;\n};\n\nfunction autoInc(seed) {\n if (seed === void 0) {\n seed = 0;\n }\n\n return function () {\n return ++seed;\n };\n}\n\nvar uid = autoInc();\n\nvar passiveEventSupport;\nvar handlersMap = {};\nvar enabledInstances = {};\nvar touchEvents = ['touchstart', 'touchmove'];\nvar IGNORE_CLASS_NAME = 'ignore-react-onclickoutside';\n/**\n * Options for addEventHandler and removeEventHandler\n */\n\nfunction getEventHandlerOptions(instance, eventName) {\n var handlerOptions = null;\n var isTouchEvent = touchEvents.indexOf(eventName) !== -1;\n\n if (isTouchEvent && passiveEventSupport) {\n handlerOptions = {\n passive: !instance.props.preventDefault\n };\n }\n\n return handlerOptions;\n}\n/**\n * This function generates the HOC function that you'll use\n * in order to impart onOutsideClick listening to an\n * arbitrary component. It gets called at the end of the\n * bootstrapping code to yield an instance of the\n * onClickOutsideHOC function defined inside setupHOC().\n */\n\n\nfunction onClickOutsideHOC(WrappedComponent, config) {\n var _class, _temp;\n\n var componentName = WrappedComponent.displayName || WrappedComponent.name || 'Component';\n return _temp = _class =\n /*#__PURE__*/\n function (_Component) {\n _inheritsLoose(onClickOutside, _Component);\n\n function onClickOutside(props) {\n var _this;\n\n _this = _Component.call(this, props) || this;\n\n _this.__outsideClickHandler = function (event) {\n if (typeof _this.__clickOutsideHandlerProp === 'function') {\n _this.__clickOutsideHandlerProp(event);\n\n return;\n }\n\n var instance = _this.getInstance();\n\n if (typeof instance.props.handleClickOutside === 'function') {\n instance.props.handleClickOutside(event);\n return;\n }\n\n if (typeof instance.handleClickOutside === 'function') {\n instance.handleClickOutside(event);\n return;\n }\n\n throw new Error(\"WrappedComponent: \" + componentName + \" lacks a handleClickOutside(event) function for processing outside click events.\");\n };\n\n _this.__getComponentNode = function () {\n var instance = _this.getInstance();\n\n if (config && typeof config.setClickOutsideRef === 'function') {\n return config.setClickOutsideRef()(instance);\n }\n\n if (typeof instance.setClickOutsideRef === 'function') {\n return instance.setClickOutsideRef();\n }\n\n return findDOMNode(instance);\n };\n\n _this.enableOnClickOutside = function () {\n if (typeof document === 'undefined' || enabledInstances[_this._uid]) {\n return;\n }\n\n if (typeof passiveEventSupport === 'undefined') {\n passiveEventSupport = testPassiveEventSupport();\n }\n\n enabledInstances[_this._uid] = true;\n var events = _this.props.eventTypes;\n\n if (!events.forEach) {\n events = [events];\n }\n\n handlersMap[_this._uid] = function (event) {\n if (_this.componentNode === null) return;\n\n if (_this.props.preventDefault) {\n event.preventDefault();\n }\n\n if (_this.props.stopPropagation) {\n event.stopPropagation();\n }\n\n if (_this.props.excludeScrollbar && clickedScrollbar(event)) return;\n var current = event.target;\n\n if (findHighest(current, _this.componentNode, _this.props.outsideClickIgnoreClass) !== document) {\n return;\n }\n\n _this.__outsideClickHandler(event);\n };\n\n events.forEach(function (eventName) {\n document.addEventListener(eventName, handlersMap[_this._uid], getEventHandlerOptions(_this, eventName));\n });\n };\n\n _this.disableOnClickOutside = function () {\n delete enabledInstances[_this._uid];\n var fn = handlersMap[_this._uid];\n\n if (fn && typeof document !== 'undefined') {\n var events = _this.props.eventTypes;\n\n if (!events.forEach) {\n events = [events];\n }\n\n events.forEach(function (eventName) {\n return document.removeEventListener(eventName, fn, getEventHandlerOptions(_this, eventName));\n });\n delete handlersMap[_this._uid];\n }\n };\n\n _this.getRef = function (ref) {\n return _this.instanceRef = ref;\n };\n\n _this._uid = uid();\n return _this;\n }\n /**\n * Access the WrappedComponent's instance.\n */\n\n\n var _proto = onClickOutside.prototype;\n\n _proto.getInstance = function getInstance() {\n if (!WrappedComponent.prototype.isReactComponent) {\n return this;\n }\n\n var ref = this.instanceRef;\n return ref.getInstance ? ref.getInstance() : ref;\n };\n\n /**\n * Add click listeners to the current document,\n * linked to this component's state.\n */\n _proto.componentDidMount = function componentDidMount() {\n // If we are in an environment without a DOM such\n // as shallow rendering or snapshots then we exit\n // early to prevent any unhandled errors being thrown.\n if (typeof document === 'undefined' || !document.createElement) {\n return;\n }\n\n var instance = this.getInstance();\n\n if (config && typeof config.handleClickOutside === 'function') {\n this.__clickOutsideHandlerProp = config.handleClickOutside(instance);\n\n if (typeof this.__clickOutsideHandlerProp !== 'function') {\n throw new Error(\"WrappedComponent: \" + componentName + \" lacks a function for processing outside click events specified by the handleClickOutside config option.\");\n }\n }\n\n this.componentNode = this.__getComponentNode(); // return early so we dont initiate onClickOutside\n\n if (this.props.disableOnClickOutside) return;\n this.enableOnClickOutside();\n };\n\n _proto.componentDidUpdate = function componentDidUpdate() {\n this.componentNode = this.__getComponentNode();\n };\n /**\n * Remove all document's event listeners for this component\n */\n\n\n _proto.componentWillUnmount = function componentWillUnmount() {\n this.disableOnClickOutside();\n };\n /**\n * Can be called to explicitly enable event listening\n * for clicks and touches outside of this element.\n */\n\n\n /**\n * Pass-through render\n */\n _proto.render = function render() {\n // eslint-disable-next-line no-unused-vars\n var _props = this.props,\n excludeScrollbar = _props.excludeScrollbar,\n props = _objectWithoutProperties(_props, [\"excludeScrollbar\"]);\n\n if (WrappedComponent.prototype.isReactComponent) {\n props.ref = this.getRef;\n } else {\n props.wrappedRef = this.getRef;\n }\n\n props.disableOnClickOutside = this.disableOnClickOutside;\n props.enableOnClickOutside = this.enableOnClickOutside;\n return createElement(WrappedComponent, props);\n };\n\n return onClickOutside;\n }(Component), _class.displayName = \"OnClickOutside(\" + componentName + \")\", _class.defaultProps = {\n eventTypes: ['mousedown', 'touchstart'],\n excludeScrollbar: config && config.excludeScrollbar || false,\n outsideClickIgnoreClass: IGNORE_CLASS_NAME,\n preventDefault: false,\n stopPropagation: false\n }, _class.getClass = function () {\n return WrappedComponent.getClass ? WrappedComponent.getClass() : WrappedComponent;\n }, _temp;\n}\n\nexport { IGNORE_CLASS_NAME };\nexport default onClickOutsideHOC;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// # List Item Label Component\n\n// ## Dependencies\n\n// ### React\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\n// ## Constants\nimport { LIST_ITEM_LABEL } from '../../../utilities/constants';\n\n/**\n * Component description.\n */\nconst ListItemLabel = (props) => (\n\t\n\t\t{props.icon}\n\t\t{props.label}\n\t\n);\n\nListItemLabel.displayName = LIST_ITEM_LABEL;\n\nListItemLabel.propTypes = {\n\tdata: PropTypes.object,\n\ticon: PropTypes.node,\n\tindex: PropTypes.number,\n\tinverted: PropTypes.bool,\n\tisSelected: PropTypes.bool,\n\tlabel: PropTypes.string,\n\tvalue: PropTypes.any,\n};\n\nListItemLabel.defaultProps = {\n\tdata: {},\n\tindex: 0,\n\tinverted: false,\n\tisSelected: false,\n\tlabel: '',\n\tvalue: null,\n};\n\nexport default ListItemLabel;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n/* eslint-disable jsx-a11y/no-noninteractive-element-interactions */\n\n// # List Item Component\n\n// ## Dependencies\n\n// ### React\nimport React from 'react';\n\nimport PropTypes from 'prop-types';\n\n// ### classNames\nimport classNames from 'classnames';\n\n// ### Icon\nimport Icon from '../../icon';\n\n// ## Children\nimport ListItemLabelRenderer from './item-label';\n\n// ### Event Helpers\nimport EventUtil from '../../../utilities/event';\n\n// ## Constants\nimport { LIST_ITEM } from '../../../utilities/constants';\n\n/**\n * Component description.\n */\nclass ListItem extends React.Component {\n\tstatic displayName = LIST_ITEM;\n\n\tstatic propTypes = {\n\t\t'aria-disabled': PropTypes.bool,\n\t\tclassName: PropTypes.oneOfType([\n\t\t\tPropTypes.array,\n\t\t\tPropTypes.object,\n\t\t\tPropTypes.string,\n\t\t]),\n\t\tcheckmark: PropTypes.bool,\n\t\tdata: PropTypes.object,\n\t\tdivider: PropTypes.oneOf(['top', 'bottom']),\n\t\thref: PropTypes.string,\n\t\tid: PropTypes.string.isRequired,\n\t\tindex: PropTypes.number.isRequired,\n\t\tinverted: PropTypes.bool,\n\t\tisSelected: PropTypes.bool,\n\t\tlabel: PropTypes.string,\n\t\tlabelRenderer: PropTypes.func,\n\t\tleftIcon: PropTypes.shape({\n\t\t\tcategory: PropTypes.string,\n\t\t\tname: PropTypes.string,\n\t\t}),\n\t\tonSelect: PropTypes.func.isRequired,\n\t\trightIcon: PropTypes.shape({\n\t\t\tcategory: PropTypes.string,\n\t\t\tname: PropTypes.string,\n\t\t}),\n\t\ttooltipContent: PropTypes.oneOfType([PropTypes.node, PropTypes.string]),\n\t\ttooltipTemplate: PropTypes.node,\n\t\ttype: PropTypes.string,\n\t\tvalue: PropTypes.any,\n\t};\n\n\tstatic defaultProps = {\n\t\tdata: {},\n\t\thref: 'javascript:void(0);', // eslint-disable-line no-script-url\n\t\tinverted: false,\n\t\tisSelected: false,\n\t\tlabel: '',\n\t\tlabelRenderer: ListItemLabelRenderer,\n\t\tvalue: null,\n\t};\n\n\tgetLabel = () => {\n\t\tconst Label = this.props.labelRenderer;\n\t\treturn (\n\t\t\t\n\t\t);\n\t};\n\n\tgetIcon = (position) => {\n\t\tconst classnames = ['slds-icon-text-default'];\n\t\tlet iconProps = this.props[`${position}Icon`];\n\n\t\tif (position === 'left') {\n\t\t\tif (this.props.checkmark) {\n\t\t\t\t// eslint-disable-next-line fp/no-mutating-methods\n\t\t\t\tclassnames.push('slds-icon_selected');\n\t\t\t\ticonProps = {\n\t\t\t\t\tcategory: 'utility',\n\t\t\t\t\tname: 'check',\n\t\t\t\t};\n\t\t\t}\n\n\t\t\t// eslint-disable-next-line fp/no-mutating-methods\n\t\t\tclassnames.push('slds-m-right_x-small');\n\t\t} else {\n\t\t\t// eslint-disable-next-line fp/no-mutating-methods\n\t\t\tclassnames.push('slds-m-left_small');\n\t\t}\n\n\t\tif (iconProps) {\n\t\t\treturn (\n\t\t\t\t\n\t\t\t);\n\t\t}\n\n\t\treturn null;\n\t};\n\n\thandleClick = (event) => {\n\t\tif (\n\t\t\tthis.props.type !== 'link' ||\n\t\t\tthis.props.href === 'javascript:void(0);' // eslint-disable-line no-script-url\n\t\t) {\n\t\t\t// eslint-disable-line no-script-url\n\t\t\tEventUtil.trapImmediate(event);\n\t\t}\n\n\t\tif (this.props.onSelect) {\n\t\t\tthis.props.onSelect(this.props.index);\n\t\t}\n\t};\n\n\thandleMouseDown = (event) => {\n\t\tEventUtil.trapImmediate(event);\n\t};\n\n\trender() {\n\t\tswitch (this.props.type) {\n\t\t\tcase 'header': {\n\t\t\t\treturn (\n\t\t\t\t\t\n\t\t\t\t\t\t{this.props.label}\n\t\t\t\t\t\n\t\t\t\t);\n\t\t\t}\n\t\t\tcase 'divider': {\n\t\t\t\treturn (\n\t\t\t\t\t\n\t\t\t\t);\n\t\t\t}\n\t\t\tcase 'link':\n\t\t\tcase 'item':\n\t\t\tdefault: {\n\t\t\t\t/* eslint-disable jsx-a11y/role-supports-aria-props */\n\t\t\t\tlet itemContents = (\n\t\t\t\t\t\n\t\t\t\t\t\t{this.getLabel()}\n\t\t\t\t\t\t{this.getIcon('right')}\n\t\t\t\t\t\n\t\t\t\t);\n\n\t\t\t\tif (this.props.tooltipContent && this.props.tooltipTemplate) {\n\t\t\t\t\tconst { ...tooltipTemplateProps } = this.props.tooltipTemplate.props;\n\t\t\t\t\tconst tooltipProps = {\n\t\t\t\t\t\t...tooltipTemplateProps,\n\t\t\t\t\t\tcontent: this.props.tooltipContent,\n\t\t\t\t\t\tid: `${this.props.id}-tooltip`,\n\t\t\t\t\t\ttriggerStyle: {\n\t\t\t\t\t\t\twidth: '100%',\n\t\t\t\t\t\t\t...(tooltipTemplateProps.triggerStyle || {}),\n\t\t\t\t\t\t},\n\t\t\t\t\t};\n\t\t\t\t\titemContents = React.cloneElement(\n\t\t\t\t\t\tthis.props.tooltipTemplate,\n\t\t\t\t\t\ttooltipProps,\n\t\t\t\t\t\titemContents\n\t\t\t\t\t);\n\t\t\t\t}\n\n\t\t\t\treturn (\n\t\t\t\t\t/* eslint-disable jsx-a11y/role-supports-aria-props */\n\t\t\t\t\t// disabled eslint, but using aria-selected on presentation role seems suspicious...\n\t\t\t\t\t\n\t\t\t\t\t\t{itemContents}\n\t\t\t\t\t\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\t}\n}\n\nexport default ListItem;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// # List Component\n\n// ## Dependencies\n\n// ### React\nimport React from 'react';\n\nimport PropTypes from 'prop-types';\n\n// ### classNames\nimport classNames from 'classnames';\n\n// ## Children\nimport ListItem from './item';\n\n// ## Constants\nimport { LIST } from '../../../utilities/constants';\n\n/**\n * Component description.\n */\nclass List extends React.Component {\n\tstatic displayName = LIST;\n\n\tstatic propTypes = {\n\t\t/**\n\t\t * Determines whether or not to show a checkmark for selected items.\n\t\t */\n\t\tcheckmark: PropTypes.bool,\n\t\t/**\n\t\t * CSS classes to be added to `
      `.\n\t\t */\n\t\tclassName: PropTypes.string,\n\t\t/**\n\t\t * Used internally to determine the id that will be used for list items.\n\t\t */\n\t\tgetListItemId: PropTypes.func,\n\t\t/**\n\t\t * Used internally to pass references to the individual menu items back up for focusing / scrolling.\n\t\t */\n\t\titemRefs: PropTypes.func,\n\t\t/**\n\t\t * If provided, this function will be used to render the contents of each menu item.\n\t\t */\n\t\titemRenderer: PropTypes.func,\n\t\t/**\n\t\t * Sets the height of the list based on the numeber of items.\n\t\t */\n\t\tlength: PropTypes.oneOf([null, '5', '7', '10', 5, 7, 10]),\n\t\t/**\n\t\t * Triggered when a list item is selected (via mouse or keyboard).\n\t\t */\n\t\tonSelect: PropTypes.func,\n\t\t/**\n\t\t * An array of items to render in the list.\n\t\t */\n\t\toptions: PropTypes.array,\n\t\t/**\n\t\t * The index of the currently selected item in the list.\n\t\t */\n\t\tselectedIndex: PropTypes.number,\n\t\t/**\n\t\t * Accepts a `Tooltip` component to be used as the template for menu item tooltips that appear via the `tooltipContent` options object attribute\n\t\t */\n\t\ttooltipMenuItem: PropTypes.node,\n\t\t/**\n\t\t * The id of the element which triggered this list (in a menu context).\n\t\t */\n\t\ttriggerId: PropTypes.string,\n\t};\n\n\tstatic defaultProps = {\n\t\tlength: '5',\n\t\toptions: [],\n\t\tselectedIndex: -1,\n\t};\n\n\trender() {\n\t\tlet lengthClassName;\n\t\tlet list;\n\n\t\tif (this.props.length) {\n\t\t\tlengthClassName = `slds-dropdown_length-${this.props.length}`;\n\t\t}\n\n\t\tlist = (\n\t\t\t\n\t\t\t\t{this.props.options.map((option, index) => {\n\t\t\t\t\tconst id = this.props.getListItemId(index);\n\t\t\t\t\tconst isSingleSelected = index === this.props.selectedIndex;\n\t\t\t\t\tconst isMultipleSelected =\n\t\t\t\t\t\t!!this.props.selectedIndices &&\n\t\t\t\t\t\tthis.props.selectedIndices.indexOf(index) !== -1;\n\t\t\t\t\treturn (\n\t\t\t\t\t\t this.props.itemRefs(listItem, index)}\n\t\t\t\t\t\t\ttooltipTemplate={this.props.tooltipMenuItem}\n\t\t\t\t\t\t/>\n\t\t\t\t\t);\n\t\t\t\t})}\n\t\t\t
    \n\t\t);\n\n\t\tif (this.props.tooltipMenuItem) {\n\t\t\t/* eslint-disable react/no-danger */\n\t\t\tlist = (\n\t\t\t\t\n\t\t\t\t\t .slds-tooltip-trigger > a {\n\tposition: relative;\n\tdisplay: -ms-flexbox;\n\tdisplay: flex;\n\t-ms-flex-pack: justify;\n\tjustify-content: space-between;\n\t-ms-flex-align: center;\n\talign-items: center;\n\tpadding: 0.5rem 0.75rem;\n\tcolor: #080707;\n\twhite-space: nowrap;\n\tcursor: pointer;\n}\n\n.slds-dropdown__item > .slds-tooltip-trigger > a:active {\n text-decoration: none;\n background-color: #ecebea;\n}\n\n.slds-dropdown__item > .slds-tooltip-trigger > a:hover,\n.slds-dropdown__item > .slds-tooltip-trigger > a:focus {\n outline: 0;\n text-decoration: none;\n background-color: #f3f2f2;\n}\n`,\n\t\t\t\t\t\t}}\n\t\t\t\t\t/>\n\t\t\t\t\t{list}\n\t\t\t\t\n\t\t\t);\n\t\t\t/* eslint-enable react/no-danger */\n\t\t}\n\n\t\treturn list;\n\t}\n}\n\nexport default List;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// # Dropdown Trigger Component (Simple Button Flavor) --- SLDS for React\n\n// ### React\n// React is an external dependency of the project.\nimport React from 'react';\n\nimport PropTypes from 'prop-types';\n\n// ### classNames\n// [github.com/JedWatson/classnames](https://github.com/JedWatson/classnames)\n// This project uses `classnames`, \"a simple javascript utility for conditionally\n// joining classNames together.\"\nimport classnames from 'classnames';\n\nimport Button from '../button';\n\n// ### Children\nimport { MENU_DROPDOWN_TRIGGER } from '../../utilities/constants';\n\n/**\n * The Dropdown Button Trigger renders the default trigger button for the dropdown menu. If this component has children, it does not render itself to the DOM. Instead, it renders its child element, `Button`, and all that child's properties. This component may be used as a template to create custom triggers that do not use `Button`.\n */\nclass Trigger extends React.Component {\n\t// ### Display Name\n\t// Always use the canonical component name (set in the core) as the React\n\t// display name.\n\tstatic displayName = MENU_DROPDOWN_TRIGGER;\n\n\t// ### Prop Types\n\tstatic propTypes = {\n\t\t/**\n\t\t * Import the module `design-system-react/dropdown/button-trigger` and render a grandchild of the element type `Button`. Any `props` specified on that `Button` will be assigned to the triggering button. Any `id` prop or event hanlders (`onBlur`, `onClick`, etc.) set on the button grandchild will be overwritten by `MenuDropdown` to allow functionality and accessibility.\n\t\t * ```\n\t\t * \n\t\t * \n\t\t * \n\t\t\t\t\n\t\t\t\n\t\t\n\t);\n};\n\nBuilderHeaderNavDropdown.displayName = BUILDER_HEADER_NAV_DROPDOWN;\nBuilderHeaderNavDropdown.propTypes = propTypes;\nexport default BuilderHeaderNavDropdown;\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport Icon from '../icon';\n\nimport { BUILDER_HEADER_NAV_LINK } from '../../utilities/constants';\n\nconst propTypes = {\n\t/**\n\t * **Assistive text for accessibility**\n\t * This object is merged with the default props object on every render.\n\t * * `icon`: Used for the icon next to the link text.\n\t * * _Tested with snapshot testing._\n\t */\n\tassistiveText: PropTypes.shape({\n\t\ticon: PropTypes.string,\n\t}),\n\t/**\n\t * Name of the icon category. Visit Lightning Design System Icons to reference icon categories.\n\t */\n\ticonCategory: PropTypes.oneOf([\n\t\t'action',\n\t\t'custom',\n\t\t'doctype',\n\t\t'standard',\n\t\t'utility',\n\t]),\n\t/**\n\t * Name of the icon. Visit Lightning Design System Icons to reference icon names.\n\t */\n\ticonName: PropTypes.string,\n\t/**\n\t * Path to the icon. This will override any global icon settings.\n\t */\n\ticonPath: PropTypes.string,\n\t/**\n\t * Text for the link.\n\t */\n\tlabel: PropTypes.string,\n\t/**\n\t * Triggered when the link is clicked.\n\t */\n\tonClick: PropTypes.func,\n};\n\nconst defaultProps = {\n\tassistiveText: {},\n\ticonCategory: '',\n\ticonName: '',\n\tlabel: '',\n};\n\n/**\n * A link within the navigation section of the header.\n */\nconst BuilderHeaderNavLink = (props) => {\n\tconst assistiveText = {\n\t\t...defaultProps.assistiveText,\n\t\t...props.assistiveText,\n\t};\n\treturn (\n\t\t
  • \n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t{props.label}\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t
  • \n\t);\n};\n\nBuilderHeaderNavLink.displayName = BUILDER_HEADER_NAV_LINK;\nBuilderHeaderNavLink.propTypes = propTypes;\nexport default BuilderHeaderNavLink;\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport {\n\tBUILDER_HEADER_TOOLBAR,\n\tBUTTON_GROUP,\n} from '../../utilities/constants';\n\nconst propTypes = {\n\t/**\n\t * **Assistive text for accessibility**\n\t * This object is merged with the default props object on every render.\n\t * * `actions`: Used for the aria-label for the actions section of the toolbar.\n\t * * _Tested with snapshot testing._\n\t */\n\tassistiveText: PropTypes.shape({\n\t\tactions: PropTypes.string,\n\t}),\n\t/**\n\t * Provide children of the type `` to define the structure of the toolbar section.\n\t * ```\n\t * \n\t * \n\t * \n\t * \n\t * \n\t * \n\t * ```\n\t */\n\tchildren: PropTypes.node,\n\t/**\n\t * Renders the actions section of the header.\n\t */\n\tonRenderActions: PropTypes.func,\n};\n\nconst defaultProps = {\n\tassistiveText: {\n\t\tactions: 'Actions',\n\t},\n};\n\n/**\n * The toolbar section of the header.\n */\nconst BuilderHeaderToolbar = (props) => {\n\tconst assistiveText = {\n\t\t...defaultProps.assistiveText,\n\t\t...props.assistiveText,\n\t};\n\treturn (\n\t\t
    \n\t\t\t{React.Children.map(props.children, (child) => {\n\t\t\t\tif (child.type.displayName === BUTTON_GROUP) {\n\t\t\t\t\treturn (\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t{child}\n\t\t\t\t\t\t
    \n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t\treturn null;\n\t\t\t})}\n\t\t\t\n\t\t\t\t{props.onRenderActions && props.onRenderActions()}\n\t\t\t\n\t\t\n\t);\n};\n\nBuilderHeaderToolbar.displayName = BUILDER_HEADER_TOOLBAR;\nBuilderHeaderToolbar.propTypes = propTypes;\nBuilderHeaderToolbar.defaultProps = defaultProps;\nexport default BuilderHeaderToolbar;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// Implements the [Button Group design pattern](https://lightningdesignsystem.com/components/button-groups/) in React.\n// Based on SLDS v2.1.1\n\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\n\nimport assign from 'lodash.assign';\n\n// ### shortid\n// [npmjs.com/package/shortid](https://www.npmjs.com/package/shortid)\n// shortid is a short, non-sequential, url-friendly, unique id generator\nimport shortid from 'shortid';\n\nimport { BUTTON_GROUP } from '../../utilities/constants';\n\nconst propTypes = {\n\t/**\n\t * Children are expected to be components. If last button triggers a dropdown menu, use Dropdown instead of Button. _Tested with snapshot testing._\n\t */\n\tchildren: PropTypes.node.isRequired,\n\t/**\n\t * CSS classes added to `slds-button-group` or `slds-checkbox_button-group` tag\n\t */\n\tclassName: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\t/**\n\t * If the `labels.label` prop is set, a `.slds-form-element` classed fieldset element is added as a container. This prop applies classes to that element\n\t */\n\tclassNameContainer: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\t/**\n\t * HTML id for component.\n\t */\n\tid: PropTypes.string,\n\t/**\n\t * **Text labels for internationalization**\n\t * This object is merged with the default props object on every render.\n\t * * `error`: Message to display when any of Checkboxes are in an error state. _Tested with snapshot testing._\n\t * * `label`: This label appears above the button group. _Tested with snapshot testing._\n\t */\n\tlabels: PropTypes.shape({\n\t\terror: PropTypes.string,\n\t\tlabel: PropTypes.string,\n\t}),\n\t/**\n\t * Use checkbox variant for \"Checkbox Button Group\" styling and add Checkbox components as children _Tested with snapshot testing._\n\t */\n\tvariant: PropTypes.oneOf(['checkbox', 'list']),\n};\n\nconst defaultProps = { labels: {} };\n\n/**\n * The ButtonGroup component wraps other components (ie. Button, MenuDropdown, PopoverTooltip, Checkboxes, etc).\n */\nclass ButtonGroup extends React.Component {\n\tconstructor(props) {\n\t\tsuper(props);\n\t\tthis.generatedId = shortid.generate();\n\t}\n\n\tgetId() {\n\t\treturn this.props.id || this.generatedId;\n\t}\n\n\trender() {\n\t\t// Merge objects of strings with their default object\n\t\tconst labels = assign({}, defaultProps.labels, this.props.labels);\n\n\t\tconst zeroIndexLength = React.Children.count(this.props.children) - 1;\n\t\tlet { children } = this.props;\n\t\tif (zeroIndexLength > 0) {\n\t\t\tchildren = React.Children.map(this.props.children, (child, index) => {\n\t\t\t\tlet newChild;\n\t\t\t\tif (index === zeroIndexLength) {\n\t\t\t\t\tnewChild = React.cloneElement(child, {\n\t\t\t\t\t\ttriggerClassName: 'slds-button_last',\n\t\t\t\t\t});\n\t\t\t\t}\n\n\t\t\t\treturn newChild || child;\n\t\t\t});\n\t\t}\n\n\t\tlet component;\n\n\t\tif (this.props.variant === 'checkbox') {\n\t\t\tchildren = React.Children.map(this.props.children, (child) => {\n\t\t\t\tconst cloneProps = {\n\t\t\t\t\tvariant: 'button-group',\n\t\t\t\t};\n\t\t\t\tif (labels.error) {\n\t\t\t\t\tcloneProps['aria-describedby'] = `button-group-error-${this.getId()}`;\n\t\t\t\t}\n\t\t\t\treturn React.cloneElement(child, cloneProps);\n\t\t\t});\n\n\t\t\tcomponent = (\n\t\t\t\t\n\t\t\t\t\t{children}\n\t\t\t\t\n\t\t\t);\n\t\t} else if (this.props.variant === 'list') {\n\t\t\tcomponent = (\n\t\t\t\t\n\t\t\t\t\t{React.Children.map(this.props.children, (child) => (\n\t\t\t\t\t\t
  • {child}
  • \n\t\t\t\t\t))}\n\t\t\t\t\n\t\t\t);\n\t\t} else {\n\t\t\tcomponent = (\n\t\t\t\t\n\t\t\t\t\t{children}\n\t\t\t\t\n\t\t\t);\n\t\t}\n\n\t\tif (this.props.variant === 'checkbox' || this.props.labels.label) {\n\t\t\tcomponent = (\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t{this.props.labels.label}\n\t\t\t\t\t\n\t\t\t\t\t
    \n\t\t\t\t\t\t{component}\n\t\t\t\t\t\t{labels.error ? (\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t{labels.error}\n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t) : null}\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t);\n\t\t}\n\n\t\treturn component;\n\t}\n}\n\nButtonGroup.displayName = BUTTON_GROUP;\nButtonGroup.propTypes = propTypes;\nButtonGroup.defaultProps = defaultProps;\n\nexport default ButtonGroup;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n/* eslint-disable import/no-mutable-exports */\n\nimport getComponentDocFn from '../../utilities/get-component-doc';\nimport sunsetProperty from '../../utilities/warning/sunset-property';\n\nlet checkProps = function checkPropsFunction() {};\n\nif (process.env.NODE_ENV !== 'production') {\n\tcheckProps = function checkPropsFunction(COMPONENT, props, jsonDoc) {\n\t\tconst createDocUrl = getComponentDocFn(jsonDoc);\n\n\t\tif (typeof props.assistiveText === 'string') {\n\t\t\tsunsetProperty(\n\t\t\t\tCOMPONENT,\n\t\t\t\tprops.assistiveText,\n\t\t\t\t'assistiveText',\n\t\t\t\t`\\`assistiveText\\` as a string has been deprecated and is now an object to allow for multiple uses in the component. Please use \\`assistiveText.icon\\` instead. ${createDocUrl(\n\t\t\t\t\t'assistiveText'\n\t\t\t\t)}`\n\t\t\t);\n\t\t}\n\t};\n}\n\nexport default checkProps;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// Implements the [Button Stateful design pattern](https://lightningdesignsystem.com/components/buttons/#flavor-stateful) in React.\n// Based on SLDS v2.1.1\n\n// ## Dependencies\n\n// ### React\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\n// ### classNames\nimport classNames from 'classnames';\n\n// ### isFunction\nimport isFunction from 'lodash.isfunction';\n\n// This component's `checkProps` which issues warnings to developers about properties when in development mode (similar to React's built in development tools)\nimport checkProps from './check-props';\nimport componentDoc from './component.json';\n\n// ## Children\nimport ButtonIcon from '../icon/button-icon';\n\nimport getAriaProps from '../../utilities/get-aria-props';\nimport { BUTTON_STATEFUL } from '../../utilities/constants';\n\nconst propTypes = {\n\t/**\n\t * Specifies the current state of the button. If set, the button will act as a ['controlled' component](https://facebook.github.io/react/docs/forms.html#controlled-components).\n\t */\n\tactive: PropTypes.bool,\n\t/**\n\t * **Assistive text for accessibility.**\n\t * This object is merged with the default props object on every render.\n\t * * `icon`: Text that is visually hidden but read aloud by screenreaders to tell the user what the icon means. This should also include the state of the button. If the button has an icon and a visible label, you can omit the icon prop and use the label prop.\n\t */\n\tassistiveText: PropTypes.shape({\n\t\ticon: PropTypes.string,\n\t}),\n\t/**\n\t * Disables the button and adds disabled styling.\n\t */\n\tdisabled: PropTypes.bool,\n\t/**\n\t * Icon associated with the stateful button. Accepts an `Icon` component\n\t */\n\ticon: PropTypes.node,\n\t/**\n\t * Triggered when focus is removed.\n\t */\n\tonBlur: PropTypes.func,\n\t/**\n\t * Triggered when the button is clicked.\n\t */\n\tonClick: PropTypes.func,\n\t/**\n\t * Triggered when component is focused.\n\t */\n\tonFocus: PropTypes.func,\n\t/**\n\t * Triggered when a key is pressed down\n\t */\n\tonKeyDown: PropTypes.func,\n\t/**\n\t * Triggered when a key is pressed and released\n\t */\n\tonKeyPress: PropTypes.func,\n\t/**\n\t * Triggered when a key is released\n\t */\n\tonKeyUp: PropTypes.func,\n\t/**\n\t * Triggered when a mouse button is pressed down\n\t */\n\tonMouseDown: PropTypes.func,\n\t/**\n\t * Triggered when a mouse arrow hovers\n\t */\n\tonMouseEnter: PropTypes.func,\n\t/**\n\t * If true, button scales to 100% width on small form factors.\n\t */\n\tresponsive: PropTypes.bool,\n\t/**\n\t * Initial label and icon (optional) of button.\n\t */\n\tstateOne: PropTypes.object,\n\t/**\n\t * Selected label and icon (optional) of button.\n\t */\n\tstateTwo: PropTypes.object,\n\t/**\n\t * Deselect label and icon (optional) of button.\n\t */\n\tstateThree: PropTypes.object,\n\t/**\n\t * Write \"-1\" if you don't want the user to tab to the button.\n\t */\n\ttabIndex: PropTypes.string,\n\t/**\n\t * Different types of buttons\n\t */\n\tvariant: PropTypes.oneOf([\n\t\t'base',\n\t\t'neutral',\n\t\t'brand',\n\t\t'destructive',\n\t\t'icon',\n\t\t'icon-filled',\n\t]),\n};\n\n// i18n\nconst defaultProps = {\n\tassistiveText: { icon: '' },\n\tdisabled: false,\n\ticonSize: 'medium',\n\tresponsive: false,\n\tstateOne: { iconName: 'add', label: 'Follow' },\n\tstateTwo: { iconName: 'check', label: 'Following' },\n\tstateThree: { iconName: 'close', label: 'Unfollow' },\n};\n\n/**\n * The ButtonStateful component is a variant of the Lightning Design System Button component. It is used for buttons that have a state of unselected or selected.\n * For icon buttons, use variant='icon'. For buttons with labels or buttons with labels and icons, pass data to the state props (ie. stateOne={{iconName: 'add', label: 'Join'}}).\n * Although not listed in the prop table, all `aria-*` props will be added to the button element if passed in.\n * If no `aria-*` props are passed in, aria-live='polite' is used for `icon` and `icon-filled` variants,\n * and aria-live='assertive' is used for the remaining variants.\n */\nclass ButtonStateful extends React.Component {\n\tconstructor(props) {\n\t\tsuper(props);\n\t\tthis.state = { active: false };\n\n\t\tcheckProps(BUTTON_STATEFUL, props, componentDoc);\n\t}\n\n\tgetClassName(active) {\n\t\treturn classNames(this.props.className, 'slds-button', {\n\t\t\t'slds-button_neutral':\n\t\t\t\tthis.props.variant !== 'icon' && this.props.variant !== 'icon-filled',\n\t\t\t'slds-button_inverse': this.props.variant === 'inverse',\n\t\t\t'slds-not-selected': !active,\n\t\t\t'slds-is-selected': active,\n\t\t\t'slds-max-small-button_stretch': this.props.responsive,\n\t\t\t'slds-button_icon-border': this.props.variant === 'icon',\n\t\t\t'slds-button_icon-border-filled': this.props.variant === 'icon-filled',\n\t\t});\n\t}\n\n\thandleBlur = (e) => {\n\t\tif (this.props.onBlur) this.props.onBlur(e);\n\t\te.currentTarget.blur();\n\t};\n\n\thandleClick = (e) => {\n\t\tif (isFunction(this.props.onClick)) this.props.onClick(e);\n\t\tif (typeof this.props.active !== 'boolean') {\n\t\t\tthis.setState((prevState) => ({ active: !prevState.active }));\n\t\t}\n\t};\n\n\trender() {\n\t\tconst {\n\t\t\tactive,\n\t\t\tdisabled,\n\t\t\ticon,\n\t\t\ticonName,\n\t\t\ticonSize,\n\t\t\tid,\n\t\t\tonFocus,\n\t\t\tonKeyDown,\n\t\t\tonKeyPress,\n\t\t\tonKeyUp,\n\t\t\tonMouseDown,\n\t\t\tonMouseEnter,\n\t\t\t// onMouseLeave, // This prop isn't used anywhere! But removing it would be a breaking change\n\t\t\tstateOne,\n\t\t\tstateTwo,\n\t\t\tstateThree,\n\t\t\ttabIndex,\n\t\t\tvariant,\n\t\t} = this.props;\n\n\t\tconst defaultIconProps = {\n\t\t\tdisabled,\n\t\t\tsize: 'small',\n\t\t\tclassName: 'slds-button__icon_stateful',\n\t\t};\n\t\tconst iconAssistiveText =\n\t\t\ttypeof this.props.assistiveText === 'string'\n\t\t\t\t? this.props.assistiveText\n\t\t\t\t: {\n\t\t\t\t\t\t...defaultProps.assistiveText,\n\t\t\t\t\t\t...this.props.assistiveText,\n\t\t\t\t }.icon;\n\n\t\tconst isActive = typeof active === 'boolean' ? active : this.state.active;\n\n\t\t// Accept aria-* props\n\t\tlet ariaProps = getAriaProps(this.props);\n\n\t\tif (variant === 'icon' || variant === 'icon-filled') {\n\t\t\t// Default aria attribute for stateful button with icon, if none is specified\n\t\t\tif (Object.keys(ariaProps).length === 0) {\n\t\t\t\tariaProps = { 'aria-live': 'polite' };\n\t\t\t}\n\n\t\t\treturn (\n\t\t\t\t\n\t\t\t\t\t{icon ? (\n\t\t\t\t\t\tReact.cloneElement(icon, {\n\t\t\t\t\t\t\t...defaultIconProps,\n\t\t\t\t\t\t\t...icon.props,\n\t\t\t\t\t\t})\n\t\t\t\t\t) : (\n\t\t\t\t\t\t\n\t\t\t\t\t)}\n\t\t\t\t\t{iconAssistiveText ? (\n\t\t\t\t\t\t{iconAssistiveText}\n\t\t\t\t\t) : null}\n\t\t\t\t\n\t\t\t);\n\t\t}\n\n\t\tdefaultIconProps.position = 'left';\n\n\t\t// Default aria attribute for stateful button, if none is specified\n\t\tif (Object.keys(ariaProps).length === 0) {\n\t\t\tariaProps = { 'aria-live': 'assertive' };\n\t\t}\n\n\t\treturn (\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t{stateOne.icon ? (\n\t\t\t\t\t\tReact.cloneElement(stateOne.icon, {\n\t\t\t\t\t\t\t...defaultIconProps,\n\t\t\t\t\t\t\t...stateOne.icon.props,\n\t\t\t\t\t\t\tsize: 'small',\n\t\t\t\t\t\t})\n\t\t\t\t\t) : (\n\t\t\t\t\t\t\n\t\t\t\t\t)}\n\t\t\t\t\t{stateOne.label}\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t{stateTwo.icon ? (\n\t\t\t\t\t\tReact.cloneElement(stateTwo.icon, {\n\t\t\t\t\t\t\t...defaultIconProps,\n\t\t\t\t\t\t\t...stateTwo.icon.props,\n\t\t\t\t\t\t\tsize: 'small',\n\t\t\t\t\t\t})\n\t\t\t\t\t) : (\n\t\t\t\t\t\t\n\t\t\t\t\t)}\n\t\t\t\t\t{stateTwo.label}\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t{stateThree.icon ? (\n\t\t\t\t\t\tReact.cloneElement(stateThree.icon, {\n\t\t\t\t\t\t\t...defaultIconProps,\n\t\t\t\t\t\t\t...stateThree.icon.props,\n\t\t\t\t\t\t\tsize: 'small',\n\t\t\t\t\t\t})\n\t\t\t\t\t) : (\n\t\t\t\t\t\t\n\t\t\t\t\t)}\n\t\t\t\t\t{stateThree.label}\n\t\t\t\t\n\t\t\t\n\t\t);\n\t}\n}\n\nButtonStateful.displayName = BUTTON_STATEFUL;\nButtonStateful.propTypes = propTypes;\nButtonStateful.defaultProps = defaultProps;\n\nexport default ButtonStateful;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// ### React\nimport React from 'react';\n\nimport PropTypes from 'prop-types';\n\n// ### classNames\n// [github.com/JedWatson/classnames](https://github.com/JedWatson/classnames)\n// This project uses `classnames`, \"a simple javascript utility for conditionally\n// joining classNames together.\"\nimport classnames from 'classnames';\n\nimport { MEDIA_OBJECT } from '../../utilities/constants';\n\n// Allow for predicatable DOM queries with `querySelectorAll(cssClasses.base)`\nexport const cssClasses = {\n\tbase: 'slds-media',\n\tfigure: 'slds-media__figure',\n\tbody: 'slds-media__body',\n};\n\n/**\n * When you need text and a figure next to each other, use a media object.\n */\nclass MediaObject extends React.Component {\n\t// ### Display Name\n\t// Always use the canonical component name as the React display name.\n\tstatic displayName = MEDIA_OBJECT;\n\n\t// ### Prop Types\n\tstatic propTypes = {\n\t\t/**\n\t\t * Often the body may need to be truncated for correct layout. This is only applicable if using the component within a flexbox container.\n\t\t */\n\t\tcanTruncate: PropTypes.bool,\n\t\t/**\n\t\t * Class names to be added to the component's HTML tag with `slds-media` class.\n\t\t */\n\t\tclassName: PropTypes.oneOfType([\n\t\t\tPropTypes.array,\n\t\t\tPropTypes.object,\n\t\t\tPropTypes.string,\n\t\t]),\n\t\t/**\n\t\t * The body is often text such as a heading or paragraph.\n\t\t */\n\t\tbody: PropTypes.node,\n\t\t/**\n\t\t * The figure is the optional visualization of the text within the body.\n\t\t */\n\t\tfigure: PropTypes.node,\n\t\t/**\n\t\t * Vertically centers the body with the middle of the figure.\n\t\t */\n\t\tverticalCenter: PropTypes.bool,\n\t};\n\n\trender() {\n\t\treturn (\n\t\t\t\n\t\t\t\t{this.props.figure ? (\n\t\t\t\t\t
    {this.props.figure}
    \n\t\t\t\t) : null}\n\t\t\t\t
    {this.props.body}
    \n\t\t\t\n\t\t);\n\t}\n}\n\nexport default MediaObject;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// ### React\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\n// ### classNames\n// [github.com/JedWatson/classnames](https://github.com/JedWatson/classnames)\n// This project uses `classnames`, \"a simple javascript utility for conditionally\n// joining classNames together.\"\nimport classnames from 'classnames';\n\n// ## Children\nimport MediaObject from '../../media-object';\n\nimport { CARD_HEADER } from '../../../utilities/constants';\n\n// Allow for predicatable DOM queries with `querySelectorAll(cssClasses.base)`\nconst idSuffixes = {\n\theaderActions: '__header-actions',\n\theading: '__heading',\n\tfilter: '__filter-input',\n};\n\nconst renderFilter = (filter, id) => {\n\t// allow id to be set by custom header component passed in\n\tconst clonedFilter = React.cloneElement(filter, {\n\t\tid: filter.props.id || id,\n\t});\n\n\treturn (\n\t\t
    \n\t\t\t{clonedFilter}\n\t\t
    \n\t);\n};\n\nrenderFilter.displayName = 'renderFilter';\n\n/**\n * Card Header is a private component and is not meant to be imported or used for Card's `header` prop. It just happens to have the same file name.\n */\nconst CardHeader = (props) => {\n\tlet title = null;\n\n\tif (typeof props.heading === 'string' || props.heading instanceof String) {\n\t\ttitle = props.heading;\n\t}\n\n\tconst heading = (\n\t\t\n\t\t\t{props.heading}\n\t\t\n\t);\n\n\tlet Header;\n\n\tif (props.header) {\n\t\tHeader = React.cloneElement(props.header, {\n\t\t\tfigure: props.icon,\n\t\t\tbody: heading,\n\t\t\tverticalCenter: true,\n\t\t\tcanTruncate: true,\n\t\t\t...props.header.props,\n\t\t});\n\t} else {\n\t\tHeader = (\n\t\t\t\n\t\t);\n\t}\n\n\tconst hasFilter = props.filter ? true : null;\n\n\treturn (\n\t\t
    \n\t\t\t{Header}\n\t\t\t{props.filter ? renderFilter(props.filter, props.filterId) : null}\n\t\t\t\n\t\t\t\t{props.headerActions}\n\t\t\t
    \n\t\t\n\t);\n};\n\n// ### Display Name\n// Always use the canonical component name as the React display name.\nCardHeader.displayName = CARD_HEADER;\n\n// ### Prop Types\nCardHeader.propTypes = {\n\t/**\n\t * Adds a filter input to the card header\n\t */\n\tfilter: PropTypes.node,\n\t/**\n\t * Set the HTML `id` of the card filter.\n\t */\n\tfilterId: PropTypes.string,\n\t/**\n\t * Allows a custom header (the media object with the icon in the first column). `icon`, `heading` and other props are passed in the media object from Card. Use `design-system-react/components/media-object` to create your own.\n\t */\n\theader: PropTypes.node,\n\t/**\n\t * Actions performed on selected items or that relate to the entire group of items such as \"Add Item.\"\"\n\t */\n\theaderActions: PropTypes.node,\n\t/**\n\t * Set the HTML `id` of the card header actions.\n\t */\n\theaderActionsId: PropTypes.string,\n\t/**\n\t * The heading is the name of the related item group.\n\t */\n\theading: PropTypes.oneOfType([PropTypes.element, PropTypes.string])\n\t\t.isRequired,\n\t/**\n\t * Set the HTML `id` of the card heading.\n\t */\n\theadingId: PropTypes.string,\n\t/**\n\t * Icon associated with grouped items\n\t */\n\ticon: PropTypes.node,\n};\n\nexport default CardHeader;\nexport { idSuffixes };\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// ### React\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\n// ### classNames\n// [github.com/JedWatson/classnames](https://github.com/JedWatson/classnames)\n// This project uses `classnames`, \"a simple javascript utility for conditionally joining classNames together.\"\nimport classNames from 'classnames';\n\nimport { CARD_BODY } from '../../../utilities/constants';\n\nconst CardBody = (props) => (\n\t
    \n\t\t{props.children}\n\t
    \n);\n\nCardBody.displayName = CARD_BODY;\n\nCardBody.propTypes = {\n\t/**\n\t * Elements to place in the body.\n\t */\n\tchildren: PropTypes.node,\n\t/**\n\t * CSS classes to be added to the card.\n\t */\n\tclassName: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\t/**\n\t * Set the HTML `id` of the body.\n\t */\n\tid: PropTypes.string,\n};\n\nexport default CardBody;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// ### React\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\nimport { CARD_FOOTER } from '../../../utilities/constants';\n\nconst CardFooter = (props) => (\n\t
    {props.children}
    \n);\n\nCardFooter.displayName = CARD_FOOTER;\n\nCardFooter.propTypes = {\n\t/**\n\t * Elements to place in the footer.\n\t */\n\tchildren: PropTypes.node,\n};\n\nexport default CardFooter;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// ### React\n// React is an external dependency of the project.\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\nimport { CARD_EMPTY } from '../../utilities/constants';\n\n/**\n * A default empty state for Cards.\n */\nconst CardEmpty = (props) => (\n\t
    \n\t\t
    \n\t\t\t

    \n\t\t\t\t{props.heading}\n\t\t\t

    \n\t\t\t{props.children}\n\t\t
    \n\t
    \n);\n\n// ### Display Name\n// Always use the canonical component name as the React display name.\nCardEmpty.displayName = CARD_EMPTY;\n\n// ### Prop Types\nCardEmpty.propTypes = {\n\t/**\n\t * Additional call to actions that will render under the heading. Often this is an \"Add Item\" button.\n\t */\n\tchildren: PropTypes.node,\n\t/**\n\t * Primary text for an Empty Card.\n\t */\n\theading: PropTypes.string,\n};\n\nCardEmpty.defaultProps = {\n\theading: 'No Related Items',\n};\n\nexport default CardEmpty;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// # Card Component\n\n// Implements the [Card design pattern](https://www.lightningdesignsystem.com/components/cards/) in React.\n// Based on SLDS v2.2.1\n\n// ### React\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\n// ### classNames\n// [github.com/JedWatson/classnames](https://github.com/JedWatson/classnames)\n// This project uses `classnames`, \"a simple javascript utility for conditionally\n// joining classNames together.\"\nimport classnames from 'classnames';\n\n// ## Children\nimport Header from './private/header';\nimport Body from './private/body';\nimport Footer from './private/footer';\nimport Empty from './empty';\n\nimport { CARD } from '../../utilities/constants';\n\nconst idSuffixes = {\n\tbody: '__body',\n\theaderActions: '__header-actions',\n\theading: '__heading',\n\tfilter: '__filter-input',\n};\n\n/**\n * Cards are used to apply a container around a related grouping of information. It has a header, a body, and an optional footer. It often contains a DataTable or Tile (coming soon). Actions associated with selected items or with all items are included within the header actions. Footer often contains pagination.\n */\nconst Card = (props) => {\n\tconst bodyId = props.id ? props.id + idSuffixes.body : null;\n\tconst filterId = props.id ? props.id + idSuffixes.filter : null;\n\tconst headingId = props.id ? props.id + idSuffixes.heading : null;\n\tconst headerActionsId = props.id ? props.id + idSuffixes.headerActions : null;\n\n\tlet { empty } = props;\n\tif (empty === true) {\n\t\t// Can be overridden by passing in a node to the empty prop\n\t\tempty = ;\n\t}\n\n\treturn (\n\t\t\n\t\t\t{!props.hasNoHeader && (\n\t\t\t\t\n\t\t\t)}\n\t\t\t{!empty ? (\n\t\t\t\t\n\t\t\t\t\t{props.children}\n\t\t\t\t\n\t\t\t) : (\n\t\t\t\t\n\t\t\t\t\t{empty}\n\t\t\t\t\n\t\t\t)}\n\t\t\t{props.footer ?
    {props.footer}
    : null}\n\t\t\n\t);\n};\n\n// ### Display Name\n// Always use the canonical component name as the React display name.\nCard.displayName = CARD;\n\nCard.defaultProps = {\n\theading: 'Related Items',\n};\n\n// ### Prop Types\nCard.propTypes = {\n\t/**\n\t * CSS classes to be added to the card body (wraps children).\n\t */\n\tbodyClassName: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\t/**\n\t * The main section of the card. It often contains a `DataTable` or `Tile`.\n\t */\n\tchildren: PropTypes.node,\n\t/**\n\t * CSS classes to be added to the card.\n\t */\n\tclassName: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\t/**\n\t * Replaces the body (that is the children) with the specified empty state, this will also remove header actions, the filter, and the icon. If the default empty state is wanted, set to `true`.\n\t */\n\tempty: PropTypes.oneOfType([PropTypes.bool, PropTypes.node]),\n\t/**\n\t * Adds a filter input to the card header.\n\t */\n\tfilter: PropTypes.node,\n\t/**\n\t * Footer often contains pagination.\n\t */\n\tfooter: PropTypes.node,\n\t/**\n\t * Allows card to have no header, and ignores header related props altogether.\n\t */\n\thasNoHeader: PropTypes.bool,\n\t/**\n\t * Allows a custom header (the media object with the icon in the first column). `icon`, `heading` and other props are passed into the media object from Card if present. Use `design-system-react/components/media-object` to create your own custom header.\n\t */\n\theader: PropTypes.node,\n\t/**\n\t * The heading is the name of the related item group and should only contain inline elements.\n\t */\n\theading: PropTypes.oneOfType([PropTypes.node, PropTypes.string]).isRequired,\n\t/**\n\t * Actions to perform on selected items or actions that are not specific to one item such as adding an item. If no group actions are needed, then the number of selected items is often present.\n\t */\n\theaderActions: PropTypes.node,\n\t/**\n\t * Icon associated with the items within the `body`.\n\t */\n\ticon: PropTypes.node,\n\t/**\n\t * Set the HTML `id` of the card. This also sets the `id` of the filter and the header actions.\n\t */\n\tid: PropTypes.string,\n\t/**\n\t * Custom styles to be added to the card.\n\t */\n\tstyle: PropTypes.object,\n};\n\nexport default Card;\nexport { idSuffixes };\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// ### React\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\n// ### classNames\n// [github.com/JedWatson/classnames](https://github.com/JedWatson/classnames)\n// A simple javascript utility for conditionally joining classNames together.\nimport classNames from 'classnames';\n\n// ### isFunction\nimport isFunction from 'lodash.isfunction';\n\n// ## Children\nimport UtilityIcon from '../../utilities/utility-icon';\nimport Button from '../../button';\n\n// ## Constants\nimport { ICON_INPUT } from '../../../utilities/constants';\n\n/**\n * A wrapper for icons that will be rendered inside of an Input\n *\n * If the `onClick` function prop is provided, the `design-system-react/components/button` component is used.\n * If not, the icon will be an instance of `design-system-react/components/utilities/utility-icon`.\n * Checkout out the appropriate component to see what props can be passed along via the `{...props}` rest operator\n */\nconst InputIcon = (props) => {\n\tconst {\n\t\tcategory,\n\t\ticonPosition,\n\t\tname,\n\t\tpath,\n\t\tonClick,\n\t\tvariant,\n\t\t...rest\n\t} = props;\n\n\t// need to pass click event up on SVG\n\n\tconst variants = {\n\t\tcombobox: (\n\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t),\n\t\tbase: (\n\t\t\t\n\t\t),\n\t};\n\n\treturn isFunction(onClick) ? (\n\t\t\n\t) : (\n\t\tvariants[variant]\n\t);\n};\n\nInputIcon.displayName = ICON_INPUT;\n\nInputIcon.propTypes = {\n\t/**\n\t * Icon category from [lightningdesignsystem.com/icons/](https://www.lightningdesignsystem.com/icons/)\n\t */\n\tcategory: PropTypes.string,\n\t/**\n\t * This is only needed if an input contains two icons, the Input component handles this prop for you.\n\t */\n\ticonPosition: PropTypes.oneOf(['left', 'right']),\n\t/**\n\t * Name of the icon. Visit Lightning Design System Icons to reference icon names.\n\t */\n\tname: PropTypes.string,\n\t/**\n\t * Path to the icon. This will override any global icon settings.\n\t */\n\tpath: PropTypes.string,\n\t/**\n\t * This event fires when the icon is clicked.\n\t */\n\tonClick: PropTypes.func,\n\t/**\n\t * Changes styles of the InputIcon.\n\t */\n\tvariant: PropTypes.oneOf(['base', 'combobox']),\n};\n\nInputIcon.defaultProps = {\n\tcategory: 'utility',\n\tvariant: 'base',\n};\n\nexport default InputIcon;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n/* eslint-disable import/no-mutable-exports */\n\nimport sunsetProperty from '../../utilities/warning/sunset-property';\nimport getComponentDocFn from '../../utilities/get-component-doc';\n\nlet checkProps = function checkPropsFunction() {};\n\nif (process.env.NODE_ENV !== 'production') {\n\tcheckProps = function checkPropsFunction(COMPONENT, props, jsonDoc) {\n\t\tconst createDocUrl = getComponentDocFn(jsonDoc);\n\n\t\tif (typeof props.assistiveText === 'string') {\n\t\t\tsunsetProperty(\n\t\t\t\tCOMPONENT,\n\t\t\t\tprops.assistiveText,\n\t\t\t\t'assistiveText',\n\t\t\t\t`\\`assistiveText\\` as a string has been deprecated and is now an object to allow for multiple uses in the component. Please use \\`assistiveText.label\\` instead. ${createDocUrl(\n\t\t\t\t\t'assistiveText'\n\t\t\t\t)}`\n\t\t\t);\n\t\t}\n\t};\n}\n\nexport default checkProps;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// # Spinner Component --- SLDS for React\n\n// Implements the [Spinner design pattern - 2.1.0-beta.3 (204)](https://latest-204.lightningdesignsystem.com/components/spinners) in React.\n\n// ### React\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\nimport classNames from 'classnames';\n\nimport checkProps from './check-props';\n\n// ## Constants\nimport { SPINNER } from '../../utilities/constants';\n\nimport componentDoc from './component.json';\n\n// ### Prop Types\nconst propTypes = {\n\t/**\n\t * **Assistive text for accessibility.**\n\t * This object is merged with the default props object on every render.\n\t * * `label`: Assistive text that is read out loud to screen readers.\n\t */\n\tassistiveText: PropTypes.shape({\n\t\tlabel: PropTypes.string,\n\t}),\n\t/**\n\t * Custom css classes applied to Spinner container\n\t */\n\tcontainerClassName: PropTypes.string,\n\t/**\n\t * Custom css properties applied to Spinner container\n\t */\n\tcontainerStyle: PropTypes.object,\n\t/**\n\t * Render the spinner inside of a container.\n\t */\n\thasContainer: PropTypes.bool,\n\t/**\n\t * Unique html id placed on div with role=\"status\".\n\t */\n\tid: PropTypes.string,\n\t/**\n\t * Adds delay of 300ms to the spinner\n\t */\n\tisDelayed: PropTypes.bool,\n\t/**\n\t * Add styling to support a spinner inside an input field.\n\t */\n\tisInput: PropTypes.bool,\n\t/**\n\t * Add styling to support an inline spinner inside of the document flow.\n\t */\n\tisInline: PropTypes.bool,\n\t/**\n\t * Determines the size of the spinner\n\t */\n\tsize: PropTypes.oneOf(['xx-small', 'x-small', 'small', 'medium', 'large']),\n\t/**\n\t * Determines the color of the spinner: `base` is gray, `brand` is blue, and `inverse` is white.\n\t */\n\tvariant: PropTypes.oneOf(['base', 'brand', 'inverse']),\n};\n\nconst defaultProps = {\n\tassistiveText: { label: 'Loading...' },\n\tisDelayed: false,\n\tisInline: false,\n\tisInput: false,\n\thasContainer: true,\n\tsize: 'medium',\n\tvariant: 'base',\n};\n\n/**\n * Spinners are CSS loading indicators that should be shown when retrieving data or performing slow computations. In some cases, the first time a parent component loads, a stencil is preferred to indicate network activity.\n */\nconst Spinner = (props) => {\n\tcheckProps(SPINNER, props, componentDoc);\n\tconst {\n\t\tcontainerClassName,\n\t\tcontainerStyle,\n\t\tid,\n\t\tisDelayed,\n\t\tisInline,\n\t\tisInput,\n\t\thasContainer,\n\t\tsize,\n\t\tvariant,\n\t} = props;\n\tconst assistiveText =\n\t\ttypeof props.assistiveText === 'string'\n\t\t\t? props.assistiveText\n\t\t\t: {\n\t\t\t\t\t...defaultProps.assistiveText,\n\t\t\t\t\t...props.assistiveText,\n\t\t\t }.label;\n\n\tconst spinnerClassName = classNames('slds-spinner', {\n\t\t'slds-spinner_inline': isInline,\n\t\t'slds-input__spinner': isInput,\n\t\t'slds-spinner_brand': variant === 'brand',\n\t\t'slds-spinner_inverse': variant === 'inverse',\n\t\t'slds-spinner_delayed': isDelayed,\n\t\t[`slds-spinner_${size}`]: size,\n\t});\n\n\tconst spinner = (\n\t\t
    \n\t\t\t{assistiveText && (\n\t\t\t\t{assistiveText}\n\t\t\t)}\n\t\t\t
    \n\t\t\t
    \n\t\t
    \n\t);\n\n\treturn hasContainer ? (\n\t\t\n\t\t\t{spinner}\n\t\t
    \n\t) : (\n\t\tspinner\n\t);\n};\n\nSpinner.displayName = SPINNER;\nSpinner.propTypes = propTypes;\nSpinner.defaultProps = defaultProps;\n\nexport default Spinner;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n/* eslint-disable jsx-a11y/aria-activedescendant-has-tabindex */\n\n// ### React\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\nimport classNames from 'classnames';\nimport Spinner from '../../../components/spinner';\n\nimport getAriaProps from '../../../utilities/get-aria-props';\n\nconst COUNTER = 'counter';\n\nconst propTypes = {\n\t'aria-activedescendant': PropTypes.string,\n\t'aria-autocomplete': PropTypes.string,\n\t/**\n\t * An HTML ID that is shared with ARIA-supported devices with the\n\t * `aria-controls` attribute in order to relate the input with\n\t * another region of the page. An example would be a select box\n\t * that shows or hides a panel.\n\t */\n\t'aria-controls': PropTypes.string,\n\t'aria-describedby': PropTypes.string,\n\t'aria-expanded': PropTypes.bool,\n\t'aria-haspopup': PropTypes.oneOfType([PropTypes.bool, PropTypes.string]),\n\t'aria-labelledby': PropTypes.string,\n\t/**\n\t * An HTML ID that is shared with ARIA-supported devices with the\n\t * `aria-controls` attribute in order to relate the input with\n\t * another region of the page. An example would be a search field\n\t * that shows search results.\n\t */\n\t'aria-owns': PropTypes.string,\n\t'aria-required': PropTypes.bool,\n\t/**\n\t * **Assistive text for accessibility.**\n\t * This object is merged with the default props object on every render.\n\t * * `spinner`: Assistive text on the spinner.\n\t */\n\tassistiveText: PropTypes.shape({\n\t\tspinner: PropTypes.string,\n\t}),\n\t/**\n\t * Disabled brower's autocomplete when \"off\" is used.\n\t */\n\tautoComplete: PropTypes.string,\n\t/**\n\t * Class names to be added to the `input` element.\n\t */\n\tclassName: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\t/**\n\t * Class names to be added to the outer container `div` of the input.\n\t */\n\tcontainerClassName: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\t/**\n\t * Props to be added to the outer container `div` of the input (excluding `containerClassName`).\n\t */\n\tcontainerProps: PropTypes.object,\n\t/**\n\t * Disables the input and prevents editing the contents.\n\t */\n\tdisabled: PropTypes.bool,\n\t/**\n\t * Displays text or node to the left of the input. This follows the fixed text input UX pattern.\n\t */\n\tfixedTextLeft: PropTypes.oneOfType([PropTypes.node, PropTypes.string]),\n\t/**\n\t * Displays text or node to the right of the input. This follows the fixed text input UX pattern.\n\t */\n\tfixedTextRight: PropTypes.oneOfType([PropTypes.node, PropTypes.string]),\n\t/**\n\t * If true, loading spinner appears inside input on right hand side.\n\t */\n\thasSpinner: PropTypes.bool,\n\t/**\n\t * Left aligned icon, must be instance of `design-system-react/components/icon/input-icon`\n\t */\n\ticonLeft: PropTypes.node,\n\t/**\n\t * Right aligned icon, must be instance of `design-system-react/components/icon/input-icon`\n\t */\n\ticonRight: PropTypes.node,\n\t/**\n\t * Every input must have a unique ID in order to support keyboard navigation and ARIA support.\n\t */\n\tid: PropTypes.string.isRequired,\n\t/**\n\t * This callback exposes the input reference / DOM node to parent components. ` this.input = inputComponent} />\n\t */\n\tinputRef: PropTypes.func,\n\t/**\n\t * Displays the value of the input statically. This follows the static input UX pattern.\n\t */\n\tisStatic: PropTypes.bool,\n\t/**\n\t * This label appears above the input.\n\t */\n\tlabel: PropTypes.string,\n\tonBlur: PropTypes.func,\n\t/**\n\t * This callback fires when the input changes. The synthetic React event will be the first parameter to the callback. You will probably want to reference `event.target.value` in your callback. No custom data object is provided.\n\t */\n\tonChange: PropTypes.func,\n\t/**\n\t * This event fires when the input is clicked.\n\t */\n\tonClick: PropTypes.func,\n\tonFocus: PropTypes.func,\n\tonInput: PropTypes.func,\n\tonInvalid: PropTypes.func,\n\tonKeyDown: PropTypes.func,\n\tonKeyPress: PropTypes.func,\n\tonKeyUp: PropTypes.func,\n\tonSelect: PropTypes.func,\n\tonSubmit: PropTypes.func,\n\t/**\n\t * Text that will appear in an empty input.\n\t */\n\tplaceholder: PropTypes.string,\n\tminLength: PropTypes.string,\n\t/**\n\t * Specifies minimum accepted value for an input of type \"number\"\n\t */\n\tminValue: PropTypes.number,\n\tmaxLength: PropTypes.string,\n\t/**\n\t * Specifies maximum accepted value for an input of type \"number\"\n\t */\n\tmaxValue: PropTypes.number,\n\t/**\n\t * Name of the submitted form parameter.\n\t */\n\tname: PropTypes.string,\n\t/**\n\t * Specifies `readOnly` for `input` node.\n\t */\n\treadOnly: PropTypes.bool,\n\t/**\n\t * Highlights the input as a required field (does not perform any validation).\n\t */\n\trequired: PropTypes.bool,\n\t/**\n\t * `role` to be added to `input` node\n\t */\n\trole: PropTypes.string,\n\t/**\n\t * Determines the step size upon increment or decrement. Can be set to decimal values.\n\t */\n\tstep: PropTypes.number,\n\t/**\n\t * Style object to be added to `input` node\n\t */\n\tstyle: PropTypes.object,\n\t/**\n\t * Specifies `tabIndex` for `input` node\n\t */\n\ttabIndex: PropTypes.string,\n\t/**\n\t * The `` element includes support for all HTML5 types.\n\t */\n\ttype: PropTypes.oneOf([\n\t\t'text',\n\t\t'password',\n\t\t'datetime',\n\t\t'datetime-local',\n\t\t'date',\n\t\t'month',\n\t\t'time',\n\t\t'week',\n\t\t'number',\n\t\t'email',\n\t\t'url',\n\t\t'search',\n\t\t'tel',\n\t\t'color',\n\t]),\n\t/**\n\t * The input is a controlled component, and will always display this value.\n\t */\n\tvalue: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n\t/**\n\t * Which UX pattern of input? The default is `base` while other option is `counter`\n\t */\n\tvariant: PropTypes.oneOf(['base', COUNTER]),\n\t/**\n\t * This is the initial value of an uncontrolled form element and is present only to provide\n\t * compatibility with hybrid framework applications that are not entirely React. It should only\n\t * be used in an application without centralized state (Redux, Flux). \"Controlled components\"\n\t * with centralized state is highly recommended.\n\t * See [Code Overview](https://github.com/salesforce/design-system-react/blob/master/docs/codebase-overview.md#controlled-and-uncontrolled-components) for more information.\n\t */\n\tdefaultValue: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n};\n\nconst defaultProps = {\n\tassistiveText: {\n\t\tspinner: 'Loading ...',\n\t},\n\ttype: 'text',\n};\n\n/*\n * This component was created to allow the DIV wrapped input to be used within other components such as combobox. This components API is not public.\n */\nconst InnerInput = (props) => {\n\tconst ariaProps = getAriaProps(props);\n\tariaProps['aria-describedby'] = props.hasSpinner\n\t\t? `loading-status-icon ${props['aria-describedby']}`\n\t\t: props['aria-describedby'];\n\n\tconst {\n\t\tclassName: containerClassName,\n\t\t...containerProps\n\t} = props.containerProps;\n\n\tconst assistiveText = {\n\t\t...defaultProps.assistiveText,\n\t\t...props.assistiveText,\n\t};\n\n\treturn (\n\t\t\n\t\t\t{props.iconLeft && props.iconLeft}\n\t\t\t{props.fixedTextLeft && (\n\t\t\t\t{props.fixedTextLeft}\n\t\t\t)}\n\n\t\t\t{!props.isStatic && (\n\t\t\t\t\n\t\t\t)}\n\n\t\t\t{props.hasSpinner ? (\n\t\t\t\t
    \n\t\t\t\t\t\n\t\t\t\t\t{props.iconRight && props.iconRight}\n\t\t\t\t
    \n\t\t\t) : (\n\t\t\t\tprops.iconRight && props.iconRight\n\t\t\t)}\n\n\t\t\t{props.fixedTextRight && (\n\t\t\t\t{props.fixedTextRight}\n\t\t\t)}\n\n\t\t\t{/* eslint-disable jsx-a11y/no-static-element-interactions */}\n\t\t\t{props.isStatic && (\n\t\t\t\t\n\t\t\t\t\t{props.value}\n\t\t\t\t\t{props.inlineEditTrigger}\n\t\t\t\t\n\t\t\t)}\n\t\t\t{/* eslint-enable jsx-a11y/no-static-element-interactions */}\n\t\t
    \n\t);\n};\n\nInnerInput.displayName = 'SLDSInnerInput';\nInnerInput.propTypes = propTypes;\nInnerInput.defaultProps = defaultProps;\n\nexport default InnerInput;\n","/* eslint-disable react/jsx-curly-brace-presence */\n/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\n\nconst propTypes = {\n\t/*\n\t * Assistive Text to use instead of a visible label\n\t */\n\tassistiveText: PropTypes.object,\n\t/**\n\t * Class names to be added to the label\n\t */\n\tclassName: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\t/*\n\t * Id of the input associated with this label\n\t */\n\thtmlFor: PropTypes.string,\n\t/*\n\t * Input Label\n\t */\n\tlabel: PropTypes.string,\n\t/*\n\t * Applies label styling for a required form element\n\t */\n\trequired: PropTypes.bool,\n\t/**\n\t * Changes markup of label.\n\t */\n\tvariant: PropTypes.oneOf(['base', 'static']),\n};\n\nconst defaultProps = {\n\tvariant: 'base',\n};\n\n/*\n * Form label. This returns null if there is no label text (hidden or shown)\n */\nconst Label = (props) => {\n\tconst labelText =\n\t\tprops.label || (props.assistiveText && props.assistiveText.label); // One of these is required to pass accessibility tests\n\n\tconst subRenders = {\n\t\tbase: (\n\t\t\t\n\t\t\t\t{props.required && (\n\t\t\t\t\t\n\t\t\t\t\t\t{'*'}\n\t\t\t\t\t\n\t\t\t\t)}\n\t\t\t\t{labelText}\n\t\t\t\n\t\t),\n\t\tstatic: (\n\t\t\t\n\t\t\t\t{labelText}\n\t\t\t\n\t\t),\n\t};\n\n\treturn labelText ? subRenders[props.variant] : null;\n};\n\nLabel.displayName = 'Label';\nLabel.propTypes = propTypes;\nLabel.defaultProps = defaultProps;\n\nexport default Label;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n/* eslint-disable import/no-mutable-exports */\n\n// This function will deliver an warning message to the browser console if extraneous properties are defined (falsey).\nimport warning from 'warning';\n\nlet onlyOneOf = function onlyOneOfFunction() {};\n\nif (process.env.NODE_ENV !== 'production') {\n\tconst hasWarned = {};\n\n\tonlyOneOf = function onlyOneOfFunction(control, selectedProps, comment) {\n\t\tconst additionalComment = comment ? ` ${comment}` : '';\n\t\tlet keys = Object.keys(selectedProps);\n\t\tkeys = keys.filter((key) => selectedProps[key]);\n\n\t\tif (!hasWarned[control]) {\n\t\t\t/* eslint-disable max-len */\n\t\t\twarning(\n\t\t\t\tkeys.length <= 1,\n\t\t\t\t`[Design System React] Only one of the following props is needed by ${control}: [${keys.join()}].${additionalComment}`\n\t\t\t);\n\t\t\t/* eslint-enable max-len */\n\t\t\thasWarned[control] = !!selectedProps;\n\t\t}\n\t};\n}\n\nexport default onlyOneOf;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n/* eslint-disable import/no-mutable-exports */\n/* eslint-disable max-len */\n\nimport deprecatedProperty from '../../utilities/warning/deprecated-property';\nimport sunsetProperty from '../../utilities/warning/sunset-property';\n// import oneOfRequiredProperty from '../../../utilities/warning/one-of-required-property';\nimport onlyOneOfProperties from '../../utilities/warning/only-one-of-properties';\nimport getComponentDocFn from '../../utilities/get-component-doc';\n\nimport { INPUT, SEARCH } from '../../utilities/constants';\n\nlet checkProps = function checkPropsFunction() {};\n\nif (process.env.NODE_ENV !== 'production') {\n\tcheckProps = function checkPropsFunction(COMPONENT, props = {}, jsonDoc) {\n\t\tconst createDocUrl = getComponentDocFn(jsonDoc);\n\n\t\tif (COMPONENT === INPUT) {\n\t\t\tconst iconDeprecatedMessage = `Please use \\`iconLeft\\` and \\`iconRight\\` to pass in a customized component. ${createDocUrl()}`;\n\n\t\t\t// Deprecated and changed to another property\n\t\t\tdeprecatedProperty(\n\t\t\t\tCOMPONENT,\n\t\t\t\tprops.assistiveText && props.assistiveText.fieldLevelHelpButton,\n\t\t\t\t'assistiveText.fieldLevelHelpButton',\n\t\t\t\tundefined,\n\t\t\t\t`Please pass a \\`Tooltip\\` component into \\`fieldLevelHelpTooltip\\` with \\`assistiveText.triggerLearnMoreIcon\\`.`\n\t\t\t);\n\t\t\tdeprecatedProperty(\n\t\t\t\tCOMPONENT,\n\t\t\t\tprops.iconCategory,\n\t\t\t\t'iconCategory',\n\t\t\t\tundefined,\n\t\t\t\ticonDeprecatedMessage\n\t\t\t);\n\t\t\tdeprecatedProperty(\n\t\t\t\tCOMPONENT,\n\t\t\t\tprops.iconName,\n\t\t\t\t'iconName',\n\t\t\t\tundefined,\n\t\t\t\ticonDeprecatedMessage\n\t\t\t);\n\t\t\tdeprecatedProperty(\n\t\t\t\tCOMPONENT,\n\t\t\t\tprops.iconPosition,\n\t\t\t\t'iconPosition',\n\t\t\t\tundefined,\n\t\t\t\ticonDeprecatedMessage\n\t\t\t);\n\t\t\tdeprecatedProperty(\n\t\t\t\tCOMPONENT,\n\t\t\t\tprops.iconAssistiveText,\n\t\t\t\t'iconAssistiveText',\n\t\t\t\tundefined,\n\t\t\t\ticonDeprecatedMessage\n\t\t\t);\n\t\t\tdeprecatedProperty(\n\t\t\t\tCOMPONENT,\n\t\t\t\tprops.onIconClick,\n\t\t\t\t'onIconClick',\n\t\t\t\tundefined,\n\t\t\t\ticonDeprecatedMessage\n\t\t\t);\n\n\t\t\tif (typeof props.assistiveText === 'string') {\n\t\t\t\tsunsetProperty(\n\t\t\t\t\tCOMPONENT,\n\t\t\t\t\tprops.assistiveText,\n\t\t\t\t\t'assistiveText',\n\t\t\t\t\t`AssistiveText as a string has been deprecated and is now an object to allow for multiple uses in the component. Please use either assistiveText.label or assistiveText.spinner. ${createDocUrl(\n\t\t\t\t\t\t'assistiveText'\n\t\t\t\t\t)}`\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tonlyOneOfProperties(\n\t\t\t\tCOMPONENT,\n\t\t\t\t{\n\t\t\t\t\t'assistiveText.label':\n\t\t\t\t\t\tprops.assistiveText && props.assistiveText.label,\n\t\t\t\t\tlabel: props.label,\n\t\t\t\t},\n\t\t\t\tcreateDocUrl('assistiveText')\n\t\t\t);\n\n\t\t\tonlyOneOfProperties(\n\t\t\t\tCOMPONENT,\n\t\t\t\t{\n\t\t\t\t\tfixedTextLeft: props.fixedTextLeft,\n\t\t\t\t\tfixedTextRight: props.fixedTextRight,\n\t\t\t\t},\n\t\t\t\tcreateDocUrl('assistiveText')\n\t\t\t);\n\n\t\t\t/*\n\t\t\t* Once we support horizontal labels, then I think we can enable this check\n\t\t\t*\n\t\t\tif (!props.inlineEditTrigger) {\n\t\t\t\toneOfRequiredProperty(COMPONENT, {\n\t\t\t\t\tassistiveText: props.assistiveText,\n\t\t\t\t\tlabel: props.label\n\t\t\t\t});\n\t\t\t}\n\t\t\t*/\n\t\t} else if (COMPONENT === SEARCH) {\n\t\t\tif (typeof props.assistiveText === 'string') {\n\t\t\t\tsunsetProperty(\n\t\t\t\t\tCOMPONENT,\n\t\t\t\t\tprops.assistiveText,\n\t\t\t\t\t'assistiveText',\n\t\t\t\t\t`\\`assistiveText\\` as a string has been deprecated and is now an object to allow for multiple uses in the component. Please use \\`assistiveText.label\\` instead. ${createDocUrl(\n\t\t\t\t\t\t'assistiveText'\n\t\t\t\t\t)}`\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\t};\n}\n\nexport default checkProps;\n","/*\n * Remove keys with undefined values. This is useful\n * for merging object props like `assistiveText` and `labels`\n * and keeping default prop values.\n */\n\nconst removeUndefined = (obj) => {\n\tconst newObj = {};\n\tObject.keys(obj).forEach((prop) => {\n\t\tif (typeof obj[prop] !== 'undefined') {\n\t\t\tnewObj[prop] = obj[prop];\n\t\t}\n\t});\n\treturn newObj;\n};\n\nconst helpers = { removeUndefined };\n\nexport default helpers;\n","/*\n * Field Level Help Tooltip for input labels\n */\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\nimport Tooltip from '../index';\nimport objectHelpers from '../../../utilities/object';\n\nconst propTypes = {\n\t/*\n\t * Assistive Text object from parent component such as Input, Combobox, etc.\n\t */\n\tassistiveText: PropTypes.shape({\n\t\ttriggerLearnMoreIcon: PropTypes.string,\n\t}),\n\t/*\n\t * Tooltip from external prop\n\t */\n\tfieldLevelHelpTooltip: PropTypes.node.isRequired,\n};\n\nconst defaultProps = {\n\ttriggerClassName: 'slds-form-element__icon',\n\t// This allows `position: absolute` Tooltips to align properly.\n\t// If not present, tooltip will always be below the info icon // instead of above it.\n\ttriggerStyle: { position: 'static' },\n\tvariant: 'learnMore',\n};\n\nconst FieldLevelHelpTooltip = ({ fieldLevelHelpTooltip, assistiveText = {} }) =>\n\tfieldLevelHelpTooltip ? (\n\t\t\n\t) : null;\n\nFieldLevelHelpTooltip.propTypes = propTypes;\nFieldLevelHelpTooltip.displayName = 'FieldLevelHelpTooltip';\n\nexport default FieldLevelHelpTooltip;\n","/* eslint-disable max-lines */\n/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// # Input Component\n\n// Implements the [Input design pattern](https://lightningdesignsystem.com/components/forms/#flavor-input) in React. Does not yet implement [fixed text](https://lightningdesignsystem.com/components/forms/#flavor-input-input-fixed-text).\n// Based on SLDS v2.2.1\n//\n\n// ### React\nimport React from 'react';\n\nimport PropTypes from 'prop-types';\n\n// ### classNames\n// [github.com/JedWatson/classnames](https://github.com/JedWatson/classnames)\n// This project uses `classnames`, \"a simple javascript utility for conditionally\n// joining classNames together.\"\nimport classNames from 'classnames';\n\n// ### shortid\n// [npmjs.com/package/shortid](https://www.npmjs.com/package/shortid)\n// shortid is a short, non-sequential, url-friendly, unique id generator\nimport shortid from 'shortid';\n\nimport Button from '../button';\n\n// ## Children\nimport InputIcon from '../icon/input-icon';\nimport InnerInput from './private/inner-input';\nimport Label from '../utilities/label';\n\n// This component's `checkProps` which issues warnings to developers about properties when in development mode (similar to React's built in development tools)\nimport checkProps from './check-props';\n\nimport { INPUT } from '../../utilities/constants';\nimport componentDoc from './component.json';\nimport FieldLevelHelpTooltip from '../tooltip/private/field-level-help-tooltip';\n\nconst COUNTER = 'counter';\nconst DECREMENT = 'Decrement';\nconst INCREMENT = 'Increment';\n\nconst defaultProps = {\n\tassistiveText: {\n\t\tdecrement: `${DECREMENT} ${COUNTER}`,\n\t\tincrement: `${INCREMENT} ${COUNTER}`,\n\t},\n\ttype: 'text',\n};\n\n/**\n * The HTML `input` with a label and error messaging.\n */\nclass Input extends React.Component {\n\tstatic displayName = INPUT;\n\n\tstatic propTypes = {\n\t\t/**\n\t\t * The aria-activedescendant attribute contains the ID of the currently active child object that is part of a composite widget within the Document Object Model. It makes do with the overhead of having all or more than one child focusable. As the name specifies, it helps in managing the current active child of the composite widget.\n\t\t */\n\t\t'aria-activedescendant': PropTypes.string,\n\t\t/**\n\t\t * Indicates if the suggestions in a composite widget are values that complete the current textbox input.\n\t\t */\n\t\t'aria-autocomplete': PropTypes.string,\n\t\t/**\n\t\t * An HTML ID that is shared with ARIA-supported devices with the\n\t\t * `aria-controls` attribute in order to relate the input with\n\t\t * another region of the page. An example would be a select box\n\t\t * that shows or hides a panel.\n\t\t */\n\t\t'aria-controls': PropTypes.string,\n\t\t/**\n\t\t * The `aria-describedby` attribute is used to indicate the IDs of the elements that describe the object. It is used to establish a relationship between widgets or groups and text that described them. This is very similar to aria-labelledby: a label describes the essence of an object, while a description provides more information that the user might need.\n\t\t */\n\t\t'aria-describedby': PropTypes.string,\n\t\t/**\n\t\t * Use the `aria-expanded` state to indicate whether regions of the content are collapsible, and to expose whether a region is currently expanded or collapsed.\n\t\t */\n\t\t'aria-expanded': PropTypes.bool,\n\t\t/**\n\t\t * Indicates that the element has a popup context menu or sub-level menu.\n\t\t */\n\t\t'aria-haspopup': PropTypes.bool,\n\t\t/**\n\t\t * The aria-labelledby attribute contains the element IDs of labels in objects such as input elements, widgets, and groups. The attribute establishes relationships between objects and their labels. Assistive technology, such as screen readers, use this attribute to catalog the objects in a document so that users can navigate between them. Without an element ID, the assistive technology cannot catalog the object.\n\t\t */\n\t\t'aria-labelledby': PropTypes.string,\n\t\t/**\n\t\t * An HTML ID that is shared with ARIA-supported devices with the\n\t\t * `aria-controls` attribute in order to relate the input with\n\t\t * another region of the page. An example would be a search field\n\t\t * that shows search results.\n\t\t */\n\t\t'aria-owns': PropTypes.string,\n\t\t/**\n\t\t * The `aria-required` attribute is used to indicate that user input is required on an element before a form can be submitted.\n\t\t */\n\t\t'aria-required': PropTypes.bool,\n\t\t/**\n\t\t * **Assistive text for accessibility**\n\t\t * * `label`: Visually hidden label but read out loud by screen readers.\n\t\t * * `spinner`: Text for loading spinner icon.\n\t\t */\n\t\tassistiveText: PropTypes.shape({\n\t\t\tlabel: PropTypes.string,\n\t\t\tspinner: PropTypes.string,\n\t\t}),\n\t\t/**\n\t\t * Disabled brower's autocomplete when \"off\" is used.\n\t\t */\n\t\tautoComplete: PropTypes.string,\n\t\t/**\n\t\t * Elements are added after the `input`.\n\t\t */\n\t\tchildren: PropTypes.node,\n\t\t/**\n\t\t * Class names to be added to the outer container of the input.\n\t\t */\n\t\tclassName: PropTypes.oneOfType([\n\t\t\tPropTypes.array,\n\t\t\tPropTypes.object,\n\t\t\tPropTypes.string,\n\t\t]),\n\t\t/**\n\t\t * This is the initial value of an uncontrolled form element and\n\t\t * is present only to provide compatibility with hybrid framework\n\t\t * applications that are not entirely React. It should only be used\n\t\t * in an application without centralized state (Redux, Flux).\n\t\t * \"Controlled components\" with centralized state is highly recommended.\n\t\t * See [Code Overview](https://github.com/salesforce/design-system-react/blob/master/docs/codebase-overview.md#controlled-and-uncontrolled-components) for more information.\n\t\t */\n\t\tdefaultValue: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n\t\t/**\n\t\t * Disables the input and prevents editing the contents.\n\t\t */\n\t\tdisabled: PropTypes.bool,\n\t\t/**\n\t\t * Message to display when the input is in an error state. When this is present, also visually highlights the component as in error.\n\t\t */\n\t\terrorText: PropTypes.oneOfType([PropTypes.node, PropTypes.string]),\n\t\t/**\n\t\t * A [Tooltip](https://react.lightningdesignsystem.com/components/tooltips/) component that is displayed next to the label.\n\t\t */\n\t\tfieldLevelHelpTooltip: PropTypes.node,\n\t\t/**\n\t\t * Displays text or node to the left of the input. This follows the fixed text input UX pattern.\n\t\t */\n\t\tfixedTextLeft: PropTypes.oneOfType([PropTypes.node, PropTypes.string]),\n\t\t/**\n\t\t * Displays text or node to the right of the input. This follows the fixed text input UX pattern.\n\t\t */\n\t\tfixedTextRight: PropTypes.oneOfType([PropTypes.node, PropTypes.string]),\n\t\t/**\n\t\t * If true, loading spinner appears inside input on right hand side.\n\t\t */\n\t\thasSpinner: PropTypes.bool,\n\t\t/**\n\t\t * Left aligned icon, must be instace of `design-system-react/components/icon/input-icon`\n\t\t */\n\t\ticonLeft: PropTypes.node,\n\t\t/**\n\t\t * Right aligned icon, must be instace of `design-system-react/components/icon/input-icon`\n\t\t */\n\t\ticonRight: PropTypes.node,\n\t\t/**\n\t\t * Every input must have a unique ID in order to support keyboard navigation and ARIA support.\n\t\t */\n\t\tid: PropTypes.string,\n\t\t/**\n\t\t * Displays help text under the input.\n\t\t */\n\t\tinlineHelpText: PropTypes.oneOfType([PropTypes.node, PropTypes.string]),\n\t\t/**\n\t\t * This callback exposes the input reference / DOM node to parent components. ` this.input = inputComponent} />\n\t\t */\n\t\tinputRef: PropTypes.func,\n\t\t/**\n\t\t * Displays the value of the input statically. This follows the static input UX pattern.\n\t\t */\n\t\tisStatic: PropTypes.bool,\n\t\t/**\n\t\t * This label appears above the input.\n\t\t */\n\t\tlabel: PropTypes.string,\n\t\t/**\n\t\t * Triggered when focus is removed.\n\t\t */\n\t\tonBlur: PropTypes.func,\n\t\t/**\n\t\t * This callback fires when the input changes. Passes in `event, { value }`.\n\t\t */\n\t\tonChange: PropTypes.func,\n\t\t/**\n\t\t * This event fires when the input is clicked.\n\t\t */\n\t\tonClick: PropTypes.func,\n\t\t/**\n\t\t * Triggered when component is focused.\n\t\t */\n\t\tonFocus: PropTypes.func,\n\t\t/**\n\t\t * Similar to `onchange`. Triggered when an element gets user input.\n\t\t */\n\t\tonInput: PropTypes.func,\n\t\t/**\n\t\t * Triggered when a submittable `` element is invalid.\n\t\t */\n\t\tonInvalid: PropTypes.func,\n\t\t/**\n\t\t * Triggered when a key is pressed down\n\t\t */\n\t\tonKeyDown: PropTypes.func,\n\t\t/**\n\t\t * Triggered when a key is pressed and released\n\t\t */\n\t\tonKeyPress: PropTypes.func,\n\t\t/**\n\t\t * Triggered when a key is released\n\t\t */\n\t\tonKeyUp: PropTypes.func,\n\t\t/**\n\t\t * Triggered after some text has been selected in an element.\n\t\t */\n\t\tonSelect: PropTypes.func,\n\t\t/**\n\t\t * Fires when a form is submitted.\n\t\t */\n\t\tonSubmit: PropTypes.func,\n\t\t/**\n\t\t * Text that will appear in an empty input.\n\t\t */\n\t\tplaceholder: PropTypes.string,\n\t\t/**\n\t\t * Sets the minimum number of characters that an `` can accept.\n\t\t */\n\t\tminLength: PropTypes.string,\n\t\t/**\n\t\t * Specifies minimum accepted value for a counter input\n\t\t */\n\t\tminValue: PropTypes.number,\n\t\t/**\n\t\t * Sets the maximum number of characters that an `` can accept.\n\t\t */\n\t\tmaxLength: PropTypes.string,\n\t\t/**\n\t\t * Specifies maximum accepted value for a counter input\n\t\t */\n\t\tmaxValue: PropTypes.number,\n\t\t/**\n\t\t * Name of the submitted form parameter.\n\t\t */\n\t\tname: PropTypes.string,\n\t\t/**\n\t\t * Displays the value of the input as read-only. This is used in the inline edit UX pattern.\n\t\t */\n\t\treadOnly: PropTypes.bool,\n\t\t/**\n\t\t * Highlights the input as a required field (does not perform any validation).\n\t\t */\n\t\trequired: PropTypes.bool,\n\t\t/**\n\t\t * ARIA role\n\t\t */\n\t\trole: PropTypes.string,\n\t\t/**\n\t\t * Determines the step size upon increment or decrement. Can be set to decimal values.\n\t\t */\n\t\tstep: PropTypes.number,\n\t\t/**\n\t\t * styles to be added to input\n\t\t */\n\t\tstyleInput: PropTypes.object,\n\t\t/**\n\t\t * Custom styles to be passed to the component container\n\t\t */\n\t\tstyleContainer: PropTypes.object,\n\t\t/**\n\t\t * The `` element includes support for all HTML5 types.\n\t\t */\n\t\ttype: PropTypes.oneOf([\n\t\t\t'text',\n\t\t\t'password',\n\t\t\t'datetime',\n\t\t\t'datetime-local',\n\t\t\t'date',\n\t\t\t'month',\n\t\t\t'time',\n\t\t\t'week',\n\t\t\t'number',\n\t\t\t'email',\n\t\t\t'url',\n\t\t\t'search',\n\t\t\t'tel',\n\t\t\t'color',\n\t\t]),\n\t\t/**\n\t\t * The input is a controlled component, and will always display this value.\n\t\t */\n\t\tvalue: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n\t\t/**\n\t\t * Which UX pattern of input? The default is `base` while other option is `counter`\n\t\t */\n\t\tvariant: PropTypes.oneOf(['base', COUNTER]),\n\t};\n\n\tstatic defaultProps = defaultProps;\n\n\tconstructor(props) {\n\t\tsuper(props);\n\t\tthis.inputRef = null;\n\t\tthis.stepping = {\n\t\t\tcurrentDelay: 500,\n\t\t\tinitialDelay: 500,\n\t\t\tspeedDelay: 75,\n\t\t\ttimeout: {},\n\t\t};\n\n\t\t// `checkProps` issues warnings to developers about properties (similar to React's built in development tools)\n\t\tcheckProps(INPUT, props, componentDoc);\n\n\t\tthis.generatedId = shortid.generate();\n\t\tif (props.errorText) {\n\t\t\tthis.generatedErrorId = shortid.generate();\n\t\t}\n\t}\n\n\tgetId = () => this.props.id || this.generatedId;\n\n\tgetErrorId = () => this.props['aria-describedby'] || this.generatedErrorId;\n\n\tgetValueAsNumber = () => {\n\t\tlet value = 0;\n\n\t\tif (this.props.value !== undefined) {\n\t\t\tvalue = Number(this.props.value);\n\t\t} else if (this.inputRef) {\n\t\t\tvalue = Number(this.inputRef.value);\n\t\t}\n\n\t\treturn value;\n\t};\n\n\tgetCounterButtonIcon = (direction) => {\n\t\tconst value = this.getValueAsNumber();\n\t\tlet disabled = false;\n\n\t\tif (\n\t\t\tthis.props.disabled ||\n\t\t\t(direction === INCREMENT &&\n\t\t\t\tthis.props.maxValue !== undefined &&\n\t\t\t\tvalue >= this.props.maxValue) ||\n\t\t\t(direction === DECREMENT &&\n\t\t\t\tthis.props.minValue !== undefined &&\n\t\t\t\tvalue <= this.props.minValue)\n\t\t) {\n\t\t\tdisabled = true;\n\t\t}\n\n\t\treturn (\n\t\t\t {\n\t\t\t\t\tif (event.keyCode === 13) {\n\t\t\t\t\t\tthis.performStep(direction, event);\n\t\t\t\t\t}\n\t\t\t\t}}\n\t\t\t\tonKeyUp={this.stopStepping}\n\t\t\t\tonMouseDown={(event) => {\n\t\t\t\t\tthis.performStep(direction, event);\n\t\t\t\t}}\n\t\t\t\tonMouseLeave={this.stopStepping}\n\t\t\t\tonMouseUp={this.stopStepping}\n\t\t\t\tvariant=\"icon\"\n\t\t\t/>\n\t\t);\n\t};\n\n\t// This is convoluted to maintain backwards compatibility. Please remove deprecatedProps on next breaking change.\n\tgetIconRender = (position, iconPositionProp) => {\n\t\tlet icon;\n\n\t\t// Remove at next breaking change\n\t\t/* eslint-disable react/prop-types */\n\t\tconst deprecatedProps = {\n\t\t\tassistiveText: {\n\t\t\t\ticon:\n\t\t\t\t\t(this.props[iconPositionProp] &&\n\t\t\t\t\t\tthis.props[iconPositionProp].props.assistiveText) ||\n\t\t\t\t\tthis.props.iconAssistiveText,\n\t\t\t},\n\t\t\tcategory:\n\t\t\t\t(this.props[iconPositionProp] &&\n\t\t\t\t\tthis.props[iconPositionProp].props.category) ||\n\t\t\t\tthis.props.iconCategory,\n\t\t\tname:\n\t\t\t\t(this.props[iconPositionProp] &&\n\t\t\t\t\tthis.props[iconPositionProp].props.name) ||\n\t\t\t\tthis.props.iconName,\n\t\t\tonClick:\n\t\t\t\t(this.props[iconPositionProp] &&\n\t\t\t\t\tthis.props[iconPositionProp].props.onClick) ||\n\t\t\t\tthis.props.onIconClick,\n\t\t};\n\t\t/* eslint-enable react/prop-types */\n\n\t\tif (\n\t\t\tthis.props[iconPositionProp] &&\n\t\t\tposition &&\n\t\t\tthis.props[iconPositionProp]\n\t\t) {\n\t\t\ticon = React.cloneElement(this.props[iconPositionProp], {\n\t\t\t\ticonPosition: `${position}`,\n\t\t\t});\n\t\t} else if (deprecatedProps.name) {\n\t\t\ticon = ;\n\t\t}\n\n\t\treturn icon;\n\t};\n\n\tsetInputRef = (ref) => {\n\t\tthis.inputRef = ref;\n\t\tif (this.props.inputRef) {\n\t\t\tthis.props.inputRef(ref);\n\t\t}\n\t};\n\n\thandleChange = (event) => {\n\t\tif (this.props.onChange) {\n\t\t\tconst data = {\n\t\t\t\tvalue: event.target.value,\n\t\t\t};\n\n\t\t\tif (this.props.variant === COUNTER) {\n\t\t\t\tdata.number = Number(data.value);\n\t\t\t}\n\n\t\t\tthis.props.onChange(event, data);\n\t\t}\n\t};\n\n\tperformStep = (direction, event) => {\n\t\tclearTimeout(this.stepping.timeout);\n\n\t\tconst { maxValue } = this.props;\n\t\tconst { minValue } = this.props;\n\t\tconst step = this.props.step !== undefined ? Number(this.props.step) : 1;\n\t\tlet value = this.getValueAsNumber();\n\t\tlet valueChanged = false;\n\n\t\tif (direction === DECREMENT && maxValue !== undefined && value > maxValue) {\n\t\t\tvalue = Number(maxValue);\n\t\t\tvalueChanged = true;\n\t\t} else if (\n\t\t\tdirection === INCREMENT &&\n\t\t\tminValue !== undefined &&\n\t\t\tvalue < minValue\n\t\t) {\n\t\t\tvalue = Number(minValue);\n\t\t\tvalueChanged = true;\n\t\t} else {\n\t\t\tconst decimalPlaces =\n\t\t\t\tString(step).search(/\\./) >= 0 ? String(step).split('.')[1].length : 0;\n\t\t\tlet minOverflow = 0;\n\n\t\t\tif (minValue !== undefined) {\n\t\t\t\tminOverflow = (value - minValue) % step;\n\t\t\t}\n\n\t\t\tif (minOverflow > 0) {\n\t\t\t\t// Default browser inputs of type number with a min attribute alter the value upon change as needed so\n\t\t\t\t// that with enough decrements it can reach the exact min value. This behavior is reflected here\n\t\t\t\tvalue =\n\t\t\t\t\tdirection === DECREMENT\n\t\t\t\t\t\t? value - minOverflow\n\t\t\t\t\t\t: value + (step - minOverflow);\n\t\t\t} else {\n\t\t\t\tvalue = direction === DECREMENT ? value - step : value + step;\n\t\t\t}\n\n\t\t\tvalue = Number(value.toFixed(decimalPlaces));\n\n\t\t\tif (\n\t\t\t\t!(maxValue !== undefined && value > maxValue) &&\n\t\t\t\t!(minValue !== undefined && value < minValue)\n\t\t\t) {\n\t\t\t\tvalueChanged = true;\n\t\t\t}\n\t\t}\n\n\t\tif (valueChanged) {\n\t\t\t/*\n\t\t\t * Use of `this.forceUpdate` is an anti-pattern. This code only executes if this `input` element is uncontrolled which this library believes is an anti-pattern, also. This code is only present to allow for the edge case of uncontrolled use of an `input`.\n\t\t\t */\n\t\t\tif (this.props.value === undefined && this.inputRef) {\n\t\t\t\tthis.inputRef.value = String(value);\n\t\t\t\tthis.forceUpdate();\n\t\t\t} else if (this.props.onChange) {\n\t\t\t\tthis.props.onChange(event, {\n\t\t\t\t\tnumber: value,\n\t\t\t\t\tvalue: String(value),\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\n\t\tif (\n\t\t\t(direction === INCREMENT &&\n\t\t\t\tmaxValue !== undefined &&\n\t\t\t\tvalue >= maxValue) ||\n\t\t\t(direction === DECREMENT && minValue !== undefined && value <= minValue)\n\t\t) {\n\t\t\tthis.stopStepping();\n\t\t} else {\n\t\t\tthis.stepping.timeout = setTimeout(() => {\n\t\t\t\tthis.stepping.currentDelay = this.stepping.speedDelay;\n\t\t\t\tthis.performStep(direction);\n\t\t\t}, this.stepping.currentDelay);\n\t\t}\n\t};\n\n\tstopStepping = () => {\n\t\tclearTimeout(this.stepping.timeout);\n\t\tthis.stepping.currentDelay = this.stepping.initialDelay;\n\t};\n\n\trender() {\n\t\tconst assistiveText = {\n\t\t\t...defaultProps.assistiveText,\n\t\t\t...this.props.assistiveText,\n\t\t};\n\t\tconst inputRef =\n\t\t\tthis.props.variant === COUNTER ? this.setInputRef : this.props.inputRef;\n\t\tlet iconLeft = null;\n\t\tlet iconRight = null;\n\n\t\tconst hasRenderedLabel =\n\t\t\tthis.props.label || (assistiveText && assistiveText.label);\n\n\t\t// Remove at next breaking change\n\t\t// this is a hack to make left the default prop unless overwritten by `iconPosition=\"right\"`\n\t\tif (\n\t\t\t!!this.props.iconLeft ||\n\t\t\t((this.props.iconPosition === 'left' ||\n\t\t\t\tthis.props.iconPosition === undefined) &&\n\t\t\t\t!!this.props.iconName)\n\t\t) {\n\t\t\ticonLeft = this.getIconRender('left', 'iconLeft');\n\t\t} else if (\n\t\t\tthis.props.variant === COUNTER &&\n\t\t\t!this.props.isStatic &&\n\t\t\t!this.props.readOnly\n\t\t) {\n\t\t\ticonLeft = this.getCounterButtonIcon(DECREMENT);\n\t\t}\n\n\t\tif (\n\t\t\t!!this.props.iconRight ||\n\t\t\t(this.props.iconPosition === 'right' && !!this.props.iconName)\n\t\t) {\n\t\t\ticonRight = this.getIconRender('right', 'iconRight');\n\t\t} else if (\n\t\t\tthis.props.variant === COUNTER &&\n\t\t\t!this.props.isStatic &&\n\t\t\t!this.props.readOnly\n\t\t) {\n\t\t\ticonRight = this.getCounterButtonIcon(INCREMENT);\n\t\t}\n\n\t\treturn (\n\t\t\t\n\t\t\t\t\n\t\t\t\t{this.props.fieldLevelHelpTooltip && hasRenderedLabel ? (\n\t\t\t\t\t\n\t\t\t\t) : null}\n\t\t\t\t\n\t\t\t\t{this.props.inlineHelpText && (\n\t\t\t\t\t
    \n\t\t\t\t\t\t{this.props.inlineHelpText}\n\t\t\t\t\t
    \n\t\t\t\t)}\n\t\t\t\t{this.props.errorText && (\n\t\t\t\t\t
    \n\t\t\t\t\t\t{this.props.errorText}\n\t\t\t\t\t
    \n\t\t\t\t)}\n\t\t\t\t{this.props.children}\n\t\t\t\n\t\t);\n\t}\n}\n\nexport default Input;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// ### React\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\nimport Input from '../input';\nimport InputIcon from '../icon/input-icon';\n\nimport { CARD_FILTER } from '../../utilities/constants';\n\n/**\n * A default filter or search input for Cards that contain items.\n */\nconst Filter = (props) => {\n\tconst { id, placeholder, onChange, ...rest } = props;\n\n\treturn (\n\t\t}\n\t\t\tid={id}\n\t\t\tonChange={onChange}\n\t\t\tplaceholder={placeholder}\n\t\t/>\n\t);\n};\n\n// ### Display Name\n// Always use the canonical component name as the React display name.\nFilter.displayName = CARD_FILTER;\n\n// ### Prop Types\nFilter.propTypes = {\n\t/**\n\t * The HTML `id` from the card with a suffixe.\n\t */\n\tid: PropTypes.string,\n\t/**\n\t * This callback fires when the input changes.\n\t */\n\tonChange: PropTypes.func,\n\t/**\n\t * Text present in input until the user enters text. This text will also be used for a visually hidden label on the filter `input` element for accessibility.\n\t */\n\tplaceholder: PropTypes.string.isRequired,\n};\n\nFilter.defaultProps = {\n\tplaceholder: 'Find in List',\n};\n\nexport default Filter;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// ### React\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\n// ### classNames\n// [github.com/JedWatson/classnames](https://github.com/JedWatson/classnames)\n// This project uses `classnames`, \"a simple javascript utility for conditionally\n// joining classNames together.\"\nimport classnames from 'classnames';\n\nimport { CAROUSEL_INDICATORS } from '../../../utilities/constants';\n\n/**\n * CarouselIndicators is used to display the list of indicators associated to the number of panels\n * a carousel has\n */\nclass CarouselIndicators extends React.Component {\n\tcomponentDidUpdate() {\n\t\tif (this.props.hasFocus && this[`indicator${this.props.currentIndex}`]) {\n\t\t\tthis[`indicator${this.props.currentIndex}`].focus();\n\t\t}\n\t}\n\n\tonFocus = (event) => {\n\t\tthis[`indicator${this.props.currentIndex}`].focus();\n\t\tif (this.props.onFocus) {\n\t\t\tthis.props.onFocus(event);\n\t\t}\n\t};\n\n\trender() {\n\t\tconst { props } = this;\n\n\t\treturn (\n\t\t\t\n\t\t\t\t{[...Array(props.noOfIndicators).keys()].map((index) => {\n\t\t\t\t\tconst isSelectedPanel = index === props.currentIndex;\n\t\t\t\t\tconst indicatorActionClassName = classnames(\n\t\t\t\t\t\t'slds-carousel__indicator-action',\n\t\t\t\t\t\tprops.className,\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t'slds-is-active': isSelectedPanel,\n\t\t\t\t\t\t}\n\t\t\t\t\t);\n\t\t\t\t\tlet assistiveText = `${index}`;\n\t\t\t\t\tlet title = `${index}`;\n\t\t\t\t\tlet id = '';\n\n\t\t\t\t\tif (props.items && props.items.length > 0) {\n\t\t\t\t\t\t// eslint-disable-next-line prefer-destructuring\n\t\t\t\t\t\tid = props.items[index].id;\n\n\t\t\t\t\t\tconst startItemIndex = index * props.itemsPerPanel;\n\t\t\t\t\t\tlet autoIndicatorText = '';\n\n\t\t\t\t\t\t// eslint-disable-next-line fp/no-loops\n\t\t\t\t\t\tfor (\n\t\t\t\t\t\t\tlet i = startItemIndex;\n\t\t\t\t\t\t\ti < startItemIndex + props.itemsPerPanel;\n\t\t\t\t\t\t\ti += 1\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\tif (props.items[i] && props.items[i].heading) {\n\t\t\t\t\t\t\t\tautoIndicatorText = !autoIndicatorText\n\t\t\t\t\t\t\t\t\t? ''\n\t\t\t\t\t\t\t\t\t: `${autoIndicatorText}, `;\n\t\t\t\t\t\t\t\tautoIndicatorText += props.items[i].heading;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif (autoIndicatorText) {\n\t\t\t\t\t\t\tassistiveText = autoIndicatorText;\n\t\t\t\t\t\t\ttitle = autoIndicatorText;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\treturn (\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\t\tthis[`indicator${index}`] = component;\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\tid={`indicator-id-${props.carouselId}-${index}`}\n\t\t\t\t\t\t\t\tclassName={indicatorActionClassName}\n\t\t\t\t\t\t\t\trole=\"tab\"\n\t\t\t\t\t\t\t\ttabIndex={isSelectedPanel ? '0' : '-1'}\n\t\t\t\t\t\t\t\taria-selected={isSelectedPanel}\n\t\t\t\t\t\t\t\taria-controls={props.getPanelId({\n\t\t\t\t\t\t\t\t\tcarouselId: props.carouselId,\n\t\t\t\t\t\t\t\t\titemId: id,\n\t\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t\t\ttitle={title}\n\t\t\t\t\t\t\t\tonBlur={props.onBlur}\n\t\t\t\t\t\t\t\tonClick={(event) => props.onClick(event, index)}\n\t\t\t\t\t\t\t\tonFocus={this.onFocus}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{assistiveText}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t);\n\t\t\t\t})}\n\t\t\t\n\t\t);\n\t}\n}\n\nCarouselIndicators.displayName = CAROUSEL_INDICATORS;\n\nCarouselIndicators.defaultProps = {\n\tcurrentIndex: 0,\n};\n\n// ### Prop Types\nCarouselIndicators.propTypes = {\n\t/**\n\t * Carousel HTML ID\n\t */\n\tcarouselId: PropTypes.string,\n\t/**\n\t * CSS classes that are applied to the component\n\t */\n\tclassName: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\t/**\n\t * Selected indicator\n\t */\n\tcurrentIndex: PropTypes.number,\n\t/**\n\t * Passed from carousel parent state, dictates if indicator currently has focus\n\t */\n\thasFocus: PropTypes.bool,\n\t/**\n\t * Array of objects with shape, needed for building a carousel items\n\t */\n\titems: PropTypes.array,\n\t/**\n\t * Number of items to be displayed at a time in the carousel\n\t */\n\titemsPerPanel: PropTypes.number,\n\t/**\n\t * Number of indicators to be displayed (corresponds to the number of panels in the carousel)\n\t */\n\tnoOfIndicators: PropTypes.number.isRequired,\n\t/**\n\t * Fires on indicator blur, allows parent carousel to adjust indicatorsHaveFocus state accordingly\n\t */\n\tonBlur: PropTypes.func,\n\t/**\n\t * Triggered when the indicator is clicked.\n\t */\n\tonClick: PropTypes.func,\n\t/**\n\t * Fires on indicator focus, allows parent carousel to adjust indicatorsHaveFocus state accordingly\n\t */\n\tonFocus: PropTypes.func,\n};\n\nexport default CarouselIndicators;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// ### React\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\nimport Button from '../../../components/button';\nimport { CAROUSEL_NAVIGATORS } from '../../../utilities/constants';\n\n/**\n * previousNextCarouselNavigator is used to display previous/next navigation items of the carousel\n */\nconst previousNextCarouselNavigator = (props) => (\n\t\n\t\t\n\t\n);\n// /assets/icons/utility-sprite/svg/symbols.svg#right\npreviousNextCarouselNavigator.displayName = CAROUSEL_NAVIGATORS;\n\n// ### Prop Types\npreviousNextCarouselNavigator.propTypes = {\n\t/**\n\t * Description of the previous/next navigation icons for screen-readers.\n\t */\n\tassistiveText: PropTypes.string,\n\t/**\n\t * Name of icon displayed within the navigation button\n\t */\n\ticonName: PropTypes.oneOf(['chevronleft', 'chevronright']),\n\t/**\n\t * Determines where the navigator indicator has been disabled\n\t */\n\tisDisabled: PropTypes.bool,\n\t/**\n\t * Additional styles to be applied to the container\n\t */\n\tinlineStyle: PropTypes.object,\n\t/**\n\t * Triggered when the indicator is clicked.\n\t */\n\tonClick: PropTypes.func,\n};\n\nexport default previousNextCarouselNavigator;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// # CarouselItem Component\n\n// Implements the [CarouselItem design pattern](https://www.lightningdesignsystem.com/components/carousel/) in React.\n\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\nimport Button from '../../button';\n\nimport { CAROUSEL_ITEM } from '../../../utilities/constants';\n\n/**\n * A carousel allows multiple pieces of featured content to occupy an allocated amount of space.\n */\nconst CarouselItem = (props) => (\n\t\n\t\t{props.onRenderItem ? (\n\t\t\tprops.onRenderItem({ item: props })\n\t\t) : (\n\t\t\t\n\t\t\t\t
    \n\t\t\t\t\t\n\t\t\t\t
    \n\t\t\t\t
    \n\t\t\t\t\t

    {props.heading}

    \n\t\t\t\t\t\n\t\t\t\t\t\t{props.description}\n\t\t\t\t\t
    \n\t\t\t\t\t{props.buttonLabel && (\n\t\t\t\t\t\t\n\t\t\t\t\t)}\n\t\t\t\t\n\t\t\t\n\t\t)}\n\t\n);\n\nCarouselItem.displayName = CAROUSEL_ITEM;\n\nCarouselItem.propTypes = {\n\t/**\n\t * Label of the button to be displayed. If not provided, no button will be rendered.\n\t */\n\tbuttonLabel: PropTypes.string,\n\t/**\n\t * Carousel HTML ID\n\t */\n\tcarouselId: PropTypes.string,\n\t/**\n\t * CSS classes that are applied to the component\n\t */\n\tclassName: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\t/**\n\t * Visible paragraph text to be displayed on the carousel item\n\t */\n\tdescription: PropTypes.oneOfType([PropTypes.string, PropTypes.node]),\n\t/**\n\t * Carousel Item's visible heading\n\t */\n\theading: PropTypes.oneOfType([PropTypes.string, PropTypes.object]).isRequired,\n\thref: PropTypes.string,\n\t/**\n\t * Id of the item component.\n\t */\n\tid: PropTypes.number.isRequired,\n\t/**\n\t * Image alt text\n\t */\n\timageAssistiveText: PropTypes.string,\n\t/**\n\t * Boolean indicating whether this item is currently visible in the active parent carousel panel\n\t */\n\tisInCurrentPanel: PropTypes.bool,\n\t/**\n\t * Width of the carousel item\n\t */\n\titemWidth: PropTypes.number,\n\t/**\n\t * Accepts a callback to handle when the a tag is focused on\n\t */\n\tonFocus: PropTypes.func,\n\t/**\n\t * Accepts a custom carousel item rendering function\n\t */\n\tonRenderItem: PropTypes.func,\n\t/**\n\t * Index of the panel this item belongs to, to be used when associating it to an indicator\n\t */\n\tpanelIndex: PropTypes.number,\n\t/**\n\t * Path of the image to be used\n\t */\n\tsrc: PropTypes.string.isRequired,\n};\n\nCarouselItem.defaultProps = {\n\thref: 'javascript:void(0);',\n};\n\nexport default CarouselItem;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// ### React\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport Button from '../../../components/button';\nimport { CAROUSEL_AUTOPLAY_BUTTON } from '../../../utilities/constants';\n\n/**\n * AutoplayButton is used to start/pause the autoplay iteration of the carousel\n */\nconst AutoplayButton = (props) => (\n\t\n\t\t\n\t\n);\nAutoplayButton.displayName = CAROUSEL_AUTOPLAY_BUTTON;\n\n// ### Prop Types\nAutoplayButton.propTypes = {\n\t/**\n\t * Description of the start/pause autoplay button for screen-readers.\n\t */\n\tassistiveText: PropTypes.string,\n\t/**\n\t * Indicates whether autoplay is enabled\n\t */\n\tisAutoplayOn: PropTypes.bool,\n\t/**\n\t * Triggered when the autoplay button is clicked.\n\t */\n\tonClick: PropTypes.func,\n};\n\nAutoplayButton.defaultProps = {\n\tisAutoplayOn: false,\n};\n\nexport default AutoplayButton;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// # Carousel Component\n\n// Implements the [Carousel design pattern](https://www.lightningdesignsystem.com/components/carousel/) in React.\n\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport classnames from 'classnames';\n\n// ### shortid\n// [npmjs.com/package/shortid](https://www.npmjs.com/package/shortid)\n// shortid is a short, non-sequential, url-friendly, unique id generator\nimport shortid from 'shortid';\n\nimport { CAROUSEL } from '../../utilities/constants';\n\nimport {\n\tcanUseDOM,\n\tcanUseEventListeners,\n} from '../../utilities/execution-environment';\n\nimport CarouselIndicators from './private/carousel-indicators';\nimport PreviousNextCarouselNavigator from './private/previous-next-carousel-navigator';\nimport CarouselItem from './private/carousel-item';\nimport AutoplayButton from './private/auto-play-button';\n\n// ### Event Helpers\nimport KEYS from '../../utilities/key-code';\nimport EventUtil from '../../utilities/event';\n\n/* eslint-disable jsx-a11y/no-static-element-interactions */\n\n// ### Default Props\nconst defaultProps = {\n\tassistiveText: {\n\t\tautoplayButton: 'Start / Stop auto-play',\n\t\tnextPanel: 'Next Panel',\n\t\tpreviousPanel: 'Previous Panel',\n\t},\n\tautoplayInterval: 4000,\n\thasAutoplay: false,\n\thasPreviousNextPanelNavigation: false,\n\tisInfinite: false,\n\titemsPerPanel: 1,\n};\n\n/**\n * A carousel allows multiple pieces of featured content to occupy an allocated amount of space.\n * Currently panel index and auto play cannot be controlled by the app.\n */\nclass Carousel extends React.Component {\n\t// ### Display Name\n\t// Always use the canonical component name as the React display name.\n\tstatic displayName = CAROUSEL;\n\n\t// ### Prop Types\n\tstatic propTypes = {\n\t\t/**\n\t\t * Description of the carousel items for screen-readers.\n\t\t */\n\t\tassistiveText: PropTypes.object,\n\t\t/**\n\t\t * Interval for the autoplay iteration\n\t\t */\n\t\tautoplayInterval: PropTypes.number,\n\t\t/**\n\t\t * CSS classes that are applied to the main 'slds-carousel' classed component container\n\t\t */\n\t\tclassName: PropTypes.oneOfType([\n\t\t\tPropTypes.array,\n\t\t\tPropTypes.object,\n\t\t\tPropTypes.string,\n\t\t]),\n\t\t/**\n\t\t * Dictates the currently active/visible carousel panel. Use with `onRequestPanelChange` for a controlled carousel component. If not provided, the carousel will manage this itself via state.\n\t\t */\n\t\tcurrentPanel: PropTypes.number,\n\t\t/**\n\t\t * Boolean showing whether the autoplay button is available or not\n\t\t */\n\t\thasAutoplay: PropTypes.bool,\n\t\t/**\n\t\t * Boolean for displaying the navigation indicators (left/right arrows) of the carousel\n\t\t */\n\t\thasPreviousNextPanelNavigation: PropTypes.bool,\n\t\t/**\n\t\t * Id of component, if desired. If not provided an id is automatically generated\n\t\t */\n\t\tid: PropTypes.string,\n\t\t/**\n\t\t * Boolean that dictates whether autoplay is active or not. Use with `onRequestAutoplayToggle` for a controlled carousel component.\n\t\t */\n\t\tisAutoplayOn: PropTypes.bool,\n\t\t/**\n\t\t * Boolean for infinite loop navigation. Note: if not true autoplay will stop automatically at the last panel.\n\t\t */\n\t\tisInfinite: PropTypes.bool,\n\t\t/**\n\t\t * * **Array of item objects used by the default carousel item renderer.**\n\t\t * Each object can contain:\n\t\t * * `id`: The id of the carousel item. [REQUIRED]\n\t\t * * `heading`: Primary string that will be used as the heading\n\t\t * * `description`: Secondary string that is used to describe the item\n\t\t * * `buttonLabel`: If assigned a call to button action will be rendered with this text, if unassigned no button is rendered\n\t\t * * `imageAssistiveText`: Image alt text, if not present heading will be used instead\n\t\t * * `href`: Used for item link, if not provided 'javascript:void(0);' is used instead\n\t\t * * `src`: Item image src value\n\t\t */\n\t\titems: PropTypes.array.isRequired,\n\t\t/**\n\t\t * Number of items to be displayed at a time in the carousel\n\t\t */\n\t\titemsPerPanel: PropTypes.number,\n\t\t/**\n\t\t * Accepts a custom carousel item rendering function\n\t\t */\n\t\tonRenderItem: PropTypes.func,\n\t\t/**\n\t\t * Called whenever `isAutoplayOn` is requested to be toggled on or off. Use with `isAutoplayOn` prop for a controlled carousel component. Passes an event object and a data object with the current `isAutoplayOn` value as an attribute.\n\t\t */\n\t\tonRequestAutoplayToggle: PropTypes.func,\n\t\t/**\n\t\t * Called whenever the panel is requested to change due to user interaction or auto-play. Use with `currentPanel` for a controlled carousel component. Passes an event object and a data object with `currentPanel` and `requestedPanel` attributes.\n\t\t */\n\t\tonRequestPanelChange: PropTypes.func,\n\t\t/**\n\t\t * Handler for clicking on a carousel item\n\t\t */\n\t\tonItemClick: PropTypes.func,\n\t};\n\n\t// ### Default Props\n\tstatic defaultProps = defaultProps;\n\n\tconstructor(props) {\n\t\tsuper(props);\n\n\t\tthis.nrOfPanels = Math.ceil(props.items.length / props.itemsPerPanel);\n\t\tthis.stageItem = React.createRef();\n\n\t\tthis.state = {\n\t\t\tcurrentPanel: props.currentPanel !== undefined ? props.currentPanel : 0,\n\t\t\tindicatorsHaveFocus: false,\n\t\t\tisAutoplayOn:\n\t\t\t\tprops.isAutoplayOn !== undefined\n\t\t\t\t\t? props.isAutoplayOn\n\t\t\t\t\t: props.hasAutoplay,\n\t\t\tstageWidth: 0,\n\t\t\ttranslateX: -1000000,\n\t\t};\n\n\t\tthis.generatedId = shortid.generate();\n\t}\n\n\tcomponentDidMount() {\n\t\tif (\n\t\t\tcanUseDOM &&\n\t\t\tthis.stageItem !== undefined &&\n\t\t\tthis.stageItem.current !== undefined &&\n\t\t\tthis.stageItem.current.offsetWidth !== undefined\n\t\t) {\n\t\t\tthis.stageWidth = this.stageItem.current.offsetWidth;\n\t\t}\n\n\t\tif (canUseEventListeners) {\n\t\t\twindow.addEventListener('resize', this.setDimensions, false);\n\t\t}\n\n\t\tthis.changeTranslationAutomatically();\n\n\t\tif (this.getIsAutoplayOn()) {\n\t\t\tthis.startAutoplay({ mountAutoplayEvent: true });\n\t\t}\n\t}\n\n\tcomponentDidUpdate(prevProps) {\n\t\tif (\n\t\t\tthis.props.currentPanel !== undefined &&\n\t\t\tprevProps.currentPanel !== this.props.currentPanel\n\t\t) {\n\t\t\tthis.changeTranslationAutomatically();\n\t\t}\n\t\tif (\n\t\t\tthis.props.isAutoplayOn !== undefined &&\n\t\t\tprevProps.isAutoplayOn !== this.props.isAutoplayOn\n\t\t) {\n\t\t\tif (this.props.isAutoplayOn) {\n\t\t\t\tthis.startAutoplay({ updateAutoplayEvent: true });\n\t\t\t} else {\n\t\t\t\tthis.stopAutoplay({ updateAutoplayEvent: true }, true);\n\t\t\t}\n\t\t}\n\t\tif (\n\t\t\tprevProps.items.length !== this.props.items.length ||\n\t\t\tprevProps.itemsPerPanel !== this.props.itemsPerPanel\n\t\t) {\n\t\t\tthis.nrOfPanels = Math.ceil(\n\t\t\t\tthis.props.items.length / this.props.itemsPerPanel\n\t\t\t);\n\t\t}\n\t}\n\n\tcomponentWillUnmount() {\n\t\tif (canUseEventListeners) {\n\t\t\twindow.removeEventListener('resize', this.setDimensions, false);\n\t\t}\n\t\tthis.stopAutoplay({ unmountAutoplayEvent: true }, true);\n\t}\n\n\tonNextPanelHandler = (event) => {\n\t\tlet next = this.getCurrentPanel() + 1;\n\t\tif (next > this.nrOfPanels - 1) {\n\t\t\tnext = 0;\n\t\t}\n\t\tthis.setCurrentPanel(event, next, this.changeTranslationAutomatically);\n\t};\n\n\tonPreviousPanelHandler = (event) => {\n\t\tlet prev = this.getCurrentPanel() - 1;\n\t\tif (prev < 0) {\n\t\t\tprev = this.nrOfPanels - 1;\n\t\t}\n\t\tthis.setCurrentPanel(event, prev, this.changeTranslationAutomatically);\n\t};\n\n\tonIndicatorBlur = () => {\n\t\tthis.setState({ indicatorsHaveFocus: false });\n\t};\n\n\tonIndicatorClickHandler = (event, panel) => {\n\t\tthis.setCurrentPanel(event, panel, this.changeTranslationAutomatically);\n\t\tthis.setState({ indicatorsHaveFocus: true });\n\t\tif (this.getIsAutoplayOn()) {\n\t\t\tthis.stopAutoplay(event);\n\t\t}\n\t};\n\n\tonIndicatorFocus = (event) => {\n\t\tthis.setState({ indicatorsHaveFocus: true });\n\t\tif (this.getIsAutoplayOn()) {\n\t\t\tthis.stopAutoplay(event);\n\t\t}\n\t};\n\n\tonAutoplayBtnClick = (event) => {\n\t\tconst isAutoplayOn = this.getIsAutoplayOn();\n\n\t\tif (this.props.onRequestAutoplayToggle) {\n\t\t\tthis.props.onRequestAutoplayToggle(event, { isAutoplayOn });\n\t\t} else {\n\t\t\tconst actionToTake = isAutoplayOn\n\t\t\t\t? this.stopAutoplay\n\t\t\t\t: this.startAutoplay;\n\n\t\t\tthis.setState({\n\t\t\t\tisAutoplayOn: !isAutoplayOn,\n\t\t\t});\n\t\t\tactionToTake(event);\n\t\t}\n\t};\n\n\tgetPanelId = ({ carouselId, itemId }) => `content-id-${carouselId}-${itemId}`;\n\n\tgetCurrentPanel() {\n\t\treturn this.props.currentPanel !== undefined\n\t\t\t? this.props.currentPanel\n\t\t\t: this.state.currentPanel;\n\t}\n\n\tgetIsAutoplayOn() {\n\t\treturn this.props.isAutoplayOn !== undefined\n\t\t\t? this.props.isAutoplayOn\n\t\t\t: this.state.isAutoplayOn;\n\t}\n\n\tsetDimensions = () => {\n\t\tif (\n\t\t\tcanUseDOM &&\n\t\t\tthis.stageItem !== undefined &&\n\t\t\tthis.stageItem.current !== undefined &&\n\t\t\tthis.stageItem.current.offsetWidth !== undefined\n\t\t) {\n\t\t\tthis.setState(\n\t\t\t\t{ stageWidth: this.stageItem.current.offsetWidth },\n\t\t\t\tthis.changeTranslationAutomatically\n\t\t\t);\n\t\t}\n\t};\n\n\tsetTranslationAmount = (amount, cb) => {\n\t\tthis.setState({ translateX: amount }, cb);\n\t};\n\n\tsetCurrentPanel = (event, amount, cb) => {\n\t\tif (this.props.onRequestPanelChange) {\n\t\t\tthis.props.onRequestPanelChange(event, {\n\t\t\t\tcurrentPanel: this.getCurrentPanel(),\n\t\t\t\trequestedPanel: amount,\n\t\t\t});\n\t\t} else {\n\t\t\tthis.setState({ currentPanel: amount }, cb);\n\t\t}\n\t};\n\n\tstartAutoplay = (event) => {\n\t\tthis.autoplayId = setInterval(() => {\n\t\t\tif (this.canGoToNext()) {\n\t\t\t\tthis.onNextPanelHandler(event);\n\t\t\t} else if (this.props.isInfinite) {\n\t\t\t\tthis.setCurrentPanel(event, 0, this.changeTranslationAutomatically);\n\t\t\t} else {\n\t\t\t\tthis.stopAutoplay(event);\n\t\t\t}\n\t\t}, this.props.autoplayInterval);\n\t};\n\n\tstopAutoplay = (event, ignoreCallbacksAndStateUpdates) => {\n\t\tif (this.autoplayId) {\n\t\t\tclearInterval(this.autoplayId);\n\t\t}\n\n\t\tif (!ignoreCallbacksAndStateUpdates) {\n\t\t\tif (this.props.onRequestAutoplayToggle) {\n\t\t\t\tthis.props.onRequestAutoplayToggle(event, {\n\t\t\t\t\tisAutoplayOn: this.getIsAutoplayOn(),\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\tthis.setState({ isAutoplayOn: false });\n\t\t\t}\n\t\t}\n\t};\n\n\tchangeTranslationAutomatically = () => {\n\t\tthis.setTranslationAmount(\n\t\t\t-((this.state.stageWidth || this.stageWidth) * this.getCurrentPanel())\n\t\t);\n\t};\n\n\tcanGoToNext = () => this.getCurrentPanel() < this.nrOfPanels - 1;\n\n\tcanGoToPrevious = () => this.getCurrentPanel() > 0;\n\n\thandleKeyDown = (event) => {\n\t\tconst keyDownCallbacks = {\n\t\t\t[KEYS.LEFT]: () => {\n\t\t\t\tif (this.props.isInfinite || this.canGoToPrevious()) {\n\t\t\t\t\tthis.onPreviousPanelHandler(event);\n\t\t\t\t\tthis.setState({ indicatorsHaveFocus: true });\n\t\t\t\t\tif (this.getIsAutoplayOn()) {\n\t\t\t\t\t\tthis.stopAutoplay(event);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t},\n\t\t\t[KEYS.RIGHT]: () => {\n\t\t\t\tif (this.props.isInfinite || this.canGoToNext()) {\n\t\t\t\t\tthis.onNextPanelHandler(event);\n\t\t\t\t\tthis.setState({ indicatorsHaveFocus: true });\n\t\t\t\t\tif (this.getIsAutoplayOn()) {\n\t\t\t\t\t\tthis.stopAutoplay(event);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t},\n\t\t};\n\n\t\tif (keyDownCallbacks[event.keyCode]) {\n\t\t\tEventUtil.trapImmediate(event);\n\t\t\tkeyDownCallbacks[event.keyCode]();\n\t\t}\n\t};\n\n\trender() {\n\t\tconst {\n\t\t\thasAutoplay,\n\t\t\thasPreviousNextPanelNavigation,\n\t\t\tisInfinite,\n\t\t} = this.props;\n\t\tconst currentPanel = this.getCurrentPanel();\n\t\tconst id = this.props.id || this.generatedId;\n\t\tconst isPreviousBtnDisabled = !(isInfinite || this.canGoToPrevious());\n\t\tconst isNextBtnDisabled = !(isInfinite || this.canGoToNext());\n\t\tconst itemWidth =\n\t\t\t(this.state.stageWidth || this.stageWidth) / this.props.itemsPerPanel;\n\t\tconst carouselMargins = hasPreviousNextPanelNavigation\n\t\t\t? { marginLeft: '44px', marginRight: '44px' }\n\t\t\t: {};\n\t\treturn (\n\t\t\t\n\t\t\t\t
    \n\t\t\t\t\t{hasAutoplay && (\n\t\t\t\t\t\t\n\t\t\t\t\t)}\n\t\t\t\t\t
    \n\t\t\t\t\t\t{hasPreviousNextPanelNavigation && (\n\t\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\t\tif (this.getIsAutoplayOn()) {\n\t\t\t\t\t\t\t\t\t\tthis.stopAutoplay(event);\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tthis.onPreviousPanelHandler(event);\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\tinlineStyle={{ left: '-38px' }}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t)}\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t{this.props.items.map((item, index) => (\n\t\t\t\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\t\t\t\tthis.props.onItemClick(event, { item });\n\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\tonFocus={(event) => {\n\t\t\t\t\t\t\t\t\t\t\tif (this.getIsAutoplayOn()) {\n\t\t\t\t\t\t\t\t\t\t\t\tthis.stopAutoplay(event);\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\tonRenderItem={this.props.onRenderItem}\n\t\t\t\t\t\t\t\t\t\t{...item}\n\t\t\t\t\t\t\t\t\t\tisInCurrentPanel={\n\t\t\t\t\t\t\t\t\t\t\tindex >= currentPanel * this.props.itemsPerPanel &&\n\t\t\t\t\t\t\t\t\t\t\tindex <\n\t\t\t\t\t\t\t\t\t\t\t\tcurrentPanel * this.props.itemsPerPanel +\n\t\t\t\t\t\t\t\t\t\t\t\t\tthis.props.itemsPerPanel\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\titemWidth={itemWidth}\n\t\t\t\t\t\t\t\t\t\tkey={item.id}\n\t\t\t\t\t\t\t\t\t\tpanelIndex={\n\t\t\t\t\t\t\t\t\t\t\tMath.ceil((index + 1) / this.props.itemsPerPanel) - 1\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t
    \n\t\t\t\t\t\t{hasPreviousNextPanelNavigation && (\n\t\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\t\tif (this.getIsAutoplayOn()) {\n\t\t\t\t\t\t\t\t\t\tthis.stopAutoplay(event);\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tthis.onNextPanelHandler(event);\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\tinlineStyle={{ right: '-38px' }}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t)}\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t);\n\t}\n}\n\nexport default Carousel;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n/* eslint-disable import/no-mutable-exports */\n/* eslint-disable max-len */\n\n// This function will deliver a warning message to the browser console about an event parameter change.\nimport lowPriorityWarning from './low-priority-warning';\n\nlet deprecated = function deprecatedFunction() {};\n\nif (process.env.NODE_ENV !== 'production') {\n\tconst hasWarned = {};\n\n\tdeprecated = function deprecatedFunction(\n\t\tcontrol,\n\t\t{\n\t\t\toldEventParameterOrder, // flag that tells which parameter order is in use\n\t\t\tpropAsString, // key name of prop being warned about\n\t\t\tlog, // log function that will disable console warning and pipe to another function log({ message })\n\t\t},\n\t\tcomment\n\t) {\n\t\tconst additionalComment = comment ? ` ${comment}` : '';\n\t\tconst warnOnFirstOccurrenceKey = control + propAsString;\n\t\tconst triggerWarning = Boolean(oldEventParameterOrder);\n\n\t\tif (!hasWarned[warnOnFirstOccurrenceKey]) {\n\t\t\tconst message = `[Design System React] ${additionalComment}`;\n\n\t\t\tif (triggerWarning && log) {\n\t\t\t\tlog({ message });\n\t\t\t} else if (triggerWarning) {\n\t\t\t\tlowPriorityWarning(\n\t\t\t\t\tfalse, // false value triggers warning\n\t\t\t\t\tmessage\n\t\t\t\t);\n\t\t\t}\n\t\t\t// store global flag to limit warnings to first issue\n\t\t\thasWarned[warnOnFirstOccurrenceKey] = triggerWarning;\n\t\t}\n\t};\n}\n\nexport default deprecated;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n/* eslint-disable import/no-mutable-exports */\n/* eslint-disable max-len */\n\nimport deprecatedEventParameter from '../../utilities/warning/deprecated-event-parameter';\nimport getComponentDocFn from '../../utilities/get-component-doc';\nimport onlyOneOfProperties from '../../utilities/warning/only-one-of-properties';\nimport sunsetProperty from '../../utilities/warning/sunset-property';\n\nlet checkProps = function checkPropsFunction() {};\n\nif (process.env.NODE_ENV !== 'production') {\n\tcheckProps = function checkPropsFunction(COMPONENT, props, jsonDoc) {\n\t\tconst createDocUrl = getComponentDocFn(jsonDoc);\n\n\t\tsunsetProperty(\n\t\t\tCOMPONENT,\n\t\t\tprops.label,\n\t\t\t'label',\n\t\t\t`Use \\`labels.label\\` instead.${createDocUrl('labels')}`\n\t\t);\n\n\t\tdeprecatedEventParameter(\n\t\t\tCOMPONENT,\n\t\t\t{\n\t\t\t\toldEventParameterOrder: props.oldEventParameterOrder,\n\t\t\t\tpropAsString: 'onChange',\n\t\t\t\tpropAsValue: props.onChange,\n\t\t\t},\n\t\t\t`\\`components/forms/checkbox\\` is deprecated. \\`components/checkbox\\` should be used. When this path update is made \\`onChange\\` event parameters will change from \\`onChange(value, event, { value }) to \\`onChange(event, { value }). Please update your event parameters when you change paths.\\` If you are using the CommonJS named import, \\`Checkbox\\` events will break at v1.0 and this warning will be present until then. Please review https://github.com/salesforce/design-system-react/releases when you upgrade. ${createDocUrl(\n\t\t\t\t'onChange'\n\t\t\t)}`\n\t\t);\n\n\t\tif (props.variant === 'toggle' && props.indeterminate === true) {\n\t\t\tonlyOneOfProperties(\n\t\t\t\tCOMPONENT,\n\t\t\t\t{\n\t\t\t\t\tvariant: props.variant,\n\t\t\t\t\tindeterminate: props.indeterminate,\n\t\t\t\t},\n\t\t\t\t`Currently SLDS does not support the \\`indeterminate\\` state in Checkbox Toggle. See SLDS documentation about [Checkbox Toggle](https://lightningdesignsystem.com/components/forms/#flavor-checkbox-toggle-checkbox-toggle) for more information. ${createDocUrl(\n\t\t\t\t\t'variant'\n\t\t\t\t)}`\n\t\t\t);\n\t\t}\n\t};\n}\n\nexport default checkProps;\n","/* eslint-disable react/jsx-curly-brace-presence */\n/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// # Checkbox Component\n\n// Implements the [Checkbox design pattern](https://www.lightningdesignsystem.com/components/forms/#checkbox) in React.\n\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\nimport classNames from 'classnames';\n\n// ### shortid\n// [npmjs.com/package/shortid](https://www.npmjs.com/package/shortid)\n// shortid is a short, non-sequential, url-friendly, unique id generator\nimport shortid from 'shortid';\n\n// ### Event Helpers\nimport KEYS from '../../utilities/key-code';\nimport EventUtil from '../../utilities/event';\n\n// This component's `checkProps` which issues warnings to developers about properties when in development mode (similar to React's built in development tools)\nimport checkProps from './check-props';\nimport componentDoc from './component.json';\n\nimport { CHECKBOX } from '../../utilities/constants';\nimport Icon from '../icon';\n\nimport getAriaProps from '../../utilities/get-aria-props';\n\nconst propTypes = {\n\t/**\n\t * An HTML ID that is shared with ARIA-supported devices with the\n\t * `aria-controls` attribute in order to relate the input with\n\t * another region of the page. An example would be a select box\n\t * that shows or hides a panel.\n\t */\n\t'aria-controls': PropTypes.string,\n\t/**\n\t * The `aria-describedby` attribute is used to indicate the IDs of the elements that describe the object. It is used to establish a relationship between widgets or groups and text that described them. This is very similar to aria-labelledby: a label describes the essence of an object, while a description provides more information that the user might need.\n\t */\n\t'aria-describedby': PropTypes.string,\n\t/**\n\t * The aria-labelledby attribute establishes relationships between objects and their label(s), and its value should be one or more element IDs, which refer to elements that have the text needed for labeling. List multiple element IDs in a space delimited fashion.\n\t */\n\t'aria-labelledby': PropTypes.string,\n\t/**\n\t * `aria-owns` indicate that an element depends on the current one when the relation can't be determined by the hierarchy structure.\n\t */\n\t'aria-owns': PropTypes.string,\n\t/**\n\t * The `aria-required` attribute is used to indicate that user input is required on an element before a form can be submitted.\n\t */\n\t'aria-required': PropTypes.bool,\n\t/**\n\t * **Assistive text for accessibility**\n\t * This object is merged with the default props object on every render.\n\t * * `heading`: This is used as a visually hidden label if, no `labels.heading` is provided.\n\t * * `label`: This is used as a visually hidden label if, no `labels.label` is provided.\n\t */\n\tassistiveText: PropTypes.shape({\n\t\theading: PropTypes.string,\n\t\tlabel: PropTypes.string,\n\t}),\n\t/**\n\t * The Checkbox should be a controlled component, and will always be in the state specified. If checked is not defined, the state of the uncontrolled native `input` component will be used.\n\t */\n\tchecked: PropTypes.bool,\n\t/**\n\t * This is the initial value of an uncontrolled form element and is present only\n\t * to provide compatibility with hybrid framework applications that are not\n\t * entirely React. It should only be used in an application without centralized\n\t * state (Redux, Flux). \"Controlled components\" with centralized state is highly recommended. See [Code Overview](https://github.com/salesforce/design-system-react/blob/master/docs/codebase-overview.md#controlled-and-uncontrolled-components) for more information.\n\t */\n\tdefaultChecked: PropTypes.bool,\n\t/**\n\t * Class names to be added to the outer container of the Checkbox.\n\t */\n\tclassName: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\t/**\n\t * Disables the Checkbox and prevents clicking it.\n\t */\n\tdisabled: PropTypes.bool,\n\t/**\n\t * Message to display when the Checkbox is in an error state. When this is present, also visually highlights the component as in error.\n\t */\n\terrorText: PropTypes.string,\n\t/**\n\t * A unique ID is needed in order to support keyboard navigation and ARIA support. This ID is added to the `input` element\n\t */\n\tid: PropTypes.string,\n\t/**\n\t * The Checkbox will be indeterminate if its state can not be figured out or is partially checked. Once a checkbox is indeterminate, a click should cause it to be checked. Since a user cannot put a checkbox into an indeterminate state, it is assumed you are controlling the value of `checked` with the parent, also, and that this is a controlled component. **Note:** `indeterminate` proptype does nothing in the `toggle` variant, as [SLDS does not support it](https://lightningdesignsystem.com/components/forms/#flavor-checkbox-toggle-checkbox-toggle).\n\t */\n\tindeterminate: PropTypes.bool,\n\t/**\n\t * **Text labels for internationalization**\n\t * This object is merged with the default props object on every render.\n\t * * `heading`: Heading for the visual picker variant\n\t * * `label`: Label for the _enabled_ state of the Toggle variant. Defaults to \"Enabled\".\n\t * * `toggleDisabled`: Label for the _disabled_ state of the Toggle variant. Defaults to \"Disabled\". Note that this uses SLDS language, and meaning, of \"Enabled\" and \"Disabled\"; referring to the state of whatever the checkbox is _toggling_, not whether the checkbox itself is enabled or disabled.\n\t * * `toggleEnabled`: Label for the _enabled_ state of the Toggle variant. Defaults to \"Enabled\".\n\t */\n\tlabels: PropTypes.shape({\n\t\theading: PropTypes.string,\n\t\tlabel: PropTypes.string,\n\t\ttoggleDisabled: PropTypes.string,\n\t\ttoggleEnabled: PropTypes.string,\n\t}),\n\t/**\n\t * Name of the submitted form parameter.\n\t */\n\tname: PropTypes.string,\n\t/**\n\t * This event fires when the Checkbox looses focus. It passes in `{ event }`.\n\t */\n\tonBlur: PropTypes.func,\n\t/**\n\t * This event fires when the Checkbox changes. Passes in `event, { checked }`. This used to be `checked, event, { checked }`.\n\t */\n\tonChange: PropTypes.func,\n\t/**\n\t * This event fires when the Checkbox is focused. It passes in `{ event }`.\n\t */\n\tonFocus: PropTypes.func,\n\t/**\n\t * This event fires when a key is pressed down. It passes in `{ event }`.\n\t */\n\tonKeyDown: PropTypes.func,\n\t/**\n\t * This event fires when a character is typed. See [this article](http://www.bloggingdeveloper.com/post/KeyPress-KeyDown-KeyUp-The-Difference-Between-Javascript-Key-Events.aspx) for more information. It passes in `{ event }`.\n\t */\n\tonKeyPress: PropTypes.func,\n\t/**\n\t * This event fires when a pressed key is released. It passes in `{ event }`.\n\t */\n\tonKeyUp: PropTypes.func,\n\t/**\n\t * Displays the value of the input, but does not allow changes.\n\t */\n\treadOnly: PropTypes.bool,\n\t/**\n\t * Highlights the Checkbox as a required field (does not perform any validation).\n\t */\n\trequired: PropTypes.bool,\n\t/**\n\t * The aria-role of the checkbox.\n\t */\n\trole: PropTypes.string,\n\t/**\n\t * Which UX pattern of checkbox? The default is `base` while other option is `toggle`. (**Note:** `toggle` variant does not support the `indeterminate` feature, because [SLDS does not support it](https://lightningdesignsystem.com/components/forms/#flavor-checkbox-toggle-checkbox-toggle).)\n\t */\n\tvariant: PropTypes.oneOf(['base', 'toggle', 'button-group', 'visual-picker']),\n\t/**\n\t * Determines whether visual picker is coverable when selected (only for visual picker variant)\n\t */\n\tcoverable: PropTypes.bool,\n\t/**\n\t * Determines whether the visual picker should be vertical or horizontal (only for visual picker variant)\n\t */\n\tvertical: PropTypes.bool,\n\t/**\n\t * Allows icon to shown with checkbox (only for non-coverable visual picker variant)\n\t */\n\tonRenderVisualPicker: PropTypes.func,\n\t/**\n\t * Allows icon to shown if checkbox is not selected (only for visual picker variant)\n\t */\n\tonRenderVisualPickerSelected: PropTypes.func,\n\t/**\n\t * Allows icon to shown if checkbox is not selected (only for visual picker variant)\n\t */\n\tonRenderVisualPickerNotSelected: PropTypes.func,\n\t/**\n\t * Size of checkbox in case of visual composer variant\n\t */\n\tsize: PropTypes.oneOf(['medium', 'large']),\n};\n\nconst defaultProps = {\n\tassistiveText: {},\n\tlabels: {\n\t\ttoggleDisabled: 'Disabled',\n\t\ttoggleEnabled: 'Enabled',\n\t},\n\tvariant: 'base',\n};\n\n/**\n * The ability to style checkboxes with CSS varies across browsers. Using this component ensures checkboxes look the same everywhere.\n */\nclass Checkbox extends React.Component {\n\tconstructor(props) {\n\t\tsuper(props);\n\n\t\tcheckProps(CHECKBOX, this.props, componentDoc);\n\t\tthis.generatedId = shortid.generate();\n\t}\n\n\tgetId = () => this.props.id || this.generatedId;\n\n\tgetErrorId = () =>\n\t\tthis.props.errorText ? `${this.getId()}-error-text` : undefined;\n\n\tgetAriaDescribedBy = ({ idArray = [] } = {}) =>\n\t\tidArray\n\t\t\t.concat(this.props['aria-describedby'], this.getErrorId())\n\t\t\t.filter(Boolean)\n\t\t\t.join(' ') || undefined;\n\n\thandleChange = (event) => {\n\t\tconst { checked, indeterminate, onChange } = this.props;\n\n\t\tif (typeof onChange === 'function') {\n\t\t\t// `target.checked` is present twice to maintain backwards compatibility. Please remove first parameter `value` on the next breaking change or when `forms/checkbox` is removed.\n\t\t\tif (this.props.oldEventParameterOrder) {\n\t\t\t\tonChange(event.target.checked, event, {\n\t\t\t\t\tchecked: indeterminate ? true : !checked,\n\t\t\t\t\tindeterminate: false,\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\t// NEW API\n\t\t\t\tonChange(event, {\n\t\t\t\t\tchecked: indeterminate ? true : !checked,\n\t\t\t\t\tindeterminate: false,\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t};\n\n\thandleKeyDown = (event) => {\n\t\tif (event.keyCode) {\n\t\t\tif (event.keyCode === KEYS.ENTER || event.keyCode === KEYS.SPACE) {\n\t\t\t\tEventUtil.trapImmediate(event);\n\t\t\t\tthis.handleChange(event);\n\t\t\t}\n\t\t}\n\t};\n\n\trenderButtonGroupVariant = (props, ariaProps, assistiveText, labels) => (\n\t\t\n\t\t\t {\n\t\t\t\t\tthis.input = component;\n\t\t\t\t}}\n\t\t\t\trole={props.role}\n\t\t\t\trequired={props.required}\n\t\t\t\ttype=\"checkbox\"\n\t\t\t\t{...ariaProps}\n\t\t\t\taria-describedby={this.getAriaDescribedBy()}\n\t\t\t/>\n\t\t\t\n\t\t\n\t);\n\n\trenderBaseVariant = (props, ariaProps, assistiveText, labels) => (\n\t\t\n\t\t\t
    \n\t\t\t\t\n\t\t\t\t\t{props.required ? (\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t{'*'}\n\t\t\t\t\t\t\n\t\t\t\t\t) : null}\n\t\t\t\t\t {\n\t\t\t\t\t\t\tif (component) {\n\t\t\t\t\t\t\t\t// eslint-disable-next-line no-param-reassign\n\t\t\t\t\t\t\t\tcomponent.indeterminate = props.indeterminate;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tthis.input = component;\n\t\t\t\t\t\t}}\n\t\t\t\t\t\trole={props.role}\n\t\t\t\t\t\trequired={props.required}\n\t\t\t\t\t\ttype=\"checkbox\"\n\t\t\t\t\t\t{...ariaProps}\n\t\t\t\t\t\taria-describedby={this.getAriaDescribedBy()}\n\t\t\t\t\t/>\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t{labels.label ? (\n\t\t\t\t\t\t\t{labels.label}\n\t\t\t\t\t\t) : null}\n\t\t\t\t\t\t{assistiveText.label ? (\n\t\t\t\t\t\t\t{assistiveText.label}\n\t\t\t\t\t\t) : null}\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t
    \n\t\t\t{props.errorText ? (\n\t\t\t\t
    \n\t\t\t\t\t{props.errorText}\n\t\t\t\t
    \n\t\t\t) : null}\n\t\t\n\t);\n\n\trenderToggleVariant = (props, ariaProps, assistiveText, labels) => (\n\t\t\n\t\t\t\n\t\t\t{props.errorText ? (\n\t\t\t\t
    \n\t\t\t\t\t{props.errorText}\n\t\t\t\t
    \n\t\t\t) : null}\n\t\t\n\t);\n\n\trenderVisualPickerVariant = (props, ariaProps, assistiveText) => (\n\t\t\n\t\t\t {\n\t\t\t\t\tthis.input = component;\n\t\t\t\t}}\n\t\t\t\trole={props.role}\n\t\t\t\trequired={props.required}\n\t\t\t\ttype=\"checkbox\"\n\t\t\t\t{...ariaProps}\n\t\t\t\taria-describedby={this.getAriaDescribedBy()}\n\t\t\t/>\n\t\t\t\n\t\t\n\t);\n\n\trender() {\n\t\tconst ariaProps = getAriaProps(this.props);\n\n\t\tif (this.props.variant === 'toggle') {\n\t\t\tariaProps['aria-describedby'] = `${this.getId()}-desc`;\n\t\t}\n\n\t\tconst assistiveText = {\n\t\t\t...defaultProps.assistiveText,\n\t\t\t/* Remove backward compatibility at next breaking change */\n\t\t\t...(typeof this.props.assistiveText === 'string'\n\t\t\t\t? { label: this.props.assistiveText }\n\t\t\t\t: {}),\n\t\t\t...(typeof this.props.assistiveText === 'object'\n\t\t\t\t? this.props.assistiveText\n\t\t\t\t: {}),\n\t\t};\n\t\tconst labels = {\n\t\t\t...defaultProps.labels,\n\t\t\t/* Remove backward compatibility at next breaking change */\n\t\t\t...(this.props.label ? { label: this.props.label } : {}),\n\t\t\t...this.props.labels,\n\t\t};\n\n\t\tconst subRenders = {\n\t\t\tbase: this.renderBaseVariant,\n\t\t\t'button-group': this.renderButtonGroupVariant,\n\t\t\ttoggle: this.renderToggleVariant,\n\t\t\t'visual-picker': this.renderVisualPickerVariant,\n\t\t};\n\t\tconst variantExists = subRenders[this.props.variant];\n\n\t\treturn variantExists\n\t\t\t? subRenders[this.props.variant](\n\t\t\t\t\tthis.props,\n\t\t\t\t\tariaProps,\n\t\t\t\t\tassistiveText,\n\t\t\t\t\tlabels\n\t\t\t )\n\t\t\t: subRenders.base(this.props, ariaProps, assistiveText, labels);\n\t}\n}\n\nCheckbox.displayName = CHECKBOX;\nCheckbox.propTypes = propTypes;\nCheckbox.defaultProps = defaultProps;\n\nexport default Checkbox;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n/* eslint-disable import/no-mutable-exports */\n\nimport onlyOneOfProperties from '../../utilities/warning/only-one-of-properties';\nimport getComponentDocFn from '../../utilities/get-component-doc';\n\nlet checkProps = function checkPropsFunction() {};\n\nif (process.env.NODE_ENV !== 'production') {\n\tcheckProps = function checkPropsFunction(COMPONENT, props, jsonDoc) {\n\t\tconst createDocUrl = getComponentDocFn(jsonDoc);\n\n\t\tonlyOneOfProperties(\n\t\t\tCOMPONENT,\n\t\t\t{\n\t\t\t\t'assistiveText.label': props.assistiveText && props.assistiveText.label,\n\t\t\t\tlabel: props.labels.label,\n\t\t\t},\n\t\t\tcreateDocUrl('assistiveText')\n\t\t);\n\t};\n}\n\nexport default checkProps;\n","import React from 'react';\nimport classNames from 'classnames';\n\nimport Input from '../../input';\n\nclass CustomColorForm extends React.Component {\n\tstatic displayName = 'SLDSCustomColorForm';\n\n\trender() {\n\t\tlet describedBy;\n\n\t\tif (this.props.errorTextWorkingColor || this.props.color.errors) {\n\t\t\tdescribedBy = `color-picker-custom-error-${this.props.id}`;\n\t\t}\n\n\t\treturn (\n\t\t\t
    \n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t
    \n\t\t);\n\t}\n}\n\nexport default CustomColorForm;\n","/* eslint-disable react/jsx-curly-brace-presence */\n/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// Implements the [Radio Group design pattern](https://lightningdesignsystem.com/components/radio-group/) in React.\n// Based on SLDS v2.5.0\n\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\n\nimport shortid from 'shortid';\nimport assign from 'lodash.assign';\n\nimport { RADIO_GROUP } from '../../utilities/constants';\n\nconst propTypes = {\n\t/**\n\t * **Assistive text for accessibility**\n\t * * `label`: This label appears in the legend.\n\t * * `required`: Text to help identify the group as required\n\t */\n\tassistiveText: PropTypes.shape({\n\t\tlabel: PropTypes.string,\n\t\trequired: PropTypes.string,\n\t}),\n\t/**\n\t * Children are expected to be Radio components.\n\t */\n\tchildren: PropTypes.node.isRequired,\n\t/**\n\t * Custom CSS classes added to the node.\n\t */\n\tclassName: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\t/**\n\t * **Text labels for internationalization**\n\t * This object is merged with the default props object on every render.\n\t * * `error`: Message to display when any of Checkboxes are in an error state.\n\t * * `label`: This label appears above the radio group.\n\t */\n\tlabels: PropTypes.shape({\n\t\terror: PropTypes.string,\n\t\tlabel: PropTypes.string,\n\t}),\n\t/**\n\t * This event fires when the radio selection changes.\n\t */\n\tonChange: PropTypes.func,\n\t/**\n\t * Disable all radio inputs.\n\t */\n\tdisabled: PropTypes.bool,\n\t/**\n\t * Adds an indicator that this field is required.\n\t */\n\trequired: PropTypes.bool,\n\t/**\n\t * The name of this radio group.\n\t */\n\tname: PropTypes.string,\n\t/**\n\t * The ID of the error message, for linking to radio inputs with aria-describedby.\n\t */\n\terrorId: PropTypes.string,\n\t/**\n\t * Variants of radio groups such as Radio Button Group\n\t */\n\tvariant: PropTypes.oneOf(['base', 'button-group']),\n};\n\nconst defaultProps = {\n\tassistiveText: { required: 'Required' },\n\tlabels: {},\n\tvariant: 'base',\n};\n\n/**\n * A styled select list that can have a single entry checked at any one time.\n * The RadioGroup component wraps [Radio](/components/radios) components, which should be used as children.\n */\nclass RadioGroup extends React.Component {\n\tconstructor(props) {\n\t\tsuper(props);\n\n\t\tthis.generatedName = shortid.generate();\n\t\tthis.generatedErrorId = shortid.generate();\n\t}\n\n\tgetErrorId() {\n\t\tif (this.hasError()) {\n\t\t\treturn this.props.errorId || this.generatedErrorId;\n\t\t}\n\t\treturn undefined;\n\t}\n\n\tgetName() {\n\t\treturn this.props.name || this.generatedName;\n\t}\n\n\thasError() {\n\t\treturn !!this.labels.error;\n\t}\n\n\trender() {\n\t\t// Merge objects of strings with their default object\n\t\tthis.labels = this.props.labels\n\t\t\t? assign({}, defaultProps.labels, this.props.labels)\n\t\t\t: defaultProps.labels;\n\n\t\tconst assistiveText = {\n\t\t\t...defaultProps.assistiveText,\n\t\t\t...this.props.assistiveText,\n\t\t};\n\t\tconst children = React.Children.map(this.props.children, (child) =>\n\t\t\tReact.cloneElement(child, {\n\t\t\t\tname: this.getName(),\n\t\t\t\tonChange: this.props.onChange,\n\t\t\t\t'aria-describedby': this.getErrorId(),\n\t\t\t\tdisabled: this.props.disabled,\n\t\t\t})\n\t\t);\n\n\t\treturn (\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t{this.props.required ? (\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t{'*'}\n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t{assistiveText.required}{' '}\n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t
    \n\t\t\t\t\t) : null}\n\t\t\t\t\t{assistiveText.label ? assistiveText.label : this.labels.label}\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t{this.props.variant === 'button-group' ? (\n\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t{children}\n\t\t\t\t\t\t
    \n\t\t\t\t\t) : (\n\t\t\t\t\t\tchildren\n\t\t\t\t\t)}\n\n\t\t\t\t\t{this.labels.error ? (\n\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t{this.labels.error}\n\t\t\t\t\t\t
    \n\t\t\t\t\t) : null}\n\t\t\t\t\n\t\t\t\n\t\t);\n\t}\n}\n\nRadioGroup.displayName = RADIO_GROUP;\nRadioGroup.propTypes = propTypes;\nRadioGroup.defaultProps = defaultProps;\n\nexport default RadioGroup;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// Implements the [Radio Button Group design pattern](https://lightningdesignsystem.com/components/radio-button-group/) in React.\n// Based on SLDS v2.5.0\n\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\nimport RadioGroup from '../radio-group';\n\nimport { RADIO_BUTTON_GROUP } from '../../utilities/constants';\n\nconst propTypes = {\n\t/**\n\t * **Assistive text for accessibility**\n\t * * `label`: This label appears in the legend.\n\t */\n\tassistiveText: PropTypes.shape({\n\t\tlabel: PropTypes.string,\n\t}),\n\t/**\n\t * Children are expected to be Radio components.\n\t */\n\tchildren: PropTypes.node.isRequired,\n\t/**\n\t * Custom CSS classes added to `slds-radio_button-group` node.\n\t */\n\tclassName: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\t/**\n\t * **Text labels for internationalization**\n\t * This object is merged with the default props object on every render.\n\t * * `error`: Message to display when any of Checkboxes are in an error state.\n\t * * `label`: This label appears above the button group.\n\t */\n\tlabels: PropTypes.shape({\n\t\terror: PropTypes.string,\n\t\tlabel: PropTypes.string,\n\t}),\n\t/**\n\t * This event fires when the radio selection changes.\n\t */\n\tonChange: PropTypes.func,\n\t/**\n\t * Disable all radio inputs.\n\t */\n\tdisabled: PropTypes.bool,\n\t/**\n\t * Adds an indicator that this field is required.\n\t */\n\trequired: PropTypes.bool,\n\t/**\n\t * The name of this radio group.\n\t */\n\tname: PropTypes.string,\n\t/**\n\t * The ID of the error message, for linking to radio inputs with aria-describedby.\n\t */\n\terrorId: PropTypes.string,\n};\n\nconst defaultProps = { labels: {}, assistiveText: {} };\n\n/**\n * A styled select list that can have a single entry checked at any one time.\n * The RadioButtonGroup component wraps [Radio](/components/radios) components, which should be used as children.\n */\nconst RadioButtonGroup = (props) => {\n\t// Separate props we care about in order to pass others along passively to the dropdown component\n\tconst { variant, ...rest } = props;\n\n\treturn ;\n};\n\nRadioButtonGroup.displayName = RADIO_BUTTON_GROUP;\nRadioButtonGroup.propTypes = propTypes;\nRadioButtonGroup.defaultProps = defaultProps;\n\nexport default RadioButtonGroup;\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nconst Swatch = ({ color, style, label, labels }) => {\n\tconst innerStyle = {\n\t\tbackgroundColor: color,\n\t\t...style,\n\t};\n\tlet assistiveText = label || color;\n\n\t// falsey values output a transparent swatch\n\tif (!color) {\n\t\tinnerStyle.backgroundImage =\n\t\t\t'linear-gradient(-45deg, white 47%, #870500 0, #870500 53%, white 0)';\n\t\tif (labels && labels.swatchTabTransparentSwatch) {\n\t\t\tassistiveText = labels.swatchTabTransparentSwatch;\n\t\t}\n\t}\n\n\treturn (\n\t\t\n\t\t\t{assistiveText}\n\t\t\n\t);\n};\n\nSwatch.propTypes = {\n\tcolor: PropTypes.string.isRequired,\n};\n\nexport default Swatch;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n/* eslint-disable import/no-mutable-exports */\n/* eslint-disable max-len */\n\nimport getComponentDocFn from '../../utilities/get-component-doc';\nimport sunsetProperty from '../../utilities/warning/sunset-property';\n\nlet checkProps = function checkPropsFunction() {};\n\nif (process.env.NODE_ENV !== 'production') {\n\tcheckProps = function checkPropsFunction(COMPONENT, props, jsonDoc) {\n\t\tconst createDocUrl = getComponentDocFn(jsonDoc);\n\n\t\tsunsetProperty(\n\t\t\tCOMPONENT,\n\t\t\tprops.label,\n\t\t\t'label',\n\t\t\t`Use \\`labels.label\\` instead.${createDocUrl('labels')}`\n\t\t);\n\t};\n}\n\nexport default checkProps;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport shortid from 'shortid';\nimport classNames from 'classnames';\n\nimport KEYS from '../../utilities/key-code';\nimport { RADIO } from '../../utilities/constants';\nimport getAriaProps from '../../utilities/get-aria-props';\nimport getDataProps from '../../utilities/get-data-props';\nimport Swatch from '../../components/color-picker/private/swatch';\nimport Icon from '../icon';\n\n// This component's `checkProps` which issues warnings to developers about properties when in development mode (similar to React's built in development tools)\nimport checkProps from './check-props';\nimport componentDoc from './component.json';\n\nconst propTypes = {\n\t/**\n\t * **Assistive text for accessibility**\n\t * This object is merged with the default props object on every render.\n\t * * `label`: This is used as a visually hidden label if, no `labels.label` is provided.\n\t */\n\tassistiveText: PropTypes.shape({\n\t\tlabel: PropTypes.string,\n\t}),\n\t/**\n\t * The ID of an element that describes this radio input. Often used for error messages.\n\t */\n\t'aria-describedby': PropTypes.string,\n\t/**\n\t * The aria-labelledby attribute establishes relationships between objects and their label(s), and its value should be one or more element IDs, which refer to elements that have the text needed for labeling. List multiple element IDs in a space delimited fashion.\n\t */\n\t'aria-labelledby': PropTypes.string,\n\t/**\n\t * This is a controlled component. This radio is checked according to this value.\n\t */\n\tchecked: PropTypes.bool,\n\t/**\n\t * Class name to be passed to radio input wrapper ( `span` element)\n\t */\n\tclassName: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\t/**\n\t * This is the initial value of an uncontrolled form element and is present only to provide compatibility\n\t * with hybrid framework applications that are not entirely React. It should only be used in an application\n\t * without centralized state (Redux, Flux). \"Controlled components\" with centralized state is highly recommended.\n\t * See [Code Overview](https://github.com/salesforce/design-system-react/blob/master/docs/codebase-overview.md#controlled-and-uncontrolled-components) for more information.\n\t */ defaultChecked: PropTypes.bool,\n\t/**\n\t * Disable this radio input.\n\t */\n\tdisabled: PropTypes.bool,\n\t/**\n\t * A unique ID that is used to associating a label to the `input` element. This ID is added to the `input` element.\n\t */\n\tid: PropTypes.string,\n\t/**\n\t * **Text labels for internationalization**\n\t * This object is merged with the default props object on every render.\n\t * * `heading`: Heading for the visual picker variant\n\t * * `label`: Label for the radio input\n\t */\n\tlabels: PropTypes.shape({\n\t\theading: PropTypes.string,\n\t\tlabel: PropTypes.string,\n\t}),\n\t/**\n\t * The name of the radio input group.\n\t */\n\tname: PropTypes.string,\n\t/**\n\t * This event fires when the radio selection changes. Passes in `event, { checked }`.\n\t */\n\tonChange: PropTypes.func,\n\t/**\n\t * The value of this radio input.\n\t */\n\tvalue: PropTypes.string,\n\t/**\n\t * Variant of the Radio button. Base is the default and button-group makes the radio button look like a normal button (should be a child of ).\n\t */\n\tvariant: PropTypes.oneOf(['base', 'button-group', 'swatch', 'visual-picker']),\n\t/**\n\t * Determines whether visual picker is coverable when selected (only for visual picker variant)\n\t */\n\tcoverable: PropTypes.bool,\n\t/**\n\t * Determines whether the visual picker should be vertical or horizontal (only for visual picker variant)\n\t */\n\tvertical: PropTypes.bool,\n\t/**\n\t * Allows icon to shown if radio is not selected (only for non-coverable visual picker variant)\n\t */\n\tonRenderVisualPicker: PropTypes.func,\n\t/**\n\t * Allows icon to shown if radio is not selected (only for visual picker variant)\n\t */\n\tonRenderVisualPickerSelected: PropTypes.func,\n\t/**\n\t * Allows icon to shown if radio is not selected (only for visual picker variant)\n\t */\n\tonRenderVisualPickerNotSelected: PropTypes.func,\n\t/**\n\t * Shows description for radio option (only for visual picker variant)\n\t */\n\tdescription: PropTypes.string,\n\t/**\n\t * Allows icon to shown if radio is not selected (only for visual picker variant)\n\t */\n\tsize: PropTypes.oneOf(['medium', 'large']),\n\t/**\n\t * Ref callback that will pass in the radio's `input` tag\n\t */\n\trefs: PropTypes.shape({\n\t\tinput: PropTypes.func,\n\t}),\n};\n\nconst defaultProps = {\n\tassistiveText: {},\n\tvariant: 'base',\n\tcoverable: false,\n};\n\n/**\n * A radio input that can have a single input checked at any one time. Radios should be wrapped with\n * a [RadioGroup](/components/radio-group) or [RadioButtonGroup](/components/radio-button-group)\n */\nclass Radio extends React.Component {\n\tconstructor(props) {\n\t\tsuper(props);\n\t\tthis.preventDuplicateChangeEvent = false;\n\t}\n\n\t// eslint-disable-next-line camelcase, react/sort-comp\n\tUNSAFE_componentWillMount() {\n\t\tcheckProps(RADIO, this.props, componentDoc);\n\t\tthis.generatedId = shortid.generate();\n\t}\n\n\tgetId() {\n\t\treturn this.props.id || this.generatedId;\n\t}\n\n\thandleChange = (event, preventDuplicateChangeEvent) => {\n\t\tif (!this.preventDuplicateChangeEvent) {\n\t\t\tthis.preventDuplicateChangeEvent = Boolean(preventDuplicateChangeEvent);\n\t\t\tif (this.props.onChange) {\n\t\t\t\tthis.props.onChange(event, {\n\t\t\t\t\tchecked: !this.props.checked,\n\t\t\t\t});\n\t\t\t}\n\t\t} else {\n\t\t\tthis.preventDuplicateChangeEvent = false;\n\t\t}\n\t};\n\n\trender() {\n\t\tconst ariaProps = getAriaProps(this.props);\n\t\tconst dataProps = getDataProps(this.props);\n\n\t\tlet radio;\n\n\t\tconst labels = {\n\t\t\t...defaultProps.labels,\n\t\t\t/* Remove backward compatibility at next breaking change */\n\t\t\t...(this.props.label ? { label: this.props.label } : {}),\n\t\t\t...this.props.labels,\n\t\t};\n\n\t\tif (this.props.variant === 'swatch') {\n\t\t\tradio = (\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t);\n\t\t} else if (this.props.variant === 'button-group') {\n\t\t\tradio = (\n\t\t\t\t\n\t\t\t);\n\t\t} else if (this.props.variant === 'visual-picker') {\n\t\t\tradio = (\n\t\t\t\t\n\t\t\t);\n\t\t} else {\n\t\t\tradio = (\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t{labels.label}\n\t\t\t\t\t{this.props.assistiveText.label ? (\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t{this.props.assistiveText.label}\n\t\t\t\t\t\t\n\t\t\t\t\t) : null}\n\t\t\t\t\n\t\t\t);\n\t\t}\n\n\t\treturn (\n\t\t\t\n\t\t\t\t {\n\t\t\t\t\t\tthis.handleChange(event);\n\t\t\t\t\t}}\n\t\t\t\t\tonClick={(event) => {\n\t\t\t\t\t\tif (this.props.checked && this.props.deselectable) {\n\t\t\t\t\t\t\tthis.handleChange(event);\n\t\t\t\t\t\t}\n\t\t\t\t\t}}\n\t\t\t\t\tonKeyPress={(event) => {\n\t\t\t\t\t\tconst { charCode } = event;\n\n\t\t\t\t\t\tif (\n\t\t\t\t\t\t\tcharCode === KEYS.SPACE &&\n\t\t\t\t\t\t\tthis.props.checked &&\n\t\t\t\t\t\t\tthis.props.deselectable\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\tthis.handleChange(event, true);\n\t\t\t\t\t\t} else if (\n\t\t\t\t\t\t\t(charCode === KEYS.ENTER &&\n\t\t\t\t\t\t\t\tthis.props.checked &&\n\t\t\t\t\t\t\t\tthis.props.deselectable) ||\n\t\t\t\t\t\t\t!this.props.checked\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\tthis.handleChange(event);\n\t\t\t\t\t\t}\n\t\t\t\t\t}}\n\t\t\t\t\tdisabled={this.props.disabled}\n\t\t\t\t\t{...ariaProps}\n\t\t\t\t\t{...dataProps}\n\t\t\t\t\tref={(input) => {\n\t\t\t\t\t\tif (this.props.refs && this.props.refs.input) {\n\t\t\t\t\t\t\tthis.props.refs.input(input);\n\t\t\t\t\t\t}\n\t\t\t\t\t}}\n\t\t\t\t/>\n\t\t\t\t{radio}\n\t\t\t\n\t\t);\n\t}\n}\n\nRadio.displayName = RADIO;\nRadio.propTypes = propTypes;\nRadio.defaultProps = defaultProps;\n\nexport default Radio;\n","// Alias\nimport Radio from '../radio/index';\n\nexport default Radio;\n","import assign from 'lodash.assign';\n\nconst COLOR_NAMES = {\n\taliceblue: '#f0f8ff',\n\tantiquewhite: '#faebd7',\n\taqua: '#00ffff',\n\taquamarine: '#7fffd4',\n\tazure: '#f0ffff',\n\tbeige: '#f5f5dc',\n\tbisque: '#ffe4c4',\n\tblack: '#000000',\n\tblanchedalmond: '#ffebcd',\n\tblue: '#0000ff',\n\tblueviolet: '#8a2be2',\n\tbrown: '#a52a2a',\n\tburlywood: '#deb887',\n\tcadetblue: '#5f9ea0',\n\tchartreuse: '#7fff00',\n\tchocolate: '#d2691e',\n\tcoral: '#ff7f50',\n\tcornflowerblue: '#6495ed',\n\tcornsilk: '#fff8dc',\n\tcrimson: '#dc143c',\n\tcyan: '#00ffff',\n\tdarkblue: '#00008b',\n\tdarkcyan: '#008b8b',\n\tdarkgoldenrod: '#b8860b',\n\tdarkgray: '#a9a9a9',\n\tdarkgreen: '#006400',\n\tdarkkhaki: '#bdb76b',\n\tdarkmagenta: '#8b008b',\n\tdarkolivegreen: '#556b2f',\n\tdarkorange: '#ff8c00',\n\tdarkorchid: '#9932cc',\n\tdarkred: '#8b0000',\n\tdarksalmon: '#e9967a',\n\tdarkseagreen: '#8fbc8f',\n\tdarkslateblue: '#483d8b',\n\tdarkslategray: '#2f4f4f',\n\tdarkturquoise: '#00ced1',\n\tdarkviolet: '#9400d3',\n\tdeeppink: '#ff1493',\n\tdeepskyblue: '#00bfff',\n\tdimgray: '#696969',\n\tdodgerblue: '#1e90ff',\n\tfirebrick: '#b22222',\n\tfloralwhite: '#fffaf0',\n\tforestgreen: '#228b22',\n\tfuchsia: '#ff00ff',\n\tgainsboro: '#dcdcdc',\n\tghostwhite: '#f8f8ff',\n\tgold: '#ffd700',\n\tgoldenrod: '#daa520',\n\tgray: '#808080',\n\tgreen: '#008000',\n\tgreenyellow: '#adff2f',\n\thoneydew: '#f0fff0',\n\thotpink: '#ff69b4',\n\tindianred: '#cd5c5c',\n\tindigo: '#4b0082',\n\tivory: '#fffff0',\n\tkhaki: '#f0e68c',\n\tlavender: '#e6e6fa',\n\tlavenderblush: '#fff0f5',\n\tlawngreen: '#7cfc00',\n\tlemonchiffon: '#fffacd',\n\tlightblue: '#add8e6',\n\tlightcoral: '#f08080',\n\tlightcyan: '#e0ffff',\n\tlightgoldenrodyellow: '#fafad2',\n\tlightgrey: '#d3d3d3',\n\tlightgreen: '#90ee90',\n\tlightpink: '#ffb6c1',\n\tlightsalmon: '#ffa07a',\n\tlightseagreen: '#20b2aa',\n\tlightskyblue: '#87cefa',\n\tlightslategray: '#778899',\n\tlightsteelblue: '#b0c4de',\n\tlightyellow: '#ffffe0',\n\tlime: '#00ff00',\n\tlimegreen: '#32cd32',\n\tlinen: '#faf0e6',\n\tmagenta: '#ff00ff',\n\tmaroon: '#800000',\n\tmediumaquamarine: '#66cdaa',\n\tmediumblue: '#0000cd',\n\tmediumorchid: '#ba55d3',\n\tmediumpurple: '#9370d8',\n\tmediumseagreen: '#3cb371',\n\tmediumslateblue: '#7b68ee',\n\tmediumspringgreen: '#00fa9a',\n\tmediumturquoise: '#48d1cc',\n\tmediumvioletred: '#c71585',\n\tmidnightblue: '#191970',\n\tmintcream: '#f5fffa',\n\tmistyrose: '#ffe4e1',\n\tmoccasin: '#ffe4b5',\n\tnavajowhite: '#ffdead',\n\tnavy: '#000080',\n\toldlace: '#fdf5e6',\n\tolive: '#808000',\n\tolivedrab: '#6b8e23',\n\torange: '#ffa500',\n\torangered: '#ff4500',\n\torchid: '#da70d6',\n\tpalegoldenrod: '#eee8aa',\n\tpalegreen: '#98fb98',\n\tpaleturquoise: '#afeeee',\n\tpalevioletred: '#d87093',\n\tpapayawhip: '#ffefd5',\n\tpeachpuff: '#ffdab9',\n\tperu: '#cd853f',\n\tpink: '#ffc0cb',\n\tplum: '#dda0dd',\n\tpowderblue: '#b0e0e6',\n\tpurple: '#800080',\n\trebeccapurple: '#663399',\n\tred: '#ff0000',\n\trosybrown: '#bc8f8f',\n\troyalblue: '#4169e1',\n\tsaddlebrown: '#8b4513',\n\tsalmon: '#fa8072',\n\tsandybrown: '#f4a460',\n\tseagreen: '#2e8b57',\n\tseashell: '#fff5ee',\n\tsienna: '#a0522d',\n\tsilver: '#c0c0c0',\n\tskyblue: '#87ceeb',\n\tslateblue: '#6a5acd',\n\tslategray: '#708090',\n\tsnow: '#fffafa',\n\tspringgreen: '#00ff7f',\n\tsteelblue: '#4682b4',\n\ttan: '#d2b48c',\n\tteal: '#008080',\n\tthistle: '#d8bfd8',\n\ttomato: '#ff6347',\n\tturquoise: '#40e0d0',\n\tviolet: '#ee82ee',\n\twheat: '#f5deb3',\n\twhite: '#ffffff',\n\twhitesmoke: '#f5f5f5',\n\tyellow: '#ffff00',\n\tyellowgreen: '#9acd32',\n};\nconst HEX_REGEX = /^#([a-f\\d]{2})([a-f\\d]{2})([a-f\\d]{2})$/i;\n\nconst ColorUtils = {\n\tgetNewColor(options, customHexValidator, oldColor = {}) {\n\t\tif (options.hex) {\n\t\t\tif (\n\t\t\t\tcustomHexValidator\n\t\t\t\t\t? !customHexValidator(options.hex)\n\t\t\t\t\t: !this.isValidHex(options.hex)\n\t\t\t) {\n\t\t\t\treturn assign({}, oldColor, {\n\t\t\t\t\thex: options.hex,\n\t\t\t\t\terrors: assign({}, oldColor.errors, {\n\t\t\t\t\t\thex: true,\n\t\t\t\t\t}),\n\t\t\t\t\thsv: {\n\t\t\t\t\t\thue: '',\n\t\t\t\t\t\tsaturation: '',\n\t\t\t\t\t\tvalue: '',\n\t\t\t\t\t},\n\t\t\t\t\trgb: {\n\t\t\t\t\t\tred: '',\n\t\t\t\t\t\tgreen: '',\n\t\t\t\t\t\tblue: '',\n\t\t\t\t\t},\n\t\t\t\t});\n\t\t\t}\n\n\t\t\tconst returnColor = {\n\t\t\t\thex: options.hex,\n\t\t\t\thsv: this.getHsvFromHex(options.hex),\n\t\t\t\trgb: this.getRgbFromHex(options.hex),\n\t\t\t};\n\n\t\t\tif (options.name) {\n\t\t\t\treturnColor.name = options.name;\n\t\t\t}\n\n\t\t\treturn returnColor;\n\t\t}\n\n\t\tif ('red' in options || 'blue' in options || 'green' in options) {\n\t\t\tconst rgb = assign({}, oldColor.rgb, options);\n\t\t\tconst errors = this.getRgbErrors(rgb);\n\n\t\t\tif (Object.values(errors).includes(true)) {\n\t\t\t\treturn assign({}, oldColor, {\n\t\t\t\t\trgb,\n\t\t\t\t\terrors: assign({}, oldColor.errors, errors),\n\t\t\t\t});\n\t\t\t}\n\n\t\t\treturn {\n\t\t\t\thex: this.getHexFromRgb(rgb),\n\t\t\t\thsv: this.getHsvFromRgb(rgb),\n\t\t\t\trgb,\n\t\t\t};\n\t\t}\n\n\t\tif ('hue' in options || 'saturation' in options || 'value' in options) {\n\t\t\tconst hsv = assign({}, oldColor.hsv, options);\n\t\t\treturn {\n\t\t\t\thex: this.getHexFromHsv(hsv),\n\t\t\t\thsv,\n\t\t\t\trgb: this.getRgbFromHsv(hsv),\n\t\t\t};\n\t\t}\n\n\t\treturn {\n\t\t\thex: '',\n\t\t\thsv: {\n\t\t\t\thue: '',\n\t\t\t\tsaturation: '',\n\t\t\t\tvalue: '',\n\t\t\t},\n\t\t\trgb: {\n\t\t\t\tred: '',\n\t\t\t\tgreen: '',\n\t\t\t\tblue: '',\n\t\t\t},\n\t\t};\n\t},\n\n\tgetDeltaColor(options, customHexValidator, oldColor) {\n\t\tconst limitValue = (value) => Math.min(Math.max(value, 0), 100);\n\n\t\treturn this.getNewColor(\n\t\t\t{\n\t\t\t\tsaturation: limitValue(\n\t\t\t\t\toldColor.hsv.saturation + (options.saturation || 0)\n\t\t\t\t),\n\t\t\t\tvalue: limitValue(oldColor.hsv.value + (options.value || 0)),\n\t\t\t},\n\t\t\tcustomHexValidator,\n\t\t\toldColor\n\t\t);\n\t},\n\n\tisValidHex(value) {\n\t\treturn !value || HEX_REGEX.test(this.toSixDigitHex(value));\n\t},\n\n\tgetRgbErrors(rgb) {\n\t\tconst hasError = (value) =>\n\t\t\tisNaN(value) ||\n\t\t\tMath.floor(value) !== Number(value) ||\n\t\t\tvalue < 0 ||\n\t\t\tvalue >= 256;\n\n\t\treturn Object.entries(rgb).reduce((errors, keyValue) => {\n\t\t\t// eslint-disable-next-line no-param-reassign\n\t\t\terrors[keyValue[0]] = hasError(keyValue[1]);\n\t\t\treturn errors;\n\t\t}, {});\n\t},\n\n\tgetHsvFromHex(hex) {\n\t\treturn this.getHsvFromRgb(this.getRgbFromHex(hex));\n\t},\n\n\tgetHexFromHsv({ hue, saturation, value }) {\n\t\treturn this.getHexFromRgb(this.getRgbFromHsv({ hue, saturation, value }));\n\t},\n\n\tgetHexFromNamedColor(name) {\n\t\treturn COLOR_NAMES[name.toLowerCase()] || null;\n\t},\n\n\tgetHsvFromRgb({ red, green, blue }) {\n\t\tconst redRatio = red / 255;\n\t\tconst greenRatio = green / 255;\n\t\tconst blueRatio = blue / 255;\n\n\t\tconst max = Math.max(redRatio, greenRatio, blueRatio);\n\t\tconst min = Math.min(redRatio, greenRatio, blueRatio);\n\n\t\tconst delta = max - min;\n\t\tconst saturation = max === 0 ? 0 : (delta / max) * 100;\n\t\tconst value = max * 100;\n\t\tlet hue;\n\n\t\tif (max === min) {\n\t\t\thue = 0;\n\t\t} else {\n\t\t\tif (redRatio === max) {\n\t\t\t\thue =\n\t\t\t\t\t(greenRatio - blueRatio) / delta + (greenRatio < blueRatio ? 6 : 0);\n\t\t\t} else if (greenRatio === max) {\n\t\t\t\thue = (blueRatio - redRatio) / delta + 2;\n\t\t\t} else {\n\t\t\t\thue = (redRatio - greenRatio) / delta + 4;\n\t\t\t}\n\n\t\t\thue *= 60;\n\t\t}\n\n\t\treturn { hue, saturation, value };\n\t},\n\n\tgetRgbFromHsv({ hue, saturation, value }) {\n\t\tconst hueRatio = hue / 360;\n\t\tconst satRatio = saturation / 100;\n\t\tconst valRatio = value / 100;\n\n\t\tlet red;\n\t\tlet green;\n\t\tlet blue;\n\n\t\tconst i = Math.floor(hueRatio * 6);\n\t\tconst f = hueRatio * 6 - i;\n\t\tconst p = valRatio * (1 - satRatio);\n\t\tconst q = valRatio * (1 - f * satRatio);\n\t\tconst t = valRatio * (1 - (1 - f) * satRatio);\n\n\t\tswitch (i % 6) {\n\t\t\tcase 0:\n\t\t\t\tred = valRatio;\n\t\t\t\tgreen = t;\n\t\t\t\tblue = p;\n\t\t\t\tbreak;\n\t\t\tcase 1:\n\t\t\t\tred = q;\n\t\t\t\tgreen = valRatio;\n\t\t\t\tblue = p;\n\t\t\t\tbreak;\n\t\t\tcase 2:\n\t\t\t\tred = p;\n\t\t\t\tgreen = valRatio;\n\t\t\t\tblue = t;\n\t\t\t\tbreak;\n\t\t\tcase 3:\n\t\t\t\tred = p;\n\t\t\t\tgreen = q;\n\t\t\t\tblue = valRatio;\n\t\t\t\tbreak;\n\t\t\tcase 4:\n\t\t\t\tred = t;\n\t\t\t\tgreen = p;\n\t\t\t\tblue = valRatio;\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\tred = valRatio;\n\t\t\t\tgreen = p;\n\t\t\t\tblue = q;\n\t\t}\n\n\t\treturn {\n\t\t\tred: Math.round(red * 255),\n\t\t\tblue: Math.round(blue * 255),\n\t\t\tgreen: Math.round(green * 255),\n\t\t};\n\t},\n\n\tgetHexFromRgb({ red, green, blue }) {\n\t\tfunction getHex(color) {\n\t\t\treturn `0${Math.round(color).toString(16)}`.substr(-2);\n\t\t}\n\t\treturn `#${getHex(red)}${getHex(green)}${getHex(blue)}`;\n\t},\n\n\tgetRgbFromHex(hex) {\n\t\tconst result = HEX_REGEX.exec(this.toSixDigitHex(hex));\n\t\treturn {\n\t\t\tred: parseInt(result[1], 16),\n\t\t\tgreen: parseInt(result[2], 16),\n\t\t\tblue: parseInt(result[3], 16),\n\t\t};\n\t},\n\n\ttoSixDigitHex(value) {\n\t\tconst shortHandHex = /^#([a-f\\d])([a-f\\d])([a-f\\d])$/i;\n\t\tconst match = shortHandHex.exec(value);\n\t\tif (match) {\n\t\t\treturn `#${match[1]}${match[1]}${match[2]}${match[2]}${match[3]}${match[3]}`;\n\t\t}\n\n\t\treturn value;\n\t},\n};\n\nexport default ColorUtils;\n","import React from 'react';\n\nimport KEYS from '../../../utilities/key-code';\nimport RadioButtonGroup from '../../../components/radio-button-group';\nimport Radio from '../../../components/radio-button-group/radio';\nimport ColorUtils from '../../../utilities/color';\n\nconst handleClick = (event, rangeIndicator, { onSaturationValueChange }) => {\n\tconst rect = event.currentTarget.getBoundingClientRect();\n\trangeIndicator.focus();\n\tonSaturationValueChange(event, {\n\t\tsaturation: Math.round(((event.clientX - rect.left) / rect.width) * 100),\n\t\tvalue: Math.round(((rect.bottom - event.clientY) / rect.height) * 100),\n\t});\n};\n\nconst handleKeyDown = (event, { onSaturationNavigate, onValueNavigate }) => {\n\tconst keyDownCallbacks = {\n\t\t[KEYS.LEFT]: (multiplier) => {\n\t\t\tonSaturationNavigate(event, {\n\t\t\t\tdelta: multiplier * -1,\n\t\t\t});\n\t\t},\n\t\t[KEYS.RIGHT]: (multiplier) => {\n\t\t\tonSaturationNavigate(event, {\n\t\t\t\tdelta: multiplier,\n\t\t\t});\n\t\t},\n\t\t[KEYS.UP]: (multiplier) => {\n\t\t\tonValueNavigate(event, {\n\t\t\t\tdelta: multiplier,\n\t\t\t});\n\t\t},\n\t\t[KEYS.DOWN]: (multiplier) => {\n\t\t\tonValueNavigate(event, {\n\t\t\t\tdelta: multiplier * -1,\n\t\t\t});\n\t\t},\n\t};\n\n\tif (keyDownCallbacks[event.keyCode]) {\n\t\tevent.preventDefault();\n\t\tkeyDownCallbacks[event.keyCode](event.shiftKey ? 10 : 1);\n\t}\n};\n\nconst selectedStyle = {\n\tborder: '1px solid #9e9e9e',\n\tboxShadow: 'rgb(117, 112, 112) 1px 1px 1px',\n\tmarginRight: '2px',\n};\n\nconst unselectedStyle = {\n\tborder: '1px solid #9e9e9e',\n\tmarginRight: '2px',\n};\n\nclass HsvColor extends React.Component {\n\tstatic displayName = 'SLDSHsvColor';\n\n\thandleSwatchChange = (event) => {\n\t\tthis.setState({\n\t\t\tisTransparentSelected: event.target.value === '',\n\t\t});\n\t\tthis.props.onSwatchChange(event);\n\t};\n\n\tisTransparent = () => this.props.color.hex === '';\n\n\trender() {\n\t\tconst style = { border: 'none', borderRadius: 'unset' };\n\t\tconst swatchStyle = this.isTransparent()\n\t\t\t? { ...unselectedStyle }\n\t\t\t: { ...selectedStyle };\n\t\tconst transparentSwatchStyle = this.isTransparent()\n\t\t\t? { ...selectedStyle }\n\t\t\t: { ...unselectedStyle };\n\n\t\t// when working color is transparent: either use the previous color or default to black\n\t\tconst fallbackWorkingColor = this.props.previousColor.hex\n\t\t\t? this.props.previousColor\n\t\t\t: ColorUtils.getNewColor({ hex: '#000000' });\n\t\tconst workingColor = this.isTransparent()\n\t\t\t? fallbackWorkingColor\n\t\t\t: this.props.color;\n\n\t\treturn (\n\t\t\t
    \n\t\t\t\t\n\t\t\t\t\t{this.props.assistiveText.saturationValueGrid}\n\t\t\t\t

    \n\t\t\t\t {\n\t\t\t\t\t\thandleClick(event, this.rangeIndicator, {\n\t\t\t\t\t\t\tonSaturationValueChange: this.props.onSaturationValueChange,\n\t\t\t\t\t\t});\n\t\t\t\t\t}}\n\t\t\t\t\trole=\"presentation\"\n\t\t\t\t>\n\t\t\t\t\t{/* eslint-disable jsx-a11y/anchor-has-content */}\n\t\t\t\t\t {\n\t\t\t\t\t\t\thandleKeyDown(event, { ...this.props });\n\t\t\t\t\t\t}}\n\t\t\t\t\t\tref={(rangeIndicator) => {\n\t\t\t\t\t\t\tthis.rangeIndicator = rangeIndicator;\n\t\t\t\t\t\t}}\n\t\t\t\t\t\trole=\"button\"\n\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\tbottom: `${workingColor.hsv.value}%`,\n\t\t\t\t\t\t\tleft: `${workingColor.hsv.saturation}%`,\n\t\t\t\t\t\t}}\n\t\t\t\t\t\ttabIndex={0}\n\t\t\t\t\t>\n\t\t\t\t\t\t{`Saturation ${workingColor.hsv.saturation}% Brightness: ${workingColor.hsv.value}%`}\n\t\t\t\t\t\n\t\t\t\t
    \n\t\t\t\t
    \n\t\t\t\t\t\n\t\t\t\t\t\t{this.props.assistiveText.hueSlider}\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t
    \n\t\t\t\n\t\t);\n\t}\n}\n\nexport default HsvColor;\n","import React from 'react';\n\nimport CustomColorForm from './custom-color-form';\nimport HsvColor from './hsv-color';\n\n// using state to manage everything in here because multiple HSV coordinates\n// can map to a single RGB coordinate and we lose that if we're always passing\n// in a hex color\nclass CustomColor extends React.Component {\n\tstatic displayName = 'SLDSCustomColor';\n\n\trender() {\n\t\tlet errorText;\n\n\t\tif (this.props.errorTextWorkingColor) {\n\t\t\terrorText = this.props.errorTextWorkingColor;\n\t\t} else if (this.props.color.errors && this.props.color.errors.hex) {\n\t\t\terrorText = this.props.labels.invalidColor;\n\t\t} else {\n\t\t\terrorText = this.props.labels.invalidComponent;\n\t\t}\n\n\t\treturn (\n\t\t\t
    \n\t\t\t\t\n\t\t\t\t\n\t\t\t\t{this.props.errorTextWorkingColor || this.props.color.errors ? (\n\t\t\t\t\t\n\t\t\t\t\t\t{errorText}\n\t\t\t\t\t

    \n\t\t\t\t) : (\n\t\t\t\t\t''\n\t\t\t\t)}\n\t\t\t
    \n\t\t);\n\t}\n}\n\nexport default CustomColor;\n","import React from 'react';\nimport Swatch from './swatch';\n\nconst handleClick = (event, { hex, onSelect }) => {\n\tevent.preventDefault();\n\tonSelect(event, { hex });\n};\nconst selectedStyle = {\n\tborder: '1px solid #141414',\n\tborderRadius: '2px',\n\tmargin: '3px',\n};\n\nconst selectedInnerStyle = {\n\tborder: '1px solid white',\n\tborderRadius: '2px',\n};\n\nclass SwatchOption extends React.Component {\n\tstatic displayName = 'SLDSSwatchOption';\n\n\trender() {\n\t\treturn (\n\t\t\t\n\t\t\t\t {\n\t\t\t\t\t\thandleClick(event, {\n\t\t\t\t\t\t\thex: this.props.color,\n\t\t\t\t\t\t\tonSelect: this.props.onSelect,\n\t\t\t\t\t\t});\n\t\t\t\t\t}}\n\t\t\t\t\tref={this.props.swatchOptionRef}\n\t\t\t\t\trole=\"option\"\n\t\t\t\t\tstyle={\n\t\t\t\t\t\tthis.props.workingColor &&\n\t\t\t\t\t\tthis.props.workingColor === this.props.color\n\t\t\t\t\t\t\t? selectedInnerStyle\n\t\t\t\t\t\t\t: {}\n\t\t\t\t\t}\n\t\t\t\t\ttabIndex={this.props.tabIndex}\n\t\t\t\t>\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t);\n\t}\n}\n\nexport default SwatchOption;\n","import React from 'react';\nimport findIndex from 'lodash.findindex';\n\nimport SwatchOption from './swatch-option';\nimport KEYS from '../../../utilities/key-code';\nimport EventUtil from '../../../utilities/event';\n\nimport { DIRECTIONS } from '../../utilities/UNSAFE_direction';\nimport LanguageDirection from '../../utilities/UNSAFE_direction/private/language-direction';\n\nclass SwatchPicker extends React.Component {\n\tstatic displayName = 'SLDSSwatchPicker';\n\n\tconstructor(props) {\n\t\tsuper(props);\n\t\tthis.swatchColorRefs = {};\n\t}\n\n\tselectPreviousColor = (event, props) => {\n\t\tconst index = findIndex(\n\t\t\tprops.swatchColors,\n\t\t\t(item) => item === props.color.hex\n\t\t);\n\t\tconst nextIndex =\n\t\t\tindex === -1 || index === props.swatchColors.length - 1 ? 0 : index + 1;\n\t\tconst prevColor = props.swatchColors[nextIndex];\n\t\tprops.onSelect(event, {\n\t\t\thex: prevColor,\n\t\t});\n\n\t\tthis.swatchColorRefs[prevColor].focus();\n\t};\n\n\tselectNextColor = (event, props) => {\n\t\tconst index = findIndex(\n\t\t\tprops.swatchColors,\n\t\t\t(item) => item === props.color.hex\n\t\t);\n\t\tlet prevIndex;\n\t\tif (index === 0) {\n\t\t\tprevIndex = props.swatchColors.length - 1;\n\t\t} else if (index === -1) {\n\t\t\tprevIndex = 0;\n\t\t} else {\n\t\t\tprevIndex = index - 1;\n\t\t}\n\t\tconst nextColor = props.swatchColors[prevIndex];\n\t\tprops.onSelect(event, {\n\t\t\thex: nextColor,\n\t\t});\n\n\t\tthis.swatchColorRefs[nextColor].focus();\n\t};\n\n\thandleKeyDown = (event, props) => {\n\t\tconst keyDownCallbacks = {\n\t\t\t[KEYS.RIGHT]: () => {\n\t\t\t\tif (props.direction === DIRECTIONS.RTL) {\n\t\t\t\t\tthis.selectNextColor(event, props);\n\t\t\t\t} else {\n\t\t\t\t\tthis.selectPreviousColor(event, props);\n\t\t\t\t}\n\t\t\t},\n\t\t\t[KEYS.DOWN]: () => {\n\t\t\t\tthis.selectPreviousColor(event, props);\n\t\t\t},\n\n\t\t\t[KEYS.LEFT]: () => {\n\t\t\t\tif (props.direction === DIRECTIONS.RTL) {\n\t\t\t\t\tthis.selectPreviousColor(event, props);\n\t\t\t\t} else {\n\t\t\t\t\tthis.selectNextColor(event, props);\n\t\t\t\t}\n\t\t\t},\n\t\t\t[KEYS.UP]: () => {\n\t\t\t\tthis.selectNextColor(event, props);\n\t\t\t},\n\t\t};\n\n\t\tif (event.keyCode) {\n\t\t\tif (keyDownCallbacks[event.keyCode]) {\n\t\t\t\tEventUtil.trapEvent(event);\n\t\t\t\tkeyDownCallbacks[event.keyCode]();\n\t\t\t}\n\t\t}\n\t};\n\n\taddRef = (color) => (el) => {\n\t\tthis.swatchColorRefs[color] = el;\n\t};\n\n\trender() {\n\t\tconst isSelectedColorInSwatch = this.props.swatchColors.includes(\n\t\t\tthis.props.color.hex\n\t\t);\n\n\t\treturn (\n\t\t\t {\n\t\t\t\t\tthis.handleKeyDown(event, {\n\t\t\t\t\t\t...this.props,\n\t\t\t\t\t});\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\t{this.props.swatchColors.map((color, index) => (\n\t\t\t\t\t\n\t\t\t\t))}\n\t\t\t\n\t\t);\n\t}\n}\n\nexport default LanguageDirection(SwatchPicker);\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// # Tabs Component\n\n// Implements the [Tabs design pattern](https://www.lightningdesignsystem.com/components/tabs/) in React.\n\n// ## Dependencies\n\n// ### React\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\n// ### classNames\nimport classNames from 'classnames';\nimport { TABS_LIST } from '../../../utilities/constants';\n\nconst TabsList = ({ id, className, children, variant }) => (\n\t\n\t\t{children}\n\t\n);\n\nTabsList.displayName = TABS_LIST;\n\nTabsList.propTypes = {\n\t/**\n\t * Inherits the `id` from the parent `` component and appends `-tabs__nav`. Becomes the HTML `id` attribute of UL element that has the class `.slds-tabs_default__nav` on it.\n\t */\n\tid: PropTypes.string,\n\n\t/**\n\t * Class names to be added to the tabs list element.\n\t */\n\tclassName: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\n\t/**\n\t * The `children` are the actual tabs to be rendered as `li` elements. They get created by [tabs/index.jsx](./index.jsx) in the `renderTabsList` function.\n\t */\n\tchildren: PropTypes.oneOfType([PropTypes.object, PropTypes.array]),\n\n\t/**\n\t * If the Tabs should be scoped, vertical, or default (default value)\n\t */\n\tvariant: PropTypes.oneOf(['default', 'scoped', 'vertical']),\n};\n\nexport default TabsList;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n/* eslint-disable jsx-a11y/no-interactive-element-to-noninteractive-role */\n\n// # TabItem Component\n\n// ## Dependencies\n\n// ### React\nimport React from 'react';\n\nimport PropTypes from 'prop-types';\n\n// ### classNames\nimport classNames from 'classnames';\n\n// ## Constants\nimport { TAB } from '../../../utilities/constants';\n\nimport Icon from '../../icon';\n\n/*\n * Disabled Tab CSS has been removed. If you'd like to use the styling, please import it in your module bundler.\n */\n// import '!style-loader!css-loader!../../../styles/tabs/tab.css'; // eslint-disable-line import/no-unresolved\n\nclass Tab extends React.Component {\n\tstatic displayName = TAB;\n\n\tstatic propTypes = {\n\t\t/**\n\t\t * CSS classes to be added to the tab.\n\t\t */\n\t\tclassName: PropTypes.string,\n\n\t\t/**\n\t\t * The HTML ID of this tab. Also used by the `` it controls as `tabId`.\n\t\t */\n\t\tid: PropTypes.string,\n\n\t\t/**\n\t\t * Whether to apply focus to this tab.\n\t\t */\n\t\tfocus: PropTypes.bool,\n\n\t\t/**\n\t\t * When `true`, the class `.slds-is-active` is applied.\n\t\t */\n\t\tselected: PropTypes.bool,\n\n\t\t/**\n\t\t * When `true`, the HTML attribute `aria-disabled` will be applied. Disabled Tab CSS has been removed. If you'd like to use the styling, please import it in your module bundler. `import 'css-loader!/node_modules/design-system-react/styles/tabs/tab.css';` This feature may be removed in the future due to disabled tabs being inaccessible.\n\t\t */\n\t\tdisabled: PropTypes.bool,\n\n\t\t/**\n\t\t * The CSS class to be applied when this tab is selected. Defaults to `.slds-is-active`. If another class is desired, it should be passed in _along with_ `.slds-is-active`, not _instead_ of it.\n\t\t */\n\t\tactiveTabClassName: PropTypes.string,\n\n\t\t/**\n\t\t * The CSS class to be applied when this tab is disabled. Defaults to `.slds-disabled`. If another class is desired, it should be passed in _along with_ `.slds-disabled`, not _instead_ of it.\n\t\t */\n\t\tdisabledTabClassName: PropTypes.string,\n\n\t\t/**\n\t\t * The HTML ID of `` this tab controls.\n\t\t */\n\t\tpanelId: PropTypes.string,\n\n\t\t/**\n\t\t * The string or element that is shown as both the title and the label for this tab.\n\t\t */\n\t\tchildren: PropTypes.oneOfType([PropTypes.string, PropTypes.element]),\n\n\t\t/**\n\t\t * If the Tabs should be scoped, vertical, or default (default value)\n\t\t */\n\t\tvariant: PropTypes.oneOf(['default', 'scoped', 'vertical']),\n\n\t\t/**\n\t\t * Show an icon that can be used to communicate when a tab contains a validation error that needs attention\n\t\t */\n\t\thasError: PropTypes.bool,\n\n\t\t/**\n\t\t * **Assistive text for accessibility**\n\t\t * This object is merged with the default props object on every render.\n\t\t * * `withErrorIcon`: This text is for the error icon that will be placed next to the `` title\n\t\t */\n\t\tassistiveText: PropTypes.shape({\n\t\t\twithErrorIcon: PropTypes.string,\n\t\t}),\n\t};\n\n\tstatic defaultProps = {\n\t\tfocus: false,\n\t\tselected: false,\n\t\tactiveTabClassName: 'slds-is-active',\n\t\tdisabledTabClassName: 'slds-disabled',\n\t\tvariant: 'default',\n\t\thasError: false,\n\t\tassistiveText: {\n\t\t\twithErrorIcon: 'This item has an error',\n\t\t},\n\t};\n\n\tcomponentDidMount() {\n\t\tthis.checkFocus();\n\t}\n\n\tcomponentDidUpdate() {\n\t\tthis.checkFocus();\n\t}\n\n\tcheckFocus = () => {\n\t\tif (this.props.selected && this.props.focus && this.node) {\n\t\t\tthis.node.focus();\n\t\t}\n\t};\n\n\trender() {\n\t\tconst {\n\t\t\tselected,\n\t\t\tdisabled,\n\t\t\tpanelId,\n\t\t\tactiveTabClassName,\n\t\t\tdisabledTabClassName,\n\t\t\tclassName,\n\t\t\tchildren,\n\t\t\tid,\n\t\t\tvariant,\n\t\t\thasError,\n\t\t} = this.props;\n\t\tlet tabIndex;\n\n\t\t/**\n\t\t * Desired a11y behaviour: The active Tab should get focus when the user presses the\n\t\t * Tab key. After that, Arrow keys should be used to change the focus from one tab\n\t\t * to another. Pressing the Tab key one more time should move the focus away from the\n\t\t * Tab group.\n\t\t *\n\t\t * Here, we put the selected Tab in the navigation path (tabIndex = 0) and remove other\n\t\t * tabs from navigation path (tabIndex = -1).\n\t\t */\n\t\tif (selected) {\n\t\t\ttabIndex = '0';\n\t\t} else {\n\t\t\ttabIndex = '-1';\n\t\t}\n\n\t\treturn (\n\t\t\t\n\t\t\t\t {\n\t\t\t\t\t\tthis.node = node;\n\t\t\t\t\t}}\n\t\t\t\t\ttabIndex={tabIndex}\n\t\t\t\t\taria-controls={panelId}\n\t\t\t\t\taria-disabled={disabled}\n\t\t\t\t\taria-selected={selected ? 'true' : 'false'}\n\t\t\t\t>\n\t\t\t\t\t{children}\n\t\t\t\t\t{hasError && (\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t)}\n\t\t\t\t\n\t\t\t\n\t\t);\n\t}\n}\n\nexport default Tab;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// # Tabs Component\n\n// Implements the [Tabs design pattern](https://www.lightningdesignsystem.com/components/tabs/) in React.\n\n// ## Dependencies\n\n// ### React\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\n// ### classNames\nimport classNames from 'classnames';\nimport { TAB_PANEL } from '../../../utilities/constants';\n\n/**\n * The containers of content that are shown and hidden by `Tabs`.\n */\nconst TabPanel = ({\n\tclassName,\n\tchildren,\n\tvariant,\n\tselected,\n\tid,\n\ttabId,\n\t...attributes // eslint-disable-line no-unused-vars\n}) => (\n\t\n\t\t{children.props.children}\n\t\n);\n\nTabPanel.displayName = TAB_PANEL;\n\nTabPanel.propTypes = {\n\t/**\n\t * The `children` are the contents of the tab panel.\n\t *\n\t * Note that the structure of the `` component **does not** correspond to the DOM structure that is rendered. The `` component requires one or more children of type ``, which themselves require a `label` property which will be what shows in the `` and has `children`, which end up being the _contents of the tab's corresponding panel_.\n\t *\n\t * The component iterates through each `` and rendering one `` and one `` for each of them. The tab(s) end up being children of the ``.\n\t *\n\t * The tab panel component actually returns the _children_ of the _children_ which were provided by the `` component.\n\t *\n\t * Due to React's nature, the `` component wraps its children in a `div` element which we don't need nor want in our rendered DOM structure, so we just bypass it and get its kids via `{children.props.children}` in the render method below.\n\t * ```\n\t * \n\t * \t\n\t * \t\t

    This is my tab 1 contents!

    \n\t * \t\t

    They show when you click the first tab.

    \n\t * \t
    \n\t * \t\n\t * \t\t

    This is my tab 2 contents!

    \n\t * \t\t

    They show when you click the second tab.

    \n\t * \t
    \n\t *
    \n\t * ```\n\t */\n\tchildren: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\n\t/**\n\t * CSS classes to be added to the tab panel.\n\t */\n\tclassName: PropTypes.string,\n\n\t/**\n\t * The HTML ID of this tab panel. Also used by the ``that controls it as `panelId`.\n\t */\n\tid: PropTypes.string,\n\n\t/**\n\t * Whether this panel is hidden or shown. Uses the `.slds-show` and `.slds-hide` classes.\n\t */\n\tselected: PropTypes.bool,\n\n\t/**\n\t * If the Tabs should be scoped, vertical, or default (default value)\n\t */\n\tvariant: PropTypes.oneOf(['default', 'scoped', 'vertical']),\n\n\t/**\n\t * The HTML ID of the `` that controls this panel.\n\t */\n\ttabId: PropTypes.string,\n};\n\nTabPanel.defaultProps = {\n\tvariant: 'default',\n\tselected: false,\n};\n\nexport default TabPanel;\n","/* eslint-disable no-else-return */\n/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// # Tabs Component\n\n// Implements the [Tabs design pattern](https://www.lightningdesignsystem.com/components/tabs/) in React.\n\n// ## Dependencies\n\n// ### React\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\n// ### shortid\n// `shortid` is a short, non-sequential, url-friendly, unique id generator. It is used here to provide unique strings for the HTML attribute `id` on the Tabs components. It is only used if the `id` prop is not provided on the man component.\nimport shortid from 'shortid';\n\n// ### classNames\nimport classNames from 'classnames';\n\n// ### isFunction\nimport isFunction from 'lodash.isfunction';\n\n// Child components\nimport TabsList from './private/tabs-list';\nimport Tab from './private/tab';\nimport TabPanel from './private/tab-panel';\n\n// ## Constants\nimport { TABS } from '../../utilities/constants';\n\n// ### Event Helpers\nimport KEYS from '../../utilities/key-code';\nimport EventUtil from '../../utilities/event';\n\n// Determine if a node from event.target is a Tab element\nfunction isTabNode(node) {\n\treturn (\n\t\t(node.nodeName === 'A' && node.getAttribute('role') === 'tab') ||\n\t\t(node.nodeName === 'LI' &&\n\t\t\t(node.classList.contains('slds-tabs_default__item') ||\n\t\t\t\tnode.classList.contains('slds-tabs_scoped__item') ||\n\t\t\t\tnode.classList.contains('slds-vertical-tabs__nav-item')))\n\t);\n}\n\n// Determine if a tab node is disabled\nfunction isTabDisabled(node) {\n\tif (node.classList && node.classList.contains('slds-disabled')) {\n\t\treturn true;\n\t} else if (node.getAttribute) {\n\t\treturn node.getAttribute('aria-disabled') === 'true';\n\t}\n\n\treturn !!node.props.disabled;\n}\n\n/**\n * Tabs keeps related content in a single container that is shown and hidden through navigation.\n */\nconst displayName = TABS;\nconst propTypes = {\n\t/**\n\t * HTML `id` attribute of primary element that has `.slds-tabs_default` on it. Optional: If one is not supplied, a `shortid` will be created.\n\t */\n\tid: PropTypes.string,\n\n\t/**\n\t * The `children` are the actual tabs and panels to be displayed.\n\t *\n\t * Note that the structure of the `` component **does not** correspond to the DOM structure that is rendered. The `` component requires one or more children of type ``, which themselves require a `label` property which will be what shows in the `` and has `children`, which end up being the _contents of the tab's corresponding panel_.\n\t *\n\t * The component iterates through each `` and rendering one `` and one `` for each of them. The tab(s) end up being children of the ``.\n\t *\n\t * ```\n\t * \n\t * \t\n\t * \t\t
    \n\t * \t\t\t

    This is my tab 1 contents!

    \n\t * \t\t\t

    They show when you click the first tab.

    \n\t * \t\t
    \n\t * \t
    \n\t * \t\n\t * \t\t
    \n\t * \t\t\t

    This is my tab 2 contents!

    \n\t * \t\t\t

    They show when you click the second tab.

    \n\t * \t\t
    \n\t * \t
    \n\t *
    \n\t * ```\n\t */\n\tchildren: PropTypes.oneOfType([\n\t\tPropTypes.arrayOf(PropTypes.node),\n\t\tPropTypes.node,\n\t\tPropTypes.element,\n\t]).isRequired,\n\n\t/**\n\t * Class names to be added to the container element and is passed along to its children.\n\t */\n\tclassName: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\n\t/**\n\t * The Tab (and corresponding TabPanel) that is selected when the component first renders. Defaults to `0`.\n\t */\n\tdefaultSelectedIndex: PropTypes.number,\n\n\t/**\n\t * This function triggers when a tab is selected.\n\t */\n\tonSelect: PropTypes.func,\n\n\t/**\n\t * If the Tabs should be scoped, vertical, or default (default value)\n\t */\n\tvariant: PropTypes.oneOf(['default', 'scoped', 'vertical']),\n\n\t/**\n\t * The Tab (and corresponding TabPanel) that is currently selected.\n\t */\n\tselectedIndex: PropTypes.number,\n};\nconst defaultProps = {\n\tdefaultSelectedIndex: 0,\n\tvariant: 'default',\n};\n\n/**\n * A tab keeps related content in a single container that is shown and hidden through navigation.\n */\nclass Tabs extends React.Component {\n\tconstructor(props) {\n\t\tsuper(props);\n\t\tthis.tabs = [];\n\n\t\t// If no `id` is supplied in the props we generate one. An HTML ID is _required_ for several elements in a tabs component in order to leverage ARIA attributes for accessibility.\n\t\tthis.generatedId = shortid.generate();\n\t\tthis.flavor = this.getVariant();\n\t\tthis.state = {\n\t\t\tselectedIndex: props.defaultSelectedIndex,\n\t\t};\n\t}\n\n\tgetNextTab(index) {\n\t\tconst count = this.getTabsCount();\n\n\t\t// Look for non-disabled tab from index to the last tab on the right\n\t\t// eslint-disable-next-line no-plusplus\n\t\t// eslint-disable-next-line no-plusplus, fp/no-loops\n\t\tfor (let i = index + 1; i < count; i++) {\n\t\t\tconst tab = this.getTab(i);\n\t\t\tif (!isTabDisabled(tab)) {\n\t\t\t\treturn i;\n\t\t\t}\n\t\t}\n\n\t\t// If no tab found, continue searching from first on left to index\n\t\t// eslint-disable-next-line no-plusplus, fp/no-loops\n\t\tfor (let i = 0; i < index; i++) {\n\t\t\tconst tab = this.getTab(i);\n\t\t\tif (!isTabDisabled(tab)) {\n\t\t\t\treturn i;\n\t\t\t}\n\t\t}\n\n\t\t// No tabs are disabled, return index\n\t\treturn index;\n\t}\n\n\tgetPanelsCount() {\n\t\treturn this.props.children ? React.Children.count(this.props.children) : 0;\n\t}\n\n\tgetPrevTab(index) {\n\t\tlet i = index;\n\n\t\t// Look for non-disabled tab from index to first tab on the left\n\t\t// eslint-disable-next-line fp/no-loops, no-plusplus\n\t\twhile (i--) {\n\t\t\tconst tab = this.getTab(i);\n\t\t\tif (!isTabDisabled(tab)) {\n\t\t\t\treturn i;\n\t\t\t}\n\t\t}\n\n\t\t// If no tab found, continue searching from last tab on right to index\n\t\ti = this.getTabsCount();\n\t\t// eslint-disable-next-line fp/no-loops, no-plusplus\n\t\twhile (i-- > index) {\n\t\t\tconst tab = this.getTab(i);\n\t\t\tif (!isTabDisabled(tab)) {\n\t\t\t\treturn i;\n\t\t\t}\n\t\t}\n\n\t\t// No tabs are disabled, return index\n\t\treturn index;\n\t}\n\n\tgetSelectedIndex() {\n\t\treturn Number.isInteger(this.props.selectedIndex)\n\t\t\t? this.props.selectedIndex\n\t\t\t: this.state.selectedIndex;\n\t}\n\n\tgetTab(index) {\n\t\treturn this.tabs[index].tab;\n\t}\n\n\tgetTabNode(index) {\n\t\treturn this.tabs[index].node;\n\t}\n\n\tgetTabsCount() {\n\t\treturn this.props.children ? React.Children.count(this.props.children) : 0;\n\t}\n\n\tgetVariant() {\n\t\treturn this.props.variant || 'default';\n\t}\n\n\tsetSelected(index, focus) {\n\t\t// Check index boundary\n\t\tif (index < 0 || index >= this.getTabsCount()) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Keep reference to last index for event handler\n\t\tconst last = this.getSelectedIndex();\n\n\t\t/**\n\t\t * This is a temporary solution that could be broken in the future without notification,\n\t\t * since this component is not a controlled component and only relies on internal state.\n\t\t * If this breaks in the future an alternative way to control the state from outside the\n\t\t * component should be present.\n\t\t * */\n\t\tlet shouldContinue;\n\t\t// Call change event handler\n\t\tif (isFunction(this.props.onSelect)) {\n\t\t\tshouldContinue = this.props.onSelect(index, last);\n\t\t}\n\n\t\t// Don't update the state if nothing has changed\n\t\tif (shouldContinue !== false && index !== this.state.selectedIndex) {\n\t\t\tthis.setState({ selectedIndex: index, focus: focus === true });\n\t\t}\n\t}\n\n\thandleClick = (e) => {\n\t\tlet node = e.target;\n\t\t/* eslint-disable no-cond-assign, fp/no-loops */\n\t\tdo {\n\t\t\tif (this.isTabFromContainer(node)) {\n\t\t\t\tif (isTabDisabled(node)) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tlet parentNode = node.parentNode; // eslint-disable-line prefer-destructuring\n\n\t\t\t\tif (parentNode.nodeName === 'LI') {\n\t\t\t\t\tnode = node.parentNode;\n\t\t\t\t\tparentNode = node.parentNode; // eslint-disable-line prefer-destructuring\n\t\t\t\t}\n\n\t\t\t\tconst index = [].slice.call(parentNode.children).indexOf(node);\n\t\t\t\tthis.setSelected(index);\n\t\t\t\treturn;\n\t\t\t}\n\t\t} while ((node = node.parentNode) !== null);\n\t\t/* eslint-enable no-cond-assign */\n\t};\n\n\thandleKeyDown = (event) => {\n\t\tif (this.isTabFromContainer(event.target)) {\n\t\t\tlet index = this.getSelectedIndex();\n\t\t\tlet preventDefault = false;\n\n\t\t\tif (event.keyCode === KEYS.LEFT || event.keyCode === KEYS.UP) {\n\t\t\t\t// Select next tab to the left\n\t\t\t\tindex = this.getPrevTab(index);\n\t\t\t\tpreventDefault = true;\n\t\t\t} else if (event.keyCode === KEYS.RIGHT || event.keyCode === KEYS.DOWN) {\n\t\t\t\t// Select next tab to the right\n\t\t\t\tindex = this.getNextTab(index);\n\t\t\t\tpreventDefault = true;\n\t\t\t}\n\n\t\t\t// Prevent any dumn scrollbars from moving around as we type.\n\t\t\tif (preventDefault) {\n\t\t\t\tEventUtil.trap(event);\n\t\t\t}\n\n\t\t\tthis.setSelected(index, true);\n\t\t}\n\t};\n\n\t/**\n\t * Determine if a node from event.target is a Tab element for the current Tabs container.\n\t * If the clicked element is not a Tab, it returns false.\n\t * If it finds another Tabs container between the Tab and `this`, it returns false.\n\t */\n\tisTabFromContainer(node) {\n\t\t// Return immediately if the clicked element is not a Tab. This prevents tab panel content from selecting a tab.\n\t\tif (!isTabNode(node)) {\n\t\t\treturn false;\n\t\t}\n\n\t\t// Check if the first occurrence of a Tabs container is `this` one.\n\t\tlet nodeAncestor = node.parentElement;\n\t\tdo {\n\t\t\tif (nodeAncestor === this.tabsNode) return true;\n\t\t\telse if (nodeAncestor.getAttribute('data-tabs')) break;\n\t\t\tnodeAncestor = nodeAncestor.parentElement;\n\t\t} while (nodeAncestor);\n\n\t\treturn false;\n\t}\n\n\trenderTabPanels(parentId) {\n\t\tconst children = React.Children.toArray(this.props.children);\n\t\tconst selectedIndex = this.getSelectedIndex();\n\t\tlet result = null;\n\n\t\tresult = children.map((child, index) => {\n\t\t\tconst tabId = `${parentId}-slds-tabs_tab-${index}`;\n\t\t\tconst id = `${parentId}-slds-tabs_panel-${index}`;\n\t\t\tconst selected = selectedIndex === index;\n\t\t\tconst variant = this.getVariant();\n\n\t\t\treturn (\n\t\t\t\t\n\t\t\t\t\t{children[index]}\n\t\t\t\t
    \n\t\t\t);\n\t\t});\n\t\treturn result;\n\t}\n\n\trenderTabsList(parentId) {\n\t\tconst children = React.Children.toArray(this.props.children);\n\n\t\treturn (\n\t\t\t// `parentId` gets consumed by TabsList, adding a suffix of `-tabs__nav`\n\t\t\t\n\t\t\t\t{children.map((child, index) => {\n\t\t\t\t\tconst id = `${parentId}-slds-tabs_tab-${index}`;\n\t\t\t\t\tconst panelId = `${parentId}-slds-tabs_panel-${index}`;\n\t\t\t\t\tconst selected = this.getSelectedIndex() === index;\n\t\t\t\t\tconst focus = selected && this.state.focus;\n\t\t\t\t\tconst variant = this.getVariant();\n\t\t\t\t\treturn (\n\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\tthis.tabs[index] = { tab: child, node };\n\t\t\t\t\t\t\t\tif (this.state.focus) {\n\t\t\t\t\t\t\t\t\tthis.setState({ focus: false });\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\tfocus={focus}\n\t\t\t\t\t\t\tselected={selected}\n\t\t\t\t\t\t\tid={id}\n\t\t\t\t\t\t\tpanelId={panelId}\n\t\t\t\t\t\t\tdisabled={child.props.disabled}\n\t\t\t\t\t\t\tvariant={variant}\n\t\t\t\t\t\t\thasError={child.props.hasError}\n\t\t\t\t\t\t\tassistiveText={child.props.assistiveText}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{child.props.label}\n\t\t\t\t\t\t
    \n\t\t\t\t\t);\n\t\t\t\t})}\n\t\t\t
    \n\t\t);\n\t}\n\n\trender() {\n\t\tconst {\n\t\t\tclassName,\n\t\t\tid = this.generatedId,\n\t\t\tvariant = this.getVariant,\n\t\t} = this.props;\n\n\t\treturn (\n\t\t\t/* eslint-disable jsx-a11y/no-static-element-interactions */\n\t\t\t {\n\t\t\t\t\tthis.tabsNode = node;\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\t{/* eslint-enable jsx-a11y/no-static-element-interactions */}\n\t\t\t\t{this.renderTabsList(id)}\n\t\t\t\t{this.renderTabPanels(id)}\n\t\t\t\n\t\t);\n\t}\n}\nTabs.displayName = displayName;\nTabs.propTypes = propTypes;\nTabs.defaultProps = defaultProps;\n\nexport default Tabs;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\nimport { TABS_PANEL } from '../../utilities/constants';\n\n/**\n * The `` component allows us to simplify the structure of the `` component.\n\n * Rather than require different (deeply nested) children for tabslist, with its tab(s) as well as tabpanel(s), we provide this `TabsPanel` component which takes a `label` property that will become what is shown on the `` that will be associated with it.\n\n * The `children` of the Panel will be fed to the `` component, while its `label` is handled in ``, via ``.\n *\n * ```\n * \n * \t
    \n * \t\t

    This is my tab 1 contents!

    \n * \t\t

    They show when you click the first tab.

    \n * \t
    \n *
    \n * ```\n */\nconst Panel = ({ children }) =>
    {React.Children.toArray(children)}
    ;\n\nPanel.displayName = TABS_PANEL;\n\nPanel.propTypes = {\n\t/**\n\t * The string or element that is handed off to the `` component, ends up being the title and the label for the tab associated with its tab panel.\n\t */\n\tlabel: PropTypes.oneOfType([PropTypes.string, PropTypes.element]).isRequired,\n\n\t/**\n\t * The `children` are the actual tab panels to be rendered. They get created by [tabs/index.jsx](./index.jsx) in the `renderTabPanels` function.\n\t *\n\t * Note that the `` component inserts a `div` element around the children, because React requires exactly one \"parent\" element returned. The `` component simply dips down into `children` to get the children of this wrapping `div` so that it does not get rendered in the DOM.\n\t */\n\tchildren: PropTypes.oneOfType([\n\t\tPropTypes.arrayOf(PropTypes.node),\n\t\tPropTypes.node,\n\t\tPropTypes.element,\n\t]).isRequired,\n\n\t/**\n\t * Show an icon on the `` next to the title that can be used to communicate when a tab contains a validation error that needs attention\n\t */\n\thasError: PropTypes.bool, // deepscan-disable-line REACT_USELESS_PROP_TYPES\n\n\t/**\n\t * **Assistive text for accessibility**\n\t * This object is merged with the default props object on every render.\n\t * * `withErrorIcon`: This text is for the error icon that will be placed next to the `` title\n\t */\n\t/* deepscan-disable REACT_USELESS_PROP_TYPES */\n\tassistiveText: PropTypes.shape({\n\t\twithErrorIcon: PropTypes.string,\n\t}),\n\t/* deepscan-enable REACT_USELESS_PROP_TYPES */\n};\n\nexport default Panel;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n/* eslint-disable import/no-mutable-exports */\n\n// This function will deliver an error message to the browser console when all of the props passed in are undefined (falsey).\nimport warning from 'warning';\n\nlet incompatibleProps = function incompatiblePropsFunction() {};\n\nif (process.env.NODE_ENV !== 'production') {\n\tincompatibleProps = function incompatiblePropsFunction(\n\t\tcontrol,\n\t\tprops,\n\t\tpropOneName,\n\t\tpropOneValues,\n\t\tpropTwoName,\n\t\tpropTwoValues,\n\t\tcomment\n\t) {\n\t\tlet checkPassed = true;\n\t\tlet propOneConditionMet = false;\n\t\tlet propTwoConditionMet = false;\n\n\t\tif (props[propOneName] && props[propTwoName]) {\n\t\t\tif (propOneValues) {\n\t\t\t\tpropOneValues.forEach((value) => {\n\t\t\t\t\tpropOneConditionMet = props[propOneName] === value;\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\tpropOneConditionMet = true;\n\t\t\t}\n\n\t\t\tif (propTwoValues) {\n\t\t\t\tpropTwoValues.forEach((value) => {\n\t\t\t\t\tpropTwoConditionMet = props[propTwoName] === value;\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\tpropTwoConditionMet = true;\n\t\t\t}\n\n\t\t\tcheckPassed = !(propOneConditionMet && propTwoConditionMet);\n\t\t}\n\n\t\tif (!checkPassed) {\n\t\t\tconst additionalComment = comment ? ` ${comment}` : '';\n\t\t\tconst incompatibleValueOne = propOneValues\n\t\t\t\t? ` of value \\`${props[propOneName]}\\``\n\t\t\t\t: '';\n\t\t\tconst incompatibleValueTwo = propTwoValues\n\t\t\t\t? ` of value \\`${props[propTwoName]}\\``\n\t\t\t\t: '';\n\n\t\t\t/* eslint-disable max-len */\n\t\t\twarning(\n\t\t\t\tfalse,\n\t\t\t\t`[Design System React] ${control} should not be passed prop \\`${propOneName}\\`${incompatibleValueOne} along with prop \\`${propTwoName}\\`${incompatibleValueTwo} as they are incompatible.${additionalComment}`\n\t\t\t);\n\t\t\t/* eslint-enable max-len */\n\t\t}\n\t};\n}\n\nexport default incompatibleProps;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n/* eslint-disable import/no-mutable-exports */\n/* eslint-disable max-len */\n\nimport oneOfRequiredProperty from '../../utilities/warning/one-of-required-property';\nimport oneOfComponent from '../../utilities/warning/one-of-component';\nimport deprecatedProperty from '../../utilities/warning/deprecated-property';\nimport getComponentDocFn from '../../utilities/get-component-doc';\nimport incompatibleProps from '../../utilities/warning/incompatible-props';\n\nlet checkProps = function checkPropsFunction() {};\n\nif (process.env.NODE_ENV !== 'production') {\n\tcheckProps = function checkPropsFunction(COMPONENT, props, jsonDoc) {\n\t\tconst createDocUrl = getComponentDocFn(jsonDoc);\n\n\t\toneOfRequiredProperty(\n\t\t\tCOMPONENT,\n\t\t\t{\n\t\t\t\tariaLabelledby: props.ariaLabelledby,\n\t\t\t\theading: props.heading,\n\t\t\t},\n\t\t\tcreateDocUrl()\n\t\t);\n\n\t\tif (props.children !== undefined) {\n\t\t\tif (props.children.length && props.children.length > 1) {\n\t\t\t\toneOfComponent(\n\t\t\t\t\tCOMPONENT,\n\t\t\t\t\tprops,\n\t\t\t\t\t'children[0]',\n\t\t\t\t\t['SLDSButton', 'a', 'button', 'SLDSInnerInput', 'SLDSPopoverTooltip'],\n\t\t\t\t\t` Multiple children of any kind are allowed, but the first child must serve as the trigger component. ${createDocUrl()}`,\n\t\t\t\t\tprops.children[0]\n\t\t\t\t);\n\t\t\t} else {\n\t\t\t\toneOfComponent(\n\t\t\t\t\tCOMPONENT,\n\t\t\t\t\tprops,\n\t\t\t\t\t'children',\n\t\t\t\t\t['SLDSButton', 'a', 'button', 'SLDSInnerInput', 'SLDSPopoverTooltip'],\n\t\t\t\t\tcreateDocUrl()\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\n\t\tdeprecatedProperty(\n\t\t\tCOMPONENT,\n\t\t\tprops.offset,\n\t\t\t'offset',\n\t\t\tundefined,\n\t\t\t`The manual setting of positional offset of dialog components has been deemed unreliable. Position logic has been re-written to deliver better and more reliable positioning. Please create an issue if you have an edge case not covered by the built-in logic. ${createDocUrl()}`,\n\t\t\tprops.silenceDeprecatedPropertyWarning || false\n\t\t);\n\n\t\tdeprecatedProperty(\n\t\t\tCOMPONENT,\n\t\t\tprops.isInline,\n\t\t\t'isInline',\n\t\t\t'position=\"relative\"',\n\t\t\tcreateDocUrl('position')\n\t\t);\n\n\t\tdeprecatedProperty(\n\t\t\tCOMPONENT,\n\t\t\tprops.closeButtonAssistiveText,\n\t\t\t'closeButtonAssistiveText',\n\t\t\t\"assistiveText['closeButton']\",\n\t\t\tcreateDocUrl('assistiveText')\n\t\t);\n\n\t\tincompatibleProps(\n\t\t\tCOMPONENT,\n\t\t\tprops,\n\t\t\t'position',\n\t\t\t['relative'],\n\t\t\t'target',\n\t\t\tnull,\n\t\t\t`${createDocUrl()}`\n\t\t);\n\t};\n}\n\nexport default checkProps;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// # Assistive Technology / Keyboard Navigable Trait for Dialogs with Tabbable content\n\n/*\n * Guidelines for Popover\n *\n * - Focus is trapped. Tabbing to an index outside of the dialog is not allowed. Popover must be closed first via ESC.\n * - There should always be a focusable element inside, to place user focus on such as a close button\n * - Must be dismissible via ESC and a close button\n * - Uses tabIndex in wrapper and has tabbable items within it despite being outside document flow.\n * - Entire popover receives focus when opened and has a aria-labelledby that points to the header id, so it will read the heading,\n * - Must return focus to trigger after closing.\n * - F6 will allow the user to keep popover open and go back to tabbing in “app-context” instead of “dialog-context.” (not implemented, yet)\n */\n\n// ## Dependencies\n\n// ### React\nimport ReactDOM from 'react-dom';\n\n// ### Event Helpers\nimport KEYS from './key-code';\n\n/* eslint-disable react/no-find-dom-node */\n\nconst internalHandleClick = ({ trigger, eventTarget, handleClick }) => {\n\tif (trigger && ReactDOM.findDOMNode(trigger) === eventTarget) {\n\t\t// eslint-disable-line react/no-find-dom-node\n\t\thandleClick(event);\n\t}\n};\n\nconst KeyboardNavigableDialog = ({\n\tisOpen,\n\thandleClick,\n\tkeyCode,\n\teventTarget,\n\ttrigger,\n\ttoggleOpen,\n}) => {\n\tswitch (keyCode) {\n\t\tcase KEYS.ESCAPE:\n\t\t\tif (isOpen) {\n\t\t\t\ttoggleOpen();\n\t\t\t}\n\t\t\tbreak;\n\t\tcase KEYS.ENTER:\n\t\t\tif (!isOpen) {\n\t\t\t\tinternalHandleClick({\n\t\t\t\t\ttrigger,\n\t\t\t\t\teventTarget,\n\t\t\t\t\thandleClick,\n\t\t\t\t});\n\t\t\t}\n\t\t\tbreak;\n\t\tdefault:\n\t\t\tbreak;\n\t}\n};\n\nexport default KeyboardNavigableDialog;\n","/* eslint-disable max-lines */\n/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// # Popover Component\n\n// Implements the [Popover design pattern](https://www.lightningdesignsystem.com/components/popovers) in React.\n\n// ### React\nimport React from 'react';\n\nimport PropTypes from 'prop-types';\n\n// ### classNames\n// [github.com/JedWatson/classnames](https://github.com/JedWatson/classnames)\n// This project uses `classnames`, \"a simple javascript utility for conditionally\n// joining classNames together.\"\nimport classNames from 'classnames';\n\n// ### isFunction\nimport isFunction from 'lodash.isfunction';\n\n// ### shortid\n// [npmjs.com/package/shortid](https://www.npmjs.com/package/shortid)\n// shortid is a short, non-sequential, url-friendly, unique id generator\nimport shortid from 'shortid';\n\n// This component's `checkProps` which issues warnings to developers about properties when in development mode (similar to React's built in development tools)\nimport checkProps from './check-props';\nimport componentDoc from './component.json';\n\nimport Button from '../button';\nimport MediaObject from '../media-object';\nimport Icon from '../icon';\n\n// ### Children\nimport Dialog from '../utilities/dialog';\n\n// #### KeyboardNavigable\nimport keyboardNavigableDialog from '../../utilities/keyboard-navigable-dialog';\n\nimport KEYS from '../../utilities/key-code';\nimport { POPOVER } from '../../utilities/constants';\n\nconst documentDefined = typeof document !== 'undefined';\n\n// The overlay is an optional way to allow the popover to close on outside\n// clicks even when those clicks are over areas that wouldn't normally fire\n// click or touch events (for example, iframes). A single overlay is shared\n// between all popovers in the app.\nconst overlay = documentDefined\n\t? document.createElement('span')\n\t: { style: {} };\noverlay.style.top = 0;\noverlay.style.left = 0;\noverlay.style.width = '100%';\noverlay.style.height = '100%';\noverlay.style.position = 'absolute';\n\nlet currentOpenPopover;\n\n// FIXME - what is this exported for? Probably needs to be deprecated.\nconst PopoverNubbinPositions = [\n\t'top left',\n\t'top',\n\t'top right',\n\t'bottom left',\n\t'bottom',\n\t'bottom right',\n];\n\nconst defaultProps = {\n\talign: 'right',\n\tassistiveText: {\n\t\tcloseButton: 'Close dialog',\n\t},\n\thasNoCloseButton: false,\n\thasNoNubbin: false,\n\thoverCloseDelay: 300,\n\topenOn: 'click',\n\tposition: 'absolute',\n\tvariant: 'base',\n};\n\n/**\n * The Popover component is a non-modal dialog. It should be paired with a clickable trigger such as a `Button`. It traps focus from the page and must be exited if focus needs to be outside the Popover. Use a `Tooltip` if there are no call to actions within the dialog. A `Tooltip` does not need to be clicked. Multiple popovers open at the same time, each with focus trap is not supported.\n */\nclass Popover extends React.Component {\n\t// ### Display Name\n\t// Always use the canonical component name as the React display name.\n\tstatic displayName = POPOVER;\n\n\t// ### Prop Types\n\tstatic propTypes = {\n\t\t/**\n\t\t * Aligns the popover with the respective side of the trigger. That is `top` will place the `Popover` above the trigger.\n\t\t */\n\t\talign: PropTypes.oneOf([\n\t\t\t'top',\n\t\t\t'top left',\n\t\t\t'top right',\n\t\t\t'right',\n\t\t\t'right top',\n\t\t\t'right bottom',\n\t\t\t'bottom',\n\t\t\t'bottom left',\n\t\t\t'bottom right',\n\t\t\t'left',\n\t\t\t'left top',\n\t\t\t'left bottom',\n\t\t]),\n\t\t/**\n\t\t * **Assistive text for accessibility.**\n\t\t * This object is merged with the default props object on every render.\n\t\t * * `closeButton`: This is a visually hidden label for the close button.\n\t\t */\n\t\tassistiveText: PropTypes.shape({\n\t\t\tcloseButton: PropTypes.string,\n\t\t}),\n\t\t/**\n\t\t * HTML `id` of heading for popover. Only use if your header is within your popover body.\n\t\t */\n\t\tariaLabelledby: PropTypes.string,\n\t\t/**\n\t\t * Multiple children of any kind are allowed, but the first child must serve as the trigger component. Many props will be passed into this trigger related to popover interactions. The trigger needs to be a clickable element, such as a `Button` or an anchor tag (`a`).\n\t\t */\n\t\tchildren: PropTypes.node.isRequired,\n\t\t/**\n\t\t * The contents of the popover. This should also accept arrays.\n\t\t */\n\t\tbody: PropTypes.oneOfType([PropTypes.node, PropTypes.array]).isRequired,\n\t\t/**\n\t\t * CSS classes to be added to the popover footer. That is the element with `.slds-popover__body` on it.\n\t\t */\n\t\tclassNameBody: PropTypes.oneOfType([\n\t\t\tPropTypes.array,\n\t\t\tPropTypes.object,\n\t\t\tPropTypes.string,\n\t\t]),\n\t\t/**\n\t\t * CSS classes to be added to the popover footer. That is the element with `.slds-popover__footer` on it.\n\t\t */\n\t\tclassNameFooter: PropTypes.oneOfType([\n\t\t\tPropTypes.array,\n\t\t\tPropTypes.object,\n\t\t\tPropTypes.string,\n\t\t]),\n\t\t/**\n\t\t * This prop is passed onto the triggering `Button`. Prevent popover from opening. Also applies disabled styling to trigger button.\n\t\t */\n\t\tdisabled: PropTypes.bool,\n\t\t/**\n\t\t * A footer is an optional. Buttons are often placed here.\n\t\t */\n\t\tfooter: PropTypes.node,\n\t\t/**\n\t\t * An object of CSS styles that are applied to the `slds-popover__footer` DOM element.\n\t\t */\n\t\tfooterStyle: PropTypes.object,\n\t\t/**\n\t\t * Used with `walkthrough` variant to provide action buttons (ex: \"Next\" / \"Skip\" / etc) for a walkthrough popover footer. Accepts either a single node or array of nodes for multiple buttons.\n\t\t */\n\t\tfooterWalkthroughActions: PropTypes.oneOfType([\n\t\t\tPropTypes.node,\n\t\t\tPropTypes.arrayOf(PropTypes.node),\n\t\t]),\n\t\t/**\n\t\t * Determines if the popover has a close button or not. Default is `false`\n\t\t */\n\t\thasNoCloseButton: PropTypes.bool,\n\t\t/**\n\t\t * Determines if the popover has a nubbin or not. Default is `false`\n\t\t */\n\t\thasNoNubbin: PropTypes.bool,\n\t\t/**\n\t\t * Prevents the Popover from changing position based on the viewport/window. If set to true your popover can extend outside the viewport _and_ overflow outside of a scrolling parent. If this happens, you might want to consider making the popover contents scrollable to fit the menu on the screen. When enabled, `position` `absolute` is used.\n\t\t */\n\t\thasStaticAlignment: PropTypes.bool,\n\t\t/**\n\t\t * Removes `display:inline-block` from the trigger button.\n\t\t */\n\t\thasNoTriggerStyles: PropTypes.bool,\n\t\t/**\n\t\t * All popovers require a heading that labels the popover for assistive technology users. This text will be placed within a heading HTML tag, or in an h2 within the popover body if used with `variant=\"walkthrough-action\"`. A heading is **highly recommended for accessibility reasons.** Please see `ariaLabelledby` prop.\n\t\t */\n\t\theading: PropTypes.oneOfType([PropTypes.string, PropTypes.node]),\n\t\t/**\n\t\t * Icon displayed in the `feature` variant\n\t\t */\n\t\ticon: PropTypes.node,\n\t\t/**\n\t\t * By default, a unique ID will be created at render to support keyboard navigation, ARIA roles, and connect the popover to the triggering button. This ID will be applied to the triggering element. `${id}-popover`, `${id}-dialog-heading`, `${id}-dialog-body` are also created.\n\t\t */\n\t\tid: PropTypes.string,\n\t\t/**\n\t\t * Forces the popover to be open or closed. See controlled/uncontrolled callback/prop pattern for more on suggested use [](https://github.com/salesforce-ux/design-system-react/blob/master/CONTRIBUTING.md#concepts-and-best-practices) You will want this if Popover is to be a controlled component.\n\t\t */\n\t\tisOpen: PropTypes.bool,\n\t\t/**\n\t\t * This function is passed onto the triggering `Button`. Triggered when the trigger button is clicked. You will want this if Popover is to be a controlled component.\n\t\t */\n\t\tonClick: PropTypes.func,\n\t\t/**\n\t\t * This function is triggered when the dialog is closed. This occurs when the Dialog child component (that is the actual popover) is unmounted and removed from the DOM. This function returns `{event, { trigger, componentWillUnmount }`. Trigger can have the values `cancel`, `clickOutside`, or `newPopover`.\n\t\t */\n\t\tonClose: PropTypes.func,\n\t\t/**\n\t\t * Called when a key is pressed.\n\t\t */\n\t\tonKeyDown: PropTypes.func,\n\t\t/**\n\t\t * Called when mouse clicks down on the trigger button.\n\t\t */\n\t\tonMouseDown: PropTypes.func,\n\t\t/**\n\t\t * This function is triggered when the Dialog child component (that is the actual popover) is mounted and added to the DOM. The parameters are `event, { portal: }`. `portal` can be used as a React tree root node.\n\t\t */\n\t\tonOpen: PropTypes.func,\n\t\t/**\n\t\t * This function is triggered when the user clicks outside the Popover or clicks the close button. You will want to define this if Popover is to be a controlled component. Most of the time you will want to set `isOpen` to `false` when this is triggered unless you need to validate something.\n\t\t */\n\t\tonRequestClose: PropTypes.func,\n\t\t/**\n\t\t * Callback that returns an element or React `ref` to align the Popover with. If the target element has not been rendered yet, the popover will use the triggering element as the attachment target instead. NOTE: `position=\"relative\"` is not compatible with custom targets that are not the triggering element.\n\t\t */\n\t\tonRequestTargetElement: PropTypes.func,\n\t\t/**\n\t\t * Please select one of the following:\n\t\t * * `absolute` - (default) The dialog will use `position: absolute` and style attributes to position itself. This allows inverted placement or flipping of the dialog.\n\t\t * * `overflowBoundaryElement` - The dialog will overflow scrolling parents. Use on elements that are aligned to the left or right of their target and don't care about the target being within a scrolling parent. Typically this is a popover or tooltip. Dropdown menus can usually open up and down if no room exists. In order to achieve this a portal element will be created and attached to `body`. This element will render into that detached render tree.\n\t\t * * `relative` - No styling or portals will be used. Menus will be positioned relative to their triggers. This is a great choice for HTML snapshot testing. NOTE: this setting is not compatible with custom targets outside the trigger\n\t\t */\n\t\tposition: PropTypes.oneOf([\n\t\t\t'absolute',\n\t\t\t'overflowBoundaryElement',\n\t\t\t'relative',\n\t\t]),\n\t\t/**\n\t\t * Used with `walkthrough` variant to provide the step text (ex: \"Step 1 of 4\") for a walkthrough popover footer. If used with `variant=\"walkthrough-action\"`, it will be placed in the popover body.\n\t\t */\n\t\tstepText: PropTypes.string,\n\t\t/**\n\t\t * An object of CSS styles that are applied to the `slds-popover` DOM element.\n\t\t */\n\t\tstyle: PropTypes.object,\n\t\t/**\n\t\t * If `true`, adds a transparent overlay when the menu is open to handle outside clicks. Allows clicks on iframes to be captured, but also forces a double-click to interact with other elements. If a function is passed, custom overlay logic may be defined by the app.\n\t\t */\n\t\toverlay: PropTypes.oneOfType([PropTypes.bool, PropTypes.func]),\n\t\t/**\n\t\t * CSS classes to be added to wrapping trigger `div` around the button.\n\t\t */\n\t\ttriggerClassName: PropTypes.oneOfType([\n\t\t\tPropTypes.array,\n\t\t\tPropTypes.object,\n\t\t\tPropTypes.string,\n\t\t]),\n\t\t/**\n\t\t * Determines the type of the popover. `error` and `warning` allows the content body to scroll. Default is `base` _Tested with snaphots._\n\t\t */\n\t\tvariant: PropTypes.oneOf([\n\t\t\t'base',\n\t\t\t'error',\n\t\t\t'feature',\n\t\t\t'walkthrough',\n\t\t\t'walkthrough-action',\n\t\t\t'warning',\n\t\t]),\n\t};\n\n\tstatic defaultProps = defaultProps;\n\n\tstate = {\n\t\tisOpen: false,\n\t};\n\n\tconstructor(props) {\n\t\tsuper(props);\n\n\t\tthis.generatedId = shortid.generate();\n\t\t// `checkProps` issues warnings to developers about properties (similar to React's built in development tools)\n\t\tcheckProps(POPOVER, props, componentDoc);\n\t}\n\n\tcomponentWillUnmount() {\n\t\tif (currentOpenPopover === this) {\n\t\t\tcurrentOpenPopover = undefined;\n\t\t}\n\t\tthis.isUnmounting = true;\n\t\tthis.renderOverlay(false);\n\t}\n\n\tgetId = () => this.props.id || this.generatedId;\n\n\tgetIsOpen = () =>\n\t\t!this.props.disabled &&\n\t\t!!(typeof this.props.isOpen === 'boolean'\n\t\t\t? this.props.isOpen\n\t\t\t: this.state.isOpen);\n\n\tgetMenu = () =>\n\t\t// needed by keyboard navigation\n\t\tthis.dialog;\n\n\tgetTargetElement = () =>\n\t\tthis.props.onRequestTargetElement && this.props.onRequestTargetElement()\n\t\t\t? this.props.onRequestTargetElement()\n\t\t\t: this.trigger;\n\n\tsetMenuRef = (component) => {\n\t\tthis.dialog = component;\n\t};\n\n\tsetContainerRef = (component) => {\n\t\tthis.trigger = component;\n\t\t// yes, this is a re-render triggered by a render.\n\t\t// Dialog/Popper.js cannot place the popover until\n\t\t// the trigger/target DOM node is mounted. This\n\t\t// way `findDOMNode` is not called and parent\n\t\t// DOM nodes are not queried.\n\t\tif (!this.state.inputRendered) {\n\t\t\tthis.setState({ inputRendered: true });\n\t\t}\n\t};\n\n\thandleDialogClose = (event, data) => {\n\t\tconst componentWillUnmount = (data && data.componentWillUnmount) || false;\n\n\t\tif (currentOpenPopover === this) {\n\t\t\tcurrentOpenPopover = undefined;\n\t\t}\n\n\t\tif (this.props.onClose) {\n\t\t\tthis.props.onClose(event, {\n\t\t\t\t// Breaking change: component object reference has been\n\t\t\t\t// removed (`this`), due to endless loop creation.\n\t\t\t\tcomponentWillUnmount,\n\t\t\t});\n\t\t}\n\t};\n\n\thandleClose = (event, data) => {\n\t\tconst isOpen = this.getIsOpen();\n\n\t\tif (isOpen) {\n\t\t\t// call even if closed\n\t\t\tif (this.props.onRequestClose) {\n\t\t\t\tthis.props.onRequestClose(event, data);\n\t\t\t}\n\n\t\t\tif (currentOpenPopover === this) {\n\t\t\t\tcurrentOpenPopover = undefined;\n\t\t\t}\n\n\t\t\tthis.setState({\n\t\t\t\tisOpen: false,\n\t\t\t});\n\n\t\t\tthis.isHover = false;\n\t\t}\n\t};\n\n\thandleOpen = () => {\n\t\tconst isOpen = this.getIsOpen();\n\n\t\tif (!isOpen) {\n\t\t\tif (currentOpenPopover && isFunction(currentOpenPopover.handleClose)) {\n\t\t\t\tcurrentOpenPopover.handleClose(undefined, {\n\t\t\t\t\ttrigger: 'newPopover',\n\t\t\t\t\tid: currentOpenPopover.getId(),\n\t\t\t\t});\n\t\t\t}\n\n\t\t\tcurrentOpenPopover = this;\n\n\t\t\tthis.setState({\n\t\t\t\tisOpen: true,\n\t\t\t});\n\t\t}\n\t};\n\n\t/* props.openOn is not a part of prop-types because it is not a supported feature, but may be needed for backwards compatibility with non-accessible dropdown/popover hybrids. */\n\n\t/* eslint-disable react/prop-types */\n\thandleMouseEnter = (event) => {\n\t\tconst isOpen = this.getIsOpen();\n\n\t\tthis.isHover = true;\n\n\t\tif (!isOpen && this.props.openOn === 'hover') {\n\t\t\tthis.handleOpen();\n\t\t} else {\n\t\t\t// we want this clear when openOn is hover or hybrid\n\t\t\tclearTimeout(this.isClosing);\n\t\t}\n\n\t\tif (this.props.onMouseEnter) {\n\t\t\tthis.props.onMouseEnter(event);\n\t\t}\n\t};\n\n\thandleMouseLeave = (event) => {\n\t\tconst isOpen = this.getIsOpen();\n\n\t\tif (isOpen) {\n\t\t\tthis.isClosing = setTimeout(() => {\n\t\t\t\tthis.handleClose();\n\t\t\t}, this.props.hoverCloseDelay);\n\t\t}\n\n\t\tif (this.props.onMouseLeave) {\n\t\t\tthis.props.onMouseLeave(event);\n\t\t}\n\t};\n\n\t/* eslint-enable react/prop-types */\n\n\thandleClick = (event, { triggerOnClickCallback }) => {\n\t\tconst isOpen = this.getIsOpen();\n\n\t\tif (!isOpen) {\n\t\t\tthis.handleOpen();\n\t\t} else {\n\t\t\tthis.handleClose();\n\t\t}\n\n\t\tif (this.props.onClick) {\n\t\t\tthis.props.onClick(event);\n\t\t}\n\n\t\tif (triggerOnClickCallback) {\n\t\t\ttriggerOnClickCallback(event);\n\t\t}\n\t};\n\n\thandleFocus = (event) => {\n\t\tconst isOpen = this.getIsOpen();\n\n\t\tif (!isOpen) {\n\t\t\tthis.handleOpen();\n\t\t}\n\n\t\tif (this.props.onFocus) {\n\t\t\tthis.props.onFocus(event);\n\t\t}\n\t};\n\n\thandleKeyDown = (event) => {\n\t\tif (event.keyCode) {\n\t\t\tif (event.keyCode !== KEYS.TAB) {\n\t\t\t\tconst isOpen = this.getIsOpen();\n\n\t\t\t\tkeyboardNavigableDialog({\n\t\t\t\t\tevent,\n\t\t\t\t\tisOpen,\n\t\t\t\t\thandleClick: this.handleClick,\n\t\t\t\t\tkey: event.key,\n\t\t\t\t\tkeyCode: event.keyCode,\n\t\t\t\t\ttargetTarget: event.target,\n\t\t\t\t\ttoggleOpen: this.toggleOpenFromKeyboard,\n\t\t\t\t\ttrigger: this.trigger,\n\t\t\t\t});\n\t\t\t}\n\t\t\tif (this.props.onKeyDown) {\n\t\t\t\tthis.props.onKeyDown(event);\n\t\t\t}\n\t\t}\n\t};\n\n\thandleCancel = (event) => {\n\t\tthis.handleClose(event, { trigger: 'cancel' });\n\t};\n\n\thandleClickOutside = (event) => {\n\t\tthis.handleClose(event, { trigger: 'clickOutside' });\n\t};\n\n\ttoggleOpenFromKeyboard = (event) => {\n\t\tconst isOpen = this.getIsOpen();\n\t\tif (isOpen) {\n\t\t\tthis.handleCancel(event);\n\t\t} else {\n\t\t\tthis.handleOpen();\n\t\t}\n\t};\n\n\trenderDialog = (isOpen, outsideClickIgnoreClass) => {\n\t\tconst { props } = this;\n\t\tconst { offset } = props;\n\t\tconst assistiveText = {\n\t\t\t...defaultProps.assistiveText,\n\t\t\t...this.props.assistiveText,\n\t\t};\n\t\tconst closeButtonAssistiveText =\n\t\t\tprops.closeButtonAssistiveText || assistiveText.closeButton;\n\n\t\t// HEADER SUB-RENDERS\n\t\tconst hasThemedHeader =\n\t\t\tthis.props.variant === 'error' || this.props.variant === 'warning';\n\t\tconst hasDefinedHeader = this.props.heading || hasThemedHeader;\n\t\tconst headerIcon = {\n\t\t\terror: ,\n\t\t\twarning: (\n\t\t\t\t\n\t\t\t),\n\t\t};\n\t\tconst headerVariants = {\n\t\t\tbase: (\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t{this.props.heading}\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t),\n\t\t\tthemed: (\n\t\t\t\t
    \n\t\t\t\t\t\n\t\t\t\t\t\t\t\t{props.heading}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t}\n\t\t\t\t\t\tfigure={headerIcon[this.props.variant]}\n\t\t\t\t\t\tverticalCenter\n\t\t\t\t\t/>\n\t\t\t\t
    \n\t\t\t),\n\t\t};\n\t\tlet header = null;\n\n\t\tif (\n\t\t\thasDefinedHeader &&\n\t\t\tprops.variant !== 'walkthrough-action' &&\n\t\t\tprops.variant !== 'feature'\n\t\t) {\n\t\t\theader = headerVariants[hasThemedHeader ? 'themed' : 'base'];\n\t\t}\n\n\t\t// BODY SUB-RENDERS\n\t\tlet body = null;\n\n\t\tif (props.variant === 'error' || props.variant === 'warning') {\n\t\t\tbody = (\n\t\t\t\t// THIS WRAPPING DIV IS NOT IN SLDS MARKUP\n\t\t\t\t
    \n\t\t\t\t\t\n\t\t\t\t\t\t{props.body}\n\t\t\t\t\t
    \n\t\t\t\t\t\n\t\t\t\t\n\t\t\t);\n\t\t} else if (\n\t\t\tprops.variant === 'walkthrough-action' ||\n\t\t\tprops.variant === 'feature'\n\t\t) {\n\t\t\tbody = (\n\t\t\t\t\n\t\t\t\t\t
    \n\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t{props.variant === 'walkthrough-action' ? (\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\tthis.props.icon\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t
    \n\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t{props.heading ? (\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t{props.heading}\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t) : null}\n\t\t\t\t\t\t\t{props.body}\n\t\t\t\t\t\t\t{props.stepText ? (\n\t\t\t\t\t\t\t\t

    \n\t\t\t\t\t\t\t\t\t{props.stepText}\n\t\t\t\t\t\t\t\t

    \n\t\t\t\t\t\t\t) : null}\n\t\t\t\t\t\t
    \n\t\t\t\t\t
    \n\t\t\t\t\n\t\t\t);\n\t\t} else {\n\t\t\tbody = (\n\t\t\t\t// DEFAULT - NOT SCROLLABLE\n\t\t\t\t\n\t\t\t\t\t{props.body}\n\t\t\t\t\n\t\t\t);\n\t\t}\n\n\t\t// FOOTER SUB-RENDERS\n\t\tlet footer = null;\n\n\t\tif (props.footer) {\n\t\t\tfooter = (\n\t\t\t\t\n\t\t\t\t\t{this.props.footer}\n\t\t\t\t\n\t\t\t);\n\t\t} else if (\n\t\t\tprops.variant !== 'walkthrough-action' &&\n\t\t\t(props.footerWalkthroughActions || props.stepText)\n\t\t) {\n\t\t\tfooter = (\n\t\t\t\t
    \n\t\t\t\t\t
    \n\t\t\t\t\t\t{props.stepText ? (\n\t\t\t\t\t\t\t{props.stepText}\n\t\t\t\t\t\t) : null}\n\t\t\t\t\t\t{props.footerWalkthroughActions ? (\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t{props.footerWalkthroughActions}\n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t) : null}\n\t\t\t\t\t\n\t\t\t\t
    \n\t\t\t);\n\t\t}\n\n\t\t// MAIN RENDER\n\t\treturn isOpen ? (\n\t\t\t this.getTargetElement()}\n\t\t\t\tposition={this.props.position}\n\t\t\t\tstyle={this.props.style}\n\t\t\t\tvariant=\"popover\"\n\t\t\t\tref={this.setMenuRef}\n\t\t\t\tcontainerProps={{\n\t\t\t\t\tid: `${this.getId()}-popover`,\n\t\t\t\t\t'aria-labelledby':\n\t\t\t\t\t\tthis.props.ariaLabelledby || `${this.getId()}-dialog-heading`,\n\t\t\t\t\t'aria-describedby': `${this.getId()}-dialog-body`,\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\t{!this.props.hasNoCloseButton && (\n\t\t\t\t\t\n\t\t\t\t)}\n\t\t\t\t{header}\n\t\t\t\t{body}\n\t\t\t\t{footer}\n\t\t\t\n\t\t) : null;\n\t};\n\n\trenderOverlay = (isOpen) => {\n\t\tif (isFunction(overlay) && documentDefined) {\n\t\t\toverlay(isOpen, overlay);\n\t\t} else if (\n\t\t\tthis.props.overlay &&\n\t\t\tisOpen &&\n\t\t\t!this.overlay &&\n\t\t\tdocumentDefined\n\t\t) {\n\t\t\tthis.overlay = overlay;\n\t\t\tdocument.querySelector('body').appendChild(this.overlay);\n\t\t} else if (!isOpen && this.overlay && this.overlay.parentNode) {\n\t\t\tthis.overlay.parentNode.removeChild(this.overlay);\n\t\t\tthis.overlay = undefined;\n\t\t}\n\t};\n\n\trender() {\n\t\tconst otherChildren = [];\n\t\tconst outsideClickIgnoreClass = `ignore-click-${this.getId()}`;\n\t\tlet clonedTrigger = null;\n\n\t\tReact.Children.forEach(this.props.children, (child, index) => {\n\t\t\tif (index === 0) {\n\t\t\t\tclonedTrigger = React.cloneElement(child, {\n\t\t\t\t\t'aria-haspopup': 'dialog',\n\t\t\t\t\tid: this.getId(),\n\t\t\t\t\tonClick:\n\t\t\t\t\t\tthis.props.openOn === 'click' || this.props.openOn === 'hybrid'\n\t\t\t\t\t\t\t? (event) => {\n\t\t\t\t\t\t\t\t\tthis.handleClick(event, {\n\t\t\t\t\t\t\t\t\t\ttriggerOnClickCallback: child.props.onClick,\n\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t }\n\t\t\t\t\t\t\t: child.props.onClick,\n\t\t\t\t\tonFocus: this.props.openOn === 'hover' ? this.handleFocus : null,\n\t\t\t\t\tonMouseDown: this.props.onMouseDown,\n\t\t\t\t\tonMouseEnter:\n\t\t\t\t\t\tthis.props.openOn === 'hover' || this.props.openOn === 'hybrid'\n\t\t\t\t\t\t\t? this.handleMouseEnter\n\t\t\t\t\t\t\t: null,\n\t\t\t\t\tonMouseLeave:\n\t\t\t\t\t\tthis.props.openOn === 'hover' || this.props.openOn === 'hybrid'\n\t\t\t\t\t\t\t? this.handleMouseLeave\n\t\t\t\t\t\t\t: null,\n\t\t\t\t\ttabIndex: child.props.tabIndex || '0',\n\t\t\t\t\t...child.props,\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\t// eslint-disable-next-line fp/no-mutating-methods\n\t\t\t\totherChildren.push(child);\n\t\t\t}\n\t\t});\n\n\t\tthis.renderOverlay(this.getIsOpen());\n\t\tconst containerStyles = {\n\t\t\tdisplay: this.props.hasNoTriggerStyles ? undefined : 'inline-block',\n\t\t};\n\t\treturn (\n\t\t\t\n\t\t\t\t{clonedTrigger}\n\t\t\t\t{otherChildren.length > 0 ? otherChildren : null}\n\t\t\t\t{this.renderDialog(this.getIsOpen(), outsideClickIgnoreClass)}\n\t\t\t\n\t\t);\n\t}\n}\n\nPopover.contextTypes = {\n\ticonPath: PropTypes.string,\n};\n\nexport default Popover;\nexport { PopoverNubbinPositions };\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// ### onClickOutside\n// Listen for clicks that occur somewhere in the document, outside of the element itself\nimport onClickOutside from 'react-onclickoutside';\nimport Popover from './popover';\n\nexport default onClickOutside(Popover);\n","/* eslint-disable max-lines */\n/* eslint-disable react/sort-comp */\nimport classNames from 'classnames';\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport shortid from 'shortid';\nimport assign from 'lodash.assign';\n\nimport checkProps from './check-props';\n\nimport CustomColor from './private/custom-color';\nimport Swatch from './private/swatch';\nimport SwatchPicker from './private/swatch-picker';\n\nimport Button from '../button';\nimport Input from '../input';\nimport Tabs from '../tabs';\nimport TabsPanel from '../tabs/panel';\nimport Popover from '../popover';\n\nimport ColorUtils from '../../utilities/color';\n\nimport { COLOR_PICKER } from '../../utilities/constants';\n\nimport componentDoc from './component.json';\n\nconst propTypes = {\n\t/**\n\t * **Assistive text for accessibility**\n\t * * `label`: Visually hidden label but read out loud by screen readers.\n\t * * `hueSlider`: Instructions for hue selection input\n\t * * `saturationValueGrid`: Instructions for using the grid for saturation\n\t * and value selection\n\t */\n\tassistiveText: PropTypes.shape({\n\t\tlabel: PropTypes.string,\n\t\thueSlider: PropTypes.string,\n\t\tsaturationValueGrid: PropTypes.string,\n\t}),\n\t/**\n\t * CSS classes to be added to tag with `.slds-color-picker`. Uses `classNames` [API](https://github.com/JedWatson/classnames). _Tested with snapshot testing._\n\t */\n\tclassName: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\t/**\n\t * CSS classes to be added to tag with `.slds-popover`. Uses `classNames` [API](https://github.com/JedWatson/classnames). _Tested with snapshot testing._\n\t */\n\tclassNameMenu: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\t/**\n\t * Unique ID for component.\n\t */\n\tid: PropTypes.string,\n\t/**\n\t * Disables the input and button.\n\t */\n\tdisabled: PropTypes.bool,\n\t/**\n\t * Message to display when the outer input is in an error state. When this is present, also visually highlights the component as in error.\n\t */\n\terrorText: PropTypes.string,\n\t/**\n\t * Message to display when the custom tab input is in an error state. When this is present, also visually highlights the component as in error.\n\t */\n\terrorTextWorkingColor: PropTypes.string,\n\t/**\n\t * Event Callbacks\n\t * * `onChange`: This function is triggered when done is clicked. This function returns `{event, { color: [string] }}`, which is a hex representation of the color.\n\t * * `onClose`: This function is triggered when the menu is closed. This function returns `{event, { trigger, componentWillUnmount }}`. Trigger can have the values `cancel`, `clickOutside`, or `newPopover`.\n\t * * `onOpen`: This function is triggered when the color-picker menu is mounted and added to the DOM. The parameters are `event, { portal: }`. `portal` can be used as a React tree root node.\n\t * * `onRequestClose`: This function is triggered when the user clicks outside the menu or clicks the close button. You will want to define this if color-picker is to be a controlled component. Most of the time you will want to set `isOpen` to `false` when this is triggered unless you need to validate something.\n\t * \t\t\t\t\t\tThis function returns `{event, {trigger: [string]}}` where `trigger` is either `cancel` or `clickOutside`.\n\t * * `onRequestOpen`: Function called when the color-picker menu would like show.\n\t * * `onValidateColor`: Function that overwrites default color validator and called when validating HEX color on outer input change. If callback returns false, errorText is shown if set.\n\t * * `onValidateWorkingColor`: Function that overwrites default color validator and called when validating HEX color on custom tab inner input change. If callback returns false, errorTextWorkingColor is shown if set.\n\t * * `onWorkingColorChange`: This function is triggered when working color changes (color inside the custom tab). This function returns `{event, { color: [string] }}`, which is a hex representation of the color.\n\t * _Tested with Mocha framework._\n\t */\n\tevents: PropTypes.shape({\n\t\tonChange: PropTypes.func,\n\t\tonClose: PropTypes.func,\n\t\tonOpen: PropTypes.func,\n\t\tonRequestClose: PropTypes.func,\n\t\tonRequestOpen: PropTypes.func,\n\t\tonValidateColor: PropTypes.func,\n\t\tonValidateWorkingColor: PropTypes.func,\n\t\tonWorkingColorChange: PropTypes.func,\n\t}),\n\t/**\n\t * By default, dialogs will flip their alignment (such as bottom to top) if they extend beyond a boundary element such as a scrolling parent or a window/viewpoint. `hasStaticAlignment` disables this behavior and allows this component to extend beyond boundary elements. _Not tested._\n\t */\n\thasStaticAlignment: PropTypes.bool,\n\t/**\n\t * Hides the text input\n\t */\n\thideInput: PropTypes.bool,\n\t/**\n\t * Popover open state\n\t */\n\tisOpen: PropTypes.bool,\n\t/**\n\t * **Text labels for internationalization**\n\t * * `blueAbbreviated`: One letter abbreviation of blue color component\n\t * * `cancelButton`: Text for cancel button on popover\n\t * * `customTab`: Text for custom tab of popover\n\t * * `customTabActiveWorkingColorSwatch`: Label for custom tab active working color swatch\n\t * * `customTabTransparentSwatch`: Label for custom tab active transparent swatch\n\t * * `greenAbbreviated`: One letter abbreviation of green color component\n\t * * `hexLabel`: Label for input of hexadecimal color\n\t * * `invalidColor`: Error message when hex color input is invalid\n\t * * `invalidComponent`: Error message when a component input is invalid\n\t * * `label`: An `input` label as for a `form`\n\t * * `redAbbreviated`: One letter abbreviation of red color component\n\t * * `swatchTab`: Label for swatch tab of popover\n\t * * `submitButton`: Text for submit/done button of popover\n\t */\n\tlabels: PropTypes.shape({\n\t\tblueAbbreviated: PropTypes.string,\n\t\tcancelButton: PropTypes.string,\n\t\tcustomTab: PropTypes.string,\n\t\tcustomTabActiveWorkingColorSwatch: PropTypes.string,\n\t\tcustomTabTransparentSwatch: PropTypes.string,\n\t\tgreenAbbreviated: PropTypes.string,\n\t\thexLabel: PropTypes.string,\n\t\tinvalidColor: PropTypes.string,\n\t\tinvalidComponent: PropTypes.string,\n\t\tlabel: PropTypes.string,\n\t\tredAbbreviated: PropTypes.string,\n\t\tswatchTab: PropTypes.string,\n\t\tswatchTabTransparentSwatch: PropTypes.string,\n\t\tsubmitButton: PropTypes.string,\n\t}),\n\t/**\n\t * Please select one of the following:\n\t * * `absolute` - (default) The dialog will use `position: absolute` and style attributes to position itself. This allows inverted placement or flipping of the dialog.\n\t * * `overflowBoundaryElement` - The dialog will overflow scrolling parents. Use on elements that are aligned to the left or right of their target and don't care about the target being within a scrolling parent. Typically this is a popover or tooltip. Dropdown menus can usually open up and down if no room exists. In order to achieve this a portal element will be created and attached to `body`. This element will render into that detached render tree.\n\t * * `relative` - No styling or portals will be used. Menus will be positioned relative to their triggers. This is a great choice for HTML snapshot testing.\n\t */\n\tmenuPosition: PropTypes.oneOf([\n\t\t'absolute',\n\t\t'overflowBoundaryElement',\n\t\t'relative',\n\t]),\n\t/**\n\t * An array of hex color values which is used to set the options of the\n\t * swatch tab of the colorpicker popover.\n\t * To specify transparent, use empty string as a value.\n\t */\n\tswatchColors: PropTypes.arrayOf(PropTypes.string),\n\t/**\n\t * Determines which tab is visible when dialog opens. Use this prop with `base` variant only.\n\t * Defaults to `swatch` tab.\n\t */\n\tdefaultSelectedTab: PropTypes.oneOf(['swatches', 'custom']),\n\t/**\n\t * Selects which tabs are present for the colorpicker.\n\t * * `base`: both swatches and custom tabs are present\n\t * * `swatches`: only swatch tab is present\n\t * * `custom`: only custom tab is present\n\t * _Tested with snapshot testing._\n\t */\n\tvariant: PropTypes.oneOf(['base', 'swatches', 'custom']),\n\t/**\n\t * Current color in hexadecimal string, including # sign (eg: \"#000000\")\n\t */\n\tvalue: PropTypes.string,\n\t/**\n\t * Current working color in hexadecimal string, including # sign (eg: \"#000000\")\n\t */\n\tvalueWorking: PropTypes.string,\n};\n\nconst defaultProps = {\n\tassistiveText: {\n\t\tsaturationValueGrid:\n\t\t\t'Use arrow keys to select a saturation and brightness, on an x and y axis.',\n\t\thueSlider: 'Select Hue',\n\t},\n\tevents: {},\n\tlabels: {\n\t\tblueAbbreviated: 'B',\n\t\tcancelButton: 'Cancel',\n\t\tcustomTab: 'Custom',\n\t\tcustomTabActiveWorkingColorSwatch: 'Working Color',\n\t\tcustomTabTransparentSwatch: 'Transparent Swatch',\n\t\tgreenAbbreviated: 'G',\n\t\thexLabel: 'Hex',\n\t\tinvalidColor: 'The color entered is invalid',\n\t\tinvalidComponent: 'The value needs to be an integer from 0-255',\n\t\tredAbbreviated: 'R',\n\t\tsubmitButton: 'Done',\n\t\tswatchTab: 'Default',\n\t\tswatchTabTransparentSwatch: 'Transparent Swatch',\n\t},\n\tmenuPosition: 'absolute',\n\tswatchColors: [\n\t\t'#e3abec',\n\t\t'#c2dbf7',\n\t\t'#9fd6ff',\n\t\t'#9de7da',\n\t\t'#9df0c0',\n\t\t'#fff099',\n\t\t'#fed49a',\n\t\t'#d073e0',\n\t\t'#86baf3',\n\t\t'#5ebbff',\n\t\t'#44d8be',\n\t\t'#3be282',\n\t\t'#ffe654',\n\t\t'#ffb758',\n\t\t'#bd35bd',\n\t\t'#5779c1',\n\t\t'#5679c0',\n\t\t'#00aea9',\n\t\t'#3cba4c',\n\t\t'#f5bc25',\n\t\t'#f99221',\n\t\t'#580d8c',\n\t\t'#001970',\n\t\t'#0a2399',\n\t\t'#0b7477',\n\t\t'#0b6b50',\n\t\t'#b67e11',\n\t\t'#b85d0d',\n\t\t'',\n\t],\n\tdefaultSelectedTab: 'swatches',\n\tvariant: 'base',\n};\n\n/**\n * The Unified Color Picker component allows for a fully accessible and configurable color picker, allowing the user to pick from a set of predefined colors (swatches), or to pick a custom color using a HSB selection interface. It can be configured to show one or both of those color selection interfaces. View [component blueprint guidelines](https://lightningdesignsystem.com/components/color-picker/).\n */\nclass ColorPicker extends React.Component {\n\tstatic displayName = COLOR_PICKER;\n\n\tstatic propTypes = propTypes;\n\n\tstatic defaultProps = defaultProps;\n\n\tconstructor(props) {\n\t\tsuper(props);\n\n\t\tthis.generatedId = props.id || shortid.generate();\n\t\tconst workingColor = ColorUtils.getNewColor(\n\t\t\t{\n\t\t\t\thex: props.valueWorking || props.value,\n\t\t\t},\n\t\t\tprops.events.onValidateWorkingColor\n\t\t);\n\t\tthis.state = {\n\t\t\tcurrentColor: props.value != null ? props.value : '',\n\t\t\tdisabled: props.disabled,\n\t\t\tisOpen: props.isOpen,\n\t\t\tworkingColor,\n\t\t\tpreviousWorkingColor: workingColor,\n\t\t\tcolorErrorMessage: props.errorText,\n\t\t};\n\n\t\tcheckProps(COLOR_PICKER, props, componentDoc);\n\t}\n\n\tcomponentDidUpdate(prevProps) {\n\t\t// The following are only present to allow props to update the state if they get out of sync (for instance, the external store is updated).\n\t\tconst nextState = {};\n\n\t\tif (this.props.value !== prevProps.value) {\n\t\t\tnextState.currentColor = this.props.value;\n\t\t}\n\n\t\tif (this.props.valueWorking !== prevProps.valueWorking) {\n\t\t\tnextState.workingColor = ColorUtils.getNewColor(\n\t\t\t\t{\n\t\t\t\t\thex: this.props.valueWorking,\n\t\t\t\t},\n\t\t\t\tthis.props.events.onValidateWorkingColor\n\t\t\t);\n\t\t}\n\n\t\tif (this.props.disabled !== prevProps.disabled) {\n\t\t\tnextState.disabled = this.props.disabled;\n\t\t}\n\n\t\tif (Object.entries(nextState).length !== 0) {\n\t\t\t// eslint-disable-next-line react/no-did-update-set-state\n\t\t\tthis.setState(nextState);\n\t\t}\n\t}\n\n\tgetInput({ labels }) {\n\t\treturn this.props.hideInput ? null : (\n\t\t\t {\n\t\t\t\t\tthis.handleHexInputChange(event, { labels });\n\t\t\t\t}}\n\t\t\t\tvalue={this.state.currentColor}\n\t\t\t/>\n\t\t);\n\t}\n\n\tgetDefaultTab({ labels }) {\n\t\treturn (\n\t\t\t(this.props.variant === 'base' || this.props.variant === 'swatches') && (\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t)\n\t\t);\n\t}\n\n\tgetCustomTab({ labels }) {\n\t\treturn (\n\t\t\t(this.props.variant === 'base' || this.props.variant === 'custom') && (\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t)\n\t\t);\n\t}\n\n\tgetPopover({ labels }) {\n\t\tconst popoverBody = (\n\t\t\t\n\t\t\t\t{this.getDefaultTab({ labels })}\n\t\t\t\t{this.getCustomTab({ labels })}\n\t\t\t
    \n\t\t);\n\t\tconst popoverFooter = (\n\t\t\t
    \n\t\t\t\t\n\t\t\t\t 0\n\t\t\t\t\t}\n\t\t\t\t\tid={`color-picker-footer-submit-${this.generatedId}`}\n\t\t\t\t\tlabel={labels.submitButton}\n\t\t\t\t\tonClick={this.handleSubmitButtonClick}\n\t\t\t\t\tvariant=\"brand\"\n\t\t\t\t/>\n\t\t\t
    \n\t\t);\n\t\treturn (\n\t\t\t\n\t\t\t\t}\n\t\t\t\t\tonClick={this.handleSwatchButtonClick}\n\t\t\t\t\tvariant=\"icon\"\n\t\t\t\t/>\n\t\t\t
    \n\t\t);\n\t}\n\n\tsetWorkingColor(event, color) {\n\t\tconst newColor = ColorUtils.getNewColor(\n\t\t\tcolor,\n\t\t\tthis.props.events.onValidateWorkingColor,\n\t\t\t// eslint-disable-next-line react/no-access-state-in-setstate\n\t\t\tthis.state.workingColor\n\t\t);\n\t\tthis.setState({\n\t\t\tworkingColor: newColor,\n\t\t\t// eslint-disable-next-line react/no-access-state-in-setstate\n\t\t\tpreviousWorkingColor: this.state.workingColor,\n\t\t});\n\n\t\tif (this.props.events.onWorkingColorChange) {\n\t\t\tthis.props.events.onWorkingColorChange(event, { color: newColor });\n\t\t}\n\t}\n\n\thandleSwatchChange = (event) => {\n\t\tthis.setWorkingColor(event, {\n\t\t\thex: event.target.value,\n\t\t});\n\t};\n\n\thandleOnRequestClose = (event, { trigger }) => {\n\t\tif (trigger === 'clickOutside' || trigger === 'cancel') {\n\t\t\tthis.handleCancelState();\n\t\t}\n\n\t\tif (this.props.onRequestClose) {\n\t\t\tthis.props.onRequestClose(event, { trigger });\n\t\t}\n\t};\n\n\thandleClickOutside = (event) => {\n\t\tthis.handleCancelButtonClick(event);\n\t};\n\n\thandleCancel = (event) => {\n\t\tthis.handleCancelState();\n\n\t\tif (this.props.onRequestClose) {\n\t\t\tthis.props.onRequestClose(event, { trigger: 'cancel' });\n\t\t}\n\t};\n\n\thandleCancelState = () => {\n\t\tconst workingColor = ColorUtils.getNewColor(\n\t\t\t{\n\t\t\t\t// eslint-disable-next-line react/no-access-state-in-setstate\n\t\t\t\thex: this.state.currentColor,\n\t\t\t},\n\t\t\tthis.props.events.onValidateWorkingColor\n\t\t);\n\t\tthis.setState({\n\t\t\tisOpen: false,\n\t\t\tworkingColor,\n\t\t\tpreviousWorkingColor: workingColor,\n\t\t});\n\t};\n\n\thandleColorChange(property) {\n\t\treturn (event) => {\n\t\t\tconst colorProperties = {};\n\t\t\tcolorProperties[property] = event.target.value;\n\t\t\tthis.setWorkingColor(event, colorProperties);\n\t\t};\n\t}\n\n\thandleHexInputChange = (event, { labels }) => {\n\t\tconst currentColor = event.target.value;\n\t\tconst namedColorHex = ColorUtils.getHexFromNamedColor(currentColor);\n\t\tlet isValid = false;\n\n\t\tif (this.props.events.onValidateColor) {\n\t\t\tisValid = this.props.events.onValidateColor(currentColor);\n\t\t} else {\n\t\t\tisValid = namedColorHex ? true : ColorUtils.isValidHex(currentColor);\n\t\t}\n\n\t\tthis.setState({\n\t\t\tcurrentColor,\n\t\t\tworkingColor: ColorUtils.getNewColor(\n\t\t\t\t{\n\t\t\t\t\thex: namedColorHex || currentColor,\n\t\t\t\t\tname: namedColorHex ? currentColor.toLowerCase() : null,\n\t\t\t\t},\n\t\t\t\tthis.props.events.onValidateWorkingColor\n\t\t\t),\n\t\t\tcolorErrorMessage: isValid ? '' : labels.invalidColor,\n\t\t});\n\n\t\tif (this.props.events.onChange) {\n\t\t\tthis.props.events.onChange(event, {\n\t\t\t\tcolor: currentColor,\n\t\t\t\tisValid,\n\t\t\t});\n\t\t}\n\t};\n\n\thandleNavigate(property) {\n\t\treturn (event, { delta }) => {\n\t\t\tconst colorProperties = {};\n\t\t\tcolorProperties[property] = delta;\n\t\t\tconst newColor = ColorUtils.getDeltaColor(\n\t\t\t\tcolorProperties,\n\t\t\t\tthis.props.events.onValidateWorkingColor,\n\t\t\t\t// eslint-disable-next-line react/no-access-state-in-setstate\n\t\t\t\tthis.state.workingColor\n\t\t\t);\n\t\t\tthis.setState({\n\t\t\t\tworkingColor: newColor,\n\t\t\t\t// eslint-disable-next-line react/no-access-state-in-setstate\n\t\t\t\tpreviousWorkingColor: this.state.workingColor,\n\t\t\t});\n\n\t\t\tif (this.props.events.onWorkingColorChange) {\n\t\t\t\tthis.props.events.onWorkingColorChange(event, { color: newColor });\n\t\t\t}\n\t\t};\n\t}\n\n\thandleSaturationValueChange = (event, { saturation, value }) => {\n\t\tthis.setWorkingColor(event, {\n\t\t\tsaturation,\n\t\t\tvalue,\n\t\t});\n\t};\n\n\thandleSubmitButtonClick = (event) => {\n\t\tthis.setState({\n\t\t\tisOpen: false,\n\t\t\t// eslint-disable-next-line react/no-access-state-in-setstate\n\t\t\tcurrentColor: this.state.workingColor.hex,\n\t\t\tcolorErrorMessage: '',\n\t\t});\n\t\tif (this.props.events.onChange) {\n\t\t\tthis.props.events.onChange(event, {\n\t\t\t\tcolor: this.state.workingColor.hex,\n\t\t\t\tisValid: true,\n\t\t\t});\n\t\t}\n\t};\n\n\thandleSwatchButtonClick = () => {\n\t\tconst workingColor = ColorUtils.getNewColor(\n\t\t\t{\n\t\t\t\t// eslint-disable-next-line react/no-access-state-in-setstate\n\t\t\t\thex: this.state.workingColor.hex,\n\t\t\t},\n\t\t\tthis.props.events.onValidateWorkingColor\n\t\t);\n\t\tthis.setState({\n\t\t\t// eslint-disable-next-line react/no-access-state-in-setstate\n\t\t\tisOpen: !this.state.isOpen,\n\t\t\tworkingColor,\n\t\t\t// eslint-disable-next-line react/no-access-state-in-setstate\n\t\t\tpreviousWorkingColor: this.state.previousWorkingColor,\n\t\t});\n\t\tif (this.props.onRequestOpen) {\n\t\t\tthis.props.onRequestOpen();\n\t\t}\n\t};\n\n\thandleSwatchSelect = (event, { hex }) => {\n\t\tthis.setWorkingColor(event, {\n\t\t\thex,\n\t\t});\n\t};\n\n\trender() {\n\t\tconst labels = assign({}, defaultProps.labels, this.props.labels);\n\n\t\treturn (\n\t\t\t {\n\t\t\t\t\tthis.wrapper = node;\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\t
    \n\t\t\t\t\t\n\t\t\t\t\t\t{this.props.assistiveText.label\n\t\t\t\t\t\t\t? this.props.assistiveText.label\n\t\t\t\t\t\t\t: labels.label}\n\t\t\t\t\t\n\t\t\t\t\t{this.getPopover({ labels })}\n\t\t\t\t\t{this.getInput({ labels })}\n\t\t\t\t\t{!this.state.isOpen && this.state.colorErrorMessage ? (\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t{this.state.colorErrorMessage}\n\t\t\t\t\t\t

    \n\t\t\t\t\t) : (\n\t\t\t\t\t\t''\n\t\t\t\t\t)}\n\t\t\t\t
    \n\t\t\t\n\t\t);\n\t}\n}\n\nexport default ColorPicker;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n/* eslint-disable jsx-a11y/interactive-supports-focus */\n\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport isEqual from 'lodash.isequal';\nimport classNames from 'classnames';\n\nimport Icon from '../../icon';\nimport Spinner from '../../spinner';\n\nconst propTypes = {\n\t/*\n\t * Active descendant in menu\n\t */\n\tactiveOption: PropTypes.object,\n\t/*\n\t * Index of active descendant in menu\n\t */\n\tactiveOptionIndex: PropTypes.number,\n\t/**\n\t * CSS classes to be added to container `div` tag. Uses `classNames` [API](https://github.com/JedWatson/classnames).\n\t */\n\tclassName: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\t/**\n\t * CSS classes to be added to tag with `.slds-dropdown`. Uses `classNames` [API](https://github.com/JedWatson/classnames).\n\t */\n\tclassNameMenu: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\t/**\n\t * CSS classes to be added to menu sub header `span` tag. Uses `classNames` [API](https://github.com/JedWatson/classnames).\n\t */\n\tclassNameMenuSubHeader: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\t/**\n\t * Sets the dialog width to the width of one of the following:\n\t * `target`: (Menus attached to `input` typically follow this UX pattern),\n\t * `menu`: Consider setting a menuMaxWidth if using this value. If not, width will be set to width of largest menu item.\n\t * 'none'\n\t */\n\tinheritWidthOf: PropTypes.oneOf(['target', 'menu', 'none']),\n\t/*\n\t * Id used for assistive technology\n\t */\n\tinputId: PropTypes.string,\n\t/**\n\t * Determines the height of the menu based on SLDS CSS classes.\n\t */\n\titemVisibleLength: PropTypes.oneOf([5, 7, 10]),\n\t/**\n\t * **Text labels for internationalization**\n\t * This object is merged with the default props object on every render.\n\t * * `noOptionsFound`: Custom message that renders when no matches found. The default empty state is just text that says, 'No matches found.'.\n\t */\n\tlabels: PropTypes.shape({\n\t\tnoOptionsFound: PropTypes.oneOfType([PropTypes.node, PropTypes.string])\n\t\t\t.isRequired,\n\t}),\n\t/**\n\t * Accepts a custom menu item rendering function that becomes a custom component and is passed in the following props:\n\t * * `assistiveText`: Object, `assistiveText` prop that is passed into Combobox\n\t * * `option`: Object, option data for item being rendered that is passed into Combobox\n\t * * `selected`: Boolean, allows rendering of `assistiveText.optionSelectedInMenu` in Readonly Combobox\n\t *\n\t * _Tested with snapshot testing._\n\t */\n\tonRenderMenuItem: PropTypes.func,\n\t/**\n\t * Accepts a ref function or object (React.createRef() or otherwise) to store the menu DOM reference once available\n\t */\n\tmenuRef: PropTypes.oneOfType([PropTypes.func, PropTypes.object]),\n\t/*\n\t * Sets a maximum width that the menu will be if `inheritWidthOf` is menu.\n\t */\n\tmaxWidth: PropTypes.string,\n\t/*\n\t * Callback when option is selected with keyboard or mouse\n\t */\n\tonSelect: PropTypes.func,\n\t/*\n\t * Menu options\n\t */\n\toptions: PropTypes.array,\n\t/*\n\t * Callback to remove active descendent\n\t */\n\tresetActiveOption: PropTypes.func,\n\t/*\n\t * Selected options\n\t */\n\tselection: PropTypes.array,\n\t/*\n\t * Adds loading spinner below the options\n\t */\n\thasMenuSpinner: PropTypes.bool,\n\t/*\n\t * Object for creating Add item below the options\n\t */\n\toptionsAddItem: PropTypes.arrayOf(\n\t\tPropTypes.shape({\n\t\t\tid: PropTypes.string,\n\t\t\ticon: PropTypes.node,\n\t\t\tlabel: PropTypes.oneOfType([PropTypes.string, PropTypes.func]),\n\t\t})\n\t),\n\t/*\n\t * Object for creating Search item on top of the options\n\t */\n\toptionsSearchEntity: PropTypes.arrayOf(\n\t\tPropTypes.shape({\n\t\t\tid: PropTypes.string,\n\t\t\ticon: PropTypes.node,\n\t\t\tlabel: PropTypes.oneOfType([PropTypes.string, PropTypes.func]),\n\t\t})\n\t),\n\t/**\n\t * Accepts a tooltip that is displayed when hovering on disabled menu items.\n\t */\n\ttooltipMenuItemDisabled: PropTypes.element,\n\t/**\n\t * Changes styles of the menu option\n\t */\n\tvariant: PropTypes.oneOf(['icon-title-subtitle', 'checkbox']),\n\tisSelected: PropTypes.func,\n\tassistiveText: PropTypes.object,\n};\n\nconst defaultProps = {\n\tinputValue: '',\n\tmenuRef: () => {},\n\toptionsAddItem: [],\n\toptionsSearchEntity: [],\n};\n\nconst getOptions = (props) => {\n\t// use of array.push() is OK, because the array is created on each render\n\tconst options = [];\n\tif (props.optionsSearchEntity.length > 0) {\n\t\tconst localOptionsSearchEntity = props.optionsSearchEntity.map(\n\t\t\t(entity) => ({ ...entity, type: 'header' })\n\t\t);\n\t\t// eslint-disable-next-line fp/no-mutating-methods\n\t\toptions.push(...localOptionsSearchEntity);\n\t}\n\t// eslint-disable-next-line fp/no-mutating-methods\n\toptions.push(...props.options);\n\tif (props.optionsAddItem.length > 0) {\n\t\tconst localOptionsAddItem = props.optionsAddItem.map((entity) => ({\n\t\t\t...entity,\n\t\t\ttype: 'footer',\n\t\t}));\n\t\t// eslint-disable-next-line fp/no-mutating-methods\n\t\toptions.push(...localOptionsAddItem);\n\t}\n\treturn options;\n};\n\nconst setBold = (label, searchTerm) => {\n\tif (!label || label.length === 0 || !searchTerm || searchTerm.length === 0) {\n\t\treturn label;\n\t}\n\tconst position = label.toLowerCase().indexOf(searchTerm.toLowerCase());\n\tif (position > -1) {\n\t\treturn (\n\t\t\t\n\t\t\t\t{label.substr(0, position)}\n\t\t\t\t{`${label.substr(\n\t\t\t\t\tposition,\n\t\t\t\t\tsearchTerm.length\n\t\t\t\t)}`}\n\t\t\t\t{label.substr(position + searchTerm.length)}\n\t\t\t\n\t\t);\n\t}\n\treturn label;\n};\n\nconst renderLabel = (labelProp, searchTerm) => {\n\tif (labelProp == null || typeof labelProp === 'string') {\n\t\treturn labelProp;\n\t}\n\n\treturn labelProp(searchTerm);\n};\n\nconst Menu = (props) => {\n\tlet maxWidth = props.inheritWidthOf === 'menu' ? 'inherit' : undefined;\n\tmaxWidth =\n\t\tprops.inheritWidthOf === 'menu' && props.maxWidth\n\t\t\t? props.maxWidth\n\t\t\t: maxWidth;\n\n\t// .slds-dropdown sets the menu to absolute positioning, since it has a relative parent. Absolute positioning removes clientHeight and clientWidth which Popper.js needs to absolute position the menu's wrapping div. Absolute positioning an already absolute positioned element doesn't work. Setting the menu's position to relative allows PopperJS to work it's magic.\n\tconst menuOptions = getOptions(props).map((optionData, index) => {\n\t\tconst active =\n\t\t\tindex === props.activeOptionIndex &&\n\t\t\tprops.activeOption &&\n\t\t\tisEqual(optionData.id, props.activeOption.id);\n\t\tconst selected =\n\t\t\tprops.isSelected({\n\t\t\t\tselection: props.selection,\n\t\t\t\toption: optionData,\n\t\t\t}) &&\n\t\t\t(optionData.type !== 'header' || optionData.type === 'footer');\n\t\tconst MenuItem = props.onRenderMenuItem;\n\n\t\tif (optionData.type === 'separator') {\n\t\t\treturn optionData.label ? (\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t{optionData.label}\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t) : (\n\t\t\t\t\n\t\t\t);\n\t\t}\n\t\tif (optionData.type === 'header') {\n\t\t\treturn (\n\t\t\t\t\n\t\t\t\t\t {\n\t\t\t\t\t\t\t\t\t\tprops.onSelect(event, { option: optionData });\n\t\t\t\t\t\t\t\t }\n\t\t\t\t\t\t}\n\t\t\t\t\t\taria-selected={active}\n\t\t\t\t\t\tid={`${props.inputId}-listbox-option-${optionData.id}`}\n\t\t\t\t\t\tclassName={classNames(\n\t\t\t\t\t\t\t'slds-media slds-listbox__option',\n\t\t\t\t\t\t\t'slds-listbox__option_entity slds-listbox__option_term',\n\t\t\t\t\t\t\t{ 'slds-has-focus': active }\n\t\t\t\t\t\t)}\n\t\t\t\t\t\trole=\"option\"\n\t\t\t\t\t>\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t{optionData.icon}\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t{renderLabel(optionData.label, props.inputValue)}\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t);\n\t\t}\n\t\tif (optionData.type === 'footer') {\n\t\t\treturn (\n\t\t\t\t\n\t\t\t\t\t {\n\t\t\t\t\t\t\t\t\t\tprops.onSelect(event, { option: optionData });\n\t\t\t\t\t\t\t\t }\n\t\t\t\t\t\t}\n\t\t\t\t\t\tid={`${props.inputId}-listbox-option-${optionData.id}`}\n\t\t\t\t\t\tclassName={classNames(\n\t\t\t\t\t\t\t'slds-media slds-listbox__option',\n\t\t\t\t\t\t\t'slds-listbox__option_entity slds-listbox__option_term',\n\t\t\t\t\t\t\t{ 'slds-has-focus': active }\n\t\t\t\t\t\t)}\n\t\t\t\t\t\trole=\"option\"\n\t\t\t\t\t>\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t{optionData.icon}\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t{renderLabel(optionData.label, props.inputValue)}\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t);\n\t\t}\n\n\t\tconst disabledProps = {};\n\t\tconst tooltipId = `${props.inputId}-listbox-option-help-${optionData.id}`;\n\t\tif (optionData.disabled && props.tooltipMenuItemDisabled && active) {\n\t\t\tdisabledProps['aria-describedby'] = tooltipId;\n\t\t}\n\t\tif (optionData.disabled) {\n\t\t\tdisabledProps['aria-disabled'] = !!optionData.disabled;\n\t\t\tdisabledProps.style = { cursor: 'default' }; // Replace this with a css class name once SLDS has it.\n\t\t}\n\n\t\tconst menuItem = {\n\t\t\t'icon-title-subtitle': (\n\t\t\t\t {\n\t\t\t\t\t\t\t\t\tprops.onSelect(event, { option: optionData });\n\t\t\t\t\t\t\t }\n\t\t\t\t\t}\n\t\t\t\t\trole=\"option\"\n\t\t\t\t>\n\t\t\t\t\t{/* For backward compatibility, */}\n\t\t\t\t\t{optionData.icon && !props.onRenderMenuItem ? (\n\t\t\t\t\t\t{optionData.icon}\n\t\t\t\t\t) : null}\n\t\t\t\t\t{props.onRenderMenuItem ? (\n\t\t\t\t\t\t\n\t\t\t\t\t) : (\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t{setBold(optionData.label, props.inputValue)}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t{setBold(optionData.subTitle, props.inputValue)}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t)}\n\t\t\t\t\n\t\t\t),\n\t\t\tcheckbox: (\n\t\t\t\t {\n\t\t\t\t\t\t\t\t\tprops.onSelect(event, {\n\t\t\t\t\t\t\t\t\t\tselection: props.selection,\n\t\t\t\t\t\t\t\t\t\toption: optionData,\n\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t }\n\t\t\t\t\t}\n\t\t\t\t\trole=\"option\"\n\t\t\t\t>\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t{props.onRenderMenuItem ? (\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t{selected ? (\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t{props.assistiveText.optionSelectedInMenu}\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t) : null}{' '}\n\t\t\t\t\t\t\t\t{optionData.label}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t)}\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t),\n\t\t};\n\n\t\tlet item;\n\t\tif (optionData.disabled && props.tooltipMenuItemDisabled) {\n\t\t\tconst {\n\t\t\t\tcontent,\n\t\t\t\t...userDefinedTooltipProps\n\t\t\t} = props.tooltipMenuItemDisabled.props;\n\t\t\tconst tooltipProps = {\n\t\t\t\talign: 'top',\n\t\t\t\tcontent: optionData.tooltipContent || content, // either use specific content defined on option or content defined on tooltip component.\n\t\t\t\tid: tooltipId,\n\t\t\t\tposition: 'absolute',\n\t\t\t\tsilenceTriggerTabbableWarning: true,\n\t\t\t\ttriggerStyle: { width: '100%' },\n\t\t\t\t...userDefinedTooltipProps, // we want to allow user defined tooltip pros to overwrite default props, if need be.\n\t\t\t};\n\t\t\tif (active) {\n\t\t\t\t// allows showing the tooltip on keyboard navigation to disabled menu item\n\t\t\t\ttooltipProps.isOpen = true;\n\t\t\t}\n\t\t\titem = React.cloneElement(\n\t\t\t\tprops.tooltipMenuItemDisabled,\n\t\t\t\ttooltipProps,\n\t\t\t\tmenuItem[props.variant]\n\t\t\t);\n\t\t} else {\n\t\t\titem = menuItem[props.variant];\n\t\t}\n\n\t\treturn (\n\t\t\t\n\t\t\t\t{item}\n\t\t\t\n\t\t);\n\t});\n\n\treturn (\n\t\t\n\t\t\t{menuOptions.length ? (\n\t\t\t\tmenuOptions\n\t\t\t) : (\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t{props.labels.noOptionsFound}\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t)}\n\t\t\t{props.hasMenuSpinner && (\n\t\t\t\t
  • \n\t\t\t\t\t
    \n\t\t\t\t\t\t\n\t\t\t\t\t
    \n\t\t\t\t
  • \n\t\t\t)}\n\t\t\n\t);\n};\n\nMenu.displayName = 'Menu';\nMenu.propTypes = propTypes;\nMenu.defaultProps = defaultProps;\n\nexport default Menu;\n","/* eslint-disable react/jsx-curly-brace-presence */\n/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\n\nconst propTypes = {\n\t/*\n\t * Assistive Text to use instead of a visible label\n\t */\n\tassistiveText: PropTypes.object,\n\t/*\n\t * Id of the input associated with this label\n\t */\n\thtmlFor: PropTypes.string,\n\t/*\n\t * Input Label or inner node for formatting purposes\n\t */\n\tlabel: PropTypes.oneOfType([PropTypes.node, PropTypes.string]),\n\t/*\n\t * Applies label styling for a required form element\n\t */\n\trequired: PropTypes.bool,\n\t/**\n\t * Changes markup of label.\n\t */\n\tvariant: PropTypes.oneOf(['base', 'static']),\n};\n\nconst defaultProps = {\n\tvariant: 'base',\n};\n\n/*\n * Form label. This returns null if there is no label text (hidden or shown)\n */\nconst Label = (props) => {\n\tconst labelText =\n\t\tprops.label || (props.assistiveText && props.assistiveText.label); // One of these is required to pass accessibility tests\n\n\tconst subRenders = {\n\t\tbase: (\n\t\t\t\n\t\t\t\t{props.required && (\n\t\t\t\t\t\n\t\t\t\t\t\t{'*'}\n\t\t\t\t\t\n\t\t\t\t)}\n\t\t\t\t{labelText}\n\t\t\t\n\t\t),\n\t\tstatic: {labelText},\n\t};\n\n\treturn labelText ? subRenders[props.variant] : null;\n};\n\nLabel.displayName = 'Label';\nLabel.propTypes = propTypes;\nLabel.defaultProps = defaultProps;\n\nexport default Label;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\nimport EventUtil from './event';\n\n/*\n * Helper function that has callbacks passed into it with the key\n * being the keycode of the event. This allows an object literal to\n * control key event callback mapping and avoids a long conditional\n * if statement and uses an enumeration pattern instead.\n */\nconst mapKeyEventCallbacks = (\n\tevent,\n\t{ callbacks = {}, shiftCallbacks = {}, stopPropagation = true }\n) => {\n\tif (event.shiftKey && event.keyCode && shiftCallbacks[event.keyCode]) {\n\t\tif (stopPropagation) {\n\t\t\tEventUtil.trapEvent(event);\n\t\t}\n\t\tshiftCallbacks[event.keyCode].callback(\n\t\t\tevent,\n\t\t\tshiftCallbacks[event.keyCode].data\n\t\t);\n\t} else if (event.keyCode && callbacks[event.keyCode]) {\n\t\tif (stopPropagation) {\n\t\t\tEventUtil.trapEvent(event);\n\t\t}\n\t\tcallbacks[event.keyCode].callback(event, callbacks[event.keyCode].data);\n\t} else if (event.keyCode && callbacks.other) {\n\t\t// You will likely NOT want to stop propagation of all key presses!\n\t\tif (callbacks.other.stopPropagation) {\n\t\t\tEventUtil.trapEvent(event);\n\t\t}\n\t\tcallbacks.other.callback(event, callbacks.other.data);\n\t}\n};\n\nexport default mapKeyEventCallbacks;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// # Pill Component\n// Implements the [Pill design pattern](https://lightningdesignsystem.com/components/pills/) in React.\n\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport { PILL } from '../../utilities/constants';\nimport UtilityIcon from '../utilities/utility-icon';\nimport KEYS from '../../utilities/key-code';\nimport EventUtil from '../../utilities/event';\n\nconst propTypes = {\n\t/**\n\t * **Assistive text for accessibility**\n\t * This object is merged with the default props object on every render.\n\t * * `remove`: This is a visually hidden label for the close button.\n\t * _Tested with snapshot testing._\n\t */\n\tassistiveText: PropTypes.shape({\n\t\tremove: PropTypes.string,\n\t}),\n\t/**\n\t * SLDSAvatar component to show on the left of the pill.\n\t * _Tested with Mocha framework._\n\t */\n\tavatar: PropTypes.element,\n\t/**\n\t * Applies the bare style to the component.\n\t * _Tested with Mocha framework._\n\t */\n\tbare: PropTypes.bool,\n\t/**\n\t * This is a way to specify custom contents for the pill in the case a simple text label is not enough.\n\t * _Tested with Mocha framework._\n\t */\n\tchildren: PropTypes.node,\n\t/**\n\t * CSS classes to be added to tag with `.slds-pill`. Uses `classNames` [API](https://github.com/JedWatson/classnames).\n\t * _Tested with Mocha framework._\n\t */\n\tclassName: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\t/**\n\t * Applies the error style to the component.\n\t * _Tested with Mocha framework._\n\t */\n\thasError: PropTypes.bool,\n\t/**\n\t * An href to use if the pill is shown as a link.\n\t * _Tested with Mocha framework._\n\t */\n\thref: PropTypes.string,\n\t/**\n\t * SLDSIcon component to show on the left of the pill.\n\t * _Tested with Mocha framework._\n\t */\n\ticon: PropTypes.element,\n\t/**\n\t * **Text labels for internationalization**\n\t * This object is merged with the default props object on every render.\n\t * * `label`: Pill's label.\n\t * * `title`: Pill's title.\n\t * * `removeTitle`: A title to use for the remove icon.\n\t *\n\t * _Tested with snapshot testing._\n\t */\n\tlabels: PropTypes.shape({\n\t\tlabel: PropTypes.string,\n\t\ttitle: PropTypes.string,\n\t\tremoveTitle: PropTypes.string,\n\t}),\n\t/**\n\t * `onBlur` callback executes when the component loses focus.\n\t * _Tested with Mocha framework._\n\t */\n\tonBlur: PropTypes.func,\n\t/**\n\t * `onClick` callback executes when a user clicks on the pill or presses the Enter key.\n\t * _Tested with Mocha framework._\n\t */\n\tonClick: PropTypes.func,\n\t/**\n\t * `onFocus` callback executes when the component receives focus.\n\t * _Tested with Mocha framework._\n\t */\n\tonFocus: PropTypes.func,\n\t/**\n\t * `onKeyDown` callback executes when a user presses a key.\n\t * _Tested with Mocha framework._\n\t */\n\tonKeyDown: PropTypes.func,\n\t/**\n\t * `onRemove` callback executes when a user clicks on the pill's remove icon or presses the delete or the backspace keys.\n\t * _Tested with Mocha framework._\n\t */\n\tonRemove: PropTypes.func,\n\t/**\n\t * A variant of a pill\n\t * _Tested with Mocha framework._\n\t */\n\tvariant: PropTypes.oneOf(['link', 'option']),\n};\n\n/**\n * A pill displays a label that can contain links and can be removed from view. Use `PillContainer` for a list of pills in a container that resembles an `input` form field. A pill is useful for displaying read-only text that can be added and removed on demand.\n */\nclass Pill extends React.Component {\n\tgetHref = () =>\n\t\ttypeof this.props.href === 'string'\n\t\t\t? this.props.href\n\t\t\t: 'javascript:void(0);'; // eslint-disable-line no-script-url\n\n\t/**\n\t * Removes focus from the component.\n\t */\n\tblur = () => {\n\t\tthis.root.blur();\n\t};\n\n\t/**\n\t * Give focus to the Pill component.\n\t */\n\tfocus = () => {\n\t\tthis.root.focus();\n\t};\n\n\t// eslint-disable-next-line fp/no-rest-parameters\n\thandleKeyDown = (event, ...rest) => {\n\t\tif (typeof this.props.onKeyDown === 'function') {\n\t\t\t// Make a callback to onKeyDown.\n\t\t\tthis.props.onKeyDown.call(null, event, ...rest);\n\t\t\t// Cancel further handling if the default handling for the event was prevented.\n\t\t\tif (event.defaultPrevented) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\n\t\tswitch (event.keyCode) {\n\t\t\tcase KEYS.ENTER:\n\t\t\t\tif (typeof this.props.onClick === 'function') {\n\t\t\t\t\tEventUtil.trap(event);\n\t\t\t\t\tthis.props.onClick();\n\t\t\t\t}\n\t\t\t\tbreak;\n\n\t\t\tcase KEYS.BACKSPACE:\n\t\t\tcase KEYS.DELETE:\n\t\t\t\tif (typeof this.props.onRemove === 'function') {\n\t\t\t\t\tEventUtil.trap(event);\n\t\t\t\t\tthis.props.onRemove();\n\t\t\t\t}\n\t\t\t\tbreak;\n\n\t\t\tdefault:\n\t\t\t\tbreak;\n\t\t}\n\t};\n\n\thandleRef = (root) => {\n\t\t// Keeping the top-most element to support focus() and blur()\n\t\tthis.root = root;\n\t};\n\n\t/**\n\t * Extracts a set of custom properties. A custom property is a property, which is not described in propTypes of a component.\n\t */\n\trestProps = () => {\n\t\tconst {\n\t\t\tbare,\n\t\t\thasError,\n\t\t\tvariant,\n\t\t\tclassName,\n\t\t\tonClick,\n\t\t\tonRemove,\n\t\t\tlabels,\n\t\t\tassistiveText,\n\t\t\tchildren,\n\t\t\thref,\n\t\t\ticon,\n\t\t\tavatar,\n\t\t\tonKeyDown,\n\t\t\t...other\n\t\t} = this.props;\n\t\treturn other;\n\t};\n\n\trenderIcon = () => {\n\t\tconst icon = this.props.icon || this.props.avatar;\n\t\tif (icon) {\n\t\t\treturn {icon};\n\t\t}\n\t\treturn null;\n\t};\n\n\trenderLabel = () => {\n\t\tif (this.props.labels.label) {\n\t\t\tif (this.props.variant === 'link') {\n\t\t\t\treturn (\n\t\t\t\t\t\n\t\t\t\t\t\t{this.props.labels.label}\n\t\t\t\t\t\n\t\t\t\t);\n\t\t\t}\n\t\t\treturn (\n\t\t\t\t\n\t\t\t\t\t{this.props.labels.label}\n\t\t\t\t\n\t\t\t);\n\t\t}\n\t\treturn this.props.children;\n\t};\n\n\trenderRemoveIcon = () => {\n\t\tif (typeof this.props.onRemove === 'function') {\n\t\t\treturn (\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t{this.props.assistiveText.remove || this.props.labels.removeTitle}\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t);\n\t\t}\n\n\t\treturn null;\n\t};\n\n\trender() {\n\t\tlet role;\n\t\tswitch (this.props.variant) {\n\t\t\tcase 'link':\n\t\t\t\trole = 'button';\n\t\t\t\tbreak;\n\t\t\tcase 'option':\n\t\t\t\trole = 'option';\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t}\n\n\t\treturn (\n\t\t\t/* eslint-disable jsx-a11y/no-static-element-interactions */\n\t\t\t\n\t\t\t\t{this.renderIcon()}\n\t\t\t\t{this.renderLabel()}\n\t\t\t\t{this.renderRemoveIcon()}\n\t\t\t\n\t\t);\n\t}\n}\n\nPill.displayName = PILL;\n\nPill.defaultProps = {\n\tvariant: 'link',\n\tlabels: {},\n\tassistiveText: {},\n};\n\nPill.propTypes = propTypes;\n\nexport default Pill;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n/**\n * This Pill component should be used within a listbox and differs from the standalone Pill component which is typically used for actions (such as a link) and not form fields. This component should be used in conjuction with `PillContainer`.\n */\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\nimport assign from 'lodash.assign';\n\nimport KEYS from '../../../utilities/key-code';\nimport mapKeyEventCallbacks from '../../../utilities/key-callbacks';\nimport EventUtil from '../../../utilities/event';\n\nimport SLDSPill from '../../../components/pill';\n\nconst propTypes = {\n\t/**\n\t * Pill is the actively focused pill within a pill container. This will request focus on the DOM node.\n\t */\n\tactive: PropTypes.bool,\n\t/**\n\t * **Assistive text for accessibility**\n\t * This object is merged with the default props object on every render.\n\t * * `pressDeleteOrBackspace`: Informs user of keyboard keys to press in order to remove a pill\n\t */\n\tassistiveText: PropTypes.shape({\n\t\tremove: PropTypes.string,\n\t}),\n\t/**\n\t * SLDSAvatar component to show on the left of the pill.\n\t * _Tested with Mocha framework._\n\t */\n\tavatar: PropTypes.element,\n\t/**\n\t * Applies the bare style to the component.\n\t * _Tested with Mocha framework._\n\t */\n\tbare: PropTypes.bool,\n\t/*\n\t * Pills are often used for selection of a type of entity such as days in a daypicker. This prop allows you to pass in data that will be passed back to the event handler.\n\t */\n\teventData: PropTypes.object,\n\t/*\n\t * Callbacks for various pill events such as click, focus, etc\n\t */\n\tevents: PropTypes.shape({\n\t\tonClick: PropTypes.func,\n\t\tonFocus: PropTypes.func,\n\t\tonRequestFocus: PropTypes.func.isRequired,\n\t\tonRequestFocusOnNextPill: PropTypes.func.isRequired,\n\t\tonRequestFocusOnPreviousPill: PropTypes.func.isRequired,\n\t\tonRequestRemove: PropTypes.func.isRequired,\n\t}),\n\t/**\n\t * Applies the error style to the component.\n\t * _Tested with Mocha framework._\n\t */\n\thasError: PropTypes.bool,\n\t/*\n\t * The icon next to the pill label.\n\t */\n\ticon: PropTypes.element,\n\t/*\n\t * Pill Label\n\t */\n\tlabels: PropTypes.shape({\n\t\tlabel: PropTypes.string.isRequired,\n\t\tremoveTitle: PropTypes.string,\n\t}),\n\t/*\n\t * If true and is active pill in listbox, will trigger `events.onRequestFocus`\n\t */\n\trequestFocus: PropTypes.bool,\n\t/*\n\t * Pill Title\n\t */\n\ttitle: PropTypes.string,\n\t/*\n\t * Allows the user to tab to the node\n\t */\n\ttabIndex: PropTypes.number,\n};\n\nconst defaultProps = {\n\tassistiveText: PropTypes.shape({\n\t\tremove: ', Press delete or backspace to remove',\n\t}),\n\tlabels: {\n\t\tremove: 'Remove',\n\t},\n\tevents: {},\n};\n\nconst handleKeyDown = (event, { events, data }) => {\n\t// Helper function that takes an object literal of callbacks that are triggered with a key event\n\tmapKeyEventCallbacks(event, {\n\t\tcallbacks: {\n\t\t\t[KEYS.BACKSPACE]: { callback: events.onRequestRemove, data },\n\t\t\t[KEYS.DELETE]: { callback: events.onRequestRemove, data },\n\t\t\t[KEYS.LEFT]: {\n\t\t\t\tcallback: events.onRequestFocusOnPreviousPill,\n\t\t\t\tdata: { ...data, direction: 'previous' },\n\t\t\t},\n\t\t\t[KEYS.RIGHT]: {\n\t\t\t\tcallback: events.onRequestFocusOnNextPill,\n\t\t\t\tdata: { ...data, direction: 'next' },\n\t\t\t},\n\t\t},\n\t});\n};\n\nconst handleClickRemove = (event, { events, data }) => {\n\tEventUtil.trap(event);\n\tevents.onRequestRemove(event, data);\n};\n\nconst Pill = (props) => {\n\tconst assistiveText = assign(\n\t\t{},\n\t\tdefaultProps.assistiveText,\n\t\tprops.assistiveText\n\t);\n\tconst labels = assign({}, defaultProps.labels, props.labels);\n\n\treturn (\n\t\t {\n\t\t\t\t\t\t\tif (props.events.onClick) {\n\t\t\t\t\t\t\t\tprops.events.onClick(event, {\n\t\t\t\t\t\t\t\t\t...props.eventData,\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t}\n\t\t\t\t\t }\n\t\t\t\t\t: null\n\t\t\t}\n\t\t\tonFocus={(event) => {\n\t\t\t\tif (props.events.onFocus) {\n\t\t\t\t\tprops.events.onFocus(event, {\n\t\t\t\t\t\t...props.eventData,\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}}\n\t\t\tonRemove={(event) => {\n\t\t\t\tEventUtil.trap(event);\n\t\t\t\thandleClickRemove(event, {\n\t\t\t\t\tevents: props.events,\n\t\t\t\t\tdata: props.eventData,\n\t\t\t\t});\n\t\t\t}}\n\t\t\tonKeyDown={(event) => {\n\t\t\t\thandleKeyDown(event, {\n\t\t\t\t\tevents: props.events,\n\t\t\t\t\tdata: props.eventData,\n\t\t\t\t});\n\t\t\t}}\n\t\t\tref={(component) => {\n\t\t\t\tif (props.requestFocus && props.active) {\n\t\t\t\t\tprops.events.onRequestFocus(undefined, { ref: component });\n\t\t\t\t}\n\t\t\t}}\n\t\t/>\n\t);\n};\n\nPill.displayName = 'Pill';\nPill.propTypes = propTypes;\nPill.defaultProps = defaultProps;\n\nexport default Pill;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\nfunction isReactComponent(object) {\n\treturn (\n\t\t(object.$$typeof &&\n\t\t\tobject.$$typeof.toString() === 'Symbol(react.element)') ||\n\t\t(object.type && typeof object.type === 'function')\n\t);\n}\n\nexport default isReactComponent;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\nimport classNames from 'classnames';\n\nimport Avatar from '../../avatar';\nimport Icon from '../../icon';\nimport Pill from '../../utilities/pill';\n\nimport isReactComponent from '../../../utilities/is-react-component';\n\nconst propTypes = {\n\t/*\n\t * The option object within the selection prop that should have focus.\n\t */\n\tactiveOption: PropTypes.object,\n\t/*\n\t * The index of the option object within the selection prop that should have focus.\n\t */\n\tactiveOptionIndex: PropTypes.number,\n\t/**\n\t * **Assistive text for accessibility**\n\t * This object is merged with the default props object on every render.\n\t * * `label`: This is used as a visually hidden label if, no `labels.label` is provided.\n\t * * `removePill`: Aids in keyboard interaction with Pills.\n\t * * `selectedListboxLabel`: Used to identify the listbox\n\t */\n\tassistiveText: PropTypes.shape({\n\t\tlabel: PropTypes.string,\n\t\tremovePill: PropTypes.string,\n\t\tselectedListboxLabel: PropTypes.string,\n\t}),\n\t/**\n\t * CSS classes to be added to the top-level `div` tag.\n\t */\n\tclassName: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\t/*\n\t * Callbacks for various pill events such as click, focus, etc\n\t */\n\tevents: PropTypes.shape({\n\t\tonClickPill: PropTypes.func,\n\t\tonPillFocus: PropTypes.func.isRequired,\n\t\tonRequestFocus: PropTypes.func.isRequired,\n\t\tonRequestFocusOnNextPill: PropTypes.func.isRequired,\n\t\tonRequestFocusOnPreviousPill: PropTypes.func.isRequired,\n\t\tonRequestRemove: PropTypes.func.isRequired,\n\t}),\n\t/**\n\t * HTML id for component main container\n\t */\n\tid: PropTypes.string,\n\t/**\n\t * Determines whether component renders as a bare pill container with associated styling for child pills\n\t */\n\tisBare: PropTypes.bool,\n\t/**\n\t * Adds inline (inside of input) styling\n\t */\n\tisInline: PropTypes.bool,\n\t/**\n\t * Determines whether component renders as a pill container with associated styling and behavior\n\t */\n\tisPillContainer: PropTypes.bool,\n\t/**\n\t * The value of `aria-orientation` to use on the listbox element\n\t */\n\tlistboxAriaOrientation: PropTypes.string,\n\t/**\n\t * The value of `role` to use on the listbox element\n\t */\n\tlistboxRole: PropTypes.string,\n\t/**\n\t * The value of `aria-orientation` to use on the container element\n\t */\n\tcontainerAriaOrientation: PropTypes.string,\n\t/**\n\t * The value of `role` to use on the container element\n\t */\n\tcontainerRole: PropTypes.string,\n\t/*\n\t * Pill Label\n\t */\n\tlabels: PropTypes.shape({\n\t\tlabel: PropTypes.string,\n\t\tremove: PropTypes.string,\n\t\ttitle: PropTypes.string,\n\t}),\n\t/**\n\t * Changes styles of the input. Currently `entity` is not supported.\n\t */\n\trenderAtSelectionLength: PropTypes.number,\n\t/**\n\t * This callback exposes the selected listbox reference / DOM node to parent components.\n\t */\n\tselectedListboxRef: PropTypes.func,\n\t/**\n\t * Accepts an array of item objects.\n\t */\n\tselection: PropTypes.array,\n\t/**\n\t * Custom styles to be passed to the top-level `div` tag\n\t */\n\tstyle: PropTypes.object,\n\t/**\n\t * Requests that the active option set focus on render\n\t */\n\tlistboxHasFocus: PropTypes.bool,\n\t/**\n\t * Changes styles of the input. Currently `entity` is not supported.\n\t */\n\tvariant: PropTypes.oneOf(['base', 'inline-listbox', 'readonly']),\n};\n\nconst defaultProps = {\n\tlistboxAriaOrientation: 'horizontal',\n\tlistboxRole: 'listbox',\n\trenderAtSelectionLength: 1,\n};\n\nconst getAvatar = (option) => {\n\tconst avatarObject = option.avatar;\n\tlet avatar = null;\n\n\tif (avatarObject) {\n\t\tif (isReactComponent(avatarObject) || avatarObject instanceof HTMLElement) {\n\t\t\tavatar = avatarObject;\n\t\t} else if (avatarObject.imgSrc) {\n\t\t\tavatar = (\n\t\t\t\t\n\t\t\t);\n\t\t}\n\t}\n\n\treturn avatar;\n};\n\nconst getIcon = (option) => {\n\tconst iconObject = option.icon;\n\tlet icon = null;\n\n\tif (iconObject) {\n\t\tif (isReactComponent(iconObject) || iconObject instanceof HTMLElement) {\n\t\t\ticon = iconObject;\n\t\t} else if (iconObject.category && iconObject.name) {\n\t\t\ticon = (\n\t\t\t\t\n\t\t\t);\n\t\t}\n\t}\n\n\treturn icon;\n};\n\nconst SelectedListBox = (props) =>\n\tprops.selection.length >= props.renderAtSelectionLength ? (\n\t\t
    {\n\t\t\t\tif (props.selectedListboxRef) {\n\t\t\t\t\tprops.selectedListboxRef(ref);\n\t\t\t\t}\n\t\t\t}}\n\t\t\tstyle={props.style}\n\t\t\t// Remove role and aria-orientation after slds-has-inline-listbox is deprecated in Combobox\n\t\t\trole={props.containerRole}\n\t\t\taria-orientation={props.containerAriaOrientation}\n\t\t>\n\t\t\t\n\t\t\t\t{props.selection.map((option, renderIndex) => {\n\t\t\t\t\tconst hasTabIndex = renderIndex === props.activeOptionIndex;\n\t\t\t\t\tconst icon = getIcon(option);\n\t\t\t\t\tconst avatar = !icon ? getAvatar(option) : null;\n\n\t\t\t\t\treturn (\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\t\t\t\t\t\tprops.events.onClickPill(event, {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t...data,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tindex: renderIndex,\n\t\t\t\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t\t\t }\n\t\t\t\t\t\t\t\t\t\t\t: null,\n\t\t\t\t\t\t\t\t\tonFocus: (event, data) => {\n\t\t\t\t\t\t\t\t\t\tprops.events.onPillFocus(event, {\n\t\t\t\t\t\t\t\t\t\t\t...data,\n\t\t\t\t\t\t\t\t\t\t\tindex: renderIndex,\n\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\tonRequestFocusOnNextPill:\n\t\t\t\t\t\t\t\t\t\tprops.events.onRequestFocusOnNextPill,\n\t\t\t\t\t\t\t\t\tonRequestFocusOnPreviousPill:\n\t\t\t\t\t\t\t\t\t\tprops.events.onRequestFocusOnPreviousPill,\n\t\t\t\t\t\t\t\t\tonRequestRemove: (event, data) => {\n\t\t\t\t\t\t\t\t\t\tprops.events.onRequestRemove(event, {\n\t\t\t\t\t\t\t\t\t\t\t...data,\n\t\t\t\t\t\t\t\t\t\t\tindex: renderIndex,\n\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\tonRequestFocus: props.events.onRequestFocus,\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\teventData={{ option }}\n\t\t\t\t\t\t\t\thasError={option.error}\n\t\t\t\t\t\t\t\ticon={icon}\n\t\t\t\t\t\t\t\tlabels={{\n\t\t\t\t\t\t\t\t\tlabel: option.label,\n\t\t\t\t\t\t\t\t\tremoveTitle: props.labels.removePillTitle,\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\trequestFocus={props.listboxHasFocus}\n\t\t\t\t\t\t\t\ttabIndex={hasTabIndex ? 0 : -1}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\n\t\t\t\t\t);\n\t\t\t\t})}\n\t\t\t\n\t\t
    \n\t) : null;\n\nSelectedListBox.displayName = 'SelectedListBox';\nSelectedListBox.propTypes = propTypes;\nSelectedListBox.defaultProps = defaultProps;\n\nexport default SelectedListBox;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\nimport escapeRegExp from 'lodash.escaperegexp';\n\n// Determines the focusedIndex of a menu item following keyboard letter presses\nconst keyLetterMenuItemSelect = ({ key, keyBuffer, keyCode, options }) => {\n\tlet ch = key || String.fromCharCode(keyCode);\n\n\tif (/^[ -~]$/.test(ch)) {\n\t\tch = ch.toLowerCase();\n\t} else {\n\t\tch = null;\n\t}\n\n\tconst pattern = keyBuffer(ch);\n\tlet consecutive = 0;\n\tlet focusedIndex;\n\n\t// Support for navigating to the next option of the same letter with repeated presses of the same key\n\tif (\n\t\tpattern.length > 1 &&\n\t\tnew RegExp(`^[${escapeRegExp(ch)}]+$`).test(pattern)\n\t) {\n\t\tconsecutive = pattern.length;\n\t}\n\n\toptions.forEach((item, index) => {\n\t\tconst itemLabel = String(item.label).toLowerCase();\n\n\t\tif (\n\t\t\t(focusedIndex === undefined &&\n\t\t\t\titemLabel.substr(0, pattern.length) === pattern) ||\n\t\t\t(consecutive > 0 && itemLabel.substr(0, 1) === ch)\n\t\t) {\n\t\t\tconsecutive -= 1;\n\t\t\tfocusedIndex = index;\n\t\t}\n\t});\n\n\treturn focusedIndex;\n};\n\nexport default keyLetterMenuItemSelect;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// Scrolls a menu container to the appropriate focused item. Assumes container is positioned (absolute, relative, etc)\nconst menuItemSelectScroll = ({\n\tcontainer,\n\tfocusedIndex,\n\titemTag = 'li',\n\tscrollPadding = 4,\n}) => {\n\tconst domItem = container.querySelector(\n\t\t`${itemTag}:nth-child(${focusedIndex + 1})`\n\t);\n\n\tif (domItem) {\n\t\tif (\n\t\t\tdomItem.offsetHeight - container.scrollTop + domItem.offsetTop >=\n\t\t\tcontainer.offsetHeight\n\t\t) {\n\t\t\t// eslint-disable-next-line no-param-reassign\n\t\t\tcontainer.scrollTop =\n\t\t\t\tdomItem.offsetHeight +\n\t\t\t\tdomItem.offsetTop -\n\t\t\t\tcontainer.offsetHeight +\n\t\t\t\tscrollPadding;\n\t\t} else if (domItem.offsetTop <= container.scrollTop) {\n\t\t\t// eslint-disable-next-line no-param-reassign\n\t\t\tcontainer.scrollTop = domItem.offsetTop - scrollPadding;\n\t\t}\n\t}\n};\n\nexport default menuItemSelectScroll;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n/* eslint-disable import/no-mutable-exports */\n\nimport deprecatedProperty from '../../utilities/warning/deprecated-property';\nimport oneOfRequiredProperty from '../../utilities/warning/one-of-required-property';\nimport getComponentDocFn from '../../utilities/get-component-doc';\n\nlet checkProps = function checkPropsFunction() {};\n\nif (process.env.NODE_ENV !== 'production') {\n\tcheckProps = function checkPropsFunction(COMPONENT, props, jsonDoc) {\n\t\tconst createDocUrl = getComponentDocFn(jsonDoc);\n\t\t/* eslint-disable max-len */\n\t\tdeprecatedProperty(\n\t\t\tCOMPONENT,\n\t\t\tprops.isInline,\n\t\t\t'isInline',\n\t\t\t'menuPosition=\"relative\"',\n\t\t\tcreateDocUrl('menuPosition')\n\t\t);\n\t\tdeprecatedProperty(\n\t\t\tCOMPONENT,\n\t\t\tprops.menuItem,\n\t\t\t'menuItem',\n\t\t\t'onRenderMenuItem',\n\t\t\tcreateDocUrl('onRenderItem')\n\t\t);\n\t\tdeprecatedProperty(\n\t\t\tCOMPONENT,\n\t\t\tprops.readOnlyMenuItemVisibleLength,\n\t\t\t'readOnlyMenuItemVisibleLength',\n\t\t\t'menuItemVisibleLength',\n\t\t\tcreateDocUrl('menuItemVisibleLength')\n\t\t);\n\t\t/* eslint-enable max-len */\n\n\t\tif (props.variant !== 'popover') {\n\t\t\toneOfRequiredProperty(\n\t\t\t\tCOMPONENT,\n\t\t\t\t{\n\t\t\t\t\toptions: props.options,\n\t\t\t\t},\n\t\t\t\tcreateDocUrl('options')\n\t\t\t);\n\t\t} else {\n\t\t\toneOfRequiredProperty(\n\t\t\t\tCOMPONENT,\n\t\t\t\t{\n\t\t\t\t\t\"assistiveText['popoverLabel']\": props.assistiveText.popoverLabel,\n\t\t\t\t},\n\t\t\t\tcreateDocUrl('assistiveText')\n\t\t\t);\n\t\t}\n\t};\n}\n\nexport default checkProps;\n","/* eslint-disable max-lines */\n/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n/* eslint-disable max-lines */\n\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\nimport assign from 'lodash.assign';\nimport find from 'lodash.find';\nimport reject from 'lodash.reject';\nimport isEqual from 'lodash.isequal';\nimport findIndex from 'lodash.findindex';\nimport isFunction from 'lodash.isfunction';\n\nimport classNames from 'classnames';\n\nimport shortid from 'shortid';\n\nimport Button from '../button';\nimport Dialog from '../utilities/dialog';\nimport InnerInput from '../../components/input/private/inner-input';\nimport InputIcon from '../icon/input-icon';\nimport Menu from './private/menu';\nimport Label from '../forms/private/label';\nimport Popover from '../popover';\nimport SelectedListBox from '../pill-container/private/selected-listbox';\n\nimport FieldLevelHelpTooltip from '../tooltip/private/field-level-help-tooltip';\nimport KEYS from '../../utilities/key-code';\nimport KeyBuffer from '../../utilities/key-buffer';\nimport keyLetterMenuItemSelect from '../../utilities/key-letter-menu-item-select';\nimport mapKeyEventCallbacks from '../../utilities/key-callbacks';\nimport menuItemSelectScroll from '../../utilities/menu-item-select-scroll';\n\nimport checkProps from './check-props';\n\nimport { COMBOBOX } from '../../utilities/constants';\nimport componentDoc from './component.json';\n\nlet currentOpenDropdown;\nconst documentDefined = typeof document !== 'undefined';\n\nconst propTypes = {\n\t/**\n\t * **Assistive text for accessibility**\n\t * This object is merged with the default props object on every render.\n\t * * `label`: This is used as a visually hidden label if, no `labels.label` is provided.\n\t * * `loading`: Text added to loading spinner.\n\t * * `optionSelectedInMenu`: Added before selected menu items in Read-only variants (Picklists). The default is `Current Selection:`.\n\t * * `popoverLabel`: Used by popover variant, assistive text for the Popover aria-label.\n\t * * `removeSingleSelectedOption`: Used by inline-listbox, single-select variant to remove the selected item (pill). This is a button with focus. The default is `Remove selected option`.\n\t * * `removePill`: Used by multiple selection Comboboxes to remove a selected item (pill). Focus is on the pill. This is not a button. The default is `, Press delete or backspace to remove`.\n\t * * `selectedListboxLabel`: This is a label for the selected listbox. The grouping of pills for multiple selection Comboboxes. The default is `Selected Options:`.\n\t * _Tested with snapshot testing._\n\t */\n\tassistiveText: PropTypes.shape({\n\t\tlabel: PropTypes.string,\n\t\tloadingMenuItems: PropTypes.string,\n\t\toptionSelectedInMenu: PropTypes.string,\n\t\tpopoverLabel: PropTypes.string,\n\t\tremoveSingleSelectedOption: PropTypes.string,\n\t\tremovePill: PropTypes.string,\n\t\tselectedListboxLabel: PropTypes.string,\n\t}),\n\t/**\n\t * The `aria-describedby` attribute is used to indicate the IDs of the elements that describe the object. It is used to establish a relationship between widgets or groups and text that described them.\n\t * This is very similar to aria-labelledby: a label describes the essence of an object, while a description provides more information that the user might need. _Tested with snapshot testing._\n\t */\n\t'aria-describedby': PropTypes.string,\n\t/**\n\t * CSS classes to be added to tag with `.slds-combobox`. Uses `classNames` [API](https://github.com/JedWatson/classnames). _Tested with snapshot testing._\n\t */\n\tclassName: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\t/**\n\t * CSS classes to be added to top level tag with `.slds-form-element` and not on `.slds-combobox_container`. Uses `classNames` [API](https://github.com/JedWatson/classnames). _Tested with snapshot testing._\n\t */\n\tclassNameContainer: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\t/**\n\t * CSS classes to be added to tag with `.slds-dropdown`. Uses `classNames` [API](https://github.com/JedWatson/classnames). Autocomplete/bass variant menu height should not scroll and should be determined by number items which should be no more than 10. _Tested with snapshot testing._\n\t */\n\tclassNameMenu: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\t/**\n\t * CSS classes to be added to tag with `.slds-dropdown__header`. Uses `classNames` [API](https://github.com/JedWatson/classnames).\n\t */\n\tclassNameMenuSubHeader: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\t/**\n\t * Event Callbacks\n\t * * `onBlur`: Called when `input` removes focus.\n\t * * `onChange`: Called when keyboard events occur within `input`\n\t * * `onClose`: Triggered when the menu has closed.\n\t * * `onFocus`: Called when `input` receives focus.\n\t * * `onOpen`: Triggered when the menu has opened.\n\t * * `onRequestClose`: Function called when the menu would like to hide. Please use with `isOpen`.\n\t * * `onRequestOpen`: Function called when the menu would like to show. Please use with `isOpen`.\n\t * * `onRequestRemoveSelectedOption`: Function called when a single selection option is to be removed.\n\t * * `onSelect`: Function called when a menu item is selected. This includes header and footer items.\n\t * * `onSubmit`: Function called when user presses enter or submits the `input`\n\t * _Tested with Mocha testing._\n\t */\n\tevents: PropTypes.shape({\n\t\tonBlur: PropTypes.func,\n\t\tonChange: PropTypes.func,\n\t\tonClose: PropTypes.func,\n\t\tonFocus: PropTypes.func,\n\t\tonOpen: PropTypes.func,\n\t\tonRequestClose: PropTypes.func,\n\t\tonRequestOpen: PropTypes.func,\n\t\tonRequestRemoveSelectedOption: PropTypes.func,\n\t\tonSelect: PropTypes.func,\n\t\tonSubmit: PropTypes.func,\n\t}),\n\t/**\n\t * Message to display when the input is in an error state. When this is present, also visually highlights the component as in error. _Tested with snapshot testing._\n\t */\n\terrorText: PropTypes.string,\n\t/**\n\t * A [Tooltip](https://react.lightningdesignsystem.com/components/tooltips/) component that is displayed next to the `labels.label`. The props from the component will be merged and override any default props.\n\t */\n\tfieldLevelHelpTooltip: PropTypes.node,\n\t/**\n\t * If true, loading spinner appears inside input on right hand side.\n\t */\n\thasInputSpinner: PropTypes.bool,\n\t/**\n\t * Add loading spinner below the options\n\t */\n\thasMenuSpinner: PropTypes.bool,\n\t/**\n\t * By default, dialogs will flip their alignment (such as bottom to top) if they extend beyond a boundary element such as a scrolling parent or a window/viewpoint. `hasStaticAlignment` disables this behavior and allows this component to extend beyond boundary elements. _Not tested._\n\t */\n\thasStaticAlignment: PropTypes.bool,\n\t/**\n\t * HTML id for component. _Tested with snapshot testing._\n\t */\n\tid: PropTypes.string,\n\t/**\n\t * An [Input](https://react.lightningdesignsystem.com/components/inputs) component.\n\t * The props from this component will override any default props.\n\t */\n\tinput: PropTypes.node,\n\t/**\n\t * **Text labels for internationalization**\n\t * This object is merged with the default props object on every render.\n\t * * `label`: This label appears above the input.\n\t * * `cancelButton`: This label is only used by the dialog variant for the cancel button in the footer of the dialog. The default is `Cancel`\n\t * * `doneButton`: This label is only used by the dialog variant for the done button in the footer of the dialog. The default is `Done`\n\t * * `multipleOptionsSelected`: This label is used by the readonly variant when multiple options are selected. The default is `${props.selection.length} options selected`. This will override the entire string.\n\t * * `noOptionsFound`: Custom message that renders when no matches found. The default empty state is just text that says, 'No matches found.'.\n\t * * `placeholder`: Input placeholder\n\t * * `placeholderReadOnly`: Placeholder for Picklist-like Combobox\n\t * * `removePillTitle`: Title on `X` icon\n\t * _Tested with snapshot testing._\n\t */\n\tlabels: PropTypes.shape({\n\t\tlabel: PropTypes.oneOfType([PropTypes.node, PropTypes.string]),\n\t\tmultipleOptionsSelected: PropTypes.string,\n\t\tnoOptionsFound: PropTypes.oneOfType([PropTypes.node, PropTypes.string]),\n\t\tplaceholder: PropTypes.string,\n\t\tplaceholderReadOnly: PropTypes.string,\n\t\tremovePillTitle: PropTypes.string,\n\t}),\n\t/**\n\t * Forces the dropdown to be open or closed. See controlled/uncontrolled callback/prop pattern for more on suggested use view [Concepts and Best Practices](https://github.com/salesforce-ux/design-system-react/blob/master/CONTRIBUTING.md#concepts-and-best-practices) _Tested with snapshot testing._\n\t */\n\tisOpen: PropTypes.bool,\n\t/**\n\t * Sets the dialog width to the width of one of the following:\n\t * * `target`: Sets the dialog width to the width of the target. (Menus attached to `input` typically follow this UX pattern),\n\t * * `menu`: Consider setting a `menuMaxWidth` if using this value. If not, width will be set to width of largest menu item.\n\t * * `none`: Does not set a width on the dialog. _Tested with snapshot testing._\n\t */\n\tinheritWidthOf: PropTypes.oneOf(['target', 'menu', 'none']),\n\t/**\n\t * Accepts a custom menu item rendering function that becomes a custom component. It should return a React node. The checkmark is still rendered in readonly variants. This function is passed the following props:\n\t * * `assistiveText`: Object, `assistiveText` prop that is passed into Combobox\n\t * * `option`: Object, option data for item being rendered that is passed into Combobox\n\t * * `selected`: Boolean, allows rendering of `assistiveText.optionSelectedInMenu` in Readonly Combobox\n\t *\n\t * _Tested with snapshot testing._\n\t */\n\tonRenderMenuItem: PropTypes.func,\n\t/**\n\t * Please select one of the following:\n\t * * `absolute` - (default) The dialog will use `position: absolute` and style attributes to position itself. This allows inverted placement or flipping of the dialog.\n\t * * `overflowBoundaryElement` - The dialog will overflow scrolling parents. Use on elements that are aligned to the left or right of their target and don't care about the target being within a scrolling parent. Typically this is a popover or tooltip. Dropdown menus can usually open up and down if no room exists. In order to achieve this a portal element will be created and attached to `body`. This element will render into that detached render tree.\n\t * * `relative` - No styling or portals will be used. Menus will be positioned relative to their triggers. This is a great choice for HTML snapshot testing.\n\t */\n\tmenuPosition: PropTypes.oneOf([\n\t\t'absolute',\n\t\t'overflowBoundaryElement',\n\t\t'relative',\n\t]),\n\t/**\n\t * Sets a maximum width that the menu will be used if `inheritWidthOf` is set to `menu`. (Example: 500px) _Tested with snapshot testing._\n\t *\n\t */\n\tmenuMaxWidth: PropTypes.string,\n\t/**\n\t * Allows multiple selections _Tested with mocha testing._\n\t */\n\tmultiple: PropTypes.bool,\n\t/**\n\t * **Array of item objects in the dropdown menu.**\n\t * Each object can contain:\n\t * * `icon`: An `Icon` component. (not used in read-only variant)\n\t * * `id`: A unique identifier string.\n\t * * `label`: A primary string of text for a menu item or group separator.\n\t * * `subTitle`: A secondary string of text added for clarity. (optional)\n\t * * `type`: 'separator' is the only type currently used\n\t * * `disabled`: Set to true to disable this menu item.\n\t * * `tooltipContent`: Content that is displayed in tooltip when item is disabled\n\t * ```\n\t * {\n\t * \tid: '2',\n\t * \tlabel: 'Salesforce.com, Inc.',\n\t * \tsubTitle: 'Account • San Francisco',\n\t * \ttype: 'account',\n\t * disabled: true,\n\t * tooltipContent: \"You don't have permission to select this item.\"\n\t * },\n\t * ```\n\t * Note: At the moment, Combobox does not support two consecutive separators. _Tested with snapshot testing._\n\t */\n\toptions: PropTypes.arrayOf(\n\t\tPropTypes.PropTypes.shape({\n\t\t\tid: PropTypes.string.isRequired,\n\t\t\ticon: PropTypes.node,\n\t\t\tlabel: PropTypes.string,\n\t\t\tsubTitle: PropTypes.string,\n\t\t\ttype: PropTypes.string,\n\t\t\tdisabled: PropTypes.boolean,\n\t\t\ttooltipContent: PropTypes.node,\n\t\t})\n\t),\n\t/**\n\t * Determines the height of the menu based on SLDS CSS classes. This is a `number`. The default for a `readonly` variant is `5`.\n\t */\n\tmenuItemVisibleLength: PropTypes.oneOf([5, 7, 10]),\n\t/**\n\t * Limits auto-complete input submission to one of the provided options. _Tested with mocha testing._\n\t */\n\tpredefinedOptionsOnly: PropTypes.bool,\n\t/**\n\t * A `Popover` component. The props from this popover will be merged and override any default props. This also allows a Combobox's Popover dialog to be a controlled component. _Tested with snapshot testing._\n\t */\n\tpopover: PropTypes.node,\n\t/**\n\t * Applies label styling for a required form element. _Tested with snapshot testing._\n\t */\n\trequired: PropTypes.bool,\n\t/**\n\t * Accepts an array of item objects. For single selection, pass in an array of one object. For item object keys, see `options` prop. _Tested with snapshot testing._\n\t */\n\tselection: PropTypes.arrayOf(\n\t\tPropTypes.PropTypes.shape({\n\t\t\tid: PropTypes.string.isRequired,\n\t\t\ticon: PropTypes.node,\n\t\t\tlabel: PropTypes.string,\n\t\t\tsubTitle: PropTypes.string,\n\t\t\ttype: PropTypes.string,\n\t\t})\n\t).isRequired,\n\t/**\n\t * This callback exposes the selected listbox reference / DOM node to parent components.\n\t */\n\tselectedListboxRef: PropTypes.func,\n\t/**\n\t * Disables the input and prevents editing the contents. This only applies for single readonly and inline-listbox variants.\n\t */\n\tsingleInputDisabled: PropTypes.bool,\n\t/**\n\t * Accepts a tooltip that is displayed when hovering on disabled menu items.\n\t */\n\ttooltipMenuItemDisabled: PropTypes.element,\n\t/**\n\t * Value of input. _This is a controlled component,_ so you will need to control the input value by passing the `value` from `onChange` to a parent component or state manager, and then pass it back into the componet with this prop. Please see examples for more clarification. _Tested with snapshot testing._\n\t */\n\tvalue: PropTypes.string,\n\t/**\n\t * Changes styles of the input and menu. Currently `entity` is not supported.\n\t * The options are:\n\t * * `base`: An autocomplete Combobox also allows a user to select an option from a list, but that list can be affected by what the user types into the input of the Combobox. The SLDS website used to call the autocomplete Combobox its `base` variant.\n\t * * `inline-listbox`: An Entity Autocomplete Combobox or Lookup, is used to search for and select Salesforce Entities.\n\t * * `popover`: A dialog Combobox is best used when a listbox, tree, grid, or tree-grid is not the best solution. This variant allows custom content.\n\t * * `readonly`: A readonly text input that allows a user to select an option from a pre-defined list of options. It does not allow free form user input, nor does it allow the user to modify the selected value.\n\t *\n\t * _Tested with snapshot testing._\n\t */\n\t/**\n\t * Default value of input. Provide uncontroled behaviour\n\t */\n\tdefaultValue: PropTypes.string,\n\t/**\n\t * **Array of item objects in the dropdown menu that is displayed below the list of `options`. `onSelect` fires when selected.**\n\t * Each object can contain:\n\t * * `id`: A unique identifier string.\n\t * * `icon`: An [Icon](/components/icons/) component to be displayed to the left of the menu item `label`.\n\t * * `label`: A primary string of text for a menu item or a function that receives `inputValue` as function parameter and returns text to be displayed in for a menu item.\n\t * ```\n\t * {\n\t * \tid: '1',\n\t * \ticon: (\n\t * \t\n\t * \t),\n\t * \tlabel: 'New Entity'\n\t * }\n\t * ```\n\t * _Tested with snapshot testing._\n\t */\n\toptionsAddItem: PropTypes.arrayOf(\n\t\tPropTypes.shape({\n\t\t\tid: PropTypes.string,\n\t\t\ticon: PropTypes.node,\n\t\t\tlabel: PropTypes.oneOfType([PropTypes.string, PropTypes.func]),\n\t\t})\n\t),\n\t/**\n\t * **Array of item objects in the dropdown menu that is displayed above the list of `options`. `onSelect` fires when selected. **\n\t * Each object can contain:\n\t * * `id`: A unique identifier string.\n\t * * `icon`: An [Icon](/components/icons/) component to be displayed to the left of the menu item `label`.\n\t * * `label`: A primary string of text for a menu item or a function that receives `inputValue` as function parameter and returns text to be displayed in for a menu item.\n\t * ```\n\t * {\n\t *\tid: '1',\n\t *\ticon: (\n\t *\t\t\n\t *\t),\n\t *\tlabel: (searchTerm) => {\n\t *\t\treturn `${searchTerm} in Accounts`;\n\t *\t},\n\t * }\n\t * ```\n\t * _Tested with snapshot testing._\n\t */\n\toptionsSearchEntity: PropTypes.arrayOf(\n\t\tPropTypes.shape({\n\t\t\tid: PropTypes.string,\n\t\t\ticon: PropTypes.node,\n\t\t\tlabel: PropTypes.oneOfType([PropTypes.string, PropTypes.func]),\n\t\t})\n\t),\n\t/**\n\t * Node of type [Combobox](/components/comboboxes/) for creating grouped comboboxes.\n\t */\n\tentityCombobox: PropTypes.node,\n\t/**\n\t * Defines Combobox variant styling and functionality\n\t */\n\tvariant: PropTypes.oneOf(['base', 'inline-listbox', 'popover', 'readonly']),\n};\n\nconst defaultProps = {\n\tassistiveText: {\n\t\tloadingMenuItems: 'Loading',\n\t\toptionSelectedInMenu: 'Current Selection:',\n\t\tremoveSingleSelectedOption: 'Remove selected option',\n\t\tremovePill: ', Press delete or backspace to remove',\n\t\tselectedListboxLabel: 'Selected Options:',\n\t},\n\tevents: {},\n\tlabels: {\n\t\tcancelButton: 'Cancel',\n\t\tdoneButton: `Done`,\n\t\tnoOptionsFound: 'No matches found.',\n\t\toptionDisabledTooltipLabel: 'This option is disabled.',\n\t\tplaceholderReadOnly: 'Select an Option',\n\t\tremovePillTitle: 'Remove',\n\t},\n\tinheritWidthOf: 'target',\n\tmenuPosition: 'absolute',\n\toptionsSearchEntity: [],\n\toptionsAddItem: [],\n\trequired: false,\n\tselection: [],\n\tsingleInputDisabled: false,\n\tvariant: 'base',\n};\n\n/**\n * A widget that provides a user with an input field that is either an autocomplete or readonly, accompanied with a listbox of pre-definfined options.\n */\nclass Combobox extends React.Component {\n\tconstructor(props) {\n\t\tsuper(props);\n\n\t\tthis.state = {\n\t\t\tactiveOption: undefined,\n\t\t\tactiveOptionIndex: -1,\n\t\t\t// seeding initial state with this.props.selection[0]\n\t\t\tactiveSelectedOption:\n\t\t\t\t(this.props.selection && this.props.selection[0]) || undefined,\n\t\t\tactiveSelectedOptionIndex: 0,\n\t\t\tlistboxHasFocus: false,\n\t\t\tisOpen: typeof props.isOpen === 'boolean' ? props.isOpen : false,\n\t\t};\n\n\t\tthis.menuKeyBuffer = new KeyBuffer();\n\t\tthis.menuRef = undefined;\n\t\tthis.selectedListboxRef = null;\n\n\t\t// `checkProps` issues warnings to developers about properties (similar to React's built in development tools)\n\t\tcheckProps(COMBOBOX, props, componentDoc);\n\n\t\tthis.generatedId = shortid.generate();\n\t\tthis.generatedErrorId = shortid.generate();\n\t}\n\n\t/**\n\t * Lifecycle methods\n\t */\n\n\tcomponentDidUpdate(nextProps) {\n\t\t// This logic will maintain the active highlight even when the\n\t\t// option order changes. One example would be the server pushes\n\t\t// data out as the user has the menu open. This logic clears\n\t\t// `activeOption` if the active option is no longer in the options\n\t\t// list. If it's in the options list, then find the new index and\n\t\t// set `activeOptionIndex`\n\t\tif (!isEqual(this.getOptions(), this.getOptions(nextProps))) {\n\t\t\tconst index = findIndex(this.getOptions(nextProps), (item) =>\n\t\t\t\tisEqual(item, this.state.activeOption)\n\t\t\t);\n\t\t\tif (index !== -1) {\n\t\t\t\t// eslint-disable-next-line react/no-did-update-set-state\n\t\t\t\tthis.setState({ activeOptionIndex: index });\n\t\t\t} else {\n\t\t\t\t// eslint-disable-next-line react/no-did-update-set-state\n\t\t\t\tthis.setState({ activeOption: undefined, activeOptionIndex: -1 });\n\t\t\t}\n\t\t} else if (this.props.isOpen !== nextProps.isOpen) {\n\t\t\t// eslint-disable-next-line react/no-did-update-set-state\n\t\t\tthis.setState({\n\t\t\t\tactiveOption: undefined,\n\t\t\t\tactiveOptionIndex: -1,\n\t\t\t\tisOpen: nextProps.isOpen,\n\t\t\t});\n\t\t}\n\n\t\t// there may be issues with tabindex/focus if the app removes an item\n\t\t// from selection while the user is using the listbox\n\t\tconst selectedOptionsRenderIsInitialRender =\n\t\t\tthis.props.selection &&\n\t\t\tthis.props.selection.length === 0 &&\n\t\t\tnextProps.selection.length > 0;\n\t\tif (selectedOptionsRenderIsInitialRender) {\n\t\t\t// eslint-disable-next-line react/no-did-update-set-state\n\t\t\tthis.setState({\n\t\t\t\tactiveSelectedOption: nextProps.selection[0],\n\t\t\t\tactiveSelectedOptionIndex: 0,\n\t\t\t});\n\t\t}\n\t}\n\n\tcomponentWillUnmount() {\n\t\tif (currentOpenDropdown === this) {\n\t\t\tcurrentOpenDropdown = undefined;\n\t\t}\n\t}\n\n\tgetCustomPopoverProps = (body, { assistiveText, labels }) => {\n\t\t/*\n\t\t * Generate the popover props based on passed in popover props. Using the default behavior if not provided by passed in popover\n\t\t */\n\t\tconst popoverBody = (\n\t\t\t
    \n\t\t\t\t
    \n\t\t\t\t\t{assistiveText.popoverLabel}\n\t\t\t\t
    \n\t\t\t\t{body}\n\t\t\t
    \n\t\t);\n\n\t\tconst popoverFooter = (\n\t\t\t
    \n\t\t\t\t {\n\t\t\t\t\t\tthis.handleClose(e, { trigger: 'cancel' });\n\t\t\t\t\t}}\n\t\t\t\t/>\n\t\t\t\t\n\t\t\t
    \n\t\t);\n\n\t\tconst defaultPopoverProps = {\n\t\t\tariaLabelledby: `${this.getId()}-label`,\n\t\t\talign: 'bottom',\n\t\t\tbody: popoverBody,\n\t\t\tclassName: 'slds-popover_full-width',\n\t\t\tfooter: popoverFooter,\n\t\t\tfooterClassName: 'slds-popover__footer_form',\n\t\t\thasNoNubbin: true,\n\t\t\tid: this.getId(),\n\t\t\tisOpen: this.state.isOpen,\n\t\t\thasNoTriggerStyles: true,\n\t\t\tonOpen: this.handleOpen,\n\t\t\tonClose: this.handleClose,\n\t\t\tonRequestClose: this.handleClose,\n\t\t};\n\n\t\t/* Merge in passed popover's props if there is any to override the default popover props */\n\t\tconst popoverProps = assign(\n\t\t\tdefaultPopoverProps,\n\t\t\tthis.props.popover ? this.props.popover.props : {}\n\t\t);\n\t\tpopoverProps.body = popoverBody;\n\n\t\t// eslint-disable-next-line fp/no-delete\n\t\tdelete popoverProps.children;\n\t\treturn popoverProps;\n\t};\n\n\tgetDialog({ menuRenderer }) {\n\t\t// FOR BACKWARDS COMPATIBILITY\n\t\tconst menuPosition = this.props.isInline\n\t\t\t? 'relative'\n\t\t\t: this.props.menuPosition; // eslint-disable-line react/prop-types\n\n\t\treturn !this.props.disabled && this.getIsOpen() ? (\n\t\t\t {\n\t\t\t\t\t// prevent onBlur\n\t\t\t\t\tevent.preventDefault();\n\t\t\t\t}}\n\t\t\t\tonOpen={this.handleOpen}\n\t\t\t\tonRequestTargetElement={this.getTargetElement}\n\t\t\t\tposition={menuPosition}\n\t\t\t\tcontainerProps={{\n\t\t\t\t\tid: `${this.getId()}-listbox`,\n\t\t\t\t\trole: 'listbox',\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\t{menuRenderer}\n\t\t\t\n\t\t) : null;\n\t}\n\n\tgetErrorId() {\n\t\treturn (\n\t\t\tthis.props['aria-describedby'] ||\n\t\t\t(this.props.errorText && this.generatedErrorId)\n\t\t);\n\t}\n\n\t/**\n\t * Shared class property getter methods\n\t */\n\n\tgetId = () => this.props.id || this.generatedId;\n\n\tgetIsActiveOption = () =>\n\t\tthis.state.activeOption && this.state.activeOptionIndex !== -1;\n\n\tgetIsOpen = () =>\n\t\t!!(typeof this.props.isOpen === 'boolean'\n\t\t\t? this.props.isOpen\n\t\t\t: this.state.isOpen);\n\n\tgetNewActiveOptionIndex = ({ activeOptionIndex, offset, options }) => {\n\t\t// used by menu listbox and selected options listbox\n\t\tconst nextIndex = activeOptionIndex + offset;\n\t\tconst skipIndex =\n\t\t\toptions.length > nextIndex &&\n\t\t\tnextIndex >= 0 &&\n\t\t\toptions[nextIndex].type === 'separator';\n\t\tconst newIndex = skipIndex ? nextIndex + offset : nextIndex;\n\t\tconst hasNewIndex = options.length > nextIndex && nextIndex >= 0;\n\t\treturn hasNewIndex ? newIndex : activeOptionIndex;\n\t};\n\n\tgetOptions = (props = this.props) => {\n\t\tconst localProps = props;\n\t\tconst options = [];\n\t\tif (localProps.optionsSearchEntity.length > 0) {\n\t\t\t// eslint-disable-next-line fp/no-mutating-methods\n\t\t\toptions.push(...localProps.optionsSearchEntity);\n\t\t}\n\n\t\tif (localProps.options) {\n\t\t\t// eslint-disable-next-line fp/no-mutating-methods\n\t\t\toptions.push(...localProps.options);\n\t\t}\n\t\tif (localProps.optionsAddItem.length > 0) {\n\t\t\t// eslint-disable-next-line fp/no-mutating-methods\n\t\t\toptions.push(...localProps.optionsAddItem);\n\t\t}\n\t\treturn options;\n\t};\n\n\tgetTargetElement = () => this.inputRef;\n\n\tsetInputRef = (component) => {\n\t\tthis.inputRef = component;\n\t\t// yes, this is a render triggered by a render.\n\t\t// Dialog/Popper.js cannot place the menu until\n\t\t// the trigger/target DOM node is mounted. This\n\t\t// way `findDOMNode` is not called and parent\n\t\t// DOM nodes are not queried.\n\t\tif (!this.state.inputRendered) {\n\t\t\tthis.setState({ inputRendered: true });\n\t\t}\n\t};\n\n\tsetSelectedListboxRef = (ref) => {\n\t\tthis.selectedListboxRef = ref;\n\t\tif (this.props.selectedListboxRef) {\n\t\t\tthis.props.selectedListboxRef(ref);\n\t\t}\n\t};\n\n\thandleBlurPill = () => {\n\t\tthis.setState({ listboxHasFocus: false });\n\t};\n\n\t/**\n\t * Menu open/close and sub-render methods\n\t */\n\thandleClickOutside = (event) => {\n\t\tthis.handleRequestClose(event, {});\n\t};\n\n\thandleClose = (event, { trigger } = {}) => {\n\t\tconst isOpen = this.getIsOpen();\n\n\t\tif (isOpen) {\n\t\t\tif (currentOpenDropdown === this) {\n\t\t\t\tcurrentOpenDropdown = undefined;\n\t\t\t}\n\n\t\t\tthis.setState({\n\t\t\t\tactiveOption: undefined,\n\t\t\t\tactiveOptionIndex: -1,\n\t\t\t\tisOpen: false,\n\t\t\t});\n\n\t\t\tif (this.props.variant === 'popover' && trigger === 'cancel') {\n\t\t\t\tif (this.props.popover.props.onClose) {\n\t\t\t\t\tthis.props.popover.props.onClose(event, { trigger });\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (this.props.events.onClose) {\n\t\t\t\tthis.props.events.onClose(event, {});\n\t\t\t}\n\t\t}\n\t};\n\n\thandleInputBlur = (event) => {\n\t\t// If menu is open when the input's onBlur event fires, it will close before the onClick of the menu item can fire.\n\t\tsetTimeout(() => {\n\t\t\tconst activeElement = documentDefined ? document.activeElement : false;\n\t\t\t// detect if the scrollbar of the combobox-autocomplete/lookup menu is clicked in IE11. If it is, return focus to input, and do not close menu.\n\t\t\tif (\n\t\t\t\tactiveElement &&\n\t\t\t\tactiveElement.tagName === 'DIV' &&\n\t\t\t\tactiveElement.id === `${this.getId()}-listbox`\n\t\t\t) {\n\t\t\t\tif (this.inputRef) {\n\t\t\t\t\tthis.inputRef.focus();\n\t\t\t\t}\n\t\t\t} else if (!this.props.popover) {\n\t\t\t\tthis.handleClose(event);\n\t\t\t}\n\t\t}, 200);\n\n\t\tif (this.props.events.onBlur) {\n\t\t\tthis.props.events.onBlur(event);\n\t\t}\n\t};\n\n\thandleInputChange = (event) => {\n\t\tthis.requestOpenMenu();\n\t\tif (this.props.events && this.props.events.onChange) {\n\t\t\tthis.props.events.onChange(event, { value: event.target.value });\n\t\t}\n\t};\n\n\thandleInputFocus = (event) => {\n\t\tif (this.props.events.onFocus) {\n\t\t\tthis.props.events.onFocus(event, {});\n\t\t}\n\t};\n\n\thandleInputSubmit = (event) => {\n\t\tif (this.state.activeOption && this.state.activeOption.disabled) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (\n\t\t\tthis.state.activeOption &&\n\t\t\t(this.state.activeOption.type === 'header' ||\n\t\t\t\tthis.state.activeOption.type === 'footer')\n\t\t) {\n\t\t\tthis.state.activeOption.onClick(event);\n\t\t\treturn;\n\t\t}\n\n\t\t// use menu options\n\t\tif (this.getIsActiveOption()) {\n\t\t\tthis.handleSelect(event, {\n\t\t\t\toption: this.state.activeOption,\n\t\t\t\tselection: this.props.selection,\n\t\t\t});\n\t\t\t// use input value, if not limited to predefined options (in the menu)\n\t\t} else if (\n\t\t\t!this.props.predefinedOptionsOnly &&\n\t\t\tevent.target.value !== '' &&\n\t\t\tthis.props.events.onSubmit\n\t\t) {\n\t\t\tthis.props.events.onSubmit(event, {\n\t\t\t\tvalue: event.target.value,\n\t\t\t});\n\t\t}\n\t};\n\n\t/**\n\t * Input and menu keyboard event methods\n\t */\n\n\thandleKeyDown = (event) => {\n\t\tconst callbacks = {\n\t\t\t[KEYS.DOWN]: { callback: this.handleKeyDownDown },\n\t\t\t[KEYS.ENTER]: { callback: this.handleInputSubmit },\n\t\t\t[KEYS.ESCAPE]: { callback: this.handleClose },\n\t\t\t[KEYS.UP]: { callback: this.handleKeyDownUp },\n\t\t};\n\n\t\tif (this.props.variant === 'readonly') {\n\t\t\tif (this.props.selection.length > 2) {\n\t\t\t\tcallbacks[KEYS.TAB] = { callback: this.handleKeyDownTab };\n\t\t\t} else {\n\t\t\t\tcallbacks[KEYS.TAB] = undefined;\n\t\t\t}\n\t\t\tcallbacks.other = {\n\t\t\t\tcallback: this.handleKeyDownOther,\n\t\t\t\tstopPropagation: false,\n\t\t\t};\n\t\t}\n\n\t\t// Helper function that takes an object literal of callbacks that are triggered with a key event\n\t\tmapKeyEventCallbacks(event, { callbacks });\n\t};\n\n\thandleKeyDownDown = (event) => {\n\t\t// Don't open if user is selecting text\n\t\tif (!event.shiftKey) {\n\t\t\tthis.openDialog();\n\t\t}\n\n\t\tif (this.props.variant !== 'popover') {\n\t\t\tthis.handleNavigateListboxMenu(event, { direction: 'next' });\n\t\t}\n\t};\n\n\thandleKeyDownTab = () => {\n\t\tif (this.selectedListboxRef) {\n\t\t\tthis.setState({\n\t\t\t\tlistboxHasFocus: true,\n\t\t\t});\n\t\t}\n\t};\n\n\thandleKeyDownUp = (event) => {\n\t\t// Don't open if user is selecting text\n\t\tif (!event.shiftKey && this.getIsOpen()) {\n\t\t\tthis.handleNavigateListboxMenu(event, { direction: 'previous' });\n\t\t}\n\t};\n\n\thandleKeyDownOther = (event) => {\n\t\tconst activeOptionIndex = keyLetterMenuItemSelect({\n\t\t\tkey: event.key,\n\t\t\tkeyBuffer: this.menuKeyBuffer,\n\t\t\tkeyCode: event.keyCode,\n\t\t\toptions: this.getOptions(),\n\t\t});\n\n\t\tif (activeOptionIndex !== undefined) {\n\t\t\tif (this.getIsOpen()) {\n\t\t\t\tmenuItemSelectScroll({\n\t\t\t\t\tcontainer: this.menuRef,\n\t\t\t\t\tfocusedIndex: activeOptionIndex,\n\t\t\t\t});\n\t\t\t}\n\n\t\t\tthis.setState({\n\t\t\t\tactiveOption: this.getOptions()[activeOptionIndex],\n\t\t\t\tactiveOptionIndex,\n\t\t\t});\n\t\t}\n\t};\n\n\thandleNavigateListboxMenu = (event, { direction }) => {\n\t\tconst offsets = { next: 1, previous: -1 };\n\t\t// takes current/previous state and returns an object with the new state\n\t\tthis.setState((prevState) => {\n\t\t\tconst newIndex = this.getNewActiveOptionIndex({\n\t\t\t\tactiveOptionIndex: prevState.activeOptionIndex,\n\t\t\t\toffset: offsets[direction],\n\t\t\t\toptions: this.getOptions(),\n\t\t\t});\n\n\t\t\t// eslint-disable-next-line react/no-access-state-in-setstate\n\t\t\tif (this.getIsOpen()) {\n\t\t\t\tmenuItemSelectScroll({\n\t\t\t\t\tcontainer: this.menuRef,\n\t\t\t\t\tfocusedIndex: newIndex,\n\t\t\t\t});\n\t\t\t}\n\n\t\t\treturn {\n\t\t\t\tactiveOption: this.getOptions()[newIndex],\n\t\t\t\tactiveOptionIndex: newIndex,\n\t\t\t};\n\t\t});\n\t};\n\n\thandleNavigateSelectedListbox = (event, { direction }) => {\n\t\tconst offsets = { next: 1, previous: -1 };\n\t\tthis.setState((prevState) => {\n\t\t\tconst isLastOptionAndRightIsPressed =\n\t\t\t\tprevState.activeSelectedOptionIndex + 1 ===\n\t\t\t\t\tthis.props.selection.length && direction === 'next';\n\t\t\tconst isFirstOptionAndLeftIsPressed =\n\t\t\t\tprevState.activeSelectedOptionIndex === 0 && direction === 'previous';\n\t\t\tlet newState;\n\n\t\t\tif (isLastOptionAndRightIsPressed) {\n\t\t\t\tnewState = {\n\t\t\t\t\tactiveSelectedOption: this.props.selection[0],\n\t\t\t\t\tactiveSelectedOptionIndex: 0,\n\t\t\t\t\tlistboxHasFocus: true,\n\t\t\t\t};\n\t\t\t} else if (isFirstOptionAndLeftIsPressed) {\n\t\t\t\tnewState = {\n\t\t\t\t\tactiveSelectedOption: this.props.selection[\n\t\t\t\t\t\tthis.props.selection.length - 1\n\t\t\t\t\t],\n\t\t\t\t\tactiveSelectedOptionIndex: this.props.selection.length - 1,\n\t\t\t\t\tlistboxHasFocus: true,\n\t\t\t\t};\n\t\t\t} else {\n\t\t\t\tconst newIndex = this.getNewActiveOptionIndex({\n\t\t\t\t\tactiveOptionIndex: prevState.activeSelectedOptionIndex,\n\t\t\t\t\toffset: offsets[direction],\n\t\t\t\t\toptions: this.props.selection,\n\t\t\t\t});\n\t\t\t\tnewState = {\n\t\t\t\t\tactiveSelectedOption: this.props.selection[newIndex],\n\t\t\t\t\tactiveSelectedOptionIndex: newIndex,\n\t\t\t\t\tlistboxHasFocus: true,\n\t\t\t\t};\n\t\t\t}\n\n\t\t\treturn newState;\n\t\t});\n\t};\n\n\thandleOpen = (event, data) => {\n\t\tconst isOpen = this.getIsOpen();\n\n\t\tif (!isOpen) {\n\t\t\tif (currentOpenDropdown && isFunction(currentOpenDropdown.handleClose)) {\n\t\t\t\tcurrentOpenDropdown.handleClose();\n\t\t\t}\n\t\t} else {\n\t\t\tcurrentOpenDropdown = this;\n\n\t\t\tthis.setState({\n\t\t\t\tisOpen: true,\n\t\t\t});\n\n\t\t\tif (this.props.events.onOpen) {\n\t\t\t\tthis.props.events.onOpen(event, data);\n\t\t\t}\n\n\t\t\tif (this.props.variant === 'readonly' && this.menuRef !== null) {\n\t\t\t\tconst activeOptionIndex = findIndex(this.getOptions(), (item) =>\n\t\t\t\t\tisEqual(item, this.props.selection[0])\n\t\t\t\t);\n\n\t\t\t\tthis.setState({\n\t\t\t\t\tactiveOptionIndex,\n\t\t\t\t});\n\n\t\t\t\tmenuItemSelectScroll({\n\t\t\t\t\tcontainer: this.menuRef,\n\t\t\t\t\tfocusedIndex: activeOptionIndex,\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t};\n\n\thandlePillFocus = (event, { option, index }) => {\n\t\tif (!this.state.listboxHasFocus) {\n\t\t\tthis.setState({\n\t\t\t\tactiveSelectedOption: option,\n\t\t\t\tactiveSelectedOptionIndex: index,\n\t\t\t\tlistboxHasFocus: true,\n\t\t\t});\n\t\t}\n\t};\n\n\t/**\n\t * Selected options with selected listbox event methods\n\t */\n\n\thandleRemoveSelectedOption = (event, { option, index }) => {\n\t\tevent.preventDefault();\n\t\tconst onlyOnePillAndInputExists = this.props.selection.length === 1;\n\t\tconst isReadOnlyAndTwoPillsExists =\n\t\t\tthis.props.selection.length === 2 &&\n\t\t\tthis.props.variant === 'readonly' &&\n\t\t\tthis.props.multiple;\n\t\tconst lastPillWasRemoved = index + 1 === this.props.selection.length;\n\n\t\tif (\n\t\t\t(onlyOnePillAndInputExists || isReadOnlyAndTwoPillsExists) &&\n\t\t\tthis.inputRef\n\t\t) {\n\t\t\tthis.inputRef.focus();\n\t\t} else if (lastPillWasRemoved) {\n\t\t\t// set focus to previous option and index\n\t\t\tthis.setState({\n\t\t\t\tactiveSelectedOption: this.props.selection[index - 1],\n\t\t\t\tactiveSelectedOptionIndex: index - 1,\n\t\t\t\tlistboxHasFocus: true,\n\t\t\t});\n\t\t} else {\n\t\t\t// set focus to next option, but same index\n\t\t\tthis.setState({\n\t\t\t\tactiveSelectedOption: this.props.selection[index + 1],\n\t\t\t\tactiveSelectedOptionIndex: index,\n\t\t\t\tlistboxHasFocus: true,\n\t\t\t});\n\t\t}\n\n\t\tif (this.props.events.onRequestRemoveSelectedOption) {\n\t\t\tthis.props.events.onRequestRemoveSelectedOption(event, {\n\t\t\t\tselection: reject(this.props.selection, option),\n\t\t\t});\n\t\t}\n\t};\n\n\thandleRequestClose = (event, data) => {\n\t\tif (this.props.events.onRequestClose) {\n\t\t\tthis.props.events.onRequestClose(event, data);\n\t\t}\n\t\tif (this.getIsOpen()) {\n\t\t\tthis.handleClose(event, { trigger: 'cancel' });\n\t\t}\n\t};\n\n\thandleRequestFocusSelectedListbox = (event, { ref }) => {\n\t\tif (ref) {\n\t\t\tthis.activeSelectedOptionRef = ref;\n\t\t\tthis.activeSelectedOptionRef.focus();\n\t\t}\n\t};\n\n\thandleSelect = (event, { selection, option }) => {\n\t\tlet newSelection;\n\t\tconst isSelected = this.isSelected({ selection, option });\n\t\tconst singleSelectAndSelectedWasNotClicked =\n\t\t\t!this.props.multiple && !isSelected;\n\t\tconst multiSelectAndSelectedWasNotClicked =\n\t\t\tthis.props.multiple && !isSelected;\n\n\t\tif (singleSelectAndSelectedWasNotClicked) {\n\t\t\tnewSelection = [option];\n\t\t} else if (multiSelectAndSelectedWasNotClicked) {\n\t\t\tnewSelection = [...this.props.selection, option];\n\t\t} else {\n\t\t\tnewSelection = reject(this.props.selection, option);\n\t\t}\n\n\t\tif (this.props.events.onSelect) {\n\t\t\tthis.props.events.onSelect(event, { selection: newSelection });\n\t\t}\n\n\t\tthis.handleClose();\n\n\t\t// if (this.inputRef) {\n\t\t// \tthis.inputRef.focus();\n\t\t// }\n\t};\n\n\tisSelected = ({ selection, option }) => !!find(selection, option);\n\n\topenDialog = () => {\n\t\tif (this.props.events.onRequestOpen) {\n\t\t\tthis.props.events.onRequestOpen();\n\t\t} else {\n\t\t\tthis.setState({\n\t\t\t\tisOpen: true,\n\t\t\t});\n\t\t}\n\t};\n\n\trequestOpenMenu = () => {\n\t\tconst isInlineSingleSelectionAndIsNotSelected =\n\t\t\t!this.props.multiple &&\n\t\t\tthis.props.selection.length === 0 &&\n\t\t\tthis.props.variant === 'inline-listbox';\n\n\t\tif (\n\t\t\tisInlineSingleSelectionAndIsNotSelected ||\n\t\t\tthis.props.multiple ||\n\t\t\tthis.props.variant === 'readonly'\n\t\t) {\n\t\t\tthis.openDialog();\n\t\t}\n\t};\n\n\t/**\n\t * Combobox variant subrenders\n\t * (these can probably be broken into function components\n\t * if state is passed in as a prop)\n\t */\n\n\trenderBase = ({ assistiveText, labels, props, userDefinedProps }) => (\n\t\t
    \n\t\t\t
    \n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t}\n\t\t\t\t\t\tid={this.getId()}\n\t\t\t\t\t\tonFocus={this.handleInputFocus}\n\t\t\t\t\t\tonBlur={this.handleInputBlur}\n\t\t\t\t\t\tonKeyDown={this.handleKeyDown}\n\t\t\t\t\t\tinputRef={this.setInputRef}\n\t\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\t\tthis.openDialog();\n\t\t\t\t\t\t}}\n\t\t\t\t\t\tonChange={this.handleInputChange}\n\t\t\t\t\t\tplaceholder={labels.placeholder}\n\t\t\t\t\t\tdefaultValue={props.defaultValue}\n\t\t\t\t\t\treadOnly={\n\t\t\t\t\t\t\t!!(props.predefinedOptionsOnly && this.state.activeOption)\n\t\t\t\t\t\t}\n\t\t\t\t\t\trequired={props.required}\n\t\t\t\t\t\tvalue={\n\t\t\t\t\t\t\tprops.predefinedOptionsOnly\n\t\t\t\t\t\t\t\t? (this.state.activeOption && this.state.activeOption.label) ||\n\t\t\t\t\t\t\t\t props.value\n\t\t\t\t\t\t\t\t: props.value\n\t\t\t\t\t\t}\n\t\t\t\t\t\t{...userDefinedProps.input}\n\t\t\t\t\t/>\n\t\t\t\t\t{this.getDialog({\n\t\t\t\t\t\tmenuRenderer: this.renderMenu({ assistiveText, labels }),\n\t\t\t\t\t})}\n\t\t\t\t
    \n\t\t\t
    \n\t\t\t\n\t\t\t{props.errorText && (\n\t\t\t\t
    \n\t\t\t\t\t\n\t\t\t\t\t\t{props.errorText}\n\t\t\t\t\t
    \n\t\t\t\t\n\t\t\t)}\n\t\t\n\t);\n\n\trenderInlineMultiple = ({\n\t\tassistiveText,\n\t\tlabels,\n\t\tprops,\n\t\tuserDefinedProps,\n\t}) => (\n\t\t
    \n\t\t\t\n\t\t\t\t{props.selection.length ? (\n\t\t\t\t\t\n\t\t\t\t) : null}\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t}\n\t\t\t\t\t\tid={this.getId()}\n\t\t\t\t\t\tonFocus={this.handleInputFocus}\n\t\t\t\t\t\tonBlur={this.handleInputBlur}\n\t\t\t\t\t\tonKeyDown={this.handleKeyDown}\n\t\t\t\t\t\tinputRef={this.setInputRef}\n\t\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\t\tthis.openDialog();\n\t\t\t\t\t\t}}\n\t\t\t\t\t\tonChange={this.handleInputChange}\n\t\t\t\t\t\tplaceholder={labels.placeholder}\n\t\t\t\t\t\treadOnly={\n\t\t\t\t\t\t\t!!(props.predefinedOptionsOnly && this.state.activeOption)\n\t\t\t\t\t\t}\n\t\t\t\t\t\trequired={props.required}\n\t\t\t\t\t\tvalue={\n\t\t\t\t\t\t\tprops.predefinedOptionsOnly\n\t\t\t\t\t\t\t\t? (this.state.activeOption && this.state.activeOption.label) ||\n\t\t\t\t\t\t\t\t props.value\n\t\t\t\t\t\t\t\t: props.value\n\t\t\t\t\t\t}\n\t\t\t\t\t\t{...userDefinedProps.input}\n\t\t\t\t\t/>\n\t\t\t\t\t{this.getDialog({\n\t\t\t\t\t\tmenuRenderer: this.renderMenu({ assistiveText, labels }),\n\t\t\t\t\t})}\n\t\t\t\t\t{props.errorText && (\n\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t{props.errorText}\n\t\t\t\t\t\t
    \n\t\t\t\t\t)}\n\t\t\t\t
    \n\t\t\t\n\t\t\n\t);\n\n\trenderInlineSingle = ({ assistiveText, labels, props, userDefinedProps }) => {\n\t\tconst iconLeft =\n\t\t\tprops.selection[0] && props.selection[0].icon\n\t\t\t\t? React.cloneElement(props.selection[0].icon, {\n\t\t\t\t\t\tcontainerClassName: 'slds-combobox__input-entity-icon',\n\t\t\t\t })\n\t\t\t\t: null;\n\n\t\tconst value =\n\t\t\tprops.selection[0] && props.selection[0].label\n\t\t\t\t? props.selection[0].label\n\t\t\t\t: props.value;\n\n\t\treturn (\n\t\t\t
    \n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\t\t\t\tthis.buttonRef = component;\n\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\tcategory=\"utility\"\n\t\t\t\t\t\t\t\t\t\ticonPosition=\"right\"\n\t\t\t\t\t\t\t\t\t\tname=\"close\"\n\t\t\t\t\t\t\t\t\t\tonClick={(event) => {\n\t\t\t\t\t\t\t\t\t\t\tthis.handleRemoveSelectedOption(event, {\n\t\t\t\t\t\t\t\t\t\t\t\toption: props.selection[0],\n\t\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\ticonLeft={iconLeft}\n\t\t\t\t\t\t\tid={this.getId()}\n\t\t\t\t\t\t\tonFocus={this.handleInputFocus}\n\t\t\t\t\t\t\tonBlur={this.handleInputBlur}\n\t\t\t\t\t\t\tonKeyDown={this.handleKeyDown}\n\t\t\t\t\t\t\tinputRef={this.setInputRef}\n\t\t\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\t\t\tthis.requestOpenMenu();\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\tonChange={(event) => {\n\t\t\t\t\t\t\t\tif (!props.selection.length) {\n\t\t\t\t\t\t\t\t\tthis.handleInputChange(event);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\tplaceholder={labels.placeholder}\n\t\t\t\t\t\t\treadOnly={\n\t\t\t\t\t\t\t\t!!(props.predefinedOptionsOnly && this.state.activeOption) ||\n\t\t\t\t\t\t\t\t!!props.selection.length\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\trequired={props.required}\n\t\t\t\t\t\t\tvalue={\n\t\t\t\t\t\t\t\tprops.predefinedOptionsOnly\n\t\t\t\t\t\t\t\t\t? (this.state.activeOption &&\n\t\t\t\t\t\t\t\t\t\t\tthis.state.activeOption.label) ||\n\t\t\t\t\t\t\t\t\t props.value\n\t\t\t\t\t\t\t\t\t: value\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t{...userDefinedProps.input}\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t{this.getDialog({\n\t\t\t\t\t\t\tmenuRenderer: this.renderMenu({ assistiveText, labels }),\n\t\t\t\t\t\t})}\n\t\t\t\t\t\t{props.errorText && (\n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t{props.errorText}\n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t)}\n\t\t\t\t\t
    \n\t\t\t\t\n\t\t\t\n\t\t);\n\t};\n\n\trenderMenu = ({ assistiveText, labels }) => {\n\t\tconst menuVariant = {\n\t\t\tbase: 'icon-title-subtitle',\n\t\t\t'inline-listbox': 'icon-title-subtitle',\n\t\t\treadonly: 'checkbox',\n\t\t};\n\n\t\tconst readonlyItemVisibleLength =\n\t\t\tthis.props.variant === 'readonly' ? 5 : null;\n\n\t\treturn (\n\t\t\t {\n\t\t\t\t\tthis.menuRef = ref;\n\t\t\t\t}}\n\t\t\t\tmaxWidth={this.props.menuMaxWidth}\n\t\t\t\toptions={this.props.options}\n\t\t\t\toptionsAddItem={this.props.optionsAddItem}\n\t\t\t\toptionsSearchEntity={this.props.optionsSearchEntity}\n\t\t\t\tonSelect={this.handleSelect}\n\t\t\t\t// For backward compatibility, 'menuItem' prop will be deprecated soon\n\t\t\t\tonRenderMenuItem={\n\t\t\t\t\tthis.props.onRenderMenuItem\n\t\t\t\t\t\t? this.props.onRenderMenuItem\n\t\t\t\t\t\t: this.props.menuItem\n\t\t\t\t}\n\t\t\t\tselection={this.props.selection}\n\t\t\t\ttooltipMenuItemDisabled={this.props.tooltipMenuItemDisabled}\n\t\t\t\tvariant={menuVariant[this.props.variant]}\n\t\t\t/>\n\t\t);\n\t};\n\n\trenderPopover = ({ assistiveText, labels, props }) => {\n\t\tconst popoverProps = this.getCustomPopoverProps(\n\t\t\tthis.props.popover.props.body,\n\t\t\t{ assistiveText, labels }\n\t\t);\n\n\t\treturn (\n\t\t\t
    \n\t\t\t\t
    \n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tid={this.getId()}\n\t\t\t\t\t\t\t\tonFocus={this.handleInputFocus}\n\t\t\t\t\t\t\t\tonBlur={this.handleInputBlur}\n\t\t\t\t\t\t\t\tonKeyDown={this.handleKeyDown}\n\t\t\t\t\t\t\t\tinputRef={this.setInputRef}\n\t\t\t\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\t\t\t\tthis.openDialog();\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\tonChange={this.handleInputChange}\n\t\t\t\t\t\t\t\tplaceholder={labels.placeholder}\n\t\t\t\t\t\t\t\treadOnly\n\t\t\t\t\t\t\t\trequired={props.required}\n\t\t\t\t\t\t\t\tvalue={props.value}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\n\t\t\t\t\t
    \n\t\t\t\t
    \n\t\t\t\t{props.errorText && (\n\t\t\t\t\t
    \n\t\t\t\t\t\t\n\t\t\t\t\t\t\t{props.errorText}\n\t\t\t\t\t\t
    \n\t\t\t\t\t\n\t\t\t\t)}\n\t\t\t\n\t\t);\n\t};\n\n\trenderReadOnlyMultiple = ({\n\t\tassistiveText,\n\t\tlabels,\n\t\tprops,\n\t\tuserDefinedProps,\n\t}) => {\n\t\tconst value =\n\t\t\tprops.selection.length > 1\n\t\t\t\t? labels.multipleOptionsSelected ||\n\t\t\t\t `${props.selection.length} options selected`\n\t\t\t\t: (props.selection[0] && props.selection[0].label) || '';\n\n\t\treturn (\n\t\t\t
    \n\t\t\t\t
    \n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tid={this.getId()}\n\t\t\t\t\t\t\tonFocus={this.handleInputFocus}\n\t\t\t\t\t\t\tonBlur={this.handleInputBlur}\n\t\t\t\t\t\t\tonKeyDown={this.handleKeyDown}\n\t\t\t\t\t\t\tinputRef={this.setInputRef}\n\t\t\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\t\t\tthis.requestOpenMenu();\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\tonChange={(event) => {\n\t\t\t\t\t\t\t\tif (!props.selection.length) {\n\t\t\t\t\t\t\t\t\tthis.handleInputChange(event);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\tplaceholder={labels.placeholderReadOnly}\n\t\t\t\t\t\t\treadOnly\n\t\t\t\t\t\t\trequired={props.required}\n\t\t\t\t\t\t\tvalue={value}\n\t\t\t\t\t\t\t{...userDefinedProps.input}\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t{this.getDialog({\n\t\t\t\t\t\t\tmenuRenderer: this.renderMenu({ assistiveText, labels }),\n\t\t\t\t\t\t})}\n\t\t\t\t\t
    \n\t\t\t\t
    \n\t\t\t\t\n\t\t\t\t{props.errorText && (\n\t\t\t\t\t
    \n\t\t\t\t\t\t\n\t\t\t\t\t\t\t{props.errorText}\n\t\t\t\t\t\t
    \n\t\t\t\t\t\n\t\t\t\t)}\n\t\t\t\n\t\t);\n\t};\n\n\trenderReadOnlySingle = ({\n\t\tassistiveText,\n\t\tlabels,\n\t\tprops,\n\t\tuserDefinedProps,\n\t}) => {\n\t\tconst value = (props.selection[0] && props.selection[0].label) || '';\n\n\t\treturn (\n\t\t\t
    \n\t\t\t\t
    \n\t\t\t\t\t
    \n\t\t\t\t\t\t\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tid={this.getId()}\n\t\t\t\t\t\t\tonFocus={this.handleInputFocus}\n\t\t\t\t\t\t\tonBlur={this.handleInputBlur}\n\t\t\t\t\t\t\tonKeyDown={this.handleKeyDown}\n\t\t\t\t\t\t\tinputRef={this.setInputRef}\n\t\t\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\t\t\tthis.requestOpenMenu();\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\tonChange={(event) => {\n\t\t\t\t\t\t\t\tif (!props.selection.length) {\n\t\t\t\t\t\t\t\t\tthis.handleInputChange(event);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\tplaceholder={labels.placeholderReadOnly}\n\t\t\t\t\t\t\treadOnly\n\t\t\t\t\t\t\trequired={props.required}\n\t\t\t\t\t\t\tvalue={\n\t\t\t\t\t\t\t\t(this.state.activeOption && this.state.activeOption.label) ||\n\t\t\t\t\t\t\t\tvalue\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t{...userDefinedProps.input}\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t{this.getDialog({\n\t\t\t\t\t\t\tmenuRenderer: this.renderMenu({ assistiveText, labels }),\n\t\t\t\t\t\t})}\n\t\t\t\t\t\t{props.errorText && (\n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t{props.errorText}\n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t)}\n\t\t\t\t\t
    \n\t\t\t\t
    \n\t\t\t
    \n\t\t);\n\t};\n\n\trender() {\n\t\tconst { props } = this;\n\t\t// Merge objects of strings with their default object\n\t\tconst assistiveText = assign(\n\t\t\t{},\n\t\t\tdefaultProps.assistiveText,\n\t\t\tprops.assistiveText\n\t\t);\n\t\tconst labels = assign({}, defaultProps.labels, this.props.labels);\n\t\tconst hasRenderedLabel =\n\t\t\tlabels.label || (assistiveText && assistiveText.label);\n\t\t// declare user defined props\n\t\tconst userDefinedProps = {};\n\t\tif (props.input) {\n\t\t\t// at the moment we only support overriding the input props\n\t\t\tuserDefinedProps.input = props.input.props;\n\t\t}\n\t\tconst subRenderParameters = {\n\t\t\tassistiveText,\n\t\t\tlabels,\n\t\t\tprops: this.props,\n\t\t\tuserDefinedProps,\n\t\t};\n\t\tconst multipleOrSingle = this.props.multiple ? 'multiple' : 'single';\n\t\tconst subRenders = {\n\t\t\tbase: {\n\t\t\t\tmultiple: this.renderBase, // same\n\t\t\t\tsingle: this.renderBase,\n\t\t\t},\n\t\t\t'inline-listbox': {\n\t\t\t\tmultiple: this.renderInlineMultiple,\n\t\t\t\tsingle: this.renderInlineSingle,\n\t\t\t},\n\t\t\tpopover: {\n\t\t\t\tmultiple: this.renderPopover, // same\n\t\t\t\tsingle: this.renderPopover,\n\t\t\t},\n\t\t\treadonly: {\n\t\t\t\tmultiple: this.renderReadOnlyMultiple,\n\t\t\t\tsingle: this.renderReadOnlySingle,\n\t\t\t},\n\t\t};\n\t\tconst variantExists = subRenders[this.props.variant][multipleOrSingle];\n\n\t\tconst mainCombobox = (\n\t\t\t\n\t\t\t\t{props.entityCombobox ? null : (\n\t\t\t\t\t\n\t\t\t\t)}\n\t\t\t\t{this.props.fieldLevelHelpTooltip && hasRenderedLabel ? (\n\t\t\t\t\t\n\t\t\t\t) : null}\n\t\t\t\t{variantExists\n\t\t\t\t\t? subRenders[this.props.variant][multipleOrSingle](\n\t\t\t\t\t\t\tsubRenderParameters\n\t\t\t\t\t )\n\t\t\t\t\t: subRenders.base.multiple(subRenderParameters)}\n\t\t\t\n\t\t);\n\n\t\treturn props.entityCombobox ? (\n\t\t\t
    \n\t\t\t\t\n\t\t\t\t
    \n\t\t\t\t\t
    \n\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t{props.entityCombobox}\n\t\t\t\t\t\t
    \n\n\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t{mainCombobox}\n\t\t\t\t\t\t
    \n\t\t\t\t\t
    \n\t\t\t\t
    \n\t\t\t
    \n\t\t) : (\n\t\t\tmainCombobox\n\t\t);\n\t}\n}\n\nCombobox.contextTypes = {\n\ticonPath: PropTypes.string,\n};\n\nCombobox.displayName = COMBOBOX;\nCombobox.propTypes = propTypes;\nCombobox.defaultProps = defaultProps;\n\nexport default Combobox;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// ### onClickOutside\n// Listen for clicks that occur somewhere in the document, outside of the element itself\nimport onClickOutside from 'react-onclickoutside';\nimport LanguageDirection from '../utilities/UNSAFE_direction/private/language-direction';\nimport Combobox from './combobox';\n\nexport default LanguageDirection(\n\tonClickOutside(Combobox, {\n\t\texcludeScrollbar: true,\n\t})\n);\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\nimport escapeRegExp from 'lodash.escaperegexp';\n\n/**\n * SLDS recommends auto-complete/search inputs menus have a limit of 10 items.\n */\nconst filter = ({ inputValue, limit = 10, options, selection }) => {\n\tconst inputValueRegExp = new RegExp(escapeRegExp(inputValue), 'ig');\n\t// eslint-disable-next-line fp/no-mutating-methods\n\treturn options\n\t\t.filter((option) => {\n\t\t\tconst searchTermFoundInLabel = option.label\n\t\t\t\t? option.label.match(inputValueRegExp)\n\t\t\t\t: false;\n\t\t\tconst searchTermFoundInSubtitle = option.subTitle\n\t\t\t\t? option.subTitle.match(inputValueRegExp)\n\t\t\t\t: false;\n\t\t\tconst isSeparator = option.type === 'separator';\n\t\t\tconst notAlreadySelected = !selection.some((sel) => sel.id === option.id);\n\n\t\t\treturn (\n\t\t\t\t(!inputValue ||\n\t\t\t\t\tisSeparator ||\n\t\t\t\t\tsearchTermFoundInLabel ||\n\t\t\t\t\tsearchTermFoundInSubtitle) &&\n\t\t\t\tnotAlreadySelected\n\t\t\t);\n\t\t})\n\t\t.splice(0, limit);\n};\nexport default filter;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n/* eslint-disable import/no-mutable-exports */\n\nimport deprecatedProperty from '../../utilities/warning/deprecated-property';\nimport getComponentDocFn from '../../utilities/get-component-doc';\nimport sunsetProperty from '../../utilities/warning/sunset-property';\n\nlet checkProps = function checkPropsFunction() {};\n\nif (process.env.NODE_ENV !== 'production') {\n\tcheckProps = function checkPropsFunction(COMPONENT, props, jsonDoc) {\n\t\tconst createDocUrl = getComponentDocFn(jsonDoc);\n\t\t/* eslint-disable max-len */\n\t\t// Deprecated and changed to another property\n\t\tdeprecatedProperty(\n\t\t\tCOMPONENT,\n\t\t\tprops.onChange,\n\t\t\t'onChange',\n\t\t\t'onRowChange',\n\t\t\t'The callback parameters have been changed. `onRowChange` passes in `[event, { selection }` in order to align with other components.'\n\t\t);\n\t\tdeprecatedProperty(\n\t\t\tCOMPONENT,\n\t\t\tprops.compact,\n\t\t\t'compact',\n\t\t\tundefined,\n\t\t\t`compact has been deprecated as non-compact data tables do not exist in SLDS. ${createDocUrl()}`\n\t\t);\n\n\t\tdeprecatedProperty(\n\t\t\tCOMPONENT,\n\t\t\tprops.collection,\n\t\t\t'collection',\n\t\t\t'items',\n\t\t\tcreateDocUrl('items')\n\t\t);\n\t\tdeprecatedProperty(\n\t\t\tCOMPONENT,\n\t\t\tprops.onSelect,\n\t\t\t'onSelect',\n\t\t\t'onChange',\n\t\t\tcreateDocUrl('onChange')\n\t\t);\n\t\tdeprecatedProperty(\n\t\t\tCOMPONENT,\n\t\t\tprops.onDeselect,\n\t\t\t'onDeselect',\n\t\t\t'onChange',\n\t\t\tcreateDocUrl('onChange')\n\t\t);\n\t\tsunsetProperty(\n\t\t\tCOMPONENT,\n\t\t\tprops.sortable,\n\t\t\t'sortable',\n\t\t\t`The table is sortable if one or more of its columns are sortable. ${createDocUrl()}`\n\t\t);\n\n\t\t// Deprecated and moved to a child\n\t\tsunsetProperty(\n\t\t\tCOMPONENT,\n\t\t\tprops.columns,\n\t\t\t'columns',\n\t\t\t`Please provide one or more children of the type instead. ${createDocUrl()}`\n\t\t);\n\n\t\tsunsetProperty(\n\t\t\tCOMPONENT,\n\t\t\tprops.bordered,\n\t\t\t'bordered',\n\t\t\t`All SLDS DataTables have row borders by default now. If you do not want row borders, please use \\`unborderedRow\\`. ${createDocUrl(\n\t\t\t\t'unborderedRow'\n\t\t\t)}`\n\t\t);\n\t\t/* eslint-enable max-len */\n\n\t\tdeprecatedProperty(\n\t\t\tCOMPONENT,\n\t\t\tprops.assistiveTextForActionsHeader,\n\t\t\t'assistiveTextForActionsHeader',\n\t\t\t\"assistiveText['actionsHeader']\",\n\t\t\tcreateDocUrl('assistiveText')\n\t\t);\n\t\tdeprecatedProperty(\n\t\t\tCOMPONENT,\n\t\t\tprops.assistiveTextForColumnSort,\n\t\t\t'assistiveTextForColumnSort',\n\t\t\t\"assistiveText['columnSort']\",\n\t\t\tcreateDocUrl('assistiveText')\n\t\t);\n\t\tdeprecatedProperty(\n\t\t\tCOMPONENT,\n\t\t\tprops.assistiveTextForColumnSortedAscending,\n\t\t\t'assistiveTextForColumnSortedAscending',\n\t\t\t\"assistiveText['columnSortedAscending']\",\n\t\t\tcreateDocUrl('assistiveText')\n\t\t);\n\t\tdeprecatedProperty(\n\t\t\tCOMPONENT,\n\t\t\tprops.assistiveTextForColumnSortedDescending,\n\t\t\t'assistiveTextForColumnSortedDescending',\n\t\t\t\"assistiveText['columnSortedDescending']\",\n\t\t\tcreateDocUrl('assistiveText')\n\t\t);\n\t\tdeprecatedProperty(\n\t\t\tCOMPONENT,\n\t\t\tprops.assistiveTextForSelectAllRows,\n\t\t\t'assistiveTextForSelectAllRows',\n\t\t\t\"assistiveText['selectAllRows']\",\n\t\t\tcreateDocUrl('assistiveText')\n\t\t);\n\t\tdeprecatedProperty(\n\t\t\tCOMPONENT,\n\t\t\tprops.assistiveTextForSelectRow,\n\t\t\t'assistiveTextForSelectRow',\n\t\t\t\"assistiveText['selectRow']\",\n\t\t\tcreateDocUrl('assistiveText')\n\t\t);\n\t};\n}\n\nexport default checkProps;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// ### React\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\n// ### classNames\nimport classNames from 'classnames';\n\n// ## Constants\nimport { DATA_TABLE_CELL } from '../../utilities/constants';\n\n/**\n * The default Cell renderer for the DataTable. Pass in any React component with the same `displayName` which takes the same props to provide custom rendering.\n */\nconst DataTableCell = (props) => {\n\tconst childText = React.isValidElement(props.children)\n\t\t? props.children.props.children\n\t\t: props.children;\n\tconst contents = (\n\t\t\n\t\t\t{props.children}\n\t\t\n\t);\n\n\tlet cell = (\n\t\t\n\t\t\t{contents}\n\t\t\n\t);\n\n\tif (props.primaryColumn) {\n\t\tcell = (\n\t\t\t\n\t\t\t\t{contents}\n\t\t\t\n\t\t);\n\t}\n\n\treturn cell;\n};\n\n// ### Display Name\n// Always use the canonical component name as the React display name.\nDataTableCell.displayName = DATA_TABLE_CELL;\n\n// ### Prop Types\nDataTableCell.propTypes = {\n\t/**\n\t * The contents of the cell. This can be simple text or DOM nodes. Equivalent to `props.item[props.property]`\n\t */\n\tchildren: PropTypes.oneOfType([PropTypes.node, PropTypes.string]),\n\t/**\n\t * Class names to be added to the cell.\n\t */\n\tclassName: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\t/**\n\t * Use this if you are creating an advanced table (selectable, sortable, or resizable rows)\n\t */\n\tfixedLayout: PropTypes.bool,\n\t/**\n\t * The item from the items which represents this row.\n\t */\n\titem: PropTypes.object,\n\t/**\n\t * The primary column for a row. This is almost always the first column.\n\t */\n\tprimaryColumn: PropTypes.bool,\n\t/**\n\t * The property of this item to display.\n\t */\n\tproperty: PropTypes.string,\n\t/**\n\t * Shows on hover. Useful for truncated cells.\n\t */\n\ttitle: PropTypes.string,\n\t/**\n\t * Width of column. This is required for advanced/fixed layout tables. Please provide units. (`rems` are recommended)\n\t */\n\twidth: PropTypes.string,\n};\n\nexport default DataTableCell;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n/* eslint-disable react/no-unused-prop-types */\n/* deepscan-disable REACT_USELESS_PROP_TYPES */\n\n// ### React\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\n// ## Constants\nimport { DATA_TABLE_COLUMN } from '../../utilities/constants';\n\n// extends is used below so that react-docgen can detect the component\n\n/**\n * Columns define the structure of the data displayed in the DataTable.\n */\nclass DataTableColumn extends React.Component {}\n\n// ### Display Name\n// Always use the canonical component name as the React display name.\nDataTableColumn.displayName = DATA_TABLE_COLUMN;\n\n// ### Prop Types\nDataTableColumn.propTypes = {\n\t/**\n\t * Use a _higher-order component_ to customize a data table cell that will override the default cell rendering. `CustomDataTableCell` must have the same `displayName` as `DataTableCell` or it will be ignored. If you want complete control of the HTML, including the wrapping `td`, you don't have to use `DataTableCell`.\n\t * ```\n\t * import DataTableCell from 'design-system-react/data-table/cell';\n\t * const CustomDataTableCell = ({ children, ...props }) => (\n\t * \n\t * {children}\n\t * \n\t * );\n\t * CustomDataTableCell.displayName = DataTableCell.displayName;\n\t *\n\t * \n\t * \n\t * \n\t * \n\t * \n\t * \n\t * \n\t * ```\n\t */\n\tchildren: PropTypes.element,\n\t/**\n\t * Some columns, such as \"date last viewed\" or \"date recently updated,\" should sort descending first, since that is what the user probably wants. How often does one want to see their oldest files first in a table? If sortable and the `DataTable`'s parent has not defined the sort order, then ascending (A at the top to Z at the bottom) is the default sort order on first click.\n\t */\n\tisDefaultSortDescending: PropTypes.bool,\n\t/**\n\t * Selects this column as the currently sorted column.\n\t */\n\tisSorted: PropTypes.bool,\n\t/**\n\t * The column label. If a `string` is not passed in, no `title` attribute will be rendered.\n\t */\n\tlabel: PropTypes.oneOfType([PropTypes.string, PropTypes.node]),\n\t/**\n\t * The primary column for a row. This is almost always the first column.\n\t */\n\tprimaryColumn: PropTypes.bool,\n\t/**\n\t * The property which corresponds to this column.\n\t */\n\tproperty: PropTypes.string,\n\t/**\n\t * Whether or not the column is sortable.\n\t */\n\tsortable: PropTypes.bool,\n\t/**\n\t * The current sort direction. If left out the component will track this internally. Required if `isSorted` is true.\n\t */\n\tsortDirection: PropTypes.oneOf(['desc', 'asc']),\n\t/**\n\t * Title used for truncation div within the cell.\n\t */\n\ttitle: PropTypes.string,\n\t/**\n\t * Adds truncate to cell node.\n\t */\n\ttruncate: PropTypes.bool,\n\t/**\n\t * Width of column. This is required for advanced/fixed layout tables. Please provide units. (`rems` are recommended)\n\t */\n\twidth: PropTypes.string,\n};\n\nexport default DataTableColumn;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// ### React\nimport React from 'react';\n\n/**\n * Used internally, provides fixed cell rendering\n */\nconst CellFixed = (props) => (\n\t\n\t\t{props.children}\n\t\n);\n\nexport default CellFixed;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n/* eslint-disable import/no-mutable-exports */\n\nimport ifOneThenBothRequiredProperty from '../../utilities/warning/if-one-then-both-required-property';\n\nlet checkProps = function checkPropsFunction() {};\n\nif (process.env.NODE_ENV !== 'production') {\n\tcheckProps = function checkPropsFunction(COMPONENT, props) {\n\t\t/* eslint-disable max-len */\n\t\t// Deprecated and changed to another property\n\t\tifOneThenBothRequiredProperty(COMPONENT, props, {\n\t\t\tisSorted: props.isSorted,\n\t\t\tsortDirection: props.sortDirection,\n\t\t});\n\t\t/* eslint-enable max-len */\n\t};\n}\n\nexport default checkProps;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// ### React\nimport React from 'react';\n\nimport PropTypes from 'prop-types';\n\n// ### classNames\nimport classNames from 'classnames';\n\n// ### isFunction\nimport isFunction from 'lodash.isfunction';\n\n// ## Children\nimport CellFixed from './cell-fixed';\nimport Icon from '../../icon';\n\n// This component's `checkProps` which issues warnings to developers about properties when in development mode (similar to React's built in development tools)\nimport checkProps from '../column-check-props';\n\n// ## Constants\nimport {\n\tDATA_TABLE_HEADER_CELL,\n\tDATA_TABLE_COLUMN,\n} from '../../../utilities/constants';\n\n/**\n * Used internally, renders each individual column heading.\n */\nclass DataTableHeaderCell extends React.Component {\n\t// ### Display Name\n\t// Always use the canonical component name as the React display name.\n\tstatic displayName = DATA_TABLE_HEADER_CELL;\n\n\t// ### Prop Types\n\tstatic propTypes = {\n\t\tassistiveText: PropTypes.shape({\n\t\t\tactionsHeader: PropTypes.string,\n\t\t\tcolumnSort: PropTypes.string,\n\t\t\tcolumnSortedAscending: PropTypes.string,\n\t\t\tcolumnSortedDescending: PropTypes.string,\n\t\t\tselectAllRows: PropTypes.string,\n\t\t\tselectRow: PropTypes.string,\n\t\t}),\n\t\tcellRef: PropTypes.func,\n\t\tfixedHeader: PropTypes.bool,\n\t\tid: PropTypes.string.isRequired,\n\t\t/**\n\t\t * Some columns, such as \"date last viewed\" or \"date recently updated,\" should sort descending first, since that is what the user probably wants. How often does one want to see their oldest files first in a table? If sortable and the `DataTable`'s parent has not defined the sort order, then ascending (A at the top to Z at the bottom) is the default sort order on first click.\n\t\t */\n\t\tisDefaultSortDescending: PropTypes.bool,\n\t\t/**\n\t\t * Indicates if column is sorted.\n\t\t */\n\t\tisSorted: PropTypes.bool,\n\t\t/**\n\t\t * The column label.\n\t\t */\n\t\tlabel: PropTypes.oneOfType([PropTypes.string, PropTypes.node]),\n\t\t/**\n\t\t * The function to execute on sort.\n\t\t */\n\t\tonSort: PropTypes.func,\n\t\t/**\n\t\t * The property which corresponds to this column.\n\t\t */\n\t\tproperty: PropTypes.string,\n\t\t/**\n\t\t * Whether or not the column is sortable.\n\t\t */\n\t\tsortable: PropTypes.bool,\n\t\t/**\n\t\t * The current sort direction.\n\t\t */\n\t\tsortDirection: PropTypes.oneOf(['desc', 'asc']),\n\t\t/**\n\t\t * Width of column. This is required for advanced/fixed layout tables. Please provide units. (`rems` are recommended)\n\t\t */\n\t\twidth: PropTypes.string,\n\t};\n\n\tstate = {\n\t\tsortDirection: null,\n\t};\n\n\tcomponentDidMount() {\n\t\tcheckProps(DATA_TABLE_COLUMN, this.props);\n\t}\n\n\tcomponentDidUpdate(prevProps) {\n\t\t// reset sort state when another column is sorted\n\t\tif (prevProps.isSorted === true && this.props.isSorted === false) {\n\t\t\tthis.setState({ sortDirection: null }); // eslint-disable-line react/no-did-update-set-state\n\t\t}\n\t}\n\n\thandleSort = (e) => {\n\t\tconst oldSortDirection =\n\t\t\tthis.props.sortDirection || this.state.sortDirection;\n\t\t// UX pattern: If sortable, and the DataTable's parent has not defined the sort order, then ascending (that is A->Z) is the default sort order on first click. Some columns, such as \"last viewed\" or \"recently updated,\" should sort descending first, since that is what the user probably wants. Who wants to see the oldest files first?\n\t\tconst sortDirection = (function sortDirectionFunction(\n\t\t\tdirection,\n\t\t\tisDefaultSortDescending\n\t\t) {\n\t\t\tswitch (direction) {\n\t\t\t\tcase 'asc':\n\t\t\t\t\treturn 'desc';\n\t\t\t\tcase 'desc':\n\t\t\t\t\treturn 'asc';\n\t\t\t\tcase null:\n\t\t\t\t\treturn isDefaultSortDescending ? 'desc' : 'asc';\n\t\t\t\tdefault:\n\t\t\t\t\treturn 'asc';\n\t\t\t}\n\t\t})(oldSortDirection, this.props.isDefaultSortDescending);\n\t\tconst data = {\n\t\t\tproperty: this.props.property,\n\t\t\tsortDirection,\n\t\t};\n\n\t\tthis.setState({\n\t\t\tsortDirection,\n\t\t});\n\n\t\tif (isFunction(this.props.onSort)) {\n\t\t\tthis.props.onSort(data, e);\n\t\t}\n\t};\n\n\t// ### Render\n\trender() {\n\t\tconst { fixedHeader, isSorted, label, sortable, width } = this.props;\n\n\t\tconst labelType = typeof label;\n\t\t// This decides which arrow to render--which is current sort order if the column is sorted OR the future sort order if the arrow is clicked in the future.\n\t\tconst sortDirection =\n\t\t\tthis.props.sortDirection ||\n\t\t\tthis.state.sortDirection ||\n\t\t\t(this.props.isDefaultSortDescending && 'desc');\n\t\tconst expandedSortDirection =\n\t\t\tsortDirection === 'desc' ? 'descending' : 'ascending';\n\t\tconst ariaSort = isSorted ? expandedSortDirection : 'none';\n\n\t\tconst fixedLayoutSubRenders = {\n\t\t\tsortable: (\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t{this.props.assistiveTextForColumnSort ||\n\t\t\t\t\t\t\tthis.props.assistiveText.columnSort}{' '}\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t{label}\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t{sortDirection ? (\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t{sortDirection === 'asc'\n\t\t\t\t\t\t\t\t? this.props.assistiveTextForColumnSortedAscending ||\n\t\t\t\t\t\t\t\t this.props.assistiveText.columnSortedAscending\n\t\t\t\t\t\t\t\t: this.props.assistiveTextForColumnSortedDescending ||\n\t\t\t\t\t\t\t\t this.props.assistiveText.columnSortedDescending}\n\t\t\t\t\t\t\n\t\t\t\t\t) : null}\n\t\t\t\t\n\t\t\t),\n\t\t\tnotSortable: (\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t{label}\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t),\n\t\t};\n\n\t\tconst headerCellContent = this.props.fixedLayout ? (\n\t\t\tfixedLayoutSubRenders[sortable ? 'sortable' : 'notSortable']\n\t\t) : (\n\t\t\t\n\t\t\t\t{label}\n\t\t\t\n\t\t);\n\n\t\treturn (\n\t\t\t {\n\t\t\t\t\tif (this.props.cellRef) {\n\t\t\t\t\t\tthis.props.cellRef(ref);\n\t\t\t\t\t}\n\t\t\t\t}}\n\t\t\t\tscope=\"col\"\n\t\t\t\tstyle={\n\t\t\t\t\tfixedHeader || width\n\t\t\t\t\t\t? {\n\t\t\t\t\t\t\t\theight: fixedHeader ? 0 : null,\n\t\t\t\t\t\t\t\tlineHeight: fixedHeader ? 0 : null,\n\t\t\t\t\t\t\t\twidth: width || null,\n\t\t\t\t\t\t }\n\t\t\t\t\t\t: null\n\t\t\t\t}\n\t\t\t>\n\t\t\t\t{fixedHeader\n\t\t\t\t\t? React.cloneElement(headerCellContent, {\n\t\t\t\t\t\t\tstyle: {\n\t\t\t\t\t\t\t\tdisplay: 'flex',\n\t\t\t\t\t\t\t\theight: 0,\n\t\t\t\t\t\t\t\toverflow: 'hidden',\n\t\t\t\t\t\t\t\tpaddingBottom: 0,\n\t\t\t\t\t\t\t\tpaddingTop: 0,\n\t\t\t\t\t\t\t\tvisibility: 'hidden',\n\t\t\t\t\t\t\t},\n\t\t\t\t\t })\n\t\t\t\t\t: headerCellContent}\n\t\t\t\t{fixedHeader ? (\n\t\t\t\t\t\n\t\t\t\t\t\t{React.cloneElement(headerCellContent, {\n\t\t\t\t\t\t\tstyle: {\n\t\t\t\t\t\t\t\talignItems: 'center',\n\t\t\t\t\t\t\t\tdisplay: 'flex',\n\t\t\t\t\t\t\t\tflex: '1 1 auto',\n\t\t\t\t\t\t\t\tlineHeight: 1.25,\n\t\t\t\t\t\t\t\twidth: '100%',\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\ttabIndex: sortable ? 0 : null,\n\t\t\t\t\t\t})}\n\t\t\t\t\t\n\t\t\t\t) : null}\n\t\t\t\n\t\t);\n\t}\n}\n\nexport default DataTableHeaderCell;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// ### React\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\n// ## Children\nimport CellFixed from './cell-fixed';\nimport Checkbox from '../../checkbox';\nimport HeaderCell from './header-cell';\n\n// ## Constants\nimport { DATA_TABLE_HEAD } from '../../../utilities/constants';\n\n/**\n * Used internally, provides header row rendering to the DataTable.\n */\nclass DataTableHead extends React.Component {\n\t// ### Display Name\n\t// Always use the canonical component name as the React display name.\n\tstatic displayName = DATA_TABLE_HEAD;\n\n\t// ### Prop Types\n\tstatic propTypes = {\n\t\tassistiveText: PropTypes.shape({\n\t\t\tactionsHeader: PropTypes.string,\n\t\t\tcolumnSort: PropTypes.string,\n\t\t\tcolumnSortedAscending: PropTypes.string,\n\t\t\tcolumnSortedDescending: PropTypes.string,\n\t\t\tselectAllRows: PropTypes.string,\n\t\t\tselectRow: PropTypes.string,\n\t\t}),\n\t\tallSelected: PropTypes.bool,\n\t\theaderRefs: PropTypes.func,\n\t\tindeterminateSelected: PropTypes.bool,\n\t\tcanSelectRows: PropTypes.oneOfType([\n\t\t\tPropTypes.bool,\n\t\t\tPropTypes.oneOf(['checkbox', 'radio']),\n\t\t]),\n\t\tcolumns: PropTypes.arrayOf(\n\t\t\tPropTypes.shape({\n\t\t\t\tCell: PropTypes.func,\n\t\t\t\tprops: PropTypes.object,\n\t\t\t})\n\t\t),\n\t\tfixedHeader: PropTypes.bool,\n\t\tid: PropTypes.string,\n\t\tonToggleAll: PropTypes.func,\n\t\tonSort: PropTypes.func,\n\t\tshowRowActions: PropTypes.bool,\n\t};\n\n\tgetActionsHeader = () => {\n\t\tconst { fixedHeader } = this.props;\n\t\tconst getContent = (style) => (\n\t\t\t
    \n\t\t\t\t\n\t\t\t\t\t{this.props.assistiveText.actionsHeader}\n\t\t\t\t\n\t\t\t
    \n\t\t);\n\t\tlet actionsHeader = null;\n\n\t\tif (this.props.showRowActions) {\n\t\t\tactionsHeader = (\n\t\t\t\t {\n\t\t\t\t\t\tif (this.props.headerRefs) {\n\t\t\t\t\t\t\tthis.props.headerRefs(ref, 'action');\n\t\t\t\t\t\t}\n\t\t\t\t\t}}\n\t\t\t\t\tscope=\"col\"\n\t\t\t\t\tstyle={{\n\t\t\t\t\t\theight: fixedHeader ? 0 : null,\n\t\t\t\t\t\tlineHeight: fixedHeader ? 0 : null,\n\t\t\t\t\t\twidth: '3.25rem',\n\t\t\t\t\t}}\n\t\t\t\t>\n\t\t\t\t\t{getContent(\n\t\t\t\t\t\tfixedHeader\n\t\t\t\t\t\t\t? {\n\t\t\t\t\t\t\t\t\theight: 0,\n\t\t\t\t\t\t\t\t\toverflow: 'hidden',\n\t\t\t\t\t\t\t\t\tpaddingBottom: 0,\n\t\t\t\t\t\t\t\t\tpaddingTop: 0,\n\t\t\t\t\t\t\t\t\tvisibility: 'hidden',\n\t\t\t\t\t\t\t }\n\t\t\t\t\t\t\t: null\n\t\t\t\t\t)}\n\t\t\t\t\t{fixedHeader ? (\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t{getContent({\n\t\t\t\t\t\t\t\tlineHeight: 1,\n\t\t\t\t\t\t\t\twidth: '100%',\n\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t\n\t\t\t\t\t) : null}\n\t\t\t\t\n\t\t\t);\n\t\t}\n\n\t\treturn actionsHeader;\n\t};\n\n\tgetSelectHeader = () => {\n\t\tconst { canSelectRows, fixedHeader } = this.props;\n\t\tconst getContent = (idSuffix, style, ariaHidden) => {\n\t\t\tlet render = null;\n\n\t\t\tif (canSelectRows === 'radio') {\n\t\t\t\trender = (\n\t\t\t\t\t\n\t\t\t\t\t\t{this.props.assistiveText.selectRowGroup}\n\t\t\t\t\t\n\t\t\t\t);\n\t\t\t} else if (canSelectRows === true || canSelectRows === 'checkbox') {\n\t\t\t\trender = (\n\t\t\t\t\t\n\t\t\t\t\t\t{!ariaHidden ? (\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t{this.props.assistiveText.selectAllRows}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t) : null}\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t);\n\t\t\t}\n\n\t\t\treturn render;\n\t\t};\n\n\t\tlet selectHeader = null;\n\n\t\tif (canSelectRows) {\n\t\t\tselectHeader = (\n\t\t\t\t {\n\t\t\t\t\t\tif (this.props.headerRefs) {\n\t\t\t\t\t\t\tthis.props.headerRefs(ref, 'select');\n\t\t\t\t\t\t}\n\t\t\t\t\t}}\n\t\t\t\t\tscope=\"col\"\n\t\t\t\t\tstyle={{\n\t\t\t\t\t\theight: fixedHeader ? 0 : null,\n\t\t\t\t\t\tlineHeight: fixedHeader ? 0 : null,\n\t\t\t\t\t\twidth: '3.25rem',\n\t\t\t\t\t}}\n\t\t\t\t>\n\t\t\t\t\t{getContent(\n\t\t\t\t\t\t'SelectAll-fixed-header',\n\t\t\t\t\t\tfixedHeader\n\t\t\t\t\t\t\t? {\n\t\t\t\t\t\t\t\t\tdisplay: 'flex',\n\t\t\t\t\t\t\t\t\theight: 0,\n\t\t\t\t\t\t\t\t\toverflow: 'hidden',\n\t\t\t\t\t\t\t\t\tpaddingBottom: 0,\n\t\t\t\t\t\t\t\t\tpaddingTop: 0,\n\t\t\t\t\t\t\t\t\tvisibility: 'hidden',\n\t\t\t\t\t\t\t }\n\t\t\t\t\t\t\t: null,\n\t\t\t\t\t\tfixedHeader && 'ariaHidden'\n\t\t\t\t\t)}\n\t\t\t\t\t{fixedHeader ? (\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t{getContent('SelectAll', {\n\t\t\t\t\t\t\t\tdisplay: 'flex',\n\t\t\t\t\t\t\t\tjustifyContent: 'flex-end',\n\t\t\t\t\t\t\t\tlineHeight: 1,\n\t\t\t\t\t\t\t\twidth: '100%',\n\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t\n\t\t\t\t\t) : null}\n\t\t\t\t\n\t\t\t);\n\t\t}\n\n\t\treturn selectHeader;\n\t};\n\n\t// ### Render\n\trender() {\n\t\tconst actionsHeader = this.getActionsHeader();\n\t\tconst selectHeader = this.getSelectHeader();\n\n\t\treturn (\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t{selectHeader}\n\t\t\t\t\t{this.props.columns.map((column, index) => (\n\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\tif (this.props.headerRefs) {\n\t\t\t\t\t\t\t\t\tthis.props.headerRefs(ref, index);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\tfixedHeader={this.props.fixedHeader}\n\t\t\t\t\t\t\tid={`${this.props.id}-${column.props.property}`}\n\t\t\t\t\t\t\tkey={`${this.props.id}-${column.props.property}`}\n\t\t\t\t\t\t\tonSort={this.props.onSort}\n\t\t\t\t\t\t\t{...column.props}\n\t\t\t\t\t\t/>\n\t\t\t\t\t))}\n\t\t\t\t\t{actionsHeader}\n\t\t\t\t\n\t\t\t\n\t\t);\n\t}\n}\n\nexport default DataTableHead;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// ### React\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\n// ### classNames\nimport classNames from 'classnames';\n\n// ### find\nimport find from 'lodash.find';\n\n// ## Children\nimport Checkbox from '../../checkbox';\nimport Radio from '../../radio';\n\n// ## Constants\nimport {\n\tDATA_TABLE_ROW,\n\tDATA_TABLE_ROW_ACTIONS,\n\tDATA_TABLE_CELL,\n} from '../../../utilities/constants';\n\n/**\n * Used internally, provides row rendering to the DataTable.\n */\nclass DataTableRow extends React.Component {\n\t// ### Display Name\n\t// Always use the canonical component name as the React display name.\n\tstatic displayName = DATA_TABLE_ROW;\n\n\t// ### Prop Types\n\tstatic propTypes = {\n\t\tassistiveText: PropTypes.shape({\n\t\t\tactionsHeader: PropTypes.string,\n\t\t\tcolumnSort: PropTypes.string,\n\t\t\tcolumnSortedAscending: PropTypes.string,\n\t\t\tcolumnSortedDescending: PropTypes.string,\n\t\t\tselectAllRows: PropTypes.string,\n\t\t\tselectRow: PropTypes.string,\n\t\t}),\n\t\tcanSelectRows: PropTypes.oneOfType([\n\t\t\tPropTypes.bool,\n\t\t\tPropTypes.oneOf(['checkbox', 'radio']),\n\t\t]),\n\t\tclassName: PropTypes.string,\n\t\tcolumns: PropTypes.arrayOf(\n\t\t\tPropTypes.shape({\n\t\t\t\tCell: PropTypes.func,\n\t\t\t\tprops: PropTypes.object,\n\t\t\t})\n\t\t),\n\t\t/**\n\t\t * Use this if you are creating an advanced table (selectable, sortable, or resizable rows)\n\t\t */\n\t\tfixedLayout: PropTypes.bool,\n\t\tid: PropTypes.string.isRequired,\n\t\titem: PropTypes.object.isRequired,\n\t\tonToggle: PropTypes.func,\n\t\trowActions: PropTypes.element,\n\t\tselection: PropTypes.array,\n\t\ttableId: PropTypes.string,\n\t};\n\n\tisSelected = () => !!find(this.props.selection, this.props.item);\n\n\thandleToggle = (e, { checked }) =>\n\t\tthis.props.onToggle(this.props.item, checked, e);\n\n\t// ### Render\n\trender() {\n\t\tconst ariaProps = {};\n\t\tconst isSelected = this.isSelected();\n\n\t\tif (this.props.canSelectRows) {\n\t\t\tariaProps['aria-selected'] = isSelected ? 'true' : 'false';\n\t\t}\n\n\t\t// i18n\n\t\treturn (\n\t\t\t\n\t\t\t\t{this.props.canSelectRows ? (\n\t\t\t\t\t\n\t\t\t\t\t\t{this.props.canSelectRows === 'radio' ? (\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t)}\n\t\t\t\t\t\n\t\t\t\t) : null}\n\t\t\t\t{this.props.columns.map((column) => {\n\t\t\t\t\tconst { Cell } = column;\n\t\t\t\t\tconst cellId = `${this.props.id}-${DATA_TABLE_CELL}-${column.props.property}`;\n\n\t\t\t\t\treturn (\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t{this.props.item[column.props.property]}\n\t\t\t\t\t\t\n\t\t\t\t\t);\n\t\t\t\t})}\n\t\t\t\t{this.props.rowActions\n\t\t\t\t\t? React.cloneElement(this.props.rowActions, {\n\t\t\t\t\t\t\tid: `${this.props.id}-${DATA_TABLE_ROW_ACTIONS}`,\n\t\t\t\t\t\t\titem: this.props.item,\n\t\t\t\t\t })\n\t\t\t\t\t: null}\n\t\t\t\n\t\t);\n\t}\n}\n\nexport default DataTableRow;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n/* eslint-disable jsx-a11y/no-noninteractive-element-interactions */\n\n// ### React\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\n// ### isFunction\nimport isFunction from 'lodash.isfunction';\n\n// ## Children\nimport Dropdown from '../menu-dropdown';\n\n// ### Event Helpers\nimport EventUtil from '../../utilities/event';\n\n// ## Constants\nimport { DATA_TABLE_ROW_ACTIONS } from '../../utilities/constants';\n\n/**\n * RowActions provide a mechanism for defining a menu to display alongside each row in the DataTable.\n */\nclass DataTableRowActions extends React.Component {\n\t// ### Display Name\n\t// Always use the canonical component name as the React display name.\n\tstatic displayName = DATA_TABLE_ROW_ACTIONS;\n\n\t// ### Prop Types\n\tstatic propTypes = {\n\t\t/**\n\t\t * Description of the menu for screenreaders.\n\t\t */\n\t\tassistiveText: PropTypes.object,\n\t\t/**\n\t\t * Class names to be added to the actions menu.\n\t\t */\n\t\tclassName: PropTypes.string,\n\t\t/**\n\t\t * HTML ID to be added to the actions menu.\n\t\t */\n\t\tid: PropTypes.string,\n\t\t/**\n\t\t * `DataTable` row item\n\t\t */\n\t\titem: PropTypes.object,\n\t\t/**\n\t\t * Disable hint styling which changes the color of the dropdown svg on hover over.\n\t\t */\n\t\tnoHint: PropTypes.bool,\n\t\t/**\n\t\t * Triggered when an item is selected.\n\t\t */\n\t\tonAction: PropTypes.func,\n\t\t/**\n\t\t * `Dropdown` options. See `Dropdown`.\n\t\t */\n\t\toptions: PropTypes.array,\n\t\t/**\n\t\t * A [Dropdown](http://react.lightningdesignsystem.com/components/dropdown-menus/) component. The props from this drop will be merged and override any default props.\n\t\t * **Note:** onAction will not be overridden, both `DropDown`'s onSelect(dropDownActionOption) and onAction(rowItem, dropdownActionOption) will be called with appropriate parameters\n\t\t */\n\t\tdropdown: PropTypes.node,\n\t};\n\n\tstatic defaultProps = {\n\t\tassistiveText: { icon: 'Actions' },\n\t\tnoHint: false,\n\t\toptions: [],\n\t};\n\n\thandleClick = (e) => {\n\t\tEventUtil.trap(e);\n\t};\n\n\thandleSelect = (selection) => {\n\t\tif (isFunction(this.props.onAction)) {\n\t\t\tthis.props.onAction(this.props.item, selection);\n\t\t}\n\t\tif (this.props.dropdown && isFunction(this.props.dropdown.props.onSelect)) {\n\t\t\tthis.props.dropdown.props.onSelect(selection);\n\t\t}\n\t};\n\n\t// ### Render\n\trender() {\n\t\t// i18n\n\t\tconst defaultDropdownProps = {\n\t\t\talign: 'right',\n\t\t\tbuttonClassName: 'slds-button_icon-x-small',\n\t\t\tbuttonVariant: 'icon',\n\t\t\ticonCategory: 'utility',\n\t\t\ticonName: 'down',\n\t\t\ticonSize: 'small',\n\t\t\ticonVariant: 'border-filled',\n\t\t\tassistiveText: this.props.assistiveText,\n\t\t\tclassName: this.props.className,\n\t\t\toptions: this.props.options,\n\t\t\thint: !this.props.noHint,\n\t\t\tid: this.props.id,\n\t\t};\n\n\t\tconst props = this.props.dropdown ? this.props.dropdown.props : {};\n\t\tconst dropdownProps = {\n\t\t\t...defaultDropdownProps,\n\t\t\t...props,\n\t\t\tonSelect: this.handleSelect,\n\t\t};\n\n\t\treturn (\n\t\t\t/* eslint-disable jsx-a11y/no-static-element-interactions */\n\t\t\t\n\t\t\t\t{/* eslint-enable jsx-a11y/no-static-element-interactions */}\n\t\t\t\t\n\t\t\t\n\t\t);\n\t}\n}\n\nexport default DataTableRowActions;\n","/* eslint-disable max-lines */\n/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// # Data Table Component\n\n// Implements the [Data Table design pattern](https://www.lightningdesignsystem.com/components/data-tables) in React.\n\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\n// ### shortid\n// [npmjs.com/package/shortid](https://www.npmjs.com/package/shortid)\n// shortid is a short, non-sequential, url-friendly, unique id generator\nimport shortid from 'shortid';\n\nimport classNames from 'classnames';\nimport assign from 'lodash.assign';\nimport reject from 'lodash.reject';\n\n// This component's `checkProps` which issues warnings to developers about properties when in development mode (similar to React's built in development tools)\nimport checkProps from './check-props';\nimport componentDoc from './component.json';\n\nimport {\n\tcanUseDOM,\n\tcanUseEventListeners,\n} from '../../utilities/execution-environment';\nimport { colorGray5 } from '../../utilities/design-tokens/dist/palette-colors.common';\nimport { tableBorderRadius } from '../../utilities/design-tokens/dist/salesforce-skin.common';\n\n// ## Children\nimport DataTableCell from './cell';\nimport DataTableColumn from './column';\nimport DataTableHead from './private/head';\nimport DataTableRow from './private/row';\nimport DataTableRowActions from './row-actions';\nimport Spinner from '../spinner';\n\nimport {\n\tDATA_TABLE,\n\tDATA_TABLE_CELL,\n\tDATA_TABLE_HEAD,\n\tDATA_TABLE_ROW,\n} from '../../utilities/constants';\n\n// Safely get the length of an array, returning 0 for invalid input.\nconst count = (array) => (Array.isArray(array) ? array.length : 0);\n\nconst defaultProps = {\n\tassistiveText: {\n\t\tactionsHeader: 'Actions',\n\t\tcolumnSort: 'Sort by: ',\n\t\tcolumnSortedAscending: 'Sorted Ascending',\n\t\tcolumnSortedDescending: 'Sorted Descending',\n\t\tselectAllRows: 'Select all rows',\n\t\tselectRow: 'Select row',\n\t\tselectRowGroup: 'Choose a row to select',\n\t\tloadingMore: 'Loading more',\n\t},\n\tselection: [],\n\thasMore: false,\n\tloadMoreOffset: 20,\n};\n\n/**\n * DataTables support the display of structured data in rows and columns with an HTML table. To sort, filter or paginate the table, simply update the data passed in the items to the table and it will re-render itself appropriately. The table will throw a sort event as needed, and helper components for paging and filtering are coming soon.\n *\n * NOTE: for horizontal scrolling with `fixedHeader`-enabled DataTables, see the `style` property description\n */\nclass DataTable extends React.Component {\n\t// ### Display Name\n\t// Always use the canonical component name as the React display name.\n\tstatic displayName = DATA_TABLE;\n\n\t// ### Prop Types\n\tstatic propTypes = {\n\t\t/**\n\t\t * **Assistive text for accessibility.**\n\t\t * This object is merged with the default props object on every render.\n\t\t * * `actionsHeader`: Text for heading of actions column\n\t\t * * `columnSort`: Text for sort action on table column header\n\t\t * * `columnSortedAscending`: Text announced once a column is sorted in ascending order\n\t\t * * `columnSortedDescending`: Text announced once a column is sorted in descending order\n\t\t * * `selectAllRows`: Text for select all checkbox within the table header\n\t\t * * `selectRow`: Text for select row. Default: \"Select row 1\"\n\t\t * * `selectRowGroup`: This is an input group label and is attached to each checkbox or radio. Default is \"Choose a row to select\"\n\t\t */\n\t\tassistiveText: PropTypes.shape({\n\t\t\tactionsHeader: PropTypes.string,\n\t\t\tcolumnSort: PropTypes.string,\n\t\t\tcolumnSortedAscending: PropTypes.string,\n\t\t\tcolumnSortedDescending: PropTypes.string,\n\t\t\tselectAllRows: PropTypes.string,\n\t\t\tselectRow: PropTypes.string,\n\t\t\tselectRowGroup: PropTypes.string,\n\t\t\tloadingMore: PropTypes.string,\n\t\t}),\n\t\t/**\n\t\t * Provide children of the type `` to define the structure of the data being represented and children of the type `` to define a menu which will be rendered for each item in the grid. Use a _higher-order component_ to customize a data table cell that will override the default cell rendering. `CustomDataTableCell` must have the same `displayName` as `DataTableCell` or it will be ignored. If you want complete control of the HTML, including the wrapping `td`, you don't have to use `DataTableCell`.\n\t\t * ```\n\t\t * import DataTableCell from 'design-system-react/data-table/cell';\n\t\t * const CustomDataTableCell = ({ children, ...props }) => (\n\t\t * \n\t\t * {children}\n\t\t * \n\t\t * );\n\t\t * CustomDataTableCell.displayName = DataTableCell.displayName;\n\t\t *\n\t\t * \n\t\t * \n\t\t * \n\t\t * \n\t\t * \n\t\t * \n\t\t * \n\t\t * ```\n\t\t */\n\t\tchildren: PropTypes.node,\n\t\t/**\n\t\t * Class names to be added to the table.\n\t\t */\n\t\tclassName: PropTypes.oneOfType([\n\t\t\tPropTypes.array,\n\t\t\tPropTypes.object,\n\t\t\tPropTypes.string,\n\t\t]),\n\t\t/**\n\t\t * A variant which adds border to the vertical columns.\n\t\t */\n\t\tcolumnBordered: PropTypes.bool,\n\t\t/**\n\t\t * Use this to enable fixed headers and scrolling columns / rows. Appearance / behavior is consistent only if used in combination with `fixedLayout`. Since scrolling is enabled, columns are not truncated unless a width is set. Due to `overflow:hidden` elements, any dialog components will need a separate render tree (portal) such as with `menuPosition: overflowBoundaryElement` in order to break out of the container.\n\t\t */\n\t\tfixedHeader: PropTypes.bool,\n\t\t/**\n\t\t * Use this if you are creating an advanced table (selectable, sortable, or resizable rows). Columns widths will be truncate based on width and DOM ancestors. See `fixedHeader` to enable horizontal and vertical scrolling.\n\t\t */\n\t\tfixedLayout: PropTypes.bool,\n\t\t/**\n\t\t * When fixedHeader is true, specifies whether there's more data to be loaded and displays a spinner at the bottom of the table if so.\n\t\t */\n\t\thasMore: PropTypes.bool,\n\t\t/**\n\t\t * A render prop for subheadings to describe what the next section of the table is about. This is often a heirarchical data structure and semantic heading levels should be used, but not visually differ. This is not a `role=rowheader` which provides a heading for a row. Basic sorting of columns is not recommended, since this pattern assumes top level groupings. Headings should be visually aligned with selection column when selection pattern is present, so not to be grouped with the previous row.\n * ```\n * const CustomHeaderRow = ({ columns, item } ) => (\n *\t\n * \n *

    \n * {item.heading}\n *

    \n * \n * );\n *CustomHeaderRow.displayName = DataTableCell.displayName;\n * \n * Autonomous City of Buenos Aires > Belgrano',\n ariaLevel: 3,\n * }],\n * />\n * ```\n\t\t */\n\t\tonRenderSubHeadingRow: PropTypes.func,\n\t\t/**\n\t\t * A unique ID is needed in order to support keyboard navigation and ARIA support.\n\t\t */\n\t\tid: PropTypes.string,\n\t\t/**\n\t\t * The collection of items to render in the table. This is an array of objects with each object having keys that correspond with the `property` prop of each `DataTableColumn`.\n\t\t *\n\t\t * Use the key `classNameRow` to add a custom class to the item's `` element.\n\t\t */\n\t\titems: PropTypes.arrayOf(\n\t\t\tPropTypes.shape({\n\t\t\t\tid: PropTypes.string.isRequired,\n\t\t\t\tclassNameRow: PropTypes.string,\n\t\t\t})\n\t\t).isRequired,\n\t\t/**\n\t\t * Makes DataTable joinable with PageHeader by adding appropriate classes/styling\n\t\t */\n\t\tjoined: PropTypes.bool,\n\t\t/**\n\t\t * Determines when to trigger infinite loading based on how many pixels the table's scroll position is from the bottom of the table.\n\t\t */\n\t\tloadMoreOffset: PropTypes.number,\n\t\t/**\n\t\t * A variant which removes hover style on rows\n\t\t */\n\t\tnoRowHover: PropTypes.bool,\n\t\t/**\n\t\t * By default this function resizes the display headers when fixedHeader is `true`, but this behavior can be overridden. Passes an event and a data object with properties `headerRefs`, an array of DOM nodes referencing the `thead th` elements and `scrollerRef`, a DOM node referencing `.slds-table_header-fixed_scroller`\n\t\t */\n\t\tonFixedHeaderResize: PropTypes.func,\n\t\t/**\n\t\t * This function fires when infinite loading loads more data.\n\t\t *\n\t\t * This will be called multiple times while the table is being scrolled within the `loadMoreOffset`. Please track whether or not loading is in progress and check it at the start of this function to avoid executing your callback too many times.\n\t\t */\n\t\tonLoadMore: PropTypes.func,\n\t\t/**\n\t\t * This function fires when the selection of rows changes. This component passes in `event, { selection }` to the function. `selection` is an array of objects from the `items` prop.\n\t\t *\n\t\t * This used to be `onChange` which is deprecated now, so that the parameters can be consistent with other components. `onChange` passed in the selection first and the event wtihout a data object.\n\t\t */\n\t\tonRowChange: PropTypes.func,\n\t\t/**\n\t\t * This function fires when the table should be sorted.\n\t\t */\n\t\tonSort: PropTypes.func,\n\t\t/**\n\t\t * By default this function attaches/detaches listeners for window resize and tbody scrolling when fixedHeader is `true`, but this behavior can be overridden. Passes an event and a data object with an `attach` boolean property to determine whether listeners should be attached, a `resizeHandler` function property that can be called as-needed, and a `scrollerRef` DOM node property that serves as a reference to `.slds-table_header-fixed_scroller`\n\t\t */\n\t\tonToggleFixedHeaderListeners: PropTypes.func,\n\t\t/**\n\t\t * An array of objects of selected rows. See `items` prop for shape of objects.\n\t\t */\n\t\tselection: PropTypes.array,\n\t\t/**\n\t\t * Specifies a row selection UX pattern.\n\t\t * * `checkbox`: Multiple row selection.\n\t\t * * `radio`: _Required_ single row selection.\n\t\t * _This prop used to be a `boolean`, a `true` value will be considered `checkbox` for backwards compatibility._\n\t\t */\n\t\tselectRows: PropTypes.oneOfType([\n\t\t\tPropTypes.bool,\n\t\t\tPropTypes.oneOf(['checkbox', 'radio']),\n\t\t]),\n\t\t/**\n\t\t * A variant which modifies table layout by stacking cells to accommodate smaller viewports. Should not be used at the same time as `stackedHorizontal`.\n\t\t */\n\t\tstacked: PropTypes.bool,\n\t\t/**\n\t\t * A variant which modifies table layout by displaying the header and row data side by side for smaller viewports. Should not be used at the same time as `stacked`.\n\t\t */\n\t\tstackedHorizontal: PropTypes.bool,\n\t\t/**\n\t\t * A variant which adds stripes to alternating rows.\n\t\t */\n\t\tstriped: PropTypes.bool,\n\t\t/**\n\t\t * Custom styles to be passed to the table.\n\t\t * NOTE: for horizontal scrolling in `fixedHeader`-enabled DataTables, apply a `minWidth` style here. If the containing element width is less than the `minWidth` value, horizontal scrolling will occur\n\t\t */\n\t\tstyle: PropTypes.object,\n\t\t/**\n\t\t * Tables have horizontal borders by default. This removes them.\n\t\t */\n\t\tunborderedRow: PropTypes.bool,\n\t\t/**\n\t\t * A variant which removes horizontal padding. CSS class will be removed if `fixedLayout==true`.\n\t\t */\n\t\tunbufferedCell: PropTypes.bool,\n\t};\n\n\tstatic defaultProps = defaultProps;\n\n\tconstructor(props) {\n\t\tsuper(props);\n\t\tthis.generatedId = shortid.generate();\n\t\tthis.headerRefs = {\n\t\t\taction: [],\n\t\t\tcolumn: [],\n\t\t\tselect: [],\n\t\t};\n\t\tthis.scrollerRef = null;\n\n\t\t// `checkProps` issues warnings to developers about properties (similar to React's built in development tools)\n\t\tcheckProps(DATA_TABLE, props, componentDoc);\n\t}\n\n\tcomponentDidMount() {\n\t\tif (this.props.fixedHeader) {\n\t\t\tthis.toggleFixedHeaderListeners(true);\n\t\t\tthis.resizeFixedHeaders();\n\t\t}\n\t}\n\n\tcomponentDidUpdate() {\n\t\tif (this.props.fixedHeader) {\n\t\t\tthis.resizeFixedHeaders();\n\t\t}\n\t}\n\n\tcomponentWillUnmount() {\n\t\tthis.toggleFixedHeaderListeners(false);\n\t}\n\n\tgetId() {\n\t\treturn this.props.id || this.generatedId;\n\t}\n\n\thandleToggleAll = (e, { checked }) => {\n\t\t// REMOVE AT NEXT BREAKING CHANGE\n\t\t// `onChange` is deprecated and replaced with `onRowChange`\n\t\tif (typeof this.props.onChange === 'function') {\n\t\t\tconst selection = (checked ? [...this.props.items] : []).filter(\n\t\t\t\t(item) => item.type !== 'header-row'\n\t\t\t);\n\t\t\tthis.props.onChange(selection, e);\n\t\t}\n\n\t\tif (typeof this.props.onRowChange === 'function') {\n\t\t\tconst selection = (checked ? [...this.props.items] : []).filter(\n\t\t\t\t(item) => item.type !== 'header-row'\n\t\t\t);\n\t\t\tthis.props.onRowChange(e, { selection });\n\t\t}\n\t};\n\n\thandleRowToggle = (item, selected, e) => {\n\t\t// REMOVE AT NEXT BREAKING CHANGE\n\t\t// `onChange` is deprecated and replaced with `onRowChange`\n\t\tif (typeof this.props.onChange === 'function') {\n\t\t\tlet selection;\n\n\t\t\tif (selected) {\n\t\t\t\tselection =\n\t\t\t\t\tthis.props.selectRows === 'radio'\n\t\t\t\t\t\t? [item]\n\t\t\t\t\t\t: [...this.props.selection, item];\n\t\t\t} else {\n\t\t\t\tselection = reject(this.props.selection, item);\n\t\t\t}\n\n\t\t\tthis.props.onChange(selection, e);\n\t\t}\n\t\t// DEPRECATED CODE ENDS HERE\n\n\t\tif (typeof this.props.onRowChange === 'function') {\n\t\t\tlet selection;\n\n\t\t\tif (selected) {\n\t\t\t\tselection =\n\t\t\t\t\tthis.props.selectRows === 'radio'\n\t\t\t\t\t\t? [item]\n\t\t\t\t\t\t: [...this.props.selection, item];\n\t\t\t} else {\n\t\t\t\tselection = reject(this.props.selection, item);\n\t\t\t}\n\n\t\t\tthis.props.onRowChange(e, { selection });\n\t\t}\n\t};\n\n\tresizeFixedHeaders = (event) => {\n\t\tconst headerRefs = [].concat(\n\t\t\tthis.headerRefs.select,\n\t\t\tthis.headerRefs.column,\n\t\t\tthis.headerRefs.action\n\t\t);\n\n\t\tif (this.props.onFixedHeaderResize) {\n\t\t\tthis.props.onFixedHeaderResize(event, {\n\t\t\t\theaderRefs,\n\t\t\t\tscrollerRef: this.scrollerRef,\n\t\t\t});\n\t\t} else if (headerRefs.length > 0) {\n\t\t\tlet documentScrollLeft = 0;\n\n\t\t\tif (canUseDOM) {\n\t\t\t\tdocumentScrollLeft = document.documentElement.scrollLeft;\n\t\t\t}\n\n\t\t\theaderRefs.forEach((column) => {\n\t\t\t\tif (column && canUseDOM) {\n\t\t\t\t\tconst columnLeft =\n\t\t\t\t\t\tcolumn.getBoundingClientRect().left + documentScrollLeft;\n\t\t\t\t\tlet wrapperLeft = 0;\n\n\t\t\t\t\tif (this.scrollerRef) {\n\t\t\t\t\t\twrapperLeft =\n\t\t\t\t\t\t\tthis.scrollerRef.getBoundingClientRect().left +\n\t\t\t\t\t\t\tdocumentScrollLeft;\n\t\t\t\t\t}\n\n\t\t\t\t\tconst cellFixed = column.querySelector('.slds-cell-fixed');\n\n\t\t\t\t\tif (cellFixed) {\n\t\t\t\t\t\tcellFixed.style.left = `${columnLeft - wrapperLeft}px`;\n\t\t\t\t\t\tcellFixed.style.width = `${column.offsetWidth}px`;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t};\n\n\tonScrollerScroll = () => {\n\t\tif (this.props.hasMore && this.props.onLoadMore) {\n\t\t\tconst { scrollTop, offsetHeight, scrollHeight } = this.scrollerRef;\n\t\t\tif (scrollTop + offsetHeight > scrollHeight - this.props.loadMoreOffset) {\n\t\t\t\tthis.props.onLoadMore();\n\t\t\t}\n\t\t}\n\t};\n\n\ttoggleFixedHeaderListeners = (attach) => {\n\t\tif (this.props.onToggleFixedHeaderListeners) {\n\t\t\tthis.props.onToggleFixedHeaderListeners(\n\t\t\t\t{},\n\t\t\t\t{\n\t\t\t\t\tattach,\n\t\t\t\t\tresizeHandler: this.resizeFixedHeaders,\n\t\t\t\t\tscrollerRef: this.scrollerRef,\n\t\t\t\t}\n\t\t\t);\n\t\t} else {\n\t\t\tconst action = [`${attach ? 'add' : 'remove'}EventListener`];\n\t\t\tif (canUseEventListeners) {\n\t\t\t\twindow[action]('resize', this.resizeFixedHeaders);\n\t\t\t\twindow[action]('resize', this.onScrollerScroll);\n\t\t\t}\n\t\t\tif (canUseEventListeners && this.scrollerRef) {\n\t\t\t\tthis.scrollerRef[action]('scroll', this.resizeFixedHeaders);\n\t\t\t\tthis.scrollerRef[action]('scroll', this.onScrollerScroll);\n\t\t\t}\n\t\t}\n\t};\n\n\t// ### Render\n\trender() {\n\t\tconst ariaProps = {};\n\t\tconst numRows = count(this.props.items);\n\t\tconst numSelected = count(this.props.selection);\n\t\tconst numNonHeaderRows = count(\n\t\t\tthis.props.items.filter((item) => item.type !== 'header-row')\n\t\t);\n\t\tconst canSelectRows =\n\t\t\tthis.props.selectRows && numNonHeaderRows > 0\n\t\t\t\t? this.props.selectRows\n\t\t\t\t: false;\n\t\tconst allSelected = canSelectRows && numNonHeaderRows === numSelected;\n\t\tconst indeterminateSelected =\n\t\t\tcanSelectRows && numNonHeaderRows !== numSelected && numSelected !== 0;\n\t\tconst columns = [];\n\t\tlet RowActions = null;\n\n\t\tReact.Children.forEach(this.props.children, (child) => {\n\t\t\tif (child && child.type.displayName === DataTableColumn.displayName) {\n\t\t\t\tconst { children, ...columnProps } = child.props;\n\n\t\t\t\tconst props = assign({}, this.props);\n\t\t\t\t// eslint-disable-next-line fp/no-delete\n\t\t\t\tdelete props.children;\n\t\t\t\tassign(props, columnProps);\n\n\t\t\t\tlet Cell;\n\t\t\t\tif (children && children.type.displayName === DATA_TABLE_CELL) {\n\t\t\t\t\tCell = children.type;\n\t\t\t\t\tassign(props, children.props);\n\t\t\t\t} else {\n\t\t\t\t\tCell = DataTableCell;\n\t\t\t\t}\n\n\t\t\t\t// eslint-disable-next-line fp/no-mutating-methods\n\t\t\t\tcolumns.push({\n\t\t\t\t\tCell,\n\t\t\t\t\tprops,\n\t\t\t\t\tdataTableProps: this.props,\n\t\t\t\t});\n\t\t\t} else if (\n\t\t\t\tchild &&\n\t\t\t\tchild.type.displayName === DataTableRowActions.displayName\n\t\t\t) {\n\t\t\t\tconst { dropdown } = child.props;\n\t\t\t\tconst dropdownPropOverrides = {};\n\t\t\t\tif (this.props.fixedHeader) {\n\t\t\t\t\tdropdownPropOverrides.menuPosition = 'overflowBoundaryElement';\n\t\t\t\t}\n\t\t\t\tRowActions = React.cloneElement(child, {\n\t\t\t\t\tdropdown: dropdown\n\t\t\t\t\t\t? React.cloneElement(dropdown, dropdownPropOverrides)\n\t\t\t\t\t\t: null,\n\t\t\t\t});\n\t\t\t}\n\t\t});\n\n\t\tconst assistiveText = {\n\t\t\t...defaultProps.assistiveText,\n\t\t\t...this.props.assistiveText,\n\t\t};\n\t\tif (this.props.assistiveTextForActionsHeader) {\n\t\t\tassistiveText.actionsHeader = this.props.assistiveTextForActionsHeader;\n\t\t}\n\t\tif (this.props.assistiveTextForSelectAllRows) {\n\t\t\tassistiveText.selectAllRows = this.props.assistiveTextForSelectAllRows;\n\t\t}\n\t\tif (this.props.assistiveTextForColumnSortedAscending) {\n\t\t\tassistiveText.columnSortedAscending = this.props.assistiveTextForColumnSortedAscending;\n\t\t}\n\t\tif (this.props.assistiveTextForColumnSortedDescending) {\n\t\t\tassistiveText.columnSortedDescending = this.props.assistiveTextForColumnSortedDescending;\n\t\t}\n\t\tif (this.props.assistiveTextForColumnSort) {\n\t\t\tassistiveText.columnSort = this.props.assistiveTextForColumnSort;\n\t\t}\n\t\tif (this.props.assistiveTextForSelectRow) {\n\t\t\tassistiveText.selectRow = this.props.assistiveTextForSelectRow;\n\t\t}\n\n\t\tif (this.props.selectRows && this.props.selectRows !== 'radio') {\n\t\t\tariaProps['aria-multiselectable'] = 'true';\n\t\t}\n\n\t\t// This guarantees there are never any old header references if props change\n\t\tthis.headerRefs = {\n\t\t\taction: RowActions ? this.headerRefs.action : [],\n\t\t\tcolumn: this.headerRefs.column.slice(0, columns.length),\n\t\t\tselect: canSelectRows ? this.headerRefs.select : [],\n\t\t};\n\n\t\tlet component = (\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t {\n\t\t\t\t\t\t\tif (index === 'action' || index === 'select') {\n\t\t\t\t\t\t\t\tif (ref) {\n\t\t\t\t\t\t\t\t\tthis.headerRefs[index][0] = ref;\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\tthis.headerRefs[index] = [];\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tthis.headerRefs.column[index] = ref;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}}\n\t\t\t\t\t\tindeterminateSelected={indeterminateSelected}\n\t\t\t\t\t\tcanSelectRows={canSelectRows}\n\t\t\t\t\t\tcolumns={columns}\n\t\t\t\t\t\tid={`${this.getId()}-${DATA_TABLE_HEAD}`}\n\t\t\t\t\t\tonToggleAll={this.handleToggleAll}\n\t\t\t\t\t\tonSort={this.props.onSort}\n\t\t\t\t\t\tshowRowActions={!!RowActions}\n\t\t\t\t\t/>\n\t\t\t\t\t\n\t\t\t\t\t\t{numRows > 0\n\t\t\t\t\t\t\t? this.props.items.map((item, index) => {\n\t\t\t\t\t\t\t\t\tconst rowId =\n\t\t\t\t\t\t\t\t\t\tthis.getId() && item.id\n\t\t\t\t\t\t\t\t\t\t\t? `${this.getId()}-${DATA_TABLE_ROW}-${item.id}`\n\t\t\t\t\t\t\t\t\t\t\t: shortid.generate();\n\t\t\t\t\t\t\t\t\treturn this.props.onRenderSubHeadingRow &&\n\t\t\t\t\t\t\t\t\t\titem.type === 'header-row' ? (\n\t\t\t\t\t\t\t\t\t\tthis.props.onRenderSubHeadingRow({\n\t\t\t\t\t\t\t\t\t\t\tassistiveText,\n\t\t\t\t\t\t\t\t\t\t\tclassNameRow: item.classNameRow,\n\t\t\t\t\t\t\t\t\t\t\tcolumns,\n\t\t\t\t\t\t\t\t\t\t\tkey: rowId,\n\t\t\t\t\t\t\t\t\t\t\tid: rowId,\n\t\t\t\t\t\t\t\t\t\t\ttableId: this.getId(),\n\t\t\t\t\t\t\t\t\t\t\titem,\n\t\t\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t })\n\t\t\t\t\t\t\t: // Someday this should be an element to render when the table is empty\n\t\t\t\t\t\t\t null}\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t{this.props.fixedHeader && this.props.hasMore && (\n\t\t\t\t\t
    \n\t\t\t\t\t\t\n\t\t\t\t\t
    \n\t\t\t\t)}\n\t\t\t
    \n\t\t);\n\n\t\tif (this.props.fixedHeader) {\n\t\t\tconst border = `1px solid ${colorGray5}`;\n\t\t\tconst styles = {\n\t\t\t\tborderTop: border,\n\t\t\t\theight: '100%',\n\t\t\t};\n\n\t\t\tif (this.props.joined) {\n\t\t\t\tstyles.borderBottom = border;\n\t\t\t\tstyles.borderLeft = border;\n\t\t\t\tstyles.borderRight = border;\n\t\t\t\tstyles.borderTop = 'none';\n\t\t\t\tstyles.borderRadius = tableBorderRadius;\n\t\t\t}\n\n\t\t\tcomponent = (\n\t\t\t\t {\n\t\t\t\t\t\tconst containerScrollLeft = e.target.scrollLeft;\n\n\t\t\t\t\t\tif (containerScrollLeft > 0) {\n\t\t\t\t\t\t\te.target.scrollLeft = 0;\n\t\t\t\t\t\t\tif (this.scrollerRef) {\n\t\t\t\t\t\t\t\tthis.scrollerRef.scrollLeft = containerScrollLeft;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}}\n\t\t\t\t>\n\t\t\t\t\t {\n\t\t\t\t\t\t\tthis.scrollerRef = ref;\n\t\t\t\t\t\t}}\n\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\theight: '100%',\n\t\t\t\t\t\t\toverflow: 'auto',\n\t\t\t\t\t\t}}\n\t\t\t\t\t>\n\t\t\t\t\t\t{component}\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t);\n\t\t}\n\n\t\treturn component;\n\t}\n}\n\nexport default DataTable;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// ### React\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\n// ## Children\nimport DataTableCell from './cell';\nimport Highlighter from '../utilities/highlighter';\n\n// ## Constants\nimport { DATA_TABLE_CELL } from '../../utilities/constants';\n\n/**\n * A Cell renderer for the DataTable that automatically highlights search text.\n */\nconst DataTableHighlightCell = (props) => (\n\t\n\t\t{props.children}\n\t\n);\n\n// ### Display Name\n// The DataTable looks for components with this name to determine what it should use to render a given column's cells.\nDataTableHighlightCell.displayName = DATA_TABLE_CELL;\n\n// ### Prop Types\nDataTableHighlightCell.propTypes = {\n\t/**\n\t * The contents of the cell. Equivalent to `props.item[props.property]`\n\t */\n\tchildren: PropTypes.oneOfType([PropTypes.node, PropTypes.string]),\n\t/**\n\t * The string of text (or Regular Expression) to highlight.\n\t */\n\tsearch: PropTypes.any,\n};\n\nexport default DataTableHighlightCell;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\nconst DateUtil = {\n\tfirstDayOfMonth(date) {\n\t\tconst newDate = new Date(date);\n\t\tnewDate.setDate(1);\n\t\treturn newDate;\n\t},\n\n\tisFirstDayOfMonth(date) {\n\t\treturn date.getDate() === 1;\n\t},\n\n\tisLastDayOfMonth(date) {\n\t\treturn !DateUtil.isSameMonth(date, DateUtil.addDays(date, 1));\n\t},\n\tisSameMonth(d1, d2) {\n\t\tif (!d1 || !d2) {\n\t\t\treturn false;\n\t\t}\n\t\treturn (\n\t\t\td1.getFullYear() === d2.getFullYear() && d1.getMonth() === d2.getMonth()\n\t\t);\n\t},\n\tisSameDay(d1, d2) {\n\t\tif (!d1 || !d2) {\n\t\t\treturn false;\n\t\t}\n\t\treturn (\n\t\t\td1.getFullYear() === d2.getFullYear() &&\n\t\t\td1.getMonth() === d2.getMonth() &&\n\t\t\td1.getDate() === d2.getDate()\n\t\t);\n\t},\n\tisCurrentMonth(date) {\n\t\tif (!date) {\n\t\t\treturn false;\n\t\t}\n\t\treturn DateUtil.isSameMonth(date, new Date());\n\t},\n\tisToday(date) {\n\t\tif (!date) {\n\t\t\treturn false;\n\t\t}\n\t\treturn DateUtil.isSameDay(date, new Date());\n\t},\n\tisEqual(d1, d2) {\n\t\treturn d1.getTime() === d2.getTime();\n\t},\n\taddDays(date, deltaDays) {\n\t\tconst newDate = new Date(date);\n\t\tnewDate.setDate(newDate.getDate() + parseInt(deltaDays, 10));\n\t\treturn newDate;\n\t},\n\taddWeeks(date, deltaWeeks) {\n\t\treturn DateUtil.addDays(date, parseInt(deltaWeeks, 10) * 7);\n\t},\n\tnearestWeekDay(date, weekDayIndex) {\n\t\tlet delta = weekDayIndex - date.getDay();\n\t\tif (delta < 0) {\n\t\t\tdelta += 7;\n\t\t}\n\t\treturn DateUtil.addDays(date, delta);\n\t},\n\tisLeapYear(year) {\n\t\treturn (year % 4 === 0 && year % 100 !== 0) || year % 400 === 0;\n\t},\n\n\tgetDaysInMonth(year, month) {\n\t\treturn [\n\t\t\t31,\n\t\t\tDateUtil.isLeapYear(year) ? 29 : 28,\n\t\t\t31,\n\t\t\t30,\n\t\t\t31,\n\t\t\t30,\n\t\t\t31,\n\t\t\t31,\n\t\t\t30,\n\t\t\t31,\n\t\t\t30,\n\t\t\t31,\n\t\t][month];\n\t},\n\n\taddMonths(date, value) {\n\t\tconst newDate = new Date(date);\n\t\tconst dateOfNewDate = newDate.getDate();\n\t\tnewDate.setDate(1);\n\t\tnewDate.setMonth(newDate.getMonth() + value);\n\t\tnewDate.setDate(\n\t\t\tMath.min(\n\t\t\t\tdateOfNewDate,\n\t\t\t\tDateUtil.getDaysInMonth(newDate.getFullYear(), newDate.getMonth())\n\t\t\t)\n\t\t);\n\t\treturn newDate;\n\t},\n};\n\nexport default DateUtil;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\n// ### classNames\n// [github.com/JedWatson/classnames](https://github.com/JedWatson/classnames)\n// This project uses `classnames`, \"a simple javascript utility for conditionally\n// joining classNames together.\"\nimport classNames from 'classnames';\n\nimport EventUtil from '../../../utilities/event';\nimport DateUtil from '../../../utilities/date';\nimport KEYS from '../../../utilities/key-code';\n\nimport { DIRECTIONS } from '../../utilities/UNSAFE_direction';\nimport LanguageDirection from '../../utilities/UNSAFE_direction/private/language-direction';\n\nconst handleClick = (event, { date, onSelectDate }) => {\n\tonSelectDate(event, { date });\n};\n\nconst handleKeyDown = (\n\tevent,\n\t{\n\t\tdate,\n\t\tonCalendarBlur,\n\t\tonSelectDate,\n\t\tonKeyboardNavigateToPreviousDay,\n\t\tonKeyboardNavigateToNextDay,\n\t\tonKeyboardNavigateToPreviousWeek,\n\t\tonKeyboardNavigateToNextWeek,\n\t\tdirection,\n\t}\n) => {\n\tconst keyDownCallbacks = {\n\t\t[KEYS.SPACE]: () => {\n\t\t\tonSelectDate(event, { date });\n\t\t},\n\t\t[KEYS.ENTER]: () => {\n\t\t\tonSelectDate(event, { date });\n\t\t},\n\t\t[KEYS.TAB]: () => {\n\t\t\tonCalendarBlur(event, { direction: 'next' });\n\t\t},\n\t\t[KEYS.LEFT]: () => {\n\t\t\tif (direction === DIRECTIONS.RTL) {\n\t\t\t\tonKeyboardNavigateToNextDay(event, { date });\n\t\t\t} else {\n\t\t\t\tonKeyboardNavigateToPreviousDay(event, { date });\n\t\t\t}\n\t\t},\n\t\t[KEYS.RIGHT]: () => {\n\t\t\tif (direction === DIRECTIONS.RTL) {\n\t\t\t\tonKeyboardNavigateToPreviousDay(event, { date });\n\t\t\t} else {\n\t\t\t\tonKeyboardNavigateToNextDay(event, { date });\n\t\t\t}\n\t\t},\n\t\t[KEYS.UP]: () => {\n\t\t\tonKeyboardNavigateToPreviousWeek(event, { date });\n\t\t},\n\t\t[KEYS.DOWN]: () => {\n\t\t\tonKeyboardNavigateToNextWeek(event, { date });\n\t\t},\n\t};\n\n\tconst shiftKeyDownCallbacks = {\n\t\t[KEYS.TAB]: () => {\n\t\t\tonCalendarBlur(event, { direction: 'previous' });\n\t\t},\n\t};\n\n\tif (event.keyCode) {\n\t\tif (event.shiftKey && keyDownCallbacks[event.keyCode]) {\n\t\t\tEventUtil.trapEvent(event);\n\t\t\tshiftKeyDownCallbacks[event.keyCode]();\n\t\t} else if (keyDownCallbacks[event.keyCode]) {\n\t\t\tEventUtil.trapEvent(event);\n\t\t\tkeyDownCallbacks[event.keyCode]();\n\t\t}\n\t}\n};\n\nconst DatepickerCalendarDay = (props) => {\n\tconst isCurrentMonth = DateUtil.isSameMonth(\n\t\tprops.date,\n\t\tprops.initialDateForCalendarRender\n\t);\n\tconst isToday = DateUtil.isToday(props.date);\n\tconst isSelectedDay = DateUtil.isSameDay(props.date, props.selectedDate);\n\tconst isFirstDayOfMonth = DateUtil.isFirstDayOfMonth(props.date);\n\tconst isDisabled = !isCurrentMonth || props.disabled;\n\n\treturn (\n\t\t/* eslint-disable jsx-a11y/no-static-element-interactions */\n\t\t {\n\t\t\t\thandleClick(event, {\n\t\t\t\t\tdate: props.date,\n\t\t\t\t\tonSelectDate: props.onSelectDate,\n\t\t\t\t});\n\t\t\t}}\n\t\t\tonKeyDown={(event) => {\n\t\t\t\thandleKeyDown(event, {\n\t\t\t\t\t...props,\n\t\t\t\t});\n\t\t\t}}\n\t\t\tref={(component) => {\n\t\t\t\tif (isSelectedDay) {\n\t\t\t\t\tprops.selectedDateRef(component);\n\t\t\t\t}\n\n\t\t\t\tif (\n\t\t\t\t\tprops.calendarHasFocus &&\n\t\t\t\t\tDateUtil.isSameDay(props.focusedDate, props.date) &&\n\t\t\t\t\tisCurrentMonth\n\t\t\t\t) {\n\t\t\t\t\tprops.onRequestInternalFocusDate(undefined, {\n\t\t\t\t\t\tdate: props.date,\n\t\t\t\t\t\tref: component,\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}}\n\t\t\trole=\"gridcell\"\n\t\t\ttabIndex={\n\t\t\t\t!props.calendarHasFocus && isFirstDayOfMonth && isCurrentMonth ? 0 : -1\n\t\t\t}\n\t\t>\n\t\t\t{/* eslint-enable jsx-a11y/no-static-element-interactions */}\n\t\t\t\n\t\t\t\t{isToday ? (\n\t\t\t\t\t{`${props.todayLabel}: `}\n\t\t\t\t) : null}\n\t\t\t\t{props.date.getDate()}\n\t\t\t\n\t\t\n\t);\n};\n\nDatepickerCalendarDay.displayName = 'SLDSDatepickerCalendarDay';\n\nDatepickerCalendarDay.propTypes = {\n\t/**\n\t * If elements within the calendar have focus. This is helpful for keyboard event trapping.\n\t */\n\tcalendarHasFocus: PropTypes.bool.isRequired,\n\t/**\n\t * Date of day\n\t */\n\tdate: PropTypes.instanceOf(Date).isRequired,\n\t/**\n\t * If date is disabled\n\t */\n\tdisabled: PropTypes.bool,\n\t/**\n\t * Date used to create calendar that is displayed. This is typically the initial day focused when using the keyboard navigation. Focus will be set to this date if available.\n\t */\n\tinitialDateForCalendarRender: PropTypes.instanceOf(Date).isRequired,\n\t/**\n\t * Triggered when the keyboard moves focus off the calendar.\n\t */\n\tonCalendarBlur: PropTypes.func.isRequired,\n\t/**\n\t * For keyboard navigation. Changes the focus to the next day on the calendar. Triggered when right arrow button is pressed.\n\t */\n\tonKeyboardNavigateToNextDay: PropTypes.func.isRequired,\n\t/**\n\t * For keyboard navigation. Changes the focus to the same day in the next week on the calendar. Triggered when down arrow button is pressed.\n\t */\n\tonKeyboardNavigateToNextWeek: PropTypes.func.isRequired,\n\t/**\n\t * For keyboard navigation. Changes the focus to the previous day on the calendar. Triggered when left arrow button is pressed.\n\t */\n\tonKeyboardNavigateToPreviousDay: PropTypes.func.isRequired,\n\t/**\n\t * For keyboard navigation. Changes the focus to the same day in the previous week on the calendar. Triggered when up arrow button is pressed.\n\t */\n\tonKeyboardNavigateToPreviousWeek: PropTypes.func.isRequired,\n\t/**\n\t * Triggered when a date on the calendar is clicked.\n\t */\n\tonSelectDate: PropTypes.func.isRequired,\n\t/**\n\t * Currently selected date. This should be present in the input field.\n\t */\n\tselectedDate: PropTypes.instanceOf(Date).isRequired,\n\t/**\n\t * Component reference / DOM node for selected day.\n\t */\n\tselectedDateRef: PropTypes.func.isRequired,\n\t/**\n\t * Label of shortcut to jump to today within the calendar. Also used for assistive text for the current day.\n\t */\n\ttodayLabel: PropTypes.string.isRequired,\n\tfocusedDate: PropTypes.instanceOf(Date),\n\tonRequestInternalFocusDate: PropTypes.func,\n};\n\nexport default LanguageDirection(DatepickerCalendarDay);\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\nimport Day from './day';\n\nimport DateUtil from '../../../utilities/date';\n\nconst DatepickerWeek = (props) => {\n\tconst days = [];\n\tlet date = props.firstDayOfWeek;\n\n\t// eslint-disable-next-line fp/no-loops\n\tfor (let i = 0; i < 7; i += 1) {\n\t\t// eslint-disable-next-line fp/no-mutating-methods\n\t\tdays.push(\n\t\t\t\n\t\t);\n\t\tdate = DateUtil.addDays(date, 1);\n\t}\n\n\treturn (\n\t\t\n\t\t\t{days}\n\t\t\n\t);\n};\n\nDatepickerWeek.propTypes = {\n\t/**\n\t * Date used to create calendar that is displayed. This is typically the initial day focused when using the keyboard navigation. Focus will be set to this date if available.\n\t */\n\tinitialDateForCalendarRender: PropTypes.instanceOf(Date).isRequired,\n\t/**\n\t * Is true if calendar day has focus.\n\t */\n\tcalendarHasFocus: PropTypes.bool.isRequired,\n\t/**\n\t * dateDisabled() takes a date as input argument, returns true if given date should be disabled, otherwise returns false.\n\t */\n\tdateDisabled: PropTypes.func,\n\t/**\n\t * First day of week.\n\t */\n\tfirstDayOfWeek: PropTypes.instanceOf(Date).isRequired,\n\t/**\n\t * Date that has focus.\n\t */\n\tfocusedDate: PropTypes.instanceOf(Date).isRequired,\n\t/**\n\t * Triggered when the keyboard moves focus off the calendar.\n\t */\n\tonCalendarBlur: PropTypes.func.isRequired,\n\t/**\n\t * For keyboard navigation. Changes the focus to the next day on the calendar. Triggered when right arrow button is pressed.\n\t */\n\tonKeyboardNavigateToNextDay: PropTypes.func.isRequired,\n\t/**\n\t * For keyboard navigation. Changes the focus to the same day in the next week on the calendar. Triggered when down arrow button is pressed.\n\t */\n\tonKeyboardNavigateToNextWeek: PropTypes.func.isRequired,\n\t/**\n\t * For keyboard navigation. Changes the focus to the previous day on the calendar. Triggered when left arrow button is pressed.\n\t */\n\tonKeyboardNavigateToPreviousDay: PropTypes.func.isRequired,\n\t/**\n\t * For keyboard navigation. Changes the focus to the same day in the previous week on the calendar. Triggered when up arrow button is pressed.\n\t */\n\tonKeyboardNavigateToPreviousWeek: PropTypes.func.isRequired,\n\t/**\n\t * Triggered when the user wants to focus on a new day witht he keyboard. It returns the keyboard event a data object with the shape: `{date: [Date object]}`. Keyboard event is ommited if a new month is rendered. _Tested with Mocha framework._\n\t */\n\tonRequestInternalFocusDate: PropTypes.func.isRequired,\n\t/**\n\t * Triggered when a date on the calendar is clicked.\n\t */\n\tonSelectDate: PropTypes.func.isRequired,\n\t/**\n\t * Currently selected date. This should be present in the input field.\n\t */\n\tselectedDate: PropTypes.instanceOf(Date).isRequired,\n\t/**\n\t * Component reference / DOM node for selected day.\n\t */\n\tselectedDateRef: PropTypes.func.isRequired,\n\t/**\n\t * Label of shortcut to jump to today within the calendar. Also used for assistive text for the current day.\n\t */\n\ttodayLabel: PropTypes.string.isRequired,\n};\n\nDatepickerWeek.displayName = 'SLDSDatepickerWeek';\n\nexport default DatepickerWeek;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\nimport React from 'react';\n\nimport PropTypes from 'prop-types';\nimport Week from './week';\nimport DateUtil from '../../../utilities/date';\n\nclass DatepickerCalendar extends React.Component {\n\tstatic displayName = 'SLDSDatepickerCalendar';\n\n\tstatic propTypes = {\n\t\t/**\n\t\t * Three letter abbreviations of the days of the week, starting on Sunday.\n\t\t */\n\t\tabbreviatedWeekDayLabels: PropTypes.array.isRequired,\n\t\t/**\n\t\t * dateDisabled() takes a date as input argument, returns true if given date should be disabled, otherwise returns false.\n\t\t */\n\t\tdateDisabled: PropTypes.func,\n\t\t/**\n\t\t * HTML id for component\n\t\t */\n\t\tid: PropTypes.string.isRequired,\n\t\t/**\n\t\t * Date used to create calendar that is displayed. This is typically the initial day focused when using the keyboard navigation. Focus will be set to this date if available.\n\t\t */\n\t\tinitialDateForCalendarRender: PropTypes.instanceOf(Date).isRequired,\n\t\t/**\n\t\t * Makes Monday the first day of the week\n\t\t */\n\t\tisIsoWeekday: PropTypes.bool,\n\t\t/**\n\t\t * Triggered when the keyboard moves focus off the calendar.\n\t\t */\n\t\tonCalendarBlur: PropTypes.func.isRequired,\n\t\t/**\n\t\t * Displayed calendar has changed or re-rendered\n\t\t */\n\t\tonChangeMonth: PropTypes.func.isRequired,\n\t\t/**\n\t\t * Internal callback that will eventually trigger when the keyboard moves focus on the calendar. `{date: [Date object], formattedDate: [string]}`.\n\t\t */\n\t\tonRequestInternalFocusDate: PropTypes.func,\n\t\t/**\n\t\t * Triggered when the calendar is cancelled.\n\t\t */\n\t\tonRequestClose: PropTypes.func.isRequired,\n\t\t/**\n\t\t * Triggered when a date on the calendar is clicked.\n\t\t */\n\t\tonSelectDate: PropTypes.func.isRequired,\n\t\t/**\n\t\t * Currently selected date. This should be present in the input field.\n\t\t */\n\t\tselectedDate: PropTypes.instanceOf(Date),\n\t\t/**\n\t\t * Component reference / DOM node for selected day.\n\t\t */\n\t\tselectedDateRef: PropTypes.func,\n\t\t/**\n\t\t * Label of shortcut to jump to today within the calendar. This is also used for assistive text on today's date.\n\t\t */\n\t\ttodayLabel: PropTypes.string.isRequired,\n\t\t/**\n\t\t * For keyboard navigation. Listens for key presses on the last focusable DOM Node, the \"Today\" link, so that dialog focus can be trapped.\n\t\t */\n\t\tonLastFocusableNodeKeyDown: PropTypes.func,\n\t\t/**\n\t\t * Callback that passes in the DOM reference of the Today `a` DOM node within this component. Primary use is to allow `focus` to be called. You should still test if the node exists, since rendering is asynchronous. `buttonRef={(component) => { if(component) console.log(component); }}`\n\t\t */\n\t\ttodayRef: PropTypes.func,\n\t\t/**\n\t\t * Names of the seven days of the week, starting on Sunday.\n\t\t */\n\t\tweekDayLabels: PropTypes.array.isRequired,\n\t};\n\n\tstate = {\n\t\tfocusedDate: this.props.initialDateForCalendarRender,\n\t\tcalendarHasFocus: true,\n\t\ttodayFocus: false,\n\t};\n\n\tcomponentDidUpdate(prevProps) {\n\t\tthis.setCalendarRenderSeedDate(prevProps);\n\t}\n\n\tsetCalendarRenderSeedDate = (prevProps) => {\n\t\t// Set prop that sets focus in child component once it is rendered. This occurs when the month DOM has changed. This will trigger a re-render, but no DOM change will occur, just a DOM focus.\n\t\tif (\n\t\t\t!DateUtil.isEqual(\n\t\t\t\tthis.props.initialDateForCalendarRender,\n\t\t\t\tprevProps.initialDateForCalendarRender\n\t\t\t)\n\t\t) {\n\t\t\tthis.setState({ focusedDate: this.props.initialDateForCalendarRender });\n\t\t\tthis.props.onRequestInternalFocusDate(undefined, {\n\t\t\t\tdate: this.props.initialDateForCalendarRender,\n\t\t\t\ttriggerCallback: true,\n\t\t\t});\n\t\t}\n\t};\n\n\thandleSelectDate = (event, { date }) => {\n\t\tif (!this.props.dateDisabled({ date })) {\n\t\t\tthis.setState({ selected: date });\n\t\t\tthis.props.onSelectDate(event, { date });\n\t\t}\n\t};\n\n\thandleRequestClose = (event) => {\n\t\tif (this.props.onRequestClose) {\n\t\t\tthis.props.onRequestClose(event, {});\n\t\t}\n\t};\n\n\thandleKeyboardNavigateToPreviousDay = (event, { date }) => {\n\t\tconst prevDate = DateUtil.addDays(date, -1);\n\t\tif (!DateUtil.isSameMonth(prevDate, date)) {\n\t\t\tthis.props.onChangeMonth(event, prevDate);\n\t\t} else {\n\t\t\tthis.setState({ focusedDate: prevDate });\n\t\t\tthis.props.onRequestInternalFocusDate(event, {\n\t\t\t\tdate: prevDate,\n\t\t\t\ttriggerCallback: true,\n\t\t\t});\n\t\t}\n\t};\n\n\thandleKeyboardNavigateToNextDay = (event, { date }) => {\n\t\tconst nextDate = DateUtil.addDays(date, 1);\n\t\tif (!DateUtil.isSameMonth(nextDate, date)) {\n\t\t\tthis.props.onChangeMonth(event, nextDate);\n\t\t} else {\n\t\t\tthis.setState({ focusedDate: nextDate });\n\t\t\tthis.props.onRequestInternalFocusDate(event, {\n\t\t\t\tdate: nextDate,\n\t\t\t\ttriggerCallback: true,\n\t\t\t});\n\t\t}\n\t};\n\n\thandleKeyboardNavigateToPreviousWeek = (event, { date }) => {\n\t\tconst prevDate = DateUtil.addDays(date, -7);\n\t\tif (!DateUtil.isSameMonth(prevDate, date)) {\n\t\t\tthis.props.onChangeMonth(event, prevDate);\n\t\t} else {\n\t\t\tthis.setState({ focusedDate: prevDate });\n\t\t\tthis.props.onRequestInternalFocusDate(event, {\n\t\t\t\tdate: prevDate,\n\t\t\t\ttriggerCallback: true,\n\t\t\t});\n\t\t}\n\t};\n\n\thandleKeyboardNavigateToNextWeek = (event, { date }) => {\n\t\tconst nextDate = DateUtil.addDays(date, 7);\n\t\tif (!DateUtil.isSameMonth(nextDate, date)) {\n\t\t\tthis.props.onChangeMonth(event, nextDate);\n\t\t} else {\n\t\t\tthis.setState({ focusedDate: nextDate });\n\t\t\tthis.props.onRequestInternalFocusDate(event, {\n\t\t\t\tdate: nextDate,\n\t\t\t\ttriggerCallback: true,\n\t\t\t});\n\t\t}\n\t};\n\n\trenderWeeks = () => {\n\t\tconst firstDayOfWeekOffset = this.props.isIsoWeekday ? 1 : 0;\n\n\t\tconst firstDayOfMonth = DateUtil.firstDayOfMonth(\n\t\t\tthis.props.initialDateForCalendarRender\n\t\t);\n\n\t\tlet firstDayOfWeek;\n\t\tif (\n\t\t\tfirstDayOfMonth.getDay() > firstDayOfWeekOffset ||\n\t\t\tfirstDayOfMonth.getDay() < firstDayOfWeekOffset\n\t\t) {\n\t\t\tconst prevWeek = DateUtil.addWeeks(firstDayOfMonth, -1);\n\t\t\tfirstDayOfWeek = DateUtil.nearestWeekDay(prevWeek, firstDayOfWeekOffset);\n\t\t} else {\n\t\t\tfirstDayOfWeek = firstDayOfMonth;\n\t\t}\n\n\t\tconst weeks = [];\n\t\tlet done = false;\n\n\t\tlet monthIndex = firstDayOfWeek.getMonth();\n\t\tlet count = 0;\n\n\t\t// eslint-disable-next-line fp/no-loops\n\t\twhile (!done) {\n\t\t\t// eslint-disable-next-line fp/no-mutating-methods\n\t\t\tweeks.push(\n\t\t\t\t\n\t\t\t);\n\n\t\t\t// create new weeks\n\t\t\tfirstDayOfWeek = DateUtil.addWeeks(firstDayOfWeek, 1);\n\t\t\tdone = count > 2 && monthIndex !== firstDayOfWeek.getMonth();\n\t\t\tcount += 1;\n\t\t\tmonthIndex = firstDayOfWeek.getMonth();\n\t\t}\n\t\tlet extraWeeks = 0;\n\t\t// eslint-disable-next-line fp/no-loops\n\t\twhile (weeks.length < 6) {\n\t\t\textraWeeks += 1;\n\t\t\t// eslint-disable-next-line fp/no-mutating-methods\n\t\t\tweeks.push(\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t \n\t\t\t\t\t\n\t\t\t\t\n\t\t\t);\n\t\t}\n\n\t\treturn weeks;\n\t};\n\n\trender() {\n\t\tconst sunday = (\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t{this.props.abbreviatedWeekDayLabels[0]}\n\t\t\t\t\n\t\t\t\n\t\t);\n\n\t\treturn (\n\t\t\t
    \n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t{this.props.isIsoWeekday ? null : sunday}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t{this.props.abbreviatedWeekDayLabels[1]}\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t{this.props.abbreviatedWeekDayLabels[2]}\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t{this.props.abbreviatedWeekDayLabels[3]}\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t{this.props.abbreviatedWeekDayLabels[4]}\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t{this.props.abbreviatedWeekDayLabels[5]}\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t{this.props.abbreviatedWeekDayLabels[6]}\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t{this.props.isIsoWeekday && sunday}\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t{this.renderWeeks()}\n\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\t\t\tthis.handleSelectDate(event, { date: new Date() });\n\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\tonKeyDown={this.props.onLastFocusableNodeKeyDown}\n\t\t\t\t\t\t\t\t\tref={this.props.todayRef}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{this.props.todayLabel}\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t
    \n\t\t);\n\t}\n}\n\nexport default DatepickerCalendar;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\nimport React from 'react';\n\nimport PropTypes from 'prop-types';\nimport Combobox from '../../combobox/combobox';\n\nclass DatepickerYearSelector extends React.Component {\n\tstatic displayName = 'SLDSDatepickerYearSelector';\n\n\tstatic propTypes = {\n\t\t/**\n\t\t * Label for year picklist/combobox\n\t\t */\n\t\tassistiveTextYear: PropTypes.string.isRequired,\n\t\t/**\n\t\t * HTML id for component\n\t\t */\n\t\tid: PropTypes.string,\n\t\t/**\n\t\t * Date used to create calendar that is displayed. This is typically the initial day focused when using the keyboard navigation. Focus will be set to this date if available.\n\t\t */\n\t\tinitialDateForCalendarRender: PropTypes.instanceOf(Date).isRequired,\n\t\t/**\n\t\t * Displayed calendar has changed or re-rendered\n\t\t */\n\t\tonChangeMonth: PropTypes.func.isRequired,\n\t\t/**\n\t\t * Offset of year from current year that can be selected in the year selection dropdown. (2017 - 5 = 2012).\n\t\t */\n\t\trelativeYearFrom: PropTypes.number,\n\t\t/**\n\t\t * Offset of year from current year that can be selected in the year selection dropdown. (2017 + 5 = 2012).\n\t\t */\n\t\trelativeYearTo: PropTypes.number,\n\t};\n\n\tgetOptions = () => {\n\t\tconst now = new Date();\n\t\tconst fromYear = now.getFullYear() + this.props.relativeYearFrom;\n\t\tconst toYear = now.getFullYear() + this.props.relativeYearTo;\n\t\tconst opts = [];\n\n\t\t// eslint-disable-next-line fp/no-loops\n\t\tfor (let year = fromYear; year < toYear; year += 1) {\n\t\t\t// eslint-disable-next-line fp/no-mutating-methods\n\t\t\topts.push({ label: `${year}`, value: year, id: String(opts.length) });\n\t\t}\n\t\treturn opts;\n\t};\n\n\tgetSelectedValueOption = () => {\n\t\tconst selectedYear = this.props.initialDateForCalendarRender.getFullYear();\n\t\treturn this.getOptions().filter((option) => option.value === selectedYear);\n\t};\n\n\thandleSelect = (event, { selection: selectedValues }) => {\n\t\tconst selectedValue = selectedValues[0]; // safe since we are working with a single selection\n\n\t\tif (selectedValue) {\n\t\t\tthis.props.onChangeMonth(\n\t\t\t\tnew Date(\n\t\t\t\t\tthis.props.initialDateForCalendarRender.setFullYear(\n\t\t\t\t\t\tparseInt(selectedValue.value, 10)\n\t\t\t\t\t)\n\t\t\t\t)\n\t\t\t);\n\t\t}\n\t};\n\n\trender() {\n\t\tconst selection = this.getSelectedValueOption();\n\t\treturn (\n\t\t\t
    \n\t\t\t\t\n\t\t\t
    \n\t\t);\n\t}\n}\n\nexport default DatepickerYearSelector;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\nimport React from 'react';\n\nimport PropTypes from 'prop-types';\nimport YearPicklist from './year-picklist';\nimport Button from '../../button';\n\nimport DateUtil from '../../../utilities/date';\n\nclass DatepickerMonthNavigation extends React.Component {\n\tstatic displayName = 'SLDSDatepickerMonthNavigation';\n\n\tstatic propTypes = {\n\t\t/**\n\t\t * Label for button to go to the next month\n\t\t */\n\t\tassistiveTextNextMonth: PropTypes.string.isRequired,\n\t\t/**\n\t\t * Label for button to go to the previous month\n\t\t */\n\t\tassistiveTextPreviousMonth: PropTypes.string.isRequired,\n\t\t/**\n\t\t * Label for year picklist/combobox\n\t\t */\n\t\tassistiveTextYear: PropTypes.string.isRequired,\n\t\t/**\n\t\t * HTML id for component\n\t\t */\n\t\tid: PropTypes.string,\n\t\t/**\n\t\t * Date used to create calendar that is displayed. This is typically the initial day focused when using the keyboard navigation. Focus will be set to this date if available.\n\t\t */\n\t\tinitialDateForCalendarRender: PropTypes.instanceOf(Date).isRequired,\n\t\t/**\n\t\t * Displayed calendar has changed or re-rendered\n\t\t */\n\t\tonChangeMonth: PropTypes.func.isRequired,\n\t\t/**\n\t\t * Names of the months\n\t\t */\n\t\tmonthLabels: PropTypes.array.isRequired,\n\t\t/**\n\t\t * For keyboard navigation. In order to trap focus within the dialog, the first DOM node with a tab index should be listened to.\n\t\t */\n\t\tonPreviousMonthKeyDown: PropTypes.func,\n\t\t/**\n\t\t * Callback that passes in the DOM reference of the `\n\t\t\t\t) : null}\n\t\t\t\t{props.moreActionsDropdown\n\t\t\t\t\t? React.cloneElement(props.moreActionsDropdown, {\n\t\t\t\t\t\t\tassistiveText: { icon: props.assistiveText.moreActions },\n\t\t\t\t\t\t\toverlay: false,\n\t\t\t\t\t\t\tbuttonVariant: 'icon',\n\t\t\t\t\t\t\tbuttonInverse: props.hasNoVisibleTitle,\n\t\t\t\t\t\t\tclassName: 'dsr-file__more-actions-dropdown ',\n\t\t\t\t\t\t\ttriggerClassName: 'dsr-file__more-actions',\n\t\t\t\t\t })\n\t\t\t\t\t: null}\n\t\t\t\n\t\t\n\t);\n\tif (\n\t\ttypeof props.onClickDownload === 'function' ||\n\t\tprops.moreActionsDropdown\n\t) {\n\t\tif (!props.hasNoVisibleTitle) {\n\t\t\treturn actions;\n\t\t}\n\t\treturn (\n\t\t\t
    {actions}
    \n\t\t);\n\t}\n\treturn null;\n};\n\nFileActions.displayName = FILES_ACTIONS;\n\nFileActions.propTypes = {\n\t/**\n\t * Action to be done on clicking download button; doesnt show download button if empty\n\t */\n\tonClickDownload: PropTypes.func,\n\t/**\n\t * Dropdown for More Actions; doesn't show More actions button if empty\n\t */\n\tmoreActionsDropdown: PropTypes.node,\n\t/**\n\t * Labels for the file component\n\t */\n\thasNoVisibleTitle: PropTypes.bool,\n};\n\nexport default FileActions;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// Implements the [Files design pattern](https://lightningdesignsystem.com/components/files/) in React.\n// Based on SLDS v2.4.0\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\n\n// ### shortid\n// [npmjs.com/package/shortid](https://www.npmjs.com/package/shortid)\n// shortid is a short, non-sequential, url-friendly, unique id generator\nimport shortid from 'shortid';\nimport { FILES_FILE } from '../../utilities/constants';\n\nimport FileFigure from './private/file-figure';\nimport FileActions from './private/file-actions';\n\nconst displayName = FILES_FILE;\n\nconst propTypes = {\n\t/**\n\t * **Assistive text for accessibility**\n\t * * download - description for the download button if present\n\t * * image - description for the file image\n\t * * link - description for the file link\n\t * * loading - description for the loading spinner if present\n\t * * moreActions - description for the more actions dropdown if present\n\t */\n\tassistiveText: PropTypes.shape({\n\t\tdownload: PropTypes.string,\n\t\timage: PropTypes.string,\n\t\tlink: PropTypes.string,\n\t\tloading: PropTypes.string,\n\t\tmoreActions: PropTypes.string,\n\t}),\n\t/**\n\t * CSS class names to be added to the container element. `array`, `object`, or `string` are accepted.\n\t */\n\tclassName: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\t/**\n\t * Controls different cropping aspect ratios for the component\n\t */\n\tcrop: PropTypes.oneOf(['16-by-9', '4-by-3', '1-by-1']),\n\t/**\n\t * HTML id for component.\n\t */\n\tid: PropTypes.string,\n\t/**\n\t * Action to be done on clicking download button; doesn't show download button if empty\n\t */\n\tonClickDownload: PropTypes.func,\n\t/**\n\t * Function that is called when image is clicked; can be used instead of href for more advanced event handling\n\t */\n\tonClickImage: PropTypes.func,\n\t/**\n\t * Dropdown for more actions button; doesn't show more actions button if empty\n\t */\n\tmoreActionsDropdown: PropTypes.node,\n\t/**\n\t * Icon associated with the file. Accepts an Icon component\n\t */\n\ticon: PropTypes.node,\n\t/**\n\t * Icon to be shown in top left corner of File component. Accepts an Icon component\n\t */\n\texternalIcon: PropTypes.node,\n\t/**\n\t * Link to thumbnail image\n\t */\n\timage: PropTypes.string,\n\t/**\n\t * Controls whether file preview is loading\n\t */\n\tisLoading: PropTypes.bool,\n\t/**\n\t * Href attribute for image\n\t */\n\thref: PropTypes.string,\n\t/**\n\t * Labels for the File Component\n\t * * image - title for the file. Required.\n\t */\n\tlabels: PropTypes.shape({\n\t\ttitle: PropTypes.string.isRequired,\n\t}),\n\t/**\n\t * Controls whether the file's title should be visible\n\t */\n\thasNoVisibleTitle: PropTypes.bool,\n};\n\nconst defaultProps = {\n\tassistiveText: {\n\t\tdownload: 'download',\n\t\tlink: 'Preview:',\n\t\tloading: 'loading',\n\t\tmoreActions: 'more actions',\n\t},\n\tcrop: '16-by-9',\n\thref: 'javascript:void(0);',\n\tisLoading: false,\n\thasNoVisibleTitle: false,\n};\n/**\n * File is a component that represents content uploaded as an attachment.\n */\nclass File extends React.Component {\n\tstatic injectMoreActionsStyles() {\n\t\treturn (\n\t\t\t\n\t\t);\n\t}\n\n\t// eslint-disable-next-line camelcase, react/sort-comp\n\tUNSAFE_componentWillMount() {\n\t\tthis.generatedId = shortid.generate();\n\t}\n\n\t/**\n\t * Get the File's HTML id. Generate a new one if no ID present.\n\t */\n\tgetId() {\n\t\treturn this.props.id || this.generatedId;\n\t}\n\n\trender() {\n\t\tconst assistiveText = {\n\t\t\t...defaultProps.assistiveText,\n\t\t\t...this.props.assistiveText,\n\t\t};\n\n\t\treturn (\n\t\t\t\n\t\t\t\t
    \n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t{!this.props.hasNoVisibleTitle ? (\n\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t{this.props.icon\n\t\t\t\t\t\t\t\t\t? React.cloneElement(this.props.icon, {\n\t\t\t\t\t\t\t\t\t\t\tsize: 'x-small',\n\t\t\t\t\t\t\t\t\t })\n\t\t\t\t\t\t\t\t\t: null}\n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t{this.props.labels.title}\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t
    \n\t\t\t\t\t) : null}\n\t\t\t\t
    \n\t\t\t\t{this.props.externalIcon ? (\n\t\t\t\t\t
    \n\t\t\t\t\t\t{React.cloneElement(this.props.externalIcon, {\n\t\t\t\t\t\t\tcontainerClassName: 'slds-file__icon slds-icon_container',\n\t\t\t\t\t\t})}\n\t\t\t\t\t
    \n\t\t\t\t) : null}\n\t\t\t\t{this.props.moreActionsDropdown ? File.injectMoreActionsStyles() : null}\n\t\t\t\t\n\t\t\t\n\t\t);\n\t}\n}\n\nFile.displayName = displayName;\nFile.propTypes = propTypes;\nFile.defaultProps = defaultProps;\n\nexport default File;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// Implements the [Files design pattern](https://lightningdesignsystem.com/components/files/) in React.\n// Based on SLDS v2.4.0\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\n\n// ### shortid\n// [npmjs.com/package/shortid](https://www.npmjs.com/package/shortid)\n// shortid is a short, non-sequential, url-friendly, unique id generator\nimport shortid from 'shortid';\nimport { FILES } from '../../utilities/constants';\n\nconst displayName = FILES;\n\nconst propTypes = {\n\t/**\n\t * CSS class names to be added to the container element. `array`, `object`, or `string` are accepted.\n\t */\n\tclassName: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\t/**\n\t * HTML id for component.\n\t */\n\tid: PropTypes.string,\n\t/**\n\t * Crop ratio for the file preview image\n\t */\n\tcrop: PropTypes.oneOf(['16-by-9', '4-by-3', '1-by-1']),\n\t/**\n\t * Column class names to be added each file in the grid\n\t */\n\tcolumnClassName: PropTypes.string,\n};\n\nconst defaultProps = {\n\tcrop: '4-by-3',\n};\n\n/**\n * Files is a component that wraps multiple file components that represent an attachment\n */\nclass Files extends React.Component {\n\t// eslint-disable-next-line camelcase, react/sort-comp\n\tUNSAFE_componentWillMount() {\n\t\tthis.generatedId = shortid.generate();\n\t}\n\n\t/**\n\t * Get the File's HTML id. Generate a new one if no ID present.\n\t */\n\tgetId() {\n\t\treturn this.props.id || this.generatedId;\n\t}\n\n\trender() {\n\t\tconst files = React.Children.map(this.props.children, (option) => (\n\t\t\t\n\t\t\t\t{React.cloneElement(option, {\n\t\t\t\t\tcrop: option.props.crop ? option.props.crop : this.props.crop,\n\t\t\t\t})}\n\t\t\t\n\t\t));\n\n\t\treturn (\n\t\t\t\n\t\t\t\t{files}\n\t\t\t\n\t\t);\n\t}\n}\n\nFiles.displayName = displayName;\nFiles.propTypes = propTypes;\nFiles.defaultProps = defaultProps;\n\nexport default Files;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// Implements the [Files design pattern](https://lightningdesignsystem.com/components/files/) in React.\n// Based on SLDS v2.4.0\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\n\n// ### shortid\n// [npmjs.com/package/shortid](https://www.npmjs.com/package/shortid)\n// shortid is a short, non-sequential, url-friendly, unique id generator\nimport shortid from 'shortid';\nimport { FILES_MORE } from '../../utilities/constants';\n\nconst displayName = FILES_MORE;\n\nconst propTypes = {\n\t/**\n\t * **Assistive text for accessibility**\n\t * * count - description for the more files count\n\t * * image - description for the image\n\t * * link - description for the more files link\n\t */\n\tassistiveText: PropTypes.shape({\n\t\tcount: PropTypes.string,\n\t\timage: PropTypes.string,\n\t\tlink: PropTypes.string,\n\t}),\n\t/**\n\t * CSS class names to be added to the container element. `array`, `object`, or `string` are accepted.\n\t */\n\tclassName: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\t/**\n\t * HTML id for component.\n\t */\n\tid: PropTypes.string,\n\t/**\n\t * Controls different cropping aspect ratios for the component\n\t */\n\tcrop: PropTypes.oneOf(['16-by-9', '4-by-3', '1-by-1']),\n\t/**\n\t * Link to thumbnail image\n\t */\n\timage: PropTypes.string,\n\t/**\n\t * Controls the number of additional files that is displayed\n\t */\n\tcount: PropTypes.string,\n\t/**\n\t * Href attribute for image\n\t */\n\thref: PropTypes.string,\n};\n\nconst defaultProps = {\n\tassistiveText: {\n\t\tcount: 'more files',\n\t\timage: 'Show more files',\n\t\tlink: 'Preview:',\n\t},\n\tcrop: '16-by-9',\n\thref: 'javascript:void(0);',\n};\n\n/**\n * MoreFiles is a component that represents a number of file contents uploaded as an attachment.\n */\nclass MoreFiles extends React.Component {\n\t// eslint-disable-next-line camelcase, react/sort-comp\n\tUNSAFE_componentWillMount() {\n\t\tthis.generatedId = shortid.generate();\n\t}\n\n\tgetId() {\n\t\treturn this.props.id || this.generatedId;\n\t}\n\n\trender() {\n\t\tconst assistiveText = {\n\t\t\t...defaultProps.assistiveText,\n\t\t\t...this.props.assistiveText,\n\t\t};\n\n\t\treturn (\n\t\t\t\n\t\t\t\t
    \n\t\t\t\t\t\n\t\t\t\t\t\t
    \n\t\t\t\t\t\t{assistiveText.link}\n\t\t\t\t\t\t{assistiveText.image}\n\t\t\t\t\t\n\t\t\t\t\t
    \n\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t{this.props.count}\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t{assistiveText.count}\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t
    \n\t\t\t\t\t
    \n\t\t\t\t
    \n\t\t\t\n\t\t);\n\t}\n}\n\nMoreFiles.displayName = displayName;\nMoreFiles.propTypes = propTypes;\nMoreFiles.defaultProps = defaultProps;\n\nexport default MoreFiles;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n/* eslint-disable no-script-url */\n\n// # Filter\n\n// Implements part of the [Panel design pattern](https://www.lightningdesignsystem.com/components/panels) in React.\n// Based on SLDS v2.2.0-rc.1\n\n// ## Dependencies\n\n// ### React\nimport React from 'react';\n\nimport PropTypes from 'prop-types';\n\n// ### assign\nimport assign from 'lodash.assign';\n\n// ### classNames\nimport classNames from 'classnames';\n\n// ### shortid\n// [npmjs.com/package/shortid](https://www.npmjs.com/package/shortid)\n// shortid is a short, non-sequential, url-friendly, unique id generator\nimport shortid from 'shortid';\n\nimport Button from '../button';\nimport Popover from '../popover';\n\n// ## Constants\nimport { FILTER } from '../../utilities/constants';\n\n/**\n * A Filter is a popover with custom trigger. It can be used by [Panel Filtering](/components/panels/). Menus within a Filter Popover will need to not have \"portal mounts\" and be inline.\n */\nclass Filter extends React.Component {\n\tstatic displayName = FILTER;\n\n\tstatic propTypes = {\n\t\t/**\n\t\t * Aligns the popover with the respective side of the trigger. That is `left` will place the `Popover` to the left of the Filter.\n\t\t */\n\t\talign: PropTypes.oneOf(['left', 'right']),\n\t\t/**\n\t\t * **Assistive text for accessibility**\n\t\t * * `removeFilter`: Assistive text for removing a filter. The default is `Remove Filter: this.props.property this.props.predicate`.\n\t\t * * `editFilter`: Assistive text for changing a filter.\n\t\t * * `editFilterHeading`: Assistive text for Popover heading.\n\t\t */\n\t\tassistiveText: PropTypes.shape({\n\t\t\teditFilter: PropTypes.string,\n\t\t\teditFilterHeading: PropTypes.string,\n\t\t\tremoveFilter: PropTypes.string,\n\t\t}),\n\t\t/**\n\t\t * Contents of popover. That is the dropdowns and inputs that set the filter criteria.\n\t\t */\n\t\tchildren: PropTypes.node,\n\t\t/**\n\t\t * Custom CSS classes for `slds-filters__item` node. Uses `classNames` [API](https://github.com/JedWatson/classnames).\n\t\t */\n\t\tclassName: PropTypes.oneOfType([\n\t\t\tPropTypes.array,\n\t\t\tPropTypes.object,\n\t\t\tPropTypes.string,\n\t\t]),\n\t\t/**\n\t\t * Applies error state styling. Per filter error messages are outside this components.\n\t\t */\n\t\tisError: PropTypes.bool,\n\t\t/**\n\t\t * A unique ID is needed in order to support keyboard navigation, ARIA support, and connect the dropdown to the triggering button. An `id` will be generated if none is supplied.\n\t\t */\n\t\tid: PropTypes.string,\n\t\t/**\n\t\t * If true, the filter will not display an editing popover when clicked.\n\t\t */\n\t\tisLocked: PropTypes.bool,\n\t\t/**\n\t\t * Applies new filter styling.\n\t\t */\n\t\tisNew: PropTypes.bool,\n\t\t/**\n\t\t * If true, the filter will not include a remove button.\n\t\t */\n\t\tisPermanent: PropTypes.bool,\n\t\t/**\n\t\t * Will be triggered when Done within the Popover is clicked. This is the place to update the filter props displayed. Callback will recieve parameters: `clickEvent, { id }`. An index into your store may be a good setting for `id`, so that it will be passed back here.\n\t\t */\n\t\tonChange: PropTypes.func,\n\t\t/**\n\t\t * Will be triggered when \"Remove Filter\" button is clicked. Callback will recieve parameters: `clickEvent, { id }`. An index into your store may be a good setting for `id`, so that it will be passed back here.\n\t\t */\n\t\tonRemove: PropTypes.func,\n\t\t/**\n\t\t * Will be triggered when Filter is clicked. This is the place to close/open popover if a custom popover is passed in\n\t\t */\n\t\tonClick: PropTypes.func,\n\t\t/**\n\t\t * A `Popover` component. The props from this popover will be merged and override any default props. This also allows a Filter's Popover dialog to be a controlled component. _Tested with Mocha framework._\n\t\t */\n\t\tpopover: PropTypes.node,\n\t\t/**\n\t\t * The criteria you are filtering for. For instance, if \"Hair Color is PURPLE\" is your filter, \"is PURPLE\" is your filter predicate.\n\t\t */\n\t\tpredicate: PropTypes.node,\n\t\t/**\n\t\t * The property you are filtering. For instance, if \"Hair Color is PURPLE\" is your filter, \"Hair Color\" is your filter property.\n\t\t */\n\t\tproperty: PropTypes.node,\n\t};\n\n\tstatic defaultProps = {\n\t\talign: 'left',\n\t\tassistiveText: {\n\t\t\teditFilter: 'Edit filter:',\n\t\t\teditFilterHeading: 'Choose filter criteria',\n\t\t},\n\t\tpredicate: 'New Filter',\n\t};\n\n\tstate = {\n\t\tpopoverIsOpen: this.props.popover ? this.props.popover.props.isOpen : false,\n\t};\n\n\tconstructor(props) {\n\t\tsuper(props);\n\n\t\tthis.generatedId = shortid.generate();\n\t}\n\n\tgetId = () => this.props.id || this.generatedId;\n\n\tgetCustomPopoverProps = ({ assistiveText }) => {\n\t\t/*\n\t\t * Generate the popover props based on passed in popover props. Using the default behavior if not provided by passed in popover\n\t\t */\n\t\tconst popoverBody = (\n\t\t\t
    \n\t\t\t\t\n\t\t\t\t\t{assistiveText.editFilterHeading}\n\t\t\t\t\n\t\t\t\t{this.props.children}\n\t\t\t\t
    \n\t\t\t\t\t\n\t\t\t\t
    \n\t\t\t
    \n\t\t);\n\n\t\tconst defaultPopoverProps = {\n\t\t\tariaLabelledby: `${this.getId()}-popover-heading`,\n\t\t\talign: this.props.align,\n\t\t\tbody: popoverBody,\n\t\t\theading: '',\n\t\t\tid: this.getId(),\n\t\t\tisOpen: this.state.popoverIsOpen,\n\t\t\t// MAGIC NUMBERS - REMOVE/REDESIGN WHEN DESIGN FOR RIGHT-ALIGNED FILTERS ARE ADDED TO SLDS\n\t\t\toffset: this.props.align === 'right' ? '0px -35px' : undefined,\n\t\t\tonClose: this.handleClose,\n\t\t\tonRequestClose: this.handleClose,\n\t\t\tposition: 'overflowBoundaryElement',\n\t\t\ttriggerClassName: 'slds-grow',\n\t\t};\n\n\t\t/* Mixin passed popover's props if there is any to override the default popover props */\n\t\tconst popoverProps = assign(\n\t\t\tdefaultPopoverProps,\n\t\t\tthis.props.popover ? this.props.popover.props : {}\n\t\t);\n\t\t// eslint-disable-next-line fp/no-delete\n\t\tdelete popoverProps.children;\n\t\treturn popoverProps;\n\t};\n\n\thandleFilterClick = () => {\n\t\tthis.setState({ popoverIsOpen: true });\n\n\t\tif (this.props.onClick) {\n\t\t\tthis.props.onClick();\n\t\t}\n\t};\n\n\thandleClose = () => {\n\t\tthis.setState({ popoverIsOpen: false });\n\t};\n\n\thandleChange = (event) => {\n\t\tthis.setState({ popoverIsOpen: false });\n\n\t\tif (this.props.onChange) {\n\t\t\tthis.props.onChange(event, { id: this.getId() });\n\t\t}\n\t};\n\n\thandleRemove = (event) => {\n\t\tif (this.props.onRemove) {\n\t\t\tthis.props.onRemove(event, { id: this.getId() });\n\t\t}\n\t};\n\n\trender() {\n\t\t/* Remove at next breaking change */\n\t\tconst assistiveText = {\n\t\t\teditFilter:\n\t\t\t\tthis.props.assistiveTextEditFilter || // eslint-disable-line react/prop-types\n\t\t\t\tthis.props.assistiveText.editFilter,\n\t\t\teditFilterHeading:\n\t\t\t\tthis.props.assistiveTextEditFilterHeading || // eslint-disable-line react/prop-types\n\t\t\t\tthis.props.assistiveText.editFilterHeading,\n\t\t\tremoveFilter:\n\t\t\t\tthis.props.assistiveTextRemoveFilter || // eslint-disable-line react/prop-types\n\t\t\t\tthis.props.assistiveText.removeFilter ||\n\t\t\t\t`Remove Filter: ${this.props.property} ${this.props.predicate}`,\n\t\t};\n\n\t\t/* TODO: Button wrapper for property and predictate should be transitioned to `Button` component. `Button` needs to take custom children first though. */\n\t\tconst popoverProps = this.getCustomPopoverProps({ assistiveText });\n\t\treturn (\n\t\t\t\n\t\t\t\t{!this.props.isLocked && (this.props.children || this.props.popover) ? (\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t{assistiveText.editFilter}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t{this.props.property ? (\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t{this.props.property}\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t) : null}\n\t\t\t\t\t\t\t{this.props.predicate}\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t) : (\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t{this.props.property}\n\t\t\t\t\t\t\n\t\t\t\t\t\t{this.props.predicate}\n\t\t\t\t\t\n\t\t\t\t)}\n\t\t\t\t{\n\t\t\t\t\t// Remove button\n\t\t\t\t\t!this.props.isPermanent && !this.props.isLocked ? (\n\t\t\t\t\t\t\n\t\t\t\t\t) : null\n\t\t\t\t}\n\t\t\t\n\t\t);\n\t}\n}\n\nexport default Filter;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n/* eslint-disable import/no-mutable-exports */\n\nimport componentIsDeprecated from '../../utilities/warning/component-is-deprecated';\nimport deprecatedProperty from '../../utilities/warning/deprecated-property';\nimport getComponentDocFn from '../../utilities/get-component-doc';\nimport sunsetProperty from '../../utilities/warning/sunset-property';\n\n// ## Constants\nimport {\n\tGLOBAL_HEADER_BUTTON,\n\tGLOBAL_HEADER_DROPDOWN,\n\tGLOBAL_HEADER_PROFILE,\n} from '../../utilities/constants';\n\nlet checkProps = function checkPropsFunction() {};\n\nif (process.env.NODE_ENV !== 'production') {\n\tcheckProps = function checkPropsFunction(COMPONENT, props, jsonDoc) {\n\t\tif (\n\t\t\tCOMPONENT === GLOBAL_HEADER_BUTTON ||\n\t\t\tCOMPONENT === GLOBAL_HEADER_DROPDOWN\n\t\t) {\n\t\t\tcomponentIsDeprecated(\n\t\t\t\tCOMPONENT,\n\t\t\t\tprops,\n\t\t\t\t`${COMPONENT} has been deprecated in favor of more-specific global header subcomponents. Please see docs for updated examples.`\n\t\t\t);\n\t\t}\n\n\t\tif (COMPONENT === GLOBAL_HEADER_PROFILE) {\n\t\t\tconst popoverExtraMessage =\n\t\t\t\t'Use the `popover` attribute to provide a `Popover` component with content inside the `body` prop instead.';\n\n\t\t\tsunsetProperty(COMPONENT, props.align, 'align');\n\n\t\t\tsunsetProperty(\n\t\t\t\tCOMPONENT,\n\t\t\t\tprops.children,\n\t\t\t\t'children',\n\t\t\t\tpopoverExtraMessage\n\t\t\t);\n\n\t\t\tsunsetProperty(COMPONENT, props.nubbinPosition, 'nubbinPosition');\n\n\t\t\tsunsetProperty(COMPONENT, props.offset, 'offset');\n\n\t\t\tsunsetProperty(COMPONENT, props.onSelect, 'onSelect');\n\n\t\t\tsunsetProperty(COMPONENT, props.options, 'options', popoverExtraMessage);\n\t\t}\n\n\t\tconst createDocUrl = getComponentDocFn(jsonDoc);\n\n\t\tdeprecatedProperty(\n\t\t\tCOMPONENT,\n\t\t\tprops.skipToContentAssistiveText,\n\t\t\t'skipToContentAssistiveText',\n\t\t\t\"assistiveText['skipToContent']\",\n\t\t\tcreateDocUrl('assistiveText')\n\t\t);\n\t\tdeprecatedProperty(\n\t\t\tCOMPONENT,\n\t\t\tprops.skipToNavAssistiveText,\n\t\t\t'skipToNavAssistiveText',\n\t\t\t\"assistiveText['skipToNav']\",\n\t\t\tcreateDocUrl('assistiveText')\n\t\t);\n\t};\n}\n\nexport default checkProps;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// # Global Header Component\n\n// Implements the [Global Header design pattern](https://www.lightningdesignsystem.com/components/global-header) in React.\n// Based on SLDS v2.1.0-rc.2\n\n// ## Dependencies\n\n// ### React\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\n// This component's `checkProps` which issues warnings to developers about properties when in development mode (similar to React's built in development tools)\nimport checkProps from './check-props';\nimport componentDoc from './component.json';\n\n// ### Event Helpers\nimport EventUtil from '../../utilities/event';\n\n// ## Constants\nimport {\n\tGLOBAL_HEADER,\n\tGLOBAL_HEADER_FAVORITES,\n\tGLOBAL_HEADER_HELP,\n\tGLOBAL_HEADER_NOTIFICATIONS,\n\tGLOBAL_HEADER_PROFILE,\n\tGLOBAL_HEADER_SEARCH,\n\tGLOBAL_HEADER_SETUP,\n\tGLOBAL_HEADER_TASK,\n\tGLOBAL_HEADER_TOOL,\n} from '../../utilities/constants';\n\nconst defaultProps = {\n\tassistiveText: {\n\t\tskipToNav: 'Skip to Navigation',\n\t\tskipToContent: 'Skip to Main Content',\n\t},\n\tlogoSrc: '/assets/images/logo-noname.svg',\n};\n\n/**\n * The global header is the anchor for the Salesforce platform and spans all other parts of the UI. It accepts children to define the items displayed within.\n *\n * Example:\n * ```\n * \n * \n * \n * \n * \n * \n * \n * ```\n */\nclass GlobalHeader extends React.Component {\n\tstatic displayName = GLOBAL_HEADER;\n\n\tstatic propTypes = {\n\t\t/**\n\t\t * **Assistive text for accessibility.**\n\t\t * This object is merged with the default props object on every render.\n\t\t * * `skipToNav`: The localized text that will be read back for the \"Skip to Navigation\" accessibility link.\n\t\t * * `skipToContent`: The localized text that will be read back for the \"Skip to Main Content\" accessibility link.\n\t\t */\n\t\tassistiveText: PropTypes.shape({\n\t\t\tskipToNav: PropTypes.string,\n\t\t\tskipToContent: PropTypes.string,\n\t\t}),\n\t\t/**\n\t\t * See the component description, this accepts some combination of `SLDSGlobalHeaderSearch`, `SLDSGlobalHeaderButton`, `SLDSGlobalHeaderDropdown`, and `SLDSGlobalHeaderProfile` components.\n\t\t */\n\t\tchildren: PropTypes.node,\n\t\t/**\n\t\t * The Salesforce logo to display in the header.\n\t\t */\n\t\tlogoSrc: PropTypes.string,\n\t\t/**\n\t\t * Pass in the Global Navigation Bar component\n\t\t */\n\t\tnavigation: PropTypes.node,\n\t\t/**\n\t\t * Required for accessibility. Should jump the user to the primary content area.\n\t\t */\n\t\tonSkipToContent: PropTypes.func,\n\t\t/**\n\t\t * Required for accessibility. Should jump the user to the primary navigation.\n\t\t */\n\t\tonSkipToNav: PropTypes.func,\n\t};\n\n\tstatic defaultProps = defaultProps;\n\n\tconstructor(props) {\n\t\tsuper(props);\n\n\t\tcheckProps(GLOBAL_HEADER, props, componentDoc);\n\t}\n\n\thandleSkipToContent = (e) => {\n\t\tEventUtil.trap(e);\n\t\tthis.props.onSkipToContent(e);\n\t};\n\n\thandleSkipToNav = (e) => {\n\t\tEventUtil.trap(e);\n\t\tthis.props.onSkipToNav(e);\n\t};\n\n\trender() {\n\t\tconst assistiveText = {\n\t\t\t...defaultProps.assistiveText,\n\t\t\t...this.props.assistiveText,\n\t\t};\n\t\tlet actions = {\n\t\t\t[GLOBAL_HEADER_FAVORITES]: [],\n\t\t\t[GLOBAL_HEADER_HELP]: [],\n\t\t\t[GLOBAL_HEADER_NOTIFICATIONS]: [],\n\t\t\t[GLOBAL_HEADER_PROFILE]: [],\n\t\t\t[GLOBAL_HEADER_SETUP]: [],\n\t\t\t[GLOBAL_HEADER_TASK]: [],\n\t\t\t[GLOBAL_HEADER_TOOL]: [], // support for deprecated GlobalHeaderButton and GlobalHeaderDropdown\n\t\t};\n\t\tlet search;\n\n\t\tReact.Children.forEach(this.props.children, (child) => {\n\t\t\tif (child) {\n\t\t\t\tif (child.type.displayName === GLOBAL_HEADER_SEARCH) {\n\t\t\t\t\tsearch = child;\n\t\t\t\t} else if (actions[child.type.displayName]) {\n\t\t\t\t\t// eslint-disable-next-line fp/no-mutating-methods\n\t\t\t\t\tactions[child.type.displayName].push(child);\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\n\t\tactions = [].concat(\n\t\t\tactions[GLOBAL_HEADER_FAVORITES],\n\t\t\tactions[GLOBAL_HEADER_TASK],\n\t\t\tactions[GLOBAL_HEADER_HELP],\n\t\t\tactions[GLOBAL_HEADER_SETUP],\n\t\t\tactions[GLOBAL_HEADER_NOTIFICATIONS],\n\t\t\tactions[GLOBAL_HEADER_TOOL], // support for deprecated GlobalHeaderButton and GlobalHeaderDropdown\n\t\t\tactions[GLOBAL_HEADER_PROFILE]\n\t\t);\n\n\t\t/* eslint-disable max-len, no-script-url */\n\t\treturn (\n\t\t\t
    \n\t\t\t\t{this.props.onSkipToNav ? (\n\t\t\t\t\t\n\t\t\t\t\t\t{this.props.skipToNavAssistiveText || assistiveText.skipToNav}\n\t\t\t\t\t\n\t\t\t\t) : null}\n\t\t\t\t{this.props.onSkipToContent ? (\n\t\t\t\t\t\n\t\t\t\t\t\t{this.props.skipToContentAssistiveText ||\n\t\t\t\t\t\t\tassistiveText.skipToContent}\n\t\t\t\t\t\n\t\t\t\t) : null}\n\t\t\t\t
    \n\t\t\t\t\t
    \n\t\t\t\t\t\t\n\t\t\t\t\t
    \n\t\t\t\t\t{search}\n\t\t\t\t\t
    \n\t\t\t\t\t\t
      \n\t\t\t\t\t\t\t{actions.map((actionItem, index) => (\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t{actionItem}\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t
    \n\t\t\t\t\t
    \n\t\t\t\t
    \n\t\t\t\t{this.props.navigation}\n\t\t\t
    \n\t\t);\n\t\t/* eslint-enable max-len, no-script-url */\n\t}\n}\n\nexport default GlobalHeader;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// # Global Header Button Component\n// NOTE: THIS COMPONENT HAS BEEN DEPRECATED AND WILL BE REMOVED IN FUTURE MAJOR RELEASES\n\n// ## Dependencies\n\n// ### React\nimport React from 'react';\n\n// ### Button\nimport Button from '../button';\n\n// This component's `checkProps` which issues warnings to developers about properties\n// when in development mode (similar to React's built in development tools)\nimport checkProps from './check-props';\n\n// ## Constants\nimport {\n\tGLOBAL_HEADER_BUTTON,\n\tGLOBAL_HEADER_TOOL,\n} from '../../utilities/constants';\n\n/**\n * A helper component that renders a Button in the tools area of the Global Header. Currently defaults to a bare icon, but this can be overriden if text-based buttons are required.\n */\nconst GlobalHeaderButton = (props) => {\n\tcheckProps(GLOBAL_HEADER_BUTTON, props);\n\tconst { buttonVariant, ...rest } = props;\n\tconst btn = \n\t\t\t\t{menu}\n\t\t\t\n\t\t);\n\t}\n}\n\nexport default GlobalHeaderDropdownTrigger;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// # Global Header Dropdown Component\n// NOTE: THIS COMPONENT HAS BEEN DEPRECATED AND WILL BE REMOVED IN FUTURE MAJOR RELEASES\n\n// ## Dependencies\n\n// ### React\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\n// ### Dropdown\nimport MenuDropdown from '../menu-dropdown';\nimport GlobalHeaderTrigger from './private/dropdown-trigger';\n\n// This component's `checkProps` which issues warnings to developers about properties\n// when in development mode (similar to React's built in development tools)\nimport checkProps from './check-props';\n\n// ## Constants\nimport {\n\tGLOBAL_HEADER_DROPDOWN,\n\tGLOBAL_HEADER_TOOL,\n} from '../../utilities/constants';\n\n/**\n * This component is an implementation of `MenuDropdown` with a custom trigger. All the properties listed below are provided to the `MenuDropdown` component. Any additional properties are provided to the Custom Trigger (that is the `Button` or `li` tag).\n */\nconst GlobalHeaderDropdown = (props) => {\n\tcheckProps(GLOBAL_HEADER_DROPDOWN, props);\n\n\tconst { globalAction, iconVariant, ...rest } = props;\n\tlet iconVariantOverride;\n\n\tif (globalAction) {\n\t\ticonVariantOverride = 'container';\n\t}\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\n\t);\n};\n\n// ### Display Name\n// Always use the canonical component name (set in the core) as the React\n// display name.\nGlobalHeaderDropdown.displayName = GLOBAL_HEADER_TOOL;\n\n// ### Prop Types\nGlobalHeaderDropdown.propTypes = {\n\t/**\n\t * Aligns the right or left side of the menu with the respective side of the trigger. This is not intended for use with `nubbinPosition`.\n\t */\n\talign: PropTypes.oneOf(['left', 'right']),\n\t/**\n\t * Extra classnames to apply to the dropdown menu.\n\t */\n\tclassName: PropTypes.string,\n\t/**\n\t * CSS classes to be added to `li` element.\n\t */\n\tbuttonClassName: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\t/**\n\t * Name of the icon. Visit Lightning Design System Icons to reference icon names.\n\t */\n\ticonName: PropTypes.string,\n\t/**\n\t * For icon variants, please reference Lightning Design System Icons.\n\t */\n\ticonVariant: PropTypes.oneOf([\n\t\t'bare',\n\t\t'container',\n\t\t'border',\n\t\t'border-filled',\n\t\t'more',\n\t\t'global-header',\n\t]),\n\t/**\n\t * A unique ID is needed in order to support keyboard navigation, ARIA support, and connect the dropdown to the triggering button.\n\t */\n\tid: PropTypes.string,\n\t/**\n\t * Adds custom styling such as inverse fill and special sizing/spacing\n\t */\n\tglobalAction: PropTypes.bool,\n\t/**\n\t * Positions dropdown menu with a nubbin--that is the arrow notch. The placement options correspond to the placement of the nubbin. This is implemeted with CSS classes and is best used with a `Button` with \"icon container\" styling. Dropdown menus will still be contained to the closest scrolling parent.\n\t */\n\tnubbinPosition: PropTypes.oneOf([\n\t\t'top left',\n\t\t'top',\n\t\t'top right',\n\t\t'bottom left',\n\t\t'bottom',\n\t\t'bottom right',\n\t]),\n\t/**\n\t * Offset adds pixels to the absolutely positioned dropdown menu in the format: ([vertical]px [horizontal]px).\n\t */\n\toffset: PropTypes.string,\n\t/**\n\t * Triggered when an item in the menu is clicked.\n\t */\n\tonSelect: PropTypes.func,\n\t/**\n\t * An array of menu item.\n\t */\n\toptions: PropTypes.array.isRequired,\n};\n\n// ### Default Props\nGlobalHeaderDropdown.defaultProps = {\n\talign: 'right',\n\tbuttonVariant: 'icon',\n\ticonVariant: 'global-header',\n\tnubbinPosition: 'top right',\n};\n\nexport default GlobalHeaderDropdown;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// # Global Header Favorites Component\n// Implements the [Global Header Help design pattern](https://www.lightningdesignsystem.com/components/global-header/#Help) in React.\n\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport assign from 'lodash.assign';\nimport classnames from 'classnames';\n\nimport Button from '../button';\nimport EventUtil from '../../utilities/event';\nimport KEYS from '../../utilities/key-code';\nimport Popover from '../popover';\n\nimport { GLOBAL_HEADER_FAVORITES } from '../../utilities/constants';\n\nconst propTypes = {\n\t/**\n\t * **Assistive text for accessibility**\n\t * * `action`: Description of star button. Default is \"Toggle Favorite.\"\n\t * * `more`: Description of dropdown menu. Default is \"View Favorites.\"\n\t */\n\tassistiveText: PropTypes.shape({\n\t\taction: PropTypes.string,\n\t\tmore: PropTypes.string,\n\t}),\n\t/**\n\t * Disables the favorites action (star) button and not the related Popover.\"\n\t */\n\tactionDisabled: PropTypes.bool,\n\t/**\n\t * Controls whether the favorites action (star) button is selected or not\n\t */\n\tactionSelected: PropTypes.bool,\n\t/**\n\t * This event fires when the favorites action (star) button is toggled. Passes in `event, { actionSelected }`.\n\t */\n\tonToggleActionSelected: PropTypes.func,\n\t/**\n\t * A `Popover` component applied to the favorites more button. The props from this popover will be merged and override any default props. The `children` prop will be ignored.\n\t */\n\tpopover: PropTypes.node,\n};\n\n/**\n * A GlobalHeaderFavorites component. The favorites action is used to \"favorite\" a commonly used page within a user's experience. When a user \"favorites\" a page by pressing the favorites action, the button icon changes color with a small animation to confirm your selection.\n */\nclass GlobalHeaderFavorites extends React.Component {\n\ttoggleActionSelected = (event) => {\n\t\tif (this.props.onToggleActionSelected) {\n\t\t\tthis.props.onToggleActionSelected(event, {\n\t\t\t\tactionSelected: this.props.actionSelected || false,\n\t\t\t});\n\t\t}\n\t};\n\n\trender() {\n\t\tconst actionAriaProps = {};\n\t\tconst popoverProps = assign(\n\t\t\t{\n\t\t\t\talign: 'bottom',\n\t\t\t\tbody: ,\n\t\t\t\ttriggerClassName: 'slds-dropdown-trigger slds-dropdown-trigger_click',\n\t\t\t},\n\t\t\tthis.props.popover ? this.props.popover.props : {}\n\t\t);\n\n\t\t// eslint-disable-next-line fp/no-delete\n\t\tdelete popoverProps.children;\n\n\t\tif (this.props.actionSelected) {\n\t\t\tactionAriaProps['aria-pressed'] = true;\n\t\t}\n\n\t\treturn (\n\t\t\t
    \n\t\t\t\t
    \n\t\t\t\t\t {\n\t\t\t\t\t\t\tif (event.keyCode === KEYS.ENTER) {\n\t\t\t\t\t\t\t\tEventUtil.trapImmediate(event);\n\t\t\t\t\t\t\t\tthis.toggleActionSelected(event);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}}\n\t\t\t\t\t\ttitle={this.props.assistiveText.action}\n\t\t\t\t\t\tvariant=\"icon\"\n\t\t\t\t\t\t{...actionAriaProps}\n\t\t\t\t\t/>\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t
    \n\t\t\t
    \n\t\t);\n\t}\n}\n\nGlobalHeaderFavorites.displayName = GLOBAL_HEADER_FAVORITES;\n\nGlobalHeaderFavorites.defaultProps = {\n\tassistiveText: {\n\t\taction: 'Toggle Favorite',\n\t\tmore: 'View Favorites',\n\t},\n};\n\nGlobalHeaderFavorites.propTypes = propTypes;\n\nexport default GlobalHeaderFavorites;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// # Global Header Help Component\n// Implements the [Global Header Help design pattern](https://www.lightningdesignsystem.com/components/global-header/#Help) in React.\n\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport assign from 'lodash.assign';\nimport Button from '../button';\nimport Popover from '../popover';\n\nimport { GLOBAL_HEADER_HELP } from '../../utilities/constants';\n\nconst propTypes = {\n\t/**\n\t * **Assistive text for accessibility**\n\t * * `triggerButton`: Assistive text for the GlobalHeaderHelp trigger button. The default is `Help and Training`.\n\t */\n\tassistiveText: PropTypes.shape({\n\t\ttriggerButton: PropTypes.string,\n\t}),\n\t/**\n\t * A `Popover` component. The props from this popover will be merged and override any default props. The `children` prop will be ignored.\n\t */\n\tpopover: PropTypes.node,\n};\n\n/**\n * A GlobalHeaderHelp component.\n */\nclass GlobalHeaderHelp extends React.Component {\n\trender() {\n\t\tconst buttonAriaProps = {\n\t\t\t'aria-haspopup': true,\n\t\t};\n\t\tconst popoverProps = assign(\n\t\t\t{\n\t\t\t\talign: 'bottom',\n\t\t\t\tbody: ,\n\t\t\t\ttriggerClassName: 'slds-dropdown-trigger slds-dropdown-trigger_click',\n\t\t\t},\n\t\t\tthis.props.popover ? this.props.popover.props : {}\n\t\t);\n\n\t\t// eslint-disable-next-line fp/no-delete\n\t\tdelete popoverProps.children;\n\n\t\treturn (\n\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t);\n\t}\n}\n\nGlobalHeaderHelp.displayName = GLOBAL_HEADER_HELP;\n\nGlobalHeaderHelp.defaultProps = {\n\tassistiveText: {\n\t\ttriggerButton: 'Help and Training',\n\t},\n};\n\nGlobalHeaderHelp.propTypes = propTypes;\n\nexport default GlobalHeaderHelp;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// # Global Header Notifications Component\n// Implements the [Global Header Notifications design pattern](https://www.lightningdesignsystem.com/components/global-header/#Notifications) in React.\n\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport assign from 'lodash.assign';\nimport Button from '../button';\nimport Popover from '../popover';\n\nimport { GLOBAL_HEADER_NOTIFICATIONS } from '../../utilities/constants';\n\nconst propTypes = {\n\t/**\n\t * **Assistive text for accessibility**\n\t * * `newNotificationsAfter`: Assistive text for when there are new notifications, after the notificationCount. The default is ' new notifications'.\n\t * * `newNotificationsBefore`: Assistive text for when there are new notifications, before the notificationCount. The default is ''.\n\t * * `noNotifications`: Assistive text for when there are no new notifications.\n\t */\n\tassistiveText: PropTypes.shape({\n\t\tnewNotificationsAfter: PropTypes.string,\n\t\tnewNotificationsBefore: PropTypes.string,\n\t\tnoNotifications: PropTypes.string,\n\t}),\n\t/**\n\t * Dictates the number of notifications shown in the new notifications badge.\n\t */\n\tnotificationCount: PropTypes.number,\n\t/**\n\t * A `Popover` component. The props from this popover will be merged and override any default props. The `children` prop will be ignored.\n\t */\n\tpopover: PropTypes.node,\n};\n\n/**\n * A GlobalHeaderNotifications component. Notifications are a way to notify a user about a global change within the application.\n */\nclass GlobalHeaderNotifications extends React.Component {\n\trender() {\n\t\tconst buttonAriaProps = {\n\t\t\t'aria-live': 'assertive',\n\t\t};\n\t\tconst { notificationCount } = this.props;\n\t\tconst popoverProps = assign(\n\t\t\t{\n\t\t\t\talign: 'bottom right',\n\t\t\t\tbody: ,\n\t\t\t\ttriggerClassName: 'slds-dropdown-trigger slds-dropdown-trigger_click',\n\t\t\t},\n\t\t\tthis.props.popover ? this.props.popover.props : {}\n\t\t);\n\t\tlet notificationsAssistiveText = this.props.assistiveText.noNotifications;\n\n\t\t// eslint-disable-next-line fp/no-delete\n\t\tdelete popoverProps.children;\n\n\t\tif (notificationCount > 0) {\n\t\t\tnotificationsAssistiveText = `${this.props.assistiveText.newNotificationsBefore}${notificationCount}${this.props.assistiveText.newNotificationsAfter}`;\n\t\t} else {\n\t\t\tbuttonAriaProps['aria-atomic'] = true;\n\t\t}\n\n\t\treturn (\n\t\t\t\n\t\t\t\t\n\t\t\t\t{notificationCount > 0 ? (\n\t\t\t\t\t\n\t\t\t\t\t\t{notificationCount}\n\t\t\t\t\t\n\t\t\t\t) : (\n\t\t\t\t\t\n\t\t\t\t)}\n\t\t\t\n\t\t);\n\t}\n}\n\nGlobalHeaderNotifications.displayName = GLOBAL_HEADER_NOTIFICATIONS;\n\nGlobalHeaderNotifications.defaultProps = {\n\tassistiveText: {\n\t\tnewNotificationsAfter: ' new notifications',\n\t\tnewNotificationsBefore: '',\n\t\tnoNotifications: 'No new notifications',\n\t},\n\tnotificationCount: 0,\n};\n\nGlobalHeaderNotifications.propTypes = propTypes;\n\nexport default GlobalHeaderNotifications;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// # Global Header Button Component\n\n// ## Dependencies\n\n// ### React\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\nimport assign from 'lodash.assign';\nimport classnames from 'classnames';\n\nimport checkProps from './check-props';\n\nimport Button from '../button';\nimport Popover from '../popover';\n\n// ## Constants\nimport { GLOBAL_HEADER_PROFILE } from '../../utilities/constants';\n\n/**\n * This component is an `Avatar` component that opens a `Popover` component when clicked.\n */\nclass GlobalHeaderProfile extends React.Component {\n\tconstructor(props) {\n\t\tsuper(props);\n\t\tcheckProps(GLOBAL_HEADER_PROFILE, props);\n\t}\n\n\trender() {\n\t\tconst buttonAriaProps = {\n\t\t\t'aria-haspopup': true,\n\t\t};\n\t\tconst popoverProps = assign(\n\t\t\t{\n\t\t\t\talign: 'bottom right',\n\t\t\t\tbody: ,\n\t\t\t\tclassName: this.props.className,\n\t\t\t\theading: this.props.userName,\n\t\t\t\tid: this.props.id,\n\t\t\t\ttriggerClassName: 'slds-dropdown-trigger slds-dropdown-trigger_click',\n\t\t\t},\n\t\t\tthis.props.popover ? this.props.popover.props : {}\n\t\t);\n\t\t// Note: the default avatar is done this way to prevent documentation from showing this giant string\n\t\t/* eslint-disable max-len */\n\t\tlet avatar =\n\t\t\t'data:image/jpeg;base64,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';\n\t\t/* eslint-enable max-len */\n\n\t\t// eslint-disable-next-line fp/no-delete\n\t\tdelete popoverProps.children;\n\n\t\tavatar = this.props.avatar ? this.props.avatar : avatar;\n\n\t\treturn (\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t{typeof avatar === 'string' ? (\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t{this.props.userName}\n\t\t\t\t\t\t\n\t\t\t\t\t) : (\n\t\t\t\t\t\tavatar || null\n\t\t\t\t\t)}\n\t\t\t\t\n\t\t\t\n\t\t);\n\t}\n}\n\n// ### Display Name\nGlobalHeaderProfile.displayName = GLOBAL_HEADER_PROFILE;\n\n// ### Prop Types\nGlobalHeaderProfile.propTypes = {\n\t/**\n\t * Extra classnames to apply to the popover.\n\t */\n\tclassName: PropTypes.string,\n\t/**\n\t * An image URL or avatar node to display for the user profile. Defaults to a base64 encoded generic user avatar image string\n\t */\n\tavatar: PropTypes.oneOfType([PropTypes.string, PropTypes.node]),\n\t/**\n\t * CSS classes to be added to the `button` element.\n\t */\n\tbuttonClassName: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\t/**\n\t * A unique ID is needed in order to support keyboard navigation, ARIA support, and connect the popover to the triggering button. If an id is not provided, it will be automatically generated.\n\t */\n\tid: PropTypes.string,\n\t/**\n\t * A `Popover` component. The props from this popover will be merged and override any default props.\n\t */\n\tpopover: PropTypes.node,\n\t/**\n\t * The user name of the profile. Defaults to \"User Name\"\n\t */\n\tuserName: PropTypes.string,\n};\n\n// ### Default Props\nGlobalHeaderProfile.defaultProps = {\n\tuserName: 'User Name',\n};\n\nexport default GlobalHeaderProfile;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// # Global Header Search Component\n\n// ## Dependencies\n\n// ### React\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\n// ## Constants\nimport { GLOBAL_HEADER_SEARCH } from '../../utilities/constants';\n\n/**\n * The GlobalHeaderSearch component is used for application wide search. The form element is implemented as a `Combobox`.\n */\nconst GlobalHeaderSearch = (props) => (\n\t
    \n\t\t{props.combobox}\n\t
    \n);\n\nGlobalHeaderSearch.displayName = GLOBAL_HEADER_SEARCH;\n\nGlobalHeaderSearch.propTypes = {\n\t/**\n\t * A required `Combobox` component. The props from this combobox will be merged and override any default props.\n\t */\n\tcombobox: PropTypes.node.isRequired,\n};\n\nexport default GlobalHeaderSearch;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// # Global Header Setup Component\n// Implements the [Global Header Setup design pattern](https://www.lightningdesignsystem.com/components/global-header/#Setup) in React.\n\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport assign from 'lodash.assign';\nimport Button from '../button';\nimport Dropdown from '../menu-dropdown';\nimport DropdownTrigger from '../menu-dropdown/button-trigger';\n\nimport { GLOBAL_HEADER_SETUP } from '../../utilities/constants';\n\nconst propTypes = {\n\t/**\n\t * **Assistive text for accessibility**\n\t * * `triggerButton`: Assistive text for the GlobalHeaderSetup trigger button. The default is `Setup`.\n\t */\n\tassistiveText: PropTypes.shape({\n\t\ttriggerButton: PropTypes.string,\n\t}),\n\t/**\n\t * A `Dropdown` component. The props from this dropdown will be merged and override any default props. This also allows custom content to be passed as children and rendered in the dropdown.\n\t */\n\tdropdown: PropTypes.node,\n};\n\n/**\n * A GlobalHeaderSetup component.\n */\nclass GlobalHeaderSetup extends React.Component {\n\trender() {\n\t\tconst buttonAriaProps = {\n\t\t\t'aria-haspopup': true,\n\t\t};\n\t\tconst dropdownProps = assign(\n\t\t\t{\n\t\t\t\talign: 'right',\n\t\t\t\tnubbinPosition: 'top right',\n\t\t\t},\n\t\t\tthis.props.dropdown ? this.props.dropdown.props : {}\n\t\t);\n\t\tconst dropdownChildren = dropdownProps.children || null;\n\n\t\t// eslint-disable-next-line fp/no-delete\n\t\tdelete dropdownProps.children;\n\n\t\treturn (\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t{dropdownChildren}\n\t\t\t\n\t\t);\n\t}\n}\n\nGlobalHeaderSetup.displayName = GLOBAL_HEADER_SETUP;\n\nGlobalHeaderSetup.defaultProps = {\n\tassistiveText: {\n\t\ttriggerButton: 'Setup',\n\t},\n};\n\nGlobalHeaderSetup.propTypes = propTypes;\n\nexport default GlobalHeaderSetup;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// # Global Header Task Component\n// Implements the [Global Header Task design pattern](https://www.lightningdesignsystem.com/components/global-header/#Task) in React.\n\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport assign from 'lodash.assign';\nimport Button from '../button';\nimport Dropdown from '../menu-dropdown';\nimport DropdownTrigger from '../menu-dropdown/button-trigger';\n\nimport { GLOBAL_HEADER_TASK } from '../../utilities/constants';\n\nconst propTypes = {\n\t/**\n\t * **Assistive text for accessibility**\n\t * * `triggerButton`: Assistive text for the GlobalHeaderTask trigger button. The default is `Global Actions`.\n\t */\n\tassistiveText: PropTypes.shape({\n\t\ttriggerButton: PropTypes.string,\n\t}),\n\t/**\n\t * A `Dropdown` component. The props from this dropdown will be merged and override any default props. This also allows custom content to be passed as children and rendered in the dropdown.\n\t */\n\tdropdown: PropTypes.node,\n};\n\n/**\n * A GlobalHeaderTask component.\n */\nclass GlobalHeaderTask extends React.Component {\n\trender() {\n\t\tconst buttonAriaProps = {\n\t\t\t'aria-haspopup': true,\n\t\t};\n\t\tconst dropdownProps = assign(\n\t\t\t{\n\t\t\t\talign: 'right',\n\t\t\t\tnubbinPosition: 'top right',\n\t\t\t},\n\t\t\tthis.props.dropdown ? this.props.dropdown.props : {}\n\t\t);\n\t\tconst dropdownChildren = dropdownProps.children || null;\n\n\t\t// eslint-disable-next-line fp/no-delete\n\t\tdelete dropdownProps.children;\n\n\t\treturn (\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t{dropdownChildren}\n\t\t\t\n\t\t);\n\t}\n}\n\nGlobalHeaderTask.displayName = GLOBAL_HEADER_TASK;\n\nGlobalHeaderTask.defaultProps = {\n\tassistiveText: {\n\t\ttriggerButton: 'Global Actions',\n\t},\n};\n\nGlobalHeaderTask.propTypes = propTypes;\n\nexport default GlobalHeaderTask;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// # Global Navigation Bar Component\n\n// Implements the [Global Navigation Bar design pattern](https://www.lightningdesignsystem.com/components/global-navigation#flavor-navigation-bar) in React.\n// Based on SLDS v2.1.0-rc.2\n\n// ## Dependencies\n\n// ### React\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\n// ### classNames\nimport classNames from 'classnames';\n\n// ## Constants\nimport {\n\tGLOBAL_NAVIGATION_BAR,\n\tGLOBAL_NAVIGATION_BAR_REGION,\n} from '../../utilities/constants';\n\nconst auditChildren = (children) => {\n\tlet primaryRegion;\n\t// there can be multiple secondary navigation regions\n\tconst secondaryRegions = [];\n\tlet tertiaryRegion;\n\n\tReact.Children.forEach(children, (child) => {\n\t\tif (child && child.type.displayName === GLOBAL_NAVIGATION_BAR_REGION) {\n\t\t\tif (child.props.region === 'primary') {\n\t\t\t\tprimaryRegion = child;\n\t\t\t} else if (child.props.region === 'secondary') {\n\t\t\t\t// eslint-disable-next-line fp/no-mutating-methods\n\t\t\t\tsecondaryRegions.push(child);\n\t\t\t} else if (child.props.region === 'tertiary') {\n\t\t\t\ttertiaryRegion = child;\n\t\t\t}\n\t\t}\n\t});\n\n\treturn [primaryRegion, ...secondaryRegions, tertiaryRegion];\n};\n\n/**\n * Global Navigation Bar represents a list of links that either take the user to another page or parts of the page the user is in.\n */\nconst GlobalNavigationBar = (props) => (\n\t\n\t\t{auditChildren(props.children)}\n\t\n);\n\n// ### Prop Types\nGlobalNavigationBar.propTypes = {\n\t/**\n\t * The items to be displayed in the Global Navigation Bar.\n\t */\n\tchildren: PropTypes.node,\n\t/**\n\t * CSS class names to be added to the container element.\n\t */\n\tclassName: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\t/**\n\t * Typically the cloud name (e.g.- \"sales\" or \"marketing\"). This primarily changes the background color.\n\t */\n\tcloud: PropTypes.string,\n\t/**\n\t * Transforms text and interactions (such as hover) to be more visually accessible.\n\t */\n\ttheme: PropTypes.oneOf(['light', 'dark']),\n};\n\nGlobalNavigationBar.defaultProps = {};\n\nGlobalNavigationBar.displayName = GLOBAL_NAVIGATION_BAR;\n\nexport default GlobalNavigationBar;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// # Global Navigation Bar Button Component\n\n// ## Dependencies\n\n// ### React\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\n// ### classNames\nimport classNames from 'classnames';\n\n// ### Button\nimport Button from '../button';\n\n// ## Constants\nimport { GLOBAL_NAVIGATION_BAR_BUTTON } from '../../utilities/constants';\n\n/**\n * A helper component that renders a Button as an item in the Global Navigation Bar. All props are passed onto `Button` except `active` and `dividerPosition`.\n */\nconst GlobalNavigationButton = ({ active, dividerPosition, ...props }) => (\n\t\n\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t) : null}\n\t\t\t\n\t\t);\n\t}\n}\n\nLocationMap.displayName = displayName;\nLocationMap.propTypes = propTypes;\n\nexport default LocationMap;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// Implements the [Lookup design pattern](https://latest-204.lightningdesignsystem.com/components/lookups) in React.\n// Based on SLDS v2.1.0-dev\n\nimport React from 'react';\nimport Icon from '../icon';\nimport EventUtil from '../../utilities/event';\n\nconst displayName = 'LookupDefaultHeader';\nconst propTypes = {};\nconst defaultProps = {};\n\nclass DefaultHeader extends React.Component {\n\t// eslint-disable-next-line camelcase, react/sort-comp\n\tUNSAFE_componentWillReceiveProps(nextProps) {\n\t\tif (\n\t\t\tnextProps.isActive !== this.props.isActive &&\n\t\t\tnextProps.isActive === true\n\t\t) {\n\t\t\tthis.props.setFocus('searchRecords');\n\t\t}\n\t}\n\n\thandleClick = () => {\n\t\tif (this.props.onClose) {\n\t\t\tthis.props.onClose();\n\t\t}\n\t};\n\n\trender() {\n\t\tlet className = 'slds-lookup__item-action slds-lookup__item-action_label';\n\t\tif (this.props.isActive) className += ' slds-theme_shade';\n\n\t\treturn (\n\t\t\t/* eslint-disable jsx-a11y/no-static-element-interactions */\n\t\t\t\n\t\t\t\t{/* eslint-enable jsx-a11y/no-static-element-interactions */}\n\t\t\t\t{/* eslint-disable no-script-url */}\n\t\t\t\t\n\t\t\t\t\t{/* eslint-enable no-script-url */}\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t{this.props.searchTerm}\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t);\n\t}\n}\n\nDefaultHeader.displayName = displayName;\nDefaultHeader.propTypes = propTypes;\nDefaultHeader.defaultProps = defaultProps;\n\nexport default DefaultHeader;\n","// Alias\nimport DefaultHeader from '../../header';\n\nexport default DefaultHeader;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// Implements the [Lookup design pattern](https://latest-204.lightningdesignsystem.com/components/lookups) in React.\n// Based on SLDS v2.1.0-dev\n\nimport React from 'react';\nimport Icon from '../icon';\nimport EventUtil from '../../utilities/event';\n\nconst displayName = 'LookupDefaultFooter';\nconst propTypes = {};\nconst defaultProps = {};\n\nclass DefaultFooter extends React.Component {\n\t// eslint-disable-next-line react/sort-comp, camelcase\n\tUNSAFE_componentWillReceiveProps(nextProps) {\n\t\tif (\n\t\t\tnextProps.isActive !== this.props.isActive &&\n\t\t\tnextProps.isActive === true\n\t\t) {\n\t\t\tthis.props.setFocus('newItem');\n\t\t}\n\t}\n\n\thandleClick = () => {\n\t\tif (this.props.onClose) {\n\t\t\tthis.props.onClose();\n\t\t}\n\t};\n\n\trender() {\n\t\tlet className = 'slds-lookup__item-action slds-lookup__item-action_label';\n\t\tif (this.props.isActive) className += ' slds-theme_shade';\n\n\t\treturn (\n\t\t\t/* eslint-disable jsx-a11y/no-static-element-interactions */\n\t\t\t\n\t\t\t\t{/* eslint-enable jsx-a11y/no-static-element-interactions */}\n\t\t\t\t{/* eslint-disable no-script-url */}\n\t\t\t\t\n\t\t\t\t\t{/* eslint-enable no-script-url */}\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t{this.props.newItemLabel\n\t\t\t\t\t\t\t\t? this.props.newItemLabel\n\t\t\t\t\t\t\t\t: 'Add New Item'}\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t);\n\t}\n}\n\nDefaultFooter.displayName = displayName;\nDefaultFooter.propTypes = propTypes;\nDefaultFooter.defaultProps = defaultProps;\n\nexport default DefaultFooter;\n","// Alias\nimport DefaultFooter from '../../footer';\n\nexport default DefaultFooter;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\nconst displayName = 'LookupDefaultSectionDivider';\nconst propTypes = {\n\tdata: PropTypes.object,\n};\n\nconst DefaultSectionDivider = (props) => (\n\t
  • \n\t\t\n\t\t\t{props.data.label}\n\t\t\n\t
  • \n);\n\nDefaultSectionDivider.displayName = displayName;\nDefaultSectionDivider.propTypes = propTypes;\n\nexport default DefaultSectionDivider;\n","// Alias\nimport DefaultSectionDivider from '../../section-divider';\n\nexport default DefaultSectionDivider;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n/* eslint-disable import/no-mutable-exports */\n\nimport componentIsDeprecated from '../../utilities/warning/component-is-deprecated';\n\nlet checkProps = function checkPropsFunction() {};\n\nif (process.env.NODE_ENV !== 'production') {\n\tcheckProps = function checkPropsFunction(COMPONENT, props) {\n\t\tcomponentIsDeprecated(\n\t\t\tCOMPONENT,\n\t\t\tprops,\n\t\t\t'Please use an auto-complete Combobox instead. It is more accessible and closer aligned to SLDS.'\n\t\t);\n\t};\n}\n\nexport default checkProps;\n","/* eslint-disable prefer-destructuring */\n/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n/* eslint-disable jsx-a11y/role-has-required-aria-props */\n\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport cx from 'classnames';\nimport Icon from '../../icon';\nimport EventUtil from '../../../utilities/event';\n\nconst displayName = 'Lookup-Menu-Item';\nconst propTypes = {\n\tdata: PropTypes.object,\n\thandleItemFocus: PropTypes.func,\n\thref: PropTypes.string,\n\ticonCategory: PropTypes.string,\n\tid: PropTypes.string,\n\tindex: PropTypes.number,\n\tisActive: PropTypes.bool,\n\tisDisabled: PropTypes.bool,\n\tlistItemLabelRenderer: PropTypes.func,\n\tonSelect: PropTypes.func,\n\tsearchTerm: PropTypes.string,\n\tsetFocus: PropTypes.func,\n};\n\nclass Item extends React.Component {\n\t// eslint-disable-next-line camelcase, react/sort-comp\n\tUNSAFE_componentWillReceiveProps(nextProps) {\n\t\tif (\n\t\t\tnextProps.isActive !== this.props.isActive &&\n\t\t\tnextProps.isActive === true\n\t\t) {\n\t\t\tthis.scrollFocus();\n\t\t\tthis.props.setFocus(this.props.id);\n\t\t}\n\t}\n\n\tgetCustomLabel() {\n\t\tconst ListItemLabel = this.props.listItemLabelRenderer;\n\t\treturn ;\n\t}\n\n\tgetIcon() {\n\t\tif (this.props.iconName && !this.props.listItemLabelRenderer) {\n\t\t\treturn (\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t);\n\t\t}\n\t\treturn null;\n\t}\n\n\tgetLabel() {\n\t\tlet label;\n\t\tif (this.props.children.data.subTitle) {\n\t\t\tlabel = (\n\t\t\t\t
    \n\t\t\t\t\t
    \n\t\t\t\t\t\t{this.props.children.label}\n\t\t\t\t\t
    \n\t\t\t\t\t\n\t\t\t\t\t\t{this.props.children.data.subTitle}\n\t\t\t\t\t\n\t\t\t\t
    \n\t\t\t);\n\t\t} else {\n\t\t\tconst labelClassName = cx('slds-lookup__result-text', {\n\t\t\t\t'slds-m-left_x-small': !this.props.iconName,\n\t\t\t});\n\n\t\t\tlabel = (\n\t\t\t\t
    \n\t\t\t\t\t
    {this.props.children.label}
    \n\t\t\t\t
    \n\t\t\t);\n\t\t}\n\t\treturn label;\n\t}\n\n\thandleClick = () => this.props.onSelect(this.props.id, this.props.data);\n\n\t// Scroll menu item based on up/down mouse keys (assumes all items are the same height)\n\tscrollFocus() {\n\t\tconst height = this.itemRef.offsetHeight;\n\t\tif (height && this.props.handleItemFocus) {\n\t\t\tthis.props.handleItemFocus(this.props.index, height);\n\t\t}\n\t}\n\n\trender() {\n\t\tlet itemClassName = 'js-slds-lookup__item';\n\t\tconst id = this.props.id;\n\t\tif (this.props.isActive) itemClassName += ' slds-theme_shade';\n\n\t\treturn (\n\t\t\t// IMPORTANT: anchor id is used to set lookup's input's aria-activedescendant\n\t\t\t {\n\t\t\t\t\tthis.itemRef = li;\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\t\n\t\t\t\t\t{this.getIcon()}\n\t\t\t\t\t{this.props.listItemLabelRenderer\n\t\t\t\t\t\t? this.getCustomLabel()\n\t\t\t\t\t\t: this.getLabel()}\n\t\t\t\t\n\t\t\t\n\t\t);\n\t}\n}\n\nItem.displayName = displayName;\nItem.propTypes = propTypes;\n\nexport default Item;\n","/* eslint-disable react/sort-comp */\n/* eslint-disable prefer-destructuring */\n/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport Item from './item';\n\n/* eslint-disable react/no-did-update-set-state */\n\nconst displayName = 'Lookup-Menu';\nconst propTypes = {\n\tboldRegex: PropTypes.instanceOf(RegExp),\n\temptyMessage: PropTypes.oneOfType([PropTypes.string, PropTypes.element]),\n\tfilterWith: PropTypes.func,\n\tfocusIndex: PropTypes.number,\n\tgetListLength: PropTypes.func,\n\ticonCategory: PropTypes.string,\n\titems: PropTypes.array,\n\tlabel: PropTypes.string,\n\tlistLength: PropTypes.number,\n\tsearchTerm: PropTypes.string,\n\tsetFocus: PropTypes.func,\n};\nconst defaultProps = {\n\temptyMessage: 'No matches found.',\n};\nclass Menu extends React.Component {\n\tconstructor(props) {\n\t\tsuper(props);\n\t\tthis.state = { filteredItems: this.filteredItems() };\n\t}\n\n\t// Set filtered list length in parent to determine active indexes for aria-activedescendent\n\tcomponentDidUpdate(prevProps) {\n\t\t// make an array of the children of the list but only count the actual items (but include section dividers)\n\t\tconst childFilter = (child) =>\n\t\t\tchild.className.indexOf('js-slds-lookup__item') > -1 ||\n\t\t\tchild.className.indexOf('slds-lookup__divider') > -1;\n\t\tconst list = [].slice.call(this.listRef.children).filter(childFilter)\n\t\t\t.length;\n\t\tthis.props.getListLength(list);\n\t\tif (\n\t\t\tprevProps.items !== this.props.items ||\n\t\t\tprevProps.filter !== this.props.filter ||\n\t\t\tprevProps.searchTerm !== this.props.searchTerm\n\t\t) {\n\t\t\t// eslint-disable-next-line class-methods-use-this\n\t\t\tthis.setState({\n\t\t\t\tfilteredItems: this.filteredItems(),\n\t\t\t});\n\t\t}\n\t}\n\n\tgetFilteredItemForIndex(i) {\n\t\tif (\n\t\t\ti > -1 &&\n\t\t\tthis.state.filteredItems &&\n\t\t\ti < this.state.filteredItems.length\n\t\t) {\n\t\t\treturn this.state.filteredItems[i];\n\t\t}\n\t\treturn null;\n\t}\n\n\tfilter(item) {\n\t\treturn this.props.filterWith(this.props.searchTerm, item);\n\t}\n\n\t// eslint-disable-next-line class-methods-use-this\n\tfilterEmptySections(items) {\n\t\tconst result = [];\n\t\titems.forEach((item, index) => {\n\t\t\tif (item && item.data && item.data.type === 'section') {\n\t\t\t\tif (index + 1 < items.length) {\n\t\t\t\t\tconst nextItem = items[index + 1];\n\t\t\t\t\tif (nextItem.data && nextItem.data.type !== 'section') {\n\t\t\t\t\t\t// eslint-disable-next-line fp/no-mutating-methods\n\t\t\t\t\t\tresult.push(item);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\t// eslint-disable-next-line fp/no-mutating-methods\n\t\t\t\tresult.push(item);\n\t\t\t}\n\t\t});\n\t\treturn result;\n\t}\n\n\tfilteredItems() {\n\t\treturn this.filterEmptySections(this.props.items.filter(this.filter, this));\n\t}\n\n\t// Scroll menu up/down when using mouse keys\n\thandleItemFocus = (itemIndex, itemHeight) => {\n\t\tif (this.listRef) {\n\t\t\tthis.listRef.scrollTop = itemIndex * itemHeight;\n\t\t}\n\t};\n\n\trenderContent() {\n\t\tif (this.state.filteredItems.length === 0) {\n\t\t\treturn (\n\t\t\t\t
  • \n\t\t\t\t\t\n\t\t\t\t\t\t{this.props.emptyMessage}\n\t\t\t\t\t\n\t\t\t\t
  • \n\t\t\t);\n\t\t}\n\n\t\treturn this.renderItems();\n\t}\n\n\trenderFooter() {\n\t\treturn this.props.footer;\n\t}\n\n\trenderHeader() {\n\t\treturn this.props.header;\n\t}\n\n\trenderItems() {\n\t\tconst focusIndex = this.props.focusIndex;\n\t\treturn this.state.filteredItems.map((component, i) => {\n\t\t\t// isActive means it is aria-activedescendant\n\t\t\tconst id = component.id;\n\t\t\tlet isActive = false;\n\t\t\tif (this.props.header) {\n\t\t\t\tisActive = focusIndex === i + 1;\n\t\t\t} else {\n\t\t\t\tisActive = focusIndex === i;\n\t\t\t}\n\t\t\tif (component.data.type === 'section') {\n\t\t\t\tif (this.props.sectionDividerRenderer) {\n\t\t\t\t\tconst SectionDivider = this.props.sectionDividerRenderer;\n\t\t\t\t\treturn (\n\t\t\t\t\t\t\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn (\n\t\t\t\t\n\t\t\t\t\t{component}\n\t\t\t\t\n\t\t\t);\n\t\t});\n\t}\n\n\trenderSectionDivider() {\n\t\treturn this.props.sectionDivider;\n\t}\n\n\trender() {\n\t\treturn (\n\t\t\t
    \n\t\t\t\t{this.renderHeader()}\n\t\t\t\t {\n\t\t\t\t\t\tif (list) {\n\t\t\t\t\t\t\tthis.listRef = list;\n\t\t\t\t\t\t}\n\t\t\t\t\t}}\n\t\t\t\t>\n\t\t\t\t\t{this.renderContent()}\n\t\t\t\t\n\t\t\t\t{this.renderFooter()}\n\t\t\t
    \n\t\t);\n\t}\n}\n\nMenu.displayName = displayName;\nMenu.propTypes = propTypes;\nMenu.defaultProps = defaultProps;\n\nexport default Menu;\n","// Alias\nimport Menu from '../private/menu';\n\nexport default Menu;\n","/* eslint-disable max-lines */\n/* eslint-disable react/no-access-state-in-setstate */\n/* eslint-disable prefer-destructuring */\n/* eslint-disable max-lines */\n/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n/* eslint-disable jsx-a11y/role-has-required-aria-props */\n\n// # Lookup Component\n\n// Implements the [Lookup design pattern](https://latest-204.lightningdesignsystem.com/components/lookups) in React.\n// Based on SLDS v2.1.0-dev\n\n// ## Dependencies\n\n// ### React\nimport React from 'react';\n\nimport PropTypes from 'prop-types';\nimport escapeRegExp from 'lodash.escaperegexp';\nimport isEqual from 'lodash.isequal';\nimport classNames from 'classnames';\n\n// This component's `checkProps` which issues warnings to developers about properties\n// when in development mode (similar to React's built in development tools)\nimport checkProps from './check-props';\n\n// Children\nimport Dialog from '../utilities/dialog';\nimport Button from '../button';\nimport Icon from '../icon';\nimport InputIcon from '../icon/input-icon';\nimport Input from '../input';\n\n// ### Event Helpers\nimport EventUtil from '../../utilities/event';\nimport KEYS from '../../utilities/key-code';\n\nimport Menu from './menu';\n\nimport { LOOKUP } from '../../utilities/constants';\n\n/**\n * A function that takes a term string and an item and returns a truthy value if the item should be kept.\n */\nconst defaultFilter = (term, item) => {\n\tif (!term) return true;\n\treturn (\n\t\t(item.data && item.data.type === 'section') ||\n\t\titem.label.match(new RegExp(escapeRegExp(term), 'ig'))\n\t);\n};\n\nconst normalizeSearchTerm = (string) =>\n\t(string || '').toString().replace(/^\\s+/, '');\n\n/**\n * ** Lookup is deprecated. Please use an auto-complete Combobox instead.**\n *\n * Lookup is an advanced inline search form. The lookup can parse through single or multi scoped datasets. The parsed dataset can be filtered by single or multi option selects.\n *\n * This component is wrapped in a [higher order component to listen for clicks outside itself](https://github.com/kentor/react-click-outside) and thus requires use of `ReactDOM`.\n */\nconst Lookup = class extends React.Component {\n\tstatic displayName = LOOKUP;\n\n\tstatic propTypes = {\n\t\t/**\n\t\t * If present, the label associated with this `input` is overwritten\n\t\t * by this text and is visually not shown.\n\t\t */\n\t\tassistiveText: PropTypes.oneOfType([PropTypes.object, PropTypes.string]),\n\t\t/**\n\t\t * Class names to be added to the tag classed with `slds-lookup`.\n\t\t */\n\t\tclassName: PropTypes.oneOfType([\n\t\t\tPropTypes.array,\n\t\t\tPropTypes.object,\n\t\t\tPropTypes.string,\n\t\t]),\n\t\t/**\n\t\t * If true, constrains the menu to the scroll parent. Has no effect if `isInline` is `true`.\n\t\t */\n\t\tconstrainToScrollParent: PropTypes.bool,\n\t\t/**\n\t\t * ID for aria-describedby (e.g. for an error message or a description)\n\t\t */\n\t\tdescribedById: PropTypes.string,\n\t\t/**\n\t\t * Please select one of the following:\n\t\t * * `absolute` - (default) The dialog will use `position: absolute` and style attributes to position itself. This allows inverted placement or flipping of the dialog.\n\t\t * * `overflowBoundaryElement` - The dialog will overflow scrolling parents. Use on elements that are aligned to the left or right of their target and don't care about the target being within a scrolling parent. Typically this is a popover or tooltip. Dropdown menus can usually open up and down if no room exists. In order to achieve this a portal element will be created and attached to `body`. This element will render into that detached render tree.\n\t\t * * `relative` - No styling or portals will be used. Menus will be positioned relative to their triggers. This is a great choice for HTML snapshot testing.\n\t\t */\n\t\tmenuPosition: PropTypes.string,\n\t\t/**\n\t\t * This prop is passed onto the `input`. Prevents dropdown menu from opening. Also applies disabled styling to input.\n\t\t */\n\t\tdisabled: PropTypes.bool,\n\t\t/**\n\t\t * Custom message that renders when no matches found. The default empty state is just text that says, 'No matches found.'.\n\t\t */\n\t\temptyMessage: PropTypes.oneOfType([PropTypes.string, PropTypes.element]),\n\t\t/**\n\t\t * Custom function to filter the Lookup items when typing into input field. The default function is case-insensitive and uses the searchTerm to filter Lookup items on their labels.\n\t\t */\n\t\tfilterWith: PropTypes.func,\n\t\t/**\n\t\t * If true, the menu is constrained to the window and may be flipped up. Has no effect if `isInline` is `true`. In other components, its opposite is used `hasStaticAlignment`.\n\t\t */\n\t\tflippable: PropTypes.bool,\n\t\t/**\n\t\t * Custom component for Lookup footer. The default footer allows user to add new item - see Lightning Design System Lookup > Base. To use the default footer, pass in Lookup.DefaultFooter.\n\t\t */\n\t\tfooterRenderer: PropTypes.func,\n\t\t/**\n\t\t * Custom component for Lookup header. The default header has a search icon and shows the search term - see Lightning Design System Lookup > Base. To use the default header, pass in Lookup.DefaultHeader.\n\t\t */\n\t\theaderRenderer: PropTypes.func,\n\t\t/**\n\t\t * Please refer to Lightning Design System Icons to view categories.\n\t\t */\n\t\ticonCategory: PropTypes.string,\n\t\t/**\n\t\t * If true, icon color is white. If false, icon color is the default text color.\n\t\t */\n\t\ticonInverse: PropTypes.bool,\n\t\t/**\n\t\t * Name of icon. Please refer to Lightning Design System Icons to view icon names.\n\t\t */\n\t\ticonName: PropTypes.string,\n\t\t/**\n\t\t * Determines whether the input's icon will display that icon on the left or the right.\n\t\t */\n\t\ticonPosition: PropTypes.oneOf(['left', 'right']),\n\t\t/**\n\t\t * Renders menu within the wrapping trigger as a sibling of the button. By default, you will have an absolutely positioned container at an elevated z-index.\n\t\t */\n\t\tisInline: PropTypes.bool,\n\t\t/**\n\t\t * Whether or not the dropdown menu is open. This overrides the default behavior.\n\t\t */\n\t\tisOpen: PropTypes.bool,\n\t\t/**\n\t\t * Form label for input.\n\t\t */\n\t\tlabel: PropTypes.string,\n\t\t/**\n\t\t * Custom component that overrides the default Lookup Item component.\n\t\t */\n\t\tlistItemLabelRenderer: PropTypes.func,\n\t\t/**\n\t\t * Triggered when input focus is removed.\n\t\t */\n\t\tonBlur: PropTypes.func,\n\t\t/**\n\t\t * Triggered when the contents of the input changes.\n\t\t */\n\t\tonChange: PropTypes.func,\n\t\t/**\n\t\t * Triggered when input is focused.\n\t\t */\n\t\tonFocus: PropTypes.func,\n\t\t/**\n\t\t * Function called when the lookup dropdown would like hide. This will turn the Lookup into into a controlled component. Please use with `isOpen`.\n\t\t */\n\t\tonRequestClose: PropTypes.func,\n\t\t/**\n\t\t * Function called when the lookup dropdown would like show. This will turn the Lookup into into a controlled component. Please use with `isOpen`.\n\t\t */\n\t\tonRequestOpen: PropTypes.func,\n\t\t/**\n\t\t * Triggered when the user scrolls in the dropdown menu.\n\t\t */\n\t\tonScroll: PropTypes.func,\n\t\t/**\n\t\t * Triggered when an item is selected from the dropdown menu.\n\t\t */\n\t\tonSelect: PropTypes.func,\n\t\t/**\n\t\t * Triggered when an item is an item is removed from the input.\n\t\t */\n\t\tonUnselect: PropTypes.func,\n\t\t/**\n\t\t * Item added to the dropdown menu.\n\t\t */\n\t\toptions: PropTypes.array.isRequired,\n\t\t/**\n\t\t * Text that will appear in an empty input.\n\t\t */\n\t\tplaceholder: PropTypes.string,\n\t\t/**\n\t\t * If true, adds asterisk next to input label to indicate it is a required field.\n\t\t */\n\t\trequired: PropTypes.bool,\n\t\t/**\n\t\t * Text passed on to header search input of dropdown menu.\n\t\t */\n\t\tsearchTerm: PropTypes.string,\n\t\t/**\n\t\t * Custom component that overrides the default section divider\n\t\t */\n\t\tsectionDividerRenderer: PropTypes.func,\n\t\t/**\n\t\t * Index of current selected item. To clear the selection, pass in -1.\n\t\t */\n\t\tselectedItem: PropTypes.number,\n\t};\n\n\tstatic defaultProps = {\n\t\tconstrainToScrollParent: true,\n\t\tfilterWith: defaultFilter,\n\t\ticonPosition: 'right',\n\t\tsearchTerm: '',\n\t\tmenuPosition: 'absolute',\n\t};\n\n\tstate = {\n\t\tcurrentFocus: null,\n\t\tfocusIndex: null,\n\t\titems: [],\n\t\tlistLength: this.props.options.length,\n\t\tsearchTerm: normalizeSearchTerm(this.props.searchTerm),\n\t\tselectedIndex: this.props.selectedItem,\n\t};\n\n\tconstructor(props) {\n\t\tsuper(props);\n\n\t\t// `checkProps` issues warnings to developers about properties (similar to React's built in development tools)\n\t\tcheckProps(LOOKUP, props);\n\n\t\t// Keeps track of references of children for keyboard navigation\n\t\tthis.pills = [];\n\t}\n\n\tcomponentDidMount() {\n\t\tthis.modifyItems(this.props.options);\n\t}\n\n\t// eslint-disable-next-line camelcase, react/sort-comp\n\tUNSAFE_componentWillReceiveProps(newProps) {\n\t\tif (newProps.options) {\n\t\t\tthis.modifyItems(newProps.options);\n\t\t}\n\t\tif (\n\t\t\tnewProps.selectedItem !== this.props.selectedItem ||\n\t\t\t!isEqual(newProps.options, this.props.options)\n\t\t) {\n\t\t\tthis.setState({ selectedIndex: newProps.selectedItem });\n\t\t}\n\t}\n\n\tcomponentDidUpdate(prevProps, prevState) {\n\t\tif (\n\t\t\t!isNaN(parseInt(prevState.selectedIndex, 10)) &&\n\t\t\tisNaN(parseInt(this.state.selectedIndex, 10))\n\t\t) {\n\t\t\tif (this.input) {\n\t\t\t\tthis.input.focus();\n\t\t\t}\n\t\t} else if (\n\t\t\tisNaN(parseInt(prevState.selectedIndex, 10)) &&\n\t\t\t!isNaN(parseInt(this.state.selectedIndex, 10))\n\t\t) {\n\t\t\tif (this.pills[this.state.selectedIndex]) {\n\t\t\t\tthis.pills[this.state.selectedIndex].focus();\n\t\t\t}\n\t\t}\n\t}\n\n\tgetClassName = () =>\n\t\tclassNames(this.props.className, 'slds-form-element slds-lookup', {\n\t\t\t'slds-has-selection': this.isSelected(),\n\t\t\t'slds-is-open': this.getIsOpen(),\n\t\t});\n\n\tsetFirstIndex = () => {\n\t\tlet nextFocusIndex = 0;\n\t\tlet filteredItem = this.state.items[0];\n\n\t\tif (this.menuComponent && this.menuComponent.getFilteredItemForIndex) {\n\t\t\tfilteredItem = this.menuComponent.getFilteredItemForIndex(nextFocusIndex);\n\t\t}\n\n\t\tif (filteredItem && filteredItem.data.type === 'section') {\n\t\t\tnextFocusIndex += 1;\n\t\t}\n\n\t\tthis.setState({ focusIndex: nextFocusIndex });\n\t};\n\n\tgetHeader = () => {\n\t\tconst Header = this.props.headerRenderer;\n\t\tconst headerActive = this.state.focusIndex === 0;\n\n\t\treturn (\n\t\t\t {\n\t\t\t\t\tthis.headerComponent = header;\n\t\t\t\t}}\n\t\t\t\t{...this.props}\n\t\t\t\tfocusIndex={this.state.focusIndex}\n\t\t\t\tisActive={headerActive}\n\t\t\t\tonClose={this.handleClose}\n\t\t\t\tsearchTerm={this.state.searchTerm}\n\t\t\t\tsetFocus={this.setFocus}\n\t\t\t/>\n\t\t);\n\t};\n\n\tgetFooter = () => {\n\t\tconst Footer = this.props.footerRenderer;\n\t\tconst numFocusable = this.getNumFocusableItems();\n\t\tconst footerActive = this.state.focusIndex === numFocusable;\n\n\t\treturn (\n\t\t\t {\n\t\t\t\t\tthis.footerComponent = footer;\n\t\t\t\t}}\n\t\t\t\t{...this.props}\n\t\t\t\tfocusIndex={this.state.focusIndex}\n\t\t\t\tisActive={footerActive}\n\t\t\t\tonClose={this.handleClose}\n\t\t\t\tsetFocus={this.setFocus}\n\t\t\t/>\n\t\t);\n\t};\n\n\tsetFocus = (id) => {\n\t\tthis.setState({ currentFocus: id });\n\t};\n\n\tgetIsOpen = () =>\n\t\t!!(typeof this.props.isOpen === 'boolean'\n\t\t\t? this.props.isOpen\n\t\t\t: this.state.isOpen);\n\n\tgetListLength = (qty) => {\n\t\tif (qty !== this.state.listLength) {\n\t\t\tthis.setState({ listLength: qty });\n\t\t}\n\t};\n\n\tgetNumFocusableItems = () => {\n\t\tlet offset = 0;\n\n\t\tif (this.footerComponent) {\n\t\t\toffset += 1;\n\t\t}\n\n\t\tif (this.headerComponent) {\n\t\t\toffset += 1;\n\t\t}\n\n\t\treturn this.state.listLength - 1 + offset;\n\t};\n\n\t// =================================================\n\t// Using down/up keys, set Focus on list item and assign it to aria-activedescendant attribute in input.\n\t// Need to keep track of filtered list length to be able to increment/decrement the focus index so it's contained to the number of available list items.\n\tincreaseIndex = () => {\n\t\tconst numFocusable = this.getNumFocusableItems();\n\t\tlet nextFocusIndex =\n\t\t\tthis.state.focusIndex < numFocusable ? this.state.focusIndex + 1 : 0;\n\t\tconst filteredItem = this.menuComponent.getFilteredItemForIndex(\n\t\t\tnextFocusIndex\n\t\t);\n\n\t\tif (filteredItem && filteredItem.data.type === 'section') {\n\t\t\tnextFocusIndex += 1;\n\t\t}\n\n\t\tthis.setState({ focusIndex: nextFocusIndex });\n\t};\n\n\tdecreaseIndex = () => {\n\t\tconst numFocusable = this.getNumFocusableItems();\n\t\tlet prevFocusIndex =\n\t\t\tthis.state.focusIndex > 0 ? this.state.focusIndex - 1 : numFocusable;\n\t\tconst filteredItem = this.menuComponent.getFilteredItemForIndex(\n\t\t\tprevFocusIndex\n\t\t);\n\n\t\tif (filteredItem && filteredItem.data.type === 'section') {\n\t\t\tprevFocusIndex = prevFocusIndex === 0 ? numFocusable : prevFocusIndex - 1;\n\t\t}\n\n\t\tthis.setState({ focusIndex: prevFocusIndex });\n\t};\n\n\t// =================================================\n\t// Select menu item (onClick or on key enter/space)\n\tselectItem = (itemId) => {\n\t\tif (itemId) {\n\t\t\tconst index = itemId.replace('item-', '');\n\t\t\tthis.selectItemByIndex(index);\n\t\t}\n\t};\n\n\tselectItemByIndex = (index) => {\n\t\tif (index >= 0 && index < this.state.items.length) {\n\t\t\tif (this.props.onRequestClose) {\n\t\t\t\tthis.props.onRequestClose();\n\t\t\t}\n\t\t\tthis.setState({\n\t\t\t\tisOpen: false,\n\t\t\t\tselectedIndex: index,\n\t\t\t\tsearchTerm: '',\n\t\t\t});\n\t\t\tconst data = this.state.items[index].data;\n\t\t\tif (this.props.onSelect) {\n\t\t\t\tthis.props.onSelect(data);\n\t\t\t}\n\t\t}\n\t};\n\n\thandleDeleteSelected = () => {\n\t\tif (this.props.onRequestOpen) {\n\t\t\tthis.props.onRequestOpen();\n\t\t}\n\t\tthis.setState({\n\t\t\tselectedIndex: null,\n\t\t\tisOpen: true,\n\t\t});\n\n\t\tthis.focusInput();\n\n\t\tif (this.props.onUnselect) {\n\t\t\tthis.props.onUnselect();\n\t\t}\n\t};\n\n\t// =================================================\n\t// Event Listeners on Input\n\thandleClose = () => {\n\t\tif (this.props.onRequestClose) {\n\t\t\tthis.props.onRequestClose();\n\t\t}\n\t\tthis.setState({\n\t\t\tisOpen: false,\n\t\t\tfocusIndex: null,\n\t\t\tcurrentFocus: null,\n\t\t});\n\t};\n\n\thandleClickOutside = () => {\n\t\tthis.handleClose();\n\t};\n\n\thandleEscape = (event) => {\n\t\tif (this.getIsOpen() && event) {\n\t\t\tEventUtil.trap(event);\n\t\t}\n\t\tthis.handleClose();\n\t};\n\n\thandleCancel = () => {\n\t\tthis.handleClose();\n\t};\n\n\thandleClick = () => {\n\t\tif (this.props.onRequestOpen) {\n\t\t\tthis.props.onRequestOpen();\n\t\t}\n\t\tthis.setState({ isOpen: true });\n\t};\n\n\thandleBlur = (event) => {\n\t\tif (this.props.onBlur) {\n\t\t\tconst target = event.target || event.currentTarget;\n\t\t\tthis.props.onBlur(target.value);\n\t\t}\n\t};\n\n\thandleFocus = (event) => {\n\t\tif (this.props.onFocus) {\n\t\t\tconst target = event.target || event.currentTarget;\n\t\t\tthis.props.onFocus(target.value);\n\t\t}\n\t\tif (this.props.onRequestOpen) {\n\t\t\tthis.props.onRequestOpen();\n\t\t}\n\t\tthis.setState({ isOpen: true });\n\t};\n\n\thandleChange = (event) => {\n\t\tconst target = event.target || event.currentTarget;\n\t\tthis.setState({ searchTerm: normalizeSearchTerm(target.value) });\n\t\tif (this.props.onChange) {\n\t\t\tthis.props.onChange(target.value);\n\t\t}\n\t};\n\n\thandleKeyDown = (event) => {\n\t\tif (event.keyCode) {\n\t\t\t// If user hits esc key or tab key, close menu\n\t\t\tif (event.keyCode === KEYS.ESCAPE) {\n\t\t\t\tthis.handleEscape(event);\n\t\t\t} else if (event.keyCode === KEYS.TAB) {\n\t\t\t\t// remove the focus on input, tab focus shoud move to next tabbale elemnt\n\t\t\t\tsetTimeout(() => {\n\t\t\t\t\tthis.handleClose();\n\t\t\t\t}, 200);\n\t\t\t\tthis.handleBlur(event);\n\t\t\t} else {\n\t\t\t\tthis.handleClick();\n\t\t\t}\n\n\t\t\t// If user hits down key, advance aria activedescendant to next item\n\t\t\tif (event.keyCode === KEYS.DOWN) {\n\t\t\t\tEventUtil.trapImmediate(event);\n\t\t\t\tif (this.state.focusIndex === null) {\n\t\t\t\t\tthis.setFirstIndex();\n\t\t\t\t} else {\n\t\t\t\t\tthis.increaseIndex();\n\t\t\t\t}\n\t\t\t} else if (event.keyCode === KEYS.UP) {\n\t\t\t\t// If user hits up key, advance aria activedescendant to previous item\n\t\t\t\tEventUtil.trapImmediate(event);\n\t\t\t\tconst numFocusable = this.getNumFocusableItems();\n\t\t\t\tif (this.state.focusIndex === null) {\n\t\t\t\t\tthis.setState({ focusIndex: numFocusable });\n\t\t\t\t} else {\n\t\t\t\t\tthis.decreaseIndex();\n\t\t\t\t}\n\t\t\t} else if (\n\t\t\t\tevent.keyCode === KEYS.ENTER &&\n\t\t\t\tthis.state.focusIndex !== null\n\t\t\t) {\n\t\t\t\t// If user hits enter, select current activedescendant item\n\t\t\t\tEventUtil.trapImmediate(event);\n\t\t\t\t// If the focus is on the first fixed Action Item in Menu, click it\n\t\t\t\tif (this.headerComponent && this.state.focusIndex === 0) {\n\t\t\t\t\tthis.headerComponent.handleClick();\n\t\t\t\t} else if (\n\t\t\t\t\tthis.footerComponent &&\n\t\t\t\t\tthis.state.focusIndex === this.state.listLength + 1\n\t\t\t\t) {\n\t\t\t\t\t// If the focus is on the last fixed Action Item in Menu, click it\n\t\t\t\t\tthis.footerComponent.handleClick();\n\t\t\t\t} else {\n\t\t\t\t\t// If not, then select menu item\n\t\t\t\t\tthis.selectItem(this.state.currentFocus);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t};\n\n\thandlePillKeyDown = (event) => {\n\t\tif (event.keyCode) {\n\t\t\tif (event.keyCode === KEYS.DELETE || event.keyCode === KEYS.BACKSPACE) {\n\t\t\t\tEventUtil.trapImmediate(event);\n\t\t\t\tthis.handleDeleteSelected();\n\t\t\t}\n\t\t}\n\t};\n\n\tinputRefId = () => `${this.props.label}Lookup`;\n\n\tfocusInput = () => {\n\t\tthis.focusOnRender = true;\n\t};\n\n\tisSelected = () => {\n\t\tconst hasSelection =\n\t\t\t!isNaN(parseInt(this.state.selectedIndex, 10)) &&\n\t\t\tthis.state.selectedIndex >= 0;\n\t\treturn hasSelection;\n\t};\n\n\tmodifyItems = (itemsToModify) => {\n\t\tconst items = itemsToModify.map((item, index) => ({\n\t\t\tid: `item-${index}`,\n\t\t\tlabel: item.label,\n\t\t\tdata: item,\n\t\t}));\n\n\t\tthis.setState({ items });\n\t};\n\n\t// =================================================\n\t// Rendering Things\n\trenderMenuContent = () => (\n\t\t {\n\t\t\t\tthis.menuComponent = menu;\n\t\t\t}}\n\t\t\temptyMessage={this.props.emptyMessage}\n\t\t\tfilterWith={this.props.filterWith}\n\t\t\tfocusIndex={this.state.focusIndex}\n\t\t\tfooter={this.props.footerRenderer ? this.getFooter() : null}\n\t\t\tgetListLength={this.getListLength}\n\t\t\theader={this.props.headerRenderer ? this.getHeader() : null}\n\t\t\ticonCategory={this.props.iconCategory}\n\t\t\ticonInverse={this.props.iconInverse}\n\t\t\ticonName={this.props.iconName}\n\t\t\titems={this.state.items}\n\t\t\tlabel={this.props.label}\n\t\t\tlistItemLabelRenderer={this.props.listItemLabelRenderer}\n\t\t\tlistLength={this.state.listLength}\n\t\t\tonSelect={this.selectItem}\n\t\t\tsearchTerm={this.state.searchTerm}\n\t\t\tsectionDividerRenderer={this.props.sectionDividerRenderer}\n\t\t\tsetFocus={this.setFocus}\n\t\t/>\n\t);\n\n\trenderInlineMenu = () =>\n\t\tthis.getIsOpen() ? (\n\t\t\t\n\t\t\t\t{this.renderMenuContent()}\n\t\t\t\n\t\t) : null;\n\n\trenderSeparateMenu = () => {\n\t\t// FOR BACKWARDS COMPATIBILITY\n\t\tconst menuPosition = this.props.isInline\n\t\t\t? 'relative'\n\t\t\t: this.props.menuPosition; // eslint-disable-line react/prop-types\n\t\treturn this.getIsOpen() ? (\n\t\t\t this.input}\n\t\t\t\tposition={menuPosition}\n\t\t\t>\n\t\t\t\t{this.renderMenuContent()}\n\t\t\t\n\t\t) : null;\n\t};\n\n\trenderInput = () => (\n\t\t\n\t\t\t}\n\t\t\tid={this.inputRefId()}\n\t\t\tonBlur={this.handleBlur}\n\t\t\tonChange={this.handleChange}\n\t\t\tonClick={this.handleClick}\n\t\t\tonFocus={this.handleFocus}\n\t\t\tonKeyDown={this.handleKeyDown}\n\t\t\tinputRef={(component) => {\n\t\t\t\tthis.input = component;\n\t\t\t\tif (this.focusOnRender) {\n\t\t\t\t\tthis.input.focus();\n\t\t\t\t\tthis.focusOnRender = false;\n\t\t\t\t}\n\t\t\t}}\n\t\t\tplaceholder={this.props.placeholder}\n\t\t\trole=\"combobox\"\n\t\t\ttype=\"text\"\n\t\t\tvalue={this.state.searchTerm}\n\t\t/>\n\t);\n\n\trenderSelectedItem = () => {\n\t\tconst selectedItem = this.props.options[this.state.selectedIndex].label;\n\t\tconst renderIcon = this.props.iconName ? (\n\t\t\t\n\t\t) : null;\n\t\tconst labelClassName = this.props.iconName\n\t\t\t? 'slds-pill__label'\n\t\t\t: 'slds-pill__label slds-m-left_x-small';\n\n\t\t// i18n\n\t\treturn (\n\t\t\t
    \n\t\t\t\t{/* eslint-disable no-script-url */}\n\t\t\t\t {\n\t\t\t\t\t\tthis.pills[this.state.selectedIndex] = pill;\n\t\t\t\t\t}}\n\t\t\t\t\tonKeyDown={this.handlePillKeyDown}\n\t\t\t\t>\n\t\t\t\t\t{/* eslint-enable no-script-url */}\n\t\t\t\t\t{renderIcon}\n\t\t\t\t\t{selectedItem}\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t
    \n\t\t);\n\t};\n\n\trenderLabel = () => {\n\t\tlet inputLabel;\n\t\tconst required = this.props.required ? (\n\t\t\t// eslint-disable-next-line react/jsx-curly-brace-presence\n\t\t\t{'*'}\n\t\t) : null;\n\t\tif (this.isSelected()) {\n\t\t\t// inline style override\n\t\t\tinputLabel = (\n\t\t\t\t\n\t\t\t\t\t{required}\n\t\t\t\t\t{this.props.label}\n\t\t\t\t\n\t\t\t);\n\t\t} else {\n\t\t\tinputLabel = (\n\t\t\t\t\n\t\t\t\t\t{required}\n\t\t\t\t\t{this.props.label}\n\t\t\t\t\n\t\t\t);\n\t\t}\n\t\treturn inputLabel;\n\t};\n\n\trender() {\n\t\tlet isInline;\n\t\t/* eslint-disable react/prop-types */\n\t\tif (this.props.isInline) {\n\t\t\tisInline = true;\n\t\t} else if (this.props.modal !== undefined) {\n\t\t\tisInline = !this.props.modal;\n\t\t}\n\t\t/* eslint-enable react/prop-types */\n\n\t\tconst formElementControlClasses = {\n\t\t\t'slds-form-element__control': true,\n\t\t\t[`slds-input-has-icon slds-input-has-icon_${this.props.iconPosition}`]: !this.isSelected(),\n\t\t};\n\n\t\treturn (\n\t\t\t\n\t\t\t\t{this.props.label ? this.renderLabel() : null}\n\t\t\t\t
    \n\t\t\t\t\t{this.isSelected() ? this.renderSelectedItem() : null}\n\t\t\t\t\t{!this.isSelected() ? this.renderInput() : null}\n\t\t\t\t
    \n\t\t\t\t{isInline ? this.renderInlineMenu() : this.renderSeparateMenu()}\n\t\t\t\n\t\t);\n\t}\n};\n\nLookup.contextTypes = {\n\ticonPath: PropTypes.string,\n};\n\nexport default Lookup;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// ### onClickOutside\n// Listen for clicks that occur somewhere in the document, outside of the element itself\nimport onClickOutside from 'react-onclickoutside';\nimport DefaultFooter from './menu/default-footer';\nimport DefaultHeader from './menu/default-header';\nimport DefaultSectionDivider from './menu/default-section-divider';\nimport Lookup from './lookup';\n\nexport default onClickOutside(Lookup, {\n\texcludeScrollbar: true,\n});\n\nexport { DefaultHeader };\nexport { DefaultSectionDivider };\nexport { DefaultFooter };\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n/* eslint-disable import/no-mutable-exports */\n\nimport componentIsDeprecated from '../../utilities/warning/component-is-deprecated';\n\nlet checkProps = function checkPropsFunction() {};\n\nif (process.env.NODE_ENV !== 'production') {\n\tcheckProps = function checkPropsFunction(COMPONENT, props) {\n\t\tcomponentIsDeprecated(\n\t\t\tCOMPONENT,\n\t\t\tprops,\n\t\t\t'Please use an read-only Combobox instead. It is more accessible and closer aligned to SLDS.'\n\t\t);\n\t};\n}\n\nexport default checkProps;\n","/* eslint-disable max-lines */\n/* eslint-disable react/no-access-state-in-setstate */\n/* eslint-disable no-param-reassign */\n/* eslint-disable prefer-destructuring */\n/* eslint-disable max-lines */\n/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n/* eslint-disable react/prefer-es6-class */\n\n// # Picklist Component [DEPRECATED]\n\n// Implements the [Picklist design pattern](https://www.lightningdesignsystem.com/components/menus/#flavor-picklist) in React.\n// Based on SLDS v2.1.0-rc.2\n\nimport React from 'react';\nimport ReactDOM from 'react-dom';\nimport createReactClass from 'create-react-class';\nimport PropTypes from 'prop-types';\nimport isFunction from 'lodash.isfunction';\n\n// ### classNames\n// [github.com/JedWatson/classnames](https://github.com/JedWatson/classnames)\n// This project uses `classnames`, \"a simple javascript utility for conditionally\n// joining classNames together.\"\nimport classNames from 'classnames';\n\n// ### shortid\n// [npmjs.com/package/shortid](https://www.npmjs.com/package/shortid)\n// shortid is a short, non-sequential, url-friendly, unique id generator\nimport shortid from 'shortid';\n\n// This component's `checkProps` which issues warnings to developers about properties\n// when in development mode (similar to React's built in development tools)\nimport checkProps from './check-props';\n\n// ### Children\nimport Dialog from '../utilities/dialog';\nimport Icon from '../icon';\nimport List from '../utilities/menu-list';\nimport ListItemLabel from '../utilities/menu-list/item-label';\nimport Pill from '../utilities/pill';\n\nimport EventUtil from '../../utilities/event';\nimport KeyBuffer from '../../utilities/key-buffer';\nimport keyboardNavigate from '../../utilities/keyboard-navigate';\nimport KEYS from '../../utilities/key-code';\nimport { MENU_PICKLIST } from '../../utilities/constants';\n\nconst noop = () => {};\n\nconst itemIsSelectable = (item) =>\n\titem.type !== 'header' && item.type !== 'divider' && !item.disabled;\n\nconst getNavigableItems = (items) => {\n\tconst navigableItems = [];\n\tnavigableItems.indexes = [];\n\tnavigableItems.keyBuffer = new KeyBuffer();\n\n\tif (Array.isArray(items)) {\n\t\titems.forEach((item, index) => {\n\t\t\tif (itemIsSelectable(item)) {\n\t\t\t\t// eslint-disable-next-line fp/no-mutating-methods\n\t\t\t\tnavigableItems.push({\n\t\t\t\t\tindex,\n\t\t\t\t\ttext: `${item.label}`.toLowerCase(),\n\t\t\t\t});\n\n\t\t\t\t// eslint-disable-next-line fp/no-mutating-methods\n\t\t\t\tnavigableItems.indexes.push(index);\n\t\t\t}\n\t\t});\n\t}\n\n\treturn navigableItems;\n};\n\nfunction getMenuItem(menuItemId, context = document) {\n\tlet menuItem;\n\n\tif (menuItemId) {\n\t\tmenuItem = context.getElementById(menuItemId);\n\t}\n\n\treturn menuItem;\n}\n\nfunction getMenu(componentRef) {\n\treturn ReactDOM.findDOMNode(componentRef).querySelector('ul.dropdown__list'); // eslint-disable-line react/no-find-dom-node\n}\n\n/**\n * ** MenuPicklist is deprecated. Please use a read-only Combobox instead.**\n *\n * The MenuPicklist component is a variant of the Lightning Design System Menu component.\n */\nconst MenuPicklist = createReactClass({\n\t// ### Display Name\n\t// Always use the canonical component name as the React display name.\n\tdisplayName: MENU_PICKLIST,\n\n\t// ### Prop Types\n\tpropTypes: {\n\t\t/**\n\t\t * Callback that passes in the DOM reference of the `\n\t\t\t\t{isInline ? this.renderInlineMenu() : this.renderDialog()}\n\t\t\t\n\t\t);\n\t},\n\n\trenderPills() {\n\t\tconst selectedPills = this.state.selectedIndices.map((selectedPill) => {\n\t\t\tconst pillLabel = this.getValueByIndex(selectedPill).label;\n\t\t\treturn (\n\t\t\t\t\n\t\t\t\t\t {},\n\t\t\t\t\t\t\tonRequestFocusOnNextPill: () => {},\n\t\t\t\t\t\t\tonRequestFocusOnPreviousPill: () => {},\n\t\t\t\t\t\t\tonRequestRemove: (event, data) => {\n\t\t\t\t\t\t\t\tconst newData = this.state.selectedIndices;\n\t\t\t\t\t\t\t\tconst index = data.index;\n\t\t\t\t\t\t\t\t// eslint-disable-next-line fp/no-mutating-methods\n\t\t\t\t\t\t\t\tnewData.splice(this.state.selectedIndices.indexOf(index), 1);\n\t\t\t\t\t\t\t\tthis.setState({ selectedIndices: newData });\n\n\t\t\t\t\t\t\t\tif (this.props.onPillRemove) {\n\t\t\t\t\t\t\t\t\tconst option = this.getValueByIndex(index);\n\t\t\t\t\t\t\t\t\tthis.props.onPillRemove(option, {\n\t\t\t\t\t\t\t\t\t\toption,\n\t\t\t\t\t\t\t\t\t\toptionIndex: index,\n\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t}}\n\t\t\t\t\t\tlabels={{\n\t\t\t\t\t\t\tlabel: pillLabel,\n\t\t\t\t\t\t}}\n\t\t\t\t\t/>\n\t\t\t\t\n\t\t\t);\n\t\t});\n\t\treturn (\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t{selectedPills}\n\t\t\t\t\n\t\t\t\n\t\t);\n\t},\n\n\trender() {\n\t\tconst { className, errorText, label, required } = this.props;\n\n\t\tconst requiredElem = required ? (\n\t\t\t// eslint-disable-next-line react/jsx-curly-brace-presence\n\t\t\t{'* '}\n\t\t) : null;\n\n\t\treturn (\n\t\t\t\n\t\t\t\t{this.props.label ? (\n\t\t\t\t\t\n\t\t\t\t\t\t{requiredElem}\n\t\t\t\t\t\t{label}\n\t\t\t\t\t\n\t\t\t\t) : null}\n\t\t\t\t{this.renderTrigger()}\n\t\t\t\t{this.renderPills()}\n\t\t\t\t{errorText && (\n\t\t\t\t\t
    \n\t\t\t\t\t\t{errorText}\n\t\t\t\t\t
    \n\t\t\t\t)}\n\t\t\t\n\t\t);\n\t},\n});\n\nMenuPicklist.contextTypes = {\n\ticonPath: PropTypes.string,\n};\n\nexport default MenuPicklist;\nexport { ListItemLabel };\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\nimport React from 'react';\nimport ReactDOM from 'react-dom';\n\nimport componentIsDeprecated from '../../utilities/warning/component-is-deprecated';\n\nimport Modal from './index';\n\nimport { canUseDOM } from '../../utilities/execution-environment';\n\n// This component should be deprecated and appears to have\n// been created in order to do modals in portals.\n\nconst ModalTrigger = {\n\topen: (cfg) => {\n\t\tcomponentIsDeprecated(\n\t\t\t'components/modal/trigger.jsx',\n\t\t\t'This component is deprecated and appears to have been created in order to do modals in portals which is what current Modal has done for years.'\n\t\t);\n\n\t\tlet el;\n\t\tif (canUseDOM) {\n\t\t\tel = document.createElement('span');\n\t\t\tel.setAttribute('data-slds-modal', true);\n\t\t\tdocument.body.appendChild(el);\n\t\t}\n\t\tconst comp = (\n\t\t\t\n\t\t\t\t{cfg.content}\n\t\t\t\n\t\t);\n\n\t\tReactDOM.render(comp, el); // deepscan-disable-line REACT_ASYNC_RENDER_RETURN_VALUE\n\t},\n};\n\nexport default ModalTrigger;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n/* eslint-disable import/no-mutable-exports */\n\nimport deprecatedProperty from '../../utilities/warning/deprecated-property';\n\nlet checkProps = function checkPropsFunction() {};\n\nif (process.env.NODE_ENV !== 'production') {\n\tcheckProps = function checkPropsFunction(COMPONENT, props) {\n\t\tdeprecatedProperty(\n\t\t\tCOMPONENT,\n\t\t\tprops.variant,\n\t\t\t'variant',\n\t\t\tundefined,\n\t\t\t'Shade variant is deprecated as there is no background supported currently. Vertical Navigation now uses a default shade.'\n\t\t);\n\t};\n}\n\nexport default checkProps;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\n// ### classNames\n// [github.com/JedWatson/classnames](https://github.com/JedWatson/classnames)\n// This project uses `classnames`, 'a simple javascript utility for conditionally\n// joining classNames together.'\nimport classNames from 'classnames';\n\n// ### isFunction\nimport isFunction from 'lodash.isfunction';\n\nimport { VERTICAL_NAVIGATION_ITEM } from '../../../utilities/constants';\n\nconst handleClick = (event, props) => {\n\tif (isFunction(props.onSelect)) {\n\t\tprops.onSelect(event, {\n\t\t\titem: props.item,\n\t\t});\n\t}\n};\n\nconst Item = (props) => (\n\t\n\t\t {\n\t\t\t\thandleClick(event, props);\n\t\t\t}}\n\t\t>\n\t\t\t{props.item.label}\n\t\t\n\t\n);\n\n// ### Display Name\n// Always use the canonical component name as the React display name.\nItem.displayName = VERTICAL_NAVIGATION_ITEM;\n\n// ### Prop Types\nItem.propTypes = {\n\t/**\n\t * Item to be rendered.\n\t */\n\titem: PropTypes.shape({\n\t\tid: PropTypes.string.isRequired,\n\t\tlabel: PropTypes.string.isRequired,\n\t\turl: PropTypes.string,\n\t}),\n\t/**\n\t * Whether item is selected or not.\n\t */\n\tisSelected: PropTypes.bool,\n\t/**\n\t * ID of the category this item belongs to.\n\t */\n\tcategoryId: PropTypes.string.isRequired,\n\t/**\n\t * Function that will run whenever an item is selected.\n\t */\n\tonSelect: PropTypes.func,\n};\n\nItem.defaultProps = {\n\tisSelected: false,\n};\n\nexport default Item;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// Implements the [Vertical Navigation design pattern](https://lightningdesignsystem.com/components/vertical-navigation/) in React.\n// Based on SLDS v2.2.1\n\nimport React from 'react';\n\nimport PropTypes from 'prop-types';\n\n// ### classNames\n// [github.com/JedWatson/classnames](https://github.com/JedWatson/classnames)\n// This project uses `classnames`, 'a simple javascript utility for conditionally\n// joining classNames together.'\nimport classNames from 'classnames';\n\n// ### shortid\n// [npmjs.com/package/shortid](https://www.npmjs.com/package/shortid)\n// shortid is a short, non-sequential, url-friendly, unique id generator\nimport shortid from 'shortid';\nimport componentDoc from './component.json';\nimport checkProps from './check-props';\n\nimport { VERTICAL_NAVIGATION } from '../../utilities/constants';\n\n// Child components\nimport Item from './private/item';\n\n/**\n * Vertical Navigation represents a list of links that either take the user to another page or parts of the page the user is in.\n */\nclass VerticalNavigation extends React.Component {\n\tstatic displayName = VERTICAL_NAVIGATION;\n\n\tstatic propTypes = {\n\t\t/**\n\t\t * HTML id for component. _Tested with snapshot testing._\n\t\t */\n\t\tid: PropTypes.string,\n\t\t/**\n\t\t * CSS class names to be added to the container element. _Tested with snapshot testing._\n\t\t */\n\t\tclassName: PropTypes.oneOfType([\n\t\t\tPropTypes.array,\n\t\t\tPropTypes.object,\n\t\t\tPropTypes.string,\n\t\t]),\n\t\t/**\n\t\t * Array of categories. The required shape is: `{id: string, label: string, items: array}`. The required shape of an item is `{id: string, label: string, url: string}`. All item ids are expected to be unique. _Tested with snapshot testing._\n\t\t */\n\t\tcategories: PropTypes.array,\n\t\t/**\n\t\t * The ID of the item that is currently selected. Defaults to the ID of the first item. _Tested with Mocha framework._\n\t\t */\n\t\tselectedId: PropTypes.string,\n\t\t/**\n\t\t * Triggered when the selection changes. It receives an event and an item object in the shape: `event, {item: [object] }`. _Tested with Mocha framework._\n\t\t */\n\t\tonSelect: PropTypes.func,\n\t};\n\n\tstatic defaultProps = {};\n\n\tconstructor(props) {\n\t\tsuper(props);\n\n\t\tthis.generatedId = shortid.generate();\n\t\tcheckProps(VERTICAL_NAVIGATION, props, componentDoc);\n\t}\n\n\tgetId = () => this.props.id || this.generatedId;\n\n\tgetSelectedId = () => {\n\t\tconst { categories } = this.props;\n\t\tlet selectedId;\n\t\tif (this.props.selectedId) {\n\t\t\t// eslint-disable-next-line prefer-destructuring\n\t\t\tselectedId = this.props.selectedId;\n\t\t} else if (\n\t\t\tcategories.length > 0 &&\n\t\t\tcategories[0].items &&\n\t\t\tcategories[0].items.length > 0\n\t\t) {\n\t\t\tselectedId = categories[0].items[0].id;\n\t\t}\n\t\treturn selectedId;\n\t};\n\n\trender() {\n\t\tconst rootId = this.getId();\n\t\treturn (\n\t\t\t\n\t\t\t\t{this.props.categories.map((category) => {\n\t\t\t\t\tconst categoryId = `${rootId}-${category.id}`;\n\t\t\t\t\tconst selectedId = this.getSelectedId();\n\t\t\t\t\treturn (\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t

    \n\t\t\t\t\t\t\t\t{category.label}\n\t\t\t\t\t\t\t

    \n\t\t\t\t\t\t\t
      \n\t\t\t\t\t\t\t\t{category.items.map((item) => (\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\n\t\t\t\t\t);\n\t\t\t\t})}\n\t\t\t\n\t\t);\n\t}\n}\n\nexport default VerticalNavigation;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n/* eslint-disable import/no-mutable-exports */\n\nimport componentIsDeprecated from '../../utilities/warning/component-is-deprecated';\n\nlet checkProps = function checkPropsFunction() {};\n\nif (process.env.NODE_ENV !== 'production') {\n\tcheckProps = function checkPropsFunction(COMPONENT, props) {\n\t\tcomponentIsDeprecated(\n\t\t\tCOMPONENT,\n\t\t\tprops,\n\t\t\t'Please use Alert or Toast in the future. Notications is not the same component in SLDS any longer.'\n\t\t);\n\t};\n}\n\nexport default checkProps;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\nimport classNames from 'classnames';\nimport Button from '../button';\nimport Icon from '../icon';\nimport checkProps from './check-props';\n\nconst displayName = 'Notification';\nconst propTypes = {\n\ticonCategory: PropTypes.string,\n\t/**\n\t * Custom classes applied to Notification element.\n\t */\n\tclassName: PropTypes.string,\n\t/**\n\t * Message for Notification.\n\t */\n\tcontent: PropTypes.node.isRequired,\n\t/**\n\t * If true, close button appears for users to dismiss Notification.\n\t */\n\tdismissible: PropTypes.bool,\n\t/**\n\t * If duration exists, the Notification will disappear after that amount of time.\n\t */\n\tduration: PropTypes.number,\n\t/**\n\t * Name of the icon. Visit Lighning Design System Icons to reference icon names.\n\t */\n\ticonName: PropTypes.string,\n\tisOpen: PropTypes.bool.isRequired,\n\tonDismiss: PropTypes.func,\n\t/**\n\t * Styling for Notification background.\n\t */\n\ttexture: PropTypes.bool,\n\t/**\n\t * Styling for Notification background color. Please reference Lighning Design System Themes > Color.\n\t */\n\ttheme: PropTypes.oneOf(['success', 'warning', 'error', 'offline']),\n\tvariant: PropTypes.oneOf(['alert', 'toast']).isRequired,\n};\n\nconst defaultProps = {\n\ticonCategory: 'utility',\n\tdismissible: true,\n\tisOpen: false,\n\ttexture: false,\n};\n\n/**\n * The Notification component is the Alert and Toast variants of the Lightning Design System Notification component. For prompt notifications, use the Modal component with prompt={true}.\n * The Notification opens from a state change outside of the component itself (pass this state to the isOpen prop).\n */\nclass Notification extends React.Component {\n\tconstructor(props) {\n\t\tsuper(props);\n\t\tthis.state = {};\n\t\tthis.timeout = null;\n\t}\n\n\tcomponentDidMount() {\n\t\tcheckProps('Notification', this.props);\n\n\t\tif (this.props.duration) {\n\t\t\tthis.timeout = setTimeout(() => {\n\t\t\t\tthis.onDismiss();\n\t\t\t}, this.props.duration);\n\t\t}\n\t}\n\n\t// eslint-disable-next-line camelcase, react/sort-comp\n\tUNSAFE_componentWillReceiveProps(nextProps) {\n\t\tif (nextProps.duration) {\n\t\t\tif (this.timeout) {\n\t\t\t\tclearTimeout(this.timeout);\n\t\t\t}\n\t\t\tif (nextProps.isOpen) {\n\t\t\t\tthis.timeout = setTimeout(() => {\n\t\t\t\t\tthis.onDismiss();\n\t\t\t\t}, this.props.duration);\n\t\t\t}\n\t\t}\n\t\tif (nextProps.isOpen !== this.props.isOpen) {\n\t\t\tthis.setState({ returnFocusTo: document.activeElement });\n\t\t}\n\t}\n\n\tcomponentDidUpdate(prevProps) {\n\t\tif (prevProps.isOpen !== this.props.isOpen) {\n\t\t\tconst btn = this.dismissBtnRef;\n\t\t\tif (btn) btn.focus();\n\t\t}\n\t}\n\n\tonDismiss = () => {\n\t\tif (this.timeout) {\n\t\t\tclearTimeout(this.timeout);\n\t\t\tthis.timeout = null;\n\t\t}\n\n\t\tif (this.props.onDismiss) this.props.onDismiss();\n\t\tif (this.state.returnFocusTo && this.state.returnFocusTo.focus) {\n\t\t\tthis.state.returnFocusTo.focus();\n\t\t}\n\t};\n\n\tgetClassName() {\n\t\treturn classNames(this.props.className, 'slds-notify', {\n\t\t\t[`slds-notify_${this.props.variant}`]: this.props.variant,\n\t\t\t[`slds-theme_${this.props.theme}`]: this.props.theme,\n\t\t\t'slds-theme_alert-texture': this.props.texture,\n\t\t});\n\t}\n\n\t/*\n\t * The parent container with role='alert' only announces its content if there is a change inside of it.\n\t * Because React renders the entire element to the DOM, we must switch out a blank div for the real content.\n\t * Bummer, I know.\n\t */\n\t// eslint-disable-next-line class-methods-use-this\n\tblankContent() {\n\t\treturn
    ;\n\t}\n\n\trenderAlertContent() {\n\t\treturn (\n\t\t\t

    \n\t\t\t\t{this.renderIcon()}\n\t\t\t\t{this.props.content}\n\t\t\t

    \n\t\t);\n\t}\n\n\trenderClose() {\n\t\tif (this.props.dismissible) {\n\t\t\tlet size = null;\n\t\t\tif (this.props.variant === 'toast') size = 'large';\n\n\t\t\t// i18n\n\t\t\treturn (\n\t\t\t\t {\n\t\t\t\t\t\tthis.dismissBtnRef = dismissBtn;\n\t\t\t\t\t}}\n\t\t\t\t\tvariant=\"icon\"\n\t\t\t\t/>\n\t\t\t);\n\t\t}\n\n\t\treturn null;\n\t}\n\n\trenderContent() {\n\t\treturn (\n\t\t\t
    \n\t\t\t\t{this.props.theme}\n\t\t\t\t{this.renderClose()}\n\t\t\t\t{this.props.variant === 'toast' ? this.renderToastContent() : null}\n\t\t\t\t{this.props.variant === 'alert' ? this.renderAlertContent() : null}\n\t\t\t
    \n\t\t);\n\t}\n\n\trenderIcon() {\n\t\tif (this.props.iconName) {\n\t\t\tlet classes = '';\n\n\t\t\tif (this.props.variant === 'alert') {\n\t\t\t\tclasses = 'slds-m-right_x-small';\n\t\t\t} else if (this.props.variant === 'toast') {\n\t\t\t\tclasses = 'slds-m-right_small slds-col slds-no-flex';\n\t\t\t}\n\n\t\t\treturn (\n\t\t\t\t\n\t\t\t);\n\t\t}\n\n\t\treturn null;\n\t}\n\n\trenderToastContent() {\n\t\treturn (\n\t\t\t
    \n\t\t\t\t{this.renderIcon()}\n\t\t\t\t
    \n\t\t\t\t\t

    \n\t\t\t\t\t\t{this.props.content}\n\t\t\t\t\t

    \n\t\t\t\t
    \n\t\t\t
    \n\t\t);\n\t}\n\n\trender() {\n\t\t// TODO: If there are multiple notifications on a page, we must 'hide' the ones that aren't open.\n\t\t// Need to find a better way to do this than using width:0 to override slds-notify-container.\n\t\tlet styles;\n\t\tif (!this.props.isOpen) {\n\t\t\tstyles = { width: '0px' };\n\t\t} else {\n\t\t\tstyles =\n\t\t\t\tthis.props.variant === 'toast'\n\t\t\t\t\t? { width: 'auto', left: '50%', transform: 'translateX(-50%)' }\n\t\t\t\t\t: { width: '100%' };\n\t\t}\n\n\t\tconst alertStyles = !this.props.isOpen ? { display: 'none' } : null;\n\t\treturn (\n\t\t\t
    \n\t\t\t\t\n\t\t\t\t\t{this.props.isOpen ? this.renderContent() : this.blankContent()}\n\t\t\t\t
    \n\t\t\t
    \n\t\t);\n\t}\n}\n\nNotification.displayName = displayName;\nNotification.propTypes = propTypes;\nNotification.defaultProps = defaultProps;\n\nexport default Notification;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n/* eslint-disable import/no-mutable-exports */\n\nimport React from 'react';\n\n// This function will deliver an error message to the browser console when all of the props passed in are undefined (falsey).\nimport warning from 'warning';\n\nlet renderFunctionReturnContentsLackDisplayName = function renderFunctionReturnContentsLackDisplayNameFunction() {};\n\nif (process.env.NODE_ENV !== 'production') {\n\tconst hasWarned = {};\n\n\trenderFunctionReturnContentsLackDisplayName = function renderFunctionReturnContentsLackDisplayNameFunction(\n\t\tcontrol,\n\t\tpropName,\n\t\trenderFunctionReturnContents,\n\t\tdisplayNames, // array of allowed displayName strings\n\t\tcheckChildren, // if true children of the render function return main node will be checked for displayNames matches\n\t\tcomment\n\t) {\n\t\tconst additionalComment = comment ? ` ${comment}` : '';\n\t\tconst displayNamesJoined = displayNames.join(',');\n\t\tlet foundDiscrepancy = false;\n\n\t\tif (\n\t\t\t!renderFunctionReturnContents.type ||\n\t\t\t!renderFunctionReturnContents.type.displayName ||\n\t\t\t!displayNamesJoined.match(renderFunctionReturnContents.type.displayName)\n\t\t) {\n\t\t\tif (\n\t\t\t\tcheckChildren &&\n\t\t\t\trenderFunctionReturnContents.props &&\n\t\t\t\trenderFunctionReturnContents.props.children\n\t\t\t) {\n\t\t\t\tReact.Children.forEach(\n\t\t\t\t\trenderFunctionReturnContents.props.children,\n\t\t\t\t\t(child) => {\n\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t!child ||\n\t\t\t\t\t\t\t!child.type ||\n\t\t\t\t\t\t\t!child.type.displayName ||\n\t\t\t\t\t\t\t!displayNamesJoined.match(child.type.displayName)\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\tfoundDiscrepancy = true;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t);\n\t\t\t} else {\n\t\t\t\tfoundDiscrepancy = true;\n\t\t\t}\n\t\t}\n\n\t\tif (foundDiscrepancy && !hasWarned[control]) {\n\t\t\tlet allowedDisplayNames = '';\n\n\t\t\tdisplayNames.forEach((displayName, index) => {\n\t\t\t\tallowedDisplayNames += displayName;\n\n\t\t\t\tif (displayNames.length > index + 2) {\n\t\t\t\t\tallowedDisplayNames += ', ';\n\t\t\t\t} else if (displayNames.length > index + 1) {\n\t\t\t\t\tallowedDisplayNames += displayNames.length > 2 ? ', or ' : ' or ';\n\t\t\t\t}\n\t\t\t});\n\n\t\t\t/* eslint-disable max-len */\n\t\t\twarning(\n\t\t\t\tfalse,\n\t\t\t\t`[Design System React] Content provided by \\`${propName}\\` for ${control} must have a \\`displayName\\` property value of ${allowedDisplayNames}${\n\t\t\t\t\tcheckChildren\n\t\t\t\t\t\t? ` or be an element/fragment with children all having the \\`displayName\\` property value of ${allowedDisplayNames}.`\n\t\t\t\t\t\t: '.'\n\t\t\t\t} Please review ${propName} prop documentation.${additionalComment}`\n\t\t\t);\n\t\t\t/* eslint-enable max-len */\n\t\t\thasWarned[control] = true;\n\t\t}\n\t};\n}\n\nexport default renderFunctionReturnContentsLackDisplayName;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n/* eslint-disable import/no-mutable-exports */\n\nimport deprecatedPropertyValue from '../../utilities/warning/deprecated-property-value';\nimport deprecatedProperty from '../../utilities/warning/deprecated-property';\nimport getComponentDocFn from '../../utilities/get-component-doc';\nimport renderFunctionReturnContentsLackDisplayName from '../../utilities/warning/render-function-return-contents-lack-display-name';\n\nimport { PAGE_HEADER_CONTROL } from '../../utilities/constants';\n\nlet checkProps = function checkPropsFunction() {};\n\nif (process.env.NODE_ENV !== 'production') {\n\tcheckProps = function checkPropsFunction(COMPONENT, props, jsonDoc) {\n\t\tconst createDocUrl = getComponentDocFn(jsonDoc);\n\n\t\tdeprecatedProperty(\n\t\t\tCOMPONENT,\n\t\t\tprops.iconCategory,\n\t\t\t'iconCategory',\n\t\t\t'icon',\n\t\t\tcreateDocUrl('icon')\n\t\t);\n\n\t\tdeprecatedProperty(\n\t\t\tCOMPONENT,\n\t\t\tprops.iconName,\n\t\t\t'iconName',\n\t\t\t'icon',\n\t\t\tcreateDocUrl('icon')\n\t\t);\n\n\t\tdeprecatedProperty(\n\t\t\tCOMPONENT,\n\t\t\tprops.iconPosition,\n\t\t\t'iconPosition',\n\t\t\t'icon',\n\t\t\tcreateDocUrl('icon')\n\t\t);\n\n\t\tdeprecatedProperty(\n\t\t\tCOMPONENT,\n\t\t\tprops.iconSize,\n\t\t\t'iconSize',\n\t\t\t'icon',\n\t\t\tcreateDocUrl('icon')\n\t\t);\n\n\t\tdeprecatedProperty(\n\t\t\tCOMPONENT,\n\t\t\tprops.iconVariant,\n\t\t\t'iconVariant',\n\t\t\t'icon',\n\t\t\tcreateDocUrl('icon')\n\t\t);\n\n\t\tif (props.variant === 'objectHome') {\n\t\t\tdeprecatedPropertyValue(\n\t\t\t\tCOMPONENT,\n\t\t\t\t{\n\t\t\t\t\tpropAsString: 'variant',\n\t\t\t\t\tpropValue: props.variant,\n\t\t\t\t\tdeprecatedPropValue: 'objectHome',\n\t\t\t\t\treplacementPropAsValue: 'object-home',\n\t\t\t\t},\n\t\t\t\t`Using value of variants in camelCase is deprecated. Use kebab-case ('object-home') instead. ${createDocUrl(\n\t\t\t\t\t'variant'\n\t\t\t\t)}`\n\t\t\t);\n\t\t}\n\n\t\tif (props.variant === 'recordHome') {\n\t\t\tdeprecatedPropertyValue(\n\t\t\t\tCOMPONENT,\n\t\t\t\t{\n\t\t\t\t\tpropAsString: 'variant',\n\t\t\t\t\tpropValue: props.variant,\n\t\t\t\t\tdeprecatedPropValue: 'recordHome',\n\t\t\t\t\treplacementPropAsValue: 'record-home',\n\t\t\t\t},\n\t\t\t\t`Using value of variants in camelCase is deprecated. Use kebab-case ('record-home') instead. ${createDocUrl(\n\t\t\t\t\t'variant'\n\t\t\t\t)}`\n\t\t\t);\n\t\t}\n\n\t\tif (props.variant === 'relatedList') {\n\t\t\tdeprecatedPropertyValue(\n\t\t\t\tCOMPONENT,\n\t\t\t\t{\n\t\t\t\t\tpropAsString: 'variant',\n\t\t\t\t\tpropValue: props.variant,\n\t\t\t\t\tdeprecatedPropValue: 'relatedList',\n\t\t\t\t\treplacementPropAsValue: 'related-list',\n\t\t\t\t},\n\t\t\t\t`Using value of variants in camelCase is deprecated. Use kebab-case ('related-list') instead. ${createDocUrl(\n\t\t\t\t\t'variant'\n\t\t\t\t)}`\n\t\t\t);\n\t\t}\n\n\t\tdeprecatedProperty(\n\t\t\tCOMPONENT,\n\t\t\tprops.contentRight,\n\t\t\t'contentRight',\n\t\t\t'onRenderActions',\n\t\t\tcreateDocUrl('onRenderActions')\n\t\t);\n\n\t\tdeprecatedProperty(\n\t\t\tCOMPONENT,\n\t\t\tprops.navRight,\n\t\t\t'navRight',\n\t\t\t'onRenderControls',\n\t\t\tcreateDocUrl('onRenderControls')\n\t\t);\n\n\t\tif (props.onRenderActions) {\n\t\t\trenderFunctionReturnContentsLackDisplayName(\n\t\t\t\tCOMPONENT,\n\t\t\t\t'onRenderActions',\n\t\t\t\tprops.onRenderActions(),\n\t\t\t\t[PAGE_HEADER_CONTROL],\n\t\t\t\ttrue\n\t\t\t);\n\t\t} else if (props.contentRight) {\n\t\t\trenderFunctionReturnContentsLackDisplayName(\n\t\t\t\tCOMPONENT,\n\t\t\t\t'contentRight',\n\t\t\t\tprops.contentRight,\n\t\t\t\t[PAGE_HEADER_CONTROL],\n\t\t\t\ttrue\n\t\t\t);\n\t\t}\n\n\t\tif (props.onRenderControls) {\n\t\t\trenderFunctionReturnContentsLackDisplayName(\n\t\t\t\tCOMPONENT,\n\t\t\t\t'onRenderControls',\n\t\t\t\tprops.onRenderControls(),\n\t\t\t\t[PAGE_HEADER_CONTROL],\n\t\t\t\ttrue\n\t\t\t);\n\t\t} else if (props.navRight) {\n\t\t\trenderFunctionReturnContentsLackDisplayName(\n\t\t\t\tCOMPONENT,\n\t\t\t\t'navRight',\n\t\t\t\tprops.navRight,\n\t\t\t\t[PAGE_HEADER_CONTROL],\n\t\t\t\ttrue\n\t\t\t);\n\t\t}\n\t};\n}\n\nexport default checkProps;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport classnames from 'classnames';\n\nconst displayName = 'PageHeaderInfo';\nconst propTypes = {\n\t/**\n\t * Optional class name\n\t */\n\tclassName: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\t/**\n\t * Contents of info section\n\t */\n\tcontent: PropTypes.node,\n\t/**\n\t * Variant passed down from page header\n\t */\n\tvariant: PropTypes.string,\n};\n\nconst Info = (props) => {\n\tif (!props.content) return null;\n\n\tconst classes = classnames(\n\t\t{\n\t\t\t'slds-page-header__name-meta': props.variant === 'base',\n\t\t\t'slds-page-header__meta-text':\n\t\t\t\tprops.variant === 'object-home' ||\n\t\t\t\tprops.variant === 'objectHome' ||\n\t\t\t\tprops.variant === 'related-list' ||\n\t\t\t\tprops.variant === 'relatedList',\n\t\t},\n\t\tprops.className\n\t);\n\n\tif (typeof props.content === 'string') {\n\t\treturn

    {props.content}

    ;\n\t}\n\n\treturn
    {props.content}
    ;\n};\n\nInfo.displayName = displayName;\nInfo.propTypes = propTypes;\n\nexport default Info;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\nimport Breadcrumb from '../../breadcrumb';\n\nconst displayName = 'PageHeaderLabel';\nconst propTypes = {\n\t/**\n\t * Contents of label section\n\t */\n\tcontent: PropTypes.node,\n\t/**\n\t * An array of react elements, presumably anchor elements.\n\t */\n\ttrail: PropTypes.array,\n};\n\nconst Label = (props) => {\n\tif (props.trail && props.trail.length > 0) {\n\t\treturn ;\n\t}\n\n\tif (props.content) {\n\t\tif (typeof props.content === 'string') {\n\t\t\treturn {props.content};\n\t\t}\n\n\t\treturn props.content;\n\t}\n\n\treturn null;\n};\n\nLabel.displayName = displayName;\nLabel.propTypes = propTypes;\n\nexport default Label;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\nimport React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport classnames from 'classnames';\n\nimport Label from './label';\n\nconst displayName = 'PageHeaderTitle';\nconst propTypes = {\n\t/**\n\t * Sets the vertical alignment on the title\n\t */\n\talign: PropTypes.oneOf(['top', 'middle', 'bottom']),\n\t/**\n\t * Optional class name\n\t */\n\tclassName: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\t/**\n\t * The title content\n\t */\n\tcontent: PropTypes.node,\n\t/**\n\t * Label node, for variants that require a label within the title\n\t */\n\tlabel: PropTypes.node,\n\t/**\n\t * Sets whether the title will truncate its content responsively.\n\t */\n\ttruncate: PropTypes.bool,\n};\nconst defaultProps = {\n\t// align: 'middle',\n\ttitle: 'Page Header Title',\n\ttruncate: true,\n};\n\nclass Title extends Component {\n\trender() {\n\t\tif (!this.props.content) return null;\n\n\t\tconst classes = classnames(\n\t\t\t'slds-page-header__title',\n\t\t\tthis.props.className,\n\t\t\t{\n\t\t\t\t'slds-truncate': this.props.truncate,\n\t\t\t\t[`slds-align-${this.props.align}`]: this.props.align,\n\t\t\t}\n\t\t);\n\n\t\treturn (\n\t\t\t
    \n\t\t\t\t

    \n\t\t\t\t\t

    \n\t\t\t
    \n\t\t);\n\t}\n}\n\nTitle.displayName = displayName;\nTitle.propTypes = propTypes;\nTitle.defaultProps = defaultProps;\n\nexport default Title;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n/* eslint-disable jsx-a11y/no-noninteractive-tabindex */\n\nimport React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport classnames from 'classnames';\nimport Tooltip from '../../tooltip';\n\nconst displayName = 'PageHeaderDetailRow';\nconst propTypes = {\n\t/**\n\t * Optional class name\n\t */\n\tclassName: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\t/**\n\t * The content property can be a string or a React element\n\t */\n\tcontent: PropTypes.node,\n\t/**\n\t * Sets the 'flavor' of a block, which adds the following sizing class: `slds-size_${flavor}`\n\t */\n\tflavor: PropTypes.string,\n\t/**\n\t * Sets the label of a detail block\n\t */\n\tlabel: PropTypes.node,\n\t/**\n\t * Sets whether the fields truncate\n\t */\n\ttruncate: PropTypes.bool,\n};\n\nconst defaultProps = {\n\tcontent: '',\n\tlabel: '',\n\ttruncate: true,\n};\n\nclass DetailBlock extends Component {\n\tconstructor(props) {\n\t\tsuper(props);\n\t\tthis.state = { showTooltip: false };\n\t}\n\n\tcomponentDidMount() {\n\t\tthis.renderFieldTruncation();\n\t}\n\n\tcomponentDidUpdate(prevProps) {\n\t\tif (this.props.content !== prevProps.content) {\n\t\t\tthis.renderFieldTruncation();\n\t\t}\n\t}\n\n\trenderContent() {\n\t\tconst { content, truncate } = this.props;\n\n\t\tif (typeof content === 'string') {\n\t\t\tconst labelClasses = classnames({ 'slds-truncate': truncate });\n\n\t\t\treturn (\n\t\t\t\t {\n\t\t\t\t\t\tthis.fieldContentRef = field;\n\t\t\t\t\t}}\n\t\t\t\t\ttitle={content}\n\t\t\t\t>\n\t\t\t\t\t{content}\n\t\t\t\t\n\t\t\t);\n\t\t}\n\n\t\treturn content;\n\t}\n\n\trenderContentWithTooltip() {\n\t\tconst { content, truncate } = this.props;\n\t\tconst labelClasses = classnames({ 'slds-truncate': truncate });\n\n\t\treturn (\n\t\t\t\n\t\t\t\t
    \n\t\t\t\t\t{content}\n\t\t\t\t
    \n\t\t\t
    \n\t\t);\n\t}\n\n\trenderFieldTruncation() {\n\t\tconst fieldContent = this.fieldContentRef;\n\t\tconst isTruncated =\n\t\t\tfieldContent && fieldContent.scrollWidth > fieldContent.offsetWidth;\n\n\t\tif (isTruncated) {\n\t\t\tthis.setState({ showTooltip: true });\n\t\t} else {\n\t\t\tthis.setState({ showTooltip: false });\n\t\t}\n\t}\n\n\trenderLabel() {\n\t\tconst { label, truncate } = this.props;\n\n\t\tif (typeof label === 'string') {\n\t\t\tconst labelClasses = classnames('slds-text-title', {\n\t\t\t\t'slds-truncate': truncate,\n\t\t\t});\n\n\t\t\treturn (\n\t\t\t\t
    \n\t\t\t\t\t{label}\n\t\t\t\t
    \n\t\t\t);\n\t\t}\n\n\t\treturn label;\n\t}\n\n\trender() {\n\t\tconst { className, flavor } = this.props;\n\n\t\tconst classes = classnames('slds-page-header__detail-block', className, {\n\t\t\t[`slds-size_${flavor}`]: flavor,\n\t\t});\n\n\t\treturn (\n\t\t\t
  • \n\t\t\t\t{this.renderLabel()}\n\t\t\t\t{this.state.showTooltip\n\t\t\t\t\t? this.renderContentWithTooltip()\n\t\t\t\t\t: this.renderContent()}\n\t\t\t
  • \n\t\t);\n\t}\n}\n\nDetailBlock.displayName = displayName;\nDetailBlock.propTypes = propTypes;\nDetailBlock.defaultProps = defaultProps;\n\nexport default DetailBlock;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\nimport React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport classnames from 'classnames';\nimport DetailBlock from './detail-block';\n\nconst displayName = 'PageHeaderDetailRow';\nconst propTypes = {\n\tchildren: PropTypes.node,\n\t/**\n\t * Optional class name\n\t */\n\tclassName: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\t/**\n\t * An array of detail blocks\n\t */\n\tdetails: PropTypes.array,\n};\nconst defaultProps = {};\n\nclass DetailRow extends Component {\n\trenderDetails() {\n\t\tif (this.props.children !== undefined) {\n\t\t\treturn this.props.children;\n\t\t}\n\n\t\tif (this.props.details) {\n\t\t\treturn this.props.details.map((detail, i) => {\n\t\t\t\tconst key = `page-header-detail-block-${i}`;\n\n\t\t\t\treturn (\n\t\t\t\t\t\n\t\t\t\t);\n\t\t\t});\n\t\t}\n\n\t\treturn null;\n\t}\n\n\trender() {\n\t\tconst classes = classnames(\n\t\t\t'slds-page-header__detail-row',\n\t\t\tthis.props.className\n\t\t);\n\n\t\treturn
      {this.renderDetails()}
    ;\n\t}\n}\n\nDetailRow.displayName = displayName;\nDetailRow.propTypes = propTypes;\nDetailRow.defaultProps = defaultProps;\n\nexport default DetailRow;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\nimport React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport classnames from 'classnames';\n\n// ## Constants\nimport { PAGE_HEADER_CONTROL } from '../../../utilities/constants';\n\nconst displayName = 'PageHeaderControls';\nconst propTypes = {\n\t/**\n\t * Optional class name\n\t */\n\tclassName: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\t/**\n\t * Type of this controls component ('actions' or 'controls')\n\t */\n\ttype: PropTypes.oneOf(['actions', 'controls']),\n};\nconst defaultProps = {};\n\nclass Controls extends Component {\n\trender() {\n\t\tlet controls;\n\t\tlet isUsingLegacyProp;\n\t\tlet legacyControls;\n\t\tlet vettedControls;\n\n\t\tif (this.props.type === 'actions') {\n\t\t\tif (this.props.onRenderActions) {\n\t\t\t\tcontrols = this.props.onRenderActions();\n\t\t\t} else if (this.props.contentRight) {\n\t\t\t\tcontrols = this.props.contentRight;\n\t\t\t\tisUsingLegacyProp = true;\n\t\t\t}\n\t\t} else if (this.props.onRenderControls) {\n\t\t\tcontrols = this.props.onRenderControls();\n\t\t} else if (this.props.navRight) {\n\t\t\tcontrols = this.props.navRight;\n\t\t\tisUsingLegacyProp = true;\n\t\t}\n\n\t\tif (controls) {\n\t\t\tif (controls.type && controls.type.displayName === PAGE_HEADER_CONTROL) {\n\t\t\t\tvettedControls = controls;\n\t\t\t} else if (controls.props && controls.props.children) {\n\t\t\t\tvettedControls = [];\n\n\t\t\t\tReact.Children.forEach(controls.props.children, (child) => {\n\t\t\t\t\tif (\n\t\t\t\t\t\tchild &&\n\t\t\t\t\t\tchild.type &&\n\t\t\t\t\t\tchild.type.displayName === PAGE_HEADER_CONTROL\n\t\t\t\t\t) {\n\t\t\t\t\t\t// eslint-disable-next-line fp/no-mutating-methods\n\t\t\t\t\t\tvettedControls.push(child);\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t}\n\n\t\t\t// Backward compatibility for older 'contentRight' & 'navRight' structures.\n\t\t\tif (isUsingLegacyProp && (!vettedControls || vettedControls.length < 1)) {\n\t\t\t\tif (typeof controls !== 'string') {\n\t\t\t\t\tlegacyControls = (\n\t\t\t\t\t\t
    \n\t\t\t\t\t);\n\t\t\t\t} else {\n\t\t\t\t\tlegacyControls = (\n\t\t\t\t\t\t
    {controls}
    \n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn (\n\t\t\t\t\n\t\t\t\t\t{legacyControls || (\n\t\t\t\t\t\t
    {vettedControls}
    \n\t\t\t\t\t)}\n\t\t\t\t
    \n\t\t\t);\n\t\t}\n\n\t\treturn null;\n\t}\n}\n\nControls.displayName = displayName;\nControls.propTypes = propTypes;\nControls.defaultProps = defaultProps;\n\nexport default Controls;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport classnames from 'classnames';\n\nimport Controls from '../controls';\nimport Icon from '../../../icon';\nimport Info from '../info';\nimport MediaObject from '../../../media-object';\nimport Title from '../title';\n\nconst displayName = 'PageHeaderBase';\nconst propTypes = {\n\t/**\n\t * The page header icon\n\t */\n\ticon: PropTypes.node,\n\t/**\n\t * The info property can be a string or a React element\n\t */\n\tinfo: PropTypes.node,\n\t/**\n\t * Nav content which appears in the upper right hand corner.\n\t * prop 'navRight' will be deprecated soon, use 'onRenderControls' instead\n\t */\n\tonRenderControls: PropTypes.func,\n\t/**\n\t * The title property can be a string or a React element\n\t */\n\ttitle: PropTypes.node,\n\t/**\n\t * The type of component\n\t */\n\tvariant: PropTypes.string,\n};\n\nconst Base = (props) => {\n\tlet icon;\n\n\t// Backwards compatibility\n\tif (props.iconName) {\n\t\ticon = (\n\t\t\t\n\t\t);\n\t} else if (props.icon) {\n\t\tlet iconClasses = 'slds-page-header__icon';\n\n\t\tif (props.icon.props) {\n\t\t\ticonClasses = classnames(props.icon.props.className, iconClasses);\n\t\t}\n\n\t\ticon = React.cloneElement(props.icon, { className: iconClasses });\n\t}\n\n\treturn (\n\t\t
    \n\t\t\t
    \n\t\t\t\t\n\t\t\t\t\t\t\t
    \n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<Info content={props.info} variant={props.variant} />\n\t\t\t\t\t\t</React.Fragment>\n\t\t\t\t\t}\n\t\t\t\t\tfigure={icon}\n\t\t\t\t/>\n\t\t\t</div>\n\t\t\t<Controls\n\t\t\t\tclassName=\"slds-align-middle\"\n\t\t\t\tnavRight={props.navRight}\n\t\t\t\tonRenderControls={props.onRenderControls}\n\t\t\t\ttype=\"controls\"\n\t\t\t/>\n\t\t</div>\n\t);\n};\nBase.displayName = displayName;\nBase.propTypes = propTypes;\n\nexport default Base;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport classnames from 'classnames';\n\nimport Controls from '../controls';\nimport DetailRow from '../detail-row';\nimport Icon from '../../../icon';\nimport MediaObject from '../../../media-object';\nimport Title from '../title';\n\nconst displayName = 'PageHeaderRecordHome';\nconst propTypes = {\n\t/**\n\t * An array of detail blocks (used in \"recordHome\" variant)\n\t */\n\tdetails: PropTypes.array,\n\t/**\n\t * The label property can be a string or a React element\n\t */\n\tlabel: PropTypes.node,\n\t/**\n\t * The page header icon\n\t */\n\ticon: PropTypes.element,\n\t/**\n\t * Content to appear on the right hand side of the page header\n\t * prop 'contentRight' will be deprecated soon, use 'onRenderActions' instead\n\t */\n\tonRenderActions: PropTypes.func,\n\t/**\n\t * The title property can be a string or a React element\n\t */\n\ttitle: PropTypes.node,\n};\n\nconst RecordHome = (props) => {\n\tlet icon;\n\n\t// Backwards compatibility\n\tif (props.iconName) {\n\t\ticon = (\n\t\t\t<Icon\n\t\t\t\tcategory={props.iconCategory}\n\t\t\t\tclassName=\"slds-page-header__icon\"\n\t\t\t\tname={props.iconName}\n\t\t\t\tposition={props.iconPosition}\n\t\t\t\tsize={props.iconSize}\n\t\t\t\tvariant={props.iconVariant}\n\t\t\t/>\n\t\t);\n\t} else if (props.icon) {\n\t\tlet iconClasses = 'slds-page-header__icon';\n\n\t\tif (props.icon.props) {\n\t\t\ticonClasses = classnames(props.icon.props.className, iconClasses);\n\t\t}\n\n\t\ticon = React.cloneElement(props.icon, { className: iconClasses });\n\t}\n\n\treturn (\n\t\t<React.Fragment>\n\t\t\t<div className=\"slds-page-header__row\">\n\t\t\t\t<div className=\"slds-page-header__col-title\">\n\t\t\t\t\t<MediaObject\n\t\t\t\t\t\tbody={\n\t\t\t\t\t\t\t<React.Fragment>\n\t\t\t\t\t\t\t\t<div className=\"slds-page-header__name\">\n\t\t\t\t\t\t\t\t\t<Title content={props.title} label={props.label} />\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</React.Fragment>\n\t\t\t\t\t\t}\n\t\t\t\t\t\tfigure={icon}\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t\t<Controls\n\t\t\t\t\tcontentRight={props.contentRight}\n\t\t\t\t\tonRenderActions={props.onRenderActions}\n\t\t\t\t\ttype=\"actions\"\n\t\t\t\t/>\n\t\t\t</div>\n\t\t\t{props.details ? (\n\t\t\t\t<div className=\"slds-page-header__row slds-page-header__row_gutters\">\n\t\t\t\t\t<div className=\"slds-page-header__col-details\">\n\t\t\t\t\t\t<DetailRow details={props.details} />\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t) : null}\n\t\t</React.Fragment>\n\t);\n};\n\nRecordHome.displayName = displayName;\nRecordHome.propTypes = propTypes;\n\nexport default RecordHome;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport classnames from 'classnames';\n\nimport Controls from '../controls';\nimport Icon from '../../../icon';\nimport Info from '../info';\nimport Label from '../label';\nimport MediaObject from '../../../media-object';\nimport Title from '../title';\n\nconst displayName = 'PageHeaderObjectHome';\nconst propTypes = {\n\t/**\n\t * The label property can be a string or a React element\n\t */\n\tlabel: PropTypes.node,\n\t/**\n\t * The page header icon\n\t */\n\ticon: PropTypes.element,\n\t/**\n\t * The info property can be a string or a React element\n\t */\n\tinfo: PropTypes.node,\n\t/**\n\t * Used with the `object-home` variant. Accepts a node, typically a Dropdown component\n\t */\n\tnameSwitcherDropdown: PropTypes.node,\n\t/**\n\t * Content to appear on the right hand side of the page header\n\t * prop 'contentRight' will be deprecated soon, use 'onRenderActions' instead\n\t */\n\tonRenderActions: PropTypes.func,\n\t/**\n\t * Nav content which appears in the upper right hand corner.\n\t * prop 'navRight' will be deprecated soon, use 'onRenderControls' instead\n\t */\n\tonRenderControls: PropTypes.func,\n\t/**\n\t * The title property can be a string or a React element\n\t */\n\ttitle: PropTypes.node,\n\t/**\n\t * An array of react elements presumably anchor <a> elements.\n\t */\n\ttrail: PropTypes.array,\n\t/**\n\t * The type of component\n\t * Note: Extra options are added to make the version backward compatible\n\t */\n\tvariant: PropTypes.string,\n};\n\nconst ObjectHome = (props) => {\n\tlet icon;\n\n\t// Backwards compatibility\n\tif (props.iconName) {\n\t\ticon = (\n\t\t\t<Icon\n\t\t\t\tcategory={props.iconCategory}\n\t\t\t\tclassName=\"slds-page-header__icon\"\n\t\t\t\tname={props.iconName}\n\t\t\t\tposition={props.iconPosition}\n\t\t\t\tsize={props.iconSize}\n\t\t\t\tvariant={props.iconVariant}\n\t\t\t/>\n\t\t);\n\t} else if (props.icon) {\n\t\tlet iconClasses = 'slds-page-header__icon';\n\n\t\tif (props.icon.props) {\n\t\t\ticonClasses = classnames(props.icon.props.className, iconClasses);\n\t\t}\n\n\t\ticon = React.cloneElement(props.icon, { className: iconClasses });\n\t}\n\n\treturn (\n\t\t<React.Fragment>\n\t\t\t<div className=\"slds-page-header__row\">\n\t\t\t\t<div className=\"slds-page-header__col-title\">\n\t\t\t\t\t<MediaObject\n\t\t\t\t\t\tbody={\n\t\t\t\t\t\t\t<React.Fragment>\n\t\t\t\t\t\t\t\t{props.trail ? (\n\t\t\t\t\t\t\t\t\t<Label style={{ lineHeight: '1.3' }} trail={props.trail} />\n\t\t\t\t\t\t\t\t) : null}\n\t\t\t\t\t\t\t\t<div className=\"slds-page-header__name\">\n\t\t\t\t\t\t\t\t\t<Title\n\t\t\t\t\t\t\t\t\t\tcontent={props.title}\n\t\t\t\t\t\t\t\t\t\tlabel={!props.trail ? props.label : null}\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t{props.nameSwitcherDropdown ? (\n\t\t\t\t\t\t\t\t\t\t<div className=\"slds-page-header__name-switcher\">\n\t\t\t\t\t\t\t\t\t\t\t{props.nameSwitcherDropdown}\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t) : null}\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</React.Fragment>\n\t\t\t\t\t\t}\n\t\t\t\t\t\tfigure={icon}\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t\t<Controls\n\t\t\t\t\tclassName={classnames({\n\t\t\t\t\t\t'slds-align-middle slds-p-bottom_none':\n\t\t\t\t\t\t\t!props.onRenderControls && !props.navRight,\n\t\t\t\t\t})}\n\t\t\t\t\tcontentRight={props.contentRight}\n\t\t\t\t\tonRenderActions={props.onRenderActions}\n\t\t\t\t\ttype=\"actions\"\n\t\t\t\t/>\n\t\t\t</div>\n\t\t\t<div className=\"slds-page-header__row\">\n\t\t\t\t<div className=\"slds-page-header__col-meta\">\n\t\t\t\t\t<Info content={props.info} variant={props.variant} />\n\t\t\t\t</div>\n\t\t\t\t<Controls\n\t\t\t\t\tclassName={classnames({\n\t\t\t\t\t\t'slds-align-middle': !props.onRenderActions && !props.comntentRight,\n\t\t\t\t\t})}\n\t\t\t\t\tnavRight={props.navRight}\n\t\t\t\t\tonRenderControls={props.onRenderControls}\n\t\t\t\t\ttype=\"controls\"\n\t\t\t\t/>\n\t\t\t</div>\n\t\t</React.Fragment>\n\t);\n};\n\nObjectHome.displayName = displayName;\nObjectHome.propTypes = propTypes;\n\nexport default ObjectHome;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\nimport Controls from '../controls';\nimport Info from '../info';\nimport Label from '../label';\nimport MediaObject from '../../../media-object';\nimport Title from '../title';\n\nconst displayName = 'PageHeaderRelatedList';\nconst propTypes = {\n\t/**\n\t * The label property can be a string or a React element\n\t */\n\tlabel: PropTypes.node,\n\t/**\n\t * The info property can be a string or a React element\n\t */\n\tinfo: PropTypes.node,\n\t/**\n\t * Content to appear on the right hand side of the page header\n\t * prop 'contentRight' will be deprecated soon, use 'onRenderActions' instead\n\t */\n\tonRenderActions: PropTypes.func,\n\t/**\n\t * Nav content which appears in the upper right hand corner.\n\t * prop 'navRight' will be deprecated soon, use 'onRenderControls' instead\n\t */\n\tonRenderControls: PropTypes.func,\n\t/**\n\t * The title property can be a string or a React element\n\t */\n\ttitle: PropTypes.node,\n\t/**\n\t * An array of react elements presumably anchor <a> elements.\n\t */\n\ttrail: PropTypes.array,\n\t/**\n\t * The type of component\n\t * Note: Extra options are added to make the version backward compatible\n\t */\n\tvariant: PropTypes.string,\n};\nconst defaultProps = {};\n\nconst RelatedList = (props) => (\n\t<React.Fragment>\n\t\t<div className=\"slds-page-header__row\">\n\t\t\t<div className=\"slds-page-header__col-title\">\n\t\t\t\t<Label content={props.label} trail={props.trail} />\n\t\t\t\t<MediaObject\n\t\t\t\t\tbody={\n\t\t\t\t\t\t<div className=\"slds-page-header__name\">\n\t\t\t\t\t\t\t<Title content={props.title} label={props.label} />\n\t\t\t\t\t\t</div>\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t</div>\n\t\t\t<Controls\n\t\t\t\tcontentRight={props.contentRight}\n\t\t\t\tonRenderActions={props.onRenderActions}\n\t\t\t\ttype=\"actions\"\n\t\t\t/>\n\t\t</div>\n\t\t<div className=\"slds-page-header__row\">\n\t\t\t<div className=\"slds-page-header__col-meta\">\n\t\t\t\t<Info content={props.info} variant={props.variant} />\n\t\t\t</div>\n\t\t\t<Controls\n\t\t\t\tnavRight={props.navRight}\n\t\t\t\tonRenderControls={props.onRenderControls}\n\t\t\t\ttype=\"controls\"\n\t\t\t/>\n\t\t</div>\n\t</React.Fragment>\n);\n\nRelatedList.displayName = displayName;\nRelatedList.propTypes = propTypes;\nRelatedList.defaultProps = defaultProps;\n\nexport default RelatedList;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n/* eslint-disable jsx-a11y/no-redundant-roles */\n\n// # Page Header Component\n\n// Implements the [Page Header design pattern](https://www.lightningdesignsystem.com/components/page-headers) in React.\n// Based on SLDS v2.2.1\n\n// ## Dependencies\n\nimport React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport classnames from 'classnames';\n\n// This component's `checkProps` which issues warnings to developers about properties when in development mode (similar to React's built in development tools)\nimport checkProps from './check-props';\nimport componentDoc from './component.json';\n\nimport Info from './private/info';\nimport Title from './private/title';\nimport DetailRow from './private/detail-row';\nimport DetailBlock from './private/detail-block';\nimport Base from './private/base';\nimport RecordHome from './private/record-home';\nimport ObjectHome from './private/object-home';\nimport RelatedList from './private/related-list';\n\n// ## Constants\nimport { PAGE_HEADER } from '../../utilities/constants';\n\nconst displayName = PAGE_HEADER;\nconst propTypes = {\n\t/**\n\t * Optional class name\n\t */\n\tclassName: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\t/**\n\t * An array of detail blocks (used in \"recordHome\" variant)\n\t */\n\tdetails: PropTypes.array,\n\t/**\n\t * The label property can be a string or a React element\n\t */\n\tlabel: PropTypes.oneOfType([PropTypes.string, PropTypes.element]),\n\t/**\n\t * The page header icon. Expects an Icon component\n\t */\n\ticon: PropTypes.element,\n\t/**\n\t * The info property can be a string or a React element\n\t */\n\tinfo: PropTypes.oneOfType([PropTypes.string, PropTypes.element]),\n\t/**\n\t * Makes PageHeader joinable with DataTable by adding appropriate classes/styling\n\t */\n\tjoined: PropTypes.bool,\n\t/**\n\t * Used with the `object-home` variant. Accepts a node, typically a Dropdown component\n\t */\n\tnameSwitcherDropdown: PropTypes.node,\n\t/**\n\t * Actions content to appear on the upper right side of the page header.\n\t * Returned content must be either a SLDSPageHeaderControl component or an element/fragment with children that are all SLDSPageHeaderControl components.\n\t * Prop 'contentRight' will be deprecated soon, use 'onRenderActions' instead.\n\t */\n\tonRenderActions: PropTypes.func,\n\t/**\n\t * Controls content to appear on the lower right side of the page header.\n\t * Returned content must be either a SLDSPageHeaderControl component or an element/fragment with children that are all SLDSPageHeaderControl components.\n\t * Prop 'navRight' will be deprecated soon, use 'onRenderControls' instead.\n\t */\n\tonRenderControls: PropTypes.func,\n\t/**\n\t * The title property can be a string or a React element\n\t */\n\ttitle: PropTypes.oneOfType([PropTypes.string, PropTypes.element]),\n\t/**\n\t * An array of react elements presumably anchor <a> elements.\n\t */\n\ttrail: PropTypes.array,\n\t/**\n\t * The type of component\n\t * Note: Extra options are added to make the version backward compatible\n\t */\n\tvariant: PropTypes.oneOf([\n\t\t'base',\n\t\t'object-home',\n\t\t'record-home',\n\t\t'related-list',\n\t]),\n};\n\nconst defaultProps = {\n\tvariant: 'base',\n};\n\n/**\n * The PageHeader component adds PageHeader, PageHeader.Info, PageHeader.Title, PageHeader.DetailRow, and PageHeader.DetailBlock.\n */\nclass PageHeader extends Component {\n\tcomponentDidMount() {\n\t\tcheckProps(PAGE_HEADER, this.props, componentDoc);\n\t}\n\n\trender() {\n\t\tconst { className, variant } = this.props;\n\t\tconst classes = classnames(\n\t\t\t'slds-page-header',\n\t\t\t{\n\t\t\t\t'slds-page-header_record-home':\n\t\t\t\t\tvariant === 'record-home' || variant === 'recordHome',\n\t\t\t\t'slds-page-header_related-list':\n\t\t\t\t\tvariant === 'related-list' || variant === 'relatedList',\n\t\t\t\t'slds-page-header_joined': this.props.joined,\n\t\t\t},\n\t\t\tclassName\n\t\t);\n\t\tlet Variant;\n\n\t\tswitch (variant) {\n\t\t\tcase 'object-home':\n\t\t\tcase 'objectHome': // For backward compatibility\n\t\t\t\tVariant = ObjectHome;\n\t\t\t\tbreak;\n\t\t\tcase 'record-home':\n\t\t\tcase 'recordHome': // For backward compatibility\n\t\t\t\tVariant = RecordHome;\n\t\t\t\tbreak;\n\t\t\tcase 'related-list':\n\t\t\tcase 'relatedList': // For backward compatibility\n\t\t\t\tVariant = RelatedList;\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\tVariant = Base;\n\t\t}\n\n\t\treturn (\n\t\t\t<div className={classes}>\n\t\t\t\t<Variant {...this.props} />\n\t\t\t</div>\n\t\t);\n\t}\n}\n\nPageHeader.displayName = displayName;\nPageHeader.propTypes = propTypes;\nPageHeader.defaultProps = defaultProps;\n\nexport default PageHeader;\n\n// NOTE: these are private components and are prone to breaking changes.\n// Do not use these in your app! These exports are for legacy use only.\nexport { Info, Title, DetailRow, DetailBlock };\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport classnames from 'classnames';\n\n// ## Constants\nimport { PAGE_HEADER_CONTROL } from '../../utilities/constants';\n\nconst propTypes = {\n\t/**\n\t * Optional class name\n\t */\n\tclassName: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n};\n\n/**\n * The PageHeaderControl component is used to wrap individual controls within PageHeader 'actions' and 'controls' sections.\n */\nconst Control = (props) => (\n\t<div className={classnames('slds-page-header__control', props.className)}>\n\t\t{props.children}\n\t</div>\n);\n\nControl.displayName = PAGE_HEADER_CONTROL;\nControl.propTypes = propTypes;\n\nexport default Control;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// # Panel - Filter variant\n\n// Implements the [Panel design pattern](https://www.lightningdesignsystem.com/components/panels) in React.\n// Based on SLDS v2.2.0-rc.1\n\n// ## Dependencies\n\n// ### React\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\n// ### classNames\nimport classNames from 'classnames';\n\n// ## Constants\nimport { PANEL } from '../../utilities/constants';\n\n/**\n * A panel provides detailed contextual information or contextual filtering options. [Filter](/components/filters/) component should be used as children. Menus within a Filter Popover will need to not have \"portal mounts\" and be inline. */\nclass Panel extends React.Component {\n\trender() {\n\t\treturn (\n\t\t\t<div\n\t\t\t\tclassName={classNames(\n\t\t\t\t\t'slds-panel',\n\t\t\t\t\t'slds-grid',\n\t\t\t\t\t'slds-grid_vertical',\n\t\t\t\t\t'slds-nowrap',\n\t\t\t\t\t{\n\t\t\t\t\t\t'slds-panel_filters': this.props.variant === 'filters',\n\t\t\t\t\t},\n\t\t\t\t\tthis.props.className\n\t\t\t\t)}\n\t\t\t>\n\t\t\t\t<div className=\"slds-form_stacked slds-grow slds-scrollable_y slds-grid slds-grid_vertical\">\n\t\t\t\t\t{this.props.children}\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t);\n\t}\n}\n\nPanel.displayName = PANEL;\n\nPanel.propTypes = {\n\t/**\n\t * The contents of the panel\n\t */\n\tchildren: PropTypes.node,\n\t/**\n\t * CSS classes to be added to `slds-panel`.\n\t */\n\tclassName: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\t/**\n\t * The type of panel\n\t */\n\tvariant: PropTypes.oneOf(['filters']),\n};\n\nexport default Panel;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n/* eslint-disable import/no-mutable-exports */\n\nimport deprecatedProperty from '../../../utilities/warning/deprecated-property';\n\nlet checkProps = function checkPropsFunction() {};\n\nif (process.env.NODE_ENV !== 'production') {\n\tcheckProps = function checkPropsFunction(COMPONENT, props) {\n\t\tdeprecatedProperty(\n\t\t\tCOMPONENT,\n\t\t\tprops.assistiveTextCloseFilterPanel,\n\t\t\t'assistiveTextCloseFilterPanel',\n\t\t\t\"assistiveText['closeButton']\"\n\t\t);\n\t};\n}\n\nexport default checkProps;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// # Panel Filter Group Footer\n\n// Implements the [Panel design pattern](https://www.lightningdesignsystem.com/components/panels) in React.\n// Based on SLDS v2.2.0-rc.1\n\n// ## Dependencies\n\n// ### React\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\nimport Button from '../../../button';\n\n/**\n * A filtering panel contextual filtering options.\n */\nconst PanelFilterFooter = ({\n\taddFilterLabel,\n\tonClickAdd,\n\tonClickRemoveAll,\n\tremoveAllLabel,\n}) => (\n\t<div className=\"slds-filters__footer slds-grid slds-shrink-none\">\n\t\t<Button label={addFilterLabel} onClick={onClickAdd} variant=\"link\" />\n\t\t<Button\n\t\t\tclassName=\"slds-col_bump-left\"\n\t\t\tlabel={removeAllLabel}\n\t\t\tonClick={onClickRemoveAll}\n\t\t\tvariant=\"link\"\n\t\t/>\n\t</div>\n);\n\nPanelFilterFooter.displayName = 'SLDSPanelFilterFooter';\n\nPanelFilterFooter.propTypes = {\n\t/**\n\t * Localized description of the \"Add Filter\" button in the footer\n\t */\n\taddFilterLabel: PropTypes.node.isRequired,\n\t/**\n\t * Callback triggered when \"Add Filter\" is clicked. Recieves an `event`.\n\t */\n\tonClickAdd: PropTypes.func.isRequired,\n\t/**\n\t * Callback triggered when \"Remove All\" is clicked. Recieves an `event`.\n\t */\n\tonClickRemoveAll: PropTypes.func.isRequired,\n\t/**\n\t * Localized description of the \"Remove All\" button in the footer\n\t */\n\tremoveAllLabel: PropTypes.node.isRequired,\n};\n\nexport default PanelFilterFooter;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// # Panel Filter Group Header\n\n// Implements the [Panel design pattern](https://www.lightningdesignsystem.com/components/panels) in React.\n// Based on SLDS v2.2.0-rc.1\n\n// ## Dependencies\n\n// ### React\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\nimport Button from '../../../button';\n\n/**\n * Header for a Filter Group within a Panel.\n */\nconst PanelFilterHeader = ({\n\tassistiveText,\n\tcancelLabel,\n\theading,\n\tmodified,\n\tonRequestCancel,\n\tonRequestClose,\n\tonRequestSave,\n\tsaveLabel,\n}) =>\n\tmodified ? (\n\t\t<div className=\"slds-filters__header slds-grid slds-has-divider_bottom-space slds-grid_align-spread\">\n\t\t\t<Button label={cancelLabel} onClick={onRequestCancel} variant=\"neutral\" />\n\t\t\t<Button label={saveLabel} onClick={onRequestSave} variant=\"brand\" />\n\t\t</div>\n\t) : (\n\t\t<div className=\"slds-filters__header slds-grid slds-has-divider_bottom-space\">\n\t\t\t<h2 className=\"slds-align-middle slds-text-heading_small\">{heading}</h2>\n\t\t\t<Button\n\t\t\t\tclassName=\"slds-col_bump-left\"\n\t\t\t\tassistiveText={{ icon: assistiveText.closeButton }}\n\t\t\t\ticonCategory=\"utility\"\n\t\t\t\ticonName=\"forward\"\n\t\t\t\ticonVariant=\"bare\"\n\t\t\t\ticonSize=\"small\"\n\t\t\t\tonClick={onRequestClose}\n\t\t\t\ttitle={assistiveText.closeButton}\n\t\t\t\tvariant=\"icon\"\n\t\t\t/>\n\t\t</div>\n\t);\n\nPanelFilterHeader.displayName = 'SLDSPanelFilterHeader';\n\nPanelFilterHeader.propTypes = {\n\t/**\n\t * **Assistive text for accessibility.**\n\t * This object is merged with the default props object on every render.\n\t * * `closeButton`: Localized description of the close button for the panel for screen readers\n\t */\n\tassistiveText: PropTypes.shape({\n\t\tcloseButton: PropTypes.string,\n\t}),\n\t/**\n\t * Label for button that cancels modified filters\n\t */\n\tcancelLabel: PropTypes.string,\n\t/**\n\t * The heading of the filtering panel\n\t */\n\theading: PropTypes.node,\n\t/**\n\t * Shows confirmation heading. Please see `onRequestCancel` and `onRequestSave`.\n\t */\n\tmodified: PropTypes.bool,\n\t/**\n\t * When the panel's cancel button is clicked in order to reset filter panel to previous state.\n\t */\n\tonRequestCancel: PropTypes.func,\n\t/**\n\t * When the panel's close button is clicked. Please place Panel within another element to control position and visibility.\n\t */\n\tonRequestClose: PropTypes.func,\n\t/**\n\t * When the panel's save button is clicked in order to confirm filter panel state.\n\t */\n\tonRequestSave: PropTypes.func,\n\t/**\n\t * Label for button that saves modified filters\n\t */\n\tsaveLabel: PropTypes.string,\n};\n\nexport default PanelFilterHeader;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// # Panel Filter Group\n\n// Implements the Filter part of [Panel design pattern](https://www.lightningdesignsystem.com/components/panels) in React.\n// Based on SLDS v2.2.0-rc.1\n\n// ## Dependencies\n\n// ### React\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\nimport checkProps from './check-props';\n\nimport PanelFilteringFooter from './private/panel-footer';\nimport PanelHeader from './private/panel-header';\n\n// ## Constants\nimport { PANEL_FILTER_GROUP } from '../../../utilities/constants';\n\nconst defaultProps = {\n\taddFilterLabel: 'Add Filter',\n\tcancelLabel: 'Cancel',\n\tassistiveText: {\n\t\tcloseButton: 'Close Filter Panel',\n\t},\n\theading: 'Filter',\n\tsaveLabel: 'Save',\n\tremoveAllLabel: 'Remove All',\n};\n\n/**\n * A filtering panel contextual filtering options.\n */\nconst PanelFilterGroup = (props) => {\n\tcheckProps(PANEL_FILTER_GROUP, props);\n\tconst {\n\t\tchildren,\n\t\terrorLabel,\n\t\tfooter,\n\t\theader,\n\t\tvariant,\n\n\t\t// footer\n\t\taddFilterLabel,\n\t\tonClickAdd,\n\t\tonClickRemoveAll,\n\t\tremoveAllLabel,\n\n\t\t// header\n\t\tcancelLabel,\n\t\theading,\n\t\tmodified,\n\t\tonRequestCancel,\n\t\tonRequestClose,\n\t\tonRequestSave,\n\t\tsaveLabel,\n\t} = props;\n\tconst assistiveText = {\n\t\t...defaultProps.assistiveText,\n\t\t...props.assistiveText,\n\t};\n\tif (props.assistiveTextCloseFilterPanel) {\n\t\tassistiveText.closeButton = props.assistiveTextCloseFilterPanel;\n\t}\n\treturn (\n\t\t<div className=\"slds-filters\">\n\t\t\t{variant === 'panel' ? (\n\t\t\t\t<PanelHeader\n\t\t\t\t\tassistiveText={assistiveText}\n\t\t\t\t\tcancelLabel={cancelLabel}\n\t\t\t\t\theading={heading}\n\t\t\t\t\tmodified={modified}\n\t\t\t\t\tonRequestCancel={onRequestCancel}\n\t\t\t\t\tonRequestClose={onRequestClose}\n\t\t\t\t\tonRequestSave={onRequestSave}\n\t\t\t\t\tsaveLabel={saveLabel}\n\t\t\t\t/>\n\t\t\t) : (\n\t\t\t\theader || null\n\t\t\t)}\n\t\t\t<div className=\"slds-filters__body\">\n\t\t\t\t{errorLabel ? (\n\t\t\t\t\t<div\n\t\t\t\t\t\tclassName=\"slds-text-color_error slds-m-bottom_x-small\"\n\t\t\t\t\t\trole=\"alert\"\n\t\t\t\t\t>\n\t\t\t\t\t\t{errorLabel}\n\t\t\t\t\t</div>\n\t\t\t\t) : null}\n\t\t\t\t{children}\n\t\t\t</div>\n\t\t\t{variant === 'panel' ? (\n\t\t\t\t<PanelFilteringFooter\n\t\t\t\t\taddFilterLabel={addFilterLabel}\n\t\t\t\t\tonClickAdd={onClickAdd}\n\t\t\t\t\tonClickRemoveAll={onClickRemoveAll}\n\t\t\t\t\tremoveAllLabel={removeAllLabel}\n\t\t\t\t/>\n\t\t\t) : (\n\t\t\t\tfooter || null\n\t\t\t)}\n\t\t</div>\n\t);\n};\n\nPanelFilterGroup.displayName = PANEL_FILTER_GROUP;\n\nPanelFilterGroup.propTypes = {\n\t/**\n\t * **Assistive text for accessibility.**\n\t * This object is merged with the default props object on every render.\n\t * * `closeButton`: Localized description of the close button for the panel for screen readers\n\t */\n\tassistiveText: PropTypes.shape({\n\t\tcloseButton: PropTypes.string,\n\t}),\n\t/**\n\t * Localized description of the \"Add Filter\" button in the footer\n\t */\n\taddFilterLabel: PropTypes.node,\n\t/**\n\t * Label for button that cancels modified filters\n\t */\n\tcancelLabel: PropTypes.string,\n\t/**\n\t * Pass in `FilterList`'s of `Filters`:\n\t *\n\t * ```\n\t * <FilterGroup\n\t * variant=\"panel\"\n\t * >\n\t * <FilterList>\n\t * <Filter\n\t * property=\"Show Me\"\n\t * predicate=\"All Wackamoles\"\n\t * >\n\t * {popoverContents}\n\t * </Filter>\n\t * </FilterList>\n\t * </FilterGroup>\n\t * ```\n\t */\n\tchildren: PropTypes.node,\n\t/**\n\t * Label for the error message at the top of the panel.\n\t */\n\terrorLabel: PropTypes.string,\n\t/**\n\t * Allows for customization of footer. This will be added after any `FilterList`'s in the DOM. If using Panel Filter Group outside of a panel, do not set the variant to `panel` and header and footer will be removed.\n\t */\n\tfooter: PropTypes.node,\n\t/**\n\t * Allows for customization of header. This will be added before any `FilterList`'s in the DOM. If using Panel Filter Group outside of a panel, do not set the variant to `panel` and header and footer will be removed.\n\t */\n\theader: PropTypes.node,\n\t/**\n\t * The heading within the header of the filtering panel\n\t */\n\theading: PropTypes.oneOfType([PropTypes.node, PropTypes.string]),\n\t/**\n\t * Shows confirmation heading. Please see `onRequestCancel` and `onRequestSave`.\n\t */\n\tmodified: PropTypes.bool,\n\t/**\n\t * Callback triggered when \"Add Filter\" is clicked. Recieves an `event`.\n\t */\n\tonClickAdd: PropTypes.func,\n\t/**\n\t * Callback triggered when \"Remove All\" is clicked. Recieves an `event`.\n\t */\n\tonClickRemoveAll: PropTypes.func,\n\t/**\n\t * When the panel's cancel button is clicked in order to reset filter panel to previous state.\n\t */\n\tonRequestCancel: PropTypes.func,\n\t/**\n\t * When the panel's close button is clicked. Please place Panel within another element to control position and visibility.\n\t */\n\tonRequestClose: PropTypes.func,\n\t/**\n\t * When the panel's save button is clicked in order to confirm filter panel state.\n\t */\n\tonRequestSave: PropTypes.func,\n\t/**\n\t * Localized description of the \"Remove All\" button in the footer\n\t */\n\tremoveAllLabel: PropTypes.node,\n\t/**\n\t * Label for button that saves modified filters\n\t */\n\tsaveLabel: PropTypes.string,\n\t/**\n\t * Adds in default Panel header and footer\n\t */\n\tvariant: PropTypes.oneOf(['panel']),\n};\n\nPanelFilterGroup.defaultProps = defaultProps;\n\nexport default PanelFilterGroup;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// # Filter List\n\n// Implements the [Panel design pattern](https://www.lightningdesignsystem.com/components/panels) in React.\n// Based on SLDS v2.2.0-rc.1\n\n// ## Dependencies\n\n// ### React\nimport React from 'react';\n\nimport PropTypes from 'prop-types';\n\n// ### shortid\n// [npmjs.com/package/shortid](https://www.npmjs.com/package/shortid)\n// shortid is a short, non-sequential, url-friendly, unique id generator\nimport shortid from 'shortid';\n\n// ## Constants\nimport { PANEL_FILTER_LIST } from '../../../utilities/constants';\n\n/**\n * A list of Filters. This is a higher order component for filters that decorates the filter to work within a Filtering Panel. It also adds support for a Filter error label.\n */\nclass PanelFilterList extends React.Component {\n\tstatic displayName = PANEL_FILTER_LIST;\n\n\tstatic propTypes() {\n\t\treturn {\n\t\t\t/**\n\t\t\t * Pass in `Filter` components\n\t\t\t */\n\t\t\tchildren: PropTypes.node,\n\t\t};\n\t}\n\n\tconstructor(props) {\n\t\tsuper(props);\n\n\t\tthis.generatedId = shortid.generate();\n\t}\n\n\trender() {\n\t\tconst children = React.Children.map(this.props.children, (child, index) => {\n\t\t\tconst id =\n\t\t\t\tchild && child.props.id\n\t\t\t\t\t? child.props.id\n\t\t\t\t\t: `${this.generatedId}-${index}`;\n\n\t\t\tlet clonedChild;\n\n\t\t\tif (child && child.props.errorLabel) {\n\t\t\t\tclonedChild = React.cloneElement(child, {\n\t\t\t\t\tisError: true,\n\t\t\t\t});\n\t\t\t}\n\n\t\t\treturn child ? (\n\t\t\t\t<li className=\"slds-item slds-hint-parent\">\n\t\t\t\t\t{clonedChild || child}\n\t\t\t\t\t{child.props.errorLabel ? (\n\t\t\t\t\t\t<p\n\t\t\t\t\t\t\tid={`${id}-error`}\n\t\t\t\t\t\t\tclassName=\"slds-text-color_error slds-m-top_xx-small\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{child.props.errorLabel}\n\t\t\t\t\t\t</p>\n\t\t\t\t\t) : null}\n\t\t\t\t</li>\n\t\t\t) : null;\n\t\t});\n\n\t\treturn (\n\t\t\t<ol className=\"slds-list_vertical slds-list_vertical-space\">\n\t\t\t\t{children}\n\t\t\t</ol>\n\t\t);\n\t}\n}\n\nexport default PanelFilterList;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// # FIlter List Heading\n\n// Implements the [Panel design pattern](https://www.lightningdesignsystem.com/components/panels) in React.\n// Based on SLDS v2.2.0-rc.1\n\n// ## Dependencies\n\n// ### React\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\n// ### classNames\nimport classNames from 'classnames';\n\nimport Icon from '../../icon';\n\n// ## Constants\nimport { PANEL_FILTER_LIST_HEADING } from '../../../utilities/constants';\n\n/**\n * A filtering panel contextual filtering options.\n */\nconst PanelFilterListHeading = ({ heading, isLocked, lockedHeading }) => (\n\t<h3\n\t\tclassName={classNames('slds-text-body_small', 'slds-m-vertical_x-small', {\n\t\t\t'slds-grid': isLocked,\n\t\t})}\n\t>\n\t\t{isLocked ? lockedHeading : heading}\n\t\t{isLocked ? (\n\t\t\t<Icon\n\t\t\t\tclassName=\"slds-m-left_x-small\"\n\t\t\t\tassistiveText={{ label: 'locked' }}\n\t\t\t\tcategory=\"utility\"\n\t\t\t\tname=\"lock\"\n\t\t\t\tsize=\"x-small\"\n\t\t\t/>\n\t\t) : null}\n\t</h3>\n);\n\nPanelFilterListHeading.displayName = PANEL_FILTER_LIST_HEADING;\n\nPanelFilterListHeading.propTypes = {\n\t/**\n\t * Heading for following PanelFilterList\n\t */\n\theading: PropTypes.oneOfType([PropTypes.node, PropTypes.string]),\n\t/**\n\t * Displayed a heading for a locked list of filters\n\t */\n\tisLocked: PropTypes.bool,\n\t/**\n\t * Heading for a group of filters that are locked\n\t */\n\tlockedHeading: PropTypes.string,\n};\n\nPanelFilterListHeading.defaultProps = {\n\theading: 'Matching all these filters',\n\tlockedHeading: 'Locked filters',\n};\n\nexport default PanelFilterListHeading;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// # Pill Container Component\n// Implements the [Listbox of Pill Options design pattern](https://www.lightningdesignsystem.com/components/pills/?variant=listbox-of-pill-options) in React.\n\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport shortid from 'shortid';\nimport SelectedListBox from './private/selected-listbox';\n\nimport { PILL_CONTAINER } from '../../utilities/constants';\n\nconst propTypes = {\n\t/**\n\t * **Assistive text for accessibility**\n\t * * `listboxLabel`: This is a label for the listbox. The default is `Selected Options:`.\n\t * * `removePill`: Used to remove a selected item (pill). Focus is on the pill. This is not a button. The default is `Press delete or backspace to remove`.\n\t */\n\tassistiveText: PropTypes.shape({\n\t\tlistboxLabel: PropTypes.string,\n\t\tremovePill: PropTypes.string,\n\t}),\n\t/**\n\t * CSS classes to be added to the pill container\n\t */\n\tclassName: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\t/**\n\t * HTML id for pill container\n\t */\n\tid: PropTypes.string,\n\t/**\n\t * **Text labels for internationalization**\n\t * * `removePillTitle`: Title on `X` icon\n\t */\n\tlabels: PropTypes.shape({\n\t\tremovePillTitle: PropTypes.string,\n\t}),\n\t/**\n\t * **Array of pill objects.**\n\t * Each object can contain:\n\t * * `avatar`: An `Avatar` component.\n\t * * `error`: Adds error styling\n\t * * `icon`: An `Icon` component.\n\t * * `id`: A unique identifier string.\n\t * * `label`: A primary string of text.\n\t * * `title`: Text that appears on mouse hover. Most helpful for long labels.\n\t * ```\n\t * {\n\t * \tid: '2',\n\t * \tlabel: 'Salesforce.com, Inc.',\n\t * \ttitle: 'Salesforce.com, Inc. - Want to work here?',\n\t * },\n\t * ```\n\t * `options` with array length of zero will remove this component from the DOM.\n\t */\n\toptions: PropTypes.arrayOf(\n\t\tPropTypes.shape({\n\t\t\tavatar: PropTypes.oneOfType([\n\t\t\t\tPropTypes.node,\n\t\t\t\tPropTypes.shape({\n\t\t\t\t\timgSrc: PropTypes.string,\n\t\t\t\t\ttitle: PropTypes.string,\n\t\t\t\t\tvariant: PropTypes.string,\n\t\t\t\t}),\n\t\t\t]),\n\t\t\tbare: PropTypes.bool,\n\t\t\terror: PropTypes.bool,\n\t\t\ticon: PropTypes.oneOfType([\n\t\t\t\tPropTypes.node,\n\t\t\t\tPropTypes.shape({\n\t\t\t\t\tcategory: PropTypes.string,\n\t\t\t\t\tname: PropTypes.string,\n\t\t\t\t}),\n\t\t\t]),\n\t\t\tid: PropTypes.string,\n\t\t\tlabel: PropTypes.oneOfType([PropTypes.node, PropTypes.string]),\n\t\t\ttitle: PropTypes.string,\n\t\t})\n\t),\n\t/**\n\t * Function called when a pill is clicked\n\t */\n\tonClickPill: PropTypes.func,\n\t/**\n\t * Function called when a pill is requested to be 'removed' via the delete key or 'X' icon click.\n\t */\n\tonRequestRemovePill: PropTypes.func,\n\t/**\n\t * Custom style object to be passed to the pill container\n\t */\n\tstyle: PropTypes.object,\n\t/**\n\t * Specifies the pill styling at the container level. `bare` removes border styling from all pills.\n\t */\n\tvariant: PropTypes.oneOf(['base', 'bare']),\n};\n\n/**\n * A `PillContainer` is a container that holds one or more pills. Use it for a list of pills in a container that resembles an `input` form field. It is not intended for navigation.\n */\nclass PillContainer extends React.Component {\n\tconstructor(props) {\n\t\tsuper(props);\n\n\t\tthis.state = {\n\t\t\t// seeding initial state with this.props.options[0]\n\t\t\tactiveSelectedOption:\n\t\t\t\t(this.props.options && this.props.options[0]) || undefined,\n\t\t\tactiveSelectedOptionIndex: 0,\n\t\t\tlistboxHasFocus: false,\n\t\t};\n\n\t\tthis.activeSelectedOptionRef = null;\n\t\tthis.generatedId = shortid.generate();\n\t\tthis.preserveFocus = false;\n\t}\n\n\tcomponentDidUpdate() {\n\t\tif (\n\t\t\t(this.props.options &&\n\t\t\t\tthis.props.options.length > 0 &&\n\t\t\t\t!this.props.options[this.state.activeSelectedOptionIndex]) ||\n\t\t\tthis.preserveFocus\n\t\t) {\n\t\t\tthis.resetActiveSelectedOption();\n\t\t\tthis.preserveFocus = false;\n\t\t}\n\t}\n\n\tgetId = () => this.props.id || this.generatedId;\n\n\tgetNewActiveOptionIndex = ({ activeOptionIndex, offset, options }) => {\n\t\tconst nextIndex = activeOptionIndex + offset;\n\t\treturn options.length > nextIndex && nextIndex >= 0\n\t\t\t? nextIndex\n\t\t\t: activeOptionIndex;\n\t};\n\n\thandleBlurPill = () => {\n\t\tif (!this.preserveFocus) {\n\t\t\tthis.setState({ listboxHasFocus: false });\n\t\t} else {\n\t\t\tthis.preserveFocus = false;\n\t\t}\n\t};\n\n\thandleClickPill = (event, data) => {\n\t\tif (this.props.onClickPill) {\n\t\t\tthis.props.onClickPill(event, {\n\t\t\t\tindex: data.index,\n\t\t\t\toption: data.option,\n\t\t\t});\n\t\t}\n\t};\n\n\thandlePillFocus = (event, data) => {\n\t\tif (!this.state.listboxHasFocus) {\n\t\t\tthis.setState({\n\t\t\t\tactiveSelectedOption: data.option,\n\t\t\t\tactiveSelectedOptionIndex: data.index,\n\t\t\t\tlistboxHasFocus: true,\n\t\t\t});\n\t\t}\n\t};\n\n\thandleNavigatePillContainer = (event, { direction }) => {\n\t\tconst offsets = { next: 1, previous: -1 };\n\t\tthis.setState((prevState) => {\n\t\t\tconst { options } = this.props;\n\t\t\tconst isLastOptionAndRightIsPressed =\n\t\t\t\tprevState.activeSelectedOptionIndex + 1 === options.length &&\n\t\t\t\tdirection === 'next';\n\t\t\tconst isFirstOptionAndLeftIsPressed =\n\t\t\t\tprevState.activeSelectedOptionIndex === 0 && direction === 'previous';\n\t\t\tlet newState;\n\n\t\t\tif (isLastOptionAndRightIsPressed) {\n\t\t\t\tnewState = {\n\t\t\t\t\tactiveSelectedOption: options[0],\n\t\t\t\t\tactiveSelectedOptionIndex: 0,\n\t\t\t\t\tlistboxHasFocus: true,\n\t\t\t\t};\n\t\t\t} else if (isFirstOptionAndLeftIsPressed) {\n\t\t\t\tnewState = {\n\t\t\t\t\tactiveSelectedOption: options[options.length - 1],\n\t\t\t\t\tactiveSelectedOptionIndex: options.length - 1,\n\t\t\t\t\tlistboxHasFocus: true,\n\t\t\t\t};\n\t\t\t} else {\n\t\t\t\tconst newIndex = this.getNewActiveOptionIndex({\n\t\t\t\t\tactiveOptionIndex: prevState.activeSelectedOptionIndex,\n\t\t\t\t\toffset: offsets[direction],\n\t\t\t\t\toptions,\n\t\t\t\t});\n\t\t\t\tnewState = {\n\t\t\t\t\tactiveSelectedOption: options[newIndex],\n\t\t\t\t\tactiveSelectedOptionIndex: newIndex,\n\t\t\t\t\tlistboxHasFocus: true,\n\t\t\t\t};\n\t\t\t}\n\n\t\t\tthis.preserveFocus = true;\n\t\t\treturn newState;\n\t\t});\n\t};\n\n\thandleRequestFocusPillContainer = (event, { ref }) => {\n\t\tif (ref) {\n\t\t\tthis.activeSelectedOptionRef = ref;\n\t\t\tthis.activeSelectedOptionRef.focus();\n\t\t}\n\t};\n\n\thandleRequestRemove = (event, data) => {\n\t\tif (this.props.onRequestRemovePill) {\n\t\t\tthis.preserveFocus = true;\n\t\t\tthis.props.onRequestRemovePill(event, {\n\t\t\t\tindex: data.index,\n\t\t\t\toption: data.option,\n\t\t\t});\n\t\t}\n\t};\n\n\tresetActiveSelectedOption = () => {\n\t\tconst { options } = this.props;\n\t\tlet { activeSelectedOptionIndex } = this.state;\n\n\t\tif (!options[activeSelectedOptionIndex]) {\n\t\t\tif (options.length > 0 && activeSelectedOptionIndex >= options.length) {\n\t\t\t\tactiveSelectedOptionIndex = options.length - 1;\n\t\t\t} else {\n\t\t\t\tactiveSelectedOptionIndex = 0;\n\t\t\t}\n\t\t}\n\n\t\tthis.setState({\n\t\t\tactiveSelectedOption: options[activeSelectedOptionIndex] || undefined,\n\t\t\tactiveSelectedOptionIndex,\n\t\t\tlistboxHasFocus: !!options[activeSelectedOptionIndex],\n\t\t});\n\t};\n\n\trender() {\n\t\treturn this.props.options.length > 0 ? (\n\t\t\t<SelectedListBox\n\t\t\t\tactiveOption={this.state.activeSelectedOption}\n\t\t\t\tactiveOptionIndex={this.state.activeSelectedOptionIndex}\n\t\t\t\tassistiveText={{\n\t\t\t\t\tremovePill: this.props.assistiveText.removePill,\n\t\t\t\t\tselectedListboxLabel: this.props.assistiveText.listboxLabel,\n\t\t\t\t}}\n\t\t\t\tclassName={this.props.className}\n\t\t\t\tevents={{\n\t\t\t\t\tonBlurPill: this.handleBlurPill,\n\t\t\t\t\tonClickPill: this.handleClickPill,\n\t\t\t\t\tonPillFocus: this.handlePillFocus,\n\t\t\t\t\tonRequestFocus: this.handleRequestFocusPillContainer,\n\t\t\t\t\tonRequestFocusOnNextPill: this.handleNavigatePillContainer,\n\t\t\t\t\tonRequestFocusOnPreviousPill: this.handleNavigatePillContainer,\n\t\t\t\t\tonRequestRemove: this.handleRequestRemove,\n\t\t\t\t}}\n\t\t\t\tid={`${this.getId()}-listbox-of-pill-options`}\n\t\t\t\tisBare={this.props.variant === 'bare'}\n\t\t\t\tisPillContainer\n\t\t\t\tlabels={this.props.labels}\n\t\t\t\tlistboxHasFocus={this.state.listboxHasFocus}\n\t\t\t\trenderAtSelectionLength={0}\n\t\t\t\tselection={this.props.options}\n\t\t\t\tstyle={this.props.style}\n\t\t\t/>\n\t\t) : null;\n\t}\n}\n\nPillContainer.displayName = PILL_CONTAINER;\n\nPillContainer.defaultProps = {\n\tassistiveText: {\n\t\tlistboxLabel: 'Selected Options:',\n\t\tremovePill: 'Press delete or backspace to remove',\n\t},\n\tlabels: {\n\t\tremovePillTitle: 'Remove',\n\t},\n};\n\nPillContainer.propTypes = propTypes;\n\nexport default PillContainer;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// Implements the [Progress Bar design pattern](https://lightningdesignsystem.com/components/progress-ring/) in React.\n// Based on SLDS v2.4.5\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport assign from 'lodash.assign';\n\n// ### shortid\n// [npmjs.com/package/shortid](https://www.npmjs.com/package/shortid)\n// shortid is a short, non-sequential, url-friendly, unique id generator\nimport shortid from 'shortid';\nimport { PROGRESS_BAR } from '../../utilities/constants';\n\nconst propTypes = {\n\t/**\n\t * **Assistive text for accessibility**\n\t * This object is merged with the default props object on every render.\n\t * * `progress`: This is a visually hidden label for the percent of progress.\n\t * _Tested with snapshot testing._\n\t */\n\tassistiveText: PropTypes.shape({ progress: PropTypes.string }),\n\t/**\n\t * HTML id for component.\n\t */\n\tid: PropTypes.string,\n\t/**\n\t * CSS classes to be added to tag with `.slds-progress-bar`. Uses `classNames` [API](https://github.com/JedWatson/classnames).\n\t */\n\tclassName: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\t/**\n\t * Label for the progress bar\n\t */\n\tlabels: PropTypes.shape({\n\t\tlabel: PropTypes.oneOfType([PropTypes.string, PropTypes.node]),\n\t\tcomplete: PropTypes.oneOfType([PropTypes.string, PropTypes.node]),\n\t}),\n\t/**\n\t * Set radius of progress bar\n\t */\n\tradius: PropTypes.oneOf(['circular']),\n\t/**\n\t * Set fill of progress bar\n\t */\n\tcolor: PropTypes.oneOf(['success']),\n\t/**\n\t * Set progress bar thickness\n\t */\n\tthickness: PropTypes.oneOf(['x-small', 'small', 'medium', 'large']),\n\t/**\n\t * Percentage of progress completion, ranging [0, 100].\n\t */\n\tvalue: PropTypes.number.isRequired,\n\t/**\n\t * Orientation of the progress bar to be used\n\t */\n\torientation: PropTypes.oneOf(['horizontal', 'vertical']),\n\t/**\n\t * Custom styles to be passed to the component\n\t */\n\tstyle: PropTypes.object,\n};\n\nconst defaultProps = {\n\tassistiveText: {\n\t\tprogress: 'Progress',\n\t},\n\tlabels: {\n\t\tcomplete: 'Complete',\n\t},\n\torientation: 'horizontal',\n\tstyle: {\n\t\theight: '100%',\n\t},\n};\n\n/**\n * A progress bar component communicates to the user the progress of a particular process\n */\nclass ProgressBar extends React.Component {\n\tconstructor(props) {\n\t\tsuper(props);\n\n\t\tthis.generatedId = shortid.generate();\n\t}\n\n\t/**\n\t * ID as a string\n\t * @returns {string} id\n\t */\n\tgetId() {\n\t\treturn this.props.id || this.generatedId;\n\t}\n\n\t/**\n\t * Enables Descriptive Progress Bar if label is provided\n\t * @returns {string} description\n\t */\n\tgetDescription({ labels }) {\n\t\tif (labels.label) {\n\t\t\treturn (\n\t\t\t\t<div\n\t\t\t\t\tclassName=\"slds-grid slds-grid_align-spread slds-p-bottom_x-small\"\n\t\t\t\t\tid={`progress-bar-label-${this.getId()}`}\n\t\t\t\t>\n\t\t\t\t\t<span>{labels.label}</span>\n\t\t\t\t\t<span>\n\t\t\t\t\t\t<strong>\n\t\t\t\t\t\t\t{this.props.value}\n\t\t\t\t\t\t\t{'% '}\n\t\t\t\t\t\t\t{labels.complete}\n\t\t\t\t\t\t</strong>\n\t\t\t\t\t</span>\n\t\t\t\t</div>\n\t\t\t);\n\t\t}\n\t\treturn '';\n\t}\n\n\trender() {\n\t\tconst labels = assign({}, defaultProps.labels, this.props.labels);\n\t\tconst assistiveText = assign(\n\t\t\t{},\n\t\t\tdefaultProps.assistiveText,\n\t\t\tthis.props.assistiveText\n\t\t);\n\t\tconst style = assign({}, defaultProps.style, this.props.style);\n\t\treturn (\n\t\t\t<div id={this.getId()} style={style}>\n\t\t\t\t{this.props.orientation === 'horizontal' &&\n\t\t\t\t\tthis.getDescription({ labels })}\n\t\t\t\t<div\n\t\t\t\t\taria-labelledby={\n\t\t\t\t\t\tthis.props.orientation === 'horizontal' && labels.label\n\t\t\t\t\t\t\t? `progress-bar-label-${this.getId()}`\n\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t}\n\t\t\t\t\taria-valuemin=\"0\"\n\t\t\t\t\taria-valuemax=\"100\"\n\t\t\t\t\taria-valuenow={this.props.value}\n\t\t\t\t\taria-valuetext={`${assistiveText.progress}: ${this.props.value}%`}\n\t\t\t\t\trole=\"progressbar\"\n\t\t\t\t\tclassName={classNames(\n\t\t\t\t\t\t'slds-progress-bar',\n\t\t\t\t\t\tthis.props.radius ? `slds-progress-bar_${this.props.radius}` : null,\n\t\t\t\t\t\tthis.props.thickness\n\t\t\t\t\t\t\t? `slds-progress-bar_${this.props.thickness}`\n\t\t\t\t\t\t\t: null,\n\t\t\t\t\t\tthis.props.className,\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t'slds-progress-bar_vertical':\n\t\t\t\t\t\t\t\tthis.props.orientation === 'vertical',\n\t\t\t\t\t\t}\n\t\t\t\t\t)}\n\t\t\t\t>\n\t\t\t\t\t<span\n\t\t\t\t\t\tclassName={classNames(\n\t\t\t\t\t\t\t`slds-progress-bar__value`,\n\t\t\t\t\t\t\tthis.props.color\n\t\t\t\t\t\t\t\t? `slds-progress-bar__value_${this.props.color}`\n\t\t\t\t\t\t\t\t: null\n\t\t\t\t\t\t)}\n\t\t\t\t\t\tstyle={\n\t\t\t\t\t\t\tthis.props.orientation === 'vertical'\n\t\t\t\t\t\t\t\t? {\n\t\t\t\t\t\t\t\t\t\theight: `${this.props.value}%`,\n\t\t\t\t\t\t\t\t }\n\t\t\t\t\t\t\t\t: {\n\t\t\t\t\t\t\t\t\t\twidth: `${this.props.value}%`,\n\t\t\t\t\t\t\t\t }\n\t\t\t\t\t\t}\n\t\t\t\t\t>\n\t\t\t\t\t\t<span className=\"slds-assistive-text\">\n\t\t\t\t\t\t\t{`${assistiveText.progress}: `}\n\t\t\t\t\t\t\t{`${this.props.value}%`}\n\t\t\t\t\t\t</span>\n\t\t\t\t\t</span>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t);\n\t}\n}\n\nProgressBar.displayName = PROGRESS_BAR;\nProgressBar.propTypes = propTypes;\nProgressBar.defaultProps = defaultProps;\n\nexport default ProgressBar;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\n// ### classNames\n// [github.com/JedWatson/classnames](https://github.com/JedWatson/classnames)\n// This project uses `classnames`, 'a simple javascript utility for conditionally\n// joining classNames together.'\nimport classNames from 'classnames';\n\n// Child component\nimport Tooltip from '../../tooltip';\nimport { PROGRESS_INDICATOR_STEP } from '../../../utilities/constants';\nimport ButtonIcon from '../../icon/button-icon';\n\n// ### Display Name\nconst displayName = PROGRESS_INDICATOR_STEP;\n\n// ### Prop Types\nconst propTypes = {\n\t/**\n\t * **Assistive text for accessibility**\n\t * This object is merged with the default props object on every render.\n\t * * `completedStep`: Label for a completed step. The default is `Completed Step`\n\t * * `disabledStep`: Label for disabled step. The default is `Disabled Step`\n\t * * `errorStep`: Label for a step with an error. The default is `Error Step`\n\t * * `percentage`: Label for Progress Bar. The default is `Progress: [this.props.value]%`. You will need to calculate the percentage yourself if changing this string.\n\t * * `step`: Label for a step. It will be typically followed by the number of the step such as \"Step 1\".\n\t */\n\tassistiveText: PropTypes.shape({\n\t\tcompletedStep: PropTypes.string,\n\t\tdisabledStep: PropTypes.string,\n\t\tpercentage: PropTypes.string,\n\t\tstep: PropTypes.string,\n\t}),\n\t/**\n\t * Id for Steps, ranging in [0, steps.length).\n\t */\n\tid: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n\t/**\n\t * Index of step. Used for id's if no step ID exists\n\t */\n\tindex: PropTypes.number,\n\t/**\n\t * Determines if the step has been completed\n\t */\n\n\tisCompleted: PropTypes.bool,\n\t/**\n\t * Determines if the step has been disabled\n\t */\n\tisDisabled: PropTypes.bool,\n\t/**\n\t * Determines if the step contains an error\n\t */\n\tisError: PropTypes.bool,\n\t/**\n\t * Determines if the step is currently selected (active)\n\t */\n\tisSelected: PropTypes.bool,\n\t/**\n\t * Label of tooltip attached to the step if applicable.\n\t */\n\tlabel: PropTypes.node,\n\t/**\n\t * Triggered when click on individual steps. By default, it receives an event and returns all info passed to that step.\n\t * users are able to re-define it by passing a function as a prop\n\t */\n\tonClick: PropTypes.func,\n\t/**\n\t * Triggered when focus on individual steps. By default, it receives an event and returns all info passed to that step.\n\t * users are able to re-define it by passing a function as a prop\n\t */\n\tonFocus: PropTypes.func,\n\t/**\n\t * Step object. This is passed into event callbacks.\n\t */\n\tstep: PropTypes.object,\n\t/**\n\t * Determines if the tooltip attached to step is always open.\n\t * This is mainly for dev test purpose.\n\t * Usually the tooltip should only show when hover.\n\t */\n\ttooltipIsOpen: PropTypes.bool,\n\t/**\n\t * Please select one of the following:\n\t * * `absolute` - (default if `variant` is `modal`) The dialog will use `position: absolute` and style attributes to position itself. This allows inverted placement or flipping of the dialog.\n\t * * `overflowBoundaryElement` - (default if `variant` is `base`) The dialog will overflow scrolling parents. Use on elements that are aligned to the left or right of their target and don't care about the target being within a scrolling parent. Typically this is a popover or tooltip. Dropdown menus can usually open up and down if no room exists. In order to achieve this a portal element will be created and attached to `body`. This element will render into that detached render tree.\n\t * * `relative` - No styling or portals will be used. Menus will be positioned relative to their triggers. This is a great choice for HTML snapshot testing.\n\t */\n\ttooltipPosition: PropTypes.oneOf([\n\t\t'absolute',\n\t\t'overflowBoundaryElement',\n\t\t'relative',\n\t]),\n};\n\n/**\n * Step renders a button icon and its tooltip if applied.\n * The button is applied with different css classes under different conditions.\n * Button icons have 4 types of status: completed (success), active (in progress), error (warning) and uncompleted (not approached)\n */\nclass Step extends React.Component {\n\t/**\n\t * buttonIcon represents the button icon used for each step.\n\t * the button is applied with different css classes under different conditions.\n\t */\n\tbuttonIcon(renderIcon, status, props) {\n\t\tconst data = {\n\t\t\tisSelected: props.isSelected,\n\t\t\tisError: props.isError,\n\t\t\tisCompleted: props.isCompleted,\n\t\t\tisDisabled: props.isDisabled,\n\t\t\tstep: props.step,\n\t\t};\n\n\t\tconst icon = renderIcon ? (\n\t\t\t<ButtonIcon\n\t\t\t\tcategory=\"utility\"\n\t\t\t\tname={this.props.isError ? 'error' : 'success'}\n\t\t\t/>\n\t\t) : null;\n\n\t\tconst handleClick = (event) => props.onClick(event, data);\n\t\tconst handleFocus = (event) => props.onFocus(event, data);\n\n\t\tconst stepButton = props.isDisabled ? (\n\t\t\t<a\n\t\t\t\tclassName={classNames(\n\t\t\t\t\t'slds-button',\n\t\t\t\t\t{ 'slds-button_icon': renderIcon },\n\t\t\t\t\t'slds-progress__marker',\n\t\t\t\t\t{ 'slds-progress__marker_icon': renderIcon },\n\t\t\t\t\t'slds-is-disabled'\n\t\t\t\t)}\n\t\t\t\taria-disabled\n\t\t\t\taria-describedby={`progress-indicator-tooltip-${\n\t\t\t\t\tthis.props.step.id || this.props.index\n\t\t\t\t}`}\n\t\t\t\tstyle={{ cursor: 'not-allowed' }}\n\t\t\t\ttabIndex={0}\n\t\t\t\trole=\"button\"\n\t\t\t>\n\t\t\t\t{icon}\n\t\t\t\t<span className=\"slds-assistive-text\">\n\t\t\t\t\t{this.props.step.assistiveText || (\n\t\t\t\t\t\t<React.Fragment>\n\t\t\t\t\t\t\t{`${props.assistiveText.step} ${props.index + 1}: `}\n\t\t\t\t\t\t\t{props.step.label}\n\t\t\t\t\t\t\t{`- ${status}`}\n\t\t\t\t\t\t</React.Fragment>\n\t\t\t\t\t)}\n\t\t\t\t</span>\n\t\t\t</a>\n\t\t) : (\n\t\t\t<button\n\t\t\t\tclassName={classNames(\n\t\t\t\t\t'slds-button',\n\t\t\t\t\t{ 'slds-button_icon': renderIcon },\n\t\t\t\t\t'slds-progress__marker',\n\t\t\t\t\t{ 'slds-progress__marker_icon': renderIcon }\n\t\t\t\t)}\n\t\t\t\tonClick={handleClick}\n\t\t\t\tonFocus={handleFocus}\n\t\t\t\taria-describedby={`progress-indicator-tooltip-${\n\t\t\t\t\tthis.props.step.id || this.props.index\n\t\t\t\t}`}\n\t\t\t\taria-current={this.props.isSelected ? 'step' : null}\n\t\t\t\ttype=\"button\"\n\t\t\t>\n\t\t\t\t{icon}\n\t\t\t\t<span className=\"slds-assistive-text\">\n\t\t\t\t\t{this.props.step.assistiveText || (\n\t\t\t\t\t\t<React.Fragment>\n\t\t\t\t\t\t\t{`${props.assistiveText.step} ${props.index + 1}: `}\n\t\t\t\t\t\t\t{props.step.label}\n\t\t\t\t\t\t\t{status ? ` - ${status}` : ''}\n\t\t\t\t\t\t</React.Fragment>\n\t\t\t\t\t)}\n\t\t\t\t</span>\n\t\t\t</button>\n\t\t);\n\n\t\treturn stepButton;\n\t}\n\n\trender() {\n\t\tconst renderIcon = this.props.isCompleted || this.props.isError;\n\t\tlet status = '';\n\t\tif (this.props.isError) {\n\t\t\tstatus = this.props.assistiveText.errorStep;\n\t\t} else if (this.props.isCompleted) {\n\t\t\tstatus = this.props.assistiveText.completedStep;\n\t\t} else if (this.props.isDisabled) {\n\t\t\tstatus = this.props.assistiveText.disabledStep;\n\t\t}\n\n\t\tconst tooltipProps = {\n\t\t\talign: 'top',\n\t\t\tid: `progress-indicator-tooltip-${\n\t\t\t\tthis.props.step.id || this.props.index\n\t\t\t}`,\n\t\t\tcontent: this.props.step.label,\n\t\t\ttheme: 'info',\n\t\t\tposition: this.props.tooltipPosition,\n\t\t\ttriggerStyle: { display: !renderIcon ? 'flex' : '' },\n\t\t};\n\n\t\t// This is mainly for dev test purpose.\n\t\t// `isOpen` is only set to true if tooltip is specified to be open\n\t\t// Do not set isOpen to false or undefined otherwise, because that will\n\t\t// disable any interaction with tooltips\n\t\tif (this.props.tooltipIsOpen) {\n\t\t\ttooltipProps.isOpen = true;\n\t\t}\n\n\t\treturn (\n\t\t\t<li\n\t\t\t\tclassName={classNames('slds-progress__item', {\n\t\t\t\t\t'slds-is-completed': this.props.isCompleted,\n\t\t\t\t\t'slds-is-active': this.props.isSelected && !this.props.isError,\n\t\t\t\t\t'slds-has-error': this.props.isError,\n\t\t\t\t})}\n\t\t\t>\n\t\t\t\t<Tooltip {...tooltipProps}>\n\t\t\t\t\t{this.buttonIcon(renderIcon, status, this.props)}\n\t\t\t\t</Tooltip>\n\t\t\t</li>\n\t\t);\n\t}\n}\n\nStep.propTypes = propTypes;\nStep.displayName = displayName;\n\nexport default Step; // export is replaced with `ReactDOM.render(<Example />, mountNode);` at runtime\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\n\nconst propTypes = {\n\t/**\n\t * Assistive text for percentage\n\t */\n\tassistiveText: PropTypes.shape({\n\t\tpercentage: PropTypes.string,\n\t}),\n\t/**\n\t * Percentage of progress completion, with range of [0, 100]\n\t */\n\tvalue: PropTypes.string.isRequired,\n};\n/**\n * ProgressBar renders the blue/gray progress bar and dynamically updates its completion percentage\n */\nclass ProgressBar extends React.Component {\n\trender() {\n\t\treturn (\n\t\t\t<div\n\t\t\t\tclassName={classNames('slds-progress-bar slds-progress-bar_x-small', {\n\t\t\t\t\t'slds-progress-bar_vertical': this.props.orientation === 'vertical',\n\t\t\t\t})}\n\t\t\t\taria-valuemin=\"0\"\n\t\t\t\taria-valuemax=\"100\"\n\t\t\t\taria-valuenow={this.props.value}\n\t\t\t\trole=\"progressbar\"\n\t\t\t>\n\t\t\t\t<span\n\t\t\t\t\tclassName=\"slds-progress-bar__value\"\n\t\t\t\t\tstyle={\n\t\t\t\t\t\tthis.props.orientation === 'vertical'\n\t\t\t\t\t\t\t? { height: `${this.props.value}%` }\n\t\t\t\t\t\t\t: { width: `${this.props.value}%` }\n\t\t\t\t\t}\n\t\t\t\t>\n\t\t\t\t\t<span className=\"slds-assistive-text\">\n\t\t\t\t\t\t{this.props.assistiveText.percentage ||\n\t\t\t\t\t\t\t`Progress: ${this.props.value}%`}\n\t\t\t\t\t</span>\n\t\t\t\t</span>\n\t\t\t</div>\n\t\t);\n\t}\n}\n\nProgressBar.displayName = 'ProgressBar';\nProgressBar.propTypes = propTypes;\n\nexport default ProgressBar;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\n// ### classNames\n// [github.com/JedWatson/classnames](https://github.com/JedWatson/classnames)\n// This project uses `classnames`, 'a simple javascript utility for conditionally\n// joining classNames together.'\nimport classNames from 'classnames';\n\nimport ProgressBar from './progress-bar';\n\nimport { PROGRESS_INDICATOR_PROGRESS } from '../../../utilities/constants';\n\n// ### Prop Types\nconst propTypes = {\n\t/**\n\t * Assistive text for percentage\n\t */\n\tassistiveText: PropTypes.shape({\n\t\tpercentage: PropTypes.string,\n\t}),\n\t/**\n\t * Steps in the component\n\t */\n\tchildren: PropTypes.node,\n\t/**\n\t * CSS class names to be added to the container element.\n\t */\n\tclassName: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\t/**\n\t * HTML id for component.\n\t */\n\tid: PropTypes.string.isRequired,\n\t/**\n\t * Determines the orientation of the progress indicator\n\t */\n\torientation: PropTypes.oneOf(['horizontal', 'vertical']),\n\t/**\n\t * Percentage of progress completion, ranging [0, 100]\n\t */\n\tvalue: PropTypes.string.isRequired,\n\t/**\n\t * Determines component style\n\t */\n\tvariant: PropTypes.oneOf(['base', 'modal', 'setup-assistant']),\n};\n\n/**\n * Progress renders all step buttons and a container wrapping these buttongs and a progress bar\n */\nclass Progress extends React.Component {\n\t/**\n\t * Get the progress's HTML id. Generate a new one if no ID present.\n\t */\n\tgetId() {\n\t\treturn this.props.id;\n\t}\n\n\trender() {\n\t\treturn (\n\t\t\t<div\n\t\t\t\tid={this.getId()}\n\t\t\t\tclassName={classNames(\n\t\t\t\t\t'slds-progress',\n\t\t\t\t\t{ 'slds-progress_shade': this.props.variant === 'modal' },\n\t\t\t\t\t{ 'slds-progress_vertical': this.props.orientation === 'vertical' },\n\t\t\t\t\t{ 'slds-progress_success': this.props.variant === 'setup-assistant' },\n\t\t\t\t\tthis.props.className\n\t\t\t\t)}\n\t\t\t>\n\t\t\t\t<ol\n\t\t\t\t\tclassName={classNames('slds-progress__list', {\n\t\t\t\t\t\t'slds-progress__list-bordered':\n\t\t\t\t\t\t\tthis.props.variant === 'setup-assistant',\n\t\t\t\t\t})}\n\t\t\t\t>\n\t\t\t\t\t{this.props.children}\n\t\t\t\t</ol>\n\t\t\t\t{this.props.orientation !== 'vertical' && (\n\t\t\t\t\t<ProgressBar\n\t\t\t\t\t\tvalue={this.props.value}\n\t\t\t\t\t\torientation={this.props.orientation}\n\t\t\t\t\t\tassistiveText={this.props.assistiveText}\n\t\t\t\t\t/>\n\t\t\t\t)}\n\t\t\t</div>\n\t\t);\n\t}\n}\n\nProgress.propTypes = propTypes;\nProgress.displayName = PROGRESS_INDICATOR_PROGRESS;\n\nexport default Progress;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\n// ### classNames\n// [github.com/JedWatson/classnames](https://github.com/JedWatson/classnames)\n// This project uses `classnames`, 'a simple javascript utility for conditionally\n// joining classNames together.'\nimport classNames from 'classnames';\n\n// Child component\nimport { PROGRESS_INDICATOR_STEP_VERTICAL } from '../../../utilities/constants';\nimport Icon from '../../icon';\n\n// ### Display Name\nconst displayName = PROGRESS_INDICATOR_STEP_VERTICAL;\n\n// ### Prop Types\nconst propTypes = {\n\t/**\n\t * Index of step. Used for id's if no step ID exists\n\t */\n\tindex: PropTypes.number,\n\t/**\n\t * Determines if the step has been completed\n\t */\n\tisCompleted: PropTypes.bool,\n\t/**\n\t * Determines if the step contains an error\n\t */\n\tisError: PropTypes.bool,\n\t/**\n\t * Determines if the step is currently selected (active)\n\t */\n\tisSelected: PropTypes.bool,\n\t/**\n\t * Triggered when click on individual steps. By default, it receives an event and returns all info passed to that step.\n\t * users are able to re-define it by passing a function as a prop\n\t */\n\tonClick: PropTypes.func,\n\t/**\n\t * Step object. This is passed into event callbacks.\n\t */\n\tstep: PropTypes.object,\n\t/**\n\t * The variant of the parent progress indicator\n\t */\n\tvariant: PropTypes.string,\n};\n\n/**\n * StepVertical renders a step icon and its step label if applied\n */\nclass StepVertical extends React.Component {\n\t/**\n\t * stepIcon represents the icon used for each step.\n\t */\n\tstepIcon = (renderIcon) => {\n\t\tconst data = {\n\t\t\tisSelected: this.props.isSelected,\n\t\t\tisError: this.props.isError,\n\t\t\tisCompleted: this.props.isCompleted,\n\t\t\tstep: this.props.step,\n\t\t};\n\n\t\tconst icon = renderIcon ? (\n\t\t\t<Icon\n\t\t\t\tcategory=\"utility\"\n\t\t\t\tsize=\"x-small\"\n\t\t\t\tname={this.props.isError ? 'error' : 'success'}\n\t\t\t/>\n\t\t) : null;\n\n\t\tconst handleClick = (event) => this.props.onClick(event, data);\n\n\t\treturn this.props.onClick ? (\n\t\t\t<button\n\t\t\t\tclassName={classNames('slds-button slds-progress__marker', {\n\t\t\t\t\t'slds-progress__marker_icon': renderIcon,\n\t\t\t\t\t'slds-progress__marker_icon-success':\n\t\t\t\t\t\tthis.props.variant === 'setup-assistant' &&\n\t\t\t\t\t\trenderIcon &&\n\t\t\t\t\t\t!this.props.isError,\n\t\t\t\t})}\n\t\t\t\ttype=\"button\"\n\t\t\t\tonClick={handleClick}\n\t\t\t>\n\t\t\t\t{icon}\n\t\t\t</button>\n\t\t) : (\n\t\t\t<span\n\t\t\t\tclassName={classNames('slds-progress__marker', {\n\t\t\t\t\t'slds-progress__marker_icon': renderIcon,\n\t\t\t\t\t'slds-progress__marker_icon-success':\n\t\t\t\t\t\tthis.props.variant === 'setup-assistant' &&\n\t\t\t\t\t\trenderIcon &&\n\t\t\t\t\t\t!this.props.isError,\n\t\t\t\t})}\n\t\t\t>\n\t\t\t\t{icon}\n\t\t\t</span>\n\t\t);\n\t};\n\n\trenderStepContent = () => {\n\t\tif (\n\t\t\tthis.props.step.onRenderSetupAssistantAction ||\n\t\t\tthis.props.step.setupAssistantEstimatedTime\n\t\t) {\n\t\t\treturn (\n\t\t\t\t<div\n\t\t\t\t\tid={`progress-indicator-vertical-label-${\n\t\t\t\t\t\tthis.props.step.id || this.props.index\n\t\t\t\t\t}`}\n\t\t\t\t\tclassName=\"slds-progress__item_content slds-grid slds-grid_align-spread\"\n\t\t\t\t>\n\t\t\t\t\t<div className=\"slds-size_3-of-4\">{this.props.step.label}</div>\n\t\t\t\t\t<div className=\"slds-grid slds-grid_align-end slds-size_1-of-4\">\n\t\t\t\t\t\t<div className=\"slds-media__figure slds-media__figure_reverse\">\n\t\t\t\t\t\t\t{this.props.step.onRenderSetupAssistantAction}\n\t\t\t\t\t\t\t{this.props.step.setupAssistantEstimatedTime && (\n\t\t\t\t\t\t\t\t<p className=\"slds-text-align_right slds-text-color_weak slds-p-top_medium\">\n\t\t\t\t\t\t\t\t\t{this.props.step.setupAssistantEstimatedTime}\n\t\t\t\t\t\t\t\t</p>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t);\n\t\t}\n\t\treturn (\n\t\t\t<div\n\t\t\t\tid={`progress-indicator-vertical-label-${\n\t\t\t\t\tthis.props.step.id || this.props.index\n\t\t\t\t}`}\n\t\t\t\tclassName=\"slds-progress__item_content slds-grid slds-grid_align-spread\"\n\t\t\t>\n\t\t\t\t{this.props.step.label}\n\t\t\t</div>\n\t\t);\n\t};\n\n\trender() {\n\t\tconst renderIcon = this.props.isCompleted || this.props.isError;\n\n\t\treturn (\n\t\t\t<li\n\t\t\t\tclassName={classNames('slds-progress__item', {\n\t\t\t\t\t'slds-is-completed': this.props.isCompleted,\n\t\t\t\t\t'slds-is-active': this.props.isSelected && !this.props.isError,\n\t\t\t\t\t'slds-has-error': this.props.isError,\n\t\t\t\t})}\n\t\t\t>\n\t\t\t\t{this.stepIcon(renderIcon)}\n\t\t\t\t{this.renderStepContent()}\n\t\t\t</li>\n\t\t);\n\t}\n}\n\nStepVertical.propTypes = propTypes;\nStepVertical.displayName = displayName;\n\nexport default StepVertical; // export is replaced with `ReactDOM.render(<Example />, mountNode);` at runtime\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// Implements the [Progress Indicator design pattern](https://lightningdesignsystem.com/components/progress-indicator/) in React.\n// Based on SLDS v2.4.0\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\nimport find from 'lodash.find';\n\n// ### shortid\n// [npmjs.com/package/shortid](https://www.npmjs.com/package/shortid)\n// shortid is a short, non-sequential, url-friendly, unique id generator\nimport shortid from 'shortid';\nimport { PROGRESS_INDICATOR } from '../../utilities/constants';\n\n// Child components\nimport Step from './private/step';\nimport Progress from './private/progress';\nimport StepVertical from './private/step-vertical';\n\nconst displayName = PROGRESS_INDICATOR;\n\nconst propTypes = {\n\t/**\n\t * **Assistive text for accessibility**\n\t * This object is merged with the default props object on every render.\n\t * * `completedStep`: Label for a completed step. The default is `Completed Step`\n\t * * `disabledStep`: Label for disabled step. The default is `Disabled Step`\n\t * * `errorStep`: Label for a step with an error. The default is `Error Step`\n\t * * `percentage`: Label for Progress Bar. The default is `Progress: [this.props.value]%`. You will need to calculate the percentage yourself if changing this string.\n\t * * `step`: Label for a step. It will be typically followed by the number of the step such as \"Step 1\".\n\t */\n\tassistiveText: PropTypes.shape({\n\t\tcompletedStep: PropTypes.string,\n\t\tdisabledStep: PropTypes.string,\n\t\tpercentage: PropTypes.string,\n\t\tstep: PropTypes.string,\n\t}),\n\t/**\n\t * CSS class names to be added to the container element. `array`, `object`, or `string` are accepted.\n\t */\n\tclassName: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\t/**\n\t * Stores all completed steps. It is an array of step objects.\n\t */\n\tcompletedSteps: PropTypes.array,\n\t/**\n\t * Stores all disabled steps. It is an array of step objects. Steps are still clickable/focusable,\n\t * this only disables cursor change and removes onClick and onFocus event callbacks.\n\t */\n\tdisabledSteps: PropTypes.array,\n\t/**\n\t * Stores all error steps. It is an array of step objects and usually there is only one error step, the current step. If an error occurs a second error icon should be placed to the left of related confirmation buttons (e.g. Cancel, Save) and an Error Popover should appear indicating there are errors. These additional items are NOT part of this component. This note was included for visibility purposes. Please refer to [SLDS website](https://www.lightningdesignsystem.com/components/progress-indicator/) for full details **\n\t */\n\terrorSteps: PropTypes.array,\n\t/**\n\t * HTML id for component.\n\t */\n\tid: PropTypes.string,\n\t/**\n\t * Determines the orientation of the progress indicator\n\t */\n\torientation: PropTypes.oneOf(['horizontal', 'vertical']),\n\t/**\n\t * Triggered when an individual step is clicked. By default, it receives an event and returns step state and the step object clicked: `{ isCompleted, isDisabled, isError, isSelected, step }`. Users are able to pass a callback handleClick function in forms of: <function name>(event, data) where data is the callback result.\n\t * ```\n\t * const handleStepClick = function(event, data) { console.log(data); };\n\t * <ProgressIndicator onStepClick={handleStepClick} />\n\t * ```\n\t */\n\tonStepClick: PropTypes.func,\n\t/**\n\t * Triggered when an individual step is focused. By default, it receives an event and returns step state and the step object clicked: `{ isCompleted, isDisabled, isError, isSelected, step }`. Users are able to pass a callback handleClick function in forms of: <function name>(event, data) where data is the callback result.\n\t * ```\n\t * const handleStepFocus = function(event, data) { console.log(data); };\n\t * <ProgressIndicator onStepFocus={handleStepFocus} />\n\t * ```\n\t */\n\tonStepFocus: PropTypes.func,\n\t/**\n\t * Represents the currently selected or active step. It is a step object.\n\t */\n\tselectedStep: PropTypes.object.isRequired,\n\t/**\n\t * It is an array of step objects in the following form:\n\t * ```\n\t * [{\n\t * id: <PropTypes.number> or <PropTypes.string>, has to be unique\n\t * label: <PropTypes.string>, representing the tooltip content\n\t * assistiveText: <PropTypes.string>, The default is `[Step props.index + 1]: [status]`. Status is if the step has been completed or in an error state.\n\t * }],\n\t * ```\n\t */\n\tsteps: PropTypes.array.isRequired,\n\t/**\n\t * Stores all steps with opened tooltips. This property is mainly for development purposes. The tooltip should only show on hover for the user.\n\t */\n\ttooltipIsOpenSteps: PropTypes.array,\n\t/**\n\t * Determines component style.\n\t */\n\tvariant: PropTypes.oneOf(['base', 'modal', 'setup-assistant']),\n\t/**\n\t * Please select one of the following:\n\t * * `absolute` - (default if `variant` is `modal`) The dialog will use `position: absolute` and style attributes to position itself. This allows inverted placement or flipping of the dialog.\n\t * * `overflowBoundaryElement` - (default if `variant` is `base`) The dialog will overflow scrolling parents. Use on elements that are aligned to the left or right of their target and don't care about the target being within a scrolling parent. Typically this is a popover or tooltip. Dropdown menus can usually open up and down if no room exists. In order to achieve this a portal element will be created and attached to `body`. This element will render into that detached render tree.\n\t * * `relative` - No styling or portals will be used. Menus will be positioned relative to their triggers. This is a great choice for HTML snapshot testing.\n\t */\n\ttooltipPosition: PropTypes.oneOf([\n\t\t'absolute',\n\t\t'overflowBoundaryElement',\n\t\t'relative',\n\t]),\n};\n\nconst defaultSteps = [\n\t{ id: 0, label: 'tooltip label #1' },\n\t{ id: 1, label: 'tooltip label #2' },\n\t{ id: 2, label: 'tooltip label #3' },\n\t{ id: 3, label: 'tooltip label #4' },\n\t{ id: 4, label: 'tooltip label #5' },\n];\n\nconst defaultProps = {\n\tassistiveText: {\n\t\tcompletedStep: 'Completed',\n\t\tdisabledStep: 'Disabled',\n\t\terrorStep: 'Error',\n\t\tstep: 'Step',\n\t},\n\terrorSteps: [],\n\tcompletedSteps: [],\n\tdisabledSteps: [],\n\torientation: 'horizontal',\n\tselectedStep: defaultSteps[0],\n\tvariant: 'base',\n\t// click/focus callbacks by default do nothing\n\tonStepClick: () => {},\n\tonStepFocus: () => {},\n};\n\n/**\n * Check if `steps` prop is valid\n */\nfunction checkSteps(steps) {\n\tconst isStepsDefined = steps !== undefined;\n\tconst isLabelDefined = (step) => step.label !== undefined;\n\tconst stepLabelsDefined = Array.isArray(steps) && steps.every(isLabelDefined);\n\n\treturn isStepsDefined && stepLabelsDefined;\n}\n\n/**\n * Check if an item is from an array of items.\n * If items argument is not an array, it will be treated as an object comparison between item & items.\n */\nfunction findStep(item, items) {\n\tif (!item || !items) return false;\n\n\tconst itemsArray = !Array.isArray(items) ? [items] : items;\n\n\treturn !!find(itemsArray, (arrayItem) => {\n\t\tif (arrayItem === item) {\n\t\t\treturn true;\n\t\t}\n\t\tif (arrayItem.id !== undefined && item.id !== undefined) {\n\t\t\treturn arrayItem.id === item.id;\n\t\t}\n\t\treturn JSON.stringify(arrayItem) === JSON.stringify(item);\n\t});\n}\n\n/**\n * Progress Indicator is a component that communicates to the user the progress of a particular process.\n */\nclass ProgressIndicator extends React.Component {\n\tconstructor(props) {\n\t\tsuper(props);\n\n\t\tthis.generatedId = shortid.generate();\n\t}\n\n\tcomponentWillUnmount() {\n\t\tthis.isUnmounting = true;\n\t}\n\n\t/**\n\t * Get the progress indicator's HTML id. Generate a new one if no ID present.\n\t */\n\tgetId() {\n\t\treturn this.props.id || this.generatedId;\n\t}\n\n\tgetSteps() {\n\t\t// check if passed steps are valid\n\t\treturn checkSteps(this.props.steps) ? this.props.steps : defaultSteps;\n\t}\n\n\trender() {\n\t\t// Merge objects of strings with their default object\n\t\tconst assistiveText = {\n\t\t\t...defaultProps.assistiveText,\n\t\t\t...this.props.assistiveText,\n\t\t};\n\n\t\tconst {\n\t\t\tselectedStep,\n\t\t\tdisabledSteps,\n\t\t\terrorSteps,\n\t\t\tcompletedSteps,\n\t\t} = this.props;\n\t\t/** 1. preparing data */\n\t\tconst allSteps = this.getSteps();\n\n\t\tlet currentStep = 0;\n\t\t// find index for the current step\n\t\t// eslint-disable-next-line fp/no-loops\n\t\tfor (let i = 0; i < allSteps.length; i += 1) {\n\t\t\t// assign step an id if it does not have one\n\t\t\tif (allSteps[i].id === undefined) {\n\t\t\t\tallSteps[i].id = i;\n\t\t\t}\n\t\t\tif (findStep(allSteps[i], this.props.selectedStep)) {\n\t\t\t\tcurrentStep = i;\n\t\t\t}\n\t\t}\n\n\t\tconst orientation =\n\t\t\tthis.props.variant === 'setup-assistant'\n\t\t\t\t? 'vertical'\n\t\t\t\t: this.props.orientation;\n\t\t// Set default tooltipPosition\n\t\tconst tooltipPosition =\n\t\t\tthis.props.tooltipPosition ||\n\t\t\t(this.props.variant === 'modal' ? 'absolute' : 'overflowBoundaryElement');\n\t\tconst StepComponent = orientation === 'vertical' ? StepVertical : Step;\n\t\t/** 2. return DOM */\n\t\treturn (\n\t\t\t<Progress\n\t\t\t\tassistiveText={assistiveText}\n\t\t\t\tid={this.getId()}\n\t\t\t\torientation={orientation}\n\t\t\t\tvalue={\n\t\t\t\t\tcurrentStep === 0\n\t\t\t\t\t\t? '0'\n\t\t\t\t\t\t: `${100 * (currentStep / (allSteps.length - 1))}`\n\t\t\t\t}\n\t\t\t\tvariant={this.props.variant}\n\t\t\t\tclassName={this.props.className}\n\t\t\t>\n\t\t\t\t{allSteps.map((step, i) => (\n\t\t\t\t\t<StepComponent\n\t\t\t\t\t\tassistiveText={assistiveText}\n\t\t\t\t\t\tkey={`${this.getId()}-${step.id}`}\n\t\t\t\t\t\tid={this.getId()}\n\t\t\t\t\t\tindex={i}\n\t\t\t\t\t\tisSelected={findStep(step, selectedStep)}\n\t\t\t\t\t\tisDisabled={findStep(step, disabledSteps)}\n\t\t\t\t\t\tisError={findStep(step, errorSteps)}\n\t\t\t\t\t\tisCompleted={findStep(step, completedSteps)}\n\t\t\t\t\t\tonClick={this.props.onStepClick}\n\t\t\t\t\t\tonFocus={this.props.onStepFocus}\n\t\t\t\t\t\tstep={step}\n\t\t\t\t\t\ttooltipIsOpen={findStep(step, this.props.tooltipIsOpenSteps)}\n\t\t\t\t\t\ttooltipPosition={tooltipPosition}\n\t\t\t\t\t\tvariant={this.props.variant}\n\t\t\t\t\t/>\n\t\t\t\t))}\n\t\t\t</Progress>\n\t\t);\n\t}\n}\n\nProgressIndicator.displayName = displayName;\nProgressIndicator.propTypes = propTypes;\nProgressIndicator.defaultProps = defaultProps;\n\nexport default ProgressIndicator;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// Implements the [Progress Ring design pattern](https://lightningdesignsystem.com/components/progress-ring/) in React.\n// Based on SLDS v2.4.5\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\n\nconst PROGRESS_RING_SHAPE = 'SLDSProgressRingShape';\n\nconst propTypes = {\n\t/**\n\t * HTML id for component.\n\t */\n\tid: PropTypes.string,\n\t/**\n\t * CSS class names to be added to the container element. `array`, `object`, or `string` are accepted.\n\t */\n\tclassName: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\t/**\n\t * Decimal percentage drain of the ring [0.0 - 1.0]\n\t */\n\tfillPercentDecimal: PropTypes.number,\n\t/**\n\t * Direction that the progress ring \"flows.\" Default is counter-clockwise, or `drain`. For clockwise flow, use `fill`\n\t */\n\tflowDirection: PropTypes.oneOf(['drain', 'fill']),\n\t/**\n\t * Size of the progress ring. Default is 'medium'\n\t */\n\tsize: PropTypes.oneOf(['medium', 'large']),\n};\n\nconst defaultProps = {\n\tfillPercentDecimal: 0,\n};\n\n/**\n * Generates the string for the D value of the SVG path\n * @param isLong {number} a binary flag if the arc should 'take the long path' (used for > 50% fill)\n * @param arcX {decimal} the arc's x position\n * @param arcY {decimal} the arc's y position\n */\nconst getD = (isLong, arcX, arcY) =>\n\t`M 1 0 A 1 1 0 ${isLong} 1 ${arcX} ${arcY} L 0 0`;\n\n/**\n * Calculates the fill part of the ring\n * @param fillPercent {decimal} Decimal percentage that represents the amount of the ring which is filled with color.\n */\nconst calculateD = (fillPercent) => {\n\tconst isLong = fillPercent > 0.5 ? 1 : 0;\n\tconst arcX = Math.cos(2 * Math.PI * fillPercent);\n\tconst arcY = Math.sin(2 * Math.PI * fillPercent);\n\n\treturn getD(isLong, arcX, arcY);\n};\n\n/**\n * Displays the progress ring shape.\n */\nconst ProgressRingShape = (props) => {\n\tconst progressStyles = { height: props.size === 'large' ? '2rem' : '1.5rem' };\n\n\tif (props.flowDirection === 'fill') {\n\t\tprogressStyles.transform = 'scaleX(1) rotate(-90deg)';\n\t}\n\n\treturn (\n\t\t<div\n\t\t\tid={props.id}\n\t\t\tclassName={classNames('slds-progress-ring', props.className)}\n\t\t>\n\t\t\t<div\n\t\t\t\taria-valuemin=\"0\"\n\t\t\t\taria-valuemax=\"100\"\n\t\t\t\taria-valuenow={props.fillPercentDecimal * 100}\n\t\t\t\tclassName=\"slds-progress-ring__progress\"\n\t\t\t\trole=\"progressbar\"\n\t\t\t\tstyle={progressStyles}\n\t\t\t>\n\t\t\t\t<svg viewBox=\"-1 -1 2 2\">\n\t\t\t\t\t<path\n\t\t\t\t\t\tclassName=\"slds-progress-ring__path\"\n\t\t\t\t\t\td={calculateD(props.fillPercentDecimal)}\n\t\t\t\t\t/>\n\t\t\t\t</svg>\n\t\t\t</div>\n\t\t\t<div className=\"slds-progress-ring__content\">{props.children}</div>\n\t\t</div>\n\t);\n};\n\nProgressRingShape.displayName = PROGRESS_RING_SHAPE;\nProgressRingShape.propTypes = propTypes;\nProgressRingShape.defaultProps = defaultProps;\n\nexport default ProgressRingShape;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// Implements the [Progress Ring design pattern](https://lightningdesignsystem.com/components/progress-ring/) in React.\n// Based on SLDS v2.4.5\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\n\nimport { PROGRESS_RING } from '../../utilities/constants';\nimport Icon from '../icon';\nimport ProgressRingShape from './private/ring-shape';\n\n/**\n * The themes available for the progress ring\n */\nexport const THEME_OPTIONS = Object.freeze({\n\tACTIVE: 'active',\n\tWARNING: 'warning',\n\tEXPIRED: 'expired',\n\tCOMPLETE: 'complete',\n});\n\n/**\n * The CSS classes associated with each theme\n */\nconst THEME_CLASSES = {\n\t[THEME_OPTIONS.ACTIVE]: 'slds-progress-ring_active-step',\n\t[THEME_OPTIONS.WARNING]: 'slds-progress-ring_warning',\n\t[THEME_OPTIONS.EXPIRED]: 'slds-progress-ring_expired',\n\t[THEME_OPTIONS.COMPLETE]: 'slds-progress-ring_complete',\n};\n\nconst propTypes = {\n\t/**\n\t * HTML id for component.\n\t */\n\tid: PropTypes.string,\n\t/**\n\t * CSS classes to be added to tag with `.slds-progress-ring`. Uses `classNames` [API](https://github.com/JedWatson/classnames).\n\t */\n\tclassName: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\t/**\n\t * The theme applied to the ring.\n\t */\n\ttheme: PropTypes.oneOf(['active', 'warning', 'expired', 'complete']),\n\t/**\n\t * Overrides the icon to be displayed.\n\t */\n\ticon: PropTypes.node,\n\t/**\n\t * Display the icon associated with the theme.\n\t */\n\thasIcon: PropTypes.bool,\n\t/**\n\t * Percentage of progress completion, ranging [0, 100].\n\t */\n\tvalue: PropTypes.number.isRequired,\n\t/**\n\t * Direction that the progress ring \"flows.\" Default is counter-clockwise, or `drain`. For clockwise flow, use `fill`\n\t */\n\tflowDirection: PropTypes.oneOf(['drain', 'fill']),\n\t/**\n\t * Size of the progress ring. Default is 'medium'\n\t */\n\tsize: PropTypes.oneOf(['medium', 'large']),\n};\n\nconst defaultProps = {\n\tflowDirection: 'drain',\n\tsize: 'medium',\n};\n\n/**\n * Customizable and configurable progress ring. Will display progress in a circular progress bar factor, and is capable of displaying iconography inside of the ring structure.\n */\nclass ProgressRing extends React.Component {\n\t/**\n\t * Gets the icon to display\n\t * @returns {node} Icon\n\t */\n\ticon() {\n\t\tlet icon = '';\n\n\t\tif (this.props.hasIcon) {\n\t\t\tif (this.props.icon) {\n\t\t\t\t// eslint-disable-next-line prefer-destructuring\n\t\t\t\ticon = this.props.icon;\n\t\t\t} else if (this.props.theme === THEME_OPTIONS.WARNING) {\n\t\t\t\ticon = <Icon category=\"utility\" name=\"warning\" title=\"Warning\" />;\n\t\t\t} else if (this.props.theme === THEME_OPTIONS.EXPIRED) {\n\t\t\t\ticon = <Icon category=\"utility\" name=\"error\" title=\"Expired\" />;\n\t\t\t} else if (this.props.theme === THEME_OPTIONS.COMPLETE) {\n\t\t\t\ticon = <Icon category=\"utility\" name=\"check\" title=\"Complete\" />;\n\t\t\t}\n\t\t}\n\n\t\treturn icon;\n\t}\n\n\t/**\n\t * Percentage as a decimal\n\t * @returns {decimal} Percentage\n\t */\n\tpercentDecimal() {\n\t\treturn this.props.value / 100;\n\t}\n\n\t/**\n\t * Gets the theme CSS class\n\t * @returns {string} Class name\n\t */\n\tthemeClass() {\n\t\treturn THEME_CLASSES[this.props.theme] || '';\n\t}\n\n\trender() {\n\t\treturn (\n\t\t\t<ProgressRingShape\n\t\t\t\tid={this.props.id}\n\t\t\t\tsize={this.props.size}\n\t\t\t\tclassName={classNames(this.props.className, this.themeClass(), {\n\t\t\t\t\t'slds-progress-ring_large': this.props.size === 'large',\n\t\t\t\t})}\n\t\t\t\tfillPercentDecimal={this.percentDecimal()}\n\t\t\t\tflowDirection={this.props.flowDirection}\n\t\t\t>\n\t\t\t\t{this.icon()}\n\t\t\t</ProgressRingShape>\n\t\t);\n\t}\n}\n\nProgressRing.displayName = PROGRESS_RING;\nProgressRing.propTypes = propTypes;\nProgressRing.defaultProps = defaultProps;\n\nexport default ProgressRing;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n/* eslint-disable import/no-mutable-exports */\n\nimport getComponentDocFn from '../../utilities/get-component-doc';\nimport deprecatedProperty from '../../utilities/warning/deprecated-property';\n\nlet checkProps = function checkPropsFunction() {};\n\nif (process.env.NODE_ENV !== 'production') {\n\tcheckProps = function checkPropsFunction(COMPONENT, props, jsonDoc) {\n\t\tconst createDocUrl = getComponentDocFn(jsonDoc);\n\n\t\tdeprecatedProperty(\n\t\t\tCOMPONENT,\n\t\t\tprops.iconName,\n\t\t\t'iconName',\n\t\t\t'icon',\n\t\t\tcreateDocUrl('icon')\n\t\t);\n\t};\n}\n\nexport default checkProps;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// Implements the [Scoped Notification design pattern](https://lightningdesignsystem.com/components/scoped-notifications/) in React.\n// Based on SLDS v2.4.5\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\n\nimport Icon from '../icon';\n\nimport componentDoc from './component.json';\nimport checkProps from './check-props';\n\nimport { SCOPED_NOTIFICATION } from '../../utilities/constants';\n\nconst propTypes = {\n\t/**\n\t * **Assistive text for accessibility.**\n\t * * `icon`: The assistive text for the icon. Is overridden by `label` assistive text passed directly to an `Icon` component via the `icon` prop\n\t */\n\tassistiveText: PropTypes.shape({\n\t\ticon: PropTypes.string,\n\t}),\n\t/**\n\t * CSS classes to be added to tag with `.slds-scoped-notification`. Uses `classNames` [API](https://github.com/JedWatson/classnames).\n\t */\n\tclassName: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\t/**\n\t * The icon to be displayed in the scoped notification. Accepts an `Icon` component\n\t */\n\ticon: PropTypes.node,\n\t/**\n\t * Theme for the scoped notification\n\t */\n\ttheme: PropTypes.oneOf(['dark', 'light']),\n};\n\nconst defaultProps = {};\n\n/**\n * A Scoped Notification Component serve advisory information for the user that is not important enough to justify an alert.\n */\nclass ScopedNotification extends React.Component {\n\tconstructor(props) {\n\t\tsuper(props);\n\t\tcheckProps(SCOPED_NOTIFICATION, props, componentDoc);\n\t}\n\n\trender() {\n\t\tlet icon;\n\n\t\tif (this.props.icon) {\n\t\t\tlet iconAssistiveText = {};\n\n\t\t\tif (this.props.assistiveText && this.props.assistiveText.icon) {\n\t\t\t\ticonAssistiveText.label = this.props.assistiveText.icon;\n\t\t\t}\n\n\t\t\tif (this.props.icon.props.assistiveText) {\n\t\t\t\ticonAssistiveText = {\n\t\t\t\t\t...iconAssistiveText,\n\t\t\t\t\t...this.props.icon.props.assistiveText,\n\t\t\t\t};\n\t\t\t}\n\n\t\t\ticon = React.cloneElement(this.props.icon, {\n\t\t\t\t...this.props.icon.props,\n\t\t\t\tassistiveText: iconAssistiveText,\n\t\t\t});\n\t\t} else {\n\t\t\ticon = (\n\t\t\t\t<Icon\n\t\t\t\t\tassistiveText={{\n\t\t\t\t\t\tlabel:\n\t\t\t\t\t\t\t(this.props.assistiveText && this.props.assistiveText.icon) ||\n\t\t\t\t\t\t\t'Info',\n\t\t\t\t\t}}\n\t\t\t\t\tcategory=\"utility\"\n\t\t\t\t\tname={this.props.iconName || 'info'}\n\t\t\t\t\tcolorVariant={this.props.theme === 'dark' ? 'base' : undefined}\n\t\t\t\t\tsize=\"small\"\n\t\t\t\t/>\n\t\t\t);\n\t\t}\n\n\t\treturn (\n\t\t\t<div\n\t\t\t\tclassName={classNames(\n\t\t\t\t\t`slds-scoped-notification`,\n\t\t\t\t\t`slds-media`,\n\t\t\t\t\t`slds-media_center`,\n\t\t\t\t\t{\n\t\t\t\t\t\t'slds-scoped-notification_light': this.props.theme === 'light',\n\t\t\t\t\t\t'slds-scoped-notification_dark': this.props.theme === 'dark',\n\t\t\t\t\t},\n\t\t\t\t\tthis.props.className\n\t\t\t\t)}\n\t\t\t\trole=\"status\"\n\t\t\t>\n\t\t\t\t<div className=\"slds-media__figure\">{icon}</div>\n\t\t\t\t<div className=\"slds-media__body\">{this.props.children}</div>\n\t\t\t</div>\n\t\t);\n\t}\n}\n\nScopedNotification.displayName = SCOPED_NOTIFICATION;\nScopedNotification.propTypes = propTypes;\nScopedNotification.defaultProps = defaultProps;\n\nexport default ScopedNotification;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n/* eslint-disable import/no-mutable-exports */\n\nimport React from 'react';\n\n// This function will deliver an error message to the browser console when all of the props passed in are undefined (falsey).\nimport warning from 'warning';\n\nlet hasChildrenWithoutDisplayNameOf = function hasChildrenWithoutDisplayNameOfFunction() {};\n\nif (process.env.NODE_ENV !== 'production') {\n\tconst hasWarned = {};\n\n\t// TODO: allow `displayName` to be an array of displayNames\n\thasChildrenWithoutDisplayNameOf = function hasChildrenWithoutDisplayNameOfFunction(\n\t\tcontrol,\n\t\tchildren,\n\t\tdisplayName,\n\t\tcomment\n\t) {\n\t\tif (!hasWarned[control]) {\n\t\t\tconst additionalComment = comment ? ` ${comment}` : '';\n\t\t\tconst childrenWithoutSelectedDisplayName = [];\n\n\t\t\tReact.Children.forEach(children, (child) => {\n\t\t\t\tif (child && child.type && child.type.displayName !== displayName) {\n\t\t\t\t\t// eslint-disable-next-line fp/no-mutating-methods\n\t\t\t\t\tchildrenWithoutSelectedDisplayName.push(child);\n\t\t\t\t}\n\t\t\t});\n\n\t\t\tconst hasChildrenWithoutSelectedDisplayName =\n\t\t\t\tchildrenWithoutSelectedDisplayName.length > 0;\n\n\t\t\tif (hasChildrenWithoutSelectedDisplayName) {\n\t\t\t\t/* eslint-disable max-len */\n\t\t\t\twarning(\n\t\t\t\t\tfalse,\n\t\t\t\t\t`[Design System React] Unable to use child components specified within ${control}. Please use a child component with a \\`displayName\\` class property value of ${displayName}. Children without that class property are ignored. Please review \\`children\\` prop documentation.${additionalComment}`\n\t\t\t\t);\n\t\t\t\t/* eslint-enable max-len */\n\t\t\t}\n\n\t\t\thasWarned[control] = !!hasChildrenWithoutSelectedDisplayName;\n\t\t}\n\t};\n}\n\nexport default hasChildrenWithoutDisplayNameOf;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n/* eslint-disable import/no-mutable-exports */\n\nimport hasChildrenWithoutDisplayNameof from '../../utilities/warning/has-children-without-display-name-of';\nimport getComponentDocFn from '../../utilities/get-component-doc';\nimport renderFunctionReturnContentsLackDisplayName from '../../utilities/warning/render-function-return-contents-lack-display-name';\n\nimport {\n\tICON,\n\tPROGRESS_INDICATOR,\n\tSETUP_ASSISTANT,\n\tSETUP_ASSISTANT_STEP,\n} from '../../utilities/constants';\n\nlet checkProps = () => {};\n\nif (process.env.NODE_ENV !== 'production') {\n\tcheckProps = (COMPONENT, props, jsonDoc) => {\n\t\tconst createDocUrl = getComponentDocFn(jsonDoc);\n\n\t\tif (COMPONENT === SETUP_ASSISTANT) {\n\t\t\thasChildrenWithoutDisplayNameof(\n\t\t\t\tCOMPONENT,\n\t\t\t\tprops.children,\n\t\t\t\tSETUP_ASSISTANT_STEP,\n\t\t\t\tcreateDocUrl()\n\t\t\t);\n\t\t}\n\n\t\tif (COMPONENT === SETUP_ASSISTANT_STEP && props.onRenderFigure) {\n\t\t\trenderFunctionReturnContentsLackDisplayName(\n\t\t\t\tCOMPONENT,\n\t\t\t\t'onRenderFigure',\n\t\t\t\tprops.onRenderFigure(),\n\t\t\t\t[ICON, PROGRESS_INDICATOR]\n\t\t\t);\n\t\t}\n\t};\n}\n\nexport default checkProps;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// Implements the [Setup Assistant design pattern](https://lightningdesignsystem.com/components/progress-ring/) in React.\n// Based on SLDS v2.4.5\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\n\n// ### shortid\n// [npmjs.com/package/shortid](https://www.npmjs.com/package/shortid)\n// shortid is a short, non-sequential, url-friendly, unique id generator\nimport shortid from 'shortid';\n\n// This component's `checkProps` which issues warnings to developers about properties\n// when in development mode (similar to React's built in development tools)\nimport checkProps from './check-props';\nimport componentDoc from './component.json';\n\nimport {\n\tSETUP_ASSISTANT,\n\tSETUP_ASSISTANT_STEP,\n} from '../../utilities/constants';\n\nconst propTypes = {\n\t/**\n\t * Accepts SetupAssistantStep components only as children.\n\t */\n\tchildren: PropTypes.node,\n\t/**\n\t * CSS classes to be added to tag with `.slds-progress-bar`. Uses `classNames` [API](https://github.com/JedWatson/classnames).\n\t */\n\tclassName: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\t/**\n\t * HTML id for component.\n\t */\n\tid: PropTypes.string,\n\t/**\n\t * Dictates whether this setup assistant has card wrappings and styling\n\t */\n\tisCard: PropTypes.bool,\n\t/**\n\t * Function to handle opening / closing of steps when the step is expandable. Passes event object and step `index`, `isOpen`, and `step` props as data.\n\t */\n\tonStepToggleIsOpen: PropTypes.func,\n\t/**\n\t * Accepts a progress bar component, which will only be visible if `isCard` is enabled\n\t */\n\tprogressBar: PropTypes.node,\n};\n\nconst defaultProps = {\n\tisCard: false,\n};\n\n/**\n * Setup Assistant provides Administrators with a centralized list of tasks for\n * onboarding organizations, clouds, or features within the Salesforce Platform.\n */\nclass SetupAssistant extends React.Component {\n\tconstructor(props) {\n\t\tsuper(props);\n\n\t\tthis.generatedId = shortid.generate();\n\t}\n\n\tcomponentDidMount() {\n\t\tcheckProps(SETUP_ASSISTANT, this.props, componentDoc);\n\t}\n\n\tcomponentDidUpdate() {\n\t\tcheckProps(SETUP_ASSISTANT, this.props, componentDoc);\n\t}\n\n\t/**\n\t * ID as a string\n\t * @returns {string} id\n\t */\n\tgetId() {\n\t\treturn this.props.id || this.generatedId;\n\t}\n\n\trender() {\n\t\tconst steps = (\n\t\t\t<ol\n\t\t\t\tid={this.getId()}\n\t\t\t\tclassName={classNames('slds-setup-assistant', this.props.className)}\n\t\t\t>\n\t\t\t\t{React.Children.map(this.props.children, (child, i) => {\n\t\t\t\t\tif (child.type.displayName !== SETUP_ASSISTANT_STEP) return null;\n\t\t\t\t\treturn React.cloneElement(child, {\n\t\t\t\t\t\tindex: i,\n\t\t\t\t\t\tonToggleIsOpen: this.props.onStepToggleIsOpen,\n\t\t\t\t\t\tstepNumber: i + 1,\n\t\t\t\t\t\t...child.props,\n\t\t\t\t\t});\n\t\t\t\t})}\n\t\t\t</ol>\n\t\t);\n\n\t\treturn this.props.isCard ? (\n\t\t\t<section className=\"slds-card\">\n\t\t\t\t<header className=\"slds-theme_shade slds-p-around_medium slds-m-bottom_small\">\n\t\t\t\t\t{this.props.progressBar}\n\t\t\t\t</header>\n\t\t\t\t{steps}\n\t\t\t</section>\n\t\t) : (\n\t\t\t<React.Fragment>{steps}</React.Fragment>\n\t\t);\n\t}\n}\n\nSetupAssistant.displayName = SETUP_ASSISTANT;\nSetupAssistant.propTypes = propTypes;\nSetupAssistant.defaultProps = defaultProps;\n\nexport default SetupAssistant;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\n\n// ### shortid\n// [npmjs.com/package/shortid](https://www.npmjs.com/package/shortid)\n// shortid is a short, non-sequential, url-friendly, unique id generator\nimport shortid from 'shortid';\nimport assign from 'lodash.assign';\n\n// This component's `checkProps` which issues warnings to developers about properties\n// when in development mode (similar to React's built in development tools)\nimport checkProps from './check-props';\nimport componentDoc from './component.json';\n\nimport Button from '../button';\nimport ProgressRing from '../progress-ring';\n\nimport { ICON, SETUP_ASSISTANT_STEP } from '../../utilities/constants';\n\nconst propTypes = {\n\t/**\n\t * **Assistive text for accessibility**\n\t * This object is merged with the default props object on every render.\n\t * * `expandStep`: Button that examples a step\n\t * _Tested with snapshot testing._\n\t */\n\tassistiveText: PropTypes.shape({\n\t\texpandStep: PropTypes.string,\n\t}),\n\t/**\n\t * CSS class names to be added to the container element. `array`, `object`, or `string` are accepted.\n\t */\n\tclassName: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\t/**\n\t * Detailed description of the step\n\t */\n\tdescription: PropTypes.oneOfType([PropTypes.string, PropTypes.node]),\n\t/**\n\t * Estimated time for completing the step\n\t */\n\testimatedTime: PropTypes.oneOfType([PropTypes.string, PropTypes.node]),\n\t/**\n\t * Heading for the step\n\t */\n\theading: PropTypes.oneOfType([PropTypes.string, PropTypes.node]),\n\t/**\n\t * HTML id for component.\n\t */\n\tid: PropTypes.string,\n\t/**\n\t * Index of the step within the step array\n\t */\n\tindex: PropTypes.number,\n\t/**\n\t * Dictates whether the step can be expanded / collapsed\n\t */\n\tisExpandable: PropTypes.bool,\n\t/**\n\t * If `isExpandable` is true, this prop can be used to control the expanded state. If not provided state will be used instead\n\t */\n\tisOpen: PropTypes.bool,\n\t/**\n\t * Function that is called to render a step's available action(s). Typically returns a Button, Button of variant \"link,\" or Checkbox of variant \"toggle\"\n\t */\n\tonRenderAction: PropTypes.func,\n\t/**\n\t * Function that is called to render step content. Typically returns a ProgressIndicator and/or ScopedNotification component\n\t */\n\tonRenderContent: PropTypes.func,\n\t/**\n\t * Function that is called to render content within the media figure. Expects to be returned an Icon or ProgressRing component\n\t */\n\tonRenderFigure: PropTypes.func,\n\t/**\n\t * Function to handle requests to expand / collapse the step\n\t */\n\tonToggleIsOpen: PropTypes.func,\n\t/**\n\t * Percentage of step completed. No progress indicator will be shown for the step unless this is provided\n\t */\n\tprogress: PropTypes.number,\n\t/**\n\t * Display number for the step. Only appears if progress indicator is enabled. Determined automatically by parent if not provided.\n\t */\n\tstepNumber: PropTypes.number,\n};\n\nconst defaultProps = {\n\tassistiveText: { expandStep: 'Expand Step' },\n};\n\n/**\n * Setup Assistant Step component is used to specify individual items within the Setup Assistant\n * filled with learning and task links along with a recommended sequence that may have progress tracking\n */\nclass Step extends React.Component {\n\tconstructor(props) {\n\t\tsuper(props);\n\t\tthis.generatedId = shortid.generate();\n\t\tthis.state = {\n\t\t\tisOpen: props.isOpen || false,\n\t\t};\n\t\tcheckProps(SETUP_ASSISTANT_STEP, this.props, componentDoc);\n\t}\n\n\tgetId() {\n\t\treturn this.props.id || this.generatedId;\n\t}\n\n\tgetIsOpen() {\n\t\treturn this.props.isOpen !== undefined\n\t\t\t? this.props.isOpen\n\t\t\t: this.state.isOpen;\n\t}\n\n\ttoggleIsOpen = (event) => {\n\t\tif (this.props.onToggleIsOpen) {\n\t\t\tthis.props.onToggleIsOpen(event, {\n\t\t\t\tindex: this.props.index,\n\t\t\t\tisOpen: this.getIsOpen(),\n\t\t\t\tstep: this.props,\n\t\t\t});\n\t\t} else {\n\t\t\tthis.setState({ isOpen: !this.getIsOpen() });\n\t\t}\n\t};\n\n\trenderMediaContent() {\n\t\treturn (\n\t\t\t<React.Fragment>\n\t\t\t\t<div className=\"slds-setup-assistant__step-summary-content slds-media__body\">\n\t\t\t\t\t<h3 className=\"slds-setup-assistant__step-summary-title slds-text-heading_small\">\n\t\t\t\t\t\t{this.props.isExpandable ? (\n\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\taria-controls={`${this.getId()}-detail-content`}\n\t\t\t\t\t\t\t\tclassName=\"slds-button_reset\"\n\t\t\t\t\t\t\t\tlabel={this.props.heading}\n\t\t\t\t\t\t\t\tonClick={this.toggleIsOpen}\n\t\t\t\t\t\t\t\tvariant=\"base\"\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\tthis.props.heading\n\t\t\t\t\t\t)}\n\t\t\t\t\t</h3>\n\t\t\t\t\t<p>{this.props.description}</p>\n\t\t\t\t</div>\n\t\t\t\t<div className=\"slds-media__figure slds-media__figure_reverse\">\n\t\t\t\t\t{this.props.onRenderAction ? this.props.onRenderAction() : null}\n\t\t\t\t\t{this.props.estimatedTime ? (\n\t\t\t\t\t\t<p\n\t\t\t\t\t\t\tclassName={classNames(\n\t\t\t\t\t\t\t\t'slds-text-align_right',\n\t\t\t\t\t\t\t\t'slds-text-color_weak',\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t'slds-p-top_medium': this.props.onRenderAction !== undefined,\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{this.props.estimatedTime}\n\t\t\t\t\t\t</p>\n\t\t\t\t\t) : null}\n\t\t\t\t</div>\n\t\t\t</React.Fragment>\n\t\t);\n\t}\n\n\trenderSummary() {\n\t\tlet figure;\n\t\tlet progressRingTheme;\n\n\t\tif (this.props.progress > 0 && this.props.progress < 100) {\n\t\t\tprogressRingTheme = 'active';\n\t\t} else if (this.props.progress === 100) {\n\t\t\tprogressRingTheme = 'complete';\n\t\t}\n\n\t\tif (this.props.onRenderFigure) {\n\t\t\tfigure = this.props.onRenderFigure();\n\n\t\t\tif (figure && figure.type && figure.type.displayName === ICON) {\n\t\t\t\tlet containerStyle = {\n\t\t\t\t\tposition: 'relative',\n\t\t\t\t\ttop: this.props.isExpandable ? '5px' : '-3px',\n\t\t\t\t};\n\n\t\t\t\tif (figure.props.containerStyle) {\n\t\t\t\t\tcontainerStyle = {\n\t\t\t\t\t\t...containerStyle,\n\t\t\t\t\t\t...figure.props.containerStyle,\n\t\t\t\t\t};\n\t\t\t\t}\n\n\t\t\t\tfigure = React.cloneElement(figure, {\n\t\t\t\t\t...figure.props,\n\t\t\t\t\tcontainerStyle,\n\t\t\t\t\tsize: 'small',\n\t\t\t\t});\n\t\t\t\tfigure = <div className=\"slds-media__figure\">{figure}</div>;\n\t\t\t}\n\t\t} else if (this.props.progress !== undefined) {\n\t\t\tfigure = (\n\t\t\t\t<div className=\"slds-media__figure\">\n\t\t\t\t\t<ProgressRing\n\t\t\t\t\t\thasIcon\n\t\t\t\t\t\ticon={this.props.progress === 100 ? null : this.props.stepNumber}\n\t\t\t\t\t\tflowDirection=\"fill\"\n\t\t\t\t\t\tsize=\"large\"\n\t\t\t\t\t\ttheme={progressRingTheme}\n\t\t\t\t\t\tvalue={this.props.progress}\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t);\n\t\t}\n\n\t\treturn (\n\t\t\t<div className=\"slds-setup-assistant__step-summary\">\n\t\t\t\t<div className=\"slds-media\">\n\t\t\t\t\t{figure}\n\t\t\t\t\t{this.props.isExpandable || this.props.progress !== undefined ? (\n\t\t\t\t\t\t<div className=\"slds-media__body slds-m-top_x-small\">\n\t\t\t\t\t\t\t<div className=\"slds-media\">{this.renderMediaContent()}</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t) : (\n\t\t\t\t\t\tthis.renderMediaContent()\n\t\t\t\t\t)}\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t);\n\t}\n\n\trender() {\n\t\tconst assistiveText = assign(\n\t\t\t{},\n\t\t\tdefaultProps.assistiveText,\n\t\t\tthis.props.assistiveText\n\t\t);\n\t\treturn (\n\t\t\t<li\n\t\t\t\tclassName={classNames(\n\t\t\t\t\t'slds-setup-assistant__item',\n\t\t\t\t\tthis.props.className\n\t\t\t\t)}\n\t\t\t\tid={this.getId()}\n\t\t\t>\n\t\t\t\t<article className=\"slds-setup-assistant__step\">\n\t\t\t\t\t{this.props.isExpandable ? (\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tclassName={classNames('slds-summary-detail', {\n\t\t\t\t\t\t\t\t'slds-is-open': this.getIsOpen(),\n\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\tassistiveText={{ icon: assistiveText.expandStep }}\n\t\t\t\t\t\t\t\taria-controls={`${this.getId()}-detail-content`}\n\t\t\t\t\t\t\t\tclassName=\"slds-m-right_x-small slds-m-top_x-small\"\n\t\t\t\t\t\t\t\ticonCategory=\"utility\"\n\t\t\t\t\t\t\t\ticonClassName=\"slds-summary-detail__action-icon\"\n\t\t\t\t\t\t\t\ticonName=\"switch\"\n\t\t\t\t\t\t\t\tonClick={this.toggleIsOpen}\n\t\t\t\t\t\t\t\tvariant=\"icon\"\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<div className=\"slds-container_fluid\">\n\t\t\t\t\t\t\t\t<div className=\"slds-summary-detail__title\">\n\t\t\t\t\t\t\t\t\t{this.renderSummary()}\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\tclassName=\"slds-summary-detail__content\"\n\t\t\t\t\t\t\t\t\tid={`${this.getId()}-detail-content`}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<div className=\"slds-setup-assistant__step-detail\">\n\t\t\t\t\t\t\t\t\t\t{this.props.onRenderContent\n\t\t\t\t\t\t\t\t\t\t\t? this.props.onRenderContent()\n\t\t\t\t\t\t\t\t\t\t\t: null}\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t) : (\n\t\t\t\t\t\tthis.renderSummary()\n\t\t\t\t\t)}\n\t\t\t\t</article>\n\t\t\t</li>\n\t\t);\n\t}\n}\n\nStep.displayName = SETUP_ASSISTANT_STEP;\nStep.propTypes = propTypes;\nStep.defaultProps = defaultProps;\n\nexport default Step;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// # Slider Component\n\n// Implements the [Slider design pattern](https://www.lightningdesignsystem.com/components/slider/) in React.\n\n// ### React\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\n// ### isFunction\nimport isFunction from 'lodash.isfunction';\n\n// ### classNames\nimport classNames from 'classnames';\n\n// ### shortid\n// [npmjs.com/package/shortid](https://www.npmjs.com/package/shortid)\n// shortid is a short, non-sequential, url-friendly, unique id generator\nimport shortid from 'shortid';\n\nimport { SLIDER } from '../../utilities/constants';\n\nimport getAriaProps from '../../utilities/get-aria-props';\n\nconst propTypes = {\n\t/**\n\t * The `aria-describedby` attribute is used to indicate the IDs of the elements that describe the object. It is used to establish a relationship between widgets or groups and text that described them. This is very similar to aria-labelledby: a label describes the essence of an object, while a description provides more information that the user might need.\n\t */\n\t'aria-describedby': PropTypes.string,\n\t/**\n\t * Assistive text for accessibility**\n\t * `disabled`: Read by screen readers to indicate a disabled slider\n\t * `label`: Visually hidden label but read out loud by screen readers.\n\t */\n\tassistiveText: PropTypes.shape({\n\t\tdisabled: PropTypes.string,\n\t\tlabel: PropTypes.string,\n\t}),\n\t/**\n\t * Class names to be added to the outer container of the Slider.\n\t */\n\tclassNameContainer: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\t/**\n\t * This is the initial value of an uncontrolled form element and is present\n\t * only to provide compatibility with hybrid framework applications that\n\t * are not entirely React. It should only be used in an application without\n\t * centralized state (Redux, Flux). \"Controlled components\" with centralized\n\t * state is highly recommended. See [Code Overview](https://github.com/salesforce/design-system-react/blob/master/docs/codebase-overview.md#controlled-and-uncontrolled-components) for more information.\n\t */\n\tdefaultValue: PropTypes.number,\n\t/**\n\t * Disables the Slider and prevents clicking it. Only available on the horizontal view.\n\t */\n\tdisabled: PropTypes.bool,\n\t/**\n\t * Message to display when the Slider is in an error state. When this is present, also visually highlights the component as in error.\n\t */\n\terrorText: PropTypes.string,\n\t/**\n\t * Set the HTML `id` of the slider.\n\t */\n\tid: PropTypes.string,\n\t/**\n\t * This label appears above the Slider.\n\t */\n\tlabel: PropTypes.string,\n\t/**\n\t * Maximum value of a specified range. Defaults to 100.\n\t */\n\tmax: PropTypes.number,\n\t/**\n\t * Minimum value of a specified range. Defaults to 0.\n\t */\n\tmin: PropTypes.number,\n\t/**\n\t * Name of the submitted form parameter.\n\t */\n\tname: PropTypes.string,\n\t/**\n\t * This event fires whenever the user has modified the data of the control. This callback recieves the following parameters `event, { value: [string] }`.\n\t */\n\tonChange: PropTypes.func,\n\t/**\n\t * This event fires when the value is committed. This callback recieves the following parameters `event, { value: [string] }`.\n\t */\n\tonInput: PropTypes.func,\n\t/**\n\t * Size of the slider.\n\t */\n\tsize: PropTypes.oneOf(['x-small', 'small', 'medium', 'large']),\n\t/**\n\t * By default, the granularity is 1 and the value is always an integer. For example, If you need a value between 5 and 10, accurate to two decimal places, you should set the value of step to 0.01\n\t */\n\tstep: PropTypes.number,\n\t/**\n\t * The Slider should be a controlled component, and will always display this value. This should always be used if you are using a Flux/Redux framework.\n\t */\n\tvalue: PropTypes.number,\n\t/**\n\t * Modifier that makes the slider vertical\n\t */\n\tvertical: PropTypes.bool,\n};\n\nconst defaultProps = {\n\tassistiveText: { disabled: 'Disabled' },\n\tmin: 0,\n\tmax: 100,\n\tstep: 1,\n};\n\n/**\n * The ability to style sliders with CSS varies across browsers. Using this component ensures sliders look the same everywhere.\n */\nclass Slider extends React.Component {\n\tstatic displayName = SLIDER;\n\n\tstatic propTypes = propTypes;\n\n\tstatic defaultProps = defaultProps;\n\n\tconstructor(props) {\n\t\tsuper(props);\n\n\t\tthis.generatedId = shortid.generate();\n\n\t\tif (this.props.errorText) {\n\t\t\tthis.generatedErrorId = shortid.generate();\n\t\t}\n\t}\n\n\tgetId() {\n\t\treturn this.props.id || this.generatedId;\n\t}\n\n\tgetErrorId() {\n\t\treturn this.props['aria-describedby'] || this.generatedErrorId;\n\t}\n\n\thandleChange = (event) => {\n\t\tif (isFunction(this.props.onChange)) {\n\t\t\tthis.props.onChange(event, { value: Number(event.target.value) });\n\t\t}\n\t};\n\n\thandleInput = (event) => {\n\t\tif (isFunction(this.props.onInput)) {\n\t\t\tthis.props.onInput(event, { value: Number(event.target.value) });\n\t\t}\n\t};\n\n\trender() {\n\t\tconst ariaProps = getAriaProps(this.props);\n\t\tariaProps['aria-describedby'] = this.getErrorId();\n\n\t\tconst assistiveText = {\n\t\t\t...defaultProps.assistiveText,\n\t\t\t...this.props.assistiveText,\n\t\t};\n\t\tconst labelText =\n\t\t\tthis.props.label ||\n\t\t\t(this.props.assistiveText && this.props.assistiveText.label);\n\n\t\treturn (\n\t\t\t<div\n\t\t\t\tclassName={classNames(\n\t\t\t\t\t'slds-form-element',\n\t\t\t\t\t{\n\t\t\t\t\t\t'slds-has-error': this.props.errorText,\n\t\t\t\t\t},\n\t\t\t\t\tthis.props.classNameContainer\n\t\t\t\t)}\n\t\t\t>\n\t\t\t\t<label\n\t\t\t\t\tclassName={classNames('slds-form-element__label', {\n\t\t\t\t\t\t'slds-assistive-text':\n\t\t\t\t\t\t\tthis.props.assistiveText && !this.props.label,\n\t\t\t\t\t})}\n\t\t\t\t\thtmlFor={this.getId()}\n\t\t\t\t>\n\t\t\t\t\t<span className=\"slds-slider-label\">\n\t\t\t\t\t\t{labelText ? (\n\t\t\t\t\t\t\t<span className=\"slds-slider-label__label\">{labelText}</span>\n\t\t\t\t\t\t) : null}\n\t\t\t\t\t\t<span className=\"slds-slider-label__range\">\n\t\t\t\t\t\t\t{this.props.min}\n\t\t\t\t\t\t\t{' - '}\n\t\t\t\t\t\t\t{this.props.max}\n\t\t\t\t\t\t</span>\n\t\t\t\t\t\t{this.props.disabled ? (\n\t\t\t\t\t\t\t<span className=\"slds-assistive-text\">\n\t\t\t\t\t\t\t\t{' '}\n\t\t\t\t\t\t\t\t{assistiveText.disabled}\n\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t) : null}\n\t\t\t\t\t</span>\n\t\t\t\t</label>\n\t\t\t\t<div className=\"slds-form-element__control\">\n\t\t\t\t\t<div\n\t\t\t\t\t\tclassName={classNames('slds-slider', {\n\t\t\t\t\t\t\t'slds-slider_vertical': this.props.vertical,\n\t\t\t\t\t\t\t'slds-size_x-small': this.props.size === 'x-small',\n\t\t\t\t\t\t\t'slds-size_small': this.props.size === 'small',\n\t\t\t\t\t\t\t'slds-size_medium': this.props.size === 'medium',\n\t\t\t\t\t\t\t'slds-size_large': this.props.size === 'large',\n\t\t\t\t\t\t})}\n\t\t\t\t\t>\n\t\t\t\t\t\t<input\n\t\t\t\t\t\t\ttype=\"range\"\n\t\t\t\t\t\t\tid={this.getId()}\n\t\t\t\t\t\t\tname={this.props.name}\n\t\t\t\t\t\t\tclassName=\"slds-slider__range\"\n\t\t\t\t\t\t\tmin={this.props.min}\n\t\t\t\t\t\t\tmax={this.props.max}\n\t\t\t\t\t\t\tstep={this.props.step}\n\t\t\t\t\t\t\tdisabled={this.props.disabled}\n\t\t\t\t\t\t\tonChange={this.handleChange}\n\t\t\t\t\t\t\tonInput={this.handleInput}\n\t\t\t\t\t\t\t{...ariaProps}\n\t\t\t\t\t\t\t/* A form element should not have both value and defaultValue props. */\n\t\t\t\t\t\t\t{...(this.props.value !== undefined\n\t\t\t\t\t\t\t\t? { value: this.props.value }\n\t\t\t\t\t\t\t\t: { defaultValue: this.props.defaultValue })}\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<span className=\"slds-slider__value\" aria-hidden=\"true\">\n\t\t\t\t\t\t\t{this.props.value || this.props.defaultValue || '0'}\n\t\t\t\t\t\t</span>\n\t\t\t\t\t</div>\n\t\t\t\t\t{this.props.errorText ? (\n\t\t\t\t\t\t<div id={this.getErrorId()} className=\"slds-form-element__help\">\n\t\t\t\t\t\t\t{this.props.errorText}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t) : null}\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t);\n\t}\n}\n\nexport default Slider;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport Button from '../../button';\n\nexport const DISPLAY_NAME = 'SLDSSplitViewToggleButton';\nexport const TOGGLE_BUTTON_WIDTH = '0.75rem';\n\nconst propsTypes = {\n\t/**\n\t * **Assistive text for accessibility**\n\t * * `toggleButtonOpen`: The button used to open the split view.\n\t * * `toggleButtonClose`: The button used to close the split view.\n\t */\n\tassistiveText: PropTypes.shape({\n\t\ttoggleButtonOpen: PropTypes.string.isRequired,\n\t\ttoggleButtonClose: PropTypes.string.isRequired,\n\t}),\n\t/**\n\t * Unique html id placed on the button for aria-controls\n\t */\n\tariaControls: PropTypes.string.isRequired,\n\t/**\n\t * Determines if the panel is open\n\t */\n\tisOpen: PropTypes.bool.isRequired,\n\t/**\n\t * **Event Callbacks**\n\t * * `onClick`: Called when the button is clicked.\n\t */\n\tevents: PropTypes.shape({\n\t\tonClick: PropTypes.func.isRequired,\n\t}),\n};\n\nconst defaultProps = {};\n\nconst SplitViewToggleButton = ({\n\tisOpen,\n\tassistiveText,\n\tariaControls,\n\tevents,\n}) => {\n\tconst toggleAssistiveText = isOpen\n\t\t? assistiveText.toggleButtonOpen\n\t\t: assistiveText.toggleButtonClose;\n\n\treturn (\n\t\t<Button\n\t\t\tclassName={classNames(\n\t\t\t\t'slds-button slds-button_icon slds-split-view__toggle-button',\n\t\t\t\t{ 'slds-is-open': isOpen }\n\t\t\t)}\n\t\t\taria-expanded={isOpen}\n\t\t\taria-controls={ariaControls}\n\t\t\ttitle={toggleAssistiveText}\n\t\t\tvariant=\"base\"\n\t\t\ticonName=\"left\"\n\t\t\ticonCategory=\"utility\"\n\t\t\ticonSize=\"x-small\"\n\t\t\tonClick={events.onClick}\n\t\t\tassistiveText={{ icon: toggleAssistiveText }}\n\t\t/>\n\t);\n};\n\nSplitViewToggleButton.displayName = DISPLAY_NAME;\nSplitViewToggleButton.propTypes = propsTypes;\nSplitViewToggleButton.defaultProps = defaultProps;\n\nexport default SplitViewToggleButton;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport shortid from 'shortid';\nimport classNames from 'classnames';\n\nimport ToggleButton, { TOGGLE_BUTTON_WIDTH } from './private/toggle-button';\n\nimport { SPLIT_VIEW } from '../../utilities/constants';\n\nconst propTypes = {\n\t/**\n\t * **Assistive text for accessibility**\n\t * * `toggleButtonOpen`: The button used to open the split view.\n\t * * `toggleButtonClose`: The button used to close the split view.\n\t */\n\tassistiveText: PropTypes.shape({\n\t\ttoggleButtonOpen: PropTypes.string,\n\t\ttoggleButtonClose: PropTypes.string,\n\t}),\n\t/**\n\t * HTML Id for the component.\n\t */\n\tid: PropTypes.string,\n\t/**\n\t * CSS classes to be added to the root `div` tag. Uses `classNames` [API](https://github.com/JedWatson/classnames).\n\t */\n\tclassName: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\t/**\n\t * Sets the split view to be open or closed.\n\t */\n\tisOpen: PropTypes.bool,\n\t/**\n\t * Event Callbacks\n\t * * `onClose`: Triggered when the split view has closed.\n\t * * `onOpen`: Triggered when the split view has opened.\n\t */\n\tevents: PropTypes.shape({\n\t\tonClose: PropTypes.func,\n\t\tonOpen: PropTypes.func,\n\t}),\n\t/**\n\t * The React component that is rendered in the master section.\n\t * You need to pass in an array of elements in order for the scrolling to in the SplitViewList to work correctly.\n\t * React requires that you also supply a unique `key` for each element [React Lists and Keys](https://reactjs.org/docs/lists-and-keys.html#keys).\n\t */\n\tmaster: PropTypes.oneOfType([\n\t\tPropTypes.arrayOf(PropTypes.element),\n\t\tPropTypes.element,\n\t]).isRequired,\n\t/**\n\t * The width of the master section.\n\t */\n\tmasterWidth: PropTypes.string,\n\t/**\n\t * The React component that is rendered in the detail section.\n\t */\n\tdetail: PropTypes.oneOfType([\n\t\tPropTypes.arrayOf(PropTypes.element),\n\t\tPropTypes.element,\n\t]).isRequired,\n};\n\nconst defaultProps = {\n\tassistiveText: {\n\t\ttoggleButtonOpen: 'Close split view',\n\t\ttoggleButtonClose: 'Open split view',\n\t},\n\tevents: {},\n\tmasterWidth: '20rem',\n};\n\n/**\n * Split view is used to navigate between records in a list while staying on the same screen.\n */\nclass SplitView extends React.Component {\n\tstatic displayName = SPLIT_VIEW;\n\n\tstatic propTypes = propTypes;\n\n\tstatic defaultProps = defaultProps;\n\n\tconstructor(props) {\n\t\tsuper(props);\n\n\t\tthis.state = {\n\t\t\tisOpen: typeof props.isOpen === 'boolean' ? props.isOpen : true,\n\t\t};\n\n\t\tthis.generatedId = shortid.generate();\n\t}\n\n\tgetId() {\n\t\treturn this.props.id || this.generatedId;\n\t}\n\n\tgetIsOpen() {\n\t\treturn typeof this.props.isOpen === 'boolean'\n\t\t\t? this.props.isOpen\n\t\t\t: this.state.isOpen;\n\t}\n\n\tgetMasterViewId() {\n\t\treturn `master_view_${this.getId()}`;\n\t}\n\n\ttoggle(event) {\n\t\tif (typeof this.props.isOpen !== 'boolean') {\n\t\t\tthis.setState((prevState) => ({\n\t\t\t\tisOpen: !prevState.isOpen,\n\t\t\t}));\n\t\t}\n\n\t\tconst isOpen = this.getIsOpen();\n\n\t\tif (isOpen && this.props.events.onClose) {\n\t\t\tthis.props.events.onClose(event);\n\t\t} else if (!isOpen && this.props.events.onOpen) {\n\t\t\tthis.props.events.onOpen(event);\n\t\t}\n\t}\n\n\trender() {\n\t\treturn (\n\t\t\t<div\n\t\t\t\tid={this.getId()}\n\t\t\t\tclassName={classNames('slds-grid', this.props.className)}\n\t\t\t\tstyle={{\n\t\t\t\t\theight: '100%',\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\t<div\n\t\t\t\t\tstyle={{\n\t\t\t\t\t\tmaxWidth: this.getIsOpen() ? this.props.masterWidth : '0',\n\t\t\t\t\t\tminWidth: this.getIsOpen() ? this.props.masterWidth : '0',\n\t\t\t\t\t}}\n\t\t\t\t\tclassName={classNames(\n\t\t\t\t\t\t'slds-split-view_container',\n\t\t\t\t\t\t{ 'slds-is-open': this.getIsOpen() },\n\t\t\t\t\t\t{ 'slds-is-closed': !this.getIsOpen() }\n\t\t\t\t\t)}\n\t\t\t\t>\n\t\t\t\t\t<ToggleButton\n\t\t\t\t\t\tassistiveText={this.props.assistiveText}\n\t\t\t\t\t\tariaControls={this.getMasterViewId()}\n\t\t\t\t\t\tisOpen={this.getIsOpen()}\n\t\t\t\t\t\tevents={{\n\t\t\t\t\t\t\tonClick: (event) => this.toggle(event),\n\t\t\t\t\t\t}}\n\t\t\t\t\t/>\n\t\t\t\t\t<article\n\t\t\t\t\t\tid={this.getMasterViewId()}\n\t\t\t\t\t\tclassName=\"slds-split-view slds-grid slds-grid_vertical slds-grow slds-scrollable_none\"\n\t\t\t\t\t>\n\t\t\t\t\t\t{this.getIsOpen() ? this.props.master : null}\n\t\t\t\t\t</article>\n\t\t\t\t</div>\n\t\t\t\t<div\n\t\t\t\t\tstyle={{\n\t\t\t\t\t\tmarginLeft: TOGGLE_BUTTON_WIDTH,\n\t\t\t\t\t}}\n\t\t\t\t\tclassName=\"slds-grow slds-scrollable_y\"\n\t\t\t\t>\n\t\t\t\t\t{this.props.detail}\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t);\n\t}\n}\n\nexport default SplitView;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\nimport React from 'react';\nimport classNames from 'classnames';\nimport PageHeader from '../page-header';\n\nimport { SPLIT_VIEW_HEADER } from '../../utilities/constants';\n\nconst propTypes = {};\n\nconst defaultProps = {};\n/**\n * The Split View Header takes the same properties as the [PageHeader](https://react.lightningdesignsystem.com/components/page-headers/) component.\n */\nconst SplitViewHeader = ({ className, ...rest }) => (\n\t<PageHeader\n\t\tclassName={classNames(\n\t\t\t'slds-split-view__header slds-has-bottom-magnet',\n\t\t\tclassName\n\t\t)}\n\t\t{...rest}\n\t/>\n);\n\nSplitViewHeader.displayName = SPLIT_VIEW_HEADER;\nSplitViewHeader.propTypes = propTypes;\nSplitViewHeader.defaultProps = defaultProps;\n\nexport default SplitViewHeader;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\nexport const DISPLAY_NAME = 'SLDSSplitViewListItemContent';\n\nconst propTypes = {\n\t/**\n\t * **Item to be displayed**\n\t * * `label`: The main label displayed on the top left.\n\t * * `topRightText`: The text displayed on the top right.\n\t * * `bottomLeftText`: The text displayed on the bottom left.\n\t * * `bottomRightText`: The text displayed on the bottom right.\n\t */\n\titem: PropTypes.shape({\n\t\tlabel: PropTypes.string,\n\t\ttopRightText: PropTypes.string,\n\t\tbottomLeftText: PropTypes.string,\n\t\tbottomRightText: PropTypes.string,\n\t}),\n};\n\nconst defaultProps = {};\n\nconst SplitViewListItemContent = ({ item }) => (\n\t<div>\n\t\t<div className=\"slds-grid slds-wrap\">\n\t\t\t<span\n\t\t\t\tclassName=\"slds-truncate slds-text-body_regular slds-text-color_default\"\n\t\t\t\ttitle={item.label}\n\t\t\t>\n\t\t\t\t{item.label}\n\t\t\t</span>\n\t\t\t<span\n\t\t\t\tclassName=\"slds-truncate slds-col_bump-left\"\n\t\t\t\ttitle={item.topRightText}\n\t\t\t>\n\t\t\t\t{item.topRightText}\n\t\t\t</span>\n\t\t</div>\n\t\t<div className=\"slds-grid slds-wrap\">\n\t\t\t<span className=\"slds-truncate\" title={item.bottomLeftText}>\n\t\t\t\t{item.bottomLeftText}\n\t\t\t</span>\n\t\t\t<span\n\t\t\t\tclassName=\"slds-truncate slds-col_bump-left\"\n\t\t\t\ttitle={item.bottomLeftText}\n\t\t\t>\n\t\t\t\t{item.bottomRightText}\n\t\t\t</span>\n\t\t</div>\n\t</div>\n);\n\nSplitViewListItemContent.displayName = DISPLAY_NAME;\nSplitViewListItemContent.propTypes = propTypes;\nSplitViewListItemContent.defaultProps = defaultProps;\n\nexport default SplitViewListItemContent;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n/* eslint-disable class-methods-use-this */\n\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\n\nexport const DISPLAY_NAME = 'SLDSSplitViewListItemWithContent';\n\nconst propsTypes = {\n\t/**\n\t * **Assistive text for accessibility**\n\t * * `unreadItem`: The unread indicator.\n\t */\n\tassistiveText: PropTypes.shape({\n\t\tunreadItem: PropTypes.string,\n\t}),\n\t/**\n\t * Item to be displayed\n\t */\n\titem: PropTypes.object.isRequired,\n\t/**\n\t * Allows multiple item to be selection\n\t */\n\tmultiple: PropTypes.bool,\n\t/**\n\t * Shows the item as `focused`.\n\t */\n\tisFocused: PropTypes.bool.isRequired,\n\t/**\n\t * Shows the item as `selected`.\n\t */\n\tisSelected: PropTypes.bool.isRequired,\n\t/**\n\t * Shows the item as `unread`.\n\t */\n\tisUnread: PropTypes.bool,\n\t/**\n\t * **Event Callbacks**\n\t * * `onClick`: Called when the item is clicked.\n\t * * * Event\n\t * * * Meta data\n\t * * * * `item`: The original item.\n\t * * * * `isSelected`: Is the item selected.\n\t * * * * `isUnread`: Is the item unread.\n\t */\n\tevents: PropTypes.shape({\n\t\tonClick: PropTypes.func.isRequired,\n\t}),\n\t/**\n\t * Reference to the list item component\n\t */\n\tlistItemRef: PropTypes.func,\n};\n\nconst defaultProps = {\n\tassistiveText: {\n\t\tunreadItem: 'Unread Item',\n\t},\n\tevents: {},\n};\n\n/**\n * HOC that wraps the list item content with selection and unread functionality.\n * @param ListItemContent {node} A React component\n * @returns {ListItemWithContent} A React component\n */\nconst listItemWithContent = (ListItemContent) => {\n\tclass ListItemWithContent extends React.Component {\n\t\tstatic displayName = `${DISPLAY_NAME}(${\n\t\t\tListItemContent.displayName || ListItemContent.name || 'Component'\n\t\t})`;\n\n\t\tstatic propTypes = propsTypes;\n\n\t\tstatic defaultProps = defaultProps;\n\n\t\tonClick(event) {\n\t\t\tthis.props.events.onClick(event, {\n\t\t\t\titem: this.props.item,\n\t\t\t\tisSelected: this.props.isSelected,\n\t\t\t\tisUnread: this.props.isUnread,\n\t\t\t});\n\t\t}\n\n\t\tunread() {\n\t\t\treturn this.props.isUnread ? (\n\t\t\t\t<abbr\n\t\t\t\t\tclassName=\"slds-indicator_unread\"\n\t\t\t\t\ttitle={this.props.assistiveText.unreadItem}\n\t\t\t\t\taria-label={this.props.assistiveText.unreadItem}\n\t\t\t\t>\n\t\t\t\t\t{/* eslint-disable-next-line react/jsx-curly-brace-presence */}\n\t\t\t\t\t<span className=\"slds-assistive-text\">{'●'}</span>\n\t\t\t\t</abbr>\n\t\t\t) : null;\n\t\t}\n\n\t\trender() {\n\t\t\treturn (\n\t\t\t\t<li\n\t\t\t\t\tclassName={classNames('slds-split-view__list-item', {\n\t\t\t\t\t\t'slds-is-unread': this.props.isUnread,\n\t\t\t\t\t})}\n\t\t\t\t\trole=\"presentation\"\n\t\t\t\t>\n\t\t\t\t\t<a\n\t\t\t\t\t\tclassName=\"slds-split-view__list-item-action slds-grow slds-has-flexi-truncate\"\n\t\t\t\t\t\trole=\"option\"\n\t\t\t\t\t\tref={this.props.listItemRef}\n\t\t\t\t\t\taria-selected={\n\t\t\t\t\t\t\tthis.props.multiple\n\t\t\t\t\t\t\t\t? !!this.props.isSelected\n\t\t\t\t\t\t\t\t: this.props.isSelected\n\t\t\t\t\t\t}\n\t\t\t\t\t\ttabIndex={this.props.isFocused ? 0 : -1}\n\t\t\t\t\t\thref=\"javascript:void(0);\" // eslint-disable-line no-script-url\n\t\t\t\t\t\tonClick={(e) => this.onClick(e)}\n\t\t\t\t\t>\n\t\t\t\t\t\t{this.unread()}\n\t\t\t\t\t\t<ListItemContent {...this.props} />\n\t\t\t\t\t</a>\n\t\t\t\t</li>\n\t\t\t);\n\t\t}\n\t}\n\n\treturn ListItemWithContent;\n};\n\nexport default listItemWithContent;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n/* eslint-disable class-methods-use-this */\n\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport eventUtil from '../../utilities/event';\n\nimport { SPLIT_VIEW_LISTBOX } from '../../utilities/constants';\n\nimport Icon from '../icon';\nimport SplitViewListItemContent from './private/list-item-content';\nimport listItemWithContent from './private/list-item-with-content';\n\nexport const SORT_OPTIONS = Object.freeze({\n\tUP: 'up',\n\tDOWN: 'down',\n});\n\nconst propTypes = {\n\t/**\n\t * **Assistive text for accessibility**\n\t * * `list`: aria label for the list\n\t * * `sort`\n\t * * `sortedBy`: Clickable sort header for the list.\n\t * * `descending`: Descending sorting.\n\t * * `ascending`: Ascending sorting.\n\t */\n\tassistiveText: PropTypes.shape({\n\t\tlist: PropTypes.string,\n\t\tsort: PropTypes.shape({\n\t\t\tsortedBy: PropTypes.string,\n\t\t\tdescending: PropTypes.string,\n\t\t\tascending: PropTypes.string,\n\t\t}),\n\t\tunreadItem: PropTypes.string,\n\t}),\n\t/**\n\t * CSS classes to be added to the parent `div` tag.\n\t */\n\tclassName: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\t/**\n\t * Event Callbacks\n\t * * `onSelect`: Called when a list item is selected. Previously, this event was called when an item was focused. The UX pattern has changed and this event is now called on pressing enter or mouse click.\n\t * * event {object} List item click event\n\t * * Meta {object}\n\t * * selectedItems {array} List of selected items.\n\t * * item {object} Last selected item.\n\t * * `onSort`: Called when the list is sorted.\n\t * * event {object} Sort click event\n\t */\n\tevents: PropTypes.shape({\n\t\tonSelect: PropTypes.func.isRequired,\n\t\tonSort: PropTypes.func,\n\t}),\n\t/**\n\t * HTML id for component.\n\t */\n\tid: PropTypes.string,\n\t/**\n\t * **Text labels for internationalization**\n\t * * `header`: This is the header of the list.\n\t */\n\tlabels: PropTypes.shape({\n\t\theader: PropTypes.string,\n\t}),\n\t/**\n\t * The direction of the sort arrow. Option are:\n\t * * SORT_OPTIONS.UP: `up`\n\t * * SORT_OPTIONS.DOWN: `down`\n\t */\n\tsortDirection: PropTypes.oneOf([SORT_OPTIONS.UP, SORT_OPTIONS.DOWN]),\n\t/**\n\t * Allows multiple item to be selection\n\t */\n\tmultiple: PropTypes.bool,\n\t/**\n\t * The list of items.\n\t * It is recommended that you have a unique `id` for each item.\n\t */\n\toptions: PropTypes.array.isRequired,\n\t/**\n\t * Accepts an array of item objects. For single selection, pass in an array of one object.\n\t */\n\tselection: PropTypes.array,\n\t/**\n\t * Accepts an array of item objects. For single unread, pass in an array of one object.\n\t */\n\tunread: PropTypes.array,\n\t/**\n\t * Custom list item template for the list item content. The select and unread functionality wraps the custom list item.\n\t * This should be a React component that accepts props.\n\t */\n\tlistItem: PropTypes.func,\n};\n\nconst defaultProps = {\n\tassistiveText: {\n\t\tlist: 'Select an item to open it in a new workspace tab.',\n\t\tsort: {\n\t\t\tsortedBy: 'Sorted by',\n\t\t\tdescending: 'Descending',\n\t\t\tascending: 'Ascending',\n\t\t},\n\t},\n\tevents: {},\n\tlabels: {},\n\tselection: [],\n\tunread: [],\n};\n\n/**\n * The menu with the ARIA role of a listbox.\n */\nclass SplitViewListbox extends React.Component {\n\tstatic displayName = SPLIT_VIEW_LISTBOX;\n\n\tstatic propTypes = propTypes;\n\n\tstatic defaultProps = defaultProps;\n\n\tconstructor(props) {\n\t\tsuper(props);\n\n\t\tthis.listItemComponents = {};\n\n\t\tthis.state = {\n\t\t\tcurrentSelectedItem: null,\n\t\t\tcurrentFocusedListItem: {\n\t\t\t\tindex: 0,\n\t\t\t\titem: null,\n\t\t\t},\n\t\t};\n\n\t\t// Generates the list item template\n\t\tthis.ListItemWithContent = listItemWithContent(\n\t\t\tprops.listItem || SplitViewListItemContent\n\t\t);\n\t}\n\n\tcomponentDidMount() {\n\t\tthis.focusFirstItem();\n\t}\n\n\tisListItemFocused(item) {\n\t\treturn this.state.currentFocusedListItem.item === item;\n\t}\n\n\tisSelected(item) {\n\t\treturn this.props.selection.includes(item);\n\t}\n\n\tisUnread(item) {\n\t\treturn this.props.unread.includes(item);\n\t}\n\n\thandleKeyDown(event) {\n\t\tif (this.props.multiple && event.key === 'a' && event.ctrlKey) {\n\t\t\t// select / deselect all\n\t\t\teventUtil.trap(event);\n\t\t\tif (this.props.options === this.props.selection) {\n\t\t\t\tthis.deselectAllListItems(event);\n\t\t\t} else {\n\t\t\t\tthis.selectAllListItems(event);\n\t\t\t}\n\t\t} else if (event.key === 'ArrowUp') {\n\t\t\teventUtil.trap(event);\n\t\t\tthis.moveToPreviousItem(event);\n\t\t} else if (event.key === 'ArrowDown') {\n\t\t\teventUtil.trap(event);\n\t\t\tthis.moveToNextItem(event);\n\t\t}\n\t}\n\n\tmoveToNextItem(event) {\n\t\tconst nextFocusIndex =\n\t\t\tthis.state.currentFocusedListItem.index === this.props.options.length - 1\n\t\t\t\t? 0\n\t\t\t\t: this.state.currentFocusedListItem.index + 1;\n\n\t\tthis.moveToIndex(event, nextFocusIndex);\n\t}\n\n\tmoveToPreviousItem(event) {\n\t\tconst previousFocusIndex =\n\t\t\tthis.state.currentFocusedListItem.index === 0\n\t\t\t\t? this.props.options.length - 1\n\t\t\t\t: this.state.currentFocusedListItem.index - 1;\n\n\t\tthis.moveToIndex(event, previousFocusIndex);\n\t}\n\n\tmoveToIndex(event, index) {\n\t\tconst item = this.props.options[index];\n\n\t\tthis.focusItem(item);\n\t}\n\n\tfocusFirstItem() {\n\t\tconst firstSelectedItem =\n\t\t\tthis.props.options.find((item) => this.props.selection.includes(item)) ||\n\t\t\tthis.props.options[0];\n\n\t\tif (firstSelectedItem) {\n\t\t\tthis.focusItem(firstSelectedItem, true);\n\t\t}\n\t}\n\n\tfocusItem(item, setDataOnly) {\n\t\tconst index = this.props.options.indexOf(item);\n\n\t\tif (!setDataOnly) {\n\t\t\tthis.listItemComponents[index].focus();\n\t\t}\n\n\t\tthis.setState({\n\t\t\tcurrentFocusedListItem: {\n\t\t\t\tindex,\n\t\t\t\titem,\n\t\t\t},\n\t\t});\n\t}\n\n\tdeselectAllListItems(event) {\n\t\tthis.setState({ currentSelectedItem: null });\n\t\tthis.props.events.onSelect(event, {\n\t\t\tselectedItems: [],\n\t\t\titem: null,\n\t\t});\n\t}\n\n\tselectAllListItems(event) {\n\t\tthis.props.events.onSelect(event, {\n\t\t\tselectedItems: this.props.options,\n\t\t\titem: this.state.currentSelectedItem,\n\t\t});\n\t}\n\n\tselectListItem(item, event) {\n\t\tlet selectedItems = [item];\n\n\t\tif (this.props.multiple) {\n\t\t\tif (event.metaKey) {\n\t\t\t\tselectedItems = this.props.selection.includes(item)\n\t\t\t\t\t? this.props.selection.filter((i) => i !== item)\n\t\t\t\t\t: [item, ...this.props.selection];\n\t\t\t} else if (event.shiftKey) {\n\t\t\t\t/* eslint-disable fp/no-mutating-methods */\n\t\t\t\tconst [begin, end] = [\n\t\t\t\t\tthis.props.options.indexOf(this.state.currentSelectedItem),\n\t\t\t\t\tthis.props.options.indexOf(item),\n\t\t\t\t].sort();\n\t\t\t\t/* eslint-enable fp/no-mutating-methods */\n\n\t\t\t\tconst addToSelection = this.props.options.slice(begin, end + 1);\n\n\t\t\t\tselectedItems = [\n\t\t\t\t\t...addToSelection,\n\t\t\t\t\t...this.props.selection.filter((i) => !addToSelection.includes(i)),\n\t\t\t\t];\n\t\t\t}\n\t\t}\n\n\t\tthis.setState({ currentSelectedItem: item });\n\n\t\tthis.props.events.onSelect(event, { selectedItems, item });\n\t}\n\n\thandleOnSelect(event, { item }) {\n\t\tthis.selectListItem(item, event);\n\t\tthis.focusItem(item);\n\t}\n\n\tsortDirection() {\n\t\treturn this.props.sortDirection ? (\n\t\t\t<Icon\n\t\t\t\tcategory=\"utility\"\n\t\t\t\tname={\n\t\t\t\t\tthis.props.sortDirection === SORT_OPTIONS.DOWN\n\t\t\t\t\t\t? 'arrowdown'\n\t\t\t\t\t\t: 'arrowup'\n\t\t\t\t}\n\t\t\t\tsize=\"xx-small\"\n\t\t\t\tclassName=\"slds-align-top\"\n\t\t\t/>\n\t\t) : null;\n\t}\n\n\theaderWrapper(children) {\n\t\treturn this.props.events.onSort ? (\n\t\t\t<a\n\t\t\t\taria-live=\"polite\"\n\t\t\t\tstyle={{ borderTop: '0' }}\n\t\t\t\thref=\"javascript:void(0);\" // eslint-disable-line no-script-url\n\t\t\t\trole=\"button\"\n\t\t\t\tclassName=\"slds-split-view__list-header slds-grid slds-text-link_reset\"\n\t\t\t\tonClick={this.props.events.onSort}\n\t\t\t>\n\t\t\t\t{children}\n\t\t\t</a>\n\t\t) : (\n\t\t\t<div\n\t\t\t\tstyle={{ borderTop: '0' }}\n\t\t\t\tclassName=\"slds-split-view__list-header slds-grid\"\n\t\t\t>\n\t\t\t\t{children}\n\t\t\t</div>\n\t\t);\n\t}\n\n\theader() {\n\t\treturn this.props.labels.header\n\t\t\t? this.headerWrapper(\n\t\t\t\t\t<span\n\t\t\t\t\t\taria-sort={\n\t\t\t\t\t\t\tthis.props.sortDirection === SORT_OPTIONS.DOWN\n\t\t\t\t\t\t\t\t? this.props.assistiveText.sort.descending\n\t\t\t\t\t\t\t\t: this.props.assistiveText.sort.ascending\n\t\t\t\t\t\t}\n\t\t\t\t\t>\n\t\t\t\t\t\t<span className=\"slds-assistive-text\">\n\t\t\t\t\t\t\t{this.props.assistiveText.sort.sortedBy}\n\t\t\t\t\t\t\t{': '}\n\t\t\t\t\t\t</span>\n\t\t\t\t\t\t<span>\n\t\t\t\t\t\t\t{this.props.labels.header}\n\t\t\t\t\t\t\t{this.sortDirection()}\n\t\t\t\t\t\t</span>\n\t\t\t\t\t\t<span className=\"slds-assistive-text\">\n\t\t\t\t\t\t\t{'- '}\n\t\t\t\t\t\t\t{this.props.sortDirection === SORT_OPTIONS.DOWN\n\t\t\t\t\t\t\t\t? this.props.assistiveText.sort.descending\n\t\t\t\t\t\t\t\t: this.props.assistiveText.sort.ascending}\n\t\t\t\t\t\t</span>\n\t\t\t\t\t</span>\n\t\t\t )\n\t\t\t: null;\n\t}\n\n\taddListItemComponent(component, index) {\n\t\tthis.listItemComponents[index] = component;\n\t}\n\n\tlistItems() {\n\t\tconst { ListItemWithContent } = this;\n\n\t\treturn this.props.options.map((item, index) => (\n\t\t\t<ListItemWithContent\n\t\t\t\tkey={item.id || index}\n\t\t\t\tassistiveText={{\n\t\t\t\t\tunreadItem: this.props.assistiveText.unreadItem,\n\t\t\t\t}}\n\t\t\t\tlistItemRef={(component) => {\n\t\t\t\t\tthis.addListItemComponent(component, index);\n\t\t\t\t}}\n\t\t\t\titem={item}\n\t\t\t\tisFocused={this.isListItemFocused(item)}\n\t\t\t\tisSelected={this.isSelected(item)}\n\t\t\t\tisUnread={this.isUnread(item)}\n\t\t\t\tevents={{\n\t\t\t\t\tonClick: (event, meta) => this.handleOnSelect(event, meta),\n\t\t\t\t}}\n\t\t\t\tmultiple={this.props.multiple}\n\t\t\t/>\n\t\t));\n\t}\n\n\trender() {\n\t\treturn (\n\t\t\t<div\n\t\t\t\tid={this.props.id}\n\t\t\t\tclassName={classNames(\n\t\t\t\t\t'slds-grid slds-grid_vertical slds-scrollable_none',\n\t\t\t\t\tthis.props.className\n\t\t\t\t)}\n\t\t\t>\n\t\t\t\t{this.header()}\n\t\t\t\t<ul\n\t\t\t\t\tclassName=\"slds-scrollable_y\"\n\t\t\t\t\taria-label={this.props.assistiveText.list}\n\t\t\t\t\taria-multiselectable={this.props.multiple}\n\t\t\t\t\trole=\"listbox\"\n\t\t\t\t\tonKeyDown={(event) => this.handleKeyDown(event)}\n\t\t\t\t>\n\t\t\t\t\t{this.listItems()}\n\t\t\t\t</ul>\n\t\t\t</div>\n\t\t);\n\t}\n}\n\nexport default SplitViewListbox;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n/* eslint-disable import/no-mutable-exports */\n/* eslint-disable max-len */\n\nimport onlyOneOfProperties from '../../utilities/warning/only-one-of-properties';\nimport sunsetProperty from '../../utilities/warning/sunset-property';\nimport getComponentDocFn from '../../utilities/get-component-doc';\n\nlet checkProps = function checkPropsFunction() {};\n\nif (process.env.NODE_ENV !== 'production') {\n\tcheckProps = function checkPropsFunction(COMPONENT, props, jsonDoc) {\n\t\tconst createDocUrl = getComponentDocFn(jsonDoc);\n\n\t\tonlyOneOfProperties(\n\t\t\tCOMPONENT,\n\t\t\t{\n\t\t\t\tassistiveText: props.assistiveText,\n\t\t\t\tlabel: props.label,\n\t\t\t},\n\t\t\tcreateDocUrl()\n\t\t);\n\n\t\tif (typeof props.assistiveText === 'string') {\n\t\t\tsunsetProperty(\n\t\t\t\tCOMPONENT,\n\t\t\t\tprops.assistiveText,\n\t\t\t\t'assistiveText',\n\t\t\t\t`\\`assistiveText\\` as a string has been deprecated and is now an object to allow for multiple uses in the component. Please use \\`assistiveText.label\\` instead. ${createDocUrl(\n\t\t\t\t\t'assistiveText'\n\t\t\t\t)}`\n\t\t\t);\n\t\t}\n\t};\n}\n\nexport default checkProps;\n","/* eslint-disable react/jsx-curly-brace-presence */\n/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n/* eslint-disable jsx-a11y/no-autofocus */\n\n// # Textarea Component\n\n// Implements the [Textarea design pattern](https://lightningdesignsystem.com/components/textarea).\n// Based on SLDS v2.4.0\n//\n\n// ### React\nimport React from 'react';\n\nimport PropTypes from 'prop-types';\n\n// ### classNames\n// [github.com/JedWatson/classnames](https://github.com/JedWatson/classnames)\n// This project uses `classnames`, \"a simple javascript utility for conditionally\n// joining classNames together.\"\nimport classNames from 'classnames';\n\n// ### shortid\n// [npmjs.com/package/shortid](https://www.npmjs.com/package/shortid)\n// shortid is a short, non-sequential, url-friendly, unique id generator\nimport shortid from 'shortid';\n\n// ## Children\n// This component's `checkProps` which issues warnings to developers about properties when in development mode (similar to React's built in development tools)\nimport checkProps from './check-props';\n\nimport { TEXTAREA } from '../../utilities/constants';\nimport getAriaProps from '../../utilities/get-aria-props';\n\nimport componentDoc from './component.json';\n\n/**\n * A multi-line plain-text editing control.\n */\nclass Textarea extends React.Component {\n\tstatic displayName = TEXTAREA;\n\n\tstatic propTypes = {\n\t\t/**\n\t\t * **Assistive text for accessibility.**\n\t\t * * `label`: If present, the label associated with this `textarea` is overwritten by this text and is visually not shown.\n\t\t */\n\t\tassistiveText: PropTypes.shape({\n\t\t\tlabel: PropTypes.string,\n\t\t}),\n\t\t/**\n\t\t * The aria-activedescendant attribute contains the ID of the currently active child object that is part of a composite widget within the Document Object Model. It makes do with the overhead of having all or more than one child focusable. As the name specifies, it helps in managing the current active child of the composite widget.\n\t\t */\n\t\t'aria-activedescendant': PropTypes.string,\n\t\t/**\n\t\t * Indicates if the suggestions in a composite widget are values that complete the current textbox input.\n\t\t */\n\t\t'aria-autocomplete': PropTypes.string,\n\t\t/**\n\t\t * An HTML ID that is shared with ARIA-supported devices with the\n\t\t * `aria-controls` attribute in order to relate the input with\n\t\t * another region of the page. An example would be a select box\n\t\t * that shows or hides a panel.\n\t\t */\n\t\t'aria-controls': PropTypes.string,\n\t\t/**\n\t\t * The `aria-describedby` attribute is used to indicate the IDs of the elements that describe the object. It is used to establish a relationship between widgets or groups and text that described them. This is very similar to aria-labelledby: a label describes the essence of an object, while a description provides more information that the user might need.\n\t\t */\n\t\t'aria-describedby': PropTypes.string,\n\t\t/**\n\t\t * Use the `aria-expanded` state to indicate whether regions of the content are collapsible, and to expose whether a region is currently expanded or collapsed.\n\t\t */\n\t\t'aria-expanded': PropTypes.bool,\n\t\t/**\n\t\t * Indicates that the element has a popup context menu or sub-level menu.\n\t\t */\n\t\t'aria-haspopup': PropTypes.bool,\n\t\t/**\n\t\t * The aria-labelledby attribute contains the element IDs of labels in objects such as input elements, widgets, and groups. The attribute establishes relationships between objects and their labels. Assistive technology, such as screen readers, use this attribute to catalog the objects in a document so that users can navigate between them. Without an element ID, the assistive technology cannot catalog the object.\n\t\t */\n\t\t'aria-labelledby': PropTypes.string,\n\t\t/**\n\t\t * An HTML ID that is shared with ARIA-supported devices with the\n\t\t * `aria-controls` attribute in order to relate the input with\n\t\t * another region of the page. An example would be a search field\n\t\t * that shows search results.\n\t\t */\n\t\t'aria-owns': PropTypes.string,\n\t\t/**\n\t\t * The `aria-required` attribute is used to indicate that user input is required on an element before a form can be submitted.\n\t\t */\n\t\t'aria-required': PropTypes.bool,\n\t\t/**\n\t\t * Specifies is the textarea should automatically get focus when the page loads. This is typically a poor user experience.\n\t\t */\n\t\tautoFocus: PropTypes.bool,\n\t\t/**\n\t\t * Elements are added after the `textarea`.\n\t\t */\n\t\tchildren: PropTypes.node,\n\t\t/**\n\t\t * Class names to be added to the textarea component.\n\t\t */\n\t\tclassName: PropTypes.oneOfType([\n\t\t\tPropTypes.array,\n\t\t\tPropTypes.object,\n\t\t\tPropTypes.string,\n\t\t]),\n\t\t/** Allows for ability to apply classNames to outer textarea div.\n\t\t */\n\t\tclassNameContainer: PropTypes.oneOfType([\n\t\t\tPropTypes.array,\n\t\t\tPropTypes.object,\n\t\t\tPropTypes.string,\n\t\t]),\n\t\t/**\n\t\t * Disables the textarea and prevents editing the contents.\n\t\t */\n\t\tdisabled: PropTypes.bool,\n\t\t/**\n\t\t * Message to display when the textarea is in an error state. When this is present, also visually highlights the component as in error.\n\t\t */\n\t\terrorText: PropTypes.string,\n\t\t/**\n\t\t * Every textarea must have a unique ID in order to support keyboard navigation and ARIA support.\n\t\t */\n\t\tid: PropTypes.string,\n\t\t/**\n\t\t * This callback exposes the textarea reference / DOM node to parent components. `<Parent textareaRef={(textareaComponent) => this.textarea = textareaComponent} />\n\t\t */\n\t\ttextareaRef: PropTypes.func,\n\t\t/**\n\t\t * This label appears above the textarea.\n\t\t */\n\t\tlabel: PropTypes.string,\n\t\t/**\n\t\t * Triggered when focus is removed.\n\t\t */\n\t\tonBlur: PropTypes.func,\n\t\t/**\n\t\t * This callback fires when the textarea changes. The synthetic React event will be the first parameter to the callback. You will probably want to reference `event.target.value` in your callback. No custom data object is provided.\n\t\t */\n\t\tonChange: PropTypes.func,\n\t\t/**\n\t\t * This event fires when the textarea is clicked.\n\t\t */\n\t\tonClick: PropTypes.func,\n\t\t/**\n\t\t * Triggered when component is focused.\n\t\t */\n\t\tonFocus: PropTypes.func,\n\t\t/**\n\t\t * Similar to `onchange`. Triggered when an element gets user input.\n\t\t */\n\t\tonInput: PropTypes.func,\n\t\t/**\n\t\t * Triggered when a submittable <input> element is invalid.\n\t\t */\n\t\tonInvalid: PropTypes.func,\n\t\t/**\n\t\t * Triggered when a key is pressed down\n\t\t */\n\t\tonKeyDown: PropTypes.func,\n\t\t/**\n\t\t * Triggered when a key is pressed and released\n\t\t */\n\t\tonKeyPress: PropTypes.func,\n\t\t/**\n\t\t * Triggered when a key is released\n\t\t */\n\t\tonKeyUp: PropTypes.func,\n\t\t/**\n\t\t * Triggered after some text has been selected in an element.\n\t\t */\n\t\tonSelect: PropTypes.func,\n\t\t/**\n\t\t * Fires when a form is submitted.\n\t\t */\n\t\tonSubmit: PropTypes.func,\n\t\t/**\n\t\t * Maximum number of characters allowed.\n\t\t */\n\t\tmaxLength: PropTypes.string,\n\t\t/**\n\t\t * Name of the submitted form parameter.\n\t\t */\n\t\tname: PropTypes.string,\n\t\t/**\n\t\t * Text that will appear in an empty textarea.\n\t\t */\n\t\tplaceholder: PropTypes.string,\n\t\t/**\n\t\t * Highlights the textarea as a required field (does not perform any validation).\n\t\t */\n\t\trequired: PropTypes.bool,\n\t\t/**\n\t\t * The textarea is a controlled component, and will always display this value.\n\t\t */\n\t\tvalue: PropTypes.string,\n\t\t/**\n\t\t * The textarea is a uncontrolled component, and this will be the initial value.\n\t\t */\n\t\tdefaultValue: PropTypes.string,\n\t\t/**\n\t\t * Specifies how the text in a text area is to be wrapped when submitted in a form.\n\t\t */\n\t\twrap: PropTypes.oneOf(['soft', 'hard']),\n\t};\n\n\tconstructor(props) {\n\t\tsuper(props);\n\n\t\t// `checkProps` issues warnings to developers about properties (similar to React's built in development tools)\n\t\tcheckProps(TEXTAREA, props, componentDoc);\n\n\t\tthis.generatedId = shortid.generate();\n\t\tif (props.errorText) {\n\t\t\tthis.generatedErrorId = shortid.generate();\n\t\t}\n\t}\n\n\tgetId = () => this.props.id || this.generatedId;\n\n\tgetErrorId = () => this.props['aria-describedby'] || this.generatedErrorId;\n\n\t// ### Render\n\trender() {\n\t\tconst {\n\t\t\tautoFocus,\n\t\t\tchildren,\n\t\t\tclassName,\n\t\t\tclassNameContainer,\n\t\t\tdisabled,\n\t\t\terrorText,\n\t\t\ttextareaRef, // eslint-disable-line react/prop-types\n\t\t\tlabel,\n\t\t\tonBlur,\n\t\t\tonChange,\n\t\t\tonClick,\n\t\t\tonFocus,\n\t\t\tonInput,\n\t\t\tonInvalid,\n\t\t\tonKeyDown,\n\t\t\tonKeyPress,\n\t\t\tonKeyUp,\n\t\t\tonSelect,\n\t\t\tonSubmit,\n\t\t\tmaxLength,\n\t\t\tname,\n\t\t\tplaceholder,\n\t\t\trequired,\n\t\t\trole,\n\t\t\tvalue,\n\t\t\tdefaultValue,\n\t\t\twrap,\n\n\t\t\t// ### Additional properties\n\t\t\t// Using [object destructuring](https://facebook.github.io/react/docs/transferring-props.html#transferring-with-...-in-jsx) to pass on any properties which are not explicitly defined.\n\t\t\t// ...props // Uncomment this if you actually need to send the rest of the props to other elements\n\t\t} = this.props;\n\n\t\tconst ariaProps = getAriaProps(this.props);\n\t\tconst assistiveTextLabel =\n\t\t\ttypeof this.props.assistiveText === 'string'\n\t\t\t\t? this.props.assistiveText\n\t\t\t\t: {\n\t\t\t\t\t\t...this.props.assistiveText,\n\t\t\t\t }.label;\n\n\t\tconst labelText = label || assistiveTextLabel; // One of these is required to pass accessibility tests\n\n\t\treturn (\n\t\t\t<div\n\t\t\t\tclassName={classNames(\n\t\t\t\t\t'slds-form-element',\n\t\t\t\t\t{\n\t\t\t\t\t\t'slds-has-error': errorText,\n\t\t\t\t\t},\n\t\t\t\t\tclassNameContainer\n\t\t\t\t)}\n\t\t\t>\n\t\t\t\t{labelText && (\n\t\t\t\t\t<label\n\t\t\t\t\t\tclassName={classNames('slds-form-element__label', {\n\t\t\t\t\t\t\t'slds-assistive-text': assistiveTextLabel && !label,\n\t\t\t\t\t\t})}\n\t\t\t\t\t\thtmlFor={this.getId()}\n\t\t\t\t\t>\n\t\t\t\t\t\t{required && (\n\t\t\t\t\t\t\t<abbr className=\"slds-required\" title=\"required\">\n\t\t\t\t\t\t\t\t{'*'}\n\t\t\t\t\t\t\t</abbr>\n\t\t\t\t\t\t)}\n\t\t\t\t\t\t{labelText}\n\t\t\t\t\t</label>\n\t\t\t\t)}\n\t\t\t\t<div className={classNames('slds-form-element__control')}>\n\t\t\t\t\t<textarea\n\t\t\t\t\t\tclassName={classNames('slds-textarea', className)}\n\t\t\t\t\t\tautoFocus={autoFocus}\n\t\t\t\t\t\tdisabled={disabled}\n\t\t\t\t\t\tid={this.getId()}\n\t\t\t\t\t\tmaxLength={maxLength}\n\t\t\t\t\t\tname={name}\n\t\t\t\t\t\tonBlur={onBlur}\n\t\t\t\t\t\tonChange={onChange}\n\t\t\t\t\t\tonClick={onClick}\n\t\t\t\t\t\tonFocus={onFocus}\n\t\t\t\t\t\tonInput={onInput}\n\t\t\t\t\t\tonInvalid={onInvalid}\n\t\t\t\t\t\tonKeyDown={onKeyDown}\n\t\t\t\t\t\tonKeyPress={onKeyPress}\n\t\t\t\t\t\tonKeyUp={onKeyUp}\n\t\t\t\t\t\tonSelect={onSelect}\n\t\t\t\t\t\tonSubmit={onSubmit}\n\t\t\t\t\t\tplaceholder={placeholder}\n\t\t\t\t\t\tref={textareaRef}\n\t\t\t\t\t\trole={role}\n\t\t\t\t\t\trequired={required}\n\t\t\t\t\t\twrap={wrap}\n\t\t\t\t\t\tvalue={value}\n\t\t\t\t\t\tdefaultValue={defaultValue}\n\t\t\t\t\t\t{...ariaProps}\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t\t{errorText && (\n\t\t\t\t\t<div id={this.getErrorId()} className=\"slds-form-element__help\">\n\t\t\t\t\t\t{errorText}\n\t\t\t\t\t</div>\n\t\t\t\t)}\n\t\t\t\t{children}\n\t\t\t</div>\n\t\t);\n\t}\n}\n\nexport default Textarea;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n/* eslint-disable import/no-mutable-exports */\n\nimport deprecatedProperty from '../../utilities/warning/deprecated-property';\nimport getComponentDocFn from '../../utilities/get-component-doc';\n\nlet checkProps = function checkPropsFunction() {};\n\nif (process.env.NODE_ENV !== 'production') {\n\tcheckProps = function checkPropsFunction(COMPONENT, props, jsonDoc) {\n\t\tconst createDocUrl = getComponentDocFn(jsonDoc);\n\t\tdeprecatedProperty(\n\t\t\tCOMPONENT,\n\t\t\tprops.isInline,\n\t\t\t'isInline',\n\t\t\t'menuPosition=\"relative\"',\n\t\t\tcreateDocUrl('menuPosition')\n\t\t);\n\t};\n}\n\nexport default checkProps;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// # Timepicker Dropdown Trigger\n\n// ## Dependencies\n\n// ### React\nimport React from 'react';\n\nimport PropTypes from 'prop-types';\n\n// ### Children\nimport Input from '../../input';\n\n// ### Event Helpers\nimport KEYS from '../../../utilities/key-code';\n\n// ## Constants\nimport { MENU_DROPDOWN_TRIGGER } from '../../../utilities/constants';\n\n/**\n * Component description.\n */\nclass TimepickerDropdownTrigger extends React.Component {\n\t// ### Display Name\n\t// Always use the canonical component name (set in the core) as the React\n\t// display name.\n\tstatic displayName = MENU_DROPDOWN_TRIGGER;\n\n\t// ### Prop Types\n\tstatic propTypes = {\n\t\t/**\n\t\t * Icon for right side of trigger\n\t\t */\n\t\ticonRight: PropTypes.node,\n\t\t/**\n\t\t * A unique ID is needed in order to support keyboard navigation, ARIA support, and connect the dropdown to the triggering input.\n\t\t */\n\t\tid: PropTypes.string,\n\t\t/**\n\t\t * This label appears above the input.\n\t\t */\n\t\tlabel: PropTypes.string,\n\t\t/**\n\t\t * The dropdown menu.\n\t\t */\n\t\tmenu: PropTypes.node,\n\t\t/**\n\t\t * Is only called when `openOn` is set to `hover` and when the triggering input loses focus.\n\t\t */\n\t\tonBlur: PropTypes.func,\n\t\t/**\n\t\t * This prop is passed onto the triggering `Input`. Triggered when the trigger input is clicked.\n\t\t */\n\t\tonClick: PropTypes.func,\n\t\t/**\n\t\t * Is only called when `openOn` is set to `hover` and when the triggering input gains focus.\n\t\t */\n\t\tonFocus: PropTypes.func,\n\t\t/**\n\t\t * Called when a key pressed.\n\t\t */\n\t\tonKeyDown: PropTypes.func,\n\t\t/**\n\t\t * Called when mouse clicks down on the trigger input.\n\t\t */\n\t\tonMouseDown: PropTypes.func,\n\t\t/**\n\t\t * The ref of the actual triggering input.\n\t\t */\n\t\ttriggerRef: PropTypes.func,\n\t\t/**\n\t\t * Date\n\t\t */\n\t\tvalue: PropTypes.string,\n\t};\n\n\thandleKeyDown = (event) => {\n\t\tif (this.props.onKeyDown && event.keyCode) {\n\t\t\tif (\n\t\t\t\tevent.keyCode === KEYS.ENTER ||\n\t\t\t\tevent.keyCode === KEYS.DOWN ||\n\t\t\t\tevent.keyCode === KEYS.UP ||\n\t\t\t\tevent.keyCode === KEYS.ESCAPE\n\t\t\t) {\n\t\t\t\tthis.props.onKeyDown(event);\n\t\t\t}\n\t\t}\n\t};\n\n\t// ### Render\n\trender() {\n\t\tconst {\n\t\t\ticonRight,\n\t\t\tmenu,\n\t\t\tonBlur,\n\t\t\tonFocus,\n\t\t\tonKeyDown, // eslint-disable-line no-unused-vars\n\t\t\tonMouseDown,\n\t\t\ttriggerRef,\n\t\t\t...props\n\t\t} = this.props;\n\n\t\treturn (\n\t\t\t/* eslint-disable jsx-a11y/no-static-element-interactions */\n\t\t\t<div\n\t\t\t\tonBlur={onBlur}\n\t\t\t\tonFocus={onFocus}\n\t\t\t\tonKeyDown={this.handleKeyDown}\n\t\t\t\tonMouseDown={onMouseDown}\n\t\t\t>\n\t\t\t\t{/* eslint-enable jsx-a11y/no-static-element-interactions */}\n\t\t\t\t<Input iconRight={iconRight} {...props} inputRef={triggerRef}>\n\t\t\t\t\t{menu}\n\t\t\t\t</Input>\n\t\t\t</div>\n\t\t);\n\t}\n}\n\nexport default TimepickerDropdownTrigger;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// # Timepicker Component\n\n// ## Dependencies\n\n// ### React\nimport React from 'react';\n\nimport PropTypes from 'prop-types';\n\n// ### isDate\nimport isDate from 'lodash.isdate';\n\n// This component's `checkProps` which issues warnings to developers about properties when in development mode (similar to React's built in development tools)\nimport checkProps from './check-props';\n\n// ### Dropdown\nimport InputIcon from '../icon/input-icon';\nimport MenuDropdown from '../menu-dropdown';\nimport TimepickerDropdownTrigger from './private/dropdown-trigger';\n\n// ## Constants\nimport { TIME_PICKER } from '../../utilities/constants';\n\nimport componentDoc from './component.json';\n\nconst getOptions = ({ props }) => {\n\tconst baseDate = new Date();\n\tconst options = [];\n\n\tbaseDate.setHours(0);\n\tbaseDate.setMinutes(0);\n\tbaseDate.setSeconds(0);\n\tbaseDate.setMilliseconds(0);\n\n\tconst curDate = new Date(baseDate);\n\n\t// eslint-disable-next-line fp/no-loops\n\twhile (baseDate.getDate() === curDate.getDate()) {\n\t\tconst formatted = props.formatter(curDate);\n\n\t\t// eslint-disable-next-line fp/no-mutating-methods\n\t\toptions.push({\n\t\t\tlabel: formatted,\n\t\t\tvalue: new Date(curDate),\n\t\t});\n\n\t\tcurDate.setMinutes(curDate.getMinutes() + props.stepInMinutes);\n\t}\n\n\treturn options;\n};\n\n/**\n * Component description.\n */\nclass Timepicker extends React.Component {\n\t// ### Display Name\n\t// Always use the canonical component name as the React display name.\n\tstatic displayName = TIME_PICKER;\n\n\t// ### Prop Types\n\tstatic propTypes = {\n\t\t/**\n\t\t * If true, constrains the menu to the scroll parent. See `Dropdown`.\n\t\t */\n\t\tconstrainToScrollParent: PropTypes.bool,\n\t\t/**\n\t\t * Disables the input and prevents editing the contents.\n\t\t */\n\t\tdisabled: PropTypes.bool,\n\t\t/**\n\t\t * Time formatting function\n\t\t */\n\t\tformatter: PropTypes.func,\n\t\t/**\n\t\t * Sets the dialog width to the width of the target. Menus attached to `input` typically follow this UX pattern.\n\t\t */\n\t\tinheritTargetWidth: PropTypes.bool,\n\t\t/**\n\t\t * This label appears above the input.\n\t\t */\n\t\tlabel: PropTypes.string,\n\t\t/**\n\t\t * Custom element that overrides the default Menu Item component.\n\t\t */\n\t\tlistItemRenderer: PropTypes.func,\n\t\t/**\n\t\t * Please select one of the following:\n\t\t * * `absolute` - (default) The dialog will use `position: absolute` and style attributes to position itself. This allows inverted placement or flipping of the dialog.\n\t\t * * `overflowBoundaryElement` - The dialog will overflow scrolling parents. Use on elements that are aligned to the left or right of their target and don't care about the target being within a scrolling parent. Typically this is a popover or tooltip. Dropdown menus can usually open up and down if no room exists. In order to achieve this a portal element will be created and attached to `body`. This element will render into that detached render tree.\n\t\t * * `relative` - No styling or portals will be used. Menus will be positioned relative to their triggers. This is a great choice for HTML snapshot testing.\n\t\t */\n\t\tmenuPosition: PropTypes.oneOf([\n\t\t\t'absolute',\n\t\t\t'overflowBoundaryElement',\n\t\t\t'relative',\n\t\t]),\n\t\t/**\n\t\t * Receives the props `(dateValue, stringValue)`\n\t\t */\n\t\tonDateChange: PropTypes.func,\n\t\t/**\n\t\t * Parsing date string into Date\n\t\t */\n\t\tparser: PropTypes.func,\n\t\t/**\n\t\t * Text that will appear in an empty input.\n\t\t */\n\t\tplaceholder: PropTypes.string,\n\t\t/**\n\t\t * If true, adds asterisk next to input label to indicate it is a required field.\n\t\t */\n\t\trequired: PropTypes.bool,\n\t\t/**\n\t\t * Frequency of options\n\t\t */\n\t\tstepInMinutes: PropTypes.number,\n\t\t/**\n\t\t * Value for input that is parsed to create an internal state in the `date` format.\n\t\t */\n\t\tstrValue: PropTypes.string,\n\t\t/**\n\t\t * Instance an internal state in the `date` format.\n\t\t */\n\t\tvalue: PropTypes.instanceOf(Date),\n\t};\n\n\tstatic defaultProps = {\n\t\tformatter(date) {\n\t\t\tif (date) {\n\t\t\t\treturn date.toLocaleTimeString(navigator.language, {\n\t\t\t\t\thour: '2-digit',\n\t\t\t\t\tminute: '2-digit',\n\t\t\t\t});\n\t\t\t}\n\n\t\t\treturn null;\n\t\t},\n\t\tparser(timeStr) {\n\t\t\tconst date = new Date();\n\t\t\tconst dateStr = date.toLocaleString(navigator.language, {\n\t\t\t\tyear: 'numeric',\n\t\t\t\tmonth: 'numeric',\n\t\t\t\tday: 'numeric',\n\t\t\t});\n\t\t\treturn new Date(`${dateStr} ${timeStr}`);\n\t\t},\n\t\tmenuPosition: 'absolute',\n\t\tvalue: null,\n\t\tstepInMinutes: 30,\n\t};\n\n\tstate = {\n\t\tvalue: this.props.value,\n\t\tstrValue: this.props.strValue,\n\t\toptions: getOptions({ props: this.props }),\n\t};\n\n\tconstructor(props) {\n\t\tsuper(props);\n\n\t\t// `checkProps` issues warnings to developers about properties (similar to React's built in development tools)\n\t\tcheckProps(TIME_PICKER, props, componentDoc);\n\t}\n\n\t// eslint-disable-next-line camelcase, react/sort-comp\n\tUNSAFE_componentWillReceiveProps(nextProps) {\n\t\tif (nextProps.value && this.props.value) {\n\t\t\tconst currentTime = this.props.value.getTime();\n\t\t\tconst nextTime = nextProps.value.getTime();\n\n\t\t\tif (currentTime !== nextTime) {\n\t\t\t\tthis.setState({\n\t\t\t\t\tvalue: nextProps.value,\n\t\t\t\t\tstrValue: this.props.formatter(nextProps.value),\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t\tif (nextProps.strValue !== this.props.value) {\n\t\t\tthis.setState({ strValue: nextProps.strValue });\n\t\t}\n\t}\n\n\tparseDate = (strValue) => {\n\t\tconst newDate = this.props.parser(strValue);\n\n\t\tif (isDate(newDate)) {\n\t\t\tif (!isNaN(newDate.getTime())) {\n\t\t\t\treturn newDate;\n\t\t\t}\n\t\t}\n\n\t\treturn new Date();\n\t};\n\n\thandleChange = (date, strValue) => {\n\t\tthis.setState({\n\t\t\tvalue: date,\n\t\t\tstrValue,\n\t\t});\n\n\t\tif (this.props.onDateChange) {\n\t\t\tthis.props.onDateChange(date, strValue);\n\t\t}\n\t};\n\n\thandleSelect = (val) => {\n\t\tif (val && val.value) {\n\t\t\tthis.handleChange(val.value, val.label);\n\t\t}\n\t};\n\n\thandleInputChange = (event) => {\n\t\tconst strValue = event.target.value;\n\n\t\tthis.setState({\n\t\t\tstrValue,\n\t\t});\n\n\t\tif (this.props.onDateChange) {\n\t\t\tconst parsedDate = this.props.parser(strValue);\n\t\t\tthis.props.onDateChange(parsedDate, strValue);\n\t\t}\n\t};\n\n\t// ### Render\n\trender() {\n\t\treturn (\n\t\t\t<MenuDropdown\n\t\t\t\tcheckmark={false}\n\t\t\t\tconstrainToScrollParent={this.props.constrainToScrollParent}\n\t\t\t\tdisabled={this.props.disabled}\n\t\t\t\tinheritTargetWidth={this.props.inheritTargetWidth}\n\t\t\t\tlabel={this.props.label}\n\t\t\t\tlistItemRenderer={this.props.listItemRenderer}\n\t\t\t\t// inline style override\n\t\t\t\tmenuStyle={{\n\t\t\t\t\tmaxHeight: '20em',\n\t\t\t\t\toverflowX: 'hidden',\n\t\t\t\t\tminWidth: '100%',\n\t\t\t\t}}\n\t\t\t\tmenuPosition={this.props.menuPosition}\n\t\t\t\tonSelect={this.handleSelect}\n\t\t\t\toptions={this.state.options}\n\t\t\t>\n\t\t\t\t<TimepickerDropdownTrigger\n\t\t\t\t\ticonRight={<InputIcon category=\"utility\" name=\"clock\" />}\n\t\t\t\t\tonChange={this.handleInputChange}\n\t\t\t\t\tplaceholder={this.props.placeholder}\n\t\t\t\t\trequired={this.props.required}\n\t\t\t\t\ttype=\"text\"\n\t\t\t\t\tvalue={this.state.strValue}\n\t\t\t\t/>\n\t\t\t</MenuDropdown>\n\t\t);\n\t}\n}\n\nexport default Timepicker;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n/* eslint-disable import/no-mutable-exports */\n\nimport sunsetProperty from '../../utilities/warning/sunset-property';\nimport getComponentDocFn from '../../utilities/get-component-doc';\n\nlet checkProps = function checkPropsFunction() {};\n\nif (process.env.NODE_ENV !== 'production') {\n\tcheckProps = function checkPropsFunction(COMPONENT, props, jsonDoc) {\n\t\tconst createDocUrl = getComponentDocFn(jsonDoc);\n\n\t\t/* eslint-disable max-len */\n\t\tsunsetProperty(\n\t\t\tCOMPONENT,\n\t\t\tprops.iconCategory,\n\t\t\t'iconCategory',\n\t\t\t`Use \\`Icon\\` instead. ${createDocUrl('icon')}`\n\t\t);\n\t\tsunsetProperty(\n\t\t\tCOMPONENT,\n\t\t\tprops.iconName,\n\t\t\t'iconName',\n\t\t\t`Use \\`Icon\\` instead. ${createDocUrl('icon')}`\n\t\t);\n\n\t\tsunsetProperty(\n\t\t\tCOMPONENT,\n\t\t\tprops.content,\n\t\t\t'content',\n\t\t\t`Use \\`labels.heading\\` and \\`labels.headingLink\\` instead. ${createDocUrl(\n\t\t\t\t'labels'\n\t\t\t)}`\n\t\t);\n\t\tsunsetProperty(\n\t\t\tCOMPONENT,\n\t\t\tprops.isOpen,\n\t\t\t'isOpen',\n\t\t\t`Use a conditional outside of alert. ${createDocUrl()}`\n\t\t);\n\t\tsunsetProperty(\n\t\t\tCOMPONENT,\n\t\t\tprops.isOpen,\n\t\t\t'onDismiss',\n\t\t\t`Use \\`onRequestClose\\` instead. ${createDocUrl('onRequestClose')}`\n\t\t);\n\t\tsunsetProperty(COMPONENT, props.texture, 'texture', createDocUrl());\n\t\tsunsetProperty(\n\t\t\tCOMPONENT,\n\t\t\tprops.theme,\n\t\t\t'theme',\n\t\t\t`Use \\`variant\\` instead. ${createDocUrl('variant')}`\n\t\t);\n\t};\n}\n\nexport default checkProps;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// # Toast Component\n\n// Implements the [Toast design pattern](https://lightningdesignsystem.com/components/toasts/) in React.\n\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\nimport assign from 'lodash.assign';\n\nimport classNames from '../../utilities/class-names';\nimport Button from '../button';\nimport Icon from '../icon';\nimport checkProps from './check-props';\nimport { TOAST } from '../../utilities/constants';\nimport DOMElementFocus from '../../utilities/dom-element-focus';\nimport componentDoc from './component.json';\n\nconst propTypes = {\n\t/**\n\t * **Assistive text for accessibility**\n\t * This object is merged with the default props object on every render.\n\t * * `closeButton`: This is a visually hidden label for the close button.\n\t * * `error`: This is a visually hidden label to mark the toast as an error variant\n\t * * `info`: This is a visually hidden label to mark the toast as an info variant\n\t * * `success`: This is a visually hidden label to mark the toast as an success variant\n\t * * `warning`: This is a visually hidden label to mark the toast as an warning variant\n\t * _Tested with snapshot testing._\n\t */\n\tassistiveText: PropTypes.shape({\n\t\tcloseButton: PropTypes.oneOfType([PropTypes.string, PropTypes.node]),\n\t}),\n\t/**\n\t * CSS classes to be added to tag with `.slds-notify_toast`. Uses `classNames` [API](https://github.com/JedWatson/classnames).\n\t * _Tested with snapshot testing._\n\t */\n\tclassName: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\t/**\n\t * If duration exists, the Toast will disappear after that amount of time. Time in milliseconds. _Tested with Mocha testing._\n\t */\n\tduration: PropTypes.number,\n\t/**\n\t * **Text labels for internationalization**\n\t * This object is merged with the default props object on every render.\n\t * * `details`: Secondary text below heading\n\t * * `heading`: text within heading tag\n\t * * `headingLink`: Text of link that triggers `onClickHeadingLink`. Inline links should pass a keyed array of React components into `labels.heading`.\n\t *\n\t * _Tested with snapshot testing._\n\t */\n\tlabels: PropTypes.shape({\n\t\tdetails: PropTypes.oneOfType([PropTypes.string, PropTypes.node]),\n\t\theading: PropTypes.oneOfType([PropTypes.string, PropTypes.node]),\n\t\theadingLink: PropTypes.oneOfType([PropTypes.string, PropTypes.node]),\n\t}),\n\t/**\n\t * Triggered by link. _Tested with Mocha testing._\n\t */\n\tonClickHeadingLink: PropTypes.func,\n\t/**\n\t * Icon of type `~/components/icon`. This icon will be cloned and additional props appended. The default icons are:\n\t * * info variant: `utility:info`\n\t * * error variant: `utility:error`\n\t * * success variant: `utility:success`\n\t * * warning variant: `utility:warning`\n\t *\n\t * _Tested with snapshot testing._\n\t */\n\ticon: PropTypes.node,\n\t/**\n\t * Triggered by close button. _Tested with Mocha testing._\n\t */\n\tonRequestClose: PropTypes.func,\n\t/**\n\t * Custom styles to be passed to the component. _Tested with Mocha testing._\n\t */\n\tstyle: PropTypes.object,\n\t/**\n\t * The type of Toast. _Tested with snapshot testing._\n\t */\n\tvariant: PropTypes.oneOf(['error', 'info', 'success', 'warning']).isRequired,\n};\n\nconst defaultProps = {\n\tassistiveText: {\n\t\tcloseButton: 'Close',\n\t\terror: 'error',\n\t\tinfo: 'info',\n\t\tsuccess: 'success',\n\t\twarning: 'warning',\n\t},\n\tvariant: 'info',\n};\n\n/**\n * Toast serves as a feedback & confirmation mechanism after the user takes an action. View [banner guidelines](https://www.lightningdesignsystem.com/guidelines/messaging/components/banners/).\n */\n\nclass Toast extends React.Component {\n\tconstructor(props) {\n\t\tsuper(props);\n\t\tthis.state = {\n\t\t\tisInitialRender: true,\n\t\t};\n\t\tthis.timeout = null;\n\t\tthis.toast = null;\n\n\t\t// `checkProps` issues warnings to developers about properties (similar to React's built in development tools)\n\t\tcheckProps(TOAST, props, componentDoc);\n\t}\n\n\tcomponentDidMount() {\n\t\tif (this.props.duration) {\n\t\t\tthis.timeout = setTimeout(() => {\n\t\t\t\tthis.onClose();\n\t\t\t}, this.props.duration);\n\t\t}\n\t}\n\n\tcomponentWillUnmount() {\n\t\tthis.clearTimeout();\n\t\tDOMElementFocus.returnFocusToStoredElement();\n\t}\n\n\tonClose = () => {\n\t\tthis.clearTimeout();\n\n\t\tif (this.props.onRequestClose) {\n\t\t\tthis.props.onRequestClose();\n\t\t}\n\t};\n\n\tclearTimeout = () => {\n\t\tif (this.timeout) {\n\t\t\tclearTimeout(this.timeout);\n\t\t\tthis.timeout = null;\n\t\t}\n\t};\n\n\tsaveToastRef = (toast) => {\n\t\tthis.toast = toast;\n\t\tif (this.state.isInitialRender) {\n\t\t\tDOMElementFocus.storeActiveElement();\n\t\t\tif (this.toast) {\n\t\t\t\tthis.toast.focus();\n\t\t\t}\n\t\t\tthis.setState({ isInitialRender: false });\n\t\t}\n\t};\n\n\trender() {\n\t\t// Merge objects of strings with their default object\n\t\tconst assistiveText = assign(\n\t\t\t{},\n\t\t\tdefaultProps.assistiveText,\n\t\t\tthis.props.assistiveText\n\t\t);\n\t\tconst labels = assign({}, defaultProps.labels, this.props.labels);\n\t\tconst heading = labels.heading || this.props.content; // eslint-disable-line react/prop-types\n\n\t\tconst assistiveTextVariant = {\n\t\t\tinfo: assistiveText.info,\n\t\t\tsuccess: assistiveText.success,\n\t\t\twarning: assistiveText.warning,\n\t\t\terror: assistiveText.error,\n\t\t};\n\n\t\tconst defaultIcons = {\n\t\t\tinfo: <Icon category=\"utility\" name=\"info\" />,\n\t\t\tsuccess: <Icon category=\"utility\" name=\"success\" />,\n\t\t\twarning: <Icon category=\"utility\" name=\"warning\" />,\n\t\t\terror: <Icon category=\"utility\" name=\"error\" />,\n\t\t};\n\n\t\tconst icon = this.props.icon\n\t\t\t? this.props.icon\n\t\t\t: defaultIcons[this.props.variant];\n\n\t\tconst clonedIcon = React.cloneElement(icon, {\n\t\t\tcontainerClassName: 'slds-m-right_small slds-no-flex slds-align-top',\n\t\t\tinverse: true,\n\t\t\tsize: 'small',\n\t\t});\n\n\t\t/* eslint-disable no-script-url */\n\t\treturn (\n\t\t\t<div\n\t\t\t\tclassName={classNames(\n\t\t\t\t\t'slds-notify slds-notify_toast',\n\t\t\t\t\t{\n\t\t\t\t\t\t'slds-theme_info': this.props.variant === 'info',\n\t\t\t\t\t\t'slds-theme_success': this.props.variant === 'success',\n\t\t\t\t\t\t'slds-theme_warning': this.props.variant === 'warning',\n\t\t\t\t\t\t'slds-theme_error': this.props.variant === 'error',\n\t\t\t\t\t},\n\t\t\t\t\tthis.props.className\n\t\t\t\t)}\n\t\t\t\tref={this.saveToastRef}\n\t\t\t\trole=\"status\"\n\t\t\t\tstyle={this.props.style}\n\t\t\t\ttabIndex={0} // eslint-disable-line jsx-a11y/no-noninteractive-tabindex\n\t\t\t>\n\t\t\t\t<span className=\"slds-assistive-text\">\n\t\t\t\t\t{assistiveTextVariant[this.props.variant]}\n\t\t\t\t</span>\n\t\t\t\t{clonedIcon}\n\t\t\t\t<div className=\"slds-notify__content\">\n\t\t\t\t\t<h2 className=\"slds-text-heading_small\">\n\t\t\t\t\t\t{heading}{' '}\n\t\t\t\t\t\t{labels.headingLink ? (\n\t\t\t\t\t\t\t<a\n\t\t\t\t\t\t\t\tonClick={this.props.onClickHeadingLink}\n\t\t\t\t\t\t\t\thref=\"javascript:void(0);\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{labels.headingLink}\n\t\t\t\t\t\t\t</a>\n\t\t\t\t\t\t) : null}\n\t\t\t\t\t</h2>\n\t\t\t\t\t{labels.details ? <p>{labels.details}</p> : null}\n\t\t\t\t</div>\n\t\t\t\t<Button\n\t\t\t\t\tassistiveText={{ icon: assistiveText.closeButton }}\n\t\t\t\t\tclassName=\"slds-notify__close\"\n\t\t\t\t\ticonCategory=\"utility\"\n\t\t\t\t\ticonName=\"close\"\n\t\t\t\t\ticonSize=\"large\"\n\t\t\t\t\tinverse\n\t\t\t\t\tonClick={this.props.onRequestClose}\n\t\t\t\t\ttitle={assistiveText.closeButton}\n\t\t\t\t\tvariant=\"icon\"\n\t\t\t\t/>\n\t\t\t</div>\n\t\t);\n\t}\n}\n\nToast.defaultProps = defaultProps;\nToast.displayName = TOAST;\nToast.propTypes = propTypes;\n\nexport default Toast;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// # Toast Container Component\n\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from '../../utilities/class-names';\nimport { TOAST_CONTAINER } from '../../utilities/constants';\n\nconst propTypes = {\n\t/**\n\t * CSS classes to be added to tag with `.slds-notify-container`. Uses `classNames` [API](https://github.com/JedWatson/classnames).\n\t */\n\tclassName: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\t/**\n\t * Toast components\n\t */\n\tchildren: PropTypes.node,\n};\n\n/**\n * A fixed container for toast banners.\n */\n\nclass ToastContainer extends React.Component {\n\trender() {\n\t\treturn (\n\t\t\t<div\n\t\t\t\tclassName={classNames('slds-notify-container', this.props.className)}\n\t\t\t>\n\t\t\t\t{this.props.children}\n\t\t\t</div>\n\t\t);\n\t}\n}\n\nToastContainer.displayName = TOAST_CONTAINER;\nToastContainer.propTypes = propTypes;\n\nexport default ToastContainer;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// # Tree Item Component\n\n// Implements the [Tree design pattern](https://www.lightningdesignsystem.com/components/tree/) in React.\n\n// ### React\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport findIndex from 'lodash.findindex';\nimport isFunction from 'lodash.isfunction';\n\nimport Button from '../../button';\nimport Highlighter from '../../utilities/highlighter';\n\nimport EventUtil from '../../../utilities/event';\nimport KEYS from '../../../utilities/key-code';\nimport mapKeyEventCallbacks from '../../../utilities/key-callbacks';\nimport { TREE_ITEM } from '../../../utilities/constants';\n\nconst handleSelect = ({ event, props, fromFocus }) => {\n\tEventUtil.trap(event);\n\tif (isFunction(props.onSelect)) {\n\t\tprops.onSelect({\n\t\t\tevent,\n\t\t\tdata: {\n\t\t\t\tnode: props.node,\n\t\t\t\tselect: !props.node.selected,\n\t\t\t\ttreeIndex: props.treeIndex,\n\t\t\t},\n\t\t\tfromFocus,\n\t\t});\n\t}\n};\n\nconst findNextNode = (flattenedNodes, node) => {\n\tconst nodes = flattenedNodes.map((flattenedNode) => flattenedNode.node);\n\tconst index = findIndex(nodes, { id: node.id });\n\treturn flattenedNodes[(index + 1) % flattenedNodes.length];\n};\n\nconst findPreviousNode = (flattenedNodes, node) => {\n\tconst nodes = flattenedNodes.map((flattenedNode) => flattenedNode.node);\n\tlet index = findIndex(nodes, { id: node.id }) - 1;\n\tif (index < 0) {\n\t\tindex += flattenedNodes.length;\n\t}\n\treturn flattenedNodes[index];\n};\n\nconst handleKeyDownDown = (event, props) => {\n\tif (props.focusedNodeIndex === props.treeIndex) {\n\t\t// Select the next visible node\n\t\tconst flattenedNode = findNextNode(props.flattenedNodes, props.node);\n\t\tprops.onSelect({\n\t\t\tevent,\n\t\t\tdata: {\n\t\t\t\tnode: flattenedNode.node,\n\t\t\t\tselect: true,\n\t\t\t\ttreeIndex: flattenedNode.treeIndex,\n\t\t\t},\n\t\t\tclearSelectedNodes: true,\n\t\t});\n\t}\n};\n\nconst handleKeyDownUp = (event, props) => {\n\tif (props.focusedNodeIndex === props.treeIndex) {\n\t\t// Go to the previous visible node\n\t\tconst flattenedNode = findPreviousNode(props.flattenedNodes, props.node);\n\t\tprops.onSelect({\n\t\t\tevent,\n\t\t\tdata: {\n\t\t\t\tnode: flattenedNode.node,\n\t\t\t\tselect: true,\n\t\t\t\ttreeIndex: flattenedNode.treeIndex,\n\t\t\t},\n\t\t\tclearSelectedNodes: true,\n\t\t});\n\t}\n};\n\nconst handleKeyDownLeft = (event, props) => {\n\tconst nodes = props.flattenedNodes.map((flattenedNode) => flattenedNode.node);\n\tconst index = findIndex(nodes, { id: props.parent.id });\n\tif (index !== -1) {\n\t\tprops.onExpand({\n\t\t\tevent,\n\t\t\tdata: {\n\t\t\t\tnode: props.parent,\n\t\t\t\tselect: true,\n\t\t\t\texpand: !props.parent.expanded,\n\t\t\t\ttreeIndex: props.flattenedNodes[index].treeIndex,\n\t\t\t},\n\t\t});\n\t}\n};\n\nconst handleKeyDownEnter = (event, props) => {\n\thandleSelect({ event, props });\n};\n\nconst handleKeyDown = (event, props) => {\n\tmapKeyEventCallbacks(event, {\n\t\tcallbacks: {\n\t\t\t[KEYS.DOWN]: { callback: (evt) => handleKeyDownDown(evt, props) },\n\t\t\t[KEYS.UP]: { callback: (evt) => handleKeyDownUp(evt, props) },\n\t\t\t[KEYS.LEFT]: { callback: (evt) => handleKeyDownLeft(evt, props) },\n\t\t\t[KEYS.ENTER]: { callback: (evt) => handleKeyDownEnter(evt, props) },\n\t\t},\n\t});\n};\n\nconst handleFocus = (event, props) => {\n\tif (\n\t\t!props.treeHasFocus &&\n\t\t!props.focusedNodeIndex &&\n\t\tevent.target === event.currentTarget\n\t) {\n\t\thandleSelect({ event, props });\n\t}\n};\n\nconst getTabIndex = (props) => {\n\tconst initialFocus =\n\t\tprops.selectedNodeIndexes.length === 0 &&\n\t\tprops.treeIndex === props.flattenedNodes[0].treeIndex;\n\treturn props.treeIndex === props.focusedNodeIndex || initialFocus ? 0 : -1;\n};\n\n/**\n * A Tree Item is a non-branching node in a hierarchical list.\n */\nconst Item = (props) => {\n\tconst isSelected = props.node.selected;\n\tconst isFocused = props.treeIndex === props.focusedNodeIndex;\n\n\treturn (\n\t\t<li\n\t\t\tid={`${props.treeId}-${props.node.id}`}\n\t\t\trole=\"treeitem\"\n\t\t\taria-level={props.level}\n\t\t\taria-selected={isSelected ? 'true' : 'false'}\n\t\t\ttabIndex={getTabIndex(props)}\n\t\t\tonKeyDown={(event) => handleKeyDown(event, props)}\n\t\t\tonFocus={(event) => handleFocus(event, props)}\n\t\t\tonBlur={props.onNodeBlur}\n\t\t\tref={(component) => {\n\t\t\t\tif (props.treeHasFocus && component && isFocused) {\n\t\t\t\t\tcomponent.focus();\n\t\t\t\t}\n\t\t\t}}\n\t\t>\n\t\t\t{/* eslint-disable jsx-a11y/no-static-element-interactions */}\n\t\t\t<div\n\t\t\t\tclassName={classNames('slds-tree__item', {\n\t\t\t\t\t'slds-is-selected': isSelected,\n\t\t\t\t})}\n\t\t\t\tonClick={(event) => {\n\t\t\t\t\thandleSelect({ event, props });\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\t{/* eslint-enable jsx-a11y/no-static-element-interactions */}\n\t\t\t\t<Button\n\t\t\t\t\ttabIndex=\"-1\"\n\t\t\t\t\taria-hidden\n\t\t\t\t\tassistiveText={{ icon: '' }}\n\t\t\t\t\trole=\"presentation\"\n\t\t\t\t\ticonCategory=\"utility\"\n\t\t\t\t\ticonName=\"chevronright\"\n\t\t\t\t\ticonSize=\"small\"\n\t\t\t\t\tvariant=\"icon\"\n\t\t\t\t\tclassName=\"slds-m-right_small slds-is-disabled\"\n\t\t\t\t\tdisabled\n\t\t\t\t/>\n\t\t\t\t{/* eslint-disable no-script-url */}\n\t\t\t\t<span className=\"slds-size_1-of-1\">\n\t\t\t\t\t{/* eslint-enable no-script-url */}\n\t\t\t\t\t<Highlighter\n\t\t\t\t\t\tsearch={props.searchTerm}\n\t\t\t\t\t\tclassName=\"slds-tree__item-label slds-truncate\"\n\t\t\t\t\t>\n\t\t\t\t\t\t{props.label}\n\t\t\t\t\t</Highlighter>\n\t\t\t\t</span>\n\t\t\t</div>\n\t\t</li>\n\t);\n};\n\n// ### Display Name\n// Always use the canonical component name as the React display name.\nItem.displayName = TREE_ITEM;\n\n// ### Prop Types\nItem.propTypes = {\n\t/**\n\t * HTML `id` of the wrapping container element joined with the `id` of the node. This will recursively increase as the tree depth increases.\n\t */\n\thtmlId: PropTypes.string.isRequired,\n\t/**\n\t * The text of the tree item.\n\t */\n\tlabel: PropTypes.oneOfType([PropTypes.node, PropTypes.string]).isRequired,\n\t/**\n\t * The number of nestings. Determines the ARIA level and style alignment.\n\t */\n\tlevel: PropTypes.number.isRequired,\n\t/**\n\t * The current node that is being rendered.\n\t */\n\tnode: PropTypes.object.isRequired,\n\t/**\n\t * This function triggers when the expand or collapse icon is clicked or due to keyboard navigation.\n\t */\n\tonExpand: PropTypes.func.isRequired,\n\t/**\n\t * Function that will run whenever an item or branch is selected (click or keyboard).\n\t */\n\tonSelect: PropTypes.func,\n\t/**\n\t * Highlights term if found in node label\n\t */\n\tsearchTerm: PropTypes.string,\n\t/**\n\t * Unique id used for a prefix of all tree nodes\n\t */\n\ttreeId: PropTypes.string,\n\t/**\n\t * Location of node (zero index). First node is `0`. It's first child is `0-0`. This can be used to modify your nodes without searching for the node. This index is only valid if the `nodes` prop is the same as at the time of the event.\n\t */\n\ttreeIndex: PropTypes.string,\n\t/**\n\t * Flattened tree structure.\n\t */\n\tflattenedNodes: PropTypes.arrayOf(PropTypes.object),\n\t/**\n\t * Tree indexes of nodes that are currently selected.\n\t */\n\tselectedNodeIndexes: PropTypes.arrayOf(PropTypes.string),\n\t/**\n\t * Tree index of the node that is currently focused.\n\t */\n\tfocusedNodeIndex: PropTypes.string,\n\t/**\n\t * Callback for when a node is blurred.\n\t */\n\tonNodeBlur: PropTypes.func,\n\t/**\n\t * Sets focus on render.\n\t */\n\ttreeHasFocus: PropTypes.bool,\n\t/**\n\t * This node's parent.\n\t */\n\tparent: PropTypes.object,\n};\n\nItem.defaultProps = {\n\tselected: false,\n\tselectedNodeIndexes: [],\n};\n\nexport default Item;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// # Tree Initial Branch\n\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport isFunction from 'lodash.isfunction';\nimport classNames from 'classnames';\n\nconst propTypes = {\n\t/**\n\t * HTML `id` of the wrapping container element.\n\t */\n\thtmlId: PropTypes.oneOfType([PropTypes.number, PropTypes.string]).isRequired,\n\t/*\n\t * Class names to be added to the top-level `ul` element.\n\t */\n\tinitalClassName: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\t/*\n\t * Styles to be added to the top-level `ul` element. Useful for `overflow:hidden`.\n\t */\n\tinitialStyle: PropTypes.object,\n};\n\nconst handleScroll = (event, props) => {\n\tconst percentage =\n\t\t(event.target.scrollTop /\n\t\t\t(event.target.scrollHeight - event.target.clientHeight)) *\n\t\t100;\n\n\tif (isFunction(props.onScroll)) {\n\t\tprops.onScroll(event, {\n\t\t\tpercentage,\n\t\t});\n\t}\n};\n\nconst renderInitialNode = (children, props) => (\n\t// id intentionally not rendered here, and is present on\n\t// container that includes the header\n\t<ul\n\t\taria-labelledby={`${props.htmlId}__heading`}\n\t\tclassName={classNames('slds-tree', props.initalClassName)}\n\t\tonScroll={(event) => {\n\t\t\thandleScroll(event, props);\n\t\t}}\n\t\trole=\"tree\"\n\t\tstyle={props.initialStyle}\n\t>\n\t\t{children}\n\t</ul>\n);\n\nrenderInitialNode.displayName = 'TreeInitialNode';\nrenderInitialNode.propTypes = propTypes;\n\nexport default renderInitialNode;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// # Tree Branch Component\n\n// Implements the [Tree design pattern](https://www.lightningdesignsystem.com/components/tree/) in React.\n\n// ## Dependencies\n\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport findIndex from 'lodash.findindex';\nimport isFunction from 'lodash.isfunction';\nimport classNames from 'classnames';\n\n// Child components\nimport Button from '../../button';\nimport Highlighter from '../../utilities/highlighter';\n\nimport EventUtil from '../../../utilities/event';\nimport KEYS from '../../../utilities/key-code';\nimport mapKeyEventCallbacks from '../../../utilities/key-callbacks';\n\nconst propTypes = {\n\t/**\n\t * HTML `id` of primary element that has `.slds-tree` on it. This component has a wrapping container element outside of `.slds-tree`.\n\t */\n\thtmlId: PropTypes.oneOfType([PropTypes.number, PropTypes.string]).isRequired,\n\t/**\n\t * The text of the tree item.\n\t */\n\tlabel: PropTypes.oneOfType([PropTypes.node, PropTypes.string]),\n\t/**\n\t * The number of nestings. Determines the ARIA level and style alignment.\n\t */\n\tlevel: PropTypes.number.isRequired,\n\t/**\n\t * The current node that is being rendered.\n\t */\n\tnode: PropTypes.object.isRequired,\n\t/**\n\t * This function triggers when the expand or collapse icon is clicked or due to keyboard navigation.\n\t */\n\tonExpand: PropTypes.func.isRequired,\n\t/**\n\t * Function that will run whenever an item or branch is clicked.\n\t */\n\tonSelect: PropTypes.func,\n\t/**\n\t * Highlights term if found in node label\n\t */\n\tsearchTerm: PropTypes.string,\n\t/**\n\t * Location of node (zero index). First node is `0`. It's first child is `0-0`. This can be used to modify your nodes without searching for the node. This index is only valid if the `nodes` prop is the same as at the time of the event.\n\t */\n\ttreeIndex: PropTypes.string,\n\t/**\n\t * Flattened tree structure.\n\t */\n\tflattenedNodes: PropTypes.arrayOf(PropTypes.object),\n\t/**\n\t * Tree indexes of nodes that are currently selected.\n\t */\n\tselectedNodeIndexes: PropTypes.arrayOf(PropTypes.string),\n\t/**\n\t * Tree index of the node that is currently focused.\n\t */\n\tfocusedNodeIndex: PropTypes.string,\n\t/**\n\t * Callback for when a node is blurred.\n\t */\n\tonNodeBlur: PropTypes.func,\n\t/**\n\t * Sets focus on render.\n\t */\n\ttreeHasFocus: PropTypes.bool,\n\t/**\n\t * This node's parent.\n\t */\n\tparent: PropTypes.object,\n};\n\nconst handleExpand = (event, props) => {\n\tEventUtil.trap(event);\n\tif (isFunction(props.onExpand)) {\n\t\tprops.onExpand({\n\t\t\tevent,\n\t\t\tdata: {\n\t\t\t\tnode: props.node,\n\t\t\t\texpand: !props.node.expanded,\n\t\t\t\ttreeIndex: props.treeIndex,\n\t\t\t},\n\t\t});\n\t}\n};\n\nconst handleSelect = ({ event, props, fromFocus }) => {\n\tEventUtil.trap(event);\n\tif (isFunction(props.onSelect)) {\n\t\tprops.onSelect({\n\t\t\tevent,\n\t\t\tdata: {\n\t\t\t\tnode: props.node,\n\t\t\t\tselect: !props.node.selected,\n\t\t\t\ttreeIndex: props.treeIndex,\n\t\t\t},\n\t\t\tfromFocus,\n\t\t});\n\t}\n};\n\nconst findNextNode = (flattenedNodes, node) => {\n\tconst nodes = flattenedNodes.map((flattenedNode) => flattenedNode.node);\n\tconst index = findIndex(nodes, { id: node.id });\n\treturn flattenedNodes[(index + 1) % flattenedNodes.length];\n};\n\nconst findPreviousNode = (flattenedNodes, node) => {\n\tconst nodes = flattenedNodes.map((flattenedNode) => flattenedNode.node);\n\tlet index = findIndex(nodes, { id: node.id }) - 1;\n\tif (index < 0) {\n\t\tindex += flattenedNodes.length;\n\t}\n\treturn flattenedNodes[index];\n};\n\nconst handleKeyDownDown = (event, props) => {\n\tif (props.focusedNodeIndex === props.treeIndex) {\n\t\t// Select the next visible node\n\t\tconst flattenedNode = findNextNode(props.flattenedNodes, props.node);\n\t\tprops.onSelect({\n\t\t\tevent,\n\t\t\tdata: {\n\t\t\t\tnode: flattenedNode.node,\n\t\t\t\tselect: true,\n\t\t\t\ttreeIndex: flattenedNode.treeIndex,\n\t\t\t},\n\t\t\tclearSelectedNodes: true,\n\t\t});\n\t}\n};\n\nconst handleKeyDownUp = (event, props) => {\n\tif (props.focusedNodeIndex === props.treeIndex) {\n\t\t// Go to the previous visible node\n\t\tconst flattenedNode = findPreviousNode(props.flattenedNodes, props.node);\n\t\tprops.onSelect({\n\t\t\tevent,\n\t\t\tdata: {\n\t\t\t\tnode: flattenedNode.node,\n\t\t\t\tselect: true,\n\t\t\t\ttreeIndex: flattenedNode.treeIndex,\n\t\t\t},\n\t\t\tclearSelectedNodes: true,\n\t\t});\n\t}\n};\n\nconst handleKeyDownRight = (event, props) => {\n\tif (props.node.expanded) {\n\t\tif (props.getNodes(props.node) && props.getNodes(props.node).length > 0) {\n\t\t\thandleKeyDownDown(event, props);\n\t\t}\n\t} else {\n\t\thandleExpand(event, props);\n\t}\n};\n\nconst handleKeyDownLeft = (event, props) => {\n\tif (props.node.expanded) {\n\t\thandleExpand(event, props);\n\t} else {\n\t\tconst nodes = props.flattenedNodes.map(\n\t\t\t(flattenedNode) => flattenedNode.node\n\t\t);\n\t\tconst index = findIndex(nodes, { id: props.parent.id });\n\t\tif (index !== -1) {\n\t\t\tprops.onExpand({\n\t\t\t\tevent,\n\t\t\t\tdata: {\n\t\t\t\t\tnode: props.parent,\n\t\t\t\t\tselect: true,\n\t\t\t\t\texpand: !props.parent.expanded,\n\t\t\t\t\ttreeIndex: props.flattenedNodes[index].treeIndex,\n\t\t\t\t},\n\t\t\t});\n\t\t}\n\t}\n};\n\nconst handleKeyDownEnter = (event, props) => {\n\thandleSelect({ event, props });\n};\n\nconst handleKeyDown = (event, props) => {\n\tmapKeyEventCallbacks(event, {\n\t\tcallbacks: {\n\t\t\t[KEYS.DOWN]: { callback: (evt) => handleKeyDownDown(evt, props) },\n\t\t\t[KEYS.UP]: { callback: (evt) => handleKeyDownUp(evt, props) },\n\t\t\t[KEYS.RIGHT]: { callback: (evt) => handleKeyDownRight(evt, props) },\n\t\t\t[KEYS.LEFT]: { callback: (evt) => handleKeyDownLeft(evt, props) },\n\t\t\t[KEYS.ENTER]: { callback: (evt) => handleKeyDownEnter(evt, props) },\n\t\t},\n\t});\n};\n\nconst handleFocus = (event, props) => {\n\tif (\n\t\t!props.treeHasFocus &&\n\t\t!props.focusedNodeIndex &&\n\t\tevent.target === event.currentTarget\n\t) {\n\t\t// did it happen by mouse?\n\t\thandleSelect({ event, props, fromFocus: true });\n\t}\n};\n\nconst getTabIndex = (props) => {\n\tconst initialFocus =\n\t\tprops.selectedNodeIndexes.length === 0 &&\n\t\tprops.treeIndex === props.flattenedNodes[0].treeIndex;\n\treturn props.treeIndex === props.focusedNodeIndex || initialFocus ? 0 : -1;\n};\n\n// Most of these props come from the nodes array, not from the Tree props\nconst RenderBranch = (children, props) => {\n\tconst isExpanded = props.node.expanded;\n\tconst isSelected = props.node.selected;\n\tconst isFocused = props.treeIndex === props.focusedNodeIndex;\n\tconst isLoading = props.node.loading;\n\n\tconst loader = (\n\t\t<div\n\t\t\tstyle={{\n\t\t\t\tdisplay: 'block',\n\t\t\t\tpaddingLeft: `${1.5 * props.level + 1.5}rem`,\n\t\t\t\tmarginTop: '.5rem',\n\t\t\t}}\n\t\t>\n\t\t\t<div\n\t\t\t\tstyle={{\n\t\t\t\t\tborderRadius: '15rem',\n\t\t\t\t\tdisplay: 'block',\n\t\t\t\t\tmarginBottom: '.75rem',\n\t\t\t\t\theight: '.5rem',\n\t\t\t\t\tbackgroundColor: 'rgb(224, 229, 238)',\n\t\t\t\t\twidth: '40%',\n\t\t\t\t}}\n\t\t\t/>\n\t\t\t<div\n\t\t\t\tstyle={{\n\t\t\t\t\tborderRadius: '15rem',\n\t\t\t\t\tdisplay: 'block',\n\t\t\t\t\tmarginBottom: '.75rem',\n\t\t\t\t\theight: '.5rem',\n\t\t\t\t\tbackgroundColor: 'rgb(224, 229, 238)',\n\t\t\t\t\twidth: '80%',\n\t\t\t\t}}\n\t\t\t/>\n\t\t\t<div\n\t\t\t\tstyle={{\n\t\t\t\t\tborderRadius: '15rem',\n\t\t\t\t\tdisplay: 'block',\n\t\t\t\t\tmarginBottom: '.75rem',\n\t\t\t\t\theight: '.5rem',\n\t\t\t\t\tbackgroundColor: 'rgb(224, 229, 238)',\n\t\t\t\t\twidth: '60%',\n\t\t\t\t}}\n\t\t\t/>\n\t\t</div>\n\t);\n\n\tconst label =\n\t\tprops.node.assistiveText ||\n\t\t(typeof props.node.label === 'string' ? props.node.label : null);\n\treturn (\n\t\t<li\n\t\t\tid={props.htmlId}\n\t\t\trole=\"treeitem\"\n\t\t\taria-level={props.level}\n\t\t\taria-expanded={isExpanded ? 'true' : 'false'}\n\t\t\taria-label={\n\t\t\t\tprops.node.nodes && props.node.nodes.length > 0 ? label : null\n\t\t\t}\n\t\t\ttabIndex={getTabIndex(props)}\n\t\t\tonKeyDown={(event) => handleKeyDown(event, props)}\n\t\t\tonFocus={(event) => handleFocus(event, props)}\n\t\t\tonBlur={props.onNodeBlur}\n\t\t\tref={(component) => {\n\t\t\t\tif (props.treeHasFocus && component && isFocused) {\n\t\t\t\t\tcomponent.focus();\n\t\t\t\t}\n\t\t\t}}\n\t\t>\n\t\t\t{/* eslint-disable jsx-a11y/no-static-element-interactions */}\n\t\t\t<div\n\t\t\t\tclassName={classNames('slds-tree__item', {\n\t\t\t\t\t'slds-is-selected': isSelected,\n\t\t\t\t})}\n\t\t\t\tonClick={(event) => {\n\t\t\t\t\thandleSelect({ event, props });\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\t{/* eslint-enable jsx-a11y/no-static-element-interactions */}\n\t\t\t\t<Button\n\t\t\t\t\taria-hidden\n\t\t\t\t\tassistiveText={{ icon: 'Expand Tree Branch' }}\n\t\t\t\t\ticonCategory=\"utility\"\n\t\t\t\t\ticonName=\"chevronright\"\n\t\t\t\t\ticonSize=\"small\"\n\t\t\t\t\tvariant=\"icon\"\n\t\t\t\t\tclassName=\"slds-m-right_small\"\n\t\t\t\t\trole=\"presentation\"\n\t\t\t\t\taria-controls={props.htmlId}\n\t\t\t\t\tonClick={(event) => {\n\t\t\t\t\t\thandleExpand(event, props);\n\t\t\t\t\t}}\n\t\t\t\t\ttabIndex=\"-1\"\n\t\t\t\t/>\n\t\t\t\t{/* eslint-disable no-script-url */}\n\t\t\t\t<span className=\"slds-size_1-of-1\" id={`${props.htmlId}__label`}>\n\t\t\t\t\t{/* eslint-enable no-script-url */}\n\t\t\t\t\t{\n\t\t\t\t\t\t<Highlighter\n\t\t\t\t\t\t\tsearch={props.searchTerm}\n\t\t\t\t\t\t\tclassName=\"slds-tree__item-label slds-truncate\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{props.label}\n\t\t\t\t\t\t</Highlighter>\n\t\t\t\t\t}\n\t\t\t\t</span>\n\t\t\t</div>\n\t\t\t{isLoading ? loader : null}\n\t\t\t<ul\n\t\t\t\tclassName={classNames({\n\t\t\t\t\t'slds-is-expanded': isExpanded,\n\t\t\t\t\t'slds-is-collapsed': !isExpanded,\n\t\t\t\t})}\n\t\t\t\trole=\"group\"\n\t\t\t\taria-labelledby={`${props.htmlId}__label`}\n\t\t\t>\n\t\t\t\t{isExpanded && !isLoading ? children : null}\n\t\t\t</ul>\n\t\t</li>\n\t);\n};\n\nRenderBranch.displayName = 'Branch';\nRenderBranch.propTypes = propTypes;\n\nexport default RenderBranch;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// # Tree Branch Component\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport shortid from 'shortid';\n\n// Child components\nimport Item from './item';\nimport RenderInitialBranch from './render-initial-branch';\nimport RenderBranch from './render-branch';\n\nimport { TREE_BRANCH } from '../../../utilities/constants';\n\n/**\n * A Tree Item is a non-branching node in a hierarchical list.\n */\nconst Branch = (props) => {\n\tlet treeIndex = '';\n\tlet children;\n\n\tconst { treeId, level, onExpand, searchTerm } = props;\n\n\tif (Array.isArray(props.getNodes(props.node))) {\n\t\tchildren = props.getNodes(props.node).map((node, index) => {\n\t\t\tlet child;\n\t\t\tconst htmlId = `${props.treeId}-${node.id}`;\n\t\t\ttreeIndex = `${index}`;\n\t\t\tif (props.treeIndex) {\n\t\t\t\ttreeIndex = `${props.treeIndex}-${treeIndex}`;\n\t\t\t}\n\t\t\tif (node.type === 'branch') {\n\t\t\t\tchild = (\n\t\t\t\t\t<Branch\n\t\t\t\t\t\tgetNodes={props.getNodes}\n\t\t\t\t\t\thtmlId={htmlId}\n\t\t\t\t\t\tkey={node.id}\n\t\t\t\t\t\tlabel={node.label}\n\t\t\t\t\t\tlevel={level + 1}\n\t\t\t\t\t\tnode={node}\n\t\t\t\t\t\tflattenedNodes={props.flattenedNodes}\n\t\t\t\t\t\tselectedNodeIndexes={props.selectedNodeIndexes}\n\t\t\t\t\t\tfocusedNodeIndex={props.focusedNodeIndex}\n\t\t\t\t\t\ttreeHasFocus={props.treeHasFocus}\n\t\t\t\t\t\tonNodeBlur={props.onNodeBlur}\n\t\t\t\t\t\tnodes={node.nodes}\n\t\t\t\t\t\tonSelect={props.onSelect}\n\t\t\t\t\t\tonExpand={onExpand}\n\t\t\t\t\t\tsearchTerm={searchTerm}\n\t\t\t\t\t\ttreeId={treeId}\n\t\t\t\t\t\ttreeIndex={treeIndex}\n\t\t\t\t\t\tparent={props.node}\n\t\t\t\t\t/>\n\t\t\t\t);\n\t\t\t} else {\n\t\t\t\tchild = (\n\t\t\t\t\t<Item\n\t\t\t\t\t\tlabel={node.label}\n\t\t\t\t\t\thtmlId={htmlId}\n\t\t\t\t\t\tkey={shortid.generate()}\n\t\t\t\t\t\tlevel={level + 1}\n\t\t\t\t\t\tnode={node}\n\t\t\t\t\t\tflattenedNodes={props.flattenedNodes}\n\t\t\t\t\t\tselectedNodeIndexes={props.selectedNodeIndexes}\n\t\t\t\t\t\tfocusedNodeIndex={props.focusedNodeIndex}\n\t\t\t\t\t\ttreeHasFocus={props.treeHasFocus}\n\t\t\t\t\t\tonNodeBlur={props.onNodeBlur}\n\t\t\t\t\t\tonSelect={props.onSelect}\n\t\t\t\t\t\tonExpand={onExpand}\n\t\t\t\t\t\tsearchTerm={searchTerm}\n\t\t\t\t\t\ttreeIndex={treeIndex}\n\t\t\t\t\t\ttreeId={treeId}\n\t\t\t\t\t\tparent={props.node}\n\t\t\t\t\t/>\n\t\t\t\t);\n\t\t\t}\n\t\t\treturn child;\n\t\t});\n\t}\n\n\tconst branch =\n\t\tprops.level === 0\n\t\t\t? RenderInitialBranch(children, props)\n\t\t\t: RenderBranch(children, props);\n\treturn branch;\n};\n\n// ### Display Name\n// Always use the canonical component name as the React display name.\nBranch.displayName = TREE_BRANCH;\n\n// ### Prop Types\nBranch.propTypes = {\n\t/**\n\t * A function that will be called by every branch to receive its child nodes. The parent `node` object with the branch data is passed into this function: `getNodes(node)`. If your state engine is Flux or Redux, then your tree data structure will probably be flattened or normalized within the store. This will allow you to build out your tree without transversing an actual tree of data and may be more performant.\n\t */\n\tgetNodes: PropTypes.func,\n\t/**\n\t * HTML `id` of the wrapping container element joined with the `id` of the node. This will recursively increase as the tree depth increases.\n\t */\n\thtmlId: PropTypes.oneOfType([PropTypes.number, PropTypes.string]).isRequired,\n\t/**\n\t * All tree nodes must have a unique HTML `id` for users of assistive technology. If no `id` key is present in the is provided, one will be generated.\n\t */\n\tindex: PropTypes.number,\n\t/**\n\t * Determines if nodes in the top-level of the tree.\n\t */\n\tinitial: PropTypes.bool,\n\t/*\n\t * Class names to be added to the top-level `ul` element.\n\t */\n\tinitalClassName: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\tinitialStyle: PropTypes.object,\n\t/**\n\t * The text of the tree item.\n\t */\n\tlabel: PropTypes.oneOfType([PropTypes.node, PropTypes.string]),\n\t/**\n\t * The number of nestings. Determines the ARIA level and style alignment.\n\t */\n\tlevel: PropTypes.number.isRequired,\n\t/**\n\t * The current node that is being rendered.\n\t */\n\tnode: PropTypes.object.isRequired,\n\t/**\n\t * Function that will run whenever an item or branch is selected (click or keyboard).\n\t */\n\tonSelect: PropTypes.func,\n\t/**\n\t * This function triggers when the expand or collapse icon is clicked.\n\t */\n\tonExpand: PropTypes.func.isRequired,\n\t/**\n\t * Highlights term if found in node label\n\t */\n\tsearchTerm: PropTypes.string,\n\t/**\n\t * Unique id used for a prefix of all tree nodes. This is the prefix for subsequent `htmlId` props.\n\t */\n\ttreeId: PropTypes.string,\n\t/**\n\t * Location of node (zero index). First node is `0`. It's first child is `0-0`. This can be used to modify your nodes without searching for the node. This index is only valid if the `nodes` prop is the same as at the time of the event.\n\t */\n\ttreeIndex: PropTypes.string,\n\t/**\n\t * Flattened tree structure.\n\t */\n\tflattenedNodes: PropTypes.arrayOf(PropTypes.object),\n\t/**\n\t * Tree indexes of nodes that are currently selected.\n\t */\n\tselectedNodeIndexes: PropTypes.arrayOf(PropTypes.string),\n\t/**\n\t * Tree index of the node that is currently focused.\n\t */\n\tfocusedNodeIndex: PropTypes.string,\n\t/**\n\t * Callback for when a node is blurred.\n\t */\n\tonNodeBlur: PropTypes.func,\n\t/**\n\t * Sets focus on render.\n\t */\n\ttreeHasFocus: PropTypes.bool,\n\t/**\n\t * This node's parent.\n\t */\n\tparent: PropTypes.object,\n};\n\nBranch.defaultProps = {\n\tlevel: 0,\n\tlabel: '',\n\ttreeIndex: '',\n\tselectedNodeIndexes: [],\n};\n\nexport default Branch;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n/* eslint-disable import/no-mutable-exports */\n\nimport oneOfRequiredProperty from '../../utilities/warning/one-of-required-property';\nimport sunsetProperty from '../../utilities/warning/sunset-property';\nimport getComponentDocFn from '../../utilities/get-component-doc';\n\nlet checkProps = function checkPropsFunction() {};\n\nif (process.env.NODE_ENV !== 'production') {\n\tcheckProps = function checkPropsFunction(COMPONENT, props, jsonDoc) {\n\t\tconst createDocUrl = getComponentDocFn(jsonDoc);\n\n\t\t/* eslint-disable max-len */\n\t\toneOfRequiredProperty(\n\t\t\tCOMPONENT,\n\t\t\t{\n\t\t\t\tassistiveText: props.assistiveText,\n\t\t\t\theading: props.heading,\n\t\t\t},\n\t\t\tcreateDocUrl()\n\t\t);\n\t\t/* eslint-enable max-len */\n\n\t\tif (typeof props.assistiveText === 'string') {\n\t\t\tsunsetProperty(\n\t\t\t\tCOMPONENT,\n\t\t\t\tprops.assistiveText,\n\t\t\t\t'assistiveText',\n\t\t\t\t`\\`assistiveText\\` as a string has been deprecated and is now an object to allow for multiple uses in the component. Please use \\`assistiveText.label\\` instead. ${createDocUrl(\n\t\t\t\t\t'assistiveText'\n\t\t\t\t)}`\n\t\t\t);\n\t\t}\n\t};\n}\n\nexport default checkProps;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\nimport classNames from 'classnames';\n\nimport find from 'lodash.find';\n\n// Child components\nimport Branch from './private/branch';\n\n// Similar to React's PropTypes check. When in development mode, it issues errors in the console about properties.\nimport checkProps from './check-props';\nimport componentDoc from './component.json';\n\n// ## Constants\nimport { TREE } from '../../utilities/constants';\n\n// ### Prop Types\nconst propTypes = {\n\t/**\n\t * **Assistive text for accessibility.**\n\t * This object is merged with the default props object on every render.\n\t * * `label`: For users of assistive technology, if set the heading will be hidden. One of `heading` or `assistiveText.label` must be set in order to label the tree.\n\t */\n\tassistiveText: PropTypes.shape({\n\t\tlabel: PropTypes.string,\n\t}),\n\t/**\n\t * Class names to be added to the container element which has the heading and the `ul.slds-tree` element as children.\n\t */\n\tclassName: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\t/**\n\t * Class names to be added to the top-level `ul` element of the tree.\n\t */\n\tlistClassName: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\t/**\n\t * A function that will be called by every branch to receive its child nodes. The parent `node` object with the branch data is passed into this function: `getNodes(node)`. If your state engine is Flux or Redux, then your tree data structure will probably be flattened or normalized within the store. This will allow you to build out your tree without transversing an actual tree of data and may be more performant.\n\t */\n\tgetNodes: PropTypes.func,\n\t/**\n\t * This is the tree's heading and describes its contents. It can be hidden, see `assistiveText`.\n\t * */\n\theading: PropTypes.oneOfType([PropTypes.node, PropTypes.string]),\n\t/**\n\t * HTML `id` of primary element that has `.slds-tree` on it. This component has a wrapping container element outside of `.slds-tree`.\n\t */\n\tid: PropTypes.string.isRequired,\n\t/**\n\t * Array of items starting at the top of the tree. The shape each node in the array is:\n\t * ```\n\t * {\n\t * expanded: boolean,\n\t * id: string,\n\t * label: string or node,\n\t * selected: boolean,\n\t * type: string,\n\t * nodes: array\n\t * }\n\t * ```\n\t * `assistiveText: string` is optional and helpful if the label is not a string. Only `id` and `label` are required. Use `type: 'branch'` for folder and categories.\n\t */\n\tnodes: PropTypes.arrayOf(\n\t\tPropTypes.oneOfType([\n\t\t\tPropTypes.number,\n\t\t\tPropTypes.string,\n\t\t\tPropTypes.shape({\n\t\t\t\tid: PropTypes.oneOfType([PropTypes.number, PropTypes.string])\n\t\t\t\t\t.isRequired,\n\t\t\t\tlabel: PropTypes.oneOfType([PropTypes.node, PropTypes.string])\n\t\t\t\t\t.isRequired,\n\t\t\t\ttype: PropTypes.string.isRequired,\n\t\t\t}),\n\t\t])\n\t).isRequired,\n\t/**\n\t * Function that will run whenever an item or branch is selected due to click or keyboard navigation.\n\t */\n\tonClick: PropTypes.func.isRequired,\n\t/**\n\t * This function triggers when the expand or collapse icon is clicked or due to keyboard navigation.\n\t */\n\tonExpandClick: PropTypes.func.isRequired,\n\t/**\n\t * This function triggers when the top-level `ul` element scrolls. This can be used to implement an \"infinite scroll\" pattern and update the `nodes` prop accordingly.\n\t */\n\tonScroll: PropTypes.func,\n\t/**\n\t * Highlights term if found in node label. This does not auto-expand branches.\n\t */\n\tsearchTerm: PropTypes.string,\n\t/**\n\t * Styles to be added to the top-level `ul` element. Useful for `overflow:hidden`.\n\t */\n\tlistStyle: PropTypes.object,\n};\n\nconst defaultProps = {\n\tassistiveText: {},\n\tgetNodes: (node) => node.nodes,\n};\n\n/* Flattens hierarchical tree structure into a flat array. The\n * first item in the array is the whole tree and therefore should be\n * removed with `slice(1)`.` This means that root cannot call `getNodes()`\n * and should directly reference the `nodes` key. All level after that\n * should use `getNodes()` to access the correct nodes.\n */\nconst flattenTree = (root, getNodes, treeIndex = '', firstLevel = true) => {\n\tif (!root.nodes) {\n\t\treturn [{ node: root, treeIndex }];\n\t}\n\tlet nodes = [{ node: root, treeIndex }];\n\tif (root.expanded) {\n\t\t// eslint-disable-next-line fp/no-loops\n\t\tfor (let index = 0; index < root.nodes.length; index += 1) {\n\t\t\tconst curNode = firstLevel ? root.nodes[index] : getNodes(root)[index];\n\t\t\tnodes = nodes.concat(\n\t\t\t\tflattenTree(\n\t\t\t\t\tcurNode,\n\t\t\t\t\tgetNodes,\n\t\t\t\t\ttreeIndex ? `${treeIndex}-${index}` : `${index}`,\n\t\t\t\t\tfalse\n\t\t\t\t)\n\t\t\t);\n\t\t}\n\t}\n\treturn nodes;\n};\n\n/**\n * A tree is visualization of a structure hierarchy. A branch can be expanded or collapsed. This is a controlled component, since visual state is present in the `nodes` data.\n */\nclass Tree extends React.Component {\n\tconstructor(props) {\n\t\tsuper(props);\n\n\t\t// Find the first selected node and initialize it properly so that can be tabbed to. If no node is selected, it will be selected upon first focus.\n\t\tconst flattenedNodes = flattenTree(\n\t\t\t{\n\t\t\t\tnodes: this.props.getNodes({ nodes: this.props.nodes }),\n\t\t\t\texpanded: true,\n\t\t\t},\n\t\t\tthis.props.getNodes\n\t\t).slice(1);\n\n\t\tconst selectedNode = find(\n\t\t\tflattenedNodes,\n\t\t\t(curNode) => curNode.node.selected\n\t\t);\n\t\tconst selectedNodeIndexes = [];\n\t\tlet focusedNodeIndex;\n\n\t\tif (selectedNode) {\n\t\t\t// eslint-disable-next-line fp/no-mutating-methods\n\t\t\tselectedNodeIndexes.push(selectedNode.treeIndex);\n\t\t\tfocusedNodeIndex = selectedNode.treeIndex;\n\t\t}\n\n\t\tthis.state = {\n\t\t\tflattenedNodes,\n\t\t\tselectedNodeIndexes,\n\t\t\tfocusedNodeIndex,\n\t\t};\n\n\t\tcheckProps(TREE, props, componentDoc);\n\t}\n\n\tstatic getDerivedStateFromProps(nextProps) {\n\t\treturn {\n\t\t\tflattenedNodes: flattenTree(\n\t\t\t\t{\n\t\t\t\t\tnodes: nextProps.getNodes({ nodes: nextProps.nodes }),\n\t\t\t\t\texpanded: true,\n\t\t\t\t},\n\t\t\t\tnextProps.getNodes\n\t\t\t).slice(1),\n\t\t};\n\t}\n\n\thandleSelect = ({ event, data, clearSelectedNodes, fromFocus }) => {\n\t\t// When triggered by a key event, other nodes should be deselected.\n\t\tif (clearSelectedNodes) {\n\t\t\t// TODO: This bad design. This is state modfication. State should be changed via setState only.\n\t\t\tthis.state.flattenedNodes.forEach((flattenedNode) => {\n\t\t\t\tif (flattenedNode.node.selected) {\n\t\t\t\t\t// eslint-disable-next-line no-param-reassign\n\t\t\t\t\tflattenedNode.node.selected = false;\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\n\t\t// Prevent firing twice on first click, due to the handleSelect\n\t\t// triggered by a focus event\n\t\tif (!fromFocus) {\n\t\t\tthis.props.onClick(event, data);\n\t\t}\n\n\t\t// Keep track of the currently selected and focused nodes.\n\t\tlet selectedNodeIndexes;\n\t\tif (data.select) {\n\t\t\tselectedNodeIndexes = this.state.selectedNodeIndexes.concat([\n\t\t\t\tdata.treeIndex,\n\t\t\t]);\n\t\t} else {\n\t\t\tselectedNodeIndexes = this.state.selectedNodeIndexes.filter(\n\t\t\t\t(treeIndex) => treeIndex !== data.treeIndex\n\t\t\t);\n\t\t}\n\t\tthis.treeHasFocus = true;\n\t\tthis.setState({\n\t\t\tfocusedNodeIndex: data.treeIndex,\n\t\t\tselectedNodeIndexes,\n\t\t});\n\t};\n\n\thandleNodeBlur = () => {\n\t\t// There is no need to render when blurring a node because focus is either:\n\t\t// - outside of the tree, or\n\t\t// - focused on another node in the tree, which triggers its own render\n\t\tthis.treeHasFocus = false;\n\t};\n\n\thandleExpand = ({ event, data }) => {\n\t\tthis.treeHasFocus = true;\n\t\tthis.props.onExpandClick(event, data);\n\n\t\tif (data.select) {\n\t\t\tthis.setState({\n\t\t\t\tfocusedNodeIndex: data.treeIndex,\n\t\t\t});\n\t\t}\n\t};\n\n\trender() {\n\t\t// One of these is required to pass accessibility tests\n\t\tconst assistiveText =\n\t\t\ttypeof this.props.assistiveText === 'string'\n\t\t\t\t? this.props.assistiveText\n\t\t\t\t: {\n\t\t\t\t\t\t...defaultProps.assistiveText,\n\t\t\t\t\t\t...this.props.assistiveText,\n\t\t\t\t }.label;\n\t\tconst headingText = assistiveText || this.props.heading;\n\n\t\t// Start the zero level branch--that is the tree root. There is no label for\n\t\t// the tree root, but is required by all other nodes\n\t\treturn (\n\t\t\t<div\n\t\t\t\tid={this.props.id}\n\t\t\t\tclassName={classNames(\n\t\t\t\t\t'slds-tree_container',\n\t\t\t\t\tthis.props.className\n\t\t\t\t)} /* role=\"application\" */\n\t\t\t>\n\t\t\t\t<h4\n\t\t\t\t\tclassName={classNames('slds-tree__group-header', {\n\t\t\t\t\t\t'slds-assistive-text': assistiveText,\n\t\t\t\t\t})}\n\t\t\t\t\tid={`${this.props.id}__heading`}\n\t\t\t\t>\n\t\t\t\t\t{headingText}\n\t\t\t\t</h4>\n\t\t\t\t<Branch\n\t\t\t\t\tgetNodes={this.props.getNodes}\n\t\t\t\t\tinitalClassName={this.props.listClassName}\n\t\t\t\t\thtmlId={this.props.id}\n\t\t\t\t\tinitialStyle={this.props.listStyle}\n\t\t\t\t\tlevel={0}\n\t\t\t\t\tnode={{ nodes: this.props.nodes }}\n\t\t\t\t\tflattenedNodes={this.state.flattenedNodes}\n\t\t\t\t\tselectedNodeIndexes={this.state.selectedNodeIndexes}\n\t\t\t\t\tfocusedNodeIndex={this.state.focusedNodeIndex}\n\t\t\t\t\ttreeHasFocus={this.treeHasFocus}\n\t\t\t\t\tonNodeBlur={this.handleNodeBlur}\n\t\t\t\t\tonSelect={this.handleSelect}\n\t\t\t\t\tonExpand={this.handleExpand}\n\t\t\t\t\tonScroll={this.props.onScroll}\n\t\t\t\t\tsearchTerm={this.props.searchTerm}\n\t\t\t\t\ttreeId={this.props.id}\n\t\t\t\t/>\n\t\t\t</div>\n\t\t);\n\t}\n}\n\nTree.displayName = TREE;\nTree.propTypes = propTypes;\nTree.defaultProps = defaultProps;\n\nexport default Tree;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// Implements the [Trial Bar design pattern](https://lightningdesignsystem.com/components/trial-bar/) in React.\n// Based on SLDS v2.4.5\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\n\nimport assign from 'lodash.assign';\n\nimport { TRIAL_BAR } from '../../utilities/constants';\n\nconst propTypes = {\n\t/**\n\t * Provide children of the types `<TrialBarButton />` or `<TrialBarDropdown />` to define the structure of the trial bar.\n\t * ```\n\t * <TrialBar>\n\t * <TrialBarButton />\n\t * <TrialBarDropdown />\n\t * </TrialBar>\n\t * ```\n\t */\n\tchildren: PropTypes.node,\n\n\t/**\n\t * CSS classes to be added to the component. Uses `classNames` [API](https://github.com/JedWatson/classnames).\n\t */\n\tclassName: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\t/**\n\t * **Text labels for internationalization**\n\t * This object is merged with the default props object on every render.\n\t * * `learnMoreAfter`: Amount of time left in trial, e.g. `30`\n\t * * `learnMoreBefore`: Unit of the amount of time left, e.g. `days`\n\t * * `timeLeftUnitAfter`: String after `timeLeftUnit`\n\t */\n\tlabels: PropTypes.shape({\n\t\ttimeLeft: PropTypes.string,\n\t\ttimeLeftUnit: PropTypes.string,\n\t\ttimeLeftUnitAfter: PropTypes.string,\n\t}),\n\t/**\n\t * Renders the actions section of the trial bar.\n\t */\n\tonRenderActions: PropTypes.func,\n\t/**\n\t * Customs styles to be applied to the component.\n\t */\n\tstyle: PropTypes.object,\n};\n\nconst defaultProps = {\n\tlabels: {\n\t\ttimeLeftUnitAfter: 'left in trial',\n\t},\n};\n\n/**\n * Trial bar components are used to provide an interactive and educational prospect experience for setup.\n */\nconst TrialBar = (props) => {\n\tconst labels = assign({}, defaultProps.labels, props.labels);\n\treturn (\n\t\t<div\n\t\t\tclassName={classNames('slds-trial-header slds-grid', props.className)}\n\t\t\tstyle={props.style}\n\t\t>\n\t\t\t<div className=\"slds-grid\">{props.children}</div>\n\t\t\t<div className=\"slds-grid slds-grid_vertical-align-center slds-col_bump-left\">\n\t\t\t\t<span className=\"slds-box slds-box_xx-small slds-theme_default\">\n\t\t\t\t\t{labels.timeLeft}\n\t\t\t\t</span>\n\t\t\t\t<span className=\"slds-m-horizontal_x-small\">\n\t\t\t\t\t{labels.timeLeftUnit}\n\t\t\t\t\t{` ${labels.timeLeftUnitAfter}`}\n\t\t\t\t</span>\n\t\t\t\t{props.onRenderActions()}\n\t\t\t</div>\n\t\t</div>\n\t);\n};\n\nTrialBar.displayName = TRIAL_BAR;\nTrialBar.propTypes = propTypes;\nTrialBar.defaultProps = defaultProps;\n\nexport default TrialBar;\n","import React from 'react';\nimport Button from '../button';\nimport { TRIAL_BAR_BUTTON } from '../../utilities/constants';\n\n// This component accepts the same props as Button.\n// eslint-disable-next-line react/forbid-foreign-prop-types\nconst { propTypes } = Button;\n\n/**\n * A [Button](/components/buttons/) within the Trial Bar.\n */\nconst TrialBarButton = (props) => (\n\t<Button\n\t\t{...props}\n\t\tinverse\n\t\tstyle={{ border: 0, padding: 0 }}\n\t\tclassName=\"slds-m-right_small\"\n\t/>\n);\n\nTrialBarButton.propTypes = propTypes;\nTrialBarButton.displayName = TRIAL_BAR_BUTTON;\n\nexport default TrialBarButton;\n","import React from 'react';\n\nimport Dropdown from '../menu-dropdown';\nimport DropdownTrigger from '../menu-dropdown/button-trigger';\nimport MenuDropdown from '../menu-dropdown/menu-dropdown';\nimport Button from '../button';\n\nimport { TRIAL_BAR_DROPDOWN } from '../../utilities/constants';\n\n// This component accepts the same props as MenuDropdown.\n// eslint-disable-next-line react/forbid-foreign-prop-types\nconst { propTypes } = MenuDropdown;\n\n/**\n * A [Dropdown](/components/menu-dropdowns/) within the Trial Bar.\n */\nconst TrialBarDropdown = (props) => {\n\tconst { label, ...rest } = props;\n\treturn (\n\t\t<Dropdown {...rest} inverse>\n\t\t\t<DropdownTrigger triggerClassName=\"slds-grid\">\n\t\t\t\t<Button\n\t\t\t\t\tinverse\n\t\t\t\t\tstyle={{ border: 0, height: '100%', padding: 0 }}\n\t\t\t\t\ticonCategory=\"utility\"\n\t\t\t\t\ticonName=\"right\"\n\t\t\t\t\ticonPosition=\"left\"\n\t\t\t\t\tlabel={label}\n\t\t\t\t/>\n\t\t\t</DropdownTrigger>\n\t\t</Dropdown>\n\t);\n};\n\nTrialBarDropdown.propTypes = propTypes;\nTrialBarDropdown.displayName = TRIAL_BAR_DROPDOWN;\nexport default TrialBarDropdown;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// Implements the [Visual Picker design pattern](https://lightningdesignsystem.com/components/visual-picker/) in React.\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\n\n// ### shortid\n// [npmjs.com/package/shortid](https://www.npmjs.com/package/shortid)\n// shortid is a short, non-sequential, url-friendly, unique id generator\nimport shortid from 'shortid';\nimport { VISUAL_PICKER } from '../../utilities/constants';\n\nconst propTypes = {\n\t/**\n\t * HTML id for component.\n\t */\n\tid: PropTypes.string,\n\t/**\n\t * Visual Picker accepts `Checkbox`, `Radio` and `VisualPickerLink` components as children. Please see `Checkbox`, `Radio` and `VisualPickerLink` for props.\n\t */\n\tchildren: PropTypes.node,\n\t/**\n\t * CSS classes to be added to tag with `.slds-form-element`. Uses `classNames` [API](https://github.com/JedWatson/classnames).\n\t */\n\tclassName: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\t/**\n\t * Label for the visual picker\n\t */\n\tlabel: PropTypes.string,\n\t/**\n\t * Whether the visual picker is coverable on selection\n\t */\n\tcoverable: PropTypes.bool,\n\t/**\n\t * Whether the visual picker has a vertical layout\n\t */\n\tvertical: PropTypes.bool,\n\t/**\n\t * Whether the visual picker has links as children\n\t */\n\tlinks: PropTypes.bool,\n\t/**\n\t * Size for visual picker\n\t */\n\tsize: PropTypes.oneOf(['medium', 'large']),\n};\n\nconst defaultProps = {\n\tsize: 'medium',\n\tvertical: false,\n\tlinks: false,\n};\n\n/**\n * Visual Picker Component\n */\nclass VisualPicker extends React.Component {\n\t// eslint-disable-next-line camelcase\n\tUNSAFE_componentWillMount() {\n\t\tthis.generatedId = shortid.generate();\n\t}\n\n\trender() {\n\t\tconst options = React.Children.map(this.props.children, (option, index) =>\n\t\t\tReact.cloneElement(option, {\n\t\t\t\tindex: `${this.props.id || this.generatedId}-${index}`,\n\t\t\t\tcoverable: this.props.coverable,\n\t\t\t\tvariant: 'visual-picker',\n\t\t\t\tname: `${this.props.id || this.generatedId}_options`,\n\t\t\t\tsize: this.props.size,\n\t\t\t\tvertical: !!this.props.vertical,\n\t\t\t})\n\t\t);\n\n\t\treturn this.props.links ? (\n\t\t\t<div className=\"slds-form-element__control\">{this.props.children}</div>\n\t\t) : (\n\t\t\t<fieldset\n\t\t\t\tid={this.props.id}\n\t\t\t\tclassName={classNames(`slds-form-element`, this.props.className)}\n\t\t\t>\n\t\t\t\t<legend className=\"slds-form-element__legend slds-form-element__label\">\n\t\t\t\t\t{this.props.label}\n\t\t\t\t</legend>\n\t\t\t\t<div className=\"slds-form-element__control\">{options}</div>\n\t\t\t</fieldset>\n\t\t);\n\t}\n}\n\nVisualPicker.displayName = VISUAL_PICKER;\nVisualPicker.propTypes = propTypes;\nVisualPicker.defaultProps = defaultProps;\n\nexport default VisualPicker;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// Implements the [Visual Picker Link design pattern](https://lightningdesignsystem.com/components/visual-picker/) in React.\n// Based on SLDS v2.4.5\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\n\nimport { VISUAL_PICKER_LINK } from '../../utilities/constants';\n\nconst propTypes = {\n\t/**\n\t * HTML id for component.\n\t */\n\tid: PropTypes.string,\n\t/**\n\t * CSS classes to be added to tag with `.slds-form-element`. Uses `classNames` [API](https://github.com/JedWatson/classnames).\n\t */\n\tclassName: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\t/**\n\t * URL for the Link\n\t */\n\thref: PropTypes.string,\n\t/**\n\t * Icon node for the Link\n\t */\n\ticon: PropTypes.node,\n\t/**\n\t * Title for the Link\n\t */\n\ttitle: PropTypes.string,\n\t/**\n\t * Description for the Link\n\t */\n\tdescription: PropTypes.string,\n};\n\n/**\n * Visual Picker Link Component\n */\nclass VisualPickerLink extends React.Component {\n\trender() {\n\t\treturn (\n\t\t\t<a\n\t\t\t\thref={this.props.href}\n\t\t\t\tid={this.props.id}\n\t\t\t\tclassName={classNames(\n\t\t\t\t\t'slds-box',\n\t\t\t\t\t'slds-box_link',\n\t\t\t\t\t'slds-theme_default',\n\t\t\t\t\t'slds-box_x-small',\n\t\t\t\t\t'slds-media',\n\t\t\t\t\t'slds-visual-picker_vertical',\n\t\t\t\t\tthis.props.className\n\t\t\t\t)}\n\t\t\t>\n\t\t\t\t<div className=\"slds-media__figure slds-media__figure_fixed-width slds-align_absolute-center slds-m-left_xx-small\">\n\t\t\t\t\t{this.props.icon}\n\t\t\t\t</div>\n\t\t\t\t<div className=\"slds-media__body slds-border_left slds-p-around_small\">\n\t\t\t\t\t<h2\n\t\t\t\t\t\tclassName=\"slds-truncate slds-text-heading_small\"\n\t\t\t\t\t\ttitle={this.props.title}\n\t\t\t\t\t>\n\t\t\t\t\t\t{this.props.title}\n\t\t\t\t\t</h2>\n\t\t\t\t\t<p className=\"slds-m-top_small\">{this.props.description}</p>\n\t\t\t\t</div>\n\t\t\t</a>\n\t\t);\n\t}\n}\nVisualPickerLink.displayName = VISUAL_PICKER_LINK;\nVisualPickerLink.propTypes = propTypes;\n\nexport default VisualPickerLink;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// Implements the [Welcome Mat design pattern](https://lightningdesignsystem.com/components/welcome-mat/) in React.\n// Based on SLDS v2.4.0\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\n// ### shortid\n// [npmjs.com/package/shortid](https://www.npmjs.com/package/shortid)\n// shortid is a short, non-sequential, url-friendly, unique id generator\nimport shortid from 'shortid';\n\nimport assign from 'lodash.assign';\n\nimport Modal from '../modal';\nimport ProgressBar from '../progress-bar';\n\nimport { WELCOME_MAT } from '../../utilities/constants';\n\nconst displayName = WELCOME_MAT;\n\nconst propTypes = {\n\t/**\n\t * CSS class names to be added to the container element. `array`, `object`, or `string` are accepted.\n\t */\n\tclassName: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\t/**\n\t * HTML id for component.\n\t */\n\tid: PropTypes.string,\n\t/**\n\t * Whether the modal is open\n\t */\n\tisOpen: PropTypes.bool,\n\t/**\n\t * **Weclome Mat labels for internationalization**\n\t * This object is merged with the default props object on every render.\n\t * * `title`: Title for the Welcome Mat\n\t * * `description`: Label for the radio input\n\t * * `unitsCompletedAfter`: Label for the radio input\n\t */\n\tlabels: PropTypes.shape({\n\t\ttitle: PropTypes.string,\n\t\tdescription: PropTypes.string,\n\t\tunitsCompletedAfter: PropTypes.string,\n\t}),\n\t/**\n\t *\tVariant of the WelcomeMat\n\t */\n\tvariant: PropTypes.oneOf([\n\t\t'steps',\n\t\t'info-only',\n\t\t'splash',\n\t\t'trailhead-connected',\n\t]),\n\t/**\n\t * Link to learn more button\n\t */\n\tonRenderInfoActions: PropTypes.func,\n\t/**\n\t * Callback to fire when modal is dismissed\n\t */\n\tonRequestClose: PropTypes.func,\n\t/**\n\t * Accepts a single WelcomeMatInfoBadge component, to be used with the trailhead variant\n\t */\n\tinfoBadge: PropTypes.node,\n\t/**\n\t * Do not show again checkbox for info-only variant\n\t */\n\tdoNotShowAgainCheckbox: PropTypes.node,\n};\n\nconst defaultProps = {\n\tlabels: {\n\t\tunitsCompletedAfter: 'units completed',\n\t},\n\tvariant: 'steps',\n\tisOpen: true,\n};\n\n/**\n * A Welcome Mat provides a series of unordered items a user can click to learn about a thematic topic.\n */\nclass WelcomeMat extends React.Component {\n\tconstructor(props) {\n\t\tsuper(props);\n\t\tthis.state = {\n\t\t\tcompletedSteps: 0,\n\t\t\ttotalSteps: 0,\n\t\t\tprogress: 0,\n\t\t};\n\t}\n\n\t// eslint-disable-next-line camelcase, react/sort-comp\n\tUNSAFE_componentWillMount() {\n\t\tthis.generatedId = shortid.generate();\n\t\tthis.getCount();\n\t}\n\n\t/**\n\t * Get the WelcomeMat's HTML id. Generate a new one if no ID present.\n\t */\n\tgetId() {\n\t\treturn this.props.id || this.generatedId;\n\t}\n\n\tgetCount() {\n\t\tconst totalSteps = React.Children.count(this.props.children);\n\t\tconst completedSteps = React.Children.toArray(this.props.children).filter(\n\t\t\t(c) => c.props.isComplete\n\t\t).length;\n\t\tconst progress = (completedSteps / totalSteps) * 100;\n\t\tthis.setState({\n\t\t\ttotalSteps,\n\t\t\tcompletedSteps,\n\t\t\tprogress,\n\t\t});\n\t}\n\n\trender() {\n\t\tconst labels = assign({}, defaultProps.labels, this.props.labels);\n\t\tconst splash = (\n\t\t\t<div\n\t\t\t\tclassName={classNames(\n\t\t\t\t\t'slds-welcome-mat__info-content',\n\t\t\t\t\tthis.props.className\n\t\t\t\t)}\n\t\t\t\tid={`${this.getId()}-content`}\n\t\t\t>\n\t\t\t\t<h2\n\t\t\t\t\tclassName=\"slds-welcome-mat__info-title\"\n\t\t\t\t\tid={`${this.getId()}-label`}\n\t\t\t\t>\n\t\t\t\t\t{labels.title}\n\t\t\t\t</h2>\n\t\t\t\t<div className=\"slds-welcome-mat__info-description slds-text-longform\">\n\t\t\t\t\t<p>{labels.description}</p>\n\t\t\t\t</div>\n\t\t\t\t{this.props.variant === 'info-only' ||\n\t\t\t\tthis.props.variant === 'splash' ? (\n\t\t\t\t\t<div className=\"slds-welcome-mat__info-actions\">\n\t\t\t\t\t\t{this.props.onRenderInfoActions()\n\t\t\t\t\t\t\t? this.props.onRenderInfoActions()\n\t\t\t\t\t\t\t: null}\n\t\t\t\t\t\t<div className=\"slds-m-top_large\">\n\t\t\t\t\t\t\t{this.props.doNotShowAgainCheckbox\n\t\t\t\t\t\t\t\t? this.props.doNotShowAgainCheckbox\n\t\t\t\t\t\t\t\t: null}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t) : null}\n\t\t\t\t{(this.props.variant === 'steps' ||\n\t\t\t\t\tthis.props.variant === 'trailhead-connected') &&\n\t\t\t\tthis.props.children ? (\n\t\t\t\t\t<React.Fragment>\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tclassName={classNames(\n\t\t\t\t\t\t\t\t'slds-welcome-mat__info-progress',\n\t\t\t\t\t\t\t\tthis.state.completedSteps === this.state.totalSteps\n\t\t\t\t\t\t\t\t\t? 'slds-welcome-mat__info-progress_complete'\n\t\t\t\t\t\t\t\t\t: null\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{this.props.variant === 'trailhead-connected'\n\t\t\t\t\t\t\t\t? React.Children.map(this.props.infoBadge, (child) =>\n\t\t\t\t\t\t\t\t\t\tReact.cloneElement(child, {\n\t\t\t\t\t\t\t\t\t\t\tisComplete:\n\t\t\t\t\t\t\t\t\t\t\t\tthis.state.completedSteps === this.state.totalSteps\n\t\t\t\t\t\t\t\t\t\t\t\t\t? true\n\t\t\t\t\t\t\t\t\t\t\t\t\t: null,\n\t\t\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t\t )\n\t\t\t\t\t\t\t\t: null}\n\t\t\t\t\t\t\t{this.state.completedSteps !== this.state.totalSteps ||\n\t\t\t\t\t\t\tthis.props.variant !== 'trailhead-connected' ? (\n\t\t\t\t\t\t\t\t<React.Fragment>\n\t\t\t\t\t\t\t\t\t{this.props.variant === 'trailhead-connected' ? (\n\t\t\t\t\t\t\t\t\t\t<p>\n\t\t\t\t\t\t\t\t\t\t\t{this.state.completedSteps}\n\t\t\t\t\t\t\t\t\t\t\t{`/`}\n\t\t\t\t\t\t\t\t\t\t\t{this.state.totalSteps}\n\t\t\t\t\t\t\t\t\t\t\t{` ${labels.unitsCompletedAfter}`}\n\t\t\t\t\t\t\t\t\t\t</p>\n\t\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t\t<p>\n\t\t\t\t\t\t\t\t\t\t\t<strong>\n\t\t\t\t\t\t\t\t\t\t\t\t{this.state.completedSteps}\n\t\t\t\t\t\t\t\t\t\t\t\t{`/`}\n\t\t\t\t\t\t\t\t\t\t\t\t{this.state.totalSteps}\n\t\t\t\t\t\t\t\t\t\t\t\t{` ${labels.unitsCompletedAfter}`}\n\t\t\t\t\t\t\t\t\t\t\t</strong>\n\t\t\t\t\t\t\t\t\t\t</p>\n\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t<ProgressBar value={this.state.progress} radius=\"circular\" />\n\t\t\t\t\t\t\t\t</React.Fragment>\n\t\t\t\t\t\t\t) : null}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</React.Fragment>\n\t\t\t\t) : null}\n\t\t\t</div>\n\t\t);\n\n\t\treturn (\n\t\t\t<Modal\n\t\t\t\tassistiveText={{\n\t\t\t\t\tdialogLabelledBy: `${this.getId()}-label`,\n\t\t\t\t}}\n\t\t\t\tisOpen={this.props.isOpen}\n\t\t\t\tonRequestClose={this.props.onRequestClose}\n\t\t\t\tsize=\"small\"\n\t\t\t\tid={`${this.getId()}-modal`}\n\t\t\t>\n\t\t\t\t<div\n\t\t\t\t\tclassName={classNames(\n\t\t\t\t\t\t'slds-welcome-mat',\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t'slds-welcome-mat_info-only': this.props.variant === 'info-only',\n\t\t\t\t\t\t},\n\t\t\t\t\t\tthis.props.children ? null : 'slds-welcome-mat_splash'\n\t\t\t\t\t)}\n\t\t\t\t\tid={this.getId()}\n\t\t\t\t>\n\t\t\t\t\t<div className=\"slds-welcome-mat__content slds-grid\">\n\t\t\t\t\t\t{this.props.children ? (\n\t\t\t\t\t\t\t<React.Fragment>\n\t\t\t\t\t\t\t\t<div className=\"slds-welcome-mat__info slds-size_1-of-2\">\n\t\t\t\t\t\t\t\t\t{splash}\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\tclassName={classNames(\n\t\t\t\t\t\t\t\t\t\t'slds-welcome-mat__tiles',\n\t\t\t\t\t\t\t\t\t\t'slds-size_1-of-2',\n\t\t\t\t\t\t\t\t\t\tthis.props.variant === 'info-only'\n\t\t\t\t\t\t\t\t\t\t\t? 'slds-welcome-mat__tiles_info-only'\n\t\t\t\t\t\t\t\t\t\t\t: null\n\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{React.Children.map(this.props.children, (child) =>\n\t\t\t\t\t\t\t\t\t\tReact.cloneElement(child, {\n\t\t\t\t\t\t\t\t\t\t\tvariant: this.props.variant,\n\t\t\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</React.Fragment>\n\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t<div className=\"slds-welcome-mat__info slds-size_1-of-1\">\n\t\t\t\t\t\t\t\t{splash}\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t)}\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</Modal>\n\t\t);\n\t}\n}\n\nWelcomeMat.displayName = displayName;\nWelcomeMat.propTypes = propTypes;\nWelcomeMat.defaultProps = defaultProps;\n\nexport default WelcomeMat;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// Implements the [Welcome Mat InfoBadge design pattern](https://lightningdesignsystem.com/components/welcome-mat/) in React.\n// Based on SLDS v2.4.0\nimport React from 'react';\nimport PropTypes from 'prop-types';\n// ### shortid\n// [npmjs.com/package/shortid](https://www.npmjs.com/package/shortid)\n// shortid is a short, non-sequential, url-friendly, unique id generator\nimport shortid from 'shortid';\n\nimport Icon from '../icon';\n\nimport { WELCOME_MAT_BADGE } from '../../utilities/constants';\n\nconst displayName = WELCOME_MAT_BADGE;\n\nconst propTypes = {\n\t/**\n\t * **Assistive text for accessibility.**\n\t * * `completed` : For users of assistive technology, assistive text for completed icon.\n\t */\n\tassistiveText: PropTypes.shape({\n\t\tcompleted: PropTypes.string,\n\t}),\n\t/**\n\t * CSS class names to be added to the container element. `array`, `object`, or `string` are accepted.\n\t */\n\tclassName: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\t/**\n\t * HTML id for component.\n\t */\n\tid: PropTypes.string,\n\t/**\n\t * Icon for the tile\n\t */\n\timage: PropTypes.string,\n\t/**\n\t * Whether the trail is completed\n\t */\n\tisComplete: PropTypes.bool,\n\t/**\n\t * Actions to be rendered on completion of the trail\n\t */\n\tonCompleteRenderActions: PropTypes.func,\n};\n\nconst defaultProps = {\n\tisComplete: false,\n\tvariant: 'steps',\n};\n\n/**\n * InfoBadge component item represents a tile in a Welcome Mat\n */\nclass InfoBadge extends React.Component {\n\t// eslint-disable-next-line camelcase, react/sort-comp\n\tUNSAFE_componentWillMount() {\n\t\tthis.generatedId = shortid.generate();\n\t}\n\n\t/**\n\t * Get the Welcome Mat Info Badge's HTML id. Generate a new one if no ID present.\n\t */\n\tgetId() {\n\t\treturn this.props.id || this.generatedId;\n\t}\n\n\tgetCompletedText() {\n\t\treturn this.props.assistiveText && this.props.assistiveText.completed\n\t\t\t? this.props.assistiveText.completed\n\t\t\t: 'Completed';\n\t}\n\n\trender() {\n\t\treturn (\n\t\t\t<div id={this.getId()} className={this.props.className}>\n\t\t\t\t<div className=\"slds-welcome-mat__info-badge-container\">\n\t\t\t\t\t<img\n\t\t\t\t\t\tclassName=\"slds-welcome-mat__info-badge\"\n\t\t\t\t\t\tsrc={this.props.image}\n\t\t\t\t\t\twidth=\"50\"\n\t\t\t\t\t\theight=\"50\"\n\t\t\t\t\t\talt=\"\"\n\t\t\t\t\t/>\n\t\t\t\t\t<Icon\n\t\t\t\t\t\tcategory=\"action\"\n\t\t\t\t\t\tname=\"check\"\n\t\t\t\t\t\tassistiveText={{ label: this.getCompletedText() }}\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t\t{this.props.children}\n\t\t\t\t{this.props.isComplete ? this.props.onCompleteRenderActions() : null}\n\t\t\t</div>\n\t\t);\n\t}\n}\n\nInfoBadge.displayName = displayName;\nInfoBadge.propTypes = propTypes;\nInfoBadge.defaultProps = defaultProps;\n\nexport default InfoBadge;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// Implements the [Welcome Mat Tile design pattern](https://lightningdesignsystem.com/components/welcome-mat/) in React.\n// Based on SLDS v2.4.0\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\n// ### shortid\n// [npmjs.com/package/shortid](https://www.npmjs.com/package/shortid)\n// shortid is a short, non-sequential, url-friendly, unique id generator\nimport shortid from 'shortid';\n\nimport Icon from '../icon';\n\nimport { WELCOME_MAT_TILE } from '../../utilities/constants';\n\nconst displayName = WELCOME_MAT_TILE;\n\nconst propTypes = {\n\t/**\n\t * **Assistive text for accessibility.**\n\t * This object is merged with the default props object on every render.\n\t * * `completeIcon`: Text that is visually hidden but read aloud by screenreaders to tell the user what the complete icon means.\n\t */\n\tassistiveText: PropTypes.shape({\n\t\tcompletedIcon: PropTypes.string,\n\t}),\n\t/**\n\t * CSS class names to be added to the container element. `array`, `object`, or `string` are accepted.\n\t */\n\tclassName: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\t/**\n\t * HTML id for component.\n\t */\n\tid: PropTypes.string,\n\t/**\n\t * Title for the tile component.\n\t */\n\ttitle: PropTypes.string,\n\t/**\n\t * Description for the tile component.\n\t */\n\tdescription: PropTypes.string,\n\t/**\n\t * Href for the tile link\n\t */\n\thref: PropTypes.string,\n\t/**\n\t * Icon for the tile\n\t */\n\ticon: PropTypes.node,\n\t/**\n\t * Whether the tile is completed\n\t */\n\tisComplete: PropTypes.bool,\n\t/**\n\t * Variant of the Welcome Mat Tile\n\t */\n\tvariant: PropTypes.oneOf([\n\t\t'steps',\n\t\t'info-only',\n\t\t'splash',\n\t\t'trailhead-connected',\n\t]),\n};\n\nconst defaultProps = {\n\tassistiveText: {\n\t\tcompletedIcon: 'Completed',\n\t},\n\tisComplete: false,\n\tvariant: 'steps',\n};\n\n/**\n * Tile component item represents a tile in a Welcome Mat\n */\nclass Tile extends React.Component {\n\t// eslint-disable-next-line camelcase, react/sort-comp\n\tUNSAFE_componentWillMount() {\n\t\tthis.generatedId = shortid.generate();\n\t}\n\n\t/**\n\t * Get the Welcome Mat Tile's HTML id. Generate a new one if no ID present.\n\t */\n\tgetId() {\n\t\treturn this.props.id || this.generatedId;\n\t}\n\n\trender() {\n\t\tconst assistiveText = {\n\t\t\t...defaultProps.assistiveText,\n\t\t\t...this.props.assistiveText,\n\t\t};\n\t\tconst body = (\n\t\t\t<React.Fragment>\n\t\t\t\t<div\n\t\t\t\t\tclassName={classNames(\n\t\t\t\t\t\t'slds-media__figure',\n\t\t\t\t\t\t'slds-media__figure_fixed-width',\n\t\t\t\t\t\t'slds-align_absolute-center'\n\t\t\t\t\t)}\n\t\t\t\t>\n\t\t\t\t\t<div className=\"slds-welcome-mat__tile-figure\">\n\t\t\t\t\t\t<div className=\"slds-welcome-mat__tile-icon-container\">\n\t\t\t\t\t\t\t{this.props.icon}\n\t\t\t\t\t\t\t{this.props.isComplete && this.props.variant !== 'info-only' ? (\n\t\t\t\t\t\t\t\t<Icon\n\t\t\t\t\t\t\t\t\tassistiveText={{\n\t\t\t\t\t\t\t\t\t\tlabel: assistiveText.completedIcon,\n\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\tcategory=\"action\"\n\t\t\t\t\t\t\t\t\tname=\"check\"\n\t\t\t\t\t\t\t\t\ttitle={assistiveText.completedIcon}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t) : null}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t\t<div className=\"slds-media__body\">\n\t\t\t\t\t<div className=\"slds-welcome-mat__tile-body\">\n\t\t\t\t\t\t<h3 className=\"slds-welcome-mat__tile-title\">{this.props.title}</h3>\n\t\t\t\t\t\t<p className=\"slds-welcome-mat__tile-description\">\n\t\t\t\t\t\t\t{this.props.description}\n\t\t\t\t\t\t</p>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</React.Fragment>\n\t\t);\n\n\t\treturn (\n\t\t\t<div\n\t\t\t\tid={this.getId()}\n\t\t\t\tclassName={classNames(\n\t\t\t\t\t'slds-welcome-mat__tile',\n\t\t\t\t\tthis.props.variant === 'info-only'\n\t\t\t\t\t\t? 'slds-welcome-mat__tile_info-only'\n\t\t\t\t\t\t: null,\n\t\t\t\t\tthis.props.isComplete && this.props.variant !== 'info-only'\n\t\t\t\t\t\t? 'slds-welcome-mat__tile_complete'\n\t\t\t\t\t\t: null,\n\t\t\t\t\tthis.props.className\n\t\t\t\t)}\n\t\t\t>\n\t\t\t\t{this.props.variant === 'info-only' ? (\n\t\t\t\t\t<div className=\"slds-media\">{body}</div>\n\t\t\t\t) : (\n\t\t\t\t\t<a\n\t\t\t\t\t\thref={this.props.href}\n\t\t\t\t\t\tclassName=\"slds-box slds-box_link slds-media\"\n\t\t\t\t\t>\n\t\t\t\t\t\t{body}\n\t\t\t\t\t</a>\n\t\t\t\t)}\n\t\t\t</div>\n\t\t);\n\t}\n}\n\nTile.displayName = displayName;\nTile.propTypes = propTypes;\nTile.defaultProps = defaultProps;\n\nexport default Tile;\n","/* eslint-disable fp/no-mutating-methods */\n/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n/**\n * This is a UX pattern recommendation for auto-complete search results that can contain multiple subheadings within the results. It inserts a subheading object based on `option.type === subheading.id` directly before a found option object and only inserts the subheading at the first occurence of that type of option.\n */\n\nconst addSubheadings = ({ subheadings, filteredOptions }) => {\n\t// Let's not mutate things we don't own.\n\tconst subheadingsCopy = [...subheadings];\n\tconst sortedOptions = { noSubHeaderType: [] };\n\n\t// populate an object with subheader ID as the keys\n\tsubheadingsCopy.forEach((subH) => {\n\t\tif (subH.id) {\n\t\t\tsortedOptions[subH.id] = [subH];\n\t\t}\n\t});\n\n\t// sort options into arrays using option type\n\t// if option type and subheader ID are equal, add to array, if no option type, add to noSubHeaderType array\n\tfilteredOptions.forEach((option) => {\n\t\tif (sortedOptions[option.type]) {\n\t\t\tsortedOptions[option.type].push(option);\n\t\t} else {\n\t\t\tsortedOptions.noSubHeaderType.push(option);\n\t\t}\n\t});\n\n\t// get object values by dropping keys\n\t// flatten and remove child arrays, so that we have one array\n\t// `...` operates on each array item, not the array\n\treturn [].concat(...Object.values(sortedOptions));\n};\n\nexport default addSubheadings;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n/* eslint-disable no-console */\n\n/**\n * This is a wrapper utility for logging messages to the\n\tuser. This is helpful in using the same examples\n\tfor the documentation site as for the Storybook examples.\n * @param {Function} options.action function that outputs\n * messages to Storybook\n * @param {Event} options.event the browser event\n * @param {String} options.eventName the name of the event\n * @param {Object} options.data callback payload and data object\n * @param {Function} options.customLog Custom logging function. This\n * is helpful for Node debugging and removing console log from tests.\n */\nconst log = ({ action, event, eventName, data, customLog }) => {\n\tif (customLog && event) {\n\t\tcustomLog({ eventName, event, data });\n\t} else if (action && event) {\n\t\t// https://github.com/storybooks/storybook/tree/master/addons/actions\n\t\taction(eventName)(event, data);\n\t} else if (console && console.log) {\n\t\tconsole.log(eventName, event, data);\n\t}\n};\n\nexport default log;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n/* eslint-disable camelcase */\n\nexport Accordion from './accordion';\nexport SLDSAccordion from './accordion';\nexport AccordionPanel from './accordion/panel';\nexport SLDSAccordionPanel from './accordion/panel';\nexport Alert from './alert';\nexport SLDSAlert from './alert';\nexport AlertContainer from './alert/container';\nexport SLDSAlertContainer from './alert/container';\nexport AppLauncher from './app-launcher';\nexport SLDSAppLauncher from './app-launcher';\nexport AppLauncherExpandableSection from './app-launcher/expandable-section';\nexport SLDSAppLauncherExpandableSection from './app-launcher/expandable-section';\nexport AppLauncherLink from './app-launcher/link';\nexport SLDSAppLauncherLink from './app-launcher/link';\nexport AppLauncherTile from './app-launcher/tile';\nexport SLDSAppLauncherTile from './app-launcher/tile';\nexport Avatar from './avatar';\nexport SLDSAvatar from './avatar';\nexport Badge from './badge';\nexport SLDSBadge from './badge';\nexport BrandBand from './brand-band';\nexport SLDSBrandBand from './brand-band';\nexport BreadCrumb from './breadcrumb';\nexport SLDSBreadCrumb from './breadcrumb';\nexport Breadcrumb from './breadcrumb';\nexport SLDSBreadcrumb from './breadcrumb';\nexport BuilderHeader from './builder-header';\nexport SLDSBuilderHeader from './builder-header';\nexport BuilderHeaderMisc from './builder-header/misc';\nexport SLDSBuilderHeaderMisc from './builder-header/misc';\nexport BuilderHeaderNav from './builder-header/nav';\nexport SLDSBuilderHeaderNav from './builder-header/nav';\nexport BuilderHeaderNavDropdown from './builder-header/nav-dropdown';\nexport SLDSBuilderHeaderNavDropdown from './builder-header/nav-dropdown';\nexport BuilderHeaderNavLink from './builder-header/nav-link';\nexport SLDSBuilderHeaderNavLink from './builder-header/nav-link';\nexport BuilderHeaderToolbar from './builder-header/toolbar';\nexport SLDSBuilderHeaderToolbar from './builder-header/toolbar';\nexport Button from './button';\nexport SLDSButton from './button';\nexport ButtonGroup from './button-group';\nexport SLDSButtonGroup from './button-group';\nexport ButtonIcon from './icon/button-icon';\nexport SLDSButtonIcon from './icon/button-icon';\nexport ButtonStateful from './button-stateful';\nexport SLDSButtonStateful from './button-stateful';\nexport Card from './card';\nexport SLDSCard from './card';\nexport CardEmpty from './card/empty';\nexport SLDSCardEmpty from './card/empty';\nexport CardFilter from './card/filter';\nexport SLDSCardFilter from './card/filter';\nexport Carousel from './carousel';\nexport SLDSCarousel from './carousel';\nexport Checkbox from './checkbox';\nexport SLDSCheckbox from './checkbox';\nexport ColorPicker from './color-picker';\nexport SLDSColorPicker from './color-picker';\nexport Combobox from './combobox';\nexport SLDSCombobox from './combobox';\nexport SLDSComboboxFilterAndLimit from './combobox/filter';\nexport DataTable from './data-table';\nexport SLDSDataTable from './data-table';\nexport DataTableCell from './data-table/cell';\nexport SLDSDataTableCell from './data-table/cell';\nexport DataTableColumn from './data-table/column';\nexport SLDSDataTableColumn from './data-table/column';\nexport DataTableHighlightCell from './data-table/highlight-cell';\nexport SLDSDataTableHighlightCell from './data-table/highlight-cell';\nexport DataTableRowActions from './data-table/row-actions';\nexport SLDSDataTableRowActions from './data-table/row-actions';\nexport DatePicker from './date-picker';\nexport SLDSDatePicker from './date-picker';\nexport Datepicker from './date-picker';\nexport SLDSDatepicker from './date-picker';\nexport Dropdown from './menu-dropdown';\nexport DropdownTrigger from './menu-dropdown/button-trigger';\nexport SLDSDropdownTrigger from './menu-dropdown/button-trigger';\nexport DynamicIcon from './dynamic-icon';\nexport SLDSDynamicIcon from './dynamic-icon';\nexport EditDialog from './popover/edit-dialog';\nexport SLDSEditDialog from './popover/edit-dialog';\nexport ExpandableSection from './expandable-section';\nexport SLDSExpandableSection from './expandable-section';\nexport Expression from './expression';\nexport SLDSExpression from './expression';\nexport ExpressionCondition from './expression/condition';\nexport SLDSExpressionCondition from './expression/condition';\nexport ExpressionFormula from './expression/formula';\nexport SLDSExpressionFormula from './expression/formula';\nexport ExpressionGroup from './expression/group';\nexport SLDSExpressionGroup from './expression/group';\nexport File from './files/file';\nexport SLDSFile from './files/file';\nexport Files from './files';\nexport SLDSFiles from './files';\nexport FilesFile from './files/file';\nexport SLDSFilesFile from './files/file';\nexport FilesMoreFiles from './files/more-files';\nexport SLDSFilesMoreFiles from './files/more-files';\nexport Filter from './filter';\nexport SLDSFilter from './filter';\nexport GlobalHeader from './global-header';\nexport SLDSGlobalHeader from './global-header';\nexport GlobalHeaderButton from './global-header/button';\nexport SLDSGlobalHeaderButton from './global-header/button';\nexport GlobalHeaderDropdown from './global-header/dropdown';\nexport SLDSGlobalHeaderDropdown from './global-header/dropdown';\nexport GlobalHeaderFavorites from './global-header/favorites';\nexport SLDSGlobalHeaderFavorites from './global-header/favorites';\nexport GlobalHeaderHelp from './global-header/help';\nexport SLDSGlobalHeaderHelp from './global-header/help';\nexport GlobalHeaderNotifications from './global-header/notifications';\nexport SLDSGlobalHeaderNotifications from './global-header/notifications';\nexport GlobalHeaderProfile from './global-header/profile';\nexport SLDSGlobalHeaderProfile from './global-header/profile';\nexport GlobalHeaderSearch from './global-header/search';\nexport SLDSGlobalHeaderSearch from './global-header/search';\nexport GlobalHeaderSetup from './global-header/setup';\nexport SLDSGlobalHeaderSetup from './global-header/setup';\nexport GlobalHeaderTask from './global-header/task';\nexport SLDSGlobalHeaderTask from './global-header/task';\nexport GlobalNavigationBar from './global-navigation-bar';\nexport SLDSGlobalNavigationBar from './global-navigation-bar';\nexport GlobalNavigationBarButton from './global-navigation-bar/button';\nexport SLDSGlobalNavigationBarButton from './global-navigation-bar/button';\nexport GlobalNavigationBarDropdown from './global-navigation-bar/dropdown';\nexport SLDSGlobalNavigationBarDropdown from './global-navigation-bar/dropdown';\nexport GlobalNavigationBarLabel from './global-navigation-bar/label';\nexport SLDSGlobalNavigationBarLabel from './global-navigation-bar/label';\nexport GlobalNavigationBarLink from './global-navigation-bar/link';\nexport SLDSGlobalNavigationBarLink from './global-navigation-bar/link';\nexport GlobalNavigationBarRegion from './global-navigation-bar/region';\nexport SLDSGlobalNavigationBarRegion from './global-navigation-bar/region';\nexport Icon from './icon';\nexport SLDSIcon from './icon';\nexport IconSettings from './icon-settings';\nexport SLDSIconSettings from './icon-settings';\nexport Illustration from './illustration';\nexport SLDSIllustration from './illustration';\nexport InlineEdit from './forms/input/inline';\nexport SLDSInlineEdit from './forms/input/inline';\nexport Input from './input';\nexport SLDSInput from './input';\nexport InputIcon from './icon/input-icon';\nexport SLDSInputIcon from './icon/input-icon';\nexport InputSearch from './input/search';\nexport SLDSInputSearch from './input/search';\nexport LocationMap from './location-map';\nexport SLDSLocationMap from './location-map';\nexport Lookup from './lookup';\nexport SLDSLookup from './lookup';\nexport LookupDefaultFooter from './lookup/menu/default-footer';\nexport SLDSLookupDefaultFooter from './lookup/menu/default-footer';\nexport LookupDefaultHeader from './lookup/menu/default-header';\nexport SLDSLookupDefaultHeader from './lookup/menu/default-header';\nexport LookupDefaultSectionDivider from './lookup/menu/default-section-divider';\nexport SLDSLookupDefaultSectionDivider from './lookup/menu/default-section-divider';\nexport MediaObject from './media-object';\nexport SLDSMediaObject from './media-object';\nexport MenuDropdown from './menu-dropdown';\nexport SLDSMenuDropdown from './menu-dropdown';\nexport MenuDropdownButtonTrigger from './menu-dropdown/button-trigger';\nexport SLDSMenuDropdownButtonTrigger from './menu-dropdown/button-trigger';\nexport SLDSMenuPicklist from './menu-picklist';\nexport Modal from './modal';\nexport SLDSModal from './modal';\nexport ModalTrigger from './modal/trigger';\nexport SLDSModalTrigger from './modal/trigger';\nexport MoreFiles from './files/more-files';\nexport SLDSMoreFiles from './files/more-files';\nexport Navigation from './vertical-navigation';\nexport SLDSNavigation from './vertical-navigation';\nexport Notification from './notification';\nexport SLDSNotification from './notification';\nexport PageHeader from './page-header';\nexport SLDSPageHeader from './page-header';\nexport PageHeaderControl from './page-header/control';\nexport SLDSPageHeaderControl from './page-header/control';\nexport Panel from './panel';\nexport SLDSPanel from './panel';\nexport PanelFilterGroup from './panel/filtering/group';\nexport SLDSPanelFilterGroup from './panel/filtering/group';\nexport PanelFilterList from './panel/filtering/list';\nexport SLDSPanelFilterList from './panel/filtering/list';\nexport PanelFilterListHeading from './panel/filtering/list-heading';\nexport SLDSPanelFilterListHeading from './panel/filtering/list-heading';\nexport Picklist from './menu-picklist';\nexport Pill from './pill';\nexport SLDSPill from './pill';\nexport PillContainer from './pill-container';\nexport SLDSPillContainer from './pill-container';\nexport Popover from './popover';\nexport SLDSPopover from './popover';\nexport PopoverTooltip from './tooltip';\nexport SLDSPopoverTooltip from './tooltip';\nexport ProgressBar from './progress-bar';\nexport SLDSProgressBar from './progress-bar';\nexport ProgressIndicator from './progress-indicator';\nexport SLDSProgressIndicator from './progress-indicator';\nexport ProgressRing from './progress-ring';\nexport SLDSProgressRing from './progress-ring';\nexport Radio from './radio';\nexport SLDSRadio from './radio';\nexport RadioButtonGroup from './radio-button-group';\nexport SLDSRadioButtonGroup from './radio-button-group';\nexport RadioGroup from './radio-group';\nexport SLDSRadioGroup from './radio-group';\nexport ScopedNotification from './scoped-notification';\nexport SLDSScopedNotification from './scoped-notification';\nexport Search from './input/search';\nexport SLDSSearch from './input/search';\nexport Settings from './settings';\nexport SLDSSettings from './settings';\nexport SetupAssistant from './setup-assistant';\nexport SLDSSetupAssistant from './setup-assistant';\nexport SetupAssistantStep from './setup-assistant/step';\nexport SLDSSetupAssistantStep from './setup-assistant/step';\nexport Slider from './slider';\nexport SLDSSlider from './slider';\nexport Spinner from './spinner';\nexport SLDSSpinner from './spinner';\nexport SplitView from './split-view';\nexport SLDSSplitView from './split-view';\nexport SplitViewHeader from './split-view/header';\nexport SLDSSplitViewHeader from './split-view/header';\nexport SplitViewListbox from './split-view/listbox';\nexport SLDSSplitViewListbox from './split-view/listbox';\nexport Splitview from './split-view';\nexport SLDSSplitview from './split-view';\nexport Tabs from './tabs';\nexport SLDSTabs from './tabs';\nexport TabsPanel from './tabs/panel';\nexport SLDSTabsPanel from './tabs/panel';\nexport Textarea from './textarea';\nexport SLDSTextarea from './textarea';\nexport TimePicker from './time-picker';\nexport SLDSTimePicker from './time-picker';\nexport Timepicker from './time-picker';\nexport SLDSTimepicker from './time-picker';\nexport Toast from './toast';\nexport SLDSToast from './toast';\nexport ToastContainer from './toast/container';\nexport SLDSToastContainer from './toast/container';\nexport Tooltip from './tooltip';\nexport SLDSTooltip from './tooltip';\nexport Tree from './tree';\nexport SLDSTree from './tree';\nexport TrialBar from './trial-bar';\nexport SLDSTrialBar from './trial-bar';\nexport TrialBarButton from './trial-bar/button';\nexport SLDSTrialBarButton from './trial-bar/button';\nexport TrialBarDropdown from './trial-bar/dropdown';\nexport SLDSTrialBarDropdown from './trial-bar/dropdown';\nexport UNSAFE_DirectionSettings from './utilities/UNSAFE_direction';\nexport UtilityIcon from './utilities/utility-icon';\nexport SLDSUtilityIcon from './utilities/utility-icon';\nexport VerticalNavigation from './vertical-navigation';\nexport SLDSVerticalNavigation from './vertical-navigation';\nexport VisualPicker from './visual-picker';\nexport SLDSVisualPicker from './visual-picker';\nexport VisualPickerLink from './visual-picker/link';\nexport SLDSVisualPickerLink from './visual-picker/link';\nexport WelcomeMat from './welcome-mat';\nexport SLDSWelcomeMat from './welcome-mat';\nexport WelcomeMatInfoBadge from './welcome-mat/info-badge';\nexport SLDSWelcomeMatInfoBadge from './welcome-mat/info-badge';\nexport WelcomeMatTile from './welcome-mat/tile';\nexport SLDSWelcomeMatTile from './welcome-mat/tile';\nexport comboboxAddSubheadings from './combobox/add-subheadings';\nexport comboboxFilterAndLimit from './combobox/filter';\nexport log from '../utilities/log';\n"],"sourceRoot":""} \ No newline at end of file diff --git a/design-system-react-components.min.js b/design-system-react-components.min.js new file mode 100644 index 0000000000..b832074a11 --- /dev/null +++ b/design-system-react-components.min.js @@ -0,0 +1,3 @@ +/*! For license information please see design-system-react-components.min.js.LICENSE.txt */ +!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(require("react"),require("react-dom")):"function"==typeof define&&define.amd?define(["react","react-dom"],t):"object"==typeof exports?exports["design-system-react"]=t(require("react"),require("react-dom")):e["design-system-react"]=t(e.React,e.ReactDOM)}(window,(function(e,t){return function(e){var t={};function n(r){if(t[r])return t[r].exports;var o=t[r]={i:r,l:!1,exports:{}};return e[r].call(o.exports,o,o.exports,n),o.l=!0,o.exports}return n.m=e,n.c=t,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)n.d(r,o,function(t){return e[t]}.bind(null,o));return r},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="/",n(n.s=60)}([function(e,t,n){e.exports=n(61)()},function(t,n){t.exports=e},function(e,t,n){var r;!function(){"use strict";var n={}.hasOwnProperty;function o(){for(var e=[],t=0;t<arguments.length;t++){var r=arguments[t];if(r){var a=typeof r;if("string"===a||"number"===a)e.push(r);else if(Array.isArray(r)&&r.length){var i=o.apply(null,r);i&&e.push(i)}else if("object"===a)for(var s in r)n.call(r,s)&&r[s]&&e.push(s)}}return e.join(" ")}e.exports?(o.default=o,e.exports=o):void 0===(r=function(){return o}.apply(t,[]))||(e.exports=r)}()},function(e,t,n){"use strict";e.exports=n(63)},function(e,t){var n=9007199254740991,r="[object Arguments]",o="[object Function]",a="[object GeneratorFunction]",i=/^(?:0|[1-9]\d*)$/;function s(e,t,n){switch(n.length){case 0:return e.call(t);case 1:return e.call(t,n[0]);case 2:return e.call(t,n[0],n[1]);case 3:return e.call(t,n[0],n[1],n[2])}return e.apply(t,n)}var l,c,u=Object.prototype,p=u.hasOwnProperty,f=u.toString,d=u.propertyIsEnumerable,h=(l=Object.keys,c=Object,function(e){return l(c(e))}),m=Math.max,b=!d.call({valueOf:1},"valueOf");function y(e,t){var n=S(e)||function(e){return function(e){return function(e){return!!e&&"object"==typeof e}(e)&&x(e)}(e)&&p.call(e,"callee")&&(!d.call(e,"callee")||f.call(e)==r)}(e)?function(e,t){for(var n=-1,r=Array(e);++n<e;)r[n]=t(n);return r}(e.length,String):[],o=n.length,a=!!o;for(var i in e)!t&&!p.call(e,i)||a&&("length"==i||v(i,o))||n.push(i);return n}function g(e,t,n){var r=e[t];p.call(e,t)&&_(r,n)&&(void 0!==n||t in e)||(e[t]=n)}function v(e,t){return!!(t=null==t?n:t)&&("number"==typeof e||i.test(e))&&e>-1&&e%1==0&&e<t}function O(e){var t=e&&e.constructor;return e===("function"==typeof t&&t.prototype||u)}function _(e,t){return e===t||e!=e&&t!=t}var S=Array.isArray;function x(e){return null!=e&&function(e){return"number"==typeof e&&e>-1&&e%1==0&&e<=n}(e.length)&&!function(e){var t=w(e)?f.call(e):"";return t==o||t==a}(e)}function w(e){var t=typeof e;return!!e&&("object"==t||"function"==t)}var E,j=(E=function(e,t){if(b||O(t)||x(t))!function(e,t,n,r){n||(n={});for(var o=-1,a=t.length;++o<a;){var i=t[o],s=r?r(n[i],e[i],i,n,e):void 0;g(n,i,void 0===s?e[i]:s)}}(t,function(e){return x(e)?y(e):function(e){if(!O(e))return h(e);var t=[];for(var n in Object(e))p.call(e,n)&&"constructor"!=n&&t.push(n);return t}(e)}(t),e);else for(var n in t)p.call(t,n)&&g(e,n,t[n])},function(e,t){return t=m(void 0===t?e.length-1:t,0),function(){for(var n=arguments,r=-1,o=m(n.length-t,0),a=Array(o);++r<o;)a[r]=n[t+r];r=-1;for(var i=Array(t+1);++r<t;)i[r]=n[r];return i[t]=a,s(e,this,i)}}((function(e,t){var n=-1,r=t.length,o=r>1?t[r-1]:void 0,a=r>2?t[2]:void 0;for(o=E.length>3&&"function"==typeof o?(r--,o):void 0,a&&function(e,t,n){if(!w(n))return!1;var r=typeof t;return!!("number"==r?x(n)&&v(t,n.length):"string"==r&&t in n)&&_(n[t],e)}(t[0],t[1],a)&&(o=r<3?void 0:o,r=1),e=Object(e);++n<r;){var i=t[n];i&&E(e,i,n,o)}return e})));e.exports=j},function(e,t,n){(function(t){var n="object"==typeof t&&t&&t.Object===Object&&t,r="object"==typeof self&&self&&self.Object===Object&&self,o=n||r||Function("return this")(),a=Object.prototype,i=a.hasOwnProperty,s=a.toString,l=o.Symbol,c=l?l.toStringTag:void 0;function u(e){return null==e?void 0===e?"[object Undefined]":"[object Null]":c&&c in Object(e)?function(e){var t=i.call(e,c),n=e[c];try{e[c]=void 0;var r=!0}catch(e){}var o=s.call(e);r&&(t?e[c]=n:delete e[c]);return o}(e):function(e){return s.call(e)}(e)}e.exports=function(e){if(!function(e){var t=typeof e;return null!=e&&("object"==t||"function"==t)}(e))return!1;var t=u(e);return"[object Function]"==t||"[object GeneratorFunction]"==t||"[object AsyncFunction]"==t||"[object Proxy]"==t}}).call(this,n(10))},function(e,n){e.exports=t},function(e,t,n){(function(e,n){var r="__lodash_hash_undefined__",o=1/0,a=9007199254740991,i=17976931348623157e292,s=NaN,l="[object Arguments]",c="[object Array]",u="[object Boolean]",p="[object Date]",f="[object Error]",d="[object Function]",h="[object Map]",m="[object Number]",b="[object Object]",y="[object Promise]",g="[object RegExp]",v="[object Set]",O="[object String]",_="[object Symbol]",S="[object WeakMap]",x="[object ArrayBuffer]",w="[object DataView]",E=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,j=/^\w*$/,C=/^\./,P=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,N=/^\s+|\s+$/g,T=/\\(\\)?/g,k=/^[-+]0x[0-9a-f]+$/i,R=/^0b[01]+$/i,D=/^\[object .+?Constructor\]$/,I=/^0o[0-7]+$/i,A=/^(?:0|[1-9]\d*)$/,L={};L["[object Float32Array]"]=L["[object Float64Array]"]=L["[object Int8Array]"]=L["[object Int16Array]"]=L["[object Int32Array]"]=L["[object Uint8Array]"]=L["[object Uint8ClampedArray]"]=L["[object Uint16Array]"]=L["[object Uint32Array]"]=!0,L[l]=L[c]=L[x]=L[u]=L[w]=L[p]=L[f]=L[d]=L[h]=L[m]=L[b]=L[g]=L[v]=L[O]=L[S]=!1;var B=parseInt,F="object"==typeof e&&e&&e.Object===Object&&e,M="object"==typeof self&&self&&self.Object===Object&&self,q=F||M||Function("return this")(),H=t&&!t.nodeType&&t,K=H&&"object"==typeof n&&n&&!n.nodeType&&n,W=K&&K.exports===H&&F.process,V=function(){try{return W&&W.binding("util")}catch(e){}}(),U=V&&V.isTypedArray;function z(e,t){for(var n=-1,r=e?e.length:0;++n<r;)if(t(e[n],n,e))return!0;return!1}function G(e){var t=!1;if(null!=e&&"function"!=typeof e.toString)try{t=!!(e+"")}catch(e){}return t}function Y(e){var t=-1,n=Array(e.size);return e.forEach((function(e,r){n[++t]=[r,e]})),n}function Q(e){var t=-1,n=Array(e.size);return e.forEach((function(e){n[++t]=e})),n}var J,X,$,Z=Array.prototype,ee=Function.prototype,te=Object.prototype,ne=q["__core-js_shared__"],re=(J=/[^.]+$/.exec(ne&&ne.keys&&ne.keys.IE_PROTO||""))?"Symbol(src)_1."+J:"",oe=ee.toString,ae=te.hasOwnProperty,ie=te.toString,se=RegExp("^"+oe.call(ae).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),le=q.Symbol,ce=q.Uint8Array,ue=te.propertyIsEnumerable,pe=Z.splice,fe=(X=Object.keys,$=Object,function(e){return X($(e))}),de=Math.max,he=Ve(q,"DataView"),me=Ve(q,"Map"),be=Ve(q,"Promise"),ye=Ve(q,"Set"),ge=Ve(q,"WeakMap"),ve=Ve(Object,"create"),Oe=$e(he),_e=$e(me),Se=$e(be),xe=$e(ye),we=$e(ge),Ee=le?le.prototype:void 0,je=Ee?Ee.valueOf:void 0,Ce=Ee?Ee.toString:void 0;function Pe(e){var t=-1,n=e?e.length:0;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}function Ne(e){var t=-1,n=e?e.length:0;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}function Te(e){var t=-1,n=e?e.length:0;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}function ke(e){var t=-1,n=e?e.length:0;for(this.__data__=new Te;++t<n;)this.add(e[t])}function Re(e){this.__data__=new Ne(e)}function De(e,t){var n=nt(e)||tt(e)?function(e,t){for(var n=-1,r=Array(e);++n<e;)r[n]=t(n);return r}(e.length,String):[],r=n.length,o=!!r;for(var a in e)!t&&!ae.call(e,a)||o&&("length"==a||ze(a,r))||n.push(a);return n}function Ie(e,t){for(var n=e.length;n--;)if(et(e[n][0],t))return n;return-1}function Ae(e,t){for(var n=0,r=(t=Ge(t,e)?[t]:He(t)).length;null!=e&&n<r;)e=e[Xe(t[n++])];return n&&n==r?e:void 0}function Le(e,t){return null!=e&&t in Object(e)}function Be(e,t,n,r,o){return e===t||(null==e||null==t||!it(e)&&!st(t)?e!=e&&t!=t:function(e,t,n,r,o,a){var i=nt(e),s=nt(t),d=c,y=c;i||(d=(d=Ue(e))==l?b:d);s||(y=(y=Ue(t))==l?b:y);var S=d==b&&!G(e),E=y==b&&!G(t),j=d==y;if(j&&!S)return a||(a=new Re),i||ct(e)?Ke(e,t,n,r,o,a):function(e,t,n,r,o,a,i){switch(n){case w:if(e.byteLength!=t.byteLength||e.byteOffset!=t.byteOffset)return!1;e=e.buffer,t=t.buffer;case x:return!(e.byteLength!=t.byteLength||!r(new ce(e),new ce(t)));case u:case p:case m:return et(+e,+t);case f:return e.name==t.name&&e.message==t.message;case g:case O:return e==t+"";case h:var s=Y;case v:var l=2&a;if(s||(s=Q),e.size!=t.size&&!l)return!1;var c=i.get(e);if(c)return c==t;a|=1,i.set(e,t);var d=Ke(s(e),s(t),r,o,a,i);return i.delete(e),d;case _:if(je)return je.call(e)==je.call(t)}return!1}(e,t,d,n,r,o,a);if(!(2&o)){var C=S&&ae.call(e,"__wrapped__"),P=E&&ae.call(t,"__wrapped__");if(C||P){var N=C?e.value():e,T=P?t.value():t;return a||(a=new Re),n(N,T,r,o,a)}}if(!j)return!1;return a||(a=new Re),function(e,t,n,r,o,a){var i=2&o,s=ut(e),l=s.length,c=ut(t).length;if(l!=c&&!i)return!1;var u=l;for(;u--;){var p=s[u];if(!(i?p in t:ae.call(t,p)))return!1}var f=a.get(e);if(f&&a.get(t))return f==t;var d=!0;a.set(e,t),a.set(t,e);var h=i;for(;++u<l;){var m=e[p=s[u]],b=t[p];if(r)var y=i?r(b,m,p,t,e,a):r(m,b,p,e,t,a);if(!(void 0===y?m===b||n(m,b,r,o,a):y)){d=!1;break}h||(h="constructor"==p)}if(d&&!h){var g=e.constructor,v=t.constructor;g==v||!("constructor"in e)||!("constructor"in t)||"function"==typeof g&&g instanceof g&&"function"==typeof v&&v instanceof v||(d=!1)}return a.delete(e),a.delete(t),d}(e,t,n,r,o,a)}(e,t,Be,n,r,o))}function Fe(e){return!(!it(e)||function(e){return!!re&&re in e}(e))&&(ot(e)||G(e)?se:D).test($e(e))}function Me(e){return"function"==typeof e?e:null==e?pt:"object"==typeof e?nt(e)?function(e,t){if(Ge(e)&&Ye(t))return Qe(Xe(e),t);return function(n){var r=function(e,t,n){var r=null==e?void 0:Ae(e,t);return void 0===r?n:r}(n,e);return void 0===r&&r===t?function(e,t){return null!=e&&function(e,t,n){t=Ge(t,e)?[t]:He(t);var r,o=-1,a=t.length;for(;++o<a;){var i=Xe(t[o]);if(!(r=null!=e&&n(e,i)))break;e=e[i]}if(r)return r;return!!(a=e?e.length:0)&&at(a)&&ze(i,a)&&(nt(e)||tt(e))}(e,t,Le)}(n,e):Be(t,r,void 0,3)}}(e[0],e[1]):function(e){var t=function(e){var t=ut(e),n=t.length;for(;n--;){var r=t[n],o=e[r];t[n]=[r,o,Ye(o)]}return t}(e);if(1==t.length&&t[0][2])return Qe(t[0][0],t[0][1]);return function(n){return n===e||function(e,t,n,r){var o=n.length,a=o,i=!r;if(null==e)return!a;for(e=Object(e);o--;){var s=n[o];if(i&&s[2]?s[1]!==e[s[0]]:!(s[0]in e))return!1}for(;++o<a;){var l=(s=n[o])[0],c=e[l],u=s[1];if(i&&s[2]){if(void 0===c&&!(l in e))return!1}else{var p=new Re;if(r)var f=r(c,u,l,e,t,p);if(!(void 0===f?Be(u,c,r,3,p):f))return!1}}return!0}(n,e,t)}}(e):Ge(t=e)?(n=Xe(t),function(e){return null==e?void 0:e[n]}):function(e){return function(t){return Ae(t,e)}}(t);var t,n}function qe(e){if(n=(t=e)&&t.constructor,r="function"==typeof n&&n.prototype||te,t!==r)return fe(e);var t,n,r,o=[];for(var a in Object(e))ae.call(e,a)&&"constructor"!=a&&o.push(a);return o}function He(e){return nt(e)?e:Je(e)}function Ke(e,t,n,r,o,a){var i=2&o,s=e.length,l=t.length;if(s!=l&&!(i&&l>s))return!1;var c=a.get(e);if(c&&a.get(t))return c==t;var u=-1,p=!0,f=1&o?new ke:void 0;for(a.set(e,t),a.set(t,e);++u<s;){var d=e[u],h=t[u];if(r)var m=i?r(h,d,u,t,e,a):r(d,h,u,e,t,a);if(void 0!==m){if(m)continue;p=!1;break}if(f){if(!z(t,(function(e,t){if(!f.has(t)&&(d===e||n(d,e,r,o,a)))return f.add(t)}))){p=!1;break}}else if(d!==h&&!n(d,h,r,o,a)){p=!1;break}}return a.delete(e),a.delete(t),p}function We(e,t){var n,r,o=e.__data__;return("string"==(r=typeof(n=t))||"number"==r||"symbol"==r||"boolean"==r?"__proto__"!==n:null===n)?o["string"==typeof t?"string":"hash"]:o.map}function Ve(e,t){var n=function(e,t){return null==e?void 0:e[t]}(e,t);return Fe(n)?n:void 0}Pe.prototype.clear=function(){this.__data__=ve?ve(null):{}},Pe.prototype.delete=function(e){return this.has(e)&&delete this.__data__[e]},Pe.prototype.get=function(e){var t=this.__data__;if(ve){var n=t[e];return n===r?void 0:n}return ae.call(t,e)?t[e]:void 0},Pe.prototype.has=function(e){var t=this.__data__;return ve?void 0!==t[e]:ae.call(t,e)},Pe.prototype.set=function(e,t){return this.__data__[e]=ve&&void 0===t?r:t,this},Ne.prototype.clear=function(){this.__data__=[]},Ne.prototype.delete=function(e){var t=this.__data__,n=Ie(t,e);return!(n<0)&&(n==t.length-1?t.pop():pe.call(t,n,1),!0)},Ne.prototype.get=function(e){var t=this.__data__,n=Ie(t,e);return n<0?void 0:t[n][1]},Ne.prototype.has=function(e){return Ie(this.__data__,e)>-1},Ne.prototype.set=function(e,t){var n=this.__data__,r=Ie(n,e);return r<0?n.push([e,t]):n[r][1]=t,this},Te.prototype.clear=function(){this.__data__={hash:new Pe,map:new(me||Ne),string:new Pe}},Te.prototype.delete=function(e){return We(this,e).delete(e)},Te.prototype.get=function(e){return We(this,e).get(e)},Te.prototype.has=function(e){return We(this,e).has(e)},Te.prototype.set=function(e,t){return We(this,e).set(e,t),this},ke.prototype.add=ke.prototype.push=function(e){return this.__data__.set(e,r),this},ke.prototype.has=function(e){return this.__data__.has(e)},Re.prototype.clear=function(){this.__data__=new Ne},Re.prototype.delete=function(e){return this.__data__.delete(e)},Re.prototype.get=function(e){return this.__data__.get(e)},Re.prototype.has=function(e){return this.__data__.has(e)},Re.prototype.set=function(e,t){var n=this.__data__;if(n instanceof Ne){var r=n.__data__;if(!me||r.length<199)return r.push([e,t]),this;n=this.__data__=new Te(r)}return n.set(e,t),this};var Ue=function(e){return ie.call(e)};function ze(e,t){return!!(t=null==t?a:t)&&("number"==typeof e||A.test(e))&&e>-1&&e%1==0&&e<t}function Ge(e,t){if(nt(e))return!1;var n=typeof e;return!("number"!=n&&"symbol"!=n&&"boolean"!=n&&null!=e&&!lt(e))||(j.test(e)||!E.test(e)||null!=t&&e in Object(t))}function Ye(e){return e==e&&!it(e)}function Qe(e,t){return function(n){return null!=n&&(n[e]===t&&(void 0!==t||e in Object(n)))}}(he&&Ue(new he(new ArrayBuffer(1)))!=w||me&&Ue(new me)!=h||be&&Ue(be.resolve())!=y||ye&&Ue(new ye)!=v||ge&&Ue(new ge)!=S)&&(Ue=function(e){var t=ie.call(e),n=t==b?e.constructor:void 0,r=n?$e(n):void 0;if(r)switch(r){case Oe:return w;case _e:return h;case Se:return y;case xe:return v;case we:return S}return t});var Je=Ze((function(e){var t;e=null==(t=e)?"":function(e){if("string"==typeof e)return e;if(lt(e))return Ce?Ce.call(e):"";var t=e+"";return"0"==t&&1/e==-1/0?"-0":t}(t);var n=[];return C.test(e)&&n.push(""),e.replace(P,(function(e,t,r,o){n.push(r?o.replace(T,"$1"):t||e)})),n}));function Xe(e){if("string"==typeof e||lt(e))return e;var t=e+"";return"0"==t&&1/e==-1/0?"-0":t}function $e(e){if(null!=e){try{return oe.call(e)}catch(e){}try{return e+""}catch(e){}}return""}function Ze(e,t){if("function"!=typeof e||t&&"function"!=typeof t)throw new TypeError("Expected a function");var n=function(){var r=arguments,o=t?t.apply(this,r):r[0],a=n.cache;if(a.has(o))return a.get(o);var i=e.apply(this,r);return n.cache=a.set(o,i),i};return n.cache=new(Ze.Cache||Te),n}function et(e,t){return e===t||e!=e&&t!=t}function tt(e){return function(e){return st(e)&&rt(e)}(e)&&ae.call(e,"callee")&&(!ue.call(e,"callee")||ie.call(e)==l)}Ze.Cache=Te;var nt=Array.isArray;function rt(e){return null!=e&&at(e.length)&&!ot(e)}function ot(e){var t=it(e)?ie.call(e):"";return t==d||"[object GeneratorFunction]"==t}function at(e){return"number"==typeof e&&e>-1&&e%1==0&&e<=a}function it(e){var t=typeof e;return!!e&&("object"==t||"function"==t)}function st(e){return!!e&&"object"==typeof e}function lt(e){return"symbol"==typeof e||st(e)&&ie.call(e)==_}var ct=U?function(e){return function(t){return e(t)}}(U):function(e){return st(e)&&at(e.length)&&!!L[ie.call(e)]};function ut(e){return rt(e)?De(e):qe(e)}function pt(e){return e}n.exports=function(e,t,n){var r=e?e.length:0;if(!r)return-1;var a,l,c=null==n?0:(a=function(e){return e?(e=function(e){if("number"==typeof e)return e;if(lt(e))return s;if(it(e)){var t="function"==typeof e.valueOf?e.valueOf():e;e=it(t)?t+"":t}if("string"!=typeof e)return 0===e?e:+e;e=e.replace(N,"");var n=R.test(e);return n||I.test(e)?B(e.slice(2),n?2:8):k.test(e)?s:+e}(e))===o||e===-1/0?(e<0?-1:1)*i:e==e?e:0:0===e?e:0}(n),l=a%1,a==a?l?a-l:a:0);return c<0&&(c=de(r+c,0)),function(e,t,n,r){for(var o=e.length,a=n+(r?1:-1);r?a--:++a<o;)if(t(e[a],a,e))return a;return-1}(e,Me(t),c)}}).call(this,n(10),n(16)(e))},function(e,t,n){"use strict";var r=function(){};e.exports=r},function(e,t,n){(function(e,n){var r="__lodash_hash_undefined__",o=9007199254740991,a="[object Arguments]",i="[object Array]",s="[object Boolean]",l="[object Date]",c="[object Error]",u="[object Function]",p="[object Map]",f="[object Number]",d="[object Object]",h="[object Promise]",m="[object RegExp]",b="[object Set]",y="[object String]",g="[object Symbol]",v="[object WeakMap]",O="[object ArrayBuffer]",_="[object DataView]",S=/^\[object .+?Constructor\]$/,x=/^(?:0|[1-9]\d*)$/,w={};w["[object Float32Array]"]=w["[object Float64Array]"]=w["[object Int8Array]"]=w["[object Int16Array]"]=w["[object Int32Array]"]=w["[object Uint8Array]"]=w["[object Uint8ClampedArray]"]=w["[object Uint16Array]"]=w["[object Uint32Array]"]=!0,w[a]=w[i]=w[O]=w[s]=w[_]=w[l]=w[c]=w[u]=w[p]=w[f]=w[d]=w[m]=w[b]=w[y]=w[v]=!1;var E="object"==typeof e&&e&&e.Object===Object&&e,j="object"==typeof self&&self&&self.Object===Object&&self,C=E||j||Function("return this")(),P=t&&!t.nodeType&&t,N=P&&"object"==typeof n&&n&&!n.nodeType&&n,T=N&&N.exports===P,k=T&&E.process,R=function(){try{return k&&k.binding&&k.binding("util")}catch(e){}}(),D=R&&R.isTypedArray;function I(e,t){for(var n=-1,r=null==e?0:e.length;++n<r;)if(t(e[n],n,e))return!0;return!1}function A(e){var t=-1,n=Array(e.size);return e.forEach((function(e,r){n[++t]=[r,e]})),n}function L(e){var t=-1,n=Array(e.size);return e.forEach((function(e){n[++t]=e})),n}var B,F,M,q=Array.prototype,H=Function.prototype,K=Object.prototype,W=C["__core-js_shared__"],V=H.toString,U=K.hasOwnProperty,z=(B=/[^.]+$/.exec(W&&W.keys&&W.keys.IE_PROTO||""))?"Symbol(src)_1."+B:"",G=K.toString,Y=RegExp("^"+V.call(U).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),Q=T?C.Buffer:void 0,J=C.Symbol,X=C.Uint8Array,$=K.propertyIsEnumerable,Z=q.splice,ee=J?J.toStringTag:void 0,te=Object.getOwnPropertySymbols,ne=Q?Q.isBuffer:void 0,re=(F=Object.keys,M=Object,function(e){return F(M(e))}),oe=Re(C,"DataView"),ae=Re(C,"Map"),ie=Re(C,"Promise"),se=Re(C,"Set"),le=Re(C,"WeakMap"),ce=Re(Object,"create"),ue=Le(oe),pe=Le(ae),fe=Le(ie),de=Le(se),he=Le(le),me=J?J.prototype:void 0,be=me?me.valueOf:void 0;function ye(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}function ge(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}function ve(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}function Oe(e){var t=-1,n=null==e?0:e.length;for(this.__data__=new ve;++t<n;)this.add(e[t])}function _e(e){var t=this.__data__=new ge(e);this.size=t.size}function Se(e,t){var n=Me(e),r=!n&&Fe(e),o=!n&&!r&&qe(e),a=!n&&!r&&!o&&Ue(e),i=n||r||o||a,s=i?function(e,t){for(var n=-1,r=Array(e);++n<e;)r[n]=t(n);return r}(e.length,String):[],l=s.length;for(var c in e)!t&&!U.call(e,c)||i&&("length"==c||o&&("offset"==c||"parent"==c)||a&&("buffer"==c||"byteLength"==c||"byteOffset"==c)||Ae(c,l))||s.push(c);return s}function xe(e,t){for(var n=e.length;n--;)if(Be(e[n][0],t))return n;return-1}function we(e){return null==e?void 0===e?"[object Undefined]":"[object Null]":ee&&ee in Object(e)?function(e){var t=U.call(e,ee),n=e[ee];try{e[ee]=void 0;var r=!0}catch(e){}var o=G.call(e);r&&(t?e[ee]=n:delete e[ee]);return o}(e):function(e){return G.call(e)}(e)}function Ee(e){return Ve(e)&&we(e)==a}function je(e,t,n,r,o){return e===t||(null==e||null==t||!Ve(e)&&!Ve(t)?e!=e&&t!=t:function(e,t,n,r,o,u){var h=Me(e),v=Me(t),S=h?i:Ie(e),x=v?i:Ie(t),w=(S=S==a?d:S)==d,E=(x=x==a?d:x)==d,j=S==x;if(j&&qe(e)){if(!qe(t))return!1;h=!0,w=!1}if(j&&!w)return u||(u=new _e),h||Ue(e)?Ne(e,t,n,r,o,u):function(e,t,n,r,o,a,i){switch(n){case _:if(e.byteLength!=t.byteLength||e.byteOffset!=t.byteOffset)return!1;e=e.buffer,t=t.buffer;case O:return!(e.byteLength!=t.byteLength||!a(new X(e),new X(t)));case s:case l:case f:return Be(+e,+t);case c:return e.name==t.name&&e.message==t.message;case m:case y:return e==t+"";case p:var u=A;case b:var d=1&r;if(u||(u=L),e.size!=t.size&&!d)return!1;var h=i.get(e);if(h)return h==t;r|=2,i.set(e,t);var v=Ne(u(e),u(t),r,o,a,i);return i.delete(e),v;case g:if(be)return be.call(e)==be.call(t)}return!1}(e,t,S,n,r,o,u);if(!(1&n)){var C=w&&U.call(e,"__wrapped__"),P=E&&U.call(t,"__wrapped__");if(C||P){var N=C?e.value():e,T=P?t.value():t;return u||(u=new _e),o(N,T,n,r,u)}}if(!j)return!1;return u||(u=new _e),function(e,t,n,r,o,a){var i=1&n,s=Te(e),l=s.length,c=Te(t).length;if(l!=c&&!i)return!1;var u=l;for(;u--;){var p=s[u];if(!(i?p in t:U.call(t,p)))return!1}var f=a.get(e);if(f&&a.get(t))return f==t;var d=!0;a.set(e,t),a.set(t,e);var h=i;for(;++u<l;){var m=e[p=s[u]],b=t[p];if(r)var y=i?r(b,m,p,t,e,a):r(m,b,p,e,t,a);if(!(void 0===y?m===b||o(m,b,n,r,a):y)){d=!1;break}h||(h="constructor"==p)}if(d&&!h){var g=e.constructor,v=t.constructor;g==v||!("constructor"in e)||!("constructor"in t)||"function"==typeof g&&g instanceof g&&"function"==typeof v&&v instanceof v||(d=!1)}return a.delete(e),a.delete(t),d}(e,t,n,r,o,u)}(e,t,n,r,je,o))}function Ce(e){return!(!We(e)||function(e){return!!z&&z in e}(e))&&(He(e)?Y:S).test(Le(e))}function Pe(e){if(n=(t=e)&&t.constructor,r="function"==typeof n&&n.prototype||K,t!==r)return re(e);var t,n,r,o=[];for(var a in Object(e))U.call(e,a)&&"constructor"!=a&&o.push(a);return o}function Ne(e,t,n,r,o,a){var i=1&n,s=e.length,l=t.length;if(s!=l&&!(i&&l>s))return!1;var c=a.get(e);if(c&&a.get(t))return c==t;var u=-1,p=!0,f=2&n?new Oe:void 0;for(a.set(e,t),a.set(t,e);++u<s;){var d=e[u],h=t[u];if(r)var m=i?r(h,d,u,t,e,a):r(d,h,u,e,t,a);if(void 0!==m){if(m)continue;p=!1;break}if(f){if(!I(t,(function(e,t){if(i=t,!f.has(i)&&(d===e||o(d,e,n,r,a)))return f.push(t);var i}))){p=!1;break}}else if(d!==h&&!o(d,h,n,r,a)){p=!1;break}}return a.delete(e),a.delete(t),p}function Te(e){return function(e,t,n){var r=t(e);return Me(e)?r:function(e,t){for(var n=-1,r=t.length,o=e.length;++n<r;)e[o+n]=t[n];return e}(r,n(e))}(e,ze,De)}function ke(e,t){var n,r,o=e.__data__;return("string"==(r=typeof(n=t))||"number"==r||"symbol"==r||"boolean"==r?"__proto__"!==n:null===n)?o["string"==typeof t?"string":"hash"]:o.map}function Re(e,t){var n=function(e,t){return null==e?void 0:e[t]}(e,t);return Ce(n)?n:void 0}ye.prototype.clear=function(){this.__data__=ce?ce(null):{},this.size=0},ye.prototype.delete=function(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t},ye.prototype.get=function(e){var t=this.__data__;if(ce){var n=t[e];return n===r?void 0:n}return U.call(t,e)?t[e]:void 0},ye.prototype.has=function(e){var t=this.__data__;return ce?void 0!==t[e]:U.call(t,e)},ye.prototype.set=function(e,t){var n=this.__data__;return this.size+=this.has(e)?0:1,n[e]=ce&&void 0===t?r:t,this},ge.prototype.clear=function(){this.__data__=[],this.size=0},ge.prototype.delete=function(e){var t=this.__data__,n=xe(t,e);return!(n<0)&&(n==t.length-1?t.pop():Z.call(t,n,1),--this.size,!0)},ge.prototype.get=function(e){var t=this.__data__,n=xe(t,e);return n<0?void 0:t[n][1]},ge.prototype.has=function(e){return xe(this.__data__,e)>-1},ge.prototype.set=function(e,t){var n=this.__data__,r=xe(n,e);return r<0?(++this.size,n.push([e,t])):n[r][1]=t,this},ve.prototype.clear=function(){this.size=0,this.__data__={hash:new ye,map:new(ae||ge),string:new ye}},ve.prototype.delete=function(e){var t=ke(this,e).delete(e);return this.size-=t?1:0,t},ve.prototype.get=function(e){return ke(this,e).get(e)},ve.prototype.has=function(e){return ke(this,e).has(e)},ve.prototype.set=function(e,t){var n=ke(this,e),r=n.size;return n.set(e,t),this.size+=n.size==r?0:1,this},Oe.prototype.add=Oe.prototype.push=function(e){return this.__data__.set(e,r),this},Oe.prototype.has=function(e){return this.__data__.has(e)},_e.prototype.clear=function(){this.__data__=new ge,this.size=0},_e.prototype.delete=function(e){var t=this.__data__,n=t.delete(e);return this.size=t.size,n},_e.prototype.get=function(e){return this.__data__.get(e)},_e.prototype.has=function(e){return this.__data__.has(e)},_e.prototype.set=function(e,t){var n=this.__data__;if(n instanceof ge){var r=n.__data__;if(!ae||r.length<199)return r.push([e,t]),this.size=++n.size,this;n=this.__data__=new ve(r)}return n.set(e,t),this.size=n.size,this};var De=te?function(e){return null==e?[]:(e=Object(e),function(e,t){for(var n=-1,r=null==e?0:e.length,o=0,a=[];++n<r;){var i=e[n];t(i,n,e)&&(a[o++]=i)}return a}(te(e),(function(t){return $.call(e,t)})))}:function(){return[]},Ie=we;function Ae(e,t){return!!(t=null==t?o:t)&&("number"==typeof e||x.test(e))&&e>-1&&e%1==0&&e<t}function Le(e){if(null!=e){try{return V.call(e)}catch(e){}try{return e+""}catch(e){}}return""}function Be(e,t){return e===t||e!=e&&t!=t}(oe&&Ie(new oe(new ArrayBuffer(1)))!=_||ae&&Ie(new ae)!=p||ie&&Ie(ie.resolve())!=h||se&&Ie(new se)!=b||le&&Ie(new le)!=v)&&(Ie=function(e){var t=we(e),n=t==d?e.constructor:void 0,r=n?Le(n):"";if(r)switch(r){case ue:return _;case pe:return p;case fe:return h;case de:return b;case he:return v}return t});var Fe=Ee(function(){return arguments}())?Ee:function(e){return Ve(e)&&U.call(e,"callee")&&!$.call(e,"callee")},Me=Array.isArray;var qe=ne||function(){return!1};function He(e){if(!We(e))return!1;var t=we(e);return t==u||"[object GeneratorFunction]"==t||"[object AsyncFunction]"==t||"[object Proxy]"==t}function Ke(e){return"number"==typeof e&&e>-1&&e%1==0&&e<=o}function We(e){var t=typeof e;return null!=e&&("object"==t||"function"==t)}function Ve(e){return null!=e&&"object"==typeof e}var Ue=D?function(e){return function(t){return e(t)}}(D):function(e){return Ve(e)&&Ke(e.length)&&!!w[we(e)]};function ze(e){return null!=(t=e)&&Ke(t.length)&&!He(t)?Se(e):Pe(e);var t}n.exports=function(e,t){return je(e,t)}}).call(this,n(10),n(16)(e))},function(e,t){var n;n=function(){return this}();try{n=n||new Function("return this")()}catch(e){"object"==typeof window&&(n=window)}e.exports=n},function(e,t,n){(function(t){var n="[object Symbol]",r=/[\\^$.*+?()[\]{}|]/g,o=RegExp(r.source),a="object"==typeof t&&t&&t.Object===Object&&t,i="object"==typeof self&&self&&self.Object===Object&&self,s=a||i||Function("return this")(),l=Object.prototype.toString,c=s.Symbol,u=c?c.prototype:void 0,p=u?u.toString:void 0;function f(e){if("string"==typeof e)return e;if(function(e){return"symbol"==typeof e||function(e){return!!e&&"object"==typeof e}(e)&&l.call(e)==n}(e))return p?p.call(e):"";var t=e+"";return"0"==t&&1/e==-Infinity?"-0":t}e.exports=function(e){var t;return(e=null==(t=e)?"":f(t))&&o.test(e)?e.replace(r,"\\$&"):e}}).call(this,n(10))},function(e,t,n){(function(e,n){var r="__lodash_hash_undefined__",o=1/0,a=9007199254740991,i=17976931348623157e292,s=NaN,l="[object Arguments]",c="[object Array]",u="[object Boolean]",p="[object Date]",f="[object Error]",d="[object Function]",h="[object Map]",m="[object Number]",b="[object Object]",y="[object Promise]",g="[object RegExp]",v="[object Set]",O="[object String]",_="[object Symbol]",S="[object WeakMap]",x="[object ArrayBuffer]",w="[object DataView]",E=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,j=/^\w*$/,C=/^\./,P=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,N=/^\s+|\s+$/g,T=/\\(\\)?/g,k=/^[-+]0x[0-9a-f]+$/i,R=/^0b[01]+$/i,D=/^\[object .+?Constructor\]$/,I=/^0o[0-7]+$/i,A=/^(?:0|[1-9]\d*)$/,L={};L["[object Float32Array]"]=L["[object Float64Array]"]=L["[object Int8Array]"]=L["[object Int16Array]"]=L["[object Int32Array]"]=L["[object Uint8Array]"]=L["[object Uint8ClampedArray]"]=L["[object Uint16Array]"]=L["[object Uint32Array]"]=!0,L[l]=L[c]=L[x]=L[u]=L[w]=L[p]=L[f]=L[d]=L[h]=L[m]=L[b]=L[g]=L[v]=L[O]=L[S]=!1;var B=parseInt,F="object"==typeof e&&e&&e.Object===Object&&e,M="object"==typeof self&&self&&self.Object===Object&&self,q=F||M||Function("return this")(),H=t&&!t.nodeType&&t,K=H&&"object"==typeof n&&n&&!n.nodeType&&n,W=K&&K.exports===H&&F.process,V=function(){try{return W&&W.binding("util")}catch(e){}}(),U=V&&V.isTypedArray;function z(e,t){for(var n=-1,r=e?e.length:0;++n<r;)if(t(e[n],n,e))return!0;return!1}function G(e){var t=!1;if(null!=e&&"function"!=typeof e.toString)try{t=!!(e+"")}catch(e){}return t}function Y(e){var t=-1,n=Array(e.size);return e.forEach((function(e,r){n[++t]=[r,e]})),n}function Q(e){var t=-1,n=Array(e.size);return e.forEach((function(e){n[++t]=e})),n}var J,X,$,Z=Array.prototype,ee=Function.prototype,te=Object.prototype,ne=q["__core-js_shared__"],re=(J=/[^.]+$/.exec(ne&&ne.keys&&ne.keys.IE_PROTO||""))?"Symbol(src)_1."+J:"",oe=ee.toString,ae=te.hasOwnProperty,ie=te.toString,se=RegExp("^"+oe.call(ae).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),le=q.Symbol,ce=q.Uint8Array,ue=te.propertyIsEnumerable,pe=Z.splice,fe=(X=Object.keys,$=Object,function(e){return X($(e))}),de=Math.max,he=Ve(q,"DataView"),me=Ve(q,"Map"),be=Ve(q,"Promise"),ye=Ve(q,"Set"),ge=Ve(q,"WeakMap"),ve=Ve(Object,"create"),Oe=$e(he),_e=$e(me),Se=$e(be),xe=$e(ye),we=$e(ge),Ee=le?le.prototype:void 0,je=Ee?Ee.valueOf:void 0,Ce=Ee?Ee.toString:void 0;function Pe(e){var t=-1,n=e?e.length:0;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}function Ne(e){var t=-1,n=e?e.length:0;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}function Te(e){var t=-1,n=e?e.length:0;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}function ke(e){var t=-1,n=e?e.length:0;for(this.__data__=new Te;++t<n;)this.add(e[t])}function Re(e){this.__data__=new Ne(e)}function De(e,t){var n=ot(e)||rt(e)?function(e,t){for(var n=-1,r=Array(e);++n<e;)r[n]=t(n);return r}(e.length,String):[],r=n.length,o=!!r;for(var a in e)!t&&!ae.call(e,a)||o&&("length"==a||ze(a,r))||n.push(a);return n}function Ie(e,t){for(var n=e.length;n--;)if(nt(e[n][0],t))return n;return-1}function Ae(e,t){for(var n=0,r=(t=Ge(t,e)?[t]:He(t)).length;null!=e&&n<r;)e=e[Xe(t[n++])];return n&&n==r?e:void 0}function Le(e,t){return null!=e&&t in Object(e)}function Be(e,t,n,r,o){return e===t||(null==e||null==t||!lt(e)&&!ct(t)?e!=e&&t!=t:function(e,t,n,r,o,a){var i=ot(e),s=ot(t),d=c,y=c;i||(d=(d=Ue(e))==l?b:d);s||(y=(y=Ue(t))==l?b:y);var S=d==b&&!G(e),E=y==b&&!G(t),j=d==y;if(j&&!S)return a||(a=new Re),i||pt(e)?Ke(e,t,n,r,o,a):function(e,t,n,r,o,a,i){switch(n){case w:if(e.byteLength!=t.byteLength||e.byteOffset!=t.byteOffset)return!1;e=e.buffer,t=t.buffer;case x:return!(e.byteLength!=t.byteLength||!r(new ce(e),new ce(t)));case u:case p:case m:return nt(+e,+t);case f:return e.name==t.name&&e.message==t.message;case g:case O:return e==t+"";case h:var s=Y;case v:var l=2&a;if(s||(s=Q),e.size!=t.size&&!l)return!1;var c=i.get(e);if(c)return c==t;a|=1,i.set(e,t);var d=Ke(s(e),s(t),r,o,a,i);return i.delete(e),d;case _:if(je)return je.call(e)==je.call(t)}return!1}(e,t,d,n,r,o,a);if(!(2&o)){var C=S&&ae.call(e,"__wrapped__"),P=E&&ae.call(t,"__wrapped__");if(C||P){var N=C?e.value():e,T=P?t.value():t;return a||(a=new Re),n(N,T,r,o,a)}}if(!j)return!1;return a||(a=new Re),function(e,t,n,r,o,a){var i=2&o,s=ft(e),l=s.length,c=ft(t).length;if(l!=c&&!i)return!1;var u=l;for(;u--;){var p=s[u];if(!(i?p in t:ae.call(t,p)))return!1}var f=a.get(e);if(f&&a.get(t))return f==t;var d=!0;a.set(e,t),a.set(t,e);var h=i;for(;++u<l;){var m=e[p=s[u]],b=t[p];if(r)var y=i?r(b,m,p,t,e,a):r(m,b,p,e,t,a);if(!(void 0===y?m===b||n(m,b,r,o,a):y)){d=!1;break}h||(h="constructor"==p)}if(d&&!h){var g=e.constructor,v=t.constructor;g==v||!("constructor"in e)||!("constructor"in t)||"function"==typeof g&&g instanceof g&&"function"==typeof v&&v instanceof v||(d=!1)}return a.delete(e),a.delete(t),d}(e,t,n,r,o,a)}(e,t,Be,n,r,o))}function Fe(e){return!(!lt(e)||function(e){return!!re&&re in e}(e))&&(it(e)||G(e)?se:D).test($e(e))}function Me(e){return"function"==typeof e?e:null==e?dt:"object"==typeof e?ot(e)?function(e,t){if(Ge(e)&&Ye(t))return Qe(Xe(e),t);return function(n){var r=function(e,t,n){var r=null==e?void 0:Ae(e,t);return void 0===r?n:r}(n,e);return void 0===r&&r===t?function(e,t){return null!=e&&function(e,t,n){t=Ge(t,e)?[t]:He(t);var r,o=-1,a=t.length;for(;++o<a;){var i=Xe(t[o]);if(!(r=null!=e&&n(e,i)))break;e=e[i]}if(r)return r;return!!(a=e?e.length:0)&&st(a)&&ze(i,a)&&(ot(e)||rt(e))}(e,t,Le)}(n,e):Be(t,r,void 0,3)}}(e[0],e[1]):function(e){var t=function(e){var t=ft(e),n=t.length;for(;n--;){var r=t[n],o=e[r];t[n]=[r,o,Ye(o)]}return t}(e);if(1==t.length&&t[0][2])return Qe(t[0][0],t[0][1]);return function(n){return n===e||function(e,t,n,r){var o=n.length,a=o,i=!r;if(null==e)return!a;for(e=Object(e);o--;){var s=n[o];if(i&&s[2]?s[1]!==e[s[0]]:!(s[0]in e))return!1}for(;++o<a;){var l=(s=n[o])[0],c=e[l],u=s[1];if(i&&s[2]){if(void 0===c&&!(l in e))return!1}else{var p=new Re;if(r)var f=r(c,u,l,e,t,p);if(!(void 0===f?Be(u,c,r,3,p):f))return!1}}return!0}(n,e,t)}}(e):Ge(t=e)?(n=Xe(t),function(e){return null==e?void 0:e[n]}):function(e){return function(t){return Ae(t,e)}}(t);var t,n}function qe(e){if(n=(t=e)&&t.constructor,r="function"==typeof n&&n.prototype||te,t!==r)return fe(e);var t,n,r,o=[];for(var a in Object(e))ae.call(e,a)&&"constructor"!=a&&o.push(a);return o}function He(e){return ot(e)?e:Je(e)}function Ke(e,t,n,r,o,a){var i=2&o,s=e.length,l=t.length;if(s!=l&&!(i&&l>s))return!1;var c=a.get(e);if(c&&a.get(t))return c==t;var u=-1,p=!0,f=1&o?new ke:void 0;for(a.set(e,t),a.set(t,e);++u<s;){var d=e[u],h=t[u];if(r)var m=i?r(h,d,u,t,e,a):r(d,h,u,e,t,a);if(void 0!==m){if(m)continue;p=!1;break}if(f){if(!z(t,(function(e,t){if(!f.has(t)&&(d===e||n(d,e,r,o,a)))return f.add(t)}))){p=!1;break}}else if(d!==h&&!n(d,h,r,o,a)){p=!1;break}}return a.delete(e),a.delete(t),p}function We(e,t){var n,r,o=e.__data__;return("string"==(r=typeof(n=t))||"number"==r||"symbol"==r||"boolean"==r?"__proto__"!==n:null===n)?o["string"==typeof t?"string":"hash"]:o.map}function Ve(e,t){var n=function(e,t){return null==e?void 0:e[t]}(e,t);return Fe(n)?n:void 0}Pe.prototype.clear=function(){this.__data__=ve?ve(null):{}},Pe.prototype.delete=function(e){return this.has(e)&&delete this.__data__[e]},Pe.prototype.get=function(e){var t=this.__data__;if(ve){var n=t[e];return n===r?void 0:n}return ae.call(t,e)?t[e]:void 0},Pe.prototype.has=function(e){var t=this.__data__;return ve?void 0!==t[e]:ae.call(t,e)},Pe.prototype.set=function(e,t){return this.__data__[e]=ve&&void 0===t?r:t,this},Ne.prototype.clear=function(){this.__data__=[]},Ne.prototype.delete=function(e){var t=this.__data__,n=Ie(t,e);return!(n<0)&&(n==t.length-1?t.pop():pe.call(t,n,1),!0)},Ne.prototype.get=function(e){var t=this.__data__,n=Ie(t,e);return n<0?void 0:t[n][1]},Ne.prototype.has=function(e){return Ie(this.__data__,e)>-1},Ne.prototype.set=function(e,t){var n=this.__data__,r=Ie(n,e);return r<0?n.push([e,t]):n[r][1]=t,this},Te.prototype.clear=function(){this.__data__={hash:new Pe,map:new(me||Ne),string:new Pe}},Te.prototype.delete=function(e){return We(this,e).delete(e)},Te.prototype.get=function(e){return We(this,e).get(e)},Te.prototype.has=function(e){return We(this,e).has(e)},Te.prototype.set=function(e,t){return We(this,e).set(e,t),this},ke.prototype.add=ke.prototype.push=function(e){return this.__data__.set(e,r),this},ke.prototype.has=function(e){return this.__data__.has(e)},Re.prototype.clear=function(){this.__data__=new Ne},Re.prototype.delete=function(e){return this.__data__.delete(e)},Re.prototype.get=function(e){return this.__data__.get(e)},Re.prototype.has=function(e){return this.__data__.has(e)},Re.prototype.set=function(e,t){var n=this.__data__;if(n instanceof Ne){var r=n.__data__;if(!me||r.length<199)return r.push([e,t]),this;n=this.__data__=new Te(r)}return n.set(e,t),this};var Ue=function(e){return ie.call(e)};function ze(e,t){return!!(t=null==t?a:t)&&("number"==typeof e||A.test(e))&&e>-1&&e%1==0&&e<t}function Ge(e,t){if(ot(e))return!1;var n=typeof e;return!("number"!=n&&"symbol"!=n&&"boolean"!=n&&null!=e&&!ut(e))||(j.test(e)||!E.test(e)||null!=t&&e in Object(t))}function Ye(e){return e==e&&!lt(e)}function Qe(e,t){return function(n){return null!=n&&(n[e]===t&&(void 0!==t||e in Object(n)))}}(he&&Ue(new he(new ArrayBuffer(1)))!=w||me&&Ue(new me)!=h||be&&Ue(be.resolve())!=y||ye&&Ue(new ye)!=v||ge&&Ue(new ge)!=S)&&(Ue=function(e){var t=ie.call(e),n=t==b?e.constructor:void 0,r=n?$e(n):void 0;if(r)switch(r){case Oe:return w;case _e:return h;case Se:return y;case xe:return v;case we:return S}return t});var Je=tt((function(e){var t;e=null==(t=e)?"":function(e){if("string"==typeof e)return e;if(ut(e))return Ce?Ce.call(e):"";var t=e+"";return"0"==t&&1/e==-1/0?"-0":t}(t);var n=[];return C.test(e)&&n.push(""),e.replace(P,(function(e,t,r,o){n.push(r?o.replace(T,"$1"):t||e)})),n}));function Xe(e){if("string"==typeof e||ut(e))return e;var t=e+"";return"0"==t&&1/e==-1/0?"-0":t}function $e(e){if(null!=e){try{return oe.call(e)}catch(e){}try{return e+""}catch(e){}}return""}var Ze,et=(Ze=function(e,t,n){var r=e?e.length:0;if(!r)return-1;var a,l,c=null==n?0:(a=function(e){return e?(e=function(e){if("number"==typeof e)return e;if(ut(e))return s;if(lt(e)){var t="function"==typeof e.valueOf?e.valueOf():e;e=lt(t)?t+"":t}if("string"!=typeof e)return 0===e?e:+e;e=e.replace(N,"");var n=R.test(e);return n||I.test(e)?B(e.slice(2),n?2:8):k.test(e)?s:+e}(e))===o||e===-1/0?(e<0?-1:1)*i:e==e?e:0:0===e?e:0}(n),l=a%1,a==a?l?a-l:a:0);return c<0&&(c=de(r+c,0)),function(e,t,n,r){for(var o=e.length,a=n+(r?1:-1);r?a--:++a<o;)if(t(e[a],a,e))return a;return-1}(e,Me(t),c)},function(e,t,n){var r=Object(e);if(!at(e)){var o=Me(t);e=ft(e),t=function(e){return o(r[e],e,r)}}var a=Ze(e,t,n);return a>-1?r[o?e[a]:a]:void 0});function tt(e,t){if("function"!=typeof e||t&&"function"!=typeof t)throw new TypeError("Expected a function");var n=function(){var r=arguments,o=t?t.apply(this,r):r[0],a=n.cache;if(a.has(o))return a.get(o);var i=e.apply(this,r);return n.cache=a.set(o,i),i};return n.cache=new(tt.Cache||Te),n}function nt(e,t){return e===t||e!=e&&t!=t}function rt(e){return function(e){return ct(e)&&at(e)}(e)&&ae.call(e,"callee")&&(!ue.call(e,"callee")||ie.call(e)==l)}tt.Cache=Te;var ot=Array.isArray;function at(e){return null!=e&&st(e.length)&&!it(e)}function it(e){var t=lt(e)?ie.call(e):"";return t==d||"[object GeneratorFunction]"==t}function st(e){return"number"==typeof e&&e>-1&&e%1==0&&e<=a}function lt(e){var t=typeof e;return!!e&&("object"==t||"function"==t)}function ct(e){return!!e&&"object"==typeof e}function ut(e){return"symbol"==typeof e||ct(e)&&ie.call(e)==_}var pt=U?function(e){return function(t){return e(t)}}(U):function(e){return ct(e)&&st(e.length)&&!!L[ie.call(e)]};function ft(e){return at(e)?De(e):qe(e)}function dt(e){return e}n.exports=et}).call(this,n(10),n(16)(e))},function(e){e.exports=JSON.parse('{"component":"app-launcher","status":"prod","display-name":"App Launcher","classKey":"AppLauncher","SLDS-component-path":"/components/app-launcher","dependencies":[{"component":"expandable-section","classKey":"AppLauncherExpandableSection"},{"component":"link","classKey":"AppLauncherLink"},{"component":"tile","classKey":"AppLauncherTile"}],"site-stories":[{"heading":"Default","path":"/__examples__/default.jsx"}],"url-slug":"app-launcher"}')},function(e,t){e.exports={colorBackgroundRowActive:"rgb(236, 235, 234)",colorBackgroundModalBrand:"rgb(0, 112, 210)",colorBackgroundNotification:"rgb(255, 255, 255)",colorBackgroundNotificationNew:"rgb(243, 242, 242)",colorBackgroundNotificationBadgeActive:"rgb(0, 57, 107)",colorBackgroundNotificationBadgeHover:"rgb(0, 95, 178)",colorContrastPrimary:"rgb(243, 242, 242)",colorBackgroundRowHover:"rgb(243, 242, 242)",colorForegroundPrimary:"rgb(255, 255, 255)",colorBackgroundErrorDark:"rgb(194, 57, 52)",colorBackgroundInfo:"rgb(112, 110, 107)",colorBackgroundTempModalTint:"rgba(43, 40, 38, 0.6)",colorBackgroundReminderHover:"rgb(255, 255, 255)",brandBandColorBackgroundSecondaryTransparent:"rgba(253, 253, 253, 0)",colorBackgroundNotificationBadge:"rgb(194, 57, 52)",colorBackgroundIndicatorDot:"rgb(22, 50, 92)",cardWrapperColorBackground:"rgb(255, 255, 255)",colorBackgroundAltInverse:"rgb(22, 50, 92)",popoverWalkthroughHeaderImage:"/assets/images/popovers/popover-header.png",colorBackgroundInputDisabled:"rgb(236, 235, 234)",colorBackgroundRowNew:"rgb(217, 255, 223)",colorBackgroundToggleHover:"rgb(150, 148, 146)",popoverWalkthroughColorBackground:"rgb(3, 46, 97)",colorBackgroundSuccessDark:"rgb(4, 132, 75)",colorBackgroundReminder:"rgb(244, 246, 249)",colorBackgroundStencil:"rgb(243, 242, 242)",colorBackgroundAlt2:"rgb(243, 242, 242)",colorBackgroundWarning:"rgb(255, 183, 93)",colorBackgroundButtonSuccessHover:"rgb(4, 132, 75)",popoverWalkthroughAltImage:"/assets/images/popovers/popover-action.png",colorBackgroundUtilityBarHover:"rgb(236, 235, 234)",progressColorBorderShade:"rgb(243, 242, 242)",colorBackgroundHighlightSearch:"rgb(255, 240, 63)",colorBackgroundToggle:"rgb(176, 173, 171)",colorBackgroundAnchor:"rgb(243, 242, 242)",popoverWalkthroughAltNubbinColorBackground:"rgb(33, 92, 160)",colorBackgroundDestructiveHover:"rgb(166, 26, 20)",progressColorBackgroundShade:"rgb(243, 242, 242)",colorBackground:"rgb(243, 242, 242)",colorBrandDark:"rgb(0, 112, 210)",colorBackgroundButtonSuccess:"rgb(75, 202, 129)",colorBackgroundBackdrop:"rgba(255, 255, 255, 0.75)",colorBrand:"rgb(21, 137, 238)",colorBackgroundChromeDesktop:"rgb(255, 255, 255)",pageHeaderColorBackground:"rgb(243, 242, 242)",colorBackgroundModalButtonActive:"rgba(0, 0, 0, 0.16)",colorBackgroundDestructive:"rgb(194, 57, 52)",colorBackgroundInputCheckboxSelected:"rgb(21, 137, 238)",colorBackgroundInputCheckbox:"rgb(255, 255, 255)",colorBackgroundPrimary:"rgb(243, 242, 242)",colorBackgroundSuccess:"rgb(75, 202, 129)",colorBackgroundInputCheckboxDisabled:"rgb(221, 219, 218)",colorBackgroundPill:"rgb(255, 255, 255)",colorBackgroundSpinnerDot:"rgb(176, 173, 171)",colorBackgroundBrandPrimaryFocus:"rgb(0, 95, 178)",colorBackgroundOffline:"rgb(62, 62, 60)",tableColorBackgroundHeaderHover:"rgb(255, 255, 255)",colorBackgroundBackdropTint:"rgb(250, 250, 249)",colorBackgroundBrandPrimaryActive:"rgb(0, 95, 178)",colorBackgroundInputActive:"rgb(255, 255, 255)",popoverWalkthroughColorBackgroundAlt:"rgb(22, 74, 133)",brandBandColorBackgroundSecondary:"rgb(253, 253, 253)",tableColorBackgroundHeader:"rgb(250, 250, 249)",colorBackgroundStencilAlt:"rgb(236, 235, 234)",colorBackgroundScrollbar:"rgb(236, 235, 234)",colorBackgroundToggleDisabled:"rgb(176, 173, 171)",colorBackgroundToast:"rgb(112, 110, 107)",colorBackgroundBrandPrimaryHover:"rgb(0, 95, 178)",colorBackgroundChromeMobile:"rgb(0, 112, 210)",brandBandColorBackgroundPrimaryTransparent:"rgba(253, 253, 253, 0)",colorBackgroundCustomer:"rgb(255, 154, 60)",colorBackgroundError:"rgb(212, 80, 76)",colorContrastSecondary:"rgb(243, 242, 242)",colorBackgroundBrowser:"rgb(112, 110, 107)",colorBackgroundAlt:"rgb(255, 255, 255)",colorBackgroundPost:"rgb(250, 250, 249)",colorBackgroundBrandPrimary:"rgb(0, 112, 210)",colorBackgroundRowSelected:"rgb(236, 235, 234)",colorBackgroundInput:"rgb(255, 255, 255)",colorBackgroundToastSuccess:"rgb(4, 132, 75)",colorBackgroundImageOverlay:"rgba(0, 0, 0, 0.4)",colorBrandDarker:"rgb(0, 95, 178)",colorBackgroundTempModal:"rgb(150, 148, 146)",colorBackgroundSelection:"rgb(216, 237, 255)",colorBackgroundShade:"rgb(236, 235, 234)",colorBackgroundModal:"rgb(255, 255, 255)",colorBackgroundDestructiveActive:"rgb(135, 5, 0)",colorBackgroundToggleActiveHover:"rgb(0, 95, 178)",colorBackgroundPayload:"rgb(250, 250, 249)",colorBackgroundModalButton:"rgba(0, 0, 0, 0.07)",colorBackgroundUtilityBarActive:"rgb(21, 137, 238)",colorBackgroundButtonSuccessActive:"rgb(4, 132, 75)",buttonColorBackgroundPrimary:"rgb(255, 255, 255)",colorBackgroundToastError:"rgb(194, 57, 52)",colorBackgroundOrgSwitcherArrow:"rgb(6, 28, 63)",colorBackgroundInverse:"rgb(6, 28, 63)",colorBackgroundToggleActive:"rgb(0, 112, 210)",colorPickerSliderThumbColorBackground:"rgb(243, 242, 242)",pageColorBackgroundPrimary:"rgb(253, 253, 253)",colorBackgroundShadeDark:"rgb(221, 219, 218)",colorBackgroundNotificationBadgeFocus:"rgb(0, 95, 178)",colorBackgroundActionbarIconUtility:"rgb(112, 110, 107)",colorBackgroundScrollbarTrack:"rgb(201, 199, 197)",colorBackgroundInputError:"rgb(255, 221, 225)",brandBandColorBackgroundPrimary:"rgb(253, 253, 253)",colorBackgroundHighlight:"rgb(250, 255, 189)",colorBackgroundSecondary:"rgb(255, 255, 255)",popoverWalkthroughHeaderColorBackground:"rgb(22, 74, 133)",brandBandDefaultImage:"/assets/images/themes/oneSalesforce/banner-brand-default.png",bannerUserDefaultImage:"/assets/images/themes/oneSalesforce/banner-user-default.png",bannerGroupDefaultImage:"/assets/images/themes/oneSalesforce/banner-group-public-default.png",colorBorderInputCheckboxSelectedCheckmark:"rgb(255, 255, 255)",colorBorderButtonInverseDisabled:"rgba(255, 255, 255, 0.15)",colorBorderIconInverseHintHover:"rgba(255, 255, 255, 0.75)",colorBorderErrorDark:"rgb(234, 130, 136)",colorBorderIconInverseHint:"rgba(255, 255, 255, 0.5)",colorBorderBrandDark:"rgb(0, 112, 210)",colorBorderInfo:"rgb(112, 110, 107)",colorBorderWarning:"rgb(255, 183, 93)",colorBorderTabActive:"rgb(255, 255, 255)",colorStrokeDisabled:"rgb(236, 235, 234)",colorBorderDestructiveHover:"rgb(166, 26, 20)",colorBorder:"rgb(221, 219, 218)",colorBorderInputDisabled:"rgb(201, 199, 197)",colorBorderSuccessDark:"rgb(4, 132, 75)",colorBorderReminder:"rgb(236, 235, 234)",colorStrokeBrandActive:"rgb(22, 50, 92)",colorBorderButtonBrandDisabled:"rgba(0, 0, 0, 0)",pageHeaderColorBorder:"rgb(221, 219, 218)",colorBorderDestructive:"rgb(194, 57, 52)",colorBorderPrimary:"rgb(221, 219, 218)",colorBorderButtonDefault:"rgb(221, 219, 218)",colorBorderSeparatorAlt2:"rgb(201, 199, 197)",colorBorderOffline:"rgb(62, 62, 60)",colorBorderBrandPrimaryFocus:"rgb(0, 95, 178)",colorBorderSuccess:"rgb(75, 202, 129)",colorBorderSeparator:"rgb(243, 242, 242)",colorBorderBrand:"rgb(21, 137, 238)",colorBorderBrandPrimaryHover:"rgb(0, 95, 178)",colorBorderSelectionActive:"rgb(243, 242, 242)",colorBorderButtonBrand:"rgb(0, 112, 210)",colorBorderError:"rgb(194, 57, 52)",colorBorderSelectionHover:"rgb(21, 137, 238)",colorBorderBrandPrimaryActive:"rgb(0, 95, 178)",colorBorderInputActive:"rgb(21, 137, 238)",colorBorderInput:"rgb(221, 219, 218)",colorBorderBrandPrimary:"rgb(0, 112, 210)",colorBorderToggleChecked:"rgb(255, 255, 255)",colorBorderRowSelectedHover:"rgb(21, 137, 238)",colorBorderCustomer:"rgb(255, 154, 60)",colorBorderSelection:"rgb(0, 112, 210)",colorBorderCanvasElementSelectionHover:"rgb(0, 95, 178)",cardColorBorder:"rgb(221, 219, 218)",colorBorderRowSelected:"rgb(0, 112, 210)",buttonColorBorderPrimary:"rgb(221, 219, 218)",colorBorderSeparatorAlt:"rgb(221, 219, 218)",colorBorderCanvasElementSelection:"rgb(94, 180, 255)",colorStrokeBrandHover:"rgb(0, 112, 210)",colorBorderInverse:"rgb(6, 28, 63)",colorStrokeHeaderButton:"rgb(176, 173, 171)",colorBorderDestructiveActive:"rgb(135, 5, 0)",colorBorderErrorAlt:"rgb(234, 130, 136)",pageHeaderJoinedColorBorder:"rgb(221, 219, 218)",colorStrokeBrand:"rgb(0, 112, 210)",colorBorderTabSelected:"rgb(0, 112, 210)",cardFooterColorBorder:"rgb(221, 219, 218)",colorBorderSeparatorInverse:"rgb(42, 66, 108)",pageHeaderBorderRadius:"0.25rem",tableBorderRadius:"0 0 0.25rem 0.25rem",pageHeaderShadow:"0 2px 2px 0 rgba(0, 0, 0, 0.1)",shadowSoftPrimaryHover:"rgba(0, 0, 0, 0.20) 0 3px 6px",shadowButtonFocus:"0 0 3px #0070D2",shadowHeader:"0 2px 4px rgba(0, 0, 0, 0.07)",shadowSoftPrimary:"rgba(0, 0, 0, 0.1) 0 2px 2px",shadowHardPrimary:"rgba(0, 0, 0, 0.1) 0 2px 0",shadowActionOverflowFooter:"0 -2px 4px #fafaf9",cardShadow:"0 2px 2px 0 rgba(0, 0, 0, 0.1)",shadowReminder:"0 2px 3px 0 rgba(0, 0, 0, 0.20)",shadowDocked:"0 -2px 2px 0 rgba(0, 0, 0, 0.16)",shadowInlineEdit:"0 2px 4px 4px rgba(0, 0, 0, 0.16)",shadowDrag:"0 2px 4px 0 rgba(0, 0, 0, 0.40)",shadowDropDown:"0 2px 3px 0 rgba(0, 0, 0, 0.16)",shadowFocusInset:"0 0 2px 2px #1589EE inset",shadowSoftPrimaryActive:"rgba(0, 0, 0, 0.20) 0 1px 1px",shadowButtonFocusInverse:"0 0 3px #ecebea",shadowImage:"0 1px 1px rgba(0, 0, 0, 0.16)",formLabelFontSize:".75rem",inputStaticFontSize:"0.875rem",inputStaticFontWeight:"400",tabsFontWeight:"700",cardFontWeight:"700",pageHeaderTitleFontWeight:"700",componentSpacingMargin:"0.75rem",componentSpacingPadding:"1rem",templateGutters:"0.75rem",templateProfileGutters:"8rem 0.75rem 0.75rem",tableCellSpacing:"0.25rem 0.5rem",cardSpacingMargin:"0.75rem",cardFooterPadding:"0.75rem 1rem",cardFooterTextAlign:"center",colorTextIconInverse:"rgb(255, 255, 255)",colorTextActionLabel:"rgb(112, 110, 107)",colorTextLinkInverse:"rgb(255, 255, 255)",colorTextButtonInverseDisabled:"rgba(255, 255, 255, 0.15)",colorTextIconInverseHintHover:"rgba(255, 255, 255, 0.75)",colorTextInputIcon:"rgb(176, 173, 171)",colorTextLinkInverseActive:"rgba(255, 255, 255, 0.5)",colorTextActionLabelActive:"rgb(62, 62, 60)",colorTextIconInverseActive:"rgb(255, 255, 255)",colorTextTabLabelSelected:"rgb(0, 112, 210)",colorTextWarning:"rgb(255, 183, 93)",colorTextIconInverseHint:"rgba(255, 255, 255, 0.5)",colorTextTabLabelDisabled:"rgb(236, 235, 234)",colorTextButtonDefaultHover:"rgb(0, 112, 210)",colorTextInputDisabled:"rgb(112, 110, 107)",colorTextTertiary:"rgb(150, 148, 146)",colorTextLinkFocus:"rgb(0, 95, 178)",colorTextButtonDefault:"rgb(0, 112, 210)",colorTextIconDefaultDisabled:"rgb(221, 219, 218)",colorTextLinkDisabled:"rgb(22, 50, 92)",colorTextDefault:"rgb(62, 62, 60)",colorTextInverseActive:"rgb(94, 180, 255)",colorTextButtonBrandDisabled:"rgb(255, 255, 255)",colorTextPrimary:"rgb(62, 62, 60)",colorTextLinkPrimaryFocus:"rgb(0, 95, 178)",colorTextButtonBrandHover:"rgb(255, 255, 255)",colorTextLinkHover:"rgb(0, 95, 178)",colorTextTabLabelFocus:"rgb(0, 95, 178)",colorTextSuccess:"rgb(2, 126, 70)",colorTextWeak:"rgb(112, 110, 107)",colorTextPlaceholderInverse:"rgb(236, 235, 234)",colorTextIconDefaultHover:"rgb(0, 112, 210)",colorTextIconDefaultHintBorderless:"rgb(236, 235, 234)",colorTextPill:"rgb(0, 112, 210)",colorTextLinkPrimaryHover:"rgb(0, 95, 178)",colorTextLink:"rgb(0, 109, 204)",colorTextWarningAlt:"rgb(132, 72, 0)",colorTextButtonBrand:"rgb(255, 255, 255)",colorTextTabLabelActive:"rgb(0, 57, 107)",colorTextIconDefault:"rgb(112, 110, 107)",colorTextBrand:"rgb(21, 137, 238)",colorTextTabLabelHover:"rgb(0, 95, 178)",colorTextButtonDefaultDisabled:"rgb(221, 219, 218)",colorTextToast:"rgb(236, 235, 234)",colorTextToggleDisabled:"rgb(221, 219, 218)",colorTextBrowser:"rgb(255, 255, 255)",colorTextLinkPrimaryActive:"rgb(0, 95, 178)",colorTextError:"rgb(194, 57, 52)",colorTextLinkPrimary:"rgb(0, 112, 210)",colorTextBrowserActive:"rgba(0, 0, 0, 0.4)",colorTextTabLabel:"rgb(22, 50, 92)",colorTextCustomer:"rgb(255, 154, 60)",colorTextIconDefaultActive:"rgb(0, 57, 107)",colorTextBrandPrimary:"rgb(255, 255, 255)",colorTextLinkActive:"rgb(0, 57, 107)",colorTextIconDefaultHint:"rgb(176, 173, 171)",colorTextButtonBrandActive:"rgb(255, 255, 255)",colorTextRequired:"rgb(194, 57, 52)",colorTextIconBrand:"rgb(0, 112, 210)",colorTextInverseHover:"rgb(176, 173, 171)",colorTextModal:"rgb(255, 255, 255)",colorTextButtonInverse:"rgb(236, 235, 234)",buttonColorTextPrimary:"rgb(255, 255, 255)",colorTextModalButton:"rgb(112, 110, 107)",colorTextLinkInverseDisabled:"rgba(255, 255, 255, 0.15)",colorTextInverse:"rgb(255, 255, 255)",colorTextButtonDefaultActive:"rgb(0, 112, 210)",colorTextIconInverseDisabled:"rgba(255, 255, 255, 0.15)",colorTextButtonDefaultHint:"rgb(176, 173, 171)",colorTextIconUtility:"rgb(176, 173, 171)",colorTextIconInverseHover:"rgb(255, 255, 255)",colorTextPlaceholder:"rgb(112, 110, 107)",colorTextInverseWeak:"rgb(176, 173, 171)",colorTextSecondary:"rgb(112, 110, 107)",colorTextInputFocusInverse:"rgb(22, 50, 92)",colorTextStageLeft:"rgb(236, 235, 234)",colorTextLinkInverseHover:"rgba(255, 255, 255, 0.75)",colorTextSuccessInverse:"rgb(75, 202, 129)",colorTextLabel:"rgb(112, 110, 107)"}},function(e,t,n){(function(e,n){var r="Expected a function",o="__lodash_hash_undefined__",a=9007199254740991,i="[object Arguments]",s="[object Array]",l="[object Boolean]",c="[object Date]",u="[object Error]",p="[object Function]",f="[object Map]",d="[object Number]",h="[object Object]",m="[object Promise]",b="[object RegExp]",y="[object Set]",g="[object String]",v="[object Symbol]",O="[object WeakMap]",_="[object ArrayBuffer]",S="[object DataView]",x=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,w=/^\w*$/,E=/^\./,j=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,C=/\\(\\)?/g,P=/^\[object .+?Constructor\]$/,N=/^(?:0|[1-9]\d*)$/,T={};T["[object Float32Array]"]=T["[object Float64Array]"]=T["[object Int8Array]"]=T["[object Int16Array]"]=T["[object Int32Array]"]=T["[object Uint8Array]"]=T["[object Uint8ClampedArray]"]=T["[object Uint16Array]"]=T["[object Uint32Array]"]=!0,T[i]=T[s]=T[_]=T[l]=T[S]=T[c]=T[u]=T[p]=T[f]=T[d]=T[h]=T[b]=T[y]=T[g]=T[O]=!1;var k="object"==typeof e&&e&&e.Object===Object&&e,R="object"==typeof self&&self&&self.Object===Object&&self,D=k||R||Function("return this")(),I=t&&!t.nodeType&&t,A=I&&"object"==typeof n&&n&&!n.nodeType&&n,L=A&&A.exports===I&&k.process,B=function(){try{return L&&L.binding("util")}catch(e){}}(),F=B&&B.isTypedArray;function M(e,t){for(var n=-1,r=e?e.length:0,o=0,a=[];++n<r;){var i=e[n];t(i,n,e)&&(a[o++]=i)}return a}function q(e,t){for(var n=-1,r=e?e.length:0;++n<r;)if(t(e[n],n,e))return!0;return!1}function H(e){var t=!1;if(null!=e&&"function"!=typeof e.toString)try{t=!!(e+"")}catch(e){}return t}function K(e){var t=-1,n=Array(e.size);return e.forEach((function(e,r){n[++t]=[r,e]})),n}function W(e){var t=-1,n=Array(e.size);return e.forEach((function(e){n[++t]=e})),n}var V,U,z,G=Array.prototype,Y=Function.prototype,Q=Object.prototype,J=D["__core-js_shared__"],X=(V=/[^.]+$/.exec(J&&J.keys&&J.keys.IE_PROTO||""))?"Symbol(src)_1."+V:"",$=Y.toString,Z=Q.hasOwnProperty,ee=Q.toString,te=RegExp("^"+$.call(Z).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),ne=D.Symbol,re=D.Uint8Array,oe=Q.propertyIsEnumerable,ae=G.splice,ie=(U=Object.keys,z=Object,function(e){return U(z(e))}),se=Ke(D,"DataView"),le=Ke(D,"Map"),ce=Ke(D,"Promise"),ue=Ke(D,"Set"),pe=Ke(D,"WeakMap"),fe=Ke(Object,"create"),de=Je(se),he=Je(le),me=Je(ce),be=Je(ue),ye=Je(pe),ge=ne?ne.prototype:void 0,ve=ge?ge.valueOf:void 0,Oe=ge?ge.toString:void 0;function _e(e){var t=-1,n=e?e.length:0;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}function Se(e){var t=-1,n=e?e.length:0;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}function xe(e){var t=-1,n=e?e.length:0;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}function we(e){var t=-1,n=e?e.length:0;for(this.__data__=new xe;++t<n;)this.add(e[t])}function Ee(e){this.__data__=new Se(e)}function je(e,t){var n=et(e)||Ze(e)?function(e,t){for(var n=-1,r=Array(e);++n<e;)r[n]=t(n);return r}(e.length,String):[],r=n.length,o=!!r;for(var a in e)!t&&!Z.call(e,a)||o&&("length"==a||Ve(a,r))||n.push(a);return n}function Ce(e,t){for(var n=e.length;n--;)if($e(e[n][0],t))return n;return-1}_e.prototype.clear=function(){this.__data__=fe?fe(null):{}},_e.prototype.delete=function(e){return this.has(e)&&delete this.__data__[e]},_e.prototype.get=function(e){var t=this.__data__;if(fe){var n=t[e];return n===o?void 0:n}return Z.call(t,e)?t[e]:void 0},_e.prototype.has=function(e){var t=this.__data__;return fe?void 0!==t[e]:Z.call(t,e)},_e.prototype.set=function(e,t){return this.__data__[e]=fe&&void 0===t?o:t,this},Se.prototype.clear=function(){this.__data__=[]},Se.prototype.delete=function(e){var t=this.__data__,n=Ce(t,e);return!(n<0)&&(n==t.length-1?t.pop():ae.call(t,n,1),!0)},Se.prototype.get=function(e){var t=this.__data__,n=Ce(t,e);return n<0?void 0:t[n][1]},Se.prototype.has=function(e){return Ce(this.__data__,e)>-1},Se.prototype.set=function(e,t){var n=this.__data__,r=Ce(n,e);return r<0?n.push([e,t]):n[r][1]=t,this},xe.prototype.clear=function(){this.__data__={hash:new _e,map:new(le||Se),string:new _e}},xe.prototype.delete=function(e){return He(this,e).delete(e)},xe.prototype.get=function(e){return He(this,e).get(e)},xe.prototype.has=function(e){return He(this,e).has(e)},xe.prototype.set=function(e,t){return He(this,e).set(e,t),this},we.prototype.add=we.prototype.push=function(e){return this.__data__.set(e,o),this},we.prototype.has=function(e){return this.__data__.has(e)},Ee.prototype.clear=function(){this.__data__=new Se},Ee.prototype.delete=function(e){return this.__data__.delete(e)},Ee.prototype.get=function(e){return this.__data__.get(e)},Ee.prototype.has=function(e){return this.__data__.has(e)},Ee.prototype.set=function(e,t){var n=this.__data__;if(n instanceof Se){var r=n.__data__;if(!le||r.length<199)return r.push([e,t]),this;n=this.__data__=new xe(r)}return n.set(e,t),this};var Pe,Ne,Te=(Pe=function(e,t){return e&&Re(e,t,lt)},function(e,t){if(null==e)return e;if(!tt(e))return Pe(e,t);for(var n=e.length,r=Ne?n:-1,o=Object(e);(Ne?r--:++r<n)&&!1!==t(o[r],r,o););return e});function ke(e,t){var n=[];return Te(e,(function(e,r,o){t(e,r,o)&&n.push(e)})),n}var Re=function(e){return function(t,n,r){for(var o=-1,a=Object(t),i=r(t),s=i.length;s--;){var l=i[e?s:++o];if(!1===n(a[l],l,a))break}return t}}();function De(e,t){for(var n=0,r=(t=Ue(t,e)?[t]:Me(t)).length;null!=e&&n<r;)e=e[Qe(t[n++])];return n&&n==r?e:void 0}function Ie(e,t){return null!=e&&t in Object(e)}function Ae(e,t,n,r,o){return e===t||(null==e||null==t||!ot(e)&&!at(t)?e!=e&&t!=t:function(e,t,n,r,o,a){var p=et(e),m=et(t),O=s,x=s;p||(O=(O=We(e))==i?h:O);m||(x=(x=We(t))==i?h:x);var w=O==h&&!H(e),E=x==h&&!H(t),j=O==x;if(j&&!w)return a||(a=new Ee),p||st(e)?qe(e,t,n,r,o,a):function(e,t,n,r,o,a,i){switch(n){case S:if(e.byteLength!=t.byteLength||e.byteOffset!=t.byteOffset)return!1;e=e.buffer,t=t.buffer;case _:return!(e.byteLength!=t.byteLength||!r(new re(e),new re(t)));case l:case c:case d:return $e(+e,+t);case u:return e.name==t.name&&e.message==t.message;case b:case g:return e==t+"";case f:var s=K;case y:var p=2&a;if(s||(s=W),e.size!=t.size&&!p)return!1;var h=i.get(e);if(h)return h==t;a|=1,i.set(e,t);var m=qe(s(e),s(t),r,o,a,i);return i.delete(e),m;case v:if(ve)return ve.call(e)==ve.call(t)}return!1}(e,t,O,n,r,o,a);if(!(2&o)){var C=w&&Z.call(e,"__wrapped__"),P=E&&Z.call(t,"__wrapped__");if(C||P){var N=C?e.value():e,T=P?t.value():t;return a||(a=new Ee),n(N,T,r,o,a)}}if(!j)return!1;return a||(a=new Ee),function(e,t,n,r,o,a){var i=2&o,s=lt(e),l=s.length,c=lt(t).length;if(l!=c&&!i)return!1;var u=l;for(;u--;){var p=s[u];if(!(i?p in t:Z.call(t,p)))return!1}var f=a.get(e);if(f&&a.get(t))return f==t;var d=!0;a.set(e,t),a.set(t,e);var h=i;for(;++u<l;){var m=e[p=s[u]],b=t[p];if(r)var y=i?r(b,m,p,t,e,a):r(m,b,p,e,t,a);if(!(void 0===y?m===b||n(m,b,r,o,a):y)){d=!1;break}h||(h="constructor"==p)}if(d&&!h){var g=e.constructor,v=t.constructor;g==v||!("constructor"in e)||!("constructor"in t)||"function"==typeof g&&g instanceof g&&"function"==typeof v&&v instanceof v||(d=!1)}return a.delete(e),a.delete(t),d}(e,t,n,r,o,a)}(e,t,Ae,n,r,o))}function Le(e){return!(!ot(e)||function(e){return!!X&&X in e}(e))&&(nt(e)||H(e)?te:P).test(Je(e))}function Be(e){return"function"==typeof e?e:null==e?ct:"object"==typeof e?et(e)?function(e,t){if(Ue(e)&&ze(t))return Ge(Qe(e),t);return function(n){var r=function(e,t,n){var r=null==e?void 0:De(e,t);return void 0===r?n:r}(n,e);return void 0===r&&r===t?function(e,t){return null!=e&&function(e,t,n){t=Ue(t,e)?[t]:Me(t);var r,o=-1,a=t.length;for(;++o<a;){var i=Qe(t[o]);if(!(r=null!=e&&n(e,i)))break;e=e[i]}if(r)return r;return!!(a=e?e.length:0)&&rt(a)&&Ve(i,a)&&(et(e)||Ze(e))}(e,t,Ie)}(n,e):Ae(t,r,void 0,3)}}(e[0],e[1]):function(e){var t=function(e){var t=lt(e),n=t.length;for(;n--;){var r=t[n],o=e[r];t[n]=[r,o,ze(o)]}return t}(e);if(1==t.length&&t[0][2])return Ge(t[0][0],t[0][1]);return function(n){return n===e||function(e,t,n,r){var o=n.length,a=o,i=!r;if(null==e)return!a;for(e=Object(e);o--;){var s=n[o];if(i&&s[2]?s[1]!==e[s[0]]:!(s[0]in e))return!1}for(;++o<a;){var l=(s=n[o])[0],c=e[l],u=s[1];if(i&&s[2]){if(void 0===c&&!(l in e))return!1}else{var p=new Ee;if(r)var f=r(c,u,l,e,t,p);if(!(void 0===f?Ae(u,c,r,3,p):f))return!1}}return!0}(n,e,t)}}(e):Ue(t=e)?(n=Qe(t),function(e){return null==e?void 0:e[n]}):function(e){return function(t){return De(t,e)}}(t);var t,n}function Fe(e){if(n=(t=e)&&t.constructor,r="function"==typeof n&&n.prototype||Q,t!==r)return ie(e);var t,n,r,o=[];for(var a in Object(e))Z.call(e,a)&&"constructor"!=a&&o.push(a);return o}function Me(e){return et(e)?e:Ye(e)}function qe(e,t,n,r,o,a){var i=2&o,s=e.length,l=t.length;if(s!=l&&!(i&&l>s))return!1;var c=a.get(e);if(c&&a.get(t))return c==t;var u=-1,p=!0,f=1&o?new we:void 0;for(a.set(e,t),a.set(t,e);++u<s;){var d=e[u],h=t[u];if(r)var m=i?r(h,d,u,t,e,a):r(d,h,u,e,t,a);if(void 0!==m){if(m)continue;p=!1;break}if(f){if(!q(t,(function(e,t){if(!f.has(t)&&(d===e||n(d,e,r,o,a)))return f.add(t)}))){p=!1;break}}else if(d!==h&&!n(d,h,r,o,a)){p=!1;break}}return a.delete(e),a.delete(t),p}function He(e,t){var n,r,o=e.__data__;return("string"==(r=typeof(n=t))||"number"==r||"symbol"==r||"boolean"==r?"__proto__"!==n:null===n)?o["string"==typeof t?"string":"hash"]:o.map}function Ke(e,t){var n=function(e,t){return null==e?void 0:e[t]}(e,t);return Le(n)?n:void 0}var We=function(e){return ee.call(e)};function Ve(e,t){return!!(t=null==t?a:t)&&("number"==typeof e||N.test(e))&&e>-1&&e%1==0&&e<t}function Ue(e,t){if(et(e))return!1;var n=typeof e;return!("number"!=n&&"symbol"!=n&&"boolean"!=n&&null!=e&&!it(e))||(w.test(e)||!x.test(e)||null!=t&&e in Object(t))}function ze(e){return e==e&&!ot(e)}function Ge(e,t){return function(n){return null!=n&&(n[e]===t&&(void 0!==t||e in Object(n)))}}(se&&We(new se(new ArrayBuffer(1)))!=S||le&&We(new le)!=f||ce&&We(ce.resolve())!=m||ue&&We(new ue)!=y||pe&&We(new pe)!=O)&&(We=function(e){var t=ee.call(e),n=t==h?e.constructor:void 0,r=n?Je(n):void 0;if(r)switch(r){case de:return S;case he:return f;case me:return m;case be:return y;case ye:return O}return t});var Ye=Xe((function(e){var t;e=null==(t=e)?"":function(e){if("string"==typeof e)return e;if(it(e))return Oe?Oe.call(e):"";var t=e+"";return"0"==t&&1/e==-1/0?"-0":t}(t);var n=[];return E.test(e)&&n.push(""),e.replace(j,(function(e,t,r,o){n.push(r?o.replace(C,"$1"):t||e)})),n}));function Qe(e){if("string"==typeof e||it(e))return e;var t=e+"";return"0"==t&&1/e==-1/0?"-0":t}function Je(e){if(null!=e){try{return $.call(e)}catch(e){}try{return e+""}catch(e){}}return""}function Xe(e,t){if("function"!=typeof e||t&&"function"!=typeof t)throw new TypeError(r);var n=function(){var r=arguments,o=t?t.apply(this,r):r[0],a=n.cache;if(a.has(o))return a.get(o);var i=e.apply(this,r);return n.cache=a.set(o,i),i};return n.cache=new(Xe.Cache||xe),n}function $e(e,t){return e===t||e!=e&&t!=t}function Ze(e){return function(e){return at(e)&&tt(e)}(e)&&Z.call(e,"callee")&&(!oe.call(e,"callee")||ee.call(e)==i)}Xe.Cache=xe;var et=Array.isArray;function tt(e){return null!=e&&rt(e.length)&&!nt(e)}function nt(e){var t=ot(e)?ee.call(e):"";return t==p||"[object GeneratorFunction]"==t}function rt(e){return"number"==typeof e&&e>-1&&e%1==0&&e<=a}function ot(e){var t=typeof e;return!!e&&("object"==t||"function"==t)}function at(e){return!!e&&"object"==typeof e}function it(e){return"symbol"==typeof e||at(e)&&ee.call(e)==v}var st=F?function(e){return function(t){return e(t)}}(F):function(e){return at(e)&&rt(e.length)&&!!T[ee.call(e)]};function lt(e){return tt(e)?je(e):Fe(e)}function ct(e){return e}n.exports=function(e,t){return(et(e)?M:ke)(e,function(e){if("function"!=typeof e)throw new TypeError(r);return function(){var t=arguments;switch(t.length){case 0:return!e.call(this);case 1:return!e.call(this,t[0]);case 2:return!e.call(this,t[0],t[1]);case 3:return!e.call(this,t[0],t[1],t[2])}return!e.apply(this,t)}}(Be(t)))}}).call(this,n(10),n(16)(e))},function(e,t){e.exports=function(e){return e.webpackPolyfill||(e.deprecate=function(){},e.paths=[],e.children||(e.children=[]),Object.defineProperty(e,"loaded",{enumerable:!0,get:function(){return e.l}}),Object.defineProperty(e,"id",{enumerable:!0,get:function(){return e.i}}),e.webpackPolyfill=1),e}},function(e){e.exports=JSON.parse('{"component":"setup-assistant","status":"prod","display-name":"Setup Assistant","classKey":"SetupAssistant","SLDS-component-path":"/components/setup-assistant","dependencies":[{"component":"step","classKey":"SetupAssistantStep"}],"site-stories":[{"heading":"Base","path":"/__examples__/base.jsx"},{"heading":"Step Progress Indicator","path":"/__examples__/step-progress.jsx"},{"heading":"Expandable Steps","path":"/__examples__/hub-expandable-steps.jsx"},{"heading":"With Card","path":"/__examples__/card.jsx"}],"url-slug":"setup-assistant"}')},function(e,t,n){"use strict";var r,o,a,i=n(64),s="0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_-";function l(){a=!1}function c(e){if(e){if(e!==r){if(e.length!==s.length)throw new Error("Custom alphabet for shortid must be "+s.length+" unique characters. You submitted "+e.length+" characters: "+e);var t=e.split("").filter((function(e,t,n){return t!==n.lastIndexOf(e)}));if(t.length)throw new Error("Custom alphabet for shortid must be "+s.length+" unique characters. These characters were not unique: "+t.join(", "));r=e,l()}}else r!==s&&(r=s,l())}function u(){return a||(a=function(){r||c(s);for(var e,t=r.split(""),n=[],o=i.nextValue();t.length>0;)o=i.nextValue(),e=Math.floor(o*t.length),n.push(t.splice(e,1)[0]);return n.join("")}())}e.exports={get:function(){return r||s},characters:function(e){return c(e),r},seed:function(e){i.seed(e),o!==e&&(l(),o=e)},lookup:function(e){return u()[e]},shuffled:u}},function(e,t){e.exports=function(e,t){return function(n,r,o){if("function"!=typeof e)return new Error("Invalid react-required-if prop type supplied to "+o+". Validation failed.");if("function"!=typeof t)return new Error("Invalid react-required-if condition supplied to "+o+". Validation failed.");var a=t(n)?e.isRequired:e;return a.apply(this,arguments)}}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r,o=n(71),a=(r=o)&&r.__esModule?r:{default:r};t.default=a.default,e.exports=t.default},function(e){e.exports=JSON.parse('{"component":"input","status":"prod","display-name":"Inputs","classKey":"Input","last-accessibility-review":{"date-iso-8601":"2017/09/22","commit-sha":"ad6b6c6523ee21cada11be5f7ea4d99abc530726"},"dependencies":[{"component":"search","classKey":"InputSearch"}],"SLDS-component-path":"/components/input","site-stories":[{"heading":"Default","path":"/__examples__/default.jsx"},{"heading":"With Icons","path":"/__examples__/icons.jsx"},{"heading":"Error State","path":"/__examples__/error.jsx"},{"heading":"Disabled","path":"/__examples__/inactiveInputs.jsx"},{"heading":"With Inline Help","path":"/__examples__/inline-help.jsx"},{"heading":"With Field Level Help","path":"/__examples__/field-level-help.jsx"},{"heading":"Counter","path":"/__examples__/counter-input.jsx"}],"url-slug":"inputs"}')},function(e){e.exports=JSON.parse('{"component":"global-navigation-bar","status":"prod","display-name":"Global Navigation Bar","classKey":"GlobalNavigationBar","last-accessibility-review":{"date-iso-8601":"2017/05/02","commit-sha":"ad6b6c6523ee21cada11be5f7ea4d99abc530726"},"SLDS-component-path":"/components/global-navigation","dependencies":[{"component":"button","classKey":"GlobalNavigationBarButton"},{"component":"dropdown","classKey":"GlobalNavigationBarDropdown"},{"component":"label","classKey":"GlobalNavigationBarLabel"},{"component":"link","classKey":"GlobalNavigationBarLink"},{"component":"region","classKey":"GlobalNavigationBarRegion"}],"site-stories":[{"heading":"Default","path":"/__examples__/default.jsx"}],"url-slug":"global-navigation-bar"}')},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.canUseDOM=void 0;var r,o=n(76);var a=((r=o)&&r.__esModule?r:{default:r}).default,i=a.canUseDOM?window.HTMLElement:{};t.canUseDOM=a.canUseDOM;t.default=i},function(e,t,n){"use strict";var r=n(1),o=n(82);if(void 0===r)throw Error("create-react-class could not find the React object. If you are using script tags, make sure that React is being loaded before create-react-class.");var a=(new r.Component).updater;e.exports=o(r.Component,r.isValidElement,a)},function(e,t,n){var r=n(1),o=n(79),a=n(80),i=n(81),s=n(24),l=n(0);function c(e,t){if(!String.prototype.normalize)return e;if(t){var n=t.split("");return e.normalize("NFD").replace(/.[\u0300-\u036f]+/g,(function(e){return n.indexOf(e.normalize())>-1?e.normalize():e[0]}))}return e.normalize("NFD").replace(/[\u0300-\u036f]/g,"")}var u=s({displayName:"Highlighter",count:0,propTypes:{search:l.oneOfType([l.string,l.number,l.bool,o]).isRequired,caseSensitive:l.bool,ignoreDiacritics:l.bool,diacriticsBlacklist:l.string,matchElement:l.oneOfType([l.string,l.func]),matchClass:l.string,matchStyle:l.object},render:function(){var e=i(this.props,"search","caseSensitive","ignoreDiacritics","diacriticsBlacklist","matchElement","matchClass","matchStyle");return r.createElement("span",e,this.renderElement(this.props.children))},renderElement:function(e){if(this.isScalar()&&this.hasSearch()){var t=this.getSearch();return this.highlightChildren(e,t)}return this.props.children},isScalar:function(){return/string|number|boolean/.test(typeof this.props.children)},hasSearch:function(){return void 0!==this.props.search&&this.props.search},getSearch:function(){if(this.props.search instanceof RegExp)return this.props.search;var e="";this.props.caseSensitive||(e+="i");var t=this.props.search;return"string"==typeof this.props.search&&(t=a(t)),this.props.ignoreDiacritics&&(t=c(t,this.props.diacriticsBlacklist)),new RegExp(t,e)},getMatchBoundaries:function(e,t){var n=t.exec(e);if(n)return{first:n.index,last:n.index+n[0].length}},highlightChildren:function(e,t){for(var n=[],r=e;r;){var o=this.props.ignoreDiacritics?c(r,this.props.diacriticsBlacklist):r;if(!t.test(o))return n.push(this.renderPlain(r)),n;var a=this.getMatchBoundaries(o,t);if(0===a.first&&0===a.last)return n;var i=r.slice(0,a.first);i&&n.push(this.renderPlain(i));var s=r.slice(a.first,a.last);s&&n.push(this.renderHighlight(s)),r=r.slice(a.last)}return n},renderPlain:function(e){return this.count++,r.createElement("span",{key:this.count,children:e})},renderHighlight:function(e){return this.count++,r.createElement(this.props.matchElement,{key:this.count,className:this.props.matchClass,style:this.props.matchStyle,children:e})}});u.defaultProps={caseSensitive:!1,ignoreDiacritics:!1,diacriticsBlacklist:"",matchElement:"mark",matchClass:"highlight",matchStyle:{}},e.exports=u},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){return[].slice.call(e.querySelectorAll("*"),0).filter(i)};var r=/input|select|textarea|button|object/;function o(e){var t=e.offsetWidth<=0&&e.offsetHeight<=0;if(t&&!e.innerHTML)return!0;var n=window.getComputedStyle(e);return t?"visible"!==n.getPropertyValue("overflow"):"none"==n.getPropertyValue("display")}function a(e,t){var n=e.nodeName.toLowerCase();return(r.test(n)&&!e.disabled||"a"===n&&e.href||t)&&function(e){for(var t=e;t&&t!==document.body;){if(o(t))return!1;t=t.parentNode}return!0}(e)}function i(e){var t=e.getAttribute("tabindex");null===t&&(t=void 0);var n=isNaN(t);return(n||t>=0)&&a(e,!n)}e.exports=t.default},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.assertNodeList=l,t.setElement=function(e){var t=e;if("string"==typeof t&&i.canUseDOM){var n=document.querySelectorAll(t);l(n,t),t="length"in n?n[0]:n}return s=t||s},t.validateElement=c,t.hide=function(e){c(e)&&(e||s).setAttribute("aria-hidden","true")},t.show=function(e){c(e)&&(e||s).removeAttribute("aria-hidden")},t.documentNotReadyOrSSRTesting=function(){s=null},t.resetForTesting=function(){s=null};var r,o=n(75),a=(r=o)&&r.__esModule?r:{default:r},i=n(23);var s=null;function l(e,t){if(!e||!e.length)throw new Error("react-modal: No elements were found for selector "+t+".")}function c(e){return!(!e&&!s)||((0,a.default)(!1,["react-modal: App element is not defined.","Please use `Modal.setAppElement(el)` or set `appElement={el}`.","This is needed so screen readers don't see main content","when modal is opened. It is not recommended, but you can opt-out","by setting `ariaHideApp={false}`."].join(" ")),!1)}},function(e){e.exports=JSON.parse('{"component":"button","status":"prod","display-name":"Buttons","classKey":"Button","last-accessibility-review":{"date-iso-8601":"2018/01/18","commit-sha":"ad6b6c6523ee21cada11be5f7ea4d99abc530726"},"SLDS-component-path":"/components/buttons","site-stories":[{"heading":"Base Neutral","path":"/__examples__/base-neutral.jsx"},{"heading":"Variants","path":"/__examples__/brand-disabled-destructive-inverse.jsx"},{"heading":"Button Icons","path":"/__examples__/button-icons.jsx"}],"url-slug":"buttons"}')},function(e,t,n){"use strict";(function(e){for(var n="undefined"!=typeof window&&"undefined"!=typeof document,r=["Edge","Trident","Firefox"],o=0,a=0;a<r.length;a+=1)if(n&&navigator.userAgent.indexOf(r[a])>=0){o=1;break}var i=n&&window.Promise?function(e){var t=!1;return function(){t||(t=!0,window.Promise.resolve().then((function(){t=!1,e()})))}}:function(e){var t=!1;return function(){t||(t=!0,setTimeout((function(){t=!1,e()}),o))}};function s(e){return e&&"[object Function]"==={}.toString.call(e)}function l(e,t){if(1!==e.nodeType)return[];var n=getComputedStyle(e,null);return t?n[t]:n}function c(e){return"HTML"===e.nodeName?e:e.parentNode||e.host}function u(e){if(!e)return document.body;switch(e.nodeName){case"HTML":case"BODY":return e.ownerDocument.body;case"#document":return e.body}var t=l(e),n=t.overflow,r=t.overflowX,o=t.overflowY;return/(auto|scroll)/.test(n+o+r)?e:u(c(e))}function p(e){var t=e&&e.offsetParent,n=t&&t.nodeName;return n&&"BODY"!==n&&"HTML"!==n?-1!==["TD","TABLE"].indexOf(t.nodeName)&&"static"===l(t,"position")?p(t):t:e?e.ownerDocument.documentElement:document.documentElement}function f(e){return null!==e.parentNode?f(e.parentNode):e}function d(e,t){if(!(e&&e.nodeType&&t&&t.nodeType))return document.documentElement;var n=e.compareDocumentPosition(t)&Node.DOCUMENT_POSITION_FOLLOWING,r=n?e:t,o=n?t:e,a=document.createRange();a.setStart(r,0),a.setEnd(o,0);var i,s,l=a.commonAncestorContainer;if(e!==l&&t!==l||r.contains(o))return"BODY"===(s=(i=l).nodeName)||"HTML"!==s&&p(i.firstElementChild)!==i?p(l):l;var c=f(e);return c.host?d(c.host,t):d(e,f(t).host)}function h(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"top",n="top"===t?"scrollTop":"scrollLeft",r=e.nodeName;if("BODY"===r||"HTML"===r){var o=e.ownerDocument.documentElement,a=e.ownerDocument.scrollingElement||o;return a[n]}return e[n]}function m(e,t){var n="x"===t?"Left":"Top",r="Left"===n?"Right":"Bottom";return parseFloat(e["border"+n+"Width"],10)+parseFloat(e["border"+r+"Width"],10)}var b=void 0,y=function(){return void 0===b&&(b=-1!==navigator.appVersion.indexOf("MSIE 10")),b};function g(e,t,n,r){return Math.max(t["offset"+e],t["scroll"+e],n["client"+e],n["offset"+e],n["scroll"+e],y()?n["offset"+e]+r["margin"+("Height"===e?"Top":"Left")]+r["margin"+("Height"===e?"Bottom":"Right")]:0)}function v(){var e=document.body,t=document.documentElement,n=y()&&getComputedStyle(t);return{height:g("Height",e,t,n),width:g("Width",e,t,n)}}var O=function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")},_=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),S=function(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e},x=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e};function w(e){return x({},e,{right:e.left+e.width,bottom:e.top+e.height})}function E(e){var t={};if(y())try{t=e.getBoundingClientRect();var n=h(e,"top"),r=h(e,"left");t.top+=n,t.left+=r,t.bottom+=n,t.right+=r}catch(e){}else t=e.getBoundingClientRect();var o={left:t.left,top:t.top,width:t.right-t.left,height:t.bottom-t.top},a="HTML"===e.nodeName?v():{},i=a.width||e.clientWidth||o.right-o.left,s=a.height||e.clientHeight||o.bottom-o.top,c=e.offsetWidth-i,u=e.offsetHeight-s;if(c||u){var p=l(e);c-=m(p,"x"),u-=m(p,"y"),o.width-=c,o.height-=u}return w(o)}function j(e,t){var n=y(),r="HTML"===t.nodeName,o=E(e),a=E(t),i=u(e),s=l(t),c=parseFloat(s.borderTopWidth,10),p=parseFloat(s.borderLeftWidth,10),f=w({top:o.top-a.top-c,left:o.left-a.left-p,width:o.width,height:o.height});if(f.marginTop=0,f.marginLeft=0,!n&&r){var d=parseFloat(s.marginTop,10),m=parseFloat(s.marginLeft,10);f.top-=c-d,f.bottom-=c-d,f.left-=p-m,f.right-=p-m,f.marginTop=d,f.marginLeft=m}return(n?t.contains(i):t===i&&"BODY"!==i.nodeName)&&(f=function(e,t){var n=arguments.length>2&&void 0!==arguments[2]&&arguments[2],r=h(t,"top"),o=h(t,"left"),a=n?-1:1;return e.top+=r*a,e.bottom+=r*a,e.left+=o*a,e.right+=o*a,e}(f,t)),f}function C(e){var t=e.nodeName;return"BODY"!==t&&"HTML"!==t&&("fixed"===l(e,"position")||C(c(e)))}function P(e,t,n,r){var o={top:0,left:0},a=d(e,t);if("viewport"===r)o=function(e){var t=e.ownerDocument.documentElement,n=j(e,t),r=Math.max(t.clientWidth,window.innerWidth||0),o=Math.max(t.clientHeight,window.innerHeight||0),a=h(t),i=h(t,"left");return w({top:a-n.top+n.marginTop,left:i-n.left+n.marginLeft,width:r,height:o})}(a);else{var i=void 0;"scrollParent"===r?"BODY"===(i=u(c(t))).nodeName&&(i=e.ownerDocument.documentElement):i="window"===r?e.ownerDocument.documentElement:r;var s=j(i,a);if("HTML"!==i.nodeName||C(a))o=s;else{var l=v(),p=l.height,f=l.width;o.top+=s.top-s.marginTop,o.bottom=p+s.top,o.left+=s.left-s.marginLeft,o.right=f+s.left}}return o.left+=n,o.top+=n,o.right-=n,o.bottom-=n,o}function N(e){return e.width*e.height}function T(e,t,n,r,o){var a=arguments.length>5&&void 0!==arguments[5]?arguments[5]:0;if(-1===e.indexOf("auto"))return e;var i=P(n,r,a,o),s={top:{width:i.width,height:t.top-i.top},right:{width:i.right-t.right,height:i.height},bottom:{width:i.width,height:i.bottom-t.bottom},left:{width:t.left-i.left,height:i.height}},l=Object.keys(s).map((function(e){return x({key:e},s[e],{area:N(s[e])})})).sort((function(e,t){return t.area-e.area})),c=l.filter((function(e){var t=e.width,r=e.height;return t>=n.clientWidth&&r>=n.clientHeight})),u=c.length>0?c[0].key:l[0].key,p=e.split("-")[1];return u+(p?"-"+p:"")}function k(e,t,n){return j(n,d(t,n))}function R(e){var t=getComputedStyle(e),n=parseFloat(t.marginTop)+parseFloat(t.marginBottom),r=parseFloat(t.marginLeft)+parseFloat(t.marginRight);return{width:e.offsetWidth+r,height:e.offsetHeight+n}}function D(e){var t={left:"right",right:"left",bottom:"top",top:"bottom"};return e.replace(/left|right|bottom|top/g,(function(e){return t[e]}))}function I(e,t,n){n=n.split("-")[0];var r=R(e),o={width:r.width,height:r.height},a=-1!==["right","left"].indexOf(n),i=a?"top":"left",s=a?"left":"top",l=a?"height":"width",c=a?"width":"height";return o[i]=t[i]+t[l]/2-r[l]/2,o[s]=n===s?t[s]-r[c]:t[D(s)],o}function A(e,t){return Array.prototype.find?e.find(t):e.filter(t)[0]}function L(e,t,n){return(void 0===n?e:e.slice(0,function(e,t,n){if(Array.prototype.findIndex)return e.findIndex((function(e){return e[t]===n}));var r=A(e,(function(e){return e[t]===n}));return e.indexOf(r)}(e,"name",n))).forEach((function(e){e.function&&console.warn("`modifier.function` is deprecated, use `modifier.fn`!");var n=e.function||e.fn;e.enabled&&s(n)&&(t.offsets.popper=w(t.offsets.popper),t.offsets.reference=w(t.offsets.reference),t=n(t,e))})),t}function B(){if(!this.state.isDestroyed){var e={instance:this,styles:{},arrowStyles:{},attributes:{},flipped:!1,offsets:{}};e.offsets.reference=k(this.state,this.popper,this.reference),e.placement=T(this.options.placement,e.offsets.reference,this.popper,this.reference,this.options.modifiers.flip.boundariesElement,this.options.modifiers.flip.padding),e.originalPlacement=e.placement,e.offsets.popper=I(this.popper,e.offsets.reference,e.placement),e.offsets.popper.position="absolute",e=L(this.modifiers,e),this.state.isCreated?this.options.onUpdate(e):(this.state.isCreated=!0,this.options.onCreate(e))}}function F(e,t){return e.some((function(e){var n=e.name;return e.enabled&&n===t}))}function M(e){for(var t=[!1,"ms","Webkit","Moz","O"],n=e.charAt(0).toUpperCase()+e.slice(1),r=0;r<t.length-1;r++){var o=t[r],a=o?""+o+n:e;if(void 0!==document.body.style[a])return a}return null}function q(){return this.state.isDestroyed=!0,F(this.modifiers,"applyStyle")&&(this.popper.removeAttribute("x-placement"),this.popper.style.left="",this.popper.style.position="",this.popper.style.top="",this.popper.style[M("transform")]=""),this.disableEventListeners(),this.options.removeOnDestroy&&this.popper.parentNode.removeChild(this.popper),this}function H(e){var t=e.ownerDocument;return t?t.defaultView:window}function K(e,t,n,r){var o="BODY"===e.nodeName,a=o?e.ownerDocument.defaultView:e;a.addEventListener(t,n,{passive:!0}),o||K(u(a.parentNode),t,n,r),r.push(a)}function W(e,t,n,r){n.updateBound=r,H(e).addEventListener("resize",n.updateBound,{passive:!0});var o=u(e);return K(o,"scroll",n.updateBound,n.scrollParents),n.scrollElement=o,n.eventsEnabled=!0,n}function V(){this.state.eventsEnabled||(this.state=W(this.reference,this.options,this.state,this.scheduleUpdate))}function U(){var e,t;this.state.eventsEnabled&&(cancelAnimationFrame(this.scheduleUpdate),this.state=(e=this.reference,t=this.state,H(e).removeEventListener("resize",t.updateBound),t.scrollParents.forEach((function(e){e.removeEventListener("scroll",t.updateBound)})),t.updateBound=null,t.scrollParents=[],t.scrollElement=null,t.eventsEnabled=!1,t))}function z(e){return""!==e&&!isNaN(parseFloat(e))&&isFinite(e)}function G(e,t){Object.keys(t).forEach((function(n){var r="";-1!==["width","height","top","right","bottom","left"].indexOf(n)&&z(t[n])&&(r="px"),e.style[n]=t[n]+r}))}function Y(e,t,n){var r=A(e,(function(e){return e.name===t})),o=!!r&&e.some((function(e){return e.name===n&&e.enabled&&e.order<r.order}));if(!o){var a="`"+t+"`",i="`"+n+"`";console.warn(i+" modifier is required by "+a+" modifier in order to work, be sure to include it before "+a+"!")}return o}var Q=["auto-start","auto","auto-end","top-start","top","top-end","right-start","right","right-end","bottom-end","bottom","bottom-start","left-end","left","left-start"],J=Q.slice(3);function X(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n=J.indexOf(e),r=J.slice(n+1).concat(J.slice(0,n));return t?r.reverse():r}var $="flip",Z="clockwise",ee="counterclockwise";function te(e,t,n,r){var o=[0,0],a=-1!==["right","left"].indexOf(r),i=e.split(/(\+|\-)/).map((function(e){return e.trim()})),s=i.indexOf(A(i,(function(e){return-1!==e.search(/,|\s/)})));i[s]&&-1===i[s].indexOf(",")&&console.warn("Offsets separated by white space(s) are deprecated, use a comma (,) instead.");var l=/\s*,\s*|\s+/,c=-1!==s?[i.slice(0,s).concat([i[s].split(l)[0]]),[i[s].split(l)[1]].concat(i.slice(s+1))]:[i];return(c=c.map((function(e,r){var o=(1===r?!a:a)?"height":"width",i=!1;return e.reduce((function(e,t){return""===e[e.length-1]&&-1!==["+","-"].indexOf(t)?(e[e.length-1]=t,i=!0,e):i?(e[e.length-1]+=t,i=!1,e):e.concat(t)}),[]).map((function(e){return function(e,t,n,r){var o=e.match(/((?:\-|\+)?\d*\.?\d*)(.*)/),a=+o[1],i=o[2];if(!a)return e;if(0===i.indexOf("%")){var s=void 0;switch(i){case"%p":s=n;break;case"%":case"%r":default:s=r}return w(s)[t]/100*a}if("vh"===i||"vw"===i)return("vh"===i?Math.max(document.documentElement.clientHeight,window.innerHeight||0):Math.max(document.documentElement.clientWidth,window.innerWidth||0))/100*a;return a}(e,o,t,n)}))}))).forEach((function(e,t){e.forEach((function(n,r){z(n)&&(o[t]+=n*("-"===e[r-1]?-1:1))}))})),o}var ne={placement:"bottom",eventsEnabled:!0,removeOnDestroy:!1,onCreate:function(){},onUpdate:function(){},modifiers:{shift:{order:100,enabled:!0,fn:function(e){var t=e.placement,n=t.split("-")[0],r=t.split("-")[1];if(r){var o=e.offsets,a=o.reference,i=o.popper,s=-1!==["bottom","top"].indexOf(n),l=s?"left":"top",c=s?"width":"height",u={start:S({},l,a[l]),end:S({},l,a[l]+a[c]-i[c])};e.offsets.popper=x({},i,u[r])}return e}},offset:{order:200,enabled:!0,fn:function(e,t){var n=t.offset,r=e.placement,o=e.offsets,a=o.popper,i=o.reference,s=r.split("-")[0],l=void 0;return l=z(+n)?[+n,0]:te(n,a,i,s),"left"===s?(a.top+=l[0],a.left-=l[1]):"right"===s?(a.top+=l[0],a.left+=l[1]):"top"===s?(a.left+=l[0],a.top-=l[1]):"bottom"===s&&(a.left+=l[0],a.top+=l[1]),e.popper=a,e},offset:0},preventOverflow:{order:300,enabled:!0,fn:function(e,t){var n=t.boundariesElement||p(e.instance.popper);e.instance.reference===n&&(n=p(n));var r=P(e.instance.popper,e.instance.reference,t.padding,n);t.boundaries=r;var o=t.priority,a=e.offsets.popper,i={primary:function(e){var n=a[e];return a[e]<r[e]&&!t.escapeWithReference&&(n=Math.max(a[e],r[e])),S({},e,n)},secondary:function(e){var n="right"===e?"left":"top",o=a[n];return a[e]>r[e]&&!t.escapeWithReference&&(o=Math.min(a[n],r[e]-("right"===e?a.width:a.height))),S({},n,o)}};return o.forEach((function(e){var t=-1!==["left","top"].indexOf(e)?"primary":"secondary";a=x({},a,i[t](e))})),e.offsets.popper=a,e},priority:["left","right","top","bottom"],padding:5,boundariesElement:"scrollParent"},keepTogether:{order:400,enabled:!0,fn:function(e){var t=e.offsets,n=t.popper,r=t.reference,o=e.placement.split("-")[0],a=Math.floor,i=-1!==["top","bottom"].indexOf(o),s=i?"right":"bottom",l=i?"left":"top",c=i?"width":"height";return n[s]<a(r[l])&&(e.offsets.popper[l]=a(r[l])-n[c]),n[l]>a(r[s])&&(e.offsets.popper[l]=a(r[s])),e}},arrow:{order:500,enabled:!0,fn:function(e,t){var n;if(!Y(e.instance.modifiers,"arrow","keepTogether"))return e;var r=t.element;if("string"==typeof r){if(!(r=e.instance.popper.querySelector(r)))return e}else if(!e.instance.popper.contains(r))return console.warn("WARNING: `arrow.element` must be child of its popper element!"),e;var o=e.placement.split("-")[0],a=e.offsets,i=a.popper,s=a.reference,c=-1!==["left","right"].indexOf(o),u=c?"height":"width",p=c?"Top":"Left",f=p.toLowerCase(),d=c?"left":"top",h=c?"bottom":"right",m=R(r)[u];s[h]-m<i[f]&&(e.offsets.popper[f]-=i[f]-(s[h]-m)),s[f]+m>i[h]&&(e.offsets.popper[f]+=s[f]+m-i[h]),e.offsets.popper=w(e.offsets.popper);var b=s[f]+s[u]/2-m/2,y=l(e.instance.popper),g=parseFloat(y["margin"+p],10),v=parseFloat(y["border"+p+"Width"],10),O=b-e.offsets.popper[f]-g-v;return O=Math.max(Math.min(i[u]-m,O),0),e.arrowElement=r,e.offsets.arrow=(S(n={},f,Math.round(O)),S(n,d,""),n),e},element:"[x-arrow]"},flip:{order:600,enabled:!0,fn:function(e,t){if(F(e.instance.modifiers,"inner"))return e;if(e.flipped&&e.placement===e.originalPlacement)return e;var n=P(e.instance.popper,e.instance.reference,t.padding,t.boundariesElement),r=e.placement.split("-")[0],o=D(r),a=e.placement.split("-")[1]||"",i=[];switch(t.behavior){case $:i=[r,o];break;case Z:i=X(r);break;case ee:i=X(r,!0);break;default:i=t.behavior}return i.forEach((function(s,l){if(r!==s||i.length===l+1)return e;r=e.placement.split("-")[0],o=D(r);var c=e.offsets.popper,u=e.offsets.reference,p=Math.floor,f="left"===r&&p(c.right)>p(u.left)||"right"===r&&p(c.left)<p(u.right)||"top"===r&&p(c.bottom)>p(u.top)||"bottom"===r&&p(c.top)<p(u.bottom),d=p(c.left)<p(n.left),h=p(c.right)>p(n.right),m=p(c.top)<p(n.top),b=p(c.bottom)>p(n.bottom),y="left"===r&&d||"right"===r&&h||"top"===r&&m||"bottom"===r&&b,g=-1!==["top","bottom"].indexOf(r),v=!!t.flipVariations&&(g&&"start"===a&&d||g&&"end"===a&&h||!g&&"start"===a&&m||!g&&"end"===a&&b);(f||y||v)&&(e.flipped=!0,(f||y)&&(r=i[l+1]),v&&(a=function(e){return"end"===e?"start":"start"===e?"end":e}(a)),e.placement=r+(a?"-"+a:""),e.offsets.popper=x({},e.offsets.popper,I(e.instance.popper,e.offsets.reference,e.placement)),e=L(e.instance.modifiers,e,"flip"))})),e},behavior:"flip",padding:5,boundariesElement:"viewport"},inner:{order:700,enabled:!1,fn:function(e){var t=e.placement,n=t.split("-")[0],r=e.offsets,o=r.popper,a=r.reference,i=-1!==["left","right"].indexOf(n),s=-1===["top","left"].indexOf(n);return o[i?"left":"top"]=a[n]-(s?o[i?"width":"height"]:0),e.placement=D(t),e.offsets.popper=w(o),e}},hide:{order:800,enabled:!0,fn:function(e){if(!Y(e.instance.modifiers,"hide","preventOverflow"))return e;var t=e.offsets.reference,n=A(e.instance.modifiers,(function(e){return"preventOverflow"===e.name})).boundaries;if(t.bottom<n.top||t.left>n.right||t.top>n.bottom||t.right<n.left){if(!0===e.hide)return e;e.hide=!0,e.attributes["x-out-of-boundaries"]=""}else{if(!1===e.hide)return e;e.hide=!1,e.attributes["x-out-of-boundaries"]=!1}return e}},computeStyle:{order:850,enabled:!0,fn:function(e,t){var n=t.x,r=t.y,o=e.offsets.popper,a=A(e.instance.modifiers,(function(e){return"applyStyle"===e.name})).gpuAcceleration;void 0!==a&&console.warn("WARNING: `gpuAcceleration` option moved to `computeStyle` modifier and will not be supported in future versions of Popper.js!");var i=void 0!==a?a:t.gpuAcceleration,s=E(p(e.instance.popper)),l={position:o.position},c={left:Math.floor(o.left),top:Math.floor(o.top),bottom:Math.floor(o.bottom),right:Math.floor(o.right)},u="bottom"===n?"top":"bottom",f="right"===r?"left":"right",d=M("transform"),h=void 0,m=void 0;if(m="bottom"===u?-s.height+c.bottom:c.top,h="right"===f?-s.width+c.right:c.left,i&&d)l[d]="translate3d("+h+"px, "+m+"px, 0)",l[u]=0,l[f]=0,l.willChange="transform";else{var b="bottom"===u?-1:1,y="right"===f?-1:1;l[u]=m*b,l[f]=h*y,l.willChange=u+", "+f}var g={"x-placement":e.placement};return e.attributes=x({},g,e.attributes),e.styles=x({},l,e.styles),e.arrowStyles=x({},e.offsets.arrow,e.arrowStyles),e},gpuAcceleration:!0,x:"bottom",y:"right"},applyStyle:{order:900,enabled:!0,fn:function(e){var t,n;return G(e.instance.popper,e.styles),t=e.instance.popper,n=e.attributes,Object.keys(n).forEach((function(e){!1!==n[e]?t.setAttribute(e,n[e]):t.removeAttribute(e)})),e.arrowElement&&Object.keys(e.arrowStyles).length&&G(e.arrowElement,e.arrowStyles),e},onLoad:function(e,t,n,r,o){var a=k(0,t,e),i=T(n.placement,a,t,e,n.modifiers.flip.boundariesElement,n.modifiers.flip.padding);return t.setAttribute("x-placement",i),G(t,{position:"absolute"}),n},gpuAcceleration:void 0}}},re=function(){function e(t,n){var r=this,o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};O(this,e),this.scheduleUpdate=function(){return requestAnimationFrame(r.update)},this.update=i(this.update.bind(this)),this.options=x({},e.Defaults,o),this.state={isDestroyed:!1,isCreated:!1,scrollParents:[]},this.reference=t&&t.jquery?t[0]:t,this.popper=n&&n.jquery?n[0]:n,this.options.modifiers={},Object.keys(x({},e.Defaults.modifiers,o.modifiers)).forEach((function(t){r.options.modifiers[t]=x({},e.Defaults.modifiers[t]||{},o.modifiers?o.modifiers[t]:{})})),this.modifiers=Object.keys(this.options.modifiers).map((function(e){return x({name:e},r.options.modifiers[e])})).sort((function(e,t){return e.order-t.order})),this.modifiers.forEach((function(e){e.enabled&&s(e.onLoad)&&e.onLoad(r.reference,r.popper,r.options,e,r.state)})),this.update();var a=this.options.eventsEnabled;a&&this.enableEventListeners(),this.state.eventsEnabled=a}return _(e,[{key:"update",value:function(){return B.call(this)}},{key:"destroy",value:function(){return q.call(this)}},{key:"enableEventListeners",value:function(){return V.call(this)}},{key:"disableEventListeners",value:function(){return U.call(this)}}]),e}();re.Utils=("undefined"!=typeof window?window:e).PopperUtils,re.placements=Q,re.Defaults=ne,t.a=re}).call(this,n(10))},function(e){e.exports=JSON.parse('{"component":"icon","status":"prod","display-name":"Icons","classKey":"Icon","last-accessibility-review":{"date-iso-8601":"2018/01/18","commit-sha":"ad6b6c6523ee21cada11be5f7ea4d99abc530726"},"SLDS-component-path":"/components/icons","site-stories":[{"heading":"Category Options","path":"/__examples__/categories.jsx"},{"heading":"Color Options","path":"/__examples__/colors.jsx"},{"heading":"Size Options","path":"/__examples__/sizes.jsx"}],"url-slug":"icons"}')},function(e,t){e.exports={"global-setup":"#2A739E","service-cloud":"#7f2443","industry-cloud":"#4c2248","sales-cloud":"#00857d","commerce-cloud":"#41693d","community-cloud":"#ffc20e","marketing-cloud":"#ea7600",quip:"#cf451d"}},function(e){e.exports=JSON.parse('{"component":"tooltip","status":"prod","display-name":"Tooltips","classKey":"Tooltip","SLDS-component-path":"/components/tooltips","site-stories":[{"heading":"Base","path":"/__examples__/base.jsx"},{"heading":"Button Trigger","path":"/__examples__/button.jsx"},{"heading":"Button Group Trigger","path":"/__examples__/button-group.jsx"},{"heading":"Learn more","path":"/__examples__/learn-more.jsx"}],"url-slug":"tooltips"}')},function(e){e.exports=JSON.parse('{"component":"alert","status":"prod","display-name":"Alerts","classKey":"Alert","last-accessibility-review":{"date-iso-8601":"2018/01/18","commit-sha":"ad6b6c6523ee21cada11be5f7ea4d99abc530726"},"SLDS-component-path":"/components/alert","dependencies":[{"component":"container","classKey":"AlertContainer"}],"site-stories":[{"heading":"Informational","path":"/__examples__/info.jsx"},{"heading":"Warning","path":"/__examples__/warning.jsx"},{"heading":"System Status","path":"/__examples__/offline.jsx"},{"heading":"Error","path":"/__examples__/error.jsx"},{"heading":"Dismissable","path":"/__examples__/dismissable.jsx"}],"url-slug":"alerts"}')},function(e){e.exports=JSON.parse('{"component":"modal","status":"prod","display-name":"Modals and Prompts","classKey":"Modal","SLDS-component-path":"/components/modals","site-stories":[{"heading":"Default","path":"/__examples__/menu-contents.jsx"},{"heading":"With header and footer","path":"/__examples__/header-footer.jsx"},{"heading":"With Tagline","path":"/__examples__/taglines.jsx"},{"heading":"Prompt","path":"/__examples__/prompt.jsx"},{"heading":"Various sizes","path":"/__examples__/sizes.jsx"}],"url-slug":"modals"}')},function(e,t,n){(function(t){var n="__lodash_hash_undefined__",r="[object Function]",o="[object GeneratorFunction]",a=/^\[object .+?Constructor\]$/,i="object"==typeof t&&t&&t.Object===Object&&t,s="object"==typeof self&&self&&self.Object===Object&&self,l=i||s||Function("return this")();var c,u=Array.prototype,p=Function.prototype,f=Object.prototype,d=l["__core-js_shared__"],h=(c=/[^.]+$/.exec(d&&d.keys&&d.keys.IE_PROTO||""))?"Symbol(src)_1."+c:"",m=p.toString,b=f.hasOwnProperty,y=f.toString,g=RegExp("^"+m.call(b).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),v=u.splice,O=P(l,"Map"),_=P(Object,"create");function S(e){var t=-1,n=e?e.length:0;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}function x(e){var t=-1,n=e?e.length:0;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}function w(e){var t=-1,n=e?e.length:0;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}function E(e,t){for(var n,r,o=e.length;o--;)if((n=e[o][0])===(r=t)||n!=n&&r!=r)return o;return-1}function j(e){return!(!T(e)||(t=e,h&&h in t))&&(function(e){var t=T(e)?y.call(e):"";return t==r||t==o}(e)||function(e){var t=!1;if(null!=e&&"function"!=typeof e.toString)try{t=!!(e+"")}catch(e){}return t}(e)?g:a).test(function(e){if(null!=e){try{return m.call(e)}catch(e){}try{return e+""}catch(e){}}return""}(e));var t}function C(e,t){var n,r,o=e.__data__;return("string"==(r=typeof(n=t))||"number"==r||"symbol"==r||"boolean"==r?"__proto__"!==n:null===n)?o["string"==typeof t?"string":"hash"]:o.map}function P(e,t){var n=function(e,t){return null==e?void 0:e[t]}(e,t);return j(n)?n:void 0}function N(e,t){if("function"!=typeof e||t&&"function"!=typeof t)throw new TypeError("Expected a function");var n=function(){var r=arguments,o=t?t.apply(this,r):r[0],a=n.cache;if(a.has(o))return a.get(o);var i=e.apply(this,r);return n.cache=a.set(o,i),i};return n.cache=new(N.Cache||w),n}function T(e){var t=typeof e;return!!e&&("object"==t||"function"==t)}S.prototype.clear=function(){this.__data__=_?_(null):{}},S.prototype.delete=function(e){return this.has(e)&&delete this.__data__[e]},S.prototype.get=function(e){var t=this.__data__;if(_){var r=t[e];return r===n?void 0:r}return b.call(t,e)?t[e]:void 0},S.prototype.has=function(e){var t=this.__data__;return _?void 0!==t[e]:b.call(t,e)},S.prototype.set=function(e,t){return this.__data__[e]=_&&void 0===t?n:t,this},x.prototype.clear=function(){this.__data__=[]},x.prototype.delete=function(e){var t=this.__data__,n=E(t,e);return!(n<0)&&(n==t.length-1?t.pop():v.call(t,n,1),!0)},x.prototype.get=function(e){var t=this.__data__,n=E(t,e);return n<0?void 0:t[n][1]},x.prototype.has=function(e){return E(this.__data__,e)>-1},x.prototype.set=function(e,t){var n=this.__data__,r=E(n,e);return r<0?n.push([e,t]):n[r][1]=t,this},w.prototype.clear=function(){this.__data__={hash:new S,map:new(O||x),string:new S}},w.prototype.delete=function(e){return C(this,e).delete(e)},w.prototype.get=function(e){return C(this,e).get(e)},w.prototype.has=function(e){return C(this,e).has(e)},w.prototype.set=function(e,t){return C(this,e).set(e,t),this},N.Cache=w,e.exports=N}).call(this,n(10))},function(e){e.exports=JSON.parse('{"component":"avatar","status":"prod","display-name":"Avatars","classKey":"Avatar","last-accessibility-review":{"date-iso-8601":"2018/01/18","commit-sha":"ad6b6c6523ee21cada11be5f7ea4d99abc530726"},"SLDS-component-path":"/components/avatar","site-stories":[{"heading":"Base","path":"/__examples__/base.jsx"},{"heading":"User Initials","path":"/__examples__/user-initials.jsx"},{"heading":"User Icon","path":"/__examples__/user-icon.jsx"},{"heading":"Entity Initials","path":"/__examples__/entity-initials.jsx"},{"heading":"Entity Icon","path":"/__examples__/entity-icon.jsx"}],"url-slug":"avatars"}')},function(e){e.exports=JSON.parse('{"component":"breadcrumb","status":"prod","display-name":"Breadcrumbs","classKey":"Breadcrumb","last-accessibility-review":{"date-iso-8601":"2018/01/18","commit-sha":"ad6b6c6523ee21cada11be5f7ea4d99abc530726"},"SLDS-component-path":"/components/breadcrumb","site-stories":[{"heading":"Base","path":"/__examples__/base.jsx"},{"heading":"One Item","path":"/__examples__/one-item.jsx"},{"heading":"With Overflow Menu","path":"/__examples__/base-with-overflow-menu.jsx"}],"url-slug":"breadcrumbs"}')},function(e){e.exports=JSON.parse('{"component":"menu-dropdown","status":"prod","display-name":"Dropdown Menus","classKey":"MenuDropdown","last-accessibility-review":{"date-iso-8601":"2018/01/18","commit-sha":"ad6b6c6523ee21cada11be5f7ea4d99abc530726"},"SLDS-component-path":"/components/menus#flavor-dropdown","dependencies":[{"component":"button-trigger","classKey":"MenuDropdownButtonTrigger"}],"site-stories":[{"heading":"Default","path":"/__examples__/default.jsx"},{"heading":"With Icon Label","path":"/__examples__/default-icon-label.jsx"},{"heading":"With Subheadings","path":"/__examples__/sub-heading.jsx"},{"heading":"Custom trigger","path":"/__examples__/custom-trigger.jsx"},{"heading":"Checkmark Selection","path":"/__examples__/checkmark.jsx"}],"url-slug":"menu-dropdowns"}')},function(e){e.exports=JSON.parse('{"component":"button-stateful","status":"prod","display-name":"Stateful Buttons","classKey":"ButtonStateful","SLDS-component-path":"/components/button/#flavor-stateful","site-stories":[{"heading":"Icon Only","path":"/__examples__/icon.jsx"},{"heading":"Icon and Text","path":"/__examples__/icon-text.jsx"}],"url-slug":"stateful-buttons"}')},function(e){e.exports=JSON.parse('{"component":"spinner","status":"prod","display-name":"Spinners","classKey":"Spinner","SLDS-component-path":"/components/spinner","site-stories":[{"heading":"Default","path":"/__examples__/default.jsx"}],"url-slug":"spinners"}')},function(e){e.exports=JSON.parse('{"component":"checkbox","status":"prod","display-name":"Checkboxes","classKey":"Checkbox","last-accessibility-review":{"date-iso-8601":"2018/01/18","commit-sha":"ad6b6c6523ee21cada11be5f7ea4d99abc530726"},"SLDS-component-path":"/components/checkbox","site-stories":[{"heading":"Default","path":"/__examples__/default.jsx"},{"heading":"Error State","path":"/__examples__/error.jsx"},{"heading":"Toggle","path":"/__examples__/toggle.jsx"},{"heading":"Grouped with Tri-State","path":"/__examples__/grouped-with-tristate.jsx"}],"url-slug":"checkboxes"}')},function(e){e.exports=JSON.parse('{"component":"radio","status":"prod","display-name":"Radios","classKey":"Radio","last-accessibility-review":{"date-iso-8601":"2018/01/18","commit-sha":"ad6b6c6523ee21cada11be5f7ea4d99abc530726"},"site-stories":[{"heading":"Default","path":"/__examples__/default.jsx"},{"heading":"Disabled","path":"/__examples__/disabled.jsx"}],"SLDS-component-path":"/components/radio-group/","url-slug":"radios"}')},function(e){e.exports=JSON.parse('{"component":"popover","status":"prod","display-name":"Popovers","classKey":"Popover","last-accessibility-review":{"date-iso-8601":"2018/01/18","commit-sha":"ad6b6c6523ee21cada11be5f7ea4d99abc530726"},"SLDS-component-path":"/components/popovers","site-stories":[{"heading":"With Header","path":"/__examples__/header.jsx"},{"heading":"With Alternative Header","path":"/__examples__/alternative-header.jsx"},{"heading":"Controlled State with Footer","path":"/__examples__/controlled-with-footer.jsx"},{"heading":"Custom Target","path":"/__examples__/custom-target.jsx"},{"heading":"Error Theme","path":"/__examples__/error.jsx"},{"heading":"Feature","path":"/__examples__/feature.jsx"},{"heading":"Walkthrough","path":"/__examples__/walkthrough.jsx"},{"heading":"Walkthrough Action","path":"/__examples__/walkthrough-action.jsx"},{"heading":"Warning","path":"/__examples__/warning.jsx"},{"heading":"Edit Dialog","path":"/__examples__/edit-dialog.jsx"}],"url-slug":"popovers"}')},function(e){e.exports=JSON.parse('{"component":"color-picker","status":"prod","display-name":"Color Pickers","classKey":"ColorPicker","SLDS-component-path":"/components/color-picker","site-stories":[{"heading":"Default","path":"/__examples__/default.jsx"}],"url-slug":"color-picker"}')},function(e){e.exports=JSON.parse('{"component":"combobox","status":"prod","display-name":"Comboboxes","classKey":"Combobox","last-accessibility-review":{"date-iso-8601":"2017/08/21","commit-sha":"295a4766f712a5f93743c4ecd3ba62d91c1fc153"},"SLDS-component-path":"/components/combobox","site-stories":[{"heading":"Base","path":"/__examples__/base.jsx"},{"heading":"Base: With subheader","path":"/__examples__/base-menu-subheader.jsx"},{"heading":"Base: Inherit Menu Width","path":"/__examples__/base-inherit-menu-width.jsx"},{"heading":"Base: Predefined options only","path":"/__examples__/base-predefined-options-only.jsx"},{"heading":"Base With Scroll","path":"/__examples__/base-with-scroll.jsx"},{"heading":"Base: With dialog","path":"/__examples__/dialog.jsx"},{"heading":"Inline single selection","path":"/__examples__/inline-single.jsx"},{"heading":"Inline: Single Selection with Entity Selection","path":"/__examples__/inline-single-entity-combobox.jsx"},{"heading":"Inline: Single Selection with Search and Add Menu Items","path":"/__examples__/inline-single-search-add-entities.jsx"},{"heading":"Inline: Multiple Selection with Loading State","path":"/__examples__/inline-multiple-loading.jsx"},{"heading":"Read-only: Single Selection (Picklist)","path":"/__examples__/readonly-single.jsx"},{"heading":"Read-only: Multiple Selection (Picklist)","path":"/__examples__/readonly-multiple.jsx"},{"heading":"Required Input and Error State","path":"/__examples__/required-input-error-state.jsx"}],"url-slug":"comboboxes"}')},function(e){e.exports=JSON.parse('{"component":"data-table","status":"prod","display-name":"Data Tables","classKey":"DataTable","last-accessibility-review":{"date-iso-8601":"2017/01/01","deprecated-accessibility":"true","commit-sha":"ad6b6c6523ee21cada11be5f7ea4d99abc530726"},"SLDS-component-path":"/components/data-tables","dependencies":[{"component":"cell","classKey":"DataTableCell"},{"component":"column","classKey":"DataTableColumn"},{"component":"highlight-cell","classKey":"DataTableHighlightCell"},{"component":"row-actions","classKey":"DataTableRowActions"}],"site-stories":[{"heading":"Basic","path":"/__examples__/basic-fluid.jsx"},{"heading":"Basic: Fluid and Striped","path":"/__examples__/basic-fluid-striped.jsx"},{"heading":"Basic: No row hover","path":"/__examples__/basic-fluid-no-row-hover.jsx"},{"heading":"Basic: Columns bordered","path":"/__examples__/basic-fluid-column-bordered.jsx"},{"heading":"Fixed Layout","path":"/__examples__/basic-fixed-layout.jsx"},{"heading":"Advanced","path":"/__examples__/advanced.jsx"},{"heading":"Advanced: Single Selection","path":"/__examples__/advanced-single-select.jsx"},{"heading":"Advanced: Fixed Header","path":"/__examples__/fixed-header.jsx"},{"heading":"Advanced: Joined with Page Header","path":"/__examples__/joined-with-page-header.jsx"},{"heading":"Custom Classes","path":"/__examples__/custom-classes.jsx"},{"heading":"Infinite Scrolling","path":"/__examples__/infinite-scrolling.jsx"}],"url-slug":"data-tables"}')},function(e,t){e.exports={brandHeaderContrastWeakDisabled:"rgba(166, 166, 166, 0.25)",colorGray11:"rgb(62, 62, 60)",brandPrimaryTransparent10:"rgba(21, 137, 238, 0.1)",colorGray12:"rgb(43, 40, 38)",brandBackgroundDarkTransparent:"rgba(221, 219, 218, 0)",brandHeader:"rgb(255, 255, 255)",brandLightActive:"rgb(227, 229, 237)",brandHeaderContrastWarm:"rgb(191, 2, 1)",brandHeaderIconDisabled:"rgba(145, 145, 145, 0.25)",brandHeaderContrastActive:"rgb(80, 80, 80)",brandBackgroundPrimary:"rgb(250, 250, 249)",brandPrimary:"rgb(21, 137, 238)",brandHeaderContrastWeakActive:"rgb(129, 129, 129)",brandContrastActive:"rgb(13, 14, 18)",brandHeaderContrastCool:"rgb(0, 85, 131)",brandHeaderContrastInverse:"rgb(255, 255, 255)",brandDark:"rgb(24, 35, 55)",brandAccessible:"rgb(0, 112, 210)",brandBackgroundDark:"rgb(232, 232, 232)",brandTextLinkActive:"rgb(0, 95, 178)",colorGray1:"rgb(255, 255, 255)",colorGray2:"rgb(250, 250, 249)",brandHeaderIconActive:"rgb(129, 129, 129)",colorGray3:"rgb(243, 242, 242)",brandHeaderIcon:"rgb(145, 145, 145)",brandDisabled:"rgb(201, 199, 197)",brandTextLink:"rgb(0, 109, 204)",colorGray4:"rgb(236, 235, 234)",colorGray5:"rgb(221, 219, 218)",colorGray6:"rgb(201, 199, 197)",brandAccessibleActive:"rgb(0, 95, 178)",colorGray7:"rgb(176, 173, 171)",brandDarkActive:"rgb(37, 48, 69)",colorGray8:"rgb(150, 148, 146)",brandHeaderContrastInverseActive:"rgb(238, 238, 238)",brandHeaderContrastCoolActive:"rgb(0, 85, 131)",colorGray9:"rgb(112, 110, 107)",brandContrast:"rgb(26, 27, 30)",brandHeaderContrastWeak:"rgb(145, 145, 145)",brandPrimaryActive:"rgb(0, 122, 221)",brandBackgroundPrimaryTransparent:"rgba(250, 250, 249, 0)",brandHeaderContrast:"rgb(94, 94, 94)",brandPrimaryTransparent:"rgba(21, 137, 238, 0.1)",brandHeaderContrastWarmActive:"rgb(172, 0, 0)",brandPrimaryTransparent40:"rgba(21, 137, 238, 0.4)",brandLight:"rgb(244, 246, 254)",colorGray10:"rgb(81, 79, 77)"}},function(e){e.exports=JSON.parse('{"component":"date-picker","status":"prod","display-name":"Datepickers","classKey":"DatePicker","last-accessibility-review":{"date-iso-8601":"2017/01/20","commit-sha":"568f503b19ddc039207e4b5c2636461de937f5f0"},"SLDS-component-path":"/components/datepickers","site-stories":[{"heading":"Default","path":"/__examples__/default.jsx"}],"url-slug":"date-pickers"}')},function(e,t,n){"use strict";var r,o=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}),a=this&&this.__assign||function(){return(a=Object.assign||function(e){for(var t,n=1,r=arguments.length;n<r;n++)for(var o in t=arguments[n])Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o]);return e}).apply(this,arguments)},i=this&&this.__createBinding||(Object.create?function(e,t,n,r){void 0===r&&(r=n),Object.defineProperty(e,r,{enumerable:!0,get:function(){return t[n]}})}:function(e,t,n,r){void 0===r&&(r=n),e[r]=t[n]}),s=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),l=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)"default"!==n&&Object.hasOwnProperty.call(e,n)&&i(t,e,n);return s(t,e),t},c=this&&this.__rest||function(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var o=0;for(r=Object.getOwnPropertySymbols(e);o<r.length;o++)t.indexOf(r[o])<0&&Object.prototype.propertyIsEnumerable.call(e,r[o])&&(n[r[o]]=e[r[o]])}return n},u=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});var p=l(n(1)),f=u(n(84)),d=l(n(0));function h(e){return e&&e.replace(/ |\u202F|\u00A0/g," ")}var m=function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t.lastHtml=t.props.html,t.el="function"==typeof t.props.innerRef?{current:null}:p.createRef(),t.getEl=function(){return(t.props.innerRef&&"function"!=typeof t.props.innerRef?t.props.innerRef:t.el).current},t.emitChange=function(e){var n=t.getEl();if(n){var r=n.innerHTML;if(t.props.onChange&&r!==t.lastHtml){var o=Object.assign({},e,{target:{value:r}});t.props.onChange(o)}t.lastHtml=r}},t}return o(t,e),t.prototype.render=function(){var e=this,t=this.props,n=t.tagName,r=t.html,o=t.innerRef,i=c(t,["tagName","html","innerRef"]);return p.createElement(n||"div",a(a({},i),{ref:"function"==typeof o?function(t){o(t),e.el.current=t}:o||this.el,onInput:this.emitChange,onBlur:this.props.onBlur||this.emitChange,onKeyUp:this.props.onKeyUp||this.emitChange,onKeyDown:this.props.onKeyDown||this.emitChange,contentEditable:!this.props.disabled,dangerouslySetInnerHTML:{__html:r}}),this.props.children)},t.prototype.shouldComponentUpdate=function(e){var t=this.props,n=this.getEl();return!n||(h(e.html)!==h(n.innerHTML)||(t.disabled!==e.disabled||t.tagName!==e.tagName||t.className!==e.className||t.innerRef!==e.innerRef||!f.default(t.style,e.style)))},t.prototype.componentDidUpdate=function(){var e=this.getEl();e&&(this.props.html!==e.innerHTML&&(e.innerHTML=this.props.html),this.lastHtml=this.props.html,function(e){var t=document.createTextNode("");e.appendChild(t);var n=document.activeElement===e;if(null!==t&&null!==t.nodeValue&&n){var r=window.getSelection();if(null!==r){var o=document.createRange();o.setStart(t,t.nodeValue.length),o.collapse(!0),r.removeAllRanges(),r.addRange(o)}e instanceof HTMLElement&&e.focus()}}(e))},t.propTypes={html:d.string.isRequired,onChange:d.func,disabled:d.bool,tagName:d.string,className:d.string,style:d.object,innerRef:d.oneOfType([d.object,d.func])},t}(p.Component);t.default=m},function(e){e.exports=JSON.parse('{"component":"global-header","status":"prod","display-name":"Global Header","classKey":"GlobalHeader","SLDS-component-path":"/components/global-header#flavor-base","dependencies":[{"component":"favorites","classKey":"GlobalHeaderFavorites"},{"component":"help","classKey":"GlobalHeaderHelp"},{"component":"notifications","classKey":"GlobalHeaderNotifications"},{"component":"profile","classKey":"GlobalHeaderProfile"},{"component":"search","classKey":"GlobalHeaderSearch"},{"component":"setup","classKey":"GlobalHeaderSetup"},{"component":"task","classKey":"GlobalHeaderTask"}],"site-stories":[{"heading":"Default","path":"/__examples__/default.jsx"}],"url-slug":"global-headers"}')},function(e){e.exports=JSON.parse('{"component":"illustration","is-deprecated":true,"status":"prototype","display-name":"Illustrations","classKey":"Illustration","SLDS-component-path":"/components/illustration","site-stories":[{"heading":"Small Image with Text","path":"/__examples__/small-image-text.jsx"},{"heading":"Large Image with Text","path":"/__examples__/large-image-text.jsx"},{"heading":"With Heading and message","path":"/__examples__/heading-message.jsx"},{"heading":"Heading Only","path":"/__examples__/heading-only.jsx"},{"heading":"Message Only","path":"/__examples__/message-only.jsx"}],"url-slug":"illustrations"}')},function(e){e.exports=JSON.parse('{"component":"vertical-navigation","status":"prod","display-name":"Vertical Navigation","classKey":"VerticalNavigation","SLDS-component-path":"/components/vertical-navigation","site-stories":[{"heading":"Default","path":"/__examples__/default.jsx"}],"url-slug":"vertical-navigation"}')},function(e){e.exports=JSON.parse('{"component":"page-header","status":"prod","display-name":"Page Headers","classKey":"PageHeader","SLDS-component-path":"/components/page-headers","dependencies":[{"component":"control","classKey":"PageHeaderControl"}],"site-stories":[{"heading":"Record Home","path":"/__examples__/record-home.jsx"},{"heading":"Object Home","path":"/__examples__/object-home.jsx"},{"heading":"Related list","path":"/__examples__/related-list.jsx"},{"heading":"Setup","path":"/__examples__/setup.jsx"}],"url-slug":"page-headers"}')},function(e){e.exports=JSON.parse('{"component":"scoped-notification","status":"prod","display-name":"Scoped Notifications","classKey":"ScopedNotification","SLDS-component-path":"/components/scoped-notification","site-stories":[{"heading":"Base","path":"/__examples__/base.jsx"},{"heading":"Light","path":"/__examples__/light.jsx"},{"heading":"Dark","path":"/__examples__/dark.jsx"},{"heading":"With Custom Icon","path":"/__examples__/custom-icon.jsx"}],"url-slug":"scoped-notifications"}')},function(e){e.exports=JSON.parse('{"component":"textarea","status":"prod","display-name":"Textareas","classKey":"Textarea","SLDS-component-path":"/components/forms#flavor-textarea","site-stories":[{"heading":"Default","path":"/__examples__/default.jsx"},{"heading":"Error","path":"/__examples__/error.jsx"},{"heading":"Disabled","path":"/__examples__/disabled.jsx"}],"url-slug":"textareas"}')},function(e,t,n){(function(e,n){var r="object"==typeof e&&e&&e.Object===Object&&e,o=t&&!t.nodeType&&t,a=o&&"object"==typeof n&&n&&!n.nodeType&&n,i=a&&a.exports===o&&r.process,s=function(){try{return i&&i.binding("util")}catch(e){}}(),l=s&&s.isDate;var c=Object.prototype.toString;var u,p=l?(u=l,function(e){return u(e)}):function(e){return function(e){return!!e&&"object"==typeof e}(e)&&"[object Date]"==c.call(e)};n.exports=p}).call(this,n(10),n(16)(e))},function(e){e.exports=JSON.parse('{"component":"time-picker","status":"prod","display-name":"Timepickers","classKey":"TimePicker","SLDS-component-path":"/components/timepicker","site-stories":[{"heading":"Default","path":"/__examples__/default.jsx"}],"url-slug":"timepickers"}')},function(e){e.exports=JSON.parse('{"component":"toast","status":"prod","display-name":"Toasts","classKey":"Toast","last-accessibility-review":{"date-iso-8601":"2018/01/18","commit-sha":"ad6b6c6523ee21cada11be5f7ea4d99abc530726"},"SLDS-component-path":"/components/toast","dependencies":[{"component":"container","classKey":"ToastContainer"}],"site-stories":[{"heading":"Informational","path":"/__examples__/info.jsx"},{"heading":"Success","path":"/__examples__/success.jsx"},{"heading":"Warning","path":"/__examples__/warning.jsx"},{"heading":"Error","path":"/__examples__/error.jsx"},{"heading":"Error with Details","path":"/__examples__/error-with-details.jsx"}],"url-slug":"toasts"}')},function(e){e.exports=JSON.parse('{"component":"tree","status":"prod","display-name":"Tree","classKey":"Tree","last-accessibility-review":{"date-iso-8601":"2018/05/04","commit-sha":"5fdeb31982a42cbd37a70d96d6257142cd7eec72"},"last-slds-markup-review":{"date-iso-8601":"2018/05/04","commit-sha":"5fdeb31982a42cbd37a70d96d6257142cd7eec72"},"SLDS-component-path":"/components/trees","site-stories":[{"heading":"Default","path":"/__examples__/default.jsx"}],"url-slug":"tree"}')},function(e,t,n){e.exports=n(85)},function(e,t,n){"use strict";var r=n(62);function o(){}function a(){}a.resetWarningCache=o,e.exports=function(){function e(e,t,n,o,a,i){if(i!==r){var s=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw s.name="Invariant Violation",s}}function t(){return e}e.isRequired=e;var n={array:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:t,element:e,elementType:e,instanceOf:t,node:e,objectOf:t,oneOf:t,oneOfType:t,shape:t,exact:t,checkPropTypes:a,resetWarningCache:o};return n.PropTypes=n,n}},function(e,t,n){"use strict";e.exports="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"},function(e,t,n){"use strict";var r=n(18),o=n(65),a=n(69),i=n(70)||0;function s(){return o(i)}e.exports=s,e.exports.generate=s,e.exports.seed=function(t){return r.seed(t),e.exports},e.exports.worker=function(t){return i=t,e.exports},e.exports.characters=function(e){return void 0!==e&&r.characters(e),r.shuffled()},e.exports.isValid=a},function(e,t,n){"use strict";var r=1;e.exports={nextValue:function(){return(r=(9301*r+49297)%233280)/233280},seed:function(e){r=e}}},function(e,t,n){"use strict";var r,o,a=n(66);n(18);e.exports=function(e){var t="",n=Math.floor(.001*(Date.now()-1567752802062));return n===o?r++:(r=0,o=n),t+=a(7),t+=a(e),r>0&&(t+=a(r)),t+=a(n)}},function(e,t,n){"use strict";var r=n(18),o=n(67),a=n(68);e.exports=function(e){for(var t,n=0,i="";!t;)i+=a(o,r.get(),1),t=e<Math.pow(16,n+1),n++;return i}},function(e,t,n){"use strict";var r,o="object"==typeof window&&(window.crypto||window.msCrypto);r=o&&o.getRandomValues?function(e){return o.getRandomValues(new Uint8Array(e))}:function(e){for(var t=[],n=0;n<e;n++)t.push(Math.floor(256*Math.random()));return t},e.exports=r},function(e,t){e.exports=function(e,t,n){for(var r=(2<<Math.log(t.length-1)/Math.LN2)-1,o=-~(1.6*r*n/t.length),a="";;)for(var i=e(o),s=o;s--;)if((a+=t[i[s]&r]||"").length===+n)return a}},function(e,t,n){"use strict";var r=n(18);e.exports=function(e){return!(!e||"string"!=typeof e||e.length<6)&&!new RegExp("[^"+r.get().replace(/[|\\{}()[\]^$+*?.-]/g,"\\$&")+"]").test(e)}},function(e,t,n){"use strict";e.exports=0},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.bodyOpenClassName=t.portalClassName=void 0;var r=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},o=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(1),i=h(a),s=h(n(6)),l=h(n(0)),c=h(n(72)),u=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(n(27)),p=n(23),f=h(p),d=n(78);function h(e){return e&&e.__esModule?e:{default:e}}function m(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function b(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}var y=t.portalClassName="ReactModalPortal",g=t.bodyOpenClassName="ReactModal__Body--open",v=void 0!==s.default.createPortal,O=function(){return v?s.default.createPortal:s.default.unstable_renderSubtreeIntoContainer};function _(e){return e()}var S=function(e){function t(){var e,n,o;m(this,t);for(var a=arguments.length,l=Array(a),u=0;u<a;u++)l[u]=arguments[u];return n=o=b(this,(e=t.__proto__||Object.getPrototypeOf(t)).call.apply(e,[this].concat(l))),o.removePortal=function(){!v&&s.default.unmountComponentAtNode(o.node),_(o.props.parentSelector).removeChild(o.node)},o.portalRef=function(e){o.portal=e},o.renderPortal=function(e){var n=O()(o,i.default.createElement(c.default,r({defaultStyles:t.defaultStyles},e)),o.node);o.portalRef(n)},b(o,n)}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,e),o(t,[{key:"componentDidMount",value:function(){p.canUseDOM&&(v||(this.node=document.createElement("div")),this.node.className=this.props.portalClassName,_(this.props.parentSelector).appendChild(this.node),!v&&this.renderPortal(this.props))}},{key:"getSnapshotBeforeUpdate",value:function(e){return{prevParent:_(e.parentSelector),nextParent:_(this.props.parentSelector)}}},{key:"componentDidUpdate",value:function(e,t,n){if(p.canUseDOM){var r=this.props,o=r.isOpen,a=r.portalClassName;e.portalClassName!==a&&(this.node.className=a);var i=n.prevParent,s=n.nextParent;s!==i&&(i.removeChild(this.node),s.appendChild(this.node)),(e.isOpen||o)&&!v&&this.renderPortal(this.props)}}},{key:"componentWillUnmount",value:function(){if(p.canUseDOM&&this.node&&this.portal){var e=this.portal.state,t=Date.now(),n=e.isOpen&&this.props.closeTimeoutMS&&(e.closesAt||t+this.props.closeTimeoutMS);n?(e.beforeClose||this.portal.closeWithTimeout(),setTimeout(this.removePortal,n-t)):this.removePortal()}}},{key:"render",value:function(){return p.canUseDOM&&v?(!this.node&&v&&(this.node=document.createElement("div")),O()(i.default.createElement(c.default,r({ref:this.portalRef,defaultStyles:t.defaultStyles},this.props)),this.node)):null}}],[{key:"setAppElement",value:function(e){u.setElement(e)}}]),t}(a.Component);S.propTypes={isOpen:l.default.bool.isRequired,style:l.default.shape({content:l.default.object,overlay:l.default.object}),portalClassName:l.default.string,bodyOpenClassName:l.default.string,htmlOpenClassName:l.default.string,className:l.default.oneOfType([l.default.string,l.default.shape({base:l.default.string.isRequired,afterOpen:l.default.string.isRequired,beforeClose:l.default.string.isRequired})]),overlayClassName:l.default.oneOfType([l.default.string,l.default.shape({base:l.default.string.isRequired,afterOpen:l.default.string.isRequired,beforeClose:l.default.string.isRequired})]),appElement:l.default.instanceOf(f.default),onAfterOpen:l.default.func,onRequestClose:l.default.func,closeTimeoutMS:l.default.number,ariaHideApp:l.default.bool,shouldFocusAfterRender:l.default.bool,shouldCloseOnOverlayClick:l.default.bool,shouldReturnFocusAfterClose:l.default.bool,parentSelector:l.default.func,aria:l.default.object,data:l.default.object,role:l.default.string,contentLabel:l.default.string,shouldCloseOnEsc:l.default.bool,overlayRef:l.default.func,contentRef:l.default.func},S.defaultProps={isOpen:!1,portalClassName:y,bodyOpenClassName:g,role:"dialog",ariaHideApp:!0,closeTimeoutMS:0,shouldFocusAfterRender:!0,shouldCloseOnEsc:!0,shouldCloseOnOverlayClick:!0,shouldReturnFocusAfterClose:!0,parentSelector:function(){return document.body}},S.defaultStyles={overlay:{position:"fixed",top:0,left:0,right:0,bottom:0,backgroundColor:"rgba(255, 255, 255, 0.75)"},content:{position:"absolute",top:"40px",left:"40px",right:"40px",bottom:"40px",border:"1px solid #ccc",background:"#fff",overflow:"auto",WebkitOverflowScrolling:"touch",borderRadius:"4px",outline:"none",padding:"20px"}},(0,d.polyfill)(S),t.default=S},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},o="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},a=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),i=n(1),s=m(i),l=m(n(0)),c=h(n(73)),u=m(n(74)),p=h(n(27)),f=h(n(77)),d=m(n(23));function h(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}function m(e){return e&&e.__esModule?e:{default:e}}var b={overlay:"ReactModal__Overlay",content:"ReactModal__Content"},y=0,g=function(e){function t(e){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t);var n=function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return n.setOverlayRef=function(e){n.overlay=e,n.props.overlayRef&&n.props.overlayRef(e)},n.setContentRef=function(e){n.content=e,n.props.contentRef&&n.props.contentRef(e)},n.afterClose=function(){var e=n.props,t=e.appElement,r=e.ariaHideApp,o=e.htmlOpenClassName,a=e.bodyOpenClassName;a&&f.remove(document.body,a),o&&f.remove(document.getElementsByTagName("html")[0],o),r&&y>0&&0===(y-=1)&&p.show(t),n.props.shouldFocusAfterRender&&(n.props.shouldReturnFocusAfterClose?(c.returnFocus(),c.teardownScopedFocus()):c.popWithoutFocus()),n.props.onAfterClose&&n.props.onAfterClose()},n.open=function(){n.beforeOpen(),n.state.afterOpen&&n.state.beforeClose?(clearTimeout(n.closeTimer),n.setState({beforeClose:!1})):(n.props.shouldFocusAfterRender&&(c.setupScopedFocus(n.node),c.markForFocusLater()),n.setState({isOpen:!0},(function(){n.setState({afterOpen:!0}),n.props.isOpen&&n.props.onAfterOpen&&n.props.onAfterOpen()})))},n.close=function(){n.props.closeTimeoutMS>0?n.closeWithTimeout():n.closeWithoutTimeout()},n.focusContent=function(){return n.content&&!n.contentHasFocus()&&n.content.focus()},n.closeWithTimeout=function(){var e=Date.now()+n.props.closeTimeoutMS;n.setState({beforeClose:!0,closesAt:e},(function(){n.closeTimer=setTimeout(n.closeWithoutTimeout,n.state.closesAt-Date.now())}))},n.closeWithoutTimeout=function(){n.setState({beforeClose:!1,isOpen:!1,afterOpen:!1,closesAt:null},n.afterClose)},n.handleKeyDown=function(e){9===e.keyCode&&(0,u.default)(n.content,e),n.props.shouldCloseOnEsc&&27===e.keyCode&&(e.stopPropagation(),n.requestClose(e))},n.handleOverlayOnClick=function(e){null===n.shouldClose&&(n.shouldClose=!0),n.shouldClose&&n.props.shouldCloseOnOverlayClick&&(n.ownerHandlesClose()?n.requestClose(e):n.focusContent()),n.shouldClose=null},n.handleContentOnMouseUp=function(){n.shouldClose=!1},n.handleOverlayOnMouseDown=function(e){n.props.shouldCloseOnOverlayClick||e.target!=n.overlay||e.preventDefault()},n.handleContentOnClick=function(){n.shouldClose=!1},n.handleContentOnMouseDown=function(){n.shouldClose=!1},n.requestClose=function(e){return n.ownerHandlesClose()&&n.props.onRequestClose(e)},n.ownerHandlesClose=function(){return n.props.onRequestClose},n.shouldBeClosed=function(){return!n.state.isOpen&&!n.state.beforeClose},n.contentHasFocus=function(){return document.activeElement===n.content||n.content.contains(document.activeElement)},n.buildClassName=function(e,t){var r="object"===(void 0===t?"undefined":o(t))?t:{base:b[e],afterOpen:b[e]+"--after-open",beforeClose:b[e]+"--before-close"},a=r.base;return n.state.afterOpen&&(a=a+" "+r.afterOpen),n.state.beforeClose&&(a=a+" "+r.beforeClose),"string"==typeof t&&t?a+" "+t:a},n.attributesFromObject=function(e,t){return Object.keys(t).reduce((function(n,r){return n[e+"-"+r]=t[r],n}),{})},n.state={afterOpen:!1,beforeClose:!1},n.shouldClose=null,n.moveFromContentToOverlay=null,n}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,e),a(t,[{key:"componentDidMount",value:function(){this.props.isOpen&&this.open()}},{key:"componentDidUpdate",value:function(e,t){this.props.isOpen&&!e.isOpen?this.open():!this.props.isOpen&&e.isOpen&&this.close(),this.props.shouldFocusAfterRender&&this.state.isOpen&&!t.isOpen&&this.focusContent()}},{key:"componentWillUnmount",value:function(){this.afterClose(),clearTimeout(this.closeTimer)}},{key:"beforeOpen",value:function(){var e=this.props,t=e.appElement,n=e.ariaHideApp,r=e.htmlOpenClassName,o=e.bodyOpenClassName;o&&f.add(document.body,o),r&&f.add(document.getElementsByTagName("html")[0],r),n&&(y+=1,p.hide(t))}},{key:"render",value:function(){var e=this.props,t=e.className,n=e.overlayClassName,o=e.defaultStyles,a=t?{}:o.content,i=n?{}:o.overlay;return this.shouldBeClosed()?null:s.default.createElement("div",{ref:this.setOverlayRef,className:this.buildClassName("overlay",n),style:r({},i,this.props.style.overlay),onClick:this.handleOverlayOnClick,onMouseDown:this.handleOverlayOnMouseDown},s.default.createElement("div",r({ref:this.setContentRef,style:r({},a,this.props.style.content),className:this.buildClassName("content",t),tabIndex:"-1",onKeyDown:this.handleKeyDown,onMouseDown:this.handleContentOnMouseDown,onMouseUp:this.handleContentOnMouseUp,onClick:this.handleContentOnClick,role:this.props.role,"aria-label":this.props.contentLabel},this.attributesFromObject("aria",this.props.aria||{}),this.attributesFromObject("data",this.props.data||{}),{"data-testid":this.props.testId}),this.props.children))}}]),t}(i.Component);g.defaultProps={style:{overlay:{},content:{}},defaultStyles:{}},g.propTypes={isOpen:l.default.bool.isRequired,defaultStyles:l.default.shape({content:l.default.object,overlay:l.default.object}),style:l.default.shape({content:l.default.object,overlay:l.default.object}),className:l.default.oneOfType([l.default.string,l.default.object]),overlayClassName:l.default.oneOfType([l.default.string,l.default.object]),bodyOpenClassName:l.default.string,htmlOpenClassName:l.default.string,ariaHideApp:l.default.bool,appElement:l.default.instanceOf(d.default),onAfterOpen:l.default.func,onAfterClose:l.default.func,onRequestClose:l.default.func,closeTimeoutMS:l.default.number,shouldFocusAfterRender:l.default.bool,shouldCloseOnOverlayClick:l.default.bool,shouldReturnFocusAfterClose:l.default.bool,role:l.default.string,contentLabel:l.default.string,aria:l.default.object,data:l.default.object,children:l.default.node,shouldCloseOnEsc:l.default.bool,overlayRef:l.default.func,contentRef:l.default.func,testId:l.default.string},t.default=g,e.exports=t.default},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.handleBlur=c,t.handleFocus=u,t.markForFocusLater=function(){i.push(document.activeElement)},t.returnFocus=function(){var e=null;try{return void(0!==i.length&&(e=i.pop()).focus())}catch(t){console.warn(["You tried to return focus to",e,"but it is not in the DOM anymore"].join(" "))}},t.popWithoutFocus=function(){i.length>0&&i.pop()},t.setupScopedFocus=function(e){s=e,window.addEventListener?(window.addEventListener("blur",c,!1),document.addEventListener("focus",u,!0)):(window.attachEvent("onBlur",c),document.attachEvent("onFocus",u))},t.teardownScopedFocus=function(){s=null,window.addEventListener?(window.removeEventListener("blur",c),document.removeEventListener("focus",u)):(window.detachEvent("onBlur",c),document.detachEvent("onFocus",u))};var r,o=n(26),a=(r=o)&&r.__esModule?r:{default:r};var i=[],s=null,l=!1;function c(){l=!0}function u(){if(l){if(l=!1,!s)return;setTimeout((function(){s.contains(document.activeElement)||((0,a.default)(s)[0]||s).focus()}),0)}}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){var n=(0,a.default)(e);if(!n.length)return void t.preventDefault();var r,o=t.shiftKey,i=n[0],s=n[n.length-1];if(e===document.activeElement){if(!o)return;r=s}s!==document.activeElement||o||(r=i);i===document.activeElement&&o&&(r=s);if(r)return t.preventDefault(),void r.focus();var l=/(\bChrome\b|\bSafari\b)\//.exec(navigator.userAgent);if(null==l||"Chrome"==l[1]||null!=/\biPod\b|\biPad\b/g.exec(navigator.userAgent))return;var c=n.indexOf(document.activeElement);c>-1&&(c+=o?-1:1);if(void 0===n[c])return t.preventDefault(),void(r=o?s:i).focus();t.preventDefault(),n[c].focus()};var r,o=n(26),a=(r=o)&&r.__esModule?r:{default:r};e.exports=t.default},function(e,t,n){"use strict";e.exports=function(){}},function(e,t,n){var r;!function(){"use strict";var o=!("undefined"==typeof window||!window.document||!window.document.createElement),a={canUseDOM:o,canUseWorkers:"undefined"!=typeof Worker,canUseEventListeners:o&&!(!window.addEventListener&&!window.attachEvent),canUseViewport:o&&!!window.screen};void 0===(r=function(){return a}.call(t,n,t,e))||(e.exports=r)}()},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.dumpClassLists=function(){0};var r={},o={};t.add=function(e,t){return n=e.classList,a="html"==e.nodeName.toLowerCase()?r:o,void t.split(" ").forEach((function(e){!function(e,t){e[t]||(e[t]=0),e[t]+=1}(a,e),n.add(e)}));var n,a},t.remove=function(e,t){return n=e.classList,a="html"==e.nodeName.toLowerCase()?r:o,void t.split(" ").forEach((function(e){!function(e,t){e[t]&&(e[t]-=1)}(a,e),0===a[e]&&n.remove(e)}));var n,a}},function(e,t,n){"use strict";function r(){var e=this.constructor.getDerivedStateFromProps(this.props,this.state);null!=e&&this.setState(e)}function o(e){this.setState(function(t){var n=this.constructor.getDerivedStateFromProps(e,t);return null!=n?n:null}.bind(this))}function a(e,t){try{var n=this.props,r=this.state;this.props=e,this.state=t,this.__reactInternalSnapshotFlag=!0,this.__reactInternalSnapshot=this.getSnapshotBeforeUpdate(n,r)}finally{this.props=n,this.state=r}}function i(e){var t=e.prototype;if(!t||!t.isReactComponent)throw new Error("Can only polyfill class components");if("function"!=typeof e.getDerivedStateFromProps&&"function"!=typeof t.getSnapshotBeforeUpdate)return e;var n=null,i=null,s=null;if("function"==typeof t.componentWillMount?n="componentWillMount":"function"==typeof t.UNSAFE_componentWillMount&&(n="UNSAFE_componentWillMount"),"function"==typeof t.componentWillReceiveProps?i="componentWillReceiveProps":"function"==typeof t.UNSAFE_componentWillReceiveProps&&(i="UNSAFE_componentWillReceiveProps"),"function"==typeof t.componentWillUpdate?s="componentWillUpdate":"function"==typeof t.UNSAFE_componentWillUpdate&&(s="UNSAFE_componentWillUpdate"),null!==n||null!==i||null!==s){var l=e.displayName||e.name,c="function"==typeof e.getDerivedStateFromProps?"getDerivedStateFromProps()":"getSnapshotBeforeUpdate()";throw Error("Unsafe legacy lifecycles will not be called for components using new component APIs.\n\n"+l+" uses "+c+" but also contains the following legacy lifecycles:"+(null!==n?"\n "+n:"")+(null!==i?"\n "+i:"")+(null!==s?"\n "+s:"")+"\n\nThe above lifecycles should be removed. Learn more about this warning here:\nhttps://fb.me/react-async-component-lifecycle-hooks")}if("function"==typeof e.getDerivedStateFromProps&&(t.componentWillMount=r,t.componentWillReceiveProps=o),"function"==typeof t.getSnapshotBeforeUpdate){if("function"!=typeof t.componentDidUpdate)throw new Error("Cannot polyfill getSnapshotBeforeUpdate() for components that do not define componentDidUpdate() on the prototype");t.componentWillUpdate=a;var u=t.componentDidUpdate;t.componentDidUpdate=function(e,t,n){var r=this.__reactInternalSnapshotFlag?this.__reactInternalSnapshot:n;u.call(this,e,t,r)}}return e}n.r(t),n.d(t,"polyfill",(function(){return i})),r.__suppressDeprecationWarning=!0,o.__suppressDeprecationWarning=!0,a.__suppressDeprecationWarning=!0},function(e,t){e.exports=function(e,t,n,r){if(!(e[t]instanceof RegExp)){var o=typeof e[t];return new Error("Invalid "+r+" `"+t+"` of type `"+o+"` supplied to `"+n+"`, expected `RegExp`.")}}},function(e,t,n){"use strict";var r=/[|\\{}()[\]^$+*?.]/g;e.exports=function(e){if("string"!=typeof e)throw new TypeError("Expected a string");return e.replace(r,"\\$&")}},function(e,t){e.exports=function(e){var t={},n=arguments[1];if("string"==typeof n){n={};for(var r=1;r<arguments.length;r++)n[arguments[r]]=!0}for(var o in e)n[o]||(t[o]=e[o]);return t}},function(e,t,n){"use strict";var r=n(83),o={};function a(e,t,n,r,o,a,i,s){if(!e){var l;if(void 0===t)l=new Error("Minified exception occurred; use the non-minified dev environment for the full error message and additional helpful warnings.");else{var c=[n,r,o,a,i,s],u=0;(l=new Error(t.replace(/%s/g,(function(){return c[u++]})))).name="Invariant Violation"}throw l.framesToPop=1,l}}var i="mixins";e.exports=function(e,t,n){var s=[],l={mixins:"DEFINE_MANY",statics:"DEFINE_MANY",propTypes:"DEFINE_MANY",contextTypes:"DEFINE_MANY",childContextTypes:"DEFINE_MANY",getDefaultProps:"DEFINE_MANY_MERGED",getInitialState:"DEFINE_MANY_MERGED",getChildContext:"DEFINE_MANY_MERGED",render:"DEFINE_ONCE",componentWillMount:"DEFINE_MANY",componentDidMount:"DEFINE_MANY",componentWillReceiveProps:"DEFINE_MANY",shouldComponentUpdate:"DEFINE_ONCE",componentWillUpdate:"DEFINE_MANY",componentDidUpdate:"DEFINE_MANY",componentWillUnmount:"DEFINE_MANY",UNSAFE_componentWillMount:"DEFINE_MANY",UNSAFE_componentWillReceiveProps:"DEFINE_MANY",UNSAFE_componentWillUpdate:"DEFINE_MANY",updateComponent:"OVERRIDE_BASE"},c={getDerivedStateFromProps:"DEFINE_MANY_MERGED"},u={displayName:function(e,t){e.displayName=t},mixins:function(e,t){if(t)for(var n=0;n<t.length;n++)f(e,t[n])},childContextTypes:function(e,t){e.childContextTypes=r({},e.childContextTypes,t)},contextTypes:function(e,t){e.contextTypes=r({},e.contextTypes,t)},getDefaultProps:function(e,t){e.getDefaultProps?e.getDefaultProps=h(e.getDefaultProps,t):e.getDefaultProps=t},propTypes:function(e,t){e.propTypes=r({},e.propTypes,t)},statics:function(e,t){!function(e,t){if(!t)return;for(var n in t){var r=t[n];if(t.hasOwnProperty(n)){if(a(!(n in u),'ReactClass: You are attempting to define a reserved property, `%s`, that shouldn\'t be on the "statics" key. Define it as an instance property instead; it will still be accessible on the constructor.',n),n in e)return a("DEFINE_MANY_MERGED"===(c.hasOwnProperty(n)?c[n]:null),"ReactClass: You are attempting to define `%s` on your component more than once. This conflict may be due to a mixin.",n),void(e[n]=h(e[n],r));e[n]=r}}}(e,t)},autobind:function(){}};function p(e,t){var n=l.hasOwnProperty(t)?l[t]:null;v.hasOwnProperty(t)&&a("OVERRIDE_BASE"===n,"ReactClassInterface: You are attempting to override `%s` from your class specification. Ensure that your method names do not overlap with React methods.",t),e&&a("DEFINE_MANY"===n||"DEFINE_MANY_MERGED"===n,"ReactClassInterface: You are attempting to define `%s` on your component more than once. This conflict may be due to a mixin.",t)}function f(e,n){if(n){a("function"!=typeof n,"ReactClass: You're attempting to use a component class or function as a mixin. Instead, just use a regular object."),a(!t(n),"ReactClass: You're attempting to use a component as a mixin. Instead, just use a regular object.");var r=e.prototype,o=r.__reactAutoBindPairs;for(var s in n.hasOwnProperty(i)&&u.mixins(e,n.mixins),n)if(n.hasOwnProperty(s)&&s!==i){var c=n[s],f=r.hasOwnProperty(s);if(p(f,s),u.hasOwnProperty(s))u[s](e,c);else{var d=l.hasOwnProperty(s);if("function"==typeof c&&!d&&!f&&!1!==n.autobind)o.push(s,c),r[s]=c;else if(f){var b=l[s];a(d&&("DEFINE_MANY_MERGED"===b||"DEFINE_MANY"===b),"ReactClass: Unexpected spec policy %s for key %s when mixing in component specs.",b,s),"DEFINE_MANY_MERGED"===b?r[s]=h(r[s],c):"DEFINE_MANY"===b&&(r[s]=m(r[s],c))}else r[s]=c}}}else;}function d(e,t){for(var n in a(e&&t&&"object"==typeof e&&"object"==typeof t,"mergeIntoWithNoDuplicateKeys(): Cannot merge non-objects."),t)t.hasOwnProperty(n)&&(a(void 0===e[n],"mergeIntoWithNoDuplicateKeys(): Tried to merge two objects with the same key: `%s`. This conflict may be due to a mixin; in particular, this may be caused by two getInitialState() or getDefaultProps() methods returning objects with clashing keys.",n),e[n]=t[n]);return e}function h(e,t){return function(){var n=e.apply(this,arguments),r=t.apply(this,arguments);if(null==n)return r;if(null==r)return n;var o={};return d(o,n),d(o,r),o}}function m(e,t){return function(){e.apply(this,arguments),t.apply(this,arguments)}}function b(e,t){return t.bind(e)}var y={componentDidMount:function(){this.__isMounted=!0}},g={componentWillUnmount:function(){this.__isMounted=!1}},v={replaceState:function(e,t){this.updater.enqueueReplaceState(this,e,t)},isMounted:function(){return!!this.__isMounted}},O=function(){};return r(O.prototype,e.prototype,v),function(e){var t=function(e,r,i){this.__reactAutoBindPairs.length&&function(e){for(var t=e.__reactAutoBindPairs,n=0;n<t.length;n+=2){var r=t[n],o=t[n+1];e[r]=b(e,o)}}(this),this.props=e,this.context=r,this.refs=o,this.updater=i||n,this.state=null;var s=this.getInitialState?this.getInitialState():null;a("object"==typeof s&&!Array.isArray(s),"%s.getInitialState(): must return an object or null",t.displayName||"ReactCompositeComponent"),this.state=s};for(var r in t.prototype=new O,t.prototype.constructor=t,t.prototype.__reactAutoBindPairs=[],s.forEach(f.bind(null,t)),f(t,y),f(t,e),f(t,g),t.getDefaultProps&&(t.defaultProps=t.getDefaultProps()),a(t.prototype.render,"createClass(...): Class specification must implement a `render` method."),l)t.prototype[r]||(t.prototype[r]=null);return t}}},function(e,t,n){"use strict";var r=Object.getOwnPropertySymbols,o=Object.prototype.hasOwnProperty,a=Object.prototype.propertyIsEnumerable;function i(e){if(null==e)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(e)}e.exports=function(){try{if(!Object.assign)return!1;var e=new String("abc");if(e[5]="de","5"===Object.getOwnPropertyNames(e)[0])return!1;for(var t={},n=0;n<10;n++)t["_"+String.fromCharCode(n)]=n;if("0123456789"!==Object.getOwnPropertyNames(t).map((function(e){return t[e]})).join(""))return!1;var r={};return"abcdefghijklmnopqrst".split("").forEach((function(e){r[e]=e})),"abcdefghijklmnopqrst"===Object.keys(Object.assign({},r)).join("")}catch(e){return!1}}()?Object.assign:function(e,t){for(var n,s,l=i(e),c=1;c<arguments.length;c++){for(var u in n=Object(arguments[c]))o.call(n,u)&&(l[u]=n[u]);if(r){s=r(n);for(var p=0;p<s.length;p++)a.call(n,s[p])&&(l[s[p]]=n[s[p]])}}return l}},function(e,t,n){"use strict";var r=Array.isArray,o=Object.keys,a=Object.prototype.hasOwnProperty;e.exports=function e(t,n){if(t===n)return!0;if(t&&n&&"object"==typeof t&&"object"==typeof n){var i,s,l,c=r(t),u=r(n);if(c&&u){if((s=t.length)!=n.length)return!1;for(i=s;0!=i--;)if(!e(t[i],n[i]))return!1;return!0}if(c!=u)return!1;var p=t instanceof Date,f=n instanceof Date;if(p!=f)return!1;if(p&&f)return t.getTime()==n.getTime();var d=t instanceof RegExp,h=n instanceof RegExp;if(d!=h)return!1;if(d&&h)return t.toString()==n.toString();var m=o(t);if((s=m.length)!==o(n).length)return!1;for(i=s;0!=i--;)if(!a.call(n,m[i]))return!1;for(i=s;0!=i--;)if(!e(t[l=m[i]],n[l]))return!1;return!0}return t!=t&&n!=n}},function(e,t,n){"use strict";n.r(t),n.d(t,"Accordion",(function(){return je})),n.d(t,"SLDSAccordion",(function(){return je})),n.d(t,"AccordionPanel",(function(){return sr})),n.d(t,"SLDSAccordionPanel",(function(){return sr})),n.d(t,"Alert",(function(){return Sr})),n.d(t,"SLDSAlert",(function(){return Sr})),n.d(t,"AlertContainer",(function(){return Rr})),n.d(t,"SLDSAlertContainer",(function(){return Rr})),n.d(t,"AppLauncher",(function(){return So})),n.d(t,"SLDSAppLauncher",(function(){return So})),n.d(t,"AppLauncherExpandableSection",(function(){return zo})),n.d(t,"SLDSAppLauncherExpandableSection",(function(){return zo})),n.d(t,"AppLauncherLink",(function(){return ia})),n.d(t,"SLDSAppLauncherLink",(function(){return ia})),n.d(t,"AppLauncherTile",(function(){return Aa})),n.d(t,"SLDSAppLauncherTile",(function(){return Aa})),n.d(t,"Avatar",(function(){return Ja})),n.d(t,"SLDSAvatar",(function(){return Ja})),n.d(t,"Badge",(function(){return oi})),n.d(t,"SLDSBadge",(function(){return oi})),n.d(t,"BrandBand",(function(){return bi})),n.d(t,"SLDSBrandBand",(function(){return bi})),n.d(t,"BreadCrumb",(function(){return Ys})),n.d(t,"SLDSBreadCrumb",(function(){return Ys})),n.d(t,"Breadcrumb",(function(){return Ys})),n.d(t,"SLDSBreadcrumb",(function(){return Ys})),n.d(t,"BuilderHeader",(function(){return tl})),n.d(t,"SLDSBuilderHeader",(function(){return tl})),n.d(t,"BuilderHeaderMisc",(function(){return ol})),n.d(t,"SLDSBuilderHeaderMisc",(function(){return ol})),n.d(t,"BuilderHeaderNav",(function(){return sl})),n.d(t,"SLDSBuilderHeaderNav",(function(){return sl})),n.d(t,"BuilderHeaderNavDropdown",(function(){return pl})),n.d(t,"SLDSBuilderHeaderNavDropdown",(function(){return pl})),n.d(t,"BuilderHeaderNavLink",(function(){return gl})),n.d(t,"SLDSBuilderHeaderNavLink",(function(){return gl})),n.d(t,"BuilderHeaderToolbar",(function(){return El})),n.d(t,"SLDSBuilderHeaderToolbar",(function(){return El})),n.d(t,"Button",(function(){return or})),n.d(t,"SLDSButton",(function(){return or})),n.d(t,"ButtonGroup",(function(){return Al})),n.d(t,"SLDSButtonGroup",(function(){return Al})),n.d(t,"ButtonIcon",(function(){return mt})),n.d(t,"SLDSButtonIcon",(function(){return mt})),n.d(t,"ButtonStateful",(function(){return $l})),n.d(t,"SLDSButtonStateful",(function(){return $l})),n.d(t,"Card",(function(){return Pc})),n.d(t,"SLDSCard",(function(){return Pc})),n.d(t,"CardEmpty",(function(){return Sc})),n.d(t,"SLDSCardEmpty",(function(){return Sc})),n.d(t,"CardFilter",(function(){return Ru})),n.d(t,"SLDSCardFilter",(function(){return Ru})),n.d(t,"Carousel",(function(){return pp})),n.d(t,"SLDSCarousel",(function(){return pp})),n.d(t,"Checkbox",(function(){return Pp})),n.d(t,"SLDSCheckbox",(function(){return Pp})),n.d(t,"ColorPicker",(function(){return Dh})),n.d(t,"SLDSColorPicker",(function(){return Dh})),n.d(t,"Combobox",(function(){return Qm})),n.d(t,"SLDSCombobox",(function(){return Qm})),n.d(t,"SLDSComboboxFilterAndLimit",(function(){return Jm})),n.d(t,"DataTable",(function(){return Ey})),n.d(t,"SLDSDataTable",(function(){return Ey})),n.d(t,"DataTableCell",(function(){return rb})),n.d(t,"SLDSDataTableCell",(function(){return rb})),n.d(t,"DataTableColumn",(function(){return pb})),n.d(t,"SLDSDataTableColumn",(function(){return pb})),n.d(t,"DataTableHighlightCell",(function(){return Cy})),n.d(t,"SLDSDataTableHighlightCell",(function(){return Cy})),n.d(t,"DataTableRowActions",(function(){return sy})),n.d(t,"SLDSDataTableRowActions",(function(){return sy})),n.d(t,"DatePicker",(function(){return Kg})),n.d(t,"SLDSDatePicker",(function(){return Kg})),n.d(t,"Datepicker",(function(){return Kg})),n.d(t,"SLDSDatepicker",(function(){return Kg})),n.d(t,"Dropdown",(function(){return Hs})),n.d(t,"DropdownTrigger",(function(){return fs})),n.d(t,"SLDSDropdownTrigger",(function(){return fs})),n.d(t,"DynamicIcon",(function(){return ev})),n.d(t,"SLDSDynamicIcon",(function(){return ev})),n.d(t,"EditDialog",(function(){return hv})),n.d(t,"SLDSEditDialog",(function(){return hv})),n.d(t,"ExpandableSection",(function(){return Io})),n.d(t,"SLDSExpandableSection",(function(){return Io})),n.d(t,"Expression",(function(){return Lv})),n.d(t,"SLDSExpression",(function(){return Lv})),n.d(t,"ExpressionCondition",(function(){return zv})),n.d(t,"SLDSExpressionCondition",(function(){return zv})),n.d(t,"ExpressionFormula",(function(){return aO})),n.d(t,"SLDSExpressionFormula",(function(){return aO})),n.d(t,"ExpressionGroup",(function(){return Ev})),n.d(t,"SLDSExpressionGroup",(function(){return Ev})),n.d(t,"File",(function(){return xO})),n.d(t,"SLDSFile",(function(){return xO})),n.d(t,"Files",(function(){return DO})),n.d(t,"SLDSFiles",(function(){return DO})),n.d(t,"FilesFile",(function(){return xO})),n.d(t,"SLDSFilesFile",(function(){return xO})),n.d(t,"FilesMoreFiles",(function(){return GO})),n.d(t,"SLDSFilesMoreFiles",(function(){return GO})),n.d(t,"Filter",(function(){return o_})),n.d(t,"SLDSFilter",(function(){return o_})),n.d(t,"GlobalHeader",(function(){return v_})),n.d(t,"SLDSGlobalHeader",(function(){return v_})),n.d(t,"GlobalHeaderButton",(function(){return x_})),n.d(t,"SLDSGlobalHeaderButton",(function(){return x_})),n.d(t,"GlobalHeaderDropdown",(function(){return q_})),n.d(t,"SLDSGlobalHeaderDropdown",(function(){return q_})),n.d(t,"GlobalHeaderFavorites",(function(){return Z_})),n.d(t,"SLDSGlobalHeaderFavorites",(function(){return Z_})),n.d(t,"GlobalHeaderHelp",(function(){return uS})),n.d(t,"SLDSGlobalHeaderHelp",(function(){return uS})),n.d(t,"GlobalHeaderNotifications",(function(){return _S})),n.d(t,"SLDSGlobalHeaderNotifications",(function(){return _S})),n.d(t,"GlobalHeaderProfile",(function(){return TS})),n.d(t,"SLDSGlobalHeaderProfile",(function(){return TS})),n.d(t,"GlobalHeaderSearch",(function(){return RS})),n.d(t,"SLDSGlobalHeaderSearch",(function(){return RS})),n.d(t,"GlobalHeaderSetup",(function(){return WS})),n.d(t,"SLDSGlobalHeaderSetup",(function(){return WS})),n.d(t,"GlobalHeaderTask",(function(){return ex})),n.d(t,"SLDSGlobalHeaderTask",(function(){return ex})),n.d(t,"GlobalNavigationBar",(function(){return rx})),n.d(t,"SLDSGlobalNavigationBar",(function(){return rx})),n.d(t,"GlobalNavigationBarButton",(function(){return sx})),n.d(t,"SLDSGlobalNavigationBarButton",(function(){return sx})),n.d(t,"GlobalNavigationBarDropdown",(function(){return wx})),n.d(t,"SLDSGlobalNavigationBarDropdown",(function(){return wx})),n.d(t,"GlobalNavigationBarLabel",(function(){return Cx})),n.d(t,"SLDSGlobalNavigationBarLabel",(function(){return Cx})),n.d(t,"GlobalNavigationBarLink",(function(){return Tx})),n.d(t,"SLDSGlobalNavigationBarLink",(function(){return Tx})),n.d(t,"GlobalNavigationBarRegion",(function(){return qx})),n.d(t,"SLDSGlobalNavigationBarRegion",(function(){return qx})),n.d(t,"Icon",(function(){return jn})),n.d(t,"SLDSIcon",(function(){return jn})),n.d(t,"IconSettings",(function(){return tn})),n.d(t,"SLDSIconSettings",(function(){return tn})),n.d(t,"Illustration",(function(){return zx})),n.d(t,"SLDSIllustration",(function(){return zx})),n.d(t,"InlineEdit",(function(){return iw})),n.d(t,"SLDSInlineEdit",(function(){return iw})),n.d(t,"Input",(function(){return Pu})),n.d(t,"SLDSInput",(function(){return Pu})),n.d(t,"InputIcon",(function(){return Dc})),n.d(t,"SLDSInputIcon",(function(){return Dc})),n.d(t,"InputSearch",(function(){return hw})),n.d(t,"SLDSInputSearch",(function(){return hw})),n.d(t,"LocationMap",(function(){return Pw})),n.d(t,"SLDSLocationMap",(function(){return Pw})),n.d(t,"Lookup",(function(){return BE})),n.d(t,"SLDSLookup",(function(){return BE})),n.d(t,"LookupDefaultFooter",(function(){return Mw})),n.d(t,"SLDSLookupDefaultFooter",(function(){return Mw})),n.d(t,"LookupDefaultHeader",(function(){return Jw})),n.d(t,"SLDSLookupDefaultHeader",(function(){return Jw})),n.d(t,"LookupDefaultSectionDivider",(function(){return Zw})),n.d(t,"SLDSLookupDefaultSectionDivider",(function(){return Zw})),n.d(t,"MediaObject",(function(){return pc})),n.d(t,"SLDSMediaObject",(function(){return pc})),n.d(t,"MenuDropdown",(function(){return Hs})),n.d(t,"SLDSMenuDropdown",(function(){return Hs})),n.d(t,"MenuDropdownButtonTrigger",(function(){return fs})),n.d(t,"SLDSMenuDropdownButtonTrigger",(function(){return fs})),n.d(t,"SLDSMenuPicklist",(function(){return WE})),n.d(t,"Modal",(function(){return lo})),n.d(t,"SLDSModal",(function(){return lo})),n.d(t,"ModalTrigger",(function(){return VE})),n.d(t,"SLDSModalTrigger",(function(){return VE})),n.d(t,"MoreFiles",(function(){return GO})),n.d(t,"SLDSMoreFiles",(function(){return GO})),n.d(t,"Navigation",(function(){return oj})),n.d(t,"SLDSNavigation",(function(){return oj})),n.d(t,"Notification",(function(){return bj})),n.d(t,"SLDSNotification",(function(){return bj})),n.d(t,"PageHeader",(function(){return RC})),n.d(t,"SLDSPageHeader",(function(){return RC})),n.d(t,"PageHeaderControl",(function(){return AC})),n.d(t,"SLDSPageHeaderControl",(function(){return AC})),n.d(t,"Panel",(function(){return VC})),n.d(t,"SLDSPanel",(function(){return VC})),n.d(t,"PanelFilterGroup",(function(){return tP})),n.d(t,"SLDSPanelFilterGroup",(function(){return tP})),n.d(t,"PanelFilterList",(function(){return uP})),n.d(t,"SLDSPanelFilterList",(function(){return uP})),n.d(t,"PanelFilterListHeading",(function(){return fP})),n.d(t,"SLDSPanelFilterListHeading",(function(){return fP})),n.d(t,"Picklist",(function(){return WE})),n.d(t,"Pill",(function(){return dm})),n.d(t,"SLDSPill",(function(){return dm})),n.d(t,"PillContainer",(function(){return xP})),n.d(t,"SLDSPillContainer",(function(){return xP})),n.d(t,"Popover",(function(){return Oh})),n.d(t,"SLDSPopover",(function(){return Oh})),n.d(t,"PopoverTooltip",(function(){return Hn})),n.d(t,"SLDSPopoverTooltip",(function(){return Hn})),n.d(t,"ProgressBar",(function(){return DP})),n.d(t,"SLDSProgressBar",(function(){return DP})),n.d(t,"ProgressIndicator",(function(){return LN})),n.d(t,"SLDSProgressIndicator",(function(){return LN})),n.d(t,"ProgressRing",(function(){return ZN})),n.d(t,"SLDSProgressRing",(function(){return ZN})),n.d(t,"Radio",(function(){return Cf})),n.d(t,"SLDSRadio",(function(){return Cf})),n.d(t,"RadioButtonGroup",(function(){return af})),n.d(t,"SLDSRadioButtonGroup",(function(){return af})),n.d(t,"RadioGroup",(function(){return ef})),n.d(t,"SLDSRadioGroup",(function(){return ef})),n.d(t,"ScopedNotification",(function(){return dT})),n.d(t,"SLDSScopedNotification",(function(){return dT})),n.d(t,"Search",(function(){return hw})),n.d(t,"SLDSSearch",(function(){return hw})),n.d(t,"Settings",(function(){return Vr})),n.d(t,"SLDSSettings",(function(){return Vr})),n.d(t,"SetupAssistant",(function(){return jT})),n.d(t,"SLDSSetupAssistant",(function(){return jT})),n.d(t,"SetupAssistantStep",(function(){return qT})),n.d(t,"SLDSSetupAssistantStep",(function(){return qT})),n.d(t,"Slider",(function(){return tk})),n.d(t,"SLDSSlider",(function(){return tk})),n.d(t,"Spinner",(function(){return Kc})),n.d(t,"SLDSSpinner",(function(){return Kc})),n.d(t,"SplitView",(function(){return hk})),n.d(t,"SLDSSplitView",(function(){return hk})),n.d(t,"SplitViewHeader",(function(){return gk})),n.d(t,"SLDSSplitViewHeader",(function(){return gk})),n.d(t,"SplitViewListbox",(function(){return Gk})),n.d(t,"SLDSSplitViewListbox",(function(){return Gk})),n.d(t,"Splitview",(function(){return hk})),n.d(t,"SLDSSplitview",(function(){return hk})),n.d(t,"Tabs",(function(){return Zd})),n.d(t,"SLDSTabs",(function(){return Zd})),n.d(t,"TabsPanel",(function(){return th})),n.d(t,"SLDSTabsPanel",(function(){return th})),n.d(t,"Textarea",(function(){return sR})),n.d(t,"SLDSTextarea",(function(){return sR})),n.d(t,"TimePicker",(function(){return AR})),n.d(t,"SLDSTimePicker",(function(){return AR})),n.d(t,"Timepicker",(function(){return AR})),n.d(t,"SLDSTimepicker",(function(){return AR})),n.d(t,"Toast",(function(){return QR})),n.d(t,"SLDSToast",(function(){return QR})),n.d(t,"ToastContainer",(function(){return aD})),n.d(t,"SLDSToastContainer",(function(){return aD})),n.d(t,"Tooltip",(function(){return Hn})),n.d(t,"SLDSTooltip",(function(){return Hn})),n.d(t,"Tree",(function(){return UD})),n.d(t,"SLDSTree",(function(){return UD})),n.d(t,"TrialBar",(function(){return QD})),n.d(t,"SLDSTrialBar",(function(){return QD})),n.d(t,"TrialBarButton",(function(){return ZD})),n.d(t,"SLDSTrialBarButton",(function(){return ZD})),n.d(t,"TrialBarDropdown",(function(){return oI})),n.d(t,"SLDSTrialBarDropdown",(function(){return oI})),n.d(t,"UNSAFE_DirectionSettings",(function(){return ke})),n.d(t,"UtilityIcon",(function(){return pt})),n.d(t,"SLDSUtilityIcon",(function(){return pt})),n.d(t,"VerticalNavigation",(function(){return oj})),n.d(t,"SLDSVerticalNavigation",(function(){return oj})),n.d(t,"VisualPicker",(function(){return hI})),n.d(t,"SLDSVisualPicker",(function(){return hI})),n.d(t,"VisualPickerLink",(function(){return wI})),n.d(t,"SLDSVisualPickerLink",(function(){return wI})),n.d(t,"WelcomeMat",(function(){return II})),n.d(t,"SLDSWelcomeMat",(function(){return II})),n.d(t,"WelcomeMatInfoBadge",(function(){return VI})),n.d(t,"SLDSWelcomeMatInfoBadge",(function(){return VI})),n.d(t,"WelcomeMatTile",(function(){return oA})),n.d(t,"SLDSWelcomeMatTile",(function(){return oA})),n.d(t,"comboboxAddSubheadings",(function(){return sA})),n.d(t,"comboboxFilterAndLimit",(function(){return Jm})),n.d(t,"log",(function(){return lA}));var r=n(1),o=n.n(r),a=n(0),i=n.n(a),s=n(2),l=n.n(s),c=n(3),u=n.n(c),p="SLDSAlert",f="SLDSAppLauncher",d="SLDSAppLauncherExpandableSection",h="SLDSAppLauncherTile",m="SLDSAvatar",b="SLDSBreadcrumb",y="SLDSBuilderHeaderMisc",g="SLDSBuilderHeaderNav",v="SLDSBuilderHeaderNavDropdown",O="SLDSBuilderHeaderNavLink",_="SLDSBuilderHeaderToolbar",S="SLDSButton",x="SLDSButtonGroup",w="SLDSButtonStateful",E="SLDSButtonIcon",j="SLDSColorPicker",C="SLDSCombobox",P="SLDSDataTable",N="SLDSDataTableCell",T="SLDSDataTableColumn",k="SLDSDataTableHead",R="SLDSDataTableRowActions",D="SLDSDataTableRow",I="SLDSDatePicker",A="SLDSCheckbox",L="SLDSInlineEdit",B="SLDSInput",F="SLDSTextarea",M="SLDSSearch",q="SLDSGlobalHeader",H="SLDSGlobalHeaderFavorites",K="SLDSGlobalHeaderHelp",W="SLDSGlobalHeaderNotifications",V="SLDSGlobalHeaderProfile",U="SLDSGlobalHeaderSearch",z="SLDSGlobalHeaderSetup",G="SLDSGlobalHeaderTask",Y="SLDSGlobalHeaderTool",Q="SLDSGlobalNavigationBarDropdown",J="SLDSGlobalNavigationBarRegion",X="SLDSIcon",$="SLDSList",Z="SLDSLookup",ee="SLDSMenuDropdown",te="SLDSMenuDropdownTrigger",ne="SLDSMenuPicklist",re="SLDSModal",oe="SLDSFilterGroup",ae="SLDSPageHeader",ie="SLDSPageHeaderControl",se="SLDSPopover",le="SLDSPopoverTooltip",ce="SLDSSetupAssistant",ue="SLDSSetupAssistantStep",pe="SLDSScopedNotification",fe="SLDSSpinner",de="SLDSRadio",he="SLDSTimepicker",me="SLDSToast",be="SLDSTree",ye="SLDSVerticalNavigation";function ge(e){return(ge="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function ve(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function Oe(e,t){return(Oe=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function _e(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=xe(e);if(t){var o=xe(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return Se(this,n)}}function Se(e,t){return!t||"object"!==ge(t)&&"function"!=typeof t?function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e):t}function xe(e){return(xe=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}var we={className:i.a.oneOfType([i.a.array,i.a.object,i.a.string]),id:i.a.oneOfType([i.a.number,i.a.string]),children:i.a.node.isRequired},Ee=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&Oe(e,t)}(i,e);var t,n,r,a=_e(i);function i(e){var t;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,i),(t=a.call(this,e)).state={currButtonIndex:0},t.summaryButtons=[],t.generatedId=u.a.generate(),t}return t=i,(n=[{key:"componentDidUpdate",value:function(e,t){null!==this.state.currButtonIndex&&this.state.currButtonIndex!==t.currButtonIndex&&this.summaryButtons[this.state.currButtonIndex].focus()}},{key:"onClickSummary",value:function(){this.setState({currButtonIndex:null})}},{key:"onKeyDownSummary",value:function(e){var t=this.state.currButtonIndex;null===t&&(t=this.summaryButtons.findIndex((function(t){return t.id===e.target.id}))),"ArrowDown"===e.key?(e.preventDefault(),t<this.props.children.length-1?this.setState({currButtonIndex:t+1}):this.setState({currButtonIndex:0})):"ArrowUp"===e.key&&(e.preventDefault(),t>0?this.setState({currButtonIndex:t-1}):this.setState({currButtonIndex:this.props.children.length-1}))}},{key:"addSummaryButton",value:function(e){var t=this.summaryButtons.find((function(t){return e===t}));null!==e&&void 0===t&&this.summaryButtons.push(e)}},{key:"render",value:function(){var e=this;return o.a.createElement("ul",{name:this.props.id||this.generatedId,className:l()("slds-accordion",this.props.className)},o.a.Children.map(this.props.children,(function(t){return o.a.cloneElement(t,{refs:{summaryButton:e.addSummaryButton.bind(e)},onClickSummary:e.onClickSummary.bind(e),onKeyDownSummary:e.onKeyDownSummary.bind(e)})})))}}])&&ve(t.prototype,n),r&&ve(t,r),i}(r.Component);Ee.displayName="SLDSAccordion",Ee.propTypes=we;var je=Ee,Ce=n(19),Pe=n.n(Ce);n(8);var Ne=function(){},Te={LTR:"ltr",RTL:"rtl"},ke=o.a.createContext("ltr");var Re=function(){};function De(e){return(De="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function Ie(e,t){if(null==e)return{};var n,r,o=function(e,t){if(null==e)return{};var n,r,o={},a=Object.keys(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)>=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}function Ae(){return(Ae=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}function Le(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function Be(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function Fe(e,t){return(Fe=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function Me(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=Ke(e);if(t){var o=Ke(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return qe(this,n)}}function qe(e,t){return!t||"object"!==De(t)&&"function"!=typeof t?He(e):t}function He(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function Ke(e){return(Ke=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function We(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var Ve=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&Fe(e,t)}(i,e);var t,n,r,a=Me(i);function i(){var e;Le(this,i);for(var t=arguments.length,n=new Array(t),r=0;r<t;r++)n[r]=arguments[r];return We(He(e=a.call.apply(a,[this].concat(n))),"getPaths",(function(e){return e instanceof Array?e.map((function(e){return o.a.createElement("path",e)})):o.a.createElement("path",Ae({key:"pathSVG"},e))})),We(He(e),"getCircles",(function(e){return e instanceof Array?e.map((function(e){return o.a.createElement("circle",e)})):o.a.createElement("circle",Ae({key:"circleSVG"},e))})),We(He(e),"getEllipses",(function(e){return e instanceof Array?e.map((function(e){return o.a.createElement("ellipse",e)})):o.a.createElement("ellipse",Ae({key:"ellipseSVG"},e))})),We(He(e),"getGroups",(function(t){return t instanceof Array?t.map((function(t){return o.a.createElement("g",null,e.getShapes(t))})):o.a.createElement("g",{key:"groupsSVG"},e.getShapes(t))})),We(He(e),"getShapes",(function(t){var n=[];return t&&(t.g&&n.push(e.getGroups(t.g)),t.ellipse&&n.push(e.getEllipses(t.ellipse)),t.circle&&n.push(e.getCircles(t.circle)),t.path&&n.push(e.getPaths(t.path))),n})),We(He(e),"getSVG",(function(t,n){var r=t.viewBox,a=Ie(t,["viewBox"]);return o.a.createElement("svg",{"aria-hidden":n["aria-hidden"],className:n.className,viewBox:r,name:n.name,style:n.style},e.getShapes(a))})),e}return t=i,(n=[{key:"render",value:function(){var e=this.props,t=e.data,n=Ie(e,["data"]);return t?this.getSVG(t,n):null}}])&&Be(t.prototype,n),r&&Be(t,r),i}(o.a.Component);We(Ve,"displayName","Svg");var Ue=Ve;var ze={};var Ge={};var Ye={};var Qe={};var Je={};function Xe(e){return(Xe="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function $e(){return($e=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}function Ze(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function et(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function tt(e,t){return(tt=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function nt(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=at(e);if(t){var o=at(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return rt(this,n)}}function rt(e,t){return!t||"object"!==Xe(t)&&"function"!=typeof t?ot(e):t}function ot(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function at(e){return(at=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function it(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var st=function(e){var t,n,a=e.displayName||e.name||"Component";return n=t=function(t){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&tt(e,t)}(s,t);var n,r,a,i=nt(s);function s(){var t;Ze(this,s);for(var n=arguments.length,r=new Array(n),a=0;a<n;a++)r[a]=arguments[a];return it(ot(t=i.call.apply(i,[this].concat(r))),"getWrappedComponent",(function(n){return o.a.createElement(e,$e({},t.props,{direction:n}))})),t}return n=s,(r=[{key:"render",value:function(){return o.a.createElement(ke.Consumer,null,this.getWrappedComponent)}}])&&et(n.prototype,r),a&&et(n,a),s}(r.Component),it(t,"displayName","LanguageDirection(".concat(a,")")),n};function lt(){return(lt=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}function ct(e,t){if(null==e)return{};var n,r,o=function(e,t){if(null==e)return{};var n,r,o={},a=Object.keys(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)>=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}var ut=function(e,t){var n=e.name,r=void 0===n?"":n,a=(e.assistiveText,e.category),i=e.icon,s=e.path,l=e.direction,c=ct(e,["name","assistiveText","category","icon","path","direction"]);Re("UtilityIcon",{name:r,category:a,path:s,context:t});var u,p,f={action:Ge,custom:Ye,doctype:Qe,standard:Je,utility:ze};if(i?u=i:Object.keys(f[a]).length&&((u=f[a][r.toLowerCase()]).viewBox=f[a].viewBox),s)p=s;else if(t.onRequestIconPath)p=t.onRequestIconPath({category:a,name:r});else if(t["".concat(a,"Sprite")])p="".concat(t["".concat(a,"Sprite")],"#").concat(r);else{var d=l===Te.RTL?"symbols-rtl.svg":"symbols.svg";p=t.iconPath&&"".concat(t.iconPath,"/").concat(a,"-sprite/svg/").concat(d,"#").concat(r)}return u?o.a.createElement(Ue,lt({data:u,name:r},c)):o.a.createElement("svg",lt({key:"".concat(r,"_").concat(a)},c),o.a.createElement("use",{href:p}))};ut.displayName="UtilityIcon",ut.propTypes={assistiveText:i.a.object,category:i.a.oneOf(["action","custom","doctype","standard","utility"]),icon:i.a.object,name:i.a.string,path:i.a.string},ut.defaultProps={category:"utility"},ut.contextTypes={iconPath:i.a.string,onRequestIconPath:i.a.func,actionSprite:i.a.string,customSprite:i.a.string,doctypeSprite:i.a.string,standardSprite:i.a.string,utilitySprite:i.a.string};var pt=st(ut);function ft(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var dt=function(e){var t;return Ne(E,e),o.a.createElement(pt,{"aria-hidden":"true",category:e.category,className:l()("slds-button__icon",(t={},ft(t,"slds-button__icon_".concat(e.size),e.size&&"medium"!==e.size),ft(t,"slds-button__icon_inverse-hint",e.inverse&&e.hint),ft(t,"slds-button__icon_hint",e.hint&&!e.inverse),ft(t,"slds-button__icon_".concat(e.position),e.position),t),e.className),icon:e.icon,name:e.name,path:e.path})},ht={category:i.a.oneOf(["action","custom","doctype","standard","utility"]).isRequired,hint:i.a.bool,icon:i.a.object,className:i.a.oneOfType([i.a.array,i.a.object,i.a.string]),inverse:i.a.bool,name:i.a.string,path:i.a.string,position:i.a.oneOf(["left","right"]),size:i.a.oneOf(["x-small","small","medium","large"])};dt.displayName=E,dt.propTypes=ht,dt.defaultProps={category:"utility",size:"medium"};var mt=dt;var bt=function(){},yt=n(28),gt=n(29),vt=n(9),Ot=n.n(vt),_t=n(6),St=n.n(_t);function xt(e){return(xt="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function wt(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function Et(e,t){return(Et=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function jt(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=Pt(e);if(t){var o=Pt(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return Ct(this,n)}}function Ct(e,t){return!t||"object"!==xt(t)&&"function"!=typeof t?function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e):t}function Pt(e){return(Pt=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}var Nt="undefined"!=typeof document,Tt=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&Et(e,t)}(i,e);var t,n,o,a=jt(i);function i(e){var t;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,i),(t=a.call(this,e)).portalNode=null,t.state={isOpen:!1},t}return t=i,(n=[{key:"componentDidMount",value:function(){this.renderPortal()}},{key:"componentDidUpdate",value:function(){this.renderPortal()}},{key:"componentWillUnmount",value:function(){this.unmountPortal()}},{key:"getChildren",value:function(){return r.Children.only(this.props.children)}},{key:"getPortalParentNode",value:function(){return"string"==typeof this.props.renderTo?document.querySelector(this.props.renderTo):this.props.renderTo||Nt&&document.body}},{key:"setupPortalNode",value:function(){var e=this.getPortalParentNode();this.portalNode={},Nt&&(this.portalNode=document.createElement(this.props.renderTag),this.portalNode.setAttribute("style","display: block; height: 0px; width: 0px;"),this.portalNode.setAttribute("className","design-system-react-portal"),e.appendChild(this.portalNode),this.portalNodeInstance=this.props.onMount?this.props.onMount(void 0,{portal:this.portalNode}):this.portalNode)}},{key:"unmountPortal",value:function(){this.portalNode&&(St.a.unmountComponentAtNode(this.portalNode),this.portalNode.parentNode.removeChild(this.portalNode)),this.portalNode=null}},{key:"updatePortal",value:function(){var e=this;this.props.id&&(this.portalNode.id=this.props.id),this.props.className&&(this.portalNode.className=this.props.className),this.props.style&&Object.keys(this.props.style).forEach((function(t){e.portalNode.style[t]=e.props.style[t]})),this.props.onUpdate&&(this.portalNodeInstance=this.props.onUpdate(this.portalNodeInstance))}},{key:"renderPortal",value:function(){var e=this;this.getChildren()&&Nt?(this.portalNode||this.setupPortalNode(),this.props.portalMount?this.props.portalMount({instance:this,reactElement:this.getChildren(),domContainerNode:this.portalNode,updateCallback:function(){e.updatePortal()}}):St.a.unstable_renderSubtreeIntoContainer(this,this.getChildren(),this.portalNode,(function(){e.updatePortal(),!1===e.state.isOpen&&(e.props.onOpen&&e.props.onOpen(void 0,{portal:e.getChildren()}),e.setState({isOpen:!0}))}))):this.unmountPortal()}},{key:"render",value:function(){return null}}])&&wt(t.prototype,n),o&&wt(t,o),i}(r.Component);Tt.displayName="Portal",Tt.propTypes={renderTag:i.a.string,renderTo:i.a.any,id:i.a.string,children:i.a.node,className:i.a.any,style:i.a.object,onMount:i.a.func,onOpen:i.a.func,onUpdate:i.a.func,portalMount:i.a.func},Tt.defaultProps={renderTag:"span",renderTo:null,onMount:function(){return null},onOpen:function(){return null},onUpdate:function(){return null},onUnmount:function(){return null}};var kt=Tt,Rt={trapEvent:function(e){e&&(e.preventDefault(),e.stopPropagation(),e.nativeEvent&&e.nativeEvent.preventDefault&&e.nativeEvent.preventDefault(),e.nativeEvent&&e.nativeEvent.stopPropagation&&e.nativeEvent.stopPropagation())},trap:function(e){return Rt.trapEvent(e)},trapImmediate:function(e){e.stopImmediatePropagation&&e.stopImmediatePropagation(),e.nativeEvent&&e.nativeEvent.stopImmediatePropagation&&e.nativeEvent.stopImmediatePropagation(),Rt.trap(e)}},Dt=Rt,It={ENTER:13,ESCAPE:27,SPACE:32,LEFT:37,UP:38,RIGHT:39,DOWN:40,TAB:9,DELETE:46,BACKSPACE:8},At=It;var Lt=function(e){return[].slice.call(e.querySelectorAll("*"),0).filter((function(e){return function(e){var t=e.getAttribute("tabindex");null===t&&(t=void 0);var n=isNaN(t);return(n||t>=0)&&function(e,t){var n=e.nodeName.toLowerCase();return/input|select|textarea|button|object/.test(n)?!e.disabled:"a"===n&&e.href||t}(e,!n)}(e)}))},Bt=!("undefined"==typeof window||!window.document||!window.document.createElement),Ft=Bt&&Boolean(window.addEventListener||window.attachEvent),Mt=(Bt&&Boolean(window.screen),null),qt=null,Ht=function(e){if(Bt&&Mt&&e.keyCode===At.TAB){var t=Lt(Mt);if(t[e.shiftKey?0:t.length-1]===document.activeElement||Mt===document.activeElement)e.preventDefault(),t[e.shiftKey?t.length-1:0].focus()}},Kt={focusAncestor:function(e){var t=e.isPortal;if(Bt)if(t){var n=window.pageYOffset;Mt.focus({preventScroll:!0}),window.scrollTo(window.pageXOffset,n)}else Mt.focus()},hasOrAncestorHasFocus:function(){return Bt&&(document.activeElement===Mt||Mt.contains(document.activeElement))},returnFocusToStoredElement:function(){if(Bt){try{qt.focus()}catch(e){console.warn("You tried to return focus to ".concat(qt," but it is not in the DOM anymore"))}qt=null}},setupScopedFocus:function(e){var t=e.ancestorElement;Mt=t,window.addEventListener("keydown",Ht,!1)},storeActiveElement:function(){qt=Bt?document.activeElement:null},teardownScopedFocus:function(){Mt=null,Bt&&window.removeEventListener("keydown",Ht)}},Wt=function(e,t){var n;switch(e){case"top left":n="top-start";break;case"top right":n="top-end";break;case"right top":n="right-start";break;case"right bottom":n="right-end";break;case"bottom left":n="bottom-start";break;case"bottom right":n="bottom-end";break;case"left top":n="left-start";break;case"left bottom":n="left-end";break;default:n=e}return t===Te.RTL&&(n.indexOf("left")>-1?n=n.replace("left","right"):n.indexOf("right")>-1?n=n.replace("right","left"):n.indexOf("start")>-1?n=n.replace("start","end"):n.indexOf("end")>-1&&(n=n.replace("end","start"))),n},Vt=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return t.flipped?l()({"slds-nubbin_top":"top"===e,"slds-nubbin_top-left":"top left"===e,"slds-nubbin_top-right":"top right"===e,"slds-nubbin_bottom":"bottom"===e,"slds-nubbin_bottom-left":"bottom left"===e,"slds-nubbin_bottom-right":"bottom right"===e,"slds-nubbin_left":"left"===e,"slds-nubbin_left-bottom":"left bottom"===e,"slds-nubbin_left-top":"left top"===e,"slds-nubbin_right":"right"===e,"slds-nubbin_right-bottom":"right bottom"===e,"slds-nubbin_right-top":"right top"===e}):l()({"slds-nubbin_top":"bottom"===e,"slds-nubbin_top-left":"bottom left"===e,"slds-nubbin_top-right":"bottom right"===e,"slds-nubbin_bottom":"top"===e,"slds-nubbin_bottom-left":"top left"===e,"slds-nubbin_bottom-right":"top right"===e,"slds-nubbin_left":"right"===e,"slds-nubbin_left-bottom":"right bottom"===e,"slds-nubbin_left-top":"right top"===e,"slds-nubbin_right":"left"===e,"slds-nubbin_right-bottom":"left bottom"===e,"slds-nubbin_right-top":"left top"===e})},Ut=1/Math.sqrt(2),zt=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.placement,n=0,r=0,o=24,a=16*Ut,i=.5*e.offsets.reference.width,s=.5*e.offsets.reference.height;return"top"===t?n=-1*a:"top-end"===t?(n=-1*a,r=o-i):"top-start"===t&&(n=-1*a,r=i-o),"bottom"===t?n=a:"bottom-end"===t?(n=a,r=o-i):"bottom-start"===t&&(n=a,r=i-o),"right"===t?r=a:"right-end"===t?(r=a,n=o-s):"right-start"===t&&(r=a,n=s-o),"left"===t?r=-1*a:"left-end"===t?(r=-1*a,n=o-s):"left-start"===t&&(r=-1*a,n=s-o),{left:r,top:n}};function Gt(e){return(Gt="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function Yt(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function Qt(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function Jt(e,t){return(Jt=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function Xt(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=Zt(e);if(t){var o=Zt(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return $t(this,n)}}function $t(e,t){return!t||"object"!==Gt(t)&&"function"!=typeof t?function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e):t}function Zt(e){return(Zt=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}var en=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&Jt(e,t)}(a,e);var t,n,r,o=Xt(a);function a(){return Yt(this,a),o.apply(this,arguments)}return t=a,(n=[{key:"getChildContext",value:function(){return{iconPath:this.props.iconPath,onRequestIconPath:this.props.onRequestIconPath,actionSprite:this.props.actionSprite,customSprite:this.props.customSprite,doctypeSprite:this.props.doctypeSprite,standardSprite:this.props.standardSprite,utilitySprite:this.props.utilitySprite}}},{key:"render",value:function(){return this.props.children}}])&&Qt(t.prototype,n),r&&Qt(t,r),a}(o.a.Component);en.displayName="SLDSIconSettings",en.childContextTypes={iconPath:i.a.string,onRequestIconPath:i.a.func,actionSprite:i.a.string,customSprite:i.a.string,doctypeSprite:i.a.string,standardSprite:i.a.string,utilitySprite:i.a.string},en.propTypes={iconPath:i.a.string,onRequestIconPath:i.a.func,actionSprite:i.a.string,customSprite:i.a.string,doctypeSprite:i.a.string,standardSprite:i.a.string,utilitySprite:i.a.string};var tn=en;function nn(e){return(nn="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function rn(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function on(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?rn(Object(n),!0).forEach((function(t){dn(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):rn(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function an(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function sn(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function ln(e,t){return(ln=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function cn(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=fn(e);if(t){var o=fn(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return un(this,n)}}function un(e,t){return!t||"object"!==nn(t)&&"function"!=typeof t?pn(e):t}function pn(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function fn(e){return(fn=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function dn(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var hn=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&ln(e,t)}(i,e);var t,n,r,a=cn(i);function i(){var e;an(this,i);for(var t=arguments.length,n=new Array(t),r=0;r<t;r++)n[r]=arguments[r];return dn(pn(e=a.call.apply(a,[this].concat(n))),"state",{triggerPopperJS:!1,isOpen:!1}),dn(pn(e),"getPropOffsetsInPixels",(function(e){var t=e.split(" ");return{vertical:parseInt(t[0],10),horizontal:parseInt(t[1],10)}})),dn(pn(e),"getPopperStyles",(function(){var t=e.state.popperData;if(!e.popper||!t)return{position:"absolute",pointerEvents:"none"};var n=t.offsets.popper.position,r=e.getPropOffsetsInPixels(e.props.offset),o=e.props.hasNubbin?zt(e.state.popperData):{left:0,top:0},a=t.offsets.popper.left+o.left+r.horizontal,i=t.offsets.popper.top+o.top+r.vertical;return on(on({},t.style),{},{left:isNaN(a)?0:a,top:isNaN(i)?0:i,right:"inherit",position:n})})),dn(pn(e),"setDialogContent",(function(t){e.dialogContent=t,e.state.triggerPopperJS||e.setState({triggerPopperJS:!0})})),dn(pn(e),"handleClickOutside",(function(){e.handleClose()})),dn(pn(e),"handleClose",(function(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};n.componentWillUnmount||e.setState({triggerPopperJS:!0}),e.props.onClose&&e.props.onClose(t,n)})),dn(pn(e),"handleClick",(function(e){e.nativeEvent&&(e.nativeEvent.preventDefault(),e.nativeEvent.stopPropagation())})),dn(pn(e),"handleKeyDown",(function(t){t.keyCode===At.TAB&&e.props.closeOnTabKey&&(Dt.trap(t),e.handleClose(t)),e.props.onKeyDown&&e.props.onKeyDown(t)})),dn(pn(e),"handleOpen",(function(){"popover"===e.props.variant&&e.dialogContent&&(Kt.storeActiveElement(),Kt.setupScopedFocus({ancestorElement:e.dialogContent}),Kt.hasOrAncestorHasFocus()||Kt.focusAncestor({isPortal:"overflowBoundaryElement"===e.props.position})),e.props.onOpen&&e.props.onOpen(void 0,{portal:e.dialogContent})})),dn(pn(e),"createPopper",(function(){var t=e.props.onRequestTargetElement(),n=e.dialogContent,r=Wt(e.props.align,e.props.direction),o={applyStyle:{enabled:!1},preventOverflow:{enabled:!e.props.hasStaticAlignment,boundariesElement:"absolute"===e.props.position?"scrollParent":"viewport"},hide:{enabled:!1},flip:{enabled:!e.props.hasStaticAlignment},removeOnDestroy:!0,updateState:{enabled:!0,order:900,fn:function(t){return(e.state.popperData&&!Ot()(t.offsets,e.state.popperData.offsets)||!e.state.popperData)&&e.setState({popperData:t}),t}}};t||console.error("Target node not found!",t),n||console.error("Popper node not found!",n),e.popper=new gt.a(t,n,{placement:r,eventsEnabled:!0,modifiers:o}),e.popper.scheduleUpdate()})),dn(pn(e),"destroyPopper",(function(){e.popper&&e.popper.destroy()})),e}return t=i,(n=[{key:"componentDidMount",value:function(){"absolute"!==this.props.position&&"relative"!==this.props.position||this.handleOpen()}},{key:"UNSAFE_componentWillUpdate",value:function(){this.popper&&this.popper.scheduleUpdate()}},{key:"componentDidUpdate",value:function(e,t){!0===this.state.triggerPopperJS&&!1===t.triggerPopperJS&&("absolute"===this.props.position||"overflowBoundaryElement"===this.props.position)&&this.dialogContent&&this.props.onRequestTargetElement()&&this.createPopper()}},{key:"componentWillUnmount",value:function(){"popover"===this.props.variant&&(Kt.teardownScopedFocus(),Kt.returnFocusToStoredElement()),"absolute"!==this.props.position&&"overflowBoundaryElement"!==this.props.position||this.destroyPopper(),this.handleClose(void 0,{componentWillUnmount:!0})}},{key:"render",value:function(){var e=this,t={},n="popover"===this.props.variant?"dialog":this.props.variant;"absolute"!==this.props.position&&"overflowBoundaryElement"!==this.props.position||(t=on(on({},t),{},{outline:0},this.getPopperStyles())),"target"===this.props.inheritWidthOf&&this.props.onRequestTargetElement()?t.width=this.props.onRequestTargetElement().getBoundingClientRect().width:"menu"===this.props.inheritWidthOf&&this.dialogContent&&this.dialogContent.querySelector(".slds-listbox")&&(t.width=this.dialogContent.querySelector(".slds-listbox").getBoundingClientRect().width),t=on(on({},t),this.props.style);var r="popover"===this.props.variant?"section":"div",a=o.a.createElement(r,on({className:l()(dn({"absolute-positioned":"absolute"===this.props.position,"portal-positioned":"overflowBoundaryElement"===this.props.position},"".concat(this.props.outsideClickIgnoreClass),"overflowBoundaryElement"===this.props.position),this.props.hasNubbin&&Vt(this.props.align,this.state.popperData),this.props.contentsClassName)||void 0,style:t,onMouseDown:this.props.onMouseDown,onKeyDown:this.handleKeyDown,onMouseEnter:this.props.onMouseEnter,onMouseLeave:this.props.onMouseLeave,ref:this.setDialogContent,role:n,tabIndex:"popover"===this.props.variant?"-1":void 0},this.props.containerProps),this.props.children),i={absolute:function(){return a},relative:function(){return a},overflowBoundaryElement:function(){var t=Object.keys(tn.childContextTypes).filter((function(t){return Boolean(e.context[t])})).reduce((function(t,n){return on(on({},t),dn({},n,e.context[n]))}),{}),n=o.a.createElement(ke.Provider,{value:e.props.direction},o.a.createElement(tn,t,a));return o.a.createElement(kt,{onOpen:e.handleOpen,portalMount:e.props.portalMount},n)}};return i[this.props.position]&&i[this.props.position]()}}])&&sn(t.prototype,n),r&&sn(t,r),i}(o.a.Component);dn(hn,"displayName","SLDSDialog"),dn(hn,"propTypes",{align:i.a.oneOf(["top","top left","top right","right","right top","right bottom","bottom","bottom left","bottom right","left","left top","left bottom"]),className:i.a.oneOfType([i.a.array,i.a.object,i.a.string]),contentsClassName:i.a.oneOfType([i.a.array,i.a.object,i.a.string]),children:i.a.node.isRequired,closeOnTabKey:i.a.bool,containerProps:i.a.object,direction:i.a.oneOf([Te.LTR,Te.RTL]),hasNubbin:i.a.bool,hasStaticAlignment:i.a.bool,inheritWidthOf:i.a.oneOf(["target","menu","none"]),offset:i.a.string,onClose:i.a.func,onKeyDown:i.a.func,onMouseEnter:i.a.func,onMouseLeave:i.a.func,onOpen:i.a.func,onRequestTargetElement:i.a.func.isRequired,outsideClickIgnoreClass:i.a.string,portalMount:i.a.func,position:i.a.oneOf(["absolute","overflowBoundaryElement","relative"]).isRequired,style:i.a.object,variant:i.a.oneOf(["dropdown","popover","tooltip"])}),dn(hn,"defaultProps",{align:"bottom left",direction:Te.LTR,offset:"0px 0px",outsideClickIgnoreClass:"ignore-react-onclickoutside"}),hn.contextTypes={iconPath:i.a.string,onRequestIconPath:i.a.func,actionSprite:i.a.string,customSprite:i.a.string,doctypeSprite:i.a.string,standardSprite:i.a.string,utilitySprite:i.a.string};var mn=st(hn);var bn=function(){},yn=n(30),gn=function(){var e=l.a.apply(void 0,arguments);return""===e?void 0:e},vn=n(31),On=n.n(vn);function _n(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function Sn(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?_n(Object(n),!0).forEach((function(t){xn(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):_n(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function xn(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var wn={assistiveText:{},category:"standard",colorVariant:"default",size:"medium"},En=function(e){bn(X,e,yn);var t=e.category,n=e.className,r=e.colorVariant,a=e.containerClassName,i=e.containerStyle,s=e.icon,l=e.inverse,c=e.name,u=e.path,p=e.size,f=e.title,d=e.productTheme,h=e.style;d&&(h=Sn({backgroundColor:On.a[d]},h));var m="string"==typeof e.assistiveText?e.assistiveText:Sn(Sn({},wn.assistiveText),e.assistiveText).label,b=c?c.replace(/_/g,"-"):"";return o.a.createElement("span",{className:gn(xn({"slds-icon_container":"utility"!==t,"slds-icon_container_circle":"action"===t},"slds-icon-".concat(t,"-").concat(b),"utility"!==t&&"doctype"!==t&&!u),a),style:i,title:f},o.a.createElement(pt,{"aria-hidden":"true",category:t,className:gn(n,"slds-icon",{"slds-icon_xx-small":"xx-small"===p,"slds-icon_x-small":"x-small"===p,"slds-icon_small":"small"===p,"slds-icon_large":"large"===p,"slds-icon-text-default":"default"===r&&"utility"===t?!l:l,"slds-icon-text-warning":"warning"===r,"slds-icon-text-error":"error"===r,"slds-icon-text-light":"light"===r}),icon:s,name:c,path:u,style:h}),m?o.a.createElement("span",{className:"slds-assistive-text"},m):"")};En.displayName=X,En.propTypes={assistiveText:i.a.shape({label:i.a.string}),category:i.a.oneOf(["action","custom","doctype","standard","utility"]).isRequired,className:i.a.oneOfType([i.a.array,i.a.object,i.a.string]),containerClassName:i.a.oneOfType([i.a.array,i.a.object,i.a.string]),containerStyle:i.a.object,colorVariant:i.a.oneOf(["base","default","error","light","warning"]),icon:i.a.object,inverse:i.a.bool,name:i.a.string,path:i.a.string,productTheme:i.a.oneOf(["global-setup","service-cloud","industry-cloud","sales-cloud","commerce-cloud","community-cloud","marketing-cloud","quip"]),size:i.a.oneOf(["xx-small","x-small","small","medium","large"]),style:i.a.object,title:i.a.string},En.defaultProps=wn;var jn=En;var Cn=function(){},Pn=n(32);function Nn(e){return(Nn="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function Tn(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function kn(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function Rn(e,t){return(Rn=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function Dn(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=Ln(e);if(t){var o=Ln(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return In(this,n)}}function In(e,t){return!t||"object"!==Nn(t)&&"function"!=typeof t?An(e):t}function An(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function Ln(e){return(Ln=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function Bn(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var Fn={align:i.a.oneOf(["top","top left","top right","right","right top","right bottom","bottom","bottom left","bottom right","left","left top","left bottom"]).isRequired,assistiveText:i.a.shape({tooltipTipLearnMoreIcon:i.a.string,triggerLearnMoreIcon:i.a.string}),children:i.a.node,content:i.a.node.isRequired,dialogClassName:i.a.oneOfType([i.a.array,i.a.object,i.a.string]),hasAnchoredNubbin:i.a.bool,hasStaticAlignment:i.a.bool,hoverCloseDelay:i.a.number,hoverOpenDelay:i.a.number,id:i.a.string,labels:i.a.shape({learnMoreAfter:i.a.string,learnMoreBefore:i.a.string}),isOpen:i.a.bool,onRequestTargetElement:i.a.func,triggerClassName:i.a.oneOfType([i.a.array,i.a.object,i.a.string]),position:i.a.oneOf(["absolute","overflowBoundaryElement","relative"]),triggerStyle:i.a.object,theme:i.a.oneOf(["info","error"]),variant:i.a.oneOf(["base","learnMore","list-item"])},Mn={assistiveText:{tooltipTipLearnMoreIcon:"this link",triggerLearnMoreIcon:"Help"},align:"top",content:o.a.createElement("span",null,"Tooltip"),labels:{learnMoreAfter:"to learn more.",learnMoreBefore:"Click"},hoverCloseDelay:50,hoverOpenDelay:0,position:"absolute",theme:"info",variant:"base"},qn=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&Rn(e,t)}(i,e);var t,n,r,a=Dn(i);function i(e){var t;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,i),Bn(An(t=a.call(this,e)),"handleCancel",(function(){clearTimeout(t.tooltipTimeout),t.setState({isOpen:!1})})),Bn(An(t),"handleMouseEnter",(function(){clearTimeout(t.tooltipTimeout),t.tooltipTimeout=setTimeout((function(){t.isUnmounting||t.setState({isOpen:!0})}),t.props.hoverOpenDelay)})),Bn(An(t),"handleMouseLeave",(function(){clearTimeout(t.tooltipTimeout),t.tooltipTimeout=setTimeout((function(){t.isUnmounting||t.setState({isOpen:!1})}),t.props.hoverCloseDelay)})),Bn(An(t),"saveTriggerRef",(function(e){t.trigger=e,t.state.triggerRendered||t.setState({triggerRendered:!0})})),t.state={isOpen:!1},t.tooltipTimeout={},Cn(le,e,Pn),t.generatedId=u.a.generate(),t}return t=i,(n=[{key:"componentWillUnmount",value:function(){this.isUnmounting=!0}},{key:"getAnchoredNubbinStyles",value:function(){if(this.props.hasAnchoredNubbin){var e=this.props.align.split(" ")[0],t={height:"0",position:"relative",width:"0"},n={backgroundColor:"#16325c",content:"",height:"1rem",position:"absolute",transform:"rotate(45deg)",width:"1rem"},r={height:this.trigger?this.trigger.getBoundingClientRect().height:0,width:this.trigger?this.trigger.getBoundingClientRect().width:0};switch(e){case"bottom":t.left="".concat(r.width/2,"px"),t.top="".concat(r.height,"px"),n.left="-8px",n.top="3px";break;case"left":t.left="0",t.top="".concat(r.height/2,"px"),n.left="-19px",n.top="-9px";break;case"right":t.left="".concat(r.width,"px"),t.top="".concat(r.height/2,"px"),n.left="3px",n.top="-9px";break;default:t.left="".concat(r.width/2,"px"),t.top="0",n.left="-8px",n.top="-19px"}return o.a.createElement(o.a.Fragment,null,o.a.createElement("style",null,"#".concat(this.getId(),":after, #").concat(this.getId(),":before {\n\tdisplay: none;\n}")),this.getIsOpen()?o.a.createElement("div",{style:t},o.a.createElement("div",{style:n})):null)}return null}},{key:"getContent",value:function(){var e,t=this,n=0===o.a.Children.count(this.props.children);return e=n&&this.props.onClickTrigger?[o.a.createElement("a",{href:"javascript:void(0)",onClick:this.props.onClickTrigger},o.a.createElement(jn,{category:"utility",name:"info",assistiveText:{label:this.props.assistiveText.triggerLearnMoreIcon},size:"x-small"}))]:n?[o.a.createElement(or,{"aria-disabled":!0,assistiveText:{icon:this.props.assistiveText.triggerLearnMoreIcon},iconCategory:"utility",iconName:"info",variant:"icon"})]:this.props.children,o.a.Children.map(e,(function(e,n){return o.a.cloneElement(e,{key:n,"aria-describedby":t.getIsOpen()?t.getId():void 0,onBlur:t.handleMouseLeave,onFocus:t.handleMouseEnter,onMouseEnter:t.handleMouseEnter,onMouseLeave:t.handleMouseLeave})}))}},{key:"getId",value:function(){return this.props.id||this.generatedId}},{key:"getIsOpen",value:function(){return void 0===this.props.isOpen?this.state.isOpen:this.props.isOpen}},{key:"getTooltip",value:function(){var e=this,t=this.getIsOpen(),n=this.props.align,r="error"===this.props.variant;return t?o.a.createElement(mn,{closeOnTabKey:!0,hasNubbin:!0,contentsClassName:l()("slds-popover","slds-popover_tooltip",{"slds-theme_error":"error"===this.props.theme||r},this.props.dialogClassName),align:n,context:this.context,hasStaticAlignment:this.props.hasStaticAlignment,onClose:this.handleCancel,onRequestTargetElement:function(){return e.getTooltipTarget()},position:this.props.position,variant:"tooltip",containerProps:{id:this.getId()}},this.getTooltipContent()):o.a.createElement("span",null)}},{key:"getTooltipContent",value:function(){return o.a.createElement("div",{className:"slds-popover__body"},this.props.content,"learnMore"===this.props.variant&&this.props.onClickTrigger?o.a.createElement("div",{className:"slds-m-top_x-small","aria-hidden":"true"},this.props.labels.learnMoreBefore," ",o.a.createElement(jn,{assistiveText:{label:this.props.assistiveText.tooltipTipLearnMoreIcon},category:"utility",inverse:!0,name:"info",size:"x-small"})," ",this.props.labels.learnMoreAfter," "):null)}},{key:"getTooltipTarget",value:function(){return this.props.onRequestTargetElement?this.props.onRequestTargetElement():this.props.target?this.props.target:this.trigger}},{key:"render",value:function(){var e=function(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?Tn(Object(n),!0).forEach((function(t){Bn(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Tn(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}({display:"inline-block",lineHeight:"1"},this.props.triggerStyle);return o.a.createElement("div",{className:l()("slds-tooltip-trigger",this.props.triggerClassName),style:e,ref:this.saveTriggerRef},this.getAnchoredNubbinStyles(),this.getContent(),this.getTooltip())}}])&&kn(t.prototype,n),r&&kn(t,r),i}(o.a.Component);qn.contextTypes={iconPath:i.a.string},qn.displayName="SLDSPopoverTooltip",qn.propTypes=Fn,qn.defaultProps=Mn;var Hn=qn;function Kn(e){return Object.keys(e).reduce((function(t,n){return"aria-"===n.substr(0,5)&&(t[n]=e[n]),t}),{})}function Wn(e){return Object.keys(e).reduce((function(t,n){return"data-"===n.substr(0,5)&&(t[n]=e[n]),t}),{})}var Vn=new Set(["form","formAction","formEncType","formMethod","formNoValidate","formTarget"]);function Un(e){return(Un="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function zn(){return(zn=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}function Gn(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function Yn(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?Gn(Object(n),!0).forEach((function(t){tr(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Gn(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function Qn(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function Jn(e,t){return(Jn=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function Xn(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=er(e);if(t){var o=er(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return $n(this,n)}}function $n(e,t){return!t||"object"!==Un(t)&&"function"!=typeof t?Zn(e):t}function Zn(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function er(e){return(er=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function tr(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var nr={assistiveText:{icon:""},disabled:!1,hint:!1,iconSize:"medium",responsive:!1,type:"button",variant:"neutral"},rr=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&Jn(e,t)}(i,e);var t,n,r,a=Xn(i);function i(e){var t;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,i),tr(Zn(t=a.call(this,e)),"getClassName",(function(){var e,n="icon"===t.props.variant,r=t.props.iconVariant,o="more"===r,a="border"===r,i="global-header"===r,s="base"!==t.props.variant&&!r&&!t.props.inverse&&"link"!==t.props.variant||"bare"===r,c=t.props.inverse&&!n,u=t.props.inverse&&n&&!o&&!a,p=t.props.inverse&&o,f=t.props.inverse&&a;return"global-header"===r&&(r="container"),l()((tr(e={"slds-button":"link"!==t.props.variant},"slds-button_".concat(t.props.variant),s),tr(e,"slds-button_inverse",c),tr(e,"slds-button_icon-inverse",u||p),tr(e,"slds-button_icon-border-inverse",f),tr(e,"slds-button_icon-".concat(r),r&&!f),tr(e,"slds-global-header__button_icon",i),tr(e,"slds-button_icon-".concat(t.props.iconSize),r&&"medium"!==t.props.iconSize),tr(e,"slds-button_reset","link"===t.props.variant),tr(e,"slds-text-link","link"===t.props.variant),e),t.props.className)})),tr(Zn(t),"handleClick",(function(e){t.props.onClick&&t.props.onClick(e,{})})),tr(Zn(t),"renderIcon",(function(e){var n=!t.props.iconSize||t.props.iconVariant?null:t.props.iconSize;return o.a.createElement(mt,{category:t.props.iconCategory||"utility",className:l()({"slds-global-header__icon":"global-header"===t.props.iconVariant},t.props.iconClassName),hint:t.props.hint,inverse:t.props.inverse,name:e,path:t.props.iconPath,position:t.props.iconPosition,size:n})})),tr(Zn(t),"renderLabel",(function(){var e=t.props.iconName||t.props.iconPath,n="string"==typeof t.props.assistiveText?t.props.assistiveText:Yn(Yn({},nr.assistiveText),t.props.assistiveText).icon;return e&&n?o.a.createElement("span",{className:"slds-assistive-text"},n):t.props.label})),tr(Zn(t),"renderButton",(function(){var e=Kn(t.props),n=Wn(t.props),r=function(e){return Object.keys(e).reduce((function(t,n){return Vn.has(n)&&(t[n]=e[n]),t}),{})}(t.props);return o.a.createElement("button",zn({className:t.getClassName(),disabled:t.props.disabled,id:t.props.id,onBlur:t.props.onBlur,onClick:t.handleClick,onFocus:t.props.onFocus,onKeyDown:t.props.onKeyDown,onKeyPress:t.props.onKeyPress,onKeyUp:t.props.onKeyUp,onMouseDown:t.props.onMouseDown,onMouseEnter:t.props.onMouseEnter,onMouseLeave:t.props.onMouseLeave,onMouseUp:t.props.onMouseUp,ref:function(e){t.props.buttonRef&&t.props.buttonRef(e)},tabIndex:t.props.tabIndex,title:t.props.title,type:t.props.type||"button",style:t.props.style},e,n,r),"right"===t.props.iconPosition?t.renderLabel():null,t.props.iconName||t.props.iconPath?t.renderIcon(t.props.iconName):null,"more"===t.props.iconVariant?o.a.createElement(mt,{category:"utility",name:"down",size:"x-small",className:t.props.iconClassName}):null,"left"!==t.props.iconPosition&&t.props.iconPosition?null:t.renderLabel(),t.props.children)})),tr(Zn(t),"renderTooltip",(function(){return o.a.createElement(Hn,{content:t.props.tooltip},t.renderButton)})),bt(S,e,yt),t}return t=i,(n=[{key:"render",value:function(){return this.props.tooltip?this.renderTooltip():this.renderButton()}}])&&Qn(t.prototype,n),r&&Qn(t,r),i}(o.a.Component);tr(rr,"displayName",S),tr(rr,"propTypes",{assistiveText:i.a.shape({icon:i.a.string}),buttonRef:i.a.func,className:i.a.oneOfType([i.a.array,i.a.object,i.a.string]),disabled:i.a.bool,hint:i.a.bool,iconCategory:Pe()(i.a.oneOf(["action","custom","doctype","standard","utility"]),(function(e){return!!e.iconName})),iconClassName:i.a.oneOfType([i.a.array,i.a.object,i.a.string]),iconName:i.a.string,iconPath:i.a.string,iconPosition:i.a.oneOf(["left","right"]),iconSize:i.a.oneOf(["x-small","small","medium","large"]),iconVariant:i.a.oneOf(["bare","container","border","border-filled","brand","more","global-header"]),id:i.a.string,inverse:i.a.bool,label:i.a.oneOfType([i.a.string,i.a.node]),onBlur:i.a.func,onClick:i.a.func,onFocus:i.a.func,onKeyDown:i.a.func,onKeyPress:i.a.func,onKeyUp:i.a.func,onMouseDown:i.a.func,onMouseEnter:i.a.func,onMouseLeave:i.a.func,onMouseUp:i.a.func,responsive:i.a.bool,tabIndex:i.a.string,type:i.a.oneOf(["reset","submit","button"]),title:i.a.string,tooltip:i.a.node,variant:i.a.oneOf(["base","link","neutral","brand","outline-brand","destructive","success","text-destructive","icon"]),style:i.a.object}),tr(rr,"defaultProps",nr);var or=rr,ar={children:i.a.node,expanded:i.a.bool.isRequired,id:i.a.oneOfType([i.a.number,i.a.string]).isRequired,panelContentActions:i.a.node,onKeyDownSummary:i.a.func,onTogglePanel:i.a.func.isRequired,refs:i.a.shape({summaryButton:i.a.func}),summary:i.a.oneOfType([i.a.string,i.a.node]).isRequired,title:i.a.string},ir=function(e){var t=e.children,n=e.expanded,r=e.id,a=e.panelContentActions,i=e.summary,s=e.title,c=e.onClickSummary,u=e.onKeyDownSummary,p=e.onTogglePanel,f=e.refs;return o.a.createElement("li",{className:"slds-accordion__list-item"},o.a.createElement("section",{className:l()("slds-accordion__section",{"slds-is-open":n})},o.a.createElement("div",{className:"slds-accordion__summary"},o.a.createElement("h3",{className:"slds-text-heading_small slds-accordion__summary-heading slds-has-flexi-truncate"},o.a.createElement(or,{"aria-controls":"".concat(r,"-accordion-panel"),"aria-expanded":n,buttonRef:f.summaryButton,className:"slds-button_reset slds-accordion__summary-action",iconCategory:"utility",iconClassName:"slds-accordion__summary-action-icon slds-button__icon slds-button__icon_left",iconName:"switch",id:"".concat(r,"-accordion-button"),onKeyDown:u,onClick:function(e){c(),p(e)},variant:"base"},o.a.createElement("span",{className:"slds-truncate",title:s||i},i))),a),o.a.createElement("div",{"aria-hidden":!n,className:"slds-accordion__content",id:"".concat(r,"-accordion-panel")},t)))},sr=ir;ir.propTypes=ar,ir.displayName="SLDSAccordionPanel";var lr=n(4),cr=n.n(lr);var ur=function(){},pr=n(33);function fr(e){return(fr="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function dr(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function hr(e,t){return(hr=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function mr(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=gr(e);if(t){var o=gr(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return br(this,n)}}function br(e,t){return!t||"object"!==fr(t)&&"function"!=typeof t?yr(e):t}function yr(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function gr(e){return(gr=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}var vr={assistiveText:i.a.shape({closeButton:i.a.oneOfType([i.a.string,i.a.node])}),className:i.a.oneOfType([i.a.array,i.a.object,i.a.string]),dismissible:i.a.bool,icon:i.a.node,labels:i.a.shape({heading:i.a.oneOfType([i.a.string,i.a.node]),headingLink:i.a.oneOfType([i.a.string,i.a.node])}),onClickHeadingLink:i.a.func,onRequestClose:i.a.func,style:i.a.object,variant:i.a.oneOf(["error","info","offline","warning"]).isRequired},Or={assistiveText:{closeButton:"Close"},labels:{},variant:"info"},_r=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&hr(e,t)}(i,e);var t,n,r,a=mr(i);function i(e){var t,n,r,o;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,i),t=a.call(this,e),n=yr(t),o=function(e){t.closeButton=e,t.state.isInitialRender&&(Kt.storeActiveElement(),t.closeButton&&t.closeButton.focus(),t.setState({isInitialRender:!1}))},(r="saveButtonRef")in n?Object.defineProperty(n,r,{value:o,enumerable:!0,configurable:!0,writable:!0}):n[r]=o,t.state={isInitialRender:!0},ur(p,e,pr),t}return t=i,(n=[{key:"componentWillUnmount",value:function(){Kt.returnFocusToStoredElement()}},{key:"render",value:function(){var e=cr()({},Or.assistiveText,this.props.assistiveText),t=cr()({},Or.labels,this.props.labels),n=t.heading||this.props.content,r=this.props.onRequestClose||this.props.onDismiss,a={info:o.a.createElement(jn,{category:"utility",name:"info"}),offline:o.a.createElement(jn,{category:"utility",name:"offline"}),warning:o.a.createElement(jn,{category:"utility",name:"warning"}),error:o.a.createElement(jn,{category:"utility",name:"error"})},i=this.props.icon?this.props.icon:a[this.props.variant];this.props.iconName&&this.props.iconCategory&&(i=o.a.createElement(jn,{category:this.props.iconCategory,name:this.props.iconName}));var s=o.a.cloneElement(i,{containerClassName:"slds-m-right_x-small",inverse:!0,size:"x-small"});return o.a.createElement("div",{className:gn("slds-notify slds-notify_alert slds-theme_alert-texture",{"slds-theme_info":"info"===this.props.variant,"slds-theme_warning":"warning"===this.props.variant,"slds-theme_error":"error"===this.props.variant,"slds-theme_offline":"offline"===this.props.variant},this.props.className),role:"alert",style:this.props.style},o.a.createElement("span",{className:"slds-assistive-text"},{info:"info",warning:"warning",error:"error",offline:"offline"}[this.props.variant]),s,o.a.createElement("h2",null,n," ",t.headingLink?o.a.createElement("a",{onClick:this.props.onClickHeadingLink,href:"javascript:void(0);"},t.headingLink):null),this.props.dismissible?o.a.createElement(or,{assistiveText:{icon:e.closeButton},buttonRef:this.saveButtonRef,className:"slds-notify__close",iconCategory:"utility",iconName:"close",iconSize:"medium",inverse:!0,onClick:r,title:e.closeButton,variant:"icon"}):null)}}])&&dr(t.prototype,n),r&&dr(t,r),i}(o.a.Component);_r.defaultProps=Or,_r.displayName=p,_r.propTypes=vr;var Sr=_r;function xr(e){return(xr="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function wr(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function Er(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function jr(e,t){return(jr=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function Cr(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=Nr(e);if(t){var o=Nr(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return Pr(this,n)}}function Pr(e,t){return!t||"object"!==xr(t)&&"function"!=typeof t?function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e):t}function Nr(e){return(Nr=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}var Tr={className:i.a.oneOfType([i.a.array,i.a.object,i.a.string]),children:i.a.node},kr=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&jr(e,t)}(i,e);var t,n,r,a=Cr(i);function i(){return wr(this,i),a.apply(this,arguments)}return t=i,(n=[{key:"render",value:function(){return o.a.createElement("div",{className:gn("slds-notify-container",this.props.className)},this.props.children)}}])&&Er(t.prototype,n),r&&Er(t,r),i}(o.a.Component);kr.displayName="SLDSAlertContainer",kr.propTypes=Tr;var Rr=kr,Dr=n(5),Ir=n.n(Dr),Ar=function(){},Lr=function(){};var Br=function(){},Fr=n(13),Mr=n(20),qr=n.n(Mr);var Hr,Kr=function(){},Wr="assets/",Vr={setAssetsPath:function(e){e&&(Wr=e)},getAssetsPath:function(){return String(Wr)},setAppElement:function(e){e&&(Hr=e,qr.a.setAppElement(e))},getAppElement:function(){return Hr}};var Ur=function(){},zr=n(34);function Gr(e){return(Gr="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function Yr(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function Qr(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?Yr(Object(n),!0).forEach((function(t){Jr(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Yr(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function Jr(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Xr(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function $r(e,t){return($r=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function Zr(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=no(e);if(t){var o=no(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return eo(this,n)}}function eo(e,t){return!t||"object"!==Gr(t)&&"function"!=typeof t?to(e):t}function to(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function no(e){return(no=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}var ro="undefined"!=typeof document,oo="undefined"!=typeof window,ao={align:i.a.oneOf(["top","center"]),ariaHideApp:i.a.bool,assistiveText:i.a.shape({dialogLabel:i.a.string,dialogLabelledBy:i.a.string,closeButton:i.a.string}),children:i.a.node.isRequired,className:i.a.oneOfType([i.a.array,i.a.object,i.a.string]),containerClassName:i.a.oneOfType([i.a.array,i.a.object,i.a.string]),contentClassName:i.a.oneOfType([i.a.array,i.a.object,i.a.string]),contentStyle:i.a.object,directional:i.a.bool,disableClose:i.a.bool,dismissOnClickOutside:i.a.bool,onRequestClose:i.a.func,footer:i.a.oneOfType([i.a.array,i.a.node]),header:i.a.node,headerClassName:i.a.oneOfType([i.a.array,i.a.object,i.a.string]),id:i.a.string,isOpen:i.a.bool.isRequired,parentSelector:i.a.func,portalClassName:i.a.oneOfType([i.a.array,i.a.object,i.a.string]),prompt:i.a.oneOf(["success","warning","error","wrench","offline","info"]),size:i.a.oneOf(["small","medium","large"]),tagline:i.a.node,title:i.a.node,heading:i.a.node,toast:i.a.node},io={assistiveText:{dialogLabel:"",dialogLabelledBy:"",closeButton:"Close"},align:"center",ariaHideApp:!0},so=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&$r(e,t)}(i,e);var t,n,r,a=Zr(i);function i(e){var t;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,i),(t=a.call(this,e)).state={isClosing:!1},t.handleModalClick=t.handleModalClick.bind(to(t)),t.closeModal=t.closeModal.bind(to(t)),t.dismissModalOnClickOutside=t.dismissModalOnClickOutside.bind(to(t)),t.generatedId=u.a.generate(),Kr(re,e,zr),e.ariaHideApp&&Ur(),t}return t=i,(n=[{key:"componentDidMount",value:function(){this.setReturnFocus(),this.updateBodyScroll()}},{key:"componentDidUpdate",value:function(e,t){if(this.props.isOpen!==e.isOpen&&this.updateBodyScroll(),this.state.isClosing!==t.isClosing&&this.state.isClosing&&!this.isUnmounting){var n=St.a.findDOMNode(this);n&&n.parentNode&&n.parentNode.getAttribute("data-slds-modal")&&(St.a.unmountComponentAtNode(n),document.body.removeChild(n))}}},{key:"componentWillUnmount",value:function(){this.isUnmounting=!0,this.clearBodyScroll()}},{key:"getId",value:function(){return this.props.id||this.generatedId}},{key:"getBorderRadius",value:function(){var e=".25rem",t=this.props.title||this.props.heading||this.props.header?{}:{borderTopLeftRadius:e,borderTopRightRadius:e},n=this.props.footer?{}:{borderBottomLeftRadius:e,borderBottomRightRadius:e};return Qr(Qr({},t),n)}},{key:"getModal",value:function(){var e="top"===this.props.align?{justifyContent:"flex-start"}:null,t=this.getBorderRadius(),n=this.props.contentStyle||{},r=Qr(Qr({},t),n),a=null;return this.props.assistiveText.dialogLabelledBy?a=this.props.assistiveText.dialogLabelledBy:this.props.assistiveText.dialogLabel||!this.props.heading&&!this.props.title||(a="".concat(this.getId(),"-heading")),o.a.createElement("section",{"aria-describedby":"".concat(this.getId(),"-modal-content"),"aria-label":this.props.assistiveText.dialogLabel,"aria-labelledby":a,"aria-modal":!0,className:l()("slds-modal","slds-fade-in-open",this.props.size?"slds-modal_".concat(this.props.size):null,{"slds-modal_prompt":this.isPrompt()},this.props.className),onClick:this.dismissModalOnClickOutside,role:this.props.disableClose?"alertdialog":"dialog"},o.a.createElement("div",{className:l()("slds-modal__container",this.props.containerClassName),style:e},this.headerComponent(),o.a.createElement("div",{className:l()("slds-modal__content",this.props.contentClassName),id:"".concat(this.getId(),"-modal-content"),style:r,onClick:this.handleModalClick},this.props.children),this.footerComponent()))}},{key:"setReturnFocus",value:function(){this.setState({returnFocusTo:ro?document.activeElement:null})}},{key:"clearBodyScroll",value:function(){oo&&ro&&document.body&&(document.body.style.overflow="inherit")}},{key:"closeModal",value:function(){this.props.disableClose||this.dismissModal()}},{key:"dismissModal",value:function(){this.setState({isClosing:!0}),this.state.returnFocusTo&&this.state.returnFocusTo.focus&&this.state.returnFocusTo.focus(),this.props.onRequestClose&&this.props.onRequestClose()}},{key:"dismissModalOnClickOutside",value:function(){(void 0!==this.props.dismissOnClickOutside?this.props.dismissOnClickOutside:!this.props.disableClose)&&this.dismissModal()}},{key:"footerComponent",value:function(){var e=null,t=this.props.footer,n={"slds-modal__footer":!0,"slds-modal__footer_directional":this.props.directional,"slds-theme_default":this.isPrompt()};return t&&(e=o.a.createElement("footer",{className:l()(n,this.props.footerClassNames),onClick:this.handleModalClick},this.props.footer)),e}},{key:"handleModalClick",value:function(e){e&&e.stopPropagation&&e.stopPropagation()}},{key:"handleSubmitModal",value:function(){this.closeModal()}},{key:"headerComponent",value:function(){var e,t=this.props.header,n=!t&&!(this.props.heading||this.props.title)&&!this.props.tagline,r=Qr(Qr({},io.assistiveText),this.props.assistiveText),a=this.props.closeButtonAssistiveText||r.closeButton,i=o.a.createElement(or,{assistiveText:{icon:a},iconCategory:"utility",iconName:"close",iconSize:"large",inverse:!0,className:"slds-button_icon slds-modal__close",onClick:this.closeModal,title:a,variant:"icon"});return(!t&&(this.props.heading||this.props.title)||this.props.tagline)&&(t=o.a.createElement("div",null,this.props.toast,o.a.createElement("h2",{className:l()({"slds-text-heading_small":this.isPrompt(),"slds-text-heading_medium":!this.isPrompt()}),id:"".concat(this.getId(),"-heading")},this.props.heading?this.props.heading:this.props.title),this.props.tagline?o.a.createElement("p",{className:"slds-m-top_x-small"},this.props.tagline):null)),o.a.createElement("header",{className:l()("slds-modal__header",(e={"slds-modal__header_empty":n},Jr(e,"slds-theme_".concat(this.props.prompt),this.isPrompt()),Jr(e,"slds-theme_alert-texture",this.isPrompt()),e),this.props.headerClassName),onClick:this.handleModalClick},this.props.disableClose?null:i,t)}},{key:"isPrompt",value:function(){return void 0!==this.props.prompt}},{key:"updateBodyScroll",value:function(){oo&&ro&&document.body&&(this.props.isOpen?document.body.style.overflow="hidden":document.body.style.overflow="inherit")}},{key:"render",value:function(){return o.a.createElement(qr.a,{ariaHideApp:this.props.ariaHideApp,contentLabel:"Modal",isOpen:this.props.isOpen,onRequestClose:this.closeModal,style:{content:{position:"default",top:"default",left:"default",right:"default",bottom:"default",border:"default",background:"default",overflow:"default",WebkitOverflowScrolling:"default",borderRadius:"default",outline:"default",padding:"default"},overlay:{zIndex:8e3,backgroundColor:"default"}},parentSelector:this.props.parentSelector,portalClassName:l()("ReactModalPortal",this.props.portalClassName)},this.getModal(),o.a.createElement("div",{className:"slds-backdrop slds-backdrop_open"}))}}])&&Xr(t.prototype,n),r&&Xr(t,r),i}(o.a.Component);so.displayName=re,so.propTypes=ao,so.defaultProps=io;var lo=so;function co(e){return(co="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function uo(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function po(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?uo(Object(n),!0).forEach((function(t){vo(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):uo(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function fo(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function ho(e,t){return(ho=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function mo(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=go(e);if(t){var o=go(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return bo(this,n)}}function bo(e,t){return!t||"object"!==co(t)&&"function"!=typeof t?yo(e):t}function yo(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function go(e){return(go=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function vo(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var Oo={assistiveText:{trigger:"Open App Launcher"},ariaHideApp:!0,title:"App Launcher"},_o=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&ho(e,t)}(i,e);var t,n,r,a=mo(i);function i(e){var t;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,i),vo(yo(t=a.call(this,e)),"openAppLauncher",(function(e){t.setState({isOpen:!0}),Ir()(t.props.triggerOnClick)&&t.props.triggerOnClick(e,{})})),vo(yo(t),"closeAppLauncher",(function(e){t.setState({isOpen:!1}),Ir()(t.props.onClose)&&t.props.onClose(e,{})})),vo(yo(t),"renderSearch",(function(){var e;return t.props.search&&(e=o.a.createElement("div",{className:"slds-app-launcher__header-search",ref:function(e){if(e){if(!t.focusedOnSearch){var n=e.querySelector("input");n&&setTimeout((function(){n.focus(),t.focusedOnSearch=!0}),0)}}else t.focusedOnSearch=!1}},t.props.search)),e})),t.generatedId=u.a.generate(),t.state={isOpen:!1},Br(f,e,Fr),t}return t=i,(n=[{key:"getId",value:function(){return this.props.id||this.generatedId}},{key:"render",value:function(){var e=void 0!==this.props.isOpen?this.props.isOpen:this.state.isOpen,t=this.props.noTruncate?{maxWidth:"none"}:null,n=o.a.createElement(o.a.Fragment,null,o.a.createElement("h2",{className:"slds-text-heading_medium",id:"".concat(this.getId(),"-app-launcher-title")},this.props.title),this.renderSearch(),this.props.modalHeaderButton?this.props.modalHeaderButton:o.a.createElement("span",{className:"slds-size_1-of-7"})),r=po(po({},Oo.assistiveText),this.props.assistiveText),a=this.props.triggerAssistiveText||r.trigger;return o.a.createElement("div",{className:"slds-context-bar__item slds-context-bar__dropdown-trigger slds-dropdown-trigger slds-dropdown-trigger_click slds-no-hover",style:t},o.a.createElement("div",{className:"slds-context-bar__icon-action"},o.a.createElement("button",{"aria-haspopup":"true",className:"slds-button slds-icon-waffle_container slds-context-bar__button",onClick:this.openAppLauncher,title:a,type:"button"},o.a.createElement("span",{className:"slds-icon-waffle"},o.a.createElement("span",{className:"slds-r1"}),o.a.createElement("span",{className:"slds-r2"}),o.a.createElement("span",{className:"slds-r3"}),o.a.createElement("span",{className:"slds-r4"}),o.a.createElement("span",{className:"slds-r5"}),o.a.createElement("span",{className:"slds-r6"}),o.a.createElement("span",{className:"slds-r7"}),o.a.createElement("span",{className:"slds-r8"}),o.a.createElement("span",{className:"slds-r9"})),a&&o.a.createElement("span",{className:"slds-assistive-text"},a))),o.a.createElement(lo,{ariaHideApp:this.props.ariaHideApp,assistiveText:{dialogLabelledBy:"".concat(this.getId(),"-app-launcher-title")},className:l()("slds-app-launcher",this.props.modalClassName),contentClassName:"slds-app-launcher__content slds-p-around_medium",contentStyle:{minHeight:"90%"},isOpen:e,onRequestClose:this.closeAppLauncher,size:"large",header:n,headerClassName:"slds-grid slds-grid_align-spread slds-grid_vertical-align-center"},this.props.children),this.props.triggerName?o.a.createElement("span",{className:"slds-context-bar__label-action slds-context-bar__app-name"},this.props.noTruncate?this.props.triggerName:o.a.createElement("span",{className:"slds-truncate",title:this.props.triggerName},this.props.triggerName)):null)}}])&&fo(t.prototype,n),r&&fo(t,r),i}(o.a.Component);vo(_o,"displayName",f),vo(_o,"propTypes",{assistiveText:i.a.shape({trigger:i.a.string}),ariaHideApp:i.a.bool,children:i.a.node.isRequired,id:i.a.string,isOpen:i.a.bool,modalClassName:i.a.oneOfType([i.a.array,i.a.object,i.a.string]),modalHeaderButton:i.a.node,noTruncate:i.a.bool,onClose:i.a.func,search:i.a.node,title:i.a.string,triggerName:i.a.node,triggerOnClick:i.a.func}),vo(_o,"defaultProps",Oo);var So=_o;function xo(e){return(xo="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function wo(){return(wo=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}function Eo(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function jo(e,t){return(jo=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function Co(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=To(e);if(t){var o=To(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return Po(this,n)}}function Po(e,t){return!t||"object"!==xo(t)&&"function"!=typeof t?No(e):t}function No(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function To(e){return(To=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function ko(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var Ro={assistiveText:i.a.shape({toggleSection:i.a.string}),children:i.a.node,className:i.a.oneOfType([i.a.array,i.a.object,i.a.string]),id:i.a.string,isOpen:i.a.bool,nonCollapsible:i.a.bool,onToggleOpen:i.a.func,title:i.a.string.isRequired},Do=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&jo(e,t)}(i,e);var t,n,r,a=Co(i);function i(e){var t;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,i),ko(No(t=a.call(this,e)),"getId",(function(){return t.props.id||t.generatedId})),ko(No(t),"toggleOpen",(function(e){t.props.onToggleOpen?t.props.onToggleOpen(e,{isOpen:t.props.isOpen}):t.setState((function(e){return{isOpen:!e.isOpen}}))})),t.generatedId=u.a.generate(),t.state={isOpen:!0},t}return t=i,(n=[{key:"render",value:function(){var e="".concat(this.getId(),"-expanded-section-content"),t=void 0!==this.props.isOpen?this.props.isOpen:this.state.isOpen,n={"aria-controls":e,"aria-expanded":!!t},r=o.a.createElement("span",{className:l()("slds-truncate",{"slds-p-horizontal_small":!!this.props.nonCollapsible}),title:this.props.title},this.props.title);return o.a.createElement("div",{className:l()("slds-section",{"slds-is-open":t},this.props.className)},o.a.createElement("h3",{className:l()("slds-section__title",{"slds-theme_shade":!!this.props.nonCollapsible})},this.props.nonCollapsible?r:o.a.createElement(or,wo({assistiveText:{icon:this.props.assistiveText.toggleSection},iconCategory:"utility",iconClassName:"slds-section__title-action-icon slds-button__icon_left",iconName:"switch",onClick:this.toggleOpen,className:"slds-section__title-action",variant:"base"},n),r)),o.a.createElement("div",{"aria-hidden":!t,className:"slds-section__content",id:e},this.props.children))}}])&&Eo(t.prototype,n),r&&Eo(t,r),i}(o.a.Component);Do.displayName="SLDSExpandableSection",Do.propTypes=Ro,Do.defaultProps={assistiveText:{toggleSection:"Toggle visibility of section"},nonCollapsible:!1};var Io=Do;function Ao(e){return(Ao="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function Lo(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function Bo(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?Lo(Object(n),!0).forEach((function(t){Vo(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Lo(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function Fo(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function Mo(e,t){return(Mo=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function qo(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=Wo(e);if(t){var o=Wo(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return Ho(this,n)}}function Ho(e,t){return!t||"object"!==Ao(t)&&"function"!=typeof t?Ko(e):t}function Ko(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function Wo(e){return(Wo=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function Vo(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var Uo=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&Mo(e,t)}(i,e);var t,n,r,a=qo(i);function i(e){var t;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,i),Vo(Ko(t=a.call(this,e)),"state",{isOpen:!0}),Vo(Ko(t),"toggleOpen",(function(e,n){t.props.onToggleOpen?t.props.onToggleOpen(e,n):t.setState((function(e){return{isOpen:!e.isOpen}}))})),Br(d,e,Fr),t}return t=i,(n=[{key:"render",value:function(){var e=Bo(Bo({},this.props),{isOpen:void 0!==this.props.isOpen?this.props.isOpen:this.state.isOpen,onToggleOpen:this.toggleOpen}),t="tiles",n=o.a.Children.map(this.props.children,(function(e){var n="slds-p-horizontal_small slds-size_1-of-1 slds-medium-size_1-of-3";return(e&&e.type&&e.type.displayName!==h||e&&!e.type)&&(t="links"),"links"===t&&(n="slds-col_padded slds-p-vertical_xx-small slds-size_1-of-5"),o.a.createElement("li",{className:n},e)}));return o.a.createElement(Io,e,o.a.createElement("ul",{className:l()("slds-grid slds-wrap",{"slds-grid_pull-padded":"tiles"===t})},n))}}])&&Fo(t.prototype,n),r&&Fo(t,r),i}(o.a.Component);Vo(Uo,"displayName",d),Vo(Uo,"propTypes",{assistiveText:i.a.shape({toggleSection:i.a.string}),children:i.a.node,className:i.a.oneOfType([i.a.array,i.a.object,i.a.string]),id:i.a.string,isOpen:i.a.bool,nonCollapsible:i.a.bool,onToggleOpen:i.a.func,title:i.a.string.isRequired});var zo=Uo,Go=n(25),Yo=n.n(Go),Qo=function(e){if(e.search){var t;if("string"==typeof e.children)t=o.a.createElement(Yo.a,{className:e.className,matchClass:null,matchElement:"mark",search:e.search,title:e.children},e.children);else{if(e.children.props){var n=e.children.props.children;t=n instanceof Array?n.map((function(t){return"string"==typeof t?o.a.createElement(Yo.a,{key:t,className:e.className,matchClass:null,matchElement:"mark",search:e.search,title:t},t):t})):n}}return o.a.createElement("span",null,t)}return"string"==typeof e.children?o.a.createElement("span",{className:e.className,title:e.children},e.children):o.a.createElement("span",{className:e.className},e.children)};Qo.displayName="SLDSHighlighter",Qo.propTypes={children:i.a.oneOfType([i.a.string,i.a.number,i.a.bool,i.a.node]),className:i.a.string,search:i.a.any};var Jo=Qo;function Xo(e){return(Xo="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function $o(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function Zo(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function ea(e,t){return(ea=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function ta(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=ra(e);if(t){var o=ra(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return na(this,n)}}function na(e,t){return!t||"object"!==Xo(t)&&"function"!=typeof t?function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e):t}function ra(e){return(ra=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function oa(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var aa=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&ea(e,t)}(i,e);var t,n,r,a=ta(i);function i(){return $o(this,i),a.apply(this,arguments)}return t=i,(n=[{key:"render",value:function(){var e=this,t=this.props.title;return t||"string"!=typeof this.props.children||(t=this.props.children),o.a.createElement("a",{href:this.props.href,className:l()("slds-truncate",this.props.className),onClick:function(t){e.props.onClick&&(t.preventDefault(),e.props.onClick(t,{href:e.props.href}))},title:t},o.a.createElement(Jo,{search:this.props.search},this.props.children))}}])&&Zo(t.prototype,n),r&&Zo(t,r),i}(o.a.Component);oa(aa,"displayName","SLDSAppLauncherLink"),oa(aa,"propTypes",{children:i.a.node,className:i.a.oneOfType([i.a.array,i.a.object,i.a.string]),href:i.a.string,onClick:i.a.func,search:i.a.string,title:i.a.string}),oa(aa,"defaultProps",{href:"javascript:void(0);"});var ia=aa,sa=n(35),la=n.n(sa);function ca(e){return(ca="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function ua(e,t){if(null==e)return{};var n,r,o=function(e,t){if(null==e)return{};var n,r,o={},a=Object.keys(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)>=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}function pa(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function fa(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function da(e,t){return(da=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function ha(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=ya(e);if(t){var o=ya(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return ma(this,n)}}function ma(e,t){return!t||"object"!==ca(t)&&"function"!=typeof t?ba(e):t}function ba(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function ya(e){return(ya=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function ga(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var va,Oa,_a="undefined"!=typeof document,Sa=function(){return 0};_a&&(va=document.createElement("canvas")).getContext&&(document.createDocumentFragment().appendChild(va),Oa=va.getContext("2d"),Sa=la()((function(e,t){return Oa.font=t,Oa.measureText(e).width})));var xa=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&da(e,t)}(i,e);var t,n,r,a=ha(i);function i(){var e;pa(this,i);for(var t=arguments.length,n=new Array(t),r=0;r<t;r++)n[r]=arguments[r];return ga(ba(e=a.call.apply(a,[this].concat(n))),"state",{}),ga(ba(e),"onResize",(function(){e.update(e.props)})),ga(ba(e),"getRenderText",(function(t,n){if(t){e.scope=t;var r=n||e.props,a=(r.containerClassName,r.line),i=r.prefix,s=r.suffix,l=r.text,c=r.textTruncateChild,u=r.truncateText,p=r.wrapper,f=ua(r,["containerClassName","line","prefix","suffix","text","textTruncateChild","truncateText","wrapper"]),d=e.scope.getBoundingClientRect().width,h=window.getComputedStyle(e.scope),m=[h["font-weight"],h["font-style"],h["font-size"],h["font-family"]].join(" ");if(0!==d){var b,y,g=l;if(d<Sa(l,m)){for(var v=1,O=l.length,_="",S=0,x=0,w=a,E=0,j=!1,C=-1;0!==w;){var P="",N=0;for(i&&w===a-1&&(P+=" ".concat(i),N=.66*i.length),w||(P+=u,s&&(P+=" ".concat(s)));v<=O;){if(_=l.substr(x,v),!((E=Sa(_+P,m)+N)<d)){var T=0;do{if(v-=1," "===(_=l.substr(x,v))[_.length-1]&&(_=l.substr(x,v-1)),j&&(C=_.lastIndexOf(" "))>-1&&(v=C,_=l.substr(x,v)),(E=Sa(_+P,m)+N)===T){v=0;break}T=E}while(E>=d);x+=v;break}-1===(S=l.indexOf(" ",v+1))?(v+=1,j=!1):(j=!0,v=S)}if(v>=O){x=O;break}w-=1}x!==O&&(g="".concat(l.substr(0,x)).concat(u," "),b=c)}y=p?p(g,b):o.a.createElement("div",f,g,b),e.setState({renderText:y})}else e.setState({renderText:null})}})),ga(ba(e),"update",(function(t){e.getRenderText(e.scope,t)})),e}return t=i,(n=[{key:"componentDidMount",value:function(){window.addEventListener("resize",this.onResize,!1)}},{key:"componentDidUpdate",value:function(e){e.text!==this.props.text&&this.update(e)}},{key:"componentWillUnmount",value:function(){window.removeEventListener("resize",this.onResize,!1)}},{key:"render",value:function(){var e=this.props.containerClassName;return o.a.createElement("div",{ref:this.getRenderText,className:e,style:{overflow:"hidden"}},this.state.renderText)}}])&&fa(t.prototype,n),r&&fa(t,r),i}(o.a.Component);ga(xa,"displayName","TextTruncate"),ga(xa,"propTypes",{containerClassName:i.a.string,line:i.a.number,prefix:i.a.string,suffix:i.a.string,text:i.a.string,textTruncateChild:i.a.node,truncateText:i.a.string,wrapper:i.a.func}),ga(xa,"defaultProps",{line:1,text:"",truncateText:"…"});var wa=xa;function Ea(e){return(Ea="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function ja(){return(ja=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}function Ca(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function Pa(e,t){return(Pa=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function Na(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=Ra(e);if(t){var o=Ra(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return Ta(this,n)}}function Ta(e,t){return!t||"object"!==Ea(t)&&"function"!=typeof t?ka(e):t}function ka(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function Ra(e){return(Ra=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}var Da={assistiveText:i.a.shape({dragIconText:i.a.string}),className:i.a.oneOfType([i.a.array,i.a.object,i.a.string]),description:i.a.string,descriptionHeading:i.a.string,href:i.a.string,iconBackgroundColor:i.a.string,iconNode:i.a.node,iconText:i.a.string,isOpenTooltip:i.a.bool,moreLabel:i.a.string,onClick:i.a.func,search:i.a.string,title:i.a.string.isRequired},Ia=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&Pa(e,t)}(i,e);var t,n,r,a=Na(i);function i(e){var t,n,r,o;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,i),t=a.call(this,e),n=ka(t),o=function(e){t.props.onClick&&(e.preventDefault(),t.props.onClick(e,{href:t.props.href}))},(r="handleClick")in n?Object.defineProperty(n,r,{value:o,enumerable:!0,configurable:!0,writable:!0}):n[r]=o,Br(h,e,Fr),t}return t=i,(n=[{key:"render",value:function(){var e=this,t={};return this.props.iconBackgroundColor&&(t.backgroundColor=this.props.iconBackgroundColor),o.a.createElement("div",{className:l()("slds-app-launcher__tile slds-text-link_reset slds-is-draggable",this.props.className),onClick:this.handleClick,role:"button",tabIndex:"0"},o.a.createElement("div",{className:"slds-app-launcher__tile-figure"},this.props.iconNode||o.a.createElement("span",{className:"slds-avatar slds-avatar_large"},o.a.createElement("abbr",{className:"slds-avatar__initials slds-icon-custom-27",style:t,title:this.props.title},this.props.iconText)),o.a.createElement("div",{className:"slds-m-top_xxx-small"},o.a.createElement(or,ja({assistiveText:{icon:this.props.assistiveText.dragIconText},iconCategory:"utility",iconName:"rows",title:this.props.assistiveText.dragIconText,variant:"icon"},{"aria-pressed":!1})))),o.a.createElement("div",{className:"slds-app-launcher__tile-body"},o.a.createElement("a",{href:this.props.href},o.a.createElement(Jo,{search:this.props.search},this.props.title)),o.a.createElement(wa,{line:2,prefix:this.props.descriptionHeading&&this.props.descriptionHeading.toUpperCase(),suffix:this.props.moreLabel,text:this.props.description,textTruncateChild:o.a.createElement(Hn,{align:"bottom",content:o.a.createElement(Jo,{search:this.props.search},this.props.description),isOpen:this.props.isOpenTooltip},o.a.createElement(or,{className:"slds-button_reset slds-text-link",variant:"base"},this.props.moreLabel)),wrapper:function(t,n){return o.a.createElement(o.a.Fragment,null,e.props.descriptionHeading&&o.a.createElement("div",{className:"slds-text-heading_label",style:{letterSpacing:"0.025rem"}},e.props.descriptionHeading," "),o.a.createElement(Jo,{search:e.props.search},t),n&&" ",n)}})))}}])&&Ca(t.prototype,n),r&&Ca(t,r),i}(o.a.Component);Ia.displayName=h,Ia.defaultProps={assistiveText:{dragIconText:"Reorder"},href:"javascript:void(0);",moreLabel:" More"},Ia.propTypes=Da;var Aa=Ia;var La=function(){},Ba=n(36);function Fa(e){return(Fa="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function Ma(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function qa(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?Ma(Object(n),!0).forEach((function(t){Ha(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Ma(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function Ha(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Ka(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function Wa(e,t){return(Wa=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function Va(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=za(e);if(t){var o=za(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return Ua(this,n)}}function Ua(e,t){return!t||"object"!==Fa(t)&&"function"!=typeof t?function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e):t}function za(e){return(za=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}var Ga={assistiveText:i.a.shape({icon:i.a.string}),imgAlt:i.a.string,imgSrc:i.a.string,initials:i.a.string,inverse:i.a.bool,label:i.a.string,variant:i.a.oneOf(["entity","user"]).isRequired,size:i.a.oneOf(["x-small","small","medium","large"]).isRequired,title:i.a.string},Ya={assistiveText:{icon:"User or Account Icon"},imgAlt:"",size:"medium",title:"user avatar",variant:"user"},Qa=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&Wa(e,t)}(i,e);var t,n,r,a=Va(i);function i(e){var t;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,i),(t=a.call(this,e)).state={imgLoadError:!1},La(m,e,Ba),t}return t=i,(n=[{key:"buildInitials",value:function(){var e=this.props.label.trim(),t=e.split(" ");return t.length>1?t[0].charAt(0).toUpperCase()+t[t.length-1].charAt(0).toUpperCase():(e[0]||"").toUpperCase()+(e[1]||"").toLowerCase()}},{key:"handleImageError",value:function(){return this.setState((function(){return{imgLoadError:!0}}))}},{key:"renderBaseAvatar",value:function(){var e=this,t=this.props,n=t.imgAlt,r=t.imgSrc,a=t.title;return o.a.createElement("img",{alt:n,src:r,onError:function(){return e.handleImageError()},title:a})}},{key:"renderIconAvatar",value:function(){var e=this.props.variant,t="string"==typeof this.props.assistiveText?this.props.assistiveText:qa(qa({},Ya.assistiveText),this.props.assistiveText).icon;return o.a.createElement(jn,{assistiveText:{label:t},category:"standard",name:"entity"===e?"account":"user"})}},{key:"renderInitialsAvatar",value:function(){var e=this.props,t=e.initials,n=e.inverse,r=e.label,a=e.variant;return o.a.createElement("abbr",{className:gn("slds-avatar__initials",{"slds-avatar__initials_inverse":n,"slds-icon-standard-account":"entity"===a,"slds-icon-standard-user":"user"===a}),title:r},t||this.buildInitials())}},{key:"render",value:function(){var e=this,t=this.props,n=t.imgSrc,r=t.initials,a=t.variant,i=t.label,s=t.size;return o.a.createElement("div",null,o.a.createElement("span",{className:gn("slds-avatar",{"slds-avatar_circle":"user"===a,"slds-avatar_x-small":"x-small"===s,"slds-avatar_small":"small"===s,"slds-avatar_medium":"medium"===s,"slds-avatar_large":"large"===s})},!e.state.imgLoadError&&n?e.renderBaseAvatar():r||i&&i.trim()?e.renderInitialsAvatar():e.renderIconAvatar()))}}])&&Ka(t.prototype,n),r&&Ka(t,r),i}(o.a.Component);Qa.defaultProps=Ya,Qa.displayName="SLDSAvatar",Qa.propTypes=Ga;var Ja=Qa;function Xa(e){return(Xa="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function $a(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function Za(e,t){return(Za=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function ei(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=ni(e);if(t){var o=ni(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return ti(this,n)}}function ti(e,t){return!t||"object"!==Xa(t)&&"function"!=typeof t?function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e):t}function ni(e){return(ni=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}var ri=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&Za(e,t)}(i,e);var t,n,r,a=ei(i);function i(e){var t;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,i),(t=a.call(this,e)).generatedId=u.a.generate(),t}return t=i,(n=[{key:"getId",value:function(){return this.props.id||this.generatedId}},{key:"render",value:function(){var e=this.props.icon&&o.a.createElement("span",{className:l()("slds-badge__icon","slds-badge__icon_".concat(this.props.iconAlignment)),style:this.props.style},this.props.icon);return o.a.createElement("span",{id:this.getId(),className:l()("slds-badge",{"slds-badge_inverse":"inverse"===this.props.color,"slds-badge_lightest":"light"===this.props.color,"slds-theme_success":"success"===this.props.color,"slds-theme_warning":"warning"===this.props.color,"slds-theme_error":"error"===this.props.color},this.props.className)},"left"===this.props.iconAlignment?o.a.createElement(o.a.Fragment,null,e,this.props.content):o.a.createElement(o.a.Fragment,null,this.props.content,e))}}])&&$a(t.prototype,n),r&&$a(t,r),i}(o.a.Component);ri.displayName="SLDSBadge",ri.propTypes={className:i.a.oneOfType([i.a.array,i.a.object,i.a.string]),id:i.a.string,style:i.a.object,color:i.a.oneOf(["default","inverse","light","success","warning","error"]),iconAlignment:i.a.oneOf(["left","right"]),content:i.a.oneOfType([i.a.string,i.a.node])},ri.defaultProps={iconAlignment:"left",color:"default"};var oi=ri;function ai(e){return(ai="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function ii(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function si(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?ii(Object(n),!0).forEach((function(t){li(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):ii(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function li(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function ci(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function ui(e,t,n){return t&&ci(e.prototype,t),n&&ci(e,n),e}function pi(e,t){return(pi=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function fi(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=hi(e);if(t){var o=hi(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return di(this,n)}}function di(e,t){return!t||"object"!==ai(t)&&"function"!=typeof t?function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e):t}function hi(e){return(hi=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}var mi=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&pi(e,t)}(n,e);var t=fi(n);function n(e){var r;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,n),(r=t.call(this,e)).generatedId=u.a.generate(),r}return ui(n,null,[{key:"injectLightningBlueStyles",value:function(){return o.a.createElement("style",null,".slds-brand-band.dsr-brand-band_lightning-blue:before {\n\tbackground-image: url(/assets/images/themes/oneSalesforce/banner-brand-default.png), linear-gradient(to top, rgba(175, 197, 222, 0) 0, #1B5F9E);\n}\n.slds-brand-band.dsr-brand-band_lightning-blue:after {\n\tbackground-image: linear-gradient(to bottom, rgba(175, 197, 222, 0) 60%, #AFC5DE);\n}")}}]),ui(n,[{key:"getId",value:function(){return this.props.id||this.generatedId}},{key:"render",value:function(){var e=this.props;return o.a.createElement("div",{style:si({background:"rgb(176, 196, 223)",height:"100%",position:"relative",width:"100%",zIndex:1},e.styleContainer)},n.injectLightningBlueStyles(),o.a.createElement("div",{className:gn("slds-brand-band",{"slds-brand-band_small":"small"===e.size,"slds-brand-band_medium":"medium"===e.size,"slds-brand-band_large":"large"===e.size,"slds-brand-band_cover":"cover"===e.backgroundSize,"slds-brand-band_none":"none"===e.image,"dsr-brand-band_lightning-blue":!0},e.className),id:this.getId(),style:e.style},e.children))}}]),n}(o.a.Component);mi.displayName="SLDSBrandBand",mi.propTypes={children:i.a.node,className:i.a.oneOfType([i.a.array,i.a.object,i.a.string]),id:i.a.string,image:i.a.oneOf(["default","none"]),backgroundSize:i.a.oneOf(["contain","cover"]),size:i.a.oneOf(["small","medium","large"]),style:i.a.object,styleContainer:i.a.object,theme:i.a.oneOf(["default","lightning-blue"])},mi.defaultProps={backgroundSize:"contain",image:"default",size:"medium",theme:"default"};var bi=mi;var yi=function(){},gi=n(37);function vi(e,t,n){return e===t||(e.correspondingElement?e.correspondingElement.classList.contains(n):e.classList.contains(n))}var Oi,_i,Si=(void 0===Oi&&(Oi=0),function(){return++Oi}),xi={},wi={},Ei=["touchstart","touchmove"];function ji(e,t){var n=null;return-1!==Ei.indexOf(t)&&_i&&(n={passive:!e.props.preventDefault}),n}var Ci=function(e,t){var n,o,a=e.displayName||e.name||"Component";return o=n=function(n){var o,i;function s(e){var r;return(r=n.call(this,e)||this).__outsideClickHandler=function(e){if("function"!=typeof r.__clickOutsideHandlerProp){var t=r.getInstance();if("function"!=typeof t.props.handleClickOutside){if("function"!=typeof t.handleClickOutside)throw new Error("WrappedComponent: "+a+" lacks a handleClickOutside(event) function for processing outside click events.");t.handleClickOutside(e)}else t.props.handleClickOutside(e)}else r.__clickOutsideHandlerProp(e)},r.__getComponentNode=function(){var e=r.getInstance();return t&&"function"==typeof t.setClickOutsideRef?t.setClickOutsideRef()(e):"function"==typeof e.setClickOutsideRef?e.setClickOutsideRef():Object(_t.findDOMNode)(e)},r.enableOnClickOutside=function(){if("undefined"!=typeof document&&!wi[r._uid]){void 0===_i&&(_i=function(){if("undefined"!=typeof window&&"function"==typeof window.addEventListener){var e=!1,t=Object.defineProperty({},"passive",{get:function(){e=!0}}),n=function(){};return window.addEventListener("testPassiveEventSupport",n,t),window.removeEventListener("testPassiveEventSupport",n,t),e}}()),wi[r._uid]=!0;var e=r.props.eventTypes;e.forEach||(e=[e]),xi[r._uid]=function(e){var t;null!==r.componentNode&&(r.props.preventDefault&&e.preventDefault(),r.props.stopPropagation&&e.stopPropagation(),r.props.excludeScrollbar&&(t=e,document.documentElement.clientWidth<=t.clientX||document.documentElement.clientHeight<=t.clientY)||function(e,t,n){if(e===t)return!0;for(;e.parentNode;){if(vi(e,t,n))return!0;e=e.parentNode}return e}(e.target,r.componentNode,r.props.outsideClickIgnoreClass)===document&&r.__outsideClickHandler(e))},e.forEach((function(e){document.addEventListener(e,xi[r._uid],ji(r,e))}))}},r.disableOnClickOutside=function(){delete wi[r._uid];var e=xi[r._uid];if(e&&"undefined"!=typeof document){var t=r.props.eventTypes;t.forEach||(t=[t]),t.forEach((function(t){return document.removeEventListener(t,e,ji(r,t))})),delete xi[r._uid]}},r.getRef=function(e){return r.instanceRef=e},r._uid=Si(),r}i=n,(o=s).prototype=Object.create(i.prototype),o.prototype.constructor=o,o.__proto__=i;var l=s.prototype;return l.getInstance=function(){if(!e.prototype.isReactComponent)return this;var t=this.instanceRef;return t.getInstance?t.getInstance():t},l.componentDidMount=function(){if("undefined"!=typeof document&&document.createElement){var e=this.getInstance();if(t&&"function"==typeof t.handleClickOutside&&(this.__clickOutsideHandlerProp=t.handleClickOutside(e),"function"!=typeof this.__clickOutsideHandlerProp))throw new Error("WrappedComponent: "+a+" lacks a function for processing outside click events specified by the handleClickOutside config option.");this.componentNode=this.__getComponentNode(),this.props.disableOnClickOutside||this.enableOnClickOutside()}},l.componentDidUpdate=function(){this.componentNode=this.__getComponentNode()},l.componentWillUnmount=function(){this.disableOnClickOutside()},l.render=function(){var t=this.props,n=(t.excludeScrollbar,function(e,t){if(null==e)return{};var n,r,o={},a=Object.keys(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)>=0||(o[n]=e[n]);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r<i.length;r++)n=i[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}(t,["excludeScrollbar"]));return e.prototype.isReactComponent?n.ref=this.getRef:n.wrappedRef=this.getRef,n.disableOnClickOutside=this.disableOnClickOutside,n.enableOnClickOutside=this.enableOnClickOutside,Object(r.createElement)(e,n)},s}(r.Component),n.displayName="OnClickOutside("+a+")",n.defaultProps={eventTypes:["mousedown","touchstart"],excludeScrollbar:t&&t.excludeScrollbar||!1,outsideClickIgnoreClass:"ignore-react-onclickoutside",preventDefault:!1,stopPropagation:!1},n.getClass=function(){return e.getClass?e.getClass():e},o},Pi=function(e){return o.a.createElement("span",{className:"slds-truncate",title:e.label},e.icon,e.label)};Pi.displayName="SLDSListItemLabel",Pi.propTypes={data:i.a.object,icon:i.a.node,index:i.a.number,inverted:i.a.bool,isSelected:i.a.bool,label:i.a.string,value:i.a.any},Pi.defaultProps={data:{},index:0,inverted:!1,isSelected:!1,label:"",value:null};var Ni=Pi;function Ti(e){return(Ti="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function ki(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function Ri(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?ki(Object(n),!0).forEach((function(t){Hi(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):ki(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function Di(){return(Di=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}function Ii(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function Ai(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function Li(e,t){return(Li=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function Bi(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=qi(e);if(t){var o=qi(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return Fi(this,n)}}function Fi(e,t){return!t||"object"!==Ti(t)&&"function"!=typeof t?Mi(e):t}function Mi(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function qi(e){return(qi=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function Hi(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var Ki=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&Li(e,t)}(i,e);var t,n,r,a=Bi(i);function i(){var e;Ii(this,i);for(var t=arguments.length,n=new Array(t),r=0;r<t;r++)n[r]=arguments[r];return Hi(Mi(e=a.call.apply(a,[this].concat(n))),"getLabel",(function(){var t=e.props.labelRenderer;return o.a.createElement(t,{checkmark:e.props.checkmark,data:e.props.data,icon:e.getIcon("left"),index:e.props.index,inverted:e.props.inverted,isSelected:e.props.isSelected,label:e.props.label,value:e.props.value})})),Hi(Mi(e),"getIcon",(function(t){var n=["slds-icon-text-default"],r=e.props["".concat(t,"Icon")];return"left"===t?(e.props.checkmark&&(n.push("slds-icon_selected"),r={category:"utility",name:"check"}),n.push("slds-m-right_x-small")):n.push("slds-m-left_small"),r?o.a.createElement(jn,Di({className:l()(n),position:t,size:"x-small"},r)):null})),Hi(Mi(e),"handleClick",(function(t){"link"===e.props.type&&"javascript:void(0);"!==e.props.href||Dt.trapImmediate(t),e.props.onSelect&&e.props.onSelect(e.props.index)})),Hi(Mi(e),"handleMouseDown",(function(e){Dt.trapImmediate(e)})),e}return t=i,(n=[{key:"render",value:function(){switch(this.props.type){case"header":return o.a.createElement("li",{className:l()("slds-dropdown__header",{"slds-has-divider_top-space":"top"===this.props.divider,"slds-has-divider_bottom-space":"bottom"===this.props.divider},this.props.className),onMouseDown:this.handleMouseDown,role:"separator"},o.a.createElement("span",null,this.props.label));case"divider":return o.a.createElement("li",{className:l()("slds-has-divider",this.props.className),onMouseDown:this.handleMouseDown,role:"separator"});case"link":case"item":default:var e=o.a.createElement("a",{"aria-checked":this.props.checkmark&&this.props.isSelected,"aria-disabled":this.props["aria-disabled"],href:this.props.href,"data-index":this.props.index,onClick:this.handleClick,role:this.props.checkmark?"menuitemcheckbox":"menuitem",tabIndex:"-1"},this.getLabel(),this.getIcon("right"));if(this.props.tooltipContent&&this.props.tooltipTemplate){var t=Di({},this.props.tooltipTemplate.props),n=Ri(Ri({},t),{},{content:this.props.tooltipContent,id:"".concat(this.props.id,"-tooltip"),triggerStyle:Ri({width:"100%"},t.triggerStyle||{})});e=o.a.cloneElement(this.props.tooltipTemplate,n,e)}return o.a.createElement("li",{"aria-selected":null===this.props.checkmark?this.props.isSelected:null,className:l()("slds-dropdown__item",{"slds-is-selected":this.props.isSelected},this.props.className),id:this.props.id,onMouseDown:this.handleMouseDown,role:"presentation"},e)}}}])&&Ai(t.prototype,n),r&&Ai(t,r),i}(o.a.Component);Hi(Ki,"displayName","SLDSListItem"),Hi(Ki,"propTypes",{"aria-disabled":i.a.bool,className:i.a.oneOfType([i.a.array,i.a.object,i.a.string]),checkmark:i.a.bool,data:i.a.object,divider:i.a.oneOf(["top","bottom"]),href:i.a.string,id:i.a.string.isRequired,index:i.a.number.isRequired,inverted:i.a.bool,isSelected:i.a.bool,label:i.a.string,labelRenderer:i.a.func,leftIcon:i.a.shape({category:i.a.string,name:i.a.string}),onSelect:i.a.func.isRequired,rightIcon:i.a.shape({category:i.a.string,name:i.a.string}),tooltipContent:i.a.oneOfType([i.a.node,i.a.string]),tooltipTemplate:i.a.node,type:i.a.string,value:i.a.any}),Hi(Ki,"defaultProps",{data:{},href:"javascript:void(0);",inverted:!1,isSelected:!1,label:"",labelRenderer:Ni,value:null});var Wi=Ki;function Vi(e){return(Vi="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function Ui(){return(Ui=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}function zi(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function Gi(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function Yi(e,t){return(Yi=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function Qi(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=Xi(e);if(t){var o=Xi(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return Ji(this,n)}}function Ji(e,t){return!t||"object"!==Vi(t)&&"function"!=typeof t?function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e):t}function Xi(e){return(Xi=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function $i(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var Zi=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&Yi(e,t)}(i,e);var t,n,r,a=Qi(i);function i(){return zi(this,i),a.apply(this,arguments)}return t=i,(n=[{key:"render",value:function(){var e,t,n=this;return this.props.length&&(e="slds-dropdown_length-".concat(this.props.length)),t=o.a.createElement("ul",{"aria-labelledby":this.props.triggerId,className:l()("dropdown__list",e,this.props.className),role:"menu"},this.props.options.map((function(e,t){var r=n.props.getListItemId(t),a=t===n.props.selectedIndex,i=!!n.props.selectedIndices&&-1!==n.props.selectedIndices.indexOf(t);return o.a.createElement(Wi,Ui({},e,{"aria-disabled":e.disabled,checkmark:n.props.checkmark&&(a||i),data:e,id:r,index:t,isSelected:a||i,key:"".concat(r,"-").concat(e.value),labelRenderer:n.props.itemRenderer,onSelect:n.props.onSelect,ref:function(e){return n.props.itemRefs(e,t)},tooltipTemplate:n.props.tooltipMenuItem}))}))),this.props.tooltipMenuItem&&(t=o.a.createElement(o.a.Fragment,null,o.a.createElement("style",{dangerouslySetInnerHTML:{__html:".slds-dropdown__item > .slds-tooltip-trigger > a {\n\tposition: relative;\n\tdisplay: -ms-flexbox;\n\tdisplay: flex;\n\t-ms-flex-pack: justify;\n\tjustify-content: space-between;\n\t-ms-flex-align: center;\n\talign-items: center;\n\tpadding: 0.5rem 0.75rem;\n\tcolor: #080707;\n\twhite-space: nowrap;\n\tcursor: pointer;\n}\n\n.slds-dropdown__item > .slds-tooltip-trigger > a:active {\n text-decoration: none;\n background-color: #ecebea;\n}\n\n.slds-dropdown__item > .slds-tooltip-trigger > a:hover,\n.slds-dropdown__item > .slds-tooltip-trigger > a:focus {\n outline: 0;\n text-decoration: none;\n background-color: #f3f2f2;\n}\n"}}),t)),t}}])&&Gi(t.prototype,n),r&&Gi(t,r),i}(o.a.Component);$i(Zi,"displayName",$),$i(Zi,"propTypes",{checkmark:i.a.bool,className:i.a.string,getListItemId:i.a.func,itemRefs:i.a.func,itemRenderer:i.a.func,length:i.a.oneOf([null,"5","7","10",5,7,10]),onSelect:i.a.func,options:i.a.array,selectedIndex:i.a.number,tooltipMenuItem:i.a.node,triggerId:i.a.string}),$i(Zi,"defaultProps",{length:"5",options:[],selectedIndex:-1});var es=Zi;function ts(e){return(ts="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function ns(){return(ns=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}function rs(e,t){if(null==e)return{};var n,r,o=function(e,t){if(null==e)return{};var n,r,o={},a=Object.keys(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)>=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}function os(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function as(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function is(e,t){return(is=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function ss(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=cs(e);if(t){var o=cs(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return ls(this,n)}}function ls(e,t){return!t||"object"!==ts(t)&&"function"!=typeof t?function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e):t}function cs(e){return(cs=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function us(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var ps=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&is(e,t)}(i,e);var t,n,r,a=ss(i);function i(){return os(this,i),a.apply(this,arguments)}return t=i,(n=[{key:"render",value:function(){var e=this.props,t=e.assistiveText,n=(e.children,e.className),r=e.id,a=(e.isInline,e.isOpen),i=e.onBlur,s=e.menu,c=e.onClick,u=e.onFocus,p=e.onKeyDown,f=e.onMouseDown,d=e.onMouseEnter,h=e.onMouseLeave,m=e.triggerRef,b=e.triggerClassName,y=rs(e,["assistiveText","children","className","id","isInline","isOpen","onBlur","menu","onClick","onFocus","onKeyDown","onMouseDown","onMouseEnter","onMouseLeave","triggerRef","triggerClassName"]),g="hover"===this.props.openOn?"click":this.props.openOn,v={};return 0!==o.a.Children.count(this.props.children)&&o.a.Children.forEach(this.props.children,(function(e){e&&e.type.displayName===or.displayName&&(v=e.props)})),o.a.createElement("div",{className:l()("slds-dropdown-trigger slds-dropdown-trigger_".concat(g),{"slds-is-open":a},b),id:r,onBlur:i,onClick:c,onKeyDown:p,onFocus:u,onMouseDown:f,onMouseEnter:d,onMouseLeave:h},o.a.createElement(or,ns({assistiveText:t,className:n,"aria-expanded":a,"aria-haspopup":!0},y,v,{buttonRef:m})),s)}}])&&as(t.prototype,n),r&&as(t,r),i}(o.a.Component);us(ps,"displayName",te),us(ps,"propTypes",{children:i.a.element,className:i.a.oneOfType([i.a.array,i.a.object,i.a.string]),id:i.a.string,isOpen:i.a.bool,menu:i.a.node,onBlur:i.a.func,onClick:i.a.func,onFocus:i.a.func,onKeyDown:i.a.func,onMouseDown:i.a.func,onMouseEnter:i.a.func,onMouseLeave:i.a.func,openOn:i.a.oneOf(["hover","click","hybrid"]),triggerRef:i.a.func,triggerClassName:i.a.oneOfType([i.a.array,i.a.object,i.a.string])});var fs=ps;var ds=function(){},hs=n(38);var ms=function(){var e=this;return this.buffer="",function(t){return e.timeout&&(clearTimeout(e.timeout),e.timeout=void 0),e.timeout=setTimeout((function(){e.buffer=""}),400),e.buffer=e.buffer+t,e.buffer}},bs=n(11),ys=n.n(bs);function gs(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){if("undefined"==typeof Symbol||!(Symbol.iterator in Object(e)))return;var n=[],r=!0,o=!1,a=void 0;try{for(var i,s=e[Symbol.iterator]();!(r=(i=s.next()).done)&&(n.push(i.value),!t||n.length!==t);r=!0);}catch(e){o=!0,a=e}finally{try{r||null==s.return||s.return()}finally{if(o)throw a}}return n}(e,t)||function(e,t){if(!e)return;if("string"==typeof e)return vs(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return vs(e,t)}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function vs(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}var Os=function(e){var t,n=e.componentContext,r=e.currentFocusedIndex,o=e.isOpen,a=e.event,i=e.key,s=e.keyCode,l=e.navigableItems,c=e.onFocus,u=e.onSelect,p=e.target,f=e.toggleOpen,d=l.indexes,h=d.length-1,m=i||String.fromCharCode(s);m=/^[ -~]$/.test(m)?m.toLowerCase():null;var b=s===At.ENTER||s===At.SPACE||s===At.UP;if(s===At.ESCAPE)o&&f();else if(o)if(s===At.ENTER||s===At.SPACE)u(r);else{var y=d.indexOf(r);if(s===At.DOWN)if(y<h){t=d[y+1]}else{var g=gs(d,1);t=g[0]}else if(s===At.UP){if(y>0)t=d[y-1];else t=d[h]}else if(m){var v=l.keyBuffer(m),O=0;v.length>1&&new RegExp("^[".concat(ys()(m),"]+$")).test(v)&&(O=v.length),l.forEach((function(e){(void 0===t&&e.text.substr(0,v.length)===v||O>0&&e.text.substr(0,1)===m)&&(O-=1,t=e.index)}))}}else{var _=gs(d,1);t=_[0],(b||m)&&f(),b&&n.trigger&&St.a.findDOMNode(n.trigger)===p&&n.handleClick(a)}return c(t),t};function _s(e){return(_s="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function Ss(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function xs(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?Ss(Object(n),!0).forEach((function(t){ks(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Ss(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function ws(){return(ws=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}function Es(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function js(e,t){return(js=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function Cs(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=Ts(e);if(t){var o=Ts(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return Ps(this,n)}}function Ps(e,t){return!t||"object"!==_s(t)&&"function"!=typeof t?Ns(e):t}function Ns(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function Ts(e){return(Ts=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function ks(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var Rs,Ds="undefined"!=typeof document,Is=Ds?document.createElement("span"):{style:{}};Is.style.top=0,Is.style.left=0,Is.style.width="100%",Is.style.height="100%",Is.style.position="absolute";var As=function(){},Ls=function(e){var t=[];return t.indexes=[],t.keyBuffer=new ms,Array.isArray(e)&&e.forEach((function(e,n){(function(e){return"header"!==e.type&&"divider"!==e.type&&!e.disabled})(e)&&(t.push({index:n,text:"".concat(e.label).toLowerCase()}),t.indexes.push(n))})),t};var Bs={top:"bottom","top left":"bottom left","top right":"bottom right",bottom:"top","bottom left":"top left","bottom right":"top right"},Fs={align:i.a.oneOf(["center","left","right"]),assistiveText:i.a.object,buttonClassName:i.a.oneOfType([i.a.array,i.a.object,i.a.string]),buttonInverse:i.a.bool,buttonVariant:i.a.oneOf(["base","neutral","brand","destructive","icon"]),checkmark:i.a.bool,children:i.a.node,className:i.a.oneOfType([i.a.array,i.a.object,i.a.string]),containerClassName:i.a.oneOfType([i.a.array,i.a.object,i.a.string]),disabled:i.a.bool,hasStaticAlignment:i.a.bool,hint:i.a.bool,hoverCloseDelay:i.a.number,iconCategory:Pe()(i.a.oneOf(["action","custom","doctype","standard","utility"]),(function(e){return!!e.iconName})),iconName:i.a.string,iconPosition:i.a.oneOf(["left","right"]),iconVariant:i.a.oneOf(["bare","container","border","border-filled","small","more"]),iconSize:i.a.oneOf(["x-small","small","medium","large"]),id:i.a.string,inverse:i.a.bool,isOpen:i.a.bool,label:i.a.oneOfType([i.a.string,i.a.node]),listItemRenderer:i.a.func,length:i.a.oneOf([null,"5","7","10",5,7,10]),menuPosition:i.a.oneOf(["absolute","overflowBoundaryElement","relative"]),menuStyle:i.a.object,nubbinPosition:i.a.oneOf(["top left","top","top right","bottom left","bottom","bottom right"]),onBlur:i.a.func,onClick:i.a.func,onFocus:i.a.func,openOn:i.a.oneOf(["hover","click","hybrid"]),onKeyDown:i.a.func,onMouseDown:i.a.func,onMouseEnter:i.a.func,onMouseLeave:i.a.func,onSelect:i.a.func,onOpen:i.a.func,onClose:i.a.func,options:i.a.array,style:i.a.object,tabIndex:i.a.string,overlay:i.a.oneOfType([i.a.bool,i.a.func]),value:i.a.oneOfType([i.a.number,i.a.string,i.a.array]),tooltip:i.a.node,tooltipMenuItem:i.a.node,triggerClassName:i.a.oneOfType([i.a.array,i.a.object,i.a.string]),multiple:i.a.bool,width:i.a.oneOf(["xx-small","x-small","small","medium","bottom","large"])},Ms=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&js(e,t)}(i,e);var t,n,r,a=Cs(i);function i(e){var t;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,i),ks(Ns(t=a.call(this,e)),"getId",(function(){return t.props.id||t.generatedId})),ks(Ns(t),"getIsOpen",(function(){return!!("boolean"==typeof t.props.isOpen?t.props.isOpen:t.state.isOpen)})),ks(Ns(t),"getIndexByValue",(function(e,t){var n=-1;return t&&t.length&&t.some((function(t,r){return!(!t||t.value!==e)&&(n=r,!0)})),n})),ks(Ns(t),"getValueByIndex",(function(e){return t.props.options[e]})),ks(Ns(t),"getListItemRenderer",(function(){return t.props.listItemRenderer?t.props.listItemRenderer:Ni})),ks(Ns(t),"getListItemId",(function(e){var n;if(void 0!==e){var r=Ir()(t.getId)?t.getId():t.props.id;n="".concat(r,"-item-").concat(e)}return n})),ks(Ns(t),"setFocus",(function(){t.isHover||t.isUnmounting||!t.trigger||St.a.findDOMNode(t.trigger).focus()})),ks(Ns(t),"getMenu",(function(){return St.a.findDOMNode(t.list)})),ks(Ns(t),"getMenuItem",(function(e){if(void 0!==e&&t.listItems)return St.a.findDOMNode(t.listItems[e])})),ks(Ns(t),"getCurrentSelectedIndices",(function(e){if(!0===t.props.multiple){var n=[];return Array.isArray(e.value)?n=e.value:n.push(e.value),{selectedIndices:(n=n.filter((function(n){return-1!==t.getIndexByValue(n,e.options)}))).map((function(n){return t.getIndexByValue(n,e.options)}))}}return{selectedIndex:t.getIndexByValue(e.value,e.options)}})),ks(Ns(t),"saveRefToTrigger",(function(e){t.trigger=e,t.state.triggerRendered||t.setState({triggerRendered:!0})})),ks(Ns(t),"saveRefToTriggerContainer",(function(e){t.triggerContainer=e,t.trigger||(t.trigger=e)})),ks(Ns(t),"saveRefToList",(function(e){t.list=e})),ks(Ns(t),"saveRefToListItem",(function(e,n){t.listItems||(t.listItems={}),t.listItems[n]=e,n===t.state.focusedIndex&&t.handleKeyboardFocus(t.state.focusedIndex)})),ks(Ns(t),"handleClose",(function(){t.getIsOpen()&&(Rs===Ns(t)&&(Rs=void 0),t.setState({isOpen:!1}),t.isHover=!1,t.props.onClose&&t.props.onClose())})),ks(Ns(t),"handleOpen",(function(){t.getIsOpen()||(Rs&&Ir()(Rs.handleClose)&&Rs.handleClose(),Rs=Ns(t),t.setState({isOpen:!0}),t.props.onOpen&&t.props.onOpen())})),ks(Ns(t),"handleMouseEnter",(function(e){var n=t.getIsOpen();t.isHover=!0,n||"hover"!==t.props.openOn?clearTimeout(t.isClosing):t.handleOpenForHover(),t.props.onMouseEnter&&t.props.onMouseEnter(e)})),ks(Ns(t),"handleMouseLeave",(function(e){t.getIsOpen()&&(t.isClosing=setTimeout((function(){t.handleCloseForHover()}),t.props.hoverCloseDelay)),t.props.onMouseLeave&&t.props.onMouseLeave(e)})),ks(Ns(t),"handleCloseForHover",(function(){t.getIsOpen()&&t.handleClose()})),ks(Ns(t),"handleOpenForHover",(function(){t.getIsOpen()||(t.handleOpen(),t.setFocus())})),ks(Ns(t),"handleClick",(function(e){t.getIsOpen()?t.handleClose():(t.handleOpen(),t.setFocus()),t.props.onClick&&t.props.onClick(e)})),ks(Ns(t),"handleFocus",(function(e){t.props.onFocus&&t.props.onFocus(e)})),ks(Ns(t),"handleClickCustomContent",(function(){t.setFocus(),t.handleClose(),t.props.onSelect&&t.props.onSelect()})),ks(Ns(t),"handleSelect",(function(e){if(t.props.multiple){if(t.props.multiple&&-1===t.state.selectedIndices.indexOf(e)){var n=t.state.selectedIndices.concat(e);t.setState({selectedIndices:n})}else if(t.props.multiple){var r=t.state.selectedIndices.indexOf(e),o=t.state.selectedIndices;o.splice(r,1),t.setState({selectedIndices:o})}}else t.setState({selectedIndex:e}),t.handleClose(),t.setFocus();if(t.props.onSelect){var a=t.getValueByIndex(e);t.props.onSelect(a,{option:a,optionIndex:e})}})),ks(Ns(t),"handleKeyDown",(function(e){if(e.keyCode){if(e.keyCode!==At.ENTER&&e.keyCode!==At.SPACE&&e.keyCode!==At.DOWN&&e.keyCode!==At.UP||Dt.trap(e),e.keyCode!==At.TAB){var n=t.getIsOpen();t.handleKeyboardNavigate({event:e,isOpen:n,key:e.key,keyCode:e.keyCode,onSelect:t.handleSelect,target:e.target,toggleOpen:t.toggleOpen})}else t.handleCancel();t.props.onKeyDown&&t.props.onKeyDown(e)}})),ks(Ns(t),"handleCancel",(function(){t.setFocus(),t.handleClose()})),ks(Ns(t),"handleClickOutside",(function(){t.handleClose()})),ks(Ns(t),"handleKeyboardNavigate",(function(e){var n=e.event,r=e.isOpen,o=void 0===r||r,a=e.keyCode,i=e.onFocus,s=void 0===i?t.handleKeyboardFocus:i,l=e.onSelect,c=e.target,u=e.toggleOpen,p=void 0===u?As:u;Os({componentContext:Ns(t),currentFocusedIndex:t.state.focusedIndex,event:n,isOpen:o,keyCode:a,navigableItems:t.navigableItems,onFocus:s,onSelect:l,target:c,toggleOpen:p})})),ks(Ns(t),"handleKeyboardFocus",(function(e){t.state.focusedIndex!==e&&t.setState({focusedIndex:e});var n,r=Ir()(t.getMenu)?t.getMenu():(n=Ns(t),St.a.findDOMNode(n).querySelector("ul.dropdown__list")),o=Ir()(t.getMenuItem)?t.getMenuItem(e,r):function(e){var t,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:document;return e&&(t=n.getElementById(e)),t}(t.getListItemId(e));o&&(t.focusMenuItem(o),t.scrollToMenuItem(r,o))})),ks(Ns(t),"focusMenuItem",(function(e){e.getElementsByTagName("a")[0].focus()})),ks(Ns(t),"scrollToMenuItem",(function(e,t){if(e&&t){var n=e.offsetHeight,r=e.scrollTop,o=t.offsetTop-e.offsetTop;if(o<r)e.scrollTop=o;else{var a=r+n+e.offsetTop,i=o+t.offsetHeight+e.offsetTop;i>a&&(e.scrollTop=i-n-e.offsetTop)}}})),ks(Ns(t),"toggleOpen",(function(){var e=t.getIsOpen();t.setFocus(),e?t.handleClose():t.handleOpen()})),ks(Ns(t),"renderDefaultMenuContent",(function(e){return o.a.createElement(es,ws({key:"".concat(t.getId(),"-dropdown-list"),checkmark:t.props.checkmark,getListItemId:t.getListItemId,itemRefs:t.saveRefToListItem,itemRenderer:t.getListItemRenderer(),onCancel:t.handleCancel,onSelect:t.handleSelect,options:t.props.options,ref:t.saveRefToList,selectedIndex:t.props.multiple?void 0:t.state.selectedIndex,selectedIndices:t.props.multiple?t.state.selectedIndices:void 0,tooltipMenuItem:t.props.tooltipMenuItem,triggerId:t.getId(),length:t.props.length},e))})),ks(Ns(t),"renderMenuContent",(function(e){var n=[];return o.a.Children.forEach(e,(function(e){if(e&&e.type.displayName===$)n.push(t.renderDefaultMenuContent(e.props));else if(e){var r=o.a.cloneElement(e,{onClick:t.handleClickCustomContent,key:u.a.generate()});n.push(r)}})),0===n.length&&(n=null),n||t.renderDefaultMenuContent()})),ks(Ns(t),"renderDialog",(function(e,n,r){var a,i="bottom",s=!1;t.props.nubbinPosition?(s=!0,i=Bs[t.props.nubbinPosition]):t.props.align&&(i="center"===t.props.align?"bottom":"bottom ".concat(t.props.align));var c=Bs[i].split(" ");a=l()(c.map((function(e){return"slds-dropdown_".concat(e)})));var u=t.props.isInline?"relative":t.props.menuPosition,p={};return"center"!==t.props.align||s||(p.transform="none"),n?o.a.createElement(mn,{align:i,className:l()(t.props.containerClassName),closeOnTabKey:!0,contentsClassName:l()("slds-dropdown","slds-dropdown_".concat(t.props.width),"slds-text-align_left","ignore-react-onclickoutside",t.props.className,a,{"slds-dropdown_inverse":t.props.inverse}),context:t.context,hasNubbin:s,hasStaticAlignment:t.props.hasStaticAlignment,inheritWidthOf:t.props.inheritTargetWidth?"target":"none",offset:t.props.offset,onClose:t.handleClose,onKeyDown:t.handleKeyDown,outsideClickIgnoreClass:r,position:u,style:xs(xs({},p),t.props.menuStyle),onRequestTargetElement:function(){return t.trigger}},t.renderMenuContent(e)):null})),ks(Ns(t),"renderOverlay",(function(e){Ir()(Is)&&Ds?Is(e,Is):t.props.overlay&&e&&!t.overlay&&Ds?(t.overlay=Is,document.querySelector("body").appendChild(t.overlay)):!e&&t.overlay&&t.overlay.parentNode&&(t.overlay.parentNode.removeChild(t.overlay),t.overlay=void 0)})),ds(ee,e,hs),t.generatedId=u.a.generate();var n=t.getCurrentSelectedIndices(e);return t.state=xs({focusedIndex:-1,selectedIndex:-1,selectedIndices:[]},n),t.navigableItems=Ls(e.options),t}return t=i,(n=[{key:"componentDidUpdate",value:function(e){if(e.value!==this.props.value){var t=this.getCurrentSelectedIndices(e);this.setState(t)}e.isOpen!==this.props.isOpen&&this.setFocus(),Ot()(e.options,this.props.options)||(this.navigableItems=Ls(e.options))}},{key:"componentWillUnmount",value:function(){Rs===this&&(Rs=void 0),this.isUnmounting=!0,this.renderOverlay(!1)}},{key:"render",value:function(){var e=fs,t={},n=[];o.a.Children.forEach(this.props.children,(function(r){r&&r.type.displayName===te?(t=r.props,e=r.type):r&&n.push(r)})),0===n.length&&(n=null);var r="ignore-click-".concat(this.getId()),a=!this.props.disabled&&this.getIsOpen()&&!!this.trigger;return this.renderOverlay(a),o.a.createElement(e,ws({"aria-haspopup":!0,assistiveText:this.props.assistiveText,className:l()(r,this.props.buttonClassName),disabled:this.props.disabled,hint:this.props.hint,iconCategory:this.props.iconCategory,iconName:this.props.iconName,iconPosition:this.props.iconPosition,iconSize:this.props.iconSize,iconVariant:this.props.iconVariant,id:this.getId(),inverse:this.props.buttonInverse,isOpen:a,label:this.props.label,menu:this.renderDialog(n,a,r),onBlur:this.props.onBlur,onClick:"click"===this.props.openOn||"hybrid"===this.props.openOn?this.handleClick:this.props.onClick,onFocus:"hover"===this.props.openOn?this.handleFocus:null,onKeyDown:this.handleKeyDown,onMouseDown:this.props.onMouseDown,onMouseEnter:"hover"===this.props.openOn||"hybrid"===this.props.openOn?this.handleMouseEnter:null,onMouseLeave:"hover"===this.props.openOn||"hybrid"===this.props.openOn?this.handleMouseLeave:null,openOn:this.props.openOn,ref:this.saveRefToTriggerContainer,style:this.props.style,tabIndex:this.props.tabIndex||(a?"-1":"0"),tooltip:this.props.tooltip,triggerClassName:this.props.triggerClassName,triggerRef:this.saveRefToTrigger,variant:this.props.buttonVariant},t))}}])&&Es(t.prototype,n),r&&Es(t,r),i}(o.a.Component);ks(Ms,"displayName",ee),Ms.contextTypes={iconPath:i.a.string},Ms.propTypes=Fs,Ms.defaultProps={align:"left",hoverCloseDelay:300,length:"5",menuPosition:"absolute",openOn:"click",width:"medium",inverse:!1};var qs=Ms,Hs=Ci(qs);function Ks(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function Ws(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?Ks(Object(n),!0).forEach((function(t){Vs(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Ks(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function Vs(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var Us={assistiveText:i.a.shape({label:i.a.string}),id:i.a.string,overflowDropdownMenu:i.a.node,styleContainer:i.a.object,trail:i.a.array.isRequired},zs={assistiveText:{label:"Breadcrumbs"}},Gs=function(e){yi(b,e,gi);var t=e.overflowDropdownMenu,n=e.trail,r="string"==typeof e.assistiveText?e.assistiveText:Ws(Ws({},zs.assistiveText),e.assistiveText).label;return o.a.createElement("nav",{role:"navigation","aria-label":r,style:e.styleContainer},o.a.createElement("ol",{className:"slds-breadcrumb slds-list_horizontal"},t&&function(e,t){var n=Ws(Ws({},e.props),{},{id:"".concat(t.id,"-dropdown"),iconCategory:"utility",iconName:"threedots",iconVariant:"bare",threedots:!0});return o.a.createElement("li",{className:"slds-breadcrumb__item"},o.a.createElement(Hs,n))}(t,e),n.map((function(e,t){return o.a.createElement("li",{key:t,className:"slds-breadcrumb__item"},e)}))))};Gs.displayName=b,Gs.propTypes=Us,Gs.defaultProps=zs;var Ys=Gs;function Qs(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function Js(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?Qs(Object(n),!0).forEach((function(t){Xs(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Qs(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function Xs(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var $s={assistiveText:i.a.shape({backIcon:i.a.string,helpIcon:i.a.string,icon:i.a.string}),children:i.a.node,className:i.a.oneOfType([i.a.array,i.a.object,i.a.string]),events:i.a.shape({onClickBack:i.a.func,onClickHelp:i.a.func}),iconCategory:i.a.string,iconClassName:i.a.oneOfType([i.a.array,i.a.object,i.a.string]),iconName:i.a.string,iconPath:i.a.string,labels:i.a.shape({back:i.a.string,help:i.a.string,pageType:i.a.string,title:i.a.string}),style:i.a.object},Zs={assistiveText:{backIcon:"Back",helpIcon:"Help",icon:"Builder"},iconCategory:"utility",iconName:"builder",labels:{back:"Back",help:"Help",pageType:"Page Type",title:"App Name"}},el=function(e){var t,n,r,a,i,s=Js(Js({},Zs.assistiveText),e.assistiveText),c=Js(Js({},{}),e.events),u=Js(Js({},Zs.labels),e.labels),p=[];return o.a.Children.forEach(e.children,(function(e){if(e)switch(e.type.displayName){case g:t=e;break;case _:n=e;break;case y:p.push(e)}})),e.iconPath?i=e.iconPath:(r=e.iconCategory,a=e.iconName),o.a.createElement("div",{style:{position:"relative",height:"100px"}},o.a.createElement("div",{className:l()("slds-builder-header_container",e.className),style:e.style},o.a.createElement("header",{className:"slds-builder-header"},o.a.createElement("div",{className:"slds-builder-header__item"},o.a.createElement("div",{className:"slds-builder-header__item-label slds-media slds-media_center"},o.a.createElement("div",{className:"slds-media__figure"},o.a.createElement(jn,{assistiveText:{label:s.icon},category:r,containerClassName:l()("slds-icon_container","slds-icon-utility-builder","slds-current-color",e.iconClassName),name:a,path:i,size:"x-small"})),o.a.createElement("div",{className:"slds-media__body"},u.title))),t,p.length>0?p:o.a.createElement("div",{className:"slds-builder-header__item slds-has-flexi-truncate"},o.a.createElement("h1",{className:"slds-builder-header__item-label"},o.a.createElement("span",{className:"slds-truncate",title:u.pageType},u.pageType))),o.a.createElement("div",{className:"slds-builder-header__item slds-builder-header__utilities"},o.a.createElement("div",{className:"slds-builder-header__utilities-item"},o.a.createElement("a",{href:"javascript:void(0);",className:"slds-builder-header__item-action slds-media slds-media_center",onClick:c.onClickBack},o.a.createElement("div",{className:"slds-media__figure"},o.a.createElement(jn,{assistiveText:{label:s.backIcon},category:"utility",containerClassName:"slds-icon_container slds-icon-utility-settings slds-current-color",name:"back",size:"x-small"})),o.a.createElement("div",{className:"slds-media__body"},u.back))),o.a.createElement("div",{className:"slds-builder-header__utilities-item"},o.a.createElement("a",{href:"javascript:void(0);",className:"slds-builder-header__item-action slds-media slds-media_center",onClick:c.onClickHelp},o.a.createElement("div",{className:"slds-media__figure"},o.a.createElement(jn,{assistiveText:{label:s.helpIcon},category:"utility",containerClassName:"slds-icon_container slds-icon-utility-settings slds-current-color",name:"help",size:"x-small"})),o.a.createElement("div",{className:"slds-media__body"},u.help))))),n))};el.displayName="SLDSBuilderHeader",el.propTypes=$s,el.defaultProps=Zs;var tl=el,nl={children:i.a.node},rl=function(e){return o.a.createElement("div",{className:"slds-builder-header__item",style:{width:"100%"}},o.a.createElement("div",{className:"slds-builder-header__item-label"},e.children))};rl.displayName=y,rl.propTypes=nl;var ol=rl,al={children:i.a.node},il=function(e){return o.a.createElement("nav",{className:"slds-builder-header__item slds-builder-header__nav"},o.a.createElement("ul",{className:"slds-builder-header__nav-list"},o.a.Children.map(e.children,(function(e){return e.type.displayName===O||e.type.displayName===v?e:null}))))};il.displayName=g,il.propTypes=al;var sl=il;function ll(e,t){if(null==e)return{};var n,r,o=function(e,t){if(null==e)return{};var n,r,o={},a=Object.keys(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)>=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}var cl=qs.propTypes,ul=function(e){var t=e.iconCategory,n=e.iconName,r=e.label,a=e.assistiveText,i=ll(e,["iconCategory","iconName","label","assistiveText"]);return o.a.createElement("li",{className:"slds-builder-header__nav-item"},o.a.createElement(Hs,i,o.a.createElement(fs,null,o.a.createElement(or,{className:"slds-builder-header__item-action slds-media slds-media_center",variant:"base"},o.a.createElement("span",{className:"slds-media__figure"},o.a.createElement(jn,{assistiveText:{label:a&&a.icon},category:t,containerClassName:"slds-icon_container slds-icon-utility-page slds-current-color",name:n,size:"x-small"})),o.a.createElement("span",{className:"slds-media__body"},o.a.createElement("span",{className:"slds-truncate",title:r},r),o.a.createElement(jn,{category:"utility",containerClassName:"slds-icon_container slds-icon-utility-chevrondown slds-current-color slds-m-left_small",name:"chevrondown",size:"x-small"}))))))};ul.displayName=v,ul.propTypes=cl;var pl=ul;function fl(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function dl(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?fl(Object(n),!0).forEach((function(t){hl(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):fl(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function hl(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var ml={assistiveText:i.a.shape({icon:i.a.string}),iconCategory:i.a.oneOf(["action","custom","doctype","standard","utility"]),iconName:i.a.string,iconPath:i.a.string,label:i.a.string,onClick:i.a.func},bl={},yl=function(e){var t=dl(dl({},bl),e.assistiveText);return o.a.createElement("li",{className:"slds-builder-header__nav-item"},o.a.createElement("a",{className:"slds-builder-header__item-action slds-media slds-media_center",href:"javascript:void(0)",onClick:e.onClick},o.a.createElement("span",{className:"slds-media__figure"},o.a.createElement(jn,{assistiveText:{label:t.icon},category:e.iconCategory,containerClassName:"slds-icon_container slds-icon-utility-settings slds-current-color",name:e.iconName,path:e.iconPath,size:"x-small"})),o.a.createElement("span",{className:"slds-media__body"},o.a.createElement("span",{className:"slds-truncate",title:e.label},e.label))))};yl.displayName=O,yl.propTypes=ml;var gl=yl;function vl(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function Ol(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?vl(Object(n),!0).forEach((function(t){_l(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):vl(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function _l(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var Sl={assistiveText:i.a.shape({actions:i.a.string}),children:i.a.node,onRenderActions:i.a.func},xl={assistiveText:{actions:"Actions"}},wl=function(e){var t=Ol(Ol({},xl.assistiveText),e.assistiveText);return o.a.createElement("div",{className:"slds-builder-toolbar",role:"toolbar"},o.a.Children.map(e.children,(function(e){return e.type.displayName===x?o.a.createElement("div",{className:"slds-builder-toolbar__item-group","aria-label":e.props.label},e):null})),o.a.createElement("div",{className:"slds-builder-toolbar__actions","aria-label":t.actions},e.onRenderActions&&e.onRenderActions()))};wl.displayName=_,wl.propTypes=Sl,wl.defaultProps=xl;var El=wl;function jl(e){return(jl="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function Cl(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function Pl(e,t){return(Pl=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function Nl(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=kl(e);if(t){var o=kl(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return Tl(this,n)}}function Tl(e,t){return!t||"object"!==jl(t)&&"function"!=typeof t?function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e):t}function kl(e){return(kl=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}var Rl={children:i.a.node.isRequired,className:i.a.oneOfType([i.a.array,i.a.object,i.a.string]),classNameContainer:i.a.oneOfType([i.a.array,i.a.object,i.a.string]),id:i.a.string,labels:i.a.shape({error:i.a.string,label:i.a.string}),variant:i.a.oneOf(["checkbox","list"])},Dl={labels:{}},Il=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&Pl(e,t)}(i,e);var t,n,r,a=Nl(i);function i(e){var t;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,i),(t=a.call(this,e)).generatedId=u.a.generate(),t}return t=i,(n=[{key:"getId",value:function(){return this.props.id||this.generatedId}},{key:"render",value:function(){var e,t=this,n=cr()({},Dl.labels,this.props.labels),r=o.a.Children.count(this.props.children)-1,a=this.props.children;return r>0&&(a=o.a.Children.map(this.props.children,(function(e,t){var n;return t===r&&(n=o.a.cloneElement(e,{triggerClassName:"slds-button_last"})),n||e}))),"checkbox"===this.props.variant?(a=o.a.Children.map(this.props.children,(function(e){var r={variant:"button-group"};return n.error&&(r["aria-describedby"]="button-group-error-".concat(t.getId())),o.a.cloneElement(e,r)})),e=o.a.createElement("div",{className:l()("slds-checkbox_button-group",this.props.className),id:this.getId()},a)):e="list"===this.props.variant?o.a.createElement("ul",{className:l()("slds-button-group-list",this.props.className),id:this.getId()},o.a.Children.map(this.props.children,(function(e){return o.a.createElement("li",null,e)}))):o.a.createElement("div",{className:l()("slds-button-group",this.props.className),id:this.getId(),role:"group"},a),("checkbox"===this.props.variant||this.props.labels.label)&&(e=o.a.createElement("fieldset",{className:l()("slds-form-element",{"slds-has-error":n.error},this.props.classNameContainer)},o.a.createElement("legend",{className:"slds-form-element__legend slds-form-element__label"},this.props.labels.label),o.a.createElement("div",{className:"slds-form-element__control"},e,n.error?o.a.createElement("div",{className:"slds-form-element__help",id:"button-group-error-".concat(this.getId())},n.error):null))),e}}])&&Cl(t.prototype,n),r&&Cl(t,r),i}(o.a.Component);Il.displayName=x,Il.propTypes=Rl,Il.defaultProps=Dl;var Al=Il;var Ll=function(){},Bl=n(39);function Fl(e){return(Fl="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function Ml(){return(Ml=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}function ql(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function Hl(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?ql(Object(n),!0).forEach((function(t){Yl(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):ql(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function Kl(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function Wl(e,t){return(Wl=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function Vl(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=Gl(e);if(t){var o=Gl(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return Ul(this,n)}}function Ul(e,t){return!t||"object"!==Fl(t)&&"function"!=typeof t?zl(e):t}function zl(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function Gl(e){return(Gl=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function Yl(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var Ql={active:i.a.bool,assistiveText:i.a.shape({icon:i.a.string}),disabled:i.a.bool,icon:i.a.node,onBlur:i.a.func,onClick:i.a.func,onFocus:i.a.func,onKeyDown:i.a.func,onKeyPress:i.a.func,onKeyUp:i.a.func,onMouseDown:i.a.func,onMouseEnter:i.a.func,responsive:i.a.bool,stateOne:i.a.object,stateTwo:i.a.object,stateThree:i.a.object,tabIndex:i.a.string,variant:i.a.oneOf(["base","neutral","brand","destructive","icon","icon-filled"])},Jl={assistiveText:{icon:""},disabled:!1,iconSize:"medium",responsive:!1,stateOne:{iconName:"add",label:"Follow"},stateTwo:{iconName:"check",label:"Following"},stateThree:{iconName:"close",label:"Unfollow"}},Xl=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&Wl(e,t)}(i,e);var t,n,r,a=Vl(i);function i(e){var t;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,i),Yl(zl(t=a.call(this,e)),"handleBlur",(function(e){t.props.onBlur&&t.props.onBlur(e),e.currentTarget.blur()})),Yl(zl(t),"handleClick",(function(e){Ir()(t.props.onClick)&&t.props.onClick(e),"boolean"!=typeof t.props.active&&t.setState((function(e){return{active:!e.active}}))})),t.state={active:!1},Ll(w,e,Bl),t}return t=i,(n=[{key:"getClassName",value:function(e){return l()(this.props.className,"slds-button",{"slds-button_neutral":"icon"!==this.props.variant&&"icon-filled"!==this.props.variant,"slds-button_inverse":"inverse"===this.props.variant,"slds-not-selected":!e,"slds-is-selected":e,"slds-max-small-button_stretch":this.props.responsive,"slds-button_icon-border":"icon"===this.props.variant,"slds-button_icon-border-filled":"icon-filled"===this.props.variant})}},{key:"render",value:function(){var e=this.props,t=e.active,n=e.disabled,r=e.icon,a=e.iconName,i=e.iconSize,s=e.id,l=e.onFocus,c=e.onKeyDown,u=e.onKeyPress,p=e.onKeyUp,f=e.onMouseDown,d=e.onMouseEnter,h=e.stateOne,m=e.stateTwo,b=e.stateThree,y=e.tabIndex,g=e.variant,v={disabled:n,size:"small",className:"slds-button__icon_stateful"},O="string"==typeof this.props.assistiveText?this.props.assistiveText:Hl(Hl({},Jl.assistiveText),this.props.assistiveText).icon,_="boolean"==typeof t?t:this.state.active,S=Kn(this.props);return"icon"===g||"icon-filled"===g?(0===Object.keys(S).length&&(S={"aria-live":"polite"}),o.a.createElement("button",Ml({},S,{className:this.getClassName(_),disabled:n,id:s,onBlur:this.handleBlur,onClick:this.handleClick,onFocus:l,onKeyDown:c,onKeyPress:u,onKeyUp:p,onMouseDown:f,onMouseEnter:d,onMouseLeave:this.handleBlur,tabIndex:y,type:"button"}),r?o.a.cloneElement(r,Hl(Hl({},v),r.props)):o.a.createElement(mt,{disabled:n,name:a,size:i,className:"slds-button__icon_stateful"}),O?o.a.createElement("span",{className:"slds-assistive-text"},O):null)):(v.position="left",0===Object.keys(S).length&&(S={"aria-live":"assertive"}),o.a.createElement("button",Ml({},S,{className:this.getClassName(_),disabled:n,id:s,onBlur:this.handleBlur,onClick:this.handleClick,onFocus:l,onKeyDown:c,onKeyPress:u,onKeyUp:p,onMouseEnter:d,onMouseLeave:this.handleBlur,tabIndex:y,type:"button"}),o.a.createElement("span",{className:"slds-text-not-selected"},h.icon?o.a.cloneElement(h.icon,Hl(Hl(Hl({},v),h.icon.props),{},{size:"small"})):o.a.createElement(mt,{disabled:n,name:h.iconName,size:"small",position:"left",className:"slds-button__icon_stateful"}),h.label),o.a.createElement("span",{className:"slds-text-selected"},m.icon?o.a.cloneElement(m.icon,Hl(Hl(Hl({},v),m.icon.props),{},{size:"small"})):o.a.createElement(mt,{disabled:n,name:m.iconName,size:"small",position:"left",className:"slds-button__icon_stateful"}),m.label),o.a.createElement("span",{className:"slds-text-selected-focus"},b.icon?o.a.cloneElement(b.icon,Hl(Hl(Hl({},v),b.icon.props),{},{size:"small"})):o.a.createElement(mt,{disabled:n,name:b.iconName,size:"small",position:"left",className:"slds-button__icon_stateful"}),b.label)))}}])&&Kl(t.prototype,n),r&&Kl(t,r),i}(o.a.Component);Xl.displayName=w,Xl.propTypes=Ql,Xl.defaultProps=Jl;var $l=Xl;function Zl(e){return(Zl="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function ec(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function tc(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function nc(e,t){return(nc=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function rc(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=ac(e);if(t){var o=ac(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return oc(this,n)}}function oc(e,t){return!t||"object"!==Zl(t)&&"function"!=typeof t?function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e):t}function ac(e){return(ac=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function ic(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var sc="slds-media",lc="slds-media__figure",cc="slds-media__body",uc=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&nc(e,t)}(i,e);var t,n,r,a=rc(i);function i(){return ec(this,i),a.apply(this,arguments)}return t=i,(n=[{key:"render",value:function(){return o.a.createElement("div",{className:l()(sc,{"slds-media_center":this.props.verticalCenter,"slds-has-flexi-truncate":this.props.canTruncate},this.props.className)},this.props.figure?o.a.createElement("div",{className:lc},this.props.figure," "):null,o.a.createElement("div",{className:cc},this.props.body))}}])&&tc(t.prototype,n),r&&tc(t,r),i}(o.a.Component);ic(uc,"displayName","SLDSMediaObject"),ic(uc,"propTypes",{canTruncate:i.a.bool,className:i.a.oneOfType([i.a.array,i.a.object,i.a.string]),body:i.a.node,figure:i.a.node,verticalCenter:i.a.bool});var pc=uc;function fc(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function dc(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var hc=function(e,t){var n=o.a.cloneElement(e,{id:e.props.id||t});return o.a.createElement("div",{className:"slds-input-has-icon slds-input-has-icon_left slds-size_1-of-3"},n)};hc.displayName="renderFilter";var mc=function(e){var t=null;("string"==typeof e.heading||e.heading instanceof String)&&(t=e.heading);var n,r=o.a.createElement("h2",{id:e.headingId,className:"slds-text-heading_small slds-truncate",title:t},e.heading);n=e.header?o.a.cloneElement(e.header,function(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?fc(Object(n),!0).forEach((function(t){dc(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):fc(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}({figure:e.icon,body:r,verticalCenter:!0,canTruncate:!0},e.header.props)):o.a.createElement(pc,{figure:e.icon,body:r,verticalCenter:!0,canTruncate:!0});var a=!!e.filter||null;return o.a.createElement("div",{className:l()("slds-card__header","slds-grid")},n,e.filter?hc(e.filter,e.filterId):null,o.a.createElement("div",{id:e.headerActionsId,className:l()("slds-no-flex",{"slds-size_1-of-3":a,"slds-text-align_right":a})},e.headerActions))};mc.displayName="SLDSCardHeader",mc.propTypes={filter:i.a.node,filterId:i.a.string,header:i.a.node,headerActions:i.a.node,headerActionsId:i.a.string,heading:i.a.oneOfType([i.a.element,i.a.string]).isRequired,headingId:i.a.string,icon:i.a.node};var bc=mc,yc=function(e){return o.a.createElement("div",{className:l()("slds-card__body",e.className),id:e.id},e.children)};yc.displayName="SLDSCardBody",yc.propTypes={children:i.a.node,className:i.a.oneOfType([i.a.array,i.a.object,i.a.string]),id:i.a.string};var gc=yc,vc=function(e){return o.a.createElement("div",{className:"slds-card__footer"},e.children)};vc.displayName="SLDSCardFooter",vc.propTypes={children:i.a.node};var Oc=vc,_c=function(e){return o.a.createElement("div",{className:"slds-p-horizontal_small"},o.a.createElement("div",{className:"slds-text-align_center slds-m-bottom_x-large"},o.a.createElement("h3",{className:"slds-text-heading_small slds-p-top_large slds-p-bottom_large"},e.heading),e.children))};_c.displayName="SLDSCardEmpty",_c.propTypes={children:i.a.node,heading:i.a.string},_c.defaultProps={heading:"No Related Items"};var Sc=_c,xc="__body",wc="__header-actions",Ec="__heading",jc="__filter-input",Cc=function(e){var t=e.id?e.id+xc:null,n=e.id?e.id+jc:null,r=e.id?e.id+Ec:null,a=e.id?e.id+wc:null,i=e.empty;return!0===i&&(i=o.a.createElement(Sc,{id:e.id,heading:e.heading})),o.a.createElement("article",{id:e.id,className:l()("slds-card",e.className),style:e.style},!e.hasNoHeader&&o.a.createElement(bc,{header:e.header,headingId:r,icon:e.icon,filter:e.filter,filterId:n,heading:e.heading,headerActions:e.headerActions,headerActionsId:a}),i?o.a.createElement(gc,{id:t,className:e.bodyClassName},i):o.a.createElement(gc,{id:t,className:e.bodyClassName},e.children),e.footer?o.a.createElement(Oc,null,e.footer):null)};Cc.displayName="SLDSCard",Cc.defaultProps={heading:"Related Items"},Cc.propTypes={bodyClassName:i.a.oneOfType([i.a.array,i.a.object,i.a.string]),children:i.a.node,className:i.a.oneOfType([i.a.array,i.a.object,i.a.string]),empty:i.a.oneOfType([i.a.bool,i.a.node]),filter:i.a.node,footer:i.a.node,hasNoHeader:i.a.bool,header:i.a.node,heading:i.a.oneOfType([i.a.node,i.a.string]).isRequired,headerActions:i.a.node,icon:i.a.node,id:i.a.string,style:i.a.object};var Pc=Cc;function Nc(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Tc(){return(Tc=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}function kc(e,t){if(null==e)return{};var n,r,o=function(e,t){if(null==e)return{};var n,r,o={},a=Object.keys(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)>=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}var Rc=function(e){var t=e.category,n=e.iconPosition,r=e.name,a=e.path,i=e.onClick,s=e.variant,c=kc(e,["category","iconPosition","name","path","onClick","variant"]),u={combobox:o.a.createElement("span",{className:"slds-icon_container slds-input__icon slds-input__icon_right"},o.a.createElement(pt,Tc({"aria-hidden":!0,category:t,className:l()("slds-icon slds-icon_x-small slds-icon-text-default"),name:r,path:a},c))),base:o.a.createElement(pt,Tc({"aria-hidden":!0,category:t,className:l()("slds-input__icon slds-icon-text-default",Nc({},"slds-input__icon_".concat(n),n)),name:r,path:a},c))};return Ir()(i)?o.a.createElement(or,Tc({className:l()("slds-input__icon",Nc({},"slds-input__icon_".concat(n),n)),iconCategory:t,iconName:r,iconPath:a,onClick:i,variant:"icon"},c)):u[s]};Rc.displayName="SLDSIconInput",Rc.propTypes={category:i.a.string,iconPosition:i.a.oneOf(["left","right"]),name:i.a.string,path:i.a.string,onClick:i.a.func,variant:i.a.oneOf(["base","combobox"])},Rc.defaultProps={category:"utility",variant:"base"};var Dc=Rc;var Ic=function(){},Ac=n(40);function Lc(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function Bc(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?Lc(Object(n),!0).forEach((function(t){Fc(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Lc(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function Fc(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var Mc={assistiveText:i.a.shape({label:i.a.string}),containerClassName:i.a.string,containerStyle:i.a.object,hasContainer:i.a.bool,id:i.a.string,isDelayed:i.a.bool,isInput:i.a.bool,isInline:i.a.bool,size:i.a.oneOf(["xx-small","x-small","small","medium","large"]),variant:i.a.oneOf(["base","brand","inverse"])},qc={assistiveText:{label:"Loading..."},isDelayed:!1,isInline:!1,isInput:!1,hasContainer:!0,size:"medium",variant:"base"},Hc=function(e){Ic(fe,e,Ac);var t=e.containerClassName,n=e.containerStyle,r=e.id,a=e.isDelayed,i=e.isInline,s=e.isInput,c=e.hasContainer,u=e.size,p=e.variant,f="string"==typeof e.assistiveText?e.assistiveText:Bc(Bc({},qc.assistiveText),e.assistiveText).label,d=l()("slds-spinner",Fc({"slds-spinner_inline":i,"slds-input__spinner":s,"slds-spinner_brand":"brand"===p,"slds-spinner_inverse":"inverse"===p,"slds-spinner_delayed":a},"slds-spinner_".concat(u),u)),h=o.a.createElement("div",{"aria-hidden":"false",className:d,id:r,role:"status"},f&&o.a.createElement("span",{className:"slds-assistive-text"},f),o.a.createElement("div",{className:"slds-spinner__dot-a"}),o.a.createElement("div",{className:"slds-spinner__dot-b"}));return c?o.a.createElement("div",{className:l()(t,"slds-spinner_container"),style:n},h):h};Hc.displayName=fe,Hc.propTypes=Mc,Hc.defaultProps=qc;var Kc=Hc;function Wc(){return(Wc=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}function Vc(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function Uc(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?Vc(Object(n),!0).forEach((function(t){zc(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Vc(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function zc(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Gc(e,t){if(null==e)return{};var n,r,o=function(e,t){if(null==e)return{};var n,r,o={},a=Object.keys(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)>=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}var Yc="counter",Qc={"aria-activedescendant":i.a.string,"aria-autocomplete":i.a.string,"aria-controls":i.a.string,"aria-describedby":i.a.string,"aria-expanded":i.a.bool,"aria-haspopup":i.a.oneOfType([i.a.bool,i.a.string]),"aria-labelledby":i.a.string,"aria-owns":i.a.string,"aria-required":i.a.bool,assistiveText:i.a.shape({spinner:i.a.string}),autoComplete:i.a.string,className:i.a.oneOfType([i.a.array,i.a.object,i.a.string]),containerClassName:i.a.oneOfType([i.a.array,i.a.object,i.a.string]),containerProps:i.a.object,disabled:i.a.bool,fixedTextLeft:i.a.oneOfType([i.a.node,i.a.string]),fixedTextRight:i.a.oneOfType([i.a.node,i.a.string]),hasSpinner:i.a.bool,iconLeft:i.a.node,iconRight:i.a.node,id:i.a.string.isRequired,inputRef:i.a.func,isStatic:i.a.bool,label:i.a.string,onBlur:i.a.func,onChange:i.a.func,onClick:i.a.func,onFocus:i.a.func,onInput:i.a.func,onInvalid:i.a.func,onKeyDown:i.a.func,onKeyPress:i.a.func,onKeyUp:i.a.func,onSelect:i.a.func,onSubmit:i.a.func,placeholder:i.a.string,minLength:i.a.string,minValue:i.a.number,maxLength:i.a.string,maxValue:i.a.number,name:i.a.string,readOnly:i.a.bool,required:i.a.bool,role:i.a.string,step:i.a.number,style:i.a.object,tabIndex:i.a.string,type:i.a.oneOf(["text","password","datetime","datetime-local","date","month","time","week","number","email","url","search","tel","color"]),value:i.a.oneOfType([i.a.number,i.a.string]),variant:i.a.oneOf(["base",Yc]),defaultValue:i.a.oneOfType([i.a.number,i.a.string])},Jc={assistiveText:{spinner:"Loading ..."},type:"text"},Xc=function(e){var t=Kn(e);t["aria-describedby"]=e.hasSpinner?"loading-status-icon ".concat(e["aria-describedby"]):e["aria-describedby"];var n=e.containerProps,r=n.className,a=Gc(n,["className"]),i=Uc(Uc({},Jc.assistiveText),e.assistiveText);return o.a.createElement("div",Wc({className:l()(r,{"slds-input-has-icon":e.variant!==Yc&&(e.iconLeft||e.iconRight),"slds-input-has-icon_left":e.iconLeft&&!e.iconRight,"slds-input-has-icon_right":!e.iconLeft&&e.iconRight,"slds-input-has-icon_left-right":e.variant!==Yc&&e.iconLeft&&e.iconRight,"slds-input-has-fixed-addon":e.fixedTextLeft||e.fixedTextRight,"slds-has-divider_bottom":e.isStatic})},a),e.iconLeft&&e.iconLeft,e.fixedTextLeft&&o.a.createElement("span",{className:"slds-form-element__addon"},e.fixedTextLeft),!e.isStatic&&o.a.createElement("input",Wc({autoComplete:e.autoComplete,className:l()("slds-input",{"slds-text-align_left":e.variant===Yc&&e.readOnly},e.className),disabled:e.disabled,id:e.id,min:e.minValue,minLength:e.minLength,max:e.maxValue,maxLength:e.maxLength,name:e.name,onBlur:e.onBlur,onChange:e.onChange,onClick:e.onClick,onFocus:e.onFocus,onInput:e.onInput,onInvalid:e.onInvalid,onKeyDown:e.onKeyDown,onKeyPress:e.onKeyPress,onKeyUp:e.onKeyUp,onSelect:e.onSelect,onSubmit:e.onSubmit,placeholder:e.placeholder,readOnly:e.readOnly,ref:e.inputRef,required:e.required,role:e.role,step:e.step,style:e.style,tabIndex:e.tabIndex,type:e.type},t,void 0!==e.value?{value:e.value}:{defaultValue:e.defaultValue})),e.hasSpinner?o.a.createElement("div",{className:"slds-input__icon-group slds-input__icon-group_right"},o.a.createElement(Kc,{assistiveText:{label:i.spinner},id:"loading-status-icon",isInput:!0,size:"x-small",variant:"brand"}),e.iconRight&&e.iconRight):e.iconRight&&e.iconRight,e.fixedTextRight&&o.a.createElement("span",{className:"slds-form-element__addon"},e.fixedTextRight),e.isStatic&&o.a.createElement("span",{className:l()("slds-form-element__static","slds-grid",{"slds-grid_align-spread":e.variant!==Yc}),onClick:e.onClick},e.value,e.inlineEditTrigger))};Xc.displayName="SLDSInnerInput",Xc.propTypes=Qc,Xc.defaultProps=Jc;var $c=Xc,Zc={assistiveText:i.a.object,className:i.a.oneOfType([i.a.array,i.a.object,i.a.string]),htmlFor:i.a.string,label:i.a.string,required:i.a.bool,variant:i.a.oneOf(["base","static"])},eu=function(e){var t=e.label||e.assistiveText&&e.assistiveText.label,n={base:o.a.createElement("label",{className:l()("slds-form-element__label",{"slds-assistive-text":e.assistiveText&&!e.label},e.className),htmlFor:e.htmlFor},e.required&&o.a.createElement("abbr",{className:"slds-required",title:"required"},"*"),t),static:o.a.createElement("span",{className:l()("slds-form-element__label",e.className)},t)};return t?n[e.variant]:null};eu.displayName="Label",eu.propTypes=Zc,eu.defaultProps={variant:"base"};var tu=eu;var nu=function(){},ru=n(21),ou={removeUndefined:function(e){var t={};return Object.keys(e).forEach((function(n){void 0!==e[n]&&(t[n]=e[n])})),t}};function au(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function iu(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?au(Object(n),!0).forEach((function(t){su(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):au(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function su(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var lu={assistiveText:i.a.shape({triggerLearnMoreIcon:i.a.string}),fieldLevelHelpTooltip:i.a.node.isRequired},cu={triggerClassName:"slds-form-element__icon",triggerStyle:{position:"static"},variant:"learnMore"},uu=function(e){var t=e.fieldLevelHelpTooltip,n=e.assistiveText,r=void 0===n?{}:n;return t?o.a.createElement(Hn,iu(iu(iu({},cu),t.props),{},{assistiveText:iu(iu({},t.props.assistiveText),ou.removeUndefined(r))})):null};uu.propTypes=lu,uu.displayName="FieldLevelHelpTooltip";var pu=uu;function fu(e){return(fu="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function du(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function hu(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?du(Object(n),!0).forEach((function(t){Su(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):du(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function mu(){return(mu=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}function bu(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function yu(e,t){return(yu=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function gu(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=_u(e);if(t){var o=_u(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return vu(this,n)}}function vu(e,t){return!t||"object"!==fu(t)&&"function"!=typeof t?Ou(e):t}function Ou(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function _u(e){return(_u=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function Su(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var xu="counter",wu="Decrement",Eu="Increment",ju={assistiveText:{decrement:"".concat(wu," ").concat(xu),increment:"".concat(Eu," ").concat(xu)},type:"text"},Cu=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&yu(e,t)}(i,e);var t,n,r,a=gu(i);function i(e){var t;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,i),Su(Ou(t=a.call(this,e)),"getId",(function(){return t.props.id||t.generatedId})),Su(Ou(t),"getErrorId",(function(){return t.props["aria-describedby"]||t.generatedErrorId})),Su(Ou(t),"getValueAsNumber",(function(){var e=0;return void 0!==t.props.value?e=Number(t.props.value):t.inputRef&&(e=Number(t.inputRef.value)),e})),Su(Ou(t),"getCounterButtonIcon",(function(e){var n=t.getValueAsNumber(),r=!1;return(t.props.disabled||e===Eu&&void 0!==t.props.maxValue&&n>=t.props.maxValue||e===wu&&void 0!==t.props.minValue&&n<=t.props.minValue)&&(r=!0),o.a.createElement(or,{assistiveText:{icon:t.props.assistiveText[e.toLowerCase()]},className:l()("slds-button_icon-small","slds-input__button_".concat(e.toLowerCase())),disabled:r,iconCategory:"utility",iconName:e===wu?"ban":"new",onKeyDown:function(n){13===n.keyCode&&t.performStep(e,n)},onKeyUp:t.stopStepping,onMouseDown:function(n){t.performStep(e,n)},onMouseLeave:t.stopStepping,onMouseUp:t.stopStepping,variant:"icon"})})),Su(Ou(t),"getIconRender",(function(e,n){var r,a={assistiveText:{icon:t.props[n]&&t.props[n].props.assistiveText||t.props.iconAssistiveText},category:t.props[n]&&t.props[n].props.category||t.props.iconCategory,name:t.props[n]&&t.props[n].props.name||t.props.iconName,onClick:t.props[n]&&t.props[n].props.onClick||t.props.onIconClick};return t.props[n]&&e&&t.props[n]?r=o.a.cloneElement(t.props[n],{iconPosition:"".concat(e)}):a.name&&(r=o.a.createElement(Dc,mu({iconPosition:e},a))),r})),Su(Ou(t),"setInputRef",(function(e){t.inputRef=e,t.props.inputRef&&t.props.inputRef(e)})),Su(Ou(t),"handleChange",(function(e){if(t.props.onChange){var n={value:e.target.value};t.props.variant===xu&&(n.number=Number(n.value)),t.props.onChange(e,n)}})),Su(Ou(t),"performStep",(function(e,n){clearTimeout(t.stepping.timeout);var r=t.props.maxValue,o=t.props.minValue,a=void 0!==t.props.step?Number(t.props.step):1,i=t.getValueAsNumber(),s=!1;if(e===wu&&void 0!==r&&i>r)i=Number(r),s=!0;else if(e===Eu&&void 0!==o&&i<o)i=Number(o),s=!0;else{var l=String(a).search(/\./)>=0?String(a).split(".")[1].length:0,c=0;void 0!==o&&(c=(i-o)%a),i=c>0?e===wu?i-c:i+(a-c):e===wu?i-a:i+a,i=Number(i.toFixed(l)),void 0!==r&&i>r||void 0!==o&&i<o||(s=!0)}s&&(void 0===t.props.value&&t.inputRef?(t.inputRef.value=String(i),t.forceUpdate()):t.props.onChange&&t.props.onChange(n,{number:i,value:String(i)})),e===Eu&&void 0!==r&&i>=r||e===wu&&void 0!==o&&i<=o?t.stopStepping():t.stepping.timeout=setTimeout((function(){t.stepping.currentDelay=t.stepping.speedDelay,t.performStep(e)}),t.stepping.currentDelay)})),Su(Ou(t),"stopStepping",(function(){clearTimeout(t.stepping.timeout),t.stepping.currentDelay=t.stepping.initialDelay})),t.inputRef=null,t.stepping={currentDelay:500,initialDelay:500,speedDelay:75,timeout:{}},nu(B,e,ru),t.generatedId=u.a.generate(),e.errorText&&(t.generatedErrorId=u.a.generate()),t}return t=i,(n=[{key:"render",value:function(){var e=hu(hu({},ju.assistiveText),this.props.assistiveText),t=this.props.variant===xu?this.setInputRef:this.props.inputRef,n=null,r=null,a=this.props.label||e&&e.label;return this.props.iconLeft||("left"===this.props.iconPosition||void 0===this.props.iconPosition)&&this.props.iconName?n=this.getIconRender("left","iconLeft"):this.props.variant!==xu||this.props.isStatic||this.props.readOnly||(n=this.getCounterButtonIcon(wu)),this.props.iconRight||"right"===this.props.iconPosition&&this.props.iconName?r=this.getIconRender("right","iconRight"):this.props.variant!==xu||this.props.isStatic||this.props.readOnly||(r=this.getCounterButtonIcon(Eu)),o.a.createElement("div",{className:l()("slds-form-element",{"slds-has-error":this.props.errorText},this.props.className),style:this.props.styleContainer},o.a.createElement(tu,{assistiveText:e,htmlFor:this.props.isStatic?void 0:this.getId(),label:this.props.label,required:this.props.required,variant:this.props.isStatic?"static":"base"}),this.props.fieldLevelHelpTooltip&&a?o.a.createElement(pu,{assistiveText:{triggerLearnMoreIcon:e.fieldLevelHelpButton},fieldLevelHelpTooltip:this.props.fieldLevelHelpTooltip}):null,o.a.createElement($c,{"aria-activedescendant":this.props["aria-activedescendant"],"aria-autocomplete":this.props["aria-autocomplete"],"aria-controls":this.props["aria-controls"],"aria-labelledby":this.props["aria-labelledby"],"aria-describedby":this.getErrorId(),"aria-expanded":this.props["aria-expanded"],"aria-owns":this.props["aria-owns"],"aria-required":this.props["aria-required"],autoComplete:this.props.autoComplete,className:l()({"slds-input_counter":this.props.variant===xu,"slds-p-horizontal_none":this.props.variant===xu&&this.props.readOnly}),containerProps:{className:"slds-form-element__control"},defaultValue:this.props.defaultValue,disabled:this.props.disabled,fixedTextLeft:this.props.fixedTextLeft,fixedTextRight:this.props.fixedTextRight,hasSpinner:this.props.hasSpinner,id:this.getId(),iconLeft:n,iconRight:r,inlineEditTrigger:this.props.inlineEditTrigger,isStatic:this.props.isStatic,minLength:this.props.minLength,minValue:this.props.minValue,maxLength:this.props.maxLength,maxValue:this.props.maxValue,name:this.props.name,onBlur:this.props.onBlur,onChange:this.handleChange,onClick:this.props.onClick,onFocus:this.props.onFocus,onInput:this.props.onInput,onInvalid:this.props.onInvalid,onKeyDown:this.props.onKeyDown,onKeyPress:this.props.onKeyPress,onKeyUp:this.props.onKeyUp,onSelect:this.props.onSelect,onSubmit:this.props.onSubmit,placeholder:this.props.placeholder,inputRef:t,readOnly:this.props.readOnly,required:this.props.required,role:this.props.role,assistiveText:this.props.assistiveText,type:this.props.variant===xu?"number":this.props.type,value:this.props.value,variant:this.props.variant,step:this.props.step,style:this.props.styleInput}),this.props.inlineHelpText&&o.a.createElement("div",{className:"slds-form-element__help"},this.props.inlineHelpText),this.props.errorText&&o.a.createElement("div",{id:this.getErrorId(),className:"slds-form-element__help"},this.props.errorText),this.props.children)}}])&&bu(t.prototype,n),r&&bu(t,r),i}(o.a.Component);Su(Cu,"displayName",B),Su(Cu,"propTypes",{"aria-activedescendant":i.a.string,"aria-autocomplete":i.a.string,"aria-controls":i.a.string,"aria-describedby":i.a.string,"aria-expanded":i.a.bool,"aria-haspopup":i.a.bool,"aria-labelledby":i.a.string,"aria-owns":i.a.string,"aria-required":i.a.bool,assistiveText:i.a.shape({label:i.a.string,spinner:i.a.string}),autoComplete:i.a.string,children:i.a.node,className:i.a.oneOfType([i.a.array,i.a.object,i.a.string]),defaultValue:i.a.oneOfType([i.a.number,i.a.string]),disabled:i.a.bool,errorText:i.a.oneOfType([i.a.node,i.a.string]),fieldLevelHelpTooltip:i.a.node,fixedTextLeft:i.a.oneOfType([i.a.node,i.a.string]),fixedTextRight:i.a.oneOfType([i.a.node,i.a.string]),hasSpinner:i.a.bool,iconLeft:i.a.node,iconRight:i.a.node,id:i.a.string,inlineHelpText:i.a.oneOfType([i.a.node,i.a.string]),inputRef:i.a.func,isStatic:i.a.bool,label:i.a.string,onBlur:i.a.func,onChange:i.a.func,onClick:i.a.func,onFocus:i.a.func,onInput:i.a.func,onInvalid:i.a.func,onKeyDown:i.a.func,onKeyPress:i.a.func,onKeyUp:i.a.func,onSelect:i.a.func,onSubmit:i.a.func,placeholder:i.a.string,minLength:i.a.string,minValue:i.a.number,maxLength:i.a.string,maxValue:i.a.number,name:i.a.string,readOnly:i.a.bool,required:i.a.bool,role:i.a.string,step:i.a.number,styleInput:i.a.object,styleContainer:i.a.object,type:i.a.oneOf(["text","password","datetime","datetime-local","date","month","time","week","number","email","url","search","tel","color"]),value:i.a.oneOfType([i.a.number,i.a.string]),variant:i.a.oneOf(["base",xu])}),Su(Cu,"defaultProps",ju);var Pu=Cu;function Nu(){return(Nu=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}function Tu(e,t){if(null==e)return{};var n,r,o=function(e,t){if(null==e)return{};var n,r,o={},a=Object.keys(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)>=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}var ku=function(e){var t=e.id,n=e.placeholder,r=e.onChange,a=Tu(e,["id","placeholder","onChange"]);return o.a.createElement(Pu,Nu({},a,{assistiveText:{label:n},iconLeft:o.a.createElement(Dc,{name:"search",category:"utility"}),id:t,onChange:r,placeholder:n}))};ku.displayName="SLDSCardFilter",ku.propTypes={id:i.a.string,onChange:i.a.func,placeholder:i.a.string.isRequired},ku.defaultProps={placeholder:"Find in List"};var Ru=ku;function Du(e){return(Du="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function Iu(e){return function(e){if(Array.isArray(e))return Au(e)}(e)||function(e){if("undefined"!=typeof Symbol&&Symbol.iterator in Object(e))return Array.from(e)}(e)||function(e,t){if(!e)return;if("string"==typeof e)return Au(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return Au(e,t)}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Au(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function Lu(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function Bu(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function Fu(e,t){return(Fu=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function Mu(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=Ku(e);if(t){var o=Ku(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return qu(this,n)}}function qu(e,t){return!t||"object"!==Du(t)&&"function"!=typeof t?Hu(e):t}function Hu(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function Ku(e){return(Ku=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function Wu(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var Vu=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&Fu(e,t)}(i,e);var t,n,r,a=Mu(i);function i(){var e;Lu(this,i);for(var t=arguments.length,n=new Array(t),r=0;r<t;r++)n[r]=arguments[r];return Wu(Hu(e=a.call.apply(a,[this].concat(n))),"onFocus",(function(t){e["indicator".concat(e.props.currentIndex)].focus(),e.props.onFocus&&e.props.onFocus(t)})),e}return t=i,(n=[{key:"componentDidUpdate",value:function(){this.props.hasFocus&&this["indicator".concat(this.props.currentIndex)]&&this["indicator".concat(this.props.currentIndex)].focus()}},{key:"render",value:function(){var e=this,t=this.props;return o.a.createElement("ul",{className:"slds-carousel__indicators slds-col slds-text-align_center",role:"tablist"},Iu(Array(t.noOfIndicators).keys()).map((function(n){var r=n===t.currentIndex,a=l()("slds-carousel__indicator-action",t.className,{"slds-is-active":r}),i="".concat(n),s="".concat(n),c="";if(t.items&&t.items.length>0){c=t.items[n].id;for(var u=n*t.itemsPerPanel,p="",f=u;f<u+t.itemsPerPanel;f+=1)t.items[f]&&t.items[f].heading&&(p=p?"".concat(p,", "):"",p+=t.items[f].heading);p&&(i=p,s=p)}return o.a.createElement("li",{className:"slds-carousel__indicator slds-m-horizontal_xx-small",key:n,role:"presentation",style:{margin:0,padding:"0 5px"}},o.a.createElement("a",{ref:function(t){e["indicator".concat(n)]=t},id:"indicator-id-".concat(t.carouselId,"-").concat(n),className:a,role:"tab",tabIndex:r?"0":"-1","aria-selected":r,"aria-controls":t.getPanelId({carouselId:t.carouselId,itemId:c}),title:s,onBlur:t.onBlur,onClick:function(e){return t.onClick(e,n)},onFocus:e.onFocus},o.a.createElement("span",{className:"slds-assistive-text"},i)))})))}}])&&Bu(t.prototype,n),r&&Bu(t,r),i}(o.a.Component);Vu.displayName="SLDSCarouselIndicators",Vu.defaultProps={currentIndex:0},Vu.propTypes={carouselId:i.a.string,className:i.a.oneOfType([i.a.array,i.a.object,i.a.string]),currentIndex:i.a.number,hasFocus:i.a.bool,items:i.a.array,itemsPerPanel:i.a.number,noOfIndicators:i.a.number.isRequired,onBlur:i.a.func,onClick:i.a.func,onFocus:i.a.func};var Uu=Vu;function zu(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function Gu(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?zu(Object(n),!0).forEach((function(t){Yu(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):zu(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function Yu(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var Qu=function(e){return o.a.createElement("div",{className:"slds-carousel__col-center slds-is-absolute",style:Gu(Gu({},e.inlineStyle),{},{margin:"-12px 0 0",top:"50%"})},o.a.createElement(or,{assistiveText:{icon:e.assistiveText},className:"slds-button_icon slds-carousel__button",disabled:e.isDisabled,iconCategory:"utility",iconName:e.iconName,iconVariant:"border-filled",iconSize:"small",onClick:e.onClick,variant:"icon"}))};Qu.displayName="SLDSCarouselNavigators",Qu.propTypes={assistiveText:i.a.string,iconName:i.a.oneOf(["chevronleft","chevronright"]),isDisabled:i.a.bool,inlineStyle:i.a.object,onClick:i.a.func};var Ju=Qu,Xu=function(e){return o.a.createElement("div",{id:e.getPanelId({carouselId:e.carouselId,itemId:e.id}),className:"slds-carousel__panel slds-m-horizontal_xx-small slds-list_horizontal",role:"tabpanel","aria-hidden":"false","aria-labelledby":"indicator-id-".concat(e.carouselId,"-").concat(e.panelIndex),style:{margin:0,maxWidth:"".concat(e.itemWidth,"px"),padding:"0 6px"}},e.onRenderItem?e.onRenderItem({item:e}):o.a.createElement("a",{className:"slds-carousel__panel-action slds-text-link_reset",href:e.href,onClick:e.onClick,onFocus:e.onFocus,style:{backgroundColor:"white",width:"100%"},tabIndex:e.isInCurrentPanel?"0":"-1"},o.a.createElement("div",{className:"slds-carousel__image"},o.a.createElement("img",{src:e.src,alt:e.imageAssistiveText||e.heading})),o.a.createElement("div",{className:"slds-carousel__content",style:{height:"auto"}},o.a.createElement("h2",{className:"slds-carousel__content-title"},e.heading),o.a.createElement("div",{className:"slds-p-bottom_x-small slds-text-body_small",style:{minHeight:"40px"}},e.description),e.buttonLabel&&o.a.createElement(or,{label:e.buttonLabel,tabIndex:e.isInCurrentPanel?"0":"-1",variant:"neutral"}))))};Xu.displayName="SLDSCarouselItem",Xu.propTypes={buttonLabel:i.a.string,carouselId:i.a.string,className:i.a.oneOfType([i.a.array,i.a.object,i.a.string]),description:i.a.oneOfType([i.a.string,i.a.node]),heading:i.a.oneOfType([i.a.string,i.a.object]).isRequired,href:i.a.string,id:i.a.number.isRequired,imageAssistiveText:i.a.string,isInCurrentPanel:i.a.bool,itemWidth:i.a.number,onFocus:i.a.func,onRenderItem:i.a.func,panelIndex:i.a.number,src:i.a.string.isRequired},Xu.defaultProps={href:"javascript:void(0);"};var $u=Xu,Zu=function(e){return o.a.createElement("span",{className:"slds-carousel__autoplay",style:{left:"66px"}},o.a.createElement(or,{assistiveText:{icon:e.assistiveText},className:"slds-button_icon",disabled:e.isDisabled,iconCategory:"utility",iconName:e.isAutoplayOn?"pause":"play",iconVariant:"border-filled",iconSize:"x-small",onClick:e.onClick,variant:"icon"}))};Zu.displayName="SLDSCarouselAutoplayButton",Zu.propTypes={assistiveText:i.a.string,isAutoplayOn:i.a.bool,onClick:i.a.func},Zu.defaultProps={isAutoplayOn:!1};var ep=Zu;function tp(e){return(tp="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function np(){return(np=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}function rp(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function op(e,t){return(op=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function ap(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=lp(e);if(t){var o=lp(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return ip(this,n)}}function ip(e,t){return!t||"object"!==tp(t)&&"function"!=typeof t?sp(e):t}function sp(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function lp(e){return(lp=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function cp(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var up=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&op(e,t)}(i,e);var t,n,r,a=ap(i);function i(e){var t;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,i),cp(sp(t=a.call(this,e)),"onNextPanelHandler",(function(e){var n=t.getCurrentPanel()+1;n>t.nrOfPanels-1&&(n=0),t.setCurrentPanel(e,n,t.changeTranslationAutomatically)})),cp(sp(t),"onPreviousPanelHandler",(function(e){var n=t.getCurrentPanel()-1;n<0&&(n=t.nrOfPanels-1),t.setCurrentPanel(e,n,t.changeTranslationAutomatically)})),cp(sp(t),"onIndicatorBlur",(function(){t.setState({indicatorsHaveFocus:!1})})),cp(sp(t),"onIndicatorClickHandler",(function(e,n){t.setCurrentPanel(e,n,t.changeTranslationAutomatically),t.setState({indicatorsHaveFocus:!0}),t.getIsAutoplayOn()&&t.stopAutoplay(e)})),cp(sp(t),"onIndicatorFocus",(function(e){t.setState({indicatorsHaveFocus:!0}),t.getIsAutoplayOn()&&t.stopAutoplay(e)})),cp(sp(t),"onAutoplayBtnClick",(function(e){var n=t.getIsAutoplayOn();if(t.props.onRequestAutoplayToggle)t.props.onRequestAutoplayToggle(e,{isAutoplayOn:n});else{var r=n?t.stopAutoplay:t.startAutoplay;t.setState({isAutoplayOn:!n}),r(e)}})),cp(sp(t),"getPanelId",(function(e){var t=e.carouselId,n=e.itemId;return"content-id-".concat(t,"-").concat(n)})),cp(sp(t),"setDimensions",(function(){Bt&&void 0!==t.stageItem&&void 0!==t.stageItem.current&&void 0!==t.stageItem.current.offsetWidth&&t.setState({stageWidth:t.stageItem.current.offsetWidth},t.changeTranslationAutomatically)})),cp(sp(t),"setTranslationAmount",(function(e,n){t.setState({translateX:e},n)})),cp(sp(t),"setCurrentPanel",(function(e,n,r){t.props.onRequestPanelChange?t.props.onRequestPanelChange(e,{currentPanel:t.getCurrentPanel(),requestedPanel:n}):t.setState({currentPanel:n},r)})),cp(sp(t),"startAutoplay",(function(e){t.autoplayId=setInterval((function(){t.canGoToNext()?t.onNextPanelHandler(e):t.props.isInfinite?t.setCurrentPanel(e,0,t.changeTranslationAutomatically):t.stopAutoplay(e)}),t.props.autoplayInterval)})),cp(sp(t),"stopAutoplay",(function(e,n){t.autoplayId&&clearInterval(t.autoplayId),n||(t.props.onRequestAutoplayToggle?t.props.onRequestAutoplayToggle(e,{isAutoplayOn:t.getIsAutoplayOn()}):t.setState({isAutoplayOn:!1}))})),cp(sp(t),"changeTranslationAutomatically",(function(){t.setTranslationAmount(-(t.state.stageWidth||t.stageWidth)*t.getCurrentPanel())})),cp(sp(t),"canGoToNext",(function(){return t.getCurrentPanel()<t.nrOfPanels-1})),cp(sp(t),"canGoToPrevious",(function(){return t.getCurrentPanel()>0})),cp(sp(t),"handleKeyDown",(function(e){var n,r=(cp(n={},At.LEFT,(function(){(t.props.isInfinite||t.canGoToPrevious())&&(t.onPreviousPanelHandler(e),t.setState({indicatorsHaveFocus:!0}),t.getIsAutoplayOn()&&t.stopAutoplay(e))})),cp(n,At.RIGHT,(function(){(t.props.isInfinite||t.canGoToNext())&&(t.onNextPanelHandler(e),t.setState({indicatorsHaveFocus:!0}),t.getIsAutoplayOn()&&t.stopAutoplay(e))})),n);r[e.keyCode]&&(Dt.trapImmediate(e),r[e.keyCode]())})),t.nrOfPanels=Math.ceil(e.items.length/e.itemsPerPanel),t.stageItem=o.a.createRef(),t.state={currentPanel:void 0!==e.currentPanel?e.currentPanel:0,indicatorsHaveFocus:!1,isAutoplayOn:void 0!==e.isAutoplayOn?e.isAutoplayOn:e.hasAutoplay,stageWidth:0,translateX:-1e6},t.generatedId=u.a.generate(),t}return t=i,(n=[{key:"componentDidMount",value:function(){Bt&&void 0!==this.stageItem&&void 0!==this.stageItem.current&&void 0!==this.stageItem.current.offsetWidth&&(this.stageWidth=this.stageItem.current.offsetWidth),Ft&&window.addEventListener("resize",this.setDimensions,!1),this.changeTranslationAutomatically(),this.getIsAutoplayOn()&&this.startAutoplay({mountAutoplayEvent:!0})}},{key:"componentDidUpdate",value:function(e){void 0!==this.props.currentPanel&&e.currentPanel!==this.props.currentPanel&&this.changeTranslationAutomatically(),void 0!==this.props.isAutoplayOn&&e.isAutoplayOn!==this.props.isAutoplayOn&&(this.props.isAutoplayOn?this.startAutoplay({updateAutoplayEvent:!0}):this.stopAutoplay({updateAutoplayEvent:!0},!0)),e.items.length===this.props.items.length&&e.itemsPerPanel===this.props.itemsPerPanel||(this.nrOfPanels=Math.ceil(this.props.items.length/this.props.itemsPerPanel))}},{key:"componentWillUnmount",value:function(){Ft&&window.removeEventListener("resize",this.setDimensions,!1),this.stopAutoplay({unmountAutoplayEvent:!0},!0)}},{key:"getCurrentPanel",value:function(){return void 0!==this.props.currentPanel?this.props.currentPanel:this.state.currentPanel}},{key:"getIsAutoplayOn",value:function(){return void 0!==this.props.isAutoplayOn?this.props.isAutoplayOn:this.state.isAutoplayOn}},{key:"render",value:function(){var e=this,t=this.props,n=t.hasAutoplay,r=t.hasPreviousNextPanelNavigation,a=t.isInfinite,i=this.getCurrentPanel(),s=this.props.id||this.generatedId,c=!(a||this.canGoToPrevious()),u=!(a||this.canGoToNext()),p=(this.state.stageWidth||this.stageWidth)/this.props.itemsPerPanel,f=r?{marginLeft:"44px",marginRight:"44px"}:{};return o.a.createElement("div",{className:l()("slds-carousel",this.props.className),id:s,onKeyDown:this.handleKeyDown},o.a.createElement("div",{className:"slds-grid_vertical slds-col slds-path__scroller"},n&&o.a.createElement(ep,{assistiveText:this.props.assistiveText.autoplayButton,isAutoplayOn:this.getIsAutoplayOn(),onClick:this.onAutoplayBtnClick}),o.a.createElement("div",{className:"slds-is-relative",style:f},r&&o.a.createElement(Ju,{assistiveText:this.props.assistiveText.previousPanel,iconName:"chevronleft",isDisabled:c,onClick:function(t){e.getIsAutoplayOn()&&e.stopAutoplay(t),e.onPreviousPanelHandler(t)},inlineStyle:{left:"-38px"}}),o.a.createElement("div",{ref:this.stageItem,className:"slds-carousel__stage slds-show"},o.a.createElement("div",{className:"slds-carousel__panels slds-is-relative",style:{transform:"translateX(".concat(this.state.translateX,"px)")}},this.props.items.map((function(t,n){return o.a.createElement($u,np({carouselId:s,getPanelId:e.getPanelId,onClick:function(n){e.props.onItemClick(n,{item:t})},onFocus:function(t){e.getIsAutoplayOn()&&e.stopAutoplay(t)},onRenderItem:e.props.onRenderItem},t,{isInCurrentPanel:n>=i*e.props.itemsPerPanel&&n<i*e.props.itemsPerPanel+e.props.itemsPerPanel,itemWidth:p,key:t.id,panelIndex:Math.ceil((n+1)/e.props.itemsPerPanel)-1}))})))),r&&o.a.createElement(Ju,{assistiveText:this.props.assistiveText.nextPanel,iconName:"chevronright",isDisabled:u,onClick:function(t){e.getIsAutoplayOn()&&e.stopAutoplay(t),e.onNextPanelHandler(t)},inlineStyle:{right:"-38px"}})),o.a.createElement(Uu,{noOfIndicators:this.nrOfPanels,carouselId:s,currentIndex:i,getPanelId:this.getPanelId,hasFocus:this.state.indicatorsHaveFocus,onBlur:this.onIndicatorBlur,onClick:this.onIndicatorClickHandler,onFocus:this.onIndicatorFocus,items:this.props.items,itemsPerPanel:this.props.itemsPerPanel})))}}])&&rp(t.prototype,n),r&&rp(t,r),i}(o.a.Component);cp(up,"displayName","SLDSCarousel"),cp(up,"propTypes",{assistiveText:i.a.object,autoplayInterval:i.a.number,className:i.a.oneOfType([i.a.array,i.a.object,i.a.string]),currentPanel:i.a.number,hasAutoplay:i.a.bool,hasPreviousNextPanelNavigation:i.a.bool,id:i.a.string,isAutoplayOn:i.a.bool,isInfinite:i.a.bool,items:i.a.array.isRequired,itemsPerPanel:i.a.number,onRenderItem:i.a.func,onRequestAutoplayToggle:i.a.func,onRequestPanelChange:i.a.func,onItemClick:i.a.func}),cp(up,"defaultProps",{assistiveText:{autoplayButton:"Start / Stop auto-play",nextPanel:"Next Panel",previousPanel:"Previous Panel"},autoplayInterval:4e3,hasAutoplay:!1,hasPreviousNextPanelNavigation:!1,isInfinite:!1,itemsPerPanel:1});var pp=up;var fp=function(){},dp=n(41);function hp(e){return(hp="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function mp(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function bp(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?mp(Object(n),!0).forEach((function(t){wp(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):mp(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function yp(){return(yp=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}function gp(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function vp(e,t){return(vp=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function Op(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=xp(e);if(t){var o=xp(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return _p(this,n)}}function _p(e,t){return!t||"object"!==hp(t)&&"function"!=typeof t?Sp(e):t}function Sp(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function xp(e){return(xp=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function wp(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var Ep={"aria-controls":i.a.string,"aria-describedby":i.a.string,"aria-labelledby":i.a.string,"aria-owns":i.a.string,"aria-required":i.a.bool,assistiveText:i.a.shape({heading:i.a.string,label:i.a.string}),checked:i.a.bool,defaultChecked:i.a.bool,className:i.a.oneOfType([i.a.array,i.a.object,i.a.string]),disabled:i.a.bool,errorText:i.a.string,id:i.a.string,indeterminate:i.a.bool,labels:i.a.shape({heading:i.a.string,label:i.a.string,toggleDisabled:i.a.string,toggleEnabled:i.a.string}),name:i.a.string,onBlur:i.a.func,onChange:i.a.func,onFocus:i.a.func,onKeyDown:i.a.func,onKeyPress:i.a.func,onKeyUp:i.a.func,readOnly:i.a.bool,required:i.a.bool,role:i.a.string,variant:i.a.oneOf(["base","toggle","button-group","visual-picker"]),coverable:i.a.bool,vertical:i.a.bool,onRenderVisualPicker:i.a.func,onRenderVisualPickerSelected:i.a.func,onRenderVisualPickerNotSelected:i.a.func,size:i.a.oneOf(["medium","large"])},jp={assistiveText:{},labels:{toggleDisabled:"Disabled",toggleEnabled:"Enabled"},variant:"base"},Cp=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&vp(e,t)}(i,e);var t,n,r,a=Op(i);function i(e){var t;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,i),wp(Sp(t=a.call(this,e)),"getId",(function(){return t.props.id||t.generatedId})),wp(Sp(t),"getErrorId",(function(){return t.props.errorText?"".concat(t.getId(),"-error-text"):void 0})),wp(Sp(t),"getAriaDescribedBy",(function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=e.idArray,r=void 0===n?[]:n;return r.concat(t.props["aria-describedby"],t.getErrorId()).filter(Boolean).join(" ")||void 0})),wp(Sp(t),"handleChange",(function(e){var n=t.props,r=n.checked,o=n.indeterminate,a=n.onChange;"function"==typeof a&&(t.props.oldEventParameterOrder?a(e.target.checked,e,{checked:!!o||!r,indeterminate:!1}):a(e,{checked:!!o||!r,indeterminate:!1}))})),wp(Sp(t),"handleKeyDown",(function(e){e.keyCode&&(e.keyCode!==At.ENTER&&e.keyCode!==At.SPACE||(Dt.trapImmediate(e),t.handleChange(e)))})),wp(Sp(t),"renderButtonGroupVariant",(function(e,n,r,a){return o.a.createElement("span",{className:"slds-button slds-checkbox_button"},o.a.createElement("input",yp({disabled:e.disabled},void 0!==e.checked?{checked:e.checked}:{defaultChecked:e.defaultChecked},{id:t.getId(),name:e.name,onBlur:e.onBlur,onChange:t.handleChange,onFocus:e.onFocus,onKeyDown:e.onKeyDown,onKeyPress:e.onKeyPress,onKeyUp:e.onKeyUp,ref:function(e){t.input=e},role:e.role,required:e.required,type:"checkbox"},n,{"aria-describedby":t.getAriaDescribedBy()})),o.a.createElement("label",{className:"slds-checkbox_button__label",htmlFor:t.getId()},o.a.createElement("span",{className:"slds-checkbox_faux"},a.label),r.label?o.a.createElement("span",{className:"slds-assistive-text"},r.label):null))})),wp(Sp(t),"renderBaseVariant",(function(e,n,r,a){return o.a.createElement("div",{className:l()("slds-form-element",{"is-required":e.required,"slds-has-error":e.errorText},e.className)},o.a.createElement("div",{className:"slds-form-element__control"},o.a.createElement("span",{className:"slds-checkbox"},e.required?o.a.createElement("abbr",{className:"slds-required",title:"required"},"*"):null,o.a.createElement("input",yp({disabled:e.disabled},void 0!==e.checked?{checked:e.checked}:{defaultChecked:e.defaultChecked},{id:t.getId(),name:e.name,onBlur:e.onBlur,onChange:t.handleChange,onFocus:e.onFocus,onKeyDown:e.onKeyDown,onKeyPress:e.onKeyPress,onKeyUp:e.onKeyUp,ref:function(n){n&&(n.indeterminate=e.indeterminate),t.input=n},role:e.role,required:e.required,type:"checkbox"},n,{"aria-describedby":t.getAriaDescribedBy()})),o.a.createElement("label",{className:"slds-checkbox__label",htmlFor:t.getId(),id:e.labelId},o.a.createElement("span",{className:"slds-checkbox_faux"}),a.label?o.a.createElement("span",{className:"slds-form-element__label"},a.label):null,r.label?o.a.createElement("span",{className:"slds-assistive-text"},r.label):null))),e.errorText?o.a.createElement("div",{className:"slds-form-element__help",id:t.getErrorId()},e.errorText):null)})),wp(Sp(t),"renderToggleVariant",(function(e,n,r,a){return o.a.createElement("div",{className:l()("slds-form-element",{"is-required":e.required,"slds-has-error":e.errorText},e.className)},o.a.createElement("label",{className:"slds-checkbox_toggle slds-grid",htmlFor:t.getId()},e.required?o.a.createElement("abbr",{className:"slds-required",title:"required"},"*"):null,a.label?o.a.createElement("span",{className:"slds-form-element__label slds-m-bottom_none"},a.label):null,r.label?o.a.createElement("span",{className:"slds-assistive-text"},r.label):null,o.a.createElement("input",yp({disabled:e.disabled,id:t.getId()},void 0!==e.checked?{checked:e.checked}:{defaultChecked:e.defaultChecked},{name:e.name,onBlur:e.onBlur,onChange:t.handleChange,onFocus:e.onFocus,onKeyDown:e.onKeyDown,onKeyPress:e.onKeyPress,onKeyUp:e.onKeyUp,ref:function(e){t.input=e},role:e.role,required:e.required,type:"checkbox"},n,{"aria-describedby":t.getAriaDescribedBy({idArray:["".concat(t.getId(),"-desc")]})})),o.a.createElement("span",{id:"".concat(t.getId(),"-desc"),className:"slds-checkbox_faux_container","aria-live":"assertive"},o.a.createElement("span",{className:"slds-checkbox_faux"}),o.a.createElement("span",{className:"slds-checkbox_on"},a.toggleEnabled),o.a.createElement("span",{className:"slds-checkbox_off"},a.toggleDisabled))),e.errorText?o.a.createElement("div",{className:"slds-form-element__help",id:t.getErrorId()},e.errorText):null)})),wp(Sp(t),"renderVisualPickerVariant",(function(e,n,r){return o.a.createElement("span",{className:l()("slds-visual-picker","slds-visual-picker_".concat(t.props.size),t.props.vertical?"slds-visual-picker_vertical":null)},o.a.createElement("input",yp({disabled:e.disabled},void 0!==e.checked?{checked:e.checked}:{defaultChecked:e.defaultChecked},{id:t.getId(),name:e.name,onBlur:e.onBlur,onChange:t.handleChange,onFocus:e.onFocus,onKeyDown:e.onKeyDown,onKeyPress:e.onKeyPress,onKeyUp:e.onKeyUp,ref:function(e){t.input=e},role:e.role,required:e.required,type:"checkbox"},n,{"aria-describedby":t.getAriaDescribedBy()})),o.a.createElement("label",{className:"slds-checkbox_button__label",htmlFor:t.getId()},t.props.coverable?o.a.createElement("div",{className:"slds-visual-picker__figure slds-visual-picker__icon slds-align_absolute-center"},o.a.createElement("span",{className:"slds-is-selected"},t.props.onRenderVisualPickerSelected()),o.a.createElement("span",{className:"slds-is-not-selected"},t.props.onRenderVisualPickerNotSelected())):o.a.createElement("span",{className:"slds-visual-picker__figure slds-visual-picker__text slds-align_absolute-center"},t.props.onRenderVisualPicker()),t.props.vertical?null:o.a.createElement("span",{className:"slds-visual-picker__body"},t.props.labels.heading?o.a.createElement("span",{className:"slds-text-heading_small"},t.props.labels.heading):null,o.a.createElement("span",{className:"slds-text-title"},t.props.labels.label),r.label||r.heading?o.a.createElement("span",{className:"slds-assistive-text"},r.label||r.heading):null),t.props.coverable?null:o.a.createElement("span",{className:"slds-icon_container slds-visual-picker__text-check"},o.a.createElement(jn,{assistiveText:t.props.assistiveText,category:"utility",name:"check",colorVariant:"base",size:"x-small"}))))})),fp(A,t.props,dp),t.generatedId=u.a.generate(),t}return t=i,(n=[{key:"render",value:function(){var e=Kn(this.props);"toggle"===this.props.variant&&(e["aria-describedby"]="".concat(this.getId(),"-desc"));var t=bp(bp(bp({},jp.assistiveText),"string"==typeof this.props.assistiveText?{label:this.props.assistiveText}:{}),"object"===hp(this.props.assistiveText)?this.props.assistiveText:{}),n=bp(bp(bp({},jp.labels),this.props.label?{label:this.props.label}:{}),this.props.labels),r={base:this.renderBaseVariant,"button-group":this.renderButtonGroupVariant,toggle:this.renderToggleVariant,"visual-picker":this.renderVisualPickerVariant};return r[this.props.variant]?r[this.props.variant](this.props,e,t,n):r.base(this.props,e,t,n)}}])&&gp(t.prototype,n),r&&gp(t,r),i}(o.a.Component);Cp.displayName=A,Cp.propTypes=Ep,Cp.defaultProps=jp;var Pp=Cp;var Np=function(){};function Tp(e){return(Tp="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function kp(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function Rp(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function Dp(e,t){return(Dp=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function Ip(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=Lp(e);if(t){var o=Lp(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return Ap(this,n)}}function Ap(e,t){return!t||"object"!==Tp(t)&&"function"!=typeof t?function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e):t}function Lp(e){return(Lp=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}var Bp,Fp,Mp,qp=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&Dp(e,t)}(i,e);var t,n,r,a=Ip(i);function i(){return kp(this,i),a.apply(this,arguments)}return t=i,(n=[{key:"render",value:function(){var e;return(this.props.errorTextWorkingColor||this.props.color.errors)&&(e="color-picker-custom-error-".concat(this.props.id)),o.a.createElement("div",{className:"slds-color-picker__custom-inputs"},o.a.createElement(Pu,{"aria-describedby":e,className:l()("slds-color-picker__input-custom-hex",{"slds-has-error":this.props.color.errors&&this.props.color.errors.hex}),id:"color-picker-input-hex-".concat(this.props.id),label:this.props.labels.hexLabel,maxLength:"7",onChange:this.props.onHexChange,value:this.props.color.hex}),o.a.createElement(Pu,{"aria-describedby":e,className:l()("slds-color-picker__input-custom-r",{"slds-has-error":this.props.color.errors&&this.props.color.errors.red}),id:"color-picker-input-r-".concat(this.props.id),label:this.props.labels.redAbbreviated,onChange:this.props.onRedChange,maxLength:"3",value:String(this.props.color.rgb.red)}),o.a.createElement(Pu,{"aria-describedby":e,className:l()("slds-color-picker__input-custom-g",{"slds-has-error":this.props.color.errors&&this.props.color.errors.green}),id:"color-picker-input-g-".concat(this.props.id),label:this.props.labels.greenAbbreviated,onChange:this.props.onGreenChange,maxLength:"3",value:String(this.props.color.rgb.green)}),o.a.createElement(Pu,{"aria-describedby":e,className:l()("slds-color-picker__input-custom-b",{"slds-has-error":this.props.color.errors&&this.props.color.errors.blue}),id:"color-picker-input-b-".concat(this.props.id),label:this.props.labels.blueAbbreviated,onChange:this.props.onBlueChange,maxLength:"3",value:String(this.props.color.rgb.blue)}))}}])&&Rp(t.prototype,n),r&&Rp(t,r),i}(o.a.Component);Mp="SLDSCustomColorForm",(Fp="displayName")in(Bp=qp)?Object.defineProperty(Bp,Fp,{value:Mp,enumerable:!0,configurable:!0,writable:!0}):Bp[Fp]=Mp;var Hp=qp;function Kp(e){return(Kp="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function Wp(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function Vp(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?Wp(Object(n),!0).forEach((function(t){Up(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Wp(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function Up(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function zp(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function Gp(e,t){return(Gp=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function Yp(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=Jp(e);if(t){var o=Jp(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return Qp(this,n)}}function Qp(e,t){return!t||"object"!==Kp(t)&&"function"!=typeof t?function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e):t}function Jp(e){return(Jp=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}var Xp={assistiveText:i.a.shape({label:i.a.string,required:i.a.string}),children:i.a.node.isRequired,className:i.a.oneOfType([i.a.array,i.a.object,i.a.string]),labels:i.a.shape({error:i.a.string,label:i.a.string}),onChange:i.a.func,disabled:i.a.bool,required:i.a.bool,name:i.a.string,errorId:i.a.string,variant:i.a.oneOf(["base","button-group"])},$p={assistiveText:{required:"Required"},labels:{},variant:"base"},Zp=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&Gp(e,t)}(i,e);var t,n,r,a=Yp(i);function i(e){var t;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,i),(t=a.call(this,e)).generatedName=u.a.generate(),t.generatedErrorId=u.a.generate(),t}return t=i,(n=[{key:"getErrorId",value:function(){if(this.hasError())return this.props.errorId||this.generatedErrorId}},{key:"getName",value:function(){return this.props.name||this.generatedName}},{key:"hasError",value:function(){return!!this.labels.error}},{key:"render",value:function(){var e=this;this.labels=this.props.labels?cr()({},$p.labels,this.props.labels):$p.labels;var t=Vp(Vp({},$p.assistiveText),this.props.assistiveText),n=o.a.Children.map(this.props.children,(function(t){return o.a.cloneElement(t,{name:e.getName(),onChange:e.props.onChange,"aria-describedby":e.getErrorId(),disabled:e.props.disabled})}));return o.a.createElement("fieldset",{className:l()("slds-form-element",{"slds-has-error":this.labels.error})},o.a.createElement("legend",{className:l()("slds-form-element__legend","slds-form-element__label",t.label?"slds-assistive-text":"")},this.props.required?o.a.createElement("abbr",{className:"slds-required",title:"required"},"*",o.a.createElement("div",{className:"slds-assistive-text"},t.required," ")):null,t.label?t.label:this.labels.label),o.a.createElement("div",{className:l()("slds-form-element__control",this.props.className)},"button-group"===this.props.variant?o.a.createElement("div",{style:this.props.style,className:"slds-radio_button-group"},n):n,this.labels.error?o.a.createElement("div",{id:this.getErrorId(),className:"slds-form-element__help"},this.labels.error):null))}}])&&zp(t.prototype,n),r&&zp(t,r),i}(o.a.Component);Zp.displayName="SLDSRadioGroup",Zp.propTypes=Xp,Zp.defaultProps=$p;var ef=Zp;function tf(){return(tf=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}function nf(e,t){if(null==e)return{};var n,r,o=function(e,t){if(null==e)return{};var n,r,o={},a=Object.keys(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)>=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}var rf={assistiveText:i.a.shape({label:i.a.string}),children:i.a.node.isRequired,className:i.a.oneOfType([i.a.array,i.a.object,i.a.string]),labels:i.a.shape({error:i.a.string,label:i.a.string}),onChange:i.a.func,disabled:i.a.bool,required:i.a.bool,name:i.a.string,errorId:i.a.string},of=function(e){e.variant;var t=nf(e,["variant"]);return o.a.createElement(ef,tf({variant:"button-group"},t))};of.displayName="SLDSRadioButtonGroup",of.propTypes=rf,of.defaultProps={labels:{},assistiveText:{}};var af=of;function sf(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function lf(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var cf=function(e){var t=e.color,n=e.style,r=e.label,a=e.labels,i=function(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?sf(Object(n),!0).forEach((function(t){lf(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):sf(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}({backgroundColor:t},n),s=r||t;return t||(i.backgroundImage="linear-gradient(-45deg, white 47%, #870500 0, #870500 53%, white 0)",a&&a.swatchTabTransparentSwatch&&(s=a.swatchTabTransparentSwatch)),o.a.createElement("span",{className:"slds-swatch",style:i},o.a.createElement("span",{className:"slds-assistive-text"},s))};cf.propTypes={color:i.a.string.isRequired};var uf=cf;var pf=function(){},ff=n(42);function df(e){return(df="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function hf(){return(hf=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}function mf(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function bf(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?mf(Object(n),!0).forEach((function(t){xf(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):mf(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function yf(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function gf(e,t){return(gf=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function vf(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=Sf(e);if(t){var o=Sf(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return Of(this,n)}}function Of(e,t){return!t||"object"!==df(t)&&"function"!=typeof t?_f(e):t}function _f(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function Sf(e){return(Sf=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function xf(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var wf={assistiveText:i.a.shape({label:i.a.string}),"aria-describedby":i.a.string,"aria-labelledby":i.a.string,checked:i.a.bool,className:i.a.oneOfType([i.a.array,i.a.object,i.a.string]),defaultChecked:i.a.bool,disabled:i.a.bool,id:i.a.string,labels:i.a.shape({heading:i.a.string,label:i.a.string}),name:i.a.string,onChange:i.a.func,value:i.a.string,variant:i.a.oneOf(["base","button-group","swatch","visual-picker"]),coverable:i.a.bool,vertical:i.a.bool,onRenderVisualPicker:i.a.func,onRenderVisualPickerSelected:i.a.func,onRenderVisualPickerNotSelected:i.a.func,description:i.a.string,size:i.a.oneOf(["medium","large"]),refs:i.a.shape({input:i.a.func})},Ef={assistiveText:{},variant:"base",coverable:!1},jf=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&gf(e,t)}(i,e);var t,n,r,a=vf(i);function i(e){var t;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,i),xf(_f(t=a.call(this,e)),"handleChange",(function(e,n){t.preventDuplicateChangeEvent?t.preventDuplicateChangeEvent=!1:(t.preventDuplicateChangeEvent=Boolean(n),t.props.onChange&&t.props.onChange(e,{checked:!t.props.checked}))})),t.preventDuplicateChangeEvent=!1,t}return t=i,(n=[{key:"UNSAFE_componentWillMount",value:function(){pf(de,this.props,ff),this.generatedId=u.a.generate()}},{key:"getId",value:function(){return this.props.id||this.generatedId}},{key:"render",value:function(){var e,t=this,n=Kn(this.props),r=Wn(this.props),a=bf(bf(bf({},Ef.labels),this.props.label?{label:this.props.label}:{}),this.props.labels);return e="swatch"===this.props.variant?o.a.createElement("label",{style:{border:"1px"},className:"slds-radio_button__label",htmlFor:this.getId()},o.a.createElement("span",null,o.a.createElement(uf,{label:a.label,style:this.props.style,color:this.props.value}))):"button-group"===this.props.variant?o.a.createElement("label",{className:"slds-radio_button__label",htmlFor:this.getId()},o.a.createElement("span",{className:"slds-radio_faux"},a.label)):"visual-picker"===this.props.variant?o.a.createElement("label",{htmlFor:this.getId()},this.props.coverable?o.a.createElement("div",{className:"slds-visual-picker__figure slds-visual-picker__icon slds-align_absolute-center"},o.a.createElement("span",{className:"slds-is-selected"},this.props.onRenderVisualPickerSelected()),o.a.createElement("span",{className:"slds-is-not-selected"},this.props.onRenderVisualPickerNotSelected())):o.a.createElement("span",{className:"slds-visual-picker__figure slds-visual-picker__text slds-align_absolute-center"},this.props.onRenderVisualPicker()),this.props.vertical?null:o.a.createElement("span",{className:"slds-visual-picker__body"},a.heading?o.a.createElement("span",{className:"slds-text-heading_small"},a.heading):null,o.a.createElement("span",{className:"slds-text-title"},a.label)),this.props.coverable?null:o.a.createElement("span",{className:"slds-icon_container slds-visual-picker__text-check"},o.a.createElement(jn,{assistiveText:this.props.assistiveText,category:"utility",name:"check",colorVariant:"base",size:"x-small"}))):o.a.createElement("label",{className:"slds-radio__label",htmlFor:this.getId(),id:this.props.labelId},o.a.createElement("span",{className:"slds-radio_faux"}),o.a.createElement("span",{className:"slds-form-element__label"},a.label),this.props.assistiveText.label?o.a.createElement("span",{className:"slds-assistive-text"},this.props.assistiveText.label):null),o.a.createElement("span",{className:l()("visual-picker"===this.props.variant?"slds-visual-picker_".concat(this.props.size):null,{"slds-radio":"base"===this.props.variant||"swatch"===this.props.variant,"slds-button slds-radio_button":"button-group"===this.props.variant,"slds-visual-picker":"visual-picker"===this.props.variant,"slds-visual-picker_vertical":"visual-picker"===this.props.variant&&this.props.vertical},this.props.className)},o.a.createElement("input",hf({type:"radio",id:this.getId(),name:this.props.name,value:this.props.value},void 0!==this.props.checked?{checked:this.props.checked}:{defaultChecked:this.props.defaultChecked},{onChange:function(e){t.handleChange(e)},onClick:function(e){t.props.checked&&t.props.deselectable&&t.handleChange(e)},onKeyPress:function(e){var n=e.charCode;n===At.SPACE&&t.props.checked&&t.props.deselectable?t.handleChange(e,!0):(n===At.ENTER&&t.props.checked&&t.props.deselectable||!t.props.checked)&&t.handleChange(e)},disabled:this.props.disabled},n,r,{ref:function(e){t.props.refs&&t.props.refs.input&&t.props.refs.input(e)}})),e)}}])&&yf(t.prototype,n),r&&yf(t,r),i}(o.a.Component);jf.displayName=de,jf.propTypes=wf,jf.defaultProps=Ef;var Cf=jf,Pf=Cf,Nf={aliceblue:"#f0f8ff",antiquewhite:"#faebd7",aqua:"#00ffff",aquamarine:"#7fffd4",azure:"#f0ffff",beige:"#f5f5dc",bisque:"#ffe4c4",black:"#000000",blanchedalmond:"#ffebcd",blue:"#0000ff",blueviolet:"#8a2be2",brown:"#a52a2a",burlywood:"#deb887",cadetblue:"#5f9ea0",chartreuse:"#7fff00",chocolate:"#d2691e",coral:"#ff7f50",cornflowerblue:"#6495ed",cornsilk:"#fff8dc",crimson:"#dc143c",cyan:"#00ffff",darkblue:"#00008b",darkcyan:"#008b8b",darkgoldenrod:"#b8860b",darkgray:"#a9a9a9",darkgreen:"#006400",darkkhaki:"#bdb76b",darkmagenta:"#8b008b",darkolivegreen:"#556b2f",darkorange:"#ff8c00",darkorchid:"#9932cc",darkred:"#8b0000",darksalmon:"#e9967a",darkseagreen:"#8fbc8f",darkslateblue:"#483d8b",darkslategray:"#2f4f4f",darkturquoise:"#00ced1",darkviolet:"#9400d3",deeppink:"#ff1493",deepskyblue:"#00bfff",dimgray:"#696969",dodgerblue:"#1e90ff",firebrick:"#b22222",floralwhite:"#fffaf0",forestgreen:"#228b22",fuchsia:"#ff00ff",gainsboro:"#dcdcdc",ghostwhite:"#f8f8ff",gold:"#ffd700",goldenrod:"#daa520",gray:"#808080",green:"#008000",greenyellow:"#adff2f",honeydew:"#f0fff0",hotpink:"#ff69b4",indianred:"#cd5c5c",indigo:"#4b0082",ivory:"#fffff0",khaki:"#f0e68c",lavender:"#e6e6fa",lavenderblush:"#fff0f5",lawngreen:"#7cfc00",lemonchiffon:"#fffacd",lightblue:"#add8e6",lightcoral:"#f08080",lightcyan:"#e0ffff",lightgoldenrodyellow:"#fafad2",lightgrey:"#d3d3d3",lightgreen:"#90ee90",lightpink:"#ffb6c1",lightsalmon:"#ffa07a",lightseagreen:"#20b2aa",lightskyblue:"#87cefa",lightslategray:"#778899",lightsteelblue:"#b0c4de",lightyellow:"#ffffe0",lime:"#00ff00",limegreen:"#32cd32",linen:"#faf0e6",magenta:"#ff00ff",maroon:"#800000",mediumaquamarine:"#66cdaa",mediumblue:"#0000cd",mediumorchid:"#ba55d3",mediumpurple:"#9370d8",mediumseagreen:"#3cb371",mediumslateblue:"#7b68ee",mediumspringgreen:"#00fa9a",mediumturquoise:"#48d1cc",mediumvioletred:"#c71585",midnightblue:"#191970",mintcream:"#f5fffa",mistyrose:"#ffe4e1",moccasin:"#ffe4b5",navajowhite:"#ffdead",navy:"#000080",oldlace:"#fdf5e6",olive:"#808000",olivedrab:"#6b8e23",orange:"#ffa500",orangered:"#ff4500",orchid:"#da70d6",palegoldenrod:"#eee8aa",palegreen:"#98fb98",paleturquoise:"#afeeee",palevioletred:"#d87093",papayawhip:"#ffefd5",peachpuff:"#ffdab9",peru:"#cd853f",pink:"#ffc0cb",plum:"#dda0dd",powderblue:"#b0e0e6",purple:"#800080",rebeccapurple:"#663399",red:"#ff0000",rosybrown:"#bc8f8f",royalblue:"#4169e1",saddlebrown:"#8b4513",salmon:"#fa8072",sandybrown:"#f4a460",seagreen:"#2e8b57",seashell:"#fff5ee",sienna:"#a0522d",silver:"#c0c0c0",skyblue:"#87ceeb",slateblue:"#6a5acd",slategray:"#708090",snow:"#fffafa",springgreen:"#00ff7f",steelblue:"#4682b4",tan:"#d2b48c",teal:"#008080",thistle:"#d8bfd8",tomato:"#ff6347",turquoise:"#40e0d0",violet:"#ee82ee",wheat:"#f5deb3",white:"#ffffff",whitesmoke:"#f5f5f5",yellow:"#ffff00",yellowgreen:"#9acd32"},Tf=/^#([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i,kf={getNewColor:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if(e.hex){if(t?!t(e.hex):!this.isValidHex(e.hex))return cr()({},n,{hex:e.hex,errors:cr()({},n.errors,{hex:!0}),hsv:{hue:"",saturation:"",value:""},rgb:{red:"",green:"",blue:""}});var r={hex:e.hex,hsv:this.getHsvFromHex(e.hex),rgb:this.getRgbFromHex(e.hex)};return e.name&&(r.name=e.name),r}if("red"in e||"blue"in e||"green"in e){var o=cr()({},n.rgb,e),a=this.getRgbErrors(o);return Object.values(a).includes(!0)?cr()({},n,{rgb:o,errors:cr()({},n.errors,a)}):{hex:this.getHexFromRgb(o),hsv:this.getHsvFromRgb(o),rgb:o}}if("hue"in e||"saturation"in e||"value"in e){var i=cr()({},n.hsv,e);return{hex:this.getHexFromHsv(i),hsv:i,rgb:this.getRgbFromHsv(i)}}return{hex:"",hsv:{hue:"",saturation:"",value:""},rgb:{red:"",green:"",blue:""}}},getDeltaColor:function(e,t,n){var r=function(e){return Math.min(Math.max(e,0),100)};return this.getNewColor({saturation:r(n.hsv.saturation+(e.saturation||0)),value:r(n.hsv.value+(e.value||0))},t,n)},isValidHex:function(e){return!e||Tf.test(this.toSixDigitHex(e))},getRgbErrors:function(e){return Object.entries(e).reduce((function(e,t){return e[t[0]]=function(e){return isNaN(e)||Math.floor(e)!==Number(e)||e<0||e>=256}(t[1]),e}),{})},getHsvFromHex:function(e){return this.getHsvFromRgb(this.getRgbFromHex(e))},getHexFromHsv:function(e){var t=e.hue,n=e.saturation,r=e.value;return this.getHexFromRgb(this.getRgbFromHsv({hue:t,saturation:n,value:r}))},getHexFromNamedColor:function(e){return Nf[e.toLowerCase()]||null},getHsvFromRgb:function(e){var t,n=e.red/255,r=e.green/255,o=e.blue/255,a=Math.max(n,r,o),i=Math.min(n,r,o),s=a-i;return a===i?t=0:(t=n===a?(r-o)/s+(r<o?6:0):r===a?(o-n)/s+2:(n-r)/s+4,t*=60),{hue:t,saturation:0===a?0:s/a*100,value:100*a}},getRgbFromHsv:function(e){var t,n,r,o=e.hue/360,a=e.saturation/100,i=e.value/100,s=Math.floor(6*o),l=6*o-s,c=i*(1-a),u=i*(1-l*a),p=i*(1-(1-l)*a);switch(s%6){case 0:t=i,n=p,r=c;break;case 1:t=u,n=i,r=c;break;case 2:t=c,n=i,r=p;break;case 3:t=c,n=u,r=i;break;case 4:t=p,n=c,r=i;break;default:t=i,n=c,r=u}return{red:Math.round(255*t),blue:Math.round(255*r),green:Math.round(255*n)}},getHexFromRgb:function(e){var t=e.red,n=e.green,r=e.blue;function o(e){return"0".concat(Math.round(e).toString(16)).substr(-2)}return"#".concat(o(t)).concat(o(n)).concat(o(r))},getRgbFromHex:function(e){var t=Tf.exec(this.toSixDigitHex(e));return{red:parseInt(t[1],16),green:parseInt(t[2],16),blue:parseInt(t[3],16)}},toSixDigitHex:function(e){var t=/^#([a-f\d])([a-f\d])([a-f\d])$/i.exec(e);return t?"#".concat(t[1]).concat(t[1]).concat(t[2]).concat(t[2]).concat(t[3]).concat(t[3]):e}};function Rf(e){return(Rf="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function Df(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function If(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?Df(Object(n),!0).forEach((function(t){Kf(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Df(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function Af(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function Lf(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function Bf(e,t){return(Bf=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function Ff(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=Hf(e);if(t){var o=Hf(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return Mf(this,n)}}function Mf(e,t){return!t||"object"!==Rf(t)&&"function"!=typeof t?qf(e):t}function qf(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function Hf(e){return(Hf=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function Kf(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var Wf={border:"1px solid #9e9e9e",boxShadow:"rgb(117, 112, 112) 1px 1px 1px",marginRight:"2px"},Vf={border:"1px solid #9e9e9e",marginRight:"2px"},Uf=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&Bf(e,t)}(i,e);var t,n,r,a=Ff(i);function i(){var e;Af(this,i);for(var t=arguments.length,n=new Array(t),r=0;r<t;r++)n[r]=arguments[r];return Kf(qf(e=a.call.apply(a,[this].concat(n))),"handleSwatchChange",(function(t){e.setState({isTransparentSelected:""===t.target.value}),e.props.onSwatchChange(t)})),Kf(qf(e),"isTransparent",(function(){return""===e.props.color.hex})),e}return t=i,(n=[{key:"render",value:function(){var e=this,t=this.isTransparent()?If({},Vf):If({},Wf),n=this.isTransparent()?If({},Wf):If({},Vf),r=this.props.previousColor.hex?this.props.previousColor:kf.getNewColor({hex:"#000000"}),a=this.isTransparent()?r:this.props.color;return o.a.createElement("div",null,o.a.createElement("p",{className:"slds-assistive-text",id:"color-picker-instructions-".concat(this.props.id)},this.props.assistiveText.saturationValueGrid),o.a.createElement("div",{className:"slds-color-picker__custom-range",style:{background:"hsl(".concat(a.hsv.hue,", 100%, 50%)")},onClick:function(t){!function(e,t,n){var r=n.onSaturationValueChange,o=e.currentTarget.getBoundingClientRect();t.focus(),r(e,{saturation:Math.round((e.clientX-o.left)/o.width*100),value:Math.round((o.bottom-e.clientY)/o.height*100)})}(t,e.rangeIndicator,{onSaturationValueChange:e.props.onSaturationValueChange})},role:"presentation"},o.a.createElement("a",{"aria-atomic":"true","aria-describedby":"color-picker-instructions-".concat(this.props.id),"aria-live":"assertive",className:"slds-color-picker__range-indicator",onKeyDown:function(t){!function(e,t){var n,r=t.onSaturationNavigate,o=t.onValueNavigate,a=(Kf(n={},At.LEFT,(function(t){r(e,{delta:-1*t})})),Kf(n,At.RIGHT,(function(t){r(e,{delta:t})})),Kf(n,At.UP,(function(t){o(e,{delta:t})})),Kf(n,At.DOWN,(function(t){o(e,{delta:-1*t})})),n);a[e.keyCode]&&(e.preventDefault(),a[e.keyCode](e.shiftKey?10:1))}(t,If({},e.props))},ref:function(t){e.rangeIndicator=t},role:"button",style:{bottom:"".concat(a.hsv.value,"%"),left:"".concat(a.hsv.saturation,"%")},tabIndex:0},o.a.createElement("span",{className:"slds-assistive-text"},"Saturation ".concat(a.hsv.saturation,"% Brightness: ").concat(a.hsv.value,"%")))),o.a.createElement("div",{className:"slds-color-picker__hue-and-preview"},o.a.createElement("label",{className:"slds-assistive-text",htmlFor:"color-picker-input-range-".concat(this.props.id)},this.props.assistiveText.hueSlider),o.a.createElement("input",{type:"range",min:"0",max:"360",className:"slds-color-picker__hue-slider",id:"color-picker-input-range-".concat(this.props.id),value:a.hsv.hue,onChange:this.props.onHueChange}),o.a.createElement(af,{name:"".concat(this.props.id,"-color-picker-swatch-toggle-button-group"),assistiveText:{label:"Toggle Transparency"},style:{border:"none",borderRadius:"unset"},onChange:this.handleSwatchChange},o.a.createElement(Pf,{checked:!this.isTransparent(),id:"color-picker-active-working-color-swatch-".concat(this.props.id),key:"working-color",labels:{label:this.props.labels.customTabActiveWorkingColorSwatch},style:t,value:a.hex,variant:"swatch"}),o.a.createElement(Pf,{checked:this.isTransparent(),id:"color-picker-transparent-swatch-".concat(this.props.id),key:"transparent",labels:{label:this.props.labels.customTabTransparentSwatch},style:n,value:"",variant:"swatch"}))))}}])&&Lf(t.prototype,n),r&&Lf(t,r),i}(o.a.Component);Kf(Uf,"displayName","SLDSHsvColor");var zf=Uf;function Gf(e){return(Gf="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function Yf(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function Qf(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function Jf(e,t){return(Jf=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function Xf(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=Zf(e);if(t){var o=Zf(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return $f(this,n)}}function $f(e,t){return!t||"object"!==Gf(t)&&"function"!=typeof t?function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e):t}function Zf(e){return(Zf=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}var ed=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&Jf(e,t)}(i,e);var t,n,r,a=Xf(i);function i(){return Yf(this,i),a.apply(this,arguments)}return t=i,(n=[{key:"render",value:function(){var e;return e=this.props.errorTextWorkingColor?this.props.errorTextWorkingColor:this.props.color.errors&&this.props.color.errors.hex?this.props.labels.invalidColor:this.props.labels.invalidComponent,o.a.createElement("div",{className:"slds-color-picker__custom"},o.a.createElement(zf,{assistiveText:this.props.assistiveText,color:this.props.color,id:this.props.id,labels:this.props.labels,onHueChange:this.props.onHueChange,onSaturationValueChange:this.props.onSaturationValueChange,onSaturationNavigate:this.props.onSaturationNavigate,onValueNavigate:this.props.onValueNavigate,onSwatchChange:this.props.onSwatchChange,previousColor:this.props.previousColor}),o.a.createElement(Hp,{color:this.props.color,id:this.props.id,errorTextWorkingColor:this.props.errorTextWorkingColor,labels:this.props.labels,onBlueChange:this.props.onBlueChange,onGreenChange:this.props.onGreenChange,onHexChange:this.props.onHexChange,onRedChange:this.props.onRedChange}),this.props.errorTextWorkingColor||this.props.color.errors?o.a.createElement("p",{className:"slds-form-error slds-color-picker__input-custom-error",id:"color-picker-custom-error-".concat(this.props.id)},e):"")}}])&&Qf(t.prototype,n),r&&Qf(t,r),i}(o.a.Component);!function(e,t,n){t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n}(ed,"displayName","SLDSCustomColor");var td=ed,nd=n(7),rd=n.n(nd);function od(e){return(od="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function ad(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function id(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function sd(e,t){return(sd=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function ld(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=ud(e);if(t){var o=ud(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return cd(this,n)}}function cd(e,t){return!t||"object"!==od(t)&&"function"!=typeof t?function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e):t}function ud(e){return(ud=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}var pd={border:"1px solid #141414",borderRadius:"2px",margin:"3px"},fd={border:"1px solid white",borderRadius:"2px"},dd=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&sd(e,t)}(i,e);var t,n,r,a=ld(i);function i(){return ad(this,i),a.apply(this,arguments)}return t=i,(n=[{key:"render",value:function(){var e=this;return o.a.createElement("li",{className:"slds-color-picker__swatch",style:this.props.workingColor&&this.props.workingColor.hex===this.props.color?pd:{},role:"presentation"},o.a.createElement("a",{"aria-selected":this.props.workingColor&&this.props.workingColor.hex===this.props.color,className:"slds-color-picker__swatch-trigger",onClick:function(t){!function(e,t){var n=t.hex,r=t.onSelect;e.preventDefault(),r(e,{hex:n})}(t,{hex:e.props.color,onSelect:e.props.onSelect})},ref:this.props.swatchOptionRef,role:"option",style:this.props.workingColor&&this.props.workingColor===this.props.color?fd:{},tabIndex:this.props.tabIndex},o.a.createElement(uf,{color:this.props.color,labels:this.props.labels})))}}])&&id(t.prototype,n),r&&id(t,r),i}(o.a.Component);!function(e,t,n){t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n}(dd,"displayName","SLDSSwatchOption");var hd=dd;function md(e){return(md="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function bd(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function yd(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function gd(e,t){return(gd=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function vd(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=Sd(e);if(t){var o=Sd(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return Od(this,n)}}function Od(e,t){return!t||"object"!==md(t)&&"function"!=typeof t?_d(e):t}function _d(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function Sd(e){return(Sd=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function xd(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var wd=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&gd(e,t)}(i,e);var t,n,r,a=vd(i);function i(e){var t;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,i),xd(_d(t=a.call(this,e)),"selectPreviousColor",(function(e,n){var r=rd()(n.swatchColors,(function(e){return e===n.color.hex})),o=-1===r||r===n.swatchColors.length-1?0:r+1,a=n.swatchColors[o];n.onSelect(e,{hex:a}),t.swatchColorRefs[a].focus()})),xd(_d(t),"selectNextColor",(function(e,n){var r,o=rd()(n.swatchColors,(function(e){return e===n.color.hex}));r=0===o?n.swatchColors.length-1:-1===o?0:o-1;var a=n.swatchColors[r];n.onSelect(e,{hex:a}),t.swatchColorRefs[a].focus()})),xd(_d(t),"handleKeyDown",(function(e,n){var r,o=(xd(r={},At.RIGHT,(function(){n.direction===Te.RTL?t.selectNextColor(e,n):t.selectPreviousColor(e,n)})),xd(r,At.DOWN,(function(){t.selectPreviousColor(e,n)})),xd(r,At.LEFT,(function(){n.direction===Te.RTL?t.selectPreviousColor(e,n):t.selectNextColor(e,n)})),xd(r,At.UP,(function(){t.selectNextColor(e,n)})),r);e.keyCode&&o[e.keyCode]&&(Dt.trapEvent(e),o[e.keyCode]())})),xd(_d(t),"addRef",(function(e){return function(n){t.swatchColorRefs[e]=n}})),t.swatchColorRefs={},t}return t=i,(n=[{key:"render",value:function(){var e=this,t=this.props.swatchColors.includes(this.props.color.hex);return o.a.createElement("ul",{className:"slds-color-picker__swatches",role:"listbox",onKeyDown:function(t){e.handleKeyDown(t,function(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?bd(Object(n),!0).forEach((function(t){xd(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):bd(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}({},e.props))}},this.props.swatchColors.map((function(n,r){return o.a.createElement(hd,{color:n,key:n,labels:e.props.labels,onSelect:e.props.onSelect,swatchOptionRef:e.addRef(n),workingColor:e.props.color,tabIndex:e.props.color&&e.props.color.hex===n||0===r&&!t?0:-1})})))}}])&&yd(t.prototype,n),r&&yd(t,r),i}(o.a.Component);xd(wd,"displayName","SLDSSwatchPicker");var Ed=st(wd),jd=function(e){var t=e.id,n=e.className,r=e.children,a=e.variant;return o.a.createElement("ul",{id:"".concat(t,"-slds-tabs__nav"),className:l()(n,{"slds-tabs_default__nav":"default"===a,"slds-tabs_scoped__nav":"scoped"===a,"slds-vertical-tabs__nav":"vertical"===a}),role:"tablist","aria-orientation":"vertical"===a?"vertical":void 0},r)};jd.displayName="SLDSTabsList",jd.propTypes={id:i.a.string,className:i.a.oneOfType([i.a.array,i.a.object,i.a.string]),children:i.a.oneOfType([i.a.object,i.a.array]),variant:i.a.oneOf(["default","scoped","vertical"])};var Cd=jd;function Pd(e){return(Pd="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function Nd(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function Td(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function kd(e,t){return(kd=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function Rd(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=Ad(e);if(t){var o=Ad(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return Dd(this,n)}}function Dd(e,t){return!t||"object"!==Pd(t)&&"function"!=typeof t?Id(e):t}function Id(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function Ad(e){return(Ad=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function Ld(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var Bd=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&kd(e,t)}(i,e);var t,n,r,a=Rd(i);function i(){var e;Nd(this,i);for(var t=arguments.length,n=new Array(t),r=0;r<t;r++)n[r]=arguments[r];return Ld(Id(e=a.call.apply(a,[this].concat(n))),"checkFocus",(function(){e.props.selected&&e.props.focus&&e.node&&e.node.focus()})),e}return t=i,(n=[{key:"componentDidMount",value:function(){this.checkFocus()}},{key:"componentDidUpdate",value:function(){this.checkFocus()}},{key:"render",value:function(){var e,t,n,r=this,a=this.props,i=a.selected,s=a.disabled,c=a.panelId,u=a.activeTabClassName,p=a.disabledTabClassName,f=a.className,d=a.children,h=a.id,m=a.variant,b=a.hasError;return n=i?"0":"-1",o.a.createElement("li",{className:l()(f,(e={},Ld(e,u,i),Ld(e,p,s),Ld(e,"slds-tabs_default__item","default"===m),Ld(e,"slds-tabs_scoped__item","scoped"===m),Ld(e,"slds-vertical-tabs__nav-item","vertical"===m),e)),role:"presentation",id:h,title:"string"==typeof d?d:null},o.a.createElement("a",{className:l()((t={},Ld(t,u,i),Ld(t,p,s),Ld(t,"slds-tabs_default__link","default"===m),Ld(t,"slds-tabs_scoped__link","scoped"===m),Ld(t,"slds-vertical-tabs__link","vertical"===m),t)),href:"javascript:void(0);",role:"tab",ref:function(e){r.node=e},tabIndex:n,"aria-controls":c,"aria-disabled":s,"aria-selected":i?"true":"false"},d,b&&o.a.createElement("span",{className:l()({"slds-tabs__right-icon":"vertical"!==m,"slds-vertical-tabs__right-icon":"vertical"===m})},o.a.createElement(jn,{assistiveText:{label:this.props.assistiveText.withErrorIcon},category:"utility",containerClassName:"slds-icon_container slds-icon-utility-error",size:"x-small",name:"error",colorVariant:"error",title:this.props.assistiveText.withErrorIcon}))))}}])&&Td(t.prototype,n),r&&Td(t,r),i}(o.a.Component);Ld(Bd,"displayName","SLDSTab"),Ld(Bd,"propTypes",{className:i.a.string,id:i.a.string,focus:i.a.bool,selected:i.a.bool,disabled:i.a.bool,activeTabClassName:i.a.string,disabledTabClassName:i.a.string,panelId:i.a.string,children:i.a.oneOfType([i.a.string,i.a.element]),variant:i.a.oneOf(["default","scoped","vertical"]),hasError:i.a.bool,assistiveText:i.a.shape({withErrorIcon:i.a.string})}),Ld(Bd,"defaultProps",{focus:!1,selected:!1,activeTabClassName:"slds-is-active",disabledTabClassName:"slds-disabled",variant:"default",hasError:!1,assistiveText:{withErrorIcon:"This item has an error"}});var Fd=Bd;function Md(e,t){if(null==e)return{};var n,r,o=function(e,t){if(null==e)return{};var n,r,o={},a=Object.keys(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)>=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}var qd=function(e){var t=e.className,n=e.children,r=e.variant,a=e.selected,i=e.id,s=e.tabId;Md(e,["className","children","variant","selected","id","tabId"]);return o.a.createElement("div",{"aria-labelledby":s,className:l()(t,{"slds-show":a,"slds-hide":!a,"slds-tabs_default__content":"default"===r,"slds-tabs_scoped__content":"scoped"===r,"slds-vertical-tabs__content":"vertical"===r}),id:i,role:"tabpanel"},n.props.children)};qd.displayName="SLDSTabPanel",qd.propTypes={children:i.a.oneOfType([i.a.array,i.a.object,i.a.string]),className:i.a.string,id:i.a.string,selected:i.a.bool,variant:i.a.oneOf(["default","scoped","vertical"]),tabId:i.a.string},qd.defaultProps={variant:"default",selected:!1};var Hd=qd;function Kd(e){return(Kd="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function Wd(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function Vd(e,t){return(Vd=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function Ud(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=Yd(e);if(t){var o=Yd(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return zd(this,n)}}function zd(e,t){return!t||"object"!==Kd(t)&&"function"!=typeof t?Gd(e):t}function Gd(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function Yd(e){return(Yd=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function Qd(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Jd(e){return!(!e.classList||!e.classList.contains("slds-disabled"))||(e.getAttribute?"true"===e.getAttribute("aria-disabled"):!!e.props.disabled)}var Xd={id:i.a.string,children:i.a.oneOfType([i.a.arrayOf(i.a.node),i.a.node,i.a.element]).isRequired,className:i.a.oneOfType([i.a.array,i.a.object,i.a.string]),defaultSelectedIndex:i.a.number,onSelect:i.a.func,variant:i.a.oneOf(["default","scoped","vertical"]),selectedIndex:i.a.number},$d=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&Vd(e,t)}(i,e);var t,n,r,a=Ud(i);function i(e){var t;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,i),Qd(Gd(t=a.call(this,e)),"handleClick",(function(e){var n=e.target;do{if(t.isTabFromContainer(n)){if(Jd(n))return;var r=n.parentNode;"LI"===r.nodeName&&(r=(n=n.parentNode).parentNode);var o=[].slice.call(r.children).indexOf(n);return void t.setSelected(o)}}while(null!==(n=n.parentNode))})),Qd(Gd(t),"handleKeyDown",(function(e){if(t.isTabFromContainer(e.target)){var n=t.getSelectedIndex(),r=!1;e.keyCode===At.LEFT||e.keyCode===At.UP?(n=t.getPrevTab(n),r=!0):e.keyCode!==At.RIGHT&&e.keyCode!==At.DOWN||(n=t.getNextTab(n),r=!0),r&&Dt.trap(e),t.setSelected(n,!0)}})),t.tabs=[],t.generatedId=u.a.generate(),t.flavor=t.getVariant(),t.state={selectedIndex:e.defaultSelectedIndex},t}return t=i,(n=[{key:"getNextTab",value:function(e){for(var t=this.getTabsCount(),n=e+1;n<t;n++)if(!Jd(this.getTab(n)))return n;for(var r=0;r<e;r++)if(!Jd(this.getTab(r)))return r;return e}},{key:"getPanelsCount",value:function(){return this.props.children?o.a.Children.count(this.props.children):0}},{key:"getPrevTab",value:function(e){for(var t=e;t--;)if(!Jd(this.getTab(t)))return t;for(t=this.getTabsCount();t-- >e;)if(!Jd(this.getTab(t)))return t;return e}},{key:"getSelectedIndex",value:function(){return Number.isInteger(this.props.selectedIndex)?this.props.selectedIndex:this.state.selectedIndex}},{key:"getTab",value:function(e){return this.tabs[e].tab}},{key:"getTabNode",value:function(e){return this.tabs[e].node}},{key:"getTabsCount",value:function(){return this.props.children?o.a.Children.count(this.props.children):0}},{key:"getVariant",value:function(){return this.props.variant||"default"}},{key:"setSelected",value:function(e,t){if(!(e<0||e>=this.getTabsCount())){var n,r=this.getSelectedIndex();Ir()(this.props.onSelect)&&(n=this.props.onSelect(e,r)),!1!==n&&e!==this.state.selectedIndex&&this.setState({selectedIndex:e,focus:!0===t})}}},{key:"isTabFromContainer",value:function(e){if(!function(e){return"A"===e.nodeName&&"tab"===e.getAttribute("role")||"LI"===e.nodeName&&(e.classList.contains("slds-tabs_default__item")||e.classList.contains("slds-tabs_scoped__item")||e.classList.contains("slds-vertical-tabs__nav-item"))}(e))return!1;var t=e.parentElement;do{if(t===this.tabsNode)return!0;if(t.getAttribute("data-tabs"))break;t=t.parentElement}while(t);return!1}},{key:"renderTabPanels",value:function(e){var t=this,n=o.a.Children.toArray(this.props.children),r=this.getSelectedIndex();return n.map((function(a,i){var s="".concat(e,"-slds-tabs_tab-").concat(i),l="".concat(e,"-slds-tabs_panel-").concat(i),c=r===i,u=t.getVariant();return o.a.createElement(Hd,{key:a.key,selected:c,id:l,tabId:s,variant:u},n[i])}))}},{key:"renderTabsList",value:function(e){var t=this,n=o.a.Children.toArray(this.props.children);return o.a.createElement(Cd,{id:e,variant:this.getVariant()},n.map((function(n,r){var a="".concat(e,"-slds-tabs_tab-").concat(r),i="".concat(e,"-slds-tabs_panel-").concat(r),s=t.getSelectedIndex()===r,l=s&&t.state.focus,c=t.getVariant();return o.a.createElement(Fd,{key:n.key,ref:function(e){t.tabs[r]={tab:n,node:e},t.state.focus&&t.setState({focus:!1})},focus:l,selected:s,id:a,panelId:i,disabled:n.props.disabled,variant:c,hasError:n.props.hasError,assistiveText:n.props.assistiveText},n.props.label)})))}},{key:"render",value:function(){var e=this,t=this.props,n=t.className,r=t.id,a=void 0===r?this.generatedId:r,i=t.variant,s=void 0===i?this.getVariant:i;return o.a.createElement("div",{id:a,className:l()({"slds-tabs_default":"default"===s,"slds-tabs_scoped":"scoped"===s,"slds-vertical-tabs":"vertical"===s},n),onClick:this.handleClick,onKeyDown:this.handleKeyDown,"data-tabs":!0,ref:function(t){e.tabsNode=t}},this.renderTabsList(a),this.renderTabPanels(a))}}])&&Wd(t.prototype,n),r&&Wd(t,r),i}(o.a.Component);$d.displayName="SLDSTabs",$d.propTypes=Xd,$d.defaultProps={defaultSelectedIndex:0,variant:"default"};var Zd=$d,eh=function(e){var t=e.children;return o.a.createElement("div",null,o.a.Children.toArray(t))};eh.displayName="SLDSTabsPanel",eh.propTypes={label:i.a.oneOfType([i.a.string,i.a.element]).isRequired,children:i.a.oneOfType([i.a.arrayOf(i.a.node),i.a.node,i.a.element]).isRequired,hasError:i.a.bool,assistiveText:i.a.shape({withErrorIcon:i.a.string})};var th=eh;var nh=function(){},rh=n(43),oh=function(e){var t=e.isOpen,n=e.handleClick,r=e.keyCode,o=e.eventTarget,a=e.trigger,i=e.toggleOpen;switch(r){case At.ESCAPE:t&&i();break;case At.ENTER:t||function(e){var t=e.trigger,n=e.eventTarget,r=e.handleClick;t&&St.a.findDOMNode(t)===n&&r(event)}({trigger:a,eventTarget:o,handleClick:n})}};function ah(e){return(ah="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function ih(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function sh(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?ih(Object(n),!0).forEach((function(t){hh(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):ih(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function lh(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function ch(e,t){return(ch=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function uh(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=dh(e);if(t){var o=dh(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return ph(this,n)}}function ph(e,t){return!t||"object"!==ah(t)&&"function"!=typeof t?fh(e):t}function fh(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function dh(e){return(dh=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function hh(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var mh,bh="undefined"!=typeof document,yh=bh?document.createElement("span"):{style:{}};yh.style.top=0,yh.style.left=0,yh.style.width="100%",yh.style.height="100%",yh.style.position="absolute";var gh={align:"right",assistiveText:{closeButton:"Close dialog"},hasNoCloseButton:!1,hasNoNubbin:!1,hoverCloseDelay:300,openOn:"click",position:"absolute",variant:"base"},vh=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&ch(e,t)}(i,e);var t,n,r,a=uh(i);function i(e){var t;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,i),hh(fh(t=a.call(this,e)),"state",{isOpen:!1}),hh(fh(t),"getId",(function(){return t.props.id||t.generatedId})),hh(fh(t),"getIsOpen",(function(){return!t.props.disabled&&!!("boolean"==typeof t.props.isOpen?t.props.isOpen:t.state.isOpen)})),hh(fh(t),"getMenu",(function(){return t.dialog})),hh(fh(t),"getTargetElement",(function(){return t.props.onRequestTargetElement&&t.props.onRequestTargetElement()?t.props.onRequestTargetElement():t.trigger})),hh(fh(t),"setMenuRef",(function(e){t.dialog=e})),hh(fh(t),"setContainerRef",(function(e){t.trigger=e,t.state.inputRendered||t.setState({inputRendered:!0})})),hh(fh(t),"handleDialogClose",(function(e,n){var r=n&&n.componentWillUnmount||!1;mh===fh(t)&&(mh=void 0),t.props.onClose&&t.props.onClose(e,{componentWillUnmount:r})})),hh(fh(t),"handleClose",(function(e,n){t.getIsOpen()&&(t.props.onRequestClose&&t.props.onRequestClose(e,n),mh===fh(t)&&(mh=void 0),t.setState({isOpen:!1}),t.isHover=!1)})),hh(fh(t),"handleOpen",(function(){t.getIsOpen()||(mh&&Ir()(mh.handleClose)&&mh.handleClose(void 0,{trigger:"newPopover",id:mh.getId()}),mh=fh(t),t.setState({isOpen:!0}))})),hh(fh(t),"handleMouseEnter",(function(e){var n=t.getIsOpen();t.isHover=!0,n||"hover"!==t.props.openOn?clearTimeout(t.isClosing):t.handleOpen(),t.props.onMouseEnter&&t.props.onMouseEnter(e)})),hh(fh(t),"handleMouseLeave",(function(e){t.getIsOpen()&&(t.isClosing=setTimeout((function(){t.handleClose()}),t.props.hoverCloseDelay)),t.props.onMouseLeave&&t.props.onMouseLeave(e)})),hh(fh(t),"handleClick",(function(e,n){var r=n.triggerOnClickCallback;t.getIsOpen()?t.handleClose():t.handleOpen(),t.props.onClick&&t.props.onClick(e),r&&r(e)})),hh(fh(t),"handleFocus",(function(e){t.getIsOpen()||t.handleOpen(),t.props.onFocus&&t.props.onFocus(e)})),hh(fh(t),"handleKeyDown",(function(e){if(e.keyCode){if(e.keyCode!==At.TAB){var n=t.getIsOpen();oh({event:e,isOpen:n,handleClick:t.handleClick,key:e.key,keyCode:e.keyCode,targetTarget:e.target,toggleOpen:t.toggleOpenFromKeyboard,trigger:t.trigger})}t.props.onKeyDown&&t.props.onKeyDown(e)}})),hh(fh(t),"handleCancel",(function(e){t.handleClose(e,{trigger:"cancel"})})),hh(fh(t),"handleClickOutside",(function(e){t.handleClose(e,{trigger:"clickOutside"})})),hh(fh(t),"toggleOpenFromKeyboard",(function(e){t.getIsOpen()?t.handleCancel(e):t.handleOpen()})),hh(fh(t),"renderDialog",(function(e,n){var r=fh(t).props,a=r.offset,i=sh(sh({},gh.assistiveText),t.props.assistiveText),s=r.closeButtonAssistiveText||i.closeButton,c="error"===t.props.variant||"warning"===t.props.variant,u=t.props.heading||c,p={error:o.a.createElement(jn,{category:"utility",name:"error",size:"x-small",inverse:!0}),warning:o.a.createElement(jn,{category:"utility",name:"warning",size:"x-small",inverse:!0})},f={base:o.a.createElement("header",{className:l()("slds-popover__header",{"slds-p-vertical_medium":"walkthrough"===r.variant})},o.a.createElement("h2",{id:t.props.ariaLabelledby||"".concat(t.getId(),"-dialog-heading"),className:l()({"slds-text-heading_small":"walkthrough"!==r.variant,"slds-text-heading_medium":"walkthrough"===r.variant})},t.props.heading)),themed:o.a.createElement("header",{className:"slds-popover__header"},o.a.createElement(pc,{body:o.a.createElement("h2",{id:t.props.ariaLabelledby||"".concat(t.getId(),"-dialog-heading"),className:"slds-truncate slds-text-heading_medium",title:r.heading},r.heading),figure:p[t.props.variant],verticalCenter:!0}))},d=null;u&&"walkthrough-action"!==r.variant&&"feature"!==r.variant&&(d=f[c?"themed":"base"]);var h=null;h="error"===r.variant||"warning"===r.variant?o.a.createElement("div",null,o.a.createElement("div",{id:"".concat(t.getId(),"-dialog-body"),className:l()("slds-popover__body",t.props.classNameBody),style:{borderBottom:"none"}},r.body),o.a.createElement("div",{style:{position:"absolute",bottom:0,left:0,width:"100%",textAlign:"center",margin:0,padding:"5px 0",backgroundImage:"linear-gradient(to bottom, transparent, rgba(255,255,255,100)"}})):"walkthrough-action"===r.variant||"feature"===r.variant?o.a.createElement("div",{className:l()("slds-popover__body",t.props.classNameBody),id:"".concat(t.getId(),"-dialog-body")},o.a.createElement("div",{className:"slds-media"},o.a.createElement("div",{className:"slds-media__figure"},"walkthrough-action"===r.variant?o.a.createElement(jn,{category:"utility",name:"touch_action",size:"small",inverse:!0}):t.props.icon),o.a.createElement("div",{className:"slds-media__body"},r.heading?o.a.createElement("h2",{id:t.props.ariaLabelledby||"".concat(t.getId(),"-dialog-heading"),className:"slds-text-heading_small"},r.heading):null,r.body,r.stepText?o.a.createElement("p",{className:"slds-m-top_medium slds-text-title"},r.stepText):null))):o.a.createElement("div",{id:"".concat(t.getId(),"-dialog-body"),className:l()("slds-popover__body",t.props.classNameBody)},r.body);var m=null;return r.footer?m=o.a.createElement("footer",{className:l()("slds-popover__footer",t.props.classNameFooter,t.props.footerClassName),style:t.props.footerStyle},t.props.footer):"walkthrough-action"!==r.variant&&(r.footerWalkthroughActions||r.stepText)&&(m=o.a.createElement("footer",{className:"slds-popover__footer"},o.a.createElement("div",{className:"slds-grid slds-grid_vertical-align-center"},r.stepText?o.a.createElement("span",{className:"slds-text-title"},r.stepText):null,r.footerWalkthroughActions?o.a.createElement("div",{className:"slds-col_bump-left",style:{display:"inline-block"}},r.footerWalkthroughActions):null))),e?o.a.createElement(mn,{hasNubbin:!t.props.hasNoNubbin,align:r.align,contentsClassName:l()(t.props.contentsClassName,"ignore-react-onclickoutside","slds-popover",{"slds-popover_error":"error"===r.variant},{"slds-popover_walkthrough":"walkthrough"===r.variant||"walkthrough-action"===r.variant||"feature"===r.variant},{"slds-popover_walkthrough-alt":"walkthrough-action"===r.variant},{"slds-popover_feature":"feature"===r.variant},{"slds-popover_warning":"warning"===r.variant},r.className),context:t.context,hasStaticAlignment:r.hasStaticAlignment,offset:a,onCancel:t.handleClose,onClose:t.handleDialogClose,onOpen:t.props.onOpen,onKeyDown:t.handleKeyDown,onMouseEnter:"hover"===r.openOn?t.handleMouseEnter:null,onMouseLeave:"hover"===r.openOn?t.handleMouseLeave:null,outsideClickIgnoreClass:n,onRequestTargetElement:function(){return t.getTargetElement()},position:t.props.position,style:t.props.style,variant:"popover",ref:t.setMenuRef,containerProps:{id:"".concat(t.getId(),"-popover"),"aria-labelledby":t.props.ariaLabelledby||"".concat(t.getId(),"-dialog-heading"),"aria-describedby":"".concat(t.getId(),"-dialog-body")}},!t.props.hasNoCloseButton&&o.a.createElement(or,{assistiveText:{icon:s},iconCategory:"utility",iconName:"close",className:l()("slds-button slds-button_icon-small slds-float_right slds-popover__close slds-button_icon",{"slds-button_icon-inverse":"walkthrough"===r.variant||"walkthrough-action"===r.variant||"feature"===r.variant}),onClick:t.handleCancel,variant:"icon",inverse:"error"===t.props.variant||"warning"===t.props.variant}),d,h,m):null})),hh(fh(t),"renderOverlay",(function(e){Ir()(yh)&&bh?yh(e,yh):t.props.overlay&&e&&!t.overlay&&bh?(t.overlay=yh,document.querySelector("body").appendChild(t.overlay)):!e&&t.overlay&&t.overlay.parentNode&&(t.overlay.parentNode.removeChild(t.overlay),t.overlay=void 0)})),t.generatedId=u.a.generate(),nh(se,e,rh),t}return t=i,(n=[{key:"componentWillUnmount",value:function(){mh===this&&(mh=void 0),this.isUnmounting=!0,this.renderOverlay(!1)}},{key:"render",value:function(){var e=this,t=[],n="ignore-click-".concat(this.getId()),r=null;o.a.Children.forEach(this.props.children,(function(n,a){0===a?r=o.a.cloneElement(n,sh({"aria-haspopup":"dialog",id:e.getId(),onClick:"click"===e.props.openOn||"hybrid"===e.props.openOn?function(t){e.handleClick(t,{triggerOnClickCallback:n.props.onClick})}:n.props.onClick,onFocus:"hover"===e.props.openOn?e.handleFocus:null,onMouseDown:e.props.onMouseDown,onMouseEnter:"hover"===e.props.openOn||"hybrid"===e.props.openOn?e.handleMouseEnter:null,onMouseLeave:"hover"===e.props.openOn||"hybrid"===e.props.openOn?e.handleMouseLeave:null,tabIndex:n.props.tabIndex||"0"},n.props)):t.push(n)})),this.renderOverlay(this.getIsOpen());var a={display:this.props.hasNoTriggerStyles?void 0:"inline-block"};return o.a.createElement("div",{className:this.props.triggerClassName,style:a,ref:this.setContainerRef},r,t.length>0?t:null,this.renderDialog(this.getIsOpen(),n))}}])&&lh(t.prototype,n),r&&lh(t,r),i}(o.a.Component);hh(vh,"displayName",se),hh(vh,"propTypes",{align:i.a.oneOf(["top","top left","top right","right","right top","right bottom","bottom","bottom left","bottom right","left","left top","left bottom"]),assistiveText:i.a.shape({closeButton:i.a.string}),ariaLabelledby:i.a.string,children:i.a.node.isRequired,body:i.a.oneOfType([i.a.node,i.a.array]).isRequired,classNameBody:i.a.oneOfType([i.a.array,i.a.object,i.a.string]),classNameFooter:i.a.oneOfType([i.a.array,i.a.object,i.a.string]),disabled:i.a.bool,footer:i.a.node,footerStyle:i.a.object,footerWalkthroughActions:i.a.oneOfType([i.a.node,i.a.arrayOf(i.a.node)]),hasNoCloseButton:i.a.bool,hasNoNubbin:i.a.bool,hasStaticAlignment:i.a.bool,hasNoTriggerStyles:i.a.bool,heading:i.a.oneOfType([i.a.string,i.a.node]),icon:i.a.node,id:i.a.string,isOpen:i.a.bool,onClick:i.a.func,onClose:i.a.func,onKeyDown:i.a.func,onMouseDown:i.a.func,onOpen:i.a.func,onRequestClose:i.a.func,onRequestTargetElement:i.a.func,position:i.a.oneOf(["absolute","overflowBoundaryElement","relative"]),stepText:i.a.string,style:i.a.object,overlay:i.a.oneOfType([i.a.bool,i.a.func]),triggerClassName:i.a.oneOfType([i.a.array,i.a.object,i.a.string]),variant:i.a.oneOf(["base","error","feature","walkthrough","walkthrough-action","warning"])}),hh(vh,"defaultProps",gh),vh.contextTypes={iconPath:i.a.string};var Oh=Ci(vh),_h=n(44);function Sh(e){return(Sh="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function xh(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function wh(e,t){return(wh=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function Eh(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=Ph(e);if(t){var o=Ph(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return jh(this,n)}}function jh(e,t){return!t||"object"!==Sh(t)&&"function"!=typeof t?Ch(e):t}function Ch(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function Ph(e){return(Ph=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function Nh(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var Th={assistiveText:i.a.shape({label:i.a.string,hueSlider:i.a.string,saturationValueGrid:i.a.string}),className:i.a.oneOfType([i.a.array,i.a.object,i.a.string]),classNameMenu:i.a.oneOfType([i.a.array,i.a.object,i.a.string]),id:i.a.string,disabled:i.a.bool,errorText:i.a.string,errorTextWorkingColor:i.a.string,events:i.a.shape({onChange:i.a.func,onClose:i.a.func,onOpen:i.a.func,onRequestClose:i.a.func,onRequestOpen:i.a.func,onValidateColor:i.a.func,onValidateWorkingColor:i.a.func,onWorkingColorChange:i.a.func}),hasStaticAlignment:i.a.bool,hideInput:i.a.bool,isOpen:i.a.bool,labels:i.a.shape({blueAbbreviated:i.a.string,cancelButton:i.a.string,customTab:i.a.string,customTabActiveWorkingColorSwatch:i.a.string,customTabTransparentSwatch:i.a.string,greenAbbreviated:i.a.string,hexLabel:i.a.string,invalidColor:i.a.string,invalidComponent:i.a.string,label:i.a.string,redAbbreviated:i.a.string,swatchTab:i.a.string,swatchTabTransparentSwatch:i.a.string,submitButton:i.a.string}),menuPosition:i.a.oneOf(["absolute","overflowBoundaryElement","relative"]),swatchColors:i.a.arrayOf(i.a.string),defaultSelectedTab:i.a.oneOf(["swatches","custom"]),variant:i.a.oneOf(["base","swatches","custom"]),value:i.a.string,valueWorking:i.a.string},kh={assistiveText:{saturationValueGrid:"Use arrow keys to select a saturation and brightness, on an x and y axis.",hueSlider:"Select Hue"},events:{},labels:{blueAbbreviated:"B",cancelButton:"Cancel",customTab:"Custom",customTabActiveWorkingColorSwatch:"Working Color",customTabTransparentSwatch:"Transparent Swatch",greenAbbreviated:"G",hexLabel:"Hex",invalidColor:"The color entered is invalid",invalidComponent:"The value needs to be an integer from 0-255",redAbbreviated:"R",submitButton:"Done",swatchTab:"Default",swatchTabTransparentSwatch:"Transparent Swatch"},menuPosition:"absolute",swatchColors:["#e3abec","#c2dbf7","#9fd6ff","#9de7da","#9df0c0","#fff099","#fed49a","#d073e0","#86baf3","#5ebbff","#44d8be","#3be282","#ffe654","#ffb758","#bd35bd","#5779c1","#5679c0","#00aea9","#3cba4c","#f5bc25","#f99221","#580d8c","#001970","#0a2399","#0b7477","#0b6b50","#b67e11","#b85d0d",""],defaultSelectedTab:"swatches",variant:"base"},Rh=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&wh(e,t)}(i,e);var t,n,r,a=Eh(i);function i(e){var t;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,i),Nh(Ch(t=a.call(this,e)),"handleSwatchChange",(function(e){t.setWorkingColor(e,{hex:e.target.value})})),Nh(Ch(t),"handleOnRequestClose",(function(e,n){var r=n.trigger;"clickOutside"!==r&&"cancel"!==r||t.handleCancelState(),t.props.onRequestClose&&t.props.onRequestClose(e,{trigger:r})})),Nh(Ch(t),"handleClickOutside",(function(e){t.handleCancelButtonClick(e)})),Nh(Ch(t),"handleCancel",(function(e){t.handleCancelState(),t.props.onRequestClose&&t.props.onRequestClose(e,{trigger:"cancel"})})),Nh(Ch(t),"handleCancelState",(function(){var e=kf.getNewColor({hex:t.state.currentColor},t.props.events.onValidateWorkingColor);t.setState({isOpen:!1,workingColor:e,previousWorkingColor:e})})),Nh(Ch(t),"handleHexInputChange",(function(e,n){var r=n.labels,o=e.target.value,a=kf.getHexFromNamedColor(o),i=!1;i=t.props.events.onValidateColor?t.props.events.onValidateColor(o):!!a||kf.isValidHex(o),t.setState({currentColor:o,workingColor:kf.getNewColor({hex:a||o,name:a?o.toLowerCase():null},t.props.events.onValidateWorkingColor),colorErrorMessage:i?"":r.invalidColor}),t.props.events.onChange&&t.props.events.onChange(e,{color:o,isValid:i})})),Nh(Ch(t),"handleSaturationValueChange",(function(e,n){var r=n.saturation,o=n.value;t.setWorkingColor(e,{saturation:r,value:o})})),Nh(Ch(t),"handleSubmitButtonClick",(function(e){t.setState({isOpen:!1,currentColor:t.state.workingColor.hex,colorErrorMessage:""}),t.props.events.onChange&&t.props.events.onChange(e,{color:t.state.workingColor.hex,isValid:!0})})),Nh(Ch(t),"handleSwatchButtonClick",(function(){var e=kf.getNewColor({hex:t.state.workingColor.hex},t.props.events.onValidateWorkingColor);t.setState({isOpen:!t.state.isOpen,workingColor:e,previousWorkingColor:t.state.previousWorkingColor}),t.props.onRequestOpen&&t.props.onRequestOpen()})),Nh(Ch(t),"handleSwatchSelect",(function(e,n){var r=n.hex;t.setWorkingColor(e,{hex:r})})),t.generatedId=e.id||u.a.generate();var n=kf.getNewColor({hex:e.valueWorking||e.value},e.events.onValidateWorkingColor);return t.state={currentColor:null!=e.value?e.value:"",disabled:e.disabled,isOpen:e.isOpen,workingColor:n,previousWorkingColor:n,colorErrorMessage:e.errorText},Np(j,e,_h),t}return t=i,(n=[{key:"componentDidUpdate",value:function(e){var t={};this.props.value!==e.value&&(t.currentColor=this.props.value),this.props.valueWorking!==e.valueWorking&&(t.workingColor=kf.getNewColor({hex:this.props.valueWorking},this.props.events.onValidateWorkingColor)),this.props.disabled!==e.disabled&&(t.disabled=this.props.disabled),0!==Object.entries(t).length&&this.setState(t)}},{key:"getInput",value:function(e){var t=this,n=e.labels;return this.props.hideInput?null:o.a.createElement(Pu,{"aria-describedby":!this.state.isOpen&&this.state.colorErrorMessage?"color-picker-summary-error-".concat(this.generatedId):void 0,className:l()("slds-color-picker__summary-input","slds-align-top",{"slds-has-error":!!this.state.colorErrorMessage}),disabled:this.props.disabled,id:"color-picker-summary-input-".concat(this.generatedId),onChange:function(e){t.handleHexInputChange(e,{labels:n})},value:this.state.currentColor})}},{key:"getDefaultTab",value:function(e){var t=e.labels;return("base"===this.props.variant||"swatches"===this.props.variant)&&o.a.createElement(th,{label:t.swatchTab},o.a.createElement(Ed,{color:this.state.workingColor,labels:t,onSelect:this.handleSwatchSelect,swatchColors:this.props.swatchColors}))}},{key:"getCustomTab",value:function(e){var t=e.labels;return("base"===this.props.variant||"custom"===this.props.variant)&&o.a.createElement(th,{label:t.customTab},o.a.createElement(td,{assistiveText:this.props.assistiveText,id:this.generatedId,color:this.state.workingColor,errorTextWorkingColor:this.props.errorTextWorkingColor,previousColor:this.state.previousWorkingColor,labels:t,onBlueChange:this.handleColorChange("blue"),onGreenChange:this.handleColorChange("green"),onHexChange:this.handleColorChange("hex"),onHueChange:this.handleColorChange("hue"),onRedChange:this.handleColorChange("red"),onSwatchChange:this.handleSwatchChange,onSaturationValueChange:this.handleSaturationValueChange,onSaturationNavigate:this.handleNavigate("saturation"),onValueNavigate:this.handleNavigate("value")}))}},{key:"getPopover",value:function(e){var t=e.labels,n=o.a.createElement(Zd,{id:"color-picker-tabs-".concat(this.generatedId),defaultSelectedIndex:"custom"===this.props.defaultSelectedTab?1:0},this.getDefaultTab({labels:t}),this.getCustomTab({labels:t})),r=o.a.createElement("div",{className:"slds-color-picker__selector-footer"},o.a.createElement(or,{className:"slds-color-picker__selector-cancel",id:"color-picker-footer-cancel-".concat(this.generatedId),label:t.cancelButton,onClick:this.handleCancel,variant:"neutral"}),o.a.createElement(or,{className:"slds-color-picker__selector-submit",disabled:Object.keys(this.state.workingColor.errors||{}).length>0,id:"color-picker-footer-submit-".concat(this.generatedId),label:t.submitButton,onClick:this.handleSubmitButtonClick,variant:"brand"}));return o.a.createElement(Oh,{ariaLabelledby:"color-picker-label-".concat(this.generatedId),align:"bottom left",body:n,className:l()("slds-color-picker__selector",this.props.classNameMenu),footer:r,hasNoCloseButton:!0,hasNoNubbin:!0,hasStaticAlignment:this.props.hasStaticAlignment,id:"slds-color-picker__selector-".concat(this.generatedId),isOpen:this.state.isOpen,onClose:this.props.onClose,onOpen:this.props.onOpen,onRequestClose:this.handleOnRequestClose,position:this.props.menuPosition},o.a.createElement(or,{className:"slds-color-picker__summary-button",disabled:this.props.disabled,iconClassName:"slds-m-left_xx-small",iconPosition:"right",iconVariant:"more",id:"slds-color-picker__summary-button-".concat(this.generatedId),label:o.a.createElement(uf,{color:this.state.currentColor,labels:t}),onClick:this.handleSwatchButtonClick,variant:"icon"}))}},{key:"setWorkingColor",value:function(e,t){var n=kf.getNewColor(t,this.props.events.onValidateWorkingColor,this.state.workingColor);this.setState({workingColor:n,previousWorkingColor:this.state.workingColor}),this.props.events.onWorkingColorChange&&this.props.events.onWorkingColorChange(e,{color:n})}},{key:"handleColorChange",value:function(e){var t=this;return function(n){var r={};r[e]=n.target.value,t.setWorkingColor(n,r)}}},{key:"handleNavigate",value:function(e){var t=this;return function(n,r){var o=r.delta,a={};a[e]=o;var i=kf.getDeltaColor(a,t.props.events.onValidateWorkingColor,t.state.workingColor);t.setState({workingColor:i,previousWorkingColor:t.state.workingColor}),t.props.events.onWorkingColorChange&&t.props.events.onWorkingColorChange(n,{color:i})}}},{key:"render",value:function(){var e=this,t=cr()({},kh.labels,this.props.labels);return o.a.createElement("div",{className:l()("slds-color-picker",this.props.className),ref:function(t){e.wrapper=t}},o.a.createElement("div",{className:"slds-color-picker__summary"},o.a.createElement("label",{className:l()("slds-color-picker__summary-label",this.props.assistiveText.label?"slds-assistive-text":""),htmlFor:this.props.hideInput?void 0:"color-picker-summary-input-".concat(this.generatedId),id:"color-picker-label-".concat(this.generatedId)},this.props.assistiveText.label?this.props.assistiveText.label:t.label),this.getPopover({labels:t}),this.getInput({labels:t}),!this.state.isOpen&&this.state.colorErrorMessage?o.a.createElement("p",{className:"slds-form-error",id:"color-picker-summary-error-".concat(this.generatedId)},this.state.colorErrorMessage):""))}}])&&xh(t.prototype,n),r&&xh(t,r),i}(o.a.Component);Nh(Rh,"displayName",j),Nh(Rh,"propTypes",Th),Nh(Rh,"defaultProps",kh);var Dh=Rh,Ih=n(12),Ah=n.n(Ih),Lh=n(15),Bh=n.n(Lh);function Fh(e,t){if(null==e)return{};var n,r,o=function(e,t){if(null==e)return{};var n,r,o={},a=Object.keys(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)>=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}function Mh(){return(Mh=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}function qh(e){return function(e){if(Array.isArray(e))return Hh(e)}(e)||function(e){if("undefined"!=typeof Symbol&&Symbol.iterator in Object(e))return Array.from(e)}(e)||function(e,t){if(!e)return;if("string"==typeof e)return Hh(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return Hh(e,t)}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Hh(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function Kh(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function Wh(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?Kh(Object(n),!0).forEach((function(t){Vh(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Kh(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function Vh(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var Uh={activeOption:i.a.object,activeOptionIndex:i.a.number,className:i.a.oneOfType([i.a.array,i.a.object,i.a.string]),classNameMenu:i.a.oneOfType([i.a.array,i.a.object,i.a.string]),classNameMenuSubHeader:i.a.oneOfType([i.a.array,i.a.object,i.a.string]),inheritWidthOf:i.a.oneOf(["target","menu","none"]),inputId:i.a.string,itemVisibleLength:i.a.oneOf([5,7,10]),labels:i.a.shape({noOptionsFound:i.a.oneOfType([i.a.node,i.a.string]).isRequired}),onRenderMenuItem:i.a.func,menuRef:i.a.oneOfType([i.a.func,i.a.object]),maxWidth:i.a.string,onSelect:i.a.func,options:i.a.array,resetActiveOption:i.a.func,selection:i.a.array,hasMenuSpinner:i.a.bool,optionsAddItem:i.a.arrayOf(i.a.shape({id:i.a.string,icon:i.a.node,label:i.a.oneOfType([i.a.string,i.a.func])})),optionsSearchEntity:i.a.arrayOf(i.a.shape({id:i.a.string,icon:i.a.node,label:i.a.oneOfType([i.a.string,i.a.func])})),tooltipMenuItemDisabled:i.a.element,variant:i.a.oneOf(["icon-title-subtitle","checkbox"]),isSelected:i.a.func,assistiveText:i.a.object},zh=function(e,t){if(!e||0===e.length||!t||0===t.length)return e;var n=e.toLowerCase().indexOf(t.toLowerCase());return n>-1?o.a.createElement(o.a.Fragment,null,e.substr(0,n),o.a.createElement("span",{key:"bold",className:"slds-text-title_bold"},"".concat(e.substr(n,t.length))),e.substr(n+t.length)):e},Gh=function(e,t){return null==e||"string"==typeof e?e:e(t)},Yh=function(e){var t="menu"===e.inheritWidthOf?"inherit":void 0;t="menu"===e.inheritWidthOf&&e.maxWidth?e.maxWidth:t;var n=function(e){var t=[];if(e.optionsSearchEntity.length>0){var n=e.optionsSearchEntity.map((function(e){return Wh(Wh({},e),{},{type:"header"})}));t.push.apply(t,qh(n))}if(t.push.apply(t,qh(e.options)),e.optionsAddItem.length>0){var r=e.optionsAddItem.map((function(e){return Wh(Wh({},e),{},{type:"footer"})}));t.push.apply(t,qh(r))}return t}(e).map((function(t,n){var r=n===e.activeOptionIndex&&e.activeOption&&Ot()(t.id,e.activeOption.id),a=e.isSelected({selection:e.selection,option:t})&&("header"!==t.type||"footer"===t.type),i=e.onRenderMenuItem;if("separator"===t.type)return t.label?o.a.createElement("li",{className:"slds-dropdown__header slds-truncate",title:t.label,role:"separator",key:"menu-separator-".concat(t.id)},o.a.createElement("span",{className:l()("slds-listbox__option-header",e.classNameMenuSubHeader)},t.label)):o.a.createElement("li",{className:"slds-has-divider_top-space",role:"separator",key:"menu-separator-".concat(t.id)});if("header"===t.type)return o.a.createElement("li",{key:"menu-header-".concat(t.id,"}"),role:"presentation",className:"slds-listbox__item"},o.a.createElement("div",{onClick:t.disabled?null:function(n){e.onSelect(n,{option:t})},"aria-selected":r,id:"".concat(e.inputId,"-listbox-option-").concat(t.id),className:l()("slds-media slds-listbox__option","slds-listbox__option_entity slds-listbox__option_term",{"slds-has-focus":r}),role:"option"},o.a.createElement("span",{className:"slds-media__figure slds-listbox__option-icon"},t.icon),o.a.createElement("span",{className:"slds-media__body"},Gh(t.label,e.inputValue))));if("footer"===t.type)return o.a.createElement("li",{key:"menu-footer-".concat(t.id,"}"),role:"presentation",className:"slds-listbox__item"},o.a.createElement("div",{"aria-selected":r,onClick:t.disabled?null:function(n){e.onSelect(n,{option:t})},id:"".concat(e.inputId,"-listbox-option-").concat(t.id),className:l()("slds-media slds-listbox__option","slds-listbox__option_entity slds-listbox__option_term",{"slds-has-focus":r}),role:"option"},o.a.createElement("span",{className:"slds-media__figure slds-listbox__option-icon"},t.icon),o.a.createElement("span",{className:"slds-media__body"},Gh(t.label,e.inputValue))));var s={},c="".concat(e.inputId,"-listbox-option-help-").concat(t.id);t.disabled&&e.tooltipMenuItemDisabled&&r&&(s["aria-describedby"]=c),t.disabled&&(s["aria-disabled"]=!!t.disabled,s.style={cursor:"default"});var u,p={"icon-title-subtitle":o.a.createElement("span",Mh({"aria-selected":r},s,{id:"".concat(e.inputId,"-listbox-option-").concat(t.id),key:"menu-subtitle-".concat(t.id),className:l()("slds-media slds-listbox__option","slds-listbox__option_entity slds-listbox__option_has-meta",{"slds-has-focus":r}),onClick:t.disabled?null:function(n){e.onSelect(n,{option:t})},role:"option"}),t.icon&&!e.onRenderMenuItem?o.a.createElement("span",{className:"slds-media__figure"},t.icon):null,e.onRenderMenuItem?o.a.createElement(i,{assistiveText:e.assistiveText,selected:a,option:t}):o.a.createElement("span",{className:"slds-media__body"},o.a.createElement("span",{className:l()("slds-listbox__option-text","slds-listbox__option-text_entity",{"slds-disabled-text":t.disabled})},zh(t.label,e.inputValue)),o.a.createElement("span",{className:l()("slds-listbox__option-meta slds-listbox__option-meta_entity",{"slds-disabled-text":t.disabled})},zh(t.subTitle,e.inputValue)))),checkbox:o.a.createElement("span",Mh({"aria-selected":r},s,{id:"".concat(e.inputId,"-listbox-option-").concat(t.id),key:"menu-checkbox-".concat(t.id),className:l()("slds-media slds-listbox__option"," slds-listbox__option_plain slds-media_small slds-media_center",{"slds-has-focus":r,"slds-is-selected":a}),onClick:t.disabled?null:function(n){e.onSelect(n,{selection:e.selection,option:t})},role:"option"}),o.a.createElement("span",{className:"slds-media__figure"},o.a.createElement(jn,{className:"slds-listbox__icon-selected",category:"utility",name:"check",size:"x-small"})),o.a.createElement("span",{className:"slds-media__body"},e.onRenderMenuItem?o.a.createElement(i,{assistiveText:e.assistiveText,selected:a,option:t}):o.a.createElement("span",{className:l()("slds-truncate",{"slds-disabled-text":t.disabled}),title:t.label},a?o.a.createElement("span",{className:"slds-assistive-text"},e.assistiveText.optionSelectedInMenu):null," ",t.label)))};if(t.disabled&&e.tooltipMenuItemDisabled){var f=e.tooltipMenuItemDisabled.props,d=f.content,h=Fh(f,["content"]),m=Wh({align:"top",content:t.tooltipContent||d,id:c,position:"absolute",silenceTriggerTabbableWarning:!0,triggerStyle:{width:"100%"}},h);r&&(m.isOpen=!0),u=o.a.cloneElement(e.tooltipMenuItemDisabled,m,p[e.variant])}else u=p[e.variant];return o.a.createElement("li",{className:"slds-listbox__item",key:"menu-option-".concat(t.id),role:"presentation"},u)}));return o.a.createElement("ul",{className:l()("slds-listbox slds-listbox_vertical slds-dropdown slds-dropdown_fluid",{"slds-dropdown_length-with-icon-5":5===e.itemVisibleLength,"slds-dropdown_length-with-icon-7":7===e.itemVisibleLength,"slds-dropdown_length-with-icon-10":10===e.itemVisibleLength},e.classNameMenu),ref:e.menuRef,role:"presentation",style:{width:"menu"===e.inheritWidthOf?"auto":void 0,maxWidth:t,position:"relative"!==e.menuPosition?"relative":void 0}},n.length?n:o.a.createElement("li",{className:"slds-listbox__item slds-listbox__status",role:"status","aria-live":"polite"},o.a.createElement("span",{className:"slds-m-left_x-large slds-p-vertical_medium"},e.labels.noOptionsFound)),e.hasMenuSpinner&&o.a.createElement("li",{role:"presentation",className:"slds-listbox__item"},o.a.createElement("div",{className:"slds-align_absolute-center slds-p-top_medium"},o.a.createElement(Kc,{assistiveText:{label:e.assistiveText.loadingMenuItems},hasContainer:!1,isInline:!0,size:"x-small"}))))};Yh.displayName="Menu",Yh.propTypes=Uh,Yh.defaultProps={inputValue:"",menuRef:function(){},optionsAddItem:[],optionsSearchEntity:[]};var Qh=Yh,Jh={assistiveText:i.a.object,htmlFor:i.a.string,label:i.a.oneOfType([i.a.node,i.a.string]),required:i.a.bool,variant:i.a.oneOf(["base","static"])},Xh=function(e){var t=e.label||e.assistiveText&&e.assistiveText.label,n={base:o.a.createElement("label",{className:l()("slds-form-element__label",{"slds-assistive-text":e.assistiveText&&!e.label}),htmlFor:e.htmlFor},e.required&&o.a.createElement("abbr",{className:"slds-required",title:"required"},"*"),t),static:o.a.createElement("span",{className:"slds-form-element__label"},t)};return t?n[e.variant]:null};Xh.displayName="Label",Xh.propTypes=Jh,Xh.defaultProps={variant:"base"};var $h=Xh,Zh=function(e,t){var n=t.callbacks,r=void 0===n?{}:n,o=t.shiftCallbacks,a=void 0===o?{}:o,i=t.stopPropagation,s=void 0===i||i;e.shiftKey&&e.keyCode&&a[e.keyCode]?(s&&Dt.trapEvent(e),a[e.keyCode].callback(e,a[e.keyCode].data)):e.keyCode&&r[e.keyCode]?(s&&Dt.trapEvent(e),r[e.keyCode].callback(e,r[e.keyCode].data)):e.keyCode&&r.other&&(r.other.stopPropagation&&Dt.trapEvent(e),r.other.callback(e,r.other.data))};function em(e){return(em="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function tm(){return(tm=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}function nm(e,t){if(null==e)return{};var n,r,o=function(e,t){if(null==e)return{};var n,r,o={},a=Object.keys(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)>=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}function rm(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function om(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function am(e,t){return(am=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function im(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=cm(e);if(t){var o=cm(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return sm(this,n)}}function sm(e,t){return!t||"object"!==em(t)&&"function"!=typeof t?lm(e):t}function lm(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function cm(e){return(cm=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function um(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var pm={assistiveText:i.a.shape({remove:i.a.string}),avatar:i.a.element,bare:i.a.bool,children:i.a.node,className:i.a.oneOfType([i.a.array,i.a.object,i.a.string]),hasError:i.a.bool,href:i.a.string,icon:i.a.element,labels:i.a.shape({label:i.a.string,title:i.a.string,removeTitle:i.a.string}),onBlur:i.a.func,onClick:i.a.func,onFocus:i.a.func,onKeyDown:i.a.func,onRemove:i.a.func,variant:i.a.oneOf(["link","option"])},fm=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&am(e,t)}(i,e);var t,n,r,a=im(i);function i(){var e;rm(this,i);for(var t=arguments.length,n=new Array(t),r=0;r<t;r++)n[r]=arguments[r];return um(lm(e=a.call.apply(a,[this].concat(n))),"getHref",(function(){return"string"==typeof e.props.href?e.props.href:"javascript:void(0);"})),um(lm(e),"blur",(function(){e.root.blur()})),um(lm(e),"focus",(function(){e.root.focus()})),um(lm(e),"handleKeyDown",(function(t){if("function"==typeof e.props.onKeyDown){for(var n,r=arguments.length,o=new Array(r>1?r-1:0),a=1;a<r;a++)o[a-1]=arguments[a];if((n=e.props.onKeyDown).call.apply(n,[null,t].concat(o)),t.defaultPrevented)return}switch(t.keyCode){case At.ENTER:"function"==typeof e.props.onClick&&(Dt.trap(t),e.props.onClick());break;case At.BACKSPACE:case At.DELETE:"function"==typeof e.props.onRemove&&(Dt.trap(t),e.props.onRemove())}})),um(lm(e),"handleRef",(function(t){e.root=t})),um(lm(e),"restProps",(function(){var t=e.props;t.bare,t.hasError,t.variant,t.className,t.onClick,t.onRemove,t.labels,t.assistiveText,t.children,t.href,t.icon,t.avatar,t.onKeyDown;return nm(t,["bare","hasError","variant","className","onClick","onRemove","labels","assistiveText","children","href","icon","avatar","onKeyDown"])})),um(lm(e),"renderIcon",(function(){var t=e.props.icon||e.props.avatar;return t?o.a.createElement("span",{className:"slds-pill__icon_container"},t):null})),um(lm(e),"renderLabel",(function(){return e.props.labels.label?"link"===e.props.variant?o.a.createElement("a",{href:e.getHref(),className:"slds-pill__action",title:e.props.labels.title||e.props.labels.label,onClick:e.props.onClick},o.a.createElement("span",{className:"slds-pill__label"},e.props.labels.label)):o.a.createElement("span",{className:"slds-pill__label",title:e.props.labels.title||e.props.labels.label},e.props.labels.label):e.props.children})),um(lm(e),"renderRemoveIcon",(function(){return"function"==typeof e.props.onRemove?o.a.createElement("span",{className:"slds-icon_container slds-pill__remove",title:e.props.labels.removeTitle,role:"button",onClick:e.props.onRemove},o.a.createElement(pt,{style:{cursor:"pointer"},category:"utility",className:"slds-icon slds-icon_x-small slds-icon-text-default",name:"close"}),o.a.createElement("span",{className:"slds-assistive-text"},e.props.assistiveText.remove||e.props.labels.removeTitle)):null})),e}return t=i,(n=[{key:"render",value:function(){var e;switch(this.props.variant){case"link":e="button";break;case"option":e="option"}return o.a.createElement("span",tm({},this.restProps(),{role:e,className:l()("slds-pill",{"slds-pill_link":"link"===this.props.variant,"slds-has-error":this.props.hasError,"slds-pill_bare":this.props.bare},this.props.className),onClick:this.props.labels.label&&"link"===this.props.variant?null:this.props.onClick,onKeyDown:"function"==typeof this.props.onRemove?this.handleKeyDown:null,ref:this.handleRef}),this.renderIcon(),this.renderLabel(),this.renderRemoveIcon())}}])&&om(t.prototype,n),r&&om(t,r),i}(o.a.Component);fm.displayName="SLDSPill",fm.defaultProps={variant:"link",labels:{},assistiveText:{}},fm.propTypes=pm;var dm=fm;function hm(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function mm(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?hm(Object(n),!0).forEach((function(t){bm(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):hm(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function bm(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var ym={active:i.a.bool,assistiveText:i.a.shape({remove:i.a.string}),avatar:i.a.element,bare:i.a.bool,eventData:i.a.object,events:i.a.shape({onClick:i.a.func,onFocus:i.a.func,onRequestFocus:i.a.func.isRequired,onRequestFocusOnNextPill:i.a.func.isRequired,onRequestFocusOnPreviousPill:i.a.func.isRequired,onRequestRemove:i.a.func.isRequired}),hasError:i.a.bool,icon:i.a.element,labels:i.a.shape({label:i.a.string.isRequired,removeTitle:i.a.string}),requestFocus:i.a.bool,title:i.a.string,tabIndex:i.a.number},gm={assistiveText:i.a.shape({remove:", Press delete or backspace to remove"}),labels:{remove:"Remove"},events:{}},vm=function(e){var t=cr()({},gm.assistiveText,e.assistiveText),n=cr()({},gm.labels,e.labels);return o.a.createElement(dm,{avatar:e.avatar,bare:e.bare,hasError:e.hasError,tabIndex:e.tabIndex||"0",icon:e.icon,variant:"option",labels:n,assistiveText:{remove:t.remove},"aria-selected":"true",onBlur:e.events.onBlur,onClick:"function"==typeof e.events.onClick?function(t){e.events.onClick&&e.events.onClick(t,mm({},e.eventData))}:null,onFocus:function(t){e.events.onFocus&&e.events.onFocus(t,mm({},e.eventData))},onRemove:function(t){Dt.trap(t),function(e,t){var n=t.events,r=t.data;Dt.trap(e),n.onRequestRemove(e,r)}(t,{events:e.events,data:e.eventData})},onKeyDown:function(t){!function(e,t){var n,r=t.events,o=t.data;Zh(e,{callbacks:(n={},bm(n,At.BACKSPACE,{callback:r.onRequestRemove,data:o}),bm(n,At.DELETE,{callback:r.onRequestRemove,data:o}),bm(n,At.LEFT,{callback:r.onRequestFocusOnPreviousPill,data:mm(mm({},o),{},{direction:"previous"})}),bm(n,At.RIGHT,{callback:r.onRequestFocusOnNextPill,data:mm(mm({},o),{},{direction:"next"})}),n)})}(t,{events:e.events,data:e.eventData})},ref:function(t){e.requestFocus&&e.active&&e.events.onRequestFocus(void 0,{ref:t})}})};vm.displayName="Pill",vm.propTypes=ym,vm.defaultProps=gm;var Om=vm;var _m=function(e){return e.$$typeof&&"Symbol(react.element)"===e.$$typeof.toString()||e.type&&"function"==typeof e.type};function Sm(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function xm(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?Sm(Object(n),!0).forEach((function(t){wm(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Sm(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function wm(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var Em={activeOption:i.a.object,activeOptionIndex:i.a.number,assistiveText:i.a.shape({label:i.a.string,removePill:i.a.string,selectedListboxLabel:i.a.string}),className:i.a.oneOfType([i.a.array,i.a.object,i.a.string]),events:i.a.shape({onClickPill:i.a.func,onPillFocus:i.a.func.isRequired,onRequestFocus:i.a.func.isRequired,onRequestFocusOnNextPill:i.a.func.isRequired,onRequestFocusOnPreviousPill:i.a.func.isRequired,onRequestRemove:i.a.func.isRequired}),id:i.a.string,isBare:i.a.bool,isInline:i.a.bool,isPillContainer:i.a.bool,listboxAriaOrientation:i.a.string,listboxRole:i.a.string,containerAriaOrientation:i.a.string,containerRole:i.a.string,labels:i.a.shape({label:i.a.string,remove:i.a.string,title:i.a.string}),renderAtSelectionLength:i.a.number,selectedListboxRef:i.a.func,selection:i.a.array,style:i.a.object,listboxHasFocus:i.a.bool,variant:i.a.oneOf(["base","inline-listbox","readonly"])},jm=function(e){return e.selection.length>=e.renderAtSelectionLength?o.a.createElement("div",{className:l()({"slds-pill_container":e.isPillContainer},e.className)||void 0,id:e.id,ref:function(t){e.selectedListboxRef&&e.selectedListboxRef(t)},style:e.style,role:e.containerRole,"aria-orientation":e.containerAriaOrientation},o.a.createElement("ul",{className:l()("slds-listbox",{"slds-listbox_inline":e.isInline,"slds-listbox_horizontal":!e.isInline,"slds-p-top_xxx-small":!e.isInline}),"aria-label":e.assistiveText.selectedListboxLabel,role:e.listboxRole,"aria-orientation":e.listboxAriaOrientation},e.selection.map((function(t,n){var r=n===e.activeOptionIndex,a=function(e){var t=e.icon,n=null;return t&&(_m(t)||t instanceof HTMLElement?n=t:t.category&&t.name&&(n=o.a.createElement(jn,{category:t.category,name:t.name,title:t.title||e.label}))),n}(t),i=a?null:function(e){var t=e.avatar,n=null;return t&&(_m(t)||t instanceof HTMLElement?n=t:t.imgSrc&&(n=o.a.createElement(Ja,{imgSrc:t.imgSrc,title:t.title||e.label,variant:t.variant||"user"}))),n}(t);return o.a.createElement("li",{role:"presentation",className:"slds-listbox__item",key:"".concat(e.id,"-list-item-").concat(t.id)},o.a.createElement(Om,{active:r&&e.listboxHasFocus,assistiveText:{remove:e.assistiveText.removePill},avatar:i,bare:t.bare||e.isBare,error:t.error,events:{onBlur:e.events.onBlurPill,onClick:"function"==typeof e.events.onClickPill?function(t,r){e.events.onClickPill(t,xm(xm({},r),{},{index:n}))}:null,onFocus:function(t,r){e.events.onPillFocus(t,xm(xm({},r),{},{index:n}))},onRequestFocusOnNextPill:e.events.onRequestFocusOnNextPill,onRequestFocusOnPreviousPill:e.events.onRequestFocusOnPreviousPill,onRequestRemove:function(t,r){e.events.onRequestRemove(t,xm(xm({},r),{},{index:n}))},onRequestFocus:e.events.onRequestFocus},eventData:{option:t},hasError:t.error,icon:a,labels:{label:t.label,removeTitle:e.labels.removePillTitle},requestFocus:e.listboxHasFocus,tabIndex:r?0:-1}))})))):null};jm.displayName="SelectedListBox",jm.propTypes=Em,jm.defaultProps={listboxAriaOrientation:"horizontal",listboxRole:"listbox",renderAtSelectionLength:1};var Cm=jm,Pm=function(e){var t,n=e.key,r=e.keyBuffer,o=e.keyCode,a=e.options,i=n||String.fromCharCode(o),s=r(i=/^[ -~]$/.test(i)?i.toLowerCase():null),l=0;return s.length>1&&new RegExp("^[".concat(ys()(i),"]+$")).test(s)&&(l=s.length),a.forEach((function(e,n){var r=String(e.label).toLowerCase();(void 0===t&&r.substr(0,s.length)===s||l>0&&r.substr(0,1)===i)&&(l-=1,t=n)})),t},Nm=function(e){var t=e.container,n=e.focusedIndex,r=e.itemTag,o=void 0===r?"li":r,a=e.scrollPadding,i=void 0===a?4:a,s=t.querySelector("".concat(o,":nth-child(").concat(n+1,")"));s&&(s.offsetHeight-t.scrollTop+s.offsetTop>=t.offsetHeight?t.scrollTop=s.offsetHeight+s.offsetTop-t.offsetHeight+i:s.offsetTop<=t.scrollTop&&(t.scrollTop=s.offsetTop-i))};var Tm,km=function(){},Rm=n(45);function Dm(e){return(Dm="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function Im(){return(Im=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}function Am(e){return function(e){if(Array.isArray(e))return Lm(e)}(e)||function(e){if("undefined"!=typeof Symbol&&Symbol.iterator in Object(e))return Array.from(e)}(e)||function(e,t){if(!e)return;if("string"==typeof e)return Lm(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return Lm(e,t)}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Lm(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function Bm(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function Fm(e,t){return(Fm=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function Mm(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=Km(e);if(t){var o=Km(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return qm(this,n)}}function qm(e,t){return!t||"object"!==Dm(t)&&"function"!=typeof t?Hm(e):t}function Hm(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function Km(e){return(Km=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function Wm(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var Vm="undefined"!=typeof document,Um={assistiveText:i.a.shape({label:i.a.string,loadingMenuItems:i.a.string,optionSelectedInMenu:i.a.string,popoverLabel:i.a.string,removeSingleSelectedOption:i.a.string,removePill:i.a.string,selectedListboxLabel:i.a.string}),"aria-describedby":i.a.string,className:i.a.oneOfType([i.a.array,i.a.object,i.a.string]),classNameContainer:i.a.oneOfType([i.a.array,i.a.object,i.a.string]),classNameMenu:i.a.oneOfType([i.a.array,i.a.object,i.a.string]),classNameMenuSubHeader:i.a.oneOfType([i.a.array,i.a.object,i.a.string]),events:i.a.shape({onBlur:i.a.func,onChange:i.a.func,onClose:i.a.func,onFocus:i.a.func,onOpen:i.a.func,onRequestClose:i.a.func,onRequestOpen:i.a.func,onRequestRemoveSelectedOption:i.a.func,onSelect:i.a.func,onSubmit:i.a.func}),errorText:i.a.string,fieldLevelHelpTooltip:i.a.node,hasInputSpinner:i.a.bool,hasMenuSpinner:i.a.bool,hasStaticAlignment:i.a.bool,id:i.a.string,input:i.a.node,labels:i.a.shape({label:i.a.oneOfType([i.a.node,i.a.string]),multipleOptionsSelected:i.a.string,noOptionsFound:i.a.oneOfType([i.a.node,i.a.string]),placeholder:i.a.string,placeholderReadOnly:i.a.string,removePillTitle:i.a.string}),isOpen:i.a.bool,inheritWidthOf:i.a.oneOf(["target","menu","none"]),onRenderMenuItem:i.a.func,menuPosition:i.a.oneOf(["absolute","overflowBoundaryElement","relative"]),menuMaxWidth:i.a.string,multiple:i.a.bool,options:i.a.arrayOf(i.a.PropTypes.shape({id:i.a.string.isRequired,icon:i.a.node,label:i.a.string,subTitle:i.a.string,type:i.a.string,disabled:i.a.boolean,tooltipContent:i.a.node})),menuItemVisibleLength:i.a.oneOf([5,7,10]),predefinedOptionsOnly:i.a.bool,popover:i.a.node,required:i.a.bool,selection:i.a.arrayOf(i.a.PropTypes.shape({id:i.a.string.isRequired,icon:i.a.node,label:i.a.string,subTitle:i.a.string,type:i.a.string})).isRequired,selectedListboxRef:i.a.func,singleInputDisabled:i.a.bool,tooltipMenuItemDisabled:i.a.element,value:i.a.string,defaultValue:i.a.string,optionsAddItem:i.a.arrayOf(i.a.shape({id:i.a.string,icon:i.a.node,label:i.a.oneOfType([i.a.string,i.a.func])})),optionsSearchEntity:i.a.arrayOf(i.a.shape({id:i.a.string,icon:i.a.node,label:i.a.oneOfType([i.a.string,i.a.func])})),entityCombobox:i.a.node,variant:i.a.oneOf(["base","inline-listbox","popover","readonly"])},zm={assistiveText:{loadingMenuItems:"Loading",optionSelectedInMenu:"Current Selection:",removeSingleSelectedOption:"Remove selected option",removePill:", Press delete or backspace to remove",selectedListboxLabel:"Selected Options:"},events:{},labels:{cancelButton:"Cancel",doneButton:"Done",noOptionsFound:"No matches found.",optionDisabledTooltipLabel:"This option is disabled.",placeholderReadOnly:"Select an Option",removePillTitle:"Remove"},inheritWidthOf:"target",menuPosition:"absolute",optionsSearchEntity:[],optionsAddItem:[],required:!1,selection:[],singleInputDisabled:!1,variant:"base"},Gm=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&Fm(e,t)}(i,e);var t,n,r,a=Mm(i);function i(e){var t;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,i),Wm(Hm(t=a.call(this,e)),"getCustomPopoverProps",(function(e,n){var r=n.assistiveText,a=n.labels,i=o.a.createElement("div",null,o.a.createElement("div",{className:"slds-assistive-text",id:"".concat(t.getId(),"-label")},r.popoverLabel),e),s=o.a.createElement("div",null,o.a.createElement(or,{label:a.cancelButton,onClick:function(e){t.handleClose(e,{trigger:"cancel"})}}),o.a.createElement(or,{label:a.doneButton,variant:"brand",onClick:t.handleClose})),l={ariaLabelledby:"".concat(t.getId(),"-label"),align:"bottom",body:i,className:"slds-popover_full-width",footer:s,footerClassName:"slds-popover__footer_form",hasNoNubbin:!0,id:t.getId(),isOpen:t.state.isOpen,hasNoTriggerStyles:!0,onOpen:t.handleOpen,onClose:t.handleClose,onRequestClose:t.handleClose},c=cr()(l,t.props.popover?t.props.popover.props:{});return c.body=i,delete c.children,c})),Wm(Hm(t),"getId",(function(){return t.props.id||t.generatedId})),Wm(Hm(t),"getIsActiveOption",(function(){return t.state.activeOption&&-1!==t.state.activeOptionIndex})),Wm(Hm(t),"getIsOpen",(function(){return!!("boolean"==typeof t.props.isOpen?t.props.isOpen:t.state.isOpen)})),Wm(Hm(t),"getNewActiveOptionIndex",(function(e){var t=e.activeOptionIndex,n=e.offset,r=e.options,o=t+n,a=r.length>o&&o>=0&&"separator"===r[o].type?o+n:o;return r.length>o&&o>=0?a:t})),Wm(Hm(t),"getOptions",(function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:t.props,n=e,r=[];return n.optionsSearchEntity.length>0&&r.push.apply(r,Am(n.optionsSearchEntity)),n.options&&r.push.apply(r,Am(n.options)),n.optionsAddItem.length>0&&r.push.apply(r,Am(n.optionsAddItem)),r})),Wm(Hm(t),"getTargetElement",(function(){return t.inputRef})),Wm(Hm(t),"setInputRef",(function(e){t.inputRef=e,t.state.inputRendered||t.setState({inputRendered:!0})})),Wm(Hm(t),"setSelectedListboxRef",(function(e){t.selectedListboxRef=e,t.props.selectedListboxRef&&t.props.selectedListboxRef(e)})),Wm(Hm(t),"handleBlurPill",(function(){t.setState({listboxHasFocus:!1})})),Wm(Hm(t),"handleClickOutside",(function(e){t.handleRequestClose(e,{})})),Wm(Hm(t),"handleClose",(function(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=n.trigger,o=t.getIsOpen();o&&(Tm===Hm(t)&&(Tm=void 0),t.setState({activeOption:void 0,activeOptionIndex:-1,isOpen:!1}),"popover"===t.props.variant&&"cancel"===r&&t.props.popover.props.onClose&&t.props.popover.props.onClose(e,{trigger:r}),t.props.events.onClose&&t.props.events.onClose(e,{}))})),Wm(Hm(t),"handleInputBlur",(function(e){setTimeout((function(){var n=!!Vm&&document.activeElement;n&&"DIV"===n.tagName&&n.id==="".concat(t.getId(),"-listbox")?t.inputRef&&t.inputRef.focus():t.props.popover||t.handleClose(e)}),200),t.props.events.onBlur&&t.props.events.onBlur(e)})),Wm(Hm(t),"handleInputChange",(function(e){t.requestOpenMenu(),t.props.events&&t.props.events.onChange&&t.props.events.onChange(e,{value:e.target.value})})),Wm(Hm(t),"handleInputFocus",(function(e){t.props.events.onFocus&&t.props.events.onFocus(e,{})})),Wm(Hm(t),"handleInputSubmit",(function(e){t.state.activeOption&&t.state.activeOption.disabled||(!t.state.activeOption||"header"!==t.state.activeOption.type&&"footer"!==t.state.activeOption.type?t.getIsActiveOption()?t.handleSelect(e,{option:t.state.activeOption,selection:t.props.selection}):!t.props.predefinedOptionsOnly&&""!==e.target.value&&t.props.events.onSubmit&&t.props.events.onSubmit(e,{value:e.target.value}):t.state.activeOption.onClick(e))})),Wm(Hm(t),"handleKeyDown",(function(e){var n,r=(Wm(n={},At.DOWN,{callback:t.handleKeyDownDown}),Wm(n,At.ENTER,{callback:t.handleInputSubmit}),Wm(n,At.ESCAPE,{callback:t.handleClose}),Wm(n,At.UP,{callback:t.handleKeyDownUp}),n);"readonly"===t.props.variant&&(t.props.selection.length>2?r[At.TAB]={callback:t.handleKeyDownTab}:r[At.TAB]=void 0,r.other={callback:t.handleKeyDownOther,stopPropagation:!1}),Zh(e,{callbacks:r})})),Wm(Hm(t),"handleKeyDownDown",(function(e){e.shiftKey||t.openDialog(),"popover"!==t.props.variant&&t.handleNavigateListboxMenu(e,{direction:"next"})})),Wm(Hm(t),"handleKeyDownTab",(function(){t.selectedListboxRef&&t.setState({listboxHasFocus:!0})})),Wm(Hm(t),"handleKeyDownUp",(function(e){!e.shiftKey&&t.getIsOpen()&&t.handleNavigateListboxMenu(e,{direction:"previous"})})),Wm(Hm(t),"handleKeyDownOther",(function(e){var n=Pm({key:e.key,keyBuffer:t.menuKeyBuffer,keyCode:e.keyCode,options:t.getOptions()});void 0!==n&&(t.getIsOpen()&&Nm({container:t.menuRef,focusedIndex:n}),t.setState({activeOption:t.getOptions()[n],activeOptionIndex:n}))})),Wm(Hm(t),"handleNavigateListboxMenu",(function(e,n){var r=n.direction,o={next:1,previous:-1};t.setState((function(e){var n=t.getNewActiveOptionIndex({activeOptionIndex:e.activeOptionIndex,offset:o[r],options:t.getOptions()});return t.getIsOpen()&&Nm({container:t.menuRef,focusedIndex:n}),{activeOption:t.getOptions()[n],activeOptionIndex:n}}))})),Wm(Hm(t),"handleNavigateSelectedListbox",(function(e,n){var r=n.direction,o={next:1,previous:-1};t.setState((function(e){var n,a=e.activeSelectedOptionIndex+1===t.props.selection.length&&"next"===r,i=0===e.activeSelectedOptionIndex&&"previous"===r;if(a)n={activeSelectedOption:t.props.selection[0],activeSelectedOptionIndex:0,listboxHasFocus:!0};else if(i)n={activeSelectedOption:t.props.selection[t.props.selection.length-1],activeSelectedOptionIndex:t.props.selection.length-1,listboxHasFocus:!0};else{var s=t.getNewActiveOptionIndex({activeOptionIndex:e.activeSelectedOptionIndex,offset:o[r],options:t.props.selection});n={activeSelectedOption:t.props.selection[s],activeSelectedOptionIndex:s,listboxHasFocus:!0}}return n}))})),Wm(Hm(t),"handleOpen",(function(e,n){if(t.getIsOpen()){if(Tm=Hm(t),t.setState({isOpen:!0}),t.props.events.onOpen&&t.props.events.onOpen(e,n),"readonly"===t.props.variant&&null!==t.menuRef){var r=rd()(t.getOptions(),(function(e){return Ot()(e,t.props.selection[0])}));t.setState({activeOptionIndex:r}),Nm({container:t.menuRef,focusedIndex:r})}}else Tm&&Ir()(Tm.handleClose)&&Tm.handleClose()})),Wm(Hm(t),"handlePillFocus",(function(e,n){var r=n.option,o=n.index;t.state.listboxHasFocus||t.setState({activeSelectedOption:r,activeSelectedOptionIndex:o,listboxHasFocus:!0})})),Wm(Hm(t),"handleRemoveSelectedOption",(function(e,n){var r=n.option,o=n.index;e.preventDefault();var a=1===t.props.selection.length,i=2===t.props.selection.length&&"readonly"===t.props.variant&&t.props.multiple,s=o+1===t.props.selection.length;(a||i)&&t.inputRef?t.inputRef.focus():s?t.setState({activeSelectedOption:t.props.selection[o-1],activeSelectedOptionIndex:o-1,listboxHasFocus:!0}):t.setState({activeSelectedOption:t.props.selection[o+1],activeSelectedOptionIndex:o,listboxHasFocus:!0}),t.props.events.onRequestRemoveSelectedOption&&t.props.events.onRequestRemoveSelectedOption(e,{selection:Bh()(t.props.selection,r)})})),Wm(Hm(t),"handleRequestClose",(function(e,n){t.props.events.onRequestClose&&t.props.events.onRequestClose(e,n),t.getIsOpen()&&t.handleClose(e,{trigger:"cancel"})})),Wm(Hm(t),"handleRequestFocusSelectedListbox",(function(e,n){var r=n.ref;r&&(t.activeSelectedOptionRef=r,t.activeSelectedOptionRef.focus())})),Wm(Hm(t),"handleSelect",(function(e,n){var r,o=n.selection,a=n.option,i=t.isSelected({selection:o,option:a}),s=!t.props.multiple&&!i,l=t.props.multiple&&!i;r=s?[a]:l?[].concat(Am(t.props.selection),[a]):Bh()(t.props.selection,a),t.props.events.onSelect&&t.props.events.onSelect(e,{selection:r}),t.handleClose()})),Wm(Hm(t),"isSelected",(function(e){var t=e.selection,n=e.option;return!!Ah()(t,n)})),Wm(Hm(t),"openDialog",(function(){t.props.events.onRequestOpen?t.props.events.onRequestOpen():t.setState({isOpen:!0})})),Wm(Hm(t),"requestOpenMenu",(function(){(!t.props.multiple&&0===t.props.selection.length&&"inline-listbox"===t.props.variant||t.props.multiple||"readonly"===t.props.variant)&&t.openDialog()})),Wm(Hm(t),"renderBase",(function(e){var n=e.assistiveText,r=e.labels,a=e.props,i=e.userDefinedProps;return o.a.createElement("div",{className:"slds-form-element__control"},o.a.createElement("div",{className:"slds-combobox_container"},o.a.createElement("div",{className:l()("slds-combobox","slds-dropdown-trigger","slds-dropdown-trigger_click","ignore-react-onclickoutside",{"slds-is-open":t.getIsOpen()},{"slds-has-error":a.errorText},a.className),role:"combobox"},o.a.createElement($c,Im({"aria-autocomplete":"list","aria-controls":t.getIsOpen()?"".concat(t.getId(),"-listbox"):void 0,"aria-activedescendant":t.state.activeOption?"".concat(t.getId(),"-listbox-option-").concat(t.state.activeOption.id):null,"aria-describedby":t.getErrorId(),"aria-expanded":t.getIsOpen(),"aria-haspopup":"listbox",role:"combobox",autoComplete:"off",className:"slds-combobox__input",containerProps:{className:"slds-combobox__form-element",role:"none"},hasSpinner:t.props.hasInputSpinner,iconRight:o.a.createElement(Dc,{category:"utility",name:"search",title:r.inputIconTitle}),id:t.getId(),onFocus:t.handleInputFocus,onBlur:t.handleInputBlur,onKeyDown:t.handleKeyDown,inputRef:t.setInputRef,onClick:function(){t.openDialog()},onChange:t.handleInputChange,placeholder:r.placeholder,defaultValue:a.defaultValue,readOnly:!(!a.predefinedOptionsOnly||!t.state.activeOption),required:a.required,value:a.predefinedOptionsOnly&&t.state.activeOption&&t.state.activeOption.label||a.value},i.input)),t.getDialog({menuRenderer:t.renderMenu({assistiveText:n,labels:r})}))),o.a.createElement(Cm,{activeOption:t.state.activeSelectedOption,activeOptionIndex:t.state.activeSelectedOptionIndex,assistiveText:n,events:{onBlurPill:t.handleBlurPill,onPillFocus:t.handlePillFocus,onRequestFocus:t.handleRequestFocusSelectedListbox,onRequestFocusOnNextPill:t.handleNavigateSelectedListbox,onRequestFocusOnPreviousPill:t.handleNavigateSelectedListbox,onRequestRemove:t.handleRemoveSelectedOption},id:"".concat(t.getId(),"-selected-listbox"),labels:r,selectedListboxRef:t.setSelectedListboxRef,selection:a.selection,listboxHasFocus:t.state.listboxHasFocus}),a.errorText&&o.a.createElement("div",{className:"slds-has-error"},o.a.createElement("div",{id:t.getErrorId(),className:"slds-form-element__help slds-has-error"},a.errorText)))})),Wm(Hm(t),"renderInlineMultiple",(function(e){var n=e.assistiveText,r=e.labels,a=e.props,i=e.userDefinedProps;return o.a.createElement("div",{className:"slds-form-element__control"},o.a.createElement("div",{className:l()("slds-combobox_container",{"slds-has-inline-listbox":a.selection.length})},a.selection.length?o.a.createElement(Cm,{activeOption:t.state.activeSelectedOption,activeOptionIndex:t.state.activeSelectedOptionIndex,assistiveText:n,containerRole:"listbox",containerAriaOrientation:"horizontal",listboxRole:"group",listboxAriaOrientation:null,events:{onBlurPill:t.handleBlurPill,onPillFocus:t.handlePillFocus,onRequestFocus:t.handleRequestFocusSelectedListbox,onRequestFocusOnNextPill:t.handleNavigateSelectedListbox,onRequestFocusOnPreviousPill:t.handleNavigateSelectedListbox,onRequestRemove:t.handleRemoveSelectedOption},id:"".concat(t.getId(),"-selected-listbox"),labels:r,selectedListboxRef:t.setSelectedListboxRef,selection:a.selection,listboxHasFocus:t.state.listboxHasFocus}):null,o.a.createElement("div",{className:l()("slds-combobox","slds-dropdown-trigger","slds-dropdown-trigger_click","ignore-react-onclickoutside",{"slds-is-open":t.getIsOpen()},{"slds-has-error":a.errorText},a.className),role:"combobox"},o.a.createElement($c,Im({"aria-autocomplete":"list","aria-controls":t.getIsOpen()?"".concat(t.getId(),"-listbox"):void 0,"aria-activedescendant":t.state.activeOption?"".concat(t.getId(),"-listbox-option-").concat(t.state.activeOption.id):null,"aria-describedby":t.getErrorId(),"aria-expanded":t.getIsOpen(),"aria-haspopup":"listbox",role:"combobox",defaultValue:a.defaultValue,autoComplete:"off",className:"slds-combobox__input",containerProps:{className:"slds-combobox__form-element",role:"none"},hasSpinner:t.props.hasInputSpinner,iconRight:o.a.createElement(Dc,{category:"utility",name:"search",title:r.inputIconTitle}),id:t.getId(),onFocus:t.handleInputFocus,onBlur:t.handleInputBlur,onKeyDown:t.handleKeyDown,inputRef:t.setInputRef,onClick:function(){t.openDialog()},onChange:t.handleInputChange,placeholder:r.placeholder,readOnly:!(!a.predefinedOptionsOnly||!t.state.activeOption),required:a.required,value:a.predefinedOptionsOnly&&t.state.activeOption&&t.state.activeOption.label||a.value},i.input)),t.getDialog({menuRenderer:t.renderMenu({assistiveText:n,labels:r})}),a.errorText&&o.a.createElement("div",{id:t.getErrorId(),className:"slds-form-element__help"},a.errorText))))})),Wm(Hm(t),"renderInlineSingle",(function(e){var n=e.assistiveText,r=e.labels,a=e.props,i=e.userDefinedProps,s=a.selection[0]&&a.selection[0].icon?o.a.cloneElement(a.selection[0].icon,{containerClassName:"slds-combobox__input-entity-icon"}):null,c=a.selection[0]&&a.selection[0].label?a.selection[0].label:a.value;return o.a.createElement("div",{className:"slds-form-element__control"},o.a.createElement("div",{className:l()("slds-combobox_container",{"slds-has-inline-listbox":a.selection.length})},o.a.createElement("div",{className:l()("slds-combobox","slds-dropdown-trigger","slds-dropdown-trigger_click","ignore-react-onclickoutside",{"slds-is-open":t.getIsOpen()},{"slds-has-error":a.errorText},a.className),role:"combobox"},o.a.createElement($c,Im({defaultValue:a.defaultValue,"aria-autocomplete":"list","aria-controls":t.getIsOpen()?"".concat(t.getId(),"-listbox"):void 0,"aria-activedescendant":t.state.activeOption?"".concat(t.getId(),"-listbox-option-").concat(t.state.activeOption.id):null,"aria-describedby":t.getErrorId(),"aria-expanded":t.getIsOpen(),"aria-haspopup":"listbox",role:"combobox",autoComplete:"off",className:"slds-combobox__input",containerProps:{className:"slds-combobox__form-element",role:"none"},disabled:t.props.singleInputDisabled,hasSpinner:t.props.hasInputSpinner,iconRight:a.selection.length?o.a.createElement(Dc,{assistiveText:{icon:n.removeSingleSelectedOption},buttonRef:function(e){t.buttonRef=e},category:"utility",iconPosition:"right",name:"close",onClick:function(e){t.handleRemoveSelectedOption(e,{option:a.selection[0]})}}):o.a.createElement(Dc,{category:"utility",name:"search"}),iconLeft:s,id:t.getId(),onFocus:t.handleInputFocus,onBlur:t.handleInputBlur,onKeyDown:t.handleKeyDown,inputRef:t.setInputRef,onClick:function(){t.requestOpenMenu()},onChange:function(e){a.selection.length||t.handleInputChange(e)},placeholder:r.placeholder,readOnly:!(!a.predefinedOptionsOnly||!t.state.activeOption)||!!a.selection.length,required:a.required,value:a.predefinedOptionsOnly?t.state.activeOption&&t.state.activeOption.label||a.value:c},i.input)),t.getDialog({menuRenderer:t.renderMenu({assistiveText:n,labels:r})}),a.errorText&&o.a.createElement("div",{id:t.getErrorId(),className:"slds-form-element__help"},a.errorText))))})),Wm(Hm(t),"renderMenu",(function(e){var n=e.assistiveText,r=e.labels,a="readonly"===t.props.variant?5:null;return o.a.createElement(Qh,{assistiveText:n,activeOption:t.state.activeOption,activeOptionIndex:t.state.activeOptionIndex,classNameMenu:t.props.classNameMenu,classNameMenuSubHeader:t.props.classNameMenuSubHeader,clearActiveOption:t.clearActiveOption,inheritWidthOf:t.props.inheritWidthOf,inputId:t.getId(),inputValue:t.props.value,isSelected:t.isSelected,itemVisibleLength:t.props.menuItemVisibleLength||a,labels:r,hasMenuSpinner:t.props.hasMenuSpinner,menuItem:t.props.menuItem,menuPosition:t.props.menuPosition,menuRef:function(e){t.menuRef=e},maxWidth:t.props.menuMaxWidth,options:t.props.options,optionsAddItem:t.props.optionsAddItem,optionsSearchEntity:t.props.optionsSearchEntity,onSelect:t.handleSelect,onRenderMenuItem:t.props.onRenderMenuItem?t.props.onRenderMenuItem:t.props.menuItem,selection:t.props.selection,tooltipMenuItemDisabled:t.props.tooltipMenuItemDisabled,variant:{base:"icon-title-subtitle","inline-listbox":"icon-title-subtitle",readonly:"checkbox"}[t.props.variant]})})),Wm(Hm(t),"renderPopover",(function(e){var n=e.assistiveText,r=e.labels,a=e.props,i=t.getCustomPopoverProps(t.props.popover.props.body,{assistiveText:n,labels:r});return o.a.createElement("div",{className:"slds-form-element__control"},o.a.createElement("div",{className:"slds-combobox_container"},o.a.createElement("div",{className:l()("slds-combobox","slds-dropdown-trigger","slds-dropdown-trigger_click","ignore-react-onclickoutside",{"slds-is-open":t.getIsOpen()},{"slds-has-error":a.errorText},a.className),role:"combobox"},o.a.createElement(Oh,i,o.a.createElement($c,{"aria-autocomplete":"none","aria-controls":t.getIsOpen()?"".concat(t.getId(),"-popover"):void 0,"aria-describedby":t.getErrorId(),"aria-expanded":t.getIsOpen(),"aria-haspopup":"dialog",role:"combobox",autoComplete:"off",className:"slds-combobox__input",containerProps:{className:"slds-combobox__form-element",role:"none"},iconRight:o.a.createElement(Dc,{category:"utility",name:"down",variant:"combobox"}),id:t.getId(),onFocus:t.handleInputFocus,onBlur:t.handleInputBlur,onKeyDown:t.handleKeyDown,inputRef:t.setInputRef,onClick:function(){t.openDialog()},onChange:t.handleInputChange,placeholder:r.placeholder,readOnly:!0,required:a.required,value:a.value})))),a.errorText&&o.a.createElement("div",{className:"slds-has-error"},o.a.createElement("div",{id:t.getErrorId(),className:"slds-form-element__help slds-has-error"},a.errorText)))})),Wm(Hm(t),"renderReadOnlyMultiple",(function(e){var n=e.assistiveText,r=e.labels,a=e.props,i=e.userDefinedProps,s=a.selection.length>1?r.multipleOptionsSelected||"".concat(a.selection.length," options selected"):a.selection[0]&&a.selection[0].label||"";return o.a.createElement("div",{className:"slds-form-element__control"},o.a.createElement("div",{className:"slds-combobox_container"},o.a.createElement("div",{className:l()("slds-combobox","slds-dropdown-trigger","slds-dropdown-trigger_click","ignore-react-onclickoutside",{"slds-is-open":t.getIsOpen()},{"slds-has-error":a.errorText},a.className),role:"combobox"},o.a.createElement($c,Im({defaultValue:a.defaultValue,"aria-autocomplete":"list","aria-controls":t.getIsOpen()?"".concat(t.getId(),"-listbox"):void 0,"aria-activedescendant":t.state.activeOption?"".concat(t.getId(),"-listbox-option-").concat(t.state.activeOption.id):null,"aria-describedby":t.getErrorId(),"aria-expanded":t.getIsOpen(),"aria-haspopup":"listbox",role:"combobox",autoComplete:"off",className:"slds-combobox__input",containerProps:{className:"slds-combobox__form-element",role:"none"},iconRight:o.a.createElement(Dc,{category:"utility",name:"down",variant:"combobox"}),id:t.getId(),onFocus:t.handleInputFocus,onBlur:t.handleInputBlur,onKeyDown:t.handleKeyDown,inputRef:t.setInputRef,onClick:function(){t.requestOpenMenu()},onChange:function(e){a.selection.length||t.handleInputChange(e)},placeholder:r.placeholderReadOnly,readOnly:!0,required:a.required,value:s},i.input)),t.getDialog({menuRenderer:t.renderMenu({assistiveText:n,labels:r})}))),o.a.createElement(Cm,{activeOption:t.state.activeSelectedOption,activeOptionIndex:t.state.activeSelectedOptionIndex,assistiveText:n,events:{onBlurPill:t.handleBlurPill,onPillFocus:t.handlePillFocus,onRequestFocus:t.handleRequestFocusSelectedListbox,onRequestFocusOnNextPill:t.handleNavigateSelectedListbox,onRequestFocusOnPreviousPill:t.handleNavigateSelectedListbox,onRequestRemove:t.handleRemoveSelectedOption},id:"".concat(t.getId(),"-selected-listbox"),labels:r,selectedListboxRef:t.setSelectedListboxRef,selection:a.selection,listboxHasFocus:t.state.listboxHasFocus,variant:t.props.variant,renderAtSelectionLength:2}),a.errorText&&o.a.createElement("div",{className:"slds-has-error"},o.a.createElement("div",{id:t.getErrorId(),className:"slds-form-element__help slds-has-error"},a.errorText)))})),Wm(Hm(t),"renderReadOnlySingle",(function(e){var n=e.assistiveText,r=e.labels,a=e.props,i=e.userDefinedProps,s=a.selection[0]&&a.selection[0].label||"";return o.a.createElement("div",{className:"slds-form-element__control"},o.a.createElement("div",{className:"slds-combobox_container"},o.a.createElement("div",{className:l()("slds-combobox","slds-dropdown-trigger","slds-dropdown-trigger_click","ignore-react-onclickoutside",{"slds-is-open":t.getIsOpen()},{"slds-has-error":a.errorText},a.className),role:"combobox"},o.a.createElement($c,Im({defaultValue:a.defaultValue,"aria-autocomplete":"list","aria-controls":t.getIsOpen()?"".concat(t.getId(),"-listbox"):void 0,"aria-activedescendant":t.state.activeOption?"".concat(t.getId(),"-listbox-option-").concat(t.state.activeOption.id):null,"aria-describedby":t.getErrorId(),"aria-expanded":t.getIsOpen(),"aria-haspopup":"listbox",role:"combobox",autoComplete:"off",className:"slds-combobox__input",containerProps:{className:"slds-combobox__form-element",role:"none"},disabled:t.props.singleInputDisabled,iconRight:o.a.createElement(Dc,{category:"utility",name:"down",variant:"combobox"}),id:t.getId(),onFocus:t.handleInputFocus,onBlur:t.handleInputBlur,onKeyDown:t.handleKeyDown,inputRef:t.setInputRef,onClick:function(){t.requestOpenMenu()},onChange:function(e){a.selection.length||t.handleInputChange(e)},placeholder:r.placeholderReadOnly,readOnly:!0,required:a.required,value:t.state.activeOption&&t.state.activeOption.label||s},i.input)),t.getDialog({menuRenderer:t.renderMenu({assistiveText:n,labels:r})}),a.errorText&&o.a.createElement("div",{id:t.getErrorId(),className:"slds-form-element__help"},a.errorText))))})),t.state={activeOption:void 0,activeOptionIndex:-1,activeSelectedOption:t.props.selection&&t.props.selection[0]||void 0,activeSelectedOptionIndex:0,listboxHasFocus:!1,isOpen:"boolean"==typeof e.isOpen&&e.isOpen},t.menuKeyBuffer=new ms,t.menuRef=void 0,t.selectedListboxRef=null,km(C,e,Rm),t.generatedId=u.a.generate(),t.generatedErrorId=u.a.generate(),t}return t=i,(n=[{key:"componentDidUpdate",value:function(e){var t=this;if(Ot()(this.getOptions(),this.getOptions(e)))this.props.isOpen!==e.isOpen&&this.setState({activeOption:void 0,activeOptionIndex:-1,isOpen:e.isOpen});else{var n=rd()(this.getOptions(e),(function(e){return Ot()(e,t.state.activeOption)}));-1!==n?this.setState({activeOptionIndex:n}):this.setState({activeOption:void 0,activeOptionIndex:-1})}this.props.selection&&0===this.props.selection.length&&e.selection.length>0&&this.setState({activeSelectedOption:e.selection[0],activeSelectedOptionIndex:0})}},{key:"componentWillUnmount",value:function(){Tm===this&&(Tm=void 0)}},{key:"getDialog",value:function(e){var t=e.menuRenderer,n=this.props.isInline?"relative":this.props.menuPosition;return!this.props.disabled&&this.getIsOpen()?o.a.createElement(mn,{align:"bottom left",context:this.context,hasStaticAlignment:this.props.hasStaticAlignment,inheritWidthOf:this.props.inheritWidthOf,onClose:this.handleClose,onMouseDown:function(e){e.preventDefault()},onOpen:this.handleOpen,onRequestTargetElement:this.getTargetElement,position:n,containerProps:{id:"".concat(this.getId(),"-listbox"),role:"listbox"}},t):null}},{key:"getErrorId",value:function(){return this.props["aria-describedby"]||this.props.errorText&&this.generatedErrorId}},{key:"render",value:function(){var e=this.props,t=cr()({},zm.assistiveText,e.assistiveText),n=cr()({},zm.labels,this.props.labels),r=n.label||t&&t.label,a={};e.input&&(a.input=e.input.props);var i={assistiveText:t,labels:n,props:this.props,userDefinedProps:a},s=this.props.multiple?"multiple":"single",c={base:{multiple:this.renderBase,single:this.renderBase},"inline-listbox":{multiple:this.renderInlineMultiple,single:this.renderInlineSingle},popover:{multiple:this.renderPopover,single:this.renderPopover},readonly:{multiple:this.renderReadOnlyMultiple,single:this.renderReadOnlySingle}},u=c[this.props.variant][s],p=o.a.createElement("div",{className:l()("slds-form-element",e.classNameContainer)},e.entityCombobox?null:o.a.createElement($h,{assistiveText:this.props.assistiveText,htmlFor:this.getId(),label:n.label,required:e.required}),this.props.fieldLevelHelpTooltip&&r?o.a.createElement(pu,{fieldLevelHelpTooltip:this.props.fieldLevelHelpTooltip}):null,u?c[this.props.variant][s](i):c.base.multiple(i));return e.entityCombobox?o.a.createElement("div",{className:"slds-form-element"},o.a.createElement($h,{assistiveText:e.assistiveText,htmlFor:this.getId(),label:n.label,required:e.required}),o.a.createElement("div",{className:"slds-form-element__control"},o.a.createElement("div",{className:"slds-combobox-group"},o.a.createElement("div",{className:"slds-combobox_object-switcher slds-combobox-addon_start"},e.entityCombobox),o.a.createElement("div",{className:"slds-combobox_container slds-combobox-addon_end"},p)))):p}}])&&Bm(t.prototype,n),r&&Bm(t,r),i}(o.a.Component);Gm.contextTypes={iconPath:i.a.string},Gm.displayName=C,Gm.propTypes=Um,Gm.defaultProps=zm;var Ym=Gm,Qm=st(Ci(Ym,{excludeScrollbar:!0})),Jm=function(e){var t=e.inputValue,n=e.limit,r=void 0===n?10:n,o=e.options,a=e.selection,i=new RegExp(ys()(t),"ig");return o.filter((function(e){var n=!!e.label&&e.label.match(i),r=!!e.subTitle&&e.subTitle.match(i),o="separator"===e.type,s=!a.some((function(t){return t.id===e.id}));return(!t||o||n||r)&&s})).splice(0,r)};var Xm=function(){},$m=n(46),Zm=n(47),eb=n(14),tb=n.n(eb),nb=function(e){var t=o.a.isValidElement(e.children)?e.children.props.children:e.children,n=o.a.createElement("div",{className:l()({"slds-truncate":e.fixedLayout}),title:e.title||t},e.children),r=o.a.createElement("td",{className:e.className,"data-label":e.label,role:e.fixedLayout?"gridcell":null,style:e.width?{width:e.width}:null,headers:e.headerId},n);return e.primaryColumn&&(r=o.a.createElement("th",{className:e.className,"data-label":e.label,role:e.fixedLayout?"gridcell":null,style:e.width?{width:e.width}:null},n)),r};nb.displayName=N,nb.propTypes={children:i.a.oneOfType([i.a.node,i.a.string]),className:i.a.oneOfType([i.a.array,i.a.object,i.a.string]),fixedLayout:i.a.bool,item:i.a.object,primaryColumn:i.a.bool,property:i.a.string,title:i.a.string,width:i.a.string};var rb=nb;function ob(e){return(ob="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function ab(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function ib(e,t){return(ib=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function sb(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=cb(e);if(t){var o=cb(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return lb(this,n)}}function lb(e,t){return!t||"object"!==ob(t)&&"function"!=typeof t?function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e):t}function cb(e){return(cb=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}var ub=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&ib(e,t)}(n,e);var t=sb(n);function n(){return ab(this,n),t.apply(this,arguments)}return n}(o.a.Component);ub.displayName=T,ub.propTypes={children:i.a.element,isDefaultSortDescending:i.a.bool,isSorted:i.a.bool,label:i.a.oneOfType([i.a.string,i.a.node]),primaryColumn:i.a.bool,property:i.a.string,sortable:i.a.bool,sortDirection:i.a.oneOf(["desc","asc"]),title:i.a.string,truncate:i.a.bool,width:i.a.string};var pb=ub,fb=function(e){return o.a.createElement("div",{className:"slds-cell-fixed",style:{display:"flex",flexDirection:"row",flexWrap:"nowrap"}},e.children)};var db=function(){};function hb(e){return(hb="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function mb(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function bb(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function yb(e,t){return(yb=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function gb(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=_b(e);if(t){var o=_b(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return vb(this,n)}}function vb(e,t){return!t||"object"!==hb(t)&&"function"!=typeof t?Ob(e):t}function Ob(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function _b(e){return(_b=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function Sb(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var xb=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&yb(e,t)}(i,e);var t,n,r,a=gb(i);function i(){var e;mb(this,i);for(var t=arguments.length,n=new Array(t),r=0;r<t;r++)n[r]=arguments[r];return Sb(Ob(e=a.call.apply(a,[this].concat(n))),"state",{sortDirection:null}),Sb(Ob(e),"handleSort",(function(t){var n=function(e,t){switch(e){case"asc":return"desc";case"desc":return"asc";case null:return t?"desc":"asc";default:return"asc"}}(e.props.sortDirection||e.state.sortDirection,e.props.isDefaultSortDescending),r={property:e.props.property,sortDirection:n};e.setState({sortDirection:n}),Ir()(e.props.onSort)&&e.props.onSort(r,t)})),e}return t=i,(n=[{key:"componentDidMount",value:function(){db(T,this.props)}},{key:"componentDidUpdate",value:function(e){!0===e.isSorted&&!1===this.props.isSorted&&this.setState({sortDirection:null})}},{key:"render",value:function(){var e,t=this,n=this.props,r=n.fixedHeader,a=n.isSorted,i=n.label,s=n.sortable,c=n.width,u=hb(i),p=this.props.sortDirection||this.state.sortDirection||this.props.isDefaultSortDescending&&"desc",f=a?"desc"===p?"descending":"ascending":"none",d={sortable:o.a.createElement("a",{href:"javascript:void(0)",className:"slds-th__action slds-text-link_reset",onClick:this.handleSort,role:"button",tabIndex:"0"},o.a.createElement("span",{className:"slds-assistive-text"},this.props.assistiveTextForColumnSort||this.props.assistiveText.columnSort," "),o.a.createElement("span",{className:"slds-truncate",title:"string"===u?i:void 0},i),o.a.createElement(jn,{className:"slds-is-sortable__icon",category:"utility",name:"desc"===p?"arrowdown":"arrowup",size:"x-small"}),p?o.a.createElement("span",{className:"slds-assistive-text","aria-atomic":"true"},"asc"===p?this.props.assistiveTextForColumnSortedAscending||this.props.assistiveText.columnSortedAscending:this.props.assistiveTextForColumnSortedDescending||this.props.assistiveText.columnSortedDescending):null),notSortable:o.a.createElement("span",{className:"slds-p-horizontal_x-small",style:{display:"flex"}},o.a.createElement("span",{className:"slds-truncate",title:"string"===u?i:void 0},i))},h=this.props.fixedLayout?d[s?"sortable":"notSortable"]:o.a.createElement("div",{className:"slds-truncate",title:"string"===u?i:void 0},i);return o.a.createElement("th",{"aria-label":"string"===u?i:void 0,"aria-sort":f,className:l()((e={"slds-is-sortable":s,"slds-is-sorted":a},Sb(e,"slds-is-sorted_".concat(p),p),Sb(e,"slds-is-sorted_asc",a&&!p),e)),ref:function(e){t.props.cellRef&&t.props.cellRef(e)},scope:"col",style:r||c?{height:r?0:null,lineHeight:r?0:null,width:c||null}:null},r?o.a.cloneElement(h,{style:{display:"flex",height:0,overflow:"hidden",paddingBottom:0,paddingTop:0,visibility:"hidden"}}):h,r?o.a.createElement(fb,null,o.a.cloneElement(h,{style:{alignItems:"center",display:"flex",flex:"1 1 auto",lineHeight:1.25,width:"100%"},tabIndex:s?0:null})):null)}}])&&bb(t.prototype,n),r&&bb(t,r),i}(o.a.Component);Sb(xb,"displayName","SLDSDataTableHeaderCell"),Sb(xb,"propTypes",{assistiveText:i.a.shape({actionsHeader:i.a.string,columnSort:i.a.string,columnSortedAscending:i.a.string,columnSortedDescending:i.a.string,selectAllRows:i.a.string,selectRow:i.a.string}),cellRef:i.a.func,fixedHeader:i.a.bool,id:i.a.string.isRequired,isDefaultSortDescending:i.a.bool,isSorted:i.a.bool,label:i.a.oneOfType([i.a.string,i.a.node]),onSort:i.a.func,property:i.a.string,sortable:i.a.bool,sortDirection:i.a.oneOf(["desc","asc"]),width:i.a.string});var wb=xb;function Eb(e){return(Eb="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function jb(){return(jb=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}function Cb(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function Pb(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function Nb(e,t){return(Nb=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function Tb(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=Db(e);if(t){var o=Db(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return kb(this,n)}}function kb(e,t){return!t||"object"!==Eb(t)&&"function"!=typeof t?Rb(e):t}function Rb(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function Db(e){return(Db=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function Ib(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var Ab=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&Nb(e,t)}(i,e);var t,n,r,a=Tb(i);function i(){var e;Cb(this,i);for(var t=arguments.length,n=new Array(t),r=0;r<t;r++)n[r]=arguments[r];return Ib(Rb(e=a.call.apply(a,[this].concat(n))),"getActionsHeader",(function(){var t=e.props.fixedHeader,n=function(t){return o.a.createElement("div",{className:"slds-th__action",style:t},o.a.createElement("span",{className:"slds-assistive-text"},e.props.assistiveText.actionsHeader))},r=null;return e.props.showRowActions&&(r=o.a.createElement("th",{ref:function(t){e.props.headerRefs&&e.props.headerRefs(t,"action")},scope:"col",style:{height:t?0:null,lineHeight:t?0:null,width:"3.25rem"}},n(t?{height:0,overflow:"hidden",paddingBottom:0,paddingTop:0,visibility:"hidden"}:null),t?o.a.createElement(fb,null,n({lineHeight:1,width:"100%"})):null)),r})),Ib(Rb(e),"getSelectHeader",(function(){var t=e.props,n=t.canSelectRows,r=t.fixedHeader,a=function(t,r,a){var i=null;return"radio"===n?i=o.a.createElement("div",{className:"slds-truncate slds-assistive-text",id:"".concat(e.props.id,"-column-group-header-row-select"),title:e.props.assistiveText.selectRowGroup},e.props.assistiveText.selectRowGroup):!0!==n&&"checkbox"!==n||(i=o.a.createElement("div",{className:"slds-th__action slds-th__action_form","aria-hidden":a&&!0,style:r},a?null:o.a.createElement("span",{id:"".concat(e.props.id,"-column-group-header-row-select"),className:"slds-assistive-text"},e.props.assistiveText.selectAllRows),o.a.createElement(Pp,{assistiveText:{label:e.props.assistiveText.selectAllRows},checked:e.props.allSelected,indeterminate:e.props.indeterminateSelected,id:"".concat(e.props.id,"-").concat(t),name:a?void 0:"SelectAll",onChange:e.props.onToggleAll}))),i},i=null;return n&&(i=o.a.createElement("th",{className:"slds-text-align_right",ref:function(t){e.props.headerRefs&&e.props.headerRefs(t,"select")},scope:"col",style:{height:r?0:null,lineHeight:r?0:null,width:"3.25rem"}},a("SelectAll-fixed-header",r?{display:"flex",height:0,overflow:"hidden",paddingBottom:0,paddingTop:0,visibility:"hidden"}:null,r&&"ariaHidden"),r?o.a.createElement(fb,null,a("SelectAll",{display:"flex",justifyContent:"flex-end",lineHeight:1,width:"100%"})):null)),i})),e}return t=i,(n=[{key:"render",value:function(){var e=this,t=this.getActionsHeader(),n=this.getSelectHeader();return o.a.createElement("thead",null,o.a.createElement("tr",{className:"slds-line-height_reset"},n,this.props.columns.map((function(t,n){return o.a.createElement(wb,jb({assistiveText:e.props.assistiveText,cellRef:function(t){e.props.headerRefs&&e.props.headerRefs(t,n)},fixedHeader:e.props.fixedHeader,id:"".concat(e.props.id,"-").concat(t.props.property),key:"".concat(e.props.id,"-").concat(t.props.property),onSort:e.props.onSort},t.props))})),t))}}])&&Pb(t.prototype,n),r&&Pb(t,r),i}(o.a.Component);Ib(Ab,"displayName",k),Ib(Ab,"propTypes",{assistiveText:i.a.shape({actionsHeader:i.a.string,columnSort:i.a.string,columnSortedAscending:i.a.string,columnSortedDescending:i.a.string,selectAllRows:i.a.string,selectRow:i.a.string}),allSelected:i.a.bool,headerRefs:i.a.func,indeterminateSelected:i.a.bool,canSelectRows:i.a.oneOfType([i.a.bool,i.a.oneOf(["checkbox","radio"])]),columns:i.a.arrayOf(i.a.shape({Cell:i.a.func,props:i.a.object})),fixedHeader:i.a.bool,id:i.a.string,onToggleAll:i.a.func,onSort:i.a.func,showRowActions:i.a.bool});var Lb=Ab;function Bb(e){return(Bb="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function Fb(){return(Fb=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}function Mb(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function qb(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function Hb(e,t){return(Hb=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function Kb(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=Ub(e);if(t){var o=Ub(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return Wb(this,n)}}function Wb(e,t){return!t||"object"!==Bb(t)&&"function"!=typeof t?Vb(e):t}function Vb(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function Ub(e){return(Ub=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function zb(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var Gb=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&Hb(e,t)}(i,e);var t,n,r,a=Kb(i);function i(){var e;Mb(this,i);for(var t=arguments.length,n=new Array(t),r=0;r<t;r++)n[r]=arguments[r];return zb(Vb(e=a.call.apply(a,[this].concat(n))),"isSelected",(function(){return!!Ah()(e.props.selection,e.props.item)})),zb(Vb(e),"handleToggle",(function(t,n){var r=n.checked;return e.props.onToggle(e.props.item,r,t)})),e}return t=i,(n=[{key:"render",value:function(){var e=this,t={},n=this.isSelected();return this.props.canSelectRows&&(t["aria-selected"]=n?"true":"false"),o.a.createElement("tr",Fb({},t,{className:l()(this.props.className,{"slds-hint-parent":this.props.rowActions,"slds-is-selected":this.props.canSelectRows&&n})}),this.props.canSelectRows?o.a.createElement("td",{role:this.props.fixedLayout?"gridcell":null,className:"slds-text-align_right","data-label":this.props.stacked?"Select Row":void 0,style:{width:"3.25rem"}},"radio"===this.props.canSelectRows?o.a.createElement(Cf,{assistiveText:{label:"".concat(this.props.assistiveText.selectRow," ").concat(Number(this.props.index)+1)},"aria-labelledby":"".concat(this.props.id,"-SelectRow-label ").concat(this.props.tableId,"-SLDSDataTableHead-column-group-header-row-select"),checked:n,className:"slds-m-right_x-small",id:"".concat(this.props.id,"-SelectRow"),labelId:"".concat(this.props.id,"-SelectRow-label"),name:"".concat(this.props.tableId,"-SelectRow"),onChange:this.handleToggle}):o.a.createElement(Pp,{assistiveText:{label:"".concat(this.props.assistiveText.selectRow," ").concat(Number(this.props.index)+1)},"aria-labelledby":"".concat(this.props.id,"-SelectRow-label ").concat(this.props.tableId,"-SLDSDataTableHead-column-group-header-row-select"),checked:n,id:"".concat(this.props.id,"-SelectRow"),labelId:"".concat(this.props.id,"-SelectRow-label"),name:"SelectRow".concat(this.props.index+1),onChange:this.handleToggle})):null,this.props.columns.map((function(t){var n=t.Cell,r="".concat(e.props.id,"-").concat(N,"-").concat(t.props.property);return o.a.createElement(n,Fb({},t.props,{className:t.props.truncate?"slds-truncate":null,fixedLayout:e.props.fixedLayout,rowHeader:t.props.primaryColumn,id:r,item:e.props.item,key:r,width:t.props.width,headerId:e.props.item.headerId,columns:e.props.columns}),e.props.item[t.props.property])})),this.props.rowActions?o.a.cloneElement(this.props.rowActions,{id:"".concat(this.props.id,"-").concat(R),item:this.props.item}):null)}}])&&qb(t.prototype,n),r&&qb(t,r),i}(o.a.Component);zb(Gb,"displayName",D),zb(Gb,"propTypes",{assistiveText:i.a.shape({actionsHeader:i.a.string,columnSort:i.a.string,columnSortedAscending:i.a.string,columnSortedDescending:i.a.string,selectAllRows:i.a.string,selectRow:i.a.string}),canSelectRows:i.a.oneOfType([i.a.bool,i.a.oneOf(["checkbox","radio"])]),className:i.a.string,columns:i.a.arrayOf(i.a.shape({Cell:i.a.func,props:i.a.object})),fixedLayout:i.a.bool,id:i.a.string.isRequired,item:i.a.object.isRequired,onToggle:i.a.func,rowActions:i.a.element,selection:i.a.array,tableId:i.a.string});var Yb=Gb;function Qb(e){return(Qb="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function Jb(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function Xb(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?Jb(Object(n),!0).forEach((function(t){ay(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Jb(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function $b(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function Zb(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function ey(e,t){return(ey=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function ty(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=oy(e);if(t){var o=oy(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return ny(this,n)}}function ny(e,t){return!t||"object"!==Qb(t)&&"function"!=typeof t?ry(e):t}function ry(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function oy(e){return(oy=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function ay(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var iy=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&ey(e,t)}(i,e);var t,n,r,a=ty(i);function i(){var e;$b(this,i);for(var t=arguments.length,n=new Array(t),r=0;r<t;r++)n[r]=arguments[r];return ay(ry(e=a.call.apply(a,[this].concat(n))),"handleClick",(function(e){Dt.trap(e)})),ay(ry(e),"handleSelect",(function(t){Ir()(e.props.onAction)&&e.props.onAction(e.props.item,t),e.props.dropdown&&Ir()(e.props.dropdown.props.onSelect)&&e.props.dropdown.props.onSelect(t)})),e}return t=i,(n=[{key:"render",value:function(){var e={align:"right",buttonClassName:"slds-button_icon-x-small",buttonVariant:"icon",iconCategory:"utility",iconName:"down",iconSize:"small",iconVariant:"border-filled",assistiveText:this.props.assistiveText,className:this.props.className,options:this.props.options,hint:!this.props.noHint,id:this.props.id},t=this.props.dropdown?this.props.dropdown.props:{},n=Xb(Xb(Xb({},e),t),{},{onSelect:this.handleSelect});return o.a.createElement("td",{className:"","data-label":"Actions",onClick:this.handleClick,style:{width:"3.25rem"}},o.a.createElement(Hs,n))}}])&&Zb(t.prototype,n),r&&Zb(t,r),i}(o.a.Component);ay(iy,"displayName",R),ay(iy,"propTypes",{assistiveText:i.a.object,className:i.a.string,id:i.a.string,item:i.a.object,noHint:i.a.bool,onAction:i.a.func,options:i.a.array,dropdown:i.a.node}),ay(iy,"defaultProps",{assistiveText:{icon:"Actions"},noHint:!1,options:[]});var sy=iy;function ly(e){return(ly="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function cy(){return(cy=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}function uy(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function py(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?uy(Object(n),!0).forEach((function(t){_y(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):uy(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function fy(e,t){if(null==e)return{};var n,r,o=function(e,t){if(null==e)return{};var n,r,o={},a=Object.keys(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)>=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}function dy(e){return function(e){if(Array.isArray(e))return hy(e)}(e)||function(e){if("undefined"!=typeof Symbol&&Symbol.iterator in Object(e))return Array.from(e)}(e)||function(e,t){if(!e)return;if("string"==typeof e)return hy(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return hy(e,t)}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function hy(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function my(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function by(e,t){return(by=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function yy(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=Oy(e);if(t){var o=Oy(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return gy(this,n)}}function gy(e,t){return!t||"object"!==ly(t)&&"function"!=typeof t?vy(e):t}function vy(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function Oy(e){return(Oy=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function _y(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var Sy=function(e){return Array.isArray(e)?e.length:0},xy={assistiveText:{actionsHeader:"Actions",columnSort:"Sort by: ",columnSortedAscending:"Sorted Ascending",columnSortedDescending:"Sorted Descending",selectAllRows:"Select all rows",selectRow:"Select row",selectRowGroup:"Choose a row to select",loadingMore:"Loading more"},selection:[],hasMore:!1,loadMoreOffset:20},wy=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&by(e,t)}(i,e);var t,n,r,a=yy(i);function i(e){var t;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,i),_y(vy(t=a.call(this,e)),"handleToggleAll",(function(e,n){var r=n.checked;if("function"==typeof t.props.onChange){var o=(r?dy(t.props.items):[]).filter((function(e){return"header-row"!==e.type}));t.props.onChange(o,e)}if("function"==typeof t.props.onRowChange){var a=(r?dy(t.props.items):[]).filter((function(e){return"header-row"!==e.type}));t.props.onRowChange(e,{selection:a})}})),_y(vy(t),"handleRowToggle",(function(e,n,r){var o,a;"function"==typeof t.props.onChange&&(o=n?"radio"===t.props.selectRows?[e]:[].concat(dy(t.props.selection),[e]):Bh()(t.props.selection,e),t.props.onChange(o,r));"function"==typeof t.props.onRowChange&&(a=n?"radio"===t.props.selectRows?[e]:[].concat(dy(t.props.selection),[e]):Bh()(t.props.selection,e),t.props.onRowChange(r,{selection:a}))})),_y(vy(t),"resizeFixedHeaders",(function(e){var n=[].concat(t.headerRefs.select,t.headerRefs.column,t.headerRefs.action);if(t.props.onFixedHeaderResize)t.props.onFixedHeaderResize(e,{headerRefs:n,scrollerRef:t.scrollerRef});else if(n.length>0){var r=0;Bt&&(r=document.documentElement.scrollLeft),n.forEach((function(e){if(e&&Bt){var n=e.getBoundingClientRect().left+r,o=0;t.scrollerRef&&(o=t.scrollerRef.getBoundingClientRect().left+r);var a=e.querySelector(".slds-cell-fixed");a&&(a.style.left="".concat(n-o,"px"),a.style.width="".concat(e.offsetWidth,"px"))}}))}})),_y(vy(t),"onScrollerScroll",(function(){if(t.props.hasMore&&t.props.onLoadMore){var e=t.scrollerRef;e.scrollTop+e.offsetHeight>e.scrollHeight-t.props.loadMoreOffset&&t.props.onLoadMore()}})),_y(vy(t),"toggleFixedHeaderListeners",(function(e){if(t.props.onToggleFixedHeaderListeners)t.props.onToggleFixedHeaderListeners({},{attach:e,resizeHandler:t.resizeFixedHeaders,scrollerRef:t.scrollerRef});else{var n=["".concat(e?"add":"remove","EventListener")];Ft&&(window[n]("resize",t.resizeFixedHeaders),window[n]("resize",t.onScrollerScroll)),Ft&&t.scrollerRef&&(t.scrollerRef[n]("scroll",t.resizeFixedHeaders),t.scrollerRef[n]("scroll",t.onScrollerScroll))}})),t.generatedId=u.a.generate(),t.headerRefs={action:[],column:[],select:[]},t.scrollerRef=null,Xm(P,e,$m),t}return t=i,(n=[{key:"componentDidMount",value:function(){this.props.fixedHeader&&(this.toggleFixedHeaderListeners(!0),this.resizeFixedHeaders())}},{key:"componentDidUpdate",value:function(){this.props.fixedHeader&&this.resizeFixedHeaders()}},{key:"componentWillUnmount",value:function(){this.toggleFixedHeaderListeners(!1)}},{key:"getId",value:function(){return this.props.id||this.generatedId}},{key:"render",value:function(){var e=this,t={},n=Sy(this.props.items),r=Sy(this.props.selection),a=Sy(this.props.items.filter((function(e){return"header-row"!==e.type}))),i=!!(this.props.selectRows&&a>0)&&this.props.selectRows,s=i&&a===r,c=i&&a!==r&&0!==r,p=[],f=null;o.a.Children.forEach(this.props.children,(function(t){if(t&&t.type.displayName===pb.displayName){var n,r=t.props,a=r.children,i=fy(r,["children"]),s=cr()({},e.props);delete s.children,cr()(s,i),a&&a.type.displayName===N?(n=a.type,cr()(s,a.props)):n=rb,p.push({Cell:n,props:s,dataTableProps:e.props})}else if(t&&t.type.displayName===sy.displayName){var l=t.props.dropdown,c={};e.props.fixedHeader&&(c.menuPosition="overflowBoundaryElement"),f=o.a.cloneElement(t,{dropdown:l?o.a.cloneElement(l,c):null})}}));var d=py(py({},xy.assistiveText),this.props.assistiveText);this.props.assistiveTextForActionsHeader&&(d.actionsHeader=this.props.assistiveTextForActionsHeader),this.props.assistiveTextForSelectAllRows&&(d.selectAllRows=this.props.assistiveTextForSelectAllRows),this.props.assistiveTextForColumnSortedAscending&&(d.columnSortedAscending=this.props.assistiveTextForColumnSortedAscending),this.props.assistiveTextForColumnSortedDescending&&(d.columnSortedDescending=this.props.assistiveTextForColumnSortedDescending),this.props.assistiveTextForColumnSort&&(d.columnSort=this.props.assistiveTextForColumnSort),this.props.assistiveTextForSelectRow&&(d.selectRow=this.props.assistiveTextForSelectRow),this.props.selectRows&&"radio"!==this.props.selectRows&&(t["aria-multiselectable"]="true"),this.headerRefs={action:f?this.headerRefs.action:[],column:this.headerRefs.column.slice(0,p.length),select:i?this.headerRefs.select:[]};var h=o.a.createElement(o.a.Fragment,null,o.a.createElement("table",cy({},t,{className:l()("slds-table",{"slds-table_fixed-layout":this.props.fixedLayout,"slds-table_header-fixed":this.props.fixedHeader,"slds-table_resizable-cols":this.props.fixedLayout,"slds-table_bordered":!this.props.unborderedRow,"slds-table_cell-buffer":!this.props.fixedLayout&&!this.props.unbufferedCell,"slds-max-medium-table_stacked":this.props.stacked,"slds-max-medium-table_stacked-horizontal":this.props.stackedHorizontal,"slds-table_striped":this.props.striped,"slds-table_col-bordered":this.props.columnBordered,"slds-no-row-hover":this.props.noRowHover},this.props.className),id:this.getId(),role:this.props.fixedLayout?"grid":null,style:this.props.style}),o.a.createElement(Lb,{assistiveText:d,allSelected:s,fixedHeader:this.props.fixedHeader,headerRefs:function(t,n){"action"===n||"select"===n?t?e.headerRefs[n][0]=t:e.headerRefs[n]=[]:e.headerRefs.column[n]=t},indeterminateSelected:c,canSelectRows:i,columns:p,id:"".concat(this.getId(),"-").concat(k),onToggleAll:this.handleToggleAll,onSort:this.props.onSort,showRowActions:!!f}),o.a.createElement("tbody",null,n>0?this.props.items.map((function(t,n){var r=e.getId()&&t.id?"".concat(e.getId(),"-").concat(D,"-").concat(t.id):u.a.generate();return e.props.onRenderSubHeadingRow&&"header-row"===t.type?e.props.onRenderSubHeadingRow({assistiveText:d,classNameRow:t.classNameRow,columns:p,key:r,id:r,tableId:e.getId(),item:t}):o.a.createElement(Yb,{assistiveText:d,canSelectRows:i,className:t.classNameRow,columns:p,fixedLayout:e.props.fixedLayout,id:r,index:n,item:t,key:r,onToggle:e.handleRowToggle,selection:e.props.selection,rowActions:f,tableId:e.getId()})})):null)),this.props.fixedHeader&&this.props.hasMore&&o.a.createElement("div",{className:"slds-is-relative slds-p-around_large"},o.a.createElement(Kc,{assistiveText:{label:this.props.assistiveText.loadingMore},hasContainer:!1,size:"small",variant:"brand"})));if(this.props.fixedHeader){var m="1px solid ".concat(Zm.colorGray5),b={borderTop:m,height:"100%"};this.props.joined&&(b.borderBottom=m,b.borderLeft=m,b.borderRight=m,b.borderTop="none",b.borderRadius=eb.tableBorderRadius),h=o.a.createElement("div",{className:"slds-table_header-fixed_container",style:b,onScroll:function(t){var n=t.target.scrollLeft;n>0&&(t.target.scrollLeft=0,e.scrollerRef&&(e.scrollerRef.scrollLeft=n))}},o.a.createElement("div",{className:"slds-table_header-fixed_scroller",ref:function(t){e.scrollerRef=t},style:{height:"100%",overflow:"auto"}},h))}return h}}])&&my(t.prototype,n),r&&my(t,r),i}(o.a.Component);_y(wy,"displayName",P),_y(wy,"propTypes",{assistiveText:i.a.shape({actionsHeader:i.a.string,columnSort:i.a.string,columnSortedAscending:i.a.string,columnSortedDescending:i.a.string,selectAllRows:i.a.string,selectRow:i.a.string,selectRowGroup:i.a.string,loadingMore:i.a.string}),children:i.a.node,className:i.a.oneOfType([i.a.array,i.a.object,i.a.string]),columnBordered:i.a.bool,fixedHeader:i.a.bool,fixedLayout:i.a.bool,hasMore:i.a.bool,onRenderSubHeadingRow:i.a.func,id:i.a.string,items:i.a.arrayOf(i.a.shape({id:i.a.string.isRequired,classNameRow:i.a.string})).isRequired,joined:i.a.bool,loadMoreOffset:i.a.number,noRowHover:i.a.bool,onFixedHeaderResize:i.a.func,onLoadMore:i.a.func,onRowChange:i.a.func,onSort:i.a.func,onToggleFixedHeaderListeners:i.a.func,selection:i.a.array,selectRows:i.a.oneOfType([i.a.bool,i.a.oneOf(["checkbox","radio"])]),stacked:i.a.bool,stackedHorizontal:i.a.bool,striped:i.a.bool,style:i.a.object,unborderedRow:i.a.bool,unbufferedCell:i.a.bool}),_y(wy,"defaultProps",xy);var Ey=wy,jy=function(e){return o.a.createElement(rb,e,o.a.createElement(Jo,{search:e.search},e.children))};jy.displayName=N,jy.propTypes={children:i.a.oneOfType([i.a.node,i.a.string]),search:i.a.any};var Cy=jy,Py={firstDayOfMonth:function(e){var t=new Date(e);return t.setDate(1),t},isFirstDayOfMonth:function(e){return 1===e.getDate()},isLastDayOfMonth:function(e){return!Py.isSameMonth(e,Py.addDays(e,1))},isSameMonth:function(e,t){return!(!e||!t)&&(e.getFullYear()===t.getFullYear()&&e.getMonth()===t.getMonth())},isSameDay:function(e,t){return!(!e||!t)&&(e.getFullYear()===t.getFullYear()&&e.getMonth()===t.getMonth()&&e.getDate()===t.getDate())},isCurrentMonth:function(e){return!!e&&Py.isSameMonth(e,new Date)},isToday:function(e){return!!e&&Py.isSameDay(e,new Date)},isEqual:function(e,t){return e.getTime()===t.getTime()},addDays:function(e,t){var n=new Date(e);return n.setDate(n.getDate()+parseInt(t,10)),n},addWeeks:function(e,t){return Py.addDays(e,7*parseInt(t,10))},nearestWeekDay:function(e,t){var n=t-e.getDay();return n<0&&(n+=7),Py.addDays(e,n)},isLeapYear:function(e){return e%4==0&&e%100!=0||e%400==0},getDaysInMonth:function(e,t){return[31,Py.isLeapYear(e)?29:28,31,30,31,30,31,31,30,31,30,31][t]},addMonths:function(e,t){var n=new Date(e),r=n.getDate();return n.setDate(1),n.setMonth(n.getMonth()+t),n.setDate(Math.min(r,Py.getDaysInMonth(n.getFullYear(),n.getMonth()))),n}},Ny=Py;function Ty(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function ky(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var Ry=function(e){var t=Ny.isSameMonth(e.date,e.initialDateForCalendarRender),n=Ny.isToday(e.date),r=Ny.isSameDay(e.date,e.selectedDate),a=Ny.isFirstDayOfMonth(e.date),i=!t||e.disabled;return o.a.createElement("td",{"aria-disabled":i,"aria-selected":r,className:l()({"slds-is-today":n,"slds-disabled-text":i,"slds-is-selected":r}),onClick:function(t){!function(e,t){var n=t.date;(0,t.onSelectDate)(e,{date:n})}(t,{date:e.date,onSelectDate:e.onSelectDate})},onKeyDown:function(t){!function(e,t){var n,r=t.date,o=t.onCalendarBlur,a=t.onSelectDate,i=t.onKeyboardNavigateToPreviousDay,s=t.onKeyboardNavigateToNextDay,l=t.onKeyboardNavigateToPreviousWeek,c=t.onKeyboardNavigateToNextWeek,u=t.direction,p=(ky(n={},At.SPACE,(function(){a(e,{date:r})})),ky(n,At.ENTER,(function(){a(e,{date:r})})),ky(n,At.TAB,(function(){o(e,{direction:"next"})})),ky(n,At.LEFT,(function(){u===Te.RTL?s(e,{date:r}):i(e,{date:r})})),ky(n,At.RIGHT,(function(){u===Te.RTL?i(e,{date:r}):s(e,{date:r})})),ky(n,At.UP,(function(){l(e,{date:r})})),ky(n,At.DOWN,(function(){c(e,{date:r})})),n),f=ky({},At.TAB,(function(){o(e,{direction:"previous"})}));e.keyCode&&(e.shiftKey&&p[e.keyCode]?(Dt.trapEvent(e),f[e.keyCode]()):p[e.keyCode]&&(Dt.trapEvent(e),p[e.keyCode]()))}(t,function(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?Ty(Object(n),!0).forEach((function(t){ky(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Ty(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}({},e))},ref:function(n){r&&e.selectedDateRef(n),e.calendarHasFocus&&Ny.isSameDay(e.focusedDate,e.date)&&t&&e.onRequestInternalFocusDate(void 0,{date:e.date,ref:n})},role:"gridcell",tabIndex:!e.calendarHasFocus&&a&&t?0:-1},o.a.createElement("span",{className:"slds-day"},n?o.a.createElement("span",{className:"slds-assistive-text"},"".concat(e.todayLabel,": ")):null,e.date.getDate()))};Ry.displayName="SLDSDatepickerCalendarDay",Ry.propTypes={calendarHasFocus:i.a.bool.isRequired,date:i.a.instanceOf(Date).isRequired,disabled:i.a.bool,initialDateForCalendarRender:i.a.instanceOf(Date).isRequired,onCalendarBlur:i.a.func.isRequired,onKeyboardNavigateToNextDay:i.a.func.isRequired,onKeyboardNavigateToNextWeek:i.a.func.isRequired,onKeyboardNavigateToPreviousDay:i.a.func.isRequired,onKeyboardNavigateToPreviousWeek:i.a.func.isRequired,onSelectDate:i.a.func.isRequired,selectedDate:i.a.instanceOf(Date).isRequired,selectedDateRef:i.a.func.isRequired,todayLabel:i.a.string.isRequired,focusedDate:i.a.instanceOf(Date),onRequestInternalFocusDate:i.a.func};var Dy=st(Ry),Iy=function(e){for(var t=[],n=e.firstDayOfWeek,r=0;r<7;r+=1)t.push(o.a.createElement(Dy,{calendarHasFocus:e.calendarHasFocus,date:n,disabled:e.dateDisabled({date:n}),focusedDate:e.focusedDate,initialDateForCalendarRender:e.initialDateForCalendarRender,key:n.toString(),onKeyboardNavigateToNextDay:e.onKeyboardNavigateToNextDay,onKeyboardNavigateToNextWeek:e.onKeyboardNavigateToNextWeek,onKeyboardNavigateToPreviousDay:e.onKeyboardNavigateToPreviousDay,onKeyboardNavigateToPreviousWeek:e.onKeyboardNavigateToPreviousWeek,onCalendarBlur:e.onCalendarBlur,onRequestInternalFocusDate:e.onRequestInternalFocusDate,onSelectDate:e.onSelectDate,selectedDate:e.selectedDate,selectedDateRef:e.selectedDateRef,todayLabel:e.todayLabel})),n=Ny.addDays(n,1);return o.a.createElement("tr",{className:"week",key:t[0].toString()},t)};Iy.propTypes={initialDateForCalendarRender:i.a.instanceOf(Date).isRequired,calendarHasFocus:i.a.bool.isRequired,dateDisabled:i.a.func,firstDayOfWeek:i.a.instanceOf(Date).isRequired,focusedDate:i.a.instanceOf(Date).isRequired,onCalendarBlur:i.a.func.isRequired,onKeyboardNavigateToNextDay:i.a.func.isRequired,onKeyboardNavigateToNextWeek:i.a.func.isRequired,onKeyboardNavigateToPreviousDay:i.a.func.isRequired,onKeyboardNavigateToPreviousWeek:i.a.func.isRequired,onRequestInternalFocusDate:i.a.func.isRequired,onSelectDate:i.a.func.isRequired,selectedDate:i.a.instanceOf(Date).isRequired,selectedDateRef:i.a.func.isRequired,todayLabel:i.a.string.isRequired},Iy.displayName="SLDSDatepickerWeek";var Ay=Iy;function Ly(e){return(Ly="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function By(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function Fy(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function My(e,t){return(My=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function qy(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=Wy(e);if(t){var o=Wy(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return Hy(this,n)}}function Hy(e,t){return!t||"object"!==Ly(t)&&"function"!=typeof t?Ky(e):t}function Ky(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function Wy(e){return(Wy=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function Vy(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var Uy=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&My(e,t)}(i,e);var t,n,r,a=qy(i);function i(){var e;By(this,i);for(var t=arguments.length,n=new Array(t),r=0;r<t;r++)n[r]=arguments[r];return Vy(Ky(e=a.call.apply(a,[this].concat(n))),"state",{focusedDate:e.props.initialDateForCalendarRender,calendarHasFocus:!0,todayFocus:!1}),Vy(Ky(e),"setCalendarRenderSeedDate",(function(t){Ny.isEqual(e.props.initialDateForCalendarRender,t.initialDateForCalendarRender)||(e.setState({focusedDate:e.props.initialDateForCalendarRender}),e.props.onRequestInternalFocusDate(void 0,{date:e.props.initialDateForCalendarRender,triggerCallback:!0}))})),Vy(Ky(e),"handleSelectDate",(function(t,n){var r=n.date;e.props.dateDisabled({date:r})||(e.setState({selected:r}),e.props.onSelectDate(t,{date:r}))})),Vy(Ky(e),"handleRequestClose",(function(t){e.props.onRequestClose&&e.props.onRequestClose(t,{})})),Vy(Ky(e),"handleKeyboardNavigateToPreviousDay",(function(t,n){var r=n.date,o=Ny.addDays(r,-1);Ny.isSameMonth(o,r)?(e.setState({focusedDate:o}),e.props.onRequestInternalFocusDate(t,{date:o,triggerCallback:!0})):e.props.onChangeMonth(t,o)})),Vy(Ky(e),"handleKeyboardNavigateToNextDay",(function(t,n){var r=n.date,o=Ny.addDays(r,1);Ny.isSameMonth(o,r)?(e.setState({focusedDate:o}),e.props.onRequestInternalFocusDate(t,{date:o,triggerCallback:!0})):e.props.onChangeMonth(t,o)})),Vy(Ky(e),"handleKeyboardNavigateToPreviousWeek",(function(t,n){var r=n.date,o=Ny.addDays(r,-7);Ny.isSameMonth(o,r)?(e.setState({focusedDate:o}),e.props.onRequestInternalFocusDate(t,{date:o,triggerCallback:!0})):e.props.onChangeMonth(t,o)})),Vy(Ky(e),"handleKeyboardNavigateToNextWeek",(function(t,n){var r=n.date,o=Ny.addDays(r,7);Ny.isSameMonth(o,r)?(e.setState({focusedDate:o}),e.props.onRequestInternalFocusDate(t,{date:o,triggerCallback:!0})):e.props.onChangeMonth(t,o)})),Vy(Ky(e),"renderWeeks",(function(){var t,n=e.props.isIsoWeekday?1:0,r=Ny.firstDayOfMonth(e.props.initialDateForCalendarRender);if(r.getDay()>n||r.getDay()<n){var a=Ny.addWeeks(r,-1);t=Ny.nearestWeekDay(a,n)}else t=r;for(var i=[],s=!1,l=t.getMonth(),c=0;!s;)i.push(o.a.createElement(Ay,{calendarHasFocus:e.state.calendarHasFocus,dateDisabled:e.props.dateDisabled,firstDayOfWeek:t,key:t.toString(),focusedDate:e.state.focusedDate,initialDateForCalendarRender:e.props.initialDateForCalendarRender,onCalendarBlur:e.props.onCalendarBlur,onKeyboardNavigateToPreviousDay:e.handleKeyboardNavigateToPreviousDay,onKeyboardNavigateToNextDay:e.handleKeyboardNavigateToNextDay,onKeyboardNavigateToPreviousWeek:e.handleKeyboardNavigateToPreviousWeek,onKeyboardNavigateToNextWeek:e.handleKeyboardNavigateToNextWeek,onRequestClose:e.handleRequestClose,onRequestInternalFocusDate:e.props.onRequestInternalFocusDate,onSelectDate:e.handleSelectDate,selectedDate:e.props.selectedDate,selectedDateRef:e.props.selectedDateRef,todayLabel:e.props.todayLabel})),t=Ny.addWeeks(t,1),s=c>2&&l!==t.getMonth(),c+=1,l=t.getMonth();for(var u=0;i.length<6;)u+=1,i.push(o.a.createElement("tr",{key:"extra_".concat(u),className:"week"},o.a.createElement("td",{"aria-disabled":"true","aria-selected":"false",className:"slds-disabled-text"},o.a.createElement("span",{className:"slds-day "}," "))));return i})),e}return t=i,(n=[{key:"componentDidUpdate",value:function(e){this.setCalendarRenderSeedDate(e)}},{key:"render",value:function(){var e=this,t=o.a.createElement("th",null,o.a.createElement("abbr",{title:this.props.weekDayLabels[0]},this.props.abbreviatedWeekDayLabels[0]));return o.a.createElement("div",{className:"calendar"},o.a.createElement("table",{className:"datepicker__month",role:"grid","aria-labelledby":"".concat(this.props.id,"-month")},o.a.createElement("thead",null,o.a.createElement("tr",null,this.props.isIsoWeekday?null:t,o.a.createElement("th",{scope:"col"},o.a.createElement("abbr",{title:this.props.weekDayLabels[1]},this.props.abbreviatedWeekDayLabels[1])),o.a.createElement("th",{scope:"col"},o.a.createElement("abbr",{title:this.props.weekDayLabels[2]},this.props.abbreviatedWeekDayLabels[2])),o.a.createElement("th",{scope:"col"},o.a.createElement("abbr",{title:this.props.weekDayLabels[3]},this.props.abbreviatedWeekDayLabels[3])),o.a.createElement("th",{scope:"col"},o.a.createElement("abbr",{title:this.props.weekDayLabels[4]},this.props.abbreviatedWeekDayLabels[4])),o.a.createElement("th",{scope:"col"},o.a.createElement("abbr",{title:this.props.weekDayLabels[5]},this.props.abbreviatedWeekDayLabels[5])),o.a.createElement("th",{scope:"col"},o.a.createElement("abbr",{title:this.props.weekDayLabels[6]},this.props.abbreviatedWeekDayLabels[6])),this.props.isIsoWeekday&&t)),o.a.createElement("tbody",null,this.renderWeeks(),o.a.createElement("tr",null,o.a.createElement("td",{colSpan:"7",role:"gridcell"},o.a.createElement("a",{href:"javascript:void(0)",tabIndex:"0",className:"slds-show_inline-block slds-p-bottom_x-small",onClick:function(t){e.handleSelectDate(t,{date:new Date})},onKeyDown:this.props.onLastFocusableNodeKeyDown,ref:this.props.todayRef},this.props.todayLabel))))))}}])&&Fy(t.prototype,n),r&&Fy(t,r),i}(o.a.Component);Vy(Uy,"displayName","SLDSDatepickerCalendar"),Vy(Uy,"propTypes",{abbreviatedWeekDayLabels:i.a.array.isRequired,dateDisabled:i.a.func,id:i.a.string.isRequired,initialDateForCalendarRender:i.a.instanceOf(Date).isRequired,isIsoWeekday:i.a.bool,onCalendarBlur:i.a.func.isRequired,onChangeMonth:i.a.func.isRequired,onRequestInternalFocusDate:i.a.func,onRequestClose:i.a.func.isRequired,onSelectDate:i.a.func.isRequired,selectedDate:i.a.instanceOf(Date),selectedDateRef:i.a.func,todayLabel:i.a.string.isRequired,onLastFocusableNodeKeyDown:i.a.func,todayRef:i.a.func,weekDayLabels:i.a.array.isRequired});var zy=Uy;function Gy(e){return(Gy="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function Yy(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function Qy(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function Jy(e,t){return(Jy=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function Xy(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=eg(e);if(t){var o=eg(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return $y(this,n)}}function $y(e,t){return!t||"object"!==Gy(t)&&"function"!=typeof t?Zy(e):t}function Zy(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function eg(e){return(eg=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function tg(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var ng=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&Jy(e,t)}(i,e);var t,n,r,a=Xy(i);function i(){var e;Yy(this,i);for(var t=arguments.length,n=new Array(t),r=0;r<t;r++)n[r]=arguments[r];return tg(Zy(e=a.call.apply(a,[this].concat(n))),"getOptions",(function(){for(var t=new Date,n=t.getFullYear()+e.props.relativeYearFrom,r=t.getFullYear()+e.props.relativeYearTo,o=[],a=n;a<r;a+=1)o.push({label:"".concat(a),value:a,id:String(o.length)});return o})),tg(Zy(e),"getSelectedValueOption",(function(){var t=e.props.initialDateForCalendarRender.getFullYear();return e.getOptions().filter((function(e){return e.value===t}))})),tg(Zy(e),"handleSelect",(function(t,n){var r=n.selection[0];r&&e.props.onChangeMonth(new Date(e.props.initialDateForCalendarRender.setFullYear(parseInt(r.value,10))))})),e}return t=i,(n=[{key:"render",value:function(){var e=this.getSelectedValueOption();return o.a.createElement("div",{className:"slds-form-element slds-align-content-center"},o.a.createElement(Ym,{assistiveText:{label:this.props.assistiveTextYear},className:"slds-shrink-none",classNameMenu:"slds-datepicker",events:{onSelect:this.handleSelect},id:"".concat(this.props.id,"-year-picklist"),inheritWidthOf:"target",menuPosition:"relative",multiple:!1,options:this.getOptions(),labels:{placeholder:"Year"},selection:e,value:e.value,variant:"readonly"}))}}])&&Qy(t.prototype,n),r&&Qy(t,r),i}(o.a.Component);tg(ng,"displayName","SLDSDatepickerYearSelector"),tg(ng,"propTypes",{assistiveTextYear:i.a.string.isRequired,id:i.a.string,initialDateForCalendarRender:i.a.instanceOf(Date).isRequired,onChangeMonth:i.a.func.isRequired,relativeYearFrom:i.a.number,relativeYearTo:i.a.number});var rg=ng;function og(e){return(og="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function ag(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function ig(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function sg(e,t){return(sg=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function lg(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=pg(e);if(t){var o=pg(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return cg(this,n)}}function cg(e,t){return!t||"object"!==og(t)&&"function"!=typeof t?ug(e):t}function ug(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function pg(e){return(pg=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function fg(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var dg=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&sg(e,t)}(i,e);var t,n,r,a=lg(i);function i(){var e;ag(this,i);for(var t=arguments.length,n=new Array(t),r=0;r<t;r++)n[r]=arguments[r];return fg(ug(e=a.call.apply(a,[this].concat(n))),"getMonthLabel",(function(){return e.props.monthLabels[new Date(e.props.initialDateForCalendarRender).getMonth()]})),fg(ug(e),"getYearLabel",(function(){return new Date(e.props.initialDateForCalendarRender).getFullYear()})),fg(ug(e),"handleClick",(function(e){e.preventDefault(),e.stopPropagation()})),fg(ug(e),"handleYearSelect",(function(t){e.props.onChangeMonth(void 0,t)})),fg(ug(e),"previousMonthClicked",(function(){e.props.onChangeMonth(void 0,Ny.addMonths(e.props.initialDateForCalendarRender,-1))})),fg(ug(e),"nextMonthClicked",(function(){e.props.onChangeMonth(void 0,Ny.addMonths(e.props.initialDateForCalendarRender,1))})),e}return t=i,(n=[{key:"render",value:function(){var e=this;return o.a.createElement("div",{className:"slds-datepicker__filter slds-grid"},o.a.createElement("div",{className:"slds-datepicker__filter_month slds-grid slds-grid_align-spread slds-grow",style:{flex:1.75}},o.a.createElement("div",{className:"slds-align-middle"},o.a.createElement(or,{assistiveText:{icon:this.props.assistiveTextPreviousMonth},iconCategory:"utility",iconName:"left",iconVariant:"container",onKeyDown:this.props.onPreviousMonthKeyDown,onClick:this.previousMonthClicked,buttonRef:function(t){e.props.previousMonthRef(t)},variant:"icon",type:"button"})),o.a.createElement("h2",{id:"".concat(this.props.id,"-month"),className:"slds-align-middle","aria-live":"assertive","aria-atomic":!0},this.getMonthLabel()," ",o.a.createElement("span",{className:"slds-assistive-text"},this.getYearLabel())),o.a.createElement("div",{className:"slds-align-middle"},o.a.createElement(or,{assistiveText:{icon:this.props.assistiveTextNextMonth},iconCategory:"utility",iconName:"right",iconVariant:"container",onClick:this.nextMonthClicked,variant:"icon",type:"button"}))),o.a.createElement(rg,{assistiveTextYear:this.props.assistiveTextYear,id:this.props.id,initialDateForCalendarRender:this.props.initialDateForCalendarRender,onChangeMonth:this.handleYearSelect,relativeYearFrom:this.props.relativeYearFrom,relativeYearTo:this.props.relativeYearTo}))}}])&&ig(t.prototype,n),r&&ig(t,r),i}(o.a.Component);fg(dg,"displayName","SLDSDatepickerMonthNavigation"),fg(dg,"propTypes",{assistiveTextNextMonth:i.a.string.isRequired,assistiveTextPreviousMonth:i.a.string.isRequired,assistiveTextYear:i.a.string.isRequired,id:i.a.string,initialDateForCalendarRender:i.a.instanceOf(Date).isRequired,onChangeMonth:i.a.func.isRequired,monthLabels:i.a.array.isRequired,onPreviousMonthKeyDown:i.a.func,previousMonthRef:i.a.func.isRequired,relativeYearFrom:i.a.number,relativeYearTo:i.a.number});var hg=dg;function mg(e){return(mg="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function bg(e,t){if(null==e)return{};var n,r,o=function(e,t){if(null==e)return{};var n,r,o={},a=Object.keys(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)>=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}function yg(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function gg(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function vg(e,t){return(vg=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function Og(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=xg(e);if(t){var o=xg(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return _g(this,n)}}function _g(e,t){return!t||"object"!==mg(t)&&"function"!=typeof t?Sg(e):t}function Sg(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function xg(e){return(xg=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function wg(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var Eg=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&vg(e,t)}(i,e);var t,n,r,a=Og(i);function i(){var e;yg(this,i);for(var t=arguments.length,n=new Array(t),r=0;r<t;r++)n[r]=arguments[r];return wg(Sg(e=a.call.apply(a,[this].concat(n))),"state",{initialDateForCalendarRender:e.props.selectedDate}),wg(Sg(e),"handleCalendarBlur",(function(t,n){var r=n.direction;"next"===r&&e.previousMonthRef?(e.props.onCalendarFocus&&e.props.onCalendarFocus(t,{direction:r,ref:e.previousMonthRef}),e.previousMonthRef.focus()):"previous"===r&&e.todayRef&&(e.props.onCalendarFocus&&e.props.onCalendarFocus(t,{direction:r,ref:e.todayRef}),e.todayRef.focus())})),wg(Sg(e),"handleFirstFocusableNodeKeyDown",(function(e){e.shiftKey&&e.keyCode===At.TAB&&Dt.trapEvent(e)})),wg(Sg(e),"handleInitialDateForCalendarRenderChange",(function(t,n){e.setState({initialDateForCalendarRender:n})})),wg(Sg(e),"handleKeyDown",(function(t){t.keyCode===At.ESCAPE&&(Dt.trapEvent(t),e.props.onRequestClose(t,{}))})),wg(Sg(e),"handleLastFocusableNodeKeyDown",(function(e){e.shiftKey||e.keyCode!==At.TAB||Dt.trapEvent(e)})),wg(Sg(e),"handleRequestClose",(function(t){e.props.onRequestClose&&e.props.onRequestClose(t,{})})),wg(Sg(e),"handleRequestFocusDate",(function(t,n){if(n.ref&&e.props.canFocusCalendar&&n.ref.focus(),e.props.onCalendarFocus&&n.triggerCallback){n.triggerCallback;var r=bg(n,["triggerCallback"]);e.props.onCalendarFocus(t,r)}})),e}return t=i,(n=[{key:"render",value:function(){var e=this;return o.a.createElement("div",{className:l()({"slds-datepicker":this.props.isolated},this.props.className),"aria-hidden":"false","data-selection":"single",onKeyDown:this.handleKeyDown},o.a.createElement(hg,{assistiveTextNextMonth:this.props.assistiveTextNextMonth,assistiveTextPreviousMonth:this.props.assistiveTextPreviousMonth,assistiveTextYear:this.props.assistiveTextYear,id:this.props.id,initialDateForCalendarRender:this.state.initialDateForCalendarRender,monthLabels:this.props.monthLabels,onChangeMonth:this.handleInitialDateForCalendarRenderChange,previousMonthRef:function(t){e.previousMonthRef=t},onPreviousMonthKeyDown:this.handleFirstFocusableNodeKeyDown,relativeYearFrom:this.props.relativeYearFrom,relativeYearTo:this.props.relativeYearTo}),o.a.createElement(zy,{abbreviatedWeekDayLabels:this.props.abbreviatedWeekDayLabels,dateDisabled:this.props.dateDisabled,id:this.props.id,initialDateForCalendarRender:this.state.initialDateForCalendarRender,isIsoWeekday:this.props.isIsoWeekday,onCalendarBlur:this.handleCalendarBlur,onChangeMonth:this.handleInitialDateForCalendarRenderChange,onRequestClose:this.handleRequestClose,onRequestInternalFocusDate:this.handleRequestFocusDate,onSelectDate:this.props.onSelectDate,selectedDate:this.props.selectedDate,selectedDateRef:this.props.selectedDateRef,todayLabel:this.props.todayLabel,todayRef:function(t){e.todayRef=t},onLastFocusableNodeKeyDown:this.handleLastFocusableNodeKeyDown,weekDayLabels:this.props.weekDayLabels}))}}])&&gg(t.prototype,n),r&&gg(t,r),i}(o.a.Component);wg(Eg,"displayName","DatepickerCalendarWrapper"),wg(Eg,"propTypes",{assistiveTextNextMonth:i.a.string.isRequired,assistiveTextPreviousMonth:i.a.string.isRequired,assistiveTextYear:i.a.string.isRequired,abbreviatedWeekDayLabels:i.a.array.isRequired,canFocusCalendar:i.a.bool.isRequired,className:i.a.oneOfType([i.a.array,i.a.object,i.a.string]),dateDisabled:i.a.func,id:i.a.string,isIsoWeekday:i.a.bool,isolated:i.a.bool,monthLabels:i.a.array.isRequired,onCalendarFocus:i.a.func,onRequestClose:i.a.func.isRequired,onSelectDate:i.a.func.isRequired,relativeYearFrom:i.a.number.isRequired,relativeYearTo:i.a.number.isRequired,selectedDate:i.a.instanceOf(Date),selectedDateRef:i.a.func,todayLabel:i.a.string.isRequired,weekDayLabels:i.a.array.isRequired}),wg(Eg,"defaultProps",{selectedDate:new Date,value:new Date});var jg=Eg;var Cg=function(){},Pg=n(48);function Ng(e){return(Ng="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function Tg(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function kg(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?Tg(Object(n),!0).forEach((function(t){Fg(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Tg(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function Rg(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function Dg(e,t){return(Dg=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function Ig(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=Bg(e);if(t){var o=Bg(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return Ag(this,n)}}function Ag(e,t){return!t||"object"!==Ng(t)&&"function"!=typeof t?Lg(e):t}function Lg(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function Bg(e){return(Bg=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function Fg(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var Mg={assistiveText:i.a.shape({nextMonth:i.a.string,openCalendar:i.a.string,previousMonth:i.a.string,year:i.a.string}),align:i.a.oneOf(["left","right"]),className:i.a.oneOfType([i.a.array,i.a.object,i.a.string]),disabled:i.a.bool,dateDisabled:i.a.func,formatter:i.a.func,formattedValue:i.a.string,hasStaticAlignment:i.a.bool,id:i.a.string,labels:i.a.shape({abbreviatedWeekDays:i.a.array,label:i.a.string,months:i.a.array,placeholder:i.a.string,today:i.a.string,weekDays:i.a.array}),input:i.a.node,isOpen:i.a.bool,isIsoWeekday:i.a.bool,menuPosition:i.a.oneOf(["absolute","overflowBoundaryElement","relative"]),onCalendarFocus:i.a.func,onChange:i.a.func,onClose:i.a.func,onOpen:i.a.func,onRequestClose:i.a.func,onRequestOpen:i.a.func,parser:i.a.func,relativeYearFrom:i.a.number,relativeYearTo:i.a.number,triggerClassName:i.a.oneOfType([i.a.array,i.a.object,i.a.string]),value:i.a.instanceOf(Date)},qg={align:"left",assistiveText:{nextMonth:"Next month",openCalendar:"Open Calendar",previousMonth:"Previous month",year:"Year"},formatter:function(e){return e?"".concat(e.getMonth()+1,"/").concat(e.getDate(),"/").concat(e.getFullYear()):""},labels:{abbreviatedWeekDays:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],placeholder:"Pick a Date",today:"Today",weekDays:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"]},menuPosition:"absolute",parser:function(e){return Ar(!1,"Please use an external library for date parsing and internationalization like MomentJS (https://github.com/moment/moment/) instead of the default parser."),new Date(e)},relativeYearFrom:-10,relativeYearTo:10,dateDisabled:function(){return!1}},Hg=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&Dg(e,t)}(i,e);var t,n,r,a=Ig(i);function i(e){var t;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,i),Fg(Lg(t=a.call(this,e)),"getDatePicker",(function(e){var n,r=e.labels,a=e.assistiveText;return n=t.props.value?t.props.formatter(t.props.value)?t.parseDate(t.props.formatter(t.props.value)):t.props.value:t.state.formattedValue?t.parseDate(t.state.formattedValue):t.state.value,o.a.createElement(jg,{abbreviatedWeekDayLabels:t.props.abbreviatedWeekDayLabels||t.props.abbrWeekDayLabels||r.abbreviatedWeekDays,assistiveTextNextMonth:t.props.assistiveTextNextMonth||a.nextMonth,assistiveTextPreviousMonth:t.props.assistiveTextPreviousMonth||a.previousMonth,assistiveTextYear:a.year,canFocusCalendar:t.state.isOpenFromIcon,id:t.getId(),isIsoWeekday:t.props.isIsoWeekday,monthLabels:t.props.monthLabels||r.months,onCalendarFocus:t.props.onCalendarFocus,dateDisabled:t.props.dateDisabled,onRequestClose:t.handleRequestClose,onSelectDate:t.handleCalendarChange,relativeYearFrom:t.props.relativeYearFrom,relativeYearTo:t.props.relativeYearTo,selectedDate:n||new Date,selectedDateRef:function(e){t.selectedDateCell=e},todayLabel:t.props.todayLabel||r.today,weekDayLabels:t.props.weekDayLabels||r.weekDays})})),Fg(Lg(t),"getDialog",(function(e){var n=e.labels,r=e.assistiveText,a=t.props.isInline?"relative":t.props.menuPosition,i="relative"!==t.props.menuPosition?{transform:"none"}:{};return!t.props.disabled&&t.getIsOpen()?o.a.createElement(mn,{align:"bottom ".concat(t.props.align),contentsClassName:l()("slds-datepicker slds-dropdown",{"slds-dropdown_right":"relative"===t.props.menuPosition&&"right"===t.props.align,"slds-dropdown_left":"relative"===t.props.menuPosition&&"left"===t.props.align},t.props.className),context:t.context,hasStaticAlignment:t.props.hasStaticAlignment,style:i,onClose:t.handleClose,onOpen:t.handleOpen,onRequestTargetElement:function(){return t.inputRef},position:a,portalMount:t.props.portalMount},t.getDatePicker({labels:n,assistiveText:r})):null})),Fg(Lg(t),"getId",(function(){return t.props.id||t.generatedId})),Fg(Lg(t),"getIsOpen",(function(){return!!("boolean"==typeof t.props.isOpen?t.props.isOpen:t.state.isOpen)})),Fg(Lg(t),"getInputProps",(function(e){var n=e.assistiveText,r=e.labels,a={iconRight:o.a.createElement(Dc,{assistiveText:{icon:t.props.assistiveTextOpenCalendar||n.openCalendar},"aria-haspopup":!0,"aria-expanded":t.getIsOpen(),category:"utility",name:"event",onClick:function(){t.openDialogFromIcon()},type:"button"}),inputRef:function(e){t.setInputRef(e)},id:t.getId(),onChange:t.handleInputChange,onClick:function(){t.openDialog()},onKeyDown:t.handleKeyDown,value:t.props.value?t.props.formatter(t.props.value):t.state.inputValue},i={disabled:t.props.disabled,label:t.props.label||r.label,onBlur:t.props.onBlur,onFocus:t.props.onFocus,placeholder:t.props.placeholder||r.placeholder,required:t.props.required},s=t.props.children&&t.props.children.props,l=kg(kg({},s),{},{onClick:function(){t.openDialog(),s&&s.onClick&&s.onClick()}}),c=t.props.input&&t.props.input.props;return kg(kg(kg(kg({},a),i),l),c)})),Fg(Lg(t),"setInputRef",(function(e){t.inputRef=e,t.state.inputRendered||t.setState({inputRendered:!0})})),Fg(Lg(t),"handleCalendarChange",(function(e,n){var r=n.date;t.props.value||t.setState({value:r,formattedValue:t.props.formatter(r),inputValue:t.props.formatter(r)}),t.handleRequestClose(),t.props.onChange&&t.props.onChange(e,{date:r,formattedDate:t.props.formatter(r),timezoneOffset:r.getTimezoneOffset()}),t.props.onDateChange&&t.props.onDateChange(r,t.props.formatter(r))})),Fg(Lg(t),"handleClickOutside",(function(){t.handleRequestClose()})),Fg(Lg(t),"handleClose",(function(){t.props.onClose&&t.props.onClose()})),Fg(Lg(t),"handleInputChange",(function(e){"boolean"!=typeof t.props.isOpen&&t.state.isOpen&&t.setState({isOpen:!1}),t.setState({formattedValue:e.target.value,inputValue:e.target.value});var n=t.props.parser(e.target.value);t.props.onChange&&t.props.onChange(e,{date:n,formattedDate:e.target.value,timezoneOffset:n.getTimezoneOffset()})})),Fg(Lg(t),"handleKeyDown",(function(e){!e.keyCode||e.shiftKey||e.keyCode!==At.DOWN&&e.keyCode!==At.UP||(Dt.trapEvent(e),t.setState({isOpen:!0})),e.keyCode!==At.ESCAPE&&e.keyCode!==At.ENTER||(Dt.trapEvent(e),t.setState({isOpen:!1})),t.props.onKeyDown&&t.props.onKeyDown(e,{})})),Fg(Lg(t),"handleOpen",(function(e,n){var r=n.portal;t.props.onOpen&&t.props.onOpen(e,{portal:r}),t.selectedDateCell&&t.state.isOpenFromIcon&&t.selectedDateCell.focus()})),Fg(Lg(t),"handleRequestClose",(function(){t.props.onRequestClose&&t.props.onRequestClose(),t.getIsOpen()&&(t.setState({isOpen:!1,isOpenFromIcon:!1}),t.inputRef&&t.inputRef.focus())})),Fg(Lg(t),"openDialogFromIcon",(function(){t.setState({isOpenFromIcon:!0}),t.openDialog(!0)})),Fg(Lg(t),"openDialog",(function(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];e||t.setState({isOpenFromIcon:!1}),t.props.onRequestOpen?t.props.onRequestOpen():t.setState({isOpen:!0})})),Fg(Lg(t),"parseDate",(function(e){var n=t.props.parser(e);return("[object Date]"!==Object.prototype.toString.call(n)||isNaN(n.getTime()))&&(n=new Date),n}));var n=e.formattedValue||e.strValue,r=e.formatter(e.value),s=e.value?r:n;return t.state={isOpen:!1,isOpenFromIcon:!1,value:e.value,formattedValue:s||"",inputValue:s||""},t.generatedId=u.a.generate(),Cg(I,e,Pg),t}return t=i,(n=[{key:"render",value:function(){var e=cr()({},qg.labels,this.props.labels),t=cr()({},qg.assistiveText,this.props.assistiveText),n=this.getInputProps({assistiveText:t,labels:e}),r=this.props.children?o.a.cloneElement(this.props.children,kg({},n)):o.a.createElement(Pu,n);return o.a.createElement("div",{className:l()("slds-dropdown-trigger","slds-dropdown-trigger_click","ignore-react-onclickoutside",{"slds-is-open":this.getIsOpen()},this.props.triggerClassName)},r,this.getDialog({labels:e,assistiveText:t}))}}])&&Rg(t.prototype,n),r&&Rg(t,r),i}(o.a.Component);Hg.contextTypes={iconPath:i.a.string},Hg.displayName=I,Hg.propTypes=Mg,Hg.defaultProps=qg;var Kg=Ci(Hg);function Wg(e){return(Wg="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function Vg(e){return function(e){if(Array.isArray(e))return Ug(e)}(e)||function(e){if("undefined"!=typeof Symbol&&Symbol.iterator in Object(e))return Array.from(e)}(e)||function(e,t){if(!e)return;if("string"==typeof e)return Ug(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return Ug(e,t)}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Ug(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function zg(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function Gg(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function Yg(e,t){return(Yg=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function Qg(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=Xg(e);if(t){var o=Xg(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return Jg(this,n)}}function Jg(e,t){return!t||"object"!==Wg(t)&&"function"!=typeof t?function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e):t}function Xg(e){return(Xg=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}var $g={assistiveText:i.a.shape({label:i.a.string}),className:i.a.oneOfType([i.a.array,i.a.object,i.a.string]),isPaused:i.a.bool,isStatic:i.a.bool,scorePolarity:i.a.oneOf(["positive","negative"]),strengthLevel:i.a.oneOf(["-3","-2","-1","0","1","2","3",-3,-2,-1,0,1,2,3]),title:i.a.string.isRequired,trendDirection:i.a.oneOf(["down","up","neutral"]),variant:i.a.oneOf(["ellie","eq","score","strength","trend","typing","waffle"]).isRequired},Zg=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&Yg(e,t)}(i,e);var t,n,r,a=Qg(i);function i(){return zg(this,i),a.apply(this,arguments)}return t=i,(n=[{key:"getIconChildren",value:function(){var e=[],t=this.props.title?this.props.title:"".concat(this.props.variant.charAt(0).toUpperCase()).concat(this.props.variant.slice(1));return"ellie"===this.props.variant?e=[o.a.createElement("svg",{viewBox:"0 0 280 14","aria-hidden":"true"},o.a.createElement("circle",{cx:"7",cy:"7",r:"4"}),o.a.createElement("circle",{cx:"7",cy:"7",r:"3"}),o.a.createElement("circle",{cx:"21",cy:"7",r:"4"}),o.a.createElement("circle",{cx:"21",cy:"7",r:"3"}),o.a.createElement("circle",{cx:"35",cy:"7",r:"4"}),o.a.createElement("circle",{cx:"35",cy:"7",r:"3"}),o.a.createElement("circle",{cx:"49",cy:"7",r:"4"}),o.a.createElement("circle",{cx:"49",cy:"7",r:"3"}),o.a.createElement("circle",{cx:"63",cy:"7",r:"4"}),o.a.createElement("circle",{cx:"63",cy:"7",r:"3"}),o.a.createElement("circle",{cx:"77",cy:"7",r:"4"}),o.a.createElement("circle",{cx:"77",cy:"7",r:"3"}),o.a.createElement("circle",{cx:"91",cy:"7",r:"4"}),o.a.createElement("circle",{cx:"91",cy:"7",r:"3"}),o.a.createElement("circle",{cx:"105",cy:"7",r:"4"}),o.a.createElement("circle",{cx:"105",cy:"7",r:"3"}),o.a.createElement("circle",{cx:"119",cy:"7",r:"4"}),o.a.createElement("circle",{cx:"119",cy:"7",r:"3"}),o.a.createElement("circle",{cx:"133",cy:"7",r:"4"}),o.a.createElement("circle",{cx:"133",cy:"7",r:"3"}),o.a.createElement("circle",{cx:"147",cy:"7",r:"4"}),o.a.createElement("circle",{cx:"147",cy:"7",r:"3"}),o.a.createElement("circle",{cx:"161",cy:"7",r:"4"}),o.a.createElement("circle",{cx:"161",cy:"7",r:"3"}),o.a.createElement("circle",{cx:"175",cy:"7",r:"4"}),o.a.createElement("circle",{cx:"175",cy:"7",r:"3"}),o.a.createElement("circle",{cx:"189",cy:"7",r:"4"}),o.a.createElement("circle",{cx:"189",cy:"7",r:"3"}),o.a.createElement("circle",{cx:"203",cy:"7",r:"4"}),o.a.createElement("circle",{cx:"203",cy:"7",r:"3"}),o.a.createElement("circle",{cx:"217",cy:"7",r:"4"}),o.a.createElement("circle",{cx:"217",cy:"7",r:"3"}),o.a.createElement("circle",{cx:"231",cy:"7",r:"4"}),o.a.createElement("circle",{cx:"231",cy:"7",r:"3"}),o.a.createElement("circle",{cx:"245",cy:"7",r:"4"}),o.a.createElement("circle",{cx:"245",cy:"7",r:"3"}),o.a.createElement("circle",{cx:"259",cy:"7",r:"4"}),o.a.createElement("circle",{cx:"259",cy:"7",r:"3"}),o.a.createElement("circle",{cx:"273",cy:"7",r:"4"}),o.a.createElement("circle",{cx:"273",cy:"7",r:"3"}))]:"eq"===this.props.variant?e=[o.a.createElement("div",{className:"slds-icon-eq__bar"}),o.a.createElement("div",{className:"slds-icon-eq__bar"}),o.a.createElement("div",{className:"slds-icon-eq__bar"})]:"score"===this.props.variant?e=[o.a.createElement("svg",{viewBox:"0 0 5 5",className:"slds-icon-score__positive","aria-hidden":"true"},o.a.createElement("circle",{cx:"50%",cy:"50%",r:"1.875"})),o.a.createElement("svg",{viewBox:"0 0 5 5",className:"slds-icon-score__negative","aria-hidden":"true"},o.a.createElement("circle",{cx:"50%",cy:"50%",r:"1.875"}))]:"strength"===this.props.variant?e=[o.a.createElement("svg",{viewBox:"0 0 27 7","aria-hidden":"true"},o.a.createElement("circle",{r:"3.025",cx:"3.5",cy:"3.5"}),o.a.createElement("circle",{r:"3.025",cx:"13.5",cy:"3.5"}),o.a.createElement("circle",{r:"3.025",cx:"23.5",cy:"3.5"}))]:"trend"===this.props.variant?e=[o.a.createElement("svg",{viewBox:"0 0 16 16","aria-hidden":"true"},o.a.createElement("path",{className:"slds-icon-trend__arrow",d:"M.75 8H11M8 4.5L11.5 8 8 11.5"}),o.a.createElement("circle",{className:"slds-icon-trend__circle",cy:"8",cx:"8",r:"7.375",transform:"rotate(-28 8 8) scale(-1 1) translate(-16 0)"}))]:"typing"===this.props.variant?(e=[o.a.createElement("span",{className:"slds-icon-typing__dot"}),o.a.createElement("span",{className:"slds-icon-typing__dot"}),o.a.createElement("span",{className:"slds-icon-typing__dot"})],this.props.title||(t="User is typing")):"waffle"===this.props.variant&&(e=[o.a.createElement("span",{className:"slds-icon-waffle"},o.a.createElement("span",{className:"slds-r1"}),o.a.createElement("span",{className:"slds-r2"}),o.a.createElement("span",{className:"slds-r3"}),o.a.createElement("span",{className:"slds-r4"}),o.a.createElement("span",{className:"slds-r5"}),o.a.createElement("span",{className:"slds-r6"}),o.a.createElement("span",{className:"slds-r7"}),o.a.createElement("span",{className:"slds-r8"}),o.a.createElement("span",{className:"slds-r9"}))],this.props.title||(t="Open App Launcher")),e.push(o.a.createElement("span",{className:"slds-assistive-text"},this.props.assistiveText&&this.props.assistiveText.label?this.props.assistiveText.label:t)),e}},{key:"render",value:function(){var e=this.getIconChildren(),t=[{"slds-is-animated":!this.props.isStatic,"slds-is-paused":this.props.isPaused}],n={title:this.props.title},r="span";return"waffle"===this.props.variant?(t.unshift("slds-button","slds-icon-waffle_container"),r="button"):(t.unshift("slds-icon-".concat(this.props.variant)),"eq"===this.props.variant?r="div":"score"===this.props.variant?n["data-slds-state"]=this.props.scorePolarity?this.props.scorePolarity:"positive":"strength"===this.props.variant?n["data-slds-strength"]=void 0!==this.props.strengthLevel?"".concat(this.props.strengthLevel):"0":"trend"===this.props.variant&&(n["data-slds-trend"]=this.props.trendDirection?this.props.trendDirection:"neutral")),n.className=gn(t,this.props.className),o.a.createElement.apply(o.a,[r,n].concat(Vg(e)))}}])&&Gg(t.prototype,n),r&&Gg(t,r),i}(o.a.Component);Zg.displayName="SLDSDynamicIcon",Zg.propTypes=$g;var ev=Zg;function tv(e){return(tv="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function nv(){return(nv=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}function rv(e,t){if(null==e)return{};var n,r,o=function(e,t){if(null==e)return{};var n,r,o={},a=Object.keys(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)>=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}function ov(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function av(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function iv(e,t){return(iv=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function sv(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=uv(e);if(t){var o=uv(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return lv(this,n)}}function lv(e,t){return!t||"object"!==tv(t)&&"function"!=typeof t?cv(e):t}function cv(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function uv(e){return(uv=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function pv(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var fv={labels:{cancel:"Cancel",save:"Save"}},dv=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&iv(e,t)}(i,e);var t,n,r,a=sv(i);function i(){var e;ov(this,i);for(var t=arguments.length,n=new Array(t),r=0;r<t;r++)n[r]=arguments[r];return pv(cv(e=a.call.apply(a,[this].concat(n))),"handleOpen",(function(){e.setState({isOpen:!0})})),pv(cv(e),"handleClose",(function(){e.setState({isOpen:!1})})),e}return t=i,(n=[{key:"render",value:function(){var e=this.props,t=e.onCancel,n=e.onSave,r=rv(e,["onCancel","onSave"]),a=this.props.children?this.props.children:o.a.createElement(or,{assistiveText:{icon:"Edit: Status"},className:"slds-button_reset",disabled:this.props.disabled,iconCategory:"utility",iconClassName:"slds-button__icon slds-button__icon_hint",iconName:"edit",onClick:this.props.handleOpen,variant:"icon",style:{verticalAlign:"middle"}}),i=cr()({},fv.labels,this.props.labels);return o.a.createElement(Oh,nv({classNameFooter:["slds-p-top_xxx-small","slds-p-bottom_xx-small","slds-p-right_large"],classNameBody:["slds-p-bottom_xx-small"],footer:o.a.createElement("div",{className:"slds-text-align_right slds-text-align_right slds-p-bottom_x-small slds-p-right_xx-small"},o.a.createElement(or,{label:i.cancel,onClick:t}),o.a.createElement(or,{disabled:!this.props.isModified,variant:"brand",label:i.save,onClick:n})),footerStyle:{borderTop:"0px"},onClose:this.handleClose,onRequestClose:this.handleClose,onOpen:this.handleOpen},r),a)}}])&&av(t.prototype,n),r&&av(t,r),i}(o.a.Component);pv(dv,"displayName","SLDSPopoverEditDialog"),pv(dv,"propTypes",{disabled:i.a.bool,id:i.a.string,isModified:i.a.bool,labels:i.a.shape({cancel:i.a.oneOfType([i.a.string,i.a.node]),save:i.a.oneOfType([i.a.string,i.a.node])}),onCancel:i.a.func,onSave:i.a.func,popover:i.a.node}),dv.defaultProps=fv;var hv=dv;function mv(e){return(mv="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function bv(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function yv(e,t,n){return t&&bv(e.prototype,t),n&&bv(e,n),e}function gv(e,t){return(gv=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function vv(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=_v(e);if(t){var o=_v(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return Ov(this,n)}}function Ov(e,t){return!t||"object"!==mv(t)&&"function"!=typeof t?function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e):t}function _v(e){return(_v=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}var Sv={assistiveText:i.a.shape({label:i.a.string,addCondition:i.a.string,addGroup:i.a.string}),id:i.a.string,children:i.a.node,className:i.a.oneOfType([i.a.array,i.a.object,i.a.string]),events:i.a.shape({onChangeTrigger:i.a.func,onChangeCustomLogicValue:i.a.func,onAddCondition:i.a.func,onAddGroup:i.a.func}),focusOnMount:i.a.bool,labels:i.a.shape({addCondition:i.a.string,addGroup:i.a.string,customLogic:i.a.string,label:i.a.string,takeAction:i.a.string,triggerAll:i.a.string,triggerAlways:i.a.string,triggerAny:i.a.string,triggerCustom:i.a.string,triggerFormula:i.a.string}),isRoot:i.a.bool,triggerType:i.a.oneOf(["all","any","custom","always","formula"]),customLogicValue:i.a.string},xv={triggerType:"all",customLogicValue:"",labels:{label:"",takeAction:"Take Action When",customLogic:"Custom Logic",addCondition:"Add Condition",addGroup:"Add Group",triggerAll:"All Conditions Are Met",triggerAny:"Any Condition Is Met",triggerCustom:"Custom Logic Is Met",triggerAlways:"Always (No Criteria)",triggerFormula:"Formula Evaluates To True"}},wv=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&gv(e,t)}(n,e);var t=vv(n);function n(e){var r;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,n),(r=t.call(this,e)).generatedId=u.a.generate(),r}return yv(n,null,[{key:"triggerChange",value:function(e,t){var n=t.selection[0].id,r="";return"1"===n?r="all":"2"===n?r="any":"3"===n?r="custom":"4"===n?r="always":"5"===n&&(r="formula"),r}}]),yv(n,[{key:"componentDidMount",value:function(){if(this.props.focusOnMount&&this.rootNode){var e=this.rootNode.querySelector("input");e&&e.focus()}}},{key:"getId",value:function(){return this.props.id||this.generatedId}},{key:"getTriggers",value:function(){var e=cr()({},xv.labels,this.props.labels);return[{id:"1",label:e.triggerAll},{id:"2",label:e.triggerAny},{id:"3",label:e.triggerCustom},{id:"4",label:e.triggerAlways},{id:"5",label:e.triggerFormula}]}},{key:"getTriggerSelection",value:function(){var e=this.props.triggerType,t=this.getTriggers(),n=[];return"all"===e?n.push(t[0]):"any"===e?n.push(t[1]):"custom"===e?n.push(t[2]):"always"===e?n.push(t[3]):"formula"===e&&n.push(t[4]),n}},{key:"render",value:function(){var e=this,t=cr()({},xv.assistiveText,this.props.assistiveText),r=cr()({},xv.labels,this.props.labels),a=o.a.createElement(Qm,{events:{onSelect:function(t,r){return e.props.events.onChangeTrigger(t,{triggerType:n.triggerChange(t,r)})}},id:"".concat(this.getId(),"-take-action-trigger"),multiple:!1,options:this.getTriggers(),variant:"readonly",labels:{label:r.takeAction},selection:this.getTriggerSelection()}),i="always"!==this.props.triggerType&&"formula"!==this.props.triggerType?o.a.createElement("div",{className:"slds-expression__buttons"},o.a.createElement(or,{iconCategory:"utility",iconName:"add",iconPosition:"left",id:"".concat(this.getId(),"-add-condition-button"),label:r.addCondition,assistiveText:{icon:t.addCondition},onClick:this.props.events.onAddCondition}),this.props.isRoot?o.a.createElement(or,{iconCategory:"utility",iconName:"add",iconPosition:"left",id:"".concat(this.getId(),"-add-group-button"),label:r.addGroup,assistiveText:{icon:t.addGroup},onClick:this.props.events.onAddGroup}):null):null,s=null;return"always"!==this.props.triggerType&&(s=this.props.isRoot&&"formula"===this.props.triggerType?this.props.children:o.a.createElement(o.a.Fragment,null,"custom"===this.props.triggerType?o.a.createElement(Pu,{label:r.customLogic,className:"slds-expression__custom-logic",id:"".concat(this.getId(),"-custom-logic-input"),value:this.props.customLogicValue,variant:"base",onChange:this.props.events.onChangeCustomLogicValue}):null,o.a.createElement("ul",null,this.props.children))),this.props.isRoot?"formula"===this.props.triggerType?o.a.createElement(o.a.Fragment,null,o.a.createElement("div",{className:"slds-expression__options"},a),s):o.a.createElement("div",{className:l()(this.props.className),id:this.getId()},o.a.createElement("div",{className:"slds-expression__options"},a),s,i):o.a.createElement("li",{className:l()("slds-expression__group",this.props.className),id:this.getId(),ref:function(t){e.rootNode=t}},o.a.createElement("fieldset",null,o.a.createElement("legend",{className:"slds-expression__legend slds-expression__legend_group"},o.a.createElement("span",null,r.label),o.a.createElement("span",{className:"slds-assistive-text"},t.label)),o.a.createElement("div",{className:"slds-expression__options"},a),s,i))}}]),n}(o.a.Component);wv.displayName="SLDSExpressionGroup",wv.propTypes=Sv,wv.defaultProps=xv;var Ev=wv;function jv(e){return(jv="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function Cv(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function Pv(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function Nv(e,t){return(Nv=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function Tv(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=Rv(e);if(t){var o=Rv(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return kv(this,n)}}function kv(e,t){return!t||"object"!==jv(t)&&"function"!=typeof t?function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e):t}function Rv(e){return(Rv=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}var Dv={id:i.a.string,children:i.a.node,events:i.a.shape({onChangeTrigger:i.a.func,onAddGroup:i.a.func,onAddCondition:i.a.func,onChangeCustomLogicValue:i.a.func}),labels:i.a.shape({addCondition:i.a.string,addGroup:i.a.string,customLogic:i.a.string,takeAction:i.a.string,title:i.a.string,triggerAll:i.a.string,triggerAlways:i.a.string,triggerAny:i.a.string,triggerCustom:i.a.string,triggerFormula:i.a.string}),className:i.a.oneOfType([i.a.array,i.a.object,i.a.string]),triggerType:i.a.oneOf(["all","any","custom","always","formula"]),customLogicValue:i.a.string},Iv={labels:{title:"Conditions"}},Av=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&Nv(e,t)}(i,e);var t,n,r,a=Tv(i);function i(){return Cv(this,i),a.apply(this,arguments)}return t=i,(n=[{key:"UNSAFE_componentWillMount",value:function(){this.generatedId=u.a.generate()}},{key:"getId",value:function(){return this.props.id||this.generatedId}},{key:"render",value:function(){var e=cr()({},Iv.labels,this.props.labels);return o.a.createElement("div",{className:l()("slds-expression",this.props.className),id:this.getId()},o.a.createElement("h2",{className:"slds-expression__title"},e.title),o.a.createElement(Ev,{isRoot:!0,id:"".concat(this.getId(),"-group"),events:this.props.events,labels:e,customLogicValue:this.props.customLogicValue,triggerType:this.props.triggerType},this.props.children))}}])&&Pv(t.prototype,n),r&&Pv(t,r),i}(o.a.Component);Av.displayName="SLDSExpression",Av.propTypes=Dv,Av.defaultProps=Iv;var Lv=Av;function Bv(e){return(Bv="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function Fv(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function Mv(e,t){return(Mv=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function qv(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=Kv(e);if(t){var o=Kv(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return Hv(this,n)}}function Hv(e,t){return!t||"object"!==Bv(t)&&"function"!=typeof t?function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e):t}function Kv(e){return(Kv=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}var Wv={assistiveText:i.a.shape({title:i.a.string,deleteIcon:i.a.string}),id:i.a.string,className:i.a.oneOfType([i.a.array,i.a.object,i.a.string]),events:i.a.shape({onChangeResource:i.a.func,onChangeOperator:i.a.func,onChangeValue:i.a.func,onDelete:i.a.func}).isRequired,focusOnMount:i.a.bool,labels:i.a.shape({deleteCondition:i.a.string,label:i.a.string,operator:i.a.string,resource:i.a.string,value:i.a.string}),isSubCondition:i.a.bool,resourcesList:i.a.arrayOf(i.a.object),resourceSelected:i.a.object,operatorsList:i.a.arrayOf(i.a.object),operatorSelected:i.a.object,value:i.a.string},Vv={assistiveText:{title:"Condition",deleteIcon:"Delete Condition"},labels:{label:"",operator:"Operator",resource:"Resource",value:"Value",deleteCondition:"Delete Condition"},value:""},Uv=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&Mv(e,t)}(i,e);var t,n,r,a=qv(i);function i(e){var t;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,i),(t=a.call(this,e)).generatedId=u.a.generate(),t}return t=i,(n=[{key:"componentDidMount",value:function(){if(this.props.focusOnMount&&this.rootNode){var e=this.rootNode.querySelector("input");e&&e.focus()}}},{key:"getId",value:function(){return this.props.id||this.generatedId}},{key:"render",value:function(){var e=this,t=cr()({},Vv.assistiveText,this.props.assistiveText),n=cr()({},Vv.labels,this.props.labels);return o.a.createElement("li",{className:l()("slds-expression__row",{"slds-expression__row_group":this.props.isSubCondition},this.props.className),id:this.getId(),ref:function(t){e.rootNode=t}},o.a.createElement("fieldset",null,o.a.createElement("legend",{className:"slds-expression__legend"},o.a.createElement("span",null,n.label),o.a.createElement("span",{className:"slds-assistive-text"},t.title)),o.a.createElement("div",{className:"slds-grid slds-gutters_xx-small"},o.a.createElement("div",{className:"slds-col"},o.a.createElement(Qm,{events:{onSelect:this.props.events.onChangeResource},id:"".concat(this.getId(),"-resource-selector"),multiple:!1,variant:"readonly",labels:{label:n.resource},options:this.props.resourcesList,selection:[this.props.resourceSelected]})),o.a.createElement("div",{className:"slds-col slds-grow-none"},o.a.createElement(Qm,{events:{onSelect:this.props.events.onChangeOperator},id:"".concat(this.getId(),"-operator-selector"),multiple:!1,variant:"readonly",labels:{label:n.operator},options:this.props.operatorsList,selection:[this.props.operatorSelected],singleInputDisabled:!this.props.resourceSelected})),o.a.createElement("div",{className:"slds-col"},o.a.createElement(Pu,{id:"".concat(this.getId(),"-input"),label:n.value,value:this.props.value,onChange:this.props.events.onChangeValue,disabled:!this.props.resourceSelected})),o.a.createElement("div",{className:"slds-col slds-grow-none"},o.a.createElement("div",{className:"slds-form-element"},o.a.createElement("span",{className:"slds-form-element__label"}," "),o.a.createElement("div",{className:"slds-form-element__control"},o.a.createElement(or,{id:"".concat(this.getId(),"-delete-button"),variant:"outline-brand",iconCategory:"utility",iconName:"delete",iconVariant:"border-filled",onClick:this.props.events.onDelete,assistiveText:{icon:t.deleteIcon},title:n.deleteCondition})))))))}}])&&Fv(t.prototype,n),r&&Fv(t,r),i}(o.a.Component);Uv.displayName="SLDSExpressionCondition",Uv.propTypes=Wv,Uv.defaultProps=Vv;var zv=Uv,Gv=n(49),Yv=n.n(Gv);function Qv(e){return(Qv="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function Jv(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function Xv(e,t){return(Xv=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function $v(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=tO(e);if(t){var o=tO(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return Zv(this,n)}}function Zv(e,t){return!t||"object"!==Qv(t)&&"function"!=typeof t?eO(e):t}function eO(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function tO(e){return(tO=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}var nO={assistiveText:i.a.shape({help:i.a.string}),id:i.a.string,className:i.a.oneOfType([i.a.array,i.a.object,i.a.string]),events:i.a.shape({onChangeTextEditor:i.a.func,onClickHelp:i.a.func,onClickCheckSyntax:i.a.func}),labels:i.a.shape({label:i.a.string,checkSyntax:i.a.string,textArea:i.a.string}),resourceCombobox:i.a.node,functionCombobox:i.a.node,operatorInput:i.a.node,textEditorValue:i.a.node},rO={assistiveText:{help:"Help"},labels:{label:"Formula",checkSyntax:"Check Syntax",textArea:"Text Area"}},oO=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&Xv(e,t)}(i,e);var t,n,r,a=$v(i);function i(){var e;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,i),function(e,t,n){t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n}(eO(e=a.call(this)),"handleTextEditorChange",(function(t){var n=t.target.value;void 0===e.props.textEditorValue&&e.setState({textEditorValue:n}),e.props.events&&e.props.events.onChangeTextEditor&&e.props.events.onChangeTextEditor(t,{textEditorValue:n})})),e.textEditorRef=o.a.createRef(),e.state={textEditorValue:"Compose formula..."},e.generatedId=u.a.generate(),e}return t=i,(n=[{key:"getId",value:function(){return this.props.id||this.generatedId}},{key:"render",value:function(){var e=cr()({},rO.assistiveText,this.props.assistiveText),t=cr()({},rO.labels,this.props.labels);return o.a.createElement(o.a.Fragment,null,o.a.createElement("div",{id:this.getId(),className:l()("slds-expression_formula__rte",this.props.className)},o.a.createElement("div",{className:"slds-form-element"},o.a.createElement("span",{className:"slds-form-element__label"},t.label),o.a.createElement("div",{className:"slds-form-element__control"},o.a.createElement("div",{className:"slds-rich-text-editor slds-grid slds-grid_vertical slds-nowrap"},o.a.createElement("div",{role:"toolbar",className:"slds-rich-text-editor__toolbar slds-shrink-none"},o.a.createElement("div",{className:"slds-rich-text-editor__col slds-rich-text-editor__col_grow"},this.props.resourceCombobox),o.a.createElement("div",{className:"slds-rich-text-editor__col slds-rich-text-editor__col_grow"},this.props.functionCombobox),o.a.createElement("div",{className:"slds-rich-text-editor__col slds-rich-text-editor__col_grow"},this.props.operatorInput),o.a.createElement("div",{className:"slds-rich-text-editor__col"},o.a.createElement(or,{assistiveText:{icon:e.help},className:"slds-button_icon-container",id:"".concat(this.getId(),"-help-button"),variant:"icon",iconCategory:"utility",iconName:"help",onClick:this.props.events.onClickHelp,title:e.help}))),o.a.createElement("div",{className:"slds-rich-text-editor__textarea slds-grid"},o.a.createElement(Yv.a,{id:"".concat(this.getId(),"-content-editor"),"aria-label":this.props.labels.textArea,className:"slds-rich-text-area__content slds-text-color_weak slds-grow",innerRef:this.textEditorRef,html:void 0!==this.props.textEditorValue?this.props.textEditorValue:this.state.textEditorValue,onChange:this.handleTextEditorChange,disabled:!1})))))),o.a.createElement("div",{className:"slds-m-top_small"},o.a.createElement(or,{id:"".concat(this.getId(),"-check-syntax-button"),variant:"neutral",label:t.checkSyntax,onClick:this.props.events.onClickCheckSyntax})))}}])&&Jv(t.prototype,n),r&&Jv(t,r),i}(o.a.Component);oO.displayName="SLDSExpressionFormula",oO.propTypes=nO,oO.defaultProps=rO;var aO=oO,iO=function(e){return e.isLoading?o.a.createElement(o.a.Fragment,null,o.a.createElement("span",{className:"slds-assistive-text"},e.assistiveText.link),o.a.createElement(Kc,{size:"medium",variant:"base",assistiveText:{label:e.assistiveText.loading},containerStyle:{zIndex:"1"}})):e.image?o.a.createElement(o.a.Fragment,null,o.a.createElement("span",{className:"slds-assistive-text"},e.assistiveText.link),o.a.createElement("img",{alt:e.assistiveText.image||e.labels.title,src:e.image})):o.a.createElement(o.a.Fragment,null,o.a.createElement("span",{className:"slds-assistive-text"},e.assistiveText.link),o.a.createElement("span",{className:"slds-file__icon slds-icon_container",title:e.labels.title},o.a.cloneElement(e.icon,{size:null})))};iO.displayName="SLDSFilesFigure",iO.propTypes={assistiveText:i.a.shape({image:i.a.string}),isLoading:i.a.bool,image:i.a.string,labels:i.a.shape({title:i.a.string.isRequired})},iO.defaultProps={isLoading:!1};var sO=iO,lO=function(e){var t=o.a.createElement("div",{className:"slds-file__actions-menu"},o.a.createElement("div",{className:"slds-button-group",role:"group"},"function"==typeof e.onClickDownload?o.a.createElement(or,{type:"button",variant:"icon",iconSize:"x-small",onClick:e.onClickDownload,title:"Download",className:"slds-button_icon-inverse"},o.a.createElement(jn,{assistiveText:{label:e.assistiveText.download},category:"utility",name:"download",size:"xx-small",inverse:e.hasNoVisibleTitle})):null,e.moreActionsDropdown?o.a.cloneElement(e.moreActionsDropdown,{assistiveText:{icon:e.assistiveText.moreActions},overlay:!1,buttonVariant:"icon",buttonInverse:e.hasNoVisibleTitle,className:"dsr-file__more-actions-dropdown ",triggerClassName:"dsr-file__more-actions"}):null));return"function"==typeof e.onClickDownload||e.moreActionsDropdown?e.hasNoVisibleTitle?o.a.createElement("div",{className:"slds-file__title slds-file__title_scrim"},t):t:null};lO.displayName="SLDSFilesActions",lO.propTypes={onClickDownload:i.a.func,moreActionsDropdown:i.a.node,hasNoVisibleTitle:i.a.bool};var cO=lO;function uO(e){return(uO="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function pO(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function fO(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?pO(Object(n),!0).forEach((function(t){dO(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):pO(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function dO(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function hO(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function mO(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function bO(e,t){return(bO=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function yO(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=vO(e);if(t){var o=vO(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return gO(this,n)}}function gO(e,t){return!t||"object"!==uO(t)&&"function"!=typeof t?function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e):t}function vO(e){return(vO=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}var OO={assistiveText:i.a.shape({download:i.a.string,image:i.a.string,link:i.a.string,loading:i.a.string,moreActions:i.a.string}),className:i.a.oneOfType([i.a.array,i.a.object,i.a.string]),crop:i.a.oneOf(["16-by-9","4-by-3","1-by-1"]),id:i.a.string,onClickDownload:i.a.func,onClickImage:i.a.func,moreActionsDropdown:i.a.node,icon:i.a.node,externalIcon:i.a.node,image:i.a.string,isLoading:i.a.bool,href:i.a.string,labels:i.a.shape({title:i.a.string.isRequired}),hasNoVisibleTitle:i.a.bool},_O={assistiveText:{download:"download",link:"Preview:",loading:"loading",moreActions:"more actions"},crop:"16-by-9",href:"javascript:void(0);",isLoading:!1,hasNoVisibleTitle:!1},SO=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&bO(e,t)}(i,e);var t,n,r,a=yO(i);function i(){return hO(this,i),a.apply(this,arguments)}return t=i,r=[{key:"injectMoreActionsStyles",value:function(){return o.a.createElement("style",null,"\n\t\t\t\t\t.dsr-file__more-actions-dropdown ul.dropdown__list li.slds-dropdown__item > a:before\n\t\t\t\t\t{ background: none; }\n\t\t\t\t\t.dsr-file__more-actions-dropdown ul.dropdown__list li.slds-dropdown__item > a:after\n\t\t\t\t\t{ background: none; }\n\t\t\t\t\t.dsr-file__more-actions > button:first-child\n\t\t\t\t\t{ border-radius: 0 0.25rem 0.25rem 0!important;}\n\t\t\t")}}],(n=[{key:"UNSAFE_componentWillMount",value:function(){this.generatedId=u.a.generate()}},{key:"getId",value:function(){return this.props.id||this.generatedId}},{key:"render",value:function(){var e=fO(fO({},_O.assistiveText),this.props.assistiveText);return o.a.createElement("div",{id:this.getId(),className:l()("slds-file","slds-file_card",this.props.hasNoVisibleTitle?null:"slds-has-title",this.props.className)},o.a.createElement("figure",null,o.a.createElement("a",{href:this.props.href,className:l()("slds-file__crop",this.props.crop?"slds-file__crop_".concat(this.props.crop):null),onClick:this.props.onClickImage},o.a.createElement(sO,{assistiveText:e,labels:{title:this.props.labels.title},isLoading:this.props.isLoading,image:this.props.image,icon:this.props.icon})),this.props.hasNoVisibleTitle?null:o.a.createElement("figcaption",{className:"slds-file__title slds-file__title_card"},o.a.createElement("div",{className:"slds-media__figure slds-line-height_reset"},this.props.icon?o.a.cloneElement(this.props.icon,{size:"x-small"}):null),o.a.createElement("div",{className:"slds-media__body"},o.a.createElement("span",{className:"slds-file__text slds-truncate",title:this.props.labels.title},this.props.labels.title)))),this.props.externalIcon?o.a.createElement("div",{className:"slds-file__external-icon"},o.a.cloneElement(this.props.externalIcon,{containerClassName:"slds-file__icon slds-icon_container"})):null,this.props.moreActionsDropdown?i.injectMoreActionsStyles():null,o.a.createElement(cO,{assistiveText:e,hasNoVisibleTitle:this.props.hasNoVisibleTitle,onClickDownload:this.props.onClickDownload,moreActionsDropdown:this.props.moreActionsDropdown}))}}])&&mO(t.prototype,n),r&&mO(t,r),i}(o.a.Component);SO.displayName="SLDSFilesFile",SO.propTypes=OO,SO.defaultProps=_O;var xO=SO;function wO(e){return(wO="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function EO(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function jO(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function CO(e,t){return(CO=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function PO(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=TO(e);if(t){var o=TO(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return NO(this,n)}}function NO(e,t){return!t||"object"!==wO(t)&&"function"!=typeof t?function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e):t}function TO(e){return(TO=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}var kO={className:i.a.oneOfType([i.a.array,i.a.object,i.a.string]),id:i.a.string,crop:i.a.oneOf(["16-by-9","4-by-3","1-by-1"]),columnClassName:i.a.string},RO=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&CO(e,t)}(i,e);var t,n,r,a=PO(i);function i(){return EO(this,i),a.apply(this,arguments)}return t=i,(n=[{key:"UNSAFE_componentWillMount",value:function(){this.generatedId=u.a.generate()}},{key:"getId",value:function(){return this.props.id||this.generatedId}},{key:"render",value:function(){var e=this,t=o.a.Children.map(this.props.children,(function(t){return o.a.createElement("li",{className:l()("slds-p-horizontal_xx-small slds-size_1-of-3 slds-medium-size_1-of-4",e.props.columnClassName)},o.a.cloneElement(t,{crop:t.props.crop?t.props.crop:e.props.crop}))}));return o.a.createElement("ul",{className:l()("slds-grid slds-grid_pull-padded",this.props.className),id:this.getId()},t)}}])&&jO(t.prototype,n),r&&jO(t,r),i}(o.a.Component);RO.displayName="SLDSFiles",RO.propTypes=kO,RO.defaultProps={crop:"4-by-3"};var DO=RO;function IO(e){return(IO="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function AO(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function LO(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?AO(Object(n),!0).forEach((function(t){BO(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):AO(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function BO(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function FO(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function MO(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function qO(e,t){return(qO=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function HO(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=WO(e);if(t){var o=WO(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return KO(this,n)}}function KO(e,t){return!t||"object"!==IO(t)&&"function"!=typeof t?function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e):t}function WO(e){return(WO=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}var VO={assistiveText:i.a.shape({count:i.a.string,image:i.a.string,link:i.a.string}),className:i.a.oneOfType([i.a.array,i.a.object,i.a.string]),id:i.a.string,crop:i.a.oneOf(["16-by-9","4-by-3","1-by-1"]),image:i.a.string,count:i.a.string,href:i.a.string},UO={assistiveText:{count:"more files",image:"Show more files",link:"Preview:"},crop:"16-by-9",href:"javascript:void(0);"},zO=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&qO(e,t)}(i,e);var t,n,r,a=HO(i);function i(){return FO(this,i),a.apply(this,arguments)}return t=i,(n=[{key:"UNSAFE_componentWillMount",value:function(){this.generatedId=u.a.generate()}},{key:"getId",value:function(){return this.props.id||this.generatedId}},{key:"render",value:function(){var e=LO(LO({},UO.assistiveText),this.props.assistiveText);return o.a.createElement("div",{className:l()("slds-file slds-file_card",this.props.className),id:this.getId()},o.a.createElement("figure",null,o.a.createElement("a",{href:this.props.href,className:l()("slds-file__crop",this.props.crop?"slds-file__crop_".concat(this.props.crop):null)},o.a.createElement("div",{className:"slds-file_overlay"}),o.a.createElement("span",{className:"slds-assistive-text"},e.link),o.a.createElement("img",{src:this.props.image,alt:e.image})),o.a.createElement("figcaption",{className:"slds-file__title slds-file__title_overlay slds-align_absolute-center slds-text-heading_large"},o.a.createElement("div",{className:"slds-media slds-media_small slds-media_center"},o.a.createElement("div",{className:"slds-media__figure slds-line-height_reset"}),o.a.createElement("div",{className:"slds-media__body"},o.a.createElement("span",{className:"slds-file__text slds-truncate",title:this.props.count},o.a.createElement("span",null,this.props.count),o.a.createElement("span",{className:"slds-assistive-text"},e.count)))))))}}])&&MO(t.prototype,n),r&&MO(t,r),i}(o.a.Component);zO.displayName="SLDSFilesMore",zO.propTypes=VO,zO.defaultProps=UO;var GO=zO;function YO(e){return(YO="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function QO(){return(QO=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}function JO(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function XO(e,t){return(XO=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function $O(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=t_(e);if(t){var o=t_(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return ZO(this,n)}}function ZO(e,t){return!t||"object"!==YO(t)&&"function"!=typeof t?e_(e):t}function e_(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function t_(e){return(t_=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function n_(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var r_=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&XO(e,t)}(i,e);var t,n,r,a=$O(i);function i(e){var t;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,i),n_(e_(t=a.call(this,e)),"state",{popoverIsOpen:!!t.props.popover&&t.props.popover.props.isOpen}),n_(e_(t),"getId",(function(){return t.props.id||t.generatedId})),n_(e_(t),"getCustomPopoverProps",(function(e){var n=e.assistiveText,r=o.a.createElement("div",null,o.a.createElement("h4",{className:"slds-assistive-text",id:"".concat(t.getId(),"-popover-heading")},n.editFilterHeading),t.props.children,o.a.createElement("div",{className:"slds-m-top_small slds-text-align_right"},o.a.createElement(or,{className:"slds-col_bump-left",label:"Done",onClick:t.handleChange}))),a={ariaLabelledby:"".concat(t.getId(),"-popover-heading"),align:t.props.align,body:r,heading:"",id:t.getId(),isOpen:t.state.popoverIsOpen,offset:"right"===t.props.align?"0px -35px":void 0,onClose:t.handleClose,onRequestClose:t.handleClose,position:"overflowBoundaryElement",triggerClassName:"slds-grow"},i=cr()(a,t.props.popover?t.props.popover.props:{});return delete i.children,i})),n_(e_(t),"handleFilterClick",(function(){t.setState({popoverIsOpen:!0}),t.props.onClick&&t.props.onClick()})),n_(e_(t),"handleClose",(function(){t.setState({popoverIsOpen:!1})})),n_(e_(t),"handleChange",(function(e){t.setState({popoverIsOpen:!1}),t.props.onChange&&t.props.onChange(e,{id:t.getId()})})),n_(e_(t),"handleRemove",(function(e){t.props.onRemove&&t.props.onRemove(e,{id:t.getId()})})),t.generatedId=u.a.generate(),t}return t=i,(n=[{key:"render",value:function(){var e={editFilter:this.props.assistiveTextEditFilter||this.props.assistiveText.editFilter,editFilterHeading:this.props.assistiveTextEditFilterHeading||this.props.assistiveText.editFilterHeading,removeFilter:this.props.assistiveTextRemoveFilter||this.props.assistiveText.removeFilter||"Remove Filter: ".concat(this.props.property," ").concat(this.props.predicate)},t=this.getCustomPopoverProps({assistiveText:e});return o.a.createElement("div",{className:l()("slds-filters__item","slds-grid","slds-grid_vertical-align-center",{"slds-is-locked":this.props.isLocked,"slds-is-new":this.props.isNew,"slds-has-error":this.props.isError},this.props.className)},this.props.isLocked||!this.props.children&&!this.props.popover?o.a.createElement("button",{"aria-describedby":this.props.isError?"".concat(this.getId(),"-error"):void 0,className:"slds-button_reset slds-grow slds-has-blur-focus",disabled:!0,type:"button"},o.a.createElement("span",{className:"slds-show slds-text-body_small"},this.props.property),o.a.createElement("span",{className:"slds-show"},this.props.predicate)):o.a.createElement(Oh,QO({},t,{silenceDeprecatedPropertyWarning:!0}),o.a.createElement("button",{className:"slds-button_reset slds-grow slds-has-blur-focus",onClick:this.handleFilterClick,"aria-describedby":this.props.isError?"".concat(this.getId(),"-error"):void 0,type:"button"},o.a.createElement("span",{className:"slds-assistive-text"},e.editFilter),this.props.property?o.a.createElement("span",{className:"slds-show slds-text-body_small"},this.props.property):null,o.a.createElement("span",{className:"slds-show"},this.props.predicate))),this.props.isPermanent||this.props.isLocked?null:o.a.createElement(or,{assistiveText:{icon:e.removeFilter},hint:!0,iconCategory:"utility",iconName:"delete",iconSize:"small",iconVariant:"bare",onClick:this.handleRemove,title:e.removeFilter,variant:"icon"}))}}])&&JO(t.prototype,n),r&&JO(t,r),i}(o.a.Component);n_(r_,"displayName","SLDSFilter"),n_(r_,"propTypes",{align:i.a.oneOf(["left","right"]),assistiveText:i.a.shape({editFilter:i.a.string,editFilterHeading:i.a.string,removeFilter:i.a.string}),children:i.a.node,className:i.a.oneOfType([i.a.array,i.a.object,i.a.string]),isError:i.a.bool,id:i.a.string,isLocked:i.a.bool,isNew:i.a.bool,isPermanent:i.a.bool,onChange:i.a.func,onRemove:i.a.func,onClick:i.a.func,popover:i.a.node,predicate:i.a.node,property:i.a.node}),n_(r_,"defaultProps",{align:"left",assistiveText:{editFilter:"Edit filter:",editFilterHeading:"Choose filter criteria"},predicate:"New Filter"});var o_=r_;var a_=function(){},i_=n(50);function s_(e){return(s_="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function l_(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function c_(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?l_(Object(n),!0).forEach((function(t){b_(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):l_(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function u_(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function p_(e,t){return(p_=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function f_(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=m_(e);if(t){var o=m_(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return d_(this,n)}}function d_(e,t){return!t||"object"!==s_(t)&&"function"!=typeof t?h_(e):t}function h_(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function m_(e){return(m_=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function b_(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var y_={assistiveText:{skipToNav:"Skip to Navigation",skipToContent:"Skip to Main Content"},logoSrc:"/assets/images/logo-noname.svg"},g_=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&p_(e,t)}(i,e);var t,n,r,a=f_(i);function i(e){var t;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,i),b_(h_(t=a.call(this,e)),"handleSkipToContent",(function(e){Dt.trap(e),t.props.onSkipToContent(e)})),b_(h_(t),"handleSkipToNav",(function(e){Dt.trap(e),t.props.onSkipToNav(e)})),a_(q,e,i_),t}return t=i,(n=[{key:"render",value:function(){var e,t,n=c_(c_({},y_.assistiveText),this.props.assistiveText),r=(b_(e={},H,[]),b_(e,K,[]),b_(e,W,[]),b_(e,V,[]),b_(e,z,[]),b_(e,G,[]),b_(e,Y,[]),e);return o.a.Children.forEach(this.props.children,(function(e){e&&(e.type.displayName===U?t=e:r[e.type.displayName]&&r[e.type.displayName].push(e))})),r=[].concat(r[H],r[G],r[K],r[z],r[W],r[Y],r[V]),o.a.createElement("header",{className:"slds-global-header_container"},this.props.onSkipToNav?o.a.createElement("a",{href:"javascript:void(0);",className:"slds-assistive-text slds-assistive-text_focus",onClick:this.handleSkipToNav},this.props.skipToNavAssistiveText||n.skipToNav):null,this.props.onSkipToContent?o.a.createElement("a",{href:"javascript:void(0);",className:"slds-assistive-text slds-assistive-text_focus",onClick:this.handleSkipToContent},this.props.skipToContentAssistiveText||n.skipToContent):null,o.a.createElement("div",{className:"slds-global-header slds-grid slds-grid_align-spread"},o.a.createElement("div",{className:"slds-global-header__item"},o.a.createElement("div",{className:"slds-global-header__logo",style:{backgroundImage:"url(".concat(this.props.logoSrc,")")}})),t,o.a.createElement("div",{className:"slds-global-header__item"},o.a.createElement("ul",{className:"slds-global-actions"},r.map((function(e,t){return o.a.createElement("li",{className:"slds-global-actions__item",key:"actions-item-".concat(t)},e)}))))),this.props.navigation)}}])&&u_(t.prototype,n),r&&u_(t,r),i}(o.a.Component);b_(g_,"displayName",q),b_(g_,"propTypes",{assistiveText:i.a.shape({skipToNav:i.a.string,skipToContent:i.a.string}),children:i.a.node,logoSrc:i.a.string,navigation:i.a.node,onSkipToContent:i.a.func,onSkipToNav:i.a.func}),b_(g_,"defaultProps",y_);var v_=g_;function O_(){return(O_=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}function __(e,t){if(null==e)return{};var n,r,o=function(e,t){if(null==e)return{};var n,r,o={},a=Object.keys(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)>=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}var S_=function(e){a_("SLDSGlobalHeaderButton",e);var t=e.buttonVariant,n=__(e,["buttonVariant"]),r=o.a.createElement(or,O_({iconVariant:"global-header",variant:"icon"},n));return"dropdown"===t?r:o.a.createElement("li",null,r)};S_.displayName=Y;var x_=S_;function w_(e){return(w_="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function E_(){return(E_=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}function j_(e,t){if(null==e)return{};var n,r,o=function(e,t){if(null==e)return{};var n,r,o={},a=Object.keys(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)>=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}function C_(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function P_(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function N_(e,t){return(N_=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function T_(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=D_(e);if(t){var o=D_(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return k_(this,n)}}function k_(e,t){return!t||"object"!==w_(t)&&"function"!=typeof t?R_(e):t}function R_(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function D_(e){return(D_=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function I_(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var A_=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&N_(e,t)}(i,e);var t,n,r,a=T_(i);function i(){var e;C_(this,i);for(var t=arguments.length,n=new Array(t),r=0;r<t;r++)n[r]=arguments[r];return I_(R_(e=a.call.apply(a,[this].concat(n))),"renderAvatar",(function(){var t=e.props.avatar;return"string"==typeof t?o.a.createElement("span",{className:"slds-avatar slds-avatar_circle slds-avatar_medium"},o.a.createElement("img",{src:t,alt:""})):t||null})),e}return t=i,(n=[{key:"render",value:function(){var e=this.props,t=e.className,n=e.id,r=e.isOpen,a=e.globalAction,i=e.menu,s=e.onBlur,c=e.onClick,u=e.onFocus,p=e.onKeyDown,f=e.onMouseDown,d=e.onMouseEnter,h=e.onMouseLeave,m=e.triggerRef,b=j_(e,["className","id","isOpen","globalAction","menu","onBlur","onClick","onFocus","onKeyDown","onMouseDown","onMouseEnter","onMouseLeave","triggerRef"]);return o.a.createElement("li",{"aria-haspopup":"true",className:l()("slds-dropdown-trigger slds-dropdown-trigger_click",{"slds-is-open":r,"slds-p-around_xx-small":a},t),id:n,onBlur:s,onClick:c,onFocus:u,onKeyDown:p,onMouseDown:f,onMouseEnter:d,onMouseLeave:h,ref:m},o.a.createElement(x_,E_({className:l()({"slds-global-header__button_icon-actions":a}),iconClassName:l()({"slds-global-header__icon-actions":a}),"aria-haspopup":"true",buttonVariant:"dropdown"},b),this.renderAvatar()),i)}}])&&P_(t.prototype,n),r&&P_(t,r),i}(o.a.Component);I_(A_,"displayName",te),I_(A_,"propTypes",{avatar:i.a.oneOfType([i.a.string,i.a.node]),className:i.a.oneOfType([i.a.array,i.a.object,i.a.string]),id:i.a.string,isOpen:i.a.bool,globalAction:i.a.bool,menu:i.a.node,onBlur:i.a.func,onClick:i.a.func,onFocus:i.a.func,onKeyDown:i.a.func,onMouseDown:i.a.func,onMouseEnter:i.a.func,onMouseLeave:i.a.func,openOn:i.a.oneOf(["hover","click","hybrid"]),positioned:i.a.bool,triggerRef:i.a.func});var L_=A_;function B_(){return(B_=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}function F_(e,t){if(null==e)return{};var n,r,o=function(e,t){if(null==e)return{};var n,r,o={},a=Object.keys(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)>=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}var M_=function(e){a_("SLDSGlobalHeaderDropdown",e);var t,n=e.globalAction,r=e.iconVariant,a=F_(e,["globalAction","iconVariant"]);return n&&(t="container"),o.a.createElement(Hs,B_({nubbinPosition:"top right"},a),o.a.createElement(L_,{globalAction:n,iconSize:n&&"small",iconVariant:t||r}))};M_.displayName=Y,M_.propTypes={align:i.a.oneOf(["left","right"]),className:i.a.string,buttonClassName:i.a.oneOfType([i.a.array,i.a.object,i.a.string]),iconName:i.a.string,iconVariant:i.a.oneOf(["bare","container","border","border-filled","more","global-header"]),id:i.a.string,globalAction:i.a.bool,nubbinPosition:i.a.oneOf(["top left","top","top right","bottom left","bottom","bottom right"]),offset:i.a.string,onSelect:i.a.func,options:i.a.array.isRequired},M_.defaultProps={align:"right",buttonVariant:"icon",iconVariant:"global-header",nubbinPosition:"top right"};var q_=M_;function H_(e){return(H_="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function K_(){return(K_=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}function W_(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function V_(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function U_(e,t){return(U_=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function z_(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=Q_(e);if(t){var o=Q_(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return G_(this,n)}}function G_(e,t){return!t||"object"!==H_(t)&&"function"!=typeof t?Y_(e):t}function Y_(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function Q_(e){return(Q_=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function J_(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var X_={assistiveText:i.a.shape({action:i.a.string,more:i.a.string}),actionDisabled:i.a.bool,actionSelected:i.a.bool,onToggleActionSelected:i.a.func,popover:i.a.node},$_=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&U_(e,t)}(i,e);var t,n,r,a=z_(i);function i(){var e;W_(this,i);for(var t=arguments.length,n=new Array(t),r=0;r<t;r++)n[r]=arguments[r];return J_(Y_(e=a.call.apply(a,[this].concat(n))),"toggleActionSelected",(function(t){e.props.onToggleActionSelected&&e.props.onToggleActionSelected(t,{actionSelected:e.props.actionSelected||!1})})),e}return t=i,(n=[{key:"render",value:function(){var e=this,t={},n=cr()({align:"bottom",body:o.a.createElement("span",null),triggerClassName:"slds-dropdown-trigger slds-dropdown-trigger_click"},this.props.popover?this.props.popover.props:{});return delete n.children,this.props.actionSelected&&(t["aria-pressed"]=!0),o.a.createElement("div",{className:"slds-global-actions__favorites slds-dropdown-trigger slds-dropdown-trigger_click"},o.a.createElement("div",{className:"slds-button-group"},o.a.createElement(or,K_({assistiveText:{icon:this.props.assistiveText.action},className:l()("slds-button_icon slds-global-actions__favorites-action",{"slds-is-disabled":this.props.actionDisabled,"slds-is-selected":this.props.actionSelected}),disabled:this.props.actionDisabled,iconCategory:"utility",iconName:"favorite",iconSize:"small",iconVariant:"border",onClick:this.toggleActionSelected,onKeyDown:function(t){t.keyCode===At.ENTER&&(Dt.trapImmediate(t),e.toggleActionSelected(t))},title:this.props.assistiveText.action,variant:"icon"},t)),o.a.createElement(Oh,n,o.a.createElement(or,{assistiveText:{icon:this.props.assistiveText.more},className:"slds-button_icon slds-global-actions__favorites-more",iconCategory:"utility",iconName:"down",iconSize:"small",iconVariant:"border",style:{borderLeft:"0",borderRadius:"0 .25rem .25rem 0"},title:this.props.assistiveText.more,variant:"icon"}))))}}])&&V_(t.prototype,n),r&&V_(t,r),i}(o.a.Component);$_.displayName=H,$_.defaultProps={assistiveText:{action:"Toggle Favorite",more:"View Favorites"}},$_.propTypes=X_;var Z_=$_;function eS(e){return(eS="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function tS(){return(tS=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}function nS(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function rS(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function oS(e,t){return(oS=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function aS(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=sS(e);if(t){var o=sS(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return iS(this,n)}}function iS(e,t){return!t||"object"!==eS(t)&&"function"!=typeof t?function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e):t}function sS(e){return(sS=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}var lS={assistiveText:i.a.shape({triggerButton:i.a.string}),popover:i.a.node},cS=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&oS(e,t)}(i,e);var t,n,r,a=aS(i);function i(){return nS(this,i),a.apply(this,arguments)}return t=i,(n=[{key:"render",value:function(){var e=cr()({align:"bottom",body:o.a.createElement("span",null),triggerClassName:"slds-dropdown-trigger slds-dropdown-trigger_click"},this.props.popover?this.props.popover.props:{});return delete e.children,o.a.createElement(Oh,e,o.a.createElement(or,tS({assistiveText:{icon:this.props.assistiveText.triggerButton},className:"slds-button_icon slds-global-actions__help slds-global-actions__item-action",iconCategory:"utility",iconClassName:"slds-global-header__icon",iconName:"question",iconSize:"small",iconVariant:"container",title:this.props.assistiveText.triggerButton,variant:"icon"},{"aria-haspopup":!0})))}}])&&rS(t.prototype,n),r&&rS(t,r),i}(o.a.Component);cS.displayName=K,cS.defaultProps={assistiveText:{triggerButton:"Help and Training"}},cS.propTypes=lS;var uS=cS;function pS(e){return(pS="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function fS(){return(fS=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}function dS(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function hS(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function mS(e,t){return(mS=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function bS(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=gS(e);if(t){var o=gS(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return yS(this,n)}}function yS(e,t){return!t||"object"!==pS(t)&&"function"!=typeof t?function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e):t}function gS(e){return(gS=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}var vS={assistiveText:i.a.shape({newNotificationsAfter:i.a.string,newNotificationsBefore:i.a.string,noNotifications:i.a.string}),notificationCount:i.a.number,popover:i.a.node},OS=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&mS(e,t)}(i,e);var t,n,r,a=bS(i);function i(){return dS(this,i),a.apply(this,arguments)}return t=i,(n=[{key:"render",value:function(){var e={"aria-live":"assertive"},t=this.props.notificationCount,n=cr()({align:"bottom right",body:o.a.createElement("span",null),triggerClassName:"slds-dropdown-trigger slds-dropdown-trigger_click"},this.props.popover?this.props.popover.props:{}),r=this.props.assistiveText.noNotifications;return delete n.children,t>0?r="".concat(this.props.assistiveText.newNotificationsBefore).concat(t).concat(this.props.assistiveText.newNotificationsAfter):e["aria-atomic"]=!0,o.a.createElement(Oh,n,o.a.createElement(or,fS({assistiveText:{icon:r},className:"slds-button_icon slds-global-actions__notifications slds-global-actions__item-action",iconCategory:"utility",iconClassName:"slds-global-header__icon",iconName:"notification",iconSize:"small",iconVariant:"container",title:r,variant:"icon"},e)),t>0?o.a.createElement("span",{"aria-hidden":"true",className:"slds-notification-badge slds-incoming-notification slds-show-notification"},t):o.a.createElement("span",{"aria-hidden":"true",className:"slds-notification-badge"}))}}])&&hS(t.prototype,n),r&&hS(t,r),i}(o.a.Component);OS.displayName=W,OS.defaultProps={assistiveText:{newNotificationsAfter:" new notifications",newNotificationsBefore:"",noNotifications:"No new notifications"},notificationCount:0},OS.propTypes=vS;var _S=OS;function SS(e){return(SS="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function xS(){return(xS=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}function wS(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function ES(e,t){return(ES=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function jS(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=PS(e);if(t){var o=PS(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return CS(this,n)}}function CS(e,t){return!t||"object"!==SS(t)&&"function"!=typeof t?function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e):t}function PS(e){return(PS=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}var NS=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&ES(e,t)}(i,e);var t,n,r,a=jS(i);function i(e){var t;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,i),t=a.call(this,e),a_(V,e),t}return t=i,(n=[{key:"render",value:function(){var e=cr()({align:"bottom right",body:o.a.createElement("span",null),className:this.props.className,heading:this.props.userName,id:this.props.id,triggerClassName:"slds-dropdown-trigger slds-dropdown-trigger_click"},this.props.popover?this.props.popover.props:{}),t="data:image/jpeg;base64,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";return delete e.children,t=this.props.avatar?this.props.avatar:t,o.a.createElement(Oh,e,o.a.createElement(or,xS({className:l()("slds-global-actions__avatar slds-global-actions__item-action",this.props.buttonClassName),title:this.props.userName,variant:"icon"},{"aria-haspopup":!0}),"string"==typeof t?o.a.createElement("span",{className:"slds-avatar slds-avatar_circle slds-avatar_medium"},o.a.createElement("img",{alt:this.props.userName,src:t,title:"User avatar"})):t||null))}}])&&wS(t.prototype,n),r&&wS(t,r),i}(o.a.Component);NS.displayName=V,NS.propTypes={className:i.a.string,avatar:i.a.oneOfType([i.a.string,i.a.node]),buttonClassName:i.a.oneOfType([i.a.array,i.a.object,i.a.string]),id:i.a.string,popover:i.a.node,userName:i.a.string},NS.defaultProps={userName:"User Name"};var TS=NS,kS=function(e){return o.a.createElement("div",{className:"slds-global-header__item slds-global-header__item_search"},e.combobox)};kS.displayName=U,kS.propTypes={combobox:i.a.node.isRequired};var RS=kS;function DS(e){return(DS="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function IS(){return(IS=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}function AS(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function LS(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function BS(e,t){return(BS=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function FS(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=qS(e);if(t){var o=qS(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return MS(this,n)}}function MS(e,t){return!t||"object"!==DS(t)&&"function"!=typeof t?function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e):t}function qS(e){return(qS=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}var HS={assistiveText:i.a.shape({triggerButton:i.a.string}),dropdown:i.a.node},KS=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&BS(e,t)}(i,e);var t,n,r,a=FS(i);function i(){return AS(this,i),a.apply(this,arguments)}return t=i,(n=[{key:"render",value:function(){var e=cr()({align:"right",nubbinPosition:"top right"},this.props.dropdown?this.props.dropdown.props:{}),t=e.children||null;return delete e.children,o.a.createElement(Hs,e,o.a.createElement(fs,null,o.a.createElement(or,IS({assistiveText:{icon:this.props.assistiveText.triggerButton},className:"slds-button_icon slds-global-actions__setup slds-global-actions__item-action",iconCategory:"utility",iconClassName:"slds-global-header__icon",iconName:"setup",iconSize:"small",iconVariant:"container",title:this.props.assistiveText.triggerButton,variant:"icon"},{"aria-haspopup":!0}))),t)}}])&&LS(t.prototype,n),r&&LS(t,r),i}(o.a.Component);KS.displayName=z,KS.defaultProps={assistiveText:{triggerButton:"Setup"}},KS.propTypes=HS;var WS=KS;function VS(e){return(VS="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function US(){return(US=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}function zS(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function GS(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function YS(e,t){return(YS=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function QS(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=XS(e);if(t){var o=XS(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return JS(this,n)}}function JS(e,t){return!t||"object"!==VS(t)&&"function"!=typeof t?function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e):t}function XS(e){return(XS=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}var $S={assistiveText:i.a.shape({triggerButton:i.a.string}),dropdown:i.a.node},ZS=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&YS(e,t)}(i,e);var t,n,r,a=QS(i);function i(){return zS(this,i),a.apply(this,arguments)}return t=i,(n=[{key:"render",value:function(){var e=cr()({align:"right",nubbinPosition:"top right"},this.props.dropdown?this.props.dropdown.props:{}),t=e.children||null;return delete e.children,o.a.createElement(Hs,e,o.a.createElement(fs,null,o.a.createElement(or,US({assistiveText:{icon:this.props.assistiveText.triggerButton},className:"slds-button_icon slds-global-actions__task slds-global-actions__item-action",iconCategory:"utility",iconName:"add",iconSize:"small",iconVariant:"container",title:this.props.assistiveText.triggerButton,variant:"icon"},{"aria-haspopup":!0}))),t)}}])&&GS(t.prototype,n),r&&GS(t,r),i}(o.a.Component);ZS.displayName=G,ZS.defaultProps={assistiveText:{triggerButton:"Global Actions"}},ZS.propTypes=$S;var ex=ZS;function tx(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var nx=function(e){var t,n,r,a,i;return o.a.createElement("div",{className:l()("slds-context-bar",(t={},tx(t,"slds-context-bar_theme-".concat(e.cloud),e.cloud),tx(t,"slds-context-bar_theme-".concat(e.theme),e.theme),t),e.className)},(n=e.children,i=[],o.a.Children.forEach(n,(function(e){e&&e.type.displayName===J&&("primary"===e.props.region?r=e:"secondary"===e.props.region?i.push(e):"tertiary"===e.props.region&&(a=e))})),[r].concat(i,[a])))};nx.propTypes={children:i.a.node,className:i.a.oneOfType([i.a.array,i.a.object,i.a.string]),cloud:i.a.string,theme:i.a.oneOf(["light","dark"])},nx.defaultProps={},nx.displayName="SLDSGlobalNavigationBar";var rx=nx;function ox(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function ax(e,t){if(null==e)return{};var n,r,o=function(e,t){if(null==e)return{};var n,r,o={},a=Object.keys(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)>=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}var ix=function(e){var t=e.active,n=e.dividerPosition,r=ax(e,["active","dividerPosition"]);return o.a.createElement("li",{className:l()("slds-context-bar__item",ox({"slds-is-active":t},"slds-context-bar__item_divider-".concat(n),n))},o.a.createElement(or,r))};ix.displayName="SLDSGlobalNavigationBarButton",ix.propTypes={active:i.a.bool,dividerPosition:i.a.oneOf(["left","right"])},ix.defaultProps={className:"slds-context-bar__label-action slds-text-body_regular",style:{lineHeight:"inherit"},variant:"base"};var sx=ix;var lx=function(){},cx=n(22);function ux(e){return(ux="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function px(){return(px=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}function fx(e,t){if(null==e)return{};var n,r,o=function(e,t){if(null==e)return{};var n,r,o={},a=Object.keys(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)>=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}function dx(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function hx(e,t){return(hx=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function mx(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=yx(e);if(t){var o=yx(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return bx(this,n)}}function bx(e,t){return!t||"object"!==ux(t)&&"function"!=typeof t?function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e):t}function yx(e){return(yx=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function gx(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var vx=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&hx(e,t)}(i,e);var t,n,r,a=mx(i);function i(e){var t;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,i),t=a.call(this,e),lx(te,t.props,cx),t}return t=i,(n=[{key:"render",value:function(){var e=this.props,t=e.active,n=e.activeBackgroundColor,r=e.className,a=e.dividerPosition,i=e.id,s=e.isOpen,c=e.label,u=e.menu,p=e.onBlur,f=e.onClick,d=e.onFocus,h=e.onKeyDown,m=e.onMouseDown,b=e.onMouseEnter,y=e.onMouseLeave,g=e.triggerRef,v=fx(e,["active","activeBackgroundColor","className","dividerPosition","id","isOpen","label","menu","onBlur","onClick","onFocus","onKeyDown","onMouseDown","onMouseEnter","onMouseLeave","triggerRef"]),O={},_=tb.a.brandPrimaryTransparent10;return t&&(O.backgroundColor=n,O.borderBottomColor=n),s&&(O.backgroundColor=_),o.a.createElement("li",{"aria-haspopup":"true",className:l()("slds-context-bar__item slds-context-bar__dropdown-trigger slds-dropdown-trigger slds-dropdown-trigger_click",gx({"slds-is-open":s,"slds-is-active":t},"slds-context-bar__item_divider-".concat(a),a),r),id:i,onBlur:p,onClick:f,onFocus:d,onKeyDown:h,onMouseDown:m,onMouseEnter:b,onMouseLeave:y,ref:g,style:O},o.a.createElement("a",{className:"slds-context-bar__label-action",title:c},o.a.createElement("span",{className:"slds-truncate",title:c},c)),o.a.createElement("div",{className:"slds-context-bar__icon-action slds-p-left_none"},o.a.createElement(or,px({assistiveText:this.props.assistiveText},v,{className:"slds-context-bar__button","aria-haspopup":"true",iconCategory:"utility",iconName:"chevrondown",iconVariant:"bare",variant:"icon"}))),u)}}])&&dx(t.prototype,n),r&&dx(t,r),i}(o.a.Component);gx(vx,"displayName",te),gx(vx,"propTypes",{active:i.a.bool,activeBackgroundColor:i.a.string,assistiveText:i.a.shape({icon:i.a.string}),className:i.a.oneOfType([i.a.array,i.a.object,i.a.string]),dividerPosition:i.a.oneOf(["left","right"]),id:i.a.string,isOpen:i.a.bool,label:i.a.string,menu:i.a.node,onBlur:i.a.func,onClick:i.a.func,onFocus:i.a.func,onKeyDown:i.a.func,onMouseDown:i.a.func,onMouseEnter:i.a.func,onMouseLeave:i.a.func,triggerRef:i.a.func}),gx(vx,"defaultProps",{assistiveText:{icon:"Open menu item submenu"}});var Ox=vx;function _x(){return(_x=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}function Sx(e,t){if(null==e)return{};var n,r,o=function(e,t){if(null==e)return{};var n,r,o={},a=Object.keys(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)>=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}var xx=function(e){lx(Q,e,cx);var t=e.active,n=e.activeBackgroundColor,r=e.assistiveText,a=e.dividerPosition,i=Sx(e,["active","activeBackgroundColor","assistiveText","dividerPosition"]);return o.a.createElement(Hs,_x({align:"right",hasStaticAlignment:!0,hoverCloseDelay:400,length:e.length,menuPosition:"relative"},i),o.a.createElement(Ox,{active:t,assistiveText:r,activeBackgroundColor:n,dividerPosition:a}))};xx.displayName=Q,xx.propTypes={active:i.a.bool,activeBackgroundColor:i.a.string,assistiveText:i.a.shape({icon:i.a.string}),align:i.a.oneOf(["left","right"]),className:i.a.string,dividerPosition:i.a.oneOf(["left","right"]),buttonClassName:i.a.oneOfType([i.a.array,i.a.object,i.a.string]),id:i.a.string,length:i.a.oneOf([null,"5","7","10"]),offset:i.a.string,onSelect:i.a.func,options:i.a.array.isRequired},xx.defaultProps={align:"right",length:null};var wx=xx;function Ex(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var jx=function(e){var t=e.className,n=e.dividerPosition,r=e.id,a=e.label;return o.a.createElement("li",{className:"slds-context-bar__item slds-no-hover"},o.a.createElement("span",{id:r,style:{color:tb.a.colorTextLinkDisabled},className:l()("slds-context-bar__label-action",Ex({},"slds-context-bar__item_divider-".concat(n),n),t)},o.a.createElement("span",{className:"slds-truncate"},a)))};jx.displayName="SLDSGlobalNavigationBarLabel",jx.propTypes={className:i.a.oneOfType([i.a.array,i.a.object,i.a.string]),dividerPosition:i.a.oneOf(["left","right"]),id:i.a.string,label:i.a.string};var Cx=jx;function Px(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var Nx=function(e){var t=e.active,n=e.activeBackgroundColor,r=e.assistiveText,a=e.className,i=e.dividerPosition,s=e.href,c=e.id,u=e.label,p=e.onBlur,f=e.onClick,d=e.onFocus,h=e.onKeyDown,m=e.onKeyPress,b=e.onKeyUp,y=e.onMouseEnter,g=e.onMouseLeave,v=e.tabIndex,O=t?{backgroundColor:n,borderBottomColor:n}:null;return o.a.createElement("li",{className:l()("slds-context-bar__item",Px({"slds-is-active":t},"slds-context-bar__item_divider-".concat(i),i)),id:c,style:O},o.a.createElement("a",{href:s,className:l()("slds-context-bar__label-action",a),onBlur:p,onClick:Ir()(f)?function(e){return function(e,t,n){e.preventDefault(),n(e,{href:t})}(e,s,f)}:null,onFocus:d,onKeyDown:h,onKeyPress:m,onKeyUp:b,onMouseEnter:y,onMouseLeave:g,tabIndex:v,title:u},t?o.a.createElement("span",{className:"slds-assistive-text"},r.activeDescriptor):null,o.a.createElement("span",{className:"slds-truncate",title:u},u)))};Nx.displayName="SLDSGlobalNavigationBarLink",Nx.propTypes={active:i.a.bool,activeBackgroundColor:i.a.string,assistiveText:i.a.shape({activeDescriptor:i.a.string}),className:i.a.oneOfType([i.a.array,i.a.object,i.a.string]),dividerPosition:i.a.oneOf(["left","right"]),href:i.a.string,id:i.a.string,label:i.a.string,onBlur:i.a.func,onClick:i.a.func,onFocus:i.a.func,onKeyDown:i.a.func,onKeyPress:i.a.func,onKeyUp:i.a.func,onMouseEnter:i.a.func,onMouseLeave:i.a.func,tabIndex:i.a.string},Nx.defaultProps={assistiveText:{activeDescriptor:"Current page:"},href:"javascript:void(0);"};var Tx=Nx;function kx(e){return(kx="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function Rx(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function Dx(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function Ix(e,t){return(Ix=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function Ax(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=Bx(e);if(t){var o=Bx(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return Lx(this,n)}}function Lx(e,t){return!t||"object"!==kx(t)&&"function"!=typeof t?function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e):t}function Bx(e){return(Bx=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function Fx(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var Mx=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&Ix(e,t)}(i,e);var t,n,r,a=Ax(i);function i(){return Rx(this,i),a.apply(this,arguments)}return t=i,(n=[{key:"render",value:function(){var e,t=this.props.dividerPosition?"slds-context-bar__item_divider-".concat(this.props.dividerPosition):null;switch(this.props.region){case"primary":e=function(e,t,n){return o.a.createElement("div",{className:l()("slds-context-bar__primary",e,t)},n)}(t,this.props.className,this.props.children);break;case"secondary":e=function(e,t,n,r){return r?o.a.createElement("nav",{className:l()("slds-context-bar__secondary",e,t),role:"navigation"},o.a.createElement("ul",{className:"slds-grid"},n)):o.a.createElement("div",{className:l()("slds-context-bar__secondary",e,t)},o.a.createElement("ul",{className:"slds-grid"},n))}(t,this.props.className,this.props.children,this.props.navigation);break;case"tertiary":e=function(e,t,n){return o.a.createElement("div",{className:l()("slds-context-bar__tertiary","slds-col_bump-left",e,t)},o.a.createElement("ul",{className:"slds-grid"},n))}(t,this.props.className,this.props.children)}return e}}])&&Dx(t.prototype,n),r&&Dx(t,r),i}(o.a.Component);Fx(Mx,"displayName",J),Fx(Mx,"propTypes",{children:i.a.node,dividerPosition:i.a.oneOf(["left","right"]),className:i.a.oneOfType([i.a.array,i.a.object,i.a.string]),navigation:i.a.bool,region:i.a.oneOf(["primary","secondary","tertiary"]).isRequired});var qx=Mx;var Hx=function(){},Kx=n(51);function Wx(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function Vx(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var Ux=function(e){var t=e.className,n=e.illustration,r=e.heading,a=e.messageBody,i=e.name,s=e.path,l=e.size,c=e.style;Hx("Illustration",e,Kx);var u,p=i?i.replace(/_| /g,"-").toLowerCase():"",f=function(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?Wx(Object(n),!0).forEach((function(t){Vx(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Wx(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}({},c);return"large"!==l||f.height||(f.height="400px"),n?u=o.a.createElement(Ue,{className:"slds-illustration__svg","aria-hidden":"true",data:n,name:p,style:f}):s&&(u=o.a.createElement("svg",{className:"slds-illustration__svg","aria-hidden":"true",name:p,style:f},o.a.createElement("use",{xlinkHref:s}))),o.a.createElement("div",{className:gn(t,"slds-illustration",{"slds-illustration_small":"small"===l,"slds-illustration_large":"large"===l})},u,o.a.createElement("div",{className:"slds-text-longform"},r?o.a.createElement("h3",{className:"slds-text-heading_medium"},r):null,a?o.a.createElement("p",{className:"slds-text-body_regular"},a):null))};Ux.displayName="SLDSIllustration",Ux.propTypes={className:i.a.oneOfType([i.a.array,i.a.object,i.a.string]),heading:i.a.string,illustration:i.a.object,internalIllustration:i.a.bool.isRequired,messageBody:i.a.oneOfType([i.a.string,i.a.node]),name:i.a.string,path:i.a.string,size:i.a.oneOf(["small","large"]),style:i.a.object},Ux.defaultProps={internalIllustration:!0,size:"small",style:{}};var zx=Ux;var Gx=function(){};function Yx(e){return(Yx="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function Qx(){return(Qx=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}function Jx(e,t){if(null==e)return{};var n,r,o=function(e,t){if(null==e)return{};var n,r,o={},a=Object.keys(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)>=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}function Xx(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function $x(e,t){return($x=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function Zx(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=nw(e);if(t){var o=nw(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return ew(this,n)}}function ew(e,t){return!t||"object"!==Yx(t)&&"function"!=typeof t?tw(e):t}function tw(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function nw(e){return(nw=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function rw(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var ow={className:i.a.oneOfType([i.a.array,i.a.object,i.a.string]),name:i.a.string,disabled:i.a.bool,id:i.a.string.isRequired,onChange:i.a.func,onKeyUp:i.a.func,onEnterEditMode:i.a.func,onLeaveEditMode:i.a.func,type:i.a.oneOf(["text","password","datetime","datetime-local","date","month","time","week","number","email","url","search","tel","color"]),value:i.a.string.isRequired},aw=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&$x(e,t)}(i,e);var t,n,r,a=Zx(i);function i(e){var t;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,i),rw(tw(t=a.call(this,e)),"endEditMode",(function(e){t.willSave&&(clearTimeout(t.willSave),delete t.willSave),t.setState({isEditing:!1,value:null}),t.props.onLeaveEditMode&&Ir()(t.props.onLeaveEditMode)&&t.props.onLeaveEditMode(void 0,e)})),rw(tw(t),"handleBlur",(function(){t.willSave||(t.willSave=setTimeout(t.saveEdits,200)),t.props.onLeaveEditMode&&Ir()(t.props.onLeaveEditMode)&&t.props.onLeaveEditMode()})),rw(tw(t),"handleChange",(function(e){t.setState({value:e.target.value})})),rw(tw(t),"handleKeyDown",(function(e){e.keyCode&&(e.keyCode===At.ESCAPE?t.saveEdits({cancel:!0}):e.keyCode===At.ENTER&&t.saveEdits())})),rw(tw(t),"handleKeyUp",(function(e){e.keyCode&&t.props.onKeyUp&&Ir()(t.props.onKeyUp)&&t.props.onKeyUp(e,{value:t.state.value})})),rw(tw(t),"saveEdits",(function(e){e&&!0===e.cancel||Ir()(t.props.onChange)&&t.props.onChange({value:t.state.value}),t.endEditMode(e)})),rw(tw(t),"triggerEditMode",(function(){t.props.disabled||(t.autoFocus=!0,t.setState({isEditing:!0,value:t.props.value}),Ir()(t.props.onEnterEditMode)&&t.props.onEnterEditMode())})),t.state={isEditing:!1,value:null},Gx(L,e),t}return t=i,(n=[{key:"componentDidUpdate",value:function(){this.autoFocus&&(this.inputNode&&(this.inputNode.focus(),this.inputNode.select()),this.autoFocus=!1)}},{key:"render",value:function(){var e=this,t=this.props,n=t.assistiveText,r=t.disabled,a=t.value,i=t.name,s=Jx(t,["assistiveText","disabled","value","name"]);return o.a.createElement(Pu,Qx({},s,{iconRight:this.state.isEditing?o.a.createElement(Dc,{category:"utility",name:"close",position:"right",onClick:this.endEditMode,tabIndex:"-1"}):null,disabled:r,inlineEditTrigger:o.a.createElement(or,{assistiveText:{icon:n},className:"slds-m-left_x-small",disabled:r,iconCategory:"utility",iconName:"edit",iconPosition:"right",iconSize:"small",variant:"icon"}),onBlur:this.handleBlur,onChange:this.handleChange,onClick:this.state.isEditing?null:this.triggerEditMode,onKeyDown:this.handleKeyDown,onKeyUp:this.handleKeyUp,isStatic:!this.state.isEditing,name:i,value:this.state.isEditing?this.state.value:a,inputRef:function(t){e.inputNode=t}}))}}])&&Xx(t.prototype,n),r&&Xx(t,r),i}(o.a.Component);aw.displayName=L,aw.propTypes=ow,aw.defaultProps={assistiveText:"Edit text",type:"text"};var iw=aw;function sw(){return(sw=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}function lw(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function cw(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?lw(Object(n),!0).forEach((function(t){uw(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):lw(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function uw(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function pw(e,t){if(null==e)return{};var n,r,o=function(e,t){if(null==e)return{};var n,r,o={},a=Object.keys(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)>=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}var fw={assistiveText:{}},dw=function(e){var t=e.clearable,n=e.onClear,r=e.onSearch,a=e.placeholder,i=pw(e,["clearable","onClear","onSearch","placeholder"]);nu(M,i,ru);var s="string"==typeof i.assistiveText?i.assistiveText:cw(cw({},fw.assistiveText),i.assistiveText).label;return o.a.createElement(Pu,sw({assistiveText:{label:s},iconLeft:o.a.createElement(Dc,{assistiveText:{icon:"Search"},category:"utility",name:"search",onClick:r}),iconRight:t?o.a.createElement(Dc,{assistiveText:{icon:"Clear"},category:"utility",name:"clear",onClick:n}):null,onKeyDown:r?function(e){return function(e,t){e.keyCode===At.ENTER&&(Dt.trapImmediate(e),t(e))}(e,r)}:null,placeholder:a},i))};dw.displayName=M,dw.propTypes={assistiveText:i.a.shape({label:i.a.string}),clearable:i.a.bool,onClear:i.a.func,onSearch:i.a.func,placeholder:i.a.string},dw.defaultProps=fw;var hw=dw;function mw(e){return(mw="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function bw(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function yw(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?bw(Object(n),!0).forEach((function(t){ww(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):bw(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function gw(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function vw(e,t){return(vw=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function Ow(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=xw(e);if(t){var o=xw(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return _w(this,n)}}function _w(e,t){return!t||"object"!==mw(t)&&"function"!=typeof t?Sw(e):t}function Sw(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function xw(e){return(xw=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function ww(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var Ew={className:i.a.oneOfType([i.a.array,i.a.object,i.a.string]),classNameContainer:i.a.oneOfType([i.a.array,i.a.object,i.a.string]),defaultLocation:i.a.shape({id:i.a.string.isRequired,name:i.a.string.isRequired,address:i.a.string.isRequired}).isRequired,id:i.a.string,labels:i.a.shape({title:i.a.string}),locations:i.a.arrayOf(i.a.shape({id:i.a.string.isRequired,name:i.a.string.isRequired,address:i.a.string.isRequired})).isRequired,onClickLocation:i.a.func,googleAPIKey:i.a.string.isRequired,selection:i.a.shape({id:i.a.string.isRequired,name:i.a.string.isRequired,address:i.a.string.isRequired})},jw={title:"Interactive Map"},Cw=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&vw(e,t)}(i,e);var t,n,r,a=Ow(i);function i(e){var t;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,i),ww(Sw(t=a.call(this,e)),"handleClick",(function(e,n){"function"==typeof t.props.onClickLocation&&t.props.onClickLocation(e,t.props.locations[n]),t.map&&t.map.focus()})),t.generatedId=u.a.generate(),t}return t=i,(n=[{key:"getId",value:function(){return this.props.id||this.generatedId}},{key:"render",value:function(){var e=this,t=yw(yw({},jw),this.props.labels);return o.a.createElement("div",{id:this.getId(),className:l()("slds-grid",{"slds-has-coordinates":this.props.locations},this.props.classNameContainer)},o.a.createElement("div",{className:"slds-map_container",style:{padding:"4px"}},o.a.createElement("div",{className:l()("slds-map",this.props.className),ref:function(t){e.map=t},tabIndex:0,title:t.title},o.a.createElement("iframe",{id:"".concat(this.getId(),"-google-map"),src:"https://www.google.com/maps/embed/v1/place?key=".concat(this.props.googleAPIKey,"&q=").concat(encodeURIComponent(this.props.selection?this.props.selection.address:this.props.defaultLocation.address)),title:t.title}))),this.props.locations.length>1?o.a.createElement("div",{className:"slds-coordinates"},o.a.createElement("div",{className:"slds-coordinates__header"},o.a.createElement("h2",{className:"slds-coordinates__title"},"".concat(t.title," (").concat(this.props.locations.length,")"))),o.a.createElement("ul",{className:"slds-coordinates__list"},this.props.locations.map((function(t,n){return o.a.createElement("li",{key:t.id,className:"slds-coordinates__item"},o.a.createElement("span",{className:"slds-assistive-text","aria-live":"polite"},"".concat(t.name," is currently selected")),o.a.createElement("button",{type:"button",onClick:function(t){return e.handleClick(t,n)},className:"slds-coordinates__item-action slds-button_reset slds-media","aria-pressed":e.props.selection&&e.props.selection.id===t.id},o.a.createElement("span",{className:"slds-media__figure"},o.a.createElement(jn,{category:"standard",name:"account"})),o.a.createElement("span",{className:"slds-media__body"},o.a.createElement("span",{className:"slds-text-link"},t.name),o.a.createElement("span",null,t.address))))})))):null)}}])&&gw(t.prototype,n),r&&gw(t,r),i}(o.a.Component);Cw.displayName="SLDSLocationMap",Cw.propTypes=Ew;var Pw=Cw;function Nw(e){return(Nw="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function Tw(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function kw(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function Rw(e,t){return(Rw=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function Dw(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=Lw(e);if(t){var o=Lw(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return Iw(this,n)}}function Iw(e,t){return!t||"object"!==Nw(t)&&"function"!=typeof t?Aw(e):t}function Aw(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function Lw(e){return(Lw=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function Bw(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var Fw=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&Rw(e,t)}(i,e);var t,n,r,a=Dw(i);function i(){var e;Tw(this,i);for(var t=arguments.length,n=new Array(t),r=0;r<t;r++)n[r]=arguments[r];return Bw(Aw(e=a.call.apply(a,[this].concat(n))),"handleClick",(function(){e.props.onClose&&e.props.onClose()})),e}return t=i,(n=[{key:"UNSAFE_componentWillReceiveProps",value:function(e){e.isActive!==this.props.isActive&&!0===e.isActive&&this.props.setFocus("searchRecords")}},{key:"render",value:function(){var e="slds-lookup__item-action slds-lookup__item-action_label";return this.props.isActive&&(e+=" slds-theme_shade"),o.a.createElement("div",{className:"js-slds-lookup__item",onMouseDown:Dt.trapImmediate,onClick:this.handleClick},o.a.createElement("a",{id:"searchRecords",href:"javascript:void(0);",className:e},o.a.createElement("span",{className:"lookup__item-action-label"},o.a.createElement(jn,{name:"search",category:"utility",size:"x-small",className:"slds-icon-text-default"}),o.a.createElement("span",{className:"slds-truncate"},this.props.searchTerm))))}}])&&kw(t.prototype,n),r&&kw(t,r),i}(o.a.Component);Fw.displayName="LookupDefaultHeader",Fw.propTypes={},Fw.defaultProps={};var Mw=Fw;function qw(e){return(qw="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function Hw(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function Kw(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function Ww(e,t){return(Ww=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function Vw(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=Gw(e);if(t){var o=Gw(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return Uw(this,n)}}function Uw(e,t){return!t||"object"!==qw(t)&&"function"!=typeof t?zw(e):t}function zw(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function Gw(e){return(Gw=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function Yw(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var Qw=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&Ww(e,t)}(i,e);var t,n,r,a=Vw(i);function i(){var e;Hw(this,i);for(var t=arguments.length,n=new Array(t),r=0;r<t;r++)n[r]=arguments[r];return Yw(zw(e=a.call.apply(a,[this].concat(n))),"handleClick",(function(){e.props.onClose&&e.props.onClose()})),e}return t=i,(n=[{key:"UNSAFE_componentWillReceiveProps",value:function(e){e.isActive!==this.props.isActive&&!0===e.isActive&&this.props.setFocus("newItem")}},{key:"render",value:function(){var e="slds-lookup__item-action slds-lookup__item-action_label";return this.props.isActive&&(e+=" slds-theme_shade"),o.a.createElement("div",{className:"js-slds-lookup__item",onClick:this.handleClick,onMouseDown:Dt.trapImmediate},o.a.createElement("a",{id:"newItem",href:"javascript:void(0);",className:e},o.a.createElement("span",{className:"lookup__item-action-label"},o.a.createElement(jn,{name:"add",category:"utility",size:"x-small",className:"slds-icon-text-default"}),o.a.createElement("span",{className:"slds-truncate"},this.props.newItemLabel?this.props.newItemLabel:"Add New Item"))))}}])&&Kw(t.prototype,n),r&&Kw(t,r),i}(o.a.Component);Qw.displayName="LookupDefaultFooter",Qw.propTypes={},Qw.defaultProps={};var Jw=Qw,Xw={data:i.a.object},$w=function(e){return o.a.createElement("li",{className:"slds-p-around_x-small slds-lookup__divider",tabIndex:"-1"},o.a.createElement("span",{className:"slds-m-left_x-small"},o.a.createElement("strong",null,e.data.label)))};$w.displayName="LookupDefaultSectionDivider",$w.propTypes=Xw;var Zw=$w;var eE=function(){};function tE(e){return(tE="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function nE(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function rE(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function oE(e,t){return(oE=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function aE(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=lE(e);if(t){var o=lE(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return iE(this,n)}}function iE(e,t){return!t||"object"!==tE(t)&&"function"!=typeof t?sE(e):t}function sE(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function lE(e){return(lE=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function cE(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var uE={data:i.a.object,handleItemFocus:i.a.func,href:i.a.string,iconCategory:i.a.string,id:i.a.string,index:i.a.number,isActive:i.a.bool,isDisabled:i.a.bool,listItemLabelRenderer:i.a.func,onSelect:i.a.func,searchTerm:i.a.string,setFocus:i.a.func},pE=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&oE(e,t)}(i,e);var t,n,r,a=aE(i);function i(){var e;nE(this,i);for(var t=arguments.length,n=new Array(t),r=0;r<t;r++)n[r]=arguments[r];return cE(sE(e=a.call.apply(a,[this].concat(n))),"handleClick",(function(){return e.props.onSelect(e.props.id,e.props.data)})),e}return t=i,(n=[{key:"UNSAFE_componentWillReceiveProps",value:function(e){e.isActive!==this.props.isActive&&!0===e.isActive&&(this.scrollFocus(),this.props.setFocus(this.props.id))}},{key:"getCustomLabel",value:function(){var e=this.props.listItemLabelRenderer;return o.a.createElement(e,this.props)}},{key:"getIcon",value:function(){return this.props.iconName&&!this.props.listItemLabelRenderer?o.a.createElement("span",{className:"slds-media__figure"},o.a.createElement(jn,{category:this.props.iconCategory,inverse:this.props.iconInverse,key:this.props.iconName,name:this.props.iconName,size:"small"})):null}},{key:"getLabel",value:function(){var e;if(this.props.children.data.subTitle)e=o.a.createElement("div",{className:"slds-media__body"},o.a.createElement("div",{className:"slds-lookup__result-text"},this.props.children.label),o.a.createElement("span",{className:"slds-lookup__result-meta slds-text-body_small"},this.props.children.data.subTitle));else{var t=l()("slds-lookup__result-text",{"slds-m-left_x-small":!this.props.iconName});e=o.a.createElement("div",{className:"slds-media__body"},o.a.createElement("div",{className:t},this.props.children.label))}return e}},{key:"scrollFocus",value:function(){var e=this.itemRef.offsetHeight;e&&this.props.handleItemFocus&&this.props.handleItemFocus(this.props.index,e)}},{key:"render",value:function(){var e=this,t="js-slds-lookup__item",n=this.props.id;return this.props.isActive&&(t+=" slds-theme_shade"),o.a.createElement("li",{className:t,ref:function(t){e.itemRef=t}},o.a.createElement("a",{"aria-disabled":this.props.isDisabled,className:"slds-lookup__item-action slds-media slds-media_center",href:this.props.href,id:n,onClick:this.handleClick,onMouseDown:Dt.trapImmediate,ref:n,role:"option",tabIndex:"-1"},this.getIcon(),this.props.listItemLabelRenderer?this.getCustomLabel():this.getLabel()))}}])&&rE(t.prototype,n),r&&rE(t,r),i}(o.a.Component);pE.displayName="Lookup-Menu-Item",pE.propTypes=uE;var fE=pE;function dE(e){return(dE="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function hE(){return(hE=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}function mE(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function bE(e,t){return(bE=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function yE(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=OE(e);if(t){var o=OE(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return gE(this,n)}}function gE(e,t){return!t||"object"!==dE(t)&&"function"!=typeof t?vE(e):t}function vE(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function OE(e){return(OE=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}var _E={boldRegex:i.a.instanceOf(RegExp),emptyMessage:i.a.oneOfType([i.a.string,i.a.element]),filterWith:i.a.func,focusIndex:i.a.number,getListLength:i.a.func,iconCategory:i.a.string,items:i.a.array,label:i.a.string,listLength:i.a.number,searchTerm:i.a.string,setFocus:i.a.func},SE=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&bE(e,t)}(i,e);var t,n,r,a=yE(i);function i(e){var t;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,i),function(e,t,n){t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n}(vE(t=a.call(this,e)),"handleItemFocus",(function(e,n){t.listRef&&(t.listRef.scrollTop=e*n)})),t.state={filteredItems:t.filteredItems()},t}return t=i,(n=[{key:"componentDidUpdate",value:function(e){var t=[].slice.call(this.listRef.children).filter((function(e){return e.className.indexOf("js-slds-lookup__item")>-1||e.className.indexOf("slds-lookup__divider")>-1})).length;this.props.getListLength(t),e.items===this.props.items&&e.filter===this.props.filter&&e.searchTerm===this.props.searchTerm||this.setState({filteredItems:this.filteredItems()})}},{key:"getFilteredItemForIndex",value:function(e){return e>-1&&this.state.filteredItems&&e<this.state.filteredItems.length?this.state.filteredItems[e]:null}},{key:"filter",value:function(e){return this.props.filterWith(this.props.searchTerm,e)}},{key:"filterEmptySections",value:function(e){var t=[];return e.forEach((function(n,r){if(n&&n.data&&"section"===n.data.type){if(r+1<e.length){var o=e[r+1];o.data&&"section"!==o.data.type&&t.push(n)}}else t.push(n)})),t}},{key:"filteredItems",value:function(){return this.filterEmptySections(this.props.items.filter(this.filter,this))}},{key:"renderContent",value:function(){return 0===this.state.filteredItems.length?o.a.createElement("li",{className:"slds-lookup__message","aria-live":"polite"},o.a.createElement("span",{className:"slds-m-left_x-large slds-p-vertical_medium"},this.props.emptyMessage)):this.renderItems()}},{key:"renderFooter",value:function(){return this.props.footer}},{key:"renderHeader",value:function(){return this.props.header}},{key:"renderItems",value:function(){var e=this,t=this.props.focusIndex;return this.state.filteredItems.map((function(n,r){var a=n.id,i=!1;if(i=e.props.header?t===r+1:t===r,"section"===n.data.type&&e.props.sectionDividerRenderer){var s=e.props.sectionDividerRenderer;return o.a.createElement(s,hE({data:n.data,key:"section_header_".concat(a)},e.props))}return o.a.createElement(fE,{boldRegex:e.props.boldRegex,data:n.data,handleItemFocus:e.handleItemFocus,iconCategory:e.props.iconCategory,iconInverse:e.props.iconInverse,iconName:e.props.iconName,id:a,index:r,isActive:i,key:a,listItemLabelRenderer:e.props.listItemLabelRenderer,onSelect:e.props.onSelect,searchTerm:e.props.searchTerm,setFocus:e.props.setFocus},n)}))}},{key:"renderSectionDivider",value:function(){return this.props.sectionDivider}},{key:"render",value:function(){var e=this;return o.a.createElement("section",{id:"menuContainer",className:"ignore-react-onclickoutside"},this.renderHeader(),o.a.createElement("ul",{id:"list",className:"slds-lookup__list",role:"presentation",ref:function(t){t&&(e.listRef=t)}},this.renderContent()),this.renderFooter())}}])&&mE(t.prototype,n),r&&mE(t,r),i}(o.a.Component);SE.displayName="Lookup-Menu",SE.propTypes=_E,SE.defaultProps={emptyMessage:"No matches found."};var xE,wE,EE=SE;function jE(e){return(jE="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function CE(){return(CE=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}function PE(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function NE(e,t){return(NE=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function TE(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=DE(e);if(t){var o=DE(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return kE(this,n)}}function kE(e,t){return!t||"object"!==jE(t)&&"function"!=typeof t?RE(e):t}function RE(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function DE(e){return(DE=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function IE(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var AE=function(e){return(e||"").toString().replace(/^\s+/,"")},LE=(wE=xE=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&NE(e,t)}(i,e);var t,n,r,a=TE(i);function i(e){var t;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,i),IE(RE(t=a.call(this,e)),"state",{currentFocus:null,focusIndex:null,items:[],listLength:t.props.options.length,searchTerm:AE(t.props.searchTerm),selectedIndex:t.props.selectedItem}),IE(RE(t),"getClassName",(function(){return l()(t.props.className,"slds-form-element slds-lookup",{"slds-has-selection":t.isSelected(),"slds-is-open":t.getIsOpen()})})),IE(RE(t),"setFirstIndex",(function(){var e=0,n=t.state.items[0];t.menuComponent&&t.menuComponent.getFilteredItemForIndex&&(n=t.menuComponent.getFilteredItemForIndex(e)),n&&"section"===n.data.type&&(e+=1),t.setState({focusIndex:e})})),IE(RE(t),"getHeader",(function(){var e=t.props.headerRenderer,n=0===t.state.focusIndex;return o.a.createElement(e,CE({ref:function(e){t.headerComponent=e}},t.props,{focusIndex:t.state.focusIndex,isActive:n,onClose:t.handleClose,searchTerm:t.state.searchTerm,setFocus:t.setFocus}))})),IE(RE(t),"getFooter",(function(){var e=t.props.footerRenderer,n=t.getNumFocusableItems(),r=t.state.focusIndex===n;return o.a.createElement(e,CE({ref:function(e){t.footerComponent=e}},t.props,{focusIndex:t.state.focusIndex,isActive:r,onClose:t.handleClose,setFocus:t.setFocus}))})),IE(RE(t),"setFocus",(function(e){t.setState({currentFocus:e})})),IE(RE(t),"getIsOpen",(function(){return!!("boolean"==typeof t.props.isOpen?t.props.isOpen:t.state.isOpen)})),IE(RE(t),"getListLength",(function(e){e!==t.state.listLength&&t.setState({listLength:e})})),IE(RE(t),"getNumFocusableItems",(function(){var e=0;return t.footerComponent&&(e+=1),t.headerComponent&&(e+=1),t.state.listLength-1+e})),IE(RE(t),"increaseIndex",(function(){var e=t.getNumFocusableItems(),n=t.state.focusIndex<e?t.state.focusIndex+1:0,r=t.menuComponent.getFilteredItemForIndex(n);r&&"section"===r.data.type&&(n+=1),t.setState({focusIndex:n})})),IE(RE(t),"decreaseIndex",(function(){var e=t.getNumFocusableItems(),n=t.state.focusIndex>0?t.state.focusIndex-1:e,r=t.menuComponent.getFilteredItemForIndex(n);r&&"section"===r.data.type&&(n=0===n?e:n-1),t.setState({focusIndex:n})})),IE(RE(t),"selectItem",(function(e){if(e){var n=e.replace("item-","");t.selectItemByIndex(n)}})),IE(RE(t),"selectItemByIndex",(function(e){if(e>=0&&e<t.state.items.length){t.props.onRequestClose&&t.props.onRequestClose(),t.setState({isOpen:!1,selectedIndex:e,searchTerm:""});var n=t.state.items[e].data;t.props.onSelect&&t.props.onSelect(n)}})),IE(RE(t),"handleDeleteSelected",(function(){t.props.onRequestOpen&&t.props.onRequestOpen(),t.setState({selectedIndex:null,isOpen:!0}),t.focusInput(),t.props.onUnselect&&t.props.onUnselect()})),IE(RE(t),"handleClose",(function(){t.props.onRequestClose&&t.props.onRequestClose(),t.setState({isOpen:!1,focusIndex:null,currentFocus:null})})),IE(RE(t),"handleClickOutside",(function(){t.handleClose()})),IE(RE(t),"handleEscape",(function(e){t.getIsOpen()&&e&&Dt.trap(e),t.handleClose()})),IE(RE(t),"handleCancel",(function(){t.handleClose()})),IE(RE(t),"handleClick",(function(){t.props.onRequestOpen&&t.props.onRequestOpen(),t.setState({isOpen:!0})})),IE(RE(t),"handleBlur",(function(e){if(t.props.onBlur){var n=e.target||e.currentTarget;t.props.onBlur(n.value)}})),IE(RE(t),"handleFocus",(function(e){if(t.props.onFocus){var n=e.target||e.currentTarget;t.props.onFocus(n.value)}t.props.onRequestOpen&&t.props.onRequestOpen(),t.setState({isOpen:!0})})),IE(RE(t),"handleChange",(function(e){var n=e.target||e.currentTarget;t.setState({searchTerm:AE(n.value)}),t.props.onChange&&t.props.onChange(n.value)})),IE(RE(t),"handleKeyDown",(function(e){if(e.keyCode)if(e.keyCode===At.ESCAPE?t.handleEscape(e):e.keyCode===At.TAB?(setTimeout((function(){t.handleClose()}),200),t.handleBlur(e)):t.handleClick(),e.keyCode===At.DOWN)Dt.trapImmediate(e),null===t.state.focusIndex?t.setFirstIndex():t.increaseIndex();else if(e.keyCode===At.UP){Dt.trapImmediate(e);var n=t.getNumFocusableItems();null===t.state.focusIndex?t.setState({focusIndex:n}):t.decreaseIndex()}else e.keyCode===At.ENTER&&null!==t.state.focusIndex&&(Dt.trapImmediate(e),t.headerComponent&&0===t.state.focusIndex?t.headerComponent.handleClick():t.footerComponent&&t.state.focusIndex===t.state.listLength+1?t.footerComponent.handleClick():t.selectItem(t.state.currentFocus))})),IE(RE(t),"handlePillKeyDown",(function(e){e.keyCode&&(e.keyCode!==At.DELETE&&e.keyCode!==At.BACKSPACE||(Dt.trapImmediate(e),t.handleDeleteSelected()))})),IE(RE(t),"inputRefId",(function(){return"".concat(t.props.label,"Lookup")})),IE(RE(t),"focusInput",(function(){t.focusOnRender=!0})),IE(RE(t),"isSelected",(function(){return!isNaN(parseInt(t.state.selectedIndex,10))&&t.state.selectedIndex>=0})),IE(RE(t),"modifyItems",(function(e){var n=e.map((function(e,t){return{id:"item-".concat(t),label:e.label,data:e}}));t.setState({items:n})})),IE(RE(t),"renderMenuContent",(function(){return o.a.createElement(EE,{ref:function(e){t.menuComponent=e},emptyMessage:t.props.emptyMessage,filterWith:t.props.filterWith,focusIndex:t.state.focusIndex,footer:t.props.footerRenderer?t.getFooter():null,getListLength:t.getListLength,header:t.props.headerRenderer?t.getHeader():null,iconCategory:t.props.iconCategory,iconInverse:t.props.iconInverse,iconName:t.props.iconName,items:t.state.items,label:t.props.label,listItemLabelRenderer:t.props.listItemLabelRenderer,listLength:t.state.listLength,onSelect:t.selectItem,searchTerm:t.state.searchTerm,sectionDividerRenderer:t.props.sectionDividerRenderer,setFocus:t.setFocus})})),IE(RE(t),"renderInlineMenu",(function(){return t.getIsOpen()?o.a.createElement("div",{className:"ignore-react-onclickoutside slds-lookup__menu",role:"listbox"},t.renderMenuContent()):null})),IE(RE(t),"renderSeparateMenu",(function(){var e=t.props.isInline?"relative":t.props.menuPosition;return t.getIsOpen()?o.a.createElement(mn,{align:"bottom",className:"slds-lookup__menu slds-show",closeOnTabKey:!0,contentsClassName:"slds-lookup__menu slds-show",context:t.context,inheritWidthOf:"target",onClose:t.handleCancel,hasStaticAlignement:!t.props.flippable,constrainToScrollParent:t.props.constrainToScrollParent,onRequestTargetElement:function(){return t.input},position:e},t.renderMenuContent()):null})),IE(RE(t),"renderInput",(function(){return o.a.createElement(Pu,{"aria-activedescendant":t.state.currentFocus?t.state.currentFocus:"","aria-autocomplete":"list","aria-describedby":t.props.describedById,"aria-expanded":!!t.getIsOpen(),assistiveText:t.props.assistiveText,className:"slds-lookup__search-input",disabled:t.props.disabled,iconRight:o.a.createElement(Dc,{assistiveText:{icon:"Search"},category:"utility",name:"search"}),id:t.inputRefId(),onBlur:t.handleBlur,onChange:t.handleChange,onClick:t.handleClick,onFocus:t.handleFocus,onKeyDown:t.handleKeyDown,inputRef:function(e){t.input=e,t.focusOnRender&&(t.input.focus(),t.focusOnRender=!1)},placeholder:t.props.placeholder,role:"combobox",type:"text",value:t.state.searchTerm})})),IE(RE(t),"renderSelectedItem",(function(){var e=t.props.options[t.state.selectedIndex].label,n=t.props.iconName?o.a.createElement(jn,{category:t.props.iconCategory,className:"slds-icon slds-pill__icon",inverse:t.props.iconInverse,name:t.props.iconName}):null,r=t.props.iconName?"slds-pill__label":"slds-pill__label slds-m-left_x-small";return o.a.createElement("div",{className:"slds-pill__container"},o.a.createElement("a",{href:"javascript:void(0)",className:"slds-pill",ref:function(e){t.pills[t.state.selectedIndex]=e},onKeyDown:t.handlePillKeyDown},n,o.a.createElement("span",{className:r},e),o.a.createElement(or,{assistiveText:{icon:"Press delete to remove"},className:"slds-pill__remove slds-button_icon-bare",iconCategory:"utility",iconName:"close",onClick:t.handleDeleteSelected,tabIndex:"-1",variant:"icon"})))})),IE(RE(t),"renderLabel",(function(){var e=t.props.required?o.a.createElement("span",{className:"slds-required"},"*"):null;return t.isSelected()?o.a.createElement("span",{className:"slds-form-element__label",style:{width:"100%"}},e,t.props.label):o.a.createElement("label",{className:"slds-form-element__label",htmlFor:t.inputRefId(),style:{width:"100%"}},e,t.props.label)})),eE(Z,e),t.pills=[],t}return t=i,(n=[{key:"componentDidMount",value:function(){this.modifyItems(this.props.options)}},{key:"UNSAFE_componentWillReceiveProps",value:function(e){e.options&&this.modifyItems(e.options),e.selectedItem===this.props.selectedItem&&Ot()(e.options,this.props.options)||this.setState({selectedIndex:e.selectedItem})}},{key:"componentDidUpdate",value:function(e,t){!isNaN(parseInt(t.selectedIndex,10))&&isNaN(parseInt(this.state.selectedIndex,10))?this.input&&this.input.focus():isNaN(parseInt(t.selectedIndex,10))&&!isNaN(parseInt(this.state.selectedIndex,10))&&this.pills[this.state.selectedIndex]&&this.pills[this.state.selectedIndex].focus()}},{key:"render",value:function(){var e;this.props.isInline?e=!0:void 0!==this.props.modal&&(e=!this.props.modal);var t=IE({"slds-form-element__control":!0},"slds-input-has-icon slds-input-has-icon_".concat(this.props.iconPosition),!this.isSelected());return o.a.createElement("div",{className:this.getClassName(),"data-select":"single","data-scope":"single",onScroll:this.props.onScroll},this.props.label?this.renderLabel():null,o.a.createElement("div",{className:l()(t)},this.isSelected()?this.renderSelectedItem():null,this.isSelected()?null:this.renderInput()),e?this.renderInlineMenu():this.renderSeparateMenu())}}])&&PE(t.prototype,n),r&&PE(t,r),i}(o.a.Component),IE(xE,"displayName",Z),IE(xE,"propTypes",{assistiveText:i.a.oneOfType([i.a.object,i.a.string]),className:i.a.oneOfType([i.a.array,i.a.object,i.a.string]),constrainToScrollParent:i.a.bool,describedById:i.a.string,menuPosition:i.a.string,disabled:i.a.bool,emptyMessage:i.a.oneOfType([i.a.string,i.a.element]),filterWith:i.a.func,flippable:i.a.bool,footerRenderer:i.a.func,headerRenderer:i.a.func,iconCategory:i.a.string,iconInverse:i.a.bool,iconName:i.a.string,iconPosition:i.a.oneOf(["left","right"]),isInline:i.a.bool,isOpen:i.a.bool,label:i.a.string,listItemLabelRenderer:i.a.func,onBlur:i.a.func,onChange:i.a.func,onFocus:i.a.func,onRequestClose:i.a.func,onRequestOpen:i.a.func,onScroll:i.a.func,onSelect:i.a.func,onUnselect:i.a.func,options:i.a.array.isRequired,placeholder:i.a.string,required:i.a.bool,searchTerm:i.a.string,sectionDividerRenderer:i.a.func,selectedItem:i.a.number}),IE(xE,"defaultProps",{constrainToScrollParent:!0,filterWith:function(e,t){return!e||(t.data&&"section"===t.data.type||t.label.match(new RegExp(ys()(e),"ig")))},iconPosition:"right",searchTerm:"",menuPosition:"absolute"}),wE);LE.contextTypes={iconPath:i.a.string};var BE=Ci(LE,{excludeScrollbar:!0}),FE=n(24);var ME=function(){},qE=function(){},HE=function(e){var t=[];return t.indexes=[],t.keyBuffer=new ms,Array.isArray(e)&&e.forEach((function(e,n){(function(e){return"header"!==e.type&&"divider"!==e.type&&!e.disabled})(e)&&(t.push({index:n,text:"".concat(e.label).toLowerCase()}),t.indexes.push(n))})),t};var KE=n.n(FE)()({displayName:ne,propTypes:{buttonRef:i.a.func,className:i.a.string,checkmark:i.a.bool,disabled:i.a.bool,errorText:i.a.string,id:i.a.string,isInline:i.a.bool,label:i.a.string,labels:i.a.shape({multipleOptionsSelected:i.a.string}),listItemRenderer:i.a.func,onClick:i.a.func,onSelect:i.a.func,onPillRemove:i.a.func,options:i.a.array.isRequired,placeholder:i.a.string,required:i.a.bool,value:i.a.node,initValueIndex:i.a.number},getDefaultProps:function(){return{inheritTargetWidth:!0,placeholder:"Select an Option",checkmark:!0,labels:{multipleOptionsSelected:"Multiple Options Selected"},menuPosition:"absolute"}},getInitialState:function(){return{focusedIndex:this.props.initValueIndex?this.props.initValueIndex:-1,selectedIndex:this.props.initValueIndex?this.props.initValueIndex:-1,selectedIndices:[],currentPillLabel:""}},UNSAFE_componentWillMount:function(){if(ME(ne,this.props),this.generatedId=u.a.generate(),this.props.errorText&&(this.generatedErrorId=u.a.generate()),"undefined"!=typeof window&&window.addEventListener("click",this.closeOnClick,!1),this.props.multiple){var e=this.getIndexByValue(this.props),t=this.state.selectedIndices;-1!==e&&t.push(e),this.setState({selectedIndices:t})}else this.setState({selectedIndex:this.getIndexByValue(this.props)});this.navigableItems=HE(this.props.options)},UNSAFE_componentWillReceiveProps:function(e){if(this.props.value!==e.value||this.props.options.length!==e.length)if(!0!==this.props.multiple)this.setState({selectedIndex:this.getIndexByValue(e)});else{var t=this.getIndexByValue(e);if(-1!==t){var n=this.state.selectedIndices.concat(t);this.setState({selectedIndices:n})}}e.options&&(this.navigableItems=HE(e.options))},componentWillUnmount:function(){this.isUnmounting=!0,window.removeEventListener("click",this.closeOnClick,!1)},getListItemId:function(e){var t;if(void 0!==e){var n=Ir()(this.getId)?this.getId():this.props.id;t="".concat(n,"-item-").concat(e)}return t},getId:function(){return this.props.id||this.generatedId},getErrorId:function(){return this.props["aria-describedby"]||this.generatedErrorId},getClickEventName:function(){return"SLDS".concat(this.getId(),"ClickEvent")},getIndexByValue:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.props,t=e.value,n=e.options,r=-1;return n&&n.length&&n.some((function(e,n){return!(!e||e.value!==t)&&(r=n,!0)})),r},getValueByIndex:function(e){return this.props.options[e]},getListItemRenderer:function(){return this.props.listItemRenderer?this.props.listItemRenderer:Ni},setFocus:function(){!this.isUnmounting&&this.button&&this.button.focus()},handleSelect:function(e){if(this.props.multiple){var t;if(-1===this.state.selectedIndices.indexOf(e))t=this.state.selectedIndices.concat(e);else{var n=this.state.selectedIndices.indexOf(e);(t=this.state.selectedIndices).splice(n,1)}this.setState({selectedIndices:t})}else this.setState({selectedIndex:e}),this.handleClose(),this.setFocus();if(this.props.onSelect){var r=this.getValueByIndex(e);this.props.onSelect(r,{option:r,optionIndex:e})}},handleClose:function(){this.setState({isOpen:!1})},handleClick:function(e){e&&(e.nativeEvent[this.getClickEventName()]=!0),this.state.isOpen?this.handleClose():(this.setState({isOpen:!0}),this.setFocus(),this.props.onClick&&this.props.onClick(e))},handleMouseDown:function(e){e&&(Dt.trapImmediate(e),e.nativeEvent[this.getClickEventName()]=!0)},handleKeyDown:function(e){if(e.keyCode)if(e.keyCode!==At.ENTER&&e.keyCode!==At.SPACE&&e.keyCode!==At.DOWN&&e.keyCode!==At.UP||Dt.trap(e),e.keyCode!==At.TAB){var t=e.keyCode===At.ENTER||e.keyCode===At.DOWN||e.keyCode===At.UP,n="BUTTON"===e.target.tagName;t&&n&&this.props.onClick&&this.props.onClick(e),this.handleKeyboardNavigate({isOpen:this.state.isOpen||!1,keyCode:e.keyCode,onSelect:this.handleSelect,toggleOpen:this.toggleOpen})}else this.handleCancel()},handleCancel:function(){this.setFocus(),this.handleClose()},handleKeyboardNavigate:function(e){var t=e.event,n=e.isOpen,r=void 0===n||n,o=e.keyCode,a=e.onFocus,i=void 0===a?this.handleKeyboardFocus:a,s=e.onSelect,l=e.target,c=e.toggleOpen,u=void 0===c?qE:c;Os({componentContext:this,currentFocusedIndex:this.state.focusedIndex,event:t,isOpen:r,keyCode:o,navigableItems:this.navigableItems,onFocus:i,onSelect:s,target:l,toggleOpen:u})},handleKeyboardFocus:function(e){this.state.focusedIndex!==e&&this.setState({focusedIndex:e});var t,n=Ir()(this.getMenu)?this.getMenu():(t=this,St.a.findDOMNode(t).querySelector("ul.dropdown__list")),r=Ir()(this.getMenuItem)?this.getMenuItem(e,n):function(e){var t,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:document;return e&&(t=n.getElementById(e)),t}(this.getListItemId(e));r&&(this.focusMenuItem(r),this.scrollToMenuItem(n,r))},focusMenuItem:function(e){e.getElementsByTagName("a")[0].focus()},scrollToMenuItem:function(e,t){if(e&&t){var n=e.offsetHeight,r=e.scrollTop,o=t.offsetTop-e.offsetTop;if(o<r)e.scrollTop=o;else{var a=r+n+e.offsetTop,i=o+t.offsetHeight+e.offsetTop;i>a&&(e.scrollTop=i-n-e.offsetTop)}}},closeOnClick:function(e){!e[this.getClickEventName()]&&this.state.isOpen&&this.handleClose()},toggleOpen:function(){this.setState({isOpen:!this.state.isOpen})},saveRefToList:function(e){this.list=e},saveRefToListItem:function(e,t){this.listItems||(this.listItems={}),this.listItems[t]=e,t===this.state.focusedIndex&&this.handleKeyboardFocus(this.state.focusedIndex)},saveRefToTrigger:function(e){this.button=e,this.props.buttonRef&&this.props.buttonRef(this.button),this.state.triggerRendered||this.setState({triggerRendered:!0})},renderMenuContent:function(){return o.a.createElement(es,{checkmark:this.props.checkmark,getListItemId:this.getListItemId,itemRefs:this.saveRefToListItem,itemRenderer:this.getListItemRenderer(),onCancel:this.handleCancel,onSelect:this.handleSelect,options:this.props.options,ref:this.saveRefToList,selectedIndex:this.props.multiple?void 0:this.state.selectedIndex,selectedIndices:this.props.multiple?this.state.selectedIndices:void 0,triggerId:this.getId()})},renderInlineMenu:function(){return!this.props.disabled&&this.state.isOpen?o.a.createElement("div",{className:"slds-dropdown slds-dropdown_left",style:{maxHeight:"20em",overflowX:"hidden",minWidth:"100%"}},this.renderMenuContent()):null},renderDialog:function(){var e=this;return!this.props.disabled&&this.state.isOpen?o.a.createElement(mn,{closeOnTabKey:!0,constrainToScrollParent:this.props.constrainToScrollParent,contentsClassName:"slds-dropdown slds-dropdown_left",context:this.context,flippable:!0,onClose:this.handleCancel,onKeyDown:this.handleKeyDown,onRequestTargetElement:function(){return e.button},inheritWidthOf:this.props.inheritTargetWidth?"target":"none",position:this.props.menuPosition},this.renderMenuContent()):null},renderTrigger:function(){var e,t;if(this.props.isInline?e=!0:void 0!==this.props.modal&&(e=!this.props.modal),this.props.multiple&&0===this.state.selectedIndices.length)t=this.props.placeholder;else if(this.props.multiple&&1===this.state.selectedIndices.length){t=this.props.options[this.state.selectedIndices].label}else if(this.props.multiple&&this.state.selectedIndices.length>1)t=this.props.labels.multipleOptionsSelected;else{var n=this.props.options[this.state.selectedIndex];t=n&&n.label?n.label:this.props.placeholder}return o.a.createElement("div",{className:l()("slds-picklist slds-dropdown-trigger slds-dropdown-trigger_click",{"slds-is-open":this.state.isOpen},this.props.className),onKeyDown:this.handleKeyDown,onMouseDown:this.handleMouseDown},o.a.createElement("button",{"aria-describedby":this.getErrorId(),"aria-expanded":this.state.isOpen,"aria-haspopup":"true",className:"slds-button slds-button_neutral slds-picklist__label",disabled:this.props.disabled,id:this.getId(),onClick:this.props.disabled?void 0:this.handleClick,ref:this.saveRefToTrigger,tabIndex:this.state.isOpen?-1:0,type:"button"},o.a.createElement("span",{className:"slds-truncate"},t),o.a.createElement(jn,{name:"down",category:"utility"})),e?this.renderInlineMenu():this.renderDialog())},renderPills:function(){var e=this,t=this.state.selectedIndices.map((function(t){var n=e.getValueByIndex(t).label;return o.a.createElement("li",{className:"slds-listbox__item",key:"pill-".concat(t),role:"presentation"},o.a.createElement(Om,{eventData:{item:e.props.options[t],index:t},events:{onRequestFocus:function(){},onRequestFocusOnNextPill:function(){},onRequestFocusOnPreviousPill:function(){},onRequestRemove:function(t,n){var r=e.state.selectedIndices,o=n.index;if(r.splice(e.state.selectedIndices.indexOf(o),1),e.setState({selectedIndices:r}),e.props.onPillRemove){var a=e.getValueByIndex(o);e.props.onPillRemove(a,{option:a,optionIndex:o})}}},labels:{label:n}}))}));return o.a.createElement("div",{id:"listbox-selections-unique-id",orientation:"horizontal",role:"listbox"},o.a.createElement("ul",{className:"slds-listbox slds-listbox_inline slds-p-top_xxx-small",role:"group","aria-label":"Selected Options:"},t))},render:function(){var e=this.props,t=e.className,n=e.errorText,r=e.label,a=e.required?o.a.createElement("span",{style:{color:"red"}},"* "):null;return o.a.createElement("div",{className:l()("slds-form-element",{"slds-has-error":n},t)},this.props.label?o.a.createElement("label",{className:"slds-form-element__label",htmlFor:this.getId(),style:{width:"100%"}},a,r):null,this.renderTrigger(),this.renderPills(),n&&o.a.createElement("div",{id:this.getErrorId(),className:"slds-form-element__help"},n))}});KE.contextTypes={iconPath:i.a.string};var WE=KE,VE={open:function(e){var t;Lr("components/modal/trigger.jsx","This component is deprecated and appears to have been created in order to do modals in portals which is what current Modal has done for years."),Bt&&((t=document.createElement("span")).setAttribute("data-slds-modal",!0),document.body.appendChild(t));var n=o.a.createElement(lo,{heading:e.title,footer:e.footer,isOpen:!0},e.content);St.a.render(n,t)}},UE=n(52);var zE=function(){},GE=function(e){return o.a.createElement("li",{className:l()("slds-nav-vertical__item",{"slds-is-active":e.isSelected})},o.a.createElement("a",{"data-id":e.item.id,href:e.item.url||"javascript:void(0);",className:"slds-nav-vertical__action","aria-describedby":e.categoryId,"aria-current":!!e.isSelected||void 0,onClick:function(t){!function(e,t){Ir()(t.onSelect)&&t.onSelect(e,{item:t.item})}(t,e)}},e.item.label))};GE.displayName="SLDSVerticalNavigationItem",GE.propTypes={item:i.a.shape({id:i.a.string.isRequired,label:i.a.string.isRequired,url:i.a.string}),isSelected:i.a.bool,categoryId:i.a.string.isRequired,onSelect:i.a.func},GE.defaultProps={isSelected:!1};var YE=GE;function QE(e){return(QE="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function JE(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function XE(e,t){return(XE=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function $E(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=tj(e);if(t){var o=tj(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return ZE(this,n)}}function ZE(e,t){return!t||"object"!==QE(t)&&"function"!=typeof t?ej(e):t}function ej(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function tj(e){return(tj=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function nj(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var rj=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&XE(e,t)}(i,e);var t,n,r,a=$E(i);function i(e){var t;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,i),nj(ej(t=a.call(this,e)),"getId",(function(){return t.props.id||t.generatedId})),nj(ej(t),"getSelectedId",(function(){var e,n=t.props.categories;return t.props.selectedId?e=t.props.selectedId:n.length>0&&n[0].items&&n[0].items.length>0&&(e=n[0].items[0].id),e})),t.generatedId=u.a.generate(),zE(ye,e,UE),t}return t=i,(n=[{key:"render",value:function(){var e=this,t=this.getId();return o.a.createElement("nav",{id:t,className:l()("slds-nav-vertical",this.props.className)},this.props.categories.map((function(n){var r="".concat(t,"-").concat(n.id),a=e.getSelectedId();return o.a.createElement("div",{key:"".concat(r,"-header"),className:"slds-nav-vertical__section"},o.a.createElement("h2",{id:r,className:"slds-nav-vertical__title"},n.label),o.a.createElement("ul",{key:r},n.items.map((function(t){return o.a.createElement(YE,{key:t.id,item:t,isSelected:t.id===a,categoryId:r,onSelect:e.props.onSelect})}))))})))}}])&&JE(t.prototype,n),r&&JE(t,r),i}(o.a.Component);nj(rj,"displayName",ye),nj(rj,"propTypes",{id:i.a.string,className:i.a.oneOfType([i.a.array,i.a.object,i.a.string]),categories:i.a.array,selectedId:i.a.string,onSelect:i.a.func}),nj(rj,"defaultProps",{});var oj=rj;var aj=function(){};function ij(e){return(ij="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function sj(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function lj(e,t){return(lj=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function cj(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=fj(e);if(t){var o=fj(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return uj(this,n)}}function uj(e,t){return!t||"object"!==ij(t)&&"function"!=typeof t?pj(e):t}function pj(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function fj(e){return(fj=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function dj(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var hj={iconCategory:i.a.string,className:i.a.string,content:i.a.node.isRequired,dismissible:i.a.bool,duration:i.a.number,iconName:i.a.string,isOpen:i.a.bool.isRequired,onDismiss:i.a.func,texture:i.a.bool,theme:i.a.oneOf(["success","warning","error","offline"]),variant:i.a.oneOf(["alert","toast"]).isRequired},mj=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&lj(e,t)}(i,e);var t,n,r,a=cj(i);function i(e){var t;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,i),dj(pj(t=a.call(this,e)),"onDismiss",(function(){t.timeout&&(clearTimeout(t.timeout),t.timeout=null),t.props.onDismiss&&t.props.onDismiss(),t.state.returnFocusTo&&t.state.returnFocusTo.focus&&t.state.returnFocusTo.focus()})),t.state={},t.timeout=null,t}return t=i,(n=[{key:"componentDidMount",value:function(){var e=this;aj("Notification",this.props),this.props.duration&&(this.timeout=setTimeout((function(){e.onDismiss()}),this.props.duration))}},{key:"UNSAFE_componentWillReceiveProps",value:function(e){var t=this;e.duration&&(this.timeout&&clearTimeout(this.timeout),e.isOpen&&(this.timeout=setTimeout((function(){t.onDismiss()}),this.props.duration))),e.isOpen!==this.props.isOpen&&this.setState({returnFocusTo:document.activeElement})}},{key:"componentDidUpdate",value:function(e){if(e.isOpen!==this.props.isOpen){var t=this.dismissBtnRef;t&&t.focus()}}},{key:"getClassName",value:function(){var e;return l()(this.props.className,"slds-notify",(dj(e={},"slds-notify_".concat(this.props.variant),this.props.variant),dj(e,"slds-theme_".concat(this.props.theme),this.props.theme),dj(e,"slds-theme_alert-texture",this.props.texture),e))}},{key:"blankContent",value:function(){return o.a.createElement("div",null)}},{key:"renderAlertContent",value:function(){return o.a.createElement("h2",{id:"dialogTitle"},this.renderIcon(),this.props.content)}},{key:"renderClose",value:function(){var e=this;if(this.props.dismissible){var t=null;return"toast"===this.props.variant&&(t="large"),o.a.createElement(or,{assistiveText:{icon:"Dismiss Notification"},iconCategory:"utility",iconName:"close",iconSize:t,inverse:!0,className:"slds-notify__close",onClick:this.onDismiss,buttonRef:function(t){e.dismissBtnRef=t},variant:"icon"})}return null}},{key:"renderContent",value:function(){return o.a.createElement("div",null,o.a.createElement("span",{className:"slds-assistive-text"},this.props.theme),this.renderClose(),"toast"===this.props.variant?this.renderToastContent():null,"alert"===this.props.variant?this.renderAlertContent():null)}},{key:"renderIcon",value:function(){if(this.props.iconName){var e="";return"alert"===this.props.variant?e="slds-m-right_x-small":"toast"===this.props.variant&&(e="slds-m-right_small slds-col slds-no-flex"),o.a.createElement(jn,{category:this.props.iconCategory,className:e,inverse:!0,name:this.props.iconName,size:"small"})}return null}},{key:"renderToastContent",value:function(){return o.a.createElement("section",{className:"notify__content slds-grid"},this.renderIcon(),o.a.createElement("div",{className:"slds-col slds-align-middle"},o.a.createElement("h2",{id:"dialogTitle",className:"slds-text-heading_small"},this.props.content)))}},{key:"render",value:function(){var e;e=this.props.isOpen?"toast"===this.props.variant?{width:"auto",left:"50%",transform:"translateX(-50%)"}:{width:"100%"}:{width:"0px"};var t=this.props.isOpen?null:{display:"none"};return o.a.createElement("div",{className:"slds-notify-container",style:e},o.a.createElement("div",{className:this.getClassName(),role:"alertdialog","aria-labelledby":"dialogTitle",style:t},this.props.isOpen?this.renderContent():this.blankContent()))}}])&&sj(t.prototype,n),r&&sj(t,r),i}(o.a.Component);mj.displayName="Notification",mj.propTypes=hj,mj.defaultProps={iconCategory:"utility",dismissible:!0,isOpen:!1,texture:!1};var bj=mj;var yj=function(){},gj=n(53),vj={className:i.a.oneOfType([i.a.array,i.a.object,i.a.string]),content:i.a.node,variant:i.a.string},Oj=function(e){if(!e.content)return null;var t=l()({"slds-page-header__name-meta":"base"===e.variant,"slds-page-header__meta-text":"object-home"===e.variant||"objectHome"===e.variant||"related-list"===e.variant||"relatedList"===e.variant},e.className);return"string"==typeof e.content?o.a.createElement("p",{className:t},e.content):o.a.createElement("div",{className:t},e.content)};Oj.displayName="PageHeaderInfo",Oj.propTypes=vj;var _j=Oj,Sj={content:i.a.node,trail:i.a.array},xj=function(e){return e.trail&&e.trail.length>0?o.a.createElement(Ys,{styleContainer:e.style,trail:e.trail}):e.content?"string"==typeof e.content?o.a.createElement("span",null,e.content):e.content:null};xj.displayName="PageHeaderLabel",xj.propTypes=Sj;var wj=xj;function Ej(e){return(Ej="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function jj(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function Cj(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function Pj(e,t){return(Pj=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function Nj(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=kj(e);if(t){var o=kj(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return Tj(this,n)}}function Tj(e,t){return!t||"object"!==Ej(t)&&"function"!=typeof t?function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e):t}function kj(e){return(kj=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}var Rj={align:i.a.oneOf(["top","middle","bottom"]),className:i.a.oneOfType([i.a.array,i.a.object,i.a.string]),content:i.a.node,label:i.a.node,truncate:i.a.bool},Dj=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&Pj(e,t)}(i,e);var t,n,r,a=Nj(i);function i(){return jj(this,i),a.apply(this,arguments)}return t=i,(n=[{key:"render",value:function(){if(!this.props.content)return null;var e=l()("slds-page-header__title",this.props.className,function(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}({"slds-truncate":this.props.truncate},"slds-align-".concat(this.props.align),this.props.align));return o.a.createElement("div",{className:"slds-page-header__name-title"},o.a.createElement("h1",null,o.a.createElement(wj,{content:this.props.label}),o.a.createElement("span",{className:e,title:"string"==typeof this.props.content?this.props.content:void 0},this.props.content)))}}])&&Cj(t.prototype,n),r&&Cj(t,r),i}(r.Component);Dj.displayName="PageHeaderTitle",Dj.propTypes=Rj,Dj.defaultProps={title:"Page Header Title",truncate:!0};var Ij=Dj;function Aj(e){return(Aj="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function Lj(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function Bj(e,t){return(Bj=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function Fj(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=qj(e);if(t){var o=qj(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return Mj(this,n)}}function Mj(e,t){return!t||"object"!==Aj(t)&&"function"!=typeof t?function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e):t}function qj(e){return(qj=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}var Hj={className:i.a.oneOfType([i.a.array,i.a.object,i.a.string]),content:i.a.node,flavor:i.a.string,label:i.a.node,truncate:i.a.bool},Kj=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&Bj(e,t)}(i,e);var t,n,r,a=Fj(i);function i(e){var t;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,i),(t=a.call(this,e)).state={showTooltip:!1},t}return t=i,(n=[{key:"componentDidMount",value:function(){this.renderFieldTruncation()}},{key:"componentDidUpdate",value:function(e){this.props.content!==e.content&&this.renderFieldTruncation()}},{key:"renderContent",value:function(){var e=this,t=this.props,n=t.content,r=t.truncate;if("string"==typeof n){var a=l()({"slds-truncate":r});return o.a.createElement("div",{className:a,ref:function(t){e.fieldContentRef=t},title:n},n)}return n}},{key:"renderContentWithTooltip",value:function(){var e=this.props,t=e.content,n=e.truncate,r=l()({"slds-truncate":n});return o.a.createElement(Hn,{align:"top",title:t,triggerStyle:{display:"inline"}},o.a.createElement("div",{className:r,tabIndex:"0",title:t},t))}},{key:"renderFieldTruncation",value:function(){var e=this.fieldContentRef;e&&e.scrollWidth>e.offsetWidth?this.setState({showTooltip:!0}):this.setState({showTooltip:!1})}},{key:"renderLabel",value:function(){var e=this.props,t=e.label,n=e.truncate;if("string"==typeof t){var r=l()("slds-text-title",{"slds-truncate":n});return o.a.createElement("div",{className:r,title:t},t)}return t}},{key:"render",value:function(){var e=this.props,t=e.className,n=e.flavor,r=l()("slds-page-header__detail-block",t,function(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}({},"slds-size_".concat(n),n));return o.a.createElement("li",{className:r},this.renderLabel(),this.state.showTooltip?this.renderContentWithTooltip():this.renderContent())}}])&&Lj(t.prototype,n),r&&Lj(t,r),i}(r.Component);Kj.displayName="PageHeaderDetailRow",Kj.propTypes=Hj,Kj.defaultProps={content:"",label:"",truncate:!0};var Wj=Kj;function Vj(e){return(Vj="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function Uj(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function zj(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function Gj(e,t){return(Gj=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function Yj(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=Jj(e);if(t){var o=Jj(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return Qj(this,n)}}function Qj(e,t){return!t||"object"!==Vj(t)&&"function"!=typeof t?function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e):t}function Jj(e){return(Jj=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}var Xj={children:i.a.node,className:i.a.oneOfType([i.a.array,i.a.object,i.a.string]),details:i.a.array},$j=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&Gj(e,t)}(i,e);var t,n,r,a=Yj(i);function i(){return Uj(this,i),a.apply(this,arguments)}return t=i,(n=[{key:"renderDetails",value:function(){return void 0!==this.props.children?this.props.children:this.props.details?this.props.details.map((function(e,t){var n="page-header-detail-block-".concat(t);return o.a.createElement(Wj,{key:n,flavor:e.flavor,label:e.label,content:e.content,truncate:e.truncate})})):null}},{key:"render",value:function(){var e=l()("slds-page-header__detail-row",this.props.className);return o.a.createElement("ul",{className:e},this.renderDetails())}}])&&zj(t.prototype,n),r&&zj(t,r),i}(r.Component);$j.displayName="PageHeaderDetailRow",$j.propTypes=Xj,$j.defaultProps={};var Zj=$j;function eC(e){return(eC="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function tC(){return(tC=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}function nC(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function rC(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function oC(e,t){return(oC=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function aC(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=sC(e);if(t){var o=sC(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return iC(this,n)}}function iC(e,t){return!t||"object"!==eC(t)&&"function"!=typeof t?function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e):t}function sC(e){return(sC=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}var lC={className:i.a.oneOfType([i.a.array,i.a.object,i.a.string]),type:i.a.oneOf(["actions","controls"])},cC=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&oC(e,t)}(i,e);var t,n,r,a=aC(i);function i(){return nC(this,i),a.apply(this,arguments)}return t=i,(n=[{key:"render",value:function(){var e,t,n,r;return"actions"===this.props.type?this.props.onRenderActions?e=this.props.onRenderActions():this.props.contentRight&&(e=this.props.contentRight,t=!0):this.props.onRenderControls?e=this.props.onRenderControls():this.props.navRight&&(e=this.props.navRight,t=!0),e?(e.type&&e.type.displayName===ie?r=e:e.props&&e.props.children&&(r=[],o.a.Children.forEach(e.props.children,(function(e){e&&e.type&&e.type.displayName===ie&&r.push(e)}))),t&&(!r||r.length<1)&&(n="string"!=typeof e?o.a.createElement("div",tC({className:"slds-page-header__controls"},e.props)):o.a.createElement("div",{className:"slds-page-header__controls"},e)),o.a.createElement("div",{className:l()("slds-page-header__col-".concat(this.props.type),this.props.className)},n||o.a.createElement("div",{className:"slds-page-header__controls"},r))):null}}])&&rC(t.prototype,n),r&&rC(t,r),i}(r.Component);cC.displayName="PageHeaderControls",cC.propTypes=lC,cC.defaultProps={};var uC=cC,pC={icon:i.a.node,info:i.a.node,onRenderControls:i.a.func,title:i.a.node,variant:i.a.string},fC=function(e){var t;if(e.iconName)t=o.a.createElement(jn,{category:e.iconCategory,className:"slds-page-header__icon",name:e.iconName,position:e.iconPosition,size:e.iconSize,variant:e.iconVariant});else if(e.icon){var n="slds-page-header__icon";e.icon.props&&(n=l()(e.icon.props.className,n)),t=o.a.cloneElement(e.icon,{className:n})}return o.a.createElement("div",{className:"slds-page-header__row"},o.a.createElement("div",{className:"slds-page-header__col-title"},o.a.createElement(pc,{body:o.a.createElement(o.a.Fragment,null,o.a.createElement("div",{className:"slds-page-header__name"},o.a.createElement(Ij,{content:e.title})),o.a.createElement(_j,{content:e.info,variant:e.variant})),figure:t})),o.a.createElement(uC,{className:"slds-align-middle",navRight:e.navRight,onRenderControls:e.onRenderControls,type:"controls"}))};fC.displayName="PageHeaderBase",fC.propTypes=pC;var dC=fC,hC={details:i.a.array,label:i.a.node,icon:i.a.element,onRenderActions:i.a.func,title:i.a.node},mC=function(e){var t;if(e.iconName)t=o.a.createElement(jn,{category:e.iconCategory,className:"slds-page-header__icon",name:e.iconName,position:e.iconPosition,size:e.iconSize,variant:e.iconVariant});else if(e.icon){var n="slds-page-header__icon";e.icon.props&&(n=l()(e.icon.props.className,n)),t=o.a.cloneElement(e.icon,{className:n})}return o.a.createElement(o.a.Fragment,null,o.a.createElement("div",{className:"slds-page-header__row"},o.a.createElement("div",{className:"slds-page-header__col-title"},o.a.createElement(pc,{body:o.a.createElement(o.a.Fragment,null,o.a.createElement("div",{className:"slds-page-header__name"},o.a.createElement(Ij,{content:e.title,label:e.label}))),figure:t})),o.a.createElement(uC,{contentRight:e.contentRight,onRenderActions:e.onRenderActions,type:"actions"})),e.details?o.a.createElement("div",{className:"slds-page-header__row slds-page-header__row_gutters"},o.a.createElement("div",{className:"slds-page-header__col-details"},o.a.createElement(Zj,{details:e.details}))):null)};mC.displayName="PageHeaderRecordHome",mC.propTypes=hC;var bC=mC,yC={label:i.a.node,icon:i.a.element,info:i.a.node,nameSwitcherDropdown:i.a.node,onRenderActions:i.a.func,onRenderControls:i.a.func,title:i.a.node,trail:i.a.array,variant:i.a.string},gC=function(e){var t;if(e.iconName)t=o.a.createElement(jn,{category:e.iconCategory,className:"slds-page-header__icon",name:e.iconName,position:e.iconPosition,size:e.iconSize,variant:e.iconVariant});else if(e.icon){var n="slds-page-header__icon";e.icon.props&&(n=l()(e.icon.props.className,n)),t=o.a.cloneElement(e.icon,{className:n})}return o.a.createElement(o.a.Fragment,null,o.a.createElement("div",{className:"slds-page-header__row"},o.a.createElement("div",{className:"slds-page-header__col-title"},o.a.createElement(pc,{body:o.a.createElement(o.a.Fragment,null,e.trail?o.a.createElement(wj,{style:{lineHeight:"1.3"},trail:e.trail}):null,o.a.createElement("div",{className:"slds-page-header__name"},o.a.createElement(Ij,{content:e.title,label:e.trail?null:e.label}),e.nameSwitcherDropdown?o.a.createElement("div",{className:"slds-page-header__name-switcher"},e.nameSwitcherDropdown):null)),figure:t})),o.a.createElement(uC,{className:l()({"slds-align-middle slds-p-bottom_none":!e.onRenderControls&&!e.navRight}),contentRight:e.contentRight,onRenderActions:e.onRenderActions,type:"actions"})),o.a.createElement("div",{className:"slds-page-header__row"},o.a.createElement("div",{className:"slds-page-header__col-meta"},o.a.createElement(_j,{content:e.info,variant:e.variant})),o.a.createElement(uC,{className:l()({"slds-align-middle":!e.onRenderActions&&!e.comntentRight}),navRight:e.navRight,onRenderControls:e.onRenderControls,type:"controls"})))};gC.displayName="PageHeaderObjectHome",gC.propTypes=yC;var vC=gC,OC={label:i.a.node,info:i.a.node,onRenderActions:i.a.func,onRenderControls:i.a.func,title:i.a.node,trail:i.a.array,variant:i.a.string},_C=function(e){return o.a.createElement(o.a.Fragment,null,o.a.createElement("div",{className:"slds-page-header__row"},o.a.createElement("div",{className:"slds-page-header__col-title"},o.a.createElement(wj,{content:e.label,trail:e.trail}),o.a.createElement(pc,{body:o.a.createElement("div",{className:"slds-page-header__name"},o.a.createElement(Ij,{content:e.title,label:e.label}))})),o.a.createElement(uC,{contentRight:e.contentRight,onRenderActions:e.onRenderActions,type:"actions"})),o.a.createElement("div",{className:"slds-page-header__row"},o.a.createElement("div",{className:"slds-page-header__col-meta"},o.a.createElement(_j,{content:e.info,variant:e.variant})),o.a.createElement(uC,{navRight:e.navRight,onRenderControls:e.onRenderControls,type:"controls"})))};_C.displayName="PageHeaderRelatedList",_C.propTypes=OC,_C.defaultProps={};var SC=_C;function xC(e){return(xC="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function wC(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function EC(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function jC(e,t){return(jC=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function CC(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=NC(e);if(t){var o=NC(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return PC(this,n)}}function PC(e,t){return!t||"object"!==xC(t)&&"function"!=typeof t?function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e):t}function NC(e){return(NC=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}var TC={className:i.a.oneOfType([i.a.array,i.a.object,i.a.string]),details:i.a.array,label:i.a.oneOfType([i.a.string,i.a.element]),icon:i.a.element,info:i.a.oneOfType([i.a.string,i.a.element]),joined:i.a.bool,nameSwitcherDropdown:i.a.node,onRenderActions:i.a.func,onRenderControls:i.a.func,title:i.a.oneOfType([i.a.string,i.a.element]),trail:i.a.array,variant:i.a.oneOf(["base","object-home","record-home","related-list"])},kC=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&jC(e,t)}(i,e);var t,n,r,a=CC(i);function i(){return wC(this,i),a.apply(this,arguments)}return t=i,(n=[{key:"componentDidMount",value:function(){yj(ae,this.props,gj)}},{key:"render",value:function(){var e,t=this.props,n=t.className,r=t.variant,a=l()("slds-page-header",{"slds-page-header_record-home":"record-home"===r||"recordHome"===r,"slds-page-header_related-list":"related-list"===r||"relatedList"===r,"slds-page-header_joined":this.props.joined},n);switch(r){case"object-home":case"objectHome":e=vC;break;case"record-home":case"recordHome":e=bC;break;case"related-list":case"relatedList":e=SC;break;default:e=dC}return o.a.createElement("div",{className:a},o.a.createElement(e,this.props))}}])&&EC(t.prototype,n),r&&EC(t,r),i}(r.Component);kC.displayName="SLDSPageHeader",kC.propTypes=TC,kC.defaultProps={variant:"base"};var RC=kC,DC={className:i.a.oneOfType([i.a.array,i.a.object,i.a.string])},IC=function(e){return o.a.createElement("div",{className:l()("slds-page-header__control",e.className)},e.children)};IC.displayName=ie,IC.propTypes=DC;var AC=IC;function LC(e){return(LC="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function BC(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function FC(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function MC(e,t){return(MC=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function qC(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=KC(e);if(t){var o=KC(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return HC(this,n)}}function HC(e,t){return!t||"object"!==LC(t)&&"function"!=typeof t?function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e):t}function KC(e){return(KC=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}var WC=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&MC(e,t)}(i,e);var t,n,r,a=qC(i);function i(){return BC(this,i),a.apply(this,arguments)}return t=i,(n=[{key:"render",value:function(){return o.a.createElement("div",{className:l()("slds-panel","slds-grid","slds-grid_vertical","slds-nowrap",{"slds-panel_filters":"filters"===this.props.variant},this.props.className)},o.a.createElement("div",{className:"slds-form_stacked slds-grow slds-scrollable_y slds-grid slds-grid_vertical"},this.props.children))}}])&&FC(t.prototype,n),r&&FC(t,r),i}(o.a.Component);WC.displayName="SLDSPanel",WC.propTypes={children:i.a.node,className:i.a.oneOfType([i.a.array,i.a.object,i.a.string]),variant:i.a.oneOf(["filters"])};var VC=WC;var UC=function(){},zC=function(e){var t=e.addFilterLabel,n=e.onClickAdd,r=e.onClickRemoveAll,a=e.removeAllLabel;return o.a.createElement("div",{className:"slds-filters__footer slds-grid slds-shrink-none"},o.a.createElement(or,{label:t,onClick:n,variant:"link"}),o.a.createElement(or,{className:"slds-col_bump-left",label:a,onClick:r,variant:"link"}))};zC.displayName="SLDSPanelFilterFooter",zC.propTypes={addFilterLabel:i.a.node.isRequired,onClickAdd:i.a.func.isRequired,onClickRemoveAll:i.a.func.isRequired,removeAllLabel:i.a.node.isRequired};var GC=zC,YC=function(e){var t=e.assistiveText,n=e.cancelLabel,r=e.heading,a=e.modified,i=e.onRequestCancel,s=e.onRequestClose,l=e.onRequestSave,c=e.saveLabel;return a?o.a.createElement("div",{className:"slds-filters__header slds-grid slds-has-divider_bottom-space slds-grid_align-spread"},o.a.createElement(or,{label:n,onClick:i,variant:"neutral"}),o.a.createElement(or,{label:c,onClick:l,variant:"brand"})):o.a.createElement("div",{className:"slds-filters__header slds-grid slds-has-divider_bottom-space"},o.a.createElement("h2",{className:"slds-align-middle slds-text-heading_small"},r),o.a.createElement(or,{className:"slds-col_bump-left",assistiveText:{icon:t.closeButton},iconCategory:"utility",iconName:"forward",iconVariant:"bare",iconSize:"small",onClick:s,title:t.closeButton,variant:"icon"}))};YC.displayName="SLDSPanelFilterHeader",YC.propTypes={assistiveText:i.a.shape({closeButton:i.a.string}),cancelLabel:i.a.string,heading:i.a.node,modified:i.a.bool,onRequestCancel:i.a.func,onRequestClose:i.a.func,onRequestSave:i.a.func,saveLabel:i.a.string};var QC=YC;function JC(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function XC(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?JC(Object(n),!0).forEach((function(t){$C(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):JC(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function $C(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var ZC={addFilterLabel:"Add Filter",cancelLabel:"Cancel",assistiveText:{closeButton:"Close Filter Panel"},heading:"Filter",saveLabel:"Save",removeAllLabel:"Remove All"},eP=function(e){UC(oe,e);var t=e.children,n=e.errorLabel,r=e.footer,a=e.header,i=e.variant,s=e.addFilterLabel,l=e.onClickAdd,c=e.onClickRemoveAll,u=e.removeAllLabel,p=e.cancelLabel,f=e.heading,d=e.modified,h=e.onRequestCancel,m=e.onRequestClose,b=e.onRequestSave,y=e.saveLabel,g=XC(XC({},ZC.assistiveText),e.assistiveText);return e.assistiveTextCloseFilterPanel&&(g.closeButton=e.assistiveTextCloseFilterPanel),o.a.createElement("div",{className:"slds-filters"},"panel"===i?o.a.createElement(QC,{assistiveText:g,cancelLabel:p,heading:f,modified:d,onRequestCancel:h,onRequestClose:m,onRequestSave:b,saveLabel:y}):a||null,o.a.createElement("div",{className:"slds-filters__body"},n?o.a.createElement("div",{className:"slds-text-color_error slds-m-bottom_x-small",role:"alert"},n):null,t),"panel"===i?o.a.createElement(GC,{addFilterLabel:s,onClickAdd:l,onClickRemoveAll:c,removeAllLabel:u}):r||null)};eP.displayName=oe,eP.propTypes={assistiveText:i.a.shape({closeButton:i.a.string}),addFilterLabel:i.a.node,cancelLabel:i.a.string,children:i.a.node,errorLabel:i.a.string,footer:i.a.node,header:i.a.node,heading:i.a.oneOfType([i.a.node,i.a.string]),modified:i.a.bool,onClickAdd:i.a.func,onClickRemoveAll:i.a.func,onRequestCancel:i.a.func,onRequestClose:i.a.func,onRequestSave:i.a.func,removeAllLabel:i.a.node,saveLabel:i.a.string,variant:i.a.oneOf(["panel"])},eP.defaultProps=ZC;var tP=eP;function nP(e){return(nP="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function rP(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function oP(e,t,n){return t&&rP(e.prototype,t),n&&rP(e,n),e}function aP(e,t){return(aP=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function iP(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=lP(e);if(t){var o=lP(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return sP(this,n)}}function sP(e,t){return!t||"object"!==nP(t)&&"function"!=typeof t?function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e):t}function lP(e){return(lP=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}var cP=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&aP(e,t)}(n,e);var t=iP(n);function n(e){var r;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,n),(r=t.call(this,e)).generatedId=u.a.generate(),r}return oP(n,null,[{key:"propTypes",value:function(){return{children:i.a.node}}}]),oP(n,[{key:"render",value:function(){var e=this,t=o.a.Children.map(this.props.children,(function(t,n){var r,a=t&&t.props.id?t.props.id:"".concat(e.generatedId,"-").concat(n);return t&&t.props.errorLabel&&(r=o.a.cloneElement(t,{isError:!0})),t?o.a.createElement("li",{className:"slds-item slds-hint-parent"},r||t,t.props.errorLabel?o.a.createElement("p",{id:"".concat(a,"-error"),className:"slds-text-color_error slds-m-top_xx-small"},t.props.errorLabel):null):null}));return o.a.createElement("ol",{className:"slds-list_vertical slds-list_vertical-space"},t)}}]),n}(o.a.Component);!function(e,t,n){t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n}(cP,"displayName","SLDSFilterList");var uP=cP,pP=function(e){var t=e.heading,n=e.isLocked,r=e.lockedHeading;return o.a.createElement("h3",{className:l()("slds-text-body_small","slds-m-vertical_x-small",{"slds-grid":n})},n?r:t,n?o.a.createElement(jn,{className:"slds-m-left_x-small",assistiveText:{label:"locked"},category:"utility",name:"lock",size:"x-small"}):null)};pP.displayName="SLDSPanelFilterListHeading",pP.propTypes={heading:i.a.oneOfType([i.a.node,i.a.string]),isLocked:i.a.bool,lockedHeading:i.a.string},pP.defaultProps={heading:"Matching all these filters",lockedHeading:"Locked filters"};var fP=pP;function dP(e){return(dP="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function hP(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function mP(e,t){return(mP=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function bP(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=vP(e);if(t){var o=vP(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return yP(this,n)}}function yP(e,t){return!t||"object"!==dP(t)&&"function"!=typeof t?gP(e):t}function gP(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function vP(e){return(vP=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function OP(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var _P={assistiveText:i.a.shape({listboxLabel:i.a.string,removePill:i.a.string}),className:i.a.oneOfType([i.a.array,i.a.object,i.a.string]),id:i.a.string,labels:i.a.shape({removePillTitle:i.a.string}),options:i.a.arrayOf(i.a.shape({avatar:i.a.oneOfType([i.a.node,i.a.shape({imgSrc:i.a.string,title:i.a.string,variant:i.a.string})]),bare:i.a.bool,error:i.a.bool,icon:i.a.oneOfType([i.a.node,i.a.shape({category:i.a.string,name:i.a.string})]),id:i.a.string,label:i.a.oneOfType([i.a.node,i.a.string]),title:i.a.string})),onClickPill:i.a.func,onRequestRemovePill:i.a.func,style:i.a.object,variant:i.a.oneOf(["base","bare"])},SP=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&mP(e,t)}(i,e);var t,n,r,a=bP(i);function i(e){var t;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,i),OP(gP(t=a.call(this,e)),"getId",(function(){return t.props.id||t.generatedId})),OP(gP(t),"getNewActiveOptionIndex",(function(e){var t=e.activeOptionIndex,n=t+e.offset;return e.options.length>n&&n>=0?n:t})),OP(gP(t),"handleBlurPill",(function(){t.preserveFocus?t.preserveFocus=!1:t.setState({listboxHasFocus:!1})})),OP(gP(t),"handleClickPill",(function(e,n){t.props.onClickPill&&t.props.onClickPill(e,{index:n.index,option:n.option})})),OP(gP(t),"handlePillFocus",(function(e,n){t.state.listboxHasFocus||t.setState({activeSelectedOption:n.option,activeSelectedOptionIndex:n.index,listboxHasFocus:!0})})),OP(gP(t),"handleNavigatePillContainer",(function(e,n){var r=n.direction,o={next:1,previous:-1};t.setState((function(e){var n,a=t.props.options,i=e.activeSelectedOptionIndex+1===a.length&&"next"===r,s=0===e.activeSelectedOptionIndex&&"previous"===r;if(i)n={activeSelectedOption:a[0],activeSelectedOptionIndex:0,listboxHasFocus:!0};else if(s)n={activeSelectedOption:a[a.length-1],activeSelectedOptionIndex:a.length-1,listboxHasFocus:!0};else{var l=t.getNewActiveOptionIndex({activeOptionIndex:e.activeSelectedOptionIndex,offset:o[r],options:a});n={activeSelectedOption:a[l],activeSelectedOptionIndex:l,listboxHasFocus:!0}}return t.preserveFocus=!0,n}))})),OP(gP(t),"handleRequestFocusPillContainer",(function(e,n){var r=n.ref;r&&(t.activeSelectedOptionRef=r,t.activeSelectedOptionRef.focus())})),OP(gP(t),"handleRequestRemove",(function(e,n){t.props.onRequestRemovePill&&(t.preserveFocus=!0,t.props.onRequestRemovePill(e,{index:n.index,option:n.option}))})),OP(gP(t),"resetActiveSelectedOption",(function(){var e=t.props.options,n=t.state.activeSelectedOptionIndex;e[n]||(n=e.length>0&&n>=e.length?e.length-1:0),t.setState({activeSelectedOption:e[n]||void 0,activeSelectedOptionIndex:n,listboxHasFocus:!!e[n]})})),t.state={activeSelectedOption:t.props.options&&t.props.options[0]||void 0,activeSelectedOptionIndex:0,listboxHasFocus:!1},t.activeSelectedOptionRef=null,t.generatedId=u.a.generate(),t.preserveFocus=!1,t}return t=i,(n=[{key:"componentDidUpdate",value:function(){(this.props.options&&this.props.options.length>0&&!this.props.options[this.state.activeSelectedOptionIndex]||this.preserveFocus)&&(this.resetActiveSelectedOption(),this.preserveFocus=!1)}},{key:"render",value:function(){return this.props.options.length>0?o.a.createElement(Cm,{activeOption:this.state.activeSelectedOption,activeOptionIndex:this.state.activeSelectedOptionIndex,assistiveText:{removePill:this.props.assistiveText.removePill,selectedListboxLabel:this.props.assistiveText.listboxLabel},className:this.props.className,events:{onBlurPill:this.handleBlurPill,onClickPill:this.handleClickPill,onPillFocus:this.handlePillFocus,onRequestFocus:this.handleRequestFocusPillContainer,onRequestFocusOnNextPill:this.handleNavigatePillContainer,onRequestFocusOnPreviousPill:this.handleNavigatePillContainer,onRequestRemove:this.handleRequestRemove},id:"".concat(this.getId(),"-listbox-of-pill-options"),isBare:"bare"===this.props.variant,isPillContainer:!0,labels:this.props.labels,listboxHasFocus:this.state.listboxHasFocus,renderAtSelectionLength:0,selection:this.props.options,style:this.props.style}):null}}])&&hP(t.prototype,n),r&&hP(t,r),i}(o.a.Component);SP.displayName="SLDSPillContainer",SP.defaultProps={assistiveText:{listboxLabel:"Selected Options:",removePill:"Press delete or backspace to remove"},labels:{removePillTitle:"Remove"}},SP.propTypes=_P;var xP=SP;function wP(e){return(wP="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function EP(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function jP(e,t){return(jP=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function CP(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=NP(e);if(t){var o=NP(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return PP(this,n)}}function PP(e,t){return!t||"object"!==wP(t)&&"function"!=typeof t?function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e):t}function NP(e){return(NP=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}var TP={assistiveText:i.a.shape({progress:i.a.string}),id:i.a.string,className:i.a.oneOfType([i.a.array,i.a.object,i.a.string]),labels:i.a.shape({label:i.a.oneOfType([i.a.string,i.a.node]),complete:i.a.oneOfType([i.a.string,i.a.node])}),radius:i.a.oneOf(["circular"]),color:i.a.oneOf(["success"]),thickness:i.a.oneOf(["x-small","small","medium","large"]),value:i.a.number.isRequired,orientation:i.a.oneOf(["horizontal","vertical"]),style:i.a.object},kP={assistiveText:{progress:"Progress"},labels:{complete:"Complete"},orientation:"horizontal",style:{height:"100%"}},RP=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&jP(e,t)}(i,e);var t,n,r,a=CP(i);function i(e){var t;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,i),(t=a.call(this,e)).generatedId=u.a.generate(),t}return t=i,(n=[{key:"getId",value:function(){return this.props.id||this.generatedId}},{key:"getDescription",value:function(e){var t=e.labels;return t.label?o.a.createElement("div",{className:"slds-grid slds-grid_align-spread slds-p-bottom_x-small",id:"progress-bar-label-".concat(this.getId())},o.a.createElement("span",null,t.label),o.a.createElement("span",null,o.a.createElement("strong",null,this.props.value,"% ",t.complete))):""}},{key:"render",value:function(){var e=cr()({},kP.labels,this.props.labels),t=cr()({},kP.assistiveText,this.props.assistiveText),n=cr()({},kP.style,this.props.style);return o.a.createElement("div",{id:this.getId(),style:n},"horizontal"===this.props.orientation&&this.getDescription({labels:e}),o.a.createElement("div",{"aria-labelledby":"horizontal"===this.props.orientation&&e.label?"progress-bar-label-".concat(this.getId()):void 0,"aria-valuemin":"0","aria-valuemax":"100","aria-valuenow":this.props.value,"aria-valuetext":"".concat(t.progress,": ").concat(this.props.value,"%"),role:"progressbar",className:l()("slds-progress-bar",this.props.radius?"slds-progress-bar_".concat(this.props.radius):null,this.props.thickness?"slds-progress-bar_".concat(this.props.thickness):null,this.props.className,{"slds-progress-bar_vertical":"vertical"===this.props.orientation})},o.a.createElement("span",{className:l()("slds-progress-bar__value",this.props.color?"slds-progress-bar__value_".concat(this.props.color):null),style:"vertical"===this.props.orientation?{height:"".concat(this.props.value,"%")}:{width:"".concat(this.props.value,"%")}},o.a.createElement("span",{className:"slds-assistive-text"},"".concat(t.progress,": "),"".concat(this.props.value,"%")))))}}])&&EP(t.prototype,n),r&&EP(t,r),i}(o.a.Component);RP.displayName="SLDSProgressBar",RP.propTypes=TP,RP.defaultProps=kP;var DP=RP;function IP(e){return(IP="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function AP(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function LP(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function BP(e,t){return(BP=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function FP(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=qP(e);if(t){var o=qP(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return MP(this,n)}}function MP(e,t){return!t||"object"!==IP(t)&&"function"!=typeof t?function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e):t}function qP(e){return(qP=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}var HP={assistiveText:i.a.shape({completedStep:i.a.string,disabledStep:i.a.string,percentage:i.a.string,step:i.a.string}),id:i.a.oneOfType([i.a.number,i.a.string]),index:i.a.number,isCompleted:i.a.bool,isDisabled:i.a.bool,isError:i.a.bool,isSelected:i.a.bool,label:i.a.node,onClick:i.a.func,onFocus:i.a.func,step:i.a.object,tooltipIsOpen:i.a.bool,tooltipPosition:i.a.oneOf(["absolute","overflowBoundaryElement","relative"])},KP=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&BP(e,t)}(i,e);var t,n,r,a=FP(i);function i(){return AP(this,i),a.apply(this,arguments)}return t=i,(n=[{key:"buttonIcon",value:function(e,t,n){var r={isSelected:n.isSelected,isError:n.isError,isCompleted:n.isCompleted,isDisabled:n.isDisabled,step:n.step},a=e?o.a.createElement(mt,{category:"utility",name:this.props.isError?"error":"success"}):null;return n.isDisabled?o.a.createElement("a",{className:l()("slds-button",{"slds-button_icon":e},"slds-progress__marker",{"slds-progress__marker_icon":e},"slds-is-disabled"),"aria-disabled":!0,"aria-describedby":"progress-indicator-tooltip-".concat(this.props.step.id||this.props.index),style:{cursor:"not-allowed"},tabIndex:0,role:"button"},a,o.a.createElement("span",{className:"slds-assistive-text"},this.props.step.assistiveText||o.a.createElement(o.a.Fragment,null,"".concat(n.assistiveText.step," ").concat(n.index+1,": "),n.step.label,"- ".concat(t)))):o.a.createElement("button",{className:l()("slds-button",{"slds-button_icon":e},"slds-progress__marker",{"slds-progress__marker_icon":e}),onClick:function(e){return n.onClick(e,r)},onFocus:function(e){return n.onFocus(e,r)},"aria-describedby":"progress-indicator-tooltip-".concat(this.props.step.id||this.props.index),"aria-current":this.props.isSelected?"step":null,type:"button"},a,o.a.createElement("span",{className:"slds-assistive-text"},this.props.step.assistiveText||o.a.createElement(o.a.Fragment,null,"".concat(n.assistiveText.step," ").concat(n.index+1,": "),n.step.label,t?" - ".concat(t):"")))}},{key:"render",value:function(){var e=this.props.isCompleted||this.props.isError,t="";this.props.isError?t=this.props.assistiveText.errorStep:this.props.isCompleted?t=this.props.assistiveText.completedStep:this.props.isDisabled&&(t=this.props.assistiveText.disabledStep);var n={align:"top",id:"progress-indicator-tooltip-".concat(this.props.step.id||this.props.index),content:this.props.step.label,theme:"info",position:this.props.tooltipPosition,triggerStyle:{display:e?"":"flex"}};return this.props.tooltipIsOpen&&(n.isOpen=!0),o.a.createElement("li",{className:l()("slds-progress__item",{"slds-is-completed":this.props.isCompleted,"slds-is-active":this.props.isSelected&&!this.props.isError,"slds-has-error":this.props.isError})},o.a.createElement(Hn,n,this.buttonIcon(e,t,this.props)))}}])&&LP(t.prototype,n),r&&LP(t,r),i}(o.a.Component);KP.propTypes=HP,KP.displayName="SLDSProgressIndicatorStep";var WP=KP;function VP(e){return(VP="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function UP(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function zP(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function GP(e,t){return(GP=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function YP(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=JP(e);if(t){var o=JP(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return QP(this,n)}}function QP(e,t){return!t||"object"!==VP(t)&&"function"!=typeof t?function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e):t}function JP(e){return(JP=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}var XP={assistiveText:i.a.shape({percentage:i.a.string}),value:i.a.string.isRequired},$P=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&GP(e,t)}(i,e);var t,n,r,a=YP(i);function i(){return UP(this,i),a.apply(this,arguments)}return t=i,(n=[{key:"render",value:function(){return o.a.createElement("div",{className:l()("slds-progress-bar slds-progress-bar_x-small",{"slds-progress-bar_vertical":"vertical"===this.props.orientation}),"aria-valuemin":"0","aria-valuemax":"100","aria-valuenow":this.props.value,role:"progressbar"},o.a.createElement("span",{className:"slds-progress-bar__value",style:"vertical"===this.props.orientation?{height:"".concat(this.props.value,"%")}:{width:"".concat(this.props.value,"%")}},o.a.createElement("span",{className:"slds-assistive-text"},this.props.assistiveText.percentage||"Progress: ".concat(this.props.value,"%"))))}}])&&zP(t.prototype,n),r&&zP(t,r),i}(o.a.Component);$P.displayName="ProgressBar",$P.propTypes=XP;var ZP=$P;function eN(e){return(eN="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function tN(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function nN(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function rN(e,t){return(rN=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function oN(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=iN(e);if(t){var o=iN(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return aN(this,n)}}function aN(e,t){return!t||"object"!==eN(t)&&"function"!=typeof t?function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e):t}function iN(e){return(iN=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}var sN={assistiveText:i.a.shape({percentage:i.a.string}),children:i.a.node,className:i.a.oneOfType([i.a.array,i.a.object,i.a.string]),id:i.a.string.isRequired,orientation:i.a.oneOf(["horizontal","vertical"]),value:i.a.string.isRequired,variant:i.a.oneOf(["base","modal","setup-assistant"])},lN=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&rN(e,t)}(i,e);var t,n,r,a=oN(i);function i(){return tN(this,i),a.apply(this,arguments)}return t=i,(n=[{key:"getId",value:function(){return this.props.id}},{key:"render",value:function(){return o.a.createElement("div",{id:this.getId(),className:l()("slds-progress",{"slds-progress_shade":"modal"===this.props.variant},{"slds-progress_vertical":"vertical"===this.props.orientation},{"slds-progress_success":"setup-assistant"===this.props.variant},this.props.className)},o.a.createElement("ol",{className:l()("slds-progress__list",{"slds-progress__list-bordered":"setup-assistant"===this.props.variant})},this.props.children),"vertical"!==this.props.orientation&&o.a.createElement(ZP,{value:this.props.value,orientation:this.props.orientation,assistiveText:this.props.assistiveText}))}}])&&nN(t.prototype,n),r&&nN(t,r),i}(o.a.Component);lN.propTypes=sN,lN.displayName="SLDSProgressIndicatorProgress";var cN=lN;function uN(e){return(uN="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function pN(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function fN(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function dN(e,t){return(dN=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function hN(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=yN(e);if(t){var o=yN(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return mN(this,n)}}function mN(e,t){return!t||"object"!==uN(t)&&"function"!=typeof t?bN(e):t}function bN(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function yN(e){return(yN=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function gN(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var vN={index:i.a.number,isCompleted:i.a.bool,isError:i.a.bool,isSelected:i.a.bool,onClick:i.a.func,step:i.a.object,variant:i.a.string},ON=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&dN(e,t)}(i,e);var t,n,r,a=hN(i);function i(){var e;pN(this,i);for(var t=arguments.length,n=new Array(t),r=0;r<t;r++)n[r]=arguments[r];return gN(bN(e=a.call.apply(a,[this].concat(n))),"stepIcon",(function(t){var n={isSelected:e.props.isSelected,isError:e.props.isError,isCompleted:e.props.isCompleted,step:e.props.step},r=t?o.a.createElement(jn,{category:"utility",size:"x-small",name:e.props.isError?"error":"success"}):null;return e.props.onClick?o.a.createElement("button",{className:l()("slds-button slds-progress__marker",{"slds-progress__marker_icon":t,"slds-progress__marker_icon-success":"setup-assistant"===e.props.variant&&t&&!e.props.isError}),type:"button",onClick:function(t){return e.props.onClick(t,n)}},r):o.a.createElement("span",{className:l()("slds-progress__marker",{"slds-progress__marker_icon":t,"slds-progress__marker_icon-success":"setup-assistant"===e.props.variant&&t&&!e.props.isError})},r)})),gN(bN(e),"renderStepContent",(function(){return e.props.step.onRenderSetupAssistantAction||e.props.step.setupAssistantEstimatedTime?o.a.createElement("div",{id:"progress-indicator-vertical-label-".concat(e.props.step.id||e.props.index),className:"slds-progress__item_content slds-grid slds-grid_align-spread"},o.a.createElement("div",{className:"slds-size_3-of-4"},e.props.step.label),o.a.createElement("div",{className:"slds-grid slds-grid_align-end slds-size_1-of-4"},o.a.createElement("div",{className:"slds-media__figure slds-media__figure_reverse"},e.props.step.onRenderSetupAssistantAction,e.props.step.setupAssistantEstimatedTime&&o.a.createElement("p",{className:"slds-text-align_right slds-text-color_weak slds-p-top_medium"},e.props.step.setupAssistantEstimatedTime)))):o.a.createElement("div",{id:"progress-indicator-vertical-label-".concat(e.props.step.id||e.props.index),className:"slds-progress__item_content slds-grid slds-grid_align-spread"},e.props.step.label)})),e}return t=i,(n=[{key:"render",value:function(){var e=this.props.isCompleted||this.props.isError;return o.a.createElement("li",{className:l()("slds-progress__item",{"slds-is-completed":this.props.isCompleted,"slds-is-active":this.props.isSelected&&!this.props.isError,"slds-has-error":this.props.isError})},this.stepIcon(e),this.renderStepContent())}}])&&fN(t.prototype,n),r&&fN(t,r),i}(o.a.Component);ON.propTypes=vN,ON.displayName="SLDSProgressIndicatorStepVertical";var _N=ON;function SN(e){return(SN="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function xN(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function wN(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?xN(Object(n),!0).forEach((function(t){EN(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):xN(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function EN(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function jN(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function CN(e,t){return(CN=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function PN(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=TN(e);if(t){var o=TN(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return NN(this,n)}}function NN(e,t){return!t||"object"!==SN(t)&&"function"!=typeof t?function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e):t}function TN(e){return(TN=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}var kN={assistiveText:i.a.shape({completedStep:i.a.string,disabledStep:i.a.string,percentage:i.a.string,step:i.a.string}),className:i.a.oneOfType([i.a.array,i.a.object,i.a.string]),completedSteps:i.a.array,disabledSteps:i.a.array,errorSteps:i.a.array,id:i.a.string,orientation:i.a.oneOf(["horizontal","vertical"]),onStepClick:i.a.func,onStepFocus:i.a.func,selectedStep:i.a.object.isRequired,steps:i.a.array.isRequired,tooltipIsOpenSteps:i.a.array,variant:i.a.oneOf(["base","modal","setup-assistant"]),tooltipPosition:i.a.oneOf(["absolute","overflowBoundaryElement","relative"])},RN=[{id:0,label:"tooltip label #1"},{id:1,label:"tooltip label #2"},{id:2,label:"tooltip label #3"},{id:3,label:"tooltip label #4"},{id:4,label:"tooltip label #5"}],DN={assistiveText:{completedStep:"Completed",disabledStep:"Disabled",errorStep:"Error",step:"Step"},errorSteps:[],completedSteps:[],disabledSteps:[],orientation:"horizontal",selectedStep:RN[0],variant:"base",onStepClick:function(){},onStepFocus:function(){}};function IN(e,t){if(!e||!t)return!1;var n=Array.isArray(t)?t:[t];return!!Ah()(n,(function(t){return t===e||(void 0!==t.id&&void 0!==e.id?t.id===e.id:JSON.stringify(t)===JSON.stringify(e))}))}var AN=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&CN(e,t)}(i,e);var t,n,r,a=PN(i);function i(e){var t;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,i),(t=a.call(this,e)).generatedId=u.a.generate(),t}return t=i,(n=[{key:"componentWillUnmount",value:function(){this.isUnmounting=!0}},{key:"getId",value:function(){return this.props.id||this.generatedId}},{key:"getSteps",value:function(){return e=this.props.steps,t=void 0!==e,n=Array.isArray(e)&&e.every((function(e){return void 0!==e.label})),t&&n?this.props.steps:RN;var e,t,n}},{key:"render",value:function(){for(var e=this,t=wN(wN({},DN.assistiveText),this.props.assistiveText),n=this.props,r=n.selectedStep,a=n.disabledSteps,i=n.errorSteps,s=n.completedSteps,l=this.getSteps(),c=0,u=0;u<l.length;u+=1)void 0===l[u].id&&(l[u].id=u),IN(l[u],this.props.selectedStep)&&(c=u);var p="setup-assistant"===this.props.variant?"vertical":this.props.orientation,f=this.props.tooltipPosition||("modal"===this.props.variant?"absolute":"overflowBoundaryElement"),d="vertical"===p?_N:WP;return o.a.createElement(cN,{assistiveText:t,id:this.getId(),orientation:p,value:0===c?"0":"".concat(c/(l.length-1)*100),variant:this.props.variant,className:this.props.className},l.map((function(n,l){return o.a.createElement(d,{assistiveText:t,key:"".concat(e.getId(),"-").concat(n.id),id:e.getId(),index:l,isSelected:IN(n,r),isDisabled:IN(n,a),isError:IN(n,i),isCompleted:IN(n,s),onClick:e.props.onStepClick,onFocus:e.props.onStepFocus,step:n,tooltipIsOpen:IN(n,e.props.tooltipIsOpenSteps),tooltipPosition:f,variant:e.props.variant})})))}}])&&jN(t.prototype,n),r&&jN(t,r),i}(o.a.Component);AN.displayName="SLDSProgressIndicator",AN.propTypes=kN,AN.defaultProps=DN;var LN=AN,BN={id:i.a.string,className:i.a.oneOfType([i.a.array,i.a.object,i.a.string]),fillPercentDecimal:i.a.number,flowDirection:i.a.oneOf(["drain","fill"]),size:i.a.oneOf(["medium","large"])},FN=function(e){var t,n,r,a,i={height:"large"===e.size?"2rem":"1.5rem"};return"fill"===e.flowDirection&&(i.transform="scaleX(1) rotate(-90deg)"),o.a.createElement("div",{id:e.id,className:l()("slds-progress-ring",e.className)},o.a.createElement("div",{"aria-valuemin":"0","aria-valuemax":"100","aria-valuenow":100*e.fillPercentDecimal,className:"slds-progress-ring__progress",role:"progressbar",style:i},o.a.createElement("svg",{viewBox:"-1 -1 2 2"},o.a.createElement("path",{className:"slds-progress-ring__path",d:(a=e.fillPercentDecimal,t=a>.5?1:0,n=Math.cos(2*Math.PI*a),r=Math.sin(2*Math.PI*a),"M 1 0 A 1 1 0 ".concat(t," 1 ").concat(n," ").concat(r," L 0 0"))}))),o.a.createElement("div",{className:"slds-progress-ring__content"},e.children))};FN.displayName="SLDSProgressRingShape",FN.propTypes=BN,FN.defaultProps={fillPercentDecimal:0};var MN,qN=FN;function HN(e){return(HN="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function KN(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function WN(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function VN(e,t){return(VN=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function UN(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=GN(e);if(t){var o=GN(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return zN(this,n)}}function zN(e,t){return!t||"object"!==HN(t)&&"function"!=typeof t?function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e):t}function GN(e){return(GN=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function YN(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var QN=Object.freeze({ACTIVE:"active",WARNING:"warning",EXPIRED:"expired",COMPLETE:"complete"}),JN=(YN(MN={},QN.ACTIVE,"slds-progress-ring_active-step"),YN(MN,QN.WARNING,"slds-progress-ring_warning"),YN(MN,QN.EXPIRED,"slds-progress-ring_expired"),YN(MN,QN.COMPLETE,"slds-progress-ring_complete"),MN),XN={id:i.a.string,className:i.a.oneOfType([i.a.array,i.a.object,i.a.string]),theme:i.a.oneOf(["active","warning","expired","complete"]),icon:i.a.node,hasIcon:i.a.bool,value:i.a.number.isRequired,flowDirection:i.a.oneOf(["drain","fill"]),size:i.a.oneOf(["medium","large"])},$N=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&VN(e,t)}(i,e);var t,n,r,a=UN(i);function i(){return KN(this,i),a.apply(this,arguments)}return t=i,(n=[{key:"icon",value:function(){var e="";return this.props.hasIcon&&(this.props.icon?e=this.props.icon:this.props.theme===QN.WARNING?e=o.a.createElement(jn,{category:"utility",name:"warning",title:"Warning"}):this.props.theme===QN.EXPIRED?e=o.a.createElement(jn,{category:"utility",name:"error",title:"Expired"}):this.props.theme===QN.COMPLETE&&(e=o.a.createElement(jn,{category:"utility",name:"check",title:"Complete"}))),e}},{key:"percentDecimal",value:function(){return this.props.value/100}},{key:"themeClass",value:function(){return JN[this.props.theme]||""}},{key:"render",value:function(){return o.a.createElement(qN,{id:this.props.id,size:this.props.size,className:l()(this.props.className,this.themeClass(),{"slds-progress-ring_large":"large"===this.props.size}),fillPercentDecimal:this.percentDecimal(),flowDirection:this.props.flowDirection},this.icon())}}])&&WN(t.prototype,n),r&&WN(t,r),i}(o.a.Component);$N.displayName="SLDSProgressRing",$N.propTypes=XN,$N.defaultProps={flowDirection:"drain",size:"medium"};var ZN=$N,eT=n(54);var tT=function(){};function nT(e){return(nT="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function rT(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function oT(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?rT(Object(n),!0).forEach((function(t){aT(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):rT(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function aT(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function iT(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function sT(e,t){return(sT=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function lT(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=uT(e);if(t){var o=uT(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return cT(this,n)}}function cT(e,t){return!t||"object"!==nT(t)&&"function"!=typeof t?function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e):t}function uT(e){return(uT=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}var pT={assistiveText:i.a.shape({icon:i.a.string}),className:i.a.oneOfType([i.a.array,i.a.object,i.a.string]),icon:i.a.node,theme:i.a.oneOf(["dark","light"])},fT=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&sT(e,t)}(i,e);var t,n,r,a=lT(i);function i(e){var t;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,i),t=a.call(this,e),tT(pe,e,eT),t}return t=i,(n=[{key:"render",value:function(){var e;if(this.props.icon){var t={};this.props.assistiveText&&this.props.assistiveText.icon&&(t.label=this.props.assistiveText.icon),this.props.icon.props.assistiveText&&(t=oT(oT({},t),this.props.icon.props.assistiveText)),e=o.a.cloneElement(this.props.icon,oT(oT({},this.props.icon.props),{},{assistiveText:t}))}else e=o.a.createElement(jn,{assistiveText:{label:this.props.assistiveText&&this.props.assistiveText.icon||"Info"},category:"utility",name:this.props.iconName||"info",colorVariant:"dark"===this.props.theme?"base":void 0,size:"small"});return o.a.createElement("div",{className:l()("slds-scoped-notification","slds-media","slds-media_center",{"slds-scoped-notification_light":"light"===this.props.theme,"slds-scoped-notification_dark":"dark"===this.props.theme},this.props.className),role:"status"},o.a.createElement("div",{className:"slds-media__figure"},e),o.a.createElement("div",{className:"slds-media__body"},this.props.children))}}])&&iT(t.prototype,n),r&&iT(t,r),i}(o.a.Component);fT.displayName=pe,fT.propTypes=pT,fT.defaultProps={};var dT=fT;var hT=function(){},mT=n(17);function bT(e){return(bT="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function yT(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function gT(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function vT(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function OT(e,t){return(OT=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function _T(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=xT(e);if(t){var o=xT(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return ST(this,n)}}function ST(e,t){return!t||"object"!==bT(t)&&"function"!=typeof t?function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e):t}function xT(e){return(xT=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}var wT={children:i.a.node,className:i.a.oneOfType([i.a.array,i.a.object,i.a.string]),id:i.a.string,isCard:i.a.bool,onStepToggleIsOpen:i.a.func,progressBar:i.a.node},ET=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&OT(e,t)}(i,e);var t,n,r,a=_T(i);function i(e){var t;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,i),(t=a.call(this,e)).generatedId=u.a.generate(),t}return t=i,(n=[{key:"componentDidMount",value:function(){hT(ce,this.props,mT)}},{key:"componentDidUpdate",value:function(){hT(ce,this.props,mT)}},{key:"getId",value:function(){return this.props.id||this.generatedId}},{key:"render",value:function(){var e=this,t=o.a.createElement("ol",{id:this.getId(),className:l()("slds-setup-assistant",this.props.className)},o.a.Children.map(this.props.children,(function(t,n){return t.type.displayName!==ue?null:o.a.cloneElement(t,function(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?yT(Object(n),!0).forEach((function(t){gT(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):yT(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}({index:n,onToggleIsOpen:e.props.onStepToggleIsOpen,stepNumber:n+1},t.props))})));return this.props.isCard?o.a.createElement("section",{className:"slds-card"},o.a.createElement("header",{className:"slds-theme_shade slds-p-around_medium slds-m-bottom_small"},this.props.progressBar),t):o.a.createElement(o.a.Fragment,null,t)}}])&&vT(t.prototype,n),r&&vT(t,r),i}(o.a.Component);ET.displayName=ce,ET.propTypes=wT,ET.defaultProps={isCard:!1};var jT=ET;function CT(e){return(CT="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function PT(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function NT(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?PT(Object(n),!0).forEach((function(t){LT(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):PT(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function TT(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function kT(e,t){return(kT=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function RT(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=AT(e);if(t){var o=AT(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return DT(this,n)}}function DT(e,t){return!t||"object"!==CT(t)&&"function"!=typeof t?IT(e):t}function IT(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function AT(e){return(AT=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function LT(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var BT={assistiveText:i.a.shape({expandStep:i.a.string}),className:i.a.oneOfType([i.a.array,i.a.object,i.a.string]),description:i.a.oneOfType([i.a.string,i.a.node]),estimatedTime:i.a.oneOfType([i.a.string,i.a.node]),heading:i.a.oneOfType([i.a.string,i.a.node]),id:i.a.string,index:i.a.number,isExpandable:i.a.bool,isOpen:i.a.bool,onRenderAction:i.a.func,onRenderContent:i.a.func,onRenderFigure:i.a.func,onToggleIsOpen:i.a.func,progress:i.a.number,stepNumber:i.a.number},FT={assistiveText:{expandStep:"Expand Step"}},MT=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&kT(e,t)}(i,e);var t,n,r,a=RT(i);function i(e){var t;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,i),LT(IT(t=a.call(this,e)),"toggleIsOpen",(function(e){t.props.onToggleIsOpen?t.props.onToggleIsOpen(e,{index:t.props.index,isOpen:t.getIsOpen(),step:t.props}):t.setState({isOpen:!t.getIsOpen()})})),t.generatedId=u.a.generate(),t.state={isOpen:e.isOpen||!1},hT(ue,t.props,mT),t}return t=i,(n=[{key:"getId",value:function(){return this.props.id||this.generatedId}},{key:"getIsOpen",value:function(){return void 0!==this.props.isOpen?this.props.isOpen:this.state.isOpen}},{key:"renderMediaContent",value:function(){return o.a.createElement(o.a.Fragment,null,o.a.createElement("div",{className:"slds-setup-assistant__step-summary-content slds-media__body"},o.a.createElement("h3",{className:"slds-setup-assistant__step-summary-title slds-text-heading_small"},this.props.isExpandable?o.a.createElement(or,{"aria-controls":"".concat(this.getId(),"-detail-content"),className:"slds-button_reset",label:this.props.heading,onClick:this.toggleIsOpen,variant:"base"}):this.props.heading),o.a.createElement("p",null,this.props.description)),o.a.createElement("div",{className:"slds-media__figure slds-media__figure_reverse"},this.props.onRenderAction?this.props.onRenderAction():null,this.props.estimatedTime?o.a.createElement("p",{className:l()("slds-text-align_right","slds-text-color_weak",{"slds-p-top_medium":void 0!==this.props.onRenderAction})},this.props.estimatedTime):null))}},{key:"renderSummary",value:function(){var e,t;if(this.props.progress>0&&this.props.progress<100?t="active":100===this.props.progress&&(t="complete"),this.props.onRenderFigure){if((e=this.props.onRenderFigure())&&e.type&&e.type.displayName===X){var n={position:"relative",top:this.props.isExpandable?"5px":"-3px"};e.props.containerStyle&&(n=NT(NT({},n),e.props.containerStyle)),e=o.a.cloneElement(e,NT(NT({},e.props),{},{containerStyle:n,size:"small"})),e=o.a.createElement("div",{className:"slds-media__figure"},e)}}else void 0!==this.props.progress&&(e=o.a.createElement("div",{className:"slds-media__figure"},o.a.createElement(ZN,{hasIcon:!0,icon:100===this.props.progress?null:this.props.stepNumber,flowDirection:"fill",size:"large",theme:t,value:this.props.progress})));return o.a.createElement("div",{className:"slds-setup-assistant__step-summary"},o.a.createElement("div",{className:"slds-media"},e,this.props.isExpandable||void 0!==this.props.progress?o.a.createElement("div",{className:"slds-media__body slds-m-top_x-small"},o.a.createElement("div",{className:"slds-media"},this.renderMediaContent())):this.renderMediaContent()))}},{key:"render",value:function(){var e=cr()({},FT.assistiveText,this.props.assistiveText);return o.a.createElement("li",{className:l()("slds-setup-assistant__item",this.props.className),id:this.getId()},o.a.createElement("article",{className:"slds-setup-assistant__step"},this.props.isExpandable?o.a.createElement("div",{className:l()("slds-summary-detail",{"slds-is-open":this.getIsOpen()})},o.a.createElement(or,{assistiveText:{icon:e.expandStep},"aria-controls":"".concat(this.getId(),"-detail-content"),className:"slds-m-right_x-small slds-m-top_x-small",iconCategory:"utility",iconClassName:"slds-summary-detail__action-icon",iconName:"switch",onClick:this.toggleIsOpen,variant:"icon"}),o.a.createElement("div",{className:"slds-container_fluid"},o.a.createElement("div",{className:"slds-summary-detail__title"},this.renderSummary()),o.a.createElement("div",{className:"slds-summary-detail__content",id:"".concat(this.getId(),"-detail-content")},o.a.createElement("div",{className:"slds-setup-assistant__step-detail"},this.props.onRenderContent?this.props.onRenderContent():null)))):this.renderSummary()))}}])&&TT(t.prototype,n),r&&TT(t,r),i}(o.a.Component);MT.displayName=ue,MT.propTypes=BT,MT.defaultProps=FT;var qT=MT;function HT(e){return(HT="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function KT(){return(KT=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}function WT(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function VT(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?WT(Object(n),!0).forEach((function(t){XT(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):WT(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function UT(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function zT(e,t){return(zT=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function GT(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=JT(e);if(t){var o=JT(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return YT(this,n)}}function YT(e,t){return!t||"object"!==HT(t)&&"function"!=typeof t?QT(e):t}function QT(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function JT(e){return(JT=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function XT(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var $T={"aria-describedby":i.a.string,assistiveText:i.a.shape({disabled:i.a.string,label:i.a.string}),classNameContainer:i.a.oneOfType([i.a.array,i.a.object,i.a.string]),defaultValue:i.a.number,disabled:i.a.bool,errorText:i.a.string,id:i.a.string,label:i.a.string,max:i.a.number,min:i.a.number,name:i.a.string,onChange:i.a.func,onInput:i.a.func,size:i.a.oneOf(["x-small","small","medium","large"]),step:i.a.number,value:i.a.number,vertical:i.a.bool},ZT={assistiveText:{disabled:"Disabled"},min:0,max:100,step:1},ek=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&zT(e,t)}(i,e);var t,n,r,a=GT(i);function i(e){var t;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,i),XT(QT(t=a.call(this,e)),"handleChange",(function(e){Ir()(t.props.onChange)&&t.props.onChange(e,{value:Number(e.target.value)})})),XT(QT(t),"handleInput",(function(e){Ir()(t.props.onInput)&&t.props.onInput(e,{value:Number(e.target.value)})})),t.generatedId=u.a.generate(),t.props.errorText&&(t.generatedErrorId=u.a.generate()),t}return t=i,(n=[{key:"getId",value:function(){return this.props.id||this.generatedId}},{key:"getErrorId",value:function(){return this.props["aria-describedby"]||this.generatedErrorId}},{key:"render",value:function(){var e=Kn(this.props);e["aria-describedby"]=this.getErrorId();var t=VT(VT({},ZT.assistiveText),this.props.assistiveText),n=this.props.label||this.props.assistiveText&&this.props.assistiveText.label;return o.a.createElement("div",{className:l()("slds-form-element",{"slds-has-error":this.props.errorText},this.props.classNameContainer)},o.a.createElement("label",{className:l()("slds-form-element__label",{"slds-assistive-text":this.props.assistiveText&&!this.props.label}),htmlFor:this.getId()},o.a.createElement("span",{className:"slds-slider-label"},n?o.a.createElement("span",{className:"slds-slider-label__label"},n):null,o.a.createElement("span",{className:"slds-slider-label__range"},this.props.min," - ",this.props.max),this.props.disabled?o.a.createElement("span",{className:"slds-assistive-text"}," ",t.disabled):null)),o.a.createElement("div",{className:"slds-form-element__control"},o.a.createElement("div",{className:l()("slds-slider",{"slds-slider_vertical":this.props.vertical,"slds-size_x-small":"x-small"===this.props.size,"slds-size_small":"small"===this.props.size,"slds-size_medium":"medium"===this.props.size,"slds-size_large":"large"===this.props.size})},o.a.createElement("input",KT({type:"range",id:this.getId(),name:this.props.name,className:"slds-slider__range",min:this.props.min,max:this.props.max,step:this.props.step,disabled:this.props.disabled,onChange:this.handleChange,onInput:this.handleInput},e,void 0!==this.props.value?{value:this.props.value}:{defaultValue:this.props.defaultValue})),o.a.createElement("span",{className:"slds-slider__value","aria-hidden":"true"},this.props.value||this.props.defaultValue||"0")),this.props.errorText?o.a.createElement("div",{id:this.getErrorId(),className:"slds-form-element__help"},this.props.errorText):null))}}])&&UT(t.prototype,n),r&&UT(t,r),i}(o.a.Component);XT(ek,"displayName","SLDSSlider"),XT(ek,"propTypes",$T),XT(ek,"defaultProps",ZT);var tk=ek,nk={assistiveText:i.a.shape({toggleButtonOpen:i.a.string.isRequired,toggleButtonClose:i.a.string.isRequired}),ariaControls:i.a.string.isRequired,isOpen:i.a.bool.isRequired,events:i.a.shape({onClick:i.a.func.isRequired})},rk=function(e){var t=e.isOpen,n=e.assistiveText,r=e.ariaControls,a=e.events,i=t?n.toggleButtonOpen:n.toggleButtonClose;return o.a.createElement(or,{className:l()("slds-button slds-button_icon slds-split-view__toggle-button",{"slds-is-open":t}),"aria-expanded":t,"aria-controls":r,title:i,variant:"base",iconName:"left",iconCategory:"utility",iconSize:"x-small",onClick:a.onClick,assistiveText:{icon:i}})};rk.displayName="SLDSSplitViewToggleButton",rk.propTypes=nk,rk.defaultProps={};var ok=rk;function ak(e){return(ak="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function ik(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function sk(e,t){return(sk=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function lk(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=uk(e);if(t){var o=uk(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return ck(this,n)}}function ck(e,t){return!t||"object"!==ak(t)&&"function"!=typeof t?function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e):t}function uk(e){return(uk=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function pk(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var fk={assistiveText:i.a.shape({toggleButtonOpen:i.a.string,toggleButtonClose:i.a.string}),id:i.a.string,className:i.a.oneOfType([i.a.array,i.a.object,i.a.string]),isOpen:i.a.bool,events:i.a.shape({onClose:i.a.func,onOpen:i.a.func}),master:i.a.oneOfType([i.a.arrayOf(i.a.element),i.a.element]).isRequired,masterWidth:i.a.string,detail:i.a.oneOfType([i.a.arrayOf(i.a.element),i.a.element]).isRequired},dk=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&sk(e,t)}(i,e);var t,n,r,a=lk(i);function i(e){var t;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,i),(t=a.call(this,e)).state={isOpen:"boolean"!=typeof e.isOpen||e.isOpen},t.generatedId=u.a.generate(),t}return t=i,(n=[{key:"getId",value:function(){return this.props.id||this.generatedId}},{key:"getIsOpen",value:function(){return"boolean"==typeof this.props.isOpen?this.props.isOpen:this.state.isOpen}},{key:"getMasterViewId",value:function(){return"master_view_".concat(this.getId())}},{key:"toggle",value:function(e){"boolean"!=typeof this.props.isOpen&&this.setState((function(e){return{isOpen:!e.isOpen}}));var t=this.getIsOpen();t&&this.props.events.onClose?this.props.events.onClose(e):!t&&this.props.events.onOpen&&this.props.events.onOpen(e)}},{key:"render",value:function(){var e=this;return o.a.createElement("div",{id:this.getId(),className:l()("slds-grid",this.props.className),style:{height:"100%"}},o.a.createElement("div",{style:{maxWidth:this.getIsOpen()?this.props.masterWidth:"0",minWidth:this.getIsOpen()?this.props.masterWidth:"0"},className:l()("slds-split-view_container",{"slds-is-open":this.getIsOpen()},{"slds-is-closed":!this.getIsOpen()})},o.a.createElement(ok,{assistiveText:this.props.assistiveText,ariaControls:this.getMasterViewId(),isOpen:this.getIsOpen(),events:{onClick:function(t){return e.toggle(t)}}}),o.a.createElement("article",{id:this.getMasterViewId(),className:"slds-split-view slds-grid slds-grid_vertical slds-grow slds-scrollable_none"},this.getIsOpen()?this.props.master:null)),o.a.createElement("div",{style:{marginLeft:"0.75rem"},className:"slds-grow slds-scrollable_y"},this.props.detail))}}])&&ik(t.prototype,n),r&&ik(t,r),i}(o.a.Component);pk(dk,"displayName","SLDSSplitView"),pk(dk,"propTypes",fk),pk(dk,"defaultProps",{assistiveText:{toggleButtonOpen:"Close split view",toggleButtonClose:"Open split view"},events:{},masterWidth:"20rem"});var hk=dk;function mk(){return(mk=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}function bk(e,t){if(null==e)return{};var n,r,o=function(e,t){if(null==e)return{};var n,r,o={},a=Object.keys(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)>=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}var yk=function(e){var t=e.className,n=bk(e,["className"]);return o.a.createElement(RC,mk({className:l()("slds-split-view__header slds-has-bottom-magnet",t)},n))};yk.displayName="SLDSSplitViewHeader",yk.propTypes={},yk.defaultProps={};var gk=yk,vk={item:i.a.shape({label:i.a.string,topRightText:i.a.string,bottomLeftText:i.a.string,bottomRightText:i.a.string})},Ok=function(e){var t=e.item;return o.a.createElement("div",null,o.a.createElement("div",{className:"slds-grid slds-wrap"},o.a.createElement("span",{className:"slds-truncate slds-text-body_regular slds-text-color_default",title:t.label},t.label),o.a.createElement("span",{className:"slds-truncate slds-col_bump-left",title:t.topRightText},t.topRightText)),o.a.createElement("div",{className:"slds-grid slds-wrap"},o.a.createElement("span",{className:"slds-truncate",title:t.bottomLeftText},t.bottomLeftText),o.a.createElement("span",{className:"slds-truncate slds-col_bump-left",title:t.bottomLeftText},t.bottomRightText)))};Ok.displayName="SLDSSplitViewListItemContent",Ok.propTypes=vk,Ok.defaultProps={};var _k=Ok;function Sk(e){return(Sk="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function xk(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function wk(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function Ek(e,t){return(Ek=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function jk(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=Pk(e);if(t){var o=Pk(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return Ck(this,n)}}function Ck(e,t){return!t||"object"!==Sk(t)&&"function"!=typeof t?function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e):t}function Pk(e){return(Pk=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function Nk(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var Tk={assistiveText:i.a.shape({unreadItem:i.a.string}),item:i.a.object.isRequired,multiple:i.a.bool,isFocused:i.a.bool.isRequired,isSelected:i.a.bool.isRequired,isUnread:i.a.bool,events:i.a.shape({onClick:i.a.func.isRequired}),listItemRef:i.a.func},kk={assistiveText:{unreadItem:"Unread Item"},events:{}},Rk=function(e){var t=function(t){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&Ek(e,t)}(s,t);var n,r,a,i=jk(s);function s(){return xk(this,s),i.apply(this,arguments)}return n=s,(r=[{key:"onClick",value:function(e){this.props.events.onClick(e,{item:this.props.item,isSelected:this.props.isSelected,isUnread:this.props.isUnread})}},{key:"unread",value:function(){return this.props.isUnread?o.a.createElement("abbr",{className:"slds-indicator_unread",title:this.props.assistiveText.unreadItem,"aria-label":this.props.assistiveText.unreadItem},o.a.createElement("span",{className:"slds-assistive-text"},"●")):null}},{key:"render",value:function(){var t=this;return o.a.createElement("li",{className:l()("slds-split-view__list-item",{"slds-is-unread":this.props.isUnread}),role:"presentation"},o.a.createElement("a",{className:"slds-split-view__list-item-action slds-grow slds-has-flexi-truncate",role:"option",ref:this.props.listItemRef,"aria-selected":this.props.multiple?!!this.props.isSelected:this.props.isSelected,tabIndex:this.props.isFocused?0:-1,href:"javascript:void(0);",onClick:function(e){return t.onClick(e)}},this.unread(),o.a.createElement(e,this.props)))}}])&&wk(n.prototype,r),a&&wk(n,a),s}(o.a.Component);return Nk(t,"displayName","".concat("SLDSSplitViewListItemWithContent","(").concat(e.displayName||e.name||"Component",")")),Nk(t,"propTypes",Tk),Nk(t,"defaultProps",kk),t};function Dk(e){return(Dk="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function Ik(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){if("undefined"==typeof Symbol||!(Symbol.iterator in Object(e)))return;var n=[],r=!0,o=!1,a=void 0;try{for(var i,s=e[Symbol.iterator]();!(r=(i=s.next()).done)&&(n.push(i.value),!t||n.length!==t);r=!0);}catch(e){o=!0,a=e}finally{try{r||null==s.return||s.return()}finally{if(o)throw a}}return n}(e,t)||Lk(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Ak(e){return function(e){if(Array.isArray(e))return Bk(e)}(e)||function(e){if("undefined"!=typeof Symbol&&Symbol.iterator in Object(e))return Array.from(e)}(e)||Lk(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Lk(e,t){if(e){if("string"==typeof e)return Bk(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Bk(e,t):void 0}}function Bk(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function Fk(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function Mk(e,t){return(Mk=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function qk(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=Kk(e);if(t){var o=Kk(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return Hk(this,n)}}function Hk(e,t){return!t||"object"!==Dk(t)&&"function"!=typeof t?function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e):t}function Kk(e){return(Kk=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function Wk(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var Vk=Object.freeze({UP:"up",DOWN:"down"}),Uk={assistiveText:i.a.shape({list:i.a.string,sort:i.a.shape({sortedBy:i.a.string,descending:i.a.string,ascending:i.a.string}),unreadItem:i.a.string}),className:i.a.oneOfType([i.a.array,i.a.object,i.a.string]),events:i.a.shape({onSelect:i.a.func.isRequired,onSort:i.a.func}),id:i.a.string,labels:i.a.shape({header:i.a.string}),sortDirection:i.a.oneOf([Vk.UP,Vk.DOWN]),multiple:i.a.bool,options:i.a.array.isRequired,selection:i.a.array,unread:i.a.array,listItem:i.a.func},zk=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&Mk(e,t)}(i,e);var t,n,r,a=qk(i);function i(e){var t;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,i),(t=a.call(this,e)).listItemComponents={},t.state={currentSelectedItem:null,currentFocusedListItem:{index:0,item:null}},t.ListItemWithContent=Rk(e.listItem||_k),t}return t=i,(n=[{key:"componentDidMount",value:function(){this.focusFirstItem()}},{key:"isListItemFocused",value:function(e){return this.state.currentFocusedListItem.item===e}},{key:"isSelected",value:function(e){return this.props.selection.includes(e)}},{key:"isUnread",value:function(e){return this.props.unread.includes(e)}},{key:"handleKeyDown",value:function(e){this.props.multiple&&"a"===e.key&&e.ctrlKey?(Dt.trap(e),this.props.options===this.props.selection?this.deselectAllListItems(e):this.selectAllListItems(e)):"ArrowUp"===e.key?(Dt.trap(e),this.moveToPreviousItem(e)):"ArrowDown"===e.key&&(Dt.trap(e),this.moveToNextItem(e))}},{key:"moveToNextItem",value:function(e){var t=this.state.currentFocusedListItem.index===this.props.options.length-1?0:this.state.currentFocusedListItem.index+1;this.moveToIndex(e,t)}},{key:"moveToPreviousItem",value:function(e){var t=0===this.state.currentFocusedListItem.index?this.props.options.length-1:this.state.currentFocusedListItem.index-1;this.moveToIndex(e,t)}},{key:"moveToIndex",value:function(e,t){var n=this.props.options[t];this.focusItem(n)}},{key:"focusFirstItem",value:function(){var e=this,t=this.props.options.find((function(t){return e.props.selection.includes(t)}))||this.props.options[0];t&&this.focusItem(t,!0)}},{key:"focusItem",value:function(e,t){var n=this.props.options.indexOf(e);t||this.listItemComponents[n].focus(),this.setState({currentFocusedListItem:{index:n,item:e}})}},{key:"deselectAllListItems",value:function(e){this.setState({currentSelectedItem:null}),this.props.events.onSelect(e,{selectedItems:[],item:null})}},{key:"selectAllListItems",value:function(e){this.props.events.onSelect(e,{selectedItems:this.props.options,item:this.state.currentSelectedItem})}},{key:"selectListItem",value:function(e,t){var n=[e];if(this.props.multiple)if(t.metaKey)n=this.props.selection.includes(e)?this.props.selection.filter((function(t){return t!==e})):[e].concat(Ak(this.props.selection));else if(t.shiftKey){var r=Ik([this.props.options.indexOf(this.state.currentSelectedItem),this.props.options.indexOf(e)].sort(),2),o=r[0],a=r[1],i=this.props.options.slice(o,a+1);n=[].concat(Ak(i),Ak(this.props.selection.filter((function(e){return!i.includes(e)}))))}this.setState({currentSelectedItem:e}),this.props.events.onSelect(t,{selectedItems:n,item:e})}},{key:"handleOnSelect",value:function(e,t){var n=t.item;this.selectListItem(n,e),this.focusItem(n)}},{key:"sortDirection",value:function(){return this.props.sortDirection?o.a.createElement(jn,{category:"utility",name:this.props.sortDirection===Vk.DOWN?"arrowdown":"arrowup",size:"xx-small",className:"slds-align-top"}):null}},{key:"headerWrapper",value:function(e){return this.props.events.onSort?o.a.createElement("a",{"aria-live":"polite",style:{borderTop:"0"},href:"javascript:void(0);",role:"button",className:"slds-split-view__list-header slds-grid slds-text-link_reset",onClick:this.props.events.onSort},e):o.a.createElement("div",{style:{borderTop:"0"},className:"slds-split-view__list-header slds-grid"},e)}},{key:"header",value:function(){return this.props.labels.header?this.headerWrapper(o.a.createElement("span",{"aria-sort":this.props.sortDirection===Vk.DOWN?this.props.assistiveText.sort.descending:this.props.assistiveText.sort.ascending},o.a.createElement("span",{className:"slds-assistive-text"},this.props.assistiveText.sort.sortedBy,": "),o.a.createElement("span",null,this.props.labels.header,this.sortDirection()),o.a.createElement("span",{className:"slds-assistive-text"},"- ",this.props.sortDirection===Vk.DOWN?this.props.assistiveText.sort.descending:this.props.assistiveText.sort.ascending))):null}},{key:"addListItemComponent",value:function(e,t){this.listItemComponents[t]=e}},{key:"listItems",value:function(){var e=this,t=this.ListItemWithContent;return this.props.options.map((function(n,r){return o.a.createElement(t,{key:n.id||r,assistiveText:{unreadItem:e.props.assistiveText.unreadItem},listItemRef:function(t){e.addListItemComponent(t,r)},item:n,isFocused:e.isListItemFocused(n),isSelected:e.isSelected(n),isUnread:e.isUnread(n),events:{onClick:function(t,n){return e.handleOnSelect(t,n)}},multiple:e.props.multiple})}))}},{key:"render",value:function(){var e=this;return o.a.createElement("div",{id:this.props.id,className:l()("slds-grid slds-grid_vertical slds-scrollable_none",this.props.className)},this.header(),o.a.createElement("ul",{className:"slds-scrollable_y","aria-label":this.props.assistiveText.list,"aria-multiselectable":this.props.multiple,role:"listbox",onKeyDown:function(t){return e.handleKeyDown(t)}},this.listItems()))}}])&&Fk(t.prototype,n),r&&Fk(t,r),i}(o.a.Component);Wk(zk,"displayName","SLDSSplitViewListbox"),Wk(zk,"propTypes",Uk),Wk(zk,"defaultProps",{assistiveText:{list:"Select an item to open it in a new workspace tab.",sort:{sortedBy:"Sorted by",descending:"Descending",ascending:"Ascending"}},events:{},labels:{},selection:[],unread:[]});var Gk=zk;var Yk=function(){},Qk=n(55);function Jk(e){return(Jk="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function Xk(){return(Xk=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}function $k(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function Zk(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function eR(e,t){return(eR=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function tR(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=oR(e);if(t){var o=oR(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return nR(this,n)}}function nR(e,t){return!t||"object"!==Jk(t)&&"function"!=typeof t?rR(e):t}function rR(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function oR(e){return(oR=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function aR(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var iR=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&eR(e,t)}(i,e);var t,n,r,a=tR(i);function i(e){var t;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,i),aR(rR(t=a.call(this,e)),"getId",(function(){return t.props.id||t.generatedId})),aR(rR(t),"getErrorId",(function(){return t.props["aria-describedby"]||t.generatedErrorId})),Yk(F,e,Qk),t.generatedId=u.a.generate(),e.errorText&&(t.generatedErrorId=u.a.generate()),t}return t=i,(n=[{key:"render",value:function(){var e=this.props,t=e.autoFocus,n=e.children,r=e.className,a=e.classNameContainer,i=e.disabled,s=e.errorText,c=e.textareaRef,u=e.label,p=e.onBlur,f=e.onChange,d=e.onClick,h=e.onFocus,m=e.onInput,b=e.onInvalid,y=e.onKeyDown,g=e.onKeyPress,v=e.onKeyUp,O=e.onSelect,_=e.onSubmit,S=e.maxLength,x=e.name,w=e.placeholder,E=e.required,j=e.role,C=e.value,P=e.defaultValue,N=e.wrap,T=Kn(this.props),k="string"==typeof this.props.assistiveText?this.props.assistiveText:function(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?$k(Object(n),!0).forEach((function(t){aR(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):$k(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}({},this.props.assistiveText).label,R=u||k;return o.a.createElement("div",{className:l()("slds-form-element",{"slds-has-error":s},a)},R&&o.a.createElement("label",{className:l()("slds-form-element__label",{"slds-assistive-text":k&&!u}),htmlFor:this.getId()},E&&o.a.createElement("abbr",{className:"slds-required",title:"required"},"*"),R),o.a.createElement("div",{className:l()("slds-form-element__control")},o.a.createElement("textarea",Xk({className:l()("slds-textarea",r),autoFocus:t,disabled:i,id:this.getId(),maxLength:S,name:x,onBlur:p,onChange:f,onClick:d,onFocus:h,onInput:m,onInvalid:b,onKeyDown:y,onKeyPress:g,onKeyUp:v,onSelect:O,onSubmit:_,placeholder:w,ref:c,role:j,required:E,wrap:N,value:C,defaultValue:P},T))),s&&o.a.createElement("div",{id:this.getErrorId(),className:"slds-form-element__help"},s),n)}}])&&Zk(t.prototype,n),r&&Zk(t,r),i}(o.a.Component);aR(iR,"displayName",F),aR(iR,"propTypes",{assistiveText:i.a.shape({label:i.a.string}),"aria-activedescendant":i.a.string,"aria-autocomplete":i.a.string,"aria-controls":i.a.string,"aria-describedby":i.a.string,"aria-expanded":i.a.bool,"aria-haspopup":i.a.bool,"aria-labelledby":i.a.string,"aria-owns":i.a.string,"aria-required":i.a.bool,autoFocus:i.a.bool,children:i.a.node,className:i.a.oneOfType([i.a.array,i.a.object,i.a.string]),classNameContainer:i.a.oneOfType([i.a.array,i.a.object,i.a.string]),disabled:i.a.bool,errorText:i.a.string,id:i.a.string,textareaRef:i.a.func,label:i.a.string,onBlur:i.a.func,onChange:i.a.func,onClick:i.a.func,onFocus:i.a.func,onInput:i.a.func,onInvalid:i.a.func,onKeyDown:i.a.func,onKeyPress:i.a.func,onKeyUp:i.a.func,onSelect:i.a.func,onSubmit:i.a.func,maxLength:i.a.string,name:i.a.string,placeholder:i.a.string,required:i.a.bool,value:i.a.string,defaultValue:i.a.string,wrap:i.a.oneOf(["soft","hard"])});var sR=iR,lR=n(56),cR=n.n(lR);var uR=function(){};function pR(e){return(pR="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function fR(){return(fR=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}function dR(e,t){if(null==e)return{};var n,r,o=function(e,t){if(null==e)return{};var n,r,o={},a=Object.keys(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)>=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}function hR(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function mR(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function bR(e,t){return(bR=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function yR(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=OR(e);if(t){var o=OR(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return gR(this,n)}}function gR(e,t){return!t||"object"!==pR(t)&&"function"!=typeof t?vR(e):t}function vR(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function OR(e){return(OR=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function _R(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var SR=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&bR(e,t)}(i,e);var t,n,r,a=yR(i);function i(){var e;hR(this,i);for(var t=arguments.length,n=new Array(t),r=0;r<t;r++)n[r]=arguments[r];return _R(vR(e=a.call.apply(a,[this].concat(n))),"handleKeyDown",(function(t){e.props.onKeyDown&&t.keyCode&&(t.keyCode!==At.ENTER&&t.keyCode!==At.DOWN&&t.keyCode!==At.UP&&t.keyCode!==At.ESCAPE||e.props.onKeyDown(t))})),e}return t=i,(n=[{key:"render",value:function(){var e=this.props,t=e.iconRight,n=e.menu,r=e.onBlur,a=e.onFocus,i=(e.onKeyDown,e.onMouseDown),s=e.triggerRef,l=dR(e,["iconRight","menu","onBlur","onFocus","onKeyDown","onMouseDown","triggerRef"]);return o.a.createElement("div",{onBlur:r,onFocus:a,onKeyDown:this.handleKeyDown,onMouseDown:i},o.a.createElement(Pu,fR({iconRight:t},l,{inputRef:s}),n))}}])&&mR(t.prototype,n),r&&mR(t,r),i}(o.a.Component);_R(SR,"displayName",te),_R(SR,"propTypes",{iconRight:i.a.node,id:i.a.string,label:i.a.string,menu:i.a.node,onBlur:i.a.func,onClick:i.a.func,onFocus:i.a.func,onKeyDown:i.a.func,onMouseDown:i.a.func,triggerRef:i.a.func,value:i.a.string});var xR=SR,wR=n(57);function ER(e){return(ER="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function jR(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function CR(e,t){return(CR=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function PR(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=kR(e);if(t){var o=kR(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return NR(this,n)}}function NR(e,t){return!t||"object"!==ER(t)&&"function"!=typeof t?TR(e):t}function TR(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function kR(e){return(kR=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function RR(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var DR=function(e){var t=e.props,n=new Date,r=[];n.setHours(0),n.setMinutes(0),n.setSeconds(0),n.setMilliseconds(0);for(var o=new Date(n);n.getDate()===o.getDate();){var a=t.formatter(o);r.push({label:a,value:new Date(o)}),o.setMinutes(o.getMinutes()+t.stepInMinutes)}return r},IR=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&CR(e,t)}(i,e);var t,n,r,a=PR(i);function i(e){var t;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,i),RR(TR(t=a.call(this,e)),"state",{value:t.props.value,strValue:t.props.strValue,options:DR({props:t.props})}),RR(TR(t),"parseDate",(function(e){var n=t.props.parser(e);return cR()(n)&&!isNaN(n.getTime())?n:new Date})),RR(TR(t),"handleChange",(function(e,n){t.setState({value:e,strValue:n}),t.props.onDateChange&&t.props.onDateChange(e,n)})),RR(TR(t),"handleSelect",(function(e){e&&e.value&&t.handleChange(e.value,e.label)})),RR(TR(t),"handleInputChange",(function(e){var n=e.target.value;if(t.setState({strValue:n}),t.props.onDateChange){var r=t.props.parser(n);t.props.onDateChange(r,n)}})),uR(he,e,wR),t}return t=i,(n=[{key:"UNSAFE_componentWillReceiveProps",value:function(e){e.value&&this.props.value&&this.props.value.getTime()!==e.value.getTime()&&this.setState({value:e.value,strValue:this.props.formatter(e.value)}),e.strValue!==this.props.value&&this.setState({strValue:e.strValue})}},{key:"render",value:function(){return o.a.createElement(Hs,{checkmark:!1,constrainToScrollParent:this.props.constrainToScrollParent,disabled:this.props.disabled,inheritTargetWidth:this.props.inheritTargetWidth,label:this.props.label,listItemRenderer:this.props.listItemRenderer,menuStyle:{maxHeight:"20em",overflowX:"hidden",minWidth:"100%"},menuPosition:this.props.menuPosition,onSelect:this.handleSelect,options:this.state.options},o.a.createElement(xR,{iconRight:o.a.createElement(Dc,{category:"utility",name:"clock"}),onChange:this.handleInputChange,placeholder:this.props.placeholder,required:this.props.required,type:"text",value:this.state.strValue}))}}])&&jR(t.prototype,n),r&&jR(t,r),i}(o.a.Component);RR(IR,"displayName",he),RR(IR,"propTypes",{constrainToScrollParent:i.a.bool,disabled:i.a.bool,formatter:i.a.func,inheritTargetWidth:i.a.bool,label:i.a.string,listItemRenderer:i.a.func,menuPosition:i.a.oneOf(["absolute","overflowBoundaryElement","relative"]),onDateChange:i.a.func,parser:i.a.func,placeholder:i.a.string,required:i.a.bool,stepInMinutes:i.a.number,strValue:i.a.string,value:i.a.instanceOf(Date)}),RR(IR,"defaultProps",{formatter:function(e){return e?e.toLocaleTimeString(navigator.language,{hour:"2-digit",minute:"2-digit"}):null},parser:function(e){var t=(new Date).toLocaleString(navigator.language,{year:"numeric",month:"numeric",day:"numeric"});return new Date("".concat(t," ").concat(e))},menuPosition:"absolute",value:null,stepInMinutes:30});var AR=IR;var LR=function(){},BR=n(58);function FR(e){return(FR="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function MR(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function qR(e,t){return(qR=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function HR(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=VR(e);if(t){var o=VR(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return KR(this,n)}}function KR(e,t){return!t||"object"!==FR(t)&&"function"!=typeof t?WR(e):t}function WR(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function VR(e){return(VR=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function UR(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var zR={assistiveText:i.a.shape({closeButton:i.a.oneOfType([i.a.string,i.a.node])}),className:i.a.oneOfType([i.a.array,i.a.object,i.a.string]),duration:i.a.number,labels:i.a.shape({details:i.a.oneOfType([i.a.string,i.a.node]),heading:i.a.oneOfType([i.a.string,i.a.node]),headingLink:i.a.oneOfType([i.a.string,i.a.node])}),onClickHeadingLink:i.a.func,icon:i.a.node,onRequestClose:i.a.func,style:i.a.object,variant:i.a.oneOf(["error","info","success","warning"]).isRequired},GR={assistiveText:{closeButton:"Close",error:"error",info:"info",success:"success",warning:"warning"},variant:"info"},YR=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&qR(e,t)}(i,e);var t,n,r,a=HR(i);function i(e){var t;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,i),UR(WR(t=a.call(this,e)),"onClose",(function(){t.clearTimeout(),t.props.onRequestClose&&t.props.onRequestClose()})),UR(WR(t),"clearTimeout",(function(){t.timeout&&(clearTimeout(t.timeout),t.timeout=null)})),UR(WR(t),"saveToastRef",(function(e){t.toast=e,t.state.isInitialRender&&(Kt.storeActiveElement(),t.toast&&t.toast.focus(),t.setState({isInitialRender:!1}))})),t.state={isInitialRender:!0},t.timeout=null,t.toast=null,LR(me,e,BR),t}return t=i,(n=[{key:"componentDidMount",value:function(){var e=this;this.props.duration&&(this.timeout=setTimeout((function(){e.onClose()}),this.props.duration))}},{key:"componentWillUnmount",value:function(){this.clearTimeout(),Kt.returnFocusToStoredElement()}},{key:"render",value:function(){var e=cr()({},GR.assistiveText,this.props.assistiveText),t=cr()({},GR.labels,this.props.labels),n=t.heading||this.props.content,r={info:e.info,success:e.success,warning:e.warning,error:e.error},a={info:o.a.createElement(jn,{category:"utility",name:"info"}),success:o.a.createElement(jn,{category:"utility",name:"success"}),warning:o.a.createElement(jn,{category:"utility",name:"warning"}),error:o.a.createElement(jn,{category:"utility",name:"error"})},i=this.props.icon?this.props.icon:a[this.props.variant],s=o.a.cloneElement(i,{containerClassName:"slds-m-right_small slds-no-flex slds-align-top",inverse:!0,size:"small"});return o.a.createElement("div",{className:gn("slds-notify slds-notify_toast",{"slds-theme_info":"info"===this.props.variant,"slds-theme_success":"success"===this.props.variant,"slds-theme_warning":"warning"===this.props.variant,"slds-theme_error":"error"===this.props.variant},this.props.className),ref:this.saveToastRef,role:"status",style:this.props.style,tabIndex:0},o.a.createElement("span",{className:"slds-assistive-text"},r[this.props.variant]),s,o.a.createElement("div",{className:"slds-notify__content"},o.a.createElement("h2",{className:"slds-text-heading_small"},n," ",t.headingLink?o.a.createElement("a",{onClick:this.props.onClickHeadingLink,href:"javascript:void(0);"},t.headingLink):null),t.details?o.a.createElement("p",null,t.details):null),o.a.createElement(or,{assistiveText:{icon:e.closeButton},className:"slds-notify__close",iconCategory:"utility",iconName:"close",iconSize:"large",inverse:!0,onClick:this.props.onRequestClose,title:e.closeButton,variant:"icon"}))}}])&&MR(t.prototype,n),r&&MR(t,r),i}(o.a.Component);YR.defaultProps=GR,YR.displayName=me,YR.propTypes=zR;var QR=YR;function JR(e){return(JR="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function XR(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function $R(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function ZR(e,t){return(ZR=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function eD(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=nD(e);if(t){var o=nD(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return tD(this,n)}}function tD(e,t){return!t||"object"!==JR(t)&&"function"!=typeof t?function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e):t}function nD(e){return(nD=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}var rD={className:i.a.oneOfType([i.a.array,i.a.object,i.a.string]),children:i.a.node},oD=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&ZR(e,t)}(i,e);var t,n,r,a=eD(i);function i(){return XR(this,i),a.apply(this,arguments)}return t=i,(n=[{key:"render",value:function(){return o.a.createElement("div",{className:gn("slds-notify-container",this.props.className)},this.props.children)}}])&&$R(t.prototype,n),r&&$R(t,r),i}(o.a.Component);oD.displayName="SLDSToastContainer",oD.propTypes=rD;var aD=oD;function iD(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var sD=function(e){var t=e.event,n=e.props,r=e.fromFocus;Dt.trap(t),Ir()(n.onSelect)&&n.onSelect({event:t,data:{node:n.node,select:!n.node.selected,treeIndex:n.treeIndex},fromFocus:r})},lD=function(e,t){if(t.focusedNodeIndex===t.treeIndex){var n=(r=t.flattenedNodes,o=t.node,a=r.map((function(e){return e.node})),r[(rd()(a,{id:o.id})+1)%r.length]);t.onSelect({event:e,data:{node:n.node,select:!0,treeIndex:n.treeIndex},clearSelectedNodes:!0})}var r,o,a},cD=function(e,t){if(t.focusedNodeIndex===t.treeIndex){var n=(r=t.flattenedNodes,o=t.node,a=r.map((function(e){return e.node})),(i=rd()(a,{id:o.id})-1)<0&&(i+=r.length),r[i]);t.onSelect({event:e,data:{node:n.node,select:!0,treeIndex:n.treeIndex},clearSelectedNodes:!0})}var r,o,a,i},uD=function(e,t){var n;Zh(e,{callbacks:(n={},iD(n,At.DOWN,{callback:function(e){return lD(e,t)}}),iD(n,At.UP,{callback:function(e){return cD(e,t)}}),iD(n,At.LEFT,{callback:function(e){return function(e,t){var n=t.flattenedNodes.map((function(e){return e.node})),r=rd()(n,{id:t.parent.id});-1!==r&&t.onExpand({event:e,data:{node:t.parent,select:!0,expand:!t.parent.expanded,treeIndex:t.flattenedNodes[r].treeIndex}})}(e,t)}}),iD(n,At.ENTER,{callback:function(e){return function(e,t){sD({event:e,props:t})}(e,t)}}),n)})},pD=function(e){var t=0===e.selectedNodeIndexes.length&&e.treeIndex===e.flattenedNodes[0].treeIndex;return e.treeIndex===e.focusedNodeIndex||t?0:-1},fD=function(e){var t=e.node.selected,n=e.treeIndex===e.focusedNodeIndex;return o.a.createElement("li",{id:"".concat(e.treeId,"-").concat(e.node.id),role:"treeitem","aria-level":e.level,"aria-selected":t?"true":"false",tabIndex:pD(e),onKeyDown:function(t){return uD(t,e)},onFocus:function(t){return function(e,t){t.treeHasFocus||t.focusedNodeIndex||e.target!==e.currentTarget||sD({event:e,props:t})}(t,e)},onBlur:e.onNodeBlur,ref:function(t){e.treeHasFocus&&t&&n&&t.focus()}},o.a.createElement("div",{className:l()("slds-tree__item",{"slds-is-selected":t}),onClick:function(t){sD({event:t,props:e})}},o.a.createElement(or,{tabIndex:"-1","aria-hidden":!0,assistiveText:{icon:""},role:"presentation",iconCategory:"utility",iconName:"chevronright",iconSize:"small",variant:"icon",className:"slds-m-right_small slds-is-disabled",disabled:!0}),o.a.createElement("span",{className:"slds-size_1-of-1"},o.a.createElement(Jo,{search:e.searchTerm,className:"slds-tree__item-label slds-truncate"},e.label))))};fD.displayName="SLDSTreeItem",fD.propTypes={htmlId:i.a.string.isRequired,label:i.a.oneOfType([i.a.node,i.a.string]).isRequired,level:i.a.number.isRequired,node:i.a.object.isRequired,onExpand:i.a.func.isRequired,onSelect:i.a.func,searchTerm:i.a.string,treeId:i.a.string,treeIndex:i.a.string,flattenedNodes:i.a.arrayOf(i.a.object),selectedNodeIndexes:i.a.arrayOf(i.a.string),focusedNodeIndex:i.a.string,onNodeBlur:i.a.func,treeHasFocus:i.a.bool,parent:i.a.object},fD.defaultProps={selected:!1,selectedNodeIndexes:[]};var dD=fD,hD={htmlId:i.a.oneOfType([i.a.number,i.a.string]).isRequired,initalClassName:i.a.oneOfType([i.a.array,i.a.object,i.a.string]),initialStyle:i.a.object},mD=function(e,t){return o.a.createElement("ul",{"aria-labelledby":"".concat(t.htmlId,"__heading"),className:l()("slds-tree",t.initalClassName),onScroll:function(e){!function(e,t){var n=e.target.scrollTop/(e.target.scrollHeight-e.target.clientHeight)*100;Ir()(t.onScroll)&&t.onScroll(e,{percentage:n})}(e,t)},role:"tree",style:t.initialStyle},e)};mD.displayName="TreeInitialNode",mD.propTypes=hD;var bD=mD;function yD(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var gD={htmlId:i.a.oneOfType([i.a.number,i.a.string]).isRequired,label:i.a.oneOfType([i.a.node,i.a.string]),level:i.a.number.isRequired,node:i.a.object.isRequired,onExpand:i.a.func.isRequired,onSelect:i.a.func,searchTerm:i.a.string,treeIndex:i.a.string,flattenedNodes:i.a.arrayOf(i.a.object),selectedNodeIndexes:i.a.arrayOf(i.a.string),focusedNodeIndex:i.a.string,onNodeBlur:i.a.func,treeHasFocus:i.a.bool,parent:i.a.object},vD=function(e,t){Dt.trap(e),Ir()(t.onExpand)&&t.onExpand({event:e,data:{node:t.node,expand:!t.node.expanded,treeIndex:t.treeIndex}})},OD=function(e){var t=e.event,n=e.props,r=e.fromFocus;Dt.trap(t),Ir()(n.onSelect)&&n.onSelect({event:t,data:{node:n.node,select:!n.node.selected,treeIndex:n.treeIndex},fromFocus:r})},_D=function(e,t){if(t.focusedNodeIndex===t.treeIndex){var n=(r=t.flattenedNodes,o=t.node,a=r.map((function(e){return e.node})),r[(rd()(a,{id:o.id})+1)%r.length]);t.onSelect({event:e,data:{node:n.node,select:!0,treeIndex:n.treeIndex},clearSelectedNodes:!0})}var r,o,a},SD=function(e,t){if(t.focusedNodeIndex===t.treeIndex){var n=(r=t.flattenedNodes,o=t.node,a=r.map((function(e){return e.node})),(i=rd()(a,{id:o.id})-1)<0&&(i+=r.length),r[i]);t.onSelect({event:e,data:{node:n.node,select:!0,treeIndex:n.treeIndex},clearSelectedNodes:!0})}var r,o,a,i},xD=function(e,t){var n;Zh(e,{callbacks:(n={},yD(n,At.DOWN,{callback:function(e){return _D(e,t)}}),yD(n,At.UP,{callback:function(e){return SD(e,t)}}),yD(n,At.RIGHT,{callback:function(e){return function(e,t){t.node.expanded?t.getNodes(t.node)&&t.getNodes(t.node).length>0&&_D(e,t):vD(e,t)}(e,t)}}),yD(n,At.LEFT,{callback:function(e){return function(e,t){if(t.node.expanded)vD(e,t);else{var n=t.flattenedNodes.map((function(e){return e.node})),r=rd()(n,{id:t.parent.id});-1!==r&&t.onExpand({event:e,data:{node:t.parent,select:!0,expand:!t.parent.expanded,treeIndex:t.flattenedNodes[r].treeIndex}})}}(e,t)}}),yD(n,At.ENTER,{callback:function(e){return function(e,t){OD({event:e,props:t})}(e,t)}}),n)})},wD=function(e){var t=0===e.selectedNodeIndexes.length&&e.treeIndex===e.flattenedNodes[0].treeIndex;return e.treeIndex===e.focusedNodeIndex||t?0:-1},ED=function(e,t){var n=t.node.expanded,r=t.node.selected,a=t.treeIndex===t.focusedNodeIndex,i=t.node.loading,s=o.a.createElement("div",{style:{display:"block",paddingLeft:"".concat(1.5*t.level+1.5,"rem"),marginTop:".5rem"}},o.a.createElement("div",{style:{borderRadius:"15rem",display:"block",marginBottom:".75rem",height:".5rem",backgroundColor:"rgb(224, 229, 238)",width:"40%"}}),o.a.createElement("div",{style:{borderRadius:"15rem",display:"block",marginBottom:".75rem",height:".5rem",backgroundColor:"rgb(224, 229, 238)",width:"80%"}}),o.a.createElement("div",{style:{borderRadius:"15rem",display:"block",marginBottom:".75rem",height:".5rem",backgroundColor:"rgb(224, 229, 238)",width:"60%"}})),c=t.node.assistiveText||("string"==typeof t.node.label?t.node.label:null);return o.a.createElement("li",{id:t.htmlId,role:"treeitem","aria-level":t.level,"aria-expanded":n?"true":"false","aria-label":t.node.nodes&&t.node.nodes.length>0?c:null,tabIndex:wD(t),onKeyDown:function(e){return xD(e,t)},onFocus:function(e){return function(e,t){t.treeHasFocus||t.focusedNodeIndex||e.target!==e.currentTarget||OD({event:e,props:t,fromFocus:!0})}(e,t)},onBlur:t.onNodeBlur,ref:function(e){t.treeHasFocus&&e&&a&&e.focus()}},o.a.createElement("div",{className:l()("slds-tree__item",{"slds-is-selected":r}),onClick:function(e){OD({event:e,props:t})}},o.a.createElement(or,{"aria-hidden":!0,assistiveText:{icon:"Expand Tree Branch"},iconCategory:"utility",iconName:"chevronright",iconSize:"small",variant:"icon",className:"slds-m-right_small",role:"presentation","aria-controls":t.htmlId,onClick:function(e){vD(e,t)},tabIndex:"-1"}),o.a.createElement("span",{className:"slds-size_1-of-1",id:"".concat(t.htmlId,"__label")},o.a.createElement(Jo,{search:t.searchTerm,className:"slds-tree__item-label slds-truncate"},t.label))),i?s:null,o.a.createElement("ul",{className:l()({"slds-is-expanded":n,"slds-is-collapsed":!n}),role:"group","aria-labelledby":"".concat(t.htmlId,"__label")},n&&!i?e:null))};ED.displayName="Branch",ED.propTypes=gD;var jD=ED,CD=function e(t){var n,r="",a=t.treeId,i=t.level,s=t.onExpand,l=t.searchTerm;return Array.isArray(t.getNodes(t.node))&&(n=t.getNodes(t.node).map((function(n,c){var p="".concat(t.treeId,"-").concat(n.id);return r="".concat(c),t.treeIndex&&(r="".concat(t.treeIndex,"-").concat(r)),"branch"===n.type?o.a.createElement(e,{getNodes:t.getNodes,htmlId:p,key:n.id,label:n.label,level:i+1,node:n,flattenedNodes:t.flattenedNodes,selectedNodeIndexes:t.selectedNodeIndexes,focusedNodeIndex:t.focusedNodeIndex,treeHasFocus:t.treeHasFocus,onNodeBlur:t.onNodeBlur,nodes:n.nodes,onSelect:t.onSelect,onExpand:s,searchTerm:l,treeId:a,treeIndex:r,parent:t.node}):o.a.createElement(dD,{label:n.label,htmlId:p,key:u.a.generate(),level:i+1,node:n,flattenedNodes:t.flattenedNodes,selectedNodeIndexes:t.selectedNodeIndexes,focusedNodeIndex:t.focusedNodeIndex,treeHasFocus:t.treeHasFocus,onNodeBlur:t.onNodeBlur,onSelect:t.onSelect,onExpand:s,searchTerm:l,treeIndex:r,treeId:a,parent:t.node})}))),0===t.level?bD(n,t):jD(n,t)};CD.displayName="SLDSTreeBranch",CD.propTypes={getNodes:i.a.func,htmlId:i.a.oneOfType([i.a.number,i.a.string]).isRequired,index:i.a.number,initial:i.a.bool,initalClassName:i.a.oneOfType([i.a.array,i.a.object,i.a.string]),initialStyle:i.a.object,label:i.a.oneOfType([i.a.node,i.a.string]),level:i.a.number.isRequired,node:i.a.object.isRequired,onSelect:i.a.func,onExpand:i.a.func.isRequired,searchTerm:i.a.string,treeId:i.a.string,treeIndex:i.a.string,flattenedNodes:i.a.arrayOf(i.a.object),selectedNodeIndexes:i.a.arrayOf(i.a.string),focusedNodeIndex:i.a.string,onNodeBlur:i.a.func,treeHasFocus:i.a.bool,parent:i.a.object},CD.defaultProps={level:0,label:"",treeIndex:"",selectedNodeIndexes:[]};var PD=CD;var ND=function(){},TD=n(59);function kD(e){return(kD="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function RD(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function DD(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?RD(Object(n),!0).forEach((function(t){qD(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):RD(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function ID(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function AD(e,t){return(AD=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function LD(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=MD(e);if(t){var o=MD(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return BD(this,n)}}function BD(e,t){return!t||"object"!==kD(t)&&"function"!=typeof t?FD(e):t}function FD(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function MD(e){return(MD=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function qD(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var HD={assistiveText:i.a.shape({label:i.a.string}),className:i.a.oneOfType([i.a.array,i.a.object,i.a.string]),listClassName:i.a.oneOfType([i.a.array,i.a.object,i.a.string]),getNodes:i.a.func,heading:i.a.oneOfType([i.a.node,i.a.string]),id:i.a.string.isRequired,nodes:i.a.arrayOf(i.a.oneOfType([i.a.number,i.a.string,i.a.shape({id:i.a.oneOfType([i.a.number,i.a.string]).isRequired,label:i.a.oneOfType([i.a.node,i.a.string]).isRequired,type:i.a.string.isRequired})])).isRequired,onClick:i.a.func.isRequired,onExpandClick:i.a.func.isRequired,onScroll:i.a.func,searchTerm:i.a.string,listStyle:i.a.object},KD={assistiveText:{},getNodes:function(e){return e.nodes}},WD=function e(t,n){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"",o=!(arguments.length>3&&void 0!==arguments[3])||arguments[3];if(!t.nodes)return[{node:t,treeIndex:r}];var a=[{node:t,treeIndex:r}];if(t.expanded)for(var i=0;i<t.nodes.length;i+=1){var s=o?t.nodes[i]:n(t)[i];a=a.concat(e(s,n,r?"".concat(r,"-").concat(i):"".concat(i),!1))}return a},VD=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&AD(e,t)}(i,e);var t,n,r,a=LD(i);function i(e){var t;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,i),qD(FD(t=a.call(this,e)),"handleSelect",(function(e){var n,r=e.event,o=e.data,a=e.clearSelectedNodes,i=e.fromFocus;a&&t.state.flattenedNodes.forEach((function(e){e.node.selected&&(e.node.selected=!1)})),i||t.props.onClick(r,o),n=o.select?t.state.selectedNodeIndexes.concat([o.treeIndex]):t.state.selectedNodeIndexes.filter((function(e){return e!==o.treeIndex})),t.treeHasFocus=!0,t.setState({focusedNodeIndex:o.treeIndex,selectedNodeIndexes:n})})),qD(FD(t),"handleNodeBlur",(function(){t.treeHasFocus=!1})),qD(FD(t),"handleExpand",(function(e){var n=e.event,r=e.data;t.treeHasFocus=!0,t.props.onExpandClick(n,r),r.select&&t.setState({focusedNodeIndex:r.treeIndex})}));var n,r=WD({nodes:t.props.getNodes({nodes:t.props.nodes}),expanded:!0},t.props.getNodes).slice(1),o=Ah()(r,(function(e){return e.node.selected})),s=[];return o&&(s.push(o.treeIndex),n=o.treeIndex),t.state={flattenedNodes:r,selectedNodeIndexes:s,focusedNodeIndex:n},ND(be,e,TD),t}return t=i,r=[{key:"getDerivedStateFromProps",value:function(e){return{flattenedNodes:WD({nodes:e.getNodes({nodes:e.nodes}),expanded:!0},e.getNodes).slice(1)}}}],(n=[{key:"render",value:function(){var e="string"==typeof this.props.assistiveText?this.props.assistiveText:DD(DD({},KD.assistiveText),this.props.assistiveText).label,t=e||this.props.heading;return o.a.createElement("div",{id:this.props.id,className:l()("slds-tree_container",this.props.className)},o.a.createElement("h4",{className:l()("slds-tree__group-header",{"slds-assistive-text":e}),id:"".concat(this.props.id,"__heading")},t),o.a.createElement(PD,{getNodes:this.props.getNodes,initalClassName:this.props.listClassName,htmlId:this.props.id,initialStyle:this.props.listStyle,level:0,node:{nodes:this.props.nodes},flattenedNodes:this.state.flattenedNodes,selectedNodeIndexes:this.state.selectedNodeIndexes,focusedNodeIndex:this.state.focusedNodeIndex,treeHasFocus:this.treeHasFocus,onNodeBlur:this.handleNodeBlur,onSelect:this.handleSelect,onExpand:this.handleExpand,onScroll:this.props.onScroll,searchTerm:this.props.searchTerm,treeId:this.props.id}))}}])&&ID(t.prototype,n),r&&ID(t,r),i}(o.a.Component);VD.displayName=be,VD.propTypes=HD,VD.defaultProps=KD;var UD=VD,zD={children:i.a.node,className:i.a.oneOfType([i.a.array,i.a.object,i.a.string]),labels:i.a.shape({timeLeft:i.a.string,timeLeftUnit:i.a.string,timeLeftUnitAfter:i.a.string}),onRenderActions:i.a.func,style:i.a.object},GD={labels:{timeLeftUnitAfter:"left in trial"}},YD=function(e){var t=cr()({},GD.labels,e.labels);return o.a.createElement("div",{className:l()("slds-trial-header slds-grid",e.className),style:e.style},o.a.createElement("div",{className:"slds-grid"},e.children),o.a.createElement("div",{className:"slds-grid slds-grid_vertical-align-center slds-col_bump-left"},o.a.createElement("span",{className:"slds-box slds-box_xx-small slds-theme_default"},t.timeLeft),o.a.createElement("span",{className:"slds-m-horizontal_x-small"},t.timeLeftUnit," ".concat(t.timeLeftUnitAfter)),e.onRenderActions()))};YD.displayName="SLDSTrialBar",YD.propTypes=zD,YD.defaultProps=GD;var QD=YD;function JD(){return(JD=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}var XD=or.propTypes,$D=function(e){return o.a.createElement(or,JD({},e,{inverse:!0,style:{border:0,padding:0},className:"slds-m-right_small"}))};$D.propTypes=XD,$D.displayName="SLDSTrialBarButton";var ZD=$D;function eI(){return(eI=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}function tI(e,t){if(null==e)return{};var n,r,o=function(e,t){if(null==e)return{};var n,r,o={},a=Object.keys(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)>=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}var nI=qs.propTypes,rI=function(e){var t=e.label,n=tI(e,["label"]);return o.a.createElement(Hs,eI({},n,{inverse:!0}),o.a.createElement(fs,{triggerClassName:"slds-grid"},o.a.createElement(or,{inverse:!0,style:{border:0,height:"100%",padding:0},iconCategory:"utility",iconName:"right",iconPosition:"left",label:t})))};rI.propTypes=nI,rI.displayName="SLDSTrialBarDropdown";var oI=rI;function aI(e){return(aI="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function iI(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function sI(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function lI(e,t){return(lI=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function cI(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=pI(e);if(t){var o=pI(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return uI(this,n)}}function uI(e,t){return!t||"object"!==aI(t)&&"function"!=typeof t?function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e):t}function pI(e){return(pI=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}var fI={id:i.a.string,children:i.a.node,className:i.a.oneOfType([i.a.array,i.a.object,i.a.string]),label:i.a.string,coverable:i.a.bool,vertical:i.a.bool,links:i.a.bool,size:i.a.oneOf(["medium","large"])},dI=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&lI(e,t)}(i,e);var t,n,r,a=cI(i);function i(){return iI(this,i),a.apply(this,arguments)}return t=i,(n=[{key:"UNSAFE_componentWillMount",value:function(){this.generatedId=u.a.generate()}},{key:"render",value:function(){var e=this,t=o.a.Children.map(this.props.children,(function(t,n){return o.a.cloneElement(t,{index:"".concat(e.props.id||e.generatedId,"-").concat(n),coverable:e.props.coverable,variant:"visual-picker",name:"".concat(e.props.id||e.generatedId,"_options"),size:e.props.size,vertical:!!e.props.vertical})}));return this.props.links?o.a.createElement("div",{className:"slds-form-element__control"},this.props.children):o.a.createElement("fieldset",{id:this.props.id,className:l()("slds-form-element",this.props.className)},o.a.createElement("legend",{className:"slds-form-element__legend slds-form-element__label"},this.props.label),o.a.createElement("div",{className:"slds-form-element__control"},t))}}])&&sI(t.prototype,n),r&&sI(t,r),i}(o.a.Component);dI.displayName="SLDSVisualPicker",dI.propTypes=fI,dI.defaultProps={size:"medium",vertical:!1,links:!1};var hI=dI;function mI(e){return(mI="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function bI(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function yI(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function gI(e,t){return(gI=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function vI(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=_I(e);if(t){var o=_I(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return OI(this,n)}}function OI(e,t){return!t||"object"!==mI(t)&&"function"!=typeof t?function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e):t}function _I(e){return(_I=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}var SI={id:i.a.string,className:i.a.oneOfType([i.a.array,i.a.object,i.a.string]),href:i.a.string,icon:i.a.node,title:i.a.string,description:i.a.string},xI=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&gI(e,t)}(i,e);var t,n,r,a=vI(i);function i(){return bI(this,i),a.apply(this,arguments)}return t=i,(n=[{key:"render",value:function(){return o.a.createElement("a",{href:this.props.href,id:this.props.id,className:l()("slds-box","slds-box_link","slds-theme_default","slds-box_x-small","slds-media","slds-visual-picker_vertical",this.props.className)},o.a.createElement("div",{className:"slds-media__figure slds-media__figure_fixed-width slds-align_absolute-center slds-m-left_xx-small"},this.props.icon),o.a.createElement("div",{className:"slds-media__body slds-border_left slds-p-around_small"},o.a.createElement("h2",{className:"slds-truncate slds-text-heading_small",title:this.props.title},this.props.title),o.a.createElement("p",{className:"slds-m-top_small"},this.props.description)))}}])&&yI(t.prototype,n),r&&yI(t,r),i}(o.a.Component);xI.displayName="SLDSVisualPickerLink",xI.propTypes=SI;var wI=xI;function EI(e){return(EI="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function jI(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function CI(e,t){return(CI=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function PI(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=TI(e);if(t){var o=TI(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return NI(this,n)}}function NI(e,t){return!t||"object"!==EI(t)&&"function"!=typeof t?function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e):t}function TI(e){return(TI=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}var kI={className:i.a.oneOfType([i.a.array,i.a.object,i.a.string]),id:i.a.string,isOpen:i.a.bool,labels:i.a.shape({title:i.a.string,description:i.a.string,unitsCompletedAfter:i.a.string}),variant:i.a.oneOf(["steps","info-only","splash","trailhead-connected"]),onRenderInfoActions:i.a.func,onRequestClose:i.a.func,infoBadge:i.a.node,doNotShowAgainCheckbox:i.a.node},RI={labels:{unitsCompletedAfter:"units completed"},variant:"steps",isOpen:!0},DI=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&CI(e,t)}(i,e);var t,n,r,a=PI(i);function i(e){var t;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,i),(t=a.call(this,e)).state={completedSteps:0,totalSteps:0,progress:0},t}return t=i,(n=[{key:"UNSAFE_componentWillMount",value:function(){this.generatedId=u.a.generate(),this.getCount()}},{key:"getId",value:function(){return this.props.id||this.generatedId}},{key:"getCount",value:function(){var e=o.a.Children.count(this.props.children),t=o.a.Children.toArray(this.props.children).filter((function(e){return e.props.isComplete})).length,n=t/e*100;this.setState({totalSteps:e,completedSteps:t,progress:n})}},{key:"render",value:function(){var e=this,t=cr()({},RI.labels,this.props.labels),n=o.a.createElement("div",{className:l()("slds-welcome-mat__info-content",this.props.className),id:"".concat(this.getId(),"-content")},o.a.createElement("h2",{className:"slds-welcome-mat__info-title",id:"".concat(this.getId(),"-label")},t.title),o.a.createElement("div",{className:"slds-welcome-mat__info-description slds-text-longform"},o.a.createElement("p",null,t.description)),"info-only"===this.props.variant||"splash"===this.props.variant?o.a.createElement("div",{className:"slds-welcome-mat__info-actions"},this.props.onRenderInfoActions()?this.props.onRenderInfoActions():null,o.a.createElement("div",{className:"slds-m-top_large"},this.props.doNotShowAgainCheckbox?this.props.doNotShowAgainCheckbox:null)):null,"steps"!==this.props.variant&&"trailhead-connected"!==this.props.variant||!this.props.children?null:o.a.createElement(o.a.Fragment,null,o.a.createElement("div",{className:l()("slds-welcome-mat__info-progress",this.state.completedSteps===this.state.totalSteps?"slds-welcome-mat__info-progress_complete":null)},"trailhead-connected"===this.props.variant?o.a.Children.map(this.props.infoBadge,(function(t){return o.a.cloneElement(t,{isComplete:e.state.completedSteps===e.state.totalSteps||null})})):null,this.state.completedSteps!==this.state.totalSteps||"trailhead-connected"!==this.props.variant?o.a.createElement(o.a.Fragment,null,"trailhead-connected"===this.props.variant?o.a.createElement("p",null,this.state.completedSteps,"/",this.state.totalSteps," ".concat(t.unitsCompletedAfter)):o.a.createElement("p",null,o.a.createElement("strong",null,this.state.completedSteps,"/",this.state.totalSteps," ".concat(t.unitsCompletedAfter))),o.a.createElement(DP,{value:this.state.progress,radius:"circular"})):null)));return o.a.createElement(lo,{assistiveText:{dialogLabelledBy:"".concat(this.getId(),"-label")},isOpen:this.props.isOpen,onRequestClose:this.props.onRequestClose,size:"small",id:"".concat(this.getId(),"-modal")},o.a.createElement("div",{className:l()("slds-welcome-mat",{"slds-welcome-mat_info-only":"info-only"===this.props.variant},this.props.children?null:"slds-welcome-mat_splash"),id:this.getId()},o.a.createElement("div",{className:"slds-welcome-mat__content slds-grid"},this.props.children?o.a.createElement(o.a.Fragment,null,o.a.createElement("div",{className:"slds-welcome-mat__info slds-size_1-of-2"},n),o.a.createElement("div",{className:l()("slds-welcome-mat__tiles","slds-size_1-of-2","info-only"===this.props.variant?"slds-welcome-mat__tiles_info-only":null)},o.a.Children.map(this.props.children,(function(t){return o.a.cloneElement(t,{variant:e.props.variant})})))):o.a.createElement("div",{className:"slds-welcome-mat__info slds-size_1-of-1"},n))))}}])&&jI(t.prototype,n),r&&jI(t,r),i}(o.a.Component);DI.displayName="SLDSWelcomeMat",DI.propTypes=kI,DI.defaultProps=RI;var II=DI;function AI(e){return(AI="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function LI(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function BI(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function FI(e,t){return(FI=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function MI(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=HI(e);if(t){var o=HI(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return qI(this,n)}}function qI(e,t){return!t||"object"!==AI(t)&&"function"!=typeof t?function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e):t}function HI(e){return(HI=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}var KI={assistiveText:i.a.shape({completed:i.a.string}),className:i.a.oneOfType([i.a.array,i.a.object,i.a.string]),id:i.a.string,image:i.a.string,isComplete:i.a.bool,onCompleteRenderActions:i.a.func},WI=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&FI(e,t)}(i,e);var t,n,r,a=MI(i);function i(){return LI(this,i),a.apply(this,arguments)}return t=i,(n=[{key:"UNSAFE_componentWillMount",value:function(){this.generatedId=u.a.generate()}},{key:"getId",value:function(){return this.props.id||this.generatedId}},{key:"getCompletedText",value:function(){return this.props.assistiveText&&this.props.assistiveText.completed?this.props.assistiveText.completed:"Completed"}},{key:"render",value:function(){return o.a.createElement("div",{id:this.getId(),className:this.props.className},o.a.createElement("div",{className:"slds-welcome-mat__info-badge-container"},o.a.createElement("img",{className:"slds-welcome-mat__info-badge",src:this.props.image,width:"50",height:"50",alt:""}),o.a.createElement(jn,{category:"action",name:"check",assistiveText:{label:this.getCompletedText()}})),this.props.children,this.props.isComplete?this.props.onCompleteRenderActions():null)}}])&&BI(t.prototype,n),r&&BI(t,r),i}(o.a.Component);WI.displayName="SLDSWelcomeMatBadge",WI.propTypes=KI,WI.defaultProps={isComplete:!1,variant:"steps"};var VI=WI;function UI(e){return(UI="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function zI(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function GI(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?zI(Object(n),!0).forEach((function(t){YI(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):zI(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function YI(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function QI(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function JI(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function XI(e,t){return(XI=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function $I(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=eA(e);if(t){var o=eA(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return ZI(this,n)}}function ZI(e,t){return!t||"object"!==UI(t)&&"function"!=typeof t?function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e):t}function eA(e){return(eA=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}var tA={assistiveText:i.a.shape({completedIcon:i.a.string}),className:i.a.oneOfType([i.a.array,i.a.object,i.a.string]),id:i.a.string,title:i.a.string,description:i.a.string,href:i.a.string,icon:i.a.node,isComplete:i.a.bool,variant:i.a.oneOf(["steps","info-only","splash","trailhead-connected"])},nA={assistiveText:{completedIcon:"Completed"},isComplete:!1,variant:"steps"},rA=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&XI(e,t)}(i,e);var t,n,r,a=$I(i);function i(){return QI(this,i),a.apply(this,arguments)}return t=i,(n=[{key:"UNSAFE_componentWillMount",value:function(){this.generatedId=u.a.generate()}},{key:"getId",value:function(){return this.props.id||this.generatedId}},{key:"render",value:function(){var e=GI(GI({},nA.assistiveText),this.props.assistiveText),t=o.a.createElement(o.a.Fragment,null,o.a.createElement("div",{className:l()("slds-media__figure","slds-media__figure_fixed-width","slds-align_absolute-center")},o.a.createElement("div",{className:"slds-welcome-mat__tile-figure"},o.a.createElement("div",{className:"slds-welcome-mat__tile-icon-container"},this.props.icon,this.props.isComplete&&"info-only"!==this.props.variant?o.a.createElement(jn,{assistiveText:{label:e.completedIcon},category:"action",name:"check",title:e.completedIcon}):null))),o.a.createElement("div",{className:"slds-media__body"},o.a.createElement("div",{className:"slds-welcome-mat__tile-body"},o.a.createElement("h3",{className:"slds-welcome-mat__tile-title"},this.props.title),o.a.createElement("p",{className:"slds-welcome-mat__tile-description"},this.props.description))));return o.a.createElement("div",{id:this.getId(),className:l()("slds-welcome-mat__tile","info-only"===this.props.variant?"slds-welcome-mat__tile_info-only":null,this.props.isComplete&&"info-only"!==this.props.variant?"slds-welcome-mat__tile_complete":null,this.props.className)},"info-only"===this.props.variant?o.a.createElement("div",{className:"slds-media"},t):o.a.createElement("a",{href:this.props.href,className:"slds-box slds-box_link slds-media"},t))}}])&&JI(t.prototype,n),r&&JI(t,r),i}(o.a.Component);rA.displayName="SLDSWelcomeMatTile",rA.propTypes=tA,rA.defaultProps=nA;var oA=rA;function aA(e){return function(e){if(Array.isArray(e))return iA(e)}(e)||function(e){if("undefined"!=typeof Symbol&&Symbol.iterator in Object(e))return Array.from(e)}(e)||function(e,t){if(!e)return;if("string"==typeof e)return iA(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return iA(e,t)}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function iA(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}var sA=function(e){var t,n=e.subheadings,r=e.filteredOptions,o=aA(n),a={noSubHeaderType:[]};return o.forEach((function(e){e.id&&(a[e.id]=[e])})),r.forEach((function(e){a[e.type]?a[e.type].push(e):a.noSubHeaderType.push(e)})),(t=[]).concat.apply(t,aA(Object.values(a)))},lA=function(e){var t=e.action,n=e.event,r=e.eventName,o=e.data,a=e.customLog;a&&n?a({eventName:r,event:n,data:o}):t&&n?t(r)(n,o):console&&console.log&&console.log(r,n,o)}}])})); +//# sourceMappingURL=design-system-react-components.min.js.map \ No newline at end of file diff --git a/design-system-react-components.min.js.LICENSE.txt b/design-system-react-components.min.js.LICENSE.txt new file mode 100644 index 0000000000..8da23ccb0c --- /dev/null +++ b/design-system-react-components.min.js.LICENSE.txt @@ -0,0 +1,83 @@ +/* +object-assign +(c) Sindre Sorhus +@license MIT +*/ + +/*! + Copyright (c) 2015 Jed Watson. + Based on code that is Copyright 2013-2015, Facebook, Inc. + All rights reserved. +*/ + +/*! + Copyright (c) 2017 Jed Watson. + Licensed under the MIT License (MIT), see + http://jedwatson.github.io/classnames +*/ + +/*! + * Adapted from jQuery UI core + * + * http://jqueryui.com + * + * Copyright 2014 jQuery Foundation and other contributors + * Released under the MIT license. + * http://jquery.org/license + * + * http://api.jqueryui.com/category/ui-core/ + */ + +/*! + * design-system-react + * v0.10.31 + * Copyright (c) 2015-present, Salesforce.com, Inc. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * * Neither the name of the Salesforce.com nor the + * names of its contributors may be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY + * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +/**! + * @fileOverview Kickass library to create and place poppers near their reference elements. + * @version 1.12.9 + * @license + * Copyright (c) 2016 Federico Zivolo and contributors + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + */ diff --git a/design-system-react-components.min.js.map b/design-system-react-components.min.js.map new file mode 100644 index 0000000000..d53d113a01 --- /dev/null +++ b/design-system-react-components.min.js.map @@ -0,0 +1 @@ +{"version":3,"sources":["webpack://[name]/webpack/universalModuleDefinition","webpack://[name]/webpack/bootstrap","webpack://[name]/./node_modules/prop-types/index.js","webpack://[name]/external {\"amd\":\"react\",\"commonjs\":\"react\",\"commonjs2\":\"react\",\"root\":\"React\"}","webpack://[name]/./node_modules/classnames/index.js","webpack://[name]/./node_modules/shortid/index.js","webpack://[name]/./node_modules/lodash.assign/index.js","webpack://[name]/./node_modules/lodash.isfunction/index.js","webpack://[name]/external {\"amd\":\"react-dom\",\"commonjs\":\"react-dom\",\"commonjs2\":\"react-dom\",\"root\":\"ReactDOM\"}","webpack://[name]/./node_modules/lodash.findindex/index.js","webpack://[name]/./node_modules/warning/warning.js","webpack://[name]/./node_modules/lodash.isequal/index.js","webpack://[name]/(webpack)/buildin/global.js","webpack://[name]/./node_modules/lodash.escaperegexp/index.js","webpack://[name]/./node_modules/lodash.find/index.js","webpack://[name]/./utilities/design-tokens/dist/salesforce-skin.common.js","webpack://[name]/./node_modules/lodash.reject/index.js","webpack://[name]/(webpack)/buildin/module.js","webpack://[name]/./node_modules/shortid/lib/alphabet.js","webpack://[name]/./node_modules/react-required-if/index.js","webpack://[name]/./node_modules/react-modal/lib/index.js","webpack://[name]/./node_modules/react-modal/lib/helpers/safeHTMLElement.js","webpack://[name]/./node_modules/create-react-class/index.js","webpack://[name]/./node_modules/react-highlighter/lib/highlighter.js","webpack://[name]/./node_modules/react-modal/lib/helpers/tabbable.js","webpack://[name]/./node_modules/react-modal/lib/helpers/ariaAppHider.js","webpack://[name]/./node_modules/popper.js/dist/esm/popper.js","webpack://[name]/./utilities/product-tokens/icon-backgrounds.js","webpack://[name]/./node_modules/lodash.memoize/index.js","webpack://[name]/./utilities/design-tokens/dist/palette-colors.common.js","webpack://[name]/./node_modules/react-contenteditable/lib/react-contenteditable.js","webpack://[name]/./node_modules/lodash.isdate/index.js","webpack://[name]/./node_modules/prop-types/factoryWithThrowingShims.js","webpack://[name]/./node_modules/prop-types/lib/ReactPropTypesSecret.js","webpack://[name]/./node_modules/shortid/lib/index.js","webpack://[name]/./node_modules/shortid/lib/random/random-from-seed.js","webpack://[name]/./node_modules/shortid/lib/build.js","webpack://[name]/./node_modules/shortid/lib/generate.js","webpack://[name]/./node_modules/shortid/lib/random/random-byte-browser.js","webpack://[name]/./node_modules/nanoid/format.browser.js","webpack://[name]/./node_modules/shortid/lib/is-valid.js","webpack://[name]/./node_modules/shortid/lib/util/cluster-worker-id-browser.js","webpack://[name]/./node_modules/react-modal/lib/components/Modal.js","webpack://[name]/./node_modules/react-modal/lib/components/ModalPortal.js","webpack://[name]/./node_modules/react-modal/lib/helpers/focusManager.js","webpack://[name]/./node_modules/react-modal/lib/helpers/scopeTab.js","webpack://[name]/./node_modules/react-modal/node_modules/warning/browser.js","webpack://[name]/./node_modules/exenv/index.js","webpack://[name]/./node_modules/react-modal/lib/helpers/classList.js","webpack://[name]/./node_modules/react-lifecycles-compat/react-lifecycles-compat.es.js","webpack://[name]/./node_modules/react-highlighter/lib/regExpPropType.js","webpack://[name]/./node_modules/escape-string-regexp/index.js","webpack://[name]/./node_modules/blacklist/index.js","webpack://[name]/./node_modules/create-react-class/factory.js","webpack://[name]/./node_modules/object-assign/index.js","webpack://[name]/./node_modules/react-contenteditable/node_modules/fast-deep-equal/index.js","webpack://[name]/./utilities/constants.js","webpack://[name]/./components/accordion/index.jsx","webpack://[name]/./components/icon/button-icon/check-props.js","webpack://[name]/./components/utilities/UNSAFE_direction/index.jsx","webpack://[name]/./components/utilities/utility-icon/check-props.js","webpack://[name]/./components/utilities/utility-icon/svg.jsx","webpack://[name]/./icons/utility/index.js","webpack://[name]/./icons/action/index.js","webpack://[name]/./icons/custom/index.js","webpack://[name]/./icons/doctype/index.js","webpack://[name]/./icons/standard/index.js","webpack://[name]/./components/utilities/UNSAFE_direction/private/language-direction.jsx","webpack://[name]/./components/utilities/utility-icon/index.jsx","webpack://[name]/./components/icon/button-icon/index.jsx","webpack://[name]/./components/button/check-props.js","webpack://[name]/./components/utilities/dialog/portal.jsx","webpack://[name]/./utilities/event.js","webpack://[name]/./utilities/key-code.js","webpack://[name]/./utilities/tabbable.js","webpack://[name]/./utilities/execution-environment.js","webpack://[name]/./utilities/dom-element-focus.js","webpack://[name]/./utilities/dialog-helpers.js","webpack://[name]/./components/icon-settings/index.jsx","webpack://[name]/./components/utilities/dialog/index.jsx","webpack://[name]/./components/icon/check-props.js","webpack://[name]/./utilities/class-names.js","webpack://[name]/./components/icon/index.jsx","webpack://[name]/./components/tooltip/check-props.js","webpack://[name]/./components/tooltip/index.jsx","webpack://[name]/./utilities/get-aria-props.js","webpack://[name]/./utilities/get-data-props.js","webpack://[name]/./utilities/get-form-props.js","webpack://[name]/./components/button/index.jsx","webpack://[name]/./components/accordion/panel.jsx","webpack://[name]/./components/alert/check-props.js","webpack://[name]/./components/alert/index.jsx","webpack://[name]/./components/alert/container.jsx","webpack://[name]/./utilities/warning/low-priority-warning.js","webpack://[name]/./utilities/warning/component-is-deprecated.js","webpack://[name]/./components/app-launcher/check-props.js","webpack://[name]/./components/modal/check-props.js","webpack://[name]/./components/settings.js","webpack://[name]/./utilities/warning/check-app-element-set.js","webpack://[name]/./components/modal/index.jsx","webpack://[name]/./components/app-launcher/index.jsx","webpack://[name]/./components/expandable-section/index.jsx","webpack://[name]/./components/app-launcher/expandable-section.jsx","webpack://[name]/./components/utilities/highlighter/index.jsx","webpack://[name]/./components/app-launcher/link.jsx","webpack://[name]/./components/utilities/truncate/index.jsx","webpack://[name]/./components/app-launcher/tile.jsx","webpack://[name]/./components/avatar/check-props.js","webpack://[name]/./components/avatar/index.jsx","webpack://[name]/./components/badge/index.jsx","webpack://[name]/./components/brand-band/index.jsx","webpack://[name]/./components/breadcrumb/check-props.js","webpack://[name]/./node_modules/react-onclickoutside/dist/react-onclickoutside.es.js","webpack://[name]/./components/utilities/menu-list/item-label.jsx","webpack://[name]/./components/utilities/menu-list/item.jsx","webpack://[name]/./components/utilities/menu-list/index.jsx","webpack://[name]/./components/menu-dropdown/button-trigger.jsx","webpack://[name]/./components/menu-dropdown/check-props.js","webpack://[name]/./utilities/key-buffer.js","webpack://[name]/./utilities/keyboard-navigate.js","webpack://[name]/./components/menu-dropdown/menu-dropdown.jsx","webpack://[name]/./components/menu-dropdown/index.jsx","webpack://[name]/./components/breadcrumb/index.jsx","webpack://[name]/./components/builder-header/index.jsx","webpack://[name]/./components/builder-header/misc.jsx","webpack://[name]/./components/builder-header/nav.jsx","webpack://[name]/./components/builder-header/nav-dropdown.jsx","webpack://[name]/./components/builder-header/nav-link.jsx","webpack://[name]/./components/builder-header/toolbar.jsx","webpack://[name]/./components/button-group/index.jsx","webpack://[name]/./components/button-stateful/check-props.js","webpack://[name]/./components/button-stateful/index.jsx","webpack://[name]/./components/media-object/index.jsx","webpack://[name]/./components/card/private/header.jsx","webpack://[name]/./components/card/private/body.jsx","webpack://[name]/./components/card/private/footer.jsx","webpack://[name]/./components/card/empty.jsx","webpack://[name]/./components/card/index.jsx","webpack://[name]/./components/icon/input-icon/index.jsx","webpack://[name]/./components/spinner/check-props.js","webpack://[name]/./components/spinner/index.jsx","webpack://[name]/./components/input/private/inner-input.jsx","webpack://[name]/./components/utilities/label/index.jsx","webpack://[name]/./components/input/check-props.js","webpack://[name]/./utilities/object.js","webpack://[name]/./components/tooltip/private/field-level-help-tooltip.jsx","webpack://[name]/./components/input/index.jsx","webpack://[name]/./components/card/filter.jsx","webpack://[name]/./components/carousel/private/carousel-indicators.jsx","webpack://[name]/./components/carousel/private/previous-next-carousel-navigator.jsx","webpack://[name]/./components/carousel/private/carousel-item.jsx","webpack://[name]/./components/carousel/private/auto-play-button.jsx","webpack://[name]/./components/carousel/index.jsx","webpack://[name]/./components/checkbox/check-props.js","webpack://[name]/./components/checkbox/index.jsx","webpack://[name]/./components/color-picker/check-props.js","webpack://[name]/./components/color-picker/private/custom-color-form.jsx","webpack://[name]/./components/radio-group/index.jsx","webpack://[name]/./components/radio-button-group/index.jsx","webpack://[name]/./components/color-picker/private/swatch.jsx","webpack://[name]/./components/radio/check-props.js","webpack://[name]/./components/radio/index.jsx","webpack://[name]/./components/radio-button-group/radio.jsx","webpack://[name]/./utilities/color.js","webpack://[name]/./components/color-picker/private/hsv-color.jsx","webpack://[name]/./components/color-picker/private/custom-color.jsx","webpack://[name]/./components/color-picker/private/swatch-option.jsx","webpack://[name]/./components/color-picker/private/swatch-picker.jsx","webpack://[name]/./components/tabs/private/tabs-list.jsx","webpack://[name]/./components/tabs/private/tab.jsx","webpack://[name]/./components/tabs/private/tab-panel.jsx","webpack://[name]/./components/tabs/index.jsx","webpack://[name]/./components/tabs/panel.jsx","webpack://[name]/./components/popover/check-props.js","webpack://[name]/./utilities/keyboard-navigable-dialog.js","webpack://[name]/./components/popover/popover.jsx","webpack://[name]/./components/popover/index.jsx","webpack://[name]/./components/color-picker/index.jsx","webpack://[name]/./components/combobox/private/menu.jsx","webpack://[name]/./components/forms/private/label.jsx","webpack://[name]/./utilities/key-callbacks.js","webpack://[name]/./components/pill/index.jsx","webpack://[name]/./components/utilities/pill/index.jsx","webpack://[name]/./utilities/is-react-component.js","webpack://[name]/./components/pill-container/private/selected-listbox.jsx","webpack://[name]/./utilities/key-letter-menu-item-select.js","webpack://[name]/./utilities/menu-item-select-scroll.js","webpack://[name]/./components/combobox/check-props.js","webpack://[name]/./components/combobox/combobox.jsx","webpack://[name]/./components/combobox/index.jsx","webpack://[name]/./components/combobox/filter.js","webpack://[name]/./components/data-table/check-props.js","webpack://[name]/./components/data-table/cell.jsx","webpack://[name]/./components/data-table/column.jsx","webpack://[name]/./components/data-table/private/cell-fixed.jsx","webpack://[name]/./components/data-table/column-check-props.js","webpack://[name]/./components/data-table/private/header-cell.jsx","webpack://[name]/./components/data-table/private/head.jsx","webpack://[name]/./components/data-table/private/row.jsx","webpack://[name]/./components/data-table/row-actions.jsx","webpack://[name]/./components/data-table/index.jsx","webpack://[name]/./components/data-table/highlight-cell.jsx","webpack://[name]/./utilities/date.js","webpack://[name]/./components/date-picker/private/day.jsx","webpack://[name]/./components/date-picker/private/week.jsx","webpack://[name]/./components/date-picker/private/calendar.jsx","webpack://[name]/./components/date-picker/private/year-picklist.jsx","webpack://[name]/./components/date-picker/private/navigation.jsx","webpack://[name]/./components/date-picker/private/calendar-wrapper.jsx","webpack://[name]/./components/date-picker/check-props.js","webpack://[name]/./components/date-picker/date-picker.jsx","webpack://[name]/./components/date-picker/index.jsx","webpack://[name]/./components/dynamic-icon/index.jsx","webpack://[name]/./components/popover/edit-dialog.jsx","webpack://[name]/./components/expression/group.jsx","webpack://[name]/./components/expression/index.jsx","webpack://[name]/./components/expression/condition.jsx","webpack://[name]/./components/expression/formula.jsx","webpack://[name]/./components/files/private/file-figure.jsx","webpack://[name]/./components/files/private/file-actions.jsx","webpack://[name]/./components/files/file.jsx","webpack://[name]/./components/files/index.jsx","webpack://[name]/./components/files/more-files.jsx","webpack://[name]/./components/filter/index.jsx","webpack://[name]/./components/global-header/check-props.js","webpack://[name]/./components/global-header/index.jsx","webpack://[name]/./components/global-header/button.jsx","webpack://[name]/./components/global-header/private/dropdown-trigger.jsx","webpack://[name]/./components/global-header/dropdown.jsx","webpack://[name]/./components/global-header/favorites.jsx","webpack://[name]/./components/global-header/help.jsx","webpack://[name]/./components/global-header/notifications.jsx","webpack://[name]/./components/global-header/profile.jsx","webpack://[name]/./components/global-header/search.jsx","webpack://[name]/./components/global-header/setup.jsx","webpack://[name]/./components/global-header/task.jsx","webpack://[name]/./components/global-navigation-bar/index.jsx","webpack://[name]/./components/global-navigation-bar/button.jsx","webpack://[name]/./components/global-navigation-bar/check-props.js","webpack://[name]/./components/global-navigation-bar/dropdown-trigger.jsx","webpack://[name]/./components/global-navigation-bar/dropdown.jsx","webpack://[name]/./components/global-navigation-bar/label.jsx","webpack://[name]/./components/global-navigation-bar/link.jsx","webpack://[name]/./components/global-navigation-bar/region.jsx","webpack://[name]/./components/illustration/check-props.js","webpack://[name]/./components/illustration/index.jsx","webpack://[name]/./components/forms/input/inline-check-props.js","webpack://[name]/./components/forms/input/inline.jsx","webpack://[name]/./components/input/search.jsx","webpack://[name]/./components/location-map/index.jsx","webpack://[name]/./components/lookup/header.jsx","webpack://[name]/./components/lookup/menu/default-footer/index.jsx","webpack://[name]/./components/lookup/footer.jsx","webpack://[name]/./components/lookup/menu/default-header/index.jsx","webpack://[name]/./components/lookup/section-divider.jsx","webpack://[name]/./components/lookup/menu/default-section-divider/index.jsx","webpack://[name]/./components/lookup/check-props.js","webpack://[name]/./components/lookup/private/item.jsx","webpack://[name]/./components/lookup/private/menu.jsx","webpack://[name]/./components/lookup/menu/index.js","webpack://[name]/./components/lookup/lookup.jsx","webpack://[name]/./components/lookup/index.jsx","webpack://[name]/./components/menu-picklist/check-props.js","webpack://[name]/./components/menu-picklist/index.jsx","webpack://[name]/./components/modal/trigger.jsx","webpack://[name]/./components/vertical-navigation/check-props.js","webpack://[name]/./components/vertical-navigation/private/item.jsx","webpack://[name]/./components/vertical-navigation/index.jsx","webpack://[name]/./components/notification/check-props.js","webpack://[name]/./components/notification/index.jsx","webpack://[name]/./components/page-header/check-props.js","webpack://[name]/./components/page-header/private/info.jsx","webpack://[name]/./components/page-header/private/label.jsx","webpack://[name]/./components/page-header/private/title.jsx","webpack://[name]/./components/page-header/private/detail-block.jsx","webpack://[name]/./components/page-header/private/detail-row.jsx","webpack://[name]/./components/page-header/private/controls.jsx","webpack://[name]/./components/page-header/private/base/index.jsx","webpack://[name]/./components/page-header/private/record-home/index.jsx","webpack://[name]/./components/page-header/private/object-home/index.jsx","webpack://[name]/./components/page-header/private/related-list/index.jsx","webpack://[name]/./components/page-header/index.jsx","webpack://[name]/./components/page-header/control.jsx","webpack://[name]/./components/panel/index.jsx","webpack://[name]/./components/panel/filtering/check-props.js","webpack://[name]/./components/panel/filtering/private/panel-footer.jsx","webpack://[name]/./components/panel/filtering/private/panel-header.jsx","webpack://[name]/./components/panel/filtering/group.jsx","webpack://[name]/./components/panel/filtering/list.jsx","webpack://[name]/./components/panel/filtering/list-heading.jsx","webpack://[name]/./components/pill-container/index.jsx","webpack://[name]/./components/progress-bar/index.jsx","webpack://[name]/./components/progress-indicator/private/step.jsx","webpack://[name]/./components/progress-indicator/private/progress-bar.jsx","webpack://[name]/./components/progress-indicator/private/progress.jsx","webpack://[name]/./components/progress-indicator/private/step-vertical.jsx","webpack://[name]/./components/progress-indicator/index.jsx","webpack://[name]/./components/progress-ring/private/ring-shape.jsx","webpack://[name]/./components/progress-ring/index.jsx","webpack://[name]/./components/scoped-notification/check-props.js","webpack://[name]/./components/scoped-notification/index.jsx","webpack://[name]/./components/setup-assistant/check-props.js","webpack://[name]/./components/setup-assistant/index.jsx","webpack://[name]/./components/setup-assistant/step.jsx","webpack://[name]/./components/slider/index.jsx","webpack://[name]/./components/split-view/private/toggle-button.jsx","webpack://[name]/./components/split-view/index.jsx","webpack://[name]/./components/split-view/header.jsx","webpack://[name]/./components/split-view/private/list-item-content.jsx","webpack://[name]/./components/split-view/private/list-item-with-content.jsx","webpack://[name]/./components/split-view/listbox.jsx","webpack://[name]/./components/textarea/check-props.js","webpack://[name]/./components/textarea/index.jsx","webpack://[name]/./components/time-picker/check-props.js","webpack://[name]/./components/time-picker/private/dropdown-trigger.jsx","webpack://[name]/./components/time-picker/index.jsx","webpack://[name]/./components/toast/check-props.js","webpack://[name]/./components/toast/index.jsx","webpack://[name]/./components/toast/container.jsx","webpack://[name]/./components/tree/private/item.jsx","webpack://[name]/./components/tree/private/render-initial-branch.jsx","webpack://[name]/./components/tree/private/render-branch.jsx","webpack://[name]/./components/tree/private/branch.jsx","webpack://[name]/./components/tree/check-props.js","webpack://[name]/./components/tree/index.jsx","webpack://[name]/./components/trial-bar/index.jsx","webpack://[name]/./components/trial-bar/button.jsx","webpack://[name]/./components/trial-bar/dropdown.jsx","webpack://[name]/./components/visual-picker/index.jsx","webpack://[name]/./components/visual-picker/link.jsx","webpack://[name]/./components/welcome-mat/index.jsx","webpack://[name]/./components/welcome-mat/info-badge.jsx","webpack://[name]/./components/welcome-mat/tile.jsx","webpack://[name]/./components/combobox/add-subheadings.js","webpack://[name]/./utilities/log.js"],"names":["root","factory","exports","module","require","define","amd","window","__WEBPACK_EXTERNAL_MODULE__1__","__WEBPACK_EXTERNAL_MODULE__6__","installedModules","__webpack_require__","moduleId","i","l","modules","call","m","c","d","name","getter","o","Object","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","prototype","hasOwnProperty","p","s","hasOwn","classNames","classes","arguments","length","arg","argType","push","Array","isArray","inner","apply","join","default","MAX_SAFE_INTEGER","argsTag","funcTag","genTag","reIsUint","func","thisArg","args","transform","objectProto","objectToString","toString","propertyIsEnumerable","nativeKeys","keys","nativeMax","Math","max","nonEnumShadows","arrayLikeKeys","inherited","result","isObjectLike","isArrayLike","isArrayLikeObject","isArguments","iteratee","index","baseTimes","String","skipIndexes","isIndex","assignValue","objValue","eq","undefined","test","isPrototype","Ctor","constructor","other","isLength","tag","isObject","isFunction","type","assigner","assign","source","props","customizer","newValue","copyObject","baseKeys","start","array","otherArgs","this","baseRest","sources","guard","isIterateeCall","freeGlobal","global","freeSelf","self","Function","nativeObjectToString","symToStringTag","baseGetTag","isOwn","unmasked","e","getRawTag","HASH_UNDEFINED","INFINITY","MAX_INTEGER","NAN","arrayTag","boolTag","dateTag","errorTag","mapTag","numberTag","objectTag","promiseTag","regexpTag","setTag","stringTag","symbolTag","weakMapTag","arrayBufferTag","dataViewTag","reIsDeepProp","reIsPlainProp","reLeadingDot","rePropName","reTrim","reEscapeChar","reIsBadHex","reIsBinary","reIsHostCtor","reIsOctal","typedArrayTags","freeParseInt","parseInt","freeExports","nodeType","freeModule","freeProcess","process","nodeUtil","binding","nodeIsTypedArray","isTypedArray","arraySome","predicate","isHostObject","mapToArray","map","size","forEach","setToArray","set","uid","arrayProto","funcProto","coreJsData","maskSrcKey","exec","IE_PROTO","funcToString","reIsNative","RegExp","replace","Uint8Array","splice","DataView","getNative","Map","Promise","Set","WeakMap","nativeCreate","dataViewCtorString","toSource","mapCtorString","promiseCtorString","setCtorString","weakMapCtorString","symbolProto","symbolValueOf","valueOf","symbolToString","Hash","entries","clear","entry","ListCache","MapCache","SetCache","values","__data__","add","Stack","assocIndexOf","baseGet","path","isKey","castPath","toKey","baseHasIn","baseIsEqual","bitmask","stack","equalFunc","objIsArr","othIsArr","objTag","othTag","getTag","objIsObj","othIsObj","isSameTag","equalArrays","byteLength","byteOffset","buffer","message","convert","isPartial","stacked","equalByTag","objIsWrapped","othIsWrapped","objUnwrapped","othUnwrapped","objProps","objLength","othLength","skipCtor","othValue","compared","objCtor","othCtor","equalObjects","baseIsEqualDeep","baseIsNative","isMasked","baseIteratee","identity","srcValue","isStrictComparable","matchesStrictComparable","defaultValue","hasFunc","hasPath","hasIn","UNORDERED_COMPARE_FLAG","baseMatchesProperty","matchData","getMatchData","noCustomizer","data","baseIsMatch","baseMatches","basePropertyDeep","proto","stringToPath","arrLength","seen","arrValue","othIndex","has","getMapData","getValue","pop","cache","pairs","LARGE_ARRAY_SIZE","isSymbol","ArrayBuffer","resolve","ctorString","memoize","string","baseToString","match","number","quote","resolver","TypeError","memoized","Cache","baseUnary","fromIndex","remainder","isBinary","slice","toNumber","toFinite","fromRight","baseFindIndex","warning","moduleExports","Buffer","nativeGetSymbols","getOwnPropertySymbols","nativeIsBuffer","isBuffer","isArr","isArg","isBuff","isType","baseIsArguments","getAllKeys","keysFunc","symbolsFunc","offset","arrayPush","baseGetAllKeys","getSymbols","resIndex","arrayFilter","symbol","g","reRegExpChar","reHasRegExpChar","findIndexFunc","find","collection","iterable","colorBackgroundRowActive","colorBackgroundModalBrand","colorBackgroundNotification","colorBackgroundNotificationNew","colorBackgroundNotificationBadgeActive","colorBackgroundNotificationBadgeHover","colorContrastPrimary","colorBackgroundRowHover","colorForegroundPrimary","colorBackgroundErrorDark","colorBackgroundInfo","colorBackgroundTempModalTint","colorBackgroundReminderHover","brandBandColorBackgroundSecondaryTransparent","colorBackgroundNotificationBadge","colorBackgroundIndicatorDot","cardWrapperColorBackground","colorBackgroundAltInverse","popoverWalkthroughHeaderImage","colorBackgroundInputDisabled","colorBackgroundRowNew","colorBackgroundToggleHover","popoverWalkthroughColorBackground","colorBackgroundSuccessDark","colorBackgroundReminder","colorBackgroundStencil","colorBackgroundAlt2","colorBackgroundWarning","colorBackgroundButtonSuccessHover","popoverWalkthroughAltImage","colorBackgroundUtilityBarHover","progressColorBorderShade","colorBackgroundHighlightSearch","colorBackgroundToggle","colorBackgroundAnchor","popoverWalkthroughAltNubbinColorBackground","colorBackgroundDestructiveHover","progressColorBackgroundShade","colorBackground","colorBrandDark","colorBackgroundButtonSuccess","colorBackgroundBackdrop","colorBrand","colorBackgroundChromeDesktop","pageHeaderColorBackground","colorBackgroundModalButtonActive","colorBackgroundDestructive","colorBackgroundInputCheckboxSelected","colorBackgroundInputCheckbox","colorBackgroundPrimary","colorBackgroundSuccess","colorBackgroundInputCheckboxDisabled","colorBackgroundPill","colorBackgroundSpinnerDot","colorBackgroundBrandPrimaryFocus","colorBackgroundOffline","tableColorBackgroundHeaderHover","colorBackgroundBackdropTint","colorBackgroundBrandPrimaryActive","colorBackgroundInputActive","popoverWalkthroughColorBackgroundAlt","brandBandColorBackgroundSecondary","tableColorBackgroundHeader","colorBackgroundStencilAlt","colorBackgroundScrollbar","colorBackgroundToggleDisabled","colorBackgroundToast","colorBackgroundBrandPrimaryHover","colorBackgroundChromeMobile","brandBandColorBackgroundPrimaryTransparent","colorBackgroundCustomer","colorBackgroundError","colorContrastSecondary","colorBackgroundBrowser","colorBackgroundAlt","colorBackgroundPost","colorBackgroundBrandPrimary","colorBackgroundRowSelected","colorBackgroundInput","colorBackgroundToastSuccess","colorBackgroundImageOverlay","colorBrandDarker","colorBackgroundTempModal","colorBackgroundSelection","colorBackgroundShade","colorBackgroundModal","colorBackgroundDestructiveActive","colorBackgroundToggleActiveHover","colorBackgroundPayload","colorBackgroundModalButton","colorBackgroundUtilityBarActive","colorBackgroundButtonSuccessActive","buttonColorBackgroundPrimary","colorBackgroundToastError","colorBackgroundOrgSwitcherArrow","colorBackgroundInverse","colorBackgroundToggleActive","colorPickerSliderThumbColorBackground","pageColorBackgroundPrimary","colorBackgroundShadeDark","colorBackgroundNotificationBadgeFocus","colorBackgroundActionbarIconUtility","colorBackgroundScrollbarTrack","colorBackgroundInputError","brandBandColorBackgroundPrimary","colorBackgroundHighlight","colorBackgroundSecondary","popoverWalkthroughHeaderColorBackground","brandBandDefaultImage","bannerUserDefaultImage","bannerGroupDefaultImage","colorBorderInputCheckboxSelectedCheckmark","colorBorderButtonInverseDisabled","colorBorderIconInverseHintHover","colorBorderErrorDark","colorBorderIconInverseHint","colorBorderBrandDark","colorBorderInfo","colorBorderWarning","colorBorderTabActive","colorStrokeDisabled","colorBorderDestructiveHover","colorBorder","colorBorderInputDisabled","colorBorderSuccessDark","colorBorderReminder","colorStrokeBrandActive","colorBorderButtonBrandDisabled","pageHeaderColorBorder","colorBorderDestructive","colorBorderPrimary","colorBorderButtonDefault","colorBorderSeparatorAlt2","colorBorderOffline","colorBorderBrandPrimaryFocus","colorBorderSuccess","colorBorderSeparator","colorBorderBrand","colorBorderBrandPrimaryHover","colorBorderSelectionActive","colorBorderButtonBrand","colorBorderError","colorBorderSelectionHover","colorBorderBrandPrimaryActive","colorBorderInputActive","colorBorderInput","colorBorderBrandPrimary","colorBorderToggleChecked","colorBorderRowSelectedHover","colorBorderCustomer","colorBorderSelection","colorBorderCanvasElementSelectionHover","cardColorBorder","colorBorderRowSelected","buttonColorBorderPrimary","colorBorderSeparatorAlt","colorBorderCanvasElementSelection","colorStrokeBrandHover","colorBorderInverse","colorStrokeHeaderButton","colorBorderDestructiveActive","colorBorderErrorAlt","pageHeaderJoinedColorBorder","colorStrokeBrand","colorBorderTabSelected","cardFooterColorBorder","colorBorderSeparatorInverse","pageHeaderBorderRadius","tableBorderRadius","pageHeaderShadow","shadowSoftPrimaryHover","shadowButtonFocus","shadowHeader","shadowSoftPrimary","shadowHardPrimary","shadowActionOverflowFooter","cardShadow","shadowReminder","shadowDocked","shadowInlineEdit","shadowDrag","shadowDropDown","shadowFocusInset","shadowSoftPrimaryActive","shadowButtonFocusInverse","shadowImage","formLabelFontSize","inputStaticFontSize","inputStaticFontWeight","tabsFontWeight","cardFontWeight","pageHeaderTitleFontWeight","componentSpacingMargin","componentSpacingPadding","templateGutters","templateProfileGutters","tableCellSpacing","cardSpacingMargin","cardFooterPadding","cardFooterTextAlign","colorTextIconInverse","colorTextActionLabel","colorTextLinkInverse","colorTextButtonInverseDisabled","colorTextIconInverseHintHover","colorTextInputIcon","colorTextLinkInverseActive","colorTextActionLabelActive","colorTextIconInverseActive","colorTextTabLabelSelected","colorTextWarning","colorTextIconInverseHint","colorTextTabLabelDisabled","colorTextButtonDefaultHover","colorTextInputDisabled","colorTextTertiary","colorTextLinkFocus","colorTextButtonDefault","colorTextIconDefaultDisabled","colorTextLinkDisabled","colorTextDefault","colorTextInverseActive","colorTextButtonBrandDisabled","colorTextPrimary","colorTextLinkPrimaryFocus","colorTextButtonBrandHover","colorTextLinkHover","colorTextTabLabelFocus","colorTextSuccess","colorTextWeak","colorTextPlaceholderInverse","colorTextIconDefaultHover","colorTextIconDefaultHintBorderless","colorTextPill","colorTextLinkPrimaryHover","colorTextLink","colorTextWarningAlt","colorTextButtonBrand","colorTextTabLabelActive","colorTextIconDefault","colorTextBrand","colorTextTabLabelHover","colorTextButtonDefaultDisabled","colorTextToast","colorTextToggleDisabled","colorTextBrowser","colorTextLinkPrimaryActive","colorTextError","colorTextLinkPrimary","colorTextBrowserActive","colorTextTabLabel","colorTextCustomer","colorTextIconDefaultActive","colorTextBrandPrimary","colorTextLinkActive","colorTextIconDefaultHint","colorTextButtonBrandActive","colorTextRequired","colorTextIconBrand","colorTextInverseHover","colorTextModal","colorTextButtonInverse","buttonColorTextPrimary","colorTextModalButton","colorTextLinkInverseDisabled","colorTextInverse","colorTextButtonDefaultActive","colorTextIconInverseDisabled","colorTextButtonDefaultHint","colorTextIconUtility","colorTextIconInverseHover","colorTextPlaceholder","colorTextInverseWeak","colorTextSecondary","colorTextInputFocusInverse","colorTextStageLeft","colorTextLinkInverseHover","colorTextSuccessInverse","colorTextLabel","FUNC_ERROR_TEXT","eachFunc","baseEach","baseFor","baseFilter","createBaseFor","negate","webpackPolyfill","deprecate","paths","children","alphabet","previousSeed","shuffled","randomFromSeed","ORIGINAL","reset","setCharacters","_alphabet_","Error","unique","split","filter","item","ind","arr","lastIndexOf","getShuffled","characterIndex","sourceArray","targetArray","nextValue","floor","shuffle","characters","seed","lookup","condition","propName","componentName","isRequired","obj","_Modal","_Modal2","canUseDOM","_exenv","EE","SafeHTMLElement","HTMLElement","React","ReactNoopUpdateQueue","Component","updater","isValidElement","RegExpPropType","escapeStringRegexp","blacklist","createReactClass","PropTypes","removeDiacritics","str","normalize","blacklistChars","indexOf","Highlighter","displayName","count","propTypes","search","oneOfType","bool","caseSensitive","ignoreDiacritics","diacriticsBlacklist","matchElement","matchClass","matchStyle","render","createElement","renderElement","subject","isScalar","hasSearch","getSearch","highlightChildren","flags","getMatchBoundaries","matches","first","last","remaining","remainingCleaned","renderPlain","boundaries","nonMatch","renderHighlight","className","style","defaultProps","element","querySelectorAll","tabbable","tabbableNode","hidesContents","zeroSize","offsetWidth","offsetHeight","innerHTML","getComputedStyle","getPropertyValue","focusable","isTabIndexNotNaN","nodeName","toLowerCase","disabled","href","parentElement","document","body","parentNode","visible","tabIndex","getAttribute","isTabIndexNaN","isNaN","assertNodeList","setElement","useElement","_safeHTMLElement","el","globalElement","validateElement","hide","appElement","setAttribute","show","removeAttribute","documentNotReadyOrSSRTesting","resetForTesting","_warning","_warning2","nodeList","selector","isBrowser","longerTimeoutBrowsers","timeoutDuration","navigator","userAgent","debounce","fn","called","then","scheduled","setTimeout","functionToCheck","getStyleComputedProperty","css","getParentNode","host","getScrollParent","ownerDocument","_getStyleComputedProp","overflow","overflowX","overflowY","getOffsetParent","offsetParent","documentElement","getRoot","node","findCommonOffsetParent","element1","element2","order","compareDocumentPosition","Node","DOCUMENT_POSITION_FOLLOWING","end","range","createRange","setStart","setEnd","commonAncestorContainer","contains","firstElementChild","element1root","getScroll","side","upperSide","html","scrollingElement","getBordersSize","styles","axis","sideA","sideB","parseFloat","isIE10","isIE10$1","appVersion","getSize","computedStyle","getWindowSizes","height","width","classCallCheck","instance","Constructor","createClass","defineProperties","target","descriptor","configurable","writable","protoProps","staticProps","_extends","getClientRect","offsets","right","left","bottom","top","getBoundingClientRect","rect","scrollTop","scrollLeft","err","sizes","clientWidth","clientHeight","horizScrollbar","vertScrollbar","getOffsetRectRelativeToArbitraryNode","parent","isHTML","childrenRect","parentRect","scrollParent","borderTopWidth","borderLeftWidth","marginTop","marginLeft","subtract","modifier","includeScroll","isFixed","getBoundaries","popper","reference","padding","boundariesElement","relativeOffset","innerWidth","innerHeight","getViewportOffsetRectRelativeToArtbitraryNode","boundariesNode","_getWindowSizes","getArea","_ref","computeAutoPlacement","placement","refRect","rects","sortedAreas","area","sort","a","b","filteredAreas","_ref2","computedPlacement","variation","getReferenceOffsets","state","getOuterSizes","x","marginBottom","y","marginRight","getOppositePlacement","hash","matched","getPopperOffsets","referenceOffsets","popperRect","popperOffsets","isHoriz","mainSide","secondarySide","measurement","secondaryMeasurement","check","runModifiers","modifiers","ends","prop","findIndex","cur","console","warn","enabled","update","isDestroyed","arrowStyles","attributes","flipped","options","flip","originalPlacement","position","isCreated","onUpdate","onCreate","isModifierEnabled","modifierName","some","getSupportedPropertyName","prefixes","upperProp","charAt","toUpperCase","prefix","toCheck","destroy","disableEventListeners","removeOnDestroy","removeChild","getWindow","defaultView","attachToScrollParents","event","callback","scrollParents","isBody","addEventListener","passive","setupEventListeners","updateBound","scrollElement","eventsEnabled","enableEventListeners","scheduleUpdate","cancelAnimationFrame","removeEventListener","isNumeric","isFinite","setStyles","unit","isModifierRequired","requestingName","requestedName","requesting","_requesting","requested","placements","validPlacements","clockwise","counter","concat","reverse","BEHAVIORS","parseOffset","basePlacement","useHeight","fragments","frag","trim","divider","splitRegex","ops","op","mergeWithPrevious","reduce","toValue","index2","Defaults","shift","shiftvariation","_data$offsets","isVertical","shiftOffsets","preventOverflow","priority","primary","escapeWithReference","secondary","min","keepTogether","opSide","arrow","_data$offsets$arrow","arrowElement","querySelector","len","sideCapitalized","altSide","arrowElementSize","center","popperMarginSide","popperBorderSide","sideValue","round","placementOpposite","flipOrder","behavior","step","refOffsets","overlapsRef","overflowsLeft","overflowsRight","overflowsTop","overflowsBottom","overflowsBoundaries","flippedVariation","flipVariations","getOppositeVariation","subtractLength","bound","computeStyle","legacyGpuAccelerationOption","gpuAcceleration","offsetParentRect","prefixedProperty","willChange","invertTop","invertLeft","applyStyle","onLoad","modifierOptions","Popper","_this","requestAnimationFrame","jquery","Utils","PopperUtils","quip","brandHeaderContrastWeakDisabled","colorGray11","brandPrimaryTransparent10","colorGray12","brandBackgroundDarkTransparent","brandHeader","brandLightActive","brandHeaderContrastWarm","brandHeaderIconDisabled","brandHeaderContrastActive","brandBackgroundPrimary","brandPrimary","brandHeaderContrastWeakActive","brandContrastActive","brandHeaderContrastCool","brandHeaderContrastInverse","brandDark","brandAccessible","brandBackgroundDark","brandTextLinkActive","colorGray1","colorGray2","brandHeaderIconActive","colorGray3","brandHeaderIcon","brandDisabled","brandTextLink","colorGray4","colorGray5","colorGray6","brandAccessibleActive","colorGray7","brandDarkActive","colorGray8","brandHeaderContrastInverseActive","brandHeaderContrastCoolActive","colorGray9","brandContrast","brandHeaderContrastWeak","brandPrimaryActive","brandBackgroundPrimaryTransparent","brandHeaderContrast","brandPrimaryTransparent","brandHeaderContrastWarmActive","brandPrimaryTransparent40","brandLight","colorGray10","extendStatics","__extends","setPrototypeOf","__proto__","__","__assign","__createBinding","k","k2","__setModuleDefault","v","__importStar","mod","__rest","__importDefault","fast_deep_equal_1","normalizeHtml","ContentEditable","_super","lastHtml","innerRef","current","createRef","getEl","emitChange","originalEvt","onChange","evt","_a","tagName","ref","onInput","onBlur","onKeyUp","onKeyDown","contentEditable","dangerouslySetInnerHTML","__html","shouldComponentUpdate","nextProps","componentDidUpdate","createTextNode","appendChild","isTargetFocused","activeElement","nodeValue","sel","getSelection","collapse","removeAllRanges","addRange","focus","replaceCaret","nodeIsDate","isDate","ReactPropTypesSecret","emptyFunction","emptyFunctionWithReset","resetWarningCache","shim","location","propFullName","secret","getShim","ReactPropTypes","any","arrayOf","elementType","instanceOf","objectOf","oneOf","shape","exact","checkPropTypes","build","isValid","clusterWorkerId","generate","seedValue","worker","workerId","newCharacters","_seed_","previousSeconds","seconds","Date","now","random","format","done","loopCounter","pow","randomByte","crypto","msCrypto","getRandomValues","bytes","mask","log","LN2","id","bodyOpenClassName","portalClassName","_createClass","_react","_react2","_interopRequireDefault","_reactDom2","_propTypes2","_ModalPortal2","ariaAppHider","newObj","_interopRequireWildcard","_safeHTMLElement2","_reactLifecyclesCompat","_classCallCheck","_possibleConstructorReturn","ReferenceError","isReact16","createPortal","getCreatePortal","unstable_renderSubtreeIntoContainer","getParentElement","parentSelector","Modal","_Component","_temp","_len","_key","getPrototypeOf","removePortal","unmountComponentAtNode","portalRef","portal","renderPortal","defaultStyles","subClass","superClass","_inherits","prevProps","prevParent","nextParent","_","snapshot","_props","isOpen","closesAt","closeTimeoutMS","beforeClose","closeWithTimeout","content","overlay","htmlOpenClassName","base","afterOpen","overlayClassName","onAfterOpen","onRequestClose","ariaHideApp","shouldFocusAfterRender","shouldCloseOnOverlayClick","shouldReturnFocusAfterClose","aria","role","contentLabel","shouldCloseOnEsc","overlayRef","contentRef","backgroundColor","border","background","WebkitOverflowScrolling","borderRadius","outline","polyfill","_typeof","iterator","focusManager","_scopeTab2","classList","CLASS_NAMES","ariaHiddenInstances","ModalPortal","setOverlayRef","setContentRef","afterClose","_this$props","remove","getElementsByTagName","returnFocus","teardownScopedFocus","popWithoutFocus","onAfterClose","open","beforeOpen","clearTimeout","closeTimer","setState","setupScopedFocus","markForFocusLater","close","closeWithoutTimeout","focusContent","contentHasFocus","handleKeyDown","keyCode","stopPropagation","requestClose","handleOverlayOnClick","shouldClose","ownerHandlesClose","handleContentOnMouseUp","handleOverlayOnMouseDown","preventDefault","handleContentOnClick","handleContentOnMouseDown","shouldBeClosed","buildClassName","which","additional","attributesFromObject","items","acc","moveFromContentToOverlay","prevState","_props2","contentStyles","overlayStyles","onClick","onMouseDown","onMouseUp","testId","handleBlur","handleFocus","focusLaterElements","toFocus","modalElement","attachEvent","detachEvent","_tabbable","_tabbable2","needToFocus","shiftKey","head","tail","checkSafari","ExecutionEnvironment","canUseWorkers","Worker","canUseEventListeners","canUseViewport","screen","dumpClassLists","htmlClassList","docBodyClassList","classString","classListRef","poll","incrementReference","decrementReference","componentWillMount","getDerivedStateFromProps","componentWillReceiveProps","componentWillUpdate","nextState","__reactInternalSnapshotFlag","__reactInternalSnapshot","getSnapshotBeforeUpdate","isReactComponent","foundWillMountName","foundWillReceivePropsName","foundWillUpdateName","UNSAFE_componentWillMount","UNSAFE_componentWillReceiveProps","UNSAFE_componentWillUpdate","newApiName","maybeSnapshot","__suppressDeprecationWarning","propType","matchOperatorsRe","src","copy","_assign","emptyObject","_invariant","f","error","argIndex","framesToPop","MIXINS_KEY","ReactComponent","injectedMixins","ReactClassInterface","mixins","statics","contextTypes","childContextTypes","getDefaultProps","getInitialState","getChildContext","componentDidMount","componentWillUnmount","updateComponent","ReactClassStaticInterface","RESERVED_SPEC_KEYS","mixSpecIntoComponent","createMergedResultFunction","mixStaticSpecIntoComponent","autobind","validateMethodOverride","isAlreadyDefined","specPolicy","ReactClassMixin","spec","autoBindPairs","__reactAutoBindPairs","isReactClassMethod","createChainedFunction","mergeIntoWithNoDuplicateKeys","one","two","bindAutoBindMethod","component","method","IsMountedPreMixin","__isMounted","IsMountedPostMixin","replaceState","newState","enqueueReplaceState","isMounted","ReactClassComponent","context","autoBindKey","bindAutoBindMethods","refs","initialState","methodName","propIsEnumerable","toObject","val","test1","getOwnPropertyNames","test2","fromCharCode","test3","letter","shouldUseNative","from","symbols","to","keyList","hasProp","equal","arrA","arrB","dateA","dateB","getTime","regexpA","regexpB","ALERT","APP_LAUNCHER","APP_LAUNCHER_EXPANDABLE_SECTION","APP_LAUNCHER_TILE","AVATAR","BREADCRUMB","BUILDER_HEADER_MISC","BUILDER_HEADER_NAV","BUILDER_HEADER_NAV_DROPDOWN","BUILDER_HEADER_NAV_LINK","BUILDER_HEADER_TOOLBAR","BUTTON","BUTTON_GROUP","BUTTON_STATEFUL","BUTTON_ICON","COLOR_PICKER","COMBOBOX","DATA_TABLE","DATA_TABLE_CELL","DATA_TABLE_COLUMN","DATA_TABLE_HEAD","DATA_TABLE_ROW_ACTIONS","DATA_TABLE_ROW","DATE_PICKER","CHECKBOX","FORMS_INLINE_EDIT","INPUT","TEXTAREA","SEARCH","GLOBAL_HEADER","GLOBAL_HEADER_FAVORITES","GLOBAL_HEADER_HELP","GLOBAL_HEADER_NOTIFICATIONS","GLOBAL_HEADER_PROFILE","GLOBAL_HEADER_SEARCH","GLOBAL_HEADER_SETUP","GLOBAL_HEADER_TASK","GLOBAL_HEADER_TOOL","GLOBAL_NAVIGATION_BAR_DROPDOWN","GLOBAL_NAVIGATION_BAR_REGION","ICON","LIST","LOOKUP","MENU_DROPDOWN","MENU_DROPDOWN_TRIGGER","MENU_PICKLIST","MODAL","PANEL_FILTER_GROUP","PAGE_HEADER","PAGE_HEADER_CONTROL","POPOVER","POPOVER_TOOLTIP","SETUP_ASSISTANT","SETUP_ASSISTANT_STEP","SCOPED_NOTIFICATION","SPINNER","RADIO","TIME_PICKER","TOAST","TREE","VERTICAL_NAVIGATION","Accordion","currButtonIndex","summaryButtons","generatedId","shortid","buttonIndex","button","btnInArr","Children","child","cloneElement","summaryButton","addSummaryButton","onClickSummary","onKeyDownSummary","checkProps","DIRECTIONS","UNSAFE_DirectionSettings","createContext","Svg","circles","ellipses","groups","getShapes","shapes","getGroups","ellipse","getEllipses","circle","getCircles","getPaths","viewBox","rest","aria-hidden","getSVG","icons","LanguageDirectionHOC","WrappedComponent","direction","Consumer","getWrappedComponent","UtilityIcon","category","assistiveText","icon","inlineData","modifiedPath","inlineIcons","action","SLDS_ICONS_ACTION","custom","SLDS_ICONS_CUSTOM","doctype","SLDS_ICONS_DOCTYPE","standard","SLDS_ICONS_STANDARD","utility","SLDS_ICONS_UTILITY","onRequestIconPath","svgAssetName","RTL","iconPath","actionSprite","customSprite","doctypeSprite","standardSprite","utilitySprite","LanguageDirection","ButtonIcon","inverse","hint","documentDefined","Portal","portalNode","unmountPortal","only","renderTo","parentParentNode","getPortalParentNode","renderTag","portalNodeInstance","onMount","ReactDOM","getChildren","setupPortalNode","portalMount","reactElement","domContainerNode","updateCallback","updatePortal","onOpen","onUnmount","EventUtil","trapEvent","nativeEvent","trap","trapImmediate","stopImmediatePropagation","ENTER","ESCAPE","SPACE","LEFT","UP","RIGHT","DOWN","TAB","DELETE","BACKSPACE","findTabbableDescendants","Boolean","ancestor","focusLaterElement","handleScopedKeyDown","KEYS","tabbableElements","findTabbableElement","ElementFocus","focusAncestor","isPortal","pageYOffset","preventScroll","scrollTo","pageXOffset","hasOrAncestorHasFocus","returnFocusToStoredElement","ancestorElement","storeActiveElement","mapPropToPopperPlacement","align","getNubbinClassName","popperData","ROTATED_HEIGHT","sqrt","getNubbinMargins","DISTANCE_OFFSET_PX","ROTATED_HEIGHT_PX","halfWidth","halfHeight","IconSettings","Dialog","triggerPopperJS","offsetString","offsetArray","vertical","horizontal","pointerEvents","propOffsets","getPropOffsetsInPixels","nubbinOffsets","hasNubbin","dialogContent","handleClose","onClose","closeOnTabKey","variant","DOMElementFocus","onRequestTargetElement","hasStaticAlignment","updateState","isEqual","handleOpen","createPopper","destroyPopper","getPopperStyles","inheritWidthOf","outerTag","contents","outsideClickIgnoreClass","contentsClassName","onMouseEnter","onMouseLeave","setDialogContent","containerProps","subRenders","absolute","relative","overflowBoundaryElement","truthyIconSettingsContext","accumulatedContext","wrapped","Provider","LTR","classNamesWrapper","colorVariant","Icon","componentDoc","containerClassName","containerStyle","title","productTheme","IconBackgrounds","label","kababCaseName","tooltipTipLearnMoreIcon","triggerLearnMoreIcon","dialogClassName","hasAnchoredNubbin","hoverCloseDelay","hoverOpenDelay","labels","learnMoreAfter","learnMoreBefore","triggerClassName","triggerStyle","theme","Tooltip","tooltipTimeout","isUnmounting","trigger","triggerRendered","alignment","nubbinContainerStyles","nubbinStyles","triggerDimensions","Fragment","getId","getIsOpen","noChildrenProvided","onClickTrigger","aria-disabled","iconCategory","iconName","handleMouseLeave","onFocus","handleMouseEnter","deprecatedWay","handleCancel","getTooltipTarget","getTooltipContent","containerStyles","display","lineHeight","saveTriggerRef","getAnchoredNubbinStyles","getContent","getTooltip","getAriaProps","prev","substr","getDataProps","formPropsSet","iconSize","responsive","Button","isIcon","iconVariant","iconMore","iconBorder","iconGlobalHeader","showButtonVariant","plainInverseBtn","plainInverseIcon","moreInverseIcon","borderInverseIcon","iconClassName","iconPosition","iconOnly","assistiveTextIcon","ariaProps","dataProps","formProps","getFormProps","getClassName","handleClick","onKeyPress","buttonRef","renderLabel","renderIcon","tooltip","renderButton","renderTooltip","requiredIf","expanded","panelContentActions","onTogglePanel","summary","AccordionPanel","aria-controls","aria-expanded","closeButton","dismissible","heading","headingLink","onClickHeadingLink","Alert","isInitialRender","onDismiss","defaultIcons","info","offline","clonedIcon","saveButtonRef","AlertContainer","lowPriorityWarning","appRoot","assetsPath","settings","setAssetsPath","getAssetsPath","setAppElement","getAppElement","checkAppElementIsSet","windowDefined","dialogLabel","dialogLabelledBy","contentClassName","contentStyle","directional","disableClose","dismissOnClickOutside","footer","header","headerClassName","prompt","tagline","toast","isClosing","handleModalClick","closeModal","dismissModalOnClickOutside","setReturnFocus","updateBodyScroll","findDOMNode","clearBodyScroll","borderRadiusValue","borderTopRadius","borderTopLeftRadius","borderTopRightRadius","borderBottomRadius","borderBottomLeftRadius","borderBottomRightRadius","modalStyle","justifyContent","getBorderRadius","contentStyleFromProps","aria-describedby","aria-label","aria-labelledby","aria-modal","isPrompt","headerComponent","footerComponent","returnFocusTo","dismissModal","hasFooter","footerClass","footerClassNames","headerContent","headerEmpty","closeButtonAssistiveText","zIndex","getModal","AppLauncher","triggerOnClick","returnVal","focusedOnSearch","input","noTruncate","maxWidth","customModalHeader","renderSearch","modalHeaderButton","triggerAssistiveText","aria-haspopup","openAppLauncher","modalClassName","minHeight","closeAppLauncher","triggerName","toggleSection","nonCollapsible","onToggleOpen","ExpandableSection","contentId","buttonAriaProps","titleNode","toggleOpen","AppLauncherExpandableSection","expandableSectionProps","ulChildrenType","ulContent","liClasses","AppLauncherLink","canvas","canvasContext","measureWidth","getContext","createDocumentFragment","text","font","measureText","TextTruncate","scope","line","suffix","textTruncateChild","truncateText","wrapper","scopeWidth","renderText","outputText","currentPos","maxTextLength","truncatedText","splitPos","startPos","displayLine","lastIsEng","lastSpaceIndex","ext","extraWidthDueToPrefixStyle","lastWidth","getRenderText","onResize","dragIconText","description","descriptionHeading","iconBackgroundColor","iconNode","iconText","isOpenTooltip","moreLabel","AppLauncherTile","iconStyles","letterSpacing","imgAlt","imgSrc","initials","Avatar","imgLoadError","nameParts","alt","onError","handleImageError","iconAssistiveText","buildInitials","renderBaseAvatar","renderInitialsAvatar","renderIconAvatar","Badge","iconAlignment","color","BrandBand","styleContainer","injectLightningBlueStyles","backgroundSize","image","isNodeFound","componentNode","ignoreClass","correspondingElement","passiveEventSupport","handlersMap","enabledInstances","touchEvents","getEventHandlerOptions","eventName","handlerOptions","config","_class","onClickOutside","__outsideClickHandler","__clickOutsideHandlerProp","getInstance","handleClickOutside","__getComponentNode","setClickOutsideRef","enableOnClickOutside","_uid","noop","testPassiveEventSupport","events","eventTypes","excludeScrollbar","clientX","clientY","findHighest","disableOnClickOutside","getRef","instanceRef","_proto","excluded","sourceKeys","sourceSymbolKeys","wrappedRef","getClass","ListItemLabel","inverted","isSelected","ListItem","Label","labelRenderer","checkmark","getIcon","classnames","iconProps","onSelect","handleMouseDown","itemContents","aria-checked","data-index","getLabel","tooltipContent","tooltipTemplate","tooltipTemplateProps","tooltipProps","aria-selected","leftIcon","rightIcon","ListItemLabelRenderer","List","lengthClassName","list","triggerId","option","getListItemId","isSingleSelected","selectedIndex","isMultipleSelected","selectedIndices","itemRenderer","listItem","itemRefs","tooltipMenuItem","Trigger","isInline","menu","triggerRef","deprecatedPropsFromMenuDropdown","openOn","propsFromGrandchildButton","KeyBuffer","timeout","keyboardNavigate","focusedIndex","componentContext","currentFocusedIndex","navigableItems","indexes","lastIndex","ch","openMenuKeys","navigableIndex","pattern","keyBuffer","consecutive","escapeRegExp","currentOpenDropdown","getNavigableItems","itemIsSelectable","DropdownToDialogNubbinMapping","buttonClassName","buttonInverse","buttonVariant","listItemRenderer","menuPosition","menuStyle","nubbinPosition","multiple","MenuDropdown","foundIndex","menuItemId","menuId","isHover","listItems","getIndexByValue","triggerContainer","handleKeyboardFocus","handleOpenForHover","handleCloseForHover","setFocus","currentIndices","deselectIndex","currentSelected","getValueByIndex","optionIndex","handleKeyboardNavigate","handleSelect","componentRef","getMenu","menuItem","getMenuItem","getElementById","focusMenuItem","scrollToMenuItem","menuHeight","menuTop","menuItemTop","offsetTop","menuBottom","menuItemBottom","customListProps","saveRefToListItem","getListItemRenderer","onCancel","saveRefToList","customContent","customContentWithListPropInjection","renderDefaultMenuContent","clonedCustomContent","handleClickCustomContent","positionClassName","positions","menuStylesBase","inheritTargetWidth","renderMenuContent","currentSelectedIndices","getCurrentSelectedIndices","renderOverlay","CurrentTrigger","DefaultTrigger","CustomTriggerChildProps","renderDialog","saveRefToTriggerContainer","saveRefToTrigger","overflowDropdownMenu","trail","Breadcrumb","overflowDropdownMenuProps","threedots","getBreadcrumbDropdown","crumb","backIcon","helpIcon","onClickBack","onClickHelp","back","help","pageType","BuilderHeader","nav","toolbar","misc","BuilderHeaderMisc","BuilderHeaderNav","BuilderHeaderNavDropdown","BuilderHeaderNavLink","actions","onRenderActions","BuilderHeaderToolbar","classNameContainer","ButtonGroup","zeroIndexLength","newChild","cloneProps","active","stateOne","stateTwo","stateThree","ButtonStateful","currentTarget","blur","defaultIconProps","isActive","cssClasses","MediaObject","verticalCenter","canTruncate","figure","renderFilter","clonedFilter","CardHeader","Header","headingId","hasFilter","filterId","headerActionsId","headerActions","CardBody","CardFooter","CardEmpty","idSuffixes","Card","bodyId","empty","hasNoHeader","bodyClassName","InputIcon","variants","combobox","hasContainer","isDelayed","isInput","Spinner","spinnerClassName","spinner","COUNTER","autoComplete","fixedTextLeft","fixedTextRight","hasSpinner","iconLeft","iconRight","inputRef","isStatic","onInvalid","onSubmit","placeholder","minLength","minValue","maxLength","maxValue","readOnly","required","InnerInput","inlineEditTrigger","htmlFor","labelText","static","helpers","removeUndefined","fieldLevelHelpTooltip","FieldLevelHelpTooltip","objectHelpers","DECREMENT","INCREMENT","decrement","increment","Input","generatedErrorId","Number","getValueAsNumber","performStep","stopStepping","iconPositionProp","deprecatedProps","onIconClick","stepping","valueChanged","decimalPlaces","minOverflow","toFixed","forceUpdate","currentDelay","speedDelay","initialDelay","errorText","setInputRef","hasRenderedLabel","getIconRender","getCounterButtonIcon","fieldLevelHelpButton","aria-activedescendant","aria-autocomplete","getErrorId","aria-owns","aria-required","handleChange","styleInput","inlineHelpText","Filter","CarouselIndicators","currentIndex","hasFocus","noOfIndicators","isSelectedPanel","indicatorActionClassName","startItemIndex","itemsPerPanel","autoIndicatorText","margin","carouselId","getPanelId","itemId","previousNextCarouselNavigator","inlineStyle","isDisabled","CarouselItem","panelIndex","itemWidth","onRenderItem","isInCurrentPanel","imageAssistiveText","buttonLabel","AutoplayButton","isAutoplayOn","Carousel","next","getCurrentPanel","nrOfPanels","setCurrentPanel","changeTranslationAutomatically","indicatorsHaveFocus","panel","getIsAutoplayOn","stopAutoplay","onRequestAutoplayToggle","actionToTake","startAutoplay","stageItem","stageWidth","amount","cb","translateX","onRequestPanelChange","currentPanel","requestedPanel","autoplayId","setInterval","canGoToNext","onNextPanelHandler","isInfinite","autoplayInterval","ignoreCallbacksAndStateUpdates","clearInterval","setTranslationAmount","keyDownCallbacks","canGoToPrevious","onPreviousPanelHandler","ceil","hasAutoplay","setDimensions","mountAutoplayEvent","updateAutoplayEvent","unmountAutoplayEvent","hasPreviousNextPanelNavigation","isPreviousBtnDisabled","isNextBtnDisabled","carouselMargins","autoplayButton","onAutoplayBtnClick","previousPanel","onItemClick","nextPanel","onIndicatorBlur","onIndicatorClickHandler","onIndicatorFocus","checked","defaultChecked","indeterminate","toggleDisabled","toggleEnabled","coverable","onRenderVisualPicker","onRenderVisualPickerSelected","onRenderVisualPickerNotSelected","Checkbox","idArray","oldEventParameterOrder","getAriaDescribedBy","labelId","aria-live","renderBaseVariant","renderButtonGroupVariant","toggle","renderToggleVariant","renderVisualPickerVariant","CustomColorForm","describedBy","errorTextWorkingColor","errors","hex","hexLabel","onHexChange","red","redAbbreviated","onRedChange","rgb","green","greenAbbreviated","onGreenChange","blue","blueAbbreviated","onBlueChange","errorId","RadioGroup","generatedName","hasError","getName","RadioButtonGroup","Swatch","innerStyle","backgroundImage","swatchTabTransparentSwatch","Radio","preventDuplicateChangeEvent","radio","deselectable","charCode","COLOR_NAMES","aliceblue","antiquewhite","aqua","aquamarine","azure","beige","bisque","black","blanchedalmond","blueviolet","brown","burlywood","cadetblue","chartreuse","chocolate","coral","cornflowerblue","cornsilk","crimson","cyan","darkblue","darkcyan","darkgoldenrod","darkgray","darkgreen","darkkhaki","darkmagenta","darkolivegreen","darkorange","darkorchid","darkred","darksalmon","darkseagreen","darkslateblue","darkslategray","darkturquoise","darkviolet","deeppink","deepskyblue","dimgray","dodgerblue","firebrick","floralwhite","forestgreen","fuchsia","gainsboro","ghostwhite","gold","goldenrod","gray","greenyellow","honeydew","hotpink","indianred","indigo","ivory","khaki","lavender","lavenderblush","lawngreen","lemonchiffon","lightblue","lightcoral","lightcyan","lightgoldenrodyellow","lightgrey","lightgreen","lightpink","lightsalmon","lightseagreen","lightskyblue","lightslategray","lightsteelblue","lightyellow","lime","limegreen","linen","magenta","maroon","mediumaquamarine","mediumblue","mediumorchid","mediumpurple","mediumseagreen","mediumslateblue","mediumspringgreen","mediumturquoise","mediumvioletred","midnightblue","mintcream","mistyrose","moccasin","navajowhite","navy","oldlace","olive","olivedrab","orange","orangered","orchid","palegoldenrod","palegreen","paleturquoise","palevioletred","papayawhip","peachpuff","peru","pink","plum","powderblue","purple","rebeccapurple","rosybrown","royalblue","saddlebrown","salmon","sandybrown","seagreen","seashell","sienna","silver","skyblue","slateblue","slategray","snow","springgreen","steelblue","tan","teal","thistle","tomato","turquoise","violet","wheat","white","whitesmoke","yellow","yellowgreen","HEX_REGEX","ColorUtils","getNewColor","customHexValidator","oldColor","isValidHex","hsv","hue","saturation","returnColor","getHsvFromHex","getRgbFromHex","getRgbErrors","includes","getHexFromRgb","getHsvFromRgb","getHexFromHsv","getRgbFromHsv","getDeltaColor","limitValue","toSixDigitHex","keyValue","getHexFromNamedColor","redRatio","greenRatio","blueRatio","delta","hueRatio","satRatio","valRatio","q","getHex","selectedStyle","boxShadow","unselectedStyle","HsvColor","isTransparentSelected","onSwatchChange","swatchStyle","isTransparent","transparentSwatchStyle","fallbackWorkingColor","previousColor","workingColor","saturationValueGrid","rangeIndicator","onSaturationValueChange","aria-atomic","onSaturationNavigate","onValueNavigate","multiplier","hueSlider","onHueChange","handleSwatchChange","customTabActiveWorkingColorSwatch","customTabTransparentSwatch","CustomColor","invalidColor","invalidComponent","selectedInnerStyle","SwatchOption","swatchOptionRef","SwatchPicker","swatchColors","nextIndex","prevColor","swatchColorRefs","prevIndex","nextColor","selectNextColor","selectPreviousColor","isSelectedColorInSwatch","addRef","TabsList","aria-orientation","Tab","selected","checkFocus","panelId","activeTabClassName","disabledTabClassName","withErrorIcon","TabPanel","tabId","isTabDisabled","defaultSelectedIndex","Tabs","isTabFromContainer","setSelected","getSelectedIndex","getPrevTab","getNextTab","tabs","flavor","getVariant","getTabsCount","getTab","isInteger","tab","shouldContinue","isTabNode","nodeAncestor","tabsNode","parentId","toArray","data-tabs","renderTabsList","renderTabPanels","Panel","KeyboardNavigableDialog","eventTarget","internalHandleClick","currentOpenPopover","hasNoCloseButton","hasNoNubbin","Popover","dialog","inputRendered","triggerOnClickCallback","keyboardNavigableDialog","targetTarget","toggleOpenFromKeyboard","hasThemedHeader","hasDefinedHeader","headerIcon","headerVariants","ariaLabelledby","themed","classNameBody","borderBottom","textAlign","stepText","classNameFooter","footerClassName","footerStyle","footerWalkthroughActions","handleDialogClose","getTargetElement","setMenuRef","otherChildren","clonedTrigger","hasNoTriggerStyles","setContainerRef","classNameMenu","onRequestOpen","onValidateColor","onValidateWorkingColor","onWorkingColorChange","hideInput","cancelButton","customTab","swatchTab","submitButton","defaultSelectedTab","valueWorking","ColorPicker","setWorkingColor","handleCancelState","handleCancelButtonClick","currentColor","previousWorkingColor","namedColorHex","colorErrorMessage","handleHexInputChange","handleSwatchSelect","handleColorChange","handleSaturationValueChange","handleNavigate","popoverBody","getDefaultTab","getCustomTab","popoverFooter","handleSubmitButtonClick","handleOnRequestClose","handleSwatchButtonClick","newColor","colorProperties","getPopover","getInput","activeOption","activeOptionIndex","classNameMenuSubHeader","inputId","itemVisibleLength","noOptionsFound","onRenderMenuItem","menuRef","resetActiveOption","selection","hasMenuSpinner","optionsAddItem","optionsSearchEntity","tooltipMenuItemDisabled","setBold","searchTerm","labelProp","Menu","menuOptions","localOptionsSearchEntity","entity","localOptionsAddItem","getOptions","optionData","MenuItem","inputValue","disabledProps","tooltipId","cursor","subTitle","checkbox","optionSelectedInMenu","userDefinedTooltipProps","silenceTriggerTabbableWarning","loadingMenuItems","mapKeyEventCallbacks","callbacks","shiftCallbacks","avatar","bare","removeTitle","onRemove","Pill","defaultPrevented","getHref","restProps","handleRef","renderRemoveIcon","eventData","onRequestFocus","onRequestFocusOnNextPill","onRequestFocusOnPreviousPill","onRequestRemove","requestFocus","handleClickRemove","$$typeof","removePill","selectedListboxLabel","onClickPill","onPillFocus","isBare","isPillContainer","listboxAriaOrientation","listboxRole","containerAriaOrientation","containerRole","renderAtSelectionLength","selectedListboxRef","listboxHasFocus","SelectedListBox","renderIndex","hasTabIndex","iconObject","avatarObject","getAvatar","onBlurPill","removePillTitle","keyLetterMenuItemSelect","itemLabel","menuItemSelectScroll","container","itemTag","scrollPadding","domItem","popoverLabel","removeSingleSelectedOption","onRequestRemoveSelectedOption","hasInputSpinner","multipleOptionsSelected","placeholderReadOnly","menuMaxWidth","boolean","menuItemVisibleLength","predefinedOptionsOnly","popover","singleInputDisabled","entityCombobox","doneButton","optionDisabledTooltipLabel","Combobox","defaultPopoverProps","popoverProps","newIndex","localProps","handleRequestClose","requestOpenMenu","getIsActiveOption","handleKeyDownDown","handleInputSubmit","handleKeyDownUp","handleKeyDownTab","handleKeyDownOther","openDialog","handleNavigateListboxMenu","menuKeyBuffer","previous","getNewActiveOptionIndex","isLastOptionAndRightIsPressed","activeSelectedOptionIndex","isFirstOptionAndLeftIsPressed","activeSelectedOption","onlyOnePillAndInputExists","isReadOnlyAndTwoPillsExists","lastPillWasRemoved","reject","activeSelectedOptionRef","newSelection","singleSelectAndSelectedWasNotClicked","multiSelectAndSelectedWasNotClicked","userDefinedProps","inputIconTitle","handleInputFocus","handleInputBlur","handleInputChange","getDialog","menuRenderer","renderMenu","handleBlurPill","handlePillFocus","handleRequestFocusSelectedListbox","handleNavigateSelectedListbox","handleRemoveSelectedOption","setSelectedListboxRef","readonlyItemVisibleLength","clearActiveOption","readonly","getCustomPopoverProps","subRenderParameters","multipleOrSingle","renderBase","single","renderInlineMultiple","renderInlineSingle","renderPopover","renderReadOnlyMultiple","renderReadOnlySingle","variantExists","mainCombobox","limit","inputValueRegExp","searchTermFoundInLabel","searchTermFoundInSubtitle","isSeparator","notAlreadySelected","DataTableCell","childText","fixedLayout","cell","data-label","headers","headerId","primaryColumn","DataTableColumn","isDefaultSortDescending","isSorted","sortable","sortDirection","truncate","CellFixed","flexDirection","flexWrap","DataTableHeaderCell","onSort","fixedHeader","labelType","ariaSort","fixedLayoutSubRenders","handleSort","assistiveTextForColumnSort","columnSort","assistiveTextForColumnSortedAscending","columnSortedAscending","assistiveTextForColumnSortedDescending","columnSortedDescending","notSortable","headerCellContent","aria-sort","cellRef","paddingBottom","paddingTop","visibility","alignItems","flex","actionsHeader","selectAllRows","selectRow","DataTableHead","showRowActions","headerRefs","canSelectRows","idSuffix","ariaHidden","selectRowGroup","allSelected","indeterminateSelected","onToggleAll","selectHeader","getActionsHeader","getSelectHeader","columns","column","Cell","DataTableRow","onToggle","rowActions","tableId","handleToggle","cellId","rowHeader","DataTableRowActions","onAction","dropdown","defaultDropdownProps","noHint","dropdownProps","loadingMore","hasMore","loadMoreOffset","DataTable","onRowChange","selectRows","select","onFixedHeaderResize","scrollerRef","documentScrollLeft","columnLeft","wrapperLeft","cellFixed","onLoadMore","scrollHeight","attach","onToggleFixedHeaderListeners","resizeHandler","resizeFixedHeaders","onScrollerScroll","toggleFixedHeaderListeners","numRows","numSelected","numNonHeaderRows","RowActions","columnProps","dataTableProps","dropdownPropOverrides","assistiveTextForActionsHeader","assistiveTextForSelectAllRows","assistiveTextForSelectRow","unborderedRow","unbufferedCell","stackedHorizontal","striped","columnBordered","noRowHover","handleToggleAll","rowId","onRenderSubHeadingRow","classNameRow","handleRowToggle","borderTop","joined","borderLeft","borderRight","onScroll","containerScrollLeft","DataTableHighlightCell","DateUtil","firstDayOfMonth","date","newDate","setDate","isFirstDayOfMonth","getDate","isLastDayOfMonth","isSameMonth","addDays","d1","d2","getFullYear","getMonth","isSameDay","isCurrentMonth","isToday","deltaDays","addWeeks","deltaWeeks","nearestWeekDay","weekDayIndex","getDay","isLeapYear","year","getDaysInMonth","month","addMonths","dateOfNewDate","setMonth","DatepickerCalendarDay","initialDateForCalendarRender","isSelectedDay","selectedDate","onSelectDate","onCalendarBlur","onKeyboardNavigateToPreviousDay","onKeyboardNavigateToNextDay","onKeyboardNavigateToPreviousWeek","onKeyboardNavigateToNextWeek","shiftKeyDownCallbacks","selectedDateRef","calendarHasFocus","focusedDate","onRequestInternalFocusDate","todayLabel","DatepickerWeek","days","firstDayOfWeek","dateDisabled","DatepickerCalendar","todayFocus","triggerCallback","prevDate","onChangeMonth","nextDate","firstDayOfWeekOffset","isIsoWeekday","prevWeek","weeks","monthIndex","handleKeyboardNavigateToPreviousDay","handleKeyboardNavigateToNextDay","handleKeyboardNavigateToPreviousWeek","handleKeyboardNavigateToNextWeek","handleSelectDate","extraWeeks","setCalendarRenderSeedDate","sunday","weekDayLabels","abbreviatedWeekDayLabels","renderWeeks","colSpan","onLastFocusableNodeKeyDown","todayRef","DatepickerYearSelector","fromYear","relativeYearFrom","toYear","relativeYearTo","opts","selectedYear","selectedValue","setFullYear","getSelectedValueOption","assistiveTextYear","DatepickerMonthNavigation","monthLabels","assistiveTextPreviousMonth","onPreviousMonthKeyDown","previousMonthClicked","previousMonthRef","getMonthLabel","getYearLabel","assistiveTextNextMonth","nextMonthClicked","handleYearSelect","DatepickerCalendarWrapper","onCalendarFocus","canFocusCalendar","modifiedData","isolated","data-selection","handleInitialDateForCalendarRenderChange","handleFirstFocusableNodeKeyDown","handleCalendarBlur","handleRequestFocusDate","handleLastFocusableNodeKeyDown","nextMonth","openCalendar","previousMonth","formatter","formattedValue","abbreviatedWeekDays","months","today","weekDays","parser","Datepicker","parseDate","abbrWeekDayLabels","isOpenFromIcon","handleCalendarChange","selectedDateCell","getDatePicker","defaultInputProps","assistiveTextOpenCalendar","openDialogFromIcon","topLevelDeprecatedComponentProps","childrenProps","childrenPropInputProps","inputRenderProps","formattedDate","timezoneOffset","getTimezoneOffset","onDateChange","isRequestFromIcon","parsedDate","strValue","dateString","initDate","inputProps","getInputProps","inputToRender","isPaused","scorePolarity","strengthLevel","trendDirection","DynamicIcon","defaultAssistiveText","cx","cy","getIconChildren","unshift","cancel","save","EditDialog","onSave","verticalAlign","isModified","addCondition","addGroup","onChangeTrigger","onChangeCustomLogicValue","onAddCondition","onAddGroup","focusOnMount","customLogic","takeAction","triggerAll","triggerAlways","triggerAny","triggerCustom","triggerFormula","isRoot","triggerType","customLogicValue","ExpressionGroup","rootNode","Triggers","getTriggers","triggerCombobox","triggerChange","getTriggerSelection","buttons","Expression","deleteIcon","onChangeResource","onChangeOperator","onChangeValue","onDelete","deleteCondition","operator","resource","isSubCondition","resourcesList","resourceSelected","operatorsList","operatorSelected","ExpressionCondition","onChangeTextEditor","onClickCheckSyntax","checkSyntax","textArea","resourceCombobox","functionCombobox","operatorInput","textEditorValue","ExpressionFormula","textEditorRef","handleTextEditorChange","FileFigure","isLoading","link","loading","FileActions","onClickDownload","download","hasNoVisibleTitle","moreActionsDropdown","moreActions","crop","onClickImage","externalIcon","File","injectMoreActionsStyles","columnClassName","Files","files","MoreFiles","popoverIsOpen","editFilterHeading","editFilter","assistiveTextEditFilter","assistiveTextEditFilterHeading","removeFilter","assistiveTextRemoveFilter","isLocked","isNew","isError","silenceDeprecatedPropertyWarning","handleFilterClick","isPermanent","handleRemove","skipToNav","skipToContent","logoSrc","GlobalHeader","onSkipToContent","onSkipToNav","handleSkipToNav","skipToNavAssistiveText","handleSkipToContent","skipToContentAssistiveText","actionItem","navigation","GlobalHeaderButton","btn","GlobalHeaderDropdownTrigger","globalAction","renderAvatar","positioned","GlobalHeaderDropdown","iconVariantOverride","more","actionDisabled","actionSelected","onToggleActionSelected","GlobalHeaderFavorites","actionAriaProps","toggleActionSelected","triggerButton","GlobalHeaderHelp","newNotificationsAfter","newNotificationsBefore","noNotifications","notificationCount","GlobalHeaderNotifications","notificationsAssistiveText","GlobalHeaderProfile","userName","GlobalHeaderSearch","GlobalHeaderSetup","dropdownChildren","GlobalHeaderTask","GlobalNavigationBar","primaryRegion","tertiaryRegion","secondaryRegions","cloud","region","GlobalNavigationButton","dividerPosition","GlobalNavigationDropdownTrigger","activeBackgroundColor","listItemstyle","hoverBackgroundColor","colors","borderBottomColor","GlobalNavigationBarDropdown","GlobalNavigationBarLabel","GlobalNavigationBarLink","activeDescriptor","Region","dividerClass","renderPrimary","renderSecondary","renderTertiary","Illustration","illustration","messageBody","illustrationSvg","xlinkHref","internalIllustration","onEnterEditMode","onLeaveEditMode","InlineEdit","willSave","isEditing","saveEdits","endEditMode","autoFocus","inputNode","triggerEditMode","handleKeyUp","Search","clearable","onClear","onSearch","defaultLocation","address","locations","onClickLocation","googleAPIKey","LocationMap","encodeURIComponent","aria-pressed","DefaultHeader","DefaultFooter","newItemLabel","DefaultSectionDivider","handleItemFocus","listItemLabelRenderer","Item","scrollFocus","iconInverse","labelClassName","itemRef","itemClassName","li","getCustomLabel","boldRegex","emptyMessage","filterWith","focusIndex","getListLength","listLength","itemIndex","itemHeight","listRef","filteredItems","nextItem","filterEmptySections","renderItems","sectionDividerRenderer","SectionDivider","sectionDivider","renderHeader","renderContent","renderFooter","normalizeSearchTerm","Lookup","currentFocus","selectedItem","nextFocusIndex","filteredItem","menuComponent","getFilteredItemForIndex","headerRenderer","headerActive","Footer","footerRenderer","numFocusable","getNumFocusableItems","footerActive","qty","prevFocusIndex","selectItemByIndex","focusInput","onUnselect","handleEscape","setFirstIndex","increaseIndex","decreaseIndex","selectItem","handleDeleteSelected","focusOnRender","itemsToModify","getFooter","getHeader","hasStaticAlignement","flippable","constrainToScrollParent","describedById","inputRefId","pill","pills","handlePillKeyDown","modifyItems","newProps","modal","formElementControlClasses","data-select","data-scope","renderSelectedItem","renderInput","renderInlineMenu","renderSeparateMenu","term","MenuPicklist","onPillRemove","initValueIndex","currentPillLabel","closeOnClick","currentSelectedIndex","getClickEventName","isTrigger","maxHeight","minWidth","renderTrigger","renderPills","selectedPills","selectedPill","pillLabel","newData","orientation","requiredElem","ModalTrigger","cfg","componentIsDeprecated","comp","data-id","url","categoryId","aria-current","VerticalNavigation","selectedId","categories","rootId","getSelectedId","duration","texture","Notification","dismissBtnRef","dismissBtn","renderClose","renderToastContent","renderAlertContent","alertStyles","blankContent","Info","Title","DetailBlock","showTooltip","renderFieldTruncation","labelClasses","field","fieldContentRef","fieldContent","scrollWidth","renderContentWithTooltip","details","DetailRow","detail","renderDetails","Controls","controls","isUsingLegacyProp","legacyControls","vettedControls","contentRight","onRenderControls","navRight","Base","iconClasses","RecordHome","nameSwitcherDropdown","ObjectHome","comntentRight","RelatedList","PageHeader","Variant","Control","PanelFilterFooter","addFilterLabel","onClickAdd","onClickRemoveAll","removeAllLabel","PanelFilterHeader","cancelLabel","modified","onRequestCancel","onRequestSave","saveLabel","PanelFilterGroup","errorLabel","assistiveTextCloseFilterPanel","PanelFilterList","clonedChild","PanelFilterListHeading","lockedHeading","listboxLabel","onRequestRemovePill","PillContainer","preserveFocus","resetActiveSelectedOption","handleClickPill","handleRequestFocusPillContainer","handleNavigatePillContainer","handleRequestRemove","progress","complete","radius","thickness","ProgressBar","getDescription","aria-valuemin","aria-valuemax","aria-valuenow","aria-valuetext","completedStep","disabledStep","percentage","isCompleted","tooltipIsOpen","tooltipPosition","Step","status","errorStep","buttonIcon","Progress","StepVertical","onRenderSetupAssistantAction","setupAssistantEstimatedTime","stepIcon","renderStepContent","completedSteps","disabledSteps","errorSteps","onStepClick","onStepFocus","selectedStep","steps","tooltipIsOpenSteps","defaultSteps","findStep","itemsArray","arrayItem","JSON","stringify","ProgressIndicator","isStepsDefined","stepLabelsDefined","every","allSteps","getSteps","currentStep","StepComponent","fillPercentDecimal","flowDirection","ProgressRingShape","isLong","arcX","arcY","fillPercent","progressStyles","cos","PI","sin","THEME_OPTIONS","freeze","ACTIVE","WARNING","EXPIRED","COMPLETE","THEME_CLASSES","hasIcon","ProgressRing","themeClass","percentDecimal","ScopedNotification","isCard","onStepToggleIsOpen","progressBar","SetupAssistant","onToggleIsOpen","stepNumber","expandStep","estimatedTime","isExpandable","onRenderAction","onRenderContent","onRenderFigure","toggleIsOpen","progressRingTheme","renderMediaContent","renderSummary","Slider","handleInput","propsTypes","toggleButtonOpen","toggleButtonClose","ariaControls","SplitViewToggleButton","toggleAssistiveText","master","masterWidth","SplitView","getMasterViewId","SplitViewHeader","topRightText","bottomLeftText","bottomRightText","SplitViewListItemContent","unreadItem","isFocused","isUnread","listItemRef","listItemWithContent","ListItemContent","ListItemWithContent","unread","SORT_OPTIONS","sortedBy","descending","ascending","SplitViewListbox","listItemComponents","currentSelectedItem","currentFocusedListItem","focusFirstItem","ctrlKey","eventUtil","deselectAllListItems","selectAllListItems","moveToPreviousItem","moveToNextItem","moveToIndex","previousFocusIndex","focusItem","firstSelectedItem","setDataOnly","selectedItems","metaKey","begin","addToSelection","selectListItem","headerWrapper","addListItemComponent","isListItemFocused","meta","handleOnSelect","aria-multiselectable","Textarea","textareaRef","wrap","assistiveTextLabel","TimepickerDropdownTrigger","baseDate","setHours","setMinutes","setSeconds","setMilliseconds","curDate","formatted","getMinutes","stepInMinutes","Timepicker","toLocaleTimeString","language","hour","minute","timeStr","dateStr","toLocaleString","day","success","Toast","assistiveTextVariant","saveToastRef","ToastContainer","fromFocus","treeIndex","focusedNodeIndex","flattenedNode","flattenedNodes","nodes","clearSelectedNodes","onExpand","expand","handleKeyDownLeft","handleKeyDownEnter","getTabIndex","initialFocus","selectedNodeIndexes","treeId","aria-level","level","treeHasFocus","onNodeBlur","htmlId","initalClassName","initialStyle","renderInitialNode","handleScroll","handleExpand","getNodes","handleKeyDownRight","RenderBranch","isExpanded","loader","paddingLeft","Branch","RenderInitialBranch","initial","listClassName","onExpandClick","listStyle","flattenTree","firstLevel","curNode","Tree","selectedNode","headingText","handleNodeBlur","timeLeft","timeLeftUnit","timeLeftUnitAfter","TrialBar","TrialBarButton","TrialBarDropdown","links","VisualPicker","VisualPickerLink","unitsCompletedAfter","onRenderInfoActions","infoBadge","doNotShowAgainCheckbox","WelcomeMat","totalSteps","getCount","isComplete","splash","completed","onCompleteRenderActions","InfoBadge","getCompletedText","completedIcon","Tile","addSubheadings","subheadings","filteredOptions","subheadingsCopy","sortedOptions","noSubHeaderType","subH","customLog"],"mappings":"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","file":"design-system-react-components.min.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"react\"), require(\"react-dom\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"react\", \"react-dom\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"design-system-react\"] = factory(require(\"react\"), require(\"react-dom\"));\n\telse\n\t\troot[\"design-system-react\"] = factory(root[\"React\"], root[\"ReactDOM\"]);\n})(window, function(__WEBPACK_EXTERNAL_MODULE__1__, __WEBPACK_EXTERNAL_MODULE__6__) {\nreturn "," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"/\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 60);\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nif (process.env.NODE_ENV !== 'production') {\n var ReactIs = require('react-is');\n\n // By explicitly using `prop-types` you are opting into new development behavior.\n // http://fb.me/prop-types-in-prod\n var throwOnDirectAccess = true;\n module.exports = require('./factoryWithTypeCheckers')(ReactIs.isElement, throwOnDirectAccess);\n} else {\n // By explicitly using `prop-types` you are opting into new production behavior.\n // http://fb.me/prop-types-in-prod\n module.exports = require('./factoryWithThrowingShims')();\n}\n","module.exports = __WEBPACK_EXTERNAL_MODULE__1__;","/*!\n Copyright (c) 2017 Jed Watson.\n Licensed under the MIT License (MIT), see\n http://jedwatson.github.io/classnames\n*/\n/* global define */\n\n(function () {\n\t'use strict';\n\n\tvar hasOwn = {}.hasOwnProperty;\n\n\tfunction classNames () {\n\t\tvar classes = [];\n\n\t\tfor (var i = 0; i < arguments.length; i++) {\n\t\t\tvar arg = arguments[i];\n\t\t\tif (!arg) continue;\n\n\t\t\tvar argType = typeof arg;\n\n\t\t\tif (argType === 'string' || argType === 'number') {\n\t\t\t\tclasses.push(arg);\n\t\t\t} else if (Array.isArray(arg) && arg.length) {\n\t\t\t\tvar inner = classNames.apply(null, arg);\n\t\t\t\tif (inner) {\n\t\t\t\t\tclasses.push(inner);\n\t\t\t\t}\n\t\t\t} else if (argType === 'object') {\n\t\t\t\tfor (var key in arg) {\n\t\t\t\t\tif (hasOwn.call(arg, key) && arg[key]) {\n\t\t\t\t\t\tclasses.push(key);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn classes.join(' ');\n\t}\n\n\tif (typeof module !== 'undefined' && module.exports) {\n\t\tclassNames.default = classNames;\n\t\tmodule.exports = classNames;\n\t} else if (typeof define === 'function' && typeof define.amd === 'object' && define.amd) {\n\t\t// register as 'classnames', consistent with npm package name\n\t\tdefine('classnames', [], function () {\n\t\t\treturn classNames;\n\t\t});\n\t} else {\n\t\twindow.classNames = classNames;\n\t}\n}());\n","'use strict';\nmodule.exports = require('./lib/index');\n","/**\n * lodash (Custom Build) <https://lodash.com/>\n * Build: `lodash modularize exports=\"npm\" -o ./`\n * Copyright jQuery Foundation and other contributors <https://jquery.org/>\n * Released under MIT license <https://lodash.com/license>\n * Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>\n * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n */\n\n/** Used as references for various `Number` constants. */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n funcTag = '[object Function]',\n genTag = '[object GeneratorFunction]';\n\n/** Used to detect unsigned integer values. */\nvar reIsUint = /^(?:0|[1-9]\\d*)$/;\n\n/**\n * A faster alternative to `Function#apply`, this function invokes `func`\n * with the `this` binding of `thisArg` and the arguments of `args`.\n *\n * @private\n * @param {Function} func The function to invoke.\n * @param {*} thisArg The `this` binding of `func`.\n * @param {Array} args The arguments to invoke `func` with.\n * @returns {*} Returns the result of `func`.\n */\nfunction apply(func, thisArg, args) {\n switch (args.length) {\n case 0: return func.call(thisArg);\n case 1: return func.call(thisArg, args[0]);\n case 2: return func.call(thisArg, args[0], args[1]);\n case 3: return func.call(thisArg, args[0], args[1], args[2]);\n }\n return func.apply(thisArg, args);\n}\n\n/**\n * The base implementation of `_.times` without support for iteratee shorthands\n * or max array length checks.\n *\n * @private\n * @param {number} n The number of times to invoke `iteratee`.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns the array of results.\n */\nfunction baseTimes(n, iteratee) {\n var index = -1,\n result = Array(n);\n\n while (++index < n) {\n result[index] = iteratee(index);\n }\n return result;\n}\n\n/**\n * Creates a unary function that invokes `func` with its argument transformed.\n *\n * @private\n * @param {Function} func The function to wrap.\n * @param {Function} transform The argument transform.\n * @returns {Function} Returns the new function.\n */\nfunction overArg(func, transform) {\n return function(arg) {\n return func(transform(arg));\n };\n}\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objectToString = objectProto.toString;\n\n/** Built-in value references. */\nvar propertyIsEnumerable = objectProto.propertyIsEnumerable;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeKeys = overArg(Object.keys, Object),\n nativeMax = Math.max;\n\n/** Detect if properties shadowing those on `Object.prototype` are non-enumerable. */\nvar nonEnumShadows = !propertyIsEnumerable.call({ 'valueOf': 1 }, 'valueOf');\n\n/**\n * Creates an array of the enumerable property names of the array-like `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @param {boolean} inherited Specify returning inherited property names.\n * @returns {Array} Returns the array of property names.\n */\nfunction arrayLikeKeys(value, inherited) {\n // Safari 8.1 makes `arguments.callee` enumerable in strict mode.\n // Safari 9 makes `arguments.length` enumerable in strict mode.\n var result = (isArray(value) || isArguments(value))\n ? baseTimes(value.length, String)\n : [];\n\n var length = result.length,\n skipIndexes = !!length;\n\n for (var key in value) {\n if ((inherited || hasOwnProperty.call(value, key)) &&\n !(skipIndexes && (key == 'length' || isIndex(key, length)))) {\n result.push(key);\n }\n }\n return result;\n}\n\n/**\n * Assigns `value` to `key` of `object` if the existing value is not equivalent\n * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * for equality comparisons.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {string} key The key of the property to assign.\n * @param {*} value The value to assign.\n */\nfunction assignValue(object, key, value) {\n var objValue = object[key];\n if (!(hasOwnProperty.call(object, key) && eq(objValue, value)) ||\n (value === undefined && !(key in object))) {\n object[key] = value;\n }\n}\n\n/**\n * The base implementation of `_.keys` which doesn't treat sparse arrays as dense.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction baseKeys(object) {\n if (!isPrototype(object)) {\n return nativeKeys(object);\n }\n var result = [];\n for (var key in Object(object)) {\n if (hasOwnProperty.call(object, key) && key != 'constructor') {\n result.push(key);\n }\n }\n return result;\n}\n\n/**\n * The base implementation of `_.rest` which doesn't validate or coerce arguments.\n *\n * @private\n * @param {Function} func The function to apply a rest parameter to.\n * @param {number} [start=func.length-1] The start position of the rest parameter.\n * @returns {Function} Returns the new function.\n */\nfunction baseRest(func, start) {\n start = nativeMax(start === undefined ? (func.length - 1) : start, 0);\n return function() {\n var args = arguments,\n index = -1,\n length = nativeMax(args.length - start, 0),\n array = Array(length);\n\n while (++index < length) {\n array[index] = args[start + index];\n }\n index = -1;\n var otherArgs = Array(start + 1);\n while (++index < start) {\n otherArgs[index] = args[index];\n }\n otherArgs[start] = array;\n return apply(func, this, otherArgs);\n };\n}\n\n/**\n * Copies properties of `source` to `object`.\n *\n * @private\n * @param {Object} source The object to copy properties from.\n * @param {Array} props The property identifiers to copy.\n * @param {Object} [object={}] The object to copy properties to.\n * @param {Function} [customizer] The function to customize copied values.\n * @returns {Object} Returns `object`.\n */\nfunction copyObject(source, props, object, customizer) {\n object || (object = {});\n\n var index = -1,\n length = props.length;\n\n while (++index < length) {\n var key = props[index];\n\n var newValue = customizer\n ? customizer(object[key], source[key], key, object, source)\n : undefined;\n\n assignValue(object, key, newValue === undefined ? source[key] : newValue);\n }\n return object;\n}\n\n/**\n * Creates a function like `_.assign`.\n *\n * @private\n * @param {Function} assigner The function to assign values.\n * @returns {Function} Returns the new assigner function.\n */\nfunction createAssigner(assigner) {\n return baseRest(function(object, sources) {\n var index = -1,\n length = sources.length,\n customizer = length > 1 ? sources[length - 1] : undefined,\n guard = length > 2 ? sources[2] : undefined;\n\n customizer = (assigner.length > 3 && typeof customizer == 'function')\n ? (length--, customizer)\n : undefined;\n\n if (guard && isIterateeCall(sources[0], sources[1], guard)) {\n customizer = length < 3 ? undefined : customizer;\n length = 1;\n }\n object = Object(object);\n while (++index < length) {\n var source = sources[index];\n if (source) {\n assigner(object, source, index, customizer);\n }\n }\n return object;\n });\n}\n\n/**\n * Checks if `value` is a valid array-like index.\n *\n * @private\n * @param {*} value The value to check.\n * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index.\n * @returns {boolean} Returns `true` if `value` is a valid index, else `false`.\n */\nfunction isIndex(value, length) {\n length = length == null ? MAX_SAFE_INTEGER : length;\n return !!length &&\n (typeof value == 'number' || reIsUint.test(value)) &&\n (value > -1 && value % 1 == 0 && value < length);\n}\n\n/**\n * Checks if the given arguments are from an iteratee call.\n *\n * @private\n * @param {*} value The potential iteratee value argument.\n * @param {*} index The potential iteratee index or key argument.\n * @param {*} object The potential iteratee object argument.\n * @returns {boolean} Returns `true` if the arguments are from an iteratee call,\n * else `false`.\n */\nfunction isIterateeCall(value, index, object) {\n if (!isObject(object)) {\n return false;\n }\n var type = typeof index;\n if (type == 'number'\n ? (isArrayLike(object) && isIndex(index, object.length))\n : (type == 'string' && index in object)\n ) {\n return eq(object[index], value);\n }\n return false;\n}\n\n/**\n * Checks if `value` is likely a prototype object.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a prototype, else `false`.\n */\nfunction isPrototype(value) {\n var Ctor = value && value.constructor,\n proto = (typeof Ctor == 'function' && Ctor.prototype) || objectProto;\n\n return value === proto;\n}\n\n/**\n * Performs a\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * comparison between two values to determine if they are equivalent.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'a': 1 };\n * var other = { 'a': 1 };\n *\n * _.eq(object, object);\n * // => true\n *\n * _.eq(object, other);\n * // => false\n *\n * _.eq('a', 'a');\n * // => true\n *\n * _.eq('a', Object('a'));\n * // => false\n *\n * _.eq(NaN, NaN);\n * // => true\n */\nfunction eq(value, other) {\n return value === other || (value !== value && other !== other);\n}\n\n/**\n * Checks if `value` is likely an `arguments` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n * else `false`.\n * @example\n *\n * _.isArguments(function() { return arguments; }());\n * // => true\n *\n * _.isArguments([1, 2, 3]);\n * // => false\n */\nfunction isArguments(value) {\n // Safari 8.1 makes `arguments.callee` enumerable in strict mode.\n return isArrayLikeObject(value) && hasOwnProperty.call(value, 'callee') &&\n (!propertyIsEnumerable.call(value, 'callee') || objectToString.call(value) == argsTag);\n}\n\n/**\n * Checks if `value` is classified as an `Array` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array, else `false`.\n * @example\n *\n * _.isArray([1, 2, 3]);\n * // => true\n *\n * _.isArray(document.body.children);\n * // => false\n *\n * _.isArray('abc');\n * // => false\n *\n * _.isArray(_.noop);\n * // => false\n */\nvar isArray = Array.isArray;\n\n/**\n * Checks if `value` is array-like. A value is considered array-like if it's\n * not a function and has a `value.length` that's an integer greater than or\n * equal to `0` and less than or equal to `Number.MAX_SAFE_INTEGER`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is array-like, else `false`.\n * @example\n *\n * _.isArrayLike([1, 2, 3]);\n * // => true\n *\n * _.isArrayLike(document.body.children);\n * // => true\n *\n * _.isArrayLike('abc');\n * // => true\n *\n * _.isArrayLike(_.noop);\n * // => false\n */\nfunction isArrayLike(value) {\n return value != null && isLength(value.length) && !isFunction(value);\n}\n\n/**\n * This method is like `_.isArrayLike` except that it also checks if `value`\n * is an object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array-like object,\n * else `false`.\n * @example\n *\n * _.isArrayLikeObject([1, 2, 3]);\n * // => true\n *\n * _.isArrayLikeObject(document.body.children);\n * // => true\n *\n * _.isArrayLikeObject('abc');\n * // => false\n *\n * _.isArrayLikeObject(_.noop);\n * // => false\n */\nfunction isArrayLikeObject(value) {\n return isObjectLike(value) && isArrayLike(value);\n}\n\n/**\n * Checks if `value` is classified as a `Function` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a function, else `false`.\n * @example\n *\n * _.isFunction(_);\n * // => true\n *\n * _.isFunction(/abc/);\n * // => false\n */\nfunction isFunction(value) {\n // The use of `Object#toString` avoids issues with the `typeof` operator\n // in Safari 8-9 which returns 'object' for typed array and other constructors.\n var tag = isObject(value) ? objectToString.call(value) : '';\n return tag == funcTag || tag == genTag;\n}\n\n/**\n * Checks if `value` is a valid array-like length.\n *\n * **Note:** This method is loosely based on\n * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.\n * @example\n *\n * _.isLength(3);\n * // => true\n *\n * _.isLength(Number.MIN_VALUE);\n * // => false\n *\n * _.isLength(Infinity);\n * // => false\n *\n * _.isLength('3');\n * // => false\n */\nfunction isLength(value) {\n return typeof value == 'number' &&\n value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;\n}\n\n/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n var type = typeof value;\n return !!value && (type == 'object' || type == 'function');\n}\n\n/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return !!value && typeof value == 'object';\n}\n\n/**\n * Assigns own enumerable string keyed properties of source objects to the\n * destination object. Source objects are applied from left to right.\n * Subsequent sources overwrite property assignments of previous sources.\n *\n * **Note:** This method mutates `object` and is loosely based on\n * [`Object.assign`](https://mdn.io/Object/assign).\n *\n * @static\n * @memberOf _\n * @since 0.10.0\n * @category Object\n * @param {Object} object The destination object.\n * @param {...Object} [sources] The source objects.\n * @returns {Object} Returns `object`.\n * @see _.assignIn\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * }\n *\n * function Bar() {\n * this.c = 3;\n * }\n *\n * Foo.prototype.b = 2;\n * Bar.prototype.d = 4;\n *\n * _.assign({ 'a': 0 }, new Foo, new Bar);\n * // => { 'a': 1, 'c': 3 }\n */\nvar assign = createAssigner(function(object, source) {\n if (nonEnumShadows || isPrototype(source) || isArrayLike(source)) {\n copyObject(source, keys(source), object);\n return;\n }\n for (var key in source) {\n if (hasOwnProperty.call(source, key)) {\n assignValue(object, key, source[key]);\n }\n }\n});\n\n/**\n * Creates an array of the own enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects. See the\n * [ES spec](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)\n * for more details.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keys(new Foo);\n * // => ['a', 'b'] (iteration order is not guaranteed)\n *\n * _.keys('hi');\n * // => ['0', '1']\n */\nfunction keys(object) {\n return isArrayLike(object) ? arrayLikeKeys(object) : baseKeys(object);\n}\n\nmodule.exports = assign;\n","/**\n * Lodash (Custom Build) <https://lodash.com/>\n * Build: `lodash modularize exports=\"npm\" -o ./`\n * Copyright JS Foundation and other contributors <https://js.foundation/>\n * Released under MIT license <https://lodash.com/license>\n * Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>\n * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n */\n\n/** `Object#toString` result references. */\nvar asyncTag = '[object AsyncFunction]',\n funcTag = '[object Function]',\n genTag = '[object GeneratorFunction]',\n nullTag = '[object Null]',\n proxyTag = '[object Proxy]',\n undefinedTag = '[object Undefined]';\n\n/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/** Built-in value references. */\nvar Symbol = root.Symbol,\n symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * The base implementation of `getTag` without fallbacks for buggy environments.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nfunction baseGetTag(value) {\n if (value == null) {\n return value === undefined ? undefinedTag : nullTag;\n }\n return (symToStringTag && symToStringTag in Object(value))\n ? getRawTag(value)\n : objectToString(value);\n}\n\n/**\n * A specialized version of `baseGetTag` which ignores `Symbol.toStringTag` values.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the raw `toStringTag`.\n */\nfunction getRawTag(value) {\n var isOwn = hasOwnProperty.call(value, symToStringTag),\n tag = value[symToStringTag];\n\n try {\n value[symToStringTag] = undefined;\n var unmasked = true;\n } catch (e) {}\n\n var result = nativeObjectToString.call(value);\n if (unmasked) {\n if (isOwn) {\n value[symToStringTag] = tag;\n } else {\n delete value[symToStringTag];\n }\n }\n return result;\n}\n\n/**\n * Converts `value` to a string using `Object.prototype.toString`.\n *\n * @private\n * @param {*} value The value to convert.\n * @returns {string} Returns the converted string.\n */\nfunction objectToString(value) {\n return nativeObjectToString.call(value);\n}\n\n/**\n * Checks if `value` is classified as a `Function` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a function, else `false`.\n * @example\n *\n * _.isFunction(_);\n * // => true\n *\n * _.isFunction(/abc/);\n * // => false\n */\nfunction isFunction(value) {\n if (!isObject(value)) {\n return false;\n }\n // The use of `Object#toString` avoids issues with the `typeof` operator\n // in Safari 9 which returns 'object' for typed arrays and other constructors.\n var tag = baseGetTag(value);\n return tag == funcTag || tag == genTag || tag == asyncTag || tag == proxyTag;\n}\n\n/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n var type = typeof value;\n return value != null && (type == 'object' || type == 'function');\n}\n\nmodule.exports = isFunction;\n","module.exports = __WEBPACK_EXTERNAL_MODULE__6__;","/**\n * lodash (Custom Build) <https://lodash.com/>\n * Build: `lodash modularize exports=\"npm\" -o ./`\n * Copyright jQuery Foundation and other contributors <https://jquery.org/>\n * Released under MIT license <https://lodash.com/license>\n * Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>\n * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n */\n\n/** Used as the size to enable large array optimizations. */\nvar LARGE_ARRAY_SIZE = 200;\n\n/** Used as the `TypeError` message for \"Functions\" methods. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/** Used to compose bitmasks for comparison styles. */\nvar UNORDERED_COMPARE_FLAG = 1,\n PARTIAL_COMPARE_FLAG = 2;\n\n/** Used as references for various `Number` constants. */\nvar INFINITY = 1 / 0,\n MAX_SAFE_INTEGER = 9007199254740991,\n MAX_INTEGER = 1.7976931348623157e+308,\n NAN = 0 / 0;\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n funcTag = '[object Function]',\n genTag = '[object GeneratorFunction]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n objectTag = '[object Object]',\n promiseTag = '[object Promise]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n symbolTag = '[object Symbol]',\n weakMapTag = '[object WeakMap]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n dataViewTag = '[object DataView]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/** Used to match property names within property paths. */\nvar reIsDeepProp = /\\.|\\[(?:[^[\\]]*|([\"'])(?:(?!\\1)[^\\\\]|\\\\.)*?\\1)\\]/,\n reIsPlainProp = /^\\w*$/,\n reLeadingDot = /^\\./,\n rePropName = /[^.[\\]]+|\\[(?:(-?\\d+(?:\\.\\d+)?)|([\"'])((?:(?!\\2)[^\\\\]|\\\\.)*?)\\2)\\]|(?=(?:\\.|\\[\\])(?:\\.|\\[\\]|$))/g;\n\n/**\n * Used to match `RegExp`\n * [syntax characters](http://ecma-international.org/ecma-262/7.0/#sec-patterns).\n */\nvar reRegExpChar = /[\\\\^$.*+?()[\\]{}|]/g;\n\n/** Used to match leading and trailing whitespace. */\nvar reTrim = /^\\s+|\\s+$/g;\n\n/** Used to match backslashes in property paths. */\nvar reEscapeChar = /\\\\(\\\\)?/g;\n\n/** Used to detect bad signed hexadecimal string values. */\nvar reIsBadHex = /^[-+]0x[0-9a-f]+$/i;\n\n/** Used to detect binary string values. */\nvar reIsBinary = /^0b[01]+$/i;\n\n/** Used to detect host constructors (Safari). */\nvar reIsHostCtor = /^\\[object .+?Constructor\\]$/;\n\n/** Used to detect octal string values. */\nvar reIsOctal = /^0o[0-7]+$/i;\n\n/** Used to detect unsigned integer values. */\nvar reIsUint = /^(?:0|[1-9]\\d*)$/;\n\n/** Used to identify `toStringTag` values of typed arrays. */\nvar typedArrayTags = {};\ntypedArrayTags[float32Tag] = typedArrayTags[float64Tag] =\ntypedArrayTags[int8Tag] = typedArrayTags[int16Tag] =\ntypedArrayTags[int32Tag] = typedArrayTags[uint8Tag] =\ntypedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] =\ntypedArrayTags[uint32Tag] = true;\ntypedArrayTags[argsTag] = typedArrayTags[arrayTag] =\ntypedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] =\ntypedArrayTags[dataViewTag] = typedArrayTags[dateTag] =\ntypedArrayTags[errorTag] = typedArrayTags[funcTag] =\ntypedArrayTags[mapTag] = typedArrayTags[numberTag] =\ntypedArrayTags[objectTag] = typedArrayTags[regexpTag] =\ntypedArrayTags[setTag] = typedArrayTags[stringTag] =\ntypedArrayTags[weakMapTag] = false;\n\n/** Built-in method references without a dependency on `root`. */\nvar freeParseInt = parseInt;\n\n/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\n/** Detect free variable `exports`. */\nvar freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;\n\n/** Detect free variable `module`. */\nvar freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;\n\n/** Detect the popular CommonJS extension `module.exports`. */\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n\n/** Detect free variable `process` from Node.js. */\nvar freeProcess = moduleExports && freeGlobal.process;\n\n/** Used to access faster Node.js helpers. */\nvar nodeUtil = (function() {\n try {\n return freeProcess && freeProcess.binding('util');\n } catch (e) {}\n}());\n\n/* Node.js helper references. */\nvar nodeIsTypedArray = nodeUtil && nodeUtil.isTypedArray;\n\n/**\n * A specialized version of `_.some` for arrays without support for iteratee\n * shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {boolean} Returns `true` if any element passes the predicate check,\n * else `false`.\n */\nfunction arraySome(array, predicate) {\n var index = -1,\n length = array ? array.length : 0;\n\n while (++index < length) {\n if (predicate(array[index], index, array)) {\n return true;\n }\n }\n return false;\n}\n\n/**\n * The base implementation of `_.findIndex` and `_.findLastIndex` without\n * support for iteratee shorthands.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {Function} predicate The function invoked per iteration.\n * @param {number} fromIndex The index to search from.\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction baseFindIndex(array, predicate, fromIndex, fromRight) {\n var length = array.length,\n index = fromIndex + (fromRight ? 1 : -1);\n\n while ((fromRight ? index-- : ++index < length)) {\n if (predicate(array[index], index, array)) {\n return index;\n }\n }\n return -1;\n}\n\n/**\n * The base implementation of `_.property` without support for deep paths.\n *\n * @private\n * @param {string} key The key of the property to get.\n * @returns {Function} Returns the new accessor function.\n */\nfunction baseProperty(key) {\n return function(object) {\n return object == null ? undefined : object[key];\n };\n}\n\n/**\n * The base implementation of `_.times` without support for iteratee shorthands\n * or max array length checks.\n *\n * @private\n * @param {number} n The number of times to invoke `iteratee`.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns the array of results.\n */\nfunction baseTimes(n, iteratee) {\n var index = -1,\n result = Array(n);\n\n while (++index < n) {\n result[index] = iteratee(index);\n }\n return result;\n}\n\n/**\n * The base implementation of `_.unary` without support for storing metadata.\n *\n * @private\n * @param {Function} func The function to cap arguments for.\n * @returns {Function} Returns the new capped function.\n */\nfunction baseUnary(func) {\n return function(value) {\n return func(value);\n };\n}\n\n/**\n * Gets the value at `key` of `object`.\n *\n * @private\n * @param {Object} [object] The object to query.\n * @param {string} key The key of the property to get.\n * @returns {*} Returns the property value.\n */\nfunction getValue(object, key) {\n return object == null ? undefined : object[key];\n}\n\n/**\n * Checks if `value` is a host object in IE < 9.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a host object, else `false`.\n */\nfunction isHostObject(value) {\n // Many host objects are `Object` objects that can coerce to strings\n // despite having improperly defined `toString` methods.\n var result = false;\n if (value != null && typeof value.toString != 'function') {\n try {\n result = !!(value + '');\n } catch (e) {}\n }\n return result;\n}\n\n/**\n * Converts `map` to its key-value pairs.\n *\n * @private\n * @param {Object} map The map to convert.\n * @returns {Array} Returns the key-value pairs.\n */\nfunction mapToArray(map) {\n var index = -1,\n result = Array(map.size);\n\n map.forEach(function(value, key) {\n result[++index] = [key, value];\n });\n return result;\n}\n\n/**\n * Creates a unary function that invokes `func` with its argument transformed.\n *\n * @private\n * @param {Function} func The function to wrap.\n * @param {Function} transform The argument transform.\n * @returns {Function} Returns the new function.\n */\nfunction overArg(func, transform) {\n return function(arg) {\n return func(transform(arg));\n };\n}\n\n/**\n * Converts `set` to an array of its values.\n *\n * @private\n * @param {Object} set The set to convert.\n * @returns {Array} Returns the values.\n */\nfunction setToArray(set) {\n var index = -1,\n result = Array(set.size);\n\n set.forEach(function(value) {\n result[++index] = value;\n });\n return result;\n}\n\n/** Used for built-in method references. */\nvar arrayProto = Array.prototype,\n funcProto = Function.prototype,\n objectProto = Object.prototype;\n\n/** Used to detect overreaching core-js shims. */\nvar coreJsData = root['__core-js_shared__'];\n\n/** Used to detect methods masquerading as native. */\nvar maskSrcKey = (function() {\n var uid = /[^.]+$/.exec(coreJsData && coreJsData.keys && coreJsData.keys.IE_PROTO || '');\n return uid ? ('Symbol(src)_1.' + uid) : '';\n}());\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objectToString = objectProto.toString;\n\n/** Used to detect if a method is native. */\nvar reIsNative = RegExp('^' +\n funcToString.call(hasOwnProperty).replace(reRegExpChar, '\\\\$&')\n .replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g, '$1.*?') + '$'\n);\n\n/** Built-in value references. */\nvar Symbol = root.Symbol,\n Uint8Array = root.Uint8Array,\n propertyIsEnumerable = objectProto.propertyIsEnumerable,\n splice = arrayProto.splice;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeKeys = overArg(Object.keys, Object),\n nativeMax = Math.max;\n\n/* Built-in method references that are verified to be native. */\nvar DataView = getNative(root, 'DataView'),\n Map = getNative(root, 'Map'),\n Promise = getNative(root, 'Promise'),\n Set = getNative(root, 'Set'),\n WeakMap = getNative(root, 'WeakMap'),\n nativeCreate = getNative(Object, 'create');\n\n/** Used to detect maps, sets, and weakmaps. */\nvar dataViewCtorString = toSource(DataView),\n mapCtorString = toSource(Map),\n promiseCtorString = toSource(Promise),\n setCtorString = toSource(Set),\n weakMapCtorString = toSource(WeakMap);\n\n/** Used to convert symbols to primitives and strings. */\nvar symbolProto = Symbol ? Symbol.prototype : undefined,\n symbolValueOf = symbolProto ? symbolProto.valueOf : undefined,\n symbolToString = symbolProto ? symbolProto.toString : undefined;\n\n/**\n * Creates a hash object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Hash(entries) {\n var index = -1,\n length = entries ? entries.length : 0;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n/**\n * Removes all key-value entries from the hash.\n *\n * @private\n * @name clear\n * @memberOf Hash\n */\nfunction hashClear() {\n this.__data__ = nativeCreate ? nativeCreate(null) : {};\n}\n\n/**\n * Removes `key` and its value from the hash.\n *\n * @private\n * @name delete\n * @memberOf Hash\n * @param {Object} hash The hash to modify.\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction hashDelete(key) {\n return this.has(key) && delete this.__data__[key];\n}\n\n/**\n * Gets the hash value for `key`.\n *\n * @private\n * @name get\n * @memberOf Hash\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction hashGet(key) {\n var data = this.__data__;\n if (nativeCreate) {\n var result = data[key];\n return result === HASH_UNDEFINED ? undefined : result;\n }\n return hasOwnProperty.call(data, key) ? data[key] : undefined;\n}\n\n/**\n * Checks if a hash value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Hash\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction hashHas(key) {\n var data = this.__data__;\n return nativeCreate ? data[key] !== undefined : hasOwnProperty.call(data, key);\n}\n\n/**\n * Sets the hash `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Hash\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the hash instance.\n */\nfunction hashSet(key, value) {\n var data = this.__data__;\n data[key] = (nativeCreate && value === undefined) ? HASH_UNDEFINED : value;\n return this;\n}\n\n// Add methods to `Hash`.\nHash.prototype.clear = hashClear;\nHash.prototype['delete'] = hashDelete;\nHash.prototype.get = hashGet;\nHash.prototype.has = hashHas;\nHash.prototype.set = hashSet;\n\n/**\n * Creates an list cache object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction ListCache(entries) {\n var index = -1,\n length = entries ? entries.length : 0;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n/**\n * Removes all key-value entries from the list cache.\n *\n * @private\n * @name clear\n * @memberOf ListCache\n */\nfunction listCacheClear() {\n this.__data__ = [];\n}\n\n/**\n * Removes `key` and its value from the list cache.\n *\n * @private\n * @name delete\n * @memberOf ListCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction listCacheDelete(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n return false;\n }\n var lastIndex = data.length - 1;\n if (index == lastIndex) {\n data.pop();\n } else {\n splice.call(data, index, 1);\n }\n return true;\n}\n\n/**\n * Gets the list cache value for `key`.\n *\n * @private\n * @name get\n * @memberOf ListCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction listCacheGet(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n return index < 0 ? undefined : data[index][1];\n}\n\n/**\n * Checks if a list cache value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf ListCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction listCacheHas(key) {\n return assocIndexOf(this.__data__, key) > -1;\n}\n\n/**\n * Sets the list cache `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf ListCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the list cache instance.\n */\nfunction listCacheSet(key, value) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n data.push([key, value]);\n } else {\n data[index][1] = value;\n }\n return this;\n}\n\n// Add methods to `ListCache`.\nListCache.prototype.clear = listCacheClear;\nListCache.prototype['delete'] = listCacheDelete;\nListCache.prototype.get = listCacheGet;\nListCache.prototype.has = listCacheHas;\nListCache.prototype.set = listCacheSet;\n\n/**\n * Creates a map cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction MapCache(entries) {\n var index = -1,\n length = entries ? entries.length : 0;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n/**\n * Removes all key-value entries from the map.\n *\n * @private\n * @name clear\n * @memberOf MapCache\n */\nfunction mapCacheClear() {\n this.__data__ = {\n 'hash': new Hash,\n 'map': new (Map || ListCache),\n 'string': new Hash\n };\n}\n\n/**\n * Removes `key` and its value from the map.\n *\n * @private\n * @name delete\n * @memberOf MapCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction mapCacheDelete(key) {\n return getMapData(this, key)['delete'](key);\n}\n\n/**\n * Gets the map value for `key`.\n *\n * @private\n * @name get\n * @memberOf MapCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction mapCacheGet(key) {\n return getMapData(this, key).get(key);\n}\n\n/**\n * Checks if a map value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf MapCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction mapCacheHas(key) {\n return getMapData(this, key).has(key);\n}\n\n/**\n * Sets the map `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf MapCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the map cache instance.\n */\nfunction mapCacheSet(key, value) {\n getMapData(this, key).set(key, value);\n return this;\n}\n\n// Add methods to `MapCache`.\nMapCache.prototype.clear = mapCacheClear;\nMapCache.prototype['delete'] = mapCacheDelete;\nMapCache.prototype.get = mapCacheGet;\nMapCache.prototype.has = mapCacheHas;\nMapCache.prototype.set = mapCacheSet;\n\n/**\n *\n * Creates an array cache object to store unique values.\n *\n * @private\n * @constructor\n * @param {Array} [values] The values to cache.\n */\nfunction SetCache(values) {\n var index = -1,\n length = values ? values.length : 0;\n\n this.__data__ = new MapCache;\n while (++index < length) {\n this.add(values[index]);\n }\n}\n\n/**\n * Adds `value` to the array cache.\n *\n * @private\n * @name add\n * @memberOf SetCache\n * @alias push\n * @param {*} value The value to cache.\n * @returns {Object} Returns the cache instance.\n */\nfunction setCacheAdd(value) {\n this.__data__.set(value, HASH_UNDEFINED);\n return this;\n}\n\n/**\n * Checks if `value` is in the array cache.\n *\n * @private\n * @name has\n * @memberOf SetCache\n * @param {*} value The value to search for.\n * @returns {number} Returns `true` if `value` is found, else `false`.\n */\nfunction setCacheHas(value) {\n return this.__data__.has(value);\n}\n\n// Add methods to `SetCache`.\nSetCache.prototype.add = SetCache.prototype.push = setCacheAdd;\nSetCache.prototype.has = setCacheHas;\n\n/**\n * Creates a stack cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Stack(entries) {\n this.__data__ = new ListCache(entries);\n}\n\n/**\n * Removes all key-value entries from the stack.\n *\n * @private\n * @name clear\n * @memberOf Stack\n */\nfunction stackClear() {\n this.__data__ = new ListCache;\n}\n\n/**\n * Removes `key` and its value from the stack.\n *\n * @private\n * @name delete\n * @memberOf Stack\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction stackDelete(key) {\n return this.__data__['delete'](key);\n}\n\n/**\n * Gets the stack value for `key`.\n *\n * @private\n * @name get\n * @memberOf Stack\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction stackGet(key) {\n return this.__data__.get(key);\n}\n\n/**\n * Checks if a stack value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Stack\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction stackHas(key) {\n return this.__data__.has(key);\n}\n\n/**\n * Sets the stack `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Stack\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the stack cache instance.\n */\nfunction stackSet(key, value) {\n var cache = this.__data__;\n if (cache instanceof ListCache) {\n var pairs = cache.__data__;\n if (!Map || (pairs.length < LARGE_ARRAY_SIZE - 1)) {\n pairs.push([key, value]);\n return this;\n }\n cache = this.__data__ = new MapCache(pairs);\n }\n cache.set(key, value);\n return this;\n}\n\n// Add methods to `Stack`.\nStack.prototype.clear = stackClear;\nStack.prototype['delete'] = stackDelete;\nStack.prototype.get = stackGet;\nStack.prototype.has = stackHas;\nStack.prototype.set = stackSet;\n\n/**\n * Creates an array of the enumerable property names of the array-like `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @param {boolean} inherited Specify returning inherited property names.\n * @returns {Array} Returns the array of property names.\n */\nfunction arrayLikeKeys(value, inherited) {\n // Safari 8.1 makes `arguments.callee` enumerable in strict mode.\n // Safari 9 makes `arguments.length` enumerable in strict mode.\n var result = (isArray(value) || isArguments(value))\n ? baseTimes(value.length, String)\n : [];\n\n var length = result.length,\n skipIndexes = !!length;\n\n for (var key in value) {\n if ((inherited || hasOwnProperty.call(value, key)) &&\n !(skipIndexes && (key == 'length' || isIndex(key, length)))) {\n result.push(key);\n }\n }\n return result;\n}\n\n/**\n * Gets the index at which the `key` is found in `array` of key-value pairs.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} key The key to search for.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction assocIndexOf(array, key) {\n var length = array.length;\n while (length--) {\n if (eq(array[length][0], key)) {\n return length;\n }\n }\n return -1;\n}\n\n/**\n * The base implementation of `_.get` without support for default values.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Array|string} path The path of the property to get.\n * @returns {*} Returns the resolved value.\n */\nfunction baseGet(object, path) {\n path = isKey(path, object) ? [path] : castPath(path);\n\n var index = 0,\n length = path.length;\n\n while (object != null && index < length) {\n object = object[toKey(path[index++])];\n }\n return (index && index == length) ? object : undefined;\n}\n\n/**\n * The base implementation of `getTag`.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nfunction baseGetTag(value) {\n return objectToString.call(value);\n}\n\n/**\n * The base implementation of `_.hasIn` without support for deep paths.\n *\n * @private\n * @param {Object} [object] The object to query.\n * @param {Array|string} key The key to check.\n * @returns {boolean} Returns `true` if `key` exists, else `false`.\n */\nfunction baseHasIn(object, key) {\n return object != null && key in Object(object);\n}\n\n/**\n * The base implementation of `_.isEqual` which supports partial comparisons\n * and tracks traversed objects.\n *\n * @private\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @param {Function} [customizer] The function to customize comparisons.\n * @param {boolean} [bitmask] The bitmask of comparison flags.\n * The bitmask may be composed of the following flags:\n * 1 - Unordered comparison\n * 2 - Partial comparison\n * @param {Object} [stack] Tracks traversed `value` and `other` objects.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n */\nfunction baseIsEqual(value, other, customizer, bitmask, stack) {\n if (value === other) {\n return true;\n }\n if (value == null || other == null || (!isObject(value) && !isObjectLike(other))) {\n return value !== value && other !== other;\n }\n return baseIsEqualDeep(value, other, baseIsEqual, customizer, bitmask, stack);\n}\n\n/**\n * A specialized version of `baseIsEqual` for arrays and objects which performs\n * deep comparisons and tracks traversed objects enabling objects with circular\n * references to be compared.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Function} [customizer] The function to customize comparisons.\n * @param {number} [bitmask] The bitmask of comparison flags. See `baseIsEqual`\n * for more details.\n * @param {Object} [stack] Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction baseIsEqualDeep(object, other, equalFunc, customizer, bitmask, stack) {\n var objIsArr = isArray(object),\n othIsArr = isArray(other),\n objTag = arrayTag,\n othTag = arrayTag;\n\n if (!objIsArr) {\n objTag = getTag(object);\n objTag = objTag == argsTag ? objectTag : objTag;\n }\n if (!othIsArr) {\n othTag = getTag(other);\n othTag = othTag == argsTag ? objectTag : othTag;\n }\n var objIsObj = objTag == objectTag && !isHostObject(object),\n othIsObj = othTag == objectTag && !isHostObject(other),\n isSameTag = objTag == othTag;\n\n if (isSameTag && !objIsObj) {\n stack || (stack = new Stack);\n return (objIsArr || isTypedArray(object))\n ? equalArrays(object, other, equalFunc, customizer, bitmask, stack)\n : equalByTag(object, other, objTag, equalFunc, customizer, bitmask, stack);\n }\n if (!(bitmask & PARTIAL_COMPARE_FLAG)) {\n var objIsWrapped = objIsObj && hasOwnProperty.call(object, '__wrapped__'),\n othIsWrapped = othIsObj && hasOwnProperty.call(other, '__wrapped__');\n\n if (objIsWrapped || othIsWrapped) {\n var objUnwrapped = objIsWrapped ? object.value() : object,\n othUnwrapped = othIsWrapped ? other.value() : other;\n\n stack || (stack = new Stack);\n return equalFunc(objUnwrapped, othUnwrapped, customizer, bitmask, stack);\n }\n }\n if (!isSameTag) {\n return false;\n }\n stack || (stack = new Stack);\n return equalObjects(object, other, equalFunc, customizer, bitmask, stack);\n}\n\n/**\n * The base implementation of `_.isMatch` without support for iteratee shorthands.\n *\n * @private\n * @param {Object} object The object to inspect.\n * @param {Object} source The object of property values to match.\n * @param {Array} matchData The property names, values, and compare flags to match.\n * @param {Function} [customizer] The function to customize comparisons.\n * @returns {boolean} Returns `true` if `object` is a match, else `false`.\n */\nfunction baseIsMatch(object, source, matchData, customizer) {\n var index = matchData.length,\n length = index,\n noCustomizer = !customizer;\n\n if (object == null) {\n return !length;\n }\n object = Object(object);\n while (index--) {\n var data = matchData[index];\n if ((noCustomizer && data[2])\n ? data[1] !== object[data[0]]\n : !(data[0] in object)\n ) {\n return false;\n }\n }\n while (++index < length) {\n data = matchData[index];\n var key = data[0],\n objValue = object[key],\n srcValue = data[1];\n\n if (noCustomizer && data[2]) {\n if (objValue === undefined && !(key in object)) {\n return false;\n }\n } else {\n var stack = new Stack;\n if (customizer) {\n var result = customizer(objValue, srcValue, key, object, source, stack);\n }\n if (!(result === undefined\n ? baseIsEqual(srcValue, objValue, customizer, UNORDERED_COMPARE_FLAG | PARTIAL_COMPARE_FLAG, stack)\n : result\n )) {\n return false;\n }\n }\n }\n return true;\n}\n\n/**\n * The base implementation of `_.isNative` without bad shim checks.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a native function,\n * else `false`.\n */\nfunction baseIsNative(value) {\n if (!isObject(value) || isMasked(value)) {\n return false;\n }\n var pattern = (isFunction(value) || isHostObject(value)) ? reIsNative : reIsHostCtor;\n return pattern.test(toSource(value));\n}\n\n/**\n * The base implementation of `_.isTypedArray` without Node.js optimizations.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n */\nfunction baseIsTypedArray(value) {\n return isObjectLike(value) &&\n isLength(value.length) && !!typedArrayTags[objectToString.call(value)];\n}\n\n/**\n * The base implementation of `_.iteratee`.\n *\n * @private\n * @param {*} [value=_.identity] The value to convert to an iteratee.\n * @returns {Function} Returns the iteratee.\n */\nfunction baseIteratee(value) {\n // Don't store the `typeof` result in a variable to avoid a JIT bug in Safari 9.\n // See https://bugs.webkit.org/show_bug.cgi?id=156034 for more details.\n if (typeof value == 'function') {\n return value;\n }\n if (value == null) {\n return identity;\n }\n if (typeof value == 'object') {\n return isArray(value)\n ? baseMatchesProperty(value[0], value[1])\n : baseMatches(value);\n }\n return property(value);\n}\n\n/**\n * The base implementation of `_.keys` which doesn't treat sparse arrays as dense.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction baseKeys(object) {\n if (!isPrototype(object)) {\n return nativeKeys(object);\n }\n var result = [];\n for (var key in Object(object)) {\n if (hasOwnProperty.call(object, key) && key != 'constructor') {\n result.push(key);\n }\n }\n return result;\n}\n\n/**\n * The base implementation of `_.matches` which doesn't clone `source`.\n *\n * @private\n * @param {Object} source The object of property values to match.\n * @returns {Function} Returns the new spec function.\n */\nfunction baseMatches(source) {\n var matchData = getMatchData(source);\n if (matchData.length == 1 && matchData[0][2]) {\n return matchesStrictComparable(matchData[0][0], matchData[0][1]);\n }\n return function(object) {\n return object === source || baseIsMatch(object, source, matchData);\n };\n}\n\n/**\n * The base implementation of `_.matchesProperty` which doesn't clone `srcValue`.\n *\n * @private\n * @param {string} path The path of the property to get.\n * @param {*} srcValue The value to match.\n * @returns {Function} Returns the new spec function.\n */\nfunction baseMatchesProperty(path, srcValue) {\n if (isKey(path) && isStrictComparable(srcValue)) {\n return matchesStrictComparable(toKey(path), srcValue);\n }\n return function(object) {\n var objValue = get(object, path);\n return (objValue === undefined && objValue === srcValue)\n ? hasIn(object, path)\n : baseIsEqual(srcValue, objValue, undefined, UNORDERED_COMPARE_FLAG | PARTIAL_COMPARE_FLAG);\n };\n}\n\n/**\n * A specialized version of `baseProperty` which supports deep paths.\n *\n * @private\n * @param {Array|string} path The path of the property to get.\n * @returns {Function} Returns the new accessor function.\n */\nfunction basePropertyDeep(path) {\n return function(object) {\n return baseGet(object, path);\n };\n}\n\n/**\n * The base implementation of `_.toString` which doesn't convert nullish\n * values to empty strings.\n *\n * @private\n * @param {*} value The value to process.\n * @returns {string} Returns the string.\n */\nfunction baseToString(value) {\n // Exit early for strings to avoid a performance hit in some environments.\n if (typeof value == 'string') {\n return value;\n }\n if (isSymbol(value)) {\n return symbolToString ? symbolToString.call(value) : '';\n }\n var result = (value + '');\n return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result;\n}\n\n/**\n * Casts `value` to a path array if it's not one.\n *\n * @private\n * @param {*} value The value to inspect.\n * @returns {Array} Returns the cast property path array.\n */\nfunction castPath(value) {\n return isArray(value) ? value : stringToPath(value);\n}\n\n/**\n * A specialized version of `baseIsEqualDeep` for arrays with support for\n * partial deep comparisons.\n *\n * @private\n * @param {Array} array The array to compare.\n * @param {Array} other The other array to compare.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Function} customizer The function to customize comparisons.\n * @param {number} bitmask The bitmask of comparison flags. See `baseIsEqual`\n * for more details.\n * @param {Object} stack Tracks traversed `array` and `other` objects.\n * @returns {boolean} Returns `true` if the arrays are equivalent, else `false`.\n */\nfunction equalArrays(array, other, equalFunc, customizer, bitmask, stack) {\n var isPartial = bitmask & PARTIAL_COMPARE_FLAG,\n arrLength = array.length,\n othLength = other.length;\n\n if (arrLength != othLength && !(isPartial && othLength > arrLength)) {\n return false;\n }\n // Assume cyclic values are equal.\n var stacked = stack.get(array);\n if (stacked && stack.get(other)) {\n return stacked == other;\n }\n var index = -1,\n result = true,\n seen = (bitmask & UNORDERED_COMPARE_FLAG) ? new SetCache : undefined;\n\n stack.set(array, other);\n stack.set(other, array);\n\n // Ignore non-index properties.\n while (++index < arrLength) {\n var arrValue = array[index],\n othValue = other[index];\n\n if (customizer) {\n var compared = isPartial\n ? customizer(othValue, arrValue, index, other, array, stack)\n : customizer(arrValue, othValue, index, array, other, stack);\n }\n if (compared !== undefined) {\n if (compared) {\n continue;\n }\n result = false;\n break;\n }\n // Recursively compare arrays (susceptible to call stack limits).\n if (seen) {\n if (!arraySome(other, function(othValue, othIndex) {\n if (!seen.has(othIndex) &&\n (arrValue === othValue || equalFunc(arrValue, othValue, customizer, bitmask, stack))) {\n return seen.add(othIndex);\n }\n })) {\n result = false;\n break;\n }\n } else if (!(\n arrValue === othValue ||\n equalFunc(arrValue, othValue, customizer, bitmask, stack)\n )) {\n result = false;\n break;\n }\n }\n stack['delete'](array);\n stack['delete'](other);\n return result;\n}\n\n/**\n * A specialized version of `baseIsEqualDeep` for comparing objects of\n * the same `toStringTag`.\n *\n * **Note:** This function only supports comparing values with tags of\n * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {string} tag The `toStringTag` of the objects to compare.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Function} customizer The function to customize comparisons.\n * @param {number} bitmask The bitmask of comparison flags. See `baseIsEqual`\n * for more details.\n * @param {Object} stack Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction equalByTag(object, other, tag, equalFunc, customizer, bitmask, stack) {\n switch (tag) {\n case dataViewTag:\n if ((object.byteLength != other.byteLength) ||\n (object.byteOffset != other.byteOffset)) {\n return false;\n }\n object = object.buffer;\n other = other.buffer;\n\n case arrayBufferTag:\n if ((object.byteLength != other.byteLength) ||\n !equalFunc(new Uint8Array(object), new Uint8Array(other))) {\n return false;\n }\n return true;\n\n case boolTag:\n case dateTag:\n case numberTag:\n // Coerce booleans to `1` or `0` and dates to milliseconds.\n // Invalid dates are coerced to `NaN`.\n return eq(+object, +other);\n\n case errorTag:\n return object.name == other.name && object.message == other.message;\n\n case regexpTag:\n case stringTag:\n // Coerce regexes to strings and treat strings, primitives and objects,\n // as equal. See http://www.ecma-international.org/ecma-262/7.0/#sec-regexp.prototype.tostring\n // for more details.\n return object == (other + '');\n\n case mapTag:\n var convert = mapToArray;\n\n case setTag:\n var isPartial = bitmask & PARTIAL_COMPARE_FLAG;\n convert || (convert = setToArray);\n\n if (object.size != other.size && !isPartial) {\n return false;\n }\n // Assume cyclic values are equal.\n var stacked = stack.get(object);\n if (stacked) {\n return stacked == other;\n }\n bitmask |= UNORDERED_COMPARE_FLAG;\n\n // Recursively compare objects (susceptible to call stack limits).\n stack.set(object, other);\n var result = equalArrays(convert(object), convert(other), equalFunc, customizer, bitmask, stack);\n stack['delete'](object);\n return result;\n\n case symbolTag:\n if (symbolValueOf) {\n return symbolValueOf.call(object) == symbolValueOf.call(other);\n }\n }\n return false;\n}\n\n/**\n * A specialized version of `baseIsEqualDeep` for objects with support for\n * partial deep comparisons.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Function} customizer The function to customize comparisons.\n * @param {number} bitmask The bitmask of comparison flags. See `baseIsEqual`\n * for more details.\n * @param {Object} stack Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction equalObjects(object, other, equalFunc, customizer, bitmask, stack) {\n var isPartial = bitmask & PARTIAL_COMPARE_FLAG,\n objProps = keys(object),\n objLength = objProps.length,\n othProps = keys(other),\n othLength = othProps.length;\n\n if (objLength != othLength && !isPartial) {\n return false;\n }\n var index = objLength;\n while (index--) {\n var key = objProps[index];\n if (!(isPartial ? key in other : hasOwnProperty.call(other, key))) {\n return false;\n }\n }\n // Assume cyclic values are equal.\n var stacked = stack.get(object);\n if (stacked && stack.get(other)) {\n return stacked == other;\n }\n var result = true;\n stack.set(object, other);\n stack.set(other, object);\n\n var skipCtor = isPartial;\n while (++index < objLength) {\n key = objProps[index];\n var objValue = object[key],\n othValue = other[key];\n\n if (customizer) {\n var compared = isPartial\n ? customizer(othValue, objValue, key, other, object, stack)\n : customizer(objValue, othValue, key, object, other, stack);\n }\n // Recursively compare objects (susceptible to call stack limits).\n if (!(compared === undefined\n ? (objValue === othValue || equalFunc(objValue, othValue, customizer, bitmask, stack))\n : compared\n )) {\n result = false;\n break;\n }\n skipCtor || (skipCtor = key == 'constructor');\n }\n if (result && !skipCtor) {\n var objCtor = object.constructor,\n othCtor = other.constructor;\n\n // Non `Object` object instances with different constructors are not equal.\n if (objCtor != othCtor &&\n ('constructor' in object && 'constructor' in other) &&\n !(typeof objCtor == 'function' && objCtor instanceof objCtor &&\n typeof othCtor == 'function' && othCtor instanceof othCtor)) {\n result = false;\n }\n }\n stack['delete'](object);\n stack['delete'](other);\n return result;\n}\n\n/**\n * Gets the data for `map`.\n *\n * @private\n * @param {Object} map The map to query.\n * @param {string} key The reference key.\n * @returns {*} Returns the map data.\n */\nfunction getMapData(map, key) {\n var data = map.__data__;\n return isKeyable(key)\n ? data[typeof key == 'string' ? 'string' : 'hash']\n : data.map;\n}\n\n/**\n * Gets the property names, values, and compare flags of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the match data of `object`.\n */\nfunction getMatchData(object) {\n var result = keys(object),\n length = result.length;\n\n while (length--) {\n var key = result[length],\n value = object[key];\n\n result[length] = [key, value, isStrictComparable(value)];\n }\n return result;\n}\n\n/**\n * Gets the native function at `key` of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the method to get.\n * @returns {*} Returns the function if it's native, else `undefined`.\n */\nfunction getNative(object, key) {\n var value = getValue(object, key);\n return baseIsNative(value) ? value : undefined;\n}\n\n/**\n * Gets the `toStringTag` of `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nvar getTag = baseGetTag;\n\n// Fallback for data views, maps, sets, and weak maps in IE 11,\n// for data views in Edge < 14, and promises in Node.js.\nif ((DataView && getTag(new DataView(new ArrayBuffer(1))) != dataViewTag) ||\n (Map && getTag(new Map) != mapTag) ||\n (Promise && getTag(Promise.resolve()) != promiseTag) ||\n (Set && getTag(new Set) != setTag) ||\n (WeakMap && getTag(new WeakMap) != weakMapTag)) {\n getTag = function(value) {\n var result = objectToString.call(value),\n Ctor = result == objectTag ? value.constructor : undefined,\n ctorString = Ctor ? toSource(Ctor) : undefined;\n\n if (ctorString) {\n switch (ctorString) {\n case dataViewCtorString: return dataViewTag;\n case mapCtorString: return mapTag;\n case promiseCtorString: return promiseTag;\n case setCtorString: return setTag;\n case weakMapCtorString: return weakMapTag;\n }\n }\n return result;\n };\n}\n\n/**\n * Checks if `path` exists on `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Array|string} path The path to check.\n * @param {Function} hasFunc The function to check properties.\n * @returns {boolean} Returns `true` if `path` exists, else `false`.\n */\nfunction hasPath(object, path, hasFunc) {\n path = isKey(path, object) ? [path] : castPath(path);\n\n var result,\n index = -1,\n length = path.length;\n\n while (++index < length) {\n var key = toKey(path[index]);\n if (!(result = object != null && hasFunc(object, key))) {\n break;\n }\n object = object[key];\n }\n if (result) {\n return result;\n }\n var length = object ? object.length : 0;\n return !!length && isLength(length) && isIndex(key, length) &&\n (isArray(object) || isArguments(object));\n}\n\n/**\n * Checks if `value` is a valid array-like index.\n *\n * @private\n * @param {*} value The value to check.\n * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index.\n * @returns {boolean} Returns `true` if `value` is a valid index, else `false`.\n */\nfunction isIndex(value, length) {\n length = length == null ? MAX_SAFE_INTEGER : length;\n return !!length &&\n (typeof value == 'number' || reIsUint.test(value)) &&\n (value > -1 && value % 1 == 0 && value < length);\n}\n\n/**\n * Checks if `value` is a property name and not a property path.\n *\n * @private\n * @param {*} value The value to check.\n * @param {Object} [object] The object to query keys on.\n * @returns {boolean} Returns `true` if `value` is a property name, else `false`.\n */\nfunction isKey(value, object) {\n if (isArray(value)) {\n return false;\n }\n var type = typeof value;\n if (type == 'number' || type == 'symbol' || type == 'boolean' ||\n value == null || isSymbol(value)) {\n return true;\n }\n return reIsPlainProp.test(value) || !reIsDeepProp.test(value) ||\n (object != null && value in Object(object));\n}\n\n/**\n * Checks if `value` is suitable for use as unique object key.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is suitable, else `false`.\n */\nfunction isKeyable(value) {\n var type = typeof value;\n return (type == 'string' || type == 'number' || type == 'symbol' || type == 'boolean')\n ? (value !== '__proto__')\n : (value === null);\n}\n\n/**\n * Checks if `func` has its source masked.\n *\n * @private\n * @param {Function} func The function to check.\n * @returns {boolean} Returns `true` if `func` is masked, else `false`.\n */\nfunction isMasked(func) {\n return !!maskSrcKey && (maskSrcKey in func);\n}\n\n/**\n * Checks if `value` is likely a prototype object.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a prototype, else `false`.\n */\nfunction isPrototype(value) {\n var Ctor = value && value.constructor,\n proto = (typeof Ctor == 'function' && Ctor.prototype) || objectProto;\n\n return value === proto;\n}\n\n/**\n * Checks if `value` is suitable for strict equality comparisons, i.e. `===`.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` if suitable for strict\n * equality comparisons, else `false`.\n */\nfunction isStrictComparable(value) {\n return value === value && !isObject(value);\n}\n\n/**\n * A specialized version of `matchesProperty` for source values suitable\n * for strict equality comparisons, i.e. `===`.\n *\n * @private\n * @param {string} key The key of the property to get.\n * @param {*} srcValue The value to match.\n * @returns {Function} Returns the new spec function.\n */\nfunction matchesStrictComparable(key, srcValue) {\n return function(object) {\n if (object == null) {\n return false;\n }\n return object[key] === srcValue &&\n (srcValue !== undefined || (key in Object(object)));\n };\n}\n\n/**\n * Converts `string` to a property path array.\n *\n * @private\n * @param {string} string The string to convert.\n * @returns {Array} Returns the property path array.\n */\nvar stringToPath = memoize(function(string) {\n string = toString(string);\n\n var result = [];\n if (reLeadingDot.test(string)) {\n result.push('');\n }\n string.replace(rePropName, function(match, number, quote, string) {\n result.push(quote ? string.replace(reEscapeChar, '$1') : (number || match));\n });\n return result;\n});\n\n/**\n * Converts `value` to a string key if it's not a string or symbol.\n *\n * @private\n * @param {*} value The value to inspect.\n * @returns {string|symbol} Returns the key.\n */\nfunction toKey(value) {\n if (typeof value == 'string' || isSymbol(value)) {\n return value;\n }\n var result = (value + '');\n return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result;\n}\n\n/**\n * Converts `func` to its source code.\n *\n * @private\n * @param {Function} func The function to process.\n * @returns {string} Returns the source code.\n */\nfunction toSource(func) {\n if (func != null) {\n try {\n return funcToString.call(func);\n } catch (e) {}\n try {\n return (func + '');\n } catch (e) {}\n }\n return '';\n}\n\n/**\n * This method is like `_.find` except that it returns the index of the first\n * element `predicate` returns truthy for instead of the element itself.\n *\n * @static\n * @memberOf _\n * @since 1.1.0\n * @category Array\n * @param {Array} array The array to inspect.\n * @param {Function} [predicate=_.identity]\n * The function invoked per iteration.\n * @param {number} [fromIndex=0] The index to search from.\n * @returns {number} Returns the index of the found element, else `-1`.\n * @example\n *\n * var users = [\n * { 'user': 'barney', 'active': false },\n * { 'user': 'fred', 'active': false },\n * { 'user': 'pebbles', 'active': true }\n * ];\n *\n * _.findIndex(users, function(o) { return o.user == 'barney'; });\n * // => 0\n *\n * // The `_.matches` iteratee shorthand.\n * _.findIndex(users, { 'user': 'fred', 'active': false });\n * // => 1\n *\n * // The `_.matchesProperty` iteratee shorthand.\n * _.findIndex(users, ['active', false]);\n * // => 0\n *\n * // The `_.property` iteratee shorthand.\n * _.findIndex(users, 'active');\n * // => 2\n */\nfunction findIndex(array, predicate, fromIndex) {\n var length = array ? array.length : 0;\n if (!length) {\n return -1;\n }\n var index = fromIndex == null ? 0 : toInteger(fromIndex);\n if (index < 0) {\n index = nativeMax(length + index, 0);\n }\n return baseFindIndex(array, baseIteratee(predicate, 3), index);\n}\n\n/**\n * Creates a function that memoizes the result of `func`. If `resolver` is\n * provided, it determines the cache key for storing the result based on the\n * arguments provided to the memoized function. By default, the first argument\n * provided to the memoized function is used as the map cache key. The `func`\n * is invoked with the `this` binding of the memoized function.\n *\n * **Note:** The cache is exposed as the `cache` property on the memoized\n * function. Its creation may be customized by replacing the `_.memoize.Cache`\n * constructor with one whose instances implement the\n * [`Map`](http://ecma-international.org/ecma-262/7.0/#sec-properties-of-the-map-prototype-object)\n * method interface of `delete`, `get`, `has`, and `set`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to have its output memoized.\n * @param {Function} [resolver] The function to resolve the cache key.\n * @returns {Function} Returns the new memoized function.\n * @example\n *\n * var object = { 'a': 1, 'b': 2 };\n * var other = { 'c': 3, 'd': 4 };\n *\n * var values = _.memoize(_.values);\n * values(object);\n * // => [1, 2]\n *\n * values(other);\n * // => [3, 4]\n *\n * object.a = 2;\n * values(object);\n * // => [1, 2]\n *\n * // Modify the result cache.\n * values.cache.set(object, ['a', 'b']);\n * values(object);\n * // => ['a', 'b']\n *\n * // Replace `_.memoize.Cache`.\n * _.memoize.Cache = WeakMap;\n */\nfunction memoize(func, resolver) {\n if (typeof func != 'function' || (resolver && typeof resolver != 'function')) {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n var memoized = function() {\n var args = arguments,\n key = resolver ? resolver.apply(this, args) : args[0],\n cache = memoized.cache;\n\n if (cache.has(key)) {\n return cache.get(key);\n }\n var result = func.apply(this, args);\n memoized.cache = cache.set(key, result);\n return result;\n };\n memoized.cache = new (memoize.Cache || MapCache);\n return memoized;\n}\n\n// Assign cache to `_.memoize`.\nmemoize.Cache = MapCache;\n\n/**\n * Performs a\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * comparison between two values to determine if they are equivalent.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'a': 1 };\n * var other = { 'a': 1 };\n *\n * _.eq(object, object);\n * // => true\n *\n * _.eq(object, other);\n * // => false\n *\n * _.eq('a', 'a');\n * // => true\n *\n * _.eq('a', Object('a'));\n * // => false\n *\n * _.eq(NaN, NaN);\n * // => true\n */\nfunction eq(value, other) {\n return value === other || (value !== value && other !== other);\n}\n\n/**\n * Checks if `value` is likely an `arguments` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n * else `false`.\n * @example\n *\n * _.isArguments(function() { return arguments; }());\n * // => true\n *\n * _.isArguments([1, 2, 3]);\n * // => false\n */\nfunction isArguments(value) {\n // Safari 8.1 makes `arguments.callee` enumerable in strict mode.\n return isArrayLikeObject(value) && hasOwnProperty.call(value, 'callee') &&\n (!propertyIsEnumerable.call(value, 'callee') || objectToString.call(value) == argsTag);\n}\n\n/**\n * Checks if `value` is classified as an `Array` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array, else `false`.\n * @example\n *\n * _.isArray([1, 2, 3]);\n * // => true\n *\n * _.isArray(document.body.children);\n * // => false\n *\n * _.isArray('abc');\n * // => false\n *\n * _.isArray(_.noop);\n * // => false\n */\nvar isArray = Array.isArray;\n\n/**\n * Checks if `value` is array-like. A value is considered array-like if it's\n * not a function and has a `value.length` that's an integer greater than or\n * equal to `0` and less than or equal to `Number.MAX_SAFE_INTEGER`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is array-like, else `false`.\n * @example\n *\n * _.isArrayLike([1, 2, 3]);\n * // => true\n *\n * _.isArrayLike(document.body.children);\n * // => true\n *\n * _.isArrayLike('abc');\n * // => true\n *\n * _.isArrayLike(_.noop);\n * // => false\n */\nfunction isArrayLike(value) {\n return value != null && isLength(value.length) && !isFunction(value);\n}\n\n/**\n * This method is like `_.isArrayLike` except that it also checks if `value`\n * is an object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array-like object,\n * else `false`.\n * @example\n *\n * _.isArrayLikeObject([1, 2, 3]);\n * // => true\n *\n * _.isArrayLikeObject(document.body.children);\n * // => true\n *\n * _.isArrayLikeObject('abc');\n * // => false\n *\n * _.isArrayLikeObject(_.noop);\n * // => false\n */\nfunction isArrayLikeObject(value) {\n return isObjectLike(value) && isArrayLike(value);\n}\n\n/**\n * Checks if `value` is classified as a `Function` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a function, else `false`.\n * @example\n *\n * _.isFunction(_);\n * // => true\n *\n * _.isFunction(/abc/);\n * // => false\n */\nfunction isFunction(value) {\n // The use of `Object#toString` avoids issues with the `typeof` operator\n // in Safari 8-9 which returns 'object' for typed array and other constructors.\n var tag = isObject(value) ? objectToString.call(value) : '';\n return tag == funcTag || tag == genTag;\n}\n\n/**\n * Checks if `value` is a valid array-like length.\n *\n * **Note:** This method is loosely based on\n * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.\n * @example\n *\n * _.isLength(3);\n * // => true\n *\n * _.isLength(Number.MIN_VALUE);\n * // => false\n *\n * _.isLength(Infinity);\n * // => false\n *\n * _.isLength('3');\n * // => false\n */\nfunction isLength(value) {\n return typeof value == 'number' &&\n value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;\n}\n\n/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n var type = typeof value;\n return !!value && (type == 'object' || type == 'function');\n}\n\n/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return !!value && typeof value == 'object';\n}\n\n/**\n * Checks if `value` is classified as a `Symbol` primitive or object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a symbol, else `false`.\n * @example\n *\n * _.isSymbol(Symbol.iterator);\n * // => true\n *\n * _.isSymbol('abc');\n * // => false\n */\nfunction isSymbol(value) {\n return typeof value == 'symbol' ||\n (isObjectLike(value) && objectToString.call(value) == symbolTag);\n}\n\n/**\n * Checks if `value` is classified as a typed array.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n * @example\n *\n * _.isTypedArray(new Uint8Array);\n * // => true\n *\n * _.isTypedArray([]);\n * // => false\n */\nvar isTypedArray = nodeIsTypedArray ? baseUnary(nodeIsTypedArray) : baseIsTypedArray;\n\n/**\n * Converts `value` to a finite number.\n *\n * @static\n * @memberOf _\n * @since 4.12.0\n * @category Lang\n * @param {*} value The value to convert.\n * @returns {number} Returns the converted number.\n * @example\n *\n * _.toFinite(3.2);\n * // => 3.2\n *\n * _.toFinite(Number.MIN_VALUE);\n * // => 5e-324\n *\n * _.toFinite(Infinity);\n * // => 1.7976931348623157e+308\n *\n * _.toFinite('3.2');\n * // => 3.2\n */\nfunction toFinite(value) {\n if (!value) {\n return value === 0 ? value : 0;\n }\n value = toNumber(value);\n if (value === INFINITY || value === -INFINITY) {\n var sign = (value < 0 ? -1 : 1);\n return sign * MAX_INTEGER;\n }\n return value === value ? value : 0;\n}\n\n/**\n * Converts `value` to an integer.\n *\n * **Note:** This method is loosely based on\n * [`ToInteger`](http://www.ecma-international.org/ecma-262/7.0/#sec-tointeger).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to convert.\n * @returns {number} Returns the converted integer.\n * @example\n *\n * _.toInteger(3.2);\n * // => 3\n *\n * _.toInteger(Number.MIN_VALUE);\n * // => 0\n *\n * _.toInteger(Infinity);\n * // => 1.7976931348623157e+308\n *\n * _.toInteger('3.2');\n * // => 3\n */\nfunction toInteger(value) {\n var result = toFinite(value),\n remainder = result % 1;\n\n return result === result ? (remainder ? result - remainder : result) : 0;\n}\n\n/**\n * Converts `value` to a number.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to process.\n * @returns {number} Returns the number.\n * @example\n *\n * _.toNumber(3.2);\n * // => 3.2\n *\n * _.toNumber(Number.MIN_VALUE);\n * // => 5e-324\n *\n * _.toNumber(Infinity);\n * // => Infinity\n *\n * _.toNumber('3.2');\n * // => 3.2\n */\nfunction toNumber(value) {\n if (typeof value == 'number') {\n return value;\n }\n if (isSymbol(value)) {\n return NAN;\n }\n if (isObject(value)) {\n var other = typeof value.valueOf == 'function' ? value.valueOf() : value;\n value = isObject(other) ? (other + '') : other;\n }\n if (typeof value != 'string') {\n return value === 0 ? value : +value;\n }\n value = value.replace(reTrim, '');\n var isBinary = reIsBinary.test(value);\n return (isBinary || reIsOctal.test(value))\n ? freeParseInt(value.slice(2), isBinary ? 2 : 8)\n : (reIsBadHex.test(value) ? NAN : +value);\n}\n\n/**\n * Converts `value` to a string. An empty string is returned for `null`\n * and `undefined` values. The sign of `-0` is preserved.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to process.\n * @returns {string} Returns the string.\n * @example\n *\n * _.toString(null);\n * // => ''\n *\n * _.toString(-0);\n * // => '-0'\n *\n * _.toString([1, 2, 3]);\n * // => '1,2,3'\n */\nfunction toString(value) {\n return value == null ? '' : baseToString(value);\n}\n\n/**\n * Gets the value at `path` of `object`. If the resolved value is\n * `undefined`, the `defaultValue` is returned in its place.\n *\n * @static\n * @memberOf _\n * @since 3.7.0\n * @category Object\n * @param {Object} object The object to query.\n * @param {Array|string} path The path of the property to get.\n * @param {*} [defaultValue] The value returned for `undefined` resolved values.\n * @returns {*} Returns the resolved value.\n * @example\n *\n * var object = { 'a': [{ 'b': { 'c': 3 } }] };\n *\n * _.get(object, 'a[0].b.c');\n * // => 3\n *\n * _.get(object, ['a', '0', 'b', 'c']);\n * // => 3\n *\n * _.get(object, 'a.b.c', 'default');\n * // => 'default'\n */\nfunction get(object, path, defaultValue) {\n var result = object == null ? undefined : baseGet(object, path);\n return result === undefined ? defaultValue : result;\n}\n\n/**\n * Checks if `path` is a direct or inherited property of `object`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Object\n * @param {Object} object The object to query.\n * @param {Array|string} path The path to check.\n * @returns {boolean} Returns `true` if `path` exists, else `false`.\n * @example\n *\n * var object = _.create({ 'a': _.create({ 'b': 2 }) });\n *\n * _.hasIn(object, 'a');\n * // => true\n *\n * _.hasIn(object, 'a.b');\n * // => true\n *\n * _.hasIn(object, ['a', 'b']);\n * // => true\n *\n * _.hasIn(object, 'b');\n * // => false\n */\nfunction hasIn(object, path) {\n return object != null && hasPath(object, path, baseHasIn);\n}\n\n/**\n * Creates an array of the own enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects. See the\n * [ES spec](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)\n * for more details.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keys(new Foo);\n * // => ['a', 'b'] (iteration order is not guaranteed)\n *\n * _.keys('hi');\n * // => ['0', '1']\n */\nfunction keys(object) {\n return isArrayLike(object) ? arrayLikeKeys(object) : baseKeys(object);\n}\n\n/**\n * This method returns the first argument it receives.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Util\n * @param {*} value Any value.\n * @returns {*} Returns `value`.\n * @example\n *\n * var object = { 'a': 1 };\n *\n * console.log(_.identity(object) === object);\n * // => true\n */\nfunction identity(value) {\n return value;\n}\n\n/**\n * Creates a function that returns the value at `path` of a given object.\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Util\n * @param {Array|string} path The path of the property to get.\n * @returns {Function} Returns the new accessor function.\n * @example\n *\n * var objects = [\n * { 'a': { 'b': 2 } },\n * { 'a': { 'b': 1 } }\n * ];\n *\n * _.map(objects, _.property('a.b'));\n * // => [2, 1]\n *\n * _.map(_.sortBy(objects, _.property(['a', 'b'])), 'a.b');\n * // => [1, 2]\n */\nfunction property(path) {\n return isKey(path) ? baseProperty(toKey(path)) : basePropertyDeep(path);\n}\n\nmodule.exports = findIndex;\n","/**\n * Copyright (c) 2014-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\n/**\n * Similar to invariant but only logs a warning if the condition is not met.\n * This can be used to log issues in development environments in critical\n * paths. Removing the logging code for production environments will keep the\n * same logic and follow the same code paths.\n */\n\nvar __DEV__ = process.env.NODE_ENV !== 'production';\n\nvar warning = function() {};\n\nif (__DEV__) {\n var printWarning = function printWarning(format, args) {\n var len = arguments.length;\n args = new Array(len > 1 ? len - 1 : 0);\n for (var key = 1; key < len; key++) {\n args[key - 1] = arguments[key];\n }\n var argIndex = 0;\n var message = 'Warning: ' +\n format.replace(/%s/g, function() {\n return args[argIndex++];\n });\n if (typeof console !== 'undefined') {\n console.error(message);\n }\n try {\n // --- Welcome to debugging React ---\n // This error was thrown as a convenience so that you can use this stack\n // to find the callsite that caused this warning to fire.\n throw new Error(message);\n } catch (x) {}\n }\n\n warning = function(condition, format, args) {\n var len = arguments.length;\n args = new Array(len > 2 ? len - 2 : 0);\n for (var key = 2; key < len; key++) {\n args[key - 2] = arguments[key];\n }\n if (format === undefined) {\n throw new Error(\n '`warning(condition, format, ...args)` requires a warning ' +\n 'message argument'\n );\n }\n if (!condition) {\n printWarning.apply(null, [format].concat(args));\n }\n };\n}\n\nmodule.exports = warning;\n","/**\n * Lodash (Custom Build) <https://lodash.com/>\n * Build: `lodash modularize exports=\"npm\" -o ./`\n * Copyright JS Foundation and other contributors <https://js.foundation/>\n * Released under MIT license <https://lodash.com/license>\n * Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>\n * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n */\n\n/** Used as the size to enable large array optimizations. */\nvar LARGE_ARRAY_SIZE = 200;\n\n/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1,\n COMPARE_UNORDERED_FLAG = 2;\n\n/** Used as references for various `Number` constants. */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n asyncTag = '[object AsyncFunction]',\n boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n funcTag = '[object Function]',\n genTag = '[object GeneratorFunction]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n nullTag = '[object Null]',\n objectTag = '[object Object]',\n promiseTag = '[object Promise]',\n proxyTag = '[object Proxy]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n symbolTag = '[object Symbol]',\n undefinedTag = '[object Undefined]',\n weakMapTag = '[object WeakMap]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n dataViewTag = '[object DataView]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/**\n * Used to match `RegExp`\n * [syntax characters](http://ecma-international.org/ecma-262/7.0/#sec-patterns).\n */\nvar reRegExpChar = /[\\\\^$.*+?()[\\]{}|]/g;\n\n/** Used to detect host constructors (Safari). */\nvar reIsHostCtor = /^\\[object .+?Constructor\\]$/;\n\n/** Used to detect unsigned integer values. */\nvar reIsUint = /^(?:0|[1-9]\\d*)$/;\n\n/** Used to identify `toStringTag` values of typed arrays. */\nvar typedArrayTags = {};\ntypedArrayTags[float32Tag] = typedArrayTags[float64Tag] =\ntypedArrayTags[int8Tag] = typedArrayTags[int16Tag] =\ntypedArrayTags[int32Tag] = typedArrayTags[uint8Tag] =\ntypedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] =\ntypedArrayTags[uint32Tag] = true;\ntypedArrayTags[argsTag] = typedArrayTags[arrayTag] =\ntypedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] =\ntypedArrayTags[dataViewTag] = typedArrayTags[dateTag] =\ntypedArrayTags[errorTag] = typedArrayTags[funcTag] =\ntypedArrayTags[mapTag] = typedArrayTags[numberTag] =\ntypedArrayTags[objectTag] = typedArrayTags[regexpTag] =\ntypedArrayTags[setTag] = typedArrayTags[stringTag] =\ntypedArrayTags[weakMapTag] = false;\n\n/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\n/** Detect free variable `exports`. */\nvar freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;\n\n/** Detect free variable `module`. */\nvar freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;\n\n/** Detect the popular CommonJS extension `module.exports`. */\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n\n/** Detect free variable `process` from Node.js. */\nvar freeProcess = moduleExports && freeGlobal.process;\n\n/** Used to access faster Node.js helpers. */\nvar nodeUtil = (function() {\n try {\n return freeProcess && freeProcess.binding && freeProcess.binding('util');\n } catch (e) {}\n}());\n\n/* Node.js helper references. */\nvar nodeIsTypedArray = nodeUtil && nodeUtil.isTypedArray;\n\n/**\n * A specialized version of `_.filter` for arrays without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {Array} Returns the new filtered array.\n */\nfunction arrayFilter(array, predicate) {\n var index = -1,\n length = array == null ? 0 : array.length,\n resIndex = 0,\n result = [];\n\n while (++index < length) {\n var value = array[index];\n if (predicate(value, index, array)) {\n result[resIndex++] = value;\n }\n }\n return result;\n}\n\n/**\n * Appends the elements of `values` to `array`.\n *\n * @private\n * @param {Array} array The array to modify.\n * @param {Array} values The values to append.\n * @returns {Array} Returns `array`.\n */\nfunction arrayPush(array, values) {\n var index = -1,\n length = values.length,\n offset = array.length;\n\n while (++index < length) {\n array[offset + index] = values[index];\n }\n return array;\n}\n\n/**\n * A specialized version of `_.some` for arrays without support for iteratee\n * shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {boolean} Returns `true` if any element passes the predicate check,\n * else `false`.\n */\nfunction arraySome(array, predicate) {\n var index = -1,\n length = array == null ? 0 : array.length;\n\n while (++index < length) {\n if (predicate(array[index], index, array)) {\n return true;\n }\n }\n return false;\n}\n\n/**\n * The base implementation of `_.times` without support for iteratee shorthands\n * or max array length checks.\n *\n * @private\n * @param {number} n The number of times to invoke `iteratee`.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns the array of results.\n */\nfunction baseTimes(n, iteratee) {\n var index = -1,\n result = Array(n);\n\n while (++index < n) {\n result[index] = iteratee(index);\n }\n return result;\n}\n\n/**\n * The base implementation of `_.unary` without support for storing metadata.\n *\n * @private\n * @param {Function} func The function to cap arguments for.\n * @returns {Function} Returns the new capped function.\n */\nfunction baseUnary(func) {\n return function(value) {\n return func(value);\n };\n}\n\n/**\n * Checks if a `cache` value for `key` exists.\n *\n * @private\n * @param {Object} cache The cache to query.\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction cacheHas(cache, key) {\n return cache.has(key);\n}\n\n/**\n * Gets the value at `key` of `object`.\n *\n * @private\n * @param {Object} [object] The object to query.\n * @param {string} key The key of the property to get.\n * @returns {*} Returns the property value.\n */\nfunction getValue(object, key) {\n return object == null ? undefined : object[key];\n}\n\n/**\n * Converts `map` to its key-value pairs.\n *\n * @private\n * @param {Object} map The map to convert.\n * @returns {Array} Returns the key-value pairs.\n */\nfunction mapToArray(map) {\n var index = -1,\n result = Array(map.size);\n\n map.forEach(function(value, key) {\n result[++index] = [key, value];\n });\n return result;\n}\n\n/**\n * Creates a unary function that invokes `func` with its argument transformed.\n *\n * @private\n * @param {Function} func The function to wrap.\n * @param {Function} transform The argument transform.\n * @returns {Function} Returns the new function.\n */\nfunction overArg(func, transform) {\n return function(arg) {\n return func(transform(arg));\n };\n}\n\n/**\n * Converts `set` to an array of its values.\n *\n * @private\n * @param {Object} set The set to convert.\n * @returns {Array} Returns the values.\n */\nfunction setToArray(set) {\n var index = -1,\n result = Array(set.size);\n\n set.forEach(function(value) {\n result[++index] = value;\n });\n return result;\n}\n\n/** Used for built-in method references. */\nvar arrayProto = Array.prototype,\n funcProto = Function.prototype,\n objectProto = Object.prototype;\n\n/** Used to detect overreaching core-js shims. */\nvar coreJsData = root['__core-js_shared__'];\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Used to detect methods masquerading as native. */\nvar maskSrcKey = (function() {\n var uid = /[^.]+$/.exec(coreJsData && coreJsData.keys && coreJsData.keys.IE_PROTO || '');\n return uid ? ('Symbol(src)_1.' + uid) : '';\n}());\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/** Used to detect if a method is native. */\nvar reIsNative = RegExp('^' +\n funcToString.call(hasOwnProperty).replace(reRegExpChar, '\\\\$&')\n .replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g, '$1.*?') + '$'\n);\n\n/** Built-in value references. */\nvar Buffer = moduleExports ? root.Buffer : undefined,\n Symbol = root.Symbol,\n Uint8Array = root.Uint8Array,\n propertyIsEnumerable = objectProto.propertyIsEnumerable,\n splice = arrayProto.splice,\n symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeGetSymbols = Object.getOwnPropertySymbols,\n nativeIsBuffer = Buffer ? Buffer.isBuffer : undefined,\n nativeKeys = overArg(Object.keys, Object);\n\n/* Built-in method references that are verified to be native. */\nvar DataView = getNative(root, 'DataView'),\n Map = getNative(root, 'Map'),\n Promise = getNative(root, 'Promise'),\n Set = getNative(root, 'Set'),\n WeakMap = getNative(root, 'WeakMap'),\n nativeCreate = getNative(Object, 'create');\n\n/** Used to detect maps, sets, and weakmaps. */\nvar dataViewCtorString = toSource(DataView),\n mapCtorString = toSource(Map),\n promiseCtorString = toSource(Promise),\n setCtorString = toSource(Set),\n weakMapCtorString = toSource(WeakMap);\n\n/** Used to convert symbols to primitives and strings. */\nvar symbolProto = Symbol ? Symbol.prototype : undefined,\n symbolValueOf = symbolProto ? symbolProto.valueOf : undefined;\n\n/**\n * Creates a hash object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Hash(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n/**\n * Removes all key-value entries from the hash.\n *\n * @private\n * @name clear\n * @memberOf Hash\n */\nfunction hashClear() {\n this.__data__ = nativeCreate ? nativeCreate(null) : {};\n this.size = 0;\n}\n\n/**\n * Removes `key` and its value from the hash.\n *\n * @private\n * @name delete\n * @memberOf Hash\n * @param {Object} hash The hash to modify.\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction hashDelete(key) {\n var result = this.has(key) && delete this.__data__[key];\n this.size -= result ? 1 : 0;\n return result;\n}\n\n/**\n * Gets the hash value for `key`.\n *\n * @private\n * @name get\n * @memberOf Hash\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction hashGet(key) {\n var data = this.__data__;\n if (nativeCreate) {\n var result = data[key];\n return result === HASH_UNDEFINED ? undefined : result;\n }\n return hasOwnProperty.call(data, key) ? data[key] : undefined;\n}\n\n/**\n * Checks if a hash value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Hash\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction hashHas(key) {\n var data = this.__data__;\n return nativeCreate ? (data[key] !== undefined) : hasOwnProperty.call(data, key);\n}\n\n/**\n * Sets the hash `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Hash\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the hash instance.\n */\nfunction hashSet(key, value) {\n var data = this.__data__;\n this.size += this.has(key) ? 0 : 1;\n data[key] = (nativeCreate && value === undefined) ? HASH_UNDEFINED : value;\n return this;\n}\n\n// Add methods to `Hash`.\nHash.prototype.clear = hashClear;\nHash.prototype['delete'] = hashDelete;\nHash.prototype.get = hashGet;\nHash.prototype.has = hashHas;\nHash.prototype.set = hashSet;\n\n/**\n * Creates an list cache object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction ListCache(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n/**\n * Removes all key-value entries from the list cache.\n *\n * @private\n * @name clear\n * @memberOf ListCache\n */\nfunction listCacheClear() {\n this.__data__ = [];\n this.size = 0;\n}\n\n/**\n * Removes `key` and its value from the list cache.\n *\n * @private\n * @name delete\n * @memberOf ListCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction listCacheDelete(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n return false;\n }\n var lastIndex = data.length - 1;\n if (index == lastIndex) {\n data.pop();\n } else {\n splice.call(data, index, 1);\n }\n --this.size;\n return true;\n}\n\n/**\n * Gets the list cache value for `key`.\n *\n * @private\n * @name get\n * @memberOf ListCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction listCacheGet(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n return index < 0 ? undefined : data[index][1];\n}\n\n/**\n * Checks if a list cache value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf ListCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction listCacheHas(key) {\n return assocIndexOf(this.__data__, key) > -1;\n}\n\n/**\n * Sets the list cache `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf ListCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the list cache instance.\n */\nfunction listCacheSet(key, value) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n ++this.size;\n data.push([key, value]);\n } else {\n data[index][1] = value;\n }\n return this;\n}\n\n// Add methods to `ListCache`.\nListCache.prototype.clear = listCacheClear;\nListCache.prototype['delete'] = listCacheDelete;\nListCache.prototype.get = listCacheGet;\nListCache.prototype.has = listCacheHas;\nListCache.prototype.set = listCacheSet;\n\n/**\n * Creates a map cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction MapCache(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n/**\n * Removes all key-value entries from the map.\n *\n * @private\n * @name clear\n * @memberOf MapCache\n */\nfunction mapCacheClear() {\n this.size = 0;\n this.__data__ = {\n 'hash': new Hash,\n 'map': new (Map || ListCache),\n 'string': new Hash\n };\n}\n\n/**\n * Removes `key` and its value from the map.\n *\n * @private\n * @name delete\n * @memberOf MapCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction mapCacheDelete(key) {\n var result = getMapData(this, key)['delete'](key);\n this.size -= result ? 1 : 0;\n return result;\n}\n\n/**\n * Gets the map value for `key`.\n *\n * @private\n * @name get\n * @memberOf MapCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction mapCacheGet(key) {\n return getMapData(this, key).get(key);\n}\n\n/**\n * Checks if a map value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf MapCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction mapCacheHas(key) {\n return getMapData(this, key).has(key);\n}\n\n/**\n * Sets the map `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf MapCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the map cache instance.\n */\nfunction mapCacheSet(key, value) {\n var data = getMapData(this, key),\n size = data.size;\n\n data.set(key, value);\n this.size += data.size == size ? 0 : 1;\n return this;\n}\n\n// Add methods to `MapCache`.\nMapCache.prototype.clear = mapCacheClear;\nMapCache.prototype['delete'] = mapCacheDelete;\nMapCache.prototype.get = mapCacheGet;\nMapCache.prototype.has = mapCacheHas;\nMapCache.prototype.set = mapCacheSet;\n\n/**\n *\n * Creates an array cache object to store unique values.\n *\n * @private\n * @constructor\n * @param {Array} [values] The values to cache.\n */\nfunction SetCache(values) {\n var index = -1,\n length = values == null ? 0 : values.length;\n\n this.__data__ = new MapCache;\n while (++index < length) {\n this.add(values[index]);\n }\n}\n\n/**\n * Adds `value` to the array cache.\n *\n * @private\n * @name add\n * @memberOf SetCache\n * @alias push\n * @param {*} value The value to cache.\n * @returns {Object} Returns the cache instance.\n */\nfunction setCacheAdd(value) {\n this.__data__.set(value, HASH_UNDEFINED);\n return this;\n}\n\n/**\n * Checks if `value` is in the array cache.\n *\n * @private\n * @name has\n * @memberOf SetCache\n * @param {*} value The value to search for.\n * @returns {number} Returns `true` if `value` is found, else `false`.\n */\nfunction setCacheHas(value) {\n return this.__data__.has(value);\n}\n\n// Add methods to `SetCache`.\nSetCache.prototype.add = SetCache.prototype.push = setCacheAdd;\nSetCache.prototype.has = setCacheHas;\n\n/**\n * Creates a stack cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Stack(entries) {\n var data = this.__data__ = new ListCache(entries);\n this.size = data.size;\n}\n\n/**\n * Removes all key-value entries from the stack.\n *\n * @private\n * @name clear\n * @memberOf Stack\n */\nfunction stackClear() {\n this.__data__ = new ListCache;\n this.size = 0;\n}\n\n/**\n * Removes `key` and its value from the stack.\n *\n * @private\n * @name delete\n * @memberOf Stack\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction stackDelete(key) {\n var data = this.__data__,\n result = data['delete'](key);\n\n this.size = data.size;\n return result;\n}\n\n/**\n * Gets the stack value for `key`.\n *\n * @private\n * @name get\n * @memberOf Stack\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction stackGet(key) {\n return this.__data__.get(key);\n}\n\n/**\n * Checks if a stack value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Stack\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction stackHas(key) {\n return this.__data__.has(key);\n}\n\n/**\n * Sets the stack `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Stack\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the stack cache instance.\n */\nfunction stackSet(key, value) {\n var data = this.__data__;\n if (data instanceof ListCache) {\n var pairs = data.__data__;\n if (!Map || (pairs.length < LARGE_ARRAY_SIZE - 1)) {\n pairs.push([key, value]);\n this.size = ++data.size;\n return this;\n }\n data = this.__data__ = new MapCache(pairs);\n }\n data.set(key, value);\n this.size = data.size;\n return this;\n}\n\n// Add methods to `Stack`.\nStack.prototype.clear = stackClear;\nStack.prototype['delete'] = stackDelete;\nStack.prototype.get = stackGet;\nStack.prototype.has = stackHas;\nStack.prototype.set = stackSet;\n\n/**\n * Creates an array of the enumerable property names of the array-like `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @param {boolean} inherited Specify returning inherited property names.\n * @returns {Array} Returns the array of property names.\n */\nfunction arrayLikeKeys(value, inherited) {\n var isArr = isArray(value),\n isArg = !isArr && isArguments(value),\n isBuff = !isArr && !isArg && isBuffer(value),\n isType = !isArr && !isArg && !isBuff && isTypedArray(value),\n skipIndexes = isArr || isArg || isBuff || isType,\n result = skipIndexes ? baseTimes(value.length, String) : [],\n length = result.length;\n\n for (var key in value) {\n if ((inherited || hasOwnProperty.call(value, key)) &&\n !(skipIndexes && (\n // Safari 9 has enumerable `arguments.length` in strict mode.\n key == 'length' ||\n // Node.js 0.10 has enumerable non-index properties on buffers.\n (isBuff && (key == 'offset' || key == 'parent')) ||\n // PhantomJS 2 has enumerable non-index properties on typed arrays.\n (isType && (key == 'buffer' || key == 'byteLength' || key == 'byteOffset')) ||\n // Skip index properties.\n isIndex(key, length)\n ))) {\n result.push(key);\n }\n }\n return result;\n}\n\n/**\n * Gets the index at which the `key` is found in `array` of key-value pairs.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} key The key to search for.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction assocIndexOf(array, key) {\n var length = array.length;\n while (length--) {\n if (eq(array[length][0], key)) {\n return length;\n }\n }\n return -1;\n}\n\n/**\n * The base implementation of `getAllKeys` and `getAllKeysIn` which uses\n * `keysFunc` and `symbolsFunc` to get the enumerable property names and\n * symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Function} keysFunc The function to get the keys of `object`.\n * @param {Function} symbolsFunc The function to get the symbols of `object`.\n * @returns {Array} Returns the array of property names and symbols.\n */\nfunction baseGetAllKeys(object, keysFunc, symbolsFunc) {\n var result = keysFunc(object);\n return isArray(object) ? result : arrayPush(result, symbolsFunc(object));\n}\n\n/**\n * The base implementation of `getTag` without fallbacks for buggy environments.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nfunction baseGetTag(value) {\n if (value == null) {\n return value === undefined ? undefinedTag : nullTag;\n }\n return (symToStringTag && symToStringTag in Object(value))\n ? getRawTag(value)\n : objectToString(value);\n}\n\n/**\n * The base implementation of `_.isArguments`.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n */\nfunction baseIsArguments(value) {\n return isObjectLike(value) && baseGetTag(value) == argsTag;\n}\n\n/**\n * The base implementation of `_.isEqual` which supports partial comparisons\n * and tracks traversed objects.\n *\n * @private\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @param {boolean} bitmask The bitmask flags.\n * 1 - Unordered comparison\n * 2 - Partial comparison\n * @param {Function} [customizer] The function to customize comparisons.\n * @param {Object} [stack] Tracks traversed `value` and `other` objects.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n */\nfunction baseIsEqual(value, other, bitmask, customizer, stack) {\n if (value === other) {\n return true;\n }\n if (value == null || other == null || (!isObjectLike(value) && !isObjectLike(other))) {\n return value !== value && other !== other;\n }\n return baseIsEqualDeep(value, other, bitmask, customizer, baseIsEqual, stack);\n}\n\n/**\n * A specialized version of `baseIsEqual` for arrays and objects which performs\n * deep comparisons and tracks traversed objects enabling objects with circular\n * references to be compared.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} [stack] Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction baseIsEqualDeep(object, other, bitmask, customizer, equalFunc, stack) {\n var objIsArr = isArray(object),\n othIsArr = isArray(other),\n objTag = objIsArr ? arrayTag : getTag(object),\n othTag = othIsArr ? arrayTag : getTag(other);\n\n objTag = objTag == argsTag ? objectTag : objTag;\n othTag = othTag == argsTag ? objectTag : othTag;\n\n var objIsObj = objTag == objectTag,\n othIsObj = othTag == objectTag,\n isSameTag = objTag == othTag;\n\n if (isSameTag && isBuffer(object)) {\n if (!isBuffer(other)) {\n return false;\n }\n objIsArr = true;\n objIsObj = false;\n }\n if (isSameTag && !objIsObj) {\n stack || (stack = new Stack);\n return (objIsArr || isTypedArray(object))\n ? equalArrays(object, other, bitmask, customizer, equalFunc, stack)\n : equalByTag(object, other, objTag, bitmask, customizer, equalFunc, stack);\n }\n if (!(bitmask & COMPARE_PARTIAL_FLAG)) {\n var objIsWrapped = objIsObj && hasOwnProperty.call(object, '__wrapped__'),\n othIsWrapped = othIsObj && hasOwnProperty.call(other, '__wrapped__');\n\n if (objIsWrapped || othIsWrapped) {\n var objUnwrapped = objIsWrapped ? object.value() : object,\n othUnwrapped = othIsWrapped ? other.value() : other;\n\n stack || (stack = new Stack);\n return equalFunc(objUnwrapped, othUnwrapped, bitmask, customizer, stack);\n }\n }\n if (!isSameTag) {\n return false;\n }\n stack || (stack = new Stack);\n return equalObjects(object, other, bitmask, customizer, equalFunc, stack);\n}\n\n/**\n * The base implementation of `_.isNative` without bad shim checks.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a native function,\n * else `false`.\n */\nfunction baseIsNative(value) {\n if (!isObject(value) || isMasked(value)) {\n return false;\n }\n var pattern = isFunction(value) ? reIsNative : reIsHostCtor;\n return pattern.test(toSource(value));\n}\n\n/**\n * The base implementation of `_.isTypedArray` without Node.js optimizations.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n */\nfunction baseIsTypedArray(value) {\n return isObjectLike(value) &&\n isLength(value.length) && !!typedArrayTags[baseGetTag(value)];\n}\n\n/**\n * The base implementation of `_.keys` which doesn't treat sparse arrays as dense.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction baseKeys(object) {\n if (!isPrototype(object)) {\n return nativeKeys(object);\n }\n var result = [];\n for (var key in Object(object)) {\n if (hasOwnProperty.call(object, key) && key != 'constructor') {\n result.push(key);\n }\n }\n return result;\n}\n\n/**\n * A specialized version of `baseIsEqualDeep` for arrays with support for\n * partial deep comparisons.\n *\n * @private\n * @param {Array} array The array to compare.\n * @param {Array} other The other array to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} stack Tracks traversed `array` and `other` objects.\n * @returns {boolean} Returns `true` if the arrays are equivalent, else `false`.\n */\nfunction equalArrays(array, other, bitmask, customizer, equalFunc, stack) {\n var isPartial = bitmask & COMPARE_PARTIAL_FLAG,\n arrLength = array.length,\n othLength = other.length;\n\n if (arrLength != othLength && !(isPartial && othLength > arrLength)) {\n return false;\n }\n // Assume cyclic values are equal.\n var stacked = stack.get(array);\n if (stacked && stack.get(other)) {\n return stacked == other;\n }\n var index = -1,\n result = true,\n seen = (bitmask & COMPARE_UNORDERED_FLAG) ? new SetCache : undefined;\n\n stack.set(array, other);\n stack.set(other, array);\n\n // Ignore non-index properties.\n while (++index < arrLength) {\n var arrValue = array[index],\n othValue = other[index];\n\n if (customizer) {\n var compared = isPartial\n ? customizer(othValue, arrValue, index, other, array, stack)\n : customizer(arrValue, othValue, index, array, other, stack);\n }\n if (compared !== undefined) {\n if (compared) {\n continue;\n }\n result = false;\n break;\n }\n // Recursively compare arrays (susceptible to call stack limits).\n if (seen) {\n if (!arraySome(other, function(othValue, othIndex) {\n if (!cacheHas(seen, othIndex) &&\n (arrValue === othValue || equalFunc(arrValue, othValue, bitmask, customizer, stack))) {\n return seen.push(othIndex);\n }\n })) {\n result = false;\n break;\n }\n } else if (!(\n arrValue === othValue ||\n equalFunc(arrValue, othValue, bitmask, customizer, stack)\n )) {\n result = false;\n break;\n }\n }\n stack['delete'](array);\n stack['delete'](other);\n return result;\n}\n\n/**\n * A specialized version of `baseIsEqualDeep` for comparing objects of\n * the same `toStringTag`.\n *\n * **Note:** This function only supports comparing values with tags of\n * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {string} tag The `toStringTag` of the objects to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} stack Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction equalByTag(object, other, tag, bitmask, customizer, equalFunc, stack) {\n switch (tag) {\n case dataViewTag:\n if ((object.byteLength != other.byteLength) ||\n (object.byteOffset != other.byteOffset)) {\n return false;\n }\n object = object.buffer;\n other = other.buffer;\n\n case arrayBufferTag:\n if ((object.byteLength != other.byteLength) ||\n !equalFunc(new Uint8Array(object), new Uint8Array(other))) {\n return false;\n }\n return true;\n\n case boolTag:\n case dateTag:\n case numberTag:\n // Coerce booleans to `1` or `0` and dates to milliseconds.\n // Invalid dates are coerced to `NaN`.\n return eq(+object, +other);\n\n case errorTag:\n return object.name == other.name && object.message == other.message;\n\n case regexpTag:\n case stringTag:\n // Coerce regexes to strings and treat strings, primitives and objects,\n // as equal. See http://www.ecma-international.org/ecma-262/7.0/#sec-regexp.prototype.tostring\n // for more details.\n return object == (other + '');\n\n case mapTag:\n var convert = mapToArray;\n\n case setTag:\n var isPartial = bitmask & COMPARE_PARTIAL_FLAG;\n convert || (convert = setToArray);\n\n if (object.size != other.size && !isPartial) {\n return false;\n }\n // Assume cyclic values are equal.\n var stacked = stack.get(object);\n if (stacked) {\n return stacked == other;\n }\n bitmask |= COMPARE_UNORDERED_FLAG;\n\n // Recursively compare objects (susceptible to call stack limits).\n stack.set(object, other);\n var result = equalArrays(convert(object), convert(other), bitmask, customizer, equalFunc, stack);\n stack['delete'](object);\n return result;\n\n case symbolTag:\n if (symbolValueOf) {\n return symbolValueOf.call(object) == symbolValueOf.call(other);\n }\n }\n return false;\n}\n\n/**\n * A specialized version of `baseIsEqualDeep` for objects with support for\n * partial deep comparisons.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} stack Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction equalObjects(object, other, bitmask, customizer, equalFunc, stack) {\n var isPartial = bitmask & COMPARE_PARTIAL_FLAG,\n objProps = getAllKeys(object),\n objLength = objProps.length,\n othProps = getAllKeys(other),\n othLength = othProps.length;\n\n if (objLength != othLength && !isPartial) {\n return false;\n }\n var index = objLength;\n while (index--) {\n var key = objProps[index];\n if (!(isPartial ? key in other : hasOwnProperty.call(other, key))) {\n return false;\n }\n }\n // Assume cyclic values are equal.\n var stacked = stack.get(object);\n if (stacked && stack.get(other)) {\n return stacked == other;\n }\n var result = true;\n stack.set(object, other);\n stack.set(other, object);\n\n var skipCtor = isPartial;\n while (++index < objLength) {\n key = objProps[index];\n var objValue = object[key],\n othValue = other[key];\n\n if (customizer) {\n var compared = isPartial\n ? customizer(othValue, objValue, key, other, object, stack)\n : customizer(objValue, othValue, key, object, other, stack);\n }\n // Recursively compare objects (susceptible to call stack limits).\n if (!(compared === undefined\n ? (objValue === othValue || equalFunc(objValue, othValue, bitmask, customizer, stack))\n : compared\n )) {\n result = false;\n break;\n }\n skipCtor || (skipCtor = key == 'constructor');\n }\n if (result && !skipCtor) {\n var objCtor = object.constructor,\n othCtor = other.constructor;\n\n // Non `Object` object instances with different constructors are not equal.\n if (objCtor != othCtor &&\n ('constructor' in object && 'constructor' in other) &&\n !(typeof objCtor == 'function' && objCtor instanceof objCtor &&\n typeof othCtor == 'function' && othCtor instanceof othCtor)) {\n result = false;\n }\n }\n stack['delete'](object);\n stack['delete'](other);\n return result;\n}\n\n/**\n * Creates an array of own enumerable property names and symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names and symbols.\n */\nfunction getAllKeys(object) {\n return baseGetAllKeys(object, keys, getSymbols);\n}\n\n/**\n * Gets the data for `map`.\n *\n * @private\n * @param {Object} map The map to query.\n * @param {string} key The reference key.\n * @returns {*} Returns the map data.\n */\nfunction getMapData(map, key) {\n var data = map.__data__;\n return isKeyable(key)\n ? data[typeof key == 'string' ? 'string' : 'hash']\n : data.map;\n}\n\n/**\n * Gets the native function at `key` of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the method to get.\n * @returns {*} Returns the function if it's native, else `undefined`.\n */\nfunction getNative(object, key) {\n var value = getValue(object, key);\n return baseIsNative(value) ? value : undefined;\n}\n\n/**\n * A specialized version of `baseGetTag` which ignores `Symbol.toStringTag` values.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the raw `toStringTag`.\n */\nfunction getRawTag(value) {\n var isOwn = hasOwnProperty.call(value, symToStringTag),\n tag = value[symToStringTag];\n\n try {\n value[symToStringTag] = undefined;\n var unmasked = true;\n } catch (e) {}\n\n var result = nativeObjectToString.call(value);\n if (unmasked) {\n if (isOwn) {\n value[symToStringTag] = tag;\n } else {\n delete value[symToStringTag];\n }\n }\n return result;\n}\n\n/**\n * Creates an array of the own enumerable symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of symbols.\n */\nvar getSymbols = !nativeGetSymbols ? stubArray : function(object) {\n if (object == null) {\n return [];\n }\n object = Object(object);\n return arrayFilter(nativeGetSymbols(object), function(symbol) {\n return propertyIsEnumerable.call(object, symbol);\n });\n};\n\n/**\n * Gets the `toStringTag` of `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nvar getTag = baseGetTag;\n\n// Fallback for data views, maps, sets, and weak maps in IE 11 and promises in Node.js < 6.\nif ((DataView && getTag(new DataView(new ArrayBuffer(1))) != dataViewTag) ||\n (Map && getTag(new Map) != mapTag) ||\n (Promise && getTag(Promise.resolve()) != promiseTag) ||\n (Set && getTag(new Set) != setTag) ||\n (WeakMap && getTag(new WeakMap) != weakMapTag)) {\n getTag = function(value) {\n var result = baseGetTag(value),\n Ctor = result == objectTag ? value.constructor : undefined,\n ctorString = Ctor ? toSource(Ctor) : '';\n\n if (ctorString) {\n switch (ctorString) {\n case dataViewCtorString: return dataViewTag;\n case mapCtorString: return mapTag;\n case promiseCtorString: return promiseTag;\n case setCtorString: return setTag;\n case weakMapCtorString: return weakMapTag;\n }\n }\n return result;\n };\n}\n\n/**\n * Checks if `value` is a valid array-like index.\n *\n * @private\n * @param {*} value The value to check.\n * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index.\n * @returns {boolean} Returns `true` if `value` is a valid index, else `false`.\n */\nfunction isIndex(value, length) {\n length = length == null ? MAX_SAFE_INTEGER : length;\n return !!length &&\n (typeof value == 'number' || reIsUint.test(value)) &&\n (value > -1 && value % 1 == 0 && value < length);\n}\n\n/**\n * Checks if `value` is suitable for use as unique object key.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is suitable, else `false`.\n */\nfunction isKeyable(value) {\n var type = typeof value;\n return (type == 'string' || type == 'number' || type == 'symbol' || type == 'boolean')\n ? (value !== '__proto__')\n : (value === null);\n}\n\n/**\n * Checks if `func` has its source masked.\n *\n * @private\n * @param {Function} func The function to check.\n * @returns {boolean} Returns `true` if `func` is masked, else `false`.\n */\nfunction isMasked(func) {\n return !!maskSrcKey && (maskSrcKey in func);\n}\n\n/**\n * Checks if `value` is likely a prototype object.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a prototype, else `false`.\n */\nfunction isPrototype(value) {\n var Ctor = value && value.constructor,\n proto = (typeof Ctor == 'function' && Ctor.prototype) || objectProto;\n\n return value === proto;\n}\n\n/**\n * Converts `value` to a string using `Object.prototype.toString`.\n *\n * @private\n * @param {*} value The value to convert.\n * @returns {string} Returns the converted string.\n */\nfunction objectToString(value) {\n return nativeObjectToString.call(value);\n}\n\n/**\n * Converts `func` to its source code.\n *\n * @private\n * @param {Function} func The function to convert.\n * @returns {string} Returns the source code.\n */\nfunction toSource(func) {\n if (func != null) {\n try {\n return funcToString.call(func);\n } catch (e) {}\n try {\n return (func + '');\n } catch (e) {}\n }\n return '';\n}\n\n/**\n * Performs a\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * comparison between two values to determine if they are equivalent.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'a': 1 };\n * var other = { 'a': 1 };\n *\n * _.eq(object, object);\n * // => true\n *\n * _.eq(object, other);\n * // => false\n *\n * _.eq('a', 'a');\n * // => true\n *\n * _.eq('a', Object('a'));\n * // => false\n *\n * _.eq(NaN, NaN);\n * // => true\n */\nfunction eq(value, other) {\n return value === other || (value !== value && other !== other);\n}\n\n/**\n * Checks if `value` is likely an `arguments` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n * else `false`.\n * @example\n *\n * _.isArguments(function() { return arguments; }());\n * // => true\n *\n * _.isArguments([1, 2, 3]);\n * // => false\n */\nvar isArguments = baseIsArguments(function() { return arguments; }()) ? baseIsArguments : function(value) {\n return isObjectLike(value) && hasOwnProperty.call(value, 'callee') &&\n !propertyIsEnumerable.call(value, 'callee');\n};\n\n/**\n * Checks if `value` is classified as an `Array` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array, else `false`.\n * @example\n *\n * _.isArray([1, 2, 3]);\n * // => true\n *\n * _.isArray(document.body.children);\n * // => false\n *\n * _.isArray('abc');\n * // => false\n *\n * _.isArray(_.noop);\n * // => false\n */\nvar isArray = Array.isArray;\n\n/**\n * Checks if `value` is array-like. A value is considered array-like if it's\n * not a function and has a `value.length` that's an integer greater than or\n * equal to `0` and less than or equal to `Number.MAX_SAFE_INTEGER`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is array-like, else `false`.\n * @example\n *\n * _.isArrayLike([1, 2, 3]);\n * // => true\n *\n * _.isArrayLike(document.body.children);\n * // => true\n *\n * _.isArrayLike('abc');\n * // => true\n *\n * _.isArrayLike(_.noop);\n * // => false\n */\nfunction isArrayLike(value) {\n return value != null && isLength(value.length) && !isFunction(value);\n}\n\n/**\n * Checks if `value` is a buffer.\n *\n * @static\n * @memberOf _\n * @since 4.3.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a buffer, else `false`.\n * @example\n *\n * _.isBuffer(new Buffer(2));\n * // => true\n *\n * _.isBuffer(new Uint8Array(2));\n * // => false\n */\nvar isBuffer = nativeIsBuffer || stubFalse;\n\n/**\n * Performs a deep comparison between two values to determine if they are\n * equivalent.\n *\n * **Note:** This method supports comparing arrays, array buffers, booleans,\n * date objects, error objects, maps, numbers, `Object` objects, regexes,\n * sets, strings, symbols, and typed arrays. `Object` objects are compared\n * by their own, not inherited, enumerable properties. Functions and DOM\n * nodes are compared by strict equality, i.e. `===`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'a': 1 };\n * var other = { 'a': 1 };\n *\n * _.isEqual(object, other);\n * // => true\n *\n * object === other;\n * // => false\n */\nfunction isEqual(value, other) {\n return baseIsEqual(value, other);\n}\n\n/**\n * Checks if `value` is classified as a `Function` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a function, else `false`.\n * @example\n *\n * _.isFunction(_);\n * // => true\n *\n * _.isFunction(/abc/);\n * // => false\n */\nfunction isFunction(value) {\n if (!isObject(value)) {\n return false;\n }\n // The use of `Object#toString` avoids issues with the `typeof` operator\n // in Safari 9 which returns 'object' for typed arrays and other constructors.\n var tag = baseGetTag(value);\n return tag == funcTag || tag == genTag || tag == asyncTag || tag == proxyTag;\n}\n\n/**\n * Checks if `value` is a valid array-like length.\n *\n * **Note:** This method is loosely based on\n * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.\n * @example\n *\n * _.isLength(3);\n * // => true\n *\n * _.isLength(Number.MIN_VALUE);\n * // => false\n *\n * _.isLength(Infinity);\n * // => false\n *\n * _.isLength('3');\n * // => false\n */\nfunction isLength(value) {\n return typeof value == 'number' &&\n value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;\n}\n\n/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n var type = typeof value;\n return value != null && (type == 'object' || type == 'function');\n}\n\n/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return value != null && typeof value == 'object';\n}\n\n/**\n * Checks if `value` is classified as a typed array.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n * @example\n *\n * _.isTypedArray(new Uint8Array);\n * // => true\n *\n * _.isTypedArray([]);\n * // => false\n */\nvar isTypedArray = nodeIsTypedArray ? baseUnary(nodeIsTypedArray) : baseIsTypedArray;\n\n/**\n * Creates an array of the own enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects. See the\n * [ES spec](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)\n * for more details.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keys(new Foo);\n * // => ['a', 'b'] (iteration order is not guaranteed)\n *\n * _.keys('hi');\n * // => ['0', '1']\n */\nfunction keys(object) {\n return isArrayLike(object) ? arrayLikeKeys(object) : baseKeys(object);\n}\n\n/**\n * This method returns a new empty array.\n *\n * @static\n * @memberOf _\n * @since 4.13.0\n * @category Util\n * @returns {Array} Returns the new empty array.\n * @example\n *\n * var arrays = _.times(2, _.stubArray);\n *\n * console.log(arrays);\n * // => [[], []]\n *\n * console.log(arrays[0] === arrays[1]);\n * // => false\n */\nfunction stubArray() {\n return [];\n}\n\n/**\n * This method returns `false`.\n *\n * @static\n * @memberOf _\n * @since 4.13.0\n * @category Util\n * @returns {boolean} Returns `false`.\n * @example\n *\n * _.times(2, _.stubFalse);\n * // => [false, false]\n */\nfunction stubFalse() {\n return false;\n}\n\nmodule.exports = isEqual;\n","var g;\n\n// This works in non-strict mode\ng = (function() {\n\treturn this;\n})();\n\ntry {\n\t// This works if eval is allowed (see CSP)\n\tg = g || new Function(\"return this\")();\n} catch (e) {\n\t// This works if the window reference is available\n\tif (typeof window === \"object\") g = window;\n}\n\n// g can still be undefined, but nothing to do about it...\n// We return undefined, instead of nothing here, so it's\n// easier to handle this case. if(!global) { ...}\n\nmodule.exports = g;\n","/**\n * lodash (Custom Build) <https://lodash.com/>\n * Build: `lodash modularize exports=\"npm\" -o ./`\n * Copyright jQuery Foundation and other contributors <https://jquery.org/>\n * Released under MIT license <https://lodash.com/license>\n * Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>\n * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n */\n\n/** Used as references for various `Number` constants. */\nvar INFINITY = 1 / 0;\n\n/** `Object#toString` result references. */\nvar symbolTag = '[object Symbol]';\n\n/**\n * Used to match `RegExp`\n * [syntax characters](http://ecma-international.org/ecma-262/6.0/#sec-patterns).\n */\nvar reRegExpChar = /[\\\\^$.*+?()[\\]{}|]/g,\n reHasRegExpChar = RegExp(reRegExpChar.source);\n\n/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objectToString = objectProto.toString;\n\n/** Built-in value references. */\nvar Symbol = root.Symbol;\n\n/** Used to convert symbols to primitives and strings. */\nvar symbolProto = Symbol ? Symbol.prototype : undefined,\n symbolToString = symbolProto ? symbolProto.toString : undefined;\n\n/**\n * The base implementation of `_.toString` which doesn't convert nullish\n * values to empty strings.\n *\n * @private\n * @param {*} value The value to process.\n * @returns {string} Returns the string.\n */\nfunction baseToString(value) {\n // Exit early for strings to avoid a performance hit in some environments.\n if (typeof value == 'string') {\n return value;\n }\n if (isSymbol(value)) {\n return symbolToString ? symbolToString.call(value) : '';\n }\n var result = (value + '');\n return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result;\n}\n\n/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return !!value && typeof value == 'object';\n}\n\n/**\n * Checks if `value` is classified as a `Symbol` primitive or object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a symbol, else `false`.\n * @example\n *\n * _.isSymbol(Symbol.iterator);\n * // => true\n *\n * _.isSymbol('abc');\n * // => false\n */\nfunction isSymbol(value) {\n return typeof value == 'symbol' ||\n (isObjectLike(value) && objectToString.call(value) == symbolTag);\n}\n\n/**\n * Converts `value` to a string. An empty string is returned for `null`\n * and `undefined` values. The sign of `-0` is preserved.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to process.\n * @returns {string} Returns the string.\n * @example\n *\n * _.toString(null);\n * // => ''\n *\n * _.toString(-0);\n * // => '-0'\n *\n * _.toString([1, 2, 3]);\n * // => '1,2,3'\n */\nfunction toString(value) {\n return value == null ? '' : baseToString(value);\n}\n\n/**\n * Escapes the `RegExp` special characters \"^\", \"$\", \"\\\", \".\", \"*\", \"+\",\n * \"?\", \"(\", \")\", \"[\", \"]\", \"{\", \"}\", and \"|\" in `string`.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category String\n * @param {string} [string=''] The string to escape.\n * @returns {string} Returns the escaped string.\n * @example\n *\n * _.escapeRegExp('[lodash](https://lodash.com/)');\n * // => '\\[lodash\\]\\(https://lodash\\.com/\\)'\n */\nfunction escapeRegExp(string) {\n string = toString(string);\n return (string && reHasRegExpChar.test(string))\n ? string.replace(reRegExpChar, '\\\\$&')\n : string;\n}\n\nmodule.exports = escapeRegExp;\n","/**\n * lodash (Custom Build) <https://lodash.com/>\n * Build: `lodash modularize exports=\"npm\" -o ./`\n * Copyright jQuery Foundation and other contributors <https://jquery.org/>\n * Released under MIT license <https://lodash.com/license>\n * Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>\n * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n */\n\n/** Used as the size to enable large array optimizations. */\nvar LARGE_ARRAY_SIZE = 200;\n\n/** Used as the `TypeError` message for \"Functions\" methods. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/** Used to compose bitmasks for comparison styles. */\nvar UNORDERED_COMPARE_FLAG = 1,\n PARTIAL_COMPARE_FLAG = 2;\n\n/** Used as references for various `Number` constants. */\nvar INFINITY = 1 / 0,\n MAX_SAFE_INTEGER = 9007199254740991,\n MAX_INTEGER = 1.7976931348623157e+308,\n NAN = 0 / 0;\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n funcTag = '[object Function]',\n genTag = '[object GeneratorFunction]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n objectTag = '[object Object]',\n promiseTag = '[object Promise]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n symbolTag = '[object Symbol]',\n weakMapTag = '[object WeakMap]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n dataViewTag = '[object DataView]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/** Used to match property names within property paths. */\nvar reIsDeepProp = /\\.|\\[(?:[^[\\]]*|([\"'])(?:(?!\\1)[^\\\\]|\\\\.)*?\\1)\\]/,\n reIsPlainProp = /^\\w*$/,\n reLeadingDot = /^\\./,\n rePropName = /[^.[\\]]+|\\[(?:(-?\\d+(?:\\.\\d+)?)|([\"'])((?:(?!\\2)[^\\\\]|\\\\.)*?)\\2)\\]|(?=(?:\\.|\\[\\])(?:\\.|\\[\\]|$))/g;\n\n/**\n * Used to match `RegExp`\n * [syntax characters](http://ecma-international.org/ecma-262/7.0/#sec-patterns).\n */\nvar reRegExpChar = /[\\\\^$.*+?()[\\]{}|]/g;\n\n/** Used to match leading and trailing whitespace. */\nvar reTrim = /^\\s+|\\s+$/g;\n\n/** Used to match backslashes in property paths. */\nvar reEscapeChar = /\\\\(\\\\)?/g;\n\n/** Used to detect bad signed hexadecimal string values. */\nvar reIsBadHex = /^[-+]0x[0-9a-f]+$/i;\n\n/** Used to detect binary string values. */\nvar reIsBinary = /^0b[01]+$/i;\n\n/** Used to detect host constructors (Safari). */\nvar reIsHostCtor = /^\\[object .+?Constructor\\]$/;\n\n/** Used to detect octal string values. */\nvar reIsOctal = /^0o[0-7]+$/i;\n\n/** Used to detect unsigned integer values. */\nvar reIsUint = /^(?:0|[1-9]\\d*)$/;\n\n/** Used to identify `toStringTag` values of typed arrays. */\nvar typedArrayTags = {};\ntypedArrayTags[float32Tag] = typedArrayTags[float64Tag] =\ntypedArrayTags[int8Tag] = typedArrayTags[int16Tag] =\ntypedArrayTags[int32Tag] = typedArrayTags[uint8Tag] =\ntypedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] =\ntypedArrayTags[uint32Tag] = true;\ntypedArrayTags[argsTag] = typedArrayTags[arrayTag] =\ntypedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] =\ntypedArrayTags[dataViewTag] = typedArrayTags[dateTag] =\ntypedArrayTags[errorTag] = typedArrayTags[funcTag] =\ntypedArrayTags[mapTag] = typedArrayTags[numberTag] =\ntypedArrayTags[objectTag] = typedArrayTags[regexpTag] =\ntypedArrayTags[setTag] = typedArrayTags[stringTag] =\ntypedArrayTags[weakMapTag] = false;\n\n/** Built-in method references without a dependency on `root`. */\nvar freeParseInt = parseInt;\n\n/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\n/** Detect free variable `exports`. */\nvar freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;\n\n/** Detect free variable `module`. */\nvar freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;\n\n/** Detect the popular CommonJS extension `module.exports`. */\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n\n/** Detect free variable `process` from Node.js. */\nvar freeProcess = moduleExports && freeGlobal.process;\n\n/** Used to access faster Node.js helpers. */\nvar nodeUtil = (function() {\n try {\n return freeProcess && freeProcess.binding('util');\n } catch (e) {}\n}());\n\n/* Node.js helper references. */\nvar nodeIsTypedArray = nodeUtil && nodeUtil.isTypedArray;\n\n/**\n * A specialized version of `_.some` for arrays without support for iteratee\n * shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {boolean} Returns `true` if any element passes the predicate check,\n * else `false`.\n */\nfunction arraySome(array, predicate) {\n var index = -1,\n length = array ? array.length : 0;\n\n while (++index < length) {\n if (predicate(array[index], index, array)) {\n return true;\n }\n }\n return false;\n}\n\n/**\n * The base implementation of `_.findIndex` and `_.findLastIndex` without\n * support for iteratee shorthands.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {Function} predicate The function invoked per iteration.\n * @param {number} fromIndex The index to search from.\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction baseFindIndex(array, predicate, fromIndex, fromRight) {\n var length = array.length,\n index = fromIndex + (fromRight ? 1 : -1);\n\n while ((fromRight ? index-- : ++index < length)) {\n if (predicate(array[index], index, array)) {\n return index;\n }\n }\n return -1;\n}\n\n/**\n * The base implementation of `_.property` without support for deep paths.\n *\n * @private\n * @param {string} key The key of the property to get.\n * @returns {Function} Returns the new accessor function.\n */\nfunction baseProperty(key) {\n return function(object) {\n return object == null ? undefined : object[key];\n };\n}\n\n/**\n * The base implementation of `_.times` without support for iteratee shorthands\n * or max array length checks.\n *\n * @private\n * @param {number} n The number of times to invoke `iteratee`.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns the array of results.\n */\nfunction baseTimes(n, iteratee) {\n var index = -1,\n result = Array(n);\n\n while (++index < n) {\n result[index] = iteratee(index);\n }\n return result;\n}\n\n/**\n * The base implementation of `_.unary` without support for storing metadata.\n *\n * @private\n * @param {Function} func The function to cap arguments for.\n * @returns {Function} Returns the new capped function.\n */\nfunction baseUnary(func) {\n return function(value) {\n return func(value);\n };\n}\n\n/**\n * Gets the value at `key` of `object`.\n *\n * @private\n * @param {Object} [object] The object to query.\n * @param {string} key The key of the property to get.\n * @returns {*} Returns the property value.\n */\nfunction getValue(object, key) {\n return object == null ? undefined : object[key];\n}\n\n/**\n * Checks if `value` is a host object in IE < 9.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a host object, else `false`.\n */\nfunction isHostObject(value) {\n // Many host objects are `Object` objects that can coerce to strings\n // despite having improperly defined `toString` methods.\n var result = false;\n if (value != null && typeof value.toString != 'function') {\n try {\n result = !!(value + '');\n } catch (e) {}\n }\n return result;\n}\n\n/**\n * Converts `map` to its key-value pairs.\n *\n * @private\n * @param {Object} map The map to convert.\n * @returns {Array} Returns the key-value pairs.\n */\nfunction mapToArray(map) {\n var index = -1,\n result = Array(map.size);\n\n map.forEach(function(value, key) {\n result[++index] = [key, value];\n });\n return result;\n}\n\n/**\n * Creates a unary function that invokes `func` with its argument transformed.\n *\n * @private\n * @param {Function} func The function to wrap.\n * @param {Function} transform The argument transform.\n * @returns {Function} Returns the new function.\n */\nfunction overArg(func, transform) {\n return function(arg) {\n return func(transform(arg));\n };\n}\n\n/**\n * Converts `set` to an array of its values.\n *\n * @private\n * @param {Object} set The set to convert.\n * @returns {Array} Returns the values.\n */\nfunction setToArray(set) {\n var index = -1,\n result = Array(set.size);\n\n set.forEach(function(value) {\n result[++index] = value;\n });\n return result;\n}\n\n/** Used for built-in method references. */\nvar arrayProto = Array.prototype,\n funcProto = Function.prototype,\n objectProto = Object.prototype;\n\n/** Used to detect overreaching core-js shims. */\nvar coreJsData = root['__core-js_shared__'];\n\n/** Used to detect methods masquerading as native. */\nvar maskSrcKey = (function() {\n var uid = /[^.]+$/.exec(coreJsData && coreJsData.keys && coreJsData.keys.IE_PROTO || '');\n return uid ? ('Symbol(src)_1.' + uid) : '';\n}());\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objectToString = objectProto.toString;\n\n/** Used to detect if a method is native. */\nvar reIsNative = RegExp('^' +\n funcToString.call(hasOwnProperty).replace(reRegExpChar, '\\\\$&')\n .replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g, '$1.*?') + '$'\n);\n\n/** Built-in value references. */\nvar Symbol = root.Symbol,\n Uint8Array = root.Uint8Array,\n propertyIsEnumerable = objectProto.propertyIsEnumerable,\n splice = arrayProto.splice;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeKeys = overArg(Object.keys, Object),\n nativeMax = Math.max;\n\n/* Built-in method references that are verified to be native. */\nvar DataView = getNative(root, 'DataView'),\n Map = getNative(root, 'Map'),\n Promise = getNative(root, 'Promise'),\n Set = getNative(root, 'Set'),\n WeakMap = getNative(root, 'WeakMap'),\n nativeCreate = getNative(Object, 'create');\n\n/** Used to detect maps, sets, and weakmaps. */\nvar dataViewCtorString = toSource(DataView),\n mapCtorString = toSource(Map),\n promiseCtorString = toSource(Promise),\n setCtorString = toSource(Set),\n weakMapCtorString = toSource(WeakMap);\n\n/** Used to convert symbols to primitives and strings. */\nvar symbolProto = Symbol ? Symbol.prototype : undefined,\n symbolValueOf = symbolProto ? symbolProto.valueOf : undefined,\n symbolToString = symbolProto ? symbolProto.toString : undefined;\n\n/**\n * Creates a hash object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Hash(entries) {\n var index = -1,\n length = entries ? entries.length : 0;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n/**\n * Removes all key-value entries from the hash.\n *\n * @private\n * @name clear\n * @memberOf Hash\n */\nfunction hashClear() {\n this.__data__ = nativeCreate ? nativeCreate(null) : {};\n}\n\n/**\n * Removes `key` and its value from the hash.\n *\n * @private\n * @name delete\n * @memberOf Hash\n * @param {Object} hash The hash to modify.\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction hashDelete(key) {\n return this.has(key) && delete this.__data__[key];\n}\n\n/**\n * Gets the hash value for `key`.\n *\n * @private\n * @name get\n * @memberOf Hash\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction hashGet(key) {\n var data = this.__data__;\n if (nativeCreate) {\n var result = data[key];\n return result === HASH_UNDEFINED ? undefined : result;\n }\n return hasOwnProperty.call(data, key) ? data[key] : undefined;\n}\n\n/**\n * Checks if a hash value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Hash\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction hashHas(key) {\n var data = this.__data__;\n return nativeCreate ? data[key] !== undefined : hasOwnProperty.call(data, key);\n}\n\n/**\n * Sets the hash `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Hash\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the hash instance.\n */\nfunction hashSet(key, value) {\n var data = this.__data__;\n data[key] = (nativeCreate && value === undefined) ? HASH_UNDEFINED : value;\n return this;\n}\n\n// Add methods to `Hash`.\nHash.prototype.clear = hashClear;\nHash.prototype['delete'] = hashDelete;\nHash.prototype.get = hashGet;\nHash.prototype.has = hashHas;\nHash.prototype.set = hashSet;\n\n/**\n * Creates an list cache object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction ListCache(entries) {\n var index = -1,\n length = entries ? entries.length : 0;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n/**\n * Removes all key-value entries from the list cache.\n *\n * @private\n * @name clear\n * @memberOf ListCache\n */\nfunction listCacheClear() {\n this.__data__ = [];\n}\n\n/**\n * Removes `key` and its value from the list cache.\n *\n * @private\n * @name delete\n * @memberOf ListCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction listCacheDelete(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n return false;\n }\n var lastIndex = data.length - 1;\n if (index == lastIndex) {\n data.pop();\n } else {\n splice.call(data, index, 1);\n }\n return true;\n}\n\n/**\n * Gets the list cache value for `key`.\n *\n * @private\n * @name get\n * @memberOf ListCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction listCacheGet(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n return index < 0 ? undefined : data[index][1];\n}\n\n/**\n * Checks if a list cache value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf ListCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction listCacheHas(key) {\n return assocIndexOf(this.__data__, key) > -1;\n}\n\n/**\n * Sets the list cache `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf ListCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the list cache instance.\n */\nfunction listCacheSet(key, value) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n data.push([key, value]);\n } else {\n data[index][1] = value;\n }\n return this;\n}\n\n// Add methods to `ListCache`.\nListCache.prototype.clear = listCacheClear;\nListCache.prototype['delete'] = listCacheDelete;\nListCache.prototype.get = listCacheGet;\nListCache.prototype.has = listCacheHas;\nListCache.prototype.set = listCacheSet;\n\n/**\n * Creates a map cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction MapCache(entries) {\n var index = -1,\n length = entries ? entries.length : 0;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n/**\n * Removes all key-value entries from the map.\n *\n * @private\n * @name clear\n * @memberOf MapCache\n */\nfunction mapCacheClear() {\n this.__data__ = {\n 'hash': new Hash,\n 'map': new (Map || ListCache),\n 'string': new Hash\n };\n}\n\n/**\n * Removes `key` and its value from the map.\n *\n * @private\n * @name delete\n * @memberOf MapCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction mapCacheDelete(key) {\n return getMapData(this, key)['delete'](key);\n}\n\n/**\n * Gets the map value for `key`.\n *\n * @private\n * @name get\n * @memberOf MapCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction mapCacheGet(key) {\n return getMapData(this, key).get(key);\n}\n\n/**\n * Checks if a map value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf MapCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction mapCacheHas(key) {\n return getMapData(this, key).has(key);\n}\n\n/**\n * Sets the map `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf MapCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the map cache instance.\n */\nfunction mapCacheSet(key, value) {\n getMapData(this, key).set(key, value);\n return this;\n}\n\n// Add methods to `MapCache`.\nMapCache.prototype.clear = mapCacheClear;\nMapCache.prototype['delete'] = mapCacheDelete;\nMapCache.prototype.get = mapCacheGet;\nMapCache.prototype.has = mapCacheHas;\nMapCache.prototype.set = mapCacheSet;\n\n/**\n *\n * Creates an array cache object to store unique values.\n *\n * @private\n * @constructor\n * @param {Array} [values] The values to cache.\n */\nfunction SetCache(values) {\n var index = -1,\n length = values ? values.length : 0;\n\n this.__data__ = new MapCache;\n while (++index < length) {\n this.add(values[index]);\n }\n}\n\n/**\n * Adds `value` to the array cache.\n *\n * @private\n * @name add\n * @memberOf SetCache\n * @alias push\n * @param {*} value The value to cache.\n * @returns {Object} Returns the cache instance.\n */\nfunction setCacheAdd(value) {\n this.__data__.set(value, HASH_UNDEFINED);\n return this;\n}\n\n/**\n * Checks if `value` is in the array cache.\n *\n * @private\n * @name has\n * @memberOf SetCache\n * @param {*} value The value to search for.\n * @returns {number} Returns `true` if `value` is found, else `false`.\n */\nfunction setCacheHas(value) {\n return this.__data__.has(value);\n}\n\n// Add methods to `SetCache`.\nSetCache.prototype.add = SetCache.prototype.push = setCacheAdd;\nSetCache.prototype.has = setCacheHas;\n\n/**\n * Creates a stack cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Stack(entries) {\n this.__data__ = new ListCache(entries);\n}\n\n/**\n * Removes all key-value entries from the stack.\n *\n * @private\n * @name clear\n * @memberOf Stack\n */\nfunction stackClear() {\n this.__data__ = new ListCache;\n}\n\n/**\n * Removes `key` and its value from the stack.\n *\n * @private\n * @name delete\n * @memberOf Stack\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction stackDelete(key) {\n return this.__data__['delete'](key);\n}\n\n/**\n * Gets the stack value for `key`.\n *\n * @private\n * @name get\n * @memberOf Stack\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction stackGet(key) {\n return this.__data__.get(key);\n}\n\n/**\n * Checks if a stack value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Stack\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction stackHas(key) {\n return this.__data__.has(key);\n}\n\n/**\n * Sets the stack `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Stack\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the stack cache instance.\n */\nfunction stackSet(key, value) {\n var cache = this.__data__;\n if (cache instanceof ListCache) {\n var pairs = cache.__data__;\n if (!Map || (pairs.length < LARGE_ARRAY_SIZE - 1)) {\n pairs.push([key, value]);\n return this;\n }\n cache = this.__data__ = new MapCache(pairs);\n }\n cache.set(key, value);\n return this;\n}\n\n// Add methods to `Stack`.\nStack.prototype.clear = stackClear;\nStack.prototype['delete'] = stackDelete;\nStack.prototype.get = stackGet;\nStack.prototype.has = stackHas;\nStack.prototype.set = stackSet;\n\n/**\n * Creates an array of the enumerable property names of the array-like `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @param {boolean} inherited Specify returning inherited property names.\n * @returns {Array} Returns the array of property names.\n */\nfunction arrayLikeKeys(value, inherited) {\n // Safari 8.1 makes `arguments.callee` enumerable in strict mode.\n // Safari 9 makes `arguments.length` enumerable in strict mode.\n var result = (isArray(value) || isArguments(value))\n ? baseTimes(value.length, String)\n : [];\n\n var length = result.length,\n skipIndexes = !!length;\n\n for (var key in value) {\n if ((inherited || hasOwnProperty.call(value, key)) &&\n !(skipIndexes && (key == 'length' || isIndex(key, length)))) {\n result.push(key);\n }\n }\n return result;\n}\n\n/**\n * Gets the index at which the `key` is found in `array` of key-value pairs.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} key The key to search for.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction assocIndexOf(array, key) {\n var length = array.length;\n while (length--) {\n if (eq(array[length][0], key)) {\n return length;\n }\n }\n return -1;\n}\n\n/**\n * The base implementation of `_.get` without support for default values.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Array|string} path The path of the property to get.\n * @returns {*} Returns the resolved value.\n */\nfunction baseGet(object, path) {\n path = isKey(path, object) ? [path] : castPath(path);\n\n var index = 0,\n length = path.length;\n\n while (object != null && index < length) {\n object = object[toKey(path[index++])];\n }\n return (index && index == length) ? object : undefined;\n}\n\n/**\n * The base implementation of `getTag`.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nfunction baseGetTag(value) {\n return objectToString.call(value);\n}\n\n/**\n * The base implementation of `_.hasIn` without support for deep paths.\n *\n * @private\n * @param {Object} [object] The object to query.\n * @param {Array|string} key The key to check.\n * @returns {boolean} Returns `true` if `key` exists, else `false`.\n */\nfunction baseHasIn(object, key) {\n return object != null && key in Object(object);\n}\n\n/**\n * The base implementation of `_.isEqual` which supports partial comparisons\n * and tracks traversed objects.\n *\n * @private\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @param {Function} [customizer] The function to customize comparisons.\n * @param {boolean} [bitmask] The bitmask of comparison flags.\n * The bitmask may be composed of the following flags:\n * 1 - Unordered comparison\n * 2 - Partial comparison\n * @param {Object} [stack] Tracks traversed `value` and `other` objects.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n */\nfunction baseIsEqual(value, other, customizer, bitmask, stack) {\n if (value === other) {\n return true;\n }\n if (value == null || other == null || (!isObject(value) && !isObjectLike(other))) {\n return value !== value && other !== other;\n }\n return baseIsEqualDeep(value, other, baseIsEqual, customizer, bitmask, stack);\n}\n\n/**\n * A specialized version of `baseIsEqual` for arrays and objects which performs\n * deep comparisons and tracks traversed objects enabling objects with circular\n * references to be compared.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Function} [customizer] The function to customize comparisons.\n * @param {number} [bitmask] The bitmask of comparison flags. See `baseIsEqual`\n * for more details.\n * @param {Object} [stack] Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction baseIsEqualDeep(object, other, equalFunc, customizer, bitmask, stack) {\n var objIsArr = isArray(object),\n othIsArr = isArray(other),\n objTag = arrayTag,\n othTag = arrayTag;\n\n if (!objIsArr) {\n objTag = getTag(object);\n objTag = objTag == argsTag ? objectTag : objTag;\n }\n if (!othIsArr) {\n othTag = getTag(other);\n othTag = othTag == argsTag ? objectTag : othTag;\n }\n var objIsObj = objTag == objectTag && !isHostObject(object),\n othIsObj = othTag == objectTag && !isHostObject(other),\n isSameTag = objTag == othTag;\n\n if (isSameTag && !objIsObj) {\n stack || (stack = new Stack);\n return (objIsArr || isTypedArray(object))\n ? equalArrays(object, other, equalFunc, customizer, bitmask, stack)\n : equalByTag(object, other, objTag, equalFunc, customizer, bitmask, stack);\n }\n if (!(bitmask & PARTIAL_COMPARE_FLAG)) {\n var objIsWrapped = objIsObj && hasOwnProperty.call(object, '__wrapped__'),\n othIsWrapped = othIsObj && hasOwnProperty.call(other, '__wrapped__');\n\n if (objIsWrapped || othIsWrapped) {\n var objUnwrapped = objIsWrapped ? object.value() : object,\n othUnwrapped = othIsWrapped ? other.value() : other;\n\n stack || (stack = new Stack);\n return equalFunc(objUnwrapped, othUnwrapped, customizer, bitmask, stack);\n }\n }\n if (!isSameTag) {\n return false;\n }\n stack || (stack = new Stack);\n return equalObjects(object, other, equalFunc, customizer, bitmask, stack);\n}\n\n/**\n * The base implementation of `_.isMatch` without support for iteratee shorthands.\n *\n * @private\n * @param {Object} object The object to inspect.\n * @param {Object} source The object of property values to match.\n * @param {Array} matchData The property names, values, and compare flags to match.\n * @param {Function} [customizer] The function to customize comparisons.\n * @returns {boolean} Returns `true` if `object` is a match, else `false`.\n */\nfunction baseIsMatch(object, source, matchData, customizer) {\n var index = matchData.length,\n length = index,\n noCustomizer = !customizer;\n\n if (object == null) {\n return !length;\n }\n object = Object(object);\n while (index--) {\n var data = matchData[index];\n if ((noCustomizer && data[2])\n ? data[1] !== object[data[0]]\n : !(data[0] in object)\n ) {\n return false;\n }\n }\n while (++index < length) {\n data = matchData[index];\n var key = data[0],\n objValue = object[key],\n srcValue = data[1];\n\n if (noCustomizer && data[2]) {\n if (objValue === undefined && !(key in object)) {\n return false;\n }\n } else {\n var stack = new Stack;\n if (customizer) {\n var result = customizer(objValue, srcValue, key, object, source, stack);\n }\n if (!(result === undefined\n ? baseIsEqual(srcValue, objValue, customizer, UNORDERED_COMPARE_FLAG | PARTIAL_COMPARE_FLAG, stack)\n : result\n )) {\n return false;\n }\n }\n }\n return true;\n}\n\n/**\n * The base implementation of `_.isNative` without bad shim checks.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a native function,\n * else `false`.\n */\nfunction baseIsNative(value) {\n if (!isObject(value) || isMasked(value)) {\n return false;\n }\n var pattern = (isFunction(value) || isHostObject(value)) ? reIsNative : reIsHostCtor;\n return pattern.test(toSource(value));\n}\n\n/**\n * The base implementation of `_.isTypedArray` without Node.js optimizations.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n */\nfunction baseIsTypedArray(value) {\n return isObjectLike(value) &&\n isLength(value.length) && !!typedArrayTags[objectToString.call(value)];\n}\n\n/**\n * The base implementation of `_.iteratee`.\n *\n * @private\n * @param {*} [value=_.identity] The value to convert to an iteratee.\n * @returns {Function} Returns the iteratee.\n */\nfunction baseIteratee(value) {\n // Don't store the `typeof` result in a variable to avoid a JIT bug in Safari 9.\n // See https://bugs.webkit.org/show_bug.cgi?id=156034 for more details.\n if (typeof value == 'function') {\n return value;\n }\n if (value == null) {\n return identity;\n }\n if (typeof value == 'object') {\n return isArray(value)\n ? baseMatchesProperty(value[0], value[1])\n : baseMatches(value);\n }\n return property(value);\n}\n\n/**\n * The base implementation of `_.keys` which doesn't treat sparse arrays as dense.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction baseKeys(object) {\n if (!isPrototype(object)) {\n return nativeKeys(object);\n }\n var result = [];\n for (var key in Object(object)) {\n if (hasOwnProperty.call(object, key) && key != 'constructor') {\n result.push(key);\n }\n }\n return result;\n}\n\n/**\n * The base implementation of `_.matches` which doesn't clone `source`.\n *\n * @private\n * @param {Object} source The object of property values to match.\n * @returns {Function} Returns the new spec function.\n */\nfunction baseMatches(source) {\n var matchData = getMatchData(source);\n if (matchData.length == 1 && matchData[0][2]) {\n return matchesStrictComparable(matchData[0][0], matchData[0][1]);\n }\n return function(object) {\n return object === source || baseIsMatch(object, source, matchData);\n };\n}\n\n/**\n * The base implementation of `_.matchesProperty` which doesn't clone `srcValue`.\n *\n * @private\n * @param {string} path The path of the property to get.\n * @param {*} srcValue The value to match.\n * @returns {Function} Returns the new spec function.\n */\nfunction baseMatchesProperty(path, srcValue) {\n if (isKey(path) && isStrictComparable(srcValue)) {\n return matchesStrictComparable(toKey(path), srcValue);\n }\n return function(object) {\n var objValue = get(object, path);\n return (objValue === undefined && objValue === srcValue)\n ? hasIn(object, path)\n : baseIsEqual(srcValue, objValue, undefined, UNORDERED_COMPARE_FLAG | PARTIAL_COMPARE_FLAG);\n };\n}\n\n/**\n * A specialized version of `baseProperty` which supports deep paths.\n *\n * @private\n * @param {Array|string} path The path of the property to get.\n * @returns {Function} Returns the new accessor function.\n */\nfunction basePropertyDeep(path) {\n return function(object) {\n return baseGet(object, path);\n };\n}\n\n/**\n * The base implementation of `_.toString` which doesn't convert nullish\n * values to empty strings.\n *\n * @private\n * @param {*} value The value to process.\n * @returns {string} Returns the string.\n */\nfunction baseToString(value) {\n // Exit early for strings to avoid a performance hit in some environments.\n if (typeof value == 'string') {\n return value;\n }\n if (isSymbol(value)) {\n return symbolToString ? symbolToString.call(value) : '';\n }\n var result = (value + '');\n return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result;\n}\n\n/**\n * Casts `value` to a path array if it's not one.\n *\n * @private\n * @param {*} value The value to inspect.\n * @returns {Array} Returns the cast property path array.\n */\nfunction castPath(value) {\n return isArray(value) ? value : stringToPath(value);\n}\n\n/**\n * Creates a `_.find` or `_.findLast` function.\n *\n * @private\n * @param {Function} findIndexFunc The function to find the collection index.\n * @returns {Function} Returns the new find function.\n */\nfunction createFind(findIndexFunc) {\n return function(collection, predicate, fromIndex) {\n var iterable = Object(collection);\n if (!isArrayLike(collection)) {\n var iteratee = baseIteratee(predicate, 3);\n collection = keys(collection);\n predicate = function(key) { return iteratee(iterable[key], key, iterable); };\n }\n var index = findIndexFunc(collection, predicate, fromIndex);\n return index > -1 ? iterable[iteratee ? collection[index] : index] : undefined;\n };\n}\n\n/**\n * A specialized version of `baseIsEqualDeep` for arrays with support for\n * partial deep comparisons.\n *\n * @private\n * @param {Array} array The array to compare.\n * @param {Array} other The other array to compare.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Function} customizer The function to customize comparisons.\n * @param {number} bitmask The bitmask of comparison flags. See `baseIsEqual`\n * for more details.\n * @param {Object} stack Tracks traversed `array` and `other` objects.\n * @returns {boolean} Returns `true` if the arrays are equivalent, else `false`.\n */\nfunction equalArrays(array, other, equalFunc, customizer, bitmask, stack) {\n var isPartial = bitmask & PARTIAL_COMPARE_FLAG,\n arrLength = array.length,\n othLength = other.length;\n\n if (arrLength != othLength && !(isPartial && othLength > arrLength)) {\n return false;\n }\n // Assume cyclic values are equal.\n var stacked = stack.get(array);\n if (stacked && stack.get(other)) {\n return stacked == other;\n }\n var index = -1,\n result = true,\n seen = (bitmask & UNORDERED_COMPARE_FLAG) ? new SetCache : undefined;\n\n stack.set(array, other);\n stack.set(other, array);\n\n // Ignore non-index properties.\n while (++index < arrLength) {\n var arrValue = array[index],\n othValue = other[index];\n\n if (customizer) {\n var compared = isPartial\n ? customizer(othValue, arrValue, index, other, array, stack)\n : customizer(arrValue, othValue, index, array, other, stack);\n }\n if (compared !== undefined) {\n if (compared) {\n continue;\n }\n result = false;\n break;\n }\n // Recursively compare arrays (susceptible to call stack limits).\n if (seen) {\n if (!arraySome(other, function(othValue, othIndex) {\n if (!seen.has(othIndex) &&\n (arrValue === othValue || equalFunc(arrValue, othValue, customizer, bitmask, stack))) {\n return seen.add(othIndex);\n }\n })) {\n result = false;\n break;\n }\n } else if (!(\n arrValue === othValue ||\n equalFunc(arrValue, othValue, customizer, bitmask, stack)\n )) {\n result = false;\n break;\n }\n }\n stack['delete'](array);\n stack['delete'](other);\n return result;\n}\n\n/**\n * A specialized version of `baseIsEqualDeep` for comparing objects of\n * the same `toStringTag`.\n *\n * **Note:** This function only supports comparing values with tags of\n * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {string} tag The `toStringTag` of the objects to compare.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Function} customizer The function to customize comparisons.\n * @param {number} bitmask The bitmask of comparison flags. See `baseIsEqual`\n * for more details.\n * @param {Object} stack Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction equalByTag(object, other, tag, equalFunc, customizer, bitmask, stack) {\n switch (tag) {\n case dataViewTag:\n if ((object.byteLength != other.byteLength) ||\n (object.byteOffset != other.byteOffset)) {\n return false;\n }\n object = object.buffer;\n other = other.buffer;\n\n case arrayBufferTag:\n if ((object.byteLength != other.byteLength) ||\n !equalFunc(new Uint8Array(object), new Uint8Array(other))) {\n return false;\n }\n return true;\n\n case boolTag:\n case dateTag:\n case numberTag:\n // Coerce booleans to `1` or `0` and dates to milliseconds.\n // Invalid dates are coerced to `NaN`.\n return eq(+object, +other);\n\n case errorTag:\n return object.name == other.name && object.message == other.message;\n\n case regexpTag:\n case stringTag:\n // Coerce regexes to strings and treat strings, primitives and objects,\n // as equal. See http://www.ecma-international.org/ecma-262/7.0/#sec-regexp.prototype.tostring\n // for more details.\n return object == (other + '');\n\n case mapTag:\n var convert = mapToArray;\n\n case setTag:\n var isPartial = bitmask & PARTIAL_COMPARE_FLAG;\n convert || (convert = setToArray);\n\n if (object.size != other.size && !isPartial) {\n return false;\n }\n // Assume cyclic values are equal.\n var stacked = stack.get(object);\n if (stacked) {\n return stacked == other;\n }\n bitmask |= UNORDERED_COMPARE_FLAG;\n\n // Recursively compare objects (susceptible to call stack limits).\n stack.set(object, other);\n var result = equalArrays(convert(object), convert(other), equalFunc, customizer, bitmask, stack);\n stack['delete'](object);\n return result;\n\n case symbolTag:\n if (symbolValueOf) {\n return symbolValueOf.call(object) == symbolValueOf.call(other);\n }\n }\n return false;\n}\n\n/**\n * A specialized version of `baseIsEqualDeep` for objects with support for\n * partial deep comparisons.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Function} customizer The function to customize comparisons.\n * @param {number} bitmask The bitmask of comparison flags. See `baseIsEqual`\n * for more details.\n * @param {Object} stack Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction equalObjects(object, other, equalFunc, customizer, bitmask, stack) {\n var isPartial = bitmask & PARTIAL_COMPARE_FLAG,\n objProps = keys(object),\n objLength = objProps.length,\n othProps = keys(other),\n othLength = othProps.length;\n\n if (objLength != othLength && !isPartial) {\n return false;\n }\n var index = objLength;\n while (index--) {\n var key = objProps[index];\n if (!(isPartial ? key in other : hasOwnProperty.call(other, key))) {\n return false;\n }\n }\n // Assume cyclic values are equal.\n var stacked = stack.get(object);\n if (stacked && stack.get(other)) {\n return stacked == other;\n }\n var result = true;\n stack.set(object, other);\n stack.set(other, object);\n\n var skipCtor = isPartial;\n while (++index < objLength) {\n key = objProps[index];\n var objValue = object[key],\n othValue = other[key];\n\n if (customizer) {\n var compared = isPartial\n ? customizer(othValue, objValue, key, other, object, stack)\n : customizer(objValue, othValue, key, object, other, stack);\n }\n // Recursively compare objects (susceptible to call stack limits).\n if (!(compared === undefined\n ? (objValue === othValue || equalFunc(objValue, othValue, customizer, bitmask, stack))\n : compared\n )) {\n result = false;\n break;\n }\n skipCtor || (skipCtor = key == 'constructor');\n }\n if (result && !skipCtor) {\n var objCtor = object.constructor,\n othCtor = other.constructor;\n\n // Non `Object` object instances with different constructors are not equal.\n if (objCtor != othCtor &&\n ('constructor' in object && 'constructor' in other) &&\n !(typeof objCtor == 'function' && objCtor instanceof objCtor &&\n typeof othCtor == 'function' && othCtor instanceof othCtor)) {\n result = false;\n }\n }\n stack['delete'](object);\n stack['delete'](other);\n return result;\n}\n\n/**\n * Gets the data for `map`.\n *\n * @private\n * @param {Object} map The map to query.\n * @param {string} key The reference key.\n * @returns {*} Returns the map data.\n */\nfunction getMapData(map, key) {\n var data = map.__data__;\n return isKeyable(key)\n ? data[typeof key == 'string' ? 'string' : 'hash']\n : data.map;\n}\n\n/**\n * Gets the property names, values, and compare flags of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the match data of `object`.\n */\nfunction getMatchData(object) {\n var result = keys(object),\n length = result.length;\n\n while (length--) {\n var key = result[length],\n value = object[key];\n\n result[length] = [key, value, isStrictComparable(value)];\n }\n return result;\n}\n\n/**\n * Gets the native function at `key` of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the method to get.\n * @returns {*} Returns the function if it's native, else `undefined`.\n */\nfunction getNative(object, key) {\n var value = getValue(object, key);\n return baseIsNative(value) ? value : undefined;\n}\n\n/**\n * Gets the `toStringTag` of `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nvar getTag = baseGetTag;\n\n// Fallback for data views, maps, sets, and weak maps in IE 11,\n// for data views in Edge < 14, and promises in Node.js.\nif ((DataView && getTag(new DataView(new ArrayBuffer(1))) != dataViewTag) ||\n (Map && getTag(new Map) != mapTag) ||\n (Promise && getTag(Promise.resolve()) != promiseTag) ||\n (Set && getTag(new Set) != setTag) ||\n (WeakMap && getTag(new WeakMap) != weakMapTag)) {\n getTag = function(value) {\n var result = objectToString.call(value),\n Ctor = result == objectTag ? value.constructor : undefined,\n ctorString = Ctor ? toSource(Ctor) : undefined;\n\n if (ctorString) {\n switch (ctorString) {\n case dataViewCtorString: return dataViewTag;\n case mapCtorString: return mapTag;\n case promiseCtorString: return promiseTag;\n case setCtorString: return setTag;\n case weakMapCtorString: return weakMapTag;\n }\n }\n return result;\n };\n}\n\n/**\n * Checks if `path` exists on `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Array|string} path The path to check.\n * @param {Function} hasFunc The function to check properties.\n * @returns {boolean} Returns `true` if `path` exists, else `false`.\n */\nfunction hasPath(object, path, hasFunc) {\n path = isKey(path, object) ? [path] : castPath(path);\n\n var result,\n index = -1,\n length = path.length;\n\n while (++index < length) {\n var key = toKey(path[index]);\n if (!(result = object != null && hasFunc(object, key))) {\n break;\n }\n object = object[key];\n }\n if (result) {\n return result;\n }\n var length = object ? object.length : 0;\n return !!length && isLength(length) && isIndex(key, length) &&\n (isArray(object) || isArguments(object));\n}\n\n/**\n * Checks if `value` is a valid array-like index.\n *\n * @private\n * @param {*} value The value to check.\n * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index.\n * @returns {boolean} Returns `true` if `value` is a valid index, else `false`.\n */\nfunction isIndex(value, length) {\n length = length == null ? MAX_SAFE_INTEGER : length;\n return !!length &&\n (typeof value == 'number' || reIsUint.test(value)) &&\n (value > -1 && value % 1 == 0 && value < length);\n}\n\n/**\n * Checks if `value` is a property name and not a property path.\n *\n * @private\n * @param {*} value The value to check.\n * @param {Object} [object] The object to query keys on.\n * @returns {boolean} Returns `true` if `value` is a property name, else `false`.\n */\nfunction isKey(value, object) {\n if (isArray(value)) {\n return false;\n }\n var type = typeof value;\n if (type == 'number' || type == 'symbol' || type == 'boolean' ||\n value == null || isSymbol(value)) {\n return true;\n }\n return reIsPlainProp.test(value) || !reIsDeepProp.test(value) ||\n (object != null && value in Object(object));\n}\n\n/**\n * Checks if `value` is suitable for use as unique object key.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is suitable, else `false`.\n */\nfunction isKeyable(value) {\n var type = typeof value;\n return (type == 'string' || type == 'number' || type == 'symbol' || type == 'boolean')\n ? (value !== '__proto__')\n : (value === null);\n}\n\n/**\n * Checks if `func` has its source masked.\n *\n * @private\n * @param {Function} func The function to check.\n * @returns {boolean} Returns `true` if `func` is masked, else `false`.\n */\nfunction isMasked(func) {\n return !!maskSrcKey && (maskSrcKey in func);\n}\n\n/**\n * Checks if `value` is likely a prototype object.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a prototype, else `false`.\n */\nfunction isPrototype(value) {\n var Ctor = value && value.constructor,\n proto = (typeof Ctor == 'function' && Ctor.prototype) || objectProto;\n\n return value === proto;\n}\n\n/**\n * Checks if `value` is suitable for strict equality comparisons, i.e. `===`.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` if suitable for strict\n * equality comparisons, else `false`.\n */\nfunction isStrictComparable(value) {\n return value === value && !isObject(value);\n}\n\n/**\n * A specialized version of `matchesProperty` for source values suitable\n * for strict equality comparisons, i.e. `===`.\n *\n * @private\n * @param {string} key The key of the property to get.\n * @param {*} srcValue The value to match.\n * @returns {Function} Returns the new spec function.\n */\nfunction matchesStrictComparable(key, srcValue) {\n return function(object) {\n if (object == null) {\n return false;\n }\n return object[key] === srcValue &&\n (srcValue !== undefined || (key in Object(object)));\n };\n}\n\n/**\n * Converts `string` to a property path array.\n *\n * @private\n * @param {string} string The string to convert.\n * @returns {Array} Returns the property path array.\n */\nvar stringToPath = memoize(function(string) {\n string = toString(string);\n\n var result = [];\n if (reLeadingDot.test(string)) {\n result.push('');\n }\n string.replace(rePropName, function(match, number, quote, string) {\n result.push(quote ? string.replace(reEscapeChar, '$1') : (number || match));\n });\n return result;\n});\n\n/**\n * Converts `value` to a string key if it's not a string or symbol.\n *\n * @private\n * @param {*} value The value to inspect.\n * @returns {string|symbol} Returns the key.\n */\nfunction toKey(value) {\n if (typeof value == 'string' || isSymbol(value)) {\n return value;\n }\n var result = (value + '');\n return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result;\n}\n\n/**\n * Converts `func` to its source code.\n *\n * @private\n * @param {Function} func The function to process.\n * @returns {string} Returns the source code.\n */\nfunction toSource(func) {\n if (func != null) {\n try {\n return funcToString.call(func);\n } catch (e) {}\n try {\n return (func + '');\n } catch (e) {}\n }\n return '';\n}\n\n/**\n * This method is like `_.find` except that it returns the index of the first\n * element `predicate` returns truthy for instead of the element itself.\n *\n * @static\n * @memberOf _\n * @since 1.1.0\n * @category Array\n * @param {Array} array The array to inspect.\n * @param {Function} [predicate=_.identity]\n * The function invoked per iteration.\n * @param {number} [fromIndex=0] The index to search from.\n * @returns {number} Returns the index of the found element, else `-1`.\n * @example\n *\n * var users = [\n * { 'user': 'barney', 'active': false },\n * { 'user': 'fred', 'active': false },\n * { 'user': 'pebbles', 'active': true }\n * ];\n *\n * _.findIndex(users, function(o) { return o.user == 'barney'; });\n * // => 0\n *\n * // The `_.matches` iteratee shorthand.\n * _.findIndex(users, { 'user': 'fred', 'active': false });\n * // => 1\n *\n * // The `_.matchesProperty` iteratee shorthand.\n * _.findIndex(users, ['active', false]);\n * // => 0\n *\n * // The `_.property` iteratee shorthand.\n * _.findIndex(users, 'active');\n * // => 2\n */\nfunction findIndex(array, predicate, fromIndex) {\n var length = array ? array.length : 0;\n if (!length) {\n return -1;\n }\n var index = fromIndex == null ? 0 : toInteger(fromIndex);\n if (index < 0) {\n index = nativeMax(length + index, 0);\n }\n return baseFindIndex(array, baseIteratee(predicate, 3), index);\n}\n\n/**\n * Iterates over elements of `collection`, returning the first element\n * `predicate` returns truthy for. The predicate is invoked with three\n * arguments: (value, index|key, collection).\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Collection\n * @param {Array|Object} collection The collection to inspect.\n * @param {Function} [predicate=_.identity]\n * The function invoked per iteration.\n * @param {number} [fromIndex=0] The index to search from.\n * @returns {*} Returns the matched element, else `undefined`.\n * @example\n *\n * var users = [\n * { 'user': 'barney', 'age': 36, 'active': true },\n * { 'user': 'fred', 'age': 40, 'active': false },\n * { 'user': 'pebbles', 'age': 1, 'active': true }\n * ];\n *\n * _.find(users, function(o) { return o.age < 40; });\n * // => object for 'barney'\n *\n * // The `_.matches` iteratee shorthand.\n * _.find(users, { 'age': 1, 'active': true });\n * // => object for 'pebbles'\n *\n * // The `_.matchesProperty` iteratee shorthand.\n * _.find(users, ['active', false]);\n * // => object for 'fred'\n *\n * // The `_.property` iteratee shorthand.\n * _.find(users, 'active');\n * // => object for 'barney'\n */\nvar find = createFind(findIndex);\n\n/**\n * Creates a function that memoizes the result of `func`. If `resolver` is\n * provided, it determines the cache key for storing the result based on the\n * arguments provided to the memoized function. By default, the first argument\n * provided to the memoized function is used as the map cache key. The `func`\n * is invoked with the `this` binding of the memoized function.\n *\n * **Note:** The cache is exposed as the `cache` property on the memoized\n * function. Its creation may be customized by replacing the `_.memoize.Cache`\n * constructor with one whose instances implement the\n * [`Map`](http://ecma-international.org/ecma-262/7.0/#sec-properties-of-the-map-prototype-object)\n * method interface of `delete`, `get`, `has`, and `set`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to have its output memoized.\n * @param {Function} [resolver] The function to resolve the cache key.\n * @returns {Function} Returns the new memoized function.\n * @example\n *\n * var object = { 'a': 1, 'b': 2 };\n * var other = { 'c': 3, 'd': 4 };\n *\n * var values = _.memoize(_.values);\n * values(object);\n * // => [1, 2]\n *\n * values(other);\n * // => [3, 4]\n *\n * object.a = 2;\n * values(object);\n * // => [1, 2]\n *\n * // Modify the result cache.\n * values.cache.set(object, ['a', 'b']);\n * values(object);\n * // => ['a', 'b']\n *\n * // Replace `_.memoize.Cache`.\n * _.memoize.Cache = WeakMap;\n */\nfunction memoize(func, resolver) {\n if (typeof func != 'function' || (resolver && typeof resolver != 'function')) {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n var memoized = function() {\n var args = arguments,\n key = resolver ? resolver.apply(this, args) : args[0],\n cache = memoized.cache;\n\n if (cache.has(key)) {\n return cache.get(key);\n }\n var result = func.apply(this, args);\n memoized.cache = cache.set(key, result);\n return result;\n };\n memoized.cache = new (memoize.Cache || MapCache);\n return memoized;\n}\n\n// Assign cache to `_.memoize`.\nmemoize.Cache = MapCache;\n\n/**\n * Performs a\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * comparison between two values to determine if they are equivalent.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'a': 1 };\n * var other = { 'a': 1 };\n *\n * _.eq(object, object);\n * // => true\n *\n * _.eq(object, other);\n * // => false\n *\n * _.eq('a', 'a');\n * // => true\n *\n * _.eq('a', Object('a'));\n * // => false\n *\n * _.eq(NaN, NaN);\n * // => true\n */\nfunction eq(value, other) {\n return value === other || (value !== value && other !== other);\n}\n\n/**\n * Checks if `value` is likely an `arguments` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n * else `false`.\n * @example\n *\n * _.isArguments(function() { return arguments; }());\n * // => true\n *\n * _.isArguments([1, 2, 3]);\n * // => false\n */\nfunction isArguments(value) {\n // Safari 8.1 makes `arguments.callee` enumerable in strict mode.\n return isArrayLikeObject(value) && hasOwnProperty.call(value, 'callee') &&\n (!propertyIsEnumerable.call(value, 'callee') || objectToString.call(value) == argsTag);\n}\n\n/**\n * Checks if `value` is classified as an `Array` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array, else `false`.\n * @example\n *\n * _.isArray([1, 2, 3]);\n * // => true\n *\n * _.isArray(document.body.children);\n * // => false\n *\n * _.isArray('abc');\n * // => false\n *\n * _.isArray(_.noop);\n * // => false\n */\nvar isArray = Array.isArray;\n\n/**\n * Checks if `value` is array-like. A value is considered array-like if it's\n * not a function and has a `value.length` that's an integer greater than or\n * equal to `0` and less than or equal to `Number.MAX_SAFE_INTEGER`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is array-like, else `false`.\n * @example\n *\n * _.isArrayLike([1, 2, 3]);\n * // => true\n *\n * _.isArrayLike(document.body.children);\n * // => true\n *\n * _.isArrayLike('abc');\n * // => true\n *\n * _.isArrayLike(_.noop);\n * // => false\n */\nfunction isArrayLike(value) {\n return value != null && isLength(value.length) && !isFunction(value);\n}\n\n/**\n * This method is like `_.isArrayLike` except that it also checks if `value`\n * is an object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array-like object,\n * else `false`.\n * @example\n *\n * _.isArrayLikeObject([1, 2, 3]);\n * // => true\n *\n * _.isArrayLikeObject(document.body.children);\n * // => true\n *\n * _.isArrayLikeObject('abc');\n * // => false\n *\n * _.isArrayLikeObject(_.noop);\n * // => false\n */\nfunction isArrayLikeObject(value) {\n return isObjectLike(value) && isArrayLike(value);\n}\n\n/**\n * Checks if `value` is classified as a `Function` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a function, else `false`.\n * @example\n *\n * _.isFunction(_);\n * // => true\n *\n * _.isFunction(/abc/);\n * // => false\n */\nfunction isFunction(value) {\n // The use of `Object#toString` avoids issues with the `typeof` operator\n // in Safari 8-9 which returns 'object' for typed array and other constructors.\n var tag = isObject(value) ? objectToString.call(value) : '';\n return tag == funcTag || tag == genTag;\n}\n\n/**\n * Checks if `value` is a valid array-like length.\n *\n * **Note:** This method is loosely based on\n * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.\n * @example\n *\n * _.isLength(3);\n * // => true\n *\n * _.isLength(Number.MIN_VALUE);\n * // => false\n *\n * _.isLength(Infinity);\n * // => false\n *\n * _.isLength('3');\n * // => false\n */\nfunction isLength(value) {\n return typeof value == 'number' &&\n value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;\n}\n\n/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n var type = typeof value;\n return !!value && (type == 'object' || type == 'function');\n}\n\n/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return !!value && typeof value == 'object';\n}\n\n/**\n * Checks if `value` is classified as a `Symbol` primitive or object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a symbol, else `false`.\n * @example\n *\n * _.isSymbol(Symbol.iterator);\n * // => true\n *\n * _.isSymbol('abc');\n * // => false\n */\nfunction isSymbol(value) {\n return typeof value == 'symbol' ||\n (isObjectLike(value) && objectToString.call(value) == symbolTag);\n}\n\n/**\n * Checks if `value` is classified as a typed array.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n * @example\n *\n * _.isTypedArray(new Uint8Array);\n * // => true\n *\n * _.isTypedArray([]);\n * // => false\n */\nvar isTypedArray = nodeIsTypedArray ? baseUnary(nodeIsTypedArray) : baseIsTypedArray;\n\n/**\n * Converts `value` to a finite number.\n *\n * @static\n * @memberOf _\n * @since 4.12.0\n * @category Lang\n * @param {*} value The value to convert.\n * @returns {number} Returns the converted number.\n * @example\n *\n * _.toFinite(3.2);\n * // => 3.2\n *\n * _.toFinite(Number.MIN_VALUE);\n * // => 5e-324\n *\n * _.toFinite(Infinity);\n * // => 1.7976931348623157e+308\n *\n * _.toFinite('3.2');\n * // => 3.2\n */\nfunction toFinite(value) {\n if (!value) {\n return value === 0 ? value : 0;\n }\n value = toNumber(value);\n if (value === INFINITY || value === -INFINITY) {\n var sign = (value < 0 ? -1 : 1);\n return sign * MAX_INTEGER;\n }\n return value === value ? value : 0;\n}\n\n/**\n * Converts `value` to an integer.\n *\n * **Note:** This method is loosely based on\n * [`ToInteger`](http://www.ecma-international.org/ecma-262/7.0/#sec-tointeger).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to convert.\n * @returns {number} Returns the converted integer.\n * @example\n *\n * _.toInteger(3.2);\n * // => 3\n *\n * _.toInteger(Number.MIN_VALUE);\n * // => 0\n *\n * _.toInteger(Infinity);\n * // => 1.7976931348623157e+308\n *\n * _.toInteger('3.2');\n * // => 3\n */\nfunction toInteger(value) {\n var result = toFinite(value),\n remainder = result % 1;\n\n return result === result ? (remainder ? result - remainder : result) : 0;\n}\n\n/**\n * Converts `value` to a number.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to process.\n * @returns {number} Returns the number.\n * @example\n *\n * _.toNumber(3.2);\n * // => 3.2\n *\n * _.toNumber(Number.MIN_VALUE);\n * // => 5e-324\n *\n * _.toNumber(Infinity);\n * // => Infinity\n *\n * _.toNumber('3.2');\n * // => 3.2\n */\nfunction toNumber(value) {\n if (typeof value == 'number') {\n return value;\n }\n if (isSymbol(value)) {\n return NAN;\n }\n if (isObject(value)) {\n var other = typeof value.valueOf == 'function' ? value.valueOf() : value;\n value = isObject(other) ? (other + '') : other;\n }\n if (typeof value != 'string') {\n return value === 0 ? value : +value;\n }\n value = value.replace(reTrim, '');\n var isBinary = reIsBinary.test(value);\n return (isBinary || reIsOctal.test(value))\n ? freeParseInt(value.slice(2), isBinary ? 2 : 8)\n : (reIsBadHex.test(value) ? NAN : +value);\n}\n\n/**\n * Converts `value` to a string. An empty string is returned for `null`\n * and `undefined` values. The sign of `-0` is preserved.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to process.\n * @returns {string} Returns the string.\n * @example\n *\n * _.toString(null);\n * // => ''\n *\n * _.toString(-0);\n * // => '-0'\n *\n * _.toString([1, 2, 3]);\n * // => '1,2,3'\n */\nfunction toString(value) {\n return value == null ? '' : baseToString(value);\n}\n\n/**\n * Gets the value at `path` of `object`. If the resolved value is\n * `undefined`, the `defaultValue` is returned in its place.\n *\n * @static\n * @memberOf _\n * @since 3.7.0\n * @category Object\n * @param {Object} object The object to query.\n * @param {Array|string} path The path of the property to get.\n * @param {*} [defaultValue] The value returned for `undefined` resolved values.\n * @returns {*} Returns the resolved value.\n * @example\n *\n * var object = { 'a': [{ 'b': { 'c': 3 } }] };\n *\n * _.get(object, 'a[0].b.c');\n * // => 3\n *\n * _.get(object, ['a', '0', 'b', 'c']);\n * // => 3\n *\n * _.get(object, 'a.b.c', 'default');\n * // => 'default'\n */\nfunction get(object, path, defaultValue) {\n var result = object == null ? undefined : baseGet(object, path);\n return result === undefined ? defaultValue : result;\n}\n\n/**\n * Checks if `path` is a direct or inherited property of `object`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Object\n * @param {Object} object The object to query.\n * @param {Array|string} path The path to check.\n * @returns {boolean} Returns `true` if `path` exists, else `false`.\n * @example\n *\n * var object = _.create({ 'a': _.create({ 'b': 2 }) });\n *\n * _.hasIn(object, 'a');\n * // => true\n *\n * _.hasIn(object, 'a.b');\n * // => true\n *\n * _.hasIn(object, ['a', 'b']);\n * // => true\n *\n * _.hasIn(object, 'b');\n * // => false\n */\nfunction hasIn(object, path) {\n return object != null && hasPath(object, path, baseHasIn);\n}\n\n/**\n * Creates an array of the own enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects. See the\n * [ES spec](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)\n * for more details.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keys(new Foo);\n * // => ['a', 'b'] (iteration order is not guaranteed)\n *\n * _.keys('hi');\n * // => ['0', '1']\n */\nfunction keys(object) {\n return isArrayLike(object) ? arrayLikeKeys(object) : baseKeys(object);\n}\n\n/**\n * This method returns the first argument it receives.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Util\n * @param {*} value Any value.\n * @returns {*} Returns `value`.\n * @example\n *\n * var object = { 'a': 1 };\n *\n * console.log(_.identity(object) === object);\n * // => true\n */\nfunction identity(value) {\n return value;\n}\n\n/**\n * Creates a function that returns the value at `path` of a given object.\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Util\n * @param {Array|string} path The path of the property to get.\n * @returns {Function} Returns the new accessor function.\n * @example\n *\n * var objects = [\n * { 'a': { 'b': 2 } },\n * { 'a': { 'b': 1 } }\n * ];\n *\n * _.map(objects, _.property('a.b'));\n * // => [2, 1]\n *\n * _.map(_.sortBy(objects, _.property(['a', 'b'])), 'a.b');\n * // => [1, 2]\n */\nfunction property(path) {\n return isKey(path) ? baseProperty(toKey(path)) : basePropertyDeep(path);\n}\n\nmodule.exports = find;\n","module.exports = {\n\t// Used as the background color for the active state on rows or items on list-like components.\n\tcolorBackgroundRowActive: 'rgb(236, 235, 234)',\n\t// Brandable modal header\n\tcolorBackgroundModalBrand: 'rgb(0, 112, 210)',\n\t// Background color for notification list item.\n\tcolorBackgroundNotification: 'rgb(255, 255, 255)',\n\t// Background color for a new notification list item.\n\tcolorBackgroundNotificationNew: 'rgb(243, 242, 242)',\n\t// Notifications badge background color.\n\tcolorBackgroundNotificationBadgeActive: 'rgb(0, 57, 107)',\n\t// Notifications badge background color.\n\tcolorBackgroundNotificationBadgeHover: 'rgb(0, 95, 178)',\n\tcolorContrastPrimary: 'rgb(243, 242, 242)',\n\t// Used as the background color for the hover state on rows or items on list-like components.\n\tcolorBackgroundRowHover: 'rgb(243, 242, 242)',\n\tcolorForegroundPrimary: 'rgb(255, 255, 255)',\n\t// Dark color for UI elements related to errors. Accessible with white text.\n\tcolorBackgroundErrorDark: 'rgb(194, 57, 52)',\n\t// Background color for UI elements related to providing neutral information (not error, success, or warning).\n\tcolorBackgroundInfo: 'rgb(112, 110, 107)',\n\t// The color of the mask overlay that appears when you enter a modal state.\n\tcolorBackgroundTempModalTint: 'rgba(43, 40, 38, 0.6)',\n\t// Background color for reminder notification on hover\n\tcolorBackgroundReminderHover: 'rgb(255, 255, 255)',\n\t// Winter 18 token, this has been deprecated. Please use BRAND_BACKGROUND_DARK_TRANSPARENT instead. These RGBA values need to be updated if BRAND_BAND_COLOR_BACKGROUND_PRIMARY changes, solves webkit bug\n\tbrandBandColorBackgroundSecondaryTransparent: 'rgba(253, 253, 253, 0)',\n\t// Notifications badge background color.\n\tcolorBackgroundNotificationBadge: 'rgb(194, 57, 52)',\n\t// Color of the indicator dot.\n\tcolorBackgroundIndicatorDot: 'rgb(22, 50, 92)',\n\tcardWrapperColorBackground: 'rgb(255, 255, 255)',\n\t// Alternative background color for dark portions of the app.\n\tcolorBackgroundAltInverse: 'rgb(22, 50, 92)',\n\tpopoverWalkthroughHeaderImage: '/assets/images/popovers/popover-header.png',\n\t// Disabled input\n\tcolorBackgroundInputDisabled: 'rgb(236, 235, 234)',\n\t// Used as the background color for the new state on rows or items on list-like components.\n\tcolorBackgroundRowNew: 'rgb(217, 255, 223)',\n\t// Hovered toggle background color.\n\tcolorBackgroundToggleHover: 'rgb(150, 148, 146)',\n\tpopoverWalkthroughColorBackground: 'rgb(3, 46, 97)',\n\t// Dark color for UI elements that have to do with success. Accessible with white text.\n\tcolorBackgroundSuccessDark: 'rgb(4, 132, 75)',\n\t// Background color for reminder notification\n\tcolorBackgroundReminder: 'rgb(244, 246, 249)',\n\t// Used as background for loading stencils on white background.\n\tcolorBackgroundStencil: 'rgb(243, 242, 242)',\n\t// Used when further differentiation is needed because colorBackground and colorBackgroundAlt are both being used in close proximity.\n\tcolorBackgroundAlt2: 'rgb(243, 242, 242)',\n\t// Color for UI elements that have to do with warning.\n\tcolorBackgroundWarning: 'rgb(255, 183, 93)',\n\t// Hovered background color for success buttons\n\tcolorBackgroundButtonSuccessHover: 'rgb(4, 132, 75)',\n\tpopoverWalkthroughAltImage: '/assets/images/popovers/popover-action.png',\n\t// Hover color for utility bar item.\n\tcolorBackgroundUtilityBarHover: 'rgb(236, 235, 234)',\n\tprogressColorBorderShade: 'rgb(243, 242, 242)',\n\t// Background color for highlighting text in search results.\n\tcolorBackgroundHighlightSearch: 'rgb(255, 240, 63)',\n\t// Toggle background color.\n\tcolorBackgroundToggle: 'rgb(176, 173, 171)',\n\t// Use COLOR_BACKGROUND_PAGE_HEADER instead.\n\tcolorBackgroundAnchor: 'rgb(243, 242, 242)',\n\tpopoverWalkthroughAltNubbinColorBackground: 'rgb(33, 92, 160)',\n\t// Hover color for UI elements related to destructive actions.\n\tcolorBackgroundDestructiveHover: 'rgb(166, 26, 20)',\n\tprogressColorBackgroundShade: 'rgb(243, 242, 242)',\n\t// Default background color for the whole app.\n\tcolorBackground: 'rgb(243, 242, 242)',\n\t// Our product brand blue, darkened to meet accessibility color contrast ratios with white text.\n\tcolorBrandDark: 'rgb(0, 112, 210)',\n\t// Background color for success buttons\n\tcolorBackgroundButtonSuccess: 'rgb(75, 202, 129)',\n\t// The color of the mask overlay that appears when you enter a modal state.\n\tcolorBackgroundBackdrop: 'rgba(255, 255, 255, 0.75)',\n\t// Our product brand blue.\n\tcolorBrand: 'rgb(21, 137, 238)',\n\t// Background color for default desktop chrome (ex. global header)\n\tcolorBackgroundChromeDesktop: 'rgb(255, 255, 255)',\n\t// Default Page Header background color\n\tpageHeaderColorBackground: 'rgb(243, 242, 242)',\n\t// Active button backgrounds on modal headers\n\tcolorBackgroundModalButtonActive: 'rgba(0, 0, 0, 0.16)',\n\t// Color for UI elements related to destructive actions.\n\tcolorBackgroundDestructive: 'rgb(194, 57, 52)',\n\t// Selected checkboxes\n\tcolorBackgroundInputCheckboxSelected: 'rgb(21, 137, 238)',\n\t// Default checkboxes\n\tcolorBackgroundInputCheckbox: 'rgb(255, 255, 255)',\n\tcolorBackgroundPrimary: 'rgb(243, 242, 242)',\n\t// Color for UI elements that have to do with success.\n\tcolorBackgroundSuccess: 'rgb(75, 202, 129)',\n\t// Disabled checkboxes\n\tcolorBackgroundInputCheckboxDisabled: 'rgb(221, 219, 218)',\n\t// Background color for pills.\n\tcolorBackgroundPill: 'rgb(255, 255, 255)',\n\t// Color of the spinner dot.\n\tcolorBackgroundSpinnerDot: 'rgb(176, 173, 171)',\n\tcolorBackgroundBrandPrimaryFocus: 'rgb(0, 95, 178)',\n\t// Color for UI elements related to the offline state.\n\tcolorBackgroundOffline: 'rgb(62, 62, 60)',\n\ttableColorBackgroundHeaderHover: 'rgb(255, 255, 255)',\n\t// The color of the mask overlay that provides user feedback on interaction.\n\tcolorBackgroundBackdropTint: 'rgb(250, 250, 249)',\n\tcolorBackgroundBrandPrimaryActive: 'rgb(0, 95, 178)',\n\t// Selected input field (when user has clicked or tabbed into field)\n\tcolorBackgroundInputActive: 'rgb(255, 255, 255)',\n\tpopoverWalkthroughColorBackgroundAlt: 'rgb(22, 74, 133)',\n\t// Winter 18 token, this has been deprecated. Please use BRAND_BACKGROUND_PRIMARY_DARK instead.\n\tbrandBandColorBackgroundSecondary: 'rgb(253, 253, 253)',\n\ttableColorBackgroundHeader: 'rgb(250, 250, 249)',\n\t// Used as an alternate background for loading stencils on gray backgrounds.\n\tcolorBackgroundStencilAlt: 'rgb(236, 235, 234)',\n\t// The background color of an internal scrollbar.\n\tcolorBackgroundScrollbar: 'rgb(236, 235, 234)',\n\t// Disabled toggle background color.\n\tcolorBackgroundToggleDisabled: 'rgb(176, 173, 171)',\n\t// Background color for toast messaging.\n\tcolorBackgroundToast: 'rgb(112, 110, 107)',\n\tcolorBackgroundBrandPrimaryHover: 'rgb(0, 95, 178)',\n\t// Background color for default mobile chrome (ex. global header)\n\tcolorBackgroundChromeMobile: 'rgb(0, 112, 210)',\n\t// Winter 18 token, this has been deprecated. Please use BRAND_BACKGROUND_PRIMARY_TRANSPARENT instead. These RGBA values need to be updated if BRAND_BAND_COLOR_BACKGROUND_PRIMARY changes, solves webkit bug\n\tbrandBandColorBackgroundPrimaryTransparent: 'rgba(253, 253, 253, 0)',\n\t// Background color for UI elements related to the concept of an external user or customer.\n\tcolorBackgroundCustomer: 'rgb(255, 154, 60)',\n\t// Color for UI elements related to errors.\n\tcolorBackgroundError: 'rgb(212, 80, 76)',\n\tcolorContrastSecondary: 'rgb(243, 242, 242)',\n\t// Secondary top bar background color (child browser, file preview, etc.)\n\tcolorBackgroundBrowser: 'rgb(112, 110, 107)',\n\t// Second default background color for the app.\n\tcolorBackgroundAlt: 'rgb(255, 255, 255)',\n\t// Background color of comment posts in the feed.\n\tcolorBackgroundPost: 'rgb(250, 250, 249)',\n\tcolorBackgroundBrandPrimary: 'rgb(0, 112, 210)',\n\t// Used as the background color for selected rows or items on list-like components.\n\tcolorBackgroundRowSelected: 'rgb(236, 235, 234)',\n\t// Default input field\n\tcolorBackgroundInput: 'rgb(255, 255, 255)',\n\t// Background color for success toast messaging.\n\tcolorBackgroundToastSuccess: 'rgb(4, 132, 75)',\n\t// Color of mask overlay that sits on top of an image when text is present.\n\tcolorBackgroundImageOverlay: 'rgba(0, 0, 0, 0.4)',\n\t// Our product brand blue, darkened even further.\n\tcolorBrandDarker: 'rgb(0, 95, 178)',\n\t// Used as the default background color for temporary dialog elements, such as the progress spinner background.\n\tcolorBackgroundTempModal: 'rgb(150, 148, 146)',\n\t// Background color for text selected with a mouse.\n\tcolorBackgroundSelection: 'rgb(216, 237, 255)',\n\t// Used as gray background when more contrast is desired.\n\tcolorBackgroundShade: 'rgb(236, 235, 234)',\n\t// Standard modal header\n\tcolorBackgroundModal: 'rgb(255, 255, 255)',\n\t// Active color for UI elements related to destructive actions.\n\tcolorBackgroundDestructiveActive: 'rgb(135, 5, 0)',\n\t// Hovered active toggle background color.\n\tcolorBackgroundToggleActiveHover: 'rgb(0, 95, 178)',\n\t// Background color for payloads in the feed.\n\tcolorBackgroundPayload: 'rgb(250, 250, 249)',\n\t// Button backgrounds on modal headers\n\tcolorBackgroundModalButton: 'rgba(0, 0, 0, 0.07)',\n\t// Active color for utility bar item.\n\tcolorBackgroundUtilityBarActive: 'rgb(21, 137, 238)',\n\t// Active background color for success buttons\n\tcolorBackgroundButtonSuccessActive: 'rgb(4, 132, 75)',\n\tbuttonColorBackgroundPrimary: 'rgb(255, 255, 255)',\n\t// Background color for error toast messaging.\n\tcolorBackgroundToastError: 'rgb(194, 57, 52)',\n\t// Stage left org switcher dropdown arrow background color.\n\tcolorBackgroundOrgSwitcherArrow: 'rgb(6, 28, 63)',\n\t// Default background color for dark portions of the app (like Stage Left or tooltips).\n\tcolorBackgroundInverse: 'rgb(6, 28, 63)',\n\t// Active toggle background color.\n\tcolorBackgroundToggleActive: 'rgb(0, 112, 210)',\n\tcolorPickerSliderThumbColorBackground: 'rgb(243, 242, 242)',\n\t// Winter 18 token, this has been deprecated. Please use BRAND_BACKGROUND_PRIMARY instead.\n\tpageColorBackgroundPrimary: 'rgb(253, 253, 253)',\n\t// Used as gray background in conjunction with Shade when more contrast is desired.\n\tcolorBackgroundShadeDark: 'rgb(221, 219, 218)',\n\t// Notifications badge background color.\n\tcolorBackgroundNotificationBadgeFocus: 'rgb(0, 95, 178)',\n\t// Background for utility icons that live in the action bar on mobile.\n\tcolorBackgroundActionbarIconUtility: 'rgb(112, 110, 107)',\n\t// The background color of an internal scrollbar track.\n\tcolorBackgroundScrollbarTrack: 'rgb(201, 199, 197)',\n\t// Background color for input field that has encountered an error.\n\tcolorBackgroundInputError: 'rgb(255, 221, 225)',\n\t// Winter 18 token, this has been deprecated. Please use BRAND_BACKGROUND_PRIMARY instead.\n\tbrandBandColorBackgroundPrimary: 'rgb(253, 253, 253)',\n\t// Background color for highlighting UI elements.\n\tcolorBackgroundHighlight: 'rgb(250, 255, 189)',\n\tcolorBackgroundSecondary: 'rgb(255, 255, 255)',\n\tpopoverWalkthroughHeaderColorBackground: 'rgb(22, 74, 133)',\n\tbrandBandDefaultImage:\n\t\t'/assets/images/themes/oneSalesforce/banner-brand-default.png',\n\tbannerUserDefaultImage:\n\t\t'/assets/images/themes/oneSalesforce/banner-user-default.png',\n\tbannerGroupDefaultImage:\n\t\t'/assets/images/themes/oneSalesforce/banner-group-public-default.png',\n\t// The borders to create the checkmark\n\tcolorBorderInputCheckboxSelectedCheckmark: 'rgb(255, 255, 255)',\n\t// Border color for disabled inverse button.\n\tcolorBorderButtonInverseDisabled: 'rgba(255, 255, 255, 0.15)',\n\t// Hovered border color for a button with an icon that has a parent element that has a hover state\n\tcolorBorderIconInverseHintHover: 'rgba(255, 255, 255, 0.75)',\n\t// Dark alternative border color for UI elements related to errors.\n\tcolorBorderErrorDark: 'rgb(234, 130, 136)',\n\t// Border color for a button with an icon that has a parent element that has a hover state\n\tcolorBorderIconInverseHint: 'rgba(255, 255, 255, 0.5)',\n\t// Our product brand blue, darkened to meet accessibility color contrast ratios with white text.\n\tcolorBorderBrandDark: 'rgb(0, 112, 210)',\n\t// Border color for UI elements related to providing neutral information (not error, success, or warning).\n\tcolorBorderInfo: 'rgb(112, 110, 107)',\n\t// Border color for UI elements that have to do with warnings.\n\tcolorBorderWarning: 'rgb(255, 183, 93)',\n\t// Border color for an active tab.\n\tcolorBorderTabActive: 'rgb(255, 255, 255)',\n\t// Disabled stroke color.\n\tcolorStrokeDisabled: 'rgb(236, 235, 234)',\n\t// Hover border color for UI elements that have to do with destructive actions.\n\tcolorBorderDestructiveHover: 'rgb(166, 26, 20)',\n\t// Default border color for UI elements.\n\tcolorBorder: 'rgb(221, 219, 218)',\n\t// Border color on disabled form elements.\n\tcolorBorderInputDisabled: 'rgb(201, 199, 197)',\n\t// Dark alternative border color for UI elements that have to do with success.\n\tcolorBorderSuccessDark: 'rgb(4, 132, 75)',\n\t// Border color on notification reminders.\n\tcolorBorderReminder: 'rgb(236, 235, 234)',\n\t// Active stroke color for our product brand blue.\n\tcolorStrokeBrandActive: 'rgb(22, 50, 92)',\n\t// Border color for brandable primary button - disabled state\n\tcolorBorderButtonBrandDisabled: 'rgba(0, 0, 0, 0)',\n\tpageHeaderColorBorder: 'rgb(221, 219, 218)',\n\t// Border color for UI elements that have to do with destructive actions.\n\tcolorBorderDestructive: 'rgb(194, 57, 52)',\n\tcolorBorderPrimary: 'rgb(221, 219, 218)',\n\t// Border color for default secondary button\n\tcolorBorderButtonDefault: 'rgb(221, 219, 218)',\n\t// Darkest separator color - used as an alternate separator color when more differentiation is desired.\n\tcolorBorderSeparatorAlt2: 'rgb(201, 199, 197)',\n\t// Border color for UI elements related to the offline state.\n\tcolorBorderOffline: 'rgb(62, 62, 60)',\n\tcolorBorderBrandPrimaryFocus: 'rgb(0, 95, 178)',\n\t// Border color for UI elements that have to do with success.\n\tcolorBorderSuccess: 'rgb(75, 202, 129)',\n\t// Lightest separator color - used as default separator on white backgrounds.\n\tcolorBorderSeparator: 'rgb(243, 242, 242)',\n\t// Our product brand blue.\n\tcolorBorderBrand: 'rgb(21, 137, 238)',\n\tcolorBorderBrandPrimaryHover: 'rgb(0, 95, 178)',\n\t// Used to delineate the boundary of a component that is being clicked. Specific to builders.\n\tcolorBorderSelectionActive: 'rgb(243, 242, 242)',\n\t// Border color for brandable primary button\n\tcolorBorderButtonBrand: 'rgb(0, 112, 210)',\n\t// Border color for UI elements that have to do with errors.\n\tcolorBorderError: 'rgb(194, 57, 52)',\n\t// Used to delineate the boundary of a component that is being hovered over. Specific to builders.\n\tcolorBorderSelectionHover: 'rgb(21, 137, 238)',\n\tcolorBorderBrandPrimaryActive: 'rgb(0, 95, 178)',\n\t// Border color on active form elements.\n\tcolorBorderInputActive: 'rgb(21, 137, 238)',\n\t// Border color on form elements.\n\tcolorBorderInput: 'rgb(221, 219, 218)',\n\tcolorBorderBrandPrimary: 'rgb(0, 112, 210)',\n\t// These borders create the faux checkmark when the checkbox toggle is in the checked state.\n\tcolorBorderToggleChecked: 'rgb(255, 255, 255)',\n\t// Used as the border color for the hover state on selected rows or items on list-like components.\n\tcolorBorderRowSelectedHover: 'rgb(21, 137, 238)',\n\t// Border color for UI elements related to the concept of an external user or customer.\n\tcolorBorderCustomer: 'rgb(255, 154, 60)',\n\t// Used to delineate the boundary of a selected component. Specific to builders.\n\tcolorBorderSelection: 'rgb(0, 112, 210)',\n\t// Used to delineate the boundary of a selected canvas element that is being hovered over. Specific to builders.\n\tcolorBorderCanvasElementSelectionHover: 'rgb(0, 95, 178)',\n\tcardColorBorder: 'rgb(221, 219, 218)',\n\t// Used as the border color for selected rows or items on list-like components.\n\tcolorBorderRowSelected: 'rgb(0, 112, 210)',\n\tbuttonColorBorderPrimary: 'rgb(221, 219, 218)',\n\t// Medium separator color - used as default separator on light gray backgrounds.\n\tcolorBorderSeparatorAlt: 'rgb(221, 219, 218)',\n\t// Used to delineate the boundary of a selected canvas element. Specific to builders.\n\tcolorBorderCanvasElementSelection: 'rgb(94, 180, 255)',\n\t// Hover stroke color for our product brand blue.\n\tcolorStrokeBrandHover: 'rgb(0, 112, 210)',\n\t// Border color to match UI elements using color-background-inverse.\n\tcolorBorderInverse: 'rgb(6, 28, 63)',\n\t// Stroke color for our global header buttons.\n\tcolorStrokeHeaderButton: 'rgb(176, 173, 171)',\n\t// Active border color for UI elements that have to do with destructive actions.\n\tcolorBorderDestructiveActive: 'rgb(135, 5, 0)',\n\t// Alternative border color for UI elements related to errors.\n\tcolorBorderErrorAlt: 'rgb(234, 130, 136)',\n\tpageHeaderJoinedColorBorder: 'rgb(221, 219, 218)',\n\t// Our product brand blue.\n\tcolorStrokeBrand: 'rgb(0, 112, 210)',\n\t// Border color for a selected tab in a tab group.\n\tcolorBorderTabSelected: 'rgb(0, 112, 210)',\n\tcardFooterColorBorder: 'rgb(221, 219, 218)',\n\t// Used as a separator on dark backgrounds, such as stage left navigation.\n\tcolorBorderSeparatorInverse: 'rgb(42, 66, 108)',\n\tpageHeaderBorderRadius: '0.25rem',\n\ttableBorderRadius: '0 0 0.25rem 0.25rem',\n\t// Hard dropshadow on page header\n\tpageHeaderShadow: '0 2px 2px 0 rgba(0, 0, 0, 0.1)',\n\tshadowSoftPrimaryHover: 'rgba(0, 0, 0, 0.20) 0 3px 6px',\n\t// Custom glow for focus states on UI elements with explicit containers.\n\tshadowButtonFocus: '0 0 3px #0070D2',\n\t// Shadow for header.\n\tshadowHeader: '0 2px 4px rgba(0, 0, 0, 0.07)',\n\t// Soft dropshadow found on general UI elements such as containers\n\tshadowSoftPrimary: 'rgba(0, 0, 0, 0.1) 0 2px 2px',\n\t// Hard dropshadow found on general UI elements such as containers\n\tshadowHardPrimary: 'rgba(0, 0, 0, 0.1) 0 2px 0',\n\t// Shadow above overflow menu close bar.\n\tshadowActionOverflowFooter: '0 -2px 4px #fafaf9',\n\t// Hard dropshadow found on outer cards\n\tcardShadow: '0 2px 2px 0 rgba(0, 0, 0, 0.1)',\n\t// Shadow for notifications that should be elevated above other components but under modals.\n\tshadowReminder: '0 2px 3px 0 rgba(0, 0, 0, 0.20)',\n\t// Shadow on elements that are docked to the bottom of the viewport.\n\tshadowDocked: '0 -2px 2px 0 rgba(0, 0, 0, 0.16)',\n\t// Shadow to make inline edit card pop out.\n\tshadowInlineEdit: '0 2px 4px 4px rgba(0, 0, 0, 0.16)',\n\t// Shadow for drag-n-drop.\n\tshadowDrag: '0 2px 4px 0 rgba(0, 0, 0, 0.40)',\n\t// Shadow for drop down.\n\tshadowDropDown: '0 2px 3px 0 rgba(0, 0, 0, 0.16)',\n\t// Inset shadow for editable grid\n\tshadowFocusInset: '0 0 2px 2px #1589EE inset',\n\tshadowSoftPrimaryActive: 'rgba(0, 0, 0, 0.20) 0 1px 1px',\n\t// Custom glow for focus states on UI elements with explicit containers on dark or vibrantly colored backgrounds.\n\tshadowButtonFocusInverse: '0 0 3px #ecebea',\n\t// Shadow on images.\n\tshadowImage: '0 1px 1px rgba(0, 0, 0, 0.16)',\n\tformLabelFontSize: '.75rem',\n\tinputStaticFontSize: '0.875rem',\n\tinputStaticFontWeight: '400',\n\t// Use for active tab.\n\ttabsFontWeight: '700',\n\t// Use for active tab.\n\tcardFontWeight: '700',\n\tpageHeaderTitleFontWeight: '700',\n\t//\n\tcomponentSpacingMargin: '0.75rem',\n\t//\n\tcomponentSpacingPadding: '1rem',\n\t//\n\ttemplateGutters: '0.75rem',\n\t//\n\ttemplateProfileGutters: '8rem 0.75rem 0.75rem',\n\t//\n\ttableCellSpacing: '0.25rem 0.5rem',\n\t//\n\tcardSpacingMargin: '0.75rem',\n\t//\n\tcardFooterPadding: '0.75rem 1rem',\n\tcardFooterTextAlign: 'center',\n\t// Icon color on dark background\n\tcolorTextIconInverse: 'rgb(255, 255, 255)',\n\t// Action label text color\n\tcolorTextActionLabel: 'rgb(112, 110, 107)',\n\t// Link color on dark background\n\tcolorTextLinkInverse: 'rgb(255, 255, 255)',\n\t// Text color for a button that has a parent element that has a hover state. This is the default text/icon color for that button before its parent has been hovered over.\n\tcolorTextButtonInverseDisabled: 'rgba(255, 255, 255, 0.15)',\n\t// Hovered icon color for a button that has a parent element that has a hover state\n\tcolorTextIconInverseHintHover: 'rgba(255, 255, 255, 0.75)',\n\t// Input icon\n\tcolorTextInputIcon: 'rgb(176, 173, 171)',\n\t// Link color on dark background - active state\n\tcolorTextLinkInverseActive: 'rgba(255, 255, 255, 0.5)',\n\t// Action label active text color\n\tcolorTextActionLabelActive: 'rgb(62, 62, 60)',\n\t// Icon color on dark background - active state\n\tcolorTextIconInverseActive: 'rgb(255, 255, 255)',\n\t// Color for text on a selected tab in a tab group.\n\tcolorTextTabLabelSelected: 'rgb(0, 112, 210)',\n\t// Color for texts or icons that are related to warnings on a dark background.\n\tcolorTextWarning: 'rgb(255, 183, 93)',\n\t// Icon color for a button that has a parent element that has a hover state on a dark background. This is the default text/icon color for that button before its parent has been hovered over.\n\tcolorTextIconInverseHint: 'rgba(255, 255, 255, 0.5)',\n\t// Color for disabled text in a tab group.\n\tcolorTextTabLabelDisabled: 'rgb(236, 235, 234)',\n\t// Text color for default secondary button - hover state\n\tcolorTextButtonDefaultHover: 'rgb(0, 112, 210)',\n\t// Input disabled text\n\tcolorTextInputDisabled: 'rgb(112, 110, 107)',\n\t// Tertiary body text color\n\tcolorTextTertiary: 'rgb(150, 148, 146)',\n\t// Focus link text\n\tcolorTextLinkFocus: 'rgb(0, 95, 178)',\n\t// Text color for default secondary button\n\tcolorTextButtonDefault: 'rgb(0, 112, 210)',\n\t// Default icon color - disabled state\n\tcolorTextIconDefaultDisabled: 'rgb(221, 219, 218)',\n\t// Disabled link text\n\tcolorTextLinkDisabled: 'rgb(22, 50, 92)',\n\t// Body text color\n\tcolorTextDefault: 'rgb(62, 62, 60)',\n\t// Active state on a standalone link on a dark background.\n\tcolorTextInverseActive: 'rgb(94, 180, 255)',\n\t// Text color for brandable primary button - disabled state\n\tcolorTextButtonBrandDisabled: 'rgb(255, 255, 255)',\n\t// Primary body text color\n\tcolorTextPrimary: 'rgb(62, 62, 60)',\n\tcolorTextLinkPrimaryFocus: 'rgb(0, 95, 178)',\n\t// Text color for brandable primary button - hover state\n\tcolorTextButtonBrandHover: 'rgb(255, 255, 255)',\n\t// Hover link text\n\tcolorTextLinkHover: 'rgb(0, 95, 178)',\n\t// Color for text in focus state in a tab group.\n\tcolorTextTabLabelFocus: 'rgb(0, 95, 178)',\n\t// Text color for success text.\n\tcolorTextSuccess: 'rgb(2, 126, 70)',\n\t// Color for text that is purposefully de-emphasized to create visual hierarchy.\n\tcolorTextWeak: 'rgb(112, 110, 107)',\n\t// Input placeholder text on dark backgrounds.\n\tcolorTextPlaceholderInverse: 'rgb(236, 235, 234)',\n\t// Default icon color - hover state.\n\tcolorTextIconDefaultHover: 'rgb(0, 112, 210)',\n\t// Icon color for a button that has a parent element that has a hover state. This is the default text/icon color for that button before its parent has been hovered over.\n\tcolorTextIconDefaultHintBorderless: 'rgb(236, 235, 234)',\n\t// Text color for pills.\n\tcolorTextPill: 'rgb(0, 112, 210)',\n\tcolorTextLinkPrimaryHover: 'rgb(0, 95, 178)',\n\t// Link text (508)\n\tcolorTextLink: 'rgb(0, 109, 204)',\n\t// Color for texts that are related to warnings on a light background.\n\tcolorTextWarningAlt: 'rgb(132, 72, 0)',\n\t// Text color for brandable primary button\n\tcolorTextButtonBrand: 'rgb(255, 255, 255)',\n\t// Color for text in active state in a tab group.\n\tcolorTextTabLabelActive: 'rgb(0, 57, 107)',\n\t// Default icon color.\n\tcolorTextIconDefault: 'rgb(112, 110, 107)',\n\t// Our product brand blue.\n\tcolorTextBrand: 'rgb(21, 137, 238)',\n\t// Color for text in hover state in a tab group.\n\tcolorTextTabLabelHover: 'rgb(0, 95, 178)',\n\t// Text color for default secondary button - disabled state\n\tcolorTextButtonDefaultDisabled: 'rgb(221, 219, 218)',\n\t// Color for text on toast messages.\n\tcolorTextToast: 'rgb(236, 235, 234)',\n\t// Color for disabled toggles\n\tcolorTextToggleDisabled: 'rgb(221, 219, 218)',\n\t// Top bar icon color\n\tcolorTextBrowser: 'rgb(255, 255, 255)',\n\tcolorTextLinkPrimaryActive: 'rgb(0, 95, 178)',\n\t// Error text for inputs and error misc\n\tcolorTextError: 'rgb(194, 57, 52)',\n\tcolorTextLinkPrimary: 'rgb(0, 112, 210)',\n\t// Top bar active icon color\n\tcolorTextBrowserActive: 'rgba(0, 0, 0, 0.4)',\n\t// Color for default text in a tab group.\n\tcolorTextTabLabel: 'rgb(22, 50, 92)',\n\t// Customer text used in anchor subtitle\n\tcolorTextCustomer: 'rgb(255, 154, 60)',\n\t// Default icon color - active state.\n\tcolorTextIconDefaultActive: 'rgb(0, 57, 107)',\n\t// Text color found on any primary brand color\n\tcolorTextBrandPrimary: 'rgb(255, 255, 255)',\n\t// Active link text\n\tcolorTextLinkActive: 'rgb(0, 57, 107)',\n\t// Icon color for a button that has a parent element that has a hover state. This is the default text/icon color for that button before its parent has been hovered over.\n\tcolorTextIconDefaultHint: 'rgb(176, 173, 171)',\n\t// Text color for brandable primary button - active state\n\tcolorTextButtonBrandActive: 'rgb(255, 255, 255)',\n\t// Color of required field marker.\n\tcolorTextRequired: 'rgb(194, 57, 52)',\n\t// Color for non-interactive icons that represent a selected item in a list\n\tcolorTextIconBrand: 'rgb(0, 112, 210)',\n\t// Hover state on a standalone link on a dark background.\n\tcolorTextInverseHover: 'rgb(176, 173, 171)',\n\t// Modal header title\n\tcolorTextModal: 'rgb(255, 255, 255)',\n\t// Text color for a button that has a parent element that has a hover state. This is the default text/icon color for that button before its parent has been hovered over.\n\tcolorTextButtonInverse: 'rgb(236, 235, 234)',\n\tbuttonColorTextPrimary: 'rgb(255, 255, 255)',\n\t// Modal header button text color\n\tcolorTextModalButton: 'rgb(112, 110, 107)',\n\t// Link color on dark background - disabled state\n\tcolorTextLinkInverseDisabled: 'rgba(255, 255, 255, 0.15)',\n\t// Inverse text color for dark backgrounds\n\tcolorTextInverse: 'rgb(255, 255, 255)',\n\t// Text color for default secondary button - active state\n\tcolorTextButtonDefaultActive: 'rgb(0, 112, 210)',\n\t// Icon color on dark background - disabled state\n\tcolorTextIconInverseDisabled: 'rgba(255, 255, 255, 0.15)',\n\t// Text color for a button that has a parent element that has a hover state. This is the default text/icon color for that button before its parent has been hovered over.\n\tcolorTextButtonDefaultHint: 'rgb(176, 173, 171)',\n\t// Color for interactive utility icons\n\tcolorTextIconUtility: 'rgb(176, 173, 171)',\n\t// Icon color on dark background - hover state\n\tcolorTextIconInverseHover: 'rgb(255, 255, 255)',\n\t// Input placeholder text.\n\tcolorTextPlaceholder: 'rgb(112, 110, 107)',\n\t// Weak inverse text color for dark backgrounds\n\tcolorTextInverseWeak: 'rgb(176, 173, 171)',\n\t// Secondary body text color\n\tcolorTextSecondary: 'rgb(112, 110, 107)',\n\t// Typed input text\n\tcolorTextInputFocusInverse: 'rgb(22, 50, 92)',\n\t// Text in stage left navigation.\n\tcolorTextStageLeft: 'rgb(236, 235, 234)',\n\t// Link color on dark background - hover state\n\tcolorTextLinkInverseHover: 'rgba(255, 255, 255, 0.75)',\n\t// Text color for success text on dark backgrounds.\n\tcolorTextSuccessInverse: 'rgb(75, 202, 129)',\n\t// Text color for field labels.\n\tcolorTextLabel: 'rgb(112, 110, 107)',\n};\n","/**\n * lodash (Custom Build) <https://lodash.com/>\n * Build: `lodash modularize exports=\"npm\" -o ./`\n * Copyright jQuery Foundation and other contributors <https://jquery.org/>\n * Released under MIT license <https://lodash.com/license>\n * Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>\n * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n */\n\n/** Used as the size to enable large array optimizations. */\nvar LARGE_ARRAY_SIZE = 200;\n\n/** Used as the `TypeError` message for \"Functions\" methods. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/** Used to compose bitmasks for comparison styles. */\nvar UNORDERED_COMPARE_FLAG = 1,\n PARTIAL_COMPARE_FLAG = 2;\n\n/** Used as references for various `Number` constants. */\nvar INFINITY = 1 / 0,\n MAX_SAFE_INTEGER = 9007199254740991;\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n funcTag = '[object Function]',\n genTag = '[object GeneratorFunction]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n objectTag = '[object Object]',\n promiseTag = '[object Promise]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n symbolTag = '[object Symbol]',\n weakMapTag = '[object WeakMap]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n dataViewTag = '[object DataView]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/** Used to match property names within property paths. */\nvar reIsDeepProp = /\\.|\\[(?:[^[\\]]*|([\"'])(?:(?!\\1)[^\\\\]|\\\\.)*?\\1)\\]/,\n reIsPlainProp = /^\\w*$/,\n reLeadingDot = /^\\./,\n rePropName = /[^.[\\]]+|\\[(?:(-?\\d+(?:\\.\\d+)?)|([\"'])((?:(?!\\2)[^\\\\]|\\\\.)*?)\\2)\\]|(?=(?:\\.|\\[\\])(?:\\.|\\[\\]|$))/g;\n\n/**\n * Used to match `RegExp`\n * [syntax characters](http://ecma-international.org/ecma-262/7.0/#sec-patterns).\n */\nvar reRegExpChar = /[\\\\^$.*+?()[\\]{}|]/g;\n\n/** Used to match backslashes in property paths. */\nvar reEscapeChar = /\\\\(\\\\)?/g;\n\n/** Used to detect host constructors (Safari). */\nvar reIsHostCtor = /^\\[object .+?Constructor\\]$/;\n\n/** Used to detect unsigned integer values. */\nvar reIsUint = /^(?:0|[1-9]\\d*)$/;\n\n/** Used to identify `toStringTag` values of typed arrays. */\nvar typedArrayTags = {};\ntypedArrayTags[float32Tag] = typedArrayTags[float64Tag] =\ntypedArrayTags[int8Tag] = typedArrayTags[int16Tag] =\ntypedArrayTags[int32Tag] = typedArrayTags[uint8Tag] =\ntypedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] =\ntypedArrayTags[uint32Tag] = true;\ntypedArrayTags[argsTag] = typedArrayTags[arrayTag] =\ntypedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] =\ntypedArrayTags[dataViewTag] = typedArrayTags[dateTag] =\ntypedArrayTags[errorTag] = typedArrayTags[funcTag] =\ntypedArrayTags[mapTag] = typedArrayTags[numberTag] =\ntypedArrayTags[objectTag] = typedArrayTags[regexpTag] =\ntypedArrayTags[setTag] = typedArrayTags[stringTag] =\ntypedArrayTags[weakMapTag] = false;\n\n/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\n/** Detect free variable `exports`. */\nvar freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;\n\n/** Detect free variable `module`. */\nvar freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;\n\n/** Detect the popular CommonJS extension `module.exports`. */\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n\n/** Detect free variable `process` from Node.js. */\nvar freeProcess = moduleExports && freeGlobal.process;\n\n/** Used to access faster Node.js helpers. */\nvar nodeUtil = (function() {\n try {\n return freeProcess && freeProcess.binding('util');\n } catch (e) {}\n}());\n\n/* Node.js helper references. */\nvar nodeIsTypedArray = nodeUtil && nodeUtil.isTypedArray;\n\n/**\n * A specialized version of `_.filter` for arrays without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {Array} Returns the new filtered array.\n */\nfunction arrayFilter(array, predicate) {\n var index = -1,\n length = array ? array.length : 0,\n resIndex = 0,\n result = [];\n\n while (++index < length) {\n var value = array[index];\n if (predicate(value, index, array)) {\n result[resIndex++] = value;\n }\n }\n return result;\n}\n\n/**\n * A specialized version of `_.some` for arrays without support for iteratee\n * shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {boolean} Returns `true` if any element passes the predicate check,\n * else `false`.\n */\nfunction arraySome(array, predicate) {\n var index = -1,\n length = array ? array.length : 0;\n\n while (++index < length) {\n if (predicate(array[index], index, array)) {\n return true;\n }\n }\n return false;\n}\n\n/**\n * The base implementation of `_.property` without support for deep paths.\n *\n * @private\n * @param {string} key The key of the property to get.\n * @returns {Function} Returns the new accessor function.\n */\nfunction baseProperty(key) {\n return function(object) {\n return object == null ? undefined : object[key];\n };\n}\n\n/**\n * The base implementation of `_.times` without support for iteratee shorthands\n * or max array length checks.\n *\n * @private\n * @param {number} n The number of times to invoke `iteratee`.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns the array of results.\n */\nfunction baseTimes(n, iteratee) {\n var index = -1,\n result = Array(n);\n\n while (++index < n) {\n result[index] = iteratee(index);\n }\n return result;\n}\n\n/**\n * The base implementation of `_.unary` without support for storing metadata.\n *\n * @private\n * @param {Function} func The function to cap arguments for.\n * @returns {Function} Returns the new capped function.\n */\nfunction baseUnary(func) {\n return function(value) {\n return func(value);\n };\n}\n\n/**\n * Gets the value at `key` of `object`.\n *\n * @private\n * @param {Object} [object] The object to query.\n * @param {string} key The key of the property to get.\n * @returns {*} Returns the property value.\n */\nfunction getValue(object, key) {\n return object == null ? undefined : object[key];\n}\n\n/**\n * Checks if `value` is a host object in IE < 9.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a host object, else `false`.\n */\nfunction isHostObject(value) {\n // Many host objects are `Object` objects that can coerce to strings\n // despite having improperly defined `toString` methods.\n var result = false;\n if (value != null && typeof value.toString != 'function') {\n try {\n result = !!(value + '');\n } catch (e) {}\n }\n return result;\n}\n\n/**\n * Converts `map` to its key-value pairs.\n *\n * @private\n * @param {Object} map The map to convert.\n * @returns {Array} Returns the key-value pairs.\n */\nfunction mapToArray(map) {\n var index = -1,\n result = Array(map.size);\n\n map.forEach(function(value, key) {\n result[++index] = [key, value];\n });\n return result;\n}\n\n/**\n * Creates a unary function that invokes `func` with its argument transformed.\n *\n * @private\n * @param {Function} func The function to wrap.\n * @param {Function} transform The argument transform.\n * @returns {Function} Returns the new function.\n */\nfunction overArg(func, transform) {\n return function(arg) {\n return func(transform(arg));\n };\n}\n\n/**\n * Converts `set` to an array of its values.\n *\n * @private\n * @param {Object} set The set to convert.\n * @returns {Array} Returns the values.\n */\nfunction setToArray(set) {\n var index = -1,\n result = Array(set.size);\n\n set.forEach(function(value) {\n result[++index] = value;\n });\n return result;\n}\n\n/** Used for built-in method references. */\nvar arrayProto = Array.prototype,\n funcProto = Function.prototype,\n objectProto = Object.prototype;\n\n/** Used to detect overreaching core-js shims. */\nvar coreJsData = root['__core-js_shared__'];\n\n/** Used to detect methods masquerading as native. */\nvar maskSrcKey = (function() {\n var uid = /[^.]+$/.exec(coreJsData && coreJsData.keys && coreJsData.keys.IE_PROTO || '');\n return uid ? ('Symbol(src)_1.' + uid) : '';\n}());\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objectToString = objectProto.toString;\n\n/** Used to detect if a method is native. */\nvar reIsNative = RegExp('^' +\n funcToString.call(hasOwnProperty).replace(reRegExpChar, '\\\\$&')\n .replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g, '$1.*?') + '$'\n);\n\n/** Built-in value references. */\nvar Symbol = root.Symbol,\n Uint8Array = root.Uint8Array,\n propertyIsEnumerable = objectProto.propertyIsEnumerable,\n splice = arrayProto.splice;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeKeys = overArg(Object.keys, Object);\n\n/* Built-in method references that are verified to be native. */\nvar DataView = getNative(root, 'DataView'),\n Map = getNative(root, 'Map'),\n Promise = getNative(root, 'Promise'),\n Set = getNative(root, 'Set'),\n WeakMap = getNative(root, 'WeakMap'),\n nativeCreate = getNative(Object, 'create');\n\n/** Used to detect maps, sets, and weakmaps. */\nvar dataViewCtorString = toSource(DataView),\n mapCtorString = toSource(Map),\n promiseCtorString = toSource(Promise),\n setCtorString = toSource(Set),\n weakMapCtorString = toSource(WeakMap);\n\n/** Used to convert symbols to primitives and strings. */\nvar symbolProto = Symbol ? Symbol.prototype : undefined,\n symbolValueOf = symbolProto ? symbolProto.valueOf : undefined,\n symbolToString = symbolProto ? symbolProto.toString : undefined;\n\n/**\n * Creates a hash object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Hash(entries) {\n var index = -1,\n length = entries ? entries.length : 0;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n/**\n * Removes all key-value entries from the hash.\n *\n * @private\n * @name clear\n * @memberOf Hash\n */\nfunction hashClear() {\n this.__data__ = nativeCreate ? nativeCreate(null) : {};\n}\n\n/**\n * Removes `key` and its value from the hash.\n *\n * @private\n * @name delete\n * @memberOf Hash\n * @param {Object} hash The hash to modify.\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction hashDelete(key) {\n return this.has(key) && delete this.__data__[key];\n}\n\n/**\n * Gets the hash value for `key`.\n *\n * @private\n * @name get\n * @memberOf Hash\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction hashGet(key) {\n var data = this.__data__;\n if (nativeCreate) {\n var result = data[key];\n return result === HASH_UNDEFINED ? undefined : result;\n }\n return hasOwnProperty.call(data, key) ? data[key] : undefined;\n}\n\n/**\n * Checks if a hash value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Hash\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction hashHas(key) {\n var data = this.__data__;\n return nativeCreate ? data[key] !== undefined : hasOwnProperty.call(data, key);\n}\n\n/**\n * Sets the hash `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Hash\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the hash instance.\n */\nfunction hashSet(key, value) {\n var data = this.__data__;\n data[key] = (nativeCreate && value === undefined) ? HASH_UNDEFINED : value;\n return this;\n}\n\n// Add methods to `Hash`.\nHash.prototype.clear = hashClear;\nHash.prototype['delete'] = hashDelete;\nHash.prototype.get = hashGet;\nHash.prototype.has = hashHas;\nHash.prototype.set = hashSet;\n\n/**\n * Creates an list cache object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction ListCache(entries) {\n var index = -1,\n length = entries ? entries.length : 0;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n/**\n * Removes all key-value entries from the list cache.\n *\n * @private\n * @name clear\n * @memberOf ListCache\n */\nfunction listCacheClear() {\n this.__data__ = [];\n}\n\n/**\n * Removes `key` and its value from the list cache.\n *\n * @private\n * @name delete\n * @memberOf ListCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction listCacheDelete(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n return false;\n }\n var lastIndex = data.length - 1;\n if (index == lastIndex) {\n data.pop();\n } else {\n splice.call(data, index, 1);\n }\n return true;\n}\n\n/**\n * Gets the list cache value for `key`.\n *\n * @private\n * @name get\n * @memberOf ListCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction listCacheGet(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n return index < 0 ? undefined : data[index][1];\n}\n\n/**\n * Checks if a list cache value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf ListCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction listCacheHas(key) {\n return assocIndexOf(this.__data__, key) > -1;\n}\n\n/**\n * Sets the list cache `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf ListCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the list cache instance.\n */\nfunction listCacheSet(key, value) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n data.push([key, value]);\n } else {\n data[index][1] = value;\n }\n return this;\n}\n\n// Add methods to `ListCache`.\nListCache.prototype.clear = listCacheClear;\nListCache.prototype['delete'] = listCacheDelete;\nListCache.prototype.get = listCacheGet;\nListCache.prototype.has = listCacheHas;\nListCache.prototype.set = listCacheSet;\n\n/**\n * Creates a map cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction MapCache(entries) {\n var index = -1,\n length = entries ? entries.length : 0;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n/**\n * Removes all key-value entries from the map.\n *\n * @private\n * @name clear\n * @memberOf MapCache\n */\nfunction mapCacheClear() {\n this.__data__ = {\n 'hash': new Hash,\n 'map': new (Map || ListCache),\n 'string': new Hash\n };\n}\n\n/**\n * Removes `key` and its value from the map.\n *\n * @private\n * @name delete\n * @memberOf MapCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction mapCacheDelete(key) {\n return getMapData(this, key)['delete'](key);\n}\n\n/**\n * Gets the map value for `key`.\n *\n * @private\n * @name get\n * @memberOf MapCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction mapCacheGet(key) {\n return getMapData(this, key).get(key);\n}\n\n/**\n * Checks if a map value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf MapCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction mapCacheHas(key) {\n return getMapData(this, key).has(key);\n}\n\n/**\n * Sets the map `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf MapCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the map cache instance.\n */\nfunction mapCacheSet(key, value) {\n getMapData(this, key).set(key, value);\n return this;\n}\n\n// Add methods to `MapCache`.\nMapCache.prototype.clear = mapCacheClear;\nMapCache.prototype['delete'] = mapCacheDelete;\nMapCache.prototype.get = mapCacheGet;\nMapCache.prototype.has = mapCacheHas;\nMapCache.prototype.set = mapCacheSet;\n\n/**\n *\n * Creates an array cache object to store unique values.\n *\n * @private\n * @constructor\n * @param {Array} [values] The values to cache.\n */\nfunction SetCache(values) {\n var index = -1,\n length = values ? values.length : 0;\n\n this.__data__ = new MapCache;\n while (++index < length) {\n this.add(values[index]);\n }\n}\n\n/**\n * Adds `value` to the array cache.\n *\n * @private\n * @name add\n * @memberOf SetCache\n * @alias push\n * @param {*} value The value to cache.\n * @returns {Object} Returns the cache instance.\n */\nfunction setCacheAdd(value) {\n this.__data__.set(value, HASH_UNDEFINED);\n return this;\n}\n\n/**\n * Checks if `value` is in the array cache.\n *\n * @private\n * @name has\n * @memberOf SetCache\n * @param {*} value The value to search for.\n * @returns {number} Returns `true` if `value` is found, else `false`.\n */\nfunction setCacheHas(value) {\n return this.__data__.has(value);\n}\n\n// Add methods to `SetCache`.\nSetCache.prototype.add = SetCache.prototype.push = setCacheAdd;\nSetCache.prototype.has = setCacheHas;\n\n/**\n * Creates a stack cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Stack(entries) {\n this.__data__ = new ListCache(entries);\n}\n\n/**\n * Removes all key-value entries from the stack.\n *\n * @private\n * @name clear\n * @memberOf Stack\n */\nfunction stackClear() {\n this.__data__ = new ListCache;\n}\n\n/**\n * Removes `key` and its value from the stack.\n *\n * @private\n * @name delete\n * @memberOf Stack\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction stackDelete(key) {\n return this.__data__['delete'](key);\n}\n\n/**\n * Gets the stack value for `key`.\n *\n * @private\n * @name get\n * @memberOf Stack\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction stackGet(key) {\n return this.__data__.get(key);\n}\n\n/**\n * Checks if a stack value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Stack\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction stackHas(key) {\n return this.__data__.has(key);\n}\n\n/**\n * Sets the stack `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Stack\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the stack cache instance.\n */\nfunction stackSet(key, value) {\n var cache = this.__data__;\n if (cache instanceof ListCache) {\n var pairs = cache.__data__;\n if (!Map || (pairs.length < LARGE_ARRAY_SIZE - 1)) {\n pairs.push([key, value]);\n return this;\n }\n cache = this.__data__ = new MapCache(pairs);\n }\n cache.set(key, value);\n return this;\n}\n\n// Add methods to `Stack`.\nStack.prototype.clear = stackClear;\nStack.prototype['delete'] = stackDelete;\nStack.prototype.get = stackGet;\nStack.prototype.has = stackHas;\nStack.prototype.set = stackSet;\n\n/**\n * Creates an array of the enumerable property names of the array-like `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @param {boolean} inherited Specify returning inherited property names.\n * @returns {Array} Returns the array of property names.\n */\nfunction arrayLikeKeys(value, inherited) {\n // Safari 8.1 makes `arguments.callee` enumerable in strict mode.\n // Safari 9 makes `arguments.length` enumerable in strict mode.\n var result = (isArray(value) || isArguments(value))\n ? baseTimes(value.length, String)\n : [];\n\n var length = result.length,\n skipIndexes = !!length;\n\n for (var key in value) {\n if ((inherited || hasOwnProperty.call(value, key)) &&\n !(skipIndexes && (key == 'length' || isIndex(key, length)))) {\n result.push(key);\n }\n }\n return result;\n}\n\n/**\n * Gets the index at which the `key` is found in `array` of key-value pairs.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} key The key to search for.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction assocIndexOf(array, key) {\n var length = array.length;\n while (length--) {\n if (eq(array[length][0], key)) {\n return length;\n }\n }\n return -1;\n}\n\n/**\n * The base implementation of `_.forEach` without support for iteratee shorthands.\n *\n * @private\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array|Object} Returns `collection`.\n */\nvar baseEach = createBaseEach(baseForOwn);\n\n/**\n * The base implementation of `_.filter` without support for iteratee shorthands.\n *\n * @private\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {Array} Returns the new filtered array.\n */\nfunction baseFilter(collection, predicate) {\n var result = [];\n baseEach(collection, function(value, index, collection) {\n if (predicate(value, index, collection)) {\n result.push(value);\n }\n });\n return result;\n}\n\n/**\n * The base implementation of `baseForOwn` which iterates over `object`\n * properties returned by `keysFunc` and invokes `iteratee` for each property.\n * Iteratee functions may exit iteration early by explicitly returning `false`.\n *\n * @private\n * @param {Object} object The object to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @param {Function} keysFunc The function to get the keys of `object`.\n * @returns {Object} Returns `object`.\n */\nvar baseFor = createBaseFor();\n\n/**\n * The base implementation of `_.forOwn` without support for iteratee shorthands.\n *\n * @private\n * @param {Object} object The object to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Object} Returns `object`.\n */\nfunction baseForOwn(object, iteratee) {\n return object && baseFor(object, iteratee, keys);\n}\n\n/**\n * The base implementation of `_.get` without support for default values.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Array|string} path The path of the property to get.\n * @returns {*} Returns the resolved value.\n */\nfunction baseGet(object, path) {\n path = isKey(path, object) ? [path] : castPath(path);\n\n var index = 0,\n length = path.length;\n\n while (object != null && index < length) {\n object = object[toKey(path[index++])];\n }\n return (index && index == length) ? object : undefined;\n}\n\n/**\n * The base implementation of `getTag`.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nfunction baseGetTag(value) {\n return objectToString.call(value);\n}\n\n/**\n * The base implementation of `_.hasIn` without support for deep paths.\n *\n * @private\n * @param {Object} [object] The object to query.\n * @param {Array|string} key The key to check.\n * @returns {boolean} Returns `true` if `key` exists, else `false`.\n */\nfunction baseHasIn(object, key) {\n return object != null && key in Object(object);\n}\n\n/**\n * The base implementation of `_.isEqual` which supports partial comparisons\n * and tracks traversed objects.\n *\n * @private\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @param {Function} [customizer] The function to customize comparisons.\n * @param {boolean} [bitmask] The bitmask of comparison flags.\n * The bitmask may be composed of the following flags:\n * 1 - Unordered comparison\n * 2 - Partial comparison\n * @param {Object} [stack] Tracks traversed `value` and `other` objects.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n */\nfunction baseIsEqual(value, other, customizer, bitmask, stack) {\n if (value === other) {\n return true;\n }\n if (value == null || other == null || (!isObject(value) && !isObjectLike(other))) {\n return value !== value && other !== other;\n }\n return baseIsEqualDeep(value, other, baseIsEqual, customizer, bitmask, stack);\n}\n\n/**\n * A specialized version of `baseIsEqual` for arrays and objects which performs\n * deep comparisons and tracks traversed objects enabling objects with circular\n * references to be compared.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Function} [customizer] The function to customize comparisons.\n * @param {number} [bitmask] The bitmask of comparison flags. See `baseIsEqual`\n * for more details.\n * @param {Object} [stack] Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction baseIsEqualDeep(object, other, equalFunc, customizer, bitmask, stack) {\n var objIsArr = isArray(object),\n othIsArr = isArray(other),\n objTag = arrayTag,\n othTag = arrayTag;\n\n if (!objIsArr) {\n objTag = getTag(object);\n objTag = objTag == argsTag ? objectTag : objTag;\n }\n if (!othIsArr) {\n othTag = getTag(other);\n othTag = othTag == argsTag ? objectTag : othTag;\n }\n var objIsObj = objTag == objectTag && !isHostObject(object),\n othIsObj = othTag == objectTag && !isHostObject(other),\n isSameTag = objTag == othTag;\n\n if (isSameTag && !objIsObj) {\n stack || (stack = new Stack);\n return (objIsArr || isTypedArray(object))\n ? equalArrays(object, other, equalFunc, customizer, bitmask, stack)\n : equalByTag(object, other, objTag, equalFunc, customizer, bitmask, stack);\n }\n if (!(bitmask & PARTIAL_COMPARE_FLAG)) {\n var objIsWrapped = objIsObj && hasOwnProperty.call(object, '__wrapped__'),\n othIsWrapped = othIsObj && hasOwnProperty.call(other, '__wrapped__');\n\n if (objIsWrapped || othIsWrapped) {\n var objUnwrapped = objIsWrapped ? object.value() : object,\n othUnwrapped = othIsWrapped ? other.value() : other;\n\n stack || (stack = new Stack);\n return equalFunc(objUnwrapped, othUnwrapped, customizer, bitmask, stack);\n }\n }\n if (!isSameTag) {\n return false;\n }\n stack || (stack = new Stack);\n return equalObjects(object, other, equalFunc, customizer, bitmask, stack);\n}\n\n/**\n * The base implementation of `_.isMatch` without support for iteratee shorthands.\n *\n * @private\n * @param {Object} object The object to inspect.\n * @param {Object} source The object of property values to match.\n * @param {Array} matchData The property names, values, and compare flags to match.\n * @param {Function} [customizer] The function to customize comparisons.\n * @returns {boolean} Returns `true` if `object` is a match, else `false`.\n */\nfunction baseIsMatch(object, source, matchData, customizer) {\n var index = matchData.length,\n length = index,\n noCustomizer = !customizer;\n\n if (object == null) {\n return !length;\n }\n object = Object(object);\n while (index--) {\n var data = matchData[index];\n if ((noCustomizer && data[2])\n ? data[1] !== object[data[0]]\n : !(data[0] in object)\n ) {\n return false;\n }\n }\n while (++index < length) {\n data = matchData[index];\n var key = data[0],\n objValue = object[key],\n srcValue = data[1];\n\n if (noCustomizer && data[2]) {\n if (objValue === undefined && !(key in object)) {\n return false;\n }\n } else {\n var stack = new Stack;\n if (customizer) {\n var result = customizer(objValue, srcValue, key, object, source, stack);\n }\n if (!(result === undefined\n ? baseIsEqual(srcValue, objValue, customizer, UNORDERED_COMPARE_FLAG | PARTIAL_COMPARE_FLAG, stack)\n : result\n )) {\n return false;\n }\n }\n }\n return true;\n}\n\n/**\n * The base implementation of `_.isNative` without bad shim checks.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a native function,\n * else `false`.\n */\nfunction baseIsNative(value) {\n if (!isObject(value) || isMasked(value)) {\n return false;\n }\n var pattern = (isFunction(value) || isHostObject(value)) ? reIsNative : reIsHostCtor;\n return pattern.test(toSource(value));\n}\n\n/**\n * The base implementation of `_.isTypedArray` without Node.js optimizations.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n */\nfunction baseIsTypedArray(value) {\n return isObjectLike(value) &&\n isLength(value.length) && !!typedArrayTags[objectToString.call(value)];\n}\n\n/**\n * The base implementation of `_.iteratee`.\n *\n * @private\n * @param {*} [value=_.identity] The value to convert to an iteratee.\n * @returns {Function} Returns the iteratee.\n */\nfunction baseIteratee(value) {\n // Don't store the `typeof` result in a variable to avoid a JIT bug in Safari 9.\n // See https://bugs.webkit.org/show_bug.cgi?id=156034 for more details.\n if (typeof value == 'function') {\n return value;\n }\n if (value == null) {\n return identity;\n }\n if (typeof value == 'object') {\n return isArray(value)\n ? baseMatchesProperty(value[0], value[1])\n : baseMatches(value);\n }\n return property(value);\n}\n\n/**\n * The base implementation of `_.keys` which doesn't treat sparse arrays as dense.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction baseKeys(object) {\n if (!isPrototype(object)) {\n return nativeKeys(object);\n }\n var result = [];\n for (var key in Object(object)) {\n if (hasOwnProperty.call(object, key) && key != 'constructor') {\n result.push(key);\n }\n }\n return result;\n}\n\n/**\n * The base implementation of `_.matches` which doesn't clone `source`.\n *\n * @private\n * @param {Object} source The object of property values to match.\n * @returns {Function} Returns the new spec function.\n */\nfunction baseMatches(source) {\n var matchData = getMatchData(source);\n if (matchData.length == 1 && matchData[0][2]) {\n return matchesStrictComparable(matchData[0][0], matchData[0][1]);\n }\n return function(object) {\n return object === source || baseIsMatch(object, source, matchData);\n };\n}\n\n/**\n * The base implementation of `_.matchesProperty` which doesn't clone `srcValue`.\n *\n * @private\n * @param {string} path The path of the property to get.\n * @param {*} srcValue The value to match.\n * @returns {Function} Returns the new spec function.\n */\nfunction baseMatchesProperty(path, srcValue) {\n if (isKey(path) && isStrictComparable(srcValue)) {\n return matchesStrictComparable(toKey(path), srcValue);\n }\n return function(object) {\n var objValue = get(object, path);\n return (objValue === undefined && objValue === srcValue)\n ? hasIn(object, path)\n : baseIsEqual(srcValue, objValue, undefined, UNORDERED_COMPARE_FLAG | PARTIAL_COMPARE_FLAG);\n };\n}\n\n/**\n * A specialized version of `baseProperty` which supports deep paths.\n *\n * @private\n * @param {Array|string} path The path of the property to get.\n * @returns {Function} Returns the new accessor function.\n */\nfunction basePropertyDeep(path) {\n return function(object) {\n return baseGet(object, path);\n };\n}\n\n/**\n * The base implementation of `_.toString` which doesn't convert nullish\n * values to empty strings.\n *\n * @private\n * @param {*} value The value to process.\n * @returns {string} Returns the string.\n */\nfunction baseToString(value) {\n // Exit early for strings to avoid a performance hit in some environments.\n if (typeof value == 'string') {\n return value;\n }\n if (isSymbol(value)) {\n return symbolToString ? symbolToString.call(value) : '';\n }\n var result = (value + '');\n return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result;\n}\n\n/**\n * Casts `value` to a path array if it's not one.\n *\n * @private\n * @param {*} value The value to inspect.\n * @returns {Array} Returns the cast property path array.\n */\nfunction castPath(value) {\n return isArray(value) ? value : stringToPath(value);\n}\n\n/**\n * Creates a `baseEach` or `baseEachRight` function.\n *\n * @private\n * @param {Function} eachFunc The function to iterate over a collection.\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {Function} Returns the new base function.\n */\nfunction createBaseEach(eachFunc, fromRight) {\n return function(collection, iteratee) {\n if (collection == null) {\n return collection;\n }\n if (!isArrayLike(collection)) {\n return eachFunc(collection, iteratee);\n }\n var length = collection.length,\n index = fromRight ? length : -1,\n iterable = Object(collection);\n\n while ((fromRight ? index-- : ++index < length)) {\n if (iteratee(iterable[index], index, iterable) === false) {\n break;\n }\n }\n return collection;\n };\n}\n\n/**\n * Creates a base function for methods like `_.forIn` and `_.forOwn`.\n *\n * @private\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {Function} Returns the new base function.\n */\nfunction createBaseFor(fromRight) {\n return function(object, iteratee, keysFunc) {\n var index = -1,\n iterable = Object(object),\n props = keysFunc(object),\n length = props.length;\n\n while (length--) {\n var key = props[fromRight ? length : ++index];\n if (iteratee(iterable[key], key, iterable) === false) {\n break;\n }\n }\n return object;\n };\n}\n\n/**\n * A specialized version of `baseIsEqualDeep` for arrays with support for\n * partial deep comparisons.\n *\n * @private\n * @param {Array} array The array to compare.\n * @param {Array} other The other array to compare.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Function} customizer The function to customize comparisons.\n * @param {number} bitmask The bitmask of comparison flags. See `baseIsEqual`\n * for more details.\n * @param {Object} stack Tracks traversed `array` and `other` objects.\n * @returns {boolean} Returns `true` if the arrays are equivalent, else `false`.\n */\nfunction equalArrays(array, other, equalFunc, customizer, bitmask, stack) {\n var isPartial = bitmask & PARTIAL_COMPARE_FLAG,\n arrLength = array.length,\n othLength = other.length;\n\n if (arrLength != othLength && !(isPartial && othLength > arrLength)) {\n return false;\n }\n // Assume cyclic values are equal.\n var stacked = stack.get(array);\n if (stacked && stack.get(other)) {\n return stacked == other;\n }\n var index = -1,\n result = true,\n seen = (bitmask & UNORDERED_COMPARE_FLAG) ? new SetCache : undefined;\n\n stack.set(array, other);\n stack.set(other, array);\n\n // Ignore non-index properties.\n while (++index < arrLength) {\n var arrValue = array[index],\n othValue = other[index];\n\n if (customizer) {\n var compared = isPartial\n ? customizer(othValue, arrValue, index, other, array, stack)\n : customizer(arrValue, othValue, index, array, other, stack);\n }\n if (compared !== undefined) {\n if (compared) {\n continue;\n }\n result = false;\n break;\n }\n // Recursively compare arrays (susceptible to call stack limits).\n if (seen) {\n if (!arraySome(other, function(othValue, othIndex) {\n if (!seen.has(othIndex) &&\n (arrValue === othValue || equalFunc(arrValue, othValue, customizer, bitmask, stack))) {\n return seen.add(othIndex);\n }\n })) {\n result = false;\n break;\n }\n } else if (!(\n arrValue === othValue ||\n equalFunc(arrValue, othValue, customizer, bitmask, stack)\n )) {\n result = false;\n break;\n }\n }\n stack['delete'](array);\n stack['delete'](other);\n return result;\n}\n\n/**\n * A specialized version of `baseIsEqualDeep` for comparing objects of\n * the same `toStringTag`.\n *\n * **Note:** This function only supports comparing values with tags of\n * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {string} tag The `toStringTag` of the objects to compare.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Function} customizer The function to customize comparisons.\n * @param {number} bitmask The bitmask of comparison flags. See `baseIsEqual`\n * for more details.\n * @param {Object} stack Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction equalByTag(object, other, tag, equalFunc, customizer, bitmask, stack) {\n switch (tag) {\n case dataViewTag:\n if ((object.byteLength != other.byteLength) ||\n (object.byteOffset != other.byteOffset)) {\n return false;\n }\n object = object.buffer;\n other = other.buffer;\n\n case arrayBufferTag:\n if ((object.byteLength != other.byteLength) ||\n !equalFunc(new Uint8Array(object), new Uint8Array(other))) {\n return false;\n }\n return true;\n\n case boolTag:\n case dateTag:\n case numberTag:\n // Coerce booleans to `1` or `0` and dates to milliseconds.\n // Invalid dates are coerced to `NaN`.\n return eq(+object, +other);\n\n case errorTag:\n return object.name == other.name && object.message == other.message;\n\n case regexpTag:\n case stringTag:\n // Coerce regexes to strings and treat strings, primitives and objects,\n // as equal. See http://www.ecma-international.org/ecma-262/7.0/#sec-regexp.prototype.tostring\n // for more details.\n return object == (other + '');\n\n case mapTag:\n var convert = mapToArray;\n\n case setTag:\n var isPartial = bitmask & PARTIAL_COMPARE_FLAG;\n convert || (convert = setToArray);\n\n if (object.size != other.size && !isPartial) {\n return false;\n }\n // Assume cyclic values are equal.\n var stacked = stack.get(object);\n if (stacked) {\n return stacked == other;\n }\n bitmask |= UNORDERED_COMPARE_FLAG;\n\n // Recursively compare objects (susceptible to call stack limits).\n stack.set(object, other);\n var result = equalArrays(convert(object), convert(other), equalFunc, customizer, bitmask, stack);\n stack['delete'](object);\n return result;\n\n case symbolTag:\n if (symbolValueOf) {\n return symbolValueOf.call(object) == symbolValueOf.call(other);\n }\n }\n return false;\n}\n\n/**\n * A specialized version of `baseIsEqualDeep` for objects with support for\n * partial deep comparisons.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Function} customizer The function to customize comparisons.\n * @param {number} bitmask The bitmask of comparison flags. See `baseIsEqual`\n * for more details.\n * @param {Object} stack Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction equalObjects(object, other, equalFunc, customizer, bitmask, stack) {\n var isPartial = bitmask & PARTIAL_COMPARE_FLAG,\n objProps = keys(object),\n objLength = objProps.length,\n othProps = keys(other),\n othLength = othProps.length;\n\n if (objLength != othLength && !isPartial) {\n return false;\n }\n var index = objLength;\n while (index--) {\n var key = objProps[index];\n if (!(isPartial ? key in other : hasOwnProperty.call(other, key))) {\n return false;\n }\n }\n // Assume cyclic values are equal.\n var stacked = stack.get(object);\n if (stacked && stack.get(other)) {\n return stacked == other;\n }\n var result = true;\n stack.set(object, other);\n stack.set(other, object);\n\n var skipCtor = isPartial;\n while (++index < objLength) {\n key = objProps[index];\n var objValue = object[key],\n othValue = other[key];\n\n if (customizer) {\n var compared = isPartial\n ? customizer(othValue, objValue, key, other, object, stack)\n : customizer(objValue, othValue, key, object, other, stack);\n }\n // Recursively compare objects (susceptible to call stack limits).\n if (!(compared === undefined\n ? (objValue === othValue || equalFunc(objValue, othValue, customizer, bitmask, stack))\n : compared\n )) {\n result = false;\n break;\n }\n skipCtor || (skipCtor = key == 'constructor');\n }\n if (result && !skipCtor) {\n var objCtor = object.constructor,\n othCtor = other.constructor;\n\n // Non `Object` object instances with different constructors are not equal.\n if (objCtor != othCtor &&\n ('constructor' in object && 'constructor' in other) &&\n !(typeof objCtor == 'function' && objCtor instanceof objCtor &&\n typeof othCtor == 'function' && othCtor instanceof othCtor)) {\n result = false;\n }\n }\n stack['delete'](object);\n stack['delete'](other);\n return result;\n}\n\n/**\n * Gets the data for `map`.\n *\n * @private\n * @param {Object} map The map to query.\n * @param {string} key The reference key.\n * @returns {*} Returns the map data.\n */\nfunction getMapData(map, key) {\n var data = map.__data__;\n return isKeyable(key)\n ? data[typeof key == 'string' ? 'string' : 'hash']\n : data.map;\n}\n\n/**\n * Gets the property names, values, and compare flags of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the match data of `object`.\n */\nfunction getMatchData(object) {\n var result = keys(object),\n length = result.length;\n\n while (length--) {\n var key = result[length],\n value = object[key];\n\n result[length] = [key, value, isStrictComparable(value)];\n }\n return result;\n}\n\n/**\n * Gets the native function at `key` of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the method to get.\n * @returns {*} Returns the function if it's native, else `undefined`.\n */\nfunction getNative(object, key) {\n var value = getValue(object, key);\n return baseIsNative(value) ? value : undefined;\n}\n\n/**\n * Gets the `toStringTag` of `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nvar getTag = baseGetTag;\n\n// Fallback for data views, maps, sets, and weak maps in IE 11,\n// for data views in Edge < 14, and promises in Node.js.\nif ((DataView && getTag(new DataView(new ArrayBuffer(1))) != dataViewTag) ||\n (Map && getTag(new Map) != mapTag) ||\n (Promise && getTag(Promise.resolve()) != promiseTag) ||\n (Set && getTag(new Set) != setTag) ||\n (WeakMap && getTag(new WeakMap) != weakMapTag)) {\n getTag = function(value) {\n var result = objectToString.call(value),\n Ctor = result == objectTag ? value.constructor : undefined,\n ctorString = Ctor ? toSource(Ctor) : undefined;\n\n if (ctorString) {\n switch (ctorString) {\n case dataViewCtorString: return dataViewTag;\n case mapCtorString: return mapTag;\n case promiseCtorString: return promiseTag;\n case setCtorString: return setTag;\n case weakMapCtorString: return weakMapTag;\n }\n }\n return result;\n };\n}\n\n/**\n * Checks if `path` exists on `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Array|string} path The path to check.\n * @param {Function} hasFunc The function to check properties.\n * @returns {boolean} Returns `true` if `path` exists, else `false`.\n */\nfunction hasPath(object, path, hasFunc) {\n path = isKey(path, object) ? [path] : castPath(path);\n\n var result,\n index = -1,\n length = path.length;\n\n while (++index < length) {\n var key = toKey(path[index]);\n if (!(result = object != null && hasFunc(object, key))) {\n break;\n }\n object = object[key];\n }\n if (result) {\n return result;\n }\n var length = object ? object.length : 0;\n return !!length && isLength(length) && isIndex(key, length) &&\n (isArray(object) || isArguments(object));\n}\n\n/**\n * Checks if `value` is a valid array-like index.\n *\n * @private\n * @param {*} value The value to check.\n * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index.\n * @returns {boolean} Returns `true` if `value` is a valid index, else `false`.\n */\nfunction isIndex(value, length) {\n length = length == null ? MAX_SAFE_INTEGER : length;\n return !!length &&\n (typeof value == 'number' || reIsUint.test(value)) &&\n (value > -1 && value % 1 == 0 && value < length);\n}\n\n/**\n * Checks if `value` is a property name and not a property path.\n *\n * @private\n * @param {*} value The value to check.\n * @param {Object} [object] The object to query keys on.\n * @returns {boolean} Returns `true` if `value` is a property name, else `false`.\n */\nfunction isKey(value, object) {\n if (isArray(value)) {\n return false;\n }\n var type = typeof value;\n if (type == 'number' || type == 'symbol' || type == 'boolean' ||\n value == null || isSymbol(value)) {\n return true;\n }\n return reIsPlainProp.test(value) || !reIsDeepProp.test(value) ||\n (object != null && value in Object(object));\n}\n\n/**\n * Checks if `value` is suitable for use as unique object key.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is suitable, else `false`.\n */\nfunction isKeyable(value) {\n var type = typeof value;\n return (type == 'string' || type == 'number' || type == 'symbol' || type == 'boolean')\n ? (value !== '__proto__')\n : (value === null);\n}\n\n/**\n * Checks if `func` has its source masked.\n *\n * @private\n * @param {Function} func The function to check.\n * @returns {boolean} Returns `true` if `func` is masked, else `false`.\n */\nfunction isMasked(func) {\n return !!maskSrcKey && (maskSrcKey in func);\n}\n\n/**\n * Checks if `value` is likely a prototype object.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a prototype, else `false`.\n */\nfunction isPrototype(value) {\n var Ctor = value && value.constructor,\n proto = (typeof Ctor == 'function' && Ctor.prototype) || objectProto;\n\n return value === proto;\n}\n\n/**\n * Checks if `value` is suitable for strict equality comparisons, i.e. `===`.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` if suitable for strict\n * equality comparisons, else `false`.\n */\nfunction isStrictComparable(value) {\n return value === value && !isObject(value);\n}\n\n/**\n * A specialized version of `matchesProperty` for source values suitable\n * for strict equality comparisons, i.e. `===`.\n *\n * @private\n * @param {string} key The key of the property to get.\n * @param {*} srcValue The value to match.\n * @returns {Function} Returns the new spec function.\n */\nfunction matchesStrictComparable(key, srcValue) {\n return function(object) {\n if (object == null) {\n return false;\n }\n return object[key] === srcValue &&\n (srcValue !== undefined || (key in Object(object)));\n };\n}\n\n/**\n * Converts `string` to a property path array.\n *\n * @private\n * @param {string} string The string to convert.\n * @returns {Array} Returns the property path array.\n */\nvar stringToPath = memoize(function(string) {\n string = toString(string);\n\n var result = [];\n if (reLeadingDot.test(string)) {\n result.push('');\n }\n string.replace(rePropName, function(match, number, quote, string) {\n result.push(quote ? string.replace(reEscapeChar, '$1') : (number || match));\n });\n return result;\n});\n\n/**\n * Converts `value` to a string key if it's not a string or symbol.\n *\n * @private\n * @param {*} value The value to inspect.\n * @returns {string|symbol} Returns the key.\n */\nfunction toKey(value) {\n if (typeof value == 'string' || isSymbol(value)) {\n return value;\n }\n var result = (value + '');\n return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result;\n}\n\n/**\n * Converts `func` to its source code.\n *\n * @private\n * @param {Function} func The function to process.\n * @returns {string} Returns the source code.\n */\nfunction toSource(func) {\n if (func != null) {\n try {\n return funcToString.call(func);\n } catch (e) {}\n try {\n return (func + '');\n } catch (e) {}\n }\n return '';\n}\n\n/**\n * The opposite of `_.filter`; this method returns the elements of `collection`\n * that `predicate` does **not** return truthy for.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} [predicate=_.identity] The function invoked per iteration.\n * @returns {Array} Returns the new filtered array.\n * @see _.filter\n * @example\n *\n * var users = [\n * { 'user': 'barney', 'age': 36, 'active': false },\n * { 'user': 'fred', 'age': 40, 'active': true }\n * ];\n *\n * _.reject(users, function(o) { return !o.active; });\n * // => objects for ['fred']\n *\n * // The `_.matches` iteratee shorthand.\n * _.reject(users, { 'age': 40, 'active': true });\n * // => objects for ['barney']\n *\n * // The `_.matchesProperty` iteratee shorthand.\n * _.reject(users, ['active', false]);\n * // => objects for ['fred']\n *\n * // The `_.property` iteratee shorthand.\n * _.reject(users, 'active');\n * // => objects for ['barney']\n */\nfunction reject(collection, predicate) {\n var func = isArray(collection) ? arrayFilter : baseFilter;\n return func(collection, negate(baseIteratee(predicate, 3)));\n}\n\n/**\n * Creates a function that memoizes the result of `func`. If `resolver` is\n * provided, it determines the cache key for storing the result based on the\n * arguments provided to the memoized function. By default, the first argument\n * provided to the memoized function is used as the map cache key. The `func`\n * is invoked with the `this` binding of the memoized function.\n *\n * **Note:** The cache is exposed as the `cache` property on the memoized\n * function. Its creation may be customized by replacing the `_.memoize.Cache`\n * constructor with one whose instances implement the\n * [`Map`](http://ecma-international.org/ecma-262/7.0/#sec-properties-of-the-map-prototype-object)\n * method interface of `delete`, `get`, `has`, and `set`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to have its output memoized.\n * @param {Function} [resolver] The function to resolve the cache key.\n * @returns {Function} Returns the new memoized function.\n * @example\n *\n * var object = { 'a': 1, 'b': 2 };\n * var other = { 'c': 3, 'd': 4 };\n *\n * var values = _.memoize(_.values);\n * values(object);\n * // => [1, 2]\n *\n * values(other);\n * // => [3, 4]\n *\n * object.a = 2;\n * values(object);\n * // => [1, 2]\n *\n * // Modify the result cache.\n * values.cache.set(object, ['a', 'b']);\n * values(object);\n * // => ['a', 'b']\n *\n * // Replace `_.memoize.Cache`.\n * _.memoize.Cache = WeakMap;\n */\nfunction memoize(func, resolver) {\n if (typeof func != 'function' || (resolver && typeof resolver != 'function')) {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n var memoized = function() {\n var args = arguments,\n key = resolver ? resolver.apply(this, args) : args[0],\n cache = memoized.cache;\n\n if (cache.has(key)) {\n return cache.get(key);\n }\n var result = func.apply(this, args);\n memoized.cache = cache.set(key, result);\n return result;\n };\n memoized.cache = new (memoize.Cache || MapCache);\n return memoized;\n}\n\n// Assign cache to `_.memoize`.\nmemoize.Cache = MapCache;\n\n/**\n * Creates a function that negates the result of the predicate `func`. The\n * `func` predicate is invoked with the `this` binding and arguments of the\n * created function.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Function\n * @param {Function} predicate The predicate to negate.\n * @returns {Function} Returns the new negated function.\n * @example\n *\n * function isEven(n) {\n * return n % 2 == 0;\n * }\n *\n * _.filter([1, 2, 3, 4, 5, 6], _.negate(isEven));\n * // => [1, 3, 5]\n */\nfunction negate(predicate) {\n if (typeof predicate != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n return function() {\n var args = arguments;\n switch (args.length) {\n case 0: return !predicate.call(this);\n case 1: return !predicate.call(this, args[0]);\n case 2: return !predicate.call(this, args[0], args[1]);\n case 3: return !predicate.call(this, args[0], args[1], args[2]);\n }\n return !predicate.apply(this, args);\n };\n}\n\n/**\n * Performs a\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * comparison between two values to determine if they are equivalent.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'a': 1 };\n * var other = { 'a': 1 };\n *\n * _.eq(object, object);\n * // => true\n *\n * _.eq(object, other);\n * // => false\n *\n * _.eq('a', 'a');\n * // => true\n *\n * _.eq('a', Object('a'));\n * // => false\n *\n * _.eq(NaN, NaN);\n * // => true\n */\nfunction eq(value, other) {\n return value === other || (value !== value && other !== other);\n}\n\n/**\n * Checks if `value` is likely an `arguments` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n * else `false`.\n * @example\n *\n * _.isArguments(function() { return arguments; }());\n * // => true\n *\n * _.isArguments([1, 2, 3]);\n * // => false\n */\nfunction isArguments(value) {\n // Safari 8.1 makes `arguments.callee` enumerable in strict mode.\n return isArrayLikeObject(value) && hasOwnProperty.call(value, 'callee') &&\n (!propertyIsEnumerable.call(value, 'callee') || objectToString.call(value) == argsTag);\n}\n\n/**\n * Checks if `value` is classified as an `Array` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array, else `false`.\n * @example\n *\n * _.isArray([1, 2, 3]);\n * // => true\n *\n * _.isArray(document.body.children);\n * // => false\n *\n * _.isArray('abc');\n * // => false\n *\n * _.isArray(_.noop);\n * // => false\n */\nvar isArray = Array.isArray;\n\n/**\n * Checks if `value` is array-like. A value is considered array-like if it's\n * not a function and has a `value.length` that's an integer greater than or\n * equal to `0` and less than or equal to `Number.MAX_SAFE_INTEGER`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is array-like, else `false`.\n * @example\n *\n * _.isArrayLike([1, 2, 3]);\n * // => true\n *\n * _.isArrayLike(document.body.children);\n * // => true\n *\n * _.isArrayLike('abc');\n * // => true\n *\n * _.isArrayLike(_.noop);\n * // => false\n */\nfunction isArrayLike(value) {\n return value != null && isLength(value.length) && !isFunction(value);\n}\n\n/**\n * This method is like `_.isArrayLike` except that it also checks if `value`\n * is an object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array-like object,\n * else `false`.\n * @example\n *\n * _.isArrayLikeObject([1, 2, 3]);\n * // => true\n *\n * _.isArrayLikeObject(document.body.children);\n * // => true\n *\n * _.isArrayLikeObject('abc');\n * // => false\n *\n * _.isArrayLikeObject(_.noop);\n * // => false\n */\nfunction isArrayLikeObject(value) {\n return isObjectLike(value) && isArrayLike(value);\n}\n\n/**\n * Checks if `value` is classified as a `Function` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a function, else `false`.\n * @example\n *\n * _.isFunction(_);\n * // => true\n *\n * _.isFunction(/abc/);\n * // => false\n */\nfunction isFunction(value) {\n // The use of `Object#toString` avoids issues with the `typeof` operator\n // in Safari 8-9 which returns 'object' for typed array and other constructors.\n var tag = isObject(value) ? objectToString.call(value) : '';\n return tag == funcTag || tag == genTag;\n}\n\n/**\n * Checks if `value` is a valid array-like length.\n *\n * **Note:** This method is loosely based on\n * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.\n * @example\n *\n * _.isLength(3);\n * // => true\n *\n * _.isLength(Number.MIN_VALUE);\n * // => false\n *\n * _.isLength(Infinity);\n * // => false\n *\n * _.isLength('3');\n * // => false\n */\nfunction isLength(value) {\n return typeof value == 'number' &&\n value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;\n}\n\n/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n var type = typeof value;\n return !!value && (type == 'object' || type == 'function');\n}\n\n/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return !!value && typeof value == 'object';\n}\n\n/**\n * Checks if `value` is classified as a `Symbol` primitive or object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a symbol, else `false`.\n * @example\n *\n * _.isSymbol(Symbol.iterator);\n * // => true\n *\n * _.isSymbol('abc');\n * // => false\n */\nfunction isSymbol(value) {\n return typeof value == 'symbol' ||\n (isObjectLike(value) && objectToString.call(value) == symbolTag);\n}\n\n/**\n * Checks if `value` is classified as a typed array.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n * @example\n *\n * _.isTypedArray(new Uint8Array);\n * // => true\n *\n * _.isTypedArray([]);\n * // => false\n */\nvar isTypedArray = nodeIsTypedArray ? baseUnary(nodeIsTypedArray) : baseIsTypedArray;\n\n/**\n * Converts `value` to a string. An empty string is returned for `null`\n * and `undefined` values. The sign of `-0` is preserved.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to process.\n * @returns {string} Returns the string.\n * @example\n *\n * _.toString(null);\n * // => ''\n *\n * _.toString(-0);\n * // => '-0'\n *\n * _.toString([1, 2, 3]);\n * // => '1,2,3'\n */\nfunction toString(value) {\n return value == null ? '' : baseToString(value);\n}\n\n/**\n * Gets the value at `path` of `object`. If the resolved value is\n * `undefined`, the `defaultValue` is returned in its place.\n *\n * @static\n * @memberOf _\n * @since 3.7.0\n * @category Object\n * @param {Object} object The object to query.\n * @param {Array|string} path The path of the property to get.\n * @param {*} [defaultValue] The value returned for `undefined` resolved values.\n * @returns {*} Returns the resolved value.\n * @example\n *\n * var object = { 'a': [{ 'b': { 'c': 3 } }] };\n *\n * _.get(object, 'a[0].b.c');\n * // => 3\n *\n * _.get(object, ['a', '0', 'b', 'c']);\n * // => 3\n *\n * _.get(object, 'a.b.c', 'default');\n * // => 'default'\n */\nfunction get(object, path, defaultValue) {\n var result = object == null ? undefined : baseGet(object, path);\n return result === undefined ? defaultValue : result;\n}\n\n/**\n * Checks if `path` is a direct or inherited property of `object`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Object\n * @param {Object} object The object to query.\n * @param {Array|string} path The path to check.\n * @returns {boolean} Returns `true` if `path` exists, else `false`.\n * @example\n *\n * var object = _.create({ 'a': _.create({ 'b': 2 }) });\n *\n * _.hasIn(object, 'a');\n * // => true\n *\n * _.hasIn(object, 'a.b');\n * // => true\n *\n * _.hasIn(object, ['a', 'b']);\n * // => true\n *\n * _.hasIn(object, 'b');\n * // => false\n */\nfunction hasIn(object, path) {\n return object != null && hasPath(object, path, baseHasIn);\n}\n\n/**\n * Creates an array of the own enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects. See the\n * [ES spec](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)\n * for more details.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keys(new Foo);\n * // => ['a', 'b'] (iteration order is not guaranteed)\n *\n * _.keys('hi');\n * // => ['0', '1']\n */\nfunction keys(object) {\n return isArrayLike(object) ? arrayLikeKeys(object) : baseKeys(object);\n}\n\n/**\n * This method returns the first argument it receives.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Util\n * @param {*} value Any value.\n * @returns {*} Returns `value`.\n * @example\n *\n * var object = { 'a': 1 };\n *\n * console.log(_.identity(object) === object);\n * // => true\n */\nfunction identity(value) {\n return value;\n}\n\n/**\n * Creates a function that returns the value at `path` of a given object.\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Util\n * @param {Array|string} path The path of the property to get.\n * @returns {Function} Returns the new accessor function.\n * @example\n *\n * var objects = [\n * { 'a': { 'b': 2 } },\n * { 'a': { 'b': 1 } }\n * ];\n *\n * _.map(objects, _.property('a.b'));\n * // => [2, 1]\n *\n * _.map(_.sortBy(objects, _.property(['a', 'b'])), 'a.b');\n * // => [1, 2]\n */\nfunction property(path) {\n return isKey(path) ? baseProperty(toKey(path)) : basePropertyDeep(path);\n}\n\nmodule.exports = reject;\n","module.exports = function(module) {\n\tif (!module.webpackPolyfill) {\n\t\tmodule.deprecate = function() {};\n\t\tmodule.paths = [];\n\t\t// module.parent = undefined by default\n\t\tif (!module.children) module.children = [];\n\t\tObject.defineProperty(module, \"loaded\", {\n\t\t\tenumerable: true,\n\t\t\tget: function() {\n\t\t\t\treturn module.l;\n\t\t\t}\n\t\t});\n\t\tObject.defineProperty(module, \"id\", {\n\t\t\tenumerable: true,\n\t\t\tget: function() {\n\t\t\t\treturn module.i;\n\t\t\t}\n\t\t});\n\t\tmodule.webpackPolyfill = 1;\n\t}\n\treturn module;\n};\n","'use strict';\n\nvar randomFromSeed = require('./random/random-from-seed');\n\nvar ORIGINAL = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_-';\nvar alphabet;\nvar previousSeed;\n\nvar shuffled;\n\nfunction reset() {\n shuffled = false;\n}\n\nfunction setCharacters(_alphabet_) {\n if (!_alphabet_) {\n if (alphabet !== ORIGINAL) {\n alphabet = ORIGINAL;\n reset();\n }\n return;\n }\n\n if (_alphabet_ === alphabet) {\n return;\n }\n\n if (_alphabet_.length !== ORIGINAL.length) {\n throw new Error('Custom alphabet for shortid must be ' + ORIGINAL.length + ' unique characters. You submitted ' + _alphabet_.length + ' characters: ' + _alphabet_);\n }\n\n var unique = _alphabet_.split('').filter(function(item, ind, arr){\n return ind !== arr.lastIndexOf(item);\n });\n\n if (unique.length) {\n throw new Error('Custom alphabet for shortid must be ' + ORIGINAL.length + ' unique characters. These characters were not unique: ' + unique.join(', '));\n }\n\n alphabet = _alphabet_;\n reset();\n}\n\nfunction characters(_alphabet_) {\n setCharacters(_alphabet_);\n return alphabet;\n}\n\nfunction setSeed(seed) {\n randomFromSeed.seed(seed);\n if (previousSeed !== seed) {\n reset();\n previousSeed = seed;\n }\n}\n\nfunction shuffle() {\n if (!alphabet) {\n setCharacters(ORIGINAL);\n }\n\n var sourceArray = alphabet.split('');\n var targetArray = [];\n var r = randomFromSeed.nextValue();\n var characterIndex;\n\n while (sourceArray.length > 0) {\n r = randomFromSeed.nextValue();\n characterIndex = Math.floor(r * sourceArray.length);\n targetArray.push(sourceArray.splice(characterIndex, 1)[0]);\n }\n return targetArray.join('');\n}\n\nfunction getShuffled() {\n if (shuffled) {\n return shuffled;\n }\n shuffled = shuffle();\n return shuffled;\n}\n\n/**\n * lookup shuffled letter\n * @param index\n * @returns {string}\n */\nfunction lookup(index) {\n var alphabetShuffled = getShuffled();\n return alphabetShuffled[index];\n}\n\nfunction get () {\n return alphabet || ORIGINAL;\n}\n\nmodule.exports = {\n get: get,\n characters: characters,\n seed: setSeed,\n lookup: lookup,\n shuffled: getShuffled\n};\n","module.exports = function requiredIf(type, condition) {\n return function(props, propName, componentName) {\n if (typeof type !== \"function\") {\n return new Error(\n 'Invalid react-required-if prop type supplied to ' + componentName + '. Validation failed.'\n );\n }\n\n if (typeof condition !== \"function\") {\n return new Error(\n 'Invalid react-required-if condition supplied to ' + componentName + '. Validation failed.'\n );\n }\n\n var test = condition(props) ? type.isRequired : type;\n return test.apply(this, arguments);\n };\n};\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _Modal = require(\"./components/Modal\");\n\nvar _Modal2 = _interopRequireDefault(_Modal);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = _Modal2.default;\nmodule.exports = exports[\"default\"];","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.canUseDOM = undefined;\n\nvar _exenv = require(\"exenv\");\n\nvar _exenv2 = _interopRequireDefault(_exenv);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar EE = _exenv2.default;\n\nvar SafeHTMLElement = EE.canUseDOM ? window.HTMLElement : {};\n\nvar canUseDOM = exports.canUseDOM = EE.canUseDOM;\n\nexports.default = SafeHTMLElement;","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\n'use strict';\n\nvar React = require('react');\nvar factory = require('./factory');\n\nif (typeof React === 'undefined') {\n throw Error(\n 'create-react-class could not find the React object. If you are using script tags, ' +\n 'make sure that React is being loaded before create-react-class.'\n );\n}\n\n// Hack to grab NoopUpdateQueue from isomorphic React\nvar ReactNoopUpdateQueue = new React.Component().updater;\n\nmodule.exports = factory(\n React.Component,\n React.isValidElement,\n ReactNoopUpdateQueue\n);\n","var React = require('react');\nvar RegExpPropType = require('./regExpPropType');\nvar escapeStringRegexp = require('escape-string-regexp');\nvar blacklist = require('blacklist');\nvar createReactClass = require('create-react-class');\nvar PropTypes = require('prop-types');\n\nfunction removeDiacritics(str, blacklist) {\n if (!String.prototype.normalize) {\n // Fall back to original string\n return str;\n }\n\n if (!blacklist) {\n // No blacklist, just remove all\n return str.normalize('NFD').replace(/[\\u0300-\\u036f]/g, '');\n }\n else {\n var blacklistChars = blacklist.split('');\n\n // Remove all diacritics that are not a part of a blacklisted character\n // First char cannot be a diacritic\n return str.normalize('NFD').replace(/.[\\u0300-\\u036f]+/g, function(m) {\n return blacklistChars.indexOf(m.normalize()) > -1 ? m.normalize() : m[0];\n });\n }\n}\n\nvar Highlighter = createReactClass({\n displayName: 'Highlighter',\n count: 0,\n propTypes: {\n search: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.number,\n PropTypes.bool,\n RegExpPropType\n ]).isRequired,\n caseSensitive: PropTypes.bool,\n ignoreDiacritics: PropTypes.bool,\n diacriticsBlacklist: PropTypes.string,\n matchElement: PropTypes.oneOfType([PropTypes.string, PropTypes.func]),\n matchClass: PropTypes.string,\n matchStyle: PropTypes.object\n },\n\n render: function() {\n var props = blacklist(\n this.props,\n 'search',\n 'caseSensitive',\n 'ignoreDiacritics',\n 'diacriticsBlacklist',\n 'matchElement',\n 'matchClass',\n 'matchStyle'\n );\n\n return React.createElement('span', props, this.renderElement(this.props.children));\n },\n\n /**\n * A wrapper to the highlight method to determine when the highlighting\n * process should occur.\n *\n * @param {string} subject\n * The body of text that will be searched for highlighted words.\n *\n * @return {Array}\n * An array of ReactElements\n */\n renderElement: function(subject) {\n if (this.isScalar() && this.hasSearch()) {\n var search = this.getSearch();\n return this.highlightChildren(subject, search);\n }\n\n return this.props.children;\n },\n\n /**\n * Determine if props are valid types for processing.\n *\n * @return {Boolean}\n */\n isScalar: function() {\n return (/string|number|boolean/).test(typeof this.props.children);\n },\n\n /**\n * Determine if required search prop is defined and valid.\n *\n * @return {Boolean}\n */\n hasSearch: function() {\n return (typeof this.props.search !== 'undefined') && this.props.search;\n },\n\n /**\n * Get the search prop, but always in the form of a regular expression. Use\n * this as a proxy to this.props.search for consistency.\n *\n * @return {RegExp}\n */\n getSearch: function() {\n if (this.props.search instanceof RegExp) {\n return this.props.search;\n }\n\n var flags = '';\n if (!this.props.caseSensitive) {\n flags +='i';\n }\n\n var search = this.props.search;\n if (typeof this.props.search === 'string') {\n search = escapeStringRegexp(search);\n }\n\n if (this.props.ignoreDiacritics) {\n search = removeDiacritics(search, this.props.diacriticsBlacklist);\n }\n\n return new RegExp(search, flags);\n },\n\n /**\n * Get the indexes of the first and last characters of the matched string.\n *\n * @param {string} subject\n * The string to search against.\n *\n * @param {RegExp} search\n * The regex search query.\n *\n * @return {Object}\n * An object consisting of \"first\" and \"last\" properties representing the\n * indexes of the first and last characters of a matching string.\n */\n getMatchBoundaries: function(subject, search) {\n var matches = search.exec(subject);\n if (matches) {\n return {\n first: matches.index,\n last: matches.index + matches[0].length\n };\n }\n },\n\n /**\n * Determines which strings of text should be highlighted or not.\n *\n * @param {string} subject\n * The body of text that will be searched for highlighted words.\n * @param {string} search\n * The search used to search for highlighted words.\n *\n * @return {Array}\n * An array of ReactElements\n */\n highlightChildren: function(subject, search) {\n var children = [];\n var remaining = subject;\n\n while (remaining) {\n var remainingCleaned = (this.props.ignoreDiacritics\n ? removeDiacritics(remaining, this.props.diacriticsBlacklist)\n : remaining\n );\n\n if (!search.test(remainingCleaned)) {\n children.push(this.renderPlain(remaining));\n return children;\n }\n\n var boundaries = this.getMatchBoundaries(remainingCleaned, search);\n\n if (boundaries.first === 0 && boundaries.last === 0) {\n // Regex zero-width match\n return children;\n }\n\n // Capture the string that leads up to a match...\n var nonMatch = remaining.slice(0, boundaries.first);\n if (nonMatch) {\n children.push(this.renderPlain(nonMatch));\n }\n\n // Now, capture the matching string...\n var match = remaining.slice(boundaries.first, boundaries.last);\n if (match) {\n children.push(this.renderHighlight(match));\n }\n\n // And if there's anything left over, recursively run this method again.\n remaining = remaining.slice(boundaries.last);\n\n }\n\n return children;\n },\n\n /**\n * Responsible for rending a non-highlighted element.\n *\n * @param {string} string\n * A string value to wrap an element around.\n *\n * @return {ReactElement}\n */\n renderPlain: function(string) {\n this.count++;\n return React.createElement('span', { key: this.count, children: string });\n },\n\n /**\n * Responsible for rending a highlighted element.\n *\n * @param {string} string\n * A string value to wrap an element around.\n *\n * @return {ReactElement}\n */\n renderHighlight: function(string) {\n this.count++;\n return React.createElement(this.props.matchElement, {\n key: this.count,\n className: this.props.matchClass,\n style: this.props.matchStyle,\n children: string\n });\n }\n});\n\nHighlighter.defaultProps = {\n caseSensitive: false,\n ignoreDiacritics: false,\n diacriticsBlacklist: '',\n matchElement: 'mark',\n matchClass: 'highlight',\n matchStyle: {}\n};\n\nmodule.exports = Highlighter;\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = findTabbableDescendants;\n/*!\n * Adapted from jQuery UI core\n *\n * http://jqueryui.com\n *\n * Copyright 2014 jQuery Foundation and other contributors\n * Released under the MIT license.\n * http://jquery.org/license\n *\n * http://api.jqueryui.com/category/ui-core/\n */\n\nvar tabbableNode = /input|select|textarea|button|object/;\n\nfunction hidesContents(element) {\n var zeroSize = element.offsetWidth <= 0 && element.offsetHeight <= 0;\n\n // If the node is empty, this is good enough\n if (zeroSize && !element.innerHTML) return true;\n\n // Otherwise we need to check some styles\n var style = window.getComputedStyle(element);\n return zeroSize ? style.getPropertyValue(\"overflow\") !== \"visible\" : style.getPropertyValue(\"display\") == \"none\";\n}\n\nfunction visible(element) {\n var parentElement = element;\n while (parentElement) {\n if (parentElement === document.body) break;\n if (hidesContents(parentElement)) return false;\n parentElement = parentElement.parentNode;\n }\n return true;\n}\n\nfunction focusable(element, isTabIndexNotNaN) {\n var nodeName = element.nodeName.toLowerCase();\n var res = tabbableNode.test(nodeName) && !element.disabled || (nodeName === \"a\" ? element.href || isTabIndexNotNaN : isTabIndexNotNaN);\n return res && visible(element);\n}\n\nfunction tabbable(element) {\n var tabIndex = element.getAttribute(\"tabindex\");\n if (tabIndex === null) tabIndex = undefined;\n var isTabIndexNaN = isNaN(tabIndex);\n return (isTabIndexNaN || tabIndex >= 0) && focusable(element, !isTabIndexNaN);\n}\n\nfunction findTabbableDescendants(element) {\n return [].slice.call(element.querySelectorAll(\"*\"), 0).filter(tabbable);\n}\nmodule.exports = exports[\"default\"];","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.assertNodeList = assertNodeList;\nexports.setElement = setElement;\nexports.validateElement = validateElement;\nexports.hide = hide;\nexports.show = show;\nexports.documentNotReadyOrSSRTesting = documentNotReadyOrSSRTesting;\nexports.resetForTesting = resetForTesting;\n\nvar _warning = require(\"warning\");\n\nvar _warning2 = _interopRequireDefault(_warning);\n\nvar _safeHTMLElement = require(\"./safeHTMLElement\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar globalElement = null;\n\nfunction assertNodeList(nodeList, selector) {\n if (!nodeList || !nodeList.length) {\n throw new Error(\"react-modal: No elements were found for selector \" + selector + \".\");\n }\n}\n\nfunction setElement(element) {\n var useElement = element;\n if (typeof useElement === \"string\" && _safeHTMLElement.canUseDOM) {\n var el = document.querySelectorAll(useElement);\n assertNodeList(el, useElement);\n useElement = \"length\" in el ? el[0] : el;\n }\n globalElement = useElement || globalElement;\n return globalElement;\n}\n\nfunction validateElement(appElement) {\n if (!appElement && !globalElement) {\n (0, _warning2.default)(false, [\"react-modal: App element is not defined.\", \"Please use `Modal.setAppElement(el)` or set `appElement={el}`.\", \"This is needed so screen readers don't see main content\", \"when modal is opened. It is not recommended, but you can opt-out\", \"by setting `ariaHideApp={false}`.\"].join(\" \"));\n\n return false;\n }\n\n return true;\n}\n\nfunction hide(appElement) {\n if (validateElement(appElement)) {\n (appElement || globalElement).setAttribute(\"aria-hidden\", \"true\");\n }\n}\n\nfunction show(appElement) {\n if (validateElement(appElement)) {\n (appElement || globalElement).removeAttribute(\"aria-hidden\");\n }\n}\n\nfunction documentNotReadyOrSSRTesting() {\n globalElement = null;\n}\n\nfunction resetForTesting() {\n globalElement = null;\n}","/**!\n * @fileOverview Kickass library to create and place poppers near their reference elements.\n * @version 1.12.9\n * @license\n * Copyright (c) 2016 Federico Zivolo and contributors\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 all\n * 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 THE\n * SOFTWARE.\n */\nvar isBrowser = typeof window !== 'undefined' && typeof document !== 'undefined';\nvar longerTimeoutBrowsers = ['Edge', 'Trident', 'Firefox'];\nvar timeoutDuration = 0;\nfor (var i = 0; i < longerTimeoutBrowsers.length; i += 1) {\n if (isBrowser && navigator.userAgent.indexOf(longerTimeoutBrowsers[i]) >= 0) {\n timeoutDuration = 1;\n break;\n }\n}\n\nfunction microtaskDebounce(fn) {\n var called = false;\n return function () {\n if (called) {\n return;\n }\n called = true;\n window.Promise.resolve().then(function () {\n called = false;\n fn();\n });\n };\n}\n\nfunction taskDebounce(fn) {\n var scheduled = false;\n return function () {\n if (!scheduled) {\n scheduled = true;\n setTimeout(function () {\n scheduled = false;\n fn();\n }, timeoutDuration);\n }\n };\n}\n\nvar supportsMicroTasks = isBrowser && window.Promise;\n\n/**\n* Create a debounced version of a method, that's asynchronously deferred\n* but called in the minimum time possible.\n*\n* @method\n* @memberof Popper.Utils\n* @argument {Function} fn\n* @returns {Function}\n*/\nvar debounce = supportsMicroTasks ? microtaskDebounce : taskDebounce;\n\n/**\n * Check if the given variable is a function\n * @method\n * @memberof Popper.Utils\n * @argument {Any} functionToCheck - variable to check\n * @returns {Boolean} answer to: is a function?\n */\nfunction isFunction(functionToCheck) {\n var getType = {};\n return functionToCheck && getType.toString.call(functionToCheck) === '[object Function]';\n}\n\n/**\n * Get CSS computed property of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Eement} element\n * @argument {String} property\n */\nfunction getStyleComputedProperty(element, property) {\n if (element.nodeType !== 1) {\n return [];\n }\n // NOTE: 1 DOM access here\n var css = getComputedStyle(element, null);\n return property ? css[property] : css;\n}\n\n/**\n * Returns the parentNode or the host of the element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} parent\n */\nfunction getParentNode(element) {\n if (element.nodeName === 'HTML') {\n return element;\n }\n return element.parentNode || element.host;\n}\n\n/**\n * Returns the scrolling parent of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} scroll parent\n */\nfunction getScrollParent(element) {\n // Return body, `getScroll` will take care to get the correct `scrollTop` from it\n if (!element) {\n return document.body;\n }\n\n switch (element.nodeName) {\n case 'HTML':\n case 'BODY':\n return element.ownerDocument.body;\n case '#document':\n return element.body;\n }\n\n // Firefox want us to check `-x` and `-y` variations as well\n\n var _getStyleComputedProp = getStyleComputedProperty(element),\n overflow = _getStyleComputedProp.overflow,\n overflowX = _getStyleComputedProp.overflowX,\n overflowY = _getStyleComputedProp.overflowY;\n\n if (/(auto|scroll)/.test(overflow + overflowY + overflowX)) {\n return element;\n }\n\n return getScrollParent(getParentNode(element));\n}\n\n/**\n * Returns the offset parent of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} offset parent\n */\nfunction getOffsetParent(element) {\n // NOTE: 1 DOM access here\n var offsetParent = element && element.offsetParent;\n var nodeName = offsetParent && offsetParent.nodeName;\n\n if (!nodeName || nodeName === 'BODY' || nodeName === 'HTML') {\n if (element) {\n return element.ownerDocument.documentElement;\n }\n\n return document.documentElement;\n }\n\n // .offsetParent will return the closest TD or TABLE in case\n // no offsetParent is present, I hate this job...\n if (['TD', 'TABLE'].indexOf(offsetParent.nodeName) !== -1 && getStyleComputedProperty(offsetParent, 'position') === 'static') {\n return getOffsetParent(offsetParent);\n }\n\n return offsetParent;\n}\n\nfunction isOffsetContainer(element) {\n var nodeName = element.nodeName;\n\n if (nodeName === 'BODY') {\n return false;\n }\n return nodeName === 'HTML' || getOffsetParent(element.firstElementChild) === element;\n}\n\n/**\n * Finds the root node (document, shadowDOM root) of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} node\n * @returns {Element} root node\n */\nfunction getRoot(node) {\n if (node.parentNode !== null) {\n return getRoot(node.parentNode);\n }\n\n return node;\n}\n\n/**\n * Finds the offset parent common to the two provided nodes\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element1\n * @argument {Element} element2\n * @returns {Element} common offset parent\n */\nfunction findCommonOffsetParent(element1, element2) {\n // This check is needed to avoid errors in case one of the elements isn't defined for any reason\n if (!element1 || !element1.nodeType || !element2 || !element2.nodeType) {\n return document.documentElement;\n }\n\n // Here we make sure to give as \"start\" the element that comes first in the DOM\n var order = element1.compareDocumentPosition(element2) & Node.DOCUMENT_POSITION_FOLLOWING;\n var start = order ? element1 : element2;\n var end = order ? element2 : element1;\n\n // Get common ancestor container\n var range = document.createRange();\n range.setStart(start, 0);\n range.setEnd(end, 0);\n var commonAncestorContainer = range.commonAncestorContainer;\n\n // Both nodes are inside #document\n\n if (element1 !== commonAncestorContainer && element2 !== commonAncestorContainer || start.contains(end)) {\n if (isOffsetContainer(commonAncestorContainer)) {\n return commonAncestorContainer;\n }\n\n return getOffsetParent(commonAncestorContainer);\n }\n\n // one of the nodes is inside shadowDOM, find which one\n var element1root = getRoot(element1);\n if (element1root.host) {\n return findCommonOffsetParent(element1root.host, element2);\n } else {\n return findCommonOffsetParent(element1, getRoot(element2).host);\n }\n}\n\n/**\n * Gets the scroll value of the given element in the given side (top and left)\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @argument {String} side `top` or `left`\n * @returns {number} amount of scrolled pixels\n */\nfunction getScroll(element) {\n var side = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'top';\n\n var upperSide = side === 'top' ? 'scrollTop' : 'scrollLeft';\n var nodeName = element.nodeName;\n\n if (nodeName === 'BODY' || nodeName === 'HTML') {\n var html = element.ownerDocument.documentElement;\n var scrollingElement = element.ownerDocument.scrollingElement || html;\n return scrollingElement[upperSide];\n }\n\n return element[upperSide];\n}\n\n/*\n * Sum or subtract the element scroll values (left and top) from a given rect object\n * @method\n * @memberof Popper.Utils\n * @param {Object} rect - Rect object you want to change\n * @param {HTMLElement} element - The element from the function reads the scroll values\n * @param {Boolean} subtract - set to true if you want to subtract the scroll values\n * @return {Object} rect - The modifier rect object\n */\nfunction includeScroll(rect, element) {\n var subtract = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n\n var scrollTop = getScroll(element, 'top');\n var scrollLeft = getScroll(element, 'left');\n var modifier = subtract ? -1 : 1;\n rect.top += scrollTop * modifier;\n rect.bottom += scrollTop * modifier;\n rect.left += scrollLeft * modifier;\n rect.right += scrollLeft * modifier;\n return rect;\n}\n\n/*\n * Helper to detect borders of a given element\n * @method\n * @memberof Popper.Utils\n * @param {CSSStyleDeclaration} styles\n * Result of `getStyleComputedProperty` on the given element\n * @param {String} axis - `x` or `y`\n * @return {number} borders - The borders size of the given axis\n */\n\nfunction getBordersSize(styles, axis) {\n var sideA = axis === 'x' ? 'Left' : 'Top';\n var sideB = sideA === 'Left' ? 'Right' : 'Bottom';\n\n return parseFloat(styles['border' + sideA + 'Width'], 10) + parseFloat(styles['border' + sideB + 'Width'], 10);\n}\n\n/**\n * Tells if you are running Internet Explorer 10\n * @method\n * @memberof Popper.Utils\n * @returns {Boolean} isIE10\n */\nvar isIE10 = undefined;\n\nvar isIE10$1 = function () {\n if (isIE10 === undefined) {\n isIE10 = navigator.appVersion.indexOf('MSIE 10') !== -1;\n }\n return isIE10;\n};\n\nfunction getSize(axis, body, html, computedStyle) {\n return Math.max(body['offset' + axis], body['scroll' + axis], html['client' + axis], html['offset' + axis], html['scroll' + axis], isIE10$1() ? html['offset' + axis] + computedStyle['margin' + (axis === 'Height' ? 'Top' : 'Left')] + computedStyle['margin' + (axis === 'Height' ? 'Bottom' : 'Right')] : 0);\n}\n\nfunction getWindowSizes() {\n var body = document.body;\n var html = document.documentElement;\n var computedStyle = isIE10$1() && getComputedStyle(html);\n\n return {\n height: getSize('Height', body, html, computedStyle),\n width: getSize('Width', body, html, computedStyle)\n };\n}\n\nvar classCallCheck = function (instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n};\n\nvar createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\n\n\n\n\n\nvar defineProperty = function (obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n};\n\nvar _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n};\n\n/**\n * Given element offsets, generate an output similar to getBoundingClientRect\n * @method\n * @memberof Popper.Utils\n * @argument {Object} offsets\n * @returns {Object} ClientRect like output\n */\nfunction getClientRect(offsets) {\n return _extends({}, offsets, {\n right: offsets.left + offsets.width,\n bottom: offsets.top + offsets.height\n });\n}\n\n/**\n * Get bounding client rect of given element\n * @method\n * @memberof Popper.Utils\n * @param {HTMLElement} element\n * @return {Object} client rect\n */\nfunction getBoundingClientRect(element) {\n var rect = {};\n\n // IE10 10 FIX: Please, don't ask, the element isn't\n // considered in DOM in some circumstances...\n // This isn't reproducible in IE10 compatibility mode of IE11\n if (isIE10$1()) {\n try {\n rect = element.getBoundingClientRect();\n var scrollTop = getScroll(element, 'top');\n var scrollLeft = getScroll(element, 'left');\n rect.top += scrollTop;\n rect.left += scrollLeft;\n rect.bottom += scrollTop;\n rect.right += scrollLeft;\n } catch (err) {}\n } else {\n rect = element.getBoundingClientRect();\n }\n\n var result = {\n left: rect.left,\n top: rect.top,\n width: rect.right - rect.left,\n height: rect.bottom - rect.top\n };\n\n // subtract scrollbar size from sizes\n var sizes = element.nodeName === 'HTML' ? getWindowSizes() : {};\n var width = sizes.width || element.clientWidth || result.right - result.left;\n var height = sizes.height || element.clientHeight || result.bottom - result.top;\n\n var horizScrollbar = element.offsetWidth - width;\n var vertScrollbar = element.offsetHeight - height;\n\n // if an hypothetical scrollbar is detected, we must be sure it's not a `border`\n // we make this check conditional for performance reasons\n if (horizScrollbar || vertScrollbar) {\n var styles = getStyleComputedProperty(element);\n horizScrollbar -= getBordersSize(styles, 'x');\n vertScrollbar -= getBordersSize(styles, 'y');\n\n result.width -= horizScrollbar;\n result.height -= vertScrollbar;\n }\n\n return getClientRect(result);\n}\n\nfunction getOffsetRectRelativeToArbitraryNode(children, parent) {\n var isIE10 = isIE10$1();\n var isHTML = parent.nodeName === 'HTML';\n var childrenRect = getBoundingClientRect(children);\n var parentRect = getBoundingClientRect(parent);\n var scrollParent = getScrollParent(children);\n\n var styles = getStyleComputedProperty(parent);\n var borderTopWidth = parseFloat(styles.borderTopWidth, 10);\n var borderLeftWidth = parseFloat(styles.borderLeftWidth, 10);\n\n var offsets = getClientRect({\n top: childrenRect.top - parentRect.top - borderTopWidth,\n left: childrenRect.left - parentRect.left - borderLeftWidth,\n width: childrenRect.width,\n height: childrenRect.height\n });\n offsets.marginTop = 0;\n offsets.marginLeft = 0;\n\n // Subtract margins of documentElement in case it's being used as parent\n // we do this only on HTML because it's the only element that behaves\n // differently when margins are applied to it. The margins are included in\n // the box of the documentElement, in the other cases not.\n if (!isIE10 && isHTML) {\n var marginTop = parseFloat(styles.marginTop, 10);\n var marginLeft = parseFloat(styles.marginLeft, 10);\n\n offsets.top -= borderTopWidth - marginTop;\n offsets.bottom -= borderTopWidth - marginTop;\n offsets.left -= borderLeftWidth - marginLeft;\n offsets.right -= borderLeftWidth - marginLeft;\n\n // Attach marginTop and marginLeft because in some circumstances we may need them\n offsets.marginTop = marginTop;\n offsets.marginLeft = marginLeft;\n }\n\n if (isIE10 ? parent.contains(scrollParent) : parent === scrollParent && scrollParent.nodeName !== 'BODY') {\n offsets = includeScroll(offsets, parent);\n }\n\n return offsets;\n}\n\nfunction getViewportOffsetRectRelativeToArtbitraryNode(element) {\n var html = element.ownerDocument.documentElement;\n var relativeOffset = getOffsetRectRelativeToArbitraryNode(element, html);\n var width = Math.max(html.clientWidth, window.innerWidth || 0);\n var height = Math.max(html.clientHeight, window.innerHeight || 0);\n\n var scrollTop = getScroll(html);\n var scrollLeft = getScroll(html, 'left');\n\n var offset = {\n top: scrollTop - relativeOffset.top + relativeOffset.marginTop,\n left: scrollLeft - relativeOffset.left + relativeOffset.marginLeft,\n width: width,\n height: height\n };\n\n return getClientRect(offset);\n}\n\n/**\n * Check if the given element is fixed or is inside a fixed parent\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @argument {Element} customContainer\n * @returns {Boolean} answer to \"isFixed?\"\n */\nfunction isFixed(element) {\n var nodeName = element.nodeName;\n if (nodeName === 'BODY' || nodeName === 'HTML') {\n return false;\n }\n if (getStyleComputedProperty(element, 'position') === 'fixed') {\n return true;\n }\n return isFixed(getParentNode(element));\n}\n\n/**\n * Computed the boundaries limits and return them\n * @method\n * @memberof Popper.Utils\n * @param {HTMLElement} popper\n * @param {HTMLElement} reference\n * @param {number} padding\n * @param {HTMLElement} boundariesElement - Element used to define the boundaries\n * @returns {Object} Coordinates of the boundaries\n */\nfunction getBoundaries(popper, reference, padding, boundariesElement) {\n // NOTE: 1 DOM access here\n var boundaries = { top: 0, left: 0 };\n var offsetParent = findCommonOffsetParent(popper, reference);\n\n // Handle viewport case\n if (boundariesElement === 'viewport') {\n boundaries = getViewportOffsetRectRelativeToArtbitraryNode(offsetParent);\n } else {\n // Handle other cases based on DOM element used as boundaries\n var boundariesNode = void 0;\n if (boundariesElement === 'scrollParent') {\n boundariesNode = getScrollParent(getParentNode(reference));\n if (boundariesNode.nodeName === 'BODY') {\n boundariesNode = popper.ownerDocument.documentElement;\n }\n } else if (boundariesElement === 'window') {\n boundariesNode = popper.ownerDocument.documentElement;\n } else {\n boundariesNode = boundariesElement;\n }\n\n var offsets = getOffsetRectRelativeToArbitraryNode(boundariesNode, offsetParent);\n\n // In case of HTML, we need a different computation\n if (boundariesNode.nodeName === 'HTML' && !isFixed(offsetParent)) {\n var _getWindowSizes = getWindowSizes(),\n height = _getWindowSizes.height,\n width = _getWindowSizes.width;\n\n boundaries.top += offsets.top - offsets.marginTop;\n boundaries.bottom = height + offsets.top;\n boundaries.left += offsets.left - offsets.marginLeft;\n boundaries.right = width + offsets.left;\n } else {\n // for all the other DOM elements, this one is good\n boundaries = offsets;\n }\n }\n\n // Add paddings\n boundaries.left += padding;\n boundaries.top += padding;\n boundaries.right -= padding;\n boundaries.bottom -= padding;\n\n return boundaries;\n}\n\nfunction getArea(_ref) {\n var width = _ref.width,\n height = _ref.height;\n\n return width * height;\n}\n\n/**\n * Utility used to transform the `auto` placement to the placement with more\n * available space.\n * @method\n * @memberof Popper.Utils\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction computeAutoPlacement(placement, refRect, popper, reference, boundariesElement) {\n var padding = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : 0;\n\n if (placement.indexOf('auto') === -1) {\n return placement;\n }\n\n var boundaries = getBoundaries(popper, reference, padding, boundariesElement);\n\n var rects = {\n top: {\n width: boundaries.width,\n height: refRect.top - boundaries.top\n },\n right: {\n width: boundaries.right - refRect.right,\n height: boundaries.height\n },\n bottom: {\n width: boundaries.width,\n height: boundaries.bottom - refRect.bottom\n },\n left: {\n width: refRect.left - boundaries.left,\n height: boundaries.height\n }\n };\n\n var sortedAreas = Object.keys(rects).map(function (key) {\n return _extends({\n key: key\n }, rects[key], {\n area: getArea(rects[key])\n });\n }).sort(function (a, b) {\n return b.area - a.area;\n });\n\n var filteredAreas = sortedAreas.filter(function (_ref2) {\n var width = _ref2.width,\n height = _ref2.height;\n return width >= popper.clientWidth && height >= popper.clientHeight;\n });\n\n var computedPlacement = filteredAreas.length > 0 ? filteredAreas[0].key : sortedAreas[0].key;\n\n var variation = placement.split('-')[1];\n\n return computedPlacement + (variation ? '-' + variation : '');\n}\n\n/**\n * Get offsets to the reference element\n * @method\n * @memberof Popper.Utils\n * @param {Object} state\n * @param {Element} popper - the popper element\n * @param {Element} reference - the reference element (the popper will be relative to this)\n * @returns {Object} An object containing the offsets which will be applied to the popper\n */\nfunction getReferenceOffsets(state, popper, reference) {\n var commonOffsetParent = findCommonOffsetParent(popper, reference);\n return getOffsetRectRelativeToArbitraryNode(reference, commonOffsetParent);\n}\n\n/**\n * Get the outer sizes of the given element (offset size + margins)\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Object} object containing width and height properties\n */\nfunction getOuterSizes(element) {\n var styles = getComputedStyle(element);\n var x = parseFloat(styles.marginTop) + parseFloat(styles.marginBottom);\n var y = parseFloat(styles.marginLeft) + parseFloat(styles.marginRight);\n var result = {\n width: element.offsetWidth + y,\n height: element.offsetHeight + x\n };\n return result;\n}\n\n/**\n * Get the opposite placement of the given one\n * @method\n * @memberof Popper.Utils\n * @argument {String} placement\n * @returns {String} flipped placement\n */\nfunction getOppositePlacement(placement) {\n var hash = { left: 'right', right: 'left', bottom: 'top', top: 'bottom' };\n return placement.replace(/left|right|bottom|top/g, function (matched) {\n return hash[matched];\n });\n}\n\n/**\n * Get offsets to the popper\n * @method\n * @memberof Popper.Utils\n * @param {Object} position - CSS position the Popper will get applied\n * @param {HTMLElement} popper - the popper element\n * @param {Object} referenceOffsets - the reference offsets (the popper will be relative to this)\n * @param {String} placement - one of the valid placement options\n * @returns {Object} popperOffsets - An object containing the offsets which will be applied to the popper\n */\nfunction getPopperOffsets(popper, referenceOffsets, placement) {\n placement = placement.split('-')[0];\n\n // Get popper node sizes\n var popperRect = getOuterSizes(popper);\n\n // Add position, width and height to our offsets object\n var popperOffsets = {\n width: popperRect.width,\n height: popperRect.height\n };\n\n // depending by the popper placement we have to compute its offsets slightly differently\n var isHoriz = ['right', 'left'].indexOf(placement) !== -1;\n var mainSide = isHoriz ? 'top' : 'left';\n var secondarySide = isHoriz ? 'left' : 'top';\n var measurement = isHoriz ? 'height' : 'width';\n var secondaryMeasurement = !isHoriz ? 'height' : 'width';\n\n popperOffsets[mainSide] = referenceOffsets[mainSide] + referenceOffsets[measurement] / 2 - popperRect[measurement] / 2;\n if (placement === secondarySide) {\n popperOffsets[secondarySide] = referenceOffsets[secondarySide] - popperRect[secondaryMeasurement];\n } else {\n popperOffsets[secondarySide] = referenceOffsets[getOppositePlacement(secondarySide)];\n }\n\n return popperOffsets;\n}\n\n/**\n * Mimics the `find` method of Array\n * @method\n * @memberof Popper.Utils\n * @argument {Array} arr\n * @argument prop\n * @argument value\n * @returns index or -1\n */\nfunction find(arr, check) {\n // use native find if supported\n if (Array.prototype.find) {\n return arr.find(check);\n }\n\n // use `filter` to obtain the same behavior of `find`\n return arr.filter(check)[0];\n}\n\n/**\n * Return the index of the matching object\n * @method\n * @memberof Popper.Utils\n * @argument {Array} arr\n * @argument prop\n * @argument value\n * @returns index or -1\n */\nfunction findIndex(arr, prop, value) {\n // use native findIndex if supported\n if (Array.prototype.findIndex) {\n return arr.findIndex(function (cur) {\n return cur[prop] === value;\n });\n }\n\n // use `find` + `indexOf` if `findIndex` isn't supported\n var match = find(arr, function (obj) {\n return obj[prop] === value;\n });\n return arr.indexOf(match);\n}\n\n/**\n * Loop trough the list of modifiers and run them in order,\n * each of them will then edit the data object.\n * @method\n * @memberof Popper.Utils\n * @param {dataObject} data\n * @param {Array} modifiers\n * @param {String} ends - Optional modifier name used as stopper\n * @returns {dataObject}\n */\nfunction runModifiers(modifiers, data, ends) {\n var modifiersToRun = ends === undefined ? modifiers : modifiers.slice(0, findIndex(modifiers, 'name', ends));\n\n modifiersToRun.forEach(function (modifier) {\n if (modifier['function']) {\n // eslint-disable-line dot-notation\n console.warn('`modifier.function` is deprecated, use `modifier.fn`!');\n }\n var fn = modifier['function'] || modifier.fn; // eslint-disable-line dot-notation\n if (modifier.enabled && isFunction(fn)) {\n // Add properties to offsets to make them a complete clientRect object\n // we do this before each modifier to make sure the previous one doesn't\n // mess with these values\n data.offsets.popper = getClientRect(data.offsets.popper);\n data.offsets.reference = getClientRect(data.offsets.reference);\n\n data = fn(data, modifier);\n }\n });\n\n return data;\n}\n\n/**\n * Updates the position of the popper, computing the new offsets and applying\n * the new style.<br />\n * Prefer `scheduleUpdate` over `update` because of performance reasons.\n * @method\n * @memberof Popper\n */\nfunction update() {\n // if popper is destroyed, don't perform any further update\n if (this.state.isDestroyed) {\n return;\n }\n\n var data = {\n instance: this,\n styles: {},\n arrowStyles: {},\n attributes: {},\n flipped: false,\n offsets: {}\n };\n\n // compute reference element offsets\n data.offsets.reference = getReferenceOffsets(this.state, this.popper, this.reference);\n\n // compute auto placement, store placement inside the data object,\n // modifiers will be able to edit `placement` if needed\n // and refer to originalPlacement to know the original value\n data.placement = computeAutoPlacement(this.options.placement, data.offsets.reference, this.popper, this.reference, this.options.modifiers.flip.boundariesElement, this.options.modifiers.flip.padding);\n\n // store the computed placement inside `originalPlacement`\n data.originalPlacement = data.placement;\n\n // compute the popper offsets\n data.offsets.popper = getPopperOffsets(this.popper, data.offsets.reference, data.placement);\n data.offsets.popper.position = 'absolute';\n\n // run the modifiers\n data = runModifiers(this.modifiers, data);\n\n // the first `update` will call `onCreate` callback\n // the other ones will call `onUpdate` callback\n if (!this.state.isCreated) {\n this.state.isCreated = true;\n this.options.onCreate(data);\n } else {\n this.options.onUpdate(data);\n }\n}\n\n/**\n * Helper used to know if the given modifier is enabled.\n * @method\n * @memberof Popper.Utils\n * @returns {Boolean}\n */\nfunction isModifierEnabled(modifiers, modifierName) {\n return modifiers.some(function (_ref) {\n var name = _ref.name,\n enabled = _ref.enabled;\n return enabled && name === modifierName;\n });\n}\n\n/**\n * Get the prefixed supported property name\n * @method\n * @memberof Popper.Utils\n * @argument {String} property (camelCase)\n * @returns {String} prefixed property (camelCase or PascalCase, depending on the vendor prefix)\n */\nfunction getSupportedPropertyName(property) {\n var prefixes = [false, 'ms', 'Webkit', 'Moz', 'O'];\n var upperProp = property.charAt(0).toUpperCase() + property.slice(1);\n\n for (var i = 0; i < prefixes.length - 1; i++) {\n var prefix = prefixes[i];\n var toCheck = prefix ? '' + prefix + upperProp : property;\n if (typeof document.body.style[toCheck] !== 'undefined') {\n return toCheck;\n }\n }\n return null;\n}\n\n/**\n * Destroy the popper\n * @method\n * @memberof Popper\n */\nfunction destroy() {\n this.state.isDestroyed = true;\n\n // touch DOM only if `applyStyle` modifier is enabled\n if (isModifierEnabled(this.modifiers, 'applyStyle')) {\n this.popper.removeAttribute('x-placement');\n this.popper.style.left = '';\n this.popper.style.position = '';\n this.popper.style.top = '';\n this.popper.style[getSupportedPropertyName('transform')] = '';\n }\n\n this.disableEventListeners();\n\n // remove the popper if user explicity asked for the deletion on destroy\n // do not use `remove` because IE11 doesn't support it\n if (this.options.removeOnDestroy) {\n this.popper.parentNode.removeChild(this.popper);\n }\n return this;\n}\n\n/**\n * Get the window associated with the element\n * @argument {Element} element\n * @returns {Window}\n */\nfunction getWindow(element) {\n var ownerDocument = element.ownerDocument;\n return ownerDocument ? ownerDocument.defaultView : window;\n}\n\nfunction attachToScrollParents(scrollParent, event, callback, scrollParents) {\n var isBody = scrollParent.nodeName === 'BODY';\n var target = isBody ? scrollParent.ownerDocument.defaultView : scrollParent;\n target.addEventListener(event, callback, { passive: true });\n\n if (!isBody) {\n attachToScrollParents(getScrollParent(target.parentNode), event, callback, scrollParents);\n }\n scrollParents.push(target);\n}\n\n/**\n * Setup needed event listeners used to update the popper position\n * @method\n * @memberof Popper.Utils\n * @private\n */\nfunction setupEventListeners(reference, options, state, updateBound) {\n // Resize event listener on window\n state.updateBound = updateBound;\n getWindow(reference).addEventListener('resize', state.updateBound, { passive: true });\n\n // Scroll event listener on scroll parents\n var scrollElement = getScrollParent(reference);\n attachToScrollParents(scrollElement, 'scroll', state.updateBound, state.scrollParents);\n state.scrollElement = scrollElement;\n state.eventsEnabled = true;\n\n return state;\n}\n\n/**\n * It will add resize/scroll events and start recalculating\n * position of the popper element when they are triggered.\n * @method\n * @memberof Popper\n */\nfunction enableEventListeners() {\n if (!this.state.eventsEnabled) {\n this.state = setupEventListeners(this.reference, this.options, this.state, this.scheduleUpdate);\n }\n}\n\n/**\n * Remove event listeners used to update the popper position\n * @method\n * @memberof Popper.Utils\n * @private\n */\nfunction removeEventListeners(reference, state) {\n // Remove resize event listener on window\n getWindow(reference).removeEventListener('resize', state.updateBound);\n\n // Remove scroll event listener on scroll parents\n state.scrollParents.forEach(function (target) {\n target.removeEventListener('scroll', state.updateBound);\n });\n\n // Reset state\n state.updateBound = null;\n state.scrollParents = [];\n state.scrollElement = null;\n state.eventsEnabled = false;\n return state;\n}\n\n/**\n * It will remove resize/scroll events and won't recalculate popper position\n * when they are triggered. It also won't trigger onUpdate callback anymore,\n * unless you call `update` method manually.\n * @method\n * @memberof Popper\n */\nfunction disableEventListeners() {\n if (this.state.eventsEnabled) {\n cancelAnimationFrame(this.scheduleUpdate);\n this.state = removeEventListeners(this.reference, this.state);\n }\n}\n\n/**\n * Tells if a given input is a number\n * @method\n * @memberof Popper.Utils\n * @param {*} input to check\n * @return {Boolean}\n */\nfunction isNumeric(n) {\n return n !== '' && !isNaN(parseFloat(n)) && isFinite(n);\n}\n\n/**\n * Set the style to the given popper\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element - Element to apply the style to\n * @argument {Object} styles\n * Object with a list of properties and values which will be applied to the element\n */\nfunction setStyles(element, styles) {\n Object.keys(styles).forEach(function (prop) {\n var unit = '';\n // add unit if the value is numeric and is one of the following\n if (['width', 'height', 'top', 'right', 'bottom', 'left'].indexOf(prop) !== -1 && isNumeric(styles[prop])) {\n unit = 'px';\n }\n element.style[prop] = styles[prop] + unit;\n });\n}\n\n/**\n * Set the attributes to the given popper\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element - Element to apply the attributes to\n * @argument {Object} styles\n * Object with a list of properties and values which will be applied to the element\n */\nfunction setAttributes(element, attributes) {\n Object.keys(attributes).forEach(function (prop) {\n var value = attributes[prop];\n if (value !== false) {\n element.setAttribute(prop, attributes[prop]);\n } else {\n element.removeAttribute(prop);\n }\n });\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} data.styles - List of style properties - values to apply to popper element\n * @argument {Object} data.attributes - List of attribute properties - values to apply to popper element\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The same data object\n */\nfunction applyStyle(data) {\n // any property present in `data.styles` will be applied to the popper,\n // in this way we can make the 3rd party modifiers add custom styles to it\n // Be aware, modifiers could override the properties defined in the previous\n // lines of this modifier!\n setStyles(data.instance.popper, data.styles);\n\n // any property present in `data.attributes` will be applied to the popper,\n // they will be set as HTML attributes of the element\n setAttributes(data.instance.popper, data.attributes);\n\n // if arrowElement is defined and arrowStyles has some properties\n if (data.arrowElement && Object.keys(data.arrowStyles).length) {\n setStyles(data.arrowElement, data.arrowStyles);\n }\n\n return data;\n}\n\n/**\n * Set the x-placement attribute before everything else because it could be used\n * to add margins to the popper margins needs to be calculated to get the\n * correct popper offsets.\n * @method\n * @memberof Popper.modifiers\n * @param {HTMLElement} reference - The reference element used to position the popper\n * @param {HTMLElement} popper - The HTML element used as popper.\n * @param {Object} options - Popper.js options\n */\nfunction applyStyleOnLoad(reference, popper, options, modifierOptions, state) {\n // compute reference element offsets\n var referenceOffsets = getReferenceOffsets(state, popper, reference);\n\n // compute auto placement, store placement inside the data object,\n // modifiers will be able to edit `placement` if needed\n // and refer to originalPlacement to know the original value\n var placement = computeAutoPlacement(options.placement, referenceOffsets, popper, reference, options.modifiers.flip.boundariesElement, options.modifiers.flip.padding);\n\n popper.setAttribute('x-placement', placement);\n\n // Apply `position` to popper before anything else because\n // without the position applied we can't guarantee correct computations\n setStyles(popper, { position: 'absolute' });\n\n return options;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction computeStyle(data, options) {\n var x = options.x,\n y = options.y;\n var popper = data.offsets.popper;\n\n // Remove this legacy support in Popper.js v2\n\n var legacyGpuAccelerationOption = find(data.instance.modifiers, function (modifier) {\n return modifier.name === 'applyStyle';\n }).gpuAcceleration;\n if (legacyGpuAccelerationOption !== undefined) {\n console.warn('WARNING: `gpuAcceleration` option moved to `computeStyle` modifier and will not be supported in future versions of Popper.js!');\n }\n var gpuAcceleration = legacyGpuAccelerationOption !== undefined ? legacyGpuAccelerationOption : options.gpuAcceleration;\n\n var offsetParent = getOffsetParent(data.instance.popper);\n var offsetParentRect = getBoundingClientRect(offsetParent);\n\n // Styles\n var styles = {\n position: popper.position\n };\n\n // floor sides to avoid blurry text\n var offsets = {\n left: Math.floor(popper.left),\n top: Math.floor(popper.top),\n bottom: Math.floor(popper.bottom),\n right: Math.floor(popper.right)\n };\n\n var sideA = x === 'bottom' ? 'top' : 'bottom';\n var sideB = y === 'right' ? 'left' : 'right';\n\n // if gpuAcceleration is set to `true` and transform is supported,\n // we use `translate3d` to apply the position to the popper we\n // automatically use the supported prefixed version if needed\n var prefixedProperty = getSupportedPropertyName('transform');\n\n // now, let's make a step back and look at this code closely (wtf?)\n // If the content of the popper grows once it's been positioned, it\n // may happen that the popper gets misplaced because of the new content\n // overflowing its reference element\n // To avoid this problem, we provide two options (x and y), which allow\n // the consumer to define the offset origin.\n // If we position a popper on top of a reference element, we can set\n // `x` to `top` to make the popper grow towards its top instead of\n // its bottom.\n var left = void 0,\n top = void 0;\n if (sideA === 'bottom') {\n top = -offsetParentRect.height + offsets.bottom;\n } else {\n top = offsets.top;\n }\n if (sideB === 'right') {\n left = -offsetParentRect.width + offsets.right;\n } else {\n left = offsets.left;\n }\n if (gpuAcceleration && prefixedProperty) {\n styles[prefixedProperty] = 'translate3d(' + left + 'px, ' + top + 'px, 0)';\n styles[sideA] = 0;\n styles[sideB] = 0;\n styles.willChange = 'transform';\n } else {\n // othwerise, we use the standard `top`, `left`, `bottom` and `right` properties\n var invertTop = sideA === 'bottom' ? -1 : 1;\n var invertLeft = sideB === 'right' ? -1 : 1;\n styles[sideA] = top * invertTop;\n styles[sideB] = left * invertLeft;\n styles.willChange = sideA + ', ' + sideB;\n }\n\n // Attributes\n var attributes = {\n 'x-placement': data.placement\n };\n\n // Update `data` attributes, styles and arrowStyles\n data.attributes = _extends({}, attributes, data.attributes);\n data.styles = _extends({}, styles, data.styles);\n data.arrowStyles = _extends({}, data.offsets.arrow, data.arrowStyles);\n\n return data;\n}\n\n/**\n * Helper used to know if the given modifier depends from another one.<br />\n * It checks if the needed modifier is listed and enabled.\n * @method\n * @memberof Popper.Utils\n * @param {Array} modifiers - list of modifiers\n * @param {String} requestingName - name of requesting modifier\n * @param {String} requestedName - name of requested modifier\n * @returns {Boolean}\n */\nfunction isModifierRequired(modifiers, requestingName, requestedName) {\n var requesting = find(modifiers, function (_ref) {\n var name = _ref.name;\n return name === requestingName;\n });\n\n var isRequired = !!requesting && modifiers.some(function (modifier) {\n return modifier.name === requestedName && modifier.enabled && modifier.order < requesting.order;\n });\n\n if (!isRequired) {\n var _requesting = '`' + requestingName + '`';\n var requested = '`' + requestedName + '`';\n console.warn(requested + ' modifier is required by ' + _requesting + ' modifier in order to work, be sure to include it before ' + _requesting + '!');\n }\n return isRequired;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction arrow(data, options) {\n var _data$offsets$arrow;\n\n // arrow depends on keepTogether in order to work\n if (!isModifierRequired(data.instance.modifiers, 'arrow', 'keepTogether')) {\n return data;\n }\n\n var arrowElement = options.element;\n\n // if arrowElement is a string, suppose it's a CSS selector\n if (typeof arrowElement === 'string') {\n arrowElement = data.instance.popper.querySelector(arrowElement);\n\n // if arrowElement is not found, don't run the modifier\n if (!arrowElement) {\n return data;\n }\n } else {\n // if the arrowElement isn't a query selector we must check that the\n // provided DOM node is child of its popper node\n if (!data.instance.popper.contains(arrowElement)) {\n console.warn('WARNING: `arrow.element` must be child of its popper element!');\n return data;\n }\n }\n\n var placement = data.placement.split('-')[0];\n var _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n\n var isVertical = ['left', 'right'].indexOf(placement) !== -1;\n\n var len = isVertical ? 'height' : 'width';\n var sideCapitalized = isVertical ? 'Top' : 'Left';\n var side = sideCapitalized.toLowerCase();\n var altSide = isVertical ? 'left' : 'top';\n var opSide = isVertical ? 'bottom' : 'right';\n var arrowElementSize = getOuterSizes(arrowElement)[len];\n\n //\n // extends keepTogether behavior making sure the popper and its\n // reference have enough pixels in conjuction\n //\n\n // top/left side\n if (reference[opSide] - arrowElementSize < popper[side]) {\n data.offsets.popper[side] -= popper[side] - (reference[opSide] - arrowElementSize);\n }\n // bottom/right side\n if (reference[side] + arrowElementSize > popper[opSide]) {\n data.offsets.popper[side] += reference[side] + arrowElementSize - popper[opSide];\n }\n data.offsets.popper = getClientRect(data.offsets.popper);\n\n // compute center of the popper\n var center = reference[side] + reference[len] / 2 - arrowElementSize / 2;\n\n // Compute the sideValue using the updated popper offsets\n // take popper margin in account because we don't have this info available\n var css = getStyleComputedProperty(data.instance.popper);\n var popperMarginSide = parseFloat(css['margin' + sideCapitalized], 10);\n var popperBorderSide = parseFloat(css['border' + sideCapitalized + 'Width'], 10);\n var sideValue = center - data.offsets.popper[side] - popperMarginSide - popperBorderSide;\n\n // prevent arrowElement from being placed not contiguously to its popper\n sideValue = Math.max(Math.min(popper[len] - arrowElementSize, sideValue), 0);\n\n data.arrowElement = arrowElement;\n data.offsets.arrow = (_data$offsets$arrow = {}, defineProperty(_data$offsets$arrow, side, Math.round(sideValue)), defineProperty(_data$offsets$arrow, altSide, ''), _data$offsets$arrow);\n\n return data;\n}\n\n/**\n * Get the opposite placement variation of the given one\n * @method\n * @memberof Popper.Utils\n * @argument {String} placement variation\n * @returns {String} flipped placement variation\n */\nfunction getOppositeVariation(variation) {\n if (variation === 'end') {\n return 'start';\n } else if (variation === 'start') {\n return 'end';\n }\n return variation;\n}\n\n/**\n * List of accepted placements to use as values of the `placement` option.<br />\n * Valid placements are:\n * - `auto`\n * - `top`\n * - `right`\n * - `bottom`\n * - `left`\n *\n * Each placement can have a variation from this list:\n * - `-start`\n * - `-end`\n *\n * Variations are interpreted easily if you think of them as the left to right\n * written languages. Horizontally (`top` and `bottom`), `start` is left and `end`\n * is right.<br />\n * Vertically (`left` and `right`), `start` is top and `end` is bottom.\n *\n * Some valid examples are:\n * - `top-end` (on top of reference, right aligned)\n * - `right-start` (on right of reference, top aligned)\n * - `bottom` (on bottom, centered)\n * - `auto-right` (on the side with more space available, alignment depends by placement)\n *\n * @static\n * @type {Array}\n * @enum {String}\n * @readonly\n * @method placements\n * @memberof Popper\n */\nvar placements = ['auto-start', 'auto', 'auto-end', 'top-start', 'top', 'top-end', 'right-start', 'right', 'right-end', 'bottom-end', 'bottom', 'bottom-start', 'left-end', 'left', 'left-start'];\n\n// Get rid of `auto` `auto-start` and `auto-end`\nvar validPlacements = placements.slice(3);\n\n/**\n * Given an initial placement, returns all the subsequent placements\n * clockwise (or counter-clockwise).\n *\n * @method\n * @memberof Popper.Utils\n * @argument {String} placement - A valid placement (it accepts variations)\n * @argument {Boolean} counter - Set to true to walk the placements counterclockwise\n * @returns {Array} placements including their variations\n */\nfunction clockwise(placement) {\n var counter = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n var index = validPlacements.indexOf(placement);\n var arr = validPlacements.slice(index + 1).concat(validPlacements.slice(0, index));\n return counter ? arr.reverse() : arr;\n}\n\nvar BEHAVIORS = {\n FLIP: 'flip',\n CLOCKWISE: 'clockwise',\n COUNTERCLOCKWISE: 'counterclockwise'\n};\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction flip(data, options) {\n // if `inner` modifier is enabled, we can't use the `flip` modifier\n if (isModifierEnabled(data.instance.modifiers, 'inner')) {\n return data;\n }\n\n if (data.flipped && data.placement === data.originalPlacement) {\n // seems like flip is trying to loop, probably there's not enough space on any of the flippable sides\n return data;\n }\n\n var boundaries = getBoundaries(data.instance.popper, data.instance.reference, options.padding, options.boundariesElement);\n\n var placement = data.placement.split('-')[0];\n var placementOpposite = getOppositePlacement(placement);\n var variation = data.placement.split('-')[1] || '';\n\n var flipOrder = [];\n\n switch (options.behavior) {\n case BEHAVIORS.FLIP:\n flipOrder = [placement, placementOpposite];\n break;\n case BEHAVIORS.CLOCKWISE:\n flipOrder = clockwise(placement);\n break;\n case BEHAVIORS.COUNTERCLOCKWISE:\n flipOrder = clockwise(placement, true);\n break;\n default:\n flipOrder = options.behavior;\n }\n\n flipOrder.forEach(function (step, index) {\n if (placement !== step || flipOrder.length === index + 1) {\n return data;\n }\n\n placement = data.placement.split('-')[0];\n placementOpposite = getOppositePlacement(placement);\n\n var popperOffsets = data.offsets.popper;\n var refOffsets = data.offsets.reference;\n\n // using floor because the reference offsets may contain decimals we are not going to consider here\n var floor = Math.floor;\n var overlapsRef = placement === 'left' && floor(popperOffsets.right) > floor(refOffsets.left) || placement === 'right' && floor(popperOffsets.left) < floor(refOffsets.right) || placement === 'top' && floor(popperOffsets.bottom) > floor(refOffsets.top) || placement === 'bottom' && floor(popperOffsets.top) < floor(refOffsets.bottom);\n\n var overflowsLeft = floor(popperOffsets.left) < floor(boundaries.left);\n var overflowsRight = floor(popperOffsets.right) > floor(boundaries.right);\n var overflowsTop = floor(popperOffsets.top) < floor(boundaries.top);\n var overflowsBottom = floor(popperOffsets.bottom) > floor(boundaries.bottom);\n\n var overflowsBoundaries = placement === 'left' && overflowsLeft || placement === 'right' && overflowsRight || placement === 'top' && overflowsTop || placement === 'bottom' && overflowsBottom;\n\n // flip the variation if required\n var isVertical = ['top', 'bottom'].indexOf(placement) !== -1;\n var flippedVariation = !!options.flipVariations && (isVertical && variation === 'start' && overflowsLeft || isVertical && variation === 'end' && overflowsRight || !isVertical && variation === 'start' && overflowsTop || !isVertical && variation === 'end' && overflowsBottom);\n\n if (overlapsRef || overflowsBoundaries || flippedVariation) {\n // this boolean to detect any flip loop\n data.flipped = true;\n\n if (overlapsRef || overflowsBoundaries) {\n placement = flipOrder[index + 1];\n }\n\n if (flippedVariation) {\n variation = getOppositeVariation(variation);\n }\n\n data.placement = placement + (variation ? '-' + variation : '');\n\n // this object contains `position`, we want to preserve it along with\n // any additional property we may add in the future\n data.offsets.popper = _extends({}, data.offsets.popper, getPopperOffsets(data.instance.popper, data.offsets.reference, data.placement));\n\n data = runModifiers(data.instance.modifiers, data, 'flip');\n }\n });\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction keepTogether(data) {\n var _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n\n var placement = data.placement.split('-')[0];\n var floor = Math.floor;\n var isVertical = ['top', 'bottom'].indexOf(placement) !== -1;\n var side = isVertical ? 'right' : 'bottom';\n var opSide = isVertical ? 'left' : 'top';\n var measurement = isVertical ? 'width' : 'height';\n\n if (popper[side] < floor(reference[opSide])) {\n data.offsets.popper[opSide] = floor(reference[opSide]) - popper[measurement];\n }\n if (popper[opSide] > floor(reference[side])) {\n data.offsets.popper[opSide] = floor(reference[side]);\n }\n\n return data;\n}\n\n/**\n * Converts a string containing value + unit into a px value number\n * @function\n * @memberof {modifiers~offset}\n * @private\n * @argument {String} str - Value + unit string\n * @argument {String} measurement - `height` or `width`\n * @argument {Object} popperOffsets\n * @argument {Object} referenceOffsets\n * @returns {Number|String}\n * Value in pixels, or original string if no values were extracted\n */\nfunction toValue(str, measurement, popperOffsets, referenceOffsets) {\n // separate value from unit\n var split = str.match(/((?:\\-|\\+)?\\d*\\.?\\d*)(.*)/);\n var value = +split[1];\n var unit = split[2];\n\n // If it's not a number it's an operator, I guess\n if (!value) {\n return str;\n }\n\n if (unit.indexOf('%') === 0) {\n var element = void 0;\n switch (unit) {\n case '%p':\n element = popperOffsets;\n break;\n case '%':\n case '%r':\n default:\n element = referenceOffsets;\n }\n\n var rect = getClientRect(element);\n return rect[measurement] / 100 * value;\n } else if (unit === 'vh' || unit === 'vw') {\n // if is a vh or vw, we calculate the size based on the viewport\n var size = void 0;\n if (unit === 'vh') {\n size = Math.max(document.documentElement.clientHeight, window.innerHeight || 0);\n } else {\n size = Math.max(document.documentElement.clientWidth, window.innerWidth || 0);\n }\n return size / 100 * value;\n } else {\n // if is an explicit pixel unit, we get rid of the unit and keep the value\n // if is an implicit unit, it's px, and we return just the value\n return value;\n }\n}\n\n/**\n * Parse an `offset` string to extrapolate `x` and `y` numeric offsets.\n * @function\n * @memberof {modifiers~offset}\n * @private\n * @argument {String} offset\n * @argument {Object} popperOffsets\n * @argument {Object} referenceOffsets\n * @argument {String} basePlacement\n * @returns {Array} a two cells array with x and y offsets in numbers\n */\nfunction parseOffset(offset, popperOffsets, referenceOffsets, basePlacement) {\n var offsets = [0, 0];\n\n // Use height if placement is left or right and index is 0 otherwise use width\n // in this way the first offset will use an axis and the second one\n // will use the other one\n var useHeight = ['right', 'left'].indexOf(basePlacement) !== -1;\n\n // Split the offset string to obtain a list of values and operands\n // The regex addresses values with the plus or minus sign in front (+10, -20, etc)\n var fragments = offset.split(/(\\+|\\-)/).map(function (frag) {\n return frag.trim();\n });\n\n // Detect if the offset string contains a pair of values or a single one\n // they could be separated by comma or space\n var divider = fragments.indexOf(find(fragments, function (frag) {\n return frag.search(/,|\\s/) !== -1;\n }));\n\n if (fragments[divider] && fragments[divider].indexOf(',') === -1) {\n console.warn('Offsets separated by white space(s) are deprecated, use a comma (,) instead.');\n }\n\n // If divider is found, we divide the list of values and operands to divide\n // them by ofset X and Y.\n var splitRegex = /\\s*,\\s*|\\s+/;\n var ops = divider !== -1 ? [fragments.slice(0, divider).concat([fragments[divider].split(splitRegex)[0]]), [fragments[divider].split(splitRegex)[1]].concat(fragments.slice(divider + 1))] : [fragments];\n\n // Convert the values with units to absolute pixels to allow our computations\n ops = ops.map(function (op, index) {\n // Most of the units rely on the orientation of the popper\n var measurement = (index === 1 ? !useHeight : useHeight) ? 'height' : 'width';\n var mergeWithPrevious = false;\n return op\n // This aggregates any `+` or `-` sign that aren't considered operators\n // e.g.: 10 + +5 => [10, +, +5]\n .reduce(function (a, b) {\n if (a[a.length - 1] === '' && ['+', '-'].indexOf(b) !== -1) {\n a[a.length - 1] = b;\n mergeWithPrevious = true;\n return a;\n } else if (mergeWithPrevious) {\n a[a.length - 1] += b;\n mergeWithPrevious = false;\n return a;\n } else {\n return a.concat(b);\n }\n }, [])\n // Here we convert the string values into number values (in px)\n .map(function (str) {\n return toValue(str, measurement, popperOffsets, referenceOffsets);\n });\n });\n\n // Loop trough the offsets arrays and execute the operations\n ops.forEach(function (op, index) {\n op.forEach(function (frag, index2) {\n if (isNumeric(frag)) {\n offsets[index] += frag * (op[index2 - 1] === '-' ? -1 : 1);\n }\n });\n });\n return offsets;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @argument {Number|String} options.offset=0\n * The offset value as described in the modifier description\n * @returns {Object} The data object, properly modified\n */\nfunction offset(data, _ref) {\n var offset = _ref.offset;\n var placement = data.placement,\n _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n\n var basePlacement = placement.split('-')[0];\n\n var offsets = void 0;\n if (isNumeric(+offset)) {\n offsets = [+offset, 0];\n } else {\n offsets = parseOffset(offset, popper, reference, basePlacement);\n }\n\n if (basePlacement === 'left') {\n popper.top += offsets[0];\n popper.left -= offsets[1];\n } else if (basePlacement === 'right') {\n popper.top += offsets[0];\n popper.left += offsets[1];\n } else if (basePlacement === 'top') {\n popper.left += offsets[0];\n popper.top -= offsets[1];\n } else if (basePlacement === 'bottom') {\n popper.left += offsets[0];\n popper.top += offsets[1];\n }\n\n data.popper = popper;\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction preventOverflow(data, options) {\n var boundariesElement = options.boundariesElement || getOffsetParent(data.instance.popper);\n\n // If offsetParent is the reference element, we really want to\n // go one step up and use the next offsetParent as reference to\n // avoid to make this modifier completely useless and look like broken\n if (data.instance.reference === boundariesElement) {\n boundariesElement = getOffsetParent(boundariesElement);\n }\n\n var boundaries = getBoundaries(data.instance.popper, data.instance.reference, options.padding, boundariesElement);\n options.boundaries = boundaries;\n\n var order = options.priority;\n var popper = data.offsets.popper;\n\n var check = {\n primary: function primary(placement) {\n var value = popper[placement];\n if (popper[placement] < boundaries[placement] && !options.escapeWithReference) {\n value = Math.max(popper[placement], boundaries[placement]);\n }\n return defineProperty({}, placement, value);\n },\n secondary: function secondary(placement) {\n var mainSide = placement === 'right' ? 'left' : 'top';\n var value = popper[mainSide];\n if (popper[placement] > boundaries[placement] && !options.escapeWithReference) {\n value = Math.min(popper[mainSide], boundaries[placement] - (placement === 'right' ? popper.width : popper.height));\n }\n return defineProperty({}, mainSide, value);\n }\n };\n\n order.forEach(function (placement) {\n var side = ['left', 'top'].indexOf(placement) !== -1 ? 'primary' : 'secondary';\n popper = _extends({}, popper, check[side](placement));\n });\n\n data.offsets.popper = popper;\n\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction shift(data) {\n var placement = data.placement;\n var basePlacement = placement.split('-')[0];\n var shiftvariation = placement.split('-')[1];\n\n // if shift shiftvariation is specified, run the modifier\n if (shiftvariation) {\n var _data$offsets = data.offsets,\n reference = _data$offsets.reference,\n popper = _data$offsets.popper;\n\n var isVertical = ['bottom', 'top'].indexOf(basePlacement) !== -1;\n var side = isVertical ? 'left' : 'top';\n var measurement = isVertical ? 'width' : 'height';\n\n var shiftOffsets = {\n start: defineProperty({}, side, reference[side]),\n end: defineProperty({}, side, reference[side] + reference[measurement] - popper[measurement])\n };\n\n data.offsets.popper = _extends({}, popper, shiftOffsets[shiftvariation]);\n }\n\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction hide(data) {\n if (!isModifierRequired(data.instance.modifiers, 'hide', 'preventOverflow')) {\n return data;\n }\n\n var refRect = data.offsets.reference;\n var bound = find(data.instance.modifiers, function (modifier) {\n return modifier.name === 'preventOverflow';\n }).boundaries;\n\n if (refRect.bottom < bound.top || refRect.left > bound.right || refRect.top > bound.bottom || refRect.right < bound.left) {\n // Avoid unnecessary DOM access if visibility hasn't changed\n if (data.hide === true) {\n return data;\n }\n\n data.hide = true;\n data.attributes['x-out-of-boundaries'] = '';\n } else {\n // Avoid unnecessary DOM access if visibility hasn't changed\n if (data.hide === false) {\n return data;\n }\n\n data.hide = false;\n data.attributes['x-out-of-boundaries'] = false;\n }\n\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction inner(data) {\n var placement = data.placement;\n var basePlacement = placement.split('-')[0];\n var _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n\n var isHoriz = ['left', 'right'].indexOf(basePlacement) !== -1;\n\n var subtractLength = ['top', 'left'].indexOf(basePlacement) === -1;\n\n popper[isHoriz ? 'left' : 'top'] = reference[basePlacement] - (subtractLength ? popper[isHoriz ? 'width' : 'height'] : 0);\n\n data.placement = getOppositePlacement(placement);\n data.offsets.popper = getClientRect(popper);\n\n return data;\n}\n\n/**\n * Modifier function, each modifier can have a function of this type assigned\n * to its `fn` property.<br />\n * These functions will be called on each update, this means that you must\n * make sure they are performant enough to avoid performance bottlenecks.\n *\n * @function ModifierFn\n * @argument {dataObject} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {dataObject} The data object, properly modified\n */\n\n/**\n * Modifiers are plugins used to alter the behavior of your poppers.<br />\n * Popper.js uses a set of 9 modifiers to provide all the basic functionalities\n * needed by the library.\n *\n * Usually you don't want to override the `order`, `fn` and `onLoad` props.\n * All the other properties are configurations that could be tweaked.\n * @namespace modifiers\n */\nvar modifiers = {\n /**\n * Modifier used to shift the popper on the start or end of its reference\n * element.<br />\n * It will read the variation of the `placement` property.<br />\n * It can be one either `-end` or `-start`.\n * @memberof modifiers\n * @inner\n */\n shift: {\n /** @prop {number} order=100 - Index used to define the order of execution */\n order: 100,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: shift\n },\n\n /**\n * The `offset` modifier can shift your popper on both its axis.\n *\n * It accepts the following units:\n * - `px` or unitless, interpreted as pixels\n * - `%` or `%r`, percentage relative to the length of the reference element\n * - `%p`, percentage relative to the length of the popper element\n * - `vw`, CSS viewport width unit\n * - `vh`, CSS viewport height unit\n *\n * For length is intended the main axis relative to the placement of the popper.<br />\n * This means that if the placement is `top` or `bottom`, the length will be the\n * `width`. In case of `left` or `right`, it will be the height.\n *\n * You can provide a single value (as `Number` or `String`), or a pair of values\n * as `String` divided by a comma or one (or more) white spaces.<br />\n * The latter is a deprecated method because it leads to confusion and will be\n * removed in v2.<br />\n * Additionally, it accepts additions and subtractions between different units.\n * Note that multiplications and divisions aren't supported.\n *\n * Valid examples are:\n * ```\n * 10\n * '10%'\n * '10, 10'\n * '10%, 10'\n * '10 + 10%'\n * '10 - 5vh + 3%'\n * '-10px + 5vh, 5px - 6%'\n * ```\n * > **NB**: If you desire to apply offsets to your poppers in a way that may make them overlap\n * > with their reference element, unfortunately, you will have to disable the `flip` modifier.\n * > More on this [reading this issue](https://github.com/FezVrasta/popper.js/issues/373)\n *\n * @memberof modifiers\n * @inner\n */\n offset: {\n /** @prop {number} order=200 - Index used to define the order of execution */\n order: 200,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: offset,\n /** @prop {Number|String} offset=0\n * The offset value as described in the modifier description\n */\n offset: 0\n },\n\n /**\n * Modifier used to prevent the popper from being positioned outside the boundary.\n *\n * An scenario exists where the reference itself is not within the boundaries.<br />\n * We can say it has \"escaped the boundaries\" — or just \"escaped\".<br />\n * In this case we need to decide whether the popper should either:\n *\n * - detach from the reference and remain \"trapped\" in the boundaries, or\n * - if it should ignore the boundary and \"escape with its reference\"\n *\n * When `escapeWithReference` is set to`true` and reference is completely\n * outside its boundaries, the popper will overflow (or completely leave)\n * the boundaries in order to remain attached to the edge of the reference.\n *\n * @memberof modifiers\n * @inner\n */\n preventOverflow: {\n /** @prop {number} order=300 - Index used to define the order of execution */\n order: 300,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: preventOverflow,\n /**\n * @prop {Array} [priority=['left','right','top','bottom']]\n * Popper will try to prevent overflow following these priorities by default,\n * then, it could overflow on the left and on top of the `boundariesElement`\n */\n priority: ['left', 'right', 'top', 'bottom'],\n /**\n * @prop {number} padding=5\n * Amount of pixel used to define a minimum distance between the boundaries\n * and the popper this makes sure the popper has always a little padding\n * between the edges of its container\n */\n padding: 5,\n /**\n * @prop {String|HTMLElement} boundariesElement='scrollParent'\n * Boundaries used by the modifier, can be `scrollParent`, `window`,\n * `viewport` or any DOM element.\n */\n boundariesElement: 'scrollParent'\n },\n\n /**\n * Modifier used to make sure the reference and its popper stay near eachothers\n * without leaving any gap between the two. Expecially useful when the arrow is\n * enabled and you want to assure it to point to its reference element.\n * It cares only about the first axis, you can still have poppers with margin\n * between the popper and its reference element.\n * @memberof modifiers\n * @inner\n */\n keepTogether: {\n /** @prop {number} order=400 - Index used to define the order of execution */\n order: 400,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: keepTogether\n },\n\n /**\n * This modifier is used to move the `arrowElement` of the popper to make\n * sure it is positioned between the reference element and its popper element.\n * It will read the outer size of the `arrowElement` node to detect how many\n * pixels of conjuction are needed.\n *\n * It has no effect if no `arrowElement` is provided.\n * @memberof modifiers\n * @inner\n */\n arrow: {\n /** @prop {number} order=500 - Index used to define the order of execution */\n order: 500,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: arrow,\n /** @prop {String|HTMLElement} element='[x-arrow]' - Selector or node used as arrow */\n element: '[x-arrow]'\n },\n\n /**\n * Modifier used to flip the popper's placement when it starts to overlap its\n * reference element.\n *\n * Requires the `preventOverflow` modifier before it in order to work.\n *\n * **NOTE:** this modifier will interrupt the current update cycle and will\n * restart it if it detects the need to flip the placement.\n * @memberof modifiers\n * @inner\n */\n flip: {\n /** @prop {number} order=600 - Index used to define the order of execution */\n order: 600,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: flip,\n /**\n * @prop {String|Array} behavior='flip'\n * The behavior used to change the popper's placement. It can be one of\n * `flip`, `clockwise`, `counterclockwise` or an array with a list of valid\n * placements (with optional variations).\n */\n behavior: 'flip',\n /**\n * @prop {number} padding=5\n * The popper will flip if it hits the edges of the `boundariesElement`\n */\n padding: 5,\n /**\n * @prop {String|HTMLElement} boundariesElement='viewport'\n * The element which will define the boundaries of the popper position,\n * the popper will never be placed outside of the defined boundaries\n * (except if keepTogether is enabled)\n */\n boundariesElement: 'viewport'\n },\n\n /**\n * Modifier used to make the popper flow toward the inner of the reference element.\n * By default, when this modifier is disabled, the popper will be placed outside\n * the reference element.\n * @memberof modifiers\n * @inner\n */\n inner: {\n /** @prop {number} order=700 - Index used to define the order of execution */\n order: 700,\n /** @prop {Boolean} enabled=false - Whether the modifier is enabled or not */\n enabled: false,\n /** @prop {ModifierFn} */\n fn: inner\n },\n\n /**\n * Modifier used to hide the popper when its reference element is outside of the\n * popper boundaries. It will set a `x-out-of-boundaries` attribute which can\n * be used to hide with a CSS selector the popper when its reference is\n * out of boundaries.\n *\n * Requires the `preventOverflow` modifier before it in order to work.\n * @memberof modifiers\n * @inner\n */\n hide: {\n /** @prop {number} order=800 - Index used to define the order of execution */\n order: 800,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: hide\n },\n\n /**\n * Computes the style that will be applied to the popper element to gets\n * properly positioned.\n *\n * Note that this modifier will not touch the DOM, it just prepares the styles\n * so that `applyStyle` modifier can apply it. This separation is useful\n * in case you need to replace `applyStyle` with a custom implementation.\n *\n * This modifier has `850` as `order` value to maintain backward compatibility\n * with previous versions of Popper.js. Expect the modifiers ordering method\n * to change in future major versions of the library.\n *\n * @memberof modifiers\n * @inner\n */\n computeStyle: {\n /** @prop {number} order=850 - Index used to define the order of execution */\n order: 850,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: computeStyle,\n /**\n * @prop {Boolean} gpuAcceleration=true\n * If true, it uses the CSS 3d transformation to position the popper.\n * Otherwise, it will use the `top` and `left` properties.\n */\n gpuAcceleration: true,\n /**\n * @prop {string} [x='bottom']\n * Where to anchor the X axis (`bottom` or `top`). AKA X offset origin.\n * Change this if your popper should grow in a direction different from `bottom`\n */\n x: 'bottom',\n /**\n * @prop {string} [x='left']\n * Where to anchor the Y axis (`left` or `right`). AKA Y offset origin.\n * Change this if your popper should grow in a direction different from `right`\n */\n y: 'right'\n },\n\n /**\n * Applies the computed styles to the popper element.\n *\n * All the DOM manipulations are limited to this modifier. This is useful in case\n * you want to integrate Popper.js inside a framework or view library and you\n * want to delegate all the DOM manipulations to it.\n *\n * Note that if you disable this modifier, you must make sure the popper element\n * has its position set to `absolute` before Popper.js can do its work!\n *\n * Just disable this modifier and define you own to achieve the desired effect.\n *\n * @memberof modifiers\n * @inner\n */\n applyStyle: {\n /** @prop {number} order=900 - Index used to define the order of execution */\n order: 900,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: applyStyle,\n /** @prop {Function} */\n onLoad: applyStyleOnLoad,\n /**\n * @deprecated since version 1.10.0, the property moved to `computeStyle` modifier\n * @prop {Boolean} gpuAcceleration=true\n * If true, it uses the CSS 3d transformation to position the popper.\n * Otherwise, it will use the `top` and `left` properties.\n */\n gpuAcceleration: undefined\n }\n};\n\n/**\n * The `dataObject` is an object containing all the informations used by Popper.js\n * this object get passed to modifiers and to the `onCreate` and `onUpdate` callbacks.\n * @name dataObject\n * @property {Object} data.instance The Popper.js instance\n * @property {String} data.placement Placement applied to popper\n * @property {String} data.originalPlacement Placement originally defined on init\n * @property {Boolean} data.flipped True if popper has been flipped by flip modifier\n * @property {Boolean} data.hide True if the reference element is out of boundaries, useful to know when to hide the popper.\n * @property {HTMLElement} data.arrowElement Node used as arrow by arrow modifier\n * @property {Object} data.styles Any CSS property defined here will be applied to the popper, it expects the JavaScript nomenclature (eg. `marginBottom`)\n * @property {Object} data.arrowStyles Any CSS property defined here will be applied to the popper arrow, it expects the JavaScript nomenclature (eg. `marginBottom`)\n * @property {Object} data.boundaries Offsets of the popper boundaries\n * @property {Object} data.offsets The measurements of popper, reference and arrow elements.\n * @property {Object} data.offsets.popper `top`, `left`, `width`, `height` values\n * @property {Object} data.offsets.reference `top`, `left`, `width`, `height` values\n * @property {Object} data.offsets.arrow] `top` and `left` offsets, only one of them will be different from 0\n */\n\n/**\n * Default options provided to Popper.js constructor.<br />\n * These can be overriden using the `options` argument of Popper.js.<br />\n * To override an option, simply pass as 3rd argument an object with the same\n * structure of this object, example:\n * ```\n * new Popper(ref, pop, {\n * modifiers: {\n * preventOverflow: { enabled: false }\n * }\n * })\n * ```\n * @type {Object}\n * @static\n * @memberof Popper\n */\nvar Defaults = {\n /**\n * Popper's placement\n * @prop {Popper.placements} placement='bottom'\n */\n placement: 'bottom',\n\n /**\n * Whether events (resize, scroll) are initially enabled\n * @prop {Boolean} eventsEnabled=true\n */\n eventsEnabled: true,\n\n /**\n * Set to true if you want to automatically remove the popper when\n * you call the `destroy` method.\n * @prop {Boolean} removeOnDestroy=false\n */\n removeOnDestroy: false,\n\n /**\n * Callback called when the popper is created.<br />\n * By default, is set to no-op.<br />\n * Access Popper.js instance with `data.instance`.\n * @prop {onCreate}\n */\n onCreate: function onCreate() {},\n\n /**\n * Callback called when the popper is updated, this callback is not called\n * on the initialization/creation of the popper, but only on subsequent\n * updates.<br />\n * By default, is set to no-op.<br />\n * Access Popper.js instance with `data.instance`.\n * @prop {onUpdate}\n */\n onUpdate: function onUpdate() {},\n\n /**\n * List of modifiers used to modify the offsets before they are applied to the popper.\n * They provide most of the functionalities of Popper.js\n * @prop {modifiers}\n */\n modifiers: modifiers\n};\n\n/**\n * @callback onCreate\n * @param {dataObject} data\n */\n\n/**\n * @callback onUpdate\n * @param {dataObject} data\n */\n\n// Utils\n// Methods\nvar Popper = function () {\n /**\n * Create a new Popper.js instance\n * @class Popper\n * @param {HTMLElement|referenceObject} reference - The reference element used to position the popper\n * @param {HTMLElement} popper - The HTML element used as popper.\n * @param {Object} options - Your custom options to override the ones defined in [Defaults](#defaults)\n * @return {Object} instance - The generated Popper.js instance\n */\n function Popper(reference, popper) {\n var _this = this;\n\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n classCallCheck(this, Popper);\n\n this.scheduleUpdate = function () {\n return requestAnimationFrame(_this.update);\n };\n\n // make update() debounced, so that it only runs at most once-per-tick\n this.update = debounce(this.update.bind(this));\n\n // with {} we create a new object with the options inside it\n this.options = _extends({}, Popper.Defaults, options);\n\n // init state\n this.state = {\n isDestroyed: false,\n isCreated: false,\n scrollParents: []\n };\n\n // get reference and popper elements (allow jQuery wrappers)\n this.reference = reference && reference.jquery ? reference[0] : reference;\n this.popper = popper && popper.jquery ? popper[0] : popper;\n\n // Deep merge modifiers options\n this.options.modifiers = {};\n Object.keys(_extends({}, Popper.Defaults.modifiers, options.modifiers)).forEach(function (name) {\n _this.options.modifiers[name] = _extends({}, Popper.Defaults.modifiers[name] || {}, options.modifiers ? options.modifiers[name] : {});\n });\n\n // Refactoring modifiers' list (Object => Array)\n this.modifiers = Object.keys(this.options.modifiers).map(function (name) {\n return _extends({\n name: name\n }, _this.options.modifiers[name]);\n })\n // sort the modifiers by order\n .sort(function (a, b) {\n return a.order - b.order;\n });\n\n // modifiers have the ability to execute arbitrary code when Popper.js get inited\n // such code is executed in the same order of its modifier\n // they could add new properties to their options configuration\n // BE AWARE: don't add options to `options.modifiers.name` but to `modifierOptions`!\n this.modifiers.forEach(function (modifierOptions) {\n if (modifierOptions.enabled && isFunction(modifierOptions.onLoad)) {\n modifierOptions.onLoad(_this.reference, _this.popper, _this.options, modifierOptions, _this.state);\n }\n });\n\n // fire the first update to position the popper in the right place\n this.update();\n\n var eventsEnabled = this.options.eventsEnabled;\n if (eventsEnabled) {\n // setup event listeners, they will take care of update the position in specific situations\n this.enableEventListeners();\n }\n\n this.state.eventsEnabled = eventsEnabled;\n }\n\n // We can't use class properties because they don't get listed in the\n // class prototype and break stuff like Sinon stubs\n\n\n createClass(Popper, [{\n key: 'update',\n value: function update$$1() {\n return update.call(this);\n }\n }, {\n key: 'destroy',\n value: function destroy$$1() {\n return destroy.call(this);\n }\n }, {\n key: 'enableEventListeners',\n value: function enableEventListeners$$1() {\n return enableEventListeners.call(this);\n }\n }, {\n key: 'disableEventListeners',\n value: function disableEventListeners$$1() {\n return disableEventListeners.call(this);\n }\n\n /**\n * Schedule an update, it will run on the next UI update available\n * @method scheduleUpdate\n * @memberof Popper\n */\n\n\n /**\n * Collection of utilities useful when writing custom modifiers.\n * Starting from version 1.7, this method is available only if you\n * include `popper-utils.js` before `popper.js`.\n *\n * **DEPRECATION**: This way to access PopperUtils is deprecated\n * and will be removed in v2! Use the PopperUtils module directly instead.\n * Due to the high instability of the methods contained in Utils, we can't\n * guarantee them to follow semver. Use them at your own risk!\n * @static\n * @private\n * @type {Object}\n * @deprecated since version 1.8\n * @member Utils\n * @memberof Popper\n */\n\n }]);\n return Popper;\n}();\n\n/**\n * The `referenceObject` is an object that provides an interface compatible with Popper.js\n * and lets you use it as replacement of a real DOM node.<br />\n * You can use this method to position a popper relatively to a set of coordinates\n * in case you don't have a DOM node to use as reference.\n *\n * ```\n * new Popper(referenceObject, popperNode);\n * ```\n *\n * NB: This feature isn't supported in Internet Explorer 10\n * @name referenceObject\n * @property {Function} data.getBoundingClientRect\n * A function that returns a set of coordinates compatible with the native `getBoundingClientRect` method.\n * @property {number} data.clientWidth\n * An ES6 getter that will return the width of the virtual reference element.\n * @property {number} data.clientHeight\n * An ES6 getter that will return the height of the virtual reference element.\n */\n\n\nPopper.Utils = (typeof window !== 'undefined' ? window : global).PopperUtils;\nPopper.placements = placements;\nPopper.Defaults = Defaults;\n\nexport default Popper;\n//# sourceMappingURL=popper.js.map\n","// The following colors may not be accessible with text color or inverse white on this background color. They do not all pass WCAG AA Color Contrast Ratios.\n// https://webaim.org/resources/contrastchecker/?fcolor=FFFFFF&bcolor=FFC20E\nmodule.exports = {\n\t'global-setup': '#2A739E',\n\t'service-cloud': '#7f2443',\n\t'industry-cloud': '#4c2248',\n\t'sales-cloud': '#00857d',\n\t'commerce-cloud': '#41693d',\n\t'community-cloud': '#ffc20e',\n\t'marketing-cloud': '#ea7600',\n\tquip: '#cf451d',\n};\n","/**\n * lodash (Custom Build) <https://lodash.com/>\n * Build: `lodash modularize exports=\"npm\" -o ./`\n * Copyright jQuery Foundation and other contributors <https://jquery.org/>\n * Released under MIT license <https://lodash.com/license>\n * Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>\n * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n */\n\n/** Used as the `TypeError` message for \"Functions\" methods. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/** `Object#toString` result references. */\nvar funcTag = '[object Function]',\n genTag = '[object GeneratorFunction]';\n\n/**\n * Used to match `RegExp`\n * [syntax characters](http://ecma-international.org/ecma-262/7.0/#sec-patterns).\n */\nvar reRegExpChar = /[\\\\^$.*+?()[\\]{}|]/g;\n\n/** Used to detect host constructors (Safari). */\nvar reIsHostCtor = /^\\[object .+?Constructor\\]$/;\n\n/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\n/**\n * Gets the value at `key` of `object`.\n *\n * @private\n * @param {Object} [object] The object to query.\n * @param {string} key The key of the property to get.\n * @returns {*} Returns the property value.\n */\nfunction getValue(object, key) {\n return object == null ? undefined : object[key];\n}\n\n/**\n * Checks if `value` is a host object in IE < 9.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a host object, else `false`.\n */\nfunction isHostObject(value) {\n // Many host objects are `Object` objects that can coerce to strings\n // despite having improperly defined `toString` methods.\n var result = false;\n if (value != null && typeof value.toString != 'function') {\n try {\n result = !!(value + '');\n } catch (e) {}\n }\n return result;\n}\n\n/** Used for built-in method references. */\nvar arrayProto = Array.prototype,\n funcProto = Function.prototype,\n objectProto = Object.prototype;\n\n/** Used to detect overreaching core-js shims. */\nvar coreJsData = root['__core-js_shared__'];\n\n/** Used to detect methods masquerading as native. */\nvar maskSrcKey = (function() {\n var uid = /[^.]+$/.exec(coreJsData && coreJsData.keys && coreJsData.keys.IE_PROTO || '');\n return uid ? ('Symbol(src)_1.' + uid) : '';\n}());\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objectToString = objectProto.toString;\n\n/** Used to detect if a method is native. */\nvar reIsNative = RegExp('^' +\n funcToString.call(hasOwnProperty).replace(reRegExpChar, '\\\\$&')\n .replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g, '$1.*?') + '$'\n);\n\n/** Built-in value references. */\nvar splice = arrayProto.splice;\n\n/* Built-in method references that are verified to be native. */\nvar Map = getNative(root, 'Map'),\n nativeCreate = getNative(Object, 'create');\n\n/**\n * Creates a hash object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Hash(entries) {\n var index = -1,\n length = entries ? entries.length : 0;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n/**\n * Removes all key-value entries from the hash.\n *\n * @private\n * @name clear\n * @memberOf Hash\n */\nfunction hashClear() {\n this.__data__ = nativeCreate ? nativeCreate(null) : {};\n}\n\n/**\n * Removes `key` and its value from the hash.\n *\n * @private\n * @name delete\n * @memberOf Hash\n * @param {Object} hash The hash to modify.\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction hashDelete(key) {\n return this.has(key) && delete this.__data__[key];\n}\n\n/**\n * Gets the hash value for `key`.\n *\n * @private\n * @name get\n * @memberOf Hash\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction hashGet(key) {\n var data = this.__data__;\n if (nativeCreate) {\n var result = data[key];\n return result === HASH_UNDEFINED ? undefined : result;\n }\n return hasOwnProperty.call(data, key) ? data[key] : undefined;\n}\n\n/**\n * Checks if a hash value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Hash\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction hashHas(key) {\n var data = this.__data__;\n return nativeCreate ? data[key] !== undefined : hasOwnProperty.call(data, key);\n}\n\n/**\n * Sets the hash `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Hash\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the hash instance.\n */\nfunction hashSet(key, value) {\n var data = this.__data__;\n data[key] = (nativeCreate && value === undefined) ? HASH_UNDEFINED : value;\n return this;\n}\n\n// Add methods to `Hash`.\nHash.prototype.clear = hashClear;\nHash.prototype['delete'] = hashDelete;\nHash.prototype.get = hashGet;\nHash.prototype.has = hashHas;\nHash.prototype.set = hashSet;\n\n/**\n * Creates an list cache object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction ListCache(entries) {\n var index = -1,\n length = entries ? entries.length : 0;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n/**\n * Removes all key-value entries from the list cache.\n *\n * @private\n * @name clear\n * @memberOf ListCache\n */\nfunction listCacheClear() {\n this.__data__ = [];\n}\n\n/**\n * Removes `key` and its value from the list cache.\n *\n * @private\n * @name delete\n * @memberOf ListCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction listCacheDelete(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n return false;\n }\n var lastIndex = data.length - 1;\n if (index == lastIndex) {\n data.pop();\n } else {\n splice.call(data, index, 1);\n }\n return true;\n}\n\n/**\n * Gets the list cache value for `key`.\n *\n * @private\n * @name get\n * @memberOf ListCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction listCacheGet(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n return index < 0 ? undefined : data[index][1];\n}\n\n/**\n * Checks if a list cache value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf ListCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction listCacheHas(key) {\n return assocIndexOf(this.__data__, key) > -1;\n}\n\n/**\n * Sets the list cache `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf ListCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the list cache instance.\n */\nfunction listCacheSet(key, value) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n data.push([key, value]);\n } else {\n data[index][1] = value;\n }\n return this;\n}\n\n// Add methods to `ListCache`.\nListCache.prototype.clear = listCacheClear;\nListCache.prototype['delete'] = listCacheDelete;\nListCache.prototype.get = listCacheGet;\nListCache.prototype.has = listCacheHas;\nListCache.prototype.set = listCacheSet;\n\n/**\n * Creates a map cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction MapCache(entries) {\n var index = -1,\n length = entries ? entries.length : 0;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n/**\n * Removes all key-value entries from the map.\n *\n * @private\n * @name clear\n * @memberOf MapCache\n */\nfunction mapCacheClear() {\n this.__data__ = {\n 'hash': new Hash,\n 'map': new (Map || ListCache),\n 'string': new Hash\n };\n}\n\n/**\n * Removes `key` and its value from the map.\n *\n * @private\n * @name delete\n * @memberOf MapCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction mapCacheDelete(key) {\n return getMapData(this, key)['delete'](key);\n}\n\n/**\n * Gets the map value for `key`.\n *\n * @private\n * @name get\n * @memberOf MapCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction mapCacheGet(key) {\n return getMapData(this, key).get(key);\n}\n\n/**\n * Checks if a map value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf MapCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction mapCacheHas(key) {\n return getMapData(this, key).has(key);\n}\n\n/**\n * Sets the map `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf MapCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the map cache instance.\n */\nfunction mapCacheSet(key, value) {\n getMapData(this, key).set(key, value);\n return this;\n}\n\n// Add methods to `MapCache`.\nMapCache.prototype.clear = mapCacheClear;\nMapCache.prototype['delete'] = mapCacheDelete;\nMapCache.prototype.get = mapCacheGet;\nMapCache.prototype.has = mapCacheHas;\nMapCache.prototype.set = mapCacheSet;\n\n/**\n * Gets the index at which the `key` is found in `array` of key-value pairs.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} key The key to search for.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction assocIndexOf(array, key) {\n var length = array.length;\n while (length--) {\n if (eq(array[length][0], key)) {\n return length;\n }\n }\n return -1;\n}\n\n/**\n * The base implementation of `_.isNative` without bad shim checks.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a native function,\n * else `false`.\n */\nfunction baseIsNative(value) {\n if (!isObject(value) || isMasked(value)) {\n return false;\n }\n var pattern = (isFunction(value) || isHostObject(value)) ? reIsNative : reIsHostCtor;\n return pattern.test(toSource(value));\n}\n\n/**\n * Gets the data for `map`.\n *\n * @private\n * @param {Object} map The map to query.\n * @param {string} key The reference key.\n * @returns {*} Returns the map data.\n */\nfunction getMapData(map, key) {\n var data = map.__data__;\n return isKeyable(key)\n ? data[typeof key == 'string' ? 'string' : 'hash']\n : data.map;\n}\n\n/**\n * Gets the native function at `key` of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the method to get.\n * @returns {*} Returns the function if it's native, else `undefined`.\n */\nfunction getNative(object, key) {\n var value = getValue(object, key);\n return baseIsNative(value) ? value : undefined;\n}\n\n/**\n * Checks if `value` is suitable for use as unique object key.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is suitable, else `false`.\n */\nfunction isKeyable(value) {\n var type = typeof value;\n return (type == 'string' || type == 'number' || type == 'symbol' || type == 'boolean')\n ? (value !== '__proto__')\n : (value === null);\n}\n\n/**\n * Checks if `func` has its source masked.\n *\n * @private\n * @param {Function} func The function to check.\n * @returns {boolean} Returns `true` if `func` is masked, else `false`.\n */\nfunction isMasked(func) {\n return !!maskSrcKey && (maskSrcKey in func);\n}\n\n/**\n * Converts `func` to its source code.\n *\n * @private\n * @param {Function} func The function to process.\n * @returns {string} Returns the source code.\n */\nfunction toSource(func) {\n if (func != null) {\n try {\n return funcToString.call(func);\n } catch (e) {}\n try {\n return (func + '');\n } catch (e) {}\n }\n return '';\n}\n\n/**\n * Creates a function that memoizes the result of `func`. If `resolver` is\n * provided, it determines the cache key for storing the result based on the\n * arguments provided to the memoized function. By default, the first argument\n * provided to the memoized function is used as the map cache key. The `func`\n * is invoked with the `this` binding of the memoized function.\n *\n * **Note:** The cache is exposed as the `cache` property on the memoized\n * function. Its creation may be customized by replacing the `_.memoize.Cache`\n * constructor with one whose instances implement the\n * [`Map`](http://ecma-international.org/ecma-262/7.0/#sec-properties-of-the-map-prototype-object)\n * method interface of `delete`, `get`, `has`, and `set`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to have its output memoized.\n * @param {Function} [resolver] The function to resolve the cache key.\n * @returns {Function} Returns the new memoized function.\n * @example\n *\n * var object = { 'a': 1, 'b': 2 };\n * var other = { 'c': 3, 'd': 4 };\n *\n * var values = _.memoize(_.values);\n * values(object);\n * // => [1, 2]\n *\n * values(other);\n * // => [3, 4]\n *\n * object.a = 2;\n * values(object);\n * // => [1, 2]\n *\n * // Modify the result cache.\n * values.cache.set(object, ['a', 'b']);\n * values(object);\n * // => ['a', 'b']\n *\n * // Replace `_.memoize.Cache`.\n * _.memoize.Cache = WeakMap;\n */\nfunction memoize(func, resolver) {\n if (typeof func != 'function' || (resolver && typeof resolver != 'function')) {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n var memoized = function() {\n var args = arguments,\n key = resolver ? resolver.apply(this, args) : args[0],\n cache = memoized.cache;\n\n if (cache.has(key)) {\n return cache.get(key);\n }\n var result = func.apply(this, args);\n memoized.cache = cache.set(key, result);\n return result;\n };\n memoized.cache = new (memoize.Cache || MapCache);\n return memoized;\n}\n\n// Assign cache to `_.memoize`.\nmemoize.Cache = MapCache;\n\n/**\n * Performs a\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * comparison between two values to determine if they are equivalent.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'a': 1 };\n * var other = { 'a': 1 };\n *\n * _.eq(object, object);\n * // => true\n *\n * _.eq(object, other);\n * // => false\n *\n * _.eq('a', 'a');\n * // => true\n *\n * _.eq('a', Object('a'));\n * // => false\n *\n * _.eq(NaN, NaN);\n * // => true\n */\nfunction eq(value, other) {\n return value === other || (value !== value && other !== other);\n}\n\n/**\n * Checks if `value` is classified as a `Function` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a function, else `false`.\n * @example\n *\n * _.isFunction(_);\n * // => true\n *\n * _.isFunction(/abc/);\n * // => false\n */\nfunction isFunction(value) {\n // The use of `Object#toString` avoids issues with the `typeof` operator\n // in Safari 8-9 which returns 'object' for typed array and other constructors.\n var tag = isObject(value) ? objectToString.call(value) : '';\n return tag == funcTag || tag == genTag;\n}\n\n/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n var type = typeof value;\n return !!value && (type == 'object' || type == 'function');\n}\n\nmodule.exports = memoize;\n","module.exports = {\n\t// Disabled state of BRAND_HEADER_CONTRAST_WEAK\n\tbrandHeaderContrastWeakDisabled: 'rgba(166, 166, 166, 0.25)',\n\t// Gray Color 11\n\tcolorGray11: 'rgb(62, 62, 60)',\n\t// Transparent value of BRAND_PRIMARY at 10%\n\tbrandPrimaryTransparent10: 'rgba(21, 137, 238, 0.1)',\n\t// Gray Color 12\n\tcolorGray12: 'rgb(43, 40, 38)',\n\t// These RGBA values need to be updated if BRAND_BACKGROUND_DARK changes, solves webkit bug\n\tbrandBackgroundDarkTransparent: 'rgba(221, 219, 218, 0)',\n\t// Background color a branded app header\n\tbrandHeader: 'rgb(255, 255, 255)',\n\t// Active / Hover state of BRAND_LIGHT\n\tbrandLightActive: 'rgb(227, 229, 237)',\n\t// Variant of BRAND_HEADER_CONTRAST that provides a warm color\n\tbrandHeaderContrastWarm: 'rgb(191, 2, 1)',\n\t// Disabled state of BRAND_HEADER_ICON\n\tbrandHeaderIconDisabled: 'rgba(145, 145, 145, 0.25)',\n\t// Active / Hover state of BRAND_HEADER_CONTRAST\n\tbrandHeaderContrastActive: 'rgb(80, 80, 80)',\n\t// Primary page background color\n\tbrandBackgroundPrimary: 'rgb(250, 250, 249)',\n\t// Primary brand color\n\tbrandPrimary: 'rgb(21, 137, 238)',\n\t// Active / Hover state of BRAND_HEADER_CONTRAST_WEAK\n\tbrandHeaderContrastWeakActive: 'rgb(129, 129, 129)',\n\t// Active / Hover state of BRAND_CONTRAST\n\tbrandContrastActive: 'rgb(13, 14, 18)',\n\t// Variant of BRAND_HEADER_CONTRAST that provides a cool color\n\tbrandHeaderContrastCool: 'rgb(0, 85, 131)',\n\t// Variant of BRAND_HEADER that is accessible with BRAND_HEADER\n\tbrandHeaderContrastInverse: 'rgb(255, 255, 255)',\n\t// Dark variant of BRAND that is accessible with light colors\n\tbrandDark: 'rgb(24, 35, 55)',\n\t// Dark variant of BRAND that is accessible with white\n\tbrandAccessible: 'rgb(0, 112, 210)',\n\t// Dark variant of BRAND_BACKGROUND_PRIMARY, used within gradient of background color\n\tbrandBackgroundDark: 'rgb(232, 232, 232)',\n\t// Active / Hover state of BRAND_TEXT_LINK\n\tbrandTextLinkActive: 'rgb(0, 95, 178)',\n\t// Gray Color 1\n\tcolorGray1: 'rgb(255, 255, 255)',\n\t// Gray Color 2\n\tcolorGray2: 'rgb(250, 250, 249)',\n\t// Active / Hover state of BRAND_HEADER_ICON\n\tbrandHeaderIconActive: 'rgb(129, 129, 129)',\n\t// Gray Color 3\n\tcolorGray3: 'rgb(243, 242, 242)',\n\t// Icons of BRAND_HEADER that is accessible with BRAND_HEADER\n\tbrandHeaderIcon: 'rgb(145, 145, 145)',\n\t// Disabled state of BRAND_A11Y\n\tbrandDisabled: 'rgb(201, 199, 197)',\n\t// Primary text link brand color\n\tbrandTextLink: 'rgb(0, 109, 204)',\n\t// Gray Color 4\n\tcolorGray4: 'rgb(236, 235, 234)',\n\t// Gray Color 5\n\tcolorGray5: 'rgb(221, 219, 218)',\n\t// Gray Color 6\n\tcolorGray6: 'rgb(201, 199, 197)',\n\t// Active / Hover state of BRAND_A11Y\n\tbrandAccessibleActive: 'rgb(0, 95, 178)',\n\t// Gray Color 7\n\tcolorGray7: 'rgb(176, 173, 171)',\n\t// Active / Hover state of BRAND_DARK\n\tbrandDarkActive: 'rgb(37, 48, 69)',\n\t// Gray Color 8\n\tcolorGray8: 'rgb(150, 148, 146)',\n\t// Active / Hover state of BRAND_HEADER_CONTRAST\n\tbrandHeaderContrastInverseActive: 'rgb(238, 238, 238)',\n\t// Active / Hover state of BRAND_HEADER_CONTRAST_COOL\n\tbrandHeaderContrastCoolActive: 'rgb(0, 85, 131)',\n\t// Gray Color 9\n\tcolorGray9: 'rgb(112, 110, 107)',\n\t// Variant of BRAND that is accessible with BRAND\n\tbrandContrast: 'rgb(26, 27, 30)',\n\t// Weak contrast ratio, useful for iconography\n\tbrandHeaderContrastWeak: 'rgb(145, 145, 145)',\n\t// Active / Hover state of BRAND_PRIMARY\n\tbrandPrimaryActive: 'rgb(0, 122, 221)',\n\t// These RGBA values need to be updated if BRAND_BACKGROUND_PRIMARY changes, solves webkit bug\n\tbrandBackgroundPrimaryTransparent: 'rgba(250, 250, 249, 0)',\n\t// Variant of BRAND_HEADER that is accessible with BRAND_HEADER\n\tbrandHeaderContrast: 'rgb(94, 94, 94)',\n\t// Transparent value of BRAND_PRIMARY\n\tbrandPrimaryTransparent: 'rgba(21, 137, 238, 0.1)',\n\t// Active / Hover state of BRAND_HEADER_CONTRAST_WARM\n\tbrandHeaderContrastWarmActive: 'rgb(172, 0, 0)',\n\t// Transparent value of BRAND_PRIMARY at 40%\n\tbrandPrimaryTransparent40: 'rgba(21, 137, 238, 0.4)',\n\t// Light variant of BRAND that is accessible with dark colors\n\tbrandLight: 'rgb(244, 246, 254)',\n\t// Gray Color 10\n\tcolorGray10: 'rgb(81, 79, 77)',\n};\n","\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nvar __rest = (this && this.__rest) || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n t[p[i]] = s[p[i]];\n }\n return t;\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar React = __importStar(require(\"react\"));\nvar fast_deep_equal_1 = __importDefault(require(\"fast-deep-equal\"));\nvar PropTypes = __importStar(require(\"prop-types\"));\nfunction normalizeHtml(str) {\n return str && str.replace(/ |\\u202F|\\u00A0/g, ' ');\n}\nfunction replaceCaret(el) {\n // Place the caret at the end of the element\n var target = document.createTextNode('');\n el.appendChild(target);\n // do not move caret if element was not focused\n var isTargetFocused = document.activeElement === el;\n if (target !== null && target.nodeValue !== null && isTargetFocused) {\n var sel = window.getSelection();\n if (sel !== null) {\n var range = document.createRange();\n range.setStart(target, target.nodeValue.length);\n range.collapse(true);\n sel.removeAllRanges();\n sel.addRange(range);\n }\n if (el instanceof HTMLElement)\n el.focus();\n }\n}\n/**\n * A simple component for an html element with editable contents.\n */\nvar ContentEditable = /** @class */ (function (_super) {\n __extends(ContentEditable, _super);\n function ContentEditable() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.lastHtml = _this.props.html;\n _this.el = typeof _this.props.innerRef === 'function' ? { current: null } : React.createRef();\n _this.getEl = function () { return (_this.props.innerRef && typeof _this.props.innerRef !== 'function' ? _this.props.innerRef : _this.el).current; };\n _this.emitChange = function (originalEvt) {\n var el = _this.getEl();\n if (!el)\n return;\n var html = el.innerHTML;\n if (_this.props.onChange && html !== _this.lastHtml) {\n // Clone event with Object.assign to avoid\n // \"Cannot assign to read only property 'target' of object\"\n var evt = Object.assign({}, originalEvt, {\n target: {\n value: html\n }\n });\n _this.props.onChange(evt);\n }\n _this.lastHtml = html;\n };\n return _this;\n }\n ContentEditable.prototype.render = function () {\n var _this = this;\n var _a = this.props, tagName = _a.tagName, html = _a.html, innerRef = _a.innerRef, props = __rest(_a, [\"tagName\", \"html\", \"innerRef\"]);\n return React.createElement(tagName || 'div', __assign(__assign({}, props), { ref: typeof innerRef === 'function' ? function (current) {\n innerRef(current);\n _this.el.current = current;\n } : innerRef || this.el, onInput: this.emitChange, onBlur: this.props.onBlur || this.emitChange, onKeyUp: this.props.onKeyUp || this.emitChange, onKeyDown: this.props.onKeyDown || this.emitChange, contentEditable: !this.props.disabled, dangerouslySetInnerHTML: { __html: html } }), this.props.children);\n };\n ContentEditable.prototype.shouldComponentUpdate = function (nextProps) {\n var props = this.props;\n var el = this.getEl();\n // We need not rerender if the change of props simply reflects the user's edits.\n // Rerendering in this case would make the cursor/caret jump\n // Rerender if there is no element yet... (somehow?)\n if (!el)\n return true;\n // ...or if html really changed... (programmatically, not by user edit)\n if (normalizeHtml(nextProps.html) !== normalizeHtml(el.innerHTML)) {\n return true;\n }\n // Handle additional properties\n return props.disabled !== nextProps.disabled ||\n props.tagName !== nextProps.tagName ||\n props.className !== nextProps.className ||\n props.innerRef !== nextProps.innerRef ||\n !fast_deep_equal_1.default(props.style, nextProps.style);\n };\n ContentEditable.prototype.componentDidUpdate = function () {\n var el = this.getEl();\n if (!el)\n return;\n // Perhaps React (whose VDOM gets outdated because we often prevent\n // rerendering) did not update the DOM. So we update it manually now.\n if (this.props.html !== el.innerHTML) {\n el.innerHTML = this.props.html;\n }\n this.lastHtml = this.props.html;\n replaceCaret(el);\n };\n ContentEditable.propTypes = {\n html: PropTypes.string.isRequired,\n onChange: PropTypes.func,\n disabled: PropTypes.bool,\n tagName: PropTypes.string,\n className: PropTypes.string,\n style: PropTypes.object,\n innerRef: PropTypes.oneOfType([\n PropTypes.object,\n PropTypes.func,\n ])\n };\n return ContentEditable;\n}(React.Component));\nexports.default = ContentEditable;\n","/**\n * lodash (Custom Build) <https://lodash.com/>\n * Build: `lodash modularize exports=\"npm\" -o ./`\n * Copyright jQuery Foundation and other contributors <https://jquery.org/>\n * Released under MIT license <https://lodash.com/license>\n * Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>\n * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n */\n\n/** `Object#toString` result references. */\nvar dateTag = '[object Date]';\n\n/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\n/** Detect free variable `exports`. */\nvar freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;\n\n/** Detect free variable `module`. */\nvar freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;\n\n/** Detect the popular CommonJS extension `module.exports`. */\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n\n/** Detect free variable `process` from Node.js. */\nvar freeProcess = moduleExports && freeGlobal.process;\n\n/** Used to access faster Node.js helpers. */\nvar nodeUtil = (function() {\n try {\n return freeProcess && freeProcess.binding('util');\n } catch (e) {}\n}());\n\n/* Node.js helper references. */\nvar nodeIsDate = nodeUtil && nodeUtil.isDate;\n\n/**\n * The base implementation of `_.unary` without support for storing metadata.\n *\n * @private\n * @param {Function} func The function to cap arguments for.\n * @returns {Function} Returns the new capped function.\n */\nfunction baseUnary(func) {\n return function(value) {\n return func(value);\n };\n}\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objectToString = objectProto.toString;\n\n/**\n * The base implementation of `_.isDate` without Node.js optimizations.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a date object, else `false`.\n */\nfunction baseIsDate(value) {\n return isObjectLike(value) && objectToString.call(value) == dateTag;\n}\n\n/**\n * Checks if `value` is classified as a `Date` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a date object, else `false`.\n * @example\n *\n * _.isDate(new Date);\n * // => true\n *\n * _.isDate('Mon April 23 2012');\n * // => false\n */\nvar isDate = nodeIsDate ? baseUnary(nodeIsDate) : baseIsDate;\n\n/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return !!value && typeof value == 'object';\n}\n\nmodule.exports = isDate;\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactPropTypesSecret = require('./lib/ReactPropTypesSecret');\n\nfunction emptyFunction() {}\nfunction emptyFunctionWithReset() {}\nemptyFunctionWithReset.resetWarningCache = emptyFunction;\n\nmodule.exports = function() {\n function shim(props, propName, componentName, location, propFullName, secret) {\n if (secret === ReactPropTypesSecret) {\n // It is still safe when called from React.\n return;\n }\n var err = new Error(\n 'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +\n 'Use PropTypes.checkPropTypes() to call them. ' +\n 'Read more at http://fb.me/use-check-prop-types'\n );\n err.name = 'Invariant Violation';\n throw err;\n };\n shim.isRequired = shim;\n function getShim() {\n return shim;\n };\n // Important!\n // Keep this list in sync with production version in `./factoryWithTypeCheckers.js`.\n var ReactPropTypes = {\n array: shim,\n bool: shim,\n func: shim,\n number: shim,\n object: shim,\n string: shim,\n symbol: shim,\n\n any: shim,\n arrayOf: getShim,\n element: shim,\n elementType: shim,\n instanceOf: getShim,\n node: shim,\n objectOf: getShim,\n oneOf: getShim,\n oneOfType: getShim,\n shape: getShim,\n exact: getShim,\n\n checkPropTypes: emptyFunctionWithReset,\n resetWarningCache: emptyFunction\n };\n\n ReactPropTypes.PropTypes = ReactPropTypes;\n\n return ReactPropTypes;\n};\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED';\n\nmodule.exports = ReactPropTypesSecret;\n","'use strict';\n\nvar alphabet = require('./alphabet');\nvar build = require('./build');\nvar isValid = require('./is-valid');\n\n// if you are using cluster or multiple servers use this to make each instance\n// has a unique value for worker\n// Note: I don't know if this is automatically set when using third\n// party cluster solutions such as pm2.\nvar clusterWorkerId = require('./util/cluster-worker-id') || 0;\n\n/**\n * Set the seed.\n * Highly recommended if you don't want people to try to figure out your id schema.\n * exposed as shortid.seed(int)\n * @param seed Integer value to seed the random alphabet. ALWAYS USE THE SAME SEED or you might get overlaps.\n */\nfunction seed(seedValue) {\n alphabet.seed(seedValue);\n return module.exports;\n}\n\n/**\n * Set the cluster worker or machine id\n * exposed as shortid.worker(int)\n * @param workerId worker must be positive integer. Number less than 16 is recommended.\n * returns shortid module so it can be chained.\n */\nfunction worker(workerId) {\n clusterWorkerId = workerId;\n return module.exports;\n}\n\n/**\n *\n * sets new characters to use in the alphabet\n * returns the shuffled alphabet\n */\nfunction characters(newCharacters) {\n if (newCharacters !== undefined) {\n alphabet.characters(newCharacters);\n }\n\n return alphabet.shuffled();\n}\n\n/**\n * Generate unique id\n * Returns string id\n */\nfunction generate() {\n return build(clusterWorkerId);\n}\n\n// Export all other functions as properties of the generate function\nmodule.exports = generate;\nmodule.exports.generate = generate;\nmodule.exports.seed = seed;\nmodule.exports.worker = worker;\nmodule.exports.characters = characters;\nmodule.exports.isValid = isValid;\n","'use strict';\n\n// Found this seed-based random generator somewhere\n// Based on The Central Randomizer 1.3 (C) 1997 by Paul Houle (houle@msc.cornell.edu)\n\nvar seed = 1;\n\n/**\n * return a random number based on a seed\n * @param seed\n * @returns {number}\n */\nfunction getNextValue() {\n seed = (seed * 9301 + 49297) % 233280;\n return seed/(233280.0);\n}\n\nfunction setSeed(_seed_) {\n seed = _seed_;\n}\n\nmodule.exports = {\n nextValue: getNextValue,\n seed: setSeed\n};\n","'use strict';\n\nvar generate = require('./generate');\nvar alphabet = require('./alphabet');\n\n// Ignore all milliseconds before a certain time to reduce the size of the date entropy without sacrificing uniqueness.\n// This number should be updated every year or so to keep the generated id short.\n// To regenerate `new Date() - 0` and bump the version. Always bump the version!\nvar REDUCE_TIME = 1567752802062;\n\n// don't change unless we change the algos or REDUCE_TIME\n// must be an integer and less than 16\nvar version = 7;\n\n// Counter is used when shortid is called multiple times in one second.\nvar counter;\n\n// Remember the last time shortid was called in case counter is needed.\nvar previousSeconds;\n\n/**\n * Generate unique id\n * Returns string id\n */\nfunction build(clusterWorkerId) {\n var str = '';\n\n var seconds = Math.floor((Date.now() - REDUCE_TIME) * 0.001);\n\n if (seconds === previousSeconds) {\n counter++;\n } else {\n counter = 0;\n previousSeconds = seconds;\n }\n\n str = str + generate(version);\n str = str + generate(clusterWorkerId);\n if (counter > 0) {\n str = str + generate(counter);\n }\n str = str + generate(seconds);\n return str;\n}\n\nmodule.exports = build;\n","'use strict';\n\nvar alphabet = require('./alphabet');\nvar random = require('./random/random-byte');\nvar format = require('nanoid/format');\n\nfunction generate(number) {\n var loopCounter = 0;\n var done;\n\n var str = '';\n\n while (!done) {\n str = str + format(random, alphabet.get(), 1);\n done = number < (Math.pow(16, loopCounter + 1 ) );\n loopCounter++;\n }\n return str;\n}\n\nmodule.exports = generate;\n","'use strict';\n\nvar crypto = typeof window === 'object' && (window.crypto || window.msCrypto); // IE 11 uses window.msCrypto\n\nvar randomByte;\n\nif (!crypto || !crypto.getRandomValues) {\n randomByte = function(size) {\n var bytes = [];\n for (var i = 0; i < size; i++) {\n bytes.push(Math.floor(Math.random() * 256));\n }\n return bytes;\n };\n} else {\n randomByte = function(size) {\n return crypto.getRandomValues(new Uint8Array(size));\n };\n}\n\nmodule.exports = randomByte;\n","// This file replaces `format.js` in bundlers like webpack or Rollup,\n// according to `browser` config in `package.json`.\n\nmodule.exports = function (random, alphabet, size) {\n // We can’t use bytes bigger than the alphabet. To make bytes values closer\n // to the alphabet, we apply bitmask on them. We look for the closest\n // `2 ** x - 1` number, which will be bigger than alphabet size. If we have\n // 30 symbols in the alphabet, we will take 31 (00011111).\n // We do not use faster Math.clz32, because it is not available in browsers.\n var mask = (2 << Math.log(alphabet.length - 1) / Math.LN2) - 1\n // Bitmask is not a perfect solution (in our example it will pass 31 bytes,\n // which is bigger than the alphabet). As a result, we will need more bytes,\n // than ID size, because we will refuse bytes bigger than the alphabet.\n\n // Every hardware random generator call is costly,\n // because we need to wait for entropy collection. This is why often it will\n // be faster to ask for few extra bytes in advance, to avoid additional calls.\n\n // Here we calculate how many random bytes should we call in advance.\n // It depends on ID length, mask / alphabet size and magic number 1.6\n // (which was selected according benchmarks).\n\n // -~f => Math.ceil(f) if n is float number\n // -~i => i + 1 if n is integer number\n var step = -~(1.6 * mask * size / alphabet.length)\n var id = ''\n\n while (true) {\n var bytes = random(step)\n // Compact alternative for `for (var i = 0; i < step; i++)`\n var i = step\n while (i--) {\n // If random byte is bigger than alphabet even after bitmask,\n // we refuse it by `|| ''`.\n id += alphabet[bytes[i] & mask] || ''\n // More compact than `id.length + 1 === size`\n if (id.length === +size) return id\n }\n }\n}\n","'use strict';\nvar alphabet = require('./alphabet');\n\nfunction isShortId(id) {\n if (!id || typeof id !== 'string' || id.length < 6 ) {\n return false;\n }\n\n var nonAlphabetic = new RegExp('[^' +\n alphabet.get().replace(/[|\\\\{}()[\\]^$+*?.-]/g, '\\\\$&') +\n ']');\n return !nonAlphabetic.test(id);\n}\n\nmodule.exports = isShortId;\n","'use strict';\n\nmodule.exports = 0;\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.bodyOpenClassName = exports.portalClassName = undefined;\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _react = require(\"react\");\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _reactDom = require(\"react-dom\");\n\nvar _reactDom2 = _interopRequireDefault(_reactDom);\n\nvar _propTypes = require(\"prop-types\");\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar _ModalPortal = require(\"./ModalPortal\");\n\nvar _ModalPortal2 = _interopRequireDefault(_ModalPortal);\n\nvar _ariaAppHider = require(\"../helpers/ariaAppHider\");\n\nvar ariaAppHider = _interopRequireWildcard(_ariaAppHider);\n\nvar _safeHTMLElement = require(\"../helpers/safeHTMLElement\");\n\nvar _safeHTMLElement2 = _interopRequireDefault(_safeHTMLElement);\n\nvar _reactLifecyclesCompat = require(\"react-lifecycles-compat\");\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar portalClassName = exports.portalClassName = \"ReactModalPortal\";\nvar bodyOpenClassName = exports.bodyOpenClassName = \"ReactModal__Body--open\";\n\nvar isReact16 = _reactDom2.default.createPortal !== undefined;\n\nvar getCreatePortal = function getCreatePortal() {\n return isReact16 ? _reactDom2.default.createPortal : _reactDom2.default.unstable_renderSubtreeIntoContainer;\n};\n\nfunction getParentElement(parentSelector) {\n return parentSelector();\n}\n\nvar Modal = function (_Component) {\n _inherits(Modal, _Component);\n\n function Modal() {\n var _ref;\n\n var _temp, _this, _ret;\n\n _classCallCheck(this, Modal);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, (_ref = Modal.__proto__ || Object.getPrototypeOf(Modal)).call.apply(_ref, [this].concat(args))), _this), _this.removePortal = function () {\n !isReact16 && _reactDom2.default.unmountComponentAtNode(_this.node);\n var parent = getParentElement(_this.props.parentSelector);\n parent.removeChild(_this.node);\n }, _this.portalRef = function (ref) {\n _this.portal = ref;\n }, _this.renderPortal = function (props) {\n var createPortal = getCreatePortal();\n var portal = createPortal(_this, _react2.default.createElement(_ModalPortal2.default, _extends({ defaultStyles: Modal.defaultStyles }, props)), _this.node);\n _this.portalRef(portal);\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n _createClass(Modal, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n if (!_safeHTMLElement.canUseDOM) return;\n\n if (!isReact16) {\n this.node = document.createElement(\"div\");\n }\n this.node.className = this.props.portalClassName;\n\n var parent = getParentElement(this.props.parentSelector);\n parent.appendChild(this.node);\n\n !isReact16 && this.renderPortal(this.props);\n }\n }, {\n key: \"getSnapshotBeforeUpdate\",\n value: function getSnapshotBeforeUpdate(prevProps) {\n var prevParent = getParentElement(prevProps.parentSelector);\n var nextParent = getParentElement(this.props.parentSelector);\n return { prevParent: prevParent, nextParent: nextParent };\n }\n }, {\n key: \"componentDidUpdate\",\n value: function componentDidUpdate(prevProps, _, snapshot) {\n if (!_safeHTMLElement.canUseDOM) return;\n var _props = this.props,\n isOpen = _props.isOpen,\n portalClassName = _props.portalClassName;\n\n\n if (prevProps.portalClassName !== portalClassName) {\n this.node.className = portalClassName;\n }\n\n var prevParent = snapshot.prevParent,\n nextParent = snapshot.nextParent;\n\n if (nextParent !== prevParent) {\n prevParent.removeChild(this.node);\n nextParent.appendChild(this.node);\n }\n\n // Stop unnecessary renders if modal is remaining closed\n if (!prevProps.isOpen && !isOpen) return;\n\n !isReact16 && this.renderPortal(this.props);\n }\n }, {\n key: \"componentWillUnmount\",\n value: function componentWillUnmount() {\n if (!_safeHTMLElement.canUseDOM || !this.node || !this.portal) return;\n\n var state = this.portal.state;\n var now = Date.now();\n var closesAt = state.isOpen && this.props.closeTimeoutMS && (state.closesAt || now + this.props.closeTimeoutMS);\n\n if (closesAt) {\n if (!state.beforeClose) {\n this.portal.closeWithTimeout();\n }\n\n setTimeout(this.removePortal, closesAt - now);\n } else {\n this.removePortal();\n }\n }\n }, {\n key: \"render\",\n value: function render() {\n if (!_safeHTMLElement.canUseDOM || !isReact16) {\n return null;\n }\n\n if (!this.node && isReact16) {\n this.node = document.createElement(\"div\");\n }\n\n var createPortal = getCreatePortal();\n return createPortal(_react2.default.createElement(_ModalPortal2.default, _extends({\n ref: this.portalRef,\n defaultStyles: Modal.defaultStyles\n }, this.props)), this.node);\n }\n }], [{\n key: \"setAppElement\",\n value: function setAppElement(element) {\n ariaAppHider.setElement(element);\n }\n\n /* eslint-disable react/no-unused-prop-types */\n\n /* eslint-enable react/no-unused-prop-types */\n\n }]);\n\n return Modal;\n}(_react.Component);\n\nModal.propTypes = {\n isOpen: _propTypes2.default.bool.isRequired,\n style: _propTypes2.default.shape({\n content: _propTypes2.default.object,\n overlay: _propTypes2.default.object\n }),\n portalClassName: _propTypes2.default.string,\n bodyOpenClassName: _propTypes2.default.string,\n htmlOpenClassName: _propTypes2.default.string,\n className: _propTypes2.default.oneOfType([_propTypes2.default.string, _propTypes2.default.shape({\n base: _propTypes2.default.string.isRequired,\n afterOpen: _propTypes2.default.string.isRequired,\n beforeClose: _propTypes2.default.string.isRequired\n })]),\n overlayClassName: _propTypes2.default.oneOfType([_propTypes2.default.string, _propTypes2.default.shape({\n base: _propTypes2.default.string.isRequired,\n afterOpen: _propTypes2.default.string.isRequired,\n beforeClose: _propTypes2.default.string.isRequired\n })]),\n appElement: _propTypes2.default.instanceOf(_safeHTMLElement2.default),\n onAfterOpen: _propTypes2.default.func,\n onRequestClose: _propTypes2.default.func,\n closeTimeoutMS: _propTypes2.default.number,\n ariaHideApp: _propTypes2.default.bool,\n shouldFocusAfterRender: _propTypes2.default.bool,\n shouldCloseOnOverlayClick: _propTypes2.default.bool,\n shouldReturnFocusAfterClose: _propTypes2.default.bool,\n parentSelector: _propTypes2.default.func,\n aria: _propTypes2.default.object,\n data: _propTypes2.default.object,\n role: _propTypes2.default.string,\n contentLabel: _propTypes2.default.string,\n shouldCloseOnEsc: _propTypes2.default.bool,\n overlayRef: _propTypes2.default.func,\n contentRef: _propTypes2.default.func\n};\nModal.defaultProps = {\n isOpen: false,\n portalClassName: portalClassName,\n bodyOpenClassName: bodyOpenClassName,\n role: \"dialog\",\n ariaHideApp: true,\n closeTimeoutMS: 0,\n shouldFocusAfterRender: true,\n shouldCloseOnEsc: true,\n shouldCloseOnOverlayClick: true,\n shouldReturnFocusAfterClose: true,\n parentSelector: function parentSelector() {\n return document.body;\n }\n};\nModal.defaultStyles = {\n overlay: {\n position: \"fixed\",\n top: 0,\n left: 0,\n right: 0,\n bottom: 0,\n backgroundColor: \"rgba(255, 255, 255, 0.75)\"\n },\n content: {\n position: \"absolute\",\n top: \"40px\",\n left: \"40px\",\n right: \"40px\",\n bottom: \"40px\",\n border: \"1px solid #ccc\",\n background: \"#fff\",\n overflow: \"auto\",\n WebkitOverflowScrolling: \"touch\",\n borderRadius: \"4px\",\n outline: \"none\",\n padding: \"20px\"\n }\n};\n\n\n(0, _reactLifecyclesCompat.polyfill)(Modal);\n\nexports.default = Modal;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _react = require(\"react\");\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _propTypes = require(\"prop-types\");\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar _focusManager = require(\"../helpers/focusManager\");\n\nvar focusManager = _interopRequireWildcard(_focusManager);\n\nvar _scopeTab = require(\"../helpers/scopeTab\");\n\nvar _scopeTab2 = _interopRequireDefault(_scopeTab);\n\nvar _ariaAppHider = require(\"../helpers/ariaAppHider\");\n\nvar ariaAppHider = _interopRequireWildcard(_ariaAppHider);\n\nvar _classList = require(\"../helpers/classList\");\n\nvar classList = _interopRequireWildcard(_classList);\n\nvar _safeHTMLElement = require(\"../helpers/safeHTMLElement\");\n\nvar _safeHTMLElement2 = _interopRequireDefault(_safeHTMLElement);\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\n// so that our CSS is statically analyzable\nvar CLASS_NAMES = {\n overlay: \"ReactModal__Overlay\",\n content: \"ReactModal__Content\"\n};\n\nvar TAB_KEY = 9;\nvar ESC_KEY = 27;\n\nvar ariaHiddenInstances = 0;\n\nvar ModalPortal = function (_Component) {\n _inherits(ModalPortal, _Component);\n\n function ModalPortal(props) {\n _classCallCheck(this, ModalPortal);\n\n var _this = _possibleConstructorReturn(this, (ModalPortal.__proto__ || Object.getPrototypeOf(ModalPortal)).call(this, props));\n\n _this.setOverlayRef = function (overlay) {\n _this.overlay = overlay;\n _this.props.overlayRef && _this.props.overlayRef(overlay);\n };\n\n _this.setContentRef = function (content) {\n _this.content = content;\n _this.props.contentRef && _this.props.contentRef(content);\n };\n\n _this.afterClose = function () {\n var _this$props = _this.props,\n appElement = _this$props.appElement,\n ariaHideApp = _this$props.ariaHideApp,\n htmlOpenClassName = _this$props.htmlOpenClassName,\n bodyOpenClassName = _this$props.bodyOpenClassName;\n\n // Remove classes.\n\n bodyOpenClassName && classList.remove(document.body, bodyOpenClassName);\n\n htmlOpenClassName && classList.remove(document.getElementsByTagName(\"html\")[0], htmlOpenClassName);\n\n // Reset aria-hidden attribute if all modals have been removed\n if (ariaHideApp && ariaHiddenInstances > 0) {\n ariaHiddenInstances -= 1;\n\n if (ariaHiddenInstances === 0) {\n ariaAppHider.show(appElement);\n }\n }\n\n if (_this.props.shouldFocusAfterRender) {\n if (_this.props.shouldReturnFocusAfterClose) {\n focusManager.returnFocus();\n focusManager.teardownScopedFocus();\n } else {\n focusManager.popWithoutFocus();\n }\n }\n\n if (_this.props.onAfterClose) {\n _this.props.onAfterClose();\n }\n };\n\n _this.open = function () {\n _this.beforeOpen();\n if (_this.state.afterOpen && _this.state.beforeClose) {\n clearTimeout(_this.closeTimer);\n _this.setState({ beforeClose: false });\n } else {\n if (_this.props.shouldFocusAfterRender) {\n focusManager.setupScopedFocus(_this.node);\n focusManager.markForFocusLater();\n }\n\n _this.setState({ isOpen: true }, function () {\n _this.setState({ afterOpen: true });\n\n if (_this.props.isOpen && _this.props.onAfterOpen) {\n _this.props.onAfterOpen();\n }\n });\n }\n };\n\n _this.close = function () {\n if (_this.props.closeTimeoutMS > 0) {\n _this.closeWithTimeout();\n } else {\n _this.closeWithoutTimeout();\n }\n };\n\n _this.focusContent = function () {\n return _this.content && !_this.contentHasFocus() && _this.content.focus();\n };\n\n _this.closeWithTimeout = function () {\n var closesAt = Date.now() + _this.props.closeTimeoutMS;\n _this.setState({ beforeClose: true, closesAt: closesAt }, function () {\n _this.closeTimer = setTimeout(_this.closeWithoutTimeout, _this.state.closesAt - Date.now());\n });\n };\n\n _this.closeWithoutTimeout = function () {\n _this.setState({\n beforeClose: false,\n isOpen: false,\n afterOpen: false,\n closesAt: null\n }, _this.afterClose);\n };\n\n _this.handleKeyDown = function (event) {\n if (event.keyCode === TAB_KEY) {\n (0, _scopeTab2.default)(_this.content, event);\n }\n\n if (_this.props.shouldCloseOnEsc && event.keyCode === ESC_KEY) {\n event.stopPropagation();\n _this.requestClose(event);\n }\n };\n\n _this.handleOverlayOnClick = function (event) {\n if (_this.shouldClose === null) {\n _this.shouldClose = true;\n }\n\n if (_this.shouldClose && _this.props.shouldCloseOnOverlayClick) {\n if (_this.ownerHandlesClose()) {\n _this.requestClose(event);\n } else {\n _this.focusContent();\n }\n }\n _this.shouldClose = null;\n };\n\n _this.handleContentOnMouseUp = function () {\n _this.shouldClose = false;\n };\n\n _this.handleOverlayOnMouseDown = function (event) {\n if (!_this.props.shouldCloseOnOverlayClick && event.target == _this.overlay) {\n event.preventDefault();\n }\n };\n\n _this.handleContentOnClick = function () {\n _this.shouldClose = false;\n };\n\n _this.handleContentOnMouseDown = function () {\n _this.shouldClose = false;\n };\n\n _this.requestClose = function (event) {\n return _this.ownerHandlesClose() && _this.props.onRequestClose(event);\n };\n\n _this.ownerHandlesClose = function () {\n return _this.props.onRequestClose;\n };\n\n _this.shouldBeClosed = function () {\n return !_this.state.isOpen && !_this.state.beforeClose;\n };\n\n _this.contentHasFocus = function () {\n return document.activeElement === _this.content || _this.content.contains(document.activeElement);\n };\n\n _this.buildClassName = function (which, additional) {\n var classNames = (typeof additional === \"undefined\" ? \"undefined\" : _typeof(additional)) === \"object\" ? additional : {\n base: CLASS_NAMES[which],\n afterOpen: CLASS_NAMES[which] + \"--after-open\",\n beforeClose: CLASS_NAMES[which] + \"--before-close\"\n };\n var className = classNames.base;\n if (_this.state.afterOpen) {\n className = className + \" \" + classNames.afterOpen;\n }\n if (_this.state.beforeClose) {\n className = className + \" \" + classNames.beforeClose;\n }\n return typeof additional === \"string\" && additional ? className + \" \" + additional : className;\n };\n\n _this.attributesFromObject = function (prefix, items) {\n return Object.keys(items).reduce(function (acc, name) {\n acc[prefix + \"-\" + name] = items[name];\n return acc;\n }, {});\n };\n\n _this.state = {\n afterOpen: false,\n beforeClose: false\n };\n\n _this.shouldClose = null;\n _this.moveFromContentToOverlay = null;\n return _this;\n }\n\n _createClass(ModalPortal, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n if (this.props.isOpen) {\n this.open();\n }\n }\n }, {\n key: \"componentDidUpdate\",\n value: function componentDidUpdate(prevProps, prevState) {\n if (process.env.NODE_ENV !== \"production\") {\n if (prevProps.bodyOpenClassName !== this.props.bodyOpenClassName) {\n // eslint-disable-next-line no-console\n console.warn('React-Modal: \"bodyOpenClassName\" prop has been modified. ' + \"This may cause unexpected behavior when multiple modals are open.\");\n }\n if (prevProps.htmlOpenClassName !== this.props.htmlOpenClassName) {\n // eslint-disable-next-line no-console\n console.warn('React-Modal: \"htmlOpenClassName\" prop has been modified. ' + \"This may cause unexpected behavior when multiple modals are open.\");\n }\n }\n\n if (this.props.isOpen && !prevProps.isOpen) {\n this.open();\n } else if (!this.props.isOpen && prevProps.isOpen) {\n this.close();\n }\n\n // Focus only needs to be set once when the modal is being opened\n if (this.props.shouldFocusAfterRender && this.state.isOpen && !prevState.isOpen) {\n this.focusContent();\n }\n }\n }, {\n key: \"componentWillUnmount\",\n value: function componentWillUnmount() {\n this.afterClose();\n clearTimeout(this.closeTimer);\n }\n }, {\n key: \"beforeOpen\",\n value: function beforeOpen() {\n var _props = this.props,\n appElement = _props.appElement,\n ariaHideApp = _props.ariaHideApp,\n htmlOpenClassName = _props.htmlOpenClassName,\n bodyOpenClassName = _props.bodyOpenClassName;\n\n // Add classes.\n\n bodyOpenClassName && classList.add(document.body, bodyOpenClassName);\n\n htmlOpenClassName && classList.add(document.getElementsByTagName(\"html\")[0], htmlOpenClassName);\n\n if (ariaHideApp) {\n ariaHiddenInstances += 1;\n ariaAppHider.hide(appElement);\n }\n }\n\n // Don't steal focus from inner elements\n\n }, {\n key: \"render\",\n value: function render() {\n var _props2 = this.props,\n className = _props2.className,\n overlayClassName = _props2.overlayClassName,\n defaultStyles = _props2.defaultStyles;\n\n var contentStyles = className ? {} : defaultStyles.content;\n var overlayStyles = overlayClassName ? {} : defaultStyles.overlay;\n\n return this.shouldBeClosed() ? null : _react2.default.createElement(\n \"div\",\n {\n ref: this.setOverlayRef,\n className: this.buildClassName(\"overlay\", overlayClassName),\n style: _extends({}, overlayStyles, this.props.style.overlay),\n onClick: this.handleOverlayOnClick,\n onMouseDown: this.handleOverlayOnMouseDown\n },\n _react2.default.createElement(\n \"div\",\n _extends({\n ref: this.setContentRef,\n style: _extends({}, contentStyles, this.props.style.content),\n className: this.buildClassName(\"content\", className),\n tabIndex: \"-1\",\n onKeyDown: this.handleKeyDown,\n onMouseDown: this.handleContentOnMouseDown,\n onMouseUp: this.handleContentOnMouseUp,\n onClick: this.handleContentOnClick,\n role: this.props.role,\n \"aria-label\": this.props.contentLabel\n }, this.attributesFromObject(\"aria\", this.props.aria || {}), this.attributesFromObject(\"data\", this.props.data || {}), {\n \"data-testid\": this.props.testId\n }),\n this.props.children\n )\n );\n }\n }]);\n\n return ModalPortal;\n}(_react.Component);\n\nModalPortal.defaultProps = {\n style: {\n overlay: {},\n content: {}\n },\n defaultStyles: {}\n};\nModalPortal.propTypes = {\n isOpen: _propTypes2.default.bool.isRequired,\n defaultStyles: _propTypes2.default.shape({\n content: _propTypes2.default.object,\n overlay: _propTypes2.default.object\n }),\n style: _propTypes2.default.shape({\n content: _propTypes2.default.object,\n overlay: _propTypes2.default.object\n }),\n className: _propTypes2.default.oneOfType([_propTypes2.default.string, _propTypes2.default.object]),\n overlayClassName: _propTypes2.default.oneOfType([_propTypes2.default.string, _propTypes2.default.object]),\n bodyOpenClassName: _propTypes2.default.string,\n htmlOpenClassName: _propTypes2.default.string,\n ariaHideApp: _propTypes2.default.bool,\n appElement: _propTypes2.default.instanceOf(_safeHTMLElement2.default),\n onAfterOpen: _propTypes2.default.func,\n onAfterClose: _propTypes2.default.func,\n onRequestClose: _propTypes2.default.func,\n closeTimeoutMS: _propTypes2.default.number,\n shouldFocusAfterRender: _propTypes2.default.bool,\n shouldCloseOnOverlayClick: _propTypes2.default.bool,\n shouldReturnFocusAfterClose: _propTypes2.default.bool,\n role: _propTypes2.default.string,\n contentLabel: _propTypes2.default.string,\n aria: _propTypes2.default.object,\n data: _propTypes2.default.object,\n children: _propTypes2.default.node,\n shouldCloseOnEsc: _propTypes2.default.bool,\n overlayRef: _propTypes2.default.func,\n contentRef: _propTypes2.default.func,\n testId: _propTypes2.default.string\n};\nexports.default = ModalPortal;\nmodule.exports = exports[\"default\"];","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.handleBlur = handleBlur;\nexports.handleFocus = handleFocus;\nexports.markForFocusLater = markForFocusLater;\nexports.returnFocus = returnFocus;\nexports.popWithoutFocus = popWithoutFocus;\nexports.setupScopedFocus = setupScopedFocus;\nexports.teardownScopedFocus = teardownScopedFocus;\n\nvar _tabbable = require(\"../helpers/tabbable\");\n\nvar _tabbable2 = _interopRequireDefault(_tabbable);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar focusLaterElements = [];\nvar modalElement = null;\nvar needToFocus = false;\n\nfunction handleBlur() {\n needToFocus = true;\n}\n\nfunction handleFocus() {\n if (needToFocus) {\n needToFocus = false;\n if (!modalElement) {\n return;\n }\n // need to see how jQuery shims document.on('focusin') so we don't need the\n // setTimeout, firefox doesn't support focusin, if it did, we could focus\n // the element outside of a setTimeout. Side-effect of this implementation\n // is that the document.body gets focus, and then we focus our element right\n // after, seems fine.\n setTimeout(function () {\n if (modalElement.contains(document.activeElement)) {\n return;\n }\n var el = (0, _tabbable2.default)(modalElement)[0] || modalElement;\n el.focus();\n }, 0);\n }\n}\n\nfunction markForFocusLater() {\n focusLaterElements.push(document.activeElement);\n}\n\n/* eslint-disable no-console */\nfunction returnFocus() {\n var toFocus = null;\n try {\n if (focusLaterElements.length !== 0) {\n toFocus = focusLaterElements.pop();\n toFocus.focus();\n }\n return;\n } catch (e) {\n console.warn([\"You tried to return focus to\", toFocus, \"but it is not in the DOM anymore\"].join(\" \"));\n }\n}\n/* eslint-enable no-console */\n\nfunction popWithoutFocus() {\n focusLaterElements.length > 0 && focusLaterElements.pop();\n}\n\nfunction setupScopedFocus(element) {\n modalElement = element;\n\n if (window.addEventListener) {\n window.addEventListener(\"blur\", handleBlur, false);\n document.addEventListener(\"focus\", handleFocus, true);\n } else {\n window.attachEvent(\"onBlur\", handleBlur);\n document.attachEvent(\"onFocus\", handleFocus);\n }\n}\n\nfunction teardownScopedFocus() {\n modalElement = null;\n\n if (window.addEventListener) {\n window.removeEventListener(\"blur\", handleBlur);\n document.removeEventListener(\"focus\", handleFocus);\n } else {\n window.detachEvent(\"onBlur\", handleBlur);\n document.detachEvent(\"onFocus\", handleFocus);\n }\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = scopeTab;\n\nvar _tabbable = require(\"./tabbable\");\n\nvar _tabbable2 = _interopRequireDefault(_tabbable);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction scopeTab(node, event) {\n var tabbable = (0, _tabbable2.default)(node);\n\n if (!tabbable.length) {\n // Do nothing, since there are no elements that can receive focus.\n event.preventDefault();\n return;\n }\n\n var shiftKey = event.shiftKey;\n var head = tabbable[0];\n var tail = tabbable[tabbable.length - 1];\n\n // proceed with default browser behavior on tab.\n // Focus on last element on shift + tab.\n if (node === document.activeElement) {\n if (!shiftKey) return;\n target = tail;\n }\n\n var target;\n if (tail === document.activeElement && !shiftKey) {\n target = head;\n }\n\n if (head === document.activeElement && shiftKey) {\n target = tail;\n }\n\n if (target) {\n event.preventDefault();\n target.focus();\n return;\n }\n\n // Safari radio issue.\n //\n // Safari does not move the focus to the radio button,\n // so we need to force it to really walk through all elements.\n //\n // This is very error prone, since we are trying to guess\n // if it is a safari browser from the first occurence between\n // chrome or safari.\n //\n // The chrome user agent contains the first ocurrence\n // as the 'chrome/version' and later the 'safari/version'.\n var checkSafari = /(\\bChrome\\b|\\bSafari\\b)\\//.exec(navigator.userAgent);\n var isSafariDesktop = checkSafari != null && checkSafari[1] != \"Chrome\" && /\\biPod\\b|\\biPad\\b/g.exec(navigator.userAgent) == null;\n\n // If we are not in safari desktop, let the browser control\n // the focus\n if (!isSafariDesktop) return;\n\n var x = tabbable.indexOf(document.activeElement);\n\n if (x > -1) {\n x += shiftKey ? -1 : 1;\n }\n\n // If the tabbable element does not exist,\n // focus head/tail based on shiftKey\n if (typeof tabbable[x] === \"undefined\") {\n event.preventDefault();\n target = shiftKey ? tail : head;\n target.focus();\n return;\n }\n\n event.preventDefault();\n\n tabbable[x].focus();\n}\nmodule.exports = exports[\"default\"];","/**\n * Copyright 2014-2015, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n */\n\n'use strict';\n\n/**\n * Similar to invariant but only logs a warning if the condition is not met.\n * This can be used to log issues in development environments in critical\n * paths. Removing the logging code for production environments will keep the\n * same logic and follow the same code paths.\n */\n\nvar warning = function() {};\n\nif (process.env.NODE_ENV !== 'production') {\n warning = function(condition, format, args) {\n var len = arguments.length;\n args = new Array(len > 2 ? len - 2 : 0);\n for (var key = 2; key < len; key++) {\n args[key - 2] = arguments[key];\n }\n if (format === undefined) {\n throw new Error(\n '`warning(condition, format, ...args)` requires a warning ' +\n 'message argument'\n );\n }\n\n if (format.length < 10 || (/^[s\\W]*$/).test(format)) {\n throw new Error(\n 'The warning format should be able to uniquely identify this ' +\n 'warning. Please, use a more descriptive format than: ' + format\n );\n }\n\n if (!condition) {\n var argIndex = 0;\n var message = 'Warning: ' +\n format.replace(/%s/g, function() {\n return args[argIndex++];\n });\n if (typeof console !== 'undefined') {\n console.error(message);\n }\n try {\n // This error was thrown as a convenience so that you can use this stack\n // to find the callsite that caused this warning to fire.\n throw new Error(message);\n } catch(x) {}\n }\n };\n}\n\nmodule.exports = warning;\n","/*!\n Copyright (c) 2015 Jed Watson.\n Based on code that is Copyright 2013-2015, Facebook, Inc.\n All rights reserved.\n*/\n/* global define */\n\n(function () {\n\t'use strict';\n\n\tvar canUseDOM = !!(\n\t\ttypeof window !== 'undefined' &&\n\t\twindow.document &&\n\t\twindow.document.createElement\n\t);\n\n\tvar ExecutionEnvironment = {\n\n\t\tcanUseDOM: canUseDOM,\n\n\t\tcanUseWorkers: typeof Worker !== 'undefined',\n\n\t\tcanUseEventListeners:\n\t\t\tcanUseDOM && !!(window.addEventListener || window.attachEvent),\n\n\t\tcanUseViewport: canUseDOM && !!window.screen\n\n\t};\n\n\tif (typeof define === 'function' && typeof define.amd === 'object' && define.amd) {\n\t\tdefine(function () {\n\t\t\treturn ExecutionEnvironment;\n\t\t});\n\t} else if (typeof module !== 'undefined' && module.exports) {\n\t\tmodule.exports = ExecutionEnvironment;\n\t} else {\n\t\twindow.ExecutionEnvironment = ExecutionEnvironment;\n\t}\n\n}());\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.dumpClassLists = dumpClassLists;\nvar htmlClassList = {};\nvar docBodyClassList = {};\n\nfunction dumpClassLists() {\n if (process.env.NODE_ENV !== \"production\") {\n var classes = document.getElementsByTagName(\"html\")[0].className;\n var buffer = \"Show tracked classes:\\n\\n\";\n\n buffer += \"<html /> (\" + classes + \"):\\n\";\n for (var x in htmlClassList) {\n buffer += \" \" + x + \" \" + htmlClassList[x] + \"\\n\";\n }\n\n classes = document.body.className;\n\n // eslint-disable-next-line max-len\n buffer += \"\\n\\ndoc.body (\" + classes + \"):\\n\";\n for (var _x in docBodyClassList) {\n buffer += \" \" + _x + \" \" + docBodyClassList[_x] + \"\\n\";\n }\n\n buffer += \"\\n\";\n\n // eslint-disable-next-line no-console\n console.log(buffer);\n }\n}\n\n/**\n * Track the number of reference of a class.\n * @param {object} poll The poll to receive the reference.\n * @param {string} className The class name.\n * @return {string}\n */\nvar incrementReference = function incrementReference(poll, className) {\n if (!poll[className]) {\n poll[className] = 0;\n }\n poll[className] += 1;\n return className;\n};\n\n/**\n * Drop the reference of a class.\n * @param {object} poll The poll to receive the reference.\n * @param {string} className The class name.\n * @return {string}\n */\nvar decrementReference = function decrementReference(poll, className) {\n if (poll[className]) {\n poll[className] -= 1;\n }\n return className;\n};\n\n/**\n * Track a class and add to the given class list.\n * @param {Object} classListRef A class list of an element.\n * @param {Object} poll The poll to be used.\n * @param {Array} classes The list of classes to be tracked.\n */\nvar trackClass = function trackClass(classListRef, poll, classes) {\n classes.forEach(function (className) {\n incrementReference(poll, className);\n classListRef.add(className);\n });\n};\n\n/**\n * Untrack a class and remove from the given class list if the reference\n * reaches 0.\n * @param {Object} classListRef A class list of an element.\n * @param {Object} poll The poll to be used.\n * @param {Array} classes The list of classes to be untracked.\n */\nvar untrackClass = function untrackClass(classListRef, poll, classes) {\n classes.forEach(function (className) {\n decrementReference(poll, className);\n poll[className] === 0 && classListRef.remove(className);\n });\n};\n\n/**\n * Public inferface to add classes to the document.body.\n * @param {string} bodyClass The class string to be added.\n * It may contain more then one class\n * with ' ' as separator.\n */\nvar add = exports.add = function add(element, classString) {\n return trackClass(element.classList, element.nodeName.toLowerCase() == \"html\" ? htmlClassList : docBodyClassList, classString.split(\" \"));\n};\n\n/**\n * Public inferface to remove classes from the document.body.\n * @param {string} bodyClass The class string to be added.\n * It may contain more then one class\n * with ' ' as separator.\n */\nvar remove = exports.remove = function remove(element, classString) {\n return untrackClass(element.classList, element.nodeName.toLowerCase() == \"html\" ? htmlClassList : docBodyClassList, classString.split(\" \"));\n};","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nfunction componentWillMount() {\n // Call this.constructor.gDSFP to support sub-classes.\n var state = this.constructor.getDerivedStateFromProps(this.props, this.state);\n if (state !== null && state !== undefined) {\n this.setState(state);\n }\n}\n\nfunction componentWillReceiveProps(nextProps) {\n // Call this.constructor.gDSFP to support sub-classes.\n // Use the setState() updater to ensure state isn't stale in certain edge cases.\n function updater(prevState) {\n var state = this.constructor.getDerivedStateFromProps(nextProps, prevState);\n return state !== null && state !== undefined ? state : null;\n }\n // Binding \"this\" is important for shallow renderer support.\n this.setState(updater.bind(this));\n}\n\nfunction componentWillUpdate(nextProps, nextState) {\n try {\n var prevProps = this.props;\n var prevState = this.state;\n this.props = nextProps;\n this.state = nextState;\n this.__reactInternalSnapshotFlag = true;\n this.__reactInternalSnapshot = this.getSnapshotBeforeUpdate(\n prevProps,\n prevState\n );\n } finally {\n this.props = prevProps;\n this.state = prevState;\n }\n}\n\n// React may warn about cWM/cWRP/cWU methods being deprecated.\n// Add a flag to suppress these warnings for this special case.\ncomponentWillMount.__suppressDeprecationWarning = true;\ncomponentWillReceiveProps.__suppressDeprecationWarning = true;\ncomponentWillUpdate.__suppressDeprecationWarning = true;\n\nfunction polyfill(Component) {\n var prototype = Component.prototype;\n\n if (!prototype || !prototype.isReactComponent) {\n throw new Error('Can only polyfill class components');\n }\n\n if (\n typeof Component.getDerivedStateFromProps !== 'function' &&\n typeof prototype.getSnapshotBeforeUpdate !== 'function'\n ) {\n return Component;\n }\n\n // If new component APIs are defined, \"unsafe\" lifecycles won't be called.\n // Error if any of these lifecycles are present,\n // Because they would work differently between older and newer (16.3+) versions of React.\n var foundWillMountName = null;\n var foundWillReceivePropsName = null;\n var foundWillUpdateName = null;\n if (typeof prototype.componentWillMount === 'function') {\n foundWillMountName = 'componentWillMount';\n } else if (typeof prototype.UNSAFE_componentWillMount === 'function') {\n foundWillMountName = 'UNSAFE_componentWillMount';\n }\n if (typeof prototype.componentWillReceiveProps === 'function') {\n foundWillReceivePropsName = 'componentWillReceiveProps';\n } else if (typeof prototype.UNSAFE_componentWillReceiveProps === 'function') {\n foundWillReceivePropsName = 'UNSAFE_componentWillReceiveProps';\n }\n if (typeof prototype.componentWillUpdate === 'function') {\n foundWillUpdateName = 'componentWillUpdate';\n } else if (typeof prototype.UNSAFE_componentWillUpdate === 'function') {\n foundWillUpdateName = 'UNSAFE_componentWillUpdate';\n }\n if (\n foundWillMountName !== null ||\n foundWillReceivePropsName !== null ||\n foundWillUpdateName !== null\n ) {\n var componentName = Component.displayName || Component.name;\n var newApiName =\n typeof Component.getDerivedStateFromProps === 'function'\n ? 'getDerivedStateFromProps()'\n : 'getSnapshotBeforeUpdate()';\n\n throw Error(\n 'Unsafe legacy lifecycles will not be called for components using new component APIs.\\n\\n' +\n componentName +\n ' uses ' +\n newApiName +\n ' but also contains the following legacy lifecycles:' +\n (foundWillMountName !== null ? '\\n ' + foundWillMountName : '') +\n (foundWillReceivePropsName !== null\n ? '\\n ' + foundWillReceivePropsName\n : '') +\n (foundWillUpdateName !== null ? '\\n ' + foundWillUpdateName : '') +\n '\\n\\nThe above lifecycles should be removed. Learn more about this warning here:\\n' +\n 'https://fb.me/react-async-component-lifecycle-hooks'\n );\n }\n\n // React <= 16.2 does not support static getDerivedStateFromProps.\n // As a workaround, use cWM and cWRP to invoke the new static lifecycle.\n // Newer versions of React will ignore these lifecycles if gDSFP exists.\n if (typeof Component.getDerivedStateFromProps === 'function') {\n prototype.componentWillMount = componentWillMount;\n prototype.componentWillReceiveProps = componentWillReceiveProps;\n }\n\n // React <= 16.2 does not support getSnapshotBeforeUpdate.\n // As a workaround, use cWU to invoke the new lifecycle.\n // Newer versions of React will ignore that lifecycle if gSBU exists.\n if (typeof prototype.getSnapshotBeforeUpdate === 'function') {\n if (typeof prototype.componentDidUpdate !== 'function') {\n throw new Error(\n 'Cannot polyfill getSnapshotBeforeUpdate() for components that do not define componentDidUpdate() on the prototype'\n );\n }\n\n prototype.componentWillUpdate = componentWillUpdate;\n\n var componentDidUpdate = prototype.componentDidUpdate;\n\n prototype.componentDidUpdate = function componentDidUpdatePolyfill(\n prevProps,\n prevState,\n maybeSnapshot\n ) {\n // 16.3+ will not execute our will-update method;\n // It will pass a snapshot value to did-update though.\n // Older versions will require our polyfilled will-update value.\n // We need to handle both cases, but can't just check for the presence of \"maybeSnapshot\",\n // Because for <= 15.x versions this might be a \"prevContext\" object.\n // We also can't just check \"__reactInternalSnapshot\",\n // Because get-snapshot might return a falsy value.\n // So check for the explicit __reactInternalSnapshotFlag flag to determine behavior.\n var snapshot = this.__reactInternalSnapshotFlag\n ? this.__reactInternalSnapshot\n : maybeSnapshot;\n\n componentDidUpdate.call(this, prevProps, prevState, snapshot);\n };\n }\n\n return Component;\n}\n\nexport { polyfill };\n","var regExpPropType = function (props, propName, componentName, location) {\n if (!(props[propName] instanceof RegExp)) {\n var propType = typeof props[propName];\n\n return new Error(\n (\"Invalid \" + location + \" `\" + propName + \"` of type `\" + propType + \"` \") +\n (\"supplied to `\" + componentName + \"`, expected `RegExp`.\")\n );\n }\n};\n\nmodule.exports = regExpPropType;\n","'use strict';\n\nvar matchOperatorsRe = /[|\\\\{}()[\\]^$+*?.]/g;\n\nmodule.exports = function (str) {\n\tif (typeof str !== 'string') {\n\t\tthrow new TypeError('Expected a string');\n\t}\n\n\treturn str.replace(matchOperatorsRe, '\\\\$&');\n};\n","module.exports = function blacklist (src) {\n var copy = {}\n var filter = arguments[1]\n\n if (typeof filter === 'string') {\n filter = {}\n for (var i = 1; i < arguments.length; i++) {\n filter[arguments[i]] = true\n }\n }\n\n for (var key in src) {\n // blacklist?\n if (filter[key]) continue\n\n copy[key] = src[key]\n }\n\n return copy\n}\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\n'use strict';\n\nvar _assign = require('object-assign');\n\n// -- Inlined from fbjs --\n\nvar emptyObject = {};\n\nif (process.env.NODE_ENV !== 'production') {\n Object.freeze(emptyObject);\n}\n\nvar validateFormat = function validateFormat(format) {};\n\nif (process.env.NODE_ENV !== 'production') {\n validateFormat = function validateFormat(format) {\n if (format === undefined) {\n throw new Error('invariant requires an error message argument');\n }\n };\n}\n\nfunction _invariant(condition, format, a, b, c, d, e, f) {\n validateFormat(format);\n\n if (!condition) {\n var error;\n if (format === undefined) {\n error = new Error('Minified exception occurred; use the non-minified dev environment ' + 'for the full error message and additional helpful warnings.');\n } else {\n var args = [a, b, c, d, e, f];\n var argIndex = 0;\n error = new Error(format.replace(/%s/g, function () {\n return args[argIndex++];\n }));\n error.name = 'Invariant Violation';\n }\n\n error.framesToPop = 1; // we don't care about invariant's own frame\n throw error;\n }\n}\n\nvar warning = function(){};\n\nif (process.env.NODE_ENV !== 'production') {\n var printWarning = function printWarning(format) {\n for (var _len = arguments.length, args = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n var argIndex = 0;\n var message = 'Warning: ' + format.replace(/%s/g, function () {\n return args[argIndex++];\n });\n if (typeof console !== 'undefined') {\n console.error(message);\n }\n try {\n // --- Welcome to debugging React ---\n // This error was thrown as a convenience so that you can use this stack\n // to find the callsite that caused this warning to fire.\n throw new Error(message);\n } catch (x) {}\n };\n\n warning = function warning(condition, format) {\n if (format === undefined) {\n throw new Error('`warning(condition, format, ...args)` requires a warning ' + 'message argument');\n }\n\n if (format.indexOf('Failed Composite propType: ') === 0) {\n return; // Ignore CompositeComponent proptype check.\n }\n\n if (!condition) {\n for (var _len2 = arguments.length, args = Array(_len2 > 2 ? _len2 - 2 : 0), _key2 = 2; _key2 < _len2; _key2++) {\n args[_key2 - 2] = arguments[_key2];\n }\n\n printWarning.apply(undefined, [format].concat(args));\n }\n };\n}\n\n// /-- Inlined from fbjs --\n\nvar MIXINS_KEY = 'mixins';\n\n// Helper function to allow the creation of anonymous functions which do not\n// have .name set to the name of the variable being assigned to.\nfunction identity(fn) {\n return fn;\n}\n\nvar ReactPropTypeLocationNames;\nif (process.env.NODE_ENV !== 'production') {\n ReactPropTypeLocationNames = {\n prop: 'prop',\n context: 'context',\n childContext: 'child context'\n };\n} else {\n ReactPropTypeLocationNames = {};\n}\n\nfunction factory(ReactComponent, isValidElement, ReactNoopUpdateQueue) {\n /**\n * Policies that describe methods in `ReactClassInterface`.\n */\n\n var injectedMixins = [];\n\n /**\n * Composite components are higher-level components that compose other composite\n * or host components.\n *\n * To create a new type of `ReactClass`, pass a specification of\n * your new class to `React.createClass`. The only requirement of your class\n * specification is that you implement a `render` method.\n *\n * var MyComponent = React.createClass({\n * render: function() {\n * return <div>Hello World</div>;\n * }\n * });\n *\n * The class specification supports a specific protocol of methods that have\n * special meaning (e.g. `render`). See `ReactClassInterface` for\n * more the comprehensive protocol. Any other properties and methods in the\n * class specification will be available on the prototype.\n *\n * @interface ReactClassInterface\n * @internal\n */\n var ReactClassInterface = {\n /**\n * An array of Mixin objects to include when defining your component.\n *\n * @type {array}\n * @optional\n */\n mixins: 'DEFINE_MANY',\n\n /**\n * An object containing properties and methods that should be defined on\n * the component's constructor instead of its prototype (static methods).\n *\n * @type {object}\n * @optional\n */\n statics: 'DEFINE_MANY',\n\n /**\n * Definition of prop types for this component.\n *\n * @type {object}\n * @optional\n */\n propTypes: 'DEFINE_MANY',\n\n /**\n * Definition of context types for this component.\n *\n * @type {object}\n * @optional\n */\n contextTypes: 'DEFINE_MANY',\n\n /**\n * Definition of context types this component sets for its children.\n *\n * @type {object}\n * @optional\n */\n childContextTypes: 'DEFINE_MANY',\n\n // ==== Definition methods ====\n\n /**\n * Invoked when the component is mounted. Values in the mapping will be set on\n * `this.props` if that prop is not specified (i.e. using an `in` check).\n *\n * This method is invoked before `getInitialState` and therefore cannot rely\n * on `this.state` or use `this.setState`.\n *\n * @return {object}\n * @optional\n */\n getDefaultProps: 'DEFINE_MANY_MERGED',\n\n /**\n * Invoked once before the component is mounted. The return value will be used\n * as the initial value of `this.state`.\n *\n * getInitialState: function() {\n * return {\n * isOn: false,\n * fooBaz: new BazFoo()\n * }\n * }\n *\n * @return {object}\n * @optional\n */\n getInitialState: 'DEFINE_MANY_MERGED',\n\n /**\n * @return {object}\n * @optional\n */\n getChildContext: 'DEFINE_MANY_MERGED',\n\n /**\n * Uses props from `this.props` and state from `this.state` to render the\n * structure of the component.\n *\n * No guarantees are made about when or how often this method is invoked, so\n * it must not have side effects.\n *\n * render: function() {\n * var name = this.props.name;\n * return <div>Hello, {name}!</div>;\n * }\n *\n * @return {ReactComponent}\n * @required\n */\n render: 'DEFINE_ONCE',\n\n // ==== Delegate methods ====\n\n /**\n * Invoked when the component is initially created and about to be mounted.\n * This may have side effects, but any external subscriptions or data created\n * by this method must be cleaned up in `componentWillUnmount`.\n *\n * @optional\n */\n componentWillMount: 'DEFINE_MANY',\n\n /**\n * Invoked when the component has been mounted and has a DOM representation.\n * However, there is no guarantee that the DOM node is in the document.\n *\n * Use this as an opportunity to operate on the DOM when the component has\n * been mounted (initialized and rendered) for the first time.\n *\n * @param {DOMElement} rootNode DOM element representing the component.\n * @optional\n */\n componentDidMount: 'DEFINE_MANY',\n\n /**\n * Invoked before the component receives new props.\n *\n * Use this as an opportunity to react to a prop transition by updating the\n * state using `this.setState`. Current props are accessed via `this.props`.\n *\n * componentWillReceiveProps: function(nextProps, nextContext) {\n * this.setState({\n * likesIncreasing: nextProps.likeCount > this.props.likeCount\n * });\n * }\n *\n * NOTE: There is no equivalent `componentWillReceiveState`. An incoming prop\n * transition may cause a state change, but the opposite is not true. If you\n * need it, you are probably looking for `componentWillUpdate`.\n *\n * @param {object} nextProps\n * @optional\n */\n componentWillReceiveProps: 'DEFINE_MANY',\n\n /**\n * Invoked while deciding if the component should be updated as a result of\n * receiving new props, state and/or context.\n *\n * Use this as an opportunity to `return false` when you're certain that the\n * transition to the new props/state/context will not require a component\n * update.\n *\n * shouldComponentUpdate: function(nextProps, nextState, nextContext) {\n * return !equal(nextProps, this.props) ||\n * !equal(nextState, this.state) ||\n * !equal(nextContext, this.context);\n * }\n *\n * @param {object} nextProps\n * @param {?object} nextState\n * @param {?object} nextContext\n * @return {boolean} True if the component should update.\n * @optional\n */\n shouldComponentUpdate: 'DEFINE_ONCE',\n\n /**\n * Invoked when the component is about to update due to a transition from\n * `this.props`, `this.state` and `this.context` to `nextProps`, `nextState`\n * and `nextContext`.\n *\n * Use this as an opportunity to perform preparation before an update occurs.\n *\n * NOTE: You **cannot** use `this.setState()` in this method.\n *\n * @param {object} nextProps\n * @param {?object} nextState\n * @param {?object} nextContext\n * @param {ReactReconcileTransaction} transaction\n * @optional\n */\n componentWillUpdate: 'DEFINE_MANY',\n\n /**\n * Invoked when the component's DOM representation has been updated.\n *\n * Use this as an opportunity to operate on the DOM when the component has\n * been updated.\n *\n * @param {object} prevProps\n * @param {?object} prevState\n * @param {?object} prevContext\n * @param {DOMElement} rootNode DOM element representing the component.\n * @optional\n */\n componentDidUpdate: 'DEFINE_MANY',\n\n /**\n * Invoked when the component is about to be removed from its parent and have\n * its DOM representation destroyed.\n *\n * Use this as an opportunity to deallocate any external resources.\n *\n * NOTE: There is no `componentDidUnmount` since your component will have been\n * destroyed by that point.\n *\n * @optional\n */\n componentWillUnmount: 'DEFINE_MANY',\n\n /**\n * Replacement for (deprecated) `componentWillMount`.\n *\n * @optional\n */\n UNSAFE_componentWillMount: 'DEFINE_MANY',\n\n /**\n * Replacement for (deprecated) `componentWillReceiveProps`.\n *\n * @optional\n */\n UNSAFE_componentWillReceiveProps: 'DEFINE_MANY',\n\n /**\n * Replacement for (deprecated) `componentWillUpdate`.\n *\n * @optional\n */\n UNSAFE_componentWillUpdate: 'DEFINE_MANY',\n\n // ==== Advanced methods ====\n\n /**\n * Updates the component's currently mounted DOM representation.\n *\n * By default, this implements React's rendering and reconciliation algorithm.\n * Sophisticated clients may wish to override this.\n *\n * @param {ReactReconcileTransaction} transaction\n * @internal\n * @overridable\n */\n updateComponent: 'OVERRIDE_BASE'\n };\n\n /**\n * Similar to ReactClassInterface but for static methods.\n */\n var ReactClassStaticInterface = {\n /**\n * This method is invoked after a component is instantiated and when it\n * receives new props. Return an object to update state in response to\n * prop changes. Return null to indicate no change to state.\n *\n * If an object is returned, its keys will be merged into the existing state.\n *\n * @return {object || null}\n * @optional\n */\n getDerivedStateFromProps: 'DEFINE_MANY_MERGED'\n };\n\n /**\n * Mapping from class specification keys to special processing functions.\n *\n * Although these are declared like instance properties in the specification\n * when defining classes using `React.createClass`, they are actually static\n * and are accessible on the constructor instead of the prototype. Despite\n * being static, they must be defined outside of the \"statics\" key under\n * which all other static methods are defined.\n */\n var RESERVED_SPEC_KEYS = {\n displayName: function(Constructor, displayName) {\n Constructor.displayName = displayName;\n },\n mixins: function(Constructor, mixins) {\n if (mixins) {\n for (var i = 0; i < mixins.length; i++) {\n mixSpecIntoComponent(Constructor, mixins[i]);\n }\n }\n },\n childContextTypes: function(Constructor, childContextTypes) {\n if (process.env.NODE_ENV !== 'production') {\n validateTypeDef(Constructor, childContextTypes, 'childContext');\n }\n Constructor.childContextTypes = _assign(\n {},\n Constructor.childContextTypes,\n childContextTypes\n );\n },\n contextTypes: function(Constructor, contextTypes) {\n if (process.env.NODE_ENV !== 'production') {\n validateTypeDef(Constructor, contextTypes, 'context');\n }\n Constructor.contextTypes = _assign(\n {},\n Constructor.contextTypes,\n contextTypes\n );\n },\n /**\n * Special case getDefaultProps which should move into statics but requires\n * automatic merging.\n */\n getDefaultProps: function(Constructor, getDefaultProps) {\n if (Constructor.getDefaultProps) {\n Constructor.getDefaultProps = createMergedResultFunction(\n Constructor.getDefaultProps,\n getDefaultProps\n );\n } else {\n Constructor.getDefaultProps = getDefaultProps;\n }\n },\n propTypes: function(Constructor, propTypes) {\n if (process.env.NODE_ENV !== 'production') {\n validateTypeDef(Constructor, propTypes, 'prop');\n }\n Constructor.propTypes = _assign({}, Constructor.propTypes, propTypes);\n },\n statics: function(Constructor, statics) {\n mixStaticSpecIntoComponent(Constructor, statics);\n },\n autobind: function() {}\n };\n\n function validateTypeDef(Constructor, typeDef, location) {\n for (var propName in typeDef) {\n if (typeDef.hasOwnProperty(propName)) {\n // use a warning instead of an _invariant so components\n // don't show up in prod but only in __DEV__\n if (process.env.NODE_ENV !== 'production') {\n warning(\n typeof typeDef[propName] === 'function',\n '%s: %s type `%s` is invalid; it must be a function, usually from ' +\n 'React.PropTypes.',\n Constructor.displayName || 'ReactClass',\n ReactPropTypeLocationNames[location],\n propName\n );\n }\n }\n }\n }\n\n function validateMethodOverride(isAlreadyDefined, name) {\n var specPolicy = ReactClassInterface.hasOwnProperty(name)\n ? ReactClassInterface[name]\n : null;\n\n // Disallow overriding of base class methods unless explicitly allowed.\n if (ReactClassMixin.hasOwnProperty(name)) {\n _invariant(\n specPolicy === 'OVERRIDE_BASE',\n 'ReactClassInterface: You are attempting to override ' +\n '`%s` from your class specification. Ensure that your method names ' +\n 'do not overlap with React methods.',\n name\n );\n }\n\n // Disallow defining methods more than once unless explicitly allowed.\n if (isAlreadyDefined) {\n _invariant(\n specPolicy === 'DEFINE_MANY' || specPolicy === 'DEFINE_MANY_MERGED',\n 'ReactClassInterface: You are attempting to define ' +\n '`%s` on your component more than once. This conflict may be due ' +\n 'to a mixin.',\n name\n );\n }\n }\n\n /**\n * Mixin helper which handles policy validation and reserved\n * specification keys when building React classes.\n */\n function mixSpecIntoComponent(Constructor, spec) {\n if (!spec) {\n if (process.env.NODE_ENV !== 'production') {\n var typeofSpec = typeof spec;\n var isMixinValid = typeofSpec === 'object' && spec !== null;\n\n if (process.env.NODE_ENV !== 'production') {\n warning(\n isMixinValid,\n \"%s: You're attempting to include a mixin that is either null \" +\n 'or not an object. Check the mixins included by the component, ' +\n 'as well as any mixins they include themselves. ' +\n 'Expected object but got %s.',\n Constructor.displayName || 'ReactClass',\n spec === null ? null : typeofSpec\n );\n }\n }\n\n return;\n }\n\n _invariant(\n typeof spec !== 'function',\n \"ReactClass: You're attempting to \" +\n 'use a component class or function as a mixin. Instead, just use a ' +\n 'regular object.'\n );\n _invariant(\n !isValidElement(spec),\n \"ReactClass: You're attempting to \" +\n 'use a component as a mixin. Instead, just use a regular object.'\n );\n\n var proto = Constructor.prototype;\n var autoBindPairs = proto.__reactAutoBindPairs;\n\n // By handling mixins before any other properties, we ensure the same\n // chaining order is applied to methods with DEFINE_MANY policy, whether\n // mixins are listed before or after these methods in the spec.\n if (spec.hasOwnProperty(MIXINS_KEY)) {\n RESERVED_SPEC_KEYS.mixins(Constructor, spec.mixins);\n }\n\n for (var name in spec) {\n if (!spec.hasOwnProperty(name)) {\n continue;\n }\n\n if (name === MIXINS_KEY) {\n // We have already handled mixins in a special case above.\n continue;\n }\n\n var property = spec[name];\n var isAlreadyDefined = proto.hasOwnProperty(name);\n validateMethodOverride(isAlreadyDefined, name);\n\n if (RESERVED_SPEC_KEYS.hasOwnProperty(name)) {\n RESERVED_SPEC_KEYS[name](Constructor, property);\n } else {\n // Setup methods on prototype:\n // The following member methods should not be automatically bound:\n // 1. Expected ReactClass methods (in the \"interface\").\n // 2. Overridden methods (that were mixed in).\n var isReactClassMethod = ReactClassInterface.hasOwnProperty(name);\n var isFunction = typeof property === 'function';\n var shouldAutoBind =\n isFunction &&\n !isReactClassMethod &&\n !isAlreadyDefined &&\n spec.autobind !== false;\n\n if (shouldAutoBind) {\n autoBindPairs.push(name, property);\n proto[name] = property;\n } else {\n if (isAlreadyDefined) {\n var specPolicy = ReactClassInterface[name];\n\n // These cases should already be caught by validateMethodOverride.\n _invariant(\n isReactClassMethod &&\n (specPolicy === 'DEFINE_MANY_MERGED' ||\n specPolicy === 'DEFINE_MANY'),\n 'ReactClass: Unexpected spec policy %s for key %s ' +\n 'when mixing in component specs.',\n specPolicy,\n name\n );\n\n // For methods which are defined more than once, call the existing\n // methods before calling the new property, merging if appropriate.\n if (specPolicy === 'DEFINE_MANY_MERGED') {\n proto[name] = createMergedResultFunction(proto[name], property);\n } else if (specPolicy === 'DEFINE_MANY') {\n proto[name] = createChainedFunction(proto[name], property);\n }\n } else {\n proto[name] = property;\n if (process.env.NODE_ENV !== 'production') {\n // Add verbose displayName to the function, which helps when looking\n // at profiling tools.\n if (typeof property === 'function' && spec.displayName) {\n proto[name].displayName = spec.displayName + '_' + name;\n }\n }\n }\n }\n }\n }\n }\n\n function mixStaticSpecIntoComponent(Constructor, statics) {\n if (!statics) {\n return;\n }\n\n for (var name in statics) {\n var property = statics[name];\n if (!statics.hasOwnProperty(name)) {\n continue;\n }\n\n var isReserved = name in RESERVED_SPEC_KEYS;\n _invariant(\n !isReserved,\n 'ReactClass: You are attempting to define a reserved ' +\n 'property, `%s`, that shouldn\\'t be on the \"statics\" key. Define it ' +\n 'as an instance property instead; it will still be accessible on the ' +\n 'constructor.',\n name\n );\n\n var isAlreadyDefined = name in Constructor;\n if (isAlreadyDefined) {\n var specPolicy = ReactClassStaticInterface.hasOwnProperty(name)\n ? ReactClassStaticInterface[name]\n : null;\n\n _invariant(\n specPolicy === 'DEFINE_MANY_MERGED',\n 'ReactClass: You are attempting to define ' +\n '`%s` on your component more than once. This conflict may be ' +\n 'due to a mixin.',\n name\n );\n\n Constructor[name] = createMergedResultFunction(Constructor[name], property);\n\n return;\n }\n\n Constructor[name] = property;\n }\n }\n\n /**\n * Merge two objects, but throw if both contain the same key.\n *\n * @param {object} one The first object, which is mutated.\n * @param {object} two The second object\n * @return {object} one after it has been mutated to contain everything in two.\n */\n function mergeIntoWithNoDuplicateKeys(one, two) {\n _invariant(\n one && two && typeof one === 'object' && typeof two === 'object',\n 'mergeIntoWithNoDuplicateKeys(): Cannot merge non-objects.'\n );\n\n for (var key in two) {\n if (two.hasOwnProperty(key)) {\n _invariant(\n one[key] === undefined,\n 'mergeIntoWithNoDuplicateKeys(): ' +\n 'Tried to merge two objects with the same key: `%s`. This conflict ' +\n 'may be due to a mixin; in particular, this may be caused by two ' +\n 'getInitialState() or getDefaultProps() methods returning objects ' +\n 'with clashing keys.',\n key\n );\n one[key] = two[key];\n }\n }\n return one;\n }\n\n /**\n * Creates a function that invokes two functions and merges their return values.\n *\n * @param {function} one Function to invoke first.\n * @param {function} two Function to invoke second.\n * @return {function} Function that invokes the two argument functions.\n * @private\n */\n function createMergedResultFunction(one, two) {\n return function mergedResult() {\n var a = one.apply(this, arguments);\n var b = two.apply(this, arguments);\n if (a == null) {\n return b;\n } else if (b == null) {\n return a;\n }\n var c = {};\n mergeIntoWithNoDuplicateKeys(c, a);\n mergeIntoWithNoDuplicateKeys(c, b);\n return c;\n };\n }\n\n /**\n * Creates a function that invokes two functions and ignores their return vales.\n *\n * @param {function} one Function to invoke first.\n * @param {function} two Function to invoke second.\n * @return {function} Function that invokes the two argument functions.\n * @private\n */\n function createChainedFunction(one, two) {\n return function chainedFunction() {\n one.apply(this, arguments);\n two.apply(this, arguments);\n };\n }\n\n /**\n * Binds a method to the component.\n *\n * @param {object} component Component whose method is going to be bound.\n * @param {function} method Method to be bound.\n * @return {function} The bound method.\n */\n function bindAutoBindMethod(component, method) {\n var boundMethod = method.bind(component);\n if (process.env.NODE_ENV !== 'production') {\n boundMethod.__reactBoundContext = component;\n boundMethod.__reactBoundMethod = method;\n boundMethod.__reactBoundArguments = null;\n var componentName = component.constructor.displayName;\n var _bind = boundMethod.bind;\n boundMethod.bind = function(newThis) {\n for (\n var _len = arguments.length,\n args = Array(_len > 1 ? _len - 1 : 0),\n _key = 1;\n _key < _len;\n _key++\n ) {\n args[_key - 1] = arguments[_key];\n }\n\n // User is trying to bind() an autobound method; we effectively will\n // ignore the value of \"this\" that the user is trying to use, so\n // let's warn.\n if (newThis !== component && newThis !== null) {\n if (process.env.NODE_ENV !== 'production') {\n warning(\n false,\n 'bind(): React component methods may only be bound to the ' +\n 'component instance. See %s',\n componentName\n );\n }\n } else if (!args.length) {\n if (process.env.NODE_ENV !== 'production') {\n warning(\n false,\n 'bind(): You are binding a component method to the component. ' +\n 'React does this for you automatically in a high-performance ' +\n 'way, so you can safely remove this call. See %s',\n componentName\n );\n }\n return boundMethod;\n }\n var reboundMethod = _bind.apply(boundMethod, arguments);\n reboundMethod.__reactBoundContext = component;\n reboundMethod.__reactBoundMethod = method;\n reboundMethod.__reactBoundArguments = args;\n return reboundMethod;\n };\n }\n return boundMethod;\n }\n\n /**\n * Binds all auto-bound methods in a component.\n *\n * @param {object} component Component whose method is going to be bound.\n */\n function bindAutoBindMethods(component) {\n var pairs = component.__reactAutoBindPairs;\n for (var i = 0; i < pairs.length; i += 2) {\n var autoBindKey = pairs[i];\n var method = pairs[i + 1];\n component[autoBindKey] = bindAutoBindMethod(component, method);\n }\n }\n\n var IsMountedPreMixin = {\n componentDidMount: function() {\n this.__isMounted = true;\n }\n };\n\n var IsMountedPostMixin = {\n componentWillUnmount: function() {\n this.__isMounted = false;\n }\n };\n\n /**\n * Add more to the ReactClass base class. These are all legacy features and\n * therefore not already part of the modern ReactComponent.\n */\n var ReactClassMixin = {\n /**\n * TODO: This will be deprecated because state should always keep a consistent\n * type signature and the only use case for this, is to avoid that.\n */\n replaceState: function(newState, callback) {\n this.updater.enqueueReplaceState(this, newState, callback);\n },\n\n /**\n * Checks whether or not this composite component is mounted.\n * @return {boolean} True if mounted, false otherwise.\n * @protected\n * @final\n */\n isMounted: function() {\n if (process.env.NODE_ENV !== 'production') {\n warning(\n this.__didWarnIsMounted,\n '%s: isMounted is deprecated. Instead, make sure to clean up ' +\n 'subscriptions and pending requests in componentWillUnmount to ' +\n 'prevent memory leaks.',\n (this.constructor && this.constructor.displayName) ||\n this.name ||\n 'Component'\n );\n this.__didWarnIsMounted = true;\n }\n return !!this.__isMounted;\n }\n };\n\n var ReactClassComponent = function() {};\n _assign(\n ReactClassComponent.prototype,\n ReactComponent.prototype,\n ReactClassMixin\n );\n\n /**\n * Creates a composite component class given a class specification.\n * See https://facebook.github.io/react/docs/top-level-api.html#react.createclass\n *\n * @param {object} spec Class specification (which must define `render`).\n * @return {function} Component constructor function.\n * @public\n */\n function createClass(spec) {\n // To keep our warnings more understandable, we'll use a little hack here to\n // ensure that Constructor.name !== 'Constructor'. This makes sure we don't\n // unnecessarily identify a class without displayName as 'Constructor'.\n var Constructor = identity(function(props, context, updater) {\n // This constructor gets overridden by mocks. The argument is used\n // by mocks to assert on what gets mounted.\n\n if (process.env.NODE_ENV !== 'production') {\n warning(\n this instanceof Constructor,\n 'Something is calling a React component directly. Use a factory or ' +\n 'JSX instead. See: https://fb.me/react-legacyfactory'\n );\n }\n\n // Wire up auto-binding\n if (this.__reactAutoBindPairs.length) {\n bindAutoBindMethods(this);\n }\n\n this.props = props;\n this.context = context;\n this.refs = emptyObject;\n this.updater = updater || ReactNoopUpdateQueue;\n\n this.state = null;\n\n // ReactClasses doesn't have constructors. Instead, they use the\n // getInitialState and componentWillMount methods for initialization.\n\n var initialState = this.getInitialState ? this.getInitialState() : null;\n if (process.env.NODE_ENV !== 'production') {\n // We allow auto-mocks to proceed as if they're returning null.\n if (\n initialState === undefined &&\n this.getInitialState._isMockFunction\n ) {\n // This is probably bad practice. Consider warning here and\n // deprecating this convenience.\n initialState = null;\n }\n }\n _invariant(\n typeof initialState === 'object' && !Array.isArray(initialState),\n '%s.getInitialState(): must return an object or null',\n Constructor.displayName || 'ReactCompositeComponent'\n );\n\n this.state = initialState;\n });\n Constructor.prototype = new ReactClassComponent();\n Constructor.prototype.constructor = Constructor;\n Constructor.prototype.__reactAutoBindPairs = [];\n\n injectedMixins.forEach(mixSpecIntoComponent.bind(null, Constructor));\n\n mixSpecIntoComponent(Constructor, IsMountedPreMixin);\n mixSpecIntoComponent(Constructor, spec);\n mixSpecIntoComponent(Constructor, IsMountedPostMixin);\n\n // Initialize the defaultProps property after all mixins have been merged.\n if (Constructor.getDefaultProps) {\n Constructor.defaultProps = Constructor.getDefaultProps();\n }\n\n if (process.env.NODE_ENV !== 'production') {\n // This is a tag to indicate that the use of these method names is ok,\n // since it's used with createClass. If it's not, then it's likely a\n // mistake so we'll warn you to use the static property, property\n // initializer or constructor respectively.\n if (Constructor.getDefaultProps) {\n Constructor.getDefaultProps.isReactClassApproved = {};\n }\n if (Constructor.prototype.getInitialState) {\n Constructor.prototype.getInitialState.isReactClassApproved = {};\n }\n }\n\n _invariant(\n Constructor.prototype.render,\n 'createClass(...): Class specification must implement a `render` method.'\n );\n\n if (process.env.NODE_ENV !== 'production') {\n warning(\n !Constructor.prototype.componentShouldUpdate,\n '%s has a method called ' +\n 'componentShouldUpdate(). Did you mean shouldComponentUpdate()? ' +\n 'The name is phrased as a question because the function is ' +\n 'expected to return a value.',\n spec.displayName || 'A component'\n );\n warning(\n !Constructor.prototype.componentWillRecieveProps,\n '%s has a method called ' +\n 'componentWillRecieveProps(). Did you mean componentWillReceiveProps()?',\n spec.displayName || 'A component'\n );\n warning(\n !Constructor.prototype.UNSAFE_componentWillRecieveProps,\n '%s has a method called UNSAFE_componentWillRecieveProps(). ' +\n 'Did you mean UNSAFE_componentWillReceiveProps()?',\n spec.displayName || 'A component'\n );\n }\n\n // Reduce time spent doing lookups by setting these on the prototype.\n for (var methodName in ReactClassInterface) {\n if (!Constructor.prototype[methodName]) {\n Constructor.prototype[methodName] = null;\n }\n }\n\n return Constructor;\n }\n\n return createClass;\n}\n\nmodule.exports = factory;\n","/*\nobject-assign\n(c) Sindre Sorhus\n@license MIT\n*/\n\n'use strict';\n/* eslint-disable no-unused-vars */\nvar getOwnPropertySymbols = Object.getOwnPropertySymbols;\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\nvar propIsEnumerable = Object.prototype.propertyIsEnumerable;\n\nfunction toObject(val) {\n\tif (val === null || val === undefined) {\n\t\tthrow new TypeError('Object.assign cannot be called with null or undefined');\n\t}\n\n\treturn Object(val);\n}\n\nfunction shouldUseNative() {\n\ttry {\n\t\tif (!Object.assign) {\n\t\t\treturn false;\n\t\t}\n\n\t\t// Detect buggy property enumeration order in older V8 versions.\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=4118\n\t\tvar test1 = new String('abc'); // eslint-disable-line no-new-wrappers\n\t\ttest1[5] = 'de';\n\t\tif (Object.getOwnPropertyNames(test1)[0] === '5') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test2 = {};\n\t\tfor (var i = 0; i < 10; i++) {\n\t\t\ttest2['_' + String.fromCharCode(i)] = i;\n\t\t}\n\t\tvar order2 = Object.getOwnPropertyNames(test2).map(function (n) {\n\t\t\treturn test2[n];\n\t\t});\n\t\tif (order2.join('') !== '0123456789') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test3 = {};\n\t\t'abcdefghijklmnopqrst'.split('').forEach(function (letter) {\n\t\t\ttest3[letter] = letter;\n\t\t});\n\t\tif (Object.keys(Object.assign({}, test3)).join('') !==\n\t\t\t\t'abcdefghijklmnopqrst') {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn true;\n\t} catch (err) {\n\t\t// We don't expect any of the above to throw, but better to be safe.\n\t\treturn false;\n\t}\n}\n\nmodule.exports = shouldUseNative() ? Object.assign : function (target, source) {\n\tvar from;\n\tvar to = toObject(target);\n\tvar symbols;\n\n\tfor (var s = 1; s < arguments.length; s++) {\n\t\tfrom = Object(arguments[s]);\n\n\t\tfor (var key in from) {\n\t\t\tif (hasOwnProperty.call(from, key)) {\n\t\t\t\tto[key] = from[key];\n\t\t\t}\n\t\t}\n\n\t\tif (getOwnPropertySymbols) {\n\t\t\tsymbols = getOwnPropertySymbols(from);\n\t\t\tfor (var i = 0; i < symbols.length; i++) {\n\t\t\t\tif (propIsEnumerable.call(from, symbols[i])) {\n\t\t\t\t\tto[symbols[i]] = from[symbols[i]];\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\treturn to;\n};\n","'use strict';\n\nvar isArray = Array.isArray;\nvar keyList = Object.keys;\nvar hasProp = Object.prototype.hasOwnProperty;\n\nmodule.exports = function equal(a, b) {\n if (a === b) return true;\n\n if (a && b && typeof a == 'object' && typeof b == 'object') {\n var arrA = isArray(a)\n , arrB = isArray(b)\n , i\n , length\n , key;\n\n if (arrA && arrB) {\n length = a.length;\n if (length != b.length) return false;\n for (i = length; i-- !== 0;)\n if (!equal(a[i], b[i])) return false;\n return true;\n }\n\n if (arrA != arrB) return false;\n\n var dateA = a instanceof Date\n , dateB = b instanceof Date;\n if (dateA != dateB) return false;\n if (dateA && dateB) return a.getTime() == b.getTime();\n\n var regexpA = a instanceof RegExp\n , regexpB = b instanceof RegExp;\n if (regexpA != regexpB) return false;\n if (regexpA && regexpB) return a.toString() == b.toString();\n\n var keys = keyList(a);\n length = keys.length;\n\n if (length !== keyList(b).length)\n return false;\n\n for (i = length; i-- !== 0;)\n if (!hasProp.call(b, keys[i])) return false;\n\n for (i = length; i-- !== 0;) {\n key = keys[i];\n if (!equal(a[key], b[key])) return false;\n }\n\n return true;\n }\n\n return a!==a && b!==b;\n};\n","// ## Components\nexport const ACCORDION = 'SLDSAccordion';\nexport const ACCORDION_PANEL = 'SLDSAccordionPanel';\nexport const ALERT = 'SLDSAlert';\nexport const ALERT_CONTAINER = 'SLDSAlertContainer';\nexport const APP_LAUNCHER = 'SLDSAppLauncher';\nexport const APP_LAUNCHER_EXPANDABLE_SECTION =\n\t'SLDSAppLauncherExpandableSection';\n/* Remove at next breaking change */\nexport const APP_LAUNCHER_SECTION = 'SLDSAppLauncherSection';\nexport const APP_LAUNCHER_LINK = 'SLDSAppLauncherLink';\nexport const APP_LAUNCHER_TILE = 'SLDSAppLauncherTile';\nexport const APP_LAUNCHER_HEADER = 'SLDSAppLauncherHeader';\nexport const AVATAR = 'SLDSAvatar';\nexport const BADGE = 'SLDSBadge';\n\nexport const BRAND_BAND = 'SLDSBrandBand';\n\n/* Remove at next breaking change */\nexport const BREAD_CRUMB = 'SLDSBreadcrumb';\n\nexport const BREADCRUMB = 'SLDSBreadcrumb';\nexport const BUILDER_HEADER = 'SLDSBuilderHeader';\nexport const BUILDER_HEADER_MISC = 'SLDSBuilderHeaderMisc';\nexport const BUILDER_HEADER_NAV = 'SLDSBuilderHeaderNav';\nexport const BUILDER_HEADER_NAV_DROPDOWN = 'SLDSBuilderHeaderNavDropdown';\nexport const BUILDER_HEADER_NAV_LINK = 'SLDSBuilderHeaderNavLink';\nexport const BUILDER_HEADER_TOOLBAR = 'SLDSBuilderHeaderToolbar';\nexport const BUTTON = 'SLDSButton';\nexport const BUTTON_GROUP = 'SLDSButtonGroup';\nexport const BUTTON_STATEFUL = 'SLDSButtonStateful';\nexport const BUTTON_ICON = 'SLDSButtonIcon'; // a non-interctive icon wrapper for SLDSUtilityIcon\nexport const CARD = 'SLDSCard';\nexport const CARD_BODY = 'SLDSCardBody';\nexport const CARD_EMPTY = 'SLDSCardEmpty';\nexport const CARD_FILTER = 'SLDSCardFilter';\nexport const CARD_FOOTER = 'SLDSCardFooter';\nexport const CARD_HEADER = 'SLDSCardHeader';\nexport const CAROUSEL = 'SLDSCarousel';\nexport const CAROUSEL_INDICATORS = 'SLDSCarouselIndicators';\nexport const CAROUSEL_ITEM = 'SLDSCarouselItem';\nexport const CAROUSEL_NAVIGATORS = 'SLDSCarouselNavigators';\nexport const CAROUSEL_AUTOPLAY_BUTTON = 'SLDSCarouselAutoplayButton';\nexport const COLOR_PICKER = 'SLDSColorPicker';\nexport const COMBOBOX = 'SLDSCombobox';\nexport const DATA_TABLE = 'SLDSDataTable';\nexport const DATA_TABLE_CELL = 'SLDSDataTableCell';\nexport const DATA_TABLE_COLUMN = 'SLDSDataTableColumn';\nexport const DATA_TABLE_HEAD = 'SLDSDataTableHead';\nexport const DATA_TABLE_HEADER_CELL = 'SLDSDataTableHeaderCell';\nexport const DATA_TABLE_ROW_ACTIONS = 'SLDSDataTableRowActions';\nexport const DATA_TABLE_ROW = 'SLDSDataTableRow';\nexport const DATE_PICKER = 'SLDSDatePicker';\nexport const DEPRECATED_WARNING = 'SLDSDeprecatedWarning';\nexport const DYNAMIC_ICON = 'SLDSDynamicIcon';\nexport const DIALOG = 'SLDSDialog';\nexport const FILES = 'SLDSFiles';\nexport const FILES_FILE = `SLDSFilesFile`;\nexport const FILES_MORE = `SLDSFilesMore`;\nexport const FILES_FIGURE = 'SLDSFilesFigure';\nexport const FILES_ACTIONS = 'SLDSFilesActions';\nexport const EXPANDABLE_SECTION = 'SLDSExpandableSection';\nexport const EXPRESSION = 'SLDSExpression';\nexport const EXPRESSION_GROUP = 'SLDSExpressionGroup';\nexport const EXPRESSION_CONDITION = 'SLDSExpressionCondition';\nexport const EXPRESSION_FORMULA = 'SLDSExpressionFormula';\nexport const FILTER = 'SLDSFilter';\nexport const CHECKBOX = 'SLDSCheckbox';\nexport const FORMS_INLINE_EDIT = 'SLDSInlineEdit';\nexport const INPUT = 'SLDSInput';\nexport const TEXTAREA = 'SLDSTextarea';\nexport const SEARCH = 'SLDSSearch';\nexport const GLOBAL_HEADER = 'SLDSGlobalHeader';\nexport const GLOBAL_HEADER_BUTTON = 'SLDSGlobalHeaderButton';\nexport const GLOBAL_HEADER_DROPDOWN = 'SLDSGlobalHeaderDropdown';\nexport const GLOBAL_HEADER_FAVORITES = 'SLDSGlobalHeaderFavorites';\nexport const GLOBAL_HEADER_HELP = 'SLDSGlobalHeaderHelp';\nexport const GLOBAL_HEADER_NOTIFICATIONS = 'SLDSGlobalHeaderNotifications';\nexport const GLOBAL_HEADER_PROFILE = 'SLDSGlobalHeaderProfile';\nexport const GLOBAL_HEADER_SEARCH = 'SLDSGlobalHeaderSearch';\nexport const GLOBAL_HEADER_SETUP = 'SLDSGlobalHeaderSetup';\nexport const GLOBAL_HEADER_TASK = 'SLDSGlobalHeaderTask';\nexport const GLOBAL_HEADER_TOOL = 'SLDSGlobalHeaderTool';\nexport const GLOBAL_NAVIGATION_BAR = 'SLDSGlobalNavigationBar';\nexport const GLOBAL_NAVIGATION_BAR_BUTTON = 'SLDSGlobalNavigationBarButton';\nexport const GLOBAL_NAVIGATION_BAR_DROPDOWN = 'SLDSGlobalNavigationBarDropdown';\nexport const GLOBAL_NAVIGATION_BAR_LABEL = 'SLDSGlobalNavigationBarLabel';\nexport const GLOBAL_NAVIGATION_BAR_LINK = 'SLDSGlobalNavigationBarLink';\nexport const GLOBAL_NAVIGATION_BAR_REGION = 'SLDSGlobalNavigationBarRegion';\nexport const GLOBAL_NAVIGATION_BAR_APP_LAUNCHER =\n\t'SLDSGlobalNavigationBarAppLauncher';\nexport const GRID = 'SLDSGrid';\nexport const HIGHLIGHTER = 'SLDSHighlighter';\nexport const ICON = 'SLDSIcon';\nexport const ICON_SETTINGS = 'SLDSIconSettings';\nexport const ICON_INPUT = 'SLDSIconInput';\nexport const ILLUSTRATION = 'SLDSIllustration';\nexport const LIST = 'SLDSList';\nexport const LIST_ITEM = 'SLDSListItem';\nexport const LIST_ITEM_LABEL = 'SLDSListItemLabel';\nexport const LISTBOX_OF_PILL_OPTIONS = 'SLDSListboxOfPillOptions';\nexport const LOCATION_MAP = 'SLDSLocationMap';\nexport const LOOKUP = 'SLDSLookup';\nexport const MEDIA_OBJECT = 'SLDSMediaObject';\nexport const MENU_DROPDOWN = 'SLDSMenuDropdown';\nexport const MENU_DROPDOWN_TRIGGER = 'SLDSMenuDropdownTrigger';\nexport const MENU_PICKLIST = 'SLDSMenuPicklist';\nexport const MODAL = 'SLDSModal';\nexport const NOTIFICATION = 'SLDSNotification';\nexport const PANEL = 'SLDSPanel';\nexport const PANEL_FILTER_GROUP = 'SLDSFilterGroup';\nexport const PANEL_FILTER_LIST = 'SLDSFilterList';\nexport const PANEL_FILTER_LIST_HEADING = 'SLDSPanelFilterListHeading';\nexport const PAGE_HEADER = 'SLDSPageHeader';\nexport const PAGE_HEADER_CONTROL = 'SLDSPageHeaderControl';\nexport const PILL = 'SLDSPill';\nexport const PILL_CONTAINER = 'SLDSPillContainer';\nexport const POPOVER = 'SLDSPopover';\nexport const POPOVER_EDIT_DIALOG = 'SLDSPopoverEditDialog';\nexport const POPOVER_TOOLTIP = 'SLDSPopoverTooltip';\nexport const PROGRESS_INDICATOR = 'SLDSProgressIndicator';\nexport const PROGRESS_INDICATOR_PROGRESS = 'SLDSProgressIndicatorProgress';\nexport const PROGRESS_INDICATOR_STEP = 'SLDSProgressIndicatorStep';\nexport const PROGRESS_INDICATOR_STEP_VERTICAL =\n\t'SLDSProgressIndicatorStepVertical';\nexport const PROGRESS_RING = 'SLDSProgressRing';\nexport const PROGRESS_BAR = 'SLDSProgressBar';\nexport const SETUP_ASSISTANT = 'SLDSSetupAssistant';\nexport const SETUP_ASSISTANT_STEP = 'SLDSSetupAssistantStep';\nexport const SCOPED_NOTIFICATION = 'SLDSScopedNotification';\nexport const SLIDER = 'SLDSSlider';\nexport const SPINNER = 'SLDSSpinner';\nexport const SPLIT_VIEW = 'SLDSSplitView';\nexport const SPLIT_VIEW_HEADER = 'SLDSSplitViewHeader';\nexport const SPLIT_VIEW_LISTBOX = 'SLDSSplitViewListbox';\nexport const RADIO = 'SLDSRadio';\nexport const RADIO_GROUP = 'SLDSRadioGroup';\nexport const RADIO_BUTTON_GROUP = 'SLDSRadioButtonGroup';\nexport const TAB = 'SLDSTab';\nexport const TAB_ITEM = 'SLDSTabItem';\nexport const TAB_PANEL = 'SLDSTabPanel';\nexport const TABS = 'SLDSTabs';\nexport const TABS_LIST = 'SLDSTabsList';\nexport const TABS_PANEL = 'SLDSTabsPanel';\nexport const TIME_PICKER = 'SLDSTimepicker';\nexport const TOAST = 'SLDSToast';\nexport const TOAST_CONTAINER = 'SLDSToastContainer';\nexport const TREE = 'SLDSTree';\nexport const TREE_BRANCH = 'SLDSTreeBranch';\nexport const TREE_ITEM = 'SLDSTreeItem';\nexport const TRIAL_BAR = 'SLDSTrialBar';\nexport const TRIAL_BAR_DROPDOWN = 'SLDSTrialBarDropdown';\nexport const TRIAL_BAR_BUTTON = 'SLDSTrialBarButton';\nexport const VERTICAL_NAVIGATION = 'SLDSVerticalNavigation';\nexport const VERTICAL_NAVIGATION_ITEM = 'SLDSVerticalNavigationItem';\nexport const VISUAL_PICKER = 'SLDSVisualPicker';\nexport const VISUAL_PICKER_LINK = 'SLDSVisualPickerLink';\nexport const WELCOME_MAT = 'SLDSWelcomeMat';\nexport const WELCOME_MAT_TILE = 'SLDSWelcomeMatTile';\nexport const WELCOME_MAT_BADGE = 'SLDSWelcomeMatBadge';\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// Implements the [Accordion design\n// pattern](https://www.lightningdesignsystem.com/components/accordion/) in\n// React. Based on SLDS v2.4.3\n\nimport React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport shortid from 'shortid';\n\nimport { ACCORDION } from '../../utilities/constants';\n\nconst propTypes = {\n\t/**\n\t * CSS class names to be added to the accordion component. _Tested with snapshot testing._\n\t */\n\tclassName: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\t/**\n\t * HTML id for accordion component. _Tested with snapshot testing._\n\t */\n\tid: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n\t/**\n\t * The panel content for the Accordion component. Accordion panels should be added as <AccordionPanel />. Event handler for the accordion panels should be added to `<AccordionPanel />`. Optional `panelContentActions` component may be passed as prop. _Tested with Mocha framework and snapshot testing._\n\t *\n\t * Example:\n\t * ```\n\t * <SLDSAccordion>\n\t * <SLDSAccordionpanel />\n\t * <SLDSAccordionpanel />\n\t * <SLDSAccordionpanel />\n\t * </SLDSAccordion>\n\t * ```\n\t */\n\tchildren: PropTypes.node.isRequired,\n};\n\n/**\n * An accordion allows a user to toggle the display of sections of content.\n * The accordion component wraps accordion panels that can be selected and expanded. It accepts children to define the content displayed within.\n */\nclass Accordion extends Component {\n\tconstructor(props) {\n\t\tsuper(props);\n\t\tthis.state = { currButtonIndex: 0 };\n\t\tthis.summaryButtons = [];\n\t\tthis.generatedId = shortid.generate();\n\t}\n\n\tcomponentDidUpdate(prevProps, prevState) {\n\t\tif (\n\t\t\tthis.state.currButtonIndex !== null &&\n\t\t\tthis.state.currButtonIndex !== prevState.currButtonIndex\n\t\t) {\n\t\t\tthis.summaryButtons[this.state.currButtonIndex].focus();\n\t\t}\n\t}\n\n\tonClickSummary() {\n\t\tthis.setState({ currButtonIndex: null });\n\t}\n\n\tonKeyDownSummary(e) {\n\t\tlet buttonIndex = this.state.currButtonIndex;\n\t\tif (buttonIndex === null) {\n\t\t\tbuttonIndex = this.summaryButtons.findIndex(\n\t\t\t\t(el) => el.id === e.target.id\n\t\t\t);\n\t\t}\n\n\t\tif (e.key === 'ArrowDown') {\n\t\t\te.preventDefault();\n\t\t\tif (buttonIndex < this.props.children.length - 1) {\n\t\t\t\tthis.setState({\n\t\t\t\t\tcurrButtonIndex: buttonIndex + 1,\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\tthis.setState({ currButtonIndex: 0 });\n\t\t\t}\n\t\t} else if (e.key === 'ArrowUp') {\n\t\t\te.preventDefault();\n\t\t\tif (buttonIndex > 0) {\n\t\t\t\tthis.setState({\n\t\t\t\t\tcurrButtonIndex: buttonIndex - 1,\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\tthis.setState({ currButtonIndex: this.props.children.length - 1 });\n\t\t\t}\n\t\t}\n\t}\n\n\taddSummaryButton(button) {\n\t\tconst btnInArr = this.summaryButtons.find((el) => button === el);\n\t\tif (button !== null && btnInArr === undefined) {\n\t\t\t// eslint-disable-next-line fp/no-mutating-methods\n\t\t\tthis.summaryButtons.push(button);\n\t\t}\n\t}\n\n\trender() {\n\t\treturn (\n\t\t\t<ul\n\t\t\t\tname={this.props.id || this.generatedId}\n\t\t\t\tclassName={classNames('slds-accordion', this.props.className)}\n\t\t\t>\n\t\t\t\t{React.Children.map(this.props.children, (child) =>\n\t\t\t\t\tReact.cloneElement(child, {\n\t\t\t\t\t\trefs: { summaryButton: this.addSummaryButton.bind(this) },\n\t\t\t\t\t\tonClickSummary: this.onClickSummary.bind(this),\n\t\t\t\t\t\tonKeyDownSummary: this.onKeyDownSummary.bind(this),\n\t\t\t\t\t})\n\t\t\t\t)}\n\t\t\t</ul>\n\t\t);\n\t}\n}\n\nAccordion.displayName = ACCORDION;\nAccordion.propTypes = propTypes;\n\nexport default Accordion;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n/* eslint-disable import/no-mutable-exports */\n\nimport sunsetProperty from '../../../utilities/warning/sunset-property';\n\nlet checkProps = function checkPropsFunction() {};\n\nif (process.env.NODE_ENV !== 'production') {\n\tcheckProps = function checkPropsFunction(COMPONENT, props) {\n\t\t/* eslint-disable max-len */\n\t\tsunsetProperty(\n\t\t\tCOMPONENT,\n\t\t\tprops.assistiveText,\n\t\t\t'assistiveText',\n\t\t\t'The wrapping span and assistive text has been removed from this component in order to make it a more pure \"higher-level component\" of `UtilityIcon`.'\n\t\t);\n\t};\n}\n\nexport default checkProps;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\nimport React from 'react';\n\n// Constants to specify directions: Left-to-Right (ltr) or Right-to-Left (rtl)\nconst DIRECTIONS = {};\nDIRECTIONS.LTR = 'ltr';\nDIRECTIONS.RTL = 'rtl';\n\n/*\n * Use this React context to wrap your component(s) to specify direction. Use either `DIRECTIONS.LTR` (ltr) or `DIRECTIONS.LTR` (rtl).\n * It's also expected that the `HTML` document of your markup has `dir='ltr'` or `dir='rtl'` attribute set.\n * The dir attribute is essential to set the direction of text to display and enable HTML in right-to-left.\n * For instance, setting `dir='rtl'` will cause block elements and table columns to start on the right and flow from right to left.\n *\n * Note: (1) This context is prefixed with UNSAFE because it is not a publicly supported feature.\n * (2) When testing this feature in the storybooks, styles consumed from `salesforce-lightning-design-system.css` may appear broken.\n * This is expected since Design System React loads only the LTR version since SLDS doesn't ship a static version of RTL.\n * Example on how to use the context to set your component right-to-left:\n * <UNSAFE_DirectionSettings.Provider value=\"rtl\">\n * <Combobox ... />\n * </UNSAFE_DirectionSettings.Provider>\n */\n// eslint-disable-next-line camelcase\nconst UNSAFE_DirectionSettings = React.createContext('ltr');\n\n// eslint-disable-next-line camelcase\nexport { UNSAFE_DirectionSettings as default, DIRECTIONS };\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n/* eslint-disable import/no-mutable-exports */\n\nimport urlExists from '../../../utilities/warning/url-exists';\nimport { DIRECTIONS } from '../UNSAFE_direction';\n\nlet checkProps = function checkPropsFunction() {};\n\nif (process.env.NODE_ENV !== 'production') {\n\tcheckProps = function checkPropsFunction(COMPONENT, props) {\n\t\tif (\n\t\t\t!props.context[`${props.category}Sprite`] &&\n\t\t\t!props.context.onRequestIconPath\n\t\t) {\n\t\t\tconst modifiedPath = props.path || props.context.iconPath;\n\t\t\tconst svgAssetName =\n\t\t\t\tprops.direction === DIRECTIONS.RTL ? 'symbols-rtl.svg' : 'symbols.svg';\n\t\t\turlExists(\n\t\t\t\tCOMPONENT,\n\t\t\t\t`${modifiedPath}/${props.category}-sprite/svg/${svgAssetName}#${props.name}`\n\t\t\t);\n\t\t}\n\t};\n}\n\nexport default checkProps;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\nimport React from 'react';\n\nclass Svg extends React.Component {\n\tstatic displayName = 'Svg';\n\n\tgetPaths = (paths) => {\n\t\tif (paths instanceof Array) {\n\t\t\treturn paths.map((item) => <path {...item} />);\n\t\t}\n\t\treturn <path key=\"pathSVG\" {...paths} />;\n\t};\n\n\tgetCircles = (circles) => {\n\t\tif (circles instanceof Array) {\n\t\t\treturn circles.map((item) => <circle {...item} />);\n\t\t}\n\t\treturn <circle key=\"circleSVG\" {...circles} />;\n\t};\n\n\tgetEllipses = (ellipses) => {\n\t\tif (ellipses instanceof Array) {\n\t\t\treturn ellipses.map((item) => <ellipse {...item} />);\n\t\t}\n\t\treturn <ellipse key=\"ellipseSVG\" {...ellipses} />;\n\t};\n\n\tgetGroups = (groups) => {\n\t\tif (groups instanceof Array) {\n\t\t\treturn groups.map((item) => <g>{this.getShapes(item)}</g>);\n\t\t}\n\n\t\treturn <g key=\"groupsSVG\">{this.getShapes(groups)}</g>;\n\t};\n\n\tgetShapes = (data) => {\n\t\tconst shapes = [];\n\n\t\tif (data) {\n\t\t\tif (data.g) {\n\t\t\t\t// eslint-disable-next-line fp/no-mutating-methods\n\t\t\t\tshapes.push(this.getGroups(data.g));\n\t\t\t}\n\n\t\t\tif (data.ellipse) {\n\t\t\t\t// eslint-disable-next-line fp/no-mutating-methods\n\t\t\t\tshapes.push(this.getEllipses(data.ellipse));\n\t\t\t}\n\n\t\t\tif (data.circle) {\n\t\t\t\t// eslint-disable-next-line fp/no-mutating-methods\n\t\t\t\tshapes.push(this.getCircles(data.circle));\n\t\t\t}\n\n\t\t\tif (data.path) {\n\t\t\t\t// eslint-disable-next-line fp/no-mutating-methods\n\t\t\t\tshapes.push(this.getPaths(data.path));\n\t\t\t}\n\t\t}\n\t\treturn shapes;\n\t};\n\n\tgetSVG = ({ viewBox, ...rest }, props) => (\n\t\t<svg\n\t\t\taria-hidden={props['aria-hidden']}\n\t\t\tclassName={props.className}\n\t\t\tviewBox={viewBox}\n\t\t\tname={props.name}\n\t\t\tstyle={props.style}\n\t\t>\n\t\t\t{this.getShapes(rest)}\n\t\t</svg>\n\t);\n\n\trender() {\n\t\tconst { data, ...props } = this.props;\n\n\t\treturn data ? this.getSVG(data, props) : null;\n\t}\n}\n\nexport default Svg;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n\nlet icons = {}; if ('__EXCLUDE_SLDS_ICONS__' === '__INCLUDE_SLDS_ICONS__') { icons = {\nactivity:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M37.618 11.67c-1.54.5-2.783.98-3.723 1.438-.747.364-1.687.901-2.814 1.61.086 1.882.084 3.463-.009 4.754-.094 1.304-.342 3.173-.746 5.63l-.001.003c2.815 2.028 4.848 3.56 6.11 4.604.163.135.633.584.856.783l4.344-1.82.028-.074c.627-1.347 1.145-3.186 1.54-5.507.322-1.899.376-3.99.159-6.276l-5.744-5.144zm-1.51-2.66l-.085-.302A19.816 19.816 0 0026 6c-1.963 0-3.86.285-5.653.816l-.032.77c-.002.548.006 1.172.025 1.871 1.69.237 3.111.549 4.273.941 1.167.395 2.652 1.07 4.478 2.029 1.39-.887 2.55-1.558 3.49-2.016.946-.461 2.12-.927 3.526-1.4zM22.165 42.95c3.618-.378 6.074-.736 7.317-1.06 1.421-.371 2.7-.724 3.83-1.054.86-2.042 1.409-3.576 1.648-4.6.192-.82.397-1.923.616-3.31-.383-.338-.735-.64-1.056-.906-1.257-1.04-3.382-2.637-6.362-4.777-1.382.809-2.58 1.367-3.62 1.675-1.12.332-2.855.604-5.256.835-.88 1.877-1.447 3.354-1.697 4.414-.254 1.078-.492 2.575-.71 4.482.879 1.017 1.622 1.774 2.23 2.271.628.514 1.648 1.19 3.06 2.03zM9.433 37.355h4.577c.2-1.58.419-2.87.657-3.877.273-1.16.817-2.63 1.634-4.424-1.055-1.218-2.377-2.756-2.987-3.701-.524-.811-1.314-1.703-2.217-3.899a5.903 5.903 0 00-1.272.288c-1.127.393-2.356 1.045-3.684 1.958A20.36 20.36 0 006 26.1c0 4.169 1.266 8.043 3.433 11.255zm35.895-6.076a20.187 20.187 0 00.625-6.562c-.333 1.675-.74 3.122-1.225 4.344.15.253.274.536.37.848.101.33.178.787.23 1.37zM10.57 18.5l.13-.214c1.413-2.31 2.502-3.924 3.305-4.882.739-.883 1.853-1.95 3.356-3.226a73.318 73.318 0 01-.045-2.184A20.155 20.155 0 007.04 19.696a15.17 15.17 0 011.852-.795 8.697 8.697 0 011.678-.403zM37.154 42.78c-1.708.587-4.01 1.253-6.913 2.011-1.408.368-3.925.738-7.601 1.125 1.092.186 2.215.283 3.36.283 4.127 0 7.966-1.26 11.154-3.42zM50 26.1c0 13.3-10.755 24.1-24 24.1S2 39.4 2 26.1 12.755 2 26 2s24 10.8 24 24.1z\"}},\nad_set:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":[{\"path\":{\"d\":\"M22.5 5.1h-17c-.8 0-1.5.7-1.5 1.5v15.9c0 .8.7 1.5 1.5 1.5h17c.8 0 1.5-.7 1.5-1.5V6.6c0-.8-.7-1.5-1.5-1.5zm-2.6 8.2H8.1V9.2h11.8v4.1zM46.5 5.1h-17c-.8 0-1.5.7-1.5 1.5v15.9c0 .8.7 1.5 1.5 1.5h17c.8 0 1.5-.7 1.5-1.5V6.6c0-.8-.7-1.5-1.5-1.5zm-2.6 8.2H32.1V9.2h11.8v4.1z\"}},{\"path\":{\"d\":\"M22.5 28h-17c-.8 0-1.5.7-1.5 1.5v15.9c0 .8.7 1.5 1.5 1.5h17c.8 0 1.5-.7 1.5-1.5V29.5c0-.8-.7-1.5-1.5-1.5zm-2.6 8.2H8.1v-4.1h11.8v4.1zM46.5 28h-17c-.8 0-1.5.7-1.5 1.5v15.9c0 .8.7 1.5 1.5 1.5h17c.8 0 1.5-.7 1.5-1.5V29.5c0-.8-.7-1.5-1.5-1.5zm-2.6 8.2H32.1v-4.1h11.8v4.1z\"}}]},\nadd:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M30 29h16.5c.8 0 1.5-.7 1.5-1.5v-3c0-.8-.7-1.5-1.5-1.5H30c-.6 0-1-.4-1-1V5.5c0-.8-.7-1.5-1.5-1.5h-3c-.8 0-1.5.7-1.5 1.5V22c0 .6-.4 1-1 1H5.5c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5H22c.6 0 1 .4 1 1v16.5c0 .8.7 1.5 1.5 1.5h3c.8 0 1.5-.7 1.5-1.5V30c0-.6.4-1 1-1z\"}},\nadduser:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M21.9 37c0-2.7.9-5.8 2.3-8.2 1.7-3 3.6-4.2 5.1-6.4 2.5-3.7 3-9 1.4-13-1.6-4.1-5.4-6.5-9.8-6.4s-8 2.8-9.4 6.9c-1.6 4.5-.9 9.9 2.7 13.3 1.5 1.4 2.9 3.6 2.1 5.7-.7 2-3.1 2.9-4.8 3.7-3.9 1.7-8.6 4.1-9.4 8.7C1.3 45.1 3.9 49 8 49h17c.8 0 1.3-1 .8-1.6-2.5-2.9-3.9-6.6-3.9-10.4z\"},{\"d\":\"M37.9 25c-6.6 0-12 5.4-12 12s5.4 12 12 12 12-5.4 12-12-5.4-12-12-12zM44 38c0 .6-.5 1-1.1 1H40v3c0 .6-.5 1-1.1 1h-2c-.6 0-.9-.4-.9-1v-3h-3.1c-.6 0-.9-.4-.9-1v-2c0-.6.3-1 .9-1H36v-3c0-.6.3-1 .9-1h2c.6 0 1.1.4 1.1 1v3h2.9c.6 0 1.1.4 1.1 1v2z\"}]}},\nadjust_value:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M23 14.91a6.55 6.55 0 11-6.52 6.55A6.53 6.53 0 0123 14.91zm20.7 15.72a.58.58 0 000-.84l-4.12-4.12a.59.59 0 00-.42-.18.61.61 0 00-.43.18L27.39 37.05l-1.7 5.69a.8.8 0 00.79 1 .55.55 0 00.18 0L32.35 42zm-1.45-7.75L46.4 27a.63.63 0 00.43.18.59.59 0 00.42-.18c.73-.73 2.06-1.94 2.06-1.94a2 2 0 000-2.91L47.13 20a2 2 0 00-1.41-.54 2.34 2.34 0 00-1.5.54s-1.33 1.31-1.93 2a.58.58 0 000 .88zM40.1 8.27H6a4 4 0 00-3.93 4v19.07A4 4 0 006 35.28h18.84l3.95-3.94H10.54A4.53 4.53 0 006 26.76v-9.88a4.53 4.53 0 004.56-4.57h25a4.53 4.53 0 004.56 4.57v3L44 15.91v-3.6a4 4 0 00-3.9-4.04z\"}},\nadvanced_function:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M43 6.9V4c0-.8-.7-1.5-1.5-1.5H11.8c-.8 0-1.5.7-1.5 1.5v3.1c0 .3 0 .7.3 1L25.2 26 10.6 43.9c-.2.3-.3.6-.3 1V48c0 .8.7 1.5 1.5 1.5h29.7c.8 0 1.5-.7 1.5-1.5v-2.9c0-.8-.7-1.5-1.5-1.5H18.4l13.3-16.3c.3-.4.4-.8.4-1.4 0-.5-.2-1-.5-1.4L18.4 8.4h23.1c.8 0 1.5-.7 1.5-1.5z\"}},\nadvertising:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M23 27.2h.4c.2-2.7 1.2-5.1 2.7-7-.8-.8-1.8-1.3-3.1-1.3-2.4 0-4.2 1.8-4.2 4.2 0 2.3 1.8 4.1 4.2 4.1z\"},{\"d\":\"M24.2 35.2c.5 0 1-.1 1.2-.1-.8-1.3-1.4-2.7-1.7-4H23c-4.5 0-8.4-3.6-8.4-8.4 0-4.5 3.6-8.4 8.4-8.4 2.5 0 4.9 1.1 6.4 2.9 1.2-.7 2.5-1.1 3.9-1.3-2.3-3.3-6.1-5.4-10.4-5.4-7.2 0-12.6 5.7-12.6 12.6S16 35.7 23.2 35.4c.4-.1.7-.1 1-.2z\"},{\"d\":\"M49.9 45.5v1.4c0 1.6-1.4 3-3 3H22.8c-1.6 0-3-1.4-3-3v-1.4c0-3.6 4.3-5.9 8.3-7.7l.4-.2c.3-.1.6-.1.9.1 1.6 1.1 3.5 1.6 5.4 1.6 1.9 0 3.8-.6 5.4-1.6.3-.2.6-.2.9-.1l.4.2c4.2 1.8 8.4 4 8.4 7.7zM34.8 19.8c4.2 0 7.5 3.7 7.5 8.3s-3.3 8.3-7.5 8.3-7.5-3.7-7.5-8.3 3.4-8.3 7.5-8.3z\"},{\"d\":\"M18.5 39.2c-6.9-2-12.2-8.5-12.2-16.1 0-9.3 7.5-16.8 16.8-16.8 6.9 0 13.1 4.1 15.6 10.2 2 .8 3.8 2.1 5.1 3.8C42.3 9.8 33.6 2.1 23 2.1 11.3 2.1 2.1 11.3 2.1 23c0 9.2 5.8 17 14.2 19.7.4-1.4 1.2-2.5 2.2-3.5z\"}]}},\nagent_home:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M26.71 2.32l23 23a1.15 1.15 0 01.29 1.11c-.08.4-.64.64-1 .64h-5V49a.92.92 0 01-1 1H9a1 1 0 01-1-.88V27H3a.77.77 0 01-.87-.64.87.87 0 01.23-1.11l23-23a1 1 0 011.35.07zM18.29 38h-4.24a.88.88 0 00-.88.88v5.43a.88.88 0 00.88.88h4.24a.89.89 0 00.88-.88v-5.43a.89.89 0 00-.88-.88zm9.59-7.2h-4.24a.9.9 0 00-.88.88v12.63a.89.89 0 00.88.88h4.24a.89.89 0 00.88-.88V31.68a.9.9 0 00-.88-.88zm9.59-7.19h-4.23a.87.87 0 00-.88.88v19.82a.87.87 0 00.88.88h4.23a.87.87 0 00.88-.88V24.49a.87.87 0 00-.88-.88z\",\"fill-rule\":\"evenodd\"}},\nagent_session:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M26 4C12.7 4 2.1 13.8 2.1 25.9c0 3.8 1.1 7.4 2.9 10.6.3.5.4 1.1.2 1.7l-3.1 8.5c-.3.8.5 1.5 1.3 1.3l8.6-3.3c.5-.2 1.1-.1 1.7.2 3.6 2 7.9 3.2 12.5 3.2C39.3 48 50 38.3 50 26.1 49.9 13.8 39.2 4 26 4zm-6.5 32c0 .5-.4.9-.9.9h-4.2c-.5 0-.9-.4-.9-.9v-5.4c0-.5.4-.9.9-.9h4.2c.5 0 .9.4.9.9V36zm9.6 0c0 .5-.4.9-.9.9H24c-.5 0-.9-.4-.9-.9V23.3c0-.5.4-.9.9-.9h4.2c.5 0 .9.4.9.9V36zm9.6 0c0 .5-.4.9-.9.9h-4.2c-.5 0-.9-.4-.9-.9V16.1c0-.5.4-.9.9-.9h4.2c.5 0 .9.4.9.9V36z\"}},\naggregation_policy:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M49.29 43.08l-7.4-7.35a2 2 0 00-.23-.18v-3.18h3.48a1 1 0 00.65-.23 1 1 0 00.14-1.4l-5.9-7-.12-.14a1 1 0 00-1.4.17l-5.89 7a1 1 0 00-.23.63 1 1 0 001 1h3.47v2.88a2.3 2.3 0 00-.68.45l-7.48 7.32a2.4 2.4 0 000 3.39 2.45 2.45 0 003.39 0l4.7-4.67v5.86a2.42 2.42 0 004.84 0v-5.4l4.24 4.22a2.45 2.45 0 003.39 0 2.38 2.38 0 00.03-3.37zM14.38 2H8.14A6.07 6.07 0 002 8v4.8a6.07 6.07 0 006.14 6h6.24a6.07 6.07 0 006.14-6V8a6.07 6.07 0 00-6.14-6zM12 14h-1.48a3.6 3.6 0 010-7.2H12a3.6 3.6 0 010 7.2zM37.74 18.8a6.07 6.07 0 006.14-6V8a6.07 6.07 0 00-6.14-6H31.5a6.07 6.07 0 00-6.14 6v4.8a6.07 6.07 0 006.14 6zm-7.47-8.4a3.6 3.6 0 013.6-3.6h1.49a3.6 3.6 0 110 7.2h-1.49a3.6 3.6 0 01-3.6-3.6zM14.38 23.6H8.14a6.07 6.07 0 00-6.14 6v4.8a6.07 6.07 0 006.14 6h6.24a6.07 6.07 0 006.14-6v-4.8a6.07 6.07 0 00-6.14-6zM12 35.6h-1.48a3.6 3.6 0 110-7.2H12a3.6 3.6 0 010 7.2z\",\"fill-rule\":\"evenodd\"}},\nalert:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M34.7 31l-.4.1c-1.5.5-3.1-.2-3.7-1.7l-3.3-8.8c-2.6-7-10.5-10.4-17.4-7.5C3.4 15.8.5 23.4 2.9 30L6 38.5c.5 1.5-.3 3.1-1.7 3.6l-.4.1c-1.7.6-2.5 2.6-1.9 4.3l.4 1.1c.2.5.9.9 1.5.6l34.4-12.7c.6-.2.9-1 .7-1.6l-.4-1.1c-.3-1.6-2.2-2.5-3.9-1.8zm-8.4 12.6l-7.5 2.8c-.5.2-.7.8-.4 1.2 1.2 2 3.7 2.8 5.9 2 2.2-.8 3.5-3.1 3.2-5.3-.2-.5-.8-.8-1.2-.7zM49.2 28.6c1.7-5.7.8-11.8-2.3-16.8-3.1-5.1-8.2-8.6-14-9.7-.5-.1-.9.2-.9.6l-.5 2.8c-.1.4.2.7.6.8 4.5.9 8.5 3.7 11 7.7s3.1 8.8 1.9 13.3c-.1.4.1.8.5.9l2.7.9c.5 0 .9-.1 1-.5zM38.2 17c-1.6-2.6-4.2-4.3-7.2-4.9-.4-.1-.8.2-.9.6l-.3 2.9c0 .4.2.7.6.8 1.7.4 3.2 1.4 4.1 2.9.9 1.5 1.2 3.3.7 4.9-.1.3.1.7.4.8l2.7 1.1c.4.2.8-.1 1-.5.9-2.9.5-6-1.1-8.6z\"}},\nall:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M31.6 21.6c-1.2 0-2.2-1-2.2-2.2V5.5c0-1.2 1-2.2 2.2-2.2h14.2c1.2 0 2.2 1 2.2 2.2v13.9c0 1.2-1 2.2-2.2 2.2H31.6zM37.7 29.8l-8.2 8.9c-.5.5-.5 1.3 0 1.9l8.2 8.9c.5.6 1.5.6 2 0l8.2-8.9c.5-.5.5-1.3 0-1.9l-8.2-8.9c-.5-.6-1.4-.6-2 0z\"},{\"d\":\"M4.8 6.5L12 2.4c.7-.4 1.5-.4 2.1 0l7.1 4.1c.7.4 1.1 1.1 1.1 1.9v8.2c0 .8-.4 1.5-1.1 1.9l-7.1 4.1c-.7.4-1.5.4-2.1 0l-7.2-4.1c-.7-.4-1.1-1.1-1.1-1.9V8.4c0-.8.4-1.5 1.1-1.9z\"}],\"circle\":{\"cx\":\"13\",\"cy\":\"39.4\",\"r\":\"9.3\"}},\nanchor:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M48 35.7l-2.4-10.2c-.3-1.1-1.7-1.5-2.5-.8l-7.7 7.1c-.9.8-.5 2.2.6 2.5l3.3 1c-.3.7-.6 1.4-1 2-1.8 3-4.7 4.9-9.3 5.5v-25c2.6-1.1 4.4-3.7 4.4-6.7 0-4-3.3-7.3-7.3-7.3-4.1 0-7.3 3.3-7.3 7.3 0 3 1.8 5.5 4.4 6.7v25c-4.6-.6-7.5-2.5-9.3-5.5-.4-.7-.7-1.3-1-2l3.3-1c1.1-.3 1.4-1.8.6-2.5l-7.8-7c-.9-.8-2.2-.4-2.5.8L4 35.7c-.3 1.1.8 2.1 1.9 1.8l2.6-.8c.4 1.1.8 2.1 1.4 3.1 2.9 4.9 8.2 7.8 16 7.8s13-2.9 16-7.8c.6-1 1.1-2.1 1.4-3.1l2.6.8c1.3.3 2.3-.7 2.1-1.8zM26 14.2c-1.6 0-2.9-1.3-2.9-2.9s1.3-2.9 2.9-2.9 2.9 1.3 2.9 2.9-1.3 2.9-2.9 2.9z\"}},\nanimal_and_nature:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M17.39 4.603c2.698-1.014 5.568-1.52 8.61-1.52s5.912.506 8.61 1.52a5 5 0 018.84 4.678C44.69 10.32 45.54 13.56 46 19c.394 3.008 2.987 12.067 3 14 .052 7.96-7.614 13.626-23 17-15.333-3.294-23-8.96-23-17 .047-2.053 2.5-10.9 3-14 .603-5.289 1.47-8.495 2.602-9.619a5 5 0 018.787-4.778zm3.578 18.092a4 4 0 00-2.795 4.066l.39 6.253a7.451 7.451 0 0014.874 0l.382-6.119A4 4 0 0031 22.822 18.168 18.168 0 0025.646 22c-1.641 0-3.2.232-4.678.695zM36 23c1.657 0 3-1.79 3-4s-1.343-4-3-4-3 1.79-3 4 1.343 4 3 4zm-20 0c1.657 0 3-1.79 3-4s-1.343-4-3-4-3 1.79-3 4 1.343 4 3 4zm13.074 4.709c-1.768 2.03-4.624 2.022-6.347-.018-1.723-2.04-.277-3.7 3.214-3.691 3.49.01 4.9 1.679 3.133 3.709z\"}},\nannouncement:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M22.7 45.4l-1.3-1c-1.4-1-1.4-3-1.4-4v-2.9c0-.8-.7-1.5-1.5-1.5h-6c-.8 0-1.5.7-1.5 1.5v7.7c0 2.7 1.6 4.8 4.1 4.8H20c2.9 0 3.1-2 3.1-2s.5-1.8-.4-2.6zM45 18V4.4v-.1c0-2.4-3-3.1-4.6-1.5l-8.9 8.4c-1.4 1.2-3.2 1.7-5 1.7H11.3C6.1 13 2 17.5 2 22.7v.2c0 5.2 4.1 9.1 9.3 9.1h15.2c1.9 0 3.7.8 5.1 2l8.8 8.6c1.6 1.6 4.6 1 4.6-1.4V27.6c3 0 4.8-2.1 4.8-4.8 0-2.7-1.8-4.8-4.8-4.8z\"}}},\nanswer:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M26 4C12.7 4 2 13.8 2 26c0 3.9 1.1 7.5 3 10.8.2.4.3.9.2 1.3L3 45c-.4 1.3.8 2.4 2.1 2l7-2.4c.5-.2 1-.1 1.4.2 3.7 2.1 8 3.3 12.6 3.3 13.3 0 24-9.8 24-22C49.9 13.8 39.2 4 26 4zm11.5 17.1l-12.2 12c-.5.5-1 .7-1.7.7-.6 0-1.2-.2-1.7-.7L16 27.3c-.5-.5-.5-1.2 0-1.6l1.7-1.6c.5-.5 1.2-.5 1.7 0l4.2 4.2 10.5-10.4c.5-.5 1.2-.5 1.7 0l1.7 1.6c.4.4.4 1.2 0 1.6z\"}},\nanswered_twice:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M17.6 11.4c-8.9 0-16 6.5-16 14.7 0 2.6.7 5 2 7.2.1.3.2.6.1.9l-1.5 4.6c-.3.9.5 1.6 1.4 1.3l4.7-1.6c.3-.1.7-.1.9.1 2.5 1.4 5.3 2.2 8.4 2.2 8.9 0 16-6.5 16-14.7s-7.2-14.7-16-14.7zm7.7 11.4l-8.1 8c-.3.3-.7.5-1.1.5-.4 0-.8-.1-1.1-.5l-4-3.9c-.3-.3-.3-.8 0-1.1l1.1-1.1c.3-.3.8-.3 1.1 0l2.8 2.8 7-6.9c.3-.3.8-.3 1.1 0l1.1 1.1c.4.3.4.8.1 1.1z\"},{\"d\":\"M34.3 11.4h-4.2c4.7 3.4 8.2 8.8 8.2 14.7 0 5.9-3.7 11.5-8.2 14.7h4.2c8.9 0 16-6.5 16-14.7-.1-8.2-7.2-14.7-16-14.7z\"}]},\nanywhere_alert:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M50 47.33A45.34 45.34 0 004.67 2a2.67 2.67 0 100 5.33 40 40 0 0140 40 2.67 2.67 0 105.33 0z\"},{\"d\":\"M32.67 47.33a28 28 0 00-28-28 2.67 2.67 0 100 5.34 22.65 22.65 0 0122.66 22.66 2.67 2.67 0 005.34 0zM4.67 36.67a10.66 10.66 0 0110.66 10.66 2.67 2.67 0 11-5.33 0v-.39A5.34 5.34 0 004.67 42a2.67 2.67 0 110-5.33z\"}]}},\nanywhere_chat:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M26 2.7c-13.21 0-24 9.62-24 21.59v.42a20.64 20.64 0 007.71 15.43l.32.27v.08a11.05 11.05 0 01-3.1 4.67 1.79 1.79 0 001.45 3.12l1.17-.17.53-.08c4.76-.73 8.13-1.59 10.23-2.66l.15-.08.5.11a27.38 27.38 0 005.06.48c13.21 0 24-9.62 24-21.59S39.21 2.7 26 2.7z\"}},\napex:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M48.5 40h-27c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h27c.8 0 1.5-.7 1.5-1.5v-3c0-.8-.7-1.5-1.5-1.5zM25.4 21.8L6 6.3c-.6-.5-1.5-.4-2 .3L2.3 9c-.5.7-.3 1.6.3 2.1l13.8 11c.5.4.5 1.2 0 1.6l-13.8 11c-.6.5-.8 1.5-.3 2.1L4 39.4c.5.7 1.4.8 2 .3l19.4-15.5c.8-.6.8-1.8 0-2.4z\"}},\napex_plugin:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M26.2 18.1L37.3 7c.6-.6.6-1.5 0-2.1l-2.4-2.4c-.6-.6-1.5-.6-2.1 0L21.7 13.6l4.5 4.5zM38.4 30.7l11.1-11.1c.6-.6.6-1.5 0-2.1l-2.4-2.4c-.6-.6-1.5-.6-2.1 0L33.9 26.2l4.5 4.5zM36.8 39.9c.2-.2.3-.5.4-.8.1-.4 0-.8-.2-1.1-.1-.1-.1-.2-.2-.2L14.3 15.3c-.2-.3-.7-.4-1.1-.4-.4 0-.8.2-1.1.5-.2.2-.4.3-.6.5-.1.1-.2.3-.3.4-.1.2-.3.3-.4.5-.1.2-.3.4-.4.6-.2.2-.3.5-.4.8-.2.3-.3.6-.4.9-.2.3-.3.7-.4 1.1-.2.4-.3.8-.4 1.2-.1.5-.3.9-.4 1.4-.1.5-.2 1-.3 1.6-.1.6-.2 1.2-.3 1.7-.1.6-.2 1.3-.2 1.9-.1.7-.1 1.4-.1 2.2v2.4c0 .9 0 1.7.1 2.6 0 .9.1 1.9.2 2.8 0 .3.1.5.1.8H8L2.8 44c-.8.4-.8 1.4-.3 2l3.7 3.7c.6.6 1.5.6 2.1 0l5.2-5.2c1.9.2 3.7.3 5.6.3 1.6 0 3.1 0 4.7-.1 1.3-.1 2.6-.2 3.8-.5 1-.2 2-.4 3-.7.8-.2 1.6-.5 2.3-.9.6-.3 1.2-.6 1.7-.9.7-.4 1.4-1 2-1.6l.2-.2z\"}},\napproval:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M45.2 29.2h-8.8c-2.6 0-4.8-2.2-4.8-4.8.4-7.1 3.7-7.5 4-12.1.3-4.8-2.7-9.1-7.4-10.1C22 .9 16.4 5.6 16.4 11.6c0 5.3 3.6 5.3 4 12.8 0 2.6-2.2 4.8-4.8 4.8H6.8C4.2 29.2 2 31.3 2 34v3.2c0 .9.7 1.6 1.6 1.6h44.8c.9 0 1.6-.7 1.6-1.6V34c0-2.7-2.2-4.8-4.8-4.8zm.1 14.4H6.7c-.9 0-1.5.7-1.5 1.5v.1c0 2.6 2.2 4.8 4.8 4.8h32.1c2.6 0 4.7-2.2 4.7-4.8v-.1c0-.8-.7-1.5-1.5-1.5z\"}},\napps:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M13 4H7C5.3 4 4 5.3 4 7v6c0 1.7 1.3 3 3 3h6c1.7 0 3-1.3 3-3V7c0-1.7-1.3-3-3-3zM13 36H7c-1.7 0-3 1.3-3 3v6c0 1.7 1.3 3 3 3h6c1.7 0 3-1.3 3-3v-6c0-1.7-1.3-3-3-3zM13 20H7c-1.7 0-3 1.3-3 3v6c0 1.7 1.3 3 3 3h6c1.7 0 3-1.3 3-3v-6c0-1.7-1.3-3-3-3zM29 4h-6c-1.7 0-3 1.3-3 3v6c0 1.7 1.3 3 3 3h6c1.7 0 3-1.3 3-3V7c0-1.7-1.3-3-3-3zM29 36h-6c-1.7 0-3 1.3-3 3v6c0 1.7 1.3 3 3 3h6c1.7 0 3-1.3 3-3v-6c0-1.7-1.3-3-3-3zM29 20h-6c-1.7 0-3 1.3-3 3v6c0 1.7 1.3 3 3 3h6c1.7 0 3-1.3 3-3v-6c0-1.7-1.3-3-3-3zM45 4h-6c-1.7 0-3 1.3-3 3v6c0 1.7 1.3 3 3 3h6c1.7 0 3-1.3 3-3V7c0-1.7-1.3-3-3-3zM45 36h-6c-1.7 0-3 1.3-3 3v6c0 1.7 1.3 3 3 3h6c1.7 0 3-1.3 3-3v-6c0-1.7-1.3-3-3-3zM45 20h-6c-1.7 0-3 1.3-3 3v6c0 1.7 1.3 3 3 3h6c1.7 0 3-1.3 3-3v-6c0-1.7-1.3-3-3-3z\"}},\narchive:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M45.2 2.3H6.8C4.2 2.3 2 4.5 2 7.1v4.8c0 .9.7 1.6 1.6 1.6h44.8c.9 0 1.6-.7 1.6-1.6V7.1c0-2.6-2.2-4.8-4.8-4.8zM46.6 17.5H5.5c-.9 0-1.6.7-1.6 1.6v26.4c0 2.6 2.2 4.8 4.8 4.8h34.8c2.6 0 4.8-2.2 4.8-4.8V19.1c-.1-.9-.8-1.6-1.7-1.6zm-13.8 8H19.2c-1.1 0-2-.9-2-2s.9-2 2-2h13.6c1.1 0 2 .9 2 2s-.9 2-2 2z\"}},\narrow_bottom:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M42.34 41.83a2 2 0 012 2V48a2 2 0 01-2 2H9.66a2 2 0 01-2-2v-4.13a2 2 0 012-2zM28 2a2.12 2.12 0 012.05 2v17.4a1.3 1.3 0 002.24.92l4.8-4.69a2 2 0 012.86 0l2.86 2.75a1.86 1.86 0 010 2.76l-15.42 15a2 2 0 01-2.86 0l-15.32-15a1.86 1.86 0 010-2.76L12 17.63a2 2 0 012.86 0l4.8 4.69a1.3 1.3 0 002.24-.92V4A2.19 2.19 0 0124 2h4z\"}},\narrow_left:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M10.17 42.34a2 2 0 01-2 2H4a2 2 0 01-2-2V9.66a2 2 0 012-2h4.13a2 2 0 012 2zM50 28a2.11 2.11 0 01-2 2.05H30.6a1.3 1.3 0 00-.92 2.24l4.69 4.8a2 2 0 010 2.86l-2.75 2.86a1.87 1.87 0 01-2.76 0l-15-15.42a2 2 0 010-2.86l15-15.32a1.87 1.87 0 012.76 0L34.37 12a2 2 0 010 2.86l-4.69 4.8a1.3 1.3 0 00.92 2.24H48a2.2 2.2 0 012 2.1z\",\"fill-rule\":\"evenodd\"}},\narrow_right:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M41.83 9.66a2 2 0 012-2H48a2 2 0 012 2v32.68a2 2 0 01-2 2h-4.13a2 2 0 01-2-2zM2 24a2.11 2.11 0 012-2h17.4a1.3 1.3 0 00.92-2.24l-4.69-4.8a2 2 0 010-2.86l2.75-2.9a1.87 1.87 0 012.76 0l15 15.42a2 2 0 010 2.86l-15 15.32a1.87 1.87 0 01-2.76 0L17.63 40a2 2 0 010-2.86l4.69-4.8a1.3 1.3 0 00-.92-2.24H4A2.2 2.2 0 012 28z\",\"fill-rule\":\"evenodd\"}},\narrow_top:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M9.66 10.17a2 2 0 01-2-2V4a2 2 0 012-2h32.68a2 2 0 012 2v4.13a2 2 0 01-2 2zM24 50a2.12 2.12 0 01-2.05-2V30.6a1.3 1.3 0 00-2.24-.92l-4.8 4.69a2 2 0 01-2.86 0l-2.9-2.75a1.86 1.86 0 010-2.76l15.42-15a2 2 0 012.86 0l15.32 15a1.86 1.86 0 010 2.76L40 34.37a2 2 0 01-2.86 0l-4.8-4.69a1.3 1.3 0 00-2.24.92V48a2.19 2.19 0 01-2.1 2h-4z\"}},\narrowdown:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M9.6 31c-.8.8-.8 1.9 0 2.7l15 14.7c.8.8 2 .8 2.8 0l15.1-14.7c.8-.8.8-1.9 0-2.7l-2.8-2.7c-.8-.8-2-.8-2.8 0l-4.7 4.6c-.8.8-2.2.3-2.2-.9V5c0-1-.9-2-2-2h-4c-1.1 0-2 1.1-2 2v27c0 1.2-1.4 1.7-2.2.9l-4.7-4.6c-.8-.8-2-.8-2.8 0L9.6 31z\"}},\narrowup:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M41.4 21c.8-.8.8-1.9 0-2.7l-15-14.7c-.8-.8-2-.8-2.8 0l-15 14.7c-.8.8-.8 1.9 0 2.7l2.8 2.7c.8.8 2 .8 2.8 0l4.7-4.6c.8-.8 2.2-.2 2.2.9v27c0 1 .9 2 2 2h4c1.1 0 2-1.1 2-2V20c0-1.2 1.4-1.7 2.2-.9l4.7 4.6c.8.8 2 .8 2.8 0l2.6-2.7z\"}},\nasset_warranty:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M38.78 26.78c1.41 0 2.53 1.53 3.78 2.06s3.18.23 4.14 1.24.7 2.84 1.23 4.14S50 36.58 50 38s-1.53 2.54-2.07 3.78-.24 3.22-1.23 4.14-2.85.7-4.14 1.24-2.37 2.06-3.78 2.06-2.54-1.53-3.78-2.06-3.18-.23-4.13-1.24-.72-2.84-1.24-4.14-2.08-2.36-2.08-3.78 1.53-2.54 2.07-3.78.23-3.19 1.24-4.14 2.83-.7 4.13-1.24 2.36-2.06 3.79-2.06zm2.86-24a2.23 2.23 0 012.17 2.16V26.4l-.21-.09c-1.58-.67-3-2.64-4.82-2.64-1.35 0-2.5 1.1-3.64 1.93v-7.81a.77.77 0 00-.21-.56.79.79 0 00-.57-.21h-1.64a.68.68 0 00-.47.21.73.73 0 00-.21.56v9a12.29 12.29 0 00-2.25.45v-9.45A.76.76 0 0029 17a.78.78 0 00-.78.77v10.67a9.1 9.1 0 00-.77 3.21H11.23a.73.73 0 00-.48.21.69.69 0 00-.2.56v.87a.74.74 0 00.2.47.82.82 0 00.56.22h15.34c-.85 1.25-2.2 2.52-2.2 4 0 1.85 2 3.24 2.64 4.83a7 7 0 01.41 1.63H15.78v2.25a2.22 2.22 0 01-2.17 2.17h-2.47A2.22 2.22 0 019 46.71v-2.13H4.17A2.21 2.21 0 012 42.41V4.94a2.21 2.21 0 012.17-2.16zM43 34.31a.57.57 0 00-.81 0l-4.37 5-2-2a.56.56 0 00-.79 0l-.81.77a.52.52 0 00-.06.72l.06.06L37 41.63a1.21 1.21 0 00.82.36 1 1 0 00.81-.36l5.2-5.76a.63.63 0 000-.78zM14.48 17h-3.25a.73.73 0 00-.48.21.69.69 0 00-.2.56V29.5a.7.7 0 00.76.68h3.11a.73.73 0 00.77-.68V17.79a.72.72 0 00-.67-.77zm4.62 0h-1.7a.73.73 0 00-.48.21.7.7 0 00-.21.56V29.5a.82.82 0 00.22.47.77.77 0 00.56.21H19a.73.73 0 00.6-.18.74.74 0 00.22-.56V17.79a.74.74 0 00-.22-.56.72.72 0 00-.6-.23zm7 0h-3.28a.73.73 0 00-.48.21.7.7 0 00-.21.56V29.5a.72.72 0 00.76.68H26a.74.74 0 00.78-.68V17.79a.74.74 0 00-.67-.79zm8.52-3.87H11.23a.78.78 0 00-.48.21.71.71 0 00-.2.57v.85a.71.71 0 00.73.69h23.24a.77.77 0 00.56-.21.72.72 0 00.21-.57v-.76a.72.72 0 00-.21-.57.77.77 0 00-.56-.21z\"}},\nassignment:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M3.6 29.8h44.6c.9 0 1.6.7 1.6 1.6v3.2c0 .9-.7 1.6-1.6 1.6H3.6c-.9 0-1.6-.7-1.6-1.6v-3.2c0-.9.7-1.6 1.6-1.6zM3.6 15.6h44.6c.9 0 1.6.7 1.6 1.6v3.2c0 .9-.7 1.6-1.6 1.6H3.6c-.9 0-1.6-.7-1.6-1.6v-3.2c0-.8.7-1.6 1.6-1.6z\"}},\nattach:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M17.6 36.7c.6.6 1.5.5 2.1 0l10-10c.7-.7 1.9-.8 2.8 0 .9.8.8 2.2 0 3L20.2 41.8c-2.7 2.7-7.2 2.7-9.9 0l-.1-.1c-2.7-2.7-2.7-7.2 0-9.9l21.7-21.7c2.7-2.7 7.2-2.7 9.9 0l.1.1c2.7 2.7 2.7 7.2 0 9.9l-.1.1c-.5.5-.6 1.2-.2 1.8.6 1.1 1.1 2.3 1.4 3.5.2.8 1.1 1 1.7.5.8-.8 1.5-1.6 1.5-1.6 5.1-5.1 5.1-13.4 0-18.5H46C40.9.8 32.6.8 27.5 5.9L5.8 27.5C.7 32.6.7 40.9 5.8 46l.2.2c5.1 5.1 13.3 5.1 18.4 0l12.4-12.3c3.2-3.2 3.1-8.4-.2-11.6-3.2-3.1-8.4-2.9-11.5.3l-9.8 9.8c-.6.6-.6 1.6 0 2.2l2.3 2.1z\"}},\nautomate:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M26.1 16.4c-5.3 0-9.7 4.3-9.7 9.7s4.3 9.7 9.7 9.7c5.3 0 9.7-4.3 9.7-9.7s-4.4-9.7-9.7-9.7zm0 16.7c-3.9 0-7.1-3.2-7.1-7.1 0-3.9 3.2-7.1 7.1-7.1 3.9 0 7.1 3.2 7.1 7.1-.1 3.9-3.3 7.1-7.1 7.1z\"},{\"d\":\"M49.3 32.1c.5-1.9.8-4 .8-6.1 0-2.1-.3-4.1-.8-6.1h-2.7c-.4-1.5-1-2.9-1.7-4.2l1.9-1.9c-2.1-3.5-5-6.5-8.6-8.6l-1.9 1.9c-1.3-.7-2.7-1.3-4.2-1.7V2.8c-1.9-.5-4-.8-6.1-.8-2.1 0-4.1.3-6.1.8v2.7c-1.4.4-2.8 1-4.1 1.7l-2-1.9c-3.6 2.1-6.5 5.1-8.6 8.6l1.9 1.9c-.7 1.3-1.3 2.7-1.7 4.2H2.8c-.5 1.9-.8 3.9-.8 6s.3 4.1.8 6.1h2.7c.4 1.5 1 2.9 1.7 4.2l-1.9 1.9c2.1 3.5 5 6.5 8.6 8.6l1.9-1.9c1.3.7 2.7 1.3 4.2 1.7v2.7c1.9.5 4 .8 6.1.8 2.1 0 4.1-.3 6.1-.8v-2.7c1.5-.4 2.9-1 4.2-1.7l1.9 1.9c3.5-2.1 6.5-5 8.6-8.6L45 36.3c.7-1.3 1.3-2.7 1.7-4.2h2.6zm-5.8 6.5c-.7.9-1.4 1.8-2.3 2.6-.8.8-1.7 1.6-2.6 2.3l-1.9-1.9c-2.1 1.5-4.6 2.5-7.2 3v2.6c-1.1.2-2.3.3-3.5.3-1.2 0-2.3-.1-3.5-.3v-2.6c-2.6-.5-5.1-1.5-7.2-3l-1.9 1.9a28.482 28.482 0 01-4.9-4.9l1.9-1.9c-1.5-2.1-2.5-4.6-3-7.2H4.8c-.2-1.1-.3-2.3-.3-3.5 0-1.2.1-2.3.3-3.5h2.7c.5-2.6 1.5-5.1 3-7.2l-1.9-1.9a28.482 28.482 0 014.9-4.9l1.9 1.9c2.1-1.5 4.6-2.5 7.2-3V4.8c1.1-.2 2.3-.3 3.5-.3 1.2 0 2.3.1 3.5.3v2.7c2.6.5 5.1 1.5 7.2 3l1.9-1.9c.9.7 1.8 1.4 2.6 2.3.8.8 1.6 1.7 2.3 2.6l-1.9 1.9c1.5 2.1 2.5 4.6 3 7.2h2.7c.2 1.1.3 2.3.3 3.5 0 1.2-.1 2.3-.3 3.5h-2.7c-.5 2.6-1.5 5.1-3 7.2l1.8 1.8z\"}]}},\naway:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M43 9C33.6-.3 18.4-.3 9 9S-.3 33.6 9 43s24.6 9.3 34 0 9.3-24.6 0-34zm-29.7 4.3c7-7 18.5-7 25.5 0 2.8 2.8 4.5 6.2 5 9.7H8.2c.6-3.6 2.3-7 5.1-9.7z\"}},\nback:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M48.6 23H15.4c-.9 0-1.3-1.1-.7-1.7l9.6-9.6c.6-.6.6-1.5 0-2.1l-2.2-2.2c-.6-.6-1.5-.6-2.1 0L2.5 25c-.6.6-.6 1.5 0 2.1L20 44.6c.6.6 1.5.6 2.1 0l2.1-2.1c.6-.6.6-1.5 0-2.1l-9.6-9.6c-.6-.7-.2-1.8.7-1.8h33.2c.8 0 1.5-.6 1.5-1.4v-3c0-.8-.6-1.6-1.4-1.6z\"}},\nban:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M26 2C12.8 2 2 12.8 2 26s10.8 24 24 24 24-10.8 24-24S39.2 2 26 2zm11.9 25.7c-.1.7-.7 1.3-1.5 1.3H15.6c-.8 0-1.4-.5-1.5-1.3-.1-1.2-.1-2.3 0-3.4.1-.7.7-1.3 1.5-1.3h20.8c.8 0 1.4.6 1.5 1.3.1 1.2.1 2.3 0 3.4z\"}},\nblock_visitor:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M64.7 19.1v.4-.4z\"},{\"d\":\"M22 37c0-2.7.9-5.8 2.3-8.2 1.7-3 3.6-4.2 5.1-6.4 2.5-3.7 3-9 1.4-13C29.2 5.3 25.4 2.9 21 3s-8 2.8-9.4 6.9c-1.6 4.5-.9 9.9 2.7 13.3 1.5 1.4 2.9 3.6 2.1 5.7-.7 2-3.1 2.9-4.8 3.7-3.9 1.7-8.6 4.1-9.4 8.7C1.4 45.1 4 49 8.1 49h17c.8 0 1.3-1 .8-1.6C23.4 44.5 22 40.8 22 37z\"},{\"d\":\"M46.5 28.5c-4.7-4.7-12.3-4.7-17 0s-4.7 12.3 0 17 12.3 4.7 17 0 4.7-12.3 0-17zm-14.2 2.8c2.7-2.7 6.7-3.1 9.8-1.2l-11 11c-1.9-3.1-1.5-7.1 1.2-9.8zm11.4 11.4c-2.7 2.6-6.7 3-9.8 1.3l11-11c1.8 3 1.4 7-1.2 9.7z\"}]},\nbold:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M41 19c0-6-4.8-11-10.5-11H14c-1.1 0-2 .9-2 2v33c0 1.1.9 2 2 2h16.5C36.2 45 41 40 41 34c0-2.9-1.1-5.5-2.9-7.5 1.8-2 2.9-4.6 2.9-7.5zM30.5 38H19v-8h11.5c1.9 0 3.6 1.9 3.6 4s-1.7 4-3.6 4zm0-15H19v-8h11.5c1.9 0 3.6 1.9 3.6 4s-1.7 4-3.6 4z\"}},\nbookmark:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M37.3 49.6l-9.9-9.9c-.6-.6-1.5-.6-2.1 0l-10.6 10c-.7.6-1.7.2-1.7-.7V6c0-2.2 1.8-4 4-4h18c2.2 0 4 1.8 4 4v42.9c0 .9-1.1 1.4-1.7.7z\"}},\nbottom_align:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"rect\":[{\"x\":\"2\",\"y\":\"43.6\",\"width\":\"48\",\"height\":\"6.4\",\"rx\":\"1.6\"},{\"data-name\":\"Rectangle\",\"x\":\"18.8\",\"y\":\"2\",\"width\":\"14.4\",\"height\":\"37.6\",\"rx\":\"3.2\"}]},\nbreadcrumbs:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M8.4 42c-.6 0-1-.4-1-1V10.9c0-.6.4-1 1-1h8.1c.4 0 .9.2 1.2.5L29.3 25c.4.5.4 1.3 0 1.9L17.6 41.5c-.3.4-.8.6-1.3.6L8.4 42z\"},{\"d\":\"M44.3 25L32.6 10.5c-.5-.6-1.4-.8-2.1-.2l-2.3 1.9c-.7.5-.8 1.5-.2 2.1L37.5 26 28 37.8c-.5.6-.4 1.6.2 2.1l2.3 1.9c.7.5 1.5.4 2.1-.2L44.3 27c.4-.8.4-1.5 0-2z\"}]},\nbroadcast:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":[{\"path\":[{\"d\":\"M2 18.992c0 5.832 2.28 11.292 6.362 15.374.902.899 2.28.899 3.181 0 .902-.9.902-2.279 0-3.183-3.233-3.231-5.036-7.58-5.088-12.19.053-4.612 1.855-8.959 5.088-12.193.902-.901.902-2.279 0-3.181-.901-.9-2.28-.901-3.181 0A21.61 21.61 0 002 18.992z\"},{\"d\":\"M14.723 28.004c.902.902 2.28.902 3.182 0 .9-.9.9-2.278 0-3.181-1.538-1.537-2.438-3.605-2.438-5.831-.001-2.227.847-4.241 2.438-5.832.9-.901.9-2.279 0-3.181-.902-.9-2.28-.901-3.182 0a12.715 12.715 0 00-3.71 9.012c0 3.394 1.325 6.628 3.71 9.013z\"}]},{\"path\":[{\"d\":\"M43.499 3.618c-.901-.901-2.28-.9-3.181 0-.901.902-.901 2.28 0 3.181 3.232 3.234 5.035 7.581 5.089 12.193-.054 4.611-1.855 8.959-5.089 12.191-.901.901-.901 2.28 0 3.182.899.9 2.277.9 3.181 0a21.614 21.614 0 006.36-15.374c0-5.83-2.277-11.29-6.36-15.373z\"},{\"d\":\"M40.85 18.992c-.002-3.392-1.326-6.627-3.713-9.012-.9-.901-2.279-.9-3.181 0-.901.902-.899 2.28 0 3.181 1.591 1.59 2.438 3.604 2.438 5.832 0 2.226-.9 4.294-2.438 5.831-.901.902-.899 2.279 0 3.181.901.902 2.28.902 3.181 0a12.724 12.724 0 003.713-9.013z\"}]}],\"path\":{\"d\":\"M23.662 24.349a5.858 5.858 0 012.247-11.268 5.856 5.856 0 012.28 11.253l-.03 2.759v20.844c0 .601-.524 1.125-1.125 1.052h-2.249c-.599 0-1.125-.525-1.125-1.125V27.02l.002-2.671z\"}},\nbrush:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M49.4 2.7C46-.8 27 10 15.4 28.6c-.5.9-.2 2 .7 2.4 2.6 1.2 4.7 3.4 5.8 6.1.4 1 1.5 1.3 2.4.7 18-11.9 28.5-31.6 25.1-35.1zM11.9 35.2C10.4 35.2 9 36 8 37h-.1c-.5 0-1 .8-1.4 1.5-1.6 2.7-1.9 5.9-4.3 9.4-.4.6-.3 1.5.4 1.7 3.4 1.1 9.5.1 12.5-2.1v.1c1-.2.7-.6 1-.6 1.1-2 2-3 2-4.9-.1-3.7-2.7-6.9-6.2-6.9z\"}}},\nbucket:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M49 11c0-6.2-9.8-9-19-9s-19 2.8-19 9v.4C2.4 14 1 19.5 1 22.6c0 3 1.5 6.1 4.1 8.3 2.3 1.9 5.1 3 7.9 3.1h.8c6.5-.2 12.9-2.3 14.7-5.9-.9-.7-1.5-1.9-1.5-3.1 0-2.2 1.8-4 4-4s4 1.8 4 4c0 1.7-1 3.1-2.5 3.7-2 5.6-10 9.3-19.5 9.3v6c0 3.3 7.6 6 17 6s17-2.7 17-6V15.3c1.3-1.2 2-2.6 2-4.3zM30 8c6.6 0 10.8 1.5 12.4 2.6.3.2.3.6 0 .8C40.8 12.5 36.6 14 30 14s-10.8-1.5-12.4-2.6c-.3-.2-.3-.6 0-.8C19.2 9.5 23.4 8 30 8zM7.7 27.8C6 26.4 5 24.5 5 22.6c0-4.5 4.1-6.6 7.7-7.5l.3.3V30c-1.9-.1-3.8-.9-5.3-2.2z\"}},\nbug:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M19.6 10h12.8a1.51 1.51 0 001.43-1.75A8 8 0 0026 2a8.05 8.05 0 00-7.83 6.24A1.51 1.51 0 0019.6 10z\"},{\"d\":\"M47.59 30.8A2.4 2.4 0 0050 28.24 2.47 2.47 0 0047.43 26h-7v-4c4.64-1.84 7.91-6.8 8-12.71a2.48 2.48 0 00-2-2.48 2.39 2.39 0 00-2.8 2.4 9.14 9.14 0 01-3.92 7.83 4.87 4.87 0 00-4.08-2.24H16.41a4.87 4.87 0 00-4.08 2.24 9 9 0 01-3.92-7.66 2.53 2.53 0 00-2.24-2.56 2.39 2.39 0 00-2.55 2.4c0 5.91 3.35 11 8 12.79v4h-7A2.53 2.53 0 002 28.24a2.44 2.44 0 002.41 2.56h7.2v4C7 36.64 3.7 41.59 3.62 47.51a2.48 2.48 0 002 2.48 2.39 2.39 0 002.8-2.4 9 9 0 013.84-7.76 14.4 14.4 0 009.27 9.44 1.61 1.61 0 002.08-1.52V28.56A2.53 2.53 0 0125.84 26a2.44 2.44 0 012.56 2.4v19.35a1.58 1.58 0 002.08 1.52 14.4 14.4 0 009.27-9.44 9.25 9.25 0 013.84 7.6A2.53 2.53 0 0045.83 50a2.4 2.4 0 002.56-2.4c0-5.92-3.36-11-8-12.79v-4z\"}]}},\nbuilder:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M11.5 17h-8c-.8 0-1.5.7-1.5 1.5V44c0 2.2 1.8 4 4 4h5.5c.8 0 1.5-.7 1.5-1.5v-28c0-.8-.7-1.5-1.5-1.5zM48.5 17h-30c-.8 0-1.5.7-1.5 1.5v28c0 .8.7 1.5 1.5 1.5H46c2.2 0 4-1.8 4-4V18.5c0-.8-.7-1.5-1.5-1.5zM46 4H6C3.8 4 2 5.8 2 8v3.5c0 .8.7 1.5 1.5 1.5h45c.8 0 1.5-.7 1.5-1.5V8c0-2.2-1.8-4-4-4z\"}}},\nbundle_config:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M14.4 2H8a6 6 0 00-6 6v6a6 6 0 006 6h6.4a6 6 0 006-6V8a6 6 0 00-6-6zm-2.87 13.1h-.66a4.1 4.1 0 010-8.19h.66a4.1 4.1 0 010 8.19zM31.2 20h6.4a6 6 0 006-6V8a6 6 0 00-6-6h-6.4a6 6 0 00-6 6v6a6 6 0 006 6zm2.87-13.09h.66a4.1 4.1 0 010 8.19h-.66a4.1 4.1 0 010-8.19zM14.4 24.93L8 25a6 6 0 00-6 6v5.87a6 6 0 006 6h6.4a6 6 0 006-6v-5.94a6 6 0 00-6-6zM11.53 38h-.66a4.1 4.1 0 010-8.19h.66a4.1 4.1 0 010 8.19zM49.27 35.07a14.83 14.83 0 01-1.88-.22.22.22 0 01-.2-.21 18.39 18.39 0 00-.84-2v-.32c.32-.53.84-1.06 1.15-1.6a.82.82 0 00-.11-1.06l-2.08-2.14a.78.78 0 00-.52-.21 2.36 2.36 0 00-.52.21c-.52.32-1 .86-1.56 1.18a.1.1 0 00-.11.09h-.1c-.73-.21-1.25-.64-2-.85a.23.23 0 01-.21-.21c-.1-.64-.1-1.18-.21-1.82a.89.89 0 00-.52-.85.33.33 0 00-.21-.11h-3a.86.86 0 00-.52.11c-.21.21-.52.53-.52.85a11.15 11.15 0 01-.21 1.82.23.23 0 01-.21.21c-.73.21-1.25.64-2 .85h-.1c-.11 0-.11 0-.21-.1-.52-.32-.94-.86-1.56-1.18a.62.62 0 00-.53-.21c-.31 0-.31.11-.62.21l-2.08 2.14a.82.82 0 00-.11 1.06c.31.54.83 1 1.15 1.6a.21.21 0 010 .3c-.21.75-.63 1.28-.84 2a.22.22 0 01-.2.21c-.63.11-1.15.11-1.78.22a.87.87 0 00-.83.64v3.62a1.59 1.59 0 00.82.7 9.73 9.73 0 011.78.22.22.22 0 01.2.21c.21.75.63 1.28.84 2 0 .1.1.21 0 .32-.32.53-.84 1.06-1.15 1.6a.82.82 0 00.11 1.06l2.08 2.14c.21.21.31.21.62.21a1.63 1.63 0 00.53-.21c.5-.42 1-.81 1.56-1.18.1 0 .1-.1.21-.1h.1c.73.21 1.25.64 2 .85a.23.23 0 01.21.21c.1.64.1 1.28.21 1.92s.31.75.83.75h3c.52 0 .73-.21.84-.75s.1-1.28.21-1.92a.22.22 0 01.2-.21 18.46 18.46 0 002-.85h.11a.09.09 0 01.1.1c.52.32 1 .86 1.56 1.18a.86.86 0 00.53.21c.2 0 .31-.11.62-.21l2.08-2.14a.82.82 0 00.11-1.06c-.31-.54-.83-1-1.15-1.6a.21.21 0 010-.3c.21-.75.63-1.28.84-2a.22.22 0 01.2-.21c.63-.11 1.26-.11 1.88-.22s.73-.32.73-.85v-3c.01-.78-.2-1-.72-1.1zm-6.9 2.45a4.93 4.93 0 01-4.67 4.8 4.65 4.65 0 01-4.7-4.6v-.2a4.69 4.69 0 019.37-.43 3.09 3.09 0 010 .43z\"}},\nbundle_policy:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M37.55 22.55a2 2 0 00-2.83 0L30.43 27a2.11 2.11 0 000 2.92l9.62 9.94a2 2 0 002.83 0l4.29-4.44a2.11 2.11 0 000-2.92l-9.62-9.94zM31.8 39a2.37 2.37 0 00-3.35 0l-6.22 6.27h-.06a2.42 2.42 0 00.06 3.34 2.37 2.37 0 003.35 0l6.22-6.22h.06a2.42 2.42 0 00-.02-3.39zM47.68 45.2h-9.76a2.4 2.4 0 100 4.8h9.76A2.36 2.36 0 0050 47.6a2.36 2.36 0 00-2.32-2.4zM13.6 2H8a6.11 6.11 0 00-6 6.2V11a6.11 6.11 0 006 6.2h5.6a6.11 6.11 0 006-6.2V8.2a6.11 6.11 0 00-6-6.2zm-1.51 10.4H9.5a2.75 2.75 0 01-2.7-2.8 2.75 2.75 0 012.71-2.8h2.59a2.75 2.75 0 012.7 2.8 2.75 2.75 0 01-2.71 2.8zM30.4 17.2H36a6.11 6.11 0 006-6.2V8.2A6.11 6.11 0 0036 2h-5.6a6.11 6.11 0 00-6 6.2V11a6.11 6.11 0 006 6.2zm1.51-10.4h2.59a2.75 2.75 0 012.7 2.8 2.75 2.75 0 01-2.71 2.79H31.9a2.75 2.75 0 01-2.7-2.8 2.75 2.75 0 012.71-2.79zM13.6 22H8a6.11 6.11 0 00-6 6.2V31a6.11 6.11 0 006 6.2h5.6a6.11 6.11 0 006-6.2v-2.8a6.11 6.11 0 00-6-6.2zm-1.51 10.4H9.51a2.8 2.8 0 010-5.6h2.58a2.8 2.8 0 110 5.6z\",\"fill-rule\":\"evenodd\"}},\nbutton_choice:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M31.998 12c1.468-.001 3 1.133 3 4.135V26c0 1.513 1.38 2.111 1.98 2.311L43.8 30.8c2.9 1.1 4.7 4.2 3.9 7.4l-3.2 10.4c-.2.8-.9 1.4-1.8 1.4H26.6c-.8 0-1.5-.4-1.8-1.1L18.365 33.96c-.421-.978-.143-1.765.835-2.361 1.8-1.3 4.5.04 5.6 1.94l1.616 2.203c.636 1.208 2.584 1.208 2.584-.592V16.135C29 13.133 30.53 12 31.998 12zM46 2c2.2 0 4 1.8 4 4v15c0 1.882-1.819 4.003-4 4h-5.99C39 25 39 24.188 39 24.06V15.5c0-3.845-1.981-7.5-7-7.5s-7 3.188-7 7.5v8.56a.96.96 0 01-1.012.94H6c-2.2 0-4-1.8-4-4V6c0-2.2 1.8-4 4-4z\"}},\ncalculated_insights:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M44 6.81a6 6 0 00-4.77 9.56l-5 8.82h-.63a6 6 0 00-3 .81l-6.35-4.67A5.9 5.9 0 0024.4 20a6 6 0 10-10.73 3.67L8.52 33.2H8a5.94 5.94 0 00-3.69 1.25 6 6 0 108.41 1.08L17.89 26h.51a5.94 5.94 0 003-.8l6.35 4.67a5.9 5.9 0 00-.15 1.33 6 6 0 1010.78-3.58l5-8.82H44a6 6 0 100-12z\",\"fill-rule\":\"evenodd\"}},\ncall:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M48.5 37.9L42.4 33c-1.4-1.1-3.4-1.2-4.8-.1l-5.2 3.8c-.6.5-1.5.4-2.1-.2l-7.8-7-7-7.8c-.6-.6-.6-1.4-.2-2.1l3.8-5.2c1.1-1.4 1-3.4-.1-4.8l-4.9-6.1c-1.5-1.8-4.2-2-5.9-.3L3 8.4c-.8.8-1.2 1.9-1.2 3 .5 10.2 5.1 19.9 11.9 26.7S30.2 49.5 40.4 50c1.1.1 2.2-.4 3-1.2l5.2-5.2c1.9-1.5 1.8-4.3-.1-5.7z\"}},\ncampaign:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M26 .8C12.1.8.8 12.1.8 26S12.1 51.2 26 51.2 51.2 39.9 51.2 26 39.9.8 26 .8zm0 45.4C14.9 46.2 5.8 37.1 5.8 26S14.9 5.8 26 5.8 46.2 14.9 46.2 26 37.1 46.2 26 46.2zm0-35.3c-8.3 0-15.1 6.8-15.1 15.1S17.7 41.1 26 41.1 41.1 34.3 41.1 26 34.3 10.9 26 10.9zm0 25.2c-5.5 0-10.1-4.5-10.1-10.1S20.5 15.9 26 15.9 36.1 20.5 36.1 26 31.5 36.1 26 36.1zM26 21c-2.8 0-5 2.3-5 5s2.3 5 5 5 5-2.3 5-5-2.2-5-5-5z\"}},\ncancel_file_request:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M28.6 11.4h5.1c.6 0 1.1-.5 1.1-1.1 0-.3-.1-.5-.3-.8l-7.2-7.1c-.2-.2-.4-.3-.7-.3-.6 0-1.1.5-1.1 1.1v5.1c0 1.7 1.4 3.1 3.1 3.1z\"},{\"d\":\"M24.6 40.6c0-6.8 4.2-12.6 10.2-14.9v-8.1c0-.9-.7-1.6-1.6-1.6h-7.8c-2.6 0-4.7-2.1-4.7-4.6V3.6c.1-.8-.6-1.5-1.5-1.5H6.8c-2.6 0-4.7 2.1-4.7 4.6v29.4c0 2.6 2.1 4.6 4.7 4.6h17.8v-.1zM31.8 34.6l6 6-6 6c-.6.6-.6 1.6 0 2.1l.7.7c.6.6 1.6.6 2.1 0l6-6 6 6c.6.6 1.6.6 2.1 0l.7-.7c.6-.6.6-1.6 0-2.1l-6-6 6-6c.6-.6.6-1.6 0-2.1l-.7-.7c-.6-.6-1.6-.6-2.1 0l-6 6-6-6c-.6-.6-1.6-.6-2.1 0l-.7.7c-.6.5-.6 1.5 0 2.1z\"}]}},\ncancel_transfer:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M25.1 12.3v-3c4 0 7.2 3.2 7.2 7.2h-3l4.6 5.7c.3.3.7.3.9 0l4.6-5.7h-3c0-6.3-5.2-11.4-11.4-11.4v-3l-5.7 4.6c-.3.3-.2.7.1.9l5.7 4.7zM26.3 33.6c-1.2-1.6-3.5-2.7-5.8-3.8-2.4-1-2.7-2-2.7-3s.6-2.1 1.4-2.8c1.3-1.3 2.1-3.2 2.1-5.3 0-4-2.4-7.5-6.5-7.5h-.4c-4.1 0-6.5 3.5-6.5 7.5 0 2.2.7 4 2.1 5.3.8.7 1.4 1.7 1.4 2.8 0 1-.3 2-2.7 3-3.4 1.5-6.6 3.1-6.7 6.3.3 2.3 1.8 3.9 3.8 3.9h17.9c.3 0 .7-.1 1-.2.1-2.2.6-4.3 1.6-6.2zM31.8 34.6l6 6-6 6c-.6.6-.6 1.6 0 2.1l.7.7c.6.6 1.6.6 2.1 0l6-6 6 6c.6.6 1.6.6 2.1 0l.7-.7c.6-.6.6-1.6 0-2.1l-6-6 6-6c.6-.6.6-1.6 0-2.1l-.7-.7c-.6-.6-1.6-.6-2.1 0l-6 6-6-6c-.6-.6-1.6-.6-2.1 0l-.7.7c-.6.5-.6 1.5 0 2.1z\"}},\ncapacity_plan:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M43.3 6h-1.73a.74.74 0 00-.67.8V10a6.37 6.37 0 01-6.3 6.4H17.4a6.37 6.37 0 01-6.3-6.4V6.67a.74.74 0 00-.8-.67H8.7A4.77 4.77 0 004 10.8v34.4A4.77 4.77 0 008.7 50h34.6a4.77 4.77 0 004.7-4.8V10.8A4.77 4.77 0 0043.3 6zM25.92 45a12 12 0 01.16-24 12 12 0 01-.16 24z\"},{\"d\":\"M16.91 11.6h17.86a1.59 1.59 0 001.63-1.55V6.8A4.81 4.81 0 0031.6 2H20.4a4.82 4.82 0 00-4.8 4.8V10a1.47 1.47 0 001.31 1.6zM32.23 27.2A9.09 9.09 0 0026 24.4v8.8h8.77a7.32 7.32 0 00-2.54-6z\"}]},\ncapslock:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M43.6 21.1L27.2 2.5c-.6-.7-1.8-.7-2.4 0L8.4 21.1c-.6.7-.1 1.9.9 1.9H17v12.5c0 .8.7 1.5 1.5 1.5h15c.8 0 1.5-.7 1.5-1.5V23h7.7c1 0 1.5-1.2.9-1.9zM33.5 43h-15c-.8 0-1.5.7-1.5 1.5v4c0 .8.7 1.5 1.5 1.5h15c.8 0 1.5-.7 1.5-1.5v-4c0-.8-.7-1.5-1.5-1.5z\"}}},\ncart:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M20.1 26H44c.7 0 1.4-.5 1.5-1.2l4.4-15.4c.3-1.1-.5-2-1.5-2H11.5l-.6-2.3C10.6 4 9.6 3.3 8.6 3.3h-4c-1.3 0-2.5 1-2.6 2.3C1.9 7 3.1 8.2 4.4 8.2h2.3l7.6 25.7c.3 1.1 1.2 1.8 2.3 1.8h28.2c1.3 0 2.5-1 2.6-2.3.1-1.4-1.1-2.6-2.4-2.6H20.2c-1.1 0-2-.7-2.3-1.7V29c-.5-1.5.7-3 2.2-3z\"},\"circle\":[{\"cx\":\"20.6\",\"cy\":\"44.6\",\"r\":\"4\"},{\"cx\":\"40.1\",\"cy\":\"44.6\",\"r\":\"4\"}]}},\ncase:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M17.2 11.3h2.9c.4 0 .7-.3.7-.7V8.4h10.3v2.2c0 .4.3.7.7.7h2.9c.4 0 .7-.3.7-.7V8.4C35.4 6 33.4 4 31 4H20.9c-2.4 0-4.4 2-4.4 4.4v2.2c0 .4.2.7.7.7zm26.4 4.4H8.4c-2.4 0-4.4 2-4.4 4.4v23.5C4 46 6 48 8.4 48h35.2c2.4 0 4.4-2 4.4-4.4V20.1c0-2.4-2-4.4-4.4-4.4z\"}},\ncases:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M9 3.5C9 2.7 8.3 2 7.5 2h-4C2.7 2 2 2.7 2 3.5v31c0 .8.7 1.5 1.5 1.5h4c.8 0 1.5-.7 1.5-1.5v-31zM50 3.5c0-.8-.7-1.5-1.5-1.5h-4c-.8 0-1.5.7-1.5 1.5v31c0 .8.7 1.5 1.5 1.5h4c.8 0 1.5-.7 1.5-1.5v-31zM37.5 2h-3c-.8 0-1.5.8-1.5 1.6V16c0 .4.2.7.6.9 1.7.9 3.2 2 4.5 3.3.3.3.9.1.9-.3V3.6c0-.8-.7-1.6-1.5-1.6zM24.1 15.2c.6-.1 1.3-.1 1.9-.1s1.3 0 1.9.1 1.1-.4 1.1-1V3.6c0-.8-.7-1.6-1.5-1.6h-3c-.8 0-1.5.8-1.5 1.6v10.6c0 .6.5 1.1 1.1 1zM13.9 20.2c1.3-1.4 2.9-2.5 4.6-3.3.3-.2.5-.5.5-.9V3.6c0-.8-.7-1.6-1.5-1.6h-3c-.8 0-1.5.8-1.5 1.6v16.3c0 .4.5.6.9.3zM26 19.1c-7.2 0-13 5.8-13 13 0 2.2.6 4.4 1.6 6.2l-7.1 7.1c-.6.6-.6 1.5 0 2.1l2.1 2.1c.6.6 1.5.6 2.1 0l6.9-6.9c2.1 1.5 4.7 2.4 7.4 2.4 7.2 0 13-5.8 13-13s-5.8-13-13-13zm0 20c-3.9 0-7-3.1-7-7s3.1-7 7-7 7 3.1 7 7-3.1 7-7 7z\"}}},\ncenter_align:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"rect\":[{\"x\":\"2\",\"y\":\"23.6\",\"width\":\"48\",\"height\":\"6.4\",\"rx\":\"1.6\"},{\"data-name\":\"Rectangle\",\"x\":\"19\",\"y\":\"2\",\"width\":\"14.4\",\"height\":\"48\",\"rx\":\"3.2\"}]},\ncenter_align_text:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M48 6.5c0-.8-.7-1.5-1.5-1.5h-41C4.7 5 4 5.7 4 6.5v3c0 .8.7 1.5 1.5 1.5h41c.8 0 1.5-.7 1.5-1.5v-3zM42 18.5c0-.8-.7-1.5-1.5-1.5h-29c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h29c.8 0 1.5-.7 1.5-1.5v-3zM40 42.5c0-.8-.7-1.5-1.5-1.5h-25c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h25c.8 0 1.5-.7 1.5-1.5v-3zM48 30.5c0-.8-.7-1.5-1.5-1.5h-41c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h41c.8 0 1.5-.7 1.5-1.5v-3z\"}},\nchange_owner:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M27.3 37.6c-3-1.2-3.5-2.3-3.5-3.5 0-1.2.8-2.3 1.8-3.2 1.8-1.5 2.6-3.9 2.6-6.4 0-4.7-2.9-8.5-8.3-8.5s-8.3 3.8-8.3 8.5c0 2.5.8 4.9 2.6 6.4 1 .9 1.8 2 1.8 3.2 0 1.2-.5 2.3-3.5 3.5-4.4 1.8-8.6 3.8-8.7 7.6C4 47.8 6 50 8.5 50h23c2.5 0 4.5-2.2 4.5-4.7-.1-3.8-4.3-5.9-8.7-7.7zM44.5 19c0-7.4-6.1-13.5-13.5-13.5V2l-6.8 5.5c-.3.3-.2.8.1 1.1L31 14v-3.5c4.7 0 8.5 3.8 8.5 8.5H36l5.5 6.8c.3.3.8.3 1.1 0L48 19h-3.5z\"}},\nchange_record_type:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M20 37.5c0-.8-.7-1.5-1.5-1.5h-15c-.8 0-1.5.7-1.5 1.5v11c0 .8.7 1.5 1.5 1.5h15c.8 0 1.5-.7 1.5-1.5v-11zM8.1 22H3.2c-1 0-1.5.9-.9 1.4l8 8.3c.4.3 1 .3 1.4 0l8-8.3c.6-.6.1-1.4-.9-1.4h-4.7c0-5 4.9-10 9.9-10V6C15 6 8.1 13 8.1 22zM41.8 20.3c-.4-.3-1-.3-1.4 0l-8 8.3c-.6.6-.1 1.4.9 1.4h4.8c0 6-4.1 10-10.1 10v6c9 0 16.1-7 16.1-16H49c1 0 1.5-.9.9-1.4l-8.1-8.3zM50 3.5c0-.8-.7-1.5-1.5-1.5h-15c-.8 0-1.5.7-1.5 1.5v11c0 .8.7 1.5 1.5 1.5h15c.8 0 1.5-.7 1.5-1.5v-11z\"}},\nchart:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M45.5 23.4L25 34.7c-1.4.7-3-.3-3-1.8V8.4c0-1-1-1.8-1.9-1.5-10 2.8-17.2 12.5-16 23.6 1.1 10.1 9.2 18.3 19.4 19.4C36.8 51.3 48 41 48 28c0-1.2-.1-2.4-.3-3.6-.2-1-1.3-1.5-2.2-1z\"},{\"d\":\"M27.7 28l19.7-10.5c1.2-.6 1.6-2.2.8-3.3C43.7 8 36.7 3.5 28.7 2.2 27.3 1.9 26 3 26 4.4V27c0 .9.9 1.4 1.7 1z\"}]}},\nchat:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M26 4C12.7 4 2.1 13.8 2.1 25.9c0 3.8 1.1 7.4 2.9 10.6.3.5.4 1.1.2 1.7l-3.1 8.5c-.3.8.5 1.5 1.3 1.3l8.6-3.3c.5-.2 1.1-.1 1.7.2 3.6 2 7.9 3.2 12.5 3.2C39.3 48 50 38.3 50 26.1 49.9 13.8 39.2 4 26 4zM14 30c-2.2 0-4-1.8-4-4s1.8-4 4-4 4 1.8 4 4-1.8 4-4 4zm12 0c-2.2 0-4-1.8-4-4s1.8-4 4-4 4 1.8 4 4-1.8 4-4 4zm12 0c-2.2 0-4-1.8-4-4s1.8-4 4-4 4 1.8 4 4-1.8 4-4 4z\"}},\ncheck:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M19.1 42.5L2.6 25.9c-.6-.6-.6-1.6 0-2.2l2.2-2.2c.6-.6 1.6-.6 2.2 0L19.4 34c.4.4 1.1.4 1.5 0L45.2 9.5c.6-.6 1.6-.6 2.2 0l2.2 2.2c.6.6.6 1.6 0 2.2L21.3 42.5c-.6.7-1.6.7-2.2 0z\"}},\ncheckin:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M26 2C15.5 2 7 10.5 7 21.1c0 13.2 13.6 25.3 17.8 28.5.7.6 1.7.6 2.5 0C31.5 46.3 45 34.3 45 21.1 45 10.5 36.5 2 26 2zm0 27c-4.4 0-8-3.6-8-8s3.6-8 8-8 8 3.6 8 8-3.6 8-8 8z\"}},\ncheckout:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M38.67 27.35a11.33 11.33 0 11-11.32 11.32 11.34 11.34 0 0111.32-11.32zM20.36 37.63a4 4 0 11-4 4 4 4 0 014-4zm22.44-3.56l-6.06 6.79L34 38.09a.79.79 0 00-1.11 0l-1.11 1.07a.7.7 0 00-.07 1l.07.08L35.6 44a1.62 1.62 0 001.14.48 1.47 1.47 0 001.13-.48l7.19-7.87a.83.83 0 000-1l-1.12-1.05a.79.79 0 00-1.11 0zM8.2 2a2.42 2.42 0 012.25 1.7l.62 2.16h35.29a1.5 1.5 0 011.54 1.45 1.24 1.24 0 01-.06.47l-4.18 14.65a1.42 1.42 0 01-.52.82 16.42 16.42 0 00-4.47-.64 16 16 0 00-5.47 1H19.36a2.2 2.2 0 00-2.22 2.18 2.11 2.11 0 00.13.75v.08a2.26 2.26 0 002.17 1.62h7.1a16 16 0 00-2.77 4.61H16a2.32 2.32 0 01-2.25-1.7L6.5 6.62H4.33A2.37 2.37 0 012 4.22v-.06A2.46 2.46 0 014.48 2H8.2z\"}},\nchevrondown:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M47.6 17.8L27.1 38.5c-.6.6-1.6.6-2.2 0L4.4 17.8c-.6-.6-.6-1.6 0-2.2l2.2-2.2c.6-.6 1.6-.6 2.2 0l16.1 16.3c.6.6 1.6.6 2.2 0l16.1-16.2c.6-.6 1.6-.6 2.2 0l2.2 2.2c.5.6.5 1.5 0 2.1z\"}},\nchevronleft:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M34.2 47.7L13.4 27.2c-.6-.6-.6-1.6 0-2.2L34.2 4.5c.6-.6 1.6-.6 2.2 0l2.2 2.2c.6.6.6 1.6 0 2.2L22.1 25c-.6.6-.6 1.6 0 2.2l16.3 16.1c.6.6.6 1.6 0 2.2l-2.2 2.2c-.5.5-1.4.5-2 0z\"}},\nchevronright:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M17.9 4.4l20.7 20.5c.6.6.6 1.6 0 2.2L17.9 47.6c-.6.6-1.6.6-2.2 0l-2.2-2.2c-.6-.6-.6-1.6 0-2.2l16.3-16.1c.6-.6.6-1.6 0-2.2L13.6 8.8c-.6-.6-.6-1.6 0-2.2l2.2-2.2c.6-.5 1.5-.5 2.1 0z\"}},\nchevronup:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M4.4 34.2l20.5-20.7c.6-.6 1.6-.6 2.2 0l20.5 20.7c.6.6.6 1.6 0 2.2l-2.2 2.2c-.6.6-1.6.6-2.2 0L27.1 22.2c-.6-.6-1.6-.6-2.2 0L8.8 38.5c-.6.6-1.6.6-2.2 0l-2.2-2.2c-.5-.6-.5-1.5 0-2.1z\"}},\nchoice:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"circle\":{\"cx\":\"26\",\"cy\":\"26\",\"r\":\"11.2\"},\"path\":{\"d\":\"M26 2C12.8 2 2 12.8 2 26s10.8 24 24 24 24-10.8 24-24S39.2 2 26 2zm0 41.6c-9.7 0-17.6-7.9-17.6-17.6S16.3 8.4 26 8.4 43.6 16.3 43.6 26 35.7 43.6 26 43.6z\"}}},\nclassic_interface:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M25.5 35.7v-8.5s-3.8 5.7-6.2 9.6-2.1 7-2.1 7c0 3.1 2.3 5.7 5.1 5.7 1.7 0 3.2-.9 4.1-2.4.9 1.3 2.3 2 3.9 2 2.8 0 5.1-2.5 5.1-5.7 0-.3-.1-.6-.1-.9 0-4.2-9.2-15.5-9.2-15.5V35.7l1.2 2.9c0 .1.1.2.1.4 0 .7-.6 1.3-1.3 1.3-.7 0-1.3-.6-1.3-1.3 0-.1 0-.3.1-.4l.6-2.9M15.9 28.3l8-3s-6.6-1.6-11.2-2.5c-4.6-.9-7.3.5-7.3.5C2.5 24.4.9 27.4 1.8 30c.6 1.6 2 2.7 3.7 3.1-.9 1.3-1.1 2.9-.6 4.4 1 2.6 4.1 3.9 7.1 2.8.3-.1.6-.3.8-.4 4-1.4 11.3-14 11.3-14l-7.8 2.9-.3.1-2.3 2.1c-.1.1-.2.1-.3.2-.7.3-1.5-.1-1.7-.8-.3-.7.1-1.5.8-1.7.1 0 .3-.1.4-.1l3-.3M19.9 16.4l5.1 6.9s-.4-6.8-.8-11.4C23.8 7.3 21.7 5 21.7 5c-1.9-2.5-5.2-3.2-7.4-1.5-1.4 1-2 2.7-1.9 4.4-1.5-.5-3.1-.3-4.4.6-2.2 1.7-2.5 5.1-.7 7.6.2.2.4.5.6.7 2.5 3.4 16.7 6.9 16.7 6.9l-5-6.7-.2-.2-2.7-1.6-.3-.3c-.4-.6-.3-1.4.3-1.9.6-.4 1.4-.3 1.9.3.1.1.1.2.2.3l1.1 2.8M36.1 28.3l-8-3s6.6-1.6 11.2-2.5c4.6-.9 7.3.5 7.3.5 2.9 1.1 4.5 4.1 3.6 6.7-.6 1.6-2 2.7-3.7 3.1.9 1.3 1.1 2.9.6 4.4-1 2.6-4.1 3.9-7.1 2.8-.3-.1-.6-.3-.8-.4-4-1.4-11.3-14-11.3-14l7.8 2.9.3.1 2.3 2.1c.1.1.2.1.3.2.7.3 1.5-.1 1.7-.8.3-.7-.1-1.5-.8-1.7-.1 0-.3-.1-.4-.1l-3-.3M31.7 16.4l-5.1 6.9s.4-6.8.8-11.4S29.9 5 29.9 5c1.9-2.5 5.2-3.2 7.4-1.5 1.4 1 2 2.7 1.9 4.4 1.5-.4 3.1-.2 4.3.7 2.2 1.7 2.5 5.1.7 7.6-.2.2-.4.5-.6.7-2.4 3.3-16.6 6.7-16.6 6.7l5-6.7.2-.2 2.7-1.6.3-.3c.4-.6.3-1.4-.3-1.9-.6-.4-1.4-.3-1.9.3-.1.1-.1.2-.2.3l-1.1 2.9\"}}},\nclear:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M26 2C12.7 2 2 12.7 2 26s10.7 24 24 24 24-10.7 24-24S39.3 2 26 2zm4.9 24.8l7.8 7.8c.4.4.4 1 0 1.4l-2.8 2.8c-.4.4-1 .4-1.4 0L26.7 31c-.4-.4-1-.4-1.4 0l-7.8 7.8c-.4.4-1 .4-1.4 0L13.3 36c-.4-.4-.4-1 0-1.4l7.8-7.8c.4-.4.4-1 0-1.4l-7.9-7.9c-.4-.4-.4-1 0-1.4l2.8-2.8c.4-.4 1-.4 1.4 0l7.9 7.9c.4.4 1 .4 1.4 0l7.8-7.8c.4-.4 1-.4 1.4 0l2.8 2.8c.4.4.4 1 0 1.4l-7.8 7.8c-.3.4-.3 1 0 1.4z\"}},\nclock:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M26 2C12.8 2 2 12.8 2 26s10.8 24 24 24 24-10.8 24-24S39.2 2 26 2zm0 42c-9.9 0-18-8.1-18-18S16.1 8 26 8s18 8.1 18 18-8.1 18-18 18z\"},{\"d\":\"M29.4 26.2c-.3-.3-.4-.7-.4-1.1v-9.6c0-.8-.7-1.5-1.5-1.5h-3c-.8 0-1.5.7-1.5 1.5v12.1c0 .4.2.8.4 1.1l7.4 7.4c.6.6 1.5.6 2.1 0L35 34c.6-.6.6-1.5 0-2.1l-5.6-5.7z\"}]}},\nclose:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M31 25.4l13-13.1c.6-.6.6-1.5 0-2.1l-2-2.1c-.6-.6-1.5-.6-2.1 0L26.8 21.2c-.4.4-1 .4-1.4 0L12.3 8c-.6-.6-1.5-.6-2.1 0l-2.1 2.1c-.6.6-.6 1.5 0 2.1l13.1 13.1c.4.4.4 1 0 1.4L8 39.9c-.6.6-.6 1.5 0 2.1l2.1 2.1c.6.6 1.5.6 2.1 0L25.3 31c.4-.4 1-.4 1.4 0l13.1 13.1c.6.6 1.5.6 2.1 0L44 42c.6-.6.6-1.5 0-2.1L31 26.8c-.4-.4-.4-1 0-1.4z\"}},\ncollapse_all:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M48 9.5c0-.8-.7-1.5-1.5-1.5h-41C4.7 8 4 8.7 4 9.5v3c0 .8.7 1.5 1.5 1.5h41c.8 0 1.5-.7 1.5-1.5v-3zM48 39.5c0-.8-.7-1.5-1.5-1.5h-41c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h41c.8 0 1.5-.7 1.5-1.5v-3zM34.5 29c.8 0 1.5-.7 1.5-1.5v-3c0-.8-.7-1.5-1.5-1.5h-17c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h17z\"}},\ncollection:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M12 2.17h14v23.5l.31.46.57-.1 5.66-5.14.39-.12.42.11L38.6 26l.6.1.28-.46V2h3.28a6 6 0 013 1.12 5.22 5.22 0 011.57 2.74v39.43a4.2 4.2 0 01-.88 3.15A4.58 4.58 0 0142.81 50H12.32c-.24 0-1.52.27-3.38-1.54a5.28 5.28 0 01-1.48-3.56v-1.29H5.87a3.15 3.15 0 01-3.19-3.34c.06-3 3.14-3 3.14-3h1.64v-8H5.87a3.09 3.09 0 01-3.19-3.19 3.24 3.24 0 013.19-3.34h1.59v-7.83H5.87a3.11 3.11 0 01-3.19-3.1 3.15 3.15 0 013.19-3.28h1.59v-1.9a4.78 4.78 0 011.19-2.92A5.14 5.14 0 0112 2.17z\"}},\ncollection_variable:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M45 2H7C4.2 2 2 4.2 2 7v38c0 2.7 2.2 5 5 5h38c2.7 0 5-2.2 5-5V7c0-2.8-2.2-5-5-5zm-2.4 39.4c-.1.6-.7 1.1-1.4 1.1h-31c-.6 0-1.1-.6-1.1-1.3V10.6c0-.6.6-1.1 1.3-1.1h31c.6 0 1.1.6 1.1 1.3v30.6z\"},{\"d\":\"M33 22.4c1 0 3.1-.8 3.1-3.6s-2-2.9-2.6-2.9c-1.2 0-2.4.9-3.5 2.7-1.1 1.9-2.3 3.9-2.3 3.9-.3-1.3-.5-2.4-.6-2.9-.2-1.1-1.5-3.6-4.3-3.6-2.7 0-5.2 1.6-5.2 1.6-.5.3-.8.8-.8 1.4 0 .9.7 1.7 1.7 1.7.3 0 .5-.1.7-.2 0 0 2.1-1.2 2.5 0 .1.3.2.7.4 1.1.5 1.8 1 3.9 1.4 5.8L21.7 30s-2-.7-3.1-.7-3.1.8-3.1 3.6 2 2.9 2.6 2.9c1.2 0 2.4-.9 3.5-2.7 1.1-1.9 2.3-3.9 2.3-3.9.4 1.7.6 3.1.8 3.6.7 1.9 2.2 3.1 4.3 3.1 0 0 2.1 0 4.7-1.4.6-.2 1-.8 1-1.5 0-.9-.7-1.7-1.7-1.7-.3 0-.5.1-.7.2 0 0-1.8 1-2.4.2-.4-.8-.8-2-1.1-3.3-.3-1.2-.6-2.7-.8-4.1l1.8-2.6c.2 0 2.2.7 3.2.7z\"}]},\ncolor_swatch:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M35.435 9.494l7.071 7.071.002-.002a4 4 0 010 5.657l-.002.002L24 40.703V15.264l5.777-5.771h.001a4 4 0 015.656.002l.001-.001zM50 36v10a4 4 0 01-4 4H21l18-18h7a4 4 0 014 4zM2 41.046V6a4 4 0 014-4h10a4 4 0 014 4v35.046a9 9 0 01-18 0zM11 45a4 4 0 100-8 4 4 0 000 8z\"}},\ncomments:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M47.8 31c-.1-.4-.1-.8.1-1.2 1.3-2.3 2.1-4.9 2.1-7.7 0-8.8-7.6-16-17-16-4.4 0-8.4 1.6-11.4 4.2C31.9 11.5 40 19.9 40 30.1c0 2.5-.5 4.9-1.4 7.1 1.1-.4 2.2-.9 3.2-1.4.4-.2.8-.3 1.2-.1l6.1 2.4c.6.2 1.1-.3.9-.9L47.8 31z\"},{\"d\":\"M19 14.1c-9.4 0-17 7.2-17 16 0 2.8.8 5.4 2.1 7.7.2.4.3.8.1 1.2L2 45.1c-.2.6.3 1.1.9.9L9 43.6c.4-.1.8-.1 1.2.1 2.6 1.5 5.6 2.3 8.8 2.3 9.4 0 17-7.2 17-16 0-8.7-7.6-15.9-17-15.9z\"}]},\ncompany:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M21 4H7C5.3 4 4 5.3 4 7v40c0 .5.5 1 1 1h4c.6 0 1-.4 1-1v-6c0-.6.4-1 1-1h6c.6 0 1 .4 1 1v6c0 .6.4 1 1 1h3c1.1 0 2-.9 2-2V7c0-1.7-1.3-3-3-3zm-9 31.5c0 .3-.2.5-.5.5h-3c-.3 0-.5-.2-.5-.5v-5c0-.3.2-.5.5-.5h3c.3 0 .5.2.5.5v5zm0-10c0 .3-.2.5-.5.5h-3c-.3 0-.5-.2-.5-.5v-5c0-.3.2-.5.5-.5h3c.3 0 .5.2.5.5v5zm0-10c0 .3-.2.5-.5.5h-3c-.3 0-.5-.2-.5-.5v-5c0-.3.2-.5.5-.5h3c.3 0 .5.2.5.5v5zm8 20c0 .3-.2.5-.5.5h-3c-.3 0-.5-.2-.5-.5v-5c0-.3.2-.5.5-.5h3c.3 0 .5.2.5.5v5zm0-10c0 .3-.2.5-.5.5h-3c-.3 0-.5-.2-.5-.5v-5c0-.3.2-.5.5-.5h3c.3 0 .5.2.5.5v5zm0-10c0 .3-.2.5-.5.5h-3c-.3 0-.5-.2-.5-.5v-5c0-.3.2-.5.5-.5h3c.3 0 .5.2.5.5v5zM45 14H31c-1.7 0-3 1.3-3 3v30c0 .5.5 1 1 1h4c.6 0 1-.4 1-1v-6c0-.6.4-1 1-1h6c.6 0 1 .4 1 1v6c0 .6.4 1 1 1h3c1.1 0 2-.9 2-2V17c0-1.7-1.3-3-3-3zm-9 21.5c0 .3-.2.5-.5.5h-3c-.3 0-.5-.2-.5-.5v-5c0-.3.2-.5.5-.5h3c.3 0 .5.2.5.5v5zm0-10c0 .3-.2.5-.5.5h-3c-.3 0-.5-.2-.5-.5v-5c0-.3.2-.5.5-.5h3c.3 0 .5.2.5.5v5zm8 10c0 .3-.2.5-.5.5h-3c-.3 0-.5-.2-.5-.5v-5c0-.3.2-.5.5-.5h3c.3 0 .5.2.5.5v5zm0-10c0 .3-.2.5-.5.5h-3c-.3 0-.5-.2-.5-.5v-5c0-.3.2-.5.5-.5h3c.3 0 .5.2.5.5v5z\"}},\ncomponent_customization:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M50 5.4C50 2 47.2 2 47.2 2H4.9c-.5.1-2.9.3-2.9 3v14.2c.1.6.6 2.8 3 2.8h42.2c3.1 0 2.8-2.7 2.8-2.7V5.4zM49.1 35.3c-.6-.1-1.2-.1-1.8-.2-.1 0-.2-.1-.2-.2-.2-.7-.6-1.4-.8-1.9v-.3c.3-.5.8-1 1.1-1.5.2-.3.2-.7-.1-1l-2-2c-.1-.1-.3-.2-.5-.2-.1 0-.3.1-.5.2-.5.3-1 .8-1.5 1.1-.1 0-.1.1-.1.1h-.1c-.7-.2-1.2-.6-1.9-.8-.1 0-.2-.1-.2-.2-.1-.6-.1-1.1-.2-1.7 0-.3-.1-.6-.5-.8-.1-.1-.2-.1-.2-.1h-2.9c-.2 0-.3 0-.5.1-.2.2-.5.5-.5.8 0 .6-.1 1.1-.2 1.7 0 .1-.1.2-.2.2-.7.2-1.2.6-1.9.8h-.1c-.1 0-.1 0-.2-.1-.5-.3-.9-.8-1.5-1.1-.1-.1-.2-.2-.5-.2s-.3.1-.6.2l-2 2c-.3.3-.3.7-.1 1 .3.5.8.9 1.1 1.5.1.1.1.2 0 .3-.2.7-.6 1.2-.8 1.9 0 .1-.1.2-.2.2-.6.1-1.1.1-1.7.2-.3 0-.7.2-.8.6v3.4c.2.3.5.5.8.6.6 0 1.1.1 1.7.2.1 0 .2.1.2.2.2.7.6 1.2.8 1.9 0 .1.1.2 0 .3-.3.5-.8 1-1.1 1.5-.2.3-.2.7.1 1l2 2c.2.2.3.2.6.2.1 0 .3-.1.5-.2.5-.3.9-.8 1.5-1.1.1 0 .1-.1.2-.1h.1c.7.2 1.2.6 1.9.8.1 0 .2.1.2.2.1.6.1 1.2.2 1.8 0 .5.3.7.8.7h2.9c.5 0 .7-.2.8-.7.1-.6.1-1.2.2-1.8 0-.1.1-.2.2-.2.7-.2 1.4-.6 1.9-.8h.1s.1 0 .1.1c.5.3 1 .8 1.5 1.1.1.1.3.2.5.2s.3-.1.6-.2l2-2c.3-.3.3-.7.1-1-.3-.5-.8-.9-1.1-1.5-.1-.1-.1-.2 0-.3.2-.7.6-1.2.8-1.9 0-.1.1-.2.2-.2.6-.1 1.2-.1 1.8-.2.5 0 .7-.3.7-.8v-2.8c0-.7-.2-.9-.7-1zM38 42.1c-2.6 0-4.5-2-4.5-4.5s2-4.5 4.5-4.5 4.5 2 4.5 4.5c-.1 2.4-2.1 4.5-4.5 4.5zM23.4 27.8c-.1-1.6-1.5-1.8-1.9-1.8H3.8c-.5 0-1.8.2-1.8 2v20.6c.1.5.4 1.4 2 1.4h17.5c2 0 2-2.3 2-2.3v-2.4c0-1 .2-2.1-.4-3.1-.1-.2-.2-.3-.3-.5s-.2-.3-.3-.5c-.6-.9-.5-2-.5-3.1 0-1 0-2.1.5-3 .2-.4.5-.8.7-1.2.4-.6.4-1.4.4-2.1l-.2-4z\"}}},\nconnected_apps:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M23.8 31.2L20 48.8c-.2 1 1.1 1.7 1.7.9l21-26c.6-.7.1-1.7-.7-1.7H30.8c-.8 0-1.3-.9-.9-1.5l9.9-16.2c.6-1-.1-2.3-1.3-2.3H20.8c-1.1 0-2 .7-2.4 1.7L10.1 28c-.3 1 .4 2 1.4 2h11.4c.6 0 1.1.6.9 1.2z\"}},\nconstant:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M49.1 7.7c-.3-.3-.6-.4-1-.4-3.8-.2-7.7.1-11.5.2H23.1c-4.1 0-7.4.9-10.5 3.7-2 1.8-3.9 4.4-5.4 6.7-.1.3-.2.5-.2.9 0 .8.7 1.5 1.5 1.5.9 0 1.1-.6 1.5-1.2.4-.7.9-1.3 1.5-1.8 2.1-1.9 4.9-3 7.7-2.7-2.4 6.6-5.7 14.2-10.5 19.4-2 2.2-5.4 4.4-6.1 7.4-.8 3.1 2.4 3.9 4.7 3 3-1.2 4.9-4.3 6.4-7 1.9-3.3 3.6-6.8 5-10.3 1.5-3.5 2.9-6.9 4.4-10.4.9-2.1 1.1-2.1 3.3-2.1h5.9c-2.2 4.8-4.3 9.7-6.2 14.6-1.5 3.7-4.2 9.2-2.3 13.2 1.9 4 7.2 2.5 10.1.5 2.9-2.1 4.9-5.4 6.5-8.6.3-.6.6-1.2.4-1.9-.2-.6-.8-.9-1.4-.9-1.4 0-1.6 1.6-2.1 2.6-.8 1.7-2.6 3.2-4.5 2.9-4.4-.6-.5-8.6.3-10.7.8-2.2 1.7-4.4 2.7-6.5.5-1.2 1-2.5 1.7-3.7.8-1.5.8-1.5 2.6-1.6 1.5-.1 5.9.7 7.2-.1 1.1-.7 1.7-3.3 2.2-5.2.1-.6-.1-1.1-.4-1.5z\"}},\ncontact_request:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M25.4 27c-.6.2-.9.9-.4 1.4l4.4 4.5c.5.5.5 1.2 0 1.7l-1.7 1.7c-.5.5-1.2.5-1.7 0L15.3 25.5c-.5-.5-.5-1.2 0-1.7L26 13.1c.5-.5 1.2-.5 1.7 0l1.7 1.7c.5.5.5 1.2 0 1.7L24.9 21c-.5.5.4 1.4.4 1.4 10.2.3 18.1 7 20.5 16.1C48.4 34.9 50 30.6 50 26 49.9 13.7 39.2 4 26 4S2.2 13.8 2.2 25.8c0 3.8 1.1 7.4 2.9 10.6.3.5.4 1.1.2 1.7l-3.1 8.5c-.3.8.5 1.5 1.3 1.3l8.7-3.3c.5-.2 1.1-.1 1.7.2 3.6 2 7.9 3.2 12.5 3.2 5.9-.1 11.4-2.1 15.5-5.5-1.1-8.5-8-15.1-16.5-15.5z\"}},\ncontract:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M29.6 24H45c1 0 1.3-1.1.5-1.9l-4.9-5 9-9.1c.5-.5.5-1.4 0-1.9l-3.7-3.7c-.5-.4-1.3-.4-1.9.1l-9 9-5.1-4.9c-.8-.8-1.9-.5-1.9.5v15.4c0 .7.9 1.5 1.6 1.5zM22.4 28H7c-1 0-1.3 1.1-.5 1.9l4.9 5-9 9.1c-.5.5-.5 1.4 0 1.9l3.7 3.7c.5.5 1.3.5 1.9 0l9.1-9.1 5.1 4.9c.7.9 1.8.6 1.8-.4V29.7c0-.7-.9-1.7-1.6-1.7zM28 29.6V45c0 1 1.1 1.3 1.9.5l5-4.9 9.1 9c.5.5 1.4.5 1.9 0l3.7-3.7c.4-.5.4-1.3-.1-1.9l-9-9 4.9-5.1c.8-.8.5-1.9-.5-1.9H29.5c-.7 0-1.5.9-1.5 1.6zM24 22.4V7c0-1-1.1-1.3-1.9-.5l-5 4.9-9.1-9c-.5-.5-1.4-.5-1.9 0L2.4 6.1c-.5.5-.5 1.3 0 1.9l9.1 9.1-4.9 5.1c-.9.7-.6 1.8.4 1.8h15.3c.7 0 1.7-.9 1.7-1.6z\"}},\ncontract_alt:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M29.6 23.9H45c1 0 1.3-1.1.5-1.9l-4.9-5 9-9.1c.5-.5.5-1.4 0-1.9l-3.7-3.7c-.5-.4-1.3-.4-1.9.1l-9 9-5.1-4.9C29.1 5.7 28 6 28 7v15.4c0 .7.9 1.5 1.6 1.5zM22.4 28H7c-1 0-1.3 1.1-.5 1.9l4.9 5-9 9.1c-.5.5-.5 1.4 0 1.9l3.7 3.7c.5.5 1.3.5 1.9 0l9.1-9.1 5.1 4.9c.7.9 1.8.6 1.8-.4V29.7c0-.7-.9-1.7-1.6-1.7z\"}},\ncopy:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M44 2H18c-2.2 0-4 1.8-4 4v2h24c2.2 0 4 1.8 4 4v28h2c2.2 0 4-1.8 4-4V6c0-2.2-1.8-4-4-4z\"},{\"d\":\"M38 16c0-2.2-1.8-4-4-4H8c-2.2 0-4 1.8-4 4v30c0 2.2 1.8 4 4 4h26c2.2 0 4-1.8 4-4V16zm-18 7c0 .6-.4 1-1 1h-8c-.6 0-1-.4-1-1v-2c0-.6.4-1 1-1h8c.6 0 1 .4 1 1v2zm8 16c0 .6-.4 1-1 1H11c-.6 0-1-.4-1-1v-2c0-.6.4-1 1-1h16c.6 0 1 .4 1 1v2zm4-8c0 .6-.4 1-1 1H11c-.6 0-1-.4-1-1v-2c0-.6.4-1 1-1h20c.6 0 1 .4 1 1v2z\"}]},\ncopy_to_clipboard:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M17.4 11.6h17.3c.9 0 1.6-.7 1.6-1.6V6.8c0-2.6-2.1-4.8-4.7-4.8h-11c-2.6 0-4.7 2.2-4.7 4.8V10c-.1.9.6 1.6 1.5 1.6z\"},{\"d\":\"M43.3 6h-1.6c-.5 0-.8.3-.8.8V10c0 3.5-2.8 6.4-6.3 6.4H17.4c-3.5 0-6.3-2.9-6.3-6.4V6.8c0-.5-.3-.8-.8-.8H8.7C6.1 6 4 8.2 4 10.8v34.4C4 47.8 6.1 50 8.7 50h34.6c2.6 0 4.7-2.2 4.7-4.8V10.8C48 8.2 45.9 6 43.3 6z\"}]}},\ncrossfilter:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M35 9c-1.7 0-3.3.2-4.8.7 1.8 1.5 3.4 3.3 4.7 5.3h.1c6.1 0 11 4.9 11 11s-4.9 11-11 11c-1.5 0-3-.3-4.3-.9.8-1.1 1.5-2.3 2-3.5.2-.5.4-.9.5-1.4.5-1.6.8-3.4.8-5.2 0-9.4-7.6-17-17-17S0 16.6 0 26s7.6 17 17 17c1.7 0 3.3-.2 4.8-.7-1.8-1.5-3.4-3.3-4.7-5.3H17c-6.1 0-11-4.9-11-11s4.9-11 11-11c1.5 0 3 .3 4.4.9C19.3 18.7 18 22.2 18 26c0 9.4 7.6 17 17 17s17-7.6 17-17S44.4 9 35 9z\"}},\ncurrency:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M45.1 10.9H6.9c-2.4 0-4.4 2-4.4 4.4v21.3c0 2.4 2 4.4 4.4 4.4h38.2c2.4 0 4.4-2 4.4-4.4V15.4c0-2.5-2-4.5-4.4-4.5zM12 36.6c0-2.9-2.3-5.1-5.1-5.1v-11c2.9 0 5.1-2.3 5.1-5.1h28c0 2.9 2.3 5.1 5.1 5.1v11c-2.9 0-5.1 2.3-5.1 5.1H12z\"},\"circle\":{\"cx\":\"26\",\"cy\":\"25.6\",\"r\":\"7.3\"}}},\ncurrency_input:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M35.9 37.6c2.7-4.5 2.2-10.4-1.7-14.3-4.5-4.5-11.9-4.5-16.4 0-3.9 3.9-4.4 9.8-1.7 14.3h19.8z\"},{\"d\":\"M49.5 7.2v37.6c0 2.6-2.1 4.7-4.7 4.7H7.2c-2.6 0-4.7-2.1-4.7-4.7V7.2c0-2.6 2.1-4.7 4.7-4.7h37.6c2.6 0 4.7 2.1 4.7 4.7zm-39.2 36h31.3c.9 0 1.6-.7 1.6-1.6V10.3c0-.9-.7-1.6-1.6-1.6H10.3c-.9 0-1.6.7-1.6 1.6v31.3c.1.9.8 1.6 1.6 1.6z\"}]},\ncustom_apps:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M49.4 12.2c-.2-.6-.9-.7-1.4-.3L39.9 20c-.6.6-1.6.6-2.2 0L32 14.3c-.6-.6-.6-1.6 0-2.2L40.2 4c.4-.4.2-1.1-.3-1.4-1.4-.4-2.9-.6-4.3-.6-8.5 0-15.3 7.3-14.3 16 .2 1.4.5 2.6 1 3.8L3.6 40.4c-2.2 2.2-2.2 5.8 0 7.9 1.1 1.1 2.6 1.7 4 1.7s2.9-.6 4-1.7l18.6-18.6c1.2.5 2.5.8 3.8 1 8.7 1 16-5.8 16-14.3 0-1.5-.2-2.9-.6-4.2z\"}},\ncut:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M40.7 31.4c-1.7-.4-3.3-.2-4.7.3L13.9 2.4c-.3-.4-1-.5-1.4-.2l-.8.6c-1.7 1.3-2 3.8-.7 5.6l10.6 14c.4.5.4 1.3 0 1.8l-5.7 7.5c-1.4-.5-3.1-.6-4.7-.3-3.7.8-6.6 3.8-7.1 7.5-.8 5.9 4.4 11 10.5 10 3.6-.6 6.5-3.4 7.3-6.9.5-2.5 0-4.8-1.2-6.5l4.2-5.6c.6-.8 1.8-.8 2.4 0l4.2 5.6c-1.2 1.9-1.7 4.2-1.2 6.5.7 3.6 3.7 6.3 7.3 6.9 6.1 1 11.3-4.1 10.5-10-.9-3.8-3.8-6.8-7.4-7.5zM12.9 43.1c-1.7 0-3-1.3-3-3s1.3-3 3-3 3 1.3 3 3-1.3 3-3 3zm26 0c-1.7 0-3-1.3-3-3s1.3-3 3-3 3 1.3 3 3c-.1 1.7-1.4 3-3 3zM31.3 18.9c.4.5 1.2.5 1.6 0l8-10.5c1.1-1.5 1-3.5-.1-4.9l.1-.1-.1.1c-.2-.3-1.5-1.3-1.5-1.3-.4-.3-1.1-.2-1.4.2l-8.8 11.7c-.4.5-.4 1.3 0 1.8l2.2 3z\"}}},\ndash:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M50 27.5c0 .8-.7 1.5-1.5 1.5h-45c-.8 0-1.5-.7-1.5-1.5v-3c0-.8.7-1.5 1.5-1.5h45c.8 0 1.5.7 1.5 1.5v3z\"}},\ndata_mapping:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M44.5 21a5.5 5.5 0 11-4.9 8h-.91c-5.39.06-7.29 1.7-10.31 7.34l-.17.33-.2.38c-1.8 3.37-2.82 4.9-4.66 6.52C20.76 45.84 17.42 47 13 47h-.6a5.5 5.5 0 110-5h.91c5.49-.06 7.36-1.76 10.48-7.67L24 34a27.18 27.18 0 013.11-5H12.4a5.5 5.5 0 110-5h27.2a5.53 5.53 0 014.68-3zm0-19a5.5 5.5 0 11-4.9 8H12.4a5.5 5.5 0 110-5h27.2a5.5 5.5 0 014.9-3z\"}},\ndatabase:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M45.4 9c0-3.8-8.7-6.9-19.4-6.9S6.6 5.2 6.6 9v2.4c0 3.8 8.7 6.9 19.4 6.9s19.4-3.1 19.4-6.9V9z\"},{\"d\":\"M6.6 17c0 3 8.7 5.4 19.4 5.4S45.4 20 45.4 17v4.9c0 3.8-8.7 6.9-19.4 6.9S6.6 25.7 6.6 21.9V17z\"},{\"d\":\"M6.6 17c0 3 8.7 5.4 19.4 5.4S45.4 20 45.4 17v4.9c0 3.8-8.7 6.9-19.4 6.9S6.6 25.7 6.6 21.9V17z\"},{\"d\":\"M6.6 27.5c0 3 8.7 5.4 19.4 5.4s19.4-2.4 19.4-5.4v4.9c0 3.8-8.7 6.9-19.4 6.9s-19.4-3-19.4-6.8v-5z\"},{\"d\":\"M6.6 38.1c0 3 8.7 5.4 19.4 5.4s19.4-2.4 19.4-5.4V43c0 3.8-8.7 6.9-19.4 6.9S6.6 46.8 6.6 43v-4.9z\"}]},\ndatadotcom:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M42.5 49.1h-5.3c-.3-1.9-.5-3.6-.5-5.1h-.1c-2.5 4-6.6 6-12.2 6-4.8 0-8.5-1.6-11.1-4.9-2.6-3.3-3.8-7.6-3.8-12.8 0-3.4.6-6.4 1.9-9.1s3.1-4.9 5.5-6.4c2.4-1.6 5.2-2.4 8.4-2.4 4.6 0 8.3 1.5 11.1 4.4V2.1H42v39.6c0 2.4.2 4.9.5 7.4zm-6.2-14.5V23.9c-1.3-1.7-2.8-2.9-4.5-3.8-1.7-.8-3.6-1.2-5.8-1.2-3.3 0-5.9 1.2-7.8 3.7-1.9 2.5-2.8 5.7-2.8 9.6 0 4.1.9 7.3 2.7 9.7 1.8 2.4 4.4 3.6 7.6 3.6 3.2 0 5.8-1 7.7-3.1 2-2 2.9-4.6 2.9-7.8z\"}},\ndate_input:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M46.3 19.7H5.7c-.9 0-1.6.7-1.6 1.6v23.5c0 2.6 2.1 4.7 4.7 4.7h34.4c2.6 0 4.7-2.1 4.7-4.7V21.3c0-.9-.7-1.6-1.6-1.6zM18.2 41.6c0 .9-.7 1.6-1.6 1.6h-3.1c-.9 0-1.6-.7-1.6-1.6v-3.1c0-.9.7-1.6 1.6-1.6h3.1c.9 0 1.6.7 1.6 1.6v3.1zm10.9 0c0 .9-.7 1.6-1.6 1.6h-3.1c-.9 0-1.6-.7-1.6-1.6v-3.1c0-.9.7-1.6 1.6-1.6h3.1c.9 0 1.6.7 1.6 1.6v3.1zm0-10.9c0 .9-.7 1.6-1.6 1.6h-3.1c-.9 0-1.6-.7-1.6-1.6v-3.1c0-.9.7-1.6 1.6-1.6h3.1c.9 0 1.6.7 1.6 1.6v3.1zm11 0c0 .9-.7 1.6-1.6 1.6h-3.1c-.9 0-1.6-.7-1.6-1.6v-3.1c0-.9.7-1.6 1.6-1.6h3.1c.9 0 1.6.7 1.6 1.6v3.1zm3.1-23.5h-3.9V5.6c0-1.7-1.4-3.1-3.1-3.1-1.7 0-3.1 1.4-3.1 3.1v1.6H19V5.6c0-1.7-1.4-3.1-3.1-3.1s-3.1 1.4-3.1 3.1v1.6h-4c-2.6 0-4.7 2.1-4.7 4.7v1.6c0 .9.7 1.6 1.6 1.6h40.7c.9 0 1.6-.7 1.6-1.6v-1.6c-.1-2.6-2.2-4.7-4.8-4.7z\"}},\ndate_time:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M43.6 6.8h-4V5.2c0-1.8-1.4-3.2-3.2-3.2-1.8 0-3.2 1.4-3.2 3.2v1.6H18.8V5.2c0-1.8-1.4-3.2-3.2-3.2s-3.2 1.4-3.2 3.2v1.6h-4c-2.6 0-4.8 2.2-4.8 4.8v1.6c0 .9.7 1.6 1.6 1.6h41.6c.9 0 1.6-.7 1.6-1.6v-1.6c0-2.6-2.2-4.8-4.8-4.8zM46.8 19.6H5.2c-.9 0-1.6.7-1.6 1.6v24c0 2.6 2.2 4.8 4.8 4.8h35.2c2.6 0 4.8-2.2 4.8-4.8v-24c0-.9-.7-1.6-1.6-1.6zM26 46.7c-6.6 0-11.9-5.4-11.9-11.9 0-6.6 5.4-11.9 11.9-11.9s11.9 5.4 11.9 11.9c0 6.6-5.3 11.9-11.9 11.9z\"},{\"d\":\"M27.2 34.3v-5.1c0-.4-.4-.8-.8-.8h-.8c-.4 0-.8.4-.8.8v5.6c0 .3.1.6.4.8l3.8 3.8c.3.3.8.3 1.1 0l.6-.6c.3-.3.3-.8 0-1.1l-3.5-3.4z\"}]},\ndayview:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M44 7h-5V5c0-1.6-1.3-3-3-3-1.6 0-3 1.3-3 3v2H19V5c0-1.6-1.3-3-3-3-1.6 0-3 1.3-3 3v2H8c-2.2 0-4 1.8-4 4v2.5c0 .8.7 1.5 1.5 1.5h41c.8 0 1.5-.7 1.5-1.5V11c0-2.2-1.8-4-4-4zM46.5 20h-41c-.8 0-1.5.7-1.5 1.5V46c0 2.2 1.8 4 4 4h36c2.2 0 4-1.8 4-4V21.5c0-.8-.7-1.5-1.5-1.5zM29 42v.2c0 .8-1 1.8-2 1.8s-2-1-2-2V32l-1.5 1.6c-.3.3-.6.4-1 .4-.8 0-1.5-.7-1.5-1.5 0-.4.2-.8.5-1.1l3.9-3.9c.4-.4.9-.6 1.5-.6 1.1 0 2.1.9 2.1 2V42z\"}},\ndelete:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M45.5 10H33V6c0-2.2-1.8-4-4-4h-6c-2.2 0-4 1.8-4 4v4H6.5c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h39c.8 0 1.5-.7 1.5-1.5v-3c0-.8-.7-1.5-1.5-1.5zM23 7c0-.6.4-1 1-1h4c.6 0 1 .4 1 1v3h-6V7zM41.5 20h-31c-.8 0-1.5.7-1.5 1.5V45c0 2.8 2.2 5 5 5h24c2.8 0 5-2.2 5-5V21.5c0-.8-.7-1.5-1.5-1.5zM23 42c0 .6-.4 1-1 1h-2c-.6 0-1-.4-1-1V28c0-.6.4-1 1-1h2c.6 0 1 .4 1 1v14zm10 0c0 .6-.4 1-1 1h-2c-.6 0-1-.4-1-1V28c0-.6.4-1 1-1h2c.6 0 1 .4 1 1v14z\"}}},\ndeprecate:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M48 7H4c-1.1 0-2 .9-2 2v26c0 1.1.9 2 2 2h16.2c1 5.7 5.9 10 11.8 10s10.9-4.3 11.8-10H48c1.1 0 2-.9 2-2V9c0-1.1-.9-2-2-2zm-8.6 32.6l-2.8 2.8-4.6-4.6-4.6 4.6-2.8-2.8 4.6-4.6-4.6-4.6 2.8-2.8 4.6 4.6 4.6-4.6 2.8 2.8-4.6 4.6 4.6 4.6zM46 33h-2.2c-1-5.7-5.9-10-11.8-10s-10.9 4.3-11.8 10H6V11h40v22z\"}},\ndescription:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M44 4H8C5.8 4 4 5.8 4 8v36c0 2.2 1.8 4 4 4h36c2.2 0 4-1.8 4-4V8c0-2.2-1.8-4-4-4zM12 14c0-.6.4-1 1-1h10c.6 0 1 .4 1 1v10c0 .6-.4 1-1 1H13c-.6 0-1-.4-1-1V14zm24 26c0 .6-.4 1-1 1H13c-.6 0-1-.4-1-1v-2c0-.6.4-1 1-1h22c.6 0 1 .4 1 1v2zm4-8c0 .6-.4 1-1 1H13c-.6 0-1-.4-1-1v-2c0-.6.4-1 1-1h26c.6 0 1 .4 1 1v2zm0-8c0 .6-.4 1-1 1H29c-.6 0-1-.4-1-1v-2c0-.6.4-1 1-1h10c.6 0 1 .4 1 1v2zm0-8c0 .6-.4 1-1 1H29c-.6 0-1-.4-1-1v-2c0-.6.4-1 1-1h10c.6 0 1 .4 1 1v2z\"}},\ndesktop:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M50 6c0-2.2-1.8-4-4-4H6C3.8 2 2 3.8 2 6v26c0 2.2 1.8 4 4 4h40c2.2 0 4-1.8 4-4V6zm-6 22.5c0 .8-.7 1.5-1.5 1.5h-33c-.8 0-1.5-.7-1.5-1.5v-19C8 8.7 8.7 8 9.5 8h33c.8 0 1.5.7 1.5 1.5v19zM33 44h-3c-.6 0-1-.4-1-1v-2c0-.6-.4-1-1-1h-4c-.6 0-1 .4-1 1v2c0 .6-.4 1-1 1h-3c-2.2 0-4 1.8-4 4v.5c0 .8.7 1.5 1.5 1.5h19c.8 0 1.5-.7 1.5-1.5V48c0-2.2-1.8-4-4-4z\"}}},\ndesktop_and_phone:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M50 20.5c0-1.2-1-2.2-2.2-2.2H33.7c-1.2 0-2.2 1-2.2 2.2v23.7c0 1.2 1 2.2 2.2 2.2h14.1c1.2 0 2.2-1 2.2-2.2V20.5z\"},{\"d\":\"M46.7 40.2c0 .4-.4.9-.9.9H35.6c-.4 0-.9-.4-.9-.9V23.5c0-.4.4-.9.9-.9h10.2c.4 0 .9.4.9.9v16.7z\"}],\"g\":{\"path\":{\"d\":\"M27.7 29.4H8.4c-.7 0-1.3-.7-1.3-1.3V11.9c0-.7.7-1.3 1.3-1.3h28.1c.7 0 1.3.7 1.3 1.3v2.5h5.1V9c0-1.8-1.6-3.4-3.4-3.4H5.4C3.6 5.6 2 7.2 2 9v22.2c0 1.8 1.6 3.4 3.4 3.4h22.3v-5.2zM27.7 44.2v-3h-1.9c-.5 0-.9-.4-.9-.9v-1.7c0-.5-.4-.9-.9-.9h-3.4c-.5 0-.9.4-.9.9v1.7c0 .5-.4.9-.9.9h-2.6c-1.8 0-3.4 1.6-3.4 3.4v.4c0 .7.7 1.3 1.3 1.3h14.1c-.4-.6-.5-1.3-.5-2.1z\"}},\"circle\":{\"cx\":\"40.8\",\"cy\":\"43.8\",\"r\":\"1.6\"}},\ndesktop_console:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M33 44h-3c-.6 0-1-.4-1-1v-2c0-.6-.4-1-1-1h-4c-.6 0-1 .4-1 1v2c0 .6-.4 1-1 1h-3c-2.2 0-4 1.8-4 4v.5c0 .8.7 1.5 1.5 1.5h19c.8 0 1.5-.7 1.5-1.5V48c0-2.2-1.8-4-4-4zM46 2H6C3.8 2 2 3.8 2 6v26c0 2.2 1.8 4 4 4h40c2.2 0 4-1.8 4-4V6c0-2.2-1.8-4-4-4zM8 28.5v-19C8 8.7 8.7 8 9.5 8h6v22h-6c-.8 0-1.5-.7-1.5-1.5zm36 0c0 .8-.7 1.5-1.5 1.5h-21V8h21c.8 0 1.5.7 1.5 1.5v19z\"}}},\ndialing:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M48.5 37.9L42.4 33c-1.4-1.1-3.4-1.2-4.8-.1l-5.2 3.8c-.6.5-1.5.4-2.1-.2l-7.8-7-7-7.8c-.6-.6-.6-1.4-.2-2.1l3.8-5.2c1.1-1.4 1-3.4-.1-4.8l-4.9-6.1c-1.5-1.8-4.2-2-5.9-.3L3 8.4c-.8.8-1.2 1.9-1.2 3 .5 10.2 5.1 19.9 11.9 26.7S30.2 49.5 40.4 50c1.1.1 2.2-.4 3-1.2l5.2-5.2c1.9-1.5 1.8-4.3-.1-5.7z\"},{\"d\":\"M42 24.5c1.2-1.7 1.9-3.8 1.9-6C43.8 12.7 39.1 8 33.3 8c-2.2 0-4.3.7-6 1.9L23 5.5C25.8 3.3 29.4 2 33.3 2c9.1 0 16.6 7.4 16.6 16.6 0 3.9-1.3 7.5-3.6 10.3L42 24.5z\"}],\"circle\":{\"cx\":\"33.4\",\"cy\":\"18.4\",\"r\":\"4.5\"}}},\ndiamond:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",\"d\":\"M24.4 49.2c.9.9 2.2.9 3.1 0l21.9-21.9c.9-.9.9-2.2 0-3.1L27.6 2.4c-.9-.9-2.2-.9-3.1 0L2.6 24.3c-.9.9-.9 2.2 0 3.1l21.8 21.8z\"}},\ndislike:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M12 29.5V9c0-2.2-1.8-4-4-4H5.5C4.7 5 4 5.7 4 6.5v23c0 .8.7 1.5 1.5 1.5h5c.8 0 1.5-.7 1.5-1.5zM48 26V13.5C48 4.8 41.1 4 33.6 4c-7.1 0-9.4 2.7-16.2 3-.8 0-1.4.7-1.4 1.5v20c0 .8.7 1.5 1.5 1.5 4.8 0 8.5 5.2 8.5 10.5v6c0 .8.7 1.5 1.5 1.5H30c2.2 0 4-1.8 4-4V34c0-2.2 1.8-4 4-4h6c2.2 0 4-1.8 4-4z\"}},\ndisplay_rich_text:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M4.1 43.1H48c.9 0 1.6.7 1.6 1.6v3.1c0 .9-.7 1.6-1.6 1.6H4.1c-.9 0-1.6-.7-1.6-1.6v-3.1c0-.9.7-1.6 1.6-1.6zM4.1 29H48c.9 0 1.6.7 1.6 1.6v3.1c0 .9-.7 1.6-1.6 1.6H4.1c-.9 0-1.6-.7-1.6-1.6v-3.1c0-.9.7-1.6 1.6-1.6zM32 14.9h16c.9 0 1.6.7 1.6 1.6v3.1c0 .9-.7 1.6-1.6 1.6H32c-.9 0-1.6-.7-1.6-1.6v-3.1c0-.9.7-1.6 1.6-1.6zM24.1 21.6L16.7 3.3c-.2-.3-.5-.6-.9-.6h-5.7c-.3 0-.7.2-.8.6L2.5 21.6c-.1.3.1.8.5.8h3.6c.3 0 .7-.3.8-.6l1.4-3.9h8.7l1.5 3.9c.1.3.5.6.8.6h3.6c.5 0 .8-.4.7-.8zm-13.6-8.5l2.3-5.8h.5l2.5 5.8h-5.3z\"}},\ndisplay_text:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M43.5 2.5H8.6c-3.4 0-6.1 2.7-6.1 6.1v34.7c0 3.4 2.7 6.1 6.1 6.1h34.8c3.4 0 6.1-2.7 6.1-6.1V8.6c.1-3.4-2.7-6.1-6-6.1zM10.6 12.7c0-1.1.9-2 2-2h22.9c1.1 0 2 .9 2 2v2.1c0 1.1-.9 2-2 2h-23c-1.1 0-2-.9-2-2v-2.1zm24.1 26.6c0 1.1-.9 2-2 2h-20c-1.1 0-2-.9-2-2v-2c0-1.1.9-2 2-2h20c1.1 0 2 .9 2 2v2zM41.4 27c0 1.1-.9 2-2 2H12.7c-1.1 0-2-.9-2-2v-2c0-1.1.9-2 2-2h26.6c1.1 0 2 .9 2 2v2z\"}},\ndock_panel:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M1.908 35V9c0-3.9 3.1-7 7-7h26c3.9 0 7 3.1 7 7v3h-6V9c0-.601-.4-1-1-1h-26c-.6 0-1 .399-1 1v26c0 .6.4 1 1 1h3v6h-3c-3.9 0-7-3.1-7-7z\"},{\"d\":\"M45.908 16h-26c-2.2 0-4 1.799-4 4v26c0 2.199 1.8 4 4 4h26c2.199 0 4-1.801 4-4V20c0-2.201-1.801-4-4-4zm-4.015 25.184c0 .49-.307.795-.857.795H29.41c-.488 0-1.039-.428-1.039-.918v-1.773c0-.49.551-.979 1.039-.979h4.834c.551 0 .795-.613.428-.979l-10.4-10.403a.888.888 0 010-1.285l1.285-1.284a.887.887 0 011.285 0l10.4 10.4c.367.43.979.123.979-.426v-4.835c0-.552.551-.979 1.041-.979h1.836c.488 0 .795.488.795.979v11.687z\"}]},\ndown:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M8.3 14h35.4c1 0 1.7 1.3.9 2.2L27.3 37.4c-.6.8-1.9.8-2.5 0L7.3 16.2c-.7-.9-.1-2.2 1-2.2z\"}},\ndownload:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M48.5 31h-3c-.8 0-1.5.7-1.5 1.5v10c0 .8-.7 1.5-1.5 1.5h-33c-.8 0-1.5-.7-1.5-1.5v-10c0-.8-.7-1.5-1.5-1.5h-3c-.8 0-1.5.7-1.5 1.5V46c0 2.2 1.8 4 4 4h40c2.2 0 4-1.8 4-4V32.5c0-.8-.7-1.5-1.5-1.5z\"},{\"d\":\"M25 37.6c.6.6 1.5.6 2.1 0l13.5-13.5c.6-.6.6-1.5 0-2.1l-2.1-2.1c-.6-.6-1.5-.6-2.1 0l-5.6 5.6c-.6.6-1.7.2-1.7-.7V3.5C29 2.7 28.2 2 27.5 2h-3c-.8 0-1.5.7-1.5 1.5v21.2c0 .9-1.1 1.3-1.7.7l-5.6-5.6c-.6-.6-1.5-.6-2.1 0L11.5 22c-.6.6-.6 1.5 0 2.1L25 37.6z\"}]}},\ndrag:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M30.9 34.3c0 1.8-2.2 2.5-3.2 1l-2-4.3c-1.1-1.9-3.5-2.3-5.3-1.1l-1.3 1 6.7 15.9c.3.7 1 1.1 1.8 1.1h17.6c.9 0 1.6-.6 1.8-1.4l3.1-11.1c.8-3.1-1-6.1-3.8-7.2l-8-2.7c-11.3-4.1-7.6 8.4-7.4 8.8zM1.8 28.5h5.8v5.8H1.8zM14.4 4h5.8v5.8h-5.8zM14.4 42h5.8v5.8h-5.8zM1.8 15.8h5.8v5.8H1.8zM1.8 4.1h5.8v5.8H1.8zM27.1 4h5.8v5.8h-5.8zM39.8 4h5.8v5.8h-5.8zM1.8 42.1h5.8v5.8H1.8zM39.8 16.8h5.8v5.8h-5.8z\"}},\ndrag_and_drop:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M20 4c2.2 0 4 1.8 4 4s-1.8 4-4 4-4-1.8-4-4 1.8-4 4-4zm12 0c2.2 0 4 1.8 4 4s-1.8 4-4 4-4-1.8-4-4 1.8-4 4-4zM20 16c2.2 0 4 1.8 4 4s-1.8 4-4 4-4-1.8-4-4 1.8-4 4-4zm12 0c2.2 0 4 1.8 4 4s-1.8 4-4 4-4-1.8-4-4 1.8-4 4-4zM20 28c2.2 0 4 1.8 4 4s-1.8 4-4 4-4-1.8-4-4 1.8-4 4-4zm12 0c2.2 0 4 1.8 4 4s-1.8 4-4 4-4-1.8-4-4 1.8-4 4-4zM20 40c2.2 0 4 1.8 4 4s-1.8 4-4 4-4-1.8-4-4 1.8-4 4-4zm12 0c2.2 0 4 1.8 4 4s-1.8 4-4 4-4-1.8-4-4 1.8-4 4-4z\"}},\nduration_downscale:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M17.08 2H8a6 6 0 00-6 6v5.68a6 6 0 006.08 5.92h9.06a6 6 0 006-6V7.94A6 6 0 0017.08 2zm-3.26 12.8h-2.5a4 4 0 010-8h2.5a4 4 0 010 8zM34.5 19.6h9.06a6 6 0 006-6V7.94A6 6 0 0043.5 2h-9.06a6 6 0 00-6 6v5.66a6 6 0 006.06 5.94zm3.24-12.8h2.5a4 4 0 010 8h-2.5a4 4 0 010-8zM17.08 24.4H8a6 6 0 00-6 6v5.68A6 6 0 008.08 42h9.06a6 6 0 006-6v-5.66a6 6 0 00-6.06-5.94zm-3.26 12.8h-2.5a4 4 0 110-8h2.5a4 4 0 010 8zM49.83 40.12a.84.84 0 00-.23-.23l-1.84-1.52a1.42 1.42 0 00-1.84 0L42.82 41c-.53.45-1.45.17-1.45-.5v-15a1.27 1.27 0 00-1.32-1.12h-2.63a1.33 1.33 0 00-1.32 1.12v14.95c0 .67-.92.95-1.45.5l-3.09-2.58a1.44 1.44 0 00-1.85 0l-1.77 1.52a.92.92 0 00-.23 1.28.84.84 0 00.23.23l9.88 8.26a1.42 1.42 0 001.84 0l9.94-8.26a.92.92 0 00.23-1.28z\"}},\ndynamic_record_choice:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M20.8 43v-.3C13.7 40.4 8.5 33.9 8.5 26c0-9.6 7.9-17.5 17.5-17.5S43.5 16.4 43.5 26c0 1.6-.2 3.2-.6 4.7.2.2.5.3.7.5.3 0 .6-.1.9-.1 1.6 0 3.2.5 4.4 1.2.6-2 .9-4.1.9-6.3C49.7 12.8 39 2.1 25.9 2.1S2.1 12.8 2.1 25.9c0 12.6 9.8 22.9 22.2 23.7-2-1.4-3.5-3.9-3.5-6.6z\"},{\"d\":\"M31.3 28.8c1.5 0 2.9.4 4.2 1 .3-.1.6-.2 1-.2.4-1.1.6-2.3.6-3.6 0-6.1-4.9-11-11-11s-11 4.9-11 11c0 4.9 3.2 9 7.6 10.5.4-4.4 4.1-7.7 8.6-7.7z\"},{\"d\":\"M35.2 34.6c.8-.8 1.9-1.3 3.2-1.3 1.7 0 3.1.9 3.9 2.2.6-.2 1.4-.5 2.2-.5 2.9 0 5.4 2.5 5.4 5.3 0 2.9-2.5 5.3-5.4 5.3-.3 0-.7 0-1-.1-.6 1.2-2 2-3.4 2-.6 0-1.2-.2-1.7-.4-.7 1.6-2.3 2.7-4.1 2.7-2 0-3.6-1.2-4.2-2.9-.2 0-.6.1-.9.1-2.3 0-4.2-1.8-4.2-4.1 0-1.5.8-2.9 2.1-3.6-.2-.6-.4-1.2-.4-1.9 0-2.6 2.2-4.8 4.8-4.8 1.4.1 2.8.9 3.7 2z\"}]},\nedit:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M9.5 33.4l8.9 8.9c.4.4 1 .4 1.4 0L42 20c.4-.4.4-1 0-1.4l-8.8-8.8c-.4-.4-1-.4-1.4 0L9.5 32.1c-.4.4-.4 1 0 1.3zM36.1 5.7c-.4.4-.4 1 0 1.4l8.8 8.8c.4.4 1 .4 1.4 0l2.5-2.5c1.6-1.5 1.6-3.9 0-5.5l-4.7-4.7c-1.6-1.6-4.1-1.6-5.7 0l-2.3 2.5zM2.1 48.2c-.2 1 .7 1.9 1.7 1.7l10.9-2.6c.4-.1.7-.3.9-.5l.2-.2c.2-.2.3-.9-.1-1.3l-9-9c-.4-.4-1.1-.3-1.3-.1l-.2.2c-.3.3-.4.6-.5.9L2.1 48.2z\"}}},\nedit_form:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M31.4 15.3h8.2c.6 0 1.1-.5 1.1-1.1 0-.3-.1-.5-.3-.8L30.2 3.3c-.3-.2-.5-.3-.8-.3-.6 0-1.1.5-1.1 1.1v8.1c0 1.7 1.4 3.1 3.1 3.1zM49.5 25.7l-.9-.9c-.6-.6-1.5-.6-2.2 0L34.5 36.7c-.1.1 0 .2 0 .3v2.5c0 .2 0 .4.2.4h2.6c.1 0 .2-.1.3-.1L49.5 28c.7-.8.7-1.7 0-2.3z\"},{\"d\":\"M39.9 44.4H32.8c-1.6 0-2.9-1.3-2.9-2.9v-5.4c0-.8.2-1.6.9-2.1l9.5-9.5c.3-.3.5-.7.5-1.1v-2c0-.8-.7-1.5-1.5-1.5h-11c-2.6 0-4.6-2.1-4.6-4.6V4.5c0-.8-.7-1.5-1.6-1.5H6.6C4.1 3 2 5.1 2 7.6v36.8C2 46.9 4.1 49 6.6 49H36c2.2 0 4.2-1.6 4.6-3.7.1-.4-.3-.9-.7-.9zM8.2 16.8c0-.8.7-1.5 1.5-1.5h6.2c.9 0 1.5.7 1.5 1.5v1.5c0 .8-.7 1.5-1.5 1.5H9.7c-.9 0-1.5-.7-1.5-1.5v-1.5zm15.5 19.9c0 .8-.7 1.5-1.5 1.5H9.7c-.9 0-1.5-.7-1.5-1.5v-1.5c0-.8.7-1.5 1.5-1.5h12.4c.9 0 1.5.7 1.5 1.5v1.5zm3.1-9.2c0 .8-.7 1.5-1.5 1.5H9.7c-.9 0-1.5-.7-1.5-1.5V26c0-.8.7-1.5 1.5-1.5h15.5c.9 0 1.5.7 1.5 1.5v1.5z\"}]}},\neducation:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M25.8 26.7c-1.2.1-2.3-.4-3.5-.8-6.3-2.1-12.7-4.2-19-6.3-.4-.2-.7-.3-1-.6-.4-.3-.4-.7 0-1 .3-.2.7-.5 1.1-.6 6.8-2 13.5-4 20.3-6.1 1.5-.5 3.1-.5 4.7 0l20.1 6c.4.2.8.3 1.2.6.5.3.5.8 0 1.1-.3.2-.6.4-1 .5-6.7 2.2-13.4 4.5-20.2 6.7-.9.4-1.7.5-2.7.5zM12.5 27c-1-.2-1.2.4-1.2.9v7.6c0 .9.3 1.4.9 2 .2.2.5.4.7.6 1.6 1.1 3.5 1.8 5.4 2.3 3.8 1 7.6 1.2 11.5.7 2.5-.3 5-1 7.3-2 1-.5 2-1 2.7-1.8.5-.5.7-1 .6-1.7.1-2.4.1-4.9.1-7.4 0-1.4-1-1.2-1.4-1.1-3.5 1.2-7.2 2.3-10.7 3.5-1.8.6-3.5.6-5.2 0L12.5 27zM45.9 24.7c-.3.1-.4.2-.4.6v6.8c0 .2-.1.5-.2.7-.5 1.2-1 2.4-1.4 3.6-.4 1.1-.2 2.3.6 3.1.2.3.6.6.9.8.3.3.8.4 1.2.5.7.1 1.3-.3 1.8-.7.2-.2.5-.4.7-.7.6-.8.7-1.8.5-2.7-.3-1.4-.9-2.6-1.5-3.8-.2-.2-.2-.6-.2-.8v-7.4c0-.5-.4-.4-.6-.3l-1.4.3z\"}}},\neinstein:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M28.7 42.1c7.2.2 7.4 1.6 7.4 7.2v.7c-2.8 0-2.8-2.3-4-2.3 0 .8-.7 1.5-2 2.3-.8-1.5-1.4-2.3-2-2.3 0 .7-.6 1.4-1.8 2.2l-.3.1c-1.3-.8-2-1.5-2-2.3-.6 0-1.3.8-2 2.3-1.3-.8-2-1.5-2-2.3-1.3 0-1.3 2.3-4 2.3v-.9c0-5.3.4-6.7 6.9-7v.4a3 3 0 006 0 .41.41 0 01-.2-.4zm1.5-35.3c3 3.6 2.4 5.3 2.5 6.4a11.91 11.91 0 017.8.8c1.8.9 2.9 2.3 3 3.3a4.69 4.69 0 00-3 1.5 14.94 14.94 0 016.1 3.9 17.05 17.05 0 013.3 5.6.77.77 0 010 .8 22.86 22.86 0 01-3.1 2.8 41.42 41.42 0 01-4.1 2.7c1.6 1 2.4 1.9 2.5 2.9-1.7.5-2.7.9-3.8 1.3-.5.2-1.5.5-2.6.9 1.6-10.5-5-11.5-8-11.5-2.1 0-3.3 1.7-5.1 1.7s-2.9-1.7-5.1-1.7S12.2 30 13.3 39a12.66 12.66 0 01-1.8-.7 21.17 21.17 0 00-5-.9.53.53 0 01-.6-.4.38.38 0 010-.15v-.3a10 10 0 012.4-4.3c.7-.7 2-1.6 2.5-1.5a8.68 8.68 0 00-3.4-3.1 19.5 19.5 0 00-4.8-1.3c-.5-.1-.8-.1-.5-1 1.7-4.3 3.7-7 6.1-8.2a11.26 11.26 0 016-1.5 9 9 0 00-1-2.5A12.94 12.94 0 0012 11.2a.76.76 0 01.1-1c.1 0 .2-.1.3-.1a6.64 6.64 0 013.1.2 8.08 8.08 0 013.9 2.7A36.29 36.29 0 0018 2.8c-.1-2.2 9.2.4 12.2 4zm-7.5 27.3c.8 0 1.5 1.1 1.5 2.5s-.7 2.5-1.5 2.5-1.5-1.1-1.5-2.5.7-2.5 1.5-2.5zm6.6 0c.8 0 1.5 1.1 1.5 2.5s-.7 2.5-1.5 2.5-1.5-1.1-1.5-2.5.6-2.5 1.5-2.5z\"}},\nemail:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M24.9 30.1c.6.6 1.5.6 2.1 0l22.6-21c.4-.8.3-2.1-1.3-2.1l-44.7.1c-1.2 0-2.2 1.1-1.3 2.1l22.6 20.9z\"},{\"d\":\"M50 17.3c0-1-1.2-1.6-2-.9L30.3 32.7c-1.2 1.1-2.7 1.7-4.3 1.7s-3.1-.6-4.3-1.6L4.1 16.4c-.8-.7-2-.2-2 .9C2 17 2 40 2 40c0 2.2 1.8 4 4 4h40c2.2 0 4-1.8 4-4V17.3z\"}]}},\nemail_open:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M45.8 28.1c0-.8-1-1.3-1.7-.7L29.5 40.9c-1 .9-2.2 1.4-3.6 1.4s-2.6-.5-3.6-1.3L7.8 27.4c-.7-.6-1.7-.2-1.7.7-.1-.2-.1 18-.1 18 0 1.8 1.5 3.3 3.3 3.3h33.1c1.8 0 3.3-1.5 3.3-3.3v-18z\"},{\"d\":\"M45.6 20.6c.2-.2.3-.4.3-.6 0-.3-.1-.5-.3-.7L26.8 2c-.5-.5-1.2-.5-1.7 0L6.5 19.2c-.1.1-.1.2-.2.2v.1c0 .1-.1.2-.1.3 0 .3.1.5.3.7L25 37.7c.5.5 1.2.5 1.7 0l18.9-17.1c0 .1 0 0 0 0z\"}]},\nemoji:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M50.1 26c0 13.3-10.8 24.1-24.1 24.1S1.9 39.3 1.9 26 12.7 1.9 26 1.9 50.1 12.7 50.1 26zM18.3 15.8c-2.4 0-4.3 1.9-4.3 4.3s1.9 4.3 4.3 4.3 4.3-1.9 4.3-4.3-1.9-4.3-4.3-4.3zm15.5 0c-2.4 0-4.3 1.9-4.3 4.3s1.9 4.3 4.3 4.3 4.3-1.9 4.3-4.3-1.9-4.3-4.3-4.3zm-.2 16.7c-2 1.8-4.7 2.8-7.6 2.8-2.8 0-5.4-1-7.5-2.7l-.9-.8c-.3-.2-.5-.3-1.1-.3-1.1 0-1.9.9-1.9 1.9 0 .5.2 1 .6 1.4l.7.6c2.7 2.4 6.3 3.8 10.1 3.8 3.9 0 7.5-1.5 10.2-3.9l.5-.5c.4-.4.6-.9.6-1.4 0-1.1-.9-1.9-1.9-1.9-.5 0-.9.2-1.2.4l-.6.6z\"}},\nend_call:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M48.5 5.6l-2.1-2.1c-.6-.6-1.7-.5-2.4.3L20.5 27.3l-5-5.6c-.6-.6-.6-1.4-.2-2.1l3.8-5.2c1.1-1.4 1-3.4-.1-4.8l-4.9-6.1c-1.5-1.8-4.2-2-5.9-.3L3 8.4c-.8.8-1.2 1.9-1.2 3 .5 9.2 4.2 18 10 24.6l-8 8c-.7.7-.8 1.8-.3 2.4l2.1 2.1c.6.6 1.7.5 2.4-.3L48.2 8c.8-.7.9-1.8.3-2.4zM48.5 37.9L42.4 33c-1.4-1.1-3.4-1.2-4.8-.1l-5.2 3.8c-.6.5-1.5.4-2.1-.2l-2.4-2.2-8.5 8.5c6.1 4.1 13.4 6.8 21 7.2 1.1.1 2.2-.4 3-1.2l5.2-5.2c1.9-1.5 1.8-4.3-.1-5.7z\"}},\nend_chat:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M24.6 40.6c0-8.8 7.2-16 16-16 1.5 0 2.9.2 4.2.6.2-1.1.3-2.1.3-3.2C45 11 35.4 2.2 23.6 2.2 11.7 2.2 2.2 11 2.2 21.8c0 3.4 1 6.6 2.6 9.5.3.4.4 1 .2 1.5l-2.8 7.6c-.3.7.4 1.3 1.2 1.2l7.7-3c.4-.2 1-.1 1.5.2 3.2 1.8 7.1 2.9 11.2 2.9h.8v-1.1zm9.8-22.3c2 0 3.6 1.6 3.6 3.6s-1.6 3.6-3.6 3.6-3.6-1.6-3.6-3.6 1.6-3.6 3.6-3.6zm-21.5 7.1c-2 0-3.6-1.6-3.6-3.6s1.6-3.6 3.6-3.6 3.6 1.6 3.6 3.6-1.7 3.6-3.6 3.6zm10.7 0c-2 0-3.6-1.6-3.6-3.6s1.6-3.6 3.6-3.6 3.6 1.6 3.6 3.6-1.6 3.6-3.6 3.6z\"},{\"d\":\"M31.7 34.6l6 6-6 6c-.6.6-.6 1.6 0 2.1l.7.7c.6.6 1.6.6 2.1 0l6-6 6 6c.6.6 1.6.6 2.1 0l.7-.7c.6-.6.6-1.6 0-2.1l-6-6 6-6c.6-.6.6-1.6 0-2.1l-.7-.7c-.6-.6-1.6-.6-2.1 0l-6 6-6-6c-.6-.6-1.6-.6-2.1 0l-.7.7c-.5.5-.5 1.5 0 2.1z\"}]},\nend_messaging_session:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M24.6 40.6c0-2.8.7-5.4 2-7.7h-2.3c-.5 0-.8-.3-.8-.8v-9.2c0-.5.3-.8.8-.8h9.2c.5 0 .8.3.8.8v3c1.9-.8 4.1-1.3 6.3-1.3 1.5 0 2.9.2 4.2.6.2-1.1.3-2.2.3-3.3-.1-11-9.6-19.8-21.5-19.8S2.2 10.9 2.2 21.7c0 3.4 1 6.6 2.6 9.5.3.4.4 1 .2 1.5l-2.8 7.6c-.3.7.4 1.3 1.2 1.2l7.7-3c.4-.2 1-.1 1.5.2 3.2 1.8 7.1 2.9 11.2 2.9h.8v-1zM12.8 12.2c0-.5.3-.8.8-.8h19.9c.5 0 .8.3.8.8v4.6c0 .5-.4.8-.9.8H13.6c-.5 0-.8-.3-.8-.8v-4.6zM19 32.1c0 .5-.4.8-.9.8h-4.6c-.5 0-.8-.3-.8-.8v-9.2c0-.5.3-.8.8-.8h4.7c.5 0 .8.3.8.8v9.2z\"},{\"d\":\"M31.8 34.6l6 6-6 6c-.6.6-.6 1.6 0 2.1l.7.7c.6.6 1.6.6 2.1 0l6-6 6 6c.6.6 1.6.6 2.1 0l.7-.7c.6-.6.6-1.6 0-2.1l-6-6 6-6c.6-.6.6-1.6 0-2.1l-.7-.7c-.6-.6-1.6-.6-2.1 0l-6 6-6-6c-.6-.6-1.6-.6-2.1 0l-.7.7c-.6.6-.6 1.6 0 2.1z\"}]},\nengage:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"fill-rule\":\"evenodd\",\"d\":\"M26.5 4.25c12.801 0 23.25 9.388 23.25 21.068 0 11.68-10.449 21.069-23.25 21.069-1.662 0-3.303-.158-4.9-.469l-.487-.101-.143.076c-2.032 1.04-5.305 1.882-9.913 2.597l-.517.08-1.128.162c-1.725.25-2.714-1.901-1.403-3.049 1.315-1.15 2.314-2.66 2.998-4.555l.025-.077-.317-.26c-4.595-3.848-7.338-9.241-7.46-15.066l-.005-.407C3.25 13.638 13.699 4.25 26.5 4.25zm7 26.75h-14a2 2 0 100 4h14a2 2 0 100-4zm4-7.5h-22a2 2 0 100 4h22a2 2 0 100-4zm-4-7.5h-14a2 2 0 100 4h14a2 2 0 100-4z\"}},\nenter:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M44 30.5s.1 1.6-1.5 1.6H15.2c-.9 0-1.3-1.2-.7-1.8l5.6-5.6c.6-.6.6-1.5 0-2.1L18 20.5c-.6-.6-1.5-.6-2.1 0L2.4 34c-.6.6-.6 1.5 0 2.1L16 49.6c.6.6 1.5.6 2.1 0l2.1-2.1c.6-.6.6-1.5 0-2.1l-5.6-5.6c-.6-.7-.2-1.7.7-1.7h33.2c.7 0 1.5-.8 1.5-1.6v-33c0-.7-.7-1.5-1.5-1.5h-3c-.8 0-1.5.8-1.5 1.5v27z\"}},\nerect_window:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M50 6.5c0 .8-.7 1.5-1.5 1.5h-45C2.7 8 2 7.3 2 6.5v-3C2 2.7 2.7 2 3.5 2h45c.8 0 1.5.7 1.5 1.5v3z\"}},\nerror:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M26 2C12.8 2 2 12.8 2 26s10.8 24 24 24 24-10.8 24-24S39.2 2 26 2zM8 26c0-9.9 8.1-18 18-18 3.9 0 7.5 1.2 10.4 3.3L11.3 36.4C9.2 33.5 8 29.9 8 26zm18 18c-3.9 0-7.5-1.2-10.4-3.3l25.1-25.1C42.8 18.5 44 22.1 44 26c0 9.9-8.1 18-18 18z\"}},\nevent:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M46.5 20h-41c-.8 0-1.5.7-1.5 1.5V46c0 2.2 1.8 4 4 4h36c2.2 0 4-1.8 4-4V21.5c0-.8-.7-1.5-1.5-1.5zM19 42c0 .6-.4 1-1 1h-4c-.6 0-1-.4-1-1v-4c0-.6.4-1 1-1h4c.6 0 1 .4 1 1v4zm0-10c0 .6-.4 1-1 1h-4c-.6 0-1-.4-1-1v-4c0-.6.4-1 1-1h4c.6 0 1 .4 1 1v4zm10 10c0 .6-.4 1-1 1h-4c-.6 0-1-.4-1-1v-4c0-.6.4-1 1-1h4c.6 0 1 .4 1 1v4zm0-10c0 .6-.4 1-1 1h-4c-.6 0-1-.4-1-1v-4c0-.6.4-1 1-1h4c.6 0 1 .4 1 1v4zm10 10c0 .6-.4 1-1 1h-4c-.6 0-1-.4-1-1v-4c0-.6.4-1 1-1h4c.6 0 1 .4 1 1v4zm0-10c0 .6-.4 1-1 1h-4c-.6 0-1-.4-1-1v-4c0-.6.4-1 1-1h4c.6 0 1 .4 1 1v4zM44 7h-5V5c0-1.6-1.3-3-3-3-1.6 0-3 1.3-3 3v2H19V5c0-1.6-1.3-3-3-3-1.6 0-3 1.3-3 3v2H8c-2.2 0-4 1.8-4 4v2.5c0 .8.7 1.5 1.5 1.5h41c.8 0 1.5-.7 1.5-1.5V11c0-2.2-1.8-4-4-4z\"}}},\nevent_ext:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M49.83 32.45A1.43 1.43 0 0048.44 31h-12A1.43 1.43 0 0035 32.44v1.44a1.43 1.43 0 001.4 1.44h6.14l-11 11a1.42 1.42 0 000 2l1 1a1.54 1.54 0 001.09.45 1.32 1.32 0 00.94-.38l11-11v6A1.43 1.43 0 0047 45.83h1.53a1.43 1.43 0 001.47-1.4zM3.45 12.48h31.91a1.24 1.24 0 001.25-1.23V10a3.8 3.8 0 00-3.76-3.69h-3.06V5a2.43 2.43 0 00-4.86 0v1.28H13.87V5A2.44 2.44 0 009 5v1.28H5.88A3.69 3.69 0 002.19 10v1.28a1.24 1.24 0 001.25 1.23zM36.53 25.13v-7.79a1.25 1.25 0 00-1.22-1.26H3.45a1.24 1.24 0 00-1.26 1.22v18.46a3.69 3.69 0 003.69 3.69h18.5a16.82 16.82 0 0112.15-14.32zm-11-2.85a1.24 1.24 0 011.2-1.28h2.43a1.24 1.24 0 011.26 1.22v2.47A1.24 1.24 0 0129.25 26h-2.52a1.25 1.25 0 01-1.25-1.23zm-12.23 11a1.23 1.23 0 01-1.25 1.23H9.56a1.24 1.24 0 01-1.25-1.23v-2.46a1.25 1.25 0 011.23-1.25H12a1.25 1.25 0 011.26 1.22zm0-8.54A1.24 1.24 0 0112.08 26H9.56a1.25 1.25 0 01-1.25-1.23v-2.49A1.24 1.24 0 019.51 21H12a1.24 1.24 0 011.26 1.22zm8.54 8.54a1.25 1.25 0 01-1.22 1.26h-2.51a1.24 1.24 0 01-1.26-1.22v-2.5a1.24 1.24 0 011.23-1.25h2.46a1.25 1.25 0 011.25 1.23zM20.54 26h-2.43a1.25 1.25 0 01-1.26-1.22v-2.5a1.24 1.24 0 011.2-1.28h2.49a1.24 1.24 0 011.25 1.23v2.46A1.24 1.24 0 0120.62 26z\"}}},\nevents:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M8.8 9C4.4 13.5 2 19.4 2 25.6 2 27 3.1 28 4.4 28s2.4-1.1 2.4-2.4c-.1-4.9 1.9-9.6 5.4-13.1s8.3-5.4 13.1-5.4c1.4 0 2.4-1.1 2.4-2.4 0-1.4-1.1-2.4-2.4-2.4C19.2 2.2 13.2 4.6 8.8 9zm2.9 16.6c0 1.4 1 2.4 2.4 2.4s2.4-1.1 2.4-2.4c0-2.3.9-4.6 2.6-6.2 1.7-1.7 3.9-2.5 6.2-2.6 1.4 0 2.4-1.1 2.4-2.4 0-1.4-1-2.4-2.4-2.4-3.6 0-7.1 1.4-9.7 3.9-.4.5-4.1 4.2-3.9 9.7zM45.5 15.2c-.9-1.2-2.1-2.6-2.3-2.8-.3-.2-.7-.4-1.1-.4-.4 0-.8.1-1 .4L31 22.4c-2.4-2-6-1.9-8.3.4-2.3 2.3-2.4 5.9-.4 8.3l-9.7 9.7c-.3.3-.5.7-.5 1.1 0 .5.2 1 .6 1.3l2.7 2c3.7 2.9 8.3 4.5 13.2 4.5 11.8 0 21.4-9.6 21.4-21.4 0-4.8-1.7-9.4-4.5-13.1z\"}},\nexpand:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M48.8 2H33.3c-1 0-1.3.9-.5 1.7l4.9 4.9-9 9c-.5.5-.5 1.3 0 1.9l3.7 3.7c.5.5 1.3.5 1.9 0l9.1-9.1 4.9 4.9c.8.8 1.7.5 1.7-.5V3.1c0-.6-.6-1.1-1.2-1.1zM3.5 50h15.4c1 0 1.3-1.1.5-1.9l-4.9-5 9-9.1c.5-.5.5-1.4 0-1.9l-3.7-3.7c-.5-.5-1.3-.5-1.9 0l-9 9-5-4.9C3 31.7 2 32 2 33v15.4c0 .7.8 1.6 1.5 1.6zM50 48.8V33.3c0-1-.9-1.3-1.7-.5l-4.9 4.9-9-9c-.5-.5-1.3-.5-1.9 0l-3.7 3.7c-.5.5-.5 1.3 0 1.9l9.1 9.1-4.9 4.9c-.8.8-.5 1.7.5 1.7h15.4c.6 0 1.1-.6 1.1-1.2zM2 3.5v15.4c0 1 1.1 1.3 1.9.5l5-4.9 9.1 9c.5.5 1.4.5 1.9 0l3.7-3.7c.5-.5.5-1.3 0-1.9l-9-9 4.9-5C20.3 3 20 2 19 2H3.6C2.9 2 2 2.8 2 3.5z\"}},\nexpand_all:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M48 9.5c0-.8-.7-1.5-1.5-1.5h-41C4.7 8 4 8.7 4 9.5v3c0 .8.7 1.5 1.5 1.5h41c.8 0 1.5-.7 1.5-1.5v-3zM48 39.5c0-.8-.7-1.5-1.5-1.5h-41c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h41c.8 0 1.5-.7 1.5-1.5v-3zM30 29h4.5c.8 0 1.5-.7 1.5-1.5v-3c0-.8-.7-1.5-1.5-1.5H30c-.6 0-1-.4-1-1v-4.5c0-.8-.7-1.5-1.5-1.5h-3c-.8 0-1.5.7-1.5 1.5V22c0 .6-.4 1-1 1h-4.5c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5H22c.6 0 1 .4 1 1v4.5c0 .8.7 1.5 1.5 1.5h3c.8 0 1.5-.7 1.5-1.5V30c0-.6.4-1 1-1z\"}},\nexpand_alt:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M48.8 2H33.3c-1 0-1.3.9-.5 1.7l4.9 4.9-9 9c-.5.5-.5 1.3 0 1.9l3.7 3.7c.5.5 1.3.5 1.9 0l9.1-9.1 4.9 4.9c.8.8 1.7.5 1.7-.5V3.1c0-.6-.6-1.1-1.2-1.1zM3.5 50h15.4c1 0 1.3-1.1.5-1.9l-4.9-5 9-9.1c.5-.5.5-1.4 0-1.9l-3.7-3.7c-.5-.5-1.3-.5-1.9 0l-9 9-5-4.9C3 31.7 2 32 2 33v15.4c0 .7.8 1.6 1.5 1.6z\"}},\nfallback:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M28 3.5l-3 14.6c0 .6.4.9.9.9h15.6c1.1 0 1.8 1.3 1.3 2.3l-17 27.9c-.7 1.4-2.8.9-2.8-.7l3-17.2c0-.6-.5-.4-1.1-.4H8.5c-1.1 0-1.9-1.6-1.3-2.6l18-25.5c.7-1.3 2.8-.9 2.8.7z\"}},\nfavorite:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M27.4 3.1l4.6 15c.2.6.8.9 1.4.9h15c1.5 0 2.1 2 .9 2.9l-12.2 9c-.5.4-.7 1.1-.5 1.7L42.4 48c.4 1.4-1.1 2.6-2.3 1.7L27 39.9c-.5-.4-1.2-.4-1.8 0L12 49.7c-1.2.9-2.8-.3-2.3-1.7l5.6-15.4c.2-.6 0-1.3-.5-1.7l-12.2-9c-1.2-.9-.5-2.9.9-2.9h15c.7 0 1.2-.2 1.4-.9L24.6 3c.4-1.4 2.4-1.3 2.8.1z\"}},\nfeed:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M25.2 43c-.3 0-.7-.1-1.1-.3-.6-.3-1.1-1-1.2-1.6L17.2 18l-4.9 11c-.3.9-1.1 1.4-2 1.4H3.5c-.8 0-1.5-.6-1.5-1.4v-1.5c0-.8.7-1.5 1.5-1.5h5.2l6.9-15.7c.4-.8 1.3-1.4 2.3-1.3 1 .1 1.8.7 2 1.7l5.9 23.4L33.7 17c.4-.9 1.3-1.4 2.2-1.3.8.1 1.6.7 2 1.5l3.9 8.9h6.8c.8 0 1.5.7 1.5 1.5V29c0 .8-.7 1.5-1.5 1.5h-8.2c-.9 0-1.7-.5-2.1-1.3l-2.5-5.7-8.4 18.3c-.5.7-1.2 1.2-2.2 1.2z\"}},\nfile:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M9.7 36.1V11.3c-2.6 0-4.7 2.1-4.7 4.6v29.4C5 47.9 7.1 50 9.7 50H33c2.6 0 4.7-2.1 4.7-4.6H19c-5.1 0-9.3 0-9.3-9.3z\"},{\"d\":\"M45.4 15.9h-7.8c-2.6 0-4.7-2.1-4.7-4.6V3.5c.1-.8-.6-1.5-1.5-1.5H19c-2.6 0-4.7 2.1-4.7 4.6V36c0 2.6 2.1 4.6 4.7 4.6h23.3c2.6 0 4.7-2.1 4.7-4.6V17.5c0-.9-.7-1.6-1.6-1.6z\"},{\"d\":\"M46.7 9.4l-7.2-7.1c-.2-.2-.4-.3-.7-.3-.6 0-1.1.5-1.1 1.1v5.1c0 1.7 1.4 3.1 3.1 3.1h5.1c.6 0 1.1-.5 1.1-1.1 0-.3-.1-.5-.3-.8z\"}]}},\nfilter:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M24.4 31.8c-.6-.6-1.5-.6-2.1 0l-3.6 3.6c-.6.6-1.7.2-1.7-.7V21.5c0-.8-.7-1.5-1.5-1.5h-3c-.8 0-1.5.7-1.5 1.5v13.2c0 .9-1.1 1.3-1.7.7l-3.6-3.6c-.6-.6-1.5-.6-2.1 0L1.4 34c-.6.6-.6 1.5 0 2.1l11.5 11.5c.6.6 1.5.6 2.1 0L26.6 36c.6-.6.6-1.5 0-2.1l-2.2-2.1zM51 9.5c0-.8-.7-1.5-1.5-1.5h-37c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h37c.8 0 1.5-.7 1.5-1.5v-3zM51 21.5c0-.8-.7-1.5-1.5-1.5h-27c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h27c.8 0 1.5-.7 1.5-1.5v-3zM51 33.5c0-.8-.7-1.5-1.5-1.5h-17c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h17c.8 0 1.5-.7 1.5-1.5v-3z\"}}},\nfilterlist:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M48.3 4H3.9C2.4 4 1.7 5.7 2.6 6.8L22 29.5c.6.7.9 1.7.9 2.6v14.4c0 .8.8 1.5 1.6 1.5h3c.8 0 1.4-.7 1.4-1.5V32.1c0-1 .4-1.9 1.1-2.6L49.6 6.8c.9-1.1.2-2.8-1.3-2.8z\"}},\nfilter_criteria:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M16.35 10.4h18.89A1.74 1.74 0 0037 8.67V5.2A5.22 5.22 0 0031.77 0h-12a5.22 5.22 0 00-5.2 5.2v3.47a1.87 1.87 0 001.78 1.73z\"},{\"d\":\"M8.55 4.33a.82.82 0 01.86.87v3.47a6.94 6.94 0 006.85 6.93h18.89A6.88 6.88 0 0042 8.67V5.2a.82.82 0 01.87-.87h1.73a5.22 5.22 0 015.2 5.2V46.8a5.22 5.22 0 01-5.2 5.2H6.81a5.2 5.2 0 01-5.11-5.2V9.53a5.2 5.2 0 015.11-5.2h1.74zm27 19.94h-19.2a.75.75 0 00-.61 1.21l8.41 9.88a2 2 0 01.43 1.13v6.24a.75.75 0 00.69.69h1.3a.67.67 0 00.61-.69v-6.24a1.39 1.39 0 01.52-1.13l8.49-9.88a.73.73 0 00-.6-1.21z\"}]},\nfilter_criteria_rule:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M27.4 2A1.58 1.58 0 0129 3.6v11.2a3.89 3.89 0 004.2 4.2h11.2a1.58 1.58 0 011.6 1.6v24.6a4.87 4.87 0 01-4.8 4.8H10.8A4.87 4.87 0 016 45.2V6.8A4.87 4.87 0 0110.8 2h16.6zm7.52 24H17.08a.68.68 0 00-.52 1.12l7.79 9.12a1.65 1.65 0 01.36 1v5.78a.66.66 0 00.65.6h1.2a.58.58 0 00.56-.6v-5.73a1.47 1.47 0 01.45-1l7.87-9.12a.68.68 0 00-.52-1.17zM34.2 2a1.4 1.4 0 01.9.3l10.6 10.6a1.4 1.4 0 01.3.9 1.2 1.2 0 01-1.1 1.2h-8.5a3.5 3.5 0 01-3.4-3.4V3.1A1.2 1.2 0 0134.2 2z\"}},\nflow:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M49.9 10.6c-2.1-4.1-7.4-11.7-17.2-7.2-6.1 2.8-9.5 4.4-9.5 4.4l-8.8 3.8c-2.5 1.2-7.9-.5-11-1.6-.9-.3-1.7.6-1.3 1.5 2.1 4.1 7.4 11.7 17.2 7.2 6.1-2.8 18.3-8.1 18.3-8.1 2.5-1.2 7.9.5 11 1.6.9.2 1.7-.7 1.3-1.6zM28.8 23.4c-1.1.6-5.5 2.6-5.5 2.6l-4.4 1.9c-2.2 1.2-6.9-.4-9.7-1.5-.8-.4-1.5.6-1.1 1.4 1.8 4 6.5 11.2 15.1 6.8 5.4-2.7 9.9-4.5 9.9-4.5 2.2-1.2 6.9.4 9.7 1.5.8.3 1.5-.6 1.1-1.5-1.8-3.9-6.5-11.1-15.1-6.7zm-3.2 17.7c-.9.5-2.4 1.4-2.4 1.4-1.7 1.1-5.2-.3-7.3-1.3-.6-.3-1.1.6-.8 1.4 1.3 3.6 4.8 10.1 11.3 6.1 2.4-1.5 2.4-1.4 2.4-1.4 1.8-.9 5.2.3 7.3 1.3.6.3 1.1-.6.8-1.4-1.3-3.6-4.6-9.8-11.3-6.1z\"}},\nflow_alt:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M42.3 4.9H30.4C29.6 3.2 27.9 2 26 2c-2.6 0-4.8 2.2-4.8 4.8s2.2 4.8 4.8 4.8c2 0 3.7-1.2 4.4-2.9h11.9c2.1 0 3.8 1.7 3.8 3.8v7.7c0 2.1-1.7 3.8-3.8 3.8h-5.8v-5.8c0-1.6-1.3-2.9-2.9-2.9H18.3c-1.6 0-2.9 1.3-2.9 2.9V24H9.7C5.5 24 2 27.4 2 31.7v7.7c0 4.2 3.4 7.7 7.7 7.7h11.9C22.3 48.8 24 50 26 50c2.6 0 4.8-2.2 4.8-4.8 0-2.6-2.2-4.8-4.8-4.8-2 0-3.7 1.2-4.4 2.9H9.7c-2.1 0-3.8-1.7-3.8-3.8v-7.7c0-2.1 1.7-3.8 3.8-3.8h5.8v5.8c0 1.6 1.3 2.9 2.9 2.9h15.4c1.6 0 2.9-1.3 2.9-2.9V28h5.8c4.2 0 7.7-3.4 7.7-7.7v-7.7c-.2-4.3-3.7-7.7-7.9-7.7z\"}},\nfood_and_drink:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M40.881 24C39.937 31.865 33.526 37 28 37H16.002c-5.997 0-13-5.99-13-15V8a2 2 0 012-2H44a6 6 0 016 6v6a6 6 0 01-6 6h-3.119zM39 6zm1.593 34c.74 0 1.407.675 1.407 1.425v.075c0 2.475-2 4.5-4.444 4.5H6.444C4 46 2 43.975 2 41.5v-.075C2 40.675 2.667 40 3.407 40h37.186zM41 11v8h2a2 2 0 002-2v-4a2 2 0 00-2-2h-2z\"}},\nform:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"rect\":[{\"fill\":\"none\",\"height\":\"4.8\",\"rx\":\"1.6\",\"width\":\"27.2\",\"x\":\"12.4\",\"y\":\"26\"},{\"fill\":\"none\",\"height\":\"4.8\",\"rx\":\"1.6\",\"width\":\"24\",\"x\":\"12.4\",\"y\":\"35.6\"}],\"g\":{\"path\":[{\"d\":\"M36.4 14.8h8.48A1.09 1.09 0 0046 13.68a1 1 0 00-.32-.8L35.12 2.32a1 1 0 00-.8-.32 1.09 1.09 0 00-1.12 1.12v8.48a3.21 3.21 0 003.2 3.2z\"},{\"d\":\"M44.4 19.6H33.2a4.81 4.81 0 01-4.8-4.8V3.6A1.6 1.6 0 0026.8 2h-16A4.81 4.81 0 006 6.8v38.4a4.81 4.81 0 004.8 4.8h30.4a4.81 4.81 0 004.8-4.8v-24a1.6 1.6 0 00-1.6-1.6zm-32-1.6a1.62 1.62 0 011.6-1.55h6.55A1.56 1.56 0 0122.12 18v1.59a1.63 1.63 0 01-1.59 1.58H14a1.55 1.55 0 01-1.58-1.58zm24 20.77a1.6 1.6 0 01-1.6 1.6H14a1.6 1.6 0 01-1.6-1.6V37.2a1.6 1.6 0 011.6-1.6h20.8a1.6 1.6 0 011.6 1.6zm3.2-9.6A1.6 1.6 0 0138 30.8H14a1.6 1.6 0 01-1.6-1.6v-1.6A1.6 1.6 0 0114 26h24a1.6 1.6 0 011.6 1.6z\"}]}},\nformula:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M30.2 3.2c-.8-.6-1.9-.9-3.2-.9-.3 0-.6 0-.9.1-3.5.5-5.8 3.8-7.2 6.8-.6 1.4-1.2 2.9-1.7 4.4-.3.7-.5 1.4-.8 2.1 0 .1-.4 1.5-.5 1.5h-3.6c-.5 0-.9.4-.9.9s.4.9.9.9h3.1l-1.8 7.5C12 34.7 9.7 44.2 9.1 45.9c-.6 1.7-1.4 2.6-2.5 2.6-.2 0-.4 0-.5-.1-.1-.1-.2-.2-.2-.4 0-.1.1-.4.3-.7.2-.3.3-.7.3-1 0-.7-.2-1.2-.7-1.6-.4-.4-.9-.6-1.5-.6s-1.1.2-1.6.6c-.5.4-.7 1-.7 1.7 0 1 .4 1.8 1.2 2.5.8.7 1.8 1 3.1 1 2.1 0 4.1-1 5.5-2.6.9-1 1.5-2.2 2.1-3.5 1.8-3.9 2.7-8.2 3.7-12.3 1-4.2 2-8.4 2.9-12.7H24c.5 0 .9-.4.9-.9s-.4-.9-.9-.9h-3.1c1.7-6.6 3.7-11.1 4.1-11.8.7-1.1 1.4-1.7 2.1-1.7.3 0 .5.1.6.2.1.2.1.3.1.4 0 .1-.1.3-.3.7-.2.4-.3.8-.3 1.2 0 .6.2 1 .6 1.4.4.4.9.6 1.5.6s1.1-.2 1.5-.6c.4-.4.6-1 .6-1.7.1-1.1-.3-1.9-1.2-2.5zM46.1 23.2c1.3 0 3.8-1 3.8-4.4 0-3.3-2.4-3.5-3.1-3.5-1.5 0-2.9 1.1-4.2 3.3-1.3 2.3-2.7 4.7-2.7 4.7-.3-1.6-.6-2.9-.7-3.5-.3-1.4-1.9-4.4-5.2-4.4-3.3 0-6.3 1.9-6.3 1.9-.6.4-.9 1-.9 1.7 0 1.1.9 2 2 2 .3 0 .6-.1.9-.2 0 0 2.5-1.4 3 0 .2.4.3.9.4 1.4.6 2.2 1.2 4.7 1.7 7l-2.2 3.1s-2.4-.9-3.7-.9-3.8 1-3.8 4.4 2.4 3.5 3.1 3.5c1.5 0 2.9-1.1 4.2-3.3 1.3-2.3 2.7-4.7 2.7-4.7.4 2 .8 3.7 1 4.4.8 2.3 2.7 3.7 5.3 3.7 0 0 2.6 0 5.7-1.7.7-.3 1.3-1 1.3-1.9 0-1.1-.9-2-2-2-.3 0-.6.1-.9.2 0 0-2.2 1.2-2.9.3-.5-1-1-2.4-1.3-4-.3-1.5-.7-3.2-1-4.9l2.2-3.2c-.1.1 2.4 1 3.6 1z\"}},\nforward:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M3.4 29h33.2c.9 0 1.3 1.1.7 1.7l-9.6 9.6c-.6.6-.6 1.5 0 2.1l2.2 2.2c.6.6 1.5.6 2.1 0L49.5 27c.6-.6.6-1.5 0-2.1L32 7.4c-.6-.6-1.5-.6-2.1 0l-2.1 2.1c-.6.6-.6 1.5 0 2.1l9.6 9.6c.6.7.2 1.8-.7 1.8H3.5c-.8 0-1.5.6-1.5 1.4v3c0 .8.6 1.6 1.4 1.6z\"}},\nforward_up:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M8.2 49.6l31.5-31.5c.9-.9 2.3-.2 2.3.9v18.2c0 1.1.9 2 2 2h4.2c1.1 0 2-.9 2-2L50 4.1c0-1.1-.9-2-2-2H14.8c-1.1 0-2 .9-2 2v4c0 1.1.9 2 2 2H33c1.2.1 1.9 1.5 1 2.4L2.6 43.9c-.8.8-.9 2-.1 2.7l2.8 2.8c.8.8 2.1 1 2.9.2z\"}},\nfreeze_column:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M14.5 44a1.54 1.54 0 011.5 1.5v3a1.54 1.54 0 01-1.5 1.5h-9A1.54 1.54 0 014 48.5v-3A1.54 1.54 0 015.5 44zm19.6 0c.59 0 1.1.7 1.1 1.5v3c0 .8-.51 1.5-1.1 1.5h-6.6c-.59 0-1.1-.7-1.1-1.5v-3c0-.8.51-1.5 1.1-1.5zm12.8 0c.59 0 1.1.7 1.1 1.5v3c0 .8-.51 1.5-1.1 1.5h-6.6c-.59 0-1.1-.7-1.1-1.5v-3c0-.8.51-1.5 1.1-1.5zM21.6 14a.8.8 0 01.8.8v34.4a.8.8 0 01-.8.8h-.8a.8.8 0 01-.8-.8V14.8a.8.8 0 01.8-.8zm-7.1 20a1.54 1.54 0 011.5 1.5v3a1.54 1.54 0 01-1.5 1.5h-9A1.54 1.54 0 014 38.5v-3A1.54 1.54 0 015.5 34zm19.6 0c.59 0 1.1.7 1.1 1.5v3c0 .8-.51 1.5-1.1 1.5h-6.6c-.59 0-1.1-.7-1.1-1.5v-3c0-.8.51-1.5 1.1-1.5zm12.8 0c.59 0 1.1.7 1.1 1.5v3c0 .8-.51 1.5-1.1 1.5h-6.6c-.59 0-1.1-.7-1.1-1.5v-3c0-.8.51-1.5 1.1-1.5zM14.5 24a1.54 1.54 0 011.5 1.5v3a1.54 1.54 0 01-1.5 1.5h-9A1.54 1.54 0 014 28.5v-3A1.54 1.54 0 015.5 24zm19.6 0c.59 0 1.1.7 1.1 1.5v3c0 .8-.51 1.5-1.1 1.5h-6.6c-.59 0-1.1-.7-1.1-1.5v-3c0-.8.51-1.5 1.1-1.5zm12.8 0c.59 0 1.1.7 1.1 1.5v3c0 .8-.51 1.5-1.1 1.5h-6.6c-.59 0-1.1-.7-1.1-1.5v-3c0-.8.51-1.5 1.1-1.5zM14.5 14a1.54 1.54 0 011.5 1.5v3a1.54 1.54 0 01-1.5 1.5h-9A1.54 1.54 0 014 18.5v-3A1.54 1.54 0 015.5 14zm19.6 0c.59 0 1.1.7 1.1 1.5v3c0 .8-.51 1.5-1.1 1.5h-6.6c-.59 0-1.1-.7-1.1-1.5v-3c0-.8.51-1.5 1.1-1.5zm12.8 0c.59 0 1.1.7 1.1 1.5v3c0 .8-.51 1.5-1.1 1.5h-6.6c-.59 0-1.1-.7-1.1-1.5v-3c0-.8.51-1.5 1.1-1.5zm-.4-12A1.54 1.54 0 0148 3.5v5a1.54 1.54 0 01-1.5 1.5h-41A1.54 1.54 0 014 8.5v-5A1.54 1.54 0 015.5 2z\"}},\nfrozen:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M27 3c.6 0 1 .4 1 1v45.9c0 .6-.4 1-1 1h-2c-.6 0-1-.4-1-1V4c0-.6.4-1 1-1h2z\"},{\"d\":\"M26 17.2l-8.1-8.1c-.4-.4-.4-1 0-1.4l1.4-1.4c.4-.4 1-.4 1.4 0l5.3 5.3 5.3-5.3c.4-.4 1-.4 1.4 0l1.4 1.4c.4.4.4 1 0 1.4L26 17.2M26 36.7l8.1 8.1c.4.4.4 1 0 1.4l-1.4 1.4c-.4.4-1 .4-1.4 0L26 42.3l-5.3 5.3c-.4.4-1 .4-1.4 0l-1.4-1.4c-.4-.4-.4-1 0-1.4l8.1-8.1M47.1 15.6c.3.5.2 1.1-.4 1.4L7.2 40.3c-.5.3-1.1.2-1.4-.4l-1-1.7c-.3-.5-.2-1.1.4-1.4l39.5-23.4c.5-.3 1.1-.2 1.4.4l1 1.8z\"},{\"d\":\"M34.4 22l2.8-11.1c.1-.6.6-.9 1.2-.7l1.9.5c.6.1.9.6.7 1.2l-1.9 7.3 7.3 1.9c.6.1.9.6.7 1.2l-.5 1.9c-.1.6-.6.9-1.2.7l-11-2.9M17.6 31.9L14.8 43c-.1.6-.6.9-1.2.7l-1.9-.5c-.6-.1-.9-.6-.7-1.2l1.9-7.3-7.3-1.9c-.6-.1-.9-.6-.7-1.2l.5-1.9c.1-.6.6-.9 1.2-.7l11 2.9M5.9 13.9c.3-.5.9-.7 1.4-.4l39.5 23.4c.5.3.7.9.4 1.4l-1 1.7c-.3.5-.9.7-1.4.4L5.2 17c-.5-.3-.7-.9-.4-1.4l1.1-1.7z\"},{\"d\":\"M17.6 22L6.5 24.9c-.6.1-1.1-.1-1.2-.7l-.5-1.9c-.1-.6.1-1.1.7-1.2l7.3-1.9-1.9-7.3c-.1-.6.1-1.1.7-1.2l1.9-.5c.6-.1 1.1.1 1.2.7L17.6 22M34.3 31.9L45.4 29c.6-.1 1.1.1 1.2.7l.5 1.9c.1.6-.1 1.1-.7 1.2l-7.3 1.9L41 42c.1.6-.1 1.1-.7 1.2l-1.9.5c-.6.1-1.1-.1-1.2-.7l-2.9-11.1\"}]},\nfulfillment_order:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M24.3 36.5c.7 0 1.4.1 2 .3L15.5 6.2l-1-3c-.3-.9-1.2-1.3-2-1L3.1 5.3c-.9.3-1.3 1.2-1 2l1 3c.3.9 1.2 1.3 2 1L10 9.7l9.9 28.1c1.3-.8 2.8-1.3 4.4-1.3zM41.2 29.2l-9.9 3.5c-1 .4-2.2-.2-2.5-1.2l-3.5-9.9c-.4-1 .2-2.2 1.2-2.5l9.9-3.5c1-.4 2.2.2 2.5 1.2l3.5 9.9c.4 1-.2 2.1-1.2 2.5zM31.8 12.9l-6.7 2.3c-1 .4-2.2-.2-2.5-1.2l-2.3-6.7c-.4-1 .2-2.2 1.2-2.5l6.7-2.3c1-.4 2.2.2 2.5 1.2l2.3 6.7c.4.9-.1 2.1-1.2 2.5zM49.9 35.5l-1-3c-.3-.9-1.2-1.3-2-1l-18.2 6.3c1.9 1.2 3.2 3.2 3.6 5.5L49 37.6c.8-.3 1.2-1.2.9-2.1zM24.3 39.1c-3 0-5.5 2.5-5.5 5.5s2.5 5.5 5.5 5.5 5.5-2.5 5.5-5.5c0-3.1-2.5-5.5-5.5-5.5z\"}}},\nfull_width_view:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M48.5 4h-45C2.7 4 2 4.7 2 5.5v5c0 .8.7 1.5 1.5 1.5h45c.8 0 1.5-.7 1.5-1.5v-5c-.1-.8-.7-1.5-1.5-1.5zM10.7 16h-7c-.8 0-1.5.7-1.5 1.5v29.8c0 .8.7 1.5 1.5 1.5h7c.8 0 1.5-.7 1.5-1.5V17.5c0-.8-.7-1.5-1.5-1.5zM48.5 16h-7c-.8 0-1.5.7-1.5 1.5v29.8c0 .8.7 1.5 1.5 1.5h7c.8 0 1.5-.7 1.5-1.5V17.5c0-.8-.7-1.5-1.5-1.5zM34.5 16H17.7c-.8 0-1.5.7-1.5 1.5v29.8c0 .8.7 1.5 1.5 1.5h16.8c.8 0 1.5-.7 1.5-1.5V17.5c0-.8-.7-1.5-1.5-1.5z\"}}},\nglobal_constant:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M28.6 28.2c2.6-2 5.4-2.3 7.3-2.3l7.1-.1c.7 0 1.4 0 2.1-.1.9 0 1.8-.1 2.6-.1h2.1C49.9 12.5 39.1 1.8 26 1.8S2.1 12.5 2.1 25.6c0 11.5 8.2 21.1 19 23.4-.2-.8-.1-1.6.1-2.4.3-1.4 1.1-2.5 1.9-3.3-2.5-2.5-4.6-8.2-5-15.2h5.5v6.4c.2-.5.3-1 .6-1.4 1-1.4 2.1-2.9 3.4-4.2.2-.2.5-.4.6-.6l.4-.1zm16.3-4.8h-6.3c-.2-5.7-1.5-10.6-3.4-14.3 5.3 2.9 8.9 8.2 9.7 14.3zM28.4 7.7c2.7 2.3 5.1 8.2 5.5 15.7h-5.5V7.7zm-4.8 0v15.7h-5.5c.4-7.5 2.8-13.4 5.5-15.7zM7.1 28.2h6.3c.2 5.7 1.5 10.6 3.4 14.3-5.3-2.9-8.9-8.2-9.7-14.3zm6.2-4.8H7.1c.8-6.1 4.5-11.4 9.7-14.3-1.9 3.7-3.1 8.7-3.5 14.3z\"},{\"d\":\"M24.6 41.9c.3-.2.6-.6.8-.7.2-.3.6-.6.8-1-1.3-.6-2.2-1.7-2.6-3v5.7c.4-.5.7-.8 1-1z\"}]},\"path\":{\"d\":\"M49.6 29.9c-.2-.2-.3-.2-.5-.2-2-.1-4.1.1-6 .1l-7.1.1c-2.1 0-3.9.5-5.6 2-1 1-2.1 2.3-2.9 3.5-.1.2-.2.3-.2.5 0 .5.4.8.8.8.5 0 .6-.3.8-.6s.5-.6.8-1c1.1-1 2.6-1.6 4.1-1.4-1.3 3.5-3 7.5-5.6 10.3-1 1.1-2.9 2.3-3.3 3.9-.4 1.7 1.3 2.1 2.5 1.6 1.6-.6 2.5-2.3 3.4-3.7 1-1.8 1.9-3.6 2.6-5.4.8-1.8 1.6-3.7 2.3-5.5.5-1.1.6-1.1 1.8-1.1h3.1c-1.1 2.5-2.2 5.1-3.3 7.7-.8 2-2.2 4.9-1.2 7 1 2.1 3.8 1.4 5.3.2 1.6-1.1 2.5-2.9 3.4-4.5.2-.3.3-.6.2-1-.2-.3-.4-.5-.7-.5-.7 0-.9.9-1.1 1.4-.4.9-1.4 1.7-2.4 1.5-2.3-.3-.2-4.5.2-5.7.4-1.2.9-2.3 1.4-3.4.3-.6.6-1.4.9-2 .4-.8.4-.8 1.4-.9.8 0 3.1.4 3.8-.1.6-.4.9-1.8 1.2-2.8.2-.3.2-.5-.1-.8z\"}},\ngraph:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M2 45.5c0 2.2 1.8 4 4 4h42.4c.9 0 1.6-.7 1.6-1.6v-2.8c0-.9-.7-1.6-1.6-1.6H9.5c-.8 0-1.5-.7-1.5-1.5V4.1c0-.9-.7-1.6-1.6-1.6H3.6c-.9 0-1.6.7-1.6 1.6v41.4z\"},{\"d\":\"M49.7 14.1c0-1.7-1.3-3-3-3-.9 0-1.6.4-2.2.9l-8.6 8.6L30 15l-.1-.1-.2-.2c-.1 0-.1-.1-.2-.1-.1-.1-.2-.1-.3-.2-.1 0-.1-.1-.2-.1s-.2-.1-.4-.1c-.1 0-.1 0-.2-.1-.2 0-.4-.1-.6-.1-.2 0-.4 0-.6.1-.1 0-.1 0-.2.1-.1 0-.3.1-.4.1-.1 0-.1.1-.2.1-.1.1-.2.1-.3.2-.1 0-.1.1-.2.2s-.2.1-.3.2L14.2 26.5c-.6.6-1 1.3-1 2.2 0 1.7 1.3 3 3 3 .7 0 1.4-.3 1.9-.7l9.8-9.7 5.7 5.6c.1.1.2.1.3.2l.2.2c.1.1.2.1.3.2.1 0 .1.1.2.1.1.1.3.1.4.1.1 0 .1 0 .2.1.2 0 .4.1.6.1.2 0 .4 0 .6-.1h.2c.1 0 .2-.1.4-.1.1 0 .1-.1.2-.1s.2-.1.3-.2c.1 0 .1-.1.2-.1l.1-.1.1-.1.1-.1 10.8-10.7c.5-.6.9-1.3.9-2.2z\"}]},\ngroups:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M15.9 28c-1.4-2.1-2.1-4.5-2.1-7.2 0-4.6 1.9-8.4 4.9-10.7-1-1.8-3-3.1-5.6-3.1-4.4 0-6.9 3.6-6.9 7.7 0 2.2.7 4.1 2.2 5.4.8.8 1.5 1.8 1.5 2.8s-.4 2-2.9 3.1c-3.6 1.6-6.9 3.8-7 7.1.1 2.2 1.5 3.9 3.6 3.9h3.3c.5 0 1-.3 1.3-.8 1.6-2.9 4.6-4.7 7.1-6 .9-.4 1.1-1.5.6-2.2zM45.1 26c-2.5-1.1-2.9-2-2.9-3.1s.7-2.1 1.5-2.8c1.5-1.4 2.2-3.2 2.2-5.4 0-4.1-2.4-7.7-6.9-7.7-2.6 0-4.6 1.3-5.7 3.1 3 2.3 4.9 6.1 4.9 10.7 0 2.7-.7 5.1-2.1 7.2-.5.8-.2 1.8.6 2.2 2.5 1.2 5.5 3.1 7.1 6 .3.5.8.8 1.3.8h3.3c2.1 0 3.5-1.7 3.5-3.9.1-3.3-3.2-5.5-6.8-7.1z\"},{\"d\":\"M32.7 33.3c-2.7-1.2-3.2-2.3-3.2-3.4 0-1.2.8-2.3 1.7-3.1 1.6-1.5 2.5-3.6 2.5-6 0-4.5-2.7-8.4-7.6-8.4s-7.6 3.9-7.6 8.4c0 2.4.9 4.5 2.5 6 .9.9 1.7 2 1.7 3.1 0 1.2-.4 2.2-3.2 3.4-4 1.7-7.8 3.6-7.9 7.2 0 2.4 1.8 4.4 4.1 4.4h20.8c2.3 0 4.1-2 4.1-4.4-.1-3.5-3.9-5.4-7.9-7.2z\"}]}},\nhelp:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M28.4 38h-5c-.8 0-1.4-.6-1.4-1.4v-1.5c0-4.2 2.7-8 6.7-9.4 1.2-.4 2.3-1.1 3.2-2.1 5-6 .4-13.2-5.6-13.4-2.2-.1-4.3.7-5.9 2.2-1.3 1.2-2.1 2.7-2.3 4.4-.1.6-.7 1.1-1.5 1.1h-5c-.9 0-1.6-.7-1.5-1.6.4-3.8 2.1-7.2 4.8-9.9 3.2-3 7.3-4.6 11.7-4.5C34.9 2.2 41.7 9 42 17.3c.3 7-4 13.3-10.5 15.7-.9.4-1.5 1.1-1.5 2v1.5c0 .9-.8 1.5-1.6 1.5zM30 48.5c0 .8-.7 1.5-1.5 1.5h-5c-.8 0-1.5-.7-1.5-1.5v-5c0-.8.7-1.5 1.5-1.5h5c.8 0 1.5.7 1.5 1.5v5z\"}},\nhelp_center:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M25.7 2C12.4 2.2 1.9 13.1 2 26.3 2.2 39.6 13.1 50.1 26.3 50c13.3-.2 23.8-11.1 23.7-24.3C49.8 12.4 38.9 1.9 25.7 2zm0 3.2c3.6-.1 7 .8 9.9 2.3l-3.2 5.4c-1.9-1-4.1-1.5-6.4-1.5s-4.5.5-6.4 1.5l-3.2-5.4c2.8-1.4 5.9-2.3 9.3-2.3zM12.9 32.4l-5.4 3.2c-1.4-2.8-2.3-6-2.3-9.4-.1-3.6.8-7 2.3-9.9l5.4 3.2c-1 1.9-1.5 4.1-1.5 6.4s.5 4.6 1.5 6.5zm13.4 14.4c-3.6.1-7-.8-9.9-2.3l3.2-5.4c1.9 1 4.1 1.5 6.4 1.5s4.5-.5 6.4-1.5l3.2 5.4c-2.8 1.4-5.9 2.3-9.3 2.3zm-.3-9.3c-6.4 0-11.5-5.2-11.5-11.5 0-6.4 5.2-11.5 11.5-11.5 6.4 0 11.5 5.2 11.5 11.5 0 6.4-5.1 11.5-11.5 11.5zm13.1-5.1c1-1.9 1.5-4.1 1.5-6.4s-.5-4.5-1.5-6.4l5.4-3.2c1.4 2.8 2.3 6 2.3 9.4.1 3.6-.8 7-2.3 9.9l-5.4-3.3z\"}},\nhelp_doc_ext:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M49.83 32.45A1.43 1.43 0 0048.44 31h-12A1.43 1.43 0 0035 32.44v1.44a1.43 1.43 0 001.4 1.44h6.14l-11 11a1.42 1.42 0 000 2l1 1a1.54 1.54 0 001.09.45 1.32 1.32 0 00.94-.38l11-11v6A1.43 1.43 0 0047 45.83h1.53a1.43 1.43 0 001.47-1.4zM19.91 32.07h-4.08A1.12 1.12 0 0114.68 31v-1.3a8.18 8.18 0 015.47-7.7 6.16 6.16 0 002.61-1.71 6.56 6.56 0 00-9.38-9.15 5.77 5.77 0 00-1.88 3.6 1.17 1.17 0 01-1.23.89H6.19A1.17 1.17 0 015 14.46v-.1a13.31 13.31 0 013.89-8.08 13.38 13.38 0 019.55-3.68 13.1 13.1 0 014 25.39 1.83 1.83 0 00-1.23 1.63v1.23a1.27 1.27 0 01-1.3 1.22zm1.3 8.57A1.24 1.24 0 0120 41.87h-4.09a1.27 1.27 0 01-1.23-1.23v-4.08a1.25 1.25 0 011.23-1.22H20a1.25 1.25 0 011.22 1.22z\"}}},\nhide:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M51.8 25.1c-1.6-3.2-3.7-6.1-6.3-8.4L37 25.1v.9c0 6.1-4.9 11-11 11h-.9l-5.4 5.4c2 .4 4.1.7 6.2.7 11.3 0 21.1-6.6 25.8-16.1.4-.7.4-1.3.1-1.9zM48.5 5.6l-2.1-2.1c-.6-.6-1.7-.5-2.4.3l-7.3 7.3C33.4 9.7 29.8 9 26 9 14.7 9 4.9 15.6.2 25.1c-.3.6-.3 1.3 0 1.8 2.2 4.5 5.5 8.2 9.6 11l-6 6.1c-.7.7-.8 1.8-.3 2.4l2.1 2.1c.6.6 1.7.5 2.4-.3L48.2 8c.8-.7.9-1.8.3-2.4zM15 26c0-6.1 4.9-11 11-11 2 0 3.8.5 5.4 1.4l-3 3c-.8-.2-1.6-.4-2.4-.4-3.9 0-7 3.1-7 7 0 .8.2 1.6.4 2.4l-3 3C15.5 29.8 15 28 15 26z\"}}},\nhide_mobile:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M36.1 25.3v14.1c0 .7-.6 1.4-1.4 1.4H20.6L12 49.4c.6.4 1.3.6 2 .6h24c2 0 3.7-1.7 3.7-3.7V19.7l-5.6 5.6zM26 48.1c-1.6 0-2.8-1.2-2.8-2.8s1.2-2.8 2.8-2.8 2.8 1.2 2.8 2.8-1.2 2.8-2.8 2.8zM10.3 45.6l5.7-5.7v-.1l20.2-20.2v.1l5.5-5.5v-.1l7-7c.7-.6.8-1.7.3-2.2L47 3c-.6-.6-1.6-.5-2.2.3l-3.1 3.1v-.7C41.7 3.7 40 2 38 2H14c-2 0-3.7 1.7-3.7 3.7v32.1l-7.1 7.1c-.6.6-.7 1.6-.2 2.1l1.9 2c.6.6 1.6.5 2.2-.3l3.2-3.1zm5.5-34.8c0-.7.6-1.4 1.4-1.4h17.5c.7 0 1.4.6 1.4 1.4V12L15.8 32.2V10.8z\"}}},\nhierarchy:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M23.1 23H10.8c-.7 0-1.4.6-1.4 1.3v10.5H5.3c-.7 0-1.4.7-1.4 1.4v10c0 .7.7 1.4 1.4 1.4H19c.7 0 1.4-.7 1.4-1.4v-10c0-.7-.7-1.4-1.4-1.4h-4.1v-6.4h21.9v6.4h-4.1c-.7 0-1.4.7-1.4 1.4v10c0 .7.7 1.4 1.4 1.4h13.7c.7 0 1.3-.7 1.3-1.4v-10c0-.7-.6-1.4-1.3-1.4h-4.2V24.3c0-.7-.7-1.3-1.4-1.3H28.6v-6.4h4.1c.7 0 1.3-.7 1.3-1.4v-10c0-.7-.6-1.4-1.3-1.4H19c-.7 0-1.4.7-1.4 1.4v10c0 .7.7 1.4 1.4 1.4h4.2V23z\"}},\nhigh_velocity_sales:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M50 3.2c0-1-.6-1.2-.9-1.2H28.4c-1.5 0-1.5 1.5-1.5 1.5v2.9c0 1.3.8 1.6 1.2 1.6h14.4c.6.1 1.5.5 1.5 2.1v13.6c.1.4.3 1.3 1.5 1.3h3.2s1.3 0 1.3-1.5V3.2z\"},{\"d\":\"M37.5 15.7c.1-1-.6-1.2-.9-1.2H15.9c-1.5 0-1.5 1.5-1.5 1.5v2.9c0 1.3.8 1.6 1.2 1.6H30c.6.1 1.5.5 1.5 2.1v13.6c.1.4.3 1.3 1.5 1.3h3.2s1.3 0 1.3-1.5V15.7z\"},{\"d\":\"M5.3 48.8c.2.2 1 .8 2.1-.3l10.4-10.4c.3-.3 1.2-1 1.2.4v10.2c.1.4.3 1.3 1.5 1.3h3.2s1.3 0 1.3-1.5V28.2c0-1-.6-1.1-.9-1.2H3.4c-1.5 0-1.5 1.5-1.5 1.5v2.9c0 1.3.8 1.6 1.2 1.6h9.6c.4 0 1.6.1.5 1.2l-10 10.2S2 45.5 3 46.5l2.3 2.3z\"}]}},\nholiday_operating_hours:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M38.71 25.59a11.3 11.3 0 0111.29 11v.29a11.29 11.29 0 01-11 11.29h-.29a11.3 11.3 0 01-.3-22.59zm-.45 3.08v.1l-1.66 5.32a.4.4 0 01-.4.32h-5.43a.58.58 0 00-.39 1l.07.06 4.31 3.18a.55.55 0 01.2.51v.09l-2 5.43a.53.53 0 00.74.65h.07l4.67-3.45a.53.53 0 01.55-.06l.08.06 4.63 3.45a.52.52 0 00.83-.51v-.09l-2-5.43a.56.56 0 01.11-.53l.07-.07L47 35.43a.57.57 0 00-.23-1h-5.44a.52.52 0 01-.45-.23v-.09l-1.67-5.31a.52.52 0 00-.95-.13zM21.84 3a19.89 19.89 0 0119.84 19.84v.24a14.26 14.26 0 00-2.47-.31h-.9v-.25a16.47 16.47 0 10-16.47 16.79 16.32 16.32 0 002.91-.26 14.19 14.19 0 00.92 3.26 19.36 19.36 0 01-3.83.37 19.84 19.84 0 010-39.68zM22 14.3a1.06 1.06 0 011 1V22a1.06 1.06 0 00.27.76l3.81 3.93a1 1 0 010 1.45l-1.43 1.44a1 1 0 01-1.43 0l-5-5.1a1.4 1.4 0 01-.28-.76v-8.38a1.06 1.06 0 011-1H22z\"}},\nhome:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M49 27h-5v22c0 .6-.4 1-1 1H33c-.6 0-1-.4-1-1V32H20v17c0 .6-.4 1-1 1H9c-.6 0-1-.4-1-1V27H3c-.4 0-.8-.2-.9-.6-.2-.4-.1-.8.2-1.1l23-23c.4-.4 1.1-.4 1.4 0l23 23c.3.3.3.7.2 1.1s-.5.6-.9.6z\"}},\nidentity:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M46 8H34.9s.1.7.1 1c0 3.9-3.1 7-7 7h-6c-3.9 0-7-3.1-7-7 0-.3 0-1 .1-1H6c-2.2 0-4 1.8-4 4v30c0 2.2 1.8 4 4 4h40c2.2 0 4-1.8 4-4V12c0-2.2-1.8-4-4-4zM21.7 38H10.3C9 38 8 36.8 8 35.5c0-2 2.1-3.1 4.3-4 1.5-.6 1.7-1.2 1.7-1.9 0-.6-.4-1.2-.9-1.7-.9-.8-1.4-2-1.4-3.3 0-2.5 1.5-4.6 4.2-4.6s4.2 2.1 4.2 4.6c0 1.3-.5 2.5-1.4 3.3-.5.5-.9 1.1-.9 1.7 0 .6.2 1.2 1.7 1.9 2.2.9 4.3 2 4.3 4 .2 1.3-.8 2.5-2.1 2.5zM44 34c0 .6-.4 1-1 1H29c-.6 0-1-.4-1-1v-2c0-.6.4-1 1-1h14c.6 0 1 .4 1 1v2zm2-8c0 .6-.4 1-1 1H29c-.6 0-1-.4-1-1v-2c0-.6.4-1 1-1h16c.6 0 1 .4 1 1v2z\"},{\"d\":\"M22 12h6c1.7 0 3-1.3 3-3s-1.3-3-3-3h-6c-1.7 0-3 1.3-3 3s1.3 3 3 3z\"}]}},\nimage:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M50 10c0-2.2-1.8-4-4-4H6c-2.2 0-4 1.8-4 4v32c0 2.2 1.8 4 4 4h40c2.2 0 4-1.8 4-4V10zM39.6 38h-29c-1.2 0-1.9-1.3-1.3-2.3l8.8-15.3c.4-.7 1.3-.7 1.7 0l5.3 9.1c.4.6 1.3.7 1.7.1l4.3-6.2c.4-.6 1.3-.6 1.7 0L40.7 36c.6.9 0 2-1.1 2zM37 20c-2.2 0-4-1.8-4-4s1.8-4 4-4 4 1.8 4 4-1.8 4-4 4z\"}},\nin_app_assistant:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M49.9 33.6l-2-4.2 2-4.2c.2-.3 0-.8-.3-.9-.1 0-.2-.1-.3-.1h-6.5c-.5-1.3-1.8-4.5-3-6.3-1.5-2.4-3.2-4.4-5.2-6-2.3-1.9-4.9-3.5-7.9-4.7l-.7-.1-.7.2c-.1 0-1.2.4-2.9 1.2-1.4.7-3 1.7-4.6 3-3.1 2.5-5.5 5.5-7.2 9-.5 1.1-1.1 2.4-1.6 3.8H2.7c-.1 0-.2 0-.3.1-.3.1-.5.6-.4.9l1.8 4.2L2 33.7v.2c0 .4.3.7.7.7h4.5V36.4c0 .7 0 1.5.1 2v1.3l1.2.7c.1 0 2 1.1 5.1 2.2 2.8 1 7.3 2.2 12.7 2.2 4.7 0 9.3-.9 13.7-2.7 1.3-.5 2.5-1.1 3.6-1.7l1-.5.2-.8.1-.7v-2.1c0-.4 0-.6-.1-.8 0-.2-.1-.4-.1-1h4.6c.4 0 .7-.3.7-.7 0 0 0-.1-.1-.2zm-8.5 3.6c0 .2 0 .4-.1.6-.9.5-1.8.9-2.7 1.3-4 1.6-8.1 2.4-12.4 2.4-4.9 0-9-1.1-11.6-2-1.9-.7-3.3-1.3-4-1.7v-1.3-.8c0-.3 0-.5.1-2.6.2-2.9.9-5.6 1.4-7.1.5-1.5 1.1-2.9 1.6-4 1.5-3.1 3.6-5.6 6.3-7.8 1.7-1.4 3.1-2.2 3.9-2.6.9-.4 1.6-.7 2-.9 2.4 1 4.5 2.3 6.4 3.9 1.7 1.4 3.2 3.1 4.5 5.3 1 1.6 2.4 5 2.8 6 0 0 1.3 4.2 1.4 7 .1 2.2.1 2.6.2 3.1 0 .2 0 .3.1.5v.7z\"},{\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",\"d\":\"M25.8 38c-.6 0-1-.2-1.4-.5-.4-.4-.6-.9-.6-1.5s.2-1.1.6-1.4c.4-.4.9-.6 1.5-.6s1.1.2 1.4.6c.4.4.6.9.6 1.4 0 .6-.2 1.1-.6 1.5-.5.4-1 .5-1.5.5zM19.1 23.2c0-.9.3-1.7.8-2.6.6-.9 1.4-1.6 2.4-2.2 1.1-.6 2.3-.9 3.7-.9 1.3 0 2.5.2 3.5.7 1 .5 1.8 1.1 2.3 2 .5.8.8 1.7.8 2.7 0 .8-.2 1.4-.5 2-.3.6-.7 1.1-1.1 1.5-.4.4-1.2 1.1-2.3 2.1-.3.3-.6.5-.7.7-.2.2-.3.4-.4.6-.1.2-.2.4-.2.5 0 .2-.1.5-.2.9-.2.9-.7 1.4-1.6 1.4-.5 0-.9-.2-1.2-.5-.3-.1-.4-.6-.4-1.2 0-.8.1-1.4.4-2 .2-.6.5-1 .9-1.5.4-.4.9-.9 1.6-1.5.6-.5 1-.9 1.3-1.1.3-.3.5-.5.7-.9.2-.3.3-.7.3-1 0-.7-.3-1.3-.8-1.8s-1.2-.7-2.1-.7c-1 0-1.7.3-2.2.8-.5.5-.9 1.2-1.2 2.2-.3 1-.9 1.5-1.8 1.5-.5 0-.9-.2-1.3-.5-.5-.4-.7-.8-.7-1.2z\"}]},\ninbox:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M50 8c0-2.2-1.8-4-4-4H6C3.8 4 2 5.8 2 8v36c0 2.2 1.8 4 4 4h40c2.2 0 4-1.8 4-4V8zM19 35c0 .6-.4 1-1 1H9c-.6 0-1-.4-1-1v-4c0-.6.4-1 1-1h9c.6 0 1 .4 1 1v4zm0-10c0 .6-.4 1-1 1H9c-.6 0-1-.4-1-1v-4c0-.6.4-1 1-1h9c.6 0 1 .4 1 1v4zm0-10c0 .6-.4 1-1 1H9c-.6 0-1-.4-1-1v-4c0-.6.4-1 1-1h9c.6 0 1 .4 1 1v4zm25 26c0 .6-.4 1-1 1H24c-.6 0-1-.4-1-1V11c0-.6.4-1 1-1h19c.6 0 1 .4 1 1v30z\"}},\nincoming_call:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M48.5 37.9L42.4 33c-1.4-1.1-3.4-1.2-4.8-.1l-5.2 3.8c-.6.5-1.5.4-2.1-.2l-7.8-7-7-7.8c-.6-.6-.6-1.4-.2-2.1l3.8-5.2c1.1-1.4 1-3.4-.1-4.8l-4.9-6.1c-1.5-1.8-4.2-2-5.9-.3L3 8.4c-.8.8-1.2 1.9-1.2 3 .5 10.2 5.1 19.9 11.9 26.7S30.2 49.5 40.4 50c1.1.1 2.2-.4 3-1.2l5.2-5.2c1.9-1.5 1.8-4.3-.1-5.7z\"},{\"d\":\"M29.6 24H45c1 0 1.3-1.1.5-1.9l-4.9-5 9-9.1c.5-.5.5-1.4 0-1.9l-3.7-3.7c-.5-.5-1.3-.5-1.9 0l-9.1 9.1-5.1-4.9C29.1 5.7 28 6 28 7v15.3c0 .7.9 1.7 1.6 1.7z\"}]},\ninfo:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M26 2C12.7 2 2 12.7 2 26s10.7 24 24 24 24-10.7 24-24S39.3 2 26 2zm0 12.1c1.7 0 3 1.3 3 3s-1.3 3-3 3-3-1.3-3-3 1.3-3 3-3zm5 21c0 .5-.4.9-1 .9h-8c-.5 0-1-.3-1-.9v-2c0-.5.4-1.1 1-1.1.5 0 1-.3 1-.9v-4c0-.5-.4-1.1-1-1.1-.5 0-1-.3-1-.9v-2c0-.5.4-1.1 1-1.1h6c.5 0 1 .5 1 1.1v8c0 .5.4.9 1 .9.5 0 1 .5 1 1.1v2z\"}},\ninfo_alt:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M26 2C12.7 2 2 12.7 2 26s10.7 24 24 24 24-10.7 24-24S39.3 2 26 2zm0 42C16 44 8 36 8 26S16 8 26 8s18 8 18 18-8 18-18 18z\"},{\"d\":\"M26 14.1c1.7 0 3 1.3 3 3s-1.3 3-3 3-3-1.3-3-3 1.3-3 3-3zM31 35.1c0 .5-.4.9-1 .9h-8c-.5 0-1-.3-1-.9v-2c0-.5.4-1.1 1-1.1.5 0 1-.3 1-.9v-4c0-.5-.4-1.1-1-1.1-.5 0-1-.3-1-.9v-2c0-.5.4-1.1 1-1.1h6c.5 0 1 .5 1 1.1v8c0 .5.4.9 1 .9.5 0 1 .5 1 1.1v2z\"}]},\ninsert_tag_field:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M16.3 12.2L14 10.3c-.7-.5-1.5-.4-2.1.2L.3 25.1c-.4.5-.4 1.3 0 1.9L12 41.5c.5.6 1.4.8 2.1.2l2.3-1.9c.7-.5.8-1.5.2-2.1L7.2 26l9.5-11.7c.4-.6.3-1.5-.4-2.1zM51.7 25.1L40 10.6c-.5-.6-1.4-.8-2.1-.2l-2.3 1.9c-.7.5-.8 1.5-.2 2.1l9.5 11.7-9.5 11.7c-.5.6-.4 1.6.2 2.1l2.3 1.9c.7.5 1.5.4 2.1-.2L51.7 27c.4-.7.4-1.4 0-1.9zM31.6 10.8l-3-.7c-.8-.2-1.7.3-1.9 1.1l-7.4 28.4c-.2.8.3 1.6 1.1 1.8l3 .7c.8.2 1.7-.3 1.9-1.1l7.4-28.4c.2-.9-.3-1.6-1.1-1.8z\"}},\ninsert_template:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M48.5 38H44v-4.5c0-.8-.7-1.5-1.5-1.5h-3c-.8 0-1.5.7-1.5 1.5V38h-4.5c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5H38v4.5c0 .8.7 1.5 1.5 1.5h3c.8 0 1.5-.7 1.5-1.5V44h4.5c.8 0 1.5-.7 1.5-1.5v-3c0-.8-.7-1.5-1.5-1.5zM34 29.5c0-.8.7-1.5 1.5-1.5H38V6c0-2.2-1.8-4-4-4H6C3.8 2 2 3.8 2 6v28c0 2.2 1.8 4 4 4h22v-2.5c0-.8.7-1.5 1.5-1.5H34v-4.5zM16 11c0 .6-.4 1-1 1H9c-.6 0-1-.4-1-1V9c0-.6.4-1 1-1h6c.6 0 1 .4 1 1v2zm12 16c0 .6-.4 1-1 1H9c-.6 0-1-.4-1-1v-2c0-.6.4-1 1-1h18c.6 0 1 .4 1 1v2zm4-8c0 .6-.4 1-1 1H9c-.6 0-1-.4-1-1v-2c0-.6.4-1 1-1h22c.6 0 1 .4 1 1v2z\"}},\ninspector_panel:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M3.8 45.3h45c.8 0 1.5-.7 1.5-1.5v-8.3c0-.8-.7-1.5-1.5-1.5h-45c-.8 0-1.5.7-1.5 1.5v8.3c0 .8.7 1.5 1.5 1.5zm0-38.6c-.8 0-1.6.7-1.6 1.5v20.4c0 .7.8 1.4 1.6 1.4h44.8c.8 0 1.5-.7 1.5-1.5V8.2c0-.8-.7-1.5-1.5-1.5H3.8z\"}},\ninternal_share:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",\"d\":\"M2.3 37.9v.2c0 .8.6 1.4 1.4 1.4.4 0 .7-.1 1-.4 0 0 10.1-10.9 22.5-7.6v11c0 .8.6 1.4 1.4 1.4.3 0 .5-.1.7-.2l20.1-17.1c.3-.3.5-.7.5-1.1 0-.4-.2-.8-.4-1L29.4 8.2c-.2-.1-.5-.2-.8-.2-.8 0-1.4.6-1.4 1.4v10.3c-.1 0-19.9-3-24.9 18.2z\"}},\nitalic:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M38 12.3V11c0-1.1-.9-2-2-2H22c-1.1 0-2 .9-2 2v2c0 1.1.9 2 2 2 1.7 0 3 1.6 2.6 3.2L21 35.8c-.3 1.3-1.4 2.2-2.6 2.2H16c-1.1 0-2 .9-2 2v2c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2v-2c0-1.1-.9-2-2-2-1.7 0-3-1.6-2.6-3.2L31 17.2c.3-1.3 1.4-2.2 2.6-2.2h1.7c1.5 0 2.7-1.2 2.7-2.7z\"}},\njump_to_bottom:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M40.6 30.4L27.1 44c-.6.6-1.6.6-2.2 0L11.4 30.4c-.6-.6-.6-1.6 0-2.2l2.2-2.2c.6-.6 1.6-.6 2.2 0l9.1 9.4c.6.6 1.6.6 2.2 0l9.1-9.3c.6-.6 1.6-.6 2.2 0l2.2 2.2c.5.6.5 1.5 0 2.1z\"},{\"d\":\"M40.6 12.3L27.1 26.1c-.6.6-1.6.6-2.2 0L11.4 12.3c-.6-.6-.6-1.6 0-2.2l2.2-2.2c.6-.6 1.6-.6 2.2 0l9.1 9.4c.6.6 1.6.6 2.2 0L36.2 8c.6-.6 1.6-.6 2.2 0l2.2 2.2c.5.6.5 1.6 0 2.1z\"}]}},\njump_to_left:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M21.5 40.6L7.9 27.1a1.57 1.57 0 010-2.2l13.6-13.5a1.57 1.57 0 012.2 0l2.2 2.2a1.57 1.57 0 010 2.2l-9.4 9.1a1.57 1.57 0 000 2.2l9.3 9.1a1.57 1.57 0 010 2.2l-2.2 2.2a1.66 1.66 0 01-2.1 0z\"},{\"d\":\"M39.6 40.6L25.8 27.1a1.57 1.57 0 010-2.2l13.8-13.5a1.57 1.57 0 012.2 0l2.2 2.2a1.57 1.57 0 010 2.2l-9.4 9.1a1.57 1.57 0 000 2.2l9.3 9.1a1.57 1.57 0 010 2.2l-2.2 2.2a1.66 1.66 0 01-2.1 0z\"}]},\njump_to_right:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M30.4 11.3L44 24.8a1.57 1.57 0 010 2.2L30.4 40.5a1.57 1.57 0 01-2.2 0L26 38.3a1.57 1.57 0 010-2.2l9.4-9.1a1.57 1.57 0 000-2.2l-9.3-9.1a1.57 1.57 0 010-2.2l2.2-2.2a1.66 1.66 0 012.1 0z\"},{\"d\":\"M12.3 11.3l13.8 13.5a1.57 1.57 0 010 2.2L12.3 40.5a1.57 1.57 0 01-2.2 0l-2.2-2.2a1.57 1.57 0 010-2.2l9.4-9.1a1.57 1.57 0 000-2.2L8 15.7a1.57 1.57 0 010-2.2l2.2-2.2a1.66 1.66 0 012.1 0z\"}]},\njump_to_top:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M11.4 21.6L24.9 7.9c.6-.6 1.6-.6 2.2 0l13.5 13.7c.6.6.6 1.6 0 2.2L38.4 26c-.6.6-1.6.6-2.2 0l-9.1-9.4c-.6-.6-1.6-.6-2.2 0l-9.1 9.3c-.6.6-1.6.6-2.2 0l-2.2-2.2c-.5-.6-.5-1.5 0-2.1z\"},{\"d\":\"M11.4 39.7L24.9 26c.6-.6 1.6-.6 2.2 0l13.5 13.7c.6.6.6 1.6 0 2.2l-2.2 2.2c-.6.6-1.6.6-2.2 0l-9.1-9.4c-.6-.6-1.6-.6-2.2 0L15.8 44c-.6.6-1.6.6-2.2 0l-2.2-2.2c-.5-.6-.5-1.6 0-2.1z\"}]}},\njustify_text:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M48 6.5c0-.8-.7-1.5-1.5-1.5h-41C4.7 5 4 5.7 4 6.5v3c0 .8.7 1.5 1.5 1.5h41c.8 0 1.5-.7 1.5-1.5v-3zM48 18.5c0-.8-.7-1.5-1.5-1.5h-41c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h41c.8 0 1.5-.7 1.5-1.5v-3zM48 42.5c0-.8-.7-1.5-1.5-1.5h-41c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h41c.8 0 1.5-.7 1.5-1.5v-3zM48 30.5c0-.8-.7-1.5-1.5-1.5h-41c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h41c.8 0 1.5-.7 1.5-1.5v-3z\"}},\nkanban:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M32 17.5c0-.8-.7-1.5-1.5-1.5h-9c-.8 0-1.5.7-1.5 1.5v27c0 .8.7 1.5 1.5 1.5h9c.8 0 1.5-.7 1.5-1.5v-27zM14 17.5c0-.8-.7-1.5-1.5-1.5h-9c-.8 0-1.5.7-1.5 1.5v31c0 .8.7 1.5 1.5 1.5h9c.8 0 1.5-.7 1.5-1.5v-31zM50 17.5c0-.8-.7-1.5-1.5-1.5h-9c-.8 0-1.5.7-1.5 1.5v23c0 .8.7 1.5 1.5 1.5h9c.8 0 1.5-.7 1.5-1.5v-23zM50 3.5c0-.8-.7-1.5-1.5-1.5h-45C2.7 2 2 2.7 2 3.5v5c0 .8.7 1.5 1.5 1.5h45c.8 0 1.5-.7 1.5-1.5v-5z\"}},\nkey:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M6.51 12a.77.77 0 011.41.48v.41c0 9 7.09 16.27 15.74 16.27h.71a1.53 1.53 0 011.57 1.06l4.41 12.69a2.13 2.13 0 01-.08 1.22l-2.36 5.45a.77.77 0 01-1 .41l-5.35-2.52a.84.84 0 01-.48-1l.63-2.52a.82.82 0 00-.39-1.06l-1.81-.81a.9.9 0 01-.39-1l.7-2.52a.82.82 0 00-.39-1.06l-1.26-.57a.79.79 0 01-.39-1l.79-2.36a.82.82 0 00-.4-1.06l-2.36-1.06a.8.8 0 01-.41-.45l-.55-1.54a11.11 11.11 0 01-5.43-2.12 11.74 11.74 0 01-4.17-12.55A10.21 10.21 0 016.51 12zm5.55 2.54A11.28 11.28 0 0123.8 2a11.38 11.38 0 0110 7.6 10.64 10.64 0 01.2 6.49l12.7 13.27a1.4 1.4 0 01.48 1.2v5.84a.76.76 0 01-.8.8h-6a.78.78 0 01-.8-.64L39.21 34a.75.75 0 00-.79-.8h-2a.78.78 0 01-.8-.64l-.4-2.56a.76.76 0 00-.8-.8h-1.35a.79.79 0 01-.8-.72L32 26a.76.76 0 00-.8-.8h-2.69A.73.73 0 0128 25l-1.11-1.19a11.17 11.17 0 01-14.78-9.28zM21.6 7.6a4 4 0 000 8 4 4 0 004-4 4 4 0 00-4-4z\"}},\nkey_dates:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M46.8 19.6a1.6 1.6 0 011.59 1.45V45.2a4.82 4.82 0 01-4.58 4.8H8.4a4.82 4.82 0 01-4.8-4.59V21.2a1.6 1.6 0 011.45-1.59H46.8zm-21.38 4.63v.11l-2.18 6.86a.53.53 0 01-.54.41h-6.93a.75.75 0 00-.49 1.25l.08.07L20.92 37a.72.72 0 01.25.67v.11l-2.55 7a.68.68 0 001 .83l.08-.06 6-4.45a.7.7 0 01.73-.06l.09.06 6 4.45a.68.68 0 001.07-.67v-.1l-2.64-7a.72.72 0 01.15-.7l.08-.08 5.56-4.09a.74.74 0 00-.31-1.31h-7.04a.67.67 0 01-.6-.31v-.1l-2.1-6.82a.67.67 0 00-1.27-.14zM36.4 2a3.21 3.21 0 013.2 3.2v1.6h4a4.81 4.81 0 014.8 4.8v1.6a1.6 1.6 0 01-1.6 1.6H5.2a1.6 1.6 0 01-1.6-1.6v-1.6a4.81 4.81 0 014.8-4.8h4V5.2a3.2 3.2 0 016.4 0v1.6h14.4V5.2A3.21 3.21 0 0136.4 2z\"}},\nkeyboard_dismiss:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M48 34.066c1.1 0 2-.9 2-2v-26c0-1.1-.9-2-2-2H4c-1.1 0-2 .9-2 2v26c0 1.1.9 2 2 2h44zm-42-4v-22h40v22H6z\"},{\"d\":\"M13.665 13.398c0 .8-.7 1.5-1.5 1.5h-.998c-.8 0-1.5-.7-1.5-1.5V12.4c0-.8.7-1.5 1.5-1.5h.998c.8 0 1.5.7 1.5 1.5v.998zM19.402 12.4c0-.801-.7-1.5-1.5-1.5h-.998c-.8 0-1.5.699-1.5 1.5v.998c0 .799.7 1.5 1.5 1.5h.998c.8 0 1.5-.701 1.5-1.5V12.4zM30.878 13.398c0 .8-.698 1.5-1.5 1.5h-.998c-.799 0-1.5-.7-1.5-1.5V12.4c0-.8.701-1.5 1.5-1.5h.998c.802 0 1.5.7 1.5 1.5v.998zM25.14 13.398c0 .8-.699 1.5-1.5 1.5h-.998c-.799 0-1.5-.7-1.5-1.5V12.4c0-.8.701-1.5 1.5-1.5h.998c.801 0 1.5.7 1.5 1.5v.998zM42.354 12.4c0-.801-.699-1.5-1.5-1.5h-.998c-.799 0-1.5.699-1.5 1.5v.998c0 .799.701 1.5 1.5 1.5h.998c.801 0 1.5-.701 1.5-1.5V12.4zM36.615 12.4c0-.801-.699-1.5-1.5-1.5h-.998c-.799 0-1.5.699-1.5 1.5v.998c0 .799.701 1.5 1.5 1.5h.998c.801 0 1.5-.701 1.5-1.5V12.4zM13.665 19.402c0 .8-.7 1.5-1.5 1.5h-.998c-.8 0-1.5-.7-1.5-1.5v-.998c0-.8.7-1.5 1.5-1.5h.998c.8 0 1.5.7 1.5 1.5v.998zM19.402 18.404c0-.801-.7-1.5-1.5-1.5h-.998c-.8 0-1.5.699-1.5 1.5v.998c0 .799.7 1.5 1.5 1.5h.998c.8 0 1.5-.701 1.5-1.5v-.998zM30.878 19.402c0 .8-.698 1.5-1.5 1.5h-.998c-.799 0-1.5-.7-1.5-1.5v-.998c0-.8.701-1.5 1.5-1.5h.998c.802 0 1.5.7 1.5 1.5v.998zM25.14 19.402c0 .8-.699 1.5-1.5 1.5h-.998c-.799 0-1.5-.7-1.5-1.5v-.998c0-.8.701-1.5 1.5-1.5h.998c.801 0 1.5.7 1.5 1.5v.998zM42.354 18.404c0-.801-.699-1.5-1.5-1.5h-.998c-.799 0-1.5.699-1.5 1.5v.998c0 .799.701 1.5 1.5 1.5h.998c.801 0 1.5-.701 1.5-1.5v-.998zM36.615 18.404c0-.801-.699-1.5-1.5-1.5h-.998c-.799 0-1.5.699-1.5 1.5v.998c0 .799.701 1.5 1.5 1.5h.998c.801 0 1.5-.701 1.5-1.5v-.998zM13.665 25.408c0 .801-.7 1.5-1.5 1.5h-.998c-.8 0-1.5-.7-1.5-1.5v-.998c0-.8.7-1.5 1.5-1.5h.998c.8 0 1.5.7 1.5 1.5v.998zM36.615 24.41c0-.801-.7-1.5-1.5-1.5H16.904c-.8 0-1.5.699-1.5 1.5v.998c0 .8.7 1.5 1.5 1.5h18.211c.8 0 1.5-.701 1.5-1.5v-.998zM42.354 24.41c0-.801-.699-1.5-1.5-1.5h-.998c-.799 0-1.5.699-1.5 1.5v.998c0 .8.701 1.5 1.5 1.5h.998c.801 0 1.5-.701 1.5-1.5v-.998zM18.116 37.227h15.792c.447 0 .759.58.4.981l-7.718 9.457c-.266.356-.847.356-1.115 0l-7.807-9.457c-.311-.401-.043-.981.448-.981z\"}]},\nkeypad:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M8.55 36.91A6.55 6.55 0 112 43.45a6.54 6.54 0 016.55-6.54zm17.45 0a6.55 6.55 0 11-6.55 6.54A6.55 6.55 0 0126 36.91zm17.45 0a6.55 6.55 0 11-6.54 6.54 6.54 6.54 0 016.54-6.54zM8.55 19.45A6.55 6.55 0 112 26a6.55 6.55 0 016.55-6.55zm17.45 0A6.55 6.55 0 1119.45 26 6.56 6.56 0 0126 19.45zm17.45 0A6.55 6.55 0 1136.91 26a6.55 6.55 0 016.54-6.55zM8.55 2A6.55 6.55 0 112 8.55 6.54 6.54 0 018.55 2zM26 2a6.55 6.55 0 11-6.55 6.55A6.55 6.55 0 0126 2zm17.45 0a6.55 6.55 0 11-6.54 6.55A6.55 6.55 0 0143.45 2z\",\"fill-rule\":\"evenodd\"}},\nknowledge_base:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M9.5 35h13c.8 0 1.5-.7 1.5-1.5V10c0-1.7-1.8-3-3.2-3H9.5C8.7 7 8 7.7 8 8.5v25c0 .8.7 1.5 1.5 1.5z\"},{\"d\":\"M49.2 11.6c-.6-.2-1.2.3-1.2 1v24.9c0 .8-.7 1.5-1.5 1.5h-41c-.8 0-1.5-.7-1.5-1.5V12.7c0-.7-.8-1.2-1.4-.9C1.1 12.5 0 14.1 0 16v23c0 2.2 1.8 4 4 4h16.5c.8 0 1.5.7 1.5 1.5s.7 1.5 1.5 1.5h5c.8 0 1.5-.7 1.5-1.5s.7-1.5 1.5-1.5H48c2.2 0 4-1.8 4-4V16c0-2.1-.7-3.9-2.8-4.4z\"},{\"d\":\"M29.5 35h13c.8 0 1.5-.7 1.5-1.5v-25c0-.8-.7-1.5-1.5-1.5H31.2C29.7 7 28 8.3 28 10v23.5c0 .8.7 1.5 1.5 1.5z\"}]}},\nlayers:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M36 20c0-2.2-1.8-4-4-4H6c-2.2 0-4 1.8-4 4v26c0 2.2 1.8 4 4 4h26c2.2 0 4-1.8 4-4V20z\"},{\"d\":\"M43 2H17c-3.9 0-7 3.1-7 7v3h26c2.2 0 4 1.8 4 4v26h3c3.9 0 7-3.1 7-7V9c0-3.9-3.1-7-7-7z\"}]},\nlayout:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M48 50H4c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h44c1.1 0 2 .9 2 2v44c0 1.1-.9 2-2 2zM6 46h40V6H6v40z\"},{\"d\":\"M39 20H13c-.6 0-1-.4-1-1v-6c0-.6.4-1 1-1h26c.6 0 1 .4 1 1v6c0 .6-.4 1-1 1zM19 40h-6c-.6 0-1-.4-1-1V27c0-.6.4-1 1-1h6c.6 0 1 .4 1 1v12c0 .6-.4 1-1 1zM39 40H27c-.6 0-1-.4-1-1V27c0-.6.4-1 1-1h12c.6 0 1 .4 1 1v12c0 .6-.4 1-1 1z\"}]},\nleave_conference:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M25.7 22.4c-.5.7-.2 1.7.6 2.2 1.6.9 3.4 1.9 4.9 3.3 2.5-1.9 5.5-3 8.8-3.2-1.1-1.9-3.4-3.2-5.8-4.3-2.3-1-2.8-1.9-2.8-3 0-1 .7-1.9 1.4-2.8 1.4-1.3 2.1-3.1 2.1-5.3.1-4-2.2-7.5-6.4-7.5-2.5 0-4.2 1.3-5.4 3.1 2.9 2.2 4.6 6 4.6 10.3-.1 2.8-.8 5.2-2 7.2zM31.8 34.7l6 6-6 6c-.6.6-.6 1.6 0 2.1l.7.7c.6.6 1.6.6 2.1 0l6-6 6 6c.6.6 1.6.6 2.1 0l.7-.7c.6-.6.6-1.6 0-2.1l-6-6 6-6c.6-.6.6-1.6 0-2.1l-.7-.7c-.6-.6-1.6-.6-2.1 0l-6 6-6-6c-.6-.6-1.6-.6-2.1 0l-.7.7c-.5.5-.5 1.5 0 2.1z\"},{\"d\":\"M28.2 30.7c-1.4-1.4-3.5-2.3-5.6-3.3-2.6-1.1-3-2.2-3-3.3 0-1.1.7-2.3 1.6-3.1 1.5-1.5 2.3-3.6 2.3-6 0-4.5-2.6-8.4-7.2-8.4h-.5c-4.6 0-7.2 3.9-7.2 8.4 0 2.4.8 4.5 2.3 6 .9.8 1.6 1.9 1.6 3.1 0 1.1-.3 2.2-3 3.3-3.8 1.7-7.3 3.4-7.5 7 .2 2.5 1.9 4.4 4.1 4.4h18.6c.5-3.1 1.7-5.9 3.5-8.1z\"}]}},\nleft:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M38 8.3v35.4c0 1-1.3 1.7-2.2.9L14.6 27.3c-.8-.6-.8-1.9 0-2.5L35.8 7.3c.9-.7 2.2-.1 2.2 1z\"}},\nleft_align:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"rect\":[{\"x\":\"2\",\"y\":\"2\",\"width\":\"6.4\",\"height\":\"48\",\"rx\":\"1.6\"},{\"data-name\":\"Rectangle\",\"x\":\"11.6\",\"y\":\"18.8\",\"width\":\"38.4\",\"height\":\"14.16\",\"rx\":\"3.2\"}]},\nleft_align_text:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M48 6.5c0-.8-.7-1.5-1.5-1.5h-41C4.7 5 4 5.7 4 6.5v3c0 .8.7 1.5 1.5 1.5h41c.8 0 1.5-.7 1.5-1.5v-3zM40 18.5c0-.8-.7-1.5-1.5-1.5h-33c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h33c.8 0 1.5-.7 1.5-1.5v-3zM40 42.5c0-.8-.7-1.5-1.5-1.5h-33c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h33c.8 0 1.5-.7 1.5-1.5v-3zM48 30.5c0-.8-.7-1.5-1.5-1.5h-41c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h41c.8 0 1.5-.7 1.5-1.5v-3z\"}},\nlevel_down:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M8 11.9c0-.7-.7-1.5-1.5-1.5h-3c-.8 0-1.5.8-1.5 1.5v16.2c0 .8.8 1.6 1.5 1.6h33.2c.9 0 1.3 1 .7 1.7L31.8 37c-.6.6-.6 1.5 0 2.1l2.1 2.1c.6.6 1.5.6 2.1 0l13.6-13.5c.6-.6.6-1.5 0-2.1L36.1 12.1c-.6-.6-1.5-.6-2.1 0l-2.1 2.1c-.6.6-.6 1.5 0 2.1l5.6 5.6c.6.6.2 1.8-.7 1.8H9.5c-1.6 0-1.5-1.6-1.5-1.6V11.9z\"}},\nlevel_up:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M3.5 44c-.7 0-1.5.7-1.5 1.5v3c0 .8.8 1.5 1.5 1.5h23.9c.8 0 1.6-.8 1.6-1.5V15.3c0-.9 1-1.3 1.7-.7l5.6 5.6c.6.6 1.5.6 2.1 0l2.1-2.1c.6-.6.6-1.5 0-2.1L27 2.4c-.6-.6-1.5-.6-2.1 0L11.4 15.9c-.6.6-.6 1.5 0 2.1l2.1 2.1c.6.6 1.5.6 2.1 0l5.6-5.6c.6-.6 1.8-.2 1.8.7v27.3c0 1.6-1.6 1.5-1.6 1.5H3.5z\"}},\nlight_bulb:{\"path\":{\"d\":\"M24.12 2.69A16.11 16.11 0 009.69 17a15.9 15.9 0 005.85 13.65 4.92 4.92 0 011.87 3.82v.08a4 4 0 004.05 4h9a4 4 0 004.05-4v-.08a4.92 4.92 0 011.87-3.82 15.88 15.88 0 005.93-12.24C42.36 9.09 34 1.68 24.12 2.69zM33 43.16H19a1.56 1.56 0 00-1.56 1.56 4.69 4.69 0 004.68 4.68h7.8a4.69 4.69 0 004.68-4.68 1.56 1.56 0 00-1.6-1.56z\"}},\nlightning_extension:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M47.6 37.6c-.5-.1-1.1-.1-1.6-.2-.1 0-.2-.1-.2-.2-.2-.6-.5-1.2-.7-1.7v-.3c.3-.4.7-.9 1-1.3.2-.3.2-.6-.1-.9l-1.8-1.8c-.1-.1-.3-.2-.4-.2s-.3.1-.4.2c-.4.3-.9.7-1.3 1-.1 0-.1.1-.1.1h-.1c-.6-.2-1.1-.5-1.7-.7-.1 0-.2-.1-.2-.2-.1-.5-.1-1-.2-1.5 0-.3-.1-.5-.4-.7-.1-.1-.2-.1-.2-.1h-2.6c-.2 0-.3 0-.4.1-.2.2-.4.4-.4.7 0 .5-.1 1-.2 1.5 0 .1-.1.2-.2.2-.6.2-1.1.5-1.7.7h-.1c-.1 0-.1 0-.2-.1-.4-.3-.8-.7-1.3-1-.1-.1-.2-.2-.4-.2s-.3.1-.5.2L29.4 33c-.3.3-.3.6-.1.9.3.4.7.8 1 1.3.1.1.1.2 0 .3-.2.6-.5 1.1-.7 1.7 0 .1-.1.2-.2.2-.5.1-1 .1-1.5.2-.3 0-.6.2-.7.5v3c.2.3.4.4.7.5.5 0 1 .1 1.5.2.1 0 .2.1.2.2.2.6.5 1.1.7 1.7 0 .1.1.2 0 .3-.3.4-.7.9-1 1.3-.2.3-.2.6.1.9l1.8 1.8c.2.2.3.2.5.2.1 0 .3-.1.4-.2.4-.3.8-.7 1.3-1 .1 0 .1-.1.2-.1h.1c.6.2 1.1.5 1.7.7.1 0 .2.1.2.2.1.5.1 1.1.2 1.6 0 .4.3.6.7.6H39c.4 0 .6-.2.7-.6.1-.5.1-1.1.2-1.6 0-.1.1-.2.2-.2.6-.2 1.2-.5 1.7-.7h.1s.1 0 .1.1c.4.3.9.7 1.3 1 .1.1.3.2.4.2.2 0 .3-.1.5-.2l1.8-1.8c.3-.3.3-.6.1-.9-.3-.4-.7-.8-1-1.3-.1-.1-.1-.2 0-.3.2-.6.5-1.1.7-1.7 0-.1.1-.2.2-.2.5-.1 1.1-.1 1.6-.2.4 0 .6-.3.6-.7v-2.5c0-.5-.2-.7-.6-.8zm-9.8 6s-.1 0 0 0c-2.3 0-4-1.8-4-4s1.8-4 4-4 4 1.8 4 4c-.1 2.2-1.9 4-4 4zM38.7 20.7c-.2-.8-.8-1.3-1.6-1.3h-9.6c-1.2 0-.6-1-.6-1 .2-.4.4-.7.5-1.1 2.2-4.3 4.3-8.6 6.5-12.9.8-1.2 0-2.4-1.4-2.4H14.6c-.9 0-1.3.3-1.7 1.1-3 7.6-6 15.1-8.9 22.7 0 .2-.1.4-.1.5-.1 1 .6 1.7 1.7 1.7h9.7c.7.1 2.1.4 1.4 2.2-1.2 3.1-2.4 6.1-3.6 9.2-1.2 2.8-2.3 5.6-3.4 8.4-.4 1 0 1.9 1 2.2.7.2 1.2-.1 1.7-.6 4-4.2 8-8.4 12-12.7.5-.5.9-1 1.4-1.5.6-.6.5-1.6.5-1.6 0-1 .3-1.9 1.1-2.7l1.8-1.8c.7-.7 1.6-1.1 2.6-1.1.7 0 1.1-.3 1.3-.4l.1-.1c1.7-1.8 3.5-3.7 5.2-5.5.3-.3.5-.8.3-1.3z\"}},\nlightning_inspector:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M40.9 23.6h-.5v-.8c0-5-4.1-9.1-9.1-9.1-2.4 0-4.5.9-6.1 2.4-1.3-3.4-4.6-5.9-8.5-5.9-5 0-9.1 4.1-9.1 9.1 0 1.7.5 3.2 1.2 4.6-4 1-6.9 4.5-6.9 8.8 0 4.9 3.8 8.8 8.7 9h30.2c5 0 9.1-4.1 9.1-9.1s-4-9-9-9zm-24.6.8l7.8-3.7c.3-.2.8-.2 1.1 0l7.8 3.7c.5.2.5.8 0 1.1l-7.8 3.7c-.3.2-.8.2-1.1 0l-7.8-3.7c-.4-.2-.4-.9 0-1.1zm16.8 9.2l-7.8 3.7c-.3.2-.8.2-1.1 0l-7.8-3.7c-.5-.2-.5-.8 0-1.1l1-.5c.1-.1.3-.1.5 0l6.3 3c.3.2.8.2 1.1 0l6.2-3c.1-.1.3-.1.5 0l1 .5c.5.2.5.9.1 1.1zm0-4l-7.8 3.7c-.3.2-.8.2-1.1 0l-7.8-3.7c-.5-.2-.5-.8 0-1.1l1.1-.5c.1-.1.3-.1.5 0l6.2 3c.3.2.8.2 1.1 0l6.2-3c.1-.1.3-.1.5 0l1.1.5c.4.2.4.8 0 1.1z\"}},\nlike:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M10.5 21h-5c-.8 0-1.5.7-1.5 1.5v23c0 .8.7 1.5 1.5 1.5H8c2.2 0 4-1.8 4-4V22.5c0-.8-.7-1.5-1.5-1.5zM44 22h-6c-2.2 0-4-1.8-4-4V8c0-2.2-1.8-4-4-4h-2.5c-.8 0-1.5.7-1.5 1.5v6c0 5.3-3.7 10.5-8.5 10.5-.8 0-1.5.7-1.5 1.5v20c0 .8.6 1.5 1.4 1.5 6.8.3 9.1 3 16.2 3 7.5 0 14.4-.8 14.4-9.5V26c0-2.2-1.8-4-4-4z\"}}},\nlink:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M27.2 41.7l-2.1-.3c-.7-.1-1.4-.3-2.1-.6-.4-.1-.9 0-1.2.3l-.5.5c-2.9 2.9-7.6 3.2-10.6.6-3.4-2.9-3.5-8.1-.4-11.2l7.6-7.6c1-1 2.2-1.6 3.4-2 1.6-.4 3.3-.3 4.8.3.9.4 1.8.9 2.6 1.7.4.4.7.8 1 1.3.4.7 1.3.8 1.8.2l2.8-2.8c.4-.4.4-1 .1-1.5-.4-.6-.9-1.1-1.4-1.6-.7-.7-1.5-1.4-2.4-1.9-1.4-.9-3-1.5-4.7-1.8-3.1-.6-6.5-.1-9.3 1.4-1.1.6-2.2 1.4-3.1 2.3l-7.3 7.3C.9 31.6.5 40.2 5.6 45.6c5.3 5.8 14.3 5.9 19.8.4l2.5-2.5c.7-.5.2-1.7-.7-1.8z\"},{\"d\":\"M45.6 5.8c-5.5-5.1-14.1-4.7-19.3.6L24 8.6c-.7.7-.2 1.9.7 2 1.4.1 2.8.4 4.2.8.4.1.9 0 1.2-.3l.5-.5c2.9-2.9 7.6-3.2 10.6-.6 3.4 2.9 3.5 8.1.4 11.2L34 28.8c-1 1-2.2 1.6-3.4 2-1.6.4-3.3.3-4.8-.3-.9-.4-1.8-.9-2.6-1.7-.4-.4-.7-.8-1-1.3-.4-.7-1.3-.8-1.8-.2l-2.8 2.8c-.4.4-.4 1-.1 1.5.4.6.9 1.1 1.4 1.6.7.7 1.6 1.4 2.4 1.9 1.4.9 3 1.5 4.6 1.8 3.1.6 6.5.1 9.3-1.4 1.1-.6 2.2-1.4 3.1-2.3l7.6-7.6c5.6-5.5 5.4-14.5-.3-19.8z\"}]}},\nlinked:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M17.3 36.1l-1.1-1.4s-.7-1-.9-1.6c-.2-.3-.5-.5-.9-.5h-.6c-3.5 0-6.5-2.6-6.7-6-.3-3.8 2.8-6.9 6.5-6.9h9.1c1.2 0 2.3.4 3.2.8 1.2.7 2.2 1.8 2.7 3.1.3.8.5 1.6.5 2.6 0 .5-.1.9-.2 1.4-.2.7.3 1.3 1 1.2h3.4c.5 0 .8-.4 1-.8.1-.6.1-1.2.1-1.8 0-.8-.1-1.7-.3-2.6-.3-1.4-.9-2.7-1.7-3.9-1.5-2.2-3.8-4-6.4-4.7-1-.3-2.2-.5-3.2-.5H14c-6.3 0-11.7 4.9-11.9 11.2-.3 6.6 5 12.1 11.6 12.1h3c.7-.1 1.1-1.1.6-1.7zm32.6-10.5c-.2-6.3-5.6-11.3-11.9-11.2l-2.7-.1c-.8 0-1.3 1-.8 1.6.8.9 1.4 1.9 2 3 .2.3.5.5.9.5h.6c3.5 0 6.5 2.6 6.7 6 .3 3.8-2.8 6.9-6.5 6.9h-9.1c-1.2 0-2.3-.4-3.2-.8-1.2-.7-2.2-1.8-2.7-3.1-.3-.8-.5-1.6-.5-2.6 0-.5.1-.9.2-1.4.2-.7-.3-1.3-1-1.2h-3.4c-.5 0-.8.4-1 .8-.1.6-.1 1.2-.1 1.8 0 .8.1 1.8.3 2.6.3 1.4.9 2.7 1.7 3.8 1.5 2.2 3.8 4 6.4 4.7 1 .3 2.2.5 3.2.5h9.1c6.7.3 12-5.2 11.8-11.8z\"}},\nlist:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M8 10.5C8 9.7 7.3 9 6.5 9h-3C2.7 9 2 9.7 2 10.5v3c0 .8.7 1.5 1.5 1.5h3c.8 0 1.5-.7 1.5-1.5v-3zM50 10.5c0-.8-.7-1.5-1.5-1.5h-35c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h35c.8 0 1.5-.7 1.5-1.5v-3zM8 24.5c0-.8-.7-1.5-1.5-1.5h-3c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h3c.8 0 1.5-.7 1.5-1.5v-3zM46 24.5c0-.8-.7-1.5-1.5-1.5h-31c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h31c.8 0 1.5-.7 1.5-1.5v-3zM8 38.5c0-.8-.7-1.5-1.5-1.5h-3c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h3c.8 0 1.5-.7 1.5-1.5v-3zM50 38.5c0-.8-.7-1.5-1.5-1.5h-35c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h35c.8 0 1.5-.7 1.5-1.5v-3z\"}}},\nlisten:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M50.6 30.2C50.6 15.8 39.7 4 26.2 4S1.7 15.8 1.7 30.2c0 3.4.6 6.8 1.8 10 1.4 3.9 4.9 6.7 9.1 6.8 1.2 0 2.2-1 2.2-2.2V32.3c0-1.2-1-2.2-2.2-2.2-2.2 0-4.3.8-5.9 2-.1-.7-.1-1.3-.1-2 0-11.8 8.8-21.3 19.6-21.3s19.6 9.6 19.6 21.3c0 .7 0 1.4-.1 2-1.6-1.3-3.6-2.1-5.9-2.1-1.2 0-2.2 1-2.2 2.2v12.4c0 1.2 1 2.2 2.2 2.2 2.4 0 4.9-.9 6.5-2.7 1.7-1.8 2.5-3.8 3.2-6.2.7-2.4 1.1-5 1.1-7.7z\"}},\nlive_message:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M46 2H22c-2.2 0-4 1.8-4 4v.1c3.6.4 6.9 1.7 9.6 3.8h14.8c.8 0 1.6.8 1.6 1.6v27c0 .8-.8 1.4-1.6 1.4h-17c-.8 0-1.4-.6-1.4-1.4v-.1c0-.1-.1-.3-.2-.3-1.7.8-3.6 1.3-5.5 1.5-.2.2-.3.4-.3.9v5.4c0 2.2 1.7 4 3.9 4h24c2.2 0 4.1-1.8 4.1-4V6c0-2.2-1.8-4-4-4zM34 48c-1.7 0-3-1.3-3-3s1.3-3 3-3 3 1.3 3 3-1.3 3-3 3z\"},{\"d\":\"M2 22.9C2 30 8.3 35.7 15.9 35.8c2.7 0 5.2-.7 7.3-1.9.4-.2.7-.2 1-.1l5 1.9c.5.1.9-.3.8-.8l-1.8-5c-.1-.4-.1-.7.1-1 1.1-1.9 1.7-4 1.7-6.2 0-7-6.2-12.7-14-12.7-7.7 0-13.9 5.7-14 12.9z\"}]},\nlocation:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M48.8 9.5L34.4 2.3c-.7-.3-1.5-.3-2.1 0L19 9 5.6 2.3c-.8-.4-1.8-.4-2.5.1-.7.4-1.1 1.2-1.1 2v36c0 .9.5 1.7 1.3 2.1l14.4 7.2c.7.3 1.5.3 2.1 0L33.2 43l13.3 6.7c.3.2.7.3 1.1.3.4 0 .9-.1 1.3-.4.7-.4 1.1-1.2 1.1-2v-36c0-.9-.4-1.7-1.2-2.1zM45 14.1v19c0 1.1-1 1.9-2 1.5-3.7-1.4-.7-7.6-3.4-11-2.5-3.1-5.7.1-8.8-4.8-2.9-4.7 1-8.1 4.6-9.9.5-.2 1-.2 1.4 0l7.4 3.7c.6.3.8.9.8 1.5zM24.9 41.9c-.6.3-1.3.2-1.8-.2-1-.9-1.8-2.3-1.8-3.7 0-2.4-4-1.6-4-6.4 0-3.9-4.6-4.9-8.5-4.5-1 .1-1.7-.6-1.7-1.6V10.9c0-1.2 1.2-2 2.2-1.4l8.6 4.3c.1 0 .2.1.2.1l.3.2c3.6 2.1 2.9 3.8 1.4 6.4-1.7 2.9-2.4 0-4.8-.8s-4.8.8-4 2.4 3.2 0 4.8 1.6 1.6 4 6.4 2.4 5.6-.8 7.2.8c1.6 1.6 2.4 4.8 0 7.2-1.4 1.4-2 4.4-2.6 6.4-.1.4-.4.8-.8 1l-1.1.4z\"}},\nlocation_permit:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M39.18 11.4l-9.12-9.12a1.1 1.1 0 00-.71-.28 1 1 0 00-1 1v7.26A2.71 2.71 0 0031.06 13h7.26a1 1 0 001-1c.14-.17.14-.31-.14-.6zm.28 7.26A1.42 1.42 0 0038 17.24h-9.65a4.13 4.13 0 01-4.13-4.13V3.42A1.42 1.42 0 0022.8 2H9a4.13 4.13 0 00-4.15 4.13v33.19A4.13 4.13 0 009 43.45h14.1c1.14 0 1.42-.71 1.28-2a13.94 13.94 0 013-10.25c3.42-4 9.12-4.27 10-4.27s2.28 0 2.14-1.29zm-29.77-8l3.42-.43a.14.14 0 00.14-.14L14.82 7a.42.42 0 01.57 0L17 10.12l.14.14 3.42.43a.28.28 0 01.14.43l-2.57 2.56V14l.57 3.42c0 .15-.14.43-.42.29l-3-1.57H15l-3 1.57c-.14.14-.43 0-.43-.29L12 14v-.28l-2.59-2.46a1.09 1.09 0 01.28-.57zm12.54 23.25a1.43 1.43 0 01-1.43 1.42h-9a1.43 1.43 0 01-1.43-1.42v-1.43a1.43 1.43 0 011.43-1.42h9a1.43 1.43 0 011.43 1.42zm7.54-8.41a1.43 1.43 0 01-1.42 1.43H11.83a1.43 1.43 0 01-1.43-1.43v-1.42a1.43 1.43 0 011.43-1.43h16.66a1.43 1.43 0 011.43 1.43v1.42zM37.32 37a2 2 0 102 2 2.14 2.14 0 00-2-2z\"},{\"data-name\":\"Shape\",\"d\":\"M37.32 30.34a9.83 9.83 0 109.83 9.83 10 10 0 00-9.83-9.83zM37.61 46a.44.44 0 01-.61 0c-1-.85-4.42-3.7-4.42-7A4.7 4.7 0 0142 39c-.12 3.31-3.39 6.16-4.39 7z\"}]},\nlock:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M11 19h4c.6 0 1-.3 1-.9V18c0-5.7 4.9-10.4 10.7-10 5.3.4 9.3 5 9.3 10.4v-.3c0 .6.4.9 1 .9h4c.6 0 1-.3 1-.9V18c0-9.1-7.6-16.4-16.8-16-8.5.4-15 7.6-15.2 16.1.1.5.5.9 1 .9zM10 18.1v0zM46 27c0-2.2-1.8-4-4-4H10c-2.2 0-4 1.8-4 4v19c0 2.2 1.8 4 4 4h32c2.2 0 4-1.8 4-4V27zM30.6 42.7c.2.6-.3 1.3-1 1.3h-7.3c-.7 0-1.1-.6-1-1.3l1.8-6c-1.5-1-2.4-2.8-2.1-4.8.4-1.9 1.9-3.4 3.9-3.8 3.2-.6 6 1.7 6 4.7 0 1.6-.8 3.1-2.1 3.9l1.8 6z\"}}},\nlocker_service_api_viewer:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M18 38.5c0 .8.7 1.5 1.5 1.5h2.6c-.1-.7-.1-1.3-.1-2 0-1.4.2-2.7.5-4h-3c-.8 0-1.5.7-1.5 1.5v3zM28.5 14h-9c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h9c.8 0 1.5-.7 1.5-1.5v-3c0-.8-.7-1.5-1.5-1.5zM3.5 10h41c.8 0 1.5-.7 1.5-1.5v-5c0-.8-.7-1.5-1.5-1.5h-41C2.7 2 2 2.7 2 3.5v5c0 .8.7 1.5 1.5 1.5zM44.5 20c.8 0 1.5-.7 1.5-1.5v-3c0-.8-.7-1.5-1.5-1.5h-9c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h9zM18 28.5c0 .8.7 1.5 1.5 1.5h4.6c1.3-2.3 3.2-4.2 5.4-5.6-.3-.3-.6-.4-1-.4h-9c-.8 0-1.5.7-1.5 1.5v3zM12.5 14h-9c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h9c.8 0 1.5-.7 1.5-1.5v-3c0-.8-.7-1.5-1.5-1.5zM23.1 44h-3.6c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h7.9c-1.9-1.6-3.3-3.7-4.3-6zM12.5 34h-9c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h9c.8 0 1.5-.7 1.5-1.5v-3c0-.8-.7-1.5-1.5-1.5zM12.5 44h-9c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h9c.8 0 1.5-.7 1.5-1.5v-3c0-.8-.7-1.5-1.5-1.5zM12.5 24h-9c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h9c.8 0 1.5-.7 1.5-1.5v-3c0-.8-.7-1.5-1.5-1.5zM37.9 26.1c-6.6 0-12 5.4-12 12s5.4 12 12 12 12-5.4 12-12-5.4-12-12-12zm7.9 8.5l-9.6 9.7c-.2.2-.5.2-.7 0l-5.6-5.6c-.2-.2-.2-.5 0-.7l2.1-2.1c.2-.2.5-.2.7 0l2.9 2.9c.1.1.4.1.5 0l6.9-7c.2-.2.5-.2.7 0l2.1 2.1c.3.2.3.5 0 .7z\"}}},\nlocker_service_console:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M47.7 9.1c-.9-2.2-2-4.2-3.3-6.1-.6-.8-1.7-.9-2.3-.2-1.9 1.8-4.6 2.8-7.4 2.8-3 0-5.7-1.2-7.7-3.2-.6-.6-1.6-.6-2.2 0-2 2-4.7 3.2-7.7 3.2-2.8 0-5.4-1-7.4-2.8-.7-.6-1.8-.5-2.3.2C6.1 4.8 5 6.9 4.1 9.1c0 0-2.4 4.9-2 13V22.9c0 .4.1.8.1 1.2v.1C3.6 37.6 13.5 48.3 26 50c12.6-1.8 22.4-12.5 23.8-25.9v-.3c0-.2 0-.5.1-.8.7-8.6-2.2-13.9-2.2-13.9zm-6.8 10.3L24.3 36.3c-.4.4-.9.4-1.3 0l-9.7-9.8c-.4-.4-.4-.9 0-1.3l1.3-1.3c.4-.4.9-.4 1.3 0l7.3 7.4c.2.2.6.2.9 0l14.3-14.4c.4-.4.9-.4 1.3 0l1.3 1.3c.3.3.3.9-.1 1.2z\"}},\nlog_a_call:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M43 2H13.5c-2.6 0-4.8 2.4-4.8 4.8v1.6H7.1C5.4 8.4 4 9.8 4 11.6s1.4 3.2 3.1 3.2h1.6v8H7.1C5.4 22.8 4 24.2 4 26s1.4 3.2 3.1 3.2h1.6v8H7.1c-1.7 0-3.1 1.4-3.1 3.2 0 1.8 1.4 3.2 3.1 3.2h1.6v1.6c0 2.4 2.2 4.8 4.8 4.8H43c2.6 0 5-2.4 5-5V6.6C48 3.9 45.6 2 43 2zm-2.8 32.2L38 36.5c-.5.5-1.2.8-1.8.7-5.2-.3-10-2.7-13.5-6.2s-5.8-8.5-6.1-13.8c0-.7.2-1.4.7-1.8l2.2-2.2c1-1 2.7-1 3.6.2l2 2.6c.7.9.7 2.1.1 3l-1.7 2.5c-.2.3-.2.8.1 1l3.6 4.1 4 3.7c.3.3.7.3 1 .1l2.4-1.8c.9-.6 2.1-.6 3 .1l2.5 2.1c1.1.6 1.1 2.4.1 3.4z\"}},\nlogout:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M21 48.5v-3c0-.8-.7-1.5-1.5-1.5h-10c-.8 0-1.5-.7-1.5-1.5v-33C8 8.7 8.7 8 9.5 8h10c.8 0 1.5-.7 1.5-1.5v-3c0-.8-.7-1.5-1.5-1.5H6C3.8 2 2 3.8 2 6v40c0 2.2 1.8 4 4 4h13.5c.8 0 1.5-.7 1.5-1.5z\"},{\"d\":\"M49.6 27c.6-.6.6-1.5 0-2.1L36.1 11.4c-.6-.6-1.5-.6-2.1 0l-2.1 2.1c-.6.6-.6 1.5 0 2.1l5.6 5.6c.6.6.2 1.7-.7 1.7H15.5c-.8 0-1.5.6-1.5 1.4v3c0 .8.7 1.6 1.5 1.6h21.2c.9 0 1.3 1.1.7 1.7l-5.6 5.6c-.6.6-.6 1.5 0 2.1l2.1 2.1c.6.6 1.5.6 2.1 0L49.6 27z\"}]}},\nloop:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M47.2 32.6c0 .1 0 .1-.1.2-.3.9-.5 1.8-.9 2.6-.4.9-.8 1.9-1.3 2.7-1 1.8-2.2 3.4-3.6 4.8s-3 2.7-4.7 3.7c-1.7 1-3.6 1.9-5.6 2.4-2 .6-4.1.8-6.2.8C12.3 50 2 39.7 2 27.1S12.3 4.2 24.9 4.2c4.3 0 8.3 1.2 11.7 3.2 1.7 1 3.2 2.2 4.5 3.5.4.3.7.6 1 1 .8.6 1.3.2 1.3-.8V3.6c0-.8.8-1.6 1.6-1.6h3.2c.9 0 1.6.8 1.7 1.6v19.6c0 .8-.6 1.4-1.4 1.4H28.9c-.9 0-1.5-.6-1.5-1.5v-3.3c0-.9.8-1.6 1.6-1.6h7.5c.6 0 1.2-.2 1.4-.5-2.9-4-7.6-6.6-13-6.6-8.9 0-16 7.2-16 16s7.2 16 16 16c7 0 12.9-4.4 15.1-10.6 0 0 .3-1.4 1.4-1.4H46c.7 0 1.3.5 1.3 1.2-.1.1-.1.2-.1.3z\"}},\nlower_flag:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M6.6 2h-3c-.8 0-1.5.7-1.5 1.5v45c0 .8.7 1.5 1.5 1.5h3c.8 0 1.5-.7 1.5-1.5v-45c0-.8-.7-1.5-1.5-1.5zM40.6 24.6c2.7 0 5.2.7 7.5 1.9V6.6c0-.7-.8-1.2-1.5-.8-16 8.4-14.2-8.8-33.5-2.1-.6.2-1 .8-1 1.4v23.3c0 .7.7 1.2 1.3.9 7.7-2.6 11.9-1.3 15.4.6 2.9-3.3 7.1-5.3 11.8-5.3zM31.8 34.6l6 6-6 6c-.6.6-.6 1.6 0 2.1l.7.7c.6.6 1.6.6 2.1 0l6-6 6 6c.6.6 1.6.6 2.1 0l.7-.7c.6-.6.6-1.6 0-2.1l-6-6 6-6c.6-.6.6-1.6 0-2.1l-.7-.7c-.6-.6-1.6-.6-2.1 0l-6 6-6-6c-.6-.6-1.6-.6-2.1 0l-.7.7c-.6.5-.6 1.5 0 2.1z\"}},\nmacros:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M37.2 40.2c-.2.4-.6.5-1 .5h-4.7c-.4 0-.7-.3-.7-.7 0-.1.1-.3.1-.4l.1-.1.2-.2 10.3-12.5c.3-.4.4-1 .2-1.4 0-.1-.1-.2-.1-.2L30.9 12.5c-.1-.1-.1-.3-.1-.4 0-.4.4-.7.7-.7h4.7c.4 0 .8.1 1 .5l11.1 13.4c.2.2.2.5.2.7 0 .3-.1.6-.2.8L37.2 40.2z\"},{\"d\":\"M25.6 40.2c-.2.4-.6.5-1 .5h-4.7c-.4 0-.7-.3-.7-.7 0-.1.1-.3.1-.4l.1-.1.2-.2 10.3-12.5c.3-.4.4-1 .2-1.4 0-.1-.1-.2-.1-.2L19.3 12.5c-.1-.1-.1-.3-.1-.4 0-.4.4-.7.7-.7h4.7c.4 0 .8.1 1 .5l11.1 13.4c.2.2.2.5.2.7 0 .3-.1.6-.2.8L25.6 40.2z\"},{\"d\":\"M14 40.2c-.2.4-.6.5-1 .5H4.2c-.4 0-.7-.3-.7-.7 0-.1.1-.3.1-.4l.1-.1.2-.2 10.3-12.5c.3-.4.4-1 .2-1.4 0-.1-.1-.2-.1-.2L3.6 12.5c-.1-.1-.1-.3-.1-.4 0-.4.4-.7.7-.7h8.7c.4 0 .8.1 1 .5L25 25.3c.2.2.2.5.2.7 0 .3-.1.6-.2.8L14 40.2z\"}]},\nmagicwand:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M28.2 21c-.4-.4-1-.4-1.4 0L2.9 44.9c-1.2 1.2-1.2 3 0 4.2 1.2 1.2 3 1.2 4.2 0L31 25.2c.4-.4.4-1 0-1.4L28.2 21zM35.2 21l3.2-3.2c.6-.6.6-1.5 0-2.1l-2.1-2.1c-.6-.6-1.5-.6-2.1 0L31 16.8c-.4.4-.4 1 0 1.4l2.8 2.8c.4.4 1 .4 1.4 0zM10.4 11.6c3.8 1.2 6.8 4.1 8 8 .2.6 1 .6 1.2 0 1.2-3.8 4.1-6.8 8-8 .6-.2.6-1 0-1.2-3.8-1.2-6.8-4.1-8-8-.2-.6-1-.6-1.2 0-1.2 3.8-4.1 6.8-8 8-.5.2-.5 1 0 1.2zM49.6 30.5c-3.4-1.1-6-3.7-7.1-7.1-.2-.5-.9-.5-1.1 0-1.1 3.4-3.7 6-7.1 7.1-.5.2-.5.9 0 1.1 3.4 1.1 6 3.7 7.1 7.1.2.5.9.5 1.1 0 1.1-3.4 3.7-6 7.1-7.1.5-.2.5-1 0-1.1zM38.3 8.4c2.6.8 4.5 2.7 5.3 5.3.1.4.7.4.8 0 .8-2.6 2.7-4.5 5.3-5.3.4-.1.4-.7 0-.8-2.6-.8-4.5-2.7-5.3-5.3-.1-.4-.7-.4-.8 0-.8 2.6-2.7 4.5-5.3 5.3-.4.1-.4.7 0 .8z\"}}},\nmark_all_as_read:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M24 7l-1.7-1.7c-.5-.5-1.2-.5-1.7 0L10 15.8l-4.3-4.2c-.5-.5-1.2-.5-1.7 0l-1.7 1.7c-.5.5-.5 1.2 0 1.7l5.9 5.9c.5.5 1.1.7 1.7.7.6 0 1.2-.2 1.7-.7L24 8.7c.4-.4.4-1.2 0-1.7zM48.4 18.4H27.5c-.9 0-1.6-.7-1.6-1.6v-3.2c0-.9.7-1.6 1.6-1.6h20.9c.9 0 1.6.7 1.6 1.6v3.2c0 .9-.7 1.6-1.6 1.6zM48.4 32.7H9.8c-.9 0-1.6-.7-1.6-1.6v-3.2c0-.9.7-1.6 1.6-1.6h38.6c.9 0 1.6.7 1.6 1.6v3.2c0 .9-.7 1.6-1.6 1.6zM48.4 47H9.8c-.9 0-1.6-.7-1.6-1.6v-3.2c0-.9.7-1.6 1.6-1.6h38.6c.9 0 1.6.7 1.6 1.6v3.2c0 .9-.7 1.6-1.6 1.6z\"}},\nmatrix:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M48 3.5c0-.8-.7-1.5-1.5-1.5h-31c-.8 0-1.5.7-1.5 1.5v5c0 .8.7 1.5 1.5 1.5h31c.8 0 1.5-.7 1.5-1.5v-5zM10 15.5c0-.8-.7-1.5-1.5-1.5h-3c-.8 0-1.5.7-1.5 1.5v13c0 .8.7 1.5 1.5 1.5h3c.8 0 1.5-.7 1.5-1.5v-13zM10 35.5c0-.8-.7-1.5-1.5-1.5h-3c-.8 0-1.5.7-1.5 1.5v13c0 .8.7 1.5 1.5 1.5h3c.8 0 1.5-.7 1.5-1.5v-13zM29 15.5c0-.8-.7-1.5-1.5-1.5h-12c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h12c.8 0 1.5-.7 1.5-1.5v-3zM48 15.5c0-.8-.7-1.5-1.5-1.5h-12c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h12c.8 0 1.5-.7 1.5-1.5v-3zM29 25.5c0-.8-.7-1.5-1.5-1.5h-12c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h12c.8 0 1.5-.7 1.5-1.5v-3zM48 25.5c0-.8-.7-1.5-1.5-1.5h-12c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h12c.8 0 1.5-.7 1.5-1.5v-3zM29 35.5c0-.8-.7-1.5-1.5-1.5h-12c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h12c.8 0 1.5-.7 1.5-1.5v-3zM48 35.5c0-.8-.7-1.5-1.5-1.5h-12c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h12c.8 0 1.5-.7 1.5-1.5v-3zM29 45.5c0-.8-.7-1.5-1.5-1.5h-12c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h12c.8 0 1.5-.7 1.5-1.5v-3zM48 45.5c0-.8-.7-1.5-1.5-1.5h-12c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h12c.8 0 1.5-.7 1.5-1.5v-3z\"}},\nmeet_content_source:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M46.31 7.54H5.69A3.69 3.69 0 002 11.23v29.54a3.69 3.69 0 003.69 3.69h40.62A3.69 3.69 0 0050 40.77V11.23a3.69 3.69 0 00-3.69-3.69zm0 32.31a.93.93 0 01-.93.92H6.62a.93.93 0 01-.93-.92V14a.93.93 0 01.93-.92h38.76a.93.93 0 01.93.92z\"},{\"d\":\"M26.52 17a.7.7 0 00-1-.1.47.47 0 00-.1.1l-6.57 7.12a.88.88 0 000 1.19L20 26.52a.71.71 0 001 .1l.1-.1 2.42-2.61a.57.57 0 01.81 0 .56.56 0 01.15.37v10.16a.8.8 0 00.72.85h1.59a.87.87 0 00.83-.85V24.26a.53.53 0 01.9-.4l2.42 2.66a.87.87 0 001.15 0l1.1-1.18a.88.88 0 000-1.19z\"}]}},\nmeet_focus_content:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M9.9 27.41a4.29 4.29 0 014.29 4.29v.38a4.47 4.47 0 01-1.42 3.35 2.48 2.48 0 00-.94 1.81c0 .58.24 1.16 1.5 1.81l1.29.58c1.81.89 3.39 1.81 3.44 3.62A2.39 2.39 0 0116 45.52H4.05a2.39 2.39 0 01-2.3-2.45c0-1.72 1.59-2.73 3.44-3.62l.67-.29.33-.16C7.76 38.35 8 37.78 8 37.2a2.73 2.73 0 00-.94-1.81A4.46 4.46 0 015.64 32a4.3 4.3 0 013.94-4.62zM46.13 7.48a3.62 3.62 0 013.62 3.62v27.17a3.63 3.63 0 01-3.62 3.63H20.64A5.43 5.43 0 0018 38.27h27.15a.9.9 0 00.9-.9V13.82a.9.9 0 00-.9-.9H8.92a.9.9 0 00-.9.9H8v11.09a6.51 6.51 0 00-3.63 2.37V11.1A3.63 3.63 0 018 7.48z\",\"fill-rule\":\"evenodd\"}},\nmeet_focus_equal:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M46.31 11.23A3.69 3.69 0 0150 14.92v22.16a3.69 3.69 0 01-3.69 3.69H19.43a5.65 5.65 0 005.28-3.69h20.67a.93.93 0 00.93-.93V17.69a.93.93 0 00-.93-.92H19a7.75 7.75 0 00-6.8-3.69h-.42a3.7 3.7 0 013.19-1.85zm-34.16 4.62a5.28 5.28 0 015.34 5.22 4.18 4.18 0 010 .5 5.44 5.44 0 01-1.75 4.1 2.94 2.94 0 00-1.18 2.18c0 .7.31 1.4 1.84 2.16l1.07.48.7.33.69.33c1.84 1 3.36 2.16 3.41 3.93a2.93 2.93 0 01-2.6 3H4.88a2.92 2.92 0 01-2.88-3V35c0-2 1.74-3.18 3.82-4.17l.67-.3 1-.44c2-.83 2.23-1.52 2.23-2.33a3.25 3.25 0 00-1.18-2.1 5.41 5.41 0 01-1.84-4.1 5.28 5.28 0 014.81-5.71 5.86 5.86 0 01.64 0z\",\"fill-rule\":\"evenodd\"}},\nmeet_focus_presenter:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"fill-rule\":\"evenodd\",\"path\":{\"d\":\"M47.6 27.92H32.27a2.86 2.86 0 00-2.87 2.87v11.5a2.87 2.87 0 002.87 2.88H47.6a2.88 2.88 0 002.88-2.88v-11.5a2.87 2.87 0 00-2.88-2.87zm1 14.37a1 1 0 01-1 1H32.27a1 1 0 01-1-1v-9.58a1 1 0 011-1H47.6a1 1 0 011 1zM27.48 16.74c0-5.31-3.13-9.91-8.63-9.91s-8.62 4.6-8.62 9.91a9.71 9.71 0 002.82 7.08A5.71 5.71 0 0115 27.48c0 1.41-.46 2.58-3.6 4-4.49 2-8.76 4.26-8.87 8.49a4.91 4.91 0 004.64 5.19h20.12a5.73 5.73 0 01-.77-2.88V31.6l-.25-.12c-3-1.42-3.6-2.7-3.6-4a5.27 5.27 0 011.91-3.66 9.75 9.75 0 002.9-7.08z\"}}},\nmeet_present_panel:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M31.54 4H10.17a4.15 4.15 0 00-4 3.93H4.82a2.69 2.69 0 00-2.69 2.68 2.62 2.62 0 002.67 2.53h1.34v5.33H4.82a2.62 2.62 0 10-.44 5.23 1.62 1.62 0 00.44 0h1.32V29H4.82a2.68 2.68 0 00-2.69 2.65 2.63 2.63 0 002.63 2.63h1.38a3.67 3.67 0 003.39 3.94 3.42 3.42 0 00.64 0H26V37a13.46 13.46 0 019.56-13V7.88A4 4 0 0031.54 4zm-8.62 25.68A1.35 1.35 0 0121.53 31H13.6a1.36 1.36 0 01-1.43-1.29v-1.34a1.37 1.37 0 011.41-1.31h7.91a1.35 1.35 0 011.43 1.28v1.33zm5.14-7.94c0 .73-.77 1.3-1.83 1.3h-12.3c-1 0-1.83-.57-1.83-1.3v-1.25c0-.74.77-1.31 1.83-1.31H26.3c1 0 1.84.57 1.84 1.31zm3.15-7.94a1.45 1.45 0 01-1.58 1.3H13.75a1.45 1.45 0 01-1.58-1.3v-1.31a1.45 1.45 0 011.57-1.32h16a1.45 1.45 0 011.58 1.31zM49.77 32.23a1.3 1.3 0 00-1.23-1.32H37.9a1.3 1.3 0 00-.9.36 1.34 1.34 0 00-.37.74v1.52a1.27 1.27 0 001.23 1.31h5.51l-9.74 10a1.34 1.34 0 000 1.84l.89.92a1.34 1.34 0 001 .4 1.18 1.18 0 00.83-.35l9.74-10.05v5.51a1.3 1.3 0 00.36.94 1.24 1.24 0 00.9.39h1.36a1.21 1.21 0 00.92-.37 1.36 1.36 0 00.37-.7v-.17z\"}}},\nmerge:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M42.3 44c-5.6-2.7-9.6-7.5-11.6-13-.8-2-1.3-4.3-1.5-6.3v-3.5H40c.8 0 1.4-.9.8-1.8l-14.2-17c-.5-.6-1.6-.6-2 0l-13.8 17c-.5.6 0 1.8.8 1.8h10.9v3.5c-.3 2.1-.8 4.4-1.5 6.3-2 5.5-6 10.3-11.6 13-.8.3-1.1 1.3-.8 2l1.3 3.1c.4.8 1.3 1.1 2.1.6 6-2.9 10.8-7.5 13.7-13 3 5.5 7.7 10.1 13.8 13 .8.4 1.8.3 2.1-.6l1.3-3.1c.6-.7.2-1.6-.6-2z\"}},\nmerge_field:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M16.5 39.9h-.7c-2.3 0-3.2-1.3-3.2-3.5 0-1 .1-1.9.3-2.9.2-1 .3-2 .3-3.1 0-2.6-1.1-4-2.9-4.4 1.8-.5 2.9-1.8 2.9-4.4 0-1.1-.1-2.1-.3-3.1-.2-1-.3-1.9-.3-2.9 0-2.2.8-3.5 3.2-3.5h.7c.6 0 1.1-.5 1.1-1.1 0-.6-.5-1.1-1.1-1.1h-3.8c-3.4 0-5.9 1.6-5.9 5.3 0 1.1.2 2.2.3 3.4.2 1.1.3 2.3.3 3.4 0 1.3-.3 2.7-2.5 2.9h-.1c-.6 0-1.1.5-1.1 1.1s.5 1 1.1 1.1H5c2.2.3 2.5 1.8 2.5 2.9 0 1.1-.2 2.2-.3 3.3s-.3 2.2-.3 3.3c0 4.1 2.5 5.5 5.9 5.5h3.8c.6 0 1.1-.5 1.1-1.1-.1-.6-.6-1.1-1.2-1.1zM35.5 39.9h.7c2.3 0 3.2-1.3 3.2-3.5 0-1-.1-1.9-.3-2.9-.2-1-.3-2-.3-3.1 0-2.6 1.1-4 2.9-4.4-1.8-.5-2.9-1.8-2.9-4.4 0-1.1.1-2.1.3-3.1.2-1 .3-1.9.3-2.9 0-2.2-.8-3.5-3.2-3.5h-.7c-.6 0-1.1-.5-1.1-1.1 0-.6.5-1.1 1.1-1.1h3.8c3.4 0 5.9 1.6 5.9 5.3 0 1.1-.2 2.2-.3 3.4-.2 1.1-.3 2.3-.3 3.4 0 1.3.3 2.7 2.5 2.9h.1c.6 0 1.1.5 1.1 1.1s-.5 1-1.1 1.1H47c-2.2.3-2.5 1.8-2.5 2.9 0 1.1.2 2.2.3 3.3s.3 2.2.3 3.3c0 4.1-2.5 5.5-5.9 5.5h-3.8c-.6 0-1.1-.5-1.1-1.1.1-.6.6-1.1 1.2-1.1z\"}},\nmetrics:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M44.9 2H7.1C4.3 2 2 4.3 2 7.1v37.7C2 47.7 4.3 50 7.1 50h37.7c2.8 0 5.1-2.3 5.1-5.1V7.1c.1-2.8-2.2-5.1-5-5.1zM15.7 39.7c0 .9-.8 1.7-1.7 1.7h-1.7c-.9 0-1.7-.8-1.7-1.7v-9.4c0-.9.8-1.7 1.7-1.7H14c.9 0 1.7.8 1.7 1.7v9.4zm8.6 0c0 .9-.8 1.7-1.7 1.7h-1.7c-.9 0-1.7-.8-1.7-1.7V17.4c0-.9.8-1.7 1.7-1.7h1.7c.9 0 1.7.8 1.7 1.7v22.3zm8.6 0c0 .9-.8 1.7-1.7 1.7h-1.7c-.9 0-1.7-.8-1.7-1.7V12.3c0-.9.8-1.7 1.7-1.7h1.7c.9 0 1.7.8 1.7 1.7v27.4zm8.5 0c0 .9-.8 1.7-1.7 1.7H38c-.9 0-1.7-.8-1.7-1.7V23.4c0-.9.8-1.7 1.7-1.7h1.7c.9 0 1.7.8 1.7 1.7v16.3z\"}},\nmiddle_align:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"rect\":[{\"x\":\"22\",\"y\":\"2\",\"width\":\"6.4\",\"height\":\"48\",\"rx\":\"1.6\"},{\"data-name\":\"Rectangle\",\"x\":\"2\",\"y\":\"19\",\"width\":\"48\",\"height\":\"14.4\",\"rx\":\"3.2\"}]},\nminimize_window:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M50 48.5c0 .8-.7 1.5-1.5 1.5h-45c-.8 0-1.5-.7-1.5-1.5v-3c0-.8.7-1.5 1.5-1.5h45c.8 0 1.5.7 1.5 1.5v3z\"}},\nmissed_call:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M34.7 40.3c.7 0 1.2.5 1.4 1.1l.8 5.4c.2 1.5 1.4 2.6 2.9 2.8l6.5.7c2 .2 3.7-1.3 3.7-3.3v-6.2c0-1-.4-1.8-1.1-2.5-6.4-5.8-14.9-8.8-23-8.8s-16.6 3-23 8.8c-.6.6-.9 1.6-.9 2.5V47c-.2 2 1.5 3.6 3.5 3.3l6.5-.7c1.5-.2 2.7-1.3 2.9-2.8l.8-5.4c.1-.7.7-1.1 1.4-1.1 0 0 8.4-.7 17.6 0zM39.7 12.6c.5-.5 1.4-.1 1.4.6v6.7c0 .7.5 1.2 1.2 1.2h2.5c.7 0 1.2-.5 1.2-1.2l.1-16.1c0-.7-.5-1.2-1.2-1.2h-16c-.7 0-1.2.5-1.2 1.2v2.5c0 .7.5 1.2 1.2 1.2h6.7c.7 0 1.1.9.6 1.4l-9.4 9.4c-.3.3-.9.3-1.3 0L10.1 3c-.5-.5-1.3-.5-1.8 0L6.4 4.8c-.5.5-.5 1.3 0 1.9l18.8 18.9c.5.6 1.3.6 1.9 0l12.6-13z\"}},\nmoney:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M30.1 26.1c0-2.3 1.4-4.3 3.3-5.3-.3-3.9-3.5-6.9-7.5-6.9-4.1 0-7.5 3.4-7.5 7.5s3.4 7.5 7.5 7.5c1.5 0 3-.5 4.1-1.3v-1.5z\"},{\"d\":\"M30.1 36.4v-1.9c0-.7.1-1.3.3-1.9H12.8c0-2.9-2.3-5.3-5.3-5.3V16.1c2.9 0 5.3-2.3 5.3-5.3h26.3c0 2.9 2.3 5.3 5.3 5.3v4h3.8c.7 0 1.3.1 1.9.3V9.7c0-2.5-2-4.5-4.5-4.5H6.5C4 5.2 2 7.2 2 9.7v24.2c0 2.5 2 4.5 4.5 4.5h24c-.2-.6-.4-1.3-.4-2zM50 44.9c0 1-1 1.9-2 1.9H36c-1 0-1.9-.9-1.9-1.9V43c0-1 .9-1.9 1.9-1.9h12.1c1 0 1.9.9 1.9 1.9v1.9z\"},{\"d\":\"M50 36.5c0 1-1 1.9-2 1.9H36c-1 0-1.9-.9-1.9-1.9v-1.9c0-1 .9-1.9 1.9-1.9h12.1c1 0 1.9.9 1.9 1.9v1.9zM50 28c0 1-1 1.9-2 1.9H36c-1 0-1.9-.9-1.9-1.9v-1.9c0-1 .9-1.9 1.9-1.9h12.1c1 0 1.9.9 1.9 1.9V28z\"}]},\nmoneybag:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M20.5 9.1c.2.6.8.9 1.4.9H30c.6 0 1.2-.3 1.4-.9l3.2-5.9c.2-.6-.2-1.2-.8-1.2H18.2c-.6 0-1 .6-.7 1.1l3 6zM30.7 14.7h-9.4C13.4 14.7 7 21.2 7 29.2v16c0 2.6 2.1 4.8 4.8 4.8h28.4c2.6 0 4.8-2.2 4.8-4.8v-16c0-8-6.5-14.5-14.3-14.5zm-2.3 27v2.7c0 .5-.5.8-1 .8h-3.2c-.5 0-.6-.3-.6-.8v-2.6c-2.4-.5-4.4-1.5-4.9-2-.6-.6-.8-1.1-.3-1.8l1-1.6c.2-.4.7-.6 1.2-.6.3 0 .6.1.8.2h.1c1.6 1 3 1.4 4 1.4 1.1 0 2-.6 2-1.2 0-.5-.3-1.3-3.3-2.3-2.7-1-6-2.6-6-6.3 0-2.2 1.4-4.7 5.4-5.5v-2.4c0-.5.2-.8.6-.8h3.2c.5 0 1 .3 1 .8V22c1.6.4 3.3 1.2 3.9 1.6.3.2.5.6.6 1 .1.4-.1.8-.3 1L31.2 27c-.3.4-.9.7-1.3.7-.2 0-.5-.1-.7-.2-1.6-.9-2.9-1.4-3.8-1.4-1.3 0-1.9.6-1.9 1 0 .6.3 1.2 3 2.2 3.3 1.1 7 2.9 7 6.7.1 2.6-2 4.9-5.1 5.7z\"}},\nmonthlyview:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M44 7h-5V5c0-1.6-1.3-3-3-3-1.6 0-3 1.3-3 3v2H19V5c0-1.6-1.3-3-3-3-1.6 0-3 1.3-3 3v2H8c-2.2 0-4 1.8-4 4v2.5c0 .8.7 1.5 1.5 1.5h41c.8 0 1.5-.7 1.5-1.5V11c0-2.2-1.8-4-4-4zM46.5 20h-41c-.8 0-1.5.7-1.5 1.5V46c0 2.2 1.8 4 4 4h36c2.2 0 4-1.8 4-4V21.5c0-.8-.7-1.5-1.5-1.5zM21.1 44c-2.4 0-5.1-.9-5.9-2.2-.1-.2-.2-.4-.2-.7 0-.9.8-1.6 1.6-1.6.3 0 .6.1.9.2 1.1.6 2.4 1 3.5 1 2 0 3.1-.9 3.1-2.1 0-1.3-1-1.9-3.3-1.9-1.3.2-2.2-.4-2.2-1.6 0-.9.6-1.5 1.6-1.5 2.1.1 3.6-.4 3.6-1.8 0-1.3-1.3-1.9-3-1.9-1.1 0-2.2.3-3.2.9-.2.2-.5.2-.8.2-.8 0-1.5-.6-1.5-1.5 0-.4.2-.8.5-1.1 1.3-1.1 3.1-1.8 5.4-1.8 3.8 0 6.2 1.7 6.2 4.5 0 2.1-1.8 3.4-3.6 3.8 1.7.2 3.8 1.5 3.8 3.9C27.5 42 25 44 21.1 44zM37 42.1c0 .9-.5 1.9-1.5 1.9-.9 0-1.5-.9-1.5-1.9V31.8l-2.1 1.9c-.3.3-.7.4-1.1.4-.8 0-1.5-.6-1.5-1.5 0-.4.1-.7.4-1l3.8-3.8c.4-.4.9-.7 1.5-.7 1.1 0 2 1 2 2.1v12.9z\"}},\nmove:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M49.7 25.3l-8.3-9c-.6-.6-1.4-.1-1.4.9V23H30c-.6 0-1-.4-1-1V12h5.9c1 0 1.5-.9.9-1.4l-9-8.3c-.4-.3-1-.3-1.4 0l-9 8.3c-.6.6-.1 1.4.9 1.4H23v10c0 .6-.4 1-1 1H12v-5.9c0-1-.9-1.5-1.4-.9l-8.3 9c-.3.4-.3 1 0 1.4l8.3 9c.6.6 1.4.1 1.4-.9V29h10c.6 0 1 .4 1 1v10h-5.9c-1 0-1.5.9-.9 1.4l9 8.3c.4.3 1 .3 1.4 0l9-8.3c.6-.6.1-1.4-.9-1.4H29V30c0-.6.4-1 1-1h10v5.9c0 1 .9 1.5 1.4.9l8.3-9c.4-.5.4-1.1 0-1.5z\"}},\nmulti_picklist:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M44.4 2H18.8C16.2 2 14 4.2 14 6.8v.8c0 .5.3.8.8.8H38c2.6 0 4.8 2.2 4.8 4.8V38c0 .5.3.8.8.8h.8c2.6 0 4.8-2.2 4.8-4.8V6.8C49.2 4.2 47 2 44.4 2z\"},{\"d\":\"M33.2 13.2H7.6c-2.6 0-4.8 2.2-4.8 4.8v27.2C2.8 47.8 5 50 7.6 50h25.6c2.6 0 4.8-2.2 4.8-4.8V18c0-2.6-2.2-4.8-4.8-4.8zM14 42c0 .9-.7 1.6-1.6 1.6h-1.6c-.9 0-1.6-.7-1.6-1.6v-1.6c0-.9.7-1.6 1.6-1.6h1.6c.9 0 1.6.7 1.6 1.6V42zm0-9.6c0 .9-.7 1.6-1.6 1.6h-1.6c-.9 0-1.6-.7-1.6-1.6v-1.6c0-.9.7-1.6 1.6-1.6h1.6c.9 0 1.6.7 1.6 1.6v1.6zm0-9.6c0 .9-.7 1.6-1.6 1.6h-1.6c-.9 0-1.6-.7-1.6-1.6v-1.6c0-.9.7-1.6 1.6-1.6h1.6c.9 0 1.6.7 1.6 1.6v1.6zM31.6 42c0 .9-.7 1.6-1.6 1.6H18.9c-.9 0-1.6-.7-1.6-1.6v-1.6c0-.9.7-1.6 1.6-1.6H30c.9 0 1.6.7 1.6 1.6V42zm0-9.6c0 .9-.7 1.6-1.6 1.6H18.9c-.9 0-1.6-.7-1.6-1.6v-1.6c0-.9.7-1.6 1.6-1.6H30c.9 0 1.6.7 1.6 1.6v1.6zm0-9.6c0 .9-.7 1.6-1.6 1.6H18.9c-.9 0-1.6-.7-1.6-1.6v-1.6c0-.9.7-1.6 1.6-1.6H30c.9 0 1.6.7 1.6 1.6v1.6z\"}]},\nmulti_select_checkbox:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M44 2.5H19c-2.6 0-4.7 2.1-4.7 4.7V8c0 .5.3.8.8.8h22.7c2.6 0 4.7 2.1 4.7 4.7v24.3c0 .5.3.8.8.8h.7c2.6 0 4.7-2.1 4.7-4.7V7.2c0-2.6-2.1-4.7-4.7-4.7z\"},{\"d\":\"M33 13.5H8c-2.6 0-4.7 2.1-4.7 4.7v26.6c0 2.6 2.1 4.7 4.7 4.7h25c2.6 0 4.7-2.1 4.7-4.7V18.2c.1-2.6-2.1-4.7-4.7-4.7zm-2 13.3l-12 12c-.5.5-1 .7-1.6.7-.5 0-1.2-.2-1.6-.7L10 33c-.5-.5-.5-1.2 0-1.6l1.6-1.6c.5-.5 1.2-.5 1.6 0l4.2 4.2 10.3-10.3c.5-.5 1.2-.5 1.6 0l1.6 1.6c.5.3.5 1.1.1 1.5z\"}]},\nmuted:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M48.5 5.6l-2.1-2.1c-.6-.6-1.7-.5-2.4.3l-10 10V9.9C34 5.5 30.5 2 26.1 2h-.2C21.5 2 18 5.5 18 9.9v14.5c0 1.5.4 3 1.2 4.2l-3.5 3.5C14 30 13 27.3 13 24.4v-4c0-1.4-1.1-2.4-2.5-2.4S8 19 8 20.4v4c0 4.3 1.6 8.2 4.2 11.2L3.8 44c-.7.7-.8 1.8-.3 2.4l2.1 2.1c.6.6 1.7.5 2.4-.3L48.2 8c.8-.7.9-1.8.3-2.4zM39 23.2v1.2c0 7-5.8 12.8-13 12.8h-.9l-3.9 4.1c.8.2 1.8.4 2.8.6V45h-4.5c-1.4 0-2.5 1.1-2.5 2.5s1.1 2.5 2.5 2.5h13.1c1.4 0 2.5-1.1 2.5-2.5S33.9 45 32.5 45H28v-3.2c9-1.2 16-8.6 16-17.4v-4c0-.6-.3-1.2-.6-1.6L39 23.2z\"}},\nnew:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M43 9C33.6-.3 18.4-.3 9 9-.3 18.4-.3 33.6 9 43c9.4 9.4 24.6 9.4 33.9 0 9.4-9.4 9.4-24.6.1-34zm-1 19c0 .6-.4 1-1 1H30c-.5 0-1 .5-1 1v11c0 .5-.5 1-1 1h-4c-.6 0-1-.4-1-1V30c0-.6-.4-1-1-1H11c-.6 0-1-.4-1-1v-4c0-.5.5-1 1-1h11c.6 0 1-.4 1-1V11c0-.5.5-1 1-1h4c.5 0 1 .4 1 1v11c0 .6.4 1 1 1h11c.5 0 1 .5 1 1v4z\"}},\nnew_direct_message:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M45.5 17l-3.4 3.5c-.6.6-.9 1.3-.9 2.1V40c0 .8-.7 1.5-1.5 1.5h-27c-.8 0-1.5-.7-1.5-1.5V13c0-.8.7-1.5 1.5-1.5h17.5c.8 0 1.6-.3 2.1-.9l3.4-3.4c.6-.6.2-1.7-.7-1.7H9.2c-2.2 0-4 1.8-4 4v34c0 2.2 1.8 4 4 4h34c2.2 0 4-1.8 4-4V17.7c0-.9-1.1-1.3-1.7-.7z\"},{\"d\":\"M18.9 30.7l3.7 3.7c.2.2.4.2.6 0l19.4-19.9c.2-.2.2-.4 0-.6L39 10.3c-.2-.2-.4-.2-.6 0L18.9 30.1c-.2.2-.2.4 0 .6zM40.1 8.6c-.2.2-.2.4 0 .6l3.6 3.6c.2.2.4.2.6 0l2.5-2.5c.7-.6.7-1.6 0-2.3L45 6.2c-.7-.7-1.7-.7-2.4 0-.1 0-2.5 2.4-2.5 2.4zM15.6 36.9c-.1.4.3.8.7.7.6-.2 1.3-.3 1.9-.5.5-.1 1-.2 1.5-.4.5-.1 1-.2 1.4-.4.2-.1.6-.5.3-.8l-3.8-3.8c-.3-.3-.6 0-.7.2-.3.4-.4 1-.5 1.4-.1.5-.3 1-.4 1.5-.1.9-.2 1.5-.4 2.1z\"}]},\nnew_window:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M48.7 2H29.6c-.8 0-1.6.5-1.6 1.3v3c0 .8.7 1.7 1.6 1.7h7.9c.9 0 1.4 1 .7 1.6l-17 17c-.6.6-.6 1.5 0 2.1l2.1 2.1c.6.6 1.5.6 2.1 0l17-17c.6-.6 1.6-.2 1.6.7v7.9c0 .8.8 1.7 1.6 1.7h2.9c.8 0 1.5-.9 1.5-1.7v-19c0-.9-.5-1.4-1.3-1.4z\"},{\"d\":\"M36.3 25.5L32.9 29c-.6.6-.9 1.3-.9 2.1v11.4c0 .8-.7 1.5-1.5 1.5h-21c-.8 0-1.5-.7-1.5-1.5v-21c0-.8.7-1.5 1.5-1.5H21c.8 0 1.6-.3 2.1-.9l3.4-3.4c.6-.6.2-1.7-.7-1.7H6c-2.2 0-4 1.8-4 4v28c0 2.2 1.8 4 4 4h28c2.2 0 4-1.8 4-4V26.2c0-.9-1.1-1.3-1.7-.7z\"}]}},\nnews:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M50.5 6h-41C8.7 6 8 6.7 8 7.5V38c0 1.2-1.1 2.2-2.3 2-1-.2-1.7-1.1-1.7-2.1V16c0-.6-.4-1-1-1H1.5c-.8 0-1.5.7-1.5 1.5V42c0 2.2 1.8 4 4 4h44c2.2 0 4-1.8 4-4V7.5c0-.8-.7-1.5-1.5-1.5zM28 35c0 .6-.4 1-1 1H15c-.6 0-1-.4-1-1v-2c0-.6.4-1 1-1h12c.6 0 1 .4 1 1v2zm0-8c0 .6-.4 1-1 1H15c-.6 0-1-.4-1-1v-2c0-.6.4-1 1-1h12c.6 0 1 .4 1 1v2zm18 8c0 .6-.4 1-1 1H33c-.6 0-1-.4-1-1v-2c0-.6.4-1 1-1h12c.6 0 1 .4 1 1v2zm0-8c0 .6-.4 1-1 1H33c-.6 0-1-.4-1-1v-2c0-.6.4-1 1-1h12c.6 0 1 .4 1 1v2zm0-8c0 .6-.4 1-1 1H15c-.6 0-1-.4-1-1v-6c0-.6.4-1 1-1h30c.6 0 1 .4 1 1v6z\"}},\nnote:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M41.4 39.7l-.9.9c-1 1-2.3 1.5-3.7 1.5h-2.6c-2.4 0-5-1.9-5-5.2v-2.5c0-2 .9-3.2 1.4-3.9l10.8-11c.3-.3.6-1 .6-1.4V9.8C42 7.2 39.8 5 37.2 5H11.6C9 5 6.8 7.4 6.8 9.8H5.2C3.4 9.8 2 11.3 2 13.1s1.4 3.2 3.2 3.2h1.6v6.5H5.2C3.4 22.8 2 24.2 2 26s1.4 3.2 3.2 3.2h1.6v6.5H5.2c-1.8 0-3.2 1.5-3.2 3.2 0 1.8 1.4 3.2 3.2 3.2h1.6c0 3.2 2.2 4.8 4.8 4.8H37.2c2.6 0 4.8-2.2 4.8-4.8V40c0-.5-.2-.6-.6-.3zm-8.2-22.6c0 .9-.7 1.6-1.6 1.6h-16c-.9 0-1.6-.7-1.6-1.6v-1.6c0-.9.7-1.6 1.6-1.6h16c.9 0 1.6.7 1.6 1.6v1.6zM26 36.5c0 .9-.7 1.6-1.6 1.6h-8.8c-.9 0-1.6-.7-1.6-1.6v-1.6c0-.9.7-1.6 1.6-1.6h8.8c.9 0 1.6.7 1.6 1.6v1.6zm2.4-9.7c0 .9-.7 1.6-1.6 1.6H15.6c-.9 0-1.6-.7-1.6-1.6v-1.6c0-.9.7-1.6 1.6-1.6h11.2c.9 0 1.6.7 1.6 1.6v1.6z\"},{\"d\":\"M49.5 22.4l-1-1c-.6-.6-1.6-.6-2.2 0L34.1 34c-.1 0-.1.2-.1.2v2.7c0 .2 0 .4.2.4h2.6c.1 0 .2-.1.3-.1l12.3-12.4c.8-.7.8-1.7.1-2.4z\"}]},\nnotebook:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M44 2H14c-2.2 0-4 1.8-4 4v3H7c-1.7 0-3 1.3-3 3s1.3 3 3 3h3v8H7c-1.7 0-3 1.3-3 3s1.3 3 3 3h3v8H7c-1.7 0-3 1.3-3 3s1.3 3 3 3h3v3c0 2.2 1.8 4 4 4h30c2.2 0 4-1.8 4-4V6c0-2.2-1.8-4-4-4zm-7 34c0 .6-.4 1-1 1H22c-.6 0-1-.4-1-1v-2c0-.6.4-1 1-1h14c.6 0 1 .4 1 1v2zm2-8c0 .6-.4 1-1 1H20c-.6 0-1-.4-1-1v-2c0-.6.4-1 1-1h18c.6 0 1 .4 1 1v2zm2-10c0 .6-.4 1-1 1H18c-.6 0-1-.4-1-1v-6c0-.6.4-1 1-1h22c.6 0 1 .4 1 1v6z\"}},\nnotification:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M46 33h-.5c-1.9 0-3.5-1.6-3.5-3.5V18c0-9.1-7.6-16.4-16.8-16C16.6 2.4 10 9.8 10 18.5v11.1c0 1.9-1.6 3.4-3.5 3.4H6c-2.2 0-4 1.9-4 4.1v1.5c0 .7.7 1.4 1.5 1.4h45c.8 0 1.5-.7 1.5-1.5V37c0-2.2-1.8-4-4-4zM30.9 44h-9.8c-.6 0-1.1.6-1 1.2.5 2.8 3 4.8 5.9 4.8s5.4-2.1 5.9-4.8c.1-.6-.4-1.2-1-1.2z\"}}},\nnumber_input:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M44.8 49.5H7.2c-2.6 0-4.7-2.1-4.7-4.7V7.2c0-2.6 2.1-4.7 4.7-4.7h37.6c2.6 0 4.7 2.1 4.7 4.7v37.6c0 2.6-2.1 4.7-4.7 4.7zm-36-39.2v31.3c0 .9.7 1.6 1.6 1.6h31.3c.9 0 1.6-.7 1.6-1.6V10.3c0-.9-.7-1.6-1.6-1.6H10.4c-.9.1-1.6.8-1.6 1.6z\"},{\"d\":\"M36.2 20.3h-2.9l1.2-4.8v-.1c0-.2-.1-.4-.4-.4h-2.3c-.2 0-.3.1-.4.3l-1.2 4.9h-5.8l1.2-4.8v-.1c0-.2-.1-.4-.4-.4h-2.3c-.2 0-.3.1-.4.3l-1.3 4.9H18c-.2 0-.3.1-.4.3l-.6 2.2v.1c0 .2.1.4.4.4h3L19 28.7h-3.1c-.2 0-.3.1-.4.3l-.6 2.2v.1c0 .2.1.4.4.4h2.9L17 36.5v.1c0 .2.1.4.4.4h2.3c.2 0 .3-.1.4-.3l1.3-5h5.7L26 36.4v.1c0 .2.1.4.4.4h2.3c.2 0 .3-.1.4-.3l1.3-5h3.2c.2 0 .3-.1.4-.3l.6-2.2V29c0-.2-.1-.4-.4-.4h-3l1.4-5.6h3.1c.2 0 .3-.1.4-.3l.6-2.2v-.1c-.1.1-.3-.1-.5-.1zm-8.1 8.5h-5.8l1.4-5.6h5.7l-1.3 5.6z\"}]},\noffice365:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M6 40.6z\"},\"g\":{\"path\":{\"d\":\"M30.8 49.5c.6.2 1.3.2 1.9 0l11.9-3.9c.8-.3 1.4-1 1.4-1.9v-36c0-.6-.4-1.2-1-1.4L32.9 2.2c-.7-.2-1.4-.2-2 0L7 11.4c-.6.2-1 .8-1 1.4v27.1c0 .6.4 1.2 1 1.4l23.8 8.2zm1.2-6.7c0 .6-.5 1.1-1 1l-20-2.7c-.5-.1-.9-.5-.9-1v-.4c0-.4.2-.7.7-.9l3.8-1.8c.4-.2.6-.5.6-.9V14.8c0-.5.3-.9.8-1l15-3.4c.6-.1 1.2.3 1.2 1v31.4z\"}}},\noffline:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M34.7 36.1c.5-.5.5-1.3 0-1.8l-1.8-1.8c-.5-.5-1.3-.5-1.8 0l-4.4 4.4c-.3.3-.9.3-1.2 0l-4.4-4.4c-.5-.5-1.3-.5-1.8 0l-1.8 1.8c-.5.5-.5 1.3 0 1.8l4.4 4.4c.3.3.3.9 0 1.2l-4.4 4.4c-.5.5-.5 1.3 0 1.8l1.8 1.8c.5.5 1.3.5 1.8 0l4.4-4.4c.3-.3.9-.3 1.2 0l4.4 4.4c.5.5 1.3.5 1.8 0l1.8-1.8c.5-.5.5-1.3 0-1.8l-4.4-4.4c-.3-.3-.3-.9 0-1.2l4.4-4.4zM47.7 11.6c-5.5-6.1-13.3-9.5-21.6-9.5S10 5.5 4.5 11.6c-.4.4-.3 1.1.1 1.4l3 2.6c.4.4 1 .3 1.4-.1 4.4-4.7 10.6-7.4 17.1-7.4s12.7 2.7 17.1 7.4c.4.4 1 .4 1.4.1l3-2.6c.4-.4.5-1 .1-1.4zM26.1 16.1c-4.2 0-8.2 1.8-11 5-.4.4-.3 1.1.1 1.5l3.2 2.4c.4.3 1 .3 1.3-.1 1.7-1.8 4-2.8 6.4-2.8s4.7 1 6.3 2.7c.3.4.9.4 1.3.1l3.2-2.4c.5-.4.5-1 .1-1.5-2.7-3.1-6.7-4.9-10.9-4.9z\"}}},\noffline_briefcase:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M45.2 14.9H6.8A4.77 4.77 0 002 19.6v25.6A4.87 4.87 0 006.8 50h38.4a4.87 4.87 0 004.8-4.8V19.6a4.77 4.77 0 00-4.8-4.7zM17.4 29.8l1.4-1.4a1 1 0 011.4 0l2.4 2.4a.63.63 0 00.9 0 .61.61 0 00.2-.52V21.6a1.08 1.08 0 011-1H27a1 1 0 011 1v8.7a.65.65 0 001.1.5l2.4-2.4a1 1 0 011.4 0l1.4 1.4a1 1 0 010 1.4l-7.8 7.6a1 1 0 01-1.4 0l-7.7-7.6a1 1 0 010-1.4zm17.8 14a1 1 0 01-1 1H17.8a1 1 0 01-1-1v-2.1a1 1 0 011-1h16.4a1 1 0 011 1zM15.7 10h3.2a.74.74 0 00.8-.67V6.8h12.7v2.4a.74.74 0 00.67.8h3.33a.74.74 0 00.8-.67V6.8A4.87 4.87 0 0032.4 2H19.7a4.8 4.8 0 00-4.8 4.8v2.4a.74.74 0 00.67.8z\"}},\noffline_cached:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M38.6 20.4c-1-6.5-6.7-11.5-13.5-11.5-7.6 0-13.7 6.1-13.7 13.7 0 .3 0 .7.1 1-5 .4-8.9 4.6-8.9 9.6 0 5.4 4.3 9.7 9.7 9.7h11.5l-8.1-8.1c-.4-.4-.4-.9 0-1.3l1.3-1.3c.4-.4.9-.4 1.3 0l3.5 3.5c.4.4 1.1.1 1.1-.4V21.8c0-.4.5-.9 1-.9h1.9c.5 0 .9.4.9.9v13.4c0 .6.8.8 1.1.4l3.5-3.5c.4-.4.9-.4 1.3 0l1.3 1.3c.4.4.4.9 0 1.3L26 42.9h12.3c6.1-.1 11-5.1 11-11.3.1-6.1-4.7-11-10.7-11.2z\"}},\nomni_channel:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M47.2 2.7H34.6c-.8 0-1.1.7-.4 1.4l4 4 .5.5-7.5 7.4c-.6.6-.6 1.6-.1 2.2 0 0 5.1 5.2 4.6 11.1 0 8.4-6.1 15.1-14.5 15.1-6.2.6-11.1-5.1-11.1-5.1-.6-.6-1.5-.6-2.1 0L4.3 43c-.6.6-.6 1.5 0 2.1l1.2 1.2c.6.6 1.5.6 2.1 0L9 45c3.4 2.7 7.7 4.2 12.3 4.2 11 0 19.9-8.9 19.9-19.9 0-4.6-1.6-8.9-4.2-12.3l5.1-5.1.7.7 4 4c.6.7 1.4.4 1.4-.4V3.6c-.1-.5-.5-.9-1-.9z\"},\"circle\":{\"cx\":\"21.1\",\"cy\":\"29.5\",\"r\":\"9.9\"}},\nopen:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M8 35v-.6.6z\"},\"g\":{\"path\":[{\"d\":\"M46 2H6C3.8 2 2 3.8 2 6v36c0 2.2 1.8 4 4 4h12c.6 0 1-.4 1-1v-4c0-.6-.4-1-1-1H9.5c-.8 0-1.5-.7-1.5-1.5v-25c0-.8.7-1.5 1.5-1.5h33c.8 0 1.5.7 1.5 1.5v25c0 .8-.7 1.5-1.5 1.5H34c-.6 0-1 .4-1 1v4c0 .6.4 1 1 1h12c2.2 0 4-1.8 4-4V6c0-2.2-1.8-4-4-4z\"},{\"d\":\"M37.5 34.6l2.1-2.1c.6-.6.6-1.5 0-2.1L27 17.8c-.6-.6-1.5-.6-2.1 0L12.4 30.3c-.6.6-.6 1.5 0 2.1l2.1 2.1c.6.6 1.5.6 2.1 0l4.6-4.6c.6-.6 1.8-.2 1.8.7v17.9c0 .8.6 1.5 1.4 1.5h3c.8 0 1.6-.7 1.6-1.5V30.6c0-.9 1-1.3 1.7-.7l4.6 4.7c.6.5 1.6.5 2.2 0z\"}]}},\nopen_folder:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M46 14H23.3c-1.4 0-2.7-.8-3.5-2l-3.5-6c-.7-1.2-2-2-3.5-2H6C3.8 4 2 5.8 2 8v36c0 2.2 1.8 4 4 4h40c2.2 0 4-1.8 4-4V18c0-2.2-1.8-4-4-4z\"},{\"d\":\"M46 6H21.9c-.4 0-.6.4-.4.7l1.6 2.7c.2.4.5.6.9.6h22c1.1 0 2.2.2 3.1.6.4.2.9-.1.9-.6 0-2.2-1.8-4-4-4z\"}]}},\nopened_folder:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M44 15c0-2.2-1.8-4-4-4H25.3c-1.8 0-3.5-2-3.5-2l-2.5-3s-1.2-2-3.5-2H12C9.8 4 8 5.8 8 8v9h36v-2zM46.9 21H5.1c-2 0-3.5 1.9-3 3.8l5.7 21c.4 1.3 1.6 2.2 3 2.2h30.5c1.4 0 2.7-.9 3-2.2l5.7-21c.4-1.9-1.1-3.8-3.1-3.8z\"}}},\norchestrator:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M36.4 3.14a1.62 1.62 0 00-2.24-1 1.65 1.65 0 00-.59 2.38l7.28 18.18c.45.95 1.28 1.51 2.21 1.06a1.76 1.76 0 00.63-2.47zM26.2 15.75c4.11 0 7.41 3.74 7.41 8.37s-3.3 8.37-7.41 8.37-7.41-3.74-7.41-8.37 3.3-8.37 7.41-8.37zM9.11 34.34l10.67 1.2L22.24 50h-3a1.87 1.87 0 01-1.79-1.39l-2.18-7.84-9.09-1a4.77 4.77 0 01-3.88-6.3L7 19.79A2.79 2.79 0 0110.52 18a2.86 2.86 0 011.73 3.63L8.33 33.09a.94.94 0 00.78 1.25zM33.36 50h-3.2l2.43-14.29 10.09 1.91a.94.94 0 001.08-1.14l-1.42-6.4a2.85 2.85 0 012.07-3.44 2.8 2.8 0 013.38 2.1L49.87 38a4.73 4.73 0 01-5.38 5.8l-7.7-1.46-1.62 6.27A1.87 1.87 0 0133.36 50zM23.31 37.29a1.1 1.1 0 01-1.68-.95v-1.77a1.1 1.1 0 011.68-1l2.89 1.83zM26.2 35.45l2.88-1.83a1.1 1.1 0 011.69 1v1.77a1.11 1.11 0 01-1.69.95z\"}},\norg_chart:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"rect\":[{\"x\":\"34.78\",\"y\":\"2.83\",\"width\":\"13.16\",\"height\":\"13.15\",\"rx\":\"1.21\"},{\"x\":\"34.78\",\"y\":\"35.52\",\"width\":\"13.16\",\"height\":\"13.15\",\"rx\":\"1.21\"}],\"path\":{\"d\":\"M46.73 19.18H36a1.2 1.2 0 00-1.2 1.2v3.71h-7.38l-.16-14.65A1.5 1.5 0 0025.76 8H15.65V4a1.22 1.22 0 00-1.2-1.21H3.71A1.21 1.21 0 002.5 4v10.78A1.21 1.21 0 003.7 16h10.75a1.22 1.22 0 001.2-1.21V11h8.62l.17 14.64a1.51 1.51 0 001.5 1.49h8.84v4a1.21 1.21 0 001.22 1.2h10.73a1.22 1.22 0 001.2-1.21V20.38a1.2 1.2 0 00-1.2-1.2z\"}},\noutbound_call:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M48.5 37.9L42.4 33c-1.4-1.1-3.4-1.2-4.8-.1l-5.2 3.8c-.6.5-1.5.4-2.1-.2l-7.8-7-7-7.8c-.6-.6-.6-1.4-.2-2.1l3.8-5.2c1.1-1.4 1-3.4-.1-4.8l-4.9-6.1c-1.5-1.8-4.2-2-5.9-.3L3 8.4c-.8.8-1.2 1.9-1.2 3 .5 10.2 5.1 19.9 11.9 26.7S30.2 49.5 40.4 50c1.1.1 2.2-.4 3-1.2l5.2-5.2c1.9-1.5 1.8-4.3-.1-5.7z\"},{\"d\":\"M48.4 2H33c-1 0-1.3 1.1-.5 1.9l4.9 5-9 9.1c-.5.5-.5 1.4 0 1.9l3.7 3.7c.5.5 1.3.5 1.9 0l9.1-9.1 5.1 4.9c.7.9 1.8.6 1.8-.4V3.7C50 3 49.1 2 48.4 2z\"}]}},\noutcome:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M36.2 11.6l-.1-.1c-.6-.5-1.5-.5-2 .1l-2.2 2.1c-.6.6-.5 1.5 0 2l5.6 5.6c.2.2.3.4.3.7 0 .6-.4 1.1-1 1.1H15.6c-.8 0-1.5.6-1.5 1.4v3c.1.8.7 1.5 1.5 1.6h21.3c.2 0 .4.1.5.2.5.4.5 1 .2 1.5L32 36.5c-.6.6-.5 1.5 0 2l2.1 2.2c.6.6 1.5.5 2 0l13.5-13.5c.6-.6.5-1.5 0-2L36.2 11.6z\"},{\"d\":\"M21.1 17.2h3c.8 0 1.5-.7 1.5-1.5V6.1c0-2.2-1.8-4-4-4H6.1c-2.2 0-4 1.8-4 4v40c0 2.2 1.8 4 4 4h15.4c2.2 0 4-1.8 4-4v-9.5c0-.8-.7-1.5-1.5-1.5h-3c-.8 0-1.5.7-1.5 1.5v5.9c0 .8-.7 1.5-1.5 1.5H9.6c-.8 0-1.5-.7-1.5-1.5v-33c0-.8.7-1.5 1.5-1.5H18c.8 0 1.5.7 1.5 1.5v6.1c.1.9.7 1.6 1.6 1.6z\"}]},\noverflow:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M37.3 9.9H15.8c-2.1 0-3.7 1.7-3.7 3.7v.6c0 .3.3.6.6.6h19.6c2.1 0 3.7 1.7 3.7 3.7v22.1c0 .3.3.6.6.6h.6c2.1 0 3.7-1.7 3.7-3.7V13.6c.1-2-1.6-3.7-3.6-3.7z\"},{\"d\":\"M45.3 2H23.8c-2.1 0-3.7 1.7-3.7 3.7v.6c0 .3.3.6.6.6h19.6c2.1 0 3.7 1.7 3.7 3.7v22.1c0 .3.3.6.6.6h.6c2.1 0 3.7-1.7 3.7-3.7V5.7c.1-2-1.6-3.7-3.6-3.7z\"},{\"d\":\"M32.6 21.8c0-2-1.7-3.7-3.7-3.7H6.7c-2.1 0-3.7 1.7-3.7 3.7v24.5c0 2 1.7 3.7 3.7 3.7h22.2c2.1 0 3.7-1.7 3.7-3.7V21.8z\"}]},\npackage:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M44.4 24h-7.9l-3.3 4H44v6H8v-6h10.7l-3.3-4H7.6c-2 0-3.6 1.6-3.6 3.6V47c0 1.7 1.3 3 3 3h38c1.7 0 3-1.3 3-3V27.6c0-2-1.6-3.6-3.6-3.6z\"},{\"d\":\"M23 3.5V16h-6.9c-1 0-1.5.9-.9 1.4l10 12.3c.4.3 1 .3 1.4 0l10-12.3c.6-.6.1-1.4-.9-1.4H29V3.5c0-.8-.7-1.5-1.5-1.5h-3c-.8 0-1.5.7-1.5 1.5z\"}]},\npackage_org:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M44.4 23H31.9l-4 4H44v6H8v-6h8.1l-4-4H7.6c-2 0-3.6 1.6-3.6 3.6V46c0 1.7 1.3 3 3 3h38c1.7 0 3-1.3 3-3V26.6c0-2-1.6-3.6-3.6-3.6z\"},{\"d\":\"M20.6 25.8c.8.8 2 .8 2.8 0l19-19c.4-.4.4-1 0-1.4l-2.8-2.8c-.4-.4-1-.4-1.4 0L22 18.8l-6.7-6.7c-.4-.4-1-.4-1.4 0l-2.8 2.8c-.4.4-.4 1 0 1.4l9.5 9.5z\"}]},\npackage_org_beta:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M44.4 23h-5.8c-.4 1.5-1.1 2.8-2.1 4H44v6H8v-6h6v-4H7.6c-2 0-3.6 1.6-3.6 3.6V46c0 1.7 1.3 3 3 3h38c1.7 0 3-1.3 3-3V26.6c0-2-1.6-3.6-3.6-3.6z\"},{\"d\":\"M35 9.9C35 6 31.6 3 27.8 3h-8.3c-.8 0-1.5.7-1.5 1.5v21c0 .8.7 1.5 1.5 1.5H28c3.9 0 7-3.2 6.9-7.1 0-1.9-.8-3.6-2.1-4.8 1.4-1.4 2.2-3.2 2.2-5.2zM22 7h6c1.6 0 3 1.3 3 3 0 1.6-1.3 3-3 3h-6V7zm9 13c0 1.6-1.3 3-3 3h-6v-6h6c1.7 0 3 1.3 3 3z\"}]},\npage:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M44.4 19H33.2c-2.6 0-4.2-1.6-4.2-4.2V3.6c0-.9-.7-1.6-1.6-1.6H10.8C8.2 2 6 4.2 6 6.8v38.4c0 2.6 2.2 4.8 4.8 4.8h30.4c2.6 0 4.8-2.2 4.8-4.8V20.6c0-.9-.7-1.6-1.6-1.6z\"},{\"d\":\"M45.7 12.9L35.1 2.3c-.2-.2-.6-.3-.9-.3-.6 0-1.2.5-1.2 1.1v8.5c0 1.8 1.6 3.4 3.4 3.4h8.5c.6 0 1.1-.6 1.1-1.2 0-.3-.1-.7-.3-.9z\"}]},\npalette:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M49.5 17.3C47.2 7.8 37.2 2 26.2 2 12.8 2 2 12.7 2 26s10.8 24 24.2 24c18.6 0 17.1-9.4 11.2-13.1-3.5-2.2-5.4-7.3-1.9-10.9 6.5-6.7 17 4 14-8.7zM13 34c-2.8 0-5-2.2-5-5s2.2-5 5-5 5 2.2 5 5-2.2 5-5 5zm1-19c0-2.8 2.2-5 5-5s5 2.2 5 5-2.2 5-5 5-5-2.2-5-5zm11 29c-2.8 0-5-2.2-5-5s2.2-5 5-5 5 2.2 5 5-2.2 5-5 5zm9-26c-2.8 0-5-2.2-5-5s2.2-5 5-5 5 2.2 5 5-2.2 5-5 5z\"}},\npassword:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M44.8 49.5H7.2c-2.6 0-4.7-2.1-4.7-4.7V7.2c0-2.6 2.1-4.7 4.7-4.7h37.6c2.6 0 4.7 2.1 4.7 4.7v37.6c0 2.5-2.1 4.7-4.7 4.7zM8.9 10.3v31.3c0 .9.7 1.6 1.6 1.6h31.2c.9 0 1.6-.7 1.6-1.6V10.3c0-.9-.7-1.6-1.6-1.6H10.4c-.8.1-1.5.8-1.5 1.6z\"},{\"d\":\"M38.8 23.8l-.9-3c-.3-.8-1.1-1.3-2-1L29.1 22v-6.7c0-.9-.7-1.6-1.6-1.6h-3.1c-.9 0-1.6.7-1.6 1.6V22l-6.6-2.2c-.8-.3-1.7.2-2 1l-.9 3c-.3.8.2 1.7 1 2l6.2 2-4.5 6.1c-.5.7-.3 1.7.4 2.2l2.6 1.8c.7.5 1.7.3 2.2-.4l4.9-6.8 4.9 6.8c.5.7 1.5.9 2.2.4l2.6-1.8c.7-.5.9-1.5.4-2.2l-4.5-6.2 6.1-2c.8-.2 1.2-1 1-1.9z\"}]},\npaste:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M17.5 12h17c.8 0 1.5-.7 1.5-1.5V6c0-2.2-1.8-4-4-4H20c-2.2 0-4 1.8-4 4v4.5c0 .8.7 1.5 1.5 1.5z\"},{\"d\":\"M44 6h-2.5c-.8 0-1.5.7-1.5 1.5V12c0 2.2-1.8 4-4 4H16c-2.2 0-4-1.8-4-4V7.5c0-.8-.7-1.5-1.5-1.5H8c-2.2 0-4 1.8-4 4v36c0 2.2 1.8 4 4 4h36c2.2 0 4-1.8 4-4V10c0-2.2-1.8-4-4-4zm-6 35c0 .6-.4 1-1 1H15c-.6 0-1-.4-1-1v-2c0-.6.4-1 1-1h22c.6 0 1 .4 1 1v2zm0-8c0 .6-.4 1-1 1H15c-.6 0-1-.4-1-1v-2c0-.6.4-1 1-1h22c.6 0 1 .4 1 1v2zm0-8c0 .6-.4 1-1 1H15c-.6 0-1-.4-1-1v-2c0-.6.4-1 1-1h22c.6 0 1 .4 1 1v2z\"}]}},\npause:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M30 43c0 1 .9 2 2 2h4c1.1 0 2-1.1 2-2V9c0-1-.9-2-2-2h-4c-1.1 0-2 1.1-2 2v34zM14 43c0 1 .9 2 2 2h4c1.1 0 2-1.1 2-2V9c0-1-.9-2-2-2h-4c-1.1 0-2 1.1-2 2v34z\"}},\npause_alt:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M9.009 8.977c9.395-9.303 24.587-9.303 33.982 0 9.295 9.402 9.395 24.706 0 34.009s-24.687 9.402-33.982 0c-9.295-9.403-9.395-24.707 0-34.01zm16.991-1c-9.895 0-17.99 8.102-17.99 18.004 0 9.903 8.095 18.005 17.99 18.005 9.995 0 17.99-8.002 17.99-18.005S35.896 7.977 26 7.977zM21.75 15c.966 0 1.75.895 1.75 2v18c0 1.105-.784 2-1.75 2h-3.5c-.966 0-1.75-.895-1.75-2V17c0-1.105.784-2 1.75-2zm12 0c.966 0 1.75.895 1.75 2v18c0 1.105-.784 2-1.75 2h-3.5c-.966 0-1.75-.895-1.75-2V17c0-1.105.784-2 1.75-2z\",\"fill-rule\":\"evenodd\"}},\npayment_gateway:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M19.56 6.29a17.94 17.94 0 000 35.87h.8V27.94c0-1.06.81-2.42 1.88-2.42h15.2c0-.59.06-1 .06-1.32A18 18 0 0019.56 6.29zm14.32 16.4h-4.62a26.74 26.74 0 00-2.54-10.76 14.52 14.52 0 017.16 10.76zM17.51 10.9v11.79h-4.1c.31-5.62 2.08-10.06 4.1-11.79zm0 14.86v11.78c-2-1.73-3.79-6.15-4.1-11.78zm4.1-3.07V10.9c2 1.73 3.8 6.17 4.1 11.79zm-9.22-10.76a27.62 27.62 0 00-2.53 10.76H5.21a14.48 14.48 0 017.18-10.76zM5.22 26.27h4.65A26.74 26.74 0 0012.39 37a14.5 14.5 0 01-7.17-10.73z\",\"fill-rule\":\"evenodd\"},{\"d\":\"M47.5 28.56H25.73a2.5 2.5 0 00-2.5 2.5v12.15a2.5 2.5 0 002.5 2.5H47.5a2.5 2.5 0 002.5-2.5V31.06a2.5 2.5 0 00-2.5-2.5zM28.66 43.21a2.92 2.92 0 00-2.84-3h-.08V34a2.93 2.93 0 003-2.84v-.07h15.81A2.91 2.91 0 0047.42 34h.08v6.25a2.93 2.93 0 00-3 2.86v.09z\",\"fill-rule\":\"evenodd\"}],\"circle\":{\"cx\":\"36.61\",\"cy\":\"36.92\",\"r\":\"4.2\"}}},\npdf_ext:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M28.6 11.4h5.1a1.11 1.11 0 001.1-1.1 1.32 1.32 0 00-.3-.8l-7.2-7.1a.89.89 0 00-.7-.3 1.11 1.11 0 00-1.1 1.1v5.1a3.12 3.12 0 003.1 3.1zM49.83 32.45A1.43 1.43 0 0048.44 31h-12A1.43 1.43 0 0035 32.44v1.44a1.43 1.43 0 001.4 1.44h6.14l-11 11a1.42 1.42 0 000 2l1 1a1.54 1.54 0 001.09.45 1.32 1.32 0 00.94-.38l11-11v6A1.43 1.43 0 0047 45.83h1.53a1.43 1.43 0 001.47-1.4zM18.35 20.68h-1.46v4.93h1.46a1.56 1.56 0 001.56-1.1 3.93 3.93 0 00.24-1.44 3.61 3.61 0 00-.36-1.77 1.53 1.53 0 00-1.44-.62zM11.29 20.93a1.27 1.27 0 00-.84-.25H9v2.23h1.46a1.18 1.18 0 00.84-.28 1.09 1.09 0 00.3-.86 1 1 0 00-.33-.84z\"},{\"d\":\"M33.24 16H25.4a4.67 4.67 0 01-4.7-4.6V3.6a1.42 1.42 0 00-1.34-1.5H6.8a4.67 4.67 0 00-4.7 4.6v29.4a4.6 4.6 0 004.62 4.6H24.6v-.1a15.92 15.92 0 0110.2-14.9v-8.1a1.58 1.58 0 00-1.56-1.6zm-20.75 7.65a2.93 2.93 0 01-1.89.56H9v2.71H7.49v-7.55h3.24a2.64 2.64 0 011.76.63 2.3 2.3 0 01.66 1.8 2.35 2.35 0 01-.66 1.85zm8.66 1.9A2.73 2.73 0 0118.62 27h-3.26v-7.63h3.26a3.85 3.85 0 011.17.17 2.49 2.49 0 011.28.95 3.43 3.43 0 01.54 1.22 5.6 5.6 0 01.14 1.29 5 5 0 01-.6 2.55zm7.92-4.84h-3.81v1.74h3.34v1.31h-3.34v3.16h-1.57v-7.54h5.38z\"}]}},\npeople:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M42 22.3c-2.8-1.1-3.2-2.2-3.2-3.3s.8-2.2 1.8-3c1.7-1.4 2.6-3.5 2.6-5.8 0-4.4-2.9-8.2-8-8.2-4.7 0-7.5 3.2-7.9 7.1 0 .4.2.7.5.9 3.8 2.4 6.1 6.6 6.1 11.7 0 3.8-1.5 7.2-4.2 9.6-.2.2-.2.6 0 .8.7.5 2.3 1.2 3.3 1.7.3.1.5.2.8.2h12.1c2.3 0 4.1-1.9 4.1-4v-.6c0-3.5-3.8-5.4-8-7.1z\"},{\"d\":\"M28.6 36.2c-3.4-1.4-3.9-2.6-3.9-3.9 0-1.3 1-2.6 2.1-3.6 2-1.7 3.1-4.1 3.1-6.9 0-5.2-3.4-9.7-9.6-9.7-6.1 0-9.6 4.5-9.6 9.7 0 2.8 1.1 5.2 3.1 6.9 1.1 1 2.1 2.3 2.1 3.6 0 1.3-.5 2.6-4 3.9-5 2-9.9 4.3-9.9 8.5V46c0 2.2 1.8 4 4.1 4h27.7c2.3 0 4.2-1.8 4.2-4v-1.4c0-4.1-4.4-6.4-9.4-8.4z\"}]}},\npercent:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M39.55 26A10.5 10.5 0 1050 36.5 10.5 10.5 0 0039.55 26zm0 16.14a5.65 5.65 0 115.6-5.64 5.64 5.64 0 01-5.6 5.64zM23 15.5a10.48 10.48 0 10-3.07 7.43A10.5 10.5 0 0023 15.5zm-10.5 5.64a5.65 5.65 0 114-1.65 5.63 5.63 0 01-4.01 1.65zm26.71-15A.8.8 0 0038.49 5h-3a.83.83 0 00-.64.4l-22 40.41a.78.78 0 000 .78.79.79 0 00.68.39h3a.8.8 0 00.64-.4l22-40.41z\"}},\nphone_landscape:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M52 13c0-2.2-1.8-4-4-4H4c-2.2 0-4 1.8-4 4v26c0 2.2 1.8 4 4 4h44c2.2 0 4-1.8 4-4V13zM5 29c-1.7 0-3-1.3-3-3s1.3-3 3-3 3 1.3 3 3-1.3 3-3 3zm39 6.5c0 .8-.7 1.5-1.5 1.5h-31c-.8 0-1.5-.7-1.5-1.5v-19c0-.8.7-1.5 1.5-1.5h31c.8 0 1.5.7 1.5 1.5v19z\"}},\nphone_portrait:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M43 4c0-2.2-1.8-4-4-4H13c-2.2 0-4 1.8-4 4v44c0 2.2 1.8 4 4 4h26c2.2 0 4-1.8 4-4V4zM26 50c-1.7 0-3-1.3-3-3s1.3-3 3-3 3 1.3 3 3-1.3 3-3 3zm11-9.5c0 .8-.7 1.5-1.5 1.5h-19c-.8 0-1.5-.7-1.5-1.5v-31c0-.8.7-1.5 1.5-1.5h19c.8 0 1.5.7 1.5 1.5v31z\"}},\nphoto:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M26 20c-4.4 0-8 3.6-8 8s3.6 8 8 8 8-3.6 8-8-3.6-8-8-8z\"},{\"d\":\"M46 14h-5.2c-1.4 0-2.6-.7-3.4-1.8l-2.3-3.5C34.4 7 32.7 6 30.9 6h-9.8c-1.8 0-3.5 1-4.3 2.7l-2.3 3.5c-.7 1.1-2 1.8-3.4 1.8H6c-2.2 0-4 1.8-4 4v24c0 2.2 1.8 4 4 4h40c2.2 0 4-1.8 4-4V18c0-2.2-1.8-4-4-4zM26 40c-6.6 0-12-5.4-12-12s5.4-12 12-12 12 5.4 12 12-5.4 12-12 12z\"}]}},\npicklist:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M48 41c1.1 0 2-.9 2-2V13c0-1.1-.9-2-2-2H4c-1.1 0-2 .9-2 2v26c0 1.1.9 2 2 2h44zM6 37V15h40v22H6z\"},{\"d\":\"M32.5 23h9.3c.3 0 .4.3.2.5l-4.6 5.3c-.2.2-.5.2-.7 0l-4.6-5.3c-.1-.2.1-.5.4-.5z\"}]},\npicklist_choice:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M6.9 33.7H3.7c-.9 0-1.6.7-1.6 1.6v3.2c0 .9.7 1.6 1.6 1.6H7c.9-.1 1.5-.8 1.4-1.6v-3.2c.1-.9-.6-1.6-1.5-1.6zM16.5 11.8h31.6c.9 0 1.6-.7 1.6-1.6V7c0-.9-.7-1.6-1.6-1.6H16.5c-.9 0-1.6.7-1.6 1.6v3.2c0 .9.7 1.6 1.6 1.6zM16.5 26h31.6c.9 0 1.6-.7 1.6-1.6v-3.2c0-.9-.7-1.6-1.6-1.6H16.5c-.9 0-1.6.7-1.6 1.6v3.2c0 .8.7 1.6 1.6 1.6zM6.9 5.4H3.7c-.9 0-1.6.7-1.6 1.6v3.2c0 .9.7 1.6 1.6 1.6H7c.9-.1 1.5-.8 1.4-1.6V6.9c.1-.8-.6-1.5-1.5-1.5zM6.9 19.5H3.7c-.9 0-1.6.7-1.6 1.6v3.2c0 .9.7 1.6 1.6 1.6H7c.9-.1 1.5-.8 1.4-1.6v-3.2c.1-.8-.6-1.6-1.5-1.6zM20.9 39.7c0-1.8.6-3.6 1.7-5v-.5-.6h-6.1c-.9 0-1.6.7-1.6 1.6v3.2c0 .9.7 1.6 1.6 1.6h4.4v-.3zM35.2 31.4c.8-.8 1.9-1.3 3.2-1.3 1.7 0 3.1.9 3.9 2.2.6-.2 1.4-.5 2.2-.5 2.9 0 5.4 2.5 5.4 5.3 0 2.9-2.5 5.3-5.4 5.3-.3 0-.7 0-1-.1-.6 1.2-2 2-3.4 2-.6 0-1.2-.2-1.7-.4-.7 1.6-2.3 2.7-4.1 2.7-2 0-3.6-1.2-4.2-2.9-.2 0-.6.1-.9.1-2.3 0-4.2-1.8-4.2-4.1 0-1.5.8-2.9 2.1-3.6-.2-.6-.4-1.2-.4-1.9 0-2.6 2.2-4.8 4.8-4.8 1.4.1 2.9.8 3.7 2z\"}},\npicklist_type:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M48.3 14.9H16.4c-.9 0-1.6-.7-1.6-1.6v-3.2c0-.9.7-1.6 1.6-1.6h31.9c.9 0 1.6.7 1.6 1.6v3.2c0 .9-.7 1.6-1.6 1.6zM48.3 29.2H16.4c-.9 0-1.6-.7-1.6-1.6v-3.2c0-.9.7-1.6 1.6-1.6h31.9c.9 0 1.6.7 1.6 1.6v3.2c0 .9-.7 1.6-1.6 1.6zM6.9 29.2H3.7c-.9 0-1.6-.7-1.6-1.6v-3.2c0-.9.7-1.6 1.6-1.6h3.2c.9 0 1.6.7 1.6 1.6v3.2c0 .9-.7 1.6-1.6 1.6zM6.9 14.9H3.7c-.9 0-1.6-.7-1.6-1.6v-3.2c0-.9.7-1.6 1.6-1.6h3.2c.9 0 1.6.7 1.6 1.6v3.2c0 .9-.7 1.6-1.6 1.6zM6.9 43.5H3.7c-.9 0-1.6-.7-1.6-1.6v-3.2c0-.9.7-1.6 1.6-1.6h3.2c.9 0 1.6.7 1.6 1.6v3.2c0 .9-.7 1.6-1.6 1.6zM48.3 43.5H16.4c-.9 0-1.6-.7-1.6-1.6v-3.2c0-.9.7-1.6 1.6-1.6h31.9c.9 0 1.6.7 1.6 1.6v3.2c0 .9-.7 1.6-1.6 1.6z\"}},\npin:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M49.5 15.4L36 1.9c-1.4-1.4-3.6-1.4-5 0s-1.4 3.6 0 5l.7.7-16.2 10.7-.5-.5c-1.4-1.4-3.6-1.4-5 0s-1.4 3.6 0 5l7.2 7.2L2.4 44.8c-1.4 1.4-1.4 3.7 0 5.1 1.4 1.4 3.7 1.4 5.1 0L22.3 35l6.3 6.3c1.4 1.4 3.6 1.4 5 0s1.4-3.6 0-5l-.5-.5 10.6-16.3.7.7c1.4 1.4 3.6 1.4 5 0 1.4-1.2 1.4-3.4.1-4.8z\"}},\npinned:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M36.9 23.7h-.5L33 7.9h.9c1.6 0 2.9-1.3 2.9-2.9s-1.3-2.9-2.9-2.9H18.1c-1.6 0-2.9 1.3-2.9 2.9s1.3 2.9 2.9 2.9h.9l-3.3 15.8h-.5c-1.6 0-2.9 1.3-2.9 2.9s1.3 2.9 2.9 2.9h8.4v17.4c0 1.6 1.3 3 3 3s3-1.3 3-3V29.6H37c1.6 0 2.9-1.3 2.9-2.9s-1.4-3-3-3z\"}},\nplanning_poker:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M48.34 10l-6.27-2v29.12L49.88 13a2.41 2.41 0 00-1.53-3zM20.52 5.59L16.81 6.8 3.66 11.08a2.42 2.42 0 00-1.55 3l10.18 31.35a2.41 2.41 0 003 1.57l14-4.56 2.85-.94a2.39 2.39 0 001.56-3L23.59 7.14a2.4 2.4 0 00-3-1.57zM37.34 34.06V7.3a2.41 2.41 0 00-2.41-2.41H27.8a6.07 6.07 0 01.32.8l9.05 27.75a5.24 5.24 0 01.17.62z\"}}},\nplay:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M8 43.7V8.3c0-1 1.3-1.7 2.2-.9l33.2 17.3c.8.6.8 1.9 0 2.5L10.2 44.7c-.9.7-2.2.1-2.2-1z\"}},\npodcast_webinar:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M48 22.8c0-4.9-1.8-9.6-5-13.2l-.4-.4C38.6 4.8 32.6 2 26 2 19.7 2 13.9 4.6 9.9 8.6h-.1C6.1 12.4 4 17.5 4 22.8 4 28.1 6.1 33.2 9.9 37c.8.8 2 .8 2.8 0s.8-2.1 0-2.9c-2.9-2.9-4.6-7-4.6-11.2 0-3.7 1.3-7.1 3.4-9.9.4-.5.7-.9 1.2-1.3.1-.1.2-.2.2-.3C16.2 8 20.9 6 26 6c9.8 0 17.8 7.6 17.9 16.9 0 4.2-1.7 8.3-4.7 11.2-.8.8-.8 2.1 0 2.9s2.1.8 2.9 0c3.8-3.8 5.9-8.8 5.9-14.2z\"},{\"d\":\"M39.6 22.9c0-.1 0-.1 0 0 0-.1 0-.1 0 0 0-.1 0-.1 0 0 0-7.2-6.1-13-13.6-13-6.2 0-11.4 3.9-13.1 9.2-.4 1.2-.6 2.4-.6 3.7 0 3.1 1.2 6.1 3.4 8.3.8.8 2.1.8 2.9 0 .8-.8.8-2.1 0-2.9-1.4-1.4-2.2-3.3-2.2-5.3 0-4.9 4.5-8.8 9.6-8.8s9.6 4 9.6 8.8c0 2-.8 3.9-2.2 5.3-.8.8-.8 2.1 0 2.9.8.8 2 .8 2.8 0 2.2-2.2 3.4-5.1 3.4-8.2zM28.2 32.4h-4.4c-1.7 0-3.2 1.4-3.2 3.2v11.3c0 1.7 1.4 3.2 3.2 3.2h4.4c1.7 0 3.2-1.4 3.2-3.2V35.5c0-1.7-1.5-3.1-3.2-3.1z\"}],\"circle\":{\"cx\":\"26\",\"cy\":\"23.2\",\"r\":\"5.4\"}}},\npop_in:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M22 31.3h19.1c.8 0 1.6-.5 1.6-1.3v-3c0-.8-.7-1.7-1.6-1.7h-7.9c-.9 0-1.4-1-.7-1.6l17-17c.6-.6.6-1.5 0-2.1l-2.1-2.1c-.6-.6-1.5-.6-2.1 0l-17 17c-.6.6-1.6.2-1.6-.7v-7.9c0-.8-.8-1.7-1.6-1.7h-2.9c-.8 0-1.5.9-1.5 1.7v19c.1.9.5 1.3 1.3 1.4z\"},{\"d\":\"M37 35.3h-4c-.6 0-1 .4-1 1v6.2c0 .8-.7 1.5-1.5 1.5h-21c-.8 0-1.5-.7-1.5-1.5v-21c0-.8.7-1.5 1.4-1.5h6.3c.6 0 1-.4 1-1v-4c0-.6-.4-1-1-1H6c-2.2 0-4 1.8-4 4v28c0 2.2 1.8 4 4 4h28c2.2 0 4-1.8 4-4v-9.7c0-.6-.4-1-1-1z\"}]},\npower:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M34.4 7.7c-.7-.3-1.4.2-1.4.9v3.8c0 .7.4 1.4 1 1.7 5.3 3 8.7 9 7.9 15.7-.8 7.3-6.7 13.3-14.1 14.1C18.2 45 10 37.4 10 28c0-5.9 3.2-11.1 8-13.9.6-.3 1-1 1-1.7V8.6c0-.7-.7-1.2-1.4-.9C9.1 11.2 3.2 20 4.1 30c.9 10.3 9.1 18.7 19.4 19.9C36.7 51.3 48 41 48 28c0-9.2-5.6-17-13.6-20.3z\"},{\"d\":\"M29 3.5c0-.8-.7-1.5-1.5-1.5h-3c-.8 0-1.5.7-1.5 1.5v17c0 .8.7 1.5 1.5 1.5h3c.8 0 1.5-.7 1.5-1.5v-17z\"}]}},\npreview:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M51.8 25.1C47.1 15.6 37.3 9 26 9S4.9 15.6.2 25.1c-.3.6-.3 1.3 0 1.8C4.9 36.4 14.7 43 26 43s21.1-6.6 25.8-16.1c.3-.6.3-1.2 0-1.8zM26 37c-6.1 0-11-4.9-11-11s4.9-11 11-11 11 4.9 11 11-4.9 11-11 11z\"},{\"d\":\"M26 19c-3.9 0-7 3.1-7 7s3.1 7 7 7 7-3.1 7-7-3.1-7-7-7z\"}]}},\nprice_book_entries:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M25 2.3l11.7.2a5.51 5.51 0 012.5 1l4.6 4.6 4.6 4.6a3.55 3.55 0 011 2.5l.3 11.8a3.55 3.55 0 01-1 2.5L29.5 48.7a3.69 3.69 0 01-5 0L13.9 38.1 3.3 27.5a3.69 3.69 0 010-5L22.5 3.3a3.55 3.55 0 012.5-1zM18.6 21l-1.9 1.8a.85.85 0 000 1.3l11.2 11.2a.85.85 0 001.3 0l1.9-1.9a.85.85 0 000-1.3L19.7 21a.65.65 0 00-1.1 0zm5.3-5.4L22 17.5a.85.85 0 000 1.3L33.2 30a.85.85 0 001.3 0l1.9-1.9a.85.85 0 000-1.3L25.1 15.6a.91.91 0 00-1.2 0zM42 10a3.69 3.69 0 00-5 0 3.69 3.69 0 000 5 3.69 3.69 0 005 0 3.69 3.69 0 000-5z\"}},\nprice_books:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M8.6 36.9V29H7a3.22 3.22 0 01-3.2-3.2 3.26 3.26 0 013-3.2h1.8v-7.9H7a3.22 3.22 0 01-3.2-3.2 3.26 3.26 0 013-3.2h1.8V6.8a4.79 4.79 0 014.6-4.6h30c2.6 0 4.9 1.65 5 4.15V44.6a5.39 5.39 0 01-4.8 5.2h-30A5.26 5.26 0 018.5 45v-1.7H7a3.22 3.22 0 01-3.2-3.2 3.26 3.26 0 013-3.2zm18.9-23.2a2 2 0 00-1.5.6L14.8 25.4a2.05 2.05 0 000 2.9l12.3 12.3a2.05 2.05 0 002.9 0l11.2-11.2a2 2 0 00.6-1.5l-.2-6.8a1.68 1.68 0 00-.6-1.4l-5.3-5.4a2.25 2.25 0 00-1.4-.6zm-3.9 10.8a.48.48 0 01.7 0l6.5 6.5a.48.48 0 010 .7l-1.1 1.1a.48.48 0 01-.7 0l-6.5-6.5a.48.48 0 010-.7zm3.2-3a.48.48 0 01.7 0L34 28a.48.48 0 010 .7l-1 1a.48.48 0 01-.7 0l-6.5-6.5a.48.48 0 010-.7zm10.5-3.3a2.05 2.05 0 11-2.9 0 2.05 2.05 0 012.9 0z\"}},\npricing_workspace:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M15.1 2.1a1.63 1.63 0 011.7 1.7v1.1a1.63 1.63 0 01-1.7 1.7H10a3.4 3.4 0 00-3.4 3.2V42a3.4 3.4 0 003.2 3.4H42a3.4 3.4 0 003.4-3.2v-5.3a1.63 1.63 0 011.7-1.7h1.1a1.63 1.63 0 011.7 1.7v6.2a6.81 6.81 0 01-6.8 6.8H8.9a6.81 6.81 0 01-6.8-6.8V8.9a6.81 6.81 0 016.8-6.8z\",\"fill-rule\":\"evenodd\"},{\"d\":\"M29.7 4.9l8.4.2a4 4 0 011.8.7l3.3 3.3 3.3 3.3a2.41 2.41 0 01.7 1.8l.2 8.4a2.64 2.64 0 01-.7 1.9L32.9 38.4a2.53 2.53 0 01-3.6 0l-7.6-7.6-7.6-7.6a2.53 2.53 0 010-3.6L27.9 5.7a2.34 2.34 0 011.8-.8zM25 18.4l-1.4 1.4a.75.75 0 000 .9l8.1 8.1a.75.75 0 00.9 0l1.4-1.4a.75.75 0 000-.9l-8.1-8.1a.56.56 0 00-.9 0zm3.8-3.8L27.5 16a.75.75 0 000 .9l8.1 8.1a.75.75 0 00.9 0l1.4-1.4a.75.75 0 000-.9l-8.1-8.1c-.3-.3-.6-.3-1 0zm13.1-4.1a2.55 2.55 0 100 3.6 2.54 2.54 0 000-3.6z\"}]},\nprint:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M46.5 17.4h-41c-2.2 0-4 1.8-4 4v14c0 2.2 1.8 4 4 4h5.9v5.8c0 2.2 1.8 4 4 4h21.3c2.2 0 4-1.8 4-4v-5.8h5.9c2.2 0 4-1.8 4-4v-14c-.1-2.2-1.9-4-4.1-4zM8.3 27.7c-1.7 0-3-1.3-3-3s1.3-3 3-3 3 1.3 3 3-1.3 3-3 3zm27.6 15.4c0 .8-.7 1.5-1.5 1.5h-17c-.8 0-1.5-.7-1.5-1.5v-9.8c0-.8.7-1.5 1.5-1.5h17c.8 0 1.5.7 1.5 1.5v9.8zM40.5 11.1c0 .8-.7 1.5-1.5 1.5H12.8c-.8 0-1.5-.7-1.5-1.5V4.3c0-.8.7-1.5 1.5-1.5H39c.8 0 1.5.7 1.5 1.5v6.8z\"}}},\npriority:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M9 3.5C9 2.7 8.3 2 7.5 2h-3C3.7 2 3 2.7 3 3.5v45c0 .8.7 1.5 1.5 1.5h3c.8 0 1.5-.7 1.5-1.5v-45zM47.5 7.7c-16 8.4-14.2-8.8-33.5-2.1-.6.2-1 .8-1 1.4v23.3c0 .7.7 1.2 1.3.9 19.2-6.4 17.2 11.2 33.9 1.8.5-.3.8-.8.8-1.3V8.5c0-.7-.8-1.2-1.5-.8z\"}}},\nprivately_shared:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M35.6 39.5c-.7-4.1-4.9-6.2-8.3-7.7-1.5-.7-3.6-1.5-4.2-3.3-.4-1-.2-2 .3-2.9.9-.9 1.7-1.7 2.4-2.8.2-.3.3-.5.5-.8 2-2.9 2.3-6.9 1.1-10.2-1.2-3.6-4.4-6-8.3-6.1h-.6c-3.9.1-7.1 2.5-8.3 6.1-1.2 3.4-.9 7.3 1.1 10.2.1.3.3.5.5.8.7 1.1 1.6 1.9 2.4 2.8.4.9.6 1.9.3 2.9-.6 1.8-2.7 2.6-4.2 3.3-3.4 1.5-7.6 3.6-8.3 7.7-.7 3.4 1.6 6.8 5.2 6.8h23.6c3.2 0 5.5-3.4 4.8-6.8zM41.3 9.9c4.1-.2 7.4 3 7.4 7.1 0 .3-.2.4-.4.4h-1.8c-.3 0-.4-.1-.4-.4v.1c0-2.4-1.8-4.4-4.1-4.6-2.6-.2-4.7 1.9-4.7 4.4 0 .3-.2.4-.4.4h-1.8c-.2 0-.4-.2-.4-.4 0-3.6 2.9-6.8 6.6-7z\"},{\"d\":\"M48.7 19.2H34.6c-1 0-1.8.8-1.8 1.8v8.4c0 1 .8 1.8 1.8 1.8h14.1c1 0 1.8-.8 1.8-1.8V21c0-1-.8-1.8-1.8-1.8zm-5 8.7c.1.3-.1.6-.4.6H40c-.3 0-.5-.3-.4-.6l.8-2.6c-.7-.4-1.1-1.2-.9-2.1.2-.8.8-1.5 1.7-1.7 1.4-.3 2.6.7 2.6 2.1 0 .7-.4 1.4-.9 1.7l.8 2.6z\"}]},\nprocess:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M16.2 23.2l8.5-10.6c.6-.8 1.8-.8 2.4 0l8.5 10.7c.3.4.7.7 1.2.7h9.6c.8 0 1.6-.7 1.6-1.5V8c0-2.2-1.9-4-4.1-4H8C5.8 4 4 5.8 4 8v14.5c0 .8.7 1.5 1.5 1.5H15c.5 0 .9-.4 1.2-.8zM35.7 28.8l-8.5 10.6c-.6.8-1.8.8-2.4 0l-8.5-10.7c-.4-.3-.8-.7-1.3-.7H5.5c-.8 0-1.5.7-1.5 1.5V44c0 2.2 1.8 4 4 4h36c2.2 0 4-1.8 4-4V29.5c0-.8-.7-1.5-1.5-1.5h-9.6c-.5 0-.9.4-1.2.8z\"}},\nproduct_quantity_rules:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M21.45 32.64H5.36a1.29 1.29 0 00-1.28 1.29v1.28a1.28 1.28 0 001.28 1.28h16.09a1.28 1.28 0 001.28-1.28v-1.28a1.29 1.29 0 00-1.28-1.29zM21.45 41.66H5.36A1.29 1.29 0 004.08 43v1.32a1.28 1.28 0 001.28 1.28h16.09a1.28 1.28 0 001.28-1.28V43a1.29 1.29 0 00-1.24-1.34zM46.65 32.64H30.57a1.29 1.29 0 00-1.28 1.29v1.28a1.28 1.28 0 001.28 1.28h16.08a1.28 1.28 0 001.29-1.27v-1.29a1.29 1.29 0 00-1.29-1.29zM46.65 41.66H30.57A1.29 1.29 0 0029.29 43v1.32a1.28 1.28 0 001.28 1.28h16.08a1.28 1.28 0 001.29-1.27V43a1.29 1.29 0 00-1.24-1.34zM38.61 6.52a10.17 10.17 0 1010.17 10.17A10.19 10.19 0 0038.61 6.52zm5 10.88a.63.63 0 01-.61.6h-8.79a.6.6 0 01-.64-.55 8.66 8.66 0 010-1.44.66.66 0 01.64-.55H43a.64.64 0 01.63.55 9.22 9.22 0 010 1.39zM20.63 9.45a10.21 10.21 0 100 14.44 10.21 10.21 0 000-14.44zm-.43 8.07a.4.4 0 01-.38.42h-4.71a.45.45 0 00-.43.43V23a.44.44 0 01-.42.42h-1.7a.4.4 0 01-.43-.37v-4.68a.4.4 0 00-.37-.43H7a.4.4 0 01-.43-.37v-1.75a.45.45 0 01.43-.43h4.67a.4.4 0 00.42-.38V10.3a.47.47 0 01.43-.43h1.7a.42.42 0 01.42.42V15a.4.4 0 00.38.42h4.72a.45.45 0 01.42.43z\"}},\nproduct_service_campaign:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M24 35.33a.81.81 0 01.81.71v11.52A2.44 2.44 0 0122.49 50H6.07a2.45 2.45 0 01-2.44-2.28V36.15a.81.81 0 01.71-.81H24zm23.61 0a.82.82 0 01.81.71v11.52A2.44 2.44 0 0146.09 50H29.67a2.44 2.44 0 01-2.43-2.28V36.15a.81.81 0 01.71-.81h19.61zM17.69 38.7l-.09.07-4.6 5.06-2.11-2a.62.62 0 00-.79-.07l-.08.07-.87.78a.49.49 0 00-.07.71l.07.08 3 2.83a1.25 1.25 0 00.87.36 1.15 1.15 0 00.87-.36l5.52-5.84a.63.63 0 00.06-.72l-.06-.07-.87-.78a.61.61 0 00-.85-.12zm23.61 0l-.09.07-4.66 5.06-2.11-2a.61.61 0 00-.78-.07l-.09.07-.87.78a.49.49 0 00-.06.71l.06.08 3 2.83a1.25 1.25 0 00.87.36 1.14 1.14 0 00.87-.36L43 40.34a.65.65 0 000-.72v-.07l-.87-.78a.61.61 0 00-.83-.07zM22.54 27.18a2.36 2.36 0 012.27 2.28v2.61a.81.81 0 01-.66.81H2.76a.78.78 0 01-.76-.7v-2.55a2.38 2.38 0 012.13-2.44h18.41zm25.18 0A2.36 2.36 0 0150 29.46v2.61a.81.81 0 01-.66.81h-21.4a.78.78 0 01-.75-.71v-2.54a2.38 2.38 0 012.13-2.44h18.4zm-12-17a.81.81 0 01.8.71v11.48a2.44 2.44 0 01-2.28 2.44H17.87a2.46 2.46 0 01-2.44-2.29V11a.81.81 0 01.71-.8h19.62zm-6.27 3.37l-.08.07-4.66 5.06-2.11-2a.61.61 0 00-.78-.07l-.09.07-.87.78a.5.5 0 00-.07.71l.07.08 3 2.82a1.22 1.22 0 00.87.37 1.13 1.13 0 00.87-.37l5.53-5.83a.65.65 0 00.05-.72l-.05-.07-.87-.78a.62.62 0 00-.77-.15zM35.76 2a2.44 2.44 0 012.43 2.28v2.61a.83.83 0 01-.71.81H14.62a.81.81 0 01-.81-.7V4.44A2.44 2.44 0 0116.08 2z\"}},\nproduct_service_campaign_item:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M45.2 19.6a1.6 1.6 0 011.59 1.45V43.6a4.82 4.82 0 01-4.59 4.8H10a4.82 4.82 0 01-4.8-4.59V21.2a1.6 1.6 0 011.45-1.59H45.2zm-12.39 6.67l-.11.08-9.16 9.93-4.15-4a1.2 1.2 0 00-1.61-.08l-.1.08L16 33.8a1 1 0 00-.09 1.44l.09.1 5.86 5.55a2.47 2.47 0 001.71.71 2.27 2.27 0 001.71-.71l4.9-5.16.39-.41.52-.55 5-5.3A1.25 1.25 0 0036.2 28l-.07-.09-1.72-1.54a1.19 1.19 0 00-1.6-.1zM45.2 3.6A4.81 4.81 0 0150 8.4v4.8a1.6 1.6 0 01-1.6 1.6H3.6A1.6 1.6 0 012 13.2V8.4a4.81 4.81 0 014.8-4.8z\"}},\nproduct_warranty_term:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M38.77 25.61c1.42 0 2.54 1.54 3.79 2.07s3.19.24 4.13 1.24.71 2.84 1.24 4.14S50 35.42 50 36.84s-1.54 2.54-2.07 3.78-.23 3.19-1.24 4.14-2.83.7-4.13 1.24-2.37 2.06-3.79 2.06S36.23 46.53 35 46s-3.19-.24-4.13-1.24-.71-2.84-1.24-4.14-2.07-2.36-2.07-3.78 1.53-2.54 2.07-3.78.23-3.19 1.24-4.14 2.83-.71 4.13-1.24 2.36-2.07 3.77-2.07zM26.71 41a4.82 4.82 0 01.38.7c.5 1.22.47 2.83.89 4.08H3.39A1.5 1.5 0 012 44.15v-1.59A1.51 1.51 0 013.39 41h23.32zM43 33.18a.55.55 0 00-.81 0l-4.38 5-2-2a.55.55 0 00-.81 0l-.82.77a.52.52 0 000 .77l2.8 2.8a1.13 1.13 0 00.82.35 1.05 1.05 0 00.82-.35l5.19-5.77a.62.62 0 000-.77zM6.65 12.3A1.38 1.38 0 018 13.73V36a1.38 1.38 0 01-1.32 1.43H3.33A1.39 1.39 0 012 36V13.73a1.39 1.39 0 011.33-1.43h3.32zm19 0a1.43 1.43 0 011.43 1.43V32c-.68 1.57-2.63 3-2.63 4.81a2.48 2.48 0 00.06.54h-3.16A1.43 1.43 0 0119.92 36V13.73a1.43 1.43 0 011.43-1.43h4.3zm-9.71 0a1.52 1.52 0 011.59 1.43V36a1.52 1.52 0 01-1.59 1.43h-1.6A1.52 1.52 0 0112.75 36V13.73a1.52 1.52 0 011.59-1.43h1.6zm17.91 0a1.52 1.52 0 011.6 1.43v10.48a7 7 0 01-1.5.94 19.63 19.63 0 01-3.28.69V13.73a1.52 1.52 0 011.59-1.43h1.59zm8.63 0a1.39 1.39 0 011.33 1.43v11.5l-.21-.08c-1.58-.67-3-2.63-4.83-2.63a2.79 2.79 0 00-.94.17v-9a1.39 1.39 0 011.33-1.43h3.32zm-.07-8.36a1.51 1.51 0 011.4 1.59v1.59a1.51 1.51 0 01-1.4 1.59h-39A1.5 1.5 0 012 7.12V5.53a1.5 1.5 0 011.39-1.59h39z\"}},\nproduct_workspace:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M15.2 2.2a1.63 1.63 0 011.7 1.7V5a1.63 1.63 0 01-1.7 1.7h-5.1a3.4 3.4 0 00-3.4 3.2v32a3.4 3.4 0 003.2 3.4h32a3.4 3.4 0 003.4-3.2v-5.3a1.63 1.63 0 011.7-1.7h1.1a1.63 1.63 0 011.7 1.7V43a6.81 6.81 0 01-6.8 6.8H9A6.81 6.81 0 012.2 43V9A6.81 6.81 0 019 2.2z\",\"fill-rule\":\"evenodd\"},{\"d\":\"M40.4 25.4l3.1-3.1a1 1 0 000-1.5L31 8.2a1 1 0 00-1.5 0l-3.1 3.1a1 1 0 000 1.5l12.5 12.5a1 1 0 001.5.1zM47.4 18.3l1.5-1.5a1 1 0 000-1.5L36.5 2.7a1 1 0 00-1.5 0l-1.5 1.5a1 1 0 000 1.5L46 18.3a1 1 0 001.4 0zM36.8 28.9c.6-.6.5-1.1.1-1.5L24.4 14.9a1 1 0 00-1.5 0l-.1.1a1 1 0 000 1.5L35.3 29a1 1 0 001.5-.1zM32.4 33.3l.7-.7a1 1 0 000-1.5L20.7 18.5a1 1 0 00-1.5 0l-.7.7a1 1 0 000 1.5L31 33.2c.3.6.9.6 1.4.1zM25.7 40.1l3.1-3.1a1 1 0 000-1.5L16.3 22.9a1 1 0 00-1.5 0L11.7 26a1 1 0 000 1.5L24.2 40a1 1 0 001.5.1z\"}]},\nproducts:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M31.9 39.5h6a1.42 1.42 0 001.5-1.5V14a1.42 1.42 0 00-1.5-1.5h-6a1.42 1.42 0 00-1.5 1.5v24a1.42 1.42 0 001.5 1.5zM45.4 39.5h3a1.42 1.42 0 001.5-1.5V14a1.42 1.42 0 00-1.5-1.5h-3a1.42 1.42 0 00-1.5 1.5v24a1.42 1.42 0 001.5 1.5zM25 39.5a1.37 1.37 0 001.5-1.5V14a1.42 1.42 0 00-1.5-1.5 1.42 1.42 0 00-1.5 1.5v24a1.37 1.37 0 001.5 1.5zM16.6 39.5H18a1.42 1.42 0 001.5-1.5V14a1.42 1.42 0 00-1.5-1.5h-1.5A1.42 1.42 0 0015 14v24a1.45 1.45 0 001.6 1.5zM3.6 39.5h6a1.42 1.42 0 001.5-1.5V14a1.42 1.42 0 00-1.5-1.5h-6A1.42 1.42 0 002.1 14v24a1.47 1.47 0 001.5 1.5z\"}}},\nprofile:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"circle\":{\"cx\":\"26\",\"cy\":\"20.7\",\"r\":\"6.15\"},\"path\":{\"d\":\"M27.14 2.72a1.89 1.89 0 00-2.28 0c-8.42 6.34-16.37 12.33-16.37 24A16.92 16.92 0 0013.19 39c.24.24.48.47.74.7a17.9 17.9 0 0010.53 4.19L22.74 47s-2 2.68 2.69 2.68h1.14c4.72 0 2.68-2.68 2.68-2.68l-1.71-3.06a17.9 17.9 0 0010.53-4.19c3.56-3.13 5.44-7.64 5.44-13 0-11.7-7.95-17.69-16.37-24.03zm10.1 32.37a9.74 9.74 0 01-1 1.13A10.77 10.77 0 0016 35.67 10.17 10.17 0 0114.53 34a15 15 0 01-1.94-10.84c1.24-6.62 6.07-11 13.41-16.56 8.57 6.52 13.73 11.4 13.73 20.08a13.73 13.73 0 01-2.49 8.41z\"}},\npromotions:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M33.39 28.66a3.12 3.12 0 103.15 3.13 3.12 3.12 0 00-3.15-3.13zM18.52 17.08a3.12 3.12 0 103.12 3.13 3.12 3.12 0 00-3.12-3.13z\"},{\"d\":\"M48.77 22.84l-2.61-3.13a5.61 5.61 0 01-1.31-3.24l-.3-4a5.13 5.13 0 00-4.69-4.78l-3.49-.28a7.36 7.36 0 01-4.2-1.79l-2.65-2.33a5.15 5.15 0 00-6.7-.06l-2.88 2.43a6.64 6.64 0 01-3.79 1.54l-3.74.26a5.14 5.14 0 00-4.78 4.7l-.27 3.41a7.49 7.49 0 01-1.8 4.24l-2.29 2.64a5.14 5.14 0 00-.06 6.69l2.49 3a6.21 6.21 0 011.42 3.56l.28 3.85a5.15 5.15 0 004.69 4.78l3.5.31a7.23 7.23 0 014.18 1.78l2.66 2.3a5.17 5.17 0 006.7.05l3.05-2.55a5.9 5.9 0 013.4-1.36l4-.29a5.13 5.13 0 004.78-4.69l.29-3.24a8.18 8.18 0 012-4.64l2.13-2.43a5.12 5.12 0 00-.01-6.73zm-36-2.63A5.8 5.8 0 1118.58 26a5.79 5.79 0 01-5.82-5.76zm8.39 17.11a.46.46 0 01-.35.23h-1.73a.45.45 0 01-.37-.22.42.42 0 010-.43l12.12-22.25a.51.51 0 01.36-.22H33a.43.43 0 01.21.58zm18.13-5.54a4.51 4.51 0 10-.08 0z\"}]},\nprompt:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",\"d\":\"M47 4.5H5c-1.7 0-3 1.3-3 3v30.6c0 1.7 1.3 3 3 3h14.5l3.6 5.2c1 1.4 2.8 1.7 4.2.7l.6-.6 4.2-5.3H47c1.7 0 3-1.3 3-3V7.5c0-1.7-1.3-3-3-3z\"}},\nprompt_edit:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",\"d\":\"M47 4.5H5c-1.7 0-3 1.3-3 3v30.6c0 1.7 1.3 3 3 3h14.5l3.6 5.2c1 1.4 2.8 1.7 4.2.7l.6-.6 4.2-5.3H47c1.7 0 3-1.3 3-3V7.5c0-1.7-1.3-3-3-3zM21.3 32c-.2.2-.3.3-.5.3l-5 1.2c-.5.1-.9-.3-.8-.8l1.2-5c0-.1.1-.3.2-.4l.1-.1c.1-.1.4-.1.6 0l4.2 4.2c.1.2.1.5 0 .6zm12.1-12.3L23.1 30c-.2.2-.5.2-.6 0l-4.1-4.1c-.2-.1-.2-.4 0-.6L28.6 15c.2-.2.5-.2.6 0l4.1 4.1c.2.2.2.4.1.6zm3.1-3l-1.2 1.2c-.2.2-.5.2-.6 0l-4.1-4.1c-.2-.2-.2-.5 0-.6l1.1-1.2c.7-.7 1.9-.7 2.6 0l2.2 2.2c.7.7.7 1.8 0 2.5z\"}},\npropagation_policy:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M13.6 2H8a6 6 0 00-6 6v4a6 6 0 006 6h5.6a6 6 0 006-6V8a6 6 0 00-6-6zm-2 11.2H10a3.2 3.2 0 010-6.4h1.6a3.2 3.2 0 010 6.4zM30.4 18H36a6 6 0 006-6V8a6 6 0 00-6-6h-5.6a6 6 0 00-6 6v4a6 6 0 006 6zm2-11.2H34a3.2 3.2 0 110 6.4h-1.6a3.2 3.2 0 110-6.4zM13.6 22.8H8a6 6 0 00-6 6v4a6 6 0 006 6h5.6a6 6 0 006-6v-4a6 6 0 00-6-6zm-2 11.2H10a3.2 3.2 0 110-6.4h1.6a3.2 3.2 0 110 6.4zM47.6 39.6h-8v-2.82a7.2 7.2 0 10-4.8 0v2.82h-8a2.39 2.39 0 00-2.4 2.4v5.62A2.39 2.39 0 0026.8 50a2.39 2.39 0 002.38-2.4v-3.2h5.6v3.22A2.39 2.39 0 0037.2 50a2.39 2.39 0 002.38-2.4v-3.2h5.6v3.22A2.39 2.39 0 0047.6 50a2.39 2.39 0 002.4-2.4V42a2.39 2.39 0 00-2.4-2.4zm-10.4-12a2.4 2.4 0 11-2.4 2.4 2.39 2.39 0 012.42-2.4z\",\"fill-rule\":\"evenodd\"}},\npush:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M44 2H20c-2.2 0-4 1.8-4 4v.1c0 .7.4 1.4 1 1.8.3.2 4.1 4 4.1 4 .3.3.8 0 .8-.4 0-.8.7-1.6 1.5-1.6h17c.8 0 1.6.8 1.6 1.6v27c0 .8-.8 1.4-1.6 1.4h-17c-.8 0-1.4-.6-1.4-1.4v-.1c0-.4-.5-.6-.8-.3 0 0-3.8 3.8-4.2 4-.6.4-1 1-1 1.8v2c0 2.2 1.7 4 3.9 4h24c2.2 0 4.1-1.8 4.1-4V6c0-2.2-1.8-4-4-4zM32 48c-1.7 0-3-1.3-3-3s1.3-3 3-3 3 1.3 3 3-1.3 3-3 3z\"},{\"d\":\"M27.6 23.9L15.1 11.4c-.6-.6-1.5-.6-2.1 0l-2.1 2.1c-.6.6-.6 1.5 0 2.1l4.6 4.6c.6.6.2 1.7-.7 1.7H1.5c-.8.1-1.5.8-1.5 1.6v3c0 .8.7 1.5 1.5 1.5h13.2c.9 0 1.3 1.1.7 1.7l-4.6 4.6c-.6.6-.6 1.5 0 2.1l2.1 2.1c.6.6 1.5.6 2.1 0L27.6 26c.5-.5.5-1.5 0-2.1z\"}]}},\npuzzle:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M45 38.4c-.2 2.7-.5 5.6-1 8.4-.1.8-1 1.7-1.8 1.8-5.4.6-10.7 1-16.1 1-5.3 0-10.7-.3-16-1-.8-.1-1.7-.9-1.8-1.8-.7-4.4-1.1-8.9-1.1-13.4s.4-9 1.1-13.4c.1-.8 1-1.6 1.8-1.8 3.3-.4 6.5-.6 9.7-.8 0 0 2.6-.1 2.4-2.6-.2-2.2-4-3.7-4-7.4 0-3 3-5.4 7.9-5.4 4.8 0 7.8 2.4 7.8 5.4 0 3.8-3.7 5.2-3.9 7.4-.2 2.4 2.4 2.6 2.4 2.6 3.3.1 6.6.4 9.8.8.8.1 1.7.9 1.8 1.8.5 3.1.8 6 1 9.1 0 .9-.7 1.8-1.6 1.8h-.9c-.9 0-2.3-.7-2.9-1.4 0 0-2.1-2.2-4.4-2.3-3.7-.1-6.5 3.1-6.5 6.6s2.8 6.8 6.4 6.7c2.2-.1 4.4-2.3 4.4-2.3.7-.6 2-1.2 2.9-1.2h.9c1.1 0 1.8.6 1.7 1.4z\"}},\nquestion:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M28.4 38h-5c-.8 0-1.4-.6-1.4-1.4v-1.5c0-4.2 2.7-8 6.7-9.4 1.2-.4 2.3-1.1 3.2-2.1 5-6 .4-13.2-5.6-13.4-2.2-.1-4.3.7-5.9 2.2-1.3 1.2-2.1 2.7-2.3 4.4-.1.6-.7 1.1-1.5 1.1h-5c-.9 0-1.6-.7-1.5-1.6.4-3.8 2.1-7.2 4.8-9.9 3.2-3 7.3-4.6 11.7-4.5C34.9 2.2 41.7 9 42 17.3c.3 7-4 13.3-10.5 15.7-.9.4-1.5 1.1-1.5 2v1.5c0 .9-.8 1.5-1.6 1.5zM30 48.5c0 .8-.7 1.5-1.5 1.5h-5c-.8 0-1.5-.7-1.5-1.5v-5c0-.8.7-1.5 1.5-1.5h5c.8 0 1.5.7 1.5 1.5v5z\"}},\nquestion_mark:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M26.7 42.8c.8 0 1.5.7 1.5 1.5v3.2c0 .8-.7 1.5-1.5 1.5h-3.2c-.8 0-1.5-.7-1.5-1.5v-3.2c0-.8.7-1.5 1.5-1.5h3.2zM28.2 35.1c0-2.1 1.3-4 3.1-4.8h.1c5.2-2.1 8.8-7.2 8.8-13.2 0-7.8-6.4-14.2-14.2-14.2-7.2 0-13.2 5.3-14.2 12.2v.1c-.1.9.6 1.6 1.5 1.6h3.2c.8 0 1.4-.5 1.5-1.1v-.2c.7-3.7 4-6.5 7.9-6.5 4.5 0 8.1 3.6 8.1 8.1 0 2.1-.8 4-2.1 5.5l-.1.1c-.9 1-2.1 1.6-3.3 2-4 1.4-6.7 5.2-6.7 9.4v1.5c0 .8.6 1.4 1.4 1.4h3.2c.8 0 1.6-.6 1.6-1.5l.2-.4z\"}}},\nquestions_and_answers:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M50 28c0-3.9-2.5-7.3-6-8.5C43.7 9.8 35.8 2 26 2S8.3 9.8 8 19.5c-3.5 1.2-6 4.6-6 8.5 0 4.2 2.9 7.7 6.7 8.7C10.9 44.4 17.8 50 26 50s15.1-5.6 17.3-13.3c3.8-1 6.7-4.5 6.7-8.7zm-10-9l-.1-.1.4.1H40zM26 46c-7.7 0-14-6.5-14-14.4 0-2 .4-5 1.2-6.8.1-.3.3-.6.4-.9 3-1.2 5.6-3.3 7.3-6 3.5 4.4 9 7.4 15.1 7.4 2.1 0 2.7.1 2.9 0 .4 1.3.8 2.9.9 4.5-.6 2.5-4.5 4.9-10 5.2-.2-.5-.8-1-1.4-1h-5c-.8 0-1.4.8-1.4 1.6v3c0 .8.6 1.4 1.4 1.4h5c.7 0 1.2-.3 1.4-.9 3.6-.1 6.8-1.1 9.3-2.6C37.2 42 32.1 46 26 46z\"}},\nquick_text:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M26.1 3.3C12.5 3.3 1.5 13.4 1.5 25.8c0 3.9 1.1 7.6 3 10.9.3.5.4 1.1.2 1.7l-3.2 8.7c-.3.8.5 1.5 1.3 1.3l8.8-3.4c.5-.2 1.1-.1 1.7.2 3.7 2.1 8.1 3.3 12.9 3.3 13.5-.1 24.5-10.1 24.5-22.6 0-12.5-11-22.6-24.6-22.6zM14.7 25c0-.5.4-1 1-1h15.9c.5 0 1 .4 1 1v2c0 .5-.4 1-1 1h-16c-.5 0-1-.4-1-1v-2zm22.9 9.6c0 .5-.4 1-1 1h-21c-.5 0-1-.4-1-1v-1.9c0-.5.4-1 1-1h21c.5 0 1 .4 1 1v1.9zm0-15.3c0 .5-.4 1-1 1h-21c-.5 0-1-.4-1-1v-1.9c0-.5.4-1 1-1h21c.5 0 1 .4 1 1v1.9z\"}},\nquip:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M24.5 2.1c-12 .7-21.7 10.4-22.4 22.4C1.1 38.3 12.2 50 26 50h24V26C50 12.2 38.3 1.1 24.5 2.1zm-9.9 13.4c0-.9.7-1.6 1.6-1.6h19.6c.9 0 1.6.7 1.6 1.6v1.6c0 .9-.7 1.6-1.6 1.6H16.1c-.9 0-1.6-.7-1.6-1.6.1.1.1-1.6.1-1.6zm22.8 20.8c0 .9-.7 1.6-1.6 1.6H16.1c-.9 0-1.6-.7-1.6-1.6v-1.6c0-.9.7-1.6 1.6-1.6h19.6c.9 0 1.6.7 1.6 1.6v1.6h.1zm6-9.5c0 .9-.7 1.6-1.6 1.6H10.1c-.9 0-1.6-.7-1.6-1.6v-1.6c0-.9.7-1.6 1.6-1.6h31.7c.9 0 1.6.7 1.6 1.6v1.6z\"}},\nquotation_marks:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M44.3 6.5c-9 0-15.9 7-15.9 16V44c0 .8.7 1.5 1.5 1.5h17c.8 0 1.5-.7 1.5-1.5V27c0-.8-.7-1.5-1.5-1.5H34.4v-3c0-5 4.9-10 9.9-10h2.6c.8 0 1.5-.7 1.5-1.5V8c0-.8-.7-1.5-1.5-1.5h-2.6zM19.5 6.5c-9 0-15.9 7-15.9 16V44c0 .8.7 1.5 1.5 1.5h17c.8 0 1.5-.7 1.5-1.5V27c0-.8-.7-1.5-1.5-1.5H9.6v-3c0-5 4.9-10 9.9-10h2.6c.8 0 1.5-.7 1.5-1.5V8c0-.8-.7-1.5-1.5-1.5h-2.6z\"}}},\nquote:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M45.2 2.1H27.7c-1.1-.1-2.1.5-2.9 1.3L3.4 24.9c-1.8 1.8-1.8 4.9 0 6.8l17 17c1.8 1.8 4.9 1.8 6.8 0l21.7-21.8c.8-.8 1.3-2.1 1.2-3.2V6.9c-.1-2.6-2.3-4.8-4.9-4.8zM27.9 37.3l-1.1 1.1c-.6.6-1.6.6-2.2 0L13.7 27.6c-.6-.6-.6-1.6 0-2.2l1.1-1.1c.6-.6 1.6-.6 2.2 0l10.9 10.9c.7.5.7 1.5 0 2.1zm6.4-6.4L33.2 32c-.6.6-1.6.6-2.2 0L20.1 21.2c-.6-.6-.6-1.6 0-2.2l1.1-1.1c.6-.6 1.6-.6 2.2 0l10.9 10.9c.7.5.7 1.5 0 2.1zm4.5-13.6c-2.2 0-4-1.8-4-4s1.8-4 4-4 4 1.8 4 4-1.8 4-4 4z\"}},\nradio_button:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M13.1 28.5C7.2 28.5 2.5 33.2 2.5 39s4.7 10.6 10.6 10.6c5.8 0 10.6-4.7 10.6-10.6-.1-5.8-4.8-10.5-10.6-10.5zm0 16.4c-3.2 0-5.9-2.6-5.9-5.9s2.6-5.9 5.9-5.9S19 35.7 19 39s-2.7 5.9-5.9 5.9zM38.9 28.5c-5.8 0-10.6 4.7-10.6 10.6 0 5.8 4.7 10.6 10.6 10.6 5.8 0 10.6-4.7 10.6-10.6 0-5.9-4.7-10.6-10.6-10.6zM13.1 2.5C7.2 2.5 2.5 7.2 2.5 13.1c0 5.8 4.7 10.6 10.6 10.6 5.8 0 10.6-4.7 10.6-10.6-.1-5.9-4.8-10.6-10.6-10.6zm0 16.4c-3.2 0-5.9-2.6-5.9-5.9s2.6-5.9 5.9-5.9S19 9.7 19 13s-2.7 5.9-5.9 5.9zM38.9 2.5c-5.8 0-10.6 4.7-10.6 10.6 0 5.8 4.7 10.6 10.6 10.6 5.8 0 10.6-4.7 10.6-10.6 0-5.9-4.7-10.6-10.6-10.6z\"}},\nrating:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M27.413 3.101l4.6 15c.2.6.8.9 1.4.9h15c1.5 0 2.1 2 .9 2.9l-12.2 9c-.5.4-.7 1.1-.5 1.7l5.8 15.4c.4 1.4-1.1 2.6-2.3 1.7l-13.1-9.8c-.5-.4-1.2-.4-1.8 0l-13.2 9.8c-1.2.9-2.8-.3-2.3-1.7l5.6-15.4c.2-.6 0-1.3-.5-1.7l-12.2-9c-1.2-.9-.5-2.9.9-2.9h15c.7 0 1.2-.2 1.4-.9l4.7-15.1c.4-1.4 2.4-1.3 2.8.1zm-1.4 9.701C26 14.17 26 33.542 26 34.495c.187.153 2.933 2.194 8.24 6.125.7.525 1.574-.175 1.34-.992L32.31 31.02c-.35-.77 0-1.271.43-1.535l6.866-4.789c.7-.525.35-1.691-.525-1.691h-8.06c-.35 0-1.268-.117-1.517-1.016l-2.67-8.545a.89.89 0 00-.82-.642z\"}},\nreassign:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M23.2 10.2C18.1 5.1 10 3.5 2.9 5.7c-.3 0-.7.5-.7 1.3v3.9c0 .8.7 1 1.1.9 5.4-2.2 12-1.2 16.3 3.3l1.1 1.1c.6.6.1 1.7-.7 1.7h-7.8c-.8 0-1.5.6-1.5 1.5v3c0 .8.6 1.5 1.5 1.5l19.2.2c.8 0 1.5-.6 1.5-1.5L33 3.5c0-.8-.6-1.5-1.5-1.5h-3c-.8 0-1.6.6-1.6 1.4l-.1 7.9c0 .8-1.1 1.3-1.7.7.1.1-1.9-1.8-1.9-1.8z\"},{\"d\":\"M3.5 27.8h3c.8 0 1.5.7 1.5 1.5v13.2c0 .8.7 1.5 1.5 1.5h33c.8 0 1.5-.7 1.5-1.5V16.9c0-.8-.7-1.5-1.5-1.5h-4c-.8 0-1.5-.7-1.5-1.5v-3c0-.8.7-1.5 1.5-1.5H46c2.2 0 4 1.8 4 4V46c0 2.2-1.8 4-4 4H6c-2.2 0-4-1.8-4-4V29.3c0-.8.7-1.5 1.5-1.5z\"}]},\nrecipe:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M31.2 4.24A2.24 2.24 0 1129 2a2.24 2.24 0 012.2 2.24zM23 12.56a3 3 0 10-3-3 3 3 0 003 3zm19.44 31l-10-15.36V20a2.14 2.14 0 002.4-2.24A2 2 0 0033 15.6H19.2a2 2 0 00-2 2 2.09 2.09 0 000 .25 2.16 2.16 0 002.4 2.24v8.31l-10 15.2a4.26 4.26 0 00-.24 4.24A3.91 3.91 0 0012.88 50H39a3.9 3.9 0 003.52-2.16 4 4 0 00-.16-4.24zm-18.8-14V20.4h4.8v9.28l4.72 7.52H18.88z\",\"fill-rule\":\"evenodd\"}},\nrecord:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M26 8c9.9 0 18 8.1 18 18s-8.1 18-18 18S8 35.9 8 26 16.1 8 26 8z\"}},\nrecord_create:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M40.8 7.7\"},\"g\":{\"path\":[{\"d\":\"M17.2 11.6h17.6c.9 0 1.6-.7 1.6-1.6V6.8c0-2.6-2.2-4.8-4.8-4.8H20.4c-2.6 0-4.8 2.2-4.8 4.8V10c0 .9.7 1.6 1.6 1.6z\"},{\"d\":\"M43.6 6H42c-.5 0-.8.3-.8.8V10c0 3.5-2.9 6.4-6.4 6.4H17.2c-3.5 0-6.4-2.9-6.4-6.4V6.8c0-.5-.3-.8-.8-.8H8.4c-2.6 0-4.8 2.2-4.8 4.8v34.4c0 2.6 2.2 4.8 4.8 4.8h35.2c2.6 0 4.8-2.2 4.8-4.8V10.8c0-2.6-2.2-4.8-4.8-4.8zm-5.9 28.2c0 .4-.4.8-.8.8h-8.8c-.3 0-.5.2-.5.5v8.8c0 .4-.4.8-.8.8h-1.6c-.4 0-.8-.4-.8-.8v-8.8c0-.3-.2-.5-.5-.5h-8.8c-.4 0-.8-.4-.8-.8v-1.6c0-.4.4-.8.8-.8h8.8c.3 0 .5-.2.5-.5v-8.8c0-.4.4-.8.8-.8h1.6c.4 0 .8.4.8.8v8.8c0 .3.2.5.5.5h8.8c.4 0 .8.4.8.8v1.6z\"}]}},\nrecord_delete:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M17.2 11.6h17.6c.9 0 1.6-.7 1.6-1.6V6.8c0-2.6-2.2-4.8-4.8-4.8H20.4c-2.6 0-4.8 2.2-4.8 4.8V10c0 .9.7 1.6 1.6 1.6z\"},{\"d\":\"M43.6 6H42c-.5 0-.8.3-.8.8V10c0 3.5-2.9 6.4-6.4 6.4H17.2c-3.5 0-6.4-2.9-6.4-6.4V6.8c0-.5-.3-.8-.8-.8H8.4c-2.6 0-4.8 2.2-4.8 4.8v34.4c0 2.6 2.2 4.8 4.8 4.8h35.2c2.6 0 4.8-2.2 4.8-4.8V10.8c0-2.6-2.2-4.8-4.8-4.8zm-9.3 36.4c0 1.4-1.1 2.4-2.4 2.4H20.1c-1.4 0-2.4-1.1-2.4-2.4V32.1c0-.4.3-.7.7-.7h15.2c.4 0 .7.3.7.7v10.3zm2-14.9c0 .4-.3.7-.7.7H16.5c-.4 0-.7-.3-.7-.7V26c0-.4.3-.7.7-.7h6.1v-2c0-1.1.9-2 2-2h2.9c1.1 0 2 .9 2 2v2h6.1c.4 0 .7.3.7.7v1.5z\"},{\"d\":\"M24 34.8h-1c-.3 0-.5.2-.5.5V41c0 .3.2.5.5.5h1c.3 0 .5-.2.5-.5v-5.7c0-.3-.2-.5-.5-.5zM28.9 34.8h-1c-.3 0-.5.2-.5.5V41c0 .3.2.5.5.5h1c.3 0 .5-.2.5-.5v-5.7c0-.3-.2-.5-.5-.5zM27 23.4h-2c-.3 0-.5.2-.5.5v1.5h2.9v-1.5c.1-.3-.1-.5-.4-.5z\"}]}},\nrecord_lookup:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M17.2 11.6h17.6c.9 0 1.6-.7 1.6-1.6V6.8c0-2.6-2.2-4.8-4.8-4.8H20.4c-2.6 0-4.8 2.2-4.8 4.8V10c0 .9.7 1.6 1.6 1.6z\"},{\"d\":\"M43.6 6H42c-.5 0-.8.3-.8.8V10c0 3.5-2.9 6.4-6.4 6.4H17.2c-3.5 0-6.4-2.9-6.4-6.4V6.8c0-.5-.3-.8-.8-.8H8.4c-2.6 0-4.8 2.2-4.8 4.8v34.4c0 2.6 2.2 4.8 4.8 4.8h35.2c2.6 0 4.8-2.2 4.8-4.8V10.8c0-2.6-2.2-4.8-4.8-4.8zm-6.1 38.1l-1 1c-.3.3-.7.3-1 0L29 38.6c-1.9 1.3-4.2 2-6.7 1.6-4.2-.6-7.5-4.1-7.9-8.3-.6-5.8 4.3-10.7 10.1-10.1 4.3.4 7.7 3.7 8.3 7.9.4 2.5-.3 4.9-1.6 6.7l6.5 6.5c.1.4.1.8-.2 1.2z\"},{\"d\":\"M23.5 24.8c-3.5 0-6.3 2.9-6.3 6.3 0 3.5 2.8 6.3 6.3 6.3s6.3-2.8 6.3-6.3-2.8-6.3-6.3-6.3z\"}]}},\nrecord_update:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M40.8 7.7\"},\"g\":{\"path\":[{\"d\":\"M17.2 11.6h17.6c.9 0 1.6-.7 1.6-1.6V6.8c0-2.6-2.2-4.8-4.8-4.8H20.4c-2.6 0-4.8 2.2-4.8 4.8V10c0 .9.7 1.6 1.6 1.6z\"},{\"d\":\"M43.6 6H42c-.5 0-.8.3-.8.8V10c0 3.5-2.9 6.4-6.4 6.4H17.2c-3.5 0-6.4-2.9-6.4-6.4V6.8c0-.5-.3-.8-.8-.8H8.4c-2.6 0-4.8 2.2-4.8 4.8v34.4c0 2.6 2.2 4.8 4.8 4.8h35.2c2.6 0 4.8-2.2 4.8-4.8V10.8c0-2.6-2.2-4.8-4.8-4.8zM34 30.4L21.2 43.2l-5.6 1.6c-.5.1-1-.4-.9-.9l1.6-5.5 12.8-12.8c.2-.2.5-.2.7 0l4.1 4.2c.3.1.3.4.1.6zm3.7-3.7l-1.6 1.6c-.2.2-.5.2-.7 0l-4.2-4.2c-.2-.2-.2-.5 0-.7l1.6-1.6c.7-.8 2-.8 2.7 0l2.1 2.1c.9.8.9 2 .1 2.8z\"}]}},\nrecurring_exception:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M39 35L27.8 23.9l-.8-.8-9.9-9.9-4.4-4.4L7.9 4c-.7-.8-1.8-.9-2.4-.3L3.4 5.8c-.5.5-.5 1.3-.1 2l40.5 40.6.1.1c.7.7 1.8.8 2.4.3l2.1-2.1c.6-.6.5-1.7-.3-2.4l-4.7-4.7L39 35zM24.9 11c4 0 7.8 1.6 10.6 4.4.5.4.9.9 1.2 1.4.3.8-.4 1.2-1.3 1.2h-7.3l6 6h12.6c.7 0 1.3-.6 1.3-1.3V4.5c-.2-.8-.9-1.5-1.7-1.5h-3c-.8 0-1.5.7-1.5 1.5v7c0 .9-.5 1.3-1.2.7-.3-.4-.6-.7-1-1-5-5-12-7.1-19.2-5.7-1.3.3-2.5.6-3.7 1.2l4.8 4.8c1-.4 2.2-.5 3.4-.5zM26.9 41.4c-4 0-7.8-1.6-10.6-4.4-.5-.4-.9-.9-1.2-1.4-.3-.8.4-1.2 1.3-1.2h7c.1 0 .2 0 .4-.1l-5.9-5.9H5.2c-.7 0-1.3.6-1.3 1.3v18.2c.1.8.8 1.5 1.6 1.5h3c.8 0 1.5-.7 1.5-1.5v-7c0-.9.5-1.3 1.2-.7.3.4.6.7 1 1 5 5 12 7.1 19.2 5.7 1.3-.3 2.5-.6 3.7-1.2l-4.8-4.8c-1.1.3-2.2.5-3.4.5z\"}},\nrecycle_bin_empty:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M45.5 10H32.9V6c0-2.2-1.8-4-4-4h-6c-2.2 0-4 1.8-4 4v4H6.4c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h39c.8 0 1.5-.7 1.5-1.5v-3c0-.8-.6-1.5-1.4-1.5zm-16.7 0h-5.9V7c0-.6.4-1 1-1h4c.6 0 1 .4 1 1v3zM41.5 20h-31c-.8 0-1.5.7-1.5 1.5V45c0 2.8 2.2 5 5 5h24c2.8 0 5-2.2 5-5V21.5c-.1-.8-.7-1.5-1.5-1.5zM23.2 44.9l-5 .1c-.2 0-2.1 0-3.4-2-1.4-2.2-.3-4 1.2-6.6l-1.4-1c-.2-.1-.2-.2-.2-.4s.1-.2.3-.3l3.9-1 .3-.1c.2 0 .3 0 .5.3l.1.3.9 4c0 .2 0 .3-.2.4-.2.1-.3.1-.5 0l-1.3-.8c-1.4 2.3-1.6 3-1.2 3.6.4.6 1 .7 1 .7l5-.1c.5 0 1 .2 1.2.6.2.2.2.5.2.7.1.9-.6 1.6-1.4 1.6zm3.6-14.6c0-.2.1-.3.2-.4l1.4-.6c-1.2-2.4-1.7-3-2.4-3-.8 0-1 .4-1.1.5L22.3 31c-.2.4-.7.6-1.2.6-.2 0-.5-.1-.7-.2-.6-.4-.9-1.3-.4-1.9l2.6-4.2c.1-.2 1.1-1.8 3.4-1.8 2.6 0 3.5 1.9 5 4.6l1.6-.7c.2-.1.3 0 .4.1.1.1.2.2.1.4L31.7 32c0 .1-.1.2-.2.2-.2.1-.3 0-.3 0l-4.1-1.5c-.2-.1-.3-.2-.3-.4zm10.5 12.3c-1.2 2.2-3.4 2.2-6.4 2.2l-.1 1.8c0 .2-.1.3-.2.3s-.2.1-.4-.1l-3-3.1c-.2-.2 0-.5 0-.5l.2-.2 3.2-2.8c.2-.1.2-.2.4-.1s.2.2.2.4V42c2.6 0 3.4-.1 3.8-.7.3-.6.2-1.1.1-1.2l-2.5-4.3c-.2-.4-.2-1 0-1.4.2-.2.3-.4.6-.6.6-.4 1.5-.2 1.9.6l2.5 4.3c0 .2.8 1.8-.3 3.9z\"}}},\nrecycle_bin_full:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M44.2 7.1L32.2 9l-.6-3.8c-.3-2.1-2.3-3.5-4.4-3.2l-5.8 1c-2.1.3-3.5 2.3-3.2 4.4l.6 3.8L7 13.1c-.8.1-1.3.9-1.2 1.7l.5 2.8c.1.8.9 1.3 1.7 1.2l37.1-6c.8-.1 1.3-.9 1.2-1.7l-.5-2.8c-.1-.7-.9-1.3-1.6-1.2zM28.3 9.7l-5.6.9-.5-2.8c-.1-.5.2-1 .8-1.1l3.8-.6c.5-.1 1 .2 1.1.8l.4 2.8zM41.4 21h-30c-.8 0-1.5.7-1.5 1.5v22.7c0 2.7 2.1 4.8 4.8 4.8h23.2c2.7 0 4.8-2.1 4.8-4.8V22.5c.1-.8-.5-1.5-1.3-1.5zM23.8 45.1l-4.9.1c-.2 0-2 0-3.2-1.9-1.3-2.1-.3-3.9 1.2-6.4l-1.4-.9c-.2-.1-.2-.2-.2-.4s.1-.2.3-.3l3.8-.9.3-.1c.2 0 .3 0 .5.3l.1.3.8 3.9c0 .2 0 .3-.2.4-.2.1-.3.1-.5 0l-1.2-.8c-1.3 2.2-1.5 2.9-1.2 3.5.4.6.9.7.9.7l4.8-.1c.5 0 .9.2 1.2.6.2.2.2.5.2.7.1.6-.5 1.3-1.3 1.3zM27.3 31c0-.2.1-.3.2-.4l1.3-.6c-1.2-2.3-1.6-2.9-2.3-2.9-.8 0-1 .4-1.1.5l-2.5 4.1c-.2.4-.7.6-1.2.6-.2 0-.5-.1-.7-.2-.6-.4-.8-1.2-.4-1.9l2.5-4.1c.1-.2 1.1-1.7 3.3-1.7 2.5 0 3.4 1.9 4.8 4.5l1.5-.7c.2-.1.3 0 .4.1.1.1.2.2.1.4L32 32.6c0 .1-.1.2-.2.2h-.3l-3.9-1.5c-.3 0-.3-.1-.3-.3zm10.1 11.8c-1.2 2.2-3.2 2.2-6.2 2.1l-.1 1.7c0 .2-.1.3-.2.3s-.2.1-.4-.1l-2.9-3c-.2-.2 0-.5 0-.5l.2-.2 3.1-2.7c.2-.1.2-.2.4-.1s.2.2.2.4l-.1 1.5c2.5 0 3.3-.1 3.6-.7s.2-1.1.1-1.2l-2.4-4.2c-.2-.4-.2-.9 0-1.3.2-.2.3-.4.5-.5.6-.4 1.5-.2 1.9.5l2.4 4.2c.1.3 1 1.8-.1 3.8zM21.4 18.9L38.9 16l.1 2.9z\"}},\nredo:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M35.5 12.5h.7c1 0 1-.7.4-1.3l-4.9-4.9c-.6-.5-.6-1.5 0-2.1l2.1-2.1c.5-.6 1.5-.6 2.1 0L48.8 15c.5.5.5 1.3 0 1.8l-13 13c-.6.5-1.3.5-1.9-.1l-2.2-2.2c-.6-.6-.7-1.5-.1-2.1l4.9-4.9c.7-.7.9-1.3.1-1.7-.3-.1-1.1-.1-1.1-.1H21.6c-7.1 0-12.8 5.7-12.8 12.8s5.7 12.8 12.8 12.8h8.1c.8 0 1.4.7 1.4 1.5V49c0 .8-.5 1.4-1.3 1.4h-8.2C11.2 50.4 2.7 42 2.7 31.5s8.5-18.9 18.9-18.9l13.9-.1z\"}},\nrefresh:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M46.5 4h-3c-.8 0-1.5.7-1.5 1.5v7c0 .9-.5 1.3-1.2.7-.3-.4-.6-.7-1-1-5-5-12-7.1-19.2-5.7-2.5.5-4.9 1.5-7 2.9-6.1 4-9.6 10.5-9.7 17.5-.1 5.4 2 10.8 5.8 14.7 4 4.2 9.4 6.5 15.2 6.5 5.1 0 9.9-1.8 13.7-5 .7-.6.7-1.6.1-2.2l-2.1-2.1c-.5-.5-1.4-.6-2-.1-3.6 3-8.5 4.2-13.4 3-1.3-.3-2.6-.9-3.8-1.6C11.7 36.6 9 30 10.6 23.4c.3-1.3.9-2.6 1.6-3.8C15 14.7 19.9 12 25.1 12c4 0 7.8 1.6 10.6 4.4.5.4.9.9 1.2 1.4.3.8-.4 1.2-1.3 1.2h-7c-.8 0-1.5.7-1.5 1.5v3.1c0 .8.6 1.4 1.4 1.4h18.3c.7 0 1.3-.6 1.3-1.3V5.5C48 4.7 47.3 4 46.5 4z\"}},\nrelate:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M36 20c0-2.2-1.8-4-4-4H6c-2.2 0-4 1.8-4 4v26c0 2.2 1.8 4 4 4h26c2.2 0 4-1.8 4-4V20zm-8 14c0 .5-.5 1-1 1h-6v6c0 .5-.5 1-1 1h-2c-.5 0-1-.5-1-1v-6h-6c-.5 0-1-.5-1-1v-2c0-.5.5-1 1-1h6v-6c0-.5.5-1 1-1h2c.5 0 1 .5 1 1v6h6c.5 0 1 .5 1 1v2z\"},{\"d\":\"M43 42h-3v-6h3c.6 0 1-.4 1-1V9c0-.6-.4-1-1-1H17c-.6 0-1 .4-1 1v3h-6V9c0-3.9 3.1-7 7-7h26c3.9 0 7 3.1 7 7v26c0 3.9-3.1 7-7 7z\"}]},\nreminder:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M64.7 19.1v.4-.4z\"},{\"d\":\"M50.3 7.5c-.6-3-3.1-5.5-6.2-5.9-2.2-.3-4.2.4-5.8 1.6-.5.4-.4 1.1.2 1.4 3.7 2 6.9 4.8 9.4 8.2.3.5 1.1.5 1.4 0 1-1.5 1.4-3.3 1-5.3zM13.5 4.7c.5-.2.6-1 .2-1.4-1.5-1.3-3.6-2-5.8-1.6-3.1.4-5.7 2.8-6.2 5.8-.3 2 .1 3.8 1.1 5.3.3.5 1.1.5 1.4 0 2.4-3.3 5.5-6.2 9.3-8.1zM26 6.5c-12.1 0-22 9.9-22 22 0 4.9 1.6 9.4 4.3 13L5 44.8c-1.3 1.3-1.3 3.3 0 4.6.7.7 1.5 1 2.3 1 .8 0 1.6-.3 2.3-1l3.3-3.3c3.7 2.7 8.2 4.3 13.1 4.3s9.4-1.6 13-4.3l3.3 3.3c.7.7 1.5 1 2.4 1 .8 0 1.6-.3 2.3-1 1.3-1.3 1.3-3.3 0-4.6l-3.3-3.3c2.7-3.6 4.3-8.1 4.3-13 0-12.2-9.8-22-22-22zM10.5 28.4c0-8.5 7-15.4 15.5-15.4s15.5 6.9 15.5 15.5S34.6 43.9 26 43.9 10.5 37 10.5 28.4zm18-.9v-6.4c0-1.4-1.1-2.4-2.4-2.4s-2.4 1.1-2.4 2.4v7.3c0 .7.2 1.3.7 1.7l5.7 5.7c.5.5 1.1.7 1.7.7.6 0 1.2-.2 1.7-.7 1-1 1-2.5 0-3.4l-5-4.9z\"}]},\nremove_formatting:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M45.1 40.9l4.6-4.6c.4-.4.4-1 0-1.4l-2.8-2.8c-.4-.4-1-.4-1.4 0L41 36.8l-4.3-4.3c-.4-.4-1-.4-1.4 0l-2.8 2.8c-.4.4-.4 1 0 1.4l4.3 4.3-4.2 4.2c-.4.4-.4 1 0 1.4l2.8 2.8c.4.4 1 .4 1.4 0l4.2-4.2 4.5 4.5c.4.4 1 .4 1.4 0l2.8-2.8c.4-.4.4-1 0-1.4l-4.6-4.6zM4.8 8h10.8l-4.1 23.2c-.2 1 .5 1.8 1.4 1.8H18c.7 0 1.4-.5 1.5-1.2L23.7 8h11c.7 0 1.4-.5 1.5-1.3l.5-3c.2-.9-.5-1.7-1.5-1.7h-30c-.7 0-1.3.5-1.4 1.3l-.5 3c-.2.9.5 1.7 1.5 1.7zM28 38.5c0-.8-.7-1.5-1.5-1.5h-23c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h23c.8 0 1.5-.7 1.5-1.5v-3z\"}},\nremove_link:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M24 36.6c-.6 0-1.2-.1-1.8-.3-.6-.1-1.3-.3-1.9-.5-.4-.1-.8 0-1 .2l-.4.4c-2.5 2.5-6.6 2.8-9.3.5-2.9-2.6-3.1-7.1-.3-9.8l6.6-6.6c.9-.9 1.9-1.4 3-1.7 1.4-.4 2.9-.3 4.2.3.8.3 1.6.8 2.2 1.5.3.3.6.7.9 1.2.3.6 1.1.7 1.6.2l2.5-2.5c.4-.4.4-.9.1-1.3-.4-.5-.8-.9-1.2-1.4-.6-.6-1.4-1.2-2.1-1.7-1.3-.8-2.6-1.3-4.1-1.6-2.7-.5-5.6-.1-8.2 1.3-1 .5-1.9 1.2-2.7 2l-6.4 6.4c-4.6 4.6-5 12.1-.5 16.9 4.7 5 12.6 5.2 17.4.3l2.2-2.2c.5-.5.1-1.5-.8-1.6z\"},{\"d\":\"M40.5 22.5c4.8-4.8 4.7-12.7-.3-17.4C35.4.7 27.9 1 23.3 5.6l-2 2c-.6.6-.2 1.6.6 1.7 1.2.1 2.5.3 3.7.7.4.1.8 0 1-.2l.4-.4c2.5-2.5 6.6-2.8 9.3-.5 2.9 2.6 3.1 7.1.3 9.8L30 25.3c-.9.9-1.9 1.4-3 1.7-1.4.4-2.9.3-4.2-.3-.8-.3-1.6-.8-2.2-1.5-.3-.3-.6-.7-.8-1.1-.3-.6-1.1-.7-1.6-.2l-2.4 2.4c-.4.4-.4.9-.1 1.3.4.5.7.9 1.2 1.4.7.7 1.4 1.2 2.1 1.7 1.3.8 2.6 1.3 4.1 1.6 2.7.5 5.6.1 8.2-1.3 1-.5 1.9-1.2 2.7-2l6.5-6.5zM45.1 41l4.6-4.6c.4-.4.4-1 0-1.4l-2.8-2.8c-.4-.4-1-.4-1.4 0L41 36.9l-4.3-4.3c-.4-.4-1-.4-1.4 0l-2.8 2.8c-.4.4-.4 1 0 1.4l4.3 4.3-4.2 4.2c-.4.4-.4 1 0 1.4l2.8 2.8c.4.4 1 .4 1.4 0l4.2-4.2 4.5 4.5c.4.4 1 .4 1.4 0l2.8-2.8c.4-.4.4-1 0-1.4L45.1 41z\"}]},\nreplace:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M20 37.5c0-.8-.7-1.5-1.5-1.5h-15c-.8 0-1.5.7-1.5 1.5v11c0 .8.7 1.5 1.5 1.5h15c.8 0 1.5-.7 1.5-1.5v-11zM8.1 22H3.2c-1 0-1.5.9-.9 1.4l8 8.3c.4.3 1 .3 1.4 0l8-8.3c.6-.6.1-1.4-.9-1.4h-4.7c0-5 4.9-10 9.9-10V6C15 6 8.1 13 8.1 22zM41.8 20.3c-.4-.3-1-.3-1.4 0l-8 8.3c-.6.6-.1 1.4.9 1.4h4.8c0 6-4.1 10-10.1 10v6c9 0 16.1-7 16.1-16H49c1 0 1.5-.9.9-1.4l-8.1-8.3zM50 3.5c0-.8-.7-1.5-1.5-1.5h-15c-.8 0-1.5.7-1.5 1.5v11c0 .8.7 1.5 1.5 1.5h15c.8 0 1.5-.7 1.5-1.5v-11z\"}},\nreply:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M19.2 18.1s-1.1-1.1-.5-1.7l5.6-5.6c.6-.6.6-1.5 0-2.1l-2.1-2.2c-.6-.6-1.5-.6-2.1 0L6.6 20c-.6.6-.6 1.5 0 2.1l13.5 13.5c.6.6 1.5.6 2.1 0l2.1-2.1c.6-.6.6-1.5 0-2.1l-5.5-5.6c-.6-.6-.2-1.5.5-1.7 11.1.4 20.1 9.3 20.8 20.6 0 .8.7 1.4 1.5 1.4h3c.9 0 1.4-.7 1.3-1.6-.7-14.5-11.7-25.9-26.7-26.4z\"}},\nreply_all:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M24.4 18.1s-1.1-1.1-.5-1.7l5.6-5.6c.6-.6.6-1.5 0-2.1l-2.1-2.2c-.6-.6-1.5-.6-2.1 0L11.8 20c-.6.6-.6 1.5 0 2.1l13.5 13.5c.6.6 1.5.6 2.1 0l2.1-2.1c.6-.6.6-1.5 0-2.1L24 25.8c-.6-.6-.2-1.5.5-1.7 11.1.4 20.1 9.3 20.8 20.6 0 .8.7 1.4 1.5 1.4h3c.9 0 1.4-.7 1.3-1.6-.7-14.5-11.7-25.9-26.7-26.4z\"},{\"d\":\"M5.4 20.4L17 8.8c.6-.6.6-1.5 0-2.1l-.1-.2c-.6-.6-1.5-.6-2.1 0L1.3 20c-.6.6-.6 1.5 0 2.1l13.5 13.5c.6.6 1.5.6 2.1 0l.1-.1c.6-.6.6-1.5 0-2.1L5.5 21.8s-.7-.6-.1-1.4z\"}]},\nreport_issue:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M22.8 45.7v1c0 1.2-.9 2.1-2.1 2.1H4.1c-1.2 0-2.1-.9-2.1-2.1v-1c0-2.5 3-4.1 5.7-5.3.1 0 .2-.1.3-.2.2-.1.5-.1.7 0 1.1.7 2.4 1.1 3.8 1.1 1.3 0 2.6-.4 3.8-1.1.2-.1.4-.1.6 0 .1 0 .2.1.3.2 2.7 1.3 5.6 2.8 5.6 5.3z\"},{\"d\":\"M34.8 3.2c-8.5 0-15.3 6.5-15.3 14.5 0 2.5.7 5 2 7.2.1.2.2.5.2.8L20 30.3c-.2.6.2 1.1.7 1.3.2.1.4.1.6 0l4.5-1.6c.3-.1.6-.1.8.1 2.4 1.4 5.2 2.2 8 2.2 8.5 0 15.3-6.6 15.3-14.6.1-8-6.8-14.5-15.1-14.5zm-1.1 5.7h3v7l-.3 4.6H34l-.2-4.6v-7zm1.5 17.3c-1.4 0-1.8-.8-1.8-1.8s.4-1.8 1.8-1.8 1.8.8 1.8 1.8c.1 1-.4 1.8-1.8 1.8z\"}],\"ellipse\":{\"cx\":\"12.4\",\"cy\":\"33.7\",\"rx\":\"5.2\",\"ry\":\"5.7\"}}},\nreset_password:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M42 23H10c-2.2 0-4 1.8-4 4v19c0 2.2 1.8 4 4 4h32c2.2 0 4-1.8 4-4V27c0-2.2-1.8-4-4-4zM31 44.5c-1.5 1-3.2 1.5-5 1.5-.6 0-1.2-.1-1.8-.2-2.4-.5-4.4-1.8-5.7-3.8l3.3-2.2c.7 1.1 1.9 1.9 3.2 2.1 1.3.3 2.6 0 3.8-.8 2.3-1.5 2.9-4.7 1.4-6.9-.7-1.1-1.9-1.9-3.2-2.1-1.3-.3-2.6 0-3.8.8-.3.2-.5.4-.7.6L26 37h-9v-9l2.6 2.6c.4-.4.9-.8 1.3-1.1 2-1.3 4.4-1.8 6.8-1.4 2.4.5 4.4 1.8 5.7 3.8 2.8 4.2 1.7 9.8-2.4 12.6zM10 18.1v0zM11 19h4c.6 0 1-.3 1-.9V18c0-5.7 4.9-10.4 10.7-10 5.3.4 9.3 5 9.3 10.4v-.3c0 .6.4.9 1 .9h4c.6 0 1-.3 1-.9V18c0-9.1-7.6-16.4-16.8-16-8.5.4-15 7.6-15.2 16.1.1.5.5.9 1 .9z\"}}},\nresource_absence:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M21.9 37c0-2.7.9-5.8 2.3-8.2 1.7-3 3.6-4.2 5.1-6.4 2.5-3.7 3-9 1.4-13-1.6-4.1-5.4-6.5-9.8-6.4s-8 2.8-9.4 6.9c-1.6 4.5-.9 9.9 2.7 13.3 1.5 1.4 2.9 3.6 2.1 5.7-.7 2-3.1 2.9-4.8 3.7-3.9 1.7-8.6 4.1-9.4 8.7C1.3 45.1 3.9 49 8 49h17c.8 0 1.3-1 .8-1.6-2.5-2.9-3.9-6.6-3.9-10.4z\"},{\"d\":\"M46.4 28.5c-4.7-4.7-12.3-4.7-17 0-4.7 4.7-4.7 12.3 0 17 4.7 4.7 12.3 4.7 17 0 4.7-4.7 4.7-12.3 0-17zm-3.5 10.6c.4.4.4 1.1-.1 1.5L41.4 42c-.4.4-.9.4-1.3-.1L38 39.8 35.8 42c-.4.4-.9.4-1.3-.1L33 40.5c-.4-.4-.5-.9-.1-1.3l2.2-2.2-2.1-2.2c-.4-.4-.5-.9-.1-1.3l1.4-1.4c.4-.4 1.1-.5 1.5-.1l2.1 2.1L40 32c.4-.4 1.1-.5 1.5-.1l1.4 1.4c.4.4.4 1.1-.1 1.5l-2.1 2.1 2.2 2.2z\"}]},\nresource_capacity:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M37.9 25c-6.7 0-12.1 5.5-12.1 12.2s5.4 12.1 12.1 12.1S50 43.8 50 37.2 44.6 25 37.9 25zm8.5 13.4h-8.8v-9.3s3.3-.2 6.3 2.9 2.5 6.4 2.5 6.4z\"},{\"d\":\"M22.2 37.3c0-2.7.9-5.9 2.3-8.3 1.7-3 3.6-4.2 5.1-6.5 2.5-3.7 3-9.1 1.4-13.1-1.6-4.1-5.4-6.5-9.9-6.4-4.4.1-8.1 2.8-9.5 7-1.6 4.5-.9 10 2.7 13.4 1.5 1.4 2.9 3.6 2.1 5.8-.7 2-3.1 2.9-4.8 3.7-3.9 1.7-8.7 4.1-9.5 8.8-.8 3.8 1.8 7.8 5.9 7.8h17.1c.8 0 1.3-1 .8-1.6-2.3-3-3.7-6.7-3.7-10.6z\"}]},\nresource_territory:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M26.7 29c2-2.9 4.1-4.3 5.5-6.5 2.5-3.7 3-9 1.4-13C32 5.4 28.2 3 23.8 3.1s-8 2.8-9.4 6.9c-1.6 4.5-.9 9.9 2.7 13.3 1.5 1.4 2.9 3.6 2.1 5.7-.7 2-3.1 2.9-4.8 3.7-3.9 1.7-8.6 4.1-9.4 8.7-.8 3.8 1.8 7.7 5.9 7.7h18c.8 0 1.5-.9 1-1.5-2.5-2.9-5.1-6.7-5.1-10.5-.2-2.7.6-5.7 1.9-8.1z\"},{\"d\":\"M37.7 39.4c-2.1 0-3.9-1.7-3.9-3.8s1.7-3.8 3.9-3.8c2.1 0 3.9 1.7 3.9 3.8 0 2.1-1.8 3.8-3.9 3.8zm0-13c-5.1 0-9.2 4.1-9.2 9.2 0 6.3 6.6 12.2 8.6 13.7.3.3.8.3 1.2 0 2-1.6 8.6-7.4 8.6-13.7 0-5.1-4.1-9.2-9.2-9.2z\"}]},\nrestriction_policy:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M37.2 24.4A12.8 12.8 0 1050 37.2a12.8 12.8 0 00-12.8-12.8zm5.6 15.2H31.6a2.4 2.4 0 010-4.8h11.2a2.4 2.4 0 110 4.8zM13.6 2H8a6 6 0 00-6 6v4.8a6 6 0 006 6h5.6a6 6 0 006-6V8a6 6 0 00-6-6zm-2.4 12h-.8a3.6 3.6 0 010-7.2h.8a3.6 3.6 0 110 7.2zM30.4 18.8H36a6 6 0 006-6V8a6 6 0 00-6-6h-5.6a6 6 0 00-6 6v4.8a6 6 0 006 6zm2.4-12h.8a3.6 3.6 0 110 7.2h-.8a3.6 3.6 0 110-7.2zM13.6 23.6H8a6 6 0 00-6 6v4.8a6 6 0 006 6h5.6a6 6 0 006-6v-4.8a6 6 0 00-6-6zm-2.4 12h-.8a3.6 3.6 0 110-7.2h.8a3.6 3.6 0 110 7.2z\",\"fill-rule\":\"evenodd\"}},\nretail_execution:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M17.4 11.6h17.3c.9 0 1.6-.7 1.6-1.6V6.8c0-2.6-2.1-4.8-4.7-4.8h-11c-2.6 0-4.7 2.2-4.7 4.8V10c-.1.9.6 1.6 1.5 1.6z\"},{\"d\":\"M43.3 6h-1.6c-.5 0-.8.3-.8.8V10c0 3.5-2.8 6.4-6.3 6.4H17.4c-3.5 0-6.3-2.9-6.3-6.4V6.8c0-.5-.3-.8-.8-.8H8.7C6.1 6 4 8.2 4 10.8v34.4C4 47.8 6.1 50 8.7 50h34.6c2.6 0 4.7-2.2 4.7-4.8V10.8C48 8.2 45.9 6 43.3 6zm-6.6 21.1l-12 12c-.5.5-1 .7-1.6.7-.5 0-1.2-.2-1.6-.7l-5.8-5.8c-.5-.5-.5-1.2 0-1.6l1.6-1.6c.5-.5 1.2-.5 1.6 0l4.2 4.2L33.4 24c.5-.5 1.2-.5 1.6 0l1.6 1.6c.5.3.5 1.1.1 1.5z\"}]}},\nretweet:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M51.6 28.8l-2.1-2.1c-.6-.6-1.5-.6-2.1 0l-2.7 2.7c-.7.7-1.7.2-1.7-.7V12c0-2.2-1.8-4-4-4H24.5c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h11c.8 0 1.5.7 1.5 1.5v13.2c0 .9-1.1 1.3-1.8.7l-2.6-2.6c-.6-.6-1.6-.6-2.1 0L28.4 29c-.6.6-.6 1.5 0 2.1l10.5 10.5c.6.6 1.5.6 2.1 0L51.6 31c.5-.6.5-1.6 0-2.2zM27.5 38h-11c-.8 0-1.5-.7-1.5-1.5V23.3c0-.9 1.1-1.3 1.8-.7l2.6 2.6c.6.6 1.6.6 2.1 0l2.1-2.1c.6-.6.6-1.5 0-2.1L13.2 10.4c-.6-.6-1.5-.6-2.1 0L.4 21c-.6.6-.6 1.5 0 2.1l2.1 2.1c.6.6 1.5.6 2.1 0l2.7-2.7c.6-.6 1.7-.2 1.7.7V40c0 2.2 1.9 4 4.1 4h14.5c.8 0 1.5-.7 1.5-1.5v-3c-.1-.8-.8-1.5-1.6-1.5z\"}}},\nribbon:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M24.1 36.7L14.7 50l-2.4-6.4H5.9l8.2-11.1c1.6 1 3.3 1.1 4.5 1.4.4.1.9.2 1.1.2.2.1.6.4.8.6.9.6 2.1 1.5 3.6 2zm15.2-4.2c-1.6 1-3.3 1.1-4.5 1.4-.4.1-1 .2-1.2.2-.2.1-.6.4-.8.6-.9.6-2 1.6-3.5 2.1L38.7 50l2.4-6.4h6.4l-8.2-11.1zM26.7 11.6c-3.1 0-5.6 2.5-5.6 5.6s2.5 5.6 5.6 5.6 5.6-2.5 5.6-5.6-2.5-5.6-5.6-5.6zm15.2 5.6c0 1.9-2.1 3.4-2.8 5.1-.7 1.8-.3 4.3-1.7 5.6-1.3 1.3-3.8 1-5.6 1.7-1.7.7-3.2 2.8-5.1 2.8s-3.4-2.1-5.1-2.8c-1.8-.7-4.3-.3-5.6-1.7-1.3-1.3-1-3.8-1.7-5.6-.7-1.7-2.8-3.2-2.8-5.1s2.1-3.4 2.8-5.1c.7-1.8.3-4.3 1.7-5.6 1.3-1.3 3.8-1 5.6-1.7 1.7-.7 3.2-2.8 5.1-2.8s3.4 2.1 5.1 2.8c1.8.7 4.3.3 5.6 1.7 1.3 1.3 1 3.8 1.7 5.6.7 1.7 2.8 3.2 2.8 5.1zm-4.8 0c0-5.8-4.6-10.4-10.4-10.4s-10.4 4.6-10.4 10.4 4.6 10.4 10.4 10.4S37.1 23 37.1 17.2z\"}},\nrichtextbulletedlist:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M8 13.5c0 .8-.7 1.5-1.5 1.5h-3c-.8 0-1.5-.7-1.5-1.5v-3C2 9.7 2.7 9 3.5 9h3c.8 0 1.5.7 1.5 1.5v3zm42-3c0-.8-.7-1.5-1.5-1.5h-35c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h35c.8 0 1.5-.7 1.5-1.5v-3zm-42 14c0-.8-.7-1.5-1.5-1.5h-3c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h3c.8 0 1.5-.7 1.5-1.5v-3zm38 0c0-.8-.7-1.5-1.5-1.5h-31c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h31c.8 0 1.5-.7 1.5-1.5v-3zm-38 14c0-.8-.7-1.5-1.5-1.5h-3c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h3c.8 0 1.5-.7 1.5-1.5v-3zm42 0c0-.8-.7-1.5-1.5-1.5h-35c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h35c.8 0 1.5-.7 1.5-1.5v-3z\"}},\nrichtextindent:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M52 11.5c0-.8-.7-1.5-1.5-1.5h-17c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h17c.8 0 1.5-.7 1.5-1.5v-3zM48 35.5c0-.8-.7-1.5-1.5-1.5h-13c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h13c.8 0 1.5-.7 1.5-1.5v-3zM52 23.5c0-.8-.7-1.5-1.5-1.5h-17c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h17c.8 0 1.5-.7 1.5-1.5v-3zM28 5.5c0-.8-.7-1.5-1.5-1.5h-3c-.8 0-1.5.7-1.5 1.5v41c0 .8.7 1.5 1.5 1.5h3c.8 0 1.5-.7 1.5-1.5v-41zM9.4 15.3c-.6-.6-1.4-.1-1.4.9V22H1.5c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5H8v5.9c0 1 .9 1.5 1.4.9l8.3-9c.3-.4.3-1 0-1.4l-8.3-9.1z\"}},\nrichtextnumberedlist:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M50 6.5v3c0 .8-.7 1.5-1.5 1.5h-27c-.8 0-1.5-.7-1.5-1.5v-3c0-.8.7-1.5 1.5-1.5h27c.8 0 1.5.7 1.5 1.5zM21.5 21h18c.8 0 1.5-.7 1.5-1.5v-3c0-.8-.7-1.5-1.5-1.5h-18c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5zm27 9h-27c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h27c.8 0 1.5-.7 1.5-1.5v-3c0-.8-.7-1.5-1.5-1.5zm-9 10h-18c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h18c.8 0 1.5-.7 1.5-1.5v-3c0-.8-.7-1.5-1.5-1.5zM3.5 8H6v12.5c0 .8.7 1.5 1.5 1.5h1c.8 0 1.5-.7 1.5-1.5V6c0-1.1-.9-2-2-2H3.5C2.7 4 2 4.7 2 5.5v1C2 7.3 2.7 8 3.5 8zM12 28H3.5c-.8 0-1.5.7-1.5 1.5v1c0 .8.7 1.5 1.5 1.5H10v4H4c-1.1 0-2 .9-2 2v8c0 1.1.9 2 2 2h8.5c.8 0 1.5-.7 1.5-1.5v-1c0-.8-.7-1.5-1.5-1.5H6v-4h6c1.1 0 2-.9 2-2v-8c0-1.1-.9-2-2-2z\"}},\nrichtextoutdent:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M16.4 22H10v-5.9c0-1-.9-1.5-1.4-.9l-8.3 9c-.3.4-.3 1 0 1.4l8.3 9c.6.6 1.4.1 1.4-.9V28h6.4c.8 0 1.6-.7 1.6-1.5v-3c0-.8-.8-1.5-1.6-1.5zM52 11.5c0-.8-.7-1.5-1.5-1.5h-17c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h17c.8 0 1.5-.7 1.5-1.5v-3zM48 35.5c0-.8-.7-1.5-1.5-1.5h-13c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h13c.8 0 1.5-.7 1.5-1.5v-3zM52 23.5c0-.8-.7-1.5-1.5-1.5h-17c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h17c.8 0 1.5-.7 1.5-1.5v-3zM28 5.5c0-.8-.7-1.5-1.5-1.5h-3c-.8 0-1.5.7-1.5 1.5v41c0 .8.7 1.5 1.5 1.5h3c.8 0 1.5-.7 1.5-1.5v-41z\"}},\nright:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M14 43.7V8.3c0-1 1.3-1.7 2.2-.9l21.2 17.3c.8.6.8 1.9 0 2.5L16.2 44.7c-.9.7-2.2.1-2.2-1z\"}},\nright_align:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"rect\":[{\"x\":\"43.6\",\"y\":\"2\",\"width\":\"6.4\",\"height\":\"48\",\"rx\":\"1.6\"},{\"data-name\":\"Rectangle\",\"x\":\"2\",\"y\":\"18.8\",\"width\":\"37.6\",\"height\":\"14.4\",\"rx\":\"3.2\"}]},\nright_align_text:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M46.5 5h-41C4.7 5 4 5.7 4 6.5v3c0 .8.7 1.5 1.5 1.5h41c.8 0 1.5-.7 1.5-1.5v-3c0-.8-.7-1.5-1.5-1.5zM46.5 17h-33c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h33c.8 0 1.5-.7 1.5-1.5v-3c0-.8-.7-1.5-1.5-1.5zM46.5 41h-33c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h33c.8 0 1.5-.7 1.5-1.5v-3c0-.8-.7-1.5-1.5-1.5zM46.5 29h-41c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h41c.8 0 1.5-.7 1.5-1.5v-3c0-.8-.7-1.5-1.5-1.5z\"}},\nrotate:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M48.5 2h-3c-.8 0-1.5.7-1.5 1.5v7c0 .9-1 1.5-1.6.8C37.7 6.1 31 3.4 23.7 4.1c-2.6.2-5.1 1-7.4 2.2-1.2.6-2.4 1.3-3.4 2.1-.7.5-.8 1.6-.2 2.3l2.1 2.1c.5.5 1.3.6 1.9.2 1.2-.8 2.5-1.5 3.9-2.1.6-.2 1.3-.4 2-.6 6.3-1.2 12.3 1.3 15.7 5.4 1.2 1.4.3 2.3-.7 2.3h-7c-.8 0-1.6.7-1.6 1.5v3c0 .8.8 1.5 1.6 1.5h18.2c.7 0 1.2-.6 1.2-1.3V3.5c0-.8-.7-1.5-1.5-1.5zM39.4 37.4c-.6-.6-1.5-.6-2.1 0-1.6 1.6-3.6 2.9-5.8 3.7-.6.2-1.3.4-2 .6-6.3 1.2-12.3-1.3-15.7-5.4-1.2-1.4-.3-2.3.7-2.3h7c.8 0 1.5-.7 1.5-1.5v-3c0-.8-.7-1.5-1.5-1.5H3.3c-.7 0-1.3.6-1.3 1.3v19.2c0 .8.7 1.5 1.5 1.5h3c.8 0 1.5-.7 1.5-1.5v-7c0-.9 1-1.5 1.6-.8 4.6 5.2 11.4 7.9 18.7 7.2 2.6-.2 5.1-1 7.4-2.2 2.2-1.1 4.1-2.5 5.7-4.1.6-.6.6-1.6 0-2.1l-2-2.1z\"}}},\nrouting_offline:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M43 9C33.6-.3 18.4-.3 9 9S-.3 33.6 9 43s24.6 9.3 34 0 9.3-24.6 0-34zM26 44c-9.9 0-18-8.1-18-18S16.1 8 26 8s18 8 18 18-8 18-18 18z\"}},\nrows:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M46.5 14h-41c-.8 0-1.5-.7-1.5-1.5v-3C4 8.7 4.7 8 5.5 8h41c.8 0 1.5.7 1.5 1.5v3c0 .8-.7 1.5-1.5 1.5zM46.5 28.9h-41c-.8 0-1.5-.7-1.5-1.5v-3c0-.7.7-1.4 1.5-1.4h41c.8 0 1.5.7 1.5 1.5v3c0 .7-.7 1.4-1.5 1.4zM46.5 44h-41c-.8 0-1.5-.7-1.5-1.5v-3c0-.8.7-1.5 1.5-1.5h41c.8 0 1.5.7 1.5 1.5v3c0 .8-.7 1.5-1.5 1.5z\"}},\nrules:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M50.1 25.4L42 17.3c-.4-.4-1.1-.4-1.5 0L39 18.8c-.4.4-.4 1.1 0 1.5l2.5 2.5c.4.4.1 1.2-.5 1.2H18.9l13.2-13.1c.4-.4 1.2-.1 1.2.5V15c0 .6.4 1 1 1h2.1c.6 0 1-.4 1-1V3.4c0-.6-.4-1-1-1H25c-.5 0-1 .5-1 1.1v2c0 .6.4 1 1 1h3.6c.6 0 .9.7.5 1.2L12.9 23.9H3c-.6 0-1 .5-1 1.1v2.1c0 .6.6 1.1 1.1 1.1h10l16.1 16.1c.4.4.1 1.2-.5 1.2h-3.6c-.6 0-1 .4-1 1v2c0 .5.4 1 1 1.1h11.4c.6 0 1-.4 1-1V37.1c0-.6-.4-1-1-1h-2.1c-.6 0-1 .4-1 1v3.6c0 .6-.7.9-1.2.5L19 28.2h22.1c.6 0 .9.8.5 1.2L39 31.9c-.4.4-.4 1.1 0 1.5l1.5 1.5c.4.4 1.1.4 1.5 0l8.1-8c.4-.5.4-1.1 0-1.5z\"}},\nsalesforce1:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M21.7 11.9c1.7-1.7 4-2.8 6.6-2.8 3.4 0 6.4 1.9 8 4.7 1.4-.6 2.9-1 4.5-1C47 12.8 52 17.8 52 24s-5 11.2-11.2 11.2c-.8 0-1.5-.1-2.2-.2-1.4 2.5-4.1 4.2-7.2 4.2-1.3 0-2.5-.3-3.6-.8-1.4 3.3-4.7 5.6-8.6 5.6-4 0-7.5-2.5-8.8-6.1-.6.1-1.2.2-1.8.2-4.8 0-8.7-3.9-8.7-8.7 0-3.2 1.7-6 4.3-7.5-.5-1.2-.8-2.6-.8-4 0-5.5 4.5-10 10.1-10 3.5.1 6.4 1.6 8.2 4\"}},\nsalesforce_page:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M44.44 19H33.2a3.89 3.89 0 01-4.2-3.55 3.53 3.53 0 010-.65V3.6A1.58 1.58 0 0027.44 2H10.8A4.87 4.87 0 006 6.8v38.4a4.87 4.87 0 004.8 4.8h30.4a4.87 4.87 0 004.8-4.8V20.6a1.58 1.58 0 00-1.56-1.6zM33.59 39.35a3.92 3.92 0 01-1.08-.1 4.19 4.19 0 01-3.68 2.16A5.24 5.24 0 0127 41a4.88 4.88 0 01-4.43 2.91A4.72 4.72 0 0118 40.78c-.22 0-.65.11-1 .11a4.49 4.49 0 01-4.54-4.42 4.39 4.39 0 012.27-3.89 6.33 6.33 0 01-.44-2.06 5.26 5.26 0 015.19-5.18 5.92 5.92 0 014.06 2.14A4.79 4.79 0 0127 26.06a4.91 4.91 0 014.21 2.38 7.49 7.49 0 012.38-.54 5.93 5.93 0 015.83 5.73 5.85 5.85 0 01-5.83 5.72z\"},{\"d\":\"M36.4 15h8.5a1.2 1.2 0 001.1-1.2 1.4 1.4 0 00-.3-.9L35.1 2.3a1.4 1.4 0 00-.9-.3A1.2 1.2 0 0033 3.1v8.5a3.49 3.49 0 003.4 3.4z\"}]}},\nsave:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M37.1 4v13.6c0 1-.8 1.9-1.9 1.9H13.9c-1 0-1.9-.8-1.9-1.9V4H8C5.8 4 4 5.8 4 8v36c0 2.2 1.8 4 4 4h36c2.2 0 4-1.8 4-4V11.2L40.8 4h-3.7zm7 38.1c0 1-.8 1.9-1.9 1.9H9.9c-1 0-1.9-.8-1.9-1.9V25.4c0-1 .8-1.9 1.9-1.9h32.3c1 0 1.9.8 1.9 1.9v16.7z\"},{\"d\":\"M24.8 13.6c0 1 .8 1.9 1.9 1.9h4.6c1 0 1.9-.8 1.9-1.9V4h-8.3l-.1 9.6z\"}]},\nscreen:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M50 6c0-2.2-1.8-4-4-4H6C3.8 2 2 3.8 2 6v27.7c0 2.2 1.8 4 4 4h40c2.2 0 4-1.8 4-4V6zm-6 24.2c0 .8-.7 1.5-1.5 1.5h-33c-.8 0-1.5-.7-1.5-1.5V9.5C8 8.7 8.7 8 9.5 8h33c.8 0 1.5.7 1.5 1.5v20.7zM19 44c-2.2 0-4 1.8-4 4v.5c0 .8.7 1.5 1.5 1.5h19c.8 0 1.5-.7 1.5-1.5V48c0-2.2-1.8-4-4-4H19z\"},{\"d\":\"M18 26.7h-4.1c-.6 0-1-.5-1-1V14c0-.6.4-1 1-1H18c.5 0 1 .4 1 1v11.7c0 .6-.5 1-1 1zM38.1 26.7H24.8c-.6 0-1-.4-1-1V14c0-.6.4-1 1-1h13.3c.5 0 1 .4 1 1v11.7c0 .6-.5 1-1 1z\"}]},\nsearch:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M49.598 45.298l-13.4-13.3c2.7-3.8 4.1-8.6 3.4-13.7-1.2-8.6-8.2-15.4-16.9-16.2-11.8-1.2-21.8 8.8-20.6 20.7.8 8.6 7.6 15.7 16.2 16.9 5.1.7 9.9-.7 13.7-3.4l13.3 13.3c.6.6 1.5.6 2.1 0l2.1-2.1c.6-.6.6-1.6.1-2.2zm-41.6-24.4c0-7.1 5.8-12.9 12.9-12.9 7.1 0 12.9 5.8 12.9 12.9 0 7.1-5.8 12.9-12.9 12.9-7.1 0-12.9-5.7-12.9-12.9z\",\"fill-rule\":\"evenodd\"}},\nsection:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",\"d\":\"M47.6 29.2h-8c-1.3 0-2.4-1.1-2.4-2.4v-1.6c0-1.3 1.1-2.4 2.4-2.4h8c1.3 0 2.4 1.1 2.4 2.4v1.6c0 1.3-1.1 2.4-2.4 2.4M30 29.2h-8c-1.3 0-2.4-1.1-2.4-2.4v-1.6c0-1.3 1.1-2.4 2.4-2.4h8c1.3 0 2.4 1.1 2.4 2.4v1.6c0 1.3-1.1 2.4-2.4 2.4M12.4 29.2h-8C3 29.2 2 28.1 2 26.8v-1.6c0-1.3 1.1-2.4 2.4-2.4h8c1.3 0 2.4 1.1 2.4 2.4v1.6c0 1.3-1.1 2.4-2.4 2.4M43.6 34H8.4c-1.8 0-3.2 1.4-3.2 3.2v8c0 1.8 1.4 3.2 3.2 3.2h35.2c1.8 0 3.2-1.4 3.2-3.2v-8c0-1.8-1.5-3.2-3.2-3.2zM42 42.8c0 .4-.4.8-.8.8H10.8c-.4 0-.8-.4-.8-.8v-3.2c0-.4.4-.8.8-.8h30.4c.4 0 .8.4.8.8v3.2zM43.6 3.6H8.4C6.6 3.6 5.2 5 5.2 6.8v8c0 1.8 1.4 3.2 3.2 3.2h35.2c1.8 0 3.2-1.4 3.2-3.2v-8c0-1.8-1.5-3.2-3.2-3.2zM42 12.4c0 .4-.4.8-.8.8H10.8c-.4 0-.8-.4-.8-.8V9.2c0-.4.4-.8.8-.8h30.4c.4 0 .8.4.8.8v3.2z\"}},\nsend:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M2.1 44.5l4.4-16.3h18.6c.5 0 1-.5 1-1v-2c0-.5-.5-1-1-1H6.5l-4.3-16C2.1 8 2 7.7 2 7.4c0-.7.7-1.4 1.5-1.3.2 0 .3.1.5.1l45 18.5c.6.2 1 .8 1 1.4s-.4 1.1-.9 1.3L4 46.4c-.2.1-.4.1-.6.1-.8-.1-1.4-.7-1.4-1.5 0-.2 0-.3.1-.5z\"}},\nsentiment_negative:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M26 2C12.8 2 2 12.8 2 26.1s10.8 24.1 24 24.1 24-10.8 24-24.1S39.2 2 26 2zm-9 13c1.7 0 3 1.8 3 4s-1.3 4-3 4-3-1.8-3-4 1.3-4 3-4zm-3 23.7c.5-6.1 5-11.2 12.1-11.2 7 0 11.4 5.1 11.9 11.2H14zM35 23c-1.7 0-3-1.8-3-4s1.3-4 3-4 3 1.8 3 4-1.3 4-3 4z\"}},\nsentiment_neutral:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M26 2C12.8 2 2 12.8 2 26.1s10.8 24.1 24 24.1 24-10.8 24-24.1S39.2 2 26 2zm-9 13c1.7 0 3 1.8 3 4s-1.3 4-3 4-3-1.8-3-4 1.3-4 3-4zm21 19.1c0 1.1-.9 1.9-1.9 1.9H15.9c-1.1 0-1.9-.9-1.9-1.9V34c0-1.1.9-1.9 1.9-1.9H36c1.1 0 2 .9 2 2zM35 23c-1.7 0-3-1.8-3-4s1.3-4 3-4 3 1.8 3 4-1.3 4-3 4z\"}},\nserialized_product:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M45.06 19.3a1.6 1.6 0 011.58 1.47v22.72a4.81 4.81 0 01-4.55 4.83h-32a4.82 4.82 0 01-4.74-4.62V20.92a1.61 1.61 0 011.44-1.61h38.27zm-8.59 22.93H15.53a.74.74 0 00-.74.73v.74a.74.74 0 00.74.73h20.94a.74.74 0 00.74-.73V43a.74.74 0 00-.74-.77zM17.4 27.14h-1.87a.74.74 0 00-.74.74v11.4a.74.74 0 00.74.74h1.87a.75.75 0 00.75-.74v-11.4a.75.75 0 00-.75-.74zm19.07 0H34.6a.75.75 0 00-.75.74v11.4a.75.75 0 00.75.74h1.87a.74.74 0 00.74-.74v-11.4a.74.74 0 00-.74-.74zm-9.35 0h-2.24a.75.75 0 00-.75.74v11.4a.75.75 0 00.75.74h2.24a.75.75 0 00.75-.74v-11.4a.75.75 0 00-.75-.74zm4.49 0h-.75a.75.75 0 00-.75.74v11.4a.75.75 0 00.75.74h.75a.74.74 0 00.74-.74v-11.4a.74.74 0 00-.74-.74zm-9.72 0h-.75a.75.75 0 00-.75.74v11.4a.75.75 0 00.75.74h.75a.75.75 0 00.75-.74v-11.4a.75.75 0 00-.75-.74zm14.58-4H15.53a.74.74 0 00-.74.73v.74a.74.74 0 00.74.73h20.94a.74.74 0 00.74-.73v-.74a.74.74 0 00-.74-.77zM45.2 3.67A4.81 4.81 0 0150 8.46v4.78a1.6 1.6 0 01-1.6 1.6H3.6a1.6 1.6 0 01-1.6-1.6V8.46a4.81 4.81 0 014.8-4.79z\"}},\nserialized_product_transaction:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M43.76 42a1.53 1.53 0 011.44 1.6v1.6a1.53 1.53 0 01-1.44 1.6H3.44A1.53 1.53 0 012 45.2v-1.6A1.53 1.53 0 013.44 42zM7 13.2a1.45 1.45 0 011.4 1.46v22.68A1.45 1.45 0 017 38.8H3.42A1.45 1.45 0 012 37.34V14.66a1.45 1.45 0 011.42-1.46zm19 0a1.54 1.54 0 011.6 1.46v22.68A1.54 1.54 0 0126 38.8h-4.8a1.54 1.54 0 01-1.6-1.46V14.66a1.54 1.54 0 011.6-1.46zm-9.6 0a1.54 1.54 0 011.6 1.46v22.68a1.54 1.54 0 01-1.6 1.46h-1.6a1.54 1.54 0 01-1.6-1.46V14.66a1.54 1.54 0 011.6-1.46zm22.9 0a1.13 1.13 0 01.86.42l9.47 10.65a1.44 1.44 0 01.37 1 1.41 1.41 0 01-.37 1L40.2 36.78a1.12 1.12 0 01-.86.42 1.1 1.1 0 01-.86-.42l-1.72-1.93a1.44 1.44 0 01-.37-1 1.41 1.41 0 01.37-1l3-3.34a1 1 0 00.17-1 .82.82 0 00-.75-.57h-7a1.5 1.5 0 01-1.31-1.4v-2.73a1.41 1.41 0 011.31-1.39h7a.84.84 0 00.75-.57 1 1 0 00-.17-1l-3-3.33a1.45 1.45 0 01-.36-1 1.48 1.48 0 01.36-1l1.73-1.94a1.1 1.1 0 01.81-.38zm4.46-8a1.53 1.53 0 011.44 1.6v1.6a1.53 1.53 0 01-1.44 1.6H3.44A1.53 1.53 0 012 8.4V6.8a1.53 1.53 0 011.44-1.6z\"}},\nservice_territory_policy:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M17.05 2H8a6.08 6.08 0 00-6 6.09v5.68a6 6 0 006 6.09h9.05a6 6 0 006-6.09V8.09a6 6 0 00-6-6.09zm-3.26 13H11.3a4.06 4.06 0 010-8.12h2.49a4.06 4.06 0 110 8.12zM34.42 19.86h9a6 6 0 006-6.09V8.09a6 6 0 00-6-6.09h-9a6 6 0 00-6 6.09v5.68a6 6 0 006 6.09zm3.25-13h2.49a4.06 4.06 0 110 8.12h-2.49a4.06 4.06 0 010-8.12zM17.05 24.73H8a6.08 6.08 0 00-6 6.09v5.69a6.06 6.06 0 006 6.08h9.05a6.06 6.06 0 006-6.08v-5.69a6 6 0 00-6-6.09zm-3.26 13H11.3a4.06 4.06 0 010-8.12h2.49a4.06 4.06 0 110 8.12zM39.18 24.73c-6 0-10.81 4.47-10.81 10.05 0 6.94 7.74 13.3 10.13 15a1.17 1.17 0 001.42 0C42.31 48 50 41.72 50 34.78c0-5.58-4.84-10.05-10.82-10.05zm0 14.2a4.4 4.4 0 01-4.55-4.21 4.57 4.57 0 019.11 0 4.4 4.4 0 01-4.56 4.21z\"}},\nsettings:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M26.1 19.1c-3.9 0-7 3.1-7 7s3.1 7 7 7 7-3.1 7-7-3.1-7-7-7z\"},{\"d\":\"M47.1 32.4l-3.7-3.1c.2-1.1.3-2.3.3-3.4s-.1-2.3-.3-3.4l3.7-3.1c1.2-1 1.6-2.8.8-4.2l-1.6-2.8c-.6-1-1.7-1.6-2.9-1.6-.4 0-.8.1-1.1.2l-4.6 1.7c-1.8-1.6-3.8-2.7-5.9-3.4L31 4.6c-.3-1.6-1.7-2.5-3.3-2.5h-3.2c-1.6 0-3 .9-3.3 2.5l-.8 4.6c-2.2.7-4.2 1.9-6 3.4l-4.6-1.7c-.4-.1-.7-.2-1.1-.2-1.2 0-2.3.6-2.9 1.6l-1.6 2.8c-.8 1.4-.5 3.2.8 4.2l3.7 3.1c-.2 1.1-.3 2.3-.3 3.4 0 1.2.1 2.3.3 3.4L5 32.3c-1.2 1-1.6 2.8-.8 4.2l1.6 2.8c.6 1 1.7 1.6 2.9 1.6.4 0 .8-.1 1.1-.2l4.6-1.7c1.8 1.6 3.8 2.7 5.9 3.4l.8 4.8c.3 1.6 1.6 2.7 3.3 2.7h3.2c1.6 0 3-1.2 3.3-2.8l.8-4.8c2.3-.8 4.4-2 6.2-3.7l4.3 1.7c.4.1.8.2 1.2.2 1.2 0 2.3-.6 2.9-1.6l1.5-2.6c.9-1.1.5-2.9-.7-3.9zm-21 4.7c-6.1 0-11-4.9-11-11s4.9-11 11-11 11 4.9 11 11-4.9 11-11 11z\"}]}},\nsetup:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M46.8 32.4l-3.7-3.1c.2-1.1.3-2.3.3-3.4s-.1-2.3-.3-3.4l3.7-3.1c1.2-1 1.6-2.8.8-4.2L46 12.3c-.6-1-1.7-1.6-2.9-1.6-.4 0-.8.1-1.1.2l-4.5 1.7c-1.8-1.6-3.8-2.7-5.8-3.4l-.8-4.7C30.6 2.9 29.2 2 27.6 2h-3.2c-1.6 0-3 .9-3.3 2.5l-.8 4.6c-2.2.7-4.1 1.9-5.9 3.4L10 10.8c-.4-.1-.7-.2-1.1-.2-1.2 0-2.3.6-2.9 1.6L4.4 15c-.8 1.4-.5 3.2.8 4.2l3.7 3.1c-.2 1.1-.3 2.3-.3 3.4 0 1.2.1 2.3.3 3.4l-3.7 3.1c-1.2 1-1.6 2.8-.8 4.2l1.6 3c.6 1 1.7 1.6 2.9 1.6.4 0 .8-.1 1.1-.2l4.5-1.7c1.8 1.6 3.8 2.7 5.8 3.4l.8 4.8c.3 1.6 1.6 2.7 3.3 2.7h3.2c1.6 0 3-1.2 3.3-2.8l.8-4.8c2.3-.8 4.3-2 6.1-3.7l4.2 1.7c.4.1.8.2 1.2.2 1.2 0 2.3-.6 2.9-1.6l1.5-2.6c.8-1.2.4-3-.8-4zm-20.7 4.7c-6 0-10.9-4.9-10.9-11s4.8-11 10.9-11S37 20 37 26.1s-4.9 11-10.9 11z\"},{\"d\":\"M29 18h-4.6c-.7 0-1.3.4-1.5 1l-2.8 7.2c-.2.5.2 1.1.8 1.1h4.7l-1.7 6c-.2.6.5.9.9.5l7.1-8.3c.5-.5.1-1.3-.6-1.3h-3.5l3.1-4.9c.3-.5-.1-1.2-.7-1.2H29z\"}]},\nsetup_assistant_guide:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M11.5 24.9c0-.4-.5-.6-.8-.4l-4.5 3.7c-.2.2-.2.5-.2.8v15.9c0 1 1.4 1.5 2.3.8l7.3-5.7c.2-.2.3-.4.1-.7-1.8-2.7-3.6-7.2-4.2-14.4zM21.2 39.8c.2.1.4.2.6.2h8.3c.2 0 .4-.1.6-.2 1.2-.8 6-4.8 6-18.4 0-6.3-1.8-10.7-3.9-13.7C29.7 3.3 26 2 26 2s-3.8 1.3-6.9 5.8c-2.1 3-3.8 7.3-3.8 13.6C15.3 35 20 39 21.2 39.8zM25.9 13c3.3 0 6 2.7 6 6s-2.7 6-6 6-6-2.7-6-6 2.7-6 6-6zM45.7 28.2l-4.4-3.7c-.3-.3-.8-.1-.8.4-.6 7.2-2.4 11.7-4.1 14.5-.1.2-.1.5.1.7l7.3 5.7c.9.7 2.2.2 2.2-.8V29c0-.3 0-.6-.3-.8zM32.2 44.5c-.2-.3-.5-.5-.8-.5h-11c-.3 0-.7.2-.8.5-.4.6-1 1.7-1.4 3.1-.3 1.2.7 2.4 2 2.4h11.4c1.3 0 2.3-1.2 2-2.4-.4-1.5-1-2.6-1.4-3.1z\"}}},\nsetup_modal:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M48.5 2h-45C2.7 2 2 2.7 2 3.5v32.4c0 .8.7 1.5 1.5 1.5h45c.8 0 1.5-.7 1.5-1.5V3.5c0-.8-.7-1.5-1.5-1.5z\"},{\"d\":\"M32 44c1.1 0 2 .9 2 2s-.9 2-2 2-2-.9-2-2 .9-2 2-2m0-2c-2.2 0-4 1.8-4 4s1.8 4 4 4 4-1.8 4-4-1.8-4-4-4z\"}],\"circle\":[{\"cx\":\"20\",\"cy\":\"46\",\"r\":\"4\"},{\"cx\":\"8\",\"cy\":\"46\",\"r\":\"4\"},{\"cx\":\"44\",\"cy\":\"46\",\"r\":\"4\"}]},\nshare:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M48.5 30h-3c-.8 0-1.5.7-1.5 1.5v11c0 .8-.7 1.5-1.5 1.5h-33c-.8 0-1.5-.7-1.5-1.5v-21c0-.8.7-1.5 1.5-1.5h4c.8 0 1.5-.7 1.5-1.5v-3c0-.8-.7-1.5-1.5-1.5H6c-2.2 0-4 1.8-4 4v28c0 2.2 1.8 4 4 4h40c2.2 0 4-1.8 4-4V31.5c0-.8-.7-1.5-1.5-1.5zM34 14c-10 0-19.1 8.9-19.9 19.4-.1.8.6 1.6 1.5 1.6h3c.8 0 1.4-.6 1.5-1.3C20.8 26.2 27.2 20 35 20h1.6c.9 0 1.3 1.1.7 1.7l-5.5 5.6c-.6.6-.6 1.5 0 2.1l2.1 2.1c.6.6 1.5.6 2.1 0L49.6 18c.6-.6.6-1.5 0-2.1L36.1 2.4c-.6-.6-1.5-.6-2.1 0l-2.1 2.1c-.6.6-.7 1.5-.1 2.1l5.6 5.6c.6.6.2 1.7-.7 1.7L34 14z\"}},\nshare_file:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M41 15.9h7.8c.4 0 .7-.5.4-.9l-8.3-8.3c-.4-.3-.9 0-.9.4v7.8c0 .6.4 1 1 1zm8 4H38c-1.1 0-2-.9-2-2v-11c0-.6-.4-1-1-1H21.5c-.8 0-1.5.7-1.5 1.5v4c0 .4.2.8.4 1.1l5.6 5.6c.8.8 1.4 1.9 1.6 3.1.2 1.6-.3 3.1-1.4 4.3L24.6 27c-.5.5-1 .8-1.6 1.1.7.3 1.5.5 2.3.6 2.6.2 4.7 2.4 4.7 5.1V36c0 1.4-.7 2.8-1.7 3.7-1 1-2.5 1.4-3.9 1.3-1.1-.1-2.1-.3-3.2-.5-.6-.2-1.2.3-1.2 1v3.1c0 .8.7 1.5 1.5 1.5h27c.8 0 1.5-.7 1.5-1.5V21c0-.6-.4-1-1-1.1zM26 35.8v-2.2c0-.6-.5-1-1.1-1.1-5.4-.5-9.9-5.1-9.9-10.8v-1.2c0-.6.8-1 1.2-.5l4 4c.4.4 1.1.4 1.5 0l1.5-1.5c.4-.4.4-1.1 0-1.5l-9.7-9.7c-.4-.4-1.1-.4-1.5 0L2.3 21c-.4.4-.4 1.1 0 1.5L3.8 24c.4.4 1.1.5 1.5.1l4.2-4c.5-.5 1.4-.1 1.4.5v1.9c0 7.2 6.3 13.8 13.9 14.4.7 0 1.2-.5 1.2-1.1z\"}},\nshare_mobile:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M41.957 50.438c2.2 0 4-1.799 4-4V19.512c0-2.2-1.8-4-4-4h-7.5c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h4c.801 0 1.5.7 1.5 1.501v19.924c0 .799-.699 1.5-1.5 1.5H13.465c-.8 0-1.5-.701-1.5-1.5V23.013c0-.801.7-1.501 1.5-1.501h4c.8 0 1.5-.699 1.5-1.5v-3c0-.8-.7-1.5-1.5-1.5h-7.5c-2.2 0-4 1.8-4 4v26.925c0 2.198 1.8 4 4 4h31.992v.001z\"},{\"d\":\"M28.952 30.898V11.487h5.899c1 0 1.5-.9.899-1.4l-9-8.3c-.399-.3-1-.3-1.399 0l-9 8.3c-.601.6-.101 1.4.899 1.4h5.7v19.412c0 .802.7 1.602 1.5 1.602h3c.802-.001 1.502-.801 1.502-1.603z\"}]}},\nshare_post:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M26 4C12.7 4 2 13.8 2 26c0 3.9 1.1 7.5 3 10.8.2.4.3.9.2 1.3L3 45c-.4 1.3.8 2.4 2.1 2l7-2.4c.5-.2 1-.1 1.4.2 3.7 2.1 8 3.3 12.6 3.3 13.3 0 24-9.8 24-22C49.8 13.8 39.1 4 26 4z\"}},\nshield:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M4.8 14h42.4c1 0 1.8-1 1.5-2-1-3.3-2.4-6.3-4.3-9-.6-.8-1.7-.9-2.3-.2-1.9 1.8-4.6 2.8-7.4 2.8-3 0-5.7-1.2-7.7-3.2-.6-.6-1.6-.6-2.2 0-2 2-4.7 3.2-7.7 3.2-2.8 0-5.4-1-7.4-2.8-.7-.6-1.8-.5-2.3.2C5.5 5.6 4 8.7 3.1 12c-.1 1 .7 2 1.7 2zM50 20.4c0-.9-.7-1.4-1.6-1.4H3.6c-.9 0-1.6.5-1.6 1.4v.3c0 15 10.4 27.4 24 29.3 13.6-1.9 24-14.3 24-29.2v-.4z\"}}},\nshift_pattern:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M43.6 6.8h-4V5.2a3.2 3.2 0 00-6.4 0v1.6H18.8V5.2a3.2 3.2 0 00-6.4 0v1.6h-4a4.81 4.81 0 00-4.8 4.8v1.6a1.6 1.6 0 001.6 1.6h41.6a1.6 1.6 0 001.6-1.6v-1.6a4.81 4.81 0 00-4.8-4.8zm3.2 12.8a1.6 1.6 0 011.6 1.6v24a4.81 4.81 0 01-4.8 4.8H8.4a4.81 4.81 0 01-4.8-4.8v-24a1.6 1.6 0 011.6-1.6h41.6zM36 41.46h-9.39a.93.93 0 00-.93.93V45a.93.93 0 00.93.93H36a.93.93 0 00.93-.93v-2.61a.93.93 0 00-.93-.93zm0-10.79H15.54a.93.93 0 00-.93.93v6.32a.93.93 0 00.93.93H36a.93.93 0 00.93-.93V31.6a.93.93 0 00-.93-.93zM24.93 23.6h-9.39a.93.93 0 00-.93.93v2.65a.93.93 0 00.93.93h9.39a.93.93 0 00.93-.93v-2.65a.93.93 0 00-.93-.93z\"}},\nshift_pattern_entry:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M27.4 2A1.58 1.58 0 0129 3.6v11.2a3.89 3.89 0 004.2 4.2h11.2a1.58 1.58 0 011.6 1.6v24.6a4.87 4.87 0 01-4.8 4.8H10.8A4.87 4.87 0 016 45.2V6.8A4.87 4.87 0 0110.8 2h16.6zm8.79 38.66H26.8a.93.93 0 00-.93.93v2.65a.93.93 0 00.93.93h9.39a.93.93 0 00.93-.93v-2.65a.93.93 0 00-.93-.93zm0-10.79H15.73a.93.93 0 00-.93.93v6.32a.93.93 0 00.93.93h20.46a.93.93 0 00.93-.93V30.8a.93.93 0 00-.93-.93zM25.12 22.8h-9.39a.93.93 0 00-.93.93v2.65a.93.93 0 00.93.93h9.39a.93.93 0 00.93-.93v-2.65a.93.93 0 00-.93-.93zM34.2 2a1.4 1.4 0 01.9.3l10.6 10.6a1.4 1.4 0 01.3.9 1.2 1.2 0 01-1.1 1.2h-8.5a3.5 3.5 0 01-3.4-3.4V3.1A1.2 1.2 0 0134.2 2z\"}},\nshift_scheduling_operation:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M46.8 19.6a1.6 1.6 0 011.6 1.6v24a4.81 4.81 0 01-4.8 4.8H8.4a4.81 4.81 0 01-4.8-4.8v-24a1.6 1.6 0 011.6-1.6h41.6zM26 22.8a12 12 0 1012 12 12 12 0 00-12-12zm2.3 5.73l4.3 4.2a.62.62 0 010 .73l-4.3 4.15c-.31.31-.73 0-.73-.47v-2.49a4.93 4.93 0 00-5.18 4.68 5.23 5.23 0 000 .56h-3.11a8.23 8.23 0 018.11-8.35h.18V29c0-.52.43-.78.73-.47zM36.4 2a3.21 3.21 0 013.2 3.2v1.6h4a4.81 4.81 0 014.8 4.8v1.6a1.6 1.6 0 01-1.6 1.6H5.2a1.6 1.6 0 01-1.6-1.6v-1.6a4.81 4.81 0 014.8-4.8h4V5.2a3.2 3.2 0 016.4 0v1.6h14.4V5.2A3.21 3.21 0 0136.4 2z\"}},\nshift_ui:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M27.8 40.7H48c1.1 0 2 .9 2 2v5.7c0 1.1-.9 2-2 2H27.8c-1.1 0-2-.9-2-2v-5.7c0-1.1.9-2 2-2zM4 17.5h44c1.1 0 2 .9 2 2v13.6c0 1.1-.9 2-2 2H4c-1.1 0-2-.9-2-2V19.5c0-1.1.9-2 2-2zM4 2.3h20.2c1.1 0 2 .9 2 2V10c0 1.1-.9 2-2 2H4c-1.1 0-2-.9-2-2V4.3c0-1.1.9-2 2-2z\"}}},\nshopping_bag:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M64.7 19.1v.4-.4z\"},{\"d\":\"M44 19.6c0-2.2-1.8-4-4-4h-.7c-.5-6.8-6.2-12.2-13.2-12.2S13.5 8.8 12.9 15.6H12c-2.2 0-4 1.8-4 4l-2 25c0 2.2 1.8 4 4 4h32c2.2 0 4-1.8 4-4l-2-25zM26.1 9.4c3.7 0 6.7 2.7 7.2 6.2H18.9c.6-3.5 3.6-6.2 7.2-6.2zm5.7 18.2H20.2c-1.7 0-3-1.4-3-3s1.4-3 3-3h11.7c1.7 0 3 1.4 3 3s-1.4 3-3.1 3z\"}]},\nshortcuts:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M12.1 2.7h26.5c.9 0 1.6.7 1.6 1.6 0 .5-.2.9-.5 1.2l-7.2 7.2c4.4 3.9 16.7 17.5 2.3 34.9l-.2.2c0 .1-.1.1-.2.2-.3.4-.8.7-1.4.7-.9 0-1.6-.7-1.6-1.6v-.2-.1c0-.1 0-.2.1-.2.5-2.2 3.6-17.2-9.6-23.4l-8.7 8.7c-.3.3-.7.5-1.1.5-.9 0-1.6-.7-1.6-1.6V4.4c-.1-.9.7-1.7 1.6-1.7z\"}},\nside_list:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M48.5 4h-27c-.8 0-1.5.7-1.5 1.5v41c0 .8.7 1.5 1.5 1.5h27c.8 0 1.5-.7 1.5-1.5v-41c0-.8-.7-1.5-1.5-1.5zM14.5 4h-11C2.7 4 2 4.7 2 5.5v5c0 .8.7 1.5 1.5 1.5h11c.8 0 1.5-.7 1.5-1.5v-5c0-.8-.7-1.5-1.5-1.5zM14.5 16h-11c-.8 0-1.5.7-1.5 1.5v5c0 .8.7 1.5 1.5 1.5h11c.8 0 1.5-.7 1.5-1.5v-5c0-.8-.7-1.5-1.5-1.5zM14.5 28h-11c-.8 0-1.5.7-1.5 1.5v5c0 .8.7 1.5 1.5 1.5h11c.8 0 1.5-.7 1.5-1.5v-5c0-.8-.7-1.5-1.5-1.5zM14.5 40h-11c-.8 0-1.5.7-1.5 1.5v5c0 .8.7 1.5 1.5 1.5h11c.8 0 1.5-.7 1.5-1.5v-5c0-.8-.7-1.5-1.5-1.5z\"}},\nsignpost:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M49.5 9l-4.2-3.1c-.6-.4-1.2-.6-1.9-.6H29.2V3.6c0-.9-.7-1.6-1.6-1.6h-3.2c-.9 0-1.6.7-1.6 1.6v1.6h-16c-.9 0-1.6.7-1.6 1.6v6.4c0 .9.7 1.6 1.6 1.6H43.4c.7 0 1.4-.2 1.9-.6l4.2-3.1c.7-.6.7-1.6 0-2.1zM45.2 22.8h-16v-2.4c0-.5-.3-.8-.8-.8h-4.8c-.5 0-.8.3-.8.8v2.4H8.6c-.7 0-1.4.2-1.9.6l-4.2 3.1c-.7.5-.7 1.5 0 2.1l4.2 3.1c.6.4 1.2.6 1.9.6h36.6c.9 0 1.6-.7 1.6-1.6v-6.4c0-.8-.7-1.5-1.6-1.5zM29.2 43.3V38c0-.5-.3-.8-.8-.8h-4.8c-.5 0-.8.3-.8.8v5.3c-3.2.9-5 2.8-5.5 5.2-.2.7.4 1.5 1.2 1.5h15.1c.8 0 1.4-.7 1.2-1.5-.6-2.4-2.4-4.3-5.6-5.2z\"}}},\nskip:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M39.5 32.3v.7c0 1 .7 1 1.3.4l4.9-4.9c.5-.6 1.5-.6 2.1 0l2.1 2.1c.6.5.6 1.5 0 2.1L37 45.6c-.5.5-1.3.5-1.8 0l-13-13c-.5-.6-.5-1.3.1-1.9l2.2-2.2c.6-.6 1.5-.7 2.1-.1l4.9 4.9c.7.7 1.3.9 1.7.1.1-.3.1-1.1.1-1.1V25c0-7.1-5.7-12.8-12.8-12.8S7.7 17.8 7.7 24.9v13.3c0 .8-.7 1.4-1.5 1.4H3c-.8 0-1.4-.5-1.4-1.3V24.9C1.6 14.5 10 6 20.5 6s18.9 8.5 18.9 18.9l.1 7.4z\"}},\nskip_back:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M26 7.9V2.6c0-.5-.6-.8-1.1-.5l-10.3 8.5c-.4.3-.4.9 0 1.2l10.3 8.4c.4.4 1.1 0 1.1-.4v-5.4c8 0 14.6 6.5 14.6 14.6S34 43.5 26 43.5 11.4 37 11.4 28.9c0-2.3.5-4.5 1.5-6.5 0 0 0-.1.1-.2.2-.4.4-.9.6-1.2.3-.5.6-1.3 0-1.8s-3.1-2.6-3.3-2.7c-.2-.1-.9-.8-1.6.2-.4.6-.9 1.5-1.3 2.2 0 .1-.1.1-.1.2-.2.3-.3.6-.4.7-1.3 2.7-2 5.8-2 9.1 0 11.6 9.4 21 21 21s21-9.4 21-21-9.3-21-20.9-21z\"}},\nskip_forward:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M26 7.9V2.6c0-.5.6-.8 1.1-.5l10.3 8.5c.4.3.4.9 0 1.2l-10.3 8.4c-.4.4-1.1 0-1.1-.4v-5.4c-8 0-14.6 6.5-14.6 14.6S18 43.5 26 43.5 40.6 37 40.6 28.9c0-2.3-.5-4.5-1.5-6.5 0 0 0-.1-.1-.2-.2-.4-.4-.9-.6-1.2-.3-.5-.6-1.3 0-1.8s3.1-2.6 3.3-2.7c.2-.1.9-.8 1.6.2.4.6.9 1.5 1.3 2.2 0 .1.1.1.1.2.2.3.3.6.4.7 1.3 2.7 2 5.8 2 9.1 0 11.6-9.4 21-21 21S5 40.6 5 29 14.4 7.9 26 7.9z\"}},\nslider:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M43 23.1h5c1.1 0 2 .9 2 2v2c0 1.1-.9 2-2 2h-5c-.6 0-.9-.5-.8-1 0 0 .3-1 .3-2s-.3-2.1-.3-2.1c-.1-.6.3-1 .8-.9zM10.8 41H4c-1.1 0-2 .9-2 2v2c0 1.1.9 2 2 2h6.8c1 1.8 3 3 5.2 3 3.3 0 6-2.7 6-6s-2.7-6-6-6c-2.2 0-4.2 1.2-5.2 3zM26.2 42s.3 1.1.3 2.1-.3 2-.3 2c-.1.5.2 1 .8 1h21c1.1 0 2-.9 2-2v-2c0-1.1-.9-2-2-2H27c-.6-.1-.9.3-.8.9zM30.2 6s.3 1.1.3 2.1-.3 2-.3 2c-.1.5.2 1 .8 1h17c1.1 0 2-.9 2-2v-2c0-1.1-.9-2-2-2H31c-.5-.1-.9.3-.8.9zM14.8 5H4c-1.1 0-2 .9-2 2v2c0 1.1.9 2 2 2h10.8c1 1.8 3 3 5.2 3 3.3 0 6-2.7 6-6s-2.7-6-6-6c-2.2 0-4.2 1.2-5.2 3zM26.8 23H4c-1.1 0-2 .9-2 2v2c0 1.1.9 2 2 2h22.8c1 1.8 3 3 5.2 3 3.3 0 6-2.7 6-6s-2.7-6-6-6c-2.2 0-4.2 1.2-5.2 3z\"}}},\nsmiley_and_people:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M50 26.1c0 13.3-10.755 24.1-24 24.1S2 39.4 2 26.1 12.755 2 26 2s24 10.8 24 24.1zM17 15c-1.674 0-3 1.767-3 4s1.326 4 3 4 3-1.767 3-4-1.326-4-3-4zm18 0c-1.674 0-3 1.767-3 4s1.326 4 3 4 3-1.767 3-4-1.326-4-3-4zM11 29c.632 7.644 6.158 14 14.921 14C34.685 43 40.368 36.644 41 29H11z\"}},\nsms:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M26 4C12.7 4 2.1 13.8 2.1 25.9c0 3.8 1.1 7.4 2.9 10.6.3.5.4 1.1.2 1.7l-3.1 8.5c-.3.8.5 1.5 1.3 1.3l8.6-3.3c.5-.2 1.1-.1 1.7.2 3.6 2 7.9 3.2 12.5 3.2C39.3 48 50 38.2 50 26.1 49.9 13.8 39.2 4 26 4zm-9.6 25.6c-.3.5-.6 1-1 1.3s-.9.6-1.5.8c-.5.2-1.1.2-1.7.2-.8 0-1.5-.1-2.2-.4-.7-.3-1.4-.7-1.9-1.3l-.2-.2c-.1-.1 0-.3.2-.5L9.7 28c.2-.2.4-.2.5-.1s.2.3.2.3c.2.3.5.5.8.7.5.3 1 .3 1.6.2.2 0 .3-.1.5-.2l.3-.3c.1-.1.1-.3.1-.4 0-.4-.1-.5-.2-.6-.2-.2-.5-.4-.9-.5s-.8-.3-1.3-.4c-.5-.2-1-.4-1.4-.6-.5-.3-.8-.7-1.1-1.1-.3-.5-.5-1.1-.5-1.9 0-.7.1-1.3.4-1.8.3-.5.6-.9 1.1-1.2.4-.3.9-.6 1.5-.7 1.2-.3 2.4-.3 3.6.1.6.2 1.2.6 1.5.8l.3.2c.2.1.1.4-.1.6l-1.5 1.5c-.2.2-.5.2-.7 0-.2-.1-.3-.3-.4-.3-.5-.3-1.2-.4-1.8-.3-.2 0-.3.1-.4.2l-.3.3c-.1.1-.1.2-.1.4 0 .3.1.4.2.5.2.2.5.3.9.5.4.1.8.3 1.3.4.5.2 1 .4 1.4.6.5.3.8.7 1.1 1.1.3.5.5 1.1.5 1.9 0 .6-.1 1.2-.4 1.7zM33 31c0 .6-.5 1-1.1 1h-1c-.6 0-.9-.4-.9-1v-5.9c0-.6-.8-.7-1-.2l-1.7 4.5c-.1.4-.5.6-.9.6h-.7c-.4 0-.8-.3-.9-.6L23 24.9c-.2-.5-1-.4-1 .2V31c0 .6-.5 1-1.1 1h-1c-.6 0-.9-.4-.9-1V20c0-.6.4-1 .9-1h2.6c.4 0 .8.3.9.6l2 5.2c.2.4.8.4.9 0l2-5.2c.1-.4.5-.6.9-.6h2.7c.6 0 1.1.4 1.1 1v11zm10.5-1.3c-.3.5-.6 1-1.1 1.3-.4.3-.9.6-1.5.8s-1.1.2-1.7.2c-.8 0-1.5-.1-2.2-.4-.7-.3-1.4-.7-1.9-1.3l-.2-.2c-.1-.1 0-.3.2-.5l1.6-1.5c.2-.2.4-.2.5-.1s.2.3.2.3c.2.3.5.5.8.7.5.3 1.1.3 1.6.2.2-.1.4-.1.5-.2l.3-.3c.1-.1.1-.3.1-.4 0-.4-.1-.5-.2-.6-.2-.2-.5-.4-.9-.5s-.8-.3-1.3-.4c-.5-.2-1-.4-1.4-.6-.5-.3-.9-.7-1.2-1.1-.3-.5-.5-1.1-.5-1.9 0-.7.1-1.3.4-1.8.3-.5.6-.9 1.1-1.2.4-.3 1-.6 1.5-.7 1.2-.3 2.4-.3 3.6.1.6.2 1.2.6 1.5.9l.3.3c.2.1.1.4-.1.6L42 22.9c-.2.2-.5.2-.7 0-.2-.1-.3-.3-.4-.3-.5-.3-1.2-.4-1.8-.3-.2 0-.3.1-.4.2l-.3.3c-.1.1-.1.3-.1.4 0 .3.1.4.2.5.2.2.5.3.9.5.4.1.8.3 1.3.4.5.2 1 .4 1.4.6.5.3.8.7 1.2 1.1.3.5.5 1.1.5 1.9.1.3 0 1-.3 1.5z\"}},\nsnippet:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M14.5 6h-11C2.7 6 2 6.7 2 7.5v13c0 .8.7 1.5 1.5 1.5h11c.8 0 1.5-.7 1.5-1.5v-13c0-.8-.7-1.5-1.5-1.5zM48.5 6h-27c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h27c.8 0 1.5-.7 1.5-1.5v-3c0-.8-.7-1.5-1.5-1.5zM21.5 22h17c.8 0 1.5-.7 1.5-1.5v-3c0-.8-.7-1.5-1.5-1.5h-17c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5zM14.5 30h-11c-.8 0-1.5.7-1.5 1.5v13c0 .8.7 1.5 1.5 1.5h11c.8 0 1.5-.7 1.5-1.5v-13c0-.8-.7-1.5-1.5-1.5zM48.5 30h-27c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h27c.8 0 1.5-.7 1.5-1.5v-3c0-.8-.7-1.5-1.5-1.5zM38.5 40h-17c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h17c.8 0 1.5-.7 1.5-1.5v-3c0-.8-.7-1.5-1.5-1.5z\"}},\nsobject:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M6.3 4.3h4c-4.8 10.6-4.8 18.6 0 29.2h-4C.7 21.3.8 16.5 6.3 4.3zM23.7 22.4c.4 1.8.7 3.3.9 3.9.3.9.8 1.6 1.4 2.1 1.5-1.2 3.4-1.9 5.4-1.9 1.3 0 2.5.3 3.6.8.2-.3.3-.6.3-.9 0-1-.8-1.8-1.8-1.8-.3 0-.5.1-.8.2 0 0-1.9 1.1-2.6.2-.5-.9-.9-2.1-1.2-3.5-.3-1.3-.6-2.8-.9-4.3l1.9-2.8s2.2.8 3.3.8 3.3-.9 3.3-3.8-2.1-3.1-2.8-3.1c-1.3 0-2.6.9-3.7 2.9s-2.4 4.2-2.4 4.2c-.3-1.4-.5-2.5-.6-3-.2-1.2-1.6-3.9-4.5-3.9s-5.6 1.7-5.6 1.7c-.5.3-.8.9-.8 1.5 0 1 .8 1.8 1.8 1.8.3 0 .5-.1.8-.2 0 0 2.2-1.2 2.7 0 .1.4.3.8.4 1.2.6 1.9 1.1 4.1 1.5 6.2l-1.9 2.7s-2.2-.8-3.3-.8c-1.1 0-3.3.9-3.3 3.8s2.1 3.1 2.8 3.1c1.3 0 2.6-.9 3.7-2.9s2.4-4.2 2.4-4.2zM43.5 28.8c.1 0 .1.1.2.1h.9c1 0 2 .2 2.9.5 3.6-9.4 3-14.4-1.9-25.1h-4c4.1 9 4.7 16.1 1.9 24.5zM35.3 32.4c.8-.8 1.9-1.3 3.2-1.3 1.6 0 3.1.9 3.9 2.2.7-.3 1.4-.5 2.2-.5 3 0 5.4 2.4 5.4 5.4 0 3-2.4 5.4-5.4 5.4-.4 0-.7 0-1.1-.1-.7 1.2-2 2-3.4 2-.6 0-1.2-.2-1.7-.4-.7 1.6-2.3 2.7-4.1 2.7-2 0-3.6-1.2-4.2-2.9-.3 0-.5.1-.9.1-2.3 0-4.2-1.8-4.2-4.1 0-1.5.8-2.9 2.1-3.6-.3-.6-.4-1.2-.4-1.9 0-2.6 2.2-4.8 4.8-4.8 1.5-.1 2.9.7 3.8 1.8z\"}},\nsobject_collection:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M13.6 15.1c-3.4 7.5-3.4 10.5 0 18.1h2.5c-3-6.6-3-11.5-.1-18.1h-2.4zM36.9 29.4c.5-.1 1-.2 1.5-.2.4 0 .7 0 1.1.1 1.7-5.1 1.3-8.1-1.5-14.3h-2.5c2.4 5.4 2.9 9.6 1.4 14.4z\"},{\"d\":\"M22.3 38.4H8.1c-1.1 0-2-.9-2-2V10.2h39.4v20.9c1.5.2 2.8.7 4 1.4V6.1c0-2.2-1.8-4-4-4H6.2c-2.2 0-4 1.8-4 4v32.3c0 2.2 1.8 4 4 4H21c.1-1.4.5-2.8 1.3-4z\"},{\"d\":\"M35.3 34.6c.8-.8 1.9-1.3 3.2-1.3 1.7 0 3.1.9 3.9 2.2.6-.2 1.4-.5 2.2-.5 2.9 0 5.4 2.4 5.4 5.3s-2.4 5.3-5.4 5.3c-.3 0-.7 0-1-.1-.6 1.2-2 2-3.4 2-.6 0-1.2-.2-1.7-.4-.7 1.6-2.3 2.7-4.1 2.7-2 0-3.6-1.2-4.2-2.8-.2 0-.6.1-.9.1-2.3 0-4.2-1.8-4.2-4.1 0-1.5.8-2.8 2.1-3.6-.2-.6-.4-1.2-.4-1.9 0-2.6 2.2-4.7 4.8-4.7 1.5-.1 2.8.7 3.7 1.8zM23 28.9c.7-1.2 1.5-2.5 1.5-2.5.2 1.1.4 2 .6 2.4.2.7.7 1.3 1.3 1.7 1.4-1 3.2-1.6 5.1-1.6h.2c0-.6-.5-1.1-1.1-1.1-.2 0-.3.1-.5.1 0 0-1.2.6-1.6.2-.3-.6-.6-1.3-.7-2.2-.2-.8-.4-1.7-.6-2.7l1.2-1.7s1.3.5 2 .5 2.1-.6 2.1-2.4-1.3-1.9-1.7-1.9c-.8 0-1.6.6-2.3 1.7-.7 1.2-1.5 2.5-1.5 2.5-.2-.9-.3-1.6-.4-1.9-.2-.7-1-2.4-2.8-2.4-1.8 0-3.4 1-3.4 1-.3.2-.5.6-.5.9 0 .6.5 1.1 1.1 1.1.2 0 .3-.1.5-.1 0 0 1.3-.8 1.7 0 .1.2.2.5.2.8.3 1.2.6 2.5.9 3.8l-1.2 1.7s-1.3-.5-2-.5-2.1.6-2.1 2.4 1.3 1.9 1.7 1.9c.9.1 1.7-.5 2.3-1.7z\"}]},\nsocialshare:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M40.9 32c-2.6 0-4.9 1.1-6.5 2.8l-14.6-7.3c.1-.5.1-1 .1-1.6 0-.5-.1-1.1-.1-1.6L34.4 17c1.6 1.8 4 2.9 6.6 2.9 5 0 9-4 9-9s-4-9-9-9-9 4-9 9v.6l-15.1 7.6c-1.7-1.3-3.7-2.1-6-2.1-5 0-9 4-9 9s4 9 9 9c2.3 0 4.3-.8 5.9-2.2l15.1 7.5v.7c0 5 4 9 9 9s9-4 9-9-4-9-9-9z\"}},\nsort:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M27.5 16c.6-.6.6-1.5 0-2.1L16.1 2.4c-.6-.6-1.5-.6-2.1 0L2.5 13.9c-.6.6-.6 1.5 0 2.1l2.1 2.1c.6.6 1.5.6 2.1 0l3.6-3.6c.6-.6 1.7-.2 1.7.7v21.2c0 .8.7 1.5 1.5 1.5h3c.8 0 1.5-.8 1.5-1.5V15.2c0-.9 1.1-1.3 1.7-.7l3.6 3.6c.6.6 1.5.6 2.1 0l2.1-2.1zM49.5 36l-2.1-2c-.6-.6-1.5-.6-2.1 0l-3.6 3.6c-.6.6-1.7.2-1.7-.7V15.5c0-.8-.7-1.5-1.5-1.5h-3c-.8 0-1.5.8-1.5 1.5v21.2c0 .9-1.1 1.3-1.7.7l-3.6-3.6c-.6-.6-1.5-.6-2.1 0L24.5 36c-.6.6-.6 1.5 0 2.1L36 49.6c.6.6 1.5.6 2.1 0l11.5-11.5c.5-.6.5-1.6-.1-2.1z\"}}},\nsort_policy:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M12.84 2H8a6 6 0 00-6 6v3.2a6 6 0 006 6h4.84a6 6 0 006-6V8a6 6 0 00-6-6zm-1.61 10.4h-1.6a2.8 2.8 0 010-5.6h1.6a2.8 2.8 0 010 5.6zM29.7 17.2h4.81a6 6 0 006-6V8a6 6 0 00-6-6H29.7a6 6 0 00-6 6v3.2a6 6 0 006 6zm1.6-10.4h1.61a2.8 2.8 0 110 5.6H31.3a2.8 2.8 0 010-5.6zM12.84 22H8a6 6 0 00-6 6v3.2a6 6 0 006 6h4.84a6 6 0 006-6V28a6 6 0 00-6-6zm-1.61 10.4h-1.6a2.8 2.8 0 010-5.6h1.6a2.8 2.8 0 010 5.6zM49.83 42.54l-1.17-1.13a.82.82 0 00-1.17 0l-2 1.92a.54.54 0 01-.76 0 .55.55 0 01-.16-.38V34a.87.87 0 00-.83-.83H42a.89.89 0 00-.84.83v8.9a.53.53 0 01-.51.55.54.54 0 01-.41-.17l-2-1.92a.82.82 0 00-1.16 0L36 42.49a.74.74 0 00-.08 1 .6.6 0 00.08.08l6.28 6.14a.82.82 0 001.16 0l6.33-6.14a.76.76 0 00.06-1.03zM36.63 30.65l1-1.13a.74.74 0 00.08-1l-.08-.08-6.28-6.14a.82.82 0 00-1.16 0l-6.28 6.14a.74.74 0 00-.08 1l.08.08 1.17 1.13a.82.82 0 001.16 0l2-1.92a.55.55 0 01.78 0 .58.58 0 01.14.34V38a.88.88 0 00.84.83h1.68a.88.88 0 00.83-.83v-8.9a.54.54 0 01.92-.38l2 1.92a.82.82 0 001.2.01z\"}},\nspinner:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M16 27.5v-3c0-.8-.7-1.5-1.5-1.5h-11c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h11c.8 0 1.5-.7 1.5-1.5zM17.9 32c-.6-.6-1.5-.6-2.1 0L8 39.8c-.6.6-.6 1.5 0 2.1l2.1 2.1c.6.6 1.5.6 2.1 0l7.8-7.8c.6-.6.6-1.5 0-2.1L17.9 32zM34.1 20c.6.6 1.5.6 2.1 0l7.8-7.8c.6-.6.6-1.5 0-2.1L41.9 8c-.6-.6-1.5-.6-2.1 0L32 15.7c-.6.6-.6 1.5 0 2.1l2.1 2.2zM12.2 8c-.6-.6-1.5-.6-2.1 0L8 10.1c-.6.6-.6 1.5 0 2.1l7.8 7.8c.6.6 1.5.6 2.1 0l2.1-2.1c.6-.6.6-1.5 0-2.1L12.2 8zM36.3 32c-.6-.6-1.5-.6-2.1 0L32 34.1c-.6.6-.6 1.5 0 2.1l7.8 7.8c.6.6 1.5.6 2.1 0l2.1-2.1c.6-.6.6-1.5 0-2.1L36.3 32zM27.5 36h-3c-.8 0-1.5.7-1.5 1.5v11c0 .8.7 1.5 1.5 1.5h3c.8 0 1.5-.7 1.5-1.5v-11c0-.8-.7-1.5-1.5-1.5zM48.5 23h-11c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h11c.8 0 1.5-.7 1.5-1.5v-3c0-.8-.7-1.5-1.5-1.5zM27.5 2h-3c-.8 0-1.5.7-1.5 1.5v11c0 .8.7 1.5 1.5 1.5h3c.8 0 1.5-.7 1.5-1.5v-11c0-.8-.7-1.5-1.5-1.5z\"}}},\nstage:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"circle\":[{\"cx\":\"46.7\",\"cy\":\"26\",\"r\":\"3.4\"},{\"cx\":\"25.9\",\"cy\":\"26\",\"r\":\"3.4\"},{\"cx\":\"5.4\",\"cy\":\"26\",\"r\":\"3.4\"}],\"path\":{\"d\":\"M11.6 26c0 7.9 6.5 14.4 14.4 14.4S40.3 33.9 40.3 26 33.9 11.6 26 11.6 11.6 18.1 11.6 26zm23.9 0c0 5.3-4.3 9.6-9.6 9.6s-9.6-4.3-9.6-9.6 4.3-9.6 9.6-9.6 9.6 4.3 9.6 9.6z\"}},\nstage_collection:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"circle\":{\"cx\":\"25.9\",\"cy\":\"26\",\"r\":\"3.4\"},\"path\":{\"d\":\"M46.7 22.6c-1.2 0-2.3.7-2.9 1.6h-3.6c-.9-7.1-6.9-12.6-14.3-12.6s-13.4 5.5-14.3 12.6H8.3c-.6-1-1.7-1.6-2.9-1.6C3.5 22.6 2 24.1 2 26s1.5 3.4 3.4 3.4c1.2 0 2.2-.6 2.8-1.6h3.5c.9 7.1 7 12.6 14.3 12.6 7.3 0 13.3-5.5 14.3-12.6h3.6c.6.9 1.6 1.6 2.8 1.6 1.9 0 3.4-1.5 3.4-3.4s-1.5-3.4-3.4-3.4zM26 35.6c-5.3 0-9.6-4.3-9.6-9.6s4.3-9.6 9.6-9.6 9.6 4.3 9.6 9.6-4.4 9.6-9.6 9.6z\"}},\nstandard_objects:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M46.2 38.9L27.4 49.6c-1 .6-2.3.6-3.3 0L5.4 38.9c-.8-.4-.8-1.4 0-1.8l4.4-2.5c.3-.2.7-.2 1 0l11.4 6.5c1.1.6 2.3.9 3.6.9s2.5-.3 3.6-.9l11.4-6.5c.3-.2.7-.2 1 0l4.4 2.5c.8.4.8 1.4 0 1.8z\"},{\"d\":\"M46.2 26.9L27.4 37.6c-1 .6-2.3.6-3.3 0L5.4 26.9c-.8-.4-.8-1.4 0-1.8l4.4-2.5c.3-.2.7-.2 1 0l11.4 6.5c1.1.6 2.3.9 3.6.9s2.5-.3 3.6-.9l11.4-6.5c.3-.2.7-.2 1 0l4.4 2.5c.8.4.8 1.4 0 1.8z\"},{\"d\":\"M24.3 25.6L5.5 14.9c-.8-.4-.8-1.4 0-1.8L24.3 2.4c1-.6 2.3-.6 3.3 0l18.8 10.7c.8.4.8 1.4 0 1.8L27.6 25.6c-1 .5-2.3.5-3.3 0z\"}]},\nsteps:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M44.4 50.2h-7v-4.8h7v4.8zm0-2.3zm-14.1 2.3h-7v-4.8h7v4.8zm-14 0h-7v-4.8h7v4.8zm-9.4-5.9H2.1v-7h4.8v7zm43-1.7h-4.8v-7h4.8v7zm-43-12.3H2.1v-7h4.8v7zm43-1.7h-4.8v-7h4.8v7zm-43-12.3H2.1v-7h4.8v7zm43-1.6h-4.8v-7h4.8v7zm-7.3-8.1h-7V1.8h7v4.8zm-14 0h-7V1.8h7v4.8zm-13.9 0h-7V1.8h7v4.8z\"}},\nstop:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M8 8h36v36H8V8z\"}},\nstore:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M43.1 29.5h-.2c-1.6-.2-2.9-.6-4.1-1.5-.1-.1-.1-.1-.2-.1-.6-.5-1.1-.2-1.4-.1l-.1.1c-1.5 1.1-3.2 1.7-5.2 1.7-2.1 0-3.8-.6-5.4-1.8-.6-.4-1 0-1 0-1.6 1.3-3.4 1.9-5.5 1.9-2 0-3.8-.6-5.3-1.8-.1-.1-.2-.1-.2-.2-.5-.4-1 0-1 0-1.5 1.2-3.2 1.8-5.1 1.9 0 0-.6 0-.6.7v14.9c0 .3.2 1 1.1 1.2h18.5c1-.2 1.1-.9 1.1-1.2v-2.9-7.7c.1-.3.2-.6 1-.6h8.9c.3.1.6.3.6 1v10c0 1.1.8 1.3 1 1.3h2.8c.2 0 1-.2 1-1.3V30.6c.1-.8-.3-1-.7-1.1zM23.2 41v.3c0 .4-.2 1-1.2 1h-8.1c-.9 0-1.1-.4-1.2-.8v-.4-5.7c0-1.4.8-1.5 1.1-1.5h8.5c.3 0 1 .2 1 1.3-.1 2-.1 3.9-.1 5.8zM42.3 25.5c2.2.6 4.1.2 5.7-1.4 1-1 1.7-2.2 1.9-3.5v-.2c-.2-.5-.4-1-.6-1.4-2.4-4.3-4.7-8.6-7-12.9-.3-.6-1-.6-1.2-.6H10.6s-.9 0-1.2.6C7 10.4 4.7 14.8 2.4 19c-.2.4-.4 1-.4 1.6v.2c.2 1.4.8 2.6 1.8 3.5 1.8 1.6 3.8 2 6.2 1.2 1.3-.5 2.2-1.3 3-2.5l.3-.3c.5-.3 1.1-.2 1.5.3.4.6.9 1.2 1.5 1.6 1.7 1.3 3.6 1.5 5.6.9 1.3-.4 2.3-1.3 3-2.5.4-.6 1.4-.7 1.8 0 .2.2.3.5.5.7 1 1.2 2.3 1.9 3.8 2.1 1.4.2 2.8-.2 4.1-1 .7-.5 1.3-1.1 1.7-1.8.5-.6 1.4-.6 1.8 0 .8 1.3 1.8 2.1 3.3 2.5h.4z\"}}},\nstrategy:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M46.9 18.7h-8.1c-1.8 0-3.2 1.4-3.2 3.2v2h-7.5V8.1c0-.5-.5-1-1-1H16.6V5.2c0-1.8-1.4-3.2-3.2-3.2H5.3C3.6 2 2.1 3.4 2.1 5.2v8.1c0 1.8 1.4 3.2 3.2 3.2h8.1c1.8 0 3.2-1.4 3.2-3.2v-1.9H24v12.5h-7.4V22c0-1.8-1.4-3.2-3.2-3.2H5.3c-1.8 0-3.2 1.4-3.2 3.2v8c0 1.8 1.4 3.2 3.2 3.2h8.1c1.8 0 3.2-1.4 3.2-3.2v-1.9H24v12.5h-7.4v-1.8c0-1.8-1.4-3.2-3.2-3.2H5.3c-1.8 0-3.2 1.4-3.2 3.2v8.1c0 1.8 1.4 3.2 3.2 3.2h8.1c1.8 0 3.2-1.4 3.2-3.2V45h10.6c.6 0 1-.6 1-1V28.2h7.5V30c0 1.8 1.4 3.2 3.2 3.2H47c1.8 0 3.2-1.4 3.2-3.2v-8.1c-.1-1.8-1.5-3.2-3.3-3.2zm-34.4-6.3H6.2V6h6.3v6.4zm0 10.4v6.3H6.2v-6.3h6.3zm0 23.2H6.2v-6.3h6.3V46zm33.6-23.2v6.3h-6.3v-6.3h6.3z\"}},\nstrikethrough:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M12.1 18.1c-.2-1-.3-2.2-.3-3.4 0-1.3.3-2.8.9-4.2.6-1.5 1.5-2.9 2.8-4.1 1.2-1.2 2.9-2.3 4.8-3.1 2-.8 4.3-1.3 7.1-1.3 2.5 0 4.9.3 7.2 1 1.8.6 3.5 1.6 5 3 .6.6.6 1.6-.1 2.2l-2.7 2.5c-.6.5-1.5.6-2.1 0-.7-.7-1.5-1.3-2.4-1.8-1.4-.7-3-1.1-4.9-1.1-1.7 0-3.2.2-4.3.7s-2.1 1-2.8 1.8-1.2 1.5-1.5 2.3-.4 1.6-.4 2.2c0 1.1.2 2 .5 2.8.3.7-.2 1.4-.9 1.4h-4.9c-.5 0-.9-.5-1-.9zM39.9 33h-5c-.7 0-1.2.7-.9 1.3.3.6.4 1.4.4 2.2 0 1.2-.3 2.3-.8 3.3-.6 1-1.3 1.7-2.2 2.4-.9.6-1.9 1.1-3 1.4-1.1.3-2.1.5-3.2.5-1.9 0-3.7-.4-5.4-1.2-1.3-.6-2.4-1.4-3.4-2.5-.5-.6-1.5-.7-2.1-.2l-2.8 2.4c-.6.5-.7 1.5-.1 2.1 1.4 1.6 3.2 2.8 5.3 3.6 2.6 1 5.4 1.5 8.4 1.5 2.2 0 4.3-.3 6.2-1 1.9-.6 3.6-1.6 5.1-2.8 1.4-1.2 2.6-2.7 3.4-4.5.8-1.8 1.3-3.7 1.3-5.9 0-.8 0-1.3-.1-2-.2-.2-.6-.6-1.1-.6zM49.9 23.9c-.2-.6-.8-.9-1.4-.9h-45c-.7 0-1.2.3-1.4.9-.1.2-.1.3-.1.5v3c0 .8.7 1.6 1.5 1.6h45c.8 0 1.5-.8 1.5-1.6v-3c0-.2 0-.3-.1-.5z\"}},\nsuccess:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M26 2C12.7 2 2 12.7 2 26s10.7 24 24 24 24-10.7 24-24S39.3 2 26 2zm13.4 18L24.1 35.5c-.6.6-1.6.6-2.2 0L13.5 27c-.6-.6-.6-1.6 0-2.2l2.2-2.2c.6-.6 1.6-.6 2.2 0l4.4 4.5c.4.4 1.1.4 1.5 0L35 15.5c.6-.6 1.6-.6 2.2 0l2.2 2.2c.7.6.7 1.6 0 2.3z\"}},\nsummary:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M48.5 2h-45C2.7 2 2 2.7 2 3.5v5c0 .8.7 1.5 1.5 1.5h45c.8 0 1.5-.7 1.5-1.5v-5c0-.8-.7-1.5-1.5-1.5zM48.5 14h-35c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h35c.8 0 1.5-.7 1.5-1.5v-3c0-.8-.7-1.5-1.5-1.5zM48.5 34h-35c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h35c.8 0 1.5-.7 1.5-1.5v-3c0-.8-.7-1.5-1.5-1.5z\"},{\"d\":\"M48.5 44h-39c-.8 0-1.5-.7-1.5-1.5v-7c0-.8-.7-1.5-1.5-1.5h-3c-.8 0-1.5.7-1.5 1.5v13c0 .8.7 1.5 1.5 1.5h45c.8 0 1.5-.7 1.5-1.5v-3c0-.8-.7-1.5-1.5-1.5zM48.5 24h-39c-.8 0-1.5-.7-1.5-1.5v-7c0-.8-.7-1.5-1.5-1.5h-3c-.8 0-1.5.7-1.5 1.5v13c0 .8.7 1.5 1.5 1.5h45c.8 0 1.5-.7 1.5-1.5v-3c0-.8-.7-1.5-1.5-1.5z\"}]},\nsummarydetail:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M48.5 2h-45C2.7 2 2 2.7 2 3.5v5c0 .8.7 1.5 1.5 1.5h45c.8 0 1.5-.7 1.5-1.5v-5c0-.8-.7-1.5-1.5-1.5zM20.5 14h-7c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h7c.8 0 1.5-.7 1.5-1.5v-3c0-.8-.7-1.5-1.5-1.5zM34.5 14h-7c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h7c.8 0 1.5-.7 1.5-1.5v-3c0-.8-.7-1.5-1.5-1.5zM48.5 14h-7c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h7c.8 0 1.5-.7 1.5-1.5v-3c0-.8-.7-1.5-1.5-1.5zM20.5 34h-7c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h7c.8 0 1.5-.7 1.5-1.5v-3c0-.8-.7-1.5-1.5-1.5zM34.5 34h-7c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h7c.8 0 1.5-.7 1.5-1.5v-3c0-.8-.7-1.5-1.5-1.5zM48.5 34h-7c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h7c.8 0 1.5-.7 1.5-1.5v-3c0-.8-.7-1.5-1.5-1.5z\"},{\"d\":\"M48.5 44h-39c-.8 0-1.5-.7-1.5-1.5v-7c0-.8-.7-1.5-1.5-1.5h-3c-.8 0-1.5.7-1.5 1.5v13c0 .8.7 1.5 1.5 1.5h45c.8 0 1.5-.7 1.5-1.5v-3c0-.8-.7-1.5-1.5-1.5zM48.5 24h-39c-.8 0-1.5-.7-1.5-1.5v-7c0-.8-.7-1.5-1.5-1.5h-3c-.8 0-1.5.7-1.5 1.5v13c0 .8.7 1.5 1.5 1.5h45c.8 0 1.5-.7 1.5-1.5v-3c0-.8-.7-1.5-1.5-1.5z\"}]},\nsurvey:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M5.23 3h35.54A3.29 3.29 0 0144 6.33v3.34A3.29 3.29 0 0140.77 13H5.23A3.29 3.29 0 012 9.67V6.33A3.29 3.29 0 015.23 3zm-.08 15h19.7A3.26 3.26 0 0128 21.33v3.34A3.26 3.26 0 0124.85 28H5.15A3.26 3.26 0 012 24.67v-3.34A3.26 3.26 0 015.15 18zM39 28a11 11 0 11-11 11 11 11 0 0111-11zm7 7.92a.84.84 0 000-1l-1.12-1a.77.77 0 00-1.12 0l-6 6.72-2.72-2.72a.77.77 0 00-1.12 0l-1.12 1a.68.68 0 000 1l3.84 3.76a1.58 1.58 0 001.12.48 1.45 1.45 0 001.12-.48zM5.2 33h18.56a16.14 16.14 0 00-1 5 17.11 17.11 0 00.48 5H5.2A3.28 3.28 0 012 39.67v-3.34A3.28 3.28 0 015.2 33z\"}},\nswarm_request:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"circle\":[{\"cx\":\"20.15\",\"cy\":\"9.99\",\"r\":\"4.28\"},{\"cx\":\"31.84\",\"cy\":\"9.99\",\"r\":\"4.28\"},{\"cx\":\"11.36\",\"cy\":\"19.96\",\"r\":\"5.42\"},{\"cx\":\"40.78\",\"cy\":\"19.96\",\"r\":\"5.42\"},{\"cx\":\"26.07\",\"cy\":\"23.06\",\"r\":\"5.42\"}],\"path\":{\"d\":\"M32.19 46.29a2.79 2.79 0 002.17-.93 3.1 3.1 0 00.93-2.17v-7a4.66 4.66 0 00-4.64-4.64h-9.3a4.66 4.66 0 00-4.64 4.64v7a3.18 3.18 0 003.1 3.1zM12 43.19v-7a9.13 9.13 0 012.63-6.42.81.81 0 00-.08-1.13.79.79 0 00-.46-.19H6.65A4.66 4.66 0 002 33.12v7a3.18 3.18 0 003.1 3.1zM46.9 43.19a2.84 2.84 0 002.17-.93 3.1 3.1 0 00.93-2.17v-7a4.66 4.66 0 00-4.65-4.65h-7.43a.77.77 0 00-.54 1.32A9.28 9.28 0 0140 36.22v7z\"}}},\nswarm_session:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M19 11.48c0 .08.08.16.08.24a.29.29 0 00-.08-.24z\",\"fill-rule\":\"evenodd\"},{\"d\":\"M19.05 11.48c0 .08.08.16.08.24a4.29 4.29 0 00.4.88 6.88 6.88 0 0012.06.47 16.4 16.4 0 0110.69 12.38c.32 0 .64-.08.88-.08A12.35 12.35 0 0147 26 20.84 20.84 0 0032.55 8.6a6.5 6.5 0 00-.72-2.31 7 7 0 00-9.34-3 6.86 6.86 0 00-3.76 7.42 5.52 5.52 0 01.32.77zM15.14 33.75A6.86 6.86 0 009.71 30a8.23 8.23 0 01-.08-1.44 16.84 16.84 0 016.23-12.93 10 10 0 00-.64-1 13.25 13.25 0 01-1.12-3.43 21.13 21.13 0 00-9.18 17.36c0 .88.08 1.68.16 2.56a7 7 0 1010.06 2.63zM49.23 33.75a6.94 6.94 0 00-12.37 6.31c.08.16.24.4.32.56A16.36 16.36 0 0126 45a16.65 16.65 0 01-7.42-1.84 10.24 10.24 0 01-3.36 3.35 20.67 20.67 0 0010.86 3 21.14 21.14 0 0014.85-6.15 6.31 6.31 0 005.35-.4 6.75 6.75 0 002.95-9.21zM19.13 34.15a.32.32 0 00.4.4l2.64-1a.49.49 0 01.56.08 6.34 6.34 0 003.67 1 7.13 7.13 0 007.34-6.87 7.13 7.13 0 00-7.34-6.86 7.12 7.12 0 00-7.27 6.86A7.41 7.41 0 0020 31a.7.7 0 01.08.56z\",\"fill-rule\":\"evenodd\"}]},\nswitch:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M47.6 17.8L27.1 38.5c-.6.6-1.6.6-2.2 0L4.4 17.8c-.6-.6-.6-1.6 0-2.2l2.2-2.2c.6-.6 1.6-.6 2.2 0l16.1 16.3c.6.6 1.6.6 2.2 0l16.1-16.3c.6-.6 1.6-.6 2.2 0l2.2 2.2c.5.7.5 1.6 0 2.2z\"}},\nsymbols:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M33.5 28l1-4h3l-1 4h-3zm-.75 3h3L35 34h3l.75-3H42v-3h-2.5l1-4h3v-3h-2.25l.75-3h-3l-.75 3h-3l.75-3h-3l-.75 3H29v3h2.5l-1 4H27v3h2.75L29 34h3l.75-3zM4 6h44a2 2 0 012 2v36a2 2 0 01-2 2H4a2 2 0 01-2-2V8a2 2 0 012-2zm19.837 20.81c.609-.446 1.096-.84 1.464-1.186.38-.357.708-.797.985-1.319.284-.536.425-1.156.425-1.855 0-.897-.226-1.703-.677-2.411-.45-.707-1.087-1.262-1.905-1.663-.813-.4-1.745-.598-2.794-.598-1.24 0-2.32.232-3.237.698-.913.464-1.726 1.144-2.437 2.036l-.149.187 2.084 1.817.165-.187c.51-.58 1.022-1.009 1.537-1.287.504-.273 1.109-.41 1.817-.41.674 0 1.197.177 1.58.528.38.347.568.808.568 1.4 0 .483-.144.882-.432 1.21-.316.357-.805.775-1.466 1.249-.746.522-1.315 1.008-1.704 1.459-.415.48-.622 1.084-.622 1.802V29h3.14v-.28c0-.316.114-.592.35-.84.265-.28.701-.637 1.308-1.07zM10 18v11h3V18h-3zm1.5 16.5a2 2 0 100-4 2 2 0 000 4zm9 0a2 2 0 100-4 2 2 0 000 4z\"}},\nsync:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M47.9 29.3c0-.8-.7-1.5-1.5-1.5h-3.5c-.8 0-1.4.6-1.4 1.4 0 .2 0 .5-.1.7-.3 1.3-.8 2.5-1.5 3.7-2.8 4.9-7.7 7.6-12.9 7.6-4 0-7.8-1.6-10.6-4.4-.5-.4-.9-.9-1.2-1.4-.3-.8.4-1.2 1.3-1.2h7c.8 0 1.5-.7 1.5-1.5v-3.1c0-.8-.6-1.4-1.4-1.4H5.3c-.7 0-1.3.6-1.3 1.3v18.2c.1.8.8 1.5 1.6 1.5h3c.8 0 1.5-.7 1.5-1.5v-7c0-.9.5-1.3 1.2-.7.3.4.6.7 1 1 5 5 12 7.1 19.2 5.7 2.5-.5 4.9-1.5 7-2.9 5.2-3.4 8.5-8.6 9.4-14.3v-.2zM4.1 22.7c0 .8.7 1.5 1.5 1.5h3.5c.8 0 1.4-.6 1.4-1.4 0-.2 0-.5.1-.7.3-1.3.8-2.5 1.5-3.7 2.8-4.9 7.7-7.6 12.9-7.6 4 0 7.8 1.6 10.6 4.4.5.4.9.9 1.2 1.4.3.8-.4 1.2-1.3 1.2h-7c-.8 0-1.5.7-1.5 1.5v3.1c0 .8.6 1.4 1.4 1.4h18.3c.7 0 1.3-.6 1.3-1.3V4.3c-.1-.8-.8-1.5-1.6-1.5h-3c-.8 0-1.5.7-1.5 1.5v7c0 .9-.5 1.3-1.2.7-.3-.4-.6-.7-1-1-5-5-12-7.1-19.2-5.7-2.5.5-4.9 1.5-7 2.9-5.2 3.4-8.5 8.6-9.4 14.3v.2z\"}},\nsystem_and_global_variable:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M25 46.5c0-3 1.4-5.2 3.4-6.5v-3c-1-.7-1.8-1.8-2.2-3-.4-1.7.2-3.6 1.2-5 .2-.3.6-.6.9-1 .3-.3.7-.6 1.1-.7 2.1-1.1 4.5-1.9 6.9-1.9 2.2 0 4.1.9 5.4 2.2 1.9-1.9 3.9-2.3 5.1-2.3 1.1 0 2.2.2 3.1.7v-.2C50 12.8 39.2 2 26 2S2 12.8 2 26s10.7 24 23.8 24c-.5-1-.8-2.1-.8-3.5zm20-22.9h-6.3C38.5 18 37.2 13 35.3 9.2c5.3 3 8.9 8.3 9.7 14.4zM28.4 7.9c2.7 2.3 5.1 8.2 5.5 15.8h-5.5V7.9zM7 28.4h6.3c.2 5.7 1.5 10.6 3.4 14.4-5.3-2.9-8.9-8.2-9.7-14.4zm6.3-4.8H7c.8-6.2 4.5-11.4 9.8-14.4-2 3.8-3.2 8.8-3.5 14.4zm10.3 20.6c-2.7-2.3-5.1-8.2-5.5-15.8h5.5v15.8zm0-20.6h-5.5c.4-7.5 2.8-13.4 5.5-15.8v15.8z\"},{\"d\":\"M46.4 36c1 0 3.1-.9 3.1-3.6s-2-2.9-2.6-2.9c-1.2 0-2.4.9-3.4 2.7-1.1 1.8-2.3 3.9-2.3 3.9h-.1c-.2-1.3-.5-2.4-.6-2.9-.2-1.1-1.5-3.6-4.2-3.6s-5.2 1.6-5.2 1.6c-.5.3-.8.8-.8 1.4 0 .9.7 1.7 1.7 1.7.2 0 .5-.1.7-.2 0 0 2.1-1.1 2.5 0 .2.3.2.7.4 1.1.6 1.8 1 3.9 1.4 5.8l-1.8 2.5s-2-.7-3-.7-3.1.9-3.1 3.6 2 2.9 2.6 2.9c1.2 0 2.4-.9 3.4-2.7 1-1.8 2.2-3.9 2.2-3.9.3 1.7.6 3 .8 3.6.7 1.9 2.2 3.1 4.3 3.1 0 0 2.2 0 4.6-1.4.6-.2 1-.9 1-1.5 0-.9-.7-1.7-1.7-1.7-.2 0-.5.1-.7.2 0 0-1.8 1-2.4.2-.5-.8-.8-1.9-1.1-3.4-.2-1.2-.6-2.6-.9-4.1l1.8-2.6c.4.1 2.4.9 3.4.9z\"}]},\ntable:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M46.5 2h-41C4.7 2 4 2.7 4 3.5v5c0 .8.7 1.5 1.5 1.5h41c.8 0 1.5-.7 1.5-1.5v-5c0-.8-.7-1.5-1.5-1.5zM14.5 14h-9c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h9c.8 0 1.5-.7 1.5-1.5v-3c0-.8-.7-1.5-1.5-1.5zM30.5 14h-9c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h9c.8 0 1.5-.7 1.5-1.5v-3c0-.8-.7-1.5-1.5-1.5zM46.5 14h-9c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h9c.8 0 1.5-.7 1.5-1.5v-3c0-.8-.7-1.5-1.5-1.5zM14.5 24h-9c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h9c.8 0 1.5-.7 1.5-1.5v-3c0-.8-.7-1.5-1.5-1.5zM30.5 24h-9c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h9c.8 0 1.5-.7 1.5-1.5v-3c0-.8-.7-1.5-1.5-1.5zM46.5 24h-9c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h9c.8 0 1.5-.7 1.5-1.5v-3c0-.8-.7-1.5-1.5-1.5zM14.5 34h-9c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h9c.8 0 1.5-.7 1.5-1.5v-3c0-.8-.7-1.5-1.5-1.5zM30.5 34h-9c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h9c.8 0 1.5-.7 1.5-1.5v-3c0-.8-.7-1.5-1.5-1.5zM46.5 34h-9c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h9c.8 0 1.5-.7 1.5-1.5v-3c0-.8-.7-1.5-1.5-1.5zM14.5 44h-9c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h9c.8 0 1.5-.7 1.5-1.5v-3c0-.8-.7-1.5-1.5-1.5zM30.5 44h-9c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h9c.8 0 1.5-.7 1.5-1.5v-3c0-.8-.7-1.5-1.5-1.5zM46.5 44h-9c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h9c.8 0 1.5-.7 1.5-1.5v-3c0-.8-.7-1.5-1.5-1.5z\"}},\ntable_settings:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M21.5 20h9c.8 0 1.5-.7 1.5-1.5v-3c0-.8-.7-1.5-1.5-1.5h-9c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5zM46.5 14h-9c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h9c.8 0 1.5-.7 1.5-1.5v-3c0-.8-.7-1.5-1.5-1.5zM5.5 10h41c.8 0 1.5-.7 1.5-1.5v-5c0-.8-.7-1.5-1.5-1.5h-41C4.7 2 4 2.7 4 3.5v5c0 .8.7 1.5 1.5 1.5zM48 27.4v-1.9c0-.8-.7-1.5-1.5-1.5h-2.7c1.3.7 2.5 1.6 3.5 2.7.3.2.5.5.7.7zM20 25.5v3c0 .8.7 1.5 1.5 1.5h.7c.7-1.2 1.5-2.3 2.5-3.3 1.1-1.1 2.3-2 3.5-2.7h-6.7c-.8 0-1.5.7-1.5 1.5zM24.7 49.3c-1.5-1.5-2.7-3.3-3.5-5.2-.7.1-1.2.8-1.2 1.5v3c0 .8.7 1.5 1.5 1.5h4c-.3-.3-.5-.6-.8-.8zM14.5 14h-9c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h9c.8 0 1.5-.7 1.5-1.5v-3c0-.8-.7-1.5-1.5-1.5zM14.5 24h-9c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h9c.8 0 1.5-.7 1.5-1.5v-3c0-.8-.7-1.5-1.5-1.5zM14.5 44h-9c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h9c.8 0 1.5-.7 1.5-1.5v-3c0-.8-.7-1.5-1.5-1.5zM14.5 34h-9c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h9c.8 0 1.5-.7 1.5-1.5v-3c0-.8-.7-1.5-1.5-1.5z\"},\"g\":{\"path\":[{\"d\":\"M36.1 35c-1.7 0-3 1.3-3 3s1.3 3 3 3c1.6 0 2.9-1.4 3-3-.1-1.7-1.4-3-3-3z\"},{\"d\":\"M44.5 29.5c-4.7-4.7-12.3-4.7-17 0-4.7 4.7-4.7 12.3 0 17 4.7 4.7 12.3 4.7 17 0 4.7-4.7 4.7-12.3 0-17zm-.6 9.5c0 .3-.1.5-.5.5-.4.1-.8.1-1.2.1-.1 0-.1.1-.1.1-.1.5-.4.8-.5 1.3-.1.1-.1.1 0 .2.2.4.5.7.7 1 .1.2.1.5-.1.7l-1.3 1.3c-.2.1-.3.1-.4.1s-.3-.1-.3-.1c-.3-.2-.7-.5-1-.7 0-.1-.1-.1-.1-.1H39c-.3.1-.8.4-1.3.5-.1 0-.1.1-.1.1-.1.4-.1.8-.1 1.2-.1.3-.5.5-.5.5h-1.9c-.3 0-.5-.1-.5-.5-.1-.4-.1-.8-.1-1.2 0-.1-.1-.1-.1-.1-.5-.1-.8-.4-1.3-.5H33c-.1 0-.1.1-.1.1-.4.2-.7.5-1 .7-.1.1-.3.1-.3.1-.2 0-.3 0-.4-.1l-1.3-1.3c-.2-.2-.2-.5-.1-.7.2-.3.5-.7.7-1 .1-.1 0-.1 0-.2-.1-.5-.4-.8-.5-1.3 0-.1-.1-.1-.1-.1-.4-.1-.7-.1-1.1-.1-.2-.1-.4-.2-.5-.4v-2.2c.1-.3.3-.4.5-.4.4-.1.7-.1 1.1-.1.1 0 .1-.1.1-.1.1-.5.4-.8.5-1.3.1-.1.1-.1 0-.2-.2-.4-.5-.7-.7-1-.1-.2-.1-.5.1-.7l1.3-1.3c.2-.1.2-.1.4-.1s.3.1.3.1c.4.2.7.5 1 .7l.1.1c.5-.1.8-.4 1.3-.5.1 0 .1-.1.1-.1.1-.4.1-.7.1-1.1 0-.2.2-.4.3-.5.1-.1.2-.1.3-.1H37s.1 0 .1.1c.3.1.3.3.3.5.1.4.1.7.1 1.1 0 .1.1.1.1.1.5.1.8.4 1.3.5h.1s0-.1.1-.1c.3-.2.7-.5 1-.7.1-.1.3-.1.3-.1.1 0 .3.1.3.1l1.3 1.3c.2.2.2.5.1.7-.2.3-.5.7-.7 1v.2c.1.3.4.8.5 1.3 0 .1.1.1.1.1.4.1.8.1 1.2.1.3.1.5.2.5.7V39z\"}]}}},\ntablet_landscape:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M50 10c0-2.2-1.8-4-4-4H6c-2.2 0-4 1.8-4 4v32c0 2.2 1.8 4 4 4h40c2.2 0 4-1.8 4-4V10zM6.9 29c-1.7 0-3-1.3-3-3s1.3-3 3-3 3 1.3 3 3-1.4 3-3 3zM44 38.5c0 .8-.7 1.5-1.5 1.5h-29c-.8 0-1.5-.7-1.5-1.5v-25c0-.8.7-1.5 1.5-1.5h29c.8 0 1.5.7 1.5 1.5v25z\"}},\ntablet_portrait:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M46 6c0-2.2-1.8-4-4-4H10C7.8 2 6 3.8 6 6v40c0 2.2 1.8 4 4 4h32c2.2 0 4-1.8 4-4V6zM25.9 48c-1.7 0-3-1.3-3-3s1.3-3 3-3 3 1.3 3 3-1.4 3-3 3zM40 38.5c0 .8-.7 1.5-1.5 1.5h-25c-.8 0-1.5-.7-1.5-1.5v-29c0-.8.7-1.5 1.5-1.5h25c.8 0 1.5.7 1.5 1.5v29z\"}},\ntabset:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M31.6 2H20.4c-.7 0-1.2.6-1.2 1.3v2.5c0 .7.6 1.3 1.2 1.3h11.2c.7 0 1.2-.6 1.2-1.3V3.3c.1-.7-.5-1.3-1.2-1.3zM48.7 2H37.5c-.7 0-1.3.6-1.3 1.3v2.5c0 .7.6 1.3 1.3 1.3h11.2c.7-.1 1.3-.6 1.3-1.3V3.3c0-.7-.6-1.3-1.3-1.3z\"},{\"d\":\"M48.7 10.4H17c-.7 0-1.3-.6-1.3-1.3V3.3c0-.7-.6-1.3-1.3-1.3H3.3C2.6 2 2 2.6 2 3.3v45.5c0 .6.6 1.2 1.3 1.2H48.7c.7 0 1.3-.6 1.3-1.3v-37c0-.7-.6-1.3-1.3-1.3z\"}]},\ntalent_development:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"circle\":{\"cx\":\"16.35\",\"cy\":\"20.81\",\"r\":\"7.21\"},\"path\":[{\"d\":\"M16.35 29.62h-.17A10.76 10.76 0 005.85 40.5v2.58a1.29 1.29 0 001.29 1.29H25.6a1.27 1.27 0 001.26-1.25v-3a10.51 10.51 0 00-10.51-10.5zM31.34 27.77l-4.12 4.39a13.4 13.4 0 012.62 8v3a4.42 4.42 0 01-.21 1.25h.13a18.28 18.28 0 0012.44-4.9L31.36 27.77z\"},{\"d\":\"M41.12 11.54A18.36 18.36 0 0019.19 11a10.2 10.2 0 013.94 17.44 14.64 14.64 0 012.08 1.5l4.67-5v-7.65a1.5 1.5 0 011.5-1.5h6.09a1.5 1.5 0 011.5 1.5v4.19a1.5 1.5 0 01-1.5 1.5h-4.59v2L44.24 37.3a18.35 18.35 0 00-3.12-25.76z\"}]},\ntarget:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M26.2 2.3H26A18.74 18.74 0 007.3 21v.2c0 13 13.4 25 17.6 28.1a2 2 0 002.5 0c4.2-3.3 17.5-15.1 17.5-28.1A19 19 0 0026.2 2.3zM26 7.5a13.53 13.53 0 0110.6 21.9c-1.1-1.6-3.4-2.8-5.6-3.7a.37.37 0 00-.3-.1.85.85 0 00-.7 0 8.12 8.12 0 01-4 1.2 7 7 0 01-4-1.2.85.85 0 00-.7 0 .37.37 0 01-.3.1c-2.2 1-4.5 2.1-5.6 3.8A13.6 13.6 0 0126 7.5z\"},\"ellipse\":{\"cx\":\"26\",\"cy\":\"18.3\",\"rx\":\"5.6\",\"ry\":\"6.2\"}},\ntarget_mode:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M24.56 45.75A1.45 1.45 0 0026 44.3l.08-16.77A1.5 1.5 0 0024.81 26H7.72a1.49 1.49 0 00-1.53 1.29v3.3a1.49 1.49 0 001.29 1.53H13a1.08 1.08 0 011.05 1.05 1.1 1.1 0 01-.25.73L2.56 45.18a1.65 1.65 0 00-.08 2.26l2.18 2.17a1.7 1.7 0 002.25-.08l11.37-11.36a1 1 0 011.45 0 .75.75 0 01.24.73v5.31a1.51 1.51 0 001.29 1.54h3.3z\"},{\"d\":\"M30.53 48.33a24 24 0 0012.57-6.45 23.37 23.37 0 10-33-33.05 23.09 23.09 0 00-6.49 12.49h4.75a18.65 18.65 0 0131.44-9.18 18.66 18.66 0 01-9.11 31.43zm.24-9.6a13.14 13.14 0 005.72-3.46 14 14 0 00-19.82-19.83 13.86 13.86 0 00-3.47 5.8h5a9.21 9.21 0 011.8-2.58 9.35 9.35 0 0113.19 13.22 10.49 10.49 0 01-2.42 1.78z\"}]},\ntask:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M24 7l-1.7-1.7c-.5-.5-1.2-.5-1.7 0L10 15.8l-4.3-4.2c-.5-.5-1.2-.5-1.7 0l-1.7 1.7c-.5.5-.5 1.2 0 1.7l5.9 5.9c.5.5 1.1.7 1.7.7.6 0 1.2-.2 1.7-.7L24 8.7c.4-.4.4-1.2 0-1.7zM48.4 18.4H27.5c-.9 0-1.6-.7-1.6-1.6v-3.2c0-.9.7-1.6 1.6-1.6h20.9c.9 0 1.6.7 1.6 1.6v3.2c0 .9-.7 1.6-1.6 1.6zM48.4 32.7H22.7c-.9 0-1.6-.7-1.6-1.6v-3.2c0-.9.7-1.6 1.6-1.6h25.7c.9 0 1.6.7 1.6 1.6v3.2c0 .9-.7 1.6-1.6 1.6zM13 32.7H9.8c-.9 0-1.6-.7-1.6-1.6v-3.2c0-.9.7-1.6 1.6-1.6H13c.9 0 1.6.7 1.6 1.6v3.2c.1.9-.7 1.6-1.6 1.6zM13 47H9.8c-.9 0-1.6-.7-1.6-1.6v-3.2c0-.9.7-1.6 1.6-1.6H13c.9 0 1.6.7 1.6 1.6v3.2c.1.9-.7 1.6-1.6 1.6zM48.4 47H22.7c-.9 0-1.6-.7-1.6-1.6v-3.2c0-.9.7-1.6 1.6-1.6h25.7c.9 0 1.6.7 1.6 1.6v3.2c0 .9-.7 1.6-1.6 1.6z\"}},\ntext:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M49.4 47.9c-.2-3.2-.3-6.5-.3-9.7 0-1.6 0-3.2.1-4.9 0-1.5.2-3-.4-4.4-1.3-3.2-5.5-3.8-8.5-3.8-1.5 0-3.1.2-4.7.6-1.1.3-2.2.7-3.1 1.2l1 2.5c.2.5.3 1 .4 1.5 2-1 4-1.5 6.1-1.5 3.2 0 4.8 1.3 4.8 3.8v1.2h-2.2c-4.1 0-7.2.6-9.3 1.8-2.3 1.1-3.3 3.2-3.3 6.3 0 2.3.7 4.1 2.1 5.3 1.4 1.2 3.2 1.9 5.4 1.9 1.9 0 3.4-.3 4.6-.8 1.2-.5 2.2-1.4 3-2.5h.1c.1.5.2 1.4.4 2.6 0 .1 3.6 0 3.9 0 0-.4-.1-.7-.1-1.1zM44.8 40c0 .6-.1 1.1-.3 1.6-.1.4-.3.8-.6 1.1-1 1.4-2.6 2.1-4.2 2.3-1 .2-2 .1-3-.1-.8-.1-1.5-.5-2-1.2-.7-1.1-.5-2.8.2-3.8.5-.6 1.2-1 1.9-1.3C38.7 38 41 38 43 38h1.7v2zM29.9 31L18.7 3.4c-.2-.5-.6-.9-1.2-.9H14c-.5 0-1.1.4-1.3.9L2.6 31c-.3.5.2 1.2.7 1.2h3.9c.5 0 1.1-.4 1.3-1L11 24h10l2.9 7.2c.2.5.7 1 1.3 1h3.9c.6 0 1-.7.8-1.2zM13.1 18.5L16 11l3.2 7.5h-6.1z\"}},\ntext_background_color:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M25.9 16l4.3 10h-9l3.9-10h.8zM48 8v36c0 2.2-1.8 4-4 4H8c-2.2 0-4-1.8-4-4V8c0-2.2 1.8-4 4-4h36c2.2 0 4 1.8 4 4zm-5.5 32.7L30.5 11c-.3-.6-.8-1-1.5-1h-7.1c-.6 0-1.2.4-1.4 1l-11 29.7c-.2.6.2 1.3.9 1.3h4.1c.6 0 1.2-.5 1.4-1.1l3.2-8.9h13.4l3.5 8.9c.2.6.8 1.1 1.4 1.1h4.1c.7 0 1.2-.7 1-1.3z\"}},\ntext_color:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M10.4 36h4.1c.6 0 1.2-.5 1.4-1.1l3.2-8.9h13.4l3.5 8.9c.2.6.8 1.1 1.4 1.1h4.1c.7 0 1.2-.7.9-1.3L30.4 5c-.2-.6-.7-1-1.3-1H22c-.6 0-1.2.4-1.4 1l-11 29.7c-.3.6.2 1.3.8 1.3zm14.7-26h.9l4.3 10h-9l3.8-10zM48.5 42h-45c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h45c.8 0 1.5-.7 1.5-1.5v-3c0-.8-.7-1.5-1.5-1.5z\"}},\ntext_template:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M20.1 37.2V37c.2-2.7 2.4-4.9 5.2-4.9H32c-1.1-1.9-.9-4.4.7-6.2l.2-.2 1.6-1.5c.9-1 2.2-1.5 3.4-1.6V6.1c0-2.2-1.8-4-4-4H6.1c-2.2 0-4 1.8-4 4V34c0 2.2 1.8 4 4 4H20v-.8zM8.1 8.3c0-.6.4-1 1-1h6c.6 0 1 .4 1 1v2.8c0 .6-.4 1-1 1h-6c-.6 0-1-.4-1-1V8.3zm0 8.7c0-.6.4-1 1-1H31c.6 0 1 .4 1 1v2.8c0 .6-.4 1-1 1H9.2c-.6 0-1-.4-1-1L8.1 17zm0 11.6v-2.8c0-.6.4-1 1-1h18c.6 0 1 .4 1 1v2.8c0 .6-.4 1-1 1H9.2c-.7 0-1.1-.4-1.1-1z\"},{\"d\":\"M39.2 27c-.6-.5-1.3-.5-1.7 0l-1.7 1.6c-.4.5-.4 1.2 0 1.6l4.4 4.4c.2.2.2.3.2.6 0 .5-.3.8-.8.8H25.3c-.6 0-1.1.5-1.2 1.1v2.4c.1.6.6 1.1 1.2 1.3h14.3c.2 0 .3.1.4.2.3.2.4.8.2 1.1l-4.4 4.4c-.4.5-.4 1.2 0 1.6l1.6 1.7c.5.4 1.2.4 1.6 0l10.6-10.6c.4-.5.4-1.2 0-1.6L39.2 27z\"}]},\ntextarea:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M44.8 49.5H7.2c-2.6 0-4.7-2.1-4.7-4.7V7.2c0-2.6 2.1-4.7 4.7-4.7h37.6c2.6 0 4.7 2.1 4.7 4.7v37.6c0 2.6-2.1 4.7-4.7 4.7zm-36-39.2v31.3c0 .9.7 1.6 1.6 1.6h31.3c.9 0 1.6-.7 1.6-1.6V10.3c0-.9-.7-1.6-1.6-1.6H10.4c-.9.1-1.6.8-1.6 1.6z\"},{\"d\":\"M35.3 27c.8 0 1.6.7 1.6 1.6v6.8c0 .9-.7 1.6-1.6 1.6h-7.2c-.9 0-1.5-.7-1.6-1.6 0-.6.3-1 .6-1.4l1.5-1.5c1-1 2.1-1.9 3.1-2.8.7-.7 1.4-1.3 2.2-2 .2-.2.4-.4.6-.5.4-.2.6-.2.8-.2z\"}]},\ntextbox:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M44.7 49.4H7.3c-2.6 0-4.7-2.1-4.7-4.7V7.3c0-2.6 2.1-4.7 4.7-4.7h37.5c2.6 0 4.7 2.1 4.7 4.7v37.5c-.1 2.5-2.2 4.6-4.8 4.6zm-35.8-39v31.2c0 .9.7 1.6 1.6 1.6h31.2c.9 0 1.6-.7 1.6-1.6V10.4c0-.9-.7-1.6-1.6-1.6H10.5c-.9 0-1.6.7-1.6 1.6z\"},{\"d\":\"M15.2 35.3V16.7c0-.9.7-1.6 1.6-1.6h3.1c.9 0 1.6.7 1.6 1.6v18.6c0 .9-.7 1.6-1.6 1.6h-3.1c-.9 0-1.6-.7-1.6-1.6z\"}]},\nthreedots:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M8 20c3.3 0 6 2.7 6 6s-2.7 6-6 6-6-2.7-6-6 2.7-6 6-6zm18 0c3.3 0 6 2.7 6 6s-2.7 6-6 6-6-2.7-6-6 2.7-6 6-6zm18 0c3.3 0 6 2.7 6 6s-2.7 6-6 6-6-2.7-6-6 2.7-6 6-6z\"}},\nthreedots_vertical:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M20 44c0-3.3 2.7-6 6-6s6 2.7 6 6-2.7 6-6 6-6-2.7-6-6zm0-18c0-3.3 2.7-6 6-6s6 2.7 6 6-2.7 6-6 6-6-2.7-6-6zm0-18c0-3.3 2.7-6 6-6s6 2.7 6 6-2.7 6-6 6-6-2.7-6-6z\"}},\nthunder:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M30.349 3.077a3.704 3.704 0 00-5.222 0l-22.05 22.05a3.702 3.702 0 000 5.221L14.82 42.092a3.703 3.703 0 005.222 0l22.05-22.05a3.706 3.706 0 000-5.222L30.349 3.077zM12.177 5.009c-.522-.522-1.436-.522-1.958 0l-5.204 5.204c-.522.522-.522 1.437 0 1.958l1.958 1.958c.522.521 1.436.521 1.958 0l5.205-5.205c.522-.522.522-1.436 0-1.958l-1.959-1.957zM31.062 36.261c-.522.522-.521 1.437 0 1.958l11.363 11.389c.522.522 1.436.522 1.959 0l5.225-5.225c.521-.521.522-1.436 0-1.959L38.245 31.036c-.522-.522-1.438-.521-1.96 0l-5.223 5.225z\"}}},\ntile_card_list:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M14.5 4h-9C4.7 4 4 4.7 4 5.5v17c0 .8.7 1.5 1.5 1.5h9c.8 0 1.5-.7 1.5-1.5v-17c0-.8-.7-1.5-1.5-1.5zM30.5 4h-9c-.8 0-1.5.7-1.5 1.5v17c0 .8.7 1.5 1.5 1.5h9c.8 0 1.5-.7 1.5-1.5v-17c0-.8-.7-1.5-1.5-1.5zM46.5 4h-9c-.8 0-1.5.7-1.5 1.5v17c0 .8.7 1.5 1.5 1.5h9c.8 0 1.5-.7 1.5-1.5v-17c0-.8-.7-1.5-1.5-1.5zM14.5 28h-9c-.8 0-1.5.7-1.5 1.5v17c0 .8.7 1.5 1.5 1.5h9c.8 0 1.5-.7 1.5-1.5v-17c0-.8-.7-1.5-1.5-1.5zM30.5 28h-9c-.8 0-1.5.7-1.5 1.5v17c0 .8.7 1.5 1.5 1.5h9c.8 0 1.5-.7 1.5-1.5v-17c0-.8-.7-1.5-1.5-1.5zM46.5 28h-9c-.8 0-1.5.7-1.5 1.5v17c0 .8.7 1.5 1.5 1.5h9c.8 0 1.5-.7 1.5-1.5v-17c0-.8-.7-1.5-1.5-1.5z\"}},\ntoggle:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M39.2 2H12.4C6.6 2.2 2 6.9 2 12.8s4.6 10.6 10.4 10.8h26.8c5.9 0 10.8-4.8 10.8-10.8S45.2 2 39.2 2zM12.7 18.8c-3.3 0-6-2.7-6-6s2.7-6 6-6 6 2.7 6 6-2.7 6-6 6zM39.2 28.5H12.4C6.6 28.7 2 33.4 2 39.2S6.6 49.8 12.4 50h26.8c6 0 10.8-4.8 10.8-10.8s-4.8-10.7-10.8-10.7zm.4 18.4H12.3c-4-.2-7.2-3.5-7.2-7.6s3.2-7.4 7.2-7.6h27.3c4 .2 7.2 3.5 7.2 7.6s-3.2 7.4-7.2 7.6z\"},\"circle\":{\"cx\":\"39.2\",\"cy\":\"39.2\",\"r\":\"5.2\"}}},\ntoggle_panel_bottom:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M46 8H6c-1.1 0-2 .9-2 2v32c0 1.1.9 2 2 2h40c1.1 0 2-.9 2-2V10c0-1.1-.9-2-2-2zm-2 32H8V12h36v28z\"},{\"d\":\"M41 38H11.1c-.6 0-1-.4-1-1V27c0-.6.4-1 1-1H41c.6 0 1 .4 1 1v10c0 .6-.4 1-1 1z\"}]},\ntoggle_panel_left:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M46 8H6c-1.1 0-2 .9-2 2v32c0 1.1.9 2 2 2h40c1.1 0 2-.9 2-2V10c0-1.1-.9-2-2-2zm-2 32H8V12h36v28z\"},{\"d\":\"M21 38h-9.9c-.6 0-1-.4-1-1V15c0-.6.4-1 1-1H21c.6 0 1 .4 1 1v22c0 .6-.4 1-1 1z\"}]},\ntoggle_panel_right:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M4 8h44v36H4V8zm4 4v28h36V12H8zm22 2h12v24H30V14z\",\"fill-rule\":\"evenodd\"}},\ntoggle_panel_top:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M46 8H6c-1.1 0-2 .9-2 2v32c0 1.1.9 2 2 2h40c1.1 0 2-.9 2-2V10c0-1.1-.9-2-2-2zm-2 32H8V12h36v28z\"},{\"d\":\"M41 26H11.1c-.6 0-1-.4-1-1V15c0-.6.4-1 1-1H41c.6 0 1 .4 1 1v10c0 .6-.4 1-1 1z\"}]},\ntop_align:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"rect\":[{\"x\":\"2\",\"y\":\"2\",\"width\":\"48\",\"height\":\"6.4\",\"rx\":\"1.6\"},{\"data-name\":\"Rectangle\",\"x\":\"18.8\",\"y\":\"12.4\",\"width\":\"14.4\",\"height\":\"37.6\",\"rx\":\"3.2\"}]},\ntopic:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M17.4 35.3c-.1-.3-.4-.6-.7-.7l-2.2-.6c-.4-.1-.9.1-1.1.5L9.6 41c-1 1.8-.4 2.4 1.4 1.4l6.6-3.8c.4-.2.6-.7.5-1.1l-.7-2.2zM34.6 16.7c.1.3.4.6.7.7l2.2.6c.4.1.9-.1 1.1-.5l3.8-6.6c1-1.8.4-2.4-1.4-1.4l-6.6 3.8c-.4.2-.6.7-.5 1.1l.7 2.3zM13.4 17.6c.2.4.7.6 1.1.5l2.2-.6c.3-.1.6-.4.7-.7l.6-2.2c.1-.4-.1-.9-.5-1.1L11 9.6c-1.8-1-2.4-.4-1.4 1.4l3.8 6.6zM38.6 34.4c-.2-.4-.7-.6-1.1-.5l-2.2.6c-.3.1-.6.4-.7.7l-.6 2.3c-.1.4.1.9.5 1.1l6.6 3.8c1.8 1 2.4.4 1.4-1.4l-3.9-6.6z\"},{\"d\":\"M48.7 25.2l-16.4-4.4c-.6-.1-1-.6-1.1-1.1L26.8 3.3c-.5-1.7-1.2-1.7-1.7 0l-4.4 16.4c-.1.6-.6 1-1.1 1.1L3.3 25.2c-1.7.5-1.7 1.2 0 1.7l16.4 4.4c.6.1 1 .6 1.1 1.1l4.4 16.4c.5 1.7 1.2 1.7 1.7 0l4.4-16.4c.1-.6.6-1 1.1-1.1l16.4-4.4c1.6-.5 1.6-1.3-.1-1.7zM26 30c-2.2 0-4-1.8-4-4s1.8-4 4-4 4 1.8 4 4-1.8 4-4 4z\"}]}},\ntopic2:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M49.2 13.3h-6.5l2.8-10.7v-.2c0-.4-.3-.8-.8-.8h-5.2c-.4 0-.7.3-.8.7l-2.8 11.1h-13l2.8-10.7v-.3c0-.4-.3-.8-.8-.8h-5.2c-.4 0-.7.3-.8.7l-2.9 11H8.8c-.4 0-.7.2-.8.6l-1.3 4.9v.2c0 .4.3.8.8.8h6.8l-3.2 12.5h-7c-.4 0-.7.2-.8.6L2 37.6v.2c0 .4.3.8.8.8h6.6L6.6 49.5v.2c0 .4.3.8.8.8h5.2c.4 0 .7-.2.8-.7l2.9-11.2h12.9l-2.8 10.8v.2c0 .4.3.8.8.8h5.2c.4 0 .7-.2.8-.7L36 38.5h7.1c.4 0 .7-.2.8-.7l1.3-4.9v-.2c0-.4-.3-.8-.8-.8h-6.7L41 19.4h6.9c.4 0 .7-.2.8-.7l1.3-4.9v-.2s-.4-.3-.8-.3zm-18.3 19H18l3.2-12.5h12.9l-3.2 12.5z\"}},\ntouch_action:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M37.8 29.8L29.6 27c-.6-.2-1.1-.8-1.1-1.5V14.6c0-1.7-1.4-3-3.1-3h-.3c-1.7 0-3.1 1.4-3.1 3v21.5c0 1.8-2.3 2.6-3.3 1l-2.1-4.4c-1.1-1.9-3.6-2.4-5.4-1.1l-1.3 1 6.9 16.3c.3.7 1 1.1 1.8 1.1h18.1c.9 0 1.6-.6 1.8-1.4l3.2-11.4c.8-3.2-1-6.3-3.9-7.4z\"},{\"d\":\"M17.2 23v-8.2-.4c.2-4.1 3.5-7.4 7.6-7.6h.8c4.1.2 7.4 3.5 7.6 7.6V23c0 .7.9 1 1.4.6 2.2-2.3 3.5-5.4 3.5-8.7 0-7.4-6.4-13.4-14-12.7-5.8.6-10.6 5-11.5 10.7-.6 4 .6 7.9 3.3 10.7.4.4 1.3.1 1.3-.6z\"}]},\ntracker:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M15.2 28.4V24c5.1-.9 9-5.4 9-10.8 0-6.1-4.9-11-11-11s-11 4.9-11 11c0 5.4 3.9 9.9 9 10.8v4.4c-5.1.9-9 5.4-9 10.8 0 6.1 4.9 11 11 11s11-4.9 11-11c0-5.4-3.9-9.8-9-10.8zm-9-15.2c0-3.9 3.1-7 7-7s7 3.1 7 7-3.1 7-7 7-7-3-7-7zM30.3 9.2h17.9c1.1 0 2 .9 2 2v4c0 1.1-.9 2-2 2H30.3c-1.1 0-2-.9-2-2v-4c0-1.1.9-2 2-2zM30.3 35.2h17.9c1.1 0 2 .9 2 2v4c0 1.1-.9 2-2 2H30.3c-1.1 0-2-.9-2-2v-4c0-1 .9-2 2-2z\"}}},\ntrail:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M27.8 2c3.3 0 5.9 2.6 5.9 5.9s-2.7 5.9-5.9 5.9-5.9-2.6-5.9-5.9S24.5 2 27.8 2zM43 18.1c-1.2-.1-2.3.7-2.4 1.8l-.6 5.8c-.2 0-.3.3-.5.3H34l-3.8-6.7c-.3-.6-.9-1.1-1.6-1.2l-5.8-.8c-1-.1-2 .4-2.4 1.4L16 30c-.3.9.1 1.8.9 2.3l10.8 7.4.9 8.4c.1 1.1 1.1 1.9 2.2 1.9 1.3 0 2.3-1 2.2-2.2l-1-10.3c0-.5-.3-1-.8-1.4l-5.9-6.6 2.2-5.4 2.6 4.5c.4.6 1.1 1.3 1.9 1.3h7.6l-2.2 18c-.1 1.1.7 2 1.9 2.1.1 0 .2-.1.2-.1 1.1 0 2-.8 2.2-1.9L45 20.2c.1-1-.8-2-2-2.1zM12.2 27.7l3.7-9.5c.2-.6.5-1.2.9-1.8l-.5-.1c-3.2-.4-6.2 1.5-7.2 4.4l-2 5.2c-.4 1.1.2 2.4 1.4 2.7l.9.2c1.2.5 2.4-.1 2.8-1.1zM13.6 35.2L9.1 48.6c-.2.7.3 1.3 1 1.3h2.5c.9 0 1.8-.6 2.1-1.4l4.4-9.7-5-3.1c-.1-.2-.3-.4-.5-.5z\"}},\ntrailblazer_ext:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M49.83 32.45A1.43 1.43 0 0048.44 31h-12A1.43 1.43 0 0035 32.44v1.44a1.43 1.43 0 001.4 1.44h6.14l-11 11a1.42 1.42 0 000 2l1 1a1.54 1.54 0 001.09.45 1.32 1.32 0 00.94-.38l11-11v6A1.43 1.43 0 0047 45.83h1.53a1.43 1.43 0 001.47-1.4zM21.94 8.83a10.27 10.27 0 014.67 9 9.7 9.7 0 01-3.21 7.35.46.46 0 000 .62 27.28 27.28 0 002.52 1.3 2.25 2.25 0 00.62.15h5.39a19.84 19.84 0 016.42-2.55l.54-.09a2.94 2.94 0 000-.42v-.46c0-2.68-2.91-4.13-6.13-5.44-2.14-.84-2.45-1.68-2.45-2.52a3.25 3.25 0 011.38-2.3 5.64 5.64 0 002-4.44 5.94 5.94 0 00-5.54-6.32h-.54a5.81 5.81 0 00-6.05 5.44.79.79 0 00.38.68z\"},{\"d\":\"M24.66 38.84a15.42 15.42 0 012.8-7.44 22.49 22.49 0 00-4.9-2.52c-2.61-1.07-3-2-3-3a4.18 4.18 0 011.61-2.76 6.76 6.76 0 002.37-5.28c0-4-2.6-7.42-7.35-7.42a7.09 7.09 0 00-7.35 6.82v.6a6.73 6.73 0 002.38 5.28 4.16 4.16 0 011.6 2.76c0 1-.38 2-3.06 3-3.83 1.54-7.58 3.3-7.58 6.51v1a3.09 3.09 0 003.12 3.06h19.48z\"}]}},\ntrailhead:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M12.3 37l-2.6 3h5.1zM14.7 43.1h5.1l-2.6-2.9zM35.2 41l2.5-2.9 2.6 2.9z\"},{\"d\":\"M26.8 2.2c-.4-.2-.9-.2-1.4 0C11.1 8.2 1.9 22.4 2.2 38v3.4c0 .5.2 1 .7 1.4 6.9 4.6 15 7.1 23.3 7.2h.9c7.9-.3 15.7-2.7 22.3-7.2.4-.3.7-.8.7-1.4V38c.3-15.6-8.9-29.8-23.3-35.8zM13.9 14.8c5.8-6.9 12.3-9.2 12.3-9.2 1.4.6 16.9 6.7 20.2 26.4h-4.1l-7.8-11.3c-.5-.7-1.6-.9-2.4-.4-.2.1-.3.3-.4.4l-2 2.8-5.5-7.9c-.5-.7-1.6-.9-2.4-.4-.2.1-.3.3-.4.4L10.2 31.9l-4.1.1c1.2-7.5 4.3-13 7.8-17.2zM38.1 32H28l2.6-3.8 2.4-3.6 5.1 7.4zM23.7 20.9l4 5.7-3.8 5.3h-9.6l4.1-6.1 4.3-6.4 1 1.5zM27.5 44L26 46.6c-2.9 0-5.6-.4-8.8-1.1-4.1-1-8-2.7-11.6-4.9v-2.5c0-.8 0-1.7.1-2.6h17.6c-1.4 2.1-.7 4.9 1.5 6.2.2.1.4.2.5.3l1.6.7c.6.2.8.8.6 1.3zm19.3-3.5c-2.6 1.6-5.3 2.9-8.1 3.9 0 0-.5.2-.7.2-1.6.5-3.2.9-4.9 1.3-.9.2-1.9.3-2.8.4l.3-.5c1.3-2.2.5-4.9-1.7-6.2-.1-.1-.3-.1-.4-.2l-1.6-.7c-.5-.2-.8-.8-.5-1.4 0-.1.1-.2.1-.2l1.5-1.7h18.7c0 .8.1 1.7.1 2.6v2.5z\"}]},\ntrailhead_alt:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M22.21 36.21a2.72 2.72 0 01-.11.25 6.89 6.89 0 002.42 7.85c1.58 1.24 1.89 1.76 1.73 2.92a7.59 7.59 0 01-1.1 2.77A44.87 44.87 0 012 42.64v-3.7c0-.93 0-1.83.1-2.73h20.11zm27.69 0c.05.9.1 1.8.1 2.73v3.69a45 45 0 01-20.31 7.2 10 10 0 00.54-2c.53-3.73-1.83-5.57-3.24-6.67a2.83 2.83 0 01-1.12-3.25 8.24 8.24 0 01.89-1.67H49.9zM22.5 19.59l4.4 6.47-4.16 6.13h-8.8zM26 2a39.25 39.25 0 0123.48 30.19H43.6l-8.77-12.9a2.08 2.08 0 00-3.33 0l-2.17 3.19-5.17-7.6a2.09 2.09 0 00-3.33 0L9.08 32.19H2.52A39.25 39.25 0 0126 2zm7.17 22l5.56 8.19H27.61z\",\"fill-rule\":\"evenodd\"}},\ntrailhead_ext:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M49.8 32.5a1.37 1.37 0 00-1.4-1.4h-12a1.43 1.43 0 00-1.4 1.4v1.4a1.37 1.37 0 001.4 1.4h6.1l-11 11a1.52 1.52 0 000 2l1 1a1.61 1.61 0 001.1.5 1 1 0 00.9-.4l11-11v6a1.37 1.37 0 001.4 1.4h1.5a1.37 1.37 0 001.4-1.4zM21.8 25.1h7.7l-3.9-5.7z\"},{\"d\":\"M16.8 12.5l.3-.3a1.38 1.38 0 011.8.3l4.2 6 1.5-2.1.3-.3a1.38 1.38 0 011.8.3l6 8.6h3.9a10.46 10.46 0 011.7-.4A28.91 28.91 0 0020.8 2.3a1.08 1.08 0 00-1.1 0A29 29 0 002.3 25h5.8z\"},{\"d\":\"M17.8 15.4l-3.3 4.9-3.1 4.7h7.3l2.9-4.1zM2.1 32.2a1.61 1.61 0 00.5 1.1 32.87 32.87 0 0016 5.4l1.6-2.5 1.1-2a.64.64 0 00-.3-1l-1.2-.5-.4-.2a3.42 3.42 0 01-1.3-4.6c0-.1.1-.1.1-.2H2.1z\"},{\"d\":\"M23.6 35.9c-.5.9-1.1 2.2-1.4 2.8l2.5-.3a15.58 15.58 0 016.5-10.8h-9.5l-1.1 1.6a.73.73 0 00.4 1l1.14.45.36.15a3.42 3.42 0 011.3 4.7z\"}]}},\ntransparent:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M48.5 5.6l-2.1-2.1a1.67 1.67 0 00-2.4.3L32.59 15.21c-.77-1.3-1.51-2.61-2.21-4a36.5 36.5 0 01-3.15-8.36c-.13-.53-.39-.91-1-.89s-.86.4-1 .93c-.06.26-.11.51-.17.76A48.3 48.3 0 0121 13.7 97.47 97.47 0 0114.13 25a16 16 0 00-3 11.12c0 .14 0 .29.06.43L3.8 44a1.87 1.87 0 00-.3 2.4l2.1 2.1a1.67 1.67 0 002.4-.3L48.2 8a1.67 1.67 0 00.3-2.4zM38.42 23.79l-22 22.31a14.47 14.47 0 009.8 3.9 15.48 15.48 0 007-1.44c4.94-2.51 8.11-6.4 8.94-12A15.22 15.22 0 0039 24.66c-.13-.22-.42-.66-.58-.87z\"}},\ntravel_and_places:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M47 21L42.48 8.84C41.76 6.52 39.6 5 37.2 5H14.8c-2.4 0-4.56 1.52-5.36 3.84L5 21c-2.08.56-3 2.56-3 4.8v11.6c0 2.08 2.16 3.88 4 4.6v4.033C6 47.344 6.674 48 8.023 48h5.027c1.3 0 1.95-.656 1.95-1.967V42h22v4.033c0 1.311.663 1.967 1.988 1.967h5.033c1.32 0 1.979-.656 1.979-1.967V41.96c1.84-.64 4-2.4 4-4.56V25.8c0-2.24-.92-4.24-3-4.8zM11 34c-2.24 0-4-1.76-4-4s1.76-4 4-4 4 1.76 4 4-1.76 4-4 4zm16.6-13H11.76c-.56 0-.92-.52-.76-1l3-9c.08-.32.29-1 1-1h22c.78 0 .92.76 1 1l3 9c.2.642-.12 1-.92 1H27.6zM41 34c-2.24 0-4-1.76-4-4s1.76-4 4-4 4 1.76 4 4-1.76 4-4 4z\"}},\ntrending:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M50.1 30.56a1.16 1.16 0 01-2 .82L42.73 26 30.32 36.65a3.39 3.39 0 01-4.92 0l-7.49-8.54-13.34 11.7a1.13 1.13 0 01-1.64 0l-.59-.59a1.13 1.13 0 010-1.64l13.12-17.9a3.39 3.39 0 014.92 0l7.49 7.49 7.61-8.78-4.92-4.45a1.26 1.26 0 01.82-2.11h16.38A2.35 2.35 0 0150 14.3z\"}},\nturn_off_notifications:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M23.4 26.6c.6.6 1.4.6 2 0L46.8 6.9c.4-.7.3-1.9-1.2-1.9H3.4c-1.1 0-2 1.1-1.2 2l21.2 19.6z\"},{\"d\":\"M30.1 37.6c.5-5.6 5-10.2 10.7-10.8.5 0 1-.1 1.4-.1 1.8 0 3.4.4 4.9 1V15.3c0-1-1.2-1.5-1.9-.8L28.6 29.9c-1.1 1-2.6 1.6-4.1 1.6s-3-.6-4.1-1.6L3.8 14.5c-.8-.7-1.9-.2-1.9.8v19.6c0 2.5 2.1 4.6 4.6 4.6h23.7c-.1-.6-.1-1.3-.1-1.9z\"},{\"d\":\"M42.1 31c-4.4 0-8 3.6-8 8s3.6 8 8 8 8-3.6 8-8-3.6-8-8-8zm6 9.6c0 .2-.2.4-.5.4h-11c-.3 0-.5-.2-.5-.4v-3.2c0-.2.2-.4.5-.4h11c.3 0 .5.2.5.4v3.2z\"}]},\ntype:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M48 11H4c-1.1 0-2 .9-2 2v26c0 1.1.9 2 2 2h44c1.1 0 2-.9 2-2V13c0-1.1-.9-2-2-2zm-2 26H6V15h40v22z\"},{\"d\":\"M11.2 21.8h1c.8 0 1.5-.7 1.5-1.5v-1c0-.8-.7-1.5-1.5-1.5h-1c-.8 0-1.5.7-1.5 1.5v1c0 .8.7 1.5 1.5 1.5zM16.9 21.8h1c.8 0 1.5-.7 1.5-1.5v-1c0-.8-.7-1.5-1.5-1.5h-1c-.8 0-1.5.7-1.5 1.5v1c0 .8.7 1.5 1.5 1.5zM28.4 21.8h1c.8 0 1.5-.7 1.5-1.5v-1c0-.8-.7-1.5-1.5-1.5h-1c-.8 0-1.5.7-1.5 1.5v1c0 .8.7 1.5 1.5 1.5zM22.6 21.8h1c.8 0 1.5-.7 1.5-1.5v-1c0-.8-.7-1.5-1.5-1.5h-1c-.8 0-1.5.7-1.5 1.5v1c0 .8.7 1.5 1.5 1.5zM39.9 21.8h1c.8 0 1.5-.7 1.5-1.5v-1c0-.8-.7-1.5-1.5-1.5h-1c-.8 0-1.5.7-1.5 1.5v1c0 .8.7 1.5 1.5 1.5zM34.1 21.8h1c.8 0 1.5-.7 1.5-1.5v-1c0-.8-.7-1.5-1.5-1.5h-1c-.8 0-1.5.7-1.5 1.5v1c0 .8.7 1.5 1.5 1.5zM11.2 27.8h1c.8 0 1.5-.7 1.5-1.5v-1c0-.8-.7-1.5-1.5-1.5h-1c-.8 0-1.5.7-1.5 1.5v1c0 .8.7 1.5 1.5 1.5zM16.9 27.8h1c.8 0 1.5-.7 1.5-1.5v-1c0-.8-.7-1.5-1.5-1.5h-1c-.8 0-1.5.7-1.5 1.5v1c0 .8.7 1.5 1.5 1.5zM28.4 27.8h1c.8 0 1.5-.7 1.5-1.5v-1c0-.8-.7-1.5-1.5-1.5h-1c-.8 0-1.5.7-1.5 1.5v1c0 .8.7 1.5 1.5 1.5zM22.6 27.8h1c.8 0 1.5-.7 1.5-1.5v-1c0-.8-.7-1.5-1.5-1.5h-1c-.8 0-1.5.7-1.5 1.5v1c0 .8.7 1.5 1.5 1.5zM39.9 27.8h1c.8 0 1.5-.7 1.5-1.5v-1c0-.8-.7-1.5-1.5-1.5h-1c-.8 0-1.5.7-1.5 1.5v1c0 .8.7 1.5 1.5 1.5zM34.1 27.8h1c.8 0 1.5-.7 1.5-1.5v-1c0-.8-.7-1.5-1.5-1.5h-1c-.8 0-1.5.7-1.5 1.5v1c0 .8.7 1.5 1.5 1.5zM11.2 33.8h1c.8 0 1.5-.7 1.5-1.5v-1c0-.8-.7-1.5-1.5-1.5h-1c-.8 0-1.5.7-1.5 1.5v1c0 .8.7 1.5 1.5 1.5zM16.9 33.8h18.2c.8 0 1.5-.7 1.5-1.5v-1c0-.8-.7-1.5-1.5-1.5H16.9c-.8 0-1.5.7-1.5 1.5v1c0 .8.7 1.5 1.5 1.5zM39.9 33.8h1c.8 0 1.5-.7 1.5-1.5v-1c0-.8-.7-1.5-1.5-1.5h-1c-.8 0-1.5.7-1.5 1.5v1c0 .8.7 1.5 1.5 1.5z\"}]}},\ntype_tool:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M50.37 47.59L32.74 4a2.41 2.41 0 00-2.2-1.47H20.11A2.21 2.21 0 0018.06 4L1.9 47.59a1.43 1.43 0 001.32 1.91h6a2.36 2.36 0 002.06-1.62L16 34.81h19.68l5.14 13.07a2.36 2.36 0 002.06 1.62h6a1.52 1.52 0 001.49-1.91zM19.08 26l5.73-14.69H26L32.3 26z\"}},\nundelete:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M41.5 20h-31c-.8 0-1.5.7-1.5 1.5V45c0 2.8 2.2 5 5 5h24c2.8 0 5-2.2 5-5V21.5c0-.8-.7-1.5-1.5-1.5zM26 46v-4c3.3 0 6-2.7 6-6s-2.7-6-6-6c-1.6 0-3.1.7-4.2 1.8l2.4 2.4c.3.3.1.9-.4.9h-7.3c-.3 0-.5-.2-.5-.5v-7.3c0-.4.5-.7.9-.4L19 29c1.9-1.8 4.4-2.9 7.1-2.9 5.5 0 10 4.5 10 10S31.5 46 26 46zM45.5 10H33V6c0-2.2-1.8-4-4-4h-6c-2.2 0-4 1.8-4 4v4H6.5c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h39c.8 0 1.5-.7 1.5-1.5v-3c0-.8-.7-1.5-1.5-1.5zM29 10h-6V7c0-.6.4-1 1-1h4c.6 0 1 .4 1 1v3z\"}}},\nundeprecate:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M48 7H4c-1.1 0-2 .9-2 2v26c0 1.1.9 2 2 2h16.2c1 5.7 5.9 10 11.8 10s10.9-4.3 11.8-10H48c1.1 0 2-.9 2-2V9c0-1.1-.9-2-2-2zM30.5 41.3l-5.9-5.9 2.8-2.8 3.1 3.1 7.1-7.1 2.8 2.8-9.9 9.9zM46 33h-2.2c-1-5.7-5.9-10-11.8-10s-10.9 4.3-11.8 10H6V11h40v22z\"}},\nunderline:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M44.5 42h-37c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h37c.8 0 1.5-.7 1.5-1.5v-3c0-.8-.7-1.5-1.5-1.5zM25.3 38C17.8 37.6 12 31.1 12 23.6V10c0-1.1.9-2 2-2h2c1.1 0 2 .9 2 2v13.7c0 4.3 3.2 8 7.5 8.3 4.7.3 8.5-3.4 8.5-8V10c0-1.1.9-2 2-2h2c1.1 0 2 .9 2 2v14c0 8-6.7 14.4-14.7 14z\"}},\nundo:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M30.3 12.6c10.4 0 18.9 8.4 18.9 18.9s-8.5 18.9-18.9 18.9h-8.2c-.8 0-1.3-.6-1.3-1.4v-3.2c0-.8.6-1.5 1.4-1.5h8.1c7.1 0 12.8-5.7 12.8-12.8s-5.7-12.8-12.8-12.8H16.4s-.8 0-1.1.1c-.8.4-.6 1 .1 1.7l4.9 4.9c.6.6.5 1.5-.1 2.1L18 29.7c-.6.6-1.3.6-1.9.1l-13-13c-.5-.5-.5-1.3 0-1.8L16 2.1c.6-.6 1.6-.6 2.1 0l2.1 2.1c.6.6.6 1.6 0 2.1l-4.9 4.9c-.6.6-.6 1.3.4 1.3h.7l13.9.1z\"}},\nunlinked:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M18.1 36.9l9.4-9.5.7-.7 8.4-8.4 3.7-3.7 4.1-4.1c.7-.6.8-1.5.3-2l-1.8-1.8c-.4-.4-1.1-.4-1.7-.1L6.7 40.9v.1c-.6.6-.7 1.5-.3 2l1.8 1.8c.5.5 1.4.4 2-.3l4-4c0 .1 3.9-3.6 3.9-3.6zM18.4 23.1c-.5 0-.8.4-1 .8-.1.6-.1 1.2-.1 1.8 0 .4 0 .8.1 1.2l3.8-3.8h-2.8z\"},{\"d\":\"M8.3 36l4-4c-2.8-.6-5-3-5.2-5.8-.3-3.8 2.8-6.9 6.5-6.9h9.1c.7 0 1.4.1 2.1.4l3.9-3.9c-.9-.5-1.8-1-2.7-1.2-1-.3-2.2-.5-3.2-.5h-8.7c-6.6-.1-12 4.8-12.2 11.1C1.7 29.9 4.3 34 8.3 36zM43.1 15.3l-4 4c2.9.5 5.2 2.9 5.4 5.9.3 3.8-2.8 6.9-6.5 6.9h-9c-.8 0-1.6-.2-2.3-.4l-3.9 3.9c.9.6 1.8 1 2.8 1.3 1 .3 2.2.5 3.2.5H38c6.6.1 11.9-5.4 11.7-12-.2-4.6-2.9-8.3-6.6-10.1z\"},{\"d\":\"M30.1 28.3h3c.5 0 .8-.4 1-.8.1-.6.1-1.2.1-1.8 0-.5 0-.9-.1-1.4l-4 4z\"}]},\nunlock:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M10 18.1v0zM42 23H16v-4.7c0-5.3 4-10 9.3-10.3 4.9-.3 9 2.8 10.3 7.2.1.4.5.8 1 .8h4.1c.6 0 1.1-.6 1-1.2C40.1 7.2 33.3 1.6 25.2 2c-8.5.4-15 7.7-15.2 16.1V23c-2.2 0-4 1.8-4 4v19c0 2.2 1.8 4 4 4h32c2.2 0 4-1.8 4-4V27c0-2.2-1.8-4-4-4zM30.6 42.7c.2.6-.3 1.3-1 1.3h-7.3c-.7 0-1.2-.6-1-1.3l1.8-6c-1.5-1-2.4-2.8-2-4.8.4-1.9 1.9-3.4 3.9-3.8 3.2-.6 6 1.7 6 4.7 0 1.6-.8 3.1-2.1 3.9l1.7 6z\"}}},\nunmuted:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M41.5 18c-1.4 0-2.5 1-2.5 2.4v4c0 7-5.9 12.8-13.1 12.8s-13.1-5.8-13.1-12.8v-4c0-1.4-1.1-2.4-2.5-2.4S8 19 8 20.4v4c0 8.9 6.8 16.2 15.5 17.4v3.4h-4.1c-1.4 0-2.5 1-2.5 2.4S18 50 19.4 50h13.1c1.4 0 2.5-1 2.5-2.4s-1.1-2.4-2.5-2.4h-4.1v-3.4C37.2 40.6 44 33.3 44 24.4v-4c0-1.4-1.1-2.4-2.5-2.4z\"},{\"d\":\"M26 32.4c4.4 0 8-3.6 8-8V9.9C34 5.5 30.5 2 26.1 2h-.2C21.5 2 18 5.5 18 9.9v14.5c0 4.4 3.6 8 8 8z\"}]}},\nup:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M43.7 38H8.3c-1 0-1.7-1.3-.9-2.2l17.3-21.2c.6-.8 1.9-.8 2.5 0l17.5 21.2c.7.9.1 2.2-1 2.2z\"}},\nupload:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M48.5 31h-3c-.8 0-1.5.8-1.5 1.5v10c0 .8-.7 1.5-1.5 1.5h-33c-.8 0-1.5-.7-1.5-1.5v-10c0-.7-.7-1.5-1.5-1.5h-3c-.8 0-1.5.8-1.5 1.5V46c0 2.2 1.8 4 4 4h40c2.2 0 4-1.8 4-4V32.5c0-.7-.7-1.5-1.5-1.5z\"},{\"d\":\"M27 2.4c-.6-.6-1.5-.6-2.1 0L11.4 15.9c-.6.6-.6 1.5 0 2.1l2.1 2.1c.6.6 1.5.6 2.1 0l5.6-5.6c.6-.6 1.8-.2 1.8.7v21.2c0 .8.6 1.5 1.4 1.5h3c.8 0 1.6-.8 1.6-1.5V15.3c0-.9 1-1.3 1.7-.7l5.6 5.6c.6.6 1.5.6 2.1 0l2.1-2.1c.6-.6.6-1.5 0-2.1L27 2.4z\"}]}},\nuser:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M50 43v2.2c0 2.6-2.2 4.8-4.8 4.8H6.8C4.2 50 2 47.8 2 45.2V43c0-5.8 6.8-9.4 13.2-12.2l.6-.3c.5-.2 1-.2 1.5.1 2.6 1.7 5.5 2.6 8.6 2.6s6.1-1 8.6-2.6c.5-.3 1-.3 1.5-.1l.6.3C43.2 33.6 50 37.1 50 43zM26 2c6.6 0 11.9 5.9 11.9 13.2S32.6 28.4 26 28.4s-11.9-5.9-11.9-13.2S19.4 2 26 2z\"}},\nuser_role:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M38.3 27.2a11.4 11.4 0 1011.4 11.4 11.46 11.46 0 00-11.4-11.4zm2 12.4a2.39 2.39 0 01-.9-.2l-4.3 4.3a1.39 1.39 0 01-.9.4 1 1 0 01-.9-.4 1.39 1.39 0 010-1.9l4.3-4.3a2.92 2.92 0 01-.2-.9 3.47 3.47 0 013.4-3.8 2.39 2.39 0 01.9.2c.2 0 .2.2.1.3l-2 1.9a.28.28 0 000 .5l1.3 1.3a.38.38 0 00.6 0l1.9-1.9c.1-.1.4-.1.4.1a3.71 3.71 0 01.2.9 3.57 3.57 0 01-3.9 3.5z\"},{\"d\":\"M25.2 49.8c2.2 0 1-1.5 1-1.5a15.44 15.44 0 01-3.4-9.7 15 15 0 011.4-6.4.77.77 0 01.2-.3c.7-1.4-.7-1.5-.7-1.5a12.1 12.1 0 00-1.9-.1A19.69 19.69 0 002.4 47.1c0 1 .3 2.8 3.4 2.8h19.1c.2-.1.2-.1.3-.1z\"}],\"circle\":{\"cx\":\"21.7\",\"cy\":\"14.9\",\"r\":\"12.9\"}},\nvariable:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M42.6 17.8c2.4 0 7.2-2 7.2-8.4s-4.6-6.8-6.1-6.8c-2.8 0-5.6 2-8.1 6.3-2.5 4.4-5.3 9.1-5.3 9.1h-.1c-.6-3.1-1.1-5.6-1.3-6.7-.5-2.7-3.6-8.4-9.9-8.4-6.4 0-12.2 3.7-12.2 3.7-1 .7-1.7 1.9-1.7 3.3 0 2.1 1.7 3.9 3.9 3.9.6 0 1.2-.2 1.7-.4 0 0 4.8-2.7 5.9 0 .3.8.6 1.7.9 2.7 1.2 4.2 2.4 9.1 3.3 13.5l-4.2 6s-4.7-1.7-7.1-1.7-7.2 2-7.2 8.4 4.6 6.8 6.1 6.8c2.8 0 5.6-2 8.1-6.3 2.5-4.4 5.3-9.1 5.3-9.1.8 4 1.5 7.1 1.9 8.5 1.6 4.5 5.3 7.2 10.1 7.2 0 0 5 0 10.9-3.3 1.4-.6 2.4-2 2.4-3.6 0-2.1-1.7-3.9-3.9-3.9-.6 0-1.2.2-1.7.4 0 0-4.2 2.4-5.6.5-1-2-1.9-4.6-2.6-7.8-.6-2.8-1.3-6.2-2-9.5l4.3-6.2c-.1.1 4.6 1.8 7 1.8z\"}},\nvariation_attribute_setup:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M23.6 3.6A1.39 1.39 0 0022.1 5v22.6a1.26 1.26 0 001.4 1.4h.1a1.31 1.31 0 001.4-1.4V4.9a1.29 1.29 0 00-1.4-1.3zM9.1 3.6H3.5A1.31 1.31 0 002.1 5v22.6A1.37 1.37 0 003.5 29h5.6a1.31 1.31 0 001.4-1.4V4.9a1.41 1.41 0 00-1.4-1.3zM16.9 3.6h-1.4A1.31 1.31 0 0014.1 5v22.6a1.26 1.26 0 001.4 1.4h1.4a1.31 1.31 0 001.4-1.4V4.9a1.24 1.24 0 00-1.4-1.3zM44.4 24.4v.2l.1.7c.2.1.3.2.5.3l.7-.5.6-.2.5-.2V4.9a1.31 1.31 0 00-1.4-1.4h-2.8a1.31 1.31 0 00-1.4 1.4v15.8a4.67 4.67 0 013.2 3.7zM31.7 25l.5.2a3.33 3.33 0 01.6-.3l.1-.6v-.2a4.9 4.9 0 014.1-3.8V4.9a1.34 1.34 0 00-1.4-1.3H30A1.31 1.31 0 0028.6 5v19.9a4.3 4.3 0 011.2-.2 4.9 4.9 0 011.9.3zM47.4 37.8a11.14 11.14 0 00.2-1.7 8.81 8.81 0 00-.2-1.7l1.9-1.6a1.8 1.8 0 00.4-2.2l-.8-1.5a1.76 1.76 0 00-1.5-.8c-.2 0-.4.1-.6.1l-2.3.9a8.26 8.26 0 00-3-1.7l-.4-2.4a1.63 1.63 0 00-1.7-1.2h-1.7a1.66 1.66 0 00-1.7 1.2l-.4 2.3a8.51 8.51 0 00-3.1 1.7l-2.2-.9a1.08 1.08 0 00-.6-.1 1.76 1.76 0 00-1.5.8l-.8 1.4a1.83 1.83 0 00.4 2.2l1.9 1.6a11.14 11.14 0 00-.2 1.7 8.81 8.81 0 00.2 1.7l-1.9 1.7a1.8 1.8 0 00-.4 2.2l.8 1.6a1.76 1.76 0 001.5.8c.2 0 .4-.1.6-.1l2.3-.9a8.26 8.26 0 003 1.7l.4 2.5a1.72 1.72 0 001.7 1.4h1.7a1.72 1.72 0 001.7-1.4l.4-2.5a8.77 8.77 0 003.2-1.9l2.2.9a1.27 1.27 0 00.6.1 1.76 1.76 0 001.5-.8l.7-1.3a1.83 1.83 0 00-.4-2.2zm-8.8 4.1a5.6 5.6 0 115.6-5.6 5.59 5.59 0 01-5.6 5.6z\"},{\"d\":\"M38.5 33.1a3.1 3.1 0 103.1 3.1 3.1 3.1 0 00-3.1-3.1z\"}]},\nvariation_products:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M45 28.2a1.13 1.13 0 00.7-1.2V5a1.31 1.31 0 00-1.4-1.4h-2.8A1.31 1.31 0 0040.1 5v16.8a7.33 7.33 0 014.9 6.4zM29.3 28.3h1.1a7.36 7.36 0 015.7-6.8V5a1.31 1.31 0 00-1.4-1.4h-5.4A1.31 1.31 0 0027.9 5v22a1.24 1.24 0 001.4 1.3zM16.6 3.7h-1.4a1.31 1.31 0 00-1.4 1.4v22a1.26 1.26 0 001.4 1.4h1.4a1.31 1.31 0 001.4-1.4V5a1.41 1.41 0 00-1.4-1.3zM8.9 3.7H3.5A1.24 1.24 0 002.1 5v22a1.37 1.37 0 001.4 1.4h5.4a1.31 1.31 0 001.4-1.4V5a1.34 1.34 0 00-1.4-1.3zM23.1 3.6H23A1.31 1.31 0 0021.6 5v22c-.1.8.5 1.3 1.5 1.3a1.31 1.31 0 001.4-1.4V5a1.31 1.31 0 00-1.4-1.4zM45.9 39.4a4.07 4.07 0 00-4 3.3h-5.4a.46.46 0 00-.4.5v.4a4.25 4.25 0 01-.2 1.1c-.1.2.2.5.4.5h5.8a3.84 3.84 0 003.7 2.4 4.19 4.19 0 004.1-4.1 4.1 4.1 0 00-4-4.1zM33.6 28.8a4 4 0 005.3 3.8l2.8 5.2c.2.2.4.3.6.2a2.85 2.85 0 011.4-.6.48.48 0 00.2-.6l-3-5.5a3.66 3.66 0 00.9-2.5 4.1 4.1 0 10-8.2 0zM35.1 34.6a10 10 0 01-1.4-.8c-.2-.2-.5-.1-.6.2l-2.8 5.4a1.27 1.27 0 00-.6-.1 4.09 4.09 0 102.8 1.1l2.8-5.2a.85.85 0 00-.2-.6z\"}},\nvideo:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M46.9 13.1l-11 7.9v-5.6c0-1.5-1.2-2.7-2.7-2.7H4.7c-1.5 0-2.7 1.2-2.7 2.7v21.3c0 1.5 1.2 2.7 2.7 2.7h28.6c1.5 0 2.7-1.2 2.7-2.7v-5.5L46.9 39c.7.7 1.9.2 1.9-.8V13.9c0-1-1.2-1.5-1.9-.8z\"}},\nvoicemail_drop:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M39 14.8c-6.1 0-11.2 5-11.2 11.2 0 2.2.7 4.3 1.8 6.1h-7.2c1.2-1.8 1.8-3.8 1.8-6.1 0-6.1-5-11.2-11.2-11.2-6.1 0-11.2 5-11.2 11.2 0 6.1 5 11.2 11.2 11.2h25.9c6.1 0 11.2-5 11.2-11.2.1-6.2-4.9-11.2-11.1-11.2zM7.2 25.9c0-3.3 2.7-6 5.9-6 3.3 0 5.9 2.7 5.9 6s-2.7 6-5.9 6-5.9-2.6-5.9-6zM39 32c-3.3 0-5.9-2.7-5.9-6s2.7-6 5.9-6c3.3 0 5.9 2.7 5.9 6 .1 3.3-2.6 6-5.9 6z\"}},\nvolume_high:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M24.6 2.6L12 18H6c-2.2 0-4 1.8-4 4v8c0 2.2 1.8 4 4 4h6l12.6 15.4c1.3 1.3 3.4.4 3.4-1.4V4c0-1.8-2.2-2.7-3.4-1.4zM42.6 8.7c-.4-.4-1-.4-1.4 0l-1.4 1.4c-.4.4-.4 1.1 0 1.4C43.6 15.2 46 20.3 46 26c0 5.7-2.4 10.8-6.2 14.5-.4.4-.4 1 0 1.4l1.4 1.4c.4.4 1 .4 1.4 0C47.1 39 50 32.8 50 26c0-6.8-2.8-13-7.4-17.3z\"},{\"d\":\"M36.3 15.1c-.4-.4-1-.4-1.4 0l-1.4 1.4c-.4.4-.4 1 0 1.4 2.2 2 3.5 4.9 3.5 8.1 0 3.2-1.4 6.1-3.6 8.1-.4.4-.4 1 0 1.4l1.4 1.4c.4.4 1 .4 1.4 0 2.9-2.7 4.8-6.6 4.8-11 0-4.2-1.8-8.1-4.7-10.8z\"}]}},\nvolume_low:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M24.6 2.6L12 18H6c-2.2 0-4 1.8-4 4v8c0 2.2 1.8 4 4 4h6l12.6 15.4c1.3 1.3 3.4.4 3.4-1.4V4c0-1.8-2.2-2.7-3.4-1.4zM36.3 15.1c-.4-.4-1-.4-1.4 0l-1.4 1.4c-.4.4-.4 1 0 1.4 2.2 2 3.5 4.9 3.5 8.1s-1.4 6.1-3.6 8.1c-.4.4-.4 1 0 1.4l1.4 1.4c.4.4 1 .4 1.4 0 2.9-2.7 4.8-6.6 4.8-11 0-4.2-1.8-8.1-4.7-10.8z\"}}},\nvolume_off:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M24.6 2.6L12 18H6c-2.2 0-4 1.8-4 4v8c0 2.2 1.8 4 4 4h6l12.6 15.4c1.3 1.3 3.4.4 3.4-1.4V4c0-1.8-2.2-2.7-3.4-1.4zM44.8 26l4.9-4.9c.4-.4.4-1 0-1.4l-1.4-1.4c-.4-.4-1-.4-1.4 0L42 23.2l-4.9-4.9c-.4-.4-1-.4-1.4 0l-1.4 1.4c-.4.4-.4 1 0 1.4l4.9 4.9-4.9 4.9c-.4.4-.4 1 0 1.4l1.4 1.4c.4.4 1 .4 1.4 0l4.9-4.9 4.9 4.9c.4.4 1 .4 1.4 0l1.4-1.4c.4-.4.4-1 0-1.4L44.8 26z\"}}},\nwaits:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M50 18.4c0-.8-.7-1.5-1.5-1.5h-21c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h14.3L26.3 41.8v.1c-.2.2-.3.5-.3.8v3c0 .8.7 1.5 1.5 1.5h21c.8 0 1.5-.7 1.5-1.5v-3c0-.8-.7-1.5-1.5-1.5h-14l15.2-18.6c.2-.3.3-.7.3-1v-3.2zM26 6.3c0-.8-.7-1.5-1.5-1.5h-21c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h14.3L2.3 29.7v.1c-.2.2-.3.5-.3.8v3c0 .8.7 1.5 1.5 1.5h21c.8 0 1.5-.7 1.5-1.5v-3c0-.8-.7-1.5-1.5-1.5h-14l15.2-18.6c.2-.3.3-.7.3-1V6.3z\"}},\nwarning:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M51.4 42.5l-22.9-37c-1.2-2-3.8-2-5 0L.6 42.5C-.8 44.8.6 48 3.1 48h45.8c2.5 0 4-3.2 2.5-5.5zM26 40c-1.7 0-3-1.3-3-3s1.3-3 3-3 3 1.3 3 3-1.3 3-3 3zm3-9c0 .6-.4 1-1 1h-4c-.6 0-1-.4-1-1V18c0-.6.4-1 1-1h4c.6 0 1 .4 1 1v13z\"}},\nwarranty_term:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M26 2c3 0 5.43 3.29 8.09 4.42s6.82.51 8.84 2.65 1.51 6.07 2.65 8.84S50 23 50 26s-3.29 5.43-4.42 8.09-.51 6.82-2.65 8.84-6.07 1.53-8.84 2.65S29 50 26 50s-5.43-3.29-8.09-4.42-6.82-.51-8.84-2.65-1.53-6.07-2.65-8.84S2 29 2 26s3.29-5.43 4.42-8.09.51-6.82 2.65-8.84 6.07-1.53 8.84-2.65S23 2 26 2zm0 7.58A16.42 16.42 0 1042.42 26 16.47 16.47 0 0026 9.58zm7.62 9.15l1.61 1.52a1.25 1.25 0 010 1.51L25.08 33.07a2.07 2.07 0 01-1.61.7 2.23 2.23 0 01-1.61-.7l-5.49-5.47a1 1 0 01-.1-1.42l.1-.11L18 24.56a1.1 1.1 0 011.54-.07l.07.07 3.89 4 8.59-9.8a1.1 1.1 0 011.53-.03z\"}},\nwatchlist:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M42.9 7h.2l.3.1a2.45 2.45 0 011.4 1l.2.3 4.2 7.4c1.5 2.7.2 3.4-1.1 4.2s-2.5 1.1-3.9-.8l-.1-.2-.7-1.3-6.4 25a3 3 0 01-5.3 1.1l-.1-.1-10.7-16.5-5.5 12a3 3 0 01-2.7 1.8H3.6c-.4 0-1.5-.4-1.5-1.4a4.06 4.06 0 00-.1-1.3v-1.8a1.52 1.52 0 011.44-1.6h7.36l7-15.2a2.94 2.94 0 013.86-1.55A3 3 0 0123 19.3l9.9 15.3 4.6-18.1-.9.5c-1.9 1.3-2.7.7-3.9-.8l-.2-.3c-.8-1.3-1.1-2.6.1-3.5l1-.7L41 7.4a3.14 3.14 0 011.9-.4z\"}},\nweeklyview:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M44 7h-5V5c0-1.6-1.3-3-3-3-1.6 0-3 1.3-3 3v2H19V5c0-1.6-1.3-3-3-3-1.6 0-3 1.3-3 3v2H8c-2.2 0-4 1.8-4 4v2.5c0 .8.7 1.5 1.5 1.5h41c.8 0 1.5-.7 1.5-1.5V11c0-2.2-1.8-4-4-4zM46.5 20h-41c-.8 0-1.5.7-1.5 1.5V46c0 2.2 1.8 4 4 4h36c2.2 0 4-1.8 4-4V21.5c0-.8-.7-1.5-1.5-1.5zm-13.7 9.5l-6.3 13.4c-.3.7-1 1.1-1.8 1.1-1.1 0-1.9-.9-1.9-1.8 0-.2.1-.5.2-.8L28.3 30h-7.6c-.9 0-1.7-.6-1.7-1.5 0-.8.8-1.5 1.7-1.5h10.4c1 0 1.9.8 1.9 1.8 0 .3-.1.5-.2.7z\"}},\nwellness:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M27.42 10.57a1.66 1.66 0 00-1.25-.57 1.66 1.66 0 00-1.25.56c-11.76 13.39-5 24 0 29.07a1.66 1.66 0 001.19.49 1.77 1.77 0 001.24-.54c4.95-5.1 11.48-15.65.07-29.01zM15.66 28.3c-2.66-1.51-6.29-2.38-11.1-2.06a1.27 1.27 0 00-1 .53 1.34 1.34 0 00-.24 1.08c3 14 13 14.75 18.77 13.94a1.35 1.35 0 00.64-.3 23.14 23.14 0 01-7.07-13.19zM36.34 28.3c2.69-1.51 6.29-2.38 11.1-2.06a1.27 1.27 0 011 .53 1.34 1.34 0 01.24 1.08c-3 14-13 14.75-18.77 13.94a1.35 1.35 0 01-.64-.3 23.14 23.14 0 007.07-13.19zM15.38 25c.32-4.56 1.2-6.62 1.61-7.35a22.71 22.71 0 00-6.43-3.46 1.28 1.28 0 00-1.08.09 1.34 1.34 0 00-.64.88 21.65 21.65 0 00-.25 8.41A22.93 22.93 0 0115.38 25zM43.31 15.13a1.29 1.29 0 00-.64-.88 1.28 1.28 0 00-1.08-.09 22.79 22.79 0 00-6.42 3.46c.4.73 1.29 2.79 1.6 7.35a22.93 22.93 0 016.8-1.43 21.27 21.27 0 00-.26-8.41z\"}},\nwifi:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M47.7 15.8c-5.5-6.1-13.3-9.5-21.6-9.5S10 9.7 4.5 15.8c-.4.4-.3 1.1.1 1.4l3 2.6c.4.4 1 .3 1.4-.1 4.4-4.7 10.6-7.4 17.1-7.4s12.7 2.7 17.1 7.4c.4.4 1 .4 1.4.1l3-2.6c.4-.4.5-1 .1-1.4zM26.1 20.3c-4.2 0-8.2 1.8-11 5-.4.4-.3 1.1.1 1.5l3.2 2.4c.4.3 1 .3 1.3-.1 1.7-1.8 4-2.8 6.4-2.8s4.7 1 6.3 2.7c.3.4.9.4 1.3.1l3.2-2.4c.5-.4.5-1 .1-1.5-2.7-3.1-6.7-4.9-10.9-4.9zM26.2 34.2c2.7 0 5 2.2 5 5s-2.2 5-5 5-5-2.2-5-5 2.3-5 5-5z\"}},\nwork_forecast:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M44.88 11.82s-2.38-4.91-7.7-4.91S29.34 12 29.34 12a7.94 7.94 0 00-6.75 0s-2.45-5.05-7.77-5.05-7.7 4.91-7.7 4.91S2.14 22.93 2 32.89s6.48 12.2 9.61 12.2c3.41 0 11.46-1.43 11.05-12.61a3.26 3.26 0 013.07-1.84 4.06 4.06 0 013.68 1.84C29 43.66 37 45.09 40.39 45.09c3.06 0 9.74-2.39 9.61-12.2s-5.12-21.07-5.12-21.07zM12.23 40.73a5.94 5.94 0 115.93-5.94 5.94 5.94 0 01-5.93 5.94zm27.54 0a5.94 5.94 0 115.93-5.94 5.94 5.94 0 01-5.93 5.94z\"}},\nwork_order_type:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M39.3 26.9c0 1-.9 1.9-1.9 1.9H14.6c-1 0-1.9-.9-1.9-1.9V25c0-1 .9-1.9 1.9-1.9h22.9c1 0 1.9.9 1.9 1.9v1.9h-.1zm-3.8 11.4c0 1-.9 1.9-1.9 1.9h-19c-1 0-1.9-.9-1.9-1.9v-1.9c0-1 .9-1.9 1.9-1.9h19.1c1 0 1.9.9 1.9 1.9v1.9h-.1zM12.7 13.5c0-1 .9-1.9 1.9-1.9h19.1c1 0 1.9.9 1.9 1.9v1.9c0 1-.9 1.9-1.9 1.9H14.6c-1 0-1.9-.9-1.9-1.9v-1.9zM41.2 4H10.8C7.6 4 5 6.6 5 9.7v32.4c0 3.1 2.6 5.7 5.7 5.7h30.5c3.1 0 5.7-2.6 5.7-5.7V9.7C47 6.6 44.4 4 41.2 4z\"}},\nworld:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M26 2C12.7 2 2 12.7 2 26s10.7 24 24 24 24-10.7 24-24S39.3 2 26 2zm0 5zm2 .1h-.2.2zM26 45C15.5 45 7 36.5 7 26c0-1 .1-2.1.3-3 1.3.2 2.9.7 3.7 1.5 1.7 1.8 3.6 3.9 5.4 4.3 0 0-.2.1-.4.4-.2.3-.4.9-.4 1.9 0 4.7 4.4 1.9 4.4 6.6 0 4.7 5.3 6.6 5.3 2.8s3.5-5.6 3.5-8.5-2.7-2.8-4.4-3.8c-1.8-.9-2.7-2.4-6.1-1.9-1.8-1.7-2.8-3.1-2-4.7.9-1.7 4.6-2 4.6-4.6s-2.5-3.1-4.3-3.1c-.8 0-2.5-.6-3.9-1.3 1.7-1.7 3.8-3.1 6-4.1 1.6.7 4.3 1.8 6.6 1.8 2.7 0 4.1-1.9 3.7-3.1 4.5.7 8.5 3 11.4 6.2-1.5.9-3.5 1.9-7 1.9-4.6 0-4.6 4.7-1.9 5.6 2.8.9 5.6-1.8 6.5 0 .9 1.8-6.5 1.8-4.6 6.4 1.9 4.6 3.7-.1 5.6 4.5 1.9 4.6 5.6-.7 2.8-4.3-1.2-1.6-.9-6.5 1.9-6.5h.9c.4 1.6.7 3.3.7 5C45 36.5 36.5 45 26 45z\"}},\nyubi_key:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M38.5 14.1h-37c-.8 0-1.5.7-1.5 1.5v21c0 .8.7 1.5 1.5 1.5h37c.8 0 1.5-.7 1.5-1.5v-21c0-.8-.7-1.5-1.5-1.5zM21 32.2c-3.4 0-6.1-2.7-6.1-6.1S17.6 20 21 20s6.1 2.7 6.1 6.1-2.7 6.1-6.1 6.1z\"},{\"d\":\"M50.5 18H36c-.8 0-1.5.7-1.5 1.5v13c0 .8.7 1.5 1.5 1.5h14.5c.8 0 1.5-.7 1.5-1.5v-13c0-.8-.7-1.5-1.5-1.5zm-3.4 4c.6 0 1 .4 1 1v1.9H40V22h7.1zm0 8H40v-2.7h8.1V29c0 .6-.4 1-1 1z\"}],\"circle\":{\"cx\":\"21\",\"cy\":\"26.1\",\"r\":\"1.2\"}}},\nzoomin:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M31 19h-6v-6c0-.6-.4-1-1-1h-4c-.6 0-1 .4-1 1v6h-6c-.6 0-1 .4-1 1v4c0 .6.4 1 1 1h6v6c0 .6.4 1 1 1h4c.6 0 1-.4 1-1v-6h6c.6 0 1-.4 1-1v-4c0-.6-.4-1-1-1z\"},{\"d\":\"M49.6 45.2L38.1 33.8C40.5 30.5 42 26.4 42 22c0-11-9-20-20-20S2 11 2 22s9 20 20 20c4.4 0 8.5-1.5 11.8-3.9l11.5 11.5c.6.6 1.5.6 2.1 0l2.1-2.1c.6-.6.6-1.6.1-2.3zM22 36c-7.7 0-14-6.3-14-14S14.3 8 22 8s14 6.3 14 14-6.3 14-14 14z\"}]},\nzoomout:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M19 25h12c.6 0 1-.4 1-1v-4c0-.6-.4-1-1-1H19M19 19h-6c-.6 0-1 .4-1 1v4c0 .6.4 1 1 1h6\"},{\"d\":\"M49.6 45.3L38.1 33.8C40.5 30.5 42 26.4 42 22c0-11-9-20-20-20S2 11 2 22s9 20 20 20c4.4 0 8.5-1.5 11.8-3.9l11.5 11.5c.6.6 1.5.6 2.1 0l2.1-2.1c.6-.6.6-1.6.1-2.2zM22 36c-7.7 0-14-6.3-14-14S14.3 8 22 8s14 6.3 14 14-6.3 14-14 14z\"}]},\nviewBox:'0 0 52 52'\n}; } export default icons;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n\nlet icons = {}; if ('__EXCLUDE_SLDS_ICONS__' === '__INCLUDE_SLDS_ICONS__') { icons = {\nadd_contact:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M46 9H6c-2.7 0-5 2.2-5 5v24c0 2.7 2.3 5 5 5h40c2.8 0 5-2.2 5-5V14c0-2.8-2.2-5-5-5zM24.8 37.2H10.4c-1.6 0-2.8-1.7-2.8-3.4.1-2.5 2.7-4 5.4-5.2 1.9-.8 2.2-1.6 2.2-2.4 0-.8-.5-1.6-1.2-2.2-1.1-1-1.7-2.5-1.7-4.1 0-3.2 1.9-5.8 5.2-5.8s5.2 2.7 5.2 5.8c0 1.7-.6 3.2-1.7 4.1-.7.6-1.2 1.3-1.2 2.2 0 .8.2 1.6 2.2 2.3 2.7 1.2 5.3 2.8 5.4 5.3.3 1.7-1 3.4-2.6 3.4zm19.5-5.8c0 .9-.8 1.7-1.7 1.7h-7.5c-.9 0-1.7-.7-1.7-1.7v-2.5c0-.9.8-1.7 1.7-1.7h7.5c.9 0 1.7.7 1.7 1.7v2.5zm0-9.1c0 .9-.8 1.7-1.7 1.7H30.2c-.9 0-1.7-.7-1.7-1.7v-2.5c0-.9.8-1.7 1.7-1.7h12.5c.9 0 1.7.7 1.7 1.7v2.5z\"}},\nadd_file:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M9.7 36.1V11.3c-2.6 0-4.7 2.1-4.7 4.6v29.4C5 47.9 7.1 50 9.7 50H33c2.6 0 4.7-2.1 4.7-4.6H19c-5.1 0-9.3 0-9.3-9.3zm35.7-20.2h-7.8c-2.6 0-4.7-2.1-4.7-4.6V3.5c.1-.8-.6-1.5-1.5-1.5H19c-2.6 0-4.7 2.1-4.7 4.6V36c0 2.6 2.1 4.6 4.7 4.6h23.3c2.6 0 4.7-2.1 4.7-4.6V17.5c0-.9-.7-1.6-1.6-1.6zm1.3-6.5l-7.2-7.1c-.2-.2-.4-.3-.7-.3-.6 0-1.1.5-1.1 1.1v5.1c0 1.7 1.4 3.1 3.1 3.1h5.1c.6 0 1.1-.5 1.1-1.1 0-.3-.1-.5-.3-.8z\"}},\nadd_photo_video:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M26 20c-4.4 0-8 3.6-8 8s3.6 8 8 8 8-3.6 8-8-3.6-8-8-8zm20-6h-5.2c-1.4 0-2.6-.7-3.4-1.8l-2.3-3.5C34.4 7 32.7 6 30.9 6h-9.8c-1.8 0-3.5 1-4.3 2.7l-2.3 3.5c-.7 1.1-2 1.8-3.4 1.8H6c-2.2 0-4 1.8-4 4v24c0 2.2 1.8 4 4 4h40c2.2 0 4-1.8 4-4V18c0-2.2-1.8-4-4-4zM26 40c-6.6 0-12-5.4-12-12s5.4-12 12-12 12 5.4 12 12-5.4 12-12 12z\"}},\nadd_relationship:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M36 20c0-2.2-1.8-4-4-4H6c-2.2 0-4 1.8-4 4v26c0 2.2 1.8 4 4 4h26c2.2 0 4-1.8 4-4V20zm-8 14c0 .5-.5 1-1 1h-6v6c0 .5-.5 1-1 1h-2c-.5 0-1-.5-1-1v-6h-6c-.5 0-1-.5-1-1v-2c0-.5.5-1 1-1h6v-6c0-.5.5-1 1-1h2c.5 0 1 .5 1 1v6h6c.5 0 1 .5 1 1v2zm15 8h-3v-6h3c.6 0 1-.4 1-1V9c0-.6-.4-1-1-1H17c-.6 0-1 .4-1 1v3h-6V9c0-3.9 3.1-7 7-7h26c3.9 0 7 3.1 7 7v26c0 3.9-3.1 7-7 7z\"}},\nadjust_value:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M23 14.91a6.55 6.55 0 11-6.52 6.55A6.53 6.53 0 0123 14.91zm20.7 15.72a.58.58 0 000-.84l-4.12-4.12a.59.59 0 00-.42-.18.61.61 0 00-.43.18L27.39 37.05l-1.7 5.69a.8.8 0 00.79 1 .55.55 0 00.18 0L32.35 42zm-1.45-7.75L46.4 27a.63.63 0 00.43.18.59.59 0 00.42-.18c.73-.73 2.06-1.94 2.06-1.94a2 2 0 000-2.91L47.13 20a2 2 0 00-1.41-.54 2.34 2.34 0 00-1.5.54s-1.33 1.31-1.93 2a.58.58 0 000 .88zM40.1 8.27H6a4 4 0 00-3.93 4v19.07A4 4 0 006 35.28h18.84l3.95-3.94H10.54A4.53 4.53 0 006 26.76v-9.88a4.53 4.53 0 004.56-4.57h25a4.53 4.53 0 004.56 4.57v3L44 15.91v-3.6a4 4 0 00-3.9-4.04z\"}},\nannouncement:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M22.7 45.4l-1.3-1c-1.4-1-1.4-3-1.4-4v-2.9c0-.8-.7-1.5-1.5-1.5h-6c-.8 0-1.5.7-1.5 1.5v7.7c0 2.7 1.6 4.8 4.1 4.8H20c2.9 0 3.1-2 3.1-2s.5-1.8-.4-2.6zM45 18V4.4v-.1c0-2.4-3-3.1-4.6-1.5l-8.9 8.4c-1.4 1.2-3.2 1.7-5 1.7H11.3C6.1 13 2 17.5 2 22.7v.2c0 5.2 4.1 9.1 9.3 9.1h15.2c1.9 0 3.7.8 5.1 2l8.8 8.6c1.6 1.6 4.6 1 4.6-1.4V27.6c3 0 4.8-2.1 4.8-4.8 0-2.7-1.8-4.8-4.8-4.8z\"}}},\napex:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M48.5 40h-27c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h27c.8 0 1.5-.7 1.5-1.5v-3c0-.8-.7-1.5-1.5-1.5zM25.4 21.8L6 6.3c-.6-.5-1.5-.4-2 .3L2.3 9c-.5.7-.3 1.6.3 2.1l13.8 11c.5.4.5 1.2 0 1.6l-13.8 11c-.6.5-.8 1.5-.3 2.1L4 39.4c.5.7 1.4.8 2 .3l19.4-15.5c.8-.6.8-1.8 0-2.4z\"}}},\napproval:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M19 43.6L2.5 27c-.6-.6-.6-1.6 0-2.2l2.2-2.2c.6-.6 1.6-.6 2.2 0l12.4 12.5c.4.4 1.1.4 1.5 0l24.3-24.5c.6-.6 1.6-.6 2.2 0l2.2 2.2c.6.6.6 1.6 0 2.2L21.2 43.6c-.6.7-1.6.7-2.2 0z\"}},\nback:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M48.5 22H15.3c-.9 0-1.3-1.1-.7-1.7l9.6-9.6c.6-.6.6-1.5 0-2.1L22 6.4c-.6-.6-1.5-.6-2.1 0L2.4 23.9c-.6.6-.6 1.5 0 2.1l17.5 17.5c.6.6 1.5.6 2.1 0l2.1-2.1c.6-.6.6-1.5 0-2.1l-9.6-9.6c-.6-.6-.2-1.7.7-1.7h33.2c.8 0 1.5-.7 1.5-1.5v-3c.1-.8-.6-1.5-1.4-1.5z\"}},\nbug:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M19.7 10.1h12.7c.9 0 1.6-.9 1.4-1.7-.8-3.6-4-6.2-7.8-6.2s-7 2.7-7.8 6.2c-.1.8.6 1.7 1.5 1.7zm27.8 20.7c1.4 0 2.5-1.1 2.4-2.5-.1-1.3-1.2-2.3-2.6-2.3h-7v-4c4.6-1.8 7.9-6.8 7.9-12.6 0-1.2-.8-2.2-2-2.5-1.5-.2-2.8.9-2.8 2.4 0 3.4-1.6 6.4-3.9 7.8-.9-1.4-2.4-2.2-4.1-2.2H16.5c-1.7 0-3.2.9-4.1 2.2-2.3-1.4-3.9-4.3-3.9-7.6 0-1.3-1-2.5-2.2-2.5-1.4-.1-2.5 1-2.5 2.3 0 5.9 3.3 10.9 7.9 12.7v4h-7c-1.3 0-2.5 1-2.5 2.2-.1 1.4 1 2.5 2.4 2.5h7.2v4c-4.6 1.8-7.9 6.8-7.9 12.6 0 1.2.8 2.2 2 2.5 1.5.2 2.8-.9 2.8-2.4 0-3.3 1.5-6.3 3.8-7.7 1.4 4.5 4.8 7.9 9.2 9.4 1 .3 2.1-.5 2.1-1.5V28.5c0-1.3 1-2.5 2.2-2.5 1.4-.1 2.5 1 2.5 2.4v19.2c0 1.1 1 1.8 2.1 1.5 4.4-1.4 7.9-4.9 9.2-9.4 2.2 1.4 3.7 4.3 3.8 7.5 0 1.3 1 2.5 2.2 2.5 1.4.1 2.5-1 2.5-2.4 0-5.9-3.3-10.9-7.9-12.7v-4h7.1v.2z\"}},\ncall:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M48.5 37.8l-6.1-4.9c-1.4-1.1-3.4-1.2-4.8-.1l-5.2 3.8c-.6.5-1.5.4-2.1-.2l-7.8-7-7-7.8c-.6-.6-.6-1.4-.2-2.1l3.8-5.2c1.1-1.4 1-3.4-.1-4.8l-4.9-6.1c-1.5-1.8-4.2-2-5.9-.3l-5 5.2c-.8.8-1.2 2-1.2 3.1.5 10.2 5.1 19.9 11.9 26.7 6.8 6.8 16.5 11.4 26.7 11.9 1.1.1 2.2-.4 3-1.2l5.2-5.2c1.7-1.6 1.6-4.4-.3-5.8z\"}},\ncanvas:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M45 38.4c-.2 2.7-.5 5.6-1 8.4-.1.8-1 1.7-1.8 1.8-5.4.6-10.7 1-16.1 1-5.3 0-10.7-.3-16-1-.8-.1-1.7-.9-1.8-1.8-.7-4.4-1.1-8.9-1.1-13.4s.4-9 1.1-13.4c.1-.8 1-1.6 1.8-1.8 3.3-.4 6.5-.6 9.7-.8 0 0 2.6-.1 2.4-2.6-.2-2.2-4-3.7-4-7.4 0-3 3-5.4 7.9-5.4 4.8 0 7.8 2.4 7.8 5.4 0 3.8-3.7 5.2-3.9 7.4-.2 2.4 2.4 2.6 2.4 2.6 3.3.1 6.6.4 9.8.8.8.1 1.7.9 1.8 1.8.5 3.1.8 6 1 9.1 0 .9-.7 1.8-1.6 1.8h-.9c-.9 0-2.3-.7-2.9-1.4 0 0-2.1-2.2-4.4-2.3-3.7-.1-6.5 3.1-6.5 6.6s2.8 6.8 6.4 6.7c2.2-.1 4.4-2.3 4.4-2.3.7-.6 2-1.2 2.9-1.2h.9c1.1 0 1.8.6 1.7 1.4z\"}},\nchange_owner:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M27.3 37.6c-3-1.2-3.5-2.3-3.5-3.5 0-1.2.8-2.3 1.8-3.2 1.8-1.5 2.6-3.9 2.6-6.4 0-4.7-2.9-8.5-8.3-8.5s-8.3 3.8-8.3 8.5c0 2.5.8 4.9 2.6 6.4 1 .9 1.8 2 1.8 3.2 0 1.2-.5 2.3-3.5 3.5-4.4 1.8-8.6 3.8-8.7 7.6C4 47.8 6 50 8.5 50h23c2.5 0 4.5-2.2 4.5-4.7-.1-3.8-4.3-5.9-8.7-7.7zM44.5 19c0-7.4-6.1-13.5-13.5-13.5V2l-6.8 5.5c-.3.3-.2.8.1 1.1L31 14v-3.5c4.7 0 8.5 3.8 8.5 8.5H36l5.5 6.8c.3.3.8.3 1.1 0L48 19h-3.5z\"}},\nchange_record_type:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M20 37.5c0-.8-.7-1.5-1.5-1.5h-15c-.8 0-1.5.7-1.5 1.5v11c0 .8.7 1.5 1.5 1.5h15c.8 0 1.5-.7 1.5-1.5v-11zM8.1 22H3.2c-1 0-1.5.9-.9 1.4l8 8.3c.4.3 1 .3 1.4 0l8-8.3c.6-.6.1-1.4-.9-1.4h-4.7c0-5 4.9-10 9.9-10V6C15 6 8.1 13 8.1 22zM41.8 20.3c-.4-.3-1-.3-1.4 0l-8 8.3c-.6.6-.1 1.4.9 1.4h4.8c0 6-4.1 10-10.1 10v6c9 0 16.1-7 16.1-16H49c1 0 1.5-.9.9-1.4l-8.1-8.3zM50 3.5c0-.8-.7-1.5-1.5-1.5h-15c-.8 0-1.5.7-1.5 1.5v11c0 .8.7 1.5 1.5 1.5h15c.8 0 1.5-.7 1.5-1.5v-11z\"}},\ncheck:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M19.1 42.5L2.6 25.9c-.6-.6-.6-1.6 0-2.2l2.2-2.2c.6-.6 1.6-.6 2.2 0L19.4 34c.4.4 1.1.4 1.5 0L45.2 9.5c.6-.6 1.6-.6 2.2 0l2.2 2.2c.6.6.6 1.6 0 2.2L21.3 42.5c-.6.7-1.6.7-2.2 0z\"}},\nclone:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M46 2H18c-2.2 0-4 1.8-4 4v2.5c0 .8.7 1.5 1.5 1.5H34c4.4 0 8 3.6 8 8v18.5c0 .8.7 1.5 1.5 1.5H46c2.2 0 4-1.8 4-4V6c0-2.2-1.8-4-4-4z\"},{\"d\":\"M34 14H6c-2.2 0-4 1.8-4 4v28c0 2.2 1.8 4 4 4h28c2.2 0 4-1.8 4-4V18c0-2.2-1.8-4-4-4zm-4 27c0 .6-.4 1-1 1H11c-.6 0-1-.4-1-1v-2c0-.6.4-1 1-1h18c.6 0 1 .4 1 1v2zm0-8c0 .6-.4 1-1 1H11c-.6 0-1-.4-1-1v-2c0-.6.4-1 1-1h18c.6 0 1 .4 1 1v2zm0-8c0 .6-.4 1-1 1H11c-.6 0-1-.4-1-1v-2c0-.6.4-1 1-1h18c.6 0 1 .4 1 1v2z\"}]}},\nclose:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M31.6 25.8l13.1-13.1c.6-.6.6-1.5 0-2.1l-2.1-2.1c-.6-.6-1.5-.6-2.1 0L27.4 21.6c-.4.4-1 .4-1.4 0L12.9 8.4c-.6-.6-1.5-.6-2.1 0l-2.1 2.1c-.6.6-.6 1.5 0 2.1l13.1 13.1c.4.4.4 1 0 1.4L8.6 40.3c-.6.6-.6 1.5 0 2.1l2.1 2.1c.6.6 1.5.6 2.1 0L26 31.4c.4-.4 1-.4 1.4 0l13.1 13.1c.6.6 1.5.6 2.1 0l2.1-2.1c.6-.6.6-1.5 0-2.1L31.6 27.2c-.3-.4-.3-1 0-1.4z\"}},\ndefer:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M26 2C12.8 2 2 12.8 2 26s10.8 24 24 24 24-10.8 24-24S39.2 2 26 2zm0 42c-9.9 0-18-8.1-18-18S16.1 8 26 8s18 8.1 18 18-8.1 18-18 18z\"},{\"d\":\"M29.4 26.2c-.3-.3-.4-.7-.4-1.1v-9.6c0-.8-.7-1.5-1.5-1.5h-3c-.8 0-1.5.7-1.5 1.5v12.1c0 .4.2.8.4 1.1l7.4 7.4c.6.6 1.5.6 2.1 0L35 34c.6-.6.6-1.5 0-2.1l-5.6-5.7z\"}]}},\ndelete:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M45.5 10H33V6c0-2.2-1.8-4-4-4h-6c-2.2 0-4 1.8-4 4v4H6.5c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h39c.8 0 1.5-.7 1.5-1.5v-3c0-.8-.7-1.5-1.5-1.5zM23 7c0-.6.4-1 1-1h4c.6 0 1 .4 1 1v3h-6V7zM41.5 20h-31c-.8 0-1.5.7-1.5 1.5V45c0 2.8 2.2 5 5 5h24c2.8 0 5-2.2 5-5V21.5c0-.8-.7-1.5-1.5-1.5zM23 42c0 .6-.4 1-1 1h-2c-.6 0-1-.4-1-1V28c0-.6.4-1 1-1h2c.6 0 1 .4 1 1v14zm10 0c0 .6-.4 1-1 1h-2c-.6 0-1-.4-1-1V28c0-.6.4-1 1-1h2c.6 0 1 .4 1 1v14z\"}}},\ndescription:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M44 4H8C5.8 4 4 5.8 4 8v36c0 2.2 1.8 4 4 4h36c2.2 0 4-1.8 4-4V8c0-2.2-1.8-4-4-4zM12 14c0-.6.4-1 1-1h10c.6 0 1 .4 1 1v10c0 .6-.4 1-1 1H13c-.6 0-1-.4-1-1V14zm24 26c0 .6-.4 1-1 1H13c-.6 0-1-.4-1-1v-2c0-.6.4-1 1-1h22c.6 0 1 .4 1 1v2zm4-8c0 .6-.4 1-1 1H13c-.6 0-1-.4-1-1v-2c0-.6.4-1 1-1h26c.6 0 1 .4 1 1v2zm0-8c0 .6-.4 1-1 1H29c-.6 0-1-.4-1-1v-2c0-.6.4-1 1-1h10c.6 0 1 .4 1 1v2zm0-8c0 .6-.4 1-1 1H29c-.6 0-1-.4-1-1v-2c0-.6.4-1 1-1h10c.6 0 1 .4 1 1v2z\"}},\ndial_in:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"circle\":[{\"cx\":\"10\",\"cy\":\"10\",\"r\":\"6\"},{\"cx\":\"10\",\"cy\":\"26\",\"r\":\"6\"},{\"cx\":\"26\",\"cy\":\"10\",\"r\":\"6\"},{\"cx\":\"42\",\"cy\":\"10\",\"r\":\"6\"},{\"cx\":\"26\",\"cy\":\"26\",\"r\":\"6\"},{\"cx\":\"42\",\"cy\":\"26\",\"r\":\"6\"},{\"cx\":\"10\",\"cy\":\"42\",\"r\":\"6\"},{\"cx\":\"26\",\"cy\":\"42\",\"r\":\"6\"},{\"cx\":\"42\",\"cy\":\"42\",\"r\":\"6\"}]}},\ndownload:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M48.5 31h-3c-.8 0-1.5.7-1.5 1.5v10c0 .8-.7 1.5-1.5 1.5h-33c-.8 0-1.5-.7-1.5-1.5v-10c0-.8-.7-1.5-1.5-1.5h-3c-.8 0-1.5.7-1.5 1.5V46c0 2.2 1.8 4 4 4h40c2.2 0 4-1.8 4-4V32.5c0-.8-.7-1.5-1.5-1.5z\"},{\"d\":\"M25 37.6c.6.6 1.5.6 2.1 0l13.5-13.5c.6-.6.6-1.5 0-2.1l-2.1-2.1c-.6-.6-1.5-.6-2.1 0l-5.6 5.6c-.6.6-1.7.2-1.7-.7V3.5C29 2.7 28.2 2 27.5 2h-3c-.8 0-1.5.7-1.5 1.5v21.2c0 .9-1.1 1.3-1.7.7l-5.6-5.6c-.6-.6-1.5-.6-2.1 0L11.5 22c-.6.6-.6 1.5 0 2.1L25 37.6z\"}]}},\nedit:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M48.8 7.4l-4.2-4.2c-1.6-1.6-4.1-1.6-5.6 0l-3.3 3.3c-.4.4-.4 1 0 1.4l8.5 8.5c.4.4 1 .4 1.4 0l3.3-3.3c1.5-1.6 1.5-4.1-.1-5.7zM32.9 10.7c-.4-.4-1-.4-1.4 0L5.4 36.8 2.1 48.1c-.3 1.1.7 2.2 1.8 1.9l11.4-3.2h-.1l26.1-26.1c.4-.4.4-1 0-1.4l-8.4-8.6z\"}}},\nedit_groups:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M39.4 31.5c-.2-.2-.6-.2-.8 0L26.9 43.2 25.2 49c-.2.6.4 1.1 1 1l5.9-1.7 11.7-11.7c.2-.2.2-.6 0-.8l-4.4-4.3zM49.4 28l-2.2-2.2c-.8-.8-2.1-.8-2.9 0 0 0-1.3 1.3-2 2.1-.2.2-.2.6 0 .8l4.2 4.2c.2.2.6.2.8 0 .7-.7 2.1-2 2.1-2 .8-.8.8-2.1 0-2.9zM26 13.7c0 2.2-.6 4.3-1.8 6.1-.4.6-.2 1.5.5 1.9 2.2 1.1 4.7 2.5 6.1 4.9.2.4.7.5 1.1.5h2.8c1.8 0 3-1.2 3-3.1-.1-2.8-2.9-4.5-5.9-5.8-2.1-.9-2.4-1.7-2.4-2.6 0-.9.6-1.7 1.3-2.4 1.2-1.1 1.9-2.7 1.9-4.6C32.5 5 30.4 2 26.7 2c-2.2 0-3.9 1.1-4.8 2.7 2.5 1.9 4.1 5.1 4.1 9z\"},{\"d\":\"M27.5 30.3c-.1-3.2-3.3-4.6-6.7-6.1-2.3-1-2.7-1.9-2.7-2.9s.6-2 1.4-2.7c1.4-1.3 2.1-3.1 2.1-5.2 0-3.9-2.3-7.3-6.5-7.3h-.4c-4.2 0-6.5 3.4-6.5 7.3 0 2.1.7 3.9 2.1 5.2.8.7 1.4 1.7 1.4 2.7 0 1-.4 1.9-2.7 2.9-3.4 1.5-6.6 3-6.7 6.1C2.5 32.4 4 34 6 34h18c2 0 3.5-1.6 3.5-3.7z\"}]}},\nedit_relationship:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M43 42h-3v-6h3c.6 0 1-.4 1-1V9c0-.6-.4-1-1-1H17c-.6 0-1 .4-1 1v3h-6V9c0-3.9 3.1-7 7-7h26c3.9 0 7 3.1 7 7v26c0 3.9-3.1 7-7 7z\"},{\"d\":\"M32 16H6c-2.2 0-4 1.8-4 4v26c0 2.2 1.8 4 4 4h26c2.2 0 4-1.8 4-4V20c0-2.2-1.8-4-4-4zM14.8 41.5c-.2.2-.3.2-.5.3l-4.5 1.1c-.4.1-.8-.3-.7-.7l1.1-4.5c0-.1.1-.2.2-.4l.1-.1c.1-.1.4-.1.5 0l3.7 3.7c.2.3.2.6.1.6zm10.9-11l-9.2 9.3c-.2.2-.4.2-.6 0l-3.7-3.7c-.2-.1-.2-.4 0-.5l9.3-9.3c.2-.2.4-.2.6 0l3.7 3.7c0 .1 0 .3-.1.5zm2.8-2.8l-1 1c-.2.2-.4.2-.6 0L23.2 25c-.2-.2-.2-.4 0-.6l1-1c.7-.7 1.7-.7 2.4 0l2 2c.6.7.6 1.7-.1 2.3z\"}]},\nemail:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M24.9 30.1c.6.6 1.5.6 2.1 0l22.6-21c.5-.8.4-2.1-1.2-2.1l-44.8.1c-1.2 0-2.2 1.1-1.3 2.1l22.6 20.9z\"},{\"d\":\"M50 17.3c0-1-1.2-1.6-2-.9L30.3 32.7c-1.2 1.1-2.7 1.7-4.3 1.7s-3.1-.6-4.3-1.6L4.1 16.4c-.8-.7-2-.2-2 .9C2 21.8 2 34 2 40c0 2.2 1.8 4 4 4h40c2.2 0 4-1.8 4-4V17.3z\"}]}},\nfallback:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M28 3.5l-3 14.6c0 .6.4.9.9.9h15.6c1.1 0 1.8 1.3 1.3 2.3l-17 27.9c-.7 1.4-2.8.9-2.8-.7l3-17.2c0-.6-.5-.4-1.1-.4H8.5c-1.1 0-1.9-1.6-1.3-2.6l18-25.5c.7-1.3 2.8-.9 2.8.7z\"}},\nfilter:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M48.2 4H3.8C2.4 4 1.6 5.7 2.5 6.8L22 29.5c.6.7 1 1.7 1 2.6v14.4c0 .8.7 1.5 1.5 1.5h3c.8 0 1.5-.7 1.5-1.5V32.1c0-1 .3-1.9 1-2.6L49.5 6.8c.9-1.1.2-2.8-1.3-2.8z\"}},\nflow:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M49.9 10.6c-2.1-4.1-7.4-11.7-17.2-7.2-6.1 2.8-9.5 4.4-9.5 4.4l-8.8 3.8c-2.5 1.2-7.9-.5-11-1.6-.9-.3-1.7.6-1.3 1.5 2.1 4.1 7.4 11.7 17.2 7.2 6.1-2.8 18.3-8.1 18.3-8.1 2.5-1.2 7.9.5 11 1.6.9.2 1.7-.7 1.3-1.6zM28.8 23.4c-1.1.6-5.5 2.6-5.5 2.6l-4.4 1.9c-2.2 1.2-6.9-.4-9.7-1.5-.8-.4-1.5.6-1.1 1.4 1.8 4 6.5 11.2 15.1 6.8 5.4-2.7 9.9-4.5 9.9-4.5 2.2-1.2 6.9.4 9.7 1.5.8.3 1.5-.6 1.1-1.5-1.8-3.9-6.5-11.1-15.1-6.7zM25.6 41.1c-.9.5-2.4 1.4-2.4 1.4-1.7 1.1-5.2-.3-7.3-1.3-.6-.3-1.1.6-.8 1.4 1.3 3.6 4.8 10.1 11.3 6.1 2.4-1.5 2.4-1.4 2.4-1.4 1.8-.9 5.2.3 7.3 1.3.6.3 1.1-.6.8-1.4-1.3-3.6-4.6-9.8-11.3-6.1z\"}}},\nfollow:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M50.5 38H46v-4.5c0-.8-.7-1.5-1.5-1.5h-3c-.8 0-1.5.7-1.5 1.5V38h-4.5c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5H40v4.5c0 .8.7 1.5 1.5 1.5h3c.8 0 1.5-.7 1.5-1.5V44h4.5c.8 0 1.5-.7 1.5-1.5v-3c0-.8-.7-1.5-1.5-1.5z\"},{\"d\":\"M34 34h1c.6 0 1-.4 1-1v-1c0-2.2 1.8-4 4-4h4.5c.8 0 1.5-.7 1.5-1.5V6c0-2.2-1.8-4-4-4H6C3.8 2 2 3.8 2 6v36c0 2.2 1.8 4 4 4h22.5c.9 0 1.6-.7 1.5-1.6V38c0-2.2 1.8-4 4-4zm-8-23c0-.6.4-1 1-1h10c.6 0 1 .4 1 1v2c0 .6-.4 1-1 1H27c-.6 0-1-.4-1-1v-2zm0 8c0-.6.4-1 1-1h10c.6 0 1 .4 1 1v2c0 .6-.4 1-1 1H27c-.6 0-1-.4-1-1v-2zm-16-8c0-.6.4-1 1-1h10c.6 0 1 .4 1 1v10c0 .6-.4 1-1 1H11c-.6 0-1-.4-1-1V11zm16 26c0 .6-.4 1-1 1H11c-.6 0-1-.4-1-1v-2c0-.6.4-1 1-1h14c.6 0 1 .4 1 1v2zm-15-7c-.6 0-1-.4-1-1v-2c0-.6.4-1 1-1h20c.6 0 1 .4 1 1v2c0 .6-.4 1-1 1H11z\"}]}},\nfollowing:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M49.5 33.6l-2.2-2.2c-.6-.6-1.6-.6-2.2 0L35.7 41c-.4.4-1.1.4-1.5 0l-4.4-4.5c-.6-.6-1.6-.6-2.2 0l-2.2 2.2c-.6.6-.6 1.6 0 2.2l8.4 8.6c.6.6 1.6.6 2.2 0l13.4-13.7c.7-.5.7-1.5.1-2.2z\"},{\"d\":\"M24.7 33.8c1-1 2.2-1.6 3.6-1.8 1.7-.1 3.3.4 4.5 1.6L35 36l7.2-7.4c.8-.8 1.8-1.4 2.9-1.6.5-.1.8-.5.8-1V6c0-2.2-1.8-4-4-4H6C3.8 2 2 3.8 2 6v36c0 2.2 1.8 4 4 4h16.4c.9 0 1.3-1.1.7-1.7l-.5-.5c-2.1-2.2-2.1-5.7 0-7.9l2.1-2.1zM26 11c0-.6.4-1 1-1h10c.6 0 1 .4 1 1v2c0 .6-.4 1-1 1H27c-.6 0-1-.4-1-1v-2zm0 8c0-.6.4-1 1-1h10c.6 0 1 .4 1 1v2c0 .6-.4 1-1 1H27c-.6 0-1-.4-1-1v-2zm-16-8c0-.6.4-1 1-1h10c.6 0 1 .4 1 1v10c0 .6-.4 1-1 1H11c-.6 0-1-.4-1-1V11zm8 26c0 .6-.4 1-.9 1H11c-.5 0-.9-.4-.9-1v-2c0-.6.4-1 .9-1h6.1c.5 0 .9.4.9 1v2zm-7-7c-.6 0-1-.4-1-1v-2c0-.6.4-1 1-1h20c.6 0 1 .4 1 1v2c0 .6-.4 1-1 1H11z\"}]}},\nfreeze_user:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M27 3c.6 0 1 .4 1 1v45.9c0 .6-.4 1-1 1h-2c-.6 0-1-.4-1-1V4c0-.6.4-1 1-1h2z\"},{\"d\":\"M26 17.2l-8.1-8.1c-.4-.4-.4-1 0-1.4l1.4-1.4c.4-.4 1-.4 1.4 0l5.3 5.3 5.3-5.3c.4-.4 1-.4 1.4 0l1.4 1.4c.4.4.4 1 0 1.4L26 17.2M26 36.7l8.1 8.1c.4.4.4 1 0 1.4l-1.4 1.4c-.4.4-1 .4-1.4 0L26 42.3l-5.3 5.3c-.4.4-1 .4-1.4 0l-1.4-1.4c-.4-.4-.4-1 0-1.4l8.1-8.1M47.1 15.6c.3.5.2 1.1-.4 1.4L7.2 40.3c-.5.3-1.1.2-1.4-.4l-1-1.7c-.3-.5-.2-1.1.4-1.4l39.5-23.4c.5-.3 1.1-.2 1.4.4l1 1.8z\"},{\"d\":\"M34.4 22l2.8-11.1c.1-.6.6-.9 1.2-.7l1.9.5c.6.1.9.6.7 1.2l-1.9 7.3 7.3 1.9c.6.1.9.6.7 1.2l-.5 1.9c-.1.6-.6.9-1.2.7l-11-2.9M17.6 31.9L14.8 43c-.1.6-.6.9-1.2.7l-1.9-.5c-.6-.1-.9-.6-.7-1.2l1.9-7.3-7.3-1.9c-.6-.1-.9-.6-.7-1.2l.5-1.9c.1-.6.6-.9 1.2-.7l11 2.9M5.9 13.9c.3-.5.9-.7 1.4-.4l39.5 23.4c.5.3.7.9.4 1.4l-1 1.7c-.3.5-.9.7-1.4.4L5.2 17c-.5-.3-.7-.9-.4-1.4l1.1-1.7z\"},{\"d\":\"M17.6 22L6.5 24.9c-.6.1-1.1-.1-1.2-.7l-.5-1.9c-.1-.6.1-1.1.7-1.2l7.3-1.9-1.9-7.3c-.1-.6.1-1.1.7-1.2l1.9-.5c.6-.1 1.1.1 1.2.7L17.6 22M34.3 31.9L45.4 29c.6-.1 1.1.1 1.2.7l.5 1.9c.1.6-.1 1.1-.7 1.2l-7.3 1.9L41 42c.1.6-.1 1.1-.7 1.2l-1.9.5c-.6.1-1.1-.1-1.2-.7l-2.9-11.1\"}]},\ngoal:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M5 2C3.3 2 2 3.3 2 5v42c0 1.6 1.3 3 3 3 1.6 0 3-1.3 3-3V5c0-1.7-1.3-3-3-3zM48.8 6.5c-13 6.8-23.3-4.9-35.6-.4-.6.2-1.2.8-1.2 1.5V30c0 1.1 1.2 1.9 2.3 1.6 11.8-3.5 22 7.6 34.8.6.5-.3.9-.8.9-1.4V7.2c0-.6-.7-1-1.2-.7zM46 29.2l-.5.2c-1 .5-2.6.6-5.3.6H40v-5c-1.5 0-4.2-.3-6-.7v5.3c-1.7-.3-3.3-.6-4.6-.9-.5-.1-1-.3-1.4-.4v-5.5c-1.7-.5-4.3-1-6-1.4v5.7c-1.2-.2-1.5-.3-2.8-.3-.5 0-.9 0-1.6.1L16 27v-5.8c1-.2 2.2-.2 3.5-.2 1.3 0 1.4.1 2.5.3v-6c-1.1-.2-5-.2-6 .1V9.2l.9-.1c1-.1 4 .1 5.1.4v5.8c1.4.3 3.8.8 5.6 1.3.1 0 .3.1.4.1v-5.8c1.8.5 3.9 1.1 6 1.4V18c1.7.3 4.4.5 6 .5V13h.2c1.6 0 2.7-.4 4.7-.7l1.2-.4v6c-1.8.5-3.7.7-5.6.7h-.4V25h.2c1.9 0 4-.7 5.8-1.5v5.7z\"},{\"d\":\"M28 16.7v6c.4.1.8.2 1.2.4 1.5.4 3.1.9 4.8 1.2v-6.2c-2.1-.4-4.2-.9-6-1.4z\"}]}},\ngoogle_news:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M50.3 5.3l-3.6 3.6c-.4.4-1 .4-1.4 0l-4.6-4.6c-.4-.4-1-.4-1.4 0l-3.6 3.6c-.4.4-1 .4-1.4 0l-3.6-3.6c-.4-.4-1-.4-1.4 0l-3.6 3.6c-.4.4-1 .4-1.4 0l-3.6-3.6c-.4-.4-1-.4-1.4 0l-3.6 3.6c-.4.4-1 .4-1.4 0l-3.6-3.6c-.4-.4-1-.4-1.4 0L5.7 7.9c-.4.4-1 .4-1.4 0L1.7 5.3C1.1 4.7 0 5.1 0 6v38c0 2.2 1.8 4 4 4h44c2.2 0 4-1.8 4-4V6c0-.9-1.1-1.3-1.7-.7zM21 41c0 .6-.4 1-1 1H8c-.6 0-1-.4-1-1V23c0-.6.4-1 1-1h12c.6 0 1 .4 1 1v18zm24 0c0 .6-.4 1-1 1H26c-.6 0-1-.4-1-1v-2c0-.6.4-1 1-1h18c.6 0 1 .4 1 1v2zm0-7H25v-4h20v4zm0-9c0 .6-.4 1-1 1H26c-.6 0-1-.4-1-1v-2c0-.6.4-1 1-1h18c.6 0 1 .4 1 1v2zm0-8c0 .6-.4 1-1 1H8c-.6 0-1-.4-1-1v-2c0-.6.4-1 1-1h36c.6 0 1 .4 1 1v2z\"}},\ninfo:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M26 2C12.7 2 2 12.7 2 26s10.7 24 24 24 24-10.7 24-24S39.3 2 26 2zm0 12.1c1.7 0 3 1.3 3 3s-1.3 3-3 3-3-1.3-3-3 1.3-3 3-3zm5 21c0 .5-.4.9-1 .9h-8c-.5 0-1-.3-1-.9v-2c0-.5.4-1.1 1-1.1.5 0 1-.3 1-.9v-4c0-.5-.4-1.1-1-1.1-.5 0-1-.3-1-.9v-2c0-.5.4-1.1 1-1.1h6c.5 0 1 .5 1 1.1v8c0 .5.4.9 1 .9.5 0 1 .5 1 1.1v2z\"}},\njoin_group:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M36 23.9c-.1-2.8-2.8-4.5-5.7-5.8-2-.9-2.4-1.7-2.4-2.6 0-.9.6-1.7 1.2-2.4C30.4 12 31 10.4 31 8.5 31 5 29 2 25.3 2c-2.2 0-3.7 1.1-4.7 2.7 2.5 1.9 4 5.2 4 9 0 2.2-.6 4.3-1.7 6.1-.4.6-.2 1.5.5 1.9 2.1 1.1 4.5 2.5 5.9 4.9.2.4.6.5 1.1.5h2.7c1.7-.1 2.9-1.3 2.9-3.2z\"},{\"d\":\"M19.7 24.1c-2.3-1-2.6-1.9-2.6-2.9s.6-2 1.4-2.7c1.3-1.3 2-3.1 2-5.2 0-3.9-2.3-7.3-6.3-7.3H14h-.1c-4 0-6.3 3.4-6.3 7.3 0 2.1.7 3.9 2 5.2.8.7 1.4 1.7 1.4 2.7 0 1-.3 1.9-2.6 2.9-3.3 1.5-6.4 3-6.5 6.1C2 32.4 3.5 34 5.4 34h17.4c1.9 0 3.4-1.6 3.4-3.7-.1-3.2-3.3-4.7-6.5-6.2zM48.5 34H44v-4.5c0-.8-.7-1.5-1.5-1.5h-3c-.8 0-1.5.7-1.5 1.5V34h-4.5c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5H38v4.5c0 .8.7 1.5 1.5 1.5h3c.8 0 1.5-.7 1.5-1.5V40h4.5c.8 0 1.5-.7 1.5-1.5v-3c0-.8-.7-1.5-1.5-1.5z\"}]}},\nlead_convert:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M27.6 28.3c-.6.6-.6 1.5 0 2.1l2.1 2.1c.6.6 1.5.6 2.1 0L45.3 19c.6-.6.6-1.5 0-2.1L31.9 3.4c-.6-.6-1.5-.6-2.1 0l-2.1 2.1c-.6.6-.6 1.5 0 2.1l5.7 5.6c1.6 1.8-1 1.7-1 1.7h-8C14.9 15 6.8 22.8 7 32.3 7.2 41.5 14.7 49 24 49h3.5c.8 0 1.5-.7 1.5-1.5v-3c0-.8-.7-1.5-1.5-1.5h-3.2c-5.7 0-10.7-4.2-11.3-9.9-.6-6.6 4.6-12.1 11-12.1h8.6c.7.2 1 1.1.5 1.7l-5.5 5.6z\"}},\nleave_group:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M30.3 22.1c-2-.9-2.4-1.7-2.4-2.6 0-.9.6-1.7 1.2-2.4 1.2-1.1 1.8-2.7 1.8-4.6C31 9 29 6 25.3 6c-2.2 0-3.7 1.1-4.7 2.7 2.5 1.9 4 5.2 4 9 0 2.2-.6 4.3-1.7 6.1-.4.6-.2 1.5.5 1.9 2.1 1.1 4.5 2.5 5.9 4.9.2.4.6.5 1.1.5h2.7c1.7 0 2.9-1.2 2.9-3.1-.1-2.9-2.8-4.6-5.7-5.9z\"},{\"d\":\"M19.7 28.1c-2.3-1-2.6-1.9-2.6-2.9s.6-2 1.4-2.7c1.3-1.3 2-3.1 2-5.2 0-3.9-2.3-7.3-6.3-7.3h-.4c-4 0-6.3 3.4-6.3 7.3 0 2.1.7 3.9 2 5.2.8.7 1.4 1.7 1.4 2.7 0 1-.3 1.9-2.6 2.9-3.3 1.5-6.4 3-6.5 6.1C2 36.4 3.5 38 5.4 38h17.4c1.9 0 3.4-1.6 3.4-3.7-.1-3.2-3.3-4.7-6.5-6.2z\"}]},\"path\":{\"d\":\"M32 42.5v-3c0-.8.7-1.5 1.5-1.5h15c.8 0 1.5.7 1.5 1.5v3c0 .8-.7 1.5-1.5 1.5h-15c-.8 0-1.5-.7-1.5-1.5z\"}},\nlog_a_call:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M42.9 2H12.7C10 2 7.8 4.4 7.8 6.8v1.6H6.2C4.4 8.4 3 9.8 3 11.6s1.4 3.2 3.2 3.2h1.6v8H6.2C4.4 22.8 3 24.2 3 26s1.4 3.2 3.2 3.2h1.6v8H6.2c-1.8 0-3.2 1.4-3.2 3.2 0 1.8 1.4 3.2 3.2 3.2h1.6v1.6c0 2.4 2.2 4.8 4.9 4.8h30.2c2.7 0 5.1-2.4 5.1-5V6.6C48 3.9 45.6 2 42.9 2zM40 34.2l-2.2 2.2c-.5.5-1.2.8-1.8.7-5.3-.3-10.3-2.7-13.8-6.2s-5.9-8.5-6.2-13.8c0-.7.2-1.4.7-1.8l2.2-2.2c1-1 2.8-1 3.7.2l2.1 2.6c.7.9.7 2.1.1 3L23 21.5c-.2.3-.2.8.1 1l3.7 4.1 4.1 3.7c.3.3.7.3 1 .1l2.5-1.8c.9-.6 2.2-.6 3.1.1l2.6 2.1c.9.6 1 2.4-.1 3.4z\"}},\nlog_event:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M38.7 40.2l-4.8 1.6c-.4.1-.9.2-1.3.2-1.4 0-2.8-.7-3.7-1.8-.9-1.1-1.1-2.7-.8-4.1l1.6-5.7 7.5-7.5c.3-.3.1-.9-.4-.9H5.5c-.8 0-1.5.7-1.5 1.5V42c0 2.2 1.8 4 4 4h28c2.2 0 4-1.8 4-4v-.8c0-.7-.7-1.2-1.3-1zM5.5 18h33c.8 0 1.5-.7 1.5-1.5V14c0-2.2-1.8-4-4-4h-3V9c0-1.6-1.3-3-3-3-1.6 0-3 1.3-3 3v1H17V9c0-1.6-1.3-3-3-3-1.6 0-3 1.3-3 3v1H8c-2.2 0-4 1.8-4 4v2.5c0 .8.7 1.5 1.5 1.5z\"},{\"d\":\"M43.5 23.1c-.2-.2-.5-.2-.7 0l-9.4 9.4-1.4 4.7c-.1.5.3.9.8.8l4.7-1.4 9.4-9.4c.2-.2.2-.5 0-.7l-3.4-3.4zM51.5 20.2l-1.8-1.8c-.6-.6-1.7-.6-2.4 0 0 0-1.1 1.1-1.6 1.7-.2.2-.2.5 0 .7l3.4 3.4c.2.2.5.2.7 0 .6-.6 1.7-1.6 1.7-1.6.7-.6.7-1.7 0-2.4z\"}]}},\nmanage_perm_sets:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M45 2H7C4.2 2 2 4.2 2 7v38c0 2.7 2.2 5 5 5h38c2.7 0 5-2.2 5-5V7c0-2.8-2.2-5-5-5zm-1.6 43H8.6c-.9 0-1.6-.7-1.6-1.6V8.6C7 7.7 7.7 7 8.6 7h34.8c.9 0 1.6.7 1.6 1.6v34.8c0 .9-.7 1.6-1.6 1.6z\"},{\"d\":\"M21.9 11.9h-8.3c-.9 0-1.7.7-1.7 1.7v8.3c0 .9.7 1.7 1.7 1.7h8.3c.9 0 1.7-.7 1.7-1.7v-8.3c-.1-.9-.8-1.7-1.7-1.7zM38.4 11.9h-8.3c-.9 0-1.7.7-1.7 1.7v8.3c0 .9.7 1.7 1.7 1.7h8.3c.9 0 1.7-.7 1.7-1.7v-8.3c0-.9-.8-1.7-1.7-1.7zM21.9 28.5h-8.3c-.9 0-1.7.7-1.7 1.7v8.3c0 .9.7 1.7 1.7 1.7h8.3c.9 0 1.7-.7 1.7-1.7v-8.3c-.1-1-.8-1.7-1.7-1.7zM38.4 28.5h-8.3c-.9 0-1.7.7-1.7 1.7v8.3c0 .9.7 1.7 1.7 1.7h8.3c.9 0 1.7-.7 1.7-1.7v-8.3c0-1-.8-1.7-1.7-1.7z\"}]},\nmap:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M48.8 9.5L34.4 2.3c-.7-.3-1.5-.3-2.1 0L19 9 5.6 2.3c-.8-.4-1.8-.4-2.5.1-.7.4-1.1 1.2-1.1 2v36c0 .9.5 1.7 1.3 2.1l14.4 7.2c.7.3 1.5.3 2.1 0L33.2 43l13.3 6.7c.3.2.7.3 1.1.3.4 0 .9-.1 1.3-.4.7-.4 1.1-1.2 1.1-2v-36c0-.9-.4-1.7-1.2-2.1zM45 14.1v19c0 1.1-1 1.9-2 1.5-3.7-1.4-.7-7.6-3.4-11-2.5-3.1-5.7.1-8.8-4.8-2.9-4.7 1-8.1 4.6-9.9.5-.2 1-.2 1.4 0l7.4 3.7c.6.3.8.9.8 1.5zM24.9 41.9c-.6.3-1.3.2-1.8-.2-1-.9-1.8-2.3-1.8-3.7 0-2.4-4-1.6-4-6.4 0-3.9-4.6-4.9-8.5-4.5-1 .1-1.7-.6-1.7-1.6V10.9c0-1.2 1.2-2 2.2-1.4l8.6 4.3c.1 0 .2.1.2.1l.3.2c3.6 2.1 2.9 3.8 1.4 6.4-1.7 2.9-2.4 0-4.8-.8s-4.8.8-4 2.4 3.2 0 4.8 1.6 1.6 4 6.4 2.4 5.6-.8 7.2.8c1.6 1.6 2.4 4.8 0 7.2-1.4 1.4-2 4.4-2.6 6.4-.1.4-.4.8-.8 1l-1.1.4z\"}},\nmore:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M8 20c3.3 0 6 2.7 6 6s-2.7 6-6 6-6-2.7-6-6 2.7-6 6-6zm18 0c3.3 0 6 2.7 6 6s-2.7 6-6 6-6-2.7-6-6 2.7-6 6-6zm18 0c3.3 0 6 2.7 6 6s-2.7 6-6 6-6-2.7-6-6 2.7-6 6-6z\"}},\nnew:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M30 29h16.5c.8 0 1.5-.7 1.5-1.5v-3c0-.8-.7-1.5-1.5-1.5H30c-.6 0-1-.4-1-1V5.5c0-.8-.7-1.5-1.5-1.5h-3c-.8 0-1.5.7-1.5 1.5V22c0 .6-.4 1-1 1H5.5c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5H22c.6 0 1 .4 1 1v16.5c0 .8.7 1.5 1.5 1.5h3c.8 0 1.5-.7 1.5-1.5V30c0-.6.4-1 1-1z\"}},\nnew_account:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M50 26.9c.1-1.7-1.2-2.2-1.7-2.2h-18c-1.6 0-1.8 1.7-1.8 1.8V46H50V26.9zm-12.4 14c0 .9-.7 1.7-1.7 1.7h-1.7c-.9 0-1.7-.8-1.7-1.7v-1.7c0-.9.7-1.7 1.7-1.7h1.7c.9 0 1.7.8 1.7 1.7v1.7zm0-8.5c0 .9-.7 1.7-1.7 1.7h-1.7c-.9 0-1.7-.8-1.7-1.7v-1.7c0-.9.7-1.7 1.7-1.7h1.7c.9 0 1.7.8 1.7 1.7v1.7zm8.3 8.5c0 .9-.7 1.7-1.7 1.7h-1.7c-.9 0-1.7-.8-1.7-1.7v-1.7c0-.9.7-1.7 1.7-1.7h1.7c.9 0 1.7.8 1.7 1.7v1.7zm0-8.5c0 .9-.7 1.7-1.7 1.7h-1.7c-.9 0-1.7-.8-1.7-1.7v-1.7c0-.9.7-1.7 1.7-1.7h1.7c.9 0 1.7.8 1.7 1.7v1.7z\"},{\"d\":\"M33.4 17.9V8.2c.1-1.7-1.1-2.2-1.6-2.2h-28C2.2 6 2 7.7 2 7.8V46h21.5V21.6s0-2 1.8-2h6.5c1 0 1.6-1 1.6-1.7zM11.1 40.1c0 .9-.7 1.7-1.7 1.7H7.8c-.9 0-1.7-.8-1.7-1.7v-1.7c0-.9.7-1.7 1.7-1.7h1.7c.9 0 1.7.8 1.7 1.7v1.7zm0-8.6c0 .9-.7 1.7-1.7 1.7H7.8c-.9 0-1.7-.8-1.7-1.7v-1.7c0-.9.7-1.7 1.7-1.7h1.7c.9 0 1.7.8 1.7 1.7v1.7zm0-8.5c0 .9-.7 1.7-1.7 1.7H7.8c-.9 0-1.7-.8-1.7-1.7v-1.7c0-.9.7-1.7 1.7-1.7h1.7c.9 0 1.7.8 1.7 1.7V23zm0-8.5c0 .9-.7 1.7-1.7 1.7H7.8c-.9 0-1.7-.8-1.7-1.7v-1.7c0-.9.7-1.7 1.7-1.7h1.7c.9 0 1.7.8 1.7 1.7v1.7zm9.1 25.6c0 .9-.7 1.7-1.7 1.7h-1.7c-.9 0-1.7-.8-1.7-1.7v-1.7c0-.9.7-1.7 1.7-1.7h1.7c.9 0 1.7.8 1.7 1.7v1.7zm0-8.6c0 .9-.7 1.7-1.7 1.7h-1.7c-.9 0-1.7-.8-1.7-1.7v-1.7c0-.9.7-1.7 1.7-1.7h1.7c.9 0 1.7.8 1.7 1.7v1.7zm0-8.5c0 .9-.7 1.7-1.7 1.7h-1.7c-.9 0-1.7-.8-1.7-1.7v-1.7c0-.9.7-1.7 1.7-1.7h1.7c.9 0 1.7.8 1.7 1.7V23zm0-8.5c0 .9-.7 1.7-1.7 1.7h-1.7c-.9 0-1.7-.8-1.7-1.7v-1.7c0-.9.7-1.7 1.7-1.7h1.7c.9 0 1.7.8 1.7 1.7v1.7zm9.1 0c0 .9-.7 1.7-1.7 1.7H26c-.9 0-1.7-.8-1.7-1.7v-1.7c0-.9.7-1.7 1.7-1.7h1.7c.9 0 1.7.8 1.7 1.7v1.7z\"}]}},\nnew_campaign:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M26 2C12.8 2 2 12.8 2 26s10.8 24 24 24 24-10.8 24-24S39.2 2 26 2zm0 42c-9.9 0-18-8.1-18-18S16.1 8 26 8s18 8.1 18 18-8.1 18-18 18z\"},{\"d\":\"M26 12c-7.7 0-14 6.3-14 14s6.3 14 14 14 14-6.3 14-14-6.3-14-14-14zm0 22c-4.4 0-8-3.6-8-8s3.6-8 8-8 8 3.6 8 8-3.6 8-8 8z\"},{\"d\":\"M26 22c-2.2 0-4 1.8-4 4s1.8 4 4 4 4-1.8 4-4-1.8-4-4-4z\"}]}},\nnew_case:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M15 13h4c.6 0 1-.4 1-1v-2h12v2c0 .6.4 1 1 1h4c.6 0 1-.4 1-1V9.5c0-3-2.5-5.5-5.5-5.5H19.4c-3 0-5.4 2.4-5.4 5.4V12c0 .6.4 1 1 1zM46 17H6c-2.2 0-4 1.8-4 4v23c0 2.2 1.8 4 4 4h40c2.2 0 4-1.8 4-4V21c0-2.2-1.8-4-4-4z\"}}},\nnew_child_case:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M15 11h4c.6 0 1-.4 1-1V8h10v2c0 .6.4 1 1 1h4c.6 0 1-.4 1-1V7.5c0-3-2.5-5.5-5.5-5.5H19.4c-3 0-5.4 2.4-5.4 5.4V10c0 .6.4 1 1 1zM32 34h2v-2c0-2.2 1.8-4 4-4h6c1.3 0 2.4.6 3.1 1.5.3.4.9.1.9-.3V19c0-2.2-1.8-4-4-4H6c-2.2 0-4 1.8-4 4v23c0 2.2 1.8 4 4 4h21.8c.4 0 .6-.3.5-.7-.2-.4-.3-.8-.3-1.3v-6c0-2.2 1.8-4 4-4z\"},{\"d\":\"M48.5 38H44v-4.5c0-.8-.7-1.5-1.5-1.5h-3c-.8 0-1.5.7-1.5 1.5V38h-4.5c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5H38v4.5c0 .8.7 1.5 1.5 1.5h3c.8 0 1.5-.7 1.5-1.5V44h4.5c.8 0 1.5-.7 1.5-1.5v-3c0-.8-.7-1.5-1.5-1.5z\"}]}},\nnew_contact:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M46 9H6c-2.7 0-5 2.2-5 5v24c0 2.7 2.3 5 5 5h40c2.8 0 5-2.2 5-5V14c0-2.8-2.2-5-5-5zM24.8 37.2H10.4c-1.6 0-2.8-1.7-2.8-3.4.1-2.5 2.7-4 5.4-5.2 1.9-.8 2.2-1.6 2.2-2.4 0-.8-.5-1.6-1.2-2.2-1.1-1-1.7-2.5-1.7-4.1 0-3.2 1.9-5.8 5.2-5.8s5.2 2.7 5.2 5.8c0 1.7-.6 3.2-1.7 4.1-.7.6-1.2 1.3-1.2 2.2 0 .8.2 1.6 2.2 2.3 2.7 1.2 5.3 2.8 5.4 5.3.3 1.7-1 3.4-2.6 3.4zm19.5-5.8c0 .9-.8 1.7-1.7 1.7h-7.5c-.9 0-1.7-.7-1.7-1.7v-2.5c0-.9.8-1.7 1.7-1.7h7.5c.9 0 1.7.7 1.7 1.7v2.5zm0-9.1c0 .9-.8 1.7-1.7 1.7H30.2c-.9 0-1.7-.7-1.7-1.7v-2.5c0-.9.8-1.7 1.7-1.7h12.5c.9 0 1.7.7 1.7 1.7v2.5z\"}},\nnew_custom1:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M29.4 45.5c-1.9 2-5 2-6.9 0-5.8-6.1-16.8-17.7-16.8-17.8-5-5.1-5-13.6 0-18.8 2.4-2.5 5.6-3.9 9-3.9s6.6 1.3 9 3.9l1 1.2c.6.8 1.9.8 2.6 0l.8-1 .1-.1c2.5-2.6 5.7-4 9-4 3.4 0 6.6 1.3 9 3.9 5 5.1 5 13.6 0 18.8 0 .1-10.9 11.7-16.8 17.8z\"}},\nnew_custom10:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M42 48.3c-7.6 3-19.6 2.2-26.1-4.8C.1 26.6 13.9 2 32.9 2c3.2 0 6.2.6 9.1 1.8 1.2.5 1.3 2.1.3 2.8C36.2 10.9 32.1 18 32.1 26c0 8.1 4 15.2 10.1 19.5 1.1.7.9 2.3-.2 2.8z\"}},\nnew_custom100:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M35.5 41.5h-19c-.6 0-.9.5-.8 1.1.8 3.1 5.1 5.5 10.2 5.5 5.2 0 9.5-2.4 10.2-5.5.3-.6-.1-1.1-.6-1.1zM45.2 4H6.8C4.2 4 2 6.2 2 8.9v22.8c0 2.7 2.2 4.9 4.8 4.9h38.4c2.6 0 4.8-2.2 4.8-4.9V8.9C50 6.2 47.8 4 45.2 4zm0 26.1c0 .9-.7 1.6-1.6 1.6H8.4c-.9 0-1.6-.7-1.6-1.6V10.5c0-.9.7-1.6 1.6-1.6h35.2c.9 0 1.6.7 1.6 1.6v19.6z\"}}},\nnew_custom11:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M27.8 3.1l6.4 13.5 14.2 2.2c1.6.2 2.2 2.3 1 3.4L39.1 32.8l2.4 14.8c.2 1.7-1.4 3-2.8 2.2l-12.7-7-12.7 7c-1.4.8-3.1-.5-2.8-2.2l2.4-14.8L2.6 22.2c-1.1-1.2-.5-3.2 1-3.4l14.2-2.2 6.4-13.5c.8-1.5 2.9-1.5 3.6 0z\"}},\nnew_custom12:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"circle\":{\"cx\":\"26\",\"cy\":\"26\",\"r\":\"24\"}},\nnew_custom13:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M45.2 4H6.8C4.2 4 2 6.1 2 8.7v4.7c0 .9.7 1.6 1.6 1.6h44.8c.9 0 1.6-.7 1.6-1.6V8.7C50 6.1 47.8 4 45.2 4zM45.2 19.7H6.8c-.9 0-1.6.7-1.6 1.6v22c0 2.6 2.2 4.7 4.8 4.7h32c2.6 0 4.8-2.1 4.8-4.7v-22c0-.9-.7-1.6-1.6-1.6zm-10.4 7.1c0 1.3-1 2.4-2.4 2.4H19.6c-1.3 0-2.4-1-2.4-2.4 0-1.3 1-2.4 2.4-2.4h12.8c1.4 0 2.4 1 2.4 2.4z\"}}},\nnew_custom14:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M48.4 11.7h-4.8c-1 0-2.1-.5-2.9-1.2l-3.8-3.3C36.1 6.5 35 6 34 6h-9.4c-1.2 0-2.3.5-3.2 1.4l-5 4.1c-.4.3-.4 1-.1 1.4l1.5 1.5c1 .8 2.4 1 3.4.2l4.4-2.7c.6-.4 1.4-.2 1.8.2l13.8 13.6c.3.3.6.8.6 1.3v3.6c0 1 .7 2 1.6 2h4.8c.9 0 1.6-.7 1.6-1.7V13.3c.2-1-.5-1.6-1.4-1.6z\"},{\"d\":\"M34.8 26.2l-8.6-8.5-2.4 1.5c-1.2.7-2.6 1.1-3.9 1.1-1.7 0-3.4-.6-4.8-1.8L11.9 16c-.7-.6-1.1-1.2-1.2-2.1-.2-.9-.8-1.4-1.6-1.4H3.6c-.9 0-1.6.5-1.6 1.4v14.7c0 1 .7 1.6 1.6 1.6h3.2c.2 0 .6-.9.9-1.3 1.2-1.6 3-2.5 4.9-2.8 1.9-.2 3.8.5 5.3 1.9l10 9.2c.9.8 1.5 1.7 1.9 2.8.2.6.9.7 1.3.3l3.8-3.8c1.9-1.9 3.4-6.5 1.6-8.6l-1.7-1.7z\"},{\"d\":\"M14.7 32.2c-1-1-2.6-.8-3.4.3-.9 1.1-.7 2.8.3 3.7l10 9.1c.5.5 1.1.6 1.8.6.6-.1 1.2-.4 1.6-1 .9-1.1.7-2.8-.3-3.7l-10-9z\"}]}},\nnew_custom15:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M42 22.9c-2.8-1.2-3.2-2.2-3.2-3.4 0-1.2.8-2.2 1.8-3.1 1.7-1.5 2.6-3.6 2.6-6 0-4.5-2.8-8.4-7.9-8.4-4.3 0-7 2.9-7.7 6.6-.1.3.1.6.3.8 3.6 2.6 5.8 6.9 5.8 12.1 0 3.6-1.2 6.9-3.4 9.4-.3.4-.2 1 .3 1.3 1.4.6 3 1.4 4.6 2.2.5.3 1 .5 1.6.5H46c2.2 0 4-1.8 4-3.9v-.6c0-3.8-3.9-5.8-8-7.5z\"},{\"d\":\"M27.7 36.1c-3.4-1.4-3.8-2.6-3.8-4s1-2.6 2.1-3.7c1.9-1.8 3-4.2 3-7 0-5.3-3.4-9.8-9.3-9.8s-9.3 4.6-9.3 9.8c0 2.9 1 5.3 3 7 1.1 1 2.1 2.3 2.1 3.7 0 1.4-.5 2.6-3.8 4-4.9 2-9.5 4.3-9.6 8.6v.7C2 47.9 4.2 50 6.9 50h25.6c2.6 0 4.8-2.1 4.8-4.6v-.7c-.1-4.3-4.7-6.6-9.6-8.6z\"}]}},\nnew_custom16:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M43.3 42h-.8V24.4c0-.9-.7-1.6-1.6-1.6h-1.6c-.9 0-1.6.7-1.6 1.6V42H33V24.4c0-.9-.7-1.6-1.6-1.6h-1.6c-.9 0-1.6.7-1.6 1.6V42h-4.7V24.4c0-.9-.7-1.6-1.6-1.6h-1.6c-.9 0-1.6.7-1.6 1.6V42H14V24.4c0-.9-.7-1.6-1.6-1.6h-1.6c-.9 0-1.6.7-1.6 1.6V42h-.5C6.1 42 4 44.2 4 46.8v1.6c0 .9.7 1.6 1.6 1.6h40.9c.9 0 1.6-.7 1.6-1.6v-1.6c-.1-2.6-2.2-4.8-4.8-4.8zM47.2 13.5L27.8 2.6c-.5-.4-1.2-.6-1.8-.6-.6 0-1.3.2-1.8.6L4.8 13.5c-.5.3-.8.8-.8 1.4v1.5c0 .9.7 1.6 1.6 1.6h40.9c.9 0 1.6-.7 1.6-1.6V15c-.1-.6-.4-1.2-.9-1.5zM26 14.8c-2.2 0-3.9-1.8-3.9-4s1.7-4 3.9-4 3.9 1.8 3.9 4-1.7 4-3.9 4z\"}}},\nnew_custom17:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M20.5 9.1c.2.6.8.9 1.4.9H30c.6 0 1.2-.3 1.4-.9l3.2-5.9c.2-.6-.2-1.1-.7-1.1H18.2c-.6 0-1 .6-.7 1.1l3 5.9zM30.7 14.8h-9.4C13.4 14.8 7 21.3 7 29.2v16c0 2.6 2.1 4.8 4.8 4.8h28.4c2.6 0 4.8-2.2 4.8-4.8v-16c0-7.9-6.5-14.4-14.3-14.4zm-2.3 26.9v2.7c0 .5-.5.8-1 .8h-3.2c-.5 0-.6-.3-.6-.8v-2.6c-2.4-.5-4.4-1.5-4.9-2-.6-.6-.8-1.1-.3-1.8l1-1.6c.2-.4.7-.6 1.2-.6.3 0 .6.1.8.2h.1c1.6 1 3 1.4 4 1.4 1.1 0 2-.6 2-1.2 0-.5-.3-1.3-3.3-2.3-2.7-1-6-2.6-6-6.3 0-2.2 1.4-4.7 5.4-5.5v-2.4c0-.5.2-.8.6-.8h3.2c.5 0 1 .3 1 .8V22c1.6.4 3.3 1.2 3.9 1.6.3.2.5.6.6 1 .1.4-.1.8-.3 1L31.4 27c-.3.4-.9.7-1.3.7-.2 0-.5-.1-.7-.2-1.6-.9-2.9-1.4-3.8-1.4-1.3 0-1.9.6-1.9 1 0 .6.3 1.2 3 2.2 3.3 1.1 7 2.9 7 6.7-.1 2.7-2.2 5-5.3 5.7z\"}}},\nnew_custom18:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M31.4 15.3h8.2c.6 0 1.1-.5 1.1-1.1 0-.3-.1-.5-.3-.8L30.2 3.3c-.3-.2-.5-.3-.8-.3-.6 0-1.1.5-1.1 1.1v8.1c0 1.7 1.4 3.1 3.1 3.1zM49.5 25.7l-.9-.9c-.6-.6-1.5-.6-2.2 0L34.5 36.7c-.1.1 0 .2 0 .3v2.5c0 .2 0 .4.2.4h2.6c.1 0 .2-.1.3-.1L49.5 28c.7-.8.7-1.7 0-2.3z\"},{\"d\":\"M39.9 44.4H32.8c-1.6 0-2.9-1.3-2.9-2.9v-5.4c0-.8.2-1.6.9-2.1l9.5-9.5c.3-.3.5-.7.5-1.1v-2c0-.8-.7-1.5-1.5-1.5h-11c-2.6 0-4.6-2.1-4.6-4.6V4.5c0-.8-.7-1.5-1.6-1.5H6.6C4.1 3 2 5.1 2 7.6v36.8C2 46.9 4.1 49 6.6 49H36c2.2 0 4.2-1.6 4.6-3.7.1-.4-.3-.9-.7-.9zM8.2 16.8c0-.8.7-1.5 1.5-1.5h6.2c.9 0 1.5.7 1.5 1.5v1.5c0 .8-.7 1.5-1.5 1.5H9.7c-.9 0-1.5-.7-1.5-1.5v-1.5zm15.5 19.9c0 .8-.7 1.5-1.5 1.5H9.7c-.9 0-1.5-.7-1.5-1.5v-1.5c0-.8.7-1.5 1.5-1.5h12.4c.9 0 1.5.7 1.5 1.5v1.5zm3.1-9.2c0 .8-.7 1.5-1.5 1.5H9.7c-.9 0-1.5-.7-1.5-1.5V26c0-.8.7-1.5 1.5-1.5h15.5c.9 0 1.5.7 1.5 1.5v1.5z\"}]}},\nnew_custom19:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M49.4 12.2c-.2-.6-.9-.7-1.4-.3L39.9 20c-.6.6-1.6.6-2.2 0L32 14.3c-.6-.6-.6-1.6 0-2.2L40.2 4c.4-.4.2-1.1-.3-1.4-1.4-.4-2.9-.6-4.3-.6-8.5 0-15.3 7.3-14.3 16 .2 1.4.5 2.6 1 3.8L3.6 40.4c-2.2 2.2-2.2 5.8 0 7.9 1.1 1.1 2.6 1.7 4 1.7s2.9-.6 4-1.7l18.6-18.6c1.2.5 2.5.8 3.8 1 8.7 1 16-5.8 16-14.3 0-1.5-.2-2.9-.6-4.2z\"}},\nnew_custom2:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M33.3 3.5C30.9 1.9 22.2.4 18.9 5.9c-1.6 2.6.3 7.3 1.8 10.3.4.7 1.2 1.1 2 .8 1-.4 2.2-.6 3.5-.6.8 0 1.6.1 2.4.3.7.2 1.4-.2 1.8-.8.6-1 1.5-2.2 3.1-3.5 3.8-3.3 2.2-7.3-.2-8.9zM29.1 35.1c-1 .3-2 .5-3.1.5-1 0-1.9-.2-2.8-.4-.7-.2-1.5.2-1.8.8-.6 1-1.5 2.3-3.1 3.6-4 3.2-2.4 7.3 0 8.9s11.2 3.1 14.4-2.4c1.5-2.6-.2-7.2-1.7-10.2-.4-.7-1.2-1-1.9-.8zM46.1 18.7c-2.6-1.6-7.3.3-10.3 1.8-.7.4-1.1 1.2-.8 2 .4 1 .6 2.2.6 3.5 0 .8-.1 1.6-.3 2.4-.2.7.2 1.4.8 1.8 1 .6 2.2 1.5 3.5 3.1 3.2 4 7.2 2.4 8.8 0s3.2-11.3-2.3-14.6zM16.9 29c-.3-1-.5-2-.5-3.1 0-1 .2-1.9.4-2.8.2-.7-.2-1.5-.8-1.8-1-.6-2.3-1.5-3.6-3.1-3.2-4-7.3-2.4-8.9 0S.4 29.3 5.9 32.6c2.6 1.5 7.2-.2 10.2-1.7.7-.4 1-1.2.8-1.9z\"},\"circle\":{\"cx\":\"26\",\"cy\":\"26\",\"r\":\"4.8\"}}},\nnew_custom20:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M16.4 24.2c0-.6-.8-1-1.3-.6L3.9 32.1C2.7 33 2 34.5 2 36v3.3c0 .6.6 1 1 .7l12.3-4.6c.6-.2 1-.8 1-1.5.1-.1.1-9.7.1-9.7zM34.1 46.5l-3.3-2.2V8.1c0-2.2-2.3-4.6-3.8-5.8-.6-.5-1.4-.5-2 0-1.4 1.2-3.8 3.6-3.8 5.8V44.4l-3.7 2.4c-.6.5-1.1 1.2-1.1 2v.5c0 .4.3.7.7.7h17.7c.4 0 .9-.3.9-.7-.1-1.2-.7-2.1-1.6-2.8zM48.1 32.1l-11.2-8.6c-.6-.4-1.3 0-1.3.6v9.8c0 .6.4 1.3 1 1.5L49 40.1c.6.2 1-.2 1-.7v-3.3c0-1.6-.7-3.1-1.9-4z\"}}},\nnew_custom21:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M32.1 42.9c-.2-.6-.8-.9-1.4-.9h-9.3c-.6 0-1.2.3-1.4.9l-2.2 5.9c-.2.6.2 1.1.7 1.1h15c.6 0 1-.6.7-1.1l-2.1-5.9zM45.2 2H6.8C4.2 2 2 4.1 2 6.8v25.6c0 2.6 2.2 4.8 4.8 4.8h38.4c2.6 0 4.8-2.2 4.8-4.8V6.8C50 4.1 47.8 2 45.2 2zM26 35.6c-1.4 0-2.4-1-2.4-2.4s1-2.4 2.4-2.4 2.4 1 2.4 2.4-1 2.4-2.4 2.4zm19.2-8c0 .9-.7 1.6-1.6 1.6H8.4c-.9 0-1.6-.7-1.6-1.6V8.4c0-.9.7-1.6 1.6-1.6h35.2c.9 0 1.6.7 1.6 1.6v19.2z\"}}},\nnew_custom22:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M48.1 37.1l-5-4c-1.7-1.4-4.1-1.4-5.8-.2l-4.7 3.4c-.6.5-1.5.4-2.1-.2l-7.8-7-7.1-7.8c-.6-.6-.6-1.4-.2-2.1l3.4-4.7c1.3-1.8 1.2-4.2-.2-5.8l-4-5C13 1.5 9.7 1.3 7.7 3.3L3.4 7.7C2.4 8.7 2 10 2 11.3 2.6 21.5 7.2 31.2 14 38s16.4 11.4 26.6 12c1.4.1 2.6-.5 3.6-1.4l4.3-4.3c2.1-2.1 1.9-5.4-.4-7.2z\"}},\nnew_custom23:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M25 30.6c.6.6 1.5.6 2.2 0L49.8 10c.4-.8.3-2-1.3-2H3.7c-1.2 0-2.2 1.2-1.3 2.1L25 30.6z\"},{\"d\":\"M50 18.8c0-1-1.3-1.6-2-.9L30.4 34c-1.2 1.1-2.7 1.7-4.3 1.7-1.6 0-3.1-.6-4.3-1.7L4.1 18c-.8-.7-2-.2-2 .9v20.4c0 2.6 2.2 4.7 4.8 4.7h38.4c2.6 0 4.8-2.1 4.8-4.7-.1 0-.1-14.2-.1-20.5z\"}]}},\nnew_custom24:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M40.3 2H11.7C9.1 2 7 4.2 7 6.7v.1c0 .9.7 1.6 1.6 1.6h34.8c.9 0 1.6-.7 1.6-1.6v-.1C45 4.2 42.9 2 40.3 2zM40.2 13.2H11.8c-.9 0-1.6.7-1.6 1.6v33.6c0 .9.7 1.6 1.6 1.6h8.8c.9 0 1.5-.7 1.5-1.6V42c0-.9.8-1.6 1.7-1.6h4.6c.9 0 1.7.7 1.7 1.6v6.4c0 .9.6 1.6 1.5 1.6h8.8c.9 0 1.6-.7 1.6-1.6V14.8c-.2-.9-.9-1.6-1.8-1.6zM23.6 34.8c0 .9-.7 1.6-1.6 1.6h-3.2c-.9 0-1.6-.7-1.6-1.6v-3.2c0-.9.7-1.6 1.6-1.6H22c.9 0 1.6.7 1.6 1.6v3.2zm0-11.2c0 .9-.7 1.6-1.6 1.6h-3.2c-.9 0-1.6-.7-1.6-1.6v-3.2c0-.9.7-1.6 1.6-1.6H22c.9 0 1.6.7 1.6 1.6v3.2zm11.1 11.2c0 .9-.7 1.6-1.6 1.6H30c-.9 0-1.6-.7-1.6-1.6v-3.2c0-.9.7-1.6 1.6-1.6h3.2c.9 0 1.6.7 1.6 1.6v3.2zm0-11.2c0 .9-.7 1.6-1.6 1.6H30c-.9 0-1.6-.7-1.6-1.6v-3.2c0-.9.7-1.6 1.6-1.6h3.2c.9 0 1.6.7 1.6 1.6v3.2z\"}}},\nnew_custom25:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M49.8 7.8c-.6-3-3-5.4-6.1-5.8-2.2-.3-4.2.4-5.7 1.6-.5.4-.4 1 .2 1.4 3.7 1.9 6.8 4.7 9.2 8.1.3.5 1 .5 1.4 0 1-1.5 1.4-3.3 1-5.3zM13.7 5c.5-.2.6-1 .2-1.4-1.5-1.3-3.5-1.9-5.7-1.6-3 .4-5.5 2.8-6.1 5.8-.3 1.9.1 3.8 1 5.2.3.5 1 .5 1.4 0 2.4-3.2 5.5-6 9.2-8zM26 6.8c-11.9 0-21.6 9.7-21.6 21.6 0 4.8 1.6 9.3 4.2 12.8l-3.3 3.3c-1.3 1.3-1.3 3.3 0 4.6.6.6 1.4 1 2.2 1s1.6-.3 2.2-1l3.3-3.3c3.7 2.6 8.2 4.2 13 4.2s9.3-1.6 12.8-4.2l3.3 3.3c.7.6 1.5 1 2.3 1s1.6-.3 2.2-1c1.3-1.3 1.3-3.3 0-4.6l-3.3-3.3c2.6-3.5 4.2-8 4.2-12.8.1-11.9-9.6-21.6-21.5-21.6zM10.8 28.4c0-8.4 6.8-15.2 15.2-15.2S41.2 20 41.2 28.4 34.4 43.6 26 43.6s-15.2-6.8-15.2-15.2z\"},{\"d\":\"M28.4 27.4v-6.2c0-1.4-1-2.4-2.4-2.4s-2.4 1-2.4 2.4v7.2c0 .6.2 1.3.7 1.7l5.6 5.6c.5.5 1.1.7 1.7.7s1.2-.2 1.7-.7c1-1 1-2.5 0-3.4l-4.9-4.9z\"}]}},\nnew_custom26:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M6.8 2C4.2 2 2 4.2 2 6.8c0 1.4.6 2.7 1.6 3.6v36.4C3.6 48.6 5 50 6.8 50c1.8 0 3.2-1.4 3.2-3.2V10.4c1-.9 1.6-2.2 1.6-3.6C11.6 4.2 9.4 2 6.8 2zM48.8 10.6c-12.6 6.6-21.1-4.7-33-.4-.6.2-1 .8-1 1.5v20.6c0 1 1 1.8 2.1 1.5 11.4-3.4 19.9 7.3 32.3.5.5-.2.8-.8.8-1.4V11.4c0-.7-.6-1.1-1.2-.8z\"}}},\nnew_custom27:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M6.5 35.6h39c.8 0 1.5-.7 1.5-1.5V10.4C47 8 45 6 42.5 6h-33C7 6 5 8 5 10.4v23.7c0 .9.7 1.5 1.5 1.5zm3-23.7c0-.8.7-1.5 1.5-1.5h30c.8 0 1.5.7 1.5 1.5v17.8c0 .8-.7 1.5-1.5 1.5H11c-.8 0-1.5-.7-1.5-1.5V11.9zM48.5 40.1H32c-.8 0-1.5.7-1.5 1.5s-.7 1.5-1.5 1.5h-6c-.8 0-1.5-.7-1.5-1.5s-.7-1.5-1.5-1.5H3.5c-.8 0-1.5.7-1.5 1.5C2 44 4 46 6.5 46h39c2.5 0 4.5-2 4.5-4.4 0-.9-.7-1.5-1.5-1.5z\"}}},\nnew_custom28:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M37.2 2H14.8C12.2 2 10 4.2 10 6.8v38.4c0 2.6 2.2 4.8 4.8 4.8h22.4c2.6 0 4.8-2.2 4.8-4.8V6.8C42 4.2 39.8 2 37.2 2zM26 48.4c-1.4 0-2.4-1-2.4-2.4s1-2.4 2.4-2.4 2.4 1 2.4 2.4-1 2.4-2.4 2.4zm11.2-8c0 .9-.7 1.6-1.6 1.6H16.4c-.9 0-1.6-.7-1.6-1.6V10c0-.9.7-1.6 1.6-1.6h19.2c.9 0 1.6.7 1.6 1.6v30.4z\"}},\nnew_custom29:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M45.3 8.4h-1.5c-1 0-1.7.8-1.7 1.8V42c0 .1 0 .2.1.3l2 2.8c.2.2.4.2.6 0l2-2.8c.2-.1.2-.1.2-.3V10.2c0-1-.7-1.8-1.7-1.8zM32.5 2H9.8C7.2 2 5 4.2 5 6.8v38.4C5 47.8 7.2 50 9.8 50h22.6c2.7 0 4.8-2.2 4.8-4.8V6.8c.1-2.6-2.1-4.8-4.7-4.8zM21.2 48.4c-1.4 0-2.4-1-2.4-2.4s1-2.4 2.4-2.4 2.4 1 2.4 2.4-1.1 2.4-2.4 2.4zm11.3-8c0 .9-.7 1.6-1.6 1.6H11.5c-.9 0-1.6-.7-1.6-1.6V10c0-.9.7-1.6 1.6-1.6h19.4c.9 0 1.6.7 1.6 1.6v30.4z\"}}},\nnew_custom3:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M26 16.4c-5.3 0-9.6 4.3-9.6 9.6s4.3 9.6 9.6 9.6 9.6-4.3 9.6-9.6-4.3-9.6-9.6-9.6z\"},{\"d\":\"M50 26c0-2.8-6.7-4.2-7.8-6.7-1-2.6 2.7-8.3.8-10.3s-7.7 1.8-10.2.7c-2.6-1-4-7.7-6.8-7.7s-4.2 6.7-6.7 7.8C16.7 10.8 11 7.1 9 9s1.8 7.7.7 10.2c-1 2.6-7.7 4-7.7 6.8s6.7 4.2 7.8 6.7c1 2.6-2.7 8.3-.8 10.3 1.9 1.9 7.7-1.8 10.2-.7 2.5 1 3.9 7.8 6.7 7.8s4.2-6.7 6.7-7.8c2.6-1 8.3 2.6 10.2.7 1.9-1.9-1.8-7.7-.7-10.2 1.2-2.6 7.9-4 7.9-6.8zM26 40.4c-7.9 0-14.4-6.5-14.4-14.4S18.1 11.6 26 11.6 40.4 18.1 40.4 26 33.9 40.4 26 40.4z\"}]}},\nnew_custom30:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M43.2 8.8C38.8 4.4 32.9 2 26.8 2c-1.4 0-2.4 1-2.4 2.4s1 2.4 2.4 2.4c4.9 0 9.5 1.9 13.1 5.4 3.4 3.5 5.4 8.2 5.4 13.1 0 1.4 1 2.4 2.4 2.4s2.4-1 2.4-2.4c-.1-6.2-2.5-12.1-6.9-16.5z\"},{\"d\":\"M26.8 11.6c-1.4 0-2.4 1-2.4 2.4s1 2.4 2.4 2.4c2.3 0 4.6.9 6.3 2.6 1.7 1.7 2.6 3.8 2.6 6.3 0 1.4 1 2.4 2.4 2.4s2.4-1 2.4-2.4c0-3.6-1.4-7.1-4-9.6-2.7-2.6-6.1-4.1-9.7-4.1zM23.3 34.6l2.1-5.6c1.4.6 3 .2 4.2-.9 1.6-1.6 1.6-4.1 0-5.7-1.6-1.6-4.1-1.6-5.7 0-1.2 1.2-1.4 3-.8 4.5l-5.2 2.3-9.4-9.4c-.6-.6-1.8-.6-2.3.1-6 7.2-5.6 18 1.2 24.7 6.7 6.7 17.5 7.1 24.7 1.2.7-.6.7-1.7.1-2.3l-8.9-8.9z\"}]}},\nnew_custom31:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M46.4 20.7l-3.9-12C41.8 6.5 39.6 5 37.2 5H14.8c-2.4 0-4.6 1.5-5.4 3.7l-3.8 12C3.5 21.3 2 23 2 25.2v9.3c0 2 1.4 3.7 3.2 4.4v6.5c0 .9.7 1.6 1.6 1.6h6.4c.9 0 1.6-.7 1.6-1.6v-6.2h22.4v6.2c0 .9.7 1.6 1.6 1.6h6.4c.9 0 1.6-.7 1.6-1.6V39c1.8-.6 3.2-2.3 3.2-4.4v-9.3c0-2.3-1.5-4-3.6-4.6zM10 33.8c-2.2 0-4-1.7-4-3.9S7.8 26 10 26s4 1.7 4 3.9-1.8 3.9-4 3.9zm17.6-13.2H11.8c-.6 0-1-.5-.8-1l3-9.3c.1-.3.4-.5.7-.5h22.4c.3 0 .6.2.7.5l3 9.4c.2.5-.2 1-.8 1H27.6zm13.6 13.2c-2.2 0-4-1.7-4-3.9s1.8-3.9 4-3.9 4 1.7 4 3.9-1.8 3.9-4 3.9z\"}},\nnew_custom32:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M48.8 14.2L30.1 24.9c-.4.2-.8.3-1.2.3-.9 0-1.8-.5-2.2-1.4-.6-1.1 0-2.6 1.1-3.2l6.2-3.5V11c0-.6-.6-1-1.2-.7L10 23.3c-.4.2-.8.3-1.2.3-.8 0-1.7-.4-2.1-1.2-.6-1.1-.2-2.6.9-3.3l3.9-2.2V3.6c.1-.9-.6-1.6-1.5-1.6H3.6C2.7 2 2 2.7 2 3.6v41.6C2 47.8 4.2 50 6.8 50H20.4c.9 0 1.6-.7 1.6-1.6v-5.6c0-.9.7-1.6 1.6-1.6h4.8c.9 0 1.6.7 1.6 1.6v5.6c0 .9.7 1.6 1.6 1.6h13.6c2.6 0 4.8-2.2 4.8-4.8V15c0-.7-.6-1.1-1.2-.8zM14 36.4c0 .9-.7 1.6-1.6 1.6h-1.6c-.9 0-1.6-.7-1.6-1.6v-4.8c0-.9.7-1.6 1.6-1.6h1.6c.9 0 1.6.7 1.6 1.6v4.8zm9.6 0c0 .9-.7 1.6-1.6 1.6h-1.6c-.9 0-1.6-.7-1.6-1.6v-4.8c0-.9.7-1.6 1.6-1.6H22c.9 0 1.6.7 1.6 1.6v4.8zm9.6 0c0 .9-.7 1.6-1.6 1.6H30c-.9 0-1.6-.7-1.6-1.6v-4.8c0-.9.7-1.6 1.6-1.6h1.6c.9 0 1.6.7 1.6 1.6v4.8zm9.6 0c0 .9-.7 1.6-1.6 1.6h-1.6c-.9 0-1.6-.7-1.6-1.6v-4.8c0-.9.7-1.6 1.6-1.6h1.6c.9 0 1.6.7 1.6 1.6v4.8z\"}},\nnew_custom33:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M37.2 19.3H15.5c-.8 0-1.5.7-1.5 1.5v5.9c0 .8.7 1.5 1.5 1.5h21.8c.8 0 1.5-.7 1.5-1.5v-5.9c0-.8-.7-1.5-1.6-1.5zM26.8 26c-1.3 0-2.2-1-2.2-2.2 0-1.3 1-2.2 2.2-2.2s2.2 1 2.2 2.2c0 1.2-1 2.2-2.2 2.2z\"},{\"d\":\"M48.5 9h-45C2.7 9 2 9.7 2 10.5V12c0 1.6 1.3 3 3 3v26.6c0 .7.7 1.4 1.5 1.4H8c.8 0 1.5-.7 1.5-1.5V14.9h33.8v26.6c0 .8.7 1.5 1.5 1.5h1.5c.8 0 1.5-.7 1.5-1.5V14.9H47c1.6 0 3-1.3 3-3v-1.5c0-.7-.7-1.4-1.5-1.4z\"}]}},\nnew_custom34:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M19.6 10h12.8c.9 0 1.6-.9 1.4-1.8C33 4.7 29.8 2 26 2s-7 2.7-7.8 6.2c-.2.9.5 1.8 1.4 1.8z\"},{\"d\":\"M47.6 30.8c1.4 0 2.5-1.1 2.4-2.6-.1-1.2-1.2-2.2-2.6-2.2h-7v-4c4.6-1.8 7.9-6.8 8-12.7 0-1.2-.8-2.2-2-2.5-1.5-.2-2.8.9-2.8 2.4 0 3.4-1.6 6.4-3.9 7.8-.9-1.4-2.4-2.2-4.1-2.2H16.4c-1.7 0-3.2.9-4.1 2.2-2.3-1.4-3.9-4.3-3.9-7.7 0-1.3-1-2.5-2.2-2.6-1.4-.1-2.6 1-2.6 2.4 0 5.9 3.4 11 8 12.8v4h-7c-1.3 0-2.5 1-2.6 2.2-.1 1.4 1 2.6 2.4 2.6h7.2v4c-4.6 1.8-7.9 6.8-8 12.7 0 1.2.8 2.2 2 2.5 1.5.2 2.8-.9 2.8-2.4 0-3.4 1.5-6.3 3.8-7.8 1.4 4.5 4.9 8 9.3 9.4 1 .3 2.1-.5 2.1-1.5v-19c0-1.3 1-2.5 2.2-2.6 1.4-.1 2.6 1 2.6 2.4v19.3c0 1.1 1 1.8 2.1 1.5 4.4-1.4 7.9-5 9.3-9.4 2.2 1.4 3.8 4.3 3.8 7.6 0 1.3 1 2.5 2.2 2.6 1.4.1 2.6-1 2.6-2.4 0-5.9-3.4-11-8-12.8v-4h7.2z\"}]}},\nnew_custom35:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M41.5 18c-1.4 0-2.5 1-2.5 2.4v4c0 7-5.9 12.8-13.1 12.8s-13.1-5.8-13.1-12.8v-4c0-1.4-1.1-2.4-2.5-2.4S8 19 8 20.4v4c0 8.9 6.8 16.2 15.5 17.4v3.4h-4.1c-1.4 0-2.5 1-2.5 2.4S18 50 19.4 50h13.1c1.4 0 2.5-1 2.5-2.4s-1.1-2.4-2.5-2.4h-4.1v-3.4C37.2 40.6 44 33.3 44 24.4v-4c0-1.4-1.1-2.4-2.5-2.4z\"},{\"d\":\"M26 32.4c4.5 0 8.2-3.6 8.2-8V9.9c0-4.4-3.6-7.9-8.1-7.9h-.2c-4.5 0-8.1 3.5-8.1 7.9v14.5c0 4.4 3.7 8 8.2 8z\"}]}},\nnew_custom36:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M17.2 43.6H14c-.5 0-1.1.3-1.3.8l-1.1 1.9c-.6 1.1-.4 2.6.6 3.3.4.3.9.4 1.3.4.8 0 1.6-.4 2-1.2l2.3-4c.4-.6 0-1.2-.6-1.2zM39.4 44.4c-.3-.5-.8-.8-1.3-.8h-3.2c-.6 0-1 .6-.7 1.2l2.3 4c.5.8 1.3 1.2 2 1.2.5 0 .9-.2 1.3-.4 1-.7 1.3-2.2.6-3.3l-1-1.9zM39.3 2H12.7C10.1 2 8 4.2 8 6.8V34c0 2.6 2.1 4.8 4.7 4.8h26.6c2.6 0 4.7-2.2 4.7-4.8V6.8C44 4.2 41.9 2 39.3 2zM15 35.6c-1.3 0-2.3-1-2.3-2.4s1-2.4 2.3-2.4 2.3 1 2.3 2.4-.9 2.4-2.3 2.4zm22 0c-1.3 0-2.3-1-2.3-2.4s1-2.4 2.3-2.4 2.3 1 2.3 2.4-1 2.4-2.3 2.4zm2.3-9.6c0 .9-.7 1.6-1.6 1.6H14.3c-.9 0-1.6-.7-1.6-1.6V10c0-.9.7-1.6 1.6-1.6h23.5c.9 0 1.6.7 1.6 1.6v16z\"}}},\nnew_custom37:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M48.5 30.5h-9.7v-8.8c2 1.7 4.6 2.8 7.5 2.8 1.3 0 2.2-1 2.2-2.2s-1-2.2-2.2-2.2c-4.1 0-7.5-3.7-7.5-8.2V9.5c.8 0 1.5-.7 1.5-1.5V6.5c0-.8-.7-1.5-1.5-1.5h-4.5c-.8 0-1.5.7-1.5 1.5V8c0 .8.7 1.5 1.5 1.5v2.2c0 4.6-3.7 8.2-8.2 8.2s-8.2-3.7-8.2-8.2V9.5c.8 0 1.5-.7 1.5-1.5V6.5c0-.8-.7-1.5-1.5-1.5h-4.5c-.8 0-1.5.7-1.5 1.5V8c0 .8.7 1.5 1.5 1.5v2.2c0 4.6-3.4 8.2-7.5 8.2-1.3 0-2.2 1-2.2 2.2s1 2.2 2.2 2.2c2.8 0 5.5-1.1 7.5-2.8v8.8H3.5c-.8.2-1.5.9-1.5 1.7v3.6c0 .8.7 1.7 1.5 1.7h3v8.1c0 .8.7 1.6 1.5 1.6h4.5c.8 0 1.5-.8 1.5-1.6v-3c0-2.5 2-4.4 4.5-4.4h15c2.5 0 4.5 1.9 4.5 4.4v3c0 .8.7 1.6 1.5 1.6H44c.8 0 1.5-.8 1.5-1.6v-8.1h3c.8 0 1.5-.8 1.5-1.7V32c0-.8-.7-1.5-1.5-1.5zm-30.7-9.1c2.2 1.9 5.1 3.1 8.2 3.1s6-1.1 8.2-3.1v9.1H17.8v-9.1z\"}},\nnew_custom38:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M26 22c-3.5 0-6.4 2.9-6.4 6.4s2.9 6.4 6.4 6.4 6.4-2.9 6.4-6.4S29.5 22 26 22z\"},{\"d\":\"M45.2 14h-6.5c-.6 0-1.2-.3-1.4-1l-2.1-4.4C34.4 7 32.7 6 30.9 6h-9.8c-1.8 0-3.5 1-4.3 2.6L14.7 13c-.2.6-.8 1-1.4 1H6.8C4.2 14 2 16.2 2 18.8v22.4C2 43.8 4.2 46 6.8 46h38.4c2.6 0 4.8-2.2 4.8-4.8V18.8c0-2.6-2.2-4.8-4.8-4.8zM26 39.8c-6.2 0-11.2-5-11.2-11.2s5-11.2 11.2-11.2 11.2 5 11.2 11.2-5 11.2-11.2 11.2z\"}]}},\nnew_custom39:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M36.9 8.9c-.2-.6-.9-1-1.5-.9L3.1 18.4c-.8.2-1.2 1.1-1 1.9l1.3 5c.2.8 1 1.4 1.8 1.2l8.2-1.1c.2.9.6 1.8 1.2 2.5l-7 18.9c-.5 1.2.1 2.6 1.4 3 .2.1.6.2.8.2 1 0 1.9-.6 2.2-1.6l6.6-17.9c.6.2 1 .2 1.6.2s1.1-.1 1.6-.2l6.6 17.9c.3 1 1.3 1.6 2.2 1.6.2 0 .6-.1.8-.2 1.3-.5 1.9-1.8 1.4-3.1l-7-19c.9-1.2 1.4-2.7 1.4-4.3v-.1l11.3-1.6c.7-.1 1.2-.8 1-1.5L36.9 8.9zM49.9 20.2L45.5 3.8c-.3-1.3-1.7-2.1-3-1.8-1.3.3-2.1 1.7-1.8 3l4.4 16.3c.3 1.3 1.7 2.1 3 1.8 1.3-.3 2.1-1.7 1.8-2.9z\"}}},\nnew_custom4:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M6.6 12.2l16.9-9.5c1.5-.9 3.5-.9 5.1 0l16.9 9.5c1.5.9 2.5 2.6 2.5 4.3v19c0 1.8-.9 3.4-2.5 4.3l-16.9 9.5c-1.5.9-3.5.9-5.1 0L6.6 39.8C5.1 38.9 4 37.3 4 35.5v-19c0-1.8 1.1-3.4 2.6-4.3z\"}},\nnew_custom40:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M45.2 8H6.8C4.2 8 2 10.1 2 12.7v26.6C2 41.9 4.2 44 6.8 44h38.4c2.6 0 4.8-2.1 4.8-4.7V12.7c0-2.6-2.2-4.7-4.8-4.7zm0 4.7v4.7H6.8v-4.7h38.4zM6.8 39.3V25.2h38.4v14.1H6.8z\"},{\"d\":\"M20.5 29.1c-1.1 0-2.1.5-2.6 1.4-.1.2-.3.2-.4 0-.6-.9-1.5-1.4-2.6-1.4-1.8 0-3.2 1.4-3.2 3.1 0 1.7 1.4 3.1 3.2 3.1 1.1 0 2.1-.5 2.6-1.4.1-.2.3-.2.4 0 .6.9 1.5 1.4 2.6 1.4h.1c1.7 0 3.1-1.3 3.1-3.1V32c-.1-1.5-1.5-2.9-3.2-2.9zM38.8 29.9h-9.6c-.9 0-1.6.7-1.6 1.6V33c0 .9.7 1.6 1.6 1.6h9.6c.9 0 1.6-.7 1.6-1.6v-1.6c0-.8-.7-1.5-1.6-1.5z\"}]}},\nnew_custom41:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M45.5 11h-39C4 11 2 13 2 15.4v21.2C2 39 4 41 6.5 41h39c2.5 0 4.5-2 4.5-4.4V15.4c0-2.4-2-4.4-4.5-4.4zM11.8 36.6c0-2.9-2.3-5.1-5.2-5.1v-11c2.9 0 5.2-2.3 5.2-5.1h28.5c0 2.9 2.3 5.1 5.2 5.1v11c-2.9 0-5.2 2.3-5.2 5.1H11.8z\"},\"ellipse\":{\"cx\":\"26\",\"cy\":\"25.6\",\"rx\":\"7.5\",\"ry\":\"7.3\"}},\nnew_custom42:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M45.2 4H6.8C4.2 4 2 6.1 2 8.7v4.7c0 .9.7 1.6 1.6 1.6h44.8c.9 0 1.6-.7 1.6-1.6V8.7C50 6.1 47.8 4 45.2 4zM45.2 19.7H6.8c-.9 0-1.6.7-1.6 1.6v22c0 2.6 2.2 4.7 4.8 4.7h32c2.6 0 4.8-2.1 4.8-4.7v-22c0-.9-.7-1.6-1.6-1.6zm-10.4 7.1c0 1.3-1 2.4-2.4 2.4H19.6c-1.3 0-2.4-1-2.4-2.4 0-1.3 1-2.4 2.4-2.4h12.8c1.4 0 2.4 1 2.4 2.4z\"}}},\nnew_custom43:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M49.8 21.2s.1 0 0 0c.1-.2.1-.3.1-.4v-.1-.5-.3-.1s-.1-.1-.1-.2 0-.1-.1-.1c0-.1-.1-.1-.1-.2s-.1-.1-.1-.1L40.8 6.9c-.4-.5-1-.9-1.7-.9H12.9c-.7 0-1.4.4-1.8.9L2.3 19.1c0 .1-.1.1-.1.1-.1.1-.1.1-.1.2s0 .1-.1.1c0 .1-.1.1-.1.2V20.7c0 .1.1.3.1.4v.1c.1.1.1.2.1.3 0 .1.1.1.1.1l.1.1 21.9 23.6.1.1.1.1.1.1s.1 0 .1.1c.1 0 .1.1.1.1s.1 0 .1.1c0 0 .1 0 .1.1 0 0 .1 0 .1.1H26.6s.1 0 .1-.1c0 0 .1 0 .1-.1 0 0 .1 0 .1-.1 0 0 .1 0 .1-.1.1 0 .1-.1.1-.1s.1 0 .1-.1l.1-.1.1-.1.1-.1 21.9-23.6.1-.1c0-.1.1-.1.1-.1.1 0 .2-.1.2-.2zm-23.8-3h-3.5l3.5-5.8 3.5 5.8H26zm0 4.3h4.4L26 36.6l-4.4-14.1H26zm3.8-12.2h5.5l-2 5.7-3.5-5.7zm-11 5.7l-2-5.7h5.5L18.8 16zm-1.7 6.5l4 13-12-13h8zm17.8 0h8l-12 13 4-13zm8.7-4.3H37l2.2-6.1 4.4 6.1zm-30.9-6.1l2.2 6.1H8.4l4.3-6.1z\"}},\nnew_custom44:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M40.7 9.1C36.6 3.8 33.2 2 26 2c-3.2 0-7.1 1.3-8.7 1.6 0-.9-.7-1.6-1.6-1.6h-3.2c-.9 0-1.6.7-1.6 1.6V10c0 .9.7 1.6 1.6 1.6h3.1c.9 0 1.6-.7 1.6-1.6H19c1.3 0 2.3 1 2.3 2.3v.1c0 1.4 1 2.4 2.4 2.4v12.8c-1.7 0-3.1 1.4-3.1 3.2v14.4c0 2.6 2.1 4.8 4.7 4.8h1.6c2.6 0 4.7-2.2 4.7-4.8V30.8c0-1.8-1.4-3.2-3.1-3.2V14.8c1.3 0 2.4-1.8 2.4-3.1v-.1c0-1.2.9-2.2 2.1-2.2 3.1-.2 4.9 1.1 5.7 1.8.5.4 1.3.5 1.7.1.7-.5.9-1.5.3-2.2z\"}},\nnew_custom45:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M13.2 20.8h25.5v10.5H13.2z\"},{\"d\":\"M50 19.5v-4c0-2.5-2-4.5-4.5-4.5h-39C4 11 2 13 2 15.5v4c0 .5.3 1.1.8 1.3 1.8 1.1 3 3 3 5.2s-1.2 4.1-3 5.2c-.5.2-.8.7-.8 1.2v4.1C2 39 4 41 6.5 41h39c2.5 0 4.5-2 4.5-4.5v-4c0-.5-.3-1.1-.8-1.3-1.8-1.1-3-3-3-5.2s1.2-4.1 3-5.2c.5-.3.8-.7.8-1.3zm-8.2 16.3H10.2c-.8 0-1.5-.7-1.5-1.5V17.8c0-.8.7-1.5 1.5-1.5h31.5c.8 0 1.5.7 1.5 1.5v16.5c0 .8-.6 1.5-1.4 1.5z\"}]}},\nnew_custom46:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M34.8 15.6H17.2c-.9 0-1.6.7-1.6 1.6v17.6c0 .9.7 1.6 1.6 1.6h17.6c.9 0 1.6-.7 1.6-1.6V17.2c0-.9-.7-1.6-1.6-1.6z\"},{\"d\":\"M48.8 7.8c.7-.3 1.2-.8 1.2-1.6V3.6c0-.9-.7-1.6-1.6-1.6h-2.6c-.7 0-1.3.5-1.5 1.2-.5 1.6-2 2.8-3.8 2.8s-3.3-1.2-3.8-2.8C36.3 2.5 35.8 2 35 2h-3.7c-.7 0-1.3.5-1.5 1.2-.4 1.6-2 2.8-3.8 2.8-1.8 0-3.3-1.2-3.8-2.8-.3-.7-.8-1.2-1.6-1.2H17c-.7 0-1.3.5-1.5 1.2C15 4.8 13.4 6 11.6 6 9.8 6 8.3 4.8 7.8 3.2 7.5 2.5 7 2 6.2 2H3.6C2.7 2 2 2.7 2 3.6v2.6c0 .8.5 1.3 1.2 1.6 1.6.4 2.8 2 2.8 3.8s-1.2 3.3-2.8 3.8c-.7.3-1.2.8-1.2 1.6v3.7c0 .7.5 1.3 1.2 1.5 1.6.4 2.8 2 2.8 3.8s-1.2 3.3-2.8 3.8c-.7.3-1.2.8-1.2 1.6V35c0 .7.5 1.3 1.2 1.5C4.8 37 6 38.6 6 40.4c0 1.8-1.2 3.3-2.8 3.8-.7.3-1.2.8-1.2 1.6v2.6c0 .9.7 1.6 1.6 1.6h2.6c.7 0 1.3-.5 1.5-1.2.5-1.6 2-2.8 3.8-2.8 1.8 0 3.3 1.2 3.8 2.8.2.7.8 1.2 1.5 1.2h3.7c.7 0 1.3-.5 1.5-1.2.5-1.6 2-2.8 3.8-2.8s3.3 1.2 3.8 2.8c.2.7.8 1.2 1.5 1.2H35c.7 0 1.3-.5 1.5-1.2.5-1.6 2-2.8 3.8-2.8 1.8 0 3.3 1.2 3.8 2.8.2.7.8 1.2 1.5 1.2h2.6c.9 0 1.6-.7 1.6-1.6v-2.6c0-.7-.5-1.3-1.2-1.5-1.6-.5-2.8-2-2.8-3.8s1.2-3.3 2.8-3.8c.7-.2 1.2-.8 1.2-1.5v-3.7c0-.7-.5-1.3-1.2-1.5-1.6-.5-2.8-2-2.8-3.8 0-1.8 1.2-3.3 2.8-3.8.7-.2 1.2-.8 1.2-1.5V17c0-.7-.5-1.3-1.2-1.5-1.6-.5-2.8-2-2.8-3.8s1.4-3.4 3-3.9zm-7.6 28.6c0 2.6-2.2 4.8-4.8 4.8H15.6c-2.6 0-4.8-2.2-4.8-4.8V15.6c0-2.6 2.2-4.8 4.8-4.8h20.8c2.6 0 4.8 2.2 4.8 4.8v20.8z\"}]}},\nnew_custom47:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M36.6 43.6H8.9c-2.7 0-4.9 2.2-4.9 4.8v.1c0 .8.7 1.5 1.5 1.5h34.4c.8 0 1.5-.7 1.5-1.5v-.1c.1-2.6-2.1-4.8-4.8-4.8zM47.5 18.3l-13-11.8 2.1-3.1c.3-.5.1-1.1-.5-1.2-4-.8-6.4 1.9-6.4 1.9-25.1 0-21 27.1-19.8 33.4.2.7.8 1.3 1.6 1.3h22.1c.7 0 1.1-.8.7-1.3-4.5-5.4-6.8-11.4-8.3-15.2-.2-.6.4-1.4 1.1-1 5.9 3 8.4-.2 12.4 2.2 2 1.2 4.4.9 6-.7l2.2-2.2c.4-.6.4-1.6-.2-2.3zm-16.6-2.7c-1.4 0-2.4-1-2.4-2.4s1.1-2.4 2.4-2.4 2.4 1 2.4 2.4-1 2.4-2.4 2.4z\"}}},\nnew_custom48:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M48.4 5.2h-8V3.6c0-.9-.7-1.6-1.6-1.6H13.2c-.9 0-1.6.7-1.6 1.6v1.6h-8c-.9 0-1.6.7-1.6 1.6v10.4c0 4 3.2 7.2 7.2 7.2h3.7c2.2 5.1 7.1 8.7 13 8.8 6.1.1 11.2-3.6 13.4-8.8h3.5c4 0 7.2-3.2 7.2-7.2V6.8c0-.9-.7-1.6-1.6-1.6zM9.2 19.6c-1.4 0-2.4-1-2.4-2.4V10h4.8v8.5c0 .4 0 .7.1 1.1H9.2zm36-2.4c0 1.4-1 2.4-2.4 2.4h-2.5c0-.3.1-.7.1-1V10h4.8v7.2zM34 45.2h-.8c-2.6 0-4.8-2.2-4.8-4.8v-1.6c0-.5-.3-.8-.8-.8h-3.2c-.5 0-.8.3-.8.8v1.6c0 2.6-2.2 4.8-4.8 4.8H18c-.9 0-1.6.7-1.6 1.6v1.6c0 .9.7 1.6 1.6 1.6h16c.9 0 1.6-.7 1.6-1.6v-1.6c0-.9-.7-1.6-1.6-1.6z\"}}},\nnew_custom49:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M26 18.8c-4 0-7.2 3.2-7.2 7.2s3.2 7.2 7.2 7.2 7.2-3.2 7.2-7.2-3.2-7.2-7.2-7.2zM26 30c-2.2 0-4-1.8-4-4s1.8-4 4-4 4 1.8 4 4-1.8 4-4 4z\"},{\"d\":\"M26 2C12.7 2 2 12.7 2 26s10.7 24 24 24 24-10.7 24-24S39.3 2 26 2zm0 42.3c0 1-.8 1.7-1.8 1.6-9.6-.8-17.3-8.5-18.2-18.2 0-.9.7-1.7 1.7-1.7h1.6c.8 0 1.5.6 1.6 1.4.7 7.2 6.5 13 13.7 13.7.8.1 1.4.8 1.4 1.6v1.6zm0-6.3c-6.6 0-12-5.4-12-12s5.4-12 12-12 12 5.4 12 12-5.4 12-12 12zm18.3-12h-1.6c-.8 0-1.5-.6-1.6-1.4-.7-7.2-6.5-13-13.7-13.7-.8-.1-1.4-.8-1.4-1.6V7.7c0-1 .8-1.7 1.8-1.6 9.7.8 17.4 8.6 18.2 18.2 0 .9-.7 1.7-1.7 1.7z\"}]}},\nnew_custom5:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M49.1 5.8C40.9 2.7 31.4 2 23 4.7 15.6 7.1 8 12.6 6.9 20.8c-.2 1.7-.2 3.6.2 5.2.2.9.5 1.7.8 2.6.2.5.3.9.6 1.3-.3.5-.6 1-1 1.4-2.3 3.6-3.9 7.7-4.9 11.8-.4 1.7-1.4 4.3.5 5.5.7.5 1.8.5 2.5.1 1-.6 1.1-1.5 1.3-2.5.7-4.2 2.2-8.4 4.5-12 1.1-1.7 2.3-3.5 3.7-5.1 1.2-1.3 3-3.7 5-3 2 .7 1.9 3 .6 4.2s-2.5 2.5-2.5 4.4c0 1.4.6 2.9 1.8 3.8 1.6 1.3 4.8 1.6 6.7 1.4 4.2-.2 7.7-1.5 11.1-4 4.5-3.1 6.2-8.5 7.1-13.6.6-3.2 1-6.3 2.1-9.3.5-1.3 1.1-2.5 1.8-3.6.3-.6 1-1.2 1.1-1.8.3-.9-.2-1.6-.8-1.8z\"}},\nnew_custom50:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M47.5 31.3c-1.8.9-3.9 1.4-6.1 1.4-2.6 0-5.1-.7-7.2-1.9-.2-.2-.6-.2-.8 0-2.1 1.3-4.6 1.9-7.2 1.9s-5.1-.7-7.2-1.9c-.2-.2-.6-.2-.8 0-2.1 1.3-4.6 1.9-7.2 1.9-2.2 0-4.3-.5-6.1-1.4-.6-.3-1.2.1-1.2.7v9.8c0 1.9 1.1 3.6 2.9 4.5 4 1.8 8.3 3.1 12.9 3.7 1 .2 1.8-.6 1.8-1.6v-6.1c0-2.7 2.2-4.8 4.7-4.8h.1c2.6 0 4.7 2.2 4.7 4.8v6.1c0 1 .9 1.7 1.8 1.6 4.5-.6 8.8-1.9 12.9-3.7 1.8-.8 2.9-2.5 2.9-4.5V32c.2-.6-.4-1-.9-.7zM10.9 27.8c2.9 0 5.4-1.2 7-3.2.3-.4.9-.4 1.2 0 1.6 1.9 4.2 3.2 7 3.2 2.9 0 5.4-1.2 7-3.2.3-.4.9-.4 1.2 0 1.6 1.9 4.2 3.2 7 3.2 4.5 0 8.3-3.2 8.7-7.1.1-.6-.2-1.1-.6-1.5L29 3c-1.8-1.4-4.3-1.4-5.9 0L2.6 19.2c-.4.3-.6.9-.6 1.5.6 4 4.4 7.1 8.9 7.1z\"}}},\nnew_custom51:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M18.5 6.5c2 1.4 3.9 4.6 4.7 7.1.2.6.6 1 1.2 1 .6.2 1 .2 1.6.2.9 0 1.6 0 2.3-.3 2-.7 3.8-1.6 5.3-3.1 2.4-2.5 3.3-6 2.4-8.9-2.9-.9-6.4-.1-8.8 2.4-.7.7-1.3 1.5-1.7 2.4-1.3-2-2.8-3.8-4.5-4.9-1.2-.7-2.7-.3-3.4.9-.6 1.1-.1 2.5.9 3.2zM42.7 18.2c-8.1-4.6-9.8 1.6-16.7 1.6s-8.6-6.2-16.7-1.6C1.5 22.7 3.8 37.4 6.9 43c2.8 4.9 7.9 9.9 18.4 5.1.4-.2.9-.2 1.3 0 10.5 4.8 15.7-.3 18.4-5.1 3.2-5.6 5.5-20.3-2.3-24.8z\"}}},\nnew_custom52:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M49.9 14.1c.2-2.6 0-5.1-.4-7.6-.3-2.1-1.9-3.7-4-4-2.6-.4-5-.6-7.6-.4-.7 0-1 .9-.6 1.4l11.2 11.2c.6.4 1.4 0 1.4-.6zM31 3.8c-.4-.4-1-.6-1.5-.4-6 1.7-11.8 4.9-16.5 9.7-4.6 4.6-7.8 10.2-9.5 16-.2.6 0 1.2.4 1.6l17.4 17.4c.4.4 1 .6 1.6.4 5.8-1.8 11.4-4.9 16-9.5 4.7-4.7 8-10.4 9.7-16.5.2-.6 0-1.1-.4-1.5L31 3.8zm-6.7 31.4c-1 1-2.5 1-3.4 0l-4.5-4.5c-1-1-1-2.5 0-3.4 1-1 2.5-1 3.4 0l4.5 4.5c1 1 1 2.5 0 3.4zm5.6-5.6c-1 1-2.5 1-3.4 0L22 25.1c-1-1-1-2.5 0-3.4 1-1 2.5-1 3.4 0l4.5 4.5c1 1 1 2.5 0 3.4zm5.6-5.6c-1 1-2.5 1-3.4 0l-4.5-4.5c-1-1-1-2.5 0-3.4 1-1 2.5-1 3.4 0l4.5 4.5c1 1 1 2.5 0 3.4zM2.1 37.4c-.2 2.7-.1 5.4.4 8.2.3 2.1 1.9 3.7 4 4 2.7.4 5.4.6 8.2.4.7-.1 1-.9.6-1.4L3.4 36.8c-.4-.4-1.3-.1-1.3.6z\"}}},\nnew_custom53:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M45.4 31.6h-.5c-1.8 0-3.2-1.4-3.2-3.3V17.7c0-9.3-8.2-16.7-17.5-15.6-8 .9-13.9 8-13.9 16.3v9.5c0 2-1.7 3.7-3.6 3.7h-.1c-1.4 0-2.6 1.2-2.6 2.6v1.9c0 1.4 1.2 2.6 2.6 2.6h38.8c1.4 0 2.6-1.2 2.6-2.6v-1.9c0-1.4-1.2-2.6-2.6-2.6zM31.2 43.6H20.8c-.6 0-1.2.5-1 1.1.6 3 3.1 5.3 6.3 5.3s5.7-2.2 6.3-5.3c0-.6-.5-1.1-1.2-1.1z\"}}},\nnew_custom54:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M7.8 26.9c5.2-.9 9.8-3 14.7-5.3 1.6-.7 4.6-2.1 6-2.7.5-.2.8-.7.6-1.3-.4-2.3-2.3-4.2-4.7-4.2h-1.6v-3c0-.9-.8-1.6-1.6-1.6V5.6c0-.9-.7-1.6-1.6-1.6h-3.2c-.9 0-1.6.7-1.6 1.6v3.2c-.8 0-1.6.7-1.6 1.6v3h-1.6c-2.6 0-4.8 2.4-4.8 5.1V26c0 .6.5 1 1 .9zM43.6 42.7s5.8-9 6.4-21.6c0-.9-.7-1.7-1.7-1.7-19 .7-27.9 12.2-44.8 12.9-.9 0-1.5.8-1.5 1.6v6c0 2.6 2 4.6 4.5 4.8 8.4.5 26.4 1.7 36.7 3.4 1 .2 2-.8 1.8-1.8-.2-1.3-.6-2.7-1.4-3.6zm-.8-14.3c-1.4 0-2.4-1-2.4-2.4s1-2.4 2.4-2.4 2.4 1 2.4 2.4-1 2.4-2.4 2.4z\"}}},\nnew_custom55:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M12.5 33.3h9.8c.8 0 1.5-.7 1.5-1.5V9.9c0-1.6-1.5-2.9-3-2.9h-8c-1 0-1.7.7-1.7 1.7v23.2c-.1.7.6 1.4 1.4 1.4z\"},{\"d\":\"M45.5 11.4v23.4c0 1.6-1.4 2.9-3 2.9h-33c-1.7 0-3-1.3-3-2.9V11.4c-2.5 0-4.5 2-4.5 4.4v21.9c0 2.4 2 4.4 4.5 4.4h14.2c.8 0 1.5.7 1.5 1.5s.7 1.5 1.5 1.5h4.5c.8 0 1.5-.7 1.5-1.5s.7-1.5 1.5-1.5h14.2c2.5 0 4.5-2 4.5-4.4V15.8c.1-2.4-1.9-4.4-4.4-4.4z\"},{\"d\":\"M29.8 33.3h9.5c1 0 1.7-.7 1.7-1.7V8.5c0-.8-.7-1.5-1.5-1.5h-8.2c-1.5 0-3 1.3-3 2.9v21.9c-.1.8.6 1.5 1.5 1.5z\"}]}},\nnew_custom56:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M36.2 10.3c-5 5-11.1-1.1-16.7 4.5l-16.1 16c-1.8 1.8-1.8 4.8 0 6.6L9 43l5.6 5.6c1.8 1.8 4.8 1.8 6.6 0l16.2-16.1c5.6-5.6-.6-11.7 4.5-16.7l1.3-1.3c.3-.3.3-.8 0-1.1L38.7 9c-.3-.3-.8-.3-1.1 0l-1.4 1.3zm-3.9 20.5l-5.6 5.6c-.6.6-1.6.6-2.2 0L20 31.9l-4.5-4.5c-.6-.6-.6-1.6 0-2.2l5.6-5.6c.6-.6 1.6-.6 2.2 0l4.5 4.5 4.5 4.5c.7.6.7 1.6 0 2.2zM49.5 5.8l-1.7-1.7-1.7-1.7c-.6-.6-1.6-.6-2.2 0l-2.1 2.1c-.3.3-.3.8 0 1.1l4.4 4.4c.3.3.8.3 1.1 0l2.1-2c.8-.5.8-1.5.1-2.2z\"}}},\nnew_custom57:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M28.4 29v20.2c0 .7.7 1 1.2.7 3.9-2.2 15.8-9.1 15.8-9.1 1.5-.9 2.5-2.6 2.5-4.4V18.3c0-.7-.7-1-1.2-.7l-17.5 10c-.4.3-.8.8-.8 1.4zM26.8 23.3l17.6-10c.6-.3.6-1.1 0-1.4-3.9-2.2-15.9-9.2-15.9-9.2-1.5-.9-3.5-.9-5.1 0 0 0-12 6.9-15.9 9.2-.5.3-.5 1.1.1 1.4l17.6 10c.5.3 1.1.3 1.6 0zM22.7 27.5l-17.5-10c-.5-.3-1.2.1-1.2.8v18.1c0 1.8 1 3.5 2.5 4.4 0 0 11.9 6.9 15.8 9.1.6.3 1.2-.1 1.2-.7V29c.1-.6-.3-1.1-.8-1.5z\"}}},\nnew_custom58:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M39.5 22.8c-1.4 0-2.5-1.1-2.4-2.6.1-1.3 1.2-2.2 2.6-2.2h6.9c.3 0 .6-.2.7-.4.6-1.1 1.1-2.2 1.5-3.3.2-.6-.2-1.1-.7-1.1H43c-1.3 0-2.5-1-2.6-2.2-.1-1.4 1-2.6 2.4-2.6h6.4c.5 0 .8-.3.8-.8V5.2c0-.9-.7-1.6-1.6-1.6h-8.5c-2.4 0-4.3 1.9-4.3 4.3V8c0 4.5-3 8.5-7.2 9.6V11c1.7-1 2.7-2.8 2.4-4.9-.3-2.1-2.1-3.8-4.2-4-2.9-.3-5.4 1.9-5.4 4.8 0 1.8 1 3.3 2.4 4.2v6.7c-4.2-1.1-7.2-5.1-7.2-9.6V8c0-2.4-1.9-4.3-4.3-4.3H3.6c-.9 0-1.6.7-1.6 1.6v2.4c0 .5.3.8.8.8H9c1.3 0 2.5 1 2.6 2.2.1 1.4-1 2.6-2.4 2.6H4c-.6 0-1 .6-.7 1.1.4 1 .9 2.2 1.5 3.3.2.2.4.4.7.4h6.9c1.3 0 2.5 1 2.6 2.2.1 1.4-1 2.6-2.4 2.6h-1.9c-.7 0-1.1 1-.5 1.4 3.4 2.9 7.8 4.9 13.6 4.9v18.2c0 1.3 1 2.5 2.2 2.6 1.4.1 2.6-1 2.6-2.4V29.2c5.8 0 10.2-2.1 13.6-4.9.6-.5.2-1.4-.5-1.4h-2.2z\"}},\nnew_custom59:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M39.7 10.8c.8 0 1.3-.6 1.3-1.4 0-.6-.3-1.1-.9-1.4-1-.6-2.6-3.3-3.2-5-.2-.6-.8-1-1.4-1H16.3c-.6 0-1.3.4-1.4 1-.5 1.6-2.1 4.4-3.1 5-.5.3-.8.8-.8 1.4 0 .8.6 1.4 1.3 1.4h27.4zM11 45.1c0 2.7 2.1 4.9 4.7 4.9h20.5c2.6 0 4.7-2.2 4.7-4.8v-.1c0-.9-.7-1.5-1.5-1.5h-27c-.7 0-1.4.7-1.4 1.5zM41 37.2v-20c0-.9-.7-1.6-1.6-1.6H12.6c-.9 0-1.6.7-1.6 1.6v20c0 .9.7 1.6 1.6 1.6h26.8c.9 0 1.6-.7 1.6-1.6z\"}}},\nnew_custom6:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M26 47H5.2c-2.5 0-4-2.7-2.7-4.9L23.2 6.6c1.2-2.1 4.2-2.1 5.5 0l20.8 35.6c1.3 2.2-.3 4.9-2.7 4.9H26z\"}},\nnew_custom60:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M50 22.2C48.1 10.8 38.1 2 26 2S3.9 10.8 2 22.2c-.1.8.7 1.3 1.3.8 1.2-1 2.7-1.6 4.5-1.6 2.2 0 4.2 1 5.4 2.6.3.4 1 .4 1.3 0 1.3-1.6 3.2-2.6 5.4-2.6s4.2 1 5.4 2.6c.3.4 1 .4 1.3 0 1.3-1.6 3.2-2.6 5.4-2.6s4.2 1 5.4 2.6c.3.4 1 .4 1.3 0 1.3-1.6 3.2-2.6 5.4-2.6 1.7 0 3.3.6 4.5 1.6.7.5 1.5 0 1.4-.8zM35.6 40.4c-1.4 0-2.4 1-2.4 2.4s-1 2.4-2.4 2.4-2.4-1-2.4-2.4V31.6c0-1.4-1-2.4-2.4-2.4s-2.4 1-2.4 2.4v11.2c0 4 3.2 7.2 7.2 7.2s7.2-3.2 7.2-7.2c0-1.4-1-2.4-2.4-2.4z\"}}},\nnew_custom61:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M44.4 2h-3.2c-.9 0-1.6.7-1.6 1.6v3.2c0 .9-.7 1.6-1.6 1.6h-1.6c-.9 0-1.6-.7-1.6-1.6V3.6c0-.9-.6-1.6-1.6-1.6H30c-.9 0-1.6.7-1.6 1.6v3.2c0 .9-.7 1.6-1.6 1.6h-1.6c-.9 0-1.6-.7-1.6-1.6V3.6c0-.9-.7-1.6-1.6-1.6h-3.2c-.9 0-1.6.7-1.6 1.6v3.2c0 .9-.7 1.6-1.6 1.6H14c-.9 0-1.6-.7-1.6-1.6V3.6c0-.9-.7-1.6-1.6-1.6H7.6C6.7 2 6 2.7 6 3.6v8c0 2.6 2.2 4.8 4.8 4.8h30.4c2.6 0 4.8-2.2 4.8-4.8v-8c0-.9-.7-1.6-1.6-1.6zM40.8 22.5c-.1-.8-.8-1.4-1.6-1.4H12.8c-.8 0-1.5.6-1.6 1.4L7.6 48.1c-.2 1 .6 1.8 1.6 1.8h10.3c.9 0 1.7-.7 1.7-1.6v-7.7c0-2.6 2-5 4.6-5 2.7-.1 5 2.1 5 4.8v8c0 .9.8 1.6 1.7 1.6h10.3c1 0 1.8-.9 1.6-1.8l-3.6-25.7z\"}}},\nnew_custom62:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M47.6 41.2H4.4c-1.3 0-2.4 1-2.4 2.4C2 44.9 3 46 4.4 46h43.2c1.3 0 2.4-1 2.4-2.4s-1-2.4-2.4-2.4zM5.2 36.4h27.2v-3.2c0-.9.7-1.6 1.6-1.6h8c.9 0 1.6.7 1.6 1.6v3.2h3.2c.9 0 1.6-.7 1.6-1.6V7.6c0-.9-.7-1.6-1.6-1.6H5.2c-.9 0-1.6.7-1.6 1.6v27.2c0 .9.7 1.6 1.6 1.6zm7.2-20.8c0-.9.7-1.6 1.6-1.6h23.2c.9 0 1.6.7 1.6 1.6v1.6c0 .9-.7 1.6-1.6 1.6H14c-.9 0-1.6-.7-1.6-1.6v-1.6zm0 9.6c0-.9.7-1.6 1.6-1.6h15.2c.9 0 1.6.7 1.6 1.6v1.6c0 .9-.7 1.6-1.6 1.6H14c-.9 0-1.6-.7-1.6-1.6v-1.6z\"}}},\nnew_custom63:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M19.6 34h12.8c.9 0 1.6-.7 1.6-1.6V19.6c0-.9-.7-1.6-1.6-1.6H19.6c-.9 0-1.6.7-1.6 1.6v12.8c0 .9.7 1.6 1.6 1.6z\"},{\"d\":\"M47.6 28.4c1.4 0 2.4-1 2.4-2.4s-1-2.4-2.4-2.4h-4v-4.8h4c1.4 0 2.4-1 2.4-2.4S49 14 47.6 14h-4v-.8c0-2.6-2.2-4.8-4.8-4.8H38v-4C38 3 37 2 35.6 2s-2.4 1-2.4 2.4v4h-4.8v-4C28.4 3 27.4 2 26 2s-2.4 1-2.4 2.4v4h-4.8v-4c0-1.4-1-2.4-2.4-2.4S14 3 14 4.4v4h-.8c-2.6 0-4.8 2.2-4.8 4.8v.8h-4C3 14 2 15 2 16.4s1 2.4 2.4 2.4h4v4.8h-4C3 23.6 2 24.6 2 26s1 2.4 2.4 2.4h4v4.8h-4c-1.4 0-2.4 1-2.4 2.4S3 38 4.4 38h4v.8c0 2.6 2.2 4.8 4.8 4.8h.8v4c0 1.4 1 2.4 2.4 2.4s2.4-1 2.4-2.4v-4h4.8v4c0 1.4 1 2.4 2.4 2.4s2.4-1 2.4-2.4v-4h4.8v4c0 1.4 1 2.4 2.4 2.4s2.4-1 2.4-2.4v-4h.8c2.6 0 4.8-2.2 4.8-4.8V38h4c1.4 0 2.4-1 2.4-2.4s-1-2.4-2.4-2.4h-4v-4.8h4zm-8.8 8c0 1.4-1 2.4-2.4 2.4H15.6c-1.4 0-2.4-1-2.4-2.4V15.6c0-1.4 1-2.4 2.4-2.4h20.8c1.4 0 2.4 1 2.4 2.4v20.8z\"}]}},\nnew_custom64:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M26 2C12.8 2 2 12.8 2 26s10.8 24 24 24 24-10.8 24-24S39.2 2 26 2zm0 41.6c-9.7 0-17.6-7.9-17.6-17.6S16.3 8.4 26 8.4 43.6 16.3 43.6 26 35.7 43.6 26 43.6z\"},{\"d\":\"M35.3 15.7L22 20.5c-.7.2-1.3.8-1.5 1.5l-4.8 13.3c-.2.6.4 1.3 1 1L30 31.5c.7-.2 1.3-.8 1.5-1.5l4.8-13.3c.3-.6-.4-1.3-1-1zM26 29.2c-1.8 0-3.2-1.4-3.2-3.2s1.4-3.2 3.2-3.2 3.2 1.4 3.2 3.2-1.4 3.2-3.2 3.2z\"}]}},\nnew_custom65:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M42.4 38.7H3.5c-.8 0-1.5.7-1.5 1.5v.1C2 42.9 4.1 45 6.7 45h32.6c2.6 0 4.7-2.1 4.7-4.8v-.1c-.1-.7-.8-1.4-1.6-1.4zM40.8 7H3.6c-.7 0-1.4.7-1.4 1.6-.2 2.1-.2 5.9.1 8.2 1 7.4 4.9 13.6 10.2 16.9.2.2.5.2.8.2h16.2c.3 0 .5-.1.8-.2 3-1.9 5.7-4.8 7.4-8.2.9.3 1.9.5 3 .5 5.1 0 9.3-4.3 9.3-9.5S45.9 7 40.8 7zm0 14.2c-.4 0-.8-.1-1.2-.2.8-2.5 1.2-5.2 1.2-8.1v-1.3c2.6 0 4.7 2.1 4.7 4.8s-2.2 4.8-4.7 4.8z\"}}},\nnew_custom66:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M48.6 30.3L37 18.6c-1.8-1.8-4.8-1.8-6.6 0L18.6 30.3c-1.8 1.8-1.8 4.8 0 6.6l11.7 11.7c1.8 1.8 4.8 1.8 6.6 0l11.7-11.7c1.9-1.7 1.9-4.8 0-6.6zm-22 5.3c-1.1 1.1-2.9 1.1-3.9 0-1.1-1.1-1.1-2.9 0-3.9 1.1-1.1 2.9-1.1 3.9 0s1 2.8 0 3.9zm9 9.1c-1.1 1.1-2.9 1.1-3.9 0-1.1-1.1-1.1-2.9 0-3.9 1.1-1.1 2.9-1.1 3.9 0 1 1 1 2.8 0 3.9zm0-18.1c-1.1 1.1-2.9 1.1-3.9 0-1.1-1.1-1.1-2.9 0-3.9 1.1-1.1 2.9-1.1 3.9 0 1 1 1 2.8 0 3.9zm9 9c-1.1 1.1-2.9 1.1-3.9 0-1.1-1.1-1.1-2.9 0-3.9 1.1-1.1 2.9-1.1 3.9 0 1.2 1.1 1.2 2.8 0 3.9zM28.4 12.8v-6c0-2.6-2.2-4.8-4.8-4.8H6.8C4.2 2 2 4.2 2 6.8v16.8c0 2.6 2.2 4.8 4.8 4.8h6c.5 0 1-.2 1.3-.6.2-.3.6-.6.9-1L26.8 15c.3-.3.6-.6 1-.9.4-.3.6-.8.6-1.3zM8.8 24.4c-1.5 0-2.8-1.3-2.8-2.8s1.3-2.8 2.8-2.8 2.8 1.3 2.8 2.8-1.3 2.8-2.8 2.8zm6.4-6.4c-1.5 0-2.8-1.3-2.8-2.8s1.3-2.8 2.8-2.8 2.8 1.3 2.8 2.8-1.3 2.8-2.8 2.8zm6.4-6.4c-1.5 0-2.8-1.3-2.8-2.8S20.1 6 21.6 6c1.5 0 2.8 1.3 2.8 2.8s-1.3 2.8-2.8 2.8z\"}}},\nnew_custom67:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M29.2 28.4l-1-1.7c-.4-.6-1-1-1.8-1-.2 0-.5.1-.7.2l-2.8 1c-1.1-1-2.3-1.6-3.7-2.1l-.5-2.9c-.2-1-1-1.5-2-1.5h-2c-1 0-1.8.6-2 1.6l-.5 2.8c-1.3.5-2.5 1.2-3.7 2.2l-2.8-1c-.2-.1-.5-.2-.7-.2-.7 0-1.4.4-1.8 1l-1 1.7c-.5.9-.3 1.9.5 2.6L5.1 33c-.2.7-.2 1.4-.2 2.1 0 .6.1 1.4.2 2.2l-2.3 1.9c-.8.6-1 1.8-.5 2.6l1 1.7c.4.6 1 1 1.8 1 .2 0 .5-.1.7-.2l2.8-1c1.1 1 2.3 1.7 3.7 2.1l.5 3c.2 1 1 1.7 2 1.7h2c1 0 1.8-.7 2-1.7l.5-3c1.4-.5 2.7-1.3 3.9-2.2l2.6 1c.2.1.5.2.7.2.7 0 1.4-.4 1.8-1l1-1.6c.5-.9.3-2-.5-2.6l-2.3-1.9c.2-.7.2-1.4.2-2.1 0-.7-.1-1.4-.2-2.2l2.3-1.9c.6-.8.8-1.9.4-2.7zM15.7 40.6c-3 0-5.5-2.4-5.5-5.5s2.4-5.5 5.5-5.5c3 0 5.5 2.4 5.5 5.5s-2.6 5.5-5.5 5.5zM49.4 17.1l-1.8-1.5c.1-.6.2-1.1.2-1.7 0-.6-.1-1.2-.2-1.7l1.8-1.5c.6-.5.8-1.4.4-2.1L49 7.2c-.3-.5-.9-.8-1.4-.8-.2 0-.4.1-.6.1l-2.3.9c-.9-.8-1.9-1.4-3-1.7l-.4-2.4c-.2-.8-.8-1.3-1.6-1.3h-1.6c-.8 0-1.5.5-1.6 1.3l-.4 2.3c-1.1.4-2.1 1-3 1.8l-2.3-1c-.2-.1-.4-.1-.6-.1-.6 0-1.1.3-1.4.8L28 8.4c-.4.7-.2 1.6.4 2.1l1.8 1.5c-.1.6-.2 1.1-.2 1.7 0 .6.1 1.2.2 1.7l-1.8 1.5c-.6.5-.8 1.4-.4 2.1l.8 1.4c.3.5.9.8 1.4.8.2 0 .4 0 .6-.1l2.3-.9c.9.8 1.9 1.4 3 1.7l.4 2.3c.2.8.8 1.4 1.6 1.4h1.6c.8 0 1.5-.6 1.6-1.4l.4-2.4c1.1-.4 2.2-1 3.1-1.8l2.2.9c.2.1.4.1.6.1.6 0 1.1-.3 1.4-.8l.8-1.3c.4-.4.2-1.2-.4-1.8zm-10.5 1.3c-2.4 0-4.4-2-4.4-4.4s2-4.4 4.4-4.4 4.4 2 4.4 4.4-1.9 4.4-4.4 4.4z\"}}},\nnew_custom68:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M26 2C12.8 2 2 12.8 2 26s10.8 24 24 24 24-10.8 24-24S39.2 2 26 2zm19 21.6h-6.3c-.2-5.7-1.5-10.6-3.4-14.4 5.3 3 8.9 8.2 9.7 14.4zM23.6 7.8v15.8h-5.5c.4-7.5 2.8-13.4 5.5-15.8zm0 20.6v15.8c-2.7-2.3-5.1-8.2-5.5-15.8h5.5zm4.8 15.8V28.4h5.5c-.4 7.5-2.8 13.4-5.5 15.8zm0-20.6V7.8c2.7 2.3 5.1 8.2 5.5 15.8h-5.5zM16.7 9.2c-1.9 3.8-3.1 8.7-3.4 14.4H7c.8-6.2 4.4-11.4 9.7-14.4zM7 28.4h6.3c.2 5.7 1.5 10.6 3.4 14.4-5.3-3-8.9-8.2-9.7-14.4zm28.3 14.4c1.9-3.8 3.1-8.7 3.4-14.4H45c-.8 6.2-4.4 11.4-9.7 14.4z\"}},\nnew_custom69:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M28.1 22.1c-4.6-3.4-9.2-1.8-12.2 1.1-1.1 1-2.9 1.7-4.8 2.2-2.2.7-4.6 1.4-6.2 3.1-4.6 4.5-3.7 9.8 2.5 16l.1.1.1.1c3.7 3.6 7 5.4 10.1 5.4 2.2 0 4.2-.9 6.2-2.7 1.7-1.6 2.5-3.9 3.2-6.1.6-1.8 1.3-3.7 2.3-4.7 1.8-1.8 2.9-3.8 3.1-5.9.2-1.5-.2-3.7-1.9-5.9 0-.2-1-1.5-2.5-2.7zm-9.9 19.3c-.4.4-1 .6-1.6.6-.6 0-1.1-.2-1.5-.6L10.6 37c-.9-.9-.9-2.2 0-3.1.9-.9 2.2-.9 3.1 0l4.4 4.4c.9.9.9 2.2.1 3.1zm3.8-6.5c-2.2 0-4-1.8-4-4s1.8-4 4-4 4 1.8 4 4-1.8 4-4 4zM49.5 6.2l-3.7-3.7c-.6-.6-1.8-.6-2.5 0l-4.1 4.1c-.6.6-.6 1.8 0 2.5l.2.2-8.2 8.3c-.3.3-.3.9 0 1.2.6.6 1.7 1.5 2.3 2.2.3.3.8.3 1.1 0l8.2-8.2.2.2c.6.6 1.8.6 2.5 0l4.1-4.1c.6-.9.6-2-.1-2.7z\"}}},\nnew_custom7:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M7.1 50C4.3 50 2 47.7 2 44.9V7.1C2 4.3 4.3 2 7.1 2h37.7C47.7 2 50 4.3 50 7.1v37.7c0 2.8-2.3 5.1-5.1 5.1H7.1z\"}},\nnew_custom70:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M24.4 37l-9.2-9.1c-1.9-1.8-5-1.8-6.9 0l-5.8 5.7c-.6.6-.6 1.7 0 2.2L3.6 37l1.1 1.1 9.3 9.1.6.6 1.8 1.7c.6.6 1.7.6 2.3 0l5.8-5.7c1.8-1.8 1.8-4.9-.1-6.8zm-15-3.4l1.2-1.1c.6-.6 1.6-.6 2.2 0l7 6.8c.6.6.6 1.7 0 2.2l-1.2 1.1c-.6.6-1.6.6-2.2 0l-7-6.8c-.7-.6-.7-1.6 0-2.2zM19.4 25.3l7.5 7.3c.2.2.3.2.6.2l3.4-.1c.4 0 .7-.3.7-.7l.1-3c0-.4.3-.7.7-.7l3-.1c.4 0 .7-.3.7-.7l.1-3c0-.4.3-.7.7-.7l3-.1c.4 0 .7-.3.7-.7l.1-3c0-.4.3-.7.7-.7l3-.1c.4 0 .7-.3.7-.7l.1-3c0-.4.3-.6.6-.7l3.3-.5c.6-.1.9-.7.6-1.2L42.8 2.7c-.6-.8-1.7-.9-2.4-.2L19.3 23.3c-.5.5-.5 1.4.1 2z\"}}},\nnew_custom71:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M43 10.9C38.3 6.3 32 3.8 25.3 4 12.5 4.4 2 15.2 2 28v7.4c0 2.6 2.2 4.7 4.8 4.7H10v3.8c0 2 1.5 3.8 3.6 4.1 2.4.2 4.4-1.6 4.4-3.9v-14c0-2-1.5-3.8-3.6-4.1-2.4-.2-4.4 1.6-4.4 3.9v5.5H8.4c-.9 0-1.6-.7-1.6-1.6V28c0-10.4 8.4-19 18.6-19.3 5.3-.2 10.2 1.7 13.9 5.3 3.8 3.6 5.8 8.4 5.8 13.5v6.3c0 .9-.7 1.6-1.6 1.6H42v-5.3c0-2-1.5-3.8-3.6-4.1-2.4-.2-4.4 1.6-4.4 3.9v14c0 2 1.5 3.8 3.6 4.1 2.4.2 4.4-1.6 4.4-3.9v-3.9h3.2c2.6 0 4.8-2.1 4.8-4.7V28c0-6.3-2.4-12.5-7-17.1z\"}},\nnew_custom72:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M47.6 2H4.4C3 2 2 3 2 4.4s1 2.4 2.4 2.4h19.2v5C15 12.9 8.4 20.2 8.4 29.1v5.5c0 5.8 4.6 10.6 10.6 10.6h14.2c5.8 0 10.5-4.7 10.5-10.6V29c0-8.9-6.6-16.2-15.2-17.4V6.8h19.2c1.4 0 2.4-1 2.4-2.4S49 2 47.6 2zM37.2 29c0 .1 0 0 0 0 0 2.3-1.8 4.2-4.2 4.2H19c-2.3 0-4.1-1.8-4.2-4.2v.1-.1.1c.1-6.2 5-11.1 11-11.1h.3c6.1 0 11 5 11.1 11z\"},\"circle\":[{\"cx\":\"6.8\",\"cy\":\"46.8\",\"r\":\"3.2\"},{\"cx\":\"45.2\",\"cy\":\"46.8\",\"r\":\"3.2\"}]}},\nnew_custom73:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M4.8 14h42.4c1 0 1.8-1 1.5-2-1-3.3-2.4-6.3-4.3-9-.6-.8-1.7-.9-2.3-.2-1.9 1.8-4.6 2.8-7.4 2.8-3 0-5.7-1.2-7.7-3.2-.6-.6-1.6-.6-2.2 0-2 2-4.7 3.2-7.7 3.2-2.8 0-5.4-1-7.4-2.8-.6-.6-1.6-.5-2.2.3-1.9 2.6-3.4 5.7-4.3 9-.2.9.6 1.9 1.6 1.9zM50 20.4c0-.9-.7-1.6-1.6-1.6H3.6c-.9 0-1.6.7-1.6 1.6v.3c0 15 10.4 27.4 24 29.3 13.6-1.9 24-14.3 24-29.2v-.4z\"}}},\nnew_custom74:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M30.1 44.4h-8.2c-.9 0-1.6.7-1.6 1.6v2.4c0 .9.7 1.6 1.6 1.6h8.2c.9 0 1.6-.7 1.6-1.6V46c0-.9-.7-1.6-1.6-1.6zM26 2C16 2 8 9.5 8 18.8c0 6 3.4 11.3 8.5 14.2 2 1.1 3.3 3 3.7 5.2.2.7.8 1.3 1.6 1.3h8.5c.8 0 1.5-.6 1.6-1.3.4-2.2 1.7-4.1 3.7-5.2 5-3 8.3-8.2 8.3-14.2C44 9.5 36 2 26 2zm-5.6 7.5c-1.6 3-2.5 6.6-2.6 9.5 0 3 .6 5.8 1.6 8.6.3.7-.4 1.4-1.1 1-7.5-3.8-7-17.6 1.1-20.3.7-.1 1.4.6 1 1.2zm6.3 19.1c-.2.6-1.2.6-1.5 0-1.3-3.1-1.6-6.8-1.7-10.2.1-3.4.4-7 1.7-10.2.2-.6 1.2-.6 1.5 0 1.3 3.1 1.6 6.8 1.7 10.2 0 3.4-.4 7-1.7 10.2zm6.7.1c-.7.3-1.4-.3-1.1-1 1.1-2.9 1.6-6.1 1.7-9.1-.1-2.6-1-6.1-2.6-9-.3-.6.3-1.4 1-1.1 8.1 2.6 8.6 16.5 1 20.2z\"}}},\nnew_custom75:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M26 2c-1.4 0-2.4 1-2.4 2.4v43.2c0 1.4 1 2.4 2.4 2.4 13.2 0 24-10.8 24-24S39.2 2 26 2zm19 21.6h-6.3c-.2-5.7-1.5-10.6-3.4-14.4 5.3 3 8.9 8.2 9.7 14.4zM28.4 44.2V28.4h5.5c-.4 7.5-2.8 13.4-5.5 15.8zm0-20.6V7.8c2.7 2.3 5.1 8.2 5.5 15.8h-5.5zm6.9 19.2c1.9-3.8 3.1-8.7 3.4-14.4H45c-.8 6.2-4.4 11.4-9.7 14.4zM12.8 17.9c.6.5 1.6.4 2.2-.2l4.4-5c.6-.6.6-1.6-.1-2.2l-4.4-4.4c-.6-.6-1.4-.6-2-.2l-.9.6C6 10.8 2 17.9 2 26s4 15.2 10 19.5l.9.6c.6.4 1.4.3 2-.2l4.4-4.4c.6-.6.6-1.6.1-2.2l-4.4-5c-.6-.6-1.5-.7-2.2-.2l-1.7 1.3c-1.8-2.7-2.7-5.9-2.7-9.4s1-6.6 2.7-9.4l1.7 1.3z\"}}},\nnew_custom76:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M25.9 30.4c-.2-.6-.9-1.1-1.6-1h-.7c-9 0-16.3-7.2-16.3-16.1v-.4c0-.8-1.1-1.1-1.5-.5-.6.8-1 1.8-1.3 2.8-1.4 4.6.4 9.6 4.3 12.4 1.8 1.3 3.7 1.9 5.6 2.1l.6 1.5c.1.2.2.4.4.5l2.4 1c.4.2.6.6.4 1l-.8 2.3c-.2.4.1.8.4 1l1.3.6c.4.2.6.6.4 1l-.7 2.5c-.1.4.1.8.4 1l1.9.8c.4.2.6.6.4 1l-.7 2.5c-.1.4.1.8.5 1l5.5 2.5c.4.2.9 0 1.1-.4l2.4-5.4c.2-.4.2-.8.1-1.2l-4.5-12.5z\"},{\"d\":\"M47.5 29.6l-13-13.4c.6-2 .6-4.2-.2-6.5-1.5-4.3-5.5-7.4-10.2-7.7-7-.3-12.7 5.6-12 12.6.6 4.8 4.2 8.8 9 9.7 2.1.4 4.2.2 6-.4l1.1 1.2c.2.2.3.2.6.2h2.8c.5 0 .8.3.8.8l.2 2.5c0 .4.4.7.8.7H35c.5 0 .8.3.8.8l.4 2.6c.1.4.4.6.8.6h2c.5 0 .8.3.8.8l.4 2.6c.1.4.4.6.8.6h6.1c.5 0 .8-.3.8-.8v-5.9c.1-.4-.1-.8-.4-1zm-25.6-14c-2.3 0-4.1-1.8-4.1-4s1.8-4 4.1-4 4.1 1.8 4.1 4-1.8 4-4.1 4z\"}]}},\nnew_custom77:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M11.5 19.6h3.1c.5 0 .8-.3.8-.8v-1.2c0-6.1 4.5-10.8 10.2-10.8s10.2 4.7 10.2 10.8v1.2c0 .5.3.8.8.8h3.1c.5 0 .8-.3.8-.8v-1.2C40.5 8.9 34 2 25.6 2S10.7 8.9 10.7 17.6v1.2c0 .5.3.8.8.8zM41.3 24.4H10.7c-2.6 0-4.7 2.2-4.7 4.8v16c0 2.6 2.1 4.8 4.7 4.8h30.6c2.6 0 4.7-2.2 4.7-4.8v-16c0-2.6-2.1-4.8-4.7-4.8zM29.8 37.3c-.7 1.1-1.1 2.4-.8 3.7l.5 2.4c.2.9-.5 1.8-1.4 1.8h-5c-.9 0-1.6-1-1.4-1.8l.5-2.5c.3-1.3-.1-2.6-.8-3.6-.7-1-1-2.3-.8-3.6.4-1.9 2-3.4 3.9-3.8 3.2-.6 6 1.8 6 4.7 0 1-.3 1.9-.7 2.7z\"}}},\nnew_custom78:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M48.6 9.5L34.2 2.3c-.6-.3-1.4-.3-2.2 0L18.8 8.9 5.4 2.3c-.7-.4-1.6-.4-2.3 0C2.4 2.8 2 3.6 2 4.4v36c0 .9.5 1.8 1.4 2.2l14.4 7.2c.6.3 1.4.3 2.2 0l13.3-6.6 13.4 6.6c.3.2.7.2 1 .2.4 0 .9-.2 1.3-.3.7-.5 1.1-1.3 1.1-2.1v-36c-.1-.9-.6-1.7-1.5-2.1zm-3.4 4.6v19c0 1.1-1.1 1.9-2.2 1.5-3.7-1.4-.8-7.6-3.4-11-2.5-3.1-5.8.1-8.8-4.8-3-4.7 1-8.1 4.6-9.9.5-.2 1-.2 1.4 0l7.4 3.8c.7.2 1 .8 1 1.4zM24.8 41.9c-.6.3-1.3.2-1.8-.2-1-.9-1.8-2.3-1.8-3.7 0-2.4-4-1.6-4-6.4 0-3.8-4.7-5-8.6-4.6-1 .1-1.8-.6-1.8-1.6V10.9c0-1.2 1.3-2 2.3-1.4l8.6 4.3c.1 0 .2.1.2.1l.3.2c3.6 2.1 2.9 3.8 1.4 6.4-1.7 2.9-2.4 0-4.8-.8s-4.8.8-4 2.4 3.2 0 4.8 1.6c1.6 1.6 1.6 4 6.4 2.4 4.8-1.6 5.6-.8 7.2.8 1.6 1.6 2.4 4.8 0 7.2-1.4 1.4-2 4.3-2.6 6.4-.2.4-.4.8-.8 1l-1 .4z\"}},\nnew_custom79:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M17.8 19.3c-2.9 0-5.2 2.3-5.2 5.2s2.3 5.2 5.2 5.2 5.2-2.3 5.2-5.2-2.3-5.2-5.2-5.2z\"},{\"d\":\"M47.8 35.6H33.5v-5.9H35c.8 0 1.5-.7 1.5-1.5v-4.4c0-.8-.7-1.5-1.5-1.5h-1.7C32.1 14.9 25.8 9.2 18 9 9.1 8.9 1.9 16 2 24.7 2.2 33.3 9.4 40 18.1 40h27.4v1.5c0 .8.7 1.5 1.5 1.5h1.5c.8 0 1.5-.7 1.5-1.5v-3.7c0-1.2-1-2.2-2.2-2.2zm-30-1.5c-5.4 0-9.7-4.3-9.7-9.6s4.3-9.6 9.7-9.6 9.7 4.3 9.7 9.6-4.3 9.6-9.7 9.6z\"}]}},\nnew_custom8:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M23.7 3L4.8 23.8c-1.1 1.2-1.1 3.1 0 4.3L23.7 49c1.3 1.4 3.4 1.4 4.6 0l18.9-20.8c1.1-1.2 1.1-3.1 0-4.3L28.3 3c-1.2-1.3-3.4-1.3-4.6 0z\"}},\nnew_custom80:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M9.7 33.7c-4.3 0-7.7 3.4-7.7 7.7S5.5 49 9.7 49s7.7-3.4 7.7-7.7-3.4-7.6-7.7-7.6zm0 10.7c-1.7 0-3.1-1.4-3.1-3.1 0-1.7 1.4-3.1 3.1-3.1s3.1 1.4 3.1 3.1c0 1.7-1.4 3.1-3.1 3.1zM42.3 33.7c-4.3 0-7.7 3.4-7.7 7.7S38 49 42.3 49s7.7-3.4 7.7-7.7-3.5-7.6-7.7-7.6zm0 10.7c-1.7 0-3.1-1.4-3.1-3.1 0-1.7 1.4-3.1 3.1-3.1s3.1 1.4 3.1 3.1c0 1.7-1.4 3.1-3.1 3.1z\"},{\"d\":\"M41.8 29.1c1.7-.1 3.3.2 4.9.8.8.3 1.6-.1 2-.8 3.9-7.4-2.4-10.9-6.4-12.9-1.1-.5-2.3.2-2.3 1.4V22c0 .9-.6 1.8-1.5 1.7-5.7-.9-10.8-6.9-17-6.9s-7 6.1-7 6.1c-4.3 0-8.6-.3-10.5-.8-1.1-.1-2 .6-2 1.6 0 0 0 5.4 7.7 5.4C16 29.1 21.3 33.7 22 40c.2 1.7 0 3.4-.5 4.8-.2.5.2 1.1.9 1.1h7.1c.6 0 1-.5.9-1.1-.5-1.5-.6-3-.5-4.6.6-6 5.7-10.9 11.9-11.1zM2 23.7zM22.4 11.8c.1.6.5 1.1 1.1 1.3l8.2 2.8c.8.2 1.5-.1 1.9-.8l.7-1.3c.3-.5-.1-1.1-.6-1.2-2.4-.2-7.4-1.1-6-3.8 1.3-2.3 4-1.7 5.8-.9.7.3 1.4-.5 1.1-1.1-1.2-2.5-3.9-4-6.7-3.7-3.6.4-6.2 3.9-5.7 7.5l.2 1.2z\"}]}},\nnew_custom81:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M47.5 2c-.8 0-3.1.1-3.9.1-12.3.6-26.5 3.7-27.2 3.9-1 .3-1.6 1.3-1.6 2.2v26.2c-.8-.3-2.1-.5-3.2-.5-5.3 0-9.6 3.6-9.6 8s4.3 8 9.6 8 9.6-3.6 9.6-8V25.6c0-.7.5-1.4 1.2-1.5 3.9-1 9.4-2 19.5-2.6 1-.1 1.7.6 1.7 1.6v8.3c-.8-.3-2.1-.5-3.2-.5-5.3 0-9.6 3.6-9.6 8s4.3 8 9.6 8 9.6-3.6 9.6-8V4.4C50 3 48.9 1.9 47.5 2zm-5.4 12.7c-9.8.6-14.7 1.5-19 2.5-1 .2-1.9-.6-1.9-1.6v-2.5c0-.7.5-1.4 1.3-1.6 4.2-1 9.2-2 19.4-2.6 1-.1 1.7.6 1.7 1.6V13c0 1-.6 1.7-1.5 1.7z\"}},\nnew_custom82:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M48.5 21.5H32.7c-.8 0-1.5.7-1.5 1.5v.7c0 1.2-1 2.2-2.3 2.2-1.2 0-2.3-1-2.3-2.2V23c0-.8-.7-1.5-1.5-1.5h-3.8.1c-4.4.2-8.3 2.8-10.4 6.4-.8-.3-1.6-.4-2.4-.4-3.8 0-6.8 3-6.8 6.7S5 41 8.8 41c.8 0 1.7-.1 2.4-.4 2.1 3.7 6 6.2 10.4 6.4 7.3.4 13.4-5.5 13.4-12.8 0-.4 0-.9-.1-1.3-.1-.7.5-1.5 1.2-1.6l12.7-2.8c.7-.1 1.2-.7 1.2-1.5v-4c0-.8-.7-1.5-1.5-1.5zm-39.8 15c-1.3 0-2.3-1-2.3-2.2s1-2.2 2.3-2.2c.3 0 .7.1.9.2-.2.9-.2 1.9-.2 2.8 0 .5.1.8.2 1.2-.3.1-.6.2-.9.2zM29 16.2c1.3 0 2.3-1 2.3-2.2V7.2C31.2 6 30.2 5 29 5c-1.3 0-2.3 1-2.3 2.2V14c0 1.3 1 2.2 2.3 2.2zM18.2 17c.5.5 1.1.7 1.7.7.5 0 1.1-.1 1.5-.5 1-.8 1.1-2.2.2-3.1l-4.5-5.2c-.8-1-2.3-1-3.2-.2-1 .8-1.1 2.2-.2 3.1l4.5 5.2zM38 17.7c.6 0 1.3-.3 1.7-.7l4.5-5.2c.8-1 .7-2.4-.2-3.1-1-.8-2.4-.7-3.2.2l-4.5 5.2c-.8 1-.7 2.4.2 3.1.4.4 1 .5 1.5.5z\"}}},\nnew_custom83:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M45.7 17.4c.3.3.8.3 1.1 0l1.1-1.1c2.7-2.7 2.8-6.9.2-9.5 0 0-3.4-3.5-3.5-3.5-2.7-2.2-6.5-1.2-8.6 1l-1.1 1.1c-.3.3-.3.8 0 1.1l10.8 10.9zM31.3 9.8c-.3-.3-.8-.3-1.1 0l-22 21.9C7 32.9 6.1 34.3 5.6 36L2.1 46.8c-.2.6-.2 1.4.2 2 .5.8 1.3 1.2 2.1 1.2.2 0 .5 0 .7-.1 0 0 7.4-2.3 11-3.4 1.6-.5 3-1.4 4.2-2.6L42.2 22c.3-.3.3-.8 0-1.1L31.3 9.8zM14.6 41.9c-1.7.6-4.3 1.4-6.6 2.1l2.1-6.6c.2-.9.7-1.6 1.4-2.2l5.4 5.4c-.7.6-1.5 1.1-2.3 1.3z\"}}},\nnew_custom84:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M45.6 37.2H6.4c-1.3 0-2.4 1-2.4 2.4S5 42 6.4 42h3.1l1.3 6.8c.2.7.8 1.2 1.5 1.2h25.8c.7 0 1.3-.5 1.5-1.2l1.3-6.8h4.7c1.3 0 2.4-1 2.4-2.4s-1-2.4-2.4-2.4zM12.6 32.4h11v-4.5c-.9-.6-1.6-1.6-1.6-2.7 0-1.8 1.4-3.2 3.1-3.2 1.7 0 3.1 1.4 3.1 3.2 0 1.2-.6 2.2-1.6 2.7v4.5h11c.9 0 1.6-.7 1.6-1.6v-2.4c0-4.9-4.6-6.6-8.2-8.1-2.4-1-2.8-2-2.8-3s.7-2 1.5-2.7c1.4-1.3 2.3-3.1 2.3-5.3 0-3.9-2.5-7.4-6.9-7.4s-6.9 3.4-6.9 7.4c0 2.2.8 3.9 2.3 5.3.8.7 1.5 1.7 1.5 2.7 0 1-.4 1.9-2.8 3-3.6 1.5-8.2 3.4-8.2 8.1v2.4c.1.9.8 1.6 1.6 1.6z\"}}},\nnew_custom85:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M48.4 5.2h-40V3.6c0-.9-.7-1.6-1.6-1.6H3.6C2.7 2 2 2.7 2 3.6v44.8c0 .9.7 1.6 1.6 1.6h3.2c.9 0 1.6-.7 1.6-1.6V11.6h40c.9 0 1.6-.7 1.6-1.6V6.8c0-.9-.7-1.6-1.6-1.6z\"},{\"d\":\"M45.2 16.4H18c-2.6 0-4.8 2.2-4.8 4.8v17.6c0 2.6 2.2 4.8 4.8 4.8h27.2c2.6 0 4.8-2.2 4.8-4.8V21.2c0-2.6-2.2-4.8-4.8-4.8zM40.8 30h-2v8c0 .5-.3.8-.8.8h-3.2c-.5 0-.8-.3-.8-.8v-4.8c0-.5-.3-.8-.8-.8H30c-.5 0-.8.3-.8.8V38c0 .5-.3.8-.8.8h-3.2c-.5 0-.8-.3-.8-.8v-8h-2c-.4 0-.6-.5-.2-.7l9-8.7c.3-.2.7-.2 1 0l9 8.7c.2.2 0 .7-.4.7z\"}]}},\nnew_custom86:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M16.4 10h3.2c.5 0 .8-.3.8-.8V6.8h11.2v2.4c0 .5.3.8.8.8h3.2c.5 0 .8-.3.8-.8V6.8c0-2.6-2.2-4.8-4.8-4.8H20.4c-2.6 0-4.8 2.2-4.8 4.8v2.4c0 .5.3.8.8.8zM45.2 14.8H6.8C4.2 14.8 2 17 2 19.6v25.6C2 47.8 4.2 50 6.8 50h38.4c2.6 0 4.8-2.2 4.8-4.8V19.6c0-2.6-2.2-4.8-4.8-4.8zM26 43.6c-6.2 0-11.2-5-11.2-11.2s5-11.2 11.2-11.2 11.2 5 11.2 11.2-5 11.2-11.2 11.2z\"},{\"d\":\"M30.8 30h-2.4v-2.4c0-.9-.7-1.6-1.6-1.6h-1.6c-.9 0-1.6.7-1.6 1.6V30h-2.4c-.9 0-1.6.7-1.6 1.6v1.6c0 .9.7 1.6 1.6 1.6h2.4v2.4c0 .9.7 1.6 1.6 1.6h1.6c.9 0 1.6-.7 1.6-1.6v-2.4h2.4c.9 0 1.6-.7 1.6-1.6v-1.6c0-.9-.7-1.6-1.6-1.6z\"}]}},\nnew_custom87:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M45.6 2H6.4C5 2 4 3 4 4.4v38.4c0 1.4 1 2.4 2.4 2.4h.8v2.4c0 1.4 1 2.4 2.4 2.4h1.6c1.3 0 2.4-1 2.4-2.4v-2.4h25.1v2.4c0 1.4 1 2.4 2.4 2.4h1.6c1.3 0 2.4-1 2.4-2.4v-2.4h.8c1.3 0 2.4-1 2.4-2.4V4.4C48 3 47 2 45.6 2zM11.1 40.4c-1.3 0-2.4-1-2.4-2.4V9.2c0-1.4 1-2.4 2.4-2.4H41c1.3 0 2.4 1 2.4 2.4V38c0 1.4-1 2.4-2.4 2.4H11.1z\"},{\"d\":\"M37 11.6H15c-.9 0-1.6.7-1.6 1.6V34c0 .9.7 1.6 1.6 1.6h22c.9 0 1.6-.7 1.6-1.6V13.2c0-.9-.7-1.6-1.6-1.6zM33.3 26h-6.5c-.9 1.6-2.7 3.2-4.9 3.2-3 0-5.3-2.6-5.3-5.6S19 18 21.9 18c2.2 0 4.1 1.6 4.9 3.2h6.4c1.2 0 2.1 1.2 2.1 2.4.1 1.2-.8 2.4-2 2.4z\"}]}},\nnew_custom88:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M48.5 42h-45c-.8 0-1.5.6-1.5 1.4v.1c0 3.6 4.5 6.5 8 6.5h32c3.5 0 8-2.9 8-6.5v-.1c0-.8-.7-1.4-1.5-1.4zM4.4 37.2h14.4c.9 0 1.6-.9 1.6-1.8V7.9c0-.4-.6-.6-.7-.2l-16 28.2c-.3.6.1 1.3.7 1.3zM26.8 37.2h20c1 0 1.7-.9 1.6-1.8-.7-5.8-1.7-23.7-22.1-33.3-.5-.2-1.1.1-1.1.7v32.6c0 .9.7 1.8 1.6 1.8z\"}}},\nnew_custom89:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M32.3 20.7c-.3-.4-1-.3-1.2.2-1 1.4-1.9 3.4-1.9 5.9v8.8c0 1.3-1 2.4-2.4 2.4-1.3 0-2.4-1-2.4-2.4v-2.5V8.3c0-6.1-5.4-7.1-9.3-5.6-1 .3-2 1-2.7 1.8-.5.6-1 1-1.8 1.3-1.4.3-3.9-1-5.2-1.8-.7-.4-1.7-.2-2.1.4l-1 1.4c-.6.7-.3 1.8.4 2.3 1.5 1 3.9 2.5 5.8 2.8 2.8.5 5.4-.4 7.4-2.3l-.1.1c.6-.5 1.5-1.3 2.2-.4 1.6 2.4-4.8 12.9-4.8 28.1v1.3c0 6.5 6.6 12.1 13 12.4 6.9.3 12.6-5.2 12.6-12 0-3.4 1.3-5.7 2.6-7 .3-.3.3-.8 0-1.1l-9.1-9.3zM47.6 28.3c-.6 0-1.2-.2-1.7-.7L33.1 14.9c-1-1-1-2.5 0-3.4 1-1 2.5-1 3.4 0l12.8 12.8c1 1 1 2.5 0 3.4-.5.4-1.1.6-1.7.6z\"}}},\nnew_custom9:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M49.5 17.3C47.2 7.8 37.2 2 26.2 2 12.8 2 2 12.7 2 26s10.8 24 24.2 24c18.6 0 17.1-9.4 11.2-13.1-3.5-2.2-5.4-7.3-1.9-10.9 6.5-6.7 17 4 14-8.7zM13 34c-2.8 0-5-2.2-5-5s2.2-5 5-5 5 2.2 5 5-2.2 5-5 5zm1-19c0-2.8 2.2-5 5-5s5 2.2 5 5-2.2 5-5 5-5-2.2-5-5zm11 29c-2.8 0-5-2.2-5-5s2.2-5 5-5 5 2.2 5 5-2.2 5-5 5zm9-26c-2.8 0-5-2.2-5-5s2.2-5 5-5 5 2.2 5 5-2.2 5-5 5z\"}},\nnew_custom90:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M47.9 6.9L28.4 9.7v27.5c0 .5-.3.8-.8.8h-3.2c-.5 0-.8-.3-.8-.8V10.5L4.8 13.3h-.3c-1.2 0-2.2-.9-2.4-2.1-.2-1.3.7-2.6 1.9-2.7l14.9-2.2c1.4-2.5 4-4.2 7-4.2 2.2 0 4.2.9 5.6 2.3l15.7-2.2c1.3-.2 2.6.7 2.7 2 .2 1.2-.6 2.4-2 2.7z\"},{\"d\":\"M19.1 36.3c.6-.7.7-1.6.3-2.5L13 18.7c-.3-.9-1.2-1.4-2.2-1.4s-1.8.5-2.2 1.4L2.2 33.9c-.3.7-.2 1.5.2 2.2.2.2 3.3 5 8.3 5 2.9 0 5.8-1.6 8.4-4.8zm-8.3-10.5l3.4 8.2H7.4l3.4-8.2zM43.4 13.9c-.4-.9-1.3-1.4-2.2-1.4-1 0-1.8.6-2.2 1.4l-6.4 15.2c-.3.7-.2 1.5.2 2.2.2.2 3.3 5 8.3 5 3 0 5.8-1.6 8.4-4.8.6-.7.7-1.6.3-2.5l-6.4-15.1zM41.2 21l3.4 8.2h-6.9l3.5-8.2zM26 42.8c-4.5 0-9 1.6-12.2 4.3-.3.3-.6.7-.6 1.2v.1c0 .9.7 1.6 1.6 1.6h22.4c.9 0 1.6-.7 1.6-1.6v-.1c0-.5-.2-.9-.6-1.2-3.2-2.7-7.7-4.3-12.2-4.3z\"}]}},\nnew_custom91:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M48.3 12.1c-2.4-.7-4.5-2.4-5.9-4.6-1-1.7-1.1-5.5-3.7-5.5H13.3c-2.6 0-2.6 3.8-3.7 5.5-1.7 2.6-3.8 3.3-6.4 4.8-2.6 1.5-.2 7.9.4 10.2 2.5 8.9 7.2 17.1 14.6 23 2.1 1.7 4.3 3.1 6.7 4.3 2.2 1.1 5.8-2 7.4-3.2 4.2-3 7.6-6.7 10.3-11 2.3-3.7 4.1-7.7 5.4-11.8.5-1.7 1-3.4 1.3-5.1.3-1.4 1-3.7.6-5.1-.2-.7-.9-1.3-1.6-1.5-3.7-1.1 1.1.3 0 0zm-3.5 5.6c-2.2 10.7-7.9 20.7-17.5 26.6L26 45l-1.3-.8c-11.5-7-15.9-18.3-17.5-26.6L7 16l1.4-.9c2.5-1.5 4.8-4.2 6.2-7l.6-1.4h21.6l.4 1c1.4 3 3.8 5.9 6.8 7.6l1 .6v.1l-.2 1.7z\"},{\"d\":\"M25.2 11.6c-1.8 0-6.3 0-7.2.8-1.5 1.4-2.4 3.4-4 4.7-1.7 1.4-.9 2.9-.3 4.8 1.1 3.4 2.6 6.6 4.7 9.6 1 1.5 2.2 3 3.6 4.2.4.4 4.1 4.1 4.1 1.8V13.2c-.1-.9-.1-1.6-.9-1.6z\"}]}},\nnew_custom92:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M45 31.1l-18.2-8.3c-.5-.2-1-.2-1.4 0L7 31.1c-1 .5-1.4 1.7-.7 2.6 1.9 2.7 3.1 6.2 3.6 7.8.2.6.7 1 1.3 1.2 6.3 1.5 11.5 5.1 13.7 6.8.6.5 1.5.5 2.2 0 2.2-1.7 7.4-5.3 13.7-6.8.6-.2 1.1-.6 1.3-1.2.5-1.7 1.7-5.2 3.6-7.8.6-.8.3-2.1-.7-2.6zm-23.8 4.5c-1.4 0-2.4-1.4-2.4-3.2 0-1.8 1-3.2 2.4-3.2s2.4 1.4 2.4 3.2c0 1.8-1 3.2-2.4 3.2zm9.6 0c-1.4 0-2.4-1.4-2.4-3.2 0-1.8 1-3.2 2.4-3.2s2.4 1.4 2.4 3.2c0 1.8-1 3.2-2.4 3.2z\"},{\"d\":\"M13.5 22.9l9.8-4.5c1.2-.6 2.5-.7 3.8-.5.6.1 1.1.3 1.7.6l9.7 4.5c.6.2 1.1-.2 1.1-.7v-3.6c0-.4-.2-.8-.5-1.1-.6-.7-1.9-1.9-4.3-1.9V11c0-.6-.3-1.1-.8-1.4-.9-.5-2.4-1.2-4.8-1.6V3.6c0-.9-.7-1.6-1.6-1.6h-3.2c-.9 0-1.6.7-1.6 1.6v4.3c-2.4.4-3.9 1.1-4.8 1.6-.5.2-.8.8-.8 1.4v4.7c-2.4 0-3.7 1.2-4.3 1.8-.3.3-.5.7-.5 1.1v3.6c0 .6.6 1 1.1.8z\"}]}},\nnew_custom93:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M20.1 26H44c.7 0 1.4-.5 1.5-1.2l4.4-14.9c.3-1-.5-2-1.5-2H11.5l-.6-2.2C10.5 4.7 9.5 4 8.5 4H4.6C3.3 4 2.1 4.9 2 6.2c-.1 1.3 1.1 2.5 2.4 2.5h2.3l7.6 25c.3 1 1.2 1.7 2.3 1.7h28.2c1.3 0 2.5-.9 2.6-2.2.1-1.3-1.1-2.5-2.4-2.5H20.2c-1.1 0-2-.7-2.3-1.6V29c-.5-1.5.7-3 2.2-3z\"},\"ellipse\":[{\"cx\":\"20.6\",\"cy\":\"44.1\",\"rx\":\"4\",\"ry\":\"3.9\"},{\"cx\":\"40.1\",\"cy\":\"44.1\",\"rx\":\"4\",\"ry\":\"3.9\"}]}},\nnew_custom94:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M30.8 16.4v-12c0-1.4-1-2.4-2.4-2.4h-3.2c-1.4 0-2.4 1-2.4 2.4s1 2.4 2.4 2.4h.8v9.6c0 5.3-4.3 9.6-9.6 9.6s-9.6-4.3-9.6-9.6V6.8h.8c1.4 0 2.4-1 2.4-2.4S9 2 7.6 2H4.4C3 2 2 3 2 4.4v12c0 7.9 6.5 14.4 14.4 14.4s14.4-6.5 14.4-14.4z\"},{\"d\":\"M50 26c0-4-3.2-7.2-7.2-7.2S35.6 22 35.6 26c0 3.1 2 5.8 4.8 6.8v1.8c0 5.8-4.8 10.6-10.6 10.6h-.2c-5 0-9.3-3.6-10.4-8.3-.2-.7-.8-1.3-1.6-1.3H16c-1 0-1.8 1-1.6 1.9C15.7 44.6 22 50 29.4 50h.2c8.6 0 15.5-7 15.5-15.4v-1.8c2.9-1 4.9-3.7 4.9-6.8zm-7.2 2.4c-1.4 0-2.4-1-2.4-2.4s1-2.4 2.4-2.4 2.4 1 2.4 2.4-1 2.4-2.4 2.4z\"}]}},\nnew_custom95:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M28.4 10.2V6.8h.8c1.3 0 2.4-1 2.4-2.4 0-1.3-1-2.4-2.4-2.4h-6.4c-1.3 0-2.4 1-2.4 2.4 0 1.3 1 2.4 2.4 2.4h.8v3.4C13.7 11.4 6 19.8 6 30c0 11 9 20 20 20s20-9 20-20c0-10.2-7.7-18.6-17.6-19.8zm-2.4 35c-8.4 0-15.2-6.8-15.2-15.2S17.6 14.8 26 14.8 41.2 21.6 41.2 30 34.4 45.2 26 45.2z\"},{\"d\":\"M31.3 21.8l-3.7 3.7c-.5-.2-1-.3-1.6-.3-2.6 0-4.8 2.2-4.8 4.8s2.2 4.8 4.8 4.8 4.8-2.2 4.8-4.8c0-.6-.1-1.1-.3-1.6l3.7-3.7c.8-.8.8-2.1 0-2.9-.8-.8-2.1-.8-2.9 0z\"}]}},\nnew_custom96:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M49.5 9l-4.2-3.1c-.6-.4-1.2-.6-1.9-.6H29.2V3.6c0-.9-.7-1.6-1.6-1.6h-3.2c-.9 0-1.6.7-1.6 1.6v1.6h-16c-.9 0-1.6.7-1.6 1.6v6.4c0 .9.7 1.6 1.6 1.6H43.4c.7 0 1.4-.2 1.9-.6l4.2-3.1c.7-.6.7-1.6 0-2.1zM45.2 22.8h-16v-2.4c0-.5-.3-.8-.8-.8h-4.8c-.5 0-.8.3-.8.8v2.4H8.6c-.7 0-1.4.2-1.9.6l-4.2 3.1c-.7.5-.7 1.5 0 2.1l4.2 3.1c.6.4 1.2.6 1.9.6h36.6c.9 0 1.6-.7 1.6-1.6v-6.4c0-.8-.7-1.5-1.6-1.5zM29.2 43.3V38c0-.5-.3-.8-.8-.8h-4.8c-.5 0-.8.3-.8.8v5.3c-3.2.9-5 2.8-5.5 5.2-.2.7.4 1.5 1.2 1.5h15.1c.8 0 1.4-.7 1.2-1.5-.6-2.4-2.4-4.3-5.6-5.2z\"}}},\nnew_custom97:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M34.2 29.3v-19C34.2 5.6 30.6 2 26 2h-.1c-4.6 0-8.2 3.7-8.2 8.3v19C15.3 31.6 14 34.7 14 38c0 6.6 5.4 12 12 12s12-5.4 12-12c0-3.4-1.3-6.4-3.8-8.7zM32.3 38H19.7c-.7 0-1.2-.7-1.1-1.4.3-1.8 1.3-3.4 2.7-4.5.5-.5.9-1.1.9-1.8v-20c0-2.2 1.6-3.8 3.7-3.8h.1c2.1 0 3.7 1.7 3.7 3.8v.7h-2.2c-1.3 0-2.2 1-2.2 2.2s1 2.2 2.2 2.2h2.2v3h-2.2c-1.3 0-2.2 1-2.2 2.2s1 2.2 2.2 2.2h2.2v3h-2.2c-1.3 0-2.2 1-2.2 2.2s1 2.2 2.2 2.2h2.2c.1.7.4 1.2.9 1.7 1.4 1.1 2.4 2.8 2.7 4.5.2.9-.3 1.6-1 1.6z\"}},\nnew_custom98:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M49.6 22.1l-5.9-5.9c-.3-.3-.7-.5-1-.5h-6.1c-.8 0-1.5.7-1.5 1.5v12.1c0 .5.5.9 1.1.7 1-.5 2.2-.7 3.4-.7 3.4 0 6.3 1.9 7.9 4.7.2.4.8.5 1.1.2.9-.8 1.5-2 1.5-3.4v-7.7c-.1-.3-.2-.7-.5-1z\"},{\"d\":\"M29 9H3.5C2.7 9 2 9.7 2 10.5v20.4c0 1.4.6 2.6 1.5 3.4.4.3.9.2 1.1-.2 1.5-2.8 4.5-4.7 7.9-4.7 3.8 0 6.9 2.3 8.3 5.6.1.3.4.5.7.5H26c2.5 0 4.5-2 4.5-4.5V10.5c0-.8-.7-1.5-1.5-1.5z\"}],\"circle\":[{\"cx\":\"39.5\",\"cy\":\"38.5\",\"r\":\"4.5\"},{\"cx\":\"12.5\",\"cy\":\"38.5\",\"r\":\"4.5\"}]}},\nnew_custom99:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M45.2 16.6H31.8c-.4-.9-1-1.7-1.7-2.4l5-6.4c.8-1 .6-2.5-.4-3.3-1-.8-2.6-.6-3.4.4L25.8 12c-.5 0-.9-.1-1.4-.1-.5 0-.9.1-1.3.1l-5.6-7.1c-.8-1-2.3-1.2-3.4-.4s-1.1 2.3-.3 3.3l5 6.4c-.7.7-1.3 1.5-1.7 2.4H6.8c-2.6 0-4.8 2.1-4.8 4.7v22C2 45.9 4.2 48 6.8 48h38.4c2.6 0 4.8-2.1 4.8-4.7v-22c0-2.6-2.2-4.7-4.8-4.7zm-6.4 25.1c0 .9-.7 1.6-1.6 1.6H8.4c-.9 0-1.6-.7-1.6-1.6V22.9c0-.9.7-1.6 1.6-1.6h28.8c.9 0 1.6.7 1.6 1.6v18.8zm5.6-7.8c-1.4 0-2.4-1-2.4-2.4s1-2.4 2.4-2.4 2.4 1 2.4 2.4-1 2.4-2.4 2.4zm0-7.9C43 26 42 25 42 23.7c0-1.3 1-2.4 2.4-2.4s2.4 1 2.4 2.4c0 1.3-1 2.3-2.4 2.3z\"}},\nnew_event:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M46.5 20h-41c-.8 0-1.5.7-1.5 1.5V46c0 2.2 1.8 4 4 4h36c2.2 0 4-1.8 4-4V21.5c0-.8-.7-1.5-1.5-1.5zM19 42c0 .6-.4 1-1 1h-4c-.6 0-1-.4-1-1v-4c0-.6.4-1 1-1h4c.6 0 1 .4 1 1v4zm0-10c0 .6-.4 1-1 1h-4c-.6 0-1-.4-1-1v-4c0-.6.4-1 1-1h4c.6 0 1 .4 1 1v4zm10 10c0 .6-.4 1-1 1h-4c-.6 0-1-.4-1-1v-4c0-.6.4-1 1-1h4c.6 0 1 .4 1 1v4zm0-10c0 .6-.4 1-1 1h-4c-.6 0-1-.4-1-1v-4c0-.6.4-1 1-1h4c.6 0 1 .4 1 1v4zm10 10c0 .6-.4 1-1 1h-4c-.6 0-1-.4-1-1v-4c0-.6.4-1 1-1h4c.6 0 1 .4 1 1v4zm0-10c0 .6-.4 1-1 1h-4c-.6 0-1-.4-1-1v-4c0-.6.4-1 1-1h4c.6 0 1 .4 1 1v4zM44 7h-5V5c0-1.6-1.3-3-3-3-1.6 0-3 1.3-3 3v2H19V5c0-1.6-1.3-3-3-3-1.6 0-3 1.3-3 3v2H8c-2.2 0-4 1.8-4 4v2.5c0 .8.7 1.5 1.5 1.5h41c.8 0 1.5-.7 1.5-1.5V11c0-2.2-1.8-4-4-4z\"}}},\nnew_group:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M15.8 28c-1.4-2.1-2.1-4.5-2.1-7.2 0-4.6 1.9-8.4 4.9-10.7-1-1.8-3-3.1-5.6-3.1-4.4 0-6.9 3.6-6.9 7.7 0 2.2.7 4.1 2.2 5.4.8.8 1.5 1.8 1.5 2.8 0 1-.4 2-2.9 3.1-3.6 1.6-6.9 3.8-7 7.1C0 35.3 1.4 37 3.5 37h3.3c.5 0 1-.3 1.3-.8 1.6-2.9 4.6-4.7 7.1-6 .9-.4 1.1-1.5.6-2.2zM45 26c-2.5-1.1-2.9-2-2.9-3.1s.7-2.1 1.5-2.8c1.5-1.4 2.2-3.2 2.2-5.4 0-4.1-2.4-7.7-6.9-7.7-2.6 0-4.6 1.3-5.7 3.1 3 2.3 4.9 6.1 4.9 10.7 0 2.7-.7 5.1-2.1 7.2-.5.8-.2 1.8.6 2.2 2.5 1.2 5.5 3.1 7.1 6 .3.5.8.8 1.3.8h3.3c2.1 0 3.5-1.7 3.5-3.9.1-3.3-3.2-5.5-6.8-7.1z\"},{\"d\":\"M32.6 33.3c-2.7-1.2-3.2-2.3-3.2-3.4 0-1.2.8-2.3 1.7-3.1 1.6-1.5 2.5-3.6 2.5-6 0-4.5-2.7-8.4-7.6-8.4-4.9 0-7.6 3.9-7.6 8.4 0 2.4.9 4.5 2.5 6 .9.9 1.7 2 1.7 3.1 0 1.2-.4 2.2-3.2 3.4-4 1.7-7.8 3.6-7.9 7.2 0 2.4 1.8 4.4 4.1 4.4h20.8c2.3 0 4.1-2 4.1-4.4-.1-3.6-3.9-5.4-7.9-7.2z\"}]}},\nnew_lead:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"circle\":{\"cx\":\"26\",\"cy\":\"9.2\",\"r\":\"7.2\"},\"path\":{\"d\":\"M48.4 21.2H3.6c-1.6 0-2.2 2-.9 2.9l11.7 7.5c.6.4.9 1.1.6 1.8L10.7 48c-.5 1.6 1.6 2.7 2.8 1.5l11.4-12c.6-.7 1.8-.7 2.4 0l11.4 12c1.1 1.2 3.2.1 2.8-1.5L37 33.3c-.2-.6.1-1.4.6-1.8L49.3 24c1.3-.8.7-2.8-.9-2.8z\"}},\nnew_note:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M41.4 39.7l-.9.9c-1 1-2.3 1.5-3.7 1.5h-2.6c-2.4 0-5-1.9-5-5.2v-2.5c0-2 .9-3.2 1.4-3.9l10.8-11c.3-.3.6-1 .6-1.4V9.8C42 7.2 39.8 5 37.2 5H11.6C9 5 6.8 7.4 6.8 9.8H5.2C3.4 9.8 2 11.3 2 13.1s1.4 3.2 3.2 3.2h1.6v6.5H5.2C3.4 22.8 2 24.2 2 26s1.4 3.2 3.2 3.2h1.6v6.5H5.2c-1.8 0-3.2 1.5-3.2 3.2 0 1.8 1.4 3.2 3.2 3.2h1.6c0 3.2 2.2 4.8 4.8 4.8H37.2c2.6 0 4.8-2.2 4.8-4.8V40c0-.5-.2-.6-.6-.3zm-8.2-22.6c0 .9-.7 1.6-1.6 1.6h-16c-.9 0-1.6-.7-1.6-1.6v-1.6c0-.9.7-1.6 1.6-1.6h16c.9 0 1.6.7 1.6 1.6v1.6zM26 36.5c0 .9-.7 1.6-1.6 1.6h-8.8c-.9 0-1.6-.7-1.6-1.6v-1.6c0-.9.7-1.6 1.6-1.6h8.8c.9 0 1.6.7 1.6 1.6v1.6zm2.4-9.7c0 .9-.7 1.6-1.6 1.6H15.6c-.9 0-1.6-.7-1.6-1.6v-1.6c0-.9.7-1.6 1.6-1.6h11.2c.9 0 1.6.7 1.6 1.6v1.6z\"},{\"d\":\"M49.5 22.4l-1-1c-.6-.6-1.6-.6-2.2 0L34.1 34c-.1 0-.1.2-.1.2v2.7c0 .2 0 .4.2.4h2.6c.1 0 .2-.1.3-.1l12.3-12.4c.8-.7.8-1.7.1-2.4z\"}]}},\nnew_notebook:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M44 2H14c-2.2 0-4 1.8-4 4v3H7c-1.7 0-3 1.3-3 3s1.3 3 3 3h3v8H7c-1.7 0-3 1.3-3 3s1.3 3 3 3h3v8H7c-1.7 0-3 1.3-3 3s1.3 3 3 3h3v3c0 2.2 1.8 4 4 4h30c2.2 0 4-1.8 4-4V6c0-2.2-1.8-4-4-4zm-7 34c0 .6-.4 1-1 1H22c-.6 0-1-.4-1-1v-2c0-.6.4-1 1-1h14c.6 0 1 .4 1 1v2zm2-8c0 .6-.4 1-1 1H20c-.6 0-1-.4-1-1v-2c0-.6.4-1 1-1h18c.6 0 1 .4 1 1v2zm2-10c0 .6-.4 1-1 1H18c-.6 0-1-.4-1-1v-6c0-.6.4-1 1-1h22c.6 0 1 .4 1 1v6z\"}},\nnew_opportunity:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M41.8 41H10.2c-.8 0-1.4.7-1.4 1.4v.1c0 2.5 2 4.5 4.5 4.5h25.5c2.5 0 4.5-2 4.5-4.5v-.1c-.1-.7-.7-1.4-1.5-1.4zM45.5 10.2c-2.5 0-4.5 2-4.5 4.5 0 1.4.6 2.6 1.6 3.4-1.3 2.9-4.2 4.9-7.6 4.8-4-.2-7.2-3.4-7.4-7.4 0-.7 0-1.3.1-1.9 1.7-.7 2.9-2.2 2.9-4.2C30.5 7 28.5 5 26 5s-4.5 2-4.5 4.5c0 1.9 1.2 3.5 2.8 4.2.2.6.2 1.2.2 1.9-.2 4-3.4 7.2-7.4 7.4-3.4.2-6.4-1.9-7.7-4.8 1-.8 1.6-2.1 1.6-3.4 0-2.5-2-4.5-4.5-4.5S2 12.3 2 14.8s2 4.5 4.5 4.5l2.1 16c.1.7.7 1.2 1.4 1.2h32c.7 0 1.3-.5 1.4-1.2l2.1-16c2.5 0 4.5-2 4.5-4.5s-2-4.6-4.5-4.6z\"}},\nnew_person_account:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M41.7 33.2c-2.9-1.2-3.4-2.3-3.4-3.5 0-1.2.8-2.3 1.8-3.2 1.7-1.5 2.6-3.7 2.6-6.2 0-4.6-3-8.7-8.2-8.7s-8.2 4-8.2 8.7c0 2.6 1 4.6 2.6 6.2 1 .9 1.8 2 1.8 3.2 0 1.2-.5 2.3-3.4 3.5-4.3 1.8-8.3 4-8.4 7.8 0 2.5 1.9 5 4.3 5h22.4c2.5 0 4.3-2.5 4.3-5 .2-3.7-3.9-6-8.2-7.8z\"},{\"d\":\"M23.4 27.1c-.3-.4-1.9-2.4-1.8-7.8.1-5.3 2.4-6.6 2.4-6.6V7.5c0-.9-.9-1.5-1.5-1.5h-19C2.8 6 2 6.7 2 7.6v34.9h10.8C13.1 33.6 23.3 30 23.3 30c1.5-.8.4-2.5.1-2.9zm-12.8 11c0 .9-.7 1.6-1.6 1.6H7.4c-.9 0-1.6-.7-1.6-1.6v-1.6c0-.9.7-1.6 1.6-1.6H9c.9 0 1.6.7 1.6 1.6v1.6zm0-7.9c0 .9-.7 1.6-1.6 1.6H7.4c-.9 0-1.6-.7-1.6-1.6v-1.6c0-.9.7-1.6 1.6-1.6H9c.9 0 1.6.7 1.6 1.6v1.6zm0-8c0 .9-.7 1.6-1.6 1.6H7.4c-.9 0-1.6-.7-1.6-1.6v-1.6c0-.9.7-1.6 1.6-1.6H9c.9 0 1.6.7 1.6 1.6v1.6zm0-7.9c0 .9-.7 1.6-1.6 1.6H7.4c-.9 0-1.6-.7-1.6-1.6v-1.6c0-.9.7-1.6 1.6-1.6H9c.9 0 1.6.7 1.6 1.6v1.6zm9 15.9c0 .9-.7 1.6-1.6 1.6h-1.6c-.9 0-1.6-.7-1.6-1.6v-1.6c0-.9.7-1.6 1.6-1.6H18c.9 0 1.6.7 1.6 1.6v1.6zm0-8c0 .9-.7 1.6-1.6 1.6h-1.6c-.9 0-1.6-.7-1.6-1.6v-1.6c0-.9.7-1.6 1.6-1.6H18c.9 0 1.6.7 1.6 1.6v1.6zm0-7.9c0 .9-.7 1.6-1.6 1.6h-1.6c-.9 0-1.6-.7-1.6-1.6v-1.6c0-.9.7-1.6 1.6-1.6H18c.9 0 1.6.7 1.6 1.6v1.6z\"}]},\nnew_task:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M24 7l-1.7-1.7c-.5-.5-1.2-.5-1.7 0L10 15.8l-4.3-4.2c-.5-.5-1.2-.5-1.7 0l-1.7 1.7c-.5.5-.5 1.2 0 1.7l5.9 5.9c.5.5 1.1.7 1.7.7.6 0 1.2-.2 1.7-.7L24 8.7c.4-.4.4-1.2 0-1.7zM48.4 18.4H27.5c-.9 0-1.6-.7-1.6-1.6v-3.2c0-.9.7-1.6 1.6-1.6h20.9c.9 0 1.6.7 1.6 1.6v3.2c0 .9-.7 1.6-1.6 1.6zM48.4 32.7H22.7c-.9 0-1.6-.7-1.6-1.6v-3.2c0-.9.7-1.6 1.6-1.6h25.7c.9 0 1.6.7 1.6 1.6v3.2c0 .9-.7 1.6-1.6 1.6zM13 32.7H9.8c-.9 0-1.6-.7-1.6-1.6v-3.2c0-.9.7-1.6 1.6-1.6H13c.9 0 1.6.7 1.6 1.6v3.2c.1.9-.7 1.6-1.6 1.6zM13 47H9.8c-.9 0-1.6-.7-1.6-1.6v-3.2c0-.9.7-1.6 1.6-1.6H13c.9 0 1.6.7 1.6 1.6v3.2c.1.9-.7 1.6-1.6 1.6zM48.4 47H22.7c-.9 0-1.6-.7-1.6-1.6v-3.2c0-.9.7-1.6 1.6-1.6h25.7c.9 0 1.6.7 1.6 1.6v3.2c0 .9-.7 1.6-1.6 1.6z\"}},\npassword_unlock:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M10 18.1v0zM42 23H16v-4.7c0-5.3 4-10 9.3-10.3 4.9-.3 9 2.8 10.3 7.2.1.4.5.8 1 .8h4.1c.6 0 1.1-.6 1-1.2C40.1 7.2 33.3 1.6 25.2 2c-8.5.4-15 7.7-15.2 16.1V23c-2.2 0-4 1.8-4 4v19c0 2.2 1.8 4 4 4h32c2.2 0 4-1.8 4-4V27c0-2.2-1.8-4-4-4zM30.6 42.7c.2.6-.3 1.3-1 1.3h-7.3c-.7 0-1.2-.6-1-1.3l1.8-6c-1.5-1-2.4-2.8-2-4.8.4-1.9 1.9-3.4 3.9-3.8 3.2-.6 6 1.7 6 4.7 0 1.6-.8 3.1-2.1 3.9l1.7 6z\"}}},\npreview:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M51.8 25.1C47.1 15.6 37.3 9 26 9S4.9 15.6.2 25.1c-.3.6-.3 1.3 0 1.8C4.9 36.4 14.7 43 26 43s21.1-6.6 25.8-16.1c.3-.6.3-1.2 0-1.8zM26 37c-6.1 0-11-4.9-11-11s4.9-11 11-11 11 4.9 11 11-4.9 11-11 11z\"},{\"d\":\"M26 19c-3.9 0-7 3.1-7 7s3.1 7 7 7 7-3.1 7-7-3.1-7-7-7z\"}]}},\npriority:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M9 3.5C9 2.7 8.3 2 7.5 2h-3C3.7 2 3 2.7 3 3.5v45c0 .8.7 1.5 1.5 1.5h3c.8 0 1.5-.7 1.5-1.5v-45zM47.5 7.7c-16 8.4-14.2-8.8-33.5-2.1-.6.2-1 .8-1 1.4v23.3c0 .7.7 1.2 1.3.9 19.2-6.4 17.2 11.2 33.9 1.8.5-.3.8-.8.8-1.3V8.5c0-.7-.8-1.2-1.5-.8z\"}}},\nquestion_post_action:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M28.4 38h-5c-.8 0-1.4-.6-1.4-1.4v-1.5c0-4.2 2.7-8 6.7-9.4 1.2-.4 2.3-1.1 3.2-2.1 5-6 .4-13.2-5.6-13.4-2.2-.1-4.3.7-5.9 2.2-1.3 1.2-2.1 2.7-2.3 4.4-.1.6-.7 1.1-1.5 1.1h-5c-.9 0-1.6-.7-1.5-1.6.4-3.8 2.1-7.2 4.8-9.9 3.2-3 7.3-4.6 11.7-4.5C34.9 2.2 41.7 9 42 17.3c.3 7-4 13.3-10.5 15.7-.9.4-1.5 1.1-1.5 2v1.5c0 .9-.8 1.5-1.6 1.5zM30 48.5c0 .8-.7 1.5-1.5 1.5h-5c-.8 0-1.5-.7-1.5-1.5v-5c0-.8.7-1.5 1.5-1.5h5c.8 0 1.5.7 1.5 1.5v5z\"}},\nquote:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M35 23H17c-.6 0-1 .4-1 1v3c0 .6.4 1 1 1h18c.6 0 1-.4 1-1v-3c0-.6-.4-1-1-1zM33 32H19c-.6 0-1 .4-1 1v3c0 .6.4 1 1 1h14c.6 0 1-.4 1-1v-3c0-.6-.4-1-1-1z\"},{\"d\":\"M45.8 12.3l-9.6-9.2c-.8-.7-1.8-1.1-2.8-1.1H18.6c-1 0-2 .4-2.8 1.1l-9.6 9.2c-.8.8-1.2 1.8-1.2 2.9V46c0 2.2 1.8 4 4 4h34c2.2 0 4-1.8 4-4V15.2c0-1.1-.4-2.1-1.2-2.9zM26 5c2.2 0 4 1.8 4 4s-1.8 4-4 4-4-1.8-4-4 1.8-4 4-4zm15 37.5c0 .8-.7 1.5-1.5 1.5h-27c-.8 0-1.5-.7-1.5-1.5v-25c0-.8.7-1.5 1.5-1.5h27c.8 0 1.5.7 1.5 1.5v25z\"}]}},\nrecall:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M18.2 22.6c-.5-.6-.2-1.6.5-1.8h9c6.7 0 12.1 5.7 11.5 12.6-.6 5.9-5.8 10.3-11.8 10.3H24c-.8 0-1.6.7-1.6 1.6v3.1c0 .8.7 1.6 1.6 1.6h3.6c9.7 0 17.5-7.8 17.7-17.4.2-9.9-8.2-18-18.1-18.1h-8.3s-2.7.1-1-1.8l5.9-5.8c.6-.6.6-1.6 0-2.2l-2.2-2.2c-.6-.6-1.6-.6-2.2 0l-14 14.1c-.6.6-.6 1.6 0 2.2l14.1 14.1c.6.6 1.6.6 2.2 0l2.2-2.2c.6-.6.6-1.6 0-2.2l-5.7-5.9z\"}},\nrecord:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M17.4 11.6h17.3c.9 0 1.6-.7 1.6-1.6V6.8c0-2.6-2.1-4.8-4.7-4.8h-11c-2.6 0-4.7 2.2-4.7 4.8V10c-.1.9.6 1.6 1.5 1.6z\"},{\"d\":\"M43.3 6h-1.6c-.5 0-.8.3-.8.8V10c0 3.5-2.8 6.4-6.3 6.4H17.4c-3.5 0-6.3-2.9-6.3-6.4V6.8c0-.5-.3-.8-.8-.8H8.7C6.1 6 4 8.2 4 10.8v34.4C4 47.8 6.1 50 8.7 50h34.6c2.6 0 4.7-2.2 4.7-4.8V10.8C48 8.2 45.9 6 43.3 6zM17.4 40.4c0 .9-.7 1.6-1.6 1.6h-1.6c-.9 0-1.6-.7-1.6-1.6v-1.6c0-.9.7-1.6 1.6-1.6h1.6c.9 0 1.6.7 1.6 1.6v1.6zm0-8c0 .9-.7 1.6-1.6 1.6h-1.6c-.9 0-1.6-.7-1.6-1.6v-1.6c0-.9.7-1.6 1.6-1.6h1.6c.9 0 1.6.7 1.6 1.6v1.6zm0-8c0 .9-.7 1.6-1.6 1.6h-1.6c-.9 0-1.6-.7-1.6-1.6v-1.6c0-.9.7-1.6 1.6-1.6h1.6c.9 0 1.6.7 1.6 1.6v1.6zm22 16c0 .9-.7 1.6-1.6 1.6H22.1c-.9 0-1.6-.7-1.6-1.6v-1.6c0-.9.7-1.6 1.6-1.6h15.7c.9 0 1.6.7 1.6 1.6v1.6zm0-8c0 .9-.7 1.6-1.6 1.6H22.1c-.9 0-1.6-.7-1.6-1.6v-1.6c0-.9.7-1.6 1.6-1.6h15.7c.9 0 1.6.7 1.6 1.6v1.6zm0-8c0 .9-.7 1.6-1.6 1.6H22.1c-.9 0-1.6-.7-1.6-1.6v-1.6c0-.9.7-1.6 1.6-1.6h15.7c.9 0 1.6.7 1.6 1.6v1.6z\"}]},\nrefresh:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M46.5 4h-3c-.8 0-1.5.7-1.5 1.5v7c0 .9-.5 1.3-1.2.7-.3-.4-.6-.7-1-1-5-5-12-7.1-19.2-5.7-2.5.5-4.9 1.5-7 2.9-6.1 4-9.6 10.5-9.7 17.5-.1 5.4 2 10.8 5.8 14.7 4 4.2 9.4 6.5 15.2 6.5 5.1 0 9.9-1.8 13.7-5 .7-.6.7-1.6.1-2.2l-2.1-2.1c-.5-.5-1.4-.6-2-.1-3.6 3-8.5 4.2-13.4 3-1.3-.3-2.6-.9-3.8-1.6C11.7 36.6 9 30 10.6 23.4c.3-1.3.9-2.6 1.6-3.8C15 14.7 19.9 12 25.1 12c4 0 7.8 1.6 10.6 4.4.5.4.9.9 1.2 1.4.3.8-.4 1.2-1.3 1.2h-7c-.8 0-1.5.7-1.5 1.5v3.1c0 .8.6 1.4 1.4 1.4h18.3c.7 0 1.3-.6 1.3-1.3V5.5C48 4.7 47.3 4 46.5 4z\"}},\nreject:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M31.6 25.8l13.1-13.1c.6-.6.6-1.5 0-2.1l-2.1-2.1c-.6-.6-1.5-.6-2.1 0L27.4 21.6c-.4.4-1 .4-1.4 0L12.9 8.4c-.6-.6-1.5-.6-2.1 0l-2.1 2.1c-.6.6-.6 1.5 0 2.1l13.1 13.1c.4.4.4 1 0 1.4L8.6 40.3c-.6.6-.6 1.5 0 2.1l2.1 2.1c.6.6 1.5.6 2.1 0L26 31.4c.4-.4 1-.4 1.4 0l13.1 13.1c.6.6 1.5.6 2.1 0l2.1-2.1c.6-.6.6-1.5 0-2.1L31.6 27.2c-.3-.4-.3-1 0-1.4z\"}},\nremove:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M31.6 25.8l13.1-13.1c.6-.6.6-1.5 0-2.1l-2.1-2.1c-.6-.6-1.5-.6-2.1 0L27.4 21.6c-.4.4-1 .4-1.4 0L12.9 8.4c-.6-.6-1.5-.6-2.1 0l-2.1 2.1c-.6.6-.6 1.5 0 2.1l13.1 13.1c.4.4.4 1 0 1.4L8.6 40.3c-.6.6-.6 1.5 0 2.1l2.1 2.1c.6.6 1.5.6 2.1 0L26 31.4c.4-.4 1-.4 1.4 0l13.1 13.1c.6.6 1.5.6 2.1 0l2.1-2.1c.6-.6.6-1.5 0-2.1L31.6 27.2c-.3-.4-.3-1 0-1.4z\"}},\nremove_relationship:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M36.001 20c0-2.2-1.799-4-4-4H6c-2.199 0-4 1.8-4 4v26c0 2.2 1.801 4 4 4h26.001c2.201 0 4-1.8 4-4V20zM11 35c-.5 0-1-.5-1-1v-2c0-.5.5-1 1-1h16.001c.5 0 1 .5 1 1v2c0 .5-.5 1-1 1H11zm32.001 7h-3v-6h3c.6 0 1-.4 1-1V9c0-.6-.4-1-1-1H17c-.6 0-1 .4-1 1v3h-6V9c0-3.9 3.102-7 7-7h26.001c3.9 0 7 3.1 7 7v26c0 3.9-3.1 7-7 7z\"}},\nreset_password:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M46.5 4h-3c-.8 0-1.5.7-1.5 1.5v7c0 .9-.5 1.3-1.2.7-.3-.4-.6-.7-1-1-5-5-12-7.1-19.2-5.7-2.5.5-4.9 1.5-7 2.9-6.1 4-9.6 10.5-9.7 17.5-.1 5.4 2 10.8 5.8 14.7 4 4.2 9.4 6.5 15.2 6.5 5.1 0 9.9-1.8 13.7-5 .7-.6.7-1.6.1-2.2l-2.1-2.1c-.5-.5-1.4-.6-2-.1-3.6 3-8.5 4.2-13.4 3-1.3-.3-2.6-.9-3.8-1.6C11.7 36.6 9 30 10.6 23.4c.3-1.3.9-2.6 1.6-3.8C15 14.7 19.9 12 25.1 12c4 0 7.8 1.6 10.6 4.4.5.4.9.9 1.2 1.4.3.8-.4 1.2-1.3 1.2h-7c-.8 0-1.5.7-1.5 1.5v3.1c0 .8.6 1.4 1.4 1.4h18.3c.7 0 1.3-.6 1.3-1.3V5.5C48 4.7 47.3 4 46.5 4z\"}},\nscript:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M44 6.8c-8.8 0-15.6 6.9-15.6 15.7v21.1c0 .8.7 1.5 1.5 1.5h16.7c.8 0 1.5-.7 1.5-1.5V27c0-.8-.7-1.5-1.5-1.5H34.2v-2.9c0-4.9 4.8-9.8 9.7-9.8h2.6c.8 0 1.5-.7 1.5-1.5v-3c0-.8-.7-1.5-1.5-1.5H44zm-24.4 0C10.8 6.8 4 13.7 4 22.6v21.1c0 .8.7 1.5 1.5 1.5h16.7c.8 0 1.5-.7 1.5-1.5V27c0-.8-.7-1.5-1.5-1.5H9.9v-2.9c0-4.9 4.8-9.8 9.7-9.8h2.6c.8 0 1.5-.7 1.5-1.5v-3c0-.8-.7-1.5-1.5-1.5h-2.6z\"}},\nshare:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M48.5 30h-3c-.8 0-1.5.7-1.5 1.5v11c0 .8-.7 1.5-1.5 1.5h-33c-.8 0-1.5-.7-1.5-1.5v-21c0-.8.7-1.5 1.5-1.5h4c.8 0 1.5-.7 1.5-1.5v-3c0-.8-.7-1.5-1.5-1.5H6c-2.2 0-4 1.8-4 4v28c0 2.2 1.8 4 4 4h40c2.2 0 4-1.8 4-4V31.5c0-.8-.7-1.5-1.5-1.5z\"},{\"d\":\"M34 14c-10 0-19.1 8.9-19.9 19.4-.1.8.6 1.6 1.5 1.6h3c.8 0 1.4-.6 1.5-1.3C20.8 26.2 27.2 20 35 20h1.6c.9 0 1.3 1.1.7 1.7l-5.5 5.6c-.6.6-.6 1.5 0 2.1l2.1 2.1c.6.6 1.5.6 2.1 0L49.6 18c.6-.6.6-1.5 0-2.1L36.1 2.4c-.6-.6-1.5-.6-2.1 0l-2.1 2.1c-.6.6-.7 1.5-.1 2.1l5.6 5.6c.6.6.2 1.7-.7 1.7L34 14z\"}]}},\nshare_file:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M41 16h7.8c.4 0 .7-.5.4-.9l-8.3-8.3c-.4-.3-.9 0-.9.4V15c0 .6.4 1 1 1z\"},{\"d\":\"M49 20H38c-1.1 0-2-.9-2-2V7c0-.6-.4-1-1-1H21.5c-.8 0-1.5.7-1.5 1.5v4c0 .4.2.8.4 1.1l5.6 5.6c.8.8 1.4 1.9 1.6 3.1.2 1.6-.3 3.1-1.4 4.3L24.6 27c-.5.5-1 .8-1.6 1.1.7.3 1.5.5 2.3.6 2.6.2 4.7 2.4 4.7 5.1V36c0 1.4-.7 2.8-1.7 3.7-1 1-2.5 1.4-3.9 1.3-1.1-.1-2.1-.3-3.2-.5-.6-.2-1.2.3-1.2 1v3.1c0 .8.7 1.5 1.5 1.5h27c.8 0 1.5-.7 1.5-1.5V21c0-.6-.4-1-1-1z\"},{\"d\":\"M26 35.9v-2.2c0-.6-.5-1-1.1-1.1-5.4-.5-9.9-5.1-9.9-10.8v-1.2c0-.6.8-1 1.2-.5l4 4c.4.4 1.1.4 1.5 0l1.5-1.5c.4-.4.4-1.1 0-1.5l-9.7-9.7c-.4-.4-1.1-.4-1.5 0l-9.7 9.7c-.4.4-.4 1.1 0 1.5l1.5 1.5c.4.4 1.1.5 1.5.1l4.2-4c.5-.5 1.4-.1 1.4.5v1.9c0 7.2 6.3 13.8 13.9 14.4.7 0 1.2-.5 1.2-1.1z\"}]}},\nshare_link:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M27.2 41.7l-2.1-.3c-.7-.1-1.4-.3-2.1-.6-.4-.1-.9 0-1.2.3l-.5.5c-2.9 2.9-7.6 3.2-10.6.6-3.4-2.9-3.5-8.1-.4-11.2l7.6-7.6c1-1 2.2-1.6 3.4-2 1.6-.4 3.3-.3 4.8.3.9.4 1.8.9 2.6 1.7.4.4.7.8 1 1.3.4.7 1.3.8 1.8.2l2.8-2.8c.4-.4.4-1 .1-1.5-.4-.6-.9-1.1-1.4-1.6-.7-.7-1.5-1.4-2.4-1.9-1.4-.9-3-1.5-4.7-1.8-3.1-.6-6.5-.1-9.3 1.4-1.1.6-2.2 1.4-3.1 2.3l-7.3 7.3C.9 31.6.5 40.2 5.6 45.6c5.3 5.8 14.3 5.9 19.8.4l2.5-2.5c.7-.5.2-1.7-.7-1.8z\"},{\"d\":\"M45.6 5.8c-5.5-5.1-14.1-4.7-19.3.6L24 8.6c-.7.7-.2 1.9.7 2 1.4.1 2.8.4 4.2.8.4.1.9 0 1.2-.3l.5-.5c2.9-2.9 7.6-3.2 10.6-.6 3.4 2.9 3.5 8.1.4 11.2L34 28.8c-1 1-2.2 1.6-3.4 2-1.6.4-3.3.3-4.8-.3-.9-.4-1.8-.9-2.6-1.7-.4-.4-.7-.8-1-1.3-.4-.7-1.3-.8-1.8-.2l-2.8 2.8c-.4.4-.4 1-.1 1.5.4.6.9 1.1 1.4 1.6.7.7 1.6 1.4 2.4 1.9 1.4.9 3 1.5 4.6 1.8 3.1.6 6.5.1 9.3-1.4 1.1-.6 2.2-1.4 3.1-2.3l7.6-7.6c5.6-5.5 5.4-14.5-.3-19.8z\"}]}},\nshare_poll:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M46.8 2H5.2C3.4 2 2 3.4 2 5.2v6.4c0 1.8 1.4 3.2 3.2 3.2h41.6c1.8 0 3.2-1.4 3.2-3.2V5.2C50 3.4 48.6 2 46.8 2zm-20 9.6V5.2h20v6.4h-20zM46.8 19.6H5.2C3.4 19.6 2 21 2 22.8v6.4c0 1.8 1.4 3.2 3.2 3.2h41.6c1.8 0 3.2-1.4 3.2-3.2v-6.4c0-1.8-1.4-3.2-3.2-3.2zm-27.2 9.6v-6.4h27.2v6.4H19.6zM46.8 37.2H5.2c-1.8 0-3.2 1.4-3.2 3.2v6.4C2 48.6 3.4 50 5.2 50h41.6c1.8 0 3.2-1.4 3.2-3.2v-6.4c0-1.8-1.4-3.2-3.2-3.2zM34 46.8v-6.4h12.8v6.4H34z\"}},\nshare_post:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M26 4C12.7 4 2 13.8 2 26c0 3.9 1.1 7.5 3 10.8.2.4.3.9.2 1.3L3 45c-.4 1.3.8 2.4 2.1 2l7-2.4c.5-.2 1-.1 1.4.2 3.7 2.1 8 3.3 12.6 3.3 13.3 0 24-9.8 24-22C49.8 13.8 39.1 4 26 4z\"}},\nshare_thanks:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M45.2 14h-7c2-3.1 1.8-7.3-.6-9.8C36.2 2.8 34.4 2 32.5 2c-2.1 0-4.2 1-5.7 2.6-.3.3-.6.6-.8 1-.2-.4-.5-.7-.8-1A7.62 7.62 0 0019.5 2c-1.9 0-3.7.8-5 2.2-2.5 2.6-2.6 6.7-.6 9.8h-7C4.2 14 2 16.2 2 18.8V22c0 .9.7 1.6 1.6 1.6h44.8c.9 0 1.6-.7 1.6-1.6v-3.2c0-2.6-2.2-4.8-4.8-4.8zm-21.6 0c-1.7 0-4.1-.6-5.4-2.1-1.2-1.3-1.4-3.4-.2-4.4.5-.5 1-.6 1.5-.6.8 0 1.6.4 2.2 1 1.4 1.5 1.9 4.1 1.9 5.7v.4zm10.2-2.1C32.4 13.3 30 14 28.4 14v-.5c0-1.6.6-4.2 1.9-5.7.6-.6 1.4-1 2.2-1 .4 0 1 .1 1.6.6 1 1.2.9 3.2-.3 4.5zM45.2 28.4H28.4V50h13.8c2.6 0 4.6-2.1 4.6-4.6V30c0-.9-.7-1.6-1.6-1.6zM5.2 30v15.2c0 2.6 2.2 4.8 4.8 4.8h13.6V28.4H6.8c-.9 0-1.6.7-1.6 1.6z\"}},\nsort:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M27.5 16c.6-.6.6-1.5 0-2.1L16.1 2.4c-.6-.6-1.5-.6-2.1 0L2.5 13.9c-.6.6-.6 1.5 0 2.1l2.1 2.1c.6.6 1.5.6 2.1 0l3.6-3.6c.6-.6 1.7-.2 1.7.7v21.2c0 .8.7 1.5 1.5 1.5h3c.8 0 1.5-.8 1.5-1.5V15.2c0-.9 1.1-1.3 1.7-.7l3.6 3.6c.6.6 1.5.6 2.1 0l2.1-2.1zM49.5 36l-2.1-2c-.6-.6-1.5-.6-2.1 0l-3.6 3.6c-.6.6-1.7.2-1.7-.7V15.5c0-.8-.7-1.5-1.5-1.5h-3c-.8 0-1.5.8-1.5 1.5v21.2c0 .9-1.1 1.3-1.7.7l-3.6-3.6c-.6-.6-1.5-.6-2.1 0L24.5 36c-.6.6-.6 1.5 0 2.1L36 49.6c.6.6 1.5.6 2.1 0l11.5-11.5c.5-.6.5-1.6-.1-2.1z\"}}},\nsubmit_for_approval:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M45.2 29.2h-8.8c-2.6 0-4.8-2.2-4.8-4.8.4-7.1 3.7-7.5 4-12.1.3-4.8-2.7-9.1-7.4-10.1C22 .9 16.4 5.6 16.4 11.6c0 5.3 3.6 5.3 4 12.8 0 2.6-2.2 4.8-4.8 4.8H6.8C4.2 29.2 2 31.3 2 34v3.2c0 .9.7 1.6 1.6 1.6h44.8c.9 0 1.6-.7 1.6-1.6V34c0-2.7-2.2-4.8-4.8-4.8zM45.3 43.6H6.7c-.9 0-1.5.7-1.5 1.5v.1c0 2.6 2.2 4.8 4.8 4.8h32.1c2.6 0 4.7-2.2 4.7-4.8v-.1c0-.8-.7-1.5-1.5-1.5z\"}},\nupdate:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M26 2C12.7 2 2 12.7 2 26s10.7 24 24 24 24-10.7 24-24S39.3 2 26 2zm9 15.5c0 .8-.7 1.5-1.5 1.5H24c-.6 0-1 .4-1 1v2c0 .6.4 1 1 1h4c3.9 0 7 3.1 7 7v2c0 3.9-3.1 7-7 7h1v2c0 1.1-.9 2-2 2s-2-.9-2-2v-2h-6.5c-.8 0-1.5-.7-1.5-1.5v-3c0-.8.7-1.5 1.5-1.5H28c.6 0 1-.4 1-1v-2c0-.6-.4-1-1-1h-4c-3.9 0-7-3.1-7-7v-2c0-3.9 3.1-7 7-7h1v-2c0-1.1.9-2 2-2s2 .9 2 2v2h4.5c.8 0 1.5.7 1.5 1.5v3z\"}},\nupdate_status:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M29.8 30.6l1.6 1.6c.4.4 1 .4 1.4 0l4.6-4.7c.4-.4.6-.9.6-1.4V8c0-1.7-1.3-3-3-3H5C3.3 5 2 6.3 2 8v22c0 1.7 1.3 3 3 3h13.7c.5 0 1-.2 1.4-.6l1.7-1.7c.8-.8 1.8-1.4 2.9-1.6 1.8-.4 3.7.2 5.1 1.5zM10 14c0-.6.4-1 1-1h18c.6 0 1 .4 1 1v2c0 .6-.4 1-1 1H11c-.6 0-1-.4-1-1v-2zm1 11c-.6 0-1-.4-1-1v-2c0-.6.4-1 1-1h14c.6 0 1 .4 1 1v2c0 .6-.4 1-1 1H11z\"},{\"d\":\"M49.5 27.7l-2.2-2.2c-.6-.6-1.6-.6-2.2 0L32.8 37.9c-.4.4-1.1.4-1.5 0l-4.4-4.5c-.6-.6-1.6-.6-2.2 0l-2.2 2.2c-.6.6-.6 1.6 0 2.2l8.5 8.6c.6.6 1.6.6 2.2 0L49.5 30c.7-.7.7-1.7 0-2.3z\"}]}},\nupload:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M48.5 31h-3c-.8 0-1.5.8-1.5 1.5v10c0 .8-.7 1.5-1.5 1.5h-33c-.8 0-1.5-.7-1.5-1.5v-10c0-.7-.7-1.5-1.5-1.5h-3c-.8 0-1.5.8-1.5 1.5V46c0 2.2 1.8 4 4 4h40c2.2 0 4-1.8 4-4V32.5c0-.7-.7-1.5-1.5-1.5z\"},{\"d\":\"M27 2.4c-.6-.6-1.5-.6-2.1 0L11.4 15.9c-.6.6-.6 1.5 0 2.1l2.1 2.1c.6.6 1.5.6 2.1 0l5.6-5.6c.6-.6 1.8-.2 1.8.7v21.2c0 .8.6 1.5 1.4 1.5h3c.8 0 1.6-.8 1.6-1.5V15.3c0-.9 1-1.3 1.7-.7l5.6 5.6c.6.6 1.5.6 2.1 0l2.1-2.1c.6-.6.6-1.5 0-2.1L27 2.4z\"}]}},\nuser:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M50 43v2.2c0 2.6-2.2 4.8-4.8 4.8H6.8C4.2 50 2 47.8 2 45.2V43c0-5.8 6.8-9.4 13.2-12.2l.6-.3c.5-.2 1-.2 1.5.1 2.6 1.7 5.5 2.6 8.6 2.6s6.1-1 8.6-2.6c.5-.3 1-.3 1.5-.1l.6.3C43.2 33.6 50 37.1 50 43zM26 2c6.6 0 11.9 5.9 11.9 13.2S32.6 28.4 26 28.4s-11.9-5.9-11.9-13.2S19.4 2 26 2z\"}},\nuser_activation:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M27.5 16c.6-.6.6-1.5 0-2.1L16.1 2.4c-.6-.6-1.5-.6-2.1 0L2.5 13.9c-.6.6-.6 1.5 0 2.1l2.1 2.1c.6.6 1.5.6 2.1 0l3.6-3.6c.6-.6 1.7-.2 1.7.7v21.2c0 .8.7 1.6 1.5 1.6h3c.8 0 1.5-.9 1.5-1.6V15.2c0-.9 1.1-1.3 1.7-.7l3.6 3.6c.6.6 1.5.6 2.1 0l2.1-2.1zM49.5 36l-2.1-2c-.6-.6-1.5-.6-2.1 0l-3.6 3.6c-.6.6-1.7.2-1.7-.7V15.5c0-.8-.7-1.5-1.5-1.5h-3c-.8 0-1.5.8-1.5 1.5v21.2c0 .9-1.1 1.3-1.7.7l-3.6-3.6c-.6-.6-1.5-.6-2.1 0L24.5 36c-.6.6-.6 1.5 0 2.1L36 49.6c.6.6 1.5.6 2.1 0l11.5-11.5c.5-.6.5-1.6-.1-2.1z\"}},\"path\":{\"d\":\"M16 46h-2c-1.1 0-2-.9-2-2v-2c0-1.1.9-2 2-2h2c1.1 0 2 .9 2 2v2c0 1.1-.9 2-2 2zM38 12h-2c-1.1 0-2-.9-2-2V8c0-1.1.9-2 2-2h2c1.1 0 2 .9 2 2v2c0 1.1-.9 2-2 2z\"}},\nview_relationship:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M36 20c0-2.2-1.8-4-4-4H6c-2.2 0-4 1.8-4 4v26c0 2.2 1.8 4 4 4h26c2.2 0 4-1.8 4-4V20z\"},{\"d\":\"M43 42h-3v-6h3c.6 0 1-.4 1-1V9c0-.6-.4-1-1-1H17c-.6 0-1 .4-1 1v3h-6V9c0-3.9 3.1-7 7-7h26c3.9 0 7 3.1 7 7v26c0 3.9-3.1 7-7 7z\"}]},\nweb_link:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M27 2C13.7 2 3 12.7 3 26s10.7 24 24 24 24-10.7 24-24S40.3 2 27 2zm3 34.3c-1.5 1.5-2 4.4-2.6 6.4-.1.4-.4.8-.8 1l-1 .5c-.6.3-1.3.2-1.8-.3-1-.9-1.8-2.3-1.8-3.7 0-2.4-4-1.6-4-6.4 0-3.9-5-6.2-8.6-4.5-.3.1-.6.3-.9.3-.6.2-1.2-.2-1.3-.8C7.1 27.9 7 27 7 26c0-4.8 1.7-9.2 4.5-12.6 0-.1.1-.1.2-.1 2.4-2.8 5.5-5 9.1-6.2.9-.3 1.7.7 1.2 1.5-.4.6-.6 1.2-.6 1.7.1 2.1-1.9 3.4-2.8 3.1-.8-.3-3 1.1-1 2.1l1.1.5c.1 0 .2.1.2.1l.3.2c3.6 2.1 2.9 3.8 1.4 6.4-1.7 2.8-2.4 0-4.8-.8s-4.8.8-4 2.4c.8 1.6 3.2 0 4.8 1.6 1.6 1.6 1.6 4 6.4 2.4 4.8-1.6 5.6-.8 7.2.8 1.4 1.6 2.2 4.8-.2 7.2zm12.7-.2c-1.9-2.2 0-7.3-2.3-10.2-2.5-3.1-5.7.1-8.8-4.8-2.9-4.7.8-8.6 4.6-9.9 1-.4 2.1-.5 3.2-.5.2 0 .5.1.7.3 4.2 3.6 6.9 9 6.9 15 0 3.6-1 7-2.6 9.9-.4.6-1.2.7-1.7.2z\"}},\nviewBox:'0 0 52 52'\n}; } export default icons;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n\nlet icons = {}; if ('__EXCLUDE_SLDS_ICONS__' === '__INCLUDE_SLDS_ICONS__') { icons = {\ncustom1:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M54.3 74.1a5.983 5.983 0 01-8.7 0c-7.2-7.699-21-22.399-21-22.5-6.2-6.5-6.2-17.2 0-23.7 3-3.2 7-4.9 11.3-4.9 4.3 0 8.3 1.7 11.3 4.9l1.2 1.5c.8 1 2.4 1 3.2 0l1-1.3.2-.2c3.101-3.3 7.101-5 11.3-5 4.301 0 8.301 1.7 11.301 4.9 6.199 6.5 6.199 17.2 0 23.7C75.3 51.7 61.6 66.4 54.3 74.1z\"}},\ncustom10:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M69.8 77.9c-9.399 3.8-24.2 2.8-32.3-6C18 50.8 35.1 20 58.6 20c3.9 0 7.7.8 11.2 2.2 1.5.6 1.601 2.6.4 3.5C62.6 31.1 57.6 40 57.6 50c0 10.1 4.9 19 12.5 24.4 1.3.9 1.1 2.9-.3 3.5z\"}},\ncustom100:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M61.9 72H38.1c-.7 0-1.1.6-1 1.3 1 3.8 6.4 6.7 12.8 6.7 6.5 0 11.9-2.9 12.8-6.7.3-.7-.2-1.3-.8-1.3zM74 26H26c-3.3 0-6 2.7-6 6v28c0 3.3 2.7 6 6 6h48c3.3 0 6-2.7 6-6V32c0-3.3-2.7-6-6-6zm0 32c0 1.1-.9 2-2 2H28c-1.1 0-2-.9-2-2V34c0-1.1.9-2 2-2h44c1.1 0 2 .9 2 2v24z\"}}},\ncustom101:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M44.885 38.655a7.47 7.47 0 11-.066 14.938 7.47 7.47 0 01.066-14.938zm.505 31.491c.538-.239 1.168-.598 1.939-1.016a36.418 36.418 0 015.889-2.835 39.1 39.1 0 01-1.64-3.765c0-.086-.06-.205-.093-.298a17.263 17.263 0 01-6.6 1.328c-9.46.01-17.2-7.53-17.437-16.986-.237-9.457 7.116-17.375 16.564-17.838 9.449-.463 17.54 6.698 18.23 16.133 3.916.418 6.12 2.357 7.303 4.515.155-1.08.235-2.169.239-3.26.026-13.608-10.881-24.716-24.488-24.936-13.607-.221-24.869 10.526-25.284 24.128-.416 13.602 10.17 25.017 23.764 25.627a26.026 26.026 0 011.614-.81v.013zm29.878 2.238c-2.33-1.05-5.77-3.705-10.876-4.602 1.328-1.4 2.298-3.585 3.32-6.181.598-1.494.478-2.782.478-4.601 0-1.328.24-3.5-.086-4.688C66.968 48.328 64.12 47.2 60.8 47.2c-3.32 0-6.181 1.108-7.303 5.139-.326 1.195-.087 3.32-.087 4.687 0 1.826-.093 3.108.478 4.601 1.016 2.603 1.992 4.78 3.32 6.188-5.125.93-8.538 3.586-10.862 4.602-4.78 2.118-4.807 4.455-4.807 4.455v3.944h38.45v-3.944c.06 0 .06-2.357-4.754-4.482l.033-.006z\",\"fill-rule\":\"evenodd\"}},\ncustom102:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M31.179 60.7h-8.75a1.157 1.157 0 00-1.179 1.143V79.57a1.157 1.157 0 001.179 1.158h8.75a1.157 1.157 0 001.178-1.158V61.836a1.136 1.136 0 00-1.178-1.143v.007zm16.142-5.464h-8.75a1.157 1.157 0 00-1.142 1.135v23.25a1.157 1.157 0 001.178 1.143h8.714a1.157 1.157 0 001.179-1.143v-23.25a1.157 1.157 0 00-1.179-1.142v.007zM63.43 35.157h-8.75A1.157 1.157 0 0053.5 36.3v43.321a1.157 1.157 0 001.179 1.143h8.75a1.157 1.157 0 001.178-1.143V36.3a1.114 1.114 0 00-1.178-1.143zM79.57 21.23h-8.75a1.157 1.157 0 00-1.178 1.142v57.25a1.157 1.157 0 001.178 1.143h8.75a1.157 1.157 0 001.179-1.143v-57.25a1.157 1.157 0 00-1.179-1.142z\",\"fill-rule\":\"evenodd\"}},\ncustom103:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M76.14 54.901c-1.625-.77-4.012-2.713-7.553-3.365.913-1.03 1.591-2.609 2.302-4.513a8.824 8.824 0 00.352-3.365c0-.972.176-2.57-.058-3.45-.796-2.948-2.772-3.75-5.074-3.75s-4.311.828-5.074 3.776c-.235.854-.059 2.445-.059 3.424a9.046 9.046 0 00.352 3.39c.711 1.918 1.39 3.51 2.302 4.514a16.435 16.435 0 00-4.865 1.891 39.241 39.241 0 015.048 2.609c.796.47 1.507.887 2.067 1.148 2.713 1.272 4.22 2.654 5.107 3.913h8.543V58.2s-.058-1.741-3.39-3.306v.006zm-42.014 2.29c.561-.268 1.272-.653 2.067-1.149a38.074 38.074 0 015.074-2.608 16.52 16.52 0 00-4.95-1.898c.913-1.03 1.592-2.609 2.303-4.513a8.824 8.824 0 00.352-3.365c0-.972.176-2.57-.059-3.45-.796-2.948-2.772-3.75-5.074-3.75s-4.304.828-5.074 3.75c-.267.854-.091 2.445-.091 3.424a9.046 9.046 0 00.352 3.39c.711 1.918 1.39 3.51 2.302 4.514-3.508.652-5.87 2.609-7.493 3.365-3.333 1.565-3.365 3.261-3.365 3.261v2.89h8.582a13.096 13.096 0 015.074-3.862zm30.887 1.956c-2.42-1.122-6.02-4.044-11.328-5.048 1.356-1.533 2.387-3.913 3.45-6.757.652-1.65.502-3.039.502-5.047 0-1.474.267-3.835-.091-5.133-1.18-4.396-4.129-5.609-7.611-5.609-3.483 0-6.444 1.246-7.605 5.674-.326 1.272-.058 3.626-.058 5.107 0 2.008-.092 3.424.502 5.048 1.063 2.863 2.067 5.25 3.424 6.782-5.283 1.03-8.824 3.913-11.244 5.048-4.989 2.328-4.989 4.898-4.989 4.898v4.337h40.037v-4.344s0-2.57-4.989-4.924v-.032z\",\"fill-rule\":\"evenodd\"}},\ncustom104:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M72.72 20.574H27.28a3.088 3.088 0 00-3.045 3.088v15.485h51.486V23.706a3.088 3.088 0 00-3-3.132zM45.457 42.279v37.147H72.72a3.088 3.088 0 003.044-3.088V42.28h-30.31zm-21.177 0v34.06a3.062 3.062 0 003.045 3.087h15.132V42.28H24.279z\",\"fill-rule\":\"evenodd\"}},\ncustom105:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M76.053 26.316H23.947a3.6 3.6 0 00-3.552 3.623v2.558a.892.892 0 00.316.71l26.273 21.53a4.263 4.263 0 005.93 0l26.273-21.553a.892.892 0 00.316-.71V29.97a3.576 3.576 0 00-3.45-3.655zM20.418 37.929a.868.868 0 01.498-.79.79.79 0 01.955.143l12.75 11.297a.79.79 0 01.284.64.94.94 0 01-.244.67L21.91 61.93a.79.79 0 01-.956.213.86.86 0 01-.529-.853V37.93h-.008zm0 29.21a.971.971 0 01.285-.67l16.05-14.977a.837.837 0 011.168 0l6.782 6.04a7.697 7.697 0 0010.547 0l6.782-6.04a.868.868 0 011.168 0l16.058 14.945a.908.908 0 01.284.67v2.914a3.608 3.608 0 01-3.553 3.663H23.947a3.608 3.608 0 01-3.552-3.655v-2.913l.023.023zm59.156-5.857a.908.908 0 01-.53.852.868.868 0 01-.955-.213L65.34 49.858a.94.94 0 01-.244-.671.79.79 0 01.316-.64l12.75-11.329a.79.79 0 01.923-.102.9.9 0 01.53.79v23.352l-.04.024z\",\"fill-rule\":\"evenodd\"}},\ncustom106:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M49.643 20.543c-11.905.079-21.496 9.787-21.429 21.693 0 17.585 21.429 37.221 21.429 37.221S71.07 59.05 71.07 42.236c.056-11.9-9.528-21.603-21.428-21.693zm0 31.021a9.286 9.286 0 119.193-9.328 9.286 9.286 0 01-9.193 9.321v.007z\",\"fill-rule\":\"evenodd\"}},\ncustom107:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M77.734 51.48h-5.968v26.188a1.221 1.221 0 01-1.295 1.27H58.545a1.189 1.189 0 01-1.04-1.295V57.447H42.987v20.221c.049.63-.405 1.19-1.033 1.27H30.029a1.221 1.221 0 01-1.295-1.295V51.48h-5.968c-.516 0-1.04-.263-1.04-.78-.263-.516-.263-1.04.262-1.294L49.47 21.922c.517-.516 1.295-.516 1.558 0L78.512 49.43c.517.263.517.779.263 1.295-.255.517-.517.78-1.041.78v-.025z\",\"fill-rule\":\"evenodd\"}},\ncustom108:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"fill-rule\":\"evenodd\",\"path\":[{\"d\":\"M47.9 60.35l.42-2.82 3.96-2.73-.87-3.72h-.54l-4.2-.33-1.62-2.28.93-4.8-3.12-2.01-.39.39-3.15 2.79-2.7-.42-2.64-4.08-3.57.9v.57l-.3 4.29-2.22 1.68-4.68-.99-1.92 3.27.36.42 2.7 3.27-.39 2.82-3.96 2.7.87 3.69.54.06 4.14.33 1.65 2.25-.96 4.8 3.15 1.98.42-.36 3.15-2.82 2.7.42 2.61 4.08 3.6-.9v-.6l.27-4.2 2.22-1.68 4.62.99 1.92-3.27-.36-.42-2.64-3.24v-.03zm-5.49.66a7.2 7.2 0 01-10.08 2.55 7.8 7.8 0 01-2.49-10.44 7.2 7.2 0 0110.08-2.58 7.8 7.8 0 012.49 10.47z\"},{\"d\":\"M75.65 46.28l.42-2.82 3.93-2.7-.87-3.69h-.54l-4.14-.33-1.65-2.34.93-4.8-3.15-1.98-.42.36-3.15 2.79-2.7-.42-2.58-4.08-3.6.9-.06.6L57.8 32l-2.22 1.68-4.62-.96-1.92 3.27.36.45 2.7 3.27-.42 2.82-3.93 2.67.87 3.72h.54l4.14.33 1.62 2.31-.96 4.8 3.15 2.04.42-.36 3.15-2.82 2.7.42 2.61 4.08 3.57-.9.03-.57.3-4.29 2.22-1.68 4.65.96 1.92-3.27-.36-.42-2.67-3.27zm-5.52.66a7.2 7.2 0 01-10.08 2.55 7.752 7.752 0 01-2.46-10.44 7.2 7.2 0 0110.08-2.58 7.8 7.8 0 012.46 10.47z\"}]}},\ncustom109:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M79.651 46.442l-1.395-2.093-4.06 1.751c-5.247-8.449-14.854-14.651-24.88-14.651-14.881-.007-28.967 13.716-28.967 28.249v.893l.063 1.186h7.116l-.09-1.186a8.33 8.33 0 010-.858c0-11.742 9.815-21.321 21.885-21.321a22.019 22.019 0 0118.768 10.381l-13.905 6.042a8.135 8.135 0 00-8.923-.977 7.674 7.674 0 00-3.349 10.528 8.1 8.1 0 0010.793 3.293 7.744 7.744 0 004.242-7.71l12.9-7.674a20.623 20.623 0 011.395 7.445v.858l-.09 1.186h7.116l.063-1.186a8.623 8.623 0 000-.893 25.165 25.165 0 00-2.652-10.891l3.97-2.372z\",\"fill-rule\":\"evenodd\"}},\ncustom11:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M52.2 21.4l8 16.9L77.9 41c2 .3 2.8 2.9 1.3 4.3L66.4 58.5l3 18.5c.3 2.1-1.7 3.7-3.5 2.7L50 70.9l-15.9 8.8c-1.8 1-3.9-.601-3.5-2.7l3-18.5-12.9-13.2c-1.4-1.5-.6-4 1.3-4.3l17.8-2.7 8-16.9c.9-1.9 3.5-1.9 4.4 0z\"}},\ncustom110:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M61.714 20.229H38.286a5.986 5.986 0 00-6.143 5.928v47.536a6.129 6.129 0 006.143 6.071h23.428a6.129 6.129 0 006.143-6.071V26.157a5.986 5.986 0 00-6.143-5.928zm-16.071 3.428h8.714a.55.55 0 01.536.536.607.607 0 01-.536.536h-8.714a.536.536 0 110-1.072zm7.75 51.857a.643.643 0 01-.714.536h-5.536a.55.55 0 01-.536-.536v-2.5c0-.25.286-.643.536-.643h5.571a.714.714 0 01.715.643v2.5h-.036zm10.928-7.357a.629.629 0 01-.678.643H36.357a.629.629 0 01-.714-.643v-39.5a.75.75 0 01.714-.786h27.25c.4.038.7.385.679.786v39.5h.035z\",\"fill-rule\":\"evenodd\"}},\ncustom111:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"fill-rule\":\"evenodd\",\"path\":{\"d\":\"M53.373 45.053c-.06 0-.093 0-.12-.06-2.306-.993-5.7-3.66-10.74-4.566 1.287-1.334 2.28-3.507 3.267-6.087.573-1.473.48-2.733.48-4.533 0-1.334.24-3.447-.093-4.62-1.107-4-3.9-5.074-7.2-5.074-3.3 0-6.12 1.114-7.234 5.074-.326 1.166-.06 3.3-.06 4.62 0 1.8-.093 3.06.48 4.56 1.02 2.553 2 4.713 3.24 6.086-4.98.934-8.373 3.54-10.666 4.534C20.047 47.12 20 49.4 20 49.4v7.593h23.653a20.1 20.1 0 019.72-11.94zM62.827 70.46a7.767 7.767 0 117.766-7.793 7.773 7.773 0 01-7.766 7.793zM80 64.547v-3.88l-.54-.18-4.2-1.334-1.107-2.666 2.127-4.527-2.76-2.76-.513.267-3.9 2-2.667-1.114-1.68-4.706h-3.947l-.146.486-1.38 4.167-2.667 1.113L52 49.28l-2.733 2.76.266.513 2 3.927-1.113 2.667-4.707 1.68v3.9l.54.18 4.174 1.38 1.113 2.666-2.207 4.6 2.76 2.76.507-.266 3.933-2L59.2 75.16l1.68 4.707h3.9l.18-.54 1.38-4.167 2.667-1.113 4.533 2.126 2.76-2.76-.267-.506-2-3.9 1.107-2.667L80 64.547z\"}}},\ncustom112:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M51.121 50.166a56.676 56.676 0 00-25.737 0 7.271 7.271 0 00-4.973 6.513v5.25a7.192 7.192 0 004.973 6.513c.79.197 1.58.316 2.369.474l6.67 9.552c1.224 1.737 2.211 1.421 2.211-.71v-7.895c4.87.16 9.74-.318 14.487-1.42a7.271 7.271 0 004.974-6.514v-5.25a7.16 7.16 0 00-4.974-6.513zm23.526-27.632a72.15 72.15 0 00-35.052 0 7.279 7.279 0 00-4.974 6.553v9.316a7.279 7.279 0 004.974 6.552 71.424 71.424 0 0019.579 2.092v10.974c0 2.092.987 2.447 2.17.71l8.961-12.789a75.61 75.61 0 004.303-.947 7.279 7.279 0 004.974-6.553v-9.316a7.184 7.184 0 00-4.935-6.552v-.04z\",\"fill-rule\":\"evenodd\"}},\ncustom113:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"fill-rule\":\"evenodd\",\"path\":{\"d\":\"M27.16 59.042h45.735a.64.64 0 00.592-.631V26.816c0-.671-.513-.987-1.184-.987h-44.55c-.632 0-1.303.316-1.303.987v31.579c0 .316.395.631.71.631v.016zm3.893-27.947a.608.608 0 01.592-.592H68.3a.608.608 0 01.592.592v22.697a.608.608 0 01-.592.592H31.621a.608.608 0 01-.592-.592V31.095h.024zM79.463 73.34l-5.842-11.843a.663.663 0 00-.513-.355H26.884a.663.663 0 00-.513.355L20.53 73.34a1.255 1.255 0 001.05 1.856H78.42a1.263 1.263 0 001.026-1.856h.016zm-23.479-.735h-11.92a.387.387 0 01-.277-.552l1.697-3.237a.663.663 0 01.513-.355h8.014c.204.009.393.11.513.276l1.697 3.316c.118.197 0 .552-.237.552z\"}}},\ncustom12:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"circle\":{\"cx\":\"50\",\"cy\":\"50\",\"r\":\"30\"}},\ncustom13:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M74 22H26c-3.3 0-6 2.7-6 6v6c0 1.1.9 2 2 2h56c1.1 0 2-.9 2-2v-6c0-3.3-2.7-6-6-6zM74 42H26c-1.1 0-2 .9-2 2v28c0 3.3 2.7 6 6 6h40c3.3 0 6-2.7 6-6V44c0-1.1-.9-2-2-2zm-13 9c0 1.6-1.3 3-3 3H42c-1.6 0-3-1.3-3-3 0-1.6 1.3-3 3-3h16c1.7 0 3 1.3 3 3z\"}}},\ncustom14:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M78 33h-6c-1.3 0-2.6-.6-3.6-1.5l-4.8-4.1c-1-.8-2.3-1.4-3.6-1.4H48.3c-1.5 0-2.9.6-4 1.7l-6.2 5.1c-.5.4-.5 1.2-.1 1.7l1.9 1.8c1.3 1 3 1.2 4.3.3l5.5-3.3c.7-.5 1.7-.3 2.3.3l17.3 16.8c.4.4.7 1 .7 1.6v4.5c0 1.2.9 2.5 2 2.5h6c1.1 0 2-.9 2-2.1V35c0-1.2-.9-2-2-2z\"},{\"d\":\"M61 51L50.2 40.5l-3 1.8c-1.5.9-3.2 1.4-4.9 1.4-2.1 0-4.3-.8-6-2.2l-3.9-3.2c-.9-.7-1.4-1.5-1.5-2.6-.2-1.1-1-1.7-2-1.7H22c-1.1 0-2 .6-2 1.8V54c0 1.2.9 2 2 2h4c.3 0 .7-1.1 1.1-1.6 1.5-2 3.7-3.101 6.1-3.4 2.4-.2 4.7.6 6.6 2.3l12.5 11.4c1.101 1 1.9 2.1 2.4 3.5.3.7 1.1.899 1.6.399L61 63.9c2.4-2.4 4.2-8 2-10.601L61 51z\"},{\"d\":\"M35.9 58.4c-1.3-1.2-3.2-1-4.2.399-1.1 1.4-.9 3.4.4 4.601l12.5 11.3c.6.6 1.4.8 2.2.7.8-.101 1.5-.5 2-1.2 1.1-1.4.9-3.4-.4-4.601L35.9 58.4z\"}]}},\ncustom15:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M70 46.1c-3.5-1.5-4-2.8-4-4.2 0-1.5 1-2.8 2.2-3.9 2.1-1.9 3.2-4.5 3.2-7.5 0-5.6-3.5-10.5-9.801-10.5C56.2 20 52.9 23.6 52 28.2c-.1.4.1.8.4 1 4.5 3.2 7.3 8.6 7.3 15.1 0 4.5-1.5 8.601-4.3 11.7-.4.5-.3 1.3.4 1.6 1.7.7 3.7 1.7 5.7 2.801.6.399 1.3.6 2 .6H75c2.8 0 5-2.2 5-4.9v-.8C80 50.8 75.1 48.3 70 46.1z\"},{\"d\":\"M52.1 62.6c-4.2-1.699-4.8-3.3-4.8-5 0-1.699 1.2-3.3 2.6-4.6 2.4-2.2 3.8-5.2 3.8-8.8 0-6.6-4.2-12.3-11.6-12.3s-11.6 5.7-11.6 12.3c0 3.6 1.3 6.6 3.8 8.8 1.4 1.2 2.6 2.9 2.6 4.6 0 1.7-.6 3.2-4.8 5-6.1 2.5-11.9 5.4-12 10.7v.9c0 3.2 2.7 5.8 6 5.8H58c3.3 0 6-2.6 6-5.8v-.9c0-5.3-5.8-8.2-11.9-10.7z\"}]}},\ncustom16:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M72 70h-1V48c0-1.1-.9-2-2-2h-2c-1.1 0-2 .9-2 2v22h-6V48c0-1.1-.9-2-2-2h-2c-1.1 0-2 .9-2 2v22h-6V48c0-1.1-.9-2-2-2h-2c-1.1 0-2 .9-2 2v22h-6V48c0-1.1-.9-2-2-2h-2c-1.1 0-2 .9-2 2v22h-1c-3.3 0-6 2.7-6 6v2c0 1.1.9 2 2 2h52c1.1 0 2-.9 2-2v-2c0-3.3-2.7-6-6-6zM77 34.4L52.3 20.8c-.7-.5-1.5-.8-2.3-.8-.8 0-1.6.3-2.3.8L23 34.4c-.6.4-1 1-1 1.7V38c0 1.1.9 2 2 2h52c1.1 0 2-.9 2-2v-1.8c0-.7-.4-1.4-1-1.8zM50 36c-2.8 0-5-2.2-5-5s2.2-5 5-5 5 2.2 5 5-2.2 5-5 5z\"}}},\ncustom17:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M43 28.9c.3.7 1 1.1 1.8 1.1H55c.8 0 1.5-.4 1.8-1.1l4-7.4c.3-.7-.2-1.4-.899-1.4H40.1c-.7 0-1.2.8-.9 1.4l3.8 7.4zM55.9 36H44c-9.9 0-18 8.1-18 18v20c0 3.3 2.7 6 6 6h35.9c3.3 0 6.1-2.7 6.1-6V54c0-9.9-8.2-18-18.1-18zM53 69.6V73c0 .6-.6 1-1.2 1h-4c-.6 0-.8-.4-.8-1v-3.3c-3-.601-5.5-1.9-6.2-2.5-.8-.7-1-1.4-.4-2.3l1.3-2c.3-.5.9-.801 1.5-.801.4 0 .7.101 1 .301h.1c2 1.199 3.8 1.8 5.1 1.8 1.4 0 2.5-.7 2.5-1.5 0-.601-.4-1.601-4.2-2.9-3.4-1.2-7.6-3.3-7.6-7.899 0-2.7 1.8-5.9 6.8-6.9v-3c0-.6.3-1 .8-1h4c.6 0 1.2.4 1.2 1v3c2 .5 4.199 1.5 4.899 2 .4.2.601.7.7 1.2s-.1 1-.4 1.3l-1.5 1.8c-.399.5-1.1.9-1.699.9-.3-.001-.6-.101-.9-.201-2-1.1-3.7-1.7-4.8-1.7-1.7 0-2.4.8-2.4 1.3 0 .7.4 1.5 3.8 2.7 4.2 1.4 8.9 3.601 8.9 8.3.1 3.2-2.5 6.1-6.5 7z\"}}},\ncustom18:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M60 36h10.6c.801 0 1.4-.6 1.4-1.4 0-.4-.1-.7-.4-1L58.4 20.4c-.3-.3-.6-.4-1-.4-.8 0-1.4.6-1.4 1.4V32c0 2.2 1.8 4 4 4zM83.4 49.6l-1.2-1.2c-.8-.8-2-.8-2.8 0L64 63.9c-.1.1 0 .2 0 .4v3.3c0 .301 0 .5.3.5h3.3c.1 0 .3-.1.4-.1l15.4-15.4c.8-1 .8-2.2 0-3z\"},{\"d\":\"M70.9 74h-9.1c-2.1 0-3.8-1.7-3.8-3.8v-7c0-1.101.3-2.101 1.1-2.8L71.4 48c.399-.4.6-.9.6-1.4V44c0-1.1-.9-2-2-2H56c-3.3 0-6-2.7-6-6V22c0-1.1-.9-2-2-2H28c-3.3 0-6 2.7-6 6v48c0 3.3 2.7 6 6 6h38c2.9 0 5.4-2.1 5.9-4.8.1-.6-.4-1.2-1-1.2zM30 38c0-1.1.9-2 2-2h8c1.1 0 2 .9 2 2v2c0 1.1-.9 2-2 2h-8c-1.1 0-2-.9-2-2v-2zm20 26c0 1.1-.9 2-2 2H32c-1.1 0-2-.9-2-2v-2c0-1.1.9-2 2-2h16c1.1 0 2 .9 2 2v2zm4-12c0 1.1-.9 2-2 2H32c-1.1 0-2-.9-2-2v-2c0-1.1.9-2 2-2h20c1.1 0 2 .9 2 2v2z\"}]}},\ncustom19:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M79.2 32.8c-.2-.7-1.101-.9-1.7-.4L67.4 42.5c-.801.8-2 .8-2.801 0l-7.1-7.1c-.8-.8-.8-2 0-2.8l10.2-10.2c.5-.5.3-1.4-.4-1.7C65.6 20.3 63.8 20 62 20c-10.6 0-19.1 9.2-17.9 20 .2 1.7.6 3.2 1.2 4.7L22 68.1c-2.7 2.7-2.7 7.2 0 9.9 1.4 1.4 3.2 2.1 5 2.1s3.6-.699 5-2.1l23.3-23.3c1.5.6 3.101 1 4.7 1.2 10.9 1.2 20-7.3 20-17.9 0-1.8-.3-3.6-.8-5.2z\"}},\ncustom2:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M59 22c-3-2-13.8-3.9-18 3-2 3.3.4 9.1 2.2 12.8.5.9 1.5 1.4 2.5 1 1.3-.5 2.8-.8 4.3-.8 1 0 2 .1 3 .4.9.2 1.8-.2 2.2-1 .7-1.3 1.899-2.8 3.8-4.4 5-4 3-9 0-11zM53.8 61.4c-1.2.4-2.5.6-3.8.6-1.2 0-2.4-.2-3.5-.5-.9-.3-1.9.2-2.3 1-.7 1.3-1.9 2.9-3.9 4.5-5 4-3 9.1 0 11.1s13.9 3.9 18-3c1.9-3.199-.3-9-2.1-12.699-.5-.901-1.5-1.301-2.4-1.001zM75 41c-3.3-2-9.1.4-12.8 2.2-.9.5-1.4 1.5-1 2.5.5 1.3.8 2.8.8 4.3 0 1-.1 2-.4 3-.199.9.2 1.8 1 2.2 1.3.7 2.8 1.9 4.4 3.8 4 5 9 3 11 0s3.9-13.9-3-18zM38.6 53.8c-.4-1.2-.6-2.5-.6-3.8 0-1.2.2-2.4.5-3.5.3-.9-.2-1.9-1-2.3-1.3-.7-2.9-1.9-4.5-3.9-4-5-9.1-3-11.1 0s-3.9 13.8 3 18c3.2 1.9 9-.3 12.7-2.1.9-.5 1.3-1.5 1-2.4z\"},\"circle\":{\"cx\":\"50\",\"cy\":\"50\",\"r\":\"6\"}}},\ncustom20:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M38 47.7c0-.8-1-1.3-1.6-.8l-14 10.8c-1.5 1.1-2.4 2.9-2.4 4.8v4.1c0 .7.7 1.2 1.3.9l15.4-5.8c.8-.3 1.3-1 1.3-1.9V47.7zM60.1 75.7L56 73V27.6c0-2.7-2.9-5.7-4.8-7.2-.7-.6-1.8-.6-2.5 0-1.8 1.5-4.8 4.5-4.8 7.2V73l-4.6 3c-.8.6-1.4 1.5-1.4 2.5v.6c0 .5.4.9.9.9h22.1c.5 0 1.1-.4 1.1-.9 0-1.4-.8-2.6-1.9-3.4zM77.6 57.7l-14-10.8a1 1 0 00-1.6.8v12.2c0 .8.5 1.6 1.3 1.899l15.4 5.8c.7.201 1.3-.199 1.3-.899v-4.1c0-2-.9-3.8-2.4-4.9z\"}}},\ncustom21:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M57.6 71.1c-.3-.699-1-1.1-1.8-1.1H44.2c-.8 0-1.5.4-1.8 1.1l-2.7 7.4c-.3.7.2 1.4.9 1.4h18.8c.699 0 1.199-.801.899-1.4L57.6 71.1zM74 20H26c-3.3 0-6 2.7-6 6v32c0 3.3 2.7 6 6 6h48c3.3 0 6-2.7 6-6V26c0-3.3-2.7-6-6-6zM50 62c-1.7 0-3-1.3-3-3s1.3-3 3-3 3 1.3 3 3-1.3 3-3 3zm24-10c0 1.1-.9 2-2 2H28c-1.1 0-2-.9-2-2V28c0-1.1.9-2 2-2h44c1.1 0 2 .9 2 2v24z\"}}},\ncustom22:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M77.7 63.9l-6.2-5a6.002 6.002 0 00-7.3-.2L58.3 63c-.8.6-1.899.5-2.6-.2L46 54l-8.9-9.8c-.7-.7-.8-1.8-.2-2.6l4.3-5.9c1.6-2.2 1.5-5.2-.2-7.3l-5-6.2c-2.2-2.8-6.4-3-8.9-.5l-5.4 5.4c-1.2 1.2-1.8 2.9-1.8 4.5.7 12.7 6.5 24.8 15 33.3s20.5 14.3 33.3 15c1.7.1 3.3-.601 4.5-1.801l5.4-5.399c2.7-2.4 2.4-6.6-.4-8.8z\"}},\ncustom23:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M48.7 56c.8.7 1.899.7 2.7 0l28.3-26.2c.5-1 .399-2.6-1.601-2.6l-56 .1c-1.5 0-2.7 1.4-1.6 2.6L48.7 56z\"},{\"d\":\"M80 41c0-1.3-1.6-2-2.5-1.1l-22 20.4c-1.5 1.4-3.4 2.1-5.4 2.1-2 0-3.9-.7-5.4-2.101L22.6 39.9c-1-.9-2.5-.2-2.5 1.1v26c0 3.3 2.7 6 6 6h48c3.301 0 6-2.7 6-6-.1 0-.1-18-.1-26z\"}]}},\ncustom24:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M68.1 20H31.9c-3.3 0-5.9 2.7-5.9 5.9v.1c0 1.1.9 2 2 2h44c1.1 0 2-.9 2-2v-.1c0-3.2-2.7-5.9-5.9-5.9zM68 34H32c-1.1 0-2 .9-2 2v42c0 1.1.9 2 2 2h11.1c1.1 0 1.9-.9 1.9-2v-8c0-1.1 1-2 2.1-2h5.8c1.1 0 2.1.9 2.1 2v8c0 1.1.8 2 1.9 2H68c1.1 0 2-.9 2-2V36c0-1.1-.9-2-2-2zM47 61c0 1.1-.9 2-2 2h-4c-1.1 0-2-.9-2-2v-4c0-1.1.9-2 2-2h4c1.1 0 2 .9 2 2v4zm0-14c0 1.1-.9 2-2 2h-4c-1.1 0-2-.9-2-2v-4c0-1.1.9-2 2-2h4c1.1 0 2 .9 2 2v4zm14 14c0 1.1-.9 2-2 2h-4c-1.1 0-2-.9-2-2v-4c0-1.1.9-2 2-2h4c1.1 0 2 .9 2 2v4zm0-14c0 1.1-.9 2-2 2h-4c-1.1 0-2-.9-2-2v-4c0-1.1.9-2 2-2h4c1.1 0 2 .9 2 2v4z\"}}},\ncustom25:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M79.8 27.3c-.7-3.7-3.8-6.7-7.6-7.2-2.7-.4-5.2.5-7.101 2-.6.5-.5 1.3.2 1.7 4.601 2.4 8.5 5.9 11.5 10.1.4.6 1.3.6 1.7 0C79.8 32 80.3 29.7 79.8 27.3zM34.6 23.8c.6-.3.7-1.2.2-1.7-1.9-1.6-4.4-2.4-7.1-2-3.8.5-6.9 3.5-7.6 7.2-.4 2.4.1 4.7 1.3 6.5.4.6 1.3.6 1.7 0 3-4.1 6.9-7.6 11.5-10zM50 26c-14.9 0-27 12.1-27 27 0 6 2 11.6 5.3 16l-4.1 4.1c-1.6 1.601-1.6 4.101 0 5.7.8.8 1.8 1.2 2.8 1.2s2-.4 2.8-1.2l4.1-4.1C38.4 78 44 80 50 80s11.6-2 16-5.3l4.1 4.1C71 79.6 72 80 73 80s2-.4 2.8-1.2c1.601-1.6 1.601-4.1 0-5.7L71.7 69C75 64.6 77 59 77 53c0-14.9-12.1-27-27-27zM31 53c0-10.5 8.5-19 19-19s19 8.5 19 19-8.5 19-19 19-19-8.5-19-19z\"},{\"d\":\"M53 51.8V44c0-1.7-1.3-3-3-3s-3 1.3-3 3v9c0 .8.3 1.6.9 2.1l7 7c.6.6 1.4.9 2.1.9s1.5-.3 2.1-.9c1.2-1.199 1.2-3.1 0-4.199L53 51.8z\"}]}},\ncustom26:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M26 20c-3.3 0-6 2.7-6 6 0 1.8.8 3.4 2 4.5V76c0 2.2 1.8 4 4 4s4-1.8 4-4V30.5c1.2-1.1 2-2.7 2-4.5 0-3.3-2.7-6-6-6zM78.5 30.8c-15.7 8.2-26.4-5.9-41.2-.5-.8.3-1.3 1-1.3 1.9V58c0 1.3 1.3 2.3 2.6 1.9 14.2-4.3 24.9 9.1 40.4.6.6-.3 1-1 1-1.7V31.7c0-.8-.8-1.3-1.5-.9z\"}}},\ncustom27:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M24 63h52c1.1 0 2-.9 2-2V29c0-3.3-2.7-6-6-6H28c-3.3 0-6 2.7-6 6v32c0 1.1.9 2 2 2zm4-32c0-1.1.9-2 2-2h40c1.1 0 2 .9 2 2v24c0 1.1-.9 2-2 2H30c-1.1 0-2-.9-2-2V31zM80 69H58c-1.1 0-2 .9-2 2s-.9 2-2 2h-8c-1.1 0-2-.9-2-2s-.9-2-2-2H20c-1.1 0-2 .9-2 2 0 3.3 2.7 6 6 6h52c3.3 0 6-2.7 6-6 0-1.1-.9-2-2-2z\"}}},\ncustom28:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M64 20H36c-3.3 0-6 2.7-6 6v48c0 3.3 2.7 6 6 6h28c3.3 0 6-2.7 6-6V26c0-3.3-2.7-6-6-6zM50 78c-1.7 0-3-1.3-3-3s1.3-3 3-3 3 1.3 3 3-1.3 3-3 3zm14-10c0 1.1-.9 2-2 2H38c-1.1 0-2-.9-2-2V30c0-1.1.9-2 2-2h24c1.1 0 2 .9 2 2v38z\"}},\ncustom29:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M73.9 28h-1.8c-1.2 0-2.1 1-2.1 2.2V70c0 .1 0 .3.1.4l2.5 3.5c.2.199.5.199.801 0l2.5-3.5c.099-.1.099-.2.099-.4V30.2c0-1.2-.9-2.2-2.1-2.2zM58 20H30c-3.3 0-6 2.7-6 6v48c0 3.3 2.7 6 6 6h28c3.3 0 6-2.7 6-6V26c0-3.3-2.7-6-6-6zM44 78c-1.7 0-3-1.3-3-3s1.3-3 3-3 3 1.3 3 3-1.3 3-3 3zm14-10c0 1.1-.9 2-2 2H32c-1.1 0-2-.9-2-2V30c0-1.1.9-2 2-2h24c1.1 0 2 .9 2 2v38z\"}}},\ncustom3:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M50 38c-6.6 0-12 5.4-12 12s5.4 12 12 12 12-5.4 12-12-5.4-12-12-12z\"},{\"d\":\"M80 50c0-3.5-8.4-5.3-9.7-8.4-1.3-3.2 3.3-10.4.9-12.8-2.4-2.4-9.601 2.2-12.8.9-3.1-1.3-4.9-9.7-8.4-9.7s-5.3 8.4-8.4 9.7c-3.2 1.3-10.4-3.3-12.8-.9-2.4 2.4 2.2 9.6.9 12.8-1.3 3.1-9.7 4.9-9.7 8.4s8.4 5.3 9.7 8.4c1.3 3.2-3.3 10.4-.9 12.8 2.4 2.399 9.6-2.2 12.8-.9 3.1 1.3 4.9 9.7 8.4 9.7s5.3-8.4 8.4-9.7c3.2-1.3 10.4 3.3 12.8.9 2.4-2.4-2.2-9.6-.9-12.8 1.3-3.1 9.7-4.9 9.7-8.4zM50 68c-9.9 0-18-8.1-18-18s8.1-18 18-18 18 8.1 18 18-8.1 18-18 18z\"}]}},\ncustom30:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M71.5 28.5C66 23 58.7 20 51 20c-1.7 0-3 1.3-3 3s1.3 3 3 3c6.1 0 11.9 2.4 16.3 6.7C71.6 37.1 74 42.9 74 49c0 1.7 1.3 3 3 3s3-1.3 3-3c0-7.7-3-15-8.5-20.5z\"},{\"d\":\"M51 32c-1.7 0-3 1.3-3 3s1.3 3 3 3c2.9 0 5.7 1.1 7.8 3.2C60.9 43.3 62 46 62 49c0 1.7 1.3 3 3 3s3-1.3 3-3c0-4.5-1.8-8.8-5-12s-7.5-5-12-5zM46.7 60.7l2.6-7c1.8.7 3.8.3 5.3-1.101 2-2 2-5.1 0-7.1s-5.1-2-7.1 0c-1.5 1.5-1.8 3.7-1 5.6L40 54 28.3 42.3c-.8-.8-2.2-.8-2.9.1-7.5 9-7 22.4 1.5 30.8 8.4 8.399 21.8 8.899 30.8 1.5.9-.7.9-2.1.1-2.9L46.7 60.7z\"}]}},\ncustom31:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M75.5 43.2l-4.9-15.4C69.7 24.9 67 23 64 23H36c-3 0-5.7 1.9-6.7 4.8l-4.8 15.4c-2.6.7-4.5 3-4.5 5.8v12c0 2.6 1.7 4.8 4 5.7V75c0 1.1.9 2 2 2h8c1.1 0 2-.9 2-2v-8h28v8c0 1.1.9 2 2 2h8c1.1 0 2-.9 2-2v-8.3c2.3-.8 4-3 4-5.7V49c0-2.8-1.9-5.1-4.5-5.8zM30 60c-2.8 0-5-2.2-5-5s2.2-5 5-5 5 2.2 5 5-2.2 5-5 5zm22-17H32.2c-.7 0-1.2-.7-1-1.3l3.8-12c.1-.4.5-.7.9-.7h28c.399 0 .8.3.899.6l3.8 12.1c.2.6-.3 1.3-1 1.3H52zm17 17c-2.8 0-5-2.2-5-5s2.2-5 5-5 5 2.2 5 5-2.2 5-5 5z\"}},\ncustom32:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M78.5 35.3L55.1 48.6c-.5.3-1 .4-1.5.4-1.1 0-2.199-.6-2.699-1.7-.7-1.4 0-3.2 1.399-4l7.8-4.4v-7.7c0-.8-.8-1.2-1.5-.9L30.1 46.6c-.5.3-1 .4-1.5.4-1 0-2.1-.5-2.6-1.5-.8-1.4-.3-3.3 1.1-4.1l4.9-2.8V22c0-1.1-.9-2-2-2h-8c-1.1 0-2 .9-2 2v52c0 3.3 2.7 6 6 6h17c1.1 0 2-.9 2-2v-7c0-1.1.9-2 2-2h6c1.1 0 2 .9 2 2v7c0 1.1.9 2 2 2h17c3.3 0 6-2.7 6-6V36.2c0-.8-.8-1.3-1.5-.9zM35 63c0 1.1-.9 2-2 2h-2c-1.1 0-2-.9-2-2v-6c0-1.1.9-2 2-2h2c1.1 0 2 .9 2 2v6zm12 0c0 1.1-.9 2-2 2h-2c-1.1 0-2-.9-2-2v-6c0-1.1.9-2 2-2h2c1.1 0 2 .9 2 2v6zm12 0c0 1.1-.9 2-2 2h-2c-1.1 0-2-.9-2-2v-6c0-1.1.9-2 2-2h2c1.1 0 2 .9 2 2v6zm12 0c0 1.1-.9 2-2 2h-2c-1.1 0-2-.9-2-2v-6c0-1.1.9-2 2-2h2c1.1 0 2 .9 2 2v6z\"}},\ncustom33:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M65 42H36c-1.1 0-2 .9-2 2v8c0 1.1.9 2 2 2h29c1.1 0 2-.9 2-2v-8c0-1.1-.9-2-2-2zm-14 9c-1.7 0-3-1.3-3-3s1.3-3 3-3 3 1.3 3 3-1.3 3-3 3z\"},{\"d\":\"M80 28H20c-1.1 0-2 .9-2 2v2c0 2.2 1.8 4 4 4v36c0 1.1.9 2 2 2h2c1.1 0 2-.9 2-2V36h45v36c0 1.1.9 2 2 2h2c1.1 0 2-.9 2-2V36h-1c2.2 0 4-1.8 4-4v-2c0-1.1-.9-2-2-2z\"}]}},\ncustom34:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M42 30h16c1.1 0 2-1.1 1.8-2.2-1-4.5-5-7.8-9.8-7.8s-8.8 3.4-9.8 7.8c-.2 1.1.7 2.2 1.8 2.2z\"},{\"d\":\"M77 56c1.7 0 3.1-1.4 3-3.2-.1-1.6-1.5-2.8-3.2-2.8H68v-5c5.8-2.3 9.9-8.5 10-15.9 0-1.5-1-2.8-2.5-3.1-1.9-.3-3.5 1.1-3.5 3 0 4.3-2 8-4.9 9.8-1.1-1.7-3-2.8-5.1-2.8H38c-2.1 0-4 1.1-5.1 2.8C30 37 28 33.4 28 29.2c0-1.6-1.2-3.1-2.8-3.2-1.8-.1-3.2 1.3-3.2 3 0 7.4 4.2 13.7 10 16v5h-8.8c-1.6 0-3.1 1.2-3.2 2.8-.1 1.7 1.3 3.2 3 3.2h9v5c-5.8 2.3-9.9 8.5-10 15.9 0 1.5 1 2.8 2.5 3.1 1.9.3 3.5-1.1 3.5-3 0-4.2 1.9-7.9 4.8-9.7 1.7 5.601 6.1 10 11.6 11.8 1.3.4 2.6-.6 2.6-1.899v-24c0-1.601 1.2-3.1 2.8-3.2 1.7-.1 3.2 1.3 3.2 3v24.2c0 1.399 1.3 2.3 2.6 1.899 5.5-1.8 9.9-6.199 11.601-11.8 2.8 1.8 4.7 5.4 4.8 9.5 0 1.601 1.2 3.101 2.8 3.2 1.8.1 3.2-1.3 3.2-3 0-7.4-4.2-13.7-10-16v-5H77z\"}]}},\ncustom35:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M69 40c-1.7 0-3 1.3-3 3v5c0 8.8-7.2 16-16 16s-16-7.2-16-16v-5c0-1.7-1.3-3-3-3s-3 1.3-3 3v5c0 11.1 8.3 20.3 19 21.8V74h-5c-1.7 0-3 1.3-3 3s1.3 3 3 3h16c1.7 0 3-1.3 3-3s-1.3-3-3-3h-5v-4.2C63.7 68.3 72 59.1 72 48v-5c0-1.7-1.3-3-3-3z\"},{\"d\":\"M50 58c5.5 0 10-4.5 10-10V29.9c0-5.5-4.4-9.9-9.9-9.9h-.2c-5.5 0-9.9 4.4-9.9 9.9V48c0 5.5 4.5 10 10 10z\"}]}},\ncustom36:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M38.7 72h-4.1c-.7 0-1.4.4-1.7 1l-1.4 2.4c-.8 1.4-.5 3.2.8 4.1.5.4 1.1.5 1.7.5 1 0 2-.5 2.6-1.5l3-5c.4-.7-.1-1.5-.9-1.5zM67.1 73c-.399-.6-1-1-1.699-1H61.3c-.8 0-1.3.8-.899 1.5l3 5C64 79.5 65 80 66 80c.6 0 1.2-.2 1.7-.5 1.3-.9 1.6-2.8.8-4.1L67.1 73zM67 20H33c-3.3 0-6 2.7-6 6v34c0 3.3 2.7 6 6 6h34c3.3 0 6-2.7 6-6V26c0-3.3-2.7-6-6-6zM36 62c-1.7 0-3-1.3-3-3s1.3-3 3-3 3 1.3 3 3-1.3 3-3 3zm28 0c-1.7 0-3-1.3-3-3s1.3-3 3-3 3 1.3 3 3-1.3 3-3 3zm3-12c0 1.1-.9 2-2 2H35c-1.1 0-2-.9-2-2V30c0-1.1.9-2 2-2h30c1.1 0 2 .9 2 2v20z\"}}},\ncustom37:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M80 56H67V44.2c2.7 2.3 6.2 3.8 10 3.8 1.7 0 3-1.3 3-3s-1.3-3-3-3c-5.5 0-10-4.9-10-11v-3c1.1 0 2-.9 2-2v-2c0-1.1-.9-2-2-2h-6c-1.1 0-2 .9-2 2v2c0 1.1.9 2 2 2v3c0 6.1-4.9 11-11 11s-11-4.9-11-11v-3c1.1 0 2-.9 2-2v-2c0-1.1-.9-2-2-2h-6c-1.1 0-2 .9-2 2v2c0 1.1.9 2 2 2v3c0 6.1-4.5 11-10 11-1.7 0-3 1.3-3 3s1.3 3 3 3c3.8 0 7.3-1.4 10-3.8V56H20c-1.1 0-2 .9-2 2v4.8c0 1.101.9 2.2 2 2.2h4v10.8c0 1.101.9 2.2 2 2.2h6c1.1 0 2-1.1 2-2.2v-4c0-3.3 2.7-5.8 6-5.8h20c3.3 0 6 2.5 6 5.8v4c0 1.101.9 2.2 2 2.2h6c1.1 0 2-1.1 2-2.2V65h4c1.1 0 2-1.1 2-2.2V58c0-1.1-.9-2-2-2zM39 43.9c3 2.5 6.8 4.1 11 4.1s8-1.5 11-4.1V56H39V43.9z\"}},\ncustom38:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M50 45c-4.4 0-8 3.6-8 8s3.6 8 8 8 8-3.6 8-8-3.6-8-8-8z\"},{\"d\":\"M74 35h-8.1c-.801 0-1.5-.4-1.801-1.2l-2.6-5.5c-1-2-3.1-3.3-5.4-3.3H43.9c-2.3 0-4.4 1.3-5.4 3.3l-2.6 5.5c-.3.7-1 1.2-1.8 1.2H26c-3.3 0-6 2.7-6 6v28c0 3.3 2.7 6 6 6h48c3.3 0 6-2.7 6-6V41c0-3.3-2.7-6-6-6zM50 67.2c-7.7 0-14-6.3-14-14s6.3-14 14-14 14 6.3 14 14-6.3 14-14 14z\"}]}},\ncustom39:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M63.6 28.6c-.199-.8-1.1-1.3-1.899-1.1l-40.3 13c-1 .3-1.5 1.4-1.3 2.4l1.6 6.2c.3 1 1.3 1.7 2.3 1.5L34.2 49.2c.3 1.1.8 2.2 1.5 3.1L27 75.9c-.6 1.6.2 3.3 1.8 3.899.3.101.7.2 1 .2 1.2 0 2.4-.8 2.8-2l8.2-22.4c.7.2 1.3.2 2 .2s1.4-.1 2-.2L53.1 78c.4 1.2 1.601 2 2.801 2 .3 0 .699-.1 1-.2 1.6-.6 2.399-2.3 1.8-3.899L50 52.2c1.1-1.5 1.8-3.4 1.8-5.4v-.1l14.101-2c.899-.1 1.5-1 1.199-1.9l-3.5-14.2zM79.9 42.7l-5.5-20.4c-.4-1.6-2.101-2.6-3.7-2.2-1.601.4-2.601 2.1-2.2 3.7L74 44.2c.4 1.6 2.1 2.6 3.7 2.2 1.6-.4 2.6-2.1 2.2-3.7z\"}}},\ncustom4:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M26.2 32.7L47 20.8c1.9-1.1 4.3-1.1 6.2 0l20.7 11.9c1.899 1.1 3.1 3.2 3.1 5.4v23.8c0 2.199-1.1 4.3-3.1 5.399L53.2 79.2c-1.9 1.1-4.3 1.1-6.2 0L26.2 67.3c-1.9-1.1-3.2-3.2-3.2-5.4V38.1c0-2.2 1.3-4.3 3.2-5.4z\"}},\ncustom40:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M74 28H26c-3.3 0-6 2.7-6 6v34c0 3.3 2.7 6 6 6h48c3.3 0 6-2.7 6-6V34c0-3.3-2.7-6-6-6zm0 6v6H26v-6h48zM26 68V50h48v18H26z\"},{\"d\":\"M43.1 55c-1.4 0-2.6.7-3.3 1.8-.1.2-.4.2-.5 0-.7-1.1-1.9-1.8-3.3-1.8-2.2 0-4 1.8-4 4s1.8 4 4 4c1.4 0 2.6-.7 3.3-1.8.1-.2.4-.2.5 0 .7 1.1 1.9 1.8 3.3 1.8h.1c2.1 0 3.9-1.7 3.9-3.9v-.2c-.1-2.2-1.8-3.9-4-3.9zM66 56H54c-1.1 0-2 .9-2 2v2c0 1.1.9 2 2 2h12c1.1 0 2-.9 2-2v-2c0-1.1-.9-2-2-2z\"}]}},\ncustom41:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M76 29H24c-3.3 0-6 2.7-6 6v29c0 3.3 2.7 6 6 6h52c3.3 0 6-2.7 6-6V35c0-3.3-2.7-6-6-6zM31 64c0-3.9-3.1-7-7-7V42c3.9 0 7-3.1 7-7h38c0 3.9 3.1 7 7 7v15c-3.9 0-7 3.1-7 7H31z\"},\"circle\":{\"cx\":\"50\",\"cy\":\"49\",\"r\":\"10\"}}},\ncustom42:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M74 22H26c-3.3 0-6 2.7-6 6v6c0 1.1.9 2 2 2h56c1.1 0 2-.9 2-2v-6c0-3.3-2.7-6-6-6zM74 42H26c-1.1 0-2 .9-2 2v28c0 3.3 2.7 6 6 6h40c3.3 0 6-2.7 6-6V44c0-1.1-.9-2-2-2zm-13 9c0 1.6-1.3 3-3 3H42c-1.6 0-3-1.3-3-3 0-1.6 1.3-3 3-3h16c1.7 0 3 1.3 3 3z\"}}},\ncustom43:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M81.7 43.2s.1 0 0 0c.1-.3.2-.4.2-.6v-.2-.6-.4-.2c0-.1-.101-.2-.101-.3s0-.1-.1-.2c0-.1-.101-.2-.2-.3 0-.1-.1-.1-.1-.2l-12-17C68.9 22.5 68 22 67 22H31c-1 0-1.9.5-2.5 1.3l-12 17c0 .1-.1.1-.1.2-.1.1-.1.2-.2.3 0 .1 0 .1-.1.2 0 .1-.1.2-.1.3V42.7c0 .2.1.4.2.5v.1c.1.1.1.3.2.4 0 .1.1.1.1.2l.2.2 30 33 .1.101.1.1.1.099s.1 0 .1.1c.1 0 .1.1.2.1 0 0 .1 0 .1.101 0 0 .1 0 .1.1 0 0 .1 0 .1.101H49.7s.1 0 .1-.101c0 0 .1 0 .1-.1 0 0 .1 0 .1-.101 0 0 .1 0 .1-.1.1 0 .1-.1.2-.1 0 0 .1 0 .1-.101l.1-.1.1-.101.1-.098 30-33 .2-.2c0-.1.1-.1.1-.2.6-.1.7-.2.7-.4zM49 39h-4.8l4.8-8.1 4.8 8.1H49zm0 6h6l-6 19.7L43 45h6zm5.2-17h7.5l-2.8 8-4.7-8zm-15.1 8l-2.8-8h7.5l-4.7 8zm-2.3 9l5.5 18.1L25.8 45h11zm24.4 0h11L55.7 63.1 61.2 45zm12-6h-9l3-8.5 6 8.5zm-42.4-8.5l3 8.5h-9l6-8.5z\"}},\ncustom44:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M69.7 28.9C64.4 22.3 60.1 20 51 20c-4.1 0-9 1.6-11 2 0-1.1-.9-2-2-2h-4c-1.1 0-2 .9-2 2v8c0 1.1.9 2 2 2h4c1.1 0 2-.9 2-2h2.1c1.6 0 2.9 1.3 2.9 2.9v.1c0 1.7 1.3 3 3 3v16c-2.2 0-4 1.8-4 4v18c0 3.3 2.7 6 6 6h2c3.3 0 6-2.7 6-6V56c0-2.2-1.8-4-4-4V36c1.7 0 3-2.2 3-3.9V32c0-1.5 1.2-2.7 2.7-2.8 4-.2 6.2 1.4 7.3 2.3.6.5 1.6.6 2.2.1 1-.6 1.2-1.8.5-2.7z\"}},\ncustom45:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M33 43h34v14H33z\"},{\"d\":\"M82 41.3V36c0-3.3-2.7-6-6-6H24c-3.3 0-6 2.7-6 6v5.3c0 .7.4 1.4 1 1.7 2.4 1.4 4 4 4 6.9 0 3-1.6 5.5-4 6.9-.6.4-1 1-1 1.7V64c0 3.3 2.7 6 6 6h52c3.3 0 6-2.7 6-6v-5.3c0-.7-.4-1.4-1-1.7-2.4-1.4-4-4-4-6.9 0-3 1.6-5.5 4-6.9.6-.5 1-1.1 1-1.9zM71 63H29c-1.1 0-2-.9-2-2V39c0-1.1.9-2 2-2h42c1.1 0 2 .9 2 2v22c0 1.1-.9 2-2 2z\"}]}},\ncustom46:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M61 37H39c-1.1 0-2 .9-2 2v22c0 1.1.9 2 2 2h22c1.1 0 2-.9 2-2V39c0-1.1-.9-2-2-2z\"},{\"d\":\"M78.5 27.2c.9-.3 1.5-1 1.5-1.9V22c0-1.1-.9-2-2-2h-3.3c-.9 0-1.601.6-1.9 1.5-.6 2-2.5 3.5-4.8 3.5s-4.1-1.5-4.8-3.5c-.3-.9-1-1.5-1.9-1.5h-4.6c-.9 0-1.601.6-1.9 1.5-.6 2-2.5 3.5-4.8 3.5s-4.1-1.5-4.8-3.5c-.3-.9-1-1.5-1.9-1.5h-4.6c-.9 0-1.6.6-1.9 1.5-.6 2-2.5 3.5-4.8 3.5-2.2 0-4.1-1.5-4.8-3.5-.3-.9-1-1.5-1.9-1.5H22c-1.1 0-2 .9-2 2v3.3c0 .9.6 1.6 1.5 1.9 2 .6 3.5 2.5 3.5 4.8s-1.5 4.1-3.5 4.8c-.9.3-1.5 1-1.5 1.9v4.6c0 .9.6 1.6 1.5 1.9 2 .6 3.5 2.5 3.5 4.8s-1.5 4.1-3.5 4.8c-.9.3-1.5 1-1.5 1.9v4.6c0 .9.6 1.601 1.5 1.9 2 .6 3.5 2.5 3.5 4.8s-1.5 4.1-3.5 4.8c-.9.3-1.5 1-1.5 1.9V78c0 1.1.9 2 2 2h3.3c.9 0 1.6-.6 1.9-1.5.6-2 2.5-3.5 4.8-3.5 2.2 0 4.1 1.5 4.8 3.5.3.9 1 1.5 1.9 1.5h4.6c.9 0 1.6-.6 1.9-1.5.6-2 2.5-3.5 4.8-3.5s4.1 1.5 4.8 3.5c.3.9 1 1.5 1.9 1.5h4.6c.9 0 1.601-.6 1.9-1.5.6-2 2.5-3.5 4.8-3.5s4.1 1.5 4.8 3.5c.3.9 1 1.5 1.9 1.5H78c1.1 0 2-.9 2-2v-3.3c0-.9-.6-1.601-1.5-1.9-2-.6-3.5-2.5-3.5-4.8s1.5-4.1 3.5-4.8c.9-.3 1.5-1 1.5-1.9v-4.6c0-.9-.6-1.601-1.5-1.9-2-.6-3.5-2.5-3.5-4.8s1.5-4.1 3.5-4.8c.9-.3 1.5-1 1.5-1.9v-4.6c0-.9-.6-1.6-1.5-1.9-2-.6-3.5-2.5-3.5-4.8s1.5-4.1 3.5-4.8zM69 63c0 3.3-2.7 6-6 6H37c-3.3 0-6-2.7-6-6V37c0-3.3 2.7-6 6-6h26c3.3 0 6 2.7 6 6v26z\"}]}},\ncustom47:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M64 72H30c-3.3 0-6 2.7-6 6v.1c0 1 .9 1.9 1.9 1.9h42.2c1 0 1.9-.9 1.9-1.9V78c0-3.3-2.7-6-6-6zM77.4 40.4L61.5 25.6l2.6-3.9c.4-.6.101-1.4-.6-1.5-4.9-1-7.9 2.4-7.9 2.4-30.8 0-25.8 33.9-24.3 41.8.2.899 1 1.6 2 1.6h27.1c.8 0 1.3-1 .8-1.6-5.5-6.7-8.4-14.2-10.2-19-.3-.8.5-1.7 1.3-1.3 7.3 3.7 10.3-.3 15.2 2.8 2.4 1.5 5.4 1.1 7.4-.9l2.699-2.7c.601-.8.601-2.1-.199-2.9zM57 37c-1.7 0-3-1.3-3-3s1.3-3 3-3 3 1.3 3 3-1.3 3-3 3z\"}}},\ncustom48:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M78 24H68v-2c0-1.1-.9-2-2-2H34c-1.1 0-2 .9-2 2v2H22c-1.1 0-2 .9-2 2v13c0 5 4 9 9 9h4.6c2.8 6.4 8.9 10.9 16.3 11 7.6.1 14-4.5 16.7-11H71c5 0 9-4 9-9V26c0-1.1-.9-2-2-2zM29 42c-1.7 0-3-1.3-3-3v-9h6v10.6c0 .5 0 .9.1 1.4H29zm45-3c0 1.7-1.3 3-3 3h-3.1c0-.4.1-.9.1-1.3V30h6v9zM60 74h-1c-3.3 0-6-2.7-6-6v-2c0-.6-.4-1-1-1h-4c-.6 0-1 .4-1 1v2c0 3.3-2.7 6-6 6h-1c-1.1 0-2 .9-2 2v2c0 1.1.9 2 2 2h20c1.1 0 2-.9 2-2v-2c0-1.1-.9-2-2-2z\"}}},\ncustom49:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M50 41c-5 0-9 4-9 9s4 9 9 9 9-4 9-9-4-9-9-9zm0 14c-2.8 0-5-2.2-5-5s2.2-5 5-5 5 2.2 5 5-2.2 5-5 5z\"},{\"d\":\"M50 20c-16.6 0-30 13.4-30 30s13.4 30 30 30 30-13.4 30-30-13.4-30-30-30zm0 52.9c0 1.199-1 2.1-2.2 2-12.1-1-21.7-10.7-22.8-22.8 0-1.1.9-2.1 2.1-2.1h2c1 0 1.9.8 2 1.8.9 9 8.1 16.2 17.1 17.1 1 .1 1.8 1 1.8 2v2zm0-7.9c-8.3 0-15-6.7-15-15s6.7-15 15-15 15 6.7 15 15-6.7 15-15 15zm22.9-15h-2c-1 0-1.9-.8-2-1.8-.9-9-8.1-16.2-17.1-17.1-1-.1-1.8-1-1.8-2v-2c0-1.2 1-2.1 2.2-2 12.1 1 21.7 10.7 22.8 22.8 0 1.1-.9 2.1-2.1 2.1z\"}]}},\ncustom5:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M78.8 25.5c-10.2-3.9-22.1-4.8-32.5-1.4-9.3 3.1-18.8 10-20.2 20.4-.3 2.2-.2 4.5.3 6.6.2 1.101.6 2.2 1 3.301.2.6.4 1.1.7 1.6l-1.2 1.8C24 62.3 22 67.4 20.8 72.6c-.5 2.2-1.7 5.4.6 7 .9.601 2.2.601 3.1.101 1.2-.7 1.4-1.9 1.6-3.2.9-5.3 2.7-10.6 5.6-15.1 1.4-2.2 2.9-4.4 4.6-6.4 1.5-1.6 3.7-4.7 6.2-3.8 2.5.899 2.4 3.8.7 5.3s-3.1 3.1-3.1 5.5c0 1.8.8 3.6 2.3 4.8 2 1.601 6 2 8.4 1.8 5.3-.3 9.601-1.899 13.9-5C70.3 59.7 72.5 52.9 73.6 46.4c.7-4 1.2-8 2.601-11.8.6-1.6 1.399-3.2 2.3-4.6.4-.7 1.2-1.5 1.4-2.3.299-1-.301-1.9-1.101-2.2z\"}},\ncustom50:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M76.6 56.3C74.3 57.4 71.7 58 69 58c-3.3 0-6.3-.9-9-2.4a.912.912 0 00-1 0c-2.6 1.6-5.7 2.4-9 2.4s-6.3-.9-9-2.4a.912.912 0 00-1 0c-2.6 1.6-5.7 2.4-9 2.4-2.7 0-5.3-.6-7.6-1.7-.6-.3-1.4.2-1.4.9v12.1c0 2.4 1.4 4.5 3.6 5.5 5 2.2 10.4 3.8 16.1 4.601 1.2.199 2.3-.801 2.3-2v-7.5c0-3.301 2.7-5.9 5.9-5.9h.1c3.3 0 5.9 2.7 5.9 5.9v7.5c0 1.199 1.1 2.1 2.3 2 5.6-.801 11-2.4 16.1-4.601 2.2-1 3.601-3.1 3.601-5.5V57.2c.099-.7-.701-1.2-1.301-.9zM31 52c3.6 0 6.7-1.5 8.7-3.9.4-.5 1.1-.5 1.5 0 2 2.4 5.2 3.9 8.7 3.9 3.6 0 6.7-1.5 8.7-3.9.4-.5 1.101-.5 1.5 0 2 2.4 5.2 3.9 8.7 3.9 5.601 0 10.3-3.9 10.9-8.8.1-.7-.2-1.4-.8-1.8l-25.3-20c-2.199-1.7-5.3-1.7-7.399 0l-25.5 20c-.6.4-.8 1.1-.8 1.8C20.7 48.2 25.4 52 31 52z\"}}},\ncustom51:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M40.5 25.6c2.5 1.7 5 5.8 6 8.9.2.7.8 1.2 1.5 1.3.7.2 1.3.2 2 .2 1.1 0 2 0 2.9-.4 2.6-.9 4.8-2 6.699-3.9 3.101-3.1 4.2-7.5 3-11.2-3.699-1.1-8.1-.1-11.199 3-.9.9-1.601 1.9-2.2 3-1.6-2.5-3.5-4.7-5.7-6.1-1.5-.9-3.4-.4-4.3 1.1-.6 1.5 0 3.2 1.3 4.1zM71.2 40.2c-10.3-5.8-12.5 2-21.2 2s-10.9-7.8-21.2-2c-10 5.7-7.1 24.1-3.1 31 3.6 6.1 10.1 12.4 23.4 6.4.5-.199 1.2-.199 1.7 0 13.3 6 19.9-.3 23.4-6.399 4.1-6.901 7-25.401-3-31.001z\"}}},\ncustom52:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M79.9 35.1c.199-3.2 0-6.4-.5-9.5-.4-2.6-2.4-4.6-5-5-3.2-.5-6.301-.7-9.5-.5-.9 0-1.301 1.1-.7 1.7l14 14c.6.6 1.7.1 1.7-.7zM56.3 22.3c-.5-.5-1.3-.7-1.899-.5-7.5 2.1-14.7 6.1-20.601 12.1-5.8 5.8-9.7 12.7-11.9 20-.2.699 0 1.5.5 2l21.8 21.8c.5.5 1.3.7 2 .5 7.3-2.2 14.2-6.101 20-11.9 5.899-5.899 10-13 12.1-20.6.2-.7 0-1.4-.5-1.9L56.3 22.3zm-8.4 39.3c-1.2 1.2-3.1 1.2-4.2 0L38.1 56c-1.2-1.2-1.2-3.1 0-4.2 1.2-1.2 3.1-1.2 4.2 0l5.6 5.601c1.2 1.099 1.2 2.999 0 4.199zm7-7c-1.2 1.2-3.101 1.2-4.2 0L45.1 49c-1.2-1.2-1.2-3.1 0-4.2 1.2-1.2 3.1-1.2 4.2 0l5.601 5.6c1.199 1.1 1.199 3-.001 4.2zm7-7.1c-1.2 1.2-3.101 1.2-4.2 0l-5.6-5.6c-1.199-1.2-1.199-3.1 0-4.2 1.2-1.2 3.101-1.2 4.2 0l5.601 5.6c1.199 1.2 1.199 3.1-.001 4.2zM20.1 64.3c-.2 3.4-.1 6.8.5 10.2.4 2.6 2.4 4.6 5 5 3.4.5 6.8.7 10.2.5.9-.1 1.3-1.1.7-1.7L21.8 63.6c-.6-.6-1.7-.2-1.7.7z\"}}},\ncustom53:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M74.7 57h-.6c-2.3 0-4.1-1.8-4.1-4.1V39.7c0-11.6-10.4-20.9-22.3-19.5C37.5 21.3 30 30.2 30 40.5v11.9c0 2.5-2.1 4.6-4.6 4.6h-.1c-1.8 0-3.3 1.5-3.3 3.3v2.4c0 1.8 1.5 3.3 3.3 3.3h49.4c1.8 0 3.3-1.5 3.3-3.3v-2.4c0-1.8-1.5-3.3-3.3-3.3zM56.6 72H43.4c-.8 0-1.5.6-1.3 1.4.7 3.8 4 6.6 8 6.6s7.2-2.7 8-6.6c0-.8-.6-1.4-1.5-1.4z\"}}},\ncustom54:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M27.2 49.1c6.5-1.2 12.2-3.8 18.4-6.7 2-.9 5.7-2.7 7.5-3.5.601-.3 1-.9.801-1.6C53.4 34.4 51 32 48 32h-2v-3.8c0-1.1-1-2.1-2-2.1V22c0-1.1-.9-2.1-2-2.1h-4c-1.1 0-2 .9-2 2.1v4.1c-1 0-2 .9-2 2.1V32h-2c-3.3 0-6 3.1-6 6.5v9.6c0 .6.6 1.1 1.2 1zM72 69.2s7.3-11.4 8-27.5c0-1.2-.9-2.2-2.1-2.2-23.8.9-34.9 15.5-56 16.4-1.1 0-1.9 1-1.9 2v7.6c0 3.3 2.5 5.9 5.6 6.1 10.5.7 33 2.2 45.9 4.301 1.3.199 2.5-1 2.3-2.301-.3-1.5-.8-3.3-1.8-4.4zM71 51c-1.7 0-3-1.3-3-3s1.3-3 3-3 3 1.3 3 3-1.3 3-3 3z\"}}},\ncustom55:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M32 61h13c1.1 0 2-.9 2-2V29c0-2.2-2-4-4-4H32.3C31 25 30 26 30 27.3V59c0 1.1.9 2 2 2z\"},{\"d\":\"M76 31v32c0 2.2-1.8 4-4 4H28c-2.2 0-4-1.8-4-4V31c-3.3 0-6 2.7-6 6v30c0 3.3 2.7 6 6 6h19c1.1 0 2 .9 2 2s.9 2 2 2h6c1.1 0 2-.9 2-2s.9-2 2-2h19c3.3 0 6-2.7 6-6V37c0-3.3-2.7-6-6-6z\"},{\"d\":\"M55 61h12.7c1.3 0 2.3-1 2.3-2.3V27c0-1.1-.9-2-2-2H57c-2 0-4 1.8-4 4v30c0 1.1.9 2 2 2z\"}]}},\ncustom56:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M62.7 30.3c-6.3 6.3-13.9-1.4-20.9 5.6L21.7 56c-2.3 2.3-2.3 6 0 8.3l7 7 7 7c2.3 2.3 6 2.3 8.3 0l20.2-20.2c7-7-.7-14.6 5.6-20.899l1.601-1.6c.399-.4.399-1 0-1.4l-5.5-5.5c-.4-.4-1-.4-1.4 0L62.7 30.3zM57.9 56l-7 7c-.8.8-2 .8-2.8 0l-5.6-5.6-5.6-5.6c-.8-.8-.8-2 0-2.8l7-7c.8-.8 2-.8 2.8 0l5.6 5.6 5.601 5.6c.799.8.799 2-.001 2.8zM79.4 24.7l-2.1-2.1-2.1-2.1c-.8-.8-2-.8-2.8 0l-2.6 2.6c-.399.4-.399 1 0 1.4l5.5 5.5c.4.4 1 .4 1.4 0l2.6-2.6c.9-.6.9-1.9.1-2.7z\"}}},\ncustom57:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M53 52.6V77c0 .8.8 1.2 1.5.9 4.8-2.7 19.4-11 19.4-11 1.9-1.1 3.1-3.1 3.1-5.3V39.7c0-.8-.8-1.2-1.5-.9L54 50.9c-.6.4-1 1-1 1.7zM51 45.8l21.6-12.1c.7-.4.7-1.3 0-1.7-4.8-2.7-19.5-11.1-19.5-11.1a6.237 6.237 0 00-6.2 0S32.2 29.2 27.4 32c-.7.4-.7 1.3 0 1.7L49 45.8c.6.3 1.4.3 2 0zM46 50.9L24.5 38.8c-.7-.4-1.5.1-1.5.9v21.8c0 2.2 1.2 4.2 3.1 5.3 0 0 14.6 8.3 19.4 11 .7.4 1.5-.1 1.5-.899V52.6c0-.7-.4-1.3-1-1.7z\"}}},\ncustom58:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M67 46c-1.7 0-3.1-1.4-3-3.2.1-1.6 1.5-2.8 3.2-2.8h8.6c.4 0 .7-.2.9-.5.8-1.4 1.399-2.8 1.899-4.1.201-.7-.199-1.4-.899-1.4h-6.4c-1.6 0-3.1-1.2-3.2-2.8-.1-1.7 1.3-3.2 3-3.2h8c.601 0 1-.4 1-1v-3c0-1.1-.899-2-2-2H67.4c-3 0-5.4 2.4-5.4 5.4v.1c0 5.6-3.7 10.6-9 12v-8.3c2.1-1.2 3.4-3.5 3-6.2-.4-2.6-2.6-4.7-5.2-5-3.6-.4-6.7 2.4-6.7 6 0 2.2 1.2 4.1 3 5.2v8.4c-5.3-1.4-9-6.4-9-12v-.1c0-3-2.4-5.4-5.4-5.4H22c-1.1 0-2 .9-2 2v3c0 .6.4 1 1 1h7.8c1.6 0 3.1 1.2 3.2 2.8.1 1.7-1.3 3.2-3 3.2h-6.5c-.7 0-1.2.7-.9 1.4.5 1.3 1.1 2.7 1.9 4.1.2.3.5.5.9.5H33c1.6 0 3.1 1.2 3.2 2.8.1 1.7-1.3 3.2-3 3.2h-2.4c-.9 0-1.4 1.2-.6 1.8 4.2 3.6 9.8 6.2 17 6.2v22.8c0 1.6 1.2 3.1 2.8 3.199 1.7.101 3.2-1.3 3.2-3V54c7.2 0 12.8-2.6 17-6.2.7-.6.3-1.8-.601-1.8H67z\"}},\ncustom59:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M68.3 31c1 0 1.7-.8 1.7-1.7 0-.7-.4-1.4-1.1-1.8-1.301-.7-3.301-4.1-4-6.2-.2-.8-1-1.3-1.801-1.3H38.8c-.8 0-1.6.5-1.8 1.3-.6 2-2.7 5.5-3.9 6.2-.6.4-1 1-1 1.8 0 1 .8 1.7 1.7 1.7h34.5zM32 73.9c0 3.399 2.7 6.1 6 6.1h26c3.3 0 6-2.7 6-6v-.1c0-1.101-.9-1.9-1.9-1.9H33.9c-1 0-1.9.9-1.9 1.9zM70 64V39c0-1.1-.9-2-2-2H34c-1.1 0-2 .9-2 2v25c0 1.1.9 2 2 2h34c1.1 0 2-.9 2-2z\"}}},\ncustom6:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M50 76H24c-3.1 0-5-3.4-3.4-6l26-44c1.5-2.6 5.3-2.6 6.9 0l26 44c1.6 2.7-.4 6-3.4 6H50z\"}},\ncustom60:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M80 45.3C77.6 31 65.1 20 50 20S22.4 31 20 45.3c-.2.9.9 1.6 1.6 1 1.5-1.3 3.4-2 5.6-2 2.8 0 5.2 1.3 6.8 3.3.4.5 1.2.5 1.6 0 1.6-2 4-3.3 6.8-3.3s5.2 1.3 6.8 3.3c.4.5 1.2.5 1.6 0 1.601-2 4-3.3 6.8-3.3 2.801 0 5.2 1.3 6.801 3.3.399.5 1.199.5 1.6 0 1.6-2 4-3.3 6.8-3.3 2.101 0 4.101.8 5.601 2 .698.6 1.698 0 1.598-1zM62 68c-1.7 0-3 1.3-3 3s-1.3 3-3 3-3-1.3-3-3V57c0-1.7-1.3-3-3-3s-3 1.3-3 3v14c0 5 4 9 9 9s9-4 9-9c0-1.7-1.3-3-3-3z\"}}},\ncustom61:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M73 20h-4c-1.1 0-2 .9-2 2v4c0 1.1-.9 2-2 2h-2c-1.1 0-2-.9-2-2v-4c0-1.1-.8-2-2-2h-4c-1.1 0-2 .9-2 2v4c0 1.1-.9 2-2 2h-2c-1.1 0-2-.9-2-2v-4c0-1.1-.9-2-2-2h-4c-1.1 0-2 .9-2 2v4c0 1.1-.9 2-2 2h-2c-1.1 0-2-.9-2-2v-4c0-1.1-.9-2-2-2h-4c-1.1 0-2 .9-2 2v10c0 3.3 2.7 6 6 6h38c3.3 0 6-2.7 6-6V22c0-1.1-.9-2-2-2zM68.5 45.7c-.1-1-1-1.7-2-1.7h-33c-1 0-1.9.7-2 1.7l-4.5 32c-.2 1.2.8 2.3 2 2.3h12.9c1.1 0 2.1-.9 2.1-2v-9.7c0-3.3 2.5-6.2 5.8-6.2 3.4-.1 6.2 2.601 6.2 6v10c0 1.101 1 2 2.1 2H71c1.2 0 2.2-1.1 2-2.3l-4.5-32.1z\"}}},\ncustom62:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M77 70H23c-1.6 0-3 1.3-3 3 0 1.6 1.3 3 3 3h54c1.6 0 3-1.3 3-3s-1.3-3-3-3zM24 64h34v-4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2v4h4c1.1 0 2-.9 2-2V28c0-1.1-.9-2-2-2H24c-1.1 0-2 .9-2 2v34c0 1.1.9 2 2 2zm9-26c0-1.1.9-2 2-2h29c1.1 0 2 .9 2 2v2c0 1.1-.9 2-2 2H35c-1.1 0-2-.9-2-2v-2zm0 12c0-1.1.9-2 2-2h19c1.1 0 2 .9 2 2v2c0 1.1-.9 2-2 2H35c-1.1 0-2-.9-2-2v-2z\"}}},\ncustom63:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M42 60h16c1.1 0 2-.9 2-2V42c0-1.1-.9-2-2-2H42c-1.1 0-2 .9-2 2v16c0 1.1.9 2 2 2z\"},{\"d\":\"M77 53c1.7 0 3-1.3 3-3s-1.3-3-3-3h-5v-6h5c1.7 0 3-1.3 3-3s-1.3-3-3-3h-5v-1c0-3.3-2.7-6-6-6h-1v-5c0-1.7-1.3-3-3-3s-3 1.3-3 3v5h-6v-5c0-1.7-1.3-3-3-3s-3 1.3-3 3v5h-6v-5c0-1.7-1.3-3-3-3s-3 1.3-3 3v5h-1c-3.3 0-6 2.7-6 6v1h-5c-1.7 0-3 1.3-3 3s1.3 3 3 3h5v6h-5c-1.7 0-3 1.3-3 3s1.3 3 3 3h5v6h-5c-1.7 0-3 1.3-3 3s1.3 3 3 3h5v1c0 3.3 2.7 6 6 6h1v5c0 1.7 1.3 3 3 3s3-1.3 3-3v-5h6v5c0 1.7 1.3 3 3 3s3-1.3 3-3v-5h6v5c0 1.7 1.3 3 3 3s3-1.3 3-3v-5h1c3.3 0 6-2.7 6-6v-1h5c1.7 0 3-1.3 3-3s-1.3-3-3-3h-5v-6h5zM66 63c0 1.7-1.3 3-3 3H37c-1.7 0-3-1.3-3-3V37c0-1.7 1.3-3 3-3h26c1.7 0 3 1.3 3 3v26z\"}]}},\ncustom64:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M50 20c-16.5 0-30 13.5-30 30s13.5 30 30 30 30-13.5 30-30-13.5-30-30-30zm0 52c-12.1 0-22-9.9-22-22s9.9-22 22-22 22 9.9 22 22-9.9 22-22 22z\"},{\"d\":\"M61.6 37.1l-16.6 6c-.9.3-1.6 1-1.9 1.9l-6 16.6c-.3.8.5 1.6 1.3 1.3l16.6-6c.9-.301 1.6-1 1.9-1.9l6-16.6c.3-.8-.5-1.6-1.3-1.3zM50 54c-2.2 0-4-1.8-4-4s1.8-4 4-4 4 1.8 4 4-1.8 4-4 4z\"}]}},\ncustom65:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M72.1 67H21.9c-1 0-1.9.9-1.9 1.9v.1c0 3.3 2.7 6 6 6h42c3.3 0 6-2.7 6-6v-.1c0-1-.9-1.9-1.9-1.9zM70 27H22.1c-1 0-1.8.9-1.9 2-.3 2.7-.3 7.5.1 10.4 1.3 9.3 6.3 17.2 13.2 21.4.3.2.7.3 1 .3h20.9c.399 0 .699-.1 1-.3 3.899-2.399 7.3-6 9.6-10.4 1.2.4 2.5.6 3.9.6 6.6 0 12-5.4 12-12S76.6 27 70 27zm0 18c-.5 0-1-.1-1.5-.2 1-3.2 1.5-6.6 1.5-10.2V33c3.3 0 6 2.7 6 6s-2.7 6-6 6z\"}}},\ncustom66:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M78.3 55.3L63.7 40.7c-2.3-2.3-6-2.3-8.3 0L40.7 55.3c-2.3 2.3-2.3 6 0 8.3l14.6 14.6c2.3 2.3 6 2.3 8.3 0l14.6-14.6c2.4-2.2 2.4-6 .1-8.3zM50.7 62c-1.4 1.4-3.6 1.4-4.9 0-1.4-1.4-1.4-3.6 0-4.9 1.4-1.399 3.6-1.399 4.9 0 1.3 1.3 1.3 3.5 0 4.9zM62 73.3c-1.4 1.4-3.6 1.4-4.9 0-1.4-1.4-1.4-3.6 0-4.9 1.4-1.4 3.601-1.4 4.9 0 1.3 1.3 1.3 3.5 0 4.9zm0-22.6c-1.4 1.399-3.6 1.399-4.9 0-1.399-1.4-1.399-3.6 0-4.9 1.4-1.4 3.601-1.4 4.9 0 1.3 1.3 1.3 3.5 0 4.9zM73.3 62c-1.399 1.4-3.6 1.4-4.899 0-1.4-1.4-1.4-3.6 0-4.9 1.399-1.4 3.599-1.4 4.899 0 1.4 1.3 1.4 3.5 0 4.9zM53 33.5V26c0-3.3-2.7-6-6-6H26c-3.3 0-6 2.7-6 6v21c0 3.3 2.7 6 6 6h7.5c.6 0 1.2-.3 1.6-.7.3-.399.7-.8 1.1-1.2L51 36.2c.4-.4.8-.7 1.2-1.1.5-.4.8-1 .8-1.6zM28.5 48c-1.9 0-3.5-1.6-3.5-3.5s1.6-3.5 3.5-3.5 3.5 1.6 3.5 3.5-1.6 3.5-3.5 3.5zm8-8c-1.9 0-3.5-1.6-3.5-3.5s1.6-3.5 3.5-3.5 3.5 1.6 3.5 3.5-1.6 3.5-3.5 3.5zm8-8c-1.9 0-3.5-1.6-3.5-3.5s1.6-3.5 3.5-3.5 3.5 1.6 3.5 3.5-1.6 3.5-3.5 3.5z\"}}},\ncustom67:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M54 53.1L52.8 51c-.5-.8-1.3-1.3-2.2-1.3-.3 0-.6.1-.899.2l-3.5 1.3c-1.4-1.2-2.9-2-4.6-2.6L41 45c-.2-1.2-1.3-1.9-2.5-1.9H36c-1.2 0-2.3.7-2.5 2l-.6 3.5c-1.7.6-3.2 1.5-4.6 2.7L24.8 50c-.3-.1-.6-.2-.9-.2-.9 0-1.8.5-2.2 1.3l-1.2 2.1c-.6 1.1-.4 2.399.6 3.2l2.9 2.4c-.2.9-.3 1.8-.3 2.601 0 .8.1 1.8.3 2.699l-2.9 2.4c-1 .8-1.2 2.2-.6 3.2l1.2 2.1c.5.8 1.3 1.3 2.2 1.3.3 0 .6-.1.9-.199l3.5-1.301c1.4 1.2 2.9 2.101 4.6 2.601l.6 3.7C33.7 79.1 34.8 80 36 80h2.5c1.2 0 2.3-.9 2.5-2.1l.6-3.7c1.8-.601 3.4-1.601 4.8-2.8l3.3 1.3c.3.1.6.2.899.2.9 0 1.7-.5 2.2-1.2l1.2-2c.6-1.101.4-2.5-.6-3.3L50.5 64c.2-.9.3-1.8.3-2.6 0-.9-.1-1.801-.3-2.7l2.9-2.4c.9-.8 1.2-2.2.6-3.2zM37.2 68.3c-3.7 0-6.8-3-6.8-6.8s3-6.8 6.8-6.8c3.7 0 6.8 3 6.8 6.8s-3.1 6.8-6.8 6.8zM79.2 39l-2.3-1.9c.1-.7.2-1.4.2-2.1s-.1-1.5-.2-2.1l2.3-1.9c.8-.6 1-1.7.5-2.6l-1-1.7c-.4-.6-1.101-1-1.8-1-.2 0-.5.1-.7.1l-2.9 1.1c-1.1-1-2.399-1.7-3.7-2.1l-.5-3c-.199-1-1-1.6-2-1.6h-2c-1 0-1.899.6-2 1.6l-.5 2.9c-1.4.5-2.6 1.2-3.7 2.2L56 25.6c-.2-.1-.5-.1-.7-.1-.7 0-1.399.4-1.8 1l-1 1.7c-.5.9-.3 2 .5 2.6l2.3 1.9c-.1.7-.2 1.4-.2 2.1 0 .7.101 1.5.2 2.1L53 38.8c-.8.6-1 1.7-.5 2.6l1 1.7c.4.6 1.1 1 1.8 1 .2 0 .5 0 .7-.1l2.9-1.1c1.1 1 2.399 1.7 3.699 2.1l.5 2.9c.2 1 1 1.7 2 1.7h2c1 0 1.9-.7 2-1.7l.5-3c1.4-.5 2.801-1.3 3.9-2.3l2.7 1.1c.2.1.5.1.7.1.699 0 1.399-.4 1.8-1l1-1.6c.501-.4.301-1.5-.499-2.2zm-13.1 1.6c-3 0-5.5-2.5-5.5-5.5s2.5-5.5 5.5-5.5 5.5 2.5 5.5 5.5-2.4 5.5-5.5 5.5z\"}}},\ncustom68:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M50 20c-16.5 0-30 13.5-30 30s13.5 30 30 30 30-13.5 30-30-13.5-30-30-30zm23.8 27h-7.9c-.3-7.1-1.9-13.3-4.3-18 6.6 3.7 11.2 10.3 12.2 18zM47 27.3V47h-6.9c.5-9.4 3.5-16.8 6.9-19.7zM47 53v19.7c-3.4-2.9-6.4-10.3-6.9-19.7H47zm6 19.7V53h6.9c-.5 9.4-3.5 16.8-6.9 19.7zM53 47V27.3c3.4 2.9 6.4 10.3 6.9 19.7H53zM38.4 29c-2.4 4.7-3.9 10.9-4.3 18h-7.9c1-7.7 5.6-14.3 12.2-18zM26.2 53h7.9c.3 7.1 1.9 13.3 4.3 18-6.6-3.7-11.2-10.3-12.2-18zm35.4 18c2.4-4.7 3.9-10.9 4.301-18H73.8c-1 7.7-5.6 14.3-12.2 18z\"}},\ncustom69:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M52.6 45.1c-5.7-4.3-11.5-2.2-15.3 1.4-1.4 1.3-3.6 2.1-6 2.8-2.8.9-5.7 1.8-7.8 3.9-5.6 5.5-4.5 12.1 3.3 19.8l.1.1.1.1c4.6 4.5 8.8 6.7 12.6 6.7 2.8 0 5.3-1.101 7.7-3.4 2.1-2 3.1-4.9 4-7.6.8-2.3 1.6-4.6 2.9-5.9 2.3-2.2 3.6-4.8 3.899-7.4.201-1.9-.199-4.6-2.399-7.4 0 0-1.2-1.6-3.1-3.1zM40.2 69.2c-.5.5-1.2.8-2 .8s-1.4-.3-1.9-.8l-5.5-5.5c-1.1-1.101-1.1-2.8 0-3.9s2.8-1.1 3.9 0l5.5 5.5c1.1 1.1 1.1 2.8 0 3.9zM45 61c-2.8 0-5-2.2-5-5s2.2-5 5-5 5 2.2 5 5-2.2 5-5 5zM79.4 25.2l-4.6-4.6c-.8-.8-2.2-.8-3.1 0l-5.1 5.1c-.8.8-.8 2.2 0 3.1l.2.2-10.3 10.3c-.4.4-.4 1.1 0 1.5.8.7 2.1 1.9 2.9 2.7.399.4 1 .4 1.399 0L71 33.3l.2.2c.8.8 2.2.8 3.1 0l5.101-5.1c.799-.9.799-2.3-.001-3.2z\"}}},\ncustom7:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M28 78c-3.3 0-6-2.7-6-6V28c0-3.3 2.7-6 6-6h44c3.3 0 6 2.7 6 6v44c0 3.3-2.7 6-6 6H28z\"}},\ncustom70:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M47.9 63.8L36.4 52.5c-2.4-2.3-6.2-2.3-8.6 0l-7.2 7.1c-.8.801-.8 2.101 0 2.801L22 63.8l1.4 1.4L35 76.6l.7.7 2.2 2.101c.8.8 2.1.8 2.9 0L48 72.3c2.3-2.3 2.3-6.1-.1-8.5zm-18.7-4.2l1.5-1.399c.8-.8 2-.8 2.8 0l8.7 8.5c.8.8.8 2.1 0 2.8l-1.5 1.4c-.8.8-2 .8-2.8 0l-8.7-8.5c-.8-.801-.8-2.101 0-2.801zM41.7 49.2l9.3 9.1c.2.2.4.3.7.3l4.3-.1c.5 0 .9-.4.9-.9l.1-3.7c0-.5.4-.9.9-.9l3.8-.1c.5 0 .899-.4.899-.9l.101-3.7c0-.5.399-.9.899-.9l3.801-.1c.5 0 .899-.4.899-.9l.101-3.7c0-.5.399-.9.899-.9l3.8-.1c.5 0 .9-.4.9-.9l.1-3.8c0-.5.4-.8.801-.9l4.1-.6c.7-.1 1.1-.9.7-1.5l-8.8-13c-.7-1-2.101-1.1-3-.3l-26.3 26c-.6.6-.6 1.8.1 2.5z\"}}},\ncustom71:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M71.2 30.8c-5.9-5.9-13.8-9-22.1-8.8-16 .5-29.1 14.2-29.1 30.6V62c0 3.3 2.7 6 6 6h4v4.8c0 2.601 1.9 4.9 4.5 5.2 3 .3 5.5-2.1 5.5-5V55.2c0-2.601-1.9-4.9-4.5-5.2-3-.3-5.5 2.1-5.5 5v7h-2c-1.1 0-2-.9-2-2v-7.4C26 39.4 36.5 28.4 49.3 28c6.601-.2 12.7 2.2 17.4 6.8C71.4 39.4 74 45.5 74 52v8c0 1.1-.9 2-2 2h-2v-6.8c0-2.601-1.9-4.9-4.5-5.2-3-.3-5.5 2.1-5.5 5v17.8c0 2.601 1.9 4.9 4.5 5.2 3 .3 5.5-2.1 5.5-5v-5h4c3.3 0 6-2.7 6-6v-9.4c0-8.1-3-16-8.8-21.8z\"}},\ncustom72:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M77 20H23c-1.7 0-3 1.3-3 3s1.3 3 3 3h24v6.2c-10.8 1.4-19 10.6-19 21.7v6.9C28 68.1 33.8 74 41.2 74h17.7C66.2 74 72 68.1 72 60.7v-6.9c0-11.1-8.2-20.3-19-21.7V26h24c1.7 0 3-1.3 3-3s-1.3-3-3-3zM64 53.8c0 .1 0 0 0 0 0 2.9-2.3 5.2-5.2 5.2H41.2c-2.9 0-5.1-2.3-5.2-5.2v.1-.1.101C36.1 46.2 42.2 40 49.8 40h.4c7.6 0 13.7 6.2 13.8 13.8z\"},\"circle\":[{\"cx\":\"26\",\"cy\":\"76\",\"r\":\"4\"},{\"cx\":\"74\",\"cy\":\"76\",\"r\":\"4\"}]}},\ncustom73:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M23.5 35h53c1.3 0 2.3-1.3 1.9-2.5-1.2-4.1-3-7.9-5.4-11.2-.7-1-2.1-1.1-2.9-.3-2.4 2.2-5.7 3.5-9.2 3.5-3.7 0-7.101-1.5-9.601-4-.8-.7-2-.7-2.7 0-2.5 2.5-5.9 4-9.6 4-3.5 0-6.7-1.3-9.2-3.5-.9-.8-2.2-.6-2.9.3-2.4 3.3-4.2 7.1-5.4 11.2C21.2 33.7 22.2 35 23.5 35zM80 43c0-1.1-.9-2-2-2H22c-1.1 0-2 .9-2 2v.4C20 62 33 77.5 50 79.9 67 77.5 80 62 80 43.4V43z\"}}},\ncustom74:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M56 73H46c-1.1 0-2 .9-2 2v3c0 1.1.9 2 2 2h10c1.1 0 2-.9 2-2v-3c0-1.1-.9-2-2-2zM51 20c-12.2 0-22 9.4-22 21 0 7.5 4.1 14.1 10.4 17.8 2.4 1.4 4 3.8 4.5 6.5.2.9 1 1.601 2 1.601h10.4c1 0 1.8-.7 2-1.601.5-2.7 2.101-5.1 4.5-6.5C68.9 55.1 73 48.5 73 41c0-11.6-9.8-21-22-21zm-6.8 9.4c-2 3.8-3.1 8.3-3.2 11.9 0 3.7.7 7.3 2 10.8.4.9-.5 1.7-1.4 1.301C32.4 48.7 33 31.4 43 28c.8-.3 1.6.6 1.2 1.4zm7.7 23.8c-.301.8-1.5.8-1.8 0-1.6-3.9-2-8.5-2.1-12.7.1-4.2.5-8.8 2.1-12.7.3-.8 1.5-.8 1.8 0 1.6 3.9 2 8.5 2.1 12.7-.1 4.2-.5 8.8-2.1 12.7zm8.1.2c-.8.4-1.7-.4-1.4-1.3 1.4-3.6 2-7.6 2.101-11.399-.101-3.2-1.2-7.6-3.2-11.3-.4-.8.4-1.7 1.2-1.4C68.7 31.4 69.3 48.7 60 53.4z\"}}},\ncustom75:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M50 20c-1.7 0-3 1.3-3 3v54c0 1.7 1.3 3 3 3 16.5 0 30-13.5 30-30S66.5 20 50 20zm23.8 27h-7.9c-.3-7.1-1.9-13.3-4.3-18 6.6 3.7 11.2 10.3 12.2 18zM53 72.7V53h6.9c-.5 9.4-3.5 16.8-6.9 19.7zM53 47V27.3c3.4 2.9 6.4 10.3 6.9 19.7H53zm8.6 24c2.4-4.7 3.9-10.9 4.301-18H73.8c-1 7.7-5.6 14.3-12.2 18zM33.5 39.9c.8.6 2 .5 2.7-.3l5.5-6.2c.7-.8.7-2-.1-2.7l-5.5-5.5c-.7-.7-1.7-.8-2.5-.3-.4.2-.7.5-1.1.7C25 31 20 39.9 20 50c0 10.1 5 19 12.5 24.4.4.3.7.5 1.1.699.8.5 1.8.4 2.5-.3l5.5-5.5c.7-.7.8-2 .1-2.7L36.2 60.4c-.7-.801-1.9-.9-2.7-.301L31.4 61.7C29.2 58.3 28 54.3 28 50s1.2-8.3 3.4-11.7l2.1 1.6z\"}}},\ncustom76:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M52.9 55.3c-.3-.8-1.1-1.4-2-1.3H50c-11 0-20-9-20-20v-.5c0-1-1.3-1.4-1.8-.6-.7 1-1.2 2.2-1.6 3.5-1.7 5.7.5 11.9 5.3 15.4 2.2 1.601 4.5 2.3 6.9 2.601l.7 1.899c.1.3.3.5.5.601l3 1.3c.5.2.7.8.5 1.3l-1 2.9c-.2.5.1 1 .5 1.199l1.6.7c.5.2.7.8.5 1.3l-.9 3.1c-.1.5.1 1 .5 1.2l2.3 1c.5.199.7.8.5 1.3l-.8 3.1c-.1.5.1 1 .6 1.2l6.8 3.1c.5.2 1.101 0 1.301-.5l3-6.699c.199-.5.199-1 .1-1.5L52.9 55.3z\"},{\"d\":\"M79.4 54.3L63.5 37.7c.7-2.5.7-5.2-.3-8.1-1.9-5.3-6.8-9.2-12.5-9.5-8.6-.4-15.6 6.9-14.7 15.6.7 6 5.2 10.9 11.1 12.1 2.6.5 5.1.3 7.4-.5l1.4 1.5c.2.2.4.3.7.3H60c.6 0 1 .4 1 1l.3 3.1c0 .5.5.899 1 .899H64c.6 0 1 .4 1 1l.5 3.2c.1.5.5.8 1 .8H69c.6 0 1 .4 1 1l.5 3.2c.1.5.5.8 1 .8H79c.6 0 1-.399 1-1v-7.3c0-.699-.2-1.199-.6-1.499zM48 37c-2.8 0-5-2.2-5-5s2.2-5 5-5 5 2.2 5 5c0 2.7-2.2 5-5 5z\"}]}},\ncustom77:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M32 42h4c.6 0 1-.4 1-1v-1.5C37 31.9 42.7 26 50 26s13 5.9 13 13.5V41c0 .6.4 1 1 1h4c.6 0 1-.4 1-1v-1.5C69 28.6 60.7 20 50 20s-19 8.6-19 19.5V41c0 .6.4 1 1 1zM70 48H31c-3.3 0-6 2.7-6 6v20c0 3.3 2.7 6 6 6h39c3.3 0 6-2.7 6-6V54c0-3.3-2.7-6-6-6zM55.3 64.1c-.899 1.4-1.399 3-1 4.601l.7 3c.2 1.1-.6 2.3-1.8 2.3h-6.4c-1.2 0-2-1.2-1.8-2.3l.7-3.101c.4-1.6-.1-3.199-1-4.5-.9-1.3-1.3-2.899-1-4.5.5-2.399 2.5-4.3 5-4.8 4.1-.8 7.6 2.2 7.6 5.9 0 1.3-.4 2.4-1 3.4z\"}}},\ncustom78:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M78.3 29.3l-18-9c-.8-.4-1.8-.4-2.7 0L41 28.6l-16.7-8.3c-.9-.5-2-.4-2.9.1C20.5 21 20 22 20 23v45c0 1.1.6 2.2 1.7 2.7l18 9c.8.399 1.8.399 2.7 0L59 71.4l16.7 8.3c.4.2.9.3 1.3.3.5 0 1.1-.2 1.6-.4C79.5 79 80 78 80 77V32c0-1.1-.6-2.2-1.7-2.7zM74 35.1v23.7c0 1.4-1.4 2.4-2.7 1.9-4.6-1.8-1-9.5-4.3-13.7-3.1-3.9-7.2.1-11-6-3.7-5.9 1.3-10.1 5.7-12.4.6-.3 1.2-.3 1.8 0l9.3 4.7c.8.3 1.2 1 1.2 1.8zM48.5 69.9c-.7.399-1.6.3-2.2-.301C45 68.5 44 66.7 44 65c0-3-5-2-5-8 0-4.8-5.9-6.2-10.8-5.7-1.2.1-2.2-.8-2.2-2V31.1c0-1.5 1.6-2.5 2.9-1.8l10.8 5.4c.1 0 .2.1.3.1l.4.2c4.5 2.6 3.6 4.8 1.7 8-2.1 3.6-3 0-6-1s-6 1-5 3 4 0 6 2 2 5 8 3 7-1 9 1 3 6 0 9c-1.8 1.8-2.5 5.4-3.3 8-.2.5-.5 1-1 1.3l-1.3.6z\"}},\ncustom79:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M39 41c-3.9 0-7 3.1-7 7s3.1 7 7 7 7-3.1 7-7-3.1-7-7-7z\"},{\"d\":\"M79 63H60v-8h2c1.1 0 2-.9 2-2v-6c0-1.1-.9-2-2-2h-2.3c-1.601-10-10-17.8-20.4-18-11.8-.2-21.5 9.5-21.3 21.3.2 11.6 9.9 20.7 21.5 20.7H76v2c0 1.1.9 2 2 2h2c1.1 0 2-.9 2-2v-5c0-1.7-1.3-3-3-3zm-40-2c-7.2 0-13-5.8-13-13s5.8-13 13-13 13 5.8 13 13-5.8 13-13 13z\"}]}},\ncustom8:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M47 21.3l-24 26c-1.4 1.5-1.4 3.9 0 5.4l24 26c1.6 1.7 4.3 1.7 5.9 0l24-26c1.399-1.5 1.399-3.9 0-5.4l-24-26a4.05 4.05 0 00-5.9 0z\"}},\ncustom80:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M29 60c-5.5 0-10 4.5-10 10s4.5 10 10 10 10-4.5 10-10-4.5-10-10-10zm0 14c-2.2 0-4-1.8-4-4s1.8-4 4-4 4 1.8 4 4-1.8 4-4 4zM71 60c-5.5 0-10 4.5-10 10s4.5 10 10 10 10-4.5 10-10-4.5-10-10-10zm0 14c-2.2 0-4-1.8-4-4s1.8-4 4-4 4 1.8 4 4-1.8 4-4 4z\"},{\"d\":\"M70.4 54c2.199-.1 4.3.3 6.3 1 1 .4 2.1-.1 2.6-1 5.101-9.7-3.1-14.2-8.3-16.8-1.4-.6-3 .3-3 1.8v5.8c0 1.2-.8 2.4-2 2.2-7.4-1.2-14-9-22-9s-9 8-9 8c-5.6 0-11.1-.4-13.6-1-1.2-.3-2.4.7-2.4 2 0 0 0 7 10 7 8.2 0 15 6 15.9 14.2.2 2.2 0 4.399-.6 6.3-.2.7.3 1.4 1.1 1.4h9.2c.801 0 1.301-.7 1.101-1.4-.601-1.9-.8-3.9-.601-6 .7-7.8 7.3-14.2 15.3-14.5zM19 47zM45.3 31.5c.1.8.7 1.5 1.4 1.7l10.6 3.6c1 .3 2-.1 2.5-1l.9-1.7c.399-.7-.101-1.5-.8-1.6-3.101-.3-9.601-1.5-7.7-5 1.7-3 5.2-2.2 7.5-1.2.899.4 1.8-.6 1.399-1.5-1.5-3.2-5-5.2-8.699-4.8-4.7.5-8 5.1-7.4 9.8l.3 1.7z\"}]}},\ncustom81:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M76.9 20c-1 0-3.9.1-4.9.1-15.4.8-33.1 4.6-34 4.9-1.2.4-2 1.6-2 2.8v32.6c-1-.4-2.6-.6-4-.6-6.6 0-12 4.5-12 10s5.4 10 12 10 12-4.5 12-10V49.4c0-.9.6-1.7 1.5-1.9 4.9-1.2 11.7-2.5 24.4-3.3 1.199-.1 2.1.8 2.1 2v10.3c-1-.4-2.6-.6-4-.6-6.6 0-12 4.5-12 10s5.4 10 12 10 12-4.5 12-10V23c0-1.7-1.4-3.1-3.1-3zm-6.8 15.8c-12.2.7-18.4 1.9-23.7 3.1-1.3.3-2.4-.7-2.4-2v-3.1c0-.9.6-1.7 1.6-2 5.2-1.2 11.5-2.5 24.3-3.3 1.199-.1 2.1.8 2.1 2v3.2c0 1.2-.8 2.1-1.9 2.1z\"}},\ncustom82:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M80 44H59c-1.1 0-2 .9-2 2v1c0 1.6-1.3 3-3 3-1.6 0-3-1.3-3-3v-1c0-1.1-.9-2-2-2h-5 .1c-5.9.3-11 3.7-13.8 8.6-1-.399-2.1-.6-3.2-.6-5 0-9 4-9 9s4 9 9 9c1.1 0 2.2-.2 3.2-.6 2.8 4.899 8 8.3 13.8 8.6 9.8.5 17.9-7.3 17.9-17 0-.6 0-1.2-.1-1.8-.101-1 .6-2 1.6-2.2l16.9-3.7c.899-.2 1.6-1 1.6-2V46c0-1.1-.9-2-2-2zM27 64c-1.7 0-3-1.3-3-3s1.3-3 3-3c.4 0 .9.1 1.2.3-.2 1.2-.2 2.5-.2 3.8 0 .601.1 1.101.2 1.601-.4.199-.8.299-1.2.299zM54 37c1.7 0 3-1.3 3-3v-9c0-1.7-1.3-3-3-3s-3 1.3-3 3v9c0 1.7 1.3 3 3 3zM39.7 38c.6.7 1.4 1 2.3 1 .7 0 1.4-.2 2-.7 1.3-1.1 1.4-3 .3-4.2l-6-7c-1.1-1.3-3-1.4-4.2-.3-1.3 1.1-1.4 3-.3 4.2l5.9 7zM66 39c.8 0 1.7-.4 2.3-1l6-7c1.101-1.3.9-3.2-.3-4.2-1.3-1.1-3.2-.9-4.2.3l-6 7c-1.1 1.3-.899 3.2.3 4.2.5.5 1.2.7 1.9.7z\"}}},\ncustom83:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M74.6 39.3c.4.4 1 .4 1.4 0l1.4-1.4c3.4-3.4 3.5-8.6.2-11.9 0 0-4.3-4.4-4.399-4.4-3.4-2.8-8.101-1.5-10.8 1.2L61 24.2c-.4.4-.4 1 0 1.4l13.6 13.7zM56.6 29.8c-.399-.4-1-.4-1.399 0L27.7 57.1c-1.5 1.5-2.6 3.301-3.3 5.4L20.2 76c-.3.8-.2 1.8.2 2.5.6 1 1.6 1.5 2.6 1.5.3 0 .6 0 .9-.1 0 0 9.2-2.9 13.7-4.301 2-.6 3.8-1.699 5.3-3.199L70.3 45c.4-.4.4-1 0-1.4L56.6 29.8zM35.8 69.9c-2.1.699-5.4 1.699-8.2 2.6l2.6-8.2c.3-1.1.9-2 1.7-2.8l6.7 6.7c-.8.8-1.8 1.4-2.8 1.7z\"}}},\ncustom84:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M75 64H25c-1.7 0-3 1.3-3 3s1.3 3 3 3h4l1.7 8.5c.2.9 1 1.5 1.9 1.5h32.9c.9 0 1.7-.6 1.9-1.5L69 70h6c1.7 0 3-1.3 3-3s-1.3-3-3-3zM33 58h14v-5.6c-1.2-.7-2-2-2-3.4 0-2.2 1.8-4 4-4s4 1.8 4 4c0 1.5-.8 2.8-2 3.4V58h14c1.1 0 2-.9 2-2v-3c0-6.1-5.8-8.2-10.4-10.1-3.1-1.3-3.6-2.5-3.6-3.7 0-1.3.9-2.5 1.9-3.4 1.8-1.6 2.899-3.9 2.899-6.6 0-4.9-3.2-9.2-8.8-9.2-5.6 0-8.8 4.3-8.8 9.2 0 2.7 1 4.9 2.9 6.6 1 .9 1.9 2.1 1.9 3.4 0 1.3-.5 2.4-3.6 3.7C36.8 44.8 31 47.2 31 53v3c0 1.1.9 2 2 2z\"}}},\ncustom85:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M78 24H28v-2c0-1.1-.9-2-2-2h-4c-1.1 0-2 .9-2 2v56c0 1.1.9 2 2 2h4c1.1 0 2-.9 2-2V32h50c1.1 0 2-.9 2-2v-4c0-1.1-.9-2-2-2z\"},{\"d\":\"M74 38H40c-3.3 0-6 2.7-6 6v22c0 3.3 2.7 6 6 6h34c3.3 0 6-2.7 6-6V44c0-3.3-2.7-6-6-6zm-5.5 17H66v10c0 .6-.4 1-1 1h-4c-.6 0-1-.4-1-1v-6c0-.6-.4-1-1-1h-4c-.6 0-1 .4-1 1v6c0 .6-.4 1-1 1h-4c-.6 0-1-.4-1-1V55h-2.5c-.5 0-.7-.6-.3-.9l11.2-10.9c.399-.3.899-.3 1.3 0l11.2 10.9c.3.3.1.9-.4.9z\"}]}},\ncustom86:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M38 30h4c.6 0 1-.4 1-1v-3h14v3c0 .6.4 1 1 1h4c.6 0 1-.4 1-1v-3c0-3.3-2.7-6-6-6H43c-3.3 0-6 2.7-6 6v3c0 .6.4 1 1 1zM74 36H26c-3.3 0-6 2.7-6 6v32c0 3.3 2.7 6 6 6h48c3.3 0 6-2.7 6-6V42c0-3.3-2.7-6-6-6zM50 72c-7.7 0-14-6.3-14-14s6.3-14 14-14 14 6.3 14 14-6.3 14-14 14z\"},{\"d\":\"M56 55h-3v-3c0-1.1-.9-2-2-2h-2c-1.1 0-2 .9-2 2v3h-3c-1.1 0-2 .9-2 2v2c0 1.1.9 2 2 2h3v3c0 1.1.9 2 2 2h2c1.1 0 2-.9 2-2v-3h3c1.1 0 2-.9 2-2v-2c0-1.1-.9-2-2-2z\"}]}},\ncustom87:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M75 20H25c-1.7 0-3 1.3-3 3v48c0 1.7 1.3 3 3 3h1v3c0 1.7 1.3 3 3 3h2c1.7 0 3-1.3 3-3v-3h32v3c0 1.7 1.3 3 3 3h2c1.7 0 3-1.3 3-3v-3h1c1.7 0 3-1.3 3-3V23c0-1.7-1.3-3-3-3zM31 68c-1.7 0-3-1.3-3-3V29c0-1.7 1.3-3 3-3h38c1.7 0 3 1.3 3 3v36c0 1.7-1.3 3-3 3H31z\"},{\"d\":\"M64 32H36c-1.1 0-2 .9-2 2v26c0 1.1.9 2 2 2h28c1.1 0 2-.9 2-2V34c0-1.1-.9-2-2-2zm-4.7 18H51c-1.1 2-3.4 4-6.2 4-3.8 0-6.8-3.2-6.8-7s3-7 6.8-7c2.8 0 5.2 2 6.2 4h8.2c1.5 0 2.7 1.5 2.7 3s-1.1 3-2.6 3z\"}]}},\ncustom88:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M78.1 70H21.9c-1 0-1.9.8-1.9 1.8v.1c0 4.5 5.6 8.1 10 8.1h40c4.4 0 10-3.6 10-8.1v-.1c0-1-.9-1.8-1.9-1.8zM23 64h18c1.1 0 2-1.1 2-2.2V27.4c0-.5-.7-.7-.9-.2l-20 35.2c-.3.7.1 1.6.9 1.6zM51 64h25c1.2 0 2.1-1.1 2-2.3-.9-7.2-2.1-29.6-27.6-41.6-.6-.3-1.4.1-1.4.9v40.8c0 1.1.9 2.2 2 2.2z\"}}},\ncustom89:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M57.9 43.4c-.4-.5-1.2-.4-1.5.2-1.2 1.7-2.4 4.3-2.4 7.4v11c0 1.6-1.3 3-3 3-1.6 0-3-1.3-3-3v-3.1-31.101c0-7.7-6.7-8.9-11.6-7C35.1 21.2 33.9 22 33 23c-.6.7-1.3 1.3-2.2 1.6-1.8.6-4.9-1.1-6.5-2.1-.9-.5-2.1-.3-2.7.5l-1.2 1.7c-.7.9-.4 2.3.5 2.9 1.9 1.2 4.9 3.1 7.2 3.5 3.5.6 6.7-.5 9.3-2.9l-.1.1c.7-.6 1.9-1.6 2.7-.5 2 3-6 16.1-6 35.2v1.6c0 8.1 8.2 15.1 16.3 15.5 8.6.4 15.7-6.5 15.7-15 0-4.3 1.6-7.1 3.2-8.8a.967.967 0 000-1.399L57.9 43.4zM77 53c-.8 0-1.5-.3-2.1-.9l-16-16c-1.2-1.2-1.2-3.1 0-4.2 1.199-1.2 3.1-1.2 4.199 0l16 16c1.2 1.2 1.2 3.1 0 4.2-.599.6-1.299.9-2.099.9z\"}}},\ncustom9:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M62 20H45.1c-2.5 0-4.7 1.5-5.6 3.8L29 50.9c-.8 2 .7 4.1 2.8 4.1H49l-6.4 22.4c-.6 2.1 2 3.5 3.4 1.8L72.3 48c1.7-1.9.3-5-2.3-5H57l11.4-18.4c1.199-2-.2-4.6-2.601-4.6H62z\"}},\ncustom90:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M77.4 26L53 29.6V64c0 .6-.4 1-1 1h-4c-.6 0-1-.4-1-1V30.5L23.4 34H23c-1.5 0-2.8-1.1-3-2.6-.2-1.6.9-3.2 2.5-3.4l18.6-2.8c1.7-3.1 5-5.3 8.8-5.3 2.8 0 5.2 1.1 7 2.9L76.6 20c1.601-.2 3.2.9 3.4 2.5.2 1.7-.9 3.2-2.6 3.5z\"},{\"d\":\"M41.3 62.9c.7-.9.9-2 .4-3.101l-8-19C33.3 39.7 32.2 39 31 39s-2.3.7-2.8 1.8l-8 19c-.4.9-.3 1.9.2 2.8.2.3 4.1 6.3 10.4 6.3 3.7 0 7.3-2 10.5-6zM31 49.7L35.3 60h-8.6L31 49.7zM71.8 34.8a3.077 3.077 0 00-5.6 0l-8 19c-.4.9-.3 1.9.2 2.8.2.3 4.1 6.3 10.4 6.3 3.7 0 7.2-2 10.5-6 .7-.9.9-2 .4-3.101L71.8 34.8zM69 43.7L73.3 54h-8.6L69 43.7zM50 71c-5.6 0-11.3 2-15.3 5.4-.4.4-.7.9-.7 1.5v.1c0 1.1.9 2 2 2h28c1.1 0 2-.9 2-2v-.1c0-.601-.2-1.101-.7-1.5C61.3 73 55.6 71 50 71z\"}]}},\ncustom91:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M77.8 32.6c-3-.9-5.6-3-7.3-5.7-1.3-2.1-1.4-6.9-4.6-6.9H34.1c-3.3 0-3.3 4.8-4.6 6.9-2.1 3.3-4.8 4.1-8 6-3.3 1.9-.2 9.9.5 12.7 3.1 11.1 9 21.4 18.2 28.7 2.6 2.101 5.4 3.9 8.4 5.4 2.7 1.399 7.2-2.5 9.2-4C63 72 67.3 67.3 70.7 62c2.899-4.6 5.1-9.6 6.7-14.8.6-2.1 1.2-4.2 1.6-6.4.4-1.8 1.3-4.6.7-6.4-.2-.8-1-1.5-1.9-1.8-4.6-1.4 1.4.4 0 0zm-4.4 7C70.7 53 63.5 65.5 51.6 72.8l-1.6 1-1.6-1C34 64 28.6 49.9 26.6 39.6l-.4-2.1 1.8-1.1c3.1-1.9 6-5.2 7.7-8.7l.8-1.8h27l.5 1.3c1.7 3.8 4.8 7.4 8.5 9.5l1.3.7v.1l-.4 2.1z\"},{\"d\":\"M48.9 32c-2.3 0-7.9 0-9 1-1.9 1.7-3 4.2-5 5.9-2.1 1.8-1.1 3.6-.4 6 1.4 4.2 3.3 8.3 5.9 12 1.3 1.899 2.8 3.699 4.5 5.3.5.5 5.1 5.1 5.1 2.2V34c0-1.1 0-2-1.1-2z\"}]}},\ncustom92:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M73.7 56.4L50.9 46c-.601-.3-1.2-.3-1.8 0L26.3 56.4c-1.3.6-1.7 2.1-.9 3.3 2.4 3.399 3.9 7.8 4.5 9.8.2.8.9 1.3 1.6 1.5 7.9 1.9 14.4 6.4 17.1 8.5.8.6 1.9.6 2.7 0 2.7-2.1 9.3-6.6 17.1-8.5.8-.2 1.399-.7 1.6-1.5.6-2.1 2.1-6.5 4.5-9.8.9-1.1.5-2.7-.8-3.3zM44 62c-1.7 0-3-1.8-3-4s1.3-4 3-4 3 1.8 3 4-1.3 4-3 4zm12 0c-1.7 0-3-1.8-3-4s1.3-4 3-4 3 1.8 3 4-1.3 4-3 4z\"},{\"d\":\"M34.4 46.1l12.2-5.6c1.5-.7 3.1-.9 4.8-.6.699.1 1.399.4 2.1.7l12.1 5.6c.7.3 1.4-.2 1.4-.9v-4.5c0-.5-.2-1-.6-1.4-.8-.9-2.4-2.4-5.4-2.4v-5.9c0-.7-.4-1.4-1-1.7-1.1-.6-3-1.5-6-2V22c0-1.1-.9-2-2-2h-4c-1.1 0-2 .9-2 2v5.4c-3 .5-4.9 1.4-6 2-.6.3-1 1-1 1.7V37c-3 0-4.6 1.5-5.4 2.3-.4.4-.6.9-.6 1.4v4.5c0 .7.7 1.2 1.4.9z\"}]}},\ncustom93:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M42.4 50h29.5c.899 0 1.699-.6 1.899-1.5l5.4-19C79.6 28.2 78.6 27 77.3 27H31.7l-.8-2.8c-.4-1.3-1.6-2.2-2.9-2.2h-4.8c-1.6 0-3.1 1.2-3.2 2.8-.1 1.7 1.3 3.2 3 3.2h2.8l9.4 31.8c.4 1.3 1.5 2.2 2.9 2.2h34.8c1.6 0 3.1-1.2 3.199-2.8.101-1.7-1.3-3.2-3-3.2H42.5c-1.3 0-2.5-.9-2.8-2.1v-.1c-.7-1.9.8-3.8 2.7-3.8z\"},\"circle\":[{\"cx\":\"43\",\"cy\":\"73\",\"r\":\"5\"},{\"cx\":\"67\",\"cy\":\"73\",\"r\":\"5\"}]}},\ncustom94:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M56 38V23c0-1.7-1.3-3-3-3h-4c-1.7 0-3 1.3-3 3s1.3 3 3 3h1v12c0 6.6-5.4 12-12 12s-12-5.4-12-12V26h1c1.7 0 3-1.3 3-3s-1.3-3-3-3h-4c-1.7 0-3 1.3-3 3v15c0 9.9 8.1 18 18 18s18-8.1 18-18z\"},{\"d\":\"M80 50c0-5-4-9-9-9s-9 4-9 9c0 3.9 2.5 7.2 6 8.5v2.2C68 68 62 74 54.7 74h-.3c-6.3 0-11.601-4.5-13-10.4-.2-.899-1-1.6-2-1.6h-2c-1.3 0-2.2 1.2-2 2.4C37.1 73.3 45 80 54.3 80h.3C65.3 80 74 71.3 74 60.7v-2.2c3.5-1.3 6-4.6 6-8.5zm-9 3c-1.7 0-3-1.3-3-3s1.3-3 3-3 3 1.3 3 3-1.3 3-3 3z\"}]}},\ncustom95:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M53 30.2V26h1c1.6 0 3-1.3 3-3 0-1.6-1.3-3-3-3h-8c-1.6 0-3 1.3-3 3 0 1.6 1.3 3 3 3h1v4.2c-12.4 1.5-22 12-22 24.8 0 13.8 11.2 25 25 25s25-11.2 25-25c0-12.8-9.6-23.3-22-24.8zM50 74c-10.5 0-19-8.5-19-19s8.5-19 19-19 19 8.5 19 19-8.5 19-19 19z\"},{\"d\":\"M56.6 44.8L52 49.4c-.6-.2-1.3-.4-2-.4-3.3 0-6 2.7-6 6s2.7 6 6 6 6-2.7 6-6c0-.7-.1-1.4-.4-2l4.601-4.6c1-1 1-2.6 0-3.6-1.001-1.1-2.601-1.1-3.601 0z\"}]}},\ncustom96:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M79.4 28.7l-5.2-3.9c-.7-.5-1.5-.8-2.4-.8H54v-2c0-1.1-.9-2-2-2h-4c-1.1 0-2 .9-2 2v2H26c-1.1 0-2 .9-2 2v8c0 1.1.9 2 2 2h45.7c.899 0 1.7-.3 2.399-.8l5.2-3.9c.901-.7.901-1.9.101-2.6zM74 46H54v-3c0-.6-.4-1-1-1h-6c-.6 0-1 .4-1 1v3H28.3c-.9 0-1.7.3-2.4.8l-5.2 3.9c-.9.6-.9 1.899 0 2.6l5.2 3.9c.7.5 1.5.8 2.4.8H74c1.1 0 2-.9 2-2v-8c0-1.1-.9-2-2-2zM54 71.6V65c0-.6-.4-1-1-1h-6c-.6 0-1 .4-1 1v6.6c-4 1.101-6.2 3.5-6.9 6.5-.2.9.5 1.9 1.5 1.9h18.9c1 0 1.7-.9 1.5-1.9-.8-3-3-5.4-7-6.5z\"}}},\ncustom97:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M60 54.4V29.1C60 22.9 55.2 18 49.1 18h-.2C42.8 18 38 22.9 38 29.1v25.3c-3.2 3-5 7.199-5 11.6 0 8.8 7.2 16 16 16s16-7.2 16-16c0-4.5-1.8-8.6-5-11.6zM57.4 66H40.6c-.9 0-1.6-.9-1.5-1.8.4-2.4 1.7-4.5 3.6-6 .7-.601 1.2-1.5 1.2-2.4V29.1c0-2.9 2.2-5.1 4.9-5.1h.2c2.8 0 4.9 2.2 4.9 5.1v.9h-3c-1.7 0-3 1.3-3 3s1.3 3 3 3h3v4h-3c-1.7 0-3 1.3-3 3s1.3 3 3 3h3v4h-3c-1.7 0-3 1.3-3 3s1.3 3 3 3h3c.1.9.5 1.6 1.199 2.2 1.9 1.5 3.2 3.7 3.601 6 .3.9-.4 1.8-1.3 1.8z\"}},\ncustom98:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M81.4 46.4l-7.8-7.8c-.4-.4-.9-.6-1.4-.6H64c-1.1 0-2 .9-2 2v16c0 .7.7 1.2 1.4.9 1.4-.6 3-.9 4.6-.9 4.5 0 8.4 2.5 10.5 6.2.3.5 1 .7 1.5.3 1.2-1.1 2-2.7 2-4.5V47.8c0-.5-.2-1-.6-1.4z\"},{\"d\":\"M54 29H20c-1.1 0-2 .9-2 2v27c0 1.8.8 3.4 2 4.5.5.4 1.2.3 1.5-.3 2-3.7 6-6.2 10.5-6.2 5 0 9.2 3 11.1 7.4.2.4.5.6.9.6h6c3.3 0 6-2.7 6-6V31c0-1.1-.9-2-2-2z\"}],\"circle\":[{\"cx\":\"68\",\"cy\":\"68\",\"r\":\"6\"},{\"cx\":\"32\",\"cy\":\"68\",\"r\":\"6\"}]}},\ncustom99:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M74 36H57.2c-.5-1.2-1.2-2.2-2.101-3.1l6.301-8.1c1-1.3.8-3.2-.5-4.2-1.301-1-3.2-.8-4.2.5l-7 9c-.6 0-1.1-.1-1.7-.1s-1.1.1-1.6.1l-7-9c-1-1.3-2.9-1.5-4.2-.5-1.3 1-1.5 2.9-.5 4.2l6.3 8.1c-.9.9-1.6 1.9-2.1 3.1H26c-3.3 0-6 2.7-6 6v28c0 3.3 2.7 6 6 6h48c3.3 0 6-2.7 6-6V42c0-3.3-2.7-6-6-6zm-8 32c0 1.1-.9 2-2 2H28c-1.1 0-2-.9-2-2V44c0-1.1.9-2 2-2h36c1.1 0 2 .9 2 2v24zm7-10c-1.7 0-3-1.3-3-3s1.3-3 3-3 3 1.3 3 3-1.3 3-3 3zm0-10c-1.7 0-3-1.3-3-3s1.3-3 3-3 3 1.3 3 3-1.3 3-3 3z\"}},\nviewBox:'0 0 100 100'\n}; } export default icons;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n\nlet icons = {}; if ('__EXCLUDE_SLDS_ICONS__' === '__INCLUDE_SLDS_ICONS__') { icons = {\nai:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M5.075.006A5.074 5.074 0 00.002 5.08v53.841a5.073 5.073 0 005.073 5.074h45.774a5.074 5.074 0 005.074-5.074V20.316L37.02.006H5.075z\",\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",\"fill\":\"#FFC35E\"},{\"d\":\"M55.923 20.357v.999h-12.8s-6.312-1.26-6.128-6.707c0 0 .253 5.708 6.003 5.708h12.925z\",\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",\"fill\":\"#FFB446\"},{\"d\":\"M37.02.006v14.56c0 1.656 1.104 5.792 6.104 5.792h12.8L37.02.006z\",\"opacity\":\".5\",\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",\"fill\":\"#fff\"},{\"d\":\"M20.136 53.923a.776.776 0 01-.72-.486l-.9-2.287h-5.978l-.9 2.287a.776.776 0 01-.72.486.804.804 0 01-.811-.792c0-.09.018-.198.054-.288l4.141-10.335a1.304 1.304 0 011.225-.811c.522 0 .99.324 1.188.811l4.177 10.335c.036.09.054.198.054.288 0 .36-.324.792-.81.792zm-4.61-10.569l-2.557 6.463h5.095l-2.538-6.463zm8.513 10.569a.73.73 0 01-.738-.738V42.417c0-.396.324-.72.774-.72.396 0 .72.324.72.72v10.767a.734.734 0 01-.756.739z\",\"fill\":\"#fff\"}]},\nattachment:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",\"path\":[{\"d\":\"M5.113-.026A5.074 5.074 0 00.039 5.048v53.841a5.073 5.073 0 005.074 5.074h45.773a5.074 5.074 0 005.074-5.074V20.284L37.059-.026H5.113z\",\"fill\":\"#8199AF\"},{\"d\":\"M55.977 20.352v1H43.178s-6.312-1.26-6.129-6.707c0 0 .208 5.707 6.004 5.707h12.924z\",\"fill\":\"#617F9B\"},{\"d\":\"M37.074 0v14.561c0 1.656 1.104 5.791 6.104 5.791h12.799L37.074 0z\",\"opacity\":\".5\",\"fill\":\"#fff\"}]},\"path\":{\"d\":\"M26.6 41.467c1.134-1.134 1.134-2.986 0-4.12s-2.986-1.134-4.12 0l-9.167 9.167c-1.134 1.134-1.134 2.986 0 4.12s2.986 1.134 4.12 0l5.625-5.602c.324-.324.324-.856 0-1.181s-.856-.324-1.181 0l-3.542 3.519a1.204 1.204 0 01-1.759 0 1.204 1.204 0 010-1.759l3.519-3.542c1.319-1.296 3.426-1.296 4.722 0 1.296 1.319 1.296 3.426 0 4.722l-5.625 5.625c-2.106 2.106-5.532 2.106-7.662 0-2.106-2.129-2.106-5.555 0-7.662l9.166-9.167c2.13-2.129 5.556-2.129 7.662 0 2.129 2.106 2.129 5.532 0 7.662l-.903.902a4.968 4.968 0 00-.926-2.616l.071-.068z\",\"fill\":\"#fff\"}},\naudio:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",\"path\":[{\"d\":\"M5.151.012A5.073 5.073 0 00.078 5.085v53.842A5.073 5.073 0 005.151 64h45.774A5.074 5.074 0 0056 58.927V20.321L37.097.012H5.151z\",\"fill\":\"#379FD3\"},{\"d\":\"M56 20.357v1H43.2s-6.312-1.26-6.128-6.707c0 0 .208 5.707 6.003 5.707H56z\",\"fill\":\"#2987C8\"},{\"d\":\"M37.097.006v14.561c0 1.656 1.104 5.791 6.104 5.791h12.8L37.097.006z\",\"opacity\":\".5\",\"fill\":\"#fff\"},{\"d\":\"M29.798 34.036L15.633 35.85v13.438c-.738-.205-1.628-.243-2.531-.064-2.009.394-3.325 1.702-2.938 2.918.386 1.215 2.325 1.88 4.333 1.48 1.764-.348 2.994-1.397 3.005-2.473h.002v-10.74l10.422-1.288v8.306c-.75-.212-1.655-.251-2.572-.068-2.03.399-3.357 1.718-2.969 2.947.389 1.229 2.35 1.897 4.379 1.499 1.849-.366 3.116-1.494 3.031-2.621V34.036z\",\"fill\":\"#fff\"}]}},\nbox_notes:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"fill\":\"#277A84\",\"d\":\"M5.112.011A5.074 5.074 0 00.039 5.085v53.841A5.074 5.074 0 005.112 64h45.775a5.074 5.074 0 005.074-5.074V20.321L37.057.011H5.112z\"},{\"fill\":\"#1E5B60\",\"d\":\"M55.96 20.377v1H43.161s-6.312-1.26-6.129-6.707c0 0 .208 5.707 6.004 5.707H55.96z\"},{\"opacity\":\".5\",\"fill\":\"#FFF\",\"d\":\"M37.059.025v14.561c0 1.656 1.104 5.791 6.104 5.791h12.799L37.059.025z\"},{\"fill\":\"#FFF\",\"d\":\"M27.094 39.334l2.105-2.104H10.495s-.361.016-.362.401 0 1.159 0 1.347c0 .187.182.355.375.355l16.586.001zM19.768 46.602l2.104-2.104H10.495s-.361.016-.362.401v1.347c0 .187.182.356.375.356h9.26zM14.708 53.904l.268-2.104h-4.48s-.361.017-.362.402 0 1.16 0 1.346c0 .187.182.356.375.356h4.199zM15.588 53.873s1.672-.03 2.015-.112c.342-.082.406-.146.531-.271l13.104-13.104s-.494.42-1.592-.682c-.869-.87-.487-1.402-.487-1.402s-12.75 12.729-12.99 12.988c-.24.26-.252.404-.274.509-.021.105-.307 2.074-.307 2.074z\"},{\"fill\":\"#FFF\",\"d\":\"M30.742 36.714c-.201.201-.96.938-1.059 1.058-.097.121-.184.227-.104.58.079.353.682 1.354 1.656 1.629 0 0 .299.107.541-.133.24-.242 1.092-1.093 1.092-1.093s.204-.172.042-.621c-.163-.448-.81-1.247-1.582-1.539-.387-.148-.586.119-.586.119z\"}]},\ncsv:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M5.106 0A5.074 5.074 0 00.033 5.074v53.841a5.073 5.073 0 005.073 5.074H50.88a5.074 5.074 0 005.074-5.074V20.31L37.051 0H5.106z\",\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",\"fill\":\"#45B058\"},{\"d\":\"M20.306 43.197a.784.784 0 01.198.522c0 .378-.306.72-.703.72a.638.638 0 01-.504-.234c-.702-.846-1.891-1.387-3.007-1.387-2.629 0-4.627 2.017-4.627 4.88 0 2.845 1.999 4.879 4.627 4.879a3.97 3.97 0 003.007-1.369.697.697 0 01.504-.233c.415 0 .703.359.703.738 0 .18-.072.36-.198.504-.937.972-2.215 1.693-4.015 1.693-3.457 0-6.176-2.521-6.176-6.212s2.719-6.212 6.176-6.212c1.8.001 3.096.721 4.015 1.711zm6.802 10.714c-1.782 0-3.187-.594-4.213-1.495a.71.71 0 01-.234-.54c0-.361.27-.757.702-.757.144 0 .306.036.432.144.828.739 1.98 1.314 3.367 1.314 2.143 0 2.827-1.152 2.827-2.071 0-3.097-7.112-1.386-7.112-5.672 0-1.98 1.764-3.331 4.123-3.331 1.548 0 2.881.467 3.853 1.278a.73.73 0 01.252.54c0 .36-.306.72-.703.72a.68.68 0 01-.432-.162c-.882-.72-1.98-1.044-3.079-1.044-1.44 0-2.467.774-2.467 1.909 0 2.701 7.112 1.152 7.112 5.636.001 1.748-1.187 3.531-4.428 3.531zm16.994-11.254l-4.159 10.335a1.31 1.31 0 01-1.188.81h-.036a1.316 1.316 0 01-1.207-.81L33.37 42.657a.746.746 0 01-.054-.288c0-.36.323-.793.81-.793.306 0 .594.18.72.486l3.889 9.992 3.889-9.992a.767.767 0 01.72-.486.803.803 0 01.758 1.081z\",\"fill\":\"#fff\"}],\"g\":{\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",\"path\":[{\"d\":\"M56.001 20.357v1h-12.8s-6.312-1.26-6.128-6.707c0 0 .208 5.707 6.003 5.707h12.925z\",\"fill\":\"#349C42\"},{\"d\":\"M37.098.006v14.561c0 1.656 1.104 5.791 6.104 5.791h12.8L37.098.006z\",\"opacity\":\".5\",\"fill\":\"#fff\"}]}},\neps:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M5.106.009A5.074 5.074 0 00.033 5.083v53.841a5.073 5.073 0 005.073 5.074H50.88a5.074 5.074 0 005.074-5.074V20.319L37.052.009H5.106z\",\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",\"fill\":\"#FFC35E\"},{\"d\":\"M17.45 53.912h-6.248a1.085 1.085 0 01-1.081-1.081v-9.849c0-.595.486-1.081 1.081-1.081h6.248c.36 0 .648.288.648.685a.645.645 0 01-.648.647h-5.833v3.871h5.708c.36 0 .648.288.648.685 0 .36-.288.648-.648.648h-5.708v4.141h5.833c.36 0 .648.288.648.648 0 .397-.288.686-.648.686zm8.189-4.772h-3.331v4.141a.734.734 0 01-.756.738.73.73 0 01-.738-.738V42.982c0-.595.486-1.081 1.081-1.081h3.745c2.413 0 3.763 1.657 3.763 3.619-.001 1.963-1.387 3.62-3.764 3.62zm-.18-5.906h-3.151v4.573h3.151c1.422 0 2.395-.936 2.395-2.287 0-1.35-.973-2.286-2.395-2.286zm10.259 10.893c-1.782 0-3.187-.594-4.213-1.495a.71.71 0 01-.234-.54c0-.361.27-.757.702-.757.144 0 .306.036.432.144.829.739 1.981 1.314 3.367 1.314 2.143 0 2.827-1.152 2.827-2.071 0-3.097-7.112-1.386-7.112-5.672 0-1.98 1.764-3.331 4.123-3.331 1.548 0 2.881.468 3.853 1.279a.73.73 0 01.252.54c0 .36-.306.72-.702.72a.68.68 0 01-.432-.162c-.882-.72-1.98-1.044-3.079-1.044-1.44 0-2.467.774-2.467 1.909 0 2.701 7.112 1.152 7.112 5.636.001 1.748-1.188 3.53-4.429 3.53z\",\"fill\":\"#fff\"}],\"g\":{\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",\"path\":[{\"d\":\"M56 20.357v1H43.201c-2.438 0-6.312-1.26-6.128-6.707 0 0 .208 5.707 6.003 5.707H56z\",\"fill\":\"#FFB446\"},{\"d\":\"M37.097.006v14.561c0 1.656 1.104 5.791 6.104 5.791H56L37.097.006z\",\"opacity\":\".5\",\"fill\":\"#fff\"}]}},\nexcel:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M5.112.006A5.074 5.074 0 00.039 5.08v53.841a5.073 5.073 0 005.073 5.074h45.774a5.074 5.074 0 005.074-5.074V20.316L37.058.006H5.112z\",\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",\"fill\":\"#45B058\"},{\"d\":\"M19.429 53.938a.64.64 0 01-.54-.27l-3.728-4.97-3.745 4.97a.641.641 0 01-.54.27.71.71 0 01-.72-.72c0-.144.035-.306.144-.432l3.89-5.131-3.619-4.826a.722.722 0 01-.145-.414c0-.342.288-.72.721-.72.216 0 .432.108.576.288l3.438 4.628 3.438-4.646a.643.643 0 01.541-.27c.378 0 .738.306.738.72a.695.695 0 01-.127.414l-3.619 4.808 3.891 5.149a.7.7 0 01.125.414c0 .396-.324.738-.719.738zm9.989-.126h-5.455a1.083 1.083 0 01-1.081-1.08V42.415c0-.396.324-.72.774-.72.396 0 .721.324.721.72V52.48h5.041c.359 0 .648.288.648.648 0 .396-.289.684-.648.684zm6.982.216c-1.782 0-3.188-.594-4.213-1.495a.71.71 0 01-.234-.54c0-.36.27-.756.702-.756.144 0 .306.036.433.144.828.738 1.98 1.314 3.367 1.314 2.143 0 2.826-1.152 2.826-2.071 0-3.097-7.111-1.386-7.111-5.672 0-1.98 1.764-3.331 4.123-3.331 1.548 0 2.881.468 3.853 1.278a.73.73 0 01.253.54c0 .36-.307.72-.703.72a.676.676 0 01-.432-.162c-.883-.72-1.98-1.044-3.079-1.044-1.44 0-2.467.774-2.467 1.909 0 2.701 7.112 1.152 7.112 5.636 0 1.748-1.188 3.53-4.43 3.53z\",\"fill\":\"#fff\"},{\"d\":\"M55.953 20.352v1H43.152s-6.312-1.26-6.127-6.707c0 0 .207 5.707 6.002 5.707h12.926z\",\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",\"fill\":\"#349C42\"},{\"d\":\"M37.049 0v14.561c0 1.656 1.104 5.791 6.104 5.791h12.801L37.049 0z\",\"opacity\":\".5\",\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",\"fill\":\"#fff\"}]},\nexe:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M5.112.025A5.074 5.074 0 00.039 5.099V58.94a5.073 5.073 0 005.073 5.074h45.774a5.074 5.074 0 005.074-5.074V20.335L37.058.025H5.112z\",\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",\"fill\":\"#8199AF\"},{\"d\":\"M17.455 53.919h-6.247a1.084 1.084 0 01-1.081-1.081V42.99c0-.594.486-1.08 1.081-1.08h6.247c.361 0 .648.288.648.684 0 .36-.287.648-.648.648h-5.833v3.871h5.708c.359 0 .648.288.648.685 0 .36-.289.648-.648.648h-5.708v4.141h5.833c.361 0 .648.288.648.648.001.396-.287.684-.648.684zm12.098.126a.643.643 0 01-.541-.27l-3.727-4.97-3.746 4.97a.64.64 0 01-.539.27.712.712 0 01-.721-.72c0-.144.036-.306.145-.432l3.889-5.131-3.619-4.825a.725.725 0 01-.145-.415c0-.342.289-.72.721-.72a.75.75 0 01.576.288l3.439 4.627 3.438-4.646a.641.641 0 01.54-.27c.379 0 .738.306.738.72a.694.694 0 01-.126.415l-3.618 4.808 3.889 5.149a.7.7 0 01.126.414c0 .396-.324.738-.719.738zm10.78-.126h-6.247a1.084 1.084 0 01-1.081-1.081V42.99c0-.594.486-1.08 1.081-1.08h6.247c.36 0 .648.288.648.684 0 .36-.288.648-.648.648H34.5v3.871h5.707c.36 0 .648.288.648.685 0 .36-.288.648-.648.648H34.5v4.141h5.833c.36 0 .648.288.648.648 0 .396-.288.684-.648.684z\",\"fill\":\"#fff\"}],\"g\":{\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",\"path\":[{\"d\":\"M55.961 20.377v1H43.162s-6.312-1.26-6.129-6.708c0 0 .208 5.708 6.004 5.708h12.924z\",\"fill\":\"#617F9B\"},{\"d\":\"M37.059.025v14.561c0 1.656 1.104 5.792 6.104 5.792h12.799L37.059.025z\",\"opacity\":\".5\",\"fill\":\"#fff\"}]}},\nflash:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M5.112.009A5.074 5.074 0 00.039 5.083v53.841a5.073 5.073 0 005.073 5.074h45.775a5.074 5.074 0 005.074-5.074V20.319L37.057.009H5.112z\",\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",\"fill\":\"#E53C3C\"},{\"d\":\"M17.466 43.105h-5.833v3.871h5.708c.36 0 .648.288.648.685 0 .36-.288.648-.648.648h-5.708v4.843a.734.734 0 01-.756.738.73.73 0 01-.738-.738V42.854c0-.594.486-1.081 1.081-1.081h6.248c.36 0 .648.288.648.685a.648.648 0 01-.65.647zm9.558 10.678h-5.456a1.085 1.085 0 01-1.081-1.081V42.385c0-.396.324-.72.774-.72.396 0 .72.324.72.72V52.45h5.042c.36 0 .648.288.648.648.001.397-.287.685-.647.685zm12.222.108a.776.776 0 01-.72-.486l-.9-2.287h-5.978l-.9 2.287a.776.776 0 01-.72.486.804.804 0 01-.811-.792c0-.09.018-.198.054-.288l4.141-10.335a1.304 1.304 0 011.225-.811c.522 0 .99.324 1.188.811l4.177 10.335c.036.09.054.198.054.288 0 .359-.324.792-.81.792zm-4.609-10.569l-2.557 6.464h5.095l-2.538-6.464z\",\"fill\":\"#fff\"}],\"g\":{\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",\"path\":[{\"d\":\"M55.961 20.346v1H43.162s-6.312-1.26-6.129-6.707c0 0 .208 5.707 6.004 5.707h12.924z\",\"fill\":\"#DE2D2D\"},{\"d\":\"M37.059-.006v14.561c0 1.656 1.104 5.791 6.104 5.791h12.799L37.059-.006z\",\"opacity\":\".5\",\"fill\":\"#fff\"}]}},\nfolder:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M51.48 15.46A4.52 4.52 0 0156 20v31a4.52 4.52 0 01-4.52 4.52h-47A4.52 4.52 0 010 51V13a4.52 4.52 0 014.52-4.48H16c3.82 0 4.23 1.14 6.74 4.45 2.07 2.74 7.11 2.49 10.39 2.49z\",\"fill\":\"#003462\"},{\"d\":\"M51.48 18.12H9.24a4.52 4.52 0 00-4.52 4.52v2.84L9.19 19h42.35L56 25.49v-2.85a4.52 4.52 0 00-4.52-4.52z\",\"fill\":\"#87c8f2\"},{\"d\":\"M4.57 55.48h46.91A4.52 4.52 0 0056 51V23.48A4.52 4.52 0 0051.48 19H9.25a4.52 4.52 0 00-4.52 4.52V51a4.65 4.65 0 01-.06.72 2.33 2.33 0 01-4.6 0 4.5 4.5 0 004.5 3.76z\",\"fill\":\"#00a1e0\"}]},\ngdoc:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M5.112.011A5.074 5.074 0 00.039 5.085v53.841A5.074 5.074 0 005.112 64h45.775a5.074 5.074 0 005.074-5.074V20.321L37.057.011H5.112z\",\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",\"fill\":\"#3C8CEA\"},{\"d\":\"M10.133 37.439h21.564v2.059H10.133zm0 4.801h21.564v2.057H10.133zm0 4.801h21.564v2.057H10.133zm0 4.8h12.233v2.058H10.133z\",\"fill\":\"#fff\"}],\"g\":{\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",\"path\":[{\"d\":\"M55.96 20.377v1H43.161s-6.312-1.26-6.129-6.707c0 0 .208 5.707 6.004 5.707H55.96z\",\"fill\":\"#2D6FE4\"},{\"d\":\"M37.058.025v14.561c0 1.656 1.104 5.791 6.104 5.791h12.799L37.058.025z\",\"opacity\":\".5\",\"fill\":\"#fff\"}]}},\ngdocs:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"fill\":\"#3C8CEA\",\"d\":\"M5.1 0C2.3 0 0 2.3 0 5.1v53.8C0 61.7 2.3 64 5.1 64h45.8c2.8 0 5.1-2.3 5.1-5.1V20.3L37.1 0h-32z\"},{\"fill\":\"#2D6FE4\",\"d\":\"M56 20.4v1H43.2s-6.4-1.3-6.2-6.7c0 0 .2 5.7 6 5.7h13z\"},{\"opacity\":\".5\",\"fill\":\"#FFF\",\"d\":\"M37.1 0v14.6c0 1.6 1.1 5.8 6.1 5.8H56L37.1 0z\"},{\"fill\":\"#FFF\",\"d\":\"M25.9 45.1h-7.6v2.2h5.4c-.3 3.2-2.9 4.5-5.4 4.5-3.2 0-5.9-2.5-5.9-6 0-3.4 2.6-6 5.9-6 2.5 0 4.1 1.6 4.1 1.6l1.6-1.6s-2-2.2-5.7-2.2c-4.7 0-8.3 4-8.3 8.2 0 4.2 3.4 8.3 8.4 8.3 4.4 0 7.7-3 7.7-7.5-.1-.9-.2-1.5-.2-1.5z\"}]},\ngform:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"fill\":\"#673AB7\",\"d\":\"M5.113-.026A5.074 5.074 0 00.039 5.048v53.841a5.073 5.073 0 005.074 5.074h45.773a5.074 5.074 0 005.074-5.074V20.284L37.059-.026H5.113z\"},{\"fill\":\"#45317C\",\"d\":\"M55.977 20.352v1H43.178s-6.312-1.26-6.129-6.707c0 0 .208 5.707 6.004 5.707h12.924z\"},{\"opacity\":\".5\",\"fill\":\"#FFF\",\"d\":\"M37.074 0v14.561c0 1.656 1.104 5.791 6.104 5.791h12.799L37.074 0z\"},{\"fill\":\"#FFF\",\"d\":\"M12.739 39.41c0-.4-.3-.7-.7-.7h-1.3c-.4 0-.7.3-.7.7v1.3c0 .4.3.7.7.7h1.3c.4 0 .7-.3.7-.7v-1.3zm18.8 0c0-.4-.3-.7-.7-.7h-15.7c-.4 0-.7.3-.7.7v1.3c0 .4.3.7.7.7h15.7c.4 0 .7-.3.7-.7v-1.3zm-18.8 6.3c0-.4-.3-.7-.7-.7h-1.3c-.4 0-.7.3-.7.7v1.3c0 .4.3.7.7.7h1.3c.4 0 .7-.3.7-.7v-1.3zm18.8 0c0-.4-.4-.7-.8-.7h-15.5c-.4 0-.8.3-.8.7v1.3c0 .4.4.7.8.7h15.5c.4 0 .8-.3.8-.7v-1.3zm-18.8 6.2c0-.4-.3-.7-.7-.7h-1.3c-.4 0-.7.3-.7.7v1.3c0 .4.3.7.7.7h1.3c.4 0 .7-.3.7-.7v-1.3zm18.8 0c0-.4-.3-.7-.7-.7h-15.7c-.4 0-.7.3-.7.7v1.3c0 .4.3.7.7.7h15.7c.4 0 .7-.3.7-.7v-1.3z\"}]},\ngpres:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M5.111.009A5.073 5.073 0 00.039 5.083v53.841a5.073 5.073 0 005.072 5.074h45.775a5.074 5.074 0 005.074-5.074V20.318L37.057.009H5.111z\",\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",\"fill\":\"#F8BE46\"},{\"d\":\"M10.123 37.465v11.9H22.54v-11.9H10.123zm11.289 9.642h-10.16v-7.386h10.16v7.386zm.674-5.128v2.259h8.386v7.385h-10.16v-2.846h-1.129v5.104h12.419V41.979h-9.516z\",\"fill\":\"#fff\"}],\"g\":{\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",\"path\":[{\"d\":\"M55.96 20.377v1H43.161s-6.312-1.26-6.129-6.707c0 0 .208 5.707 6.004 5.707H55.96z\",\"fill\":\"#F6AD34\"},{\"d\":\"M37.058.025v14.561c0 1.656 1.104 5.791 6.104 5.791h12.799L37.058.025z\",\"opacity\":\".5\",\"fill\":\"#fff\"}]}},\ngsheet:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M5.131-.001A5.073 5.073 0 00.059 5.073v53.841a5.073 5.073 0 005.072 5.074h45.775a5.074 5.074 0 005.074-5.074V20.309L37.076-.001H5.131z\",\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",\"fill\":\"#20A971\"},{\"d\":\"M10.107 37.466v16.419h21.521V37.466H10.107zm6.458 15.078h-4.967v-3.58h4.967v3.58zm0-5.012h-4.967v-3.579h4.967v3.579zm0-5.011h-4.967v-3.58h4.967v3.58zm13.632 10.023H18.042v-3.58h12.155v3.58zm0-5.012H18.042v-3.579h12.155v3.579zm0-5.011H18.042v-3.58h12.155v3.58z\",\"fill\":\"#fff\"}],\"g\":{\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",\"path\":[{\"d\":\"M55.98 20.32v1H43.179s-6.312-1.26-6.127-6.707c0 0 .207 5.707 6.002 5.707H55.98z\",\"fill\":\"#189355\"},{\"d\":\"M37.076-.031V14.53c0 1.656 1.104 5.791 6.104 5.791h12.801L37.076-.031z\",\"opacity\":\".5\",\"fill\":\"#fff\"}]}},\nhtml:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M5.135.008A5.074 5.074 0 00.061 5.082v53.84a5.073 5.073 0 005.074 5.074H50.91a5.074 5.074 0 005.074-5.074V20.317L37.081.008H5.135z\",\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",\"fill\":\"#F7622C\"},{\"d\":\"M18.942 50.841a.87.87 0 01-.336-.063l-7.58-3.38c-.483-.21-.798-.714-.798-1.28 0-.504.315-1.008.798-1.219l7.58-3.4a.89.89 0 011.218.84.89.89 0 01-.525.818l-7.034 3.002 7.034 2.982a.868.868 0 01.525.818c0 .546-.462.882-.882.882zm8.464-11.044l-4.43 13.291c-.126.398-.504.629-.903.629-.525 0-.924-.398-.924-.881a.75.75 0 01.063-.295l4.43-13.29a.934.934 0 01.903-.63c.525 0 .903.42.903.902l-.042.274zm10.184 7.6l-7.58 3.38a.886.886 0 01-1.218-.819c0-.357.189-.672.525-.818l7.034-2.982-7.034-3.002a.876.876 0 01-.546-.818c-.021-.547.441-.903.903-.903.105 0 .231.021.336.063l7.58 3.4c.483.211.798.715.798 1.219 0 .567-.315 1.071-.798 1.28z\",\"fill\":\"#fff\"}],\"g\":{\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",\"path\":[{\"d\":\"M55.976 20.352v1H43.177s-6.312-1.26-6.129-6.707c0 0 .208 5.707 6.004 5.707h12.924z\",\"fill\":\"#F54921\"},{\"d\":\"M37.074 0v14.561c0 1.656 1.104 5.791 6.104 5.791h12.799L37.074 0z\",\"opacity\":\".5\",\"fill\":\"#fff\"}]}},\nimage:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",\"path\":[{\"d\":\"M5.125.042A5.074 5.074 0 00.053 5.116v53.841a5.072 5.072 0 005.072 5.073H50.9a5.074 5.074 0 005.074-5.073V20.353L37.07.042H5.125z\",\"fill\":\"#49C9A7\"},{\"d\":\"M55.977 20.352v1H43.178s-6.312-1.26-6.129-6.707c0 0 .208 5.707 6.004 5.707h12.924z\",\"fill\":\"#37BB91\"},{\"d\":\"M37.074 0v14.561c0 1.656 1.104 5.791 6.104 5.791h12.799L37.074 0z\",\"opacity\":\".5\",\"fill\":\"#fff\"}]},\"path\":{\"d\":\"M10.119 53.739V32.835h20.906v20.904H10.119zm18.799-18.843H12.227v12.6h16.691v-12.6zm-9.583 8.384l3.909-5.256 1.207 2.123 1.395-.434.984 5.631H13.748l3.496-3.32 2.091 1.256zm-3.856-3.64c-.91 0-1.649-.688-1.649-1.538 0-.849.739-1.538 1.649-1.538.912 0 1.65.689 1.65 1.538 0 .85-.738 1.538-1.65 1.538z\",\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",\"fill\":\"#fff\"}},\nkeynote:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M5.143.005A5.073 5.073 0 00.071 5.079V58.92a5.073 5.073 0 005.072 5.074h45.775a5.075 5.075 0 005.075-5.074V20.314L37.088.005H5.143z\",\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",\"fill\":\"#DB7A2A\"},{\"d\":\"M17.819 54.013a.73.73 0 01-.54-.252l-4.429-5.275-1.207 1.368v3.403a.734.734 0 01-.756.738.73.73 0 01-.738-.738V42.489c0-.396.324-.72.774-.72.396 0 .72.323.72.72v5.6l5.186-6.067a.674.674 0 01.522-.234c.396 0 .738.306.738.702a.597.597 0 01-.162.414l-4.105 4.682 4.555 5.275a.648.648 0 01.162.433c.001.341-.288.719-.72.719zm10.926-.126h-6.248a1.084 1.084 0 01-1.081-1.08v-9.85c0-.594.486-1.08 1.081-1.08h6.248c.36 0 .648.288.648.685 0 .36-.288.648-.648.648h-5.833v3.871h5.708c.36 0 .648.288.648.684 0 .36-.288.648-.648.648h-5.708v4.142h5.833c.36 0 .648.288.648.647.001.397-.288.685-.648.685zm12.384-11.02l-4.033 5.942v4.447a.734.734 0 01-.756.738.73.73 0 01-.739-.738V48.81l-4.051-5.942a.674.674 0 01-.126-.378c0-.342.27-.72.72-.72.216 0 .468.107.612.306l3.583 5.384 3.583-5.384a.725.725 0 01.576-.288c.396 0 .738.324.738.702a.695.695 0 01-.107.377z\",\"fill\":\"#fff\"}],\"g\":{\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",\"path\":[{\"d\":\"M55.976 20.352v1H43.177s-6.312-1.26-6.129-6.707c0 0 .208 5.707 6.004 5.707h12.924z\",\"fill\":\"#D25B1F\"},{\"d\":\"M37.074 0v14.561c0 1.656 1.104 5.791 6.104 5.791h12.799L37.074 0z\",\"opacity\":\".5\",\"fill\":\"#fff\"}]}},\nlibrary_folder:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"fill\":\"#003462\",\"d\":\"M51.5 15.5c2.5 0 4.5 2 4.5 4.5v31c0 2.5-2 4.5-4.5 4.5h-47C2 55.5 0 53.5 0 51V13c0-2.5 2-4.5 4.5-4.5H16c3.8 0 4.2 1.2 6.7 4.5 2.1 2.7 7.2 2.5 10.4 2.5h18.4z\"},{\"fill\":\"#87C8F2\",\"d\":\"M51.5 18.1H9.2c-2.5 0-4.5 2-4.5 4.5v2.9L9.2 19h42.3l4.5 6.5v-2.9c0-2.5-2-4.5-4.5-4.5z\"},{\"fill\":\"#00A1E0\",\"d\":\"M4.6 55.5h46.9c2.5 0 4.5-2 4.5-4.5V23.5c0-2.5-2-4.5-4.5-4.5H9.3c-2.5-.1-4.5 1.9-4.6 4.4v28.3c0 1.3-1 2.3-2.3 2.3-1.3 0-2.3-1-2.3-2.3.3 2.2 2.3 3.8 4.5 3.8z\"}],\"g\":{\"fill\":\"#FFF\",\"path\":[{\"d\":\"M25.5 37.8h3.6v11.5h-3.6zM31.6 37.8h3.6v11.5h-3.6z\"},{\"d\":\"M46.4 31.8l-15-6.2c-.4-.2-.7-.3-1.1-.3-.1 0-.5 0-1.1.3l-15 6.2c-.3.2-.5.5-.5.8v.9c0 .5.4.9.9.9h2.9v14c0 .5.4.9.9.9h4.5V37.8h-1.8c-.4 0-.6-.2-.6-.6V36c0-.4.2-.6.6-.6H39.4c.4 0 .6.2.6.6v1.2c0 .4-.2.6-.6.6h-1.8v11.5h4.5c.5 0 .9-.4.9-.9V34.5v-.1h2.9c.5 0 .9-.4.9-.9v-.8c.1-.4-.1-.7-.4-.9zm-16.1.5c-1.1 0-1.9-.9-1.9-1.9 0-1.1.9-1.9 1.9-1.9 1.1 0 1.9.9 1.9 1.9 0 1-.8 1.9-1.9 1.9z\"}]}},\nlink:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M5.15.006A5.074 5.074 0 00.078 5.08v53.841a5.072 5.072 0 005.072 5.073h45.775a5.074 5.074 0 005.074-5.073V20.316L37.096.006H5.15z\",\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",\"fill\":\"#0C8FE8\"},{\"d\":\"M28.25 35.611c-2.074-2.097-5.448-2.097-7.545 0l-3.055 3.055c-2.073 2.073-2.073 5.447 0 7.545a1.226 1.226 0 001.734 0 1.19 1.19 0 000-1.732 2.9 2.9 0 010-4.079l3.076-3.055a2.874 2.874 0 014.056 0 2.875 2.875 0 010 4.057l-1.458 1.482c.363.979.502 2.006.41 3.053l2.781-2.781c2.097-2.096 2.097-5.471.001-7.545zm-7.704 5.951a1.251 1.251 0 000 1.755 2.838 2.838 0 010 4.059l-3.055 3.053a2.874 2.874 0 01-4.058 0 2.875 2.875 0 010-4.057l1.459-1.459a7.036 7.036 0 01-.411-3.077l-2.802 2.803c-2.075 2.075-2.075 5.447 0 7.546 2.094 2.074 5.47 2.074 7.544 0l3.076-3.077c2.075-2.075 2.075-5.449 0-7.545a1.246 1.246 0 00-1.753-.001z\",\"fill\":\"#fff\"}],\"g\":{\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",\"path\":[{\"d\":\"M55.977 20.352v1H43.178s-6.312-1.26-6.129-6.707c0 0 .208 5.707 6.004 5.707h12.924z\",\"fill\":\"#0973E2\"},{\"d\":\"M37.074 0v14.561c0 1.656 1.104 5.791 6.104 5.791h12.799L37.074 0z\",\"opacity\":\".5\",\"fill\":\"#fff\"}]}},\nmp4:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",\"path\":[{\"d\":\"M5.116.006A5.073 5.073 0 00.044 5.08v53.841a5.073 5.073 0 005.072 5.074h45.775a5.074 5.074 0 005.074-5.074V20.316L37.062.006H5.116z\",\"fill\":\"#9B64B2\"},{\"d\":\"M55.977 20.352v1H43.178s-6.312-1.26-6.129-6.707c0 0 .208 5.707 6.004 5.707h12.924z\",\"fill\":\"#824B9E\"},{\"d\":\"M37.074 0v14.561c0 1.656 1.104 5.791 6.104 5.791h12.799L37.074 0z\",\"opacity\":\".5\",\"fill\":\"#fff\"}]},\"path\":{\"d\":\"M21.13 53.879a.73.73 0 01-.738-.738v-9.254l-4.033 9.759c-.054.144-.198.233-.378.233a.37.37 0 01-.342-.233l-4.015-9.759v9.254a.734.734 0 01-.756.738.73.73 0 01-.738-.738V42.878c0-.648.558-1.206 1.243-1.206.486 0 .99.288 1.188.756L16 50.8l3.457-8.372c.198-.468.684-.756 1.188-.756.684 0 1.243.558 1.243 1.206v10.263a.737.737 0 01-.758.738zM29.966 49h-3.331v4.141a.734.734 0 01-.756.738.73.73 0 01-.738-.738V42.842c0-.594.486-1.081 1.081-1.081h3.745c2.413 0 3.763 1.657 3.763 3.619-.001 1.964-1.387 3.62-3.764 3.62zm-.18-5.906h-3.151v4.573h3.151c1.422 0 2.395-.936 2.395-2.287 0-1.349-.973-2.286-2.395-2.286zm13.915 7.635h-1.17v2.413a.734.734 0 01-.757.738.73.73 0 01-.738-.738v-2.413h-5.077c-.378 0-.738-.324-.738-.81 0-.162.053-.342.144-.486l4.807-7.22a1.322 1.322 0 011.081-.558c.684 0 1.278.594 1.278 1.26v6.5h1.17c.342 0 .63.288.63.667a.643.643 0 01-.63.647zm-2.665-7.581l-4.213 6.266h4.213v-6.266z\",\"fill\":\"#fff\"}},\noverlay:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M5.15.008A5.073 5.073 0 00.078 5.082v53.841a5.073 5.073 0 005.072 5.074h45.775a5.074 5.074 0 005.074-5.074V20.317L37.096.008H5.15z\",\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",\"fill\":\"#A382D8\"},{\"d\":\"M10.123 34.515v14.081h14.694V34.515H10.123zm5.344 5.343v14.081h14.694V39.858H15.467z\",\"fill\":\"#fff\"},{\"fill\":\"#CBBBEF\",\"d\":\"M15.467 39.858h9.351v8.737h-9.351z\"}],\"g\":{\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",\"path\":[{\"d\":\"M55.977 20.352v1H43.178s-6.312-1.26-6.129-6.707c0 0 .208 5.707 6.004 5.707h12.924z\",\"fill\":\"#8C62CE\"},{\"d\":\"M37.074 0v14.561c0 1.656 1.104 5.791 6.104 5.791h12.799L37.074 0z\",\"opacity\":\".5\",\"fill\":\"#fff\"}]}},\npack:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M5.15.012A5.073 5.073 0 00.078 5.086v53.841A5.073 5.073 0 005.15 64h45.775A5.074 5.074 0 0056 58.927V20.321L37.096.012H5.15z\",\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",\"fill\":\"#4E74B7\"},{\"d\":\"M29.187 40.872v11.917c0 .662-.529 1.191-1.191 1.191H11.311a1.186 1.186 0 01-1.191-1.191V40.872c0-.133.021-.265.065-.375l1.59-4.768a1.184 1.184 0 011.125-.816h13.507c.508 0 .971.331 1.125.816l1.59 4.768c.043.11.065.242.065.375zm-2.45 0l-1.191-3.575H13.76l-1.191 3.575h14.168z\",\"fill\":\"#fff\"}],\"g\":{\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",\"path\":[{\"d\":\"M55.977 20.352v1H43.178s-6.312-1.26-6.129-6.707c0 0 .208 5.707 6.004 5.707h12.924z\",\"fill\":\"#3A57A5\"},{\"d\":\"M37.074 0v14.561c0 1.656 1.104 5.791 6.104 5.791h12.799L37.074 0z\",\"opacity\":\".5\",\"fill\":\"#fff\"}]}},\npages:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M5.111-.006A5.073 5.073 0 00.039 5.068v53.841a5.073 5.073 0 005.072 5.074h45.775a5.074 5.074 0 005.074-5.074V20.304L37.057-.006H5.111z\",\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",\"fill\":\"#6A6AE2\"},{\"d\":\"M14.959 49.006h-3.331v4.142a.734.734 0 01-.756.738.73.73 0 01-.738-.738v-10.3c0-.594.486-1.08 1.081-1.08h3.745c2.413 0 3.763 1.656 3.763 3.619s-1.388 3.619-3.764 3.619zm-.18-5.905h-3.151v4.573h3.151c1.422 0 2.395-.937 2.395-2.287s-.973-2.286-2.395-2.286zm12.06 10.911c-3.421 0-6.176-2.503-6.176-6.23 0-3.727 2.754-6.212 6.176-6.212 1.8 0 3.169.685 4.123 1.639.144.126.198.324.198.504 0 .396-.288.703-.684.703a.669.669 0 01-.486-.217c-.756-.81-1.963-1.296-3.151-1.296-2.629 0-4.627 2.017-4.627 4.879 0 2.845 1.999 4.897 4.627 4.897 1.44 0 2.628-.702 3.223-1.296v-2.449h-3.583c-.36 0-.648-.288-.648-.684 0-.36.288-.648.648-.648h3.998c.594 0 1.08.486 1.08 1.08v2.377c-.001 1.854-2.594 2.953-4.718 2.953zm11.483-.019c-1.782 0-3.187-.594-4.213-1.494a.712.712 0 01-.234-.54c0-.36.27-.757.702-.757.144 0 .306.036.432.145.828.738 1.98 1.314 3.367 1.314 2.143 0 2.827-1.152 2.827-2.07 0-3.098-7.112-1.387-7.112-5.672 0-1.98 1.764-3.331 4.123-3.331 1.548 0 2.881.468 3.853 1.278a.73.73 0 01.252.54c0 .36-.306.72-.703.72a.684.684 0 01-.432-.161c-.882-.721-1.98-1.045-3.079-1.045-1.44 0-2.467.774-2.467 1.909 0 2.7 7.112 1.152 7.112 5.635.001 1.747-1.187 3.529-4.428 3.529z\",\"fill\":\"#fff\"}],\"g\":{\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",\"path\":[{\"d\":\"M55.976 20.352v1H43.177s-6.312-1.26-6.129-6.707c0 0 .208 5.707 6.004 5.707h12.924z\",\"fill\":\"#4F4FDA\"},{\"d\":\"M37.074 0v14.561c0 1.656 1.104 5.791 6.104 5.791h12.799L37.074 0z\",\"opacity\":\".5\",\"fill\":\"#fff\"}]}},\npdf:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"fill\":\"#8C181A\",\"d\":\"M5.1 0C2.3 0 0 2.3 0 5.1v53.8C0 61.7 2.3 64 5.1 64h45.8c2.8 0 5.1-2.3 5.1-5.1V20.3L37.1 0h-32z\"},{\"fill\":\"#6B0D12\",\"d\":\"M56 20.4v1H43.2s-6.3-1.3-6.1-6.7c0 0 .2 5.7 6 5.7H56z\"},{\"opacity\":\".5\",\"fill\":\"#FFF\",\"d\":\"M37.1 0v14.6c0 1.7 1.1 5.8 6.1 5.8H56L37.1 0z\"},{\"fill\":\"#FFF\",\"d\":\"M14.9 49h-3.3v4.1c0 .4-.3.7-.8.7-.4 0-.7-.3-.7-.7V42.9c0-.6.5-1.1 1.1-1.1h3.7c2.4 0 3.8 1.7 3.8 3.6 0 2-1.4 3.6-3.8 3.6zm-.1-5.9h-3.2v4.6h3.2c1.4 0 2.4-.9 2.4-2.3s-1-2.3-2.4-2.3zm10.4 10.7h-3c-.6 0-1.1-.5-1.1-1.1v-9.8c0-.6.5-1.1 1.1-1.1h3c3.7 0 6.2 2.6 6.2 6s-2.4 6-6.2 6zm0-10.7h-2.6v9.3h2.6c2.9 0 4.6-2.1 4.6-4.7.1-2.5-1.6-4.6-4.6-4.6zm16.3 0h-5.8V47h5.7c.4 0 .6.3.6.7s-.3.6-.6.6h-5.7v4.8c0 .4-.3.7-.8.7-.4 0-.7-.3-.7-.7V42.9c0-.6.5-1.1 1.1-1.1h6.2c.4 0 .6.3.6.7.1.3-.2.6-.6.6z\"}]},\nppt:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M5.112-.004A5.074 5.074 0 00.039 5.07v53.841a5.073 5.073 0 005.073 5.074h45.774a5.074 5.074 0 005.074-5.074V20.306L37.058-.004H5.112z\",\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",\"fill\":\"#E34221\"},{\"d\":\"M14.964 49.011h-3.331v4.141a.734.734 0 01-.756.738.73.73 0 01-.738-.738V42.854c0-.594.486-1.081 1.08-1.081h3.745c2.413 0 3.763 1.657 3.763 3.619 0 1.963-1.387 3.619-3.763 3.619zm-.181-5.906h-3.15v4.573h3.15c1.423 0 2.395-.936 2.395-2.287 0-1.349-.972-2.286-2.395-2.286zm11.197 5.906h-3.332v4.141a.734.734 0 01-.756.738.73.73 0 01-.738-.738V42.854c0-.594.486-1.081 1.08-1.081h3.746c2.412 0 3.763 1.657 3.763 3.619 0 1.963-1.387 3.619-3.763 3.619zm-.18-5.906h-3.151v4.573H25.8c1.423 0 2.395-.936 2.395-2.287-.001-1.349-.972-2.286-2.395-2.286zm14.112 0h-3.277v10.047a.734.734 0 01-.756.738.73.73 0 01-.738-.738V43.105h-3.259c-.36 0-.647-.288-.647-.684 0-.361.287-.648.647-.648h8.03c.36 0 .648.288.648.685a.644.644 0 01-.648.647z\",\"fill\":\"#fff\"}],\"g\":{\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",\"path\":[{\"d\":\"M55.977 20.352v1H43.178s-6.312-1.26-6.129-6.707c0 0 .208 5.707 6.004 5.707h12.924z\",\"fill\":\"#DC3119\"},{\"d\":\"M37.074 0v14.561c0 1.656 1.104 5.791 6.104 5.791h12.799L37.074 0z\",\"opacity\":\".5\",\"fill\":\"#fff\"}]}},\npsd:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M5.112.051A5.074 5.074 0 00.039 5.126v53.841a5.073 5.073 0 005.073 5.073h45.775a5.074 5.074 0 005.074-5.073V20.361L37.058.051H5.112z\",\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",\"fill\":\"#0C77C6\"},{\"d\":\"M14.952 49.011h-3.331v4.141a.734.734 0 01-.756.738.73.73 0 01-.738-.738V42.854c0-.594.486-1.081 1.08-1.081h3.745c2.413 0 3.763 1.657 3.763 3.619 0 1.963-1.387 3.619-3.763 3.619zm-.181-5.906h-3.15v4.573h3.15c1.423 0 2.395-.936 2.395-2.287 0-1.349-.972-2.286-2.395-2.286zm10.26 10.894c-1.781 0-3.187-.594-4.213-1.495a.71.71 0 01-.234-.54c0-.36.271-.756.703-.756.144 0 .306.036.432.144.828.739 1.98 1.314 3.367 1.314 2.143 0 2.826-1.152 2.826-2.071 0-3.097-7.111-1.386-7.111-5.672 0-1.98 1.764-3.331 4.123-3.331 1.549 0 2.881.467 3.854 1.278a.73.73 0 01.252.54c0 .36-.307.72-.703.72a.682.682 0 01-.432-.162c-.883-.72-1.98-1.044-3.078-1.044-1.441 0-2.467.774-2.467 1.909 0 2.701 7.111 1.152 7.111 5.636 0 1.748-1.188 3.53-4.43 3.53zm11.215-.216h-3.025c-.594 0-1.08-.487-1.08-1.081v-9.849c0-.594.486-1.081 1.08-1.081h3.025c3.727 0 6.157 2.611 6.157 6.014 0 3.422-2.43 5.997-6.157 5.997zm0-10.678h-2.611v9.345h2.611c2.916 0 4.609-2.088 4.609-4.663 0-2.593-1.638-4.682-4.609-4.682z\",\"fill\":\"#fff\"}],\"g\":{\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",\"path\":[{\"d\":\"M55.977 20.352v1H43.178s-6.312-1.26-6.129-6.707c0 0 .208 5.707 6.004 5.707h12.924z\",\"fill\":\"#0959B7\"},{\"d\":\"M37.074 0v14.561c0 1.656 1.104 5.791 6.104 5.791h12.799L37.074 0z\",\"opacity\":\".5\",\"fill\":\"#fff\"}]}},\nquip_doc:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",\"fill\":\"#3D87F5\",\"d\":\"M0 5.1v53.7C0 61.7 2.3 64 5.1 64h45.7c2.8 0 5.1-2.3 5.1-5.1V21L37 0H5.1C2.3 0 0 2.3 0 5.1z\"},{\"opacity\":\".5\",\"fill\":\"#FFF\",\"d\":\"M37 0l19 21H42.1c-2.8 0-5.2-2.3-5.2-5.2L37 0z\"},{\"opacity\":\".5\",\"fill\":\"#216AC1\",\"d\":\"M37 15.9v1c0 2.8 2.3 5.2 5.2 5.2H56v-1H42.1c-2.8-.1-5.1-2.4-5.1-5.2z\"},{\"fill\":\"#FFF\",\"d\":\"M23.5 46.7h-6.9c-.4 0-.8.3-.8.8s.3.8.8.8h6.9c.4 0 .8-.3.8-.8s-.4-.8-.8-.8zM16.5 41.3h6.9c.4 0 .8-.3.8-.8 0-.4-.3-.8-.8-.8h-6.9c-.4 0-.8.3-.8.8.1.5.4.8.8.8zM14.2 43.2c-.4 0-.8.3-.8.8 0 .4.3.8.8.8h11.5c.4 0 .8-.3.8-.8 0-.4-.3-.8-.8-.8H14.2z\"},{\"fill\":\"#FFF\",\"d\":\"M26.8 36.7c-3.9-3.7-10.1-3.6-13.9.2-3.8 3.8-3.9 10-.2 13.9 1.9 2 4.5 3.2 7.3 3.2h9.2c.4 0 .8-.3.8-.8V44c0-2.8-1.1-5.4-3.2-7.3zm1.6 15.8H20c-2.3 0-4.6-1-6.2-2.7-1.6-1.7-2.4-4-2.3-6.3.3-4.3 3.7-7.7 7.9-7.9h.5c4.7 0 8.5 3.8 8.5 8.5v8.4z\"}]},\nquip_sheet:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",\"fill\":\"#2CAB21\",\"d\":\"M0 5.1v53.7C0 61.7 2.3 64 5.1 64h45.7c2.8 0 5.1-2.3 5.1-5.1V21L37 0H5.1C2.3 0 0 2.3 0 5.1z\"},{\"opacity\":\".5\",\"fill\":\"#FFF\",\"d\":\"M37 0l19 21H42.1c-2.8 0-5.2-2.3-5.2-5.2L37 0z\"},{\"opacity\":\".5\",\"fill\":\"#189355\",\"d\":\"M37 15.9v1c0 2.8 2.3 5.2 5.2 5.2H56v-1H42.1c-2.8-.1-5.1-2.4-5.1-5.2z\"},{\"fill\":\"#FFF\",\"d\":\"M23.5 46.7h-6.9c-.4 0-.8.3-.8.8s.3.8.8.8h6.9c.4 0 .8-.3.8-.8s-.4-.8-.8-.8zM16.5 41.3h6.9c.4 0 .8-.3.8-.8 0-.4-.3-.8-.8-.8h-6.9c-.4 0-.8.3-.8.8.1.5.4.8.8.8zM14.2 43.2c-.4 0-.8.3-.8.8 0 .4.3.8.8.8h11.5c.4 0 .8-.3.8-.8 0-.4-.3-.8-.8-.8H14.2z\"},{\"fill\":\"#FFF\",\"d\":\"M26.8 36.7c-3.9-3.7-10.1-3.6-13.9.2-3.8 3.8-3.9 10-.2 13.9 1.9 2 4.5 3.2 7.3 3.2h9.2c.4 0 .8-.3.8-.8V44c0-2.8-1.1-5.4-3.2-7.3zM20 52.5c-2.3 0-4.6-1-6.2-2.7-1.6-1.7-2.4-4-2.3-6.3.3-4.3 3.7-7.7 7.9-7.9h.5c4.7 0 8.5 3.8 8.5 8.5v8.4H20z\"}]},\nquip_slide:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",\"fill\":\"#8D3DF5\",\"d\":\"M0 5.1v53.7C0 61.7 2.3 64 5.1 64h45.7c2.8 0 5.1-2.3 5.1-5.1V21L37 0H5.1C2.3 0 0 2.3 0 5.1z\"},{\"opacity\":\".5\",\"fill\":\"#FFF\",\"d\":\"M37 0l19 21H42.1c-2.8 0-5.2-2.3-5.2-5.2L37 0z\"},{\"opacity\":\".5\",\"fill\":\"#6D2BD6\",\"d\":\"M37 15.9v1c0 2.8 2.3 5.2 5.2 5.2H56v-1H42.1c-2.8-.1-5.1-2.4-5.1-5.2z\"},{\"fill\":\"#FFF\",\"d\":\"M23.5 46.7h-6.9c-.4 0-.8.3-.8.8s.3.8.8.8h6.9c.4 0 .8-.3.8-.8s-.4-.8-.8-.8zM16.5 41.3h6.9c.4 0 .8-.3.8-.8 0-.4-.3-.8-.8-.8h-6.9c-.4 0-.8.3-.8.8.1.5.4.8.8.8zM14.2 43.2c-.4 0-.8.3-.8.8 0 .4.3.8.8.8h11.5c.4 0 .8-.3.8-.8 0-.4-.3-.8-.8-.8H14.2z\"},{\"fill\":\"#FFF\",\"d\":\"M26.8 36.7c-3.9-3.7-10.1-3.6-13.9.2-3.8 3.8-3.9 10-.2 13.9 1.9 2 4.5 3.2 7.3 3.2h9.2c.4 0 .8-.3.8-.8V44c0-2.8-1.1-5.4-3.2-7.3zM20 52.5c-2.3 0-4.6-1-6.2-2.7-1.6-1.7-2.4-4-2.3-6.3.3-4.3 3.7-7.7 7.9-7.9h.5c4.7 0 8.5 3.8 8.5 8.5v8.4H20z\"}]},\nrtf:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M5.113.006A5.074 5.074 0 00.039 5.08v53.841a5.073 5.073 0 005.074 5.074h45.774a5.074 5.074 0 005.074-5.074V20.316L37.058.006H5.113z\",\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",\"fill\":\"#00A1EE\"},{\"d\":\"M15.611 48.825l2.575 3.907a.756.756 0 01.108.378c0 .36-.306.72-.738.72a.699.699 0 01-.594-.324l-2.935-4.555h-2.395v4.141a.734.734 0 01-.756.738.73.73 0 01-.738-.738V42.793c0-.594.486-1.081 1.081-1.081h3.745c2.197 0 3.763 1.405 3.763 3.619 0 2.161-1.477 3.35-3.116 3.494zm-3.979-5.78v4.591h3.151c1.422 0 2.395-.954 2.395-2.305 0-1.35-.972-2.287-2.395-2.287h-3.151zm17.463 0h-3.277v10.047a.734.734 0 01-.756.738.73.73 0 01-.738-.738V43.045h-3.259c-.36 0-.648-.288-.648-.684 0-.36.288-.648.648-.648h8.031c.36 0 .648.288.648.685a.647.647 0 01-.649.647zm10.295 0h-5.833v3.871h5.708c.36 0 .648.288.648.685 0 .36-.288.648-.648.648h-5.708v4.843a.734.734 0 01-.756.738.73.73 0 01-.738-.738V42.793c0-.594.486-1.081 1.081-1.081h6.248c.36 0 .648.288.648.685a.648.648 0 01-.65.648z\",\"fill\":\"#fff\"}],\"g\":{\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",\"path\":[{\"d\":\"M55.977 20.352v1H43.178s-6.312-1.26-6.129-6.707c0 0 .208 5.707 6.004 5.707h12.924z\",\"fill\":\"#0089E9\"},{\"d\":\"M37.074 0v14.561c0 1.656 1.104 5.791 6.104 5.791h12.799L37.074 0z\",\"opacity\":\".5\",\"fill\":\"#fff\"}]}},\nslide:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M5.15.008A5.074 5.074 0 00.078 5.082v53.842a5.072 5.072 0 005.072 5.073h45.775a5.074 5.074 0 005.074-5.073V20.318L37.096.008H5.15z\",\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",\"fill\":\"#1AB6D9\"},{\"d\":\"M10.121 34.772v19.09h19.918v-19.09H10.121zM28.226 50.24H11.931V38.396h16.295V50.24z\",\"fill\":\"#fff\"},{\"d\":\"M55.977 20.352v1H43.178s-6.312-1.26-6.129-6.707c0 0 .208 5.707 6.004 5.707h12.924z\",\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",\"fill\":\"#13A3CF\"},{\"d\":\"M37.074 0v14.561c0 1.656 1.104 5.791 6.104 5.791h12.799L37.074 0z\",\"opacity\":\".5\",\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",\"fill\":\"#fff\"}]},\nstypi:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",\"path\":[{\"d\":\"M5.072.006A5.073 5.073 0 000 5.08v53.841a5.073 5.073 0 005.072 5.074h45.775a5.074 5.074 0 005.074-5.074V20.315L37.018.006H5.072z\",\"fill\":\"#DDD965\"},{\"d\":\"M55.977 20.352v1H43.178s-6.312-1.26-6.129-6.707c0 0 .208 5.707 6.004 5.707h12.924z\",\"fill\":\"#C1BC45\"},{\"d\":\"M37.074 0v14.561c0 1.656 1.104 5.791 6.104 5.791h12.799L37.074 0z\",\"opacity\":\".5\",\"fill\":\"#fff\"},{\"d\":\"M29.399 34.802H11.768c-.872 0-1.577.706-1.577 1.577v15.99c0 .871.706 1.577 1.577 1.577h13.167l6.04-6.017v-11.55c0-.871-.705-1.577-1.576-1.577z\",\"fill\":\"#fff\"},{\"fill\":\"#DBD75D\",\"d\":\"M13.741 43.553h13.675v1.643H13.741zm0-3.555h13.675v1.641H13.741zm0 7.109h8.867v1.643h-8.867z\"}]}},\ntxt:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M5.151-.036A5.074 5.074 0 00.077 5.038v53.841a5.073 5.073 0 005.074 5.074h45.774a5.074 5.074 0 005.074-5.074V20.274L37.097-.036H5.151z\",\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",\"fill\":\"#F9CA06\"},{\"d\":\"M18.763 43.045h-3.277v10.047a.734.734 0 01-.756.738.73.73 0 01-.738-.738V43.045h-3.259c-.36 0-.648-.288-.648-.684 0-.36.288-.648.648-.648h8.03c.36 0 .648.288.648.685a.645.645 0 01-.648.647zm11.7 10.803a.64.64 0 01-.541-.27l-3.727-4.97-3.745 4.97a.639.639 0 01-.54.27.71.71 0 01-.72-.72c0-.144.036-.306.144-.432l3.889-5.131-3.619-4.826a.721.721 0 01-.144-.414c0-.343.288-.721.72-.721.216 0 .432.108.576.288l3.439 4.627 3.439-4.646a.642.642 0 01.541-.27c.378 0 .738.306.738.721a.7.7 0 01-.126.414l-3.619 4.808 3.89 5.149c.09.126.126.27.126.415a.739.739 0 01-.721.738zm11.195-10.803h-3.277v10.047a.734.734 0 01-.756.738.73.73 0 01-.738-.738V43.045h-3.259c-.36 0-.648-.288-.648-.684 0-.36.288-.648.648-.648h8.03c.36 0 .648.288.648.685a.644.644 0 01-.648.647z\",\"fill\":\"#fff\"}],\"g\":{\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",\"path\":[{\"d\":\"M56.008 20.316v1H43.209s-6.312-1.26-6.129-6.708c0 0 .208 5.708 6.004 5.708h12.924z\",\"fill\":\"#F7BC04\"},{\"d\":\"M37.106-.036v14.561c0 1.656 1.104 5.792 6.104 5.792h12.799L37.106-.036z\",\"opacity\":\".5\",\"fill\":\"#fff\"}]}},\nunknown:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",\"path\":[{\"d\":\"M5.113.007A5.073 5.073 0 00.039 5.081v53.84a5.073 5.073 0 005.074 5.074h45.774a5.074 5.074 0 005.074-5.074V20.315L37.058.007H5.113z\",\"fill\":\"#8199AF\"},{\"d\":\"M55.976 20.352v1H43.177s-6.312-1.26-6.129-6.707c0 0 .208 5.707 6.004 5.707h12.924z\",\"fill\":\"#617F9B\"},{\"d\":\"M37.074 0v14.561c0 1.656 1.104 5.791 6.104 5.791h12.799L37.074 0z\",\"opacity\":\".5\",\"fill\":\"#fff\"}]}},\nvideo:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M5.15.011A5.073 5.073 0 00.078 5.085v53.841A5.073 5.073 0 005.15 64h45.775A5.075 5.075 0 0056 58.926V20.32L37.096.011H5.15z\",\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",\"fill\":\"#8E4C9E\"},{\"d\":\"M24.531 45.529c0 .368-.163.736-.449.981-.205.163-5.255 4.417-11.839 7.095a1.411 1.411 0 01-.511.103 1.35 1.35 0 01-.675-.184 1.229 1.229 0 01-.613-.981c-.021-.144-.307-3.456-.307-7.014s.286-6.87.307-6.993c.021-.408.266-.776.613-1.002.205-.122.43-.184.675-.184.164 0 .348.041.511.103 6.584 2.678 11.634 6.932 11.839 7.115.286.225.449.593.449.961z\",\"fill\":\"#fff\"}],\"g\":{\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",\"path\":[{\"d\":\"M55.977 20.352v1H43.178s-6.312-1.26-6.129-6.707c0 0 .208 5.707 6.004 5.707h12.924z\",\"fill\":\"#713985\"},{\"d\":\"M37.074 0v14.561c0 1.656 1.104 5.791 6.104 5.791h12.799L37.074 0z\",\"opacity\":\".5\",\"fill\":\"#fff\"}]}},\nvisio:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M5.111.006A5.073 5.073 0 00.039 5.08v53.841a5.073 5.073 0 005.072 5.074h45.775a5.074 5.074 0 005.074-5.074V20.315L37.057.006H5.111z\",\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",\"fill\":\"#496AB3\"},{\"d\":\"M20.915 42.686l-4.16 10.334c-.198.486-.684.81-1.188.81h-.036a1.316 1.316 0 01-1.207-.81l-4.141-10.334a.755.755 0 01-.054-.289c0-.36.324-.792.811-.792.306 0 .594.181.72.486l3.889 9.993 3.889-9.993a.767.767 0 01.72-.486c.468 0 .81.378.81.792 0 .09-.018.198-.053.289zm3.147 11.144a.73.73 0 01-.738-.738V42.325c0-.396.324-.721.774-.721.396 0 .72.324.72.721v10.767a.734.734 0 01-.756.738zm7.902.108c-1.782 0-3.187-.594-4.213-1.495a.71.71 0 01-.234-.54c0-.36.27-.756.702-.756.144 0 .306.036.432.145.829.738 1.981 1.314 3.367 1.314 2.143 0 2.827-1.152 2.827-2.071 0-3.097-7.112-1.386-7.112-5.672 0-1.98 1.764-3.33 4.123-3.33 1.548 0 2.881.467 3.853 1.277a.731.731 0 01.252.541c0 .359-.306.72-.702.72a.68.68 0 01-.432-.162c-.882-.72-1.98-1.044-3.079-1.044-1.44 0-2.467.774-2.467 1.909 0 2.701 7.112 1.152 7.112 5.636.001 1.746-1.188 3.528-4.429 3.528z\",\"fill\":\"#fff\"}],\"g\":{\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",\"path\":[{\"d\":\"M55.977 20.352v1H43.178s-6.312-1.26-6.129-6.707c0 0 .208 5.707 6.004 5.707h12.924z\",\"fill\":\"#374FA0\"},{\"d\":\"M37.074 0v14.561c0 1.656 1.104 5.791 6.104 5.791h12.799L37.074 0z\",\"opacity\":\".5\",\"fill\":\"#fff\"}]}},\nwebex:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",\"path\":[{\"d\":\"M5.152.011A5.074 5.074 0 00.078 5.085v53.841A5.074 5.074 0 005.152 64h45.773A5.075 5.075 0 0056 58.926V20.32L37.098.011H5.152z\",\"fill\":\"#80BC4B\"},{\"d\":\"M55.977 20.352v1H43.178s-6.312-1.26-6.129-6.707c0 0 .208 5.707 6.004 5.707h12.924z\",\"fill\":\"#60AB38\"},{\"d\":\"M37.074 0v14.561c0 1.656 1.104 5.791 6.104 5.791h12.799L37.074 0z\",\"opacity\":\".5\",\"fill\":\"#fff\"}]},\"path\":[{\"d\":\"M20.463 53.854c5.161-.271 9.261-4.538 9.261-9.767a9.78 9.78 0 00-9.26-9.767l-.001 19.534z\",\"fill\":\"#CFE8AF\"},{\"d\":\"M19.338 53.852c-5.119-.316-9.174-4.565-9.174-9.764s4.056-9.447 9.174-9.763v19.527z\",\"fill\":\"#fff\"}]},\nword:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"fill-rule\":\"evenodd\",\"path\":[{\"d\":\"M5.11 0A5.07 5.07 0 000 5v53.88A5.07 5.07 0 005.11 64h45.78A5.07 5.07 0 0056 58.88v-38.6L37.06 0z\",\"fill\":\"#107cad\"},{\"d\":\"M56 20.35v1H43.18s-6.31-1.26-6.13-6.71c0 0 .21 5.71 6 5.71z\",\"fill\":\"#084968\"},{\"d\":\"M37.07 0v14.56a5.78 5.78 0 006.11 5.79H56z\",\"fill\":\"#90d0fe\",\"opacity\":\".5\"}]},\"path\":{\"d\":\"M14.24 53.86h-3a1.08 1.08 0 01-1.08-1.08v-9.85a1.08 1.08 0 011.08-1.08h3a6 6 0 110 12zm0-10.67h-2.61v9.34h2.61a4.41 4.41 0 004.61-4.66 4.38 4.38 0 00-4.61-4.68zm14.42 10.89a5.86 5.86 0 01-6-6.21 6 6 0 1111.92 0 5.87 5.87 0 01-5.92 6.21zm0-11.09c-2.7 0-4.41 2.07-4.41 4.88s1.71 4.88 4.41 4.88 4.41-2.09 4.41-4.88S31.35 43 28.66 43zm18.45.38a.75.75 0 01.2.52.71.71 0 01-.7.72.64.64 0 01-.51-.24 4.06 4.06 0 00-3-1.38 4.61 4.61 0 00-4.63 4.88 4.63 4.63 0 004.63 4.88 4 4 0 003-1.37.7.7 0 01.51-.24.72.72 0 01.7.74.78.78 0 01-.2.51 5.33 5.33 0 01-4 1.69 6.22 6.22 0 010-12.43 5.26 5.26 0 014 1.72z\",\"fill\":\"#fff\"}},\nxml:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M5.112-.024A5.074 5.074 0 00.038 5.05v53.841a5.073 5.073 0 005.074 5.074h45.774a5.074 5.074 0 005.074-5.074V20.285L37.058-.024H5.112z\",\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",\"fill\":\"#FC7B24\"},{\"d\":\"M19.371 53.848a.64.64 0 01-.541-.27l-3.727-4.97-3.745 4.97a.638.638 0 01-.54.27.712.712 0 01-.721-.72.66.66 0 01.145-.432l3.889-5.131-3.619-4.826a.721.721 0 01-.144-.414c0-.343.288-.721.72-.721.217 0 .433.108.576.288l3.439 4.627 3.439-4.646a.64.64 0 01.54-.27c.378 0 .737.306.737.721a.7.7 0 01-.125.414l-3.619 4.808 3.889 5.149c.09.126.127.27.127.415a.736.736 0 01-.72.738zm14.455-.018a.73.73 0 01-.738-.738v-9.254l-4.033 9.759c-.055.143-.2.233-.379.233a.37.37 0 01-.342-.234l-4.016-9.759v9.254a.734.734 0 01-.756.738.73.73 0 01-.738-.738V42.829c0-.648.559-1.207 1.242-1.207.486 0 .99.288 1.188.756l3.438 8.373 3.457-8.373c.199-.468.686-.756 1.189-.756.684 0 1.242.558 1.242 1.207v10.263c.002.414-.322.738-.754.738zm10.546-.108h-5.456c-.594 0-1.08-.486-1.08-1.081V42.325c0-.396.324-.721.774-.721.396 0 .72.324.72.721V52.39h5.042c.36 0 .647.288.647.648.001.396-.287.684-.647.684z\",\"fill\":\"#fff\"}],\"g\":{\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",\"path\":[{\"d\":\"M55.977 20.352v1H43.178s-6.312-1.26-6.129-6.707c0 0 .208 5.707 6.004 5.707h12.924z\",\"fill\":\"#FB5C1B\"},{\"d\":\"M37.074 0v14.561c0 1.656 1.104 5.791 6.104 5.791h12.799L37.074 0z\",\"opacity\":\".5\",\"fill\":\"#fff\"}]}},\nzip:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M5.113-.026A5.074 5.074 0 00.039 5.048v53.841a5.073 5.073 0 005.074 5.074h45.773a5.074 5.074 0 005.074-5.074V20.284L37.059-.026H5.113z\",\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",\"fill\":\"#8199AF\"},{\"d\":\"M18.438 53.906h-7.581c-.378 0-.756-.342-.756-.828 0-.18.054-.36.162-.504l6.68-9.345h-6.212c-.36 0-.648-.288-.648-.684 0-.36.288-.648.648-.648h7.454c.378 0 .756.342.756.829 0 .18-.054.36-.162.504l-6.68 9.345h6.338c.36 0 .648.288.648.648.001.395-.287.683-.647.683zm4.012.108a.73.73 0 01-.738-.738V42.509c0-.396.324-.721.774-.721.396 0 .72.324.72.721v10.767a.735.735 0 01-.756.738zm8.839-4.879h-3.331v4.141a.734.734 0 01-.756.738.73.73 0 01-.738-.738V42.977c0-.594.486-1.081 1.081-1.081h3.745c2.413 0 3.763 1.657 3.763 3.619s-1.387 3.62-3.764 3.62zm-.18-5.906h-3.151v4.573h3.151c1.422 0 2.395-.936 2.395-2.287-.001-1.35-.973-2.286-2.395-2.286z\",\"fill\":\"#fff\"}],\"g\":{\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",\"path\":[{\"d\":\"M55.977 20.352v1H43.178s-6.312-1.26-6.129-6.707c0 0 .208 5.707 6.004 5.707h12.924z\",\"fill\":\"#617F9B\"},{\"d\":\"M37.074 0v14.561c0 1.656 1.104 5.791 6.104 5.791h12.799L37.074 0z\",\"opacity\":\".5\",\"fill\":\"#fff\"}]}},\nviewBox:'0 0 56 64'\n}; } export default icons;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n\nlet icons = {}; if ('__EXCLUDE_SLDS_ICONS__' === '__INCLUDE_SLDS_ICONS__') { icons = {\naccount:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M79 51.1c.1-2.1-1.4-2.7-2-2.7H55.2c-1.9 0-2.2 2-2.2 2.2V74h26V51.1zM64 67.9c0 1.1-.9 2-2 2h-2c-1.1 0-2-.9-2-2v-2c0-1.1.9-2 2-2h2c1.1 0 2 .9 2 2v2zm0-10.2c0 1.1-.9 2-2 2h-2c-1.1 0-2-.9-2-2v-2c0-1.1.9-2 2-2h2c1.1 0 2 .9 2 2v2zm10 10.2c0 1.1-.9 2-2 2h-2c-1.1 0-2-.9-2-2v-2c0-1.1.9-2 2-2h2c1.1 0 2 .9 2 2v2zm0-10.2c0 1.1-.9 2-2 2h-2c-1.1 0-2-.9-2-2v-2c0-1.1.9-2 2-2h2c1.1 0 2 .9 2 2v2z\"},{\"d\":\"M59 40.3V28.7c.1-2.1-1.4-2.7-2-2.7H23.2c-1.9 0-2.2 2-2.2 2.2V74h26V44.7s0-2.4 2.2-2.4h7.9c1.1 0 1.9-1.2 1.9-2zM32 66.9c0 1.1-.9 2-2 2h-2c-1.1 0-2-.9-2-2v-2c0-1.1.9-2 2-2h2c1.1 0 2 .9 2 2v2zm0-10.3c0 1.1-.9 2-2 2h-2c-1.1 0-2-.9-2-2v-2c0-1.1.9-2 2-2h2c1.1 0 2 .9 2 2v2zm0-10.2c0 1.1-.9 2-2 2h-2c-1.1 0-2-.9-2-2v-2c0-1.1.9-2 2-2h2c1.1 0 2 .9 2 2v2zm0-10.2c0 1.1-.9 2-2 2h-2c-1.1 0-2-.9-2-2v-2c0-1.1.9-2 2-2h2c1.1 0 2 .9 2 2v2zm11 30.7c0 1.1-.9 2-2 2h-2c-1.1 0-2-.9-2-2v-2c0-1.1.9-2 2-2h2c1.1 0 2 .9 2 2v2zm0-10.3c0 1.1-.9 2-2 2h-2c-1.1 0-2-.9-2-2v-2c0-1.1.9-2 2-2h2c1.1 0 2 .9 2 2v2zm0-10.2c0 1.1-.9 2-2 2h-2c-1.1 0-2-.9-2-2v-2c0-1.1.9-2 2-2h2c1.1 0 2 .9 2 2v2zm0-10.2c0 1.1-.9 2-2 2h-2c-1.1 0-2-.9-2-2v-2c0-1.1.9-2 2-2h2c1.1 0 2 .9 2 2v2zm11 0c0 1.1-.9 2-2 2h-2c-1.1 0-2-.9-2-2v-2c0-1.1.9-2 2-2h2c1.1 0 2 .9 2 2v2z\"}]},\naction_list_component:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M48.2 63.9h29.9c1.1 0 2 .9 2 2v4c0 1.1-.9 2-2 2H48.2c-1.1 0-2-.9-2-2v-4c0-1.1.9-2 2-2zM48.2 46h29.9c1.1 0 2 .9 2 2v4c0 1.1-.9 2-2 2H48.2c-1.1 0-2-.9-2-2v-4c0-1.1.9-2 2-2zM48.2 28.2h29.9c1.1 0 2 .9 2 2v4c0 1.1-.9 2-2 2H48.2c-1.1 0-2-.9-2-2v-4c0-1.1.9-2 2-2zM29 28.2c-2.2 0-4 1.8-4 4s1.8 4 4 4 4-1.8 4-4-1.8-4-4-4zM29 63.9c-2.2 0-4 1.8-4 4s1.8 4 4 4 4-1.8 4-4-1.8-4-4-4zM29 41c-5 0-9 4-9 9s4 9 9 9 9-4 9-9-4-9-9-9zm0 12c-1.7 0-3-1.4-3-3 0-1.7 1.4-3 3-3s3 1.4 3 3c0 1.7-1.3 3-3 3z\"}},\nactions_and_buttons:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M48.3 74.5c1 0 1.8-.8 1.8-1.8l.1-20.8c.1-1-.8-1.8-1.6-1.9H27.4c-1-.1-1.8.8-1.9 1.6v4.1c-.1 1 .8 1.8 1.6 1.9H34c.7 0 1.3.6 1.3 1.3 0 .3-.1.7-.3.9l-14 14c-.8.8-.8 2.1-.1 2.8l2.7 2.7c.8.7 2 .6 2.8-.1l14.1-14.1c.5-.5 1.3-.5 1.8 0 .2.2.4.5.3.9v6.6c-.1 1 .8 1.8 1.6 1.9h4.1z\"},{\"d\":\"M55.7 77.7c5.7-1 11.2-3.7 15.6-8 11.3-11.3 11.3-29.7 0-41s-29.7-11.3-41 0c-4.4 4.4-7 9.8-8 15.5h5.9c.9-4.2 3-8.1 6.2-11.4 9-9 23.8-9 32.8 0s9 23.8 0 32.8c-3.2 3.2-7.2 5.3-11.3 6.2l-.2 5.9zm.3-11.9c2.6-.8 5.1-2.2 7.1-4.3 6.8-6.8 6.8-17.8 0-24.6s-17.8-6.8-24.6 0c-2.1 2.1-3.5 4.6-4.3 7.2h6.2c.5-1.2 1.3-2.2 2.2-3.2 4.5-4.5 11.9-4.5 16.4 0s4.5 11.9 0 16.4c-.9.9-1.9 1.6-3 2.2v6.3z\"}]},\nactivation_target:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M75 20.37H57.81a5 5 0 00-5 5v17a5 5 0 005 5H75a5 5 0 005-5v-17a5 5 0 00-5-5zm-1 6v15H58.82v-15zM28 51a1.64 1.64 0 00-1.56 1.71l-.08 3.51A1.64 1.64 0 0028 57.83h6.2a1.08 1.08 0 01.82.33 1.18 1.18 0 01.08 1.71L20.54 74.34a1.68 1.68 0 00-.09 2.37l2.47 2.45a2.12 2.12 0 002.55.08l14.68-14.55a.88.88 0 01.58-.25 1.28 1.28 0 011.4 1.06l.08 5.22a1.64 1.64 0 001.64 1.63l3.54.09A1.65 1.65 0 0049 70.8v-18a1.65 1.65 0 00-1.65-1.64z\"}}},\nactivations:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M78 60a2 2 0 012 2v16a2 2 0 01-2 2H62a2 2 0 01-2-2V62a2 2 0 012-2zM40.2 26.9l12.9.2a1.16 1.16 0 011.2 1.2l.2 12.9a1.16 1.16 0 01-1.2 1.2H51a1.16 1.16 0 01-1.2-1.2l-.1-4a.77.77 0 00-1.3-.6l-7.9 7.9A10.32 10.32 0 0142 50a11.07 11.07 0 01-1.9 6.2l8.3 8.3a.77.77 0 001.3-.6l.1-4a1.16 1.16 0 011.2-1.2l2.4-.1a1.16 1.16 0 011.2 1.2l-.2 12.9a1.16 1.16 0 01-1.2 1.2l-12.9.2a1.16 1.16 0 01-1.2-1.2v-2.3a1.16 1.16 0 011.2-1.2l4-.1a.77.77 0 00.6-1.3l-8.4-8.4A11.24 11.24 0 0131 61a11 11 0 116.2-20.1l7.8-7.8a.77.77 0 00-.6-1.3l-4-.1a1.16 1.16 0 01-1.2-1.2l-.1-2.4a1.08 1.08 0 011.1-1.2zM74 66h-8v8h8zM31 45a5 5 0 105 5 5 5 0 00-5-5zm47-25a2 2 0 012 2v16a2 2 0 01-2 2H62a2 2 0 01-2-2V22a2 2 0 012-2zm-4 6h-8v8h8z\"}},\naddress:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M49 18.92a23.74 23.74 0 00-23.73 23.85c0 16.48 17 31.59 22.23 35.59a2.45 2.45 0 003.12 0c5.24-4.12 22.1-19.11 22.1-35.59A23.74 23.74 0 0049 18.92zm0 33.71a10 10 0 1110-10 10 10 0 01-10 10z\"}},\nagent_home:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M50.93 20.37l28.71 28.77a1.48 1.48 0 01.29 1.4c-.1.5-.79.8-1.29.8h-6.28v27.45c0 .8-.5 1.2-1.3 1.2H28.81a1.18 1.18 0 01-1.29-1V51.34h-6.29a1 1 0 01-1.09-.8 1.09 1.09 0 01.3-1.4l28.7-28.77a1.27 1.27 0 011.79 0zM40.39 65h-5.3A1.11 1.11 0 0034 66.09v6.8a1.11 1.11 0 001.1 1.1h5.3a1.1 1.1 0 001.1-1.1v-6.8A1.09 1.09 0 0040.39 65zm12-9h-5.3A1.11 1.11 0 0046 57.1v15.79a1.11 1.11 0 001.1 1.1h5.3a1.1 1.1 0 001.1-1.1V57.1a1.1 1.1 0 00-1.11-1.1zm12-9h-5.3A1.11 1.11 0 0058 48.1v24.79a1.11 1.11 0 001.1 1.1h5.3a1.1 1.1 0 001.1-1.1V48.1a1.1 1.1 0 00-1.11-1.1z\",\"fill-rule\":\"evenodd\"}},\nagent_session:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M49.2 21.7c-16.6 0-30 12.5-30 28 0 5 1.4 9.6 3.8 13.7.3.5.4 1.1.2 1.6l-2.8 8.9c-.5 1.6 1 3 2.6 2.5l8.8-3.1c.6-.2 1.2-.1 1.7.2 4.6 2.7 10 4.2 15.8 4.2 16.6 0 30-12.5 30-28-.2-15.5-13.6-28-30.1-28zM41 62.1c0 .6-.5 1.1-1.1 1.1h-5.3c-.6 0-1.1-.5-1.1-1.1v-6.8c0-.6.5-1.1 1.1-1.1h5.3c.6 0 1.1.5 1.1 1.1v6.8zm12 0c0 .6-.5 1.1-1.1 1.1h-5.3c-.6 0-1.1-.5-1.1-1.1V46.3c0-.6.5-1.1 1.1-1.1h5.3c.6 0 1.1.5 1.1 1.1v15.8zm12 0c0 .6-.5 1.1-1.1 1.1h-5.3c-.6 0-1.1-.5-1.1-1.1V37.3c0-.6.5-1.1 1.1-1.1h5.3c.6 0 1.1.5 1.1 1.1v24.8z\"}},\naggregation_policy:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M79.13 71.32l-9.26-9.19a4.19 4.19 0 00-.34-.28V58h4.91a1 1 0 00.78-1.64l-7.93-9.44-.13-.13a1 1 0 00-1.41.14l-7.91 9.44a1 1 0 00-.23.65 1 1 0 001 1h4.92v3.49a2.85 2.85 0 00-.92.63l-9.25 9.19a3 3 0 000 4.24 3 3 0 004.24 0l5.9-5.87V77a3 3 0 006 0v-6.73l5.32 5.29a3 3 0 004.24 0 3 3 0 00.07-4.24zM37.12 20H26a6 6 0 00-6 6v9a6 6 0 006 6h11.12a6 6 0 006-6v-9a6 6 0 00-6-6zm-4.54 15h-2a4.5 4.5 0 010-9h2a4.5 4.5 0 010 9zM66.31 41a6 6 0 006-6v-9a6 6 0 00-6-6H55.24a6 6 0 00-6 6v9a6 6 0 006 6zm-6.53-15h2a4.5 4.5 0 010 9h-2a4.5 4.5 0 010-9zM37.12 47H26a6 6 0 00-6 6v9a6 6 0 006 6h11.12a6 6 0 006-6v-9a6 6 0 00-6-6zm-4.54 15h-2a4.5 4.5 0 010-9h2a4.5 4.5 0 010 9z\",\"fill-rule\":\"evenodd\"}},\nall:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M57 44.5c-1.5 0-2.7-1.2-2.7-2.7V24.5c0-1.5 1.2-2.7 2.7-2.7h17.6c1.5 0 2.7 1.2 2.7 2.7v17.3c0 1.5-1.2 2.7-2.7 2.7H57zM64.6 54.7L54.3 65.8c-.6.6-.6 1.7 0 2.3l10.3 11.1c.7.7 1.8.7 2.5 0l10.3-11.1c.6-.6.6-1.7 0-2.3L67.1 54.7c-.7-.7-1.9-.7-2.5 0z\"},{\"d\":\"M23.6 25.7l8.9-5.1c.8-.5 1.8-.5 2.7 0l8.9 5.1c.8.5 1.3 1.4 1.3 2.3v10.2c0 .9-.5 1.8-1.3 2.3l-8.9 5.1c-.8.5-1.8.5-2.7 0l-8.9-5.1c-.8-.5-1.4-1.4-1.4-2.3V28c0-1 .6-1.9 1.4-2.3z\"}],\"circle\":{\"cx\":\"33.8\",\"cy\":\"66.6\",\"r\":\"11.6\"}},\nannouncement:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M46 74.3L44.4 73c-1.8-1.2-1.8-3.7-1.8-5v-3.6c0-1-.9-1.9-1.9-1.9h-7.5c-1 0-1.9.9-1.9 1.9V74c0 3.4 2 6 5.1 6h6.2c3.6 0 3.9-2.5 3.9-2.5s.6-2.2-.5-3.2zM74 40.1v-17-.1c0-3-3.8-3.9-5.8-1.9L57 31.6c-1.8 1.5-4 2.1-6.3 2.1h-19c-6.6.1-11.7 5.7-11.7 12.2v.2c0 6.5 5.1 11.4 11.7 11.4h19.1c2.4 0 4.6 1 6.4 2.5l11 10.7c2 2 5.8 1.2 5.8-1.7V52c3.8 0 6-2.6 6-6 0-3.3-2.3-5.9-6-5.9z\"}}},\nanswer_best:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M49.5 21.5c-16.6 0-30 12.5-30 28 0 5 1.4 9.6 3.8 13.7.3.5.4 1.1.2 1.6l-2.8 8.9c-.5 1.6 1 3 2.6 2.5l8.8-3.1c.6-.2 1.2-.1 1.7.2 4.6 2.7 10 4.2 15.8 4.2 16.6 0 30-12.5 30-28-.1-15.5-13.5-28-30.1-28zm14.4 21.8L48.6 58.6c-.6.6-1.3.9-2.1.9s-1.5-.3-2.1-.9L37 51.2c-.6-.6-.6-1.5 0-2.1l2.1-2.1c.6-.6 1.5-.6 2.1 0l5.3 5.3 13.2-13.2c.6-.6 1.5-.6 2.1 0l2.1 2.1c.6.6.6 1.6 0 2.1z\"},{\"fill-opacity\":\".65\",\"d\":\"M100 100V62l-38 38h38zm-4.2-13.5l-3.1 3.2c-.1.1-.1.2-.1.3l.7 4.5c.1.3-.3.6-.5.4L89 92.8c-.1-.1-.2-.1-.3 0l-4 2.1c-.3.1-.6-.1-.5-.4l.7-4.5c0-.1 0-.3-.1-.3l-3.1-3.2c-.2-.3-.1-.6.2-.7l4.3-.7c.1 0 .2-.1.3-.2l1.9-4.1c.1-.3.5-.3.7 0l1.9 4.1c.1.1.2.2.3.2l4.3.7c.4 0 .4.4.2.7z\"}]},\nanswer_private:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"fill-opacity\":\".65\",\"d\":\"M89 84c-1.1 0-2 .9-2 2v1h4v-1c0-1.1-.9-2-2-2z\"},{\"fill-opacity\":\".65\",\"d\":\"M100 100V62l-38 38h38zm-5-6.5c0 .8-.7 1.5-1.5 1.5h-9c-.8 0-1.5-.7-1.5-1.5v-5c0-.8.7-1.5 1.5-1.5h.5v-1c0-2.2 1.8-4 4-4s4 1.8 4 4v1h.5c.8 0 1.5.7 1.5 1.5v5z\"},{\"d\":\"M49.9 22c-16.6 0-30 12.5-30 28 0 5 1.4 9.6 3.8 13.7.3.5.4 1.1.2 1.6l-2.8 8.9c-.5 1.6 1 3 2.6 2.5l8.8-3.1c.6-.2 1.2-.1 1.7.2 4.6 2.7 10 4.2 15.8 4.2 16.6 0 30-12.5 30-28-.1-15.5-13.4-28-30.1-28zm14.5 21.8L49.1 59.1c-.6.6-1.3.9-2.1.9s-1.5-.3-2.1-.9l-7.4-7.4c-.6-.6-.6-1.5 0-2.1l2.1-2.1c.6-.6 1.5-.6 2.1 0l5.3 5.3 13.2-13.2c.6-.6 1.5-.6 2.1 0l2.1 2.1c.5.6.5 1.6 0 2.1z\"}]},\nanswer_public:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M50 22c-16.6 0-30 12.5-30 28 0 5 1.4 9.6 3.8 13.7.3.5.4 1.1.2 1.6l-2.8 8.9c-.5 1.6 1 3 2.6 2.5l8.8-3.1c.6-.2 1.2-.1 1.7.2 4.6 2.7 10 4.2 15.8 4.2 16.6 0 30-12.5 30-28C80 34.5 66.6 22 50 22zm14.4 21.8L49.1 59.1c-.6.6-1.3.9-2.1.9s-1.5-.3-2.1-.9l-7.4-7.4c-.6-.6-.6-1.5 0-2.1l2.1-2.1c.6-.6 1.5-.6 2.1 0l5.3 5.3 13.2-13.2c.6-.6 1.5-.6 2.1 0l2.1 2.1c.6.6.6 1.6 0 2.1z\"}},\napex:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M78 67.5H44.4c-1 0-1.9.9-1.9 1.9v3.7c0 1 .9 1.9 1.9 1.9H78c1 0 1.9-.9 1.9-1.9v-3.7c0-1.1-.9-1.9-1.9-1.9zM49.2 44.8L25.1 25.4c-.7-.6-1.9-.5-2.5.4l-2.1 3c-.6.9-.4 2 .4 2.6L38 45.1c.6.5.6 1.5 0 2L20.8 60.9c-.7.6-1 1.9-.4 2.6l2.1 3.2c.6.9 1.7 1 2.5.4l24.2-19.3c1-.8 1-2.3 0-3z\"}},\napex_plugin:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M50.2 40l14-14c.7-.7.7-1.9 0-2.6l-3-3c-.7-.7-1.9-.7-2.6 0l-14 14 5.6 5.6zM65.6 55.8l14-14c.7-.7.7-1.9 0-2.6l-3-3c-.7-.7-1.9-.7-2.6 0l-14 14 5.6 5.6zM63.6 67.4c.2-.3.4-.6.5-1 .1-.5 0-1-.3-1.4-.1-.1-.1-.2-.2-.3l-.1-.1-28.2-28.2-.1-.1c-.3-.4-.9-.5-1.3-.5-.6 0-1 .3-1.4.6-.3.2-.5.4-.7.7-.2.2-.3.3-.4.5-.2.2-.3.4-.5.6-.2.3-.4.5-.5.8-.2.3-.4.6-.5 1-.2.4-.4.8-.6 1.1-.2.4-.4.9-.5 1.3-.2.5-.4 1-.5 1.5-.2.6-.3 1.2-.5 1.7-.2.7-.3 1.3-.4 2-.1.7-.3 1.5-.4 2.2l-.3 2.4c-.1.9-.1 1.8-.2 2.7v3c0 1.1 0 2.2.1 3.3.1 1.2.1 2.4.2 3.6 0 .3.1.7.1 1h.2l-6.5 6.5c-.7.7-.7 1.9 0 2.6l4.6 4.6c.7.7 1.9.7 2.6 0l6.5-6.5c2.3.2 4.7.4 7.1.4 2 0 3.9 0 5.9-.2 1.6-.1 3.2-.3 4.8-.6 1.3-.2 2.6-.5 3.8-.9 1-.3 2-.7 2.9-1.1.7-.3 1.5-.7 2.1-1.1.9-.6 1.8-1.2 2.5-2 0 .1.1 0 .2-.1z\"}},\napp:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M62 28H31.5c-1.7 0-3.1 1.4-3.1 3.1v30.5h-4.6c-2.1 0-3.8-1.7-3.8-3.8V23.3c0-2.1 1.7-3.8 3.8-3.8h34.5c2.1 0 3.8 1.7 3.8 3.8V28z\"},{\"d\":\"M41.8 37.6h34.5c2.1 0 3.8 1.7 3.8 3.8v34.5c0 2.1-1.7 3.8-3.8 3.8H41.8c-2.1 0-3.8-1.7-3.8-3.8V41.3c0-2 1.7-3.7 3.8-3.7z\"}]},\napproval:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M74 54H63c-3.3 0-6-2.7-6-6 .5-8.9 4.6-9.4 5-15.1.4-6-3.4-11.4-9.3-12.7C44.9 18.6 38 24.5 38 32c0 6.6 4.5 6.6 5 16 0 3.3-2.7 6-6 6H26c-3.3 0-6 2.7-6 6v4c0 1.1.9 2 2 2h56c1.1 0 2-.9 2-2v-4c0-3.3-2.7-6-6-6zM74.1 72H25.9c-1.1 0-1.9.9-1.9 1.9v.1c0 3.3 2.7 6 6 6h40.1c3.3 0 5.9-2.7 5.9-6v-.1c0-1-.9-1.9-1.9-1.9z\"}},\napps:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M32 20h-8c-2.2 0-4 1.8-4 4v8c0 2.2 1.8 4 4 4h8c2.2 0 4-1.8 4-4v-8c0-2.2-1.8-4-4-4zM54 20h-8c-2.2 0-4 1.8-4 4v8c0 2.2 1.8 4 4 4h8c2.2 0 4-1.8 4-4v-8c0-2.2-1.8-4-4-4zM76 20h-8c-2.2 0-4 1.8-4 4v8c0 2.2 1.8 4 4 4h8c2.2 0 4-1.8 4-4v-8c0-2.2-1.8-4-4-4zM32 42h-8c-2.2 0-4 1.8-4 4v8c0 2.2 1.8 4 4 4h8c2.2 0 4-1.8 4-4v-8c0-2.2-1.8-4-4-4zM54 42h-8c-2.2 0-4 1.8-4 4v8c0 2.2 1.8 4 4 4h8c2.2 0 4-1.8 4-4v-8c0-2.2-1.8-4-4-4zM76 42h-8c-2.2 0-4 1.8-4 4v8c0 2.2 1.8 4 4 4h8c2.2 0 4-1.8 4-4v-8c0-2.2-1.8-4-4-4zM32 64h-8c-2.2 0-4 1.8-4 4v8c0 2.2 1.8 4 4 4h8c2.2 0 4-1.8 4-4v-8c0-2.2-1.8-4-4-4zM54 64h-8c-2.2 0-4 1.8-4 4v8c0 2.2 1.8 4 4 4h8c2.2 0 4-1.8 4-4v-8c0-2.2-1.8-4-4-4zM76 64h-8c-2.2 0-4 1.8-4 4v8c0 2.2 1.8 4 4 4h8c2.2 0 4-1.8 4-4v-8c0-2.2-1.8-4-4-4z\"}},\napps_admin:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M73 21H27c-3.3 0-6 2.7-6 6v46c0 3.3 2.7 6 6 6h46c3.3 0 6-2.7 6-6V27c0-3.3-2.7-6-6-6zm-2 52H29c-1.1 0-2-.9-2-2V29c0-1.1.9-2 2-2h42c1.1 0 2 .9 2 2v42c0 1.1-.9 2-2 2z\"},{\"d\":\"M45 33H35c-1.1 0-2 .9-2 2v10c0 1.1.9 2 2 2h10c1.1 0 2-.9 2-2V35c0-1.1-.9-2-2-2zM65 33H55c-1.1 0-2 .9-2 2v10c0 1.1.9 2 2 2h10c1.1 0 2-.9 2-2V35c0-1.1-.9-2-2-2zM45 53H35c-1.1 0-2 .9-2 2v10c0 1.1.9 2 2 2h10c1.1 0 2-.9 2-2V55c0-1.1-.9-2-2-2zM65 53H55c-1.1 0-2 .9-2 2v10c0 1.1.9 2 2 2h10c1.1 0 2-.9 2-2V55c0-1.1-.9-2-2-2z\"}]},\narticle:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M32 59h13c1.1 0 2-.9 2-2V27c0-2.2-2-4-4-4H32.3C31 23 30 24 30 25.3V57c0 1.1.9 2 2 2z\"},{\"d\":\"M76 29v32c0 2.2-1.8 4-4 4H28c-2.2 0-4-1.8-4-4V29c-3.3 0-6 2.7-6 6v30c0 3.3 2.7 6 6 6h19c1.1 0 2 .9 2 2s.9 2 2 2h6c1.1 0 2-.9 2-2s.9-2 2-2h19c3.3 0 6-2.7 6-6V35c0-3.3-2.7-6-6-6z\"},{\"d\":\"M55 59h12.7c1.3 0 2.3-1 2.3-2.3V25c0-1.1-.9-2-2-2H57c-2 0-4 1.8-4 4v30c0 1.1.9 2 2 2z\"}]},\nasset_action:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M64.2 72.4a3.74 3.74 0 01-3.7-3.9v-2.1a3.49 3.49 0 011-3.1l11.6-11.6V26.8a2.43 2.43 0 00-2.4-2.4H29.3a2.43 2.43 0 00-2.4 2.4v41.5a2.43 2.43 0 002.4 2.4h5.3v2.5a2.43 2.43 0 002.4 2.4h2.8a2.43 2.43 0 002.4-2.4v-2.5H58v2.5a2.43 2.43 0 002.4 2.4h2.8a2.43 2.43 0 002.4-2.4v-.8zM36.3 36.8a.84.84 0 01.9-.9h25.7a.84.84 0 01.9.9v.9a.84.84 0 01-.9.9H37.1a.84.84 0 01-.9-.9v-.9zm27.2 4.3V54a.84.84 0 01-.9.9h-1.7a.84.84 0 01-.9-.9V41.1a.84.84 0 01.9-.9h1.7q.9.15.9.9zm-5.9 0V54a.9.9 0 01-1.8 0V41.1a.84.84 0 01.9-.9q.9.15.9.9zm-3.3 0V54a.84.84 0 01-.9.9H50a.84.84 0 01-.9-.9V41.1a.84.84 0 01.9-.9h3.4c.5.1.9.4.9.9zm-7.7 0V54a.84.84 0 01-.9.9H44a.84.84 0 01-.9-.9V41.1a.84.84 0 01.9-.9h1.7c.5.1.9.4.9.9zm-10.3 0a.84.84 0 01.9-.9h3.4a.84.84 0 01.9.9V54a.84.84 0 01-.9.9h-3.4a.84.84 0 01-.9-.9zm.8 17.9a.84.84 0 01-.9-.9v-.9a.84.84 0 01.9-.9h25.7a.84.84 0 01.9.9v.9a.84.84 0 01-.9.9z\"},{\"d\":\"M79 54.7l-.9-.9a1.57 1.57 0 00-2.2 0L64 65.7c-.1.1 0 .2 0 .3v2.5c0 .2 0 .4.2.4h2.6c.1 0 .2-.1.3-.1L79 57a1.52 1.52 0 000-2.3z\"}]},\nasset_action_source:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M52.1 67.9A15.27 15.27 0 0155 59H37.1a.84.84 0 01-.9-.9v-.9a.84.84 0 01.9-.9h20.2a15.35 15.35 0 012.9-2.1c-.1-.1-.1-.2-.1-.4V41.1a.84.84 0 01.9-.9h1.7a.84.84 0 01.9.9V53a14.3 14.3 0 019.6.5V26.8a2.43 2.43 0 00-2.4-2.4H29.3a2.43 2.43 0 00-2.4 2.4v41.5a2.43 2.43 0 002.4 2.4h5.3v2.5a2.43 2.43 0 002.4 2.4h2.8a2.43 2.43 0 002.4-2.4v-2.5h10.3a8.63 8.63 0 01-.4-2.8zM46.6 54a.84.84 0 01-.9.9H44a.84.84 0 01-.9-.9V41.1a.84.84 0 01.9-.9h1.7a.84.84 0 01.9.9zm7.7 0a.84.84 0 01-.9.9H50a.84.84 0 01-.9-.9V41.1a.84.84 0 01.9-.9h3.4a.84.84 0 01.9.9zm3.3 0a.9.9 0 01-1.8 0V41.1a.9.9 0 111.8 0zM36.3 36.8a.84.84 0 01.9-.9h25.7a.84.84 0 01.9.9v.9a.84.84 0 01-.9.9H37.1a.84.84 0 01-.9-.9v-.9zm0 4.3a.84.84 0 01.9-.9h3.4a.84.84 0 01.9.9V54a.84.84 0 01-.9.9h-3.4a.84.84 0 01-.9-.9z\"},{\"d\":\"M67.6 55.9a12.12 12.12 0 00-12.1 12 12 12 0 0011.9 12 12 12 0 10.2-24zm8 12.5l-5.3 5.4a.67.67 0 01-1 0 11 11 0 01-1-1.1.67.67 0 010-1l1.6-1.7a.45.45 0 00-.3-.8h-9.7a.75.75 0 01-.7-.7V67a.68.68 0 01.7-.7h9.7a.46.46 0 00.3-.8L68.3 64a.67.67 0 010-1l1-1a.67.67 0 011 0l5.3 5.5a.56.56 0 010 .9z\"}]},\nasset_downtime_period:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M50.4 67.8a15.55 15.55 0 012.1-8.8H37.1a.84.84 0 01-.9-.9v-.9a.84.84 0 01.9-.9h17.3a15.37 15.37 0 011.9-1.7.84.84 0 01-.4-.7V41.1a.9.9 0 111.8 0v12.7a11.51 11.51 0 012.5-1.2V41.1a.84.84 0 01.9-.9h1.7a.84.84 0 01.9.9v10.7c.2 0 .5-.1.7-.1a15.88 15.88 0 018.9 2.1v-27a2.43 2.43 0 00-2.4-2.4H29.3a2.43 2.43 0 00-2.4 2.4v41.5a2.43 2.43 0 002.4 2.4h5.3v2.5a2.43 2.43 0 002.4 2.4h2.8a2.43 2.43 0 002.4-2.4v-2.5h8.7a9.29 9.29 0 01-.5-2.9zM46.6 54a.84.84 0 01-.9.9H44a.84.84 0 01-.9-.9V41.1a.84.84 0 01.9-.9h1.7a.84.84 0 01.9.9zm7.7 0a.84.84 0 01-.9.9H50a.84.84 0 01-.9-.9V41.1a.84.84 0 01.9-.9h3.4a.84.84 0 01.9.9zm-18-17.2a.84.84 0 01.9-.9h25.7a.84.84 0 01.9.9v.9a.84.84 0 01-.9.9H37.1a.84.84 0 01-.9-.9v-.9zm0 4.3a.84.84 0 01.9-.9h3.4a.84.84 0 01.9.9V54a.84.84 0 01-.9.9h-3.4a.84.84 0 01-.9-.9z\"},{\"d\":\"M64.7 60.9h1.2a.65.65 0 01.6.6v5.4c0 .2-.1.3-.2.5l-3.5 3.5a.75.75 0 01-.9 0l-.7-.9a.75.75 0 010-.9l2.9-2.9v-4.7a.58.58 0 01.6-.6zm14.1 5.4H77v-.4a11.58 11.58 0 10-11.7 12.4 11.47 11.47 0 008.6-3.6c.2-.2.4-.4.2-.6l-1-1.2a.56.56 0 00-.9 0 9.17 9.17 0 01-7.7 2.9 9.55 9.55 0 01-8.1-8 9.1 9.1 0 0118.1-1.9v.4h-1.8a.65.65 0 00-.6.6c0 .2 0 .3.1.4l3.1 3.8a.67.67 0 001 0l3.1-3.8a.75.75 0 000-.9 1.49 1.49 0 00-.6-.1z\"}]},\nasset_object:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M74.2 20.2H25.8A2.86 2.86 0 0023 23v48.4a2.86 2.86 0 002.8 2.8H32V77a2.86 2.86 0 002.8 2.8H38a2.86 2.86 0 002.8-2.8v-2.9h18.4V77a2.86 2.86 0 002.8 2.8h3.2A2.86 2.86 0 0068 77v-2.9h6.2a2.86 2.86 0 002.8-2.8V23a2.86 2.86 0 00-2.8-2.8zM34 39.6a.94.94 0 011-1h4a.94.94 0 011 1v15a.94.94 0 01-1 1h-4a.94.94 0 01-1-1zm32 19.9a.94.94 0 01-1 1H35a.94.94 0 01-1-1v-1a.94.94 0 011-1h30a.94.94 0 011 1zm-24-4.9v-15a.94.94 0 011-1h2a.94.94 0 011 1v15a.94.94 0 01-1 1h-2a.94.94 0 01-1-1zm7 0v-15a.94.94 0 011-1h4a.94.94 0 011 1v15a.94.94 0 01-1 1h-4a.94.94 0 01-1-1zm7.9 0v-15a1 1 0 012 0v15a1 1 0 01-2 0zm4.9 0v-15a.94.94 0 011-1h2a.94.94 0 011 1v15a.94.94 0 01-1 1h-2a.94.94 0 01-1-1zm4.2-19a.94.94 0 01-1 1H35a.94.94 0 01-1-1v-1a.94.94 0 011-1h30a.94.94 0 011 1z\"}},\nasset_relationship:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M72.8 54.7v-.4c0-9-5.3-16.8-12.9-20.6v-.9c0-5.5-4.5-10-10-10s-10 4.5-10 10v.9C32.3 37.4 27 45.3 27 54.3v.4c-4.1 1.2-7.2 5-7.2 9.6 0 5.5 4.5 10 10 10 2.2 0 4.3-.7 6-2 3.9 3 8.8 4.9 14 4.9s10.1-1.8 14-4.9c1.7 1.2 3.7 2 6 2 5.5 0 10-4.5 10-10 .2-4.5-2.8-8.4-7-9.6zM38.9 68.8c.7-1.4 1.1-2.9 1.1-4.5 0-4.9-3.6-9-8.3-9.8v-.2c0-7 4-13.1 9.8-16.2 1.8 2.8 4.9 4.7 8.5 4.7s6.7-1.9 8.5-4.7c5.8 3.1 9.8 9.2 9.8 16.2v.2c-4.7.8-8.3 4.9-8.3 9.8 0 1.6.4 3.1 1.1 4.5-3.1 2.4-6.9 3.8-11.1 3.8s-8-1.5-11.1-3.8z\"}},\nasset_state_period:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M52.1 67.9A15.27 15.27 0 0155 59H37.1a.84.84 0 01-.9-.9v-.9a.84.84 0 01.9-.9h20.2a15.35 15.35 0 012.9-2.1c-.1-.1-.1-.2-.1-.4V41.1a.84.84 0 01.9-.9h1.7a.84.84 0 01.9.9V53a14.3 14.3 0 019.6.5V26.8a2.43 2.43 0 00-2.4-2.4H29.3a2.43 2.43 0 00-2.4 2.4v41.5a2.43 2.43 0 002.4 2.4h5.3v2.5a2.43 2.43 0 002.4 2.4h2.8a2.43 2.43 0 002.4-2.4v-2.5h10.3a8.63 8.63 0 01-.4-2.8zM46.6 54a.84.84 0 01-.9.9H44a.84.84 0 01-.9-.9V41.1a.84.84 0 01.9-.9h1.7a.84.84 0 01.9.9zm7.7 0a.84.84 0 01-.9.9H50a.84.84 0 01-.9-.9V41.1a.84.84 0 01.9-.9h3.4a.84.84 0 01.9.9zm3.3 0a.9.9 0 01-1.8 0V41.1a.9.9 0 111.8 0zM36.3 36.8a.84.84 0 01.9-.9h25.7a.84.84 0 01.9.9v.9a.84.84 0 01-.9.9H37.1a.84.84 0 01-.9-.9v-.9zm0 4.3a.84.84 0 01.9-.9h3.4a.84.84 0 01.9.9V54a.84.84 0 01-.9.9h-3.4a.84.84 0 01-.9-.9z\"},{\"d\":\"M69.1 68.1a1.42 1.42 0 01-.2-.6v-4.8a.77.77 0 00-.7-.8h-1.5a.77.77 0 00-.7.8v6a1.42 1.42 0 00.2.6l3.7 3.7a.67.67 0 001 0l1.1-1.1a.78.78 0 000-1.1zm-1.6-12.2a12 12 0 00.2 24 12 12 0 0011.9-12 12.12 12.12 0 00-12.1-12zm0 21a9 9 0 119-9 8.94 8.94 0 01-9 9z\"}]},\nasset_warranty:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M66 51c1.77 0 3.17 1.92 4.72 2.58s4 .3 5.17 1.55.89 3.55 1.56 5.17S80 63.23 80 65s-1.92 3.18-2.58 4.73-.3 4-1.56 5.17-3.54.88-5.17 1.55S67.74 79 66 79s-3.18-1.92-4.73-2.58-4-.3-5.17-1.55-.88-3.55-1.55-5.17-2.58-3-2.58-4.73 1.92-3.18 2.58-4.73.3-4 1.55-5.17 3.55-.88 5.17-1.55S64.2 51 66 51zm3.58-30a2.77 2.77 0 012.71 2.71v26.78l-.26-.1c-2-.84-3.77-3.29-6-3.29-1.69 0-3.11 1.36-4.55 2.41v-9.77a.88.88 0 00-.27-.7.91.91 0 00-.7-.27H58.4a1 1 0 00-.59.27.9.9 0 00-.26.7V51a16.06 16.06 0 00-2.81.58V39.74a1 1 0 10-1.93 0v13.31a11.63 11.63 0 00-1 4H31.5a1 1 0 00-.59.27.87.87 0 00-.26.7v1.08a1 1 0 00.27.59.91.91 0 00.7.27h19.2c-1.06 1.6-2.75 3.15-2.75 5 0 2.26 2.45 4 3.3 6a9.64 9.64 0 01.53 2.1H37.23v2.81a2.77 2.77 0 01-2.71 2.7h-3.1a2.76 2.76 0 01-2.71-2.7v-2.64h-6A2.78 2.78 0 0120 70.52V23.68A2.77 2.77 0 0122.71 21h46.84zm1.62 39.42a.71.71 0 00-1 0l-5.47 6.24-2.48-2.52a.69.69 0 00-1 0l-1 1a.63.63 0 000 1l3.5 3.49a1.42 1.42 0 001 .45 1.3 1.3 0 001-.45l6.5-7.21a.78.78 0 000-1zM35.6 38.77h-4.1a1 1 0 00-.59.27.87.87 0 00-.26.7v14.63a1 1 0 00.27.59.91.91 0 00.7.27h3.87a.93.93 0 00.71-.27.9.9 0 00.26-.7V39.74a.9.9 0 00-.26-.7.93.93 0 00-.71-.27zm5.8 0h-2.16a1 1 0 00-.59.27.9.9 0 00-.26.7v14.63a.89.89 0 00.26.59.93.93 0 00.7.27h1.94A.91.91 0 0042 55a.88.88 0 00.27-.7V39.74A.88.88 0 0042 39a.91.91 0 00-.7-.27zm8.71 0H46a.93.93 0 00-.59.27.88.88 0 00-.27.7v14.63a.9.9 0 00.27.59.91.91 0 00.7.27H50a.93.93 0 001-1V39.74a.93.93 0 00-1-1zm10.65-4.84H31.5a1 1 0 00-.59.27.88.88 0 00-.26.7V36a.93.93 0 00.27.59.88.88 0 00.7.27h29a.91.91 0 001-1v-1a.92.92 0 00-.26-.7.89.89 0 00-.71-.26z\"}},\nassigned_resource:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M49.91 20a25.4 25.4 0 1025.18 25.5c0-13.79-11.24-25.5-25.18-25.5zm16.54 23.24L55.93 53.38c-.76.76-1.77.13-1.77-1.14v-6.08c-7.6 0-12.67 5.19-12.67 12.8h-7.6a20.12 20.12 0 0120.27-20.4v-6.21c0-1.27 1.14-1.9 1.77-1.14l10.52 10.26a1.52 1.52 0 010 1.77z\",\"fill-rule\":\"evenodd\"},{\"d\":\"M26 64.21h-1.27A4.75 4.75 0 0020 68.95v6.31A4.74 4.74 0 0024.73 80h50.54A4.75 4.75 0 0080 75.26v-6.31a4.74 4.74 0 00-4.73-4.74h-1.54a30.15 30.15 0 01-47.72 0z\",\"fill-rule\":\"evenodd\"}]},\nassignment:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M22 54.9h56c1.1 0 2 .9 2 2v4c0 1.1-.9 2-2 2H22c-1.1 0-2-.9-2-2v-4c0-1.1.9-2 2-2zM22 37.1h56c1.1 0 2 .9 2 2v4c0 1.1-.9 2-2 2H22c-1.1 0-2-.9-2-2v-4c0-1.1.9-2 2-2z\"}},\navatar:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M80 71.2V74c0 3.3-2.7 6-6 6H26c-3.3 0-6-2.7-6-6v-2.8c0-7.3 8.5-11.7 16.5-15.2.3-.1.5-.2.8-.4.6-.3 1.3-.3 1.9.1C42.4 57.8 46.1 59 50 59c3.9 0 7.6-1.2 10.8-3.2.6-.4 1.3-.4 1.9-.1.3.1.5.2.8.4 8 3.4 16.5 7.8 16.5 15.1z\"},\"ellipse\":{\"cx\":\"50\",\"cy\":\"36.5\",\"rx\":\"14.9\",\"ry\":\"16.5\"}},\navatar_loading:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"opacity\":\".5\",\"path\":{\"d\":\"M80 71.2V74c0 3.3-2.7 6-6 6H26c-3.3 0-6-2.7-6-6v-2.8c0-7.3 8.5-11.7 16.5-15.2.3-.1.5-.2.8-.4.6-.3 1.3-.3 1.9.1C42.4 57.8 46.1 59 50 59s7.6-1.2 10.8-3.2c.6-.4 1.3-.4 1.9-.1.3.1.5.2.8.4 8 3.4 16.5 7.8 16.5 15.1z\"},\"ellipse\":{\"cx\":\"50\",\"cy\":\"36.5\",\"rx\":\"14.9\",\"ry\":\"16.5\"}}},\nbot:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M49.6 25.8c7.2 0 13 5.8 13 13v3.3c-4.3-.5-8.7-.7-13-.7-4.3 0-8.7.2-13 .7v-3.3c0-7.1 5.8-13 13-13zM73.2 63.8l1.3-11.4c2.9.5 5.1 2.9 5.1 5.6 0 3.2-2.9 5.8-6.4 5.8zM25.9 63.8c-3.5 0-6.4-2.6-6.4-5.8 0-2.8 2.2-5.1 5.1-5.6l1.3 11.4zM68.7 44.9c-6.6-.7-12.9-1-19-1s-12.5.3-19 1c-2.2.2-3.8 2.2-3.5 4.3l2 19.4c.2 1.8 1.6 3.3 3.5 3.5 5.6.7 11.3 1 17.1 1s11.5-.3 17.1-1c1.8-.2 3.3-1.7 3.5-3.5l2-19.4c0-2.2-1.5-4.1-3.7-4.3zM38.6 62.5c-1.6 0-2.8-1.6-2.8-3.7s1.3-3.7 2.8-3.7 2.8 1.6 2.8 3.7-1.2 3.7-2.8 3.7zm16.7 4.1c0 .2-.1.4-.2.5-.1.1-.3.2-.5.2h-9.9c-.2 0-.4-.1-.5-.2-.1-.1-.2-.3-.2-.5v-1.8c0-.4.3-.7.7-.7h.2c.4 0 .7.3.7.7v.9h8.1v-.9c0-.4.3-.7.7-.7h.2c.4 0 .7.3.7.7v1.8zm5.3-4.1c-1.6 0-2.8-1.6-2.8-3.7s1.3-3.7 2.8-3.7 2.8 1.6 2.8 3.7-1.2 3.7-2.8 3.7z\"}},\nbot_training:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M54.6 61c-1 .4-2 .7-3.2.8-7.3.8-13.4-4.9-13.4-12 0-1.2.2-2.4.5-3.6.2-.5.8-.6 1.1-.3l6.8 6.8c.5.5 1.3.5 1.9 0l4.8-4.8c.5-.5.5-1.3 0-1.9l-6.8-6.8c-.3-.4-.2-1 .3-1.1 1.1-.3 2.3-.5 3.5-.5 7.1 0 12.8 6.1 12 13.4-.1 1.1-.4 2.1-.8 3.2l12.6 12.6c3.9-4.6 6.2-10.5 6.2-16.8C80 34.5 66.6 22.3 50 22.3c-16.7 0-30 12.3-30 27.4 0 4.8 1.4 9.3 3.6 13.3.4.6.5 1.4.3 2.1L20 75.8c-.4 1 .6 1.9 1.6 1.6l10.9-4.1c.6-.3 1.4-.1 2.1.3 4.5 2.5 9.9 4 15.7 4 6-.1 11.6-1.8 16.3-4.6l-12-12z\"}},\nbranch_merge:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M26.5 70.5c3.4-7 9.4-12 16.3-14.5 2.6-1 5.3-1.6 7.9-1.9h4.4v13.6c0 1.1 1.2 1.7 2.2 1L78.5 51c.8-.6.8-2 0-2.5L57.3 31.2c-.8-.6-2.2 0-2.2 1v13.7h-4.4c-2.7-.3-5.5-1-7.9-1.9-6.8-2.6-12.9-7.5-16.3-14.5-.4-1-1.6-1.4-2.6-1l-3.8 1.6c-1.1.5-1.4 1.6-.8 2.7 3.6 7.6 9.4 13.5 16.2 17.2-6.9 3.7-12.6 9.6-16.2 17.3-.5 1.1-.4 2.2.8 2.7l3.8 1.6c1 .4 2.2-.1 2.6-1.1z\"}},\nbrand:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M79.4 39.1C76.5 27.2 64 20 50.2 20 33.5 20 20 33.4 20 50s13.5 30 30.3 30c23.2 0 21.4-11.8 14-16.4-4.4-2.8-6.8-9.1-2.4-13.6 8.1-8.4 21.2 5 17.5-10.9zM33.7 60c-3.5 0-6.3-2.8-6.3-6.2s2.8-6.2 6.3-6.2 6.2 2.8 6.2 6.2-2.7 6.2-6.2 6.2zM35 36.2c0-3.5 2.8-6.2 6.2-6.2 3.5 0 6.2 2.8 6.2 6.2s-2.8 6.2-6.2 6.2c-3.5.1-6.2-2.6-6.2-6.2zm13.7 36.3c-3.5 0-6.2-2.8-6.2-6.2s2.8-6.2 6.2-6.2c3.5 0 6.2 2.8 6.2 6.2s-2.7 6.2-6.2 6.2zM60 40c-3.5 0-6.2-2.8-6.2-6.2s2.8-6.2 6.2-6.2c3.5 0 6.2 2.8 6.2 6.2S63.5 40 60 40z\"}},\nbundle_config:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M37 20H26a6.07 6.07 0 00-6 6.14v10.24a6.07 6.07 0 006 6.14h11a6.07 6.07 0 006-6.14V26.13A6.07 6.07 0 0037 20zm-5 16.38h-1a5.13 5.13 0 010-10.25h1a5.13 5.13 0 110 10.25zM55 42.52h11a6.07 6.07 0 006-6.14V26.13A6.08 6.08 0 0066 20H55a6.07 6.07 0 00-6 6.14v10.24a6.07 6.07 0 006 6.14zm5-16.39h1a5.13 5.13 0 010 10.25h-1a5.13 5.13 0 010-10.25zM37 48.66H26a6.08 6.08 0 00-6 6.15V65a6.09 6.09 0 006 6.16h11A6.09 6.09 0 0043 65V54.81a6.08 6.08 0 00-6-6.15zM32 65h-1a5.12 5.12 0 010-10.19h1A5.12 5.12 0 0132 65zM79.1 61.33c-.78-.13-1.56-.13-2.35-.26a.29.29 0 01-.26-.27 26.06 26.06 0 00-1-2.53v-.4c.39-.67 1-1.34 1.43-2a1 1 0 00-.13-1.33l-2.6-2.67a1 1 0 00-.65-.26 2.16 2.16 0 00-.65.26c-.66.4-1.31 1.07-2 1.47a.13.13 0 00-.13.13h-.13c-.91-.26-1.56-.8-2.47-1.06a.27.27 0 01-.26-.27c-.13-.8-.13-1.47-.26-2.27A1.1 1.1 0 0067 48.8a.4.4 0 00-.26-.14h-3.8a1.15 1.15 0 00-.65.14c-.26.26-.66.66-.66 1.06a13.38 13.38 0 01-.26 2.27.29.29 0 01-.26.27c-.91.26-1.56.8-2.47 1.06h-.13c-.13 0-.13 0-.26-.13-.64-.52-1.31-1-2-1.47a.76.76 0 00-.65-.26c-.39 0-.39.13-.78.26l-2.6 2.67a1 1 0 00-.13 1.33c.39.67 1 1.21 1.43 2a.25.25 0 010 .35c-.26.93-.78 1.6-1 2.53a.29.29 0 01-.26.27c-.79.13-1.44.13-2.22.26a1.11 1.11 0 00-1 .8v4.55a2.13 2.13 0 001 .8 12.69 12.69 0 012.22.26.28.28 0 01.26.27c.26.93.78 1.6 1 2.53 0 .14.13.27 0 .4-.39.67-1 1.34-1.43 2a1 1 0 00.13 1.34l2.6 2.66c.26.27.39.27.78.27a2 2 0 00.65-.27 21.65 21.65 0 012-1.46c.13 0 .13-.14.26-.14h.13c.91.27 1.56.8 2.47 1.07a.27.27 0 01.26.27c.13.8.13 1.6.26 2.4s.4.93 1 .93h3.78c.66 0 .92-.27 1-.93s.13-1.6.26-2.4a.27.27 0 01.33-.22 25.57 25.57 0 002.47-1.07h.13a.13.13 0 01.13.13c.65.4 1.3 1.06 2 1.46a1 1 0 00.65.27c.26 0 .39-.13.78-.27l2.6-2.66a1.06 1.06 0 00.13-1.34c-.39-.66-1-1.2-1.43-2a.25.25 0 010-.35c.26-.93.78-1.6 1-2.53a.28.28 0 01.26-.27c.79-.13 1.57-.13 2.35-.26s.91-.4.91-1.07v-3.77c.02-.94-.23-1.2-.88-1.34zm-14.47 9.08a5.84 5.84 0 01-5.86-5.8v-.21a5.87 5.87 0 0111.73 0 6.18 6.18 0 01-5.87 6.01z\"}},\nbundle_policy:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"rect\":{\"x\":\"59.5\",\"y\":\"45.5\",\"width\":\"13\",\"height\":\"22\",\"rx\":\"2\",\"transform\":\"rotate(-45 66.003 56.5)\"},\"path\":{\"d\":\"M53.06 66.2L45.28 74a3 3 0 000 4.24 3 3 0 004.24 0l7.77-7.78a3 3 0 10-4.24-4.24zM77 74H65a3 3 0 000 6h12a3 3 0 000-6zM36 20H26a6 6 0 00-6 6v7a6 6 0 006 6h10a6 6 0 006-6v-7a6 6 0 00-6-6zm-3.5 13h-3a3.5 3.5 0 010-7h3a3.5 3.5 0 010 7zM54 39h10a6 6 0 006-6v-7a6 6 0 00-6-6H54a6 6 0 00-6 6v7a6 6 0 006 6zm3.5-13h3a3.5 3.5 0 010 7h-3a3.5 3.5 0 010-7zM36 45H26a6 6 0 00-6 6v7a6 6 0 006 6h10a6 6 0 006-6v-7a6 6 0 00-6-6zm-3.5 13h-3a3.5 3.5 0 010-7h3a3.5 3.5 0 010 7z\",\"fill-rule\":\"evenodd\"}},\nbusiness_hours:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M48.1 35.3h3.2c.9 0 1.6.7 1.6 1.6v14c0 .4-.2.8-.4 1.2l-9 9c-.6.6-1.6.6-2.2 0l-2.2-2.2c-.6-.6-.6-1.6 0-2.2l7.5-7.6V37c-.1-.8.5-1.6 1.4-1.7h.1z\"},{\"d\":\"M84.5 49.2h-4.8c0-.3-.1-.7-.1-1.1-1.3-16.4-15.6-28.7-32-27.5-16.4 1.3-28.7 15.6-27.5 32C21.3 68.1 34 80 49.5 80.2c8.4.2 16.5-3.3 22.2-9.4.5-.5 1-1 .4-1.6l-2.6-3.1c-.9-1.1-1.7-.6-2.4.1-5 5.5-12.4 8.3-19.8 7.5-10.3-1-19.9-10.6-21-20.7-1.3-12.9 8.1-24.5 21-25.8s24.5 8.1 25.8 21H73c.1.4.1.7.1 1.1h-4.7c-.9 0-1.6.7-1.6 1.6 0 .4.1.7.3 1l8 9.7c.7.7 1.8.7 2.5 0l8-9.7c.6-.6.6-1.6 0-2.2-.3-.3-.7-.5-1.1-.5z\"}]},\nbuyer_account:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M61.8 65.5h13.3c.4 0 .8-.3.8-.7l2.4-8.6c.2-.6-.3-1.1-.8-1.1H57l-.3-1.3c-.2-.6-.7-1-1.3-1h-2.2c-.7 0-1.4.6-1.4 1.3-.1.8.6 1.4 1.3 1.4h1.3l1.2 4 3 10.3c.2.6.7 1 1.3 1h15.6c.7 0 1.4-.6 1.4-1.3.1-.8-.6-1.4-1.3-1.4H61.8c-.6 0-1.1-.4-1.3-.9v-.1c-.2-.8.4-1.6 1.3-1.6z\"},{\"d\":\"M61.1 19.9h-39c-2.2 0-2.5 2.3-2.5 2.5v49.5c.1 1.3.9 3.3 4.4 3.3h28.3c3.2 0 3-2.1 2.8-2.9L55 72l-.3-1.1-.2-.6L51.4 60c-.2-.7-1-1-1-1-.5-.3-1-.6-1.3-1-1-1.1-1.5-2.6-1.4-4 .2-2.8 2.6-5 5.4-5h2.2c1.5 0 2.8.6 3.8 1.6l.1.1c.2.2.6.5 1.2.5h1.4c1.3 0 1.4-1.4 1.5-1.8l.1-10.5V23c.1-2.4-1.6-3.1-2.3-3.1zM32.4 67.1c0 1.3-1 2.3-2.3 2.3h-2.3c-1.3 0-2.3-1-2.3-2.3v-2.3c0-1.3 1-2.3 2.3-2.3h2.3c1.3 0 2.3 1 2.3 2.3v2.3zm0-11.9c0 1.3-1 2.3-2.3 2.3h-2.3c-1.3 0-2.3-1-2.3-2.3v-2.3c0-1.3 1-2.3 2.3-2.3h2.3c1.3 0 2.3 1 2.3 2.3v2.3zm0-11.7c0 1.3-1 2.3-2.3 2.3h-2.3c-1.3 0-2.3-1-2.3-2.3v-2.3c0-1.3 1-2.3 2.3-2.3h2.3c1.3 0 2.3 1 2.3 2.3v2.3zm0-11.8c0 1.3-1 2.3-2.3 2.3h-2.3c-1.3 0-2.3-1-2.3-2.3v-2.3c0-1.3 1-2.3 2.3-2.3h2.3c1.3 0 2.3 1 2.3 2.3v2.3zm12.7 35.4c0 1.3-1 2.3-2.3 2.3h-2.3c-1.3 0-2.3-1-2.3-2.3v-2.3c0-1.3 1-2.3 2.3-2.3h2.3c1.3 0 2.3 1 2.3 2.3v2.3zm0-11.9c0 1.3-1 2.3-2.3 2.3h-2.3c-1.3 0-2.3-1-2.3-2.3v-2.3c0-1.3 1-2.3 2.3-2.3h2.3c1.3 0 2.3 1 2.3 2.3v2.3zm0-11.7c0 1.3-1 2.3-2.3 2.3h-2.3c-1.3 0-2.3-1-2.3-2.3v-2.3c0-1.3 1-2.3 2.3-2.3h2.3c1.3 0 2.3 1 2.3 2.3v2.3zm0-11.8c0 1.3-1 2.3-2.3 2.3h-2.3c-1.3 0-2.3-1-2.3-2.3v-2.3c0-1.3 1-2.3 2.3-2.3h2.3c1.3 0 2.3 1 2.3 2.3v2.3zm12.7 11.8c0 1.3-1 2.3-2.3 2.3h-2.3c-1.3 0-2.3-1-2.3-2.3v-2.3c0-1.3 1-2.3 2.3-2.3h2.3c1.3 0 2.3 1 2.3 2.3v2.3zm0-11.8c0 1.3-1 2.3-2.3 2.3h-2.3c-1.3 0-2.3-1-2.3-2.3v-2.3c0-1.3 1-2.3 2.3-2.3h2.3c1.3 0 2.3 1 2.3 2.3v2.3z\"}],\"circle\":[{\"cx\":\"62.1\",\"cy\":\"75.8\",\"r\":\"2.2\"},{\"cx\":\"72.9\",\"cy\":\"75.8\",\"r\":\"2.2\"}]}},\nbuyer_group:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"circle\":[{\"cx\":\"58.7\",\"cy\":\"76.7\",\"r\":\"2.2\"},{\"cx\":\"69.5\",\"cy\":\"76.7\",\"r\":\"2.2\"}],\"path\":[{\"d\":\"M37.3 43.1c-1.5-2.4-2.4-5.2-2.4-8.3 0-5.2 2.2-9.6 5.7-12.2-1.3-2.2-3.5-3.6-6.6-3.6-5.1 0-7.9 4.1-7.9 8.8 0 2.6.9 4.7 2.6 6.3 1 .9 1.8 2 1.8 3.3 0 1.2-.4 2.3-3.3 3.5-4.1 1.9-7.9 4.2-8 8.1 0 2.6 1.7 4.4 4.1 4.4h3.8c.6 0 1.2-.4 1.5-.9 1.9-3.3 5.3-5.5 8.2-6.9.7-.5 1.1-1.7.5-2.5zM58.4 66.4h13.3c.4 0 .8-.3.8-.7l2.4-8.6c.2-.6-.3-1.1-.8-1.1H53.6l-.3-1.3c-.2-.6-.7-1-1.3-1h-2.2c-.7 0-1.4.6-1.4 1.3-.1.8.6 1.4 1.3 1.4H51l1.2 4 3 10.3c.2.6.7 1 1.3 1h15.6c.7 0 1.4-.6 1.4-1.3.1-.8-.6-1.4-1.3-1.4H58.4c-.6 0-1.1-.4-1.3-.9V68c-.2-.8.4-1.6 1.3-1.6z\"},{\"d\":\"M48.4 61.6l-.4-1.5c-.9-.3-1.6-.8-2.2-1.5-.9-1.1-1.4-2.4-1.3-3.8.1-2.8 2.6-5 5.4-5H52c1.8 0 3.4.9 4.4 2.3h5.7c-1.6-1.1-3.5-2-5.4-2.8-3.2-1.3-3.6-2.6-3.6-3.9 0-1.3.9-2.6 1.9-3.6 1.9-1.7 2.9-4.1 2.9-7 0-5.2-3.2-9.7-8.8-9.7s-8.8 4.5-8.8 9.7c0 2.8 1.1 5.2 2.9 7 1.1 1 1.9 2.3 1.9 3.6 0 1.3-.5 2.6-3.6 3.9-4.8 1.9-9.2 4.2-9.3 8.5 0 2.8 2 5.3 4.7 5.3h11.8l-.3-1.5z\"},{\"d\":\"M63.1 34.8c0 3.1-.8 5.9-2.4 8.3-.6.9-.3 2 .7 2.6 2.8 1.3 6 3.3 7.9 6.4h4.8c1 0 1.9.3 2.7.9 1.3-.7 2.1-2.1 2.1-3.9-.1-3.9-3.9-6.3-8-8.2-2.9-1.2-3.3-2.4-3.3-3.5 0-1.2.8-2.4 1.8-3.3 1.7-1.6 2.6-3.7 2.6-6.3 0-4.8-2.8-8.8-7.9-8.8-3.1 0-5.3 1.4-6.6 3.6 3.4 2.6 5.6 6.9 5.6 12.2z\"}]}},\ncalculated_insights:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M72.51 26a7.5 7.5 0 00-6 12l-6.24 11a5 5 0 00-.77 0 7.5 7.5 0 00-3.76 1l-7.93-5.84A7.1 7.1 0 0048 42.5a7.5 7.5 0 10-13.41 4.59L28.14 59h-.64a7.5 7.5 0 105.91 2.88L39.86 50h.64a7.47 7.47 0 003.75-1l7.93 5.84A7.67 7.67 0 0052 56.5 7.5 7.5 0 1065.49 52l6.24-11h.77a7.5 7.5 0 000-15zM72.5 26h.01-.01z\"}},\ncalibration:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M31.9 49.7c-.6.1-1.2.1-1.9.1-.6 0-1.2 0-1.9-.1-.6-.1-1.1.4-1.1 1V78c0 1.1.9 2 2 2h2c1.1 0 2-.9 2-2V50.7c0-.7-.5-1.1-1.1-1zM51.9 70.7c-.6.1-1.2.1-1.9.1-.6 0-1.2 0-1.9-.1-.6-.1-1.1.4-1.1 1V78c0 1.1.9 2 2 2h2c1.1 0 2-.9 2-2v-6.3c0-.7-.5-1.1-1.1-1zM71.9 55.7c-.6.1-1.2.1-1.9.1-.6 0-1.2 0-1.9-.1-.6-.1-1.1.4-1.1 1V78c0 1.1.9 2 2 2h2c1.1 0 2-.9 2-2V56.7c0-.7-.5-1.1-1.1-1zM33 30.7V22c0-1.1-.9-2-2-2h-2c-1.1 0-2 .9-2 2v8.7c-2.4 1.1-4 3.5-4 6.3 0 3.9 3.1 7 7 7s7-3.1 7-7c0-2.8-1.6-5.2-4-6.3zM53 51.7V22c0-1.1-.9-2-2-2h-2c-1.1 0-2 .9-2 2v29.7c-2.4 1.1-4 3.5-4 6.3 0 3.9 3.1 7 7 7s7-3.1 7-7c0-2.8-1.6-5.2-4-6.3zM73 36.7V22c0-1.1-.9-2-2-2h-2c-1.1 0-2 .9-2 2v14.7c-2.4 1.1-4 3.5-4 6.3 0 3.9 3.1 7 7 7s7-3.1 7-7c0-2.8-1.6-5.2-4-6.3z\"}},\ncall:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M77.7 63.9l-6.2-5a6.002 6.002 0 00-7.3-.2L58.3 63c-.8.6-1.899.5-2.6-.2L46 54l-8.9-9.8c-.7-.7-.8-1.8-.2-2.6l4.3-5.9c1.6-2.2 1.5-5.2-.2-7.3l-5-6.2c-2.2-2.8-6.4-3-8.9-.5l-5.4 5.4c-1.2 1.2-1.8 2.9-1.8 4.5.7 12.7 6.5 24.8 15 33.3s20.5 14.3 33.3 15c1.7.1 3.3-.601 4.5-1.801l5.4-5.399c2.7-2.4 2.4-6.6-.4-8.8z\"}},\ncall_coaching:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M41.8 20c2.9 0 5.3 2.6 4.9 5.5l-.7 6.6c-.3 2.2-2 4-4.2 4.4l-6 .9c-.8.1-1.4.8-1.4 1.6v21.9c0 .8.6 1.5 1.4 1.7l6 .9c2.3.3 4 2.2 4.2 4.4l.8 6.6c.4 2.9-1.9 5.6-4.9 5.4h-6.4c-1.4 0-2.8-.5-3.7-1.6C24.6 70.4 21 59.9 21 49.9s3.7-20.5 10.7-28.3c.9-1 2.3-1.6 3.7-1.6zm18.5 12.9c1.1 0 1.9.8 1.9 1.9v30.8c0 1.1-.9 1.9-1.9 1.9-1 0-1.9-.8-1.9-1.9V34.8c0-1 .8-1.9 1.9-1.9zm-8.5 7.3c1.1 0 1.9.8 1.9 1.9v16.2c0 1-.9 1.9-1.9 1.9-1 0-1.9-.8-1.9-1.9V42.1c0-1 .8-1.9 1.9-1.9zm17.2 0c1.1 0 1.9.8 1.9 1.9v15.7c0 1-.9 1.8-1.9 1.8-1 0-1.9-.8-1.9-1.9V42.1c0-1 .8-1.9 1.9-1.9zm8.9 5.6c1.1 0 1.9.8 1.9 1.9v3.6c0 1.1-.8 1.9-1.9 1.9-1 0-1.9-.8-1.9-1.9v-3.6c0-1 .8-1.9 1.9-1.9z\"}},\ncall_history:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M28.1 48c-.1.7-.1 1.3-.1 2h-6c0-.7 0-1.3.1-2h6z\"},{\"d\":\"M50 22c-14.8 0-26.9 11.5-27.9 26 0 .3-.1.7-.1 1h-4.5c-1.3 0-2 1.5-1.2 2.4l7.5 9.1c.6.7 1.7.7 2.3 0l7.5-9.1c.8-1 .1-2.4-1.2-2.4H28v-1c1-11.2 10.5-20 21.9-20 13 0 23.3 11.3 21.9 24.5-1 9.5-10 18.5-19.6 19.4-7.1.7-13.8-1.9-18.5-7-.6-.7-1.4-1.1-2.2-.1l-2.4 2.9c-.5.6-.1 1 .4 1.5 5.4 5.7 12.8 8.9 20.8 8.8 14.4-.2 26.5-11.6 27.5-26C79.1 35.7 66.1 22 50 22z\"},{\"d\":\"M47.2 42.8c.7-.9.7-2.2-.1-3.2L45 37c-1-1.2-2.8-1.3-3.9-.2l-2.4 2.4c-.5.5-.8 1.2-.8 2 .3 5.5 2.8 10.8 6.5 14.4s8.9 6.2 14.4 6.5c.7 0 1.5-.2 2-.8l2.4-2.4c1.1-1.1 1-2.9-.2-3.9l-2.7-2.1c-.9-.7-2.2-.8-3.2-.1l-2.6 1.9c-.3.3-.8.2-1.1-.1l-4.2-3.8-3.8-4.2c-.3-.3-.3-.8-.1-1.1l1.9-2.7z\"}]},\ncampaign:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M50 20c-16.5 0-30 13.5-30 30s13.5 30 30 30 30-13.5 30-30-13.5-30-30-30zm0 54c-13.2 0-24-10.8-24-24s10.8-24 24-24 24 10.8 24 24-10.8 24-24 24z\"},{\"d\":\"M50 32c-9.9 0-18 8.1-18 18s8.1 18 18 18 18-8.1 18-18-8.1-18-18-18zm0 30c-6.6 0-12-5.4-12-12s5.4-12 12-12 12 5.4 12 12-5.4 12-12 12z\"},{\"d\":\"M50 44c-3.3 0-6 2.7-6 6s2.7 6 6 6 6-2.7 6-6-2.7-6-6-6z\"}]},\ncampaign_members:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"fill-opacity\":\".65\",\"d\":\"M100 62v38H62l38-38zm-7.8 27.6c-1.3-.5-1.5-1-1.5-1.6 0-.5.4-1 .8-1.4.8-.7 1.2-1.6 1.2-2.7 0-2.1-1.3-3.8-3.7-3.8s-3.7 1.8-3.7 3.8c0 1.1.4 2.1 1.2 2.7.4.4.8.9.8 1.4s-.2 1-1.5 1.6c-1.9.8-3.8 1.7-3.8 3.4 0 1.1.9 2.1 2 2.1h10c1.1 0 2-1 2-2.1 0-1.8-1.9-2.7-3.8-3.4z\"},{\"d\":\"M50 20c-16.5 0-30 13.5-30 30s13.5 30 30 30 30-13.5 30-30-13.5-30-30-30zm0 54c-13.2 0-24-10.8-24-24s10.8-24 24-24 24 10.8 24 24-10.8 24-24 24z\"},{\"d\":\"M50 32c-9.9 0-18 8.1-18 18s8.1 18 18 18 18-8.1 18-18-8.1-18-18-18zm0 30c-6.6 0-12-5.4-12-12s5.4-12 12-12 12 5.4 12 12-5.4 12-12 12z\"},{\"d\":\"M50 44c-3.3 0-6 2.7-6 6s2.7 6 6 6 6-2.7 6-6-2.7-6-6-6z\"}]},\ncancel_checkout:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M67.643 52C76.698 52 84 59.608 84 68.566a16.5 16.5 0 11-16.357-16.564zm8.457 6.346a1 1 0 00-1.414 0l-7.29 7.296-6.893-6.91v-.002l-.095-.083a1 1 0 00-1.32.083L57.43 60.39a1 1 0 00-.001 1.413l6.895 6.913-6.854 6.848-.084.094a1 1 0 00.083 1.32l1.665 1.665a1 1 0 001.414 0l6.855-6.855 7.25 7.263v.001l.095.084a.999.999 0 001.32-.084l1.658-1.658c.39-.391.39-1.024 0-1.415l-7.25-7.263 7.289-7.29a1 1 0 000-1.414L76.1 58.346zM40.8 67a5.8 5.8 0 110 11.6 5.8 5.8 0 010-11.6zM23.045 15c1.47 0 2.825 1.012 3.277 2.475l.904 3.15h51.527c1.469 0 2.599 1.35 2.146 2.813l-6.102 21.375c-.11.496-.385.912-.755 1.206a23.176 23.176 0 00-6.514-.929c-2.801 0-5.491.498-7.987 1.41H39.317c-2.147 0-3.842 2.138-3.05 4.275v.113c.338 1.35 1.694 2.362 3.163 2.362h10.36A23.535 23.535 0 0045.705 60H34.458c-1.582 0-2.825-1.013-3.277-2.475L20.56 21.75h-3.164c-1.921 0-3.503-1.688-3.39-3.6.113-1.8 1.808-3.15 3.616-3.15z\"}},\ncanvas:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M73.9 65.9c-.2 3.4-.6 7.1-1.2 10.6-.2 1.1-1.2 2.1-2.3 2.2-6.8.9-13.6 1.3-20.4 1.3-6.7 0-13.5-.4-20.2-1.3-1.1-.1-2.1-1.2-2.3-2.2-1-5.6-1.5-11.3-1.5-16.9 0-5.7.5-11.4 1.4-16.9.2-1.1 1.2-2.1 2.3-2.3 4.1-.5 8.2-.8 12.2-1 0 0 3.3-.2 3.1-3.2-.2-2.8-5-4.6-5-9.4 0-3.8 3.8-6.8 9.9-6.8 6.1 0 9.9 3.1 9.9 6.8 0 4.7-4.7 6.6-4.9 9.4-.2 3.1 3 3.2 3 3.2 4.1.2 8.3.5 12.4 1 1.1.2 2.1 1.2 2.3 2.3.7 3.9 1.1 7.4 1.3 11.2.1 1.1-.9 2-2.1 2-.4 0-.7-.1-1.1-.1-1.2 0-2.9-.7-3.7-1.6 0 0-2.7-2.7-5.5-2.7-4.6-.1-8.2 4.1-8.2 8.5s3.5 8.6 8.1 8.5c2.8-.1 5.5-2.9 5.5-2.9.9-.8 2.5-1.6 3.7-1.6.4-.1.7-.1 1.1-.1 1.4.1 2.3 1 2.2 2z\"}},\ncapacity_plan:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M39 32h22a2 2 0 002-2v-4a6 6 0 00-6-6H43a6 6 0 00-6 6v4a2 2 0 002 2zM49.8 48.4v11.4h10.7a9.88 9.88 0 00-3.1-7.8c-3.7-3.8-7.6-3.6-7.6-3.6z\"},{\"d\":\"M72 25h-2a.94.94 0 00-1 1v4a8 8 0 01-8 8H39a8 8 0 01-8-8v-4a.94.94 0 00-1-1h-2a6 6 0 00-6 6v43a6 6 0 006 6h44a6 6 0 006-6V31a6 6 0 00-6-6zm-7.1 34.3a14.9 14.9 0 11-14.8-15 14.94 14.94 0 0114.8 15z\"}]},\ncare_request_reviewer:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M73.3 69.4c-2.3-.9-2.6-1.8-2.6-2.8a3.59 3.59 0 011.4-2.6 6.42 6.42 0 002.1-5c0-3.8-2.3-7-6.3-7s-6.3 3.2-6.3 7a6.78 6.78 0 002.1 5 3.59 3.59 0 011.4 2.6c0 1-.3 1.9-2.6 2.9-3.3 1.5-6.4 3.3-6.5 6.3 0 2 1.5 4.1 3.4 4.1h17.2c1.9 0 3.4-2.1 3.2-4.1-.1-3-3.2-5-6.5-6.4z\"},{\"d\":\"M52 75.8v-.2c.2-5.4 5.2-8.1 8.2-9.5a10.53 10.53 0 01-2.6-7.1 12.59 12.59 0 01.84-4.6H50.1a1.22 1.22 0 01-1.2-1.2v-2.3a1.22 1.22 0 011.2-1.2h12a10.58 10.58 0 0111.15-.22V25.6A5.59 5.59 0 0067.7 20H32.3a5.59 5.59 0 00-5.6 5.6v44.8a5.59 5.59 0 005.6 5.6H52v-.2zm-3.1-40.9a1.22 1.22 0 011.2-1.2h15.2a1.22 1.22 0 011.2 1.2v2.3a1.13 1.13 0 01-1.1 1.2H50.1a1.22 1.22 0 01-1.2-1.2zm-4.1 20.5a.91.91 0 010 1.2l-1.2 1.2a.91.91 0 01-1.2 0L39 54.4l-3.3 3.3a.91.91 0 01-1.2 0l-1.2-1.2a.91.91 0 010-1.2l3.3-3.3-3.3-3.3a.91.91 0 010-1.2l1.2-1.2a.91.91 0 011.2 0l3.3 3.3 3.4-3.4a.91.91 0 011.2 0l1.2 1.2a.91.91 0 010 1.2L41.4 52zm2.8-24.3l-9 9a1.66 1.66 0 01-1.2.5 1.58 1.58 0 01-1.2-.5l-4.3-4.3a.75.75 0 010-1.2l1.2-1.2a.75.75 0 011.2 0l3.1 3.1 7.7-7.7a.75.75 0 011.2 0l1.2 1.2c.3.4.3 1 .1 1.1z\"}]},\ncarousel:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M76.26 37.7h-2.69v26.93h2.69A3.75 3.75 0 0080 60.89V41.44a3.75 3.75 0 00-3.74-3.74zM20 41.44v19.45a3.75 3.75 0 003.74 3.74h2.69V37.7h-2.69A3.75 3.75 0 0020 41.44zM66.46 34.33H33.54a3.75 3.75 0 00-3.74 3.74v26.19A3.75 3.75 0 0033.54 68h32.92a3.75 3.75 0 003.74-3.74V38.07a3.75 3.75 0 00-3.74-3.74zm-5.57 26.94H37.77a1.21 1.21 0 01-1-1.83l7-12.19a.75.75 0 011.35 0l4.23 7.26a.81.81 0 001.35.07l3.44-4.94a.8.8 0 011.35 0l6.28 10a1 1 0 01-.88 1.63zm-.6-14.36a3.18 3.18 0 113.18-3.18 3.18 3.18 0 01-3.18 3.17z\"}},\ncase:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M38 29h4c.6 0 1-.4 1-1v-3h14v3c0 .6.4 1 1 1h4c.6 0 1-.4 1-1v-3c0-3.3-2.7-6-6-6H43c-3.3 0-6 2.7-6 6v3c0 .6.4 1 1 1zM74 35H26c-3.3 0-6 2.7-6 6v32c0 3.3 2.7 6 6 6h48c3.3 0 6-2.7 6-6V41c0-3.3-2.7-6-6-6z\"}},\ncase_change_status:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M38 30h4c.6 0 1-.4 1-1v-3h14v3c0 .6.4 1 1 1h4c.6 0 1-.4 1-1v-3c0-3.3-2.7-6-6-6H43c-3.3 0-6 2.7-6 6v3c0 .6.4 1 1 1zM74 36H26c-3.3 0-6 2.7-6 6v32c0 3.3 2.7 6 6 6h48c3.3 0 6-2.7 6-6V42c0-3.3-2.7-6-6-6zM58.5 58.1L48 70.7c-.6.6-1.6.1-1.4-.7l2.6-9h-6.9c-.8 0-1.4-.8-1.1-1.6l4.2-10.8c.4-.9 1.2-1.5 2.2-1.5h8.3c.9 0 1.5.9 1 1.7L52.4 56h5.2c1 0 1.6 1.3.9 2.1z\"}},\ncase_comment:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M38 30h4c.6 0 1-.4 1-1v-3h14v3c0 .6.4 1 1 1h4c.6 0 1-.4 1-1v-3c0-3.3-2.7-6-6-6H43c-3.3 0-6 2.7-6 6v3c0 .6.4 1 1 1zM74 36H26c-3.3 0-6 2.7-6 6v32c0 3.3 2.7 6 6 6h48c3.3 0 6-2.7 6-6V42c0-3.3-2.7-6-6-6zM50.9 68c-2.3 0-4.4-.6-6.2-1.6-.2-.1-.4-.1-.7-.1L40 68c-.6.2-1.2-.4-1-1l1.7-4.1c.1-.2 0-.5-.1-.6-1-1.6-1.5-3.4-1.5-5.4 0-6.1 5.3-11 11.8-11s11.8 4.9 11.8 11c0 6.2-5.3 11.1-11.8 11.1z\"}},\ncase_email:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M38 30h4c.6 0 1-.4 1-1v-3h14v3c0 .6.4 1 1 1h4c.6 0 1-.4 1-1v-3c0-3.3-2.7-6-6-6H43c-3.3 0-6 2.7-6 6v3c0 .6.4 1 1 1zM74 36H26c-3.3 0-6 2.7-6 6v32c0 3.3 2.7 6 6 6h48c3.3 0 6-2.7 6-6V42c0-3.3-2.7-6-6-6zM37.9 47.1h24.3c.8 0 .9.7.7 1.1L50.6 59.6c-.3.3-.8.3-1.2 0L37.2 48.3c-.5-.6 0-1.2.7-1.2zM63 64c0 1.4-1.6 3-3 3H40c-1.4 0-3-1.6-3-3V53.1c0-.6.7-.9 1.1-.5l9.6 8.9c.6.6 1.5.9 2.3.9s1.7-.3 2.3-.9l9.5-8.9c.4-.4 1.1-.2 1.1.3.1.9.1 10.8.1 11.1z\"}},\ncase_log_a_call:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M38 30h4c.6 0 1-.4 1-1v-3h14v3c0 .6.4 1 1 1h4c.6 0 1-.4 1-1v-3c0-3.3-2.7-6-6-6H43c-3.3 0-6 2.7-6 6v3c0 .6.4 1 1 1zM74 36H26c-3.3 0-6 2.7-6 6v32c0 3.3 2.7 6 6 6h48c3.3 0 6-2.7 6-6V42c0-3.3-2.7-6-6-6zM62.3 66.1l-2.2 2.2c-.5.5-1.1.7-1.8.7-5.1-.3-9.9-2.6-13.3-6-3.4-3.4-5.7-8.2-6-13.3 0-.7.2-1.3.7-1.8l2.2-2.2c1-1 2.7-.9 3.6.2l2 2.5c.7.8.7 2 .1 2.9l-1.7 2.4c-.2.3-.2.8.1 1l3.5 3.9 3.9 3.5c.3.3.7.3 1 .1l2.4-1.7c.9-.6 2.1-.6 2.9.1l2.5 2c1 .8 1.1 2.5.1 3.5z\"}},\ncase_milestone:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M73 36H25.1c-3.3 0-6 2.7-6 6v32c0 3.3 2.7 6 6 6H73c3.3 0 6-2.7 6-6V42c0-3.3-2.7-6-6-6zM40.9 48.6v22c0 1-.7 1.9-1.7 1.9h-.1c-1 0-1.8-.9-1.8-1.9v-22c-.6-.6-.9-1.4-.9-2.2-.1-1.5 1-2.8 2.5-2.9s2.8 1 2.9 2.5v.5c0 .7-.3 1.5-.9 2.1zm21.5 13.8c0 .3-.2.6-.4.8-6.9 4.1-10.8-2.4-17.2-.3-.5.1-1-.1-1.2-.6V49.5c0-.4.2-.8.6-.9 6.6-2.6 10.5 4.2 17.5.2.2-.1.5-.1.6.1.1.1.1.2.1.3v13.2zM37.1 30h4c.5 0 1-.4 1-.9V26h14v3c0 .5.4 1 .9 1h4.1c.5 0 1-.4 1-.9V26c0-3.3-2.7-6-6-6h-14c-3.3 0-6 2.7-6 6v3c0 .5.4 1 .9 1h.1z\"}},\ncase_transcript:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M38 30h4c.6 0 1-.4 1-1v-3h14v3c0 .6.4 1 1 1h4c.6 0 1-.4 1-1v-3c0-3.3-2.7-6-6-6H43c-3.3 0-6 2.7-6 6v3c0 .6.4 1 1 1zM74 36H26c-3.3 0-6 2.7-6 6v32c0 3.3 2.7 6 6 6h48c3.3 0 6-2.7 6-6V42c0-3.3-2.7-6-6-6zM61 67c0 1.7-1.3 3-3 3H44c-1.7 0-3-1.3-3-3V48c0-1.7 1.3-3 3-3h7c.6 0 1 .4 1 1v6c0 1.1.9 2 2 2h6c.6 0 1 .4 1 1v12zm0-15.7c0 .4-.3.7-.7.7H56c-1.1 0-2-.9-2-2v-4.3c0-.4.3-.7.7-.7.2 0 .4.1.5.2l5.6 5.6c.1.1.2.3.2.5z\"}},\ncase_wrap_up:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M37.2 30.1h4a.94.94 0 001-1v-3H58v3a.94.94 0 001 1h4a.94.94 0 001-1v-3a6 6 0 00-6-6H42.2a6 6 0 00-6 6v3a.94.94 0 001 1zM74 36.1H26.2a6 6 0 00-6 6v31.8a6 6 0 006 6H74a6 6 0 006-6V42.1a6.15 6.15 0 00-6-6zm-8.7 16.1L47.9 69.6a3.38 3.38 0 01-4.8 0l-8.4-8.4a1.63 1.63 0 010-2.4l2.4-2.4a1.63 1.63 0 012.4 0l6 6 15-15a1.63 1.63 0 012.4 0l2.4 2.4a1.82 1.82 0 010 2.4z\"}},\ncatalog:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M61.8 29.4l8.9 8.9c2 1.9 2 5.1 0 7L47.5 68.4V36.6l7.2-7.2c1.9-2 5.2-2 7.1 0zM80 62.5V75c0 2.8-2.2 5-5 5H43.8l22.5-22.5H75c2.8 0 5 2.3 5 5zm-60 6.3V25c0-2.8 2.2-5 5-5h12.5c2.8 0 5 2.2 5 5v43.8c0 6.2-5 11.2-11.2 11.2S20 75 20 68.8zm11.2 5c2.8 0 5-2.2 5-5s-2.2-5-5-5-5 2.2-5 5 2.3 5 5 5z\"}},\ncategory:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M61.8 29.4l8.9 8.9c2 1.9 2 5.1 0 7L47.5 68.4V36.6l7.2-7.3c1.9-1.9 5.2-1.9 7.1.1zM37.5 20H25c-2.8 0-5 2.2-5 5v43.8C20 75 25 80 31.2 80s11.2-5 11.2-11.2V25c.1-2.8-2.2-5-4.9-5zm-6.3 53.8c-2.8 0-5-2.2-5-5s2.2-5 5-5 5 2.2 5 5-2.2 5-5 5zM75 57.5h-8.8l-6 6H74L73.9 74H49.8l-6 6H75c2.8 0 5-2.2 5-5V62.5c0-2.7-2.2-5-5-5z\"}},\nchannel_program_history:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M30.7 48.1c1-10.9 10.2-19.4 21.2-19.4 12.6 0 22.6 10.9 21.2 23.7-1 9.2-9.7 17.9-19 18.8-6.9.7-13.4-1.8-17.9-6.8-.6-.7-1.4-1.1-2.1-.1l-2.3 2.8c-.5.6-.1 1 .4 1.5 5.2 5.5 12.4 8.6 20.2 8.5 14-.2 25.7-11.2 26.6-25.2 1.2-15.8-11.4-29-27-29-14.3 0-26.1 11.1-27 25.2 0 .3-.1.7-.1 1h-4.4c-1.3 0-1.9 1.5-1.2 2.3l7.3 8.8c.6.7 1.6.7 2.2 0l7.3-8.8c.8-1 .1-2.3-1.2-2.3h-4.3l.1-1z\"},{\"d\":\"M52.1 38.1c-6.5 0-11.9 5.4-11.9 11.9s5.4 11.9 11.9 11.9S64 56.5 64 50s-5.3-11.9-11.9-11.9zm9.5 10.7h-3.1c-.1-2.8-.8-5.3-1.7-7.1 2.6 1.4 4.4 4.1 4.8 7.1zM51 41v7.8h-2.7c.1-3.7 1.3-6.6 2.7-7.8zm0 10.2V59c-1.3-1.1-2.5-4.1-2.7-7.8H51zm2.3 7.8v-7.8H56c-.1 3.7-1.3 6.6-2.7 7.8zm0-10.2V41c1.3 1.1 2.5 4.1 2.7 7.8h-2.7zm-5.7-7.1c-1 1.9-1.5 4.3-1.7 7.1h-3.1c.3-3 2.1-5.7 4.8-7.1zm-4.9 9.5h3.1c.1 2.8.8 5.3 1.7 7.1-2.6-1.4-4.4-4.1-4.8-7.1zm14 7.1c1-1.9 1.5-4.3 1.7-7.1h3.1c-.3 3-2.1 5.7-4.8 7.1z\"}]},\nchannel_program_levels:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M77.9 47.2l-3.7-1.7c-.5-.3-1.2-.3-1.7 0l-11 5.3c1.8-.6 3.7-.9 5.6-.9 3.1 0 6 .8 8.6 2.2l2.1-1c1.7-.9 1.7-3.1.1-3.9zM20.2 36.9L47 49.6c1.2.6 2.7.6 3.9 0l26.9-12.7c1.6-.8 1.6-2.9 0-3.7L50.9 20.5c-1.2-.6-2.7-.6-3.9 0L20.2 33.3c-1.7.7-1.7 2.9 0 3.6zM20.2 50.9L47 63.7c.7.4 1.5.5 2.3.4 1-4.8 3.9-8.8 7.9-11.4l-6.2 3c-1.2.6-2.7.6-3.9 0L25.6 45.5c-.5-.3-1.2-.3-1.7 0l-3.7 1.7c-1.7.8-1.7 2.9 0 3.7zM49 70.2c-.7 0-1.3-.2-1.9-.4L25.5 59.5c-.5-.3-1.2-.3-1.7 0l-3.6 1.7c-1.6.8-1.6 2.9 0 3.7L47 77.7c1.2.6 2.7.6 3.9 0l.6-.3c-1.3-2.2-2.2-4.6-2.5-7.2z\"}},\"path\":{\"d\":\"M67.2 56.2c-6.5 0-11.9 5.3-11.9 11.9S60.6 80 67.2 80s11.9-5.3 11.9-11.9-5.4-11.9-11.9-11.9zm9.4 10.7h-3.1c-.1-2.8-.8-5.3-1.7-7.1 2.6 1.5 4.4 4.1 4.8 7.1zM66 59.1v7.8h-2.7c.2-3.7 1.3-6.6 2.7-7.8zm0 10.2v7.8c-1.3-1.1-2.5-4.1-2.7-7.8H66zm2.4 7.8v-7.8h2.7c-.2 3.7-1.4 6.7-2.7 7.8zm0-10.2v-7.8c1.3 1.1 2.5 4.1 2.7 7.8h-2.7zm-5.8-7.1c-1 1.9-1.5 4.3-1.7 7.1h-3.1c.3-3 2.2-5.6 4.8-7.1zm-4.8 9.5h3.1c.1 2.8.8 5.3 1.7 7.1-2.6-1.4-4.5-4-4.8-7.1zm14 7.1c1-1.9 1.5-4.3 1.7-7.1h3.1c-.4 3.1-2.2 5.7-4.8 7.1z\"}},\nchannel_program_members:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M48.7 68.1c0-5.9 2.8-11.2 7.2-14.5-1.3-.6-2.6-1.2-4-1.8-4.3-1.8-4.9-3.4-4.9-5.2 0-1.8 1.2-3.4 2.6-4.7 2.5-2.3 3.9-5.4 3.9-9.1 0-6.9-4.3-12.8-11.9-12.8-7.6 0-11.9 5.9-11.9 12.8 0 3.7 1.4 6.9 3.9 9.1 1.4 1.3 2.6 3 2.6 4.7 0 1.7-.7 3.4-4.9 5.2-6.2 2.6-12.1 5.6-12.2 11.2 0 3.7 2.8 7 6.3 7h22.7c.3 0 .5-.1.7-.1 0-.6-.1-1.2-.1-1.8zM67 56.3c-6.5 0-11.9 5.3-11.9 11.9S60.5 80.1 67 80.1s11.9-5.3 11.9-11.9S73.6 56.3 67 56.3zM76.5 67h-3.1c-.1-2.8-.8-5.3-1.7-7.1 2.5 1.4 4.4 4.1 4.8 7.1zm-10.6-7.8V67h-2.7c.1-3.7 1.3-6.6 2.7-7.8zm0 10.2v7.8c-1.3-1.1-2.5-4.1-2.7-7.8h2.7zm2.3 7.8v-7.8H71c-.2 3.7-1.4 6.6-2.8 7.8zm0-10.2v-7.8c1.3 1.1 2.5 4.1 2.7 7.8h-2.7zm-5.8-7.1c-1 1.9-1.5 4.3-1.7 7.1h-3.1c.4-3 2.2-5.7 4.8-7.1zm-4.8 9.5h3.1c.1 2.8.8 5.3 1.7 7.1-2.6-1.5-4.4-4.1-4.8-7.1zm14 7.1c1-1.9 1.5-4.3 1.7-7.1h3.1c-.3 3-2.2 5.6-4.8 7.1z\"}},\nchannel_programs:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M49 20c-16.5 0-30 13.5-30 30s13.5 30 30 30 30-13.5 30-30-13.5-30-30-30zm23.8 27h-7.9c-.3-7.1-1.9-13.3-4.3-18 6.6 3.7 11.2 10.3 12.2 18zM46 27.3V47h-6.9c.5-9.4 3.5-16.8 6.9-19.7zM46 53v19.7c-3.4-2.9-6.4-10.3-6.9-19.7H46zm6 19.7V53h6.9c-.5 9.4-3.5 16.8-6.9 19.7zM52 47V27.3c3.4 2.9 6.4 10.3 6.9 19.7H52zM37.4 29c-2.4 4.7-3.9 10.9-4.3 18h-7.9c1-7.7 5.6-14.3 12.2-18zM25.2 53h7.9c.3 7.1 1.9 13.3 4.3 18-6.6-3.7-11.2-10.3-12.2-18zm35.4 18c2.4-4.7 3.9-10.9 4.3-18h7.9c-1 7.7-5.6 14.3-12.2 18z\"}},\nchart:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M36.2 56.4c1.4 3.1 3.9 5.5 7 7 .9.4 1.3 1.3 1.3 2.2v11.5c0 1.6-1.5 2.8-3.1 2.4C31 76.7 22.8 68.5 20 58.1c-.4-1.5.8-3.1 2.4-3.1H34c.9 0 1.8.5 2.2 1.4zM41.5 19.7c1.5-.4 3.1.8 3.1 2.4v11.5c0 .9-.5 1.8-1.3 2.2-3.1 1.4-5.5 3.9-7 7-.4.9-1.3 1.3-2.2 1.3H22.4c-1.6 0-2.8-1.5-2.4-3.1 2.9-10.3 11.1-18.5 21.5-21.3zM80 49.6c0 14.3-9.1 26.4-21.6 29.9-1.5.4-3-.8-3-2.4V65.4c0-1 .5-1.9 1.3-2.4 4.7-2.4 8-7.5 8-13.4s-3.3-11.1-8-13.4c-.8-.4-1.3-1.4-1.3-2.4V22.1c0-1.6 1.5-2.8 3-2.4C70.9 23.2 80 35.3 80 49.6z\"}},\ncheckout:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M65.84 51.69a14.16 14.16 0 11-14.15 14.15 14.2 14.2 0 0114.15-14.15zM43 64.54a5 5 0 11-5 5 5 5 0 015-5zm28-4.46l-7.58 8.49L60 65.14a1 1 0 00-1.42 0l-1.41 1.31a.86.86 0 000 1.32L62 72.52a2 2 0 001.42.6 1.84 1.84 0 001.41-.6l9-9.81a1 1 0 000-1.31l-1.41-1.32a1 1 0 00-1.42 0zM27.75 20a3 3 0 012.8 2.12l.78 2.7h44.13a1.87 1.87 0 011.84 2.41l-5.23 18.3a1.81 1.81 0 01-.65 1 19.75 19.75 0 00-5.58-.8A20 20 0 0059 47H41.68a2.75 2.75 0 00-2.61 3.66v.1a2.82 2.82 0 002.71 2h8.87a20.26 20.26 0 00-3.5 5.78h-9.63a2.9 2.9 0 01-2.8-2.12l-9.1-30.64h-2.71A3 3 0 0120 22.7a3.06 3.06 0 013.1-2.7h4.65z\"}},\nchoice:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"circle\":{\"cx\":\"50\",\"cy\":\"50\",\"r\":\"13.9\"},\"path\":{\"d\":\"M50 20c-16.5 0-30 13.5-30 30s13.5 30 30 30 30-13.5 30-30-13.5-30-30-30zm0 52c-12.1 0-22-9.9-22-22s9.9-22 22-22 22 9.9 22 22-9.9 22-22 22z\"}}},\nclient:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M44.8 58.3c3.7-2.1 7.2-3.1 11.1-3.1 1.1 0 2.2.1 3.2.2.5.1.6-.1.1-.4-1.9-1.1-4-2.1-6.2-3-4.3-1.8-4.9-3.4-4.9-5.2 0-1.8 1.2-3.4 2.6-4.7 2.5-2.3 3.9-5.4 3.9-9.1 0-6.9-4.3-12.8-11.9-12.8-7.6 0-11.9 5.9-11.9 12.8 0 3.7 1.4 6.9 3.9 9.1 1.4 1.3 2.6 3 2.6 4.7 0 1.7-.7 3.4-4.9 5.2-6.2 2.6-12.1 5.6-12.2 11.2 0 3.7 2.8 7 6.3 7h14.2c1.1 0 2-.9 2-2v-6.5c.1-1.4.8-2.7 2.1-3.4z\"},{\"d\":\"M77.3 64.2c-9.4 2.9-16.8-6-27.1-1.8-.8.3-1.2 1-1.2 1.9V75c0 1.4 1.2 2.3 2.5 1.9 10.2-3.1 17.6 5.8 27.2 1.8.7-.3 1.3-1 1.3-1.9V66.1c0-1.3-1.4-2.3-2.7-1.9zm-12.5 10c-2.2 0-4-1.8-4-4s1.8-4 4-4 4 1.8 4 4-1.8 4-4 4z\"}]}},\ncms:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M60.4 29.9c-2 0-3.8.2-5.5.8 2.1 1.7 3.9 3.8 5.4 6.1h.1c7 0 12.7 5.7 12.7 12.7s-5.7 12.7-12.7 12.7c-1.7 0-3.5-.3-5-1 .9-1.3 1.7-2.7 2.3-4 .2-.6.5-1 .6-1.6.6-1.8.9-3.9.9-6 0-10.8-8.8-19.6-19.6-19.6S20 38.7 20 49.5s8.8 19.6 19.6 19.6c2 0 3.8-.2 5.5-.8-2.1-1.7-3.9-3.8-5.4-6.1h-.1c-7 0-12.7-5.7-12.7-12.7s5.7-12.7 12.7-12.7c1.7 0 3.5.3 5.1 1-2.4 3.2-3.9 7.3-3.9 11.7 0 10.8 8.8 19.6 19.6 19.6S80 60.3 80 49.5s-8.8-19.6-19.6-19.6z\"}},\ncoaching:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M47 53c-1.3 0-2.6.5-3.5 1.5-1.9 1.9-1.9 5.1 0 7.1.9.9 2.2 1.5 3.5 1.5 1.3 0 2.6-.5 3.5-1.5 1.9-1.9 1.9-5.1 0-7.1-.9-1-2.2-1.5-3.5-1.5z\"},{\"d\":\"M79.6 30.6l-6.8-9.8c-.6-.9-1.8-1.1-2.7-.6L36.7 40.9c-3.2 1.9-6 4.7-7.8 8.9-1.8 4.3-2.2 8.9-1.1 13.2-4.3.4-7.8 4-7.8 8.5 0 4.7 3.8 8.5 8.5 8.5 3.5 0 6.5-2.1 7.8-5.1 7.7 4.9 18.1 4 24.9-2.8 6.1-6.1 7.4-15.2 4-22.7-1.2-2.6-.5-5.8 1.9-7.5l12.1-8.6c.8-.5 1-1.8.4-2.7zM28.5 74c-1.4 0-2.5-1.1-2.5-2.5s1.1-2.5 2.5-2.5 2.5 1.1 2.5 2.5-1.1 2.5-2.5 2.5zm26.3-8.2C52.7 67.9 49.9 69 47 69c-2.9 0-5.7-1.1-7.8-3.2-4.3-4.3-4.3-11.3 0-15.6C41.3 48.1 44 47 47 47c2.9 0 5.7 1.1 7.8 3.2 4.3 4.3 4.3 11.3 0 15.6z\"}]},\ncode_playground:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M73.8 20H26.2c-3.4 0-6.2 2.8-6.2 6.2v47.6c0 3.4 2.8 6.2 6.2 6.2h47.6c3.4 0 6.2-2.8 6.2-6.2V26.2c0-3.4-2.8-6.2-6.2-6.2zm-45.5 6.2h43.4c1.1 0 2.1.9 2.1 2.1v3.9H26.2v-3.9c0-1.2.9-2.1 2.1-2.1zm43.4 47.6H28.3c-1.1 0-2.1-.9-2.1-2.1V38.2h47.6v33.5c0 1.2-.9 2.1-2.1 2.1z\"},{\"d\":\"M46.7 63.3l-6.6-6.6 6.6-6.6c.4-.4.4-1 0-1.4l-2.8-2.8c-.4-.4-1-.4-1.4 0l-7.3 7.3-1.5 1.5-1.3 1.3c-.2.2-.3.5-.3.7 0 .3.1.5.3.7l10.2 10.2c.4.4 1 .4 1.4 0l2.8-2.8c.3-.5.3-1.1-.1-1.5zM67.7 55.9l-1.3-1.3-1.5-1.5-7.3-7.3c-.4-.4-1-.4-1.4 0l-2.8 2.8c-.4.4-.4 1 0 1.4l6.6 6.6-6.6 6.6c-.4.4-.4 1 0 1.4l2.8 2.8c.4.4 1 .4 1.4 0l10.2-10.2c.2-.2.3-.5.3-.7-.1-.1-.2-.4-.4-.6z\"}]},\ncollection:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M33.74 20.26h17.43v29.4l.39.57.71-.13 7.06-6.43.49-.15.51.14L67 50l.75.13.36-.57V20.08h4.08s2.58.24 3.74 1.39a6.53 6.53 0 012 3.43v49.31c0 1.85-.17 2.85-1.1 3.94A5.69 5.69 0 0172.21 80h-38c-.31 0-1.9.34-4.22-1.93a6.65 6.65 0 01-1.85-4.44v-1.55h-2a3.93 3.93 0 01-4-4.17c.08-3.69 3.91-3.8 3.91-3.8h2.05v-10h-2a3.86 3.86 0 01-4-4 4 4 0 014-4.18h2v-9.74s-1.49.05-2 0a3.87 3.87 0 01-4-3.87 3.93 3.93 0 014-4.1h2v-2.38a6 6 0 011.48-3.65 6.46 6.46 0 014.16-1.93z\"}},\ncollection_variable:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M73.8 20H26.2c-3.4 0-6.2 2.8-6.2 6.2v47.6c0 3.4 2.8 6.2 6.2 6.2h47.6c3.4 0 6.2-2.8 6.2-6.2V26.2c0-3.4-2.8-6.2-6.2-6.2zm-3 49.3h-.1c0 .8-.8 1.4-1.6 1.4H30.4c-.8 0-1.4-.8-1.4-1.6V30.7c0-.8.8-1.4 1.6-1.4h38.8c.8 0 1.4.8 1.4 1.6v38.4z\"},{\"d\":\"M58.8 45.6c1.3 0 3.9-1.1 3.9-4.5s-2.5-3.6-3.2-3.6c-1.5 0-3 1.1-4.3 3.4-1.3 2.3-2.8 4.9-2.8 4.9h-.1c-.3-1.6-.6-3-.7-3.6-.3-1.4-1.9-4.5-5.3-4.5s-6.5 2-6.5 2c-.6.4-1 1-1 1.8 0 1.1.9 2.1 2.1 2.1.3 0 .6-.1.9-.2 0 0 2.6-1.4 3.1 0 .2.4.3.9.5 1.4.7 2.2 1.3 4.9 1.8 7.3L45 55.3s-2.5-.9-3.8-.9-3.9 1.1-3.9 4.5 2.5 3.6 3.2 3.6c1.5 0 3-1.1 4.3-3.4 1.3-2.3 2.8-4.9 2.8-4.9.4 2.1.8 3.8 1 4.5.9 2.4 2.8 3.9 5.4 3.9 0 0 2.7 0 5.8-1.8.8-.3 1.3-1.1 1.3-1.9 0-1.1-.9-2.1-2.1-2.1-.3 0-.6.1-.9.2 0 0-2.3 1.3-3 .3-.6-1-1-2.4-1.4-4.2-.3-1.5-.7-3.3-1.1-5.1l2.3-3.3c.1 0 2.6.9 3.9.9z\"}]},\nconnected_apps:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M73 21H27c-3.3 0-6 2.7-6 6v46c0 3.3 2.7 6 6 6h46c3.3 0 6-2.7 6-6V27c0-3.3-2.7-6-6-6zm-2 52H29c-1.1 0-2-.9-2-2V29c0-1.1.9-2 2-2h42c1.1 0 2 .9 2 2v42c0 1.1-.9 2-2 2z\"},{\"d\":\"M58.5 47H52l5.7-9.4c.6-1-.1-2.6-1.3-2.6h-8.3c-1.2 0-2.3.8-2.8 1.9l-5.2 13.8c-.4 1 .3 2.3 1.4 2.3h6.6l-3.2 10.9c-.3 1 1 1.6 1.7.8l13.1-15.4c.8-1 .1-2.3-1.2-2.3z\"}]},\nconstant:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M79.4 26.7c-.3-.3-.8-.5-1.2-.5-4.8-.2-9.9.2-14.7.2l-17.2.1c-5.3 0-9.4 1.1-13.4 4.7-2.6 2.4-5 5.7-6.9 8.5-.2.3-.3.7-.3 1.1 0 1.1.9 1.9 1.9 1.9 1.1 0 1.4-.7 1.9-1.5s1.2-1.6 1.9-2.3c2.6-2.5 6.3-3.8 9.9-3.5-3 8.4-7.3 18.1-13.4 24.7-2.5 2.8-6.8 5.7-7.8 9.5-1 3.9 3 5 6.1 3.8 3.9-1.5 6.2-5.5 8.2-8.9 2.4-4.3 4.5-8.6 6.4-13.2 1.9-4.4 3.8-8.9 5.6-13.3 1.1-2.6 1.5-2.7 4.2-2.7h7.5c-2.8 6.1-5.5 12.3-8 18.6-1.9 4.8-5.3 11.7-2.9 16.9 2.4 5.1 9.2 3.2 12.9.6 3.8-2.6 6.2-6.9 8.3-10.9.4-.7.8-1.6.5-2.4-.3-.7-1-1.2-1.8-1.2-1.7 0-2.1 2.1-2.6 3.4-1 2.1-3.4 4.1-5.8 3.7-5.7-.8-.6-10.9.4-13.6 1-2.8 2.2-5.6 3.4-8.3.7-1.6 1.3-3.2 2.1-4.7 1-2 1-1.9 3.3-2 2-.1 7.5.9 9.2-.2 1.3-.9 2.2-4.2 2.8-6.6.2-.8 0-1.5-.5-1.9z\"}},\ncontact:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M74 29H26c-3.3 0-6 2.7-6 6v29c0 3.3 2.7 6 6 6h48c3.3 0 6-2.7 6-6V35c0-3.3-2.7-6-6-6zM48.6 63H31.4c-1.9 0-3.4-2.1-3.4-4.1.1-3 3.2-4.8 6.5-6.3 2.3-1 2.6-1.9 2.6-2.9s-.6-1.9-1.4-2.6c-1.3-1.2-2.1-3-2.1-5 0-3.8 2.3-7 6.3-7s6.3 3.2 6.3 7c0 2-.7 3.8-2.1 5-.8.7-1.4 1.6-1.4 2.6s.3 1.9 2.6 2.8c3.3 1.4 6.4 3.4 6.5 6.4.2 2-1.3 4.1-3.2 4.1zM72 56c0 1.1-.9 2-2 2h-9c-1.1 0-2-.9-2-2v-3c0-1.1.9-2 2-2h9c1.1 0 2 .9 2 2v3zm0-11c0 1.1-.9 2-2 2H55c-1.1 0-2-.9-2-2v-3c0-1.1.9-2 2-2h15c1.1 0 2 .9 2 2v3z\"}},\ncontact_list:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M26.3 22.7c-4.5 0-8.2 3.5-8.2 7.8v44.3c0 4.3 3.7 7.8 8.2 7.8h43.6c4.5 0 8.2-3.5 8.2-7.8V30.5c0-4.3-3.7-7.8-8.2-7.8H26.3zm10.9 18.2c0 1.4-1.2 2.6-2.7 2.6h-2.7c-1.5 0-2.7-1.2-2.7-2.6v-2.6c0-1.4 1.2-2.6 2.7-2.6h2.7c1.5 0 2.7 1.2 2.7 2.6v2.6zm30 0c0 1.4-1.2 2.6-2.7 2.6H45.4c-1.5 0-2.7-1.2-2.7-2.6v-2.6c0-1.4 1.2-2.6 2.7-2.6h19.1c1.5 0 2.7 1.2 2.7 2.6v2.6zM37.2 54c0 1.4-1.2 2.6-2.7 2.6h-2.7c-1.5 0-2.7-1.2-2.7-2.6v-2.6c0-1.4 1.2-2.6 2.7-2.6h2.7c1.5 0 2.7 1.2 2.7 2.6V54zm25 0c0 1.4-1.2 2.6-2.7 2.6H45.4c-1.5 0-2.7-1.2-2.7-2.6v-2.6c0-1.4 1.2-2.6 2.7-2.6h14.1c1.5 0 2.7 1.2 2.7 2.6V54zm-25 13c0 1.4-1.2 2.6-2.7 2.6h-2.7c-1.5 0-2.7-1.2-2.7-2.6v-2.6c0-1.4 1.2-2.6 2.7-2.6h2.7c1.5 0 2.7 1.2 2.7 2.6V67zm30 0c0 1.4-1.2 2.6-2.7 2.6H45.4c-1.5 0-2.7-1.2-2.7-2.6v-2.6c0-1.4 1.2-2.6 2.7-2.6h19.1c1.5 0 2.7 1.2 2.7 2.6V67z\"}},\ncontact_request:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M48.7 50.9c-.7.2-1.1 1.1-.5 1.7l5.5 5.6c.6.6.6 1.5 0 2.1l-2.1 2.1c-.6.6-1.5.6-2.1 0L36 48.9c-.6-.6-.6-1.5 0-2.1l13.5-13.5c.6-.6 1.5-.6 2.1 0l2.1 2.2c.6.6.6 1.5 0 2.1l-5.6 5.6c-.6.6.5 1.7.5 1.7 12.8.4 22.7 8.8 25.8 20.3 3.3-4.4 5.3-9.8 5.3-15.6-.1-15.5-13.5-27.7-30.1-27.7-16.7 0-30 12.3-30 27.4 0 4.8 1.4 9.3 3.6 13.3.4.6.5 1.4.3 2.1l-3.9 10.7c-.4 1 .6 1.9 1.6 1.6L32 72.9c.6-.3 1.4-.1 2.1.3 4.5 2.5 9.9 4 15.7 4 7.5-.1 14.3-2.7 19.5-6.9-1.2-10.7-9.9-19-20.6-19.4z\"}},\ncontract:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M74.6 33.6L61.4 20.4c-.3-.3-.6-.4-1-.4-.8 0-1.4.6-1.4 1.4V32c0 2.2 1.8 4 4 4h10.6c.8 0 1.4-.6 1.4-1.4 0-.4-.1-.7-.4-1z\"},{\"d\":\"M73 42H59c-3.3 0-6-2.7-6-6V22c0-1.1-.9-2-2-2H31c-3.3 0-6 2.7-6 6v48c0 3.3 2.7 6 6 6h38c3.3 0 6-2.7 6-6V44c0-1.1-.9-2-2-2zm-41-9.4l4.9-.7c.1 0 .3-.1.3-.2l2.2-4.5c.2-.3.6-.3.8 0l2.2 4.5c.1.1.2.2.3.2l4.9.7c.3.1.5.5.2.7l-3.6 3.5c-.1.1-.1.2-.1.4l.8 4.9c.1.3-.3.6-.6.4l-4.4-2.3c-.1-.1-.3-.1-.4 0l-4.4 2.3c-.3.2-.7-.1-.6-.4l.8-4.9c0-.1 0-.3-.1-.4l-3.6-3.5c-.1-.2.1-.6.4-.7zM63 66c0 1.1-.9 2-2 2H35c-1.1 0-2-.9-2-2v-2c0-1.1.9-2 2-2h26c1.1 0 2 .9 2 2v2zm4-12c0 1.1-.9 2-2 2H35c-1.1 0-2-.9-2-2v-2c0-1.1.9-2 2-2h30c1.1 0 2 .9 2 2v2z\"}]},\ncontract_line_item:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M63 36h10.6c.8 0 1.4-.6 1.4-1.4 0-.4-.1-.7-.4-1L61.4 20.4c-.3-.3-.6-.4-1-.4-.8 0-1.4.6-1.4 1.4V32c0 2.2 1.8 4 4 4z\"},{\"d\":\"M73 42H59c-3.3 0-6-2.7-6-6V22c0-1.1-.9-2-2-2H31c-3.3 0-6 2.7-6 6v48c0 3.3 2.7 6 6 6h38c3.3 0 6-2.7 6-6V44c0-1.1-.9-2-2-2zM34.6 68.1c-1.7 0-3.1-1.4-3.1-3.1 0-1.7 1.4-3.1 3.1-3.1 1.7 0 3.1 1.4 3.1 3.1 0 1.7-1.4 3.1-3.1 3.1zm0-12c-1.7 0-3.1-1.4-3.1-3.1 0-1.7 1.4-3.1 3.1-3.1 1.7 0 3.1 1.4 3.1 3.1 0 1.8-1.4 3.1-3.1 3.1zm4.9-15.9l-4.4 2.3c-.3.2-.7-.1-.6-.4l.8-4.9c0-.1 0-.3-.1-.4l-3.6-3.5c-.1-.2.1-.6.4-.7l4.9-.7c.1 0 .3-.1.3-.2l2.2-4.5c.2-.3.6-.3.8 0l2.2 4.5c.1.1.2.2.3.2l4.9.7c.3.1.5.5.2.7l-3.6 3.5c-.1.1-.1.2-.1.4l.8 4.9c.1.3-.3.6-.6.4l-4.4-2.3c-.1-.1-.3-.1-.4 0zM67 66c0 1.1-.9 2-2 2H44.7c-1.1 0-2-.9-2-2v-2c0-1.1.9-2 2-2H65c1.1 0 2 .9 2 2v2zm0-12c0 1.1-.9 2-2 2H44.7c-1.1 0-2-.9-2-2v-2c0-1.1.9-2 2-2H65c1.1 0 2 .9 2 2v2z\"}]}},\ncurrency:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M74.4 30.8H25.6c-3.1 0-5.6 2.5-5.6 5.6v27.2c0 3.1 2.5 5.6 5.6 5.6h48.8c3.1 0 5.6-2.5 5.6-5.6V36.4c0-3.1-2.5-5.6-5.6-5.6zM32.2 63.6c0-3.7-2.9-6.6-6.6-6.6V43c3.7 0 6.6-2.9 6.6-6.6h35.6c0 3.7 2.9 6.6 6.6 6.6v14c-3.7 0-6.6 2.9-6.6 6.6H32.2z\"},\"circle\":{\"cx\":\"50\",\"cy\":\"49.5\",\"r\":\"9.4\"}}},\ncurrency_input:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M62.7 64.8c3.5-5.7 2.8-13.3-2.2-18.2-5.8-5.8-15.2-5.8-21 0-4.9 4.9-5.7 12.5-2.2 18.2h25.4z\"},{\"d\":\"M80 26v48c0 3.3-2.7 6-6 6H26c-3.3 0-6-2.7-6-6V26c0-3.3 2.7-6 6-6h48c3.3 0 6 2.7 6 6zM30 71.9h40c1.1 0 2-.9 2-2V30c0-1.1-.9-2-2-2H30c-1.1 0-2 .9-2 2v39.9c0 1.1.9 2 2 2z\"}]},\ncustom:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M79.2 32.8c-.2-.7-1.101-.9-1.7-.4L67.4 42.5c-.801.8-2 .8-2.801 0l-7.1-7.1c-.8-.8-.8-2 0-2.8l10.2-10.2c.5-.5.3-1.4-.4-1.7C65.6 20.3 63.8 20 62 20c-10.6 0-19.1 9.2-17.9 20 .2 1.7.6 3.2 1.2 4.7L22 68.1c-2.7 2.7-2.7 7.2 0 9.9 1.4 1.4 3.2 2.1 5 2.1s3.6-.699 5-2.1l23.3-23.3c1.5.6 3.101 1 4.7 1.2 10.9 1.2 20-7.3 20-17.9 0-1.8-.3-3.6-.8-5.2z\"}},\ncustom_component_task:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M49.91 50.6L45 45.69a1.36 1.36 0 00-2 0l-1.94 2a1.33 1.33 0 000 1.94L48 56.44a2.7 2.7 0 001.95.83 2.67 2.67 0 001.94-.83L66 42.27a1.34 1.34 0 000-2l-1.94-1.94a1.34 1.34 0 00-1.95 0z\"},{\"d\":\"M71.81 54.15a23.31 23.31 0 000-8.6l4.6-3.9a4.28 4.28 0 001-5.3l-2-3.5a4.11 4.11 0 00-3.6-2 3.19 3.19 0 00-1.4.3l-5.8 2.1a22.35 22.35 0 00-7.4-4.3l-1-5.9a3.92 3.92 0 00-4.1-3.1h-4a3.85 3.85 0 00-4.1 3.1l-1 5.8a21.59 21.59 0 00-7.5 4.3l-5.9-2.1a7 7 0 00-1.4-.3 4.2 4.2 0 00-3.6 2l-2 3.5a4.16 4.16 0 001 5.3l4.6 3.9a20.87 20.87 0 00-.4 4.3 20.24 20.24 0 00.4 4.3L23.61 58a4.28 4.28 0 00-1 5.3l2 3.5a4.11 4.11 0 003.6 2 3.19 3.19 0 001.4-.3l5.8-2.1a22.35 22.35 0 007.4 4.3l1 6a4.1 4.1 0 004.1 3.4h4a4.18 4.18 0 004.1-3.5l1-6a22.06 22.06 0 007.8-4.6l5.4 2.1a8 8 0 001.5.3 4.2 4.2 0 003.6-2l1.9-3.3a3.67 3.67 0 00-.8-5zm-3.39-9.34l-4.55 4.56v.78a13.85 13.85 0 11-6.7-11.81l2.45-2.44a4.84 4.84 0 016.89 0l2 2a4.9 4.9 0 011.43 3.7 4.66 4.66 0 01-1.52 3.21z\"}]}},\ncustom_notification:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M53.77 21.87L50 40.11a1 1 0 001.12 1.12h19.52a2 2 0 011.62 2.87L51 79a1.85 1.85 0 01-3.5-.87l3.75-21.48c0-.75-.62-.5-1.37-.5H29.42c-1.37 0-2.37-2-1.62-3.25L50.28 21a1.86 1.86 0 013.49.87z\"}},\ncustomer_360:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M78.8 50.8c.7-.7.7-1.6.4-2.4-.4-.9-1.2-1.4-2.2-1.4-.7 0-1.3.2-1.9.8l-.5.5c-.9-13.2-11.8-23.6-25.2-23.6-13.9 0-25.2 11.3-25.2 25.2s11.3 25.2 25.2 25.2c11.9 0 21.8-8.2 24.5-19.3l4.9-5zM49.4 70.1c-11.2 0-20.2-9.1-20.2-20.2s9.1-20.2 20.2-20.2c10.6 0 19.3 8.2 20.1 18.6l-.5-.5c-.3-.3-.6-.5-1-.6-1-.4-2-.1-2.7.7-.8 1-.8 2.4.1 3.3l3.6 3.6c-2.1 8.7-10.1 15.3-19.6 15.3z\"},\"g\":{\"path\":{\"d\":\"M61.7 57.1v1.1c0 1.4-1.1 2.5-2.5 2.5H39.5c-1.4 0-2.5-1.1-2.5-2.5v-1.1c0-3 3.5-4.8 6.8-6.2.1 0 .2-.1.3-.2.2-.1.5-.1.8 0 1.3.9 2.8 1.4 4.4 1.4s3.1-.5 4.4-1.3c.2-.2.5-.2.8 0 .1 0 .2.1.3.2 3.4 1.3 6.9 3.1 6.9 6.1z\"},\"ellipse\":{\"cx\":\"49.4\",\"cy\":\"42.8\",\"rx\":\"6.1\",\"ry\":\"6.8\"}}},\ncustomer_lifecycle_analytics:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M57.4 38.4a18.1 18.1 0 11-18.1-18.2 18.12 18.12 0 0118.1 18.2zm-24.8-8.2c-1.3 0-2.3 1.3-2.3 3.1 0 1.6.9 3.1 2.3 3.1s2.3-1.3 2.3-3.1c-.2-1.7-1.1-3.1-2.3-3.1zm13.5 0c-1.3 0-2.3 1.3-2.3 3.1 0 1.6.9 3.1 2.3 3.1s2.3-1.3 2.3-3.1-.9-3.1-2.3-3.1zM28 40.7c.5 5.7 4.7 10.6 11.2 10.6a11.28 11.28 0 0011.5-10.6z\"},{\"d\":\"M79.6 45.4a1.37 1.37 0 00-1.4-1.4l-14.6-.1a1.29 1.29 0 00-1.4 1.3v2.6a1.37 1.37 0 001.4 1.4l4.5.1a.89.89 0 01.6 1.5l-20 20.1a1 1 0 01-.9-.2L37.1 59.8a1.37 1.37 0 00-1.8-.1l-.1.1-1.9 1.9a.1.1 0 01-.1.1L20.6 74.4a1.39 1.39 0 000 1.9l1.9 1.9a1.39 1.39 0 001.9 0l10.4-10.3a1.87 1.87 0 012.6-.1l10.2 10.3a1.17 1.17 0 001.9 0l23.2-23.4a.88.88 0 011.5.6l.1 4.5a1.37 1.37 0 001.4 1.4h2.6a1.29 1.29 0 001.4-1.3z\"}]},\ncustomer_portal_users:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M68 48.8c0 1.1-.9 2-2 2H47.4c-1.1 0-2-.9-2-2v-3c0-1.1.9-2 2-2H66c1.1 0 2 .9 2 2v3zM39.4 48.8c0 1.1-.9 2-2 2H34c-1.1 0-2-.9-2-2v-3c0-1.1.9-2 2-2h3.4c1.1 0 2 .9 2 2v3zM39.4 61.8c0 1.1-.9 2-2 2H34c-1.1 0-2-.9-2-2v-3c0-1.1.9-2 2-2h3.4c1.1 0 2 .9 2 2v3zM68 61.8c0 1.1-.9 2-2 2H47.4c-1.1 0-2-.9-2-2v-3c0-1.1.9-2 2-2H66c1.1 0 2 .9 2 2v3z\"},{\"d\":\"M73.8 20H26.2c-3.4 0-6.2 2.8-6.2 6.2v47.6c0 3.4 2.8 6.2 6.2 6.2h47.6c3.4 0 6.2-2.8 6.2-6.2V26.2c0-3.4-2.8-6.2-6.2-6.2zm-26.4 7.4c0-.8.8-1.4 1.6-1.4h23.4c.8 0 1.4.8 1.4 1.6v3c0 .8-.8 1.4-1.6 1.4H48.8c-.8 0-1.4-.8-1.4-1.6v-3zm-8-1.4c1.7 0 3 1.3 3 3s-1.3 3-3 3-3-1.3-3-3 1.3-3 3-3zM29 26c1.7 0 3 1.3 3 3s-1.3 3-3 3-3-1.3-3-3 1.3-3 3-3zm45 46.6c0 .8-.8 1.4-1.6 1.4H68v-2.3c0-1.1-.9-2-2-2H47.4c-1.1 0-2 .9-2 2V74h-6v-2.3c0-1.1-.9-2-2-2H34c-1.1 0-2 .9-2 2V74h-4.6c-.8 0-1.4-.8-1.4-1.6v-33c0-.8.8-1.4 1.6-1.4h45c.8 0 1.4.8 1.4 1.6v33z\"}]},\ncustomers:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"ellipse\":{\"cx\":\"41.3\",\"cy\":\"42.3\",\"rx\":\"12.2\",\"ry\":\"13.5\"},\"path\":{\"d\":\"M52.6 57.4c-3.1 2.8-7 4.5-11.3 4.5-4.3 0-8.3-1.7-11.3-4.6C24.5 59.8 19 63 19 68v2.1c0 2.5 2 4.5 4.5 4.5h35.7c2.5 0 4.5-2 4.5-4.5V68c-.1-5-5.5-8.1-11.1-10.6zM68 47.4c-.2-.1-.3-.2-.5-.3-.4-.2-.9-.2-1.3.1-2.1 1.3-4.6 2.1-7.2 2.1h-1c-.5 1.3-1 2.6-1.7 3.7.4.2.9.3 1.4.6 5.7 2.5 9.7 5.6 12.5 9.8H75c2.2 0 4-1.8 4-4v-1.9c0-4.9-5.7-7.9-11-10.1zM66.9 34.2c0-4.9-3.6-8.9-7.9-8.9-2.2 0-4.1 1-5.6 2.5 3.5 3.6 5.7 8.7 5.7 14.4v.8c4.3 0 7.8-3.9 7.8-8.8z\"}},\ndashboard:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M50 20c-16.5 0-30 13.5-30 30s13.5 30 30 30 30-13.5 30-30-13.5-30-30-30zm0 8c12.1 0 22 9.9 22 22 0 1-.1 2-.2 3h-8.9c-1 0-1.8.7-2 1.7-.8 5.2-5.4 9.3-10.9 9.3s-10.1-4.1-10.9-9.3c-.1-1-1-1.7-2-1.7h-8.9c-.1-1-.2-2-.2-3 0-12.1 9.9-22 22-22z\"},{\"d\":\"M47.7 57.4c2.4 1.3 5.5.3 6.8-2.1 1.9-3.5 5.5-18.9 4.6-19.3-.9-.5-11.6 11.1-13.4 14.7-1.4 2.4-.5 5.4 2 6.7z\"}]},\ndashboard_ea:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M22.5 19.7h20c1.4 0 2.5 1.1 2.5 2.5v54.9c0 1.4-1.1 2.5-2.5 2.5h-20c-1.4 0-2.5-1.1-2.5-2.5V22.2c0-1.4 1.1-2.5 2.5-2.5zM57.5 19.6h20c1.4 0 2.5 1.1 2.5 2.5V42c0 1.4-1.1 2.5-2.5 2.5h-20c-1.4 0-2.5-1.1-2.5-2.5V22.1c0-1.4 1.1-2.5 2.5-2.5zM57.5 54.6h20c1.4 0 2.5 1.1 2.5 2.5V77c0 1.4-1.1 2.5-2.5 2.5h-20c-1.4 0-2.5-1.1-2.5-2.5V57.1c0-1.3 1.1-2.5 2.5-2.5z\"}},\ndata_integration_hub:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M73.9 27c-3.9 0-7.1 3.2-7.1 7.1 0 .6.1 1.1.2 1.6l-6.7 4.4c-2.1-2.4-5.1-4-8.6-4-2.6 0-5 .9-6.9 2.4l-11-7.6c.7-2.9-.8-6.1-3.6-7.4-3.3-1.5-7.2-.1-8.7 3.1s-.1 7.2 3.1 8.7c1.7.8 3.6.8 5.3.1l11.3 7.9c-.5 1.2-.8 2.6-.8 4 0 .8.1 1.5.2 2.3l-6.9 2.5c-.9-1-2.1-1.8-3.6-2.2-3.9-1.1-8 1.2-9.1 5.2-1.1 3.9 1.2 8 5.2 9.1 3.9 1.1 8-1.2 9.1-5.2.1-.4.2-.8.2-1.2l7.9-2.8c2.1 2.2 5 3.6 8.2 3.6h.9l1.1 5.6c-2.1 1.7-3.3 4.4-3 7.2.4 4.6 4.5 7.9 9.1 7.5 4.6-.4 7.9-4.5 7.5-9.1-.4-4.1-3.7-7.2-7.7-7.5l-1.2-5.9c2.8-2 4.7-5.4 4.7-9.1 0-.6-.1-1.2-.1-1.7l7.9-5.2c1 .5 2.1.8 3.2.8 3.9 0 7.1-3.2 7.1-7.1-.1-3.9-3.3-7.1-7.2-7.1zM51.7 54.6c-4 0-7.2-3.2-7.2-7.2s3.2-7.2 7.2-7.2 7.2 3.2 7.2 7.2c0 3.9-3.2 7.2-7.2 7.2z\"},\"circle\":{\"cx\":\"51.8\",\"cy\":\"47.4\",\"r\":\"3.2\"}}},\ndata_mapping:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M73.12 43.75a6.88 6.88 0 11-6.12 10h-1.14c-6.74.08-9.11 2.12-12.88 9.18l-.22.4-.25.48C50.27 68 49 69.94 46.69 72c-3.24 2.84-7.42 4.29-12.94 4.29H33A6.88 6.88 0 1133 70h1.14c6.86-.08 9.2-2.2 13.1-9.58l.25-.48a34.38 34.38 0 013.88-6.19H33a6.88 6.88 0 110-6.25h34a6.86 6.86 0 015.85-3.74zm0-23.75A6.88 6.88 0 1167 30H33a6.88 6.88 0 110-6.25h34A6.86 6.86 0 0173.12 20z\"}},\ndata_model:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M72.7 65.8a6.6 6.6 0 00-3.2.8l-8.8-6.5a11.36 11.36 0 001.2-5.2A11.91 11.91 0 0053 43.4v-10a7 7 0 004-6.2 6.9 6.9 0 10-13.8 0 6.73 6.73 0 004 6.2v10a11.91 11.91 0 00-8.9 11.5 11.36 11.36 0 001.2 5.2l-8.8 6.5a7.22 7.22 0 00-3.2-.8 6.9 6.9 0 106.9 6.9c0-.5-.1-.9-.1-1.3l9.2-6.8a11.61 11.61 0 0013.6 0l9.2 6.8a5.7 5.7 0 00-.1 1.3 6.9 6.9 0 0013.8 0 7.41 7.41 0 00-7.3-6.9zm-21.3-5.1a6.75 6.75 0 01-1.4.2 6.1 6.1 0 01-5.7-4.4 7.72 7.72 0 01-.2-1.5 5.81 5.81 0 013-5.1 6 6 0 016 0 5.81 5.81 0 013 5.1 7.72 7.72 0 01-.2 1.5 6.54 6.54 0 01-4.5 4.2z\"}},\ndata_streams:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M68.8 20.3a10.9 10.9 0 11-10.5 13.9h-.4a5 5 0 00-5 5v4.3l6.3 6.3a1.93 1.93 0 010 2.8L57.9 54a1.93 1.93 0 01-2.8 0L53 51.9v9a10.85 10.85 0 01-10.5 10.9h-.8a10.91 10.91 0 11-10.5-13.9 11 11 0 0110.5 7.9h.4a5 5 0 005-5v-8.7L45.3 54a1.93 1.93 0 01-2.8 0l-1.4-1.4a1.93 1.93 0 010-2.8l5.9-5.9v-4.7a10.85 10.85 0 0110.5-10.9h.8a10.83 10.83 0 0110.5-8zM31.2 63.9a5 5 0 00-5 5 5 5 0 0010 0 5 5 0 00-5-5zm37.6-37.7a5 5 0 00-5 5 5 5 0 1010 0 5 5 0 00-5-5z\"}},\ndatadotcom:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M71.1 80h-6.8c-.4-2.4-.6-4.6-.6-6.5h-.1c-3.2 5.1-8.4 7.7-15.6 7.7-6.1 0-10.9-2-14.2-6.3-3.3-4.2-4.9-9.7-4.9-16.3 0-4.3.8-8.2 2.4-11.6s4-6.3 7-8.2c3.1-2 6.6-3.1 10.7-3.1 5.9 0 10.6 1.9 14.2 5.6V20h7.2v50.6c0 3 .3 6.2.7 9.4zm-7.9-18.5V47.8c-1.7-2.2-3.6-3.7-5.7-4.9-2.2-1-4.6-1.5-7.4-1.5-4.2 0-7.5 1.5-10 4.7s-3.6 7.3-3.6 12.3c0 5.2 1.1 9.3 3.4 12.4s5.6 4.6 9.7 4.6 7.4-1.3 9.8-4c2.6-2.5 3.8-5.8 3.8-9.9z\"}},\ndataset:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M52 20.6l23.4 11.5c1.6.8 2.6 2.4 2.6 4.1V63c0 1.8-1 3.4-2.6 4.1L52 78.6c-1.3.6-2.8.6-4.1 0L24.6 67.1C23 66.3 22 64.7 22 63V36.2c0-1.8 1-3.4 2.6-4.1L48 20.6c1.2-.6 2.8-.6 4 0z\"}},\ndate_input:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M76 42H24c-1.1 0-2 .9-2 2v30c0 3.3 2.7 6 6 6h44c3.3 0 6-2.7 6-6V44c0-1.1-.9-2-2-2zM40 70c0 1.1-.9 2-2 2h-4c-1.1 0-2-.9-2-2v-4c0-1.1.9-2 2-2h4c1.1 0 2 .9 2 2v4zm14 0c0 1.1-.9 2-2 2h-4c-1.1 0-2-.9-2-2v-4c0-1.1.9-2 2-2h4c1.1 0 2 .9 2 2v4zm0-14c0 1.1-.9 2-2 2h-4c-1.1 0-2-.9-2-2v-4c0-1.1.9-2 2-2h4c1.1 0 2 .9 2 2v4zm14 0c0 1.1-.9 2-2 2h-4c-1.1 0-2-.9-2-2v-4c0-1.1.9-2 2-2h4c1.1 0 2 .9 2 2v4zm4-30h-5v-2c0-2.2-1.8-4-4-4s-4 1.8-4 4v2H41v-2c0-2.2-1.8-4-4-4s-4 1.8-4 4v2h-5c-3.3 0-6 2.7-6 6v2c0 1.1.9 2 2 2h52c1.1 0 2-.9 2-2v-2c0-3.3-2.7-6-6-6z\"}},\ndate_time:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M72 26h-5v-2c0-2.2-1.8-4-4-4s-4 1.8-4 4v2H41v-2c0-2.2-1.8-4-4-4s-4 1.8-4 4v2h-5c-3.3 0-6 2.7-6 6v2c0 1.1.9 2 2 2h52c1.1 0 2-.9 2-2v-2c0-3.3-2.7-6-6-6zM76 42H24c-1.1 0-2 .9-2 2v30c0 3.3 2.7 6 6 6h44c3.3 0 6-2.7 6-6V44c0-1.1-.9-2-2-2zM50 75.9c-8.2 0-14.9-6.7-14.9-14.9S41.8 46.1 50 46.1 64.9 52.8 64.9 61 58.2 75.9 50 75.9z\"},{\"d\":\"M51.5 60.4V54c0-.5-.4-1-1-1h-1c-.5 0-1 .4-1 1v7c0 .4.1.8.4 1l4.8 4.8c.4.4 1 .4 1.4 0l.7-.7c.4-.4.4-1 0-1.4l-4.3-4.3z\"}]},\ndecision:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M79.4 28.8l-5.2-3.9c-.8-.5-1.5-.8-2.4-.8H54V22c0-1.1-.9-2-2-2h-4c-1.1 0-2 .9-2 2v2H26c-1.1 0-2 .9-2 2v8c0 1.1.9 2 2 2h45.8c.9 0 1.8-.2 2.4-.8l5.2-3.9c.8-.7.8-1.9 0-2.5zM74 46H54v-3c0-.6-.4-1-1-1h-6c-.6 0-1 .4-1 1v3H28.3c-.9 0-1.8.2-2.4.8l-5.2 3.9c-.9.6-.9 1.9 0 2.6l5.2 3.9c.8.5 1.5.8 2.4.8H74c1.1 0 2-.9 2-2v-8c0-1.1-.9-2-2-2zM54 71.6v-4.9c0-.6-.4-1-1-1h-6c-.6 0-1 .4-1 1v4.9c-4 1.1-6.2 3.5-6.9 6.5-.2.9.5 1.9 1.5 1.9h18.9c1 0 1.8-.9 1.5-1.9-.7-3-3-5.3-7-6.5z\"}},\ndefault:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"opacity\":\".5\",\"d\":\"M44.6 32.8c2.1-2.1 4.9-3.4 8.1-3.4 4.2 0 7.9 2.3 9.9 5.7 1.7-.7 3.6-1.2 5.6-1.2C75.8 34 82 40.1 82 47.6c0 7.6-6.2 13.7-13.8 13.7-.9 0-1.8-.1-2.7-.3-1.7 3-5 5.1-8.8 5.1-1.6 0-3.1-.4-4.4-1-1.8 4-5.8 6.9-10.6 6.9-5 0-9.2-3.1-10.8-7.4-.7.1-1.4.2-2.2.2-5.9 0-10.7-4.7-10.7-10.6 0-3.9 2.1-7.4 5.3-9.2-.7-1.5-1-3.1-1-4.8 0-6.7 5.6-12.2 12.4-12.2 4.1 0 7.7 1.9 9.9 4.8\"}},\ndelegated_account:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M76.8 42.4H54.3c-2 0-2.3 2.1-2.3 2.3v34.2h26.8V45.2c.2-2.2-1.4-2.8-2-2.8zM63.4 73c0 1.1-.9 2.1-2.1 2.1h-2.1c-1.1 0-2.1-.9-2.1-2.1v-2.1c0-1.1.9-2.1 2.1-2.1h2.1c1.1 0 2.1.9 2.1 2.1V73zm0-10.5c0 1.1-.9 2.1-2.1 2.1h-2.1c-1.1 0-2.1-.9-2.1-2.1v-2.1c0-1.1.9-2.1 2.1-2.1h2.1c1.1 0 2.1.9 2.1 2.1v2.1zm0-10.5c0 1.1-.9 2.1-2.1 2.1h-2.1c-1.1 0-2.1-.9-2.1-2.1v-2.1c0-1.1.9-2.1 2.1-2.1h2.1c1.1 0 2.1.9 2.1 2.1V52zm10.3 21c0 1.1-.9 2.1-2.1 2.1h-2.1c-1.1 0-2.1-.9-2.1-2.1v-2.1c0-1.1.9-2.1 2.1-2.1h2.1c1.1 0 2.1.9 2.1 2.1V73zm0-10.5c0 1.1-.9 2.1-2.1 2.1h-2.1c-1.1 0-2.1-.9-2.1-2.1v-2.1c0-1.1.9-2.1 2.1-2.1h2.1c1.1 0 2.1.9 2.1 2.1v2.1zm0-10.5c0 1.1-.9 2.1-2.1 2.1h-2.1c-1.1 0-2.1-.9-2.1-2.1v-2.1c0-1.1.9-2.1 2.1-2.1h2.1c1.1 0 2.1.9 2.1 2.1V52z\"},{\"d\":\"M56 19.2H21.3c-2 0-2.3 2.1-2.3 2.3v57.3h26.8V38.6s0-2.5 2.3-2.5h8c.9-.1 2-.5 2-2.1V22c.1-2.2-1.4-2.8-2.1-2.8zM30.4 72.1c0 1.1-.9 2.1-2.1 2.1h-2.1c-1.1 0-2.1-.9-2.1-2.1V70c0-1.1.9-2.1 2.1-2.1h2.1c1.1 0 2.1.9 2.1 2.1v2.1zm0-10.6c0 1.1-.9 2.1-2.1 2.1h-2.1c-1.1 0-2.1-.9-2.1-2.1v-2.1c0-1.1.9-2.1 2.1-2.1h2.1c1.1 0 2.1.9 2.1 2.1v2.1zm0-10.6c0 1.1-.9 2.1-2.1 2.1h-2.1c-1.1 0-2.1-.9-2.1-2.1v-2.1c0-1.1.9-2.1 2.1-2.1h2.1c1.1 0 2.1.9 2.1 2.1v2.1zm0-10.6c0 1.1-.9 2.1-2.1 2.1h-2.1c-1.1 0-2.1-.9-2.1-2.1v-2.1c0-1.1.9-2.1 2.1-2.1h2.1c1.1 0 2.1.9 2.1 2.1v2.1zm0-10.5c0 1.1-.9 2.1-2.1 2.1h-2.1c-1.1 0-2.1-.9-2.1-2.1v-2.1c0-1.1.9-2.1 2.1-2.1h2.1c1.1 0 2.1.9 2.1 2.1v2.1zm11.3 42.3c0 1.1-.9 2.1-2.1 2.1h-2.1c-1.1 0-2.1-.9-2.1-2.1V70c0-1.1.9-2.1 2.1-2.1h2.1c1.1 0 2.1.9 2.1 2.1v2.1zm0-10.6c0 1.1-.9 2.1-2.1 2.1h-2.1c-1.1 0-2.1-.9-2.1-2.1v-2.1c0-1.1.9-2.1 2.1-2.1h2.1c1.1 0 2.1.9 2.1 2.1v2.1zm0-10.6c0 1.1-.9 2.1-2.1 2.1h-2.1c-1.1 0-2.1-.9-2.1-2.1v-2.1c0-1.1.9-2.1 2.1-2.1h2.1c1.1 0 2.1.9 2.1 2.1v2.1zm0-10.6c0 1.1-.9 2.1-2.1 2.1h-2.1c-1.1 0-2.1-.9-2.1-2.1v-2.1c0-1.1.9-2.1 2.1-2.1h2.1c1.1 0 2.1.9 2.1 2.1v2.1zm0-10.5c0 1.1-.9 2.1-2.1 2.1h-2.1c-1.1 0-2.1-.9-2.1-2.1v-2.1c0-1.1.9-2.1 2.1-2.1h2.1c1.1 0 2.1.9 2.1 2.1v2.1zm11.4 0c0 1.1-1 2.1-2.1 2.1h-2.1c-1.1 0-2.1-.9-2.1-2.1v-2.1c0-1.1.9-2.1 2.1-2.1H51c1.1 0 2.1.9 2.1 2.1v2.1zM79.5 30.5c-.6-.5-1.6-.4-2.1.2l-.8 1c-.7-6.1-5.2-8.6-8.6-9.4l.8-.5c.7-.4.9-1.4.5-2.1s-1.4-.9-2.1-.5l-4 2.6c-.4.2-.6.6-.7 1s0 .8.3 1.2l3.3 4.2c.3.4.7.6 1.2.6.3 0 .7-.1.9-.3.7-.5.8-1.5.3-2.1l-.8-1.1c2.1.5 5.4 2.2 5.9 6.8l-.7-.8c-.6-.6-1.5-.6-2.1 0s-.6 1.5 0 2.1l3.3 3.4c.3.3.7.4 1.1.4h.1c.4 0 .8-.2 1.1-.5l3.4-4.2c.4-.5.3-1.5-.3-2z\"}]}},\ndevice:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M56.59 37.92H53.3v-3.3a2.2 2.2 0 00-2.2-2.19h-2.2a2.2 2.2 0 00-2.2 2.19v3.3h-3.29a2.21 2.21 0 00-2.2 2.2v2.19a2.21 2.21 0 002.2 2.2h3.29v3.3A2.21 2.21 0 0048.9 50h2.2a2.21 2.21 0 002.2-2.2v-3.3h3.29a2.21 2.21 0 002.2-2.2v-2.18a2.21 2.21 0 00-2.2-2.2z\"},{\"d\":\"M79.6 25.33a5 5 0 00-4.93-4.93H25.33a5 5 0 00-4.93 4.93V57.4a5 5 0 004.93 4.93h49.34a5 5 0 004.93-4.93zm-7.4 27.75a1.89 1.89 0 01-1.85 1.85h-40.7a1.89 1.89 0 01-1.85-1.85V29.65a1.89 1.89 0 011.85-1.85h40.7a1.89 1.89 0 011.85 1.85zM58.63 72.2h-3.7A1.16 1.16 0 0153.7 71v-2.5a1.16 1.16 0 00-1.23-1.23h-4.94a1.16 1.16 0 00-1.23 1.23V71a1.16 1.16 0 01-1.23 1.23h-3.7a5 5 0 00-4.94 4.93v.62a1.9 1.9 0 001.85 1.85h23.44a1.9 1.9 0 001.85-1.85v-.62a5 5 0 00-4.94-4.96z\"}]}},\ndisplay_rich_text:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M22 71.8h56c1.1 0 2 .9 2 2v4c0 1.1-.9 2-2 2H22c-1.1 0-2-.9-2-2v-4c0-1.1.9-2 2-2zM22 53.8h56c1.1 0 2 .9 2 2v4c0 1.1-.9 2-2 2H22c-1.1 0-2-.9-2-2v-4c0-1.1.9-2 2-2zM57.6 35.8H78c1.1 0 2 .9 2 2v4c0 1.1-.9 2-2 2H57.6c-1.1 0-2-.9-2-2v-4c0-1.1.9-2 2-2zM47.6 44.4L38.1 21c-.2-.4-.6-.7-1.1-.7h-7.2c-.4 0-.9.3-1 .7L20 44.4c-.1.4.1 1 .7 1h4.6c.4 0 .9-.4 1-.8l1.8-5h11.1l2 5c.1.4.6.8 1 .8h4.6c.6 0 .9-.5.8-1zM30.2 33.6l2.9-7.4h.6l3.2 7.4h-6.7z\"}},\ndisplay_text:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M72.3 20.1H27.8c-4.3 0-7.8 3.5-7.8 7.8v44.3c0 4.3 3.5 7.8 7.8 7.8h44.4c4.3 0 7.8-3.5 7.8-7.8V27.9c.1-4.3-3.4-7.8-7.7-7.8zm-41.9 13c0-1.4 1.2-2.6 2.6-2.6h29.2c1.4 0 2.6 1.2 2.6 2.6v2.7c0 1.4-1.1 2.6-2.5 2.6H33c-1.4 0-2.6-1.2-2.6-2.6v-2.7zm30.8 34c0 1.4-1.1 2.6-2.5 2.6H33c-1.4 0-2.6-1.2-2.6-2.6v-2.6c0-1.4 1.2-2.6 2.6-2.6h25.6c1.4 0 2.6 1.2 2.6 2.6v2.6zm8.4-15.7c0 1.4-1.1 2.6-2.5 2.6H33c-1.4 0-2.6-1.2-2.6-2.6v-2.6c0-1.4 1.2-2.6 2.6-2.6h34c1.4 0 2.6 1.2 2.6 2.6v2.6z\"}},\ndocument:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M73 42H59c-3.3 0-6-2.7-6-6V22c0-1.1-.9-2-2-2H31c-3.3 0-6 2.7-6 6v48c0 3.3 2.7 6 6 6h38c3.3 0 6-2.7 6-6V44c0-1.1-.9-2-2-2z\"},{\"d\":\"M74.6 33.6L61.4 20.4c-.3-.3-.6-.4-1-.4-.8 0-1.4.6-1.4 1.4V32c0 2.2 1.8 4 4 4h10.6c.8 0 1.4-.6 1.4-1.4 0-.4-.1-.7-.4-1z\"}]},\ndocument_reference:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M71.4 69.89l-2.58 5.23a1.5 1.5 0 01-1.34.84h-.08a1.5 1.5 0 01-1.33-1l-3.26-8.83-1.45 3A1.51 1.51 0 0160 70h-5.53a11.12 11.12 0 0022-.1z\"},{\"d\":\"M59.07 67l2.57-5.31a1.49 1.49 0 011.43-.85 1.53 1.53 0 011.33 1l3.27 8.85 1.45-2.93a1.5 1.5 0 011.34-.84h6A11.12 11.12 0 0054.4 67z\"},{\"d\":\"M51.35 68.4a14.16 14.16 0 011.15-5.59h-12a1.7 1.7 0 01-1.7-1.7v-1.69a1.7 1.7 0 011.7-1.7h15.75a14.06 14.06 0 019.23-3.46h.44V40.83a1.69 1.69 0 00-1.69-1.69H52.35A5.11 5.11 0 0147.26 34V22.16a1.71 1.71 0 00-1.7-1.69h-17a5.1 5.1 0 00-5.09 5.09v40.73a5.1 5.1 0 005.09 5.09h23.11a14.23 14.23 0 01-.32-2.98zm6.09-19.17a1.71 1.71 0 011.7 1.7v1.7a1.71 1.71 0 01-1.7 1.69h-17a1.71 1.71 0 01-1.7-1.69v-1.7a1.7 1.7 0 011.7-1.7h17zM35.38 61.11a1.7 1.7 0 01-1.7 1.7H32a1.7 1.7 0 01-1.7-1.7v-1.69a1.7 1.7 0 011.7-1.7h1.7a1.7 1.7 0 011.7 1.7zm0-8.48a1.71 1.71 0 01-1.7 1.69H32a1.71 1.71 0 01-1.7-1.69v-1.7a1.71 1.71 0 011.7-1.7h1.7a1.71 1.71 0 011.7 1.7zM38 42.53a1.71 1.71 0 01-1.7 1.7h-1.7a1.71 1.71 0 01-1.69-1.7v-3.39h-3.4a1.71 1.71 0 01-1.7-1.7v-1.7a1.71 1.71 0 011.7-1.7h3.4v-3.39a1.7 1.7 0 011.7-1.65h1.7A1.71 1.71 0 0138 30.7V34h3.4a1.71 1.71 0 011.7 1.7v1.7a1.71 1.71 0 01-1.7 1.7H38z\"},{\"d\":\"M55.74 34h9a1.15 1.15 0 001.18-1.12v-.06a1.09 1.09 0 00-.34-.85l-11.2-11.2a1.05 1.05 0 00-.84-.34 1.16 1.16 0 00-1.19 1.13v9.06A3.39 3.39 0 0055.74 34z\"}]},\ndrafts:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M73 20H41c-3.3 0-6 2.7-6 6v1c0 .6.4 1 1 1h29c3.3 0 6 2.7 6 6v31c0 .6.4 1 1 1h1c3.3 0 6-2.7 6-6V26c0-3.3-2.7-6-6-6z\"},{\"d\":\"M59 34H27c-3.3 0-6 2.7-6 6v34c0 3.3 2.7 6 6 6h32c3.3 0 6-2.7 6-6V40c0-3.3-2.7-6-6-6zM29 44c0-1.1.9-2 2-2h20c1.1 0 2 .9 2 2v2c0 1.1-.9 2-2 2H31c-1.1 0-2-.9-2-2v-2zm24 26c0 1.1-.9 2-2 2H31c-1.1 0-2-.9-2-2v-2c0-1.1.9-2 2-2h20c1.1 0 2 .9 2 2v2zm4-12c0 1.1-.9 2-2 2H31c-1.1 0-2-.9-2-2v-2c0-1.1.9-2 2-2h24c1.1 0 2 .9 2 2v2z\"}]},\nduration_downscale:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M39.82 20H26.61C23 20 20 22.69 20 26v10c0 3.31 3 6 6.61 6h13.21c3.6 0 6.6-2.69 6.6-6V26c0-3.31-2.96-6-6.6-6zm-5.51 16h-2.2a5.27 5.27 0 01-5.5-5 5.27 5.27 0 015.5-5h2.2a5.28 5.28 0 015.51 5 5.28 5.28 0 01-5.51 5zM59.63 42h13.21c3.61 0 6.61-2.69 6.61-6V26c0-3.31-3-6-6.61-6H59.6C56 20 53 22.69 53 26v10c0 3.31 3 6 6.63 6zm5.51-16h2.2a5.27 5.27 0 015.5 5 5.27 5.27 0 01-5.5 5h-2.2a5.28 5.28 0 01-5.51-5 5.28 5.28 0 015.51-5zM39.82 48H26.61C23 48 20 50.69 20 54v10c0 3.31 3 6 6.61 6h13.21c3.6 0 6.6-2.69 6.6-6V54c0-3.31-2.96-6-6.6-6zm-5.51 16h-2.2a5 5 0 010-10h2.2a5 5 0 010 10zM79.78 67.63a1.15 1.15 0 00-.27-.27l-2.31-1.9a1.78 1.78 0 00-2.3 0L71 68.69c-.66.56-1.81.21-1.81-.63V49.4a1.6 1.6 0 00-1.62-1.4h-3.29a1.65 1.65 0 00-1.65 1.4v18.66c0 .84-1.15 1.19-1.81.63L57 65.46a1.8 1.8 0 00-2.31 0l-2.27 1.9a1.15 1.15 0 00-.29 1.6 1.33 1.33 0 00.29.29l12.35 10.33a1.78 1.78 0 002.3 0l12.44-10.33a1.17 1.17 0 00.27-1.62z\"}},\ndynamic_record_choice:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M43.5 71.4V71C34.5 68.2 28 59.9 28 50c0-12.1 9.9-22 22-22s22 9.9 22 22c0 2-.3 4-.8 5.9l.9.6c.4 0 .7-.1 1.1-.1 2 0 4 .6 5.6 1.5.7-2.5 1.1-5.2 1.1-8 0-16.5-13.5-30-30-30s-30 13.5-30 30c0 15.9 12.4 28.9 28 29.9-2.6-1.8-4.4-4.9-4.4-8.4z\"},{\"d\":\"M56.7 53.5c1.9 0 3.7.5 5.3 1.3l1.2-.3c.5-1.4.8-2.9.8-4.5 0-7.7-6.2-13.9-13.9-13.9S36.2 42.3 36.2 50c0 6.2 4 11.4 9.6 13.3.6-5.6 5.2-9.8 10.9-9.8z\"},{\"d\":\"M61.6 60.8c1-1 2.4-1.7 4-1.7 2.1 0 3.9 1.1 4.9 2.8.8-.3 1.8-.6 2.8-.6 3.7 0 6.8 3.1 6.8 6.7 0 3.7-3.1 6.7-6.8 6.7-.4 0-.9 0-1.3-.1-.8 1.5-2.5 2.5-4.3 2.5-.8 0-1.5-.2-2.2-.5-.9 2-2.9 3.4-5.2 3.4-2.5 0-4.5-1.5-5.3-3.6-.3 0-.7.1-1.1.1-2.9 0-5.3-2.3-5.3-5.2 0-1.9 1-3.6 2.6-4.5-.3-.7-.5-1.5-.5-2.4 0-3.3 2.8-6 6.1-6 1.9.1 3.7 1 4.8 2.4z\"}]},\neducation:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M49.9 51.1c-1.5.1-2.9-.5-4.4-1-7.9-2.6-15.8-5.2-23.6-7.9-.5-.2-.9-.4-1.3-.7-.5-.4-.5-.9 0-1.3.4-.3.9-.6 1.4-.7 8.4-2.5 16.8-5 25.2-7.6 1.9-.6 3.8-.6 5.8 0 8.3 2.5 16.7 5 25 7.5.5.2 1 .4 1.5.7.6.4.6 1 0 1.4-.4.3-.8.5-1.2.6-8.3 2.8-16.7 5.6-25.1 8.3-1.1.5-2.1.7-3.3.7zM33.3 51.5c-1.2-.3-1.5.5-1.5 1.1v9.5c0 1.1.4 1.8 1.1 2.5.3.3.6.5.9.7 2 1.4 4.3 2.3 6.7 2.9 4.7 1.3 9.5 1.5 14.3.9 3.1-.4 6.2-1.2 9.1-2.5 1.3-.6 2.5-1.3 3.4-2.3.6-.6.9-1.2.8-2.1.1-3 .1-6.1.1-9.2 0-1.7-1.2-1.5-1.7-1.4-4.4 1.5-8.9 2.9-13.3 4.4-2.2.7-4.3.7-6.5 0l-13.4-4.5zM74.9 48.6c-.4.1-.5.3-.5.7v8.4c0 .3-.1.6-.2.9-.6 1.5-1.3 3-1.8 4.5-.5 1.4-.2 2.8.8 3.9.3.4.7.7 1.1 1 .4.3 1 .5 1.5.6.9.1 1.6-.4 2.2-.9l.9-.9c.7-.9.9-2.2.6-3.4-.4-1.7-1.1-3.2-1.9-4.7-.2-.3-.3-.7-.3-1v-9.2c0-.6-.5-.5-.7-.4l-1.7.5z\"}}},\neinstein_replies:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M50 22.4c-16.7 0-30 12.3-30 27.4 0 4.8 1.4 9.3 3.6 13.3.4.6.5 1.4.3 2.1L20 75.9c-.4 1 .6 1.9 1.6 1.6l10.9-4.1c.6-.3 1.4-.1 2.1.3 4.5 2.5 9.9 4 15.7 4 16.4-.2 29.8-12.3 29.8-27.6C80 34.6 66.6 22.4 50 22.4zm13.3 24.5l-7 5.2c-.3.2-.4.6-.3 1l3.3 8.8c.2.8-.6 1.5-1.3 1l-7.5-5.6c-.3-.2-.7-.2-1 0l-7.6 5.6c-.7.5-1.6-.2-1.3-1l3.2-8.8c.1-.3 0-.7-.3-1l-7-5.2c-.7-.5-.3-1.7.5-1.7h8.6c.4 0 .7-.1.8-.5l2.7-8.7c.2-.8 1.4-.7 1.6.1l2.6 8.6c.1.3.5.5.8.5h8.6c1 0 1.3 1.2.6 1.7z\"}},\nemail:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M48.7 55c.8.7 1.9.7 2.7 0l28.3-26.2c.5-1 .4-2.6-1.6-2.6l-56 .1c-1.5 0-2.7 1.4-1.6 2.6L48.7 55z\"},{\"d\":\"M80 40c0-1.3-1.6-2-2.5-1.1l-22 20.4c-1.5 1.4-3.4 2.1-5.4 2.1s-3.9-.7-5.4-2.1L22.6 38.9c-1-.9-2.5-.2-2.5 1.1v26c0 3.3 2.7 6 6 6h48c3.3 0 6-2.7 6-6-.1 0-.1-18-.1-26z\"}]},\nemail_chatter:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M48.7 55c.8.7 1.9.7 2.7 0l28.3-26.2c.5-1 .4-2.6-1.6-2.6l-56 .1c-1.5 0-2.7 1.4-1.6 2.6L48.7 55z\"},{\"d\":\"M80 40c0-1.3-1.6-2-2.5-1.1l-22 20.4c-1.5 1.4-3.4 2.1-5.4 2.1s-3.9-.7-5.4-2.1L22.6 38.9c-1-.9-2.5-.2-2.5 1.1v26c0 3.3 2.7 6 6 6h48c3.3 0 6-2.7 6-6-.1 0-.1-18-.1-26z\"}]},\nemployee:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M72.1 46.7c-3-13.8-17.7-23.9-20.6-25.9-.1-.1-.2-.1-.4-.2a3.31 3.31 0 00-2.4 0c-.1 0-.1.1-.2.1-2.9 1.9-17.5 12-20.6 25.8a22.18 22.18 0 004.4 19.1 24.46 24.46 0 0014.7 9l-1.5 2.6a2.48 2.48 0 000 1.7 1.72 1.72 0 001.5.9h6.1a2 2 0 001.5-.9 2.48 2.48 0 000-1.7l-1.5-2.6a24 24 0 0014.7-9 22.33 22.33 0 004.3-18.9zm-8.3 15.7c-.5.6-1.1 1.2-1.7 1.9a13 13 0 00-12-8h-.4a12.29 12.29 0 00-11.7 8c-.6-.6-1.1-1.2-1.7-1.9a17.38 17.38 0 01-3.5-14.7C35.2 37.1 46.1 28.5 50 25.9c3.9 2.7 14.8 11.3 17.2 21.9a16.56 16.56 0 01-3.4 14.6z\"},\"circle\":{\"cx\":\"50\",\"cy\":\"46.3\",\"r\":\"8.4\"}},\nemployee_asset:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M74.8 20.3H25.2a5 5 0 00-5 5v34.3a5 5 0 005 5h49.5a5 5 0 005-5V25.2a4.91 4.91 0 00-4.9-4.9zm-2.5 34.9a2 2 0 01-1.9 1.9H29.6a1.9 1.9 0 01-1.9-1.9V29.6a2 2 0 011.9-1.9h40.7a2 2 0 012 1.9zM41.3 72.3a5 5 0 00-5 5v.6a2 2 0 001.9 1.9h23.5a2 2 0 001.9-1.9v-.6a5 5 0 00-5-5z\"},{\"d\":\"M50.2 44.4h-.4a8.83 8.83 0 00-8.7 7.5c0 .4.1 1.2 1.5 1.2h14.9c1.4 0 1.5-.9 1.5-1.2a9 9 0 00-8.8-7.5z\"}],\"circle\":{\"cx\":\"50.1\",\"cy\":\"37.6\",\"r\":\"5.8\"}},\nemployee_contact:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M73.8 29.7H26.3a6 6 0 00-6 6v28.6a6 6 0 006 6h47.4a6 6 0 006-6V35.7a6.13 6.13 0 00-5.9-6zm-34.9 5.4a7.6 7.6 0 11-7.6 7.6 7.66 7.66 0 017.6-7.6zm9.8 28.3H29.2c-1.7 0-2-1.1-2-1.6a11.45 11.45 0 0111.4-9.9h.4a11.45 11.45 0 0111.4 9.9c.3.5 0 1.6-1.7 1.6zm23.1-6.9a2 2 0 01-2 2H61a2 2 0 01-2-2v-3a2 2 0 012-2h8.8a2 2 0 012 2zm0-11a2 2 0 01-2 2H55a2 2 0 01-2-2v-3a2 2 0 012-2h14.8a2 2 0 012 2z\"}},\nemployee_job:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"circle\":{\"cx\":\"44.6\",\"cy\":\"36.3\",\"r\":\"16\"},\"path\":{\"d\":\"M48.8 79.6c2.7 0 1.2-1.9 1.2-1.9a19.58 19.58 0 01-2.5-20.1l.2-.4a1.17 1.17 0 00-.9-1.9 18.48 18.48 0 00-2.4-.1 24.26 24.26 0 00-24 20.9c0 1.2.4 3.5 4.2 3.5h24.2zM65.2 51.2a14.2 14.2 0 1014.2 14.2 14.25 14.25 0 00-14.2-14.2zM60.4 74a3.5 3.5 0 113.5-3.5 3.54 3.54 0 01-3.5 3.5zm3.5-11.9a1.27 1.27 0 01-.4.7l-2.7 1.5a.48.48 0 01-.7 0l-2.7-1.5a1 1 0 01-.4-.7V59a1 1 0 01.4-.7l2.7-1.5a.48.48 0 01.7 0l2.7 1.5a1 1 0 01.4.7zm2.6-4.3a.68.68 0 01.7-.7h5.2a.68.68 0 01.7.7V63a.68.68 0 01-.7.7h-5.1a.68.68 0 01-.7-.7l-.1-5.2zM73.4 71l-3.1 3.2a.48.48 0 01-.7 0L66.5 71a.48.48 0 010-.7l3.1-3.2a.48.48 0 01.7 0l3.1 3.2a.48.48 0 010 .7z\"}},\nemployee_job_position:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M65.3 51.5a14.25 14.25 0 1014.2 14.3 14.32 14.32 0 00-14.2-14.3zM67.8 67a3.09 3.09 0 01-1.1-.2l-5.4 5.4a1.71 1.71 0 01-1.1.5c-.5 0-.9-.1-1.1-.5a1.82 1.82 0 010-2.4l5.4-5.4a4.47 4.47 0 014-5.8 3.09 3.09 0 011.1.2c.2 0 .2.2.1.4l-2.5 2.4a.37.37 0 000 .6l1.6 1.6a.48.48 0 00.7 0l2.4-2.4c.1-.1.5-.1.5.1a6.53 6.53 0 01.2 1.1 4.47 4.47 0 01-4.8 4.4z\"},{\"d\":\"M48.9 79.7c2.7 0 1.2-1.9 1.2-1.9a19.58 19.58 0 01-2.5-20.1l.2-.4a1.17 1.17 0 00-.9-1.9 18.48 18.48 0 00-2.4-.1 24.54 24.54 0 00-24.2 21c0 1.2.4 3.5 4.2 3.5h23.9a1.75 1.75 0 01.5-.1z\"}],\"circle\":{\"cx\":\"44.6\",\"cy\":\"36.1\",\"r\":\"16.1\"}},\nemployee_organization:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"circle\":{\"cx\":\"63.3\",\"cy\":\"47.6\",\"r\":\"10.7\"},\"path\":{\"d\":\"M63.6 60.3h-.8a16.43 16.43 0 00-16.1 13.9c0 .7.2 2.4 2.7 2.4h27.2c2.5 0 2.7-1.5 2.7-2.4a15.65 15.65 0 00-15.7-13.9zM48.6 58.3c.4-.4.1-.7.1-.7a17.94 17.94 0 01-3.1-10 17.18 17.18 0 013.2-10.2.1.1 0 01.1-.1 1.76 1.76 0 00.4-1.1V25.4a2.15 2.15 0 00-2-2H22.5a2.18 2.18 0 00-2 2.1v46.2H40a24.12 24.12 0 018.6-13.4zm-17 7.7a2.18 2.18 0 01-2.1 2.1h-2.1a2.18 2.18 0 01-2.1-2.1v-2.1a2.18 2.18 0 012.1-2.1h2.1a2.18 2.18 0 012.1 2.1zm0-10.5a2.18 2.18 0 01-2.1 2.1h-2.1a2.18 2.18 0 01-2.1-2.1v-2.1a2.18 2.18 0 012.1-2.1h2.1a2.18 2.18 0 012.1 2.1zm0-10.5a2.18 2.18 0 01-2.1 2.1h-2.1a2.18 2.18 0 01-2.1-2.1v-2.1a2.18 2.18 0 012.1-2.1h2.1a2.18 2.18 0 012.1 2.1zm0-10.5a2.18 2.18 0 01-2.1 2.1h-2.1a2.18 2.18 0 01-2.1-2.1v-2.1a2.18 2.18 0 012.1-2.1h2.1a2.18 2.18 0 012.1 2.1zm11.9 21a2.18 2.18 0 01-2.1 2.1h-2.1a2.18 2.18 0 01-2.1-2.1v-2.1a2.18 2.18 0 012.1-2.1h2.1a2.18 2.18 0 012.1 2.1zm0-10.5a2.18 2.18 0 01-2.1 2.1h-2.1a2.18 2.18 0 01-2.1-2.1v-2.1a2.18 2.18 0 012.1-2.1h2.1a2.18 2.18 0 012.1 2.1zm0-10.5a2.18 2.18 0 01-2.1 2.1h-2.1a2.18 2.18 0 01-2.1-2.1v-2.1a2.18 2.18 0 012.1-2.1h2.1a2.18 2.18 0 012.1 2.1z\"}},\nempty:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"opacity\":\".5\",\"d\":\"M72 78H28c-3.3 0-6-2.7-6-6V28c0-3.3 2.7-6 6-6h44c3.3 0 6 2.7 6 6v44c0 3.3-2.7 6-6 6zM28 30v40c0 1.1.9 2 2 2h40c1.1 0 2-.9 2-2V30c0-1.1-.9-2-2-2H30c-1.1 0-2 .9-2 2z\"}},\nendorsement:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M27.9 42H22c-1.1 0-2 .9-2 2v32.3c0 1.1.9 1.7 2 1.7h2c3.3 0 6-2.7 6-6V44.1c0-1.2-.9-2.1-2.1-2.1zM72 43h-6c-3.3 0-6-2.7-6-6V25c0-3.3-2.7-6-6-6h-4c-1.1 0-2 .9-2 2v8c0 7-3.6 14-10 14-1.1 0-2 .9-2 2v28c0 1.1.8 1.9 1.9 2 8.9.5 14.8 3.9 24.1 3.9 10 0 18-3.2 18-12.7V51c0-4.4-3.6-8-8-8z\"}},\nentitlement:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M71.9 19.9H35.2c-3.7 0-6.9 3.4-6.9 6.9H26c-2.6 0-4.6 2.1-4.6 4.7s2 4.6 4.6 4.6h2.3v9.3H26c-2.6 0-4.6 2-4.6 4.6s2 4.6 4.6 4.6h2.3v9.3H26c-2.6 0-4.6 2.1-4.6 4.6 0 2.6 2 4.6 4.6 4.6h2.3c0 4.6 3.2 6.9 6.9 6.9h36.7c3.7 0 6.9-3.2 6.9-6.9V26.8c-.1-3.7-3.2-6.9-6.9-6.9zM68.1 70c0 1.1-.9 2-2 2H40c-1.1 0-2-.9-2-2v-2c0-1.1.9-2 2-2h26.1c1.1 0 2 .9 2 2v2zM40 50.3l2.1-2.1c.6-.6 1.5-.6 2.1 0l5.2 5.1 12.8-12.7c.6-.6 1.5-.6 2.1 0l2.1 2.1c.5.6.5 1.6 0 2.1l-15 14.8c-.6.6-1.3.8-2.1.8s-1.5-.2-2.1-.8L40 52.4c-.7-.6-.7-1.5 0-2.1zm28.1-17.9c0 1.1-.9 2-2 2H40c-1.1 0-2-.9-2-2v-2c0-1.1.9-2 2-2h26.1c1.1 0 2 .9 2 2v2z\"}},\nentitlement_policy:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M25.4 34.9H36c2.2 0 4-1.8 4-4V20.3c0-.8-.6-1.4-1.4-1.4-.4 0-.7.1-1 .4L24.4 32.5c-.3.3-.4.6-.4 1 0 .8.6 1.4 1.4 1.4z\"},{\"d\":\"M46.4 78.8l4.7-6.4 4.3-5.8c-.1-.4-.1-.7-.2-1v-.1c-.7-.9-1.9-2.5-1.9-4.8s1.2-3.9 1.8-4.8c.1-1 .4-3.1 2.2-4.8 1.6-1.5 3.5-1.8 4.5-2h.1c.9-.7 2.5-1.9 4.8-1.9s3.9 1.2 4.8 1.8c.6.1 1.5.2 2.5.6V24.9c0-3.3-2.7-6-6-6H48c-1.1 0-2 .9-2 2v14c0 3.3-2.7 6-6 6H26c-1.1 0-2 .9-2 2v30c0 3.3 2.7 6 6 6h16.3l.1-.1z\"}]},\"path\":{\"d\":\"M65.2 71.5L60 78.9l-1.3-3.5h-3.5l4.5-6.1c.9.5 1.8.6 2.5.8.2.1.5.1.6.1.1.1.3.2.5.3.4.3 1 .7 1.9 1zm8.4-2.3c-.9.5-1.8.6-2.5.8-.2.1-.5.1-.7.1-.1.1-.3.2-.5.3-.5.3-1.1.9-1.9 1.2l5.2 7.3 1.3-3.5H78l-4.4-6.2zm-7-11.6c-1.7 0-3.1 1.4-3.1 3.1s1.4 3.1 3.1 3.1c1.7 0 3.1-1.4 3.1-3.1s-1.4-3.1-3.1-3.1zm8.5 3.1c0 1.1-1.2 1.9-1.5 2.8-.4 1-.2 2.4-.9 3.1-.7.7-2.1.5-3.1.9-.9.4-1.8 1.5-2.8 1.5s-1.9-1.2-2.8-1.5c-1-.4-2.4-.2-3.1-.9-.7-.7-.5-2.1-.9-3.1-.4-.9-1.5-1.8-1.5-2.8s1.2-1.9 1.5-2.8c.4-1 .2-2.4.9-3.1.7-.7 2.1-.5 3.1-.9.9-.4 1.8-1.5 2.8-1.5s1.9 1.2 2.8 1.5c1 .4 2.4.2 3.1.9.7.7.5 2.1.9 3.1.3 1 1.5 1.8 1.5 2.8zm-2.7 0c0-3.2-2.5-5.8-5.8-5.8-3.2 0-5.8 2.5-5.8 5.8s2.5 5.8 5.8 5.8 5.8-2.6 5.8-5.8z\"}},\nentitlement_process:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M56 79.6V63.1l9.4-10.4h13.3v20c-.1 3.8-3.1 6.8-6.9 6.9H56z\"},{\"d\":\"M50 79.6H35.2c-3.7 0-6.9-2.3-6.9-6.9H26c-2.5 0-4.6-2-4.6-4.5v-.1c0-2.5 2.1-4.6 4.6-4.6h2.3v-9.3H26c-2.5 0-4.6-2.1-4.6-4.6 0-2.5 2.1-4.6 4.6-4.6h2.3v-9.3H26c-2.5 0-4.6-2-4.6-4.5v-.1c0-2.5 2-4.6 4.5-4.7h2.4c.2-3.7 3.2-6.7 6.9-6.9h36.6c3.8.1 6.8 3.1 6.9 6.9v20.2H65L54.3 34.8c-.8-.8-2.2-.8-3 0L39 48.3c-.7.8-.7 2 0 2.8L49.8 63s.1 16.6.2 16.6z\"}]},\nentitlement_template:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M70.5 19.5H33.8c-3.7.1-6.8 3.2-6.9 6.9h-2.3c-2.5 0-4.6 2.1-4.6 4.6v.1c0 2.5 2 4.6 4.5 4.6h2.4V45h-2.3c-2.5 0-4.6 2.1-4.6 4.6 0 2.5 2.1 4.6 4.6 4.6h2.3v9.3h-2.3c-2.5 0-4.6 2-4.6 4.6 0 2.5 2 4.6 4.5 4.6h2.4c0 4.6 3.2 6.9 6.9 6.9h36.7c3.8-.1 6.8-3.1 6.9-6.9V26.4c-.1-3.8-3.1-6.8-6.9-6.9zm-3.3 45.1H36.7v-30h30.5v30z\"},{\"d\":\"M42 45.1h19.9c.4 0 .8-.3.8-.7v-4.6c0-.4-.3-.8-.7-.8H42c-.4 0-.8.3-.8.7v4.6c0 .4.3.8.7.8h.1zM42 60.1h4.6c.4 0 .8-.3.8-.7v-9.1c0-.4-.3-.8-.7-.8H42c-.4 0-.8.3-.8.7v9.1c0 .4.3.8.7.8h.1zM61.8 49.6h-9.2c-.4 0-.8.3-.8.7v9.1c0 .4.3.8.7.8H61.8c.4 0 .8-.3.8-.7v-9.1c0-.4-.3-.8-.7-.8h-.1z\"}]},\nentity:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M74.4 28.7c0-4.8-10.9-8.7-24.4-8.7s-24.4 3.9-24.4 8.7v3c0 4.8 10.9 8.7 24.4 8.7s24.4-3.9 24.4-8.7v-3zm-48.8 10c0 3.8 10.9 6.8 24.4 6.8s24.4-3 24.4-6.8v6.2c0 4.8-10.9 8.7-24.4 8.7s-24.4-3.9-24.4-8.7v-6.2zm0 0c0 3.8 10.9 6.8 24.4 6.8s24.4-3 24.4-6.8v6.2c0 4.8-10.9 8.7-24.4 8.7s-24.4-3.9-24.4-8.7v-6.2zm0 13.2c0 3.8 10.9 6.8 24.4 6.8s24.4-3 24.4-6.8V58c0 4.8-10.9 8.7-24.4 8.7s-24.4-3.8-24.4-8.5v-6.3zm0 13.3c0 3.8 11 6.8 24.4 6.8s24.4-3 24.4-6.8v6.2c0 4.8-10.9 8.7-24.4 8.7s-24.4-3.9-24.4-8.7v-6.2z\"}},\nentity_milestone:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M74.2 32.9L53.1 21.1c-2-1.1-4.4-1.1-6.4 0L25.6 33c-2 1.1-3.2 3.2-3.2 5.4v23.7c.1 2.2 1.3 4.2 3.2 5.4l21.1 11.9c2 1.1 4.4 1.1 6.4 0l21.1-11.9c2-1.1 3.2-3.2 3.1-5.4V38.3c0-2.2-1.2-4.3-3.1-5.4zm-33.4 7.6v25c0 1.2-.9 2.1-2.1 2.2-1.2 0-2.1-1-2.1-2.2v-25c-.7-.7-1.1-1.6-1.1-2.5 0-1.8 1.5-3.2 3.3-3.1s3.2 1.5 3.1 3.3c0 .9-.4 1.7-1.1 2.3zm25.7 15.7c0 .4-.2.7-.5.9-8.3 4.6-12.9-2.8-20.5-.4-.6.2-1.2-.1-1.4-.7V41.5c0-.4.3-.8.7-1 7.9-3 12.5 4.8 20.9.3.3-.1.6 0 .7.2 0 .1.1.2.1.3v14.9z\"}},\nenvironment_hub:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M43.1 47c.4-4.2 1.6-8.3 3.6-11.8 3.3-5.7 8.6-9 15.8-9.2 1.2-3.5 4.6-6 8.5-6 5 0 9 4 9 9s-4 9-9 9c-3.9 0-7.2-2.5-8.5-6-8.1.3-12.5 6.6-13.4 15h13.4c1.2-3.5 4.6-6 8.5-6 5 0 9 4 9 9s-4 9-9 9c-3.9 0-7.3-2.5-8.5-6H49.1c.7 9 4.9 15.1 13.4 15 1.2-3.5 4.6-6 8.5-6 5 0 9 4 9 9s-4 9-9 9c-3.9 0-7.3-2.5-8.5-6-7.4.1-12.8-3.3-16.1-9.1-1.9-3.5-3-7.6-3.3-11.9h-5.6c-1.2 3.5-4.6 6-8.5 6-5 0-9-4-9-9s4-9 9-9c3.9 0 7.3 2.5 8.5 6h5.6zM71 32c1.7 0 3-1.3 3-3s-1.3-3-3-3-3 1.3-3 3 1.3 3 3 3zm0 42c1.7 0 3-1.3 3-3s-1.3-3-3-3-3 1.3-3 3 1.3 3 3 3zm0-21c1.7 0 3-1.3 3-3s-1.3-3-3-3-3 1.3-3 3 1.3 3 3 3zm-42 0c1.7 0 3-1.3 3-3s-1.3-3-3-3-3 1.3-3 3 1.3 3 3 3z\"}},\nevent:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M76 42H24c-1.1 0-2 .9-2 2v30c0 3.3 2.7 6 6 6h44c3.3 0 6-2.7 6-6V44c0-1.1-.9-2-2-2zM40 70c0 1.1-.9 2-2 2h-4c-1.1 0-2-.9-2-2v-4c0-1.1.9-2 2-2h4c1.1 0 2 .9 2 2v4zm0-14c0 1.1-.9 2-2 2h-4c-1.1 0-2-.9-2-2v-4c0-1.1.9-2 2-2h4c1.1 0 2 .9 2 2v4zm14 14c0 1.1-.9 2-2 2h-4c-1.1 0-2-.9-2-2v-4c0-1.1.9-2 2-2h4c1.1 0 2 .9 2 2v4zm0-14c0 1.1-.9 2-2 2h-4c-1.1 0-2-.9-2-2v-4c0-1.1.9-2 2-2h4c1.1 0 2 .9 2 2v4zm14 14c0 1.1-.9 2-2 2h-4c-1.1 0-2-.9-2-2v-4c0-1.1.9-2 2-2h4c1.1 0 2 .9 2 2v4zm0-14c0 1.1-.9 2-2 2h-4c-1.1 0-2-.9-2-2v-4c0-1.1.9-2 2-2h4c1.1 0 2 .9 2 2v4zM72 26h-5v-2c0-2.2-1.8-4-4-4s-4 1.8-4 4v2H41v-2c0-2.2-1.8-4-4-4s-4 1.8-4 4v2h-5c-3.3 0-6 2.7-6 6v2c0 1.1.9 2 2 2h52c1.1 0 2-.9 2-2v-2c0-3.3-2.7-6-6-6z\"}},\nevents:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M71.4 28.6C65.9 23.1 58.6 20 50.9 20c-1.7 0-3 1.3-3 3s1.3 3 3 3c6.1 0 11.9 2.4 16.3 6.7C71.5 37.2 74 43 74 49.1c0 1.7 1.3 3 3 3s3-1.3 3-3c0-7.7-3-15-8.6-20.5zm-20.5 3.5c-1.7 0-3 1.3-3 3s1.3 3 3 3c2.9 0 5.7 1.1 7.8 3.2 2.1 2.1 3.2 4.8 3.2 7.8 0 1.7 1.3 3 3 3s3-1.3 3-3c0-4.5-1.8-8.8-5-12s-7.5-5-12-5zm-4.3 28.7l2.6-7c1.8.7 3.8.3 5.3-1.1 2-2 2-5.1 0-7.1s-5.1-2-7.1 0c-1.5 1.5-1.8 3.7-1 5.6l-6.5 2.9-11.7-11.7c-.8-.8-2.2-.8-2.9.1-7.5 9-7 22.4 1.5 30.9 8.4 8.4 21.8 8.9 30.9 1.5.9-.7.9-2.1.1-2.9L46.6 60.8z\"}},\nexpense:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M75 23.8H25a4.59 4.59 0 00-4.6 4.6V74a1.12 1.12 0 001.9.8l4.1-4.1a1 1 0 011.6 0l5.2 5.2a1 1 0 001.6 0l4.1-4.1a1 1 0 011.6 0l4.1 4.1a1 1 0 001.6 0l4.1-4.1a1 1 0 011.6 0l4.1 4.1a1 1 0 001.6 0l4.1-4.1a1 1 0 011.6 0l4.1 4.1a1 1 0 001.6 0l4.1-4.1a1 1 0 011.6 0l3 3a1.12 1.12 0 001.9-.8V28.3a4.5 4.5 0 00-4.6-4.5zM53 50.4v1.1a5.45 5.45 0 01-3.1 1 5.6 5.6 0 010-11.2 5.59 5.59 0 015.6 5.2 4.48 4.48 0 00-2.5 3.9zm15 14.1a1.52 1.52 0 01-1.5 1.4h-9a1.43 1.43 0 01-1.4-1.4v-1.4a1.43 1.43 0 011.4-1.4h9.1a1.43 1.43 0 011.4 1.4zm0-6.3a1.52 1.52 0 01-1.5 1.4h-9a1.43 1.43 0 01-1.4-1.4v-1.4a1.43 1.43 0 011.4-1.4h9.1a1.43 1.43 0 011.4 1.4zm0-6.4a1.52 1.52 0 01-1.5 1.4h-9a1.43 1.43 0 01-1.4-1.4v-1.4a1.43 1.43 0 011.4-1.4h9.1a1.43 1.43 0 011.4 1.4zm.1-5.7a3.4 3.4 0 00-1.4-.2h-2.9v-3a4 4 0 01-4-4H40a4 4 0 01-4 4v8.4a4 4 0 014 4h13.2a3.4 3.4 0 00-.2 1.4v1.4a6.64 6.64 0 00.3 1.5h-18a3.37 3.37 0 01-3.4-3.4V38.1a3.37 3.37 0 013.4-3.4h29.4a3.37 3.37 0 013.4 3.4z\"}},\nexpense_report:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M39.3 32.1h21.4a2 2 0 002-2v-4a6 6 0 00-5.8-6H43.3a5.91 5.91 0 00-5.8 6v4a1.74 1.74 0 001.8 2z\"},{\"d\":\"M71.4 25.2h-2a.94.94 0 00-1 1v4a7.9 7.9 0 01-7.8 7.9H39.3a7.9 7.9 0 01-7.8-7.9v-4a.94.94 0 00-1-1h-2a5.91 5.91 0 00-5.8 6v42.6a6 6 0 005.8 6h42.9a5.91 5.91 0 005.8-6V31.2a5.79 5.79 0 00-5.8-6zM53 59.4v1.1a5.45 5.45 0 01-3.1 1 5.6 5.6 0 010-11.2 5.59 5.59 0 015.6 5.2 4.48 4.48 0 00-2.5 3.9zm15 14.1a1.52 1.52 0 01-1.5 1.4h-9a1.43 1.43 0 01-1.4-1.4v-1.4a1.43 1.43 0 011.4-1.4h9.1a1.43 1.43 0 011.4 1.4zm0-6.3a1.52 1.52 0 01-1.5 1.4h-9a1.43 1.43 0 01-1.4-1.4v-1.4a1.43 1.43 0 011.4-1.4h9.1a1.43 1.43 0 011.4 1.4zm0-6.4a1.52 1.52 0 01-1.5 1.4h-9a1.43 1.43 0 01-1.4-1.4v-1.4a1.43 1.43 0 011.4-1.4h9.1a1.43 1.43 0 011.4 1.4zm.1-5.7a3.4 3.4 0 00-1.4-.2h-2.9v-3a4 4 0 01-4-4H40a4 4 0 01-4 4v8.4a4 4 0 014 4h13.2a3.4 3.4 0 00-.2 1.4v1.4a6.64 6.64 0 00.3 1.5h-18a3.37 3.37 0 01-3.4-3.4V47.1a3.37 3.37 0 013.4-3.4h29.4a3.37 3.37 0 013.4 3.4z\"}]},\nexpense_report_entry:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M37 31.6h20.4a1.84 1.84 0 001.9-1.9v-3.8a5.66 5.66 0 00-5.5-5.7h-13a5.59 5.59 0 00-5.5 5.7v3.8a1.74 1.74 0 001.7 1.9zM67.3 54.5A12.7 12.7 0 1080 67.2a12.72 12.72 0 00-12.7-12.7zm8.2 9.2L66.2 73a1.94 1.94 0 01-2.6 0L59 68.4a.85.85 0 010-1.3l1.3-1.3a.85.85 0 011.3 0l3.2 3.2 8.1-8.1a.85.85 0 011.3 0l1.3 1.3c.7.6.2 1.2 0 1.5z\"},{\"d\":\"M59.8 52.3a3.91 3.91 0 01-2.7-3.8H37.3a4 4 0 01-4 4V61a4 4 0 014 4h13.6a16.74 16.74 0 018.9-12.7zm-12.6 9.6a5.4 5.4 0 115.4-5.4 5.38 5.38 0 01-5.4 5.4z\"},{\"d\":\"M67.6 25h-1.9a.84.84 0 00-.9.9v3.8a7.56 7.56 0 01-7.4 7.6H37a7.49 7.49 0 01-7.4-7.6v-3.8a.84.84 0 00-.9-.9h-1.9a5.59 5.59 0 00-5.5 5.7v40.6a5.66 5.66 0 005.5 5.7H54a17 17 0 01-3.1-7.7H32.6a3.37 3.37 0 01-3.4-3.4V47.8a3.37 3.37 0 013.4-3.4H62a3.37 3.37 0 013.4 3.4v2.9a13.4 13.4 0 012-.1 15.75 15.75 0 015.8 1.1v-21a5.74 5.74 0 00-5.6-5.7z\"}]},\nfeed:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M49 72c-.4 0-.9-.1-1.4-.4-.8-.4-1.4-1.3-1.6-2.2l-7.8-31.2-6.5 14.9c-.4 1.2-1.5 1.9-2.7 1.9h-9c-1.1 0-2-.9-2-2v-2c0-1.1.9-2 2-2h7l9.2-21.2c.5-1.2 1.7-1.9 3-1.8 1.3.1 2.4 1 2.7 2.3l7.9 31.6 10.4-23.1c.5-1.2 1.7-1.9 3-1.8 1.1.1 2.1.9 2.6 2L71 49h9c1.1 0 2 .9 2 2v2c0 1.1-.9 2-2 2H69c-1.2 0-2.3-.7-2.8-1.8l-3.3-7.7-11.2 24.7c-.5 1.1-1.5 1.8-2.7 1.8z\"}},\nfeedback:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M79.1 56.5c-.1-.4-.1-.9.2-1.2C81 52.2 82 48.7 82 45c0-11.6-9.9-21-22-21-5.2 0-10 1.8-13.8 4.7C58.7 31.4 68 42.2 68 55c0 3.6-.7 7.1-2.1 10.2 2-.5 3.9-1.3 5.7-2.4.4-.2.8-.3 1.2-.1l6.4 2.3c1.1.4 2.2-.7 1.9-1.9l-2-6.6z\"},{\"d\":\"M40 34c-12.1 0-22 9.4-22 21 0 3.7 1 7.2 2.8 10.3.2.4.3.8.2 1.2l-2.1 6.7c-.4 1.2.7 2.3 1.9 1.9l6.4-2.3c.4-.1.9-.1 1.2.1 3.4 2 7.3 3.1 11.6 3.1 12.1 0 22-9.4 22-21s-9.9-21-22-21zM28 59c-2.2 0-4-1.8-4-4s1.8-4 4-4 4 1.8 4 4-1.8 4-4 4zm12 0c-2.2 0-4-1.8-4-4s1.8-4 4-4 4 1.8 4 4-1.8 4-4 4zm12 0c-2.2 0-4-1.8-4-4s1.8-4 4-4 4 1.8 4 4-1.8 4-4 4z\"}]},\nfile:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M29 63V31c-3.3 0-6 2.7-6 6v38c0 3.3 2.7 6 6 6h30c3.3 0 6-2.7 6-6H41c-6.6 0-12 0-12-12z\"},{\"d\":\"M75 37H65c-3.3 0-6-2.7-6-6V21c0-1.1-.9-2-2-2H41c-3.3 0-6 2.7-6 6v38c0 3.3 2.7 6 6 6h30c3.3 0 6-2.7 6-6V39c0-1.1-.9-2-2-2z\"},{\"d\":\"M76.6 28.6l-9.2-9.2c-.3-.3-.6-.4-1-.4-.8 0-1.4.6-1.4 1.4V27c0 2.2 1.8 4 4 4h6.6c.8 0 1.4-.6 1.4-1.4 0-.4-.1-.7-.4-1z\"}]}},\nfiliter_criteria_rule:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M51.75 20a2 2 0 012 2v14A4.86 4.86 0 0059 41.25h14a2 2 0 012 2V74a6.08 6.08 0 01-6 6H31a6.08 6.08 0 01-6-6V26a6.08 6.08 0 016-6h20.75zm9.4 30h-22.3a.86.86 0 00-.65 1.41l9.74 11.39a2.08 2.08 0 01.45 1.31v7.23a.82.82 0 00.81.75h1.5a.73.73 0 00.71-.75v-7.23A1.84 1.84 0 0152 62.8l9.8-11.39a.86.86 0 00-.65-1.41zm-.9-30a1.74 1.74 0 011.13.38l13.24 13.24a1.74 1.74 0 01.38 1.13 1.5 1.5 0 01-1.38 1.5H63A4.38 4.38 0 0158.75 32V21.38a1.5 1.5 0 011.5-1.38z\"}},\nfilter:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M77 20H21c-1.9 0-2.8 2.1-1.6 3.5l24.2 28.6c.8.9 1.1 2.1 1.1 3.3v22.7c0 1 1 1.9 2 1.9h4.4c1 0 1.8-.9 1.8-1.9V55.5c0-1.3.5-2.4 1.4-3.3l24.3-28.6c1.2-1.4.3-3.6-1.6-3.6z\"}},\nfilter_criteria:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M38.86 32h21.81a2 2 0 002-2v-4a6 6 0 00-5.95-6H42.83a6 6 0 00-5.95 6v4a2 2 0 001.98 2z\"},{\"d\":\"M29.93 25a.94.94 0 011 1v4a8 8 0 007.93 8h21.81a8 8 0 007.94-8v-4a.94.94 0 011-1h2a6 6 0 016 6v43a6 6 0 01-6 6H28a6 6 0 01-6-6V31a6 6 0 016-6h2zm31.22 23h-22.3a.86.86 0 00-.65 1.41l9.74 11.39a2.08 2.08 0 01.45 1.31v7.23a.82.82 0 00.81.75h1.5a.73.73 0 00.71-.75v-7.23A1.84 1.84 0 0152 60.8l9.8-11.39a.86.86 0 00-.65-1.41z\"}]},\nfirst_non_empty:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M55.9 49.3l22.7-22.8c.8-.8.8-2 0-2.9l-2.7-2.9c-.8-.8-2-.8-2.9 0L50.1 43.6c-.5.5-1.4.5-1.9 0l-22.8-23c-.8-.8-2-.8-2.9 0l-2.9 2.9c-.8.8-.8 2 0 2.9l22.8 22.8c.5.5.5 1.4 0 1.9L19.6 74c-.8.8-.8 2 0 2.9l2.9 2.9c.8.8 2 .8 2.9 0L48.2 57c.5-.5 1.4-.5 1.9 0l22.6 22.6c.8.8 2 .8 2.9 0l2.9-2.9c.8-.8.8-2 0-2.9L55.9 51.2c-.6-.6-.6-1.4 0-1.9z\"}},\nflow:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M79.9 30.7c-2.6-5.1-9.2-14.6-21.5-9-7.6 3.5-11.9 5.5-11.9 5.5l-11 4.8c-3.1 1.5-9.9-.6-13.7-2-1.1-.4-2.1.8-1.6 1.9 2.6 5.1 9.2 14.6 21.5 9 7.6-3.5 22.9-10.1 22.9-10.1 3.1-1.5 9.9.6 13.7 2 1.1.2 2.1-.9 1.6-2.1zM53.5 46.8c-1.4.8-6.9 3.3-6.9 3.3l-5.5 2.4C38.4 54 32.5 52 29 50.6c-1-.5-1.9.8-1.4 1.8 2.2 5 8.1 14 18.9 8.5 6.7-3.4 12.4-5.6 12.4-5.6 2.7-1.5 8.6.5 12.1 1.9 1 .4 1.9-.8 1.4-1.9-2.3-5-8.2-14-18.9-8.5zM49.5 68.9c-1.1.6-3 1.8-3 1.8-2.1 1.3-6.5-.4-9.1-1.7-.7-.4-1.4.8-1 1.8 1.6 4.5 6 12.6 14.1 7.6 3-1.9 3-1.8 3-1.8 2.2-1.1 6.5.4 9.1 1.6.7.4 1.4-.8 1-1.8-1.6-4.4-5.7-12.1-14.1-7.5z\"}}},\nfolder:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M75 34.7H46.6c-1.8 0-3.4-1-4.4-2.5l-4.4-7.6C37 23 35.4 22 33.5 22H25c-2.8 0-5 2.3-5 5.1v45.8c0 2.8 2.2 5.1 5 5.1h50c2.8 0 5-2.3 5-5.1V39.8c0-2.8-2.2-5.1-5-5.1z\"},{\"d\":\"M75 24.5H44.9c-.5 0-.8.5-.5.9l2 3.4c.2.5.6.8 1.1.8H75c1.4 0 2.8.3 3.9.8.5.3 1.1-.1 1.1-.8 0-2.8-2.2-5.1-5-5.1z\"}]},\nforecasts:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M77.7 29.2S74.2 22 66.4 22s-11.5 7.4-11.5 7.4c-5.2-2.5-9.9 0-9.9 0S41.4 22 33.6 22s-11.3 7.2-11.3 7.2-7.3 16.3-7.5 30.9C14.6 74.5 24.3 78 28.9 78c5 0 16.8-2.1 16.2-18.5 0 0 1.2-2.8 4.5-2.7 4 0 5.4 2.7 5.4 2.7C54.4 75.9 66.2 78 71.1 78c4.5 0 14.3-3.5 14.1-17.9-.2-14.6-7.5-30.9-7.5-30.9zM29.8 71.6c-4.8 0-8.7-3.9-8.7-8.7s3.9-8.7 8.7-8.7 8.7 3.9 8.7 8.7-3.9 8.7-8.7 8.7zm40.4 0c-4.8 0-8.7-3.9-8.7-8.7s3.9-8.7 8.7-8.7 8.7 3.9 8.7 8.7-3.9 8.7-8.7 8.7z\"}},\nform:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"rect\":[{\"fill\":\"none\",\"height\":\"6\",\"rx\":\"2\",\"width\":\"34\",\"x\":\"33\",\"y\":\"50\"},{\"fill\":\"none\",\"height\":\"6\",\"rx\":\"2\",\"width\":\"30\",\"x\":\"33\",\"y\":\"62\"}],\"g\":{\"path\":[{\"d\":\"M63 36h10.6a1.37 1.37 0 001.4-1.4 1.28 1.28 0 00-.4-1L61.4 20.4a1.28 1.28 0 00-1-.4 1.37 1.37 0 00-1.4 1.4V32a4 4 0 004 4z\"},{\"d\":\"M73 42H59a6 6 0 01-6-6V22a2 2 0 00-2-2H31a6 6 0 00-6 6v48a6 6 0 006 6h38a6 6 0 006-6V44a2 2 0 00-2-2zm-40-2a2 2 0 012-2h8.18a2 2 0 012 2v2a2 2 0 01-2 2H35a1.94 1.94 0 01-2-2zm30 26a2 2 0 01-2 2H35a2 2 0 01-2-2v-2a2 2 0 012-2h26a2 2 0 012 2zm4-12a2 2 0 01-2 2H35a2 2 0 01-2-2v-2a2 2 0 012-2h30a2 2 0 012 2z\"}]}},\nformula:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M55.3 21.2c-1.1-.7-2.4-1.1-4.1-1.1-.4 0-.8 0-1.2.1-4.4.7-7.3 4.7-9.1 8.5-.8 1.8-1.5 3.7-2.2 5.5-.3.9-.7 1.7-1 2.6 0 .1-.5 1.8-.6 1.8h-4.5c-.6 0-1.1.5-1.1 1.1 0 .6.5 1.1 1.1 1.1h3.9l-2.2 9.4c-2.2 10.5-5.2 22.5-5.9 24.6-.7 2.2-1.7 3.3-3.1 3.3-.3 0-.5-.1-.7-.2-.2-.1-.3-.3-.3-.5s.1-.5.4-.9c.3-.4.4-.9.4-1.3 0-.8-.3-1.5-.8-2-.6-.5-1.2-.7-1.9-.7s-1.4.3-2 .8c-.1.7-.4 1.4-.4 2.3 0 1.2.5 2.2 1.5 3.1 1 .9 2.3 1.3 4 1.3 2.7 0 5.1-1.2 6.9-3.3 1.1-1.3 1.9-2.8 2.6-4.4 2.2-4.9 3.4-10.3 4.7-15.5 1.3-5.3 2.5-10.6 3.6-15.9h4.3c.6 0 1.1-.5 1.1-1.1 0-.6-.5-1.1-1.1-1.1h-4c2.2-8.3 4.7-14 5.2-14.8.8-1.4 1.7-2.1 2.7-2.1.4 0 .6.1.7.3.1.2.2.4.2.5 0 .1-.1.4-.4.9-.3.5-.4 1-.4 1.5 0 .7.3 1.3.8 1.8s1.2.8 1.9.8 1.4-.3 1.9-.8.8-1.2.8-2.1c-.1-1.7-.6-2.8-1.7-3.5zM75.3 46.4c1.6 0 4.7-1.3 4.7-5.5s-3-4.4-4-4.4c-1.8 0-3.7 1.3-5.3 4.1-1.6 2.8-3.4 6-3.4 6h-.1c-.4-2-.7-3.6-.9-4.4-.3-1.7-2.3-5.5-6.5-5.5s-8 2.4-8 2.4c-.7.4-1.2 1.2-1.2 2.1 0 1.4 1.1 2.5 2.5 2.5.4 0 .8-.1 1.1-.3 0 0 3.2-1.8 3.8 0 .2.5.4 1.1.6 1.7.8 2.7 1.5 5.9 2.2 8.8L58.3 58s-3.1-1.1-4.7-1.1-4.7 1.3-4.7 5.5 3 4.4 4 4.4c1.8 0 3.7-1.3 5.3-4.1 1.6-2.8 3.4-6 3.4-6 .5 2.6 1 4.7 1.3 5.5 1 3 3.4 4.7 6.6 4.7 0 0 3.3 0 7.1-2.2.9-.4 1.6-1.3 1.6-2.3 0-1.4-1.1-2.5-2.5-2.5-.4 0-.8.1-1.1.3 0 0-2.7 1.5-3.7.3-.7-1.3-1.2-3-1.7-5.1-.4-1.9-.9-4.1-1.3-6.2l2.8-4c-.1.1 3 1.2 4.6 1.2z\"}},\nfulfillment_order:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M47.9 63c.9 0 1.7.1 2.5.4L36.9 25.1l-1.2-3.7c-.4-1.1-1.5-1.6-2.5-1.2L21.4 24c-1.1.4-1.6 1.5-1.2 2.5l1.2 3.7c.4 1.1 1.5 1.6 2.5 1.2l6.1-2 12.4 35.1c1.6-.9 3.5-1.5 5.5-1.5zM69 53.9l-12.4 4.4c-1.2.5-2.7-.2-3.1-1.5l-4.4-12.4c-.5-1.2.2-2.7 1.5-3.1L63 36.9c1.2-.5 2.7.2 3.1 1.5l4.4 12.4c.5 1.2-.2 2.6-1.5 3.1zM57.3 33.5l-8.4 2.9c-1.2.5-2.7-.2-3.1-1.5l-2.9-8.4c-.5-1.2.2-2.7 1.5-3.1l8.4-2.9c1.2-.5 2.7.2 3.1 1.5l2.9 8.4c.5 1.1-.2 2.6-1.5 3.1zm22.6 28.2L78.6 58c-.4-1.1-1.5-1.6-2.5-1.2l-22.7 7.9c2.4 1.5 4 4 4.5 6.9l20.9-7.1c1-.5 1.5-1.6 1.1-2.8zm-32 4.5c-3.7 0-6.9 3.1-6.9 6.9 0 3.7 3.1 6.9 6.9 6.9s6.9-3.1 6.9-6.9c0-3.9-3.2-6.9-6.9-6.9z\"}},\ngeneric_loading:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"opacity\":\".15\",\"d\":\"M51.5 22h-3c-.8 0-1.5.7-1.5 1.5v13c0 .8.7 1.5 1.5 1.5h3c.8 0 1.5-.7 1.5-1.5v-13c0-.8-.7-1.5-1.5-1.5zM76.5 47h-13c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h13c.8 0 1.5-.7 1.5-1.5v-3c0-.8-.7-1.5-1.5-1.5zM51.5 62h-3c-.8 0-1.5.7-1.5 1.5v13c0 .8.7 1.5 1.5 1.5h3c.8 0 1.5-.7 1.5-1.5v-13c0-.8-.7-1.5-1.5-1.5zM38 51.5v-3c0-.8-.7-1.5-1.5-1.5h-13c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h13c.8 0 1.5-.7 1.5-1.5zM59.5 42.6c.6.6 1.5.6 2.1 0l9.2-9.2c.6-.6.6-1.5 0-2.1l-2.1-2.1c-.6-.6-1.5-.6-2.1 0l-9.2 9.2c-.6.6-.6 1.5 0 2.1l2.1 2.1zM61.7 57.4c-.6-.6-1.5-.6-2.1 0l-2.1 2.1c-.6.6-.6 1.5 0 2.1l9.2 9.2c.6.6 1.5.6 2.1 0l2.1-2.1c.6-.6.6-1.5 0-2.1l-9.2-9.2zM40.5 57.4c-.6-.6-1.5-.6-2.1 0l-9.2 9.2c-.6.6-.6 1.5 0 2.1l2.1 2.1c.6.6 1.5.6 2.1 0l9.2-9.2c.6-.6.6-1.5 0-2.1l-2.1-2.1zM33.4 29.1c-.6-.6-1.5-.6-2.1 0l-2.1 2.1c-.6.6-.6 1.5 0 2.1l9.2 9.2c.6.6 1.5.6 2.1 0l2.1-2.1c.6-.6.6-1.5 0-2.1l-9.2-9.2z\"}}},\nglobal_constant:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M53.3 53.1c3.3-2.5 6.8-2.9 9.2-2.9l8.9-.1c.9 0 1.7 0 2.7-.1 1.1 0 2.2-.1 3.3-.1H80c0-16.5-13.5-30-30-30s-30 13.5-30 30c0 14.4 10.3 26.5 23.9 29.4-.2-1-.1-2 .1-3 .4-1.7 1.4-3.1 2.4-4.2-3.1-3.2-5.8-10.3-6.3-19.1H47v8c.2-.6.4-1.2.8-1.8 1.2-1.7 2.6-3.7 4.3-5.3.3-.3.6-.5.8-.7l.4-.1zm20.5-6h-7.9c-.3-7.1-1.9-13.3-4.3-18 6.6 3.7 11.2 10.3 12.2 18zM53 27.4c3.4 2.9 6.4 10.3 6.9 19.7H53V27.4zm-6 0v19.7h-6.9c.5-9.4 3.5-16.8 6.9-19.7zM26.2 53.1h7.9c.3 7.1 1.9 13.3 4.3 18-6.6-3.7-11.2-10.3-12.2-18zm7.9-6h-7.9c1-7.7 5.6-14.3 12.2-18-2.4 4.7-3.9 10.9-4.3 18z\"},{\"d\":\"M48.3 70.3c.4-.3.7-.7 1-.9.3-.4.7-.8 1-1.2-1.6-.7-2.8-2.1-3.3-3.8v7.2c.5-.6.9-1 1.3-1.3z\"}]},\"path\":{\"d\":\"M79.7 55.3c-.2-.2-.4-.3-.6-.3-2.5-.1-5.1.1-7.6.1l-8.9.1c-2.7 0-4.9.6-7 2.5-1.3 1.2-2.6 2.9-3.6 4.4-.1.2-.2.4-.2.6 0 .6.5 1 1 1 .6 0 .7-.4 1-.8.3-.4.6-.8 1-1.2 1.4-1.3 3.3-2 5.1-1.8-1.6 4.4-3.8 9.4-7 12.9-1.3 1.4-3.6 2.9-4.1 4.9-.5 2.1 1.6 2.6 3.2 2 2-.8 3.2-2.9 4.3-4.6 1.2-2.2 2.4-4.5 3.3-6.8 1-2.3 2-4.6 2.9-6.9.6-1.4.8-1.4 2.2-1.4h3.9c-1.4 3.2-2.8 6.4-4.1 9.7-1 2.5-2.8 6.1-1.5 8.8 1.3 2.7 4.8 1.7 6.7.3 2-1.4 3.2-3.6 4.3-5.7.2-.4.4-.8.2-1.3-.2-.4-.5-.6-.9-.6-.9 0-1.1 1.1-1.4 1.7-.5 1.1-1.7 2.1-3 1.9-2.9-.4-.3-5.7.2-7.1.5-1.5 1.1-2.9 1.8-4.3.4-.8.7-1.7 1.1-2.5.5-1 .5-1 1.7-1.1 1 0 3.9.5 4.8-.1.7-.5 1.1-2.2 1.5-3.5 0-.3 0-.6-.3-.9z\"}},\ngoals:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M26 20c-3.3 0-6 2.7-6 6 0 1.8.8 3.4 2 4.5V76c0 2.2 1.8 4 4 4s4-1.8 4-4V30.5c1.2-1.1 2-2.7 2-4.5 0-3.3-2.7-6-6-6zM76.5 30.8c-15.7 8.2-24.4-5.9-39.2-.5-.8.3-1.3 1.1-1.3 1.9V58c0 1.3 1.3 2.3 2.6 1.9 14.2-4.3 22.9 9.1 38.4.7.6-.4 1-1 1-1.7V31.7c0-.8-.8-1.3-1.5-.9zM72 44.5c-1.9.5-3.8.5-5.8.5H66v6h.2c2 0 3.9-.1 5.8-.6v5.9c-1.8.6-3.6.8-5.8.8H66v-6c-2 0-4-.3-6-.7v6c-1.4-.3-2.8-.7-4.1-1.1-.7-.2-1.3-.4-1.9-.6v-5.9c-2.2-.7-3.9-1.3-6-1.6v6c-1-.1-2.2-.2-3.5-.2-.9 0-1.7.1-2.5.2v-6c.8-.1 1.7-.2 2.5-.2 1.3 0 2.5.1 3.5.2v-5.7c-1-.2-2.1-.4-3.5-.4-.9 0-1.7.1-2.5.2v-6c.8-.1 1.7-.2 2.5-.2 1.4 0 2.4.2 3.5.4v6c1.5.4 3 1 5.2 1.6.3.1.5.1.8.2v-6c2 .6 3.9 1 6 1.4v5.9c1.9.4 3.9.4 6 .4v-6h.2c2 0 3.9.2 5.8-.2v5.7z\"},{\"d\":\"M54 43.3v5.5c.4.1.9.3 1.3.4 1.6.4 3.1.9 4.7 1.2v-5.7c-2.1-.5-4-.9-6-1.4z\"}]},\ngroup_loading:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"opacity\":\".5\",\"d\":\"M36.7 52.4C35 49.7 34 46.5 34 43c0-5.9 2.5-10.9 6.5-13.9-1.5-2.5-4-4.1-7.5-4.1-5.8 0-9 4.6-9 10 0 2.9 1 5.3 2.9 7.1 1.1 1 2 2.3 2 3.7 0 1.4-.5 2.6-3.8 4-4.7 2.1-9 4.8-9.1 9.2 0 2.9 1.9 5 4.6 5h4.3c.7 0 1.4-.4 1.7-1 2.1-3.8 6-6.2 9.3-7.8 1.1-.5 1.5-1.8.8-2.8zM74.9 49.8c-3.3-1.4-3.8-2.7-3.8-4 0-1.4.9-2.7 2-3.7C75 40.3 76 37.9 76 35c0-5.4-3.2-10-9-10-3.5 0-6 1.6-7.5 4.1 4 3 6.5 7.9 6.5 13.9 0 3.5-.9 6.7-2.7 9.4-.7 1-.3 2.3.8 2.9 3.3 1.6 7.2 4 9.3 7.8.3.6 1 1 1.7 1h4.3c2.7 0 4.6-2.1 4.6-5-.1-4.4-4.4-7.2-9.1-9.3z\"},{\"opacity\":\".5\",\"d\":\"M58.7 59.4c-3.6-1.5-4.1-2.9-4.1-4.4 0-1.5 1-3 2.2-4.1 2.1-1.9 3.3-4.7 3.3-7.9 0-5.9-3.6-11-10-11s-10 5.1-10 11c0 3.2 1.2 5.9 3.3 7.9 1.2 1.1 2.2 2.6 2.2 4.1 0 1.5-.6 2.9-4.1 4.4-5.4 2.2-10.4 4.8-10.5 9.6 0 3.2 2.3 6 5.3 6h27.4c3 0 5.3-2.8 5.3-6-.1-4.8-5.1-7.4-10.3-9.6z\"}]},\ngroups:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M36.7 52.4C35 49.7 34 46.5 34 43c0-5.9 2.5-10.9 6.5-13.9-1.5-2.5-4-4.1-7.5-4.1-5.8 0-9 4.6-9 10 0 2.9 1 5.3 2.9 7.1 1.1 1 2 2.3 2 3.7 0 1.4-.5 2.6-3.8 4-4.7 2.1-9 4.8-9.1 9.2 0 2.9 1.9 5 4.6 5h4.3c.7 0 1.4-.4 1.7-1 2.1-3.8 6-6.2 9.3-7.8 1.1-.5 1.5-1.8.8-2.8zM74.9 49.8c-3.3-1.4-3.8-2.7-3.8-4 0-1.4.9-2.7 2-3.7C75 40.3 76 37.9 76 35c0-5.4-3.2-10-9-10-3.5 0-6 1.6-7.5 4.1 4 3 6.5 7.9 6.5 13.9 0 3.5-.9 6.7-2.7 9.4-.7 1-.3 2.3.8 2.9 3.3 1.6 7.2 4 9.3 7.8.3.6 1 1 1.7 1h4.3c2.7 0 4.6-2.1 4.6-5-.1-4.4-4.4-7.2-9.1-9.3z\"},{\"d\":\"M58.7 59.4c-3.6-1.5-4.1-2.9-4.1-4.4 0-1.5 1-3 2.2-4.1 2.1-1.9 3.3-4.7 3.3-7.9 0-5.9-3.6-11-10-11s-10 5.1-10 11c0 3.2 1.2 5.9 3.3 7.9 1.2 1.1 2.2 2.6 2.2 4.1 0 1.5-.6 2.9-4.1 4.4-5.4 2.2-10.4 4.8-10.5 9.6 0 3.2 2.3 6 5.3 6h27.4c3 0 5.3-2.8 5.3-6-.1-4.8-5.1-7.4-10.3-9.6z\"}]},\nguidance_center:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"rect\":[{\"height\":\"7.26\",\"rx\":\"1.81\",\"width\":\"7.25\",\"x\":\"20.02\",\"y\":\"20.05\"},{\"height\":\"7.33\",\"rx\":\"1.83\",\"width\":\"42\",\"x\":\"32.24\",\"y\":\"20.05\"},{\"height\":\"7.33\",\"rx\":\"1.83\",\"width\":\"42\",\"x\":\"32.24\",\"y\":\"35.04\"},{\"height\":\"7.33\",\"rx\":\"1.83\",\"width\":\"7.33\",\"x\":\"20.02\",\"y\":\"35.04\"},{\"height\":\"7.33\",\"rx\":\"1.83\",\"width\":\"7.33\",\"x\":\"20.02\",\"y\":\"50.03\"}],\"path\":{\"d\":\"M63.71 47.42A16.18 16.18 0 1079.89 63.6a16.22 16.22 0 00-16.18-16.18zm0 28A11.87 11.87 0 1175.58 63.6a11.9 11.9 0 01-11.87 11.86zM70 56.64l-9 3.24a1.61 1.61 0 00-1 1l-3.23 8.95a.55.55 0 00.7.7l8.95-3.23a1.59 1.59 0 001-1l3.24-9a.55.55 0 00-.66-.66zm-6.26 9.11a2.16 2.16 0 112.16-2.15 2.16 2.16 0 01-2.19 2.15zM47.61 50H34.07a1.87 1.87 0 00-1.83 1.83v3.66a1.88 1.88 0 001.83 1.84h9.52A20.89 20.89 0 0147.61 50z\"}}},\nhierarchy:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M46.25 46.251H29.404c-.999 0-1.875.875-1.875 1.875V62.5h-5.654c-1 0-1.875.875-1.875 1.875v13.75c0 1 .875 1.875 1.875 1.875h18.75c1 0 1.875-.875 1.875-1.875v-13.75c0-1-.875-1.875-1.875-1.875h-5.642v-8.749h30.035V62.5h-5.613c-1.001 0-1.875.875-1.875 1.875v13.75c0 1 .874 1.875 1.875 1.875h18.75c1 0 1.875-.875 1.875-1.875v-13.75c0-1-.875-1.875-1.875-1.875H72.49V48.126c0-1-.874-1.875-1.875-1.875H53.75V37.5h5.61c1 0 1.875-.875 1.875-1.875v-13.75c0-1-.875-1.875-1.875-1.875H40.61c-1.001 0-1.875.875-1.875 1.875v13.75c0 1 .874 1.875 1.875 1.875h5.64v8.751z\"}},\nhigh_velocity_sales:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M80 21.5c0-1.2-.7-1.5-1.1-1.5H53.1c-1.9 0-1.9 1.9-1.9 1.9v3.6c0 1.6 1 2 1.5 2h18c.7.1 1.9.6 1.9 2.6v17c.1.5.4 1.6 1.9 1.6h4s1.6 0 1.6-1.9V21.5z\"},{\"d\":\"M64.4 37.1c.1-1.2-.7-1.5-1.1-1.5H37.5c-1.9 0-1.9 1.9-1.9 1.9v3.6c0 1.6 1 2 1.5 2h18c.7.1 1.9.6 1.9 2.6v17c.1.5.4 1.6 1.9 1.6h4s1.6 0 1.6-1.9V37.1z\"},{\"d\":\"M24.2 78.5c.2.2 1.2 1 2.6-.4l13-13c.4-.4 1.5-1.2 1.5.5v12.8c.1.5.4 1.6 1.9 1.6h4s1.6 0 1.6-1.9V52.8c0-1.2-.7-1.4-1.1-1.5H21.9c-1.9 0-1.9 1.9-1.9 1.9v3.6c0 1.6 1 2 1.5 2h12c.5 0 2 .1.6 1.5L21.6 73s-1.5 1.4-.2 2.6l2.8 2.9z\"}]}},\nholiday_operating_hours:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M65.88 50.24A14.12 14.12 0 0180 64v.31a14.12 14.12 0 01-13.8 14.16h-.32a14.12 14.12 0 01-.31-28.23zm-.56 3.86v.11l-2.07 6.66a.52.52 0 01-.52.39H56a.73.73 0 00-.47 1.22l.07.06 5.39 4a.69.69 0 01.25.65v.1l-2.54 6.76a.66.66 0 00.94.81l.08-.06 5.83-4.32a.69.69 0 01.7-.06l.09.06 5.79 4.32a.65.65 0 001-.65v-.1l-2.56-6.79a.7.7 0 01.14-.68l.08-.07 5.39-4a.71.71 0 00-.3-1.27h-6.71a.65.65 0 01-.58-.3v-.09l-2-6.62a.65.65 0 00-1.27-.13zM44.8 22a24.88 24.88 0 0124.81 24.8v.3a18.32 18.32 0 00-3.17-.39h-1v-.25a20.57 20.57 0 10-17 20.61 17.43 17.43 0 001.15 4.07 24.39 24.39 0 01-4.79.47 24.81 24.81 0 010-49.61zm.2 14.13a1.32 1.32 0 011.28 1.29v8.27a1.3 1.3 0 00.34 1l4.76 4.91a1.26 1.26 0 010 1.81l-1.78 1.81a1.24 1.24 0 01-1.79 0l-6.3-6.38a1.82 1.82 0 01-.34-.95V37.42a1.32 1.32 0 011.28-1.29z\"}},\nhome:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M78.8 51.2h-6.3v27.5c0 .8-.5 1.2-1.3 1.2H58.8c-.8 0-1.3-.5-1.3-1.2V57.5h-15v21.2c0 .8-.5 1.2-1.3 1.2H28.8c-.8 0-1.3-.5-1.3-1.2V51.2h-6.3c-.5 0-1-.2-1.1-.8-.3-.5-.1-1 .3-1.4l28.8-28.8c.5-.5 1.4-.5 1.8 0L79.8 49c.4.4.4.9.3 1.4s-.8.8-1.3.8z\"}},\nhousehold:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M51.5 20.6c-.9-.8-2.2-.8-3 0L20.7 46.2c-1.5 1.4-.5 3.8 1.5 3.8H26v24c0 3.3 2.7 6 6 6h36c3.3 0 6-2.7 6-6V50h3.8c2 0 3-2.4 1.5-3.8L51.5 20.6zM36.9 63.9c-.2.3-.6.1-1 .1h-2.4c-1.5 0-2.5-.8-2.5-2.4.1-2.4 2.5-3.6 5.1-4.7 1.8-.8 2.1-1.5 2.1-2.3 0-.8-.5-1.5-1.1-2.1-1.1-1-1.6-2.4-1.6-4 0-3 1.8-5.6 5-5.6 1.9 0 3.3.9 4.2 2.3-2.3 1.8-3.7 4.5-3.7 7.9 0 1.9.5 3.7 1.5 5.2.4.6.2 1.1-.5 1.4-1.7.9-3.9 2.1-5.1 4.2zM57.6 71H42.4c-1.7 0-3-1.6-3-3.4.1-2.7 2.9-4.1 5.8-5.4 2-.9 2.3-1.6 2.3-2.5 0-.9-.6-1.7-1.2-2.3-1.2-1.1-1.8-2.6-1.8-4.4 0-3.3 2-6.2 5.6-6.2s5.6 2.9 5.6 6.2c0 1.8-.6 3.3-1.8 4.4-.7.6-1.2 1.4-1.2 2.3 0 .8.3 1.6 2.3 2.5 2.9 1.3 5.7 2.7 5.8 5.4-.2 1.8-1.5 3.4-3.2 3.4zm8.9-7h-2.4c-.4 0-.8.2-1-.1-1.2-2.1-3.4-3-5.2-3.9-.6-.3-.8-1-.4-1.6 1-1.5 1.5-3.3 1.5-5.2 0-3.3-1.4-6.1-3.6-7.8.8-1.4 2.2-2.3 4.2-2.3 3.3 0 5 2.6 5 5.6 0 1.6-.5 3-1.6 4-.6.6-1.1 1.3-1.1 2.1s.3 1.5 2.1 2.3c2.6 1.2 5.1 2.3 5.1 4.7C69 63.2 68 64 66.5 64z\"}},\nimmunization:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M53.76 31.24a7.19 7.19 0 00-.85-.7A4.13 4.13 0 0047.76 37l.82.82h-.06L35 51.3c-.3.28-.59.57-.8.79a6.85 6.85 0 00-.86 8.15.25.25 0 010 .07 16 16 0 006.42 6.36 6.23 6.23 0 002.57.87 7.1 7.1 0 005.89-2.18L62 51.51a.46.46 0 00.11-.16l.91.91a4.15 4.15 0 105.73-6zM78.09 28.45c-2.19-2.25-4.42-4.45-6.66-6.66a4.72 4.72 0 00-4-1.38 4.77 4.77 0 00-2.58 8.25c.69.68.31.36 1 1.07l-3.11 3a.83.83 0 000 1.19c.36.35 2.75 2.74 3.11 3.08a.85.85 0 001.19 0l3-3.07c.77.78.49.46 1.18 1.14a4.76 4.76 0 106.81-6.65zM31 66.23c-3.61 3.62-6.56 6.66-10.17 10.28a1.74 1.74 0 102.5 2.43c3.58-3.57 6.5-6.57 10.08-10.14.07-.07.13-.16.18-.21l-2.47-2.46z\"}}},\nindividual:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M79.4 72.9l-12 6.8c-.6.4-1.5.4-2.1 0l-11.9-6.8c-.5-.3-.5-.9 0-1.1l2.8-1.6c.2-.1.4-.1.6 0l7.3 4.1c.7.4 1.5.6 2.3.6s1.6-.2 2.3-.6l7.3-4.1c.2-.1.4-.1.6 0l2.8 1.6c.5.2.5.8 0 1.1zm0-7.7l-12 6.8c-.6.4-1.5.4-2.1 0l-11.9-6.8c-.5-.3-.5-.9 0-1.1l2.8-1.6c.2-.1.4-.1.6 0l7.3 4.1c.7.4 1.5.6 2.3.6s1.6-.2 2.3-.6l7.3-4.1c.2-.1.4-.1.6 0l2.8 1.6c.5.2.5.8 0 1.1zm-14-.8l-12-6.8c-.5-.3-.5-.9 0-1.1l12-6.8c.6-.4 1.5-.4 2.1 0l12 6.8c.5.3.5.9 0 1.1l-12 6.8c-.6.3-1.5.3-2.1 0zM51.9 60.5c.5-.3.5-.9 0-1.1l-2.8-1.6H49v-1.3s0-1.7 1.5-2.6c.4-.2 1.2-.6 2.1-1.1-.4-.2-.8-.4-1.2-.5-1.8-.9-4.4-1.8-5.2-4.1-.5-1.2-.2-2.5.4-3.6 1.1-1.1 2.1-2.1 3-3.5.2-.4.4-.6.6-1 2.5-3.6 2.8-8.5 1.4-12.6-1.5-4.4-5.4-7.4-10.2-7.5h-.7c-4.8.1-8.8 3.1-10.2 7.5-1.5 4.2-1.1 9 1.4 12.6.1.4.4.6.6 1 .9 1.4 2 2.3 3 3.5.5 1.1.7 2.3.4 3.6-.7 2.2-3.3 3.2-5.2 4.1-4.2 1.8-9.4 4.4-10.2 9.5-.9 4.2 2 8.4 6.4 8.4H49l2.9-1.9c.5-.3.5-.9 0-1.1l-2.8-1.6H49v-3.2l2.9-1.9z\"}},\ninsights:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M78.3 26.9H31c-.9 0-1.7.8-1.7 1.7v35.2c0 1.4-1.3 2.5-2.7 2.3-1.2-.2-2-1.3-2-2.4V38.5c0-.7-.5-1.2-1.2-1.2h-1.7c-.9 0-1.7.8-1.7 1.7v29.4c0 2.5 2.1 4.6 4.6 4.6H75.4c2.5 0 4.6-2.1 4.6-4.6V28.7c0-1-.8-1.8-1.7-1.8zm-26 33.5c0 .7-.5 1.2-1.2 1.2H37.3c-.7 0-1.2-.5-1.2-1.2v-2.3c0-.7.5-1.2 1.2-1.2h13.8c.7 0 1.2.5 1.2 1.2v2.3zm0-9.2c0 .7-.5 1.2-1.2 1.2H37.3c-.7 0-1.2-.5-1.2-1.2v-2.3c0-.7.5-1.2 1.2-1.2h13.8c.7 0 1.2.5 1.2 1.2v2.3zm20.8 9.2c0 .7-.5 1.2-1.2 1.2H58.1c-.7 0-1.2-.5-1.2-1.2v-2.3c0-.7.5-1.2 1.2-1.2h13.8c.7 0 1.2.5 1.2 1.2v2.3zm0-9.2c0 .7-.5 1.2-1.2 1.2H58.1c-.7 0-1.2-.5-1.2-1.2v-2.3c0-.7.5-1.2 1.2-1.2h13.8c.7 0 1.2.5 1.2 1.2v2.3zm0-9.3c0 .7-.5 1.2-1.2 1.2H37.3c-.7 0-1.2-.5-1.2-1.2V35c0-.7.5-1.2 1.2-1.2h34.6c.7 0 1.2.5 1.2 1.2v6.9z\"}},\ninstore_locations:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M32.1 70.1c-.6 0-1.2-.5-1.2-1.2v-7.3c0-.6.5-1.2 1.2-1.2h7.5c.6 0 1.2.5 1.2 1.2V69c0 .6-.5 1.2-1.2 1.2h-7.5zM46.3 70.1c-.6 0-1.2-.5-1.2-1.2V57.7c0-.6.5-1.2 1.2-1.2h7.5c.6 0 1.2.5 1.2 1.2V69c0 .6-.5 1.2-1.2 1.2h-7.5zM60.5 70.1c-.6 0-1.2-.5-1.2-1.2v-7.3c0-.6.5-1.2 1.2-1.2H68c.6 0 1.2.5 1.2 1.2V69c0 .6-.5 1.2-1.2 1.2h-7.5zM32.1 42.9c-.6 0-1.2-.5-1.2-1.2V31.1c0-.6.5-1.2 1.2-1.2h21.7c.6 0 1.2.5 1.2 1.2v10.7c0 .6-.5 1.2-1.2 1.2H32.1zM60.5 42.9c-.6 0-1.2-.5-1.2-1.2v-7.3c0-.6.5-1.2 1.2-1.2H68c.6 0 1.2.5 1.2 1.2v7.3c0 .6-.5 1.2-1.2 1.2h-7.5z\"},{\"d\":\"M73.8 20H26.2c-3.4 0-6.2 2.8-6.2 6.2v47.6c0 3.4 2.8 6.2 6.2 6.2h47.6c3.4 0 6.2-2.8 6.2-6.2V26.2c0-3.4-2.8-6.2-6.2-6.2zm0 51.7c0 1.2-.9 2.1-2.1 2.1H28.3c-1.1 0-2.1-.9-2.1-2.1v-19h47.6v19zm0-25H26.2V28.3c0-1.2.9-2.1 2.1-2.1h43.4c1.1 0 2.1.9 2.1 2.1v18.4z\"}]}},\ninvestment_account:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M74 27H26c-3.3 0-6 2.7-6 6v34c0 3.3 2.7 6 6 6h48c3.3 0 6-2.7 6-6V33c0-3.3-2.7-6-6-6zm-5 27c0 .9-1 1.3-1.7.7l-4.6-4.6-10.6 9.1c-1.2 1.2-3.1 1.2-4.2 0l-6.4-7.3-11.4 10c-.4.4-1 .4-1.4 0l-.5-.5c-.4-.4-.4-1 0-1.4l11.2-15.3c1.2-1.2 3.1-1.2 4.2 0l6.4 6.4 6.5-7.5-4.2-3.8c-.6-.6-.2-1.8.7-1.8h14c1.1 0 1.9 1 1.9 2.1V54z\"}},\ninvocable_action:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M62.8 71.2V79c0 .6.5 1.1 1.1 1.1.2 0 .5-.1.6-.2l15.1-12.3c.2-.2.3-.5.3-.8 0-.3-.2-.6-.4-.8L64.4 53.1c-.1-.1-.3-.1-.5-.1-.6 0-1.1.5-1.1 1.1v8.3c-9.3 2.5-16.9-5.7-16.9-5.7-.2-.2-.5-.3-.8-.3-.6 0-1.1.5-1.1 1.1v.2c3.8 15.7 18.8 13.5 18.8 13.5z\"},{\"d\":\"M38.2 58.9l-.2-.7V57.3c0-3.9 3.2-7.1 7.1-7.1 1.9 0 3.6.7 5 2.1l.1.1.1.1c.9 1 3.5 3.1 6.6 4V54c0-3.9 3.2-7.1 7.1-7.1 1.5 0 2.5.4 3.2.8l.7.3.6.5 8.5 7.2c2-2 3.2-4.8 3.2-7.8 0-6.2-5-11.2-11.2-11.2h-.6v-1c0-6.2-5.1-11.3-11.3-11.3-3 0-5.6 1.1-7.6 3-1.6-4.2-5.7-7.4-10.6-7.4-6.2 0-11.3 5.1-11.3 11.3 0 2.1.6 4 1.5 5.7-5 1.2-8.6 5.6-8.6 11 0 6.1 4.7 11 10.8 11.2h7.4c-.4-.1-.4-.2-.5-.3z\"}]},\niot_context:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M73 43.5c-3.2 0-6 2.2-6.7 5.2h-4.9c-.8-5.6-5.6-10-11.5-10s-10.7 4.3-11.5 10h-4.9c-.8-3-3.5-5.2-6.7-5.2-3.8 0-7 3.1-7 7 0 3.8 3.1 7 7 7 3.2 0 6-2.2 6.7-5.2h4.9c.8 5 4.7 8.8 9.7 9.6v4.9c-3 .8-5.2 3.5-5.2 6.7 0 3.8 3.1 7 7 7s7-3.1 7-7c0-3.2-2.2-6-5.2-6.7v-4.9c5-.7 8.9-4.6 9.7-9.6h4.9c.8 3 3.5 5.2 6.7 5.2 3.8 0 7-3.1 7-7s-3.1-7-7-7zM53.5 73.4c0 1.9-1.6 3.5-3.5 3.5s-3.5-1.6-3.5-3.5 1.6-3.5 3.5-3.5 3.5 1.6 3.5 3.5z\"},{\"d\":\"M33.3 36c-.8.8-.8 2 0 2.8.8.8 2 .8 2.8 0 7.4-7.4 19.4-7.4 26.8 0 .4.4.9.6 1.4.6s1-.2 1.4-.6c.8-.8.8-2 0-2.8-8.9-9-23.5-9-32.4 0z\"},{\"d\":\"M28.2 32.4C40 20.7 59 20.7 70.8 32.4c.4.4.9.6 1.4.6s1-.2 1.4-.6c.8-.8.8-2 0-2.8-13.3-13.3-34.9-13.3-48.2 0-.8.8-.8 2 0 2.8.8.8 2 .8 2.8 0z\"}]}},\niot_orchestrations:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"fill-rule\":\"evenodd\",\"circle\":[{\"cx\":\"39\",\"cy\":\"32\",\"r\":\"12\"},{\"cx\":\"70\",\"cy\":\"50\",\"r\":\"12\"}],\"path\":[{\"fill-rule\":\"nonzero\",\"d\":\"M39 74a6 6 0 100-12 6 6 0 000 12zm0 6c-6.627 0-12-5.373-12-12s5.373-12 12-12 12 5.373 12 12-5.373 12-12 12zm6.728-38.662c3.582 4.407 8.307 6.98 14.07 7.675a2 2 0 10.479-3.971c-4.741-.571-8.522-2.631-11.445-6.227a2 2 0 10-3.104 2.523z\"},{\"fill-rule\":\"nonzero\",\"d\":\"M43.287 58.624c2.3-5.192 2.449-10.57.45-16.022a2 2 0 10-3.755 1.377c1.644 4.484 1.525 8.788-.352 13.024a2 2 0 103.657 1.62zM47.963 25.753c3.782-2.078 7.668-2.308 11.824-.69 4.007 1.705 6.575 4.907 7.57 8.188.529 1.672.643 2.742.643 6.275a2 2 0 104 0c0-3.906-.154-5.344-.821-7.458-1.312-4.326-4.646-8.482-9.883-10.709-5.308-2.068-10.43-1.765-15.26.888a2 2 0 001.927 3.506zM47.963 74.278c3.782 2.078 7.668 2.308 11.824.689 4.007-1.705 6.575-4.906 7.57-8.187.529-1.672.643-2.742.643-6.276a2 2 0 114 0c0 3.907-.154 5.345-.821 7.459-1.312 4.325-4.646 8.481-9.883 10.708-5.308 2.068-10.43 1.765-15.26-.888a2 2 0 111.927-3.505z\"}]}},\njavascript_button:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M63 36h10.6c.8 0 1.4-.6 1.4-1.4 0-.4-.1-.7-.4-1L61.4 20.4c-.3-.3-.6-.4-1-.4-.8 0-1.4.6-1.4 1.4V32c0 2.2 1.8 4 4 4z\"},{\"d\":\"M73 42H59c-3.3 0-6-2.7-6-6V22c0-1.1-.9-2-2-2H31c-3.3 0-6 2.7-6 6v48c0 3.3 2.7 6 6 6h38c3.3 0 6-2.7 6-6V44c0-1.1-.9-2-2-2zM37.8 66.3c0 2.9-1.4 3.9-3.6 3.9l-1.7-.2.3-1.8 1.2.2c1 0 1.6-.4 1.6-2v-6.5h2.2v6.4zm4.3 3.7c-1 0-2-.2-2.9-.6l.6-1.8c.8.4 1.6.6 2.5.6 1 0 1.6-.4 1.6-1.1s-.5-1-1.7-1.4c-1.2-.4-2.8-1.5-2.8-3s1.4-3 3.8-3c.9 0 1.8.1 2.6.5l-.5 1.8c-.7-.3-1.4-.5-2.1-.5-1 0-1.5.5-1.5 1s.6.9 1.9 1.4 2.6 1.6 2.6 3-1.3 3.1-4.1 3.1z\"}]}},\njob_family:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"circle\":{\"cx\":\"44.6\",\"cy\":\"36.2\",\"r\":\"16.1\"},\"path\":{\"d\":\"M48.8 79.6c2.8 0 1.2-1.9 1.2-1.9a19.22 19.22 0 01-4.2-12 18.65 18.65 0 011.7-7.9l.2-.4a1.17 1.17 0 00-.9-1.9 17.7 17.7 0 00-2.3-.1 24.35 24.35 0 00-24.1 20.9c0 1.2.4 3.5 4.2 3.5h23.7c.4-.2.4-.2.5-.2zM65.3 51.2a14.25 14.25 0 1014.2 14.3 14.25 14.25 0 00-14.2-14.3zm0 4.5a3.22 3.22 0 013.2 3.2 3.06 3.06 0 01-.7 2l2.3 4.3c.1.2 0 .4-.2.4a2.7 2.7 0 00-1.1.5c-.2.1-.4 0-.4-.1l-2.2-4.1a3.08 3.08 0 01-.9.1 3.22 3.22 0 01-3.2-3.2 3.08 3.08 0 013.2-3.1zm-2 8.2L61.1 68a3.26 3.26 0 011 2.3 3.2 3.2 0 11-3.2-3.2h.4l2.3-4.3c.1-.2.2-.2.5-.1a2.87 2.87 0 001.1.6c.1.4.2.6.1.6zm8.3 9.8a3.29 3.29 0 01-3-1.9h-4.4c-.2 0-.4-.2-.2-.4a2.48 2.48 0 00.1-.9v-.2c0-.2.1-.4.2-.4h4.2a3.12 3.12 0 013.1-2.6 3.22 3.22 0 013.2 3.2 3.44 3.44 0 01-3.2 3.2z\"}},\njob_position:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"circle\":{\"cx\":\"46.3\",\"cy\":\"36.3\",\"r\":\"16\"},\"path\":{\"d\":\"M66.6 51.1a11.39 11.39 0 00-11.4 11.4c0 7.7 8.1 15 10.6 16.9a1.09 1.09 0 001.5 0c2.5-2 10.6-9.2 10.6-16.9a11.25 11.25 0 00-11.3-11.4zm0 16a4.7 4.7 0 114.7-4.7 4.76 4.76 0 01-4.7 4.7zM50.4 79.7h1.4c5.2-.5 2.4-3.7 2.4-3.7-3.2-4.6-5-9.1-5-13.5a13.74 13.74 0 01.6-4.2c.2-2-.6-2.5-1-2.7h-.2a18.48 18.48 0 00-2.4-.1 24.26 24.26 0 00-24 20.9c0 1.2.4 3.5 4.2 3.5h23.8c0-.2.1-.2.2-.2z\"}},\njob_profile:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M37.3 31.9h21.8c1.1 0 2-.9 2-2v-4c0-3.3-2.7-5.9-5.9-5.9H41.3c-3.3 0-5.9 2.7-5.9 5.9v4c-.1 1.1.8 2 1.9 2z\"},{\"d\":\"M70 24.9h-2c-.6 0-1 .4-1 1v4c0 4.4-3.6 7.9-7.9 7.9H37.3c-4.4 0-7.9-3.6-7.9-7.9v-4c0-.6-.4-1-1-1h-2c-3.3 0-5.9 2.7-5.9 5.9v40.6c0 3.3 2.7 5.9 5.9 5.9h20c2.8 0 3.1-2.3 3.1-3.1V52.8c0-2.3 1.3-2.8 2-2.8h21.6c2.4 0 2.8-2.1 2.8-2.8V31c.1-3.4-2.6-6.1-5.9-6.1z\"},{\"d\":\"M78.4 60.4H56.6c-.6 0-1.1-.5-1.1-1.1v-2.2c0-.6.5-1.1 1.1-1.1h21.8c.6 0 1.1.5 1.1 1.1v2.2c0 .6-.5 1.1-1.1 1.1zm0 9.8H56.6c-.6 0-1.1-.5-1.1-1.1v-2.2c0-.6.5-1.1 1.1-1.1h21.8c.6 0 1.1.5 1.1 1.1v2.2c0 .6-.5 1.1-1.1 1.1zm0 9.8H56.6c-.6 0-1.1-.5-1.1-1.1v-2.2c0-.6.5-1.1 1.1-1.1h21.8c.6 0 1.1.5 1.1 1.1v2.2c0 .6-.5 1.1-1.1 1.1z\"}]},\nkanban:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M56.5 38.3c0-1-.9-1.9-1.9-1.9H43.4c-1 0-1.9.9-1.9 1.9V72c0 1 .9 1.9 1.9 1.9h11.2c1 0 1.9-.9 1.9-1.9V38.3zm-22.5 0c0-1-.9-1.9-1.9-1.9H20.9c-1 0-1.9.9-1.9 1.9V77c0 1 .9 1.9 1.9 1.9h11.2c1 0 1.9-.9 1.9-1.9V38.3zm45 0c0-1-.9-1.9-1.9-1.9H65.9c-1 0-1.9.9-1.9 1.9V67c0 1 .9 1.9 1.9 1.9h11.2c1 0 1.9-.9 1.9-1.9V38.3zm0-17.5c0-1-.9-1.9-1.9-1.9H20.9c-1 0-1.9.9-1.9 1.9V27c0 1 .9 1.9 1.9 1.9h56.2c1 0 1.9-.9 1.9-1.9v-6.2z\"}},\nkey_dates:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M77.86 41.57a2.14 2.14 0 012.13 2v32.3a6.44 6.44 0 01-6.2 6.42H26.43a6.46 6.46 0 01-6.43-6.2V43.71a2.15 2.15 0 012-2.13h55.86zM49.21 47.8v.11l-2.87 9.2a.72.72 0 01-.74.55h-9.3a1 1 0 00-.63 1.69l.08.08 7.44 5.48a1 1 0 01.34.91v.12l-3.42 9.38a.91.91 0 001.32 1.1l.08-.06 8.05-6a1 1 0 011-.07l.09.07 8 6a.91.91 0 001.43-.94v-.1l-3.53-9.38a.93.93 0 01.15-.94l.09-.09 7.44-5.48a1 1 0 00-.43-1.76h-9.26a.9.9 0 01-.81-.43v-.12L50.88 48a.9.9 0 00-1.67-.2zM63.93 18a4.29 4.29 0 014.28 4.29v2.14h5.36A6.44 6.44 0 0180 30.86V33a2.14 2.14 0 01-2.14 2.14H22.14A2.14 2.14 0 0120 33v-2.14a6.44 6.44 0 016.43-6.43h5.36v-2.14a4.29 4.29 0 118.57 0v2.14h19.28v-2.14A4.3 4.3 0 0163.93 18z\"}},\nknowledge:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M32 59h13c1.1 0 2-.9 2-2V27c0-2.2-2-4-4-4H32.3C31 23 30 24 30 25.3V57c0 1.1.9 2 2 2zm44-30v32c0 2.2-1.8 4-4 4H28c-2.2 0-4-1.8-4-4V29c-3.3 0-6 2.7-6 6v30c0 3.3 2.7 6 6 6h19c1.1 0 2 .9 2 2s.9 2 2 2h6c1.1 0 2-.9 2-2s.9-2 2-2h19c3.3 0 6-2.7 6-6V35c0-3.3-2.7-6-6-6zM55 59h12.7c1.3 0 2.3-1 2.3-2.3V25c0-1.1-.9-2-2-2H57c-2 0-4 1.8-4 4v30c0 1.1.9 2 2 2z\"}},\nlead:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"circle\":{\"cx\":\"50\",\"cy\":\"29\",\"r\":\"9\"},\"path\":{\"d\":\"M78 44H22c-2 0-2.8 2.5-1.1 3.6L35.5 57c.7.5 1.1 1.4.8 2.2l-5.5 18.3c-.6 2 2 3.4 3.5 1.9l14.2-15c.8-.9 2.2-.9 3 0l14.2 15c1.4 1.5 4 .1 3.5-1.9l-5.5-18.3c-.2-.8.1-1.7.8-2.2l14.6-9.4c1.7-1.1.9-3.6-1.1-3.6z\"}},\nlead_insights:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M50 22c-15.5 0-28 12.6-28 28s12.6 28 28 28c15.5 0 28-12.6 28-28S65.5 22 50 22zm0 52.7c-13.6 0-24.7-11-24.7-24.7 0-13.6 11-24.7 24.7-24.7 13.6 0 24.7 11 24.7 24.7 0 13.6-11.1 24.7-24.7 24.7z\"},\"g\":{\"path\":{\"d\":\"M49 49.2c0 2.4-.5 4.5-1.4 6.2-.9 1.7-2.3 3-4.1 4-1.8.9-4 1.4-6.6 1.4v-2c2.9 0 5.2-.7 6.9-2s2.6-3.2 2.8-5.6c-1.6 1.6-3.5 2.4-5.7 2.4-1.2 0-2.3-.3-3.3-.8s-1.7-1.2-2.3-2.2c-.6-1-.8-2.1-.8-3.4 0-1.3.3-2.5.9-3.6.6-1.1 1.4-1.9 2.5-2.5 1.1-.6 2.4-.9 3.9-.9 2.4 0 4.3.8 5.5 2.4s1.7 3.6 1.7 6.6zm-2.4-.4c0-2.3-.4-4-1.1-5.1-.7-1.1-2-1.7-3.7-1.7-1.5 0-2.7.4-3.6 1.3-.8.9-1.2 2.1-1.2 3.6s.4 2.6 1.2 3.4c.8.8 1.9 1.2 3.3 1.2 1.1 0 2-.2 2.9-.7s1.5-1.2 2.2-2zM66.1 49.2c0 2.4-.5 4.5-1.4 6.2-.9 1.7-2.3 3-4.1 4-1.8.9-4 1.4-6.6 1.4v-2c2.9 0 5.2-.7 6.9-2s2.6-3.2 2.8-5.6c-1.6 1.6-3.5 2.4-5.7 2.4-1.2 0-2.3-.3-3.3-.8s-1.7-1.2-2.3-2.2c-.6-1-.8-2.1-.8-3.4 0-1.3.3-2.5.9-3.6.6-1.1 1.4-1.9 2.5-2.5 1.1-.6 2.4-.9 3.9-.9 2.4 0 4.3.8 5.5 2.4s1.7 3.6 1.7 6.6zm-2.5-.4c0-2.3-.4-4-1.1-5.1-.7-1.1-2-1.7-3.7-1.7-1.5 0-2.7.4-3.6 1.3-.8.9-1.2 2.1-1.2 3.6s.4 2.6 1.2 3.4c.8.8 1.9 1.2 3.3 1.2 1.1 0 2-.2 2.9-.7s1.6-1.2 2.2-2z\"}}},\nlead_list:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M37.1 62.3H77c1.1 0 2 .9 2 2v4c0 1.1-.9 2-2 2H37.1c-1.1 0-2-.9-2-2v-4c0-1.1.9-2 2-2zM25 70.3h-4c-1.1 0-2-.9-2-2v-4c0-1.1.9-2 2-2h4c1.1 0 2 .9 2 2v4c.1 1-.7 1.9-1.8 2H25zM25 52.4h-4c-1.1 0-2-.9-2-2v-4c0-1.1.9-2 2-2h4c1.1 0 2 .9 2 2v4c.1 1-.7 1.9-1.8 2H25zM25 34.5h-4c-1.1 0-2-.9-2-2v-4c0-1.1.9-2 2-2h4c1.1 0 2 .9 2 2v4c.1 1-.7 1.9-1.8 2H25zM37.1 44.4h35.1c1.1 0 2 .9 2 2v4c0 1.1-.9 2-2 2H37.1c-1.1 0-2-.9-2-2v-4c0-1.1.9-2 2-2zM37.1 26.6H77c1.1 0 2 .9 2 2v4c0 1.1-.9 2-2 2H37.1c-1.1 0-2-.9-2-2v-4c0-1.1.9-2 2-2z\"}},\nletterhead:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M73.8 20H26.2c-3.4 0-6.2 2.8-6.2 6.2v47.6c0 3.4 2.8 6.2 6.2 6.2h47.6c3.4 0 6.2-2.8 6.2-6.2V26.2c0-3.4-2.8-6.2-6.2-6.2zM71 69.1c0 .8-.8 1.4-1.6 1.4H30.5c-.8 0-1.4-.8-1.4-1.6v-9c0-.8.8-1.4 1.6-1.4h38.9c.8 0 1.4.8 1.4 1.6v9zm0-29.2c0 .8-.8 1.4-1.6 1.4H30.5c-.8 0-1.4-.8-1.4-1.6v-9c0-.8.8-1.4 1.6-1.4h38.9c.8 0 1.4.8 1.4 1.6v9z\"}},\nlightning_component:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M61.1 20H44.2c-2.5 0-4.7 1.5-5.6 3.8L28.1 50.9c-.8 2 .7 4.1 2.8 4.1h17.2l-6.4 22.4c-.6 2.1 2 3.5 3.4 1.8L71.4 48c1.7-1.9.3-5-2.3-5h-13l11.4-18.4c1.2-2-.2-4.6-2.6-4.6h-3.8z\"}},\nlightning_usage:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M19 73.9c0 2.8 2.2 5 5 5h53c1.1 0 2-.9 2-2v-2.1c0-1.1-.9-2-2-2H26.9c-1 0-1.9-.9-1.9-1.9v-50c0-1.1-.9-2-2-2h-2c-1.1 0-2 .9-2 2v53z\"},{\"d\":\"M34.4 57.9c-.8 0-1.5-.3-2.1-.9-1.2-1.2-1.2-3.1 0-4.2l16-15.9c1.2-1.2 3.1-1.2 4.2 0l7.7 7.7 13.5-13.7c1.2-1.2 3.1-1.2 4.2 0 1.2 1.2 1.2 3.1 0 4.2L62.4 50.8c-.6.6-1.3.9-2.1.9s-1.6-.3-2.1-.9l-7.8-7.7L36.6 57c-.6.6-1.4.9-2.2.9z\"}]},\nlink:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M51.5 69.4c-.9-.1-1.7-.2-2.6-.4-.9-.2-1.8-.4-2.7-.7-.5-.2-1.1-.1-1.5.3l-.6.6c-3.6 3.6-9.4 4-13.3.7-4.2-3.7-4.4-10.1-.5-14l9.5-9.5c1.2-1.2 2.7-2.1 4.3-2.5 2-.5 4.1-.4 6 .4 1.2.5 2.3 1.2 3.2 2.1.5.5.9 1.1 1.2 1.7.5.8 1.6 1 2.3.3l3.5-3.5c.5-.5.6-1.3.1-1.9-.5-.7-1.1-1.4-1.7-2-.9-.9-1.9-1.7-3-2.4-1.8-1.1-3.8-1.9-5.8-2.3-3.9-.8-8.1-.2-11.7 1.8-1.4.8-2.7 1.7-3.9 2.9l-9.2 9.2c-6.6 6.6-7.1 17.3-.8 24.1 6.7 7.2 17.9 7.4 24.8.5l3.1-3.1c1-.7.5-2.2-.7-2.3z\"},{\"d\":\"M74.5 24.5c-6.8-6.3-17.6-5.8-24.1.8L47.5 28c-.9.9-.3 2.3.9 2.4 1.8.1 3.5.5 5.3 1.1.5.2 1.1 0 1.5-.3l.6-.6c3.6-3.6 9.4-4 13.3-.7 4.2 3.7 4.4 10.1.5 14l-9.5 9.5c-1.2 1.2-2.7 2.1-4.3 2.5-2 .5-4.1.4-6-.4-1.2-.5-2.3-1.2-3.2-2.1-.5-.5-.9-1-1.2-1.6-.5-.8-1.6-1-2.3-.3L39.6 55c-.5.5-.6 1.3-.1 1.9.5.7 1.1 1.4 1.7 2 .9.9 1.9 1.7 3 2.4 1.8 1 3.8 1.7 5.8 2.1 3.9.8 8.1.2 11.7-1.8 1.4-.8 2.7-1.7 3.9-2.9l9.5-9.5c6.7-6.8 6.6-18.1-.6-24.7z\"}]},\nlist_email:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M64.9 34.9H30.3c-2.7 0-4.8 2.2-4.8 4.8v.8c0 .4.4.8.8.8h32.1c2.7 0 4.8 2.2 4.8 4.8v23c0 .4.4.8.8.8h.8c2.7 0 4.8-2.2 4.8-4.8V39.7c.1-2.6-2.1-4.8-4.7-4.8z\"},{\"d\":\"M75.3 24.6H40.7c-2.7 0-4.8 2.2-4.8 4.8v.8c0 .4.4.8.8.8h32.1c2.7 0 4.8 2.2 4.8 4.8v23c0 .4.4.8.8.8h.8c2.7 0 4.8-2.2 4.8-4.8V29.4c.1-2.6-2.1-4.8-4.7-4.8z\"},{\"d\":\"M38.5 64.2c.5.5 1.2.5 1.7 0l18.3-17c.3-.6.2-1.7-1.1-1.7l-36.1.1c-1 0-1.8.9-1.1 1.7l18.3 16.9zm20.3-10.4c0-.8-1-1.3-1.6-.7L42.9 66.3c-1 .9-2.2 1.4-3.5 1.4-1.3 0-2.5-.5-3.5-1.3L21.7 53.1c-.6-.6-1.6-.2-1.6.7-.1-.2-.1 18.4-.1 18.4 0 1.8 1.5 3.2 3.2 3.2h32.3c1.8 0 3.2-1.5 3.2-3.2V53.8z\"}]},\nlive_chat:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M49.5 21.9c-16.7 0-30 12.3-30 27.4 0 4.8 1.4 9.3 3.6 13.3.4.6.5 1.4.3 2.1l-3.9 10.7c-.4 1 .6 1.9 1.6 1.6L32 72.9c.6-.3 1.4-.1 2.1.3 4.5 2.5 9.9 4 15.7 4 16.4-.2 29.8-12.3 29.8-27.6-.1-15.5-13.5-27.7-30.1-27.7zm-15 32.6c-2.8 0-5-2.3-5-5 0-2.8 2.3-5 5-5 2.8 0 5 2.3 5 5s-2.3 5-5 5zm15 0c-2.8 0-5-2.3-5-5 0-2.8 2.3-5 5-5 2.8 0 5 2.3 5 5s-2.2 5-5 5zm15.1 0c-2.8 0-5-2.3-5-5 0-2.8 2.3-5 5-5s5 2.3 5 5-2.3 5-5 5z\"}},\nlive_chat_visitor:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M50 22.2c-16.6 0-30 12.5-30 28 0 5 1.4 9.6 3.8 13.7.3.5.4 1.1.2 1.6l-2.8 8.9c-.5 1.6 1 3 2.6 2.5l8.8-3.1c.6-.2 1.2-.1 1.7.2 4.6 2.7 10 4.2 15.8 4.2 16.6 0 30-12.5 30-28-.1-15.5-13.6-28-30.1-28zm-5.5 26.5c2.4-1 2.7-1.9 2.7-2.9 0-1.1-.6-2-1.4-2.7-1.4-1.2-2.2-3-2.2-5 0-3.8 2.4-7 6.4-7s6.3 3.2 6.3 7c0 2-.7 3.8-2.1 5-.8.7-1.4 1.6-1.4 2.7 0 1 .3 1.9 2.6 2.8C58.8 50 61.8 52 62 55c.2 2-1.3 4.1-3.2 4.1H41.4C39.5 59.1 38 57 38 55c0-3 3.2-4.8 6.5-6.3zm-3.8 20.5c-1.7 0-3.1-1.4-3.1-3.1 0-1.7 1.4-3.1 3.1-3.1 1.7 0 3.1 1.4 3.1 3.1s-1.4 3.1-3.1 3.1zm9.3 0c-1.7 0-3.1-1.4-3.1-3.1 0-1.7 1.4-3.1 3.1-3.1 1.7 0 3.1 1.4 3.1 3.1s-1.4 3.1-3.1 3.1zm9.3 0c-1.7 0-3.1-1.4-3.1-3.1 0-1.7 1.4-3.1 3.1-3.1s3.1 1.4 3.1 3.1-1.5 3.1-3.1 3.1z\"}},\nlocation:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M77.5 28.28l-18-9a3.2 3.2 0 00-2.62 0l-16.63 8.38-16.75-8.38a3.1 3.1 0 00-3.13.12A2.88 2.88 0 0019 21.91v45a2.92 2.92 0 001.63 2.62l18 9a3.2 3.2 0 002.63 0L58 70.16l16.63 8.38a2.52 2.52 0 001.37.37 2.75 2.75 0 001.62-.5 2.88 2.88 0 001.38-2.5v-45a2.81 2.81 0 00-1.5-2.63zM72.75 34v23.78a1.87 1.87 0 01-2.5 1.88c-4.63-1.75-.88-9.5-4.25-13.75-3.13-3.88-7.13.13-11-6-3.63-5.91 1.25-10.13 5.75-12.38a2.13 2.13 0 011.75 0l9.25 4.63a2 2 0 011 1.84zM47.62 68.78a2.1 2.1 0 01-2.25-.25 6.57 6.57 0 01-2.25-4.63c0-3-5-2-5-8 0-4.87-5.75-6.13-10.63-5.63a1.88 1.88 0 01-2.12-2V30a1.86 1.86 0 012.75-1.75l10.75 5.38a.44.44 0 01.25.13l.37.25c4.5 2.63 3.62 4.75 1.75 8-2.13 3.62-3 0-6-1s-6 1-5 3 4 0 6 2 2 5 8 3 7-1 9 1a6.31 6.31 0 010 9c-1.75 1.75-2.5 5.5-3.25 8a2 2 0 01-1 1.25z\"}},\nlocation_permit:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M66.47 31.75l-11.4-11.39a1.33 1.33 0 00-.89-.36 1.21 1.21 0 00-1.24 1.25v9.08a3.38 3.38 0 003.38 3.38h9.08a1.22 1.22 0 001.25-1.25c.17-.18.17-.35-.18-.71zm.35 9.08A1.78 1.78 0 0065 39.05H52.94a5.17 5.17 0 01-5.17-5.16V21.78A1.78 1.78 0 0046 20H28.72a5.17 5.17 0 00-5.16 5.16v41.49a5.17 5.17 0 005.16 5.16h17.63c1.42 0 1.78-.89 1.6-2.49s-.53-7.84 3.74-12.82 11.4-5.34 12.46-5.34 2.85 0 2.67-1.61zm-37.21-10l4.28-.53a.18.18 0 00.18-.18l2-3.92a.55.55 0 01.72 0l1.95 3.92.18.18 4.28.53a.34.34 0 01.17.53l-3.2 3.21V35l.71 4.27c0 .18-.18.53-.53.35l-3.74-1.95h-.41l-3.74 1.95c-.18.18-.53 0-.53-.35l.53-4.27v-.4l-3.2-3a1.39 1.39 0 01.35-.74zm15.67 29a1.78 1.78 0 01-1.78 1.78H32.28a1.78 1.78 0 01-1.78-1.78V58.1a1.79 1.79 0 011.78-1.78H43.5a1.78 1.78 0 011.78 1.78zm9.44-10.5a1.78 1.78 0 01-1.78 1.78H32.28a1.78 1.78 0 01-1.78-1.78V47.6a1.79 1.79 0 011.78-1.78h20.84a1.78 1.78 0 011.78 1.78v1.78zM64.15 63.8a2.49 2.49 0 102.5 2.49 2.68 2.68 0 00-2.5-2.49z\"},{\"data-name\":\"Shape\",\"d\":\"M64.15 55.43a12.29 12.29 0 1012.29 12.29 12.31 12.31 0 00-12.29-12.29zM64.51 75a.53.53 0 01-.71 0c-1.25-1.06-5.52-4.62-5.52-8.72a5.88 5.88 0 0111.75 0c-.18 4.11-4.27 7.72-5.52 8.72z\"}]},\nlog_a_call:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M69.7 20H32.1c-3.3 0-6.1 3-6.1 6v2h-2c-2.2 0-4 1.8-4 4s1.8 4 4 4h2v10h-2c-2.2 0-4 1.8-4 4s1.8 4 4 4h2v10h-2c-2.2 0-4 1.8-4 4s1.8 4 4 4h2v2c0 3 2.8 6 6.1 6h37.6c3.3 0 6.3-3 6.3-6.3v-48c0-3.3-3-5.7-6.3-5.7zm-3.6 40.3l-2.8 2.8c-.6.6-1.5 1-2.3.9-6.6-.4-12.8-3.4-17.2-7.7-4.4-4.4-7.4-10.6-7.7-17.2 0-.9.3-1.7.9-2.3l2.8-2.8c1.3-1.3 3.5-1.2 4.6.3l2.6 3.2c.9 1.1.9 2.6.1 3.8l-2.2 3.1c-.3.4-.3 1 .1 1.3l4.6 5.1 5.1 4.6c.4.4.9.4 1.3.1l3.1-2.2c1.1-.8 2.7-.8 3.8.1l3.2 2.6c1.2.8 1.3 3 0 4.3z\"}},\nlogging:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M77.2 56.2h-3.7c-1 0-1.8 1-1.8 1.8v12.3c0 1-.9 1.8-1.8 1.8H29.3c-1 0-1.8-.9-1.8-1.8V58c0-.9-.9-1.8-1.8-1.8H22c-1 0-1.8 1-1.8 1.8v16.6c0 2.7 2.2 4.9 4.9 4.9h49.1c2.7 0 4.9-2.2 4.9-4.9V58c-.1-.9-.9-1.8-1.9-1.8zM50.8 21c-.7-.7-1.8-.7-2.6 0L31.6 37.6c-.7.7-.7 1.8 0 2.6l2.6 2.6c.7.7 1.8.7 2.6 0l6.9-6.9c.7-.7 2.2-.2 2.2.9v26c0 1 .7 1.8 1.7 1.8h3.7c1 0 2-1 2-1.8V36.9c0-1.1 1.2-1.6 2.1-.9l6.9 6.9c.7.7 1.8.7 2.6 0l2.6-2.6c.7-.7.7-1.8 0-2.6-.2 0-16.7-16.7-16.7-16.7z\"}},\nloop:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M76.5 58.3c0 .1 0 .2-.1.2-.3 1.1-.7 2.2-1.1 3.3-.5 1.2-1 2.3-1.6 3.4-1.2 2.2-2.7 4.2-4.5 6-1.7 1.8-3.7 3.4-5.9 4.7-2.2 1.3-4.5 2.3-7 3-2.5.7-5.1 1.1-7.7 1.1C32.8 80 20 67.2 20 51.3s12.8-28.6 28.6-28.6c5.3 0 10.3 1.5 14.6 4h.1c2.1 1.2 4 2.7 5.6 4.4.5.4.8.7 1.2 1.2.9.8 1.6.3 1.6-.9V22c0-1.1.9-2 2-2h4c1.1 0 2 .9 2.2 2v24.5c0 .9-.8 1.8-1.8 1.8H53.6c-1.1 0-1.9-.8-1.9-1.9v-4.2c0-1.1.9-2 2-2h9.4c.8 0 1.4-.2 1.7-.7-3.6-5-9.6-8.3-16.2-8.3-11.1 0-20.1 9-20.1 20.1s9 20.1 20.1 20.1c8.7 0 16.1-5.5 18.9-13.3 0 0 .3-1.8 1.7-1.8h5.7c.8 0 1.6.6 1.6 1.5v.5z\"}},\nmacros:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M64.7 67.5c-.2.5-.7.6-1.2.6h-5.8c-.5 0-.9-.4-.9-.9 0-.1.1-.4.1-.5l.1-.1.2-.2L70 50.9c.4-.5.5-1.2.2-1.7 0-.1-.1-.2-.1-.2L56.9 33.2c-.1-.1-.1-.4-.1-.5 0-.5.5-.9.9-.9h5.8c.5 0 1 .1 1.2.6L78.4 49c.2.2.2.6.2.9 0 .4-.1.7-.2 1L64.7 67.5z\"},{\"d\":\"M50.4 67.5c-.2.5-.7.6-1.2.6h-5.8c-.5 0-.9-.4-.9-.9 0-.1.1-.4.1-.5l.1-.1.2-.2 12.7-15.5c.4-.5.5-1.2.2-1.7 0-.1-.1-.2-.1-.2L42.6 33.2c-.1-.1-.1-.4-.1-.5 0-.5.5-.9.9-.9h5.8c.5 0 1 .1 1.2.6L64.1 49c.2.2.2.6.2.9 0 .4-.1.7-.2 1L50.4 67.5z\"},{\"d\":\"M36 67.5c-.2.5-.7.6-1.2.6H23.9c-.5 0-.9-.4-.9-.9 0-.1.1-.4.1-.5l.1-.1.2-.2 12.7-15.5c.4-.5.5-1.2.2-1.7 0-.1-.1-.2-.1-.2l-13-15.8c-.2-.1-.2-.3-.2-.5 0-.5.5-.9.9-.9h10.8c.5 0 1 .1 1.2.6L49.6 49c.2.2.2.6.2.9 0 .4-.1.7-.2 1L36 67.5z\"}]},\nmaintenance_asset:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M46.5 30.5c.2.5.6.8 1.1.8h27.5c1.3 0 2.7.3 3.9.8.5.3 1.1-.1 1.1-.8.1-2.8-2.1-5-4.9-5.1H45c-.3 0-.6.2-.6.5 0 .1 0 .3.1.4l2 3.4z\"},{\"d\":\"M75.1 36.4H46.7c-1.8 0-3.4-1-4.4-2.5l-4.4-7.6c-.8-1.6-2.5-2.6-4.3-2.6h-8.5c-2.8 0-5 2.2-5 5v45.9c-.1 2.8 2.1 5 4.9 5.1h50.1c2.8 0 5-2.2 5-5V41.5c.1-2.8-2.1-5-4.9-5.1h-.1zM62 69.7c-1.1 1.2-2.9 1.2-4.1.1l-.1-.1-9.9-9.9c-.6.3-1.3.4-2 .5-4.2.5-8-2.6-8.5-6.8v-.8c0-.7.1-1.5.3-2.2.1-.2.3-.4.6-.3.1 0 .1 0 .1.1l4.3 4.3c.3.3.9.3 1.2 0l3-3c.3-.3.3-.9 0-1.2l-4.3-4.3c-.2-.2-.1-.5.1-.6l.1-.1c.7-.2 1.5-.3 2.2-.3 4.2 0 7.6 3.4 7.6 7.7v.8c-.1.7-.3 1.3-.5 2l9.9 9.9c1.3 1.1 1.5 2.9.4 4.2-.2 0-.2.1-.4 0z\"}]},\nmaintenance_plan:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M65.7 34h7.9c.9 0 1.7-.8 1.7-1.7 0-.4-.2-.9-.5-1.2L63.5 20c-.3-.3-.7-.5-1.1-.5-.9 0-1.7.8-1.7 1.7v7.9c.2 2.7 2.3 4.8 5 4.9z\"},{\"d\":\"M72.7 41H60.5c-4 0-7.2-3.2-7.3-7.2v-12c.1-1.2-.8-2.2-2-2.3H31.6c-4 0-7.2 3.2-7.3 7.2v45.7c0 4 3.3 7.2 7.3 7.2h36.2c4 0 7.2-3.2 7.3-7.2V43.5c.1-1.3-1-2.5-2.4-2.5zm-6.9 30.8c-.8.8-1.8 1.2-3 1.2-1.1 0-2.2-.4-3-1.2L46 58c-.9.4-1.8.6-2.8.7-5.8.7-11-3.5-11.7-9.3-.2-1.5 0-3 .4-4.4.1-.4.6-.5 1-.2l6 6c.4.5 1.2.5 1.6.1 0 0 .1 0 .1-.1l4.2-4.2c.5-.4.5-1.2.1-1.6 0 0 0-.1-.1-.1l-6-6c-.2-.2-.2-.6 0-.9.1-.1.1-.1.2-.1 1-.2 2.1-.4 3.1-.4 5.9 0 10.6 4.7 10.7 10.6 0 .4 0 .8-.1 1.2-.1 1-.4 1.9-.7 2.8L65.8 66c1.6 1.6 1.6 4.2 0 5.8z\"}]},\nmaintenance_work_rule:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M79.67 49.23l-10-10a1.36 1.36 0 00-1.86 0l-1.86 1.87a1.34 1.34 0 000 1.86L69 46a.89.89 0 01-.09 1.27.87.87 0 01-.53.22H41l16.33-16.25a.89.89 0 011.27.09.87.87 0 01.22.53v4.46a1.18 1.18 0 001.1 1.24h2.71a1.17 1.17 0 001.24-1.09V22a1.17 1.17 0 00-1.1-1.24H48.53a1.36 1.36 0 00-1.24 1.37v2.49a1.18 1.18 0 001.12 1.24H53a.88.88 0 01.86.9.89.89 0 01-.24.58l-20.1 20.03H21.24A1.28 1.28 0 0020 48.69v2.64a1.46 1.46 0 001.36 1.37h12.41l20 20a.9.9 0 01-.1 1.27.85.85 0 01-.52.21h-4.5a1.17 1.17 0 00-1.24 1.1.33.33 0 000 .14v2.49a1.45 1.45 0 001.24 1.37H62.8a1.18 1.18 0 001.2-1.12V63.74a1.18 1.18 0 00-1.12-1.24h-2.7a1.17 1.17 0 00-1.24 1.09v4.61a.88.88 0 01-.89.87.9.9 0 01-.6-.25L41.08 52.7H68.5a.89.89 0 01.62 1.48l-3.22 3.1a1.35 1.35 0 000 1.87L67.76 61a1.34 1.34 0 001.86 0l10-9.92a1.36 1.36 0 00.05-1.85z\"}},\nmarketing_actions:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M47.5 26c-5.1.3-9.2 4.4-9.5 9.5.2-5.2 4.3-9.3 9.5-9.5zM58 35.5c-.3-5.1-4.4-9.2-9.5-9.5 5.2.2 9.3 4.3 9.5 9.5zM63.6 54.8l-10.2-3.5c-.8-.3-1.4-1-1.4-1.9V35.8c0-2.1-1.7-3.8-3.8-3.8h-.4c-2.1 0-3.8 1.7-3.8 3.8v26.9c0 2.3-2.9 3.2-4.1 1.2l-2.6-5.5c-1.4-2.4-4.5-3-6.7-1.4L29 58.2l8.6 20.4c.4.9 1.2 1.4 2.2 1.4h22.6c1.1 0 2-.8 2.3-1.8l4-14.3c.8-3.9-1.4-7.8-5.1-9.1z\"},{\"d\":\"M38 46.2V36v-.5c.3-5.1 4.4-9.2 9.5-9.5h1c5.1.3 9.2 4.4 9.5 9.5v10.7c0 .9 1.1 1.3 1.7.7C62.4 44 64 40.2 64 36c0-9.3-8-16.8-17.5-15.9-7.2.7-13.2 6.3-14.3 13.4-.8 5 .8 9.9 4.1 13.4.6.6 1.7.2 1.7-.7z\"}]},\nmedication_ingredient:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M61.12 21.67H33.89A1.36 1.36 0 0032.53 23v3.74A1.37 1.37 0 0033.89 28h27.2a1.37 1.37 0 001.36-1.29V23a1.36 1.36 0 00-1.33-1.33z\"},{\"d\":\"M68.11 56.27a11.14 11.14 0 1011.13 11.15 11.1 11.1 0 00-11.09-11.15zm0 5.61a1.4 1.4 0 11-1.4 1.4 1.37 1.37 0 011.35-1.39zm2.32 9.75A.43.43 0 0170 72h-3.75a.42.42 0 01-.46-.38v-.92a.5.5 0 01.46-.51.43.43 0 00.46-.4v-1.88a.5.5 0 00-.46-.51.42.42 0 01-.46-.38v-1a.5.5 0 01.46-.51H69a.5.5 0 01.47.51v3.71a.42.42 0 00.44.42.5.5 0 01.47.51z\"},{\"d\":\"M54 67.4a14.15 14.15 0 0110.76-13.71v-13a9.27 9.27 0 00-9.17-9.35h-16a9.27 9.27 0 00-9.36 9.16v2.6h17a1.5 1.5 0 011.5 1.5v17.09a1.5 1.5 0 01-1.5 1.5h-17v7.48a1.44 1.44 0 001.5 1.33h23a13.84 13.84 0 01-.73-4.6z\"}],\"rect\":[{\"x\":\"30.28\",\"y\":\"47.61\",\"width\":\"13.37\",\"height\":\"3.09\",\"rx\":\"1\"},{\"x\":\"30.28\",\"y\":\"55.28\",\"width\":\"9.37\",\"height\":\"3.09\",\"rx\":\"1\"}]},\nmerge:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M70.5 72.5c-7-3.4-12-9.4-14.5-16.3-1-2.6-1.6-5.3-1.9-7.9v-4.4h13.6c1.1 0 1.7-1.2 1-2.2L51 20.5c-.6-.8-2-.8-2.5 0L31.2 41.7c-.6.8 0 2.2 1 2.2h13.7V48.3c-.3 2.7-1 5.5-1.9 7.9-2.6 6.8-7.5 12.9-14.5 16.3-1 .4-1.4 1.6-1 2.6l1.6 3.8c.5 1.1 1.6 1.4 2.7.8 7.6-3.6 13.5-9.4 17.2-16.2 3.7 6.9 9.6 12.6 17.3 16.2 1.1.5 2.2.4 2.7-.8l1.6-3.8c.4-1-.1-2.2-1.1-2.6z\"}},\nmessaging_conversation:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M54.686 71.349c10.594-3.909 16.829-10.49 18.705-19.743C77.926 53.882 81 58.347 81 63.5c0 2.202-.564 4.243-1.544 6.086l1.689 5.37c.402 1.285-.803 2.41-2.089 2.009l-5.219-1.84C71.676 76.332 69.165 77 66.476 77c-4.869 0-9.167-2.227-11.79-5.651zM44.098 22c13.335 0 24.099 10.045 24.179 22.5 0 12.455-10.764 22.5-24.098 22.5-4.66 0-8.997-1.205-12.692-3.375a1.62 1.62 0 00-1.366-.16l-7.069 2.49c-1.285.402-2.49-.723-2.088-2.009l2.25-7.151c.16-.402.08-.884-.162-1.286C21.125 52.214 20 48.518 20 44.5 20 32.045 30.764 22 44.098 22zM32 37a2 2 0 00-2 2v2a2 2 0 002 2h26a2 2 0 002-2v-2a2 2 0 00-2-2H32zm0 11a2 2 0 00-2 2v2a2 2 0 002 2h14a2 2 0 002-2v-2a2 2 0 00-2-2H32z\"}},\nmessaging_session:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M50 22c16.6 0 30 12.5 30.1 28 0 15.5-13.4 28-30 28-5.8 0-11.2-1.5-15.8-4.2-.5-.3-1.1-.4-1.7-.2l-8.8 3.1c-1.6.5-3.1-.9-2.6-2.5l2.8-8.9c.2-.5.1-1.1-.2-1.6C21.4 59.6 20 55 20 50c0-15.5 13.4-28 30-28zm13 23c.6 0 1-.4 1-1v-6c0-.6-.4-1-1-1H37c-.6 0-1 .4-1 1v6c0 .6.4 1 1 1h26zM43 65c.6 0 1-.4 1-1V52c0-.6-.4-1-1-1h-6c-.6 0-1 .4-1 1v12c0 .6.4 1 1 1h6zm20 0c.6 0 1-.4 1-1V52c0-.6-.4-1-1-1H51c-.6 0-1 .4-1 1v12c0 .6.4 1 1 1h12z\"}},\nmessaging_user:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M50 22c16.6 0 30 12.5 30.1 28 0 15.5-13.4 28-30 28-5.8 0-11.2-1.5-15.8-4.2-.5-.3-1.1-.4-1.7-.2l-8.8 3.1c-1.6.5-3.1-.9-2.6-2.5l2.8-8.9c.2-.5.1-1.1-.2-1.6C21.4 59.6 20 55 20 50c0-15.5 13.4-28 30-28zm8.757 42c1.915 0 3.426-2.108 3.225-4.115-.1-3.01-3.225-5.018-6.55-6.423-2.317-.903-2.62-1.806-2.62-2.81 0-1.003.605-1.906 1.411-2.609 1.41-1.204 2.116-3.01 2.116-5.018 0-3.814-2.317-7.025-6.348-7.025-4.03 0-6.348 3.211-6.348 7.025 0 2.007.806 3.814 2.116 5.018.806.703 1.41 1.606 1.41 2.61 0 1.003-.302 1.906-2.62 2.91-3.325 1.505-6.448 3.312-6.549 6.322C38 61.892 39.511 64 41.426 64h17.331z\"}},\nmetrics:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M72 22H28c-3.3 0-6 2.7-6 6v44c0 3.3 2.7 6 6 6h44c3.3 0 6-2.7 6-6V28c0-3.3-2.7-6-6-6zM38 66c0 1.1-.9 2-2 2h-2c-1.1 0-2-.9-2-2V55c0-1.1.9-2 2-2h2c1.1 0 2 .9 2 2v11zm10 0c0 1.1-.9 2-2 2h-2c-1.1 0-2-.9-2-2V40c0-1.1.9-2 2-2h2c1.1 0 2 .9 2 2v26zm10 0c0 1.1-.9 2-2 2h-2c-1.1 0-2-.9-2-2V34c0-1.1.9-2 2-2h2c1.1 0 2 .9 2 2v32zm10 0c0 1.1-.9 2-2 2h-2c-1.1 0-2-.9-2-2V47c0-1.1.9-2 2-2h2c1.1 0 2 .9 2 2v19z\"}},\nmulti_picklist:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M73 20H41c-3.3 0-6 2.7-6 6v1c0 .6.4 1 1 1h29c3.3 0 6 2.7 6 6v31c0 .6.4 1 1 1h1c3.3 0 6-2.7 6-6V26c0-3.3-2.7-6-6-6z\"},{\"d\":\"M59 34H27c-3.3 0-6 2.7-6 6v34c0 3.3 2.7 6 6 6h32c3.3 0 6-2.7 6-6V40c0-3.3-2.7-6-6-6zM35 70c0 1.1-.9 2-2 2h-2c-1.1 0-2-.9-2-2v-2c0-1.1.9-2 2-2h2c1.1 0 2 .9 2 2v2zm0-12c0 1.1-.9 2-2 2h-2c-1.1 0-2-.9-2-2v-2c0-1.1.9-2 2-2h2c1.1 0 2 .9 2 2v2zm0-12c0 1.1-.9 2-2 2h-2c-1.1 0-2-.9-2-2v-2c0-1.1.9-2 2-2h2c1.1 0 2 .9 2 2v2zm22 24c0 1.1-.9 2-2 2H41.2c-1.1 0-2-.9-2-2v-2c0-1.1.9-2 2-2H55c1.1 0 2 .9 2 2v2zm0-12c0 1.1-.9 2-2 2H41.2c-1.1 0-2-.9-2-2v-2c0-1.1.9-2 2-2H55c1.1 0 2 .9 2 2v2zm0-12c0 1.1-.9 2-2 2H41.2c-1.1 0-2-.9-2-2v-2c0-1.1.9-2 2-2H55c1.1 0 2 .9 2 2v2z\"}]},\nmulti_select_checkbox:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M73 20H41c-3.3 0-6 2.7-6 6v1c0 .6.4 1 1 1h29c3.3 0 6 2.7 6 6v31c0 .6.4 1 1 1h1c3.3 0 6-2.7 6-6V26c0-3.3-2.7-6-6-6z\"},{\"d\":\"M59 34H27c-3.3 0-6 2.7-6 6v34c0 3.3 2.7 6 6 6h32c3.3 0 6-2.7 6-6V40c0-3.3-2.7-6-6-6zm-2.7 17L41 66.3c-.6.6-1.3.9-2.1.9-.7 0-1.5-.3-2.1-.9l-7.4-7.4c-.6-.6-.6-1.5 0-2.1l2.1-2.1c.6-.6 1.5-.6 2.1 0l5.3 5.3 13.2-13.2c.6-.6 1.5-.6 2.1 0l2.1 2.1c.5.6.5 1.6 0 2.1z\"}]},\nnews:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M78.3 26.9H31c-.9 0-1.7.8-1.7 1.7v35.2c0 1.4-1.3 2.5-2.7 2.3-1.2-.2-2-1.3-2-2.4V38.5c0-.7-.5-1.2-1.2-1.2h-1.7c-.9 0-1.7.8-1.7 1.7v29.4c0 2.5 2.1 4.6 4.6 4.6H75.4c2.5 0 4.6-2.1 4.6-4.6V28.7c0-1-.8-1.8-1.7-1.8zm-26 33.5c0 .7-.5 1.2-1.2 1.2H37.3c-.7 0-1.2-.5-1.2-1.2v-2.3c0-.7.5-1.2 1.2-1.2h13.8c.7 0 1.2.5 1.2 1.2v2.3zm0-9.2c0 .7-.5 1.2-1.2 1.2H37.3c-.7 0-1.2-.5-1.2-1.2v-2.3c0-.7.5-1.2 1.2-1.2h13.8c.7 0 1.2.5 1.2 1.2v2.3zm20.8 9.2c0 .7-.5 1.2-1.2 1.2H58.1c-.7 0-1.2-.5-1.2-1.2v-2.3c0-.7.5-1.2 1.2-1.2h13.8c.7 0 1.2.5 1.2 1.2v2.3zm0-9.2c0 .7-.5 1.2-1.2 1.2H58.1c-.7 0-1.2-.5-1.2-1.2v-2.3c0-.7.5-1.2 1.2-1.2h13.8c.7 0 1.2.5 1.2 1.2v2.3zm0-9.3c0 .7-.5 1.2-1.2 1.2H37.3c-.7 0-1.2-.5-1.2-1.2V35c0-.7.5-1.2 1.2-1.2h34.6c.7 0 1.2.5 1.2 1.2v6.9z\"}},\nnote:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M71.3 67l-1.1 1.1C69 69.3 67.3 70 65.6 70h-3.3c-3 0-6.3-2.3-6.3-6.5v-3.1c0-2.5 1.1-4 1.8-4.8L71.3 42c.4-.4.7-1.2.7-1.7V30c0-3.3-2.7-6-6-6H34c-3.3 0-6 3-6 6h-2c-2.2 0-4 1.8-4 4s1.8 4 4 4h2v8h-2c-2.2 0-4 1.8-4 4s1.8 4 4 4h2v8h-2c-2.2 0-4 1.8-4 4s1.8 4 4 4h2c0 4 2.7 6 6 6h32c3.3 0 6-2.7 6-6v-2.7c0-.6-.3-.7-.7-.3zM61 39c0 1.1-.9 2-2 2H39c-1.1 0-2-.9-2-2v-2c0-1.1.9-2 2-2h20c1.1 0 2 .9 2 2v2zm-9 24c0 1.1-.9 2-2 2H39c-1.1 0-2-.9-2-2v-2c0-1.1.9-2 2-2h11c1.1 0 2 .9 2 2v2zm3-12c0 1.1-.9 2-2 2H39c-1.1 0-2-.9-2-2v-2c0-1.1.9-2 2-2h14c1.1 0 2 .9 2 2v2z\"},{\"d\":\"M81.4 45.6l-1.2-1.2c-.8-.8-2-.8-2.8 0L62.1 59.9c-.1 0-.1.2-.1.3v3.3c0 .3 0 .5.3.5h3.3c.1 0 .3-.1.4-.1l15.4-15.4c.8-.9.8-2.1 0-2.9z\"}]}},\nnumber_input:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M74 80H26c-3.3 0-6-2.7-6-6V26c0-3.3 2.7-6 6-6h48c3.3 0 6 2.7 6 6v48c0 3.3-2.7 6-6 6zM28.1 30v40c0 1.1.9 2 2 2H70c1.1 0 2-.9 2-2V30c0-1.1-.9-2-2-2H30.1c-1.1 0-2 .9-2 2z\"},{\"d\":\"M63 42.8h-3.7l1.6-6.1v-.1c0-.2-.2-.5-.5-.5h-2.9c-.2 0-.4.2-.5.4l-1.6 6.3H48l1.6-6.1v-.1c0-.2-.2-.5-.5-.5h-2.9c-.2 0-.4.2-.5.4l-1.6 6.3H40c-.2 0-.4.1-.5.3l-.7 2.8v.1c0 .2.2.5.5.5h3.9l-1.8 7.1h-4c-.2 0-.4.1-.5.3l-.7 2.8v.1c0 .2.2.5.5.5h3.7l-1.6 6.2v.1c0 .2.2.5.5.5h2.9c.2 0 .4-.1.5-.4l1.6-6.4h7.3l-1.6 6v.1c0 .2.2.5.5.5h2.9c.2 0 .4-.1.5-.4l1.6-6.4h4.1c.2 0 .4-.1.5-.4l.7-2.8v-.1c0-.2-.2-.5-.5-.5h-3.8l1.8-7.1h3.9c.2 0 .4-.1.5-.4l.7-2.8c.1-.1-.1-.2-.4-.2zM52.7 53.6h-7.4l1.8-7.1h7.3l-1.7 7.1z\"}]},\nobservation_component:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M23.08 32.69h.35l20.55-3v29.12a.82.82 0 00.87.87h3.48a.82.82 0 00.87-.87V28.86l21.25-3.14a2.71 2.71 0 002.26-3 2.63 2.63 0 00-3-2.18l-17.11 2.4a8.48 8.48 0 00-6.1-2.53A8.8 8.8 0 0038.84 25l-16.2 2.43a2.63 2.63 0 00.44 5.23z\"},{\"d\":\"M72.1 52.63a2.52 2.52 0 00.35-2.7l-6.88-16.54a2.67 2.67 0 00-4.87 0l-7 16.54a2.71 2.71 0 00.17 2.44c.16.23 2.84 4.34 7.25 5.28a14.42 14.42 0 018.5-2.73h.25a20.29 20.29 0 002.23-2.29zM59.39 50.1l3.74-9 3.75 9zM39 57.85a2.52 2.52 0 00.35-2.7l-7-16.54a2.47 2.47 0 00-2.3-1.61 2.67 2.67 0 00-2.44 1.57l-7 16.54a2.68 2.68 0 00.18 2.44c.17.26 3.57 5.49 9.05 5.49 3.25.04 6.39-1.7 9.16-5.19zm-12.7-2.52l3.75-9 3.74 9zM55.13 69.44a14.43 14.43 0 01.25-2.65 21.85 21.85 0 00-8.79-1.88 21 21 0 00-13.32 4.7 1.84 1.84 0 00-.61 1.31V71a1.74 1.74 0 001.74 1.74h21.12a14.33 14.33 0 01-.39-3.3zM69.62 79.56a10.2 10.2 0 1110.21-10.19 10.16 10.16 0 01-10.21 10.19zm.91-12.69a1 1 0 00-.7.21c-.56.38-1.12.75-1.67 1.16a3.54 3.54 0 00-.53.56.27.27 0 000 .35.3.3 0 00.34.09c.14 0 .27-.1.4-.15a2.43 2.43 0 01.37-.16c.19-.06.28 0 .28.21a2.17 2.17 0 010 .25c-.39 1.61-.78 3.21-1.18 4.82a.89.89 0 00.45 1.06 1.15 1.15 0 001.16-.1c.54-.35 1.07-.71 1.58-1.11a5.52 5.52 0 00.72-.73.22.22 0 000-.28.27.27 0 00-.3-.11l-.38.14-.44.2c-.17.06-.26 0-.25-.19a2.63 2.63 0 01.06-.39c.37-1.5.73-3 1.1-4.51a1 1 0 00-1.01-1.32zm1.08-2.09a1.55 1.55 0 00-1.78-1.47 1.36 1.36 0 00-1.08 2 1.53 1.53 0 001.7.89 1.48 1.48 0 001.16-1.42z\"}]}},\nomni_supervisor:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M67.225 28.893C60.804 31.476 57.416 37.717 57.036 48h10.216a8 8 0 110 4H57.036c.38 10.283 3.768 16.524 10.19 19.107a8 8 0 11.14 4.291C58.27 72.62 53.483 64.663 53.035 52H47a2 2 0 110-4h6.035c.448-12.662 5.236-20.62 14.33-23.399a8 8 0 11-.14 4.291zM75 31a4 4 0 100-8 4 4 0 000 8zm0 46a4 4 0 100-8 4 4 0 000 8zm0-23a4 4 0 100-8 4 4 0 000 8zM45.074 68H22.463C19.933 68 18 65.62 18 62.942c.149-4.016 4.314-6.099 8.628-8.033 2.975-1.339 3.422-2.38 3.422-3.719s-.893-2.529-1.786-3.421c-1.785-1.637-2.677-3.868-2.677-6.546 0-4.909 2.975-9.223 8.33-9.223 5.356 0 8.33 4.314 8.33 9.223 0 2.678-.892 4.91-2.677 6.546-1.041.892-1.785 2.082-1.785 3.421 0 1.19.446 2.38 3.422 3.72 4.314 1.933 8.479 4.016 8.628 8.032C49.537 65.62 47.603 68 45.075 68z\"}},\noperating_hours:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M53 50.18a1.32 1.32 0 01-.35-1v-8.43a1.35 1.35 0 00-1.32-1.32h-2.61a1.35 1.35 0 00-1.32 1.32v10.66a1.85 1.85 0 00.35 1l6.52 6.52a1.28 1.28 0 001.85 0L58 57a1.28 1.28 0 000-1.85z\",\"fill-rule\":\"evenodd\"},{\"d\":\"M50 28.86A21.14 21.14 0 1071.18 50 21.2 21.2 0 0050 28.86zm0 37A15.85 15.85 0 1165.9 50 15.9 15.9 0 0150 65.85z\",\"fill-rule\":\"evenodd\"},{\"d\":\"M28.82 59.91a15.74 15.74 0 010-19.81L25.31 36a21 21 0 000 27.94zM71.23 40.12a15.74 15.74 0 010 19.81L74.64 64a21 21 0 000-27.94z\",\"fill-rule\":\"evenodd\"}]},\nopportunity:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M71.1 69H28.9c-1 0-1.9.9-1.9 1.9v.1c0 3.3 2.7 6 6 6h34c3.3 0 6-2.7 6-6v-.1c0-1-.9-1.9-1.9-1.9zM76 28c-3.3 0-6 2.7-6 6 0 1.8.8 3.5 2.1 4.6-1.7 3.9-5.6 6.6-10.2 6.4-5.3-.3-9.6-4.6-9.9-9.9 0-.9 0-1.7.2-2.5 2.2-.9 3.8-3 3.8-5.6 0-3.3-2.7-6-6-6s-6 2.7-6 6c0 2.5 1.6 4.7 3.8 5.6.2.8.2 1.6.2 2.5-.3 5.3-4.6 9.6-9.9 9.9-4.6.3-8.6-2.5-10.2-6.4 1.3-1.1 2.1-2.8 2.1-4.6 0-3.3-2.7-6-6-6s-6 2.7-6 6 2.7 6 6 6l2.8 21.4c.1.9.9 1.6 1.9 1.6h42.6c.9 0 1.7-.7 1.9-1.6L76 40c3.3 0 6-2.7 6-6s-2.7-6-6-6z\"}},\nopportunity_contact_role:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M64.9 47.4c-8.2 0-15 6.7-15 15 0 8.2 6.7 15 15 15s15-6.7 15-15-6.8-15-15-15zm7.3 13.1l-2.8 2.8c-.3.3-.4.6-.4.8l.7 4.2c.2 1.2-.9.5-.9.5L65.4 67c-.5-.3-1 0-1 0l-3.5 1.8c-.9.5-.9 0-.9-.4l.7-3.9c.1-.8-.3-1.1-.3-1.2l-2.5-2.4-.3-.3c-.3-.3-.5-.8.6-1l3.5-.5c.5-.1.8-.3.9-.5l1.9-3.9c.1-.3.5-.6.9.2l1.9 3.8c.1.2.4.3.6.4h.3l3.7.5h.1c.2.1.9.3.2.9z\"},{\"d\":\"M48.9 77.2c1 0 1.6-1.2 1-2-3.2-3.6-5-8.2-5-13 0-3.4 1.1-7.2 2.9-10.2 2.1-3.6 4.5-5.1 6.4-7.9 3.1-4.6 3.7-11.2 1.7-16.2-2-5.1-6.7-8.1-12.2-8s-10 3.5-11.7 8.6c-2 5.6-1.1 12.4 3.4 16.6 1.9 1.7 3.5 4.4 2.6 7-.2.5-.8 1.3-2.2 1.9-5.7 2.5-11.5 5.5-14.1 9.7-.5.8-1.5 2.8-1.6 5.6 0 .7 0 1.3.1 2.2 0 .4 0 .4.1.8.3 1.7 1.3 3.2 2.8 4.1.6.3 2 .8 4.7.8h21.1z\"}]},\nopportunity_splits:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M69.3 27.1C64.1 22.7 57.4 20 50 20c-16.5 0-30 13.5-30 30 0 7.4 2.7 14.1 7.1 19.3l42.2-42.2zM34 75.3c4.6 2.9 10.1 4.7 16 4.7 16.5 0 30-13.5 30-30 0-5.9-1.7-11.3-4.7-16L34 75.3z\"}}},\norchestrator:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M63 21.42a2 2 0 00-2.79-1.2c-1.17.56-1.31 1.78-.75 3l9.11 22.73c.55 1.18 1.59 1.88 2.75 1.32a2.2 2.2 0 00.79-3.09zM50.25 37.19c5.14 0 9.26 4.68 9.26 10.46s-4.12 10.47-9.26 10.47S41 53.44 41 47.65s4.11-10.46 9.25-10.46zM28.89 60.43l13.34 1.5L45.3 80h-3.8a2.34 2.34 0 01-2.24-1.73l-2.72-9.8-11.36-1.28a6 6 0 01-4.85-7.87l5.86-17.08a3.49 3.49 0 014.47-2.19 3.58 3.58 0 012.15 4.54l-4.9 14.27a1.18 1.18 0 00.98 1.57zM59.21 80h-4l3-17.86 12.61 2.39a1.19 1.19 0 001.36-1.43l-1.79-8A3.58 3.58 0 0173 50.8a3.5 3.5 0 014.23 2.63L79.83 65a5.9 5.9 0 01-6.72 7.25l-9.63-1.82-2 7.84A2.33 2.33 0 0159.21 80zM46.64 64.11a1.37 1.37 0 01-2.1-1.19v-2.21a1.37 1.37 0 012.1-1.19l3.61 2.3zM50.25 61.82l3.6-2.3A1.38 1.38 0 0156 60.71v2.21a1.38 1.38 0 01-2.11 1.19z\"}},\norder_item:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M21.2 51.9L48 64.6c1.2.6 2.7.6 3.9 0l26.9-12.7c1.6-.8 1.6-2.9 0-3.7L51.9 35.5c-1.2-.6-2.7-.6-3.9 0L21.2 48.3c-1.7.7-1.7 2.9 0 3.6z\"}},\norders:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M78.8 62.1l-3.6-1.7c-.5-.3-1.2-.3-1.7 0L52 70.6c-1.2.6-2.7.6-3.9 0L26.5 60.4c-.5-.3-1.2-.3-1.7 0l-3.6 1.7c-1.6.8-1.6 2.9 0 3.7L48 78.5c1.2.6 2.7.6 3.9 0l26.8-12.7c1.7-.8 1.7-3 .1-3.7z\"},{\"d\":\"M78.8 48.1l-3.7-1.7c-.5-.3-1.2-.3-1.7 0L52 56.6c-1.2.6-2.7.6-3.9 0L26.6 46.4c-.5-.3-1.2-.3-1.7 0l-3.7 1.7c-1.6.8-1.6 2.9 0 3.7L48 64.6c1.2.6 2.7.6 3.9 0l26.8-12.7c1.7-.8 1.7-3 .1-3.8z\"},{\"d\":\"M21.2 37.8L48 50.5c1.2.6 2.7.6 3.9 0l26.8-12.7c1.6-.8 1.6-2.9 0-3.7L51.9 21.4c-1.2-.6-2.7-.6-3.9 0L21.2 34.2c-1.6.7-1.6 2.9 0 3.6z\"}]},\noutcome:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M62.6 31.9c0-.1-.1-.1-.2-.2-.7-.7-1.9-.6-2.5.2l-2.7 2.6-.1.1c-.7.7-.7 1.9.1 2.5l7 7c.2.2.4.5.4.9 0 .7-.5 1.3-1.3 1.3H36.8c-1 0-1.8.8-1.9 1.8v3.8c.1 1 .9 1.8 1.9 2h26.6c.3 0 .5.1.7.3.6.4.7 1.3.2 1.8l-7 7-.1.1c-.7.7-.7 1.9.1 2.5l2.6 2.7.1.1c.7.7 1.9.7 2.5-.1l16.9-16.9.1-.1c.7-.7.7-1.9-.1-2.5L62.6 31.9z\"},{\"d\":\"M43.7 38.9h3.7c1 0 1.9-.9 1.9-1.9V25c0-2.8-2.2-5-5-5H25c-2.8 0-5 2.2-5 5v50c0 2.8 2.2 5 5 5H44.3c2.8 0 5-2.2 5-5V63.2c0-1-.9-1.9-1.9-1.9h-3.7c-1 0-1.9.9-1.9 1.9v7.4c0 1-.9 1.9-1.9 1.9H29.4c-1 0-1.9-.9-1.9-1.9V29.4c0-1 .9-1.9 1.9-1.9h10.5c1 0 1.9.9 1.9 1.9V37c0 1 .8 1.9 1.9 1.9z\"}]},\noutput:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M20.8 53.8h41.5c1.1 0 1.6 1.4.9 2.1l-12 12c-.8.8-.8 1.9 0 2.6l2.8 2.8c.8.8 1.9.8 2.6 0l21.9-22c.8-.8.8-1.9 0-2.6l-22-22c-.8-.8-1.9-.8-2.6 0l-2.6 2.6c-.8.8-.8 1.9 0 2.6l12 12c.8.9.3 2.3-.9 2.3H20.9c-1 0-1.9.8-1.9 1.8v3.8c0 1 .8 2 1.8 2z\"}},\npartner_fund_allocation:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M30.9 65.6l-8.1 8.5c-.3.3-.8.1-.8-.3v-4c0-.4-.4-.9-.8-.9h-1.5c-.4 0-.8.5-.8.9v9.5c0 .5.2.7.7.7h9.5c.4 0 .8-.2.8-.7v-1.5c0-.4-.3-.8-.8-.8h-4c-.5 0-.7-.5-.3-.8l10.4-10.9h-.9c-1.1 0-2.3.1-3.4.3zM73.1 76.2c.3.3.1.8-.4.8h-4c-.4 0-.8.4-.8.8v1.5c0 .4.5.8.8.8h9.5c.5 0 .7-.2.7-.7v-9.5c0-.4-.2-.8-.6-.8h-1.5c-.4 0-.9.3-.9.8v4c0 .4-.5.7-.8.3L70.4 70c-1.2.3-2.3.6-3.5.8l6.2 5.4zM68.8 40.5c-15.2 4.7-27.2-9.7-43.9-2.9-1.3.5-1.9 1.6-1.9 3.1V58c0 2.3 1.9 3.7 4.1 3.1 16.5-5 28.5 9.4 44.1 2.9 1.1-.5 2.1-1.6 2.1-3.1V43.6c-.1-2.1-2.3-3.8-4.5-3.1zM48.6 56.7c-3.6 0-6.5-2.9-6.5-6.5s2.9-6.5 6.5-6.5 6.5 2.9 6.5 6.5-2.9 6.5-6.5 6.5zM48.4 26.6c0-.5-.5-.6-.8-.3l-2.8 2.8c-.3.3-.9.2-1.2 0l-1-1.1c-.3-.3-.2-.7.1-1l6.8-6.8c.3-.3.6-.3 1 0l6.7 6.7c.3.3.4.8.1 1.1l-1 1c-.3.3-.9.2-1.2 0l-2.8-2.8c-.3-.3-.8-.1-.8.3v7.3l-3-.9-.1-6.3z\"}},\npartner_fund_claim:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M56.5 34h9.4c.7 0 1.3-.6 1.3-1.3 0-.3-.1-.6-.3-.9L55.1 20.3c-.3-.2-.6-.3-.9-.3-.7 0-1.3.6-1.3 1.3v9.2c.1 1.9 1.7 3.5 3.6 3.5z\"},{\"d\":\"M38.6 65c0-3.5 2-6.6 5.2-7.8 2.6-1 5.2-1.6 8-1.6 4 0 7.4 1.1 10.5 2 1.7.5 3.3 1 4.8 1.3l.2-18c0-.9-.8-1.7-1.7-1.7H53c-3 0-5.2-2.4-5.2-5.2V21.7c0-.9-.8-1.7-1.8-1.7H28.2c-2.9 0-5.2 2.4-5.2 5.2v42c0 2.9 2.4 5.2 5.2 5.2h10.4V65z\"},{\"d\":\"M72.4 64.9c-9.1 2.8-16.3-5.8-26.2-1.7-.8.3-1.2 1-1.2 1.8v10.4c0 1.4 1.2 2.2 2.4 1.8 9.9-3 17 5.6 26.3 1.7.7-.3 1.3-1 1.3-1.8V66.8c0-1.3-1.3-2.2-2.6-1.9zm-12.1 9.7c-2.1 0-3.9-1.7-3.9-3.9 0-2.1 1.7-3.9 3.9-3.9s3.9 1.7 3.9 3.9-1.7 3.9-3.9 3.9z\"}]},\npartner_fund_request:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M43.7 58.3c3.7-2.1 7.2-3.1 11.1-3.1 1.1 0 2.2.1 3.2.2.5.1.6-.1.1-.4-1.9-1.1-4-2.1-6.2-3-4.3-1.8-4.9-3.4-4.9-5.2 0-1.8 1.2-3.4 2.6-4.7 2.5-2.3 3.9-5.4 3.9-9.1 0-6.9-4.3-12.8-11.9-12.8s-12 5.9-12 12.8c0 3.7 1.4 6.9 3.9 9.1 1.4 1.3 2.6 3 2.6 4.7 0 1.7-.7 3.4-4.9 5.2C25 54.6 19.1 57.6 19 63.3c0 3.7 2.8 7 6.3 7h14.2c1.1 0 2-.9 2-2v-6.5c.2-1.4.9-2.8 2.2-3.5z\"},{\"d\":\"M76.3 64.3c-9.4 2.9-16.8-6-27.2-1.8-.8.3-1.2 1-1.2 1.9v10.7c0 1.4 1.2 2.3 2.5 1.9 10.2-3.1 17.6 5.8 27.3 1.8.7-.3 1.3-1 1.3-1.9V66.2c0-1.3-1.4-2.3-2.7-1.9zm-12.6 10c-2.2 0-4-1.8-4-4s1.8-4 4-4 4 1.8 4 4-1.8 4-4 4z\"}]},\npartner_marketing_budget:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M73.8 37.8c-18.2 5.6-32.5-11.6-52.5-3.5-1.5.6-2.3 2-2.3 3.7v20.7c0 2.7 2.3 4.5 4.8 3.7 19.7-6 34.1 11.2 52.6 3.5 1.4-.6 2.5-1.9 2.5-3.7V41.5c.1-2.5-2.6-4.5-5.1-3.7zM49.6 57.2c-4.3 0-7.7-3.5-7.7-7.7s3.5-7.7 7.7-7.7 7.7 3.5 7.7 7.7-3.5 7.7-7.7 7.7z\"}},\npartners:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M77 31.7h-6c-1.3 0-2.6-.6-3.6-1.5l-4.8-4.1c-1-.8-2.3-1.4-3.6-1.4H47.3c-1.5 0-2.9.6-4 1.7l-6.2 5.1c-.5.4-.5 1.2-.1 1.7l1.9 1.8c1.3 1 3 1.2 4.3.3l5.5-3.3c.7-.5 1.7-.3 2.3.3l17.3 16.8c.4.4.7 1 .7 1.6v4.5c0 1.2.9 2.5 2 2.5h6c1.1 0 2-.9 2-2.1V33.7c0-1.2-.9-2-2-2zm-17 18L49.2 39.2l-3 1.8c-1.5.9-3.2 1.4-4.9 1.4-2.1 0-4.3-.8-6-2.2L31.4 37c-.9-.7-1.4-1.5-1.5-2.6-.2-1.1-1-1.7-2-1.7H21c-1.1 0-2 .6-2 1.8v18.2c0 1.2.9 2 2 2h4c.3 0 .7-1.1 1.1-1.6 1.5-2 3.7-3.1 6.1-3.4 2.4-.2 4.7.6 6.6 2.3l12.5 11.4c1.1 1 1.9 2.1 2.4 3.5.3.7 1.1.9 1.6.4l4.7-4.7c2.4-2.4 4.2-8 2-10.6l-2-2.3zm-25.1 7.4c-1.3-1.2-3.2-1-4.2.4-1.1 1.4-.9 3.4.4 4.6l12.5 11.3c.6.6 1.4.8 2.2.7.8-.1 1.5-.5 2-1.2 1.1-1.4.9-3.4-.4-4.6L34.9 57.1z\"}},\npassword:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M74 80H26c-3.3 0-6-2.7-6-6V26c0-3.3 2.7-6 6-6h48c3.3 0 6 2.7 6 6v48c0 3.3-2.7 6-6 6zM28.1 30v40c0 1.1.9 2 2 2H70c1.1 0 2-.9 2-2V30c0-1.1-.9-2-2-2H30.1c-1.1 0-2 .9-2 2z\"},{\"d\":\"M66.3 47.3l-1.2-3.8c-.3-1-1.5-1.6-2.5-1.3L53.9 45v-8.6c0-1.1-.9-2-2-2h-4c-1.1 0-2 .9-2 2V45l-8.5-2.8c-1-.3-2.2.3-2.5 1.3l-1.2 3.8c-.3 1 .3 2.2 1.3 2.5l7.9 2.6-5.7 7.8c-.6.9-.4 2.2.5 2.8l3.3 2.3c.9.6 2.2.4 2.8-.5l6.3-8.7 6.3 8.7c.6.9 1.9 1.1 2.8.5l3.3-2.3c.9-.6 1.1-1.9.5-2.8l-5.7-7.9 7.8-2.5c.9-.4 1.5-1.5 1.2-2.5z\"}]},\npast_chat:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M49.5 21.9c-16.7 0-30 12.3-30 27.4 0 4.8 1.4 9.3 3.6 13.3.4.6.5 1.4.3 2.1l-3.9 10.7c-.4 1 .6 1.9 1.6 1.6L32 72.9c.6-.3 1.4-.1 2.1.3 4.5 2.5 9.9 4 15.7 4 16.4-.2 29.8-12.3 29.8-27.6-.1-15.5-13.5-27.7-30.1-27.7zm11.7 40.5l-1.4 1.4c-.6.6-1.3.9-2.1.9s-1.5-.3-2.1-.9L46 54.2c-.7-.6-1.2-1.7-1.2-2.8v-14c0-1.7 1.3-3 3-3h2c1.7 0 3 1.3 3 3v12.4l8.4 8.4c.6.6.9 1.3.9 2.1s-.3 1.5-.9 2.1z\"}},\npayment_gateway:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M41.94 25.34a22.45 22.45 0 000 44.88h1V52.43c0-1.33 1-3 2.35-3h19c0-.74.07-1.25.07-1.65a22.52 22.52 0 00-22.42-22.44zm17.91 20.52h-5.78A33.5 33.5 0 0050.9 32.4a18.16 18.16 0 018.95 13.46zM39.37 31.11v14.75h-5.13c.39-7.03 2.61-12.59 5.13-14.75zm0 18.59v14.74c-2.5-2.17-4.74-7.7-5.13-14.74zm5.13-3.84V31.11c2.5 2.16 4.76 7.72 5.13 14.75zM33 32.4a34.57 34.57 0 00-3.2 13.46H24a18.11 18.11 0 019-13.46zm-9 17.94h5.81A33.55 33.55 0 0033 63.76a18.11 18.11 0 01-9-13.42z\",\"fill-rule\":\"evenodd\"},{\"d\":\"M76.89 53.2H49.66a3.13 3.13 0 00-3.13 3.13v15.2a3.13 3.13 0 003.13 3.13h27.23A3.13 3.13 0 0080 71.53v-15.2a3.13 3.13 0 00-3.11-3.13zM53.32 71.53a3.65 3.65 0 00-3.55-3.75h-.1V60a3.65 3.65 0 003.75-3.55v-.14H73.2A3.65 3.65 0 0076.79 60h.1v7.82a3.66 3.66 0 00-3.75 3.58v.11z\",\"fill-rule\":\"evenodd\"}],\"circle\":{\"cx\":\"63.27\",\"cy\":\"63.66\",\"r\":\"5.25\"}}},\npeople:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M80 71.2V74c0 3.3-2.7 6-6 6H26c-3.3 0-6-2.7-6-6v-2.8c0-7.3 8.5-11.7 16.5-15.2.3-.1.5-.2.8-.4.6-.3 1.3-.3 1.9.1C42.4 57.8 46.1 59 50 59c3.9 0 7.6-1.2 10.8-3.2.6-.4 1.3-.4 1.9-.1.3.1.5.2.8.4 8 3.4 16.5 7.8 16.5 15.1z\"},\"ellipse\":{\"cx\":\"50\",\"cy\":\"36.5\",\"rx\":\"14.9\",\"ry\":\"16.5\"}},\nperformance:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M30 20h-2c-3.3 0-6 3-6 6v48c0 3 2.7 6 6 6h2c1.1 0 2-.9 2-2V22c0-1.1-.9-2-2-2zM72 20H40c-1.1 0-2 .9-2 2v56c0 1.1.9 2 2 2h32c3.3 0 6-2.7 6-6V26c0-3.3-2.7-6-6-6zm-2.2 26.8l-5.2 5.3c-.1.1-.2.4-.2.6l1.2 7.5c.1.5-.4.9-.9.7l-6.5-3.6c-.2-.1-.4-.1-.6 0l-6.5 3.6c-.5.2-1-.2-.9-.7l1.2-7.5c0-.2 0-.4-.2-.6L46 46.8c-.4-.4-.2-1 .3-1.1l7.2-1.1c.2 0 .4-.2.5-.4l3.2-6.9c.2-.5.9-.5 1.1 0l3.2 6.9c.1.2.3.3.5.4l7.2 1.1c.8.1 1 .7.6 1.1z\"}},\nperson_account:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M69.5 59c-3.6-1.5-4.2-2.9-4.2-4.4 0-1.5 1-2.9 2.2-4 2.1-1.9 3.3-4.6 3.3-7.8 0-5.8-3.7-10.9-10.2-10.9s-10.2 5-10.2 10.9c0 3.2 1.2 5.8 3.3 7.8 1.2 1.1 2.2 2.5 2.2 4s-.6 2.9-4.2 4.4c-5.3 2.2-10.4 5-10.5 9.8 0 3.1 2.4 6.2 5.4 6.2h27.8c3.1 0 5.4-3.1 5.4-6.2.1-4.7-5-7.5-10.3-9.8z\"},{\"d\":\"M46.6 51.4c-.4-.5-2.4-3-2.2-9.7.1-6.6 3-8.3 3-8.3v-6.5c0-1.1-1.1-1.9-1.9-1.9H21.9c-.9 0-1.9.9-1.9 2v43.6h13.5c.3-11.1 13-15.6 13-15.6 1.9-1 .5-3.1.1-3.6zM30.7 65.1c0 1.1-.9 2-2 2h-2c-1.1 0-2-.9-2-2v-2c0-1.1.9-2 2-2h2c1.1 0 2 .9 2 2v2zm0-9.9c0 1.1-.9 2-2 2h-2c-1.1 0-2-.9-2-2v-2c0-1.1.9-2 2-2h2c1.1 0 2 .9 2 2v2zm0-9.9c0 1.1-.9 2-2 2h-2c-1.1 0-2-.9-2-2v-2c0-1.1.9-2 2-2h2c1.1 0 2 .9 2 2v2zm0-9.9c0 1.1-.9 2-2 2h-2c-1.1 0-2-.9-2-2v-2c0-1.1.9-2 2-2h2c1.1 0 2 .9 2 2v2zm11.2 19.8c0 1.1-.9 2-2 2h-2c-1.1 0-2-.9-2-2v-2c0-1.1.9-2 2-2h2c1.1 0 2 .9 2 2v2zm0-9.9c0 1.1-.9 2-2 2h-2c-1.1 0-2-.9-2-2v-2c0-1.1.9-2 2-2h2c1.1 0 2 .9 2 2v2zm0-9.9c0 1.1-.9 2-2 2h-2c-1.1 0-2-.9-2-2v-2c0-1.1.9-2 2-2h2c1.1 0 2 .9 2 2v2z\"}]},\nphoto:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M36 31h28c.8 0 1.3-.9.8-1.5l-3.3-5.1c-1-2-3.1-3.3-5.4-3.3H43.9c-2.3 0-4.4 1.3-5.4 3.3l-3.3 5.1c-.5.6 0 1.5.8 1.5zM50 49c-4.4 0-8 3.6-8 8s3.6 8 8 8 8-3.6 8-8-3.6-8-8-8z\"},{\"d\":\"M74 37H26c-3.3 0-6 2.7-6 6v28c0 3.3 2.7 6 6 6h48c3.3 0 6-2.7 6-6V43c0-3.3-2.7-6-6-6zM50 71c-7.7 0-14-6.3-14-14s6.3-14 14-14 14 6.3 14 14-6.3 14-14 14z\"}]},\npicklist_choice:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M25.9 59.7h-4c-1.1 0-2 .9-2 2v4c0 1.1.9 2 2 2h4.2c1.1-.1 1.9-1 1.8-2v-4c0-1.1-.9-2-2-2zM38 32h39.9c1.1 0 2-.9 2-2v-4c0-1.1-.9-2-2-2H38c-1.1 0-2 .9-2 2v4c0 1.1.9 2 2 2zM38 49.9h39.9c1.1 0 2-.9 2-2v-4c0-1.1-.9-2-2-2H38c-1.1 0-2 .9-2 2v4c0 1.1.9 2 2 2zM25.9 23.9h-4c-1.1 0-2 .9-2 2v4c0 1.1.9 2 2 2h4.2c1.1-.1 1.9-1 1.8-2v-4c0-1.1-.9-2-2-2zM25.9 41.8h-4c-1.1 0-2 .9-2 2v4c0 1.1.9 2 2 2h4.2c1.1-.1 1.9-1 1.8-2v-4c0-1.1-.9-2-2-2zM43.6 67.3c0-2.3.8-4.5 2.1-6.3v-.6-.7H38c-1.1 0-2 .9-2 2v4c0 1.1.9 2 2 2h5.6v-.4zM61.7 56.8c1-1 2.4-1.7 4-1.7 2.1 0 3.9 1.1 4.9 2.8.8-.3 1.8-.6 2.8-.6 3.7 0 6.8 3.1 6.8 6.7 0 3.7-3.1 6.7-6.8 6.7-.4 0-.9 0-1.3-.1-.8 1.5-2.5 2.5-4.3 2.5-.8 0-1.5-.2-2.2-.5-.9 2-2.9 3.4-5.2 3.4-2.5 0-4.5-1.5-5.3-3.6-.3 0-.7.1-1.1.1-2.9 0-5.3-2.3-5.3-5.2 0-1.9 1-3.6 2.6-4.5-.3-.7-.5-1.5-.5-2.4 0-3.3 2.8-6 6.1-6 1.9 0 3.7.9 4.8 2.4z\"}},\npicklist_type:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M78 36H38c-1.1 0-2-.9-2-2v-4c0-1.1.9-2 2-2h40c1.1 0 2 .9 2 2v4c0 1.1-.9 2-2 2zM78 54H38c-1.1 0-2-.9-2-2v-4c0-1.1.9-2 2-2h40c1.1 0 2 .9 2 2v4c0 1.1-.9 2-2 2zM26 54h-4c-1.1 0-2-.9-2-2v-4c0-1.1.9-2 2-2h4c1.1 0 2 .9 2 2v4c0 1.1-.9 2-2 2zM26 36h-4c-1.1 0-2-.9-2-2v-4c0-1.1.9-2 2-2h4c1.1 0 2 .9 2 2v4c0 1.1-.9 2-2 2zM26 72h-4c-1.1 0-2-.9-2-2v-4c0-1.1.9-2 2-2h4c1.1 0 2 .9 2 2v4c0 1.1-.9 2-2 2zM78 72H38c-1.1 0-2-.9-2-2v-4c0-1.1.9-2 2-2h40c1.1 0 2 .9 2 2v4c0 1.1-.9 2-2 2z\"}},\nplanogram:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M77.4 71.5h-3.3V53.6c0-.9-.8-1.7-1.7-1.7H53.7c-.9 0-1.7.8-1.7 1.7v17.8h-5V53.6c0-.9-.8-1.7-1.7-1.7H26.6c-.9 0-1.7.8-1.7 1.7v17.8h-3.3c-1.1 0-2 .9-2 2v4c0 1.1.9 2 2 2h55.7c1.1 0 2-.9 2-2v-4c.1-1.1-.8-1.9-1.9-1.9zm-20.9-15h13V61h-13v-4.5zm-27.1 0h13V61h-13v-4.5zM77.4 39h-3.3V21.1c0-.9-.8-1.7-1.7-1.7H53.7c-.9 0-1.7.8-1.7 1.7V39h-5V21.1c0-.9-.8-1.7-1.7-1.7H26.6c-.9 0-1.7.8-1.7 1.7V39h-3.3c-1.1 0-2 1-2 2v4c0 1.1.9 2 2 2h55.7c1.1 0 2-.9 2-2v-4c.1-1.2-.8-2-1.9-2zM56.5 24h13v4.5h-13V24zm-27.1 0h13v4.5h-13V24z\"}}},\npoll:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M76 20H24c-2.2 0-4 1.8-4 4v8c0 2.2 1.8 4 4 4h52c2.2 0 4-1.8 4-4v-8c0-2.2-1.8-4-4-4zM51 32v-8h25v8H51zM76 42H24c-2.2 0-4 1.8-4 4v8c0 2.2 1.8 4 4 4h52c2.2 0 4-1.8 4-4v-8c0-2.2-1.8-4-4-4zM42 54v-8h34v8H42zM76 64H24c-2.2 0-4 1.8-4 4v8c0 2.2 1.8 4 4 4h52c2.2 0 4-1.8 4-4v-8c0-2.2-1.8-4-4-4zM60 76v-8h16v8H60z\"}},\nportal:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M72 22H28c-3.3 0-6 2.7-6 6v44c0 3.3 2.7 6 6 6h44c3.3 0 6-2.7 6-6V28c0-3.3-2.7-6-6-6zM59 62.6c.3 1.2-.7 2.4-1.9 2.4H43c-1.3 0-2.2-1.2-1.9-2.4l3.2-11c-3.1-2.2-4.9-6.1-4.1-10.4.8-4 3.9-7.2 7.9-7.9C54.4 32 60 36.9 60 43.2c0 3.5-1.7 6.5-4.3 8.3L59 62.6z\"}},\nportal_roles:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M73.8 20H26.2c-3.4 0-6.2 2.8-6.2 6.2v47.6c0 3.4 2.8 6.2 6.2 6.2h47.6c3.4 0 6.2-2.8 6.2-6.2V26.2c0-3.4-2.8-6.2-6.2-6.2zm-26.4 7.4c0-.8.8-1.4 1.6-1.4h23.4c.8 0 1.4.8 1.4 1.6v3c0 .8-.8 1.4-1.6 1.4H48.8c-.8 0-1.4-.8-1.4-1.6v-3zm-8-1.4c1.7 0 3 1.3 3 3s-1.3 3-3 3-3-1.3-3-3 1.3-3 3-3zM29 26c1.7 0 3 1.3 3 3s-1.3 3-3 3-3-1.3-3-3 1.3-3 3-3zm45 46.6c0 .8-.8 1.4-1.6 1.4h-45c-.8 0-1.4-.8-1.4-1.6v-33c0-.8.8-1.4 1.6-1.4h45c.8 0 1.4.8 1.4 1.6v33z\"},{\"d\":\"M68 52.3c0 1.1-.9 2-2 2h-7.6c-1.1 0-2-.9-2-2v-3c0-1.1.9-2 2-2H66c1.1 0 2 .9 2 2v3zM68 63.3c0 1.1-.9 2-2 2h-7.6c-1.1 0-2-.9-2-2v-3c0-1.1.9-2 2-2H66c1.1 0 2 .9 2 2v3zM49 47.3H33.6c-.8 0-1.6.6-1.6 1.4v15c0 .8.6 1.6 1.4 1.6H48.8c.8 0 1.6-.6 1.6-1.4v-15c0-.8-.6-1.6-1.4-1.6zm-4 14.9h-7.5c-.8 0-1.5-.9-1.5-1.8 0-1.3 1.4-2.1 2.8-2.8 1-.4 1.1-.8 1.1-1.3s-.3-.8-.6-1.1c-.6-.5-.9-1.3-.9-2.2 0-1.7 1-3.1 2.8-3.1 1.7 0 2.8 1.4 2.8 3.1 0 .9-.3 1.7-.9 2.2-.3.3-.6.7-.6 1.1s.1.8 1.1 1.2c1.4.6 2.8 1.5 2.8 2.8.1 1-.6 1.9-1.4 1.9z\"}]},\nportal_roles_and_subordinates:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M68 49.1c0 1.1-.9 2-2 2H47.4c-1.1 0-2-.9-2-2v-3c0-1.1.9-2 2-2H66c1.1 0 2 .9 2 2v3zM39.4 49.1c0 1.1-.9 2-2 2H34c-1.1 0-2-.9-2-2v-3c0-1.1.9-2 2-2h3.4c1.1 0 2 .9 2 2v3z\"},{\"d\":\"M73.8 20H26.2c-3.4 0-6.2 2.8-6.2 6.2v47.6c0 3.4 2.8 6.2 6.2 6.2h47.6c3.4 0 6.2-2.8 6.2-6.2V26.2c0-3.4-2.8-6.2-6.2-6.2zm-26.4 7.4c0-.8.8-1.4 1.6-1.4h23.4c.8 0 1.4.8 1.4 1.6v3c0 .8-.8 1.4-1.6 1.4H48.8c-.8 0-1.4-.8-1.4-1.6v-3zm-8-1.4c1.7 0 3 1.3 3 3s-1.3 3-3 3-3-1.3-3-3 1.3-3 3-3zM29 26c1.7 0 3 1.3 3 3s-1.3 3-3 3-3-1.3-3-3 1.3-3 3-3zm45 46.6c0 .8-.8 1.4-1.6 1.4H68V59.1c0-1.1-.9-2-2-2H34c-1.1 0-2 .9-2 2V74h-4.6c-.8 0-1.4-.8-1.4-1.6v-33c0-.8.8-1.4 1.6-1.4h45c.8 0 1.4.8 1.4 1.6v33z\"}]},\npost:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M49.2 21.7c-16.6 0-30 12.5-30 28 0 5 1.4 9.6 3.8 13.7.3.5.4 1.1.2 1.6l-2.8 8.9c-.5 1.6 1 3 2.6 2.5l8.8-3.1c.6-.2 1.2-.1 1.7.2 4.6 2.7 10 4.2 15.8 4.2 16.6 0 30-12.5 30-28-.2-15.5-13.6-28-30.1-28z\"}},\npractitioner_role:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M50.58 70.89a12.79 12.79 0 01-10.11-9.62 1.93 1.93 0 00-1.89-1.51h-1.89A1.94 1.94 0 0034.81 62a18.2 18.2 0 0017.83 14.74H53a17.14 17.14 0 01-2.42-5.85zM54.24 37.12V23a2.78 2.78 0 00-2.83-2.83h-3.77a2.83 2.83 0 100 5.66h.94v11.29a11.32 11.32 0 01-22.64 0V25.8h.94a2.83 2.83 0 100-5.66h-3.77A2.78 2.78 0 0020.28 23v14.12a17 17 0 0034 0zM67.3 54.58a12.63 12.63 0 1012.63 12.63A12.67 12.67 0 0067.3 54.58zm7.1 17.67a1.88 1.88 0 01-1.89 1.81H62.42a1.83 1.83 0 01-1.89-1.81V72c0-1.69 1.85-2.6 3.78-3.38 1.3-.56 1.5-1 1.5-1.58a2.14 2.14 0 00-.81-1.49 3.48 3.48 0 01-1.18-2.76 3.67 3.67 0 117.33 0A3.7 3.7 0 0170 65.55a2.23 2.23 0 00-.88 1.45c0 .55.16 1 1.5 1.58 1.93.78 3.74 1.69 3.78 3.38z\"}}},\nprice_book_entries:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M48.8 20l14.8.3a5.45 5.45 0 013.1 1.3l5.8 5.8 5.8 5.8a4.39 4.39 0 011.3 3.1l.4 14.9a4.45 4.45 0 01-1.3 3.2L54.4 78.7a4.53 4.53 0 01-6.3 0L34.7 65.3 21.3 51.9a4.53 4.53 0 010-6.3l24.3-24.3a4.45 4.45 0 013.2-1.3zm-8.2 23.7L38.2 46a1 1 0 000 1.6l14.2 14.2a1 1 0 001.6 0l2.4-2.4a1 1 0 000-1.6L42.1 43.7a.94.94 0 00-1.5 0zm6.7-6.8l-2.4 2.4a1 1 0 000 1.6l14.2 14.2a1 1 0 001.6 0l2.4-2.4a1 1 0 000-1.6L48.9 36.9a1.22 1.22 0 00-1.6 0zm22.9-7.1a4.45 4.45 0 100 6.3 4.53 4.53 0 000-6.3z\"}},\nprice_books:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M77.4 72.9c0 3.2-2.8 6.3-5.9 6.4h-37c-3.2 0-5.8-3-6-5.9v-2h-2a3.9 3.9 0 01-.2-7.8h2.2v-9.8h-2a3.9 3.9 0 01-.2-7.8h2.2v-9.8h-2a3.9 3.9 0 01-.2-7.8h2.2v-2.2a6 6 0 015.7-5.7l37 .08c3.2 0 6 2.12 6.2 5.22zM51.8 34.7a2.5 2.5 0 00-1.8.8L36.2 49.2a2.53 2.53 0 000 3.6L51.4 68a2.53 2.53 0 003.6 0l13.8-13.8a2.5 2.5 0 00.8-1.8l-.3-8.4a2.14 2.14 0 00-.8-1.7L62 35.6a3.37 3.37 0 00-1.7-.8zm-4.7 13.4a.56.56 0 01.9 0l8 8a.56.56 0 010 .9l-1.3 1.3a.56.56 0 01-.9 0l-8-8a.56.56 0 010-.9zm3.9-3.8a.56.56 0 01.9 0l8 8a.56.56 0 010 .9l-1.3 1.3a.56.56 0 01-.9 0l-8-8a.56.56 0 010-.9zm12.9-4a2.55 2.55 0 11-3.6 0 2.54 2.54 0 013.6 0z\"}},\npricebook:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M71.7 20H34.1c-3.3 0-6.1 2.8-6.1 5.8V28h-2c-2.2 0-4 1.8-4 4s1.8 4 4 4h2v10h-2c-2.2 0-4 1.8-4 4s1.8 4 4 4h2v10h-2c-2.2 0-4 1.8-4 4s1.8 4 4 4h2v1.8c0 3 2.8 6.2 6.1 6.2h37.6c3.3 0 6.3-3.3 6.3-6.6v-48c0-3.3-3-5.4-6.3-5.4zM43 61c0 .6-.4 1-1 1h-4c-.6 0-1-.4-1-1V39c0-.6.4-1 1-1h4c.6 0 1 .4 1 1v22zm8 0c0 .6-.4 1-1 1h-2c-.6 0-1-.4-1-1V39c0-.6.4-1 1-1h2c.6 0 1 .4 1 1v22zm10 0c0 .6-.4 1-1 1h-4c-.6 0-1-.4-1-1V39c0-.6.4-1 1-1h4c.6 0 1 .4 1 1v22zm8 0c0 .6-.4 1-1 1h-2c-.6 0-1-.4-1-1V39c0-.6.4-1 1-1h2c.6 0 1 .4 1 1v22z\"}},\npricing_workspace:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M36.6 20.5a2.05 2.05 0 012.1 2.1V24a2.05 2.05 0 01-2.1 2.1h-6.3a4.19 4.19 0 00-4.2 4v39.6a4.19 4.19 0 004 4.2h39.6a4.19 4.19 0 004.2-4v-6.5a2.05 2.05 0 012.1-2.1h1.4a2.05 2.05 0 012.1 2.1v7.7a8.39 8.39 0 01-8.4 8.4H28.9a8.39 8.39 0 01-8.4-8.4V28.9a8.39 8.39 0 018.4-8.4z\",\"fill-rule\":\"evenodd\"},{\"d\":\"M54.6 24l10.4.2a4.31 4.31 0 012.2.9l4.1 4.1 4.1 4.1a2.94 2.94 0 01.9 2.2l.2 10.4a3.17 3.17 0 01-.9 2.3L58.5 65.3a3.14 3.14 0 01-4.4 0l-9.4-9.4-9.4-9.4a3.14 3.14 0 010-4.4L52.4 25a2.57 2.57 0 012.2-1zm-5.8 16.6l-1.7 1.7a.78.78 0 000 1.1l10 10a.78.78 0 001.1 0l1.7-1.7a.78.78 0 000-1.1l-10-10a.78.78 0 00-1.1 0zm4.7-4.7l-1.7 1.7a.78.78 0 000 1.1l10 10a.78.78 0 001.1 0l1.7-1.7a.78.78 0 000-1.1l-10-10a.78.78 0 00-1.1 0zm16.1-5a3.11 3.11 0 100 4.4 3.14 3.14 0 000-4.4z\"}]},\nprocedure:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M72 25h-2a.94.94 0 00-1 1v4a8 8 0 01-8 8H39a8 8 0 01-8-8v-4a.94.94 0 00-1-1h-2a6 6 0 00-6 6v43a6 6 0 006 6h44a6 6 0 006-6V31a6 6 0 00-6-6zM28 53.86v-2.07a2.08 2.08 0 012.08-2.08h3.11V46.6a2.08 2.08 0 012.07-2.08h2.08a2.08 2.08 0 012.07 2.08v3.11h3.09a2.08 2.08 0 012.08 2.08v2.07a2.08 2.08 0 01-2.08 2.08h-3.11v3.11a2.07 2.07 0 01-2.07 2.07h-2.08a2.07 2.07 0 01-2.07-2.07v-3.11h-3.11A2.08 2.08 0 0128 53.86zm43.66 17.79A1.32 1.32 0 0170.33 73H29.41a1.33 1.33 0 01-1.33-1.33V69a1.34 1.34 0 011.33-1.33h40.92A1.33 1.33 0 0171.66 69zm0-11.62a1.33 1.33 0 01-1.33 1.33H50.22A1.34 1.34 0 0148.89 60v-2.63A1.34 1.34 0 0150.22 56h20.11a1.33 1.33 0 011.33 1.33zm0-11.63a1.33 1.33 0 01-1.33 1.33H50.41a1.34 1.34 0 01-1.33-1.33v-2.66a1.34 1.34 0 011.33-1.33h19.92a1.33 1.33 0 011.33 1.33z\"},{\"d\":\"M39 32h22a2 2 0 002-2v-4a6 6 0 00-6-6H43a6 6 0 00-6 6v4a2 2 0 002 2z\"}]}},\nprocedure_detail:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M69.7 79.52a10.2 10.2 0 1110.2-10.19 10.17 10.17 0 01-10.2 10.19zm.9-12.69a1.06 1.06 0 00-.7.2c-.56.38-1.12.76-1.66 1.17a2.82 2.82 0 00-.53.56.27.27 0 000 .35.29.29 0 00.35.08 3.12 3.12 0 00.39-.15l.38-.16c.18-.06.28 0 .27.22a1.07 1.07 0 010 .25q-.58 2.4-1.18 4.82a.89.89 0 00.45 1.06 1.13 1.13 0 001.15-.1c.54-.35 1.08-.72 1.59-1.11a5.45 5.45 0 00.71-.73.22.22 0 00.06-.28.27.27 0 00-.3-.11 3 3 0 00-.39.14c-.14.06-.28.14-.43.19s-.27 0-.25-.19a1.59 1.59 0 01.06-.38c.36-1.51.73-3 1.1-4.51a1 1 0 00-1.07-1.32zm1.08-2.1a1.55 1.55 0 00-1.78-1.47 1.38 1.38 0 00-1.08 2 1.55 1.55 0 001.71.89 1.47 1.47 0 001.15-1.42zM34.78 30.47h18.91a1.72 1.72 0 001.71-1.72v-3.44a5.17 5.17 0 00-5.15-5.16h-12a5.17 5.17 0 00-5.15 5.16v3.44a1.73 1.73 0 001.68 1.72z\"},{\"d\":\"M56.1 69.32a13.47 13.47 0 01.5-3.62H26.53a1.15 1.15 0 01-1.14-1.15v-2.28a1.15 1.15 0 011.14-1.14h32.33a13.55 13.55 0 019.44-5.35V29.61a5.17 5.17 0 00-5.16-5.16h-1.72a.82.82 0 00-.86.86v3.44a6.9 6.9 0 01-6.87 6.88H34.78a6.9 6.9 0 01-6.88-6.88v-3.44a.82.82 0 00-.86-.86h-1.72a5.17 5.17 0 00-5.16 5.16v37a5.17 5.17 0 005.16 5.16h31a13.76 13.76 0 01-.22-2.45zm-12.66-27a1.15 1.15 0 011.15-1.14h17.12a1.14 1.14 0 011.14 1.14v2.28a1.15 1.15 0 01-1.14 1.15H44.59a1.16 1.16 0 01-1.15-1.15zm-.16 10a1.15 1.15 0 011.14-1.14h17.29a1.15 1.15 0 011.14 1.14v2.29a1.14 1.14 0 01-1.14 1.14H44.42a1.14 1.14 0 01-1.14-1.14zm-18-3v-1.84a1.8 1.8 0 011.79-1.79h2.67V43a1.79 1.79 0 011.79-1.79h1.78a1.79 1.79 0 011.8 1.79v2.67h2.68a1.79 1.79 0 011.78 1.79v1.78A1.78 1.78 0 0137.79 51h-2.68v2.68a1.78 1.78 0 01-1.78 1.78h-1.78a1.79 1.79 0 01-1.79-1.78V51h-2.67a1.79 1.79 0 01-1.79-1.74z\"}]}},\nprocess:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M37.6 46.3l10.8-13.4c.8-1 2.3-1 3.1 0l10.8 13.4c.4.5 1 .7 1.6.7H76c1.1 0 2-.9 2-2V28c0-3.3-2.7-6-6-6H28c-3.3 0-6 2.7-6 6v17c0 1.1.9 2 2 2h12c.6 0 1.2-.3 1.6-.7zM62.3 53.7L51.5 67.1c-.8 1-2.3 1-3.1 0L37.6 53.7c-.4-.5-1-.7-1.6-.7H24c-1.1 0-2 .9-2 2v17c0 3.3 2.7 6 6 6h44c3.3 0 6-2.7 6-6V55c0-1.1-.9-2-2-2H63.9c-.6 0-1.2.3-1.6.7z\"}}},\nprocess_exception:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M21.84 39.94h9.4a2.4 2.4 0 001.2-.7l8.4-10.5a1.5 1.5 0 012.4 0l8.4 10.5a1.46 1.46 0 001.2.5h9.6a1.58 1.58 0 001.6-1.6V25a4.69 4.69 0 00-4.7-4.7h-34.4a4.69 4.69 0 00-4.7 4.7v13.3a1.58 1.58 0 001.6 1.64zM61.7 48.5a10 10 0 012.24-.28V46a1.58 1.58 0 00-1.6-1.6h-9.4a2.73 2.73 0 00-1.2.6l-8.4 10.5a1.5 1.5 0 01-2.4 0L32.44 45a1.46 1.46 0 00-1.2-.5h-9.4a1.58 1.58 0 00-1.6 1.6v13.3a4.69 4.69 0 004.7 4.7h24.3L55.7 53a10.43 10.43 0 016-4.5zM78.42 72.86L68.35 55.57a4.66 4.66 0 00-1.68-1.68 4.17 4.17 0 00-2.37-.69 5 5 0 00-1.29.2 4.78 4.78 0 00-2.86 2.17L50.07 72.86a4.17 4.17 0 00-.69 2.37A4.71 4.71 0 0054.12 80h20.25a5.08 5.08 0 002.38-.69 4.58 4.58 0 002.17-2.86 4.48 4.48 0 00-.5-3.59zM64.2 75.92a2.18 2.18 0 01-2.2-2.17 2.36 2.36 0 011-1.81 2.17 2.17 0 111.2 4zm2.17-6.52a.67.67 0 01-.69.69h-2.86a.68.68 0 01-.7-.69V60a.68.68 0 01.7-.69h2.86a.67.67 0 01.69.69z\"}},\nproduct:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M22 66h5c1.1 0 2-.9 2-2V33c0-1.1-.9-2-2-2h-5c-1.1 0-2 .9-2 2v31c0 1.1.9 2 2 2zM78 31h-5c-1.1 0-2 .9-2 2v31c0 1.1.9 2 2 2h5c1.1 0 2-.9 2-2V33c0-1.1-.9-2-2-2zM53 66c1.1 0 2-.9 2-2V33c0-1.1-.9-2-2-2h-6c-1.1 0-2 .9-2 2v31c0 1.1.9 2 2 2h6zM65 66c1.1 0 2-.9 2-2V33c0-1.1-.9-2-2-2h-2c-1.1 0-2 .9-2 2v31c0 1.1.9 2 2 2h2zM39 66c1.1 0 2-.9 2-2V33c0-1.1-.9-2-2-2h-2c-1.1 0-2 .9-2 2v31c0 1.1.9 2 2 2h2zM78 72H22c-1.1 0-2 .9-2 2v2c0 1.1.9 2 2 2h56c1.1 0 2-.9 2-2v-2c0-1.1-.9-2-2-2zM78 20H22c-1.1 0-2 .9-2 2v2c0 1.1.9 2 2 2h56c1.1 0 2-.9 2-2v-2c0-1.1-.9-2-2-2z\"}},\nproduct_consumed:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M77.13 55.17h-3.75A1.92 1.92 0 0071.5 57v12.5a1.92 1.92 0 01-1.87 1.88H28.38a1.92 1.92 0 01-1.87-1.87V57a1.92 1.92 0 00-1.87-1.87h-3.76A1.92 1.92 0 0019 57v16.92a5 5 0 005 5h50a5 5 0 005-5V57a1.92 1.92 0 00-1.87-1.83zm-29.38 8.25a1.81 1.81 0 002.63 0l16.87-16.88a1.81 1.81 0 000-2.63l-2.62-2.63a1.81 1.81 0 00-2.62 0l-7 7a1.25 1.25 0 01-2.13-.88V20.79a2.25 2.25 0 00-2-1.87h-3.75a1.92 1.92 0 00-1.87 1.88v26.5a1.25 1.25 0 01-2.13.88l-7-7a1.81 1.81 0 00-2.63 0l-2.63 2.75a1.81 1.81 0 000 2.63z\"}},\nproduct_item:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"rect\":[{\"x\":\"19\",\"y\":\"18.92\",\"width\":\"60\",\"height\":\"16\",\"rx\":\"4\",\"ry\":\"4\"},{\"x\":\"19\",\"y\":\"40.92\",\"width\":\"27\",\"height\":\"16\",\"rx\":\"4\",\"ry\":\"4\"},{\"x\":\"19\",\"y\":\"62.92\",\"width\":\"27\",\"height\":\"16\",\"rx\":\"4\",\"ry\":\"4\"},{\"x\":\"52\",\"y\":\"40.92\",\"width\":\"27\",\"height\":\"16\",\"rx\":\"4\",\"ry\":\"4\"},{\"x\":\"52\",\"y\":\"62.92\",\"width\":\"27\",\"height\":\"16\",\"rx\":\"4\",\"ry\":\"4\"}]},\nproduct_item_transaction:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"rect\":[{\"x\":\"19\",\"y\":\"18.92\",\"width\":\"60\",\"height\":\"16\",\"rx\":\"4\",\"ry\":\"4\"},{\"x\":\"19\",\"y\":\"40.92\",\"width\":\"27\",\"height\":\"16\",\"rx\":\"4\",\"ry\":\"4\"},{\"x\":\"19\",\"y\":\"62.92\",\"width\":\"27\",\"height\":\"16\",\"rx\":\"4\",\"ry\":\"4\"}],\"path\":{\"d\":\"M64.95 72.49a1.45 1.45 0 002.1 0l11.5-11.4a1.45 1.45 0 000-2.1L67 47.49a1.45 1.45 0 00-2.1 0l-2.1 2.1a1.45 1.45 0 000 2.1l3.6 3.6a1 1 0 01-.7 1.7H53.6a1.63 1.63 0 00-1.6 1.5v3A1.71 1.71 0 0053.6 63h12.15a1 1 0 01.7 1.7l-3.6 3.6a1.45 1.45 0 000 2.1z\"}},\nproduct_quantity_rules:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M77 58.48H56.47a1.63 1.63 0 00-1.63 1.63v1.64a1.65 1.65 0 001.63 1.64H77a1.65 1.65 0 001.63-1.64v-1.64A1.63 1.63 0 0077 58.48zM77 70H56.47a1.65 1.65 0 00-1.63 1.64v1.64a1.63 1.63 0 001.63 1.63H77a1.63 1.63 0 001.63-1.63v-1.65A1.64 1.64 0 0077 70zM43.55 58.48H23a1.65 1.65 0 00-1.64 1.63v1.64A1.66 1.66 0 0023 63.39h20.55a1.66 1.66 0 001.64-1.64v-1.64a1.65 1.65 0 00-1.64-1.63zM43.55 70H23a1.66 1.66 0 00-1.64 1.64v1.64A1.64 1.64 0 0023 74.9h20.55a1.65 1.65 0 001.64-1.63v-1.64A1.65 1.65 0 0043.55 70zM66.73 25.14a13 13 0 1013 13 13 13 0 00-13-13zM73.17 39a.82.82 0 01-.82.7H61.11a.78.78 0 01-.81-.7 11.3 11.3 0 010-1.84.82.82 0 01.81-.7h11.24a.82.82 0 01.82.7 11.3 11.3 0 010 1.84zM42.51 28.88a13 13 0 00-18.43 18.43 13 13 0 0018.43-18.43zM42 39.17a.51.51 0 01-.47.55h-6.07a.58.58 0 00-.54.54v6a.58.58 0 01-.54.54h-2.17a.5.5 0 01-.54-.46v-6.08a.51.51 0 00-.48-.54h-6.07a.52.52 0 01-.54-.5V37a.59.59 0 01.54-.55h6a.51.51 0 00.55-.47V30a.58.58 0 01.54-.54h2.17a.54.54 0 01.54.54v6a.5.5 0 00.46.54h6.08A.6.6 0 0142 37z\"}},\nproduct_request:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M77.4 78.1H40.5c-1.2 0-2.3-1-2.3-2.2V71.2c0-1.2 1-2.3 2.2-2.3h37c1.2 0 2.3 1 2.3 2.2V75.8c.1 1.2-.9 2.3-2.3 2.3.1 0 .1 0 0 0zM26.6 78.1H22c-1.2 0-2.3-1-2.3-2.2V71.2c0-1.2 1-2.3 2.2-2.3H26.6c1.2 0 2.3 1 2.3 2.2V75.8c.1 1.2-.9 2.2-2.1 2.3h-.2zM53.8 57.6c-1.2 0-2.3-1-2.3-2.2V50.7c0-1.2 1-2.3 2.2-2.3H77.4c1.2 0 2.3 1 2.3 2.2V55.3c0 1.2-1 2.3-2.2 2.3H53.8zM62.6 37.1c-1.2 0-2.3-1-2.3-2.2V30.2c0-1.2 1-2.3 2.2-2.3h14.9c1.2 0 2.3 1 2.3 2.2V34.8c0 1.2-1 2.3-2.2 2.3H62.6zM20.8 58.2C19.6 47.5 28 36.4 38 34.5l2.7-.6c.5-.1.9-.6.8-1.2 0-.3-.2-.5-.4-.6l-6.7-4.5c-.7-.5-.8-1.4-.3-2v-.1l1.7-2.5c.4-.7 1.4-.9 2-.4h.1L54 33.5c.7.4.9 1.4.4 2v.1l-11 16.2c-.4.7-1.4.9-2 .4h-.1l-2.5-1.7c-.7-.4-.9-1.4-.4-2v-.1l4.4-6.7c.3-.4.3-1.1-.2-1.4-.2-.2-.5-.3-.8-.2l-1.6.3c-7.8 1.5-14.4 10.3-13.7 17.9 0 .7-1.1 1.7-1.9 1.9h-1.9c-.9.1-1.9-1.1-1.9-2z\"}},\nproduct_request_line_item:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M77.8 77.4h-37c-1.2 0-2.3-1-2.3-2.2V70.5c0-1.2 1-2.3 2.2-2.3h37c1.2 0 2.3 1 2.3 2.2V75.1c.1 1.2-.9 2.3-2.2 2.3zM26.9 77.4h-4.6c-1.2 0-2.3-1-2.3-2.2V70.5c0-1.2 1-2.3 2.2-2.3H26.9c1.2 0 2.3 1 2.3 2.2V75.1c.1 1.2-.8 2.2-2 2.3h-.3zM24.4 48.5c6.8-11.7 22.9-17 33.6-11.8l2.9 1.3c1 .5 2-.6 1.7-1.6L59.8 27c-.3-1 .3-2 1.2-2.4l3.4-1.3c.8-.4 1.7 0 2.1.8 0 .1.1.2.1.3l6.8 22.7c.3 1-.2 2.1-1.2 2.4l-22 8.6c-.8.4-1.7 0-2.1-.8 0-.1-.1-.2-.1-.3l-1.1-3.5c-.3-1 .2-2.1 1.2-2.4l9-3.6c.7-.2 1-.9.8-1.6-.1-.3-.3-.6-.6-.7l-1.7-.8c-8.3-4.1-21 .1-26 8.4-.5.8-2.3 1-3.2.6l-1.7-1.6c-.9-.4-.8-2.4-.3-3.3z\"}},\nproduct_required:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"rect\":[{\"x\":\"43.93\",\"y\":\"68.27\",\"width\":\"36.07\",\"height\":\"7.99\",\"rx\":\"2\",\"ry\":\"2\"},{\"x\":\"43.93\",\"y\":\"50.42\",\"width\":\"36.07\",\"height\":\"7.99\",\"rx\":\"2\",\"ry\":\"2\"},{\"x\":\"49.92\",\"y\":\"32.57\",\"width\":\"30.08\",\"height\":\"7.99\",\"rx\":\"2\",\"ry\":\"2\"}],\"path\":[{\"d\":\"M33.82 76.26h-4a2 2 0 01-2-2v-4a2 2 0 012-2h4a2 2 0 012 2v4a1.9 1.9 0 01-2 2zM33.82 58.41h-4a2 2 0 01-2-2v-4a2 2 0 012-2h4a2 2 0 012 2v4a1.9 1.9 0 01-2 2z\",\"fill-rule\":\"evenodd\"},{\"d\":\"M47.55 26.33l-2.12-2.12a1.44 1.44 0 00-2.12 0L30.08 37.32l-5.37-5.24a1.44 1.44 0 00-2.12 0l-2.12 2.12a1.44 1.44 0 000 2.12l7.36 7.36a3 3 0 004.24 0l15.48-15.22a1.69 1.69 0 000-2.13z\",\"fill-rule\":\"evenodd\"}]},\nproduct_service_campaign:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M47.44 61.66a1 1 0 011 .91v14.37a3.06 3.06 0 01-2.87 3H25.08a3.06 3.06 0 01-3-2.88V62.68a1 1 0 01.91-1h24.5zm29.51 0a1 1 0 011 .91v14.37a3.06 3.06 0 01-2.87 3H54.59a3.06 3.06 0 01-3-2.88V62.68a1 1 0 01.91-1H77zm-37.36 4.23l-.09.11-5.82 6.32-2.63-2.55a.77.77 0 00-1-.08l-.09.08-1.09 1a.62.62 0 00-.07.9l.07.08 3.73 3.54a1.56 1.56 0 001.08.45 1.43 1.43 0 001.09-.45l3.14-3.32.63-.67 3.14-3.31a.78.78 0 00.06-.9l-.06-.08-1.09-1a.76.76 0 00-1-.12zm29.51 0L69 66l-5.82 6.32-2.64-2.55a.75.75 0 00-1-.08l-.09.08-1.09 1a.62.62 0 00-.07.9l.07.08 3.73 3.54a1.54 1.54 0 001.08.45 1.43 1.43 0 001.09-.45l3.14-3.32.63-.67 3.14-3.31a.78.78 0 00.06-.9l-.06-.08L70.1 66a.76.76 0 00-1-.11zM45.67 51.48a3 3 0 012.85 2.87v3.24a1 1 0 01-.84 1H21a1 1 0 01-.94-.9v-3.16a3 3 0 012.69-3.05h23zm31.48 0A3 3 0 0180 54.35v3.24a1 1 0 01-.84 1H52.43a1 1 0 01-1-.9v-3.16a3 3 0 012.68-3.05h23zm-15-21.29a1 1 0 011 .91v14.37a3.06 3.06 0 01-2.87 3.05H39.84a3.06 3.06 0 01-3.05-2.87V31.21a1 1 0 01.9-1H62.2zm-7.85 4.22l-.09.08-5.82 6.32-2.59-2.56a.76.76 0 00-1-.07l-.09.07-1.08 1a.61.61 0 00-.07.9l.07.08 3.72 3.53a1.56 1.56 0 001.09.45 1.43 1.43 0 001.08-.45l3.14-3.31.64-.67 3.13-3.32a.78.78 0 00.06-.9l-.06-.07-1.08-1a.77.77 0 00-1-.08zM62.2 20a3.06 3.06 0 013 2.88v3.23a1 1 0 01-.91 1H35.77a1 1 0 01-1-.91v-3.14a3.06 3.06 0 012.87-3H62.2z\"}},\nproduct_service_campaign_item:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M74 42a2 2 0 012 1.85V72a6 6 0 01-5.78 6H30a6 6 0 01-6-5.78V44a2 2 0 011.85-2zm-15.5 8.34l-.12.1-11.45 12.41-5.2-5a1.51 1.51 0 00-2-.1l-.11.1-2.14 1.92a1.2 1.2 0 00-.1 1.81l.1.11 7.33 6.94a3.07 3.07 0 002.14.89 2.81 2.81 0 002.13-.89L55 62.34l.43-.44.42-.45.55-.58.21-.22.42-.44 5.62-5.93a1.54 1.54 0 00.08-1.82l-.08-.1-2.14-1.92a1.51 1.51 0 00-2.01-.1zM74 22a6 6 0 016 6v6a2 2 0 01-2 2H22a2 2 0 01-2-2v-6a6 6 0 016-6z\"}},\nproduct_transfer:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M75.6 20.54h-3.55a1.82 1.82 0 00-1.77 1.77v8.28c0 1.06-1.18 1.77-1.89.95A26 26 0 0046.28 23a22.73 22.73 0 00-8.75 2.6 22.92 22.92 0 00-4 2.48 1.89 1.89 0 00-.24 2.72l2.48 2.48a1.79 1.79 0 002.25.24 28.6 28.6 0 014.61-2.48c.71-.24 1.54-.47 2.36-.71a19.53 19.53 0 0118.56 6.38c1.42 1.66.35 2.72-.83 2.72h-8.28a1.93 1.93 0 00-1.89 1.77v3.55a1.93 1.93 0 001.89 1.77H76A1.47 1.47 0 0077.37 45V22.32a1.82 1.82 0 00-1.77-1.78zM64.84 62.39a1.71 1.71 0 00-2.48 0 18.93 18.93 0 01-6.86 4.37c-.71.24-1.54.47-2.36.71a19.53 19.53 0 01-18.56-6.38c-1.42-1.66-.35-2.72.83-2.72h8.28a1.82 1.82 0 001.77-1.77v-3.55a1.82 1.82 0 00-1.77-1.77H22.16a1.57 1.57 0 00-1.54 1.54v22.7a1.82 1.82 0 001.77 1.77h3.55a1.82 1.82 0 001.77-1.77v-8.28c0-1.06 1.18-1.77 1.89-.95a25.87 25.87 0 0022.11 8.51 22.73 22.73 0 008.75-2.6 25.85 25.85 0 006.74-4.85 1.71 1.71 0 000-2.48z\"}},\nproduct_warranty_term:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M66 49.52c1.77 0 3.17 1.92 4.72 2.58s4 .3 5.17 1.55.89 3.55 1.56 5.17 2.58 3 2.58 4.73-1.92 3.17-2.58 4.73-.3 4-1.56 5.16-3.54.89-5.17 1.56-3 2.58-4.72 2.58-3.21-1.92-4.76-2.58-4-.3-5.17-1.56-.88-3.54-1.55-5.16-2.58-3-2.58-4.73 1.92-3.18 2.58-4.73.3-4 1.55-5.17 3.55-.88 5.17-1.55 2.96-2.58 4.76-2.58zM50.89 68.7a5.77 5.77 0 01.47.88c.62 1.51.59 3.53 1.11 5.1H21.74a1.88 1.88 0 01-1.74-2v-2a1.88 1.88 0 011.74-2h29.15zM71.2 59a.69.69 0 00-1 0l-5.47 6.24-2.48-2.52a.69.69 0 00-1 0l-1 1a.63.63 0 000 1l3.5 3.49a1.42 1.42 0 001 .45 1.3 1.3 0 001-.45l6.5-7.21a.78.78 0 000-1zM25.81 32.87a1.74 1.74 0 011.66 1.79v27.77a1.74 1.74 0 01-1.66 1.8h-4.15a1.74 1.74 0 01-1.66-1.8V34.66a1.74 1.74 0 011.66-1.79h4.15zm23.75 0a1.79 1.79 0 011.79 1.79v22.87c-.86 2-3.3 3.76-3.3 6a3.08 3.08 0 00.08.68h-4a1.8 1.8 0 01-1.79-1.8V34.66a1.79 1.79 0 011.79-1.79h5.37zm-12.14 0a1.91 1.91 0 012 1.79v27.77a1.91 1.91 0 01-2 1.8h-2a1.9 1.9 0 01-2-1.8V34.66a1.9 1.9 0 012-1.79h2zm22.4 0a1.91 1.91 0 012 1.79v13.1a9.36 9.36 0 01-1.87 1.18 22.83 22.83 0 01-4.11.85V34.66a1.91 1.91 0 012-1.79h2zm10.78 0a1.74 1.74 0 011.66 1.79V49l-.26-.1c-2-.84-3.77-3.29-6-3.29a3.37 3.37 0 00-1.18.21V34.66a1.74 1.74 0 011.66-1.79h4.12zm-.08-10.45a1.89 1.89 0 011.74 2v2a1.88 1.88 0 01-1.74 2H21.74a1.88 1.88 0 01-1.74-2v-2a1.88 1.88 0 011.74-2h48.78z\"}},\nproduct_workspace:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M36.6 20.5a2.05 2.05 0 012.1 2.1V24a2.05 2.05 0 01-2.1 2.1h-6.3a4.19 4.19 0 00-4.2 4v39.6a4.19 4.19 0 004 4.2h39.6a4.19 4.19 0 004.2-4v-6.5a2.05 2.05 0 012.1-2.1h1.4a2.05 2.05 0 012.1 2.1v7.7a8.39 8.39 0 01-8.4 8.4H28.9a8.39 8.39 0 01-8.4-8.4V28.9a8.39 8.39 0 018.4-8.4z\",\"fill-rule\":\"evenodd\"},{\"d\":\"M67.8 49.2l3.8-3.8a1.3 1.3 0 000-1.9L56.2 28a1.3 1.3 0 00-1.9 0l-3.8 3.8a1.3 1.3 0 000 1.9L66 49.2a1.19 1.19 0 001.8 0zM76.5 40.5l1.9-1.9a1.3 1.3 0 000-1.9L63 21.2a1.3 1.3 0 00-1.9 0l-1.9 1.9a1.3 1.3 0 000 1.9l15.5 15.5a1.26 1.26 0 001.8 0zM63.4 53.6a1.23 1.23 0 00.1-1.9L48 36.2a1.3 1.3 0 00-1.9 0l-.1.1a1.3 1.3 0 000 1.9l15.5 15.5a1.31 1.31 0 001.9-.1zM57.9 59l.9-.9a1.3 1.3 0 000-1.9L43.4 40.7a1.3 1.3 0 00-1.9 0l-.9.9a1.3 1.3 0 000 1.9L56.1 59a1.12 1.12 0 001.8 0zM49.6 67.4l3.8-3.8a1.3 1.3 0 000-1.9L38 46.2a1.3 1.3 0 00-1.9 0L32.3 50a1.3 1.3 0 000 1.9l15.5 15.5a1.27 1.27 0 001.8 0z\"}]},\nproducts:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M57.6 67.4h7.7a1.78 1.78 0 001.9-1.9v-31a1.78 1.78 0 00-1.9-1.9h-7.7a1.78 1.78 0 00-1.9 1.9v31a1.78 1.78 0 001.9 1.9zM75 67.4h3.9a1.78 1.78 0 001.9-1.9v-31a1.78 1.78 0 00-1.9-1.9H75a1.78 1.78 0 00-1.9 1.9v31a1.84 1.84 0 001.9 1.9zM48.7 67.4a1.81 1.81 0 002-1.9v-31a1.78 1.78 0 00-1.9-1.9h-.1a1.78 1.78 0 00-1.9 1.9v31a1.73 1.73 0 001.9 1.9zM37.8 67.4h1.9a1.78 1.78 0 001.9-1.9v-31a1.78 1.78 0 00-1.9-1.9h-1.9a1.78 1.78 0 00-1.9 1.9v31a1.73 1.73 0 001.9 1.9zM21.1 67.4h7.7a1.78 1.78 0 001.9-1.9v-31a1.78 1.78 0 00-1.9-1.9h-7.7a1.78 1.78 0 00-1.9 1.9v31a1.84 1.84 0 001.9 1.9z\"}},\npromotions:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M59.16 53.31a3.85 3.85 0 103.89 3.86 3.85 3.85 0 00-3.84-3.86h-.05zM40.79 39a3.85 3.85 0 103.85 3.86A3.85 3.85 0 0040.79 39z\"},{\"d\":\"M78.16 46.11l-3.23-3.86a7 7 0 01-1.62-4l-.36-5a6.34 6.34 0 00-5.8-5.9L62.84 27a9.17 9.17 0 01-5.19-2.2L54.38 22a6.37 6.37 0 00-8.28-.07l-3.55 3a8.1 8.1 0 01-4.69 1.9l-4.62.33a6.33 6.33 0 00-5.9 5.8L27 37.14a9.25 9.25 0 01-2.22 5.23L22 45.63a6.35 6.35 0 00-.07 8.27L25 57.56A7.75 7.75 0 0126.71 62l.34 4.76a6.34 6.34 0 005.8 5.9l4.32.38a9 9 0 015.17 2.2l3.28 2.84a6.39 6.39 0 008.28.07L57.67 75a7.33 7.33 0 014.19-1.69l4.9-.35a6.34 6.34 0 005.9-5.8l.36-4a10.15 10.15 0 012.43-5.73l2.64-3a6.35 6.35 0 00.07-8.32zm-44.52-3.24A7.16 7.16 0 1140.83 50a7.15 7.15 0 01-7.19-7.11zM44 64a.56.56 0 01-.43.28h-2.09A.56.56 0 0141 64a.51.51 0 010-.53L56 36a.61.61 0 01.44-.27h2.23a.55.55 0 01.26.73zm22.4-6.84A7.17 7.17 0 1159.22 50a7.17 7.17 0 017.13 7.19z\"}]},\npropagation_policy:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M36 20H26a6 6 0 00-6 6v8a6 6 0 006 6h10a6 6 0 006-6v-8a6 6 0 00-6-6zm-4 14h-2a4 4 0 010-8h2a4 4 0 010 8zM54 40h10a6 6 0 006-6v-8a6 6 0 00-6-6H54a6 6 0 00-6 6v8a6 6 0 006 6zm4-14h2a4 4 0 010 8h-2a4 4 0 010-8zM36 46H26a6 6 0 00-6 6v8a6 6 0 006 6h10a6 6 0 006-6v-8a6 6 0 00-6-6zm-4 14h-2a4 4 0 010-8h2a4 4 0 010 8zM77 67H67v-3.52a9 9 0 10-6 0V67H51a3 3 0 00-3 3v7a3 3 0 006 0v-4h7v4a3 3 0 006 0v-4h7v4a3 3 0 006 0v-7a3 3 0 00-3-3zM64 52a3 3 0 11-3 3 3 3 0 013-3z\",\"fill-rule\":\"evenodd\"}},\nproposition:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M25.8 60.6h-4.5c-.7 0-1.3.6-1.3 1.3V78c0 .7.6 1.3 1.3 1.3h2.2c2 0 3.6-1.6 3.6-3.6V62c.1-.8-.6-1.4-1.3-1.4zM79.9 69.4c-.7-1.6-2-3.3-3.9-3.5-1-.1-2 .3-2.9.6-3.6 1.3-7.2 2.5-10.8 3.8-2.3.8-4.7 1.6-7.2 1.8-1.7.1-3.4 0-5.1 0-.9 0-1.7-.7-1.7-1.7s.7-1.7 1.7-1.7h9.1c1.7 0 3-1.4 3-3s-1.4-3-3-3h-7c-.3 0-2.2-.1-3.4-.6-1.3-.6-3-.7-3-.6H33.4c-1.5 0-2.7 1.2-2.7 2.7v11.3c0 1.3 1 2.4 2.3 2.6h.3c2.3 0 4.6.5 6.9.9 2.3.5 4.5.8 6.9.8 3 .1 6.1-.4 9-1.1 2.9-.8 5.7-1.9 8.5-2.8 4.8-1.6 9.7-3.3 14.5-4.9.6-.3 1.1-.8.8-1.6z\"},{\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",\"d\":\"M58 40.1v15c0 .5.5.7.9.6C61.8 54 70.8 49 70.8 49c1.2-.7 1.9-1.9 1.9-3.3V32.2c0-.5-.5-.7-.9-.6L58.6 39c-.3.3-.6.7-.6 1.1M56.8 36L70 28.6c.4-.2.4-.8 0-1-2.9-1.7-12-6.8-12-6.8a3.7 3.7 0 00-3.8 0l-12 6.8c-.4.2-.4.8 0 1L55.6 36c.3.2.8.2 1.2 0M53.7 39.1l-13.2-7.4c-.4-.2-.9.1-.9.6v13.4c0 1.3.7 2.6 1.9 3.3 0 0 9 5.1 11.9 6.7.4.2.9-.1.9-.6v-15c0-.4-.2-.8-.6-1\"}]}},\nquestion_best:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"fill-rule\":\"evenodd\",\"path\":[{\"d\":\"M100 100V62l-38 38h38zm-3.9-14.4L93 88.8c-.1.1-.1.2-.1.3l.7 4.5c.1.3-.3.6-.5.4l-3.8-2.1c-.1-.1-.2-.1-.3 0L85 94c-.3.1-.6-.1-.5-.4l.7-4.5c0-.1 0-.3-.1-.3L82 85.6c-.2-.3-.1-.6.2-.7l4.3-.7c.1 0 .2-.1.3-.2l1.9-4.1c.1-.3.5-.3.7 0l1.9 4.1c.1.1.2.2.3.2l4.3.7c.3 0 .4.4.2.7z\",\"fill-opacity\":\".65\"},{\"d\":\"M49.9 22c-16.6 0-30 12.5-30 28 0 5 1.4 9.6 3.8 13.7.3.5.4 1.1.2 1.6l-2.8 8.9c-.5 1.6 1 3 2.6 2.5l8.8-3.1c.6-.2 1.2-.1 1.7.2 4.6 2.7 10 4.2 15.8 4.2 16.6 0 30-12.5 30-28-.1-15.5-13.4-28-30.1-28zm3 45c0 1.1-.9 2-2 2h-2c-1.1 0-2-.9-2-2v-2c0-1.1.9-2 2-2h2c1.1 0 2 .9 2 2v2zm.9-12.7c-.4.1-.8.5-.8 1v1.6c0 1.1-.9 2.1-2 2.1h-2c-1.1 0-2-1-2-2.1v-1.6c0-3 2-5.7 4.9-6.7 1.1-.4 2.1-.9 2.7-1.8 3.4-4.5 0-9.7-4.5-9.8-1.6-.1-3.2.6-4.4 1.7-.8.8-1.4 1.8-1.6 2.8-.2.9-1 1.6-1.9 1.6h-2.1c-1.2 0-2.2-1.2-2-2.4.5-2.4 1.6-4.6 3.4-6.3 2.3-2.3 5.4-3.5 8.7-3.4 6.3.2 11.5 5.4 11.7 11.7.2 5.2-3 9.9-8.1 11.6z\"}]}},\nquestion_feed:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M50 22c-16.6 0-30 12.5-30 28 0 5 1.4 9.6 3.8 13.7.3.5.4 1.1.2 1.6l-2.8 8.9c-.5 1.6 1 3 2.6 2.5l8.8-3.1c.6-.2 1.2-.1 1.7.2 4.6 2.7 10 4.2 15.8 4.2 16.6 0 30-12.5 30-28C80 34.5 66.6 22 50 22zm3 45c0 1.1-.9 2-2 2h-2c-1.1 0-2-.9-2-2v-2c0-1.1.9-2 2-2h2c1.1 0 2 .9 2 2v2zm.8-12.7c-.4.1-.8.5-.8 1v1.6c0 1.1-.9 2.1-2 2.1h-2c-1.1 0-2-1-2-2.1v-1.6c0-3 2-5.7 4.9-6.7 1.1-.4 2.1-.9 2.7-1.8 3.4-4.5 0-9.7-4.5-9.8-1.6-.1-3.2.6-4.4 1.7-.8.8-1.4 1.8-1.6 2.8-.2.9-1 1.6-1.9 1.6h-2.1c-1.2 0-2.2-1.2-2-2.4.5-2.4 1.6-4.6 3.4-6.3 2.3-2.3 5.4-3.5 8.7-3.4 6.3.2 11.5 5.4 11.7 11.7.2 5.2-3 9.9-8.1 11.6z\"}},\nqueue:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M67.6 20.1c-2.9 0-5.4 2.1-6.4 5 3.8 1.7 6.7 5.4 7.7 9.9 3.1-.7 5.4-3.7 5.4-7.3 0-4.3-3-7.6-6.7-7.6zM73.8 37.9c-1.3 1.2-2.9 2-4.7 2.3-.3 2.7-1.3 5.2-2.8 7.2h11.1c1.4 0 2.5-1.1 2.5-2.5v-1.2c0-2.7-3-4.4-6.1-5.8zM63.2 50c-2 1.8-4.5 2.9-7.2 2.9-.2 3.1-1.1 5.9-2.5 8.3h14c1.6 0 3-1.3 3-3V57c-.1-3.3-3.7-5.3-7.3-7zM50.3 65.2c-2.8 2.8-6.6 4.4-10.6 4.4-4.1 0-7.9-1.7-10.7-4.6-4.6 2.2-9 5-9 9.1V76c0 2.2 1.8 3.9 3.9 3.9h31.3c2.2 0 3.9-1.8 3.9-3.9v-1.8c0-4.2-4.2-6.9-8.8-9z\"},{\"d\":\"M55.7 29.5c-3.7 0-6.8 2.7-7.7 6.5 3.7 2.4 6.4 6.5 7.5 11.2h.2c4.4 0 8-4 8-8.9.1-4.8-3.5-8.8-8-8.8z\"}],\"ellipse\":{\"cx\":\"39.6\",\"cy\":\"51.6\",\"rx\":\"10.7\",\"ry\":\"11.8\"}},\nquick_text:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M49.5 21.5c-16.7 0-29.9 12.3-29.9 27.4 0 4.8 1.4 9.3 3.6 13.3.4.6.5 1.4.3 2.1L19.6 75c-.4 1 .6 1.9 1.6 1.6L32 72.5c.6-.3 1.4-.1 2.1.3 4.5 2.5 9.9 4 15.7 4 16.4-.1 29.8-12.3 29.8-27.6-.1-15.4-13.5-27.7-30.1-27.7zM35.6 48c0-.6.5-1.2 1.2-1.2h19.4c.6 0 1.2.5 1.2 1.2v2.3c0 .6-.5 1.2-1.2 1.2H36.7c-.6 0-1.2-.5-1.2-1.2V48zm27.9 11.6c0 .6-.5 1.2-1.2 1.2H36.7c-.6 0-1.2-.5-1.2-1.2v-2.3c0-.6.5-1.2 1.2-1.2h25.6c.6 0 1.2.5 1.2 1.2v2.3zm0-18.6c0 .6-.5 1.2-1.2 1.2H36.7c-.6 0-1.2-.5-1.2-1.2v-2.3c0-.6.5-1.2 1.2-1.2h25.6c.6 0 1.2.5 1.2 1.2V41z\"}},\nquip:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M48.1 20.1c-14.9.9-27.1 13.1-28 28C19 65.5 32.8 80 50 80h30V50c0-17.2-14.5-31-31.9-29.9zM35.8 37c0-1.1.9-2 2-2h24.5c1.1 0 2 .9 2 2v2c0 1.1-.9 2-2 2H37.8c-1.1 0-2-.9-2-2v-2zm28.5 26c0 1.1-.9 2-2 2H37.8c-1.1 0-2-.9-2-2v-2c0-1.1.9-2 2-2h24.5c1.1 0 2 .9 2 2v2zm7.5-12c0 1.1-.9 2-2 2H30.2c-1.1 0-2-.9-2-2v-2c0-1.1.9-2 2-2h39.6c1.1 0 2 .9 2 2v2z\"}},\nquip_sheet:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M31.9 38.8h-10c-1 0-1.9.9-1.9 1.9v31.9c0 2.8 2.2 5 5 5h6.9c1 0 1.9-.9 1.9-1.9v-35c0-1.1-.9-1.9-1.9-1.9zm46.2 0H40.6c-1 0-1.9.9-1.9 1.9v35c0 1 .9 1.9 1.9 1.9H75c2.8 0 5-2.2 5-5v-32c0-1-.9-1.8-1.9-1.8zM75 22.5H25c-2.8 0-5 2.2-5 5v4.4c0 1 .9 1.9 1.9 1.9h56.2c1 0 1.9-.9 1.9-1.9v-4.4c0-2.7-2.2-5-5-5z\"}},\nquotes:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M72 22H50.1c-1.4-.1-2.6.6-3.6 1.6L19.7 50.5c-2.3 2.3-2.3 6.1 0 8.5l21.2 21.2c2.3 2.3 6.1 2.3 8.5 0L76.5 53c1-1 1.6-2.6 1.5-4V28c0-3.3-2.7-6-6-6zM50.4 66L49 67.4c-.8.8-2 .8-2.8 0L32.6 53.8c-.8-.8-.8-2 0-2.8l1.4-1.4c.8-.8 2-.8 2.8 0l13.6 13.6c.8.8.8 2 0 2.8zm8-8L57 59.4c-.8.8-2 .8-2.8 0L40.6 45.8c-.8-.8-.8-2 0-2.8l1.4-1.4c.8-.8 2-.8 2.8 0l13.6 13.6c.8.8.8 2 0 2.8zM64 41c-2.8 0-5-2.2-5-5s2.2-5 5-5 5 2.2 5 5-2.2 5-5 5z\"}},\nradio_button:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M33.5 53.1c-7.4 0-13.4 6-13.4 13.4s6 13.4 13.4 13.4 13.4-6 13.4-13.4-6-13.4-13.4-13.4zm0 20.9c-4.1 0-7.5-3.4-7.5-7.5s3.4-7.5 7.5-7.5 7.5 3.4 7.5 7.5c0 4.2-3.4 7.5-7.5 7.5zM66.5 53.1c-7.4 0-13.4 6-13.4 13.4s6 13.4 13.4 13.4 13.4-6 13.4-13.4-6-13.4-13.4-13.4zM33.5 20c-7.4 0-13.4 6-13.4 13.4s6 13.4 13.4 13.4 13.4-6 13.4-13.4S40.9 20 33.5 20zm0 20.9c-4.1 0-7.5-3.4-7.5-7.5s3.4-7.5 7.5-7.5 7.5 3.4 7.5 7.5-3.4 7.5-7.5 7.5zM66.5 20c-7.4 0-13.4 6-13.4 13.4s6 13.4 13.4 13.4 13.4-6 13.4-13.4S73.9 20 66.5 20z\"}},\nread_receipts:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M48.9 43.4c.7.6 1.5.6 2.2 0l23-21.3c.4-.8.3-2.1-1.3-2.1l-45.6.1c-1.2 0-2.2 1.1-1.3 2.1l23 21.2z\"},{\"d\":\"M74.3 31.2c0-1.1-1.3-1.6-2-.9L54.4 46.9c-1.2 1.1-2.8 1.7-4.4 1.7-1.6 0-3.2-.6-4.4-1.7l-18-16.6c-.8-.7-2-.2-2 .9v21.2c0 2.7 2.2 4.9 4.9 4.9h23.9v-6.1c.2-3.3 2.8-6 6.2-6.2h.7c3.3.2 6 2.8 6.2 6.2v6.1h2.2c2.7 0 4.9-2.2 4.9-4.9-.3 0-.3-14.7-.3-21.2z\"}]},\"path\":{\"d\":\"M71.1 63.7l-6.7-2.3c-.5-.2-.9-.7-.9-1.2v-8.9c0-1.4-1.1-2.4-2.5-2.4h-.2c-1.4 0-2.5 1.1-2.5 2.4v17.5c0 1.5-1.9 2.1-2.7.8L53.9 66c-.9-1.5-2.9-2-4.4-.9l-1.1.9L54 79.3c.2.6.8.9 1.5.9h14.7c.7 0 1.3-.5 1.5-1.1l2.6-9.3c.6-2.7-.8-5.2-3.2-6.1z\"}},\nrecent:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M28.1 48c-.1.7-.1 1.3-.1 2h-6c0-.7 0-1.3.1-2h6zM51.5 36h-3c-.8 0-1.5.7-1.5 1.5v13.1c0 .4.2.8.4 1.1l8.4 8.4c.6.6 1.5.6 2.1 0L60 58c.6-.6.6-1.5 0-2.1l-7-7.1V37.5c0-.8-.7-1.5-1.5-1.5z\"},{\"d\":\"M50 22c-14.8 0-26.9 11.5-27.9 26 0 .3-.1.7-.1 1h-4.5c-1.3 0-2 1.5-1.2 2.4l7.5 9.1c.6.7 1.7.7 2.3 0l7.5-9.1c.8-1 .1-2.4-1.2-2.4H28v-1c1-11.2 10.5-20 21.9-20 13 0 23.3 11.3 21.9 24.5-1 9.5-10 18.5-19.6 19.4-7.1.7-13.8-1.9-18.5-7-.6-.7-1.4-1.1-2.2-.1l-2.4 2.9c-.5.6-.1 1 .4 1.5 5.4 5.7 12.8 8.9 20.8 8.8 14.4-.2 26.5-11.6 27.5-26C79.1 35.7 66.1 22 50 22z\"}]},\nrecipe:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M56.5 22.8a2.8 2.8 0 11-2.8-2.8 2.8 2.8 0 012.8 2.8zM46.24 33.2a3.75 3.75 0 10-3.75-3.75 3.75 3.75 0 003.75 3.75zM70.54 72L58 52.75V42.5a2.69 2.69 0 003-2.35 2.26 2.26 0 000-.45 2.49 2.49 0 00-2.25-2.7H41.5a2.5 2.5 0 00-2.5 2.48v.32a2.7 2.7 0 002.56 2.82 3.24 3.24 0 00.44 0V53L29.5 72a5.32 5.32 0 00-.3 5.3 4.88 4.88 0 004.4 2.7h32.7a4.88 4.88 0 004.4-2.7 5 5 0 00-.2-5.3zM47 54.45V43h6v11.6l5.9 9.4H41.1z\",\"fill-rule\":\"evenodd\"}},\nrecord:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M39 32h22c1.1 0 2-.9 2-2v-4c0-3.3-2.7-6-6-6H43c-3.3 0-6 2.7-6 6v4c0 1.1.9 2 2 2z\"},{\"d\":\"M72 25h-2c-.6 0-1 .4-1 1v4c0 4.4-3.6 8-8 8H39c-4.4 0-8-3.6-8-8v-4c0-.6-.4-1-1-1h-2c-3.3 0-6 2.7-6 6v43c0 3.3 2.7 6 6 6h44c3.3 0 6-2.7 6-6V31c0-3.3-2.7-6-6-6zM39 68c0 1.1-.9 2-2 2h-2c-1.1 0-2-.9-2-2v-2c0-1.1.9-2 2-2h2c1.1 0 2 .9 2 2v2zm0-10c0 1.1-.9 2-2 2h-2c-1.1 0-2-.9-2-2v-2c0-1.1.9-2 2-2h2c1.1 0 2 .9 2 2v2zm0-10c0 1.1-.9 2-2 2h-2c-1.1 0-2-.9-2-2v-2c0-1.1.9-2 2-2h2c1.1 0 2 .9 2 2v2zm28 20c0 1.1-.9 2-2 2H45c-1.1 0-2-.9-2-2v-2c0-1.1.9-2 2-2h20c1.1 0 2 .9 2 2v2zm0-10c0 1.1-.9 2-2 2H45c-1.1 0-2-.9-2-2v-2c0-1.1.9-2 2-2h20c1.1 0 2 .9 2 2v2zm0-10c0 1.1-.9 2-2 2H45c-1.1 0-2-.9-2-2v-2c0-1.1.9-2 2-2h20c1.1 0 2 .9 2 2v2z\"}]},\nrecord_create:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M68.4 27.1c.1 0 .1 0 0 0\"},\"g\":{\"path\":[{\"d\":\"M39 32h22c1.1 0 2-.9 2-2v-4c0-3.3-2.7-6-6-6H43c-3.3 0-6 2.7-6 6v4c0 1.1.9 2 2 2z\"},{\"d\":\"M72 25h-2c-.6 0-1 .4-1 1v4c0 4.4-3.6 8-8 8H39c-4.4 0-8-3.6-8-8v-4c0-.6-.4-1-1-1h-2c-3.3 0-6 2.7-6 6v43c0 3.3 2.7 6 6 6h44c3.3 0 6-2.7 6-6V31c0-3.3-2.7-6-6-6zm-7.3 35.2c0 .5-.5 1-1 1h-11c-.4 0-.7.3-.7.7v11c0 .5-.5 1-1 1h-2c-.5 0-1-.5-1-1v-11c0-.4-.3-.7-.7-.7h-11c-.5 0-1-.5-1-1v-2c0-.5.5-1 1-1h11c.4 0 .7-.3.7-.7v-11c0-.5.5-1 1-1h2c.5 0 1 .5 1 1v11c0 .4.3.7.7.7h11c.5 0 1 .5 1 1v2z\"}]}},\nrecord_delete:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M39 32h22c1.1 0 2-.9 2-2v-4c0-3.3-2.7-6-6-6H43c-3.3 0-6 2.7-6 6v4c0 1.1.9 2 2 2z\"},{\"d\":\"M72 25h-2c-.6 0-1 .4-1 1v4c0 4.4-3.6 8-8 8H39c-4.4 0-8-3.6-8-8v-4c0-.6-.4-1-1-1h-2c-3.3 0-6 2.7-6 6v43c0 3.3 2.7 6 6 6h44c3.3 0 6-2.7 6-6V31c0-3.3-2.7-6-6-6zM60.4 70.6c0 1.7-1.3 3.1-3.1 3.1H42.7c-1.7 0-3.1-1.3-3.1-3.1v-13c0-.5.4-.9.9-.9h19c.5 0 .9.4.9.9v13zm2.4-18.7c0 .5-.4.9-.9.9H38.1c-.5 0-.9-.4-.9-.9v-1.8c0-.5.4-.9.9-.9h7.6v-2.4c0-1.3 1.1-2.4 2.4-2.4h3.7c1.3 0 2.4 1.1 2.4 2.4v2.4h7.6c.5 0 .9.4.9.9v1.8z\"},{\"d\":\"M47.6 61h-1.2c-.4 0-.6.2-.6.6v7.1c0 .4.2.6.6.6h1.2c.4 0 .6-.2.6-.6v-7.1c0-.4-.3-.6-.6-.6zM53.7 61h-1.2c-.4 0-.6.2-.6.6v7.1c0 .4.2.6.6.6h1.2c.4 0 .6-.2.6-.6v-7.1c0-.4-.3-.6-.6-.6zM51.2 46.7h-2.4c-.4 0-.6.2-.6.6v1.8h3.7v-1.8c-.1-.4-.3-.6-.7-.6z\"}]}},\nrecord_lookup:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M39 32h22c1.1 0 2-.9 2-2v-4c0-3.3-2.7-6-6-6H43c-3.3 0-6 2.7-6 6v4c0 1.1.9 2 2 2z\"},{\"d\":\"M72 25h-2c-.6 0-1 .4-1 1v4c0 4.4-3.6 8-8 8H39c-4.4 0-8-3.6-8-8v-4c0-.6-.4-1-1-1h-2c-3.3 0-6 2.7-6 6v43c0 3.3 2.7 6 6 6h44c3.3 0 6-2.7 6-6V31c0-3.3-2.7-6-6-6zm-7.7 47.6L63 73.9c-.3.3-.9.3-1.3 0l-8.1-8.1c-2.3 1.6-5.2 2.5-8.4 2.1-5.2-.7-9.4-5.1-9.9-10.3-.7-7.2 5.4-13.4 12.6-12.6 5.3.5 9.6 4.6 10.3 9.9.4 3.1-.4 6.1-2.1 8.4l8.1 8.1c.5.2.5.8.1 1.2z\"},{\"d\":\"M46.9 48.5c-4.4 0-7.9 3.6-7.9 7.9 0 4.4 3.5 7.9 7.9 7.9s7.9-3.5 7.9-7.9-3.5-7.9-7.9-7.9z\"}]}},\nrecord_signature_task:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M77.27 29.57a1.49 1.49 0 00-1-.45 1.33 1.33 0 00-1 .45L74 30.77a.43.43 0 000 .55l3.13 3.13a.52.52 0 00.29.09.35.35 0 00.25-.09l1.21-1.21a1.42 1.42 0 00-.06-2.11zM73.05 32.34a.52.52 0 00-.29-.09.35.35 0 00-.25.09L60 44.78l-1.2 4.15a.57.57 0 00.52.75h.14l4.16-1.21L76.12 36a.38.38 0 000-.49z\"},{\"d\":\"M78.24 38.14l-5.58 5.56v19.18a2 2 0 01-2 2h-42a2 2 0 01-2-2v-23a2 2 0 012-2h34l6-6h-42a6 6 0 00-6 6v27a6 6 0 006 6h46a6 6 0 006-6v-27-.24a2.8 2.8 0 01-.42.5z\"},{\"d\":\"M54.82 50.45c-.94.55-1.82 1.15-2.77 1.65a3.81 3.81 0 01-.87.33.6.6 0 000-.12A4.07 4.07 0 0046.34 49a58.78 58.78 0 00-6.68 2.11 57.84 57.84 0 01-6.95 1.73 1.89 1.89 0 00-1.31 2.31 1.91 1.91 0 002.3 1.31 58.81 58.81 0 006.95-1.73c1.14-.36 2.28-.74 3.41-1.11l2-.65a5 5 0 011.17-.34c.11 0 .13.22.2.37.2.46.33.94.58 1.39a3.25 3.25 0 002.74 1.84c2.24.12 4.12-1.5 6-2.52 2.07-1.19.18-4.43-1.93-3.26z\"}]}},\nrecord_update:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M68.4 27.1c.1 0 .1 0 0 0\"},\"g\":{\"path\":[{\"d\":\"M39 32h22c1.1 0 2-.9 2-2v-4c0-3.3-2.7-6-6-6H43c-3.3 0-6 2.7-6 6v4c0 1.1.9 2 2 2z\"},{\"d\":\"M72 25h-2c-.6 0-1 .4-1 1v4c0 4.4-3.6 8-8 8H39c-4.4 0-8-3.6-8-8v-4c0-.6-.4-1-1-1h-2c-3.3 0-6 2.7-6 6v43c0 3.3 2.7 6 6 6h44c3.3 0 6-2.7 6-6V31c0-3.3-2.7-6-6-6zM60 55.5l-16 16h.1l-7 2c-.7.2-1.3-.5-1.1-1.2l2-6.9 16-16c.2-.2.6-.2.9 0l5.1 5.3c.2.2.2.6 0 .8zm4.6-4.6l-2 2c-.2.2-.6.2-.9 0l-5.2-5.2c-.2-.2-.2-.6 0-.9l2-2c.9-1 2.4-1 3.4 0l2.6 2.6c1.1 1 1.1 2.5.1 3.5z\"}]}},\nrecycle_bin:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M74.4 30H58.8v-5c0-2.7-2.2-5-5-5h-7.5c-2.7 0-5 2.2-5 5v5H25.6c-1 0-1.9.9-1.9 1.9v3.7c0 1 .9 1.9 1.9 1.9h48.7c1 0 1.9-.9 1.9-1.9v-3.7c0-1-.8-1.9-1.8-1.9zm-20.8 0h-7.4v-3.7c0-.7.5-1.2 1.2-1.2h5c.7 0 1.2.5 1.2 1.2V30zM69.4 42.5H30.6c-1 0-1.9.9-1.9 1.9v29.4c0 3.5 2.7 6.2 6.2 6.2h30c3.5 0 6.2-2.7 6.2-6.2V44.4c.1-1-.7-1.9-1.7-1.9zM46.6 73.6l-6.3.1c-.2 0-2.6 0-4.2-2.5-1.7-2.7-.4-5 1.5-8.3l-1.8-1.2c-.2-.1-.3-.3-.2-.5 0-.2.1-.3.4-.4l4.9-1.2.4-.1c.2 0 .4 0 .6.4l.1.4 1.1 5c0 .2 0 .4-.2.5-.2.1-.4.1-.6 0l-1.6-1c-1.7 2.9-2 3.8-1.5 4.5.5.8 1.2.9 1.2.9l6.2-.1c.6 0 1.2.3 1.5.8.2.3.3.6.3.9 0 1-.8 1.8-1.8 1.8zm4.5-18.2c0-.2.1-.4.3-.5l1.7-.8c-1.5-3-2.1-3.7-3-3.7-1 0-1.3.5-1.4.6l-3.3 5.3c-.3.5-.9.8-1.5.8-.3 0-.6-.1-.9-.3-.8-.5-1.1-1.6-.5-2.4l3.3-5.3c.1-.2 1.4-2.2 4.3-2.2 3.2 0 4.4 2.4 6.2 5.8l2-.9c.2-.1.4 0 .5.1s.2.3.1.5l-1.7 5.1c0 .1-.1.2-.3.3-.2.1-.4 0-.4 0l-5.1-1.9c-.2-.1-.3-.3-.3-.5zm13.1 15.3c-1.5 2.8-4.2 2.8-8 2.7l-.1 2.2c0 .2-.1.4-.3.4-.1 0-.3.1-.5-.1L51.6 72c-.3-.3 0-.6 0-.6l.2-.2 4-3.5c.2-.1.3-.2.5-.1s.3.3.3.5l-.1 1.9c3.3 0 4.3-.1 4.7-.9s.2-1.4.1-1.5l-3.1-5.4c-.3-.5-.3-1.2 0-1.7.2-.3.4-.5.7-.7.8-.5 1.9-.2 2.4.7l3.1 5.4c.1.2 1.2 2.2-.2 4.8z\"}}},\nrelated_list:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M74 20H42c-3.3 0-6 2.7-6 6v1c0 .5.4 1 1 1h29c3.3 0 6 2.7 6 6v31c0 .5.4 1 1 1 3.8 0 7-3.1 7-7V26c0-3.3-2.7-6-6-6z\"},{\"d\":\"M28 34c-3.3 0-6 2.7-6 6v34c0 3.3 2.7 6 6 6h32c3.3 0 6-2.7 6-6V40c0-3.3-2.7-6-6-6H28zm8 14c0 1.1-.9 2-2 2h-2c-1.1 0-2-.9-2-2v-2c0-1.1.9-2 2-2h2c1.1 0 2 .9 2 2v2zm22 0c0 1.1-.9 2-2 2H42c-1.1 0-2-.9-2-2v-2c0-1.1.9-2 2-2h14c1.1 0 2 .9 2 2v2zM36 58c0 1.1-.9 2-2 2h-2c-1.1 0-2-.9-2-2v-2c0-1.1.9-2 2-2h2c1.1 0 2 .9 2 2v2zm22 0c0 1.1-.9 2-2 2H42c-1.1 0-2-.9-2-2v-2c0-1.1.9-2 2-2h14c1.1 0 2 .9 2 2v2zM36 68c0 1.1-.9 2-2 2h-2c-1.1 0-2-.9-2-2v-2c0-1.1.9-2 2-2h2c1.1 0 2 .9 2 2v2zm22 0c0 1.1-.9 2-2 2H42c-1.1 0-2-.9-2-2v-2c0-1.1.9-2 2-2h14c1.1 0 2 .9 2 2v2z\"}]},\nrelationship:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M71.25 70.002h-3.751V62.5h3.751c.749 0 1.25-.501 1.25-1.25v-32.5c0-.75-.501-1.25-1.25-1.25h-32.5c-.75 0-1.25.5-1.25 1.25v3.75H30v-3.75A8.696 8.696 0 0138.75 20h32.5A8.696 8.696 0 0180 28.75v32.5c0 4.876-3.872 8.752-8.75 8.752z\"},{\"d\":\"M57.5 37.5H25c-2.749 0-5 2.249-5 5V75c0 2.75 2.251 5 5 5h32.5c2.75 0 5-2.25 5-5V42.5c0-2.75-2.248-5-5-5z\"}]}},\nreply_text:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M48.7 50.9a1 1 0 00-.5 1.7l5.5 5.6a1.45 1.45 0 010 2.1l-2.1 2.1a1.45 1.45 0 01-2.1 0L36 48.9a1.45 1.45 0 010-2.1l13.5-13.5a1.45 1.45 0 012.1 0l2.1 2.2a1.45 1.45 0 010 2.1l-5.6 5.6c-.6.6.5 1.7.5 1.7a27.16 27.16 0 0125.8 20.3 26 26 0 005.3-15.6c-.1-15.5-13.5-27.7-30.1-27.7s-30 12.3-30 27.4a27.56 27.56 0 003.6 13.3 2.58 2.58 0 01.3 2.1l-3.9 10.7a1.25 1.25 0 001.6 1.6L32 72.9a2.33 2.33 0 012.1.3 32.38 32.38 0 0015.7 4 31.63 31.63 0 0019.5-6.9 21.68 21.68 0 00-20.6-19.4z\"}},\nreport:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M39 32h22c1.1 0 2-.9 2-2v-4c0-3.3-2.7-6-6-6H43c-3.3 0-6 2.7-6 6v4c0 1.1.9 2 2 2z\"},{\"d\":\"M72 25h-2c-.6 0-1 .4-1 1v4c0 4.4-3.6 8-8 8H39c-4.4 0-8-3.6-8-8v-4c0-.6-.4-1-1-1h-2c-3.3 0-6 2.7-6 6v43c0 3.3 2.7 6 6 6h44c3.3 0 6-2.7 6-6V31c0-3.3-2.7-6-6-6zM43 66c0 1.1-.9 2-2 2h-2c-1.1 0-2-.9-2-2V56c0-1.1.9-2 2-2h2c1.1 0 2 .9 2 2v10zm10 0c0 1.1-.9 2-2 2h-2c-1.1 0-2-.9-2-2V47c0-1.1.9-2 2-2h2c1.1 0 2 .9 2 2v19zm10 0c0 1.1-.9 2-2 2h-2c-1.1 0-2-.9-2-2V51c0-1.1.9-2 2-2h2c1.1 0 2 .9 2 2v15z\"}]},\nresource_absence:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M49.91 20a25.4 25.4 0 1025.18 25.5c0-13.79-11.24-25.5-25.18-25.5zm16.61 38l-4.73 4.73-12.25-12.27L37.9 62.1l-4.74-4.74L44.8 45.73 33.1 34l4.73-4.73L49.53 41l12.31-12.32 4.74 4.74-12.31 12.31z\",\"fill-rule\":\"evenodd\"},{\"d\":\"M26 64.21h-1.27A4.75 4.75 0 0020 68.95v6.31A4.74 4.74 0 0024.73 80h50.54A4.75 4.75 0 0080 75.26v-6.31a4.74 4.74 0 00-4.73-4.74h-1.54a30.15 30.15 0 01-47.72 0z\",\"fill-rule\":\"evenodd\"}]},\nresource_capacity:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M49.91 20a25.4 25.4 0 1025.18 25.5c0-13.79-11.24-25.5-25.18-25.5zM67.6 46.43H49.29V27s6.87-.42 13.11 6.06 5.2 13.37 5.2 13.37z\",\"fill-rule\":\"evenodd\"},{\"d\":\"M26 64.21h-1.27A4.75 4.75 0 0020 68.95v6.31A4.74 4.74 0 0024.73 80h50.54A4.75 4.75 0 0080 75.26v-6.31a4.74 4.74 0 00-4.73-4.74h-1.54a30.15 30.15 0 01-47.72 0z\",\"fill-rule\":\"evenodd\"}]},\nresource_preference:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M49.91 20a25.4 25.4 0 1025.18 25.5c0-13.79-11.24-25.5-25.18-25.5zM39.24 55.91a2.82 2.82 0 01-3 2.55h-1.9a1.08 1.08 0 01-1.13-1V42.83a1.08 1.08 0 011.13-1h3.77a1.08 1.08 0 011.13 1zM66.39 53c0 5.55-5.2 6.06-10.86 6.06-5.35 0-7.09-1.72-12.22-1.91a1 1 0 01-1.06-1V43.47a1.08 1.08 0 011.13-1 6.71 6.71 0 006.41-6.7V32a1.08 1.08 0 011.13-1h1.89a2.82 2.82 0 013 2.55V40a2.82 2.82 0 003 2.55h4.52a2.82 2.82 0 013 2.55z\",\"fill-rule\":\"evenodd\"},{\"d\":\"M26 64.21h-1.27A4.75 4.75 0 0020 68.95v6.31A4.74 4.74 0 0024.73 80h50.54A4.75 4.75 0 0080 75.26v-6.31a4.74 4.74 0 00-4.73-4.74h-1.54a30.15 30.15 0 01-47.72 0z\",\"fill-rule\":\"evenodd\"}]},\nresource_skill:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M43.85 45.44a6 6 0 1012.07 0 6 6 0 10-12.07 0z\",\"fill-rule\":\"evenodd\"},{\"d\":\"M49.91 20a25.4 25.4 0 1025.18 25.5c0-13.79-11.24-25.5-25.18-25.5zm16.58 33.69l-1.16 1.93a2.66 2.66 0 01-2.13 1.16 2.82 2.82 0 01-.87-.19l-3.19-1.26A14 14 0 0154.49 58l-.58 3.58a2.48 2.48 0 01-2.42 2h-2.41a2.48 2.48 0 01-2.42-2L46.08 58a12 12 0 01-4.45-2.51l-3.38 1.26a2.82 2.82 0 01-.87.19 2.52 2.52 0 01-2.13-1.26l-1.16-2a2.41 2.41 0 01.58-3.09l2.8-2.32a12.69 12.69 0 01-.29-2.61 11.81 11.81 0 01.29-2.51l-2.8-2.32a2.39 2.39 0 01-.58-3.09l1.16-2a2.4 2.4 0 012.13-1.26 2.82 2.82 0 01.87.19l3.38 1.26a13.82 13.82 0 014.45-2.61l.58-3.38A2.31 2.31 0 0149.08 28h2.42a2.32 2.32 0 012.42 1.84l.58 3.48a13.55 13.55 0 014.45 2.51l3.38-1.26a2.82 2.82 0 01.87-.19 2.52 2.52 0 012.13 1.26l1.16 2a2.53 2.53 0 01-.58 3.09l-2.8 2.32a12 12 0 01.29 2.61 11.81 11.81 0 01-.29 2.51l2.8 2.32a2.52 2.52 0 01.58 3.2z\",\"fill-rule\":\"evenodd\"},{\"d\":\"M26 64.21h-1.27A4.75 4.75 0 0020 68.95v6.31A4.74 4.74 0 0024.73 80h50.54A4.75 4.75 0 0080 75.26v-6.31a4.74 4.74 0 00-4.73-4.74h-1.54a30.15 30.15 0 01-47.72 0z\",\"fill-rule\":\"evenodd\"}]},\nrestriction_policy:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M64 48a16 16 0 1016 16 16 16 0 00-16-16zm7 19H57a3 3 0 010-6h14a3 3 0 010 6zM36 20H26a6 6 0 00-6 6v9a6 6 0 006 6h10a6 6 0 006-6v-9a6 6 0 00-6-6zm-4.5 15h-1a4.5 4.5 0 010-9h1a4.5 4.5 0 010 9zM54 41h10a6 6 0 006-6v-9a6 6 0 00-6-6H54a6 6 0 00-6 6v9a6 6 0 006 6zm4.5-15h1a4.5 4.5 0 010 9h-1a4.5 4.5 0 010-9zM36 47H26a6 6 0 00-6 6v9a6 6 0 006 6h10a6 6 0 006-6v-9a6 6 0 00-6-6zm-4.5 15h-1a4.5 4.5 0 010-9h1a4.5 4.5 0 010 9z\",\"fill-rule\":\"evenodd\"}},\nreturn_order:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M22 22.3h36.9c1.2 0 2.3 1 2.3 2.2v4.7c0 1.2-1 2.3-2.2 2.3H22c-1.2 0-2.3-1-2.3-2.2v-4.7c-.1-1.2.9-2.3 2.3-2.3-.1 0-.1 0 0 0zm50.8 0h4.6c1.2 0 2.3 1 2.3 2.2v4.7c0 1.2-1 2.3-2.2 2.3h-4.7c-1.2 0-2.3-1-2.3-2.2v-4.7c-.1-1.2.9-2.2 2.1-2.3h.2zM45.6 42.8c1.2 0 2.3 1 2.3 2.2v4.7c0 1.2-1 2.3-2.2 2.3H22c-1.2 0-2.3-1-2.3-2.2v-4.7c0-1.2 1-2.3 2.2-2.3h23.7zm-8.8 20.5c1.2 0 2.3 1 2.3 2.2v4.7c0 1.2-1 2.3-2.2 2.3H22c-1.2 0-2.3-1-2.3-2.2v-4.7c0-1.2 1-2.3 2.2-2.3h14.9zm41.8-21.1c1.2 10.7-7.2 21.8-17.2 23.7l-2.7.6c-.5.1-.9.6-.8 1.2 0 .3.2.5.4.6l6.7 4.5c.7.5.8 1.4.3 2v.1l-1.7 2.5c-.4.7-1.4.9-2 .4h-.1L45.4 66.9c-.7-.4-.9-1.4-.4-2v-.1l11-16.2c.4-.7 1.4-.9 2-.4h.1l2.5 1.7c.7.4.9 1.4.4 2v.1l-4.4 6.7c-.3.4-.3 1.1.2 1.4.2.2.5.3.8.2l1.6-.3c7.8-1.5 14.4-10.3 13.7-17.9 0-.7 1.1-1.7 1.9-1.9h1.9c.9-.1 1.9 1.1 1.9 2z\"}},\nreturn_order_line_item:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M22.2 23.1h37c1.2 0 2.3 1 2.3 2.2V30c0 1.2-1 2.3-2.2 2.3h-37c-1.2 0-2.3-1-2.3-2.2v-4.7c-.1-1.2.9-2.3 2.2-2.3zm50.9 0h4.6c1.2 0 2.3 1 2.3 2.2V30c0 1.2-1 2.3-2.2 2.3h-4.7c-1.2 0-2.3-1-2.3-2.2v-4.7c-.1-1.2.8-2.2 2-2.3h.3zM75.6 52C68.8 63.7 52.7 69 42 63.8l-2.9-1.3c-1-.5-2 .6-1.7 1.6l2.8 9.4c.3 1-.3 2-1.2 2.4l-3.4 1.3c-.8.4-1.7 0-2.1-.8 0-.1-.1-.2-.1-.3l-6.8-22.7c-.3-1 .2-2.1 1.2-2.4l22-8.6c.8-.4 1.7 0 2.1.8 0 .1.1.2.1.3l1.1 3.5c.3 1-.2 2.1-1.2 2.4l-9 3.6c-.7.2-1 .9-.8 1.6.1.3.3.6.6.7l1.7.8c8.3 4.1 21-.1 26-8.4.5-.8 2.3-1 3.2-.6l1.7 1.6c.9.4.8 2.4.3 3.3z\"}},\nreward:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M46.7 63.4L35 80l-3-8h-8l10.2-13.9c2 1.2 4.1 1.4 5.6 1.7.5.1 1.1.2 1.4.2.2.1.7.5 1 .8 1.2.8 2.7 2 4.5 2.6zm19.1-5.3c-2 1.2-4.1 1.4-5.6 1.7-.5.1-1.2.2-1.5.2-.2.1-.7.5-1 .8-1.1.8-2.5 2-4.4 2.6L65 80l3-8h8L65.8 58.1zM50 32c-3.9 0-7 3.1-7 7s3.1 7 7 7 7-3.1 7-7-3.1-7-7-7zm19 7c0 2.4-2.6 4.3-3.5 6.4-.9 2.2-.4 5.4-2.1 7-1.6 1.6-4.8 1.2-7 2.1-2.1.9-4 3.5-6.4 3.5s-4.3-2.6-6.4-3.5c-2.2-.9-5.4-.4-7-2.1-1.6-1.6-1.2-4.8-2.1-7-.9-2.1-3.5-4-3.5-6.4 0-2.4 2.6-4.3 3.5-6.4.9-2.2.4-5.4 2.1-7 1.6-1.6 4.8-1.2 7-2.1 2.1-.9 4-3.5 6.4-3.5s4.3 2.6 6.4 3.5c2.2.9 5.4.4 7 2.1 1.6 1.6 1.2 4.8 2.1 7 .9 2.1 3.5 4 3.5 6.4zm-6 0c0-7.2-5.8-13-13-13s-13 5.8-13 13 5.8 13 13 13 13-5.8 13-13z\"}},\nrtc_presence:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M61.55 19.75c-11.12 0-20.22 8.64-20.22 19.3a18.75 18.75 0 002.57 9.47 1.58 1.58 0 01.18 1.1l-1.93 6.16a1.37 1.37 0 001.75 1.75l5.88-2.11a1.5 1.5 0 011.1.09 20.77 20.77 0 0010.66 2.85c11.12 0 20.22-8.64 20.22-19.3s-9.09-19.31-20.21-19.31zM45.8 76.21v1.29a2.77 2.77 0 01-2.8 2.75H21a2.77 2.77 0 01-2.76-2.76v-1.28c0-3.35 3.91-5.38 7.58-7a1.38 1.38 0 00.37-.18.85.85 0 01.87 0 9 9 0 005 1.52 9.36 9.36 0 005-1.47.85.85 0 01.87 0 1.38 1.38 0 01.37.18c3.59 1.57 7.5 3.59 7.5 6.95z\"},\"ellipse\":{\"cx\":\"32.01\",\"cy\":\"60.26\",\"rx\":\"6.85\",\"ry\":\"7.58\"}},\nsales_cadence:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M41.7 66.7c.7.7 1.9.7 2.6 0l15.3-15.2c.8-.7.8-1.9.2-2.6l-.2-.2-15.3-15.3c-.7-.8-1.9-.8-2.6-.2l-.2.2-2.8 2.8c-.8.7-.8 1.9-.2 2.6l.2.2 4.8 4.8c.5.5.5 1.4 0 1.9-.2.2-.6.4-.9.4H22.1c-1.1 0-2.1.9-2.1 2v4c.1 1.1 1 1.9 2.1 2h20.7c.7 0 1.3.6 1.3 1.3 0 .3-.1.7-.4.9l-4.8 4.8c-.8.7-.8 1.9-.2 2.6l.2.2 2.8 2.8z\"},{\"d\":\"M63.5 56.3l-4.8 4.8c-.8.7-.8 1.9-.2 2.6l.2.2 2.8 2.8c.7.7 1.9.7 2.6 0l15.3-15.2c.8-.7.8-1.9.2-2.6l-.2-.2-15.3-15.3c-.7-.8-1.9-.8-2.6-.2l-.2.2-2.8 2.8c-.8.7-.8 1.9-.2 2.6l.2.2 4.8 4.8 6.4 6.3-6.2 6.2z\"}]}},\nsales_cadence_target:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M55 25c-5.3 0-10.3 1.7-14.3 4.6l3.6 3.6c3.1-2 6.8-3.1 10.7-3.1 11 0 20 9 20 20s-9 20-20 20c-3.9 0-7.6-1.1-10.7-3.1l-3.8 3.5C44.7 73.3 49.6 75 55 75c13.8 0 25-11.2 25-25S68.8 25 55 25z\"},{\"d\":\"M55 55c2.8 0 5-2.2 5-5s-2.2-5-5-5c-1.6 0-3 .8-3.9 2L40.2 36.2c-.6-.7-1.6-.7-2.2-.2l-.2.2-2.3 2.3c-.7.6-.7 1.6-.2 2.2l.2.2 4 4c.4.4.4 1.2 0 1.6-.2.2-.5.3-.8.3H21.8c-.9 0-1.8.8-1.8 1.7v3.3c.1.9.8 1.6 1.8 1.7H39c.6 0 1.1.5 1.1 1.1 0 .2-.1.6-.3.8l-4 4c-.7.6-.7 1.6-.2 2.2l.2.2 2.3 2.3c.6.6 1.6.6 2.2 0l10.9-10.8c.8 1 2.2 1.7 3.8 1.7z\"},{\"d\":\"M55 60c-1.1 0-2.2-.2-3.2-.5L48 63.3c2.1 1.1 4.5 1.7 7 1.7 8.2 0 15-6.8 15-15s-6.8-15-15-15c-2.5 0-4.9.6-7 1.8l3.7 3.8c1-.4 2.1-.6 3.3-.6 5.5 0 10 4.5 10 10s-4.5 10-10 10z\"}]}},\nsales_channel:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M74.8 45c-.7-3.4-2.1-6.5-3.9-9.2 1.8-2 1.8-5-.1-6.9-1-1-2.3-1.5-3.5-1.5s-2.5.5-3.4 1.4c-2.7-1.7-5.6-3-8.9-3.7 0-2.8-2.2-5-5-5s-5 2.2-5 5c-3.3.7-6.4 2-9.1 3.8-1-1-2.3-1.5-3.5-1.5-1.3 0-2.6.5-3.5 1.5-2 2-2 5.1 0 7.1-1.9 2.6-3.1 5.7-3.9 9-2.7 0-4.9 2.3-4.9 5s2.2 5 4.9 5c.6 3.2 1.9 6.3 3.7 8.9-.1 0-.1.1-.2.1-2 2-2 5.1 0 7.1 1 1 2.3 1.5 3.5 1.5 1.3 0 2.6-.5 3.5-1.5l.1-.1c2.8 1.9 5.9 3.2 9.3 3.9 0 2.8 2.2 5 5 5s5-2.2 5-5c3.3-.7 6.3-2 9-3.7 1 1 2.3 1.5 3.5 1.5 1.3 0 2.6-.5 3.5-1.5 2-2 2-5.1 0-7.1 1.8-2.7 3.1-5.8 3.8-9.1h.1c2.8 0 5-2.2 5-5s-2.3-5-5-5zm-9-14c.1-.1.3-.2.5-.3.3-.2.6-.2.9-.2.5 0 1 .2 1.4.6.6.6.7 1.6.3 2.3-.1.2-.2.3-.3.5-.4.4-.9.6-1.4.6s-1-.2-1.4-.6c-.9-.9-.9-2.1 0-2.9zm-18-6.3c.2-.9 1-1.6 2-1.6s1.8.7 2 1.6v.4c0 1.1-.9 2-2 2s-2-.9-2-2v-.4zm-17 6.3c.4-.4.9-.6 1.4-.6.4 0 .8.1 1.1.3l.3.3c.8.8.8 2 0 2.8-.4.4-.9.6-1.4.6s-1-.2-1.4-.6l-.3-.3c-.5-.8-.5-1.8.3-2.5zM25 52c-.2 0-.3 0-.5-.1-.9-.2-1.5-1-1.5-1.9s.7-1.7 1.5-1.9c.2 0 .3-.1.5-.1 1.1 0 2 .9 2 2s-1 2-2 2zm8.3 16.9l-.2.2c-.3.3-.8.4-1.2.4-.5 0-1-.2-1.4-.6-.4-.4-.6-.9-.6-1.4s.2-.9.4-1.2c0-.1.1-.1.1-.2.4-.4.9-.6 1.4-.6.5 0 1 .2 1.4.6.9.8.9 2 .1 2.8zm18.5 6.4c-.2.9-1 1.6-2 1.6s-1.8-.7-2-1.6v-.4c0-1.1.9-2 2-2s2 .9 2 2v.4zm20-21.3c-.6 3.2-1.8 6.1-3.6 8.7-.3 0-.5-.1-.8-.1-1.3 0-2.6.5-3.5 1.5-1.2 1.2-1.6 2.8-1.4 4.4-2.5 1.7-5.4 3-8.6 3.6-.9-1.3-2.4-2.1-4.1-2.1s-3.2.8-4.1 2.1c-3.3-.6-6.3-1.9-8.9-3.8.2-1.5-.3-3-1.4-4.2-1-1-2.3-1.5-3.5-1.5-.2 0-.4 0-.6.1-1.7-2.5-3-5.4-3.6-8.6 1.3-.9 2.2-2.4 2.2-4.1 0-1.7-.9-3.2-2.2-4.1.6-3.1 1.8-6 3.6-8.6.3 0 .5.1.8.1 1.3 0 2.6-.5 3.5-1.5 1.2-1.2 1.6-2.8 1.4-4.4 2.6-1.8 5.5-3 8.7-3.6.9 1.3 2.4 2.1 4.1 2.1 1.7 0 3.1-.8 4.1-2.1 3 .6 5.9 1.7 8.3 3.4-.3 1.6.1 3.3 1.4 4.5 1 1 2.3 1.5 3.5 1.5.3 0 .7 0 1-.1 1.8 2.6 3 5.5 3.6 8.7-1.2.9-2.1 2.4-2.1 4s.9 3.1 2.2 4.1zm3.2-2h-.3c-1.1 0-2-.9-2-2s.9-2 2-2h.3c.9.2 1.7 1 1.7 2s-.7 1.8-1.7 2z\"},{\"d\":\"M54.8 52.4c-2.1-.9-2.5-1.8-2.5-2.6 0-.9.6-1.8 1.3-2.4 1.2-1.2 1.9-2.8 1.9-4.6 0-3.5-2.1-6.5-5.9-6.5s-5.9 3-5.9 6.5c0 1.9.7 3.5 1.9 4.6.7.7 1.3 1.5 1.3 2.4s-.3 1.7-2.5 2.6c-3.1 1.3-6 2.8-6.1 5.6 0 1.9 1.4 3.4 3.2 3.4h16.3c1.8 0 3.2-1.5 3.2-3.4-.1-2.8-3.1-4.2-6.2-5.6z\"}]},\nsales_path:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M15.2 68.2L29.4 51c.4-.7.4-1.5 0-2.1l-14.2-17c-.1-.2-.2-.4-.2-.6 0-.6.5-1 1-1h20.7c.6 0 1.1.2 1.4.7L53 49c.4.6.4 1.4 0 2.1l-14.8 18c-.3.4-.9.7-1.4.7H16.1c-.6 0-1-.4-1-1-.1-.2 0-.5.1-.6z\"},{\"d\":\"M46.8 68.2L60.9 51c.4-.7.4-1.5 0-2.1l-14.2-17c-.1-.2-.2-.4-.2-.6 0-.6.5-1 1-1h20.7c.6 0 1.1.2 1.4.7l14.9 18c.4.6.4 1.4 0 2.1l-14.8 18c-.3.4-.9.7-1.4.7H47.6c-.6 0-1-.4-1-1 0-.2.1-.5.2-.6z\"}]},\nsales_value:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M79.5 73.9L62.9 57.4c3.4-4.7 5.1-10.7 4.2-17.1C65.6 29.6 56.9 21.1 46 20.1c-14.7-1.5-27.2 11-25.7 25.8 1 10.7 9.5 19.6 20.2 21.1 6.4.9 12.3-.9 17.1-4.2l16.6 16.6c.7.7 1.9.7 2.6 0l2.6-2.6c.8-.9.8-2.1.1-2.9zM54.3 55.7v-4.3c0-.8-.7-1.5-1.5-1.5s-1.5.7-1.5 1.5v6.3c-1.8 1-3.8 1.6-6 1.8v-6c0-.8-.7-1.5-1.5-1.5s-1.5.7-1.5 1.5v6c-2.2-.2-4.2-.8-6-1.8v-6.3c0-.8-.7-1.5-1.5-1.5s-1.5.7-1.5 1.5v4.2c-2.6-2.3-4.5-5.3-5.3-8.9l6.8-5.4 7.1 5.3c.6.5 1.5.4 2-.2l7.4-8.2v5.2c0 .8.7 1.5 1.5 1.5s1.5-.7 1.5-1.5v-9c0-.8-.7-1.5-1.5-1.5h-8c-.8 0-1.5.7-1.5 1.5S44 36 44.8 36h4.5l-6.7 7.5-6.9-5.2c-.5-.4-1.3-.4-1.8 0l-6.2 4.9c.1-8.7 7.3-15.8 16.1-15.8 8.9 0 16.1 7.2 16.1 16.1 0 4.9-2.2 9.3-5.6 12.2z\"}},\nsalesforce_cms:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M66.3 48.4c.3 0 .7-.1.9-.3.8-.5 1-1.6.5-2.4l-6.3-9.6c-.1-.2-.2-.3-.4-.4-.7-.6-1.8-.4-2.4.3l-6.8 8.8-8-11.9c-.1-.2-.3-.3-.5-.5-.8-.5-1.9-.3-2.4.5l-8.6 12.8c-.2.3-.3.6-.3 1 0 .9.8 1.7 1.7 1.7h32.6z\"},{\"fill\":\"none\",\"d\":\"M33.2 54h33.9c.9 0 1.7.8 1.7 1.7s-.8 1.7-1.7 1.7H33.2c-.9 0-1.7-.8-1.7-1.7s.8-1.7 1.7-1.7z\"},{\"d\":\"M33.2 54h33.9c.9 0 1.7.8 1.7 1.7 0 .9-.8 1.7-1.7 1.7H33.2c-.9 0-1.7-.8-1.7-1.7 0-1 .8-1.7 1.7-1.7z\"},{\"fill\":\"none\",\"d\":\"M36.7 62.5h27c.9 0 1.7.8 1.7 1.7 0 .9-.8 1.7-1.7 1.7h-27c-.9 0-1.7-.8-1.7-1.7 0-.9.7-1.7 1.7-1.7z\"},{\"d\":\"M36.7 62.5h27c.9 0 1.7.8 1.7 1.7 0 .9-.8 1.7-1.7 1.7h-27c-.9 0-1.7-.8-1.7-1.7 0-.9.7-1.7 1.7-1.7z\"},{\"d\":\"M75.2 33.9c.8-1.1 1.3-2.4 1.3-3.9 0-3.6-2.9-6.4-6.4-6.4-1.5 0-2.8.5-3.9 1.3-4.7-3-10.2-4.8-16.2-4.8-16.6 0-30 13.4-30 30 0 7.5 2.7 14.3 7.2 19.5-.3.6-.4 1.3-.4 2 0 2.6 2.1 4.7 4.7 4.7 1 0 1.8-.3 2.6-.8 4.6 2.9 10.1 4.6 15.9 4.6 16.6 0 30-13.4 30-30 0-6-1.8-11.5-4.8-16.2zm-5.1-7c1.7 0 3.1 1.4 3.1 3.1s-1.4 3-3.1 3c-1.7 0-3.1-1.3-3.1-3s1.4-3.1 3.1-3.1zM50 76.7c-5.1 0-9.9-1.4-13.9-4 .1-.4.2-.8.2-1.2 0-2.6-2.1-4.7-4.7-4.7-.7 0-1.3.1-1.8.4-3.9-4.6-6.3-10.6-6.3-17.1 0-14.7 11.9-26.6 26.6-26.6 5.2 0 10.1 1.5 14.2 4.1-.3.7-.5 1.5-.5 2.4 0 3.6 2.9 6.4 6.4 6.4.8 0 1.6-.2 2.4-.5 2.6 4.1 4.1 9 4.1 14.2-.1 14.7-12.1 26.6-26.7 26.6z\"}]},\nscan_card:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M74 30H26c-3.3 0-6 2.7-6 6v28c0 3.3 2.7 6 6 6h48c3.3 0 6-2.7 6-6V36c0-3.3-2.7-6-6-6zM25 53c-1.7 0-3-1.3-3-3s1.3-3 3-3 3 1.3 3 3-1.3 3-3 3zm47 9c0 1.1-.9 2-2 2H32c-1.1 0-2-.9-2-2V38c0-1.1.9-2 2-2h38c1.1 0 2 .9 2 2v24z\"},{\"d\":\"M64 42H38c-1.1 0-2 .9-2 2v12c0 1.1.9 2 2 2h26c1.1 0 2-.9 2-2V44c0-1.1-.9-2-2-2z\"}]},\nschedule_objective:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M76 42H24a2 2 0 00-2 2v30a6 6 0 006 6h44a6 6 0 006-6V44a2 2 0 00-2-2zM50 76.1A15.1 15.1 0 1165.1 61 15.15 15.15 0 0150 76.1z\"},{\"d\":\"M50 50.9A10.1 10.1 0 1060.1 61 10.14 10.14 0 0050 50.9zM50 66a5.08 5.08 0 01-5-5 5 5 0 0110 0 5.08 5.08 0 01-5 5zM72 26h-5v-2a4 4 0 00-8 0v2H41v-2a4 4 0 00-8 0v2h-5a6 6 0 00-6 6v2a2 2 0 002 2h52a2 2 0 002-2v-2a6 6 0 00-6-6z\"}]},\nscheduling_constraint:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M76 42H24a2 2 0 00-2 2v30a6 6 0 006 6h44a6 6 0 006-6V44a2 2 0 00-2-2zm-26 4.1a14.88 14.88 0 018.24 2.5L37.6 69.24A14.78 14.78 0 0135.1 61 14.94 14.94 0 0150 46.1zm0 29.8a14.74 14.74 0 01-8.13-2.44l20.59-20.59A14.74 14.74 0 0164.9 61 14.94 14.94 0 0150 75.9zM72 26h-5v-2a4 4 0 00-8 0v2H41v-2a4 4 0 00-8 0v2h-5a6 6 0 00-6 6v2a2 2 0 002 2h52a2 2 0 002-2v-2a6 6 0 00-6-6z\"}},\nscheduling_policy:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M22 74a5.69 5.69 0 005.6 6s32.4.3 32.3 0l-.7-1.4a7.67 7.67 0 01-1.9-4.8 8.31 8.31 0 011.8-4.8 7.39 7.39 0 012.2-4.8 8.52 8.52 0 014.5-2h.1a7.67 7.67 0 014.8-1.9 8.31 8.31 0 014.8 1.8 11 11 0 012.5.6V44c0-1.8-2-2.1-2-2.1H24a2 2 0 00-2 2z\"},{\"d\":\"M68.1 83.1l-5.2 7.4-1.3-3.5h-3.5l4.5-6.1a10.19 10.19 0 002.5.8 1.49 1.49 0 00.6.1 2.19 2.19 0 00.5.3 6.49 6.49 0 001.9 1zm8.4-2.3a10.19 10.19 0 01-2.5.8 1.7 1.7 0 01-.7.1 2.19 2.19 0 01-.5.3 10.46 10.46 0 01-1.9 1.2l5.2 7.3 1.3-3.5h3.5zm-7-11.6a3.1 3.1 0 103.1 3.1 3.12 3.12 0 00-3.1-3.1zm8.5 3.1c0 1.1-1.2 1.9-1.5 2.8s-.2 2.4-.9 3.1-2.1.5-3.1.9-1.8 1.5-2.8 1.5-1.9-1.2-2.8-1.5-2.4-.2-3.1-.9-.5-2.1-.9-3.1-1.5-1.8-1.5-2.8 1.2-1.9 1.5-2.8.2-2.4.9-3.1 2.1-.5 3.1-.9 1.8-1.5 2.8-1.5 1.9 1.2 2.8 1.5 2.4.2 3.1.9.5 2.1.9 3.1 1.5 1.8 1.5 2.8zm-2.7 0a5.8 5.8 0 00-11.6 0 5.68 5.68 0 005.8 5.8 5.74 5.74 0 005.8-5.8zM72 26h-5v-2a4 4 0 00-8 0v2H41v-2a4 4 0 00-8 0v2h-5a6 6 0 00-6 6v2a2 2 0 002 2h52a2 2 0 002-2v-2a6 6 0 00-6-6zM48 70.2c0 1.4-.7 2.6-1.7 2.6H29c-.9 0-1.8-1.2-1.8-2.6v-2.6c0-1.4.8-2.6 1.8-2.6h17.2c.9 0 1.8 1.2 1.8 2.6zM56.9 54.4c0 1.4-.8 2.6-1.9 2.6H29.2c-1.1 0-2-1.2-2-2.6v-2.6c0-1.4.9-2.6 2-2.6H55c1.1 0 2 1.2 2 2.6v2.6z\"}]},\nscreen:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M80 25c0-2.8-2.2-5-5-5H25c-2.8 0-5 2.2-5 5v34.7c0 2.8 2.2 5 5 5h50c2.8 0 5-2.2 5-5V25zm-7.5 30.3c0 1-.9 1.9-1.9 1.9H29.4c-1 0-1.9-.9-1.9-1.9V29.4c0-1 .9-1.9 1.9-1.9h41.2c1 0 1.9.9 1.9 1.9v25.9zM41.2 72.5c-2.8 0-5 2.2-5 5v.6c0 1 .9 1.9 1.9 1.9h23.8c1 0 1.9-.9 1.9-1.9v-.6c0-2.8-2.2-5-5-5H41.2z\"},{\"d\":\"M40.2 50.9h-5.6c-.5 0-1-.5-1-1V34.7c0-.6.5-1 1-1h5.6c.5 0 1 .4 1 1v15.2c0 .5-.5 1-1 1zM65.4 50.9H48.3c-.5 0-1-.5-1-1V34.7c0-.5.5-1 1-1h17.1c.5 0 1 .5 1 1v15.2c0 .6-.5 1-1 1z\"}]},\nsearch:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M79.5 74.1L62.9 57.6c3.4-4.7 5.1-10.7 4.2-17.1C65.6 29.8 56.9 21.3 46 20.3c-14.7-1.5-27.2 11-25.7 25.8 1 10.7 9.5 19.6 20.2 21.1 6.4.9 12.3-.9 17.1-4.2l16.6 16.6c.7.7 1.9.7 2.6 0l2.6-2.6c.8-.9.8-2.1.1-2.9zM27.7 43.7c0-8.8 7.2-16.1 16.1-16.1s16.1 7.2 16.1 16.1-7.2 16.1-16.1 16.1-16.1-7.1-16.1-16.1z\"}},\nsection:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M31 34h38a1 1 0 001-1v-4a1 1 0 00-1-1H31a1 1 0 00-1 1v4a1 1 0 001 1m41 6H28a4 4 0 01-4-4V26a4 4 0 014-4h44a4 4 0 014 4v10a4 4 0 01-4 4M31 72h38a1 1 0 001-1v-4a1 1 0 00-1-1H31a1 1 0 00-1 1v4a1 1 0 001 1m41 6H28a4 4 0 01-4-4V64a4 4 0 014-4h44a4 4 0 014 4v10a4 4 0 01-4 4M77 54H67a3 3 0 01-3-3v-2a3 3 0 013-3h10a3 3 0 013 3v2a3 3 0 01-3 3M55 54H45a3 3 0 01-3-3v-2a3 3 0 013-3h10a3 3 0 013 3v2a3 3 0 01-3 3M33 54H23a3 3 0 01-3-3v-2a3 3 0 013-3h10a3 3 0 013 3v2a3 3 0 01-3 3\",\"fill-rule\":\"evenodd\"}},\nsegments:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M78.8 45.1l-1-2.8-22.7 8.1-.5 1.3a4.81 4.81 0 01-1.7 2.3 4.89 4.89 0 01-7.8-4 5.73 5.73 0 011.4-3.7l.6-.8V20.3l-3.6.8A29 29 0 0027.4 31a29.7 29.7 0 00-6.9 18.9 29.6 29.6 0 0059.2 0 17.72 17.72 0 00-.9-4.8zM66.7 66.8A23.37 23.37 0 0150 73.7a23.61 23.61 0 01-16.7-6.9A23.57 23.57 0 0131.9 35a24.13 24.13 0 019.3-6.8v15.5a11.51 11.51 0 00-2 6.4 10.74 10.74 0 003.2 7.7 11 11 0 007.7 3.2 10.67 10.67 0 006.4-2.1 10.23 10.23 0 003.2-3.7l14-5a23.83 23.83 0 01-7 16.6z\"},{\"d\":\"M55.6 43.9L75.1 37a1.05 1.05 0 00.5-1.7l-.2-.4a29.69 29.69 0 00-20.7-14 1.58 1.58 0 00-1.8 1.6v19.6a2 2 0 00.1.7 2 2 0 002.6 1.1z\"}]},\nselling_model:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M73.41 27.84h-2V25.2a3.29 3.29 0 00-3.26-3.32h-1.1a3.29 3.29 0 00-3.3 3.28v2.67h-9.9V25.2a3.31 3.31 0 00-3.29-3.32h-1.12a3.31 3.31 0 00-3.29 3.32v2.64H35.9V25.2a3.29 3.29 0 00-3.26-3.32H31.5a3.3 3.3 0 00-3.29 3.31v2.64h-1.62A6.61 6.61 0 0020 34.46v37a6.61 6.61 0 006.59 6.63h46.82a6.61 6.61 0 006.59-6.6v-37a6.61 6.61 0 00-6.58-6.64zm-33.55 38H34.3V43h5.56zm8 0h-3.81V43h3.86zm9.33 0h-5.52V43h5.57zm8.46 0h-3.83V43h3.88z\"}},\nserialized_product:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M74 42a2 2 0 012 1.85V72a6 6 0 01-5.78 6H30a6 6 0 01-6-5.78V44a2 2 0 011.85-2zM63.18 70.43H36.82a.94.94 0 00-.94.92v.91a.93.93 0 00.94.91h26.36a.93.93 0 00.94-.91v-.91a.94.94 0 00-.94-.92zm-24-18.7h-2.36a.93.93 0 00-.94.91v14.14a.93.93 0 00.94.92h2.36a.93.93 0 00.94-.92V52.64a.93.93 0 00-.94-.91zm24 0h-2.36a.93.93 0 00-.94.91v14.14a.93.93 0 00.94.92h2.36a.93.93 0 00.94-.92V52.64a.93.93 0 00-.94-.91zm-11.77 0h-2.82a.93.93 0 00-.94.91v14.14a.93.93 0 00.94.92h2.82a.93.93 0 00.94-.92V52.64a.93.93 0 00-.94-.91zm5.65 0h-.94a.93.93 0 00-.94.91v14.14a.93.93 0 00.94.92h.94a.93.93 0 00.94-.92V52.64a.93.93 0 00-.94-.91zm-12.24 0h-.94a.93.93 0 00-.94.91v14.14a.93.93 0 00.94.92h.94a.93.93 0 00.94-.92V52.64a.93.93 0 00-.94-.91zm18.36-5H36.82a.93.93 0 00-.94.91v.91a.93.93 0 00.94.91h26.36a.93.93 0 00.94-.91v-.91a.93.93 0 00-.94-.93zM74 22a6 6 0 016 6v6a2 2 0 01-2 2H22a2 2 0 01-2-2v-6a6 6 0 016-6z\"}},\nserialized_product_transaction:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M72.85 70.32a1.8 1.8 0 011.82 1.77v1.77a1.8 1.8 0 01-1.82 1.76h-51A1.8 1.8 0 0120 73.86v-1.77a1.8 1.8 0 011.82-1.77h51zM26.38 34.1a1.8 1.8 0 011.82 1.77v27.38A1.8 1.8 0 0126.38 65h-4.56A1.8 1.8 0 0120 63.25V35.87a1.8 1.8 0 011.82-1.77zm23.69 0a1.8 1.8 0 011.82 1.77v27.38A1.8 1.8 0 0150.07 65H44.6a1.8 1.8 0 01-1.82-1.77V35.87a1.8 1.8 0 011.82-1.77zm-12.76 0a1.8 1.8 0 011.82 1.77v27.38A1.8 1.8 0 0137.31 65h-1.82a1.8 1.8 0 01-1.82-1.77V35.87a1.8 1.8 0 011.82-1.77zm29.31.57a1.43 1.43 0 011.08.5l11.84 12.94a1.74 1.74 0 01.46 1.18 1.71 1.71 0 01-.46 1.18L67.75 63.3a1.39 1.39 0 01-2.15 0L63.44 61a1.74 1.74 0 010-2.36l3.69-4.05a1.2 1.2 0 00.22-1.22 1 1 0 00-.93-.7h-8.78A1.83 1.83 0 0156 50.92v-3.37a1.76 1.76 0 011.64-1.69h8.73a1 1 0 00.93-.7 1.18 1.18 0 00-.22-1.16l-3.69-4.1a1.76 1.76 0 010-2.37l2.16-2.36a1.43 1.43 0 011.07-.5zm6.23-10.29a1.8 1.8 0 011.82 1.77v1.76a1.8 1.8 0 01-1.82 1.77h-51A1.8 1.8 0 0120 27.91v-1.76a1.8 1.8 0 011.82-1.77h51z\"}},\nservice_appointment:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"rect\":[{\"x\":\"60.31\",\"y\":\"60.99\",\"width\":\"5.48\",\"height\":\"5.48\",\"rx\":\".91\",\"ry\":\".91\"},{\"x\":\"60.31\",\"y\":\"70.12\",\"width\":\"5.48\",\"height\":\"5.48\",\"rx\":\".91\",\"ry\":\".91\"},{\"x\":\"51.17\",\"y\":\"60.99\",\"width\":\"5.48\",\"height\":\"5.48\",\"rx\":\".91\",\"ry\":\".91\"},{\"x\":\"51.17\",\"y\":\"70.12\",\"width\":\"5.48\",\"height\":\"5.48\",\"rx\":\".91\",\"ry\":\".91\"},{\"x\":\"42.03\",\"y\":\"60.99\",\"width\":\"5.48\",\"height\":\"5.48\",\"rx\":\".91\",\"ry\":\".91\"},{\"x\":\"42.03\",\"y\":\"70.12\",\"width\":\"5.48\",\"height\":\"5.48\",\"rx\":\".91\",\"ry\":\".91\"}],\"path\":{\"d\":\"M71.83 20H28.3a8.11 8.11 0 00-8.3 7.81v44.38A8.08 8.08 0 0028.16 80h5.9a3.62 3.62 0 01-.4-1.66V56A1.41 1.41 0 0135 54.6h37.51a1.41 1.41 0 011.37 1.4v22.34a3.62 3.62 0 01-.31 1.47A8 8 0 0080 72.19V27.81c.14-4.25-3.58-7.81-8.17-7.81zM30.78 36.1A2.85 2.85 0 0128 33.35V30.6a2.85 2.85 0 012.76-2.75h14.09a2.85 2.85 0 012.76 2.75v2.75a2.85 2.85 0 01-2.76 2.75zm43.1 14.14a1.41 1.41 0 01-1.37 1.37H35a1.41 1.41 0 01-1.37-1.37V48a3.67 3.67 0 013.66-3.65h4.57v-1.87a2.74 2.74 0 015.48 0v1.82h12.8v-1.82a2.74 2.74 0 015.48 0v1.82h4.57a3.67 3.67 0 013.69 3.7z\",\"fill-rule\":\"evenodd\"}},\nservice_appointment_capacity_usage:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M72 26h-5v-2c0-2.2-1.8-4-4-4s-4 1.8-4 4v2H41v-2c0-2.2-1.8-4-4-4s-4 1.8-4 4v2h-5c-3.3 0-6 2.7-6 6v2c0 1.1.9 2 2 2h52c1.1 0 2-.9 2-2v-2c0-3.3-2.7-6-6-6zM76 42H24c-1.1 0-2 .9-2 2v30c0 3.3 2.7 6 6 6h44c3.3 0 6-2.7 6-6V44c0-1.1-.9-2-2-2zM64.9 61.1c-.1 8.2-6.8 14.9-15 14.8-8.2-.1-14.9-6.8-14.8-15 .1-8.2 6.8-14.9 15-14.8 8.2 0 14.8 6.9 14.8 15z\"},{\"d\":\"M49.8 50.2v11.4h10.7s.6-4-3.1-7.8-7.6-3.6-7.6-3.6z\"}]}},\nservice_contract:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M69.1 28.9L55.9 15.7c-.3-.3-.6-.4-1-.4-.8 0-1.4.6-1.4 1.4v10.6c0 2.2 1.8 4 4 4h10.6c.8 0 1.4-.6 1.4-1.4 0-.4-.1-.7-.4-1zm.4 10.4c0-1.1-.9-2-2-2h-14c-3.3 0-6-2.7-6-6v-14c0-1.1-.9-2-2-2h-20c-3.3 0-6 2.7-6 6v48c0 3.3 2.7 6 6 6h20.3c1.6 0 2-1.1 1.9-2.8s-.7-9 4.3-14.8 13.2-6.2 14.4-6.2c1.2 0 3.2-.1 3.1-1.8s0-10.4 0-10.4zm-43-11.4l4.9-.7c.1 0 .3-.1.3-.2l2.2-4.5c.2-.3.6-.3.8 0l2.2 4.5c.1.1.2.2.3.2l4.9.7c.3.1.5.5.2.7l-3.6 3.5c-.1.1-.1.2-.1.4l.8 4.9c.1.3-.3.6-.6.4l-4.4-2.3c-.1-.1-.3-.1-.4 0l-4.4 2.3c-.3.2-.7-.1-.6-.4l.8-4.9c0-.1 0-.3-.1-.4l-3.6-3.5c-.1-.2.1-.6.4-.7zm18 33.4c0 1.1-.9 2-2 2h-13c-1.1 0-2-.9-2-2v-2c0-1.1.9-2 2-2h13c1.1 0 2 .9 2 2v2zm11-12c0 1.1-.9 2-2 2h-24c-1.1 0-2-.9-2-2v-2c0-1.1.9-2 2-2h24c1.1 0 2 .9 2 2v2z\"},{\"d\":\"M66.3 56.2c-7.9 0-14.3 6.4-14.3 14.3s6.4 14.3 14.3 14.3 14.3-6.4 14.3-14.3-6.5-14.3-14.3-14.3zm2.5 15.6c-.4 0-.8-.1-1.2-.2L62.1 77c-.4.4-.8.5-1.2.5-.5 0-.8-.1-1.2-.5-.6-.6-.6-1.7 0-2.4l5.5-5.5c-.1-.3-.2-.7-.2-1.1-.2-2.5 1.8-4.8 4.3-4.8.4 0 .8.1 1.2.2.2 0 .2.2.1.4l-2.4 2.5c-.2.1-.2.5 0 .6l1.7 1.7c.2.2.5.2.7 0l2.4-2.4c.1-.1.4-.1.4.1.1.4.2.8.2 1.2-.1 2.5-2.2 4.5-4.8 4.3z\"}]}},\nservice_crew:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M60.1 51.3h-3.7v-4.4c0-5.9-3.3-11-8.1-13.5V41c0 4-3.2 7.2-7.2 7.2S33.9 45 33.9 41v-7.8c-4.9 2.6-8.3 7.7-8.3 13.6v4.4H22c-1.2 0-2.1.9-2.1 2.1s.9 2.1 2.1 2.1h38.1c1.2 0 2.1-.9 2.1-2.1s-.9-2-2.1-2z\"},{\"d\":\"M41.2 43.9c1.6 0 2.9-1.3 2.9-2.9v-9.2c-1-.2-2-.3-3-.3s-1.9.1-2.8.3V41c-.1 1.6 1.2 2.9 2.9 2.9z\"}]},\"path\":[{\"d\":\"M41.1 77.3c-8.9 0-16.1-7.9-16.1-17.6h4c0 7.5 5.4 13.6 12.1 13.6s12.1-6.1 12.1-13.6h4c-.1 9.7-7.3 17.6-16.1 17.6zM65.3 31.5c1.1 0 2.1-.9 2.1-2.1v-6.5c-.7-.1-1.4-.2-2.1-.2-.7 0-1.3.1-2 .2v6.5c-.1 1.1.9 2.1 2 2.1zM65.2 57.5v-4c4.3 0 7.9-4 7.9-8.9h4c0 7.1-5.3 12.9-11.9 12.9z\"},{\"d\":\"M78 36.1h-2v-2.6c0-4.1-2.3-7.7-5.7-9.5v5.4c0 2.8-2.3 5-5 5-2.8 0-5-2.3-5-5v-5.5C57 25.6 54.7 29 54.5 33c2.1 2.1 3.6 4.6 4.6 7.3H78c1.2 0 2.1-.9 2.1-2.1s-.9-2.1-2.1-2.1z\"}]},\nservice_crew_member:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M77.3 45.5h-5.5v-6.3c0-8.3-4.7-15.5-11.5-19.2v10.9c0 5.6-4.6 10.2-10.2 10.2s-10.2-4.6-10.2-10.2v-11c-7 3.6-11.8 10.9-11.8 19.4v6.3h-5.5c-1.5 0-2.8 1.2-2.8 2.8v.5c0 1.5 1.2 2.8 2.8 2.8h54.6c1.5 0 2.8-1.2 2.8-2.8v-.5c.1-1.6-1.2-2.9-2.7-2.9z\"},{\"d\":\"M50.1 35.1c2.3 0 4.2-1.9 4.2-4.2V17.8c-1.4-.3-2.8-.4-4.3-.4-1.4 0-2.7.1-4 .4v13.1c0 2.3 1.8 4.2 4.1 4.2z\"}]},\"path\":{\"d\":\"M50 82.6c-12.7 0-23-11.3-23-25.1h6c0 10.5 7.6 19.1 17 19.1S67 68 67 57.5h6c0 13.8-10.3 25.1-23 25.1z\"}},\nservice_report:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M71.8 25h-2a.94.94 0 00-1 1v4a8 8 0 01-7.93 8H39.1a8 8 0 01-7.93-8v-4a.94.94 0 00-1-1h-2a6 6 0 00-5.95 6v43a6 6 0 005.95 6H71.8a6 6 0 005.95-6V31a6 6 0 00-5.95-6zM43.06 66a2 2 0 01-2 2h-2a2 2 0 01-2-2V56a2 2 0 012-2h2a2 2 0 012 2zM53 66a2 2 0 01-2 2h-2a2 2 0 01-2-2V47a2 2 0 012-2h2a2 2 0 012 2zm9.91 0a2 2 0 01-2 2h-2a2 2 0 01-2-2V51a2 2 0 012-2h2a2 2 0 012 2z\",\"fill-rule\":\"evenodd\"},{\"d\":\"M39.1 32h21.8a2 2 0 002-2v-4a6 6 0 00-5.95-6H43.06a6 6 0 00-5.95 6v4a2 2 0 001.99 2z\",\"fill-rule\":\"evenodd\"}]},\nservice_request:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M38.63 57.24a9.33 9.33 0 01-.48 2.47l11.51 12.12a3.64 3.64 0 011 2.52 2.82 2.82 0 01-1.1 2.46 4.08 4.08 0 01-5.19-.13L32.84 64.56a9.49 9.49 0 01-2.5.35 9.68 9.68 0 01-10.13-9.6 8.53 8.53 0 01.48-2.47c0-.42.42-.41.83-.19l5.05 5.52a.77.77 0 001.24 0l3.62-3.43a1 1 0 000-1.45L26.41 48c-.2-.21-.18-.83.23-.82a11.94 11.94 0 012.5-.35 9.26 9.26 0 019.49 10.41z\"},{\"d\":\"M78.67 34.7a15.51 15.51 0 00-3-5.74 13.63 13.63 0 00-6.11-4.16 15.14 15.14 0 00-3.89-.75 13.12 13.12 0 00-5.88.9 15.58 15.58 0 00-5.52 3.79c-.62.65-1.18 1.35-1.79 2l-.14-.18a20.11 20.11 0 00-3.12-3.27 14.81 14.81 0 00-4.28-2.49 13.56 13.56 0 00-5.75-.78 14.49 14.49 0 00-5.52 1.49 14 14 0 00-6.53 6.89 18.63 18.63 0 00-1.63 7.08 17.09 17.09 0 00.27 3.72l.25-.05a16.11 16.11 0 013.07-.4h.19a13.28 13.28 0 0113.4 14.7 8.42 8.42 0 01-.09 1L52.6 69a7.67 7.67 0 012 3.92 106.59 106.59 0 0011.36-9.43 67.92 67.92 0 007.48-8.33 37.33 37.33 0 004.08-6.71A20.19 20.19 0 0079.37 42a19 19 0 00-.7-7.3z\"}]}},\nservice_request_detail:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M69.49 79.64A10.2 10.2 0 1179.7 69.45a10.17 10.17 0 01-10.21 10.19zM70.4 67a1 1 0 00-.7.21c-.56.38-1.12.76-1.67 1.16a3.14 3.14 0 00-.53.56.28.28 0 00.32.44c.14 0 .27-.1.4-.15s.24-.12.37-.16.28 0 .28.21a2.17 2.17 0 010 .25q-.58 2.41-1.18 4.82a.89.89 0 00.45 1.06 1.13 1.13 0 001.16-.1c.54-.35 1.07-.71 1.58-1.1a5.6 5.6 0 00.72-.74.22.22 0 000-.28.25.25 0 00-.3-.1 2.43 2.43 0 00-.38.13l-.44.2c-.17.06-.26 0-.25-.19a2.63 2.63 0 01.06-.39c.37-1.5.73-3 1.1-4.5A1 1 0 0070.4 67zm1.07-2.09a1.54 1.54 0 00-1.78-1.47 1.37 1.37 0 00-1.07 2 1.53 1.53 0 001.7.88 1.47 1.47 0 001.15-1.46zM38.35 56.64a8.67 8.67 0 00.48-2.47 9.23 9.23 0 00-9.45-10.38 13.23 13.23 0 00-2.49.35c-.42 0-.43.61-.23.82l5 5.3a1 1 0 010 1.45l-3.61 3.42a.77.77 0 01-1.24 0l-5-5.5c-.4-.22-.82-.23-.83.18a9.33 9.33 0 00-.48 2.47 9.66 9.66 0 0010.1 9.57 9.35 9.35 0 002.49-.35l11.45 12.05a4 4 0 005.17.13 2.77 2.77 0 001.09-2.46 3.53 3.53 0 00-1-2.5z\"},{\"d\":\"M78.75 31.7a15.63 15.63 0 00-3-5.72 13.56 13.56 0 00-6.1-4.14 15 15 0 00-3.87-.75 13.23 13.23 0 00-5.87.89 15.55 15.55 0 00-5.49 3.79c-.62.64-1.18 1.33-1.79 2l-.14-.17a19.19 19.19 0 00-3.11-3.26 14.81 14.81 0 00-4.26-2.48 13.34 13.34 0 00-5.74-.78 14.61 14.61 0 00-5.5 1.48 14 14 0 00-6.51 6.88 18.62 18.62 0 00-1.62 7 17 17 0 00.25 3.78h.25a15.9 15.9 0 013.06-.4h.19a13.25 13.25 0 0113.35 14.6c0 .34-.05.68-.09 1L52.75 66l.09.11 2.1 2.21A14.71 14.71 0 0169.6 54.77a13.77 13.77 0 011.71.11c.75-.89 1.49-1.79 2.18-2.73a36.55 36.55 0 004.07-6.69A20.59 20.59 0 0079.45 39a19.13 19.13 0 00-.7-7.3z\"}]}},\nservice_resource:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M71.83 20H28.3a8.11 8.11 0 00-8.3 7.81v44.38A8.08 8.08 0 0028.16 80h11c1.1-4.54 6.46-7.17 12.14-9.49 4.24-1.8 4.89-3.34 4.89-5.14s-1.29-3.47-2.7-4.76a11.3 11.3 0 01-3.86-9c0-6.69 4.37-12.6 12-12.6s12 5.79 12 12.6a12.13 12.13 0 01-3.86 9c-1.41 1.41-2.7 3-2.7 4.76s.51 3.34 4.89 5.14a41.53 41.53 0 017.78 3.91 7.28 7.28 0 00.26-2.23V27.81c.14-4.25-3.58-7.81-8.17-7.81zM47.61 33.35a2.85 2.85 0 01-2.76 2.75H30.78A2.85 2.85 0 0128 33.35V30.6a2.85 2.85 0 012.76-2.75h14.09a2.85 2.85 0 012.76 2.75z\",\"fill-rule\":\"evenodd\"}},\nservice_territory:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M56.63 62.11a7.39 7.39 0 01-7.42-7.22 7.27 7.27 0 017.42-7.22 7.22 7.22 0 110 14.43z\",\"fill-rule\":\"evenodd\"},{\"d\":\"M71.83 20H28.3a8.11 8.11 0 00-8.3 7.81v44.38A8.08 8.08 0 0028.16 80h24.41C47.5 75.48 39 66.22 39 56.46a17.32 17.32 0 0134.65 0c0 9.82-8.55 19-13.61 23.54h11.79A8.08 8.08 0 0080 72.19V27.81c.14-4.25-3.58-7.81-8.17-7.81zM47.61 33.35a2.85 2.85 0 01-2.76 2.75H30.78A2.85 2.85 0 0128 33.35V30.6a2.85 2.85 0 012.76-2.75h14.09a2.85 2.85 0 012.76 2.75z\",\"fill-rule\":\"evenodd\"}]},\nservice_territory_location:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M66.3 59.5c-2.2 0-3.9-1.7-4-3.9 0-2.2 1.8-3.9 4-3.9s3.9 1.7 4 3.9c0 2.1-1.8 3.9-4 3.9zM47.4 59.5c-2.2 0-3.9-1.7-4-3.9 0-2.2 1.8-3.9 4-3.9s3.9 1.7 4 3.9c-.1 2.1-1.8 3.8-4 3.9zM56.8 59.5c-2.2 0-3.9-1.7-4-3.9 0-2.2 1.8-3.9 4-3.9s3.9 1.7 4 3.9c0 2.1-1.8 3.9-4 3.9z\"},{\"d\":\"M71.6 20.2H28.1c-4.4-.1-8.1 3.4-8.3 7.8v44.4c.2 4.4 3.8 7.9 8.2 7.8h24.4c-5.1-4.5-13.5-13.8-13.5-23.5 0-9.6 7.7-17.3 17.3-17.3 9.6 0 17.3 7.7 17.3 17.3 0 9.8-8.5 19-13.6 23.5h11.8c4.4 0 8-3.4 8.2-7.8V28c0-4.3-3.8-7.8-8.3-7.8zM47.3 33.5c-.1 1.5-1.3 2.7-2.8 2.8H30.4c-1.5 0-2.8-1.3-2.8-2.8v-2.8c.1-1.5 1.3-2.7 2.8-2.8h14.1c1.5 0 2.8 1.3 2.8 2.8v2.8z\"}]},\nservice_territory_member:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M42.74 42.28A7.12 7.12 0 0150 35.2a7.08 7.08 0 11-7.28 7.08z\",\"fill-rule\":\"evenodd\"},{\"d\":\"M49.91 20a25.4 25.4 0 1025.18 25.5c0-13.79-11.24-25.5-25.18-25.5zm1 43.89a1.44 1.44 0 01-1.89 0c-3.15-2.36-13.56-11.65-13.56-21.56a14.51 14.51 0 0129 0c.02 9.92-10.39 19.05-13.54 21.56z\",\"fill-rule\":\"evenodd\"},{\"d\":\"M26 64.21h-1.27A4.75 4.75 0 0020 68.95v6.31A4.74 4.74 0 0024.73 80h50.54A4.75 4.75 0 0080 75.26v-6.31a4.74 4.74 0 00-4.73-4.74h-1.54a30.15 30.15 0 01-47.72 0z\",\"fill-rule\":\"evenodd\"}]},\nservice_territory_policy:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M39.79 20H26.61A6.36 6.36 0 0020 26.11v10.14a6.37 6.37 0 006.59 6.09h13.2a6.36 6.36 0 006.58-6.09V26.11A6.35 6.35 0 0039.79 20zm-5.5 16.23H32.1a5.29 5.29 0 01-5.49-5.08 5.28 5.28 0 015.49-5.06h2.19a5.29 5.29 0 015.5 5.06 5.3 5.3 0 01-5.5 5.1zM59.54 42.34h13.18a6.37 6.37 0 006.59-6.09V26.11A6.36 6.36 0 0072.72 20H59.54A6.35 6.35 0 0053 26.11v10.14a6.35 6.35 0 006.54 6.09zM65 26.11h2.2a5.28 5.28 0 015.49 5.06 5.29 5.29 0 01-5.49 5.08H65a5.3 5.3 0 01-5.49-5.08A5.28 5.28 0 0165 26.11zM39.79 48.42H26.61A6.35 6.35 0 0020 54.51v10.13a6.35 6.35 0 006.59 6.09h13.2a6.35 6.35 0 006.58-6.09V54.51a6.35 6.35 0 00-6.58-6.09zm-5.5 16.22H32.1a4.51 4.51 0 01-.9 0 5.08 5.08 0 11.9-10.13h2.19a4.51 4.51 0 01.9 0 5.08 5.08 0 11-.9 10.13zM66.47 48.42C59 48.42 53 54 53 61c0 8.68 9.67 16.62 12.66 18.72a1.46 1.46 0 001.77 0C70.43 77.55 80 69.72 80 61c0-7-6-12.58-13.53-12.58zm0 17.73a5.27 5.27 0 115.69-5.25 5.5 5.5 0 01-5.69 5.25z\"}},\nsettings:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M50.1 41.3c-4.9 0-8.8 3.9-8.8 8.8s3.9 8.8 8.8 8.8 8.8-3.9 8.8-8.8-3.9-8.8-8.8-8.8zM76.4 58l-4.6-3.9c.3-1.4.4-2.9.4-4.3s-.1-2.9-.4-4.3l4.6-3.9c1.5-1.3 2-3.5 1-5.3l-2-3.5c-.8-1.3-2.1-2-3.6-2-.5 0-1 .1-1.4.3l-5.8 2.1c-2.3-2-4.8-3.4-7.4-4.3l-1-5.9c-.4-2-2.1-3.1-4.1-3.1h-4c-2 0-3.8 1.1-4.1 3.1l-1 5.8c-2.8.9-5.3 2.4-7.5 4.3L29.6 31c-.5-.1-.9-.3-1.4-.3-1.5 0-2.9.8-3.6 2l-2 3.5c-1 1.8-.6 4 1 5.3l4.6 3.9c-.3 1.4-.4 2.9-.4 4.3 0 1.5.1 2.9.4 4.3l-4.6 3.9c-1.5 1.3-2 3.5-1 5.3l2 3.5c.8 1.3 2.1 2 3.6 2 .5 0 1-.1 1.4-.3l5.8-2.1c2.3 2 4.8 3.4 7.4 4.3l1 6c.4 2 2 3.4 4.1 3.4h4c2 0 3.8-1.5 4.1-3.5l1-6c2.9-1 5.5-2.5 7.8-4.6l5.4 2.1c.5.1 1 .3 1.5.3 1.5 0 2.9-.8 3.6-2l1.9-3.3c1.2-1.5.7-3.7-.8-5zm-26.3 5.9c-7.7 0-13.8-6.2-13.8-13.8s6.2-13.8 13.8-13.8 13.8 6.2 13.8 13.8-6.2 13.8-13.8 13.8z\"}},\nshift:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M72 26h-5v-2c0-2.2-1.8-4-4-4s-4 1.8-4 4v2H41v-2c0-2.2-1.8-4-4-4s-4 1.8-4 4v2h-5c-3.3 0-6 2.7-6 6v2c0 1.1.9 2 2 2h52c1.1 0 2-.9 2-2v-2c0-3.3-2.7-6-6-6zM76 42H24c-1.1 0-2 .9-2 2v30c0 3.3 2.7 6 6 6h44c3.3 0 6-2.7 6-6V44c0-1.1-.9-2-2-2zM50 75.9c-8.2 0-14.9-6.7-14.9-14.9S41.8 46.1 50 46.1 64.9 52.8 64.9 61 58.2 75.9 50 75.9z\"},{\"d\":\"M47.7 67.1c-.4 0-.7-.2-1-.4l-5-5c-.2-.2-.2-.6 0-.9l1.1-1.1c.2-.2.6-.2.9 0l4 4 8.5-8.5c.2-.2.6-.2.9 0l1.1 1.1c.2.2.2.6 0 .9l-9.6 9.6c-.2.1-.5.3-.9.3z\"}]}},\nshift_pattern:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M71.74 26h-5v-2a4 4 0 10-8 0v2h-18v-2a4 4 0 00-8 0v2h-5a6 6 0 00-6 6v2a2 2 0 002 2h52a2 2 0 002-2v-2a6 6 0 00-6-6zm4 16a2 2 0 012 2v30a6 6 0 01-6 6h-44a6 6 0 01-6-6V44a2 2 0 012-2h52zm-13.5 27.32H50.5a1.17 1.17 0 00-1.17 1.16v3.32A1.18 1.18 0 0050.5 75h11.74a1.17 1.17 0 001.16-1.2v-3.32a1.16 1.16 0 00-1.16-1.16zm0-13.49H36.66A1.17 1.17 0 0035.5 57v7.9a1.16 1.16 0 001.16 1.16h25.58a1.16 1.16 0 001.16-1.16V57a1.17 1.17 0 00-1.16-1.17zM48.4 47H36.66a1.16 1.16 0 00-1.16 1.16v3.32a1.17 1.17 0 001.16 1.16H48.4a1.18 1.18 0 001.17-1.16v-3.32A1.17 1.17 0 0048.4 47z\"}},\nshift_pattern_entry:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M51.75 20a2 2 0 012 2v14A4.86 4.86 0 0059 41.25h14a2 2 0 012 2V74a6.08 6.08 0 01-6 6H31a6.08 6.08 0 01-6-6V26a6.08 6.08 0 016-6h20.75zm11 48.32H51a1.17 1.17 0 00-1.17 1.16v3.32A1.18 1.18 0 0051 74h11.74a1.17 1.17 0 001.16-1.2v-3.32a1.16 1.16 0 00-1.16-1.16zm0-13.49H37.16A1.17 1.17 0 0036 56v7.9a1.16 1.16 0 001.16 1.16h25.58a1.16 1.16 0 001.16-1.16V56a1.17 1.17 0 00-1.16-1.17zM48.9 46H37.16A1.16 1.16 0 0036 47.16v3.32a1.17 1.17 0 001.16 1.16H48.9a1.18 1.18 0 001.17-1.16v-3.32A1.17 1.17 0 0048.9 46zm11.35-26a1.74 1.74 0 011.13.38l13.24 13.24a1.74 1.74 0 01.38 1.13 1.5 1.5 0 01-1.38 1.5H63A4.38 4.38 0 0158.75 32V21.38a1.5 1.5 0 011.5-1.38z\"}},\nshift_preference:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M72 26h-5v-2a4 4 0 00-8 0v2H41v-2a4 4 0 00-8 0v2h-5a6 6 0 00-6 6v2a2 2 0 002 2h52a2 2 0 002-2v-2a6 6 0 00-6-6zm4 16H24a2 2 0 00-2 2v30a6 6 0 006 6h44a6 6 0 006-6V44a2 2 0 00-2-2zM50 75.9A14.9 14.9 0 1164.9 61 14.94 14.94 0 0150 75.9zm-6.8-8.7a1.71 1.71 0 01-1.9 1.6h-1.2a.67.67 0 01-.7-.6V59c0-.4.3-.6.7-.6h2.4a.67.67 0 01.7.6zm17.2-1.8c0 3.5-3.3 3.8-6.9 3.8-3.3 0-4.5-1.1-7.7-1.2a.65.65 0 01-.6-.6v-8c0-.4.3-.6.7-.6a4.18 4.18 0 004-4.2v-2.4c0-.4.3-.6.7-.6h1.2a1.71 1.71 0 011.9 1.6v4.1a1.71 1.71 0 001.9 1.6h2.8a1.78 1.78 0 011.9 1.6z\"}},\nshift_scheduling_operation:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M76 42a2 2 0 012 2v30a6 6 0 01-6 6H28a6 6 0 01-6-6V44a2 2 0 012-2zm-26 4a15 15 0 1015 15 15 15 0 00-15-15zm2.87 7.17l5.38 5.25a.75.75 0 010 .9l-5.38 5.19c-.38.39-.9.06-.9-.59v-3.11a6.17 6.17 0 00-6.48 5.86 5.3 5.3 0 000 .69H41.6a10.28 10.28 0 0110.13-10.43H52v-3.18c0-.65.55-.97.87-.58zM63 20a4 4 0 014 4v2h5a6 6 0 016 6v2a2 2 0 01-2 2H24a2 2 0 01-2-2v-2a6 6 0 016-6h5v-2a4 4 0 018 0v2h18v-2a4 4 0 014-4z\"}},\nshift_template:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M72 26h-5v-2a4 4 0 00-8 0v2H41v-2a4 4 0 00-8 0v2h-5a6 6 0 00-6 6v2a2 2 0 002 2h52a2 2 0 002-2v-2a6 6 0 00-6-6zm4 16H24a2 2 0 00-2 2v30a6 6 0 006 6h44a6 6 0 006-6V44a2 2 0 00-2-2zM45.3 74.1a1.09 1.09 0 01-1.1 1H37a1.09 1.09 0 01-1-1.1V59.9a1.09 1.09 0 011.1-1h7.3a1.09 1.09 0 011 1.1l-.1 14.1zm19.9.2a1.09 1.09 0 01-1.1 1H50.7a1.09 1.09 0 01-1-1.1V59.9a1.09 1.09 0 011.1-1h13.5a1.09 1.09 0 011 1.1l-.1 14.3zm.2-20.6a1.09 1.09 0 01-1.1 1H37a1.09 1.09 0 01-1-1.1v-6.3a1.09 1.09 0 011.1-1h27.2a1.09 1.09 0 011 1.1c.1 0 .1 6.3.1 6.3z\"}},\nshift_type:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M72 26h-5v-2c0-2.2-1.8-4-4-4s-4 1.8-4 4v2H41v-2c0-2.2-1.8-4-4-4s-4 1.8-4 4v2h-5c-3.3 0-6 2.7-6 6v2c0 1.1.9 2 2 2h52c1.1 0 2-.9 2-2v-2c0-3.3-2.7-6-6-6zM76 42H24c-1.1 0-2 .9-2 2v30c0 3.3 2.7 6 6 6h44c3.3 0 6-2.7 6-6V44c0-1.1-.9-2-2-2zM42.3 59.9c0-.6.5-1.1 1.1-1.1h19.4c.6 0 1.1.5 1.1 1.1v2.2c0 .6-.5 1.1-1.1 1.1H43.4c-.6 0-1.1-.5-1.1-1.1v-2.2zM37.8 72c.1.6-.4 1.1-1 1.1H34.5c-.6 0-1.1-.5-1.1-1.1v-2.2c0-.6.5-1.1 1.1-1.1h2.2c.6 0 1.1.5 1.1 1.1V72zm0-9.9c.1.6-.4 1.1-1 1.1H34.5c-.6 0-1.1-.5-1.1-1.1v-2.2c0-.6.5-1.1 1.1-1.1h2.2c.6 0 1.1.5 1.1 1.1v2.2zm0-9.9c.1.6-.4 1.1-1 1.1H34.5c-.6 0-1.1-.5-1.1-1.1V50c0-.6.5-1.1 1.1-1.1h2.2c.6 0 1.1.5 1.1 1.1v2.2zM66.6 72c0 .6-.5 1.1-1.1 1.1H43.4c-.6 0-1.1-.5-1.1-1.1v-2.2c0-.6.5-1.1 1.1-1.1h22.1c.6 0 1.1.5 1.1 1.1V72zm0-19.8c0 .6-.5 1.1-1.1 1.1H43.4c-.6 0-1.1-.5-1.1-1.1V50c0-.6.5-1.1 1.1-1.1h22.1c.6 0 1.1.5 1.1 1.1v2.2z\"}}},\nshipment:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M53 53.6V78c0 .6.4 1 1 1 .2 0 .4 0 .5-.1 4.8-2.7 19.4-11 19.4-11 1.9-1.1 3.1-3.1 3.1-5.3V40.7c0-.6-.4-1-1-1-.2 0-.4 0-.5.1L54 51.9c-.6.3-1 1-1 1.7zm-2-6.8l21.6-12.1c.5-.3.6-.9.3-1.4l-.3-.3c-4.8-2.7-19.5-11.1-19.5-11.1-1.9-1.1-4.3-1.1-6.2 0 0 0-14.7 8.3-19.5 11.1-.5.3-.6.9-.3 1.4l.3.3L49 46.8c.6.3 1.4.3 2 0zm-5 5.1L24.5 39.8c-.5-.3-1.1-.1-1.4.4-.1.1-.1.3-.1.5v21.8c0 2.2 1.2 4.2 3.1 5.3 0 0 14.6 8.3 19.4 11 .5.3 1.1.1 1.4-.4.1-.2.1-.4.1-.5V53.6c0-.7-.4-1.4-1-1.7z\"}},\nskill:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M43.84 46.76a5.35 5.35 0 115.46-5.34 5.41 5.41 0 01-5.46 5.34z\",\"fill-rule\":\"evenodd\"},{\"d\":\"M77.33 55.7l-7.27-10.8V44a24 24 0 00-23.87-24 22 22 0 00-5.67.7A23.89 23.89 0 0022.31 44a21.92 21.92 0 003.58 12.7c4.18 6 7 10.8 5.27 17.3a4.58 4.58 0 00.9 4.2 4.43 4.43 0 003.68 1.8h19.6A4.72 4.72 0 0060 76.2a5 5 0 00.2-1.2 2.37 2.37 0 012.39-2H64a4.72 4.72 0 004.68-3.4 41.31 41.31 0 001.48-9.6h5.17a2.78 2.78 0 002.19-1.6 2.86 2.86 0 00-.19-2.7zm-19.84-8.37l-1 1.57a2.22 2.22 0 01-1.76.94 2.38 2.38 0 01-.72-.16l-2.65-1a11.64 11.64 0 01-3.85 2.2l-.48 2.91a2 2 0 01-2 1.65h-2a2 2 0 01-2-1.65l-.48-2.91a10 10 0 01-3.69-2l-2.81 1a2.38 2.38 0 01-.72.16 2.1 2.1 0 01-1.76-1l-1-1.65a1.94 1.94 0 01.48-2.51l2.33-1.89a10.11 10.11 0 01-.24-2.12 9.41 9.41 0 01.24-2l-2.28-1.99a1.92 1.92 0 01-.48-2.51l1-1.65a2 2 0 011.76-1 2.38 2.38 0 01.72.16l2.81 1a11.52 11.52 0 013.69-2.12L41 28a1.91 1.91 0 012-1.57h2a1.92 1.92 0 012 1.49l.48 2.83a11.31 11.31 0 013.69 2l2.81-1a2.38 2.38 0 01.72-.16 2.1 2.1 0 011.76 1l1 1.65A2 2 0 0157 36.8l-2.33 1.89a9.56 9.56 0 01.24 2.12 9.41 9.41 0 01-.24 2L57 44.74a2 2 0 01.49 2.59z\",\"fill-rule\":\"evenodd\"}]},\nskill_entity:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M77.3 55.7L70 44.9V44c0-13.2-10.8-24-24-24-1.9 0-3.8.2-5.7.7C29.7 23.1 22 32.9 22 44c0 4.9 1.2 9.3 3.6 12.7 4.2 6 7 10.8 5.3 17.3-.4 1.5-.1 3 .9 4.2.9 1.2 2.2 1.8 3.7 1.8h19.7c2.3 0 4.3-1.6 4.7-3.8.1-.4.2-.8.2-1.2.2-1.2 1.2-2 2.4-2h1.4c2.2 0 4.1-1.3 4.7-3.4.6-2.3 1.4-5.6 1.5-9.6h5.2c.9 0 1.8-.8 2.2-1.6.4-.8.3-2.1-.2-2.7zM61.4 42c-.8 1.3-2.4 2-4.7 2-12.3 0-13.2 9-13.2 13.3 0 2-1.6 3.7-3.6 3.7h-.3c-1.7 0-3.1-1.2-3.5-2.9-.4-1.8-1.6-2.8-2.8-3.7-.8-.6-1.6-1.2-2-2.1-1.1-2.3-2.2-5-2.2-8.4 0-7.8 5.4-14.6 12.7-16.3 1.4-.3 2.7-.5 4.1-.5 6.8 0 12.9 4.1 15.5 10.3.1.3 1.2 2.7 0 4.6z\"}},\nskill_requirement:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M50.08 57.86a6.77 6.77 0 116.63-6.77 6.71 6.71 0 01-6.63 6.77z\",\"fill-rule\":\"evenodd\"},{\"d\":\"M80.79 46.64h-5.57V26.7a6.8 6.8 0 00-6.69-6.7H31.47a6.8 6.8 0 00-6.69 6.71v19.93h-5.57a3.36 3.36 0 000 6.71h5.57V73.3a6.8 6.8 0 006.69 6.7h37.06a6.8 6.8 0 006.69-6.71V53.36h5.57a3.36 3.36 0 000-6.71zm-14.07 12.8l-1.17 2a2.67 2.67 0 01-2.15 1.19 2.8 2.8 0 01-.88-.2l-3.22-1.29a14 14 0 01-4.68 2.79L54 67.6a2.52 2.52 0 01-2.44 2.09h-2.4a2.52 2.52 0 01-2.44-2.09l-.59-3.68a12.07 12.07 0 01-4.49-2.59l-3.41 1.29a2.8 2.8 0 01-.88.2 2.53 2.53 0 01-2.15-1.29L34 59.44a2.52 2.52 0 01.59-3.19l2.83-2.39a13.32 13.32 0 01-.29-2.69 12.39 12.39 0 01.29-2.59l-2.79-2.38A2.5 2.5 0 0134 43l1.17-2.09a2.42 2.42 0 012.15-1.29 2.8 2.8 0 01.88.2l3.41 1.29a13.88 13.88 0 014.49-2.69l.62-3.42a2.34 2.34 0 012.44-2h2.44a2.35 2.35 0 012.4 1.85l.59 3.58A13.6 13.6 0 0159.11 41l3.41-1.29a2.8 2.8 0 01.88-.2 2.53 2.53 0 012.15 1.29l1.17 2.09a2.65 2.65 0 01-.59 3.19l-2.83 2.39a12.59 12.59 0 01.29 2.69 12.39 12.39 0 01-.29 2.59l2.83 2.39a2.63 2.63 0 01.59 3.3z\",\"fill-rule\":\"evenodd\"}]},\nslider:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M71.25 46.38h6.25a2.5 2.5 0 012.5 2.5v2.5a2.51 2.51 0 01-2.5 2.5h-6.25a1 1 0 01-1-1.26 10 10 0 00.37-2.5 11.87 11.87 0 00-.37-2.62c-.13-.75.37-1.25 1-1.12zM31 68.75h-8.5a2.51 2.51 0 00-2.5 2.5v2.5a2.51 2.51 0 002.5 2.5H31a7.5 7.5 0 100-7.5zM50.25 70a11.87 11.87 0 01.37 2.62 10 10 0 01-.37 2.5 1 1 0 001 1.26H77.5a2.51 2.51 0 002.5-2.5v-2.5a2.5 2.5 0 00-2.5-2.5H51.25c-.75-.13-1.13.37-1 1.12zm5-45a11.87 11.87 0 01.37 2.62 10 10 0 01-.37 2.5 1 1 0 001 1.26H77.5a2.51 2.51 0 002.5-2.5v-2.5a2.5 2.5 0 00-2.5-2.5H56.25c-.63-.13-1.13.37-1 1.12zM36 23.75H22.5a2.51 2.51 0 00-2.5 2.5v2.5a2.51 2.51 0 002.5 2.5H36a7.5 7.5 0 100-7.5zm15 22.5H22.5a2.51 2.51 0 00-2.5 2.5v2.5a2.51 2.51 0 002.5 2.5H51a7.5 7.5 0 100-7.5z\"}},\nsms:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M49.1 21.5c-16.9 0-30.3 12.4-30.3 27.8 0 4.8 1.4 9.4 3.7 13.5.4.6.5 1.4.3 2.2l-3.9 10.8c-.4 1 .6 1.9 1.7 1.7l10.9-4.2c.6-.3 1.4-.1 2.2.3 4.6 2.5 10 4.1 15.9 4.1 16.4-.3 30-12.8 30-28.1-.1-15.7-13.7-28.1-30.5-28.1zM36.9 54c-.4.6-.8 1.3-1.3 1.7-.5.4-1.1.8-1.9 1-.6.3-1.4.3-2.2.3-1 0-1.9-.1-2.8-.5-.9-.4-1.8-.9-2.4-1.7l-.3-.3c-.1-.1 0-.4.3-.6l2-1.9c.3-.3.5-.3.6-.1.1.1.3.4.3.4.3.4.6.6 1 .9.6.4 1.3.4 2 .3.3 0 .4-.1.6-.3l.4-.4c.1-.1.1-.4.1-.5 0-.5-.1-.6-.3-.8-.3-.3-.6-.5-1.1-.6-.5-.1-1-.4-1.7-.5-.6-.3-1.3-.5-1.8-.8-.6-.4-1-.9-1.4-1.4-.4-.6-.6-1.4-.6-2.4 0-.9.1-1.7.5-2.3s.8-1.1 1.4-1.5c.5-.4 1.1-.8 1.9-.9 1.5-.4 3-.4 4.6.1.8.3 1.5.8 1.9 1l.4.3c.3.1.1.5-.1.8l-1.9 1.9c-.3.3-.6.3-.9 0-.3-.1-.4-.4-.5-.4-.6-.4-1.5-.5-2.3-.4-.3 0-.4.1-.5.3l-.2.3c-.1.1-.1.3-.1.5 0 .4.1.5.3.6.3.3.6.4 1.1.6.5.1 1 .4 1.7.5.6.3 1.3.5 1.8.8.6.4 1 .9 1.4 1.4.4.6.6 1.4.6 2.4-.1.8-.2 1.6-.6 2.2zM58 55.8c0 .8-.6 1.3-1.4 1.3h-1.3c-.8 0-1.1-.5-1.1-1.3v-7.5c0-.8-1-.9-1.3-.3l-2.2 5.7c-.1.5-.6.8-1.1.8h-.9c-.5 0-1-.4-1.1-.8L45.3 48c-.3-.6-1.3-.5-1.3.3v7.5c0 .8-.6 1.3-1.4 1.3h-1.3c-.8 0-1.1-.5-1.1-1.3v-14c0-.8.5-1.3 1.1-1.3h3.3c.5 0 1 .4 1.1.8l2.5 6.6c.3.5 1 .5 1.1 0l2.5-6.6c.1-.5.6-.8 1.1-.8h3.4c.8 0 1.4.5 1.4 1.3.3 0 .3 14 .3 14zm13.3-1.7c-.4.6-.8 1.3-1.4 1.7-.5.4-1.1.8-1.9 1-.8.3-1.4.3-2.2.3-1 0-1.9-.1-2.8-.5s-1.8-.9-2.4-1.7l-.3-.3c-.1-.1 0-.4.3-.6l2-1.9c.3-.3.5-.3.6-.1s.3.4.3.4c.3.4.6.6 1 .9.6.4 1.4.4 2 .3.3-.1.5-.1.6-.3l.4-.4s.1-.4.1-.5c0-.5-.1-.6-.3-.8-.3-.3-.6-.5-1.1-.6-.5-.1-1-.4-1.7-.5-.6-.3-1.3-.5-1.8-.8-.6-.4-1.1-.9-1.5-1.4-.4-.6-.6-1.4-.6-2.4 0-.9.1-1.7.5-2.3.4-.6.8-1.1 1.4-1.5.5-.4 1.3-.8 1.9-.9 1.5-.4 3-.4 4.6.1.8.3 1.5.8 1.9 1.1l.4.4c.3.1.1.5-.1.8l-1.9 1.9c-.3.3-.6.3-.9 0-.3-.1-.4-.4-.5-.4-.6-.4-1.5-.5-2.3-.4-.3 0-.4.1-.5.3l-.4.4c-.1.1-.1.4-.1.5 0 .4.1.5.3.6.3.3.6.4 1.1.6.5.1 1 .4 1.7.5.6.3 1.3.5 1.8.8.6.4 1 .9 1.5 1.4.4.6.6 1.4.6 2.4.3.4.1 1.3-.3 1.9z\"}},\nsnippet:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M74.1 23.9c-12.1 0-21.3 9.4-21.3 21.4v28.8c0 1.1.9 2 2 2h22.8c1.1 0 2-.9 2-2V51.3c0-1.1-.9-2-2-2H60.8v-4c0-6.7 6.6-13.4 13.3-13.4h3.5c1.1 0 2-.9 2-2v-4c0-1.1-.9-2-2-2h-3.5zm-33.3 0c-12.1 0-21.3 9.4-21.3 21.4v28.8c0 1.1.9 2 2 2h22.8c1.1 0 2-.9 2-2V51.3c0-1.1-.9-2-2-2H27.6v-4c0-6.7 6.6-13.4 13.3-13.4h3.5c1.1 0 2-.9 2-2v-4c0-1.1-.9-2-2-2h-3.6z\"}},\nsnippets:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M71.8 25.2h-2c-.6 0-1 .4-1 1v4c0 4.4-3.6 7.9-7.9 7.9H39.1c-4.4 0-7.9-3.6-7.9-7.9v-4c0-.6-.4-1-1-1h-2c-3.3 0-5.9 2.7-5.9 5.9v42.6c0 3.3 2.7 5.9 5.9 5.9h43.6c3.3 0 5.9-2.7 5.9-5.9V31.2c.1-3.3-2.6-6-5.9-6zM44.3 48s0 .8-.6.9c-.8.2-1.1.4-1.2.4-.3.3-.4.8-.4 1.7v3.1c0 1.1-.2 2-.5 2.7-.2.5-.6 1-1 1.4 0 0-.7.5 0 1.3.3.2.5.5.7.8.5.8.8 1.8.8 3.1V67c0 .8.2 1.3.5 1.6.1.1.3.2.6.3.1 0 .2.1.3.1.3.2.7.5.7 1.2v2c0 .2-.2.5-.8.5h-.9c-1.4 0-2.7-.5-3.8-1.3-1.2-.9-1.8-2.2-1.8-3.8v-4.3c0-.9-.3-1.6-.8-2.1-.3-.3-.8-.5-1.5-.7-.1 0-.5-.2-.5-.8v-1.6c0-.2.1-.5.5-.7 1-.3 1.4-.6 1.6-.8.5-.5.7-1.3.7-2.3v-3.6c0-.5.1-1.1.3-1.7.3-1 .9-1.9 1.6-2.5.7-.5 1.5-.9 2.4-1.1.5-.1 1.2-.2 2.1-.2.3 0 .9.2.9.9V48h.1zm21.5 11.9c0 .2-.1.5-.5.7-1 .3-1.4.6-1.6.8-.5.5-.7 1.3-.7 2.3v3.6c0 .5-.1 1.1-.3 1.7-.3 1-.9 1.9-1.6 2.5-.7.5-1.5.9-2.4 1.1-.5.1-1.2.2-2.1.2-.3 0-.9-.2-.9-.9V70s0-.8.6-.9c.8-.2 1.1-.4 1.2-.4.3-.3.4-.8.4-1.7v-3.1c0-1.1.2-2 .5-2.7.2-.5.6-1 1-1.4 0 0 .7-.5 0-1.3-.3-.2-.5-.5-.7-.8-.5-.8-.8-1.8-.8-3.1v-3.4c0-.8-.2-1.3-.5-1.6-.1-.1-.3-.2-.6-.3-.1 0-.2-.1-.3-.1-.3-.2-.7-.5-.7-1.2v-2.2c0-.2.2-.5.8-.5h.9c1.4 0 2.7.5 3.8 1.3 1.2.9 1.8 2.2 1.8 3.8v4.3c0 .9.3 1.6.8 2.1.3.3.8.5 1.5.7.1 0 .5.2.5.8v1.6h-.1z\"},{\"d\":\"M39.1 32.2h21.8c1.1 0 2-.9 2-2v-4c0-3.3-2.7-5.9-5.9-5.9H43.1c-3.3 0-5.9 2.7-5.9 5.9v4c-.1 1.1.8 2 1.9 2z\"}]}},\nsobject:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M25.1 22.6h5.1c-6 13.4-6 23.4 0 36.8h-5.1c-6.9-15.4-6.9-21.4 0-36.8zM47.1 45.5c.5 2.3.8 4.1 1.1 4.9.4 1.1 1 2 1.8 2.7 1.9-1.5 4.3-2.3 6.8-2.3 1.6 0 3.1.4 4.6 1 .2-.3.3-.7.3-1.1 0-1.2-1-2.2-2.2-2.2-.4 0-.7.1-1 .2 0 0-2.4 1.4-3.2.3-.6-1.1-1.1-2.6-1.5-4.5-.3-1.6-.8-3.6-1.1-5.4l2.4-3.5s2.7 1 4.1 1 4.2-1.1 4.2-4.8c0-3.7-2.7-3.9-3.5-3.9-1.6 0-3.2 1.2-4.6 3.6-1.4 2.5-3 5.2-3 5.2h-.1c-.4-1.8-.6-3.2-.8-3.8-.3-1.5-2.1-4.8-5.7-4.8-3.7 0-7 2.1-7 2.1-.6.4-1 1.1-1 1.9 0 1.2 1 2.2 2.2 2.2.4 0 .7-.1 1-.2 0 0 2.8-1.6 3.4 0 .2.5.3 1 .5 1.5.7 2.4 1.4 5.2 1.9 7.8l-2.4 3.5s-2.7-1-4.1-1c-1.4 0-4.2 1.1-4.2 4.8 0 3.7 2.7 3.9 3.5 3.9 1.6 0 3.2-1.2 4.6-3.6 1.4-2.8 3-5.5 3-5.5zM72 53.5c.1.1.1.1.2.1.4 0 .7-.1 1.1-.1 1.3 0 2.5.2 3.6.6 4.6-11.8 3.9-18.1-2.2-31.6h-5.1c5.2 11.5 5.9 20.4 2.4 31zM61.7 58.1c1-1 2.4-1.7 4-1.7 2.1 0 3.9 1.1 4.9 2.8.8-.3 1.8-.6 2.8-.6 3.7 0 6.8 3.1 6.8 6.7 0 3.7-3.1 6.7-6.8 6.7-.4 0-.9 0-1.3-.1-.8 1.5-2.5 2.5-4.3 2.5-.8 0-1.5-.2-2.2-.5-.9 2-2.9 3.4-5.2 3.4-2.5 0-4.5-1.5-5.3-3.6-.3 0-.7.1-1.1.1-2.9 0-5.3-2.3-5.3-5.2 0-1.9 1-3.6 2.6-4.5-.3-.7-.5-1.5-.5-2.4 0-3.3 2.8-6 6.1-6 1.9 0 3.7.9 4.8 2.4z\"}},\nsobject_collection:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M34.6 36.5c-4.3 9.5-4.3 13.3 0 22.9h3.2C34 51 34 44.8 37.7 36.5h-3.1zM64.1 54.6c.6-.1 1.3-.2 1.9-.2.5 0 .9 0 1.4.1 2.2-6.4 1.6-10.3-1.9-18.1h-3.2c3 6.7 3.6 12.1 1.8 18.2z\"},{\"d\":\"M45.6 66h-18c-1.4 0-2.5-1.1-2.5-2.5V30.2h49.8v26.5c1.9.2 3.6.9 5.1 1.8V25.1c0-2.8-2.3-5.1-5.1-5.1H25.1c-2.8 0-5.1 2.3-5.1 5.1V66c0 2.8 2.3 5.1 5.1 5.1h18.8c.1-1.9.7-3.6 1.7-5.1z\"},{\"d\":\"M62 61.1c1-1 2.4-1.7 4-1.7 2.1 0 3.9 1.1 4.9 2.8.8-.3 1.8-.6 2.8-.6 3.7 0 6.8 3.1 6.8 6.7 0 3.7-3.1 6.7-6.8 6.7-.4 0-.9 0-1.3-.1-.8 1.5-2.5 2.5-4.3 2.5-.8 0-1.5-.2-2.2-.5-.9 2-2.9 3.4-5.2 3.4-2.5 0-4.5-1.5-5.3-3.6-.3 0-.7.1-1.1.1-2.9 0-5.3-2.3-5.3-5.2 0-1.9 1-3.6 2.6-4.5-.3-.7-.5-1.5-.5-2.4 0-3.3 2.8-6 6.1-6 2 .1 3.7 1 4.8 2.4zM46.5 53.9c.9-1.5 1.9-3.2 1.9-3.2.3 1.4.5 2.5.7 3 .3.9.9 1.6 1.7 2.1 1.8-1.3 4-2 6.4-2h.3c0-.8-.6-1.4-1.4-1.4-.2 0-.4.1-.6.1 0 0-1.5.8-2 .2-.4-.7-.7-1.6-.9-2.8-.2-1-.5-2.2-.7-3.4l1.5-2.2s1.7.6 2.5.6 2.6-.7 2.6-3-1.6-2.4-2.1-2.4c-1 0-2 .7-2.9 2.2-.9 1.5-1.9 3.2-1.9 3.2-.2-1.1-.4-2-.5-2.4-.2-.9-1.3-3-3.5-3-2.3 0-4.3 1.3-4.3 1.3-.4.2-.6.7-.6 1.2 0 .8.6 1.4 1.4 1.4.2 0 .4-.1.6-.1 0 0 1.7-1 2.1 0 .1.3.2.6.3 1 .4 1.5.8 3.2 1.2 4.8l-1.5 2.1s-1.7-.6-2.5-.6-2.6.7-2.6 3 1.6 2.4 2.1 2.4c.9.2 1.9-.6 2.7-2.1z\"}]},\nsocial:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M70 57c-4.8 0-8.9 3.4-9.8 8H47c-.6 0-1 .5-1 1.1v.9c0 1-.1 1.9-.3 2.8-.1.6.4 1.2 1 1.2h14.1c1.5 3.5 5.1 6 9.2 6 5.5 0 10-4.5 10-10s-4.5-10-10-10zM43.3 45.5c-1.2-.5-2.3-1.2-3.3-2-.5-.4-1.2-.2-1.5.3l-7.1 13.3c-.4-.1-.9-.1-1.4-.1-5.5 0-10 4.5-10 10s4.5 10 10 10 10-4.5 10-10c0-2.9-1.2-5.4-3.1-7.3l6.9-12.8c.2-.5 0-1.1-.5-1.4zM50 41c1 0 1.9-.1 2.8-.4l6.9 12.7c.3.5.9.7 1.4.4 1.1-.7 2.2-1.3 3.4-1.7.6-.2.8-.9.5-1.4l-7.2-13.4c1.3-1.7 2.2-3.9 2.2-6.2 0-5.5-4.5-10-10-10s-10 4.5-10 10 4.5 10 10 10z\"}},\nsolution:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M47.6 20.1c-9.8 1.1-17.7 8.8-18.5 18.4-.6 7 2.5 13.4 7.5 17.5 1.5 1.2 2.4 3 2.4 4.9v.1c0 2.8 2.3 5.1 5.2 5.1h11.6c2.9 0 5.2-2.3 5.2-5.1v-.1c0-1.9.9-3.7 2.4-4.9C68 52.2 71 46.6 71 40.3c0-12-10.7-21.5-23.4-20.2zM59 72H41c-1.1 0-2 .9-2 2 0 3.3 2.7 6 6 6h10c3.3 0 6-2.7 6-6 0-1.1-.9-2-2-2z\"}},\nsort:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M50.9 37.7c.7-.7.7-1.9 0-2.6L36.6 20.7c-.7-.7-1.9-.7-2.6 0L19.7 35.1c-.7.7-.7 1.9 0 2.6l2.6 2.6c.7.7 1.9.7 2.6 0l4.5-4.5c.7-.7 2.1-.2 2.1.9v26.4c0 1 .9 1.9 1.9 1.9h3.7c1 0 1.9-1 1.9-1.9V36.7c0-1.1 1.4-1.6 2.1-.9l4.5 4.5c.7.7 1.9.7 2.6 0l2.7-2.6zm27.4 24.9l-2.6-2.5c-.7-.7-1.9-.7-2.6 0l-4.5 4.5c-.7.7-2.1.2-2.1-.9V37.1c0-1-.9-1.9-1.9-1.9h-3.7c-1 0-1.9 1-1.9 1.9v26.4c0 1.1-1.4 1.6-2.1.9l-4.5-4.5c-.7-.7-1.9-.7-2.6 0l-2.6 2.7c-.7.7-.7 1.9 0 2.6l14.3 14.3c.7.7 1.9.7 2.6 0l14.3-14.3c.7-.7.7-2-.1-2.6z\"}},\nsort_policy:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M35.05 20H26a6 6 0 00-6 6v7a6 6 0 006 6h9a6 6 0 006-6v-7a6 6 0 00-5.95-6zm-3.51 13h-2a3.5 3.5 0 010-7h2a3.5 3.5 0 010 7zM53.15 39h9a6 6 0 006-6v-7a6 6 0 00-6-6h-9a6 6 0 00-6 6v7a6 6 0 006 6zm3.48-13h2a3.5 3.5 0 010 7h-2a3.5 3.5 0 110-7zM35.05 45H26a6 6 0 00-6 6v7a6 6 0 006 6h9a6 6 0 006-6v-7a6 6 0 00-5.95-6zm-3.51 13h-2a3.5 3.5 0 110-7h2a3.5 3.5 0 010 7zM79.68 70.59l-1.47-1.39a1 1 0 00-1.41-.06l-.06.06-2.45 2.4a.68.68 0 01-1 0 .63.63 0 01-.2-.48V60a1.08 1.08 0 00-1-1H70a1.11 1.11 0 00-1 1v11.13a.67.67 0 01-.67.67.66.66 0 01-.48-.2l-2.46-2.4a1 1 0 00-1.39-.06v.06l-1.46 1.41a1 1 0 000 1.41l7.85 7.66a1 1 0 001.41.06l.06-.06L79.68 72a1 1 0 000-1.41zM63.06 55.86l.06-.06 1.46-1.41a1 1 0 000-1.41l-7.85-7.67a1 1 0 00-1.41-.06l-.06.06L47.41 53a1 1 0 000 1.41l1.46 1.41a1 1 0 001.41.06l.06-.06 2.46-2.4a.68.68 0 011.15.47V65a1.08 1.08 0 001 1H57a1.13 1.13 0 001-1V53.87a.67.67 0 011.15-.47l2.46 2.4a1 1 0 001.45.06z\"}},\nsossession:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M49.6 18c-17.7.2-31.8 14.8-31.6 32.4.2 17.7 14.8 31.8 32.4 31.6 17.7-.2 31.8-14.8 31.6-32.4-.2-17.7-14.8-31.8-32.4-31.6zm0 4.2c4.8-.1 9.3 1.1 13.2 3.1l-4.3 7.2c-2.6-1.3-5.5-2-8.5-2s-6 .7-8.5 2l-4.3-7.2c3.7-1.9 7.9-3.1 12.4-3.1zM32.5 58.5l-7.2 4.3c-1.9-3.7-3.1-8-3.1-12.5-.1-4.8 1.1-9.3 3.1-13.2l7.2 4.3c-1.3 2.6-2 5.5-2 8.5s.7 6.1 2 8.6zm17.9 19.3c-4.8.1-9.3-1.1-13.2-3.1l4.3-7.2c2.6 1.3 5.5 2 8.5 2s6-.7 8.5-2l4.3 7.2c-3.7 1.9-7.9 3.1-12.4 3.1zM50 65.3c-8.5 0-15.3-6.9-15.3-15.3 0-8.5 6.9-15.3 15.3-15.3 8.5 0 15.3 6.9 15.3 15.3 0 8.5-6.8 15.3-15.3 15.3zm17.5-6.8c1.3-2.6 2-5.5 2-8.5s-.7-6-2-8.5l7.2-4.3c1.9 3.7 3.1 8 3.1 12.5.1 4.8-1.1 9.3-3.1 13.2l-7.2-4.4z\"}},\nstage:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"circle\":[{\"cx\":\"75.9\",\"cy\":\"50\",\"r\":\"4.2\"},{\"cx\":\"49.8\",\"cy\":\"50\",\"r\":\"4.2\"},{\"cx\":\"24.1\",\"cy\":\"50\",\"r\":\"4.2\"}],\"path\":{\"d\":\"M31.9 50c0 9.9 8.1 18 18 18s18-8.1 18-18-8.1-18-18-18-18 8.1-18 18zm30 0c0 6.6-5.4 12-12 12s-12-5.4-12-12 5.4-12 12-12 12 5.4 12 12z\"}},\nstage_collection:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"circle\":{\"cx\":\"49.8\",\"cy\":\"50\",\"r\":\"4.2\"},\"path\":{\"d\":\"M75.9 45.8c-1.5 0-2.9.8-3.6 2.1h-4.5c-1.1-9-8.7-15.9-17.9-15.9S33.1 38.9 32 47.8h-4.3c-.7-1.2-2.1-2.1-3.6-2.1-2.3 0-4.2 1.9-4.2 4.2s1.9 4.2 4.2 4.2c1.5 0 2.8-.8 3.6-1.9h4.4C33.2 61.1 40.8 68 49.9 68c9.1 0 16.7-6.9 17.8-15.7h4.5c.8 1.2 2.1 1.9 3.6 1.9 2.3 0 4.2-1.9 4.2-4.2s-1.8-4.2-4.1-4.2zM49.9 62c-6.6 0-12-5.4-12-12s5.4-12 12-12 12 5.4 12 12-5.4 12-12 12z\"}},\nsteps:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M73 80.3h-8.8v-6H73v6zm0-2.9v-.1.1zm-17.6 2.9h-8.8v-6h8.8v6zm-17.5 0h-8.8v-6h8.8v6zm-11.8-7.4h-6v-8.8h6v8.8zm53.8-2.1h-6V62h6v8.8zM26.1 55.4h-6v-8.8h6v8.8zm53.8-2.1h-6v-8.8h6v8.8zM26.1 37.9h-6v-8.8h6v8.8zm53.8-2.1h-6V27h6v8.8zm-9.1-10.1H62v-6h8.8v6zm-17.5 0h-8.8v-6h8.8v6zm-17.5 0h-8.7v-6h8.8v6z\"}},\nstore:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M71.5 54.4h-.3c-2-.2-3.6-.8-5.2-1.9l-.2-.2c-.7-.6-1.4-.3-1.7-.1l-.1.1c-1.9 1.4-4 2.1-6.5 2.1-2.6 0-4.8-.8-6.8-2.3-.7-.5-1.2 0-1.2 0-2 1.6-4.3 2.4-6.9 2.4-2.5 0-4.7-.7-6.6-2.2-.1-.1-.2-.1-.3-.2-.6-.5-1.2 0-1.2 0-1.9 1.5-4 2.3-6.4 2.4 0 0-.8 0-.8.9V74c0 .4.2 1.3 1.4 1.5h23.2c1.2-.2 1.4-1.1 1.4-1.5v-3.6-9.6c.1-.4.3-.8 1.3-.8h11.1c.4.1.8.4.8 1.3v12.5c0 1.4 1 1.6 1.3 1.6h3.5c.3 0 1.3-.2 1.3-1.6V55.7c-.2-1-.7-1.2-1.1-1.3zm-25 14.4v.4c0 .5-.3 1.3-1.5 1.3H34.8c-1.1 0-1.4-.5-1.5-1V69v-7.1c0-1.8 1-1.9 1.4-1.9h10.6c.4 0 1.2.3 1.2 1.6v7.2zM70.4 49.4c2.7.7 5.1.2 7.1-1.7 1.3-1.2 2.1-2.7 2.3-4.4v-.2c-.2-.6-.5-1.3-.7-1.7-3-5.4-5.9-10.8-8.8-16.2-.4-.7-1.2-.7-1.5-.7h-38s-1.1 0-1.5.7c-3 5.4-5.9 10.9-8.8 16.2-.2.4-.5 1.1-.5 1.8v.2c.2 1.7 1 3.2 2.3 4.4 2.2 2 4.8 2.5 7.7 1.5 1.6-.6 2.8-1.6 3.8-3.1.1-.1.2-.3.4-.4.6-.4 1.4-.3 1.9.4.5.8 1.1 1.5 1.9 2 2.1 1.6 4.5 1.9 7 1.1 1.6-.5 2.9-1.6 3.8-3.1.5-.8 1.7-.9 2.3 0l.6.9c1.3 1.5 2.9 2.4 4.8 2.6 1.8.2 3.5-.2 5.1-1.3.9-.6 1.6-1.4 2.1-2.2.6-.8 1.7-.8 2.2 0 1 1.6 2.3 2.6 4.1 3.1l.4.1z\"}}},\nstore_group:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M77.2 45.2H60.1c-1.6 0-2.8 1.3-2.8 2.8 0 .5.4.9.9.9H79c.5 0 .9-.4.9-.9.1-1.5-1.2-2.8-2.7-2.8zm0 6.6h-17c-.5 0-.9.4-.9.9v19.9c0 .5.4.9.9.9h5.2c.5 0 .9-.4.9-.9v-3.8c0-.5.5-.9 1-.9H70c.5 0 1 .4 1 .9v3.8c0 .5.4.9.9.9h5.2c.5 0 .9-.4.9-.9V52.8c.1-.6-.3-1-.8-1zm-10 12.8c0 .5-.4.9-.9.9h-1.9c-.5 0-.9-.4-.9-.9v-1.9c0-.5.4-.9.9-.9h1.9c.5 0 .9.4.9.9v1.9zm0-6.6c0 .5-.4.9-.9.9h-1.9c-.5 0-.9-.4-.9-.9v-1.9c0-.5.4-.9.9-.9h1.9c.5 0 .9.4.9.9V58zm6.7 6.6c0 .5-.4.9-.9.9h-2c-.5 0-.9-.4-.9-.9v-1.9c0-.5.4-.9.9-.9h1.9c.5 0 .9.4.9.9v1.9zm0-6.6c0 .5-.4.9-.9.9h-2c-.5 0-.9-.4-.9-.9v-1.9c0-.5.4-.9.9-.9h1.9c.5 0 .9.4.9.9V58zM53.1 26.4H24.6C22 26.4 20 28.5 20 31v.1c0 .9.7 1.6 1.6 1.6h34.6c.9 0 1.6-.7 1.6-1.6V31c-.1-2.4-2.2-4.6-4.7-4.6zm-.1 11H24.7c-.9 0-1.6.7-1.6 1.6v33c0 .9.7 1.6 1.6 1.6h8.7c.9 0 1.5-.7 1.5-1.6v-6.3c0-.9.8-1.6 1.6-1.6h4.6c.9 0 1.6.7 1.6 1.6V72c0 .9.6 1.6 1.5 1.6H53c.9 0 1.6-.7 1.6-1.6V39c0-.9-.7-1.6-1.6-1.6zM36.5 58.6c0 .9-.7 1.6-1.6 1.6h-3.1c-.9 0-1.6-.7-1.6-1.6v-3.1c0-.9.7-1.6 1.6-1.6h3.1c.9 0 1.6.7 1.6 1.6v3.1zm0-11c0 .9-.7 1.6-1.6 1.6h-3.1c-.9 0-1.6-.7-1.6-1.6v-3.1c0-.9.7-1.6 1.6-1.6h3.1c.9 0 1.6.7 1.6 1.6v3.1zm11 11c0 .9-.7 1.6-1.6 1.6h-3.1c-.9 0-1.6-.7-1.6-1.6v-3.1c0-.9.7-1.6 1.6-1.6h3.1c.9 0 1.6.7 1.6 1.6v3.1zm0-11c0 .9-.7 1.6-1.6 1.6h-3.1c-.9 0-1.6-.7-1.6-1.6v-3.1c0-.9.7-1.6 1.6-1.6h3.1c.9 0 1.6.7 1.6 1.6v3.1z\"}},\nstory:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M79.9 53.6c.3.4.1.9 0 1-1.6 1.7-2.9 2.8-3.9 3.6-1.6 1.3-4.5 3.2-5.1 3.5 2 1.3 3 2.4 3.1 3.7-2.1.8-3.8 1.3-4.8 1.8-1.5.6-2.5 1.3-4.4 2.4h-.1v-.5c0-3.3.4-4.7 0-7.4s-2.3-6.5-6-7.4c-3.6-.9-8.3 2.6-12.4.9s-5.9-1.2-7.6 1-1.7 3.5-1.7 5.3v7.4c-1.3-.9-3-1.7-5.3-2.4-2-.6-4.1-1-6.3-1.2-.5 0-.8-.4-.8-.9v-.3c.6-2.6 1.6-4.4 3-5.5 1.5-1.4 2.5-2.1 3.1-1.9-1.6-1.9-3-3.3-4.3-4-1.1-.6-3.1-1.2-6-1.7-.4-.1-.6-.5-.6-1v-.3c2.1-5.5 4.6-9 7.6-10.5 3.3-1.5 5.6-2.2 7.5-1.9-.6-1.5-1.1-2.6-1.4-3.3-.3-.5-.6-1.3-1.4-2.3-.3-.4-.3-1 .1-1.3.1 0 .3-.1.4-.1 1.3-.3 2.5-.1 3.9.3 1.8.5 3.4 1.7 4.9 3.5-.1-5.3-.6-9.7-1.8-13.2.2-2.9 12.6-.9 15.6 5.1 2.1 4 3.1 6.7 3.1 8.2 4.1-.9 7.4-.5 9.8 1s3.6 2.9 3.8 4.2c-1.9.4-3.1 1-3.8 1.9 2.3.9 6.3 3.3 7.6 5 1.5 1.9 2.9 4.2 4.2 7.3z\"},{\"d\":\"M46.2 70.2c.9.3 1.4.5 1.9.5.8 0 1.8-.3 3.2-.8 1.8-.8 3.6-.4 4.7.8 1.3 1 1.8 3.4 1.3 4.9-.4.9-1 1.8-2 2.4-.1.1-.4.1-.5.1l-2.2-.4-4.2 1.8c-.1.1-.4.1-.5 0l-3.8-1.8-1.8.4c-.3 0-.5 0-.6-.3-.5-.6-.9-1-1-1.4-.3-.4-.7-1.3-.7-2.7s1.3-2.9 2.3-3.4c1-.4 2.8-.7 3.9-.1z\"}],\"circle\":[{\"cx\":\"55\",\"cy\":\"64.6\",\"r\":\"2.5\"},{\"cx\":\"42.5\",\"cy\":\"64.6\",\"r\":\"2.5\"}]},\nstrategy:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M76.1 40.8H66c-2.2 0-4 1.8-4 4v2.5h-9.4V27.6c0-.6-.6-1.3-1.3-1.3H38v-2.4c0-2.2-1.8-4-4-4H23.9c-2.2 0-4 1.8-4 4V34c0 2.2 1.8 4 4 4H34c2.2 0 4-1.8 4-4v-2.4h9.3v15.7H38V45c0-2.2-1.8-4-4-4H23.9c-2.2 0-4 1.8-4 4v10c0 2.2 1.8 4 4 4H34c2.2 0 4-1.8 4-4v-2.4h9.3v15.7H38V66c0-2.2-1.8-4-4-4H23.9c-2.2 0-4 1.8-4 4v10.1c0 2.2 1.8 4 4 4H34c2.2 0 4-1.8 4-4v-2.4H51.3c.7 0 1.3-.7 1.3-1.3V52.7H62v2.2c0 2.2 1.8 4 4 4h10.1c2.2 0 4-1.8 4-4V44.8c0-2.2-1.8-4-4-4zM34 34H23.9V23.9H34V34zm0 2v-2 2zm0 19H23.9V45H34v10zm0 2v-2 2zm0 19.1H23.9V66H34v10.1zm0 2v-2 2zm42.1-23.2H66V44.8h10.1v10.1zm0 2v-2 2z\"}},\nsurvey:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M24 23h44c2.2 0 4 1.8 4 4v4c0 2.2-1.8 4-4 4H24c-2.2 0-4-1.8-4-4v-4c0-2.2 1.8-4 4-4zM24 41h25c2.2 0 4 1.8 4 4v4c0 2.2-1.8 4-4 4H24c-2.2 0-4-1.8-4-4v-4c0-2.2 1.8-4 4-4zM65.9 52c7.7 0 14 6.3 14 14s-6.3 14-14 14-14-6.3-14-14 6.3-14 14-14zm7.9 10.9c.3-.3.3-1 0-1.3l-1.4-1.3c-.4-.4-1-.4-1.4 0l-7.5 8.4-3.4-3.4c-.4-.4-1-.4-1.4 0l-1.4 1.3c-.4.3-.4.9 0 1.3l4.8 4.7c.4.4.9.6 1.4.6.6 0 1-.2 1.4-.6l8.9-9.7zM24 59h23.2c-.8 2.3-1.2 4.3-1.2 6-.1 2.1.1 4.1.6 6H24c-2.2 0-4-1.8-4-4v-4c0-2.2 1.8-4 4-4z\"}}},\nswarm_request:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"circle\":[{\"cx\":\"41.37\",\"cy\":\"26.44\",\"r\":\"6.32\"},{\"cx\":\"58.63\",\"cy\":\"26.43\",\"r\":\"6.32\"},{\"cx\":\"28.4\",\"cy\":\"41.16\",\"r\":\"8\"},{\"cx\":\"71.81\",\"cy\":\"41.16\",\"r\":\"8\"},{\"cx\":\"50.11\",\"cy\":\"45.73\",\"r\":\"8\"}],\"path\":{\"d\":\"M59.14 80a4.18 4.18 0 003.2-1.37 4.57 4.57 0 001.37-3.2V65.15a6.88 6.88 0 00-6.86-6.86h-13.7a6.88 6.88 0 00-6.86 6.86v10.28A4.68 4.68 0 0040.86 80zM29.32 75.43V65.15a13.41 13.41 0 013.89-9.48 1.18 1.18 0 000-1.67 1.15 1.15 0 00-.77-.33h-11a6.88 6.88 0 00-6.86 6.86v10.33a4.68 4.68 0 004.57 4.57zM80.85 75.43a4.18 4.18 0 003.2-1.37 4.57 4.57 0 001.37-3.2V60.58a6.88 6.88 0 00-6.86-6.86h-11a1.14 1.14 0 00-.8 2 13.68 13.68 0 013.89 9.48v10.23z\"}}},\nswarm_session:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M41.7 30a.33.33 0 00-.1-.28c0 .1.1.2.1.28zM41.7 29.73c0 .09.09.19.09.28a5.44 5.44 0 00.48 1 8.72 8.72 0 0011.67 3.83 9 9 0 003.44-3.16 20.69 20.69 0 0113.4 15.5c.38 0 .76-.1 1.14-.1a16.11 16.11 0 014.79.77 26.15 26.15 0 00-18.08-21.76 8.28 8.28 0 00-.86-2.87 8.73 8.73 0 00-11.67-3.83 8.6 8.6 0 00-4.69 9.28c.1.39.19.77.29 1.06zM36.82 57.56A8.69 8.69 0 0030 52.87a10.46 10.46 0 01-.1-1.81 20.68 20.68 0 017.85-16.17c-.29-.38-.48-.86-.77-1.24a17.19 17.19 0 01-1.43-4.31A26.47 26.47 0 0024.1 51.06c0 1 .09 2.1.19 3.15a8.71 8.71 0 1012.53 3.35zM79.48 57.56A8.68 8.68 0 0064 65.4c.1.19.29.48.39.67a20.17 20.17 0 01-23.25 3.25 12.47 12.47 0 01-4.21 4.21 26.11 26.11 0 0013.57 3.73 26.38 26.38 0 0018.55-7.65 8.21 8.21 0 006.7-.48 8.54 8.54 0 003.73-11.57zM41.79 58.11a.39.39 0 00.48.48l3.25-1.34a.57.57 0 01.67.1 8.34 8.34 0 004.59 1.33c5.07 0 9.19-3.92 9.19-8.6s-4.12-8.61-9.19-8.61a8.93 8.93 0 00-9.08 8.61 8.53 8.53 0 001.15 4.11.84.84 0 01.09.67z\",\"fill-rule\":\"evenodd\"}},\nsystem_and_global_variable:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M48.8 75.6c0-3.7 1.8-6.5 4.2-8.1v-3.7c-1.3-.9-2.3-2.2-2.7-3.7-.5-2.1.2-4.5 1.5-6.2.3-.4.7-.8 1.1-1.2.4-.4.9-.7 1.4-.9 2.6-1.4 5.6-2.4 8.6-2.4 2.7 0 5.1 1.1 6.8 2.7 2.4-2.4 4.9-2.9 6.4-2.9 1.4 0 2.7.3 3.9.9v-.2c0-16.5-13.5-30-30-30S20 33.5 20 50c0 16.4 13.4 29.9 29.8 30-.7-1.3-1-2.7-1-4.4zm25-28.6h-7.9c-.3-7.1-1.9-13.3-4.3-18 6.6 3.7 11.2 10.3 12.2 18zM53 27.3c3.4 2.9 6.4 10.3 6.9 19.7H53V27.3zM26.2 53h7.9c.3 7.1 1.9 13.3 4.3 18-6.6-3.7-11.2-10.3-12.2-18zm7.9-6h-7.9c1-7.7 5.6-14.3 12.2-18-2.4 4.7-3.9 10.9-4.3 18zM47 72.7c-3.4-2.9-6.4-10.3-6.9-19.7H47v19.7zM47 47h-6.9c.5-9.4 3.5-16.8 6.9-19.7V47z\"},{\"d\":\"M75.5 62.4c1.3 0 3.9-1.1 3.9-4.5s-2.5-3.6-3.2-3.6c-1.5 0-3 1.1-4.3 3.4-1.4 2.3-2.9 4.9-2.9 4.9h-.1c-.3-1.6-.6-3-.7-3.6-.3-1.4-1.9-4.5-5.3-4.5s-6.5 2-6.5 2c-.6.4-1 1-1 1.8 0 1.1.9 2.1 2.1 2.1.3 0 .6-.1.9-.2 0 0 2.6-1.4 3.1 0 .2.4.3.9.5 1.4.7 2.2 1.3 4.9 1.8 7.3L61.5 72s-2.5-.9-3.8-.9-3.9 1.1-3.9 4.5 2.5 3.6 3.2 3.6c1.5 0 3-1.1 4.3-3.4 1.3-2.3 2.8-4.9 2.8-4.9.4 2.1.8 3.8 1 4.5.9 2.4 2.8 3.9 5.4 3.9 0 0 2.7 0 5.8-1.8.8-.3 1.3-1.1 1.3-1.9 0-1.1-.9-2.1-2.1-2.1-.3 0-.6.1-.9.2 0 0-2.3 1.3-3 .3-.6-1-1-2.4-1.4-4.2-.3-1.5-.7-3.3-1.1-5.1l2.3-3.3c.3.1 2.8 1 4.1 1z\"}]},\ntask:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M46.6 23.7l-2.1-2.1c-.6-.6-1.5-.6-2.1 0L29.2 34.8l-5.3-5.3c-.6-.6-1.5-.6-2.1 0l-2.1 2.1c-.6.6-.6 1.5 0 2.1l7.4 7.4c.6.6 1.4.9 2.1.9.8 0 1.5-.3 2.1-.9l15.3-15.3c.5-.5.5-1.5 0-2.1zM77 38H51c-1.1 0-2-.9-2-2v-4c0-1.1.9-2 2-2h26c1.1 0 2 .9 2 2v4c0 1.1-.9 2-2 2zM77 56H45c-1.1 0-2-.9-2-2v-4c0-1.1.9-2 2-2h32c1.1 0 2 .9 2 2v4c0 1.1-.9 2-2 2zM33 56h-4c-1.1 0-2-.9-2-2v-4c0-1.1.9-2 2-2h4c1.1 0 2 .9 2 2v4c0 1.1-.9 2-2 2zM33 74h-4c-1.1 0-2-.9-2-2v-4c0-1.1.9-2 2-2h4c1.1 0 2 .9 2 2v4c0 1.1-.9 2-2 2zM77 74H45c-1.1 0-2-.9-2-2v-4c0-1.1.9-2 2-2h32c1.1 0 2 .9 2 2v4c0 1.1-.9 2-2 2z\"}},\ntask2:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M42.6 71c-1.2 0-2.4-.5-3.3-1.4L20.6 50.9c-.8-.8-.8-2 0-2.8l3.7-3.7c.8-.8 2-.8 2.8 0l15.5 15.4 30.3-30.3c.8-.8 2-.8 2.8 0l3.7 3.7c.8.8.8 2 0 2.8L45.8 69.6c-.9.9-2 1.4-3.2 1.4z\"}},\nteam_member:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M57 44H45c-3.3 0-6 2.7-6 6v9c0 1.1.5 2.1 1.2 2.8.7.7 1.7 1.2 2.8 1.2v9c0 3.3 2.7 6 6 6h4c3.3 0 6-2.7 6-6v-9c1.1 0 2.1-.4 2.8-1.2.7-.7 1.2-1.7 1.2-2.8v-9c0-3.3-2.7-6-6-6z\"},{\"d\":\"M36.6 66.7c-.2-.2-.5-.4-.7-.6-1.9-2-3-4.5-3-7.1v-9c0-3.2 1.3-6.2 3.4-8.3.6-.6.1-1.7-.7-1.7H26c-3.3 0-6 2.7-6 6v9c0 1.1.5 2.1 1.2 2.8.7.7 1.7 1.2 2.8 1.2v9c0 3.3 2.7 6 6 6h4c.9 0 1.7-.2 2.4-.5.4-.2.6-.5.6-.9v-5.1c0-.3-.1-.6-.4-.8z\"},{\"d\":\"M76 40h-6-3.6c-.9 0-1.3 1-.7 1.7 2.1 2.2 3.4 5.1 3.4 8.3v9c0 2.6-1 5.1-3 7.1-.2.2-.4.4-.7.6-.2.2-.4.5-.4.8v5.1c0 .4.2.8.6.9.7.3 1.5.5 2.4.5h4c3.3 0 6-2.7 6-6v-9c1.1 0 2.1-.4 2.8-1.2.7-.7 1.2-1.7 1.2-2.8v-9c0-3.3-2.7-6-6-6z\"}],\"circle\":[{\"cx\":\"51\",\"cy\":\"33\",\"r\":\"7\"},{\"cx\":\"32\",\"cy\":\"29\",\"r\":\"7\"},{\"cx\":\"70\",\"cy\":\"29\",\"r\":\"7\"}]},\ntemplate:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M73.8 20H26.2c-3.4 0-6.2 2.8-6.2 6.2v47.6c0 3.4 2.8 6.2 6.2 6.2h47.6c3.4 0 6.2-2.8 6.2-6.2V26.2c0-3.4-2.8-6.2-6.2-6.2zM42.3 69.1c0 .8-.8 1.4-1.6 1.4H30.4c-.8 0-1.4-.8-1.4-1.6V48.8c0-.8.8-1.4 1.6-1.4H41c.8 0 1.4.8 1.4 1.6v20.1zm28.4.2c0 .8-.8 1.4-1.6 1.4H49.9c-.8 0-1.4-.8-1.4-1.6V48.8c0-.8.8-1.4 1.6-1.4h19.3c.8 0 1.4.8 1.4 1.6v20.3zm.2-29.4c0 .8-.8 1.4-1.6 1.4H30.4c-.8 0-1.4-.8-1.4-1.6v-9c0-.8.8-1.4 1.6-1.4h38.9c.8 0 1.4.8 1.4 1.6v9z\"}},\ntext:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M79.9 77.9c-.3-4.1-.4-8.3-.4-12.4 0-2.1 0-4.1.1-6.2 0-1.9.2-3.8-.5-5.6-1.6-4.1-7-4.9-10.9-4.9-2 0-4 .3-6 .8-1.4.4-2.8.9-4 1.5l1.3 3.2c.3.6.4 1.3.5 1.9 2.6-1.2 5.2-1.9 7.8-1.9 4.1 0 6.1 1.6 6.1 4.8v1.5c-.6 0-1.6-.1-2.9-.1-5.2 0-9.1.8-11.9 2.3-2.7 1.6-4.1 4.3-4.1 8.2 0 2.9.9 5.2 2.7 6.8 1.8 1.6 4.1 2.4 6.8 2.4 2.4 0 4.4-.3 5.9-1s2.8-1.7 3.8-3.1h.2c.1.7.2 1.8.5 3.4 0 .1 4.5 0 5 0 .1-.7 0-1.1 0-1.6zM74 67.8c0 .7-.1 1.4-.4 2.1-.2.5-.4 1-.8 1.5-1.2 1.7-3.3 2.6-5.3 3-1.3.2-2.5.1-3.8-.1-1-.2-2-.7-2.5-1.6-.9-1.4-.7-3.6.3-4.9.6-.8 1.5-1.3 2.4-1.6 2.5-.8 5.4-.8 7.9-.8l2.2.1v2.3zM54.9 56.3L40.7 21.1c-.2-.7-.8-1.1-1.5-1.1h-4.5c-.7 0-1.4.5-1.6 1.1l-13 35.2c-.3.7.2 1.5.9 1.5h5c.7 0 1.4-.6 1.6-1.3l3.3-9.2h12.8l3.7 9.2c.2.7.9 1.3 1.6 1.3h4.9c.8 0 1.4-.8 1-1.5zM33.5 40.4l3.7-9.6 4.1 9.6h-7.8z\"}},\ntext_template:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M42.5 63.8v-.2c.2-3.4 3-6.1 6.5-6.1h8.4c-1.4-2.4-1.1-5.5.9-7.7l.2-.2 2-1.9c1.1-1.2 2.7-1.9 4.3-2V25c0-2.7-2.2-5-5-5H25.1c-2.7 0-5 2.2-5 5v34.8c0 2.7 2.2 5 5 5h17.4v-1zM27.6 27.7c0-.7.5-1.2 1.2-1.2h7.5c.7 0 1.2.5 1.2 1.2v3.5c0 .7-.5 1.2-1.2 1.2h-7.5c-.7 0-1.2-.5-1.2-1.2v-3.5zm0 10.9c0-.7.5-1.2 1.2-1.2h27.3c.7 0 1.2.5 1.2 1.2v3.5c0 .7-.5 1.2-1.2 1.2H28.9c-.7 0-1.2-.5-1.2-1.2v-3.5zm0 14.4v-3.5c0-.7.5-1.2 1.2-1.2h22.4c.7 0 1.2.5 1.2 1.2V53c0 .7-.5 1.2-1.2 1.2H28.9c-.8.1-1.3-.4-1.3-1.2z\"},{\"d\":\"M66.3 51.1l-.1-.1c-.6-.5-1.5-.5-2 .1l-2.1 2c-.5.6-.5 1.5 0 2l5.5 5.5c.2.2.3.4.3.7 0 .6-.4 1-1 1H49c-.8 0-1.4.6-1.5 1.4v3c.1.8.7 1.4 1.5 1.6h17.9c.2 0 .4.1.5.2.4.3.5 1 .2 1.4l-5.5 5.5c-.5.6-.5 1.5 0 2l2 2.1c.6.5 1.5.5 2 0l13.2-13.2c.5-.6.5-1.5 0-2l-13-13.2z\"}]},\ntextarea:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M74 80H26c-3.3 0-6-2.7-6-6V26c0-3.3 2.7-6 6-6h48c3.3 0 6 2.7 6 6v48c0 3.3-2.7 6-6 6zM28.1 30v40c0 1.1.9 2 2 2H70c1.1 0 2-.9 2-2V30c0-1.1-.9-2-2-2H30.1c-1.1 0-2 .9-2 2z\"},{\"d\":\"M61.9 51.2c1 0 2 .9 2 2v8.7c0 1.1-.9 2-2 2h-9.2c-1.1 0-2-.9-2-2 0-.7.3-1.3.8-1.8l1.9-1.9c1.3-1.2 2.7-2.4 4-3.6.9-.8 1.8-1.7 2.8-2.5.3-.2.5-.5.8-.6.3-.2.6-.3.9-.3z\"}]},\ntextbox:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M74 80H26c-3.3 0-6-2.7-6-6V26c0-3.3 2.7-6 6-6h48c3.3 0 6 2.7 6 6v48c0 3.3-2.7 6-6 6zM28.1 30v40c0 1.1.9 2 2 2H70c1.1 0 2-.9 2-2V30c0-1.1-.9-2-2-2H30.1c-1.1 0-2 .9-2 2z\"},{\"d\":\"M36.2 61.9V38.1c0-1.1.9-2 2-2h4c1.1 0 2 .9 2 2v23.8c0 1.1-.9 2-2 2h-4c-1.1 0-2-.9-2-2z\"}]},\nthanks:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M74 35h-8.7c2.5-3.9 2.3-9.1-.8-12.3-1.7-1.7-4-2.7-6.4-2.7-2.6 0-5.2 1.2-7.1 3.2-.4.4-.7.8-1 1.3-.3-.5-.6-.9-1-1.3-1.9-2.1-4.5-3.2-7.1-3.2-2.4 0-4.6 1-6.3 2.7-3.1 3.2-3.3 8.4-.8 12.3H26c-3.3 0-6 2.7-6 6v4c0 1.1.9 2 2 2h56c1.1 0 2-.9 2-2v-4c0-3.3-2.7-6-6-6zm-27 0c-2.1 0-5.1-.8-6.8-2.6-1.5-1.6-1.7-4.2-.3-5.5.7-.7 1.4-.8 2-.8 1 0 2 .5 2.7 1.3 1.7 1.9 2.4 5.1 2.4 7.1v.5zm12.8-2.6C58.1 34.2 55.1 35 53 35v-.6c0-2 .7-5.2 2.4-7.1.8-.8 1.8-1.3 2.7-1.3.5 0 1.3.1 2 .8 1.3 1.4 1.2 3.9-.3 5.6zM74 53H53v27h17.2c3.2 0 5.8-2.6 5.8-5.8V55c0-1.1-.9-2-2-2zM24 55v19c0 3.3 2.7 6 6 6h17V53H26c-1.1 0-2 .9-2 2z\"}},\nthanks_loading:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"opacity\":\".5\",\"d\":\"M74 35h-8.7c2.5-3.9 2.3-9.1-.8-12.3-1.7-1.7-4-2.7-6.4-2.7-2.6 0-5.2 1.2-7.1 3.2-.4.4-.7.8-1 1.3-.3-.5-.6-.9-1-1.3-1.9-2.1-4.5-3.2-7.1-3.2-2.4 0-4.6 1-6.3 2.7-3.1 3.2-3.3 8.4-.8 12.3H26c-3.3 0-6 2.7-6 6v4c0 1.1.9 2 2 2h56c1.1 0 2-.9 2-2v-4c0-3.3-2.7-6-6-6zm-27 0c-2.1 0-5.1-.8-6.8-2.6-1.5-1.6-1.7-4.2-.3-5.5.7-.7 1.4-.8 2-.8 1 0 2 .5 2.7 1.3 1.7 1.9 2.4 5.1 2.4 7.1v.5zm12.8-2.6C58.1 34.2 55.1 35 53 35v-.6c0-2 .7-5.2 2.4-7.1.8-.8 1.8-1.3 2.7-1.3.5 0 1.3.1 2 .8 1.3 1.4 1.2 3.9-.3 5.6zM74 53H53v27h17.2c3.2 0 5.8-2.6 5.8-5.8V55c0-1.1-.9-2-2-2zM24 55v19c0 3.3 2.7 6 6 6h17V53H26c-1.1 0-2 .9-2 2z\"}},\ntimesheet:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M70.9 20H29.1c-4.3 0-7.8 3.5-7.8 7.8v44.3c0 4.3 3.5 7.8 7.8 7.8h41.7c4.3 0 7.8-3.5 7.8-7.8V27.8c.1-4.3-3.4-7.8-7.7-7.8zm-2.6 47c0 1.4-1.2 2.6-2.6 2.6H34.3c-1.4 0-2.6-1.2-2.6-2.6v-2.6c0-1.4 1.2-2.6 2.6-2.6h31.3c1.4 0 2.6 1.2 2.6 2.6V67zm0-15.7c0 1.4-1.2 2.6-2.6 2.6H34.3c-1.4 0-2.6-1.2-2.6-2.6v-2.6c0-1.4 1.2-2.6 2.6-2.6h31.3c1.4 0 2.6 1.2 2.6 2.6v2.6zm0-15.6c0 1.4-1.2 2.6-2.6 2.6H34.3c-1.4 0-2.6-1.2-2.6-2.6V33c0-1.4 1.2-2.6 2.6-2.6h31.3c1.4 0 2.6 1.2 2.6 2.6v2.7z\"}},\ntimesheet_entry:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M70.9 20H29.1c-4.3 0-7.8 3.5-7.8 7.8v44.3c0 4.3 3.5 7.8 7.8 7.8h41.7c4.3 0 7.8-3.5 7.8-7.8V27.8c.1-4.3-3.4-7.8-7.7-7.8zm-2.6 47c0 1.4-1.2 2.6-2.6 2.6H34.3c-1.4 0-2.6-1.2-2.6-2.6v-2.6c0-1.4 1.2-2.6 2.6-2.6h31.3c1.4 0 2.6 1.2 2.6 2.6V67zM40.9 50l1.4-1.4c.4-.4 1-.4 1.4 0l3.6 3.6 9-9c.4-.4 1-.4 1.4 0l1.4 1.4c.3.4.3 1.1 0 1.4L48.8 56.5c-.4.4-.9.6-1.4.6-.5 0-1-.2-1.4-.6l-5-5c-.5-.5-.5-1.1-.1-1.5zm27.4-14.3c0 1.4-1.2 2.6-2.6 2.6H34.3c-1.4 0-2.6-1.2-2.6-2.6V33c0-1.4 1.2-2.6 2.6-2.6h31.3c1.4 0 2.6 1.2 2.6 2.6v2.7z\"}},\ntimeslot:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M70.95 20H29.19a7.93 7.93 0 00-8 7.81v44.38A7.9 7.9 0 0029.05 80h41.9a7.9 7.9 0 007.83-7.81V27.81A7.73 7.73 0 0070.95 20zM31.8 33a2.7 2.7 0 012.61-2.6h13.32a2.7 2.7 0 012.61 2.6v2.6a2.7 2.7 0 01-2.61 2.6H34.41a2.7 2.7 0 01-2.61-2.6zM68 67a2.7 2.7 0 01-2.61 2.6H52.17a2.7 2.7 0 01-2.61-2.6v-2.6a2.7 2.7 0 012.61-2.6h13.32A2.58 2.58 0 0168 64.38zm.51-12.39a2.83 2.83 0 01-2.75 2.6H34.41a2.7 2.7 0 01-2.61-2.6v-9.07a2.7 2.7 0 012.61-2.6h31.45a2.7 2.7 0 012.61 2.6z\",\"fill-rule\":\"evenodd\"}},\ntoday:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M50 20c-16.5 0-30 13.5-30 30s13.5 30 30 30 30-13.5 30-30-13.5-30-30-30zm0 54c-13.2 0-24-10.8-24-24s10.8-24 24-24 24 10.8 24 24-10.8 24-24 24z\"},{\"d\":\"M53 48.8V36c0-1.1-.9-2-2-2h-2c-1.1 0-2 .9-2 2v14c0 .8.3 1.6.9 2.1l9.6 9.6c.8.8 2 .8 2.8 0l1.4-1.4c.8-.8.8-2 0-2.8L53 48.8z\"}]},\ntoggle:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M20 33.34a13.43 13.43 0 0113-13.43h33.56a13.45 13.45 0 010 26.89H33a13.44 13.44 0 01-13-13.46zm13.44 7.53a7.53 7.53 0 10-7.52-7.53 7.58 7.58 0 007.52 7.53zM20 66.46A13.44 13.44 0 0133 53h33.56a13.45 13.45 0 010 26.89H33a13.43 13.43 0 01-13-13.43zM67.06 57H32.94a9.53 9.53 0 000 19h34.12a9.53 9.53 0 000-19zm-.5 16a6.53 6.53 0 116.52-6.52A6.58 6.58 0 0166.56 73z\"}},\ntopic:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M61.4 37.2c.2.7.7 1.2 1.4 1.4l2.2.6c.4.1.9-.1 1.1-.5l4.7-8.1c1.1-1.9.5-2.6-1.5-1.5l-8.1 4.7c-.4.2-.6.7-.5 1.1l.7 2.3zM33.9 38.7c.2.4.7.6 1.1.5l2.2-.6c.7-.2 1.2-.7 1.4-1.4l.6-2.2c.1-.4-.1-.9-.5-1.1l-8.1-4.7c-1.9-1.1-2.6-.5-1.5 1.5l4.8 8zM66.1 61.3c-.2-.4-.7-.6-1.1-.5l-2.2.6c-.7.2-1.2.7-1.4 1.4l-.6 2.2c-.1.4.1.9.5 1.1l8.1 4.7c1.9 1.1 2.6.5 1.5-1.5l-4.8-8zM38.6 62.8c-.2-.7-.7-1.2-1.4-1.4l-2.2-.6c-.4-.1-.9.1-1.1.5l-4.7 8.1c-1.1 1.9-.5 2.6 1.5 1.5l8.1-4.7c.4-.2.6-.7.5-1.1l-.7-2.3z\"},{\"d\":\"M78.4 49l-20.5-5.5c-.7-.2-1.2-.7-1.4-1.4L51 21.6c-.6-2.1-1.5-2.1-2.1 0l-5.5 20.5c-.2.7-.7 1.2-1.4 1.4L21.6 49c-2.1.6-2.1 1.5 0 2.1l20.5 5.5c.7.2 1.2.7 1.4 1.4L49 78.4c.6 2.1 1.5 2.1 2.1 0l5.5-20.5c.2-.7.7-1.2 1.4-1.4L78.4 51c2.1-.5 2.1-1.5 0-2zM50 55c-2.8 0-5-2.2-5-5s2.2-5 5-5 5 2.2 5 5-2.2 5-5 5z\"}]},\ntopic2:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M78.2 34.3h-7.9l3.4-13V21c0-.5-.4-1-1-1h-6.3c-.5 0-.9.4-1 .8L62 34.3H46.2l3.4-13V21c0-.5-.4-1-1-1h-6.3c-.5 0-.9.4-1 .8l-3.5 13.4H29c-.5 0-.8.3-1 .7l-1.6 6v.2c0 .5.4 1 1 1h8.3l-3.9 15.2h-8.5c-.5 0-.8.3-1 .7l-1.6 6v.2c0 .5.4 1 1 1h8l-3.4 13.2v.2c0 .5.4 1 1 1h6.3c.5 0 .9-.3 1-.8l3.5-13.7h15.7l-3.4 13.2v.2c0 .5.4 1 1 1h6.3c.5 0 .9-.3 1-.8L62.2 65h8.7c.5 0 .9-.3 1-.8l1.6-6V58c0-.5-.4-1-1-1h-8.2l3.9-15.2h8.4c.5 0 .9-.3 1-.8l1.6-6v-.2c0-.1-.5-.5-1-.5zM56 57.5H40.2l3.9-15.2h15.7L56 57.5z\"}},\ntrailhead:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M32.7 63.8l-3.2 3.7h6.4zM35.7 71.4h6.4l-3.2-3.7zM61.3 68.8l3.2-3.7 3.2 3.7z\"},{\"d\":\"M50.9 20.2c-.5-.3-1.2-.3-1.7 0C31.3 27.8 19.8 45.5 20.1 65v4.3c0 .7.3 1.3.9 1.7 8.6 5.7 18.8 8.9 29.1 9h1.1c9.9-.4 19.6-3.4 27.8-9 .5-.4.9-1 .9-1.7V65c.5-19.5-11-37.2-29-44.8zM34.7 36c7.3-8.6 15.4-11.5 15.4-11.5 1.7.8 21.2 8.4 25.2 33h-5.1l-9.8-14.1c-.7-.9-2-1.2-3-.5-.3.1-.4.4-.5.5L54.4 47l-6.9-9.9c-.7-.9-2-1.2-3-.5-.3.1-.4.4-.5.5L30.1 57.4l-5.1.2c1.5-9.4 5.4-16.4 9.7-21.6zM65 57.6H52.3l3.3-4.7 3-4.4 6.4 9.1zm-18-14l5 7.2-4.7 6.7H35.2l5.1-7.6 5.4-8 1.3 1.7zm4.8 29L50 75.8c-3.7 0-7.1-.5-11-1.4-5.1-1.3-10.1-3.4-14.5-6.1v-3.1c0-1 0-2.1.1-3.3h22.1c-1.7 2.6-.9 6.1 1.8 7.7.3.1.5.3.7.4l2 .9c.6.2.8 1 .6 1.7zm24-4.5c-3.3 2-6.7 3.7-10.2 4.8 0 0-.7.3-.9.3-2 .7-4 1.2-6.1 1.6-1.2.3-2.4.4-3.5.5l.4-.7c1.6-2.7.7-6.1-2.1-7.7-.1-.1-.4-.1-.5-.3l-2-.9c-.7-.3-1-1-.7-1.7 0-.1.1-.3.1-.3l1.8-2.1h23.5c0 1 .1 2.1.1 3.3v3.2z\"}]},\ntrailhead_alt:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M45.27 62.76c-.05.11-.1.2-.14.31a8.62 8.62 0 003 9.82c2 1.54 2.37 2.19 2.17 3.65A9.38 9.38 0 0148.94 80 55.9 55.9 0 0120 70.79v-4.62c0-1.15.06-2.28.13-3.41h25.14zm34.6 0c.07 1.13.13 2.26.13 3.41v4.62a56.27 56.27 0 01-25.39 9 12.2 12.2 0 00.68-2.54c.66-4.66-2.29-7-4.06-8.33a3.59 3.59 0 01-1.4-4.07A9.85 9.85 0 0151 62.76h28.87zM45.62 42l5.5 8.1-5.19 7.65h-11zM50 20a49 49 0 0129.35 37.73H72L61 41.61a2.61 2.61 0 00-4.16 0l-2.72 4-6.42-9.51a2.61 2.61 0 00-4.16 0l-14.7 21.63h-8.19A49 49 0 0150 20zm9 27.5l6.95 10.23H52z\",\"fill-rule\":\"evenodd\"}},\ntravel_mode:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"mask\":{\"id\":\"ooa\",\"height\":\"60\",\"maskUnits\":\"userSpaceOnUse\",\"width\":\"60\",\"x\":\"20\",\"y\":\"20\",\"path\":{\"d\":\"M20 20h60v60H20z\",\"fill-rule\":\"evenodd\"}},\"g\":{\"mask\":\"url(#ooa)\",\"path\":{\"d\":\"M53.77 72.12C54 59.88 62.25 50 72.49 50a22.49 22.49 0 01-18.66 22.12M27.49 50C37.75 50 46 59.88 46.16 72.12A22.5 22.5 0 0127.49 50M50 27.51a22.44 22.44 0 0121.12 15H28.88a22.44 22.44 0 0121.12-15M50 20a30 30 0 1030 30 30 30 0 00-30-30\",\"fill-rule\":\"evenodd\"}}},\nunmatched:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M65.7 46.8c-.1-.5-.5-.8-1-.8H35.3c-.5 0-.9.3-1 .8-.2 1-.3 2.1-.3 3.2s.1 2.2.3 3.2c.1.5.5.8 1 .8h29.4c.5 0 .9-.3 1-.8.2-1 .3-2.1.3-3.2s-.1-2.2-.3-3.2z\"},{\"d\":\"M50 20c-16.5 0-30 13.5-30 30s13.5 30 30 30 30-13.5 30-30-13.5-30-30-30zm0 52c-12.1 0-22-9.9-22-22s9.9-22 22-22 22 9.9 22 22-9.9 22-22 22z\"}]},\nuser:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M80 71.2V74c0 3.3-2.7 6-6 6H26c-3.3 0-6-2.7-6-6v-2.8c0-7.3 8.5-11.7 16.5-15.2.3-.1.5-.2.8-.4.6-.3 1.3-.3 1.9.1C42.4 57.8 46.1 59 50 59c3.9 0 7.6-1.2 10.8-3.2.6-.4 1.3-.4 1.9-.1.3.1.5.2.8.4 8 3.4 16.5 7.8 16.5 15.1z\"},\"ellipse\":{\"cx\":\"50\",\"cy\":\"36.5\",\"rx\":\"14.9\",\"ry\":\"16.5\"}},\nuser_role:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M44 63.3c0-3.4 1.1-7.2 2.9-10.2 2.1-3.7 4.5-5.2 6.4-8 3.1-4.6 3.7-11.2 1.7-16.2-2-5.1-6.7-8.1-12.2-8s-10 3.5-11.7 8.6c-2 5.6-1.1 12.4 3.4 16.6 1.9 1.7 3.6 4.5 2.6 7.1-.9 2.5-3.9 3.6-6 4.6-4.9 2.1-10.7 5.1-11.7 10.9-1 4.7 2.2 9.6 7.4 9.6H48c1 0 1.6-1.2 1-2-3.2-3.6-5-8.2-5-13zm20-15c-8.2 0-15 6.7-15 15s6.7 15 15 15 15-6.7 15-15-6.7-15-15-15zm2.6 16.4c-.4 0-.9-.1-1.2-.2l-5.7 5.7c-.4.4-.9.5-1.2.5-.5 0-.9-.1-1.2-.5-.6-.6-.6-1.7 0-2.5L63 62c-.1-.4-.2-.7-.2-1.2-.2-2.6 1.9-5 4.5-5 .4 0 .9.1 1.2.2.2 0 .2.2.1.4L66 58.9c-.2.1-.2.5 0 .6l1.7 1.7c.2.2.5.2.7 0l2.5-2.5c.1-.1.4-.1.4.1.1.4.2.9.2 1.2.1 2.8-2.1 4.9-4.9 4.7z\"}},\nvariable:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M70.9 39.7c3.1 0 9.1-2.5 9.1-10.6s-5.8-8.5-7.6-8.5c-3.6 0-7.1 2.6-10.2 7.9C59.1 34 55.6 40 55.6 40h-.1c-.8-3.8-1.4-7-1.7-8.4-.6-3.3-4.5-10.6-12.5-10.6S26 25.6 26 25.6c-1.4.9-2.3 2.4-2.3 4.1 0 2.7 2.2 4.9 4.9 4.9.8 0 1.5-.2 2.1-.5 0 0 6.1-3.4 7.4 0 .4 1 .7 2.2 1.1 3.4 1.6 5.2 3 11.4 4.2 17l-5.2 7.6s-5.9-2.1-9-2.1S20 62.5 20 70.6s5.8 8.5 7.6 8.5c3.6 0 7.1-2.6 10.2-7.9 3.1-5.5 6.6-11.5 6.6-11.5 1 5 1.9 9 2.4 10.6 2 5.7 6.6 9.1 12.7 9.1 0 0 6.3 0 13.7-4.2 1.8-.7 3.1-2.5 3.1-4.5 0-2.7-2.2-4.9-4.9-4.9-.8 0-1.5.2-2.1.5 0 0-5.3 3-7.1.6-1.3-2.5-2.4-5.7-3.2-9.7-.8-3.6-1.7-7.8-2.5-11.9l5.3-7.7c.1 0 6 2.1 9.1 2.1z\"}},\nvariation_attribute_setup:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M46.8 23.1a1.66 1.66 0 00-1.8 1.7V52a1.53 1.53 0 001.7 1.7h.1a1.58 1.58 0 001.7-1.7V24.7a1.55 1.55 0 00-1.7-1.6zM29.3 23.1h-6.7a1.58 1.58 0 00-1.7 1.7V52a1.63 1.63 0 001.7 1.7h6.7A1.58 1.58 0 0031 52V24.7a1.66 1.66 0 00-1.7-1.6zM38.8 23.1h-1.7a1.58 1.58 0 00-1.7 1.7V52a1.53 1.53 0 001.7 1.7h1.7a1.58 1.58 0 001.7-1.7V24.7a1.55 1.55 0 00-1.7-1.6zM71.9 48.1v.2l.1.8a2.09 2.09 0 01.6.4l.9-.5.7-.3.6-.2V24.7a1.58 1.58 0 00-1.7-1.7h-3.4a1.58 1.58 0 00-1.7 1.7v19a5.82 5.82 0 013.9 4.4zM56.6 49l.6.2a4.35 4.35 0 01.7-.4l.1-.7v-.2a6 6 0 015-4.6V24.7a1.66 1.66 0 00-1.7-1.6h-6.7a1.58 1.58 0 00-1.7 1.7v24a6.75 6.75 0 011.4-.2 5.76 5.76 0 012.3.4zM75.5 64.3a14.92 14.92 0 00.2-2.1 14.92 14.92 0 00-.2-2.1l2.3-1.9a2.12 2.12 0 00.5-2.6l-1-1.8a2.23 2.23 0 00-1.8-1c-.2 0-.5.1-.7.1L72 54a10.27 10.27 0 00-3.6-2.1l-.5-2.9a2 2 0 00-2.1-1.5h-2a2.08 2.08 0 00-2.1 1.5l-.5 2.8a10.46 10.46 0 00-3.7 2.1l-2.7-1.1a1.48 1.48 0 00-.7-.1 2.23 2.23 0 00-1.8 1l-1 1.7a2 2 0 00.5 2.6l2.3 1.9a14.92 14.92 0 00-.2 2.1 14.92 14.92 0 00.2 2.1l-2.3 2a2.12 2.12 0 00-.5 2.6l1 1.9a2.23 2.23 0 001.8 1c.2 0 .5-.1.7-.1l2.8-1.1a10.27 10.27 0 003.6 2.1l.5 3a2.06 2.06 0 002.1 1.7h2a2.14 2.14 0 002.1-1.7l.5-3a10 10 0 003.8-2.3l2.6 1.1a1.7 1.7 0 00.7.1 2.23 2.23 0 001.8-1l.9-1.6a2 2 0 00-.4-2.6zm-10.6 4.9a6.8 6.8 0 116.8-6.8 6.81 6.81 0 01-6.8 6.8z\"},{\"d\":\"M64.8 58.7a3.7 3.7 0 103.7 3.7 3.7 3.7 0 00-3.7-3.7z\"}]},\nvariation_products:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M73.9 53.3a1.46 1.46 0 00.9-1.5V24.6a1.58 1.58 0 00-1.7-1.7h-3.4a1.58 1.58 0 00-1.7 1.7v20.8a9 9 0 015.9 7.9zM54.5 53.4h1.4a9.07 9.07 0 017-8.4V24.6a1.58 1.58 0 00-1.7-1.7h-6.7a1.58 1.58 0 00-1.7 1.7v27.2a1.55 1.55 0 001.7 1.6zM38.8 22.9h-1.7a1.58 1.58 0 00-1.7 1.7v27.2a1.53 1.53 0 001.7 1.7h1.7a1.58 1.58 0 001.7-1.7V24.6a1.68 1.68 0 00-1.7-1.7zM29.2 22.9h-6.7a1.58 1.58 0 00-1.7 1.7v27.2a1.63 1.63 0 001.7 1.7h6.7a1.58 1.58 0 001.7-1.7V24.6a1.58 1.58 0 00-1.7-1.7zM46.8 22.9h-.1a1.58 1.58 0 00-1.7 1.7v27.2c-.1.9.6 1.6 1.8 1.6a1.58 1.58 0 001.7-1.7V24.6a1.58 1.58 0 00-1.7-1.7zM60 53.9a4.89 4.89 0 005 5 6.75 6.75 0 001.4-.2l3.5 6.4c.2.3.5.4.7.2a4.37 4.37 0 011.7-.8.55.55 0 00.3-.7L68.9 57a4.89 4.89 0 001.1-3.1 5 5 0 00-10 0zM59.9 60.2a.54.54 0 00-.8.2L55.6 67a1.7 1.7 0 00-.7-.1 4.94 4.94 0 103.4 1.3l3.5-6.4c.1-.1 0-.4-.2-.6a15.05 15.05 0 01-1.7-1zM75.1 67a4.94 4.94 0 00-4.9 4.1h-6.7a.56.56 0 00-.5.6v.5a6.75 6.75 0 01-.2 1.4.5.5 0 00.5.6h7.1a5 5 0 004.6 3 5.1 5.1 0 00.1-10.2z\"}},\nvideo:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M77.57 33.37l-14.11 10.2v-7.24A3.44 3.44 0 0060 32.86H23.46A3.44 3.44 0 0020 36.3v27.37a3.44 3.44 0 003.41 3.47h36.71a3.44 3.44 0 003.47-3.43v-7.1l14 10a1.42 1.42 0 002 0 1.39 1.39 0 00.41-1V34.4a1.42 1.42 0 00-2.43-1.07\"}},\nvisit_templates:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M30 58c-1.1 0-2-.9-2-2v-2c0-1.1.9-2 2-2h20c.5 0 .9.2 1.3.5C54.5 49 59 46.6 64 46.1V26c0-3.3-2.7-6-6-6H26c-3.3 0-6 2.7-6 6v34c0 3.3 2.7 6 6 6h20c0-2.8.6-5.5 1.7-8H30zm-2-28c0-1.1.9-2 2-2h20c1.1 0 2 .9 2 2v2c0 1.1-.9 2-2 2H30c-1.1 0-2-.9-2-2v-2zm0 12c0-1.1.9-2 2-2h24c1.1 0 2 .9 2 2v2c0 1.1-.9 2-2 2H30c-1.1 0-2-.9-2-2v-2z\"},{\"d\":\"M66 52c-7.7 0-14 6.3-14 14s6.3 14 14 14 14-6.3 14-14-6.3-14-14-14zm7.9 10.5L65 72.2c-.4.4-.8.6-1.4.6-.5 0-1-.2-1.4-.6l-4.8-4.7c-.4-.4-.4-1 0-1.3l1.4-1.3c.4-.4 1-.4 1.4 0l3.4 3.4 7.5-8.4c.4-.4 1-.4 1.4 0l1.4 1.3c.3.3.3 1 0 1.3z\"}]},\nvisits:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M50.6 52.9c2.6-3.7 5.3-5.6 7.1-8.4 3.2-4.8 3.9-11.6 1.8-16.8-2.1-5.3-7-8.4-12.7-8.3S36.5 23 34.7 28.3c-2.1 5.8-1.2 12.8 3.5 17.2 1.9 1.8 3.7 4.7 2.7 7.4-.9 2.6-4 3.7-6.2 4.8-5 2.2-11.1 5.3-12.1 11.2-1 4.9 2.3 10 7.6 10h23.3c1 0 1.9-1.2 1.3-1.9-3.2-3.7-6.6-8.7-6.6-13.6-.3-3.5.7-7.4 2.4-10.5zm14.2 13.5c-2.7 0-5-2.2-5-4.9s2.2-4.9 5-4.9c2.7 0 5 2.2 5 4.9.1 2.7-2.3 4.9-5 4.9zm0-16.8c-6.6 0-11.9 5.3-11.9 11.9 0 8.1 8.5 15.8 11.1 17.7.4.4 1 .4 1.6 0 2.6-2.1 11.1-9.6 11.1-17.7 0-6.6-5.3-11.9-11.9-11.9z\"}},\nvisualforce_page:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M55.4 53.6c-.6 0-1.2-.5-1.2-1.2v-7.3c0-.6.5-1.2 1.2-1.2h7.5c.6 0 1.2.5 1.2 1.2v7.3c0 .6-.5 1.2-1.2 1.2h-7.5zM58.6 57.9l-4.3 4.7c-.3.3-.3.7 0 1l4.3 4.7c.3.3.8.3 1.1 0l4.3-4.7c.3-.3.3-.7 0-1l-4.3-4.7c-.3-.3-.8-.3-1.1 0z\"},{\"d\":\"M36.4 45.6l3.8-2.2c.3-.2.8-.2 1.1 0l3.8 2.2c.3.2.6.6.6 1v4.3c0 .4-.2.8-.6 1l-3.8 2.2c-.3.2-.8.2-1.1 0l-3.8-2.2c-.3-.2-.6-.6-.6-1v-4.3c0-.4.2-.8.6-1z\"},{\"d\":\"M73.8 20H26.2c-3.4 0-6.2 2.8-6.2 6.2v47.6c0 3.4 2.8 6.2 6.2 6.2h47.6c3.4 0 6.2-2.8 6.2-6.2V26.2c0-3.4-2.8-6.2-6.2-6.2zm0 51.7c0 1.2-.9 2.1-2.1 2.1H28.3c-1.1 0-2.1-.9-2.1-2.1V38.2h47.6v33.5zm0-39.5H26.2v-3.9c0-1.2.9-2.1 2.1-2.1h43.4c1.1 0 2.1.9 2.1 2.1v3.9z\"}],\"circle\":{\"cx\":\"40.7\",\"cy\":\"63\",\"r\":\"4.9\"}}},\nvoice_call:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M77.7 63.9l-6.2-5c-2.1-1.7-5.1-1.8-7.3-.2L58.3 63c-.8.6-1.9.5-2.6-.2L46 54l-8.9-9.8c-.7-.7-.8-1.8-.2-2.6l4.3-5.9c1.6-2.2 1.5-5.2-.2-7.3l-5-6.2c-2.2-2.8-6.4-3-8.9-.5l-5.4 5.4c-1.2 1.2-1.8 2.9-1.8 4.5.7 12.7 6.5 24.8 15 33.3s20.5 14.3 33.3 15c1.7.1 3.3-.6 4.5-1.8l5.4-5.4c2.7-2.4 2.4-6.6-.4-8.8z\"}},\nwaits:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M80 40.5c0-1-.9-1.9-1.9-1.9H51.9c-1 0-1.9.9-1.9 1.9v3.7c0 1 .9 1.9 1.9 1.9h17.8L50.4 69.8s0 .1-.1.1c-.2.3-.4.7-.4 1.1v3.7c0 1 .9 1.9 1.9 1.9h26.3c1 0 1.9-.9 1.9-1.9V71c0-1-.9-1.9-1.9-1.9H60.6l19-23.3c.3-.4.4-.8.3-1.3v-4z\"},{\"d\":\"M50 25.3c0-1-.9-1.9-1.9-1.9H21.9c-1 0-1.9.9-1.9 1.9V29c0 1 .9 1.9 1.9 1.9h17.8L20.4 54.6s0 .1-.1.1c-.2.3-.3.6-.3 1v3.7c0 1 .9 1.9 1.9 1.9h26.3c1 0 1.9-.9 1.9-1.9v-3.7c0-1-.9-1.9-1.9-1.9H30.6l19-23.3c.3-.4.4-.8.3-1.3V25.3z\"}]},\nwarranty_term:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M50 20c3.79 0 6.79 4.11 10.11 5.53s8.52.63 11 3.31 1.89 7.58 3.31 11.05S80 46.21 80 50s-4.11 6.79-5.53 10.11-.63 8.52-3.31 11c-2.53 2.52-7.58 1.89-11 3.31S53.79 80 50 80s-6.79-4.11-10.11-5.53-8.52-.63-11-3.31c-2.52-2.53-1.89-7.58-3.31-11S20 53.79 20 50s4.11-6.79 5.53-10.11.63-8.52 3.31-11 7.58-1.89 11.05-3.36S46.21 20 50 20zm0 9.47A20.53 20.53 0 1070.53 50 20.59 20.59 0 0050 29.47zm9.52 11.44l2 1.9a1.55 1.55 0 010 1.89L48.78 58.84a2.55 2.55 0 01-2 .88 2.76 2.76 0 01-2-.88L37.9 52a1.26 1.26 0 010-1.89l2-1.9a1.37 1.37 0 012 0l4.87 5 10.75-12.3a1.37 1.37 0 012 0z\"}},\nwebcart:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M42.4 50h29.5c.9 0 1.7-.6 1.9-1.5l5.4-19c.4-1.3-.6-2.5-1.9-2.5H31.7l-.8-2.8c-.4-1.3-1.6-2.2-2.9-2.2h-4.8c-1.6 0-3.1 1.2-3.2 2.8-.1 1.7 1.3 3.2 3 3.2h2.8l9.4 31.8c.4 1.3 1.5 2.2 2.9 2.2h34.8c1.6 0 3.1-1.2 3.2-2.8.1-1.7-1.3-3.2-3-3.2H42.5c-1.3 0-2.5-.9-2.8-2.1v-.1c-.7-1.9.8-3.8 2.7-3.8z\"},\"circle\":[{\"cx\":\"43\",\"cy\":\"73\",\"r\":\"5\"},{\"cx\":\"67\",\"cy\":\"73\",\"r\":\"5\"}]}},\nwork_capacity_limit:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M75.9 29.3l-9-8.9c-.3-.3-.6-.4-.9-.4-.8 0-1.4.6-1.4 1.4v6.4c.1 2.1 1.8 3.8 3.9 3.8h6.4c.7 0 1.3-.6 1.3-1.3 0-.4-.1-.7-.3-1zM29.6 62.6v-31c-3.2 0-5.8 2.6-5.8 5.8v36.7c0 3.2 2.6 5.8 5.8 5.9h29.2c3.2 0 5.7-2.5 5.8-5.7H41.3c-6.4 0-11.7 0-11.7-11.7zM51.5 44.3v9H60s.5-3.2-2.4-6.2c-2.9-2.9-6.1-2.8-6.1-2.8z\"},{\"d\":\"M74.2 37.4h-9.8c-3.2.1-5.8-2.5-5.9-5.7V21.9c.1-1-.7-1.8-1.7-1.9H41.2c-3.2-.1-5.8 2.5-5.9 5.7V62.5c0 3.2 2.6 5.8 5.8 5.8H70.3c3.2.1 5.8-2.5 5.9-5.7V39.4c0-1.1-.8-2-2-2zM63.5 53c-.1 6.5-5.4 11.8-11.9 11.7s-11.8-5.4-11.7-11.9c.1-6.5 5.4-11.8 11.9-11.7 6.5 0 11.7 5.4 11.7 11.9z\"}]}},\nwork_capacity_usage:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M39 32h22c1.1 0 2-.9 2-2v-4c0-3.3-2.7-6-6-6H43c-3.3 0-6 2.7-6 6v4c0 1.1.9 2 2 2zM49.8 48.4v11.4h10.7s.6-4-3.1-7.8-7.6-3.6-7.6-3.6z\"},{\"d\":\"M72 25h-2c-.6 0-1 .4-1 1v4c0 4.4-3.6 8-8 8H39c-4.4 0-8-3.6-8-8v-4c0-.6-.4-1-1-1h-2c-3.3 0-6 2.7-6 6v43c0 3.3 2.7 6 6 6h44c3.3 0 6-2.7 6-6V31c0-3.3-2.7-6-6-6zm-7.1 34.3c-.1 8.2-6.8 14.9-15 14.8-8.2-.1-14.9-6.8-14.8-15 .1-8.2 6.8-14.9 15-14.8 8.2 0 14.8 6.8 14.8 15z\"}]}},\nwork_contract:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M56.3 34h9.1a1.16 1.16 0 001.2-1.2 1.09 1.09 0 00-.4-.9L55 20.6a1.27 1.27 0 00-.9-.4 1.16 1.16 0 00-1.2 1.2v9.1a3.6 3.6 0 003.4 3.5zM63.9 55.2a12.3 12.3 0 1012.3 12.3 12.29 12.29 0 00-12.3-12.3zM66 68.6c-.4 0-.7-.1-1-.1l-4.7 4.6a1.22 1.22 0 01-1 .5 1.28 1.28 0 01-1-.4 1.66 1.66 0 010-2.1l4.7-4.7a2.79 2.79 0 01-.1-1 3.85 3.85 0 013.7-4.1c.4 0 .7.1 1 .1.1 0 .1.1.1.4l-2.1 2.1a.45.45 0 000 .5l1.5 1.5a.63.63 0 00.6 0l2.1-2.1c.1-.1.4-.1.4.1a3.75 3.75 0 01.1 1 4 4 0 01-4.3 3.7z\"},{\"d\":\"M51.6 56.6c4.3-5 11.3-5.3 12.3-5.3s2.7-.1 2.6-1.5 0-8.9 0-8.9a1.63 1.63 0 00-1.7-1.7h-12a5.12 5.12 0 01-5.1-5.1v-12a1.63 1.63 0 00-1.7-1.7H29a5.26 5.26 0 00-5.1 5.1v41.1a5.12 5.12 0 005.1 5.1h17.4s1.7-1 1.6-2.4-.6-7.8 3.6-12.7zM36 24.9a3.7 3.7 0 11-3.7 3.7 3.69 3.69 0 013.7-3.7zm-5.7 12.9a5.62 5.62 0 015.6-4.8h.2a5.62 5.62 0 015.6 4.8.9.9 0 01-1 .9h-9.6c-.8 0-.8-.5-.8-.9zm15 21.9a1.63 1.63 0 01-1.7 1.7H32.4a1.63 1.63 0 01-1.7-1.7V58a1.63 1.63 0 011.7-1.7h11.2a1.63 1.63 0 011.7 1.7zm-12.9-8.6a1.63 1.63 0 01-1.7-1.7v-1.7a1.63 1.63 0 011.7-1.7H53a1.63 1.63 0 011.7 1.7v1.7a1.63 1.63 0 01-1.7 1.7z\"}]},\nwork_forecast:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M77.7 29.2S74.2 22 66.4 22s-11.5 7.4-11.5 7.4a11.67 11.67 0 00-9.9 0S41.4 22 33.6 22s-11.3 7.2-11.3 7.2-7.3 16.3-7.5 30.9C14.6 74.5 24.3 78 28.9 78c5 0 16.8-2.1 16.2-18.5a4.78 4.78 0 014.5-2.7 5.94 5.94 0 015.4 2.7C54.4 75.9 66.2 78 71.1 78c4.5 0 14.3-3.5 14.1-17.9-.2-14.6-7.5-30.9-7.5-30.9zM29.8 71.6a8.7 8.7 0 118.7-8.7 8.71 8.71 0 01-8.7 8.7zm40.4 0a8.7 8.7 0 118.7-8.7 8.71 8.71 0 01-8.7 8.7z\"}},\nwork_order:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M65.2 52.2c-3.6 1.4-5 4.8-5.2 5.3-.3.7-.8.8-.8.8h-18c-.3 0-.6-.4-.8-.7-1.5-3.5-5-6.1-9-6.1-3.7 0-6.9 2-8.6 5-.2.4-.8.5-1.2.2-1-.9-1.6-2.2-1.6-3.6 0 0-.6-11.6 3.3-17.6.7-1 1.2-1.4 2.1-1.4h38c.4 0 .8 0 1.2.3 0 0 4.2 6.4 4.8 7 .5.5 1 .9 2.3 1.2.8.2 8.1 2.8 8.1 2.8.4.2.3.7.3 1.1V53c0 1.4-.4 2.7-1.4 3.6-.4.3-.9.2-1.1-.2-1.7-3-4.8-5-8.5-5-1.5 0-2.7.3-3.9.8\"},\"circle\":[{\"cx\":\"69\",\"cy\":\"61.1\",\"r\":\"4.9\"},{\"cx\":\"31.5\",\"cy\":\"61.1\",\"r\":\"4.9\"}]},\nwork_order_item:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M39 32h22c1.1 0 2-.9 2-2v-4c0-3.3-2.7-6-6-6H43c-3.3 0-6 2.7-6 6v4c0 1.1.9 2 2 2z\"},{\"d\":\"M72 25h-2c-.6 0-1 .4-1 1v4c0 4.4-3.6 8-8 8H39c-4.4 0-8-3.6-8-8v-4c0-.6-.4-1-1-1h-2c-3.3 0-6 2.7-6 6v43c0 3.3 2.7 6 6 6h44c3.3 0 6-2.7 6-6V31c0-3.3-2.7-6-6-6zm-5.2 24L47.6 68.2c-.5.5-1.1.8-1.8.8s-1.4-.3-1.9-.8L33.2 57.5c-.5-.5-.5-1.1 0-1.6l2.1-2.1c.5-.5 1.1-.5 1.6 0l8.8 8.8L63 45.3c.5-.5 1.1-.5 1.6 0l2.1 2.1c.5.5.5 1.2.1 1.6z\"}]},\nwork_plan:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M39 32h22a2 2 0 002-2v-4a6 6 0 00-6-6H43a6 6 0 00-6 6v4a2 2 0 002 2zm33-7h-2a.94.94 0 00-1 1v4a8 8 0 01-8 8H39a8 8 0 01-8-8v-4a.94.94 0 00-1-1h-2a6 6 0 00-6 6v43a6 6 0 006 6h44a6 6 0 006-6V31a6 6 0 00-6-6zM39 68a2 2 0 01-2 2h-2a2 2 0 01-2-2v-2a2 2 0 012-2h2a2 2 0 012 2zm0-10a2 2 0 01-2 2h-2a2 2 0 01-2-2v-2a2 2 0 012-2h2a2 2 0 012 2zm0-10a2 2 0 01-2 2h-2a2 2 0 01-2-2v-2a2 2 0 012-2h2a2 2 0 012 2zm28 20a2 2 0 01-2 2H45a2 2 0 01-2-2v-2a2 2 0 012-2h20a2 2 0 012 2zm0-10a2 2 0 01-2 2H45a2 2 0 01-2-2v-2a2 2 0 012-2h20a2 2 0 012 2zm0-10a2 2 0 01-2 2H45a2 2 0 01-2-2v-2a2 2 0 012-2h20a2 2 0 012 2z\"}},\nwork_plan_rule:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M39.3 32.1h21.4a2 2 0 002-2v-4a6 6 0 00-5.8-6H43.3a5.91 5.91 0 00-5.8 6v4a1.74 1.74 0 001.8 2z\"},{\"d\":\"M71.4 25.2h-2a.94.94 0 00-1 1v4a7.9 7.9 0 01-7.8 7.9H39.3a7.9 7.9 0 01-7.8-7.9v-4a.94.94 0 00-1-1h-2a5.91 5.91 0 00-5.8 6v42.6a6 6 0 005.8 6h42.9a5.91 5.91 0 005.8-6V31.2a5.79 5.79 0 00-5.8-6zM68.7 73a1.49 1.49 0 01-1.2 1.2H56.3c-.7 0-1-.8-.3-1.3l3.6-3.8-7-7H32.4a1.07 1.07 0 01-1-1v-4.5a1.08 1.08 0 011-1h20.2l6.9-7-3.6-3.6c-.5-.6-.3-1.4.4-1.4h11.1a1.49 1.49 0 011.2 1.2v11.1c0 .7-.8 1-1.3.3l-3.6-3.5-6.2 6.2 6.2 6.1 3.6-3.6c.6-.5 1.4-.3 1.4.4z\"}]},\nwork_plan_template:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M33.3 73.5a4.89 4.89 0 01-4.8-4.9v-34h-1.6a4.89 4.89 0 00-4.8 4.9v35.4a4.89 4.89 0 004.8 4.9h35.6a4.89 4.89 0 004.8-4.9v-1.4z\"},{\"d\":\"M46.5 30.2h17.8a1.58 1.58 0 001.6-1.6v-3.3a4.91 4.91 0 00-4.9-4.9H49.7a4.91 4.91 0 00-4.9 4.9v3.3a1.73 1.73 0 001.7 1.6zm26.7-5.7h-1.6a.74.74 0 00-.8.8v3.3a6.57 6.57 0 01-6.5 6.6H46.5a6.57 6.57 0 01-6.5-6.6v-3.3a.74.74 0 00-.8-.8h-1.6a4.91 4.91 0 00-4.9 4.9v35.3a4.91 4.91 0 004.9 4.9h35.6a4.91 4.91 0 004.9-4.9V29.4a4.91 4.91 0 00-4.9-4.9zM46.5 59.8a1.58 1.58 0 01-1.6 1.6h-1.6a1.58 1.58 0 01-1.6-1.6v-1.6a1.58 1.58 0 011.6-1.6h1.6a1.58 1.58 0 011.6 1.6zm0-8.2a1.58 1.58 0 01-1.6 1.6h-1.6a1.58 1.58 0 01-1.6-1.6V50a1.58 1.58 0 011.6-1.6h1.6a1.58 1.58 0 011.6 1.6zm0-8.2a1.58 1.58 0 01-1.6 1.6h-1.6a1.58 1.58 0 01-1.6-1.6v-1.6a1.58 1.58 0 011.6-1.6h1.6a1.58 1.58 0 011.6 1.6zm22.7 16.4a1.58 1.58 0 01-1.6 1.6H51.4a1.58 1.58 0 01-1.6-1.6v-1.6a1.58 1.58 0 011.6-1.6h16.2a1.58 1.58 0 011.6 1.6zm0-8.2a1.58 1.58 0 01-1.6 1.6H51.4a1.58 1.58 0 01-1.6-1.6V50a1.58 1.58 0 011.6-1.6h16.2a1.58 1.58 0 011.6 1.6zm0-8.2a1.58 1.58 0 01-1.6 1.6H51.4a1.58 1.58 0 01-1.6-1.6v-1.6a1.58 1.58 0 011.6-1.6h16.2a1.58 1.58 0 011.6 1.6z\"}]},\nwork_plan_template_entry:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M69.6 59.3a10.2 10.2 0 1010.2 10.2 10.24 10.24 0 00-10.2-10.2zm6.6 7.4l-7.5 7.5a1.45 1.45 0 01-2 0L63 70.6a.67.67 0 010-1l1-1a.67.67 0 011 0l2.6 2.6 6.5-6.5a.67.67 0 011 0l1 1a.76.76 0 01.1 1zM44.5 30h17.8a1.58 1.58 0 001.6-1.6v-3.3a4.91 4.91 0 00-4.9-4.9H47.7a4.91 4.91 0 00-4.9 4.9v3.3a1.73 1.73 0 001.7 1.6zM56.1 73.3H31.4a4.89 4.89 0 01-4.8-4.9v-34H25a4.89 4.89 0 00-4.8 4.9v35.4a4.89 4.89 0 004.8 4.9h34.9a12.11 12.11 0 01-3.8-6.3z\"},{\"d\":\"M35.6 69.5h20.1a15.14 15.14 0 01.7-3.7 13.68 13.68 0 012.3-4.5h-9.4a1.58 1.58 0 01-1.6-1.6V58a1.58 1.58 0 011.6-1.6h16.2c.2 0 .3 0 .4.1a13.61 13.61 0 013.6-.5 13.89 13.89 0 016.5 1.6V29.2a4.91 4.91 0 00-4.9-4.9h-1.6a.74.74 0 00-.8.8v3.3a6.57 6.57 0 01-6.5 6.6H44.5a6.64 6.64 0 01-6.5-6.6v-3.3a.74.74 0 00-.8-.8h-1.6a4.91 4.91 0 00-4.9 4.9v35.3a5.06 5.06 0 004.9 5zm12.1-28a1.58 1.58 0 011.6-1.6h16.2a1.58 1.58 0 011.6 1.6v1.6a1.58 1.58 0 01-1.6 1.6H49.4a1.58 1.58 0 01-1.6-1.6v-1.6zm0 8.2a1.58 1.58 0 011.6-1.6h16.2a1.58 1.58 0 011.6 1.6v1.6a1.58 1.58 0 01-1.6 1.6H49.4a1.58 1.58 0 01-1.6-1.6v-1.6zm-8-8.2a1.58 1.58 0 011.6-1.6h1.6a1.58 1.58 0 011.6 1.6v1.6a1.58 1.58 0 01-1.6 1.6h-1.6a1.58 1.58 0 01-1.6-1.6zm0 8.2a1.58 1.58 0 011.6-1.6h1.6a1.58 1.58 0 011.6 1.6v1.6a1.58 1.58 0 01-1.6 1.6h-1.6a1.58 1.58 0 01-1.6-1.6zm0 8.3a1.58 1.58 0 011.6-1.6h1.6a1.58 1.58 0 011.6 1.6v1.6a1.58 1.58 0 01-1.6 1.6h-1.6a1.58 1.58 0 01-1.6-1.6z\"}]},\nwork_queue:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M47.9 71.8h-26c-1.1 0-2-.9-2-2v-4c0-1.1.9-2 2-2h25.9c1.1 0 2 .9 2 2v4c.1 1-.7 1.9-1.8 2h-.1zM47.9 36h-26c-1.1 0-2-.9-2-2v-4c0-1.1.9-2 2-2h25.9c1.1 0 2 .9 2 2v4c.1 1-.7 1.9-1.8 2h-.1zM61.4 66.6c.7.7 1.9.7 2.6 0l15.3-15.2c.8-.7.8-1.9.2-2.6l-.2-.2L64 33.3c-.7-.8-1.9-.8-2.6-.2l-.2.2-2.8 2.8c-.8.7-.8 1.9-.2 2.6l.2.2 4.8 4.8c.5.5.5 1.4 0 1.9-.2.2-.6.4-.9.4H22.1c-1.1 0-2.1.9-2.1 2v4c.1 1.1 1 1.9 2.1 2h40.4c.7 0 1.3.6 1.3 1.3 0 .3-.1.7-.4.9L58.6 61c-.8.7-.8 1.9-.2 2.6l.2.2 2.8 2.8z\"}},\nwork_step:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M39 32h22a2 2 0 002-2v-4a6 6 0 00-6-6H43a6 6 0 00-6 6v4a2 2 0 002 2z\"},{\"d\":\"M72 25h-2a.94.94 0 00-1 1v4a8 8 0 01-8 8H39a8 8 0 01-8-8v-4a.94.94 0 00-1-1h-2a6 6 0 00-6 6v43a6 6 0 006 6h44a6 6 0 006-6V31a6 6 0 00-6-6zM57 64a2 2 0 01-2 2H34.9a2 2 0 01-2-2v-2a2 2 0 012-2H55a2 2 0 012 2zm10-10a2 2 0 01-2 2H34.9a2 2 0 01-2-2v-2a2 2 0 012-2H65a2 2 0 012 2z\"}]},\nwork_step_template:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M28.5 68.5v-34h-1.6a4.89 4.89 0 00-4.8 4.9v35.4a4.89 4.89 0 004.8 4.9h35.6a4.89 4.89 0 004.8-4.9v-1.4h-34a4.89 4.89 0 01-4.8-4.9zM46.4 30.2h17.7a1.58 1.58 0 001.6-1.6v-3.3a4.89 4.89 0 00-4.8-4.9H49.6a4.82 4.82 0 00-4.8 4.9v3.3a1.64 1.64 0 001.6 1.6z\"},{\"d\":\"M73 24.4h-1.6a.74.74 0 00-.8.8v3.3a6.57 6.57 0 01-6.5 6.6H46.4a6.64 6.64 0 01-6.5-6.6v-3.3a.74.74 0 00-.8-.8h-1.6a4.82 4.82 0 00-4.8 4.9v35.3a4.89 4.89 0 004.8 4.9H73a4.82 4.82 0 004.8-4.9V29.4a4.85 4.85 0 00-4.8-5zM60.9 55.5a1.58 1.58 0 01-1.6 1.6H43.1a1.58 1.58 0 01-1.6-1.6v-1.6a1.58 1.58 0 011.6-1.6h16.2a1.58 1.58 0 011.6 1.6zm8.1-8.2a1.58 1.58 0 01-1.6 1.6H43.1a1.58 1.58 0 01-1.6-1.6v-1.6a1.58 1.58 0 011.6-1.6h24.3a1.58 1.58 0 011.6 1.6z\"}]},\nwork_type:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M75.87 29.25l-9-8.88A1.13 1.13 0 0066 20a1.39 1.39 0 00-1.38 1.38v6.38a3.89 3.89 0 003.87 3.87h6.37a1.39 1.39 0 001.38-1.38 1.66 1.66 0 00-.37-1zM29.63 62.63v-31a5.84 5.84 0 00-5.88 5.75v36.74A5.87 5.87 0 0029.63 80h29.12a5.84 5.84 0 005.88-5.75H41.25c-6.37 0-11.62 0-11.62-11.62z\",\"fill-rule\":\"evenodd\"},{\"d\":\"M74.25 37.38H64.5a5.84 5.84 0 01-5.87-5.75v-9.75A1.77 1.77 0 0056.75 20h-15.5a5.84 5.84 0 00-5.87 5.75V62.5a5.76 5.76 0 005.88 5.75h29.12a5.84 5.84 0 005.88-5.75V39.38a2 2 0 00-2.01-2zM49.91 62.22a2.49 2.49 0 01-2.49 2.49h-5A2.49 2.49 0 0140 62.22v-5a2.49 2.49 0 012.49-2.49h5a2.49 2.49 0 012.49 2.49zm0-13.68A2.49 2.49 0 0147.43 51h-5A2.49 2.49 0 0140 48.54v-5a2.49 2.49 0 012.49-2.49h5a2.49 2.49 0 012.49 2.49zm13.68 13.68a2.49 2.49 0 01-2.49 2.48h-5a2.49 2.49 0 01-2.49-2.49v-5a2.49 2.49 0 012.49-2.49h5a2.49 2.49 0 012.49 2.49zm0-13.68A2.49 2.49 0 0161.1 51h-5a2.49 2.49 0 01-2.49-2.49v-5a2.49 2.49 0 012.49-2.49h5a2.49 2.49 0 012.49 2.49z\",\"fill-rule\":\"evenodd\"}]},\nwork_type_group:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M79.9 29.3c0-.3-.1-.6-.3-.9l-8.2-8.1c-.1-.2-.4-.3-.7-.3h-7.9-14.2c-2.9-.1-5.3 2.3-5.4 5.2v26.5c0 2.9 2.4 5.3 5.3 5.3h26.1c2.9.1 5.3-2.3 5.4-5.2V30.7l-.1-1.4zm-23.5 21c0 1.3-1 2.3-2.3 2.3h-4.5c-1.2 0-2.2-1.1-2.2-2.3v-4.5c0-1.3 1-2.3 2.3-2.3h4.5c1.3 0 2.3 1 2.3 2.3l-.1 4.5zm0-12.4c0 1.3-1 2.3-2.3 2.3h-4.5c-1.2 0-2.2-1.1-2.2-2.3v-4.5c0-1.3 1-2.3 2.3-2.3h4.5c1.3 0 2.3 1 2.3 2.3l-.1 4.5zm12.5 12.4c0 1.3-1 2.3-2.3 2.3h-4.5c-1.3 0-2.3-1-2.3-2.3v-4.5c0-1.3 1-2.3 2.3-2.3h4.5c1.3 0 2.3 1 2.3 2.3v4.5zm0-12.4c0 1.3-1 2.3-2.3 2.3h-4.5c-1.3 0-2.3-1-2.3-2.3v-4.5c0-1.3 1-2.3 2.3-2.3h4.5c1.3 0 2.3 1 2.3 2.3v4.5z\"},{\"d\":\"M42.8 62.7c-2.9 0-5.3-2.4-5.3-5.3v-5.1-22.2c-3.2 0-5.8 2.6-5.8 5.8v26.6c0 3.2 1.7 5.9 5.8 5.9h25c3.2 0 5.7-2.5 5.8-5.7H42.8z\"},{\"d\":\"M31.1 74.3c-2.9 0-5.3-2.4-5.3-5.3v-5-22.3c-3.2 0-5.8 2.6-5.8 5.8v26.6c0 3.2 1.7 5.9 5.8 5.9h25c3.2 0 5.7-2.5 5.8-5.7H31.1c.1 0 0 0 0 0z\"}]},\nviewBox:'0 0 100 100'\n}; } export default icons;\n","import React, { Component } from 'react';\n// eslint-disable-next-line camelcase\nimport UNSAFE_DirectionSettings from '..';\n\nconst LanguageDirectionHOC = (WrappedComponent) => {\n\tconst componentName =\n\t\tWrappedComponent.displayName || WrappedComponent.name || 'Component';\n\treturn class LanguageDirection extends Component {\n\t\tstatic displayName = `LanguageDirection(${componentName})`;\n\n\t\tgetWrappedComponent = (value) => (\n\t\t\t<WrappedComponent {...this.props} direction={value} />\n\t\t);\n\n\t\trender() {\n\t\t\treturn (\n\t\t\t\t// eslint-disable-next-line react/jsx-pascal-case\n\t\t\t\t<UNSAFE_DirectionSettings.Consumer>\n\t\t\t\t\t{this.getWrappedComponent}\n\t\t\t\t</UNSAFE_DirectionSettings.Consumer>\n\t\t\t);\n\t\t}\n\t};\n};\n\nexport default LanguageDirectionHOC;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\n// This component's `checkProps` which issues warnings to developers about properties\n// when in development mode (similar to React's built in development tools)\nimport checkProps from './check-props';\n\nimport Svg from './svg';\n\nimport SLDS_ICONS_UTILITY from '../../../icons/utility';\nimport SLDS_ICONS_ACTION from '../../../icons/action';\nimport SLDS_ICONS_CUSTOM from '../../../icons/custom';\nimport SLDS_ICONS_DOCTYPE from '../../../icons/doctype';\nimport SLDS_ICONS_STANDARD from '../../../icons/standard';\n\nimport { DIRECTIONS } from '../UNSAFE_direction';\nimport LanguageDirection from '../UNSAFE_direction/private/language-direction';\n\n/*\n * If inline icons are present and icon bundle imports are not just an empty object, then inline icons will be used instead of external icons that require HTTP access.\n */\nconst UtilityIcon = (\n\t{\n\t\tname = '',\n\t\tassistiveText, // eslint-disable-line no-unused-vars\n\t\tcategory,\n\t\ticon,\n\t\tpath,\n\t\tdirection,\n\t\t...rest\n\t},\n\tcontext\n) => {\n\tcheckProps('UtilityIcon', { name, category, path, context });\n\n\tconst inlineIcons = {\n\t\taction: SLDS_ICONS_ACTION,\n\t\tcustom: SLDS_ICONS_CUSTOM,\n\t\tdoctype: SLDS_ICONS_DOCTYPE,\n\t\tstandard: SLDS_ICONS_STANDARD,\n\t\tutility: SLDS_ICONS_UTILITY,\n\t};\n\tlet inlineData;\n\n\tif (icon) {\n\t\t// Use SVG data passed in with `icon` prop\n\t\tinlineData = icon;\n\t} else if (Object.keys(inlineIcons[category]).length) {\n\t\t// Use inline icon data if it exists. ENV variables will have to set to allow this.\n\t\tinlineData = inlineIcons[category][name.toLowerCase()];\n\t\tinlineData.viewBox = inlineIcons[category].viewBox;\n\t}\n\n\tlet modifiedPath;\n\n\tif (path) {\n\t\t// Use `path` prop of Icon if present\n\t\tmodifiedPath = path;\n\t} else if (context.onRequestIconPath) {\n\t\tmodifiedPath = context.onRequestIconPath({ category, name });\n\t} else if (context[`${category}Sprite`]) {\n\t\t// Use category sprite file from IconSettings if present\n\t\tmodifiedPath = `${context[`${category}Sprite`]}#${name}`;\n\t} else {\n\t\t// Otherwise, use external URLs for icons\n\t\tconst svgAssetName =\n\t\t\tdirection === DIRECTIONS.RTL ? 'symbols-rtl.svg' : 'symbols.svg';\n\t\tmodifiedPath =\n\t\t\tcontext.iconPath &&\n\t\t\t`${context.iconPath}/${category}-sprite/svg/${svgAssetName}#${name}`;\n\t}\n\n\treturn inlineData ? (\n\t\t<Svg data={inlineData} name={name} {...rest} />\n\t) : (\n\t\t<svg key={`${name}_${category}`} {...rest}>\n\t\t\t<use href={modifiedPath} />\n\t\t</svg>\n\t);\n};\n\nUtilityIcon.displayName = 'UtilityIcon';\n\nUtilityIcon.propTypes = {\n\tassistiveText: PropTypes.object,\n\tcategory: PropTypes.oneOf([\n\t\t'action',\n\t\t'custom',\n\t\t'doctype',\n\t\t'standard',\n\t\t'utility',\n\t]),\n\t/**\n\t * An SVG object to use instead of name / category, look in `design-system-react/icons` for examples\n\t */\n\ticon: PropTypes.object,\n\t/**\n\t * Name of the icon. Visit <a href='http://www.lightningdesignsystem.com/resources/icons'>Lightning Design System Icons</a> to reference icon names.\n\t */\n\tname: PropTypes.string,\n\t/**\n\t * Path to the icon. This will override any global icon settings.\n\t */\n\tpath: PropTypes.string,\n};\n\nUtilityIcon.defaultProps = {\n\tcategory: 'utility',\n};\n\nUtilityIcon.contextTypes = {\n\ticonPath: PropTypes.string,\n\tonRequestIconPath: PropTypes.func,\n\tactionSprite: PropTypes.string,\n\tcustomSprite: PropTypes.string,\n\tdoctypeSprite: PropTypes.string,\n\tstandardSprite: PropTypes.string,\n\tutilitySprite: PropTypes.string,\n};\n\nexport default LanguageDirection(UtilityIcon);\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// ### React\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\n// ### classNames\n// [github.com/JedWatson/classnames](https://github.com/JedWatson/classnames)\n// This project uses `classnames`, \"a simple javascript utility for conditionally\n// joining classNames together.\"\nimport classNames from 'classnames';\n\n// This component's `checkProps` which issues warnings to developers about properties when in development mode (similar to React's built in development tools)\nimport checkProps from './check-props';\n\n// ### Children\nimport SLDSUtilityIcon from '../../utilities/utility-icon';\n\nimport { BUTTON_ICON } from '../../../utilities/constants';\n\n/**\n * This is a non-interactive wrapper component for `UtilityIcon` that specifies button icon classes for an icon inside a `button` tag. Use of this component by itself is not recommended, but should be used as part of other components to obtain the correct styling for icons within buttons. This component only partially implements [Button Icons](http://www.lightningdesignsystem.com/components/button-icons). It does not return a `button` HTML tag. It only returns an icon for use within a button. Assistive text must also be rendered by the parent.\n */\nconst ButtonIcon = (props) => {\n\tcheckProps(BUTTON_ICON, props);\n\n\treturn (\n\t\t<SLDSUtilityIcon\n\t\t\taria-hidden=\"true\"\n\t\t\tcategory={props.category}\n\t\t\tclassName={classNames(\n\t\t\t\t'slds-button__icon',\n\t\t\t\t{\n\t\t\t\t\t[`slds-button__icon_${props.size}`]:\n\t\t\t\t\t\tprops.size && props.size !== 'medium',\n\t\t\t\t\t'slds-button__icon_inverse-hint': props.inverse && props.hint,\n\t\t\t\t\t'slds-button__icon_hint': props.hint && !props.inverse,\n\t\t\t\t\t[`slds-button__icon_${props.position}`]: props.position,\n\t\t\t\t},\n\t\t\t\tprops.className\n\t\t\t)} // iconClassName has been deprecated\n\t\t\ticon={props.icon}\n\t\t\tname={props.name}\n\t\t\tpath={props.path}\n\t\t/>\n\t);\n};\n\nconst propTypes = {\n\t/**\n\t * Icon category from [lightningdesignsystem.com/icons/](https://www.lightningdesignsystem.com/icons/)\n\t */\n\tcategory: PropTypes.oneOf([\n\t\t'action',\n\t\t'custom',\n\t\t'doctype',\n\t\t'standard',\n\t\t'utility',\n\t]).isRequired,\n\t/**\n\t * Associates an icon button with another element on the page by changes the color of the SVG. Please reference <a href=\"http://www.lightningdesignsystem.com/components/buttons/#hint\">Lightning Design System Buttons > Hint</a>.\n\t */\n\thint: PropTypes.bool,\n\t/**\n\t * An SVG object to use instead of name / category, look in `design-system-react/icons` for examples\n\t */\n\ticon: PropTypes.object,\n\t/**\n\t * Class names to be added to the SVG.\n\t */\n\tclassName: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\t/**\n\t * Setting `inverse` to true will switch the color of the icon: light to dark, dark to light.\n\t */\n\tinverse: PropTypes.bool,\n\t/**\n\t * Name of the icon. Visit <a href='http://www.lightningdesignsystem.com/resources/icons'>Lightning Design System Icons</a> to reference icon names.\n\t */\n\tname: PropTypes.string,\n\t/**\n\t * Path to the icon. This will override any global icon settings.\n\t */\n\tpath: PropTypes.string,\n\t/**\n\t * Adds additional spacing on the opposite side specified between button icon and the button label\n\t */\n\tposition: PropTypes.oneOf(['left', 'right']),\n\t/**\n\t * Size of the icon. Visit [lightningdesignsystem.com/components/icons/#flavor-sizes](https://www.lightningdesignsystem.com/components/icons/#flavor-sizes)\n\t */\n\tsize: PropTypes.oneOf(['x-small', 'small', 'medium', 'large']),\n};\n\nconst defaultProps = {\n\tcategory: 'utility',\n\tsize: 'medium',\n};\n\nButtonIcon.displayName = BUTTON_ICON;\nButtonIcon.propTypes = propTypes;\nButtonIcon.defaultProps = defaultProps;\n\nexport default ButtonIcon;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n/* eslint-disable import/no-mutable-exports */\n\nimport getComponentDocFn from '../../utilities/get-component-doc';\nimport ifOneThenBothRequiredProperty from '../../utilities/warning/if-one-then-both-required-property';\nimport sunsetProperty from '../../utilities/warning/sunset-property';\n\nlet checkProps = function checkPropsFunction() {};\n\nif (process.env.NODE_ENV !== 'production') {\n\tcheckProps = function checkPropsFunction(COMPONENT, props, jsonDoc) {\n\t\tconst createDocUrl = getComponentDocFn(jsonDoc);\n\n\t\t/* eslint-disable max-len */\n\t\t// If iconName is set, iconCategory must also be set.\n\t\tifOneThenBothRequiredProperty(\n\t\t\tCOMPONENT,\n\t\t\tprops,\n\t\t\t{\n\t\t\t\ticonName: props.iconName,\n\t\t\t\ticonCategory: props.iconCategory,\n\t\t\t},\n\t\t\tcreateDocUrl('iconCategory')\n\t\t);\n\n\t\tif (typeof props.assistiveText === 'string') {\n\t\t\tsunsetProperty(\n\t\t\t\tCOMPONENT,\n\t\t\t\tprops.assistiveText,\n\t\t\t\t'assistiveText',\n\t\t\t\t`\\`assistiveText\\` as a string has been deprecated and is now an object to allow for multiple uses in the component. Please use \\`assistiveText.icon\\` instead. ${createDocUrl(\n\t\t\t\t\t'assistiveText'\n\t\t\t\t)}`\n\t\t\t);\n\t\t}\n\t};\n}\n\nexport default checkProps;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\nimport { Component, Children } from 'react';\nimport PropTypes from 'prop-types';\nimport ReactDOM from 'react-dom';\n\n/*\n * This component mounts its children within a disconnected render tree (portal).\n */\n\nconst documentDefined = typeof document !== 'undefined';\nclass Portal extends Component {\n\tconstructor(props) {\n\t\tsuper(props);\n\t\tthis.portalNode = null;\n\t\tthis.state = {\n\t\t\tisOpen: false,\n\t\t};\n\t}\n\n\tcomponentDidMount() {\n\t\tthis.renderPortal();\n\t}\n\n\tcomponentDidUpdate() {\n\t\tthis.renderPortal();\n\t}\n\n\tcomponentWillUnmount() {\n\t\tthis.unmountPortal();\n\t}\n\n\tgetChildren() {\n\t\treturn Children.only(this.props.children);\n\t}\n\n\tgetPortalParentNode() {\n\t\tlet element;\n\t\tif (typeof this.props.renderTo === 'string') {\n\t\t\telement = document.querySelector(this.props.renderTo);\n\t\t} else {\n\t\t\telement = this.props.renderTo || (documentDefined && document.body);\n\t\t}\n\t\treturn element;\n\t}\n\n\tsetupPortalNode() {\n\t\tconst parentParentNode = this.getPortalParentNode();\n\t\tthis.portalNode = {};\n\n\t\tif (documentDefined) {\n\t\t\tthis.portalNode = document.createElement(this.props.renderTag);\n\t\t\tthis.portalNode.setAttribute(\n\t\t\t\t'style',\n\t\t\t\t'display: block; height: 0px; width: 0px;'\n\t\t\t);\n\t\t\tthis.portalNode.setAttribute('className', 'design-system-react-portal');\n\t\t\tparentParentNode.appendChild(this.portalNode);\n\t\t\tthis.portalNodeInstance = this.props.onMount\n\t\t\t\t? this.props.onMount(undefined, { portal: this.portalNode })\n\t\t\t\t: this.portalNode;\n\t\t}\n\t}\n\n\tunmountPortal() {\n\t\tif (this.portalNode) {\n\t\t\tReactDOM.unmountComponentAtNode(this.portalNode);\n\t\t\tthis.portalNode.parentNode.removeChild(this.portalNode);\n\t\t}\n\t\tthis.portalNode = null;\n\t}\n\n\tupdatePortal() {\n\t\tif (this.props.id) {\n\t\t\tthis.portalNode.id = this.props.id;\n\t\t}\n\n\t\tif (this.props.className) {\n\t\t\tthis.portalNode.className = this.props.className;\n\t\t}\n\n\t\tif (this.props.style) {\n\t\t\tObject.keys(this.props.style).forEach((key) => {\n\t\t\t\tthis.portalNode.style[key] = this.props.style[key];\n\t\t\t});\n\t\t}\n\n\t\tif (this.props.onUpdate) {\n\t\t\tthis.portalNodeInstance = this.props.onUpdate(this.portalNodeInstance);\n\t\t}\n\t}\n\n\trenderPortal() {\n\t\t// if no portal contents, then unmount\n\t\tif (!this.getChildren() || !documentDefined) {\n\t\t\tthis.unmountPortal();\n\t\t\treturn;\n\t\t}\n\n\t\tif (!this.portalNode) {\n\t\t\tthis.setupPortalNode();\n\t\t}\n\n\t\tif (this.props.portalMount) {\n\t\t\tthis.props.portalMount({\n\t\t\t\tinstance: this,\n\t\t\t\treactElement: this.getChildren(),\n\t\t\t\tdomContainerNode: this.portalNode,\n\t\t\t\tupdateCallback: () => {\n\t\t\t\t\tthis.updatePortal(); // update after subtree renders\n\t\t\t\t},\n\t\t\t});\n\t\t} else {\n\t\t\t// actual render\n\t\t\tReactDOM.unstable_renderSubtreeIntoContainer(\n\t\t\t\tthis,\n\t\t\t\tthis.getChildren(),\n\t\t\t\tthis.portalNode,\n\t\t\t\t() => {\n\t\t\t\t\tthis.updatePortal(); // update after subtree renders\n\n\t\t\t\t\tif (this.state.isOpen === false) {\n\t\t\t\t\t\tif (this.props.onOpen) {\n\t\t\t\t\t\t\tthis.props.onOpen(undefined, { portal: this.getChildren() });\n\t\t\t\t\t\t}\n\t\t\t\t\t\tthis.setState({ isOpen: true });\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t);\n\t\t}\n\t}\n\n\trender() {\n\t\treturn null;\n\t}\n}\n\nPortal.displayName = 'Portal';\n\nPortal.propTypes = {\n\t/*\n\t * What tag to use for the portal, defaults to `div`.\n\t */\n\trenderTag: PropTypes.string,\n\t/*\n\t * What node the portal is rendered to, defaults to `document.body`.\n\t */\n\trenderTo: PropTypes.any,\n\t/*\n\t * React id prop.\n\t */\n\tid: PropTypes.string,\n\t/*\n\t * Accepts a _single_ element or component.\n\t */\n\tchildren: PropTypes.node,\n\t/*\n\t * ClassName added to .\n\t */\n\tclassName: PropTypes.any,\n\t/*\n\t * An object of styles that are applied to the portal.\n\t */\n\tstyle: PropTypes.object,\n\t/*\n\t * Triggers when Portal render tree mounts. Pass in an undefined event and `{ portal: [node] }``\n\t */\n\tonMount: PropTypes.func,\n\t/*\n\t * Triggers when the portal is mounted.\n\t */\n\tonOpen: PropTypes.func,\n\t/*\n\t * Triggers when Portal re-renders its tree.\n\t */\n\tonUpdate: PropTypes.func,\n\t/**\n\t * If a dialog is `positione=\"overflowBoundaryElement\"`, it will be rendered in a portal or separate render tree. This `portalMount` callback will be triggered instead of the the default `ReactDOM.unstable_renderSubtreeIntoContainer` and the function will mount the portal itself. Consider the following code that bypasses the internal mount and uses an Enzyme wrapper to mount the React root tree to the DOM.\n\t *\n\t * ```\n\t * <Popover\n\t * isOpen\n\t * portalMount={({ instance, reactElement, domContainerNode }) => {\n\t * portalWrapper = Enzyme.mount(reactElement, { attachTo: domContainerNode });\n\t * }}\n\t * onOpen={() => {\n\t * expect(portalWrapper.find(`#my-heading`)).to.exist;\n\t * done();\n\t * }}\n\t * />\n\t * ```\n\t */\n\tportalMount: PropTypes.func,\n};\n\nPortal.defaultProps = {\n\trenderTag: 'span',\n\trenderTo: null,\n\tonMount: () => null,\n\tonOpen: () => null,\n\tonUpdate: () => null,\n\tonUnmount: () => null,\n};\n\nexport default Portal;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\nconst EventUtil = {\n\ttrapEvent: (event) => {\n\t\tif (!event) return;\n\t\tevent.preventDefault();\n\t\tevent.stopPropagation();\n\t\tif (event.nativeEvent && event.nativeEvent.preventDefault) {\n\t\t\tevent.nativeEvent.preventDefault();\n\t\t}\n\n\t\tif (event.nativeEvent && event.nativeEvent.stopPropagation) {\n\t\t\tevent.nativeEvent.stopPropagation();\n\t\t}\n\t},\n\n\ttrap: (event) => EventUtil.trapEvent(event),\n\n\ttrapImmediate: (event) => {\n\t\tif (event.stopImmediatePropagation) {\n\t\t\tevent.stopImmediatePropagation();\n\t\t}\n\n\t\tif (event.nativeEvent && event.nativeEvent.stopImmediatePropagation) {\n\t\t\tevent.nativeEvent.stopImmediatePropagation();\n\t\t}\n\n\t\tEventUtil.trap(event);\n\t},\n};\n\nexport default EventUtil;\n","const keys = {\n\tENTER: 13,\n\tESCAPE: 27,\n\tSPACE: 32,\n\tLEFT: 37,\n\tUP: 38,\n\tRIGHT: 39,\n\tDOWN: 40,\n\tTAB: 9,\n\tDELETE: 46,\n\tBACKSPACE: 8,\n};\n\n// Helpful for interaction/event tests. Use with simulate:\n// `nodes.input.simulate('keyDown', keyObjects.DOWN);`\nconst keyObjects = {\n\tENTER: { key: 'Enter', keyCode: keys.ENTER, which: keys.ENTER },\n\tESCAPE: { key: 'Escape', keyCode: keys.ESCAPE, which: keys.ESCAPE },\n\tSPACE: { key: 'Space', keyCode: keys.SPACE, which: keys.SPACE },\n\tLEFT: { key: 'Left', keyCode: keys.LEFT, which: keys.LEFT },\n\tUP: { key: 'Up', keyCode: keys.UP, which: keys.ESCAPE },\n\tRIGHT: { key: 'Right', keyCode: keys.RIGHT, which: keys.RIGHT },\n\tDOWN: { key: 'Down', keyCode: keys.DOWN, which: keys.DOWN },\n\tTAB: { key: 'Tab', keyCode: keys.TAB, which: keys.TAB },\n\tDELETE: { key: 'Delete', keyCode: keys.DELETE, which: keys.DELETE },\n\tBACKSPACE: {\n\t\tkey: 'Backspace',\n\t\tkeyCode: keys.BACKSPACE,\n\t\twhich: keys.BACKSPACE,\n\t},\n};\n\nexport default keys;\nexport { keyObjects };\n","/*!\n * Adapted from jQuery UI core\n *\n * http://jqueryui.com\n *\n * Copyright 2014 jQuery Foundation and other contributors\n * Released under the MIT license.\n * http://jquery.org/license\n *\n * http://api.jqueryui.com/category/ui-core/\n */\n\nfunction focusable(element, isTabIndexNotNaN) {\n\tconst nodeName = element.nodeName.toLowerCase();\n\tif (/input|select|textarea|button|object/.test(nodeName)) {\n\t\treturn !element.disabled;\n\t\t// eslint-disable-next-line no-else-return\n\t} else if (nodeName === 'a') {\n\t\treturn element.href || isTabIndexNotNaN;\n\t}\n\treturn isTabIndexNotNaN;\n}\n\nfunction tabbable(element) {\n\tlet tabIndex = element.getAttribute('tabindex');\n\tif (tabIndex === null) tabIndex = undefined;\n\tconst isTabIndexNaN = isNaN(tabIndex);\n\treturn (isTabIndexNaN || tabIndex >= 0) && focusable(element, !isTabIndexNaN);\n}\n\nfunction findTabbableDescendants(element) {\n\treturn [].slice\n\t\t.call(element.querySelectorAll('*'), 0)\n\t\t.filter((el) => tabbable(el));\n}\n\nexport default findTabbableDescendants;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\nconst canUseDOM = !!(\n\ttypeof window !== 'undefined' &&\n\twindow.document &&\n\twindow.document.createElement\n);\nconst canUseEventListeners =\n\tcanUseDOM && Boolean(window.addEventListener || window.attachEvent);\nconst canUseViewport = canUseDOM && Boolean(window.screen);\n\nexport { canUseDOM, canUseEventListeners, canUseViewport };\n","import findTabbableElement from './tabbable';\nimport KEYS from './key-code';\nimport { canUseDOM } from './execution-environment';\n\nlet ancestor = null;\nlet focusLaterElement = null;\n\nconst handleScopedKeyDown = (event) => {\n\tif (!canUseDOM || !ancestor || event.keyCode !== KEYS.TAB) {\n\t\treturn;\n\t}\n\tconst tabbableElements = findTabbableElement(ancestor);\n\tconst finalTabbable =\n\t\ttabbableElements[event.shiftKey ? 0 : tabbableElements.length - 1];\n\tconst leavingFinalTabbable =\n\t\tfinalTabbable === document.activeElement ||\n\t\t// handle immediate shift+tab after opening with mouse\n\t\tancestor === document.activeElement;\n\tif (!leavingFinalTabbable) return;\n\tevent.preventDefault();\n\tconst target =\n\t\ttabbableElements[event.shiftKey ? tabbableElements.length - 1 : 0];\n\ttarget.focus();\n};\n\n// PUBLIC methods\n\nconst ElementFocus = {\n\tfocusAncestor: ({ isPortal }) => {\n\t\tif (canUseDOM) {\n\t\t\t// When a portal is used (that is attaching a separate React mount, such as with Popover) programatic focusing within that portal may cause the window to scroll down to the DOM insertion point at the end of `body`. The following prevents the scrolling from occuring.\n\t\t\tif (isPortal) {\n\t\t\t\tconst offset = window.pageYOffset;\n\t\t\t\tancestor.focus({ preventScroll: true });\n\t\t\t\twindow.scrollTo(window.pageXOffset, offset);\n\t\t\t} else {\n\t\t\t\tancestor.focus();\n\t\t\t}\n\t\t}\n\t},\n\thasOrAncestorHasFocus: () =>\n\t\tcanUseDOM &&\n\t\t(document.activeElement === ancestor ||\n\t\t\tancestor.contains(document.activeElement)),\n\treturnFocusToStoredElement: () => {\n\t\tif (canUseDOM) {\n\t\t\ttry {\n\t\t\t\tfocusLaterElement.focus();\n\t\t\t} catch (e) {\n\t\t\t\t// eslint-disable-next-line no-console\n\t\t\t\tconsole.warn(\n\t\t\t\t\t`You tried to return focus to ${focusLaterElement} but it is not in the DOM anymore`\n\t\t\t\t);\n\t\t\t}\n\t\t\tfocusLaterElement = null;\n\t\t}\n\t},\n\tsetupScopedFocus: ({ ancestorElement }) => {\n\t\tancestor = ancestorElement;\n\t\twindow.addEventListener('keydown', handleScopedKeyDown, false);\n\t},\n\tstoreActiveElement: () => {\n\t\tfocusLaterElement = canUseDOM ? document.activeElement : null;\n\t},\n\tteardownScopedFocus: () => {\n\t\tancestor = null;\n\t\tif (canUseDOM) {\n\t\t\twindow.removeEventListener('keydown', handleScopedKeyDown);\n\t\t}\n\t},\n};\n\nexport default ElementFocus;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\nimport classNames from 'classnames';\nimport { DIRECTIONS } from './../components/utilities/UNSAFE_direction';\n\n// Translates the prop into a string popper can use https://popper.js.org/popper-documentation.html#Popper.placements\nconst mapPropToPopperPlacement = (align, direction) => {\n\tlet placement;\n\tswitch (align) {\n\t\tcase 'top left':\n\t\t\tplacement = 'top-start';\n\t\t\tbreak;\n\t\tcase 'top right':\n\t\t\tplacement = 'top-end';\n\t\t\tbreak;\n\t\tcase 'right top':\n\t\t\tplacement = 'right-start';\n\t\t\tbreak;\n\t\tcase 'right bottom':\n\t\t\tplacement = 'right-end';\n\t\t\tbreak;\n\t\tcase 'bottom left':\n\t\t\tplacement = 'bottom-start';\n\t\t\tbreak;\n\t\tcase 'bottom right':\n\t\t\tplacement = 'bottom-end';\n\t\t\tbreak;\n\t\tcase 'left top':\n\t\t\tplacement = 'left-start';\n\t\t\tbreak;\n\t\tcase 'left bottom':\n\t\t\tplacement = 'left-end';\n\t\t\tbreak;\n\t\tdefault:\n\t\t\tplacement = align;\n\t}\n\tif (direction === DIRECTIONS.RTL) {\n\t\tif (placement.indexOf('left') > -1) {\n\t\t\tplacement = placement.replace('left', 'right');\n\t\t} else if (placement.indexOf('right') > -1) {\n\t\t\tplacement = placement.replace('right', 'left');\n\t\t} else if (placement.indexOf('start') > -1) {\n\t\t\tplacement = placement.replace('start', 'end');\n\t\t} else if (placement.indexOf('end') > -1) {\n\t\t\tplacement = placement.replace('end', 'start');\n\t\t}\n\t}\n\treturn placement;\n};\n\nconst getNubbinClassName = (align, popperData = {}) => {\n\tif (popperData.flipped) {\n\t\treturn classNames({\n\t\t\t'slds-nubbin_top': align === 'top',\n\t\t\t'slds-nubbin_top-left': align === 'top left',\n\t\t\t'slds-nubbin_top-right': align === 'top right',\n\t\t\t'slds-nubbin_bottom': align === 'bottom',\n\t\t\t'slds-nubbin_bottom-left': align === 'bottom left',\n\t\t\t'slds-nubbin_bottom-right': align === 'bottom right',\n\t\t\t'slds-nubbin_left': align === 'left',\n\t\t\t'slds-nubbin_left-bottom': align === 'left bottom',\n\t\t\t'slds-nubbin_left-top': align === 'left top',\n\t\t\t'slds-nubbin_right': align === 'right',\n\t\t\t'slds-nubbin_right-bottom': align === 'right bottom',\n\t\t\t'slds-nubbin_right-top': align === 'right top',\n\t\t});\n\t}\n\n\treturn classNames({\n\t\t'slds-nubbin_top': align === 'bottom',\n\t\t'slds-nubbin_top-left': align === 'bottom left',\n\t\t'slds-nubbin_top-right': align === 'bottom right',\n\t\t'slds-nubbin_bottom': align === 'top',\n\t\t'slds-nubbin_bottom-left': align === 'top left',\n\t\t'slds-nubbin_bottom-right': align === 'top right',\n\t\t'slds-nubbin_left': align === 'right',\n\t\t'slds-nubbin_left-bottom': align === 'right bottom',\n\t\t'slds-nubbin_left-top': align === 'right top',\n\t\t'slds-nubbin_right': align === 'left',\n\t\t'slds-nubbin_right-bottom': align === 'left bottom',\n\t\t'slds-nubbin_right-top': align === 'left top',\n\t});\n};\n\nconst DISTANCE_OFFSET = 1.5; // 'rem'\nconst NUBBIN_SIZE = 1; // 'rem'\nconst ROTATED_HEIGHT = NUBBIN_SIZE / Math.sqrt(2); // 'rem'\n/*\n *\n *\n *\n *\n */\n// FIXME - still need to account for border shadow of 2px. probably only needs to be added to the rotated height.\n// TODO - should we convert all rem to pixels right from the get go? Keep units consistent. Memoize the values for perf?\nconst getNubbinMargins = (popperData = {}) => {\n\tconst { placement } = popperData;\n\n\tlet top = 0;\n\tlet left = 0;\n\n\tconst DISTANCE_OFFSET_PX = 16 * DISTANCE_OFFSET; // FIXME - actually do a real convert based on font size.\n\tconst ROTATED_HEIGHT_PX = 16 * ROTATED_HEIGHT; // FIXME - actually do a real convert based on font size.\n\n\tconst halfWidth = popperData.offsets.reference.width * 0.5;\n\tconst halfHeight = popperData.offsets.reference.height * 0.5;\n\n\tif (placement === 'top') {\n\t\ttop = ROTATED_HEIGHT_PX * -1;\n\t} else if (placement === 'top-end') {\n\t\ttop = ROTATED_HEIGHT_PX * -1;\n\t\tleft = DISTANCE_OFFSET_PX - halfWidth;\n\t} else if (placement === 'top-start') {\n\t\ttop = ROTATED_HEIGHT_PX * -1;\n\t\tleft = halfWidth - DISTANCE_OFFSET_PX;\n\t}\n\n\tif (placement === 'bottom') {\n\t\ttop = ROTATED_HEIGHT_PX;\n\t} else if (placement === 'bottom-end') {\n\t\ttop = ROTATED_HEIGHT_PX;\n\t\tleft = DISTANCE_OFFSET_PX - halfWidth;\n\t} else if (placement === 'bottom-start') {\n\t\ttop = ROTATED_HEIGHT_PX;\n\t\tleft = halfWidth - DISTANCE_OFFSET_PX;\n\t}\n\n\tif (placement === 'right') {\n\t\tleft = ROTATED_HEIGHT_PX;\n\t} else if (placement === 'right-end') {\n\t\tleft = ROTATED_HEIGHT_PX;\n\t\ttop = DISTANCE_OFFSET_PX - halfHeight;\n\t} else if (placement === 'right-start') {\n\t\tleft = ROTATED_HEIGHT_PX;\n\t\ttop = halfHeight - DISTANCE_OFFSET_PX;\n\t}\n\n\tif (placement === 'left') {\n\t\tleft = ROTATED_HEIGHT_PX * -1;\n\t} else if (placement === 'left-end') {\n\t\tleft = ROTATED_HEIGHT_PX * -1;\n\t\ttop = DISTANCE_OFFSET_PX - halfHeight;\n\t} else if (placement === 'left-start') {\n\t\tleft = ROTATED_HEIGHT_PX * -1;\n\t\ttop = halfHeight - DISTANCE_OFFSET_PX;\n\t}\n\n\treturn {\n\t\tleft,\n\t\ttop,\n\t};\n};\n\nexport { getNubbinMargins, getNubbinClassName, mapPropToPopperPlacement };\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\nimport { ICON_SETTINGS } from '../../utilities/constants';\n\n/**\n * The Icon Settings component allows for the path to the icons to be specified in all child components and is recommended to be used at the root of the application. It's render function is `return this.props.children`, so it can only have one child node.\n *\n * **Individual sprites**\n * If you are using webpack it is advised to use the sprite properties\n * {actionSprite, standardSprite...} to specify the individual sprite paths so that webpack can\n * easily re-write the paths.\n * ```\n * import actionSprite from '......';\n *\n * <IconSettings actionSprite={actionSprite} ......>\n * ```\n * **Root icon path**\n * Otherwise use the iconPath to specify the root path to where the icon files will be located in you application\n * such as `/assets/icons`.\n */\nclass IconSettings extends React.Component {\n\tgetChildContext() {\n\t\treturn {\n\t\t\ticonPath: this.props.iconPath,\n\t\t\tonRequestIconPath: this.props.onRequestIconPath,\n\t\t\tactionSprite: this.props.actionSprite,\n\t\t\tcustomSprite: this.props.customSprite,\n\t\t\tdoctypeSprite: this.props.doctypeSprite,\n\t\t\tstandardSprite: this.props.standardSprite,\n\t\t\tutilitySprite: this.props.utilitySprite,\n\t\t};\n\t}\n\n\trender() {\n\t\treturn this.props.children;\n\t}\n}\n\nIconSettings.displayName = ICON_SETTINGS;\n\nIconSettings.childContextTypes = {\n\ticonPath: PropTypes.string,\n\tonRequestIconPath: PropTypes.func,\n\tactionSprite: PropTypes.string,\n\tcustomSprite: PropTypes.string,\n\tdoctypeSprite: PropTypes.string,\n\tstandardSprite: PropTypes.string,\n\tutilitySprite: PropTypes.string,\n};\n\nIconSettings.propTypes = {\n\t/**\n\t * Path to the root icon folder\n\t * example: `/assets/icons`\n\t */\n\ticonPath: PropTypes.string,\n\t/**\n\t * Function to allow developers to return a custom icon path--for instance, on the same page with a local anchor (`#down`). This is helpful for when there are Cross-Origin Resource Sharing (CORS) issues with SVGs that are located on another domain such as a CDN. `({category, name}) => { return \\`#${name}\\` }`\n\t */\n\tonRequestIconPath: PropTypes.func,\n\t/**\n\t * Path to the action sprite\n\t * example: '@salesforce-ux/design-system/assets/icons/action-sprite/svg/symbols.svg';\n\t */\n\tactionSprite: PropTypes.string,\n\t/**\n\t * Path to the custom sprite\n\t * example: '@salesforce-ux/design-system/assets/icons/custom-sprite/svg/symbols.svg';\n\t */\n\tcustomSprite: PropTypes.string,\n\t/**\n\t * Path to the doctype sprite\n\t * example: '@salesforce-ux/design-system/assets/icons/doctype-sprite/svg/symbols.svg';\n\t */\n\tdoctypeSprite: PropTypes.string,\n\t/**\n\t * Path to the standard sprite\n\t * example: '@salesforce-ux/design-system/assets/icons/standard-sprite/svg/symbols.svg';\n\t */\n\tstandardSprite: PropTypes.string,\n\t/**\n\t * Path to the utility sprite\n\t * example: '@salesforce-ux/design-system/assets/icons/utility-sprite/svg/symbols.svg';\n\t */\n\tutilitySprite: PropTypes.string,\n};\n\nexport default IconSettings;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\nimport React from 'react';\n\nimport PropTypes from 'prop-types';\n\nimport Popper from 'popper.js';\nimport isEqual from 'lodash.isequal';\n\n// ### classNames\n// [github.com/JedWatson/classnames](https://github.com/JedWatson/classnames)\n// This project uses `classnames`, \"a simple javascript utility for conditionally\n// joining classNames together.\"\nimport classNames from 'classnames';\n\nimport Portal from './portal';\nimport EventUtil from '../../../utilities/event';\nimport KEYS from '../../../utilities/key-code';\nimport DOMElementFocus from '../../../utilities/dom-element-focus';\nimport {\n\tgetNubbinMargins,\n\tgetNubbinClassName,\n\tmapPropToPopperPlacement,\n} from '../../../utilities/dialog-helpers';\n\nimport { DIALOG } from '../../../utilities/constants';\n\n// #### Dialog doesn't pass down <IconSettings> context so repassing it here.\nimport IconSettings from '../../icon-settings';\n// eslint-disable-next-line camelcase\nimport UNSAFE_DirectionSettings, { DIRECTIONS } from '../UNSAFE_direction';\nimport LanguageDirection from '../UNSAFE_direction/private/language-direction';\n\n/*\n * A Dialog is content that is separate from the typical flow of a page. It typically overlays other elements in the document flow. This is achieved with elevation (`z-index`) and one of the following: relative position, absolute position, or a new top-level React render tree (portal). A boundary element is a scrolling ancestor element or the edge of the browser (window/viewport). This element typically has an overflow (overflow-y/overflow-x) style that is scroll, hidden, or auto. Inverted placement is the flipping of the overlay element from top to bottom or left to right in order stay within a boundary element.\n *\n * * Dropdown menu (Combobox, DatePicker, et al.) placement is typically bottom-aligned and should be allowed to invert its placement when inside a boundary element this often happens within a modal. Dropdowns should not overflow boundary elements , since most boundary elements scroll vertically and have space for the menu.\n *\n * * If they are hidden, left and right placed overlay elements (such as Popover and Tooltip) should be placed within a portal element attached to the DOM <body>, but styled to align to its target/trigger. Since scrolling typically occurs on the vertical axis, this allows them to overflow boundary elements and still allow scrolling of content, yet still invert placement for the browser viewport. Portal elements are only necessary if an original ancestor boundary element exists. **No portals are created by default.**\n *\n * * Nubbins/arrows should be repositioned for any new placement/alignment.\n *\n * Allow Overflowing of Boundary Element: Allow applications to create a portal element attached to the DOM <body> to be outside of boundary elements if manual testing shows confusing alignment/poor usability/readability. This should be exception and not the default.\n *\n * Allow Inverted placement: Allow applications to prevent inverted placement if manual testing shows confusing alignment/poor usability/readability.\n *\n * ### How this new Dialog component works\n * * There is no longer an inline render within components. All overlays should go through `Dialog`. `position: relative` just passes on the markup with some additional event listeners. No positional library is used.\n * * The default `position: absolute` will run through three renders. It will first render the overlay at `0px/0px` offset of its parent. It will then store the target DOM node, once the DOM node is set, a state change will occur and tell a PopperJS instance to be created on update, once it is created, a third render is done to update the styles created by PopperJS.\n * * `position: overflowBoundaryElement` will do the same three renders as `absolute` except that the initial render will create a disconnected render tree (portal) on the `body`. Then, the position will change once the target is stored. The portal itself will be rendered multiple times. The first will result in `onOpen` executing. Each update will result in a re-render of the disconnected render-tree.\n *\n * This component is private.\n */\nclass Dialog extends React.Component {\n\tstatic displayName = DIALOG;\n\n\tstatic propTypes = {\n\t\t/**\n\t\t * Alignment of the dialog with respect to the target (assuming left-to-right language direction). For example,\n\t\t * a value of 'left bottom' indicates that the dialog will be rendered below and left-aligned with the target.\n\t\t * Note that setting the direction prop to \"rtl\" will flip the resulting dialog alignment.\n\t\t */\n\t\talign: PropTypes.oneOf([\n\t\t\t'top',\n\t\t\t'top left',\n\t\t\t'top right',\n\t\t\t'right',\n\t\t\t'right top',\n\t\t\t'right bottom',\n\t\t\t'bottom',\n\t\t\t'bottom left',\n\t\t\t'bottom right',\n\t\t\t'left',\n\t\t\t'left top',\n\t\t\t'left bottom',\n\t\t]),\n\t\t/**\n\t\t * CSS classes to be added to the absolutely positioned element.\n\t\t */\n\t\tclassName: PropTypes.oneOfType([\n\t\t\tPropTypes.array,\n\t\t\tPropTypes.object,\n\t\t\tPropTypes.string,\n\t\t]),\n\t\t/**\n\t\t * CSS classes to be added to the wrapping `div` of the contents of the dialog.\n\t\t */\n\t\tcontentsClassName: PropTypes.oneOfType([\n\t\t\tPropTypes.array,\n\t\t\tPropTypes.object,\n\t\t\tPropTypes.string,\n\t\t]),\n\t\t/**\n\t\t * Contents of dialog\n\t\t */\n\t\tchildren: PropTypes.node.isRequired,\n\t\t/**\n\t\t * Closes dialog when tab key is pressed\n\t\t */\n\t\tcloseOnTabKey: PropTypes.bool,\n\t\t/**\n\t\t * Props passed along to wrapping div. This allows one less wrapping `div` to be in the markup. dialog children are expected to be wrapper in a single `div`.\n\t\t */\n\t\tcontainerProps: PropTypes.object,\n\t\t/**\n\t\t * Establishes directional context for component. Defaults to left-to-right.\n\t\t */\n\t\tdirection: PropTypes.oneOf([DIRECTIONS.LTR, DIRECTIONS.RTL]),\n\t\t/**\n\t\t * Will show the nubbin pointing from the dialog to the reference element. Positioning and offsets will be handled.\n\t\t */\n\t\thasNubbin: PropTypes.bool,\n\t\t/**\n\t\t * By default, dialogs will flip their alignment (such as bottom to top) if they extend beyond a boundary element such as a scrolling parent or a window/viewpoint. `hasStaticAlignment` disables this behavior and allows this component to extend beyond boundary elements.\n\t\t */\n\t\thasStaticAlignment: PropTypes.bool,\n\t\t/**\n\t\t * Sets the dialog width to the width of either 'target' (Menus attached to `input` typically follow this UX pattern), 'menu' or 'none.\n\t\t */\n\t\tinheritWidthOf: PropTypes.oneOf(['target', 'menu', 'none']),\n\t\t/**\n\t\t * DEPRECATED - do not add checkProp deprecation message at this level. It is handled at higher level components.\n\t\t * TODO - to be removed.\n\t\t * Offset adds pixels to the absolutely positioned dropdown menu in the format: ([vertical]px [horizontal]px). SHOULD BE OBJECT -----------\n\t\t */\n\t\toffset: PropTypes.string,\n\t\t/**\n\t\t * Called when dialog closes and unmounts.\n\t\t */\n\t\tonClose: PropTypes.func,\n\t\t/**\n\t\t * Called when a key pressed.\n\t\t */\n\t\tonKeyDown: PropTypes.func,\n\t\t/**\n\t\t * Called when mouse hovers over the trigger button. This is only called if `this.props.openOn` is set to `hover`.\n\t\t */\n\t\tonMouseEnter: PropTypes.func,\n\t\t/**\n\t\t * Called when mouse hover leaves the trigger button. This is only called if `this.props.openOn` is set to `hover`.\n\t\t */\n\t\tonMouseLeave: PropTypes.func,\n\t\t/**\n\t\t * Called when dialog opens (that is mounts). The parameters are `undefined, { portal: this.portal }`.\n\t\t */\n\t\tonOpen: PropTypes.func,\n\t\t/**\n\t\t * React component to be aligned with. Function should return a DOM `ref` from the parent component.\n\t\t */\n\t\tonRequestTargetElement: PropTypes.func.isRequired,\n\t\t/**\n\t\t * Triggered when an item in the menu is clicked.\n\t\t */\n\t\toutsideClickIgnoreClass: PropTypes.string,\n\t\t/**\n\t\t * If a dialog is `positione=\"overflowBoundaryElement\"`, it will be rendered in a portal or separate render tree. This `portalMount` callback will be triggered instead of the the default `ReactDOM.unstable_renderSubtreeIntoContainer` and the function will mount the portal itself. Consider the following code that bypasses the internal mount and uses an Enzyme wrapper to mount the React root tree to the DOM.\n\t\t *\n\t\t * ```\n\t\t * <Popover\n\t\t * isOpen\n\t\t * portalMount={({ instance, reactElement, domContainerNode }) => {\n\t\t * portalWrapper = Enzyme.mount(reactElement, { attachTo: domContainerNode });\n\t\t * }}\n\t\t * onOpen={() => {\n\t\t * expect(portalWrapper.find(`#my-heading`)).to.exist;\n\t\t * done();\n\t\t * }}\n\t\t * />\n\t\t * ```\n\t\t */\n\t\tportalMount: PropTypes.func,\n\t\t/**\n\t\t * Please select one of the following:\n\t\t * * `absolute` - (default) The dialog will use `position: absolute` and style attributes to position itself. This allows inverted placement or flipping of the dialog.\n\t\t * * `overflowBoundaryElement` - The dialog will overflow scrolling parents. Use on elements that are aligned to the left or right of their target and don't care about the target being within a scrolling parent. Typically this is a popover or tooltip. Dropdown menus can usually open up and down if no room exists. In order to achieve this a portal element will be created and attached to `body`. This element will render into that detached render tree.\n\t\t * * `relative` - No styling or portals will be used. Menus will be positioned relative to their triggers. This is a great choice for HTML snapshot testing.\n\t\t */\n\t\tposition: PropTypes.oneOf([\n\t\t\t'absolute',\n\t\t\t'overflowBoundaryElement',\n\t\t\t'relative',\n\t\t]).isRequired,\n\t\t/**\n\t\t * An object of CSS styles that are applied to the immediate parent `div` of the contents. Use this instead of margin props.\n\t\t */\n\t\tstyle: PropTypes.object,\n\n\t\t/**\n\t\t * Sets which focus UX pattern to follow. For instance, popovers trap focus and must be exited to regain focus. Dropdowns and Tooltips never have focus.\n\t\t */\n\t\tvariant: PropTypes.oneOf(['dropdown', 'popover', 'tooltip']),\n\t};\n\n\tstatic defaultProps = {\n\t\talign: 'bottom left',\n\t\tdirection: DIRECTIONS.LTR,\n\t\toffset: '0px 0px',\n\t\toutsideClickIgnoreClass: 'ignore-react-onclickoutside',\n\t};\n\n\tstate = {\n\t\ttriggerPopperJS: false,\n\t\tisOpen: false,\n\t};\n\n\tcomponentDidMount() {\n\t\tif (\n\t\t\tthis.props.position === 'absolute' ||\n\t\t\tthis.props.position === 'relative'\n\t\t) {\n\t\t\tthis.handleOpen();\n\t\t}\n\t}\n\n\t// eslint-disable-next-line camelcase, react/sort-comp\n\tUNSAFE_componentWillUpdate() {\n\t\tif (this.popper) {\n\t\t\tthis.popper.scheduleUpdate();\n\t\t}\n\t}\n\n\tcomponentDidUpdate(prevProps, prevState) {\n\t\tif (\n\t\t\tthis.state.triggerPopperJS === true &&\n\t\t\tprevState.triggerPopperJS === false &&\n\t\t\t(this.props.position === 'absolute' ||\n\t\t\t\tthis.props.position === 'overflowBoundaryElement') &&\n\t\t\tthis.dialogContent &&\n\t\t\tthis.props.onRequestTargetElement()\n\t\t) {\n\t\t\tthis.createPopper();\n\t\t}\n\t}\n\n\tcomponentWillUnmount() {\n\t\tif (this.props.variant === 'popover') {\n\t\t\tDOMElementFocus.teardownScopedFocus();\n\t\t\tDOMElementFocus.returnFocusToStoredElement();\n\t\t}\n\n\t\tif (\n\t\t\tthis.props.position === 'absolute' ||\n\t\t\tthis.props.position === 'overflowBoundaryElement'\n\t\t) {\n\t\t\tthis.destroyPopper();\n\t\t}\n\n\t\tthis.handleClose(undefined, { componentWillUnmount: true });\n\t}\n\n\tgetPropOffsetsInPixels = (offsetString) => {\n\t\tconst offsetArray = offsetString.split(' ');\n\t\treturn {\n\t\t\tvertical: parseInt(offsetArray[0], 10),\n\t\t\thorizontal: parseInt(offsetArray[1], 10),\n\t\t};\n\t};\n\n\tgetPopperStyles = () => {\n\t\tconst { popperData } = this.state;\n\t\tif (!this.popper || !popperData) {\n\t\t\treturn {\n\t\t\t\tposition: 'absolute',\n\t\t\t\tpointerEvents: 'none',\n\t\t\t};\n\t\t}\n\n\t\tconst { position } = popperData.offsets.popper;\n\t\tconst propOffsets = this.getPropOffsetsInPixels(this.props.offset);\n\n\t\t// FIXME before merge - gotta rename from margin to offset\n\t\tconst nubbinOffsets = this.props.hasNubbin\n\t\t\t? getNubbinMargins(this.state.popperData)\n\t\t\t: { left: 0, top: 0 };\n\n\t\tconst left =\n\t\t\tpopperData.offsets.popper.left +\n\t\t\tnubbinOffsets.left +\n\t\t\tpropOffsets.horizontal;\n\t\tconst top =\n\t\t\tpopperData.offsets.popper.top + nubbinOffsets.top + propOffsets.vertical;\n\n\t\t// A Dropdown with overflowBoundaryElement position and 'align=right' uses max-width instead of inherited children width\n\t\tconst right = 'inherit';\n\n\t\treturn {\n\t\t\t...popperData.style,\n\t\t\tleft: isNaN(left) ? 0 : left,\n\t\t\ttop: isNaN(top) ? 0 : top,\n\t\t\tright,\n\t\t\tposition,\n\t\t};\n\t};\n\n\t// Render\n\tsetDialogContent = (component) => {\n\t\tthis.dialogContent = component;\n\t\tif (!this.state.triggerPopperJS) {\n\t\t\tthis.setState({ triggerPopperJS: true });\n\t\t}\n\t};\n\n\t/**\n\t * Events\n\t */\n\thandleClickOutside = () => {\n\t\tthis.handleClose();\n\t};\n\n\thandleClose = (event, data = {}) => {\n\t\tif (!data.componentWillUnmount) {\n\t\t\tthis.setState({ triggerPopperJS: true });\n\t\t}\n\t\tif (this.props.onClose) {\n\t\t\tthis.props.onClose(event, data);\n\t\t}\n\t};\n\n\thandleClick = (event) => {\n\t\tif (event.nativeEvent) {\n\t\t\tevent.nativeEvent.preventDefault();\n\t\t\tevent.nativeEvent.stopPropagation();\n\t\t}\n\t};\n\n\thandleKeyDown = (event) => {\n\t\tif (event.keyCode === KEYS.TAB) {\n\t\t\tif (this.props.closeOnTabKey) {\n\t\t\t\tEventUtil.trap(event);\n\t\t\t\tthis.handleClose(event);\n\t\t\t}\n\t\t}\n\n\t\tif (this.props.onKeyDown) {\n\t\t\tthis.props.onKeyDown(event);\n\t\t}\n\t};\n\n\thandleOpen = () => {\n\t\tif (this.props.variant === 'popover' && this.dialogContent) {\n\t\t\tDOMElementFocus.storeActiveElement();\n\t\t\tDOMElementFocus.setupScopedFocus({\n\t\t\t\tancestorElement: this.dialogContent,\n\t\t\t}); // eslint-disable-line react/no-find-dom-node\n\t\t\t// Don't steal focus from inner elements\n\t\t\tif (!DOMElementFocus.hasOrAncestorHasFocus()) {\n\t\t\t\tDOMElementFocus.focusAncestor({\n\t\t\t\t\tisPortal: this.props.position === 'overflowBoundaryElement',\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\n\t\tif (this.props.onOpen) {\n\t\t\tthis.props.onOpen(undefined, { portal: this.dialogContent });\n\t\t}\n\t};\n\n\t/**\n\t * Popper API and helper functions\n\t */\n\n\tcreatePopper = () => {\n\t\tconst reference = this.props.onRequestTargetElement(); // eslint-disable-line react/no-find-dom-node\n\t\tconst popper = this.dialogContent;\n\t\tconst placement = mapPropToPopperPlacement(\n\t\t\tthis.props.align,\n\t\t\tthis.props.direction\n\t\t);\n\t\tconst eventsEnabled = true; // Lets popper listen to events (resize, scroll, etc.)\n\t\tconst modifiers = {\n\t\t\tapplyStyle: { enabled: false },\n\t\t\t// moves dialog in order to not extend a boundary element such as a scrolling parent or a window/viewpoint.\n\t\t\tpreventOverflow: {\n\t\t\t\tenabled: !this.props.hasStaticAlignment,\n\t\t\t\tboundariesElement:\n\t\t\t\t\tthis.props.position === 'absolute' ? 'scrollParent' : 'viewport',\n\t\t\t},\n\t\t\thide: { enabled: false },\n\t\t\t// By default, dialogs will flip their alignment if they extend beyond a boundary element such as a scrolling parent or a window/viewpoint\n\t\t\tflip: {\n\t\t\t\tenabled: !this.props.hasStaticAlignment,\n\t\t\t},\n\t\t\tremoveOnDestroy: true,\n\t\t\tupdateState: {\n\t\t\t\tenabled: true,\n\t\t\t\torder: 900,\n\t\t\t\tfn: (popperData) => {\n\t\t\t\t\tif (\n\t\t\t\t\t\t(this.state.popperData &&\n\t\t\t\t\t\t\t!isEqual(popperData.offsets, this.state.popperData.offsets)) ||\n\t\t\t\t\t\t!this.state.popperData\n\t\t\t\t\t) {\n\t\t\t\t\t\tthis.setState({ popperData });\n\t\t\t\t\t}\n\t\t\t\t\treturn popperData;\n\t\t\t\t},\n\t\t\t},\n\t\t\t// arrow property can also point to an element\n\t\t};\n\t\tif (!reference) {\n\t\t\tconsole.error('Target node not found!', reference); // eslint-disable-line no-console\n\t\t}\n\t\tif (!popper) {\n\t\t\tconsole.error('Popper node not found!', popper); // eslint-disable-line no-console\n\t\t}\n\t\tthis.popper = new Popper(reference, popper, {\n\t\t\tplacement,\n\t\t\teventsEnabled,\n\t\t\tmodifiers,\n\t\t});\n\n\t\tthis.popper.scheduleUpdate();\n\t};\n\n\tdestroyPopper = () => {\n\t\tif (this.popper) {\n\t\t\tthis.popper.destroy();\n\t\t}\n\t};\n\n\trender() {\n\t\tlet style = {};\n\t\tconst role =\n\t\t\tthis.props.variant === 'popover' ? 'dialog' : this.props.variant;\n\t\tif (\n\t\t\tthis.props.position === 'absolute' ||\n\t\t\tthis.props.position === 'overflowBoundaryElement'\n\t\t) {\n\t\t\tstyle = {\n\t\t\t\t...style,\n\t\t\t\toutline: 0,\n\t\t\t\t...this.getPopperStyles(),\n\t\t\t};\n\t\t}\n\n\t\tif (\n\t\t\tthis.props.inheritWidthOf === 'target' &&\n\t\t\tthis.props.onRequestTargetElement()\n\t\t) {\n\t\t\tstyle.width = this.props\n\t\t\t\t.onRequestTargetElement()\n\t\t\t\t.getBoundingClientRect().width;\n\t\t} else if (\n\t\t\tthis.props.inheritWidthOf === 'menu' &&\n\t\t\tthis.dialogContent &&\n\t\t\tthis.dialogContent.querySelector('.slds-listbox')\n\t\t) {\n\t\t\t// inherit menu renderer width\n\t\t\tstyle.width = this.dialogContent\n\t\t\t\t.querySelector('.slds-listbox')\n\t\t\t\t.getBoundingClientRect().width;\n\t\t}\n\n\t\tstyle = {\n\t\t\t...style,\n\t\t\t...this.props.style,\n\t\t};\n\n\t\tconst outerTag = this.props.variant === 'popover' ? 'section' : 'div';\n\n\t\tconst contents = React.createElement(\n\t\t\touterTag,\n\t\t\t{\n\t\t\t\tclassName:\n\t\t\t\t\tclassNames(\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t'absolute-positioned': this.props.position === 'absolute',\n\t\t\t\t\t\t\t'portal-positioned':\n\t\t\t\t\t\t\t\tthis.props.position === 'overflowBoundaryElement',\n\t\t\t\t\t\t\t[`${this.props.outsideClickIgnoreClass}`]:\n\t\t\t\t\t\t\t\tthis.props.position === 'overflowBoundaryElement',\n\t\t\t\t\t\t},\n\t\t\t\t\t\tthis.props.hasNubbin &&\n\t\t\t\t\t\t\tgetNubbinClassName(this.props.align, this.state.popperData),\n\t\t\t\t\t\tthis.props.contentsClassName\n\t\t\t\t\t) || undefined,\n\n\t\t\t\tstyle,\n\t\t\t\tonMouseDown: this.props.onMouseDown,\n\t\t\t\tonKeyDown: this.handleKeyDown,\n\t\t\t\tonMouseEnter: this.props.onMouseEnter,\n\t\t\t\tonMouseLeave: this.props.onMouseLeave,\n\t\t\t\tref: this.setDialogContent,\n\t\t\t\trole,\n\t\t\t\ttabIndex: this.props.variant === 'popover' ? '-1' : undefined,\n\t\t\t\t...this.props.containerProps,\n\t\t\t},\n\n\t\t\tthis.props.children\n\t\t);\n\n\t\tconst subRenders = {\n\t\t\tabsolute: () => contents,\n\t\t\trelative: () => contents,\n\t\t\toverflowBoundaryElement: () => {\n\t\t\t\t// Cycle through current context, create object of\n\t\t\t\t// truthy values, and pass into Portal's context.\n\n\t\t\t\t// TODO: Add test when switched to `ReactDOM.createPortal`\n\t\t\t\tconst truthyIconSettingsContext = Object.keys(\n\t\t\t\t\tIconSettings.childContextTypes\n\t\t\t\t)\n\t\t\t\t\t.filter((key) => Boolean(this.context[key]))\n\t\t\t\t\t.reduce(\n\t\t\t\t\t\t(accumulatedContext, key) => ({\n\t\t\t\t\t\t\t...accumulatedContext,\n\t\t\t\t\t\t\t...{ [key]: this.context[key] },\n\t\t\t\t\t\t}),\n\t\t\t\t\t\t{}\n\t\t\t\t\t);\n\t\t\t\tconst wrapped = (\n\t\t\t\t\t// eslint-disable-next-line\n\t\t\t\t\t<UNSAFE_DirectionSettings.Provider value={this.props.direction}>\n\t\t\t\t\t\t<IconSettings {...truthyIconSettingsContext}>\n\t\t\t\t\t\t\t{contents}\n\t\t\t\t\t\t</IconSettings>\n\t\t\t\t\t</UNSAFE_DirectionSettings.Provider>\n\t\t\t\t);\n\t\t\t\treturn (\n\t\t\t\t\t<Portal onOpen={this.handleOpen} portalMount={this.props.portalMount}>\n\t\t\t\t\t\t{wrapped}\n\t\t\t\t\t</Portal>\n\t\t\t\t);\n\t\t\t},\n\t\t};\n\n\t\treturn subRenders[this.props.position] && subRenders[this.props.position]();\n\t}\n}\n\nDialog.contextTypes = {\n\ticonPath: PropTypes.string,\n\tonRequestIconPath: PropTypes.func,\n\tactionSprite: PropTypes.string,\n\tcustomSprite: PropTypes.string,\n\tdoctypeSprite: PropTypes.string,\n\tstandardSprite: PropTypes.string,\n\tutilitySprite: PropTypes.string,\n};\n\nexport default LanguageDirection(Dialog);\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n/* eslint-disable import/no-mutable-exports */\n\nimport sunsetProperty from '../../utilities/warning/sunset-property';\nimport getComponentDocFn from '../../utilities/get-component-doc';\n\nlet checkProps = function checkPropsFunction() {};\n\nif (process.env.NODE_ENV !== 'production') {\n\tcheckProps = function checkPropsFunction(COMPONENT, props, jsonDoc) {\n\t\tif (typeof props.assistiveText === 'string') {\n\t\t\tconst createDocUrl = getComponentDocFn(jsonDoc);\n\n\t\t\tsunsetProperty(\n\t\t\t\tCOMPONENT,\n\t\t\t\tprops.assistiveText,\n\t\t\t\t'assistiveText',\n\t\t\t\t`\\`assistiveText\\` as a string has been deprecated and is now an object to allow for multiple uses in the component. Please use \\`assistiveText.label\\` instead. ${createDocUrl(\n\t\t\t\t\t'assistiveText'\n\t\t\t\t)}`\n\t\t\t);\n\t\t}\n\t};\n}\n\nexport default checkProps;\n","// ### classNames\n// [github.com/JedWatson/classnames](https://github.com/JedWatson/classnames)\n// This project uses `classnames`, \"a simple javascript utility for conditionally\n// joining classNames together.\"\nimport classNames from 'classnames';\n\n// eslint-disable-next-line fp/no-rest-parameters\nconst classNamesWrapper = (...rest) => {\n\tconst string = classNames(...rest);\n\treturn string === '' ? undefined : string;\n};\n\nexport default classNamesWrapper;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// # Icon Component\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\nimport checkProps from './check-props';\nimport componentDoc from './component.json';\n\n// ### classNames\n// [github.com/JedWatson/classnames](https://github.com/JedWatson/classnames)\n// A simple javascript utility for conditionally joining classNames together.\nimport classNames from '../../utilities/class-names';\n\n// ## Children\nimport UtilityIcon from '../utilities/utility-icon';\n\nimport IconBackgrounds from '../../utilities/product-tokens/icon-backgrounds';\n\nimport { ICON } from '../../utilities/constants';\n\nconst defaultProps = {\n\tassistiveText: {},\n\tcategory: 'standard',\n\tcolorVariant: 'default',\n\tsize: 'medium',\n};\n\n/**\n * The Icon component is the Lightning Design System Icon component and should be used for naked icons. For icons that are buttons, use the <a href='/components/buttons/'>Button component</a> component with <code>variant='icon'</code>.\n */\nconst Icon = (props) => {\n\tcheckProps(ICON, props, componentDoc);\n\tconst {\n\t\tcategory,\n\t\tclassName,\n\t\tcolorVariant,\n\t\tcontainerClassName,\n\t\tcontainerStyle,\n\t\ticon,\n\t\tinverse,\n\t\tname,\n\t\tpath,\n\t\tsize,\n\t\ttitle,\n\t\tproductTheme,\n\t} = props;\n\n\tlet { style } = props;\n\tif (productTheme) {\n\t\tstyle = { backgroundColor: IconBackgrounds[productTheme], ...style };\n\t}\n\tconst assistiveText =\n\t\ttypeof props.assistiveText === 'string'\n\t\t\t? props.assistiveText\n\t\t\t: {\n\t\t\t\t\t...defaultProps.assistiveText,\n\t\t\t\t\t...props.assistiveText,\n\t\t\t }.label;\n\n\tconst kababCaseName = name ? name.replace(/_/g, '-') : '';\n\n\treturn (\n\t\t<span\n\t\t\tclassName={classNames(\n\t\t\t\t{\n\t\t\t\t\t'slds-icon_container': category !== 'utility',\n\t\t\t\t\t'slds-icon_container_circle': category === 'action',\n\t\t\t\t\t[`slds-icon-${category}-${kababCaseName}`]:\n\t\t\t\t\t\tcategory !== 'utility' && category !== 'doctype' && !path,\n\t\t\t\t},\n\t\t\t\tcontainerClassName\n\t\t\t)}\n\t\t\tstyle={containerStyle}\n\t\t\ttitle={title}\n\t\t>\n\t\t\t<UtilityIcon\n\t\t\t\taria-hidden=\"true\"\n\t\t\t\tcategory={category}\n\t\t\t\tclassName={classNames(className, 'slds-icon', {\n\t\t\t\t\t'slds-icon_xx-small': size === 'xx-small',\n\t\t\t\t\t'slds-icon_x-small': size === 'x-small',\n\t\t\t\t\t'slds-icon_small': size === 'small',\n\t\t\t\t\t// medium intentially not present\n\t\t\t\t\t'slds-icon_large': size === 'large',\n\t\t\t\t\t// if category is `utility` and `inverse` is false (default), icon will be dark // return true\n\t\t\t\t\t// if category is `utility` and `inverse` is true, icon will be light // return false\n\t\t\t\t\t// if category is NOT `utility` and `inverse` is false (default), icon will be light // return false\n\t\t\t\t\t// if category is NOT `utility` and `inverse` is true, icon will be dark // return true\n\t\t\t\t\t'slds-icon-text-default':\n\t\t\t\t\t\tcolorVariant === 'default' && category === 'utility'\n\t\t\t\t\t\t\t? !inverse\n\t\t\t\t\t\t\t: inverse,\n\t\t\t\t\t'slds-icon-text-warning': colorVariant === 'warning',\n\t\t\t\t\t'slds-icon-text-error': colorVariant === 'error',\n\t\t\t\t\t'slds-icon-text-light': colorVariant === 'light',\n\t\t\t\t})}\n\t\t\t\ticon={icon}\n\t\t\t\tname={name}\n\t\t\t\tpath={path}\n\t\t\t\tstyle={style}\n\t\t\t/>\n\t\t\t{assistiveText ? (\n\t\t\t\t<span className=\"slds-assistive-text\">{assistiveText}</span>\n\t\t\t) : (\n\t\t\t\t''\n\t\t\t)}\n\t\t</span>\n\t);\n};\n\n// ### Display Name\n// Always use the canonical component name as the React display name.\nIcon.displayName = ICON;\n\n// ### Prop Types\nIcon.propTypes = {\n\t/**\n\t * **Assistive text for accessibility.**\n\t * This object is merged with the default props object on every render.\n\t * * `label`: Text that is visually hidden but read aloud by screenreaders to tell the user what the icon means. Naked icons must have assistive text, however, if you also have visible descriptive text with the icon, declare this prop as <code>assistiveText=''</code>.\n\t */\n\tassistiveText: PropTypes.shape({\n\t\tlabel: PropTypes.string,\n\t}),\n\t/**\n\t * Icon category from [lightningdesignsystem.com/icons/](https://www.lightningdesignsystem.com/icons/)\n\t */\n\tcategory: PropTypes.oneOf([\n\t\t'action',\n\t\t'custom',\n\t\t'doctype',\n\t\t'standard',\n\t\t'utility',\n\t]).isRequired,\n\t/**\n\t * CSS classes that are applied to the SVG.\n\t */\n\tclassName: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\t/**\n\t * CSS classes that are applied to the span.\n\t */\n\tcontainerClassName: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\t/**\n\t * Styles that are applied to the span.\n\t */\n\tcontainerStyle: PropTypes.object,\n\t/**\n\t * Icon color variants\n\t */\n\tcolorVariant: PropTypes.oneOf([\n\t\t'base',\n\t\t'default',\n\t\t'error',\n\t\t'light',\n\t\t'warning',\n\t]),\n\t/**\n\t * A custom SVG object to use instead of the supplied SLDS icons, look in `design-system-react/icons` for examples and syntax.\n\t */\n\ticon: PropTypes.object,\n\t/**\n\t * Setting `inverse` to true will switch the color of the icon: light to dark, dark to light.\n\t */\n\tinverse: PropTypes.bool,\n\t/**\n\t * Name of the icon. Visit <a href='http://www.lightningdesignsystem.com/resources/icons'>Lightning Design System Icons</a> to reference icon names.\n\t */\n\tname: PropTypes.string,\n\t/**\n\t * Path to the icon. This will override any global icon settings\n\t */\n\tpath: PropTypes.string,\n\t/**\n\t * Background theme color for the icon. **Only compatible with icon category `standard`**\n\t */\n\tproductTheme: PropTypes.oneOf([\n\t\t'global-setup',\n\t\t'service-cloud',\n\t\t'industry-cloud',\n\t\t'sales-cloud',\n\t\t'commerce-cloud',\n\t\t'community-cloud',\n\t\t'marketing-cloud',\n\t\t'quip',\n\t]),\n\t/**\n\t * Size of the icon. Visit [lightningdesignsystem.com/components/icons/#flavor-sizes](https://www.lightningdesignsystem.com/components/icons/#flavor-sizes)\n\t */\n\tsize: PropTypes.oneOf(['xx-small', 'x-small', 'small', 'medium', 'large']),\n\t/**\n\t * Custom styles to be passed to the SVG. Could be used to change icon or background color.\n\t */\n\tstyle: PropTypes.object,\n\t/**\n\t * Title attribute for the icon container\n\t */\n\ttitle: PropTypes.string,\n};\n\nIcon.defaultProps = defaultProps;\n\nexport default Icon;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n/* eslint-disable import/no-mutable-exports */\n\nimport React from 'react';\n\nimport deprecatedProperty from '../../utilities/warning/deprecated-property';\nimport deprecatedPropertyValue from '../../utilities/warning/deprecated-property-value';\nimport isTriggerTabbable from '../../utilities/warning/is-trigger-tabbable';\nimport getComponentDocFn from '../../utilities/get-component-doc';\n\nlet checkProps = function checkPropsFunction() {};\n\nif (process.env.NODE_ENV !== 'production') {\n\tcheckProps = function checkPropsFunction(COMPONENT, props, jsonDoc) {\n\t\tconst createDocUrl = getComponentDocFn(jsonDoc);\n\n\t\tif (\n\t\t\tprops.variant === 'base' &&\n\t\t\tReact.Children.count(props.children) !== 0\n\t\t) {\n\t\t\tisTriggerTabbable(\n\t\t\t\tCOMPONENT,\n\t\t\t\tprops.children,\n\t\t\t\tcreateDocUrl(),\n\t\t\t\tprops.silenceTriggerTabbableWarning\n\t\t\t);\n\t\t}\n\n\t\t// Deprecated and changed to another property\n\t\tdeprecatedPropertyValue(\n\t\t\tCOMPONENT,\n\t\t\t{\n\t\t\t\tpropAsString: 'variant',\n\t\t\t\tpropValue: props.variant,\n\t\t\t\tdeprecatedPropValue: 'info',\n\t\t\t\treplacementPropAsString: 'theme',\n\t\t\t\treplacementPropAsValue: 'info',\n\t\t\t},\n\t\t\tcreateDocUrl('theme')\n\t\t);\n\t\tdeprecatedPropertyValue(\n\t\t\tCOMPONENT,\n\t\t\t{\n\t\t\t\tpropAsString: 'variant',\n\t\t\t\tpropValue: props.variant,\n\t\t\t\tdeprecatedPropValue: 'error',\n\t\t\t\treplacementPropAsString: 'theme',\n\t\t\t\treplacementPropAsValue: 'error',\n\t\t\t},\n\t\t\tcreateDocUrl('theme')\n\t\t);\n\t\tdeprecatedProperty(\n\t\t\tCOMPONENT,\n\t\t\tprops.openByDefault,\n\t\t\t'openByDefault',\n\t\t\t'isOpen',\n\t\t\tcreateDocUrl('isOpen')\n\t\t);\n\t\tdeprecatedProperty(\n\t\t\tCOMPONENT,\n\t\t\tprops.target,\n\t\t\t'target',\n\t\t\tundefined,\n\t\t\t`A new positioning library is being implmented under the hood. Please trigger tooltips to appear on their triggers with \\`isOpen\\` and not on other DOM elements. ${createDocUrl(\n\t\t\t\t'isOpen'\n\t\t\t)}` // eslint-disable-line max-len\n\t\t);\n\n\t\tdeprecatedProperty(\n\t\t\tCOMPONENT,\n\t\t\tprops.isInline,\n\t\t\t'isInline',\n\t\t\t'position=\"relative\"',\n\t\t\tcreateDocUrl('position')\n\t\t);\n\t};\n}\n\nexport default checkProps;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// # Tooltip\n\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\nimport classNames from 'classnames';\n\n// ### shortid\n// [npmjs.com/package/shortid](https://www.npmjs.com/package/shortid)\n// shortid is a short, non-sequential, url-friendly, unique id generator\nimport shortid from 'shortid';\n\nimport { POPOVER_TOOLTIP } from '../../utilities/constants';\n\nimport Dialog from '../utilities/dialog';\nimport Icon from '../icon';\n// eslint-disable-next-line import/no-cycle\nimport Button from '../button';\n\n// This component's `checkProps` which issues warnings to developers about properties when in development mode (similar to React's built in development tools)\nimport checkProps from './check-props';\nimport componentDoc from './component.json';\n\n// ### Display Name\n// Always use the canonical component name as the React display name.\nconst displayName = POPOVER_TOOLTIP;\n\nconst propTypes = {\n\t/**\n\t * Alignment of the Tooltip relative to the element that triggers it.\n\t */\n\talign: PropTypes.oneOf([\n\t\t'top',\n\t\t'top left',\n\t\t'top right',\n\t\t'right',\n\t\t'right top',\n\t\t'right bottom',\n\t\t'bottom',\n\t\t'bottom left',\n\t\t'bottom right',\n\t\t'left',\n\t\t'left top',\n\t\t'left bottom',\n\t]).isRequired,\n\t/**\n\t * **Assistive text for accessibility**\n\t * This object is merged with the default props object on every render.\n\t * * `tooltipTipLearnMoreIcon`: This text is inside the info icon within the tooltip content and exists to \"complete the sentence\" for assistive tech users.\n\t * * `triggerLearnMoreIcon`: This text is inside the info icon that triggers the tooltip in order to have text within the link.\n\t */\n\tassistiveText: PropTypes.shape({\n\t\ttooltipTipLearnMoreIcon: PropTypes.string,\n\t\ttriggerLearnMoreIcon: PropTypes.string,\n\t}),\n\t/**\n\t * Pass the one element that triggers the Tooltip as a child. It must be an element with `tabIndex` or an element that already has a `tabIndex` set such as an anchor or a button, so that keyboard users can tab to it.\n\t */\n\tchildren: PropTypes.node,\n\t/**\n\t * Content inside Tooltip.\n\t */\n\tcontent: PropTypes.node.isRequired,\n\t/**\n\t * CSS classes to be added to the popover dialog. That is the element with `.slds-popover` on it.\n\t */\n\tdialogClassName: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\t/**\n\t * Enabling this hides the default nubbin, replacing it with one attached directly to the tooltip trigger. Note: `hasStaticAlignment` should be set to `true` if using this feature as auto-flipping anchored nubbins are not currently supported.\n\t */\n\thasAnchoredNubbin: PropTypes.bool,\n\t/**\n\t * By default, dialogs will flip their alignment (such as bottom to top) if they extend beyond a boundary element such as a scrolling parent or a window/viewpoint. `hasStaticAlignment` disables this behavior and allows this component to extend beyond boundary elements. _Not tested._\n\t */\n\thasStaticAlignment: PropTypes.bool,\n\t/**\n\t * Delay on Tooltip closing in milliseconds. Defaults to 50\n\t */\n\thoverCloseDelay: PropTypes.number,\n\t/**\n\t * Delay on Tooltip opening in milliseconds. Defaults to 0\n\t */\n\thoverOpenDelay: PropTypes.number,\n\t/**\n\t * A unique ID is needed in order to support keyboard navigation, ARIA support, and connect the popover to the triggering element.\n\t */\n\tid: PropTypes.string,\n\t/**\n\t * **Text labels for internationalization**\n\t * This object is merged with the default props object on every render.\n\t * * `learnMoreAfter`: This label appears in the tooltip after the info icon.\n\t * * `learnMoreBefore`: This label appears in the tooltip before the info icon.\n\t */\n\tlabels: PropTypes.shape({\n\t\tlearnMoreAfter: PropTypes.string,\n\t\tlearnMoreBefore: PropTypes.string,\n\t}),\n\t/**\n\t * Forces tooltip to be open. A value of `false` will disable any interaction with the tooltip.\n\t */\n\tisOpen: PropTypes.bool,\n\t/**\n\t * Callback that returns an element or React `ref` to align the Tooltip with.\n\t */\n\tonRequestTargetElement: PropTypes.func,\n\t/**\n\t * CSS classes to be added to tag with `slds-tooltip-trigger`.\n\t */\n\ttriggerClassName: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\t/**\n\t * Please select one of the following:\n\t * * `absolute` - (default) The dialog will use `position: absolute` and style attributes to position itself. This allows inverted placement or flipping of the dialog.\n\t * * `overflowBoundaryElement` - The dialog will overflow scrolling parents. Use on elements that are aligned to the left or right of their target and don't care about the target being within a scrolling parent. Typically this is a popover or tooltip. Dropdown menus can usually open up and down if no room exists. In order to achieve this a portal element will be created and attached to `body`. This element will render into that detached render tree.\n\t * * `relative` - No styling or portals will be used. Menus will be positioned relative to their triggers. This is a great choice for HTML snapshot testing.\n\t */\n\tposition: PropTypes.oneOf([\n\t\t'absolute',\n\t\t'overflowBoundaryElement',\n\t\t'relative',\n\t]),\n\t/**\n\t * Custom styles to be added to wrapping triggering `div`.\n\t */\n\ttriggerStyle: PropTypes.object,\n\t/**\n\t * Determines the theme of tooltip: for informative purpose (blue background) or warning purpose (red background). This used to be `variant`.\n\t */\n\ttheme: PropTypes.oneOf(['info', 'error']),\n\t/**\n\t * Determines the type of the tooltip.\n\t */\n\tvariant: PropTypes.oneOf(['base', 'learnMore', 'list-item']),\n};\n\nconst defaultProps = {\n\tassistiveText: {\n\t\ttooltipTipLearnMoreIcon: 'this link',\n\t\ttriggerLearnMoreIcon: 'Help',\n\t},\n\talign: 'top',\n\t// eslint-disable-next-line react/jsx-curly-brace-presence\n\tcontent: <span>{'Tooltip'}</span>,\n\tlabels: {\n\t\tlearnMoreAfter: 'to learn more.',\n\t\tlearnMoreBefore: 'Click',\n\t},\n\thoverCloseDelay: 50,\n\thoverOpenDelay: 0,\n\tposition: 'absolute',\n\ttheme: 'info',\n\tvariant: 'base',\n};\n\n/**\n * The PopoverTooltip component is variant of the Lightning Design System Popover component. This component wraps an element that triggers it to open. It must be a focusable child element (either a button or an anchor), so that keyboard users can navigate to it.\n */\nclass Tooltip extends React.Component {\n\tconstructor(props) {\n\t\tsuper(props);\n\n\t\tthis.state = {\n\t\t\tisOpen: false,\n\t\t};\n\n\t\tthis.tooltipTimeout = {};\n\n\t\t// `checkProps` issues warnings to developers about properties (similar to React's built in development tools)\n\t\tcheckProps(POPOVER_TOOLTIP, props, componentDoc);\n\n\t\tthis.generatedId = shortid.generate();\n\t}\n\n\tcomponentWillUnmount() {\n\t\tthis.isUnmounting = true;\n\t}\n\n\tgetAnchoredNubbinStyles() {\n\t\tif (this.props.hasAnchoredNubbin) {\n\t\t\tconst alignment = this.props.align.split(' ')[0];\n\t\t\tconst nubbinContainerStyles = {\n\t\t\t\theight: '0',\n\t\t\t\tposition: 'relative',\n\t\t\t\twidth: '0',\n\t\t\t};\n\t\t\tconst nubbinStyles = {\n\t\t\t\tbackgroundColor: '#16325c',\n\t\t\t\tcontent: '',\n\t\t\t\theight: '1rem',\n\t\t\t\tposition: 'absolute',\n\t\t\t\ttransform: 'rotate(45deg)',\n\t\t\t\twidth: '1rem',\n\t\t\t};\n\t\t\tconst triggerDimensions = {\n\t\t\t\theight: this.trigger ? this.trigger.getBoundingClientRect().height : 0,\n\t\t\t\twidth: this.trigger ? this.trigger.getBoundingClientRect().width : 0,\n\t\t\t};\n\n\t\t\tswitch (alignment) {\n\t\t\t\tcase 'bottom': {\n\t\t\t\t\tnubbinContainerStyles.left = `${triggerDimensions.width / 2}px`;\n\t\t\t\t\tnubbinContainerStyles.top = `${triggerDimensions.height}px`;\n\t\t\t\t\tnubbinStyles.left = '-8px';\n\t\t\t\t\tnubbinStyles.top = '3px';\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t\tcase 'left': {\n\t\t\t\t\tnubbinContainerStyles.left = '0';\n\t\t\t\t\tnubbinContainerStyles.top = `${triggerDimensions.height / 2}px`;\n\t\t\t\t\tnubbinStyles.left = '-19px';\n\t\t\t\t\tnubbinStyles.top = '-9px';\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t\tcase 'right': {\n\t\t\t\t\tnubbinContainerStyles.left = `${triggerDimensions.width}px`;\n\t\t\t\t\tnubbinContainerStyles.top = `${triggerDimensions.height / 2}px`;\n\t\t\t\t\tnubbinStyles.left = '3px';\n\t\t\t\t\tnubbinStyles.top = '-9px';\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t\tdefault: {\n\t\t\t\t\tnubbinContainerStyles.left = `${triggerDimensions.width / 2}px`;\n\t\t\t\t\tnubbinContainerStyles.top = '0';\n\t\t\t\t\tnubbinStyles.left = '-8px';\n\t\t\t\t\tnubbinStyles.top = '-19px';\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn (\n\t\t\t\t<React.Fragment>\n\t\t\t\t\t<style>{`#${this.getId()}:after, #${this.getId()}:before {\n\tdisplay: none;\n}`}</style>\n\t\t\t\t\t{this.getIsOpen() ? (\n\t\t\t\t\t\t<div style={nubbinContainerStyles}>\n\t\t\t\t\t\t\t<div style={nubbinStyles} />\n\t\t\t\t\t\t</div>\n\t\t\t\t\t) : null}\n\t\t\t\t</React.Fragment>\n\t\t\t);\n\t\t}\n\n\t\treturn null;\n\t}\n\n\tgetContent() {\n\t\tlet children;\n\t\tconst noChildrenProvided = React.Children.count(this.props.children) === 0;\n\n\t\tif (noChildrenProvided && this.props.onClickTrigger) {\n\t\t\tchildren = [\n\t\t\t\t<a href=\"javascript:void(0)\" onClick={this.props.onClickTrigger}>\n\t\t\t\t\t<Icon\n\t\t\t\t\t\tcategory=\"utility\"\n\t\t\t\t\t\tname=\"info\"\n\t\t\t\t\t\tassistiveText={{\n\t\t\t\t\t\t\tlabel: this.props.assistiveText.triggerLearnMoreIcon,\n\t\t\t\t\t\t}}\n\t\t\t\t\t\tsize=\"x-small\"\n\t\t\t\t\t/>\n\t\t\t\t</a>,\n\t\t\t];\n\t\t} else if (noChildrenProvided) {\n\t\t\tchildren = [\n\t\t\t\t<Button\n\t\t\t\t\taria-disabled\n\t\t\t\t\tassistiveText={{\n\t\t\t\t\t\ticon: this.props.assistiveText.triggerLearnMoreIcon,\n\t\t\t\t\t}}\n\t\t\t\t\ticonCategory=\"utility\"\n\t\t\t\t\ticonName=\"info\"\n\t\t\t\t\tvariant=\"icon\"\n\t\t\t\t/>,\n\t\t\t];\n\t\t} else {\n\t\t\t// eslint-disable-next-line prefer-destructuring\n\t\t\tchildren = this.props.children;\n\t\t}\n\n\t\treturn React.Children.map(children, (child, i) =>\n\t\t\tReact.cloneElement(child, {\n\t\t\t\tkey: i, // eslint-disable-line react/no-array-index-key\n\t\t\t\t'aria-describedby': this.getIsOpen() ? this.getId() : undefined,\n\t\t\t\tonBlur: this.handleMouseLeave,\n\t\t\t\tonFocus: this.handleMouseEnter,\n\t\t\t\tonMouseEnter: this.handleMouseEnter,\n\t\t\t\tonMouseLeave: this.handleMouseLeave,\n\t\t\t})\n\t\t);\n\t}\n\n\tgetId() {\n\t\treturn this.props.id || this.generatedId;\n\t}\n\n\tgetIsOpen() {\n\t\treturn this.props.isOpen === undefined\n\t\t\t? this.state.isOpen\n\t\t\t: this.props.isOpen;\n\t}\n\n\tgetTooltip() {\n\t\tconst isOpen = this.getIsOpen();\n\t\tconst { align } = this.props;\n\n\t\t// REMOVE AT NEXT BREAKING CHANGE (v1.0 or v0.9)\n\t\tconst deprecatedWay = this.props.variant === 'error';\n\n\t\treturn isOpen ? (\n\t\t\t<Dialog\n\t\t\t\tcloseOnTabKey\n\t\t\t\thasNubbin\n\t\t\t\tcontentsClassName={classNames(\n\t\t\t\t\t'slds-popover',\n\t\t\t\t\t'slds-popover_tooltip',\n\t\t\t\t\t{\n\t\t\t\t\t\t'slds-theme_error': this.props.theme === 'error' || deprecatedWay,\n\t\t\t\t\t},\n\t\t\t\t\tthis.props.dialogClassName\n\t\t\t\t)}\n\t\t\t\talign={align}\n\t\t\t\tcontext={this.context}\n\t\t\t\thasStaticAlignment={this.props.hasStaticAlignment}\n\t\t\t\tonClose={this.handleCancel}\n\t\t\t\tonRequestTargetElement={() => this.getTooltipTarget()}\n\t\t\t\tposition={this.props.position}\n\t\t\t\tvariant=\"tooltip\"\n\t\t\t\tcontainerProps={{\n\t\t\t\t\tid: this.getId(),\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\t{this.getTooltipContent()}\n\t\t\t</Dialog>\n\t\t) : (\n\t\t\t<span />\n\t\t);\n\t}\n\n\tgetTooltipContent() {\n\t\treturn (\n\t\t\t<div className=\"slds-popover__body\">\n\t\t\t\t{this.props.content}\n\t\t\t\t{this.props.variant === 'learnMore' && this.props.onClickTrigger ? (\n\t\t\t\t\t<div className=\"slds-m-top_x-small\" aria-hidden=\"true\">\n\t\t\t\t\t\t{this.props.labels.learnMoreBefore}{' '}\n\t\t\t\t\t\t<Icon\n\t\t\t\t\t\t\tassistiveText={{\n\t\t\t\t\t\t\t\tlabel: this.props.assistiveText.tooltipTipLearnMoreIcon,\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\tcategory=\"utility\"\n\t\t\t\t\t\t\tinverse\n\t\t\t\t\t\t\tname=\"info\"\n\t\t\t\t\t\t\tsize=\"x-small\"\n\t\t\t\t\t\t/>{' '}\n\t\t\t\t\t\t{this.props.labels.learnMoreAfter}{' '}\n\t\t\t\t\t</div>\n\t\t\t\t) : null}\n\t\t\t</div>\n\t\t);\n\t}\n\n\tgetTooltipTarget() {\n\t\tif (this.props.onRequestTargetElement) {\n\t\t\treturn this.props.onRequestTargetElement();\n\t\t}\n\n\t\t// for backwards compatibility\n\t\tif (this.props.target) {\n\t\t\treturn this.props.target;\n\t\t}\n\n\t\treturn this.trigger;\n\t}\n\n\thandleCancel = () => {\n\t\tclearTimeout(this.tooltipTimeout);\n\n\t\tthis.setState({\n\t\t\tisOpen: false,\n\t\t});\n\t};\n\n\thandleMouseEnter = () => {\n\t\tclearTimeout(this.tooltipTimeout);\n\n\t\tthis.tooltipTimeout = setTimeout(() => {\n\t\t\tif (!this.isUnmounting) {\n\t\t\t\tthis.setState({\n\t\t\t\t\tisOpen: true,\n\t\t\t\t});\n\t\t\t}\n\t\t}, this.props.hoverOpenDelay);\n\t};\n\n\thandleMouseLeave = () => {\n\t\tclearTimeout(this.tooltipTimeout);\n\n\t\tthis.tooltipTimeout = setTimeout(() => {\n\t\t\tif (!this.isUnmounting) {\n\t\t\t\tthis.setState({\n\t\t\t\t\tisOpen: false,\n\t\t\t\t});\n\t\t\t}\n\t\t}, this.props.hoverCloseDelay);\n\t};\n\n\tsaveTriggerRef = (component) => {\n\t\tthis.trigger = component;\n\t\t// yes, this is a re-render triggered by a render.\n\t\t// Dialog/Popper.js cannot place the popover until\n\t\t// the trigger/target DOM node is mounted. This\n\t\t// way `findDOMNode` is not called and parent\n\t\t// DOM nodes are not queried.\n\t\tif (!this.state.triggerRendered) {\n\t\t\tthis.setState({ triggerRendered: true });\n\t\t}\n\t};\n\n\trender() {\n\t\tconst containerStyles = {\n\t\t\tdisplay: 'inline-block',\n\t\t\tlineHeight: '1',\n\t\t\t...this.props.triggerStyle,\n\t\t};\n\n\t\treturn (\n\t\t\t<div\n\t\t\t\tclassName={classNames(\n\t\t\t\t\t'slds-tooltip-trigger',\n\t\t\t\t\tthis.props.triggerClassName\n\t\t\t\t)}\n\t\t\t\tstyle={containerStyles}\n\t\t\t\tref={this.saveTriggerRef}\n\t\t\t>\n\t\t\t\t{this.getAnchoredNubbinStyles()}\n\t\t\t\t{this.getContent()}\n\t\t\t\t{this.getTooltip()}\n\t\t\t</div>\n\t\t);\n\t}\n}\n\nTooltip.contextTypes = {\n\ticonPath: PropTypes.string,\n};\n\nTooltip.displayName = displayName;\nTooltip.propTypes = propTypes;\nTooltip.defaultProps = defaultProps;\n\nexport default Tooltip;\n","export default function getAriaProps(props) {\n\treturn Object.keys(props).reduce((prev, key) => {\n\t\tif (key.substr(0, 5) === 'aria-') {\n\t\t\t// eslint-disable-next-line no-param-reassign\n\t\t\tprev[key] = props[key];\n\t\t}\n\t\treturn prev;\n\t}, {});\n}\n","export default function getDataProps(props) {\n\treturn Object.keys(props).reduce((prev, key) => {\n\t\tif (key.substr(0, 5) === 'data-') {\n\t\t\t// eslint-disable-next-line no-param-reassign\n\t\t\tprev[key] = props[key];\n\t\t}\n\t\treturn prev;\n\t}, {});\n}\n","const formPropsSet = new Set([\n\t'form',\n\t'formAction',\n\t'formEncType',\n\t'formMethod',\n\t'formNoValidate',\n\t'formTarget',\n]);\n\nexport default function getFormProps(props) {\n\treturn Object.keys(props).reduce((prev, key) => {\n\t\tif (formPropsSet.has(key)) {\n\t\t\t// eslint-disable-next-line no-param-reassign\n\t\t\tprev[key] = props[key];\n\t\t}\n\t\treturn prev;\n\t}, {});\n}\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// Implements the [Button design pattern](https://lightningdesignsystem.com/components/buttons/) in React.\n// Based on SLDS v2.2.1\n\nimport React from 'react';\nimport requiredIf from 'react-required-if';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport ButtonIcon from '../icon/button-icon';\nimport checkProps from './check-props';\nimport componentDoc from './component.json';\n// eslint-disable-next-line import/no-cycle\nimport Tooltip from '../tooltip';\n\nimport getAriaProps from '../../utilities/get-aria-props';\nimport getDataProps from '../../utilities/get-data-props';\nimport getFormProps from '../../utilities/get-form-props';\n\nimport { BUTTON } from '../../utilities/constants';\n\nconst defaultProps = {\n\tassistiveText: { icon: '' },\n\tdisabled: false,\n\thint: false,\n\ticonSize: 'medium',\n\tresponsive: false,\n\ttype: 'button',\n\tvariant: 'neutral',\n};\n\n/**\n * The Button component is the Lightning Design System Button component. The Button should be used for label buttons, icon buttons, or buttons that have both labels and icons.\n * Either a <code>label</code> or <code>assistiveText.icon</code> is required; see the Prop Details table below. For buttons that maintain selected/unselected states, use the <a href=\"#/button-stateful\">ButtonStateful</a> component.\n * Although not listed in the prop table, all `aria-*`, `data-*` and `form*` props will be added to the `button` element if passed in.\n */\nclass Button extends React.Component {\n\tstatic displayName = BUTTON;\n\n\tstatic propTypes = {\n\t\t/**\n\t\t * **Assistive text for accessibility.**\n\t\t * This object is merged with the default props object on every render.\n\t\t * * `icon`: Text that is visually hidden but read aloud by screenreaders to tell the user what the icon means. If the button has an icon and a visible label, you can omit the <code>assistiveText.icon</code> prop and use the <code>label</code> prop.\n\t\t */\n\t\tassistiveText: PropTypes.shape({\n\t\t\ticon: PropTypes.string,\n\t\t}),\n\n\t\t/**\n\t\t * Callback that passes in the DOM reference of the `<button>` DOM node within this component. Primary use is to allow `focus` to be called. You should still test if the node exists, since rendering is asynchronous. `buttonRef={(component) => { if(component) console.log(component); }}`\n\t\t */\n\t\tbuttonRef: PropTypes.func,\n\t\t/**\n\t\t * CSS classes to be added to button.\n\t\t */\n\t\tclassName: PropTypes.oneOfType([\n\t\t\tPropTypes.array,\n\t\t\tPropTypes.object,\n\t\t\tPropTypes.string,\n\t\t]),\n\t\t/**\n\t\t * Disables the button and adds disabled styling.\n\t\t */\n\t\tdisabled: PropTypes.bool,\n\t\t/**\n\t\t * Associates an icon button with another element on the page by changes the color of the SVG. Please reference <a href=\"http://www.lightningdesignsystem.com/components/buttons/#hint\">Lightning Design System Buttons > Hint</a>.\n\t\t */\n\t\thint: PropTypes.bool,\n\t\t/**\n\t\t * Name of the icon category. Visit <a href=\"http://www.lightningdesignsystem.com/resources/icons\">Lightning Design System Icons</a> to reference icon categories.\n\t\t */\n\t\ticonCategory: requiredIf(\n\t\t\tPropTypes.oneOf(['action', 'custom', 'doctype', 'standard', 'utility']),\n\t\t\t(props) => !!props.iconName\n\t\t),\n\t\t/**\n\t\t * CSS classes to be added to icon.\n\t\t */\n\t\ticonClassName: PropTypes.oneOfType([\n\t\t\tPropTypes.array,\n\t\t\tPropTypes.object,\n\t\t\tPropTypes.string,\n\t\t]),\n\t\t/**\n\t\t * Name of the icon. Visit <a href=\"http://www.lightningdesignsystem.com/resources/icons\">Lightning Design System Icons</a> to reference icon names.\n\t\t */\n\t\ticonName: PropTypes.string,\n\t\t/**\n\t\t * Path to the icon. This will override any global icon settings.\n\t\t */\n\t\ticonPath: PropTypes.string,\n\t\t/**\n\t\t * If omitted, icon position is centered.\n\t\t */\n\t\ticonPosition: PropTypes.oneOf(['left', 'right']),\n\t\t/**\n\t\t * Determines the size of the icon.\n\t\t */\n\t\ticonSize: PropTypes.oneOf(['x-small', 'small', 'medium', 'large']),\n\t\t/**\n\t\t * For icon variants, please reference <a href=\"http://www.lightningdesignsystem.com/components/buttons/#icon\">Lightning Design System Icons</a>.\n\t\t */\n\t\ticonVariant: PropTypes.oneOf([\n\t\t\t'bare',\n\t\t\t'container',\n\t\t\t'border',\n\t\t\t'border-filled',\n\t\t\t'brand',\n\t\t\t'more',\n\t\t\t'global-header',\n\t\t]),\n\t\t/**\n\t\t * Id string applied to button node.\n\t\t */\n\t\tid: PropTypes.string,\n\t\t/**\n\t\t * If true, button/icon is white. Meant for buttons or utility icons on dark backgrounds.\n\t\t */\n\t\tinverse: PropTypes.bool,\n\t\t/**\n\t\t * Visible label on the button. If the button is an icon button with no label, you must use the <code>assistiveText.icon</code> prop.\n\t\t */\n\t\tlabel: PropTypes.oneOfType([PropTypes.string, PropTypes.node]),\n\t\t/**\n\t\t * Triggered when focus is removed.\n\t\t */\n\t\tonBlur: PropTypes.func,\n\t\t/**\n\t\t * Triggered when the button is clicked.\n\t\t */\n\t\tonClick: PropTypes.func,\n\t\t/**\n\t\t * Triggered when component is focused.\n\t\t */\n\t\tonFocus: PropTypes.func,\n\t\t/**\n\t\t * Triggered when a key is pressed down\n\t\t */\n\t\tonKeyDown: PropTypes.func,\n\t\t/**\n\t\t * Triggered when a key is pressed and released\n\t\t */\n\t\tonKeyPress: PropTypes.func,\n\t\t/**\n\t\t * Triggered when a key is released\n\t\t */\n\t\tonKeyUp: PropTypes.func,\n\t\t/**\n\t\t * Triggered when a mouse button is pressed down\n\t\t */\n\t\tonMouseDown: PropTypes.func,\n\t\t/**\n\t\t * Triggered when a mouse arrow hovers\n\t\t */\n\t\tonMouseEnter: PropTypes.func,\n\t\t/**\n\t\t * Triggered when a mouse arrow no longer hovers\n\t\t */\n\t\tonMouseLeave: PropTypes.func,\n\t\t/**\n\t\t * Triggered when a mouse button is released\n\t\t */\n\t\tonMouseUp: PropTypes.func,\n\t\t/**\n\t\t * If true, button scales to 100% width on small form factors.\n\t\t */\n\t\tresponsive: PropTypes.bool,\n\t\t/**\n\t\t * Write <code>\"-1\"</code> if you don't want the user to tab to the button.\n\t\t */\n\t\ttabIndex: PropTypes.string,\n\t\t/**\n\t\t * Button type\n\t\t */\n\t\ttype: PropTypes.oneOf(['reset', 'submit', 'button']),\n\t\t/**\n\t\t * HTML title attribute\n\t\t */\n\t\ttitle: PropTypes.string,\n\t\t/**\n\t\t * [Deprecated] Tooltip on button. Button should be a child of `Tooltip` instead.\n\t\t */\n\t\ttooltip: PropTypes.node,\n\t\t/**\n\t\t * Different types of buttons\n\t\t */\n\t\tvariant: PropTypes.oneOf([\n\t\t\t'base',\n\t\t\t'link',\n\t\t\t'neutral',\n\t\t\t'brand',\n\t\t\t'outline-brand',\n\t\t\t'destructive',\n\t\t\t'success',\n\t\t\t'text-destructive',\n\t\t\t'icon',\n\t\t]),\n\t\t/**\n\t\t * Custom styles to be passed to the component\n\t\t */\n\t\tstyle: PropTypes.object,\n\t};\n\n\tstatic defaultProps = defaultProps;\n\n\tconstructor(props) {\n\t\tsuper(props);\n\n\t\t// `checkProps` issues warnings to developers about properties (similar to React's built in development tools)\n\t\tcheckProps(BUTTON, props, componentDoc);\n\t}\n\n\tgetClassName = () => {\n\t\tconst isIcon = this.props.variant === 'icon';\n\n\t\tlet { iconVariant } = this.props;\n\t\tconst iconMore = iconVariant === 'more';\n\t\tconst iconBorder = iconVariant === 'border';\n\t\tconst iconGlobalHeader = iconVariant === 'global-header';\n\n\t\tconst showButtonVariant =\n\t\t\t(this.props.variant !== 'base' &&\n\t\t\t\t!iconVariant &&\n\t\t\t\t!this.props.inverse &&\n\t\t\t\tthis.props.variant !== 'link') ||\n\t\t\ticonVariant === 'bare';\n\t\tconst plainInverseBtn = this.props.inverse && !isIcon;\n\t\tconst plainInverseIcon =\n\t\t\tthis.props.inverse && isIcon && !iconMore && !iconBorder;\n\t\tconst moreInverseIcon = this.props.inverse && iconMore;\n\t\tconst borderInverseIcon = this.props.inverse && iconBorder;\n\n\t\t// After hijacking `iconVariant` to let `Button` know it's in the header, we reset to container style for the actual button CSS.\n\t\tif (iconVariant === 'global-header') {\n\t\t\ticonVariant = 'container';\n\t\t}\n\n\t\treturn classNames(\n\t\t\t{\n\t\t\t\t'slds-button': this.props.variant !== 'link',\n\t\t\t\t[`slds-button_${this.props.variant}`]: showButtonVariant,\n\t\t\t\t'slds-button_inverse': plainInverseBtn,\n\t\t\t\t'slds-button_icon-inverse': plainInverseIcon || moreInverseIcon,\n\t\t\t\t'slds-button_icon-border-inverse': borderInverseIcon,\n\t\t\t\t[`slds-button_icon-${iconVariant}`]: iconVariant && !borderInverseIcon,\n\t\t\t\t'slds-global-header__button_icon': iconGlobalHeader,\n\t\t\t\t// If icon has a container, then we apply the icon size to the container not the svg. Icon size is medium by default, so we don't need to explicitly render it here.\n\t\t\t\t[`slds-button_icon-${this.props.iconSize}`]:\n\t\t\t\t\ticonVariant && this.props.iconSize !== 'medium',\n\t\t\t\t'slds-button_reset': this.props.variant === 'link',\n\t\t\t\t'slds-text-link': this.props.variant === 'link',\n\t\t\t},\n\t\t\tthis.props.className\n\t\t);\n\t};\n\n\thandleClick = (event) => {\n\t\tif (this.props.onClick) {\n\t\t\tthis.props.onClick(event, {});\n\t\t}\n\t};\n\n\trenderIcon = (name) => {\n\t\tconst iconSize =\n\t\t\t!this.props.iconSize || this.props.iconVariant\n\t\t\t\t? null\n\t\t\t\t: this.props.iconSize;\n\t\treturn (\n\t\t\t<ButtonIcon\n\t\t\t\tcategory={this.props.iconCategory || 'utility'} // BREAKING CHANGE we will introduce in 1.0. For the moment, set default prop here if none specified.\n\t\t\t\tclassName={classNames(\n\t\t\t\t\t{\n\t\t\t\t\t\t'slds-global-header__icon':\n\t\t\t\t\t\t\tthis.props.iconVariant === 'global-header',\n\t\t\t\t\t},\n\t\t\t\t\tthis.props.iconClassName\n\t\t\t\t)}\n\t\t\t\thint={this.props.hint}\n\t\t\t\tinverse={this.props.inverse}\n\t\t\t\tname={name}\n\t\t\t\tpath={this.props.iconPath}\n\t\t\t\tposition={this.props.iconPosition}\n\t\t\t\tsize={iconSize}\n\t\t\t/>\n\t\t);\n\t};\n\n\trenderLabel = () => {\n\t\tconst iconOnly = this.props.iconName || this.props.iconPath;\n\t\tconst assistiveTextIcon =\n\t\t\ttypeof this.props.assistiveText === 'string'\n\t\t\t\t? this.props.assistiveText\n\t\t\t\t: {\n\t\t\t\t\t\t...defaultProps.assistiveText,\n\t\t\t\t\t\t...this.props.assistiveText,\n\t\t\t\t }.icon;\n\n\t\treturn iconOnly && assistiveTextIcon ? (\n\t\t\t<span className=\"slds-assistive-text\">{assistiveTextIcon}</span>\n\t\t) : (\n\t\t\tthis.props.label\n\t\t);\n\t};\n\n\trenderButton = () => {\n\t\tconst ariaProps = getAriaProps(this.props);\n\t\tconst dataProps = getDataProps(this.props);\n\t\tconst formProps = getFormProps(this.props);\n\n\t\treturn (\n\t\t\t// eslint-disable-next-line react/button-has-type\n\t\t\t<button\n\t\t\t\tclassName={this.getClassName()}\n\t\t\t\tdisabled={this.props.disabled}\n\t\t\t\tid={this.props.id}\n\t\t\t\tonBlur={this.props.onBlur}\n\t\t\t\tonClick={this.handleClick}\n\t\t\t\tonFocus={this.props.onFocus}\n\t\t\t\tonKeyDown={this.props.onKeyDown}\n\t\t\t\tonKeyPress={this.props.onKeyPress}\n\t\t\t\tonKeyUp={this.props.onKeyUp}\n\t\t\t\tonMouseDown={this.props.onMouseDown}\n\t\t\t\tonMouseEnter={this.props.onMouseEnter}\n\t\t\t\tonMouseLeave={this.props.onMouseLeave}\n\t\t\t\tonMouseUp={this.props.onMouseUp}\n\t\t\t\tref={(component) => {\n\t\t\t\t\tif (this.props.buttonRef) {\n\t\t\t\t\t\tthis.props.buttonRef(component);\n\t\t\t\t\t}\n\t\t\t\t}}\n\t\t\t\ttabIndex={this.props.tabIndex}\n\t\t\t\ttitle={this.props.title}\n\t\t\t\t// eslint-disable-next-line react/button-has-type\n\t\t\t\ttype={this.props.type || 'button'}\n\t\t\t\tstyle={this.props.style}\n\t\t\t\t{...ariaProps}\n\t\t\t\t{...dataProps}\n\t\t\t\t{...formProps}\n\t\t\t>\n\t\t\t\t{this.props.iconPosition === 'right' ? this.renderLabel() : null}\n\n\t\t\t\t{this.props.iconName || this.props.iconPath\n\t\t\t\t\t? this.renderIcon(this.props.iconName)\n\t\t\t\t\t: null}\n\t\t\t\t{this.props.iconVariant === 'more' ? (\n\t\t\t\t\t<ButtonIcon\n\t\t\t\t\t\tcategory=\"utility\"\n\t\t\t\t\t\tname=\"down\"\n\t\t\t\t\t\tsize=\"x-small\"\n\t\t\t\t\t\tclassName={this.props.iconClassName}\n\t\t\t\t\t/>\n\t\t\t\t) : null}\n\n\t\t\t\t{this.props.iconPosition === 'left' || !this.props.iconPosition\n\t\t\t\t\t? this.renderLabel()\n\t\t\t\t\t: null}\n\t\t\t\t{\n\t\t\t\t\tthis.props.children // eslint-disable-line react/prop-types\n\t\t\t\t}\n\t\t\t</button>\n\t\t);\n\t};\n\n\t// This is present for backwards compatibility and should be removed at a future breaking change release. Please wrap a `Button` in a `PopoverTooltip` to achieve the same result. There will be an extra trigger `div` wrapping the `Button` though.\n\trenderTooltip = () => (\n\t\t<Tooltip content={this.props.tooltip}>{this.renderButton}</Tooltip>\n\t);\n\n\trender() {\n\t\treturn this.props.tooltip ? this.renderTooltip() : this.renderButton();\n\t}\n}\n\nexport default Button;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// Implements the [Accordion design\n// pattern](https://www.lightningdesignsystem.com/components/accordion/) in\n// React. Based on SLDS v2.3.2\n\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\n\nimport Button from '../button';\n\nimport { ACCORDION_PANEL } from '../../utilities/constants';\n\nconst propTypes = {\n\t/**\n\t * The panel content for the Accordion component. Accordion panels should be added as <AccordionPanel />. Event handler for the accordion panels should be added to `<AccordionPanel />`. Optional `panelContentActions` component may be passed as prop. _Tested with Mocha framework and snapshot testing._\n\t */\n\tchildren: PropTypes.node,\n\t/**\n\t * Indicates whether item is expanded or not, which should be handled by `onTogglePanel`. _Tested with Mocha framework and snapshot testing._\n\t */\n\texpanded: PropTypes.bool.isRequired,\n\t/**\n\t * Id of the item belonging to this panel. _Tested with snapshot testing._\n\t */\n\tid: PropTypes.oneOfType([PropTypes.number, PropTypes.string]).isRequired,\n\t/**\n\t * Component that can be passed as prop to `<Panel />`. As an example, a menu dropdown could be used here to handle additional actions for each accordion panel. _Tested with Mocha framework._\n\t */\n\tpanelContentActions: PropTypes.node,\n\t/**\n\t * Callback that will run whenever there is a keydown on the panel button. Function doesn't change the state of the component.\n\t */\n\tonKeyDownSummary: PropTypes.func,\n\t/**\n\t * Callback that will run whenever a panel is toggled. Function should handle state to toggle `expanded` prop. _Tested with Mocha framework._\n\t */\n\tonTogglePanel: PropTypes.func.isRequired,\n\t/**\n\t * Ref callback that will pass in panel's `input` tag\n\t */\n\trefs: PropTypes.shape({\n\t\tsummaryButton: PropTypes.func,\n\t}),\n\t/**\n\t * Summary in the span element in the header of this panel. The summary is truncated and so the title element should contain the full text so that it is accessible on hover. _Tested with snapshot testing._\n\t */\n\tsummary: PropTypes.oneOfType([PropTypes.string, PropTypes.node]).isRequired,\n\t/**\n\t * HTML title attribute. _Tested with snapshot testing._\n\t */\n\ttitle: PropTypes.string,\n};\n\n/**\n * The panel content for the Accordion component.\n */\nconst AccordionPanel = ({\n\tchildren,\n\texpanded,\n\tid,\n\tpanelContentActions,\n\tsummary,\n\ttitle,\n\tonClickSummary,\n\tonKeyDownSummary,\n\tonTogglePanel,\n\trefs,\n}) => (\n\t<li className=\"slds-accordion__list-item\">\n\t\t<section\n\t\t\tclassName={classNames('slds-accordion__section', {\n\t\t\t\t'slds-is-open': expanded,\n\t\t\t})}\n\t\t>\n\t\t\t<div className=\"slds-accordion__summary\">\n\t\t\t\t<h3 className=\"slds-text-heading_small slds-accordion__summary-heading slds-has-flexi-truncate\">\n\t\t\t\t\t<Button\n\t\t\t\t\t\taria-controls={`${id}-accordion-panel`}\n\t\t\t\t\t\taria-expanded={expanded}\n\t\t\t\t\t\tbuttonRef={refs.summaryButton}\n\t\t\t\t\t\tclassName=\"slds-button_reset slds-accordion__summary-action\"\n\t\t\t\t\t\ticonCategory=\"utility\"\n\t\t\t\t\t\ticonClassName=\"slds-accordion__summary-action-icon slds-button__icon slds-button__icon_left\"\n\t\t\t\t\t\ticonName=\"switch\"\n\t\t\t\t\t\tid={`${id}-accordion-button`}\n\t\t\t\t\t\tonKeyDown={onKeyDownSummary}\n\t\t\t\t\t\tonClick={(e) => {\n\t\t\t\t\t\t\tonClickSummary();\n\t\t\t\t\t\t\tonTogglePanel(e);\n\t\t\t\t\t\t}}\n\t\t\t\t\t\tvariant=\"base\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<span className=\"slds-truncate\" title={title || summary}>\n\t\t\t\t\t\t\t{summary}\n\t\t\t\t\t\t</span>\n\t\t\t\t\t</Button>\n\t\t\t\t</h3>\n\t\t\t\t{panelContentActions}\n\t\t\t</div>\n\t\t\t<div\n\t\t\t\taria-hidden={!expanded}\n\t\t\t\tclassName=\"slds-accordion__content\"\n\t\t\t\tid={`${id}-accordion-panel`}\n\t\t\t>\n\t\t\t\t{children}\n\t\t\t</div>\n\t\t</section>\n\t</li>\n);\n\nexport default AccordionPanel;\n\nAccordionPanel.propTypes = propTypes;\nAccordionPanel.displayName = ACCORDION_PANEL;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n/* eslint-disable import/no-mutable-exports */\n\nimport sunsetProperty from '../../utilities/warning/sunset-property';\nimport getComponentDocFn from '../../utilities/get-component-doc';\n\nlet checkProps = function checkPropsFunction() {};\n\nif (process.env.NODE_ENV !== 'production') {\n\tcheckProps = function checkPropsFunction(COMPONENT, props, jsonDoc) {\n\t\tconst createDocUrl = getComponentDocFn(jsonDoc);\n\t\t/* eslint-disable max-len */\n\t\tsunsetProperty(\n\t\t\tCOMPONENT,\n\t\t\tprops.iconCategory,\n\t\t\t'iconCategory',\n\t\t\t`Use \\`Icon\\` instead. ${createDocUrl('icon')}`\n\t\t);\n\t\tsunsetProperty(\n\t\t\tCOMPONENT,\n\t\t\tprops.iconName,\n\t\t\t'iconName',\n\t\t\t`Use \\`Icon\\` instead. ${createDocUrl('icon')}`\n\t\t);\n\n\t\tsunsetProperty(\n\t\t\tCOMPONENT,\n\t\t\tprops.content,\n\t\t\t'content',\n\t\t\t`Use \\`labels.heading\\` and \\`labels.headingLink\\` instead.${createDocUrl(\n\t\t\t\t'labels'\n\t\t\t)}`\n\t\t);\n\t\tsunsetProperty(\n\t\t\tCOMPONENT,\n\t\t\tprops.duration,\n\t\t\t'duration',\n\t\t\t`Only Toasts can auto-hide. ${createDocUrl()}`\n\t\t);\n\t\tsunsetProperty(\n\t\t\tCOMPONENT,\n\t\t\tprops.isOpen,\n\t\t\t'isOpen',\n\t\t\t`Use a conditional outside of alert. ${createDocUrl()}`\n\t\t);\n\t\tsunsetProperty(\n\t\t\tCOMPONENT,\n\t\t\tprops.isOpen,\n\t\t\t'onDismiss',\n\t\t\t`Use \\`onRequestClose\\` instead. ${createDocUrl('onRequestClose')}`\n\t\t);\n\t\tsunsetProperty(COMPONENT, props.texture, 'texture', createDocUrl());\n\t\tsunsetProperty(\n\t\t\tCOMPONENT,\n\t\t\tprops.theme,\n\t\t\t'theme',\n\t\t\t`Use \\`variant\\` instead. ${createDocUrl('variant')}`\n\t\t);\n\t};\n}\n\nexport default checkProps;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// # Alert Component\n\n// Implements the [Alert design pattern](https://lightningdesignsystem.com/components/alert/) in React.\n\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport assign from 'lodash.assign';\nimport classNames from '../../utilities/class-names';\nimport Button from '../button';\nimport Icon from '../icon';\nimport checkProps from './check-props';\nimport componentDoc from './component.json';\nimport { ALERT } from '../../utilities/constants';\nimport DOMElementFocus from '../../utilities/dom-element-focus';\n\nconst propTypes = {\n\t/**\n\t * **Assistive text for accessibility**\n\t * This object is merged with the default props object on every render.\n\t * * `closeButton`: This is a visually hidden label for the close button.\n\t * _Tested with snapshot testing._\n\t */\n\tassistiveText: PropTypes.shape({\n\t\tcloseButton: PropTypes.oneOfType([PropTypes.string, PropTypes.node]),\n\t}),\n\t/**\n\t * CSS classes to be added to tag with `.slds-notify_alert`. Uses `classNames` [API](https://github.com/JedWatson/classnames).\n\t * _Tested with snapshot testing._\n\t */\n\tclassName: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\t/**\n\t * Allows user to click a close button. Banners should be dismissible only if they communicate future impact to the system,\n\t * _Tested with snapshot testing._\n\t */\n\tdismissible: PropTypes.bool,\n\t/**\n\t * Icon of type `~/components/icon`. This icon will be cloned and additional props appended. The default icons are:\n\t * * info variant: `utility:info`\n\t * * error variant: `utility:error`\n\t * * offline variant: `utility:offline`\n\t * * warning variant: `utility:warning`\n\t *\n\t * _Tested with snapshot testing._\n\t */\n\ticon: PropTypes.node,\n\t/**\n\t * **Text labels for internationalization**\n\t * This object is merged with the default props object on every render.\n\t * * `heading`: text within heading tag\n\t * * `headingLink`: Text of link that triggers `onClickHeadingLink`. Inline links should pass a keyed array of React components into `labels.heading`.\n\t *\n\t * _Tested with snapshot testing._\n\t */\n\tlabels: PropTypes.shape({\n\t\theading: PropTypes.oneOfType([PropTypes.string, PropTypes.node]),\n\t\theadingLink: PropTypes.oneOfType([PropTypes.string, PropTypes.node]),\n\t}),\n\t/**\n\t * Triggered by link. _Tested with Mocha testing._\n\t */\n\tonClickHeadingLink: PropTypes.func,\n\t/**\n\t * Triggered by close button. This is a controlled component. _Tested with Mocha testing._\n\t */\n\tonRequestClose: PropTypes.func,\n\t/**\n\t * Custom styles to be passed to the component. _Tested with Mocha testing._\n\t */\n\tstyle: PropTypes.object,\n\t/**\n\t * The type of alert. _Tested with snapshot testing._\n\t */\n\tvariant: PropTypes.oneOf(['error', 'info', 'offline', 'warning']).isRequired,\n};\n\nconst defaultProps = {\n\tassistiveText: {\n\t\tcloseButton: 'Close',\n\t},\n\tlabels: {},\n\tvariant: 'info',\n};\n\n/**\n * Alert banners communicate a state that affects the entire system, not just a feature or page. It persists over a session and appears without the user initiating the action. View [banner guidelines](https://www.lightningdesignsystem.com/guidelines/messaging/components/banners/).\n */\n\nclass Alert extends React.Component {\n\tconstructor(props) {\n\t\tsuper(props);\n\t\tthis.state = {\n\t\t\tisInitialRender: true,\n\t\t};\n\n\t\t// `checkProps` issues warnings to developers about properties (similar to React's built in development tools)\n\t\tcheckProps(ALERT, props, componentDoc);\n\t}\n\n\tcomponentWillUnmount() {\n\t\tDOMElementFocus.returnFocusToStoredElement();\n\t}\n\n\tsaveButtonRef = (component) => {\n\t\tthis.closeButton = component;\n\t\tif (this.state.isInitialRender) {\n\t\t\tDOMElementFocus.storeActiveElement();\n\t\t\tif (this.closeButton) {\n\t\t\t\tthis.closeButton.focus();\n\t\t\t}\n\t\t\tthis.setState({ isInitialRender: false });\n\t\t}\n\t};\n\n\trender() {\n\t\t// Merge objects of strings with their default object\n\t\tconst assistiveText = assign(\n\t\t\t{},\n\t\t\tdefaultProps.assistiveText,\n\t\t\tthis.props.assistiveText\n\t\t);\n\t\tconst labels = assign({}, defaultProps.labels, this.props.labels);\n\n\t\t// BACKWARD COMPATIBILITY WITH NOTIFICATION\n\t\tconst heading = labels.heading || this.props.content; // eslint-disable-line react/prop-types\n\t\tconst onRequestClose = this.props.onRequestClose || this.props.onDismiss; // eslint-disable-line react/prop-types\n\n\t\tconst assistiveTextVariant = {\n\t\t\tinfo: 'info',\n\t\t\twarning: 'warning',\n\t\t\terror: 'error',\n\t\t\toffline: 'offline',\n\t\t};\n\n\t\tconst defaultIcons = {\n\t\t\tinfo: <Icon category=\"utility\" name=\"info\" />,\n\t\t\toffline: <Icon category=\"utility\" name=\"offline\" />,\n\t\t\twarning: <Icon category=\"utility\" name=\"warning\" />,\n\t\t\terror: <Icon category=\"utility\" name=\"error\" />,\n\t\t};\n\n\t\tlet icon = this.props.icon\n\t\t\t? this.props.icon\n\t\t\t: defaultIcons[this.props.variant];\n\n\t\t// BACKWARD COMPATIBILITY WITH NOTIFICATION\n\t\tif (this.props.iconName && this.props.iconCategory) {\n\t\t\t// eslint-disable-line react/prop-types\n\t\t\ticon = (\n\t\t\t\t<Icon category={this.props.iconCategory} name={this.props.iconName} />\n\t\t\t);\n\t\t}\n\n\t\tconst clonedIcon = React.cloneElement(icon, {\n\t\t\tcontainerClassName: 'slds-m-right_x-small',\n\t\t\tinverse: true,\n\t\t\tsize: 'x-small',\n\t\t});\n\n\t\t/* eslint-disable no-script-url */\n\t\treturn (\n\t\t\t<div\n\t\t\t\tclassName={classNames(\n\t\t\t\t\t'slds-notify slds-notify_alert slds-theme_alert-texture',\n\t\t\t\t\t{\n\t\t\t\t\t\t'slds-theme_info': this.props.variant === 'info',\n\t\t\t\t\t\t'slds-theme_warning': this.props.variant === 'warning',\n\t\t\t\t\t\t'slds-theme_error': this.props.variant === 'error',\n\t\t\t\t\t\t'slds-theme_offline': this.props.variant === 'offline',\n\t\t\t\t\t},\n\t\t\t\t\tthis.props.className\n\t\t\t\t)}\n\t\t\t\trole=\"alert\"\n\t\t\t\tstyle={this.props.style}\n\t\t\t>\n\t\t\t\t<span className=\"slds-assistive-text\">\n\t\t\t\t\t{assistiveTextVariant[this.props.variant]}\n\t\t\t\t</span>\n\t\t\t\t{clonedIcon}\n\t\t\t\t<h2>\n\t\t\t\t\t{heading}{' '}\n\t\t\t\t\t{labels.headingLink ? (\n\t\t\t\t\t\t<a\n\t\t\t\t\t\t\tonClick={this.props.onClickHeadingLink}\n\t\t\t\t\t\t\thref=\"javascript:void(0);\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{labels.headingLink}\n\t\t\t\t\t\t</a>\n\t\t\t\t\t) : null}\n\t\t\t\t</h2>\n\t\t\t\t{this.props.dismissible ? (\n\t\t\t\t\t<Button\n\t\t\t\t\t\tassistiveText={{ icon: assistiveText.closeButton }}\n\t\t\t\t\t\tbuttonRef={this.saveButtonRef}\n\t\t\t\t\t\tclassName=\"slds-notify__close\"\n\t\t\t\t\t\ticonCategory=\"utility\"\n\t\t\t\t\t\ticonName=\"close\"\n\t\t\t\t\t\ticonSize=\"medium\"\n\t\t\t\t\t\tinverse\n\t\t\t\t\t\tonClick={onRequestClose}\n\t\t\t\t\t\ttitle={assistiveText.closeButton}\n\t\t\t\t\t\tvariant=\"icon\"\n\t\t\t\t\t/>\n\t\t\t\t) : null}\n\t\t\t</div>\n\t\t);\n\t}\n}\n\nAlert.defaultProps = defaultProps;\nAlert.displayName = ALERT;\nAlert.propTypes = propTypes;\n\nexport default Alert;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// # Alert Container Component\n\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from '../../utilities/class-names';\nimport { ALERT_CONTAINER } from '../../utilities/constants';\n\nconst propTypes = {\n\t/**\n\t * CSS classes to be added to tag with `.slds-notify_alert`. Uses `classNames` [API](https://github.com/JedWatson/classnames).\n\t */\n\tclassName: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\t/**\n\t * Alert components\n\t */\n\tchildren: PropTypes.node,\n};\n\n/**\n * A fixed container for alert banners.\n */\n\nclass AlertContainer extends React.Component {\n\trender() {\n\t\treturn (\n\t\t\t<div\n\t\t\t\tclassName={classNames('slds-notify-container', this.props.className)}\n\t\t\t>\n\t\t\t\t{this.props.children}\n\t\t\t</div>\n\t\t);\n\t}\n}\n\nAlertContainer.displayName = ALERT_CONTAINER;\nAlertContainer.propTypes = propTypes;\n\nexport default AlertContainer;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n/* eslint-disable import/no-mutable-exports */\n\nlet lowPriorityWarning = function printWarningFunction() {};\n\nif (process.env.NODE_ENV !== 'production') {\n\t// eslint-disable-next-line fp/no-rest-parameters\n\tconst printWarning = function printWarningFunction(originalMessage, ...args) {\n\t\tlet argIndex = 0;\n\t\tconst message = `Warning: ${originalMessage.replace(/%s/g, () => {\n\t\t\tconst argument = args[argIndex];\n\t\t\targIndex += 1;\n\t\t\treturn argument;\n\t\t})}`;\n\t\tif (typeof console !== 'undefined') {\n\t\t\tconsole.warn(message); // eslint-disable-line no-console\n\t\t}\n\t\ttry {\n\t\t\t// Throw error to enable tracing the callstack.\n\t\t\t// eslint-disable-next-line fp/no-throw\n\t\t\tthrow new Error(message);\n\t\t} catch (event) {} // eslint-disable-line no-empty\n\t};\n\n\t// eslint-disable-next-line fp/no-rest-parameters\n\tlowPriorityWarning = (condition, originalMessage, ...args) => {\n\t\tif (!condition && originalMessage) {\n\t\t\tprintWarning(originalMessage, ...args);\n\t\t}\n\t};\n}\n\nexport default lowPriorityWarning;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n/* eslint-disable import/no-mutable-exports */\n\n// This function will deliver a warning message to the browser console about the component being a deprecated component.\nimport lowPriorityWarning from './low-priority-warning';\n\nlet isPrototype = function isPrototypeFunction() {};\n\nif (process.env.NODE_ENV !== 'production') {\n\tconst hasWarned = {};\n\n\tisPrototype = function isPrototypeFunction(control, props, comment) {\n\t\tconst additionalComment = comment ? ` ${comment}` : '';\n\t\tif (!props.silenceDeprecationWarning && !hasWarned[control]) {\n\t\t\t/* eslint-disable max-len */\n\t\t\tlowPriorityWarning(\n\t\t\t\tfalse,\n\t\t\t\t`[Design System React] ${control} is a deprecated component. Bugfixes can be contributed, but new features and additional alignment with SLDS may be declined.${additionalComment}`\n\t\t\t);\n\t\t\t/* eslint-enable max-len */\n\t\t\thasWarned[control] = true;\n\t\t}\n\t};\n}\n\nexport default isPrototype;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n/* eslint-disable import/no-mutable-exports */\n\nimport deprecatedProperty from '../../utilities/warning/deprecated-property';\nimport componentIsDeprecated from '../../utilities/warning/component-is-deprecated';\nimport getComponentDocFn from '../../utilities/get-component-doc';\nimport oneOfComponent from '../../utilities/warning/one-of-component';\nimport sunsetProperty from '../../utilities/warning/sunset-property';\nimport {\n\tAPP_LAUNCHER,\n\tAPP_LAUNCHER_EXPANDABLE_SECTION,\n\tAPP_LAUNCHER_SECTION,\n\tAPP_LAUNCHER_TILE,\n} from '../../utilities/constants';\n\nlet checkProps = function checkPropsFunction() {};\n\nif (process.env.NODE_ENV !== 'production') {\n\tcheckProps = function checkPropsFunction(COMPONENT, props, jsonDoc) {\n\t\tconst createDocUrl = getComponentDocFn(jsonDoc);\n\n\t\tif (COMPONENT === APP_LAUNCHER) {\n\t\t\tif (props.modalHeaderButton !== undefined) {\n\t\t\t\toneOfComponent(\n\t\t\t\t\tCOMPONENT,\n\t\t\t\t\tprops,\n\t\t\t\t\t'modalHeaderButton',\n\t\t\t\t\t['SLDSButton'],\n\t\t\t\t\tcreateDocUrl('modalHeaderButton')\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tdeprecatedProperty(\n\t\t\t\tCOMPONENT,\n\t\t\t\tprops.triggerAssistiveText,\n\t\t\t\t'triggerAssistiveText',\n\t\t\t\t\"assistiveText['trigger']\",\n\t\t\t\tcreateDocUrl('assistiveText')\n\t\t\t);\n\t\t} else if (COMPONENT === APP_LAUNCHER_EXPANDABLE_SECTION) {\n\t\t\tdeprecatedProperty(\n\t\t\t\tCOMPONENT,\n\t\t\t\tprops.collapseSectionAssistiveText,\n\t\t\t\t'collapseSectionAssistiveText',\n\t\t\t\t\"assistiveText['collapseSection']\",\n\t\t\t\tcreateDocUrl('assistiveText')\n\t\t\t);\n\t\t} else if (COMPONENT === APP_LAUNCHER_SECTION) {\n\t\t\tcomponentIsDeprecated(\n\t\t\t\tCOMPONENT,\n\t\t\t\tprops,\n\t\t\t\t'App Launcher Section has been deprecated. Please use APP_LAUNCHER_EXPANDABLE_SECTION instead.'\n\t\t\t);\n\t\t} else if (COMPONENT === APP_LAUNCHER_TILE) {\n\t\t\tdeprecatedProperty(\n\t\t\t\tCOMPONENT,\n\t\t\t\tprops.descriptionHeading,\n\t\t\t\t'descriptionHeading',\n\t\t\t\tnull,\n\t\t\t\t'Description headings are no longer a part of the SLDS App Launcher Tile spec. Please reach out to DSR admin if there is a special need for this feature'\n\t\t\t);\n\n\t\t\tsunsetProperty(\n\t\t\t\tCOMPONENT,\n\t\t\t\tprops.size,\n\t\t\t\t'size',\n\t\t\t\t'App Launcher Tiles are now all a consistent size according to SLDS specifications'\n\t\t\t);\n\t\t}\n\t};\n}\n\nexport default checkProps;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n/* eslint-disable import/no-mutable-exports */\n/* eslint-disable max-len */\n\nimport deprecatedProperty from '../../utilities/warning/deprecated-property';\nimport getComponentDocFn from '../../utilities/get-component-doc';\n\nlet checkProps = function checkPropsFunction() {};\n\nif (process.env.NODE_ENV !== 'production') {\n\tcheckProps = function checkPropsFunction(COMPONENT, props, jsonDoc) {\n\t\tconst createDocUrl = getComponentDocFn(jsonDoc);\n\t\tdeprecatedProperty(\n\t\t\tCOMPONENT,\n\t\t\tprops.closeButtonAssistiveText,\n\t\t\t'closeButtonAssistiveText',\n\t\t\t\"assistiveText['closeButton']\",\n\t\t\tcreateDocUrl('assistiveText')\n\t\t);\n\t\tdeprecatedProperty(\n\t\t\tCOMPONENT,\n\t\t\tprops.title,\n\t\t\t'title',\n\t\t\t'heading',\n\t\t\tcreateDocUrl('heading')\n\t\t);\n\t\tdeprecatedProperty(\n\t\t\tCOMPONENT,\n\t\t\tprops.dismissible,\n\t\t\t'dismissible',\n\t\t\t'disableClose',\n\t\t\tcreateDocUrl('disableClose')\n\t\t);\n\t};\n}\n\nexport default checkProps;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\nimport Modal from 'react-modal';\n\n/*\n * The following are component utility methods that aid in global settings.\n */\n\nlet assetsPath = 'assets/';\nlet appRoot;\n\nconst settings = {\n\tsetAssetsPath: (path) => {\n\t\tif (path) {\n\t\t\tassetsPath = path;\n\t\t}\n\t},\n\n\tgetAssetsPath: () => String(assetsPath),\n\n\t/*\n\t * The app element allows you to specify the portion of your app that should be hidden (via aria-hidden)\n\tto prevent assistive technologies such as screenreaders from reading content outside of the content of\n\tyour modal. It can be specified in the following ways:\n\t * element\n\tModal.setAppElement(appElement);\n\t * query selector - uses the first element found if you pass in a class.\n\tModal.setAppElement('#your-app-element');\n\t*/\n\tsetAppElement: (el) => {\n\t\tif (el) {\n\t\t\tappRoot = el;\n\t\t\tModal.setAppElement(el);\n\t\t}\n\t},\n\n\tgetAppElement: () => appRoot,\n};\n\nexport default settings;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n/* eslint-disable import/no-mutable-exports */\n\nimport warning from 'warning';\nimport Settings from '../../components/settings';\nimport { canUseDOM } from '../execution-environment';\n\nlet checkAppElementIsSet = function checkAppElementIsSetFunction() {};\n\nif (process.env.NODE_ENV !== 'production') {\n\tcheckAppElementIsSet = function checkAppElementIsSetFunction() {\n\t\tconst appElement = Settings.getAppElement();\n\t\t/* eslint-disable max-len */\n\t\twarning(\n\t\t\tcanUseDOM && Boolean(appElement),\n\t\t\t'[Design System React] App element is not defined. Please use Settings.setAppElement(el).' +\n\t\t\t\t' By default, `Modal` will add `aria-hidden=true` to the `body` tag, but this disables some assistive technologies.' +\n\t\t\t\t' To prevent this you can add Settings.setAppElement(el) to your application with `el` being the root node of your application' +\n\t\t\t\t' that you would like to hide from assistive technologies when the `Modal` is open.'\n\t\t);\n\t};\n}\n\nexport default checkAppElementIsSet;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n/* eslint-disable react/prefer-es6-class, jsx-a11y/no-noninteractive-element-interactions */\n\n// Implements the [Modal design pattern](https://lightningdesignsystem.com/components/modals/) in React.\n// Based on SLDS v2.2.1\n\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport ReactDOM from 'react-dom';\n\nimport classNames from 'classnames';\nimport ReactModal from 'react-modal';\n\n// ### shortid\n// [npmjs.com/package/shortid](https://www.npmjs.com/package/shortid)\n// shortid is a short, non-sequential, url-friendly, unique id generator\nimport shortid from 'shortid';\n\n// This component's `checkProps` which issues warnings to developers about properties when in development mode (similar to React's built in development tools)\nimport checkProps from './check-props';\n\nimport checkAppElementIsSet from '../../utilities/warning/check-app-element-set';\n\nimport Button from '../button';\n\nimport { MODAL } from '../../utilities/constants';\nimport componentDoc from './component.json';\n\nconst documentDefined = typeof document !== 'undefined';\nconst windowDefined = typeof window !== 'undefined';\n\nconst propTypes = {\n\t/**\n\t * Vertical alignment of Modal.\n\t */\n\talign: PropTypes.oneOf(['top', 'center']),\n\t/**\n\t * Boolean indicating if the appElement should be hidden.\n\t */\n\tariaHideApp: PropTypes.bool,\n\t/**\n\t * **Assistive text for accessibility.**\n\t * This object is merged with the default props object on every render.\n\t * * `dialogLabel`: This is a visually hidden label for the dialog. If not provided, `heading` is used.\n\t * * `dialogLabelledBy`: This describes which node labels the dialog. If not provided and dialogLabel is unavailable, `id` is used.\n\t * * `closeButton`: This is a visually hidden label for the close button.\n\t */\n\tassistiveText: PropTypes.shape({\n\t\tdialogLabel: PropTypes.string,\n\t\tdialogLabelledBy: PropTypes.string,\n\t\tcloseButton: PropTypes.string,\n\t}),\n\t/**\n\t * Modal content.\n\t */\n\tchildren: PropTypes.node.isRequired,\n\t/**\n\t * Custom CSS classes for the modal `section` node classed `.slds-modal` and the parent of `.slds-modal__container`. Uses `classNames` [API](https://github.com/JedWatson/classnames).\n\t */\n\tclassName: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\t/**\n\t * Custom CSS classes for the modal's container. This is the child element of `.slds-modal` with class `.slds-modal__container`. Uses `classNames` [API](https://github.com/JedWatson/classnames).\n\t */\n\tcontainerClassName: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\t/**\n\t * Custom CSS classes for the modal's body. This is the element that has overflow rules and should be used to set a static height if desired. Use `classNames` [API](https://github.com/JedWatson/classnames).\n\t */\n\tcontentClassName: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\t/**\n\t * Custom styles for the modal's body. This is the element that has overflow rules and should be used to set a static height if desired.\n\t */\n\tcontentStyle: PropTypes.object,\n\t/**\n\t * If true, modal footer buttons render left and right. An example use case would be for \"back\" and \"next\" buttons.\n\t */\n\tdirectional: PropTypes.bool,\n\t/**\n\t * If true, Modals cannot be dismissed by clicking on the close icon or pressing esc key.\n\t */\n\tdisableClose: PropTypes.bool,\n\t/**\n\t * If true, Modals can be dismissed by clicking outside of modal. If unspecified, defaults to disableClose.\n\t */\n\tdismissOnClickOutside: PropTypes.bool,\n\t/**\n\t * Callback to fire with Modal is dismissed\n\t */\n\tonRequestClose: PropTypes.func,\n\t/**\n\t * Accepts a node or array of nodes that are typically a `Button` or `ProgressIndicator`. If an array, the nodes render on the right side first but are then floated left and right if <code>directional</code> prop is `true`.\n\t */\n\tfooter: PropTypes.oneOfType([PropTypes.array, PropTypes.node]),\n\t/**\n\t * Allows for a custom modal header that does not scroll with modal content. If this is defined, `heading` and `tagline` will be ignored. The close button will still be present.\n\t */\n\theader: PropTypes.node,\n\t/**\n\t * Adds CSS classes to the container surrounding the modal header and the close button. Use `classNames` [API](https://github.com/JedWatson/classnames).\n\t */\n\theaderClassName: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\t/**\n\t * Unique identifier for the modal. The id is automatically generated if not provided\n\t */\n\tid: PropTypes.string,\n\t/**\n\t * Forces the modal to be open or closed.\n\t */\n\tisOpen: PropTypes.bool.isRequired,\n\t/**\n\t * Function whose return value is the mount node to insert the Modal element into. The default is `() => document.body`.\n\t */\n\tparentSelector: PropTypes.func,\n\t/**\n\t * Custom CSS classes for the portal DOM node. This node is a direct descendant of the `body` and is the parent of `ReactModal__Overlay`. Use `classNames` [API](https://github.com/JedWatson/classnames).\n\t */\n\tportalClassName: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\t/**\n\t * Styles the modal as a prompt.\n\t */\n\tprompt: PropTypes.oneOf([\n\t\t'success',\n\t\t'warning',\n\t\t'error',\n\t\t'wrench',\n\t\t'offline',\n\t\t'info',\n\t]),\n\t/**\n\t * Specifies the modal's width. May be deprecated in favor of `width` in the future.\n\t */\n\tsize: PropTypes.oneOf(['small', 'medium', 'large']),\n\t/**\n\t * Content underneath the heading in the modal header.\n\t */\n\ttagline: PropTypes.node,\n\t/**\n\t * Content underneath the title in the modal header.\n\t */\n\ttitle: PropTypes.node,\n\t/**\n\t * Text heading at the top of a modal.\n\t */\n\theading: PropTypes.node,\n\t/**\n\t * Allows adding additional notifications within the modal.\n\t */\n\ttoast: PropTypes.node,\n};\n\nconst defaultProps = {\n\tassistiveText: {\n\t\tdialogLabel: '',\n\t\tdialogLabelledBy: '',\n\t\tcloseButton: 'Close',\n\t},\n\talign: 'center',\n\tariaHideApp: true,\n};\n\n/**\n * The Modal component is used for the Lightning Design System Modal and Notification > Prompt components. The Modal opens from a state change outside of the component itself (pass this state to the <code>isOpen</code> prop). For more details on the Prompt markup, please review the <a href=\"http://www.lightningdesignsystem.com/components/notifications#prompt\">Notifications > Prompt</a>.\n *\n * By default, `Modal` will add `aria-hidden=true` to the `body` tag, but this disables some assistive technologies. To prevent this you can add the following to your application with `#mount` being the root node of your application that you would like to hide from assistive technologies when the `Modal` is open.\n * ```\n * import settings from 'design-system-react/components/settings';\n * settings.setAppElement('#mount');\n * ```\n * This component uses a portalMount (a disconnected React subtree mount) to create a modal as a child of `body`.\n */\nclass Modal extends React.Component {\n\tconstructor(props) {\n\t\tsuper(props);\n\t\tthis.state = {\n\t\t\tisClosing: false,\n\t\t};\n\n\t\t// Bind\n\t\tthis.handleModalClick = this.handleModalClick.bind(this);\n\t\tthis.closeModal = this.closeModal.bind(this);\n\t\tthis.dismissModalOnClickOutside = this.dismissModalOnClickOutside.bind(\n\t\t\tthis\n\t\t);\n\n\t\tthis.generatedId = shortid.generate();\n\t\tcheckProps(MODAL, props, componentDoc);\n\t\tif (props.ariaHideApp) {\n\t\t\tcheckAppElementIsSet();\n\t\t}\n\t}\n\n\tcomponentDidMount() {\n\t\tthis.setReturnFocus();\n\t\tthis.updateBodyScroll();\n\t}\n\n\tcomponentDidUpdate(prevProps, prevState) {\n\t\tif (this.props.isOpen !== prevProps.isOpen) {\n\t\t\tthis.updateBodyScroll();\n\t\t}\n\t\tif (this.state.isClosing !== prevState.isClosing) {\n\t\t\tif (this.state.isClosing) {\n\t\t\t\t// This section of code should be removed once trigger.jsx\n\t\t\t\t// and manager.jsx are removed. They appear to have\n\t\t\t\t// been created in order to do modals in portals.\n\t\t\t\tif (!this.isUnmounting) {\n\t\t\t\t\tconst el = ReactDOM.findDOMNode(this); // eslint-disable-line react/no-find-dom-node\n\t\t\t\t\tif (\n\t\t\t\t\t\tel &&\n\t\t\t\t\t\tel.parentNode &&\n\t\t\t\t\t\tel.parentNode.getAttribute('data-slds-modal')\n\t\t\t\t\t) {\n\t\t\t\t\t\tReactDOM.unmountComponentAtNode(el);\n\t\t\t\t\t\tdocument.body.removeChild(el);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\tcomponentWillUnmount() {\n\t\tthis.isUnmounting = true;\n\t\tthis.clearBodyScroll();\n\t}\n\n\tgetId() {\n\t\treturn this.props.id || this.generatedId;\n\t}\n\n\tgetBorderRadius() {\n\t\tconst borderRadiusValue = '.25rem';\n\t\tconst borderTopRadius =\n\t\t\tthis.props.title || this.props.heading || this.props.header\n\t\t\t\t? {}\n\t\t\t\t: {\n\t\t\t\t\t\tborderTopLeftRadius: borderRadiusValue,\n\t\t\t\t\t\tborderTopRightRadius: borderRadiusValue,\n\t\t\t\t };\n\t\tconst borderBottomRadius = this.props.footer\n\t\t\t? {}\n\t\t\t: {\n\t\t\t\t\tborderBottomLeftRadius: borderRadiusValue,\n\t\t\t\t\tborderBottomRightRadius: borderRadiusValue,\n\t\t\t };\n\t\treturn {\n\t\t\t...borderTopRadius,\n\t\t\t...borderBottomRadius,\n\t\t};\n\t}\n\n\tgetModal() {\n\t\tconst modalStyle =\n\t\t\tthis.props.align === 'top' ? { justifyContent: 'flex-start' } : null;\n\t\tconst borderRadius = this.getBorderRadius();\n\t\tconst contentStyleFromProps = this.props.contentStyle || {};\n\t\tconst contentStyle = {\n\t\t\t...borderRadius,\n\t\t\t...contentStyleFromProps,\n\t\t};\n\t\tlet dialogLabelledBy = null;\n\n\t\tif (this.props.assistiveText.dialogLabelledBy) {\n\t\t\t// eslint-disable-next-line prefer-destructuring\n\t\t\tdialogLabelledBy = this.props.assistiveText.dialogLabelledBy;\n\t\t} else if (\n\t\t\t!this.props.assistiveText.dialogLabel &&\n\t\t\t(this.props.heading || this.props.title)\n\t\t) {\n\t\t\tdialogLabelledBy = `${this.getId()}-heading`;\n\t\t}\n\n\t\treturn (\n\t\t\t// temporarily disabling eslint for the onClicks on the div tags\n\t\t\t/* eslint-disable */\n\t\t\t<section\n\t\t\t\taria-describedby={`${this.getId()}-modal-content`}\n\t\t\t\taria-label={this.props.assistiveText.dialogLabel}\n\t\t\t\taria-labelledby={dialogLabelledBy}\n\t\t\t\taria-modal={true}\n\t\t\t\tclassName={classNames(\n\t\t\t\t\t'slds-modal',\n\t\t\t\t\t'slds-fade-in-open',\n\t\t\t\t\tthis.props.size ? `slds-modal_${this.props.size}` : null,\n\t\t\t\t\t{ 'slds-modal_prompt': this.isPrompt() },\n\t\t\t\t\tthis.props.className\n\t\t\t\t)}\n\t\t\t\tonClick={this.dismissModalOnClickOutside}\n\t\t\t\trole={this.props.disableClose ? 'alertdialog' : 'dialog'}\n\t\t\t>\n\t\t\t\t<div\n\t\t\t\t\tclassName={classNames(\n\t\t\t\t\t\t'slds-modal__container',\n\t\t\t\t\t\tthis.props.containerClassName\n\t\t\t\t\t)}\n\t\t\t\t\tstyle={modalStyle}\n\t\t\t\t>\n\t\t\t\t\t{this.headerComponent()}\n\t\t\t\t\t<div\n\t\t\t\t\t\tclassName={classNames(\n\t\t\t\t\t\t\t'slds-modal__content',\n\t\t\t\t\t\t\tthis.props.contentClassName\n\t\t\t\t\t\t)}\n\t\t\t\t\t\tid={`${this.getId()}-modal-content`}\n\t\t\t\t\t\tstyle={contentStyle}\n\t\t\t\t\t\tonClick={this.handleModalClick}\n\t\t\t\t\t>\n\t\t\t\t\t\t{this.props.children}\n\t\t\t\t\t</div>\n\t\t\t\t\t{this.footerComponent()}\n\t\t\t\t</div>\n\t\t\t</section>\n\t\t\t/* eslint-enable */\n\t\t);\n\t}\n\n\tsetReturnFocus() {\n\t\tthis.setState({\n\t\t\treturnFocusTo: documentDefined ? document.activeElement : null,\n\t\t});\n\t}\n\n\t// eslint-disable-next-line class-methods-use-this\n\tclearBodyScroll() {\n\t\tif (windowDefined && documentDefined && document.body) {\n\t\t\tdocument.body.style.overflow = 'inherit';\n\t\t}\n\t}\n\n\tcloseModal() {\n\t\tif (!this.props.disableClose) {\n\t\t\tthis.dismissModal();\n\t\t}\n\t}\n\n\tdismissModal() {\n\t\tthis.setState({ isClosing: true });\n\t\tif (this.state.returnFocusTo && this.state.returnFocusTo.focus) {\n\t\t\tthis.state.returnFocusTo.focus();\n\t\t}\n\t\tif (this.props.onRequestClose) {\n\t\t\tthis.props.onRequestClose();\n\t\t}\n\t}\n\n\tdismissModalOnClickOutside() {\n\t\t// if dismissOnClickOutside is not set, default its value to disableClose\n\t\tconst dismissOnClickOutside =\n\t\t\tthis.props.dismissOnClickOutside !== undefined\n\t\t\t\t? this.props.dismissOnClickOutside\n\t\t\t\t: !this.props.disableClose;\n\n\t\tif (dismissOnClickOutside) {\n\t\t\tthis.dismissModal();\n\t\t}\n\t}\n\n\tfooterComponent() {\n\t\tlet footer = null;\n\t\tconst hasFooter = this.props.footer;\n\t\tconst footerClass = {\n\t\t\t'slds-modal__footer': true,\n\t\t\t'slds-modal__footer_directional': this.props.directional,\n\t\t\t'slds-theme_default': this.isPrompt(),\n\t\t};\n\n\t\tif (hasFooter) {\n\t\t\tfooter = ( // eslint-disable-next-line jsx-a11y/no-static-element-interactions, jsx-a11y/no-noninteractive-element-interactions\n\t\t\t\t<footer\n\t\t\t\t\tclassName={classNames(footerClass, this.props.footerClassNames)}\n\t\t\t\t\tonClick={this.handleModalClick}\n\t\t\t\t>\n\t\t\t\t\t{this.props.footer}\n\t\t\t\t</footer>\n\t\t\t);\n\t\t}\n\t\treturn footer;\n\t}\n\n\t// eslint-disable-next-line class-methods-use-this\n\thandleModalClick(event) {\n\t\tif (event && event.stopPropagation) {\n\t\t\tevent.stopPropagation();\n\t\t}\n\t}\n\n\thandleSubmitModal() {\n\t\tthis.closeModal();\n\t}\n\n\theaderComponent() {\n\t\tlet headerContent = this.props.header;\n\t\tconst headerEmpty =\n\t\t\t!headerContent &&\n\t\t\t!(this.props.heading || this.props.title) &&\n\t\t\t!this.props.tagline;\n\t\tconst assistiveText = {\n\t\t\t...defaultProps.assistiveText,\n\t\t\t...this.props.assistiveText,\n\t\t};\n\t\tconst closeButtonAssistiveText =\n\t\t\tthis.props.closeButtonAssistiveText || assistiveText.closeButton;\n\t\tconst closeButton = (\n\t\t\t<Button\n\t\t\t\tassistiveText={{ icon: closeButtonAssistiveText }}\n\t\t\t\ticonCategory=\"utility\"\n\t\t\t\ticonName=\"close\"\n\t\t\t\ticonSize=\"large\"\n\t\t\t\tinverse\n\t\t\t\tclassName=\"slds-button_icon slds-modal__close\"\n\t\t\t\tonClick={this.closeModal}\n\t\t\t\ttitle={closeButtonAssistiveText}\n\t\t\t\tvariant=\"icon\"\n\t\t\t/>\n\t\t);\n\n\t\tif (\n\t\t\t(!headerContent && (this.props.heading || this.props.title)) ||\n\t\t\tthis.props.tagline\n\t\t) {\n\t\t\theaderContent = (\n\t\t\t\t<div>\n\t\t\t\t\t{this.props.toast}\n\t\t\t\t\t<h2\n\t\t\t\t\t\tclassName={classNames({\n\t\t\t\t\t\t\t'slds-text-heading_small': this.isPrompt(),\n\t\t\t\t\t\t\t'slds-text-heading_medium': !this.isPrompt(),\n\t\t\t\t\t\t})}\n\t\t\t\t\t\tid={`${this.getId()}-heading`}\n\t\t\t\t\t>\n\t\t\t\t\t\t{this.props.heading ? this.props.heading : this.props.title}\n\t\t\t\t\t</h2>\n\t\t\t\t\t{this.props.tagline ? (\n\t\t\t\t\t\t<p className=\"slds-m-top_x-small\">{this.props.tagline}</p>\n\t\t\t\t\t) : null}\n\t\t\t\t</div>\n\t\t\t);\n\t\t}\n\n\t\treturn (\n\t\t\t// eslint-disable-next-line jsx-a11y/no-static-element-interactions\n\t\t\t<header\n\t\t\t\tclassName={classNames(\n\t\t\t\t\t'slds-modal__header',\n\t\t\t\t\t{\n\t\t\t\t\t\t'slds-modal__header_empty': headerEmpty,\n\t\t\t\t\t\t[`slds-theme_${this.props.prompt}`]: this.isPrompt(),\n\t\t\t\t\t\t'slds-theme_alert-texture': this.isPrompt(),\n\t\t\t\t\t},\n\t\t\t\t\tthis.props.headerClassName\n\t\t\t\t)}\n\t\t\t\tonClick={this.handleModalClick}\n\t\t\t>\n\t\t\t\t{this.props.disableClose ? null : closeButton}\n\t\t\t\t{headerContent}\n\t\t\t</header>\n\t\t);\n\t}\n\n\tisPrompt() {\n\t\treturn this.props.prompt !== undefined;\n\t}\n\n\tupdateBodyScroll() {\n\t\tif (windowDefined && documentDefined && document.body) {\n\t\t\tif (this.props.isOpen) {\n\t\t\t\tdocument.body.style.overflow = 'hidden';\n\t\t\t} else {\n\t\t\t\tdocument.body.style.overflow = 'inherit';\n\t\t\t}\n\t\t}\n\t}\n\n\trender() {\n\t\tconst customStyles = {\n\t\t\tcontent: {\n\t\t\t\tposition: 'default',\n\t\t\t\ttop: 'default',\n\t\t\t\tleft: 'default',\n\t\t\t\tright: 'default',\n\t\t\t\tbottom: 'default',\n\t\t\t\tborder: 'default',\n\t\t\t\tbackground: 'default',\n\t\t\t\toverflow: 'default',\n\t\t\t\tWebkitOverflowScrolling: 'default',\n\t\t\t\tborderRadius: 'default',\n\t\t\t\toutline: 'default',\n\t\t\t\tpadding: 'default',\n\t\t\t},\n\t\t\toverlay: {\n\t\t\t\tzIndex: 8000, // following SLDS guideline for z-index overlay\n\t\t\t\tbackgroundColor: 'default',\n\t\t\t},\n\t\t};\n\n\t\treturn (\n\t\t\t<ReactModal\n\t\t\t\tariaHideApp={this.props.ariaHideApp}\n\t\t\t\tcontentLabel=\"Modal\"\n\t\t\t\tisOpen={this.props.isOpen}\n\t\t\t\tonRequestClose={this.closeModal}\n\t\t\t\tstyle={customStyles}\n\t\t\t\tparentSelector={this.props.parentSelector}\n\t\t\t\tportalClassName={classNames(\n\t\t\t\t\t'ReactModalPortal',\n\t\t\t\t\tthis.props.portalClassName\n\t\t\t\t)}\n\t\t\t>\n\t\t\t\t{this.getModal()}\n\t\t\t\t<div className=\"slds-backdrop slds-backdrop_open\" />\n\t\t\t</ReactModal>\n\t\t);\n\t}\n}\n\nModal.displayName = MODAL;\nModal.propTypes = propTypes;\nModal.defaultProps = defaultProps;\n\nexport default Modal;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// # App Launcher Component\n// Based on SLDS v2.1.0-rc.2\n\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\nimport classNames from 'classnames';\n\nimport isFunction from 'lodash.isfunction';\nimport shortid from 'shortid';\n\n// This component's `checkProps` which issues warnings to developers about properties when in development mode (similar to React's built in development tools)\nimport checkProps from './check-props';\nimport componentDoc from './component.json';\n\n// ## Children\nimport Modal from '../modal';\n\nimport { APP_LAUNCHER } from '../../utilities/constants';\n\nconst defaultProps = {\n\tassistiveText: {\n\t\ttrigger: 'Open App Launcher',\n\t},\n\tariaHideApp: true,\n\ttitle: 'App Launcher',\n};\n\n/**\n * The App Launcher allows the user to quickly access all the apps and functionality with their organization.\n * The App Launcher should generally only be used as a sub-component of the [Global Navigation Bar](/components/global-navigation-bar)\n *\n * USAGE EXAMPLE:\n * ```\n * <AppLauncher>\n * \t<AppLauncherExpandableSection>\n * \t\t<AppLauncherTile />\n * \t\t<AppLauncherTile />\n * \t\t<AppLauncherTile />\n * \t</AppLauncherExpandableSection>\n * \t<AppLauncherExpandableSection>\n * \t\t<AppLauncherTile />\n * \t\t<AppLauncherTile />\n * \t</AppLauncherExpandableSection>\n * </AppLauncher>\n * ```\n *\n * By default, `Modal`, a child component of App Launcher, will add `aria-hidden=true` to the `body` tag, but this disables some assistive technologies. To prevent this you can add the following to your application with `#mount` being the root node of your application that you would like to hide from assistive technologies when the `Modal` is open.\n * ```\n * import settings from 'design-system-react/components/settings';\n * settings.setAppElement('#mount');\n * ```\n */\nclass AppLauncher extends React.Component {\n\t// ### Display Name\n\t// Always use the canonical component name as the React display name.\n\tstatic displayName = APP_LAUNCHER;\n\n\t// ### Prop Types\n\tstatic propTypes = {\n\t\t/**\n\t\t * **Assistive text for accessibility.**\n\t\t * This object is merged with the default props object on every render.\n\t\t * * `trigger`: This is a visually hidden label for the app launcher icon.\n\t\t */\n\t\tassistiveText: PropTypes.shape({\n\t\t\ttrigger: PropTypes.string,\n\t\t}),\n\t\t/**\n\t\t * Boolean indicating if the appElement should be hidden.\n\t\t */\n\t\tariaHideApp: PropTypes.bool,\n\t\t/**\n\t\t * One or more `<AppLauncherExpandableSection />`s, each containing one or more `<AppLauncherTile />`s or `<AppLauncherLink />`s\n\t\t */\n\t\tchildren: PropTypes.node.isRequired,\n\t\t/**\n\t\t * The app launcher id. If not provided, one will be generated for accessibility\n\t\t */\n\t\tid: PropTypes.string,\n\t\t/**\n\t\t * Control the open/close state of the App Launcher\n\t\t */\n\t\tisOpen: PropTypes.bool,\n\t\t/**\n\t\t * CSS classes to be added to App Launcher Modal.\n\t\t */\n\t\tmodalClassName: PropTypes.oneOfType([\n\t\t\tPropTypes.array,\n\t\t\tPropTypes.object,\n\t\t\tPropTypes.string,\n\t\t]),\n\t\t/**\n\t\t * Button that exists in the upper right hand corner of the App Launcher modal\n\t\t */\n\t\tmodalHeaderButton: PropTypes.node,\n\t\t/**\n\t\t * Allows longer application names without truncating them.\n\t\t */\n\t\tnoTruncate: PropTypes.bool,\n\t\t/**\n\t\t * Callback when the App Launcher Modal is closed\n\t\t */\n\t\tonClose: PropTypes.func,\n\t\t/**\n\t\t * Search bar for the Modal's header. Will typically be an instance of `design-system-react/input/search`\n\t\t */\n\t\tsearch: PropTypes.node,\n\t\t/**\n\t\t * Set the App Launcher's title text (for localization)\n\t\t */\n\t\ttitle: PropTypes.string,\n\t\t/**\n\t\t * This is typically the name of the cloud or application\n\t\t */\n\t\ttriggerName: PropTypes.node,\n\t\t/**\n\t\t * Callback when the App Launcher icon is clicked\n\t\t */\n\t\ttriggerOnClick: PropTypes.func,\n\t};\n\n\tstatic defaultProps = defaultProps;\n\n\tconstructor(props) {\n\t\tsuper(props);\n\t\tthis.generatedId = shortid.generate();\n\t\tthis.state = {\n\t\t\tisOpen: false,\n\t\t};\n\n\t\t// `checkProps` issues warnings to developers about properties (similar to React's built in development tools)\n\t\tcheckProps(APP_LAUNCHER, props, componentDoc);\n\t}\n\n\tgetId() {\n\t\treturn this.props.id || this.generatedId;\n\t}\n\n\topenAppLauncher = (event) => {\n\t\tthis.setState({ isOpen: true });\n\n\t\tif (isFunction(this.props.triggerOnClick)) {\n\t\t\tthis.props.triggerOnClick(event, {});\n\t\t}\n\t};\n\n\tcloseAppLauncher = (event) => {\n\t\tthis.setState({ isOpen: false });\n\n\t\tif (isFunction(this.props.onClose)) {\n\t\t\tthis.props.onClose(event, {});\n\t\t}\n\t};\n\n\trenderSearch = () => {\n\t\tlet returnVal;\n\n\t\tif (this.props.search) {\n\t\t\treturnVal = (\n\t\t\t\t<div\n\t\t\t\t\tclassName=\"slds-app-launcher__header-search\"\n\t\t\t\t\tref={(component) => {\n\t\t\t\t\t\tif (component) {\n\t\t\t\t\t\t\tif (!this.focusedOnSearch) {\n\t\t\t\t\t\t\t\tconst input = component.querySelector('input');\n\t\t\t\t\t\t\t\tif (input) {\n\t\t\t\t\t\t\t\t\t// push to end of stack so click event doesn't blur the focus\n\t\t\t\t\t\t\t\t\tsetTimeout(() => {\n\t\t\t\t\t\t\t\t\t\tinput.focus();\n\t\t\t\t\t\t\t\t\t\tthis.focusedOnSearch = true;\n\t\t\t\t\t\t\t\t\t}, 0);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tthis.focusedOnSearch = false;\n\t\t\t\t\t\t}\n\t\t\t\t\t}}\n\t\t\t\t>\n\t\t\t\t\t{this.props.search}\n\t\t\t\t</div>\n\t\t\t);\n\t\t}\n\n\t\treturn returnVal;\n\t};\n\n\trender() {\n\t\tconst isOpen =\n\t\t\tthis.props.isOpen !== undefined ? this.props.isOpen : this.state.isOpen;\n\n\t\t// Should be removed in the future by adding a reset class of some sort.\n\t\tconst style = this.props.noTruncate ? { maxWidth: 'none' } : null;\n\n\t\tconst customModalHeader = (\n\t\t\t<React.Fragment>\n\t\t\t\t<h2\n\t\t\t\t\tclassName=\"slds-text-heading_medium\"\n\t\t\t\t\tid={`${this.getId()}-app-launcher-title`}\n\t\t\t\t>\n\t\t\t\t\t{this.props.title}\n\t\t\t\t</h2>\n\n\t\t\t\t{this.renderSearch()}\n\n\t\t\t\t{this.props.modalHeaderButton ? (\n\t\t\t\t\tthis.props.modalHeaderButton\n\t\t\t\t) : (\n\t\t\t\t\t<span className=\"slds-size_1-of-7\" />\n\t\t\t\t)}\n\t\t\t</React.Fragment>\n\t\t);\n\n\t\t// Not present in SLDS, but is consistent with other implementations of App Launcher. This also prevents resizing/jumping around when filtering. It will start clipping the modal close button at 600px viewport height.\n\t\tconst modalContentStaticHeight = '90%';\n\n\t\tconst assistiveText = {\n\t\t\t...defaultProps.assistiveText,\n\t\t\t...this.props.assistiveText,\n\t\t};\n\t\tconst triggerAssistiveText =\n\t\t\tthis.props.triggerAssistiveText || assistiveText.trigger;\n\t\treturn (\n\t\t\t<div\n\t\t\t\tclassName=\"slds-context-bar__item slds-context-bar__dropdown-trigger slds-dropdown-trigger slds-dropdown-trigger_click slds-no-hover\"\n\t\t\t\tstyle={style}\n\t\t\t>\n\t\t\t\t<div className=\"slds-context-bar__icon-action\">\n\t\t\t\t\t<button\n\t\t\t\t\t\taria-haspopup=\"true\"\n\t\t\t\t\t\tclassName=\"slds-button slds-icon-waffle_container slds-context-bar__button\"\n\t\t\t\t\t\tonClick={this.openAppLauncher}\n\t\t\t\t\t\ttitle={triggerAssistiveText}\n\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<span className=\"slds-icon-waffle\">\n\t\t\t\t\t\t\t<span className=\"slds-r1\" />\n\t\t\t\t\t\t\t<span className=\"slds-r2\" />\n\t\t\t\t\t\t\t<span className=\"slds-r3\" />\n\t\t\t\t\t\t\t<span className=\"slds-r4\" />\n\t\t\t\t\t\t\t<span className=\"slds-r5\" />\n\t\t\t\t\t\t\t<span className=\"slds-r6\" />\n\t\t\t\t\t\t\t<span className=\"slds-r7\" />\n\t\t\t\t\t\t\t<span className=\"slds-r8\" />\n\t\t\t\t\t\t\t<span className=\"slds-r9\" />\n\t\t\t\t\t\t</span>\n\t\t\t\t\t\t{triggerAssistiveText && (\n\t\t\t\t\t\t\t<span className=\"slds-assistive-text\">\n\t\t\t\t\t\t\t\t{triggerAssistiveText}\n\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t)}\n\t\t\t\t\t</button>\n\t\t\t\t</div>\n\t\t\t\t<Modal\n\t\t\t\t\tariaHideApp={this.props.ariaHideApp}\n\t\t\t\t\tassistiveText={{\n\t\t\t\t\t\tdialogLabelledBy: `${this.getId()}-app-launcher-title`,\n\t\t\t\t\t}}\n\t\t\t\t\tclassName={classNames('slds-app-launcher', this.props.modalClassName)}\n\t\t\t\t\tcontentClassName=\"slds-app-launcher__content slds-p-around_medium\"\n\t\t\t\t\tcontentStyle={{ minHeight: modalContentStaticHeight }}\n\t\t\t\t\tisOpen={isOpen}\n\t\t\t\t\tonRequestClose={this.closeAppLauncher}\n\t\t\t\t\tsize=\"large\"\n\t\t\t\t\theader={customModalHeader}\n\t\t\t\t\theaderClassName=\"slds-grid slds-grid_align-spread slds-grid_vertical-align-center\"\n\t\t\t\t>\n\t\t\t\t\t{this.props.children}\n\t\t\t\t</Modal>\n\t\t\t\t{this.props.triggerName ? (\n\t\t\t\t\t<span className=\"slds-context-bar__label-action slds-context-bar__app-name\">\n\t\t\t\t\t\t{this.props.noTruncate ? (\n\t\t\t\t\t\t\tthis.props.triggerName\n\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t<span className=\"slds-truncate\" title={this.props.triggerName}>\n\t\t\t\t\t\t\t\t{this.props.triggerName}\n\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t)}\n\t\t\t\t\t</span>\n\t\t\t\t) : null}\n\t\t\t</div>\n\t\t);\n\t}\n}\n\nexport default AppLauncher;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// # Expandable Section Component\n\n// Implements the [Expandable Section design pattern](https://www.lightningdesignsystem.com/components/expandable-section/) in React.\n\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\nimport classNames from 'classnames';\nimport shortid from 'shortid';\n\nimport Button from '../button';\n\n// ### Event Helpers\n// import KEYS from '../../utilities/key-code';\n// import EventUtil from '../../utilities/event';\n\nimport { EXPANDABLE_SECTION } from '../../utilities/constants';\n\nconst propTypes = {\n\t/**\n\t * **Assistive text for accessibility.**\n\t * * `toggleSection`: Label for the icon that expands / collapses the section\n\t */\n\tassistiveText: PropTypes.shape({\n\t\ttoggleSection: PropTypes.string,\n\t}),\n\t/**\n\t * Contents of the section\n\t */\n\tchildren: PropTypes.node,\n\t/**\n\t * Class names to be added to the `slds-section` classed node\n\t */\n\tclassName: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\t/**\n\t * Unique identifier for the expandable section. The id is automatically generated if not provided\n\t */\n\tid: PropTypes.string,\n\t/**\n\t * Specifies whether the section is expanded or collapsed. If not provided, component will use its own state to manage this itself\n\t */\n\tisOpen: PropTypes.bool,\n\t/**\n\t * Specifies whether the section can be expanded or collapsed. Defaults to `false`\n\t */\n\tnonCollapsible: PropTypes.bool,\n\t/**\n\t * Callback for when the section is expanded or collapsed. Passes event object and data object with `isOpen` bool.\n\t */\n\tonToggleOpen: PropTypes.func,\n\t/**\n\t * The title for the section\n\t */\n\ttitle: PropTypes.string.isRequired,\n};\n\nconst defaultProps = {\n\tassistiveText: {\n\t\ttoggleSection: 'Toggle visibility of section',\n\t},\n\tnonCollapsible: false,\n};\n\n/**\n * Toggle visibility of section content with the Expandable Section\n */\nclass ExpandableSection extends React.Component {\n\tconstructor(props) {\n\t\tsuper(props);\n\t\tthis.generatedId = shortid.generate();\n\t\tthis.state = {\n\t\t\tisOpen: true,\n\t\t};\n\t}\n\n\tgetId = () => this.props.id || this.generatedId;\n\n\ttoggleOpen = (event) => {\n\t\tif (this.props.onToggleOpen) {\n\t\t\tthis.props.onToggleOpen(event, {\n\t\t\t\tisOpen: this.props.isOpen,\n\t\t\t});\n\t\t} else {\n\t\t\tthis.setState((prevState) => ({\n\t\t\t\tisOpen: !prevState.isOpen,\n\t\t\t}));\n\t\t}\n\t};\n\n\trender() {\n\t\tconst contentId = `${this.getId()}-expanded-section-content`;\n\t\tconst isOpen =\n\t\t\tthis.props.isOpen !== undefined ? this.props.isOpen : this.state.isOpen;\n\t\tconst buttonAriaProps = {\n\t\t\t'aria-controls': contentId,\n\t\t\t'aria-expanded': !!isOpen,\n\t\t};\n\t\tconst titleNode = (\n\t\t\t<span\n\t\t\t\tclassName={classNames('slds-truncate', {\n\t\t\t\t\t'slds-p-horizontal_small': !!this.props.nonCollapsible,\n\t\t\t\t})}\n\t\t\t\ttitle={this.props.title}\n\t\t\t>\n\t\t\t\t{this.props.title}\n\t\t\t</span>\n\t\t);\n\n\t\treturn (\n\t\t\t<div\n\t\t\t\tclassName={classNames(\n\t\t\t\t\t'slds-section',\n\t\t\t\t\t{\n\t\t\t\t\t\t'slds-is-open': isOpen,\n\t\t\t\t\t},\n\t\t\t\t\tthis.props.className\n\t\t\t\t)}\n\t\t\t>\n\t\t\t\t<h3\n\t\t\t\t\tclassName={classNames('slds-section__title', {\n\t\t\t\t\t\t'slds-theme_shade': !!this.props.nonCollapsible,\n\t\t\t\t\t})}\n\t\t\t\t>\n\t\t\t\t\t{!this.props.nonCollapsible ? (\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tassistiveText={{\n\t\t\t\t\t\t\t\ticon: this.props.assistiveText.toggleSection,\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\ticonCategory=\"utility\"\n\t\t\t\t\t\t\ticonClassName=\"slds-section__title-action-icon slds-button__icon_left\"\n\t\t\t\t\t\t\ticonName=\"switch\"\n\t\t\t\t\t\t\tonClick={this.toggleOpen}\n\t\t\t\t\t\t\tclassName=\"slds-section__title-action\"\n\t\t\t\t\t\t\tvariant=\"base\"\n\t\t\t\t\t\t\t{...buttonAriaProps}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{titleNode}\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t) : (\n\t\t\t\t\t\ttitleNode\n\t\t\t\t\t)}\n\t\t\t\t</h3>\n\t\t\t\t<div\n\t\t\t\t\taria-hidden={!isOpen}\n\t\t\t\t\tclassName=\"slds-section__content\"\n\t\t\t\t\tid={contentId}\n\t\t\t\t>\n\t\t\t\t\t{this.props.children}\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t);\n\t}\n}\n\nExpandableSection.displayName = EXPANDABLE_SECTION;\nExpandableSection.propTypes = propTypes;\nExpandableSection.defaultProps = defaultProps;\n\nexport default ExpandableSection;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// # App Launcher Expandable Section Component\n\n// ## Dependencies\n\n// ### React\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\n// ### classNames\n// [github.com/JedWatson/classnames](https://github.com/JedWatson/classnames)\n// A simple javascript utility for conditionally joining classNames together.\nimport classNames from 'classnames';\n\n// This component's `checkProps` which issues warnings to developers about properties when in development mode (similar to React's built in development tools)\nimport checkProps from './check-props';\nimport componentDoc from './component.json';\n\n// ## Children\nimport ExpandableSection from '../expandable-section';\n\n// ## Constants\nimport {\n\tAPP_LAUNCHER_EXPANDABLE_SECTION,\n\tAPP_LAUNCHER_TILE,\n} from '../../utilities/constants';\n\n/**\n * App Launcher Sections allow users to categorize App Tiles & Links as well as toggle their display. It is a superset of components/expandable-section with content formatting.\n * All Expandable Section props are compatible with props passed to this component.\n */\nclass AppLauncherExpandableSection extends React.Component {\n\t// ### Display Name\n\t// Always use the canonical component name as the React display name.\n\tstatic displayName = APP_LAUNCHER_EXPANDABLE_SECTION;\n\n\t// ### Prop Types\n\tstatic propTypes = {\n\t\t/**\n\t\t * **Assistive text for accessibility.**\n\t\t * * `toggleSection`: Label for the icon that expands / collapses the section\n\t\t */\n\t\tassistiveText: PropTypes.shape({\n\t\t\ttoggleSection: PropTypes.string,\n\t\t}),\n\t\t/**\n\t\t * Contents of the section\n\t\t */\n\t\tchildren: PropTypes.node,\n\t\t/**\n\t\t * Class names to be added to the `slds-section` classed node\n\t\t */\n\t\tclassName: PropTypes.oneOfType([\n\t\t\tPropTypes.array,\n\t\t\tPropTypes.object,\n\t\t\tPropTypes.string,\n\t\t]),\n\t\t/**\n\t\t * Unique identifier for the expandable section. The id is automatically generated if not provided\n\t\t */\n\t\tid: PropTypes.string,\n\t\t/**\n\t\t * Specifies whether the section is expanded or collapsed. If not provided, component will use its own state to manage this itself\n\t\t */\n\t\tisOpen: PropTypes.bool,\n\t\t/**\n\t\t * Specifies whether the section can be expanded or collapsed. Defaults to `false`\n\t\t */\n\t\tnonCollapsible: PropTypes.bool,\n\t\t/**\n\t\t * Callback for when the section is expanded or collapsed. Passes event object and data object with `isOpen` bool.\n\t\t */\n\t\tonToggleOpen: PropTypes.func,\n\t\t/**\n\t\t * The title for the section\n\t\t */\n\t\ttitle: PropTypes.string.isRequired,\n\t};\n\n\tstate = {\n\t\tisOpen: true,\n\t};\n\n\tconstructor(props) {\n\t\tsuper(props);\n\n\t\tcheckProps(APP_LAUNCHER_EXPANDABLE_SECTION, props, componentDoc);\n\t}\n\n\ttoggleOpen = (event, data) => {\n\t\tif (this.props.onToggleOpen) {\n\t\t\tthis.props.onToggleOpen(event, data);\n\t\t} else {\n\t\t\tthis.setState((prevState) => ({\n\t\t\t\tisOpen: !prevState.isOpen,\n\t\t\t}));\n\t\t}\n\t};\n\n\trender() {\n\t\tconst expandableSectionProps = {\n\t\t\t...this.props,\n\t\t\t...{\n\t\t\t\tisOpen:\n\t\t\t\t\tthis.props.isOpen !== undefined\n\t\t\t\t\t\t? this.props.isOpen\n\t\t\t\t\t\t: this.state.isOpen,\n\t\t\t\tonToggleOpen: this.toggleOpen,\n\t\t\t},\n\t\t};\n\t\tlet ulChildrenType = 'tiles';\n\n\t\tconst ulContent = React.Children.map(this.props.children, (child) => {\n\t\t\tlet liClasses =\n\t\t\t\t'slds-p-horizontal_small slds-size_1-of-1 slds-medium-size_1-of-3';\n\n\t\t\tif (\n\t\t\t\t(child && child.type && child.type.displayName !== APP_LAUNCHER_TILE) ||\n\t\t\t\t(child && !child.type)\n\t\t\t) {\n\t\t\t\tulChildrenType = 'links';\n\t\t\t}\n\n\t\t\tif (ulChildrenType === 'links') {\n\t\t\t\tliClasses = 'slds-col_padded slds-p-vertical_xx-small slds-size_1-of-5';\n\t\t\t}\n\n\t\t\treturn <li className={liClasses}>{child}</li>;\n\t\t});\n\n\t\treturn (\n\t\t\t<ExpandableSection {...expandableSectionProps}>\n\t\t\t\t<ul\n\t\t\t\t\tclassName={classNames('slds-grid slds-wrap', {\n\t\t\t\t\t\t'slds-grid_pull-padded': ulChildrenType === 'tiles',\n\t\t\t\t\t})}\n\t\t\t\t>\n\t\t\t\t\t{ulContent}\n\t\t\t\t</ul>\n\t\t\t</ExpandableSection>\n\t\t);\n\t}\n}\n\nexport default AppLauncherExpandableSection;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// ### React\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\n// ### ReactHighlighter\nimport ReactHighlighter from 'react-highlighter';\n\n// ## Constants\nimport { HIGHLIGHTER } from '../../../utilities/constants';\n\n/**\n * A utility component that highlights occurrences of a particular pattern in its contents.\n */\nconst Highlighter = (props) => {\n\tif (props.search) {\n\t\tlet children;\n\t\tif (typeof props.children === 'string') {\n\t\t\tchildren = (\n\t\t\t\t<ReactHighlighter\n\t\t\t\t\tclassName={props.className}\n\t\t\t\t\tmatchClass={null}\n\t\t\t\t\tmatchElement=\"mark\"\n\t\t\t\t\tsearch={props.search}\n\t\t\t\t\ttitle={props.children}\n\t\t\t\t>\n\t\t\t\t\t{props.children}\n\t\t\t\t</ReactHighlighter>\n\t\t\t);\n\t\t} else {\n\t\t\tconst findString = (nodeArr) =>\n\t\t\t\tnodeArr.map((element) => {\n\t\t\t\t\tlet newElement;\n\t\t\t\t\tif (typeof element === 'string') {\n\t\t\t\t\t\tnewElement = (\n\t\t\t\t\t\t\t<ReactHighlighter\n\t\t\t\t\t\t\t\tkey={element}\n\t\t\t\t\t\t\t\tclassName={props.className}\n\t\t\t\t\t\t\t\tmatchClass={null}\n\t\t\t\t\t\t\t\tmatchElement=\"mark\"\n\t\t\t\t\t\t\t\tsearch={props.search}\n\t\t\t\t\t\t\t\ttitle={element}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{element}\n\t\t\t\t\t\t\t</ReactHighlighter>\n\t\t\t\t\t\t);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tnewElement = element;\n\t\t\t\t\t}\n\t\t\t\t\treturn newElement;\n\t\t\t\t});\n\n\t\t\tif (props.children.props) {\n\t\t\t\tconst node = props.children.props.children;\n\t\t\t\tchildren = node instanceof Array ? findString(node) : node;\n\t\t\t}\n\t\t}\n\n\t\treturn <span>{children}</span>;\n\t}\n\n\tif (typeof props.children === 'string') {\n\t\treturn (\n\t\t\t<span className={props.className} title={props.children}>\n\t\t\t\t{props.children}\n\t\t\t</span>\n\t\t);\n\t}\n\n\treturn <span className={props.className}>{props.children}</span>;\n};\n\n// ### Display Name\nHighlighter.displayName = HIGHLIGHTER;\n\n// ### Prop Types\nHighlighter.propTypes = {\n\t/**\n\t * The full string to display.\n\t */\n\tchildren: PropTypes.oneOfType([\n\t\tPropTypes.string,\n\t\tPropTypes.number,\n\t\tPropTypes.bool,\n\t\tPropTypes.node,\n\t]),\n\tclassName: PropTypes.string,\n\t/**\n\t * The string of text (or Regular Expression) to highlight.\n\t */\n\tsearch: PropTypes.any,\n};\n\nexport default Highlighter;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// # App Launcher Link Component\n\n// ## Dependencies\n\n// ### React\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\n// ### classNames\n// [github.com/JedWatson/classnames](https://github.com/JedWatson/classnames)\n// A simple javascript utility for conditionally joining classNames together.\nimport classNames from 'classnames';\n\n// ### Children\nimport Highlighter from '../utilities/highlighter';\n\n// ## Constants\nimport { APP_LAUNCHER_LINK } from '../../utilities/constants';\n\n/**\n * App Launcher Link component creates simple links to be used in \"All Items\" sections\n */\nclass AppLauncherLink extends React.Component {\n\t// ### Display Name\n\t// Always use the canonical component name as the React display name.\n\tstatic displayName = APP_LAUNCHER_LINK;\n\n\t// ### Prop Types\n\tstatic propTypes = {\n\t\t/**\n\t\t * Contents of the link\n\t\t */\n\t\tchildren: PropTypes.node,\n\t\t/**\n\t\t * Classes to be applied to the link\n\t\t */\n\t\tclassName: PropTypes.oneOfType([\n\t\t\tPropTypes.array,\n\t\t\tPropTypes.object,\n\t\t\tPropTypes.string,\n\t\t]),\n\t\t/**\n\t\t * The `href` attribute of the link. If the `onClick` callback is specified this URL will be prevented from changing the browser's location.\n\t\t */\n\t\thref: PropTypes.string,\n\t\t/**\n\t\t * Callback for when the link is clicked. Passes back event and data object with href prop. Prevents click from changing browser's location if set.\n\t\t */\n\t\tonClick: PropTypes.func,\n\t\t/**\n\t\t * Text used to highlight content in link\n\t\t */\n\t\tsearch: PropTypes.string,\n\t\t/**\n\t\t * The title for the link. If not provided it will attempt to use child content if that content is a string.\n\t\t */\n\t\ttitle: PropTypes.string,\n\t};\n\n\t// ### Default Props\n\tstatic defaultProps = {\n\t\thref: 'javascript:void(0);', // eslint-disable-line no-script-url\n\t};\n\n\trender() {\n\t\tlet { title } = this.props;\n\n\t\tif (!title && typeof this.props.children === 'string') {\n\t\t\ttitle = this.props.children;\n\t\t}\n\n\t\treturn (\n\t\t\t<a\n\t\t\t\thref={this.props.href} // eslint-disable-line no-script-url\n\t\t\t\tclassName={classNames('slds-truncate', this.props.className)}\n\t\t\t\tonClick={(event) => {\n\t\t\t\t\tif (this.props.onClick) {\n\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t\tthis.props.onClick(event, { href: this.props.href });\n\t\t\t\t\t}\n\t\t\t\t}}\n\t\t\t\ttitle={title}\n\t\t\t>\n\t\t\t\t<Highlighter search={this.props.search}>\n\t\t\t\t\t{this.props.children}\n\t\t\t\t</Highlighter>\n\t\t\t</a>\n\t\t);\n\t}\n}\n\nexport default AppLauncherLink;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\nimport React from 'react';\n\nimport PropTypes from 'prop-types';\n\nimport memoize from 'lodash.memoize';\n\nconst documentDefined = typeof document !== 'undefined';\n\nlet canvas;\nlet docFragment;\nlet canvasContext;\nlet measureWidth = () => 0;\n\nif (documentDefined) {\n\tcanvas = document.createElement('canvas');\n\tif (canvas.getContext) {\n\t\tdocFragment = document.createDocumentFragment();\n\t\tdocFragment.appendChild(canvas);\n\t\tcanvasContext = canvas.getContext('2d');\n\t\tmeasureWidth = memoize((text, font) => {\n\t\t\tcanvasContext.font = font;\n\t\t\treturn canvasContext.measureText(text).width;\n\t\t});\n\t}\n}\n\nclass TextTruncate extends React.Component {\n\tstatic displayName = 'TextTruncate';\n\n\tstatic propTypes = {\n\t\tcontainerClassName: PropTypes.string,\n\t\tline: PropTypes.number,\n\t\tprefix: PropTypes.string,\n\t\tsuffix: PropTypes.string,\n\t\ttext: PropTypes.string,\n\t\ttextTruncateChild: PropTypes.node,\n\t\ttruncateText: PropTypes.string,\n\t\twrapper: PropTypes.func,\n\t};\n\n\tstatic defaultProps = {\n\t\tline: 1,\n\t\ttext: '',\n\t\ttruncateText: '…',\n\t};\n\n\tstate = {};\n\n\tcomponentDidMount() {\n\t\twindow.addEventListener('resize', this.onResize, false);\n\t}\n\n\tcomponentDidUpdate(nextProps) {\n\t\tif (nextProps.text !== this.props.text) {\n\t\t\tthis.update(nextProps);\n\t\t}\n\t}\n\n\tcomponentWillUnmount() {\n\t\twindow.removeEventListener('resize', this.onResize, false);\n\t}\n\n\tonResize = () => {\n\t\tthis.update(this.props);\n\t};\n\n\tgetRenderText = (ref, nextProps) => {\n\t\tif (!ref) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis.scope = ref;\n\n\t\t// nextProps will be undefined for resize events, but will change if search or other props are changed\n\t\tlet propsToRender;\n\t\tif (nextProps) {\n\t\t\tpropsToRender = nextProps;\n\t\t} else {\n\t\t\tpropsToRender = this.props;\n\t\t}\n\n\t\tconst {\n\t\t\tcontainerClassName, // eslint-disable-line no-unused-vars\n\t\t\tline,\n\t\t\tprefix,\n\t\t\tsuffix,\n\t\t\ttext,\n\t\t\ttextTruncateChild,\n\t\t\ttruncateText,\n\t\t\twrapper,\n\t\t\t...props\n\t\t} = propsToRender;\n\n\t\tconst scopeWidth = this.scope.getBoundingClientRect().width;\n\t\tconst style = window.getComputedStyle(this.scope);\n\t\tconst font = [\n\t\t\tstyle['font-weight'],\n\t\t\tstyle['font-style'],\n\t\t\tstyle['font-size'],\n\t\t\tstyle['font-family'],\n\t\t].join(' ');\n\n\t\t// return if display:none\n\t\tif (scopeWidth === 0) {\n\t\t\tthis.setState({ renderText: null });\n\t\t\treturn;\n\t\t}\n\n\t\tlet child;\n\t\tlet outputText = text;\n\n\t\t// return if all of text can be displayed\n\t\tif (scopeWidth < measureWidth(text, font)) {\n\t\t\tlet currentPos = 1;\n\t\t\tconst maxTextLength = text.length;\n\t\t\tlet truncatedText = '';\n\t\t\tlet splitPos = 0;\n\t\t\tlet startPos = 0;\n\t\t\tlet displayLine = line;\n\t\t\tlet width = 0;\n\t\t\tlet lastIsEng = false;\n\t\t\tlet lastSpaceIndex = -1;\n\n\t\t\t// eslint-disable-next-line fp/no-loops\n\t\t\twhile (displayLine !== 0) {\n\t\t\t\tlet ext = '';\n\t\t\t\tlet extraWidthDueToPrefixStyle = 0;\n\n\t\t\t\tif (prefix && displayLine === line - 1) {\n\t\t\t\t\text += ` ${prefix}`;\n\t\t\t\t\t// MAGIC NUMBER: (width at letter-spacing of 0.25rems - width at normal) / number of letters\n\t\t\t\t\textraWidthDueToPrefixStyle = prefix.length * 0.66;\n\t\t\t\t}\n\n\t\t\t\tif (!displayLine) {\n\t\t\t\t\text += truncateText;\n\n\t\t\t\t\tif (suffix) {\n\t\t\t\t\t\text += ` ${suffix}`;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t// eslint-disable-next-line fp/no-loops\n\t\t\t\twhile (currentPos <= maxTextLength) {\n\t\t\t\t\ttruncatedText = text.substr(startPos, currentPos);\n\t\t\t\t\twidth =\n\t\t\t\t\t\tmeasureWidth(truncatedText + ext, font) +\n\t\t\t\t\t\textraWidthDueToPrefixStyle;\n\n\t\t\t\t\tif (width < scopeWidth) {\n\t\t\t\t\t\tsplitPos = text.indexOf(' ', currentPos + 1);\n\t\t\t\t\t\tif (splitPos === -1) {\n\t\t\t\t\t\t\tcurrentPos += 1;\n\t\t\t\t\t\t\tlastIsEng = false;\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tlastIsEng = true;\n\t\t\t\t\t\t\tcurrentPos = splitPos;\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\n\t\t\t\t\t\tlet lastWidth = 0;\n\t\t\t\t\t\t// eslint-disable-next-line fp/no-loops\n\t\t\t\t\t\tdo {\n\t\t\t\t\t\t\tcurrentPos -= 1;\n\t\t\t\t\t\t\ttruncatedText = text.substr(startPos, currentPos);\n\t\t\t\t\t\t\tif (truncatedText[truncatedText.length - 1] === ' ') {\n\t\t\t\t\t\t\t\ttruncatedText = text.substr(startPos, currentPos - 1);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tif (lastIsEng) {\n\t\t\t\t\t\t\t\tlastSpaceIndex = truncatedText.lastIndexOf(' ');\n\t\t\t\t\t\t\t\tif (lastSpaceIndex > -1) {\n\t\t\t\t\t\t\t\t\tcurrentPos = lastSpaceIndex;\n\t\t\t\t\t\t\t\t\ttruncatedText = text.substr(startPos, currentPos);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\twidth =\n\t\t\t\t\t\t\t\tmeasureWidth(truncatedText + ext, font) +\n\t\t\t\t\t\t\t\textraWidthDueToPrefixStyle;\n\t\t\t\t\t\t\tif (width === lastWidth) {\n\t\t\t\t\t\t\t\tcurrentPos = 0;\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tlastWidth = width;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} while (width >= scopeWidth);\n\t\t\t\t\t\tstartPos += currentPos;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tif (currentPos >= maxTextLength) {\n\t\t\t\t\tstartPos = maxTextLength;\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\n\t\t\t\tdisplayLine -= 1; // iterate\n\t\t\t}\n\n\t\t\tif (startPos !== maxTextLength) {\n\t\t\t\toutputText = `${text.substr(0, startPos)}${truncateText} `;\n\t\t\t\tchild = textTruncateChild;\n\t\t\t}\n\t\t}\n\n\t\tlet renderText;\n\t\tif (wrapper) {\n\t\t\trenderText = wrapper(outputText, child);\n\t\t} else {\n\t\t\trenderText = (\n\t\t\t\t<div {...props}>\n\t\t\t\t\t{outputText}\n\t\t\t\t\t{child}\n\t\t\t\t</div>\n\t\t\t);\n\t\t}\n\n\t\tthis.setState({ renderText });\n\t};\n\n\tupdate = (nextProps) => {\n\t\tthis.getRenderText(this.scope, nextProps);\n\t};\n\n\trender() {\n\t\tconst { containerClassName } = this.props;\n\n\t\t// inline style override\n\t\treturn (\n\t\t\t<div\n\t\t\t\tref={this.getRenderText}\n\t\t\t\tclassName={containerClassName}\n\t\t\t\tstyle={{ overflow: 'hidden' }}\n\t\t\t>\n\t\t\t\t{this.state.renderText}\n\t\t\t</div>\n\t\t);\n\t}\n}\n\nexport default TextTruncate;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n/* eslint-disable jsx-a11y/no-noninteractive-tabindex */\n\n// # App Launcher Tile Component\n\n// ## Dependencies\n\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\n\n// This component's `checkProps` which issues warnings to developers about properties when in development mode (similar to React's built in development tools)\nimport checkProps from './check-props';\nimport componentDoc from './component.json';\n\n// ## Children\nimport Button from '../button';\nimport Highlighter from '../utilities/highlighter';\nimport Tooltip from '../tooltip';\nimport Truncate from '../utilities/truncate';\n\nimport { APP_LAUNCHER_TILE } from '../../utilities/constants';\n\nconst propTypes = {\n\t/**\n\t * **Assistive text for accessibility.**\n\t * * `dragIconText`: Text that describes the purpose of the drag handle icon.\n\t */\n\tassistiveText: PropTypes.shape({\n\t\tdragIconText: PropTypes.string,\n\t}),\n\t/**\n\t * Class names to be added to the tile.\n\t */\n\tclassName: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\t/**\n\t * The description of the app. Not visible on small tiles.\n\t */\n\tdescription: PropTypes.string,\n\t/**\n\t * Heading for app description. NOTE: this prop is DEPRECATED and use should be avoided\n\t */\n\tdescriptionHeading: PropTypes.string,\n\t/**\n\t * The `href` attribute of the tile. Please pass in bookmarkable URLs from your routing library. If the `onClick` callback is specified this URL will be prevented from changing the browser's location.\n\t */\n\thref: PropTypes.string,\n\t/**\n\t * Background color to be used on the icon. Only applied if iconNode is undefined\n\t */\n\ticonBackgroundColor: PropTypes.string,\n\t/**\n\t * Icon node for app tile. Takes priority over `iconText`\n\t */\n\ticonNode: PropTypes.node,\n\t/**\n\t * Text to be used as an icon. Only renders if iconNode is undefined\n\t */\n\ticonText: PropTypes.string,\n\t/**\n\t * Open the More Tooltip\n\t */\n\tisOpenTooltip: PropTypes.bool,\n\t/**\n\t * The localized text for the \"More information\" tooltip.\n\t */\n\tmoreLabel: PropTypes.string,\n\t/**\n\t * Function that will be executed when clicking on a tile\n\t */\n\tonClick: PropTypes.func,\n\t/**\n\t * Text used to highlight content in app tiles\n\t */\n\tsearch: PropTypes.string,\n\t/**\n\t * App name for the tile's title.\n\t */\n\ttitle: PropTypes.string.isRequired,\n\n\t// Future feature: add Highlighter to Truncate text (https://github.com/ShinyChang/React-Text-Truncate/issues/32)\n};\n\nconst defaultProps = {\n\tassistiveText: {\n\t\tdragIconText: 'Reorder',\n\t},\n\thref: 'javascript:void(0);', // eslint-disable-line no-script-url\n\tmoreLabel: ' More',\n};\n\n/**\n * App Launcher Tiles provide information and links to a user's apps\n */\nclass AppLauncherTile extends React.Component {\n\tconstructor(props) {\n\t\tsuper(props);\n\n\t\t// `checkProps` issues warnings to developers about properties (similar to React's built in development tools)\n\t\tcheckProps(APP_LAUNCHER_TILE, props, componentDoc);\n\t}\n\n\thandleClick = (event) => {\n\t\tif (this.props.onClick) {\n\t\t\tevent.preventDefault();\n\t\t\tthis.props.onClick(event, { href: this.props.href });\n\t\t}\n\t};\n\n\trender() {\n\t\tconst dragButtonAriaProps = { 'aria-pressed': false };\n\t\tconst iconStyles = {};\n\n\t\tif (this.props.iconBackgroundColor) {\n\t\t\ticonStyles.backgroundColor = this.props.iconBackgroundColor;\n\t\t}\n\n\t\treturn (\n\t\t\t<div\n\t\t\t\tclassName={classNames(\n\t\t\t\t\t'slds-app-launcher__tile slds-text-link_reset slds-is-draggable', // NOTE: while the draggable class is here for stylistic purposes, the draggable attribute is not present as draggability has not been implemented yet\n\t\t\t\t\tthis.props.className\n\t\t\t\t)}\n\t\t\t\tonClick={this.handleClick}\n\t\t\t\trole=\"button\"\n\t\t\t\ttabIndex=\"0\"\n\t\t\t>\n\t\t\t\t<div className=\"slds-app-launcher__tile-figure\">\n\t\t\t\t\t{this.props.iconNode || (\n\t\t\t\t\t\t<span className=\"slds-avatar slds-avatar_large\">\n\t\t\t\t\t\t\t<abbr\n\t\t\t\t\t\t\t\tclassName=\"slds-avatar__initials slds-icon-custom-27\"\n\t\t\t\t\t\t\t\tstyle={iconStyles}\n\t\t\t\t\t\t\t\ttitle={this.props.title}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{this.props.iconText}\n\t\t\t\t\t\t\t</abbr>\n\t\t\t\t\t\t</span>\n\t\t\t\t\t)}\n\t\t\t\t\t<div className=\"slds-m-top_xxx-small\">\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tassistiveText={{\n\t\t\t\t\t\t\t\ticon: this.props.assistiveText.dragIconText,\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\ticonCategory=\"utility\"\n\t\t\t\t\t\t\ticonName=\"rows\"\n\t\t\t\t\t\t\ttitle={this.props.assistiveText.dragIconText}\n\t\t\t\t\t\t\tvariant=\"icon\"\n\t\t\t\t\t\t\t{...dragButtonAriaProps}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t\t<div className=\"slds-app-launcher__tile-body\">\n\t\t\t\t\t<a\n\t\t\t\t\t\thref={this.props.href} // eslint-disable-line no-script-url\n\t\t\t\t\t>\n\t\t\t\t\t\t<Highlighter search={this.props.search}>\n\t\t\t\t\t\t\t{this.props.title}\n\t\t\t\t\t\t</Highlighter>\n\t\t\t\t\t</a>\n\t\t\t\t\t<Truncate\n\t\t\t\t\t\tline={2}\n\t\t\t\t\t\tprefix={\n\t\t\t\t\t\t\tthis.props.descriptionHeading &&\n\t\t\t\t\t\t\tthis.props.descriptionHeading.toUpperCase()\n\t\t\t\t\t\t}\n\t\t\t\t\t\tsuffix={this.props.moreLabel}\n\t\t\t\t\t\ttext={this.props.description}\n\t\t\t\t\t\ttextTruncateChild={\n\t\t\t\t\t\t\t<Tooltip\n\t\t\t\t\t\t\t\talign=\"bottom\"\n\t\t\t\t\t\t\t\tcontent={\n\t\t\t\t\t\t\t\t\t<Highlighter search={this.props.search}>\n\t\t\t\t\t\t\t\t\t\t{this.props.description}\n\t\t\t\t\t\t\t\t\t</Highlighter>\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tisOpen={this.props.isOpenTooltip}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\tclassName=\"slds-button_reset slds-text-link\"\n\t\t\t\t\t\t\t\t\tvariant=\"base\"\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{this.props.moreLabel}\n\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t</Tooltip>\n\t\t\t\t\t\t}\n\t\t\t\t\t\twrapper={(text, textTruncateChild) => (\n\t\t\t\t\t\t\t<React.Fragment>\n\t\t\t\t\t\t\t\t{this.props.descriptionHeading && (\n\t\t\t\t\t\t\t\t\t// inline style override\n\t\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\t\tclassName=\"slds-text-heading_label\"\n\t\t\t\t\t\t\t\t\t\tstyle={{ letterSpacing: '0.025rem' }}\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{this.props.descriptionHeading}{' '}\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t<Highlighter search={this.props.search}>{text}</Highlighter>\n\t\t\t\t\t\t\t\t{textTruncateChild && ' '}\n\t\t\t\t\t\t\t\t{textTruncateChild}\n\t\t\t\t\t\t\t</React.Fragment>\n\t\t\t\t\t\t)}\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t);\n\t}\n}\n\nAppLauncherTile.displayName = APP_LAUNCHER_TILE;\nAppLauncherTile.defaultProps = defaultProps;\nAppLauncherTile.propTypes = propTypes;\n\nexport default AppLauncherTile;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n/* eslint-disable import/no-mutable-exports */\n\nimport sunsetProperty from '../../utilities/warning/sunset-property';\nimport getComponentDocFn from '../../utilities/get-component-doc';\n\nlet checkProps = function checkPropsFunction() {};\n\nif (process.env.NODE_ENV !== 'production') {\n\tcheckProps = function checkPropsFunction(COMPONENT, props, jsonDoc) {\n\t\tconst createDocUrl = getComponentDocFn(jsonDoc);\n\t\tif (typeof props.assistiveText === 'string') {\n\t\t\tsunsetProperty(\n\t\t\t\tCOMPONENT,\n\t\t\t\tprops.assistiveText,\n\t\t\t\t'assistiveText',\n\t\t\t\t`\\`assistiveText\\` as a string has been deprecated and is now an object to allow for multiple uses in the component. Please use \\`assistiveText.icon\\` instead. ${createDocUrl(\n\t\t\t\t\t'assistiveText'\n\t\t\t\t)}`\n\t\t\t);\n\t\t}\n\t};\n}\n\nexport default checkProps;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// # Avatar Component\n\n// Implements the [Avatar design pattern](https://lightningdesignsystem.com/components/avatar/) in React.\n\n// ### React\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\n// This component's `checkProps` which issues warnings to developers about properties when in development mode (similar to React's built in development tools)\nimport checkProps from './check-props';\n\n// ### classNames\n// [github.com/JedWatson/classnames](https://github.com/JedWatson/classnames) A\n// simple javascript utility for conditionally joining classNames together.\nimport classNames from '../../utilities/class-names';\nimport { AVATAR } from '../../utilities/constants';\nimport UtilityIcon from '../icon';\nimport componentDoc from './component.json';\n\n// ### Display Name Always use the canonical component name as the React display\n// name.\nconst displayName = AVATAR;\n\n// ### Prop Types\nconst propTypes = {\n\t/**\n\t * **Assistive text for accessibility.**\n\t * This object is merged with the default props object on every render.\n\t * * `icon`: Assistive text for accessibility that labels the icon.\n\t */\n\tassistiveText: PropTypes.shape({\n\t\ticon: PropTypes.string,\n\t}),\n\t/**\n\t * Alt attribute to be applied to image (base case) element.\n\t */\n\timgAlt: PropTypes.string,\n\t/**\n\t * Source attribute to be applied to image (base case) element.\n\t */\n\timgSrc: PropTypes.string,\n\t/**\n\t * Initials attribute to optionally pass in initials directly in case of \"initials\" fallback case.\n\t */\n\tinitials: PropTypes.string,\n\t/**\n\t * Avatar with initials that are dark text on light background\n\t */\n\tinverse: PropTypes.bool,\n\t/**\n\t * Label attibute to display inside \"initials\" fallback case. Will be passed as title prop in `abbr` element to provide more specificity.\n\t */\n\tlabel: PropTypes.string,\n\t/**\n\t * Avatar variants to apply relevant styling (circle: user, square: entity) and icon rendering if applicable.\n\t */\n\tvariant: PropTypes.oneOf(['entity', 'user']).isRequired,\n\t/**\n\t * Size of the icon in \"icon\" fallback case.\n\t */\n\tsize: PropTypes.oneOf(['x-small', 'small', 'medium', 'large']).isRequired,\n\t/**\n\t * Title attribute for the avatar container.\n\t */\n\ttitle: PropTypes.string,\n};\n\nconst defaultProps = {\n\tassistiveText: {\n\t\ticon: 'User or Account Icon',\n\t},\n\timgAlt: '',\n\tsize: 'medium',\n\ttitle: 'user avatar',\n\tvariant: 'user',\n};\n\n/**\n * The avatar component represents an object or entity. An image is the preferred format for an avatar.\n If the `imgSrc` prop is undefined, and if a `label` or `initials` prop is available, the fallback avatar will render with initials. If initals are passed in directly in the `initials` prop, this will render in the fallback avatar. If `initals` prop is unavailable but a `label` prop is available, the fallback avatar will render with built initials of the user name or entity name.\n\n Intials built from the `label` prop will apply the following logic: If the label name contains two words, like first and last name, the first letter of each will be capitalized and returned. For labels that only have a single word name, the first two letters of that word, using one capital and one lower case letter, will be returned. For labels that contain three or more words, the first character of the first and last words will be capitalized and returned.\n\n If `initials` or `label` are not available, the fallback avatar will render a standard icon. If `variant='user'`, a user icon will\n render. If `variant='entity'`, an account icon will render.\n */\n\nclass Avatar extends React.Component {\n\tconstructor(props) {\n\t\tsuper(props);\n\t\tthis.state = {\n\t\t\timgLoadError: false,\n\t\t};\n\n\t\tcheckProps(AVATAR, props, componentDoc);\n\t}\n\n\tbuildInitials() {\n\t\tconst { label } = this.props;\n\t\tconst name = label.trim();\n\t\tconst nameParts = name.split(' ');\n\t\tif (nameParts.length > 1) {\n\t\t\treturn (\n\t\t\t\tnameParts[0].charAt(0).toUpperCase() +\n\t\t\t\tnameParts[nameParts.length - 1].charAt(0).toUpperCase()\n\t\t\t);\n\t\t}\n\t\treturn (name[0] || '').toUpperCase() + (name[1] || '').toLowerCase();\n\t}\n\n\thandleImageError() {\n\t\treturn this.setState(() => ({ imgLoadError: true }));\n\t}\n\n\trenderBaseAvatar() {\n\t\tconst { imgAlt, imgSrc, title } = this.props;\n\t\treturn (\n\t\t\t<img\n\t\t\t\talt={imgAlt}\n\t\t\t\tsrc={imgSrc}\n\t\t\t\tonError={() => this.handleImageError()}\n\t\t\t\ttitle={title}\n\t\t\t/>\n\t\t);\n\t}\n\n\trenderIconAvatar() {\n\t\tconst { variant } = this.props;\n\t\tconst iconAssistiveText =\n\t\t\ttypeof this.props.assistiveText === 'string'\n\t\t\t\t? this.props.assistiveText\n\t\t\t\t: {\n\t\t\t\t\t\t...defaultProps.assistiveText,\n\t\t\t\t\t\t...this.props.assistiveText,\n\t\t\t\t }.icon;\n\t\treturn (\n\t\t\t<UtilityIcon\n\t\t\t\tassistiveText={{ label: iconAssistiveText }}\n\t\t\t\tcategory=\"standard\"\n\t\t\t\tname={variant === 'entity' ? 'account' : 'user'}\n\t\t\t/>\n\t\t);\n\t}\n\n\trenderInitialsAvatar() {\n\t\tconst { initials, inverse, label, variant } = this.props;\n\t\treturn (\n\t\t\t<abbr\n\t\t\t\tclassName={classNames('slds-avatar__initials', {\n\t\t\t\t\t'slds-avatar__initials_inverse': inverse,\n\t\t\t\t\t'slds-icon-standard-account': variant === 'entity',\n\t\t\t\t\t'slds-icon-standard-user': variant === 'user',\n\t\t\t\t})}\n\t\t\t\ttitle={label}\n\t\t\t>\n\t\t\t\t{initials ? initials : this.buildInitials()}\n\t\t\t</abbr>\n\t\t);\n\t}\n\n\trender() {\n\t\tconst { imgSrc, initials, variant, label, size } = this.props;\n\n\t\tconst renderAvatar = () => {\n\t\t\t/* eslint no-unneeded-ternary: */\n\t\t\tif (!this.state.imgLoadError && imgSrc) {\n\t\t\t\treturn this.renderBaseAvatar();\n\t\t\t}\n\t\t\tif (initials || (label && label.trim())) {\n\t\t\t\treturn this.renderInitialsAvatar();\n\t\t\t}\n\t\t\treturn this.renderIconAvatar();\n\t\t};\n\n\t\treturn (\n\t\t\t<div>\n\t\t\t\t<span\n\t\t\t\t\tclassName={classNames('slds-avatar', {\n\t\t\t\t\t\t'slds-avatar_circle': variant === 'user',\n\t\t\t\t\t\t'slds-avatar_x-small': size === 'x-small',\n\t\t\t\t\t\t'slds-avatar_small': size === 'small',\n\t\t\t\t\t\t'slds-avatar_medium': size === 'medium',\n\t\t\t\t\t\t'slds-avatar_large': size === 'large',\n\t\t\t\t\t})}\n\t\t\t\t>\n\t\t\t\t\t{renderAvatar()}\n\t\t\t\t</span>\n\t\t\t</div>\n\t\t);\n\t}\n}\n\nAvatar.defaultProps = defaultProps;\nAvatar.displayName = displayName;\nAvatar.propTypes = propTypes;\n\nexport default Avatar;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// Implements the [Badge design pattern](https://latest-216.lightningdesignsystem.com/components/badges/) in React.\n\n// ## Dependencies\n\n// ### React\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\n\n// ### shortid\n// [npmjs.com/package/shortid](https://www.npmjs.com/package/shortid)\n// shortid is a short, non-sequential, url-friendly, unique id generator\nimport shortid from 'shortid';\n\n// ## Constants\nimport { BADGE } from '../../utilities/constants';\n\n/**\n * Badges are labels which hold small amounts of information.\n */\nclass Badge extends React.Component {\n\tconstructor(props) {\n\t\tsuper(props);\n\t\tthis.generatedId = shortid.generate();\n\t}\n\n\t/**\n\t * Get the Badge's HTML id. Generate a new one if no ID present.\n\t */\n\tgetId() {\n\t\treturn this.props.id || this.generatedId;\n\t}\n\n\trender() {\n\t\tconst icon = this.props.icon && (\n\t\t\t<span\n\t\t\t\tclassName={classNames(\n\t\t\t\t\t'slds-badge__icon',\n\t\t\t\t\t`slds-badge__icon_${this.props.iconAlignment}`\n\t\t\t\t)}\n\t\t\t\tstyle={this.props.style}\n\t\t\t>\n\t\t\t\t{this.props.icon}\n\t\t\t</span>\n\t\t);\n\n\t\treturn (\n\t\t\t<span\n\t\t\t\tid={this.getId()}\n\t\t\t\tclassName={classNames(\n\t\t\t\t\t'slds-badge',\n\t\t\t\t\t{\n\t\t\t\t\t\t'slds-badge_inverse': this.props.color === 'inverse',\n\t\t\t\t\t\t'slds-badge_lightest': this.props.color === 'light',\n\t\t\t\t\t\t'slds-theme_success': this.props.color === 'success',\n\t\t\t\t\t\t'slds-theme_warning': this.props.color === 'warning',\n\t\t\t\t\t\t'slds-theme_error': this.props.color === 'error',\n\t\t\t\t\t},\n\t\t\t\t\tthis.props.className\n\t\t\t\t)}\n\t\t\t>\n\t\t\t\t{this.props.iconAlignment === 'left' ? (\n\t\t\t\t\t<React.Fragment>\n\t\t\t\t\t\t{icon}\n\t\t\t\t\t\t{this.props.content}\n\t\t\t\t\t</React.Fragment>\n\t\t\t\t) : (\n\t\t\t\t\t<React.Fragment>\n\t\t\t\t\t\t{this.props.content}\n\t\t\t\t\t\t{icon}\n\t\t\t\t\t</React.Fragment>\n\t\t\t\t)}\n\t\t\t</span>\n\t\t);\n\t}\n}\n\nBadge.displayName = BADGE;\n\nBadge.propTypes = {\n\t/**\n\t * CSS classes that are applied to the component\n\t */\n\tclassName: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\n\t/**\n\t * Id of component, if desired. If not provided an id is automatically generated\n\t */\n\tid: PropTypes.string,\n\n\t/**\n\t * Custom styles to be passed to the component\n\t */\n\tstyle: PropTypes.object,\n\n\t/**\n\t * Color variant for the badge component\n\t */\n\tcolor: PropTypes.oneOf([\n\t\t'default',\n\t\t'inverse',\n\t\t'light',\n\t\t'success',\n\t\t'warning',\n\t\t'error',\n\t]),\n\n\t/**\n\t * Icon alignment for the badge component\n\t */\n\ticonAlignment: PropTypes.oneOf(['left', 'right']),\n\n\t/**\n\t * Content to be placed inside the badge component\n\t */\n\tcontent: PropTypes.oneOfType([PropTypes.string, PropTypes.node]),\n};\n\nBadge.defaultProps = {\n\ticonAlignment: 'left',\n\tcolor: 'default',\n};\n\nexport default Badge;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// # Brand Band Component\n\n// Implements the [Brand Band design pattern](https://latest-216.lightningdesignsystem.com/components/brand-band/) in React.\n\n// ## Dependencies\n\n// ### React\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\n// ### shortid\n// [npmjs.com/package/shortid](https://www.npmjs.com/package/shortid)\n// shortid is a short, non-sequential, url-friendly, unique id generator\nimport shortid from 'shortid';\n\n// ### classNames\n// [github.com/JedWatson/classnames](https://github.com/JedWatson/classnames)\n// A simple javascript utility for conditionally joining classNames together.\nimport classNames from '../../utilities/class-names';\n\n// ## Constants\nimport { BRAND_BAND } from '../../utilities/constants';\n\n/**\n * The brand band provides theming capability that adds personality and improves information density and contrast.\n *\n * NOTE: you may find that themes other than 'default' fail to load the appropriate styling in your application.\n * If this occurs the cause is very likely to be CSP settings on the server hosting your application protecting against style injections.\n * Changing these settings is not recommended. Instead, add the following styles to any stylesheet provided by the server itself (such as an external stylesheet):\n *\n * When using 'lightning-theme':\n * .slds-brand-band.dsr-brand-band_lightning-blue:before {\n * background-image: url(/assets/images/themes/oneSalesforce/banner-brand-default.png), linear-gradient(to top, rgba(175, 197, 222, 0) 0, #1B5F9E);\n * }\n * .slds-brand-band.dsr-brand-band_lightning-blue:after {\n * background-image: linear-gradient(to bottom, rgba(175, 197, 222, 0) 60%, #AFC5DE);\n * }\n *\n * For more information on the problem, [see this Stack Overflow question](https://stackoverflow.com/questions/17766817/refused-to-apply-inline-style-because-it-violates-the-following-content-security)\n */\nclass BrandBand extends React.Component {\n\tstatic injectLightningBlueStyles() {\n\t\treturn (\n\t\t\t<style>{`.slds-brand-band.dsr-brand-band_lightning-blue:before {\n\tbackground-image: url(/assets/images/themes/oneSalesforce/banner-brand-default.png), linear-gradient(to top, rgba(175, 197, 222, 0) 0, #1B5F9E);\n}\n.slds-brand-band.dsr-brand-band_lightning-blue:after {\n\tbackground-image: linear-gradient(to bottom, rgba(175, 197, 222, 0) 60%, #AFC5DE);\n}`}</style>\n\t\t);\n\t}\n\n\tconstructor(props) {\n\t\tsuper(props);\n\t\tthis.generatedId = shortid.generate();\n\t}\n\n\tgetId() {\n\t\treturn this.props.id || this.generatedId;\n\t}\n\n\trender() {\n\t\tconst { props } = this;\n\n\t\treturn (\n\t\t\t<div\n\t\t\t\tstyle={{\n\t\t\t\t\tbackground: 'rgb(176, 196, 223)',\n\t\t\t\t\theight: '100%',\n\t\t\t\t\tposition: 'relative',\n\t\t\t\t\twidth: '100%',\n\t\t\t\t\tzIndex: 1,\n\t\t\t\t\t...props.styleContainer,\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\t{BrandBand.injectLightningBlueStyles()}\n\t\t\t\t<div\n\t\t\t\t\tclassName={classNames(\n\t\t\t\t\t\t'slds-brand-band',\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t'slds-brand-band_small': props.size === 'small',\n\t\t\t\t\t\t\t'slds-brand-band_medium': props.size === 'medium',\n\t\t\t\t\t\t\t'slds-brand-band_large': props.size === 'large',\n\t\t\t\t\t\t\t'slds-brand-band_cover': props.backgroundSize === 'cover',\n\t\t\t\t\t\t\t'slds-brand-band_none': props.image === 'none',\n\n\t\t\t\t\t\t\t'dsr-brand-band_lightning-blue': true,\n\t\t\t\t\t\t},\n\t\t\t\t\t\tprops.className\n\t\t\t\t\t)}\n\t\t\t\t\tid={this.getId()}\n\t\t\t\t\tstyle={props.style}\n\t\t\t\t>\n\t\t\t\t\t{props.children}\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t);\n\t}\n}\n\nBrandBand.displayName = BRAND_BAND;\n\nBrandBand.propTypes = {\n\t/**\n\t * Primary application grid layout or a white background component such as a `Card` should be passed into this component.\n\t */\n\tchildren: PropTypes.node,\n\n\t/**\n\t * CSS classes that are applied to the component\n\t */\n\tclassName: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\n\t/**\n\t * Id of component, if desired. If not provided an id is automatically generated\n\t */\n\tid: PropTypes.string,\n\n\t/**\n\t * Image of the brand band\n\t */\n\timage: PropTypes.oneOf(['default', 'none']),\n\n\t/**\n\t * Background size of the brand band. Default is 'contain'\n\t */\n\tbackgroundSize: PropTypes.oneOf(['contain', 'cover']),\n\t/**\n\t * Size of the brand band. Default is 'medium'\n\t */\n\tsize: PropTypes.oneOf(['small', 'medium', 'large']),\n\n\t/**\n\t * Custom styles to be passed to the component\n\t */\n\tstyle: PropTypes.object,\n\n\t/**\n\t * Custom styles to be passed to the component container\n\t */\n\tstyleContainer: PropTypes.object,\n\n\t/**\n\t * Different brand band styling.\n\t * NOTE: using 'lightning-blue' may result in incorrect styling depending on server CSP settings. See opening component documentation above for details.\n\t */\n\ttheme: PropTypes.oneOf(['default', 'lightning-blue']),\n};\n\nBrandBand.defaultProps = {\n\tbackgroundSize: 'contain',\n\timage: 'default',\n\tsize: 'medium',\n\ttheme: 'default',\n};\n\nexport default BrandBand;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n/* eslint-disable import/no-mutable-exports */\n\nimport sunsetProperty from '../../utilities/warning/sunset-property';\nimport getComponentDocFn from '../../utilities/get-component-doc';\n\nlet checkProps = function checkPropsFunction() {};\n\nif (process.env.NODE_ENV !== 'production') {\n\tcheckProps = function checkPropsFunction(COMPONENT, props, jsonDoc) {\n\t\tconst createDocUrl = getComponentDocFn(jsonDoc);\n\t\tif (typeof props.assistiveText === 'string') {\n\t\t\tsunsetProperty(\n\t\t\t\tCOMPONENT,\n\t\t\t\tprops.assistiveText,\n\t\t\t\t'assistiveText',\n\t\t\t\t`\\`assistiveText\\` as a string has been deprecated and is now an object to allow for multiple uses in the component. Please use \\`assistiveText.label\\` instead. ${createDocUrl(\n\t\t\t\t\t'assistiveText'\n\t\t\t\t)}`\n\t\t\t);\n\t\t}\n\t};\n}\n\nexport default checkProps;\n","import { Component, createElement } from 'react';\nimport { findDOMNode } from 'react-dom';\n\nfunction _inheritsLoose(subClass, superClass) {\n subClass.prototype = Object.create(superClass.prototype);\n subClass.prototype.constructor = subClass;\n subClass.__proto__ = superClass;\n}\n\nfunction _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n\n return target;\n}\n\n/**\n * Check whether some DOM node is our Component's node.\n */\nfunction isNodeFound(current, componentNode, ignoreClass) {\n if (current === componentNode) {\n return true;\n } // SVG <use/> elements do not technically reside in the rendered DOM, so\n // they do not have classList directly, but they offer a link to their\n // corresponding element, which can have classList. This extra check is for\n // that case.\n // See: http://www.w3.org/TR/SVG11/struct.html#InterfaceSVGUseElement\n // Discussion: https://github.com/Pomax/react-onclickoutside/pull/17\n\n\n if (current.correspondingElement) {\n return current.correspondingElement.classList.contains(ignoreClass);\n }\n\n return current.classList.contains(ignoreClass);\n}\n/**\n * Try to find our node in a hierarchy of nodes, returning the document\n * node as highest node if our node is not found in the path up.\n */\n\nfunction findHighest(current, componentNode, ignoreClass) {\n if (current === componentNode) {\n return true;\n } // If source=local then this event came from 'somewhere'\n // inside and should be ignored. We could handle this with\n // a layered approach, too, but that requires going back to\n // thinking in terms of Dom node nesting, running counter\n // to React's 'you shouldn't care about the DOM' philosophy.\n\n\n while (current.parentNode) {\n if (isNodeFound(current, componentNode, ignoreClass)) {\n return true;\n }\n\n current = current.parentNode;\n }\n\n return current;\n}\n/**\n * Check if the browser scrollbar was clicked\n */\n\nfunction clickedScrollbar(evt) {\n return document.documentElement.clientWidth <= evt.clientX || document.documentElement.clientHeight <= evt.clientY;\n}\n\n// ideally will get replaced with external dep\n// when rafrex/detect-passive-events#4 and rafrex/detect-passive-events#5 get merged in\nvar testPassiveEventSupport = function testPassiveEventSupport() {\n if (typeof window === 'undefined' || typeof window.addEventListener !== 'function') {\n return;\n }\n\n var passive = false;\n var options = Object.defineProperty({}, 'passive', {\n get: function get() {\n passive = true;\n }\n });\n\n var noop = function noop() {};\n\n window.addEventListener('testPassiveEventSupport', noop, options);\n window.removeEventListener('testPassiveEventSupport', noop, options);\n return passive;\n};\n\nfunction autoInc(seed) {\n if (seed === void 0) {\n seed = 0;\n }\n\n return function () {\n return ++seed;\n };\n}\n\nvar uid = autoInc();\n\nvar passiveEventSupport;\nvar handlersMap = {};\nvar enabledInstances = {};\nvar touchEvents = ['touchstart', 'touchmove'];\nvar IGNORE_CLASS_NAME = 'ignore-react-onclickoutside';\n/**\n * Options for addEventHandler and removeEventHandler\n */\n\nfunction getEventHandlerOptions(instance, eventName) {\n var handlerOptions = null;\n var isTouchEvent = touchEvents.indexOf(eventName) !== -1;\n\n if (isTouchEvent && passiveEventSupport) {\n handlerOptions = {\n passive: !instance.props.preventDefault\n };\n }\n\n return handlerOptions;\n}\n/**\n * This function generates the HOC function that you'll use\n * in order to impart onOutsideClick listening to an\n * arbitrary component. It gets called at the end of the\n * bootstrapping code to yield an instance of the\n * onClickOutsideHOC function defined inside setupHOC().\n */\n\n\nfunction onClickOutsideHOC(WrappedComponent, config) {\n var _class, _temp;\n\n var componentName = WrappedComponent.displayName || WrappedComponent.name || 'Component';\n return _temp = _class =\n /*#__PURE__*/\n function (_Component) {\n _inheritsLoose(onClickOutside, _Component);\n\n function onClickOutside(props) {\n var _this;\n\n _this = _Component.call(this, props) || this;\n\n _this.__outsideClickHandler = function (event) {\n if (typeof _this.__clickOutsideHandlerProp === 'function') {\n _this.__clickOutsideHandlerProp(event);\n\n return;\n }\n\n var instance = _this.getInstance();\n\n if (typeof instance.props.handleClickOutside === 'function') {\n instance.props.handleClickOutside(event);\n return;\n }\n\n if (typeof instance.handleClickOutside === 'function') {\n instance.handleClickOutside(event);\n return;\n }\n\n throw new Error(\"WrappedComponent: \" + componentName + \" lacks a handleClickOutside(event) function for processing outside click events.\");\n };\n\n _this.__getComponentNode = function () {\n var instance = _this.getInstance();\n\n if (config && typeof config.setClickOutsideRef === 'function') {\n return config.setClickOutsideRef()(instance);\n }\n\n if (typeof instance.setClickOutsideRef === 'function') {\n return instance.setClickOutsideRef();\n }\n\n return findDOMNode(instance);\n };\n\n _this.enableOnClickOutside = function () {\n if (typeof document === 'undefined' || enabledInstances[_this._uid]) {\n return;\n }\n\n if (typeof passiveEventSupport === 'undefined') {\n passiveEventSupport = testPassiveEventSupport();\n }\n\n enabledInstances[_this._uid] = true;\n var events = _this.props.eventTypes;\n\n if (!events.forEach) {\n events = [events];\n }\n\n handlersMap[_this._uid] = function (event) {\n if (_this.componentNode === null) return;\n\n if (_this.props.preventDefault) {\n event.preventDefault();\n }\n\n if (_this.props.stopPropagation) {\n event.stopPropagation();\n }\n\n if (_this.props.excludeScrollbar && clickedScrollbar(event)) return;\n var current = event.target;\n\n if (findHighest(current, _this.componentNode, _this.props.outsideClickIgnoreClass) !== document) {\n return;\n }\n\n _this.__outsideClickHandler(event);\n };\n\n events.forEach(function (eventName) {\n document.addEventListener(eventName, handlersMap[_this._uid], getEventHandlerOptions(_this, eventName));\n });\n };\n\n _this.disableOnClickOutside = function () {\n delete enabledInstances[_this._uid];\n var fn = handlersMap[_this._uid];\n\n if (fn && typeof document !== 'undefined') {\n var events = _this.props.eventTypes;\n\n if (!events.forEach) {\n events = [events];\n }\n\n events.forEach(function (eventName) {\n return document.removeEventListener(eventName, fn, getEventHandlerOptions(_this, eventName));\n });\n delete handlersMap[_this._uid];\n }\n };\n\n _this.getRef = function (ref) {\n return _this.instanceRef = ref;\n };\n\n _this._uid = uid();\n return _this;\n }\n /**\n * Access the WrappedComponent's instance.\n */\n\n\n var _proto = onClickOutside.prototype;\n\n _proto.getInstance = function getInstance() {\n if (!WrappedComponent.prototype.isReactComponent) {\n return this;\n }\n\n var ref = this.instanceRef;\n return ref.getInstance ? ref.getInstance() : ref;\n };\n\n /**\n * Add click listeners to the current document,\n * linked to this component's state.\n */\n _proto.componentDidMount = function componentDidMount() {\n // If we are in an environment without a DOM such\n // as shallow rendering or snapshots then we exit\n // early to prevent any unhandled errors being thrown.\n if (typeof document === 'undefined' || !document.createElement) {\n return;\n }\n\n var instance = this.getInstance();\n\n if (config && typeof config.handleClickOutside === 'function') {\n this.__clickOutsideHandlerProp = config.handleClickOutside(instance);\n\n if (typeof this.__clickOutsideHandlerProp !== 'function') {\n throw new Error(\"WrappedComponent: \" + componentName + \" lacks a function for processing outside click events specified by the handleClickOutside config option.\");\n }\n }\n\n this.componentNode = this.__getComponentNode(); // return early so we dont initiate onClickOutside\n\n if (this.props.disableOnClickOutside) return;\n this.enableOnClickOutside();\n };\n\n _proto.componentDidUpdate = function componentDidUpdate() {\n this.componentNode = this.__getComponentNode();\n };\n /**\n * Remove all document's event listeners for this component\n */\n\n\n _proto.componentWillUnmount = function componentWillUnmount() {\n this.disableOnClickOutside();\n };\n /**\n * Can be called to explicitly enable event listening\n * for clicks and touches outside of this element.\n */\n\n\n /**\n * Pass-through render\n */\n _proto.render = function render() {\n // eslint-disable-next-line no-unused-vars\n var _props = this.props,\n excludeScrollbar = _props.excludeScrollbar,\n props = _objectWithoutProperties(_props, [\"excludeScrollbar\"]);\n\n if (WrappedComponent.prototype.isReactComponent) {\n props.ref = this.getRef;\n } else {\n props.wrappedRef = this.getRef;\n }\n\n props.disableOnClickOutside = this.disableOnClickOutside;\n props.enableOnClickOutside = this.enableOnClickOutside;\n return createElement(WrappedComponent, props);\n };\n\n return onClickOutside;\n }(Component), _class.displayName = \"OnClickOutside(\" + componentName + \")\", _class.defaultProps = {\n eventTypes: ['mousedown', 'touchstart'],\n excludeScrollbar: config && config.excludeScrollbar || false,\n outsideClickIgnoreClass: IGNORE_CLASS_NAME,\n preventDefault: false,\n stopPropagation: false\n }, _class.getClass = function () {\n return WrappedComponent.getClass ? WrappedComponent.getClass() : WrappedComponent;\n }, _temp;\n}\n\nexport { IGNORE_CLASS_NAME };\nexport default onClickOutsideHOC;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// # List Item Label Component\n\n// ## Dependencies\n\n// ### React\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\n// ## Constants\nimport { LIST_ITEM_LABEL } from '../../../utilities/constants';\n\n/**\n * Component description.\n */\nconst ListItemLabel = (props) => (\n\t<span className=\"slds-truncate\" title={props.label}>\n\t\t{props.icon}\n\t\t{props.label}\n\t</span>\n);\n\nListItemLabel.displayName = LIST_ITEM_LABEL;\n\nListItemLabel.propTypes = {\n\tdata: PropTypes.object,\n\ticon: PropTypes.node,\n\tindex: PropTypes.number,\n\tinverted: PropTypes.bool,\n\tisSelected: PropTypes.bool,\n\tlabel: PropTypes.string,\n\tvalue: PropTypes.any,\n};\n\nListItemLabel.defaultProps = {\n\tdata: {},\n\tindex: 0,\n\tinverted: false,\n\tisSelected: false,\n\tlabel: '',\n\tvalue: null,\n};\n\nexport default ListItemLabel;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n/* eslint-disable jsx-a11y/no-noninteractive-element-interactions */\n\n// # List Item Component\n\n// ## Dependencies\n\n// ### React\nimport React from 'react';\n\nimport PropTypes from 'prop-types';\n\n// ### classNames\nimport classNames from 'classnames';\n\n// ### Icon\nimport Icon from '../../icon';\n\n// ## Children\nimport ListItemLabelRenderer from './item-label';\n\n// ### Event Helpers\nimport EventUtil from '../../../utilities/event';\n\n// ## Constants\nimport { LIST_ITEM } from '../../../utilities/constants';\n\n/**\n * Component description.\n */\nclass ListItem extends React.Component {\n\tstatic displayName = LIST_ITEM;\n\n\tstatic propTypes = {\n\t\t'aria-disabled': PropTypes.bool,\n\t\tclassName: PropTypes.oneOfType([\n\t\t\tPropTypes.array,\n\t\t\tPropTypes.object,\n\t\t\tPropTypes.string,\n\t\t]),\n\t\tcheckmark: PropTypes.bool,\n\t\tdata: PropTypes.object,\n\t\tdivider: PropTypes.oneOf(['top', 'bottom']),\n\t\thref: PropTypes.string,\n\t\tid: PropTypes.string.isRequired,\n\t\tindex: PropTypes.number.isRequired,\n\t\tinverted: PropTypes.bool,\n\t\tisSelected: PropTypes.bool,\n\t\tlabel: PropTypes.string,\n\t\tlabelRenderer: PropTypes.func,\n\t\tleftIcon: PropTypes.shape({\n\t\t\tcategory: PropTypes.string,\n\t\t\tname: PropTypes.string,\n\t\t}),\n\t\tonSelect: PropTypes.func.isRequired,\n\t\trightIcon: PropTypes.shape({\n\t\t\tcategory: PropTypes.string,\n\t\t\tname: PropTypes.string,\n\t\t}),\n\t\ttooltipContent: PropTypes.oneOfType([PropTypes.node, PropTypes.string]),\n\t\ttooltipTemplate: PropTypes.node,\n\t\ttype: PropTypes.string,\n\t\tvalue: PropTypes.any,\n\t};\n\n\tstatic defaultProps = {\n\t\tdata: {},\n\t\thref: 'javascript:void(0);', // eslint-disable-line no-script-url\n\t\tinverted: false,\n\t\tisSelected: false,\n\t\tlabel: '',\n\t\tlabelRenderer: ListItemLabelRenderer,\n\t\tvalue: null,\n\t};\n\n\tgetLabel = () => {\n\t\tconst Label = this.props.labelRenderer;\n\t\treturn (\n\t\t\t<Label\n\t\t\t\tcheckmark={this.props.checkmark}\n\t\t\t\tdata={this.props.data}\n\t\t\t\ticon={this.getIcon('left')}\n\t\t\t\tindex={this.props.index}\n\t\t\t\tinverted={this.props.inverted}\n\t\t\t\tisSelected={this.props.isSelected}\n\t\t\t\tlabel={this.props.label}\n\t\t\t\tvalue={this.props.value}\n\t\t\t/>\n\t\t);\n\t};\n\n\tgetIcon = (position) => {\n\t\tconst classnames = ['slds-icon-text-default'];\n\t\tlet iconProps = this.props[`${position}Icon`];\n\n\t\tif (position === 'left') {\n\t\t\tif (this.props.checkmark) {\n\t\t\t\t// eslint-disable-next-line fp/no-mutating-methods\n\t\t\t\tclassnames.push('slds-icon_selected');\n\t\t\t\ticonProps = {\n\t\t\t\t\tcategory: 'utility',\n\t\t\t\t\tname: 'check',\n\t\t\t\t};\n\t\t\t}\n\n\t\t\t// eslint-disable-next-line fp/no-mutating-methods\n\t\t\tclassnames.push('slds-m-right_x-small');\n\t\t} else {\n\t\t\t// eslint-disable-next-line fp/no-mutating-methods\n\t\t\tclassnames.push('slds-m-left_small');\n\t\t}\n\n\t\tif (iconProps) {\n\t\t\treturn (\n\t\t\t\t<Icon\n\t\t\t\t\tclassName={classNames(classnames)}\n\t\t\t\t\tposition={position}\n\t\t\t\t\tsize=\"x-small\"\n\t\t\t\t\t{...iconProps}\n\t\t\t\t/>\n\t\t\t);\n\t\t}\n\n\t\treturn null;\n\t};\n\n\thandleClick = (event) => {\n\t\tif (\n\t\t\tthis.props.type !== 'link' ||\n\t\t\tthis.props.href === 'javascript:void(0);' // eslint-disable-line no-script-url\n\t\t) {\n\t\t\t// eslint-disable-line no-script-url\n\t\t\tEventUtil.trapImmediate(event);\n\t\t}\n\n\t\tif (this.props.onSelect) {\n\t\t\tthis.props.onSelect(this.props.index);\n\t\t}\n\t};\n\n\thandleMouseDown = (event) => {\n\t\tEventUtil.trapImmediate(event);\n\t};\n\n\trender() {\n\t\tswitch (this.props.type) {\n\t\t\tcase 'header': {\n\t\t\t\treturn (\n\t\t\t\t\t<li\n\t\t\t\t\t\tclassName={classNames(\n\t\t\t\t\t\t\t'slds-dropdown__header',\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t'slds-has-divider_top-space': this.props.divider === 'top',\n\t\t\t\t\t\t\t\t'slds-has-divider_bottom-space':\n\t\t\t\t\t\t\t\t\tthis.props.divider === 'bottom',\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tthis.props.className\n\t\t\t\t\t\t)}\n\t\t\t\t\t\tonMouseDown={this.handleMouseDown}\n\t\t\t\t\t\trole=\"separator\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<span>{this.props.label}</span>\n\t\t\t\t\t</li>\n\t\t\t\t);\n\t\t\t}\n\t\t\tcase 'divider': {\n\t\t\t\treturn (\n\t\t\t\t\t<li\n\t\t\t\t\t\tclassName={classNames('slds-has-divider', this.props.className)}\n\t\t\t\t\t\tonMouseDown={this.handleMouseDown}\n\t\t\t\t\t\trole=\"separator\"\n\t\t\t\t\t/>\n\t\t\t\t);\n\t\t\t}\n\t\t\tcase 'link':\n\t\t\tcase 'item':\n\t\t\tdefault: {\n\t\t\t\t/* eslint-disable jsx-a11y/role-supports-aria-props */\n\t\t\t\tlet itemContents = (\n\t\t\t\t\t<a\n\t\t\t\t\t\taria-checked={this.props.checkmark && this.props.isSelected}\n\t\t\t\t\t\taria-disabled={this.props['aria-disabled']}\n\t\t\t\t\t\thref={this.props.href}\n\t\t\t\t\t\tdata-index={this.props.index}\n\t\t\t\t\t\tonClick={this.handleClick}\n\t\t\t\t\t\trole={this.props.checkmark ? 'menuitemcheckbox' : 'menuitem'}\n\t\t\t\t\t\ttabIndex=\"-1\"\n\t\t\t\t\t>\n\t\t\t\t\t\t{this.getLabel()}\n\t\t\t\t\t\t{this.getIcon('right')}\n\t\t\t\t\t</a>\n\t\t\t\t);\n\n\t\t\t\tif (this.props.tooltipContent && this.props.tooltipTemplate) {\n\t\t\t\t\tconst { ...tooltipTemplateProps } = this.props.tooltipTemplate.props;\n\t\t\t\t\tconst tooltipProps = {\n\t\t\t\t\t\t...tooltipTemplateProps,\n\t\t\t\t\t\tcontent: this.props.tooltipContent,\n\t\t\t\t\t\tid: `${this.props.id}-tooltip`,\n\t\t\t\t\t\ttriggerStyle: {\n\t\t\t\t\t\t\twidth: '100%',\n\t\t\t\t\t\t\t...(tooltipTemplateProps.triggerStyle || {}),\n\t\t\t\t\t\t},\n\t\t\t\t\t};\n\t\t\t\t\titemContents = React.cloneElement(\n\t\t\t\t\t\tthis.props.tooltipTemplate,\n\t\t\t\t\t\ttooltipProps,\n\t\t\t\t\t\titemContents\n\t\t\t\t\t);\n\t\t\t\t}\n\n\t\t\t\treturn (\n\t\t\t\t\t/* eslint-disable jsx-a11y/role-supports-aria-props */\n\t\t\t\t\t// disabled eslint, but using aria-selected on presentation role seems suspicious...\n\t\t\t\t\t<li\n\t\t\t\t\t\taria-selected={\n\t\t\t\t\t\t\tthis.props.checkmark === null ? this.props.isSelected : null\n\t\t\t\t\t\t}\n\t\t\t\t\t\tclassName={classNames(\n\t\t\t\t\t\t\t'slds-dropdown__item',\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t'slds-is-selected': this.props.isSelected,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tthis.props.className\n\t\t\t\t\t\t)}\n\t\t\t\t\t\tid={this.props.id}\n\t\t\t\t\t\tonMouseDown={this.handleMouseDown}\n\t\t\t\t\t\trole=\"presentation\"\n\t\t\t\t\t>\n\t\t\t\t\t\t{itemContents}\n\t\t\t\t\t</li>\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\t}\n}\n\nexport default ListItem;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// # List Component\n\n// ## Dependencies\n\n// ### React\nimport React from 'react';\n\nimport PropTypes from 'prop-types';\n\n// ### classNames\nimport classNames from 'classnames';\n\n// ## Children\nimport ListItem from './item';\n\n// ## Constants\nimport { LIST } from '../../../utilities/constants';\n\n/**\n * Component description.\n */\nclass List extends React.Component {\n\tstatic displayName = LIST;\n\n\tstatic propTypes = {\n\t\t/**\n\t\t * Determines whether or not to show a checkmark for selected items.\n\t\t */\n\t\tcheckmark: PropTypes.bool,\n\t\t/**\n\t\t * CSS classes to be added to `<ul />`.\n\t\t */\n\t\tclassName: PropTypes.string,\n\t\t/**\n\t\t * Used internally to determine the id that will be used for list items.\n\t\t */\n\t\tgetListItemId: PropTypes.func,\n\t\t/**\n\t\t * Used internally to pass references to the individual menu items back up for focusing / scrolling.\n\t\t */\n\t\titemRefs: PropTypes.func,\n\t\t/**\n\t\t * If provided, this function will be used to render the contents of each menu item.\n\t\t */\n\t\titemRenderer: PropTypes.func,\n\t\t/**\n\t\t * Sets the height of the list based on the numeber of items.\n\t\t */\n\t\tlength: PropTypes.oneOf([null, '5', '7', '10', 5, 7, 10]),\n\t\t/**\n\t\t * Triggered when a list item is selected (via mouse or keyboard).\n\t\t */\n\t\tonSelect: PropTypes.func,\n\t\t/**\n\t\t * An array of items to render in the list.\n\t\t */\n\t\toptions: PropTypes.array,\n\t\t/**\n\t\t * The index of the currently selected item in the list.\n\t\t */\n\t\tselectedIndex: PropTypes.number,\n\t\t/**\n\t\t * Accepts a `Tooltip` component to be used as the template for menu item tooltips that appear via the `tooltipContent` options object attribute\n\t\t */\n\t\ttooltipMenuItem: PropTypes.node,\n\t\t/**\n\t\t * The id of the element which triggered this list (in a menu context).\n\t\t */\n\t\ttriggerId: PropTypes.string,\n\t};\n\n\tstatic defaultProps = {\n\t\tlength: '5',\n\t\toptions: [],\n\t\tselectedIndex: -1,\n\t};\n\n\trender() {\n\t\tlet lengthClassName;\n\t\tlet list;\n\n\t\tif (this.props.length) {\n\t\t\tlengthClassName = `slds-dropdown_length-${this.props.length}`;\n\t\t}\n\n\t\tlist = (\n\t\t\t<ul\n\t\t\t\taria-labelledby={this.props.triggerId}\n\t\t\t\tclassName={classNames(\n\t\t\t\t\t'dropdown__list',\n\t\t\t\t\tlengthClassName,\n\t\t\t\t\tthis.props.className\n\t\t\t\t)}\n\t\t\t\trole=\"menu\"\n\t\t\t>\n\t\t\t\t{this.props.options.map((option, index) => {\n\t\t\t\t\tconst id = this.props.getListItemId(index);\n\t\t\t\t\tconst isSingleSelected = index === this.props.selectedIndex;\n\t\t\t\t\tconst isMultipleSelected =\n\t\t\t\t\t\t!!this.props.selectedIndices &&\n\t\t\t\t\t\tthis.props.selectedIndices.indexOf(index) !== -1;\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<ListItem\n\t\t\t\t\t\t\t{...option}\n\t\t\t\t\t\t\taria-disabled={option.disabled}\n\t\t\t\t\t\t\tcheckmark={\n\t\t\t\t\t\t\t\tthis.props.checkmark && (isSingleSelected || isMultipleSelected)\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tdata={option}\n\t\t\t\t\t\t\tid={id}\n\t\t\t\t\t\t\tindex={index}\n\t\t\t\t\t\t\tisSelected={isSingleSelected || isMultipleSelected}\n\t\t\t\t\t\t\tkey={`${id}-${option.value}`}\n\t\t\t\t\t\t\tlabelRenderer={this.props.itemRenderer}\n\t\t\t\t\t\t\tonSelect={this.props.onSelect}\n\t\t\t\t\t\t\tref={(listItem) => this.props.itemRefs(listItem, index)}\n\t\t\t\t\t\t\ttooltipTemplate={this.props.tooltipMenuItem}\n\t\t\t\t\t\t/>\n\t\t\t\t\t);\n\t\t\t\t})}\n\t\t\t</ul>\n\t\t);\n\n\t\tif (this.props.tooltipMenuItem) {\n\t\t\t/* eslint-disable react/no-danger */\n\t\t\tlist = (\n\t\t\t\t<React.Fragment>\n\t\t\t\t\t<style\n\t\t\t\t\t\tdangerouslySetInnerHTML={{\n\t\t\t\t\t\t\t__html: `.slds-dropdown__item > .slds-tooltip-trigger > a {\n\tposition: relative;\n\tdisplay: -ms-flexbox;\n\tdisplay: flex;\n\t-ms-flex-pack: justify;\n\tjustify-content: space-between;\n\t-ms-flex-align: center;\n\talign-items: center;\n\tpadding: 0.5rem 0.75rem;\n\tcolor: #080707;\n\twhite-space: nowrap;\n\tcursor: pointer;\n}\n\n.slds-dropdown__item > .slds-tooltip-trigger > a:active {\n text-decoration: none;\n background-color: #ecebea;\n}\n\n.slds-dropdown__item > .slds-tooltip-trigger > a:hover,\n.slds-dropdown__item > .slds-tooltip-trigger > a:focus {\n outline: 0;\n text-decoration: none;\n background-color: #f3f2f2;\n}\n`,\n\t\t\t\t\t\t}}\n\t\t\t\t\t/>\n\t\t\t\t\t{list}\n\t\t\t\t</React.Fragment>\n\t\t\t);\n\t\t\t/* eslint-enable react/no-danger */\n\t\t}\n\n\t\treturn list;\n\t}\n}\n\nexport default List;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// # Dropdown Trigger Component (Simple Button Flavor) --- SLDS for React\n\n// ### React\n// React is an external dependency of the project.\nimport React from 'react';\n\nimport PropTypes from 'prop-types';\n\n// ### classNames\n// [github.com/JedWatson/classnames](https://github.com/JedWatson/classnames)\n// This project uses `classnames`, \"a simple javascript utility for conditionally\n// joining classNames together.\"\nimport classnames from 'classnames';\n\nimport Button from '../button';\n\n// ### Children\nimport { MENU_DROPDOWN_TRIGGER } from '../../utilities/constants';\n\n/**\n * The Dropdown Button Trigger renders the default trigger button for the dropdown menu. If this component has children, it does not render itself to the DOM. Instead, it renders its child element, `Button`, and all that child's properties. This component may be used as a template to create custom triggers that do not use `Button`.\n */\nclass Trigger extends React.Component {\n\t// ### Display Name\n\t// Always use the canonical component name (set in the core) as the React\n\t// display name.\n\tstatic displayName = MENU_DROPDOWN_TRIGGER;\n\n\t// ### Prop Types\n\tstatic propTypes = {\n\t\t/**\n\t\t * Import the module `design-system-react/dropdown/button-trigger` and render a grandchild of the element type `Button`. Any `props` specified on that `Button` will be assigned to the triggering button. Any `id` prop or event hanlders (`onBlur`, `onClick`, etc.) set on the button grandchild will be overwritten by `MenuDropdown` to allow functionality and accessibility.\n\t\t * ```\n\t\t * <Dropdown>\n\t\t * <Trigger>\n\t\t * <Button iconCategory=\"utility\" iconName=\"settings\" />\n\t\t * </Trigger>\n\t\t * </Dropdown>\n\t\t * ```\n\t\t */\n\t\tchildren: PropTypes.element,\n\t\t/**\n\t\t * CSS classes to be added to triggering button.\n\t\t */\n\t\tclassName: PropTypes.oneOfType([\n\t\t\tPropTypes.array,\n\t\t\tPropTypes.object,\n\t\t\tPropTypes.string,\n\t\t]),\n\t\t/**\n\t\t * A unique ID is needed in order to support keyboard navigation, ARIA support, and connect the dropdown to the triggering button. This is provided by the `MenuDropdown`. Please use `MenuDropdown` to set.\n\t\t */\n\t\tid: PropTypes.string,\n\t\t/**\n\t\t * Informs the trigger on the open/close state of the dropdown menu\n\t\t */\n\t\tisOpen: PropTypes.bool,\n\t\t/**\n\t\t * By Default the dropdown menu is inside a `Dialog` component.\n\t\t */\n\t\tmenu: PropTypes.node,\n\t\t/**\n\t\t * Is only called when `openOn` is set to `hover` and when the triggering button loses focus.\n\t\t */\n\t\tonBlur: PropTypes.func,\n\t\t/**\n\t\t * This prop is passed onto the triggering `Button`. Triggered when the trigger button is clicked.\n\t\t */\n\t\tonClick: PropTypes.func,\n\t\t/**\n\t\t * Is only called when `openOn` is set to `hover` and when the triggering button gains focus.\n\t\t */\n\t\tonFocus: PropTypes.func,\n\t\t/**\n\t\t * Called when a key pressed.\n\t\t */\n\t\tonKeyDown: PropTypes.func,\n\t\t/**\n\t\t * Called when mouse clicks down on the trigger button.\n\t\t */\n\t\tonMouseDown: PropTypes.func,\n\t\t/**\n\t\t * Called when mouse hovers over the trigger button. This is only called if `this.props.openOn` is set to `hover`.\n\t\t */\n\t\tonMouseEnter: PropTypes.func,\n\t\t/**\n\t\t * Called when mouse hover leaves the trigger button. This is only called if `this.props.openOn` is set to `hover`.\n\t\t */\n\t\tonMouseLeave: PropTypes.func,\n\t\t/**\n\t\t * Determines if mouse hover or click opens the dropdown menu. The default of `click` is highly recommended to comply with accessibility standards. If you are planning on using hover, please pause a moment and reconsider.\n\t\t */\n\t\topenOn: PropTypes.oneOf(['hover', 'click', 'hybrid']),\n\t\t/**\n\t\t * The ref of the actual triggering button.\n\t\t */\n\t\ttriggerRef: PropTypes.func,\n\t\t/**\n\t\t * CSS classes to be added to wrapping trigger `div` around the button.\n\t\t */\n\t\ttriggerClassName: PropTypes.oneOfType([\n\t\t\tPropTypes.array,\n\t\t\tPropTypes.object,\n\t\t\tPropTypes.string,\n\t\t]),\n\t};\n\n\t// ### Render\n\trender() {\n\t\t// The following are required for use with dropdown. Any other custom props for `Button` should be set with a `Button` child of this component, and are technically just here for backwards compatibility. See `children` prop description for more information.\n\t\tconst {\n\t\t\tassistiveText,\n\t\t\tchildren, // eslint-disable-line no-unused-vars\n\t\t\tclassName,\n\t\t\tid,\n\t\t\tisInline, // eslint-disable-line no-unused-vars\n\t\t\tisOpen,\n\t\t\tonBlur,\n\t\t\tmenu,\n\t\t\tonClick,\n\t\t\tonFocus,\n\t\t\tonKeyDown,\n\t\t\tonMouseDown,\n\t\t\tonMouseEnter,\n\t\t\tonMouseLeave,\n\t\t\ttriggerRef,\n\t\t\ttriggerClassName,\n\t\t\t...deprecatedPropsFromMenuDropdown\n\t\t} = this.props;\n\n\t\tconst openOn = this.props.openOn === 'hover' ? 'click' : this.props.openOn;\n\n\t\t// Trigger manipulation\n\t\tlet propsFromGrandchildButton = {};\n\t\t// if there are no children, render the default button\n\t\tif (React.Children.count(this.props.children) !== 0) {\n\t\t\tReact.Children.forEach(this.props.children, (child) => {\n\t\t\t\tif (child && child.type.displayName === Button.displayName) {\n\t\t\t\t\tpropsFromGrandchildButton = child.props;\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\n\t\t// If Trigger has a Button child, then use the explicitly declared child's props layered on top of those passed down by dropdown's props to allow manual override\n\t\treturn (\n\t\t\t/* eslint-disable jsx-a11y/no-static-element-interactions */\n\t\t\t<div\n\t\t\t\tclassName={classnames(\n\t\t\t\t\t`slds-dropdown-trigger slds-dropdown-trigger_${openOn}`,\n\t\t\t\t\t{\n\t\t\t\t\t\t'slds-is-open': isOpen,\n\t\t\t\t\t},\n\t\t\t\t\ttriggerClassName\n\t\t\t\t)}\n\t\t\t\tid={id}\n\t\t\t\tonBlur={onBlur}\n\t\t\t\tonClick={onClick}\n\t\t\t\tonKeyDown={onKeyDown}\n\t\t\t\tonFocus={onFocus}\n\t\t\t\tonMouseDown={onMouseDown}\n\t\t\t\tonMouseEnter={onMouseEnter}\n\t\t\t\tonMouseLeave={onMouseLeave}\n\t\t\t>\n\t\t\t\t{/* eslint-disable jsx-a11y/no-static-element-interactions */}\n\t\t\t\t<Button\n\t\t\t\t\tassistiveText={assistiveText}\n\t\t\t\t\tclassName={className}\n\t\t\t\t\taria-expanded={isOpen}\n\t\t\t\t\taria-haspopup\n\t\t\t\t\t{...deprecatedPropsFromMenuDropdown}\n\t\t\t\t\t{...propsFromGrandchildButton}\n\t\t\t\t\tbuttonRef={triggerRef}\n\t\t\t\t/>\n\t\t\t\t{menu}\n\t\t\t</div>\n\t\t);\n\t}\n}\n\nexport default Trigger;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n/* eslint-disable import/no-mutable-exports */\n\nimport oneOfRequiredProperty from '../../utilities/warning/one-of-required-property';\nimport sunsetProperty from '../../utilities/warning/sunset-property';\nimport deprecatedProperty from '../../utilities/warning/deprecated-property';\nimport getComponentDocFn from '../../utilities/get-component-doc';\n\nlet checkProps = function checkPropsFunction() {};\n\nif (process.env.NODE_ENV !== 'production') {\n\tcheckProps = function checkPropsFunction(COMPONENT, props, jsonDoc) {\n\t\tconst createDocUrl = getComponentDocFn(jsonDoc);\n\n\t\tsunsetProperty(\n\t\t\tCOMPONENT,\n\t\t\tprops.forceOpen,\n\t\t\t'forceOpen',\n\t\t\t`Please use \\`isOpen\\` instead. It provides a consistent prop that aligns with other componenents. ${createDocUrl(\n\t\t\t\t'isOpen'\n\t\t\t)}`\n\t\t);\n\n\t\tsunsetProperty(COMPONENT, props.tooltip, 'tooltip', createDocUrl());\n\n\t\tdeprecatedProperty(\n\t\t\tCOMPONENT,\n\t\t\tprops.offset,\n\t\t\t'offset',\n\t\t\tundefined,\n\t\t\t`The manual setting of positional offset of dialog components has been deemed unreliable. Position logic has been re-written to deliver better and more reliable positioning. Please create an issue if you have an edge case not covered by the built-in logic. ${createDocUrl()}`\n\t\t);\n\n\t\toneOfRequiredProperty(\n\t\t\tCOMPONENT,\n\t\t\t{\n\t\t\t\toptions: props.options,\n\t\t\t\tchildren: props.children,\n\t\t\t},\n\t\t\tcreateDocUrl()\n\t\t);\n\n\t\tdeprecatedProperty(\n\t\t\tCOMPONENT,\n\t\t\tprops.isInline,\n\t\t\t'isInline',\n\t\t\t'menuPosition=\"relative\"',\n\t\t\tcreateDocUrl('menuPosition')\n\t\t);\n\t};\n}\n\nexport default checkProps;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\nfunction KeyBuffer() {\n\tthis.buffer = '';\n\n\treturn (key) => {\n\t\tif (this.timeout) {\n\t\t\tclearTimeout(this.timeout);\n\t\t\tthis.timeout = undefined;\n\t\t}\n\n\t\tthis.timeout = setTimeout(() => {\n\t\t\tthis.buffer = '';\n\t\t}, 400);\n\n\t\tthis.buffer = this.buffer + key;\n\t\treturn this.buffer;\n\t};\n}\n\nexport default KeyBuffer;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\nimport ReactDOM from 'react-dom';\nimport escapeRegExp from 'lodash.escaperegexp';\n\nimport KEYS from './key-code';\n\nconst keyboardNavigate = ({\n\tcomponentContext,\n\tcurrentFocusedIndex,\n\tisOpen,\n\tevent,\n\tkey,\n\tkeyCode,\n\tnavigableItems,\n\tonFocus,\n\tonSelect,\n\ttarget,\n\ttoggleOpen,\n}) => {\n\tconst { indexes } = navigableItems;\n\tconst lastIndex = indexes.length - 1;\n\tlet focusedIndex;\n\tlet ch = key || String.fromCharCode(keyCode);\n\n\tif (/^[ -~]$/.test(ch)) {\n\t\tch = ch.toLowerCase();\n\t} else {\n\t\tch = null;\n\t}\n\n\tconst openMenuKeys =\n\t\tkeyCode === KEYS.ENTER || keyCode === KEYS.SPACE || keyCode === KEYS.UP;\n\n\tif (keyCode === KEYS.ESCAPE) {\n\t\tif (isOpen) toggleOpen();\n\t} else if (!isOpen) {\n\t\t[focusedIndex] = indexes;\n\t\tif (openMenuKeys || ch) {\n\t\t\ttoggleOpen();\n\t\t}\n\t\tif (\n\t\t\topenMenuKeys &&\n\t\t\tcomponentContext.trigger &&\n\t\t\t// eslint-disable-next-line react/no-find-dom-node\n\t\t\tReactDOM.findDOMNode(componentContext.trigger) === target\n\t\t) {\n\t\t\tcomponentContext.handleClick(event);\n\t\t}\n\t} else if (keyCode === KEYS.ENTER || keyCode === KEYS.SPACE) {\n\t\tonSelect(currentFocusedIndex);\n\t} else {\n\t\tconst navigableIndex = indexes.indexOf(currentFocusedIndex);\n\n\t\tif (keyCode === KEYS.DOWN) {\n\t\t\tif (navigableIndex < lastIndex) {\n\t\t\t\tconst newNavigableIndex = navigableIndex + 1;\n\t\t\t\tfocusedIndex = indexes[newNavigableIndex];\n\t\t\t} else {\n\t\t\t\t[focusedIndex] = indexes;\n\t\t\t}\n\t\t} else if (keyCode === KEYS.UP) {\n\t\t\tif (navigableIndex > 0) {\n\t\t\t\tconst newNavigableIndex = navigableIndex - 1;\n\t\t\t\tfocusedIndex = indexes[newNavigableIndex];\n\t\t\t} else {\n\t\t\t\tfocusedIndex = indexes[lastIndex];\n\t\t\t}\n\t\t} else if (ch) {\n\t\t\t// Combine subsequent keypresses\n\t\t\tconst pattern = navigableItems.keyBuffer(ch);\n\t\t\tlet consecutive = 0;\n\n\t\t\t// Support for navigating to the next option of the same letter with repeated presses of the same key\n\t\t\tif (\n\t\t\t\tpattern.length > 1 &&\n\t\t\t\tnew RegExp(`^[${escapeRegExp(ch)}]+$`).test(pattern)\n\t\t\t) {\n\t\t\t\tconsecutive = pattern.length;\n\t\t\t}\n\n\t\t\tnavigableItems.forEach((item) => {\n\t\t\t\tif (\n\t\t\t\t\t(focusedIndex === undefined &&\n\t\t\t\t\t\titem.text.substr(0, pattern.length) === pattern) ||\n\t\t\t\t\t(consecutive > 0 && item.text.substr(0, 1) === ch)\n\t\t\t\t) {\n\t\t\t\t\tconsecutive -= 1;\n\t\t\t\t\tfocusedIndex = item.index;\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t}\n\n\tonFocus(focusedIndex);\n\n\treturn focusedIndex;\n};\n\nexport default keyboardNavigate;\n","/* eslint-disable max-lines */\n/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// Implements the [Dropdown design pattern](https://www.lightningdesignsystem.com/components/menus/#flavor-dropdown) in React. Child elements that do not have the display name of the value of `MENU_DROPDOWN_TRIGGER` in `components/constants.js` will be considered custom content and rendered in the popover.\n\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport ReactDOM from 'react-dom';\nimport requiredIf from 'react-required-if';\n\nimport classNames from 'classnames';\n\n// ### isFunction\nimport isFunction from 'lodash.isfunction';\nimport isEqual from 'lodash.isequal';\n\nimport shortid from 'shortid';\n\n// ### Children\nimport Dialog from '../utilities/dialog';\nimport List from '../utilities/menu-list';\nimport ListItem from '../utilities/menu-list/item';\nimport ListItemLabel from '../utilities/menu-list/item-label';\n\n// This is the the default Dropdown Trigger, which expects one button as a child.\nimport DefaultTrigger from './button-trigger';\n\n// This component's `checkProps` which issues warnings to developers about properties\n// when in development mode (similar to React's built in development tools)\nimport checkProps from './check-props';\nimport componentDoc from './component.json';\n\nimport EventUtil from '../../utilities/event';\nimport KeyBuffer from '../../utilities/key-buffer';\nimport keyboardNavigate from '../../utilities/keyboard-navigate';\nimport KEYS from '../../utilities/key-code';\nimport {\n\tMENU_DROPDOWN,\n\tMENU_DROPDOWN_TRIGGER,\n\tLIST,\n} from '../../utilities/constants';\n\nconst documentDefined = typeof document !== 'undefined';\n\n// The overlay is an optional way to allow the dropdown to close on outside\n// clicks even when those clicks are over areas that wouldn't normally fire\n// click or touch events (for example, iframes). A single overlay is shared\n// between all dropdowns in the app.\nconst overlay = documentDefined\n\t? document.createElement('span')\n\t: { style: {} };\noverlay.style.top = 0;\noverlay.style.left = 0;\noverlay.style.width = '100%';\noverlay.style.height = '100%';\noverlay.style.position = 'absolute';\n\nlet currentOpenDropdown;\n\nconst DropdownNubbinPositions = [\n\t'top left',\n\t'top',\n\t'top right',\n\t'bottom left',\n\t'bottom',\n\t'bottom right',\n];\n\n// # Keyboard Navigable mixin\n\nconst noop = () => {};\n\nconst itemIsSelectable = (item) =>\n\titem.type !== 'header' && item.type !== 'divider' && !item.disabled;\n\nconst getNavigableItems = (items) => {\n\tconst navigableItems = [];\n\tnavigableItems.indexes = [];\n\tnavigableItems.keyBuffer = new KeyBuffer();\n\n\tif (Array.isArray(items)) {\n\t\titems.forEach((item, index) => {\n\t\t\tif (itemIsSelectable(item)) {\n\t\t\t\t// eslint-disable-next-line fp/no-mutating-methods\n\t\t\t\tnavigableItems.push({\n\t\t\t\t\tindex,\n\t\t\t\t\ttext: `${item.label}`.toLowerCase(),\n\t\t\t\t});\n\n\t\t\t\t// eslint-disable-next-line fp/no-mutating-methods\n\t\t\t\tnavigableItems.indexes.push(index);\n\t\t\t}\n\t\t});\n\t}\n\n\treturn navigableItems;\n};\n\nfunction getMenu(componentRef) {\n\treturn ReactDOM.findDOMNode(componentRef).querySelector('ul.dropdown__list'); // eslint-disable-line react/no-find-dom-node\n}\n\nfunction getMenuItem(menuItemId, context = document) {\n\tlet menuItem;\n\n\tif (menuItemId) {\n\t\tmenuItem = context.getElementById(menuItemId);\n\t}\n\n\treturn menuItem;\n}\n\n/*\n * Dropdowns with nubbins have a different API from other Dialogs\n *\n * Dialog receives an alignment position and whether it has a nubbin. The nubbin position is inferred from the align.\n * Dropdowns have a nubbinPosition which dictates the align, but in an inverse fashion which then gets inversed back by the Dialog.\n *\n * Since Dialog is the future API and we don't want to break backwards compatability, we currently map to the Dialog api here. Even if Dialog will map it again.\n * TODO - deprecate nubbinPosition in favor for additional `align` values and a flag to show a nubbin.\n */\nconst DropdownToDialogNubbinMapping = {\n\ttop: 'bottom',\n\t'top left': 'bottom left',\n\t'top right': 'bottom right',\n\n\tbottom: 'top',\n\t'bottom left': 'top left',\n\t'bottom right': 'top right',\n};\n\nconst propTypes = {\n\t/**\n\t * Aligns the menu center, right, or left respective to the trigger. This is not intended for use with `nubbinPosition`.\n\t */\n\talign: PropTypes.oneOf(['center', 'left', 'right']),\n\t/**\n\t * This prop is passed onto the triggering `Button`. Text that is visually hidden but read aloud by screenreaders to tell the user what the icon means. You can omit this prop if you are using the `label` prop.\n\t */\n\tassistiveText: PropTypes.object,\n\t/**\n\t * CSS classes to be added to triggering button.\n\t */\n\tbuttonClassName: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\t/**\n\t * If true, button/icon is white. Meant for buttons or utility icons on dark backgrounds.\n\t */\n\tbuttonInverse: PropTypes.bool,\n\t/**\n\t * This prop is passed onto the triggering `Button`. Determines variant of the Button component that triggers dropdown.\n\t */\n\tbuttonVariant: PropTypes.oneOf([\n\t\t'base',\n\t\t'neutral',\n\t\t'brand',\n\t\t'destructive',\n\t\t'icon',\n\t]),\n\t/**\n\t * If true, renders checkmark icon on the selected Menu Item.\n\t */\n\tcheckmark: PropTypes.bool,\n\t/**\n\t * If you need custom content _and_ a list, use a `<Popover>` instead.\n\t */\n\tchildren: PropTypes.node,\n\t/**\n\t * CSS classes to be added to dropdown menu.\n\t */\n\tclassName: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\t/**\n\t * By default, these class names will be added to the absolutely-positioned `Dialog` component.\n\t */\n\tcontainerClassName: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\t/**\n\t * This prop is passed onto the triggering `Button`. Prevent dropdown menu from opening. Also applies disabled styling to trigger button.\n\t */\n\tdisabled: PropTypes.bool,\n\t/**\n\t * Prevents the dropdown from changing position based on the viewport/window. If set to true your dropdowns can extend outside the viewport _and_ overflow outside of a scrolling parent. If this happens, you might want to consider making the dropdowns contents scrollable to fit the menu on the screen. `hasStaticAlignment` disables this behavior and allows this component to extend beyond boundary elements. _Not tested._\n\t */\n\thasStaticAlignment: PropTypes.bool,\n\t/**\n\t * This prop is passed onto the triggering `Button`. Associates an icon button with another element on the page by changes the color of the SVG. Please reference <a href=\"http://www.lightningdesignsystem.com/components/buttons/#hint\">Lightning Design System Buttons > Hint</a>.\n\t */\n\thint: PropTypes.bool,\n\t/**\n\t * Delay on menu closing in milliseconds.\n\t */\n\thoverCloseDelay: PropTypes.number,\n\t/**\n\t * Name of the icon category. Visit <a href=\"http://www.lightningdesignsystem.com/resources/icons\">Lightning Design System Icons</a> to reference icon categories.\n\t */\n\ticonCategory: requiredIf(\n\t\tPropTypes.oneOf(['action', 'custom', 'doctype', 'standard', 'utility']),\n\t\t(props) => !!props.iconName\n\t),\n\t/**\n\t * Name of the icon. Visit <a href=\"http://www.lightningdesignsystem.com/resources/icons\">Lightning Design System Icons</a> to reference icon names.\n\t */\n\ticonName: PropTypes.string,\n\t/**\n\t * If omitted, icon position is centered.\n\t */\n\ticonPosition: PropTypes.oneOf(['left', 'right']),\n\t/**\n\t * For icon variants, please reference <a href=\"http://www.lightningdesignsystem.com/components/buttons/#icon\">Lightning Design System Icons</a>.\n\t */\n\ticonVariant: PropTypes.oneOf([\n\t\t'bare',\n\t\t'container',\n\t\t'border',\n\t\t'border-filled',\n\t\t'small',\n\t\t'more',\n\t]),\n\t/**\n\t * Determines the size of the icon.\n\t */\n\ticonSize: PropTypes.oneOf(['x-small', 'small', 'medium', 'large']),\n\t/**\n\t * A unique ID is needed in order to support keyboard navigation, ARIA support, and connect the dropdown to the triggering button.\n\t */\n\tid: PropTypes.string,\n\t/**\n\t * Adds inverse class to the dropdown\n\t */\n\tinverse: PropTypes.bool,\n\t/**\n\t * Forces the dropdown to be open or closed. See controlled/uncontrolled callback/prop pattern for more on suggested use view [Concepts and Best Practices](https://github.com/salesforce-ux/design-system-react/blob/master/CONTRIBUTING.md#concepts-and-best-practices)\n\t */\n\tisOpen: PropTypes.bool,\n\t/**\n\t * This prop is passed onto the triggering `Button`. Text within the trigger button.\n\t */\n\tlabel: PropTypes.oneOfType([PropTypes.string, PropTypes.node]),\n\t/**\n\t * Custom element that overrides the default Menu Item component.\n\t */\n\tlistItemRenderer: PropTypes.func,\n\t/**\n\t * This prop is passed into the List for the menu. Pass null to make it the size of the content, or a string with an integer from here: https://www.lightningdesignsystem.com/components/menus/#flavor-dropdown-height\n\t */\n\tlength: PropTypes.oneOf([null, '5', '7', '10', 5, 7, 10]),\n\t/**\n\t * Please select one of the following:\n\t * * `absolute` - (default) The dialog will use `position: absolute` and style attributes to position itself. This allows inverted placement or flipping of the dialog.\n\t * * `overflowBoundaryElement` - The dialog will overflow scrolling parents. Use on elements that are aligned to the left or right of their target and don't care about the target being within a scrolling parent. Typically this is a popover or tooltip. Dropdown menus can usually open up and down if no room exists. In order to achieve this a portal element will be created and attached to `body`. This element will render into that detached render tree.\n\t * * `relative` - No styling or portals will be used. Menus will be positioned relative to their triggers. This is a great choice for HTML snapshot testing.\n\t */\n\tmenuPosition: PropTypes.oneOf([\n\t\t'absolute',\n\t\t'overflowBoundaryElement',\n\t\t'relative',\n\t]),\n\t/**\n\t * Style applied to menu element (that is the `.slds-dropdown` element)\n\t */\n\tmenuStyle: PropTypes.object,\n\t/**\n\t * Positions dropdown menu with a nubbin--that is the arrow notch. The placement options correspond to the placement of the nubbin. This is implemeted with CSS classes and is best used with a `Button` with \"icon container\" styling (`iconVariant=\"container\"`). Use with `isInline` prop, since positioning is determined by CSS via absolute-relative positioning, and using an absolutely positioned menu will not position the menu correctly without manual offsets.\n\t */\n\tnubbinPosition: PropTypes.oneOf([\n\t\t'top left',\n\t\t'top',\n\t\t'top right',\n\t\t'bottom left',\n\t\t'bottom',\n\t\t'bottom right',\n\t]),\n\t/**\n\t * Is only called when `openOn` is set to `hover` and when the triggering button loses focus.\n\t */\n\tonBlur: PropTypes.func,\n\t/**\n\t * This prop is passed onto the triggering `Button`. Triggered when the trigger button is clicked.\n\t */\n\tonClick: PropTypes.func,\n\t/**\n\t * Is only called when `openOn` is set to `hover` and when the triggering button gains focus.\n\t */\n\tonFocus: PropTypes.func,\n\t/**\n\t * Determines if mouse hover or click opens or closes the dropdown menu. The default of `click` opens the menu on click, touch, or keyboard navigation and is highly recommended to comply with accessibility standards. The other options are `hover` which opens when the mouse enters the focusable area, and `hybrid` which causes the menu to open on clicking of the trigger, but closes the menu when the mouse leaves the menu and trigger area. If you are planning on using `hover` or `hybrid`, please pause a moment and reconsider.\n\t */\n\topenOn: PropTypes.oneOf(['hover', 'click', 'hybrid']),\n\t/**\n\t * Called when a key pressed.\n\t */\n\tonKeyDown: PropTypes.func,\n\t/**\n\t * Called when mouse clicks down on the trigger button.\n\t */\n\tonMouseDown: PropTypes.func,\n\t/**\n\t * Called when mouse hovers over the trigger button. This is only called if `this.props.openOn` is set to `hover`.\n\t */\n\tonMouseEnter: PropTypes.func,\n\t/**\n\t * Called when mouse hover leaves the trigger button. This is only called if `this.props.openOn` is set to `hover`.\n\t */\n\tonMouseLeave: PropTypes.func,\n\t/**\n\t * Triggered when an item in the menu is clicked.\n\t */\n\tonSelect: PropTypes.func,\n\t/**\n\t * Triggered when the dropdown is opened.\n\t */\n\tonOpen: PropTypes.func,\n\t/**\n\t * Triggered when the dropdown is closed.\n\t */\n\tonClose: PropTypes.func,\n\t/**\n\t * An array of menu item objects. `className` and `id` object keys are applied to the `li` DOM node. `divider` key can have a value of `top` or `bottom`. `rightIcon` and `leftIcon` are not actually `Icon` components, but prop objects that get passed to an `Icon` component. The `href` key will be added to the `a` and its default click event will be prevented. Here is a sample:\n\t * ```\n\t * [{\n\t * className: 'custom-li-class',\n\t * divider: 'bottom',\n\t * label: 'A Header',\n\t * type: 'header'\n\t * }, {\n\t * href: 'http://sfdc.co/',\n\t * id: 'custom-li-id',\n\t * label: 'Has a value',\n\t * leftIcon: {\n\t * name: 'settings',\n\t * category: 'utility'\n\t * },\n\t * rightIcon: {\n\t * name: 'settings',\n\t * category: 'utility'\n\t * },\n\t * type: 'item',\n\t * value: 'B0'\n\t * }, {\n\t * tooltipContent: 'Displays a tooltip when hovered over with this content. The `tooltipMenuItem` prop must be set for this to work.',\n\t * type: 'divider'\n\t * }]\n\t * ```\n\t */\n\toptions: PropTypes.array,\n\t/**\n\t * An object of CSS styles that are applied to the triggering button.\n\t */\n\tstyle: PropTypes.object,\n\t/**\n\t * Write <code>\"-1\"</code> if you don't want the user to tab to the button.\n\t */\n\ttabIndex: PropTypes.string,\n\t/**\n\t * If `true`, adds a transparent overlay when the menu is open to handle outside clicks. Allows clicks on iframes to be captured, but also forces a double-click to interact with other elements. If a function is passed, custom overlay logic may be defined by the app.\n\t */\n\toverlay: PropTypes.oneOfType([PropTypes.bool, PropTypes.func]),\n\t/**\n\t * Current selected menu item.\n\t */\n\tvalue: PropTypes.oneOfType([\n\t\tPropTypes.number,\n\t\tPropTypes.string,\n\t\tPropTypes.array,\n\t]),\n\t/**\n\t * This prop is passed onto the triggering `Button`. It creates a tooltip with the content of the `node` provided.\n\t */\n\ttooltip: PropTypes.node,\n\t/**\n\t * Accepts a `Tooltip` component to be used as the template for menu item tooltips that appear via the `tooltipContent` options object attribute. Must be present for `tooltipContent` to work\n\t */\n\ttooltipMenuItem: PropTypes.node,\n\t/**\n\t * CSS classes to be added to wrapping trigger `div` around the button.\n\t */\n\ttriggerClassName: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\t/**\n\t * Whether this dropdown supports multi select.\n\t */\n\tmultiple: PropTypes.bool,\n\t/**\n\t * To adjust the width of the menu dropdown\n\t */\n\twidth: PropTypes.oneOf([\n\t\t'xx-small',\n\t\t'x-small',\n\t\t'small',\n\t\t'medium',\n\t\t'bottom',\n\t\t'large',\n\t]),\n};\n\nconst defaultProps = {\n\talign: 'left',\n\thoverCloseDelay: 300,\n\tlength: '5',\n\tmenuPosition: 'absolute',\n\topenOn: 'click',\n\twidth: 'medium',\n\tinverse: false,\n};\n\n/**\n * The MenuDropdown component is a variant of the Lightning Design System Menu component. This component\n * may require a polyfill such as [classList](https://github.com/yola/classlist-polyfill) due to\n * [react-onclickoutside](https://github.com/Pomax/react-onclickoutside) if Internet Explorer 11\n * support is needed.\n *\n * This component is wrapped in a [higher order component to listen for clicks outside itself](https://github.com/kentor/react-click-outside) and thus requires use of `ReactDOM`.\n */\nclass MenuDropdown extends React.Component {\n\tstatic displayName = MENU_DROPDOWN;\n\n\tconstructor(props) {\n\t\tsuper(props);\n\n\t\t// `checkProps` issues warnings to developers about properties (similar to React's built in development tools)\n\t\tcheckProps(MENU_DROPDOWN, props, componentDoc);\n\n\t\tthis.generatedId = shortid.generate();\n\n\t\tconst currentSelectedIndices = this.getCurrentSelectedIndices(props);\n\n\t\tthis.state = {\n\t\t\tfocusedIndex: -1,\n\t\t\tselectedIndex: -1,\n\t\t\tselectedIndices: [],\n\t\t\t...currentSelectedIndices,\n\t\t};\n\n\t\tthis.navigableItems = getNavigableItems(props.options);\n\t}\n\n\tcomponentDidUpdate(prevProps) {\n\t\tif (prevProps.value !== this.props.value) {\n\t\t\tconst nextState = this.getCurrentSelectedIndices(prevProps);\n\t\t\t// eslint-disable-next-line react/no-did-update-set-state\n\t\t\tthis.setState(nextState);\n\t\t}\n\n\t\tif (prevProps.isOpen !== this.props.isOpen) {\n\t\t\tthis.setFocus();\n\t\t}\n\n\t\tif (!isEqual(prevProps.options, this.props.options)) {\n\t\t\tthis.navigableItems = getNavigableItems(prevProps.options);\n\t\t}\n\t}\n\n\tcomponentWillUnmount() {\n\t\tif (currentOpenDropdown === this) {\n\t\t\tcurrentOpenDropdown = undefined;\n\t\t}\n\t\tthis.isUnmounting = true;\n\t\tthis.renderOverlay(false);\n\t}\n\n\tgetId = () => this.props.id || this.generatedId;\n\n\tgetIsOpen = () =>\n\t\t!!(typeof this.props.isOpen === 'boolean'\n\t\t\t? this.props.isOpen\n\t\t\t: this.state.isOpen);\n\n\tgetIndexByValue = (value, options) => {\n\t\tlet foundIndex = -1;\n\n\t\tif (options && options.length) {\n\t\t\toptions.some((element, index) => {\n\t\t\t\tif (element && element.value === value) {\n\t\t\t\t\tfoundIndex = index;\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\n\t\t\t\treturn false;\n\t\t\t});\n\t\t}\n\n\t\treturn foundIndex;\n\t};\n\n\tgetValueByIndex = (index) => this.props.options[index];\n\n\tgetListItemRenderer = () =>\n\t\tthis.props.listItemRenderer ? this.props.listItemRenderer : ListItemLabel;\n\n\tgetListItemId = (index) => {\n\t\tlet menuItemId;\n\n\t\tif (index !== undefined) {\n\t\t\tconst menuId = isFunction(this.getId) ? this.getId() : this.props.id;\n\t\t\tmenuItemId = `${menuId}-item-${index}`;\n\t\t}\n\n\t\treturn menuItemId;\n\t};\n\n\tsetFocus = () => {\n\t\tif (!this.isHover && !this.isUnmounting && this.trigger) {\n\t\t\tReactDOM.findDOMNode(this.trigger).focus(); // eslint-disable-line react/no-find-dom-node\n\t\t}\n\t};\n\n\tgetMenu = () => ReactDOM.findDOMNode(this.list); // eslint-disable-line react/no-find-dom-node\n\n\tgetMenuItem = (index) => {\n\t\tif (index !== undefined && this.listItems) {\n\t\t\treturn ReactDOM.findDOMNode(this.listItems[index]); // eslint-disable-line react/no-find-dom-node\n\t\t}\n\n\t\treturn undefined;\n\t};\n\n\tgetCurrentSelectedIndices = (nextProps) => {\n\t\tif (this.props.multiple === true) {\n\t\t\tlet values = [];\n\t\t\tlet currentIndices = [];\n\t\t\tif (!Array.isArray(nextProps.value)) {\n\t\t\t\t// eslint-disable-next-line fp/no-mutating-methods\n\t\t\t\tvalues.push(nextProps.value);\n\t\t\t} else {\n\t\t\t\tvalues = nextProps.value;\n\t\t\t}\n\t\t\tvalues = values.filter(\n\t\t\t\t(value) => this.getIndexByValue(value, nextProps.options) !== -1\n\t\t\t);\n\t\t\tcurrentIndices = values.map((value) =>\n\t\t\t\tthis.getIndexByValue(value, nextProps.options)\n\t\t\t);\n\n\t\t\treturn {\n\t\t\t\tselectedIndices: currentIndices,\n\t\t\t};\n\t\t}\n\n\t\treturn {\n\t\t\tselectedIndex: this.getIndexByValue(nextProps.value, nextProps.options),\n\t\t};\n\t};\n\n\t// Trigger opens, closes, and recieves focus on close\n\tsaveRefToTrigger = (trigger) => {\n\t\tthis.trigger = trigger;\n\n\t\tif (!this.state.triggerRendered) {\n\t\t\tthis.setState({ triggerRendered: true });\n\t\t}\n\t};\n\n\t// TriggerContainer is the wrapping outer DOM element which may differ from the actual trigger which is most likely a `button`.\n\tsaveRefToTriggerContainer = (triggerContainer) => {\n\t\tthis.triggerContainer = triggerContainer;\n\t\tif (!this.trigger) this.trigger = triggerContainer;\n\t};\n\n\tsaveRefToList = (list) => {\n\t\tthis.list = list;\n\t};\n\n\tsaveRefToListItem = (listItem, index) => {\n\t\tif (!this.listItems) {\n\t\t\tthis.listItems = {};\n\t\t}\n\n\t\tthis.listItems[index] = listItem;\n\n\t\tif (index === this.state.focusedIndex) {\n\t\t\tthis.handleKeyboardFocus(this.state.focusedIndex);\n\t\t}\n\t};\n\n\thandleClose = () => {\n\t\tconst isOpen = this.getIsOpen();\n\n\t\tif (isOpen) {\n\t\t\tif (currentOpenDropdown === this) {\n\t\t\t\tcurrentOpenDropdown = undefined;\n\t\t\t}\n\n\t\t\tthis.setState({\n\t\t\t\tisOpen: false,\n\t\t\t});\n\n\t\t\tthis.isHover = false;\n\n\t\t\tif (this.props.onClose) {\n\t\t\t\tthis.props.onClose();\n\t\t\t}\n\t\t}\n\t};\n\n\thandleOpen = () => {\n\t\tconst isOpen = this.getIsOpen();\n\n\t\tif (!isOpen) {\n\t\t\tif (currentOpenDropdown && isFunction(currentOpenDropdown.handleClose)) {\n\t\t\t\tcurrentOpenDropdown.handleClose();\n\t\t\t}\n\n\t\t\tcurrentOpenDropdown = this;\n\n\t\t\tthis.setState({\n\t\t\t\tisOpen: true,\n\t\t\t});\n\n\t\t\tif (this.props.onOpen) {\n\t\t\t\tthis.props.onOpen();\n\t\t\t}\n\t\t}\n\t};\n\n\thandleMouseEnter = (event) => {\n\t\tconst isOpen = this.getIsOpen();\n\n\t\tthis.isHover = true;\n\n\t\tif (!isOpen && this.props.openOn === 'hover') {\n\t\t\tthis.handleOpenForHover();\n\t\t} else {\n\t\t\t// we want this clear when openOn is hover or hybrid\n\t\t\tclearTimeout(this.isClosing);\n\t\t}\n\n\t\tif (this.props.onMouseEnter) {\n\t\t\tthis.props.onMouseEnter(event);\n\t\t}\n\t};\n\n\thandleMouseLeave = (event) => {\n\t\tconst isOpen = this.getIsOpen();\n\n\t\tif (isOpen) {\n\t\t\tthis.isClosing = setTimeout(() => {\n\t\t\t\tthis.handleCloseForHover();\n\t\t\t}, this.props.hoverCloseDelay);\n\t\t}\n\n\t\tif (this.props.onMouseLeave) {\n\t\t\tthis.props.onMouseLeave(event);\n\t\t}\n\t};\n\n\t// Special handlers for openOn === hover\n\t// calling onClick inside onMouseEnter/Leave used to cause double clicking the trigger on hover which caused closing and reopening of the dropdown\n\thandleCloseForHover = () => {\n\t\tconst isOpen = this.getIsOpen();\n\t\tif (isOpen) {\n\t\t\tthis.handleClose();\n\t\t}\n\t};\n\n\thandleOpenForHover = () => {\n\t\tconst isOpen = this.getIsOpen();\n\n\t\tif (!isOpen) {\n\t\t\tthis.handleOpen();\n\t\t\tthis.setFocus();\n\t\t}\n\t};\n\n\thandleClick = (event) => {\n\t\tconst isOpen = this.getIsOpen();\n\n\t\tif (!isOpen) {\n\t\t\tthis.handleOpen();\n\t\t\tthis.setFocus();\n\t\t} else {\n\t\t\tthis.handleClose();\n\t\t}\n\n\t\tif (this.props.onClick) {\n\t\t\tthis.props.onClick(event);\n\t\t}\n\t};\n\n\thandleFocus = (event) => {\n\t\tif (this.props.onFocus) {\n\t\t\tthis.props.onFocus(event);\n\t\t}\n\t};\n\n\thandleClickCustomContent = () => {\n\t\tthis.setFocus();\n\t\tthis.handleClose();\n\n\t\tif (this.props.onSelect) {\n\t\t\tthis.props.onSelect();\n\t\t}\n\t};\n\n\thandleSelect = (index) => {\n\t\tif (!this.props.multiple) {\n\t\t\tthis.setState({ selectedIndex: index });\n\t\t\tthis.handleClose();\n\t\t\tthis.setFocus();\n\t\t} else if (\n\t\t\tthis.props.multiple &&\n\t\t\tthis.state.selectedIndices.indexOf(index) === -1\n\t\t) {\n\t\t\t// eslint-disable-next-line react/no-access-state-in-setstate\n\t\t\tconst currentIndices = this.state.selectedIndices.concat(index);\n\t\t\tthis.setState({\n\t\t\t\tselectedIndices: currentIndices,\n\t\t\t});\n\t\t} else if (this.props.multiple) {\n\t\t\tconst deselectIndex = this.state.selectedIndices.indexOf(index);\n\t\t\t// eslint-disable-next-line react/no-access-state-in-setstate\n\t\t\tconst currentSelected = this.state.selectedIndices;\n\t\t\t// eslint-disable-next-line fp/no-mutating-methods\n\t\t\tcurrentSelected.splice(deselectIndex, 1);\n\t\t\tthis.setState({\n\t\t\t\tselectedIndices: currentSelected,\n\t\t\t});\n\t\t}\n\n\t\tif (this.props.onSelect) {\n\t\t\tconst option = this.getValueByIndex(index);\n\t\t\tthis.props.onSelect(option, { option, optionIndex: index });\n\t\t}\n\t};\n\n\thandleKeyDown = (event) => {\n\t\tif (event.keyCode) {\n\t\t\tif (\n\t\t\t\tevent.keyCode === KEYS.ENTER ||\n\t\t\t\tevent.keyCode === KEYS.SPACE ||\n\t\t\t\tevent.keyCode === KEYS.DOWN ||\n\t\t\t\tevent.keyCode === KEYS.UP\n\t\t\t) {\n\t\t\t\tEventUtil.trap(event);\n\t\t\t}\n\n\t\t\tif (event.keyCode !== KEYS.TAB) {\n\t\t\t\tconst isOpen = this.getIsOpen();\n\n\t\t\t\tthis.handleKeyboardNavigate({\n\t\t\t\t\tevent,\n\t\t\t\t\tisOpen,\n\t\t\t\t\tkey: event.key,\n\t\t\t\t\tkeyCode: event.keyCode,\n\t\t\t\t\tonSelect: this.handleSelect,\n\t\t\t\t\ttarget: event.target,\n\t\t\t\t\ttoggleOpen: this.toggleOpen,\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\tthis.handleCancel();\n\t\t\t}\n\n\t\t\tif (this.props.onKeyDown) {\n\t\t\t\tthis.props.onKeyDown(event);\n\t\t\t}\n\t\t}\n\t};\n\n\thandleCancel = () => {\n\t\tthis.setFocus();\n\t\tthis.handleClose();\n\t};\n\n\thandleClickOutside = () => {\n\t\tthis.handleClose();\n\t};\n\n\t// Handling open / close toggling is optional, and a default implementation is provided for handling focus, but selection _must_ be handled\n\thandleKeyboardNavigate = ({\n\t\tevent,\n\t\tisOpen = true,\n\t\tkeyCode,\n\t\tonFocus = this.handleKeyboardFocus,\n\t\tonSelect,\n\t\ttarget,\n\t\ttoggleOpen = noop,\n\t}) => {\n\t\tkeyboardNavigate({\n\t\t\tcomponentContext: this,\n\t\t\tcurrentFocusedIndex: this.state.focusedIndex,\n\t\t\tevent,\n\t\t\tisOpen,\n\t\t\tkeyCode,\n\t\t\tnavigableItems: this.navigableItems,\n\t\t\tonFocus,\n\t\t\tonSelect,\n\t\t\ttarget,\n\t\t\ttoggleOpen,\n\t\t});\n\t};\n\n\t// This is a bit of an anti-pattern, but it has the upside of being a nice default. Component authors can always override to only set state and do their own focusing in their subcomponents.\n\thandleKeyboardFocus = (focusedIndex) => {\n\t\tif (this.state.focusedIndex !== focusedIndex) {\n\t\t\tthis.setState({ focusedIndex });\n\t\t}\n\n\t\tconst menu = isFunction(this.getMenu) ? this.getMenu() : getMenu(this);\n\n\t\tconst menuItem = isFunction(this.getMenuItem)\n\t\t\t? this.getMenuItem(focusedIndex, menu)\n\t\t\t: getMenuItem(this.getListItemId(focusedIndex));\n\n\t\tif (menuItem) {\n\t\t\tthis.focusMenuItem(menuItem);\n\t\t\tthis.scrollToMenuItem(menu, menuItem);\n\t\t}\n\t};\n\n\tfocusMenuItem = (menuItem) => {\n\t\tmenuItem.getElementsByTagName('a')[0].focus();\n\t};\n\n\tscrollToMenuItem = (menu, menuItem) => {\n\t\tif (menu && menuItem) {\n\t\t\tconst menuHeight = menu.offsetHeight;\n\n\t\t\tconst menuTop = menu.scrollTop;\n\t\t\tconst menuItemTop = menuItem.offsetTop - menu.offsetTop;\n\n\t\t\tif (menuItemTop < menuTop) {\n\t\t\t\t// eslint-disable-next-line no-param-reassign\n\t\t\t\tmenu.scrollTop = menuItemTop;\n\t\t\t} else {\n\t\t\t\tconst menuBottom = menuTop + menuHeight + menu.offsetTop;\n\t\t\t\tconst menuItemBottom =\n\t\t\t\t\tmenuItemTop + menuItem.offsetHeight + menu.offsetTop;\n\n\t\t\t\tif (menuItemBottom > menuBottom) {\n\t\t\t\t\t// eslint-disable-next-line no-param-reassign\n\t\t\t\t\tmenu.scrollTop = menuItemBottom - menuHeight - menu.offsetTop;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t};\n\n\ttoggleOpen = () => {\n\t\tconst isOpen = this.getIsOpen();\n\t\tthis.setFocus();\n\n\t\tif (isOpen) {\n\t\t\tthis.handleClose();\n\t\t} else {\n\t\t\tthis.handleOpen();\n\t\t}\n\t};\n\n\trenderDefaultMenuContent = (customListProps) => (\n\t\t<List\n\t\t\tkey={`${this.getId()}-dropdown-list`}\n\t\t\tcheckmark={this.props.checkmark}\n\t\t\tgetListItemId={this.getListItemId}\n\t\t\titemRefs={this.saveRefToListItem}\n\t\t\titemRenderer={this.getListItemRenderer()}\n\t\t\tonCancel={this.handleCancel}\n\t\t\tonSelect={this.handleSelect}\n\t\t\toptions={this.props.options}\n\t\t\tref={this.saveRefToList}\n\t\t\tselectedIndex={\n\t\t\t\t!this.props.multiple ? this.state.selectedIndex : undefined\n\t\t\t}\n\t\t\tselectedIndices={\n\t\t\t\tthis.props.multiple ? this.state.selectedIndices : undefined\n\t\t\t}\n\t\t\ttooltipMenuItem={this.props.tooltipMenuItem}\n\t\t\ttriggerId={this.getId()}\n\t\t\tlength={this.props.length}\n\t\t\t{...customListProps}\n\t\t/>\n\t);\n\n\trenderMenuContent = (customContent) => {\n\t\t/**\n\t\t * Custom content for dropdown was a hack done in the past. If there's more than a listbox within a dropdown, then it should be a popover as explained for the `children` prop.\n\t\t *\n\t\t * This code block shows how things are done in the past:\n\t\t * ```\n\t\t * <Dropdown>\n\t\t * <Trigger>\n\t\t * <Button iconCategory=\"utility\" iconName=\"settings\" />\n\t\t * </Trigger>\n\t\t * <div>Look ma! This is Custom Content.</div>\n\t\t * <List options={[myArray]}/>\n\t\t * </Dropdown>\n\t\t * ```\n\t\t */\n\t\tlet customContentWithListPropInjection = [];\n\t\t// Dropdown can take a Trigger component as a child and then return it as the parent DOM element.\n\t\tReact.Children.forEach(customContent, (child) => {\n\t\t\tif (child && child.type.displayName === LIST) {\n\t\t\t\t// eslint-disable-next-line fp/no-mutating-methods\n\t\t\t\tcustomContentWithListPropInjection.push(\n\t\t\t\t\tthis.renderDefaultMenuContent(child.props)\n\t\t\t\t);\n\t\t\t} else if (child) {\n\t\t\t\tconst clonedCustomContent = React.cloneElement(child, {\n\t\t\t\t\tonClick: this.handleClickCustomContent,\n\t\t\t\t\tkey: shortid.generate(),\n\t\t\t\t});\n\t\t\t\t// eslint-disable-next-line fp/no-mutating-methods\n\t\t\t\tcustomContentWithListPropInjection.push(clonedCustomContent);\n\t\t\t}\n\t\t});\n\n\t\tif (customContentWithListPropInjection.length === 0) {\n\t\t\tcustomContentWithListPropInjection = null;\n\t\t}\n\n\t\treturn (\n\t\t\tcustomContentWithListPropInjection || this.renderDefaultMenuContent()\n\t\t);\n\t};\n\n\trenderDialog = (customContent, isOpen, outsideClickIgnoreClass) => {\n\t\tlet align = 'bottom';\n\t\tlet hasNubbin = false;\n\t\tlet positionClassName = '';\n\n\t\tif (this.props.nubbinPosition) {\n\t\t\thasNubbin = true;\n\t\t\talign = DropdownToDialogNubbinMapping[this.props.nubbinPosition];\n\t\t} else if (this.props.align) {\n\t\t\talign =\n\t\t\t\tthis.props.align === 'center' ? 'bottom' : `bottom ${this.props.align}`;\n\t\t}\n\n\t\tconst positions = DropdownToDialogNubbinMapping[align].split(' ');\n\t\tpositionClassName = classNames(\n\t\t\tpositions.map((position) => `slds-dropdown_${position}`)\n\t\t);\n\n\t\t// FOR BACKWARDS COMPATIBILITY\n\t\tconst menuPosition = this.props.isInline\n\t\t\t? 'relative'\n\t\t\t: this.props.menuPosition; // eslint-disable-line react/prop-types\n\n\t\tconst menuStylesBase = {};\n\t\tif (this.props.align === 'center' && !hasNubbin) {\n\t\t\tmenuStylesBase.transform = 'none';\n\t\t}\n\n\t\treturn isOpen ? (\n\t\t\t<Dialog\n\t\t\t\talign={align}\n\t\t\t\tclassName={classNames(this.props.containerClassName)}\n\t\t\t\tcloseOnTabKey\n\t\t\t\tcontentsClassName={classNames(\n\t\t\t\t\t'slds-dropdown',\n\t\t\t\t\t`slds-dropdown_${this.props.width}`,\n\t\t\t\t\t'slds-text-align_left',\n\t\t\t\t\t'ignore-react-onclickoutside',\n\t\t\t\t\tthis.props.className,\n\t\t\t\t\tpositionClassName,\n\t\t\t\t\t{\n\t\t\t\t\t\t'slds-dropdown_inverse': this.props.inverse,\n\t\t\t\t\t}\n\t\t\t\t)}\n\t\t\t\tcontext={this.context}\n\t\t\t\thasNubbin={hasNubbin}\n\t\t\t\thasStaticAlignment={this.props.hasStaticAlignment}\n\t\t\t\tinheritWidthOf={this.props.inheritTargetWidth ? 'target' : 'none'}\n\t\t\t\toffset={this.props.offset}\n\t\t\t\tonClose={this.handleClose}\n\t\t\t\tonKeyDown={this.handleKeyDown}\n\t\t\t\toutsideClickIgnoreClass={outsideClickIgnoreClass}\n\t\t\t\tposition={menuPosition}\n\t\t\t\tstyle={{\n\t\t\t\t\t...menuStylesBase,\n\t\t\t\t\t...this.props.menuStyle,\n\t\t\t\t}}\n\t\t\t\tonRequestTargetElement={() => this.trigger}\n\t\t\t>\n\t\t\t\t{this.renderMenuContent(customContent)}\n\t\t\t</Dialog>\n\t\t) : null;\n\t};\n\n\trenderOverlay = (isOpen) => {\n\t\tif (isFunction(overlay) && documentDefined) {\n\t\t\toverlay(isOpen, overlay);\n\t\t} else if (\n\t\t\tthis.props.overlay &&\n\t\t\tisOpen &&\n\t\t\t!this.overlay &&\n\t\t\tdocumentDefined\n\t\t) {\n\t\t\tthis.overlay = overlay;\n\t\t\tdocument.querySelector('body').appendChild(this.overlay);\n\t\t} else if (!isOpen && this.overlay && this.overlay.parentNode) {\n\t\t\tthis.overlay.parentNode.removeChild(this.overlay);\n\t\t\tthis.overlay = undefined;\n\t\t}\n\t};\n\n\trender() {\n\t\t// Dropdowns are used by other components. The default trigger is a button, but some other components use `li` elements. The following allows `MenuDropdown` to be extended by providing a child component with the displayName of `DropdownTrigger`.\n\t\tlet CurrentTrigger = DefaultTrigger;\n\n\t\tlet CustomTriggerChildProps = {};\n\n\t\t// Child elements that do not have the display name of the value of `MENU_DROPDOWN_TRIGGER` in `components/constants.js` will be considered custom content and rendered in the popover.\n\t\tlet customContent = [];\n\n\t\t// Dropdown can take a Trigger component as a child and then return it as the parent DOM element.\n\t\tReact.Children.forEach(this.props.children, (child) => {\n\t\t\tif (child && child.type.displayName === MENU_DROPDOWN_TRIGGER) {\n\t\t\t\t// `CustomTriggerChildProps` is not used by the default button Trigger, but by other triggers\n\t\t\t\tCustomTriggerChildProps = child.props;\n\t\t\t\tCurrentTrigger = child.type;\n\t\t\t} else if (child) {\n\t\t\t\t// eslint-disable-next-line fp/no-mutating-methods\n\t\t\t\tcustomContent.push(child);\n\t\t\t}\n\t\t});\n\n\t\tif (customContent.length === 0) {\n\t\t\tcustomContent = null;\n\t\t}\n\n\t\tconst outsideClickIgnoreClass = `ignore-click-${this.getId()}`;\n\t\tconst isOpen = !this.props.disabled && this.getIsOpen() && !!this.trigger;\n\n\t\tthis.renderOverlay(isOpen);\n\n\t\t/* Below are three sections of props:\n\t\t - The first are the props that may be given by the dropdown component. These may get deprecated in the future.\n\t\t - The next set of props (`CustomTriggerChildProps`) are props that can be overwritten by the end developer.\n\t\t - The final set are props that should not be overwritten, since they are ones that tie the trigger to the dropdown menu.\n\t\t*/\n\n\t\treturn (\n\t\t\t<CurrentTrigger\n\t\t\t\taria-haspopup\n\t\t\t\tassistiveText={this.props.assistiveText}\n\t\t\t\tclassName={classNames(\n\t\t\t\t\toutsideClickIgnoreClass,\n\t\t\t\t\tthis.props.buttonClassName\n\t\t\t\t)}\n\t\t\t\tdisabled={this.props.disabled}\n\t\t\t\thint={this.props.hint}\n\t\t\t\ticonCategory={this.props.iconCategory}\n\t\t\t\ticonName={this.props.iconName}\n\t\t\t\ticonPosition={this.props.iconPosition}\n\t\t\t\ticonSize={this.props.iconSize}\n\t\t\t\ticonVariant={this.props.iconVariant}\n\t\t\t\tid={this.getId()}\n\t\t\t\tinverse={this.props.buttonInverse}\n\t\t\t\tisOpen={isOpen}\n\t\t\t\tlabel={this.props.label}\n\t\t\t\tmenu={this.renderDialog(customContent, isOpen, outsideClickIgnoreClass)}\n\t\t\t\tonBlur={this.props.onBlur}\n\t\t\t\tonClick={\n\t\t\t\t\tthis.props.openOn === 'click' || this.props.openOn === 'hybrid'\n\t\t\t\t\t\t? this.handleClick\n\t\t\t\t\t\t: this.props.onClick\n\t\t\t\t}\n\t\t\t\tonFocus={this.props.openOn === 'hover' ? this.handleFocus : null}\n\t\t\t\tonKeyDown={this.handleKeyDown}\n\t\t\t\tonMouseDown={this.props.onMouseDown}\n\t\t\t\tonMouseEnter={\n\t\t\t\t\tthis.props.openOn === 'hover' || this.props.openOn === 'hybrid'\n\t\t\t\t\t\t? this.handleMouseEnter\n\t\t\t\t\t\t: null\n\t\t\t\t}\n\t\t\t\tonMouseLeave={\n\t\t\t\t\tthis.props.openOn === 'hover' || this.props.openOn === 'hybrid'\n\t\t\t\t\t\t? this.handleMouseLeave\n\t\t\t\t\t\t: null\n\t\t\t\t}\n\t\t\t\topenOn={this.props.openOn}\n\t\t\t\tref={this.saveRefToTriggerContainer}\n\t\t\t\tstyle={this.props.style}\n\t\t\t\ttabIndex={this.props.tabIndex || (isOpen ? '-1' : '0')}\n\t\t\t\ttooltip={this.props.tooltip}\n\t\t\t\ttriggerClassName={this.props.triggerClassName}\n\t\t\t\ttriggerRef={this.saveRefToTrigger}\n\t\t\t\tvariant={this.props.buttonVariant}\n\t\t\t\t{...CustomTriggerChildProps}\n\t\t\t/>\n\t\t);\n\t}\n}\n\nMenuDropdown.contextTypes = {\n\ticonPath: PropTypes.string,\n};\n\nMenuDropdown.propTypes = propTypes;\nMenuDropdown.defaultProps = defaultProps;\n\nexport default MenuDropdown;\nexport { ListItem, ListItemLabel, DropdownNubbinPositions };\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// ### onClickOutside\n// Listen for clicks that occur somewhere in the document, outside of the element itself\nimport onClickOutside from 'react-onclickoutside';\nimport MenuDropdown from './menu-dropdown';\n\nexport default onClickOutside(MenuDropdown);\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n/* eslint-disable jsx-a11y/no-redundant-roles */\n\n// # Breadcrumbs\n\n// Implements the [Breadcrumbs design pattern](https://www.lightningdesignsystem.com/components/breadcrumbs) in React.\n// Based on SLDS v2.1.0-rc.2\n\n// ## Dependencies\n\n// ### React\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\n// This component's `checkProps` which issues warnings to developers about properties when in development mode (similar to React's built in development tools)\nimport checkProps from './check-props';\nimport componentDoc from './component.json';\n\n// ## Constants\nimport { BREADCRUMB } from '../../utilities/constants';\nimport Dropdown from './../menu-dropdown';\n\nconst propTypes = {\n\t/**\n\t * **Assistive text for accessibility.**\n\t * This object is merged with the default props object on every render.\n\t * * `label`: The assistive text for the breadcrumb trail.\n\t */\n\tassistiveText: PropTypes.shape({\n\t\tlabel: PropTypes.string,\n\t}),\n\t/**\n\t * A unique ID is needed in order to support keyboard navigation, ARIA support, and connect the dropdown to the triggering button.\n\t */\n\tid: PropTypes.string,\n\t/**\n\t * Overflow menu of the type [Dropdown](/components/menu-dropdowns)\n\t */\n\toverflowDropdownMenu: PropTypes.node,\n\t/**\n\t * Custom styles to be passed to the containing `nav` tag\n\t */\n\tstyleContainer: PropTypes.object,\n\t/**\n\t * An array of anchor elements that define the path to the current record.\n\t */\n\ttrail: PropTypes.array.isRequired,\n};\n\nconst defaultProps = {\n\tassistiveText: {\n\t\tlabel: 'Breadcrumbs',\n\t},\n};\n\nconst getBreadcrumbDropdown = (overflowDropdownMenu, props) => {\n\tconst overflowDropdownMenuProps = {\n\t\t...overflowDropdownMenu.props,\n\t\tid: `${props.id}-dropdown`,\n\t\ticonCategory: 'utility',\n\t\ticonName: 'threedots',\n\t\ticonVariant: 'bare',\n\t\tthreedots: true,\n\t};\n\treturn (\n\t\t<li className=\"slds-breadcrumb__item\">\n\t\t\t<Dropdown {...overflowDropdownMenuProps} />\n\t\t</li>\n\t);\n};\n\n/**\n * Use breadcrumbs to note the path of a record and help the user to navigate back to the parent.Breadcrumb based on SLDS 2.1.0-dev\n */\nconst Breadcrumb = (props) => {\n\tcheckProps(BREADCRUMB, props, componentDoc);\n\n\tconst { overflowDropdownMenu, trail } = props;\n\tconst assistiveText =\n\t\ttypeof props.assistiveText === 'string'\n\t\t\t? props.assistiveText\n\t\t\t: {\n\t\t\t\t\t...defaultProps.assistiveText,\n\t\t\t\t\t...props.assistiveText,\n\t\t\t }.label;\n\n\treturn (\n\t\t<nav\n\t\t\trole=\"navigation\"\n\t\t\taria-label={assistiveText}\n\t\t\tstyle={props.styleContainer}\n\t\t>\n\t\t\t<ol className=\"slds-breadcrumb slds-list_horizontal\">\n\t\t\t\t{overflowDropdownMenu &&\n\t\t\t\t\tgetBreadcrumbDropdown(overflowDropdownMenu, props)}\n\t\t\t\t{trail.map((crumb, index) => (\n\t\t\t\t\t/* eslint-disable react/no-array-index-key */\n\t\t\t\t\t<li\n\t\t\t\t\t\tkey={index} // There isn't any better reasonable way to identity these\n\t\t\t\t\t\tclassName=\"slds-breadcrumb__item\"\n\t\t\t\t\t>\n\t\t\t\t\t\t{crumb}\n\t\t\t\t\t</li>\n\t\t\t\t))}\n\t\t\t</ol>\n\t\t</nav>\n\t);\n};\n\nBreadcrumb.displayName = BREADCRUMB;\nBreadcrumb.propTypes = propTypes;\nBreadcrumb.defaultProps = defaultProps;\n\nexport default Breadcrumb;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\n\nimport Icon from '../icon';\n\nimport {\n\tBUILDER_HEADER,\n\tBUILDER_HEADER_NAV,\n\tBUILDER_HEADER_TOOLBAR,\n\tBUILDER_HEADER_MISC,\n} from '../../utilities/constants';\n\nconst propTypes = {\n\t/**\n\t * **Assistive text for accessibility**\n\t * This object is merged with the default props object on every render.\n\t * * `backIcon`: Used for the back icon.\n\t * * `helpIcon`: Used for the help icon.\n\t * * `icon`: Used for the main icon next to the header title.\n\t * * _Tested with snapshot testing._\n\t */\n\tassistiveText: PropTypes.shape({\n\t\tbackIcon: PropTypes.string,\n\t\thelpIcon: PropTypes.string,\n\t\ticon: PropTypes.string,\n\t}),\n\t/**\n\t * Provide children of the types `<BuilderHeaderNav />`, `<BuilderHeaderToolbar />`, or `<BuilderHeaderMisc />` to define the structure of the header.\n\t * ```\n\t * <BuilderHeader>\n\t * <BuilderHeaderNav />\n\t * <BuilderHeaderToolbar />\n\t * <BuilderHeaderMisc />\n\t * </BuilderHeader>\n\t * ```\n\t */\n\tchildren: PropTypes.node,\n\t/**\n\t * CSS classes to be added to tag with `.slds-builder-header_container`. Uses `classNames` [API](https://github.com/JedWatson/classnames). _Tested with snapshot testing._\n\t */\n\tclassName: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\t/**\n\t * Event Callbacks\n\t * * `onClickBack`: Called when the Back link is clicked.\n\t * * `onClickHelp`: Called when the Help link is clicked.\n\t * _Tested with Mocha testing._\n\t */\n\tevents: PropTypes.shape({\n\t\tonClickBack: PropTypes.func,\n\t\tonClickHelp: PropTypes.func,\n\t}),\n\t/**\n\t * Category of the title icon from [lightningdesignsystem.com/icons/](https://www.lightningdesignsystem.com/icons/)\n\t */\n\ticonCategory: PropTypes.string,\n\t/**\n\t * CSS classes that are applied to the title icon.\n\t */\n\ticonClassName: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\t/**\n\t * Name of the title icon. Visit <a href='http://www.lightningdesignsystem.com/resources/icons'>Lightning Design System Icons</a> to reference icon names.\n\t */\n\ticonName: PropTypes.string,\n\t/**\n\t * Path to the title icon. This will override any global icon settings.\n\t */\n\ticonPath: PropTypes.string,\n\t/**\n\t * **Text labels for internationalization**\n\t * This object is merged with the default props object on every render.\n\t * * `back`: The label for the Back link.\n\t * * `help`: The label for the Help link.\n\t * * `pageType`: The label that describes the page type.\n\t * * `title`: The label for the page title.\n\t * _Tested with snapshot testing._\n\t */\n\tlabels: PropTypes.shape({\n\t\tback: PropTypes.string,\n\t\thelp: PropTypes.string,\n\t\tpageType: PropTypes.string,\n\t\ttitle: PropTypes.string,\n\t}),\n\t/**\n\t * Custom styles applied to the `.slds-builder-header_container` element.\n\t */\n\tstyle: PropTypes.object,\n};\n\nconst defaultProps = {\n\tassistiveText: {\n\t\tbackIcon: 'Back',\n\t\thelpIcon: 'Help',\n\t\ticon: 'Builder',\n\t},\n\ticonCategory: 'utility',\n\ticonName: 'builder',\n\tlabels: {\n\t\tback: 'Back',\n\t\thelp: 'Help',\n\t\tpageType: 'Page Type',\n\t\ttitle: 'App Name',\n\t},\n};\n\n/**\n * Every builder needs a builder header, which contains basic navigation elements. It also shows the builder type and content name.\n */\nconst BuilderHeader = (props) => {\n\tconst assistiveText = {\n\t\t...defaultProps.assistiveText,\n\t\t...props.assistiveText,\n\t};\n\tconst events = {\n\t\t...{},\n\t\t...props.events,\n\t};\n\tconst labels = {\n\t\t...defaultProps.labels,\n\t\t...props.labels,\n\t};\n\n\tlet nav;\n\tlet toolbar;\n\tconst misc = [];\n\tReact.Children.forEach(props.children, (child) => {\n\t\tif (child) {\n\t\t\tswitch (child.type.displayName) {\n\t\t\t\tcase BUILDER_HEADER_NAV:\n\t\t\t\t\tnav = child;\n\t\t\t\t\tbreak;\n\t\t\t\tcase BUILDER_HEADER_TOOLBAR:\n\t\t\t\t\ttoolbar = child;\n\t\t\t\t\tbreak;\n\t\t\t\tcase BUILDER_HEADER_MISC:\n\t\t\t\t\t// eslint-disable-next-line fp/no-mutating-methods\n\t\t\t\t\tmisc.push(child);\n\t\t\t\t\tbreak;\n\t\t\t\tdefault:\n\t\t\t}\n\t\t}\n\t});\n\n\tlet iconCategory;\n\tlet iconName;\n\tlet iconPath;\n\tif (props.iconPath) {\n\t\t({ iconPath } = props);\n\t} else {\n\t\t({ iconCategory, iconName } = props);\n\t}\n\n\treturn (\n\t\t<div style={{ position: 'relative', height: '100px' }}>\n\t\t\t<div\n\t\t\t\tclassName={classNames('slds-builder-header_container', props.className)}\n\t\t\t\tstyle={props.style}\n\t\t\t>\n\t\t\t\t<header className=\"slds-builder-header\">\n\t\t\t\t\t<div className=\"slds-builder-header__item\">\n\t\t\t\t\t\t<div className=\"slds-builder-header__item-label slds-media slds-media_center\">\n\t\t\t\t\t\t\t<div className=\"slds-media__figure\">\n\t\t\t\t\t\t\t\t<Icon\n\t\t\t\t\t\t\t\t\tassistiveText={{ label: assistiveText.icon }}\n\t\t\t\t\t\t\t\t\tcategory={iconCategory}\n\t\t\t\t\t\t\t\t\tcontainerClassName={classNames(\n\t\t\t\t\t\t\t\t\t\t'slds-icon_container',\n\t\t\t\t\t\t\t\t\t\t'slds-icon-utility-builder',\n\t\t\t\t\t\t\t\t\t\t'slds-current-color',\n\t\t\t\t\t\t\t\t\t\tprops.iconClassName\n\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\tname={iconName}\n\t\t\t\t\t\t\t\t\tpath={iconPath}\n\t\t\t\t\t\t\t\t\tsize=\"x-small\"\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<div className=\"slds-media__body\">{labels.title}</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t\t{nav}\n\n\t\t\t\t\t{misc.length > 0 ? (\n\t\t\t\t\t\tmisc\n\t\t\t\t\t) : (\n\t\t\t\t\t\t<div className=\"slds-builder-header__item slds-has-flexi-truncate\">\n\t\t\t\t\t\t\t<h1 className=\"slds-builder-header__item-label\">\n\t\t\t\t\t\t\t\t<span className=\"slds-truncate\" title={labels.pageType}>\n\t\t\t\t\t\t\t\t\t{labels.pageType}\n\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t</h1>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t)}\n\n\t\t\t\t\t<div className=\"slds-builder-header__item slds-builder-header__utilities\">\n\t\t\t\t\t\t<div className=\"slds-builder-header__utilities-item\">\n\t\t\t\t\t\t\t<a\n\t\t\t\t\t\t\t\thref=\"javascript:void(0);\"\n\t\t\t\t\t\t\t\tclassName=\"slds-builder-header__item-action slds-media slds-media_center\"\n\t\t\t\t\t\t\t\tonClick={events.onClickBack}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<div className=\"slds-media__figure\">\n\t\t\t\t\t\t\t\t\t<Icon\n\t\t\t\t\t\t\t\t\t\tassistiveText={{ label: assistiveText.backIcon }}\n\t\t\t\t\t\t\t\t\t\tcategory=\"utility\"\n\t\t\t\t\t\t\t\t\t\tcontainerClassName=\"slds-icon_container slds-icon-utility-settings slds-current-color\"\n\t\t\t\t\t\t\t\t\t\tname=\"back\"\n\t\t\t\t\t\t\t\t\t\tsize=\"x-small\"\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t<div className=\"slds-media__body\">{labels.back}</div>\n\t\t\t\t\t\t\t</a>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div className=\"slds-builder-header__utilities-item\">\n\t\t\t\t\t\t\t<a\n\t\t\t\t\t\t\t\thref=\"javascript:void(0);\"\n\t\t\t\t\t\t\t\tclassName=\"slds-builder-header__item-action slds-media slds-media_center\"\n\t\t\t\t\t\t\t\tonClick={events.onClickHelp}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<div className=\"slds-media__figure\">\n\t\t\t\t\t\t\t\t\t<Icon\n\t\t\t\t\t\t\t\t\t\tassistiveText={{ label: assistiveText.helpIcon }}\n\t\t\t\t\t\t\t\t\t\tcategory=\"utility\"\n\t\t\t\t\t\t\t\t\t\tcontainerClassName=\"slds-icon_container slds-icon-utility-settings slds-current-color\"\n\t\t\t\t\t\t\t\t\t\tname=\"help\"\n\t\t\t\t\t\t\t\t\t\tsize=\"x-small\"\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t<div className=\"slds-media__body\">{labels.help}</div>\n\t\t\t\t\t\t\t</a>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t</header>\n\t\t\t\t{toolbar}\n\t\t\t</div>\n\t\t</div>\n\t);\n};\n\nBuilderHeader.displayName = BUILDER_HEADER;\nBuilderHeader.propTypes = propTypes;\nBuilderHeader.defaultProps = defaultProps;\nexport default BuilderHeader;\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport { BUILDER_HEADER_MISC } from '../../utilities/constants';\n\nconst propTypes = {\n\t/**\n\t * Provide custom content in place of Page Type label\n\t * ```\n\t * <BuilderHeader>\n\t * <BuilderHeaderMisc>\n\t * Custom content\n\t * </BuilderHeaderMisc>\n\t * </BuilderHeader>\n\t * ```\n\t */\n\tchildren: PropTypes.node,\n};\n\n/**\n * The miscellaneous section of the header.\n */\nconst BuilderHeaderMisc = (props) => (\n\t<div className=\"slds-builder-header__item\" style={{ width: '100%' }}>\n\t\t<div className=\"slds-builder-header__item-label\">{props.children}</div>\n\t</div>\n);\n\nBuilderHeaderMisc.displayName = BUILDER_HEADER_MISC;\nBuilderHeaderMisc.propTypes = propTypes;\nexport default BuilderHeaderMisc;\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport {\n\tBUILDER_HEADER_NAV,\n\tBUILDER_HEADER_NAV_DROPDOWN,\n\tBUILDER_HEADER_NAV_LINK,\n} from '../../utilities/constants';\n\nconst propTypes = {\n\t/**\n\t * Provide children of the types `<BuilderHeaderNavLink />` or `<BuilderHeaderNavDropdown />` to define the structure of the navigation section.\n\t * ```\n\t * <BuilderHeader>\n\t * <BuilderHeaderNav>\n\t * <BuilderHeaderNavLink />\n\t * <BuilderHeaderNavDropdown />\n\t * </BuilderHeaderNav>\n\t * </BuilderHeader>\n\t * ```\n\t */\n\tchildren: PropTypes.node,\n};\n\n/**\n * The navigation section of the header.\n */\nconst BuilderHeaderNav = (props) => (\n\t<nav className=\"slds-builder-header__item slds-builder-header__nav\">\n\t\t<ul className=\"slds-builder-header__nav-list\">\n\t\t\t{React.Children.map(props.children, (child) => {\n\t\t\t\tif (\n\t\t\t\t\tchild.type.displayName === BUILDER_HEADER_NAV_LINK ||\n\t\t\t\t\tchild.type.displayName === BUILDER_HEADER_NAV_DROPDOWN\n\t\t\t\t) {\n\t\t\t\t\treturn child;\n\t\t\t\t}\n\t\t\t\treturn null;\n\t\t\t})}\n\t\t</ul>\n\t</nav>\n);\n\nBuilderHeaderNav.displayName = BUILDER_HEADER_NAV;\nBuilderHeaderNav.propTypes = propTypes;\nexport default BuilderHeaderNav;\n","import React from 'react';\n\nimport Button from '../button';\nimport Icon from '../icon';\nimport Dropdown from '../menu-dropdown';\nimport DropdownTrigger from '../menu-dropdown/button-trigger';\nimport MenuDropdown from '../menu-dropdown/menu-dropdown';\n\nimport { BUILDER_HEADER_NAV_DROPDOWN } from '../../utilities/constants';\n\n// This component accepts the same props as MenuDropdown.\n// eslint-disable-next-line react/forbid-foreign-prop-types\nconst { propTypes } = MenuDropdown;\n\n/**\n * A dropdown within the navigation section of the header.\n */\nconst BuilderHeaderNavDropdown = (props) => {\n\t// Separate props we care about in order to pass others along passively to the dropdown component\n\tconst { iconCategory, iconName, label, assistiveText, ...rest } = props;\n\treturn (\n\t\t<li className=\"slds-builder-header__nav-item\">\n\t\t\t<Dropdown {...rest}>\n\t\t\t\t<DropdownTrigger>\n\t\t\t\t\t<Button\n\t\t\t\t\t\tclassName=\"slds-builder-header__item-action slds-media slds-media_center\"\n\t\t\t\t\t\tvariant=\"base\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<span className=\"slds-media__figure\">\n\t\t\t\t\t\t\t<Icon\n\t\t\t\t\t\t\t\tassistiveText={{\n\t\t\t\t\t\t\t\t\tlabel: assistiveText && assistiveText.icon,\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\tcategory={iconCategory}\n\t\t\t\t\t\t\t\tcontainerClassName=\"slds-icon_container slds-icon-utility-page slds-current-color\"\n\t\t\t\t\t\t\t\tname={iconName}\n\t\t\t\t\t\t\t\tsize=\"x-small\"\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</span>\n\t\t\t\t\t\t<span className=\"slds-media__body\">\n\t\t\t\t\t\t\t<span className=\"slds-truncate\" title={label}>\n\t\t\t\t\t\t\t\t{label}\n\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t<Icon\n\t\t\t\t\t\t\t\tcategory=\"utility\"\n\t\t\t\t\t\t\t\tcontainerClassName=\"slds-icon_container slds-icon-utility-chevrondown slds-current-color slds-m-left_small\"\n\t\t\t\t\t\t\t\tname=\"chevrondown\"\n\t\t\t\t\t\t\t\tsize=\"x-small\"\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</span>\n\t\t\t\t\t</Button>\n\t\t\t\t</DropdownTrigger>\n\t\t\t</Dropdown>\n\t\t</li>\n\t);\n};\n\nBuilderHeaderNavDropdown.displayName = BUILDER_HEADER_NAV_DROPDOWN;\nBuilderHeaderNavDropdown.propTypes = propTypes;\nexport default BuilderHeaderNavDropdown;\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport Icon from '../icon';\n\nimport { BUILDER_HEADER_NAV_LINK } from '../../utilities/constants';\n\nconst propTypes = {\n\t/**\n\t * **Assistive text for accessibility**\n\t * This object is merged with the default props object on every render.\n\t * * `icon`: Used for the icon next to the link text.\n\t * * _Tested with snapshot testing._\n\t */\n\tassistiveText: PropTypes.shape({\n\t\ticon: PropTypes.string,\n\t}),\n\t/**\n\t * Name of the icon category. Visit <a href=\"http://www.lightningdesignsystem.com/resources/icons\">Lightning Design System Icons</a> to reference icon categories.\n\t */\n\ticonCategory: PropTypes.oneOf([\n\t\t'action',\n\t\t'custom',\n\t\t'doctype',\n\t\t'standard',\n\t\t'utility',\n\t]),\n\t/**\n\t * Name of the icon. Visit <a href=\"http://www.lightningdesignsystem.com/resources/icons\">Lightning Design System Icons</a> to reference icon names.\n\t */\n\ticonName: PropTypes.string,\n\t/**\n\t * Path to the icon. This will override any global icon settings.\n\t */\n\ticonPath: PropTypes.string,\n\t/**\n\t * Text for the link.\n\t */\n\tlabel: PropTypes.string,\n\t/**\n\t * Triggered when the link is clicked.\n\t */\n\tonClick: PropTypes.func,\n};\n\nconst defaultProps = {\n\tassistiveText: {},\n\ticonCategory: '',\n\ticonName: '',\n\tlabel: '',\n};\n\n/**\n * A link within the navigation section of the header.\n */\nconst BuilderHeaderNavLink = (props) => {\n\tconst assistiveText = {\n\t\t...defaultProps.assistiveText,\n\t\t...props.assistiveText,\n\t};\n\treturn (\n\t\t<li className=\"slds-builder-header__nav-item\">\n\t\t\t<a\n\t\t\t\tclassName=\"slds-builder-header__item-action slds-media slds-media_center\"\n\t\t\t\thref=\"javascript:void(0)\"\n\t\t\t\tonClick={props.onClick}\n\t\t\t>\n\t\t\t\t<span className=\"slds-media__figure\">\n\t\t\t\t\t<Icon\n\t\t\t\t\t\tassistiveText={{ label: assistiveText.icon }}\n\t\t\t\t\t\tcategory={props.iconCategory}\n\t\t\t\t\t\tcontainerClassName=\"slds-icon_container slds-icon-utility-settings slds-current-color\"\n\t\t\t\t\t\tname={props.iconName}\n\t\t\t\t\t\tpath={props.iconPath}\n\t\t\t\t\t\tsize=\"x-small\"\n\t\t\t\t\t/>\n\t\t\t\t</span>\n\t\t\t\t<span className=\"slds-media__body\">\n\t\t\t\t\t<span className=\"slds-truncate\" title={props.label}>\n\t\t\t\t\t\t{props.label}\n\t\t\t\t\t</span>\n\t\t\t\t</span>\n\t\t\t</a>\n\t\t</li>\n\t);\n};\n\nBuilderHeaderNavLink.displayName = BUILDER_HEADER_NAV_LINK;\nBuilderHeaderNavLink.propTypes = propTypes;\nexport default BuilderHeaderNavLink;\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport {\n\tBUILDER_HEADER_TOOLBAR,\n\tBUTTON_GROUP,\n} from '../../utilities/constants';\n\nconst propTypes = {\n\t/**\n\t * **Assistive text for accessibility**\n\t * This object is merged with the default props object on every render.\n\t * * `actions`: Used for the aria-label for the actions section of the toolbar.\n\t * * _Tested with snapshot testing._\n\t */\n\tassistiveText: PropTypes.shape({\n\t\tactions: PropTypes.string,\n\t}),\n\t/**\n\t * Provide children of the type `<ButtonGroup />` to define the structure of the toolbar section.\n\t * ```\n\t * <BuilderHeader>\n\t * <BuilderHeaderToolbar>\n\t * <ButtonGroup />\n\t * <ButtonGroup />\n\t * </BuilderHeaderToolbar>\n\t * </BuilderHeader>\n\t * ```\n\t */\n\tchildren: PropTypes.node,\n\t/**\n\t * Renders the actions section of the header.\n\t */\n\tonRenderActions: PropTypes.func,\n};\n\nconst defaultProps = {\n\tassistiveText: {\n\t\tactions: 'Actions',\n\t},\n};\n\n/**\n * The toolbar section of the header.\n */\nconst BuilderHeaderToolbar = (props) => {\n\tconst assistiveText = {\n\t\t...defaultProps.assistiveText,\n\t\t...props.assistiveText,\n\t};\n\treturn (\n\t\t<div className=\"slds-builder-toolbar\" role=\"toolbar\">\n\t\t\t{React.Children.map(props.children, (child) => {\n\t\t\t\tif (child.type.displayName === BUTTON_GROUP) {\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tclassName=\"slds-builder-toolbar__item-group\"\n\t\t\t\t\t\t\taria-label={child.props.label}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{child}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t\treturn null;\n\t\t\t})}\n\t\t\t<div\n\t\t\t\tclassName=\"slds-builder-toolbar__actions\"\n\t\t\t\taria-label={assistiveText.actions}\n\t\t\t>\n\t\t\t\t{props.onRenderActions && props.onRenderActions()}\n\t\t\t</div>\n\t\t</div>\n\t);\n};\n\nBuilderHeaderToolbar.displayName = BUILDER_HEADER_TOOLBAR;\nBuilderHeaderToolbar.propTypes = propTypes;\nBuilderHeaderToolbar.defaultProps = defaultProps;\nexport default BuilderHeaderToolbar;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// Implements the [Button Group design pattern](https://lightningdesignsystem.com/components/button-groups/) in React.\n// Based on SLDS v2.1.1\n\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\n\nimport assign from 'lodash.assign';\n\n// ### shortid\n// [npmjs.com/package/shortid](https://www.npmjs.com/package/shortid)\n// shortid is a short, non-sequential, url-friendly, unique id generator\nimport shortid from 'shortid';\n\nimport { BUTTON_GROUP } from '../../utilities/constants';\n\nconst propTypes = {\n\t/**\n\t * Children are expected to be components. If last button triggers a dropdown menu, use Dropdown instead of Button. _Tested with snapshot testing._\n\t */\n\tchildren: PropTypes.node.isRequired,\n\t/**\n\t * CSS classes added to `slds-button-group` or `slds-checkbox_button-group` tag\n\t */\n\tclassName: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\t/**\n\t * If the `labels.label` prop is set, a `.slds-form-element` classed fieldset element is added as a container. This prop applies classes to that element\n\t */\n\tclassNameContainer: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\t/**\n\t * HTML id for component.\n\t */\n\tid: PropTypes.string,\n\t/**\n\t * **Text labels for internationalization**\n\t * This object is merged with the default props object on every render.\n\t * * `error`: Message to display when any of Checkboxes are in an error state. _Tested with snapshot testing._\n\t * * `label`: This label appears above the button group. _Tested with snapshot testing._\n\t */\n\tlabels: PropTypes.shape({\n\t\terror: PropTypes.string,\n\t\tlabel: PropTypes.string,\n\t}),\n\t/**\n\t * Use checkbox variant for \"Checkbox Button Group\" styling and add Checkbox components as children _Tested with snapshot testing._\n\t */\n\tvariant: PropTypes.oneOf(['checkbox', 'list']),\n};\n\nconst defaultProps = { labels: {} };\n\n/**\n * The ButtonGroup component wraps other components (ie. Button, MenuDropdown, PopoverTooltip, Checkboxes, etc).\n */\nclass ButtonGroup extends React.Component {\n\tconstructor(props) {\n\t\tsuper(props);\n\t\tthis.generatedId = shortid.generate();\n\t}\n\n\tgetId() {\n\t\treturn this.props.id || this.generatedId;\n\t}\n\n\trender() {\n\t\t// Merge objects of strings with their default object\n\t\tconst labels = assign({}, defaultProps.labels, this.props.labels);\n\n\t\tconst zeroIndexLength = React.Children.count(this.props.children) - 1;\n\t\tlet { children } = this.props;\n\t\tif (zeroIndexLength > 0) {\n\t\t\tchildren = React.Children.map(this.props.children, (child, index) => {\n\t\t\t\tlet newChild;\n\t\t\t\tif (index === zeroIndexLength) {\n\t\t\t\t\tnewChild = React.cloneElement(child, {\n\t\t\t\t\t\ttriggerClassName: 'slds-button_last',\n\t\t\t\t\t});\n\t\t\t\t}\n\n\t\t\t\treturn newChild || child;\n\t\t\t});\n\t\t}\n\n\t\tlet component;\n\n\t\tif (this.props.variant === 'checkbox') {\n\t\t\tchildren = React.Children.map(this.props.children, (child) => {\n\t\t\t\tconst cloneProps = {\n\t\t\t\t\tvariant: 'button-group',\n\t\t\t\t};\n\t\t\t\tif (labels.error) {\n\t\t\t\t\tcloneProps['aria-describedby'] = `button-group-error-${this.getId()}`;\n\t\t\t\t}\n\t\t\t\treturn React.cloneElement(child, cloneProps);\n\t\t\t});\n\n\t\t\tcomponent = (\n\t\t\t\t<div\n\t\t\t\t\tclassName={classNames(\n\t\t\t\t\t\t'slds-checkbox_button-group',\n\t\t\t\t\t\tthis.props.className\n\t\t\t\t\t)}\n\t\t\t\t\tid={this.getId()}\n\t\t\t\t>\n\t\t\t\t\t{children}\n\t\t\t\t</div>\n\t\t\t);\n\t\t} else if (this.props.variant === 'list') {\n\t\t\tcomponent = (\n\t\t\t\t<ul\n\t\t\t\t\tclassName={classNames('slds-button-group-list', this.props.className)}\n\t\t\t\t\tid={this.getId()}\n\t\t\t\t>\n\t\t\t\t\t{React.Children.map(this.props.children, (child) => (\n\t\t\t\t\t\t<li>{child}</li>\n\t\t\t\t\t))}\n\t\t\t\t</ul>\n\t\t\t);\n\t\t} else {\n\t\t\tcomponent = (\n\t\t\t\t<div\n\t\t\t\t\tclassName={classNames('slds-button-group', this.props.className)}\n\t\t\t\t\tid={this.getId()}\n\t\t\t\t\trole=\"group\"\n\t\t\t\t>\n\t\t\t\t\t{children}\n\t\t\t\t</div>\n\t\t\t);\n\t\t}\n\n\t\tif (this.props.variant === 'checkbox' || this.props.labels.label) {\n\t\t\tcomponent = (\n\t\t\t\t<fieldset\n\t\t\t\t\tclassName={classNames(\n\t\t\t\t\t\t'slds-form-element',\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t'slds-has-error': labels.error,\n\t\t\t\t\t\t},\n\t\t\t\t\t\tthis.props.classNameContainer\n\t\t\t\t\t)}\n\t\t\t\t>\n\t\t\t\t\t<legend className=\"slds-form-element__legend slds-form-element__label\">\n\t\t\t\t\t\t{this.props.labels.label}\n\t\t\t\t\t</legend>\n\t\t\t\t\t<div className=\"slds-form-element__control\">\n\t\t\t\t\t\t{component}\n\t\t\t\t\t\t{labels.error ? (\n\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\tclassName=\"slds-form-element__help\"\n\t\t\t\t\t\t\t\tid={`button-group-error-${this.getId()}`}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{labels.error}\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t) : null}\n\t\t\t\t\t</div>\n\t\t\t\t</fieldset>\n\t\t\t);\n\t\t}\n\n\t\treturn component;\n\t}\n}\n\nButtonGroup.displayName = BUTTON_GROUP;\nButtonGroup.propTypes = propTypes;\nButtonGroup.defaultProps = defaultProps;\n\nexport default ButtonGroup;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n/* eslint-disable import/no-mutable-exports */\n\nimport getComponentDocFn from '../../utilities/get-component-doc';\nimport sunsetProperty from '../../utilities/warning/sunset-property';\n\nlet checkProps = function checkPropsFunction() {};\n\nif (process.env.NODE_ENV !== 'production') {\n\tcheckProps = function checkPropsFunction(COMPONENT, props, jsonDoc) {\n\t\tconst createDocUrl = getComponentDocFn(jsonDoc);\n\n\t\tif (typeof props.assistiveText === 'string') {\n\t\t\tsunsetProperty(\n\t\t\t\tCOMPONENT,\n\t\t\t\tprops.assistiveText,\n\t\t\t\t'assistiveText',\n\t\t\t\t`\\`assistiveText\\` as a string has been deprecated and is now an object to allow for multiple uses in the component. Please use \\`assistiveText.icon\\` instead. ${createDocUrl(\n\t\t\t\t\t'assistiveText'\n\t\t\t\t)}`\n\t\t\t);\n\t\t}\n\t};\n}\n\nexport default checkProps;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// Implements the [Button Stateful design pattern](https://lightningdesignsystem.com/components/buttons/#flavor-stateful) in React.\n// Based on SLDS v2.1.1\n\n// ## Dependencies\n\n// ### React\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\n// ### classNames\nimport classNames from 'classnames';\n\n// ### isFunction\nimport isFunction from 'lodash.isfunction';\n\n// This component's `checkProps` which issues warnings to developers about properties when in development mode (similar to React's built in development tools)\nimport checkProps from './check-props';\nimport componentDoc from './component.json';\n\n// ## Children\nimport ButtonIcon from '../icon/button-icon';\n\nimport getAriaProps from '../../utilities/get-aria-props';\nimport { BUTTON_STATEFUL } from '../../utilities/constants';\n\nconst propTypes = {\n\t/**\n\t * Specifies the current state of the button. If set, the button will act as a ['controlled' component](https://facebook.github.io/react/docs/forms.html#controlled-components).\n\t */\n\tactive: PropTypes.bool,\n\t/**\n\t * **Assistive text for accessibility.**\n\t * This object is merged with the default props object on every render.\n\t * * `icon`: Text that is visually hidden but read aloud by screenreaders to tell the user what the icon means. This should also include the state of the button. If the button has an icon and a visible label, you can omit the <code>icon</code> prop and use the <code>label</code> prop.\n\t */\n\tassistiveText: PropTypes.shape({\n\t\ticon: PropTypes.string,\n\t}),\n\t/**\n\t * Disables the button and adds disabled styling.\n\t */\n\tdisabled: PropTypes.bool,\n\t/**\n\t * Icon associated with the stateful button. Accepts an `Icon` component\n\t */\n\ticon: PropTypes.node,\n\t/**\n\t * Triggered when focus is removed.\n\t */\n\tonBlur: PropTypes.func,\n\t/**\n\t * Triggered when the button is clicked.\n\t */\n\tonClick: PropTypes.func,\n\t/**\n\t * Triggered when component is focused.\n\t */\n\tonFocus: PropTypes.func,\n\t/**\n\t * Triggered when a key is pressed down\n\t */\n\tonKeyDown: PropTypes.func,\n\t/**\n\t * Triggered when a key is pressed and released\n\t */\n\tonKeyPress: PropTypes.func,\n\t/**\n\t * Triggered when a key is released\n\t */\n\tonKeyUp: PropTypes.func,\n\t/**\n\t * Triggered when a mouse button is pressed down\n\t */\n\tonMouseDown: PropTypes.func,\n\t/**\n\t * Triggered when a mouse arrow hovers\n\t */\n\tonMouseEnter: PropTypes.func,\n\t/**\n\t * If true, button scales to 100% width on small form factors.\n\t */\n\tresponsive: PropTypes.bool,\n\t/**\n\t * Initial label and icon (optional) of button.\n\t */\n\tstateOne: PropTypes.object,\n\t/**\n\t * Selected label and icon (optional) of button.\n\t */\n\tstateTwo: PropTypes.object,\n\t/**\n\t * Deselect label and icon (optional) of button.\n\t */\n\tstateThree: PropTypes.object,\n\t/**\n\t * Write \"-1\" if you don't want the user to tab to the button.\n\t */\n\ttabIndex: PropTypes.string,\n\t/**\n\t * Different types of buttons\n\t */\n\tvariant: PropTypes.oneOf([\n\t\t'base',\n\t\t'neutral',\n\t\t'brand',\n\t\t'destructive',\n\t\t'icon',\n\t\t'icon-filled',\n\t]),\n};\n\n// i18n\nconst defaultProps = {\n\tassistiveText: { icon: '' },\n\tdisabled: false,\n\ticonSize: 'medium',\n\tresponsive: false,\n\tstateOne: { iconName: 'add', label: 'Follow' },\n\tstateTwo: { iconName: 'check', label: 'Following' },\n\tstateThree: { iconName: 'close', label: 'Unfollow' },\n};\n\n/**\n * The ButtonStateful component is a variant of the Lightning Design System Button component. It is used for buttons that have a state of unselected or selected.\n * For icon buttons, use <code>variant='icon'</code>. For buttons with labels or buttons with labels and icons, pass data to the state props (ie. <code>stateOne={{iconName: 'add', label: 'Join'}}</code>).\n * Although not listed in the prop table, all `aria-*` props will be added to the button element if passed in.\n * If no `aria-*` props are passed in, <code>aria-live='polite'</code> is used for `icon` and `icon-filled` variants,\n * and <code>aria-live='assertive'</code> is used for the remaining variants.\n */\nclass ButtonStateful extends React.Component {\n\tconstructor(props) {\n\t\tsuper(props);\n\t\tthis.state = { active: false };\n\n\t\tcheckProps(BUTTON_STATEFUL, props, componentDoc);\n\t}\n\n\tgetClassName(active) {\n\t\treturn classNames(this.props.className, 'slds-button', {\n\t\t\t'slds-button_neutral':\n\t\t\t\tthis.props.variant !== 'icon' && this.props.variant !== 'icon-filled',\n\t\t\t'slds-button_inverse': this.props.variant === 'inverse',\n\t\t\t'slds-not-selected': !active,\n\t\t\t'slds-is-selected': active,\n\t\t\t'slds-max-small-button_stretch': this.props.responsive,\n\t\t\t'slds-button_icon-border': this.props.variant === 'icon',\n\t\t\t'slds-button_icon-border-filled': this.props.variant === 'icon-filled',\n\t\t});\n\t}\n\n\thandleBlur = (e) => {\n\t\tif (this.props.onBlur) this.props.onBlur(e);\n\t\te.currentTarget.blur();\n\t};\n\n\thandleClick = (e) => {\n\t\tif (isFunction(this.props.onClick)) this.props.onClick(e);\n\t\tif (typeof this.props.active !== 'boolean') {\n\t\t\tthis.setState((prevState) => ({ active: !prevState.active }));\n\t\t}\n\t};\n\n\trender() {\n\t\tconst {\n\t\t\tactive,\n\t\t\tdisabled,\n\t\t\ticon,\n\t\t\ticonName,\n\t\t\ticonSize,\n\t\t\tid,\n\t\t\tonFocus,\n\t\t\tonKeyDown,\n\t\t\tonKeyPress,\n\t\t\tonKeyUp,\n\t\t\tonMouseDown,\n\t\t\tonMouseEnter,\n\t\t\t// onMouseLeave, // This prop isn't used anywhere! But removing it would be a breaking change\n\t\t\tstateOne,\n\t\t\tstateTwo,\n\t\t\tstateThree,\n\t\t\ttabIndex,\n\t\t\tvariant,\n\t\t} = this.props;\n\n\t\tconst defaultIconProps = {\n\t\t\tdisabled,\n\t\t\tsize: 'small',\n\t\t\tclassName: 'slds-button__icon_stateful',\n\t\t};\n\t\tconst iconAssistiveText =\n\t\t\ttypeof this.props.assistiveText === 'string'\n\t\t\t\t? this.props.assistiveText\n\t\t\t\t: {\n\t\t\t\t\t\t...defaultProps.assistiveText,\n\t\t\t\t\t\t...this.props.assistiveText,\n\t\t\t\t }.icon;\n\n\t\tconst isActive = typeof active === 'boolean' ? active : this.state.active;\n\n\t\t// Accept aria-* props\n\t\tlet ariaProps = getAriaProps(this.props);\n\n\t\tif (variant === 'icon' || variant === 'icon-filled') {\n\t\t\t// Default aria attribute for stateful button with icon, if none is specified\n\t\t\tif (Object.keys(ariaProps).length === 0) {\n\t\t\t\tariaProps = { 'aria-live': 'polite' };\n\t\t\t}\n\n\t\t\treturn (\n\t\t\t\t<button\n\t\t\t\t\t{...ariaProps}\n\t\t\t\t\tclassName={this.getClassName(isActive)}\n\t\t\t\t\tdisabled={disabled}\n\t\t\t\t\tid={id}\n\t\t\t\t\tonBlur={this.handleBlur}\n\t\t\t\t\tonClick={this.handleClick}\n\t\t\t\t\tonFocus={onFocus}\n\t\t\t\t\tonKeyDown={onKeyDown}\n\t\t\t\t\tonKeyPress={onKeyPress}\n\t\t\t\t\tonKeyUp={onKeyUp}\n\t\t\t\t\tonMouseDown={onMouseDown}\n\t\t\t\t\tonMouseEnter={onMouseEnter}\n\t\t\t\t\tonMouseLeave={this.handleBlur}\n\t\t\t\t\ttabIndex={tabIndex}\n\t\t\t\t\ttype=\"button\"\n\t\t\t\t>\n\t\t\t\t\t{icon ? (\n\t\t\t\t\t\tReact.cloneElement(icon, {\n\t\t\t\t\t\t\t...defaultIconProps,\n\t\t\t\t\t\t\t...icon.props,\n\t\t\t\t\t\t})\n\t\t\t\t\t) : (\n\t\t\t\t\t\t<ButtonIcon\n\t\t\t\t\t\t\tdisabled={disabled}\n\t\t\t\t\t\t\tname={iconName}\n\t\t\t\t\t\t\tsize={iconSize}\n\t\t\t\t\t\t\tclassName=\"slds-button__icon_stateful\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t)}\n\t\t\t\t\t{iconAssistiveText ? (\n\t\t\t\t\t\t<span className=\"slds-assistive-text\">{iconAssistiveText}</span>\n\t\t\t\t\t) : null}\n\t\t\t\t</button>\n\t\t\t);\n\t\t}\n\n\t\tdefaultIconProps.position = 'left';\n\n\t\t// Default aria attribute for stateful button, if none is specified\n\t\tif (Object.keys(ariaProps).length === 0) {\n\t\t\tariaProps = { 'aria-live': 'assertive' };\n\t\t}\n\n\t\treturn (\n\t\t\t<button\n\t\t\t\t{...ariaProps}\n\t\t\t\tclassName={this.getClassName(isActive)}\n\t\t\t\tdisabled={disabled}\n\t\t\t\tid={id}\n\t\t\t\tonBlur={this.handleBlur}\n\t\t\t\tonClick={this.handleClick}\n\t\t\t\tonFocus={onFocus}\n\t\t\t\tonKeyDown={onKeyDown}\n\t\t\t\tonKeyPress={onKeyPress}\n\t\t\t\tonKeyUp={onKeyUp}\n\t\t\t\tonMouseEnter={onMouseEnter}\n\t\t\t\tonMouseLeave={this.handleBlur}\n\t\t\t\ttabIndex={tabIndex}\n\t\t\t\ttype=\"button\"\n\t\t\t>\n\t\t\t\t<span className=\"slds-text-not-selected\">\n\t\t\t\t\t{stateOne.icon ? (\n\t\t\t\t\t\tReact.cloneElement(stateOne.icon, {\n\t\t\t\t\t\t\t...defaultIconProps,\n\t\t\t\t\t\t\t...stateOne.icon.props,\n\t\t\t\t\t\t\tsize: 'small',\n\t\t\t\t\t\t})\n\t\t\t\t\t) : (\n\t\t\t\t\t\t<ButtonIcon\n\t\t\t\t\t\t\tdisabled={disabled}\n\t\t\t\t\t\t\tname={stateOne.iconName}\n\t\t\t\t\t\t\tsize=\"small\"\n\t\t\t\t\t\t\tposition=\"left\"\n\t\t\t\t\t\t\tclassName=\"slds-button__icon_stateful\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t)}\n\t\t\t\t\t{stateOne.label}\n\t\t\t\t</span>\n\t\t\t\t<span className=\"slds-text-selected\">\n\t\t\t\t\t{stateTwo.icon ? (\n\t\t\t\t\t\tReact.cloneElement(stateTwo.icon, {\n\t\t\t\t\t\t\t...defaultIconProps,\n\t\t\t\t\t\t\t...stateTwo.icon.props,\n\t\t\t\t\t\t\tsize: 'small',\n\t\t\t\t\t\t})\n\t\t\t\t\t) : (\n\t\t\t\t\t\t<ButtonIcon\n\t\t\t\t\t\t\tdisabled={disabled}\n\t\t\t\t\t\t\tname={stateTwo.iconName}\n\t\t\t\t\t\t\tsize=\"small\"\n\t\t\t\t\t\t\tposition=\"left\"\n\t\t\t\t\t\t\tclassName=\"slds-button__icon_stateful\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t)}\n\t\t\t\t\t{stateTwo.label}\n\t\t\t\t</span>\n\t\t\t\t<span className=\"slds-text-selected-focus\">\n\t\t\t\t\t{stateThree.icon ? (\n\t\t\t\t\t\tReact.cloneElement(stateThree.icon, {\n\t\t\t\t\t\t\t...defaultIconProps,\n\t\t\t\t\t\t\t...stateThree.icon.props,\n\t\t\t\t\t\t\tsize: 'small',\n\t\t\t\t\t\t})\n\t\t\t\t\t) : (\n\t\t\t\t\t\t<ButtonIcon\n\t\t\t\t\t\t\tdisabled={disabled}\n\t\t\t\t\t\t\tname={stateThree.iconName}\n\t\t\t\t\t\t\tsize=\"small\"\n\t\t\t\t\t\t\tposition=\"left\"\n\t\t\t\t\t\t\tclassName=\"slds-button__icon_stateful\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t)}\n\t\t\t\t\t{stateThree.label}\n\t\t\t\t</span>\n\t\t\t</button>\n\t\t);\n\t}\n}\n\nButtonStateful.displayName = BUTTON_STATEFUL;\nButtonStateful.propTypes = propTypes;\nButtonStateful.defaultProps = defaultProps;\n\nexport default ButtonStateful;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// ### React\nimport React from 'react';\n\nimport PropTypes from 'prop-types';\n\n// ### classNames\n// [github.com/JedWatson/classnames](https://github.com/JedWatson/classnames)\n// This project uses `classnames`, \"a simple javascript utility for conditionally\n// joining classNames together.\"\nimport classnames from 'classnames';\n\nimport { MEDIA_OBJECT } from '../../utilities/constants';\n\n// Allow for predicatable DOM queries with `querySelectorAll(cssClasses.base)`\nexport const cssClasses = {\n\tbase: 'slds-media',\n\tfigure: 'slds-media__figure',\n\tbody: 'slds-media__body',\n};\n\n/**\n * When you need text and a figure next to each other, use a media object.\n */\nclass MediaObject extends React.Component {\n\t// ### Display Name\n\t// Always use the canonical component name as the React display name.\n\tstatic displayName = MEDIA_OBJECT;\n\n\t// ### Prop Types\n\tstatic propTypes = {\n\t\t/**\n\t\t * Often the body may need to be truncated for correct layout. This is only applicable if using the component within a flexbox container.\n\t\t */\n\t\tcanTruncate: PropTypes.bool,\n\t\t/**\n\t\t * Class names to be added to the component's HTML tag with `slds-media` class.\n\t\t */\n\t\tclassName: PropTypes.oneOfType([\n\t\t\tPropTypes.array,\n\t\t\tPropTypes.object,\n\t\t\tPropTypes.string,\n\t\t]),\n\t\t/**\n\t\t * The body is often text such as a heading or paragraph.\n\t\t */\n\t\tbody: PropTypes.node,\n\t\t/**\n\t\t * The figure is the optional visualization of the text within the body.\n\t\t */\n\t\tfigure: PropTypes.node,\n\t\t/**\n\t\t * Vertically centers the body with the middle of the figure.\n\t\t */\n\t\tverticalCenter: PropTypes.bool,\n\t};\n\n\trender() {\n\t\treturn (\n\t\t\t<div\n\t\t\t\tclassName={classnames(\n\t\t\t\t\tcssClasses.base,\n\t\t\t\t\t{\n\t\t\t\t\t\t'slds-media_center': this.props.verticalCenter,\n\t\t\t\t\t\t'slds-has-flexi-truncate': this.props.canTruncate,\n\t\t\t\t\t},\n\t\t\t\t\tthis.props.className\n\t\t\t\t)}\n\t\t\t>\n\t\t\t\t{this.props.figure ? (\n\t\t\t\t\t<div className={cssClasses.figure}>{this.props.figure} </div>\n\t\t\t\t) : null}\n\t\t\t\t<div className={cssClasses.body}>{this.props.body}</div>\n\t\t\t</div>\n\t\t);\n\t}\n}\n\nexport default MediaObject;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// ### React\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\n// ### classNames\n// [github.com/JedWatson/classnames](https://github.com/JedWatson/classnames)\n// This project uses `classnames`, \"a simple javascript utility for conditionally\n// joining classNames together.\"\nimport classnames from 'classnames';\n\n// ## Children\nimport MediaObject from '../../media-object';\n\nimport { CARD_HEADER } from '../../../utilities/constants';\n\n// Allow for predicatable DOM queries with `querySelectorAll(cssClasses.base)`\nconst idSuffixes = {\n\theaderActions: '__header-actions',\n\theading: '__heading',\n\tfilter: '__filter-input',\n};\n\nconst renderFilter = (filter, id) => {\n\t// allow id to be set by custom header component passed in\n\tconst clonedFilter = React.cloneElement(filter, {\n\t\tid: filter.props.id || id,\n\t});\n\n\treturn (\n\t\t<div className=\"slds-input-has-icon slds-input-has-icon_left slds-size_1-of-3\">\n\t\t\t{clonedFilter}\n\t\t</div>\n\t);\n};\n\nrenderFilter.displayName = 'renderFilter';\n\n/**\n * Card Header is a private component and is not meant to be imported or used for Card's `header` prop. It just happens to have the same file name.\n */\nconst CardHeader = (props) => {\n\tlet title = null;\n\n\tif (typeof props.heading === 'string' || props.heading instanceof String) {\n\t\ttitle = props.heading;\n\t}\n\n\tconst heading = (\n\t\t<h2\n\t\t\tid={props.headingId}\n\t\t\tclassName=\"slds-text-heading_small slds-truncate\"\n\t\t\ttitle={title}\n\t\t>\n\t\t\t{props.heading}\n\t\t</h2>\n\t);\n\n\tlet Header;\n\n\tif (props.header) {\n\t\tHeader = React.cloneElement(props.header, {\n\t\t\tfigure: props.icon,\n\t\t\tbody: heading,\n\t\t\tverticalCenter: true,\n\t\t\tcanTruncate: true,\n\t\t\t...props.header.props,\n\t\t});\n\t} else {\n\t\tHeader = (\n\t\t\t<MediaObject\n\t\t\t\tfigure={props.icon}\n\t\t\t\tbody={heading}\n\t\t\t\tverticalCenter\n\t\t\t\tcanTruncate\n\t\t\t/>\n\t\t);\n\t}\n\n\tconst hasFilter = props.filter ? true : null;\n\n\treturn (\n\t\t<div className={classnames('slds-card__header', 'slds-grid')}>\n\t\t\t{Header}\n\t\t\t{props.filter ? renderFilter(props.filter, props.filterId) : null}\n\t\t\t<div\n\t\t\t\tid={props.headerActionsId}\n\t\t\t\tclassName={classnames('slds-no-flex', {\n\t\t\t\t\t'slds-size_1-of-3': hasFilter,\n\t\t\t\t\t'slds-text-align_right': hasFilter,\n\t\t\t\t})}\n\t\t\t>\n\t\t\t\t{props.headerActions}\n\t\t\t</div>\n\t\t</div>\n\t);\n};\n\n// ### Display Name\n// Always use the canonical component name as the React display name.\nCardHeader.displayName = CARD_HEADER;\n\n// ### Prop Types\nCardHeader.propTypes = {\n\t/**\n\t * Adds a filter input to the card header\n\t */\n\tfilter: PropTypes.node,\n\t/**\n\t * Set the HTML `id` of the card filter.\n\t */\n\tfilterId: PropTypes.string,\n\t/**\n\t * Allows a custom header (the media object with the icon in the first column). `icon`, `heading` and other props are passed in the media object from Card. Use `design-system-react/components/media-object` to create your own.\n\t */\n\theader: PropTypes.node,\n\t/**\n\t * Actions performed on selected items or that relate to the entire group of items such as \"Add Item.\"\"\n\t */\n\theaderActions: PropTypes.node,\n\t/**\n\t * Set the HTML `id` of the card header actions.\n\t */\n\theaderActionsId: PropTypes.string,\n\t/**\n\t * The heading is the name of the related item group.\n\t */\n\theading: PropTypes.oneOfType([PropTypes.element, PropTypes.string])\n\t\t.isRequired,\n\t/**\n\t * Set the HTML `id` of the card heading.\n\t */\n\theadingId: PropTypes.string,\n\t/**\n\t * Icon associated with grouped items\n\t */\n\ticon: PropTypes.node,\n};\n\nexport default CardHeader;\nexport { idSuffixes };\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// ### React\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\n// ### classNames\n// [github.com/JedWatson/classnames](https://github.com/JedWatson/classnames)\n// This project uses `classnames`, \"a simple javascript utility for conditionally joining classNames together.\"\nimport classNames from 'classnames';\n\nimport { CARD_BODY } from '../../../utilities/constants';\n\nconst CardBody = (props) => (\n\t<div className={classNames('slds-card__body', props.className)} id={props.id}>\n\t\t{props.children}\n\t</div>\n);\n\nCardBody.displayName = CARD_BODY;\n\nCardBody.propTypes = {\n\t/**\n\t * Elements to place in the body.\n\t */\n\tchildren: PropTypes.node,\n\t/**\n\t * CSS classes to be added to the card.\n\t */\n\tclassName: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\t/**\n\t * Set the HTML `id` of the body.\n\t */\n\tid: PropTypes.string,\n};\n\nexport default CardBody;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// ### React\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\nimport { CARD_FOOTER } from '../../../utilities/constants';\n\nconst CardFooter = (props) => (\n\t<div className=\"slds-card__footer\">{props.children}</div>\n);\n\nCardFooter.displayName = CARD_FOOTER;\n\nCardFooter.propTypes = {\n\t/**\n\t * Elements to place in the footer.\n\t */\n\tchildren: PropTypes.node,\n};\n\nexport default CardFooter;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// ### React\n// React is an external dependency of the project.\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\nimport { CARD_EMPTY } from '../../utilities/constants';\n\n/**\n * A default empty state for Cards.\n */\nconst CardEmpty = (props) => (\n\t<div className=\"slds-p-horizontal_small\">\n\t\t<div className=\"slds-text-align_center slds-m-bottom_x-large\">\n\t\t\t<h3 className=\"slds-text-heading_small slds-p-top_large slds-p-bottom_large\">\n\t\t\t\t{props.heading}\n\t\t\t</h3>\n\t\t\t{props.children}\n\t\t</div>\n\t</div>\n);\n\n// ### Display Name\n// Always use the canonical component name as the React display name.\nCardEmpty.displayName = CARD_EMPTY;\n\n// ### Prop Types\nCardEmpty.propTypes = {\n\t/**\n\t * Additional call to actions that will render under the heading. Often this is an \"Add Item\" button.\n\t */\n\tchildren: PropTypes.node,\n\t/**\n\t * Primary text for an Empty Card.\n\t */\n\theading: PropTypes.string,\n};\n\nCardEmpty.defaultProps = {\n\theading: 'No Related Items',\n};\n\nexport default CardEmpty;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// # Card Component\n\n// Implements the [Card design pattern](https://www.lightningdesignsystem.com/components/cards/) in React.\n// Based on SLDS v2.2.1\n\n// ### React\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\n// ### classNames\n// [github.com/JedWatson/classnames](https://github.com/JedWatson/classnames)\n// This project uses `classnames`, \"a simple javascript utility for conditionally\n// joining classNames together.\"\nimport classnames from 'classnames';\n\n// ## Children\nimport Header from './private/header';\nimport Body from './private/body';\nimport Footer from './private/footer';\nimport Empty from './empty';\n\nimport { CARD } from '../../utilities/constants';\n\nconst idSuffixes = {\n\tbody: '__body',\n\theaderActions: '__header-actions',\n\theading: '__heading',\n\tfilter: '__filter-input',\n};\n\n/**\n * Cards are used to apply a container around a related grouping of information. It has a header, a body, and an optional footer. It often contains a DataTable or Tile (coming soon). Actions associated with selected items or with all items are included within the header actions. Footer often contains pagination.\n */\nconst Card = (props) => {\n\tconst bodyId = props.id ? props.id + idSuffixes.body : null;\n\tconst filterId = props.id ? props.id + idSuffixes.filter : null;\n\tconst headingId = props.id ? props.id + idSuffixes.heading : null;\n\tconst headerActionsId = props.id ? props.id + idSuffixes.headerActions : null;\n\n\tlet { empty } = props;\n\tif (empty === true) {\n\t\t// Can be overridden by passing in a node to the empty prop\n\t\tempty = <Empty id={props.id} heading={props.heading} />;\n\t}\n\n\treturn (\n\t\t<article\n\t\t\tid={props.id}\n\t\t\tclassName={classnames('slds-card', props.className)}\n\t\t\tstyle={props.style}\n\t\t>\n\t\t\t{!props.hasNoHeader && (\n\t\t\t\t<Header\n\t\t\t\t\theader={props.header}\n\t\t\t\t\theadingId={headingId}\n\t\t\t\t\ticon={props.icon}\n\t\t\t\t\tfilter={props.filter}\n\t\t\t\t\tfilterId={filterId}\n\t\t\t\t\theading={props.heading}\n\t\t\t\t\theaderActions={props.headerActions}\n\t\t\t\t\theaderActionsId={headerActionsId}\n\t\t\t\t/>\n\t\t\t)}\n\t\t\t{!empty ? (\n\t\t\t\t<Body id={bodyId} className={props.bodyClassName}>\n\t\t\t\t\t{props.children}\n\t\t\t\t</Body>\n\t\t\t) : (\n\t\t\t\t<Body id={bodyId} className={props.bodyClassName}>\n\t\t\t\t\t{empty}\n\t\t\t\t</Body>\n\t\t\t)}\n\t\t\t{props.footer ? <Footer>{props.footer}</Footer> : null}\n\t\t</article>\n\t);\n};\n\n// ### Display Name\n// Always use the canonical component name as the React display name.\nCard.displayName = CARD;\n\nCard.defaultProps = {\n\theading: 'Related Items',\n};\n\n// ### Prop Types\nCard.propTypes = {\n\t/**\n\t * CSS classes to be added to the card body (wraps children).\n\t */\n\tbodyClassName: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\t/**\n\t * The main section of the card. It often contains a `DataTable` or `Tile`.\n\t */\n\tchildren: PropTypes.node,\n\t/**\n\t * CSS classes to be added to the card.\n\t */\n\tclassName: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\t/**\n\t * Replaces the body (that is the children) with the specified empty state, this will also remove header actions, the filter, and the icon. If the default empty state is wanted, set to `true`.\n\t */\n\tempty: PropTypes.oneOfType([PropTypes.bool, PropTypes.node]),\n\t/**\n\t * Adds a filter input to the card header.\n\t */\n\tfilter: PropTypes.node,\n\t/**\n\t * Footer often contains pagination.\n\t */\n\tfooter: PropTypes.node,\n\t/**\n\t * Allows card to have no header, and ignores header related props altogether.\n\t */\n\thasNoHeader: PropTypes.bool,\n\t/**\n\t * Allows a custom header (the media object with the icon in the first column). `icon`, `heading` and other props are passed into the media object from Card if present. Use `design-system-react/components/media-object` to create your own custom header.\n\t */\n\theader: PropTypes.node,\n\t/**\n\t * The heading is the name of the related item group and should only contain inline elements.\n\t */\n\theading: PropTypes.oneOfType([PropTypes.node, PropTypes.string]).isRequired,\n\t/**\n\t * Actions to perform on selected items or actions that are not specific to one item such as adding an item. If no group actions are needed, then the number of selected items is often present.\n\t */\n\theaderActions: PropTypes.node,\n\t/**\n\t * Icon associated with the items within the `body`.\n\t */\n\ticon: PropTypes.node,\n\t/**\n\t * Set the HTML `id` of the card. This also sets the `id` of the filter and the header actions.\n\t */\n\tid: PropTypes.string,\n\t/**\n\t * Custom styles to be added to the card.\n\t */\n\tstyle: PropTypes.object,\n};\n\nexport default Card;\nexport { idSuffixes };\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// ### React\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\n// ### classNames\n// [github.com/JedWatson/classnames](https://github.com/JedWatson/classnames)\n// A simple javascript utility for conditionally joining classNames together.\nimport classNames from 'classnames';\n\n// ### isFunction\nimport isFunction from 'lodash.isfunction';\n\n// ## Children\nimport UtilityIcon from '../../utilities/utility-icon';\nimport Button from '../../button';\n\n// ## Constants\nimport { ICON_INPUT } from '../../../utilities/constants';\n\n/**\n * A wrapper for icons that will be rendered inside of an Input\n *\n * If the `onClick` function prop is provided, the `design-system-react/components/button` component is used.\n * If not, the icon will be an instance of `design-system-react/components/utilities/utility-icon`.\n * Checkout out the appropriate component to see what props can be passed along via the `{...props}` rest operator\n */\nconst InputIcon = (props) => {\n\tconst {\n\t\tcategory,\n\t\ticonPosition,\n\t\tname,\n\t\tpath,\n\t\tonClick,\n\t\tvariant,\n\t\t...rest\n\t} = props;\n\n\t// need to pass click event up on SVG\n\n\tconst variants = {\n\t\tcombobox: (\n\t\t\t<span className=\"slds-icon_container slds-input__icon slds-input__icon_right\">\n\t\t\t\t<UtilityIcon\n\t\t\t\t\taria-hidden\n\t\t\t\t\tcategory={category}\n\t\t\t\t\tclassName={classNames(\n\t\t\t\t\t\t'slds-icon slds-icon_x-small slds-icon-text-default'\n\t\t\t\t\t)}\n\t\t\t\t\tname={name}\n\t\t\t\t\tpath={path}\n\t\t\t\t\t{...rest}\n\t\t\t\t/>\n\t\t\t</span>\n\t\t),\n\t\tbase: (\n\t\t\t<UtilityIcon\n\t\t\t\taria-hidden\n\t\t\t\tcategory={category}\n\t\t\t\tclassName={classNames('slds-input__icon slds-icon-text-default', {\n\t\t\t\t\t[`slds-input__icon_${iconPosition}`]: iconPosition,\n\t\t\t\t})}\n\t\t\t\tname={name}\n\t\t\t\tpath={path}\n\t\t\t\t{...rest}\n\t\t\t/>\n\t\t),\n\t};\n\n\treturn isFunction(onClick) ? (\n\t\t<Button\n\t\t\tclassName={classNames('slds-input__icon', {\n\t\t\t\t[`slds-input__icon_${iconPosition}`]: iconPosition,\n\t\t\t})}\n\t\t\ticonCategory={category}\n\t\t\ticonName={name}\n\t\t\ticonPath={path}\n\t\t\tonClick={onClick}\n\t\t\tvariant=\"icon\"\n\t\t\t{...rest}\n\t\t/>\n\t) : (\n\t\tvariants[variant]\n\t);\n};\n\nInputIcon.displayName = ICON_INPUT;\n\nInputIcon.propTypes = {\n\t/**\n\t * Icon category from [lightningdesignsystem.com/icons/](https://www.lightningdesignsystem.com/icons/)\n\t */\n\tcategory: PropTypes.string,\n\t/**\n\t * This is only needed if an input contains two icons, the Input component handles this prop for you.\n\t */\n\ticonPosition: PropTypes.oneOf(['left', 'right']),\n\t/**\n\t * Name of the icon. Visit <a href='http://www.lightningdesignsystem.com/resources/icons'>Lightning Design System Icons</a> to reference icon names.\n\t */\n\tname: PropTypes.string,\n\t/**\n\t * Path to the icon. This will override any global icon settings.\n\t */\n\tpath: PropTypes.string,\n\t/**\n\t * This event fires when the icon is clicked.\n\t */\n\tonClick: PropTypes.func,\n\t/**\n\t * Changes styles of the InputIcon.\n\t */\n\tvariant: PropTypes.oneOf(['base', 'combobox']),\n};\n\nInputIcon.defaultProps = {\n\tcategory: 'utility',\n\tvariant: 'base',\n};\n\nexport default InputIcon;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n/* eslint-disable import/no-mutable-exports */\n\nimport sunsetProperty from '../../utilities/warning/sunset-property';\nimport getComponentDocFn from '../../utilities/get-component-doc';\n\nlet checkProps = function checkPropsFunction() {};\n\nif (process.env.NODE_ENV !== 'production') {\n\tcheckProps = function checkPropsFunction(COMPONENT, props, jsonDoc) {\n\t\tconst createDocUrl = getComponentDocFn(jsonDoc);\n\n\t\tif (typeof props.assistiveText === 'string') {\n\t\t\tsunsetProperty(\n\t\t\t\tCOMPONENT,\n\t\t\t\tprops.assistiveText,\n\t\t\t\t'assistiveText',\n\t\t\t\t`\\`assistiveText\\` as a string has been deprecated and is now an object to allow for multiple uses in the component. Please use \\`assistiveText.label\\` instead. ${createDocUrl(\n\t\t\t\t\t'assistiveText'\n\t\t\t\t)}`\n\t\t\t);\n\t\t}\n\t};\n}\n\nexport default checkProps;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// # Spinner Component --- SLDS for React\n\n// Implements the [Spinner design pattern - 2.1.0-beta.3 (204)](https://latest-204.lightningdesignsystem.com/components/spinners) in React.\n\n// ### React\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\nimport classNames from 'classnames';\n\nimport checkProps from './check-props';\n\n// ## Constants\nimport { SPINNER } from '../../utilities/constants';\n\nimport componentDoc from './component.json';\n\n// ### Prop Types\nconst propTypes = {\n\t/**\n\t * **Assistive text for accessibility.**\n\t * This object is merged with the default props object on every render.\n\t * * `label`: Assistive text that is read out loud to screen readers.\n\t */\n\tassistiveText: PropTypes.shape({\n\t\tlabel: PropTypes.string,\n\t}),\n\t/**\n\t * Custom css classes applied to Spinner container\n\t */\n\tcontainerClassName: PropTypes.string,\n\t/**\n\t * Custom css properties applied to Spinner container\n\t */\n\tcontainerStyle: PropTypes.object,\n\t/**\n\t * Render the spinner inside of a container.\n\t */\n\thasContainer: PropTypes.bool,\n\t/**\n\t * Unique html id placed on div with role=\"status\".\n\t */\n\tid: PropTypes.string,\n\t/**\n\t * Adds delay of 300ms to the spinner\n\t */\n\tisDelayed: PropTypes.bool,\n\t/**\n\t * Add styling to support a spinner inside an input field.\n\t */\n\tisInput: PropTypes.bool,\n\t/**\n\t * Add styling to support an inline spinner inside of the document flow.\n\t */\n\tisInline: PropTypes.bool,\n\t/**\n\t * Determines the size of the spinner\n\t */\n\tsize: PropTypes.oneOf(['xx-small', 'x-small', 'small', 'medium', 'large']),\n\t/**\n\t * Determines the color of the spinner: `base` is gray, `brand` is blue, and `inverse` is white.\n\t */\n\tvariant: PropTypes.oneOf(['base', 'brand', 'inverse']),\n};\n\nconst defaultProps = {\n\tassistiveText: { label: 'Loading...' },\n\tisDelayed: false,\n\tisInline: false,\n\tisInput: false,\n\thasContainer: true,\n\tsize: 'medium',\n\tvariant: 'base',\n};\n\n/**\n * Spinners are CSS loading indicators that should be shown when retrieving data or performing slow computations. In some cases, the first time a parent component loads, a stencil is preferred to indicate network activity.\n */\nconst Spinner = (props) => {\n\tcheckProps(SPINNER, props, componentDoc);\n\tconst {\n\t\tcontainerClassName,\n\t\tcontainerStyle,\n\t\tid,\n\t\tisDelayed,\n\t\tisInline,\n\t\tisInput,\n\t\thasContainer,\n\t\tsize,\n\t\tvariant,\n\t} = props;\n\tconst assistiveText =\n\t\ttypeof props.assistiveText === 'string'\n\t\t\t? props.assistiveText\n\t\t\t: {\n\t\t\t\t\t...defaultProps.assistiveText,\n\t\t\t\t\t...props.assistiveText,\n\t\t\t }.label;\n\n\tconst spinnerClassName = classNames('slds-spinner', {\n\t\t'slds-spinner_inline': isInline,\n\t\t'slds-input__spinner': isInput,\n\t\t'slds-spinner_brand': variant === 'brand',\n\t\t'slds-spinner_inverse': variant === 'inverse',\n\t\t'slds-spinner_delayed': isDelayed,\n\t\t[`slds-spinner_${size}`]: size,\n\t});\n\n\tconst spinner = (\n\t\t<div aria-hidden=\"false\" className={spinnerClassName} id={id} role=\"status\">\n\t\t\t{assistiveText && (\n\t\t\t\t<span className=\"slds-assistive-text\">{assistiveText}</span>\n\t\t\t)}\n\t\t\t<div className=\"slds-spinner__dot-a\" />\n\t\t\t<div className=\"slds-spinner__dot-b\" />\n\t\t</div>\n\t);\n\n\treturn hasContainer ? (\n\t\t<div\n\t\t\tclassName={classNames(containerClassName, 'slds-spinner_container')}\n\t\t\tstyle={containerStyle}\n\t\t>\n\t\t\t{spinner}\n\t\t</div>\n\t) : (\n\t\tspinner\n\t);\n};\n\nSpinner.displayName = SPINNER;\nSpinner.propTypes = propTypes;\nSpinner.defaultProps = defaultProps;\n\nexport default Spinner;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n/* eslint-disable jsx-a11y/aria-activedescendant-has-tabindex */\n\n// ### React\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\nimport classNames from 'classnames';\nimport Spinner from '../../../components/spinner';\n\nimport getAriaProps from '../../../utilities/get-aria-props';\n\nconst COUNTER = 'counter';\n\nconst propTypes = {\n\t'aria-activedescendant': PropTypes.string,\n\t'aria-autocomplete': PropTypes.string,\n\t/**\n\t * An HTML ID that is shared with ARIA-supported devices with the\n\t * `aria-controls` attribute in order to relate the input with\n\t * another region of the page. An example would be a select box\n\t * that shows or hides a panel.\n\t */\n\t'aria-controls': PropTypes.string,\n\t'aria-describedby': PropTypes.string,\n\t'aria-expanded': PropTypes.bool,\n\t'aria-haspopup': PropTypes.oneOfType([PropTypes.bool, PropTypes.string]),\n\t'aria-labelledby': PropTypes.string,\n\t/**\n\t * An HTML ID that is shared with ARIA-supported devices with the\n\t * `aria-controls` attribute in order to relate the input with\n\t * another region of the page. An example would be a search field\n\t * that shows search results.\n\t */\n\t'aria-owns': PropTypes.string,\n\t'aria-required': PropTypes.bool,\n\t/**\n\t * **Assistive text for accessibility.**\n\t * This object is merged with the default props object on every render.\n\t * * `spinner`: Assistive text on the spinner.\n\t */\n\tassistiveText: PropTypes.shape({\n\t\tspinner: PropTypes.string,\n\t}),\n\t/**\n\t * Disabled brower's autocomplete when \"off\" is used.\n\t */\n\tautoComplete: PropTypes.string,\n\t/**\n\t * Class names to be added to the `input` element.\n\t */\n\tclassName: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\t/**\n\t * Class names to be added to the outer container `div` of the input.\n\t */\n\tcontainerClassName: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\t/**\n\t * Props to be added to the outer container `div` of the input (excluding `containerClassName`).\n\t */\n\tcontainerProps: PropTypes.object,\n\t/**\n\t * Disables the input and prevents editing the contents.\n\t */\n\tdisabled: PropTypes.bool,\n\t/**\n\t * Displays text or node to the left of the input. This follows the fixed text input UX pattern.\n\t */\n\tfixedTextLeft: PropTypes.oneOfType([PropTypes.node, PropTypes.string]),\n\t/**\n\t * Displays text or node to the right of the input. This follows the fixed text input UX pattern.\n\t */\n\tfixedTextRight: PropTypes.oneOfType([PropTypes.node, PropTypes.string]),\n\t/**\n\t * If true, loading spinner appears inside input on right hand side.\n\t */\n\thasSpinner: PropTypes.bool,\n\t/**\n\t * Left aligned icon, must be instance of `design-system-react/components/icon/input-icon`\n\t */\n\ticonLeft: PropTypes.node,\n\t/**\n\t * Right aligned icon, must be instance of `design-system-react/components/icon/input-icon`\n\t */\n\ticonRight: PropTypes.node,\n\t/**\n\t * Every input must have a unique ID in order to support keyboard navigation and ARIA support.\n\t */\n\tid: PropTypes.string.isRequired,\n\t/**\n\t * This callback exposes the input reference / DOM node to parent components. `<Parent inputRef={(inputComponent) => this.input = inputComponent} />\n\t */\n\tinputRef: PropTypes.func,\n\t/**\n\t * Displays the value of the input statically. This follows the static input UX pattern.\n\t */\n\tisStatic: PropTypes.bool,\n\t/**\n\t * This label appears above the input.\n\t */\n\tlabel: PropTypes.string,\n\tonBlur: PropTypes.func,\n\t/**\n\t * This callback fires when the input changes. The synthetic React event will be the first parameter to the callback. You will probably want to reference `event.target.value` in your callback. No custom data object is provided.\n\t */\n\tonChange: PropTypes.func,\n\t/**\n\t * This event fires when the input is clicked.\n\t */\n\tonClick: PropTypes.func,\n\tonFocus: PropTypes.func,\n\tonInput: PropTypes.func,\n\tonInvalid: PropTypes.func,\n\tonKeyDown: PropTypes.func,\n\tonKeyPress: PropTypes.func,\n\tonKeyUp: PropTypes.func,\n\tonSelect: PropTypes.func,\n\tonSubmit: PropTypes.func,\n\t/**\n\t * Text that will appear in an empty input.\n\t */\n\tplaceholder: PropTypes.string,\n\tminLength: PropTypes.string,\n\t/**\n\t * Specifies minimum accepted value for an input of type \"number\"\n\t */\n\tminValue: PropTypes.number,\n\tmaxLength: PropTypes.string,\n\t/**\n\t * Specifies maximum accepted value for an input of type \"number\"\n\t */\n\tmaxValue: PropTypes.number,\n\t/**\n\t * Name of the submitted form parameter.\n\t */\n\tname: PropTypes.string,\n\t/**\n\t * Specifies `readOnly` for `input` node.\n\t */\n\treadOnly: PropTypes.bool,\n\t/**\n\t * Highlights the input as a required field (does not perform any validation).\n\t */\n\trequired: PropTypes.bool,\n\t/**\n\t * `role` to be added to `input` node\n\t */\n\trole: PropTypes.string,\n\t/**\n\t * Determines the step size upon increment or decrement. Can be set to decimal values.\n\t */\n\tstep: PropTypes.number,\n\t/**\n\t * Style object to be added to `input` node\n\t */\n\tstyle: PropTypes.object,\n\t/**\n\t * Specifies `tabIndex` for `input` node\n\t */\n\ttabIndex: PropTypes.string,\n\t/**\n\t * The `<Input>` element includes support for all HTML5 types.\n\t */\n\ttype: PropTypes.oneOf([\n\t\t'text',\n\t\t'password',\n\t\t'datetime',\n\t\t'datetime-local',\n\t\t'date',\n\t\t'month',\n\t\t'time',\n\t\t'week',\n\t\t'number',\n\t\t'email',\n\t\t'url',\n\t\t'search',\n\t\t'tel',\n\t\t'color',\n\t]),\n\t/**\n\t * The input is a controlled component, and will always display this value.\n\t */\n\tvalue: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n\t/**\n\t * Which UX pattern of input? The default is `base` while other option is `counter`\n\t */\n\tvariant: PropTypes.oneOf(['base', COUNTER]),\n\t/**\n\t * This is the initial value of an uncontrolled form element and is present only to provide\n\t * compatibility with hybrid framework applications that are not entirely React. It should only\n\t * be used in an application without centralized state (Redux, Flux). \"Controlled components\"\n\t * with centralized state is highly recommended.\n\t * See [Code Overview](https://github.com/salesforce/design-system-react/blob/master/docs/codebase-overview.md#controlled-and-uncontrolled-components) for more information.\n\t */\n\tdefaultValue: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n};\n\nconst defaultProps = {\n\tassistiveText: {\n\t\tspinner: 'Loading ...',\n\t},\n\ttype: 'text',\n};\n\n/*\n * This component was created to allow the DIV wrapped input to be used within other components such as combobox. This components API is not public.\n */\nconst InnerInput = (props) => {\n\tconst ariaProps = getAriaProps(props);\n\tariaProps['aria-describedby'] = props.hasSpinner\n\t\t? `loading-status-icon ${props['aria-describedby']}`\n\t\t: props['aria-describedby'];\n\n\tconst {\n\t\tclassName: containerClassName,\n\t\t...containerProps\n\t} = props.containerProps;\n\n\tconst assistiveText = {\n\t\t...defaultProps.assistiveText,\n\t\t...props.assistiveText,\n\t};\n\n\treturn (\n\t\t<div\n\t\t\tclassName={classNames(containerClassName, {\n\t\t\t\t'slds-input-has-icon':\n\t\t\t\t\tprops.variant !== COUNTER && (props.iconLeft || props.iconRight),\n\t\t\t\t'slds-input-has-icon_left': props.iconLeft && !props.iconRight,\n\t\t\t\t'slds-input-has-icon_right': !props.iconLeft && props.iconRight,\n\t\t\t\t'slds-input-has-icon_left-right':\n\t\t\t\t\tprops.variant !== COUNTER && props.iconLeft && props.iconRight,\n\t\t\t\t'slds-input-has-fixed-addon':\n\t\t\t\t\tprops.fixedTextLeft || props.fixedTextRight,\n\t\t\t\t'slds-has-divider_bottom': props.isStatic,\n\t\t\t})}\n\t\t\t{...containerProps}\n\t\t>\n\t\t\t{props.iconLeft && props.iconLeft}\n\t\t\t{props.fixedTextLeft && (\n\t\t\t\t<span className=\"slds-form-element__addon\">{props.fixedTextLeft}</span>\n\t\t\t)}\n\n\t\t\t{!props.isStatic && (\n\t\t\t\t<input\n\t\t\t\t\tautoComplete={props.autoComplete}\n\t\t\t\t\tclassName={classNames(\n\t\t\t\t\t\t'slds-input',\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t'slds-text-align_left':\n\t\t\t\t\t\t\t\tprops.variant === COUNTER && props.readOnly,\n\t\t\t\t\t\t},\n\t\t\t\t\t\tprops.className\n\t\t\t\t\t)}\n\t\t\t\t\tdisabled={props.disabled}\n\t\t\t\t\tid={props.id}\n\t\t\t\t\tmin={props.minValue}\n\t\t\t\t\tminLength={props.minLength}\n\t\t\t\t\tmax={props.maxValue}\n\t\t\t\t\tmaxLength={props.maxLength}\n\t\t\t\t\tname={props.name}\n\t\t\t\t\tonBlur={props.onBlur}\n\t\t\t\t\tonChange={props.onChange}\n\t\t\t\t\tonClick={props.onClick}\n\t\t\t\t\tonFocus={props.onFocus}\n\t\t\t\t\tonInput={props.onInput}\n\t\t\t\t\tonInvalid={props.onInvalid}\n\t\t\t\t\tonKeyDown={props.onKeyDown}\n\t\t\t\t\tonKeyPress={props.onKeyPress}\n\t\t\t\t\tonKeyUp={props.onKeyUp}\n\t\t\t\t\tonSelect={props.onSelect}\n\t\t\t\t\tonSubmit={props.onSubmit}\n\t\t\t\t\tplaceholder={props.placeholder}\n\t\t\t\t\treadOnly={props.readOnly}\n\t\t\t\t\tref={props.inputRef}\n\t\t\t\t\trequired={props.required}\n\t\t\t\t\trole={props.role}\n\t\t\t\t\tstep={props.step}\n\t\t\t\t\tstyle={props.style}\n\t\t\t\t\ttabIndex={props.tabIndex}\n\t\t\t\t\ttype={props.type}\n\t\t\t\t\t{...ariaProps}\n\t\t\t\t\t/* A form element should not have both value and defaultValue props. */\n\t\t\t\t\t{...(props.value !== undefined\n\t\t\t\t\t\t? { value: props.value }\n\t\t\t\t\t\t: { defaultValue: props.defaultValue })}\n\t\t\t\t/>\n\t\t\t)}\n\n\t\t\t{props.hasSpinner ? (\n\t\t\t\t<div className=\"slds-input__icon-group slds-input__icon-group_right\">\n\t\t\t\t\t<Spinner\n\t\t\t\t\t\tassistiveText={{ label: assistiveText.spinner }}\n\t\t\t\t\t\tid=\"loading-status-icon\"\n\t\t\t\t\t\tisInput\n\t\t\t\t\t\tsize=\"x-small\"\n\t\t\t\t\t\tvariant=\"brand\"\n\t\t\t\t\t/>\n\t\t\t\t\t{props.iconRight && props.iconRight}\n\t\t\t\t</div>\n\t\t\t) : (\n\t\t\t\tprops.iconRight && props.iconRight\n\t\t\t)}\n\n\t\t\t{props.fixedTextRight && (\n\t\t\t\t<span className=\"slds-form-element__addon\">{props.fixedTextRight}</span>\n\t\t\t)}\n\n\t\t\t{/* eslint-disable jsx-a11y/no-static-element-interactions */}\n\t\t\t{props.isStatic && (\n\t\t\t\t<span\n\t\t\t\t\tclassName={classNames('slds-form-element__static', 'slds-grid', {\n\t\t\t\t\t\t'slds-grid_align-spread': props.variant !== COUNTER,\n\t\t\t\t\t})}\n\t\t\t\t\tonClick={props.onClick}\n\t\t\t\t>\n\t\t\t\t\t{props.value}\n\t\t\t\t\t{props.inlineEditTrigger}\n\t\t\t\t</span>\n\t\t\t)}\n\t\t\t{/* eslint-enable jsx-a11y/no-static-element-interactions */}\n\t\t</div>\n\t);\n};\n\nInnerInput.displayName = 'SLDSInnerInput';\nInnerInput.propTypes = propTypes;\nInnerInput.defaultProps = defaultProps;\n\nexport default InnerInput;\n","/* eslint-disable react/jsx-curly-brace-presence */\n/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\n\nconst propTypes = {\n\t/*\n\t * Assistive Text to use instead of a visible label\n\t */\n\tassistiveText: PropTypes.object,\n\t/**\n\t * Class names to be added to the label\n\t */\n\tclassName: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\t/*\n\t * Id of the input associated with this label\n\t */\n\thtmlFor: PropTypes.string,\n\t/*\n\t * Input Label\n\t */\n\tlabel: PropTypes.string,\n\t/*\n\t * Applies label styling for a required form element\n\t */\n\trequired: PropTypes.bool,\n\t/**\n\t * Changes markup of label.\n\t */\n\tvariant: PropTypes.oneOf(['base', 'static']),\n};\n\nconst defaultProps = {\n\tvariant: 'base',\n};\n\n/*\n * Form label. This returns null if there is no label text (hidden or shown)\n */\nconst Label = (props) => {\n\tconst labelText =\n\t\tprops.label || (props.assistiveText && props.assistiveText.label); // One of these is required to pass accessibility tests\n\n\tconst subRenders = {\n\t\tbase: (\n\t\t\t<label\n\t\t\t\tclassName={classNames(\n\t\t\t\t\t'slds-form-element__label',\n\t\t\t\t\t{\n\t\t\t\t\t\t'slds-assistive-text': props.assistiveText && !props.label,\n\t\t\t\t\t},\n\t\t\t\t\tprops.className\n\t\t\t\t)}\n\t\t\t\thtmlFor={props.htmlFor}\n\t\t\t>\n\t\t\t\t{props.required && (\n\t\t\t\t\t<abbr className=\"slds-required\" title=\"required\">\n\t\t\t\t\t\t{'*'}\n\t\t\t\t\t</abbr>\n\t\t\t\t)}\n\t\t\t\t{labelText}\n\t\t\t</label>\n\t\t),\n\t\tstatic: (\n\t\t\t<span className={classNames('slds-form-element__label', props.className)}>\n\t\t\t\t{labelText}\n\t\t\t</span>\n\t\t),\n\t};\n\n\treturn labelText ? subRenders[props.variant] : null;\n};\n\nLabel.displayName = 'Label';\nLabel.propTypes = propTypes;\nLabel.defaultProps = defaultProps;\n\nexport default Label;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n/* eslint-disable import/no-mutable-exports */\n/* eslint-disable max-len */\n\nimport deprecatedProperty from '../../utilities/warning/deprecated-property';\nimport sunsetProperty from '../../utilities/warning/sunset-property';\n// import oneOfRequiredProperty from '../../../utilities/warning/one-of-required-property';\nimport onlyOneOfProperties from '../../utilities/warning/only-one-of-properties';\nimport getComponentDocFn from '../../utilities/get-component-doc';\n\nimport { INPUT, SEARCH } from '../../utilities/constants';\n\nlet checkProps = function checkPropsFunction() {};\n\nif (process.env.NODE_ENV !== 'production') {\n\tcheckProps = function checkPropsFunction(COMPONENT, props = {}, jsonDoc) {\n\t\tconst createDocUrl = getComponentDocFn(jsonDoc);\n\n\t\tif (COMPONENT === INPUT) {\n\t\t\tconst iconDeprecatedMessage = `Please use \\`iconLeft\\` and \\`iconRight\\` to pass in a customized <Icon> component. ${createDocUrl()}`;\n\n\t\t\t// Deprecated and changed to another property\n\t\t\tdeprecatedProperty(\n\t\t\t\tCOMPONENT,\n\t\t\t\tprops.assistiveText && props.assistiveText.fieldLevelHelpButton,\n\t\t\t\t'assistiveText.fieldLevelHelpButton',\n\t\t\t\tundefined,\n\t\t\t\t`Please pass a \\`Tooltip\\` component into \\`fieldLevelHelpTooltip\\` with \\`assistiveText.triggerLearnMoreIcon\\`.`\n\t\t\t);\n\t\t\tdeprecatedProperty(\n\t\t\t\tCOMPONENT,\n\t\t\t\tprops.iconCategory,\n\t\t\t\t'iconCategory',\n\t\t\t\tundefined,\n\t\t\t\ticonDeprecatedMessage\n\t\t\t);\n\t\t\tdeprecatedProperty(\n\t\t\t\tCOMPONENT,\n\t\t\t\tprops.iconName,\n\t\t\t\t'iconName',\n\t\t\t\tundefined,\n\t\t\t\ticonDeprecatedMessage\n\t\t\t);\n\t\t\tdeprecatedProperty(\n\t\t\t\tCOMPONENT,\n\t\t\t\tprops.iconPosition,\n\t\t\t\t'iconPosition',\n\t\t\t\tundefined,\n\t\t\t\ticonDeprecatedMessage\n\t\t\t);\n\t\t\tdeprecatedProperty(\n\t\t\t\tCOMPONENT,\n\t\t\t\tprops.iconAssistiveText,\n\t\t\t\t'iconAssistiveText',\n\t\t\t\tundefined,\n\t\t\t\ticonDeprecatedMessage\n\t\t\t);\n\t\t\tdeprecatedProperty(\n\t\t\t\tCOMPONENT,\n\t\t\t\tprops.onIconClick,\n\t\t\t\t'onIconClick',\n\t\t\t\tundefined,\n\t\t\t\ticonDeprecatedMessage\n\t\t\t);\n\n\t\t\tif (typeof props.assistiveText === 'string') {\n\t\t\t\tsunsetProperty(\n\t\t\t\t\tCOMPONENT,\n\t\t\t\t\tprops.assistiveText,\n\t\t\t\t\t'assistiveText',\n\t\t\t\t\t`AssistiveText as a string has been deprecated and is now an object to allow for multiple uses in the component. Please use either assistiveText.label or assistiveText.spinner. ${createDocUrl(\n\t\t\t\t\t\t'assistiveText'\n\t\t\t\t\t)}`\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tonlyOneOfProperties(\n\t\t\t\tCOMPONENT,\n\t\t\t\t{\n\t\t\t\t\t'assistiveText.label':\n\t\t\t\t\t\tprops.assistiveText && props.assistiveText.label,\n\t\t\t\t\tlabel: props.label,\n\t\t\t\t},\n\t\t\t\tcreateDocUrl('assistiveText')\n\t\t\t);\n\n\t\t\tonlyOneOfProperties(\n\t\t\t\tCOMPONENT,\n\t\t\t\t{\n\t\t\t\t\tfixedTextLeft: props.fixedTextLeft,\n\t\t\t\t\tfixedTextRight: props.fixedTextRight,\n\t\t\t\t},\n\t\t\t\tcreateDocUrl('assistiveText')\n\t\t\t);\n\n\t\t\t/*\n\t\t\t* Once we support horizontal labels, then I think we can enable this check\n\t\t\t*\n\t\t\tif (!props.inlineEditTrigger) {\n\t\t\t\toneOfRequiredProperty(COMPONENT, {\n\t\t\t\t\tassistiveText: props.assistiveText,\n\t\t\t\t\tlabel: props.label\n\t\t\t\t});\n\t\t\t}\n\t\t\t*/\n\t\t} else if (COMPONENT === SEARCH) {\n\t\t\tif (typeof props.assistiveText === 'string') {\n\t\t\t\tsunsetProperty(\n\t\t\t\t\tCOMPONENT,\n\t\t\t\t\tprops.assistiveText,\n\t\t\t\t\t'assistiveText',\n\t\t\t\t\t`\\`assistiveText\\` as a string has been deprecated and is now an object to allow for multiple uses in the component. Please use \\`assistiveText.label\\` instead. ${createDocUrl(\n\t\t\t\t\t\t'assistiveText'\n\t\t\t\t\t)}`\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\t};\n}\n\nexport default checkProps;\n","/*\n * Remove keys with undefined values. This is useful\n * for merging object props like `assistiveText` and `labels`\n * and keeping default prop values.\n */\n\nconst removeUndefined = (obj) => {\n\tconst newObj = {};\n\tObject.keys(obj).forEach((prop) => {\n\t\tif (typeof obj[prop] !== 'undefined') {\n\t\t\tnewObj[prop] = obj[prop];\n\t\t}\n\t});\n\treturn newObj;\n};\n\nconst helpers = { removeUndefined };\n\nexport default helpers;\n","/*\n * Field Level Help Tooltip for input labels\n */\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\nimport Tooltip from '../index';\nimport objectHelpers from '../../../utilities/object';\n\nconst propTypes = {\n\t/*\n\t * Assistive Text object from parent component such as Input, Combobox, etc.\n\t */\n\tassistiveText: PropTypes.shape({\n\t\ttriggerLearnMoreIcon: PropTypes.string,\n\t}),\n\t/*\n\t * Tooltip from external prop\n\t */\n\tfieldLevelHelpTooltip: PropTypes.node.isRequired,\n};\n\nconst defaultProps = {\n\ttriggerClassName: 'slds-form-element__icon',\n\t// This allows `position: absolute` Tooltips to align properly.\n\t// If not present, tooltip will always be below the info icon // instead of above it.\n\ttriggerStyle: { position: 'static' },\n\tvariant: 'learnMore',\n};\n\nconst FieldLevelHelpTooltip = ({ fieldLevelHelpTooltip, assistiveText = {} }) =>\n\tfieldLevelHelpTooltip ? (\n\t\t<Tooltip\n\t\t\t{...{\n\t\t\t\t// internal default props\n\t\t\t\t...defaultProps,\n\t\t\t\t// props from external developer\n\t\t\t\t...fieldLevelHelpTooltip.props,\n\t\t\t\t// allow backwards compatibility with Input's\n\t\t\t\t// assistiveText.fieldLevelHelpButton\n\t\t\t\t// `Input` used to have an `assistiveText.fieldLevelHelpButton`\n\t\t\t\t// prop and that prop needs to override the default Tooltip\n\t\t\t\t// \"Help\" string.\n\t\t\t\tassistiveText: {\n\t\t\t\t\t...fieldLevelHelpTooltip.props.assistiveText,\n\t\t\t\t\t...objectHelpers.removeUndefined(assistiveText),\n\t\t\t\t},\n\t\t\t}}\n\t\t/>\n\t) : null;\n\nFieldLevelHelpTooltip.propTypes = propTypes;\nFieldLevelHelpTooltip.displayName = 'FieldLevelHelpTooltip';\n\nexport default FieldLevelHelpTooltip;\n","/* eslint-disable max-lines */\n/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// # Input Component\n\n// Implements the [Input design pattern](https://lightningdesignsystem.com/components/forms/#flavor-input) in React. Does not yet implement [fixed text](https://lightningdesignsystem.com/components/forms/#flavor-input-input-fixed-text).\n// Based on SLDS v2.2.1\n//\n\n// ### React\nimport React from 'react';\n\nimport PropTypes from 'prop-types';\n\n// ### classNames\n// [github.com/JedWatson/classnames](https://github.com/JedWatson/classnames)\n// This project uses `classnames`, \"a simple javascript utility for conditionally\n// joining classNames together.\"\nimport classNames from 'classnames';\n\n// ### shortid\n// [npmjs.com/package/shortid](https://www.npmjs.com/package/shortid)\n// shortid is a short, non-sequential, url-friendly, unique id generator\nimport shortid from 'shortid';\n\nimport Button from '../button';\n\n// ## Children\nimport InputIcon from '../icon/input-icon';\nimport InnerInput from './private/inner-input';\nimport Label from '../utilities/label';\n\n// This component's `checkProps` which issues warnings to developers about properties when in development mode (similar to React's built in development tools)\nimport checkProps from './check-props';\n\nimport { INPUT } from '../../utilities/constants';\nimport componentDoc from './component.json';\nimport FieldLevelHelpTooltip from '../tooltip/private/field-level-help-tooltip';\n\nconst COUNTER = 'counter';\nconst DECREMENT = 'Decrement';\nconst INCREMENT = 'Increment';\n\nconst defaultProps = {\n\tassistiveText: {\n\t\tdecrement: `${DECREMENT} ${COUNTER}`,\n\t\tincrement: `${INCREMENT} ${COUNTER}`,\n\t},\n\ttype: 'text',\n};\n\n/**\n * The HTML `input` with a label and error messaging.\n */\nclass Input extends React.Component {\n\tstatic displayName = INPUT;\n\n\tstatic propTypes = {\n\t\t/**\n\t\t * The aria-activedescendant attribute contains the ID of the currently active child object that is part of a composite widget within the Document Object Model. It makes do with the overhead of having all or more than one child focusable. As the name specifies, it helps in managing the current active child of the composite widget.\n\t\t */\n\t\t'aria-activedescendant': PropTypes.string,\n\t\t/**\n\t\t * Indicates if the suggestions in a composite widget are values that complete the current textbox input.\n\t\t */\n\t\t'aria-autocomplete': PropTypes.string,\n\t\t/**\n\t\t * An HTML ID that is shared with ARIA-supported devices with the\n\t\t * `aria-controls` attribute in order to relate the input with\n\t\t * another region of the page. An example would be a select box\n\t\t * that shows or hides a panel.\n\t\t */\n\t\t'aria-controls': PropTypes.string,\n\t\t/**\n\t\t * The `aria-describedby` attribute is used to indicate the IDs of the elements that describe the object. It is used to establish a relationship between widgets or groups and text that described them. This is very similar to aria-labelledby: a label describes the essence of an object, while a description provides more information that the user might need.\n\t\t */\n\t\t'aria-describedby': PropTypes.string,\n\t\t/**\n\t\t * Use the `aria-expanded` state to indicate whether regions of the content are collapsible, and to expose whether a region is currently expanded or collapsed.\n\t\t */\n\t\t'aria-expanded': PropTypes.bool,\n\t\t/**\n\t\t * Indicates that the element has a popup context menu or sub-level menu.\n\t\t */\n\t\t'aria-haspopup': PropTypes.bool,\n\t\t/**\n\t\t * The aria-labelledby attribute contains the element IDs of labels in objects such as input elements, widgets, and groups. The attribute establishes relationships between objects and their labels. Assistive technology, such as screen readers, use this attribute to catalog the objects in a document so that users can navigate between them. Without an element ID, the assistive technology cannot catalog the object.\n\t\t */\n\t\t'aria-labelledby': PropTypes.string,\n\t\t/**\n\t\t * An HTML ID that is shared with ARIA-supported devices with the\n\t\t * `aria-controls` attribute in order to relate the input with\n\t\t * another region of the page. An example would be a search field\n\t\t * that shows search results.\n\t\t */\n\t\t'aria-owns': PropTypes.string,\n\t\t/**\n\t\t * The `aria-required` attribute is used to indicate that user input is required on an element before a form can be submitted.\n\t\t */\n\t\t'aria-required': PropTypes.bool,\n\t\t/**\n\t\t * **Assistive text for accessibility**\n\t\t * * `label`: Visually hidden label but read out loud by screen readers.\n\t\t * * `spinner`: Text for loading spinner icon.\n\t\t */\n\t\tassistiveText: PropTypes.shape({\n\t\t\tlabel: PropTypes.string,\n\t\t\tspinner: PropTypes.string,\n\t\t}),\n\t\t/**\n\t\t * Disabled brower's autocomplete when \"off\" is used.\n\t\t */\n\t\tautoComplete: PropTypes.string,\n\t\t/**\n\t\t * Elements are added after the `input`.\n\t\t */\n\t\tchildren: PropTypes.node,\n\t\t/**\n\t\t * Class names to be added to the outer container of the input.\n\t\t */\n\t\tclassName: PropTypes.oneOfType([\n\t\t\tPropTypes.array,\n\t\t\tPropTypes.object,\n\t\t\tPropTypes.string,\n\t\t]),\n\t\t/**\n\t\t * This is the initial value of an uncontrolled form element and\n\t\t * is present only to provide compatibility with hybrid framework\n\t\t * applications that are not entirely React. It should only be used\n\t\t * in an application without centralized state (Redux, Flux).\n\t\t * \"Controlled components\" with centralized state is highly recommended.\n\t\t * See [Code Overview](https://github.com/salesforce/design-system-react/blob/master/docs/codebase-overview.md#controlled-and-uncontrolled-components) for more information.\n\t\t */\n\t\tdefaultValue: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n\t\t/**\n\t\t * Disables the input and prevents editing the contents.\n\t\t */\n\t\tdisabled: PropTypes.bool,\n\t\t/**\n\t\t * Message to display when the input is in an error state. When this is present, also visually highlights the component as in error.\n\t\t */\n\t\terrorText: PropTypes.oneOfType([PropTypes.node, PropTypes.string]),\n\t\t/**\n\t\t * A [Tooltip](https://react.lightningdesignsystem.com/components/tooltips/) component that is displayed next to the label.\n\t\t */\n\t\tfieldLevelHelpTooltip: PropTypes.node,\n\t\t/**\n\t\t * Displays text or node to the left of the input. This follows the fixed text input UX pattern.\n\t\t */\n\t\tfixedTextLeft: PropTypes.oneOfType([PropTypes.node, PropTypes.string]),\n\t\t/**\n\t\t * Displays text or node to the right of the input. This follows the fixed text input UX pattern.\n\t\t */\n\t\tfixedTextRight: PropTypes.oneOfType([PropTypes.node, PropTypes.string]),\n\t\t/**\n\t\t * If true, loading spinner appears inside input on right hand side.\n\t\t */\n\t\thasSpinner: PropTypes.bool,\n\t\t/**\n\t\t * Left aligned icon, must be instace of `design-system-react/components/icon/input-icon`\n\t\t */\n\t\ticonLeft: PropTypes.node,\n\t\t/**\n\t\t * Right aligned icon, must be instace of `design-system-react/components/icon/input-icon`\n\t\t */\n\t\ticonRight: PropTypes.node,\n\t\t/**\n\t\t * Every input must have a unique ID in order to support keyboard navigation and ARIA support.\n\t\t */\n\t\tid: PropTypes.string,\n\t\t/**\n\t\t * Displays help text under the input.\n\t\t */\n\t\tinlineHelpText: PropTypes.oneOfType([PropTypes.node, PropTypes.string]),\n\t\t/**\n\t\t * This callback exposes the input reference / DOM node to parent components. `<Parent inputRef={(inputComponent) => this.input = inputComponent} />\n\t\t */\n\t\tinputRef: PropTypes.func,\n\t\t/**\n\t\t * Displays the value of the input statically. This follows the static input UX pattern.\n\t\t */\n\t\tisStatic: PropTypes.bool,\n\t\t/**\n\t\t * This label appears above the input.\n\t\t */\n\t\tlabel: PropTypes.string,\n\t\t/**\n\t\t * Triggered when focus is removed.\n\t\t */\n\t\tonBlur: PropTypes.func,\n\t\t/**\n\t\t * This callback fires when the input changes. Passes in `event, { value }`.\n\t\t */\n\t\tonChange: PropTypes.func,\n\t\t/**\n\t\t * This event fires when the input is clicked.\n\t\t */\n\t\tonClick: PropTypes.func,\n\t\t/**\n\t\t * Triggered when component is focused.\n\t\t */\n\t\tonFocus: PropTypes.func,\n\t\t/**\n\t\t * Similar to `onchange`. Triggered when an element gets user input.\n\t\t */\n\t\tonInput: PropTypes.func,\n\t\t/**\n\t\t * Triggered when a submittable `<input>` element is invalid.\n\t\t */\n\t\tonInvalid: PropTypes.func,\n\t\t/**\n\t\t * Triggered when a key is pressed down\n\t\t */\n\t\tonKeyDown: PropTypes.func,\n\t\t/**\n\t\t * Triggered when a key is pressed and released\n\t\t */\n\t\tonKeyPress: PropTypes.func,\n\t\t/**\n\t\t * Triggered when a key is released\n\t\t */\n\t\tonKeyUp: PropTypes.func,\n\t\t/**\n\t\t * Triggered after some text has been selected in an element.\n\t\t */\n\t\tonSelect: PropTypes.func,\n\t\t/**\n\t\t * Fires when a form is submitted.\n\t\t */\n\t\tonSubmit: PropTypes.func,\n\t\t/**\n\t\t * Text that will appear in an empty input.\n\t\t */\n\t\tplaceholder: PropTypes.string,\n\t\t/**\n\t\t * Sets the minimum number of characters that an `<input>` can accept.\n\t\t */\n\t\tminLength: PropTypes.string,\n\t\t/**\n\t\t * Specifies minimum accepted value for a counter input\n\t\t */\n\t\tminValue: PropTypes.number,\n\t\t/**\n\t\t * Sets the maximum number of characters that an `<input>` can accept.\n\t\t */\n\t\tmaxLength: PropTypes.string,\n\t\t/**\n\t\t * Specifies maximum accepted value for a counter input\n\t\t */\n\t\tmaxValue: PropTypes.number,\n\t\t/**\n\t\t * Name of the submitted form parameter.\n\t\t */\n\t\tname: PropTypes.string,\n\t\t/**\n\t\t * Displays the value of the input as read-only. This is used in the inline edit UX pattern.\n\t\t */\n\t\treadOnly: PropTypes.bool,\n\t\t/**\n\t\t * Highlights the input as a required field (does not perform any validation).\n\t\t */\n\t\trequired: PropTypes.bool,\n\t\t/**\n\t\t * ARIA role\n\t\t */\n\t\trole: PropTypes.string,\n\t\t/**\n\t\t * Determines the step size upon increment or decrement. Can be set to decimal values.\n\t\t */\n\t\tstep: PropTypes.number,\n\t\t/**\n\t\t * styles to be added to input\n\t\t */\n\t\tstyleInput: PropTypes.object,\n\t\t/**\n\t\t * Custom styles to be passed to the component container\n\t\t */\n\t\tstyleContainer: PropTypes.object,\n\t\t/**\n\t\t * The `<Input>` element includes support for all HTML5 types.\n\t\t */\n\t\ttype: PropTypes.oneOf([\n\t\t\t'text',\n\t\t\t'password',\n\t\t\t'datetime',\n\t\t\t'datetime-local',\n\t\t\t'date',\n\t\t\t'month',\n\t\t\t'time',\n\t\t\t'week',\n\t\t\t'number',\n\t\t\t'email',\n\t\t\t'url',\n\t\t\t'search',\n\t\t\t'tel',\n\t\t\t'color',\n\t\t]),\n\t\t/**\n\t\t * The input is a controlled component, and will always display this value.\n\t\t */\n\t\tvalue: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n\t\t/**\n\t\t * Which UX pattern of input? The default is `base` while other option is `counter`\n\t\t */\n\t\tvariant: PropTypes.oneOf(['base', COUNTER]),\n\t};\n\n\tstatic defaultProps = defaultProps;\n\n\tconstructor(props) {\n\t\tsuper(props);\n\t\tthis.inputRef = null;\n\t\tthis.stepping = {\n\t\t\tcurrentDelay: 500,\n\t\t\tinitialDelay: 500,\n\t\t\tspeedDelay: 75,\n\t\t\ttimeout: {},\n\t\t};\n\n\t\t// `checkProps` issues warnings to developers about properties (similar to React's built in development tools)\n\t\tcheckProps(INPUT, props, componentDoc);\n\n\t\tthis.generatedId = shortid.generate();\n\t\tif (props.errorText) {\n\t\t\tthis.generatedErrorId = shortid.generate();\n\t\t}\n\t}\n\n\tgetId = () => this.props.id || this.generatedId;\n\n\tgetErrorId = () => this.props['aria-describedby'] || this.generatedErrorId;\n\n\tgetValueAsNumber = () => {\n\t\tlet value = 0;\n\n\t\tif (this.props.value !== undefined) {\n\t\t\tvalue = Number(this.props.value);\n\t\t} else if (this.inputRef) {\n\t\t\tvalue = Number(this.inputRef.value);\n\t\t}\n\n\t\treturn value;\n\t};\n\n\tgetCounterButtonIcon = (direction) => {\n\t\tconst value = this.getValueAsNumber();\n\t\tlet disabled = false;\n\n\t\tif (\n\t\t\tthis.props.disabled ||\n\t\t\t(direction === INCREMENT &&\n\t\t\t\tthis.props.maxValue !== undefined &&\n\t\t\t\tvalue >= this.props.maxValue) ||\n\t\t\t(direction === DECREMENT &&\n\t\t\t\tthis.props.minValue !== undefined &&\n\t\t\t\tvalue <= this.props.minValue)\n\t\t) {\n\t\t\tdisabled = true;\n\t\t}\n\n\t\treturn (\n\t\t\t<Button\n\t\t\t\tassistiveText={{\n\t\t\t\t\ticon: this.props.assistiveText[direction.toLowerCase()],\n\t\t\t\t}}\n\t\t\t\tclassName={classNames(\n\t\t\t\t\t'slds-button_icon-small',\n\t\t\t\t\t`slds-input__button_${direction.toLowerCase()}`\n\t\t\t\t)}\n\t\t\t\tdisabled={disabled}\n\t\t\t\ticonCategory=\"utility\"\n\t\t\t\ticonName={direction === DECREMENT ? 'ban' : 'new'}\n\t\t\t\tonKeyDown={(event) => {\n\t\t\t\t\tif (event.keyCode === 13) {\n\t\t\t\t\t\tthis.performStep(direction, event);\n\t\t\t\t\t}\n\t\t\t\t}}\n\t\t\t\tonKeyUp={this.stopStepping}\n\t\t\t\tonMouseDown={(event) => {\n\t\t\t\t\tthis.performStep(direction, event);\n\t\t\t\t}}\n\t\t\t\tonMouseLeave={this.stopStepping}\n\t\t\t\tonMouseUp={this.stopStepping}\n\t\t\t\tvariant=\"icon\"\n\t\t\t/>\n\t\t);\n\t};\n\n\t// This is convoluted to maintain backwards compatibility. Please remove deprecatedProps on next breaking change.\n\tgetIconRender = (position, iconPositionProp) => {\n\t\tlet icon;\n\n\t\t// Remove at next breaking change\n\t\t/* eslint-disable react/prop-types */\n\t\tconst deprecatedProps = {\n\t\t\tassistiveText: {\n\t\t\t\ticon:\n\t\t\t\t\t(this.props[iconPositionProp] &&\n\t\t\t\t\t\tthis.props[iconPositionProp].props.assistiveText) ||\n\t\t\t\t\tthis.props.iconAssistiveText,\n\t\t\t},\n\t\t\tcategory:\n\t\t\t\t(this.props[iconPositionProp] &&\n\t\t\t\t\tthis.props[iconPositionProp].props.category) ||\n\t\t\t\tthis.props.iconCategory,\n\t\t\tname:\n\t\t\t\t(this.props[iconPositionProp] &&\n\t\t\t\t\tthis.props[iconPositionProp].props.name) ||\n\t\t\t\tthis.props.iconName,\n\t\t\tonClick:\n\t\t\t\t(this.props[iconPositionProp] &&\n\t\t\t\t\tthis.props[iconPositionProp].props.onClick) ||\n\t\t\t\tthis.props.onIconClick,\n\t\t};\n\t\t/* eslint-enable react/prop-types */\n\n\t\tif (\n\t\t\tthis.props[iconPositionProp] &&\n\t\t\tposition &&\n\t\t\tthis.props[iconPositionProp]\n\t\t) {\n\t\t\ticon = React.cloneElement(this.props[iconPositionProp], {\n\t\t\t\ticonPosition: `${position}`,\n\t\t\t});\n\t\t} else if (deprecatedProps.name) {\n\t\t\ticon = <InputIcon iconPosition={position} {...deprecatedProps} />;\n\t\t}\n\n\t\treturn icon;\n\t};\n\n\tsetInputRef = (ref) => {\n\t\tthis.inputRef = ref;\n\t\tif (this.props.inputRef) {\n\t\t\tthis.props.inputRef(ref);\n\t\t}\n\t};\n\n\thandleChange = (event) => {\n\t\tif (this.props.onChange) {\n\t\t\tconst data = {\n\t\t\t\tvalue: event.target.value,\n\t\t\t};\n\n\t\t\tif (this.props.variant === COUNTER) {\n\t\t\t\tdata.number = Number(data.value);\n\t\t\t}\n\n\t\t\tthis.props.onChange(event, data);\n\t\t}\n\t};\n\n\tperformStep = (direction, event) => {\n\t\tclearTimeout(this.stepping.timeout);\n\n\t\tconst { maxValue } = this.props;\n\t\tconst { minValue } = this.props;\n\t\tconst step = this.props.step !== undefined ? Number(this.props.step) : 1;\n\t\tlet value = this.getValueAsNumber();\n\t\tlet valueChanged = false;\n\n\t\tif (direction === DECREMENT && maxValue !== undefined && value > maxValue) {\n\t\t\tvalue = Number(maxValue);\n\t\t\tvalueChanged = true;\n\t\t} else if (\n\t\t\tdirection === INCREMENT &&\n\t\t\tminValue !== undefined &&\n\t\t\tvalue < minValue\n\t\t) {\n\t\t\tvalue = Number(minValue);\n\t\t\tvalueChanged = true;\n\t\t} else {\n\t\t\tconst decimalPlaces =\n\t\t\t\tString(step).search(/\\./) >= 0 ? String(step).split('.')[1].length : 0;\n\t\t\tlet minOverflow = 0;\n\n\t\t\tif (minValue !== undefined) {\n\t\t\t\tminOverflow = (value - minValue) % step;\n\t\t\t}\n\n\t\t\tif (minOverflow > 0) {\n\t\t\t\t// Default browser inputs of type number with a min attribute alter the value upon change as needed so\n\t\t\t\t// that with enough decrements it can reach the exact min value. This behavior is reflected here\n\t\t\t\tvalue =\n\t\t\t\t\tdirection === DECREMENT\n\t\t\t\t\t\t? value - minOverflow\n\t\t\t\t\t\t: value + (step - minOverflow);\n\t\t\t} else {\n\t\t\t\tvalue = direction === DECREMENT ? value - step : value + step;\n\t\t\t}\n\n\t\t\tvalue = Number(value.toFixed(decimalPlaces));\n\n\t\t\tif (\n\t\t\t\t!(maxValue !== undefined && value > maxValue) &&\n\t\t\t\t!(minValue !== undefined && value < minValue)\n\t\t\t) {\n\t\t\t\tvalueChanged = true;\n\t\t\t}\n\t\t}\n\n\t\tif (valueChanged) {\n\t\t\t/*\n\t\t\t * Use of `this.forceUpdate` is an anti-pattern. This code only executes if this `input` element is uncontrolled which this library believes is an anti-pattern, also. This code is only present to allow for the edge case of uncontrolled use of an `input`.\n\t\t\t */\n\t\t\tif (this.props.value === undefined && this.inputRef) {\n\t\t\t\tthis.inputRef.value = String(value);\n\t\t\t\tthis.forceUpdate();\n\t\t\t} else if (this.props.onChange) {\n\t\t\t\tthis.props.onChange(event, {\n\t\t\t\t\tnumber: value,\n\t\t\t\t\tvalue: String(value),\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\n\t\tif (\n\t\t\t(direction === INCREMENT &&\n\t\t\t\tmaxValue !== undefined &&\n\t\t\t\tvalue >= maxValue) ||\n\t\t\t(direction === DECREMENT && minValue !== undefined && value <= minValue)\n\t\t) {\n\t\t\tthis.stopStepping();\n\t\t} else {\n\t\t\tthis.stepping.timeout = setTimeout(() => {\n\t\t\t\tthis.stepping.currentDelay = this.stepping.speedDelay;\n\t\t\t\tthis.performStep(direction);\n\t\t\t}, this.stepping.currentDelay);\n\t\t}\n\t};\n\n\tstopStepping = () => {\n\t\tclearTimeout(this.stepping.timeout);\n\t\tthis.stepping.currentDelay = this.stepping.initialDelay;\n\t};\n\n\trender() {\n\t\tconst assistiveText = {\n\t\t\t...defaultProps.assistiveText,\n\t\t\t...this.props.assistiveText,\n\t\t};\n\t\tconst inputRef =\n\t\t\tthis.props.variant === COUNTER ? this.setInputRef : this.props.inputRef;\n\t\tlet iconLeft = null;\n\t\tlet iconRight = null;\n\n\t\tconst hasRenderedLabel =\n\t\t\tthis.props.label || (assistiveText && assistiveText.label);\n\n\t\t// Remove at next breaking change\n\t\t// this is a hack to make left the default prop unless overwritten by `iconPosition=\"right\"`\n\t\tif (\n\t\t\t!!this.props.iconLeft ||\n\t\t\t((this.props.iconPosition === 'left' ||\n\t\t\t\tthis.props.iconPosition === undefined) &&\n\t\t\t\t!!this.props.iconName)\n\t\t) {\n\t\t\ticonLeft = this.getIconRender('left', 'iconLeft');\n\t\t} else if (\n\t\t\tthis.props.variant === COUNTER &&\n\t\t\t!this.props.isStatic &&\n\t\t\t!this.props.readOnly\n\t\t) {\n\t\t\ticonLeft = this.getCounterButtonIcon(DECREMENT);\n\t\t}\n\n\t\tif (\n\t\t\t!!this.props.iconRight ||\n\t\t\t(this.props.iconPosition === 'right' && !!this.props.iconName)\n\t\t) {\n\t\t\ticonRight = this.getIconRender('right', 'iconRight');\n\t\t} else if (\n\t\t\tthis.props.variant === COUNTER &&\n\t\t\t!this.props.isStatic &&\n\t\t\t!this.props.readOnly\n\t\t) {\n\t\t\ticonRight = this.getCounterButtonIcon(INCREMENT);\n\t\t}\n\n\t\treturn (\n\t\t\t<div\n\t\t\t\tclassName={classNames(\n\t\t\t\t\t'slds-form-element',\n\t\t\t\t\t{\n\t\t\t\t\t\t'slds-has-error': this.props.errorText,\n\t\t\t\t\t},\n\t\t\t\t\tthis.props.className\n\t\t\t\t)}\n\t\t\t\tstyle={this.props.styleContainer}\n\t\t\t>\n\t\t\t\t<Label\n\t\t\t\t\tassistiveText={assistiveText}\n\t\t\t\t\thtmlFor={this.props.isStatic ? undefined : this.getId()}\n\t\t\t\t\tlabel={this.props.label}\n\t\t\t\t\trequired={this.props.required}\n\t\t\t\t\tvariant={this.props.isStatic ? 'static' : 'base'}\n\t\t\t\t/>\n\t\t\t\t{this.props.fieldLevelHelpTooltip && hasRenderedLabel ? (\n\t\t\t\t\t<FieldLevelHelpTooltip\n\t\t\t\t\t\tassistiveText={{\n\t\t\t\t\t\t\ttriggerLearnMoreIcon: assistiveText.fieldLevelHelpButton,\n\t\t\t\t\t\t}}\n\t\t\t\t\t\tfieldLevelHelpTooltip={this.props.fieldLevelHelpTooltip}\n\t\t\t\t\t/>\n\t\t\t\t) : null}\n\t\t\t\t<InnerInput\n\t\t\t\t\taria-activedescendant={this.props['aria-activedescendant']}\n\t\t\t\t\taria-autocomplete={this.props['aria-autocomplete']}\n\t\t\t\t\taria-controls={this.props['aria-controls']}\n\t\t\t\t\taria-labelledby={this.props['aria-labelledby']}\n\t\t\t\t\taria-describedby={this.getErrorId()}\n\t\t\t\t\taria-expanded={this.props['aria-expanded']}\n\t\t\t\t\taria-owns={this.props['aria-owns']}\n\t\t\t\t\taria-required={this.props['aria-required']}\n\t\t\t\t\tautoComplete={this.props.autoComplete}\n\t\t\t\t\tclassName={classNames({\n\t\t\t\t\t\t'slds-input_counter': this.props.variant === COUNTER,\n\t\t\t\t\t\t'slds-p-horizontal_none':\n\t\t\t\t\t\t\tthis.props.variant === COUNTER && this.props.readOnly,\n\t\t\t\t\t})}\n\t\t\t\t\tcontainerProps={{\n\t\t\t\t\t\tclassName: 'slds-form-element__control',\n\t\t\t\t\t}}\n\t\t\t\t\tdefaultValue={this.props.defaultValue}\n\t\t\t\t\tdisabled={this.props.disabled}\n\t\t\t\t\tfixedTextLeft={this.props.fixedTextLeft}\n\t\t\t\t\tfixedTextRight={this.props.fixedTextRight}\n\t\t\t\t\thasSpinner={this.props.hasSpinner}\n\t\t\t\t\tid={this.getId()}\n\t\t\t\t\ticonLeft={iconLeft}\n\t\t\t\t\ticonRight={iconRight}\n\t\t\t\t\tinlineEditTrigger={this.props.inlineEditTrigger}\n\t\t\t\t\tisStatic={this.props.isStatic}\n\t\t\t\t\tminLength={this.props.minLength}\n\t\t\t\t\tminValue={this.props.minValue}\n\t\t\t\t\tmaxLength={this.props.maxLength}\n\t\t\t\t\tmaxValue={this.props.maxValue}\n\t\t\t\t\tname={this.props.name}\n\t\t\t\t\tonBlur={this.props.onBlur}\n\t\t\t\t\tonChange={this.handleChange}\n\t\t\t\t\tonClick={this.props.onClick}\n\t\t\t\t\tonFocus={this.props.onFocus}\n\t\t\t\t\tonInput={this.props.onInput}\n\t\t\t\t\tonInvalid={this.props.onInvalid}\n\t\t\t\t\tonKeyDown={this.props.onKeyDown}\n\t\t\t\t\tonKeyPress={this.props.onKeyPress}\n\t\t\t\t\tonKeyUp={this.props.onKeyUp}\n\t\t\t\t\tonSelect={this.props.onSelect}\n\t\t\t\t\tonSubmit={this.props.onSubmit}\n\t\t\t\t\tplaceholder={this.props.placeholder}\n\t\t\t\t\tinputRef={inputRef}\n\t\t\t\t\treadOnly={this.props.readOnly}\n\t\t\t\t\trequired={this.props.required}\n\t\t\t\t\trole={this.props.role}\n\t\t\t\t\tassistiveText={this.props.assistiveText}\n\t\t\t\t\ttype={this.props.variant === COUNTER ? 'number' : this.props.type}\n\t\t\t\t\tvalue={this.props.value}\n\t\t\t\t\tvariant={this.props.variant}\n\t\t\t\t\tstep={this.props.step}\n\t\t\t\t\tstyle={this.props.styleInput}\n\t\t\t\t/>\n\t\t\t\t{this.props.inlineHelpText && (\n\t\t\t\t\t<div className=\"slds-form-element__help\">\n\t\t\t\t\t\t{this.props.inlineHelpText}\n\t\t\t\t\t</div>\n\t\t\t\t)}\n\t\t\t\t{this.props.errorText && (\n\t\t\t\t\t<div id={this.getErrorId()} className=\"slds-form-element__help\">\n\t\t\t\t\t\t{this.props.errorText}\n\t\t\t\t\t</div>\n\t\t\t\t)}\n\t\t\t\t{this.props.children}\n\t\t\t</div>\n\t\t);\n\t}\n}\n\nexport default Input;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// ### React\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\nimport Input from '../input';\nimport InputIcon from '../icon/input-icon';\n\nimport { CARD_FILTER } from '../../utilities/constants';\n\n/**\n * A default filter or search input for Cards that contain items.\n */\nconst Filter = (props) => {\n\tconst { id, placeholder, onChange, ...rest } = props;\n\n\treturn (\n\t\t<Input\n\t\t\t{...rest}\n\t\t\tassistiveText={{ label: placeholder }}\n\t\t\ticonLeft={<InputIcon name=\"search\" category=\"utility\" />}\n\t\t\tid={id}\n\t\t\tonChange={onChange}\n\t\t\tplaceholder={placeholder}\n\t\t/>\n\t);\n};\n\n// ### Display Name\n// Always use the canonical component name as the React display name.\nFilter.displayName = CARD_FILTER;\n\n// ### Prop Types\nFilter.propTypes = {\n\t/**\n\t * The HTML `id` from the card with a suffixe.\n\t */\n\tid: PropTypes.string,\n\t/**\n\t * This callback fires when the input changes.\n\t */\n\tonChange: PropTypes.func,\n\t/**\n\t * Text present in input until the user enters text. This text will also be used for a visually hidden label on the filter `input` element for accessibility.\n\t */\n\tplaceholder: PropTypes.string.isRequired,\n};\n\nFilter.defaultProps = {\n\tplaceholder: 'Find in List',\n};\n\nexport default Filter;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// ### React\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\n// ### classNames\n// [github.com/JedWatson/classnames](https://github.com/JedWatson/classnames)\n// This project uses `classnames`, \"a simple javascript utility for conditionally\n// joining classNames together.\"\nimport classnames from 'classnames';\n\nimport { CAROUSEL_INDICATORS } from '../../../utilities/constants';\n\n/**\n * CarouselIndicators is used to display the list of indicators associated to the number of panels\n * a carousel has\n */\nclass CarouselIndicators extends React.Component {\n\tcomponentDidUpdate() {\n\t\tif (this.props.hasFocus && this[`indicator${this.props.currentIndex}`]) {\n\t\t\tthis[`indicator${this.props.currentIndex}`].focus();\n\t\t}\n\t}\n\n\tonFocus = (event) => {\n\t\tthis[`indicator${this.props.currentIndex}`].focus();\n\t\tif (this.props.onFocus) {\n\t\t\tthis.props.onFocus(event);\n\t\t}\n\t};\n\n\trender() {\n\t\tconst { props } = this;\n\n\t\treturn (\n\t\t\t<ul\n\t\t\t\tclassName=\"slds-carousel__indicators slds-col slds-text-align_center\"\n\t\t\t\trole=\"tablist\"\n\t\t\t>\n\t\t\t\t{[...Array(props.noOfIndicators).keys()].map((index) => {\n\t\t\t\t\tconst isSelectedPanel = index === props.currentIndex;\n\t\t\t\t\tconst indicatorActionClassName = classnames(\n\t\t\t\t\t\t'slds-carousel__indicator-action',\n\t\t\t\t\t\tprops.className,\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t'slds-is-active': isSelectedPanel,\n\t\t\t\t\t\t}\n\t\t\t\t\t);\n\t\t\t\t\tlet assistiveText = `${index}`;\n\t\t\t\t\tlet title = `${index}`;\n\t\t\t\t\tlet id = '';\n\n\t\t\t\t\tif (props.items && props.items.length > 0) {\n\t\t\t\t\t\t// eslint-disable-next-line prefer-destructuring\n\t\t\t\t\t\tid = props.items[index].id;\n\n\t\t\t\t\t\tconst startItemIndex = index * props.itemsPerPanel;\n\t\t\t\t\t\tlet autoIndicatorText = '';\n\n\t\t\t\t\t\t// eslint-disable-next-line fp/no-loops\n\t\t\t\t\t\tfor (\n\t\t\t\t\t\t\tlet i = startItemIndex;\n\t\t\t\t\t\t\ti < startItemIndex + props.itemsPerPanel;\n\t\t\t\t\t\t\ti += 1\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\tif (props.items[i] && props.items[i].heading) {\n\t\t\t\t\t\t\t\tautoIndicatorText = !autoIndicatorText\n\t\t\t\t\t\t\t\t\t? ''\n\t\t\t\t\t\t\t\t\t: `${autoIndicatorText}, `;\n\t\t\t\t\t\t\t\tautoIndicatorText += props.items[i].heading;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif (autoIndicatorText) {\n\t\t\t\t\t\t\tassistiveText = autoIndicatorText;\n\t\t\t\t\t\t\ttitle = autoIndicatorText;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<li\n\t\t\t\t\t\t\tclassName=\"slds-carousel__indicator slds-m-horizontal_xx-small\"\n\t\t\t\t\t\t\tkey={index}\n\t\t\t\t\t\t\trole=\"presentation\"\n\t\t\t\t\t\t\tstyle={{ margin: 0, padding: '0 5px' }}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<a\n\t\t\t\t\t\t\t\tref={(component) => {\n\t\t\t\t\t\t\t\t\tthis[`indicator${index}`] = component;\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\tid={`indicator-id-${props.carouselId}-${index}`}\n\t\t\t\t\t\t\t\tclassName={indicatorActionClassName}\n\t\t\t\t\t\t\t\trole=\"tab\"\n\t\t\t\t\t\t\t\ttabIndex={isSelectedPanel ? '0' : '-1'}\n\t\t\t\t\t\t\t\taria-selected={isSelectedPanel}\n\t\t\t\t\t\t\t\taria-controls={props.getPanelId({\n\t\t\t\t\t\t\t\t\tcarouselId: props.carouselId,\n\t\t\t\t\t\t\t\t\titemId: id,\n\t\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t\t\ttitle={title}\n\t\t\t\t\t\t\t\tonBlur={props.onBlur}\n\t\t\t\t\t\t\t\tonClick={(event) => props.onClick(event, index)}\n\t\t\t\t\t\t\t\tonFocus={this.onFocus}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<span className=\"slds-assistive-text\">{assistiveText}</span>\n\t\t\t\t\t\t\t</a>\n\t\t\t\t\t\t</li>\n\t\t\t\t\t);\n\t\t\t\t})}\n\t\t\t</ul>\n\t\t);\n\t}\n}\n\nCarouselIndicators.displayName = CAROUSEL_INDICATORS;\n\nCarouselIndicators.defaultProps = {\n\tcurrentIndex: 0,\n};\n\n// ### Prop Types\nCarouselIndicators.propTypes = {\n\t/**\n\t * Carousel HTML ID\n\t */\n\tcarouselId: PropTypes.string,\n\t/**\n\t * CSS classes that are applied to the component\n\t */\n\tclassName: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\t/**\n\t * Selected indicator\n\t */\n\tcurrentIndex: PropTypes.number,\n\t/**\n\t * Passed from carousel parent state, dictates if indicator currently has focus\n\t */\n\thasFocus: PropTypes.bool,\n\t/**\n\t * Array of objects with shape, needed for building a carousel items\n\t */\n\titems: PropTypes.array,\n\t/**\n\t * Number of items to be displayed at a time in the carousel\n\t */\n\titemsPerPanel: PropTypes.number,\n\t/**\n\t * Number of indicators to be displayed (corresponds to the number of panels in the carousel)\n\t */\n\tnoOfIndicators: PropTypes.number.isRequired,\n\t/**\n\t * Fires on indicator blur, allows parent carousel to adjust indicatorsHaveFocus state accordingly\n\t */\n\tonBlur: PropTypes.func,\n\t/**\n\t * Triggered when the indicator is clicked.\n\t */\n\tonClick: PropTypes.func,\n\t/**\n\t * Fires on indicator focus, allows parent carousel to adjust indicatorsHaveFocus state accordingly\n\t */\n\tonFocus: PropTypes.func,\n};\n\nexport default CarouselIndicators;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// ### React\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\nimport Button from '../../../components/button';\nimport { CAROUSEL_NAVIGATORS } from '../../../utilities/constants';\n\n/**\n * previousNextCarouselNavigator is used to display previous/next navigation items of the carousel\n */\nconst previousNextCarouselNavigator = (props) => (\n\t<div\n\t\tclassName=\"slds-carousel__col-center slds-is-absolute\"\n\t\tstyle={{ ...props.inlineStyle, margin: '-12px 0 0', top: '50%' }}\n\t>\n\t\t<Button\n\t\t\tassistiveText={{ icon: props.assistiveText }}\n\t\t\tclassName=\"slds-button_icon slds-carousel__button\"\n\t\t\tdisabled={props.isDisabled}\n\t\t\ticonCategory=\"utility\"\n\t\t\ticonName={props.iconName}\n\t\t\ticonVariant=\"border-filled\"\n\t\t\ticonSize=\"small\"\n\t\t\tonClick={props.onClick}\n\t\t\tvariant=\"icon\"\n\t\t/>\n\t</div>\n);\n// /assets/icons/utility-sprite/svg/symbols.svg#right\npreviousNextCarouselNavigator.displayName = CAROUSEL_NAVIGATORS;\n\n// ### Prop Types\npreviousNextCarouselNavigator.propTypes = {\n\t/**\n\t * Description of the previous/next navigation icons for screen-readers.\n\t */\n\tassistiveText: PropTypes.string,\n\t/**\n\t * Name of icon displayed within the navigation button\n\t */\n\ticonName: PropTypes.oneOf(['chevronleft', 'chevronright']),\n\t/**\n\t * Determines where the navigator indicator has been disabled\n\t */\n\tisDisabled: PropTypes.bool,\n\t/**\n\t * Additional styles to be applied to the container\n\t */\n\tinlineStyle: PropTypes.object,\n\t/**\n\t * Triggered when the indicator is clicked.\n\t */\n\tonClick: PropTypes.func,\n};\n\nexport default previousNextCarouselNavigator;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// # CarouselItem Component\n\n// Implements the [CarouselItem design pattern](https://www.lightningdesignsystem.com/components/carousel/) in React.\n\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\nimport Button from '../../button';\n\nimport { CAROUSEL_ITEM } from '../../../utilities/constants';\n\n/**\n * A carousel allows multiple pieces of featured content to occupy an allocated amount of space.\n */\nconst CarouselItem = (props) => (\n\t<div\n\t\tid={props.getPanelId({ carouselId: props.carouselId, itemId: props.id })}\n\t\tclassName=\"slds-carousel__panel slds-m-horizontal_xx-small slds-list_horizontal\"\n\t\trole=\"tabpanel\"\n\t\taria-hidden=\"false\"\n\t\taria-labelledby={`indicator-id-${props.carouselId}-${props.panelIndex}`}\n\t\tstyle={{\n\t\t\tmargin: 0,\n\t\t\tmaxWidth: `${props.itemWidth}px`,\n\t\t\tpadding: '0 6px',\n\t\t}}\n\t>\n\t\t{props.onRenderItem ? (\n\t\t\tprops.onRenderItem({ item: props })\n\t\t) : (\n\t\t\t<a\n\t\t\t\tclassName=\"slds-carousel__panel-action slds-text-link_reset\"\n\t\t\t\thref={props.href}\n\t\t\t\tonClick={props.onClick}\n\t\t\t\tonFocus={props.onFocus}\n\t\t\t\tstyle={{\n\t\t\t\t\tbackgroundColor: 'white',\n\t\t\t\t\twidth: '100%',\n\t\t\t\t}}\n\t\t\t\ttabIndex={props.isInCurrentPanel ? '0' : '-1'}\n\t\t\t>\n\t\t\t\t<div className=\"slds-carousel__image\">\n\t\t\t\t\t<img\n\t\t\t\t\t\tsrc={props.src}\n\t\t\t\t\t\talt={props.imageAssistiveText || props.heading}\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t\t<div className=\"slds-carousel__content\" style={{ height: 'auto' }}>\n\t\t\t\t\t<h2 className=\"slds-carousel__content-title\">{props.heading}</h2>\n\t\t\t\t\t<div\n\t\t\t\t\t\tclassName=\"slds-p-bottom_x-small slds-text-body_small\"\n\t\t\t\t\t\tstyle={{ minHeight: '40px' }}\n\t\t\t\t\t>\n\t\t\t\t\t\t{props.description}\n\t\t\t\t\t</div>\n\t\t\t\t\t{props.buttonLabel && (\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tlabel={props.buttonLabel}\n\t\t\t\t\t\t\ttabIndex={props.isInCurrentPanel ? '0' : '-1'}\n\t\t\t\t\t\t\tvariant=\"neutral\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t)}\n\t\t\t\t</div>\n\t\t\t</a>\n\t\t)}\n\t</div>\n);\n\nCarouselItem.displayName = CAROUSEL_ITEM;\n\nCarouselItem.propTypes = {\n\t/**\n\t * Label of the button to be displayed. If not provided, no button will be rendered.\n\t */\n\tbuttonLabel: PropTypes.string,\n\t/**\n\t * Carousel HTML ID\n\t */\n\tcarouselId: PropTypes.string,\n\t/**\n\t * CSS classes that are applied to the component\n\t */\n\tclassName: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\t/**\n\t * Visible paragraph text to be displayed on the carousel item\n\t */\n\tdescription: PropTypes.oneOfType([PropTypes.string, PropTypes.node]),\n\t/**\n\t * Carousel Item's visible heading\n\t */\n\theading: PropTypes.oneOfType([PropTypes.string, PropTypes.object]).isRequired,\n\thref: PropTypes.string,\n\t/**\n\t * Id of the item component.\n\t */\n\tid: PropTypes.number.isRequired,\n\t/**\n\t * Image alt text\n\t */\n\timageAssistiveText: PropTypes.string,\n\t/**\n\t * Boolean indicating whether this item is currently visible in the active parent carousel panel\n\t */\n\tisInCurrentPanel: PropTypes.bool,\n\t/**\n\t * Width of the carousel item\n\t */\n\titemWidth: PropTypes.number,\n\t/**\n\t * Accepts a callback to handle when the a tag is focused on\n\t */\n\tonFocus: PropTypes.func,\n\t/**\n\t * Accepts a custom carousel item rendering function\n\t */\n\tonRenderItem: PropTypes.func,\n\t/**\n\t * Index of the panel this item belongs to, to be used when associating it to an indicator\n\t */\n\tpanelIndex: PropTypes.number,\n\t/**\n\t * Path of the image to be used\n\t */\n\tsrc: PropTypes.string.isRequired,\n};\n\nCarouselItem.defaultProps = {\n\thref: 'javascript:void(0);',\n};\n\nexport default CarouselItem;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// ### React\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport Button from '../../../components/button';\nimport { CAROUSEL_AUTOPLAY_BUTTON } from '../../../utilities/constants';\n\n/**\n * AutoplayButton is used to start/pause the autoplay iteration of the carousel\n */\nconst AutoplayButton = (props) => (\n\t<span className=\"slds-carousel__autoplay\" style={{ left: '66px' }}>\n\t\t<Button\n\t\t\tassistiveText={{ icon: props.assistiveText }}\n\t\t\tclassName=\"slds-button_icon\"\n\t\t\tdisabled={props.isDisabled}\n\t\t\ticonCategory=\"utility\"\n\t\t\ticonName={props.isAutoplayOn ? 'pause' : 'play'}\n\t\t\ticonVariant=\"border-filled\"\n\t\t\ticonSize=\"x-small\"\n\t\t\tonClick={props.onClick}\n\t\t\tvariant=\"icon\"\n\t\t/>\n\t</span>\n);\nAutoplayButton.displayName = CAROUSEL_AUTOPLAY_BUTTON;\n\n// ### Prop Types\nAutoplayButton.propTypes = {\n\t/**\n\t * Description of the start/pause autoplay button for screen-readers.\n\t */\n\tassistiveText: PropTypes.string,\n\t/**\n\t * Indicates whether autoplay is enabled\n\t */\n\tisAutoplayOn: PropTypes.bool,\n\t/**\n\t * Triggered when the autoplay button is clicked.\n\t */\n\tonClick: PropTypes.func,\n};\n\nAutoplayButton.defaultProps = {\n\tisAutoplayOn: false,\n};\n\nexport default AutoplayButton;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// # Carousel Component\n\n// Implements the [Carousel design pattern](https://www.lightningdesignsystem.com/components/carousel/) in React.\n\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport classnames from 'classnames';\n\n// ### shortid\n// [npmjs.com/package/shortid](https://www.npmjs.com/package/shortid)\n// shortid is a short, non-sequential, url-friendly, unique id generator\nimport shortid from 'shortid';\n\nimport { CAROUSEL } from '../../utilities/constants';\n\nimport {\n\tcanUseDOM,\n\tcanUseEventListeners,\n} from '../../utilities/execution-environment';\n\nimport CarouselIndicators from './private/carousel-indicators';\nimport PreviousNextCarouselNavigator from './private/previous-next-carousel-navigator';\nimport CarouselItem from './private/carousel-item';\nimport AutoplayButton from './private/auto-play-button';\n\n// ### Event Helpers\nimport KEYS from '../../utilities/key-code';\nimport EventUtil from '../../utilities/event';\n\n/* eslint-disable jsx-a11y/no-static-element-interactions */\n\n// ### Default Props\nconst defaultProps = {\n\tassistiveText: {\n\t\tautoplayButton: 'Start / Stop auto-play',\n\t\tnextPanel: 'Next Panel',\n\t\tpreviousPanel: 'Previous Panel',\n\t},\n\tautoplayInterval: 4000,\n\thasAutoplay: false,\n\thasPreviousNextPanelNavigation: false,\n\tisInfinite: false,\n\titemsPerPanel: 1,\n};\n\n/**\n * A carousel allows multiple pieces of featured content to occupy an allocated amount of space.\n * Currently panel index and auto play cannot be controlled by the app.\n */\nclass Carousel extends React.Component {\n\t// ### Display Name\n\t// Always use the canonical component name as the React display name.\n\tstatic displayName = CAROUSEL;\n\n\t// ### Prop Types\n\tstatic propTypes = {\n\t\t/**\n\t\t * Description of the carousel items for screen-readers.\n\t\t */\n\t\tassistiveText: PropTypes.object,\n\t\t/**\n\t\t * Interval for the autoplay iteration\n\t\t */\n\t\tautoplayInterval: PropTypes.number,\n\t\t/**\n\t\t * CSS classes that are applied to the main 'slds-carousel' classed component container\n\t\t */\n\t\tclassName: PropTypes.oneOfType([\n\t\t\tPropTypes.array,\n\t\t\tPropTypes.object,\n\t\t\tPropTypes.string,\n\t\t]),\n\t\t/**\n\t\t * Dictates the currently active/visible carousel panel. Use with `onRequestPanelChange` for a controlled carousel component. If not provided, the carousel will manage this itself via state.\n\t\t */\n\t\tcurrentPanel: PropTypes.number,\n\t\t/**\n\t\t * Boolean showing whether the autoplay button is available or not\n\t\t */\n\t\thasAutoplay: PropTypes.bool,\n\t\t/**\n\t\t * Boolean for displaying the navigation indicators (left/right arrows) of the carousel\n\t\t */\n\t\thasPreviousNextPanelNavigation: PropTypes.bool,\n\t\t/**\n\t\t * Id of component, if desired. If not provided an id is automatically generated\n\t\t */\n\t\tid: PropTypes.string,\n\t\t/**\n\t\t * Boolean that dictates whether autoplay is active or not. Use with `onRequestAutoplayToggle` for a controlled carousel component.\n\t\t */\n\t\tisAutoplayOn: PropTypes.bool,\n\t\t/**\n\t\t * Boolean for infinite loop navigation. Note: if not true autoplay will stop automatically at the last panel.\n\t\t */\n\t\tisInfinite: PropTypes.bool,\n\t\t/**\n\t\t * * **Array of item objects used by the default carousel item renderer.**\n\t\t * Each object can contain:\n\t\t * * `id`: The id of the carousel item. [REQUIRED]\n\t\t * * `heading`: Primary string that will be used as the heading\n\t\t * * `description`: Secondary string that is used to describe the item\n\t\t * * `buttonLabel`: If assigned a call to button action will be rendered with this text, if unassigned no button is rendered\n\t\t * * `imageAssistiveText`: Image alt text, if not present heading will be used instead\n\t\t * * `href`: Used for item link, if not provided 'javascript:void(0);' is used instead\n\t\t * * `src`: Item image src value\n\t\t */\n\t\titems: PropTypes.array.isRequired,\n\t\t/**\n\t\t * Number of items to be displayed at a time in the carousel\n\t\t */\n\t\titemsPerPanel: PropTypes.number,\n\t\t/**\n\t\t * Accepts a custom carousel item rendering function\n\t\t */\n\t\tonRenderItem: PropTypes.func,\n\t\t/**\n\t\t * Called whenever `isAutoplayOn` is requested to be toggled on or off. Use with `isAutoplayOn` prop for a controlled carousel component. Passes an event object and a data object with the current `isAutoplayOn` value as an attribute.\n\t\t */\n\t\tonRequestAutoplayToggle: PropTypes.func,\n\t\t/**\n\t\t * Called whenever the panel is requested to change due to user interaction or auto-play. Use with `currentPanel` for a controlled carousel component. Passes an event object and a data object with `currentPanel` and `requestedPanel` attributes.\n\t\t */\n\t\tonRequestPanelChange: PropTypes.func,\n\t\t/**\n\t\t * Handler for clicking on a carousel item\n\t\t */\n\t\tonItemClick: PropTypes.func,\n\t};\n\n\t// ### Default Props\n\tstatic defaultProps = defaultProps;\n\n\tconstructor(props) {\n\t\tsuper(props);\n\n\t\tthis.nrOfPanels = Math.ceil(props.items.length / props.itemsPerPanel);\n\t\tthis.stageItem = React.createRef();\n\n\t\tthis.state = {\n\t\t\tcurrentPanel: props.currentPanel !== undefined ? props.currentPanel : 0,\n\t\t\tindicatorsHaveFocus: false,\n\t\t\tisAutoplayOn:\n\t\t\t\tprops.isAutoplayOn !== undefined\n\t\t\t\t\t? props.isAutoplayOn\n\t\t\t\t\t: props.hasAutoplay,\n\t\t\tstageWidth: 0,\n\t\t\ttranslateX: -1000000,\n\t\t};\n\n\t\tthis.generatedId = shortid.generate();\n\t}\n\n\tcomponentDidMount() {\n\t\tif (\n\t\t\tcanUseDOM &&\n\t\t\tthis.stageItem !== undefined &&\n\t\t\tthis.stageItem.current !== undefined &&\n\t\t\tthis.stageItem.current.offsetWidth !== undefined\n\t\t) {\n\t\t\tthis.stageWidth = this.stageItem.current.offsetWidth;\n\t\t}\n\n\t\tif (canUseEventListeners) {\n\t\t\twindow.addEventListener('resize', this.setDimensions, false);\n\t\t}\n\n\t\tthis.changeTranslationAutomatically();\n\n\t\tif (this.getIsAutoplayOn()) {\n\t\t\tthis.startAutoplay({ mountAutoplayEvent: true });\n\t\t}\n\t}\n\n\tcomponentDidUpdate(prevProps) {\n\t\tif (\n\t\t\tthis.props.currentPanel !== undefined &&\n\t\t\tprevProps.currentPanel !== this.props.currentPanel\n\t\t) {\n\t\t\tthis.changeTranslationAutomatically();\n\t\t}\n\t\tif (\n\t\t\tthis.props.isAutoplayOn !== undefined &&\n\t\t\tprevProps.isAutoplayOn !== this.props.isAutoplayOn\n\t\t) {\n\t\t\tif (this.props.isAutoplayOn) {\n\t\t\t\tthis.startAutoplay({ updateAutoplayEvent: true });\n\t\t\t} else {\n\t\t\t\tthis.stopAutoplay({ updateAutoplayEvent: true }, true);\n\t\t\t}\n\t\t}\n\t\tif (\n\t\t\tprevProps.items.length !== this.props.items.length ||\n\t\t\tprevProps.itemsPerPanel !== this.props.itemsPerPanel\n\t\t) {\n\t\t\tthis.nrOfPanels = Math.ceil(\n\t\t\t\tthis.props.items.length / this.props.itemsPerPanel\n\t\t\t);\n\t\t}\n\t}\n\n\tcomponentWillUnmount() {\n\t\tif (canUseEventListeners) {\n\t\t\twindow.removeEventListener('resize', this.setDimensions, false);\n\t\t}\n\t\tthis.stopAutoplay({ unmountAutoplayEvent: true }, true);\n\t}\n\n\tonNextPanelHandler = (event) => {\n\t\tlet next = this.getCurrentPanel() + 1;\n\t\tif (next > this.nrOfPanels - 1) {\n\t\t\tnext = 0;\n\t\t}\n\t\tthis.setCurrentPanel(event, next, this.changeTranslationAutomatically);\n\t};\n\n\tonPreviousPanelHandler = (event) => {\n\t\tlet prev = this.getCurrentPanel() - 1;\n\t\tif (prev < 0) {\n\t\t\tprev = this.nrOfPanels - 1;\n\t\t}\n\t\tthis.setCurrentPanel(event, prev, this.changeTranslationAutomatically);\n\t};\n\n\tonIndicatorBlur = () => {\n\t\tthis.setState({ indicatorsHaveFocus: false });\n\t};\n\n\tonIndicatorClickHandler = (event, panel) => {\n\t\tthis.setCurrentPanel(event, panel, this.changeTranslationAutomatically);\n\t\tthis.setState({ indicatorsHaveFocus: true });\n\t\tif (this.getIsAutoplayOn()) {\n\t\t\tthis.stopAutoplay(event);\n\t\t}\n\t};\n\n\tonIndicatorFocus = (event) => {\n\t\tthis.setState({ indicatorsHaveFocus: true });\n\t\tif (this.getIsAutoplayOn()) {\n\t\t\tthis.stopAutoplay(event);\n\t\t}\n\t};\n\n\tonAutoplayBtnClick = (event) => {\n\t\tconst isAutoplayOn = this.getIsAutoplayOn();\n\n\t\tif (this.props.onRequestAutoplayToggle) {\n\t\t\tthis.props.onRequestAutoplayToggle(event, { isAutoplayOn });\n\t\t} else {\n\t\t\tconst actionToTake = isAutoplayOn\n\t\t\t\t? this.stopAutoplay\n\t\t\t\t: this.startAutoplay;\n\n\t\t\tthis.setState({\n\t\t\t\tisAutoplayOn: !isAutoplayOn,\n\t\t\t});\n\t\t\tactionToTake(event);\n\t\t}\n\t};\n\n\tgetPanelId = ({ carouselId, itemId }) => `content-id-${carouselId}-${itemId}`;\n\n\tgetCurrentPanel() {\n\t\treturn this.props.currentPanel !== undefined\n\t\t\t? this.props.currentPanel\n\t\t\t: this.state.currentPanel;\n\t}\n\n\tgetIsAutoplayOn() {\n\t\treturn this.props.isAutoplayOn !== undefined\n\t\t\t? this.props.isAutoplayOn\n\t\t\t: this.state.isAutoplayOn;\n\t}\n\n\tsetDimensions = () => {\n\t\tif (\n\t\t\tcanUseDOM &&\n\t\t\tthis.stageItem !== undefined &&\n\t\t\tthis.stageItem.current !== undefined &&\n\t\t\tthis.stageItem.current.offsetWidth !== undefined\n\t\t) {\n\t\t\tthis.setState(\n\t\t\t\t{ stageWidth: this.stageItem.current.offsetWidth },\n\t\t\t\tthis.changeTranslationAutomatically\n\t\t\t);\n\t\t}\n\t};\n\n\tsetTranslationAmount = (amount, cb) => {\n\t\tthis.setState({ translateX: amount }, cb);\n\t};\n\n\tsetCurrentPanel = (event, amount, cb) => {\n\t\tif (this.props.onRequestPanelChange) {\n\t\t\tthis.props.onRequestPanelChange(event, {\n\t\t\t\tcurrentPanel: this.getCurrentPanel(),\n\t\t\t\trequestedPanel: amount,\n\t\t\t});\n\t\t} else {\n\t\t\tthis.setState({ currentPanel: amount }, cb);\n\t\t}\n\t};\n\n\tstartAutoplay = (event) => {\n\t\tthis.autoplayId = setInterval(() => {\n\t\t\tif (this.canGoToNext()) {\n\t\t\t\tthis.onNextPanelHandler(event);\n\t\t\t} else if (this.props.isInfinite) {\n\t\t\t\tthis.setCurrentPanel(event, 0, this.changeTranslationAutomatically);\n\t\t\t} else {\n\t\t\t\tthis.stopAutoplay(event);\n\t\t\t}\n\t\t}, this.props.autoplayInterval);\n\t};\n\n\tstopAutoplay = (event, ignoreCallbacksAndStateUpdates) => {\n\t\tif (this.autoplayId) {\n\t\t\tclearInterval(this.autoplayId);\n\t\t}\n\n\t\tif (!ignoreCallbacksAndStateUpdates) {\n\t\t\tif (this.props.onRequestAutoplayToggle) {\n\t\t\t\tthis.props.onRequestAutoplayToggle(event, {\n\t\t\t\t\tisAutoplayOn: this.getIsAutoplayOn(),\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\tthis.setState({ isAutoplayOn: false });\n\t\t\t}\n\t\t}\n\t};\n\n\tchangeTranslationAutomatically = () => {\n\t\tthis.setTranslationAmount(\n\t\t\t-((this.state.stageWidth || this.stageWidth) * this.getCurrentPanel())\n\t\t);\n\t};\n\n\tcanGoToNext = () => this.getCurrentPanel() < this.nrOfPanels - 1;\n\n\tcanGoToPrevious = () => this.getCurrentPanel() > 0;\n\n\thandleKeyDown = (event) => {\n\t\tconst keyDownCallbacks = {\n\t\t\t[KEYS.LEFT]: () => {\n\t\t\t\tif (this.props.isInfinite || this.canGoToPrevious()) {\n\t\t\t\t\tthis.onPreviousPanelHandler(event);\n\t\t\t\t\tthis.setState({ indicatorsHaveFocus: true });\n\t\t\t\t\tif (this.getIsAutoplayOn()) {\n\t\t\t\t\t\tthis.stopAutoplay(event);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t},\n\t\t\t[KEYS.RIGHT]: () => {\n\t\t\t\tif (this.props.isInfinite || this.canGoToNext()) {\n\t\t\t\t\tthis.onNextPanelHandler(event);\n\t\t\t\t\tthis.setState({ indicatorsHaveFocus: true });\n\t\t\t\t\tif (this.getIsAutoplayOn()) {\n\t\t\t\t\t\tthis.stopAutoplay(event);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t},\n\t\t};\n\n\t\tif (keyDownCallbacks[event.keyCode]) {\n\t\t\tEventUtil.trapImmediate(event);\n\t\t\tkeyDownCallbacks[event.keyCode]();\n\t\t}\n\t};\n\n\trender() {\n\t\tconst {\n\t\t\thasAutoplay,\n\t\t\thasPreviousNextPanelNavigation,\n\t\t\tisInfinite,\n\t\t} = this.props;\n\t\tconst currentPanel = this.getCurrentPanel();\n\t\tconst id = this.props.id || this.generatedId;\n\t\tconst isPreviousBtnDisabled = !(isInfinite || this.canGoToPrevious());\n\t\tconst isNextBtnDisabled = !(isInfinite || this.canGoToNext());\n\t\tconst itemWidth =\n\t\t\t(this.state.stageWidth || this.stageWidth) / this.props.itemsPerPanel;\n\t\tconst carouselMargins = hasPreviousNextPanelNavigation\n\t\t\t? { marginLeft: '44px', marginRight: '44px' }\n\t\t\t: {};\n\t\treturn (\n\t\t\t<div\n\t\t\t\tclassName={classnames('slds-carousel', this.props.className)}\n\t\t\t\tid={id}\n\t\t\t\tonKeyDown={this.handleKeyDown}\n\t\t\t>\n\t\t\t\t<div className=\"slds-grid_vertical slds-col slds-path__scroller\">\n\t\t\t\t\t{hasAutoplay && (\n\t\t\t\t\t\t<AutoplayButton\n\t\t\t\t\t\t\tassistiveText={this.props.assistiveText.autoplayButton}\n\t\t\t\t\t\t\tisAutoplayOn={this.getIsAutoplayOn()}\n\t\t\t\t\t\t\tonClick={this.onAutoplayBtnClick}\n\t\t\t\t\t\t/>\n\t\t\t\t\t)}\n\t\t\t\t\t<div className=\"slds-is-relative\" style={carouselMargins}>\n\t\t\t\t\t\t{hasPreviousNextPanelNavigation && (\n\t\t\t\t\t\t\t<PreviousNextCarouselNavigator\n\t\t\t\t\t\t\t\tassistiveText={this.props.assistiveText.previousPanel}\n\t\t\t\t\t\t\t\ticonName=\"chevronleft\"\n\t\t\t\t\t\t\t\tisDisabled={isPreviousBtnDisabled}\n\t\t\t\t\t\t\t\tonClick={(event) => {\n\t\t\t\t\t\t\t\t\tif (this.getIsAutoplayOn()) {\n\t\t\t\t\t\t\t\t\t\tthis.stopAutoplay(event);\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tthis.onPreviousPanelHandler(event);\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\tinlineStyle={{ left: '-38px' }}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t)}\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tref={this.stageItem}\n\t\t\t\t\t\t\tclassName=\"slds-carousel__stage slds-show\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\tclassName=\"slds-carousel__panels slds-is-relative\"\n\t\t\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\t\t\ttransform: `translateX(${this.state.translateX}px)`,\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{this.props.items.map((item, index) => (\n\t\t\t\t\t\t\t\t\t<CarouselItem\n\t\t\t\t\t\t\t\t\t\tcarouselId={id}\n\t\t\t\t\t\t\t\t\t\tgetPanelId={this.getPanelId}\n\t\t\t\t\t\t\t\t\t\tonClick={(event) => {\n\t\t\t\t\t\t\t\t\t\t\tthis.props.onItemClick(event, { item });\n\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\tonFocus={(event) => {\n\t\t\t\t\t\t\t\t\t\t\tif (this.getIsAutoplayOn()) {\n\t\t\t\t\t\t\t\t\t\t\t\tthis.stopAutoplay(event);\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\tonRenderItem={this.props.onRenderItem}\n\t\t\t\t\t\t\t\t\t\t{...item}\n\t\t\t\t\t\t\t\t\t\tisInCurrentPanel={\n\t\t\t\t\t\t\t\t\t\t\tindex >= currentPanel * this.props.itemsPerPanel &&\n\t\t\t\t\t\t\t\t\t\t\tindex <\n\t\t\t\t\t\t\t\t\t\t\t\tcurrentPanel * this.props.itemsPerPanel +\n\t\t\t\t\t\t\t\t\t\t\t\t\tthis.props.itemsPerPanel\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\titemWidth={itemWidth}\n\t\t\t\t\t\t\t\t\t\tkey={item.id}\n\t\t\t\t\t\t\t\t\t\tpanelIndex={\n\t\t\t\t\t\t\t\t\t\t\tMath.ceil((index + 1) / this.props.itemsPerPanel) - 1\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t{hasPreviousNextPanelNavigation && (\n\t\t\t\t\t\t\t<PreviousNextCarouselNavigator\n\t\t\t\t\t\t\t\tassistiveText={this.props.assistiveText.nextPanel}\n\t\t\t\t\t\t\t\ticonName=\"chevronright\"\n\t\t\t\t\t\t\t\tisDisabled={isNextBtnDisabled}\n\t\t\t\t\t\t\t\tonClick={(event) => {\n\t\t\t\t\t\t\t\t\tif (this.getIsAutoplayOn()) {\n\t\t\t\t\t\t\t\t\t\tthis.stopAutoplay(event);\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tthis.onNextPanelHandler(event);\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\tinlineStyle={{ right: '-38px' }}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t)}\n\t\t\t\t\t</div>\n\t\t\t\t\t<CarouselIndicators\n\t\t\t\t\t\tnoOfIndicators={this.nrOfPanels}\n\t\t\t\t\t\tcarouselId={id}\n\t\t\t\t\t\tcurrentIndex={currentPanel}\n\t\t\t\t\t\tgetPanelId={this.getPanelId}\n\t\t\t\t\t\thasFocus={this.state.indicatorsHaveFocus}\n\t\t\t\t\t\tonBlur={this.onIndicatorBlur}\n\t\t\t\t\t\tonClick={this.onIndicatorClickHandler}\n\t\t\t\t\t\tonFocus={this.onIndicatorFocus}\n\t\t\t\t\t\titems={this.props.items}\n\t\t\t\t\t\titemsPerPanel={this.props.itemsPerPanel}\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t);\n\t}\n}\n\nexport default Carousel;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n/* eslint-disable import/no-mutable-exports */\n/* eslint-disable max-len */\n\nimport deprecatedEventParameter from '../../utilities/warning/deprecated-event-parameter';\nimport getComponentDocFn from '../../utilities/get-component-doc';\nimport onlyOneOfProperties from '../../utilities/warning/only-one-of-properties';\nimport sunsetProperty from '../../utilities/warning/sunset-property';\n\nlet checkProps = function checkPropsFunction() {};\n\nif (process.env.NODE_ENV !== 'production') {\n\tcheckProps = function checkPropsFunction(COMPONENT, props, jsonDoc) {\n\t\tconst createDocUrl = getComponentDocFn(jsonDoc);\n\n\t\tsunsetProperty(\n\t\t\tCOMPONENT,\n\t\t\tprops.label,\n\t\t\t'label',\n\t\t\t`Use \\`labels.label\\` instead.${createDocUrl('labels')}`\n\t\t);\n\n\t\tdeprecatedEventParameter(\n\t\t\tCOMPONENT,\n\t\t\t{\n\t\t\t\toldEventParameterOrder: props.oldEventParameterOrder,\n\t\t\t\tpropAsString: 'onChange',\n\t\t\t\tpropAsValue: props.onChange,\n\t\t\t},\n\t\t\t`\\`components/forms/checkbox\\` is deprecated. \\`components/checkbox\\` should be used. When this path update is made \\`onChange\\` event parameters will change from \\`onChange(value, event, { value }) to \\`onChange(event, { value }). Please update your event parameters when you change paths.\\` If you are using the CommonJS named import, \\`Checkbox\\` events will break at v1.0 and this warning will be present until then. Please review https://github.com/salesforce/design-system-react/releases when you upgrade. ${createDocUrl(\n\t\t\t\t'onChange'\n\t\t\t)}`\n\t\t);\n\n\t\tif (props.variant === 'toggle' && props.indeterminate === true) {\n\t\t\tonlyOneOfProperties(\n\t\t\t\tCOMPONENT,\n\t\t\t\t{\n\t\t\t\t\tvariant: props.variant,\n\t\t\t\t\tindeterminate: props.indeterminate,\n\t\t\t\t},\n\t\t\t\t`Currently SLDS does not support the \\`indeterminate\\` state in Checkbox Toggle. See SLDS documentation about [Checkbox Toggle](https://lightningdesignsystem.com/components/forms/#flavor-checkbox-toggle-checkbox-toggle) for more information. ${createDocUrl(\n\t\t\t\t\t'variant'\n\t\t\t\t)}`\n\t\t\t);\n\t\t}\n\t};\n}\n\nexport default checkProps;\n","/* eslint-disable react/jsx-curly-brace-presence */\n/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// # Checkbox Component\n\n// Implements the [Checkbox design pattern](https://www.lightningdesignsystem.com/components/forms/#checkbox) in React.\n\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\nimport classNames from 'classnames';\n\n// ### shortid\n// [npmjs.com/package/shortid](https://www.npmjs.com/package/shortid)\n// shortid is a short, non-sequential, url-friendly, unique id generator\nimport shortid from 'shortid';\n\n// ### Event Helpers\nimport KEYS from '../../utilities/key-code';\nimport EventUtil from '../../utilities/event';\n\n// This component's `checkProps` which issues warnings to developers about properties when in development mode (similar to React's built in development tools)\nimport checkProps from './check-props';\nimport componentDoc from './component.json';\n\nimport { CHECKBOX } from '../../utilities/constants';\nimport Icon from '../icon';\n\nimport getAriaProps from '../../utilities/get-aria-props';\n\nconst propTypes = {\n\t/**\n\t * An HTML ID that is shared with ARIA-supported devices with the\n\t * `aria-controls` attribute in order to relate the input with\n\t * another region of the page. An example would be a select box\n\t * that shows or hides a panel.\n\t */\n\t'aria-controls': PropTypes.string,\n\t/**\n\t * The `aria-describedby` attribute is used to indicate the IDs of the elements that describe the object. It is used to establish a relationship between widgets or groups and text that described them. This is very similar to aria-labelledby: a label describes the essence of an object, while a description provides more information that the user might need.\n\t */\n\t'aria-describedby': PropTypes.string,\n\t/**\n\t * The aria-labelledby attribute establishes relationships between objects and their label(s), and its value should be one or more element IDs, which refer to elements that have the text needed for labeling. List multiple element IDs in a space delimited fashion.\n\t */\n\t'aria-labelledby': PropTypes.string,\n\t/**\n\t * `aria-owns` indicate that an element depends on the current one when the relation can't be determined by the hierarchy structure.\n\t */\n\t'aria-owns': PropTypes.string,\n\t/**\n\t * The `aria-required` attribute is used to indicate that user input is required on an element before a form can be submitted.\n\t */\n\t'aria-required': PropTypes.bool,\n\t/**\n\t * **Assistive text for accessibility**\n\t * This object is merged with the default props object on every render.\n\t * * `heading`: This is used as a visually hidden label if, no `labels.heading` is provided.\n\t * * `label`: This is used as a visually hidden label if, no `labels.label` is provided.\n\t */\n\tassistiveText: PropTypes.shape({\n\t\theading: PropTypes.string,\n\t\tlabel: PropTypes.string,\n\t}),\n\t/**\n\t * The Checkbox should be a controlled component, and will always be in the state specified. If checked is not defined, the state of the uncontrolled native `input` component will be used.\n\t */\n\tchecked: PropTypes.bool,\n\t/**\n\t * This is the initial value of an uncontrolled form element and is present only\n\t * to provide compatibility with hybrid framework applications that are not\n\t * entirely React. It should only be used in an application without centralized\n\t * state (Redux, Flux). \"Controlled components\" with centralized state is highly recommended. See [Code Overview](https://github.com/salesforce/design-system-react/blob/master/docs/codebase-overview.md#controlled-and-uncontrolled-components) for more information.\n\t */\n\tdefaultChecked: PropTypes.bool,\n\t/**\n\t * Class names to be added to the outer container of the Checkbox.\n\t */\n\tclassName: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\t/**\n\t * Disables the Checkbox and prevents clicking it.\n\t */\n\tdisabled: PropTypes.bool,\n\t/**\n\t * Message to display when the Checkbox is in an error state. When this is present, also visually highlights the component as in error.\n\t */\n\terrorText: PropTypes.string,\n\t/**\n\t * A unique ID is needed in order to support keyboard navigation and ARIA support. This ID is added to the `input` element\n\t */\n\tid: PropTypes.string,\n\t/**\n\t * The Checkbox will be indeterminate if its state can not be figured out or is partially checked. Once a checkbox is indeterminate, a click should cause it to be checked. Since a user cannot put a checkbox into an indeterminate state, it is assumed you are controlling the value of `checked` with the parent, also, and that this is a controlled component. **Note:** `indeterminate` proptype does nothing in the `toggle` variant, as [SLDS does not support it](https://lightningdesignsystem.com/components/forms/#flavor-checkbox-toggle-checkbox-toggle).\n\t */\n\tindeterminate: PropTypes.bool,\n\t/**\n\t * **Text labels for internationalization**\n\t * This object is merged with the default props object on every render.\n\t * * `heading`: Heading for the visual picker variant\n\t * * `label`: Label for the _enabled_ state of the Toggle variant. Defaults to \"Enabled\".\n\t * * `toggleDisabled`: Label for the _disabled_ state of the Toggle variant. Defaults to \"Disabled\". Note that this uses SLDS language, and meaning, of \"Enabled\" and \"Disabled\"; referring to the state of whatever the checkbox is _toggling_, not whether the checkbox itself is enabled or disabled.\n\t * * `toggleEnabled`: Label for the _enabled_ state of the Toggle variant. Defaults to \"Enabled\".\n\t */\n\tlabels: PropTypes.shape({\n\t\theading: PropTypes.string,\n\t\tlabel: PropTypes.string,\n\t\ttoggleDisabled: PropTypes.string,\n\t\ttoggleEnabled: PropTypes.string,\n\t}),\n\t/**\n\t * Name of the submitted form parameter.\n\t */\n\tname: PropTypes.string,\n\t/**\n\t * This event fires when the Checkbox looses focus. It passes in `{ event }`.\n\t */\n\tonBlur: PropTypes.func,\n\t/**\n\t * This event fires when the Checkbox changes. Passes in `event, { checked }`. This used to be `checked, event, { checked }`.\n\t */\n\tonChange: PropTypes.func,\n\t/**\n\t * This event fires when the Checkbox is focused. It passes in `{ event }`.\n\t */\n\tonFocus: PropTypes.func,\n\t/**\n\t * This event fires when a key is pressed down. It passes in `{ event }`.\n\t */\n\tonKeyDown: PropTypes.func,\n\t/**\n\t * This event fires when a character is typed. See [this article](http://www.bloggingdeveloper.com/post/KeyPress-KeyDown-KeyUp-The-Difference-Between-Javascript-Key-Events.aspx) for more information. It passes in `{ event }`.\n\t */\n\tonKeyPress: PropTypes.func,\n\t/**\n\t * This event fires when a pressed key is released. It passes in `{ event }`.\n\t */\n\tonKeyUp: PropTypes.func,\n\t/**\n\t * Displays the value of the input, but does not allow changes.\n\t */\n\treadOnly: PropTypes.bool,\n\t/**\n\t * Highlights the Checkbox as a required field (does not perform any validation).\n\t */\n\trequired: PropTypes.bool,\n\t/**\n\t * The aria-role of the checkbox.\n\t */\n\trole: PropTypes.string,\n\t/**\n\t * Which UX pattern of checkbox? The default is `base` while other option is `toggle`. (**Note:** `toggle` variant does not support the `indeterminate` feature, because [SLDS does not support it](https://lightningdesignsystem.com/components/forms/#flavor-checkbox-toggle-checkbox-toggle).)\n\t */\n\tvariant: PropTypes.oneOf(['base', 'toggle', 'button-group', 'visual-picker']),\n\t/**\n\t * Determines whether visual picker is coverable when selected (only for visual picker variant)\n\t */\n\tcoverable: PropTypes.bool,\n\t/**\n\t * Determines whether the visual picker should be vertical or horizontal (only for visual picker variant)\n\t */\n\tvertical: PropTypes.bool,\n\t/**\n\t * Allows icon to shown with checkbox (only for non-coverable visual picker variant)\n\t */\n\tonRenderVisualPicker: PropTypes.func,\n\t/**\n\t * Allows icon to shown if checkbox is not selected (only for visual picker variant)\n\t */\n\tonRenderVisualPickerSelected: PropTypes.func,\n\t/**\n\t * Allows icon to shown if checkbox is not selected (only for visual picker variant)\n\t */\n\tonRenderVisualPickerNotSelected: PropTypes.func,\n\t/**\n\t * Size of checkbox in case of visual composer variant\n\t */\n\tsize: PropTypes.oneOf(['medium', 'large']),\n};\n\nconst defaultProps = {\n\tassistiveText: {},\n\tlabels: {\n\t\ttoggleDisabled: 'Disabled',\n\t\ttoggleEnabled: 'Enabled',\n\t},\n\tvariant: 'base',\n};\n\n/**\n * The ability to style checkboxes with CSS varies across browsers. Using this component ensures checkboxes look the same everywhere.\n */\nclass Checkbox extends React.Component {\n\tconstructor(props) {\n\t\tsuper(props);\n\n\t\tcheckProps(CHECKBOX, this.props, componentDoc);\n\t\tthis.generatedId = shortid.generate();\n\t}\n\n\tgetId = () => this.props.id || this.generatedId;\n\n\tgetErrorId = () =>\n\t\tthis.props.errorText ? `${this.getId()}-error-text` : undefined;\n\n\tgetAriaDescribedBy = ({ idArray = [] } = {}) =>\n\t\tidArray\n\t\t\t.concat(this.props['aria-describedby'], this.getErrorId())\n\t\t\t.filter(Boolean)\n\t\t\t.join(' ') || undefined;\n\n\thandleChange = (event) => {\n\t\tconst { checked, indeterminate, onChange } = this.props;\n\n\t\tif (typeof onChange === 'function') {\n\t\t\t// `target.checked` is present twice to maintain backwards compatibility. Please remove first parameter `value` on the next breaking change or when `forms/checkbox` is removed.\n\t\t\tif (this.props.oldEventParameterOrder) {\n\t\t\t\tonChange(event.target.checked, event, {\n\t\t\t\t\tchecked: indeterminate ? true : !checked,\n\t\t\t\t\tindeterminate: false,\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\t// NEW API\n\t\t\t\tonChange(event, {\n\t\t\t\t\tchecked: indeterminate ? true : !checked,\n\t\t\t\t\tindeterminate: false,\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t};\n\n\thandleKeyDown = (event) => {\n\t\tif (event.keyCode) {\n\t\t\tif (event.keyCode === KEYS.ENTER || event.keyCode === KEYS.SPACE) {\n\t\t\t\tEventUtil.trapImmediate(event);\n\t\t\t\tthis.handleChange(event);\n\t\t\t}\n\t\t}\n\t};\n\n\trenderButtonGroupVariant = (props, ariaProps, assistiveText, labels) => (\n\t\t<span className=\"slds-button slds-checkbox_button\">\n\t\t\t<input\n\t\t\t\tdisabled={props.disabled}\n\t\t\t\t/* A form element should not have both checked and defaultChecked props. */\n\t\t\t\t{...(props.checked !== undefined\n\t\t\t\t\t? { checked: props.checked }\n\t\t\t\t\t: { defaultChecked: props.defaultChecked })}\n\t\t\t\tid={this.getId()}\n\t\t\t\tname={props.name}\n\t\t\t\tonBlur={props.onBlur}\n\t\t\t\tonChange={this.handleChange}\n\t\t\t\tonFocus={props.onFocus}\n\t\t\t\tonKeyDown={props.onKeyDown}\n\t\t\t\tonKeyPress={props.onKeyPress}\n\t\t\t\tonKeyUp={props.onKeyUp}\n\t\t\t\tref={(component) => {\n\t\t\t\t\tthis.input = component;\n\t\t\t\t}}\n\t\t\t\trole={props.role}\n\t\t\t\trequired={props.required}\n\t\t\t\ttype=\"checkbox\"\n\t\t\t\t{...ariaProps}\n\t\t\t\taria-describedby={this.getAriaDescribedBy()}\n\t\t\t/>\n\t\t\t<label className=\"slds-checkbox_button__label\" htmlFor={this.getId()}>\n\t\t\t\t<span className=\"slds-checkbox_faux\">{labels.label}</span>\n\t\t\t\t{assistiveText.label ? (\n\t\t\t\t\t<span className=\"slds-assistive-text\">{assistiveText.label}</span>\n\t\t\t\t) : null}\n\t\t\t</label>\n\t\t</span>\n\t);\n\n\trenderBaseVariant = (props, ariaProps, assistiveText, labels) => (\n\t\t<div\n\t\t\tclassName={classNames(\n\t\t\t\t'slds-form-element',\n\t\t\t\t{\n\t\t\t\t\t'is-required': props.required,\n\t\t\t\t\t'slds-has-error': props.errorText,\n\t\t\t\t},\n\t\t\t\tprops.className\n\t\t\t)}\n\t\t>\n\t\t\t<div className=\"slds-form-element__control\">\n\t\t\t\t<span className=\"slds-checkbox\">\n\t\t\t\t\t{props.required ? (\n\t\t\t\t\t\t<abbr className=\"slds-required\" title=\"required\">\n\t\t\t\t\t\t\t{'*'}\n\t\t\t\t\t\t</abbr>\n\t\t\t\t\t) : null}\n\t\t\t\t\t<input\n\t\t\t\t\t\tdisabled={props.disabled}\n\t\t\t\t\t\t/* A form element should not have both checked and defaultChecked props. */\n\t\t\t\t\t\t{...(props.checked !== undefined\n\t\t\t\t\t\t\t? { checked: props.checked }\n\t\t\t\t\t\t\t: { defaultChecked: props.defaultChecked })}\n\t\t\t\t\t\tid={this.getId()}\n\t\t\t\t\t\tname={props.name}\n\t\t\t\t\t\tonBlur={props.onBlur}\n\t\t\t\t\t\tonChange={this.handleChange}\n\t\t\t\t\t\tonFocus={props.onFocus}\n\t\t\t\t\t\tonKeyDown={props.onKeyDown}\n\t\t\t\t\t\tonKeyPress={props.onKeyPress}\n\t\t\t\t\t\tonKeyUp={props.onKeyUp}\n\t\t\t\t\t\tref={(component) => {\n\t\t\t\t\t\t\tif (component) {\n\t\t\t\t\t\t\t\t// eslint-disable-next-line no-param-reassign\n\t\t\t\t\t\t\t\tcomponent.indeterminate = props.indeterminate;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tthis.input = component;\n\t\t\t\t\t\t}}\n\t\t\t\t\t\trole={props.role}\n\t\t\t\t\t\trequired={props.required}\n\t\t\t\t\t\ttype=\"checkbox\"\n\t\t\t\t\t\t{...ariaProps}\n\t\t\t\t\t\taria-describedby={this.getAriaDescribedBy()}\n\t\t\t\t\t/>\n\t\t\t\t\t<label\n\t\t\t\t\t\tclassName=\"slds-checkbox__label\"\n\t\t\t\t\t\thtmlFor={this.getId()}\n\t\t\t\t\t\tid={props.labelId}\n\t\t\t\t\t>\n\t\t\t\t\t\t<span className=\"slds-checkbox_faux\" />\n\t\t\t\t\t\t{labels.label ? (\n\t\t\t\t\t\t\t<span className=\"slds-form-element__label\">{labels.label}</span>\n\t\t\t\t\t\t) : null}\n\t\t\t\t\t\t{assistiveText.label ? (\n\t\t\t\t\t\t\t<span className=\"slds-assistive-text\">{assistiveText.label}</span>\n\t\t\t\t\t\t) : null}\n\t\t\t\t\t</label>\n\t\t\t\t</span>\n\t\t\t</div>\n\t\t\t{props.errorText ? (\n\t\t\t\t<div className=\"slds-form-element__help\" id={this.getErrorId()}>\n\t\t\t\t\t{props.errorText}\n\t\t\t\t</div>\n\t\t\t) : null}\n\t\t</div>\n\t);\n\n\trenderToggleVariant = (props, ariaProps, assistiveText, labels) => (\n\t\t<div\n\t\t\tclassName={classNames(\n\t\t\t\t'slds-form-element',\n\t\t\t\t{\n\t\t\t\t\t'is-required': props.required,\n\t\t\t\t\t'slds-has-error': props.errorText,\n\t\t\t\t},\n\t\t\t\tprops.className\n\t\t\t)}\n\t\t>\n\t\t\t<label className=\"slds-checkbox_toggle slds-grid\" htmlFor={this.getId()}>\n\t\t\t\t{props.required ? (\n\t\t\t\t\t<abbr className=\"slds-required\" title=\"required\">\n\t\t\t\t\t\t{'*'}\n\t\t\t\t\t</abbr>\n\t\t\t\t) : null}\n\t\t\t\t{labels.label ? (\n\t\t\t\t\t<span className=\"slds-form-element__label slds-m-bottom_none\">\n\t\t\t\t\t\t{labels.label}\n\t\t\t\t\t</span>\n\t\t\t\t) : null}\n\t\t\t\t{assistiveText.label ? (\n\t\t\t\t\t<span className=\"slds-assistive-text\">{assistiveText.label}</span>\n\t\t\t\t) : null}\n\t\t\t\t<input\n\t\t\t\t\tdisabled={props.disabled}\n\t\t\t\t\tid={this.getId()}\n\t\t\t\t\t/* A form element should not have both checked and defaultChecked props. */\n\t\t\t\t\t{...(props.checked !== undefined\n\t\t\t\t\t\t? { checked: props.checked }\n\t\t\t\t\t\t: { defaultChecked: props.defaultChecked })}\n\t\t\t\t\tname={props.name}\n\t\t\t\t\tonBlur={props.onBlur}\n\t\t\t\t\tonChange={this.handleChange}\n\t\t\t\t\tonFocus={props.onFocus}\n\t\t\t\t\tonKeyDown={props.onKeyDown}\n\t\t\t\t\tonKeyPress={props.onKeyPress}\n\t\t\t\t\tonKeyUp={props.onKeyUp}\n\t\t\t\t\tref={(component) => {\n\t\t\t\t\t\tthis.input = component;\n\t\t\t\t\t}}\n\t\t\t\t\trole={props.role}\n\t\t\t\t\trequired={props.required}\n\t\t\t\t\ttype=\"checkbox\"\n\t\t\t\t\t{...ariaProps}\n\t\t\t\t\taria-describedby={this.getAriaDescribedBy({\n\t\t\t\t\t\tidArray: [`${this.getId()}-desc`],\n\t\t\t\t\t})}\n\t\t\t\t/>\n\t\t\t\t<span\n\t\t\t\t\tid={`${this.getId()}-desc`}\n\t\t\t\t\tclassName=\"slds-checkbox_faux_container\"\n\t\t\t\t\taria-live=\"assertive\"\n\t\t\t\t>\n\t\t\t\t\t<span className=\"slds-checkbox_faux\" />\n\t\t\t\t\t<span className=\"slds-checkbox_on\">{labels.toggleEnabled}</span>\n\t\t\t\t\t<span className=\"slds-checkbox_off\">{labels.toggleDisabled}</span>\n\t\t\t\t</span>\n\t\t\t</label>\n\t\t\t{props.errorText ? (\n\t\t\t\t<div className=\"slds-form-element__help\" id={this.getErrorId()}>\n\t\t\t\t\t{props.errorText}\n\t\t\t\t</div>\n\t\t\t) : null}\n\t\t</div>\n\t);\n\n\trenderVisualPickerVariant = (props, ariaProps, assistiveText) => (\n\t\t<span\n\t\t\tclassName={classNames(\n\t\t\t\t'slds-visual-picker',\n\t\t\t\t`slds-visual-picker_${this.props.size}`,\n\t\t\t\tthis.props.vertical ? 'slds-visual-picker_vertical' : null\n\t\t\t)}\n\t\t>\n\t\t\t<input\n\t\t\t\tdisabled={props.disabled}\n\t\t\t\t/* A form element should not have both checked and defaultChecked props. */\n\t\t\t\t{...(props.checked !== undefined\n\t\t\t\t\t? { checked: props.checked }\n\t\t\t\t\t: { defaultChecked: props.defaultChecked })}\n\t\t\t\tid={this.getId()}\n\t\t\t\tname={props.name}\n\t\t\t\tonBlur={props.onBlur}\n\t\t\t\tonChange={this.handleChange}\n\t\t\t\tonFocus={props.onFocus}\n\t\t\t\tonKeyDown={props.onKeyDown}\n\t\t\t\tonKeyPress={props.onKeyPress}\n\t\t\t\tonKeyUp={props.onKeyUp}\n\t\t\t\tref={(component) => {\n\t\t\t\t\tthis.input = component;\n\t\t\t\t}}\n\t\t\t\trole={props.role}\n\t\t\t\trequired={props.required}\n\t\t\t\ttype=\"checkbox\"\n\t\t\t\t{...ariaProps}\n\t\t\t\taria-describedby={this.getAriaDescribedBy()}\n\t\t\t/>\n\t\t\t<label className=\"slds-checkbox_button__label\" htmlFor={this.getId()}>\n\t\t\t\t{this.props.coverable ? (\n\t\t\t\t\t<div className=\"slds-visual-picker__figure slds-visual-picker__icon slds-align_absolute-center\">\n\t\t\t\t\t\t<span className=\"slds-is-selected\">\n\t\t\t\t\t\t\t{this.props.onRenderVisualPickerSelected()}\n\t\t\t\t\t\t</span>\n\t\t\t\t\t\t<span className=\"slds-is-not-selected\">\n\t\t\t\t\t\t\t{this.props.onRenderVisualPickerNotSelected()}\n\t\t\t\t\t\t</span>\n\t\t\t\t\t</div>\n\t\t\t\t) : (\n\t\t\t\t\t<span className=\"slds-visual-picker__figure slds-visual-picker__text slds-align_absolute-center\">\n\t\t\t\t\t\t{this.props.onRenderVisualPicker()}\n\t\t\t\t\t</span>\n\t\t\t\t)}\n\t\t\t\t{!this.props.vertical ? (\n\t\t\t\t\t<span className=\"slds-visual-picker__body\">\n\t\t\t\t\t\t{this.props.labels.heading ? (\n\t\t\t\t\t\t\t<span className=\"slds-text-heading_small\">\n\t\t\t\t\t\t\t\t{this.props.labels.heading}\n\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t) : null}\n\t\t\t\t\t\t<span className=\"slds-text-title\">{this.props.labels.label}</span>\n\t\t\t\t\t\t{assistiveText.label || assistiveText.heading ? (\n\t\t\t\t\t\t\t<span className=\"slds-assistive-text\">\n\t\t\t\t\t\t\t\t{assistiveText.label || assistiveText.heading}\n\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t) : null}\n\t\t\t\t\t</span>\n\t\t\t\t) : null}\n\t\t\t\t{!this.props.coverable ? (\n\t\t\t\t\t<span className=\"slds-icon_container slds-visual-picker__text-check\">\n\t\t\t\t\t\t<Icon\n\t\t\t\t\t\t\tassistiveText={this.props.assistiveText}\n\t\t\t\t\t\t\tcategory=\"utility\"\n\t\t\t\t\t\t\tname=\"check\"\n\t\t\t\t\t\t\tcolorVariant=\"base\"\n\t\t\t\t\t\t\tsize=\"x-small\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t</span>\n\t\t\t\t) : null}\n\t\t\t</label>\n\t\t</span>\n\t);\n\n\trender() {\n\t\tconst ariaProps = getAriaProps(this.props);\n\n\t\tif (this.props.variant === 'toggle') {\n\t\t\tariaProps['aria-describedby'] = `${this.getId()}-desc`;\n\t\t}\n\n\t\tconst assistiveText = {\n\t\t\t...defaultProps.assistiveText,\n\t\t\t/* Remove backward compatibility at next breaking change */\n\t\t\t...(typeof this.props.assistiveText === 'string'\n\t\t\t\t? { label: this.props.assistiveText }\n\t\t\t\t: {}),\n\t\t\t...(typeof this.props.assistiveText === 'object'\n\t\t\t\t? this.props.assistiveText\n\t\t\t\t: {}),\n\t\t};\n\t\tconst labels = {\n\t\t\t...defaultProps.labels,\n\t\t\t/* Remove backward compatibility at next breaking change */\n\t\t\t...(this.props.label ? { label: this.props.label } : {}),\n\t\t\t...this.props.labels,\n\t\t};\n\n\t\tconst subRenders = {\n\t\t\tbase: this.renderBaseVariant,\n\t\t\t'button-group': this.renderButtonGroupVariant,\n\t\t\ttoggle: this.renderToggleVariant,\n\t\t\t'visual-picker': this.renderVisualPickerVariant,\n\t\t};\n\t\tconst variantExists = subRenders[this.props.variant];\n\n\t\treturn variantExists\n\t\t\t? subRenders[this.props.variant](\n\t\t\t\t\tthis.props,\n\t\t\t\t\tariaProps,\n\t\t\t\t\tassistiveText,\n\t\t\t\t\tlabels\n\t\t\t )\n\t\t\t: subRenders.base(this.props, ariaProps, assistiveText, labels);\n\t}\n}\n\nCheckbox.displayName = CHECKBOX;\nCheckbox.propTypes = propTypes;\nCheckbox.defaultProps = defaultProps;\n\nexport default Checkbox;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n/* eslint-disable import/no-mutable-exports */\n\nimport onlyOneOfProperties from '../../utilities/warning/only-one-of-properties';\nimport getComponentDocFn from '../../utilities/get-component-doc';\n\nlet checkProps = function checkPropsFunction() {};\n\nif (process.env.NODE_ENV !== 'production') {\n\tcheckProps = function checkPropsFunction(COMPONENT, props, jsonDoc) {\n\t\tconst createDocUrl = getComponentDocFn(jsonDoc);\n\n\t\tonlyOneOfProperties(\n\t\t\tCOMPONENT,\n\t\t\t{\n\t\t\t\t'assistiveText.label': props.assistiveText && props.assistiveText.label,\n\t\t\t\tlabel: props.labels.label,\n\t\t\t},\n\t\t\tcreateDocUrl('assistiveText')\n\t\t);\n\t};\n}\n\nexport default checkProps;\n","import React from 'react';\nimport classNames from 'classnames';\n\nimport Input from '../../input';\n\nclass CustomColorForm extends React.Component {\n\tstatic displayName = 'SLDSCustomColorForm';\n\n\trender() {\n\t\tlet describedBy;\n\n\t\tif (this.props.errorTextWorkingColor || this.props.color.errors) {\n\t\t\tdescribedBy = `color-picker-custom-error-${this.props.id}`;\n\t\t}\n\n\t\treturn (\n\t\t\t<div className=\"slds-color-picker__custom-inputs\">\n\t\t\t\t<Input\n\t\t\t\t\taria-describedby={describedBy}\n\t\t\t\t\tclassName={classNames('slds-color-picker__input-custom-hex', {\n\t\t\t\t\t\t'slds-has-error':\n\t\t\t\t\t\t\tthis.props.color.errors && this.props.color.errors.hex,\n\t\t\t\t\t})}\n\t\t\t\t\tid={`color-picker-input-hex-${this.props.id}`}\n\t\t\t\t\tlabel={this.props.labels.hexLabel}\n\t\t\t\t\tmaxLength=\"7\"\n\t\t\t\t\tonChange={this.props.onHexChange}\n\t\t\t\t\tvalue={this.props.color.hex}\n\t\t\t\t/>\n\t\t\t\t<Input\n\t\t\t\t\taria-describedby={describedBy}\n\t\t\t\t\tclassName={classNames('slds-color-picker__input-custom-r', {\n\t\t\t\t\t\t'slds-has-error':\n\t\t\t\t\t\t\tthis.props.color.errors && this.props.color.errors.red,\n\t\t\t\t\t})}\n\t\t\t\t\tid={`color-picker-input-r-${this.props.id}`}\n\t\t\t\t\tlabel={this.props.labels.redAbbreviated}\n\t\t\t\t\tonChange={this.props.onRedChange}\n\t\t\t\t\tmaxLength=\"3\"\n\t\t\t\t\tvalue={String(this.props.color.rgb.red)}\n\t\t\t\t/>\n\t\t\t\t<Input\n\t\t\t\t\taria-describedby={describedBy}\n\t\t\t\t\tclassName={classNames('slds-color-picker__input-custom-g', {\n\t\t\t\t\t\t'slds-has-error':\n\t\t\t\t\t\t\tthis.props.color.errors && this.props.color.errors.green,\n\t\t\t\t\t})}\n\t\t\t\t\tid={`color-picker-input-g-${this.props.id}`}\n\t\t\t\t\tlabel={this.props.labels.greenAbbreviated}\n\t\t\t\t\tonChange={this.props.onGreenChange}\n\t\t\t\t\tmaxLength=\"3\"\n\t\t\t\t\tvalue={String(this.props.color.rgb.green)}\n\t\t\t\t/>\n\t\t\t\t<Input\n\t\t\t\t\taria-describedby={describedBy}\n\t\t\t\t\tclassName={classNames('slds-color-picker__input-custom-b', {\n\t\t\t\t\t\t'slds-has-error':\n\t\t\t\t\t\t\tthis.props.color.errors && this.props.color.errors.blue,\n\t\t\t\t\t})}\n\t\t\t\t\tid={`color-picker-input-b-${this.props.id}`}\n\t\t\t\t\tlabel={this.props.labels.blueAbbreviated}\n\t\t\t\t\tonChange={this.props.onBlueChange}\n\t\t\t\t\tmaxLength=\"3\"\n\t\t\t\t\tvalue={String(this.props.color.rgb.blue)}\n\t\t\t\t/>\n\t\t\t</div>\n\t\t);\n\t}\n}\n\nexport default CustomColorForm;\n","/* eslint-disable react/jsx-curly-brace-presence */\n/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// Implements the [Radio Group design pattern](https://lightningdesignsystem.com/components/radio-group/) in React.\n// Based on SLDS v2.5.0\n\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\n\nimport shortid from 'shortid';\nimport assign from 'lodash.assign';\n\nimport { RADIO_GROUP } from '../../utilities/constants';\n\nconst propTypes = {\n\t/**\n\t * **Assistive text for accessibility**\n\t * * `label`: This label appears in the legend.\n\t * * `required`: Text to help identify the group as required\n\t */\n\tassistiveText: PropTypes.shape({\n\t\tlabel: PropTypes.string,\n\t\trequired: PropTypes.string,\n\t}),\n\t/**\n\t * Children are expected to be Radio components.\n\t */\n\tchildren: PropTypes.node.isRequired,\n\t/**\n\t * Custom CSS classes added to the node.\n\t */\n\tclassName: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\t/**\n\t * **Text labels for internationalization**\n\t * This object is merged with the default props object on every render.\n\t * * `error`: Message to display when any of Checkboxes are in an error state.\n\t * * `label`: This label appears above the radio group.\n\t */\n\tlabels: PropTypes.shape({\n\t\terror: PropTypes.string,\n\t\tlabel: PropTypes.string,\n\t}),\n\t/**\n\t * This event fires when the radio selection changes.\n\t */\n\tonChange: PropTypes.func,\n\t/**\n\t * Disable all radio inputs.\n\t */\n\tdisabled: PropTypes.bool,\n\t/**\n\t * Adds an indicator that this field is required.\n\t */\n\trequired: PropTypes.bool,\n\t/**\n\t * The name of this radio group.\n\t */\n\tname: PropTypes.string,\n\t/**\n\t * The ID of the error message, for linking to radio inputs with aria-describedby.\n\t */\n\terrorId: PropTypes.string,\n\t/**\n\t * Variants of radio groups such as Radio Button Group\n\t */\n\tvariant: PropTypes.oneOf(['base', 'button-group']),\n};\n\nconst defaultProps = {\n\tassistiveText: { required: 'Required' },\n\tlabels: {},\n\tvariant: 'base',\n};\n\n/**\n * A styled select list that can have a single entry checked at any one time.\n * The RadioGroup component wraps [Radio](/components/radios) components, which should be used as children.\n */\nclass RadioGroup extends React.Component {\n\tconstructor(props) {\n\t\tsuper(props);\n\n\t\tthis.generatedName = shortid.generate();\n\t\tthis.generatedErrorId = shortid.generate();\n\t}\n\n\tgetErrorId() {\n\t\tif (this.hasError()) {\n\t\t\treturn this.props.errorId || this.generatedErrorId;\n\t\t}\n\t\treturn undefined;\n\t}\n\n\tgetName() {\n\t\treturn this.props.name || this.generatedName;\n\t}\n\n\thasError() {\n\t\treturn !!this.labels.error;\n\t}\n\n\trender() {\n\t\t// Merge objects of strings with their default object\n\t\tthis.labels = this.props.labels\n\t\t\t? assign({}, defaultProps.labels, this.props.labels)\n\t\t\t: defaultProps.labels;\n\n\t\tconst assistiveText = {\n\t\t\t...defaultProps.assistiveText,\n\t\t\t...this.props.assistiveText,\n\t\t};\n\t\tconst children = React.Children.map(this.props.children, (child) =>\n\t\t\tReact.cloneElement(child, {\n\t\t\t\tname: this.getName(),\n\t\t\t\tonChange: this.props.onChange,\n\t\t\t\t'aria-describedby': this.getErrorId(),\n\t\t\t\tdisabled: this.props.disabled,\n\t\t\t})\n\t\t);\n\n\t\treturn (\n\t\t\t<fieldset\n\t\t\t\tclassName={classNames('slds-form-element', {\n\t\t\t\t\t'slds-has-error': this.labels.error,\n\t\t\t\t})}\n\t\t\t>\n\t\t\t\t<legend\n\t\t\t\t\tclassName={classNames(\n\t\t\t\t\t\t'slds-form-element__legend',\n\t\t\t\t\t\t'slds-form-element__label',\n\t\t\t\t\t\tassistiveText.label ? 'slds-assistive-text' : ''\n\t\t\t\t\t)}\n\t\t\t\t>\n\t\t\t\t\t{this.props.required ? (\n\t\t\t\t\t\t<abbr className=\"slds-required\" title=\"required\">\n\t\t\t\t\t\t\t{'*'}\n\t\t\t\t\t\t\t<div className=\"slds-assistive-text\">\n\t\t\t\t\t\t\t\t{assistiveText.required}{' '}\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</abbr>\n\t\t\t\t\t) : null}\n\t\t\t\t\t{assistiveText.label ? assistiveText.label : this.labels.label}\n\t\t\t\t</legend>\n\t\t\t\t<div\n\t\t\t\t\tclassName={classNames(\n\t\t\t\t\t\t'slds-form-element__control',\n\t\t\t\t\t\tthis.props.className\n\t\t\t\t\t)}\n\t\t\t\t>\n\t\t\t\t\t{this.props.variant === 'button-group' ? (\n\t\t\t\t\t\t<div style={this.props.style} className=\"slds-radio_button-group\">\n\t\t\t\t\t\t\t{children}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t) : (\n\t\t\t\t\t\tchildren\n\t\t\t\t\t)}\n\n\t\t\t\t\t{this.labels.error ? (\n\t\t\t\t\t\t<div id={this.getErrorId()} className=\"slds-form-element__help\">\n\t\t\t\t\t\t\t{this.labels.error}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t) : null}\n\t\t\t\t</div>\n\t\t\t</fieldset>\n\t\t);\n\t}\n}\n\nRadioGroup.displayName = RADIO_GROUP;\nRadioGroup.propTypes = propTypes;\nRadioGroup.defaultProps = defaultProps;\n\nexport default RadioGroup;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// Implements the [Radio Button Group design pattern](https://lightningdesignsystem.com/components/radio-button-group/) in React.\n// Based on SLDS v2.5.0\n\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\nimport RadioGroup from '../radio-group';\n\nimport { RADIO_BUTTON_GROUP } from '../../utilities/constants';\n\nconst propTypes = {\n\t/**\n\t * **Assistive text for accessibility**\n\t * * `label`: This label appears in the legend.\n\t */\n\tassistiveText: PropTypes.shape({\n\t\tlabel: PropTypes.string,\n\t}),\n\t/**\n\t * Children are expected to be Radio components.\n\t */\n\tchildren: PropTypes.node.isRequired,\n\t/**\n\t * Custom CSS classes added to `slds-radio_button-group` node.\n\t */\n\tclassName: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\t/**\n\t * **Text labels for internationalization**\n\t * This object is merged with the default props object on every render.\n\t * * `error`: Message to display when any of Checkboxes are in an error state.\n\t * * `label`: This label appears above the button group.\n\t */\n\tlabels: PropTypes.shape({\n\t\terror: PropTypes.string,\n\t\tlabel: PropTypes.string,\n\t}),\n\t/**\n\t * This event fires when the radio selection changes.\n\t */\n\tonChange: PropTypes.func,\n\t/**\n\t * Disable all radio inputs.\n\t */\n\tdisabled: PropTypes.bool,\n\t/**\n\t * Adds an indicator that this field is required.\n\t */\n\trequired: PropTypes.bool,\n\t/**\n\t * The name of this radio group.\n\t */\n\tname: PropTypes.string,\n\t/**\n\t * The ID of the error message, for linking to radio inputs with aria-describedby.\n\t */\n\terrorId: PropTypes.string,\n};\n\nconst defaultProps = { labels: {}, assistiveText: {} };\n\n/**\n * A styled select list that can have a single entry checked at any one time.\n * The RadioButtonGroup component wraps [Radio](/components/radios) components, which should be used as children.\n */\nconst RadioButtonGroup = (props) => {\n\t// Separate props we care about in order to pass others along passively to the dropdown component\n\tconst { variant, ...rest } = props;\n\n\treturn <RadioGroup variant=\"button-group\" {...rest} />;\n};\n\nRadioButtonGroup.displayName = RADIO_BUTTON_GROUP;\nRadioButtonGroup.propTypes = propTypes;\nRadioButtonGroup.defaultProps = defaultProps;\n\nexport default RadioButtonGroup;\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nconst Swatch = ({ color, style, label, labels }) => {\n\tconst innerStyle = {\n\t\tbackgroundColor: color,\n\t\t...style,\n\t};\n\tlet assistiveText = label || color;\n\n\t// falsey values output a transparent swatch\n\tif (!color) {\n\t\tinnerStyle.backgroundImage =\n\t\t\t'linear-gradient(-45deg, white 47%, #870500 0, #870500 53%, white 0)';\n\t\tif (labels && labels.swatchTabTransparentSwatch) {\n\t\t\tassistiveText = labels.swatchTabTransparentSwatch;\n\t\t}\n\t}\n\n\treturn (\n\t\t<span className=\"slds-swatch\" style={innerStyle}>\n\t\t\t<span className=\"slds-assistive-text\">{assistiveText}</span>\n\t\t</span>\n\t);\n};\n\nSwatch.propTypes = {\n\tcolor: PropTypes.string.isRequired,\n};\n\nexport default Swatch;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n/* eslint-disable import/no-mutable-exports */\n/* eslint-disable max-len */\n\nimport getComponentDocFn from '../../utilities/get-component-doc';\nimport sunsetProperty from '../../utilities/warning/sunset-property';\n\nlet checkProps = function checkPropsFunction() {};\n\nif (process.env.NODE_ENV !== 'production') {\n\tcheckProps = function checkPropsFunction(COMPONENT, props, jsonDoc) {\n\t\tconst createDocUrl = getComponentDocFn(jsonDoc);\n\n\t\tsunsetProperty(\n\t\t\tCOMPONENT,\n\t\t\tprops.label,\n\t\t\t'label',\n\t\t\t`Use \\`labels.label\\` instead.${createDocUrl('labels')}`\n\t\t);\n\t};\n}\n\nexport default checkProps;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport shortid from 'shortid';\nimport classNames from 'classnames';\n\nimport KEYS from '../../utilities/key-code';\nimport { RADIO } from '../../utilities/constants';\nimport getAriaProps from '../../utilities/get-aria-props';\nimport getDataProps from '../../utilities/get-data-props';\nimport Swatch from '../../components/color-picker/private/swatch';\nimport Icon from '../icon';\n\n// This component's `checkProps` which issues warnings to developers about properties when in development mode (similar to React's built in development tools)\nimport checkProps from './check-props';\nimport componentDoc from './component.json';\n\nconst propTypes = {\n\t/**\n\t * **Assistive text for accessibility**\n\t * This object is merged with the default props object on every render.\n\t * * `label`: This is used as a visually hidden label if, no `labels.label` is provided.\n\t */\n\tassistiveText: PropTypes.shape({\n\t\tlabel: PropTypes.string,\n\t}),\n\t/**\n\t * The ID of an element that describes this radio input. Often used for error messages.\n\t */\n\t'aria-describedby': PropTypes.string,\n\t/**\n\t * The aria-labelledby attribute establishes relationships between objects and their label(s), and its value should be one or more element IDs, which refer to elements that have the text needed for labeling. List multiple element IDs in a space delimited fashion.\n\t */\n\t'aria-labelledby': PropTypes.string,\n\t/**\n\t * This is a controlled component. This radio is checked according to this value.\n\t */\n\tchecked: PropTypes.bool,\n\t/**\n\t * Class name to be passed to radio input wrapper ( `span` element)\n\t */\n\tclassName: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\t/**\n\t * This is the initial value of an uncontrolled form element and is present only to provide compatibility\n\t * with hybrid framework applications that are not entirely React. It should only be used in an application\n\t * without centralized state (Redux, Flux). \"Controlled components\" with centralized state is highly recommended.\n\t * See [Code Overview](https://github.com/salesforce/design-system-react/blob/master/docs/codebase-overview.md#controlled-and-uncontrolled-components) for more information.\n\t */ defaultChecked: PropTypes.bool,\n\t/**\n\t * Disable this radio input.\n\t */\n\tdisabled: PropTypes.bool,\n\t/**\n\t * A unique ID that is used to associating a label to the `input` element. This ID is added to the `input` element.\n\t */\n\tid: PropTypes.string,\n\t/**\n\t * **Text labels for internationalization**\n\t * This object is merged with the default props object on every render.\n\t * * `heading`: Heading for the visual picker variant\n\t * * `label`: Label for the radio input\n\t */\n\tlabels: PropTypes.shape({\n\t\theading: PropTypes.string,\n\t\tlabel: PropTypes.string,\n\t}),\n\t/**\n\t * The name of the radio input group.\n\t */\n\tname: PropTypes.string,\n\t/**\n\t * This event fires when the radio selection changes. Passes in `event, { checked }`.\n\t */\n\tonChange: PropTypes.func,\n\t/**\n\t * The value of this radio input.\n\t */\n\tvalue: PropTypes.string,\n\t/**\n\t * Variant of the Radio button. Base is the default and button-group makes the radio button look like a normal button (should be a child of <RadioButtonGroup>).\n\t */\n\tvariant: PropTypes.oneOf(['base', 'button-group', 'swatch', 'visual-picker']),\n\t/**\n\t * Determines whether visual picker is coverable when selected (only for visual picker variant)\n\t */\n\tcoverable: PropTypes.bool,\n\t/**\n\t * Determines whether the visual picker should be vertical or horizontal (only for visual picker variant)\n\t */\n\tvertical: PropTypes.bool,\n\t/**\n\t * Allows icon to shown if radio is not selected (only for non-coverable visual picker variant)\n\t */\n\tonRenderVisualPicker: PropTypes.func,\n\t/**\n\t * Allows icon to shown if radio is not selected (only for visual picker variant)\n\t */\n\tonRenderVisualPickerSelected: PropTypes.func,\n\t/**\n\t * Allows icon to shown if radio is not selected (only for visual picker variant)\n\t */\n\tonRenderVisualPickerNotSelected: PropTypes.func,\n\t/**\n\t * Shows description for radio option (only for visual picker variant)\n\t */\n\tdescription: PropTypes.string,\n\t/**\n\t * Allows icon to shown if radio is not selected (only for visual picker variant)\n\t */\n\tsize: PropTypes.oneOf(['medium', 'large']),\n\t/**\n\t * Ref callback that will pass in the radio's `input` tag\n\t */\n\trefs: PropTypes.shape({\n\t\tinput: PropTypes.func,\n\t}),\n};\n\nconst defaultProps = {\n\tassistiveText: {},\n\tvariant: 'base',\n\tcoverable: false,\n};\n\n/**\n * A radio input that can have a single input checked at any one time. Radios should be wrapped with\n * a [RadioGroup](/components/radio-group) or [RadioButtonGroup](/components/radio-button-group)\n */\nclass Radio extends React.Component {\n\tconstructor(props) {\n\t\tsuper(props);\n\t\tthis.preventDuplicateChangeEvent = false;\n\t}\n\n\t// eslint-disable-next-line camelcase, react/sort-comp\n\tUNSAFE_componentWillMount() {\n\t\tcheckProps(RADIO, this.props, componentDoc);\n\t\tthis.generatedId = shortid.generate();\n\t}\n\n\tgetId() {\n\t\treturn this.props.id || this.generatedId;\n\t}\n\n\thandleChange = (event, preventDuplicateChangeEvent) => {\n\t\tif (!this.preventDuplicateChangeEvent) {\n\t\t\tthis.preventDuplicateChangeEvent = Boolean(preventDuplicateChangeEvent);\n\t\t\tif (this.props.onChange) {\n\t\t\t\tthis.props.onChange(event, {\n\t\t\t\t\tchecked: !this.props.checked,\n\t\t\t\t});\n\t\t\t}\n\t\t} else {\n\t\t\tthis.preventDuplicateChangeEvent = false;\n\t\t}\n\t};\n\n\trender() {\n\t\tconst ariaProps = getAriaProps(this.props);\n\t\tconst dataProps = getDataProps(this.props);\n\n\t\tlet radio;\n\n\t\tconst labels = {\n\t\t\t...defaultProps.labels,\n\t\t\t/* Remove backward compatibility at next breaking change */\n\t\t\t...(this.props.label ? { label: this.props.label } : {}),\n\t\t\t...this.props.labels,\n\t\t};\n\n\t\tif (this.props.variant === 'swatch') {\n\t\t\tradio = (\n\t\t\t\t<label\n\t\t\t\t\tstyle={{ border: '1px' }}\n\t\t\t\t\tclassName=\"slds-radio_button__label\"\n\t\t\t\t\thtmlFor={this.getId()}\n\t\t\t\t>\n\t\t\t\t\t<span>\n\t\t\t\t\t\t<Swatch\n\t\t\t\t\t\t\tlabel={labels.label}\n\t\t\t\t\t\t\tstyle={this.props.style}\n\t\t\t\t\t\t\tcolor={this.props.value}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</span>\n\t\t\t\t</label>\n\t\t\t);\n\t\t} else if (this.props.variant === 'button-group') {\n\t\t\tradio = (\n\t\t\t\t<label className=\"slds-radio_button__label\" htmlFor={this.getId()}>\n\t\t\t\t\t<span className=\"slds-radio_faux\">{labels.label}</span>\n\t\t\t\t</label>\n\t\t\t);\n\t\t} else if (this.props.variant === 'visual-picker') {\n\t\t\tradio = (\n\t\t\t\t<label htmlFor={this.getId()}>\n\t\t\t\t\t{this.props.coverable ? (\n\t\t\t\t\t\t<div className=\"slds-visual-picker__figure slds-visual-picker__icon slds-align_absolute-center\">\n\t\t\t\t\t\t\t<span className=\"slds-is-selected\">\n\t\t\t\t\t\t\t\t{this.props.onRenderVisualPickerSelected()}\n\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t<span className=\"slds-is-not-selected\">\n\t\t\t\t\t\t\t\t{this.props.onRenderVisualPickerNotSelected()}\n\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t) : (\n\t\t\t\t\t\t<span className=\"slds-visual-picker__figure slds-visual-picker__text slds-align_absolute-center\">\n\t\t\t\t\t\t\t{this.props.onRenderVisualPicker()}\n\t\t\t\t\t\t</span>\n\t\t\t\t\t)}\n\t\t\t\t\t{!this.props.vertical ? (\n\t\t\t\t\t\t<span className=\"slds-visual-picker__body\">\n\t\t\t\t\t\t\t{labels.heading ? (\n\t\t\t\t\t\t\t\t<span className=\"slds-text-heading_small\">\n\t\t\t\t\t\t\t\t\t{labels.heading}\n\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t) : null}\n\t\t\t\t\t\t\t<span className=\"slds-text-title\">{labels.label}</span>\n\t\t\t\t\t\t</span>\n\t\t\t\t\t) : null}\n\t\t\t\t\t{!this.props.coverable ? (\n\t\t\t\t\t\t<span className=\"slds-icon_container slds-visual-picker__text-check\">\n\t\t\t\t\t\t\t<Icon\n\t\t\t\t\t\t\t\tassistiveText={this.props.assistiveText}\n\t\t\t\t\t\t\t\tcategory=\"utility\"\n\t\t\t\t\t\t\t\tname=\"check\"\n\t\t\t\t\t\t\t\tcolorVariant=\"base\"\n\t\t\t\t\t\t\t\tsize=\"x-small\"\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</span>\n\t\t\t\t\t) : null}\n\t\t\t\t</label>\n\t\t\t);\n\t\t} else {\n\t\t\tradio = (\n\t\t\t\t<label\n\t\t\t\t\tclassName=\"slds-radio__label\"\n\t\t\t\t\thtmlFor={this.getId()}\n\t\t\t\t\tid={this.props.labelId}\n\t\t\t\t>\n\t\t\t\t\t<span className=\"slds-radio_faux\" />\n\t\t\t\t\t<span className=\"slds-form-element__label\">{labels.label}</span>\n\t\t\t\t\t{this.props.assistiveText.label ? (\n\t\t\t\t\t\t<span className=\"slds-assistive-text\">\n\t\t\t\t\t\t\t{this.props.assistiveText.label}\n\t\t\t\t\t\t</span>\n\t\t\t\t\t) : null}\n\t\t\t\t</label>\n\t\t\t);\n\t\t}\n\n\t\treturn (\n\t\t\t<span\n\t\t\t\tclassName={classNames(\n\t\t\t\t\tthis.props.variant === 'visual-picker'\n\t\t\t\t\t\t? `slds-visual-picker_${this.props.size}`\n\t\t\t\t\t\t: null,\n\t\t\t\t\t{\n\t\t\t\t\t\t'slds-radio':\n\t\t\t\t\t\t\tthis.props.variant === 'base' || this.props.variant === 'swatch',\n\t\t\t\t\t\t'slds-button slds-radio_button':\n\t\t\t\t\t\t\tthis.props.variant === 'button-group',\n\t\t\t\t\t\t'slds-visual-picker': this.props.variant === 'visual-picker',\n\t\t\t\t\t\t'slds-visual-picker_vertical':\n\t\t\t\t\t\t\tthis.props.variant === 'visual-picker' && this.props.vertical,\n\t\t\t\t\t},\n\t\t\t\t\tthis.props.className\n\t\t\t\t)}\n\t\t\t>\n\t\t\t\t<input\n\t\t\t\t\ttype=\"radio\"\n\t\t\t\t\tid={this.getId()}\n\t\t\t\t\tname={this.props.name}\n\t\t\t\t\tvalue={this.props.value}\n\t\t\t\t\t/* A form element should not have both checked and defaultChecked props. */\n\t\t\t\t\t{...(this.props.checked !== undefined\n\t\t\t\t\t\t? { checked: this.props.checked }\n\t\t\t\t\t\t: { defaultChecked: this.props.defaultChecked })}\n\t\t\t\t\tonChange={(event) => {\n\t\t\t\t\t\tthis.handleChange(event);\n\t\t\t\t\t}}\n\t\t\t\t\tonClick={(event) => {\n\t\t\t\t\t\tif (this.props.checked && this.props.deselectable) {\n\t\t\t\t\t\t\tthis.handleChange(event);\n\t\t\t\t\t\t}\n\t\t\t\t\t}}\n\t\t\t\t\tonKeyPress={(event) => {\n\t\t\t\t\t\tconst { charCode } = event;\n\n\t\t\t\t\t\tif (\n\t\t\t\t\t\t\tcharCode === KEYS.SPACE &&\n\t\t\t\t\t\t\tthis.props.checked &&\n\t\t\t\t\t\t\tthis.props.deselectable\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\tthis.handleChange(event, true);\n\t\t\t\t\t\t} else if (\n\t\t\t\t\t\t\t(charCode === KEYS.ENTER &&\n\t\t\t\t\t\t\t\tthis.props.checked &&\n\t\t\t\t\t\t\t\tthis.props.deselectable) ||\n\t\t\t\t\t\t\t!this.props.checked\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\tthis.handleChange(event);\n\t\t\t\t\t\t}\n\t\t\t\t\t}}\n\t\t\t\t\tdisabled={this.props.disabled}\n\t\t\t\t\t{...ariaProps}\n\t\t\t\t\t{...dataProps}\n\t\t\t\t\tref={(input) => {\n\t\t\t\t\t\tif (this.props.refs && this.props.refs.input) {\n\t\t\t\t\t\t\tthis.props.refs.input(input);\n\t\t\t\t\t\t}\n\t\t\t\t\t}}\n\t\t\t\t/>\n\t\t\t\t{radio}\n\t\t\t</span>\n\t\t);\n\t}\n}\n\nRadio.displayName = RADIO;\nRadio.propTypes = propTypes;\nRadio.defaultProps = defaultProps;\n\nexport default Radio;\n","// Alias\nimport Radio from '../radio/index';\n\nexport default Radio;\n","import assign from 'lodash.assign';\n\nconst COLOR_NAMES = {\n\taliceblue: '#f0f8ff',\n\tantiquewhite: '#faebd7',\n\taqua: '#00ffff',\n\taquamarine: '#7fffd4',\n\tazure: '#f0ffff',\n\tbeige: '#f5f5dc',\n\tbisque: '#ffe4c4',\n\tblack: '#000000',\n\tblanchedalmond: '#ffebcd',\n\tblue: '#0000ff',\n\tblueviolet: '#8a2be2',\n\tbrown: '#a52a2a',\n\tburlywood: '#deb887',\n\tcadetblue: '#5f9ea0',\n\tchartreuse: '#7fff00',\n\tchocolate: '#d2691e',\n\tcoral: '#ff7f50',\n\tcornflowerblue: '#6495ed',\n\tcornsilk: '#fff8dc',\n\tcrimson: '#dc143c',\n\tcyan: '#00ffff',\n\tdarkblue: '#00008b',\n\tdarkcyan: '#008b8b',\n\tdarkgoldenrod: '#b8860b',\n\tdarkgray: '#a9a9a9',\n\tdarkgreen: '#006400',\n\tdarkkhaki: '#bdb76b',\n\tdarkmagenta: '#8b008b',\n\tdarkolivegreen: '#556b2f',\n\tdarkorange: '#ff8c00',\n\tdarkorchid: '#9932cc',\n\tdarkred: '#8b0000',\n\tdarksalmon: '#e9967a',\n\tdarkseagreen: '#8fbc8f',\n\tdarkslateblue: '#483d8b',\n\tdarkslategray: '#2f4f4f',\n\tdarkturquoise: '#00ced1',\n\tdarkviolet: '#9400d3',\n\tdeeppink: '#ff1493',\n\tdeepskyblue: '#00bfff',\n\tdimgray: '#696969',\n\tdodgerblue: '#1e90ff',\n\tfirebrick: '#b22222',\n\tfloralwhite: '#fffaf0',\n\tforestgreen: '#228b22',\n\tfuchsia: '#ff00ff',\n\tgainsboro: '#dcdcdc',\n\tghostwhite: '#f8f8ff',\n\tgold: '#ffd700',\n\tgoldenrod: '#daa520',\n\tgray: '#808080',\n\tgreen: '#008000',\n\tgreenyellow: '#adff2f',\n\thoneydew: '#f0fff0',\n\thotpink: '#ff69b4',\n\tindianred: '#cd5c5c',\n\tindigo: '#4b0082',\n\tivory: '#fffff0',\n\tkhaki: '#f0e68c',\n\tlavender: '#e6e6fa',\n\tlavenderblush: '#fff0f5',\n\tlawngreen: '#7cfc00',\n\tlemonchiffon: '#fffacd',\n\tlightblue: '#add8e6',\n\tlightcoral: '#f08080',\n\tlightcyan: '#e0ffff',\n\tlightgoldenrodyellow: '#fafad2',\n\tlightgrey: '#d3d3d3',\n\tlightgreen: '#90ee90',\n\tlightpink: '#ffb6c1',\n\tlightsalmon: '#ffa07a',\n\tlightseagreen: '#20b2aa',\n\tlightskyblue: '#87cefa',\n\tlightslategray: '#778899',\n\tlightsteelblue: '#b0c4de',\n\tlightyellow: '#ffffe0',\n\tlime: '#00ff00',\n\tlimegreen: '#32cd32',\n\tlinen: '#faf0e6',\n\tmagenta: '#ff00ff',\n\tmaroon: '#800000',\n\tmediumaquamarine: '#66cdaa',\n\tmediumblue: '#0000cd',\n\tmediumorchid: '#ba55d3',\n\tmediumpurple: '#9370d8',\n\tmediumseagreen: '#3cb371',\n\tmediumslateblue: '#7b68ee',\n\tmediumspringgreen: '#00fa9a',\n\tmediumturquoise: '#48d1cc',\n\tmediumvioletred: '#c71585',\n\tmidnightblue: '#191970',\n\tmintcream: '#f5fffa',\n\tmistyrose: '#ffe4e1',\n\tmoccasin: '#ffe4b5',\n\tnavajowhite: '#ffdead',\n\tnavy: '#000080',\n\toldlace: '#fdf5e6',\n\tolive: '#808000',\n\tolivedrab: '#6b8e23',\n\torange: '#ffa500',\n\torangered: '#ff4500',\n\torchid: '#da70d6',\n\tpalegoldenrod: '#eee8aa',\n\tpalegreen: '#98fb98',\n\tpaleturquoise: '#afeeee',\n\tpalevioletred: '#d87093',\n\tpapayawhip: '#ffefd5',\n\tpeachpuff: '#ffdab9',\n\tperu: '#cd853f',\n\tpink: '#ffc0cb',\n\tplum: '#dda0dd',\n\tpowderblue: '#b0e0e6',\n\tpurple: '#800080',\n\trebeccapurple: '#663399',\n\tred: '#ff0000',\n\trosybrown: '#bc8f8f',\n\troyalblue: '#4169e1',\n\tsaddlebrown: '#8b4513',\n\tsalmon: '#fa8072',\n\tsandybrown: '#f4a460',\n\tseagreen: '#2e8b57',\n\tseashell: '#fff5ee',\n\tsienna: '#a0522d',\n\tsilver: '#c0c0c0',\n\tskyblue: '#87ceeb',\n\tslateblue: '#6a5acd',\n\tslategray: '#708090',\n\tsnow: '#fffafa',\n\tspringgreen: '#00ff7f',\n\tsteelblue: '#4682b4',\n\ttan: '#d2b48c',\n\tteal: '#008080',\n\tthistle: '#d8bfd8',\n\ttomato: '#ff6347',\n\tturquoise: '#40e0d0',\n\tviolet: '#ee82ee',\n\twheat: '#f5deb3',\n\twhite: '#ffffff',\n\twhitesmoke: '#f5f5f5',\n\tyellow: '#ffff00',\n\tyellowgreen: '#9acd32',\n};\nconst HEX_REGEX = /^#([a-f\\d]{2})([a-f\\d]{2})([a-f\\d]{2})$/i;\n\nconst ColorUtils = {\n\tgetNewColor(options, customHexValidator, oldColor = {}) {\n\t\tif (options.hex) {\n\t\t\tif (\n\t\t\t\tcustomHexValidator\n\t\t\t\t\t? !customHexValidator(options.hex)\n\t\t\t\t\t: !this.isValidHex(options.hex)\n\t\t\t) {\n\t\t\t\treturn assign({}, oldColor, {\n\t\t\t\t\thex: options.hex,\n\t\t\t\t\terrors: assign({}, oldColor.errors, {\n\t\t\t\t\t\thex: true,\n\t\t\t\t\t}),\n\t\t\t\t\thsv: {\n\t\t\t\t\t\thue: '',\n\t\t\t\t\t\tsaturation: '',\n\t\t\t\t\t\tvalue: '',\n\t\t\t\t\t},\n\t\t\t\t\trgb: {\n\t\t\t\t\t\tred: '',\n\t\t\t\t\t\tgreen: '',\n\t\t\t\t\t\tblue: '',\n\t\t\t\t\t},\n\t\t\t\t});\n\t\t\t}\n\n\t\t\tconst returnColor = {\n\t\t\t\thex: options.hex,\n\t\t\t\thsv: this.getHsvFromHex(options.hex),\n\t\t\t\trgb: this.getRgbFromHex(options.hex),\n\t\t\t};\n\n\t\t\tif (options.name) {\n\t\t\t\treturnColor.name = options.name;\n\t\t\t}\n\n\t\t\treturn returnColor;\n\t\t}\n\n\t\tif ('red' in options || 'blue' in options || 'green' in options) {\n\t\t\tconst rgb = assign({}, oldColor.rgb, options);\n\t\t\tconst errors = this.getRgbErrors(rgb);\n\n\t\t\tif (Object.values(errors).includes(true)) {\n\t\t\t\treturn assign({}, oldColor, {\n\t\t\t\t\trgb,\n\t\t\t\t\terrors: assign({}, oldColor.errors, errors),\n\t\t\t\t});\n\t\t\t}\n\n\t\t\treturn {\n\t\t\t\thex: this.getHexFromRgb(rgb),\n\t\t\t\thsv: this.getHsvFromRgb(rgb),\n\t\t\t\trgb,\n\t\t\t};\n\t\t}\n\n\t\tif ('hue' in options || 'saturation' in options || 'value' in options) {\n\t\t\tconst hsv = assign({}, oldColor.hsv, options);\n\t\t\treturn {\n\t\t\t\thex: this.getHexFromHsv(hsv),\n\t\t\t\thsv,\n\t\t\t\trgb: this.getRgbFromHsv(hsv),\n\t\t\t};\n\t\t}\n\n\t\treturn {\n\t\t\thex: '',\n\t\t\thsv: {\n\t\t\t\thue: '',\n\t\t\t\tsaturation: '',\n\t\t\t\tvalue: '',\n\t\t\t},\n\t\t\trgb: {\n\t\t\t\tred: '',\n\t\t\t\tgreen: '',\n\t\t\t\tblue: '',\n\t\t\t},\n\t\t};\n\t},\n\n\tgetDeltaColor(options, customHexValidator, oldColor) {\n\t\tconst limitValue = (value) => Math.min(Math.max(value, 0), 100);\n\n\t\treturn this.getNewColor(\n\t\t\t{\n\t\t\t\tsaturation: limitValue(\n\t\t\t\t\toldColor.hsv.saturation + (options.saturation || 0)\n\t\t\t\t),\n\t\t\t\tvalue: limitValue(oldColor.hsv.value + (options.value || 0)),\n\t\t\t},\n\t\t\tcustomHexValidator,\n\t\t\toldColor\n\t\t);\n\t},\n\n\tisValidHex(value) {\n\t\treturn !value || HEX_REGEX.test(this.toSixDigitHex(value));\n\t},\n\n\tgetRgbErrors(rgb) {\n\t\tconst hasError = (value) =>\n\t\t\tisNaN(value) ||\n\t\t\tMath.floor(value) !== Number(value) ||\n\t\t\tvalue < 0 ||\n\t\t\tvalue >= 256;\n\n\t\treturn Object.entries(rgb).reduce((errors, keyValue) => {\n\t\t\t// eslint-disable-next-line no-param-reassign\n\t\t\terrors[keyValue[0]] = hasError(keyValue[1]);\n\t\t\treturn errors;\n\t\t}, {});\n\t},\n\n\tgetHsvFromHex(hex) {\n\t\treturn this.getHsvFromRgb(this.getRgbFromHex(hex));\n\t},\n\n\tgetHexFromHsv({ hue, saturation, value }) {\n\t\treturn this.getHexFromRgb(this.getRgbFromHsv({ hue, saturation, value }));\n\t},\n\n\tgetHexFromNamedColor(name) {\n\t\treturn COLOR_NAMES[name.toLowerCase()] || null;\n\t},\n\n\tgetHsvFromRgb({ red, green, blue }) {\n\t\tconst redRatio = red / 255;\n\t\tconst greenRatio = green / 255;\n\t\tconst blueRatio = blue / 255;\n\n\t\tconst max = Math.max(redRatio, greenRatio, blueRatio);\n\t\tconst min = Math.min(redRatio, greenRatio, blueRatio);\n\n\t\tconst delta = max - min;\n\t\tconst saturation = max === 0 ? 0 : (delta / max) * 100;\n\t\tconst value = max * 100;\n\t\tlet hue;\n\n\t\tif (max === min) {\n\t\t\thue = 0;\n\t\t} else {\n\t\t\tif (redRatio === max) {\n\t\t\t\thue =\n\t\t\t\t\t(greenRatio - blueRatio) / delta + (greenRatio < blueRatio ? 6 : 0);\n\t\t\t} else if (greenRatio === max) {\n\t\t\t\thue = (blueRatio - redRatio) / delta + 2;\n\t\t\t} else {\n\t\t\t\thue = (redRatio - greenRatio) / delta + 4;\n\t\t\t}\n\n\t\t\thue *= 60;\n\t\t}\n\n\t\treturn { hue, saturation, value };\n\t},\n\n\tgetRgbFromHsv({ hue, saturation, value }) {\n\t\tconst hueRatio = hue / 360;\n\t\tconst satRatio = saturation / 100;\n\t\tconst valRatio = value / 100;\n\n\t\tlet red;\n\t\tlet green;\n\t\tlet blue;\n\n\t\tconst i = Math.floor(hueRatio * 6);\n\t\tconst f = hueRatio * 6 - i;\n\t\tconst p = valRatio * (1 - satRatio);\n\t\tconst q = valRatio * (1 - f * satRatio);\n\t\tconst t = valRatio * (1 - (1 - f) * satRatio);\n\n\t\tswitch (i % 6) {\n\t\t\tcase 0:\n\t\t\t\tred = valRatio;\n\t\t\t\tgreen = t;\n\t\t\t\tblue = p;\n\t\t\t\tbreak;\n\t\t\tcase 1:\n\t\t\t\tred = q;\n\t\t\t\tgreen = valRatio;\n\t\t\t\tblue = p;\n\t\t\t\tbreak;\n\t\t\tcase 2:\n\t\t\t\tred = p;\n\t\t\t\tgreen = valRatio;\n\t\t\t\tblue = t;\n\t\t\t\tbreak;\n\t\t\tcase 3:\n\t\t\t\tred = p;\n\t\t\t\tgreen = q;\n\t\t\t\tblue = valRatio;\n\t\t\t\tbreak;\n\t\t\tcase 4:\n\t\t\t\tred = t;\n\t\t\t\tgreen = p;\n\t\t\t\tblue = valRatio;\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\tred = valRatio;\n\t\t\t\tgreen = p;\n\t\t\t\tblue = q;\n\t\t}\n\n\t\treturn {\n\t\t\tred: Math.round(red * 255),\n\t\t\tblue: Math.round(blue * 255),\n\t\t\tgreen: Math.round(green * 255),\n\t\t};\n\t},\n\n\tgetHexFromRgb({ red, green, blue }) {\n\t\tfunction getHex(color) {\n\t\t\treturn `0${Math.round(color).toString(16)}`.substr(-2);\n\t\t}\n\t\treturn `#${getHex(red)}${getHex(green)}${getHex(blue)}`;\n\t},\n\n\tgetRgbFromHex(hex) {\n\t\tconst result = HEX_REGEX.exec(this.toSixDigitHex(hex));\n\t\treturn {\n\t\t\tred: parseInt(result[1], 16),\n\t\t\tgreen: parseInt(result[2], 16),\n\t\t\tblue: parseInt(result[3], 16),\n\t\t};\n\t},\n\n\ttoSixDigitHex(value) {\n\t\tconst shortHandHex = /^#([a-f\\d])([a-f\\d])([a-f\\d])$/i;\n\t\tconst match = shortHandHex.exec(value);\n\t\tif (match) {\n\t\t\treturn `#${match[1]}${match[1]}${match[2]}${match[2]}${match[3]}${match[3]}`;\n\t\t}\n\n\t\treturn value;\n\t},\n};\n\nexport default ColorUtils;\n","import React from 'react';\n\nimport KEYS from '../../../utilities/key-code';\nimport RadioButtonGroup from '../../../components/radio-button-group';\nimport Radio from '../../../components/radio-button-group/radio';\nimport ColorUtils from '../../../utilities/color';\n\nconst handleClick = (event, rangeIndicator, { onSaturationValueChange }) => {\n\tconst rect = event.currentTarget.getBoundingClientRect();\n\trangeIndicator.focus();\n\tonSaturationValueChange(event, {\n\t\tsaturation: Math.round(((event.clientX - rect.left) / rect.width) * 100),\n\t\tvalue: Math.round(((rect.bottom - event.clientY) / rect.height) * 100),\n\t});\n};\n\nconst handleKeyDown = (event, { onSaturationNavigate, onValueNavigate }) => {\n\tconst keyDownCallbacks = {\n\t\t[KEYS.LEFT]: (multiplier) => {\n\t\t\tonSaturationNavigate(event, {\n\t\t\t\tdelta: multiplier * -1,\n\t\t\t});\n\t\t},\n\t\t[KEYS.RIGHT]: (multiplier) => {\n\t\t\tonSaturationNavigate(event, {\n\t\t\t\tdelta: multiplier,\n\t\t\t});\n\t\t},\n\t\t[KEYS.UP]: (multiplier) => {\n\t\t\tonValueNavigate(event, {\n\t\t\t\tdelta: multiplier,\n\t\t\t});\n\t\t},\n\t\t[KEYS.DOWN]: (multiplier) => {\n\t\t\tonValueNavigate(event, {\n\t\t\t\tdelta: multiplier * -1,\n\t\t\t});\n\t\t},\n\t};\n\n\tif (keyDownCallbacks[event.keyCode]) {\n\t\tevent.preventDefault();\n\t\tkeyDownCallbacks[event.keyCode](event.shiftKey ? 10 : 1);\n\t}\n};\n\nconst selectedStyle = {\n\tborder: '1px solid #9e9e9e',\n\tboxShadow: 'rgb(117, 112, 112) 1px 1px 1px',\n\tmarginRight: '2px',\n};\n\nconst unselectedStyle = {\n\tborder: '1px solid #9e9e9e',\n\tmarginRight: '2px',\n};\n\nclass HsvColor extends React.Component {\n\tstatic displayName = 'SLDSHsvColor';\n\n\thandleSwatchChange = (event) => {\n\t\tthis.setState({\n\t\t\tisTransparentSelected: event.target.value === '',\n\t\t});\n\t\tthis.props.onSwatchChange(event);\n\t};\n\n\tisTransparent = () => this.props.color.hex === '';\n\n\trender() {\n\t\tconst style = { border: 'none', borderRadius: 'unset' };\n\t\tconst swatchStyle = this.isTransparent()\n\t\t\t? { ...unselectedStyle }\n\t\t\t: { ...selectedStyle };\n\t\tconst transparentSwatchStyle = this.isTransparent()\n\t\t\t? { ...selectedStyle }\n\t\t\t: { ...unselectedStyle };\n\n\t\t// when working color is transparent: either use the previous color or default to black\n\t\tconst fallbackWorkingColor = this.props.previousColor.hex\n\t\t\t? this.props.previousColor\n\t\t\t: ColorUtils.getNewColor({ hex: '#000000' });\n\t\tconst workingColor = this.isTransparent()\n\t\t\t? fallbackWorkingColor\n\t\t\t: this.props.color;\n\n\t\treturn (\n\t\t\t<div>\n\t\t\t\t<p\n\t\t\t\t\tclassName=\"slds-assistive-text\"\n\t\t\t\t\tid={`color-picker-instructions-${this.props.id}`}\n\t\t\t\t>\n\t\t\t\t\t{this.props.assistiveText.saturationValueGrid}\n\t\t\t\t</p>\n\t\t\t\t<div\n\t\t\t\t\tclassName=\"slds-color-picker__custom-range\"\n\t\t\t\t\tstyle={{\n\t\t\t\t\t\tbackground: `hsl(${workingColor.hsv.hue}, 100%, 50%)`,\n\t\t\t\t\t}}\n\t\t\t\t\tonClick={(event) => {\n\t\t\t\t\t\thandleClick(event, this.rangeIndicator, {\n\t\t\t\t\t\t\tonSaturationValueChange: this.props.onSaturationValueChange,\n\t\t\t\t\t\t});\n\t\t\t\t\t}}\n\t\t\t\t\trole=\"presentation\"\n\t\t\t\t>\n\t\t\t\t\t{/* eslint-disable jsx-a11y/anchor-has-content */}\n\t\t\t\t\t<a\n\t\t\t\t\t\taria-atomic=\"true\"\n\t\t\t\t\t\taria-describedby={`color-picker-instructions-${this.props.id}`}\n\t\t\t\t\t\taria-live=\"assertive\"\n\t\t\t\t\t\tclassName=\"slds-color-picker__range-indicator\"\n\t\t\t\t\t\tonKeyDown={(event) => {\n\t\t\t\t\t\t\thandleKeyDown(event, { ...this.props });\n\t\t\t\t\t\t}}\n\t\t\t\t\t\tref={(rangeIndicator) => {\n\t\t\t\t\t\t\tthis.rangeIndicator = rangeIndicator;\n\t\t\t\t\t\t}}\n\t\t\t\t\t\trole=\"button\"\n\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\tbottom: `${workingColor.hsv.value}%`,\n\t\t\t\t\t\t\tleft: `${workingColor.hsv.saturation}%`,\n\t\t\t\t\t\t}}\n\t\t\t\t\t\ttabIndex={0}\n\t\t\t\t\t>\n\t\t\t\t\t\t<span className=\"slds-assistive-text\">{`Saturation ${workingColor.hsv.saturation}% Brightness: ${workingColor.hsv.value}%`}</span>\n\t\t\t\t\t</a>\n\t\t\t\t</div>\n\t\t\t\t<div className=\"slds-color-picker__hue-and-preview\">\n\t\t\t\t\t<label\n\t\t\t\t\t\tclassName=\"slds-assistive-text\"\n\t\t\t\t\t\thtmlFor={`color-picker-input-range-${this.props.id}`}\n\t\t\t\t\t>\n\t\t\t\t\t\t{this.props.assistiveText.hueSlider}\n\t\t\t\t\t</label>\n\t\t\t\t\t<input\n\t\t\t\t\t\ttype=\"range\"\n\t\t\t\t\t\tmin=\"0\"\n\t\t\t\t\t\tmax=\"360\"\n\t\t\t\t\t\tclassName=\"slds-color-picker__hue-slider\"\n\t\t\t\t\t\tid={`color-picker-input-range-${this.props.id}`}\n\t\t\t\t\t\tvalue={workingColor.hsv.hue}\n\t\t\t\t\t\tonChange={this.props.onHueChange}\n\t\t\t\t\t/>\n\t\t\t\t\t<RadioButtonGroup\n\t\t\t\t\t\tname={`${this.props.id}-color-picker-swatch-toggle-button-group`}\n\t\t\t\t\t\tassistiveText={{ label: 'Toggle Transparency' }}\n\t\t\t\t\t\tstyle={style}\n\t\t\t\t\t\tonChange={this.handleSwatchChange}\n\t\t\t\t\t>\n\t\t\t\t\t\t<Radio\n\t\t\t\t\t\t\tchecked={!this.isTransparent()}\n\t\t\t\t\t\t\tid={`color-picker-active-working-color-swatch-${this.props.id}`}\n\t\t\t\t\t\t\tkey=\"working-color\"\n\t\t\t\t\t\t\tlabels={{\n\t\t\t\t\t\t\t\tlabel: this.props.labels.customTabActiveWorkingColorSwatch,\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\tstyle={swatchStyle}\n\t\t\t\t\t\t\tvalue={workingColor.hex}\n\t\t\t\t\t\t\tvariant=\"swatch\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<Radio\n\t\t\t\t\t\t\tchecked={this.isTransparent()}\n\t\t\t\t\t\t\tid={`color-picker-transparent-swatch-${this.props.id}`}\n\t\t\t\t\t\t\tkey=\"transparent\"\n\t\t\t\t\t\t\tlabels={{ label: this.props.labels.customTabTransparentSwatch }}\n\t\t\t\t\t\t\tstyle={transparentSwatchStyle}\n\t\t\t\t\t\t\tvalue=\"\" // transparent\n\t\t\t\t\t\t\tvariant=\"swatch\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t</RadioButtonGroup>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t);\n\t}\n}\n\nexport default HsvColor;\n","import React from 'react';\n\nimport CustomColorForm from './custom-color-form';\nimport HsvColor from './hsv-color';\n\n// using state to manage everything in here because multiple HSV coordinates\n// can map to a single RGB coordinate and we lose that if we're always passing\n// in a hex color\nclass CustomColor extends React.Component {\n\tstatic displayName = 'SLDSCustomColor';\n\n\trender() {\n\t\tlet errorText;\n\n\t\tif (this.props.errorTextWorkingColor) {\n\t\t\terrorText = this.props.errorTextWorkingColor;\n\t\t} else if (this.props.color.errors && this.props.color.errors.hex) {\n\t\t\terrorText = this.props.labels.invalidColor;\n\t\t} else {\n\t\t\terrorText = this.props.labels.invalidComponent;\n\t\t}\n\n\t\treturn (\n\t\t\t<div className=\"slds-color-picker__custom\">\n\t\t\t\t<HsvColor\n\t\t\t\t\tassistiveText={this.props.assistiveText}\n\t\t\t\t\tcolor={this.props.color}\n\t\t\t\t\tid={this.props.id}\n\t\t\t\t\tlabels={this.props.labels}\n\t\t\t\t\tonHueChange={this.props.onHueChange}\n\t\t\t\t\tonSaturationValueChange={this.props.onSaturationValueChange}\n\t\t\t\t\tonSaturationNavigate={this.props.onSaturationNavigate}\n\t\t\t\t\tonValueNavigate={this.props.onValueNavigate}\n\t\t\t\t\tonSwatchChange={this.props.onSwatchChange}\n\t\t\t\t\tpreviousColor={this.props.previousColor}\n\t\t\t\t/>\n\t\t\t\t<CustomColorForm\n\t\t\t\t\tcolor={this.props.color}\n\t\t\t\t\tid={this.props.id}\n\t\t\t\t\terrorTextWorkingColor={this.props.errorTextWorkingColor}\n\t\t\t\t\tlabels={this.props.labels}\n\t\t\t\t\tonBlueChange={this.props.onBlueChange}\n\t\t\t\t\tonGreenChange={this.props.onGreenChange}\n\t\t\t\t\tonHexChange={this.props.onHexChange}\n\t\t\t\t\tonRedChange={this.props.onRedChange}\n\t\t\t\t/>\n\t\t\t\t{this.props.errorTextWorkingColor || this.props.color.errors ? (\n\t\t\t\t\t<p\n\t\t\t\t\t\tclassName=\"slds-form-error slds-color-picker__input-custom-error\"\n\t\t\t\t\t\tid={`color-picker-custom-error-${this.props.id}`}\n\t\t\t\t\t>\n\t\t\t\t\t\t{errorText}\n\t\t\t\t\t</p>\n\t\t\t\t) : (\n\t\t\t\t\t''\n\t\t\t\t)}\n\t\t\t</div>\n\t\t);\n\t}\n}\n\nexport default CustomColor;\n","import React from 'react';\nimport Swatch from './swatch';\n\nconst handleClick = (event, { hex, onSelect }) => {\n\tevent.preventDefault();\n\tonSelect(event, { hex });\n};\nconst selectedStyle = {\n\tborder: '1px solid #141414',\n\tborderRadius: '2px',\n\tmargin: '3px',\n};\n\nconst selectedInnerStyle = {\n\tborder: '1px solid white',\n\tborderRadius: '2px',\n};\n\nclass SwatchOption extends React.Component {\n\tstatic displayName = 'SLDSSwatchOption';\n\n\trender() {\n\t\treturn (\n\t\t\t<li\n\t\t\t\tclassName=\"slds-color-picker__swatch\"\n\t\t\t\tstyle={\n\t\t\t\t\tthis.props.workingColor &&\n\t\t\t\t\tthis.props.workingColor.hex === this.props.color\n\t\t\t\t\t\t? selectedStyle\n\t\t\t\t\t\t: {}\n\t\t\t\t}\n\t\t\t\trole=\"presentation\"\n\t\t\t>\n\t\t\t\t<a\n\t\t\t\t\taria-selected={\n\t\t\t\t\t\tthis.props.workingColor &&\n\t\t\t\t\t\tthis.props.workingColor.hex === this.props.color\n\t\t\t\t\t}\n\t\t\t\t\tclassName=\"slds-color-picker__swatch-trigger\"\n\t\t\t\t\tonClick={(event) => {\n\t\t\t\t\t\thandleClick(event, {\n\t\t\t\t\t\t\thex: this.props.color,\n\t\t\t\t\t\t\tonSelect: this.props.onSelect,\n\t\t\t\t\t\t});\n\t\t\t\t\t}}\n\t\t\t\t\tref={this.props.swatchOptionRef}\n\t\t\t\t\trole=\"option\"\n\t\t\t\t\tstyle={\n\t\t\t\t\t\tthis.props.workingColor &&\n\t\t\t\t\t\tthis.props.workingColor === this.props.color\n\t\t\t\t\t\t\t? selectedInnerStyle\n\t\t\t\t\t\t\t: {}\n\t\t\t\t\t}\n\t\t\t\t\ttabIndex={this.props.tabIndex}\n\t\t\t\t>\n\t\t\t\t\t<Swatch color={this.props.color} labels={this.props.labels} />\n\t\t\t\t</a>\n\t\t\t</li>\n\t\t);\n\t}\n}\n\nexport default SwatchOption;\n","import React from 'react';\nimport findIndex from 'lodash.findindex';\n\nimport SwatchOption from './swatch-option';\nimport KEYS from '../../../utilities/key-code';\nimport EventUtil from '../../../utilities/event';\n\nimport { DIRECTIONS } from '../../utilities/UNSAFE_direction';\nimport LanguageDirection from '../../utilities/UNSAFE_direction/private/language-direction';\n\nclass SwatchPicker extends React.Component {\n\tstatic displayName = 'SLDSSwatchPicker';\n\n\tconstructor(props) {\n\t\tsuper(props);\n\t\tthis.swatchColorRefs = {};\n\t}\n\n\tselectPreviousColor = (event, props) => {\n\t\tconst index = findIndex(\n\t\t\tprops.swatchColors,\n\t\t\t(item) => item === props.color.hex\n\t\t);\n\t\tconst nextIndex =\n\t\t\tindex === -1 || index === props.swatchColors.length - 1 ? 0 : index + 1;\n\t\tconst prevColor = props.swatchColors[nextIndex];\n\t\tprops.onSelect(event, {\n\t\t\thex: prevColor,\n\t\t});\n\n\t\tthis.swatchColorRefs[prevColor].focus();\n\t};\n\n\tselectNextColor = (event, props) => {\n\t\tconst index = findIndex(\n\t\t\tprops.swatchColors,\n\t\t\t(item) => item === props.color.hex\n\t\t);\n\t\tlet prevIndex;\n\t\tif (index === 0) {\n\t\t\tprevIndex = props.swatchColors.length - 1;\n\t\t} else if (index === -1) {\n\t\t\tprevIndex = 0;\n\t\t} else {\n\t\t\tprevIndex = index - 1;\n\t\t}\n\t\tconst nextColor = props.swatchColors[prevIndex];\n\t\tprops.onSelect(event, {\n\t\t\thex: nextColor,\n\t\t});\n\n\t\tthis.swatchColorRefs[nextColor].focus();\n\t};\n\n\thandleKeyDown = (event, props) => {\n\t\tconst keyDownCallbacks = {\n\t\t\t[KEYS.RIGHT]: () => {\n\t\t\t\tif (props.direction === DIRECTIONS.RTL) {\n\t\t\t\t\tthis.selectNextColor(event, props);\n\t\t\t\t} else {\n\t\t\t\t\tthis.selectPreviousColor(event, props);\n\t\t\t\t}\n\t\t\t},\n\t\t\t[KEYS.DOWN]: () => {\n\t\t\t\tthis.selectPreviousColor(event, props);\n\t\t\t},\n\n\t\t\t[KEYS.LEFT]: () => {\n\t\t\t\tif (props.direction === DIRECTIONS.RTL) {\n\t\t\t\t\tthis.selectPreviousColor(event, props);\n\t\t\t\t} else {\n\t\t\t\t\tthis.selectNextColor(event, props);\n\t\t\t\t}\n\t\t\t},\n\t\t\t[KEYS.UP]: () => {\n\t\t\t\tthis.selectNextColor(event, props);\n\t\t\t},\n\t\t};\n\n\t\tif (event.keyCode) {\n\t\t\tif (keyDownCallbacks[event.keyCode]) {\n\t\t\t\tEventUtil.trapEvent(event);\n\t\t\t\tkeyDownCallbacks[event.keyCode]();\n\t\t\t}\n\t\t}\n\t};\n\n\taddRef = (color) => (el) => {\n\t\tthis.swatchColorRefs[color] = el;\n\t};\n\n\trender() {\n\t\tconst isSelectedColorInSwatch = this.props.swatchColors.includes(\n\t\t\tthis.props.color.hex\n\t\t);\n\n\t\treturn (\n\t\t\t<ul\n\t\t\t\tclassName=\"slds-color-picker__swatches\"\n\t\t\t\trole=\"listbox\"\n\t\t\t\tonKeyDown={(event) => {\n\t\t\t\t\tthis.handleKeyDown(event, {\n\t\t\t\t\t\t...this.props,\n\t\t\t\t\t});\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\t{this.props.swatchColors.map((color, index) => (\n\t\t\t\t\t<SwatchOption\n\t\t\t\t\t\tcolor={color}\n\t\t\t\t\t\tkey={color}\n\t\t\t\t\t\tlabels={this.props.labels}\n\t\t\t\t\t\tonSelect={this.props.onSelect}\n\t\t\t\t\t\tswatchOptionRef={this.addRef(color)}\n\t\t\t\t\t\tworkingColor={this.props.color}\n\t\t\t\t\t\ttabIndex={\n\t\t\t\t\t\t\t(this.props.color && this.props.color.hex === color) ||\n\t\t\t\t\t\t\t(index === 0 && !isSelectedColorInSwatch)\n\t\t\t\t\t\t\t\t? 0\n\t\t\t\t\t\t\t\t: -1\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t))}\n\t\t\t</ul>\n\t\t);\n\t}\n}\n\nexport default LanguageDirection(SwatchPicker);\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// # Tabs Component\n\n// Implements the [Tabs design pattern](https://www.lightningdesignsystem.com/components/tabs/) in React.\n\n// ## Dependencies\n\n// ### React\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\n// ### classNames\nimport classNames from 'classnames';\nimport { TABS_LIST } from '../../../utilities/constants';\n\nconst TabsList = ({ id, className, children, variant }) => (\n\t<ul\n\t\tid={`${id}-slds-tabs__nav`}\n\t\tclassName={classNames(className, {\n\t\t\t'slds-tabs_default__nav': variant === 'default',\n\t\t\t'slds-tabs_scoped__nav': variant === 'scoped',\n\t\t\t'slds-vertical-tabs__nav': variant === 'vertical',\n\t\t})}\n\t\trole=\"tablist\"\n\t\taria-orientation={variant === 'vertical' ? 'vertical' : undefined}\n\t>\n\t\t{children}\n\t</ul>\n);\n\nTabsList.displayName = TABS_LIST;\n\nTabsList.propTypes = {\n\t/**\n\t * Inherits the `id` from the parent `<Tabs />` component and appends `-tabs__nav`. Becomes the HTML `id` attribute of UL element that has the class `.slds-tabs_default__nav` on it.\n\t */\n\tid: PropTypes.string,\n\n\t/**\n\t * Class names to be added to the tabs list element.\n\t */\n\tclassName: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\n\t/**\n\t * The `children` are the actual tabs to be rendered as `li` elements. They get created by [tabs/index.jsx](./index.jsx) in the `renderTabsList` function.\n\t */\n\tchildren: PropTypes.oneOfType([PropTypes.object, PropTypes.array]),\n\n\t/**\n\t * If the Tabs should be scoped, vertical, or default (default value)\n\t */\n\tvariant: PropTypes.oneOf(['default', 'scoped', 'vertical']),\n};\n\nexport default TabsList;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n/* eslint-disable jsx-a11y/no-interactive-element-to-noninteractive-role */\n\n// # TabItem Component\n\n// ## Dependencies\n\n// ### React\nimport React from 'react';\n\nimport PropTypes from 'prop-types';\n\n// ### classNames\nimport classNames from 'classnames';\n\n// ## Constants\nimport { TAB } from '../../../utilities/constants';\n\nimport Icon from '../../icon';\n\n/*\n * Disabled Tab CSS has been removed. If you'd like to use the styling, please import it in your module bundler.\n */\n// import '!style-loader!css-loader!../../../styles/tabs/tab.css'; // eslint-disable-line import/no-unresolved\n\nclass Tab extends React.Component {\n\tstatic displayName = TAB;\n\n\tstatic propTypes = {\n\t\t/**\n\t\t * CSS classes to be added to the tab.\n\t\t */\n\t\tclassName: PropTypes.string,\n\n\t\t/**\n\t\t * The HTML ID of this tab. Also used by the `<TabPanel />` it controls as `tabId`.\n\t\t */\n\t\tid: PropTypes.string,\n\n\t\t/**\n\t\t * Whether to apply focus to this tab.\n\t\t */\n\t\tfocus: PropTypes.bool,\n\n\t\t/**\n\t\t * When `true`, the class `.slds-is-active` is applied.\n\t\t */\n\t\tselected: PropTypes.bool,\n\n\t\t/**\n\t\t * When `true`, the HTML attribute `aria-disabled` will be applied. Disabled Tab CSS has been removed. If you'd like to use the styling, please import it in your module bundler. `import 'css-loader!/node_modules/design-system-react/styles/tabs/tab.css';` This feature may be removed in the future due to disabled tabs being inaccessible.\n\t\t */\n\t\tdisabled: PropTypes.bool,\n\n\t\t/**\n\t\t * The CSS class to be applied when this tab is selected. Defaults to `.slds-is-active`. If another class is desired, it should be passed in _along with_ `.slds-is-active`, not _instead_ of it.\n\t\t */\n\t\tactiveTabClassName: PropTypes.string,\n\n\t\t/**\n\t\t * The CSS class to be applied when this tab is disabled. Defaults to `.slds-disabled`. If another class is desired, it should be passed in _along with_ `.slds-disabled`, not _instead_ of it.\n\t\t */\n\t\tdisabledTabClassName: PropTypes.string,\n\n\t\t/**\n\t\t * The HTML ID of `<TabPanel />` this tab controls.\n\t\t */\n\t\tpanelId: PropTypes.string,\n\n\t\t/**\n\t\t * The string or element that is shown as both the title and the label for this tab.\n\t\t */\n\t\tchildren: PropTypes.oneOfType([PropTypes.string, PropTypes.element]),\n\n\t\t/**\n\t\t * If the Tabs should be scoped, vertical, or default (default value)\n\t\t */\n\t\tvariant: PropTypes.oneOf(['default', 'scoped', 'vertical']),\n\n\t\t/**\n\t\t * Show an icon that can be used to communicate when a tab contains a validation error that needs attention\n\t\t */\n\t\thasError: PropTypes.bool,\n\n\t\t/**\n\t\t * **Assistive text for accessibility**\n\t\t * This object is merged with the default props object on every render.\n\t\t * * `withErrorIcon`: This text is for the error icon that will be placed next to the `<Tab />` title\n\t\t */\n\t\tassistiveText: PropTypes.shape({\n\t\t\twithErrorIcon: PropTypes.string,\n\t\t}),\n\t};\n\n\tstatic defaultProps = {\n\t\tfocus: false,\n\t\tselected: false,\n\t\tactiveTabClassName: 'slds-is-active',\n\t\tdisabledTabClassName: 'slds-disabled',\n\t\tvariant: 'default',\n\t\thasError: false,\n\t\tassistiveText: {\n\t\t\twithErrorIcon: 'This item has an error',\n\t\t},\n\t};\n\n\tcomponentDidMount() {\n\t\tthis.checkFocus();\n\t}\n\n\tcomponentDidUpdate() {\n\t\tthis.checkFocus();\n\t}\n\n\tcheckFocus = () => {\n\t\tif (this.props.selected && this.props.focus && this.node) {\n\t\t\tthis.node.focus();\n\t\t}\n\t};\n\n\trender() {\n\t\tconst {\n\t\t\tselected,\n\t\t\tdisabled,\n\t\t\tpanelId,\n\t\t\tactiveTabClassName,\n\t\t\tdisabledTabClassName,\n\t\t\tclassName,\n\t\t\tchildren,\n\t\t\tid,\n\t\t\tvariant,\n\t\t\thasError,\n\t\t} = this.props;\n\t\tlet tabIndex;\n\n\t\t/**\n\t\t * Desired a11y behaviour: The active Tab should get focus when the user presses the\n\t\t * Tab key. After that, Arrow keys should be used to change the focus from one tab\n\t\t * to another. Pressing the Tab key one more time should move the focus away from the\n\t\t * Tab group.\n\t\t *\n\t\t * Here, we put the selected Tab in the navigation path (tabIndex = 0) and remove other\n\t\t * tabs from navigation path (tabIndex = -1).\n\t\t */\n\t\tif (selected) {\n\t\t\ttabIndex = '0';\n\t\t} else {\n\t\t\ttabIndex = '-1';\n\t\t}\n\n\t\treturn (\n\t\t\t<li\n\t\t\t\tclassName={classNames(className, {\n\t\t\t\t\t[activeTabClassName]: selected,\n\t\t\t\t\t[disabledTabClassName]: disabled,\n\t\t\t\t\t'slds-tabs_default__item': variant === 'default',\n\t\t\t\t\t'slds-tabs_scoped__item': variant === 'scoped',\n\t\t\t\t\t'slds-vertical-tabs__nav-item': variant === 'vertical',\n\t\t\t\t})}\n\t\t\t\trole=\"presentation\"\n\t\t\t\tid={id}\n\t\t\t\ttitle={typeof children === 'string' ? children : null}\n\t\t\t>\n\t\t\t\t<a\n\t\t\t\t\tclassName={classNames({\n\t\t\t\t\t\t[activeTabClassName]: selected,\n\t\t\t\t\t\t[disabledTabClassName]: disabled,\n\t\t\t\t\t\t'slds-tabs_default__link': variant === 'default',\n\t\t\t\t\t\t'slds-tabs_scoped__link': variant === 'scoped',\n\t\t\t\t\t\t'slds-vertical-tabs__link': variant === 'vertical',\n\t\t\t\t\t})}\n\t\t\t\t\thref=\"javascript:void(0);\" // eslint-disable-line no-script-url\n\t\t\t\t\trole=\"tab\"\n\t\t\t\t\tref={(node) => {\n\t\t\t\t\t\tthis.node = node;\n\t\t\t\t\t}}\n\t\t\t\t\ttabIndex={tabIndex}\n\t\t\t\t\taria-controls={panelId}\n\t\t\t\t\taria-disabled={disabled}\n\t\t\t\t\taria-selected={selected ? 'true' : 'false'}\n\t\t\t\t>\n\t\t\t\t\t{children}\n\t\t\t\t\t{hasError && (\n\t\t\t\t\t\t<span\n\t\t\t\t\t\t\tclassName={classNames({\n\t\t\t\t\t\t\t\t'slds-tabs__right-icon': variant !== 'vertical',\n\t\t\t\t\t\t\t\t'slds-vertical-tabs__right-icon': variant === 'vertical',\n\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<Icon\n\t\t\t\t\t\t\t\tassistiveText={{\n\t\t\t\t\t\t\t\t\tlabel: this.props.assistiveText.withErrorIcon,\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\tcategory=\"utility\"\n\t\t\t\t\t\t\t\tcontainerClassName=\"slds-icon_container slds-icon-utility-error\"\n\t\t\t\t\t\t\t\tsize=\"x-small\"\n\t\t\t\t\t\t\t\tname=\"error\"\n\t\t\t\t\t\t\t\tcolorVariant=\"error\"\n\t\t\t\t\t\t\t\ttitle={this.props.assistiveText.withErrorIcon}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</span>\n\t\t\t\t\t)}\n\t\t\t\t</a>\n\t\t\t</li>\n\t\t);\n\t}\n}\n\nexport default Tab;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// # Tabs Component\n\n// Implements the [Tabs design pattern](https://www.lightningdesignsystem.com/components/tabs/) in React.\n\n// ## Dependencies\n\n// ### React\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\n// ### classNames\nimport classNames from 'classnames';\nimport { TAB_PANEL } from '../../../utilities/constants';\n\n/**\n * The containers of content that are shown and hidden by `Tabs`.\n */\nconst TabPanel = ({\n\tclassName,\n\tchildren,\n\tvariant,\n\tselected,\n\tid,\n\ttabId,\n\t...attributes // eslint-disable-line no-unused-vars\n}) => (\n\t<div\n\t\taria-labelledby={tabId}\n\t\tclassName={classNames(className, {\n\t\t\t'slds-show': selected,\n\t\t\t'slds-hide': !selected,\n\t\t\t'slds-tabs_default__content': variant === 'default',\n\t\t\t'slds-tabs_scoped__content': variant === 'scoped',\n\t\t\t'slds-vertical-tabs__content': variant === 'vertical',\n\t\t})}\n\t\tid={id}\n\t\trole=\"tabpanel\"\n\t>\n\t\t{children.props.children}\n\t</div>\n);\n\nTabPanel.displayName = TAB_PANEL;\n\nTabPanel.propTypes = {\n\t/**\n\t * The `children` are the contents of the tab panel.\n\t *\n\t * Note that the structure of the `<Tabs />` component **does not** correspond to the DOM structure that is rendered. The `<Tabs />` component requires one or more children of type `<TabsPanel />`, which themselves require a `label` property which will be what shows in the `<Tab />` and has `children`, which end up being the _contents of the tab's corresponding panel_.\n\t *\n\t * The component iterates through each `<TabsPanel />` and rendering one `<Tab />` and one `<TabPanel />` for each of them. The tab(s) end up being children of the `<TabsList />`.\n\t *\n\t * The tab panel component actually returns the _children_ of the _children_ which were provided by the `<TabsPanel />` component.\n\t *\n\t * Due to React's nature, the `<TabsPanel />` component wraps its children in a `div` element which we don't need nor want in our rendered DOM structure, so we just bypass it and get its kids via `{children.props.children}` in the render method below.\n\t * ```\n\t * <Tabs>\n\t * \t<TabsPanel label=\"Tab 1\">\n\t * \t\t<h2 className=\"slds-text-heading_medium\">This is my tab 1 contents!</h2>\n\t * \t\t<p>They show when you click the first tab.</p>\n\t * \t</TabsPanel>\n\t * \t<TabsPanel label=\"Tab 2\">\n\t * \t\t<h2 className=\"slds-text-heading_medium\">This is my tab 2 contents!</h2>\n\t * \t\t<p>They show when you click the second tab.</p>\n\t * \t</TabsPanel>\n\t * </Tabs>\n\t * ```\n\t */\n\tchildren: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\n\t/**\n\t * CSS classes to be added to the tab panel.\n\t */\n\tclassName: PropTypes.string,\n\n\t/**\n\t * The HTML ID of this tab panel. Also used by the `<Tab />`that controls it as `panelId`.\n\t */\n\tid: PropTypes.string,\n\n\t/**\n\t * Whether this panel is hidden or shown. Uses the `.slds-show` and `.slds-hide` classes.\n\t */\n\tselected: PropTypes.bool,\n\n\t/**\n\t * If the Tabs should be scoped, vertical, or default (default value)\n\t */\n\tvariant: PropTypes.oneOf(['default', 'scoped', 'vertical']),\n\n\t/**\n\t * The HTML ID of the `<Tab />` that controls this panel.\n\t */\n\ttabId: PropTypes.string,\n};\n\nTabPanel.defaultProps = {\n\tvariant: 'default',\n\tselected: false,\n};\n\nexport default TabPanel;\n","/* eslint-disable no-else-return */\n/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// # Tabs Component\n\n// Implements the [Tabs design pattern](https://www.lightningdesignsystem.com/components/tabs/) in React.\n\n// ## Dependencies\n\n// ### React\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\n// ### shortid\n// `shortid` is a short, non-sequential, url-friendly, unique id generator. It is used here to provide unique strings for the HTML attribute `id` on the Tabs components. It is only used if the `id` prop is not provided on the man <Tabs /> component.\nimport shortid from 'shortid';\n\n// ### classNames\nimport classNames from 'classnames';\n\n// ### isFunction\nimport isFunction from 'lodash.isfunction';\n\n// Child components\nimport TabsList from './private/tabs-list';\nimport Tab from './private/tab';\nimport TabPanel from './private/tab-panel';\n\n// ## Constants\nimport { TABS } from '../../utilities/constants';\n\n// ### Event Helpers\nimport KEYS from '../../utilities/key-code';\nimport EventUtil from '../../utilities/event';\n\n// Determine if a node from event.target is a Tab element\nfunction isTabNode(node) {\n\treturn (\n\t\t(node.nodeName === 'A' && node.getAttribute('role') === 'tab') ||\n\t\t(node.nodeName === 'LI' &&\n\t\t\t(node.classList.contains('slds-tabs_default__item') ||\n\t\t\t\tnode.classList.contains('slds-tabs_scoped__item') ||\n\t\t\t\tnode.classList.contains('slds-vertical-tabs__nav-item')))\n\t);\n}\n\n// Determine if a tab node is disabled\nfunction isTabDisabled(node) {\n\tif (node.classList && node.classList.contains('slds-disabled')) {\n\t\treturn true;\n\t} else if (node.getAttribute) {\n\t\treturn node.getAttribute('aria-disabled') === 'true';\n\t}\n\n\treturn !!node.props.disabled;\n}\n\n/**\n * Tabs keeps related content in a single container that is shown and hidden through navigation.\n */\nconst displayName = TABS;\nconst propTypes = {\n\t/**\n\t * HTML `id` attribute of primary element that has `.slds-tabs_default` on it. Optional: If one is not supplied, a `shortid` will be created.\n\t */\n\tid: PropTypes.string,\n\n\t/**\n\t * The `children` are the actual tabs and panels to be displayed.\n\t *\n\t * Note that the structure of the `<Tabs />` component **does not** correspond to the DOM structure that is rendered. The `<Tabs />` component requires one or more children of type `<TabsPanel />`, which themselves require a `label` property which will be what shows in the `<Tab />` and has `children`, which end up being the _contents of the tab's corresponding panel_.\n\t *\n\t * The component iterates through each `<TabsPanel />` and rendering one `<Tab />` and one `<TabPanel />` for each of them. The tab(s) end up being children of the `<TabsList />`.\n\t *\n\t * ```\n\t * <Tabs>\n\t * \t<TabsPanel label=\"Tab 1\">\n\t * \t\t<div>\n\t * \t\t\t<h2 className=\"slds-text-heading_medium\">This is my tab 1 contents!</h2>\n\t * \t\t\t<p>They show when you click the first tab.</p>\n\t * \t\t</div>\n\t * \t</TabsPanel>\n\t * \t<TabsPanel label=\"Tab 2\">\n\t * \t\t<div>\n\t * \t\t\t<h2 className=\"slds-text-heading_medium\">This is my tab 2 contents!</h2>\n\t * \t\t\t<p>They show when you click the second tab.</p>\n\t * \t\t</div>\n\t * \t</TabsPanel>\n\t * </Tabs>\n\t * ```\n\t */\n\tchildren: PropTypes.oneOfType([\n\t\tPropTypes.arrayOf(PropTypes.node),\n\t\tPropTypes.node,\n\t\tPropTypes.element,\n\t]).isRequired,\n\n\t/**\n\t * Class names to be added to the container element and is passed along to its children.\n\t */\n\tclassName: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\n\t/**\n\t * The Tab (and corresponding TabPanel) that is selected when the component first renders. Defaults to `0`.\n\t */\n\tdefaultSelectedIndex: PropTypes.number,\n\n\t/**\n\t * This function triggers when a tab is selected.\n\t */\n\tonSelect: PropTypes.func,\n\n\t/**\n\t * If the Tabs should be scoped, vertical, or default (default value)\n\t */\n\tvariant: PropTypes.oneOf(['default', 'scoped', 'vertical']),\n\n\t/**\n\t * The Tab (and corresponding TabPanel) that is currently selected.\n\t */\n\tselectedIndex: PropTypes.number,\n};\nconst defaultProps = {\n\tdefaultSelectedIndex: 0,\n\tvariant: 'default',\n};\n\n/**\n * A tab keeps related content in a single container that is shown and hidden through navigation.\n */\nclass Tabs extends React.Component {\n\tconstructor(props) {\n\t\tsuper(props);\n\t\tthis.tabs = [];\n\n\t\t// If no `id` is supplied in the props we generate one. An HTML ID is _required_ for several elements in a tabs component in order to leverage ARIA attributes for accessibility.\n\t\tthis.generatedId = shortid.generate();\n\t\tthis.flavor = this.getVariant();\n\t\tthis.state = {\n\t\t\tselectedIndex: props.defaultSelectedIndex,\n\t\t};\n\t}\n\n\tgetNextTab(index) {\n\t\tconst count = this.getTabsCount();\n\n\t\t// Look for non-disabled tab from index to the last tab on the right\n\t\t// eslint-disable-next-line no-plusplus\n\t\t// eslint-disable-next-line no-plusplus, fp/no-loops\n\t\tfor (let i = index + 1; i < count; i++) {\n\t\t\tconst tab = this.getTab(i);\n\t\t\tif (!isTabDisabled(tab)) {\n\t\t\t\treturn i;\n\t\t\t}\n\t\t}\n\n\t\t// If no tab found, continue searching from first on left to index\n\t\t// eslint-disable-next-line no-plusplus, fp/no-loops\n\t\tfor (let i = 0; i < index; i++) {\n\t\t\tconst tab = this.getTab(i);\n\t\t\tif (!isTabDisabled(tab)) {\n\t\t\t\treturn i;\n\t\t\t}\n\t\t}\n\n\t\t// No tabs are disabled, return index\n\t\treturn index;\n\t}\n\n\tgetPanelsCount() {\n\t\treturn this.props.children ? React.Children.count(this.props.children) : 0;\n\t}\n\n\tgetPrevTab(index) {\n\t\tlet i = index;\n\n\t\t// Look for non-disabled tab from index to first tab on the left\n\t\t// eslint-disable-next-line fp/no-loops, no-plusplus\n\t\twhile (i--) {\n\t\t\tconst tab = this.getTab(i);\n\t\t\tif (!isTabDisabled(tab)) {\n\t\t\t\treturn i;\n\t\t\t}\n\t\t}\n\n\t\t// If no tab found, continue searching from last tab on right to index\n\t\ti = this.getTabsCount();\n\t\t// eslint-disable-next-line fp/no-loops, no-plusplus\n\t\twhile (i-- > index) {\n\t\t\tconst tab = this.getTab(i);\n\t\t\tif (!isTabDisabled(tab)) {\n\t\t\t\treturn i;\n\t\t\t}\n\t\t}\n\n\t\t// No tabs are disabled, return index\n\t\treturn index;\n\t}\n\n\tgetSelectedIndex() {\n\t\treturn Number.isInteger(this.props.selectedIndex)\n\t\t\t? this.props.selectedIndex\n\t\t\t: this.state.selectedIndex;\n\t}\n\n\tgetTab(index) {\n\t\treturn this.tabs[index].tab;\n\t}\n\n\tgetTabNode(index) {\n\t\treturn this.tabs[index].node;\n\t}\n\n\tgetTabsCount() {\n\t\treturn this.props.children ? React.Children.count(this.props.children) : 0;\n\t}\n\n\tgetVariant() {\n\t\treturn this.props.variant || 'default';\n\t}\n\n\tsetSelected(index, focus) {\n\t\t// Check index boundary\n\t\tif (index < 0 || index >= this.getTabsCount()) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Keep reference to last index for event handler\n\t\tconst last = this.getSelectedIndex();\n\n\t\t/**\n\t\t * This is a temporary solution that could be broken in the future without notification,\n\t\t * since this component is not a controlled component and only relies on internal state.\n\t\t * If this breaks in the future an alternative way to control the state from outside the\n\t\t * component should be present.\n\t\t * */\n\t\tlet shouldContinue;\n\t\t// Call change event handler\n\t\tif (isFunction(this.props.onSelect)) {\n\t\t\tshouldContinue = this.props.onSelect(index, last);\n\t\t}\n\n\t\t// Don't update the state if nothing has changed\n\t\tif (shouldContinue !== false && index !== this.state.selectedIndex) {\n\t\t\tthis.setState({ selectedIndex: index, focus: focus === true });\n\t\t}\n\t}\n\n\thandleClick = (e) => {\n\t\tlet node = e.target;\n\t\t/* eslint-disable no-cond-assign, fp/no-loops */\n\t\tdo {\n\t\t\tif (this.isTabFromContainer(node)) {\n\t\t\t\tif (isTabDisabled(node)) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tlet parentNode = node.parentNode; // eslint-disable-line prefer-destructuring\n\n\t\t\t\tif (parentNode.nodeName === 'LI') {\n\t\t\t\t\tnode = node.parentNode;\n\t\t\t\t\tparentNode = node.parentNode; // eslint-disable-line prefer-destructuring\n\t\t\t\t}\n\n\t\t\t\tconst index = [].slice.call(parentNode.children).indexOf(node);\n\t\t\t\tthis.setSelected(index);\n\t\t\t\treturn;\n\t\t\t}\n\t\t} while ((node = node.parentNode) !== null);\n\t\t/* eslint-enable no-cond-assign */\n\t};\n\n\thandleKeyDown = (event) => {\n\t\tif (this.isTabFromContainer(event.target)) {\n\t\t\tlet index = this.getSelectedIndex();\n\t\t\tlet preventDefault = false;\n\n\t\t\tif (event.keyCode === KEYS.LEFT || event.keyCode === KEYS.UP) {\n\t\t\t\t// Select next tab to the left\n\t\t\t\tindex = this.getPrevTab(index);\n\t\t\t\tpreventDefault = true;\n\t\t\t} else if (event.keyCode === KEYS.RIGHT || event.keyCode === KEYS.DOWN) {\n\t\t\t\t// Select next tab to the right\n\t\t\t\tindex = this.getNextTab(index);\n\t\t\t\tpreventDefault = true;\n\t\t\t}\n\n\t\t\t// Prevent any dumn scrollbars from moving around as we type.\n\t\t\tif (preventDefault) {\n\t\t\t\tEventUtil.trap(event);\n\t\t\t}\n\n\t\t\tthis.setSelected(index, true);\n\t\t}\n\t};\n\n\t/**\n\t * Determine if a node from event.target is a Tab element for the current Tabs container.\n\t * If the clicked element is not a Tab, it returns false.\n\t * If it finds another Tabs container between the Tab and `this`, it returns false.\n\t */\n\tisTabFromContainer(node) {\n\t\t// Return immediately if the clicked element is not a Tab. This prevents tab panel content from selecting a tab.\n\t\tif (!isTabNode(node)) {\n\t\t\treturn false;\n\t\t}\n\n\t\t// Check if the first occurrence of a Tabs container is `this` one.\n\t\tlet nodeAncestor = node.parentElement;\n\t\tdo {\n\t\t\tif (nodeAncestor === this.tabsNode) return true;\n\t\t\telse if (nodeAncestor.getAttribute('data-tabs')) break;\n\t\t\tnodeAncestor = nodeAncestor.parentElement;\n\t\t} while (nodeAncestor);\n\n\t\treturn false;\n\t}\n\n\trenderTabPanels(parentId) {\n\t\tconst children = React.Children.toArray(this.props.children);\n\t\tconst selectedIndex = this.getSelectedIndex();\n\t\tlet result = null;\n\n\t\tresult = children.map((child, index) => {\n\t\t\tconst tabId = `${parentId}-slds-tabs_tab-${index}`;\n\t\t\tconst id = `${parentId}-slds-tabs_panel-${index}`;\n\t\t\tconst selected = selectedIndex === index;\n\t\t\tconst variant = this.getVariant();\n\n\t\t\treturn (\n\t\t\t\t<TabPanel\n\t\t\t\t\tkey={child.key}\n\t\t\t\t\tselected={selected}\n\t\t\t\t\tid={id}\n\t\t\t\t\ttabId={tabId}\n\t\t\t\t\tvariant={variant}\n\t\t\t\t>\n\t\t\t\t\t{children[index]}\n\t\t\t\t</TabPanel>\n\t\t\t);\n\t\t});\n\t\treturn result;\n\t}\n\n\trenderTabsList(parentId) {\n\t\tconst children = React.Children.toArray(this.props.children);\n\n\t\treturn (\n\t\t\t// `parentId` gets consumed by TabsList, adding a suffix of `-tabs__nav`\n\t\t\t<TabsList id={parentId} variant={this.getVariant()}>\n\t\t\t\t{children.map((child, index) => {\n\t\t\t\t\tconst id = `${parentId}-slds-tabs_tab-${index}`;\n\t\t\t\t\tconst panelId = `${parentId}-slds-tabs_panel-${index}`;\n\t\t\t\t\tconst selected = this.getSelectedIndex() === index;\n\t\t\t\t\tconst focus = selected && this.state.focus;\n\t\t\t\t\tconst variant = this.getVariant();\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<Tab\n\t\t\t\t\t\t\tkey={child.key}\n\t\t\t\t\t\t\tref={(node) => {\n\t\t\t\t\t\t\t\tthis.tabs[index] = { tab: child, node };\n\t\t\t\t\t\t\t\tif (this.state.focus) {\n\t\t\t\t\t\t\t\t\tthis.setState({ focus: false });\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\tfocus={focus}\n\t\t\t\t\t\t\tselected={selected}\n\t\t\t\t\t\t\tid={id}\n\t\t\t\t\t\t\tpanelId={panelId}\n\t\t\t\t\t\t\tdisabled={child.props.disabled}\n\t\t\t\t\t\t\tvariant={variant}\n\t\t\t\t\t\t\thasError={child.props.hasError}\n\t\t\t\t\t\t\tassistiveText={child.props.assistiveText}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{child.props.label}\n\t\t\t\t\t\t</Tab>\n\t\t\t\t\t);\n\t\t\t\t})}\n\t\t\t</TabsList>\n\t\t);\n\t}\n\n\trender() {\n\t\tconst {\n\t\t\tclassName,\n\t\t\tid = this.generatedId,\n\t\t\tvariant = this.getVariant,\n\t\t} = this.props;\n\n\t\treturn (\n\t\t\t/* eslint-disable jsx-a11y/no-static-element-interactions */\n\t\t\t<div\n\t\t\t\tid={id}\n\t\t\t\tclassName={classNames(\n\t\t\t\t\t{\n\t\t\t\t\t\t'slds-tabs_default': variant === 'default',\n\t\t\t\t\t\t'slds-tabs_scoped': variant === 'scoped',\n\t\t\t\t\t\t'slds-vertical-tabs': variant === 'vertical',\n\t\t\t\t\t},\n\t\t\t\t\tclassName\n\t\t\t\t)}\n\t\t\t\tonClick={this.handleClick}\n\t\t\t\tonKeyDown={this.handleKeyDown}\n\t\t\t\tdata-tabs\n\t\t\t\tref={(node) => {\n\t\t\t\t\tthis.tabsNode = node;\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\t{/* eslint-enable jsx-a11y/no-static-element-interactions */}\n\t\t\t\t{this.renderTabsList(id)}\n\t\t\t\t{this.renderTabPanels(id)}\n\t\t\t</div>\n\t\t);\n\t}\n}\nTabs.displayName = displayName;\nTabs.propTypes = propTypes;\nTabs.defaultProps = defaultProps;\n\nexport default Tabs;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\nimport { TABS_PANEL } from '../../utilities/constants';\n\n/**\n * The `<TabsPanel />` component allows us to simplify the structure of the `<Tabs />` component.\n\n * Rather than require different (deeply nested) children for tabslist, with its tab(s) as well as tabpanel(s), we provide this `TabsPanel` component which takes a `label` property that will become what is shown on the `<Tab />` that will be associated with it.\n\n * The `children` of the Panel will be fed to the `<TabPanel />` component, while its `label` is handled in `<Tab />`, via `<TabsList />`.\n *\n * ```\n * <TabsPanel label=\"Tab 1\">\n * \t<div>\n * \t\t<h2 className=\"slds-text-heading_medium\">This is my tab 1 contents!</h2>\n * \t\t<p>They show when you click the first tab.</p>\n * \t</div>\n * </TabsPanel>\n * ```\n */\nconst Panel = ({ children }) => <div>{React.Children.toArray(children)}</div>;\n\nPanel.displayName = TABS_PANEL;\n\nPanel.propTypes = {\n\t/**\n\t * The string or element that is handed off to the `<Tab />` component, ends up being the title and the label for the tab associated with its tab panel.\n\t */\n\tlabel: PropTypes.oneOfType([PropTypes.string, PropTypes.element]).isRequired,\n\n\t/**\n\t * The `children` are the actual tab panels to be rendered. They get created by [tabs/index.jsx](./index.jsx) in the `renderTabPanels` function.\n\t *\n\t * Note that the `<TabsPanel />` component inserts a `div` element around the children, because React requires exactly one \"parent\" element returned. The `<TabPanel />` component simply dips down into `children` to get the children of this wrapping `div` so that it does not get rendered in the DOM.\n\t */\n\tchildren: PropTypes.oneOfType([\n\t\tPropTypes.arrayOf(PropTypes.node),\n\t\tPropTypes.node,\n\t\tPropTypes.element,\n\t]).isRequired,\n\n\t/**\n\t * Show an icon on the `<Tab />` next to the title that can be used to communicate when a tab contains a validation error that needs attention\n\t */\n\thasError: PropTypes.bool, // deepscan-disable-line REACT_USELESS_PROP_TYPES\n\n\t/**\n\t * **Assistive text for accessibility**\n\t * This object is merged with the default props object on every render.\n\t * * `withErrorIcon`: This text is for the error icon that will be placed next to the `<Tab />` title\n\t */\n\t/* deepscan-disable REACT_USELESS_PROP_TYPES */\n\tassistiveText: PropTypes.shape({\n\t\twithErrorIcon: PropTypes.string,\n\t}),\n\t/* deepscan-enable REACT_USELESS_PROP_TYPES */\n};\n\nexport default Panel;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n/* eslint-disable import/no-mutable-exports */\n/* eslint-disable max-len */\n\nimport oneOfRequiredProperty from '../../utilities/warning/one-of-required-property';\nimport oneOfComponent from '../../utilities/warning/one-of-component';\nimport deprecatedProperty from '../../utilities/warning/deprecated-property';\nimport getComponentDocFn from '../../utilities/get-component-doc';\nimport incompatibleProps from '../../utilities/warning/incompatible-props';\n\nlet checkProps = function checkPropsFunction() {};\n\nif (process.env.NODE_ENV !== 'production') {\n\tcheckProps = function checkPropsFunction(COMPONENT, props, jsonDoc) {\n\t\tconst createDocUrl = getComponentDocFn(jsonDoc);\n\n\t\toneOfRequiredProperty(\n\t\t\tCOMPONENT,\n\t\t\t{\n\t\t\t\tariaLabelledby: props.ariaLabelledby,\n\t\t\t\theading: props.heading,\n\t\t\t},\n\t\t\tcreateDocUrl()\n\t\t);\n\n\t\tif (props.children !== undefined) {\n\t\t\tif (props.children.length && props.children.length > 1) {\n\t\t\t\toneOfComponent(\n\t\t\t\t\tCOMPONENT,\n\t\t\t\t\tprops,\n\t\t\t\t\t'children[0]',\n\t\t\t\t\t['SLDSButton', 'a', 'button', 'SLDSInnerInput', 'SLDSPopoverTooltip'],\n\t\t\t\t\t` Multiple children of any kind are allowed, but the first child must serve as the trigger component. ${createDocUrl()}`,\n\t\t\t\t\tprops.children[0]\n\t\t\t\t);\n\t\t\t} else {\n\t\t\t\toneOfComponent(\n\t\t\t\t\tCOMPONENT,\n\t\t\t\t\tprops,\n\t\t\t\t\t'children',\n\t\t\t\t\t['SLDSButton', 'a', 'button', 'SLDSInnerInput', 'SLDSPopoverTooltip'],\n\t\t\t\t\tcreateDocUrl()\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\n\t\tdeprecatedProperty(\n\t\t\tCOMPONENT,\n\t\t\tprops.offset,\n\t\t\t'offset',\n\t\t\tundefined,\n\t\t\t`The manual setting of positional offset of dialog components has been deemed unreliable. Position logic has been re-written to deliver better and more reliable positioning. Please create an issue if you have an edge case not covered by the built-in logic. ${createDocUrl()}`,\n\t\t\tprops.silenceDeprecatedPropertyWarning || false\n\t\t);\n\n\t\tdeprecatedProperty(\n\t\t\tCOMPONENT,\n\t\t\tprops.isInline,\n\t\t\t'isInline',\n\t\t\t'position=\"relative\"',\n\t\t\tcreateDocUrl('position')\n\t\t);\n\n\t\tdeprecatedProperty(\n\t\t\tCOMPONENT,\n\t\t\tprops.closeButtonAssistiveText,\n\t\t\t'closeButtonAssistiveText',\n\t\t\t\"assistiveText['closeButton']\",\n\t\t\tcreateDocUrl('assistiveText')\n\t\t);\n\n\t\tincompatibleProps(\n\t\t\tCOMPONENT,\n\t\t\tprops,\n\t\t\t'position',\n\t\t\t['relative'],\n\t\t\t'target',\n\t\t\tnull,\n\t\t\t`${createDocUrl()}`\n\t\t);\n\t};\n}\n\nexport default checkProps;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// # Assistive Technology / Keyboard Navigable Trait for Dialogs with Tabbable content\n\n/*\n * Guidelines for Popover\n *\n * - Focus is trapped. Tabbing to an index outside of the dialog is not allowed. Popover must be closed first via ESC.\n * - There should always be a focusable element inside, to place user focus on such as a close button\n * - Must be dismissible via ESC and a close button\n * - Uses tabIndex in wrapper and has tabbable items within it despite being outside document flow.\n * - Entire popover receives focus when opened and has a aria-labelledby that points to the header id, so it will read the heading,\n * - Must return focus to trigger after closing.\n * - F6 will allow the user to keep popover open and go back to tabbing in “app-context” instead of “dialog-context.” (not implemented, yet)\n */\n\n// ## Dependencies\n\n// ### React\nimport ReactDOM from 'react-dom';\n\n// ### Event Helpers\nimport KEYS from './key-code';\n\n/* eslint-disable react/no-find-dom-node */\n\nconst internalHandleClick = ({ trigger, eventTarget, handleClick }) => {\n\tif (trigger && ReactDOM.findDOMNode(trigger) === eventTarget) {\n\t\t// eslint-disable-line react/no-find-dom-node\n\t\thandleClick(event);\n\t}\n};\n\nconst KeyboardNavigableDialog = ({\n\tisOpen,\n\thandleClick,\n\tkeyCode,\n\teventTarget,\n\ttrigger,\n\ttoggleOpen,\n}) => {\n\tswitch (keyCode) {\n\t\tcase KEYS.ESCAPE:\n\t\t\tif (isOpen) {\n\t\t\t\ttoggleOpen();\n\t\t\t}\n\t\t\tbreak;\n\t\tcase KEYS.ENTER:\n\t\t\tif (!isOpen) {\n\t\t\t\tinternalHandleClick({\n\t\t\t\t\ttrigger,\n\t\t\t\t\teventTarget,\n\t\t\t\t\thandleClick,\n\t\t\t\t});\n\t\t\t}\n\t\t\tbreak;\n\t\tdefault:\n\t\t\tbreak;\n\t}\n};\n\nexport default KeyboardNavigableDialog;\n","/* eslint-disable max-lines */\n/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// # Popover Component\n\n// Implements the [Popover design pattern](https://www.lightningdesignsystem.com/components/popovers) in React.\n\n// ### React\nimport React from 'react';\n\nimport PropTypes from 'prop-types';\n\n// ### classNames\n// [github.com/JedWatson/classnames](https://github.com/JedWatson/classnames)\n// This project uses `classnames`, \"a simple javascript utility for conditionally\n// joining classNames together.\"\nimport classNames from 'classnames';\n\n// ### isFunction\nimport isFunction from 'lodash.isfunction';\n\n// ### shortid\n// [npmjs.com/package/shortid](https://www.npmjs.com/package/shortid)\n// shortid is a short, non-sequential, url-friendly, unique id generator\nimport shortid from 'shortid';\n\n// This component's `checkProps` which issues warnings to developers about properties when in development mode (similar to React's built in development tools)\nimport checkProps from './check-props';\nimport componentDoc from './component.json';\n\nimport Button from '../button';\nimport MediaObject from '../media-object';\nimport Icon from '../icon';\n\n// ### Children\nimport Dialog from '../utilities/dialog';\n\n// #### KeyboardNavigable\nimport keyboardNavigableDialog from '../../utilities/keyboard-navigable-dialog';\n\nimport KEYS from '../../utilities/key-code';\nimport { POPOVER } from '../../utilities/constants';\n\nconst documentDefined = typeof document !== 'undefined';\n\n// The overlay is an optional way to allow the popover to close on outside\n// clicks even when those clicks are over areas that wouldn't normally fire\n// click or touch events (for example, iframes). A single overlay is shared\n// between all popovers in the app.\nconst overlay = documentDefined\n\t? document.createElement('span')\n\t: { style: {} };\noverlay.style.top = 0;\noverlay.style.left = 0;\noverlay.style.width = '100%';\noverlay.style.height = '100%';\noverlay.style.position = 'absolute';\n\nlet currentOpenPopover;\n\n// FIXME - what is this exported for? Probably needs to be deprecated.\nconst PopoverNubbinPositions = [\n\t'top left',\n\t'top',\n\t'top right',\n\t'bottom left',\n\t'bottom',\n\t'bottom right',\n];\n\nconst defaultProps = {\n\talign: 'right',\n\tassistiveText: {\n\t\tcloseButton: 'Close dialog',\n\t},\n\thasNoCloseButton: false,\n\thasNoNubbin: false,\n\thoverCloseDelay: 300,\n\topenOn: 'click',\n\tposition: 'absolute',\n\tvariant: 'base',\n};\n\n/**\n * The Popover component is a non-modal dialog. It should be paired with a clickable trigger such as a `Button`. It traps focus from the page and must be exited if focus needs to be outside the Popover. Use a `Tooltip` if there are no call to actions within the dialog. A `Tooltip` does not need to be clicked. Multiple popovers open at the same time, each with focus trap is not supported.\n */\nclass Popover extends React.Component {\n\t// ### Display Name\n\t// Always use the canonical component name as the React display name.\n\tstatic displayName = POPOVER;\n\n\t// ### Prop Types\n\tstatic propTypes = {\n\t\t/**\n\t\t * Aligns the popover with the respective side of the trigger. That is `top` will place the `Popover` above the trigger.\n\t\t */\n\t\talign: PropTypes.oneOf([\n\t\t\t'top',\n\t\t\t'top left',\n\t\t\t'top right',\n\t\t\t'right',\n\t\t\t'right top',\n\t\t\t'right bottom',\n\t\t\t'bottom',\n\t\t\t'bottom left',\n\t\t\t'bottom right',\n\t\t\t'left',\n\t\t\t'left top',\n\t\t\t'left bottom',\n\t\t]),\n\t\t/**\n\t\t * **Assistive text for accessibility.**\n\t\t * This object is merged with the default props object on every render.\n\t\t * * `closeButton`: This is a visually hidden label for the close button.\n\t\t */\n\t\tassistiveText: PropTypes.shape({\n\t\t\tcloseButton: PropTypes.string,\n\t\t}),\n\t\t/**\n\t\t * HTML `id` of heading for popover. Only use if your header is within your popover body.\n\t\t */\n\t\tariaLabelledby: PropTypes.string,\n\t\t/**\n\t\t * Multiple children of any kind are allowed, but the first child must serve as the trigger component. Many props will be passed into this trigger related to popover interactions. The trigger needs to be a clickable element, such as a `Button` or an anchor tag (`a`).\n\t\t */\n\t\tchildren: PropTypes.node.isRequired,\n\t\t/**\n\t\t * The contents of the popover. This should also accept arrays.\n\t\t */\n\t\tbody: PropTypes.oneOfType([PropTypes.node, PropTypes.array]).isRequired,\n\t\t/**\n\t\t * CSS classes to be added to the popover footer. That is the element with `.slds-popover__body` on it.\n\t\t */\n\t\tclassNameBody: PropTypes.oneOfType([\n\t\t\tPropTypes.array,\n\t\t\tPropTypes.object,\n\t\t\tPropTypes.string,\n\t\t]),\n\t\t/**\n\t\t * CSS classes to be added to the popover footer. That is the element with `.slds-popover__footer` on it.\n\t\t */\n\t\tclassNameFooter: PropTypes.oneOfType([\n\t\t\tPropTypes.array,\n\t\t\tPropTypes.object,\n\t\t\tPropTypes.string,\n\t\t]),\n\t\t/**\n\t\t * This prop is passed onto the triggering `Button`. Prevent popover from opening. Also applies disabled styling to trigger button.\n\t\t */\n\t\tdisabled: PropTypes.bool,\n\t\t/**\n\t\t * A footer is an optional. Buttons are often placed here.\n\t\t */\n\t\tfooter: PropTypes.node,\n\t\t/**\n\t\t * An object of CSS styles that are applied to the `slds-popover__footer` DOM element.\n\t\t */\n\t\tfooterStyle: PropTypes.object,\n\t\t/**\n\t\t * Used with `walkthrough` variant to provide action buttons (ex: \"Next\" / \"Skip\" / etc) for a walkthrough popover footer. Accepts either a single node or array of nodes for multiple buttons.\n\t\t */\n\t\tfooterWalkthroughActions: PropTypes.oneOfType([\n\t\t\tPropTypes.node,\n\t\t\tPropTypes.arrayOf(PropTypes.node),\n\t\t]),\n\t\t/**\n\t\t * Determines if the popover has a close button or not. Default is `false`\n\t\t */\n\t\thasNoCloseButton: PropTypes.bool,\n\t\t/**\n\t\t * Determines if the popover has a nubbin or not. Default is `false`\n\t\t */\n\t\thasNoNubbin: PropTypes.bool,\n\t\t/**\n\t\t * Prevents the Popover from changing position based on the viewport/window. If set to true your popover can extend outside the viewport _and_ overflow outside of a scrolling parent. If this happens, you might want to consider making the popover contents scrollable to fit the menu on the screen. When enabled, `position` `absolute` is used.\n\t\t */\n\t\thasStaticAlignment: PropTypes.bool,\n\t\t/**\n\t\t * Removes `display:inline-block` from the trigger button.\n\t\t */\n\t\thasNoTriggerStyles: PropTypes.bool,\n\t\t/**\n\t\t * All popovers require a heading that labels the popover for assistive technology users. This text will be placed within a heading HTML tag, or in an h2 within the popover body if used with `variant=\"walkthrough-action\"`. A heading is **highly recommended for accessibility reasons.** Please see `ariaLabelledby` prop.\n\t\t */\n\t\theading: PropTypes.oneOfType([PropTypes.string, PropTypes.node]),\n\t\t/**\n\t\t * Icon displayed in the `feature` variant\n\t\t */\n\t\ticon: PropTypes.node,\n\t\t/**\n\t\t * By default, a unique ID will be created at render to support keyboard navigation, ARIA roles, and connect the popover to the triggering button. This ID will be applied to the triggering element. `${id}-popover`, `${id}-dialog-heading`, `${id}-dialog-body` are also created.\n\t\t */\n\t\tid: PropTypes.string,\n\t\t/**\n\t\t * Forces the popover to be open or closed. See controlled/uncontrolled callback/prop pattern for more on suggested use [](https://github.com/salesforce-ux/design-system-react/blob/master/CONTRIBUTING.md#concepts-and-best-practices) You will want this if Popover is to be a controlled component.\n\t\t */\n\t\tisOpen: PropTypes.bool,\n\t\t/**\n\t\t * This function is passed onto the triggering `Button`. Triggered when the trigger button is clicked. You will want this if Popover is to be a controlled component.\n\t\t */\n\t\tonClick: PropTypes.func,\n\t\t/**\n\t\t * This function is triggered when the dialog is closed. This occurs when the Dialog child component (that is the actual popover) is unmounted and removed from the DOM. This function returns `{event, { trigger, componentWillUnmount }`. Trigger can have the values `cancel`, `clickOutside`, or `newPopover`.\n\t\t */\n\t\tonClose: PropTypes.func,\n\t\t/**\n\t\t * Called when a key is pressed.\n\t\t */\n\t\tonKeyDown: PropTypes.func,\n\t\t/**\n\t\t * Called when mouse clicks down on the trigger button.\n\t\t */\n\t\tonMouseDown: PropTypes.func,\n\t\t/**\n\t\t * This function is triggered when the Dialog child component (that is the actual popover) is mounted and added to the DOM. The parameters are `event, { portal: }`. `portal` can be used as a React tree root node.\n\t\t */\n\t\tonOpen: PropTypes.func,\n\t\t/**\n\t\t * This function is triggered when the user clicks outside the Popover or clicks the close button. You will want to define this if Popover is to be a controlled component. Most of the time you will want to set `isOpen` to `false` when this is triggered unless you need to validate something.\n\t\t */\n\t\tonRequestClose: PropTypes.func,\n\t\t/**\n\t\t * Callback that returns an element or React `ref` to align the Popover with. If the target element has not been rendered yet, the popover will use the triggering element as the attachment target instead. NOTE: `position=\"relative\"` is not compatible with custom targets that are not the triggering element.\n\t\t */\n\t\tonRequestTargetElement: PropTypes.func,\n\t\t/**\n\t\t * Please select one of the following:\n\t\t * * `absolute` - (default) The dialog will use `position: absolute` and style attributes to position itself. This allows inverted placement or flipping of the dialog.\n\t\t * * `overflowBoundaryElement` - The dialog will overflow scrolling parents. Use on elements that are aligned to the left or right of their target and don't care about the target being within a scrolling parent. Typically this is a popover or tooltip. Dropdown menus can usually open up and down if no room exists. In order to achieve this a portal element will be created and attached to `body`. This element will render into that detached render tree.\n\t\t * * `relative` - No styling or portals will be used. Menus will be positioned relative to their triggers. This is a great choice for HTML snapshot testing. NOTE: this setting is not compatible with custom targets outside the trigger\n\t\t */\n\t\tposition: PropTypes.oneOf([\n\t\t\t'absolute',\n\t\t\t'overflowBoundaryElement',\n\t\t\t'relative',\n\t\t]),\n\t\t/**\n\t\t * Used with `walkthrough` variant to provide the step text (ex: \"Step 1 of 4\") for a walkthrough popover footer. If used with `variant=\"walkthrough-action\"`, it will be placed in the popover body.\n\t\t */\n\t\tstepText: PropTypes.string,\n\t\t/**\n\t\t * An object of CSS styles that are applied to the `slds-popover` DOM element.\n\t\t */\n\t\tstyle: PropTypes.object,\n\t\t/**\n\t\t * If `true`, adds a transparent overlay when the menu is open to handle outside clicks. Allows clicks on iframes to be captured, but also forces a double-click to interact with other elements. If a function is passed, custom overlay logic may be defined by the app.\n\t\t */\n\t\toverlay: PropTypes.oneOfType([PropTypes.bool, PropTypes.func]),\n\t\t/**\n\t\t * CSS classes to be added to wrapping trigger `div` around the button.\n\t\t */\n\t\ttriggerClassName: PropTypes.oneOfType([\n\t\t\tPropTypes.array,\n\t\t\tPropTypes.object,\n\t\t\tPropTypes.string,\n\t\t]),\n\t\t/**\n\t\t * Determines the type of the popover. `error` and `warning` allows the content body to scroll. Default is `base` _Tested with snaphots._\n\t\t */\n\t\tvariant: PropTypes.oneOf([\n\t\t\t'base',\n\t\t\t'error',\n\t\t\t'feature',\n\t\t\t'walkthrough',\n\t\t\t'walkthrough-action',\n\t\t\t'warning',\n\t\t]),\n\t};\n\n\tstatic defaultProps = defaultProps;\n\n\tstate = {\n\t\tisOpen: false,\n\t};\n\n\tconstructor(props) {\n\t\tsuper(props);\n\n\t\tthis.generatedId = shortid.generate();\n\t\t// `checkProps` issues warnings to developers about properties (similar to React's built in development tools)\n\t\tcheckProps(POPOVER, props, componentDoc);\n\t}\n\n\tcomponentWillUnmount() {\n\t\tif (currentOpenPopover === this) {\n\t\t\tcurrentOpenPopover = undefined;\n\t\t}\n\t\tthis.isUnmounting = true;\n\t\tthis.renderOverlay(false);\n\t}\n\n\tgetId = () => this.props.id || this.generatedId;\n\n\tgetIsOpen = () =>\n\t\t!this.props.disabled &&\n\t\t!!(typeof this.props.isOpen === 'boolean'\n\t\t\t? this.props.isOpen\n\t\t\t: this.state.isOpen);\n\n\tgetMenu = () =>\n\t\t// needed by keyboard navigation\n\t\tthis.dialog;\n\n\tgetTargetElement = () =>\n\t\tthis.props.onRequestTargetElement && this.props.onRequestTargetElement()\n\t\t\t? this.props.onRequestTargetElement()\n\t\t\t: this.trigger;\n\n\tsetMenuRef = (component) => {\n\t\tthis.dialog = component;\n\t};\n\n\tsetContainerRef = (component) => {\n\t\tthis.trigger = component;\n\t\t// yes, this is a re-render triggered by a render.\n\t\t// Dialog/Popper.js cannot place the popover until\n\t\t// the trigger/target DOM node is mounted. This\n\t\t// way `findDOMNode` is not called and parent\n\t\t// DOM nodes are not queried.\n\t\tif (!this.state.inputRendered) {\n\t\t\tthis.setState({ inputRendered: true });\n\t\t}\n\t};\n\n\thandleDialogClose = (event, data) => {\n\t\tconst componentWillUnmount = (data && data.componentWillUnmount) || false;\n\n\t\tif (currentOpenPopover === this) {\n\t\t\tcurrentOpenPopover = undefined;\n\t\t}\n\n\t\tif (this.props.onClose) {\n\t\t\tthis.props.onClose(event, {\n\t\t\t\t// Breaking change: component object reference has been\n\t\t\t\t// removed (`this`), due to endless loop creation.\n\t\t\t\tcomponentWillUnmount,\n\t\t\t});\n\t\t}\n\t};\n\n\thandleClose = (event, data) => {\n\t\tconst isOpen = this.getIsOpen();\n\n\t\tif (isOpen) {\n\t\t\t// call even if closed\n\t\t\tif (this.props.onRequestClose) {\n\t\t\t\tthis.props.onRequestClose(event, data);\n\t\t\t}\n\n\t\t\tif (currentOpenPopover === this) {\n\t\t\t\tcurrentOpenPopover = undefined;\n\t\t\t}\n\n\t\t\tthis.setState({\n\t\t\t\tisOpen: false,\n\t\t\t});\n\n\t\t\tthis.isHover = false;\n\t\t}\n\t};\n\n\thandleOpen = () => {\n\t\tconst isOpen = this.getIsOpen();\n\n\t\tif (!isOpen) {\n\t\t\tif (currentOpenPopover && isFunction(currentOpenPopover.handleClose)) {\n\t\t\t\tcurrentOpenPopover.handleClose(undefined, {\n\t\t\t\t\ttrigger: 'newPopover',\n\t\t\t\t\tid: currentOpenPopover.getId(),\n\t\t\t\t});\n\t\t\t}\n\n\t\t\tcurrentOpenPopover = this;\n\n\t\t\tthis.setState({\n\t\t\t\tisOpen: true,\n\t\t\t});\n\t\t}\n\t};\n\n\t/* props.openOn is not a part of prop-types because it is not a supported feature, but may be needed for backwards compatibility with non-accessible dropdown/popover hybrids. */\n\n\t/* eslint-disable react/prop-types */\n\thandleMouseEnter = (event) => {\n\t\tconst isOpen = this.getIsOpen();\n\n\t\tthis.isHover = true;\n\n\t\tif (!isOpen && this.props.openOn === 'hover') {\n\t\t\tthis.handleOpen();\n\t\t} else {\n\t\t\t// we want this clear when openOn is hover or hybrid\n\t\t\tclearTimeout(this.isClosing);\n\t\t}\n\n\t\tif (this.props.onMouseEnter) {\n\t\t\tthis.props.onMouseEnter(event);\n\t\t}\n\t};\n\n\thandleMouseLeave = (event) => {\n\t\tconst isOpen = this.getIsOpen();\n\n\t\tif (isOpen) {\n\t\t\tthis.isClosing = setTimeout(() => {\n\t\t\t\tthis.handleClose();\n\t\t\t}, this.props.hoverCloseDelay);\n\t\t}\n\n\t\tif (this.props.onMouseLeave) {\n\t\t\tthis.props.onMouseLeave(event);\n\t\t}\n\t};\n\n\t/* eslint-enable react/prop-types */\n\n\thandleClick = (event, { triggerOnClickCallback }) => {\n\t\tconst isOpen = this.getIsOpen();\n\n\t\tif (!isOpen) {\n\t\t\tthis.handleOpen();\n\t\t} else {\n\t\t\tthis.handleClose();\n\t\t}\n\n\t\tif (this.props.onClick) {\n\t\t\tthis.props.onClick(event);\n\t\t}\n\n\t\tif (triggerOnClickCallback) {\n\t\t\ttriggerOnClickCallback(event);\n\t\t}\n\t};\n\n\thandleFocus = (event) => {\n\t\tconst isOpen = this.getIsOpen();\n\n\t\tif (!isOpen) {\n\t\t\tthis.handleOpen();\n\t\t}\n\n\t\tif (this.props.onFocus) {\n\t\t\tthis.props.onFocus(event);\n\t\t}\n\t};\n\n\thandleKeyDown = (event) => {\n\t\tif (event.keyCode) {\n\t\t\tif (event.keyCode !== KEYS.TAB) {\n\t\t\t\tconst isOpen = this.getIsOpen();\n\n\t\t\t\tkeyboardNavigableDialog({\n\t\t\t\t\tevent,\n\t\t\t\t\tisOpen,\n\t\t\t\t\thandleClick: this.handleClick,\n\t\t\t\t\tkey: event.key,\n\t\t\t\t\tkeyCode: event.keyCode,\n\t\t\t\t\ttargetTarget: event.target,\n\t\t\t\t\ttoggleOpen: this.toggleOpenFromKeyboard,\n\t\t\t\t\ttrigger: this.trigger,\n\t\t\t\t});\n\t\t\t}\n\t\t\tif (this.props.onKeyDown) {\n\t\t\t\tthis.props.onKeyDown(event);\n\t\t\t}\n\t\t}\n\t};\n\n\thandleCancel = (event) => {\n\t\tthis.handleClose(event, { trigger: 'cancel' });\n\t};\n\n\thandleClickOutside = (event) => {\n\t\tthis.handleClose(event, { trigger: 'clickOutside' });\n\t};\n\n\ttoggleOpenFromKeyboard = (event) => {\n\t\tconst isOpen = this.getIsOpen();\n\t\tif (isOpen) {\n\t\t\tthis.handleCancel(event);\n\t\t} else {\n\t\t\tthis.handleOpen();\n\t\t}\n\t};\n\n\trenderDialog = (isOpen, outsideClickIgnoreClass) => {\n\t\tconst { props } = this;\n\t\tconst { offset } = props;\n\t\tconst assistiveText = {\n\t\t\t...defaultProps.assistiveText,\n\t\t\t...this.props.assistiveText,\n\t\t};\n\t\tconst closeButtonAssistiveText =\n\t\t\tprops.closeButtonAssistiveText || assistiveText.closeButton;\n\n\t\t// HEADER SUB-RENDERS\n\t\tconst hasThemedHeader =\n\t\t\tthis.props.variant === 'error' || this.props.variant === 'warning';\n\t\tconst hasDefinedHeader = this.props.heading || hasThemedHeader;\n\t\tconst headerIcon = {\n\t\t\terror: <Icon category=\"utility\" name=\"error\" size=\"x-small\" inverse />,\n\t\t\twarning: (\n\t\t\t\t<Icon category=\"utility\" name=\"warning\" size=\"x-small\" inverse />\n\t\t\t),\n\t\t};\n\t\tconst headerVariants = {\n\t\t\tbase: (\n\t\t\t\t<header\n\t\t\t\t\tclassName={classNames('slds-popover__header', {\n\t\t\t\t\t\t'slds-p-vertical_medium': props.variant === 'walkthrough',\n\t\t\t\t\t})}\n\t\t\t\t>\n\t\t\t\t\t<h2\n\t\t\t\t\t\tid={this.props.ariaLabelledby || `${this.getId()}-dialog-heading`}\n\t\t\t\t\t\tclassName={classNames({\n\t\t\t\t\t\t\t'slds-text-heading_small': props.variant !== 'walkthrough',\n\t\t\t\t\t\t\t'slds-text-heading_medium': props.variant === 'walkthrough',\n\t\t\t\t\t\t})}\n\t\t\t\t\t>\n\t\t\t\t\t\t{this.props.heading}\n\t\t\t\t\t</h2>\n\t\t\t\t</header>\n\t\t\t),\n\t\t\tthemed: (\n\t\t\t\t<header className=\"slds-popover__header\">\n\t\t\t\t\t<MediaObject\n\t\t\t\t\t\tbody={\n\t\t\t\t\t\t\t<h2\n\t\t\t\t\t\t\t\tid={\n\t\t\t\t\t\t\t\t\tthis.props.ariaLabelledby || `${this.getId()}-dialog-heading`\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tclassName=\"slds-truncate slds-text-heading_medium\"\n\t\t\t\t\t\t\t\ttitle={props.heading}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{props.heading}\n\t\t\t\t\t\t\t</h2>\n\t\t\t\t\t\t}\n\t\t\t\t\t\tfigure={headerIcon[this.props.variant]}\n\t\t\t\t\t\tverticalCenter\n\t\t\t\t\t/>\n\t\t\t\t</header>\n\t\t\t),\n\t\t};\n\t\tlet header = null;\n\n\t\tif (\n\t\t\thasDefinedHeader &&\n\t\t\tprops.variant !== 'walkthrough-action' &&\n\t\t\tprops.variant !== 'feature'\n\t\t) {\n\t\t\theader = headerVariants[hasThemedHeader ? 'themed' : 'base'];\n\t\t}\n\n\t\t// BODY SUB-RENDERS\n\t\tlet body = null;\n\n\t\tif (props.variant === 'error' || props.variant === 'warning') {\n\t\t\tbody = (\n\t\t\t\t// THIS WRAPPING DIV IS NOT IN SLDS MARKUP\n\t\t\t\t<div>\n\t\t\t\t\t<div\n\t\t\t\t\t\tid={`${this.getId()}-dialog-body`}\n\t\t\t\t\t\tclassName={classNames(\n\t\t\t\t\t\t\t'slds-popover__body',\n\t\t\t\t\t\t\tthis.props.classNameBody\n\t\t\t\t\t\t)}\n\t\t\t\t\t\t// REMOVE IN THE FUTURE: SLDS OVERRIDE\n\t\t\t\t\t\t// Possible solution in future is to use .slds-popover__body_small\n\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\tborderBottom: 'none',\n\t\t\t\t\t\t}}\n\t\t\t\t\t>\n\t\t\t\t\t\t{props.body}\n\t\t\t\t\t</div>\n\t\t\t\t\t<div\n\t\t\t\t\t\t// GRADIENT FOOTER - SLDS OVERRIDE\n\t\t\t\t\t\t// REMOVE IN THE FUTURE (HOPEFULLY)\n\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\tposition: 'absolute',\n\t\t\t\t\t\t\tbottom: 0,\n\t\t\t\t\t\t\tleft: 0,\n\t\t\t\t\t\t\twidth: '100%',\n\t\t\t\t\t\t\ttextAlign: 'center',\n\t\t\t\t\t\t\tmargin: 0,\n\t\t\t\t\t\t\tpadding: '5px 0',\n\t\t\t\t\t\t\t/* \"transparent\" only works here because == rgba(0,0,0,0) */\n\t\t\t\t\t\t\tbackgroundImage:\n\t\t\t\t\t\t\t\t'linear-gradient(to bottom, transparent, rgba(255,255,255,100)',\n\t\t\t\t\t\t}}\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t);\n\t\t} else if (\n\t\t\tprops.variant === 'walkthrough-action' ||\n\t\t\tprops.variant === 'feature'\n\t\t) {\n\t\t\tbody = (\n\t\t\t\t<div\n\t\t\t\t\tclassName={classNames('slds-popover__body', this.props.classNameBody)}\n\t\t\t\t\tid={`${this.getId()}-dialog-body`}\n\t\t\t\t>\n\t\t\t\t\t<div className=\"slds-media\">\n\t\t\t\t\t\t<div className=\"slds-media__figure\">\n\t\t\t\t\t\t\t{props.variant === 'walkthrough-action' ? (\n\t\t\t\t\t\t\t\t<Icon\n\t\t\t\t\t\t\t\t\tcategory=\"utility\"\n\t\t\t\t\t\t\t\t\tname=\"touch_action\"\n\t\t\t\t\t\t\t\t\tsize=\"small\"\n\t\t\t\t\t\t\t\t\tinverse\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\tthis.props.icon\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div className=\"slds-media__body\">\n\t\t\t\t\t\t\t{props.heading ? (\n\t\t\t\t\t\t\t\t<h2\n\t\t\t\t\t\t\t\t\tid={\n\t\t\t\t\t\t\t\t\t\tthis.props.ariaLabelledby ||\n\t\t\t\t\t\t\t\t\t\t`${this.getId()}-dialog-heading`\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tclassName=\"slds-text-heading_small\"\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{props.heading}\n\t\t\t\t\t\t\t\t</h2>\n\t\t\t\t\t\t\t) : null}\n\t\t\t\t\t\t\t{props.body}\n\t\t\t\t\t\t\t{props.stepText ? (\n\t\t\t\t\t\t\t\t<p className=\"slds-m-top_medium slds-text-title\">\n\t\t\t\t\t\t\t\t\t{props.stepText}\n\t\t\t\t\t\t\t\t</p>\n\t\t\t\t\t\t\t) : null}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t);\n\t\t} else {\n\t\t\tbody = (\n\t\t\t\t// DEFAULT - NOT SCROLLABLE\n\t\t\t\t<div\n\t\t\t\t\tid={`${this.getId()}-dialog-body`}\n\t\t\t\t\tclassName={classNames('slds-popover__body', this.props.classNameBody)}\n\t\t\t\t>\n\t\t\t\t\t{props.body}\n\t\t\t\t</div>\n\t\t\t);\n\t\t}\n\n\t\t// FOOTER SUB-RENDERS\n\t\tlet footer = null;\n\n\t\tif (props.footer) {\n\t\t\tfooter = (\n\t\t\t\t<footer\n\t\t\t\t\tclassName={classNames(\n\t\t\t\t\t\t'slds-popover__footer',\n\t\t\t\t\t\tthis.props.classNameFooter,\n\t\t\t\t\t\tthis.props.footerClassName\n\t\t\t\t\t)}\n\t\t\t\t\tstyle={this.props.footerStyle}\n\t\t\t\t>\n\t\t\t\t\t{this.props.footer}\n\t\t\t\t</footer>\n\t\t\t);\n\t\t} else if (\n\t\t\tprops.variant !== 'walkthrough-action' &&\n\t\t\t(props.footerWalkthroughActions || props.stepText)\n\t\t) {\n\t\t\tfooter = (\n\t\t\t\t<footer className=\"slds-popover__footer\">\n\t\t\t\t\t<div className=\"slds-grid slds-grid_vertical-align-center\">\n\t\t\t\t\t\t{props.stepText ? (\n\t\t\t\t\t\t\t<span className=\"slds-text-title\">{props.stepText}</span>\n\t\t\t\t\t\t) : null}\n\t\t\t\t\t\t{props.footerWalkthroughActions ? (\n\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\tclassName=\"slds-col_bump-left\"\n\t\t\t\t\t\t\t\tstyle={{ display: 'inline-block' }}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{props.footerWalkthroughActions}\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t) : null}\n\t\t\t\t\t</div>\n\t\t\t\t</footer>\n\t\t\t);\n\t\t}\n\n\t\t// MAIN RENDER\n\t\treturn isOpen ? (\n\t\t\t<Dialog\n\t\t\t\thasNubbin={!this.props.hasNoNubbin}\n\t\t\t\talign={props.align}\n\t\t\t\tcontentsClassName={classNames(\n\t\t\t\t\tthis.props.contentsClassName,\n\t\t\t\t\t'ignore-react-onclickoutside',\n\t\t\t\t\t'slds-popover',\n\t\t\t\t\t{ 'slds-popover_error': props.variant === 'error' },\n\t\t\t\t\t{\n\t\t\t\t\t\t'slds-popover_walkthrough':\n\t\t\t\t\t\t\tprops.variant === 'walkthrough' ||\n\t\t\t\t\t\t\tprops.variant === 'walkthrough-action' ||\n\t\t\t\t\t\t\tprops.variant === 'feature',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\t'slds-popover_walkthrough-alt':\n\t\t\t\t\t\t\tprops.variant === 'walkthrough-action',\n\t\t\t\t\t},\n\t\t\t\t\t{ 'slds-popover_feature': props.variant === 'feature' },\n\t\t\t\t\t{ 'slds-popover_warning': props.variant === 'warning' },\n\t\t\t\t\tprops.className\n\t\t\t\t)}\n\t\t\t\tcontext={this.context}\n\t\t\t\thasStaticAlignment={props.hasStaticAlignment}\n\t\t\t\toffset={offset}\n\t\t\t\tonCancel={this.handleClose}\n\t\t\t\tonClose={this.handleDialogClose}\n\t\t\t\tonOpen={this.props.onOpen}\n\t\t\t\tonKeyDown={this.handleKeyDown}\n\t\t\t\tonMouseEnter={props.openOn === 'hover' ? this.handleMouseEnter : null}\n\t\t\t\tonMouseLeave={props.openOn === 'hover' ? this.handleMouseLeave : null}\n\t\t\t\toutsideClickIgnoreClass={outsideClickIgnoreClass}\n\t\t\t\tonRequestTargetElement={() => this.getTargetElement()}\n\t\t\t\tposition={this.props.position}\n\t\t\t\tstyle={this.props.style}\n\t\t\t\tvariant=\"popover\"\n\t\t\t\tref={this.setMenuRef}\n\t\t\t\tcontainerProps={{\n\t\t\t\t\tid: `${this.getId()}-popover`,\n\t\t\t\t\t'aria-labelledby':\n\t\t\t\t\t\tthis.props.ariaLabelledby || `${this.getId()}-dialog-heading`,\n\t\t\t\t\t'aria-describedby': `${this.getId()}-dialog-body`,\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\t{!this.props.hasNoCloseButton && (\n\t\t\t\t\t<Button\n\t\t\t\t\t\tassistiveText={{ icon: closeButtonAssistiveText }}\n\t\t\t\t\t\ticonCategory=\"utility\"\n\t\t\t\t\t\ticonName=\"close\"\n\t\t\t\t\t\tclassName={classNames(\n\t\t\t\t\t\t\t'slds-button slds-button_icon-small slds-float_right slds-popover__close slds-button_icon',\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t'slds-button_icon-inverse':\n\t\t\t\t\t\t\t\t\tprops.variant === 'walkthrough' ||\n\t\t\t\t\t\t\t\t\tprops.variant === 'walkthrough-action' ||\n\t\t\t\t\t\t\t\t\tprops.variant === 'feature',\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t)}\n\t\t\t\t\t\tonClick={this.handleCancel}\n\t\t\t\t\t\tvariant=\"icon\"\n\t\t\t\t\t\tinverse={\n\t\t\t\t\t\t\tthis.props.variant === 'error' || this.props.variant === 'warning'\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t)}\n\t\t\t\t{header}\n\t\t\t\t{body}\n\t\t\t\t{footer}\n\t\t\t</Dialog>\n\t\t) : null;\n\t};\n\n\trenderOverlay = (isOpen) => {\n\t\tif (isFunction(overlay) && documentDefined) {\n\t\t\toverlay(isOpen, overlay);\n\t\t} else if (\n\t\t\tthis.props.overlay &&\n\t\t\tisOpen &&\n\t\t\t!this.overlay &&\n\t\t\tdocumentDefined\n\t\t) {\n\t\t\tthis.overlay = overlay;\n\t\t\tdocument.querySelector('body').appendChild(this.overlay);\n\t\t} else if (!isOpen && this.overlay && this.overlay.parentNode) {\n\t\t\tthis.overlay.parentNode.removeChild(this.overlay);\n\t\t\tthis.overlay = undefined;\n\t\t}\n\t};\n\n\trender() {\n\t\tconst otherChildren = [];\n\t\tconst outsideClickIgnoreClass = `ignore-click-${this.getId()}`;\n\t\tlet clonedTrigger = null;\n\n\t\tReact.Children.forEach(this.props.children, (child, index) => {\n\t\t\tif (index === 0) {\n\t\t\t\tclonedTrigger = React.cloneElement(child, {\n\t\t\t\t\t'aria-haspopup': 'dialog',\n\t\t\t\t\tid: this.getId(),\n\t\t\t\t\tonClick:\n\t\t\t\t\t\tthis.props.openOn === 'click' || this.props.openOn === 'hybrid'\n\t\t\t\t\t\t\t? (event) => {\n\t\t\t\t\t\t\t\t\tthis.handleClick(event, {\n\t\t\t\t\t\t\t\t\t\ttriggerOnClickCallback: child.props.onClick,\n\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t }\n\t\t\t\t\t\t\t: child.props.onClick,\n\t\t\t\t\tonFocus: this.props.openOn === 'hover' ? this.handleFocus : null,\n\t\t\t\t\tonMouseDown: this.props.onMouseDown,\n\t\t\t\t\tonMouseEnter:\n\t\t\t\t\t\tthis.props.openOn === 'hover' || this.props.openOn === 'hybrid'\n\t\t\t\t\t\t\t? this.handleMouseEnter\n\t\t\t\t\t\t\t: null,\n\t\t\t\t\tonMouseLeave:\n\t\t\t\t\t\tthis.props.openOn === 'hover' || this.props.openOn === 'hybrid'\n\t\t\t\t\t\t\t? this.handleMouseLeave\n\t\t\t\t\t\t\t: null,\n\t\t\t\t\ttabIndex: child.props.tabIndex || '0',\n\t\t\t\t\t...child.props,\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\t// eslint-disable-next-line fp/no-mutating-methods\n\t\t\t\totherChildren.push(child);\n\t\t\t}\n\t\t});\n\n\t\tthis.renderOverlay(this.getIsOpen());\n\t\tconst containerStyles = {\n\t\t\tdisplay: this.props.hasNoTriggerStyles ? undefined : 'inline-block',\n\t\t};\n\t\treturn (\n\t\t\t<div\n\t\t\t\tclassName={this.props.triggerClassName}\n\t\t\t\tstyle={containerStyles}\n\t\t\t\tref={this.setContainerRef}\n\t\t\t>\n\t\t\t\t{clonedTrigger}\n\t\t\t\t{otherChildren.length > 0 ? otherChildren : null}\n\t\t\t\t{this.renderDialog(this.getIsOpen(), outsideClickIgnoreClass)}\n\t\t\t</div>\n\t\t);\n\t}\n}\n\nPopover.contextTypes = {\n\ticonPath: PropTypes.string,\n};\n\nexport default Popover;\nexport { PopoverNubbinPositions };\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// ### onClickOutside\n// Listen for clicks that occur somewhere in the document, outside of the element itself\nimport onClickOutside from 'react-onclickoutside';\nimport Popover from './popover';\n\nexport default onClickOutside(Popover);\n","/* eslint-disable max-lines */\n/* eslint-disable react/sort-comp */\nimport classNames from 'classnames';\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport shortid from 'shortid';\nimport assign from 'lodash.assign';\n\nimport checkProps from './check-props';\n\nimport CustomColor from './private/custom-color';\nimport Swatch from './private/swatch';\nimport SwatchPicker from './private/swatch-picker';\n\nimport Button from '../button';\nimport Input from '../input';\nimport Tabs from '../tabs';\nimport TabsPanel from '../tabs/panel';\nimport Popover from '../popover';\n\nimport ColorUtils from '../../utilities/color';\n\nimport { COLOR_PICKER } from '../../utilities/constants';\n\nimport componentDoc from './component.json';\n\nconst propTypes = {\n\t/**\n\t * **Assistive text for accessibility**\n\t * * `label`: Visually hidden label but read out loud by screen readers.\n\t * * `hueSlider`: Instructions for hue selection input\n\t * * `saturationValueGrid`: Instructions for using the grid for saturation\n\t * and value selection\n\t */\n\tassistiveText: PropTypes.shape({\n\t\tlabel: PropTypes.string,\n\t\thueSlider: PropTypes.string,\n\t\tsaturationValueGrid: PropTypes.string,\n\t}),\n\t/**\n\t * CSS classes to be added to tag with `.slds-color-picker`. Uses `classNames` [API](https://github.com/JedWatson/classnames). _Tested with snapshot testing._\n\t */\n\tclassName: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\t/**\n\t * CSS classes to be added to tag with `.slds-popover`. Uses `classNames` [API](https://github.com/JedWatson/classnames). _Tested with snapshot testing._\n\t */\n\tclassNameMenu: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\t/**\n\t * Unique ID for component.\n\t */\n\tid: PropTypes.string,\n\t/**\n\t * Disables the input and button.\n\t */\n\tdisabled: PropTypes.bool,\n\t/**\n\t * Message to display when the outer input is in an error state. When this is present, also visually highlights the component as in error.\n\t */\n\terrorText: PropTypes.string,\n\t/**\n\t * Message to display when the custom tab input is in an error state. When this is present, also visually highlights the component as in error.\n\t */\n\terrorTextWorkingColor: PropTypes.string,\n\t/**\n\t * Event Callbacks\n\t * * `onChange`: This function is triggered when done is clicked. This function returns `{event, { color: [string] }}`, which is a hex representation of the color.\n\t * * `onClose`: This function is triggered when the menu is closed. This function returns `{event, { trigger, componentWillUnmount }}`. Trigger can have the values `cancel`, `clickOutside`, or `newPopover`.\n\t * * `onOpen`: This function is triggered when the color-picker menu is mounted and added to the DOM. The parameters are `event, { portal: }`. `portal` can be used as a React tree root node.\n\t * * `onRequestClose`: This function is triggered when the user clicks outside the menu or clicks the close button. You will want to define this if color-picker is to be a controlled component. Most of the time you will want to set `isOpen` to `false` when this is triggered unless you need to validate something.\n\t * \t\t\t\t\t\tThis function returns `{event, {trigger: [string]}}` where `trigger` is either `cancel` or `clickOutside`.\n\t * * `onRequestOpen`: Function called when the color-picker menu would like show.\n\t * * `onValidateColor`: Function that overwrites default color validator and called when validating HEX color on outer input change. If callback returns false, errorText is shown if set.\n\t * * `onValidateWorkingColor`: Function that overwrites default color validator and called when validating HEX color on custom tab inner input change. If callback returns false, errorTextWorkingColor is shown if set.\n\t * * `onWorkingColorChange`: This function is triggered when working color changes (color inside the custom tab). This function returns `{event, { color: [string] }}`, which is a hex representation of the color.\n\t * _Tested with Mocha framework._\n\t */\n\tevents: PropTypes.shape({\n\t\tonChange: PropTypes.func,\n\t\tonClose: PropTypes.func,\n\t\tonOpen: PropTypes.func,\n\t\tonRequestClose: PropTypes.func,\n\t\tonRequestOpen: PropTypes.func,\n\t\tonValidateColor: PropTypes.func,\n\t\tonValidateWorkingColor: PropTypes.func,\n\t\tonWorkingColorChange: PropTypes.func,\n\t}),\n\t/**\n\t * By default, dialogs will flip their alignment (such as bottom to top) if they extend beyond a boundary element such as a scrolling parent or a window/viewpoint. `hasStaticAlignment` disables this behavior and allows this component to extend beyond boundary elements. _Not tested._\n\t */\n\thasStaticAlignment: PropTypes.bool,\n\t/**\n\t * Hides the text input\n\t */\n\thideInput: PropTypes.bool,\n\t/**\n\t * Popover open state\n\t */\n\tisOpen: PropTypes.bool,\n\t/**\n\t * **Text labels for internationalization**\n\t * * `blueAbbreviated`: One letter abbreviation of blue color component\n\t * * `cancelButton`: Text for cancel button on popover\n\t * * `customTab`: Text for custom tab of popover\n\t * * `customTabActiveWorkingColorSwatch`: Label for custom tab active working color swatch\n\t * * `customTabTransparentSwatch`: Label for custom tab active transparent swatch\n\t * * `greenAbbreviated`: One letter abbreviation of green color component\n\t * * `hexLabel`: Label for input of hexadecimal color\n\t * * `invalidColor`: Error message when hex color input is invalid\n\t * * `invalidComponent`: Error message when a component input is invalid\n\t * * `label`: An `input` label as for a `form`\n\t * * `redAbbreviated`: One letter abbreviation of red color component\n\t * * `swatchTab`: Label for swatch tab of popover\n\t * * `submitButton`: Text for submit/done button of popover\n\t */\n\tlabels: PropTypes.shape({\n\t\tblueAbbreviated: PropTypes.string,\n\t\tcancelButton: PropTypes.string,\n\t\tcustomTab: PropTypes.string,\n\t\tcustomTabActiveWorkingColorSwatch: PropTypes.string,\n\t\tcustomTabTransparentSwatch: PropTypes.string,\n\t\tgreenAbbreviated: PropTypes.string,\n\t\thexLabel: PropTypes.string,\n\t\tinvalidColor: PropTypes.string,\n\t\tinvalidComponent: PropTypes.string,\n\t\tlabel: PropTypes.string,\n\t\tredAbbreviated: PropTypes.string,\n\t\tswatchTab: PropTypes.string,\n\t\tswatchTabTransparentSwatch: PropTypes.string,\n\t\tsubmitButton: PropTypes.string,\n\t}),\n\t/**\n\t * Please select one of the following:\n\t * * `absolute` - (default) The dialog will use `position: absolute` and style attributes to position itself. This allows inverted placement or flipping of the dialog.\n\t * * `overflowBoundaryElement` - The dialog will overflow scrolling parents. Use on elements that are aligned to the left or right of their target and don't care about the target being within a scrolling parent. Typically this is a popover or tooltip. Dropdown menus can usually open up and down if no room exists. In order to achieve this a portal element will be created and attached to `body`. This element will render into that detached render tree.\n\t * * `relative` - No styling or portals will be used. Menus will be positioned relative to their triggers. This is a great choice for HTML snapshot testing.\n\t */\n\tmenuPosition: PropTypes.oneOf([\n\t\t'absolute',\n\t\t'overflowBoundaryElement',\n\t\t'relative',\n\t]),\n\t/**\n\t * An array of hex color values which is used to set the options of the\n\t * swatch tab of the colorpicker popover.\n\t * To specify transparent, use empty string as a value.\n\t */\n\tswatchColors: PropTypes.arrayOf(PropTypes.string),\n\t/**\n\t * Determines which tab is visible when dialog opens. Use this prop with `base` variant only.\n\t * Defaults to `swatch` tab.\n\t */\n\tdefaultSelectedTab: PropTypes.oneOf(['swatches', 'custom']),\n\t/**\n\t * Selects which tabs are present for the colorpicker.\n\t * * `base`: both swatches and custom tabs are present\n\t * * `swatches`: only swatch tab is present\n\t * * `custom`: only custom tab is present\n\t * _Tested with snapshot testing._\n\t */\n\tvariant: PropTypes.oneOf(['base', 'swatches', 'custom']),\n\t/**\n\t * Current color in hexadecimal string, including # sign (eg: \"#000000\")\n\t */\n\tvalue: PropTypes.string,\n\t/**\n\t * Current working color in hexadecimal string, including # sign (eg: \"#000000\")\n\t */\n\tvalueWorking: PropTypes.string,\n};\n\nconst defaultProps = {\n\tassistiveText: {\n\t\tsaturationValueGrid:\n\t\t\t'Use arrow keys to select a saturation and brightness, on an x and y axis.',\n\t\thueSlider: 'Select Hue',\n\t},\n\tevents: {},\n\tlabels: {\n\t\tblueAbbreviated: 'B',\n\t\tcancelButton: 'Cancel',\n\t\tcustomTab: 'Custom',\n\t\tcustomTabActiveWorkingColorSwatch: 'Working Color',\n\t\tcustomTabTransparentSwatch: 'Transparent Swatch',\n\t\tgreenAbbreviated: 'G',\n\t\thexLabel: 'Hex',\n\t\tinvalidColor: 'The color entered is invalid',\n\t\tinvalidComponent: 'The value needs to be an integer from 0-255',\n\t\tredAbbreviated: 'R',\n\t\tsubmitButton: 'Done',\n\t\tswatchTab: 'Default',\n\t\tswatchTabTransparentSwatch: 'Transparent Swatch',\n\t},\n\tmenuPosition: 'absolute',\n\tswatchColors: [\n\t\t'#e3abec',\n\t\t'#c2dbf7',\n\t\t'#9fd6ff',\n\t\t'#9de7da',\n\t\t'#9df0c0',\n\t\t'#fff099',\n\t\t'#fed49a',\n\t\t'#d073e0',\n\t\t'#86baf3',\n\t\t'#5ebbff',\n\t\t'#44d8be',\n\t\t'#3be282',\n\t\t'#ffe654',\n\t\t'#ffb758',\n\t\t'#bd35bd',\n\t\t'#5779c1',\n\t\t'#5679c0',\n\t\t'#00aea9',\n\t\t'#3cba4c',\n\t\t'#f5bc25',\n\t\t'#f99221',\n\t\t'#580d8c',\n\t\t'#001970',\n\t\t'#0a2399',\n\t\t'#0b7477',\n\t\t'#0b6b50',\n\t\t'#b67e11',\n\t\t'#b85d0d',\n\t\t'',\n\t],\n\tdefaultSelectedTab: 'swatches',\n\tvariant: 'base',\n};\n\n/**\n * The Unified Color Picker component allows for a fully accessible and configurable color picker, allowing the user to pick from a set of predefined colors (swatches), or to pick a custom color using a HSB selection interface. It can be configured to show one or both of those color selection interfaces. View [component blueprint guidelines](https://lightningdesignsystem.com/components/color-picker/).\n */\nclass ColorPicker extends React.Component {\n\tstatic displayName = COLOR_PICKER;\n\n\tstatic propTypes = propTypes;\n\n\tstatic defaultProps = defaultProps;\n\n\tconstructor(props) {\n\t\tsuper(props);\n\n\t\tthis.generatedId = props.id || shortid.generate();\n\t\tconst workingColor = ColorUtils.getNewColor(\n\t\t\t{\n\t\t\t\thex: props.valueWorking || props.value,\n\t\t\t},\n\t\t\tprops.events.onValidateWorkingColor\n\t\t);\n\t\tthis.state = {\n\t\t\tcurrentColor: props.value != null ? props.value : '',\n\t\t\tdisabled: props.disabled,\n\t\t\tisOpen: props.isOpen,\n\t\t\tworkingColor,\n\t\t\tpreviousWorkingColor: workingColor,\n\t\t\tcolorErrorMessage: props.errorText,\n\t\t};\n\n\t\tcheckProps(COLOR_PICKER, props, componentDoc);\n\t}\n\n\tcomponentDidUpdate(prevProps) {\n\t\t// The following are only present to allow props to update the state if they get out of sync (for instance, the external store is updated).\n\t\tconst nextState = {};\n\n\t\tif (this.props.value !== prevProps.value) {\n\t\t\tnextState.currentColor = this.props.value;\n\t\t}\n\n\t\tif (this.props.valueWorking !== prevProps.valueWorking) {\n\t\t\tnextState.workingColor = ColorUtils.getNewColor(\n\t\t\t\t{\n\t\t\t\t\thex: this.props.valueWorking,\n\t\t\t\t},\n\t\t\t\tthis.props.events.onValidateWorkingColor\n\t\t\t);\n\t\t}\n\n\t\tif (this.props.disabled !== prevProps.disabled) {\n\t\t\tnextState.disabled = this.props.disabled;\n\t\t}\n\n\t\tif (Object.entries(nextState).length !== 0) {\n\t\t\t// eslint-disable-next-line react/no-did-update-set-state\n\t\t\tthis.setState(nextState);\n\t\t}\n\t}\n\n\tgetInput({ labels }) {\n\t\treturn this.props.hideInput ? null : (\n\t\t\t<Input\n\t\t\t\taria-describedby={\n\t\t\t\t\t!this.state.isOpen && this.state.colorErrorMessage\n\t\t\t\t\t\t? `color-picker-summary-error-${this.generatedId}`\n\t\t\t\t\t\t: undefined\n\t\t\t\t}\n\t\t\t\tclassName={classNames(\n\t\t\t\t\t'slds-color-picker__summary-input',\n\t\t\t\t\t'slds-align-top',\n\t\t\t\t\t{\n\t\t\t\t\t\t'slds-has-error': !!this.state.colorErrorMessage,\n\t\t\t\t\t}\n\t\t\t\t)}\n\t\t\t\tdisabled={this.props.disabled}\n\t\t\t\tid={`color-picker-summary-input-${this.generatedId}`}\n\t\t\t\tonChange={(event) => {\n\t\t\t\t\tthis.handleHexInputChange(event, { labels });\n\t\t\t\t}}\n\t\t\t\tvalue={this.state.currentColor}\n\t\t\t/>\n\t\t);\n\t}\n\n\tgetDefaultTab({ labels }) {\n\t\treturn (\n\t\t\t(this.props.variant === 'base' || this.props.variant === 'swatches') && (\n\t\t\t\t<TabsPanel label={labels.swatchTab}>\n\t\t\t\t\t<SwatchPicker\n\t\t\t\t\t\tcolor={this.state.workingColor}\n\t\t\t\t\t\tlabels={labels}\n\t\t\t\t\t\tonSelect={this.handleSwatchSelect}\n\t\t\t\t\t\tswatchColors={this.props.swatchColors}\n\t\t\t\t\t/>\n\t\t\t\t</TabsPanel>\n\t\t\t)\n\t\t);\n\t}\n\n\tgetCustomTab({ labels }) {\n\t\treturn (\n\t\t\t(this.props.variant === 'base' || this.props.variant === 'custom') && (\n\t\t\t\t<TabsPanel label={labels.customTab}>\n\t\t\t\t\t<CustomColor\n\t\t\t\t\t\tassistiveText={this.props.assistiveText}\n\t\t\t\t\t\tid={this.generatedId}\n\t\t\t\t\t\tcolor={this.state.workingColor}\n\t\t\t\t\t\terrorTextWorkingColor={this.props.errorTextWorkingColor}\n\t\t\t\t\t\tpreviousColor={this.state.previousWorkingColor}\n\t\t\t\t\t\tlabels={labels}\n\t\t\t\t\t\tonBlueChange={this.handleColorChange('blue')}\n\t\t\t\t\t\tonGreenChange={this.handleColorChange('green')}\n\t\t\t\t\t\tonHexChange={this.handleColorChange('hex')}\n\t\t\t\t\t\tonHueChange={this.handleColorChange('hue')}\n\t\t\t\t\t\tonRedChange={this.handleColorChange('red')}\n\t\t\t\t\t\tonSwatchChange={this.handleSwatchChange}\n\t\t\t\t\t\tonSaturationValueChange={this.handleSaturationValueChange}\n\t\t\t\t\t\tonSaturationNavigate={this.handleNavigate('saturation')}\n\t\t\t\t\t\tonValueNavigate={this.handleNavigate('value')}\n\t\t\t\t\t/>\n\t\t\t\t</TabsPanel>\n\t\t\t)\n\t\t);\n\t}\n\n\tgetPopover({ labels }) {\n\t\tconst popoverBody = (\n\t\t\t<Tabs\n\t\t\t\tid={`color-picker-tabs-${this.generatedId}`}\n\t\t\t\tdefaultSelectedIndex={\n\t\t\t\t\tthis.props.defaultSelectedTab === 'custom' ? 1 : 0\n\t\t\t\t}\n\t\t\t>\n\t\t\t\t{this.getDefaultTab({ labels })}\n\t\t\t\t{this.getCustomTab({ labels })}\n\t\t\t</Tabs>\n\t\t);\n\t\tconst popoverFooter = (\n\t\t\t<div className=\"slds-color-picker__selector-footer\">\n\t\t\t\t<Button\n\t\t\t\t\tclassName=\"slds-color-picker__selector-cancel\"\n\t\t\t\t\tid={`color-picker-footer-cancel-${this.generatedId}`}\n\t\t\t\t\tlabel={labels.cancelButton}\n\t\t\t\t\tonClick={this.handleCancel}\n\t\t\t\t\tvariant=\"neutral\"\n\t\t\t\t/>\n\t\t\t\t<Button\n\t\t\t\t\tclassName=\"slds-color-picker__selector-submit\"\n\t\t\t\t\tdisabled={\n\t\t\t\t\t\tObject.keys(this.state.workingColor.errors || {}).length > 0\n\t\t\t\t\t}\n\t\t\t\t\tid={`color-picker-footer-submit-${this.generatedId}`}\n\t\t\t\t\tlabel={labels.submitButton}\n\t\t\t\t\tonClick={this.handleSubmitButtonClick}\n\t\t\t\t\tvariant=\"brand\"\n\t\t\t\t/>\n\t\t\t</div>\n\t\t);\n\t\treturn (\n\t\t\t<Popover\n\t\t\t\tariaLabelledby={`color-picker-label-${this.generatedId}`}\n\t\t\t\talign=\"bottom left\"\n\t\t\t\tbody={popoverBody}\n\t\t\t\tclassName={classNames(\n\t\t\t\t\t'slds-color-picker__selector',\n\t\t\t\t\tthis.props.classNameMenu\n\t\t\t\t)}\n\t\t\t\tfooter={popoverFooter}\n\t\t\t\thasNoCloseButton\n\t\t\t\thasNoNubbin\n\t\t\t\thasStaticAlignment={this.props.hasStaticAlignment}\n\t\t\t\tid={`slds-color-picker__selector-${this.generatedId}`}\n\t\t\t\tisOpen={this.state.isOpen}\n\t\t\t\tonClose={this.props.onClose}\n\t\t\t\tonOpen={this.props.onOpen}\n\t\t\t\tonRequestClose={this.handleOnRequestClose}\n\t\t\t\tposition={this.props.menuPosition}\n\t\t\t>\n\t\t\t\t<Button\n\t\t\t\t\tclassName=\"slds-color-picker__summary-button\"\n\t\t\t\t\tdisabled={this.props.disabled}\n\t\t\t\t\ticonClassName=\"slds-m-left_xx-small\"\n\t\t\t\t\ticonPosition=\"right\"\n\t\t\t\t\ticonVariant=\"more\"\n\t\t\t\t\tid={`slds-color-picker__summary-button-${this.generatedId}`}\n\t\t\t\t\tlabel={<Swatch color={this.state.currentColor} labels={labels} />}\n\t\t\t\t\tonClick={this.handleSwatchButtonClick}\n\t\t\t\t\tvariant=\"icon\"\n\t\t\t\t/>\n\t\t\t</Popover>\n\t\t);\n\t}\n\n\tsetWorkingColor(event, color) {\n\t\tconst newColor = ColorUtils.getNewColor(\n\t\t\tcolor,\n\t\t\tthis.props.events.onValidateWorkingColor,\n\t\t\t// eslint-disable-next-line react/no-access-state-in-setstate\n\t\t\tthis.state.workingColor\n\t\t);\n\t\tthis.setState({\n\t\t\tworkingColor: newColor,\n\t\t\t// eslint-disable-next-line react/no-access-state-in-setstate\n\t\t\tpreviousWorkingColor: this.state.workingColor,\n\t\t});\n\n\t\tif (this.props.events.onWorkingColorChange) {\n\t\t\tthis.props.events.onWorkingColorChange(event, { color: newColor });\n\t\t}\n\t}\n\n\thandleSwatchChange = (event) => {\n\t\tthis.setWorkingColor(event, {\n\t\t\thex: event.target.value,\n\t\t});\n\t};\n\n\thandleOnRequestClose = (event, { trigger }) => {\n\t\tif (trigger === 'clickOutside' || trigger === 'cancel') {\n\t\t\tthis.handleCancelState();\n\t\t}\n\n\t\tif (this.props.onRequestClose) {\n\t\t\tthis.props.onRequestClose(event, { trigger });\n\t\t}\n\t};\n\n\thandleClickOutside = (event) => {\n\t\tthis.handleCancelButtonClick(event);\n\t};\n\n\thandleCancel = (event) => {\n\t\tthis.handleCancelState();\n\n\t\tif (this.props.onRequestClose) {\n\t\t\tthis.props.onRequestClose(event, { trigger: 'cancel' });\n\t\t}\n\t};\n\n\thandleCancelState = () => {\n\t\tconst workingColor = ColorUtils.getNewColor(\n\t\t\t{\n\t\t\t\t// eslint-disable-next-line react/no-access-state-in-setstate\n\t\t\t\thex: this.state.currentColor,\n\t\t\t},\n\t\t\tthis.props.events.onValidateWorkingColor\n\t\t);\n\t\tthis.setState({\n\t\t\tisOpen: false,\n\t\t\tworkingColor,\n\t\t\tpreviousWorkingColor: workingColor,\n\t\t});\n\t};\n\n\thandleColorChange(property) {\n\t\treturn (event) => {\n\t\t\tconst colorProperties = {};\n\t\t\tcolorProperties[property] = event.target.value;\n\t\t\tthis.setWorkingColor(event, colorProperties);\n\t\t};\n\t}\n\n\thandleHexInputChange = (event, { labels }) => {\n\t\tconst currentColor = event.target.value;\n\t\tconst namedColorHex = ColorUtils.getHexFromNamedColor(currentColor);\n\t\tlet isValid = false;\n\n\t\tif (this.props.events.onValidateColor) {\n\t\t\tisValid = this.props.events.onValidateColor(currentColor);\n\t\t} else {\n\t\t\tisValid = namedColorHex ? true : ColorUtils.isValidHex(currentColor);\n\t\t}\n\n\t\tthis.setState({\n\t\t\tcurrentColor,\n\t\t\tworkingColor: ColorUtils.getNewColor(\n\t\t\t\t{\n\t\t\t\t\thex: namedColorHex || currentColor,\n\t\t\t\t\tname: namedColorHex ? currentColor.toLowerCase() : null,\n\t\t\t\t},\n\t\t\t\tthis.props.events.onValidateWorkingColor\n\t\t\t),\n\t\t\tcolorErrorMessage: isValid ? '' : labels.invalidColor,\n\t\t});\n\n\t\tif (this.props.events.onChange) {\n\t\t\tthis.props.events.onChange(event, {\n\t\t\t\tcolor: currentColor,\n\t\t\t\tisValid,\n\t\t\t});\n\t\t}\n\t};\n\n\thandleNavigate(property) {\n\t\treturn (event, { delta }) => {\n\t\t\tconst colorProperties = {};\n\t\t\tcolorProperties[property] = delta;\n\t\t\tconst newColor = ColorUtils.getDeltaColor(\n\t\t\t\tcolorProperties,\n\t\t\t\tthis.props.events.onValidateWorkingColor,\n\t\t\t\t// eslint-disable-next-line react/no-access-state-in-setstate\n\t\t\t\tthis.state.workingColor\n\t\t\t);\n\t\t\tthis.setState({\n\t\t\t\tworkingColor: newColor,\n\t\t\t\t// eslint-disable-next-line react/no-access-state-in-setstate\n\t\t\t\tpreviousWorkingColor: this.state.workingColor,\n\t\t\t});\n\n\t\t\tif (this.props.events.onWorkingColorChange) {\n\t\t\t\tthis.props.events.onWorkingColorChange(event, { color: newColor });\n\t\t\t}\n\t\t};\n\t}\n\n\thandleSaturationValueChange = (event, { saturation, value }) => {\n\t\tthis.setWorkingColor(event, {\n\t\t\tsaturation,\n\t\t\tvalue,\n\t\t});\n\t};\n\n\thandleSubmitButtonClick = (event) => {\n\t\tthis.setState({\n\t\t\tisOpen: false,\n\t\t\t// eslint-disable-next-line react/no-access-state-in-setstate\n\t\t\tcurrentColor: this.state.workingColor.hex,\n\t\t\tcolorErrorMessage: '',\n\t\t});\n\t\tif (this.props.events.onChange) {\n\t\t\tthis.props.events.onChange(event, {\n\t\t\t\tcolor: this.state.workingColor.hex,\n\t\t\t\tisValid: true,\n\t\t\t});\n\t\t}\n\t};\n\n\thandleSwatchButtonClick = () => {\n\t\tconst workingColor = ColorUtils.getNewColor(\n\t\t\t{\n\t\t\t\t// eslint-disable-next-line react/no-access-state-in-setstate\n\t\t\t\thex: this.state.workingColor.hex,\n\t\t\t},\n\t\t\tthis.props.events.onValidateWorkingColor\n\t\t);\n\t\tthis.setState({\n\t\t\t// eslint-disable-next-line react/no-access-state-in-setstate\n\t\t\tisOpen: !this.state.isOpen,\n\t\t\tworkingColor,\n\t\t\t// eslint-disable-next-line react/no-access-state-in-setstate\n\t\t\tpreviousWorkingColor: this.state.previousWorkingColor,\n\t\t});\n\t\tif (this.props.onRequestOpen) {\n\t\t\tthis.props.onRequestOpen();\n\t\t}\n\t};\n\n\thandleSwatchSelect = (event, { hex }) => {\n\t\tthis.setWorkingColor(event, {\n\t\t\thex,\n\t\t});\n\t};\n\n\trender() {\n\t\tconst labels = assign({}, defaultProps.labels, this.props.labels);\n\n\t\treturn (\n\t\t\t<div\n\t\t\t\tclassName={classNames('slds-color-picker', this.props.className)}\n\t\t\t\tref={(node) => {\n\t\t\t\t\tthis.wrapper = node;\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\t<div className=\"slds-color-picker__summary\">\n\t\t\t\t\t<label\n\t\t\t\t\t\tclassName={classNames(\n\t\t\t\t\t\t\t'slds-color-picker__summary-label',\n\t\t\t\t\t\t\tthis.props.assistiveText.label ? 'slds-assistive-text' : ''\n\t\t\t\t\t\t)}\n\t\t\t\t\t\thtmlFor={\n\t\t\t\t\t\t\t!this.props.hideInput\n\t\t\t\t\t\t\t\t? `color-picker-summary-input-${this.generatedId}`\n\t\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t\t}\n\t\t\t\t\t\tid={`color-picker-label-${this.generatedId}`}\n\t\t\t\t\t>\n\t\t\t\t\t\t{this.props.assistiveText.label\n\t\t\t\t\t\t\t? this.props.assistiveText.label\n\t\t\t\t\t\t\t: labels.label}\n\t\t\t\t\t</label>\n\t\t\t\t\t{this.getPopover({ labels })}\n\t\t\t\t\t{this.getInput({ labels })}\n\t\t\t\t\t{!this.state.isOpen && this.state.colorErrorMessage ? (\n\t\t\t\t\t\t<p\n\t\t\t\t\t\t\tclassName=\"slds-form-error\"\n\t\t\t\t\t\t\tid={`color-picker-summary-error-${this.generatedId}`}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{this.state.colorErrorMessage}\n\t\t\t\t\t\t</p>\n\t\t\t\t\t) : (\n\t\t\t\t\t\t''\n\t\t\t\t\t)}\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t);\n\t}\n}\n\nexport default ColorPicker;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n/* eslint-disable jsx-a11y/interactive-supports-focus */\n\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport isEqual from 'lodash.isequal';\nimport classNames from 'classnames';\n\nimport Icon from '../../icon';\nimport Spinner from '../../spinner';\n\nconst propTypes = {\n\t/*\n\t * Active descendant in menu\n\t */\n\tactiveOption: PropTypes.object,\n\t/*\n\t * Index of active descendant in menu\n\t */\n\tactiveOptionIndex: PropTypes.number,\n\t/**\n\t * CSS classes to be added to container `div` tag. Uses `classNames` [API](https://github.com/JedWatson/classnames).\n\t */\n\tclassName: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\t/**\n\t * CSS classes to be added to tag with `.slds-dropdown`. Uses `classNames` [API](https://github.com/JedWatson/classnames).\n\t */\n\tclassNameMenu: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\t/**\n\t * CSS classes to be added to menu sub header `span` tag. Uses `classNames` [API](https://github.com/JedWatson/classnames).\n\t */\n\tclassNameMenuSubHeader: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\t/**\n\t * Sets the dialog width to the width of one of the following:\n\t * `target`: (Menus attached to `input` typically follow this UX pattern),\n\t * `menu`: Consider setting a menuMaxWidth if using this value. If not, width will be set to width of largest menu item.\n\t * 'none'\n\t */\n\tinheritWidthOf: PropTypes.oneOf(['target', 'menu', 'none']),\n\t/*\n\t * Id used for assistive technology\n\t */\n\tinputId: PropTypes.string,\n\t/**\n\t * Determines the height of the menu based on SLDS CSS classes.\n\t */\n\titemVisibleLength: PropTypes.oneOf([5, 7, 10]),\n\t/**\n\t * **Text labels for internationalization**\n\t * This object is merged with the default props object on every render.\n\t * * `noOptionsFound`: Custom message that renders when no matches found. The default empty state is just text that says, 'No matches found.'.\n\t */\n\tlabels: PropTypes.shape({\n\t\tnoOptionsFound: PropTypes.oneOfType([PropTypes.node, PropTypes.string])\n\t\t\t.isRequired,\n\t}),\n\t/**\n\t * Accepts a custom menu item rendering function that becomes a custom component and is passed in the following props:\n\t * * `assistiveText`: Object, `assistiveText` prop that is passed into Combobox\n\t * * `option`: Object, option data for item being rendered that is passed into Combobox\n\t * * `selected`: Boolean, allows rendering of `assistiveText.optionSelectedInMenu` in Readonly Combobox\n\t *\n\t * _Tested with snapshot testing._\n\t */\n\tonRenderMenuItem: PropTypes.func,\n\t/**\n\t * Accepts a ref function or object (React.createRef() or otherwise) to store the menu DOM reference once available\n\t */\n\tmenuRef: PropTypes.oneOfType([PropTypes.func, PropTypes.object]),\n\t/*\n\t * Sets a maximum width that the menu will be if `inheritWidthOf` is menu.\n\t */\n\tmaxWidth: PropTypes.string,\n\t/*\n\t * Callback when option is selected with keyboard or mouse\n\t */\n\tonSelect: PropTypes.func,\n\t/*\n\t * Menu options\n\t */\n\toptions: PropTypes.array,\n\t/*\n\t * Callback to remove active descendent\n\t */\n\tresetActiveOption: PropTypes.func,\n\t/*\n\t * Selected options\n\t */\n\tselection: PropTypes.array,\n\t/*\n\t * Adds loading spinner below the options\n\t */\n\thasMenuSpinner: PropTypes.bool,\n\t/*\n\t * Object for creating Add item below the options\n\t */\n\toptionsAddItem: PropTypes.arrayOf(\n\t\tPropTypes.shape({\n\t\t\tid: PropTypes.string,\n\t\t\ticon: PropTypes.node,\n\t\t\tlabel: PropTypes.oneOfType([PropTypes.string, PropTypes.func]),\n\t\t})\n\t),\n\t/*\n\t * Object for creating Search item on top of the options\n\t */\n\toptionsSearchEntity: PropTypes.arrayOf(\n\t\tPropTypes.shape({\n\t\t\tid: PropTypes.string,\n\t\t\ticon: PropTypes.node,\n\t\t\tlabel: PropTypes.oneOfType([PropTypes.string, PropTypes.func]),\n\t\t})\n\t),\n\t/**\n\t * Accepts a tooltip that is displayed when hovering on disabled menu items.\n\t */\n\ttooltipMenuItemDisabled: PropTypes.element,\n\t/**\n\t * Changes styles of the menu option\n\t */\n\tvariant: PropTypes.oneOf(['icon-title-subtitle', 'checkbox']),\n\tisSelected: PropTypes.func,\n\tassistiveText: PropTypes.object,\n};\n\nconst defaultProps = {\n\tinputValue: '',\n\tmenuRef: () => {},\n\toptionsAddItem: [],\n\toptionsSearchEntity: [],\n};\n\nconst getOptions = (props) => {\n\t// use of array.push() is OK, because the array is created on each render\n\tconst options = [];\n\tif (props.optionsSearchEntity.length > 0) {\n\t\tconst localOptionsSearchEntity = props.optionsSearchEntity.map(\n\t\t\t(entity) => ({ ...entity, type: 'header' })\n\t\t);\n\t\t// eslint-disable-next-line fp/no-mutating-methods\n\t\toptions.push(...localOptionsSearchEntity);\n\t}\n\t// eslint-disable-next-line fp/no-mutating-methods\n\toptions.push(...props.options);\n\tif (props.optionsAddItem.length > 0) {\n\t\tconst localOptionsAddItem = props.optionsAddItem.map((entity) => ({\n\t\t\t...entity,\n\t\t\ttype: 'footer',\n\t\t}));\n\t\t// eslint-disable-next-line fp/no-mutating-methods\n\t\toptions.push(...localOptionsAddItem);\n\t}\n\treturn options;\n};\n\nconst setBold = (label, searchTerm) => {\n\tif (!label || label.length === 0 || !searchTerm || searchTerm.length === 0) {\n\t\treturn label;\n\t}\n\tconst position = label.toLowerCase().indexOf(searchTerm.toLowerCase());\n\tif (position > -1) {\n\t\treturn (\n\t\t\t<React.Fragment>\n\t\t\t\t{label.substr(0, position)}\n\t\t\t\t<span key=\"bold\" className=\"slds-text-title_bold\">{`${label.substr(\n\t\t\t\t\tposition,\n\t\t\t\t\tsearchTerm.length\n\t\t\t\t)}`}</span>\n\t\t\t\t{label.substr(position + searchTerm.length)}\n\t\t\t</React.Fragment>\n\t\t);\n\t}\n\treturn label;\n};\n\nconst renderLabel = (labelProp, searchTerm) => {\n\tif (labelProp == null || typeof labelProp === 'string') {\n\t\treturn labelProp;\n\t}\n\n\treturn labelProp(searchTerm);\n};\n\nconst Menu = (props) => {\n\tlet maxWidth = props.inheritWidthOf === 'menu' ? 'inherit' : undefined;\n\tmaxWidth =\n\t\tprops.inheritWidthOf === 'menu' && props.maxWidth\n\t\t\t? props.maxWidth\n\t\t\t: maxWidth;\n\n\t// .slds-dropdown sets the menu to absolute positioning, since it has a relative parent. Absolute positioning removes clientHeight and clientWidth which Popper.js needs to absolute position the menu's wrapping div. Absolute positioning an already absolute positioned element doesn't work. Setting the menu's position to relative allows PopperJS to work it's magic.\n\tconst menuOptions = getOptions(props).map((optionData, index) => {\n\t\tconst active =\n\t\t\tindex === props.activeOptionIndex &&\n\t\t\tprops.activeOption &&\n\t\t\tisEqual(optionData.id, props.activeOption.id);\n\t\tconst selected =\n\t\t\tprops.isSelected({\n\t\t\t\tselection: props.selection,\n\t\t\t\toption: optionData,\n\t\t\t}) &&\n\t\t\t(optionData.type !== 'header' || optionData.type === 'footer');\n\t\tconst MenuItem = props.onRenderMenuItem;\n\n\t\tif (optionData.type === 'separator') {\n\t\t\treturn optionData.label ? (\n\t\t\t\t<li\n\t\t\t\t\tclassName=\"slds-dropdown__header slds-truncate\"\n\t\t\t\t\ttitle={optionData.label}\n\t\t\t\t\trole=\"separator\"\n\t\t\t\t\tkey={`menu-separator-${optionData.id}`}\n\t\t\t\t>\n\t\t\t\t\t<span\n\t\t\t\t\t\tclassName={classNames(\n\t\t\t\t\t\t\t'slds-listbox__option-header',\n\t\t\t\t\t\t\tprops.classNameMenuSubHeader\n\t\t\t\t\t\t)}\n\t\t\t\t\t>\n\t\t\t\t\t\t{optionData.label}\n\t\t\t\t\t</span>\n\t\t\t\t</li>\n\t\t\t) : (\n\t\t\t\t<li\n\t\t\t\t\tclassName=\"slds-has-divider_top-space\"\n\t\t\t\t\trole=\"separator\"\n\t\t\t\t\tkey={`menu-separator-${optionData.id}`}\n\t\t\t\t/>\n\t\t\t);\n\t\t}\n\t\tif (optionData.type === 'header') {\n\t\t\treturn (\n\t\t\t\t<li\n\t\t\t\t\tkey={`menu-header-${optionData.id}}`}\n\t\t\t\t\trole=\"presentation\"\n\t\t\t\t\tclassName=\"slds-listbox__item\"\n\t\t\t\t>\n\t\t\t\t\t<div\n\t\t\t\t\t\tonClick={\n\t\t\t\t\t\t\toptionData.disabled\n\t\t\t\t\t\t\t\t? null\n\t\t\t\t\t\t\t\t: (event) => {\n\t\t\t\t\t\t\t\t\t\tprops.onSelect(event, { option: optionData });\n\t\t\t\t\t\t\t\t }\n\t\t\t\t\t\t}\n\t\t\t\t\t\taria-selected={active}\n\t\t\t\t\t\tid={`${props.inputId}-listbox-option-${optionData.id}`}\n\t\t\t\t\t\tclassName={classNames(\n\t\t\t\t\t\t\t'slds-media slds-listbox__option',\n\t\t\t\t\t\t\t'slds-listbox__option_entity slds-listbox__option_term',\n\t\t\t\t\t\t\t{ 'slds-has-focus': active }\n\t\t\t\t\t\t)}\n\t\t\t\t\t\trole=\"option\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<span className=\"slds-media__figure slds-listbox__option-icon\">\n\t\t\t\t\t\t\t{optionData.icon}\n\t\t\t\t\t\t</span>\n\t\t\t\t\t\t<span className=\"slds-media__body\">\n\t\t\t\t\t\t\t{renderLabel(optionData.label, props.inputValue)}\n\t\t\t\t\t\t</span>\n\t\t\t\t\t</div>\n\t\t\t\t</li>\n\t\t\t);\n\t\t}\n\t\tif (optionData.type === 'footer') {\n\t\t\treturn (\n\t\t\t\t<li\n\t\t\t\t\tkey={`menu-footer-${optionData.id}}`}\n\t\t\t\t\trole=\"presentation\"\n\t\t\t\t\tclassName=\"slds-listbox__item\"\n\t\t\t\t>\n\t\t\t\t\t<div\n\t\t\t\t\t\taria-selected={active}\n\t\t\t\t\t\tonClick={\n\t\t\t\t\t\t\toptionData.disabled\n\t\t\t\t\t\t\t\t? null\n\t\t\t\t\t\t\t\t: (event) => {\n\t\t\t\t\t\t\t\t\t\tprops.onSelect(event, { option: optionData });\n\t\t\t\t\t\t\t\t }\n\t\t\t\t\t\t}\n\t\t\t\t\t\tid={`${props.inputId}-listbox-option-${optionData.id}`}\n\t\t\t\t\t\tclassName={classNames(\n\t\t\t\t\t\t\t'slds-media slds-listbox__option',\n\t\t\t\t\t\t\t'slds-listbox__option_entity slds-listbox__option_term',\n\t\t\t\t\t\t\t{ 'slds-has-focus': active }\n\t\t\t\t\t\t)}\n\t\t\t\t\t\trole=\"option\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<span className=\"slds-media__figure slds-listbox__option-icon\">\n\t\t\t\t\t\t\t{optionData.icon}\n\t\t\t\t\t\t</span>\n\t\t\t\t\t\t<span className=\"slds-media__body\">\n\t\t\t\t\t\t\t{renderLabel(optionData.label, props.inputValue)}\n\t\t\t\t\t\t</span>\n\t\t\t\t\t</div>\n\t\t\t\t</li>\n\t\t\t);\n\t\t}\n\n\t\tconst disabledProps = {};\n\t\tconst tooltipId = `${props.inputId}-listbox-option-help-${optionData.id}`;\n\t\tif (optionData.disabled && props.tooltipMenuItemDisabled && active) {\n\t\t\tdisabledProps['aria-describedby'] = tooltipId;\n\t\t}\n\t\tif (optionData.disabled) {\n\t\t\tdisabledProps['aria-disabled'] = !!optionData.disabled;\n\t\t\tdisabledProps.style = { cursor: 'default' }; // Replace this with a css class name once SLDS has it.\n\t\t}\n\n\t\tconst menuItem = {\n\t\t\t'icon-title-subtitle': (\n\t\t\t\t<span\n\t\t\t\t\taria-selected={active}\n\t\t\t\t\t{...disabledProps}\n\t\t\t\t\tid={`${props.inputId}-listbox-option-${optionData.id}`}\n\t\t\t\t\tkey={`menu-subtitle-${optionData.id}`}\n\t\t\t\t\tclassName={classNames(\n\t\t\t\t\t\t'slds-media slds-listbox__option',\n\t\t\t\t\t\t'slds-listbox__option_entity slds-listbox__option_has-meta',\n\t\t\t\t\t\t{ 'slds-has-focus': active }\n\t\t\t\t\t)}\n\t\t\t\t\tonClick={\n\t\t\t\t\t\toptionData.disabled\n\t\t\t\t\t\t\t? null\n\t\t\t\t\t\t\t: (event) => {\n\t\t\t\t\t\t\t\t\tprops.onSelect(event, { option: optionData });\n\t\t\t\t\t\t\t }\n\t\t\t\t\t}\n\t\t\t\t\trole=\"option\"\n\t\t\t\t>\n\t\t\t\t\t{/* For backward compatibility, */}\n\t\t\t\t\t{optionData.icon && !props.onRenderMenuItem ? (\n\t\t\t\t\t\t<span className=\"slds-media__figure\">{optionData.icon}</span>\n\t\t\t\t\t) : null}\n\t\t\t\t\t{props.onRenderMenuItem ? (\n\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\tassistiveText={props.assistiveText}\n\t\t\t\t\t\t\tselected={selected}\n\t\t\t\t\t\t\toption={optionData}\n\t\t\t\t\t\t/>\n\t\t\t\t\t) : (\n\t\t\t\t\t\t<span className=\"slds-media__body\">\n\t\t\t\t\t\t\t<span\n\t\t\t\t\t\t\t\tclassName={classNames(\n\t\t\t\t\t\t\t\t\t'slds-listbox__option-text',\n\t\t\t\t\t\t\t\t\t'slds-listbox__option-text_entity',\n\t\t\t\t\t\t\t\t\t{ 'slds-disabled-text': optionData.disabled }\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{setBold(optionData.label, props.inputValue)}\n\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t<span\n\t\t\t\t\t\t\t\tclassName={classNames(\n\t\t\t\t\t\t\t\t\t'slds-listbox__option-meta slds-listbox__option-meta_entity',\n\t\t\t\t\t\t\t\t\t{ 'slds-disabled-text': optionData.disabled }\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{setBold(optionData.subTitle, props.inputValue)}\n\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t</span>\n\t\t\t\t\t)}\n\t\t\t\t</span>\n\t\t\t),\n\t\t\tcheckbox: (\n\t\t\t\t<span // eslint-disable-line jsx-a11y/no-static-element-interactions\n\t\t\t\t\taria-selected={active}\n\t\t\t\t\t{...disabledProps}\n\t\t\t\t\tid={`${props.inputId}-listbox-option-${optionData.id}`}\n\t\t\t\t\tkey={`menu-checkbox-${optionData.id}`}\n\t\t\t\t\tclassName={classNames(\n\t\t\t\t\t\t'slds-media slds-listbox__option',\n\t\t\t\t\t\t' slds-listbox__option_plain slds-media_small slds-media_center',\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t'slds-has-focus': active,\n\t\t\t\t\t\t\t'slds-is-selected': selected,\n\t\t\t\t\t\t}\n\t\t\t\t\t)}\n\t\t\t\t\tonClick={\n\t\t\t\t\t\toptionData.disabled\n\t\t\t\t\t\t\t? null\n\t\t\t\t\t\t\t: (event) => {\n\t\t\t\t\t\t\t\t\tprops.onSelect(event, {\n\t\t\t\t\t\t\t\t\t\tselection: props.selection,\n\t\t\t\t\t\t\t\t\t\toption: optionData,\n\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t }\n\t\t\t\t\t}\n\t\t\t\t\trole=\"option\"\n\t\t\t\t>\n\t\t\t\t\t<span className=\"slds-media__figure\">\n\t\t\t\t\t\t<Icon\n\t\t\t\t\t\t\tclassName=\"slds-listbox__icon-selected\"\n\t\t\t\t\t\t\tcategory=\"utility\"\n\t\t\t\t\t\t\tname=\"check\"\n\t\t\t\t\t\t\tsize=\"x-small\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t</span>\n\t\t\t\t\t<span className=\"slds-media__body\">\n\t\t\t\t\t\t{props.onRenderMenuItem ? (\n\t\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\t\tassistiveText={props.assistiveText}\n\t\t\t\t\t\t\t\tselected={selected}\n\t\t\t\t\t\t\t\toption={optionData}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t<span\n\t\t\t\t\t\t\t\tclassName={classNames('slds-truncate', {\n\t\t\t\t\t\t\t\t\t'slds-disabled-text': optionData.disabled,\n\t\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t\t\ttitle={optionData.label}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{selected ? (\n\t\t\t\t\t\t\t\t\t<span className=\"slds-assistive-text\">\n\t\t\t\t\t\t\t\t\t\t{props.assistiveText.optionSelectedInMenu}\n\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t) : null}{' '}\n\t\t\t\t\t\t\t\t{optionData.label}\n\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t)}\n\t\t\t\t\t</span>\n\t\t\t\t</span>\n\t\t\t),\n\t\t};\n\n\t\tlet item;\n\t\tif (optionData.disabled && props.tooltipMenuItemDisabled) {\n\t\t\tconst {\n\t\t\t\tcontent,\n\t\t\t\t...userDefinedTooltipProps\n\t\t\t} = props.tooltipMenuItemDisabled.props;\n\t\t\tconst tooltipProps = {\n\t\t\t\talign: 'top',\n\t\t\t\tcontent: optionData.tooltipContent || content, // either use specific content defined on option or content defined on tooltip component.\n\t\t\t\tid: tooltipId,\n\t\t\t\tposition: 'absolute',\n\t\t\t\tsilenceTriggerTabbableWarning: true,\n\t\t\t\ttriggerStyle: { width: '100%' },\n\t\t\t\t...userDefinedTooltipProps, // we want to allow user defined tooltip pros to overwrite default props, if need be.\n\t\t\t};\n\t\t\tif (active) {\n\t\t\t\t// allows showing the tooltip on keyboard navigation to disabled menu item\n\t\t\t\ttooltipProps.isOpen = true;\n\t\t\t}\n\t\t\titem = React.cloneElement(\n\t\t\t\tprops.tooltipMenuItemDisabled,\n\t\t\t\ttooltipProps,\n\t\t\t\tmenuItem[props.variant]\n\t\t\t);\n\t\t} else {\n\t\t\titem = menuItem[props.variant];\n\t\t}\n\n\t\treturn (\n\t\t\t<li\n\t\t\t\tclassName=\"slds-listbox__item\"\n\t\t\t\tkey={`menu-option-${optionData.id}`}\n\t\t\t\trole=\"presentation\"\n\t\t\t>\n\t\t\t\t{item}\n\t\t\t</li>\n\t\t);\n\t});\n\n\treturn (\n\t\t<ul\n\t\t\tclassName={classNames(\n\t\t\t\t'slds-listbox slds-listbox_vertical slds-dropdown slds-dropdown_fluid',\n\t\t\t\t{\n\t\t\t\t\t'slds-dropdown_length-with-icon-5': props.itemVisibleLength === 5,\n\t\t\t\t\t'slds-dropdown_length-with-icon-7': props.itemVisibleLength === 7,\n\t\t\t\t\t'slds-dropdown_length-with-icon-10': props.itemVisibleLength === 10,\n\t\t\t\t},\n\t\t\t\tprops.classNameMenu\n\t\t\t)}\n\t\t\tref={props.menuRef}\n\t\t\trole=\"presentation\"\n\t\t\tstyle={{\n\t\t\t\twidth: props.inheritWidthOf === 'menu' ? 'auto' : undefined,\n\t\t\t\tmaxWidth,\n\t\t\t\tposition: props.menuPosition !== 'relative' ? 'relative' : undefined,\n\t\t\t}}\n\t\t>\n\t\t\t{menuOptions.length ? (\n\t\t\t\tmenuOptions\n\t\t\t) : (\n\t\t\t\t<li\n\t\t\t\t\tclassName=\"slds-listbox__item slds-listbox__status\"\n\t\t\t\t\trole=\"status\"\n\t\t\t\t\taria-live=\"polite\"\n\t\t\t\t>\n\t\t\t\t\t<span className=\"slds-m-left_x-large slds-p-vertical_medium\">\n\t\t\t\t\t\t{props.labels.noOptionsFound}\n\t\t\t\t\t</span>\n\t\t\t\t</li>\n\t\t\t)}\n\t\t\t{props.hasMenuSpinner && (\n\t\t\t\t<li role=\"presentation\" className=\"slds-listbox__item\">\n\t\t\t\t\t<div className=\"slds-align_absolute-center slds-p-top_medium\">\n\t\t\t\t\t\t<Spinner\n\t\t\t\t\t\t\tassistiveText={{ label: props.assistiveText.loadingMenuItems }}\n\t\t\t\t\t\t\thasContainer={false}\n\t\t\t\t\t\t\tisInline\n\t\t\t\t\t\t\tsize=\"x-small\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t</div>\n\t\t\t\t</li>\n\t\t\t)}\n\t\t</ul>\n\t);\n};\n\nMenu.displayName = 'Menu';\nMenu.propTypes = propTypes;\nMenu.defaultProps = defaultProps;\n\nexport default Menu;\n","/* eslint-disable react/jsx-curly-brace-presence */\n/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\n\nconst propTypes = {\n\t/*\n\t * Assistive Text to use instead of a visible label\n\t */\n\tassistiveText: PropTypes.object,\n\t/*\n\t * Id of the input associated with this label\n\t */\n\thtmlFor: PropTypes.string,\n\t/*\n\t * Input Label or inner node for formatting purposes\n\t */\n\tlabel: PropTypes.oneOfType([PropTypes.node, PropTypes.string]),\n\t/*\n\t * Applies label styling for a required form element\n\t */\n\trequired: PropTypes.bool,\n\t/**\n\t * Changes markup of label.\n\t */\n\tvariant: PropTypes.oneOf(['base', 'static']),\n};\n\nconst defaultProps = {\n\tvariant: 'base',\n};\n\n/*\n * Form label. This returns null if there is no label text (hidden or shown)\n */\nconst Label = (props) => {\n\tconst labelText =\n\t\tprops.label || (props.assistiveText && props.assistiveText.label); // One of these is required to pass accessibility tests\n\n\tconst subRenders = {\n\t\tbase: (\n\t\t\t<label\n\t\t\t\tclassName={classNames('slds-form-element__label', {\n\t\t\t\t\t'slds-assistive-text': props.assistiveText && !props.label,\n\t\t\t\t})}\n\t\t\t\thtmlFor={props.htmlFor}\n\t\t\t>\n\t\t\t\t{props.required && (\n\t\t\t\t\t<abbr className=\"slds-required\" title=\"required\">\n\t\t\t\t\t\t{'*'}\n\t\t\t\t\t</abbr>\n\t\t\t\t)}\n\t\t\t\t{labelText}\n\t\t\t</label>\n\t\t),\n\t\tstatic: <span className=\"slds-form-element__label\">{labelText}</span>,\n\t};\n\n\treturn labelText ? subRenders[props.variant] : null;\n};\n\nLabel.displayName = 'Label';\nLabel.propTypes = propTypes;\nLabel.defaultProps = defaultProps;\n\nexport default Label;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\nimport EventUtil from './event';\n\n/*\n * Helper function that has callbacks passed into it with the key\n * being the keycode of the event. This allows an object literal to\n * control key event callback mapping and avoids a long conditional\n * if statement and uses an enumeration pattern instead.\n */\nconst mapKeyEventCallbacks = (\n\tevent,\n\t{ callbacks = {}, shiftCallbacks = {}, stopPropagation = true }\n) => {\n\tif (event.shiftKey && event.keyCode && shiftCallbacks[event.keyCode]) {\n\t\tif (stopPropagation) {\n\t\t\tEventUtil.trapEvent(event);\n\t\t}\n\t\tshiftCallbacks[event.keyCode].callback(\n\t\t\tevent,\n\t\t\tshiftCallbacks[event.keyCode].data\n\t\t);\n\t} else if (event.keyCode && callbacks[event.keyCode]) {\n\t\tif (stopPropagation) {\n\t\t\tEventUtil.trapEvent(event);\n\t\t}\n\t\tcallbacks[event.keyCode].callback(event, callbacks[event.keyCode].data);\n\t} else if (event.keyCode && callbacks.other) {\n\t\t// You will likely NOT want to stop propagation of all key presses!\n\t\tif (callbacks.other.stopPropagation) {\n\t\t\tEventUtil.trapEvent(event);\n\t\t}\n\t\tcallbacks.other.callback(event, callbacks.other.data);\n\t}\n};\n\nexport default mapKeyEventCallbacks;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// # Pill Component\n// Implements the [Pill design pattern](https://lightningdesignsystem.com/components/pills/) in React.\n\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport { PILL } from '../../utilities/constants';\nimport UtilityIcon from '../utilities/utility-icon';\nimport KEYS from '../../utilities/key-code';\nimport EventUtil from '../../utilities/event';\n\nconst propTypes = {\n\t/**\n\t * **Assistive text for accessibility**\n\t * This object is merged with the default props object on every render.\n\t * * `remove`: This is a visually hidden label for the close button.\n\t * _Tested with snapshot testing._\n\t */\n\tassistiveText: PropTypes.shape({\n\t\tremove: PropTypes.string,\n\t}),\n\t/**\n\t * SLDSAvatar component to show on the left of the pill.\n\t * _Tested with Mocha framework._\n\t */\n\tavatar: PropTypes.element,\n\t/**\n\t * Applies the bare style to the component.\n\t * _Tested with Mocha framework._\n\t */\n\tbare: PropTypes.bool,\n\t/**\n\t * This is a way to specify custom contents for the pill in the case a simple text label is not enough.\n\t * _Tested with Mocha framework._\n\t */\n\tchildren: PropTypes.node,\n\t/**\n\t * CSS classes to be added to tag with `.slds-pill`. Uses `classNames` [API](https://github.com/JedWatson/classnames).\n\t * _Tested with Mocha framework._\n\t */\n\tclassName: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\t/**\n\t * Applies the error style to the component.\n\t * _Tested with Mocha framework._\n\t */\n\thasError: PropTypes.bool,\n\t/**\n\t * An href to use if the pill is shown as a link.\n\t * _Tested with Mocha framework._\n\t */\n\thref: PropTypes.string,\n\t/**\n\t * SLDSIcon component to show on the left of the pill.\n\t * _Tested with Mocha framework._\n\t */\n\ticon: PropTypes.element,\n\t/**\n\t * **Text labels for internationalization**\n\t * This object is merged with the default props object on every render.\n\t * * `label`: Pill's label.\n\t * * `title`: Pill's title.\n\t * * `removeTitle`: A title to use for the remove icon.\n\t *\n\t * _Tested with snapshot testing._\n\t */\n\tlabels: PropTypes.shape({\n\t\tlabel: PropTypes.string,\n\t\ttitle: PropTypes.string,\n\t\tremoveTitle: PropTypes.string,\n\t}),\n\t/**\n\t * `onBlur` callback executes when the component loses focus.\n\t * _Tested with Mocha framework._\n\t */\n\tonBlur: PropTypes.func,\n\t/**\n\t * `onClick` callback executes when a user clicks on the pill or presses the Enter key.\n\t * _Tested with Mocha framework._\n\t */\n\tonClick: PropTypes.func,\n\t/**\n\t * `onFocus` callback executes when the component receives focus.\n\t * _Tested with Mocha framework._\n\t */\n\tonFocus: PropTypes.func,\n\t/**\n\t * `onKeyDown` callback executes when a user presses a key.\n\t * _Tested with Mocha framework._\n\t */\n\tonKeyDown: PropTypes.func,\n\t/**\n\t * `onRemove` callback executes when a user clicks on the pill's remove icon or presses the delete or the backspace keys.\n\t * _Tested with Mocha framework._\n\t */\n\tonRemove: PropTypes.func,\n\t/**\n\t * A variant of a pill\n\t * _Tested with Mocha framework._\n\t */\n\tvariant: PropTypes.oneOf(['link', 'option']),\n};\n\n/**\n * A pill displays a label that can contain links and can be removed from view. Use `PillContainer` for a list of pills in a container that resembles an `input` form field. A pill is useful for displaying read-only text that can be added and removed on demand.\n */\nclass Pill extends React.Component {\n\tgetHref = () =>\n\t\ttypeof this.props.href === 'string'\n\t\t\t? this.props.href\n\t\t\t: 'javascript:void(0);'; // eslint-disable-line no-script-url\n\n\t/**\n\t * Removes focus from the component.\n\t */\n\tblur = () => {\n\t\tthis.root.blur();\n\t};\n\n\t/**\n\t * Give focus to the Pill component.\n\t */\n\tfocus = () => {\n\t\tthis.root.focus();\n\t};\n\n\t// eslint-disable-next-line fp/no-rest-parameters\n\thandleKeyDown = (event, ...rest) => {\n\t\tif (typeof this.props.onKeyDown === 'function') {\n\t\t\t// Make a callback to onKeyDown.\n\t\t\tthis.props.onKeyDown.call(null, event, ...rest);\n\t\t\t// Cancel further handling if the default handling for the event was prevented.\n\t\t\tif (event.defaultPrevented) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\n\t\tswitch (event.keyCode) {\n\t\t\tcase KEYS.ENTER:\n\t\t\t\tif (typeof this.props.onClick === 'function') {\n\t\t\t\t\tEventUtil.trap(event);\n\t\t\t\t\tthis.props.onClick();\n\t\t\t\t}\n\t\t\t\tbreak;\n\n\t\t\tcase KEYS.BACKSPACE:\n\t\t\tcase KEYS.DELETE:\n\t\t\t\tif (typeof this.props.onRemove === 'function') {\n\t\t\t\t\tEventUtil.trap(event);\n\t\t\t\t\tthis.props.onRemove();\n\t\t\t\t}\n\t\t\t\tbreak;\n\n\t\t\tdefault:\n\t\t\t\tbreak;\n\t\t}\n\t};\n\n\thandleRef = (root) => {\n\t\t// Keeping the top-most element to support focus() and blur()\n\t\tthis.root = root;\n\t};\n\n\t/**\n\t * Extracts a set of custom properties. A custom property is a property, which is not described in propTypes of a component.\n\t */\n\trestProps = () => {\n\t\tconst {\n\t\t\tbare,\n\t\t\thasError,\n\t\t\tvariant,\n\t\t\tclassName,\n\t\t\tonClick,\n\t\t\tonRemove,\n\t\t\tlabels,\n\t\t\tassistiveText,\n\t\t\tchildren,\n\t\t\thref,\n\t\t\ticon,\n\t\t\tavatar,\n\t\t\tonKeyDown,\n\t\t\t...other\n\t\t} = this.props;\n\t\treturn other;\n\t};\n\n\trenderIcon = () => {\n\t\tconst icon = this.props.icon || this.props.avatar;\n\t\tif (icon) {\n\t\t\treturn <span className=\"slds-pill__icon_container\">{icon}</span>;\n\t\t}\n\t\treturn null;\n\t};\n\n\trenderLabel = () => {\n\t\tif (this.props.labels.label) {\n\t\t\tif (this.props.variant === 'link') {\n\t\t\t\treturn (\n\t\t\t\t\t<a\n\t\t\t\t\t\thref={this.getHref()}\n\t\t\t\t\t\tclassName=\"slds-pill__action\"\n\t\t\t\t\t\ttitle={this.props.labels.title || this.props.labels.label}\n\t\t\t\t\t\tonClick={this.props.onClick}\n\t\t\t\t\t>\n\t\t\t\t\t\t<span className=\"slds-pill__label\">{this.props.labels.label}</span>\n\t\t\t\t\t</a>\n\t\t\t\t);\n\t\t\t}\n\t\t\treturn (\n\t\t\t\t<span\n\t\t\t\t\tclassName=\"slds-pill__label\"\n\t\t\t\t\ttitle={this.props.labels.title || this.props.labels.label}\n\t\t\t\t>\n\t\t\t\t\t{this.props.labels.label}\n\t\t\t\t</span>\n\t\t\t);\n\t\t}\n\t\treturn this.props.children;\n\t};\n\n\trenderRemoveIcon = () => {\n\t\tif (typeof this.props.onRemove === 'function') {\n\t\t\treturn (\n\t\t\t\t<span // eslint-disable-line jsx-a11y/interactive-supports-focus\n\t\t\t\t\tclassName=\"slds-icon_container slds-pill__remove\"\n\t\t\t\t\ttitle={this.props.labels.removeTitle}\n\t\t\t\t\trole=\"button\"\n\t\t\t\t\tonClick={this.props.onRemove}\n\t\t\t\t>\n\t\t\t\t\t<UtilityIcon\n\t\t\t\t\t\tstyle={{ cursor: 'pointer' }} // remove when fixed by SLDS CSS\n\t\t\t\t\t\tcategory=\"utility\"\n\t\t\t\t\t\tclassName=\"slds-icon slds-icon_x-small slds-icon-text-default\"\n\t\t\t\t\t\tname=\"close\"\n\t\t\t\t\t/>\n\t\t\t\t\t<span className=\"slds-assistive-text\">\n\t\t\t\t\t\t{this.props.assistiveText.remove || this.props.labels.removeTitle}\n\t\t\t\t\t</span>\n\t\t\t\t</span>\n\t\t\t);\n\t\t}\n\n\t\treturn null;\n\t};\n\n\trender() {\n\t\tlet role;\n\t\tswitch (this.props.variant) {\n\t\t\tcase 'link':\n\t\t\t\trole = 'button';\n\t\t\t\tbreak;\n\t\t\tcase 'option':\n\t\t\t\trole = 'option';\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t}\n\n\t\treturn (\n\t\t\t/* eslint-disable jsx-a11y/no-static-element-interactions */\n\t\t\t<span\n\t\t\t\t{...this.restProps()}\n\t\t\t\trole={role}\n\t\t\t\tclassName={classNames(\n\t\t\t\t\t'slds-pill',\n\t\t\t\t\t{\n\t\t\t\t\t\t'slds-pill_link': this.props.variant === 'link',\n\t\t\t\t\t\t'slds-has-error': this.props.hasError,\n\t\t\t\t\t\t'slds-pill_bare': this.props.bare,\n\t\t\t\t\t},\n\t\t\t\t\tthis.props.className\n\t\t\t\t)}\n\t\t\t\tonClick={\n\t\t\t\t\t!this.props.labels.label || this.props.variant !== 'link'\n\t\t\t\t\t\t? this.props.onClick\n\t\t\t\t\t\t: null\n\t\t\t\t}\n\t\t\t\tonKeyDown={\n\t\t\t\t\ttypeof this.props.onRemove === 'function' ? this.handleKeyDown : null\n\t\t\t\t}\n\t\t\t\tref={this.handleRef}\n\t\t\t>\n\t\t\t\t{this.renderIcon()}\n\t\t\t\t{this.renderLabel()}\n\t\t\t\t{this.renderRemoveIcon()}\n\t\t\t</span>\n\t\t);\n\t}\n}\n\nPill.displayName = PILL;\n\nPill.defaultProps = {\n\tvariant: 'link',\n\tlabels: {},\n\tassistiveText: {},\n};\n\nPill.propTypes = propTypes;\n\nexport default Pill;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n/**\n * This Pill component should be used within a listbox and differs from the standalone Pill component which is typically used for actions (such as a link) and not form fields. This component should be used in conjuction with `PillContainer`.\n */\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\nimport assign from 'lodash.assign';\n\nimport KEYS from '../../../utilities/key-code';\nimport mapKeyEventCallbacks from '../../../utilities/key-callbacks';\nimport EventUtil from '../../../utilities/event';\n\nimport SLDSPill from '../../../components/pill';\n\nconst propTypes = {\n\t/**\n\t * Pill is the actively focused pill within a pill container. This will request focus on the DOM node.\n\t */\n\tactive: PropTypes.bool,\n\t/**\n\t * **Assistive text for accessibility**\n\t * This object is merged with the default props object on every render.\n\t * * `pressDeleteOrBackspace`: Informs user of keyboard keys to press in order to remove a pill\n\t */\n\tassistiveText: PropTypes.shape({\n\t\tremove: PropTypes.string,\n\t}),\n\t/**\n\t * SLDSAvatar component to show on the left of the pill.\n\t * _Tested with Mocha framework._\n\t */\n\tavatar: PropTypes.element,\n\t/**\n\t * Applies the bare style to the component.\n\t * _Tested with Mocha framework._\n\t */\n\tbare: PropTypes.bool,\n\t/*\n\t * Pills are often used for selection of a type of entity such as days in a daypicker. This prop allows you to pass in data that will be passed back to the event handler.\n\t */\n\teventData: PropTypes.object,\n\t/*\n\t * Callbacks for various pill events such as click, focus, etc\n\t */\n\tevents: PropTypes.shape({\n\t\tonClick: PropTypes.func,\n\t\tonFocus: PropTypes.func,\n\t\tonRequestFocus: PropTypes.func.isRequired,\n\t\tonRequestFocusOnNextPill: PropTypes.func.isRequired,\n\t\tonRequestFocusOnPreviousPill: PropTypes.func.isRequired,\n\t\tonRequestRemove: PropTypes.func.isRequired,\n\t}),\n\t/**\n\t * Applies the error style to the component.\n\t * _Tested with Mocha framework._\n\t */\n\thasError: PropTypes.bool,\n\t/*\n\t * The icon next to the pill label.\n\t */\n\ticon: PropTypes.element,\n\t/*\n\t * Pill Label\n\t */\n\tlabels: PropTypes.shape({\n\t\tlabel: PropTypes.string.isRequired,\n\t\tremoveTitle: PropTypes.string,\n\t}),\n\t/*\n\t * If true and is active pill in listbox, will trigger `events.onRequestFocus`\n\t */\n\trequestFocus: PropTypes.bool,\n\t/*\n\t * Pill Title\n\t */\n\ttitle: PropTypes.string,\n\t/*\n\t * Allows the user to tab to the node\n\t */\n\ttabIndex: PropTypes.number,\n};\n\nconst defaultProps = {\n\tassistiveText: PropTypes.shape({\n\t\tremove: ', Press delete or backspace to remove',\n\t}),\n\tlabels: {\n\t\tremove: 'Remove',\n\t},\n\tevents: {},\n};\n\nconst handleKeyDown = (event, { events, data }) => {\n\t// Helper function that takes an object literal of callbacks that are triggered with a key event\n\tmapKeyEventCallbacks(event, {\n\t\tcallbacks: {\n\t\t\t[KEYS.BACKSPACE]: { callback: events.onRequestRemove, data },\n\t\t\t[KEYS.DELETE]: { callback: events.onRequestRemove, data },\n\t\t\t[KEYS.LEFT]: {\n\t\t\t\tcallback: events.onRequestFocusOnPreviousPill,\n\t\t\t\tdata: { ...data, direction: 'previous' },\n\t\t\t},\n\t\t\t[KEYS.RIGHT]: {\n\t\t\t\tcallback: events.onRequestFocusOnNextPill,\n\t\t\t\tdata: { ...data, direction: 'next' },\n\t\t\t},\n\t\t},\n\t});\n};\n\nconst handleClickRemove = (event, { events, data }) => {\n\tEventUtil.trap(event);\n\tevents.onRequestRemove(event, data);\n};\n\nconst Pill = (props) => {\n\tconst assistiveText = assign(\n\t\t{},\n\t\tdefaultProps.assistiveText,\n\t\tprops.assistiveText\n\t);\n\tconst labels = assign({}, defaultProps.labels, props.labels);\n\n\treturn (\n\t\t<SLDSPill\n\t\t\tavatar={props.avatar}\n\t\t\tbare={props.bare}\n\t\t\thasError={props.hasError}\n\t\t\ttabIndex={props.tabIndex || '0'}\n\t\t\ticon={props.icon}\n\t\t\tvariant=\"option\"\n\t\t\tlabels={labels}\n\t\t\tassistiveText={{\n\t\t\t\tremove: assistiveText.remove,\n\t\t\t}}\n\t\t\taria-selected=\"true\"\n\t\t\tonBlur={props.events.onBlur}\n\t\t\tonClick={\n\t\t\t\ttypeof props.events.onClick === 'function'\n\t\t\t\t\t? (event) => {\n\t\t\t\t\t\t\tif (props.events.onClick) {\n\t\t\t\t\t\t\t\tprops.events.onClick(event, {\n\t\t\t\t\t\t\t\t\t...props.eventData,\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t}\n\t\t\t\t\t }\n\t\t\t\t\t: null\n\t\t\t}\n\t\t\tonFocus={(event) => {\n\t\t\t\tif (props.events.onFocus) {\n\t\t\t\t\tprops.events.onFocus(event, {\n\t\t\t\t\t\t...props.eventData,\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}}\n\t\t\tonRemove={(event) => {\n\t\t\t\tEventUtil.trap(event);\n\t\t\t\thandleClickRemove(event, {\n\t\t\t\t\tevents: props.events,\n\t\t\t\t\tdata: props.eventData,\n\t\t\t\t});\n\t\t\t}}\n\t\t\tonKeyDown={(event) => {\n\t\t\t\thandleKeyDown(event, {\n\t\t\t\t\tevents: props.events,\n\t\t\t\t\tdata: props.eventData,\n\t\t\t\t});\n\t\t\t}}\n\t\t\tref={(component) => {\n\t\t\t\tif (props.requestFocus && props.active) {\n\t\t\t\t\tprops.events.onRequestFocus(undefined, { ref: component });\n\t\t\t\t}\n\t\t\t}}\n\t\t/>\n\t);\n};\n\nPill.displayName = 'Pill';\nPill.propTypes = propTypes;\nPill.defaultProps = defaultProps;\n\nexport default Pill;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\nfunction isReactComponent(object) {\n\treturn (\n\t\t(object.$$typeof &&\n\t\t\tobject.$$typeof.toString() === 'Symbol(react.element)') ||\n\t\t(object.type && typeof object.type === 'function')\n\t);\n}\n\nexport default isReactComponent;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\nimport classNames from 'classnames';\n\nimport Avatar from '../../avatar';\nimport Icon from '../../icon';\nimport Pill from '../../utilities/pill';\n\nimport isReactComponent from '../../../utilities/is-react-component';\n\nconst propTypes = {\n\t/*\n\t * The option object within the selection prop that should have focus.\n\t */\n\tactiveOption: PropTypes.object,\n\t/*\n\t * The index of the option object within the selection prop that should have focus.\n\t */\n\tactiveOptionIndex: PropTypes.number,\n\t/**\n\t * **Assistive text for accessibility**\n\t * This object is merged with the default props object on every render.\n\t * * `label`: This is used as a visually hidden label if, no `labels.label` is provided.\n\t * * `removePill`: Aids in keyboard interaction with Pills.\n\t * * `selectedListboxLabel`: Used to identify the listbox\n\t */\n\tassistiveText: PropTypes.shape({\n\t\tlabel: PropTypes.string,\n\t\tremovePill: PropTypes.string,\n\t\tselectedListboxLabel: PropTypes.string,\n\t}),\n\t/**\n\t * CSS classes to be added to the top-level `div` tag.\n\t */\n\tclassName: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\t/*\n\t * Callbacks for various pill events such as click, focus, etc\n\t */\n\tevents: PropTypes.shape({\n\t\tonClickPill: PropTypes.func,\n\t\tonPillFocus: PropTypes.func.isRequired,\n\t\tonRequestFocus: PropTypes.func.isRequired,\n\t\tonRequestFocusOnNextPill: PropTypes.func.isRequired,\n\t\tonRequestFocusOnPreviousPill: PropTypes.func.isRequired,\n\t\tonRequestRemove: PropTypes.func.isRequired,\n\t}),\n\t/**\n\t * HTML id for component main container\n\t */\n\tid: PropTypes.string,\n\t/**\n\t * Determines whether component renders as a bare pill container with associated styling for child pills\n\t */\n\tisBare: PropTypes.bool,\n\t/**\n\t * Adds inline (inside of input) styling\n\t */\n\tisInline: PropTypes.bool,\n\t/**\n\t * Determines whether component renders as a pill container with associated styling and behavior\n\t */\n\tisPillContainer: PropTypes.bool,\n\t/**\n\t * The value of `aria-orientation` to use on the listbox element\n\t */\n\tlistboxAriaOrientation: PropTypes.string,\n\t/**\n\t * The value of `role` to use on the listbox element\n\t */\n\tlistboxRole: PropTypes.string,\n\t/**\n\t * The value of `aria-orientation` to use on the container element\n\t */\n\tcontainerAriaOrientation: PropTypes.string,\n\t/**\n\t * The value of `role` to use on the container element\n\t */\n\tcontainerRole: PropTypes.string,\n\t/*\n\t * Pill Label\n\t */\n\tlabels: PropTypes.shape({\n\t\tlabel: PropTypes.string,\n\t\tremove: PropTypes.string,\n\t\ttitle: PropTypes.string,\n\t}),\n\t/**\n\t * Changes styles of the input. Currently `entity` is not supported.\n\t */\n\trenderAtSelectionLength: PropTypes.number,\n\t/**\n\t * This callback exposes the selected listbox reference / DOM node to parent components.\n\t */\n\tselectedListboxRef: PropTypes.func,\n\t/**\n\t * Accepts an array of item objects.\n\t */\n\tselection: PropTypes.array,\n\t/**\n\t * Custom styles to be passed to the top-level `div` tag\n\t */\n\tstyle: PropTypes.object,\n\t/**\n\t * Requests that the active option set focus on render\n\t */\n\tlistboxHasFocus: PropTypes.bool,\n\t/**\n\t * Changes styles of the input. Currently `entity` is not supported.\n\t */\n\tvariant: PropTypes.oneOf(['base', 'inline-listbox', 'readonly']),\n};\n\nconst defaultProps = {\n\tlistboxAriaOrientation: 'horizontal',\n\tlistboxRole: 'listbox',\n\trenderAtSelectionLength: 1,\n};\n\nconst getAvatar = (option) => {\n\tconst avatarObject = option.avatar;\n\tlet avatar = null;\n\n\tif (avatarObject) {\n\t\tif (isReactComponent(avatarObject) || avatarObject instanceof HTMLElement) {\n\t\t\tavatar = avatarObject;\n\t\t} else if (avatarObject.imgSrc) {\n\t\t\tavatar = (\n\t\t\t\t<Avatar\n\t\t\t\t\timgSrc={avatarObject.imgSrc}\n\t\t\t\t\ttitle={avatarObject.title || option.label}\n\t\t\t\t\tvariant={avatarObject.variant || 'user'}\n\t\t\t\t/>\n\t\t\t);\n\t\t}\n\t}\n\n\treturn avatar;\n};\n\nconst getIcon = (option) => {\n\tconst iconObject = option.icon;\n\tlet icon = null;\n\n\tif (iconObject) {\n\t\tif (isReactComponent(iconObject) || iconObject instanceof HTMLElement) {\n\t\t\ticon = iconObject;\n\t\t} else if (iconObject.category && iconObject.name) {\n\t\t\ticon = (\n\t\t\t\t<Icon\n\t\t\t\t\tcategory={iconObject.category}\n\t\t\t\t\tname={iconObject.name}\n\t\t\t\t\ttitle={iconObject.title || option.label}\n\t\t\t\t/>\n\t\t\t);\n\t\t}\n\t}\n\n\treturn icon;\n};\n\nconst SelectedListBox = (props) =>\n\tprops.selection.length >= props.renderAtSelectionLength ? (\n\t\t<div // eslint-disable-line jsx-a11y/role-supports-aria-props\n\t\t\tclassName={\n\t\t\t\tclassNames(\n\t\t\t\t\t{\n\t\t\t\t\t\t'slds-pill_container': props.isPillContainer,\n\t\t\t\t\t},\n\t\t\t\t\tprops.className\n\t\t\t\t) || undefined\n\t\t\t}\n\t\t\tid={props.id}\n\t\t\tref={(ref) => {\n\t\t\t\tif (props.selectedListboxRef) {\n\t\t\t\t\tprops.selectedListboxRef(ref);\n\t\t\t\t}\n\t\t\t}}\n\t\t\tstyle={props.style}\n\t\t\t// Remove role and aria-orientation after slds-has-inline-listbox is deprecated in Combobox\n\t\t\trole={props.containerRole}\n\t\t\taria-orientation={props.containerAriaOrientation}\n\t\t>\n\t\t\t<ul\n\t\t\t\tclassName={classNames('slds-listbox', {\n\t\t\t\t\t'slds-listbox_inline': props.isInline,\n\t\t\t\t\t'slds-listbox_horizontal': !props.isInline,\n\t\t\t\t\t'slds-p-top_xxx-small': !props.isInline,\n\t\t\t\t})}\n\t\t\t\taria-label={props.assistiveText.selectedListboxLabel}\n\t\t\t\trole={props.listboxRole}\n\t\t\t\taria-orientation={props.listboxAriaOrientation}\n\t\t\t>\n\t\t\t\t{props.selection.map((option, renderIndex) => {\n\t\t\t\t\tconst hasTabIndex = renderIndex === props.activeOptionIndex;\n\t\t\t\t\tconst icon = getIcon(option);\n\t\t\t\t\tconst avatar = !icon ? getAvatar(option) : null;\n\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<li\n\t\t\t\t\t\t\trole=\"presentation\"\n\t\t\t\t\t\t\tclassName=\"slds-listbox__item\"\n\t\t\t\t\t\t\tkey={`${props.id}-list-item-${option.id}`}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<Pill\n\t\t\t\t\t\t\t\tactive={hasTabIndex && props.listboxHasFocus}\n\t\t\t\t\t\t\t\tassistiveText={{\n\t\t\t\t\t\t\t\t\tremove: props.assistiveText.removePill,\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\tavatar={avatar}\n\t\t\t\t\t\t\t\tbare={option.bare || props.isBare}\n\t\t\t\t\t\t\t\terror={option.error}\n\t\t\t\t\t\t\t\tevents={{\n\t\t\t\t\t\t\t\t\tonBlur: props.events.onBlurPill,\n\t\t\t\t\t\t\t\t\tonClick:\n\t\t\t\t\t\t\t\t\t\ttypeof props.events.onClickPill === 'function'\n\t\t\t\t\t\t\t\t\t\t\t? (event, data) => {\n\t\t\t\t\t\t\t\t\t\t\t\t\tprops.events.onClickPill(event, {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t...data,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tindex: renderIndex,\n\t\t\t\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t\t\t }\n\t\t\t\t\t\t\t\t\t\t\t: null,\n\t\t\t\t\t\t\t\t\tonFocus: (event, data) => {\n\t\t\t\t\t\t\t\t\t\tprops.events.onPillFocus(event, {\n\t\t\t\t\t\t\t\t\t\t\t...data,\n\t\t\t\t\t\t\t\t\t\t\tindex: renderIndex,\n\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\tonRequestFocusOnNextPill:\n\t\t\t\t\t\t\t\t\t\tprops.events.onRequestFocusOnNextPill,\n\t\t\t\t\t\t\t\t\tonRequestFocusOnPreviousPill:\n\t\t\t\t\t\t\t\t\t\tprops.events.onRequestFocusOnPreviousPill,\n\t\t\t\t\t\t\t\t\tonRequestRemove: (event, data) => {\n\t\t\t\t\t\t\t\t\t\tprops.events.onRequestRemove(event, {\n\t\t\t\t\t\t\t\t\t\t\t...data,\n\t\t\t\t\t\t\t\t\t\t\tindex: renderIndex,\n\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\tonRequestFocus: props.events.onRequestFocus,\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\teventData={{ option }}\n\t\t\t\t\t\t\t\thasError={option.error}\n\t\t\t\t\t\t\t\ticon={icon}\n\t\t\t\t\t\t\t\tlabels={{\n\t\t\t\t\t\t\t\t\tlabel: option.label,\n\t\t\t\t\t\t\t\t\tremoveTitle: props.labels.removePillTitle,\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\trequestFocus={props.listboxHasFocus}\n\t\t\t\t\t\t\t\ttabIndex={hasTabIndex ? 0 : -1}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</li>\n\t\t\t\t\t);\n\t\t\t\t})}\n\t\t\t</ul>\n\t\t</div>\n\t) : null;\n\nSelectedListBox.displayName = 'SelectedListBox';\nSelectedListBox.propTypes = propTypes;\nSelectedListBox.defaultProps = defaultProps;\n\nexport default SelectedListBox;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\nimport escapeRegExp from 'lodash.escaperegexp';\n\n// Determines the focusedIndex of a menu item following keyboard letter presses\nconst keyLetterMenuItemSelect = ({ key, keyBuffer, keyCode, options }) => {\n\tlet ch = key || String.fromCharCode(keyCode);\n\n\tif (/^[ -~]$/.test(ch)) {\n\t\tch = ch.toLowerCase();\n\t} else {\n\t\tch = null;\n\t}\n\n\tconst pattern = keyBuffer(ch);\n\tlet consecutive = 0;\n\tlet focusedIndex;\n\n\t// Support for navigating to the next option of the same letter with repeated presses of the same key\n\tif (\n\t\tpattern.length > 1 &&\n\t\tnew RegExp(`^[${escapeRegExp(ch)}]+$`).test(pattern)\n\t) {\n\t\tconsecutive = pattern.length;\n\t}\n\n\toptions.forEach((item, index) => {\n\t\tconst itemLabel = String(item.label).toLowerCase();\n\n\t\tif (\n\t\t\t(focusedIndex === undefined &&\n\t\t\t\titemLabel.substr(0, pattern.length) === pattern) ||\n\t\t\t(consecutive > 0 && itemLabel.substr(0, 1) === ch)\n\t\t) {\n\t\t\tconsecutive -= 1;\n\t\t\tfocusedIndex = index;\n\t\t}\n\t});\n\n\treturn focusedIndex;\n};\n\nexport default keyLetterMenuItemSelect;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// Scrolls a menu container to the appropriate focused item. Assumes container is positioned (absolute, relative, etc)\nconst menuItemSelectScroll = ({\n\tcontainer,\n\tfocusedIndex,\n\titemTag = 'li',\n\tscrollPadding = 4,\n}) => {\n\tconst domItem = container.querySelector(\n\t\t`${itemTag}:nth-child(${focusedIndex + 1})`\n\t);\n\n\tif (domItem) {\n\t\tif (\n\t\t\tdomItem.offsetHeight - container.scrollTop + domItem.offsetTop >=\n\t\t\tcontainer.offsetHeight\n\t\t) {\n\t\t\t// eslint-disable-next-line no-param-reassign\n\t\t\tcontainer.scrollTop =\n\t\t\t\tdomItem.offsetHeight +\n\t\t\t\tdomItem.offsetTop -\n\t\t\t\tcontainer.offsetHeight +\n\t\t\t\tscrollPadding;\n\t\t} else if (domItem.offsetTop <= container.scrollTop) {\n\t\t\t// eslint-disable-next-line no-param-reassign\n\t\t\tcontainer.scrollTop = domItem.offsetTop - scrollPadding;\n\t\t}\n\t}\n};\n\nexport default menuItemSelectScroll;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n/* eslint-disable import/no-mutable-exports */\n\nimport deprecatedProperty from '../../utilities/warning/deprecated-property';\nimport oneOfRequiredProperty from '../../utilities/warning/one-of-required-property';\nimport getComponentDocFn from '../../utilities/get-component-doc';\n\nlet checkProps = function checkPropsFunction() {};\n\nif (process.env.NODE_ENV !== 'production') {\n\tcheckProps = function checkPropsFunction(COMPONENT, props, jsonDoc) {\n\t\tconst createDocUrl = getComponentDocFn(jsonDoc);\n\t\t/* eslint-disable max-len */\n\t\tdeprecatedProperty(\n\t\t\tCOMPONENT,\n\t\t\tprops.isInline,\n\t\t\t'isInline',\n\t\t\t'menuPosition=\"relative\"',\n\t\t\tcreateDocUrl('menuPosition')\n\t\t);\n\t\tdeprecatedProperty(\n\t\t\tCOMPONENT,\n\t\t\tprops.menuItem,\n\t\t\t'menuItem',\n\t\t\t'onRenderMenuItem',\n\t\t\tcreateDocUrl('onRenderItem')\n\t\t);\n\t\tdeprecatedProperty(\n\t\t\tCOMPONENT,\n\t\t\tprops.readOnlyMenuItemVisibleLength,\n\t\t\t'readOnlyMenuItemVisibleLength',\n\t\t\t'menuItemVisibleLength',\n\t\t\tcreateDocUrl('menuItemVisibleLength')\n\t\t);\n\t\t/* eslint-enable max-len */\n\n\t\tif (props.variant !== 'popover') {\n\t\t\toneOfRequiredProperty(\n\t\t\t\tCOMPONENT,\n\t\t\t\t{\n\t\t\t\t\toptions: props.options,\n\t\t\t\t},\n\t\t\t\tcreateDocUrl('options')\n\t\t\t);\n\t\t} else {\n\t\t\toneOfRequiredProperty(\n\t\t\t\tCOMPONENT,\n\t\t\t\t{\n\t\t\t\t\t\"assistiveText['popoverLabel']\": props.assistiveText.popoverLabel,\n\t\t\t\t},\n\t\t\t\tcreateDocUrl('assistiveText')\n\t\t\t);\n\t\t}\n\t};\n}\n\nexport default checkProps;\n","/* eslint-disable max-lines */\n/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n/* eslint-disable max-lines */\n\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\nimport assign from 'lodash.assign';\nimport find from 'lodash.find';\nimport reject from 'lodash.reject';\nimport isEqual from 'lodash.isequal';\nimport findIndex from 'lodash.findindex';\nimport isFunction from 'lodash.isfunction';\n\nimport classNames from 'classnames';\n\nimport shortid from 'shortid';\n\nimport Button from '../button';\nimport Dialog from '../utilities/dialog';\nimport InnerInput from '../../components/input/private/inner-input';\nimport InputIcon from '../icon/input-icon';\nimport Menu from './private/menu';\nimport Label from '../forms/private/label';\nimport Popover from '../popover';\nimport SelectedListBox from '../pill-container/private/selected-listbox';\n\nimport FieldLevelHelpTooltip from '../tooltip/private/field-level-help-tooltip';\nimport KEYS from '../../utilities/key-code';\nimport KeyBuffer from '../../utilities/key-buffer';\nimport keyLetterMenuItemSelect from '../../utilities/key-letter-menu-item-select';\nimport mapKeyEventCallbacks from '../../utilities/key-callbacks';\nimport menuItemSelectScroll from '../../utilities/menu-item-select-scroll';\n\nimport checkProps from './check-props';\n\nimport { COMBOBOX } from '../../utilities/constants';\nimport componentDoc from './component.json';\n\nlet currentOpenDropdown;\nconst documentDefined = typeof document !== 'undefined';\n\nconst propTypes = {\n\t/**\n\t * **Assistive text for accessibility**\n\t * This object is merged with the default props object on every render.\n\t * * `label`: This is used as a visually hidden label if, no `labels.label` is provided.\n\t * * `loading`: Text added to loading spinner.\n\t * * `optionSelectedInMenu`: Added before selected menu items in Read-only variants (Picklists). The default is `Current Selection:`.\n\t * * `popoverLabel`: Used by popover variant, assistive text for the Popover aria-label.\n\t * * `removeSingleSelectedOption`: Used by inline-listbox, single-select variant to remove the selected item (pill). This is a button with focus. The default is `Remove selected option`.\n\t * * `removePill`: Used by multiple selection Comboboxes to remove a selected item (pill). Focus is on the pill. This is not a button. The default is `, Press delete or backspace to remove`.\n\t * * `selectedListboxLabel`: This is a label for the selected listbox. The grouping of pills for multiple selection Comboboxes. The default is `Selected Options:`.\n\t * _Tested with snapshot testing._\n\t */\n\tassistiveText: PropTypes.shape({\n\t\tlabel: PropTypes.string,\n\t\tloadingMenuItems: PropTypes.string,\n\t\toptionSelectedInMenu: PropTypes.string,\n\t\tpopoverLabel: PropTypes.string,\n\t\tremoveSingleSelectedOption: PropTypes.string,\n\t\tremovePill: PropTypes.string,\n\t\tselectedListboxLabel: PropTypes.string,\n\t}),\n\t/**\n\t * The `aria-describedby` attribute is used to indicate the IDs of the elements that describe the object. It is used to establish a relationship between widgets or groups and text that described them.\n\t * This is very similar to aria-labelledby: a label describes the essence of an object, while a description provides more information that the user might need. _Tested with snapshot testing._\n\t */\n\t'aria-describedby': PropTypes.string,\n\t/**\n\t * CSS classes to be added to tag with `.slds-combobox`. Uses `classNames` [API](https://github.com/JedWatson/classnames). _Tested with snapshot testing._\n\t */\n\tclassName: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\t/**\n\t * CSS classes to be added to top level tag with `.slds-form-element` and not on `.slds-combobox_container`. Uses `classNames` [API](https://github.com/JedWatson/classnames). _Tested with snapshot testing._\n\t */\n\tclassNameContainer: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\t/**\n\t * CSS classes to be added to tag with `.slds-dropdown`. Uses `classNames` [API](https://github.com/JedWatson/classnames). Autocomplete/bass variant menu height should not scroll and should be determined by number items which should be no more than 10. _Tested with snapshot testing._\n\t */\n\tclassNameMenu: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\t/**\n\t * CSS classes to be added to tag with `.slds-dropdown__header`. Uses `classNames` [API](https://github.com/JedWatson/classnames).\n\t */\n\tclassNameMenuSubHeader: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\t/**\n\t * Event Callbacks\n\t * * `onBlur`: Called when `input` removes focus.\n\t * * `onChange`: Called when keyboard events occur within `input`\n\t * * `onClose`: Triggered when the menu has closed.\n\t * * `onFocus`: Called when `input` receives focus.\n\t * * `onOpen`: Triggered when the menu has opened.\n\t * * `onRequestClose`: Function called when the menu would like to hide. Please use with `isOpen`.\n\t * * `onRequestOpen`: Function called when the menu would like to show. Please use with `isOpen`.\n\t * * `onRequestRemoveSelectedOption`: Function called when a single selection option is to be removed.\n\t * * `onSelect`: Function called when a menu item is selected. This includes header and footer items.\n\t * * `onSubmit`: Function called when user presses enter or submits the `input`\n\t * _Tested with Mocha testing._\n\t */\n\tevents: PropTypes.shape({\n\t\tonBlur: PropTypes.func,\n\t\tonChange: PropTypes.func,\n\t\tonClose: PropTypes.func,\n\t\tonFocus: PropTypes.func,\n\t\tonOpen: PropTypes.func,\n\t\tonRequestClose: PropTypes.func,\n\t\tonRequestOpen: PropTypes.func,\n\t\tonRequestRemoveSelectedOption: PropTypes.func,\n\t\tonSelect: PropTypes.func,\n\t\tonSubmit: PropTypes.func,\n\t}),\n\t/**\n\t * Message to display when the input is in an error state. When this is present, also visually highlights the component as in error. _Tested with snapshot testing._\n\t */\n\terrorText: PropTypes.string,\n\t/**\n\t * A [Tooltip](https://react.lightningdesignsystem.com/components/tooltips/) component that is displayed next to the `labels.label`. The props from the component will be merged and override any default props.\n\t */\n\tfieldLevelHelpTooltip: PropTypes.node,\n\t/**\n\t * If true, loading spinner appears inside input on right hand side.\n\t */\n\thasInputSpinner: PropTypes.bool,\n\t/**\n\t * Add loading spinner below the options\n\t */\n\thasMenuSpinner: PropTypes.bool,\n\t/**\n\t * By default, dialogs will flip their alignment (such as bottom to top) if they extend beyond a boundary element such as a scrolling parent or a window/viewpoint. `hasStaticAlignment` disables this behavior and allows this component to extend beyond boundary elements. _Not tested._\n\t */\n\thasStaticAlignment: PropTypes.bool,\n\t/**\n\t * HTML id for component. _Tested with snapshot testing._\n\t */\n\tid: PropTypes.string,\n\t/**\n\t * An [Input](https://react.lightningdesignsystem.com/components/inputs) component.\n\t * The props from this component will override any default props.\n\t */\n\tinput: PropTypes.node,\n\t/**\n\t * **Text labels for internationalization**\n\t * This object is merged with the default props object on every render.\n\t * * `label`: This label appears above the input.\n\t * * `cancelButton`: This label is only used by the dialog variant for the cancel button in the footer of the dialog. The default is `Cancel`\n\t * * `doneButton`: This label is only used by the dialog variant for the done button in the footer of the dialog. The default is `Done`\n\t * * `multipleOptionsSelected`: This label is used by the readonly variant when multiple options are selected. The default is `${props.selection.length} options selected`. This will override the entire string.\n\t * * `noOptionsFound`: Custom message that renders when no matches found. The default empty state is just text that says, 'No matches found.'.\n\t * * `placeholder`: Input placeholder\n\t * * `placeholderReadOnly`: Placeholder for Picklist-like Combobox\n\t * * `removePillTitle`: Title on `X` icon\n\t * _Tested with snapshot testing._\n\t */\n\tlabels: PropTypes.shape({\n\t\tlabel: PropTypes.oneOfType([PropTypes.node, PropTypes.string]),\n\t\tmultipleOptionsSelected: PropTypes.string,\n\t\tnoOptionsFound: PropTypes.oneOfType([PropTypes.node, PropTypes.string]),\n\t\tplaceholder: PropTypes.string,\n\t\tplaceholderReadOnly: PropTypes.string,\n\t\tremovePillTitle: PropTypes.string,\n\t}),\n\t/**\n\t * Forces the dropdown to be open or closed. See controlled/uncontrolled callback/prop pattern for more on suggested use view [Concepts and Best Practices](https://github.com/salesforce-ux/design-system-react/blob/master/CONTRIBUTING.md#concepts-and-best-practices) _Tested with snapshot testing._\n\t */\n\tisOpen: PropTypes.bool,\n\t/**\n\t * Sets the dialog width to the width of one of the following:\n\t * * `target`: Sets the dialog width to the width of the target. (Menus attached to `input` typically follow this UX pattern),\n\t * * `menu`: Consider setting a `menuMaxWidth` if using this value. If not, width will be set to width of largest menu item.\n\t * * `none`: Does not set a width on the dialog. _Tested with snapshot testing._\n\t */\n\tinheritWidthOf: PropTypes.oneOf(['target', 'menu', 'none']),\n\t/**\n\t * Accepts a custom menu item rendering function that becomes a custom component. It should return a React node. The checkmark is still rendered in readonly variants. This function is passed the following props:\n\t * * `assistiveText`: Object, `assistiveText` prop that is passed into Combobox\n\t * * `option`: Object, option data for item being rendered that is passed into Combobox\n\t * * `selected`: Boolean, allows rendering of `assistiveText.optionSelectedInMenu` in Readonly Combobox\n\t *\n\t * _Tested with snapshot testing._\n\t */\n\tonRenderMenuItem: PropTypes.func,\n\t/**\n\t * Please select one of the following:\n\t * * `absolute` - (default) The dialog will use `position: absolute` and style attributes to position itself. This allows inverted placement or flipping of the dialog.\n\t * * `overflowBoundaryElement` - The dialog will overflow scrolling parents. Use on elements that are aligned to the left or right of their target and don't care about the target being within a scrolling parent. Typically this is a popover or tooltip. Dropdown menus can usually open up and down if no room exists. In order to achieve this a portal element will be created and attached to `body`. This element will render into that detached render tree.\n\t * * `relative` - No styling or portals will be used. Menus will be positioned relative to their triggers. This is a great choice for HTML snapshot testing.\n\t */\n\tmenuPosition: PropTypes.oneOf([\n\t\t'absolute',\n\t\t'overflowBoundaryElement',\n\t\t'relative',\n\t]),\n\t/**\n\t * Sets a maximum width that the menu will be used if `inheritWidthOf` is set to `menu`. (Example: 500px) _Tested with snapshot testing._\n\t *\n\t */\n\tmenuMaxWidth: PropTypes.string,\n\t/**\n\t * Allows multiple selections _Tested with mocha testing._\n\t */\n\tmultiple: PropTypes.bool,\n\t/**\n\t * **Array of item objects in the dropdown menu.**\n\t * Each object can contain:\n\t * * `icon`: An `Icon` component. (not used in read-only variant)\n\t * * `id`: A unique identifier string.\n\t * * `label`: A primary string of text for a menu item or group separator.\n\t * * `subTitle`: A secondary string of text added for clarity. (optional)\n\t * * `type`: 'separator' is the only type currently used\n\t * * `disabled`: Set to true to disable this menu item.\n\t * * `tooltipContent`: Content that is displayed in tooltip when item is disabled\n\t * ```\n\t * {\n\t * \tid: '2',\n\t * \tlabel: 'Salesforce.com, Inc.',\n\t * \tsubTitle: 'Account • San Francisco',\n\t * \ttype: 'account',\n\t * disabled: true,\n\t * tooltipContent: \"You don't have permission to select this item.\"\n\t * },\n\t * ```\n\t * Note: At the moment, Combobox does not support two consecutive separators. _Tested with snapshot testing._\n\t */\n\toptions: PropTypes.arrayOf(\n\t\tPropTypes.PropTypes.shape({\n\t\t\tid: PropTypes.string.isRequired,\n\t\t\ticon: PropTypes.node,\n\t\t\tlabel: PropTypes.string,\n\t\t\tsubTitle: PropTypes.string,\n\t\t\ttype: PropTypes.string,\n\t\t\tdisabled: PropTypes.boolean,\n\t\t\ttooltipContent: PropTypes.node,\n\t\t})\n\t),\n\t/**\n\t * Determines the height of the menu based on SLDS CSS classes. This is a `number`. The default for a `readonly` variant is `5`.\n\t */\n\tmenuItemVisibleLength: PropTypes.oneOf([5, 7, 10]),\n\t/**\n\t * Limits auto-complete input submission to one of the provided options. _Tested with mocha testing._\n\t */\n\tpredefinedOptionsOnly: PropTypes.bool,\n\t/**\n\t * A `Popover` component. The props from this popover will be merged and override any default props. This also allows a Combobox's Popover dialog to be a controlled component. _Tested with snapshot testing._\n\t */\n\tpopover: PropTypes.node,\n\t/**\n\t * Applies label styling for a required form element. _Tested with snapshot testing._\n\t */\n\trequired: PropTypes.bool,\n\t/**\n\t * Accepts an array of item objects. For single selection, pass in an array of one object. For item object keys, see `options` prop. _Tested with snapshot testing._\n\t */\n\tselection: PropTypes.arrayOf(\n\t\tPropTypes.PropTypes.shape({\n\t\t\tid: PropTypes.string.isRequired,\n\t\t\ticon: PropTypes.node,\n\t\t\tlabel: PropTypes.string,\n\t\t\tsubTitle: PropTypes.string,\n\t\t\ttype: PropTypes.string,\n\t\t})\n\t).isRequired,\n\t/**\n\t * This callback exposes the selected listbox reference / DOM node to parent components.\n\t */\n\tselectedListboxRef: PropTypes.func,\n\t/**\n\t * Disables the input and prevents editing the contents. This only applies for single readonly and inline-listbox variants.\n\t */\n\tsingleInputDisabled: PropTypes.bool,\n\t/**\n\t * Accepts a tooltip that is displayed when hovering on disabled menu items.\n\t */\n\ttooltipMenuItemDisabled: PropTypes.element,\n\t/**\n\t * Value of input. _This is a controlled component,_ so you will need to control the input value by passing the `value` from `onChange` to a parent component or state manager, and then pass it back into the componet with this prop. Please see examples for more clarification. _Tested with snapshot testing._\n\t */\n\tvalue: PropTypes.string,\n\t/**\n\t * Changes styles of the input and menu. Currently `entity` is not supported.\n\t * The options are:\n\t * * `base`: An autocomplete Combobox also allows a user to select an option from a list, but that list can be affected by what the user types into the input of the Combobox. The SLDS website used to call the autocomplete Combobox its `base` variant.\n\t * * `inline-listbox`: An Entity Autocomplete Combobox or Lookup, is used to search for and select Salesforce Entities.\n\t * * `popover`: A dialog Combobox is best used when a listbox, tree, grid, or tree-grid is not the best solution. This variant allows custom content.\n\t * * `readonly`: A readonly text input that allows a user to select an option from a pre-defined list of options. It does not allow free form user input, nor does it allow the user to modify the selected value.\n\t *\n\t * _Tested with snapshot testing._\n\t */\n\t/**\n\t * Default value of input. Provide uncontroled behaviour\n\t */\n\tdefaultValue: PropTypes.string,\n\t/**\n\t * **Array of item objects in the dropdown menu that is displayed below the list of `options`. `onSelect` fires when selected.**\n\t * Each object can contain:\n\t * * `id`: A unique identifier string.\n\t * * `icon`: An [Icon](/components/icons/) component to be displayed to the left of the menu item `label`.\n\t * * `label`: A primary string of text for a menu item or a function that receives `inputValue` as function parameter and returns text to be displayed in for a menu item.\n\t * ```\n\t * {\n\t * \tid: '1',\n\t * \ticon: (\n\t * \t<Icon\n\t * \t\t\tassistiveText={{ label: 'add' }}\n\t * \t\t\tcategory=\"utility\"\n\t * \t\t\tsize=\"x-small\"\n\t * \t\t\tname=\"add\"\n\t * \t\t/>\n\t * \t),\n\t * \tlabel: 'New Entity'\n\t * }\n\t * ```\n\t * _Tested with snapshot testing._\n\t */\n\toptionsAddItem: PropTypes.arrayOf(\n\t\tPropTypes.shape({\n\t\t\tid: PropTypes.string,\n\t\t\ticon: PropTypes.node,\n\t\t\tlabel: PropTypes.oneOfType([PropTypes.string, PropTypes.func]),\n\t\t})\n\t),\n\t/**\n\t * **Array of item objects in the dropdown menu that is displayed above the list of `options`. `onSelect` fires when selected. **\n\t * Each object can contain:\n\t * * `id`: A unique identifier string.\n\t * * `icon`: An [Icon](/components/icons/) component to be displayed to the left of the menu item `label`.\n\t * * `label`: A primary string of text for a menu item or a function that receives `inputValue` as function parameter and returns text to be displayed in for a menu item.\n\t * ```\n\t * {\n\t *\tid: '1',\n\t *\ticon: (\n\t *\t\t<Icon\n\t *\t\t\tassistiveText={{ label: 'Add in Accounts' }}\n\t *\t\t\tsize=\"x-small\"\n\t *\t\t\tcategory=\"utility\"\n\t *\t\t\tname=\"search\"\n\t *\t\t/>\n\t *\t),\n\t *\tlabel: (searchTerm) => {\n\t *\t\treturn `${searchTerm} in Accounts`;\n\t *\t},\n\t * }\n\t * ```\n\t * _Tested with snapshot testing._\n\t */\n\toptionsSearchEntity: PropTypes.arrayOf(\n\t\tPropTypes.shape({\n\t\t\tid: PropTypes.string,\n\t\t\ticon: PropTypes.node,\n\t\t\tlabel: PropTypes.oneOfType([PropTypes.string, PropTypes.func]),\n\t\t})\n\t),\n\t/**\n\t * Node of type [Combobox](/components/comboboxes/) for creating grouped comboboxes.\n\t */\n\tentityCombobox: PropTypes.node,\n\t/**\n\t * Defines Combobox variant styling and functionality\n\t */\n\tvariant: PropTypes.oneOf(['base', 'inline-listbox', 'popover', 'readonly']),\n};\n\nconst defaultProps = {\n\tassistiveText: {\n\t\tloadingMenuItems: 'Loading',\n\t\toptionSelectedInMenu: 'Current Selection:',\n\t\tremoveSingleSelectedOption: 'Remove selected option',\n\t\tremovePill: ', Press delete or backspace to remove',\n\t\tselectedListboxLabel: 'Selected Options:',\n\t},\n\tevents: {},\n\tlabels: {\n\t\tcancelButton: 'Cancel',\n\t\tdoneButton: `Done`,\n\t\tnoOptionsFound: 'No matches found.',\n\t\toptionDisabledTooltipLabel: 'This option is disabled.',\n\t\tplaceholderReadOnly: 'Select an Option',\n\t\tremovePillTitle: 'Remove',\n\t},\n\tinheritWidthOf: 'target',\n\tmenuPosition: 'absolute',\n\toptionsSearchEntity: [],\n\toptionsAddItem: [],\n\trequired: false,\n\tselection: [],\n\tsingleInputDisabled: false,\n\tvariant: 'base',\n};\n\n/**\n * A widget that provides a user with an input field that is either an autocomplete or readonly, accompanied with a listbox of pre-definfined options.\n */\nclass Combobox extends React.Component {\n\tconstructor(props) {\n\t\tsuper(props);\n\n\t\tthis.state = {\n\t\t\tactiveOption: undefined,\n\t\t\tactiveOptionIndex: -1,\n\t\t\t// seeding initial state with this.props.selection[0]\n\t\t\tactiveSelectedOption:\n\t\t\t\t(this.props.selection && this.props.selection[0]) || undefined,\n\t\t\tactiveSelectedOptionIndex: 0,\n\t\t\tlistboxHasFocus: false,\n\t\t\tisOpen: typeof props.isOpen === 'boolean' ? props.isOpen : false,\n\t\t};\n\n\t\tthis.menuKeyBuffer = new KeyBuffer();\n\t\tthis.menuRef = undefined;\n\t\tthis.selectedListboxRef = null;\n\n\t\t// `checkProps` issues warnings to developers about properties (similar to React's built in development tools)\n\t\tcheckProps(COMBOBOX, props, componentDoc);\n\n\t\tthis.generatedId = shortid.generate();\n\t\tthis.generatedErrorId = shortid.generate();\n\t}\n\n\t/**\n\t * Lifecycle methods\n\t */\n\n\tcomponentDidUpdate(nextProps) {\n\t\t// This logic will maintain the active highlight even when the\n\t\t// option order changes. One example would be the server pushes\n\t\t// data out as the user has the menu open. This logic clears\n\t\t// `activeOption` if the active option is no longer in the options\n\t\t// list. If it's in the options list, then find the new index and\n\t\t// set `activeOptionIndex`\n\t\tif (!isEqual(this.getOptions(), this.getOptions(nextProps))) {\n\t\t\tconst index = findIndex(this.getOptions(nextProps), (item) =>\n\t\t\t\tisEqual(item, this.state.activeOption)\n\t\t\t);\n\t\t\tif (index !== -1) {\n\t\t\t\t// eslint-disable-next-line react/no-did-update-set-state\n\t\t\t\tthis.setState({ activeOptionIndex: index });\n\t\t\t} else {\n\t\t\t\t// eslint-disable-next-line react/no-did-update-set-state\n\t\t\t\tthis.setState({ activeOption: undefined, activeOptionIndex: -1 });\n\t\t\t}\n\t\t} else if (this.props.isOpen !== nextProps.isOpen) {\n\t\t\t// eslint-disable-next-line react/no-did-update-set-state\n\t\t\tthis.setState({\n\t\t\t\tactiveOption: undefined,\n\t\t\t\tactiveOptionIndex: -1,\n\t\t\t\tisOpen: nextProps.isOpen,\n\t\t\t});\n\t\t}\n\n\t\t// there may be issues with tabindex/focus if the app removes an item\n\t\t// from selection while the user is using the listbox\n\t\tconst selectedOptionsRenderIsInitialRender =\n\t\t\tthis.props.selection &&\n\t\t\tthis.props.selection.length === 0 &&\n\t\t\tnextProps.selection.length > 0;\n\t\tif (selectedOptionsRenderIsInitialRender) {\n\t\t\t// eslint-disable-next-line react/no-did-update-set-state\n\t\t\tthis.setState({\n\t\t\t\tactiveSelectedOption: nextProps.selection[0],\n\t\t\t\tactiveSelectedOptionIndex: 0,\n\t\t\t});\n\t\t}\n\t}\n\n\tcomponentWillUnmount() {\n\t\tif (currentOpenDropdown === this) {\n\t\t\tcurrentOpenDropdown = undefined;\n\t\t}\n\t}\n\n\tgetCustomPopoverProps = (body, { assistiveText, labels }) => {\n\t\t/*\n\t\t * Generate the popover props based on passed in popover props. Using the default behavior if not provided by passed in popover\n\t\t */\n\t\tconst popoverBody = (\n\t\t\t<div>\n\t\t\t\t<div className=\"slds-assistive-text\" id={`${this.getId()}-label`}>\n\t\t\t\t\t{assistiveText.popoverLabel}\n\t\t\t\t</div>\n\t\t\t\t{body}\n\t\t\t</div>\n\t\t);\n\n\t\tconst popoverFooter = (\n\t\t\t<div>\n\t\t\t\t<Button\n\t\t\t\t\tlabel={labels.cancelButton}\n\t\t\t\t\tonClick={(e) => {\n\t\t\t\t\t\tthis.handleClose(e, { trigger: 'cancel' });\n\t\t\t\t\t}}\n\t\t\t\t/>\n\t\t\t\t<Button\n\t\t\t\t\tlabel={labels.doneButton}\n\t\t\t\t\tvariant=\"brand\"\n\t\t\t\t\tonClick={this.handleClose}\n\t\t\t\t/>\n\t\t\t</div>\n\t\t);\n\n\t\tconst defaultPopoverProps = {\n\t\t\tariaLabelledby: `${this.getId()}-label`,\n\t\t\talign: 'bottom',\n\t\t\tbody: popoverBody,\n\t\t\tclassName: 'slds-popover_full-width',\n\t\t\tfooter: popoverFooter,\n\t\t\tfooterClassName: 'slds-popover__footer_form',\n\t\t\thasNoNubbin: true,\n\t\t\tid: this.getId(),\n\t\t\tisOpen: this.state.isOpen,\n\t\t\thasNoTriggerStyles: true,\n\t\t\tonOpen: this.handleOpen,\n\t\t\tonClose: this.handleClose,\n\t\t\tonRequestClose: this.handleClose,\n\t\t};\n\n\t\t/* Merge in passed popover's props if there is any to override the default popover props */\n\t\tconst popoverProps = assign(\n\t\t\tdefaultPopoverProps,\n\t\t\tthis.props.popover ? this.props.popover.props : {}\n\t\t);\n\t\tpopoverProps.body = popoverBody;\n\n\t\t// eslint-disable-next-line fp/no-delete\n\t\tdelete popoverProps.children;\n\t\treturn popoverProps;\n\t};\n\n\tgetDialog({ menuRenderer }) {\n\t\t// FOR BACKWARDS COMPATIBILITY\n\t\tconst menuPosition = this.props.isInline\n\t\t\t? 'relative'\n\t\t\t: this.props.menuPosition; // eslint-disable-line react/prop-types\n\n\t\treturn !this.props.disabled && this.getIsOpen() ? (\n\t\t\t<Dialog\n\t\t\t\talign=\"bottom left\"\n\t\t\t\tcontext={this.context}\n\t\t\t\thasStaticAlignment={this.props.hasStaticAlignment}\n\t\t\t\tinheritWidthOf={this.props.inheritWidthOf}\n\t\t\t\tonClose={this.handleClose}\n\t\t\t\tonMouseDown={(event) => {\n\t\t\t\t\t// prevent onBlur\n\t\t\t\t\tevent.preventDefault();\n\t\t\t\t}}\n\t\t\t\tonOpen={this.handleOpen}\n\t\t\t\tonRequestTargetElement={this.getTargetElement}\n\t\t\t\tposition={menuPosition}\n\t\t\t\tcontainerProps={{\n\t\t\t\t\tid: `${this.getId()}-listbox`,\n\t\t\t\t\trole: 'listbox',\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\t{menuRenderer}\n\t\t\t</Dialog>\n\t\t) : null;\n\t}\n\n\tgetErrorId() {\n\t\treturn (\n\t\t\tthis.props['aria-describedby'] ||\n\t\t\t(this.props.errorText && this.generatedErrorId)\n\t\t);\n\t}\n\n\t/**\n\t * Shared class property getter methods\n\t */\n\n\tgetId = () => this.props.id || this.generatedId;\n\n\tgetIsActiveOption = () =>\n\t\tthis.state.activeOption && this.state.activeOptionIndex !== -1;\n\n\tgetIsOpen = () =>\n\t\t!!(typeof this.props.isOpen === 'boolean'\n\t\t\t? this.props.isOpen\n\t\t\t: this.state.isOpen);\n\n\tgetNewActiveOptionIndex = ({ activeOptionIndex, offset, options }) => {\n\t\t// used by menu listbox and selected options listbox\n\t\tconst nextIndex = activeOptionIndex + offset;\n\t\tconst skipIndex =\n\t\t\toptions.length > nextIndex &&\n\t\t\tnextIndex >= 0 &&\n\t\t\toptions[nextIndex].type === 'separator';\n\t\tconst newIndex = skipIndex ? nextIndex + offset : nextIndex;\n\t\tconst hasNewIndex = options.length > nextIndex && nextIndex >= 0;\n\t\treturn hasNewIndex ? newIndex : activeOptionIndex;\n\t};\n\n\tgetOptions = (props = this.props) => {\n\t\tconst localProps = props;\n\t\tconst options = [];\n\t\tif (localProps.optionsSearchEntity.length > 0) {\n\t\t\t// eslint-disable-next-line fp/no-mutating-methods\n\t\t\toptions.push(...localProps.optionsSearchEntity);\n\t\t}\n\n\t\tif (localProps.options) {\n\t\t\t// eslint-disable-next-line fp/no-mutating-methods\n\t\t\toptions.push(...localProps.options);\n\t\t}\n\t\tif (localProps.optionsAddItem.length > 0) {\n\t\t\t// eslint-disable-next-line fp/no-mutating-methods\n\t\t\toptions.push(...localProps.optionsAddItem);\n\t\t}\n\t\treturn options;\n\t};\n\n\tgetTargetElement = () => this.inputRef;\n\n\tsetInputRef = (component) => {\n\t\tthis.inputRef = component;\n\t\t// yes, this is a render triggered by a render.\n\t\t// Dialog/Popper.js cannot place the menu until\n\t\t// the trigger/target DOM node is mounted. This\n\t\t// way `findDOMNode` is not called and parent\n\t\t// DOM nodes are not queried.\n\t\tif (!this.state.inputRendered) {\n\t\t\tthis.setState({ inputRendered: true });\n\t\t}\n\t};\n\n\tsetSelectedListboxRef = (ref) => {\n\t\tthis.selectedListboxRef = ref;\n\t\tif (this.props.selectedListboxRef) {\n\t\t\tthis.props.selectedListboxRef(ref);\n\t\t}\n\t};\n\n\thandleBlurPill = () => {\n\t\tthis.setState({ listboxHasFocus: false });\n\t};\n\n\t/**\n\t * Menu open/close and sub-render methods\n\t */\n\thandleClickOutside = (event) => {\n\t\tthis.handleRequestClose(event, {});\n\t};\n\n\thandleClose = (event, { trigger } = {}) => {\n\t\tconst isOpen = this.getIsOpen();\n\n\t\tif (isOpen) {\n\t\t\tif (currentOpenDropdown === this) {\n\t\t\t\tcurrentOpenDropdown = undefined;\n\t\t\t}\n\n\t\t\tthis.setState({\n\t\t\t\tactiveOption: undefined,\n\t\t\t\tactiveOptionIndex: -1,\n\t\t\t\tisOpen: false,\n\t\t\t});\n\n\t\t\tif (this.props.variant === 'popover' && trigger === 'cancel') {\n\t\t\t\tif (this.props.popover.props.onClose) {\n\t\t\t\t\tthis.props.popover.props.onClose(event, { trigger });\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (this.props.events.onClose) {\n\t\t\t\tthis.props.events.onClose(event, {});\n\t\t\t}\n\t\t}\n\t};\n\n\thandleInputBlur = (event) => {\n\t\t// If menu is open when the input's onBlur event fires, it will close before the onClick of the menu item can fire.\n\t\tsetTimeout(() => {\n\t\t\tconst activeElement = documentDefined ? document.activeElement : false;\n\t\t\t// detect if the scrollbar of the combobox-autocomplete/lookup menu is clicked in IE11. If it is, return focus to input, and do not close menu.\n\t\t\tif (\n\t\t\t\tactiveElement &&\n\t\t\t\tactiveElement.tagName === 'DIV' &&\n\t\t\t\tactiveElement.id === `${this.getId()}-listbox`\n\t\t\t) {\n\t\t\t\tif (this.inputRef) {\n\t\t\t\t\tthis.inputRef.focus();\n\t\t\t\t}\n\t\t\t} else if (!this.props.popover) {\n\t\t\t\tthis.handleClose(event);\n\t\t\t}\n\t\t}, 200);\n\n\t\tif (this.props.events.onBlur) {\n\t\t\tthis.props.events.onBlur(event);\n\t\t}\n\t};\n\n\thandleInputChange = (event) => {\n\t\tthis.requestOpenMenu();\n\t\tif (this.props.events && this.props.events.onChange) {\n\t\t\tthis.props.events.onChange(event, { value: event.target.value });\n\t\t}\n\t};\n\n\thandleInputFocus = (event) => {\n\t\tif (this.props.events.onFocus) {\n\t\t\tthis.props.events.onFocus(event, {});\n\t\t}\n\t};\n\n\thandleInputSubmit = (event) => {\n\t\tif (this.state.activeOption && this.state.activeOption.disabled) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (\n\t\t\tthis.state.activeOption &&\n\t\t\t(this.state.activeOption.type === 'header' ||\n\t\t\t\tthis.state.activeOption.type === 'footer')\n\t\t) {\n\t\t\tthis.state.activeOption.onClick(event);\n\t\t\treturn;\n\t\t}\n\n\t\t// use menu options\n\t\tif (this.getIsActiveOption()) {\n\t\t\tthis.handleSelect(event, {\n\t\t\t\toption: this.state.activeOption,\n\t\t\t\tselection: this.props.selection,\n\t\t\t});\n\t\t\t// use input value, if not limited to predefined options (in the menu)\n\t\t} else if (\n\t\t\t!this.props.predefinedOptionsOnly &&\n\t\t\tevent.target.value !== '' &&\n\t\t\tthis.props.events.onSubmit\n\t\t) {\n\t\t\tthis.props.events.onSubmit(event, {\n\t\t\t\tvalue: event.target.value,\n\t\t\t});\n\t\t}\n\t};\n\n\t/**\n\t * Input and menu keyboard event methods\n\t */\n\n\thandleKeyDown = (event) => {\n\t\tconst callbacks = {\n\t\t\t[KEYS.DOWN]: { callback: this.handleKeyDownDown },\n\t\t\t[KEYS.ENTER]: { callback: this.handleInputSubmit },\n\t\t\t[KEYS.ESCAPE]: { callback: this.handleClose },\n\t\t\t[KEYS.UP]: { callback: this.handleKeyDownUp },\n\t\t};\n\n\t\tif (this.props.variant === 'readonly') {\n\t\t\tif (this.props.selection.length > 2) {\n\t\t\t\tcallbacks[KEYS.TAB] = { callback: this.handleKeyDownTab };\n\t\t\t} else {\n\t\t\t\tcallbacks[KEYS.TAB] = undefined;\n\t\t\t}\n\t\t\tcallbacks.other = {\n\t\t\t\tcallback: this.handleKeyDownOther,\n\t\t\t\tstopPropagation: false,\n\t\t\t};\n\t\t}\n\n\t\t// Helper function that takes an object literal of callbacks that are triggered with a key event\n\t\tmapKeyEventCallbacks(event, { callbacks });\n\t};\n\n\thandleKeyDownDown = (event) => {\n\t\t// Don't open if user is selecting text\n\t\tif (!event.shiftKey) {\n\t\t\tthis.openDialog();\n\t\t}\n\n\t\tif (this.props.variant !== 'popover') {\n\t\t\tthis.handleNavigateListboxMenu(event, { direction: 'next' });\n\t\t}\n\t};\n\n\thandleKeyDownTab = () => {\n\t\tif (this.selectedListboxRef) {\n\t\t\tthis.setState({\n\t\t\t\tlistboxHasFocus: true,\n\t\t\t});\n\t\t}\n\t};\n\n\thandleKeyDownUp = (event) => {\n\t\t// Don't open if user is selecting text\n\t\tif (!event.shiftKey && this.getIsOpen()) {\n\t\t\tthis.handleNavigateListboxMenu(event, { direction: 'previous' });\n\t\t}\n\t};\n\n\thandleKeyDownOther = (event) => {\n\t\tconst activeOptionIndex = keyLetterMenuItemSelect({\n\t\t\tkey: event.key,\n\t\t\tkeyBuffer: this.menuKeyBuffer,\n\t\t\tkeyCode: event.keyCode,\n\t\t\toptions: this.getOptions(),\n\t\t});\n\n\t\tif (activeOptionIndex !== undefined) {\n\t\t\tif (this.getIsOpen()) {\n\t\t\t\tmenuItemSelectScroll({\n\t\t\t\t\tcontainer: this.menuRef,\n\t\t\t\t\tfocusedIndex: activeOptionIndex,\n\t\t\t\t});\n\t\t\t}\n\n\t\t\tthis.setState({\n\t\t\t\tactiveOption: this.getOptions()[activeOptionIndex],\n\t\t\t\tactiveOptionIndex,\n\t\t\t});\n\t\t}\n\t};\n\n\thandleNavigateListboxMenu = (event, { direction }) => {\n\t\tconst offsets = { next: 1, previous: -1 };\n\t\t// takes current/previous state and returns an object with the new state\n\t\tthis.setState((prevState) => {\n\t\t\tconst newIndex = this.getNewActiveOptionIndex({\n\t\t\t\tactiveOptionIndex: prevState.activeOptionIndex,\n\t\t\t\toffset: offsets[direction],\n\t\t\t\toptions: this.getOptions(),\n\t\t\t});\n\n\t\t\t// eslint-disable-next-line react/no-access-state-in-setstate\n\t\t\tif (this.getIsOpen()) {\n\t\t\t\tmenuItemSelectScroll({\n\t\t\t\t\tcontainer: this.menuRef,\n\t\t\t\t\tfocusedIndex: newIndex,\n\t\t\t\t});\n\t\t\t}\n\n\t\t\treturn {\n\t\t\t\tactiveOption: this.getOptions()[newIndex],\n\t\t\t\tactiveOptionIndex: newIndex,\n\t\t\t};\n\t\t});\n\t};\n\n\thandleNavigateSelectedListbox = (event, { direction }) => {\n\t\tconst offsets = { next: 1, previous: -1 };\n\t\tthis.setState((prevState) => {\n\t\t\tconst isLastOptionAndRightIsPressed =\n\t\t\t\tprevState.activeSelectedOptionIndex + 1 ===\n\t\t\t\t\tthis.props.selection.length && direction === 'next';\n\t\t\tconst isFirstOptionAndLeftIsPressed =\n\t\t\t\tprevState.activeSelectedOptionIndex === 0 && direction === 'previous';\n\t\t\tlet newState;\n\n\t\t\tif (isLastOptionAndRightIsPressed) {\n\t\t\t\tnewState = {\n\t\t\t\t\tactiveSelectedOption: this.props.selection[0],\n\t\t\t\t\tactiveSelectedOptionIndex: 0,\n\t\t\t\t\tlistboxHasFocus: true,\n\t\t\t\t};\n\t\t\t} else if (isFirstOptionAndLeftIsPressed) {\n\t\t\t\tnewState = {\n\t\t\t\t\tactiveSelectedOption: this.props.selection[\n\t\t\t\t\t\tthis.props.selection.length - 1\n\t\t\t\t\t],\n\t\t\t\t\tactiveSelectedOptionIndex: this.props.selection.length - 1,\n\t\t\t\t\tlistboxHasFocus: true,\n\t\t\t\t};\n\t\t\t} else {\n\t\t\t\tconst newIndex = this.getNewActiveOptionIndex({\n\t\t\t\t\tactiveOptionIndex: prevState.activeSelectedOptionIndex,\n\t\t\t\t\toffset: offsets[direction],\n\t\t\t\t\toptions: this.props.selection,\n\t\t\t\t});\n\t\t\t\tnewState = {\n\t\t\t\t\tactiveSelectedOption: this.props.selection[newIndex],\n\t\t\t\t\tactiveSelectedOptionIndex: newIndex,\n\t\t\t\t\tlistboxHasFocus: true,\n\t\t\t\t};\n\t\t\t}\n\n\t\t\treturn newState;\n\t\t});\n\t};\n\n\thandleOpen = (event, data) => {\n\t\tconst isOpen = this.getIsOpen();\n\n\t\tif (!isOpen) {\n\t\t\tif (currentOpenDropdown && isFunction(currentOpenDropdown.handleClose)) {\n\t\t\t\tcurrentOpenDropdown.handleClose();\n\t\t\t}\n\t\t} else {\n\t\t\tcurrentOpenDropdown = this;\n\n\t\t\tthis.setState({\n\t\t\t\tisOpen: true,\n\t\t\t});\n\n\t\t\tif (this.props.events.onOpen) {\n\t\t\t\tthis.props.events.onOpen(event, data);\n\t\t\t}\n\n\t\t\tif (this.props.variant === 'readonly' && this.menuRef !== null) {\n\t\t\t\tconst activeOptionIndex = findIndex(this.getOptions(), (item) =>\n\t\t\t\t\tisEqual(item, this.props.selection[0])\n\t\t\t\t);\n\n\t\t\t\tthis.setState({\n\t\t\t\t\tactiveOptionIndex,\n\t\t\t\t});\n\n\t\t\t\tmenuItemSelectScroll({\n\t\t\t\t\tcontainer: this.menuRef,\n\t\t\t\t\tfocusedIndex: activeOptionIndex,\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t};\n\n\thandlePillFocus = (event, { option, index }) => {\n\t\tif (!this.state.listboxHasFocus) {\n\t\t\tthis.setState({\n\t\t\t\tactiveSelectedOption: option,\n\t\t\t\tactiveSelectedOptionIndex: index,\n\t\t\t\tlistboxHasFocus: true,\n\t\t\t});\n\t\t}\n\t};\n\n\t/**\n\t * Selected options with selected listbox event methods\n\t */\n\n\thandleRemoveSelectedOption = (event, { option, index }) => {\n\t\tevent.preventDefault();\n\t\tconst onlyOnePillAndInputExists = this.props.selection.length === 1;\n\t\tconst isReadOnlyAndTwoPillsExists =\n\t\t\tthis.props.selection.length === 2 &&\n\t\t\tthis.props.variant === 'readonly' &&\n\t\t\tthis.props.multiple;\n\t\tconst lastPillWasRemoved = index + 1 === this.props.selection.length;\n\n\t\tif (\n\t\t\t(onlyOnePillAndInputExists || isReadOnlyAndTwoPillsExists) &&\n\t\t\tthis.inputRef\n\t\t) {\n\t\t\tthis.inputRef.focus();\n\t\t} else if (lastPillWasRemoved) {\n\t\t\t// set focus to previous option and index\n\t\t\tthis.setState({\n\t\t\t\tactiveSelectedOption: this.props.selection[index - 1],\n\t\t\t\tactiveSelectedOptionIndex: index - 1,\n\t\t\t\tlistboxHasFocus: true,\n\t\t\t});\n\t\t} else {\n\t\t\t// set focus to next option, but same index\n\t\t\tthis.setState({\n\t\t\t\tactiveSelectedOption: this.props.selection[index + 1],\n\t\t\t\tactiveSelectedOptionIndex: index,\n\t\t\t\tlistboxHasFocus: true,\n\t\t\t});\n\t\t}\n\n\t\tif (this.props.events.onRequestRemoveSelectedOption) {\n\t\t\tthis.props.events.onRequestRemoveSelectedOption(event, {\n\t\t\t\tselection: reject(this.props.selection, option),\n\t\t\t});\n\t\t}\n\t};\n\n\thandleRequestClose = (event, data) => {\n\t\tif (this.props.events.onRequestClose) {\n\t\t\tthis.props.events.onRequestClose(event, data);\n\t\t}\n\t\tif (this.getIsOpen()) {\n\t\t\tthis.handleClose(event, { trigger: 'cancel' });\n\t\t}\n\t};\n\n\thandleRequestFocusSelectedListbox = (event, { ref }) => {\n\t\tif (ref) {\n\t\t\tthis.activeSelectedOptionRef = ref;\n\t\t\tthis.activeSelectedOptionRef.focus();\n\t\t}\n\t};\n\n\thandleSelect = (event, { selection, option }) => {\n\t\tlet newSelection;\n\t\tconst isSelected = this.isSelected({ selection, option });\n\t\tconst singleSelectAndSelectedWasNotClicked =\n\t\t\t!this.props.multiple && !isSelected;\n\t\tconst multiSelectAndSelectedWasNotClicked =\n\t\t\tthis.props.multiple && !isSelected;\n\n\t\tif (singleSelectAndSelectedWasNotClicked) {\n\t\t\tnewSelection = [option];\n\t\t} else if (multiSelectAndSelectedWasNotClicked) {\n\t\t\tnewSelection = [...this.props.selection, option];\n\t\t} else {\n\t\t\tnewSelection = reject(this.props.selection, option);\n\t\t}\n\n\t\tif (this.props.events.onSelect) {\n\t\t\tthis.props.events.onSelect(event, { selection: newSelection });\n\t\t}\n\n\t\tthis.handleClose();\n\n\t\t// if (this.inputRef) {\n\t\t// \tthis.inputRef.focus();\n\t\t// }\n\t};\n\n\tisSelected = ({ selection, option }) => !!find(selection, option);\n\n\topenDialog = () => {\n\t\tif (this.props.events.onRequestOpen) {\n\t\t\tthis.props.events.onRequestOpen();\n\t\t} else {\n\t\t\tthis.setState({\n\t\t\t\tisOpen: true,\n\t\t\t});\n\t\t}\n\t};\n\n\trequestOpenMenu = () => {\n\t\tconst isInlineSingleSelectionAndIsNotSelected =\n\t\t\t!this.props.multiple &&\n\t\t\tthis.props.selection.length === 0 &&\n\t\t\tthis.props.variant === 'inline-listbox';\n\n\t\tif (\n\t\t\tisInlineSingleSelectionAndIsNotSelected ||\n\t\t\tthis.props.multiple ||\n\t\t\tthis.props.variant === 'readonly'\n\t\t) {\n\t\t\tthis.openDialog();\n\t\t}\n\t};\n\n\t/**\n\t * Combobox variant subrenders\n\t * (these can probably be broken into function components\n\t * if state is passed in as a prop)\n\t */\n\n\trenderBase = ({ assistiveText, labels, props, userDefinedProps }) => (\n\t\t<div className=\"slds-form-element__control\">\n\t\t\t<div className=\"slds-combobox_container\">\n\t\t\t\t<div\n\t\t\t\t\tclassName={classNames(\n\t\t\t\t\t\t'slds-combobox',\n\t\t\t\t\t\t'slds-dropdown-trigger',\n\t\t\t\t\t\t'slds-dropdown-trigger_click',\n\t\t\t\t\t\t'ignore-react-onclickoutside',\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t'slds-is-open': this.getIsOpen(),\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t'slds-has-error': props.errorText,\n\t\t\t\t\t\t},\n\t\t\t\t\t\tprops.className\n\t\t\t\t\t)}\n\t\t\t\t\t// Not in ARIA 1.2 spec, temporary for SLDS styles\n\t\t\t\t\trole=\"combobox\" // eslint-disable-line jsx-a11y/role-supports-aria-props, jsx-a11y/role-has-required-aria-props\n\t\t\t\t>\n\t\t\t\t\t<InnerInput\n\t\t\t\t\t\taria-autocomplete=\"list\"\n\t\t\t\t\t\taria-controls={\n\t\t\t\t\t\t\tthis.getIsOpen() ? `${this.getId()}-listbox` : undefined\n\t\t\t\t\t\t}\n\t\t\t\t\t\taria-activedescendant={\n\t\t\t\t\t\t\tthis.state.activeOption\n\t\t\t\t\t\t\t\t? `${this.getId()}-listbox-option-${this.state.activeOption.id}`\n\t\t\t\t\t\t\t\t: null\n\t\t\t\t\t\t}\n\t\t\t\t\t\taria-describedby={this.getErrorId()}\n\t\t\t\t\t\taria-expanded={this.getIsOpen()}\n\t\t\t\t\t\taria-haspopup=\"listbox\"\n\t\t\t\t\t\trole=\"combobox\"\n\t\t\t\t\t\tautoComplete=\"off\"\n\t\t\t\t\t\tclassName=\"slds-combobox__input\"\n\t\t\t\t\t\tcontainerProps={{\n\t\t\t\t\t\t\tclassName: 'slds-combobox__form-element',\n\t\t\t\t\t\t\trole: 'none',\n\t\t\t\t\t\t}}\n\t\t\t\t\t\thasSpinner={this.props.hasInputSpinner}\n\t\t\t\t\t\ticonRight={\n\t\t\t\t\t\t\t<InputIcon\n\t\t\t\t\t\t\t\tcategory=\"utility\"\n\t\t\t\t\t\t\t\tname=\"search\"\n\t\t\t\t\t\t\t\ttitle={labels.inputIconTitle}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t}\n\t\t\t\t\t\tid={this.getId()}\n\t\t\t\t\t\tonFocus={this.handleInputFocus}\n\t\t\t\t\t\tonBlur={this.handleInputBlur}\n\t\t\t\t\t\tonKeyDown={this.handleKeyDown}\n\t\t\t\t\t\tinputRef={this.setInputRef}\n\t\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\t\tthis.openDialog();\n\t\t\t\t\t\t}}\n\t\t\t\t\t\tonChange={this.handleInputChange}\n\t\t\t\t\t\tplaceholder={labels.placeholder}\n\t\t\t\t\t\tdefaultValue={props.defaultValue}\n\t\t\t\t\t\treadOnly={\n\t\t\t\t\t\t\t!!(props.predefinedOptionsOnly && this.state.activeOption)\n\t\t\t\t\t\t}\n\t\t\t\t\t\trequired={props.required}\n\t\t\t\t\t\tvalue={\n\t\t\t\t\t\t\tprops.predefinedOptionsOnly\n\t\t\t\t\t\t\t\t? (this.state.activeOption && this.state.activeOption.label) ||\n\t\t\t\t\t\t\t\t props.value\n\t\t\t\t\t\t\t\t: props.value\n\t\t\t\t\t\t}\n\t\t\t\t\t\t{...userDefinedProps.input}\n\t\t\t\t\t/>\n\t\t\t\t\t{this.getDialog({\n\t\t\t\t\t\tmenuRenderer: this.renderMenu({ assistiveText, labels }),\n\t\t\t\t\t})}\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t\t<SelectedListBox\n\t\t\t\tactiveOption={this.state.activeSelectedOption}\n\t\t\t\tactiveOptionIndex={this.state.activeSelectedOptionIndex}\n\t\t\t\tassistiveText={assistiveText}\n\t\t\t\tevents={{\n\t\t\t\t\tonBlurPill: this.handleBlurPill,\n\t\t\t\t\tonPillFocus: this.handlePillFocus,\n\t\t\t\t\tonRequestFocus: this.handleRequestFocusSelectedListbox,\n\t\t\t\t\tonRequestFocusOnNextPill: this.handleNavigateSelectedListbox,\n\t\t\t\t\tonRequestFocusOnPreviousPill: this.handleNavigateSelectedListbox,\n\t\t\t\t\tonRequestRemove: this.handleRemoveSelectedOption,\n\t\t\t\t}}\n\t\t\t\tid={`${this.getId()}-selected-listbox`}\n\t\t\t\tlabels={labels}\n\t\t\t\tselectedListboxRef={this.setSelectedListboxRef}\n\t\t\t\tselection={props.selection}\n\t\t\t\tlistboxHasFocus={this.state.listboxHasFocus}\n\t\t\t/>\n\t\t\t{props.errorText && (\n\t\t\t\t<div className=\"slds-has-error\">\n\t\t\t\t\t<div\n\t\t\t\t\t\tid={this.getErrorId()}\n\t\t\t\t\t\tclassName=\"slds-form-element__help slds-has-error\"\n\t\t\t\t\t>\n\t\t\t\t\t\t{props.errorText}\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t)}\n\t\t</div>\n\t);\n\n\trenderInlineMultiple = ({\n\t\tassistiveText,\n\t\tlabels,\n\t\tprops,\n\t\tuserDefinedProps,\n\t}) => (\n\t\t<div className=\"slds-form-element__control\">\n\t\t\t<div\n\t\t\t\tclassName={classNames('slds-combobox_container', {\n\t\t\t\t\t'slds-has-inline-listbox': props.selection.length,\n\t\t\t\t})}\n\t\t\t>\n\t\t\t\t{props.selection.length ? (\n\t\t\t\t\t<SelectedListBox\n\t\t\t\t\t\tactiveOption={this.state.activeSelectedOption}\n\t\t\t\t\t\tactiveOptionIndex={this.state.activeSelectedOptionIndex}\n\t\t\t\t\t\tassistiveText={assistiveText}\n\t\t\t\t\t\tcontainerRole=\"listbox\"\n\t\t\t\t\t\tcontainerAriaOrientation=\"horizontal\"\n\t\t\t\t\t\tlistboxRole=\"group\"\n\t\t\t\t\t\tlistboxAriaOrientation={null}\n\t\t\t\t\t\tevents={{\n\t\t\t\t\t\t\tonBlurPill: this.handleBlurPill,\n\t\t\t\t\t\t\tonPillFocus: this.handlePillFocus,\n\t\t\t\t\t\t\tonRequestFocus: this.handleRequestFocusSelectedListbox,\n\t\t\t\t\t\t\tonRequestFocusOnNextPill: this.handleNavigateSelectedListbox,\n\t\t\t\t\t\t\tonRequestFocusOnPreviousPill: this.handleNavigateSelectedListbox,\n\t\t\t\t\t\t\tonRequestRemove: this.handleRemoveSelectedOption,\n\t\t\t\t\t\t}}\n\t\t\t\t\t\tid={`${this.getId()}-selected-listbox`}\n\t\t\t\t\t\tlabels={labels}\n\t\t\t\t\t\tselectedListboxRef={this.setSelectedListboxRef}\n\t\t\t\t\t\tselection={props.selection}\n\t\t\t\t\t\tlistboxHasFocus={this.state.listboxHasFocus}\n\t\t\t\t\t/>\n\t\t\t\t) : null}\n\t\t\t\t<div\n\t\t\t\t\tclassName={classNames(\n\t\t\t\t\t\t'slds-combobox',\n\t\t\t\t\t\t'slds-dropdown-trigger',\n\t\t\t\t\t\t'slds-dropdown-trigger_click',\n\t\t\t\t\t\t'ignore-react-onclickoutside',\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t'slds-is-open': this.getIsOpen(),\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t'slds-has-error': props.errorText,\n\t\t\t\t\t\t},\n\t\t\t\t\t\tprops.className\n\t\t\t\t\t)}\n\t\t\t\t\t// Not in ARIA 1.2 spec, temporary for SLDS styles\n\t\t\t\t\trole=\"combobox\" // eslint-disable-line jsx-a11y/role-supports-aria-props, jsx-a11y/role-has-required-aria-props\n\t\t\t\t>\n\t\t\t\t\t<InnerInput\n\t\t\t\t\t\taria-autocomplete=\"list\"\n\t\t\t\t\t\taria-controls={\n\t\t\t\t\t\t\tthis.getIsOpen() ? `${this.getId()}-listbox` : undefined\n\t\t\t\t\t\t}\n\t\t\t\t\t\taria-activedescendant={\n\t\t\t\t\t\t\tthis.state.activeOption\n\t\t\t\t\t\t\t\t? `${this.getId()}-listbox-option-${this.state.activeOption.id}`\n\t\t\t\t\t\t\t\t: null\n\t\t\t\t\t\t}\n\t\t\t\t\t\taria-describedby={this.getErrorId()}\n\t\t\t\t\t\taria-expanded={this.getIsOpen()}\n\t\t\t\t\t\taria-haspopup=\"listbox\" // eslint-disable-line jsx-a11y/aria-proptypes\n\t\t\t\t\t\trole=\"combobox\"\n\t\t\t\t\t\tdefaultValue={props.defaultValue}\n\t\t\t\t\t\tautoComplete=\"off\"\n\t\t\t\t\t\tclassName=\"slds-combobox__input\"\n\t\t\t\t\t\tcontainerProps={{\n\t\t\t\t\t\t\tclassName: 'slds-combobox__form-element',\n\t\t\t\t\t\t\trole: 'none',\n\t\t\t\t\t\t}}\n\t\t\t\t\t\thasSpinner={this.props.hasInputSpinner}\n\t\t\t\t\t\ticonRight={\n\t\t\t\t\t\t\t<InputIcon\n\t\t\t\t\t\t\t\tcategory=\"utility\"\n\t\t\t\t\t\t\t\tname=\"search\"\n\t\t\t\t\t\t\t\ttitle={labels.inputIconTitle}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t}\n\t\t\t\t\t\tid={this.getId()}\n\t\t\t\t\t\tonFocus={this.handleInputFocus}\n\t\t\t\t\t\tonBlur={this.handleInputBlur}\n\t\t\t\t\t\tonKeyDown={this.handleKeyDown}\n\t\t\t\t\t\tinputRef={this.setInputRef}\n\t\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\t\tthis.openDialog();\n\t\t\t\t\t\t}}\n\t\t\t\t\t\tonChange={this.handleInputChange}\n\t\t\t\t\t\tplaceholder={labels.placeholder}\n\t\t\t\t\t\treadOnly={\n\t\t\t\t\t\t\t!!(props.predefinedOptionsOnly && this.state.activeOption)\n\t\t\t\t\t\t}\n\t\t\t\t\t\trequired={props.required}\n\t\t\t\t\t\tvalue={\n\t\t\t\t\t\t\tprops.predefinedOptionsOnly\n\t\t\t\t\t\t\t\t? (this.state.activeOption && this.state.activeOption.label) ||\n\t\t\t\t\t\t\t\t props.value\n\t\t\t\t\t\t\t\t: props.value\n\t\t\t\t\t\t}\n\t\t\t\t\t\t{...userDefinedProps.input}\n\t\t\t\t\t/>\n\t\t\t\t\t{this.getDialog({\n\t\t\t\t\t\tmenuRenderer: this.renderMenu({ assistiveText, labels }),\n\t\t\t\t\t})}\n\t\t\t\t\t{props.errorText && (\n\t\t\t\t\t\t<div id={this.getErrorId()} className=\"slds-form-element__help\">\n\t\t\t\t\t\t\t{props.errorText}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t)}\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t);\n\n\trenderInlineSingle = ({ assistiveText, labels, props, userDefinedProps }) => {\n\t\tconst iconLeft =\n\t\t\tprops.selection[0] && props.selection[0].icon\n\t\t\t\t? React.cloneElement(props.selection[0].icon, {\n\t\t\t\t\t\tcontainerClassName: 'slds-combobox__input-entity-icon',\n\t\t\t\t })\n\t\t\t\t: null;\n\n\t\tconst value =\n\t\t\tprops.selection[0] && props.selection[0].label\n\t\t\t\t? props.selection[0].label\n\t\t\t\t: props.value;\n\n\t\treturn (\n\t\t\t<div className=\"slds-form-element__control\">\n\t\t\t\t<div\n\t\t\t\t\tclassName={classNames('slds-combobox_container', {\n\t\t\t\t\t\t'slds-has-inline-listbox': props.selection.length,\n\t\t\t\t\t})}\n\t\t\t\t>\n\t\t\t\t\t<div\n\t\t\t\t\t\tclassName={classNames(\n\t\t\t\t\t\t\t'slds-combobox',\n\t\t\t\t\t\t\t'slds-dropdown-trigger',\n\t\t\t\t\t\t\t'slds-dropdown-trigger_click',\n\t\t\t\t\t\t\t'ignore-react-onclickoutside',\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t'slds-is-open': this.getIsOpen(),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t'slds-has-error': props.errorText,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tprops.className\n\t\t\t\t\t\t)}\n\t\t\t\t\t\t// Not in ARIA 1.2 spec, temporary for SLDS styles\n\t\t\t\t\t\trole=\"combobox\" // eslint-disable-line jsx-a11y/role-supports-aria-props, jsx-a11y/role-has-required-aria-props\n\t\t\t\t\t>\n\t\t\t\t\t\t<InnerInput\n\t\t\t\t\t\t\tdefaultValue={props.defaultValue}\n\t\t\t\t\t\t\taria-autocomplete=\"list\"\n\t\t\t\t\t\t\taria-controls={\n\t\t\t\t\t\t\t\tthis.getIsOpen() ? `${this.getId()}-listbox` : undefined\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\taria-activedescendant={\n\t\t\t\t\t\t\t\tthis.state.activeOption\n\t\t\t\t\t\t\t\t\t? `${this.getId()}-listbox-option-${\n\t\t\t\t\t\t\t\t\t\t\tthis.state.activeOption.id\n\t\t\t\t\t\t\t\t\t }`\n\t\t\t\t\t\t\t\t\t: null\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\taria-describedby={this.getErrorId()}\n\t\t\t\t\t\t\taria-expanded={this.getIsOpen()}\n\t\t\t\t\t\t\taria-haspopup=\"listbox\" // eslint-disable-line jsx-a11y/aria-proptypes\n\t\t\t\t\t\t\trole=\"combobox\"\n\t\t\t\t\t\t\tautoComplete=\"off\"\n\t\t\t\t\t\t\tclassName=\"slds-combobox__input\"\n\t\t\t\t\t\t\tcontainerProps={{\n\t\t\t\t\t\t\t\tclassName: 'slds-combobox__form-element',\n\t\t\t\t\t\t\t\trole: 'none',\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\tdisabled={this.props.singleInputDisabled}\n\t\t\t\t\t\t\thasSpinner={this.props.hasInputSpinner}\n\t\t\t\t\t\t\ticonRight={\n\t\t\t\t\t\t\t\tprops.selection.length ? (\n\t\t\t\t\t\t\t\t\t<InputIcon\n\t\t\t\t\t\t\t\t\t\tassistiveText={{\n\t\t\t\t\t\t\t\t\t\t\ticon: assistiveText.removeSingleSelectedOption,\n\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\tbuttonRef={(component) => {\n\t\t\t\t\t\t\t\t\t\t\tthis.buttonRef = component;\n\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\tcategory=\"utility\"\n\t\t\t\t\t\t\t\t\t\ticonPosition=\"right\"\n\t\t\t\t\t\t\t\t\t\tname=\"close\"\n\t\t\t\t\t\t\t\t\t\tonClick={(event) => {\n\t\t\t\t\t\t\t\t\t\t\tthis.handleRemoveSelectedOption(event, {\n\t\t\t\t\t\t\t\t\t\t\t\toption: props.selection[0],\n\t\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t<InputIcon category=\"utility\" name=\"search\" />\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\ticonLeft={iconLeft}\n\t\t\t\t\t\t\tid={this.getId()}\n\t\t\t\t\t\t\tonFocus={this.handleInputFocus}\n\t\t\t\t\t\t\tonBlur={this.handleInputBlur}\n\t\t\t\t\t\t\tonKeyDown={this.handleKeyDown}\n\t\t\t\t\t\t\tinputRef={this.setInputRef}\n\t\t\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\t\t\tthis.requestOpenMenu();\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\tonChange={(event) => {\n\t\t\t\t\t\t\t\tif (!props.selection.length) {\n\t\t\t\t\t\t\t\t\tthis.handleInputChange(event);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\tplaceholder={labels.placeholder}\n\t\t\t\t\t\t\treadOnly={\n\t\t\t\t\t\t\t\t!!(props.predefinedOptionsOnly && this.state.activeOption) ||\n\t\t\t\t\t\t\t\t!!props.selection.length\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\trequired={props.required}\n\t\t\t\t\t\t\tvalue={\n\t\t\t\t\t\t\t\tprops.predefinedOptionsOnly\n\t\t\t\t\t\t\t\t\t? (this.state.activeOption &&\n\t\t\t\t\t\t\t\t\t\t\tthis.state.activeOption.label) ||\n\t\t\t\t\t\t\t\t\t props.value\n\t\t\t\t\t\t\t\t\t: value\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t{...userDefinedProps.input}\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t{this.getDialog({\n\t\t\t\t\t\t\tmenuRenderer: this.renderMenu({ assistiveText, labels }),\n\t\t\t\t\t\t})}\n\t\t\t\t\t\t{props.errorText && (\n\t\t\t\t\t\t\t<div id={this.getErrorId()} className=\"slds-form-element__help\">\n\t\t\t\t\t\t\t\t{props.errorText}\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t)}\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t);\n\t};\n\n\trenderMenu = ({ assistiveText, labels }) => {\n\t\tconst menuVariant = {\n\t\t\tbase: 'icon-title-subtitle',\n\t\t\t'inline-listbox': 'icon-title-subtitle',\n\t\t\treadonly: 'checkbox',\n\t\t};\n\n\t\tconst readonlyItemVisibleLength =\n\t\t\tthis.props.variant === 'readonly' ? 5 : null;\n\n\t\treturn (\n\t\t\t<Menu\n\t\t\t\tassistiveText={assistiveText}\n\t\t\t\tactiveOption={this.state.activeOption}\n\t\t\t\tactiveOptionIndex={this.state.activeOptionIndex}\n\t\t\t\tclassNameMenu={this.props.classNameMenu}\n\t\t\t\tclassNameMenuSubHeader={this.props.classNameMenuSubHeader}\n\t\t\t\tclearActiveOption={this.clearActiveOption}\n\t\t\t\tinheritWidthOf={this.props.inheritWidthOf}\n\t\t\t\tinputId={this.getId()}\n\t\t\t\tinputValue={this.props.value}\n\t\t\t\tisSelected={this.isSelected}\n\t\t\t\titemVisibleLength={\n\t\t\t\t\tthis.props.menuItemVisibleLength || readonlyItemVisibleLength\n\t\t\t\t}\n\t\t\t\tlabels={labels}\n\t\t\t\thasMenuSpinner={this.props.hasMenuSpinner}\n\t\t\t\tmenuItem={this.props.menuItem}\n\t\t\t\tmenuPosition={this.props.menuPosition}\n\t\t\t\tmenuRef={(ref) => {\n\t\t\t\t\tthis.menuRef = ref;\n\t\t\t\t}}\n\t\t\t\tmaxWidth={this.props.menuMaxWidth}\n\t\t\t\toptions={this.props.options}\n\t\t\t\toptionsAddItem={this.props.optionsAddItem}\n\t\t\t\toptionsSearchEntity={this.props.optionsSearchEntity}\n\t\t\t\tonSelect={this.handleSelect}\n\t\t\t\t// For backward compatibility, 'menuItem' prop will be deprecated soon\n\t\t\t\tonRenderMenuItem={\n\t\t\t\t\tthis.props.onRenderMenuItem\n\t\t\t\t\t\t? this.props.onRenderMenuItem\n\t\t\t\t\t\t: this.props.menuItem\n\t\t\t\t}\n\t\t\t\tselection={this.props.selection}\n\t\t\t\ttooltipMenuItemDisabled={this.props.tooltipMenuItemDisabled}\n\t\t\t\tvariant={menuVariant[this.props.variant]}\n\t\t\t/>\n\t\t);\n\t};\n\n\trenderPopover = ({ assistiveText, labels, props }) => {\n\t\tconst popoverProps = this.getCustomPopoverProps(\n\t\t\tthis.props.popover.props.body,\n\t\t\t{ assistiveText, labels }\n\t\t);\n\n\t\treturn (\n\t\t\t<div className=\"slds-form-element__control\">\n\t\t\t\t<div className=\"slds-combobox_container\">\n\t\t\t\t\t<div\n\t\t\t\t\t\tclassName={classNames(\n\t\t\t\t\t\t\t'slds-combobox',\n\t\t\t\t\t\t\t'slds-dropdown-trigger',\n\t\t\t\t\t\t\t'slds-dropdown-trigger_click',\n\t\t\t\t\t\t\t'ignore-react-onclickoutside',\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t'slds-is-open': this.getIsOpen(),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t'slds-has-error': props.errorText,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tprops.className\n\t\t\t\t\t\t)}\n\t\t\t\t\t\t// Not in ARIA 1.2 spec, temporary for SLDS styles\n\t\t\t\t\t\trole=\"combobox\" // eslint-disable-line jsx-a11y/role-supports-aria-props, jsx-a11y/role-has-required-aria-props\n\t\t\t\t\t>\n\t\t\t\t\t\t<Popover {...popoverProps}>\n\t\t\t\t\t\t\t<InnerInput\n\t\t\t\t\t\t\t\taria-autocomplete=\"none\"\n\t\t\t\t\t\t\t\taria-controls={\n\t\t\t\t\t\t\t\t\tthis.getIsOpen() ? `${this.getId()}-popover` : undefined\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\taria-describedby={this.getErrorId()}\n\t\t\t\t\t\t\t\taria-expanded={this.getIsOpen()}\n\t\t\t\t\t\t\t\taria-haspopup=\"dialog\" // eslint-disable-line jsx-a11y/aria-proptypes\n\t\t\t\t\t\t\t\trole=\"combobox\"\n\t\t\t\t\t\t\t\tautoComplete=\"off\"\n\t\t\t\t\t\t\t\tclassName=\"slds-combobox__input\"\n\t\t\t\t\t\t\t\tcontainerProps={{\n\t\t\t\t\t\t\t\t\tclassName: 'slds-combobox__form-element',\n\t\t\t\t\t\t\t\t\trole: 'none',\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\ticonRight={\n\t\t\t\t\t\t\t\t\t<InputIcon\n\t\t\t\t\t\t\t\t\t\tcategory=\"utility\"\n\t\t\t\t\t\t\t\t\t\tname=\"down\"\n\t\t\t\t\t\t\t\t\t\tvariant=\"combobox\"\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tid={this.getId()}\n\t\t\t\t\t\t\t\tonFocus={this.handleInputFocus}\n\t\t\t\t\t\t\t\tonBlur={this.handleInputBlur}\n\t\t\t\t\t\t\t\tonKeyDown={this.handleKeyDown}\n\t\t\t\t\t\t\t\tinputRef={this.setInputRef}\n\t\t\t\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\t\t\t\tthis.openDialog();\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\tonChange={this.handleInputChange}\n\t\t\t\t\t\t\t\tplaceholder={labels.placeholder}\n\t\t\t\t\t\t\t\treadOnly\n\t\t\t\t\t\t\t\trequired={props.required}\n\t\t\t\t\t\t\t\tvalue={props.value}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</Popover>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t\t{props.errorText && (\n\t\t\t\t\t<div className=\"slds-has-error\">\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tid={this.getErrorId()}\n\t\t\t\t\t\t\tclassName=\"slds-form-element__help slds-has-error\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{props.errorText}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t)}\n\t\t\t</div>\n\t\t);\n\t};\n\n\trenderReadOnlyMultiple = ({\n\t\tassistiveText,\n\t\tlabels,\n\t\tprops,\n\t\tuserDefinedProps,\n\t}) => {\n\t\tconst value =\n\t\t\tprops.selection.length > 1\n\t\t\t\t? labels.multipleOptionsSelected ||\n\t\t\t\t `${props.selection.length} options selected`\n\t\t\t\t: (props.selection[0] && props.selection[0].label) || '';\n\n\t\treturn (\n\t\t\t<div className=\"slds-form-element__control\">\n\t\t\t\t<div className=\"slds-combobox_container\">\n\t\t\t\t\t<div\n\t\t\t\t\t\tclassName={classNames(\n\t\t\t\t\t\t\t'slds-combobox',\n\t\t\t\t\t\t\t'slds-dropdown-trigger',\n\t\t\t\t\t\t\t'slds-dropdown-trigger_click',\n\t\t\t\t\t\t\t'ignore-react-onclickoutside',\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t'slds-is-open': this.getIsOpen(),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t'slds-has-error': props.errorText,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tprops.className\n\t\t\t\t\t\t)}\n\t\t\t\t\t\t// Not in ARIA 1.2 spec, temporary for SLDS styles\n\t\t\t\t\t\trole=\"combobox\" // eslint-disable-line jsx-a11y/role-supports-aria-props, jsx-a11y/role-has-required-aria-props\n\t\t\t\t\t>\n\t\t\t\t\t\t<InnerInput\n\t\t\t\t\t\t\tdefaultValue={props.defaultValue}\n\t\t\t\t\t\t\taria-autocomplete=\"list\"\n\t\t\t\t\t\t\taria-controls={\n\t\t\t\t\t\t\t\tthis.getIsOpen() ? `${this.getId()}-listbox` : undefined\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\taria-activedescendant={\n\t\t\t\t\t\t\t\tthis.state.activeOption\n\t\t\t\t\t\t\t\t\t? `${this.getId()}-listbox-option-${\n\t\t\t\t\t\t\t\t\t\t\tthis.state.activeOption.id\n\t\t\t\t\t\t\t\t\t }`\n\t\t\t\t\t\t\t\t\t: null\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\taria-describedby={this.getErrorId()}\n\t\t\t\t\t\t\taria-expanded={this.getIsOpen()}\n\t\t\t\t\t\t\taria-haspopup=\"listbox\" // eslint-disable-line jsx-a11y/aria-proptypes\n\t\t\t\t\t\t\trole=\"combobox\"\n\t\t\t\t\t\t\tautoComplete=\"off\"\n\t\t\t\t\t\t\tclassName=\"slds-combobox__input\"\n\t\t\t\t\t\t\tcontainerProps={{\n\t\t\t\t\t\t\t\tclassName: 'slds-combobox__form-element',\n\t\t\t\t\t\t\t\trole: 'none',\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\ticonRight={\n\t\t\t\t\t\t\t\t<InputIcon category=\"utility\" name=\"down\" variant=\"combobox\" />\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tid={this.getId()}\n\t\t\t\t\t\t\tonFocus={this.handleInputFocus}\n\t\t\t\t\t\t\tonBlur={this.handleInputBlur}\n\t\t\t\t\t\t\tonKeyDown={this.handleKeyDown}\n\t\t\t\t\t\t\tinputRef={this.setInputRef}\n\t\t\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\t\t\tthis.requestOpenMenu();\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\tonChange={(event) => {\n\t\t\t\t\t\t\t\tif (!props.selection.length) {\n\t\t\t\t\t\t\t\t\tthis.handleInputChange(event);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\tplaceholder={labels.placeholderReadOnly}\n\t\t\t\t\t\t\treadOnly\n\t\t\t\t\t\t\trequired={props.required}\n\t\t\t\t\t\t\tvalue={value}\n\t\t\t\t\t\t\t{...userDefinedProps.input}\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t{this.getDialog({\n\t\t\t\t\t\t\tmenuRenderer: this.renderMenu({ assistiveText, labels }),\n\t\t\t\t\t\t})}\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t\t<SelectedListBox\n\t\t\t\t\tactiveOption={this.state.activeSelectedOption}\n\t\t\t\t\tactiveOptionIndex={this.state.activeSelectedOptionIndex}\n\t\t\t\t\tassistiveText={assistiveText}\n\t\t\t\t\tevents={{\n\t\t\t\t\t\tonBlurPill: this.handleBlurPill,\n\t\t\t\t\t\tonPillFocus: this.handlePillFocus,\n\t\t\t\t\t\tonRequestFocus: this.handleRequestFocusSelectedListbox,\n\t\t\t\t\t\tonRequestFocusOnNextPill: this.handleNavigateSelectedListbox,\n\t\t\t\t\t\tonRequestFocusOnPreviousPill: this.handleNavigateSelectedListbox,\n\t\t\t\t\t\tonRequestRemove: this.handleRemoveSelectedOption,\n\t\t\t\t\t}}\n\t\t\t\t\tid={`${this.getId()}-selected-listbox`}\n\t\t\t\t\tlabels={labels}\n\t\t\t\t\tselectedListboxRef={this.setSelectedListboxRef}\n\t\t\t\t\tselection={props.selection}\n\t\t\t\t\tlistboxHasFocus={this.state.listboxHasFocus}\n\t\t\t\t\tvariant={this.props.variant}\n\t\t\t\t\trenderAtSelectionLength={2}\n\t\t\t\t/>\n\t\t\t\t{props.errorText && (\n\t\t\t\t\t<div className=\"slds-has-error\">\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tid={this.getErrorId()}\n\t\t\t\t\t\t\tclassName=\"slds-form-element__help slds-has-error\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{props.errorText}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t)}\n\t\t\t</div>\n\t\t);\n\t};\n\n\trenderReadOnlySingle = ({\n\t\tassistiveText,\n\t\tlabels,\n\t\tprops,\n\t\tuserDefinedProps,\n\t}) => {\n\t\tconst value = (props.selection[0] && props.selection[0].label) || '';\n\n\t\treturn (\n\t\t\t<div className=\"slds-form-element__control\">\n\t\t\t\t<div className=\"slds-combobox_container\">\n\t\t\t\t\t<div // aria attributes have been moved to the `div` wrapping `input` to comply with ARIA 1.1.\n\t\t\t\t\t\tclassName={classNames(\n\t\t\t\t\t\t\t'slds-combobox',\n\t\t\t\t\t\t\t'slds-dropdown-trigger',\n\t\t\t\t\t\t\t'slds-dropdown-trigger_click',\n\t\t\t\t\t\t\t'ignore-react-onclickoutside',\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t'slds-is-open': this.getIsOpen(),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t'slds-has-error': props.errorText,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tprops.className\n\t\t\t\t\t\t)}\n\t\t\t\t\t\t// Not in ARIA 1.2 spec, temporary for SLDS styles\n\t\t\t\t\t\trole=\"combobox\" // eslint-disable-line jsx-a11y/role-supports-aria-props, jsx-a11y/role-has-required-aria-props\n\t\t\t\t\t>\n\t\t\t\t\t\t<InnerInput\n\t\t\t\t\t\t\tdefaultValue={props.defaultValue}\n\t\t\t\t\t\t\taria-autocomplete=\"list\"\n\t\t\t\t\t\t\taria-controls={\n\t\t\t\t\t\t\t\tthis.getIsOpen() ? `${this.getId()}-listbox` : undefined\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\taria-activedescendant={\n\t\t\t\t\t\t\t\tthis.state.activeOption\n\t\t\t\t\t\t\t\t\t? `${this.getId()}-listbox-option-${\n\t\t\t\t\t\t\t\t\t\t\tthis.state.activeOption.id\n\t\t\t\t\t\t\t\t\t }`\n\t\t\t\t\t\t\t\t\t: null\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\taria-describedby={this.getErrorId()}\n\t\t\t\t\t\t\taria-expanded={this.getIsOpen()}\n\t\t\t\t\t\t\taria-haspopup=\"listbox\" // eslint-disable-line jsx-a11y/aria-proptypes\n\t\t\t\t\t\t\trole=\"combobox\"\n\t\t\t\t\t\t\tautoComplete=\"off\"\n\t\t\t\t\t\t\tclassName=\"slds-combobox__input\"\n\t\t\t\t\t\t\tcontainerProps={{\n\t\t\t\t\t\t\t\tclassName: 'slds-combobox__form-element',\n\t\t\t\t\t\t\t\trole: 'none',\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\tdisabled={this.props.singleInputDisabled}\n\t\t\t\t\t\t\ticonRight={\n\t\t\t\t\t\t\t\t<InputIcon category=\"utility\" name=\"down\" variant=\"combobox\" />\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tid={this.getId()}\n\t\t\t\t\t\t\tonFocus={this.handleInputFocus}\n\t\t\t\t\t\t\tonBlur={this.handleInputBlur}\n\t\t\t\t\t\t\tonKeyDown={this.handleKeyDown}\n\t\t\t\t\t\t\tinputRef={this.setInputRef}\n\t\t\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\t\t\tthis.requestOpenMenu();\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\tonChange={(event) => {\n\t\t\t\t\t\t\t\tif (!props.selection.length) {\n\t\t\t\t\t\t\t\t\tthis.handleInputChange(event);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\tplaceholder={labels.placeholderReadOnly}\n\t\t\t\t\t\t\treadOnly\n\t\t\t\t\t\t\trequired={props.required}\n\t\t\t\t\t\t\tvalue={\n\t\t\t\t\t\t\t\t(this.state.activeOption && this.state.activeOption.label) ||\n\t\t\t\t\t\t\t\tvalue\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t{...userDefinedProps.input}\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t{this.getDialog({\n\t\t\t\t\t\t\tmenuRenderer: this.renderMenu({ assistiveText, labels }),\n\t\t\t\t\t\t})}\n\t\t\t\t\t\t{props.errorText && (\n\t\t\t\t\t\t\t<div id={this.getErrorId()} className=\"slds-form-element__help\">\n\t\t\t\t\t\t\t\t{props.errorText}\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t)}\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t);\n\t};\n\n\trender() {\n\t\tconst { props } = this;\n\t\t// Merge objects of strings with their default object\n\t\tconst assistiveText = assign(\n\t\t\t{},\n\t\t\tdefaultProps.assistiveText,\n\t\t\tprops.assistiveText\n\t\t);\n\t\tconst labels = assign({}, defaultProps.labels, this.props.labels);\n\t\tconst hasRenderedLabel =\n\t\t\tlabels.label || (assistiveText && assistiveText.label);\n\t\t// declare user defined props\n\t\tconst userDefinedProps = {};\n\t\tif (props.input) {\n\t\t\t// at the moment we only support overriding the input props\n\t\t\tuserDefinedProps.input = props.input.props;\n\t\t}\n\t\tconst subRenderParameters = {\n\t\t\tassistiveText,\n\t\t\tlabels,\n\t\t\tprops: this.props,\n\t\t\tuserDefinedProps,\n\t\t};\n\t\tconst multipleOrSingle = this.props.multiple ? 'multiple' : 'single';\n\t\tconst subRenders = {\n\t\t\tbase: {\n\t\t\t\tmultiple: this.renderBase, // same\n\t\t\t\tsingle: this.renderBase,\n\t\t\t},\n\t\t\t'inline-listbox': {\n\t\t\t\tmultiple: this.renderInlineMultiple,\n\t\t\t\tsingle: this.renderInlineSingle,\n\t\t\t},\n\t\t\tpopover: {\n\t\t\t\tmultiple: this.renderPopover, // same\n\t\t\t\tsingle: this.renderPopover,\n\t\t\t},\n\t\t\treadonly: {\n\t\t\t\tmultiple: this.renderReadOnlyMultiple,\n\t\t\t\tsingle: this.renderReadOnlySingle,\n\t\t\t},\n\t\t};\n\t\tconst variantExists = subRenders[this.props.variant][multipleOrSingle];\n\n\t\tconst mainCombobox = (\n\t\t\t<div\n\t\t\t\tclassName={classNames('slds-form-element', props.classNameContainer)}\n\t\t\t>\n\t\t\t\t{props.entityCombobox ? null : (\n\t\t\t\t\t<Label\n\t\t\t\t\t\tassistiveText={this.props.assistiveText}\n\t\t\t\t\t\thtmlFor={this.getId()}\n\t\t\t\t\t\tlabel={labels.label}\n\t\t\t\t\t\trequired={props.required}\n\t\t\t\t\t/>\n\t\t\t\t)}\n\t\t\t\t{this.props.fieldLevelHelpTooltip && hasRenderedLabel ? (\n\t\t\t\t\t<FieldLevelHelpTooltip\n\t\t\t\t\t\tfieldLevelHelpTooltip={this.props.fieldLevelHelpTooltip}\n\t\t\t\t\t/>\n\t\t\t\t) : null}\n\t\t\t\t{variantExists\n\t\t\t\t\t? subRenders[this.props.variant][multipleOrSingle](\n\t\t\t\t\t\t\tsubRenderParameters\n\t\t\t\t\t )\n\t\t\t\t\t: subRenders.base.multiple(subRenderParameters)}\n\t\t\t</div>\n\t\t);\n\n\t\treturn props.entityCombobox ? (\n\t\t\t<div className=\"slds-form-element\">\n\t\t\t\t<Label\n\t\t\t\t\tassistiveText={props.assistiveText}\n\t\t\t\t\thtmlFor={this.getId()}\n\t\t\t\t\tlabel={labels.label}\n\t\t\t\t\trequired={props.required}\n\t\t\t\t/>\n\t\t\t\t<div className=\"slds-form-element__control\">\n\t\t\t\t\t<div className=\"slds-combobox-group\">\n\t\t\t\t\t\t<div className=\"slds-combobox_object-switcher slds-combobox-addon_start\">\n\t\t\t\t\t\t\t{props.entityCombobox}\n\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t<div className=\"slds-combobox_container slds-combobox-addon_end\">\n\t\t\t\t\t\t\t{mainCombobox}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t) : (\n\t\t\tmainCombobox\n\t\t);\n\t}\n}\n\nCombobox.contextTypes = {\n\ticonPath: PropTypes.string,\n};\n\nCombobox.displayName = COMBOBOX;\nCombobox.propTypes = propTypes;\nCombobox.defaultProps = defaultProps;\n\nexport default Combobox;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// ### onClickOutside\n// Listen for clicks that occur somewhere in the document, outside of the element itself\nimport onClickOutside from 'react-onclickoutside';\nimport LanguageDirection from '../utilities/UNSAFE_direction/private/language-direction';\nimport Combobox from './combobox';\n\nexport default LanguageDirection(\n\tonClickOutside(Combobox, {\n\t\texcludeScrollbar: true,\n\t})\n);\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\nimport escapeRegExp from 'lodash.escaperegexp';\n\n/**\n * SLDS recommends auto-complete/search inputs menus have a limit of 10 items.\n */\nconst filter = ({ inputValue, limit = 10, options, selection }) => {\n\tconst inputValueRegExp = new RegExp(escapeRegExp(inputValue), 'ig');\n\t// eslint-disable-next-line fp/no-mutating-methods\n\treturn options\n\t\t.filter((option) => {\n\t\t\tconst searchTermFoundInLabel = option.label\n\t\t\t\t? option.label.match(inputValueRegExp)\n\t\t\t\t: false;\n\t\t\tconst searchTermFoundInSubtitle = option.subTitle\n\t\t\t\t? option.subTitle.match(inputValueRegExp)\n\t\t\t\t: false;\n\t\t\tconst isSeparator = option.type === 'separator';\n\t\t\tconst notAlreadySelected = !selection.some((sel) => sel.id === option.id);\n\n\t\t\treturn (\n\t\t\t\t(!inputValue ||\n\t\t\t\t\tisSeparator ||\n\t\t\t\t\tsearchTermFoundInLabel ||\n\t\t\t\t\tsearchTermFoundInSubtitle) &&\n\t\t\t\tnotAlreadySelected\n\t\t\t);\n\t\t})\n\t\t.splice(0, limit);\n};\nexport default filter;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n/* eslint-disable import/no-mutable-exports */\n\nimport deprecatedProperty from '../../utilities/warning/deprecated-property';\nimport getComponentDocFn from '../../utilities/get-component-doc';\nimport sunsetProperty from '../../utilities/warning/sunset-property';\n\nlet checkProps = function checkPropsFunction() {};\n\nif (process.env.NODE_ENV !== 'production') {\n\tcheckProps = function checkPropsFunction(COMPONENT, props, jsonDoc) {\n\t\tconst createDocUrl = getComponentDocFn(jsonDoc);\n\t\t/* eslint-disable max-len */\n\t\t// Deprecated and changed to another property\n\t\tdeprecatedProperty(\n\t\t\tCOMPONENT,\n\t\t\tprops.onChange,\n\t\t\t'onChange',\n\t\t\t'onRowChange',\n\t\t\t'The callback parameters have been changed. `onRowChange` passes in `[event, { selection }` in order to align with other components.'\n\t\t);\n\t\tdeprecatedProperty(\n\t\t\tCOMPONENT,\n\t\t\tprops.compact,\n\t\t\t'compact',\n\t\t\tundefined,\n\t\t\t`compact has been deprecated as non-compact data tables do not exist in SLDS. ${createDocUrl()}`\n\t\t);\n\n\t\tdeprecatedProperty(\n\t\t\tCOMPONENT,\n\t\t\tprops.collection,\n\t\t\t'collection',\n\t\t\t'items',\n\t\t\tcreateDocUrl('items')\n\t\t);\n\t\tdeprecatedProperty(\n\t\t\tCOMPONENT,\n\t\t\tprops.onSelect,\n\t\t\t'onSelect',\n\t\t\t'onChange',\n\t\t\tcreateDocUrl('onChange')\n\t\t);\n\t\tdeprecatedProperty(\n\t\t\tCOMPONENT,\n\t\t\tprops.onDeselect,\n\t\t\t'onDeselect',\n\t\t\t'onChange',\n\t\t\tcreateDocUrl('onChange')\n\t\t);\n\t\tsunsetProperty(\n\t\t\tCOMPONENT,\n\t\t\tprops.sortable,\n\t\t\t'sortable',\n\t\t\t`The table is sortable if one or more of its columns are sortable. ${createDocUrl()}`\n\t\t);\n\n\t\t// Deprecated and moved to a child\n\t\tsunsetProperty(\n\t\t\tCOMPONENT,\n\t\t\tprops.columns,\n\t\t\t'columns',\n\t\t\t`Please provide one or more children of the type <Column /> instead. ${createDocUrl()}`\n\t\t);\n\n\t\tsunsetProperty(\n\t\t\tCOMPONENT,\n\t\t\tprops.bordered,\n\t\t\t'bordered',\n\t\t\t`All SLDS DataTables have row borders by default now. If you do not want row borders, please use \\`unborderedRow\\`. ${createDocUrl(\n\t\t\t\t'unborderedRow'\n\t\t\t)}`\n\t\t);\n\t\t/* eslint-enable max-len */\n\n\t\tdeprecatedProperty(\n\t\t\tCOMPONENT,\n\t\t\tprops.assistiveTextForActionsHeader,\n\t\t\t'assistiveTextForActionsHeader',\n\t\t\t\"assistiveText['actionsHeader']\",\n\t\t\tcreateDocUrl('assistiveText')\n\t\t);\n\t\tdeprecatedProperty(\n\t\t\tCOMPONENT,\n\t\t\tprops.assistiveTextForColumnSort,\n\t\t\t'assistiveTextForColumnSort',\n\t\t\t\"assistiveText['columnSort']\",\n\t\t\tcreateDocUrl('assistiveText')\n\t\t);\n\t\tdeprecatedProperty(\n\t\t\tCOMPONENT,\n\t\t\tprops.assistiveTextForColumnSortedAscending,\n\t\t\t'assistiveTextForColumnSortedAscending',\n\t\t\t\"assistiveText['columnSortedAscending']\",\n\t\t\tcreateDocUrl('assistiveText')\n\t\t);\n\t\tdeprecatedProperty(\n\t\t\tCOMPONENT,\n\t\t\tprops.assistiveTextForColumnSortedDescending,\n\t\t\t'assistiveTextForColumnSortedDescending',\n\t\t\t\"assistiveText['columnSortedDescending']\",\n\t\t\tcreateDocUrl('assistiveText')\n\t\t);\n\t\tdeprecatedProperty(\n\t\t\tCOMPONENT,\n\t\t\tprops.assistiveTextForSelectAllRows,\n\t\t\t'assistiveTextForSelectAllRows',\n\t\t\t\"assistiveText['selectAllRows']\",\n\t\t\tcreateDocUrl('assistiveText')\n\t\t);\n\t\tdeprecatedProperty(\n\t\t\tCOMPONENT,\n\t\t\tprops.assistiveTextForSelectRow,\n\t\t\t'assistiveTextForSelectRow',\n\t\t\t\"assistiveText['selectRow']\",\n\t\t\tcreateDocUrl('assistiveText')\n\t\t);\n\t};\n}\n\nexport default checkProps;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// ### React\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\n// ### classNames\nimport classNames from 'classnames';\n\n// ## Constants\nimport { DATA_TABLE_CELL } from '../../utilities/constants';\n\n/**\n * The default Cell renderer for the DataTable. Pass in any React component with the same `displayName` which takes the same props to provide custom rendering.\n */\nconst DataTableCell = (props) => {\n\tconst childText = React.isValidElement(props.children)\n\t\t? props.children.props.children\n\t\t: props.children;\n\tconst contents = (\n\t\t<div\n\t\t\tclassName={classNames({\n\t\t\t\t'slds-truncate': props.fixedLayout,\n\t\t\t})}\n\t\t\ttitle={props.title || childText}\n\t\t>\n\t\t\t{props.children}\n\t\t</div>\n\t);\n\n\tlet cell = (\n\t\t<td\n\t\t\tclassName={props.className}\n\t\t\tdata-label={props.label}\n\t\t\trole={props.fixedLayout ? 'gridcell' : null}\n\t\t\tstyle={props.width ? { width: props.width } : null}\n\t\t\theaders={props.headerId}\n\t\t>\n\t\t\t{contents}\n\t\t</td>\n\t);\n\n\tif (props.primaryColumn) {\n\t\tcell = (\n\t\t\t<th\n\t\t\t\tclassName={props.className}\n\t\t\t\tdata-label={props.label}\n\t\t\t\trole={props.fixedLayout ? 'gridcell' : null}\n\t\t\t\tstyle={props.width ? { width: props.width } : null}\n\t\t\t>\n\t\t\t\t{contents}\n\t\t\t</th>\n\t\t);\n\t}\n\n\treturn cell;\n};\n\n// ### Display Name\n// Always use the canonical component name as the React display name.\nDataTableCell.displayName = DATA_TABLE_CELL;\n\n// ### Prop Types\nDataTableCell.propTypes = {\n\t/**\n\t * The contents of the cell. This can be simple text or DOM nodes. Equivalent to `props.item[props.property]`\n\t */\n\tchildren: PropTypes.oneOfType([PropTypes.node, PropTypes.string]),\n\t/**\n\t * Class names to be added to the cell.\n\t */\n\tclassName: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\t/**\n\t * Use this if you are creating an advanced table (selectable, sortable, or resizable rows)\n\t */\n\tfixedLayout: PropTypes.bool,\n\t/**\n\t * The item from the items which represents this row.\n\t */\n\titem: PropTypes.object,\n\t/**\n\t * The primary column for a row. This is almost always the first column.\n\t */\n\tprimaryColumn: PropTypes.bool,\n\t/**\n\t * The property of this item to display.\n\t */\n\tproperty: PropTypes.string,\n\t/**\n\t * Shows on hover. Useful for truncated cells.\n\t */\n\ttitle: PropTypes.string,\n\t/**\n\t * Width of column. This is required for advanced/fixed layout tables. Please provide units. (`rems` are recommended)\n\t */\n\twidth: PropTypes.string,\n};\n\nexport default DataTableCell;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n/* eslint-disable react/no-unused-prop-types */\n/* deepscan-disable REACT_USELESS_PROP_TYPES */\n\n// ### React\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\n// ## Constants\nimport { DATA_TABLE_COLUMN } from '../../utilities/constants';\n\n// extends is used below so that react-docgen can detect the component\n\n/**\n * Columns define the structure of the data displayed in the DataTable.\n */\nclass DataTableColumn extends React.Component {}\n\n// ### Display Name\n// Always use the canonical component name as the React display name.\nDataTableColumn.displayName = DATA_TABLE_COLUMN;\n\n// ### Prop Types\nDataTableColumn.propTypes = {\n\t/**\n\t * Use a _higher-order component_ to customize a data table cell that will override the default cell rendering. `CustomDataTableCell` must have the same `displayName` as `DataTableCell` or it will be ignored. If you want complete control of the HTML, including the wrapping `td`, you don't have to use `DataTableCell`.\n\t * ```\n\t * import DataTableCell from 'design-system-react/data-table/cell';\n\t * const CustomDataTableCell = ({ children, ...props }) => (\n\t * <DataTableCell {...props} >\n\t * <a href=\"javascript:void(0);\">{children}</a>\n\t * </DataTableCell>\n\t * );\n\t * CustomDataTableCell.displayName = DataTableCell.displayName;\n\t *\n\t * <DataTable>\n\t * <DataTableColumn />\n\t * <DataTableColumn>\n\t * <DataTableCustomCell />\n\t * </DataTableColumn>\n\t * <DataTableRowActions />\n\t * </DataTable>\n\t * ```\n\t */\n\tchildren: PropTypes.element,\n\t/**\n\t * Some columns, such as \"date last viewed\" or \"date recently updated,\" should sort descending first, since that is what the user probably wants. How often does one want to see their oldest files first in a table? If sortable and the `DataTable`'s parent has not defined the sort order, then ascending (A at the top to Z at the bottom) is the default sort order on first click.\n\t */\n\tisDefaultSortDescending: PropTypes.bool,\n\t/**\n\t * Selects this column as the currently sorted column.\n\t */\n\tisSorted: PropTypes.bool,\n\t/**\n\t * The column label. If a `string` is not passed in, no `title` attribute will be rendered.\n\t */\n\tlabel: PropTypes.oneOfType([PropTypes.string, PropTypes.node]),\n\t/**\n\t * The primary column for a row. This is almost always the first column.\n\t */\n\tprimaryColumn: PropTypes.bool,\n\t/**\n\t * The property which corresponds to this column.\n\t */\n\tproperty: PropTypes.string,\n\t/**\n\t * Whether or not the column is sortable.\n\t */\n\tsortable: PropTypes.bool,\n\t/**\n\t * The current sort direction. If left out the component will track this internally. Required if `isSorted` is true.\n\t */\n\tsortDirection: PropTypes.oneOf(['desc', 'asc']),\n\t/**\n\t * Title used for truncation div within the cell.\n\t */\n\ttitle: PropTypes.string,\n\t/**\n\t * Adds truncate to cell node.\n\t */\n\ttruncate: PropTypes.bool,\n\t/**\n\t * Width of column. This is required for advanced/fixed layout tables. Please provide units. (`rems` are recommended)\n\t */\n\twidth: PropTypes.string,\n};\n\nexport default DataTableColumn;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// ### React\nimport React from 'react';\n\n/**\n * Used internally, provides fixed cell rendering\n */\nconst CellFixed = (props) => (\n\t<div\n\t\tclassName=\"slds-cell-fixed\"\n\t\tstyle={{\n\t\t\tdisplay: 'flex',\n\t\t\tflexDirection: 'row',\n\t\t\tflexWrap: 'nowrap',\n\t\t}}\n\t>\n\t\t{props.children}\n\t</div>\n);\n\nexport default CellFixed;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n/* eslint-disable import/no-mutable-exports */\n\nimport ifOneThenBothRequiredProperty from '../../utilities/warning/if-one-then-both-required-property';\n\nlet checkProps = function checkPropsFunction() {};\n\nif (process.env.NODE_ENV !== 'production') {\n\tcheckProps = function checkPropsFunction(COMPONENT, props) {\n\t\t/* eslint-disable max-len */\n\t\t// Deprecated and changed to another property\n\t\tifOneThenBothRequiredProperty(COMPONENT, props, {\n\t\t\tisSorted: props.isSorted,\n\t\t\tsortDirection: props.sortDirection,\n\t\t});\n\t\t/* eslint-enable max-len */\n\t};\n}\n\nexport default checkProps;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// ### React\nimport React from 'react';\n\nimport PropTypes from 'prop-types';\n\n// ### classNames\nimport classNames from 'classnames';\n\n// ### isFunction\nimport isFunction from 'lodash.isfunction';\n\n// ## Children\nimport CellFixed from './cell-fixed';\nimport Icon from '../../icon';\n\n// This component's `checkProps` which issues warnings to developers about properties when in development mode (similar to React's built in development tools)\nimport checkProps from '../column-check-props';\n\n// ## Constants\nimport {\n\tDATA_TABLE_HEADER_CELL,\n\tDATA_TABLE_COLUMN,\n} from '../../../utilities/constants';\n\n/**\n * Used internally, renders each individual column heading.\n */\nclass DataTableHeaderCell extends React.Component {\n\t// ### Display Name\n\t// Always use the canonical component name as the React display name.\n\tstatic displayName = DATA_TABLE_HEADER_CELL;\n\n\t// ### Prop Types\n\tstatic propTypes = {\n\t\tassistiveText: PropTypes.shape({\n\t\t\tactionsHeader: PropTypes.string,\n\t\t\tcolumnSort: PropTypes.string,\n\t\t\tcolumnSortedAscending: PropTypes.string,\n\t\t\tcolumnSortedDescending: PropTypes.string,\n\t\t\tselectAllRows: PropTypes.string,\n\t\t\tselectRow: PropTypes.string,\n\t\t}),\n\t\tcellRef: PropTypes.func,\n\t\tfixedHeader: PropTypes.bool,\n\t\tid: PropTypes.string.isRequired,\n\t\t/**\n\t\t * Some columns, such as \"date last viewed\" or \"date recently updated,\" should sort descending first, since that is what the user probably wants. How often does one want to see their oldest files first in a table? If sortable and the `DataTable`'s parent has not defined the sort order, then ascending (A at the top to Z at the bottom) is the default sort order on first click.\n\t\t */\n\t\tisDefaultSortDescending: PropTypes.bool,\n\t\t/**\n\t\t * Indicates if column is sorted.\n\t\t */\n\t\tisSorted: PropTypes.bool,\n\t\t/**\n\t\t * The column label.\n\t\t */\n\t\tlabel: PropTypes.oneOfType([PropTypes.string, PropTypes.node]),\n\t\t/**\n\t\t * The function to execute on sort.\n\t\t */\n\t\tonSort: PropTypes.func,\n\t\t/**\n\t\t * The property which corresponds to this column.\n\t\t */\n\t\tproperty: PropTypes.string,\n\t\t/**\n\t\t * Whether or not the column is sortable.\n\t\t */\n\t\tsortable: PropTypes.bool,\n\t\t/**\n\t\t * The current sort direction.\n\t\t */\n\t\tsortDirection: PropTypes.oneOf(['desc', 'asc']),\n\t\t/**\n\t\t * Width of column. This is required for advanced/fixed layout tables. Please provide units. (`rems` are recommended)\n\t\t */\n\t\twidth: PropTypes.string,\n\t};\n\n\tstate = {\n\t\tsortDirection: null,\n\t};\n\n\tcomponentDidMount() {\n\t\tcheckProps(DATA_TABLE_COLUMN, this.props);\n\t}\n\n\tcomponentDidUpdate(prevProps) {\n\t\t// reset sort state when another column is sorted\n\t\tif (prevProps.isSorted === true && this.props.isSorted === false) {\n\t\t\tthis.setState({ sortDirection: null }); // eslint-disable-line react/no-did-update-set-state\n\t\t}\n\t}\n\n\thandleSort = (e) => {\n\t\tconst oldSortDirection =\n\t\t\tthis.props.sortDirection || this.state.sortDirection;\n\t\t// UX pattern: If sortable, and the DataTable's parent has not defined the sort order, then ascending (that is A->Z) is the default sort order on first click. Some columns, such as \"last viewed\" or \"recently updated,\" should sort descending first, since that is what the user probably wants. Who wants to see the oldest files first?\n\t\tconst sortDirection = (function sortDirectionFunction(\n\t\t\tdirection,\n\t\t\tisDefaultSortDescending\n\t\t) {\n\t\t\tswitch (direction) {\n\t\t\t\tcase 'asc':\n\t\t\t\t\treturn 'desc';\n\t\t\t\tcase 'desc':\n\t\t\t\t\treturn 'asc';\n\t\t\t\tcase null:\n\t\t\t\t\treturn isDefaultSortDescending ? 'desc' : 'asc';\n\t\t\t\tdefault:\n\t\t\t\t\treturn 'asc';\n\t\t\t}\n\t\t})(oldSortDirection, this.props.isDefaultSortDescending);\n\t\tconst data = {\n\t\t\tproperty: this.props.property,\n\t\t\tsortDirection,\n\t\t};\n\n\t\tthis.setState({\n\t\t\tsortDirection,\n\t\t});\n\n\t\tif (isFunction(this.props.onSort)) {\n\t\t\tthis.props.onSort(data, e);\n\t\t}\n\t};\n\n\t// ### Render\n\trender() {\n\t\tconst { fixedHeader, isSorted, label, sortable, width } = this.props;\n\n\t\tconst labelType = typeof label;\n\t\t// This decides which arrow to render--which is current sort order if the column is sorted OR the future sort order if the arrow is clicked in the future.\n\t\tconst sortDirection =\n\t\t\tthis.props.sortDirection ||\n\t\t\tthis.state.sortDirection ||\n\t\t\t(this.props.isDefaultSortDescending && 'desc');\n\t\tconst expandedSortDirection =\n\t\t\tsortDirection === 'desc' ? 'descending' : 'ascending';\n\t\tconst ariaSort = isSorted ? expandedSortDirection : 'none';\n\n\t\tconst fixedLayoutSubRenders = {\n\t\t\tsortable: (\n\t\t\t\t<a\n\t\t\t\t\thref=\"javascript:void(0)\" // eslint-disable-line no-script-url\n\t\t\t\t\tclassName=\"slds-th__action slds-text-link_reset\"\n\t\t\t\t\tonClick={this.handleSort}\n\t\t\t\t\trole=\"button\"\n\t\t\t\t\ttabIndex=\"0\"\n\t\t\t\t>\n\t\t\t\t\t<span className=\"slds-assistive-text\">\n\t\t\t\t\t\t{this.props.assistiveTextForColumnSort ||\n\t\t\t\t\t\t\tthis.props.assistiveText.columnSort}{' '}\n\t\t\t\t\t</span>\n\t\t\t\t\t<span\n\t\t\t\t\t\tclassName=\"slds-truncate\"\n\t\t\t\t\t\ttitle={labelType === 'string' ? label : undefined}\n\t\t\t\t\t>\n\t\t\t\t\t\t{label}\n\t\t\t\t\t</span>\n\t\t\t\t\t<Icon\n\t\t\t\t\t\tclassName=\"slds-is-sortable__icon\"\n\t\t\t\t\t\tcategory=\"utility\"\n\t\t\t\t\t\tname={sortDirection === 'desc' ? 'arrowdown' : 'arrowup'}\n\t\t\t\t\t\tsize=\"x-small\"\n\t\t\t\t\t/>\n\t\t\t\t\t{sortDirection ? (\n\t\t\t\t\t\t<span className=\"slds-assistive-text\" aria-atomic=\"true\">\n\t\t\t\t\t\t\t{sortDirection === 'asc'\n\t\t\t\t\t\t\t\t? this.props.assistiveTextForColumnSortedAscending ||\n\t\t\t\t\t\t\t\t this.props.assistiveText.columnSortedAscending\n\t\t\t\t\t\t\t\t: this.props.assistiveTextForColumnSortedDescending ||\n\t\t\t\t\t\t\t\t this.props.assistiveText.columnSortedDescending}\n\t\t\t\t\t\t</span>\n\t\t\t\t\t) : null}\n\t\t\t\t</a>\n\t\t\t),\n\t\t\tnotSortable: (\n\t\t\t\t<span className=\"slds-p-horizontal_x-small\" style={{ display: 'flex' }}>\n\t\t\t\t\t<span\n\t\t\t\t\t\tclassName=\"slds-truncate\"\n\t\t\t\t\t\ttitle={labelType === 'string' ? label : undefined}\n\t\t\t\t\t>\n\t\t\t\t\t\t{label}\n\t\t\t\t\t</span>\n\t\t\t\t</span>\n\t\t\t),\n\t\t};\n\n\t\tconst headerCellContent = this.props.fixedLayout ? (\n\t\t\tfixedLayoutSubRenders[sortable ? 'sortable' : 'notSortable']\n\t\t) : (\n\t\t\t<div\n\t\t\t\tclassName=\"slds-truncate\"\n\t\t\t\ttitle={labelType === 'string' ? label : undefined}\n\t\t\t>\n\t\t\t\t{label}\n\t\t\t</div>\n\t\t);\n\n\t\treturn (\n\t\t\t<th\n\t\t\t\taria-label={labelType === 'string' ? label : undefined}\n\t\t\t\taria-sort={ariaSort}\n\t\t\t\tclassName={classNames({\n\t\t\t\t\t'slds-is-sortable': sortable,\n\t\t\t\t\t'slds-is-sorted': isSorted,\n\t\t\t\t\t[`slds-is-sorted_${sortDirection}`]: sortDirection,\n\t\t\t\t\t'slds-is-sorted_asc': isSorted && !sortDirection, // default for hover, up arrow is ascending which means A is at the top of the table, and Z is at the bottom. You have to think about row numbers abstracting, and not the visual order on the table.\n\t\t\t\t})}\n\t\t\t\tref={(ref) => {\n\t\t\t\t\tif (this.props.cellRef) {\n\t\t\t\t\t\tthis.props.cellRef(ref);\n\t\t\t\t\t}\n\t\t\t\t}}\n\t\t\t\tscope=\"col\"\n\t\t\t\tstyle={\n\t\t\t\t\tfixedHeader || width\n\t\t\t\t\t\t? {\n\t\t\t\t\t\t\t\theight: fixedHeader ? 0 : null,\n\t\t\t\t\t\t\t\tlineHeight: fixedHeader ? 0 : null,\n\t\t\t\t\t\t\t\twidth: width || null,\n\t\t\t\t\t\t }\n\t\t\t\t\t\t: null\n\t\t\t\t}\n\t\t\t>\n\t\t\t\t{fixedHeader\n\t\t\t\t\t? React.cloneElement(headerCellContent, {\n\t\t\t\t\t\t\tstyle: {\n\t\t\t\t\t\t\t\tdisplay: 'flex',\n\t\t\t\t\t\t\t\theight: 0,\n\t\t\t\t\t\t\t\toverflow: 'hidden',\n\t\t\t\t\t\t\t\tpaddingBottom: 0,\n\t\t\t\t\t\t\t\tpaddingTop: 0,\n\t\t\t\t\t\t\t\tvisibility: 'hidden',\n\t\t\t\t\t\t\t},\n\t\t\t\t\t })\n\t\t\t\t\t: headerCellContent}\n\t\t\t\t{fixedHeader ? (\n\t\t\t\t\t<CellFixed>\n\t\t\t\t\t\t{React.cloneElement(headerCellContent, {\n\t\t\t\t\t\t\tstyle: {\n\t\t\t\t\t\t\t\talignItems: 'center',\n\t\t\t\t\t\t\t\tdisplay: 'flex',\n\t\t\t\t\t\t\t\tflex: '1 1 auto',\n\t\t\t\t\t\t\t\tlineHeight: 1.25,\n\t\t\t\t\t\t\t\twidth: '100%',\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\ttabIndex: sortable ? 0 : null,\n\t\t\t\t\t\t})}\n\t\t\t\t\t</CellFixed>\n\t\t\t\t) : null}\n\t\t\t</th>\n\t\t);\n\t}\n}\n\nexport default DataTableHeaderCell;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// ### React\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\n// ## Children\nimport CellFixed from './cell-fixed';\nimport Checkbox from '../../checkbox';\nimport HeaderCell from './header-cell';\n\n// ## Constants\nimport { DATA_TABLE_HEAD } from '../../../utilities/constants';\n\n/**\n * Used internally, provides header row rendering to the DataTable.\n */\nclass DataTableHead extends React.Component {\n\t// ### Display Name\n\t// Always use the canonical component name as the React display name.\n\tstatic displayName = DATA_TABLE_HEAD;\n\n\t// ### Prop Types\n\tstatic propTypes = {\n\t\tassistiveText: PropTypes.shape({\n\t\t\tactionsHeader: PropTypes.string,\n\t\t\tcolumnSort: PropTypes.string,\n\t\t\tcolumnSortedAscending: PropTypes.string,\n\t\t\tcolumnSortedDescending: PropTypes.string,\n\t\t\tselectAllRows: PropTypes.string,\n\t\t\tselectRow: PropTypes.string,\n\t\t}),\n\t\tallSelected: PropTypes.bool,\n\t\theaderRefs: PropTypes.func,\n\t\tindeterminateSelected: PropTypes.bool,\n\t\tcanSelectRows: PropTypes.oneOfType([\n\t\t\tPropTypes.bool,\n\t\t\tPropTypes.oneOf(['checkbox', 'radio']),\n\t\t]),\n\t\tcolumns: PropTypes.arrayOf(\n\t\t\tPropTypes.shape({\n\t\t\t\tCell: PropTypes.func,\n\t\t\t\tprops: PropTypes.object,\n\t\t\t})\n\t\t),\n\t\tfixedHeader: PropTypes.bool,\n\t\tid: PropTypes.string,\n\t\tonToggleAll: PropTypes.func,\n\t\tonSort: PropTypes.func,\n\t\tshowRowActions: PropTypes.bool,\n\t};\n\n\tgetActionsHeader = () => {\n\t\tconst { fixedHeader } = this.props;\n\t\tconst getContent = (style) => (\n\t\t\t<div className=\"slds-th__action\" style={style}>\n\t\t\t\t<span className=\"slds-assistive-text\">\n\t\t\t\t\t{this.props.assistiveText.actionsHeader}\n\t\t\t\t</span>\n\t\t\t</div>\n\t\t);\n\t\tlet actionsHeader = null;\n\n\t\tif (this.props.showRowActions) {\n\t\t\tactionsHeader = (\n\t\t\t\t<th\n\t\t\t\t\tref={(ref) => {\n\t\t\t\t\t\tif (this.props.headerRefs) {\n\t\t\t\t\t\t\tthis.props.headerRefs(ref, 'action');\n\t\t\t\t\t\t}\n\t\t\t\t\t}}\n\t\t\t\t\tscope=\"col\"\n\t\t\t\t\tstyle={{\n\t\t\t\t\t\theight: fixedHeader ? 0 : null,\n\t\t\t\t\t\tlineHeight: fixedHeader ? 0 : null,\n\t\t\t\t\t\twidth: '3.25rem',\n\t\t\t\t\t}}\n\t\t\t\t>\n\t\t\t\t\t{getContent(\n\t\t\t\t\t\tfixedHeader\n\t\t\t\t\t\t\t? {\n\t\t\t\t\t\t\t\t\theight: 0,\n\t\t\t\t\t\t\t\t\toverflow: 'hidden',\n\t\t\t\t\t\t\t\t\tpaddingBottom: 0,\n\t\t\t\t\t\t\t\t\tpaddingTop: 0,\n\t\t\t\t\t\t\t\t\tvisibility: 'hidden',\n\t\t\t\t\t\t\t }\n\t\t\t\t\t\t\t: null\n\t\t\t\t\t)}\n\t\t\t\t\t{fixedHeader ? (\n\t\t\t\t\t\t<CellFixed>\n\t\t\t\t\t\t\t{getContent({\n\t\t\t\t\t\t\t\tlineHeight: 1,\n\t\t\t\t\t\t\t\twidth: '100%',\n\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t</CellFixed>\n\t\t\t\t\t) : null}\n\t\t\t\t</th>\n\t\t\t);\n\t\t}\n\n\t\treturn actionsHeader;\n\t};\n\n\tgetSelectHeader = () => {\n\t\tconst { canSelectRows, fixedHeader } = this.props;\n\t\tconst getContent = (idSuffix, style, ariaHidden) => {\n\t\t\tlet render = null;\n\n\t\t\tif (canSelectRows === 'radio') {\n\t\t\t\trender = (\n\t\t\t\t\t<div\n\t\t\t\t\t\tclassName=\"slds-truncate slds-assistive-text\"\n\t\t\t\t\t\tid={`${this.props.id}-column-group-header-row-select`}\n\t\t\t\t\t\ttitle={this.props.assistiveText.selectRowGroup}\n\t\t\t\t\t>\n\t\t\t\t\t\t{this.props.assistiveText.selectRowGroup}\n\t\t\t\t\t</div>\n\t\t\t\t);\n\t\t\t} else if (canSelectRows === true || canSelectRows === 'checkbox') {\n\t\t\t\trender = (\n\t\t\t\t\t<div\n\t\t\t\t\t\tclassName=\"slds-th__action slds-th__action_form\"\n\t\t\t\t\t\taria-hidden={ariaHidden && true}\n\t\t\t\t\t\tstyle={style}\n\t\t\t\t\t>\n\t\t\t\t\t\t{!ariaHidden ? (\n\t\t\t\t\t\t\t<span\n\t\t\t\t\t\t\t\tid={`${this.props.id}-column-group-header-row-select`}\n\t\t\t\t\t\t\t\tclassName=\"slds-assistive-text\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{this.props.assistiveText.selectAllRows}\n\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t) : null}\n\t\t\t\t\t\t<Checkbox\n\t\t\t\t\t\t\tassistiveText={{\n\t\t\t\t\t\t\t\tlabel: this.props.assistiveText.selectAllRows,\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\tchecked={this.props.allSelected}\n\t\t\t\t\t\t\tindeterminate={this.props.indeterminateSelected}\n\t\t\t\t\t\t\tid={`${this.props.id}-${idSuffix}`}\n\t\t\t\t\t\t\t// There is a checkbox for user interaction and a checkbox for positioning. ariaHidden is for the checkbox for positioning and it should be removed from the accessibility tree.\n\t\t\t\t\t\t\tname={!ariaHidden ? 'SelectAll' : undefined}\n\t\t\t\t\t\t\tonChange={this.props.onToggleAll}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</div>\n\t\t\t\t);\n\t\t\t}\n\n\t\t\treturn render;\n\t\t};\n\n\t\tlet selectHeader = null;\n\n\t\tif (canSelectRows) {\n\t\t\tselectHeader = (\n\t\t\t\t<th\n\t\t\t\t\tclassName=\"slds-text-align_right\"\n\t\t\t\t\tref={(ref) => {\n\t\t\t\t\t\tif (this.props.headerRefs) {\n\t\t\t\t\t\t\tthis.props.headerRefs(ref, 'select');\n\t\t\t\t\t\t}\n\t\t\t\t\t}}\n\t\t\t\t\tscope=\"col\"\n\t\t\t\t\tstyle={{\n\t\t\t\t\t\theight: fixedHeader ? 0 : null,\n\t\t\t\t\t\tlineHeight: fixedHeader ? 0 : null,\n\t\t\t\t\t\twidth: '3.25rem',\n\t\t\t\t\t}}\n\t\t\t\t>\n\t\t\t\t\t{getContent(\n\t\t\t\t\t\t'SelectAll-fixed-header',\n\t\t\t\t\t\tfixedHeader\n\t\t\t\t\t\t\t? {\n\t\t\t\t\t\t\t\t\tdisplay: 'flex',\n\t\t\t\t\t\t\t\t\theight: 0,\n\t\t\t\t\t\t\t\t\toverflow: 'hidden',\n\t\t\t\t\t\t\t\t\tpaddingBottom: 0,\n\t\t\t\t\t\t\t\t\tpaddingTop: 0,\n\t\t\t\t\t\t\t\t\tvisibility: 'hidden',\n\t\t\t\t\t\t\t }\n\t\t\t\t\t\t\t: null,\n\t\t\t\t\t\tfixedHeader && 'ariaHidden'\n\t\t\t\t\t)}\n\t\t\t\t\t{fixedHeader ? (\n\t\t\t\t\t\t<CellFixed>\n\t\t\t\t\t\t\t{getContent('SelectAll', {\n\t\t\t\t\t\t\t\tdisplay: 'flex',\n\t\t\t\t\t\t\t\tjustifyContent: 'flex-end',\n\t\t\t\t\t\t\t\tlineHeight: 1,\n\t\t\t\t\t\t\t\twidth: '100%',\n\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t</CellFixed>\n\t\t\t\t\t) : null}\n\t\t\t\t</th>\n\t\t\t);\n\t\t}\n\n\t\treturn selectHeader;\n\t};\n\n\t// ### Render\n\trender() {\n\t\tconst actionsHeader = this.getActionsHeader();\n\t\tconst selectHeader = this.getSelectHeader();\n\n\t\treturn (\n\t\t\t<thead>\n\t\t\t\t<tr className=\"slds-line-height_reset\">\n\t\t\t\t\t{selectHeader}\n\t\t\t\t\t{this.props.columns.map((column, index) => (\n\t\t\t\t\t\t<HeaderCell\n\t\t\t\t\t\t\tassistiveText={this.props.assistiveText}\n\t\t\t\t\t\t\tcellRef={(ref) => {\n\t\t\t\t\t\t\t\tif (this.props.headerRefs) {\n\t\t\t\t\t\t\t\t\tthis.props.headerRefs(ref, index);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\tfixedHeader={this.props.fixedHeader}\n\t\t\t\t\t\t\tid={`${this.props.id}-${column.props.property}`}\n\t\t\t\t\t\t\tkey={`${this.props.id}-${column.props.property}`}\n\t\t\t\t\t\t\tonSort={this.props.onSort}\n\t\t\t\t\t\t\t{...column.props}\n\t\t\t\t\t\t/>\n\t\t\t\t\t))}\n\t\t\t\t\t{actionsHeader}\n\t\t\t\t</tr>\n\t\t\t</thead>\n\t\t);\n\t}\n}\n\nexport default DataTableHead;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// ### React\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\n// ### classNames\nimport classNames from 'classnames';\n\n// ### find\nimport find from 'lodash.find';\n\n// ## Children\nimport Checkbox from '../../checkbox';\nimport Radio from '../../radio';\n\n// ## Constants\nimport {\n\tDATA_TABLE_ROW,\n\tDATA_TABLE_ROW_ACTIONS,\n\tDATA_TABLE_CELL,\n} from '../../../utilities/constants';\n\n/**\n * Used internally, provides row rendering to the DataTable.\n */\nclass DataTableRow extends React.Component {\n\t// ### Display Name\n\t// Always use the canonical component name as the React display name.\n\tstatic displayName = DATA_TABLE_ROW;\n\n\t// ### Prop Types\n\tstatic propTypes = {\n\t\tassistiveText: PropTypes.shape({\n\t\t\tactionsHeader: PropTypes.string,\n\t\t\tcolumnSort: PropTypes.string,\n\t\t\tcolumnSortedAscending: PropTypes.string,\n\t\t\tcolumnSortedDescending: PropTypes.string,\n\t\t\tselectAllRows: PropTypes.string,\n\t\t\tselectRow: PropTypes.string,\n\t\t}),\n\t\tcanSelectRows: PropTypes.oneOfType([\n\t\t\tPropTypes.bool,\n\t\t\tPropTypes.oneOf(['checkbox', 'radio']),\n\t\t]),\n\t\tclassName: PropTypes.string,\n\t\tcolumns: PropTypes.arrayOf(\n\t\t\tPropTypes.shape({\n\t\t\t\tCell: PropTypes.func,\n\t\t\t\tprops: PropTypes.object,\n\t\t\t})\n\t\t),\n\t\t/**\n\t\t * Use this if you are creating an advanced table (selectable, sortable, or resizable rows)\n\t\t */\n\t\tfixedLayout: PropTypes.bool,\n\t\tid: PropTypes.string.isRequired,\n\t\titem: PropTypes.object.isRequired,\n\t\tonToggle: PropTypes.func,\n\t\trowActions: PropTypes.element,\n\t\tselection: PropTypes.array,\n\t\ttableId: PropTypes.string,\n\t};\n\n\tisSelected = () => !!find(this.props.selection, this.props.item);\n\n\thandleToggle = (e, { checked }) =>\n\t\tthis.props.onToggle(this.props.item, checked, e);\n\n\t// ### Render\n\trender() {\n\t\tconst ariaProps = {};\n\t\tconst isSelected = this.isSelected();\n\n\t\tif (this.props.canSelectRows) {\n\t\t\tariaProps['aria-selected'] = isSelected ? 'true' : 'false';\n\t\t}\n\n\t\t// i18n\n\t\treturn (\n\t\t\t<tr\n\t\t\t\t{...ariaProps}\n\t\t\t\tclassName={classNames(this.props.className, {\n\t\t\t\t\t'slds-hint-parent': this.props.rowActions,\n\t\t\t\t\t'slds-is-selected': this.props.canSelectRows && isSelected,\n\t\t\t\t})}\n\t\t\t>\n\t\t\t\t{this.props.canSelectRows ? (\n\t\t\t\t\t<td\n\t\t\t\t\t\trole={this.props.fixedLayout ? 'gridcell' : null}\n\t\t\t\t\t\tclassName=\"slds-text-align_right\"\n\t\t\t\t\t\tdata-label={this.props.stacked ? 'Select Row' : undefined}\n\t\t\t\t\t\tstyle={{ width: '3.25rem' }}\n\t\t\t\t\t>\n\t\t\t\t\t\t{this.props.canSelectRows === 'radio' ? (\n\t\t\t\t\t\t\t<Radio\n\t\t\t\t\t\t\t\tassistiveText={{\n\t\t\t\t\t\t\t\t\tlabel: `${this.props.assistiveText.selectRow} ${\n\t\t\t\t\t\t\t\t\t\tNumber(this.props.index) + 1\n\t\t\t\t\t\t\t\t\t}`,\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\taria-labelledby={`${this.props.id}-SelectRow-label ${this.props.tableId}-SLDSDataTableHead-column-group-header-row-select`}\n\t\t\t\t\t\t\t\tchecked={isSelected}\n\t\t\t\t\t\t\t\tclassName=\"slds-m-right_x-small\"\n\t\t\t\t\t\t\t\tid={`${this.props.id}-SelectRow`}\n\t\t\t\t\t\t\t\tlabelId={`${this.props.id}-SelectRow-label`}\n\t\t\t\t\t\t\t\tname={`${this.props.tableId}-SelectRow`}\n\t\t\t\t\t\t\t\tonChange={this.handleToggle}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t<Checkbox\n\t\t\t\t\t\t\t\tassistiveText={{\n\t\t\t\t\t\t\t\t\tlabel: `${this.props.assistiveText.selectRow} ${\n\t\t\t\t\t\t\t\t\t\tNumber(this.props.index) + 1\n\t\t\t\t\t\t\t\t\t}`,\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\taria-labelledby={`${this.props.id}-SelectRow-label ${this.props.tableId}-SLDSDataTableHead-column-group-header-row-select`}\n\t\t\t\t\t\t\t\tchecked={isSelected}\n\t\t\t\t\t\t\t\tid={`${this.props.id}-SelectRow`}\n\t\t\t\t\t\t\t\tlabelId={`${this.props.id}-SelectRow-label`}\n\t\t\t\t\t\t\t\tname={`SelectRow${this.props.index + 1}`}\n\t\t\t\t\t\t\t\tonChange={this.handleToggle}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t)}\n\t\t\t\t\t</td>\n\t\t\t\t) : null}\n\t\t\t\t{this.props.columns.map((column) => {\n\t\t\t\t\tconst { Cell } = column;\n\t\t\t\t\tconst cellId = `${this.props.id}-${DATA_TABLE_CELL}-${column.props.property}`;\n\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<Cell\n\t\t\t\t\t\t\t{...column.props}\n\t\t\t\t\t\t\tclassName={column.props.truncate ? 'slds-truncate' : null}\n\t\t\t\t\t\t\tfixedLayout={this.props.fixedLayout}\n\t\t\t\t\t\t\trowHeader={column.props.primaryColumn}\n\t\t\t\t\t\t\tid={cellId}\n\t\t\t\t\t\t\titem={this.props.item}\n\t\t\t\t\t\t\tkey={cellId}\n\t\t\t\t\t\t\twidth={column.props.width}\n\t\t\t\t\t\t\theaderId={this.props.item.headerId}\n\t\t\t\t\t\t\tcolumns={this.props.columns}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{this.props.item[column.props.property]}\n\t\t\t\t\t\t</Cell>\n\t\t\t\t\t);\n\t\t\t\t})}\n\t\t\t\t{this.props.rowActions\n\t\t\t\t\t? React.cloneElement(this.props.rowActions, {\n\t\t\t\t\t\t\tid: `${this.props.id}-${DATA_TABLE_ROW_ACTIONS}`,\n\t\t\t\t\t\t\titem: this.props.item,\n\t\t\t\t\t })\n\t\t\t\t\t: null}\n\t\t\t</tr>\n\t\t);\n\t}\n}\n\nexport default DataTableRow;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n/* eslint-disable jsx-a11y/no-noninteractive-element-interactions */\n\n// ### React\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\n// ### isFunction\nimport isFunction from 'lodash.isfunction';\n\n// ## Children\nimport Dropdown from '../menu-dropdown';\n\n// ### Event Helpers\nimport EventUtil from '../../utilities/event';\n\n// ## Constants\nimport { DATA_TABLE_ROW_ACTIONS } from '../../utilities/constants';\n\n/**\n * RowActions provide a mechanism for defining a menu to display alongside each row in the DataTable.\n */\nclass DataTableRowActions extends React.Component {\n\t// ### Display Name\n\t// Always use the canonical component name as the React display name.\n\tstatic displayName = DATA_TABLE_ROW_ACTIONS;\n\n\t// ### Prop Types\n\tstatic propTypes = {\n\t\t/**\n\t\t * Description of the menu for screenreaders.\n\t\t */\n\t\tassistiveText: PropTypes.object,\n\t\t/**\n\t\t * Class names to be added to the actions menu.\n\t\t */\n\t\tclassName: PropTypes.string,\n\t\t/**\n\t\t * HTML ID to be added to the actions menu.\n\t\t */\n\t\tid: PropTypes.string,\n\t\t/**\n\t\t * `DataTable` row item\n\t\t */\n\t\titem: PropTypes.object,\n\t\t/**\n\t\t * Disable hint styling which changes the color of the dropdown svg on hover over.\n\t\t */\n\t\tnoHint: PropTypes.bool,\n\t\t/**\n\t\t * Triggered when an item is selected.\n\t\t */\n\t\tonAction: PropTypes.func,\n\t\t/**\n\t\t * `Dropdown` options. See `Dropdown`.\n\t\t */\n\t\toptions: PropTypes.array,\n\t\t/**\n\t\t * A [Dropdown](http://react.lightningdesignsystem.com/components/dropdown-menus/) component. The props from this drop will be merged and override any default props.\n\t\t * **Note:** onAction will not be overridden, both `DropDown`'s onSelect(dropDownActionOption) and onAction(rowItem, dropdownActionOption) will be called with appropriate parameters\n\t\t */\n\t\tdropdown: PropTypes.node,\n\t};\n\n\tstatic defaultProps = {\n\t\tassistiveText: { icon: 'Actions' },\n\t\tnoHint: false,\n\t\toptions: [],\n\t};\n\n\thandleClick = (e) => {\n\t\tEventUtil.trap(e);\n\t};\n\n\thandleSelect = (selection) => {\n\t\tif (isFunction(this.props.onAction)) {\n\t\t\tthis.props.onAction(this.props.item, selection);\n\t\t}\n\t\tif (this.props.dropdown && isFunction(this.props.dropdown.props.onSelect)) {\n\t\t\tthis.props.dropdown.props.onSelect(selection);\n\t\t}\n\t};\n\n\t// ### Render\n\trender() {\n\t\t// i18n\n\t\tconst defaultDropdownProps = {\n\t\t\talign: 'right',\n\t\t\tbuttonClassName: 'slds-button_icon-x-small',\n\t\t\tbuttonVariant: 'icon',\n\t\t\ticonCategory: 'utility',\n\t\t\ticonName: 'down',\n\t\t\ticonSize: 'small',\n\t\t\ticonVariant: 'border-filled',\n\t\t\tassistiveText: this.props.assistiveText,\n\t\t\tclassName: this.props.className,\n\t\t\toptions: this.props.options,\n\t\t\thint: !this.props.noHint,\n\t\t\tid: this.props.id,\n\t\t};\n\n\t\tconst props = this.props.dropdown ? this.props.dropdown.props : {};\n\t\tconst dropdownProps = {\n\t\t\t...defaultDropdownProps,\n\t\t\t...props,\n\t\t\tonSelect: this.handleSelect,\n\t\t};\n\n\t\treturn (\n\t\t\t/* eslint-disable jsx-a11y/no-static-element-interactions */\n\t\t\t<td\n\t\t\t\tclassName=\"\"\n\t\t\t\tdata-label=\"Actions\"\n\t\t\t\tonClick={this.handleClick}\n\t\t\t\tstyle={{ width: '3.25rem' }}\n\t\t\t>\n\t\t\t\t{/* eslint-enable jsx-a11y/no-static-element-interactions */}\n\t\t\t\t<Dropdown {...dropdownProps} />\n\t\t\t</td>\n\t\t);\n\t}\n}\n\nexport default DataTableRowActions;\n","/* eslint-disable max-lines */\n/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// # Data Table Component\n\n// Implements the [Data Table design pattern](https://www.lightningdesignsystem.com/components/data-tables) in React.\n\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\n// ### shortid\n// [npmjs.com/package/shortid](https://www.npmjs.com/package/shortid)\n// shortid is a short, non-sequential, url-friendly, unique id generator\nimport shortid from 'shortid';\n\nimport classNames from 'classnames';\nimport assign from 'lodash.assign';\nimport reject from 'lodash.reject';\n\n// This component's `checkProps` which issues warnings to developers about properties when in development mode (similar to React's built in development tools)\nimport checkProps from './check-props';\nimport componentDoc from './component.json';\n\nimport {\n\tcanUseDOM,\n\tcanUseEventListeners,\n} from '../../utilities/execution-environment';\nimport { colorGray5 } from '../../utilities/design-tokens/dist/palette-colors.common';\nimport { tableBorderRadius } from '../../utilities/design-tokens/dist/salesforce-skin.common';\n\n// ## Children\nimport DataTableCell from './cell';\nimport DataTableColumn from './column';\nimport DataTableHead from './private/head';\nimport DataTableRow from './private/row';\nimport DataTableRowActions from './row-actions';\nimport Spinner from '../spinner';\n\nimport {\n\tDATA_TABLE,\n\tDATA_TABLE_CELL,\n\tDATA_TABLE_HEAD,\n\tDATA_TABLE_ROW,\n} from '../../utilities/constants';\n\n// Safely get the length of an array, returning 0 for invalid input.\nconst count = (array) => (Array.isArray(array) ? array.length : 0);\n\nconst defaultProps = {\n\tassistiveText: {\n\t\tactionsHeader: 'Actions',\n\t\tcolumnSort: 'Sort by: ',\n\t\tcolumnSortedAscending: 'Sorted Ascending',\n\t\tcolumnSortedDescending: 'Sorted Descending',\n\t\tselectAllRows: 'Select all rows',\n\t\tselectRow: 'Select row',\n\t\tselectRowGroup: 'Choose a row to select',\n\t\tloadingMore: 'Loading more',\n\t},\n\tselection: [],\n\thasMore: false,\n\tloadMoreOffset: 20,\n};\n\n/**\n * DataTables support the display of structured data in rows and columns with an HTML table. To sort, filter or paginate the table, simply update the data passed in the items to the table and it will re-render itself appropriately. The table will throw a sort event as needed, and helper components for paging and filtering are coming soon.\n *\n * NOTE: for horizontal scrolling with `fixedHeader`-enabled DataTables, see the `style` property description\n */\nclass DataTable extends React.Component {\n\t// ### Display Name\n\t// Always use the canonical component name as the React display name.\n\tstatic displayName = DATA_TABLE;\n\n\t// ### Prop Types\n\tstatic propTypes = {\n\t\t/**\n\t\t * **Assistive text for accessibility.**\n\t\t * This object is merged with the default props object on every render.\n\t\t * * `actionsHeader`: Text for heading of actions column\n\t\t * * `columnSort`: Text for sort action on table column header\n\t\t * * `columnSortedAscending`: Text announced once a column is sorted in ascending order\n\t\t * * `columnSortedDescending`: Text announced once a column is sorted in descending order\n\t\t * * `selectAllRows`: Text for select all checkbox within the table header\n\t\t * * `selectRow`: Text for select row. Default: \"Select row 1\"\n\t\t * * `selectRowGroup`: This is an input group label and is attached to each checkbox or radio. Default is \"Choose a row to select\"\n\t\t */\n\t\tassistiveText: PropTypes.shape({\n\t\t\tactionsHeader: PropTypes.string,\n\t\t\tcolumnSort: PropTypes.string,\n\t\t\tcolumnSortedAscending: PropTypes.string,\n\t\t\tcolumnSortedDescending: PropTypes.string,\n\t\t\tselectAllRows: PropTypes.string,\n\t\t\tselectRow: PropTypes.string,\n\t\t\tselectRowGroup: PropTypes.string,\n\t\t\tloadingMore: PropTypes.string,\n\t\t}),\n\t\t/**\n\t\t * Provide children of the type `<DataTableColumn />` to define the structure of the data being represented and children of the type `<DataTableRowActions />` to define a menu which will be rendered for each item in the grid. Use a _higher-order component_ to customize a data table cell that will override the default cell rendering. `CustomDataTableCell` must have the same `displayName` as `DataTableCell` or it will be ignored. If you want complete control of the HTML, including the wrapping `td`, you don't have to use `DataTableCell`.\n\t\t * ```\n\t\t * import DataTableCell from 'design-system-react/data-table/cell';\n\t\t * const CustomDataTableCell = ({ children, ...props }) => (\n\t\t * <DataTableCell {...props} >\n\t\t * <a href=\"javascript:void(0);\">{children}</a>\n\t\t * </DataTableCell>\n\t\t * );\n\t\t * CustomDataTableCell.displayName = DataTableCell.displayName;\n\t\t *\n\t\t * <DataTable>\n\t\t * <DataTableColumn />\n\t\t * <DataTableColumn>\n\t\t * <DataTableCustomCell />\n\t\t * </DataTableColumn>\n\t\t * <DataTableRowActions />\n\t\t * </DataTable>\n\t\t * ```\n\t\t */\n\t\tchildren: PropTypes.node,\n\t\t/**\n\t\t * Class names to be added to the table.\n\t\t */\n\t\tclassName: PropTypes.oneOfType([\n\t\t\tPropTypes.array,\n\t\t\tPropTypes.object,\n\t\t\tPropTypes.string,\n\t\t]),\n\t\t/**\n\t\t * A variant which adds border to the vertical columns.\n\t\t */\n\t\tcolumnBordered: PropTypes.bool,\n\t\t/**\n\t\t * Use this to enable fixed headers and scrolling columns / rows. Appearance / behavior is consistent only if used in combination with `fixedLayout`. Since scrolling is enabled, columns are not truncated unless a width is set. Due to `overflow:hidden` elements, any dialog components will need a separate render tree (portal) such as with `menuPosition: overflowBoundaryElement` in order to break out of the container.\n\t\t */\n\t\tfixedHeader: PropTypes.bool,\n\t\t/**\n\t\t * Use this if you are creating an advanced table (selectable, sortable, or resizable rows). Columns widths will be truncate based on width and DOM ancestors. See `fixedHeader` to enable horizontal and vertical scrolling.\n\t\t */\n\t\tfixedLayout: PropTypes.bool,\n\t\t/**\n\t\t * When fixedHeader is true, specifies whether there's more data to be loaded and displays a spinner at the bottom of the table if so.\n\t\t */\n\t\thasMore: PropTypes.bool,\n\t\t/**\n\t\t * A render prop for subheadings to describe what the next section of the table is about. This is often a heirarchical data structure and semantic heading levels should be used, but not visually differ. This is not a `role=rowheader` which provides a heading for a row. Basic sorting of columns is not recommended, since this pattern assumes top level groupings. Headings should be visually aligned with selection column when selection pattern is present, so not to be grouped with the previous row.\n * ```\n * const CustomHeaderRow = ({ columns, item } ) => (\n *\t<tr>\n * <th id={item.id} colSpan={columns.length+1} scope=\"colgroup\">\n * <p role=\"heading\" aria-level={item.ariaLevel}>\n * {item.heading}\n * </p>\n * </th>\n * </tr>);\n *CustomHeaderRow.displayName = DataTableCell.displayName;\n * \n * <DataTable items=[{\n type: 'header-row',\n id: 'header-row-example-id-3',\n heading: 'Argentina > Autonomous City of Buenos Aires > Belgrano',\n ariaLevel: 3,\n * }],\n * />\n * ```\n\t\t */\n\t\tonRenderSubHeadingRow: PropTypes.func,\n\t\t/**\n\t\t * A unique ID is needed in order to support keyboard navigation and ARIA support.\n\t\t */\n\t\tid: PropTypes.string,\n\t\t/**\n\t\t * The collection of items to render in the table. This is an array of objects with each object having keys that correspond with the `property` prop of each `DataTableColumn`.\n\t\t *\n\t\t * Use the key `classNameRow` to add a custom class to the item's `<tr>` element.\n\t\t */\n\t\titems: PropTypes.arrayOf(\n\t\t\tPropTypes.shape({\n\t\t\t\tid: PropTypes.string.isRequired,\n\t\t\t\tclassNameRow: PropTypes.string,\n\t\t\t})\n\t\t).isRequired,\n\t\t/**\n\t\t * Makes DataTable joinable with PageHeader by adding appropriate classes/styling\n\t\t */\n\t\tjoined: PropTypes.bool,\n\t\t/**\n\t\t * Determines when to trigger infinite loading based on how many pixels the table's scroll position is from the bottom of the table.\n\t\t */\n\t\tloadMoreOffset: PropTypes.number,\n\t\t/**\n\t\t * A variant which removes hover style on rows\n\t\t */\n\t\tnoRowHover: PropTypes.bool,\n\t\t/**\n\t\t * By default this function resizes the display headers when fixedHeader is `true`, but this behavior can be overridden. Passes an event and a data object with properties `headerRefs`, an array of DOM nodes referencing the `thead th` elements and `scrollerRef`, a DOM node referencing `.slds-table_header-fixed_scroller`\n\t\t */\n\t\tonFixedHeaderResize: PropTypes.func,\n\t\t/**\n\t\t * This function fires when infinite loading loads more data.\n\t\t *\n\t\t * This will be called multiple times while the table is being scrolled within the `loadMoreOffset`. Please track whether or not loading is in progress and check it at the start of this function to avoid executing your callback too many times.\n\t\t */\n\t\tonLoadMore: PropTypes.func,\n\t\t/**\n\t\t * This function fires when the selection of rows changes. This component passes in `event, { selection }` to the function. `selection` is an array of objects from the `items` prop.\n\t\t *\n\t\t * This used to be `onChange` which is deprecated now, so that the parameters can be consistent with other components. `onChange` passed in the selection first and the event wtihout a data object.\n\t\t */\n\t\tonRowChange: PropTypes.func,\n\t\t/**\n\t\t * This function fires when the table should be sorted.\n\t\t */\n\t\tonSort: PropTypes.func,\n\t\t/**\n\t\t * By default this function attaches/detaches listeners for window resize and tbody scrolling when fixedHeader is `true`, but this behavior can be overridden. Passes an event and a data object with an `attach` boolean property to determine whether listeners should be attached, a `resizeHandler` function property that can be called as-needed, and a `scrollerRef` DOM node property that serves as a reference to `.slds-table_header-fixed_scroller`\n\t\t */\n\t\tonToggleFixedHeaderListeners: PropTypes.func,\n\t\t/**\n\t\t * An array of objects of selected rows. See `items` prop for shape of objects.\n\t\t */\n\t\tselection: PropTypes.array,\n\t\t/**\n\t\t * Specifies a row selection UX pattern.\n\t\t * * `checkbox`: Multiple row selection.\n\t\t * * `radio`: _Required_ single row selection.\n\t\t * _This prop used to be a `boolean`, a `true` value will be considered `checkbox` for backwards compatibility._\n\t\t */\n\t\tselectRows: PropTypes.oneOfType([\n\t\t\tPropTypes.bool,\n\t\t\tPropTypes.oneOf(['checkbox', 'radio']),\n\t\t]),\n\t\t/**\n\t\t * A variant which modifies table layout by stacking cells to accommodate smaller viewports. Should not be used at the same time as `stackedHorizontal`.\n\t\t */\n\t\tstacked: PropTypes.bool,\n\t\t/**\n\t\t * A variant which modifies table layout by displaying the header and row data side by side for smaller viewports. Should not be used at the same time as `stacked`.\n\t\t */\n\t\tstackedHorizontal: PropTypes.bool,\n\t\t/**\n\t\t * A variant which adds stripes to alternating rows.\n\t\t */\n\t\tstriped: PropTypes.bool,\n\t\t/**\n\t\t * Custom styles to be passed to the table.\n\t\t * NOTE: for horizontal scrolling in `fixedHeader`-enabled DataTables, apply a `minWidth` style here. If the containing element width is less than the `minWidth` value, horizontal scrolling will occur\n\t\t */\n\t\tstyle: PropTypes.object,\n\t\t/**\n\t\t * Tables have horizontal borders by default. This removes them.\n\t\t */\n\t\tunborderedRow: PropTypes.bool,\n\t\t/**\n\t\t * A variant which removes horizontal padding. CSS class will be removed if `fixedLayout==true`.\n\t\t */\n\t\tunbufferedCell: PropTypes.bool,\n\t};\n\n\tstatic defaultProps = defaultProps;\n\n\tconstructor(props) {\n\t\tsuper(props);\n\t\tthis.generatedId = shortid.generate();\n\t\tthis.headerRefs = {\n\t\t\taction: [],\n\t\t\tcolumn: [],\n\t\t\tselect: [],\n\t\t};\n\t\tthis.scrollerRef = null;\n\n\t\t// `checkProps` issues warnings to developers about properties (similar to React's built in development tools)\n\t\tcheckProps(DATA_TABLE, props, componentDoc);\n\t}\n\n\tcomponentDidMount() {\n\t\tif (this.props.fixedHeader) {\n\t\t\tthis.toggleFixedHeaderListeners(true);\n\t\t\tthis.resizeFixedHeaders();\n\t\t}\n\t}\n\n\tcomponentDidUpdate() {\n\t\tif (this.props.fixedHeader) {\n\t\t\tthis.resizeFixedHeaders();\n\t\t}\n\t}\n\n\tcomponentWillUnmount() {\n\t\tthis.toggleFixedHeaderListeners(false);\n\t}\n\n\tgetId() {\n\t\treturn this.props.id || this.generatedId;\n\t}\n\n\thandleToggleAll = (e, { checked }) => {\n\t\t// REMOVE AT NEXT BREAKING CHANGE\n\t\t// `onChange` is deprecated and replaced with `onRowChange`\n\t\tif (typeof this.props.onChange === 'function') {\n\t\t\tconst selection = (checked ? [...this.props.items] : []).filter(\n\t\t\t\t(item) => item.type !== 'header-row'\n\t\t\t);\n\t\t\tthis.props.onChange(selection, e);\n\t\t}\n\n\t\tif (typeof this.props.onRowChange === 'function') {\n\t\t\tconst selection = (checked ? [...this.props.items] : []).filter(\n\t\t\t\t(item) => item.type !== 'header-row'\n\t\t\t);\n\t\t\tthis.props.onRowChange(e, { selection });\n\t\t}\n\t};\n\n\thandleRowToggle = (item, selected, e) => {\n\t\t// REMOVE AT NEXT BREAKING CHANGE\n\t\t// `onChange` is deprecated and replaced with `onRowChange`\n\t\tif (typeof this.props.onChange === 'function') {\n\t\t\tlet selection;\n\n\t\t\tif (selected) {\n\t\t\t\tselection =\n\t\t\t\t\tthis.props.selectRows === 'radio'\n\t\t\t\t\t\t? [item]\n\t\t\t\t\t\t: [...this.props.selection, item];\n\t\t\t} else {\n\t\t\t\tselection = reject(this.props.selection, item);\n\t\t\t}\n\n\t\t\tthis.props.onChange(selection, e);\n\t\t}\n\t\t// DEPRECATED CODE ENDS HERE\n\n\t\tif (typeof this.props.onRowChange === 'function') {\n\t\t\tlet selection;\n\n\t\t\tif (selected) {\n\t\t\t\tselection =\n\t\t\t\t\tthis.props.selectRows === 'radio'\n\t\t\t\t\t\t? [item]\n\t\t\t\t\t\t: [...this.props.selection, item];\n\t\t\t} else {\n\t\t\t\tselection = reject(this.props.selection, item);\n\t\t\t}\n\n\t\t\tthis.props.onRowChange(e, { selection });\n\t\t}\n\t};\n\n\tresizeFixedHeaders = (event) => {\n\t\tconst headerRefs = [].concat(\n\t\t\tthis.headerRefs.select,\n\t\t\tthis.headerRefs.column,\n\t\t\tthis.headerRefs.action\n\t\t);\n\n\t\tif (this.props.onFixedHeaderResize) {\n\t\t\tthis.props.onFixedHeaderResize(event, {\n\t\t\t\theaderRefs,\n\t\t\t\tscrollerRef: this.scrollerRef,\n\t\t\t});\n\t\t} else if (headerRefs.length > 0) {\n\t\t\tlet documentScrollLeft = 0;\n\n\t\t\tif (canUseDOM) {\n\t\t\t\tdocumentScrollLeft = document.documentElement.scrollLeft;\n\t\t\t}\n\n\t\t\theaderRefs.forEach((column) => {\n\t\t\t\tif (column && canUseDOM) {\n\t\t\t\t\tconst columnLeft =\n\t\t\t\t\t\tcolumn.getBoundingClientRect().left + documentScrollLeft;\n\t\t\t\t\tlet wrapperLeft = 0;\n\n\t\t\t\t\tif (this.scrollerRef) {\n\t\t\t\t\t\twrapperLeft =\n\t\t\t\t\t\t\tthis.scrollerRef.getBoundingClientRect().left +\n\t\t\t\t\t\t\tdocumentScrollLeft;\n\t\t\t\t\t}\n\n\t\t\t\t\tconst cellFixed = column.querySelector('.slds-cell-fixed');\n\n\t\t\t\t\tif (cellFixed) {\n\t\t\t\t\t\tcellFixed.style.left = `${columnLeft - wrapperLeft}px`;\n\t\t\t\t\t\tcellFixed.style.width = `${column.offsetWidth}px`;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t};\n\n\tonScrollerScroll = () => {\n\t\tif (this.props.hasMore && this.props.onLoadMore) {\n\t\t\tconst { scrollTop, offsetHeight, scrollHeight } = this.scrollerRef;\n\t\t\tif (scrollTop + offsetHeight > scrollHeight - this.props.loadMoreOffset) {\n\t\t\t\tthis.props.onLoadMore();\n\t\t\t}\n\t\t}\n\t};\n\n\ttoggleFixedHeaderListeners = (attach) => {\n\t\tif (this.props.onToggleFixedHeaderListeners) {\n\t\t\tthis.props.onToggleFixedHeaderListeners(\n\t\t\t\t{},\n\t\t\t\t{\n\t\t\t\t\tattach,\n\t\t\t\t\tresizeHandler: this.resizeFixedHeaders,\n\t\t\t\t\tscrollerRef: this.scrollerRef,\n\t\t\t\t}\n\t\t\t);\n\t\t} else {\n\t\t\tconst action = [`${attach ? 'add' : 'remove'}EventListener`];\n\t\t\tif (canUseEventListeners) {\n\t\t\t\twindow[action]('resize', this.resizeFixedHeaders);\n\t\t\t\twindow[action]('resize', this.onScrollerScroll);\n\t\t\t}\n\t\t\tif (canUseEventListeners && this.scrollerRef) {\n\t\t\t\tthis.scrollerRef[action]('scroll', this.resizeFixedHeaders);\n\t\t\t\tthis.scrollerRef[action]('scroll', this.onScrollerScroll);\n\t\t\t}\n\t\t}\n\t};\n\n\t// ### Render\n\trender() {\n\t\tconst ariaProps = {};\n\t\tconst numRows = count(this.props.items);\n\t\tconst numSelected = count(this.props.selection);\n\t\tconst numNonHeaderRows = count(\n\t\t\tthis.props.items.filter((item) => item.type !== 'header-row')\n\t\t);\n\t\tconst canSelectRows =\n\t\t\tthis.props.selectRows && numNonHeaderRows > 0\n\t\t\t\t? this.props.selectRows\n\t\t\t\t: false;\n\t\tconst allSelected = canSelectRows && numNonHeaderRows === numSelected;\n\t\tconst indeterminateSelected =\n\t\t\tcanSelectRows && numNonHeaderRows !== numSelected && numSelected !== 0;\n\t\tconst columns = [];\n\t\tlet RowActions = null;\n\n\t\tReact.Children.forEach(this.props.children, (child) => {\n\t\t\tif (child && child.type.displayName === DataTableColumn.displayName) {\n\t\t\t\tconst { children, ...columnProps } = child.props;\n\n\t\t\t\tconst props = assign({}, this.props);\n\t\t\t\t// eslint-disable-next-line fp/no-delete\n\t\t\t\tdelete props.children;\n\t\t\t\tassign(props, columnProps);\n\n\t\t\t\tlet Cell;\n\t\t\t\tif (children && children.type.displayName === DATA_TABLE_CELL) {\n\t\t\t\t\tCell = children.type;\n\t\t\t\t\tassign(props, children.props);\n\t\t\t\t} else {\n\t\t\t\t\tCell = DataTableCell;\n\t\t\t\t}\n\n\t\t\t\t// eslint-disable-next-line fp/no-mutating-methods\n\t\t\t\tcolumns.push({\n\t\t\t\t\tCell,\n\t\t\t\t\tprops,\n\t\t\t\t\tdataTableProps: this.props,\n\t\t\t\t});\n\t\t\t} else if (\n\t\t\t\tchild &&\n\t\t\t\tchild.type.displayName === DataTableRowActions.displayName\n\t\t\t) {\n\t\t\t\tconst { dropdown } = child.props;\n\t\t\t\tconst dropdownPropOverrides = {};\n\t\t\t\tif (this.props.fixedHeader) {\n\t\t\t\t\tdropdownPropOverrides.menuPosition = 'overflowBoundaryElement';\n\t\t\t\t}\n\t\t\t\tRowActions = React.cloneElement(child, {\n\t\t\t\t\tdropdown: dropdown\n\t\t\t\t\t\t? React.cloneElement(dropdown, dropdownPropOverrides)\n\t\t\t\t\t\t: null,\n\t\t\t\t});\n\t\t\t}\n\t\t});\n\n\t\tconst assistiveText = {\n\t\t\t...defaultProps.assistiveText,\n\t\t\t...this.props.assistiveText,\n\t\t};\n\t\tif (this.props.assistiveTextForActionsHeader) {\n\t\t\tassistiveText.actionsHeader = this.props.assistiveTextForActionsHeader;\n\t\t}\n\t\tif (this.props.assistiveTextForSelectAllRows) {\n\t\t\tassistiveText.selectAllRows = this.props.assistiveTextForSelectAllRows;\n\t\t}\n\t\tif (this.props.assistiveTextForColumnSortedAscending) {\n\t\t\tassistiveText.columnSortedAscending = this.props.assistiveTextForColumnSortedAscending;\n\t\t}\n\t\tif (this.props.assistiveTextForColumnSortedDescending) {\n\t\t\tassistiveText.columnSortedDescending = this.props.assistiveTextForColumnSortedDescending;\n\t\t}\n\t\tif (this.props.assistiveTextForColumnSort) {\n\t\t\tassistiveText.columnSort = this.props.assistiveTextForColumnSort;\n\t\t}\n\t\tif (this.props.assistiveTextForSelectRow) {\n\t\t\tassistiveText.selectRow = this.props.assistiveTextForSelectRow;\n\t\t}\n\n\t\tif (this.props.selectRows && this.props.selectRows !== 'radio') {\n\t\t\tariaProps['aria-multiselectable'] = 'true';\n\t\t}\n\n\t\t// This guarantees there are never any old header references if props change\n\t\tthis.headerRefs = {\n\t\t\taction: RowActions ? this.headerRefs.action : [],\n\t\t\tcolumn: this.headerRefs.column.slice(0, columns.length),\n\t\t\tselect: canSelectRows ? this.headerRefs.select : [],\n\t\t};\n\n\t\tlet component = (\n\t\t\t<React.Fragment>\n\t\t\t\t<table\n\t\t\t\t\t{...ariaProps}\n\t\t\t\t\tclassName={classNames(\n\t\t\t\t\t\t'slds-table',\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t'slds-table_fixed-layout': this.props.fixedLayout,\n\t\t\t\t\t\t\t'slds-table_header-fixed': this.props.fixedHeader,\n\t\t\t\t\t\t\t'slds-table_resizable-cols': this.props.fixedLayout,\n\t\t\t\t\t\t\t'slds-table_bordered': !this.props.unborderedRow,\n\t\t\t\t\t\t\t'slds-table_cell-buffer':\n\t\t\t\t\t\t\t\t!this.props.fixedLayout && !this.props.unbufferedCell,\n\t\t\t\t\t\t\t'slds-max-medium-table_stacked': this.props.stacked,\n\t\t\t\t\t\t\t'slds-max-medium-table_stacked-horizontal': this.props\n\t\t\t\t\t\t\t\t.stackedHorizontal,\n\t\t\t\t\t\t\t'slds-table_striped': this.props.striped,\n\t\t\t\t\t\t\t'slds-table_col-bordered': this.props.columnBordered,\n\t\t\t\t\t\t\t'slds-no-row-hover': this.props.noRowHover,\n\t\t\t\t\t\t},\n\t\t\t\t\t\tthis.props.className\n\t\t\t\t\t)}\n\t\t\t\t\tid={this.getId()}\n\t\t\t\t\trole={this.props.fixedLayout ? 'grid' : null}\n\t\t\t\t\tstyle={this.props.style}\n\t\t\t\t>\n\t\t\t\t\t<DataTableHead\n\t\t\t\t\t\tassistiveText={assistiveText}\n\t\t\t\t\t\tallSelected={allSelected}\n\t\t\t\t\t\tfixedHeader={this.props.fixedHeader}\n\t\t\t\t\t\theaderRefs={(ref, index) => {\n\t\t\t\t\t\t\tif (index === 'action' || index === 'select') {\n\t\t\t\t\t\t\t\tif (ref) {\n\t\t\t\t\t\t\t\t\tthis.headerRefs[index][0] = ref;\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\tthis.headerRefs[index] = [];\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tthis.headerRefs.column[index] = ref;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}}\n\t\t\t\t\t\tindeterminateSelected={indeterminateSelected}\n\t\t\t\t\t\tcanSelectRows={canSelectRows}\n\t\t\t\t\t\tcolumns={columns}\n\t\t\t\t\t\tid={`${this.getId()}-${DATA_TABLE_HEAD}`}\n\t\t\t\t\t\tonToggleAll={this.handleToggleAll}\n\t\t\t\t\t\tonSort={this.props.onSort}\n\t\t\t\t\t\tshowRowActions={!!RowActions}\n\t\t\t\t\t/>\n\t\t\t\t\t<tbody>\n\t\t\t\t\t\t{numRows > 0\n\t\t\t\t\t\t\t? this.props.items.map((item, index) => {\n\t\t\t\t\t\t\t\t\tconst rowId =\n\t\t\t\t\t\t\t\t\t\tthis.getId() && item.id\n\t\t\t\t\t\t\t\t\t\t\t? `${this.getId()}-${DATA_TABLE_ROW}-${item.id}`\n\t\t\t\t\t\t\t\t\t\t\t: shortid.generate();\n\t\t\t\t\t\t\t\t\treturn this.props.onRenderSubHeadingRow &&\n\t\t\t\t\t\t\t\t\t\titem.type === 'header-row' ? (\n\t\t\t\t\t\t\t\t\t\tthis.props.onRenderSubHeadingRow({\n\t\t\t\t\t\t\t\t\t\t\tassistiveText,\n\t\t\t\t\t\t\t\t\t\t\tclassNameRow: item.classNameRow,\n\t\t\t\t\t\t\t\t\t\t\tcolumns,\n\t\t\t\t\t\t\t\t\t\t\tkey: rowId,\n\t\t\t\t\t\t\t\t\t\t\tid: rowId,\n\t\t\t\t\t\t\t\t\t\t\ttableId: this.getId(),\n\t\t\t\t\t\t\t\t\t\t\titem,\n\t\t\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t\t<DataTableRow\n\t\t\t\t\t\t\t\t\t\t\tassistiveText={assistiveText}\n\t\t\t\t\t\t\t\t\t\t\tcanSelectRows={canSelectRows}\n\t\t\t\t\t\t\t\t\t\t\tclassName={item.classNameRow}\n\t\t\t\t\t\t\t\t\t\t\tcolumns={columns}\n\t\t\t\t\t\t\t\t\t\t\tfixedLayout={this.props.fixedLayout}\n\t\t\t\t\t\t\t\t\t\t\tid={rowId}\n\t\t\t\t\t\t\t\t\t\t\tindex={index}\n\t\t\t\t\t\t\t\t\t\t\titem={item}\n\t\t\t\t\t\t\t\t\t\t\tkey={rowId}\n\t\t\t\t\t\t\t\t\t\t\tonToggle={this.handleRowToggle}\n\t\t\t\t\t\t\t\t\t\t\tselection={this.props.selection}\n\t\t\t\t\t\t\t\t\t\t\trowActions={RowActions}\n\t\t\t\t\t\t\t\t\t\t\ttableId={this.getId()}\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t })\n\t\t\t\t\t\t\t: // Someday this should be an element to render when the table is empty\n\t\t\t\t\t\t\t null}\n\t\t\t\t\t</tbody>\n\t\t\t\t</table>\n\t\t\t\t{this.props.fixedHeader && this.props.hasMore && (\n\t\t\t\t\t<div className=\"slds-is-relative slds-p-around_large\">\n\t\t\t\t\t\t<Spinner\n\t\t\t\t\t\t\tassistiveText={{ label: this.props.assistiveText.loadingMore }}\n\t\t\t\t\t\t\thasContainer={false}\n\t\t\t\t\t\t\tsize=\"small\"\n\t\t\t\t\t\t\tvariant=\"brand\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t</div>\n\t\t\t\t)}\n\t\t\t</React.Fragment>\n\t\t);\n\n\t\tif (this.props.fixedHeader) {\n\t\t\tconst border = `1px solid ${colorGray5}`;\n\t\t\tconst styles = {\n\t\t\t\tborderTop: border,\n\t\t\t\theight: '100%',\n\t\t\t};\n\n\t\t\tif (this.props.joined) {\n\t\t\t\tstyles.borderBottom = border;\n\t\t\t\tstyles.borderLeft = border;\n\t\t\t\tstyles.borderRight = border;\n\t\t\t\tstyles.borderTop = 'none';\n\t\t\t\tstyles.borderRadius = tableBorderRadius;\n\t\t\t}\n\n\t\t\tcomponent = (\n\t\t\t\t<div\n\t\t\t\t\tclassName=\"slds-table_header-fixed_container\"\n\t\t\t\t\tstyle={styles}\n\t\t\t\t\tonScroll={(e) => {\n\t\t\t\t\t\tconst containerScrollLeft = e.target.scrollLeft;\n\n\t\t\t\t\t\tif (containerScrollLeft > 0) {\n\t\t\t\t\t\t\te.target.scrollLeft = 0;\n\t\t\t\t\t\t\tif (this.scrollerRef) {\n\t\t\t\t\t\t\t\tthis.scrollerRef.scrollLeft = containerScrollLeft;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}}\n\t\t\t\t>\n\t\t\t\t\t<div\n\t\t\t\t\t\tclassName=\"slds-table_header-fixed_scroller\"\n\t\t\t\t\t\tref={(ref) => {\n\t\t\t\t\t\t\tthis.scrollerRef = ref;\n\t\t\t\t\t\t}}\n\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\theight: '100%',\n\t\t\t\t\t\t\toverflow: 'auto',\n\t\t\t\t\t\t}}\n\t\t\t\t\t>\n\t\t\t\t\t\t{component}\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t);\n\t\t}\n\n\t\treturn component;\n\t}\n}\n\nexport default DataTable;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// ### React\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\n// ## Children\nimport DataTableCell from './cell';\nimport Highlighter from '../utilities/highlighter';\n\n// ## Constants\nimport { DATA_TABLE_CELL } from '../../utilities/constants';\n\n/**\n * A Cell renderer for the DataTable that automatically highlights search text.\n */\nconst DataTableHighlightCell = (props) => (\n\t<DataTableCell {...props}>\n\t\t<Highlighter search={props.search}>{props.children}</Highlighter>\n\t</DataTableCell>\n);\n\n// ### Display Name\n// The DataTable looks for components with this name to determine what it should use to render a given column's cells.\nDataTableHighlightCell.displayName = DATA_TABLE_CELL;\n\n// ### Prop Types\nDataTableHighlightCell.propTypes = {\n\t/**\n\t * The contents of the cell. Equivalent to `props.item[props.property]`\n\t */\n\tchildren: PropTypes.oneOfType([PropTypes.node, PropTypes.string]),\n\t/**\n\t * The string of text (or Regular Expression) to highlight.\n\t */\n\tsearch: PropTypes.any,\n};\n\nexport default DataTableHighlightCell;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\nconst DateUtil = {\n\tfirstDayOfMonth(date) {\n\t\tconst newDate = new Date(date);\n\t\tnewDate.setDate(1);\n\t\treturn newDate;\n\t},\n\n\tisFirstDayOfMonth(date) {\n\t\treturn date.getDate() === 1;\n\t},\n\n\tisLastDayOfMonth(date) {\n\t\treturn !DateUtil.isSameMonth(date, DateUtil.addDays(date, 1));\n\t},\n\tisSameMonth(d1, d2) {\n\t\tif (!d1 || !d2) {\n\t\t\treturn false;\n\t\t}\n\t\treturn (\n\t\t\td1.getFullYear() === d2.getFullYear() && d1.getMonth() === d2.getMonth()\n\t\t);\n\t},\n\tisSameDay(d1, d2) {\n\t\tif (!d1 || !d2) {\n\t\t\treturn false;\n\t\t}\n\t\treturn (\n\t\t\td1.getFullYear() === d2.getFullYear() &&\n\t\t\td1.getMonth() === d2.getMonth() &&\n\t\t\td1.getDate() === d2.getDate()\n\t\t);\n\t},\n\tisCurrentMonth(date) {\n\t\tif (!date) {\n\t\t\treturn false;\n\t\t}\n\t\treturn DateUtil.isSameMonth(date, new Date());\n\t},\n\tisToday(date) {\n\t\tif (!date) {\n\t\t\treturn false;\n\t\t}\n\t\treturn DateUtil.isSameDay(date, new Date());\n\t},\n\tisEqual(d1, d2) {\n\t\treturn d1.getTime() === d2.getTime();\n\t},\n\taddDays(date, deltaDays) {\n\t\tconst newDate = new Date(date);\n\t\tnewDate.setDate(newDate.getDate() + parseInt(deltaDays, 10));\n\t\treturn newDate;\n\t},\n\taddWeeks(date, deltaWeeks) {\n\t\treturn DateUtil.addDays(date, parseInt(deltaWeeks, 10) * 7);\n\t},\n\tnearestWeekDay(date, weekDayIndex) {\n\t\tlet delta = weekDayIndex - date.getDay();\n\t\tif (delta < 0) {\n\t\t\tdelta += 7;\n\t\t}\n\t\treturn DateUtil.addDays(date, delta);\n\t},\n\tisLeapYear(year) {\n\t\treturn (year % 4 === 0 && year % 100 !== 0) || year % 400 === 0;\n\t},\n\n\tgetDaysInMonth(year, month) {\n\t\treturn [\n\t\t\t31,\n\t\t\tDateUtil.isLeapYear(year) ? 29 : 28,\n\t\t\t31,\n\t\t\t30,\n\t\t\t31,\n\t\t\t30,\n\t\t\t31,\n\t\t\t31,\n\t\t\t30,\n\t\t\t31,\n\t\t\t30,\n\t\t\t31,\n\t\t][month];\n\t},\n\n\taddMonths(date, value) {\n\t\tconst newDate = new Date(date);\n\t\tconst dateOfNewDate = newDate.getDate();\n\t\tnewDate.setDate(1);\n\t\tnewDate.setMonth(newDate.getMonth() + value);\n\t\tnewDate.setDate(\n\t\t\tMath.min(\n\t\t\t\tdateOfNewDate,\n\t\t\t\tDateUtil.getDaysInMonth(newDate.getFullYear(), newDate.getMonth())\n\t\t\t)\n\t\t);\n\t\treturn newDate;\n\t},\n};\n\nexport default DateUtil;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\n// ### classNames\n// [github.com/JedWatson/classnames](https://github.com/JedWatson/classnames)\n// This project uses `classnames`, \"a simple javascript utility for conditionally\n// joining classNames together.\"\nimport classNames from 'classnames';\n\nimport EventUtil from '../../../utilities/event';\nimport DateUtil from '../../../utilities/date';\nimport KEYS from '../../../utilities/key-code';\n\nimport { DIRECTIONS } from '../../utilities/UNSAFE_direction';\nimport LanguageDirection from '../../utilities/UNSAFE_direction/private/language-direction';\n\nconst handleClick = (event, { date, onSelectDate }) => {\n\tonSelectDate(event, { date });\n};\n\nconst handleKeyDown = (\n\tevent,\n\t{\n\t\tdate,\n\t\tonCalendarBlur,\n\t\tonSelectDate,\n\t\tonKeyboardNavigateToPreviousDay,\n\t\tonKeyboardNavigateToNextDay,\n\t\tonKeyboardNavigateToPreviousWeek,\n\t\tonKeyboardNavigateToNextWeek,\n\t\tdirection,\n\t}\n) => {\n\tconst keyDownCallbacks = {\n\t\t[KEYS.SPACE]: () => {\n\t\t\tonSelectDate(event, { date });\n\t\t},\n\t\t[KEYS.ENTER]: () => {\n\t\t\tonSelectDate(event, { date });\n\t\t},\n\t\t[KEYS.TAB]: () => {\n\t\t\tonCalendarBlur(event, { direction: 'next' });\n\t\t},\n\t\t[KEYS.LEFT]: () => {\n\t\t\tif (direction === DIRECTIONS.RTL) {\n\t\t\t\tonKeyboardNavigateToNextDay(event, { date });\n\t\t\t} else {\n\t\t\t\tonKeyboardNavigateToPreviousDay(event, { date });\n\t\t\t}\n\t\t},\n\t\t[KEYS.RIGHT]: () => {\n\t\t\tif (direction === DIRECTIONS.RTL) {\n\t\t\t\tonKeyboardNavigateToPreviousDay(event, { date });\n\t\t\t} else {\n\t\t\t\tonKeyboardNavigateToNextDay(event, { date });\n\t\t\t}\n\t\t},\n\t\t[KEYS.UP]: () => {\n\t\t\tonKeyboardNavigateToPreviousWeek(event, { date });\n\t\t},\n\t\t[KEYS.DOWN]: () => {\n\t\t\tonKeyboardNavigateToNextWeek(event, { date });\n\t\t},\n\t};\n\n\tconst shiftKeyDownCallbacks = {\n\t\t[KEYS.TAB]: () => {\n\t\t\tonCalendarBlur(event, { direction: 'previous' });\n\t\t},\n\t};\n\n\tif (event.keyCode) {\n\t\tif (event.shiftKey && keyDownCallbacks[event.keyCode]) {\n\t\t\tEventUtil.trapEvent(event);\n\t\t\tshiftKeyDownCallbacks[event.keyCode]();\n\t\t} else if (keyDownCallbacks[event.keyCode]) {\n\t\t\tEventUtil.trapEvent(event);\n\t\t\tkeyDownCallbacks[event.keyCode]();\n\t\t}\n\t}\n};\n\nconst DatepickerCalendarDay = (props) => {\n\tconst isCurrentMonth = DateUtil.isSameMonth(\n\t\tprops.date,\n\t\tprops.initialDateForCalendarRender\n\t);\n\tconst isToday = DateUtil.isToday(props.date);\n\tconst isSelectedDay = DateUtil.isSameDay(props.date, props.selectedDate);\n\tconst isFirstDayOfMonth = DateUtil.isFirstDayOfMonth(props.date);\n\tconst isDisabled = !isCurrentMonth || props.disabled;\n\n\treturn (\n\t\t/* eslint-disable jsx-a11y/no-static-element-interactions */\n\t\t<td\n\t\t\taria-disabled={isDisabled}\n\t\t\taria-selected={isSelectedDay}\n\t\t\tclassName={classNames({\n\t\t\t\t'slds-is-today': isToday,\n\t\t\t\t'slds-disabled-text': isDisabled,\n\t\t\t\t'slds-is-selected': isSelectedDay,\n\t\t\t})}\n\t\t\tonClick={(event) => {\n\t\t\t\thandleClick(event, {\n\t\t\t\t\tdate: props.date,\n\t\t\t\t\tonSelectDate: props.onSelectDate,\n\t\t\t\t});\n\t\t\t}}\n\t\t\tonKeyDown={(event) => {\n\t\t\t\thandleKeyDown(event, {\n\t\t\t\t\t...props,\n\t\t\t\t});\n\t\t\t}}\n\t\t\tref={(component) => {\n\t\t\t\tif (isSelectedDay) {\n\t\t\t\t\tprops.selectedDateRef(component);\n\t\t\t\t}\n\n\t\t\t\tif (\n\t\t\t\t\tprops.calendarHasFocus &&\n\t\t\t\t\tDateUtil.isSameDay(props.focusedDate, props.date) &&\n\t\t\t\t\tisCurrentMonth\n\t\t\t\t) {\n\t\t\t\t\tprops.onRequestInternalFocusDate(undefined, {\n\t\t\t\t\t\tdate: props.date,\n\t\t\t\t\t\tref: component,\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}}\n\t\t\trole=\"gridcell\"\n\t\t\ttabIndex={\n\t\t\t\t!props.calendarHasFocus && isFirstDayOfMonth && isCurrentMonth ? 0 : -1\n\t\t\t}\n\t\t>\n\t\t\t{/* eslint-enable jsx-a11y/no-static-element-interactions */}\n\t\t\t<span className=\"slds-day\">\n\t\t\t\t{isToday ? (\n\t\t\t\t\t<span className=\"slds-assistive-text\">{`${props.todayLabel}: `}</span>\n\t\t\t\t) : null}\n\t\t\t\t{props.date.getDate()}\n\t\t\t</span>\n\t\t</td>\n\t);\n};\n\nDatepickerCalendarDay.displayName = 'SLDSDatepickerCalendarDay';\n\nDatepickerCalendarDay.propTypes = {\n\t/**\n\t * If elements within the calendar have focus. This is helpful for keyboard event trapping.\n\t */\n\tcalendarHasFocus: PropTypes.bool.isRequired,\n\t/**\n\t * Date of day\n\t */\n\tdate: PropTypes.instanceOf(Date).isRequired,\n\t/**\n\t * If date is disabled\n\t */\n\tdisabled: PropTypes.bool,\n\t/**\n\t * Date used to create calendar that is displayed. This is typically the initial day focused when using the keyboard navigation. Focus will be set to this date if available.\n\t */\n\tinitialDateForCalendarRender: PropTypes.instanceOf(Date).isRequired,\n\t/**\n\t * Triggered when the keyboard moves focus off the calendar.\n\t */\n\tonCalendarBlur: PropTypes.func.isRequired,\n\t/**\n\t * For keyboard navigation. Changes the focus to the next day on the calendar. Triggered when right arrow button is pressed.\n\t */\n\tonKeyboardNavigateToNextDay: PropTypes.func.isRequired,\n\t/**\n\t * For keyboard navigation. Changes the focus to the same day in the next week on the calendar. Triggered when down arrow button is pressed.\n\t */\n\tonKeyboardNavigateToNextWeek: PropTypes.func.isRequired,\n\t/**\n\t * For keyboard navigation. Changes the focus to the previous day on the calendar. Triggered when left arrow button is pressed.\n\t */\n\tonKeyboardNavigateToPreviousDay: PropTypes.func.isRequired,\n\t/**\n\t * For keyboard navigation. Changes the focus to the same day in the previous week on the calendar. Triggered when up arrow button is pressed.\n\t */\n\tonKeyboardNavigateToPreviousWeek: PropTypes.func.isRequired,\n\t/**\n\t * Triggered when a date on the calendar is clicked.\n\t */\n\tonSelectDate: PropTypes.func.isRequired,\n\t/**\n\t * Currently selected date. This should be present in the input field.\n\t */\n\tselectedDate: PropTypes.instanceOf(Date).isRequired,\n\t/**\n\t * Component reference / DOM node for selected day.\n\t */\n\tselectedDateRef: PropTypes.func.isRequired,\n\t/**\n\t * Label of shortcut to jump to today within the calendar. Also used for assistive text for the current day.\n\t */\n\ttodayLabel: PropTypes.string.isRequired,\n\tfocusedDate: PropTypes.instanceOf(Date),\n\tonRequestInternalFocusDate: PropTypes.func,\n};\n\nexport default LanguageDirection(DatepickerCalendarDay);\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\nimport Day from './day';\n\nimport DateUtil from '../../../utilities/date';\n\nconst DatepickerWeek = (props) => {\n\tconst days = [];\n\tlet date = props.firstDayOfWeek;\n\n\t// eslint-disable-next-line fp/no-loops\n\tfor (let i = 0; i < 7; i += 1) {\n\t\t// eslint-disable-next-line fp/no-mutating-methods\n\t\tdays.push(\n\t\t\t<Day\n\t\t\t\tcalendarHasFocus={props.calendarHasFocus}\n\t\t\t\tdate={date}\n\t\t\t\tdisabled={props.dateDisabled({ date })}\n\t\t\t\tfocusedDate={props.focusedDate}\n\t\t\t\tinitialDateForCalendarRender={props.initialDateForCalendarRender}\n\t\t\t\tkey={date.toString()}\n\t\t\t\tonKeyboardNavigateToNextDay={props.onKeyboardNavigateToNextDay}\n\t\t\t\tonKeyboardNavigateToNextWeek={props.onKeyboardNavigateToNextWeek}\n\t\t\t\tonKeyboardNavigateToPreviousDay={props.onKeyboardNavigateToPreviousDay}\n\t\t\t\tonKeyboardNavigateToPreviousWeek={\n\t\t\t\t\tprops.onKeyboardNavigateToPreviousWeek\n\t\t\t\t}\n\t\t\t\tonCalendarBlur={props.onCalendarBlur}\n\t\t\t\tonRequestInternalFocusDate={props.onRequestInternalFocusDate}\n\t\t\t\tonSelectDate={props.onSelectDate}\n\t\t\t\tselectedDate={props.selectedDate}\n\t\t\t\tselectedDateRef={props.selectedDateRef}\n\t\t\t\ttodayLabel={props.todayLabel}\n\t\t\t/>\n\t\t);\n\t\tdate = DateUtil.addDays(date, 1);\n\t}\n\n\treturn (\n\t\t<tr className=\"week\" key={days[0].toString()}>\n\t\t\t{days}\n\t\t</tr>\n\t);\n};\n\nDatepickerWeek.propTypes = {\n\t/**\n\t * Date used to create calendar that is displayed. This is typically the initial day focused when using the keyboard navigation. Focus will be set to this date if available.\n\t */\n\tinitialDateForCalendarRender: PropTypes.instanceOf(Date).isRequired,\n\t/**\n\t * Is true if calendar day has focus.\n\t */\n\tcalendarHasFocus: PropTypes.bool.isRequired,\n\t/**\n\t * dateDisabled() takes a date as input argument, returns true if given date should be disabled, otherwise returns false.\n\t */\n\tdateDisabled: PropTypes.func,\n\t/**\n\t * First day of week.\n\t */\n\tfirstDayOfWeek: PropTypes.instanceOf(Date).isRequired,\n\t/**\n\t * Date that has focus.\n\t */\n\tfocusedDate: PropTypes.instanceOf(Date).isRequired,\n\t/**\n\t * Triggered when the keyboard moves focus off the calendar.\n\t */\n\tonCalendarBlur: PropTypes.func.isRequired,\n\t/**\n\t * For keyboard navigation. Changes the focus to the next day on the calendar. Triggered when right arrow button is pressed.\n\t */\n\tonKeyboardNavigateToNextDay: PropTypes.func.isRequired,\n\t/**\n\t * For keyboard navigation. Changes the focus to the same day in the next week on the calendar. Triggered when down arrow button is pressed.\n\t */\n\tonKeyboardNavigateToNextWeek: PropTypes.func.isRequired,\n\t/**\n\t * For keyboard navigation. Changes the focus to the previous day on the calendar. Triggered when left arrow button is pressed.\n\t */\n\tonKeyboardNavigateToPreviousDay: PropTypes.func.isRequired,\n\t/**\n\t * For keyboard navigation. Changes the focus to the same day in the previous week on the calendar. Triggered when up arrow button is pressed.\n\t */\n\tonKeyboardNavigateToPreviousWeek: PropTypes.func.isRequired,\n\t/**\n\t * Triggered when the user wants to focus on a new day witht he keyboard. It returns the keyboard event a data object with the shape: `{date: [Date object]}`. Keyboard event is ommited if a new month is rendered. _Tested with Mocha framework._\n\t */\n\tonRequestInternalFocusDate: PropTypes.func.isRequired,\n\t/**\n\t * Triggered when a date on the calendar is clicked.\n\t */\n\tonSelectDate: PropTypes.func.isRequired,\n\t/**\n\t * Currently selected date. This should be present in the input field.\n\t */\n\tselectedDate: PropTypes.instanceOf(Date).isRequired,\n\t/**\n\t * Component reference / DOM node for selected day.\n\t */\n\tselectedDateRef: PropTypes.func.isRequired,\n\t/**\n\t * Label of shortcut to jump to today within the calendar. Also used for assistive text for the current day.\n\t */\n\ttodayLabel: PropTypes.string.isRequired,\n};\n\nDatepickerWeek.displayName = 'SLDSDatepickerWeek';\n\nexport default DatepickerWeek;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\nimport React from 'react';\n\nimport PropTypes from 'prop-types';\nimport Week from './week';\nimport DateUtil from '../../../utilities/date';\n\nclass DatepickerCalendar extends React.Component {\n\tstatic displayName = 'SLDSDatepickerCalendar';\n\n\tstatic propTypes = {\n\t\t/**\n\t\t * Three letter abbreviations of the days of the week, starting on Sunday.\n\t\t */\n\t\tabbreviatedWeekDayLabels: PropTypes.array.isRequired,\n\t\t/**\n\t\t * dateDisabled() takes a date as input argument, returns true if given date should be disabled, otherwise returns false.\n\t\t */\n\t\tdateDisabled: PropTypes.func,\n\t\t/**\n\t\t * HTML id for component\n\t\t */\n\t\tid: PropTypes.string.isRequired,\n\t\t/**\n\t\t * Date used to create calendar that is displayed. This is typically the initial day focused when using the keyboard navigation. Focus will be set to this date if available.\n\t\t */\n\t\tinitialDateForCalendarRender: PropTypes.instanceOf(Date).isRequired,\n\t\t/**\n\t\t * Makes Monday the first day of the week\n\t\t */\n\t\tisIsoWeekday: PropTypes.bool,\n\t\t/**\n\t\t * Triggered when the keyboard moves focus off the calendar.\n\t\t */\n\t\tonCalendarBlur: PropTypes.func.isRequired,\n\t\t/**\n\t\t * Displayed calendar has changed or re-rendered\n\t\t */\n\t\tonChangeMonth: PropTypes.func.isRequired,\n\t\t/**\n\t\t * Internal callback that will eventually trigger when the keyboard moves focus on the calendar. `{date: [Date object], formattedDate: [string]}`.\n\t\t */\n\t\tonRequestInternalFocusDate: PropTypes.func,\n\t\t/**\n\t\t * Triggered when the calendar is cancelled.\n\t\t */\n\t\tonRequestClose: PropTypes.func.isRequired,\n\t\t/**\n\t\t * Triggered when a date on the calendar is clicked.\n\t\t */\n\t\tonSelectDate: PropTypes.func.isRequired,\n\t\t/**\n\t\t * Currently selected date. This should be present in the input field.\n\t\t */\n\t\tselectedDate: PropTypes.instanceOf(Date),\n\t\t/**\n\t\t * Component reference / DOM node for selected day.\n\t\t */\n\t\tselectedDateRef: PropTypes.func,\n\t\t/**\n\t\t * Label of shortcut to jump to today within the calendar. This is also used for assistive text on today's date.\n\t\t */\n\t\ttodayLabel: PropTypes.string.isRequired,\n\t\t/**\n\t\t * For keyboard navigation. Listens for key presses on the last focusable DOM Node, the \"Today\" link, so that dialog focus can be trapped.\n\t\t */\n\t\tonLastFocusableNodeKeyDown: PropTypes.func,\n\t\t/**\n\t\t * Callback that passes in the DOM reference of the Today `a` DOM node within this component. Primary use is to allow `focus` to be called. You should still test if the node exists, since rendering is asynchronous. `buttonRef={(component) => { if(component) console.log(component); }}`\n\t\t */\n\t\ttodayRef: PropTypes.func,\n\t\t/**\n\t\t * Names of the seven days of the week, starting on Sunday.\n\t\t */\n\t\tweekDayLabels: PropTypes.array.isRequired,\n\t};\n\n\tstate = {\n\t\tfocusedDate: this.props.initialDateForCalendarRender,\n\t\tcalendarHasFocus: true,\n\t\ttodayFocus: false,\n\t};\n\n\tcomponentDidUpdate(prevProps) {\n\t\tthis.setCalendarRenderSeedDate(prevProps);\n\t}\n\n\tsetCalendarRenderSeedDate = (prevProps) => {\n\t\t// Set prop that sets focus in child component once it is rendered. This occurs when the month DOM has changed. This will trigger a re-render, but no DOM change will occur, just a DOM focus.\n\t\tif (\n\t\t\t!DateUtil.isEqual(\n\t\t\t\tthis.props.initialDateForCalendarRender,\n\t\t\t\tprevProps.initialDateForCalendarRender\n\t\t\t)\n\t\t) {\n\t\t\tthis.setState({ focusedDate: this.props.initialDateForCalendarRender });\n\t\t\tthis.props.onRequestInternalFocusDate(undefined, {\n\t\t\t\tdate: this.props.initialDateForCalendarRender,\n\t\t\t\ttriggerCallback: true,\n\t\t\t});\n\t\t}\n\t};\n\n\thandleSelectDate = (event, { date }) => {\n\t\tif (!this.props.dateDisabled({ date })) {\n\t\t\tthis.setState({ selected: date });\n\t\t\tthis.props.onSelectDate(event, { date });\n\t\t}\n\t};\n\n\thandleRequestClose = (event) => {\n\t\tif (this.props.onRequestClose) {\n\t\t\tthis.props.onRequestClose(event, {});\n\t\t}\n\t};\n\n\thandleKeyboardNavigateToPreviousDay = (event, { date }) => {\n\t\tconst prevDate = DateUtil.addDays(date, -1);\n\t\tif (!DateUtil.isSameMonth(prevDate, date)) {\n\t\t\tthis.props.onChangeMonth(event, prevDate);\n\t\t} else {\n\t\t\tthis.setState({ focusedDate: prevDate });\n\t\t\tthis.props.onRequestInternalFocusDate(event, {\n\t\t\t\tdate: prevDate,\n\t\t\t\ttriggerCallback: true,\n\t\t\t});\n\t\t}\n\t};\n\n\thandleKeyboardNavigateToNextDay = (event, { date }) => {\n\t\tconst nextDate = DateUtil.addDays(date, 1);\n\t\tif (!DateUtil.isSameMonth(nextDate, date)) {\n\t\t\tthis.props.onChangeMonth(event, nextDate);\n\t\t} else {\n\t\t\tthis.setState({ focusedDate: nextDate });\n\t\t\tthis.props.onRequestInternalFocusDate(event, {\n\t\t\t\tdate: nextDate,\n\t\t\t\ttriggerCallback: true,\n\t\t\t});\n\t\t}\n\t};\n\n\thandleKeyboardNavigateToPreviousWeek = (event, { date }) => {\n\t\tconst prevDate = DateUtil.addDays(date, -7);\n\t\tif (!DateUtil.isSameMonth(prevDate, date)) {\n\t\t\tthis.props.onChangeMonth(event, prevDate);\n\t\t} else {\n\t\t\tthis.setState({ focusedDate: prevDate });\n\t\t\tthis.props.onRequestInternalFocusDate(event, {\n\t\t\t\tdate: prevDate,\n\t\t\t\ttriggerCallback: true,\n\t\t\t});\n\t\t}\n\t};\n\n\thandleKeyboardNavigateToNextWeek = (event, { date }) => {\n\t\tconst nextDate = DateUtil.addDays(date, 7);\n\t\tif (!DateUtil.isSameMonth(nextDate, date)) {\n\t\t\tthis.props.onChangeMonth(event, nextDate);\n\t\t} else {\n\t\t\tthis.setState({ focusedDate: nextDate });\n\t\t\tthis.props.onRequestInternalFocusDate(event, {\n\t\t\t\tdate: nextDate,\n\t\t\t\ttriggerCallback: true,\n\t\t\t});\n\t\t}\n\t};\n\n\trenderWeeks = () => {\n\t\tconst firstDayOfWeekOffset = this.props.isIsoWeekday ? 1 : 0;\n\n\t\tconst firstDayOfMonth = DateUtil.firstDayOfMonth(\n\t\t\tthis.props.initialDateForCalendarRender\n\t\t);\n\n\t\tlet firstDayOfWeek;\n\t\tif (\n\t\t\tfirstDayOfMonth.getDay() > firstDayOfWeekOffset ||\n\t\t\tfirstDayOfMonth.getDay() < firstDayOfWeekOffset\n\t\t) {\n\t\t\tconst prevWeek = DateUtil.addWeeks(firstDayOfMonth, -1);\n\t\t\tfirstDayOfWeek = DateUtil.nearestWeekDay(prevWeek, firstDayOfWeekOffset);\n\t\t} else {\n\t\t\tfirstDayOfWeek = firstDayOfMonth;\n\t\t}\n\n\t\tconst weeks = [];\n\t\tlet done = false;\n\n\t\tlet monthIndex = firstDayOfWeek.getMonth();\n\t\tlet count = 0;\n\n\t\t// eslint-disable-next-line fp/no-loops\n\t\twhile (!done) {\n\t\t\t// eslint-disable-next-line fp/no-mutating-methods\n\t\t\tweeks.push(\n\t\t\t\t<Week\n\t\t\t\t\tcalendarHasFocus={this.state.calendarHasFocus}\n\t\t\t\t\tdateDisabled={this.props.dateDisabled}\n\t\t\t\t\tfirstDayOfWeek={firstDayOfWeek}\n\t\t\t\t\tkey={firstDayOfWeek.toString()}\n\t\t\t\t\tfocusedDate={this.state.focusedDate}\n\t\t\t\t\tinitialDateForCalendarRender={this.props.initialDateForCalendarRender}\n\t\t\t\t\tonCalendarBlur={this.props.onCalendarBlur}\n\t\t\t\t\tonKeyboardNavigateToPreviousDay={\n\t\t\t\t\t\tthis.handleKeyboardNavigateToPreviousDay\n\t\t\t\t\t}\n\t\t\t\t\tonKeyboardNavigateToNextDay={this.handleKeyboardNavigateToNextDay}\n\t\t\t\t\tonKeyboardNavigateToPreviousWeek={\n\t\t\t\t\t\tthis.handleKeyboardNavigateToPreviousWeek\n\t\t\t\t\t}\n\t\t\t\t\tonKeyboardNavigateToNextWeek={this.handleKeyboardNavigateToNextWeek}\n\t\t\t\t\tonRequestClose={this.handleRequestClose}\n\t\t\t\t\tonRequestInternalFocusDate={this.props.onRequestInternalFocusDate}\n\t\t\t\t\tonSelectDate={this.handleSelectDate}\n\t\t\t\t\tselectedDate={this.props.selectedDate}\n\t\t\t\t\tselectedDateRef={this.props.selectedDateRef}\n\t\t\t\t\ttodayLabel={this.props.todayLabel}\n\t\t\t\t/>\n\t\t\t);\n\n\t\t\t// create new weeks\n\t\t\tfirstDayOfWeek = DateUtil.addWeeks(firstDayOfWeek, 1);\n\t\t\tdone = count > 2 && monthIndex !== firstDayOfWeek.getMonth();\n\t\t\tcount += 1;\n\t\t\tmonthIndex = firstDayOfWeek.getMonth();\n\t\t}\n\t\tlet extraWeeks = 0;\n\t\t// eslint-disable-next-line fp/no-loops\n\t\twhile (weeks.length < 6) {\n\t\t\textraWeeks += 1;\n\t\t\t// eslint-disable-next-line fp/no-mutating-methods\n\t\t\tweeks.push(\n\t\t\t\t<tr key={`extra_${extraWeeks}`} className=\"week\">\n\t\t\t\t\t<td\n\t\t\t\t\t\taria-disabled=\"true\"\n\t\t\t\t\t\taria-selected=\"false\"\n\t\t\t\t\t\tclassName=\"slds-disabled-text\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<span className=\"slds-day \"> </span>\n\t\t\t\t\t</td>\n\t\t\t\t</tr>\n\t\t\t);\n\t\t}\n\n\t\treturn weeks;\n\t};\n\n\trender() {\n\t\tconst sunday = (\n\t\t\t<th>\n\t\t\t\t<abbr title={this.props.weekDayLabels[0]}>\n\t\t\t\t\t{this.props.abbreviatedWeekDayLabels[0]}\n\t\t\t\t</abbr>\n\t\t\t</th>\n\t\t);\n\n\t\treturn (\n\t\t\t<div className=\"calendar\">\n\t\t\t\t<table\n\t\t\t\t\tclassName=\"datepicker__month\"\n\t\t\t\t\trole=\"grid\"\n\t\t\t\t\taria-labelledby={`${this.props.id}-month`}\n\t\t\t\t>\n\t\t\t\t\t<thead>\n\t\t\t\t\t\t<tr>\n\t\t\t\t\t\t\t{this.props.isIsoWeekday ? null : sunday}\n\t\t\t\t\t\t\t<th scope=\"col\">\n\t\t\t\t\t\t\t\t<abbr title={this.props.weekDayLabels[1]}>\n\t\t\t\t\t\t\t\t\t{this.props.abbreviatedWeekDayLabels[1]}\n\t\t\t\t\t\t\t\t</abbr>\n\t\t\t\t\t\t\t</th>\n\t\t\t\t\t\t\t<th scope=\"col\">\n\t\t\t\t\t\t\t\t<abbr title={this.props.weekDayLabels[2]}>\n\t\t\t\t\t\t\t\t\t{this.props.abbreviatedWeekDayLabels[2]}\n\t\t\t\t\t\t\t\t</abbr>\n\t\t\t\t\t\t\t</th>\n\t\t\t\t\t\t\t<th scope=\"col\">\n\t\t\t\t\t\t\t\t<abbr title={this.props.weekDayLabels[3]}>\n\t\t\t\t\t\t\t\t\t{this.props.abbreviatedWeekDayLabels[3]}\n\t\t\t\t\t\t\t\t</abbr>\n\t\t\t\t\t\t\t</th>\n\t\t\t\t\t\t\t<th scope=\"col\">\n\t\t\t\t\t\t\t\t<abbr title={this.props.weekDayLabels[4]}>\n\t\t\t\t\t\t\t\t\t{this.props.abbreviatedWeekDayLabels[4]}\n\t\t\t\t\t\t\t\t</abbr>\n\t\t\t\t\t\t\t</th>\n\t\t\t\t\t\t\t<th scope=\"col\">\n\t\t\t\t\t\t\t\t<abbr title={this.props.weekDayLabels[5]}>\n\t\t\t\t\t\t\t\t\t{this.props.abbreviatedWeekDayLabels[5]}\n\t\t\t\t\t\t\t\t</abbr>\n\t\t\t\t\t\t\t</th>\n\t\t\t\t\t\t\t<th scope=\"col\">\n\t\t\t\t\t\t\t\t<abbr title={this.props.weekDayLabels[6]}>\n\t\t\t\t\t\t\t\t\t{this.props.abbreviatedWeekDayLabels[6]}\n\t\t\t\t\t\t\t\t</abbr>\n\t\t\t\t\t\t\t</th>\n\t\t\t\t\t\t\t{this.props.isIsoWeekday && sunday}\n\t\t\t\t\t\t</tr>\n\t\t\t\t\t</thead>\n\t\t\t\t\t<tbody>\n\t\t\t\t\t\t{this.renderWeeks()}\n\n\t\t\t\t\t\t<tr>\n\t\t\t\t\t\t\t<td colSpan=\"7\" role=\"gridcell\">\n\t\t\t\t\t\t\t\t<a\n\t\t\t\t\t\t\t\t\thref=\"javascript:void(0)\" // eslint-disable-line no-script-url\n\t\t\t\t\t\t\t\t\ttabIndex=\"0\"\n\t\t\t\t\t\t\t\t\tclassName=\"slds-show_inline-block slds-p-bottom_x-small\"\n\t\t\t\t\t\t\t\t\tonClick={(event) => {\n\t\t\t\t\t\t\t\t\t\tthis.handleSelectDate(event, { date: new Date() });\n\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\tonKeyDown={this.props.onLastFocusableNodeKeyDown}\n\t\t\t\t\t\t\t\t\tref={this.props.todayRef}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{this.props.todayLabel}\n\t\t\t\t\t\t\t\t</a>\n\t\t\t\t\t\t\t</td>\n\t\t\t\t\t\t</tr>\n\t\t\t\t\t</tbody>\n\t\t\t\t</table>\n\t\t\t</div>\n\t\t);\n\t}\n}\n\nexport default DatepickerCalendar;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\nimport React from 'react';\n\nimport PropTypes from 'prop-types';\nimport Combobox from '../../combobox/combobox';\n\nclass DatepickerYearSelector extends React.Component {\n\tstatic displayName = 'SLDSDatepickerYearSelector';\n\n\tstatic propTypes = {\n\t\t/**\n\t\t * Label for year picklist/combobox\n\t\t */\n\t\tassistiveTextYear: PropTypes.string.isRequired,\n\t\t/**\n\t\t * HTML id for component\n\t\t */\n\t\tid: PropTypes.string,\n\t\t/**\n\t\t * Date used to create calendar that is displayed. This is typically the initial day focused when using the keyboard navigation. Focus will be set to this date if available.\n\t\t */\n\t\tinitialDateForCalendarRender: PropTypes.instanceOf(Date).isRequired,\n\t\t/**\n\t\t * Displayed calendar has changed or re-rendered\n\t\t */\n\t\tonChangeMonth: PropTypes.func.isRequired,\n\t\t/**\n\t\t * Offset of year from current year that can be selected in the year selection dropdown. (2017 - 5 = 2012).\n\t\t */\n\t\trelativeYearFrom: PropTypes.number,\n\t\t/**\n\t\t * Offset of year from current year that can be selected in the year selection dropdown. (2017 + 5 = 2012).\n\t\t */\n\t\trelativeYearTo: PropTypes.number,\n\t};\n\n\tgetOptions = () => {\n\t\tconst now = new Date();\n\t\tconst fromYear = now.getFullYear() + this.props.relativeYearFrom;\n\t\tconst toYear = now.getFullYear() + this.props.relativeYearTo;\n\t\tconst opts = [];\n\n\t\t// eslint-disable-next-line fp/no-loops\n\t\tfor (let year = fromYear; year < toYear; year += 1) {\n\t\t\t// eslint-disable-next-line fp/no-mutating-methods\n\t\t\topts.push({ label: `${year}`, value: year, id: String(opts.length) });\n\t\t}\n\t\treturn opts;\n\t};\n\n\tgetSelectedValueOption = () => {\n\t\tconst selectedYear = this.props.initialDateForCalendarRender.getFullYear();\n\t\treturn this.getOptions().filter((option) => option.value === selectedYear);\n\t};\n\n\thandleSelect = (event, { selection: selectedValues }) => {\n\t\tconst selectedValue = selectedValues[0]; // safe since we are working with a single selection\n\n\t\tif (selectedValue) {\n\t\t\tthis.props.onChangeMonth(\n\t\t\t\tnew Date(\n\t\t\t\t\tthis.props.initialDateForCalendarRender.setFullYear(\n\t\t\t\t\t\tparseInt(selectedValue.value, 10)\n\t\t\t\t\t)\n\t\t\t\t)\n\t\t\t);\n\t\t}\n\t};\n\n\trender() {\n\t\tconst selection = this.getSelectedValueOption();\n\t\treturn (\n\t\t\t<div className=\"slds-form-element slds-align-content-center\">\n\t\t\t\t<Combobox\n\t\t\t\t\tassistiveText={{ label: this.props.assistiveTextYear }}\n\t\t\t\t\tclassName=\"slds-shrink-none\"\n\t\t\t\t\tclassNameMenu=\"slds-datepicker\"\n\t\t\t\t\tevents={{\n\t\t\t\t\t\tonSelect: this.handleSelect,\n\t\t\t\t\t}}\n\t\t\t\t\tid={`${this.props.id}-year-picklist`}\n\t\t\t\t\tinheritWidthOf=\"target\"\n\t\t\t\t\tmenuPosition=\"relative\"\n\t\t\t\t\tmultiple={false}\n\t\t\t\t\toptions={this.getOptions()}\n\t\t\t\t\tlabels={{\n\t\t\t\t\t\tplaceholder: 'Year',\n\t\t\t\t\t}}\n\t\t\t\t\tselection={selection}\n\t\t\t\t\tvalue={selection.value}\n\t\t\t\t\tvariant=\"readonly\"\n\t\t\t\t/>\n\t\t\t</div>\n\t\t);\n\t}\n}\n\nexport default DatepickerYearSelector;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\nimport React from 'react';\n\nimport PropTypes from 'prop-types';\nimport YearPicklist from './year-picklist';\nimport Button from '../../button';\n\nimport DateUtil from '../../../utilities/date';\n\nclass DatepickerMonthNavigation extends React.Component {\n\tstatic displayName = 'SLDSDatepickerMonthNavigation';\n\n\tstatic propTypes = {\n\t\t/**\n\t\t * Label for button to go to the next month\n\t\t */\n\t\tassistiveTextNextMonth: PropTypes.string.isRequired,\n\t\t/**\n\t\t * Label for button to go to the previous month\n\t\t */\n\t\tassistiveTextPreviousMonth: PropTypes.string.isRequired,\n\t\t/**\n\t\t * Label for year picklist/combobox\n\t\t */\n\t\tassistiveTextYear: PropTypes.string.isRequired,\n\t\t/**\n\t\t * HTML id for component\n\t\t */\n\t\tid: PropTypes.string,\n\t\t/**\n\t\t * Date used to create calendar that is displayed. This is typically the initial day focused when using the keyboard navigation. Focus will be set to this date if available.\n\t\t */\n\t\tinitialDateForCalendarRender: PropTypes.instanceOf(Date).isRequired,\n\t\t/**\n\t\t * Displayed calendar has changed or re-rendered\n\t\t */\n\t\tonChangeMonth: PropTypes.func.isRequired,\n\t\t/**\n\t\t * Names of the months\n\t\t */\n\t\tmonthLabels: PropTypes.array.isRequired,\n\t\t/**\n\t\t * For keyboard navigation. In order to trap focus within the dialog, the first DOM node with a tab index should be listened to.\n\t\t */\n\t\tonPreviousMonthKeyDown: PropTypes.func,\n\t\t/**\n\t\t * Callback that passes in the DOM reference of the `<button>` DOM node within this component. Primary use is to allow `focus` to be called. You should still test if the node exists, since rendering is asynchronous.\n\t\t */\n\t\tpreviousMonthRef: PropTypes.func.isRequired,\n\t\t/**\n\t\t * Offset of year from current year that can be selected in the year selection dropdown. (2017 - 5 = 2012).\n\t\t */\n\t\trelativeYearFrom: PropTypes.number,\n\t\t/**\n\t\t * Offset of year from current year that can be selected in the year selection dropdown. (2017 + 5 = 2012).\n\t\t */\n\t\trelativeYearTo: PropTypes.number,\n\t};\n\n\tgetMonthLabel = () =>\n\t\tthis.props.monthLabels[\n\t\t\tnew Date(this.props.initialDateForCalendarRender).getMonth()\n\t\t];\n\n\tgetYearLabel = () =>\n\t\tnew Date(this.props.initialDateForCalendarRender).getFullYear();\n\n\thandleClick = (event) => {\n\t\tevent.preventDefault();\n\t\tevent.stopPropagation();\n\t};\n\n\thandleYearSelect = (initialDateForCalendarRender) => {\n\t\tthis.props.onChangeMonth(undefined, initialDateForCalendarRender);\n\t};\n\n\tpreviousMonthClicked = () => {\n\t\tthis.props.onChangeMonth(\n\t\t\tundefined,\n\t\t\tDateUtil.addMonths(this.props.initialDateForCalendarRender, -1)\n\t\t);\n\t};\n\n\tnextMonthClicked = () => {\n\t\tthis.props.onChangeMonth(\n\t\t\tundefined,\n\t\t\tDateUtil.addMonths(this.props.initialDateForCalendarRender, 1)\n\t\t);\n\t};\n\n\trender() {\n\t\treturn (\n\t\t\t<div className=\"slds-datepicker__filter slds-grid\">\n\t\t\t\t<div\n\t\t\t\t\tclassName=\"slds-datepicker__filter_month slds-grid slds-grid_align-spread slds-grow\"\n\t\t\t\t\tstyle={{ flex: 1.75 }}\n\t\t\t\t>\n\t\t\t\t\t<div className=\"slds-align-middle\">\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tassistiveText={{ icon: this.props.assistiveTextPreviousMonth }}\n\t\t\t\t\t\t\ticonCategory=\"utility\"\n\t\t\t\t\t\t\ticonName=\"left\"\n\t\t\t\t\t\t\ticonVariant=\"container\"\n\t\t\t\t\t\t\tonKeyDown={this.props.onPreviousMonthKeyDown}\n\t\t\t\t\t\t\tonClick={this.previousMonthClicked}\n\t\t\t\t\t\t\tbuttonRef={(component) => {\n\t\t\t\t\t\t\t\tthis.props.previousMonthRef(component);\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\tvariant=\"icon\"\n\t\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t</div>\n\t\t\t\t\t<h2\n\t\t\t\t\t\tid={`${this.props.id}-month`}\n\t\t\t\t\t\tclassName=\"slds-align-middle\"\n\t\t\t\t\t\taria-live=\"assertive\"\n\t\t\t\t\t\taria-atomic\n\t\t\t\t\t>\n\t\t\t\t\t\t{this.getMonthLabel()}{' '}\n\t\t\t\t\t\t<span className=\"slds-assistive-text\">{this.getYearLabel()}</span>\n\t\t\t\t\t</h2>\n\t\t\t\t\t<div className=\"slds-align-middle\">\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tassistiveText={{ icon: this.props.assistiveTextNextMonth }}\n\t\t\t\t\t\t\ticonCategory=\"utility\"\n\t\t\t\t\t\t\ticonName=\"right\"\n\t\t\t\t\t\t\ticonVariant=\"container\"\n\t\t\t\t\t\t\tonClick={this.nextMonthClicked}\n\t\t\t\t\t\t\tvariant=\"icon\"\n\t\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t\t<YearPicklist\n\t\t\t\t\tassistiveTextYear={this.props.assistiveTextYear}\n\t\t\t\t\tid={this.props.id}\n\t\t\t\t\tinitialDateForCalendarRender={this.props.initialDateForCalendarRender}\n\t\t\t\t\tonChangeMonth={this.handleYearSelect}\n\t\t\t\t\trelativeYearFrom={this.props.relativeYearFrom}\n\t\t\t\t\trelativeYearTo={this.props.relativeYearTo}\n\t\t\t\t/>\n\t\t\t</div>\n\t\t);\n\t}\n}\n\nexport default DatepickerMonthNavigation;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\n// ### classNames\n// [github.com/JedWatson/classnames](https://github.com/JedWatson/classnames)\n// This project uses `classnames`, \"a simple javascript utility for conditionally\n// joining classNames together.\"\nimport classNames from 'classnames';\n\nimport Calendar from './calendar';\nimport CalendarNavigation from './navigation';\n\nimport EventUtil from '../../../utilities/event';\nimport KEYS from '../../../utilities/key-code';\n\nclass DatepickerCalendarWrapper extends React.Component {\n\tstatic displayName = 'DatepickerCalendarWrapper';\n\n\tstatic propTypes = {\n\t\t/**\n\t\t * Label for button to go to the next month\n\t\t */\n\t\tassistiveTextNextMonth: PropTypes.string.isRequired,\n\t\t/**\n\t\t * Label for button to go to the previous month\n\t\t */\n\t\tassistiveTextPreviousMonth: PropTypes.string.isRequired,\n\t\t/**\n\t\t * Label for year picklist/combobox\n\t\t */\n\t\tassistiveTextYear: PropTypes.string.isRequired,\n\t\t/**\n\t\t * One letter abbreviations of the days of the week, starting on Sunday.\n\t\t */ abbreviatedWeekDayLabels: PropTypes.array.isRequired,\n\t\t/**\n\t\t * Whether or not the `CalendarWrapper` can steal focus from the main `Input`\n\t\t */\n\t\tcanFocusCalendar: PropTypes.bool.isRequired,\n\t\t/**\n\t\t * CSS classes to be added to tag with `slds-datepicker`.\n\t\t */\n\t\tclassName: PropTypes.oneOfType([\n\t\t\tPropTypes.array,\n\t\t\tPropTypes.object,\n\t\t\tPropTypes.string,\n\t\t]),\n\t\t/**\n\t\t * dateDisabled() takes a date as input argument, returns true if given date should be disabled, otherwise returns false.\n\t\t */\n\t\tdateDisabled: PropTypes.func,\n\t\t/**\n\t\t * HTML id for component\n\t\t */\n\t\tid: PropTypes.string,\n\t\t/**\n\t\t * Makes Monday the first day of the week\n\t\t */\n\t\tisIsoWeekday: PropTypes.bool,\n\t\t/**\n\t\t * For use of datepicker outside of dropdown.\n\t\t */\n\t\tisolated: PropTypes.bool,\n\t\t/**\n\t\t * Names of the months\n\t\t */\n\t\tmonthLabels: PropTypes.array.isRequired,\n\t\t/**\n\t\t * Triggered when the keyboard moves focus on the calendar. {date: [Date object], formattedDate: [string]} _Tested with Mocha framework._\n\t\t */\n\t\tonCalendarFocus: PropTypes.func,\n\t\t/**\n\t\t * Triggered when the calendar is supposed to close.\n\t\t */\n\t\tonRequestClose: PropTypes.func.isRequired,\n\t\t/**\n\t\t * Triggered when a date on the calendar is clicked.\n\t\t */\n\t\tonSelectDate: PropTypes.func.isRequired,\n\t\t/**\n\t\t * The earliest year that can be selected in the year selection dropdown.\n\t\t */\n\t\trelativeYearFrom: PropTypes.number.isRequired,\n\t\t/**\n\t\t * The maximum year that can be selected in the year selection dropdown.\n\t\t */\n\t\trelativeYearTo: PropTypes.number.isRequired,\n\t\t/**\n\t\t * Currently selected date\n\t\t */\n\t\tselectedDate: PropTypes.instanceOf(Date),\n\t\t/**\n\t\t * Component reference / DOM node for selected day.\n\t\t */\n\t\tselectedDateRef: PropTypes.func,\n\t\t/**\n\t\t * Label of shortcut to jump to today within the calendar. Also used for assistive text for the current day.\n\t\t */\n\t\ttodayLabel: PropTypes.string.isRequired,\n\t\t/**\n\t\t * Names of the seven days of the week, starting on Sunday.\n\t\t */\n\t\tweekDayLabels: PropTypes.array.isRequired,\n\t};\n\n\tstatic defaultProps = {\n\t\tselectedDate: new Date(),\n\t\tvalue: new Date(),\n\t};\n\n\tstate = {\n\t\tinitialDateForCalendarRender: this.props.selectedDate,\n\t};\n\n\thandleCalendarBlur = (event, { direction }) => {\n\t\tif (direction === 'next' && this.previousMonthRef) {\n\t\t\tif (this.props.onCalendarFocus) {\n\t\t\t\tthis.props.onCalendarFocus(event, {\n\t\t\t\t\tdirection,\n\t\t\t\t\tref: this.previousMonthRef,\n\t\t\t\t});\n\t\t\t}\n\t\t\tthis.previousMonthRef.focus();\n\t\t} else if (direction === 'previous' && this.todayRef) {\n\t\t\tif (this.props.onCalendarFocus) {\n\t\t\t\tthis.props.onCalendarFocus(event, {\n\t\t\t\t\tdirection,\n\t\t\t\t\tref: this.todayRef,\n\t\t\t\t});\n\t\t\t}\n\t\t\tthis.todayRef.focus();\n\t\t}\n\t};\n\n\thandleFirstFocusableNodeKeyDown = (event) => {\n\t\tif (event.shiftKey && event.keyCode === KEYS.TAB) {\n\t\t\tEventUtil.trapEvent(event);\n\t\t}\n\t};\n\n\thandleInitialDateForCalendarRenderChange = (\n\t\tevent,\n\t\tinitialDateForCalendarRender\n\t) => {\n\t\tthis.setState({ initialDateForCalendarRender });\n\t};\n\n\thandleKeyDown = (event) => {\n\t\tif (event.keyCode === KEYS.ESCAPE) {\n\t\t\tEventUtil.trapEvent(event);\n\t\t\tthis.props.onRequestClose(event, {});\n\t\t}\n\t};\n\n\thandleLastFocusableNodeKeyDown = (event) => {\n\t\tif (!event.shiftKey && event.keyCode === KEYS.TAB) {\n\t\t\tEventUtil.trapEvent(event);\n\t\t}\n\t};\n\n\thandleRequestClose = (event) => {\n\t\tif (this.props.onRequestClose) {\n\t\t\tthis.props.onRequestClose(event, {});\n\t\t}\n\t};\n\n\thandleRequestFocusDate = (event, data) => {\n\t\t// will be called three times, due to re-render\n\t\tif (data.ref && this.props.canFocusCalendar) {\n\t\t\tdata.ref.focus();\n\t\t}\n\n\t\t// only call on actual DOM event and not on re-render\n\t\tif (this.props.onCalendarFocus && data.triggerCallback) {\n\t\t\tconst { triggerCallback, ...modifiedData } = data; // eslint-disable-line no-unused-vars\n\t\t\tthis.props.onCalendarFocus(event, modifiedData);\n\t\t}\n\t};\n\n\trender() {\n\t\treturn (\n\t\t\t<div // eslint-disable-line jsx-a11y/no-static-element-interactions\n\t\t\t\tclassName={classNames(\n\t\t\t\t\t{\n\t\t\t\t\t\t'slds-datepicker': this.props.isolated,\n\t\t\t\t\t},\n\t\t\t\t\tthis.props.className\n\t\t\t\t)}\n\t\t\t\taria-hidden=\"false\"\n\t\t\t\tdata-selection=\"single\"\n\t\t\t\tonKeyDown={this.handleKeyDown}\n\t\t\t>\n\t\t\t\t<CalendarNavigation\n\t\t\t\t\tassistiveTextNextMonth={this.props.assistiveTextNextMonth}\n\t\t\t\t\tassistiveTextPreviousMonth={this.props.assistiveTextPreviousMonth}\n\t\t\t\t\tassistiveTextYear={this.props.assistiveTextYear}\n\t\t\t\t\tid={this.props.id}\n\t\t\t\t\tinitialDateForCalendarRender={this.state.initialDateForCalendarRender}\n\t\t\t\t\tmonthLabels={this.props.monthLabels}\n\t\t\t\t\tonChangeMonth={this.handleInitialDateForCalendarRenderChange}\n\t\t\t\t\tpreviousMonthRef={(component) => {\n\t\t\t\t\t\tthis.previousMonthRef = component;\n\t\t\t\t\t}}\n\t\t\t\t\tonPreviousMonthKeyDown={this.handleFirstFocusableNodeKeyDown}\n\t\t\t\t\trelativeYearFrom={this.props.relativeYearFrom}\n\t\t\t\t\trelativeYearTo={this.props.relativeYearTo}\n\t\t\t\t/>\n\t\t\t\t<Calendar\n\t\t\t\t\tabbreviatedWeekDayLabels={this.props.abbreviatedWeekDayLabels}\n\t\t\t\t\tdateDisabled={this.props.dateDisabled}\n\t\t\t\t\tid={this.props.id}\n\t\t\t\t\tinitialDateForCalendarRender={this.state.initialDateForCalendarRender}\n\t\t\t\t\tisIsoWeekday={this.props.isIsoWeekday}\n\t\t\t\t\tonCalendarBlur={this.handleCalendarBlur}\n\t\t\t\t\tonChangeMonth={this.handleInitialDateForCalendarRenderChange}\n\t\t\t\t\tonRequestClose={this.handleRequestClose}\n\t\t\t\t\tonRequestInternalFocusDate={this.handleRequestFocusDate}\n\t\t\t\t\tonSelectDate={this.props.onSelectDate}\n\t\t\t\t\tselectedDate={this.props.selectedDate}\n\t\t\t\t\tselectedDateRef={this.props.selectedDateRef}\n\t\t\t\t\ttodayLabel={this.props.todayLabel}\n\t\t\t\t\ttodayRef={(component) => {\n\t\t\t\t\t\tthis.todayRef = component;\n\t\t\t\t\t}}\n\t\t\t\t\tonLastFocusableNodeKeyDown={this.handleLastFocusableNodeKeyDown}\n\t\t\t\t\tweekDayLabels={this.props.weekDayLabels}\n\t\t\t\t/>\n\t\t\t</div>\n\t\t);\n\t}\n}\n\nexport default DatepickerCalendarWrapper;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n/* eslint-disable import/no-mutable-exports */\n/* eslint-disable max-len */\n\nimport deprecatedProperty from '../../utilities/warning/deprecated-property';\nimport getComponentDocFn from '../../utilities/get-component-doc';\n\nlet checkProps = function checkPropsFunction() {};\n\nif (process.env.NODE_ENV !== 'production') {\n\tcheckProps = function checkPropsFunction(COMPONENT, props, jsonDoc) {\n\t\tconst createDocUrl = getComponentDocFn(jsonDoc);\n\n\t\tdeprecatedProperty(\n\t\t\tCOMPONENT,\n\t\t\tprops.children,\n\t\t\t'children',\n\t\t\t'input',\n\t\t\t`Please see \\`input\\` prop description and add your own \\`Input\\`. Props will be shallow merged. ${createDocUrl(\n\t\t\t\t'input'\n\t\t\t)}`\n\t\t);\n\n\t\tdeprecatedProperty(\n\t\t\tCOMPONENT,\n\t\t\tprops.onFocus,\n\t\t\t'onFocus',\n\t\t\tundefined,\n\t\t\t`Please see \\`input\\` prop description and add your own \\`Input\\`. Props will be shallow merged. ${createDocUrl(\n\t\t\t\t'input'\n\t\t\t)}`\n\t\t);\n\n\t\tdeprecatedProperty(\n\t\t\tCOMPONENT,\n\t\t\tprops.onBlur,\n\t\t\t'onBlur',\n\t\t\tundefined,\n\t\t\t`Please see \\`input\\` prop description and add your own \\`Input\\`. Props will be shallow merged. ${createDocUrl(\n\t\t\t\t'input'\n\t\t\t)}`\n\t\t);\n\n\t\tdeprecatedProperty(\n\t\t\tCOMPONENT,\n\t\t\tprops.abbrWeekDayLabels,\n\t\t\t'abbrWeekDayLabels',\n\t\t\t'abbreviatedWeekDayLabels',\n\t\t\t`Prop name has changed. ${createDocUrl('labels')}`\n\t\t);\n\n\t\tdeprecatedProperty(\n\t\t\tCOMPONENT,\n\t\t\tprops.onDateChange,\n\t\t\t'onDateChange',\n\t\t\t'onChange',\n\t\t\t`Please see prop description for \\`onChange\\`. Parameters have changed. The callback receives an event and a data object of the shape: \\`{date: [Date object], formattedDate: [string], timezoneOffset: [number]}\\` ${createDocUrl(\n\t\t\t\t'onChange'\n\t\t\t)}`\n\t\t);\n\n\t\tdeprecatedProperty(\n\t\t\tCOMPONENT,\n\t\t\tprops.onKeyDown,\n\t\t\t'onKeyDown',\n\t\t\tundefined,\n\t\t\t`Please see \\`input\\` prop description and add your own \\`Input\\`. Props will be shallow merged. ${createDocUrl(\n\t\t\t\t'input'\n\t\t\t)}`\n\t\t);\n\n\t\tdeprecatedProperty(\n\t\t\tCOMPONENT,\n\t\t\tprops.onFocus,\n\t\t\t'required',\n\t\t\tundefined,\n\t\t\t`Please see children prop description and add your own \\`Input\\` as a child of Datepicker. ${createDocUrl(\n\t\t\t\t'children'\n\t\t\t)}`\n\t\t);\n\n\t\tdeprecatedProperty(\n\t\t\tCOMPONENT,\n\t\t\tprops.strValue,\n\t\t\t'strValue',\n\t\t\t'formattedValue',\n\t\t\tcreateDocUrl('formattedValue')\n\t\t);\n\n\t\tdeprecatedProperty(\n\t\t\tCOMPONENT,\n\t\t\tprops.isInline,\n\t\t\t'isInline',\n\t\t\t'menuPosition=\"relative\"',\n\t\t\tcreateDocUrl('menuPosition')\n\t\t);\n\t};\n}\n\nexport default checkProps;\n","/* eslint-disable max-lines */\n/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\nimport assign from 'lodash.assign';\n\n// ### classNames\n// [github.com/JedWatson/classnames](https://github.com/JedWatson/classnames)\n// This project uses `classnames`, \"a simple javascript utility for conditionally\n// joining classNames together.\"\nimport classNames from 'classnames';\n\n// ### shortid\n// [npmjs.com/package/shortid](https://www.npmjs.com/package/shortid)\n// shortid is a short, non-sequential, url-friendly, unique id generator\nimport shortid from 'shortid';\n\nimport Dialog from '../utilities/dialog';\nimport CalendarWrapper from './private/calendar-wrapper';\nimport InputIcon from '../icon/input-icon';\nimport Input from '../input';\n\n// This component's `checkProps` which issues warnings to developers about properties\n// when in development mode (similar to React's built in development tools)\nimport checkProps from './check-props';\nimport componentDoc from './component.json';\n\nimport EventUtil from '../../utilities/event';\nimport KEYS from '../../utilities/key-code';\nimport lowPriorityWarning from '../../utilities/warning/low-priority-warning';\n\nimport { DATE_PICKER } from '../../utilities/constants';\n\nconst propTypes = {\n\t/**\n\t * **Assistive text for accessibility**\n\t * This object is merged with the default props object on every render.\n\t * * `nextMonth`: Label for button to go to the next month _Tested with snapshot testing._\n\t * * `openCalendar`: Call to action label for calendar dialog trigger _Tested with snapshot testing._\n\t * * `previousMonth`: Label for button to go to the previous month _Tested with snapshot testing._\n\t */\n\tassistiveText: PropTypes.shape({\n\t\tnextMonth: PropTypes.string,\n\t\topenCalendar: PropTypes.string,\n\t\tpreviousMonth: PropTypes.string,\n\t\tyear: PropTypes.string,\n\t}),\n\t/**\n\t * Aligns the right or left side of the menu with the respective side of the trigger. _Tested with snapshot testing._\n\t */\n\talign: PropTypes.oneOf(['left', 'right']),\n\t/**\n\t * CSS classes to be added to tag with `slds-datepicker`. If you are looking for the outer DOM node (slds-dropdown-trigger), please review `triggerClassName`. _Tested with snapshot testing._\n\t */\n\tclassName: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\t/**\n\t * Disable input and calendar. _Tested with Mocha framework._\n\t */\n\tdisabled: PropTypes.bool,\n\t/**\n\t * This function callback receives a data object with a key of `date`. Write your own validation and return `true` if the date should be disabled, otherwise please return `false`. The value of `date` is the day rendered in the calendar with the current local time and timezone.\n\t */\n\tdateDisabled: PropTypes.func,\n\t/**\n\t * Date formatting function that formats the `value` prop (`value` is an ECMAScript `Date()` object) and returns a string to be rendered as the `input` value. Please use an external library such as [MomentJS](https://github.com/moment/moment/) for date formatting and internationalization. _Tested with snapshot testing._\n\t * The default `formatter` function is:\n\t * ```\n\t * formatter(date) {\n\t * return date\n\t * ? `${date.getMonth() + 1}/${date.getDate()}/${date.getFullYear()}`\n\t * : '';\n\t * }\n\t * ```\n\t */\n\tformatter: PropTypes.func,\n\t/**\n\t * Value of input that gets passed to `parser` prop on initial render. This prop is only present for uncontrolled use of Datepicker which is _highly discouraged_. A better name for this prop would be `defaultFormatedValue`. Please use the `value` prop instead. _Not tested._\n\t */\n\tformattedValue: PropTypes.string,\n\t/**\n\t * Prevents the dropdown from changing position based on the viewport/window. If set to true your dropdowns can extend outside the viewport _and_ overflow outside of a scrolling parent. If this happens, you might want to consider making the dropdowns contents scrollable to fit the menu on the screen. `hasStaticAlignment` disables this behavior and allows this component to extend beyond boundary elements. _Not tested._\n\t */\n\thasStaticAlignment: PropTypes.bool,\n\t/**\n\t * HTML id for component _Tested with snapshot testing._\n\t */\n\tid: PropTypes.string,\n\t/**\n\t * **Text labels for internationalization**\n\t * This object is merged with the default props object on every render.\n\t * * `abbreviatedWeekDays`: Three letter abbreviations of the days of the week, starting on Sunday. _Tested with snapshot testing._\n\t * * `months`: Names of the months. _Tested with snapshot testing._\n\t * * `label`: This label appears above the input.\n\t * * `placeholder`: Placeholder text for input. _Tested with snapshot testing._\n\t * * `today`: Label of shortcut to jump to today within the calendar. This is also used for assistive text on today's date. _Tested with snapshot testing._\n\t * * `weekDays`: Full names of the seven days of the week, starting on Sunday. _Tested with snapshot testing._\n\t */\n\tlabels: PropTypes.shape({\n\t\tabbreviatedWeekDays: PropTypes.array,\n\t\tlabel: PropTypes.string,\n\t\tmonths: PropTypes.array,\n\t\tplaceholder: PropTypes.string,\n\t\ttoday: PropTypes.string,\n\t\tweekDays: PropTypes.array,\n\t}),\n\t/**\n\t * An [Input](http://react.lightningdesignsystem.com/components/inputs/) component. The props from this `Input` component will be merged and override any default props. See [Component composition with prop spread](https://github.com/salesforce/design-system-react/blob/master/docs/codebase-overview.md#component-composition-with-prop-spread) for more information on this methodology.\n\t */\n\tinput: PropTypes.node,\n\t/**\n\t * Forces the dropdown to be open or closed. See controlled/uncontrolled callback/prop pattern for more on suggested use view [Concepts and Best Practices](https://github.com/salesforce-ux/design-system-react/blob/master/CONTRIBUTING.md#concepts-and-best-practices)\n\t */\n\tisOpen: PropTypes.bool,\n\t/**\n\t * Makes Monday the first day of the week. _Tested with snapshot testing._\n\t */\n\tisIsoWeekday: PropTypes.bool,\n\t/**\n\t * Please select one of the following:\n\t * * `absolute` - (default) The dialog will use `position: absolute` and style attributes to position itself. This allows inverted placement or flipping of the dialog.\n\t * * `overflowBoundaryElement` - The dialog will overflow scrolling parents. Use on elements that are aligned to the left or right of their target and don't care about the target being within a scrolling parent. Typically this is a popover or tooltip. Dropdown menus can usually open up and down if no room exists. In order to achieve this a portal element will be created and attached to `body`. This element will render into that detached render tree.\n\t * * `relative` - No styling or portals will be used. Menus will be positioned relative to their triggers. This is a great choice for HTML snapshot testing.\n\t */\n\tmenuPosition: PropTypes.oneOf([\n\t\t'absolute',\n\t\t'overflowBoundaryElement',\n\t\t'relative',\n\t]),\n\t/**\n\t * Triggered when the user wants to focus on a new day with the keyboard. If the target node is a day it will return the keyboard event a data object with the shape: `{date: [Date object]}`. Event will be `null` when new month is re-rendered. _Tested with Mocha framework._\n\t */\n\tonCalendarFocus: PropTypes.func,\n\t/**\n\t * Triggered when the date changes. `onChange` can be used for form validation if needed. It receives an event and a data object in the shape: `{date: [Date object], formattedDate: [string], timezoneOffset: [number]}`. `data.date` is Coordinated Universal Time (UTC), but the days of the calendar are in local time of the user. The `timezoneOffset` is the difference, in minutes, between UTC and the local time. Please note that this means that the offset is positive if the local timezone is behind UTC and negative if it is ahead. `timezoneOffset` is in minutes, for hours divide by `60`. _Tested with Mocha framework._\n\t */\n\tonChange: PropTypes.func,\n\t/**\n\t * Triggered when the calendar is closed. _Tested with Mocha framework._\n\t */\n\tonClose: PropTypes.func,\n\t/**\n\t * Triggered when the calendar has opened. _Tested with Mocha framework._\n\t */\n\tonOpen: PropTypes.func,\n\t/**\n\t * Function called when the calendar dialog would like hide. This will turn the calendar dialog into into a controlled component. Please use with `isOpen`. _Tested with Mocha framework._\n\t */\n\tonRequestClose: PropTypes.func,\n\t/**\n\t * Function called when the calendar dialog would like show. This will turn the calendar dialog into into a controlled component. Please use with `isOpen`. _Tested with Mocha framework._\n\t */\n\tonRequestOpen: PropTypes.func,\n\t/**\n\t * Custom function to parse date string from the `input` value, which must return an ECMAScript `Date()` object. Please use an external library such as [MomentJS](https://github.com/moment/moment/) for date parsing and internationalization. The default `parser` passes the input value to ECMAScript `Date()` and _prays_ for a miracle. **Do not use the default parsing function in production.** _Tested with snapshot testing._\n\t * The default `parser function is:\n\t * ```\n\t * parser(str) {\n\t * return new Date(str);\n\t * }\n\t * ```\n\t */\n\tparser: PropTypes.func,\n\t/**\n\t * Offset of year from current year that can be selected in the year selection dropdown. (2017 - 5 = 2012). _Tested with snapshot testing._\n\t */\n\trelativeYearFrom: PropTypes.number,\n\t/**\n\t * Offset of year from current year that can be selected in the year selection dropdown. (2017 + 5 = 2012). _Tested with snapshot testing._\n\t */\n\trelativeYearTo: PropTypes.number,\n\t/**\n\t * CSS classes to be added to tag with `slds-datepicker-trigger`. This is typically a wrapping `div` around the input. _Tested with snapshot testing._\n\t */\n\ttriggerClassName: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\t/**\n\t * Sets date with a `Date` ECMAScript object. _Tested with snapshot testing._\n\t */\n\tvalue: PropTypes.instanceOf(Date),\n};\n\nconst defaultProps = {\n\talign: 'left',\n\tassistiveText: {\n\t\tnextMonth: 'Next month',\n\t\topenCalendar: 'Open Calendar',\n\t\tpreviousMonth: 'Previous month',\n\t\tyear: 'Year',\n\t},\n\tformatter(date) {\n\t\treturn date\n\t\t\t? `${date.getMonth() + 1}/${date.getDate()}/${date.getFullYear()}`\n\t\t\t: '';\n\t},\n\tlabels: {\n\t\tabbreviatedWeekDays: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'],\n\t\tmonths: [\n\t\t\t'January',\n\t\t\t'February',\n\t\t\t'March',\n\t\t\t'April',\n\t\t\t'May',\n\t\t\t'June',\n\t\t\t'July',\n\t\t\t'August',\n\t\t\t'September',\n\t\t\t'October',\n\t\t\t'November',\n\t\t\t'December',\n\t\t],\n\t\tplaceholder: 'Pick a Date',\n\t\ttoday: 'Today',\n\t\tweekDays: [\n\t\t\t'Sunday',\n\t\t\t'Monday',\n\t\t\t'Tuesday',\n\t\t\t'Wednesday',\n\t\t\t'Thursday',\n\t\t\t'Friday',\n\t\t\t'Saturday',\n\t\t],\n\t},\n\tmenuPosition: 'absolute',\n\tparser(str) {\n\t\tlowPriorityWarning(\n\t\t\tfalse,\n\t\t\t`Please use an external library for date parsing and internationalization like MomentJS (https://github.com/moment/moment/) instead of the default parser.`\n\t\t);\n\t\treturn new Date(str);\n\t},\n\trelativeYearFrom: -10,\n\trelativeYearTo: 10,\n\tdateDisabled: () => false,\n};\n\n/**\n * A date picker is a non-text input form element. You can select a single date from a popup calendar. Please use an external library such as [MomentJS](https://github.com/moment/moment/) for date formatting and parsing and internationalization. You will want to use your date library within the `parser` and `formatter` callbacks.\n *\n * The calendar is rendered with time/dates based on local browser time of the client browser. All dates are in the local user's timezones and time. Another way to put it is if a user selects a date, they are actually selecting midnight in their current time on their current day and not mightnight in UTC. If `Datepicker` is paired with a time and timezone input, you may want to convert dates provided by this component to UTC and then combine the date with your time and timezone input.\n *\n * Pairing with any other component besides an `input` is untested.\n *\n * This component is wrapped in a [higher order component to listen for clicks outside itself](https://github.com/kentor/react-click-outside) and thus requires use of `ReactDOM`.\n */\nclass Datepicker extends React.Component {\n\tconstructor(props) {\n\t\tsuper(props);\n\t\t// Please remove `strValue` on the next breaking change.\n\t\tconst formattedValue = props.formattedValue || props.strValue; // eslint-disable-line react/prop-types\n\t\tconst dateString = props.formatter(props.value);\n\t\tconst initDate = props.value ? dateString : formattedValue;\n\n\t\tthis.state = {\n\t\t\tisOpen: false,\n\t\t\tisOpenFromIcon: false,\n\t\t\tvalue: props.value,\n\t\t\tformattedValue: initDate || '',\n\t\t\tinputValue: initDate || '',\n\t\t};\n\n\t\tthis.generatedId = shortid.generate();\n\n\t\t// `checkProps` issues warnings to developers about properties (similar to React's built in development tools)\n\t\tcheckProps(DATE_PICKER, props, componentDoc);\n\t}\n\n\tgetDatePicker = ({ labels, assistiveText }) => {\n\t\tlet date;\n\t\t// Use props if present. Otherwise, use state.\n\t\tif (this.props.value) {\n\t\t\tdate = this.props.formatter(this.props.value)\n\t\t\t\t? this.parseDate(this.props.formatter(this.props.value))\n\t\t\t\t: this.props.value;\n\t\t} else {\n\t\t\tdate = this.state.formattedValue\n\t\t\t\t? this.parseDate(this.state.formattedValue)\n\t\t\t\t: this.state.value;\n\t\t}\n\n\t\treturn (\n\t\t\t<CalendarWrapper\n\t\t\t\t// Please remove `abbrWeekDayLabels` on the next breaking change.\n\t\t\t\tabbreviatedWeekDayLabels={\n\t\t\t\t\tthis.props.abbreviatedWeekDayLabels || // eslint-disable-line react/prop-types\n\t\t\t\t\tthis.props.abbrWeekDayLabels || // eslint-disable-line react/prop-types\n\t\t\t\t\tlabels.abbreviatedWeekDays\n\t\t\t\t}\n\t\t\t\t/* Remove || for assistiveText at next breaking change */\n\t\t\t\tassistiveTextNextMonth={\n\t\t\t\t\tthis.props.assistiveTextNextMonth || assistiveText.nextMonth // eslint-disable-line react/prop-types\n\t\t\t\t}\n\t\t\t\tassistiveTextPreviousMonth={\n\t\t\t\t\tthis.props.assistiveTextPreviousMonth || assistiveText.previousMonth // eslint-disable-line react/prop-types\n\t\t\t\t}\n\t\t\t\tassistiveTextYear={assistiveText.year}\n\t\t\t\tcanFocusCalendar={this.state.isOpenFromIcon}\n\t\t\t\tid={this.getId()}\n\t\t\t\tisIsoWeekday={this.props.isIsoWeekday}\n\t\t\t\tmonthLabels={\n\t\t\t\t\tthis.props.monthLabels || labels.months // eslint-disable-line react/prop-types\n\t\t\t\t}\n\t\t\t\tonCalendarFocus={this.props.onCalendarFocus}\n\t\t\t\tdateDisabled={this.props.dateDisabled}\n\t\t\t\tonRequestClose={this.handleRequestClose}\n\t\t\t\tonSelectDate={this.handleCalendarChange}\n\t\t\t\trelativeYearFrom={this.props.relativeYearFrom}\n\t\t\t\trelativeYearTo={this.props.relativeYearTo}\n\t\t\t\tselectedDate={date || new Date()}\n\t\t\t\tselectedDateRef={(component) => {\n\t\t\t\t\tthis.selectedDateCell = component;\n\t\t\t\t}}\n\t\t\t\ttodayLabel={\n\t\t\t\t\tthis.props.todayLabel || labels.today // eslint-disable-line react/prop-types\n\t\t\t\t}\n\t\t\t\tweekDayLabels={\n\t\t\t\t\tthis.props.weekDayLabels || labels.weekDays // eslint-disable-line react/prop-types\n\t\t\t\t}\n\t\t\t/>\n\t\t);\n\t};\n\n\tgetDialog = ({ labels, assistiveText }) => {\n\t\t// FOR BACKWARDS COMPATIBILITY\n\t\tconst menuPosition = this.props.isInline\n\t\t\t? 'relative'\n\t\t\t: this.props.menuPosition; // eslint-disable-line react/prop-types\n\n\t\t// SLDS override\n\t\tconst style =\n\t\t\tthis.props.menuPosition !== 'relative' ? { transform: 'none' } : {};\n\n\t\treturn !this.props.disabled && this.getIsOpen() ? (\n\t\t\t<Dialog\n\t\t\t\talign={`bottom ${this.props.align}`}\n\t\t\t\tcontentsClassName={classNames(\n\t\t\t\t\t'slds-datepicker slds-dropdown',\n\t\t\t\t\t{\n\t\t\t\t\t\t'slds-dropdown_right':\n\t\t\t\t\t\t\tthis.props.menuPosition === 'relative' &&\n\t\t\t\t\t\t\tthis.props.align === 'right',\n\t\t\t\t\t\t'slds-dropdown_left':\n\t\t\t\t\t\t\tthis.props.menuPosition === 'relative' &&\n\t\t\t\t\t\t\tthis.props.align === 'left',\n\t\t\t\t\t},\n\t\t\t\t\tthis.props.className\n\t\t\t\t)}\n\t\t\t\tcontext={this.context}\n\t\t\t\thasStaticAlignment={this.props.hasStaticAlignment}\n\t\t\t\tstyle={style}\n\t\t\t\tonClose={this.handleClose}\n\t\t\t\tonOpen={this.handleOpen}\n\t\t\t\tonRequestTargetElement={() => this.inputRef}\n\t\t\t\tposition={menuPosition}\n\t\t\t\tportalMount={this.props.portalMount}\n\t\t\t>\n\t\t\t\t{this.getDatePicker({ labels, assistiveText })}\n\t\t\t</Dialog>\n\t\t) : null;\n\t};\n\n\tgetId = () => this.props.id || this.generatedId;\n\n\tgetIsOpen = () =>\n\t\t!!(typeof this.props.isOpen === 'boolean'\n\t\t\t? this.props.isOpen\n\t\t\t: this.state.isOpen);\n\n\tgetInputProps = ({ assistiveText, labels }) => {\n\t\t/**\n\t\t * 1. DEFAULT: Use default props or state if present.\n\t\t * 2. DEPRECATED API: Use old \"first-level\" props that have been deprecated.\n\t\t * 3. DEPRECATED API: If `children` is present, use props from single child which should be an `<Input/>`\n\t\t * 4. CURRENT API: Use composition with props spread merge from `input` prop.\n\t\t * */\n\n\t\tconst defaultInputProps = {\n\t\t\ticonRight: (\n\t\t\t\t<InputIcon\n\t\t\t\t\t// Remove || for assistiveText at next breaking change\n\t\t\t\t\tassistiveText={{\n\t\t\t\t\t\ticon:\n\t\t\t\t\t\t\tthis.props.assistiveTextOpenCalendar ||\n\t\t\t\t\t\t\tassistiveText.openCalendar, // eslint-disable-line react/prop-types\n\t\t\t\t\t}}\n\t\t\t\t\taria-haspopup\n\t\t\t\t\taria-expanded={this.getIsOpen()}\n\t\t\t\t\tcategory=\"utility\"\n\t\t\t\t\tname=\"event\"\n\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\tthis.openDialogFromIcon();\n\t\t\t\t\t}}\n\t\t\t\t\ttype=\"button\"\n\t\t\t\t/>\n\t\t\t),\n\t\t\tinputRef: (component) => {\n\t\t\t\tthis.setInputRef(component);\n\t\t\t},\n\t\t\tid: this.getId(),\n\t\t\tonChange: this.handleInputChange,\n\t\t\tonClick: () => {\n\t\t\t\tthis.openDialog();\n\t\t\t},\n\t\t\tonKeyDown: this.handleKeyDown,\n\t\t\tvalue: this.props.value\n\t\t\t\t? this.props.formatter(this.props.value)\n\t\t\t\t: this.state.inputValue,\n\t\t};\n\n\t\t// eslint-disable react/prop-types\n\t\tconst topLevelDeprecatedComponentProps = {\n\t\t\tdisabled: this.props.disabled,\n\t\t\tlabel: this.props.label || labels.label,\n\t\t\tonBlur: this.props.onBlur,\n\t\t\tonFocus: this.props.onFocus,\n\t\t\tplaceholder: this.props.placeholder || labels.placeholder,\n\t\t\trequired: this.props.required,\n\t\t};\n\t\t// eslint-enable react/prop-types\n\n\t\tconst childrenProps = this.props.children && this.props.children.props;\n\t\tconst childrenPropInputProps = {\n\t\t\t...childrenProps,\n\t\t\tonClick: () => {\n\t\t\t\tthis.openDialog();\n\t\t\t\tif (childrenProps && childrenProps.onClick) {\n\t\t\t\t\tchildrenProps.onClick();\n\t\t\t\t}\n\t\t\t},\n\t\t};\n\n\t\tconst inputRenderProps = this.props.input && this.props.input.props;\n\n\t\treturn {\n\t\t\t...defaultInputProps,\n\t\t\t...topLevelDeprecatedComponentProps,\n\t\t\t...childrenPropInputProps,\n\t\t\t...inputRenderProps,\n\t\t};\n\t};\n\n\tsetInputRef = (component) => {\n\t\tthis.inputRef = component;\n\t\t// yes, this is a re-render triggered by a render.\n\t\t// Dialog/Popper.js cannot place the popover until\n\t\t// the trigger/target DOM node is mounted. This\n\t\t// way `findDOMNode` is not called and parent\n\t\t// DOM nodes are not queried.\n\t\tif (!this.state.inputRendered) {\n\t\t\tthis.setState({ inputRendered: true });\n\t\t}\n\t};\n\n\thandleCalendarChange = (event, { date }) => {\n\t\tif (!this.props.value) {\n\t\t\tthis.setState({\n\t\t\t\tvalue: date,\n\t\t\t\tformattedValue: this.props.formatter(date),\n\t\t\t\tinputValue: this.props.formatter(date),\n\t\t\t});\n\t\t}\n\n\t\tthis.handleRequestClose();\n\n\t\tif (this.props.onChange) {\n\t\t\tthis.props.onChange(event, {\n\t\t\t\tdate,\n\t\t\t\tformattedDate: this.props.formatter(date),\n\t\t\t\ttimezoneOffset: date.getTimezoneOffset(),\n\t\t\t});\n\t\t}\n\n\t\t// Please remove `onDateChange` on the next breaking change.\n\t\t/* eslint-disable react/prop-types */\n\t\tif (this.props.onDateChange) {\n\t\t\tthis.props.onDateChange(date, this.props.formatter(date));\n\t\t}\n\t\t/* eslint-enable react/prop-types */\n\t};\n\n\thandleClickOutside = () => {\n\t\tthis.handleRequestClose();\n\t};\n\n\thandleClose = () => {\n\t\tif (this.props.onClose) {\n\t\t\tthis.props.onClose();\n\t\t}\n\t};\n\n\thandleInputChange = (event) => {\n\t\t// Typing in the input closes the calendar when it's used as an uncontrolled component\n\t\tif (typeof this.props.isOpen !== 'boolean' && this.state.isOpen) {\n\t\t\tthis.setState({ isOpen: false });\n\t\t}\n\n\t\tthis.setState({\n\t\t\tformattedValue: event.target.value,\n\t\t\tinputValue: event.target.value,\n\t\t});\n\n\t\tconst date = this.props.parser(event.target.value);\n\n\t\tif (this.props.onChange) {\n\t\t\tthis.props.onChange(event, {\n\t\t\t\tdate,\n\t\t\t\tformattedDate: event.target.value,\n\t\t\t\ttimezoneOffset: date.getTimezoneOffset(),\n\t\t\t});\n\t\t}\n\t};\n\n\thandleKeyDown = (event) => {\n\t\t// Don't open if user is selecting text\n\t\tif (\n\t\t\tevent.keyCode &&\n\t\t\t!event.shiftKey &&\n\t\t\t(event.keyCode === KEYS.DOWN || event.keyCode === KEYS.UP)\n\t\t) {\n\t\t\tEventUtil.trapEvent(event);\n\t\t\tthis.setState({ isOpen: true });\n\t\t}\n\n\t\tif (event.keyCode === KEYS.ESCAPE || event.keyCode === KEYS.ENTER) {\n\t\t\tEventUtil.trapEvent(event);\n\t\t\tthis.setState({ isOpen: false });\n\t\t}\n\n\t\t// Please remove `onKeyDown` on the next breaking change.\n\t\t/* eslint-disable react/prop-types */\n\t\tif (this.props.onKeyDown) {\n\t\t\tthis.props.onKeyDown(event, {});\n\t\t}\n\t\t/* eslint-enable react/prop-types */\n\t};\n\n\thandleOpen = (event, { portal }) => {\n\t\tif (this.props.onOpen) {\n\t\t\tthis.props.onOpen(event, { portal });\n\t\t}\n\n\t\tif (this.selectedDateCell && this.state.isOpenFromIcon) {\n\t\t\tthis.selectedDateCell.focus();\n\t\t}\n\t};\n\n\thandleRequestClose = () => {\n\t\tif (this.props.onRequestClose) {\n\t\t\tthis.props.onRequestClose();\n\t\t}\n\n\t\tif (this.getIsOpen()) {\n\t\t\tthis.setState({ isOpen: false, isOpenFromIcon: false });\n\n\t\t\tif (this.inputRef) {\n\t\t\t\tthis.inputRef.focus();\n\t\t\t}\n\t\t}\n\t};\n\n\topenDialogFromIcon = () => {\n\t\tthis.setState({ isOpenFromIcon: true });\n\t\tthis.openDialog(true);\n\t};\n\n\topenDialog = (isRequestFromIcon = false) => {\n\t\tif (!isRequestFromIcon) {\n\t\t\tthis.setState({ isOpenFromIcon: false });\n\t\t}\n\t\tif (this.props.onRequestOpen) {\n\t\t\tthis.props.onRequestOpen();\n\t\t} else {\n\t\t\tthis.setState({ isOpen: true });\n\t\t}\n\t};\n\n\tparseDate = (formattedValue) => {\n\t\tlet parsedDate = this.props.parser(formattedValue);\n\t\tif (\n\t\t\tObject.prototype.toString.call(parsedDate) !== '[object Date]' ||\n\t\t\tisNaN(parsedDate.getTime())\n\t\t) {\n\t\t\tparsedDate = new Date();\n\t\t}\n\t\treturn parsedDate;\n\t};\n\n\trender() {\n\t\t// Merge objects of strings with their default object\n\t\tconst labels = assign({}, defaultProps.labels, this.props.labels);\n\t\tconst assistiveText = assign(\n\t\t\t{},\n\t\t\tdefaultProps.assistiveText,\n\t\t\tthis.props.assistiveText\n\t\t);\n\n\t\tconst inputProps = this.getInputProps({ assistiveText, labels });\n\n\t\t// `children` prop is a deprecated API. Future breaking change should limit Datepicker to only `Input` usage and not a random child node.\n\t\tconst inputToRender = this.props.children ? (\n\t\t\tReact.cloneElement(this.props.children, {\n\t\t\t\t...inputProps,\n\t\t\t})\n\t\t) : (\n\t\t\t<Input {...inputProps} />\n\t\t);\n\n\t\treturn (\n\t\t\t<div\n\t\t\t\tclassName={classNames(\n\t\t\t\t\t'slds-dropdown-trigger',\n\t\t\t\t\t'slds-dropdown-trigger_click',\n\t\t\t\t\t'ignore-react-onclickoutside',\n\t\t\t\t\t{\n\t\t\t\t\t\t'slds-is-open': this.getIsOpen(),\n\t\t\t\t\t},\n\t\t\t\t\tthis.props.triggerClassName\n\t\t\t\t)}\n\t\t\t>\n\t\t\t\t{inputToRender}\n\t\t\t\t{this.getDialog({ labels, assistiveText })}\n\t\t\t</div>\n\t\t);\n\t}\n}\n\nDatepicker.contextTypes = {\n\ticonPath: PropTypes.string,\n};\n\nDatepicker.displayName = DATE_PICKER;\nDatepicker.propTypes = propTypes;\nDatepicker.defaultProps = defaultProps;\n\nexport default Datepicker;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// ### onClickOutside\n// Listen for clicks that occur somewhere in the document, outside of the element itself\nimport onClickOutside from 'react-onclickoutside';\nimport Datepicker from './date-picker';\n\nexport default onClickOutside(Datepicker);\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// # Dynamic Icons Component\n\n// Implements the [Dynamic Icons design pattern](https://www.lightningdesignsystem.com/components/dynamic-icons/) in React.\n\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from '../../utilities/class-names';\n\nimport { DYNAMIC_ICON } from '../../utilities/constants';\n\n// PropTypes for the component\nconst propTypes = {\n\t/**\n\t * **Assistive text for accessibility**\n\t * * `label`: Used as a visually hidden label to describe the dynamic icon.\n\t */\n\tassistiveText: PropTypes.shape({\n\t\tlabel: PropTypes.string,\n\t}),\n\t/**\n\t * CSS class names to be added to the icon.\n\t */\n\tclassName: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\t/**\n\t * Pauses the icon animation if the value is true.\n\t */\n\tisPaused: PropTypes.bool,\n\t/**\n\t * Disables icon animation if set to true\n\t */\n\tisStatic: PropTypes.bool,\n\t/**\n\t * Polarity values for the 'score' variant. Defaults to 'positive'\n\t */\n\tscorePolarity: PropTypes.oneOf(['positive', 'negative']),\n\t/**\n\t * Range of strength values for the 'strength' variant. Defaults to '0'.\n\t */\n\tstrengthLevel: PropTypes.oneOf([\n\t\t'-3',\n\t\t'-2',\n\t\t'-1',\n\t\t'0',\n\t\t'1',\n\t\t'2',\n\t\t'3',\n\t\t-3,\n\t\t-2,\n\t\t-1,\n\t\t0,\n\t\t1,\n\t\t2,\n\t\t3,\n\t]),\n\t/**\n\t * HTML title attribute.\n\t */\n\ttitle: PropTypes.string.isRequired,\n\t/**\n\t * Signals direction for the 'trend' variant. The default value 'neutral' points to the east.\n\t */\n\ttrendDirection: PropTypes.oneOf(['down', 'up', 'neutral']),\n\t/**\n\t * Different types of dynamic icons. Possible variants:\n\t *\n\t * `ellie` - Displays a pulsing blue circle, which pulses and stops after one animation cycle.\n\t * `eq` - Displays an animated graph with three bars that rise and fall randomly.\n\t * `score` - Displays a green filled circle or a red unfilled circle.\n\t * `strength` - Displays three animated horizontal circles that are colored green or red.\n\t * `trend` - Displays animated arrows that point up, down, or straight.\n\t * `waffle` - Displays a 3x3 grid of dots that animates on hover.\n\t */\n\tvariant: PropTypes.oneOf([\n\t\t'ellie',\n\t\t'eq',\n\t\t'score',\n\t\t'strength',\n\t\t'trend',\n\t\t'typing',\n\t\t'waffle',\n\t]).isRequired,\n};\n\n/**\n * A set of delightful animated icons.\n */\nclass DynamicIcon extends React.Component {\n\tgetIconChildren() {\n\t\tlet children = [];\n\t\tlet defaultAssistiveText = this.props.title\n\t\t\t? this.props.title\n\t\t\t: `${this.props.variant\n\t\t\t\t\t.charAt(0)\n\t\t\t\t\t.toUpperCase()}${this.props.variant.slice(1)}`;\n\n\t\tif (this.props.variant === 'ellie') {\n\t\t\tchildren = [\n\t\t\t\t<svg viewBox=\"0 0 280 14\" aria-hidden=\"true\">\n\t\t\t\t\t<circle cx=\"7\" cy=\"7\" r=\"4\" />\n\t\t\t\t\t<circle cx=\"7\" cy=\"7\" r=\"3\" />\n\t\t\t\t\t<circle cx=\"21\" cy=\"7\" r=\"4\" />\n\t\t\t\t\t<circle cx=\"21\" cy=\"7\" r=\"3\" />\n\t\t\t\t\t<circle cx=\"35\" cy=\"7\" r=\"4\" />\n\t\t\t\t\t<circle cx=\"35\" cy=\"7\" r=\"3\" />\n\t\t\t\t\t<circle cx=\"49\" cy=\"7\" r=\"4\" />\n\t\t\t\t\t<circle cx=\"49\" cy=\"7\" r=\"3\" />\n\t\t\t\t\t<circle cx=\"63\" cy=\"7\" r=\"4\" />\n\t\t\t\t\t<circle cx=\"63\" cy=\"7\" r=\"3\" />\n\t\t\t\t\t<circle cx=\"77\" cy=\"7\" r=\"4\" />\n\t\t\t\t\t<circle cx=\"77\" cy=\"7\" r=\"3\" />\n\t\t\t\t\t<circle cx=\"91\" cy=\"7\" r=\"4\" />\n\t\t\t\t\t<circle cx=\"91\" cy=\"7\" r=\"3\" />\n\t\t\t\t\t<circle cx=\"105\" cy=\"7\" r=\"4\" />\n\t\t\t\t\t<circle cx=\"105\" cy=\"7\" r=\"3\" />\n\t\t\t\t\t<circle cx=\"119\" cy=\"7\" r=\"4\" />\n\t\t\t\t\t<circle cx=\"119\" cy=\"7\" r=\"3\" />\n\t\t\t\t\t<circle cx=\"133\" cy=\"7\" r=\"4\" />\n\t\t\t\t\t<circle cx=\"133\" cy=\"7\" r=\"3\" />\n\t\t\t\t\t<circle cx=\"147\" cy=\"7\" r=\"4\" />\n\t\t\t\t\t<circle cx=\"147\" cy=\"7\" r=\"3\" />\n\t\t\t\t\t<circle cx=\"161\" cy=\"7\" r=\"4\" />\n\t\t\t\t\t<circle cx=\"161\" cy=\"7\" r=\"3\" />\n\t\t\t\t\t<circle cx=\"175\" cy=\"7\" r=\"4\" />\n\t\t\t\t\t<circle cx=\"175\" cy=\"7\" r=\"3\" />\n\t\t\t\t\t<circle cx=\"189\" cy=\"7\" r=\"4\" />\n\t\t\t\t\t<circle cx=\"189\" cy=\"7\" r=\"3\" />\n\t\t\t\t\t<circle cx=\"203\" cy=\"7\" r=\"4\" />\n\t\t\t\t\t<circle cx=\"203\" cy=\"7\" r=\"3\" />\n\t\t\t\t\t<circle cx=\"217\" cy=\"7\" r=\"4\" />\n\t\t\t\t\t<circle cx=\"217\" cy=\"7\" r=\"3\" />\n\t\t\t\t\t<circle cx=\"231\" cy=\"7\" r=\"4\" />\n\t\t\t\t\t<circle cx=\"231\" cy=\"7\" r=\"3\" />\n\t\t\t\t\t<circle cx=\"245\" cy=\"7\" r=\"4\" />\n\t\t\t\t\t<circle cx=\"245\" cy=\"7\" r=\"3\" />\n\t\t\t\t\t<circle cx=\"259\" cy=\"7\" r=\"4\" />\n\t\t\t\t\t<circle cx=\"259\" cy=\"7\" r=\"3\" />\n\t\t\t\t\t<circle cx=\"273\" cy=\"7\" r=\"4\" />\n\t\t\t\t\t<circle cx=\"273\" cy=\"7\" r=\"3\" />\n\t\t\t\t</svg>,\n\t\t\t];\n\t\t} else if (this.props.variant === 'eq') {\n\t\t\tchildren = [\n\t\t\t\t<div className=\"slds-icon-eq__bar\" />,\n\t\t\t\t<div className=\"slds-icon-eq__bar\" />,\n\t\t\t\t<div className=\"slds-icon-eq__bar\" />,\n\t\t\t];\n\t\t} else if (this.props.variant === 'score') {\n\t\t\tchildren = [\n\t\t\t\t<svg\n\t\t\t\t\tviewBox=\"0 0 5 5\"\n\t\t\t\t\tclassName=\"slds-icon-score__positive\"\n\t\t\t\t\taria-hidden=\"true\"\n\t\t\t\t>\n\t\t\t\t\t<circle cx=\"50%\" cy=\"50%\" r=\"1.875\" />\n\t\t\t\t</svg>,\n\t\t\t\t<svg\n\t\t\t\t\tviewBox=\"0 0 5 5\"\n\t\t\t\t\tclassName=\"slds-icon-score__negative\"\n\t\t\t\t\taria-hidden=\"true\"\n\t\t\t\t>\n\t\t\t\t\t<circle cx=\"50%\" cy=\"50%\" r=\"1.875\" />\n\t\t\t\t</svg>,\n\t\t\t];\n\t\t} else if (this.props.variant === 'strength') {\n\t\t\tchildren = [\n\t\t\t\t<svg viewBox=\"0 0 27 7\" aria-hidden=\"true\">\n\t\t\t\t\t<circle r=\"3.025\" cx=\"3.5\" cy=\"3.5\" />\n\t\t\t\t\t<circle r=\"3.025\" cx=\"13.5\" cy=\"3.5\" />\n\t\t\t\t\t<circle r=\"3.025\" cx=\"23.5\" cy=\"3.5\" />\n\t\t\t\t</svg>,\n\t\t\t];\n\t\t} else if (this.props.variant === 'trend') {\n\t\t\tchildren = [\n\t\t\t\t<svg viewBox=\"0 0 16 16\" aria-hidden=\"true\">\n\t\t\t\t\t<path\n\t\t\t\t\t\tclassName=\"slds-icon-trend__arrow\"\n\t\t\t\t\t\td=\"M.75 8H11M8 4.5L11.5 8 8 11.5\"\n\t\t\t\t\t/>\n\t\t\t\t\t<circle\n\t\t\t\t\t\tclassName=\"slds-icon-trend__circle\"\n\t\t\t\t\t\tcy=\"8\"\n\t\t\t\t\t\tcx=\"8\"\n\t\t\t\t\t\tr=\"7.375\"\n\t\t\t\t\t\ttransform=\"rotate(-28 8 8) scale(-1 1) translate(-16 0)\"\n\t\t\t\t\t/>\n\t\t\t\t</svg>,\n\t\t\t];\n\t\t} else if (this.props.variant === 'typing') {\n\t\t\tchildren = [\n\t\t\t\t<span className=\"slds-icon-typing__dot\" />,\n\t\t\t\t<span className=\"slds-icon-typing__dot\" />,\n\t\t\t\t<span className=\"slds-icon-typing__dot\" />,\n\t\t\t];\n\t\t\tif (!this.props.title) {\n\t\t\t\tdefaultAssistiveText = 'User is typing';\n\t\t\t}\n\t\t} else if (this.props.variant === 'waffle') {\n\t\t\tchildren = [\n\t\t\t\t<span className=\"slds-icon-waffle\">\n\t\t\t\t\t<span className=\"slds-r1\" />\n\t\t\t\t\t<span className=\"slds-r2\" />\n\t\t\t\t\t<span className=\"slds-r3\" />\n\t\t\t\t\t<span className=\"slds-r4\" />\n\t\t\t\t\t<span className=\"slds-r5\" />\n\t\t\t\t\t<span className=\"slds-r6\" />\n\t\t\t\t\t<span className=\"slds-r7\" />\n\t\t\t\t\t<span className=\"slds-r8\" />\n\t\t\t\t\t<span className=\"slds-r9\" />\n\t\t\t\t</span>,\n\t\t\t];\n\t\t\tif (!this.props.title) {\n\t\t\t\tdefaultAssistiveText = 'Open App Launcher';\n\t\t\t}\n\t\t}\n\n\t\t// eslint-disable-next-line fp/no-mutating-methods\n\t\tchildren.push(\n\t\t\t<span className=\"slds-assistive-text\">\n\t\t\t\t{this.props.assistiveText && this.props.assistiveText.label\n\t\t\t\t\t? this.props.assistiveText.label\n\t\t\t\t\t: defaultAssistiveText}\n\t\t\t</span>\n\t\t);\n\n\t\treturn children;\n\t}\n\n\trender() {\n\t\tconst children = this.getIconChildren();\n\t\tconst classes = [\n\t\t\t{\n\t\t\t\t'slds-is-animated': !this.props.isStatic,\n\t\t\t\t'slds-is-paused': this.props.isPaused,\n\t\t\t},\n\t\t];\n\t\tconst iconProps = {\n\t\t\ttitle: this.props.title,\n\t\t};\n\t\tlet element = 'span';\n\n\t\tif (this.props.variant === 'waffle') {\n\t\t\t// eslint-disable-next-line fp/no-mutating-methods\n\t\t\tclasses.unshift('slds-button', 'slds-icon-waffle_container');\n\t\t\telement = 'button';\n\t\t} else {\n\t\t\t// eslint-disable-next-line fp/no-mutating-methods\n\t\t\tclasses.unshift(`slds-icon-${this.props.variant}`);\n\n\t\t\tif (this.props.variant === 'eq') {\n\t\t\t\telement = 'div';\n\t\t\t} else if (this.props.variant === 'score') {\n\t\t\t\ticonProps['data-slds-state'] = this.props.scorePolarity\n\t\t\t\t\t? this.props.scorePolarity\n\t\t\t\t\t: 'positive';\n\t\t\t} else if (this.props.variant === 'strength') {\n\t\t\t\ticonProps['data-slds-strength'] =\n\t\t\t\t\tthis.props.strengthLevel !== undefined\n\t\t\t\t\t\t? `${this.props.strengthLevel}`\n\t\t\t\t\t\t: '0';\n\t\t\t} else if (this.props.variant === 'trend') {\n\t\t\t\ticonProps['data-slds-trend'] = this.props.trendDirection\n\t\t\t\t\t? this.props.trendDirection\n\t\t\t\t\t: 'neutral';\n\t\t\t}\n\t\t}\n\n\t\ticonProps.className = classNames(classes, this.props.className);\n\n\t\treturn React.createElement(element, iconProps, ...children);\n\t}\n}\n\nDynamicIcon.displayName = DYNAMIC_ICON;\nDynamicIcon.propTypes = propTypes;\n\nexport default DynamicIcon;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// # Edit Dialog Popver Component\n\n// ### React\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport assign from 'lodash.assign';\n\nimport { POPOVER_EDIT_DIALOG } from '../../utilities/constants';\n\nimport Button from '../button';\nimport Popover from './index';\n\nconst defaultProps = {\n\tlabels: {\n\t\tcancel: 'Cancel',\n\t\tsave: 'Save',\n\t},\n};\nclass EditDialog extends React.Component {\n\t// ### Display Name\n\t// Always use the canonical component name as the React display name.\n\tstatic displayName = POPOVER_EDIT_DIALOG;\n\n\t// ### Prop Types\n\tstatic propTypes = {\n\t\t/**\n\t\t * Disables the edit dialog and prevents clicking it.\n\t\t */\n\t\tdisabled: PropTypes.bool,\n\t\t/**\n\t\t * By default, a unique ID will be created at render to support keyboard navigation, ARIA roles, and connect the popover to the triggering button. This ID will be applied to the triggering element. `${id}-popover`, `${id}-dialog-heading`, `${id}-dialog-body` are also created.\n\t\t */\n\t\tid: PropTypes.string,\n\t\t/**\n\t\t * Set to true when inputs within the popover are modified.\n\t\t */\n\t\tisModified: PropTypes.bool,\n\t\t/**\n\t\t * **Text labels for internationalization**\n\t\t * This object is merged with the default props object on every render.\n\t\t * * `cancel`: text for Cancel button\n\t\t * * `save`: text for Save button\n\t\t *\n\t\t * _Tested with snapshot testing._\n\t\t */\n\t\tlabels: PropTypes.shape({\n\t\t\tcancel: PropTypes.oneOfType([PropTypes.string, PropTypes.node]),\n\t\t\tsave: PropTypes.oneOfType([PropTypes.string, PropTypes.node]),\n\t\t}),\n\t\t/**\n\t\t * This function is passed onto the cancel `Button`. Triggered when the trigger button is clicked.\n\t\t */\n\t\tonCancel: PropTypes.func,\n\t\t/**\n\t\t * This function is passed onto the save `Button`. Triggered when the trigger button is clicked.\n\t\t */\n\t\tonSave: PropTypes.func,\n\t\t/**\n\t\t * Popover of type `~/components/popover`. This popover will be cloned and additional props appended, if passed in.\n\t\t */\n\t\tpopover: PropTypes.node,\n\t};\n\n\thandleOpen = () => {\n\t\tthis.setState({ isOpen: true });\n\t};\n\n\thandleClose = () => {\n\t\tthis.setState({ isOpen: false });\n\t};\n\n\trender() {\n\t\tconst { onCancel, onSave, ...restProps } = this.props;\n\n\t\t// trigger button will either be passed in children or defaults to an edit button.\n\t\tconst children = this.props.children ? (\n\t\t\tthis.props.children\n\t\t) : (\n\t\t\t<Button\n\t\t\t\tassistiveText={{ icon: 'Edit: Status' }}\n\t\t\t\tclassName=\"slds-button_reset\"\n\t\t\t\tdisabled={this.props.disabled}\n\t\t\t\ticonCategory=\"utility\"\n\t\t\t\ticonClassName=\"slds-button__icon slds-button__icon_hint\"\n\t\t\t\ticonName=\"edit\"\n\t\t\t\tonClick={this.props.handleOpen}\n\t\t\t\tvariant=\"icon\"\n\t\t\t\tstyle={{ verticalAlign: 'middle' }}\n\t\t\t/>\n\t\t);\n\n\t\tconst labels = assign({}, defaultProps.labels, this.props.labels);\n\n\t\treturn (\n\t\t\t<Popover\n\t\t\t\tclassNameFooter={[\n\t\t\t\t\t'slds-p-top_xxx-small',\n\t\t\t\t\t'slds-p-bottom_xx-small',\n\t\t\t\t\t'slds-p-right_large',\n\t\t\t\t]}\n\t\t\t\tclassNameBody={['slds-p-bottom_xx-small']}\n\t\t\t\tfooter={\n\t\t\t\t\t<div className=\"slds-text-align_right slds-text-align_right slds-p-bottom_x-small slds-p-right_xx-small\">\n\t\t\t\t\t\t<Button label={labels.cancel} onClick={onCancel} />\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tdisabled={!this.props.isModified}\n\t\t\t\t\t\t\tvariant=\"brand\"\n\t\t\t\t\t\t\tlabel={labels.save}\n\t\t\t\t\t\t\tonClick={onSave}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</div>\n\t\t\t\t}\n\t\t\t\tfooterStyle={{ borderTop: '0px' }}\n\t\t\t\tonClose={this.handleClose}\n\t\t\t\tonRequestClose={this.handleClose}\n\t\t\t\tonOpen={this.handleOpen}\n\t\t\t\t{...restProps}\n\t\t\t>\n\t\t\t\t{children}\n\t\t\t</Popover>\n\t\t);\n\t}\n}\n\nEditDialog.defaultProps = defaultProps;\n\nexport default EditDialog;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// Implements the [Expression Group design pattern](https://lightningdesignsystem.com/components/expression/) in React.\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport assign from 'lodash.assign';\n\n// ### shortid\n// [npmjs.com/package/shortid](https://www.npmjs.com/package/shortid)\n// shortid is a short, non-sequential, url-friendly, unique id generator\nimport shortid from 'shortid';\n\nimport { EXPRESSION_GROUP } from '../../utilities/constants';\n\nimport Combobox from '../combobox';\nimport Button from '../button';\nimport Input from '../input';\n\nconst propTypes = {\n\t/**\n\t * **Assistive text for accessibility.**\n\t * * `label`: For users of assistive technology, assistive text for the expression group's label.\n\t * * `addCondition`: For users of assistive technology, assistive text for the Add Condition button's icon.\n\t * * `addGroup`: For users of assistive technology, assistive text for the Add Group button's icon.\n\t */\n\tassistiveText: PropTypes.shape({\n\t\tlabel: PropTypes.string,\n\t\taddCondition: PropTypes.string,\n\t\taddGroup: PropTypes.string,\n\t}),\n\t/**\n\t * HTML id for ExpressionGroup component.\n\t */\n\tid: PropTypes.string,\n\t/**\n\t * `ExpressionGroup` children, accepts `ExpressionCondition`. (Also accepts sub-`ExpressionGroup` if `isRoot`)\n\t */\n\tchildren: PropTypes.node,\n\t/**\n\t * CSS classes to be added to the element with class `.slds-expression__group`. Uses `classNames` [API](https://github.com/JedWatson/classnames).\n\t */\n\tclassName: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\t/**\n\t * Callbacks for various expression group events such as trigger change, add condition etc\n\t */\n\tevents: PropTypes.shape({\n\t\tonChangeTrigger: PropTypes.func,\n\t\tonChangeCustomLogicValue: PropTypes.func,\n\t\tonAddCondition: PropTypes.func,\n\t\tonAddGroup: PropTypes.func,\n\t}),\n\t/**\n\t * If set to true, the component will focus on the first focusable input upon mounting. This is useful for accessibility when adding new groups.\n\t */\n\tfocusOnMount: PropTypes.bool,\n\t/**\n\t * **Text labels for internationalization**\n\t * This object is merged with the default props object on every render.\n\t * * `addCondition`: Label for the Add Condition Button. Defaults to \"Add Condition\"\n\t * * `addGroup`: Label for the Add Group Button. Defaults to \"Add Group\"\n\t * * `customLogic`: Label for the text box for inputting `customLogicValue`, if the `triggerType` is `custom`. Defaults to \"Custom Logic\"\n\t * * `label`: Label for the expression group, to indicate condition connectors based on the parent's trigger-type chosen. Defaults to \"\"\n\t * * `takeAction`: Label for the `triggerType` selector. Defaults to \"Take Action When\"\n\t * * `triggerAll`: Label for the `all` value within the trigger selector\n\t * * `triggerAlways`: Label for the `always` value within the trigger selector\n\t * * `triggerAny`: Label for the `any` value within the trigger selector\n\t * * `triggerCustom`: Label for the `custom` value within the trigger selector\n\t * * `triggerFormula`: Label for the `formula` value within the trigger selector\n\t */\n\tlabels: PropTypes.shape({\n\t\taddCondition: PropTypes.string,\n\t\taddGroup: PropTypes.string,\n\t\tcustomLogic: PropTypes.string,\n\t\tlabel: PropTypes.string,\n\t\ttakeAction: PropTypes.string,\n\t\ttriggerAll: PropTypes.string,\n\t\ttriggerAlways: PropTypes.string,\n\t\ttriggerAny: PropTypes.string,\n\t\ttriggerCustom: PropTypes.string,\n\t\ttriggerFormula: PropTypes.string,\n\t}),\n\t/**\n\t * Whether the group is at root level\n\t */\n\tisRoot: PropTypes.bool,\n\t/**\n\t * Trigger type for the Group\n\t */\n\ttriggerType: PropTypes.oneOf(['all', 'any', 'custom', 'always', 'formula']),\n\t/**\n\t * Sets the input for the custom logic value input box, shown if the `triggerType` is set to `custom`.\n\t */\n\tcustomLogicValue: PropTypes.string,\n};\n\nconst defaultProps = {\n\ttriggerType: 'all',\n\tcustomLogicValue: '',\n\tlabels: {\n\t\tlabel: '',\n\t\ttakeAction: 'Take Action When',\n\t\tcustomLogic: 'Custom Logic',\n\t\taddCondition: 'Add Condition',\n\t\taddGroup: 'Add Group',\n\t\ttriggerAll: 'All Conditions Are Met',\n\t\ttriggerAny: 'Any Condition Is Met',\n\t\ttriggerCustom: 'Custom Logic Is Met',\n\t\ttriggerAlways: 'Always (No Criteria)',\n\t\ttriggerFormula: 'Formula Evaluates To True',\n\t},\n};\n\n/**\n * Expression Group Component\n */\nclass ExpressionGroup extends React.Component {\n\t/**\n\t * Return triggerType selected, processing the triggerType objects generated\n\t */\n\tstatic triggerChange(event, data) {\n\t\tconst selection = data.selection[0].id;\n\t\tlet trigger = '';\n\t\tif (selection === '1') {\n\t\t\ttrigger = 'all';\n\t\t} else if (selection === '2') {\n\t\t\ttrigger = 'any';\n\t\t} else if (selection === '3') {\n\t\t\ttrigger = 'custom';\n\t\t} else if (selection === '4') {\n\t\t\ttrigger = 'always';\n\t\t} else if (selection === '5') {\n\t\t\ttrigger = 'formula';\n\t\t}\n\t\treturn trigger;\n\t}\n\n\tconstructor(props) {\n\t\tsuper(props);\n\t\tthis.generatedId = shortid.generate();\n\t}\n\n\tcomponentDidMount() {\n\t\tif (this.props.focusOnMount && this.rootNode) {\n\t\t\tconst input = this.rootNode.querySelector('input');\n\t\t\tif (input) {\n\t\t\t\tinput.focus();\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Get the Expression Group's HTML id. Generate a new one if no ID present.\n\t */\n\tgetId() {\n\t\treturn this.props.id || this.generatedId;\n\t}\n\n\t/**\n\t * Generate and return trigger type objects, with labels either sent as props or using default props.\n\t */\n\tgetTriggers() {\n\t\tconst labels = assign({}, defaultProps.labels, this.props.labels);\n\t\treturn [\n\t\t\t{ id: '1', label: labels.triggerAll },\n\t\t\t{ id: '2', label: labels.triggerAny },\n\t\t\t{ id: '3', label: labels.triggerCustom },\n\t\t\t{ id: '4', label: labels.triggerAlways },\n\t\t\t{ id: '5', label: labels.triggerFormula },\n\t\t];\n\t}\n\n\t/**\n\t * Returns object of trigger from trigger passed as prop\n\t */\n\tgetTriggerSelection() {\n\t\tconst selection = this.props.triggerType;\n\t\tconst Triggers = this.getTriggers();\n\t\tconst t = [];\n\t\tif (selection === 'all') {\n\t\t\t// eslint-disable-next-line fp/no-mutating-methods\n\t\t\tt.push(Triggers[0]);\n\t\t} else if (selection === 'any') {\n\t\t\t// eslint-disable-next-line fp/no-mutating-methods\n\t\t\tt.push(Triggers[1]);\n\t\t} else if (selection === 'custom') {\n\t\t\t// eslint-disable-next-line fp/no-mutating-methods\n\t\t\tt.push(Triggers[2]);\n\t\t} else if (selection === 'always') {\n\t\t\t// eslint-disable-next-line fp/no-mutating-methods\n\t\t\tt.push(Triggers[3]);\n\t\t} else if (selection === 'formula') {\n\t\t\t// eslint-disable-next-line fp/no-mutating-methods\n\t\t\tt.push(Triggers[4]);\n\t\t}\n\t\treturn t;\n\t}\n\n\trender() {\n\t\tconst assistiveText = assign(\n\t\t\t{},\n\t\t\tdefaultProps.assistiveText,\n\t\t\tthis.props.assistiveText\n\t\t);\n\t\tconst labels = assign({}, defaultProps.labels, this.props.labels);\n\n\t\tconst triggerCombobox = (\n\t\t\t<Combobox\n\t\t\t\tevents={{\n\t\t\t\t\tonSelect: (event, data) =>\n\t\t\t\t\t\tthis.props.events.onChangeTrigger(event, {\n\t\t\t\t\t\t\ttriggerType: ExpressionGroup.triggerChange(event, data),\n\t\t\t\t\t\t}),\n\t\t\t\t}}\n\t\t\t\tid={`${this.getId()}-take-action-trigger`}\n\t\t\t\tmultiple={false}\n\t\t\t\toptions={this.getTriggers()}\n\t\t\t\tvariant=\"readonly\"\n\t\t\t\tlabels={{ label: labels.takeAction }}\n\t\t\t\tselection={this.getTriggerSelection()}\n\t\t\t/>\n\t\t);\n\n\t\tconst buttons =\n\t\t\tthis.props.triggerType !== 'always' &&\n\t\t\tthis.props.triggerType !== 'formula' ? (\n\t\t\t\t<div className=\"slds-expression__buttons\">\n\t\t\t\t\t<Button\n\t\t\t\t\t\ticonCategory=\"utility\"\n\t\t\t\t\t\ticonName=\"add\"\n\t\t\t\t\t\ticonPosition=\"left\"\n\t\t\t\t\t\tid={`${this.getId()}-add-condition-button`}\n\t\t\t\t\t\tlabel={labels.addCondition}\n\t\t\t\t\t\tassistiveText={{ icon: assistiveText.addCondition }}\n\t\t\t\t\t\tonClick={this.props.events.onAddCondition}\n\t\t\t\t\t/>\n\t\t\t\t\t{this.props.isRoot ? (\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\ticonCategory=\"utility\"\n\t\t\t\t\t\t\ticonName=\"add\"\n\t\t\t\t\t\t\ticonPosition=\"left\"\n\t\t\t\t\t\t\tid={`${this.getId()}-add-group-button`}\n\t\t\t\t\t\t\tlabel={labels.addGroup}\n\t\t\t\t\t\t\tassistiveText={{ icon: assistiveText.addGroup }}\n\t\t\t\t\t\t\tonClick={this.props.events.onAddGroup}\n\t\t\t\t\t\t/>\n\t\t\t\t\t) : null}\n\t\t\t\t</div>\n\t\t\t) : null;\n\n\t\tlet body = null;\n\n\t\tif (this.props.triggerType !== 'always') {\n\t\t\tif (this.props.isRoot && this.props.triggerType === 'formula') {\n\t\t\t\tbody = this.props.children;\n\t\t\t} else {\n\t\t\t\tbody = (\n\t\t\t\t\t<React.Fragment>\n\t\t\t\t\t\t{this.props.triggerType === 'custom' ? (\n\t\t\t\t\t\t\t<Input\n\t\t\t\t\t\t\t\tlabel={labels.customLogic}\n\t\t\t\t\t\t\t\tclassName=\"slds-expression__custom-logic\"\n\t\t\t\t\t\t\t\tid={`${this.getId()}-custom-logic-input`}\n\t\t\t\t\t\t\t\tvalue={this.props.customLogicValue}\n\t\t\t\t\t\t\t\tvariant=\"base\"\n\t\t\t\t\t\t\t\tonChange={this.props.events.onChangeCustomLogicValue}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) : null}\n\t\t\t\t\t\t<ul>{this.props.children}</ul>\n\t\t\t\t\t</React.Fragment>\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\n\t\tif (this.props.isRoot) {\n\t\t\tif (this.props.triggerType === 'formula') {\n\t\t\t\treturn (\n\t\t\t\t\t<React.Fragment>\n\t\t\t\t\t\t<div className=\"slds-expression__options\">{triggerCombobox}</div>\n\t\t\t\t\t\t{body}\n\t\t\t\t\t</React.Fragment>\n\t\t\t\t);\n\t\t\t}\n\n\t\t\treturn (\n\t\t\t\t<div className={classNames(this.props.className)} id={this.getId()}>\n\t\t\t\t\t<div className=\"slds-expression__options\">{triggerCombobox}</div>\n\t\t\t\t\t{body}\n\t\t\t\t\t{buttons}\n\t\t\t\t</div>\n\t\t\t);\n\t\t}\n\n\t\treturn (\n\t\t\t<li\n\t\t\t\tclassName={classNames('slds-expression__group', this.props.className)}\n\t\t\t\tid={this.getId()}\n\t\t\t\tref={(rootNode) => {\n\t\t\t\t\tthis.rootNode = rootNode;\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\t<fieldset>\n\t\t\t\t\t<legend className=\"slds-expression__legend slds-expression__legend_group\">\n\t\t\t\t\t\t<span>{labels.label}</span>\n\t\t\t\t\t\t<span className=\"slds-assistive-text\">{assistiveText.label}</span>\n\t\t\t\t\t</legend>\n\t\t\t\t\t<div className=\"slds-expression__options\">{triggerCombobox}</div>\n\t\t\t\t\t{body}\n\t\t\t\t\t{buttons}\n\t\t\t\t</fieldset>\n\t\t\t</li>\n\t\t);\n\t}\n}\n\nExpressionGroup.displayName = EXPRESSION_GROUP;\nExpressionGroup.propTypes = propTypes;\nExpressionGroup.defaultProps = defaultProps;\n\nexport default ExpressionGroup;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// Implements the [Expression design pattern](https://lightningdesignsystem.com/components/expression/) in React.\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\n\n// ### shortid\n// [npmjs.com/package/shortid](https://www.npmjs.com/package/shortid)\n// shortid is a short, non-sequential, url-friendly, unique id generator\nimport shortid from 'shortid';\nimport assign from 'lodash.assign';\nimport { EXPRESSION } from '../../utilities/constants';\nimport ExpressionGroup from './group';\n\nconst propTypes = {\n\t/**\n\t * HTML id for component.\n\t */\n\tid: PropTypes.string,\n\t/**\n\t * `Expression` children, accepts `ExpressionCondition` & `ExpressionGroup`\n\t */\n\tchildren: PropTypes.node,\n\t/**\n\t * Callbacks for various expression events such as trigger change, add group etc\n\t */\n\tevents: PropTypes.shape({\n\t\tonChangeTrigger: PropTypes.func,\n\t\tonAddGroup: PropTypes.func,\n\t\tonAddCondition: PropTypes.func,\n\t\tonChangeCustomLogicValue: PropTypes.func,\n\t}),\n\t/**\n\t * **Text labels for internationalization**\n\t * This object is merged with the default props object on every render.\n\t * * `addCondition`: Label for the Add Condition Button. Defaults to \"Add Condition\"\n\t * * `addGroup`: Label for the Add Group Button. Defaults to \"Add Group\"\n\t * * `customLogic`: Label for the text box for inputting `customLogicValue`, if the `triggerType` is `custom`. Defaults to \"Custom Logic\"\n\t * * `takeAction`: Label for the `triggerType` selector. Defaults to \"Take Action When\"\n\t * * `title` : Title for the Expression. Defaults to \"Conditions\"\n\t * * `triggerAll`: Label for the `all` value within the trigger selector\n\t * * `triggerAlways`: Label for the `always` value within the trigger selector\n\t * * `triggerAny`: Label for the `any` value within the trigger selector\n\t * * `triggerCustom`: Label for the `custom` value within the trigger selector\n\t * * `triggerFormula`: Label for the `formula` value within the trigger selector\n\t */\n\tlabels: PropTypes.shape({\n\t\taddCondition: PropTypes.string,\n\t\taddGroup: PropTypes.string,\n\t\tcustomLogic: PropTypes.string,\n\t\ttakeAction: PropTypes.string,\n\t\ttitle: PropTypes.string,\n\t\ttriggerAll: PropTypes.string,\n\t\ttriggerAlways: PropTypes.string,\n\t\ttriggerAny: PropTypes.string,\n\t\ttriggerCustom: PropTypes.string,\n\t\ttriggerFormula: PropTypes.string,\n\t}),\n\t/**\n\t * CSS classes to be added to the element with class `.slds-expression`. Uses `classNames` [API](https://github.com/JedWatson/classnames).\n\t */\n\tclassName: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\t/**\n\t * Sets the trigger type for the expression.\n\t */\n\ttriggerType: PropTypes.oneOf(['all', 'any', 'custom', 'always', 'formula']),\n\t/**\n\t * Sets the input for the custom logic value input box, shown if the `triggerType` is set to `custom`.\n\t */\n\tcustomLogicValue: PropTypes.string,\n};\n\nconst defaultProps = {\n\tlabels: {\n\t\ttitle: 'Conditions',\n\t},\n};\n\n/**\n * Expression builders help users declaratively construct logical expressions.\n * These expressions can be used when querying for a filtered set of records,\n * creating rules to control when something executes, or any other conditional logic.\n */\nclass Expression extends React.Component {\n\t// eslint-disable-next-line camelcase, react/sort-comp\n\tUNSAFE_componentWillMount() {\n\t\tthis.generatedId = shortid.generate();\n\t}\n\n\t/**\n\t * Get the Expression Group's HTML id. Generate a new one if no ID present.\n\t */\n\tgetId() {\n\t\treturn this.props.id || this.generatedId;\n\t}\n\n\trender() {\n\t\tconst labels = assign({}, defaultProps.labels, this.props.labels);\n\n\t\treturn (\n\t\t\t<div\n\t\t\t\tclassName={classNames('slds-expression', this.props.className)}\n\t\t\t\tid={this.getId()}\n\t\t\t>\n\t\t\t\t<h2 className=\"slds-expression__title\">{labels.title}</h2>\n\t\t\t\t<ExpressionGroup\n\t\t\t\t\tisRoot\n\t\t\t\t\tid={`${this.getId()}-group`}\n\t\t\t\t\tevents={this.props.events}\n\t\t\t\t\tlabels={labels}\n\t\t\t\t\tcustomLogicValue={this.props.customLogicValue}\n\t\t\t\t\ttriggerType={this.props.triggerType}\n\t\t\t\t>\n\t\t\t\t\t{this.props.children}\n\t\t\t\t</ExpressionGroup>\n\t\t\t</div>\n\t\t);\n\t}\n}\n\nExpression.displayName = EXPRESSION;\nExpression.propTypes = propTypes;\nExpression.defaultProps = defaultProps;\n\nexport default Expression;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// Implements the [Expression Condition design pattern](https://lightningdesignsystem.com/components/expression/) in React.\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport assign from 'lodash.assign';\n\n// ### shortid\n// [npmjs.com/package/shortid](https://www.npmjs.com/package/shortid)\n// shortid is a short, non-sequential, url-friendly, unique id generator\nimport shortid from 'shortid';\n\nimport { EXPRESSION_CONDITION } from '../../utilities/constants';\n\nimport Combobox from '../combobox';\nimport Input from '../input';\nimport Button from '../button';\n\nconst propTypes = {\n\t/**\n\t * **Assistive text for accessibility.**\n\t * * `title`: For users of assistive technology, title for the condition fieldset. Defaults to 'Condition'\n\t * * `deleteIcon`: For users of assistive technology, assistive text for the Delete Condition button's icon. Defaults to 'Delete Condition'\n\t */\n\tassistiveText: PropTypes.shape({\n\t\ttitle: PropTypes.string,\n\t\tdeleteIcon: PropTypes.string,\n\t}),\n\t/**\n\t * HTML id for component.\n\t */\n\tid: PropTypes.string,\n\t/**\n\t * CSS classes to be added to the element with class `.slds-expression__row`. Uses `classNames` [API](https://github.com/JedWatson/classnames).\n\t */\n\tclassName: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\t/**\n\t * Callbacks for various expression condition events such as value change, delete etc\n\t */\n\tevents: PropTypes.shape({\n\t\tonChangeResource: PropTypes.func,\n\t\tonChangeOperator: PropTypes.func,\n\t\tonChangeValue: PropTypes.func,\n\t\tonDelete: PropTypes.func,\n\t}).isRequired,\n\t/**\n\t * If set to true, the component will focus on the first focusable input upon mounting. This is useful for accessibility when adding new conditions.\n\t */\n\tfocusOnMount: PropTypes.bool,\n\t/**\n\t * **Text labels for internationalization**\n\t * This object is merged with the default props object on every\n\t * * `deleteCondition`: Title for the delete condition button. Defaults to \"Delete Condition\".\n\t * * `label`: Label for the condition, shown left-most in the row. Left empty on default.\n\t * * `operator`: Label for the operator selection dropdown. Defaults to \"Operator\"\n\t * * `resource`: Label for the resource selection dropdown. Defaults to \"Resource\"\n\t * * `value`: Label for the value input box. Defaults to \"Value\"\n\t */\n\tlabels: PropTypes.shape({\n\t\tdeleteCondition: PropTypes.string,\n\t\tlabel: PropTypes.string,\n\t\toperator: PropTypes.string,\n\t\tresource: PropTypes.string,\n\t\tvalue: PropTypes.string,\n\t}),\n\t/**\n\t * Controls whether the condition is a sub-condition inside a ExpressionGroup\n\t */\n\tisSubCondition: PropTypes.bool,\n\t/**\n\t * **Array of item objects that are options in the resource selection dropdown menu.**\n\t * Each object can contain:\n\t * * `id`: A unique identifier string.\n\t * * `label`: A primary string of text for a menu item.\n\t * ```\n\t * {\n\t * \tid: '1',\n\t * \tlabel: 'Resource 1',\n\t * },\n\t * ```\n\t * Note: The dropdown uses the Combobox Component, and `resourcesList` is\n\t * passed as `options` props to it, and hence shall also support more\n\t * custom objects. Please refer to the Combobox documentation.\n\t */\n\tresourcesList: PropTypes.arrayOf(PropTypes.object),\n\t/**\n\t * Accepts an object from the `resourcesList` which needs to be selected\n\t * for the resource dropdown menu,\n\t */\n\tresourceSelected: PropTypes.object,\n\t/**\n\t * **Array of item objects that are options in the operator selection dropdown menu.**\n\t * Each object can contain:\n\t * * `id`: A unique identifier string.\n\t * * `label`: A primary string of text for a menu item.\n\t * ```\n\t * {\n\t * \tid: '1',\n\t * \tlabel: 'Operator 1',\n\t * },\n\t * ```\n\t * Note: The dropdown uses the Combobox Component, and `operatorList` is\n\t * passed as `options` props to it, and hence shall also support more\n\t * custom objects. Please refer to the Combobox documentation.\n\t */\n\toperatorsList: PropTypes.arrayOf(PropTypes.object),\n\t/**\n\t * Accepts an object from the `operatorSelected` which needs to be selected\n\t * for the operator dropdown menu,\n\t */\n\toperatorSelected: PropTypes.object,\n\t/**\n\t * Sets the input value for the Value input field.\n\t */\n\tvalue: PropTypes.string,\n};\n\nconst defaultProps = {\n\tassistiveText: {\n\t\ttitle: 'Condition',\n\t\tdeleteIcon: 'Delete Condition',\n\t},\n\tlabels: {\n\t\tlabel: '',\n\t\toperator: 'Operator',\n\t\tresource: 'Resource',\n\t\tvalue: 'Value',\n\t\tdeleteCondition: 'Delete Condition',\n\t},\n\tvalue: '',\n};\n/**\n * Expression Condition Component\n */\nclass ExpressionCondition extends React.Component {\n\tconstructor(props) {\n\t\tsuper(props);\n\t\tthis.generatedId = shortid.generate();\n\t}\n\n\tcomponentDidMount() {\n\t\tif (this.props.focusOnMount && this.rootNode) {\n\t\t\tconst input = this.rootNode.querySelector('input');\n\t\t\tif (input) {\n\t\t\t\tinput.focus();\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Get the Expression Condition's HTML id. Generate a new one if no ID present.\n\t */\n\tgetId() {\n\t\treturn this.props.id || this.generatedId;\n\t}\n\n\trender() {\n\t\tconst assistiveText = assign(\n\t\t\t{},\n\t\t\tdefaultProps.assistiveText,\n\t\t\tthis.props.assistiveText\n\t\t);\n\t\tconst labels = assign({}, defaultProps.labels, this.props.labels);\n\t\treturn (\n\t\t\t<li\n\t\t\t\tclassName={classNames(\n\t\t\t\t\t`slds-expression__row`,\n\t\t\t\t\t{ 'slds-expression__row_group': this.props.isSubCondition },\n\t\t\t\t\tthis.props.className\n\t\t\t\t)}\n\t\t\t\tid={this.getId()}\n\t\t\t\tref={(rootNode) => {\n\t\t\t\t\tthis.rootNode = rootNode;\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\t<fieldset>\n\t\t\t\t\t<legend className=\"slds-expression__legend\">\n\t\t\t\t\t\t<span>{labels.label}</span>\n\t\t\t\t\t\t<span className=\"slds-assistive-text\">{assistiveText.title}</span>\n\t\t\t\t\t</legend>\n\t\t\t\t\t<div className=\"slds-grid slds-gutters_xx-small\">\n\t\t\t\t\t\t<div className=\"slds-col\">\n\t\t\t\t\t\t\t<Combobox\n\t\t\t\t\t\t\t\tevents={{\n\t\t\t\t\t\t\t\t\tonSelect: this.props.events.onChangeResource,\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\tid={`${this.getId()}-resource-selector`}\n\t\t\t\t\t\t\t\tmultiple={false}\n\t\t\t\t\t\t\t\tvariant=\"readonly\"\n\t\t\t\t\t\t\t\tlabels={{ label: labels.resource }}\n\t\t\t\t\t\t\t\toptions={this.props.resourcesList}\n\t\t\t\t\t\t\t\tselection={[this.props.resourceSelected]}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div className=\"slds-col slds-grow-none\">\n\t\t\t\t\t\t\t<Combobox\n\t\t\t\t\t\t\t\tevents={{\n\t\t\t\t\t\t\t\t\tonSelect: this.props.events.onChangeOperator,\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\tid={`${this.getId()}-operator-selector`}\n\t\t\t\t\t\t\t\tmultiple={false}\n\t\t\t\t\t\t\t\tvariant=\"readonly\"\n\t\t\t\t\t\t\t\tlabels={{ label: labels.operator }}\n\t\t\t\t\t\t\t\toptions={this.props.operatorsList}\n\t\t\t\t\t\t\t\tselection={[this.props.operatorSelected]}\n\t\t\t\t\t\t\t\tsingleInputDisabled={!this.props.resourceSelected}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div className=\"slds-col\">\n\t\t\t\t\t\t\t<Input\n\t\t\t\t\t\t\t\tid={`${this.getId()}-input`}\n\t\t\t\t\t\t\t\tlabel={labels.value}\n\t\t\t\t\t\t\t\tvalue={this.props.value}\n\t\t\t\t\t\t\t\tonChange={this.props.events.onChangeValue}\n\t\t\t\t\t\t\t\tdisabled={!this.props.resourceSelected}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div className=\"slds-col slds-grow-none\">\n\t\t\t\t\t\t\t<div className=\"slds-form-element\">\n\t\t\t\t\t\t\t\t<span className=\"slds-form-element__label\"> </span>\n\t\t\t\t\t\t\t\t<div className=\"slds-form-element__control\">\n\t\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\t\tid={`${this.getId()}-delete-button`}\n\t\t\t\t\t\t\t\t\t\tvariant=\"outline-brand\"\n\t\t\t\t\t\t\t\t\t\ticonCategory=\"utility\"\n\t\t\t\t\t\t\t\t\t\ticonName=\"delete\"\n\t\t\t\t\t\t\t\t\t\ticonVariant=\"border-filled\"\n\t\t\t\t\t\t\t\t\t\tonClick={this.props.events.onDelete}\n\t\t\t\t\t\t\t\t\t\tassistiveText={{\n\t\t\t\t\t\t\t\t\t\t\ticon: assistiveText.deleteIcon,\n\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\ttitle={labels.deleteCondition}\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t</fieldset>\n\t\t\t</li>\n\t\t);\n\t}\n}\n\nExpressionCondition.displayName = EXPRESSION_CONDITION;\nExpressionCondition.propTypes = propTypes;\nExpressionCondition.defaultProps = defaultProps;\n\nexport default ExpressionCondition;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// Implements the [Expression Formula design pattern](https://lightningdesignsystem.com/components/expression/) in React.\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport assign from 'lodash.assign';\nimport ContentEditable from 'react-contenteditable';\n\n// ### shortid\n// [npmjs.com/package/shortid](https://www.npmjs.com/package/shortid)\n// shortid is a short, non-sequential, url-friendly, unique id generator\nimport shortid from 'shortid';\n\nimport { EXPRESSION_FORMULA } from '../../utilities/constants';\n\nimport Button from '../button';\n\nconst propTypes = {\n\t/**\n\t * **Assistive text for accessibility.**\n\t * * `help`: Assistive text for help icon\n\t */\n\tassistiveText: PropTypes.shape({\n\t\thelp: PropTypes.string,\n\t}),\n\t/**\n\t * HTML id for component.\n\t */\n\tid: PropTypes.string,\n\t/**\n\t * CSS classes to be added to the element with class `.slds-form-element`. Uses `classNames` [API](https://github.com/JedWatson/classnames).\n\t */\n\tclassName: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\t/**\n\t * Callbacks for various expression formula events such as text editor change, check syntax etc\n\t */\n\tevents: PropTypes.shape({\n\t\tonChangeTextEditor: PropTypes.func,\n\t\tonClickHelp: PropTypes.func,\n\t\tonClickCheckSyntax: PropTypes.func,\n\t}),\n\t/**\n\t * **Text labels for internationalization**\n\t * This object is merged with the default props object on every render.\n\t * * `label`: Label for the Expression Formula group.Defaults to \"Formula\"\n\t * * `checkSyntax`: Label for the Check Syntax Button. Defaults to \"Check Syntax\"\n\t * * `textArea`: Label for the `triggerType` selector. Defaults to \"Take Action When\"\n\t */\n\tlabels: PropTypes.shape({\n\t\tlabel: PropTypes.string,\n\t\tcheckSyntax: PropTypes.string,\n\t\ttextArea: PropTypes.string,\n\t}),\n\t/**\n\t * Accepts a single combobox component, to select resource in the expression formula editor\n\t */\n\tresourceCombobox: PropTypes.node,\n\t/**\n\t * Accepts a single combobox component, to select function in the expression formula editor\n\t */\n\tfunctionCombobox: PropTypes.node,\n\t/**\n\t * Accepts a single input component, to enter operator in the expression formula editor\n\t */\n\toperatorInput: PropTypes.node,\n\t/**\n\t * Value for the text editor in expression formula editor\n\t */\n\ttextEditorValue: PropTypes.node,\n};\n\nconst defaultProps = {\n\tassistiveText: {\n\t\thelp: 'Help',\n\t},\n\tlabels: {\n\t\tlabel: 'Formula',\n\t\tcheckSyntax: 'Check Syntax',\n\t\ttextArea: 'Text Area',\n\t},\n};\n/**\n * Expression Formula Component\n */\nclass ExpressionFormula extends React.Component {\n\tconstructor() {\n\t\tsuper();\n\t\tthis.textEditorRef = React.createRef();\n\t\tthis.state = {\n\t\t\ttextEditorValue: 'Compose formula...', // default is set here to preserve functionality if not controlled by props.textEditorValue\n\t\t};\n\t\tthis.generatedId = shortid.generate();\n\t}\n\n\t/**\n\t * Get the Expression Condition's HTML id. Generate a new one if no ID present.\n\t */\n\tgetId() {\n\t\treturn this.props.id || this.generatedId;\n\t}\n\n\thandleTextEditorChange = (event) => {\n\t\tconst textEditorValue = event.target.value;\n\n\t\tif (this.props.textEditorValue === undefined) {\n\t\t\tthis.setState({ textEditorValue });\n\t\t}\n\n\t\tif (this.props.events && this.props.events.onChangeTextEditor) {\n\t\t\tthis.props.events.onChangeTextEditor(event, { textEditorValue });\n\t\t}\n\t};\n\n\trender() {\n\t\tconst assistiveText = assign(\n\t\t\t{},\n\t\t\tdefaultProps.assistiveText,\n\t\t\tthis.props.assistiveText\n\t\t);\n\t\tconst labels = assign({}, defaultProps.labels, this.props.labels);\n\n\t\treturn (\n\t\t\t<React.Fragment>\n\t\t\t\t<div\n\t\t\t\t\tid={this.getId()}\n\t\t\t\t\tclassName={classNames(\n\t\t\t\t\t\t`slds-expression_formula__rte`,\n\t\t\t\t\t\tthis.props.className\n\t\t\t\t\t)}\n\t\t\t\t>\n\t\t\t\t\t<div className=\"slds-form-element\">\n\t\t\t\t\t\t<span className=\"slds-form-element__label\">{labels.label}</span>\n\t\t\t\t\t\t<div className=\"slds-form-element__control\">\n\t\t\t\t\t\t\t<div className=\"slds-rich-text-editor slds-grid slds-grid_vertical slds-nowrap\">\n\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\trole=\"toolbar\"\n\t\t\t\t\t\t\t\t\tclassName=\"slds-rich-text-editor__toolbar slds-shrink-none\"\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<div className=\"slds-rich-text-editor__col slds-rich-text-editor__col_grow\">\n\t\t\t\t\t\t\t\t\t\t{this.props.resourceCombobox}\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t<div className=\"slds-rich-text-editor__col slds-rich-text-editor__col_grow\">\n\t\t\t\t\t\t\t\t\t\t{this.props.functionCombobox}\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t<div className=\"slds-rich-text-editor__col slds-rich-text-editor__col_grow\">\n\t\t\t\t\t\t\t\t\t\t{this.props.operatorInput}\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t<div className=\"slds-rich-text-editor__col\">\n\t\t\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\t\t\tassistiveText={{\n\t\t\t\t\t\t\t\t\t\t\t\ticon: assistiveText.help,\n\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t\tclassName=\"slds-button_icon-container\"\n\t\t\t\t\t\t\t\t\t\t\tid={`${this.getId()}-help-button`}\n\t\t\t\t\t\t\t\t\t\t\tvariant=\"icon\"\n\t\t\t\t\t\t\t\t\t\t\ticonCategory=\"utility\"\n\t\t\t\t\t\t\t\t\t\t\ticonName=\"help\"\n\t\t\t\t\t\t\t\t\t\t\tonClick={this.props.events.onClickHelp}\n\t\t\t\t\t\t\t\t\t\t\ttitle={assistiveText.help}\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t<div className=\"slds-rich-text-editor__textarea slds-grid\">\n\t\t\t\t\t\t\t\t\t<ContentEditable\n\t\t\t\t\t\t\t\t\t\tid={`${this.getId()}-content-editor`}\n\t\t\t\t\t\t\t\t\t\taria-label={this.props.labels.textArea}\n\t\t\t\t\t\t\t\t\t\tclassName=\"slds-rich-text-area__content slds-text-color_weak slds-grow\"\n\t\t\t\t\t\t\t\t\t\tinnerRef={this.textEditorRef}\n\t\t\t\t\t\t\t\t\t\thtml={\n\t\t\t\t\t\t\t\t\t\t\tthis.props.textEditorValue !== undefined\n\t\t\t\t\t\t\t\t\t\t\t\t? this.props.textEditorValue\n\t\t\t\t\t\t\t\t\t\t\t\t: this.state.textEditorValue\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\tonChange={this.handleTextEditorChange}\n\t\t\t\t\t\t\t\t\t\tdisabled={false}\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t\t<div className=\"slds-m-top_small\">\n\t\t\t\t\t<Button\n\t\t\t\t\t\tid={`${this.getId()}-check-syntax-button`}\n\t\t\t\t\t\tvariant=\"neutral\"\n\t\t\t\t\t\tlabel={labels.checkSyntax}\n\t\t\t\t\t\tonClick={this.props.events.onClickCheckSyntax}\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t</React.Fragment>\n\t\t);\n\t}\n}\n\nExpressionFormula.displayName = EXPRESSION_FORMULA;\nExpressionFormula.propTypes = propTypes;\nExpressionFormula.defaultProps = defaultProps;\n\nexport default ExpressionFormula;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// # FileFigure Component\n\n// Implements the [FileFigure design pattern](https://www.lightningdesignsystem.com/components/files/) in React.\n\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\nimport { FILES_FIGURE } from '../../../utilities/constants';\n\nimport Spinner from '../../spinner';\n\n/**\n * A file can have a image, an icon or a loading animation as its thumbnail\n */\nconst FileFigure = (props) => {\n\tif (props.isLoading) {\n\t\treturn (\n\t\t\t<React.Fragment>\n\t\t\t\t<span className=\"slds-assistive-text\">{props.assistiveText.link}</span>\n\t\t\t\t<Spinner\n\t\t\t\t\tsize=\"medium\"\n\t\t\t\t\tvariant=\"base\"\n\t\t\t\t\tassistiveText={{ label: props.assistiveText.loading }}\n\t\t\t\t\tcontainerStyle={{ zIndex: '1' }}\n\t\t\t\t/>\n\t\t\t</React.Fragment>\n\t\t);\n\t}\n\tif (props.image) {\n\t\treturn (\n\t\t\t<React.Fragment>\n\t\t\t\t<span className=\"slds-assistive-text\">{props.assistiveText.link}</span>\n\t\t\t\t<img\n\t\t\t\t\talt={props.assistiveText.image || props.labels.title}\n\t\t\t\t\tsrc={props.image}\n\t\t\t\t/>\n\t\t\t</React.Fragment>\n\t\t);\n\t}\n\treturn (\n\t\t<React.Fragment>\n\t\t\t<span className=\"slds-assistive-text\">{props.assistiveText.link}</span>\n\t\t\t<span\n\t\t\t\tclassName=\"slds-file__icon slds-icon_container\"\n\t\t\t\ttitle={props.labels.title}\n\t\t\t>\n\t\t\t\t{React.cloneElement(props.icon, {\n\t\t\t\t\tsize: null,\n\t\t\t\t})}\n\t\t\t</span>\n\t\t</React.Fragment>\n\t);\n};\n\nFileFigure.displayName = FILES_FIGURE;\n\nFileFigure.propTypes = {\n\tassistiveText: PropTypes.shape({\n\t\timage: PropTypes.string,\n\t}),\n\t/**\n\t * Whether the file figure is loading\n\t */\n\tisLoading: PropTypes.bool,\n\t/**\n\t * Image/Figure for the file\n\t */\n\timage: PropTypes.string,\n\t/**\n\t * Labels for the file figure component\n\t */\n\tlabels: PropTypes.shape({\n\t\ttitle: PropTypes.string.isRequired,\n\t}),\n};\n\nFileFigure.defaultProps = {\n\tisLoading: false,\n};\n\nexport default FileFigure;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// # FileActions Component\n\n// Implements the [FileActions design pattern](https://www.lightningdesignsystem.com/components/files/) in React.\n\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\nimport { FILES_ACTIONS } from '../../../utilities/constants';\nimport Button from '../../button';\nimport Icon from '../../icon';\n\n/**\n * A carousel allows multiple pieces of featured content to occupy an allocated amount of space.\n */\nconst FileActions = (props) => {\n\tconst actions = (\n\t\t<div className=\"slds-file__actions-menu\">\n\t\t\t<div className=\"slds-button-group\" role=\"group\">\n\t\t\t\t{typeof props.onClickDownload === 'function' ? (\n\t\t\t\t\t<Button\n\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\tvariant=\"icon\"\n\t\t\t\t\t\ticonSize=\"x-small\"\n\t\t\t\t\t\tonClick={props.onClickDownload}\n\t\t\t\t\t\ttitle=\"Download\"\n\t\t\t\t\t\tclassName=\"slds-button_icon-inverse\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<Icon\n\t\t\t\t\t\t\tassistiveText={{ label: props.assistiveText.download }}\n\t\t\t\t\t\t\tcategory=\"utility\"\n\t\t\t\t\t\t\tname=\"download\"\n\t\t\t\t\t\t\tsize=\"xx-small\"\n\t\t\t\t\t\t\tinverse={props.hasNoVisibleTitle}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</Button>\n\t\t\t\t) : null}\n\t\t\t\t{props.moreActionsDropdown\n\t\t\t\t\t? React.cloneElement(props.moreActionsDropdown, {\n\t\t\t\t\t\t\tassistiveText: { icon: props.assistiveText.moreActions },\n\t\t\t\t\t\t\toverlay: false,\n\t\t\t\t\t\t\tbuttonVariant: 'icon',\n\t\t\t\t\t\t\tbuttonInverse: props.hasNoVisibleTitle,\n\t\t\t\t\t\t\tclassName: 'dsr-file__more-actions-dropdown ',\n\t\t\t\t\t\t\ttriggerClassName: 'dsr-file__more-actions',\n\t\t\t\t\t })\n\t\t\t\t\t: null}\n\t\t\t</div>\n\t\t</div>\n\t);\n\tif (\n\t\ttypeof props.onClickDownload === 'function' ||\n\t\tprops.moreActionsDropdown\n\t) {\n\t\tif (!props.hasNoVisibleTitle) {\n\t\t\treturn actions;\n\t\t}\n\t\treturn (\n\t\t\t<div className=\"slds-file__title slds-file__title_scrim\">{actions}</div>\n\t\t);\n\t}\n\treturn null;\n};\n\nFileActions.displayName = FILES_ACTIONS;\n\nFileActions.propTypes = {\n\t/**\n\t * Action to be done on clicking download button; doesnt show download button if empty\n\t */\n\tonClickDownload: PropTypes.func,\n\t/**\n\t * Dropdown for More Actions; doesn't show More actions button if empty\n\t */\n\tmoreActionsDropdown: PropTypes.node,\n\t/**\n\t * Labels for the file component\n\t */\n\thasNoVisibleTitle: PropTypes.bool,\n};\n\nexport default FileActions;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// Implements the [Files design pattern](https://lightningdesignsystem.com/components/files/) in React.\n// Based on SLDS v2.4.0\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\n\n// ### shortid\n// [npmjs.com/package/shortid](https://www.npmjs.com/package/shortid)\n// shortid is a short, non-sequential, url-friendly, unique id generator\nimport shortid from 'shortid';\nimport { FILES_FILE } from '../../utilities/constants';\n\nimport FileFigure from './private/file-figure';\nimport FileActions from './private/file-actions';\n\nconst displayName = FILES_FILE;\n\nconst propTypes = {\n\t/**\n\t * **Assistive text for accessibility**\n\t * * download - description for the download button if present\n\t * * image - description for the file image\n\t * * link - description for the file link\n\t * * loading - description for the loading spinner if present\n\t * * moreActions - description for the more actions dropdown if present\n\t */\n\tassistiveText: PropTypes.shape({\n\t\tdownload: PropTypes.string,\n\t\timage: PropTypes.string,\n\t\tlink: PropTypes.string,\n\t\tloading: PropTypes.string,\n\t\tmoreActions: PropTypes.string,\n\t}),\n\t/**\n\t * CSS class names to be added to the container element. `array`, `object`, or `string` are accepted.\n\t */\n\tclassName: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\t/**\n\t * Controls different cropping aspect ratios for the component\n\t */\n\tcrop: PropTypes.oneOf(['16-by-9', '4-by-3', '1-by-1']),\n\t/**\n\t * HTML id for component.\n\t */\n\tid: PropTypes.string,\n\t/**\n\t * Action to be done on clicking download button; doesn't show download button if empty\n\t */\n\tonClickDownload: PropTypes.func,\n\t/**\n\t * Function that is called when image is clicked; can be used instead of href for more advanced event handling\n\t */\n\tonClickImage: PropTypes.func,\n\t/**\n\t * Dropdown for more actions button; doesn't show more actions button if empty\n\t */\n\tmoreActionsDropdown: PropTypes.node,\n\t/**\n\t * Icon associated with the file. Accepts an Icon component\n\t */\n\ticon: PropTypes.node,\n\t/**\n\t * Icon to be shown in top left corner of File component. Accepts an Icon component\n\t */\n\texternalIcon: PropTypes.node,\n\t/**\n\t * Link to thumbnail image\n\t */\n\timage: PropTypes.string,\n\t/**\n\t * Controls whether file preview is loading\n\t */\n\tisLoading: PropTypes.bool,\n\t/**\n\t * Href attribute for image\n\t */\n\thref: PropTypes.string,\n\t/**\n\t * Labels for the File Component\n\t * * image - title for the file. Required.\n\t */\n\tlabels: PropTypes.shape({\n\t\ttitle: PropTypes.string.isRequired,\n\t}),\n\t/**\n\t * Controls whether the file's title should be visible\n\t */\n\thasNoVisibleTitle: PropTypes.bool,\n};\n\nconst defaultProps = {\n\tassistiveText: {\n\t\tdownload: 'download',\n\t\tlink: 'Preview:',\n\t\tloading: 'loading',\n\t\tmoreActions: 'more actions',\n\t},\n\tcrop: '16-by-9',\n\thref: 'javascript:void(0);',\n\tisLoading: false,\n\thasNoVisibleTitle: false,\n};\n/**\n * File is a component that represents content uploaded as an attachment.\n */\nclass File extends React.Component {\n\tstatic injectMoreActionsStyles() {\n\t\treturn (\n\t\t\t<style>{`\n\t\t\t\t\t.dsr-file__more-actions-dropdown ul.dropdown__list li.slds-dropdown__item > a:before\n\t\t\t\t\t{ background: none; }\n\t\t\t\t\t.dsr-file__more-actions-dropdown ul.dropdown__list li.slds-dropdown__item > a:after\n\t\t\t\t\t{ background: none; }\n\t\t\t\t\t.dsr-file__more-actions > button:first-child\n\t\t\t\t\t{ border-radius: 0 0.25rem 0.25rem 0!important;}\n\t\t\t`}</style>\n\t\t);\n\t}\n\n\t// eslint-disable-next-line camelcase, react/sort-comp\n\tUNSAFE_componentWillMount() {\n\t\tthis.generatedId = shortid.generate();\n\t}\n\n\t/**\n\t * Get the File's HTML id. Generate a new one if no ID present.\n\t */\n\tgetId() {\n\t\treturn this.props.id || this.generatedId;\n\t}\n\n\trender() {\n\t\tconst assistiveText = {\n\t\t\t...defaultProps.assistiveText,\n\t\t\t...this.props.assistiveText,\n\t\t};\n\n\t\treturn (\n\t\t\t<div\n\t\t\t\tid={this.getId()}\n\t\t\t\tclassName={classNames(\n\t\t\t\t\t'slds-file',\n\t\t\t\t\t'slds-file_card',\n\t\t\t\t\t!this.props.hasNoVisibleTitle ? 'slds-has-title' : null,\n\t\t\t\t\tthis.props.className\n\t\t\t\t)}\n\t\t\t>\n\t\t\t\t<figure>\n\t\t\t\t\t<a\n\t\t\t\t\t\thref={this.props.href}\n\t\t\t\t\t\tclassName={classNames(\n\t\t\t\t\t\t\t'slds-file__crop',\n\t\t\t\t\t\t\tthis.props.crop ? `slds-file__crop_${this.props.crop}` : null\n\t\t\t\t\t\t)}\n\t\t\t\t\t\tonClick={this.props.onClickImage}\n\t\t\t\t\t>\n\t\t\t\t\t\t<FileFigure\n\t\t\t\t\t\t\tassistiveText={assistiveText}\n\t\t\t\t\t\t\tlabels={{\n\t\t\t\t\t\t\t\ttitle: this.props.labels.title,\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\tisLoading={this.props.isLoading}\n\t\t\t\t\t\t\timage={this.props.image}\n\t\t\t\t\t\t\ticon={this.props.icon}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</a>\n\t\t\t\t\t{!this.props.hasNoVisibleTitle ? (\n\t\t\t\t\t\t<figcaption className=\"slds-file__title slds-file__title_card\">\n\t\t\t\t\t\t\t<div className=\"slds-media__figure slds-line-height_reset\">\n\t\t\t\t\t\t\t\t{this.props.icon\n\t\t\t\t\t\t\t\t\t? React.cloneElement(this.props.icon, {\n\t\t\t\t\t\t\t\t\t\t\tsize: 'x-small',\n\t\t\t\t\t\t\t\t\t })\n\t\t\t\t\t\t\t\t\t: null}\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<div className=\"slds-media__body\">\n\t\t\t\t\t\t\t\t<span\n\t\t\t\t\t\t\t\t\tclassName=\"slds-file__text slds-truncate\"\n\t\t\t\t\t\t\t\t\ttitle={this.props.labels.title}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{this.props.labels.title}\n\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</figcaption>\n\t\t\t\t\t) : null}\n\t\t\t\t</figure>\n\t\t\t\t{this.props.externalIcon ? (\n\t\t\t\t\t<div className=\"slds-file__external-icon\">\n\t\t\t\t\t\t{React.cloneElement(this.props.externalIcon, {\n\t\t\t\t\t\t\tcontainerClassName: 'slds-file__icon slds-icon_container',\n\t\t\t\t\t\t})}\n\t\t\t\t\t</div>\n\t\t\t\t) : null}\n\t\t\t\t{this.props.moreActionsDropdown ? File.injectMoreActionsStyles() : null}\n\t\t\t\t<FileActions\n\t\t\t\t\tassistiveText={assistiveText}\n\t\t\t\t\thasNoVisibleTitle={this.props.hasNoVisibleTitle}\n\t\t\t\t\tonClickDownload={this.props.onClickDownload}\n\t\t\t\t\tmoreActionsDropdown={this.props.moreActionsDropdown}\n\t\t\t\t/>\n\t\t\t</div>\n\t\t);\n\t}\n}\n\nFile.displayName = displayName;\nFile.propTypes = propTypes;\nFile.defaultProps = defaultProps;\n\nexport default File;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// Implements the [Files design pattern](https://lightningdesignsystem.com/components/files/) in React.\n// Based on SLDS v2.4.0\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\n\n// ### shortid\n// [npmjs.com/package/shortid](https://www.npmjs.com/package/shortid)\n// shortid is a short, non-sequential, url-friendly, unique id generator\nimport shortid from 'shortid';\nimport { FILES } from '../../utilities/constants';\n\nconst displayName = FILES;\n\nconst propTypes = {\n\t/**\n\t * CSS class names to be added to the container element. `array`, `object`, or `string` are accepted.\n\t */\n\tclassName: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\t/**\n\t * HTML id for component.\n\t */\n\tid: PropTypes.string,\n\t/**\n\t * Crop ratio for the file preview image\n\t */\n\tcrop: PropTypes.oneOf(['16-by-9', '4-by-3', '1-by-1']),\n\t/**\n\t * Column class names to be added each file in the grid\n\t */\n\tcolumnClassName: PropTypes.string,\n};\n\nconst defaultProps = {\n\tcrop: '4-by-3',\n};\n\n/**\n * Files is a component that wraps multiple file components that represent an attachment\n */\nclass Files extends React.Component {\n\t// eslint-disable-next-line camelcase, react/sort-comp\n\tUNSAFE_componentWillMount() {\n\t\tthis.generatedId = shortid.generate();\n\t}\n\n\t/**\n\t * Get the File's HTML id. Generate a new one if no ID present.\n\t */\n\tgetId() {\n\t\treturn this.props.id || this.generatedId;\n\t}\n\n\trender() {\n\t\tconst files = React.Children.map(this.props.children, (option) => (\n\t\t\t<li\n\t\t\t\tclassName={classNames(\n\t\t\t\t\t`slds-p-horizontal_xx-small slds-size_1-of-3 slds-medium-size_1-of-4`,\n\t\t\t\t\tthis.props.columnClassName\n\t\t\t\t)}\n\t\t\t>\n\t\t\t\t{React.cloneElement(option, {\n\t\t\t\t\tcrop: option.props.crop ? option.props.crop : this.props.crop,\n\t\t\t\t})}\n\t\t\t</li>\n\t\t));\n\n\t\treturn (\n\t\t\t<ul\n\t\t\t\tclassName={classNames(\n\t\t\t\t\t'slds-grid slds-grid_pull-padded',\n\t\t\t\t\tthis.props.className\n\t\t\t\t)}\n\t\t\t\tid={this.getId()}\n\t\t\t>\n\t\t\t\t{files}\n\t\t\t</ul>\n\t\t);\n\t}\n}\n\nFiles.displayName = displayName;\nFiles.propTypes = propTypes;\nFiles.defaultProps = defaultProps;\n\nexport default Files;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// Implements the [Files design pattern](https://lightningdesignsystem.com/components/files/) in React.\n// Based on SLDS v2.4.0\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\n\n// ### shortid\n// [npmjs.com/package/shortid](https://www.npmjs.com/package/shortid)\n// shortid is a short, non-sequential, url-friendly, unique id generator\nimport shortid from 'shortid';\nimport { FILES_MORE } from '../../utilities/constants';\n\nconst displayName = FILES_MORE;\n\nconst propTypes = {\n\t/**\n\t * **Assistive text for accessibility**\n\t * * count - description for the more files count\n\t * * image - description for the image\n\t * * link - description for the more files link\n\t */\n\tassistiveText: PropTypes.shape({\n\t\tcount: PropTypes.string,\n\t\timage: PropTypes.string,\n\t\tlink: PropTypes.string,\n\t}),\n\t/**\n\t * CSS class names to be added to the container element. `array`, `object`, or `string` are accepted.\n\t */\n\tclassName: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\t/**\n\t * HTML id for component.\n\t */\n\tid: PropTypes.string,\n\t/**\n\t * Controls different cropping aspect ratios for the component\n\t */\n\tcrop: PropTypes.oneOf(['16-by-9', '4-by-3', '1-by-1']),\n\t/**\n\t * Link to thumbnail image\n\t */\n\timage: PropTypes.string,\n\t/**\n\t * Controls the number of additional files that is displayed\n\t */\n\tcount: PropTypes.string,\n\t/**\n\t * Href attribute for image\n\t */\n\thref: PropTypes.string,\n};\n\nconst defaultProps = {\n\tassistiveText: {\n\t\tcount: 'more files',\n\t\timage: 'Show more files',\n\t\tlink: 'Preview:',\n\t},\n\tcrop: '16-by-9',\n\thref: 'javascript:void(0);',\n};\n\n/**\n * MoreFiles is a component that represents a number of file contents uploaded as an attachment.\n */\nclass MoreFiles extends React.Component {\n\t// eslint-disable-next-line camelcase, react/sort-comp\n\tUNSAFE_componentWillMount() {\n\t\tthis.generatedId = shortid.generate();\n\t}\n\n\tgetId() {\n\t\treturn this.props.id || this.generatedId;\n\t}\n\n\trender() {\n\t\tconst assistiveText = {\n\t\t\t...defaultProps.assistiveText,\n\t\t\t...this.props.assistiveText,\n\t\t};\n\n\t\treturn (\n\t\t\t<div\n\t\t\t\tclassName={classNames(`slds-file slds-file_card`, this.props.className)}\n\t\t\t\tid={this.getId()}\n\t\t\t>\n\t\t\t\t<figure>\n\t\t\t\t\t<a\n\t\t\t\t\t\thref={this.props.href}\n\t\t\t\t\t\tclassName={classNames(\n\t\t\t\t\t\t\t'slds-file__crop',\n\t\t\t\t\t\t\tthis.props.crop ? `slds-file__crop_${this.props.crop}` : null\n\t\t\t\t\t\t)}\n\t\t\t\t\t>\n\t\t\t\t\t\t<div className=\"slds-file_overlay\" />\n\t\t\t\t\t\t<span className=\"slds-assistive-text\">{assistiveText.link}</span>\n\t\t\t\t\t\t<img src={this.props.image} alt={assistiveText.image} />\n\t\t\t\t\t</a>\n\t\t\t\t\t<figcaption className=\"slds-file__title slds-file__title_overlay slds-align_absolute-center slds-text-heading_large\">\n\t\t\t\t\t\t<div className=\"slds-media slds-media_small slds-media_center\">\n\t\t\t\t\t\t\t<div className=\"slds-media__figure slds-line-height_reset\" />\n\t\t\t\t\t\t\t<div className=\"slds-media__body\">\n\t\t\t\t\t\t\t\t<span\n\t\t\t\t\t\t\t\t\tclassName=\"slds-file__text slds-truncate\"\n\t\t\t\t\t\t\t\t\ttitle={this.props.count}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<span>{this.props.count}</span>\n\t\t\t\t\t\t\t\t\t<span className=\"slds-assistive-text\">\n\t\t\t\t\t\t\t\t\t\t{assistiveText.count}\n\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</figcaption>\n\t\t\t\t</figure>\n\t\t\t</div>\n\t\t);\n\t}\n}\n\nMoreFiles.displayName = displayName;\nMoreFiles.propTypes = propTypes;\nMoreFiles.defaultProps = defaultProps;\n\nexport default MoreFiles;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n/* eslint-disable no-script-url */\n\n// # Filter\n\n// Implements part of the [Panel design pattern](https://www.lightningdesignsystem.com/components/panels) in React.\n// Based on SLDS v2.2.0-rc.1\n\n// ## Dependencies\n\n// ### React\nimport React from 'react';\n\nimport PropTypes from 'prop-types';\n\n// ### assign\nimport assign from 'lodash.assign';\n\n// ### classNames\nimport classNames from 'classnames';\n\n// ### shortid\n// [npmjs.com/package/shortid](https://www.npmjs.com/package/shortid)\n// shortid is a short, non-sequential, url-friendly, unique id generator\nimport shortid from 'shortid';\n\nimport Button from '../button';\nimport Popover from '../popover';\n\n// ## Constants\nimport { FILTER } from '../../utilities/constants';\n\n/**\n * A Filter is a popover with custom trigger. It can be used by [Panel Filtering](/components/panels/). Menus within a Filter Popover will need to not have \"portal mounts\" and be inline.\n */\nclass Filter extends React.Component {\n\tstatic displayName = FILTER;\n\n\tstatic propTypes = {\n\t\t/**\n\t\t * Aligns the popover with the respective side of the trigger. That is `left` will place the `Popover` to the left of the Filter.\n\t\t */\n\t\talign: PropTypes.oneOf(['left', 'right']),\n\t\t/**\n\t\t * **Assistive text for accessibility**\n\t\t * * `removeFilter`: Assistive text for removing a filter. The default is `Remove Filter: this.props.property this.props.predicate`.\n\t\t * * `editFilter`: Assistive text for changing a filter.\n\t\t * * `editFilterHeading`: Assistive text for Popover heading.\n\t\t */\n\t\tassistiveText: PropTypes.shape({\n\t\t\teditFilter: PropTypes.string,\n\t\t\teditFilterHeading: PropTypes.string,\n\t\t\tremoveFilter: PropTypes.string,\n\t\t}),\n\t\t/**\n\t\t * Contents of popover. That is the dropdowns and inputs that set the filter criteria.\n\t\t */\n\t\tchildren: PropTypes.node,\n\t\t/**\n\t\t * Custom CSS classes for `slds-filters__item` node. Uses `classNames` [API](https://github.com/JedWatson/classnames).\n\t\t */\n\t\tclassName: PropTypes.oneOfType([\n\t\t\tPropTypes.array,\n\t\t\tPropTypes.object,\n\t\t\tPropTypes.string,\n\t\t]),\n\t\t/**\n\t\t * Applies error state styling. Per filter error messages are outside this components.\n\t\t */\n\t\tisError: PropTypes.bool,\n\t\t/**\n\t\t * A unique ID is needed in order to support keyboard navigation, ARIA support, and connect the dropdown to the triggering button. An `id` will be generated if none is supplied.\n\t\t */\n\t\tid: PropTypes.string,\n\t\t/**\n\t\t * If true, the filter will not display an editing popover when clicked.\n\t\t */\n\t\tisLocked: PropTypes.bool,\n\t\t/**\n\t\t * Applies new filter styling.\n\t\t */\n\t\tisNew: PropTypes.bool,\n\t\t/**\n\t\t * If true, the filter will not include a remove button.\n\t\t */\n\t\tisPermanent: PropTypes.bool,\n\t\t/**\n\t\t * Will be triggered when Done within the Popover is clicked. This is the place to update the filter props displayed. Callback will recieve parameters: `clickEvent, { id }`. An index into your store may be a good setting for `id`, so that it will be passed back here.\n\t\t */\n\t\tonChange: PropTypes.func,\n\t\t/**\n\t\t * Will be triggered when \"Remove Filter\" button is clicked. Callback will recieve parameters: `clickEvent, { id }`. An index into your store may be a good setting for `id`, so that it will be passed back here.\n\t\t */\n\t\tonRemove: PropTypes.func,\n\t\t/**\n\t\t * Will be triggered when Filter is clicked. This is the place to close/open popover if a custom popover is passed in\n\t\t */\n\t\tonClick: PropTypes.func,\n\t\t/**\n\t\t * A `Popover` component. The props from this popover will be merged and override any default props. This also allows a Filter's Popover dialog to be a controlled component. _Tested with Mocha framework._\n\t\t */\n\t\tpopover: PropTypes.node,\n\t\t/**\n\t\t * The criteria you are filtering for. For instance, if \"Hair Color is PURPLE\" is your filter, \"is PURPLE\" is your filter predicate.\n\t\t */\n\t\tpredicate: PropTypes.node,\n\t\t/**\n\t\t * The property you are filtering. For instance, if \"Hair Color is PURPLE\" is your filter, \"Hair Color\" is your filter property.\n\t\t */\n\t\tproperty: PropTypes.node,\n\t};\n\n\tstatic defaultProps = {\n\t\talign: 'left',\n\t\tassistiveText: {\n\t\t\teditFilter: 'Edit filter:',\n\t\t\teditFilterHeading: 'Choose filter criteria',\n\t\t},\n\t\tpredicate: 'New Filter',\n\t};\n\n\tstate = {\n\t\tpopoverIsOpen: this.props.popover ? this.props.popover.props.isOpen : false,\n\t};\n\n\tconstructor(props) {\n\t\tsuper(props);\n\n\t\tthis.generatedId = shortid.generate();\n\t}\n\n\tgetId = () => this.props.id || this.generatedId;\n\n\tgetCustomPopoverProps = ({ assistiveText }) => {\n\t\t/*\n\t\t * Generate the popover props based on passed in popover props. Using the default behavior if not provided by passed in popover\n\t\t */\n\t\tconst popoverBody = (\n\t\t\t<div>\n\t\t\t\t<h4\n\t\t\t\t\tclassName=\"slds-assistive-text\"\n\t\t\t\t\tid={`${this.getId()}-popover-heading`}\n\t\t\t\t>\n\t\t\t\t\t{assistiveText.editFilterHeading}\n\t\t\t\t</h4>\n\t\t\t\t{this.props.children}\n\t\t\t\t<div className=\"slds-m-top_small slds-text-align_right\">\n\t\t\t\t\t<Button\n\t\t\t\t\t\tclassName=\"slds-col_bump-left\"\n\t\t\t\t\t\tlabel=\"Done\"\n\t\t\t\t\t\tonClick={this.handleChange}\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t);\n\n\t\tconst defaultPopoverProps = {\n\t\t\tariaLabelledby: `${this.getId()}-popover-heading`,\n\t\t\talign: this.props.align,\n\t\t\tbody: popoverBody,\n\t\t\theading: '',\n\t\t\tid: this.getId(),\n\t\t\tisOpen: this.state.popoverIsOpen,\n\t\t\t// MAGIC NUMBERS - REMOVE/REDESIGN WHEN DESIGN FOR RIGHT-ALIGNED FILTERS ARE ADDED TO SLDS\n\t\t\toffset: this.props.align === 'right' ? '0px -35px' : undefined,\n\t\t\tonClose: this.handleClose,\n\t\t\tonRequestClose: this.handleClose,\n\t\t\tposition: 'overflowBoundaryElement',\n\t\t\ttriggerClassName: 'slds-grow',\n\t\t};\n\n\t\t/* Mixin passed popover's props if there is any to override the default popover props */\n\t\tconst popoverProps = assign(\n\t\t\tdefaultPopoverProps,\n\t\t\tthis.props.popover ? this.props.popover.props : {}\n\t\t);\n\t\t// eslint-disable-next-line fp/no-delete\n\t\tdelete popoverProps.children;\n\t\treturn popoverProps;\n\t};\n\n\thandleFilterClick = () => {\n\t\tthis.setState({ popoverIsOpen: true });\n\n\t\tif (this.props.onClick) {\n\t\t\tthis.props.onClick();\n\t\t}\n\t};\n\n\thandleClose = () => {\n\t\tthis.setState({ popoverIsOpen: false });\n\t};\n\n\thandleChange = (event) => {\n\t\tthis.setState({ popoverIsOpen: false });\n\n\t\tif (this.props.onChange) {\n\t\t\tthis.props.onChange(event, { id: this.getId() });\n\t\t}\n\t};\n\n\thandleRemove = (event) => {\n\t\tif (this.props.onRemove) {\n\t\t\tthis.props.onRemove(event, { id: this.getId() });\n\t\t}\n\t};\n\n\trender() {\n\t\t/* Remove at next breaking change */\n\t\tconst assistiveText = {\n\t\t\teditFilter:\n\t\t\t\tthis.props.assistiveTextEditFilter || // eslint-disable-line react/prop-types\n\t\t\t\tthis.props.assistiveText.editFilter,\n\t\t\teditFilterHeading:\n\t\t\t\tthis.props.assistiveTextEditFilterHeading || // eslint-disable-line react/prop-types\n\t\t\t\tthis.props.assistiveText.editFilterHeading,\n\t\t\tremoveFilter:\n\t\t\t\tthis.props.assistiveTextRemoveFilter || // eslint-disable-line react/prop-types\n\t\t\t\tthis.props.assistiveText.removeFilter ||\n\t\t\t\t`Remove Filter: ${this.props.property} ${this.props.predicate}`,\n\t\t};\n\n\t\t/* TODO: Button wrapper for property and predictate should be transitioned to `Button` component. `Button` needs to take custom children first though. */\n\t\tconst popoverProps = this.getCustomPopoverProps({ assistiveText });\n\t\treturn (\n\t\t\t<div\n\t\t\t\tclassName={classNames(\n\t\t\t\t\t'slds-filters__item',\n\t\t\t\t\t'slds-grid',\n\t\t\t\t\t'slds-grid_vertical-align-center',\n\t\t\t\t\t{\n\t\t\t\t\t\t'slds-is-locked': this.props.isLocked,\n\t\t\t\t\t\t'slds-is-new': this.props.isNew,\n\t\t\t\t\t\t'slds-has-error': this.props.isError,\n\t\t\t\t\t},\n\t\t\t\t\tthis.props.className\n\t\t\t\t)}\n\t\t\t>\n\t\t\t\t{!this.props.isLocked && (this.props.children || this.props.popover) ? (\n\t\t\t\t\t<Popover {...popoverProps} silenceDeprecatedPropertyWarning>\n\t\t\t\t\t\t<button\n\t\t\t\t\t\t\tclassName=\"slds-button_reset slds-grow slds-has-blur-focus\"\n\t\t\t\t\t\t\tonClick={this.handleFilterClick}\n\t\t\t\t\t\t\taria-describedby={\n\t\t\t\t\t\t\t\tthis.props.isError ? `${this.getId()}-error` : undefined\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<span className=\"slds-assistive-text\">\n\t\t\t\t\t\t\t\t{assistiveText.editFilter}\n\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t{this.props.property ? (\n\t\t\t\t\t\t\t\t<span className=\"slds-show slds-text-body_small\">\n\t\t\t\t\t\t\t\t\t{this.props.property}\n\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t) : null}\n\t\t\t\t\t\t\t<span className=\"slds-show\">{this.props.predicate}</span>\n\t\t\t\t\t\t</button>\n\t\t\t\t\t</Popover>\n\t\t\t\t) : (\n\t\t\t\t\t<button\n\t\t\t\t\t\taria-describedby={\n\t\t\t\t\t\t\tthis.props.isError ? `${this.getId()}-error` : undefined\n\t\t\t\t\t\t}\n\t\t\t\t\t\tclassName=\"slds-button_reset slds-grow slds-has-blur-focus\"\n\t\t\t\t\t\tdisabled\n\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<span className=\"slds-show slds-text-body_small\">\n\t\t\t\t\t\t\t{this.props.property}\n\t\t\t\t\t\t</span>\n\t\t\t\t\t\t<span className=\"slds-show\">{this.props.predicate}</span>\n\t\t\t\t\t</button>\n\t\t\t\t)}\n\t\t\t\t{\n\t\t\t\t\t// Remove button\n\t\t\t\t\t!this.props.isPermanent && !this.props.isLocked ? (\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tassistiveText={{ icon: assistiveText.removeFilter }}\n\t\t\t\t\t\t\thint\n\t\t\t\t\t\t\ticonCategory=\"utility\"\n\t\t\t\t\t\t\ticonName=\"delete\"\n\t\t\t\t\t\t\ticonSize=\"small\"\n\t\t\t\t\t\t\ticonVariant=\"bare\"\n\t\t\t\t\t\t\tonClick={this.handleRemove}\n\t\t\t\t\t\t\ttitle={assistiveText.removeFilter}\n\t\t\t\t\t\t\tvariant=\"icon\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t) : null\n\t\t\t\t}\n\t\t\t</div>\n\t\t);\n\t}\n}\n\nexport default Filter;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n/* eslint-disable import/no-mutable-exports */\n\nimport componentIsDeprecated from '../../utilities/warning/component-is-deprecated';\nimport deprecatedProperty from '../../utilities/warning/deprecated-property';\nimport getComponentDocFn from '../../utilities/get-component-doc';\nimport sunsetProperty from '../../utilities/warning/sunset-property';\n\n// ## Constants\nimport {\n\tGLOBAL_HEADER_BUTTON,\n\tGLOBAL_HEADER_DROPDOWN,\n\tGLOBAL_HEADER_PROFILE,\n} from '../../utilities/constants';\n\nlet checkProps = function checkPropsFunction() {};\n\nif (process.env.NODE_ENV !== 'production') {\n\tcheckProps = function checkPropsFunction(COMPONENT, props, jsonDoc) {\n\t\tif (\n\t\t\tCOMPONENT === GLOBAL_HEADER_BUTTON ||\n\t\t\tCOMPONENT === GLOBAL_HEADER_DROPDOWN\n\t\t) {\n\t\t\tcomponentIsDeprecated(\n\t\t\t\tCOMPONENT,\n\t\t\t\tprops,\n\t\t\t\t`${COMPONENT} has been deprecated in favor of more-specific global header subcomponents. Please see docs for updated examples.`\n\t\t\t);\n\t\t}\n\n\t\tif (COMPONENT === GLOBAL_HEADER_PROFILE) {\n\t\t\tconst popoverExtraMessage =\n\t\t\t\t'Use the `popover` attribute to provide a `Popover` component with content inside the `body` prop instead.';\n\n\t\t\tsunsetProperty(COMPONENT, props.align, 'align');\n\n\t\t\tsunsetProperty(\n\t\t\t\tCOMPONENT,\n\t\t\t\tprops.children,\n\t\t\t\t'children',\n\t\t\t\tpopoverExtraMessage\n\t\t\t);\n\n\t\t\tsunsetProperty(COMPONENT, props.nubbinPosition, 'nubbinPosition');\n\n\t\t\tsunsetProperty(COMPONENT, props.offset, 'offset');\n\n\t\t\tsunsetProperty(COMPONENT, props.onSelect, 'onSelect');\n\n\t\t\tsunsetProperty(COMPONENT, props.options, 'options', popoverExtraMessage);\n\t\t}\n\n\t\tconst createDocUrl = getComponentDocFn(jsonDoc);\n\n\t\tdeprecatedProperty(\n\t\t\tCOMPONENT,\n\t\t\tprops.skipToContentAssistiveText,\n\t\t\t'skipToContentAssistiveText',\n\t\t\t\"assistiveText['skipToContent']\",\n\t\t\tcreateDocUrl('assistiveText')\n\t\t);\n\t\tdeprecatedProperty(\n\t\t\tCOMPONENT,\n\t\t\tprops.skipToNavAssistiveText,\n\t\t\t'skipToNavAssistiveText',\n\t\t\t\"assistiveText['skipToNav']\",\n\t\t\tcreateDocUrl('assistiveText')\n\t\t);\n\t};\n}\n\nexport default checkProps;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// # Global Header Component\n\n// Implements the [Global Header design pattern](https://www.lightningdesignsystem.com/components/global-header) in React.\n// Based on SLDS v2.1.0-rc.2\n\n// ## Dependencies\n\n// ### React\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\n// This component's `checkProps` which issues warnings to developers about properties when in development mode (similar to React's built in development tools)\nimport checkProps from './check-props';\nimport componentDoc from './component.json';\n\n// ### Event Helpers\nimport EventUtil from '../../utilities/event';\n\n// ## Constants\nimport {\n\tGLOBAL_HEADER,\n\tGLOBAL_HEADER_FAVORITES,\n\tGLOBAL_HEADER_HELP,\n\tGLOBAL_HEADER_NOTIFICATIONS,\n\tGLOBAL_HEADER_PROFILE,\n\tGLOBAL_HEADER_SEARCH,\n\tGLOBAL_HEADER_SETUP,\n\tGLOBAL_HEADER_TASK,\n\tGLOBAL_HEADER_TOOL,\n} from '../../utilities/constants';\n\nconst defaultProps = {\n\tassistiveText: {\n\t\tskipToNav: 'Skip to Navigation',\n\t\tskipToContent: 'Skip to Main Content',\n\t},\n\tlogoSrc: '/assets/images/logo-noname.svg',\n};\n\n/**\n * The global header is the anchor for the Salesforce platform and spans all other parts of the UI. It accepts children to define the items displayed within.\n *\n * Example:\n * ```\n * <SLDSGlobalHeader>\n * <SLDSGlobalHeaderSearch />\n * <SLDSGlobalHeaderButton />\n * <SLDSGlobalHeaderDropdown />\n * <SLDSGlobalHeaderDropdown />\n * <SLDSGlobalHeaderProfile />\n * </SLDSGlobalHeader>\n * ```\n */\nclass GlobalHeader extends React.Component {\n\tstatic displayName = GLOBAL_HEADER;\n\n\tstatic propTypes = {\n\t\t/**\n\t\t * **Assistive text for accessibility.**\n\t\t * This object is merged with the default props object on every render.\n\t\t * * `skipToNav`: The localized text that will be read back for the \"Skip to Navigation\" accessibility link.\n\t\t * * `skipToContent`: The localized text that will be read back for the \"Skip to Main Content\" accessibility link.\n\t\t */\n\t\tassistiveText: PropTypes.shape({\n\t\t\tskipToNav: PropTypes.string,\n\t\t\tskipToContent: PropTypes.string,\n\t\t}),\n\t\t/**\n\t\t * See the component description, this accepts some combination of `SLDSGlobalHeaderSearch`, `SLDSGlobalHeaderButton`, `SLDSGlobalHeaderDropdown`, and `SLDSGlobalHeaderProfile` components.\n\t\t */\n\t\tchildren: PropTypes.node,\n\t\t/**\n\t\t * The Salesforce logo to display in the header.\n\t\t */\n\t\tlogoSrc: PropTypes.string,\n\t\t/**\n\t\t * Pass in the Global Navigation Bar component\n\t\t */\n\t\tnavigation: PropTypes.node,\n\t\t/**\n\t\t * Required for accessibility. Should jump the user to the primary content area.\n\t\t */\n\t\tonSkipToContent: PropTypes.func,\n\t\t/**\n\t\t * Required for accessibility. Should jump the user to the primary navigation.\n\t\t */\n\t\tonSkipToNav: PropTypes.func,\n\t};\n\n\tstatic defaultProps = defaultProps;\n\n\tconstructor(props) {\n\t\tsuper(props);\n\n\t\tcheckProps(GLOBAL_HEADER, props, componentDoc);\n\t}\n\n\thandleSkipToContent = (e) => {\n\t\tEventUtil.trap(e);\n\t\tthis.props.onSkipToContent(e);\n\t};\n\n\thandleSkipToNav = (e) => {\n\t\tEventUtil.trap(e);\n\t\tthis.props.onSkipToNav(e);\n\t};\n\n\trender() {\n\t\tconst assistiveText = {\n\t\t\t...defaultProps.assistiveText,\n\t\t\t...this.props.assistiveText,\n\t\t};\n\t\tlet actions = {\n\t\t\t[GLOBAL_HEADER_FAVORITES]: [],\n\t\t\t[GLOBAL_HEADER_HELP]: [],\n\t\t\t[GLOBAL_HEADER_NOTIFICATIONS]: [],\n\t\t\t[GLOBAL_HEADER_PROFILE]: [],\n\t\t\t[GLOBAL_HEADER_SETUP]: [],\n\t\t\t[GLOBAL_HEADER_TASK]: [],\n\t\t\t[GLOBAL_HEADER_TOOL]: [], // support for deprecated GlobalHeaderButton and GlobalHeaderDropdown\n\t\t};\n\t\tlet search;\n\n\t\tReact.Children.forEach(this.props.children, (child) => {\n\t\t\tif (child) {\n\t\t\t\tif (child.type.displayName === GLOBAL_HEADER_SEARCH) {\n\t\t\t\t\tsearch = child;\n\t\t\t\t} else if (actions[child.type.displayName]) {\n\t\t\t\t\t// eslint-disable-next-line fp/no-mutating-methods\n\t\t\t\t\tactions[child.type.displayName].push(child);\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\n\t\tactions = [].concat(\n\t\t\tactions[GLOBAL_HEADER_FAVORITES],\n\t\t\tactions[GLOBAL_HEADER_TASK],\n\t\t\tactions[GLOBAL_HEADER_HELP],\n\t\t\tactions[GLOBAL_HEADER_SETUP],\n\t\t\tactions[GLOBAL_HEADER_NOTIFICATIONS],\n\t\t\tactions[GLOBAL_HEADER_TOOL], // support for deprecated GlobalHeaderButton and GlobalHeaderDropdown\n\t\t\tactions[GLOBAL_HEADER_PROFILE]\n\t\t);\n\n\t\t/* eslint-disable max-len, no-script-url */\n\t\treturn (\n\t\t\t<header className=\"slds-global-header_container\">\n\t\t\t\t{this.props.onSkipToNav ? (\n\t\t\t\t\t<a\n\t\t\t\t\t\thref=\"javascript:void(0);\"\n\t\t\t\t\t\tclassName=\"slds-assistive-text slds-assistive-text_focus\"\n\t\t\t\t\t\tonClick={this.handleSkipToNav}\n\t\t\t\t\t>\n\t\t\t\t\t\t{this.props.skipToNavAssistiveText || assistiveText.skipToNav}\n\t\t\t\t\t</a>\n\t\t\t\t) : null}\n\t\t\t\t{this.props.onSkipToContent ? (\n\t\t\t\t\t<a\n\t\t\t\t\t\thref=\"javascript:void(0);\"\n\t\t\t\t\t\tclassName=\"slds-assistive-text slds-assistive-text_focus\"\n\t\t\t\t\t\tonClick={this.handleSkipToContent}\n\t\t\t\t\t>\n\t\t\t\t\t\t{this.props.skipToContentAssistiveText ||\n\t\t\t\t\t\t\tassistiveText.skipToContent}\n\t\t\t\t\t</a>\n\t\t\t\t) : null}\n\t\t\t\t<div className=\"slds-global-header slds-grid slds-grid_align-spread\">\n\t\t\t\t\t<div className=\"slds-global-header__item\">\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tclassName=\"slds-global-header__logo\"\n\t\t\t\t\t\t\tstyle={{ backgroundImage: `url(${this.props.logoSrc})` }}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</div>\n\t\t\t\t\t{search}\n\t\t\t\t\t<div className=\"slds-global-header__item\">\n\t\t\t\t\t\t<ul className=\"slds-global-actions\">\n\t\t\t\t\t\t\t{actions.map((actionItem, index) => (\n\t\t\t\t\t\t\t\t<li\n\t\t\t\t\t\t\t\t\tclassName=\"slds-global-actions__item\"\n\t\t\t\t\t\t\t\t\tkey={`actions-item-${index}`} /* eslint-disable-line react/no-array-index-key */\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{actionItem}\n\t\t\t\t\t\t\t\t</li>\n\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t</ul>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t\t{this.props.navigation}\n\t\t\t</header>\n\t\t);\n\t\t/* eslint-enable max-len, no-script-url */\n\t}\n}\n\nexport default GlobalHeader;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// # Global Header Button Component\n// NOTE: THIS COMPONENT HAS BEEN DEPRECATED AND WILL BE REMOVED IN FUTURE MAJOR RELEASES\n\n// ## Dependencies\n\n// ### React\nimport React from 'react';\n\n// ### Button\nimport Button from '../button';\n\n// This component's `checkProps` which issues warnings to developers about properties\n// when in development mode (similar to React's built in development tools)\nimport checkProps from './check-props';\n\n// ## Constants\nimport {\n\tGLOBAL_HEADER_BUTTON,\n\tGLOBAL_HEADER_TOOL,\n} from '../../utilities/constants';\n\n/**\n * A helper component that renders a Button in the tools area of the Global Header. Currently defaults to a bare icon, but this can be overriden if text-based buttons are required.\n */\nconst GlobalHeaderButton = (props) => {\n\tcheckProps(GLOBAL_HEADER_BUTTON, props);\n\tconst { buttonVariant, ...rest } = props;\n\tconst btn = <Button iconVariant=\"global-header\" variant=\"icon\" {...rest} />;\n\treturn buttonVariant === 'dropdown' ? btn : <li>{btn}</li>;\n};\n\nGlobalHeaderButton.displayName = GLOBAL_HEADER_TOOL;\n\nexport default GlobalHeaderButton;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n/* eslint-disable jsx-a11y/no-noninteractive-element-interactions */\n\n// # Global Header Dropdown Component\n\n// ## Dependencies\n\n// ### React\nimport React from 'react';\n\nimport PropTypes from 'prop-types';\n\n// ### classNames\n// [github.com/JedWatson/classnames](https://github.com/JedWatson/classnames)\n// This project uses `classnames`, \"a simple javascript utility for conditionally\n// joining classNames together.\"\nimport classnames from 'classnames';\n\n// ### Dropdown\nimport Button from '../button';\n\n// ### Children\nimport { MENU_DROPDOWN_TRIGGER } from '../../../utilities/constants';\n\n/**\n * The Dropdown Button Trigger renders the default trigger button for the dropdown menu. If this component has children, it does not render itself to the DOM. Instead, it renders its child element, `Button`, and all that child's properties. This component may be used as a template to create custom triggers that do not use `Button`.\n */\nclass GlobalHeaderDropdownTrigger extends React.Component {\n\t// TODO: Make this a stateless component, however dropdowns break when this component becomes stateless.\n\n\t// ### Display Name\n\t// Always use the canonical component name (set in the core) as the React\n\t// display name.\n\tstatic displayName = MENU_DROPDOWN_TRIGGER;\n\n\t// ### Prop Types\n\tstatic propTypes = {\n\t\t/**\n\t\t * An image URL or avatar node to display for the user profile.\n\t\t */\n\t\tavatar: PropTypes.oneOfType([PropTypes.string, PropTypes.node]),\n\t\t/**\n\t\t * CSS classes to be added to `li` element.\n\t\t */\n\t\tclassName: PropTypes.oneOfType([\n\t\t\tPropTypes.array,\n\t\t\tPropTypes.object,\n\t\t\tPropTypes.string,\n\t\t]),\n\t\t/**\n\t\t * A unique ID is needed in order to support keyboard navigation, ARIA support, and connect the dropdown to the triggering button.\n\t\t */\n\t\tid: PropTypes.string,\n\t\t/**\n\t\t * Informs the trigger on the open/close state of the dropdown menu\n\t\t */\n\t\tisOpen: PropTypes.bool,\n\t\t/**\n\t\t * Adds custom styling such as inverse fill and special sizing/spacing\n\t\t */\n\t\tglobalAction: PropTypes.bool,\n\t\t/**\n\t\t * The dropdown menu.\n\t\t */\n\t\tmenu: PropTypes.node,\n\t\t/**\n\t\t * Is only called when `openOn` is set to `hover` and when the triggering li loses focus.\n\t\t */\n\t\tonBlur: PropTypes.func,\n\t\t/**\n\t\t * This prop is passed onto the triggering `li`. Triggered when the trigger li is clicked.\n\t\t */\n\t\tonClick: PropTypes.func,\n\t\t/**\n\t\t * Is only called when `openOn` is set to `hover` and when the triggering li gains focus.\n\t\t */\n\t\tonFocus: PropTypes.func,\n\t\t/**\n\t\t * Called when a key pressed.\n\t\t */\n\t\tonKeyDown: PropTypes.func,\n\t\t/**\n\t\t * Called when mouse clicks down on the trigger li.\n\t\t */\n\t\tonMouseDown: PropTypes.func,\n\t\t/**\n\t\t * Called when mouse hovers over the trigger `li`.\n\t\t */\n\t\tonMouseEnter: PropTypes.func,\n\t\t/**\n\t\t * Called when mouse leaves trigger `li` or the menu.\n\t\t */\n\t\tonMouseLeave: PropTypes.func,\n\t\t/**\n\t\t * Determines if mouse hover or click opens the dropdown menu. The default of `click` is highly recommended to comply with accessibility standards. If you are planning on using hover, please pause a moment and reconsider.\n\t\t */\n\t\topenOn: PropTypes.oneOf(['hover', 'click', 'hybrid']),\n\t\t/**\n\t\t * Set to true if menu is inline and relatively positioned with CSS. This is the typical use case for menus with nubbins.\n\t\t */\n\t\tpositioned: PropTypes.bool,\n\t\t/**\n\t\t * The ref of the actual triggering button.\n\t\t */\n\t\ttriggerRef: PropTypes.func,\n\t};\n\n\trenderAvatar = () => {\n\t\tconst { avatar } = this.props;\n\t\tif (typeof avatar === 'string') {\n\t\t\treturn (\n\t\t\t\t<span className=\"slds-avatar slds-avatar_circle slds-avatar_medium\">\n\t\t\t\t\t<img src={avatar} alt=\"\" />\n\t\t\t\t</span>\n\t\t\t);\n\t\t}\n\t\treturn avatar || null;\n\t};\n\n\t// ### Render\n\trender() {\n\t\t// The following props are provided to the `li`, all others are passed into the `Button`\n\t\tconst {\n\t\t\tclassName,\n\t\t\tid,\n\t\t\tisOpen,\n\t\t\tglobalAction,\n\t\t\tmenu,\n\t\t\tonBlur,\n\t\t\tonClick,\n\t\t\tonFocus,\n\t\t\tonKeyDown,\n\t\t\tonMouseDown,\n\t\t\tonMouseEnter,\n\t\t\tonMouseLeave,\n\t\t\ttriggerRef,\n\t\t\t...rest\n\t\t} = this.props;\n\n\t\treturn (\n\t\t\t/* eslint-disable jsx-a11y/no-static-element-interactions */\n\t\t\t// eslint-disable-next-line jsx-a11y/role-supports-aria-props\n\t\t\t<li\n\t\t\t\taria-haspopup=\"true\"\n\t\t\t\tclassName={classnames(\n\t\t\t\t\t'slds-dropdown-trigger slds-dropdown-trigger_click',\n\t\t\t\t\t{\n\t\t\t\t\t\t'slds-is-open': isOpen,\n\t\t\t\t\t\t'slds-p-around_xx-small': globalAction,\n\t\t\t\t\t},\n\t\t\t\t\tclassName\n\t\t\t\t)}\n\t\t\t\tid={id}\n\t\t\t\tonBlur={onBlur}\n\t\t\t\tonClick={onClick}\n\t\t\t\tonFocus={onFocus}\n\t\t\t\tonKeyDown={onKeyDown}\n\t\t\t\tonMouseDown={onMouseDown}\n\t\t\t\tonMouseEnter={onMouseEnter}\n\t\t\t\tonMouseLeave={onMouseLeave}\n\t\t\t\tref={triggerRef}\n\t\t\t>\n\t\t\t\t{/* eslint-enable jsx-a11y/no-static-element-interactions */}\n\t\t\t\t<Button\n\t\t\t\t\tclassName={classnames({\n\t\t\t\t\t\t'slds-global-header__button_icon-actions': globalAction,\n\t\t\t\t\t})}\n\t\t\t\t\ticonClassName={classnames({\n\t\t\t\t\t\t'slds-global-header__icon-actions': globalAction,\n\t\t\t\t\t})}\n\t\t\t\t\taria-haspopup=\"true\"\n\t\t\t\t\tbuttonVariant=\"dropdown\"\n\t\t\t\t\t{...rest}\n\t\t\t\t>\n\t\t\t\t\t{this.renderAvatar()}\n\t\t\t\t</Button>\n\t\t\t\t{menu}\n\t\t\t</li>\n\t\t);\n\t}\n}\n\nexport default GlobalHeaderDropdownTrigger;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// # Global Header Dropdown Component\n// NOTE: THIS COMPONENT HAS BEEN DEPRECATED AND WILL BE REMOVED IN FUTURE MAJOR RELEASES\n\n// ## Dependencies\n\n// ### React\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\n// ### Dropdown\nimport MenuDropdown from '../menu-dropdown';\nimport GlobalHeaderTrigger from './private/dropdown-trigger';\n\n// This component's `checkProps` which issues warnings to developers about properties\n// when in development mode (similar to React's built in development tools)\nimport checkProps from './check-props';\n\n// ## Constants\nimport {\n\tGLOBAL_HEADER_DROPDOWN,\n\tGLOBAL_HEADER_TOOL,\n} from '../../utilities/constants';\n\n/**\n * This component is an implementation of `MenuDropdown` with a custom trigger. All the properties listed below are provided to the `MenuDropdown` component. Any additional properties are provided to the Custom Trigger (that is the `Button` or `li` tag).\n */\nconst GlobalHeaderDropdown = (props) => {\n\tcheckProps(GLOBAL_HEADER_DROPDOWN, props);\n\n\tconst { globalAction, iconVariant, ...rest } = props;\n\tlet iconVariantOverride;\n\n\tif (globalAction) {\n\t\ticonVariantOverride = 'container';\n\t}\n\n\treturn (\n\t\t<MenuDropdown nubbinPosition=\"top right\" {...rest}>\n\t\t\t<GlobalHeaderTrigger\n\t\t\t\tglobalAction={globalAction}\n\t\t\t\ticonSize={globalAction && 'small'}\n\t\t\t\ticonVariant={iconVariantOverride || iconVariant}\n\t\t\t/>\n\t\t</MenuDropdown>\n\t);\n};\n\n// ### Display Name\n// Always use the canonical component name (set in the core) as the React\n// display name.\nGlobalHeaderDropdown.displayName = GLOBAL_HEADER_TOOL;\n\n// ### Prop Types\nGlobalHeaderDropdown.propTypes = {\n\t/**\n\t * Aligns the right or left side of the menu with the respective side of the trigger. This is not intended for use with `nubbinPosition`.\n\t */\n\talign: PropTypes.oneOf(['left', 'right']),\n\t/**\n\t * Extra classnames to apply to the dropdown menu.\n\t */\n\tclassName: PropTypes.string,\n\t/**\n\t * CSS classes to be added to `li` element.\n\t */\n\tbuttonClassName: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\t/**\n\t * Name of the icon. Visit <a href=\"http://www.lightningdesignsystem.com/resources/icons\">Lightning Design System Icons</a> to reference icon names.\n\t */\n\ticonName: PropTypes.string,\n\t/**\n\t * For icon variants, please reference <a href=\"http://www.lightningdesignsystem.com/components/buttons/#icon\">Lightning Design System Icons</a>.\n\t */\n\ticonVariant: PropTypes.oneOf([\n\t\t'bare',\n\t\t'container',\n\t\t'border',\n\t\t'border-filled',\n\t\t'more',\n\t\t'global-header',\n\t]),\n\t/**\n\t * A unique ID is needed in order to support keyboard navigation, ARIA support, and connect the dropdown to the triggering button.\n\t */\n\tid: PropTypes.string,\n\t/**\n\t * Adds custom styling such as inverse fill and special sizing/spacing\n\t */\n\tglobalAction: PropTypes.bool,\n\t/**\n\t * Positions dropdown menu with a nubbin--that is the arrow notch. The placement options correspond to the placement of the nubbin. This is implemeted with CSS classes and is best used with a `Button` with \"icon container\" styling. Dropdown menus will still be contained to the closest scrolling parent.\n\t */\n\tnubbinPosition: PropTypes.oneOf([\n\t\t'top left',\n\t\t'top',\n\t\t'top right',\n\t\t'bottom left',\n\t\t'bottom',\n\t\t'bottom right',\n\t]),\n\t/**\n\t * Offset adds pixels to the absolutely positioned dropdown menu in the format: ([vertical]px [horizontal]px).\n\t */\n\toffset: PropTypes.string,\n\t/**\n\t * Triggered when an item in the menu is clicked.\n\t */\n\tonSelect: PropTypes.func,\n\t/**\n\t * An array of menu item.\n\t */\n\toptions: PropTypes.array.isRequired,\n};\n\n// ### Default Props\nGlobalHeaderDropdown.defaultProps = {\n\talign: 'right',\n\tbuttonVariant: 'icon',\n\ticonVariant: 'global-header',\n\tnubbinPosition: 'top right',\n};\n\nexport default GlobalHeaderDropdown;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// # Global Header Favorites Component\n// Implements the [Global Header Help design pattern](https://www.lightningdesignsystem.com/components/global-header/#Help) in React.\n\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport assign from 'lodash.assign';\nimport classnames from 'classnames';\n\nimport Button from '../button';\nimport EventUtil from '../../utilities/event';\nimport KEYS from '../../utilities/key-code';\nimport Popover from '../popover';\n\nimport { GLOBAL_HEADER_FAVORITES } from '../../utilities/constants';\n\nconst propTypes = {\n\t/**\n\t * **Assistive text for accessibility**\n\t * * `action`: Description of star button. Default is \"Toggle Favorite.\"\n\t * * `more`: Description of dropdown menu. Default is \"View Favorites.\"\n\t */\n\tassistiveText: PropTypes.shape({\n\t\taction: PropTypes.string,\n\t\tmore: PropTypes.string,\n\t}),\n\t/**\n\t * Disables the favorites action (star) button and not the related Popover.\"\n\t */\n\tactionDisabled: PropTypes.bool,\n\t/**\n\t * Controls whether the favorites action (star) button is selected or not\n\t */\n\tactionSelected: PropTypes.bool,\n\t/**\n\t * This event fires when the favorites action (star) button is toggled. Passes in `event, { actionSelected }`.\n\t */\n\tonToggleActionSelected: PropTypes.func,\n\t/**\n\t * A `Popover` component applied to the favorites more button. The props from this popover will be merged and override any default props. The `children` prop will be ignored.\n\t */\n\tpopover: PropTypes.node,\n};\n\n/**\n * A GlobalHeaderFavorites component. The favorites action is used to \"favorite\" a commonly used page within a user's experience. When a user \"favorites\" a page by pressing the favorites action, the button icon changes color with a small animation to confirm your selection.\n */\nclass GlobalHeaderFavorites extends React.Component {\n\ttoggleActionSelected = (event) => {\n\t\tif (this.props.onToggleActionSelected) {\n\t\t\tthis.props.onToggleActionSelected(event, {\n\t\t\t\tactionSelected: this.props.actionSelected || false,\n\t\t\t});\n\t\t}\n\t};\n\n\trender() {\n\t\tconst actionAriaProps = {};\n\t\tconst popoverProps = assign(\n\t\t\t{\n\t\t\t\talign: 'bottom',\n\t\t\t\tbody: <span />,\n\t\t\t\ttriggerClassName: 'slds-dropdown-trigger slds-dropdown-trigger_click',\n\t\t\t},\n\t\t\tthis.props.popover ? this.props.popover.props : {}\n\t\t);\n\n\t\t// eslint-disable-next-line fp/no-delete\n\t\tdelete popoverProps.children;\n\n\t\tif (this.props.actionSelected) {\n\t\t\tactionAriaProps['aria-pressed'] = true;\n\t\t}\n\n\t\treturn (\n\t\t\t<div className=\"slds-global-actions__favorites slds-dropdown-trigger slds-dropdown-trigger_click\">\n\t\t\t\t<div className=\"slds-button-group\">\n\t\t\t\t\t<Button\n\t\t\t\t\t\tassistiveText={{ icon: this.props.assistiveText.action }}\n\t\t\t\t\t\tclassName={classnames(\n\t\t\t\t\t\t\t'slds-button_icon slds-global-actions__favorites-action',\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t'slds-is-disabled': this.props.actionDisabled,\n\t\t\t\t\t\t\t\t'slds-is-selected': this.props.actionSelected,\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t)}\n\t\t\t\t\t\tdisabled={this.props.actionDisabled}\n\t\t\t\t\t\ticonCategory=\"utility\"\n\t\t\t\t\t\ticonName=\"favorite\"\n\t\t\t\t\t\ticonSize=\"small\"\n\t\t\t\t\t\ticonVariant=\"border\"\n\t\t\t\t\t\tonClick={this.toggleActionSelected}\n\t\t\t\t\t\tonKeyDown={(event) => {\n\t\t\t\t\t\t\tif (event.keyCode === KEYS.ENTER) {\n\t\t\t\t\t\t\t\tEventUtil.trapImmediate(event);\n\t\t\t\t\t\t\t\tthis.toggleActionSelected(event);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}}\n\t\t\t\t\t\ttitle={this.props.assistiveText.action}\n\t\t\t\t\t\tvariant=\"icon\"\n\t\t\t\t\t\t{...actionAriaProps}\n\t\t\t\t\t/>\n\t\t\t\t\t<Popover {...popoverProps}>\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tassistiveText={{ icon: this.props.assistiveText.more }}\n\t\t\t\t\t\t\tclassName=\"slds-button_icon slds-global-actions__favorites-more\"\n\t\t\t\t\t\t\ticonCategory=\"utility\"\n\t\t\t\t\t\t\ticonName=\"down\"\n\t\t\t\t\t\t\ticonSize=\"small\"\n\t\t\t\t\t\t\ticonVariant=\"border\"\n\t\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\t\t// this is needed because the popover trigger wrapper janks up the default styles\n\t\t\t\t\t\t\t\tborderLeft: '0',\n\t\t\t\t\t\t\t\tborderRadius: '0 .25rem .25rem 0',\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\ttitle={this.props.assistiveText.more}\n\t\t\t\t\t\t\tvariant=\"icon\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t</Popover>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t);\n\t}\n}\n\nGlobalHeaderFavorites.displayName = GLOBAL_HEADER_FAVORITES;\n\nGlobalHeaderFavorites.defaultProps = {\n\tassistiveText: {\n\t\taction: 'Toggle Favorite',\n\t\tmore: 'View Favorites',\n\t},\n};\n\nGlobalHeaderFavorites.propTypes = propTypes;\n\nexport default GlobalHeaderFavorites;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// # Global Header Help Component\n// Implements the [Global Header Help design pattern](https://www.lightningdesignsystem.com/components/global-header/#Help) in React.\n\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport assign from 'lodash.assign';\nimport Button from '../button';\nimport Popover from '../popover';\n\nimport { GLOBAL_HEADER_HELP } from '../../utilities/constants';\n\nconst propTypes = {\n\t/**\n\t * **Assistive text for accessibility**\n\t * * `triggerButton`: Assistive text for the GlobalHeaderHelp trigger button. The default is `Help and Training`.\n\t */\n\tassistiveText: PropTypes.shape({\n\t\ttriggerButton: PropTypes.string,\n\t}),\n\t/**\n\t * A `Popover` component. The props from this popover will be merged and override any default props. The `children` prop will be ignored.\n\t */\n\tpopover: PropTypes.node,\n};\n\n/**\n * A GlobalHeaderHelp component.\n */\nclass GlobalHeaderHelp extends React.Component {\n\trender() {\n\t\tconst buttonAriaProps = {\n\t\t\t'aria-haspopup': true,\n\t\t};\n\t\tconst popoverProps = assign(\n\t\t\t{\n\t\t\t\talign: 'bottom',\n\t\t\t\tbody: <span />,\n\t\t\t\ttriggerClassName: 'slds-dropdown-trigger slds-dropdown-trigger_click',\n\t\t\t},\n\t\t\tthis.props.popover ? this.props.popover.props : {}\n\t\t);\n\n\t\t// eslint-disable-next-line fp/no-delete\n\t\tdelete popoverProps.children;\n\n\t\treturn (\n\t\t\t<Popover {...popoverProps}>\n\t\t\t\t<Button\n\t\t\t\t\tassistiveText={{ icon: this.props.assistiveText.triggerButton }}\n\t\t\t\t\tclassName=\"slds-button_icon slds-global-actions__help slds-global-actions__item-action\"\n\t\t\t\t\ticonCategory=\"utility\"\n\t\t\t\t\ticonClassName=\"slds-global-header__icon\"\n\t\t\t\t\ticonName=\"question\"\n\t\t\t\t\ticonSize=\"small\"\n\t\t\t\t\ticonVariant=\"container\"\n\t\t\t\t\ttitle={this.props.assistiveText.triggerButton}\n\t\t\t\t\tvariant=\"icon\"\n\t\t\t\t\t{...buttonAriaProps}\n\t\t\t\t/>\n\t\t\t</Popover>\n\t\t);\n\t}\n}\n\nGlobalHeaderHelp.displayName = GLOBAL_HEADER_HELP;\n\nGlobalHeaderHelp.defaultProps = {\n\tassistiveText: {\n\t\ttriggerButton: 'Help and Training',\n\t},\n};\n\nGlobalHeaderHelp.propTypes = propTypes;\n\nexport default GlobalHeaderHelp;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// # Global Header Notifications Component\n// Implements the [Global Header Notifications design pattern](https://www.lightningdesignsystem.com/components/global-header/#Notifications) in React.\n\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport assign from 'lodash.assign';\nimport Button from '../button';\nimport Popover from '../popover';\n\nimport { GLOBAL_HEADER_NOTIFICATIONS } from '../../utilities/constants';\n\nconst propTypes = {\n\t/**\n\t * **Assistive text for accessibility**\n\t * * `newNotificationsAfter`: Assistive text for when there are new notifications, after the notificationCount. The default is ' new notifications'.\n\t * * `newNotificationsBefore`: Assistive text for when there are new notifications, before the notificationCount. The default is ''.\n\t * * `noNotifications`: Assistive text for when there are no new notifications.\n\t */\n\tassistiveText: PropTypes.shape({\n\t\tnewNotificationsAfter: PropTypes.string,\n\t\tnewNotificationsBefore: PropTypes.string,\n\t\tnoNotifications: PropTypes.string,\n\t}),\n\t/**\n\t * Dictates the number of notifications shown in the new notifications badge.\n\t */\n\tnotificationCount: PropTypes.number,\n\t/**\n\t * A `Popover` component. The props from this popover will be merged and override any default props. The `children` prop will be ignored.\n\t */\n\tpopover: PropTypes.node,\n};\n\n/**\n * A GlobalHeaderNotifications component. Notifications are a way to notify a user about a global change within the application.\n */\nclass GlobalHeaderNotifications extends React.Component {\n\trender() {\n\t\tconst buttonAriaProps = {\n\t\t\t'aria-live': 'assertive',\n\t\t};\n\t\tconst { notificationCount } = this.props;\n\t\tconst popoverProps = assign(\n\t\t\t{\n\t\t\t\talign: 'bottom right',\n\t\t\t\tbody: <span />,\n\t\t\t\ttriggerClassName: 'slds-dropdown-trigger slds-dropdown-trigger_click',\n\t\t\t},\n\t\t\tthis.props.popover ? this.props.popover.props : {}\n\t\t);\n\t\tlet notificationsAssistiveText = this.props.assistiveText.noNotifications;\n\n\t\t// eslint-disable-next-line fp/no-delete\n\t\tdelete popoverProps.children;\n\n\t\tif (notificationCount > 0) {\n\t\t\tnotificationsAssistiveText = `${this.props.assistiveText.newNotificationsBefore}${notificationCount}${this.props.assistiveText.newNotificationsAfter}`;\n\t\t} else {\n\t\t\tbuttonAriaProps['aria-atomic'] = true;\n\t\t}\n\n\t\treturn (\n\t\t\t<Popover {...popoverProps}>\n\t\t\t\t<Button\n\t\t\t\t\tassistiveText={{ icon: notificationsAssistiveText }}\n\t\t\t\t\tclassName=\"slds-button_icon slds-global-actions__notifications slds-global-actions__item-action\"\n\t\t\t\t\ticonCategory=\"utility\"\n\t\t\t\t\ticonClassName=\"slds-global-header__icon\"\n\t\t\t\t\ticonName=\"notification\"\n\t\t\t\t\ticonSize=\"small\"\n\t\t\t\t\ticonVariant=\"container\"\n\t\t\t\t\ttitle={notificationsAssistiveText}\n\t\t\t\t\tvariant=\"icon\"\n\t\t\t\t\t{...buttonAriaProps}\n\t\t\t\t/>\n\t\t\t\t{notificationCount > 0 ? (\n\t\t\t\t\t<span\n\t\t\t\t\t\taria-hidden=\"true\"\n\t\t\t\t\t\tclassName=\"slds-notification-badge slds-incoming-notification slds-show-notification\"\n\t\t\t\t\t>\n\t\t\t\t\t\t{notificationCount}\n\t\t\t\t\t</span>\n\t\t\t\t) : (\n\t\t\t\t\t<span aria-hidden=\"true\" className=\"slds-notification-badge\" />\n\t\t\t\t)}\n\t\t\t</Popover>\n\t\t);\n\t}\n}\n\nGlobalHeaderNotifications.displayName = GLOBAL_HEADER_NOTIFICATIONS;\n\nGlobalHeaderNotifications.defaultProps = {\n\tassistiveText: {\n\t\tnewNotificationsAfter: ' new notifications',\n\t\tnewNotificationsBefore: '',\n\t\tnoNotifications: 'No new notifications',\n\t},\n\tnotificationCount: 0,\n};\n\nGlobalHeaderNotifications.propTypes = propTypes;\n\nexport default GlobalHeaderNotifications;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// # Global Header Button Component\n\n// ## Dependencies\n\n// ### React\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\nimport assign from 'lodash.assign';\nimport classnames from 'classnames';\n\nimport checkProps from './check-props';\n\nimport Button from '../button';\nimport Popover from '../popover';\n\n// ## Constants\nimport { GLOBAL_HEADER_PROFILE } from '../../utilities/constants';\n\n/**\n * This component is an `Avatar` component that opens a `Popover` component when clicked.\n */\nclass GlobalHeaderProfile extends React.Component {\n\tconstructor(props) {\n\t\tsuper(props);\n\t\tcheckProps(GLOBAL_HEADER_PROFILE, props);\n\t}\n\n\trender() {\n\t\tconst buttonAriaProps = {\n\t\t\t'aria-haspopup': true,\n\t\t};\n\t\tconst popoverProps = assign(\n\t\t\t{\n\t\t\t\talign: 'bottom right',\n\t\t\t\tbody: <span />,\n\t\t\t\tclassName: this.props.className,\n\t\t\t\theading: this.props.userName,\n\t\t\t\tid: this.props.id,\n\t\t\t\ttriggerClassName: 'slds-dropdown-trigger slds-dropdown-trigger_click',\n\t\t\t},\n\t\t\tthis.props.popover ? this.props.popover.props : {}\n\t\t);\n\t\t// Note: the default avatar is done this way to prevent documentation from showing this giant string\n\t\t/* eslint-disable max-len */\n\t\tlet avatar =\n\t\t\t'data:image/jpeg;base64,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';\n\t\t/* eslint-enable max-len */\n\n\t\t// eslint-disable-next-line fp/no-delete\n\t\tdelete popoverProps.children;\n\n\t\tavatar = this.props.avatar ? this.props.avatar : avatar;\n\n\t\treturn (\n\t\t\t<Popover {...popoverProps}>\n\t\t\t\t<Button\n\t\t\t\t\tclassName={classnames(\n\t\t\t\t\t\t'slds-global-actions__avatar slds-global-actions__item-action',\n\t\t\t\t\t\tthis.props.buttonClassName\n\t\t\t\t\t)}\n\t\t\t\t\ttitle={this.props.userName}\n\t\t\t\t\tvariant=\"icon\"\n\t\t\t\t\t{...buttonAriaProps}\n\t\t\t\t>\n\t\t\t\t\t{typeof avatar === 'string' ? (\n\t\t\t\t\t\t<span className=\"slds-avatar slds-avatar_circle slds-avatar_medium\">\n\t\t\t\t\t\t\t<img alt={this.props.userName} src={avatar} title=\"User avatar\" />\n\t\t\t\t\t\t</span>\n\t\t\t\t\t) : (\n\t\t\t\t\t\tavatar || null\n\t\t\t\t\t)}\n\t\t\t\t</Button>\n\t\t\t</Popover>\n\t\t);\n\t}\n}\n\n// ### Display Name\nGlobalHeaderProfile.displayName = GLOBAL_HEADER_PROFILE;\n\n// ### Prop Types\nGlobalHeaderProfile.propTypes = {\n\t/**\n\t * Extra classnames to apply to the popover.\n\t */\n\tclassName: PropTypes.string,\n\t/**\n\t * An image URL or avatar node to display for the user profile. Defaults to a base64 encoded generic user avatar image string\n\t */\n\tavatar: PropTypes.oneOfType([PropTypes.string, PropTypes.node]),\n\t/**\n\t * CSS classes to be added to the `button` element.\n\t */\n\tbuttonClassName: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\t/**\n\t * A unique ID is needed in order to support keyboard navigation, ARIA support, and connect the popover to the triggering button. If an id is not provided, it will be automatically generated.\n\t */\n\tid: PropTypes.string,\n\t/**\n\t * A `Popover` component. The props from this popover will be merged and override any default props.\n\t */\n\tpopover: PropTypes.node,\n\t/**\n\t * The user name of the profile. Defaults to \"User Name\"\n\t */\n\tuserName: PropTypes.string,\n};\n\n// ### Default Props\nGlobalHeaderProfile.defaultProps = {\n\tuserName: 'User Name',\n};\n\nexport default GlobalHeaderProfile;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// # Global Header Search Component\n\n// ## Dependencies\n\n// ### React\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\n// ## Constants\nimport { GLOBAL_HEADER_SEARCH } from '../../utilities/constants';\n\n/**\n * The GlobalHeaderSearch component is used for application wide search. The form element is implemented as a `Combobox`.\n */\nconst GlobalHeaderSearch = (props) => (\n\t<div className=\"slds-global-header__item slds-global-header__item_search\">\n\t\t{props.combobox}\n\t</div>\n);\n\nGlobalHeaderSearch.displayName = GLOBAL_HEADER_SEARCH;\n\nGlobalHeaderSearch.propTypes = {\n\t/**\n\t * A required `Combobox` component. The props from this combobox will be merged and override any default props.\n\t */\n\tcombobox: PropTypes.node.isRequired,\n};\n\nexport default GlobalHeaderSearch;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// # Global Header Setup Component\n// Implements the [Global Header Setup design pattern](https://www.lightningdesignsystem.com/components/global-header/#Setup) in React.\n\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport assign from 'lodash.assign';\nimport Button from '../button';\nimport Dropdown from '../menu-dropdown';\nimport DropdownTrigger from '../menu-dropdown/button-trigger';\n\nimport { GLOBAL_HEADER_SETUP } from '../../utilities/constants';\n\nconst propTypes = {\n\t/**\n\t * **Assistive text for accessibility**\n\t * * `triggerButton`: Assistive text for the GlobalHeaderSetup trigger button. The default is `Setup`.\n\t */\n\tassistiveText: PropTypes.shape({\n\t\ttriggerButton: PropTypes.string,\n\t}),\n\t/**\n\t * A `Dropdown` component. The props from this dropdown will be merged and override any default props. This also allows custom content to be passed as children and rendered in the dropdown.\n\t */\n\tdropdown: PropTypes.node,\n};\n\n/**\n * A GlobalHeaderSetup component.\n */\nclass GlobalHeaderSetup extends React.Component {\n\trender() {\n\t\tconst buttonAriaProps = {\n\t\t\t'aria-haspopup': true,\n\t\t};\n\t\tconst dropdownProps = assign(\n\t\t\t{\n\t\t\t\talign: 'right',\n\t\t\t\tnubbinPosition: 'top right',\n\t\t\t},\n\t\t\tthis.props.dropdown ? this.props.dropdown.props : {}\n\t\t);\n\t\tconst dropdownChildren = dropdownProps.children || null;\n\n\t\t// eslint-disable-next-line fp/no-delete\n\t\tdelete dropdownProps.children;\n\n\t\treturn (\n\t\t\t<Dropdown {...dropdownProps}>\n\t\t\t\t<DropdownTrigger>\n\t\t\t\t\t<Button\n\t\t\t\t\t\tassistiveText={{ icon: this.props.assistiveText.triggerButton }}\n\t\t\t\t\t\tclassName=\"slds-button_icon slds-global-actions__setup slds-global-actions__item-action\"\n\t\t\t\t\t\ticonCategory=\"utility\"\n\t\t\t\t\t\ticonClassName=\"slds-global-header__icon\"\n\t\t\t\t\t\ticonName=\"setup\"\n\t\t\t\t\t\ticonSize=\"small\"\n\t\t\t\t\t\ticonVariant=\"container\"\n\t\t\t\t\t\ttitle={this.props.assistiveText.triggerButton}\n\t\t\t\t\t\tvariant=\"icon\"\n\t\t\t\t\t\t{...buttonAriaProps}\n\t\t\t\t\t/>\n\t\t\t\t</DropdownTrigger>\n\t\t\t\t{dropdownChildren}\n\t\t\t</Dropdown>\n\t\t);\n\t}\n}\n\nGlobalHeaderSetup.displayName = GLOBAL_HEADER_SETUP;\n\nGlobalHeaderSetup.defaultProps = {\n\tassistiveText: {\n\t\ttriggerButton: 'Setup',\n\t},\n};\n\nGlobalHeaderSetup.propTypes = propTypes;\n\nexport default GlobalHeaderSetup;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// # Global Header Task Component\n// Implements the [Global Header Task design pattern](https://www.lightningdesignsystem.com/components/global-header/#Task) in React.\n\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport assign from 'lodash.assign';\nimport Button from '../button';\nimport Dropdown from '../menu-dropdown';\nimport DropdownTrigger from '../menu-dropdown/button-trigger';\n\nimport { GLOBAL_HEADER_TASK } from '../../utilities/constants';\n\nconst propTypes = {\n\t/**\n\t * **Assistive text for accessibility**\n\t * * `triggerButton`: Assistive text for the GlobalHeaderTask trigger button. The default is `Global Actions`.\n\t */\n\tassistiveText: PropTypes.shape({\n\t\ttriggerButton: PropTypes.string,\n\t}),\n\t/**\n\t * A `Dropdown` component. The props from this dropdown will be merged and override any default props. This also allows custom content to be passed as children and rendered in the dropdown.\n\t */\n\tdropdown: PropTypes.node,\n};\n\n/**\n * A GlobalHeaderTask component.\n */\nclass GlobalHeaderTask extends React.Component {\n\trender() {\n\t\tconst buttonAriaProps = {\n\t\t\t'aria-haspopup': true,\n\t\t};\n\t\tconst dropdownProps = assign(\n\t\t\t{\n\t\t\t\talign: 'right',\n\t\t\t\tnubbinPosition: 'top right',\n\t\t\t},\n\t\t\tthis.props.dropdown ? this.props.dropdown.props : {}\n\t\t);\n\t\tconst dropdownChildren = dropdownProps.children || null;\n\n\t\t// eslint-disable-next-line fp/no-delete\n\t\tdelete dropdownProps.children;\n\n\t\treturn (\n\t\t\t<Dropdown {...dropdownProps}>\n\t\t\t\t<DropdownTrigger>\n\t\t\t\t\t<Button\n\t\t\t\t\t\tassistiveText={{ icon: this.props.assistiveText.triggerButton }}\n\t\t\t\t\t\tclassName=\"slds-button_icon slds-global-actions__task slds-global-actions__item-action\"\n\t\t\t\t\t\ticonCategory=\"utility\"\n\t\t\t\t\t\ticonName=\"add\"\n\t\t\t\t\t\ticonSize=\"small\"\n\t\t\t\t\t\ticonVariant=\"container\"\n\t\t\t\t\t\ttitle={this.props.assistiveText.triggerButton}\n\t\t\t\t\t\tvariant=\"icon\"\n\t\t\t\t\t\t{...buttonAriaProps}\n\t\t\t\t\t/>\n\t\t\t\t</DropdownTrigger>\n\t\t\t\t{dropdownChildren}\n\t\t\t</Dropdown>\n\t\t);\n\t}\n}\n\nGlobalHeaderTask.displayName = GLOBAL_HEADER_TASK;\n\nGlobalHeaderTask.defaultProps = {\n\tassistiveText: {\n\t\ttriggerButton: 'Global Actions',\n\t},\n};\n\nGlobalHeaderTask.propTypes = propTypes;\n\nexport default GlobalHeaderTask;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// # Global Navigation Bar Component\n\n// Implements the [Global Navigation Bar design pattern](https://www.lightningdesignsystem.com/components/global-navigation#flavor-navigation-bar) in React.\n// Based on SLDS v2.1.0-rc.2\n\n// ## Dependencies\n\n// ### React\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\n// ### classNames\nimport classNames from 'classnames';\n\n// ## Constants\nimport {\n\tGLOBAL_NAVIGATION_BAR,\n\tGLOBAL_NAVIGATION_BAR_REGION,\n} from '../../utilities/constants';\n\nconst auditChildren = (children) => {\n\tlet primaryRegion;\n\t// there can be multiple secondary navigation regions\n\tconst secondaryRegions = [];\n\tlet tertiaryRegion;\n\n\tReact.Children.forEach(children, (child) => {\n\t\tif (child && child.type.displayName === GLOBAL_NAVIGATION_BAR_REGION) {\n\t\t\tif (child.props.region === 'primary') {\n\t\t\t\tprimaryRegion = child;\n\t\t\t} else if (child.props.region === 'secondary') {\n\t\t\t\t// eslint-disable-next-line fp/no-mutating-methods\n\t\t\t\tsecondaryRegions.push(child);\n\t\t\t} else if (child.props.region === 'tertiary') {\n\t\t\t\ttertiaryRegion = child;\n\t\t\t}\n\t\t}\n\t});\n\n\treturn [primaryRegion, ...secondaryRegions, tertiaryRegion];\n};\n\n/**\n * Global Navigation Bar represents a list of links that either take the user to another page or parts of the page the user is in.\n */\nconst GlobalNavigationBar = (props) => (\n\t<div\n\t\tclassName={classNames(\n\t\t\t'slds-context-bar',\n\t\t\t{\n\t\t\t\t[`slds-context-bar_theme-${props.cloud}`]: props.cloud,\n\t\t\t\t[`slds-context-bar_theme-${props.theme}`]: props.theme,\n\t\t\t},\n\t\t\tprops.className\n\t\t)}\n\t>\n\t\t{auditChildren(props.children)}\n\t</div>\n);\n\n// ### Prop Types\nGlobalNavigationBar.propTypes = {\n\t/**\n\t * The items to be displayed in the Global Navigation Bar.\n\t */\n\tchildren: PropTypes.node,\n\t/**\n\t * CSS class names to be added to the container element.\n\t */\n\tclassName: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\t/**\n\t * Typically the cloud name (e.g.- \"sales\" or \"marketing\"). This primarily changes the background color.\n\t */\n\tcloud: PropTypes.string,\n\t/**\n\t * Transforms text and interactions (such as hover) to be more visually accessible.\n\t */\n\ttheme: PropTypes.oneOf(['light', 'dark']),\n};\n\nGlobalNavigationBar.defaultProps = {};\n\nGlobalNavigationBar.displayName = GLOBAL_NAVIGATION_BAR;\n\nexport default GlobalNavigationBar;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// # Global Navigation Bar Button Component\n\n// ## Dependencies\n\n// ### React\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\n// ### classNames\nimport classNames from 'classnames';\n\n// ### Button\nimport Button from '../button';\n\n// ## Constants\nimport { GLOBAL_NAVIGATION_BAR_BUTTON } from '../../utilities/constants';\n\n/**\n * A helper component that renders a Button as an item in the Global Navigation Bar. All props are passed onto `Button` except `active` and `dividerPosition`.\n */\nconst GlobalNavigationButton = ({ active, dividerPosition, ...props }) => (\n\t<li\n\t\tclassName={classNames('slds-context-bar__item', {\n\t\t\t'slds-is-active': active,\n\t\t\t[`slds-context-bar__item_divider-${dividerPosition}`]: dividerPosition,\n\t\t})}\n\t>\n\t\t<Button {...props} />\n\t</li>\n);\n\nGlobalNavigationButton.displayName = GLOBAL_NAVIGATION_BAR_BUTTON;\n\n// ### Prop Types\nGlobalNavigationButton.propTypes = {\n\t/**\n\t * Whether the item is active or not.\n\t */\n\tactive: PropTypes.bool,\n\t/**\n\t * Determines position of separating bar.\n\t */\n\tdividerPosition: PropTypes.oneOf(['left', 'right']),\n};\n\n// ### Default Props\nGlobalNavigationButton.defaultProps = {\n\tclassName: 'slds-context-bar__label-action slds-text-body_regular',\n\t// This is a hack since buttons are not supported by Global Navigation\n\t// Bar and have different `font-size` and `line-height` than links or\n\t// dropdowns.\n\tstyle: { lineHeight: 'inherit' },\n\tvariant: 'base',\n};\n\nexport default GlobalNavigationButton;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n/* eslint-disable import/no-mutable-exports */\n\nimport sunsetProperty from '../../utilities/warning/sunset-property';\nimport getComponentDocFn from '../../utilities/get-component-doc';\n\nlet checkProps = function checkPropsFunction() {};\n\nif (process.env.NODE_ENV !== 'production') {\n\tcheckProps = function checkPropsFunction(COMPONENT, props, jsonDoc) {\n\t\tconst createDocUrl = getComponentDocFn(jsonDoc);\n\n\t\tif (typeof props.assistiveText === 'string') {\n\t\t\tsunsetProperty(\n\t\t\t\tCOMPONENT,\n\t\t\t\tprops.assistiveText,\n\t\t\t\t'assistiveText',\n\t\t\t\t`\\`assistiveText\\` as a string has been deprecated and is now an object to allow for multiple uses in the component. Please use \\`assistiveText.icon\\` instead. ${createDocUrl(\n\t\t\t\t\t'assistiveText'\n\t\t\t\t)}`\n\t\t\t);\n\t\t}\n\t};\n}\n\nexport default checkProps;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n/* eslint-disable jsx-a11y/no-noninteractive-element-interactions */\n\n// # Global Navigation Dropdown Component\n\n// ## Dependencies\n\n// ### React\nimport React from 'react';\n\nimport PropTypes from 'prop-types';\n\n// ### classNames\nimport classNames from 'classnames';\n\nimport colors from '../../utilities/design-tokens/dist/salesforce-skin.common.js';\n\nimport checkProps from './check-props';\nimport componentDoc from './component.json';\n\nimport Button from '../button';\n\n// ## Constants\nimport { MENU_DROPDOWN_TRIGGER } from '../../utilities/constants';\n\n/**\n * The Dropdown Button Trigger renders the default trigger button for the dropdown menu. If this component has children, it does not render itself to the DOM. Instead, it renders its child element, `Button`, and all that child's properties. This component may be used as a template to create custom triggers that do not use `Button`.\n */\nclass GlobalNavigationDropdownTrigger extends React.Component {\n\t// ### Display Name\n\t// Always use the canonical component name (set in the core) as the React\n\t// display name.\n\tstatic displayName = MENU_DROPDOWN_TRIGGER;\n\n\t// ### Prop Types\n\tstatic propTypes = {\n\t\t/**\n\t\t * Whether the item is active or not.\n\t\t */\n\t\tactive: PropTypes.bool,\n\t\t/**\n\t\t * Allows alignment of active item with active application background color.\n\t\t */\n\t\tactiveBackgroundColor: PropTypes.string,\n\t\t/**\n\t\t * **Assistive text for accessibility.**\n\t\t * This object is merged with the default props object on every render.\n\t\t * * `icon`: Text that is visually hidden but read aloud by screenreaders to tell the user what the icon means. If the button has an icon and a visible label, you can omit the <code>assistiveText.icon</code> prop and use the <code>label</code> prop.\n\t\t */\n\t\tassistiveText: PropTypes.shape({\n\t\t\ticon: PropTypes.string,\n\t\t}),\n\t\t/**\n\t\t * CSS classes to be added to the 'li'.\n\t\t */\n\t\tclassName: PropTypes.oneOfType([\n\t\t\tPropTypes.array,\n\t\t\tPropTypes.object,\n\t\t\tPropTypes.string,\n\t\t]),\n\t\t/**\n\t\t * Determines position of separating bar.\n\t\t */\n\t\tdividerPosition: PropTypes.oneOf(['left', 'right']),\n\t\t/**\n\t\t * A unique ID is needed in order to support keyboard navigation, ARIA support, and connect the dropdown to the triggering button.\n\t\t */\n\t\tid: PropTypes.string,\n\t\t/**\n\t\t * Allows the dropdown menu to style itself accordingly when open since CSS hover rules cannot take effect if the menu is not inline.\n\t\t */\n\t\tisOpen: PropTypes.bool,\n\t\t/**\n\t\t * Visible label on the dropdown menu trigger button.\n\t\t */\n\t\tlabel: PropTypes.string,\n\t\t/**\n\t\t * The dropdown menu.\n\t\t */\n\t\tmenu: PropTypes.node,\n\t\t/**\n\t\t * Is only called when `openOn` is set to `hover` and when the triggering li loses focus.\n\t\t */\n\t\tonBlur: PropTypes.func,\n\t\t/**\n\t\t * This prop is passed onto the triggering `li`. Triggered when the trigger li is clicked.\n\t\t */\n\t\tonClick: PropTypes.func,\n\t\t/**\n\t\t * Is only called when `openOn` is set to `hover` and when the triggering li gains focus.\n\t\t */\n\t\tonFocus: PropTypes.func,\n\t\t/**\n\t\t * Called when a key pressed.\n\t\t */\n\t\tonKeyDown: PropTypes.func,\n\t\t/**\n\t\t * Called when mouse clicks down on the trigger `li`.\n\t\t */\n\t\tonMouseDown: PropTypes.func,\n\t\t/**\n\t\t * Called when mouse hovers over the trigger `li`.\n\t\t */\n\t\tonMouseEnter: PropTypes.func,\n\t\t/**\n\t\t * Called when mouse leaves trigger `li` or the menu.\n\t\t */\n\t\tonMouseLeave: PropTypes.func,\n\t\t/**\n\t\t * The ref of the actual triggering button.\n\t\t */\n\t\ttriggerRef: PropTypes.func,\n\t};\n\n\tstatic defaultProps = { assistiveText: { icon: 'Open menu item submenu' } };\n\n\tconstructor(props) {\n\t\tsuper(props);\n\t\tcheckProps(MENU_DROPDOWN_TRIGGER, this.props, componentDoc);\n\t}\n\n\t// ### Render\n\trender() {\n\t\tconst {\n\t\t\tactive,\n\t\t\tactiveBackgroundColor,\n\t\t\tclassName,\n\t\t\tdividerPosition,\n\t\t\tid,\n\t\t\tisOpen,\n\t\t\tlabel,\n\t\t\tmenu,\n\t\t\tonBlur,\n\t\t\tonClick,\n\t\t\tonFocus,\n\t\t\tonKeyDown,\n\t\t\tonMouseDown,\n\t\t\tonMouseEnter,\n\t\t\tonMouseLeave,\n\t\t\ttriggerRef,\n\t\t\t...rest\n\t\t} = this.props;\n\n\t\tconst listItemstyle = {};\n\t\t// Uses design token to get correct color\n\t\tconst hoverBackgroundColor = colors.brandPrimaryTransparent10;\n\n\t\tif (active) {\n\t\t\tlistItemstyle.backgroundColor = activeBackgroundColor;\n\t\t\tlistItemstyle.borderBottomColor = activeBackgroundColor;\n\t\t}\n\n\t\t// Per SLDS pattern, set trigger style like hover style, so that hover visuals and menu being open and closed are in same state\n\t\tif (isOpen) {\n\t\t\tlistItemstyle.backgroundColor = hoverBackgroundColor;\n\t\t}\n\n\t\treturn (\n\t\t\t// eslint-disable-next-line jsx-a11y/role-supports-aria-props\n\t\t\t<li\n\t\t\t\taria-haspopup=\"true\"\n\t\t\t\tclassName={classNames(\n\t\t\t\t\t'slds-context-bar__item slds-context-bar__dropdown-trigger slds-dropdown-trigger slds-dropdown-trigger_click',\n\t\t\t\t\t{\n\t\t\t\t\t\t'slds-is-open': isOpen,\n\t\t\t\t\t\t'slds-is-active': active,\n\t\t\t\t\t\t[`slds-context-bar__item_divider-${dividerPosition}`]: dividerPosition,\n\t\t\t\t\t},\n\t\t\t\t\tclassName\n\t\t\t\t)}\n\t\t\t\tid={id}\n\t\t\t\tonBlur={onBlur}\n\t\t\t\tonClick={onClick}\n\t\t\t\tonFocus={onFocus}\n\t\t\t\tonKeyDown={onKeyDown}\n\t\t\t\tonMouseDown={onMouseDown}\n\t\t\t\tonMouseEnter={onMouseEnter}\n\t\t\t\tonMouseLeave={onMouseLeave}\n\t\t\t\tref={triggerRef}\n\t\t\t\tstyle={listItemstyle}\n\t\t\t>\n\t\t\t\t<a className=\"slds-context-bar__label-action\" title={label}>\n\t\t\t\t\t<span className=\"slds-truncate\" title={label}>\n\t\t\t\t\t\t{label}\n\t\t\t\t\t</span>\n\t\t\t\t</a>\n\t\t\t\t<div className=\"slds-context-bar__icon-action slds-p-left_none\">\n\t\t\t\t\t<Button\n\t\t\t\t\t\tassistiveText={this.props.assistiveText}\n\t\t\t\t\t\t{...rest}\n\t\t\t\t\t\tclassName=\"slds-context-bar__button\"\n\t\t\t\t\t\taria-haspopup=\"true\"\n\t\t\t\t\t\ticonCategory=\"utility\"\n\t\t\t\t\t\ticonName=\"chevrondown\"\n\t\t\t\t\t\ticonVariant=\"bare\"\n\t\t\t\t\t\tvariant=\"icon\"\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t\t{menu}\n\t\t\t</li>\n\t\t);\n\t}\n}\n\nexport default GlobalNavigationDropdownTrigger;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// # Global Navigation Dropdown Component\n\n// ## Dependencies\n\n// ### React\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\nimport checkProps from './check-props';\nimport componentDoc from './component.json';\n\n// ### Dropdown\nimport MenuDropdown from '../menu-dropdown';\nimport GlobalNavigationTrigger from './dropdown-trigger';\n\n// ## Constants\nimport { GLOBAL_NAVIGATION_BAR_DROPDOWN } from '../../utilities/constants';\n\n/**\n * This component is an implementation of `MenuDropdown` with a custom trigger. All the properties listed below are provided to the `MenuDropdown` component. Any additional properties are provided to the Custom Trigger (that is the `Button` or `li` tag).\n */\nconst GlobalNavigationBarDropdown = (props) => {\n\tcheckProps(GLOBAL_NAVIGATION_BAR_DROPDOWN, props, componentDoc);\n\n\t// Separate props we care about in order to pass others along passively to the dropdown component\n\tconst {\n\t\tactive,\n\t\tactiveBackgroundColor,\n\t\tassistiveText,\n\t\tdividerPosition,\n\t\t...rest\n\t} = props;\n\n\treturn (\n\t\t<MenuDropdown\n\t\t\talign=\"right\"\n\t\t\thasStaticAlignment\n\t\t\t// only need if using hybrid or hover\n\t\t\thoverCloseDelay={400}\n\t\t\tlength={props.length}\n\t\t\tmenuPosition=\"relative\"\n\t\t\t{...rest}\n\t\t>\n\t\t\t<GlobalNavigationTrigger\n\t\t\t\tactive={active}\n\t\t\t\tassistiveText={assistiveText}\n\t\t\t\tactiveBackgroundColor={activeBackgroundColor}\n\t\t\t\tdividerPosition={dividerPosition}\n\t\t\t/>\n\t\t</MenuDropdown>\n\t);\n};\n\n// ### Display Name\n// Always use the canonical component name (set in the core) as the React\n// display name.\nGlobalNavigationBarDropdown.displayName = GLOBAL_NAVIGATION_BAR_DROPDOWN;\n\n// ### Prop Types\nGlobalNavigationBarDropdown.propTypes = {\n\t/**\n\t * Whether the item is active or not.\n\t */\n\tactive: PropTypes.bool,\n\t/**\n\t * Allows alignment of active item with active application background color.\n\t */\n\tactiveBackgroundColor: PropTypes.string,\n\t/**\n\t * **Assistive text for accessibility.**\n\t * This object is merged with the default props object on every render.\n\t * * `icon`: Text that is visually hidden but read aloud by screenreaders to tell the user what the icon means. If the button has an icon and a visible label, you can omit the <code>assistiveText.icon</code> prop and use the <code>label</code> prop.\n\t */\n\tassistiveText: PropTypes.shape({\n\t\ticon: PropTypes.string,\n\t}),\n\t/**\n\t * Aligns the right or left side of the menu with the respective side of the trigger. This is not intended for use with `nubbinPosition`.\n\t */\n\talign: PropTypes.oneOf(['left', 'right']),\n\t/**\n\t * Extra classnames to apply to the dropdown menu.\n\t */\n\tclassName: PropTypes.string,\n\t/**\n\t * Determines position of separating bar.\n\t */\n\tdividerPosition: PropTypes.oneOf(['left', 'right']),\n\t/**\n\t * CSS classes to be added to `li` element.\n\t */\n\tbuttonClassName: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\t/**\n\t * A unique ID is needed in order to support keyboard navigation, ARIA support, and connect the dropdown to the triggering button.\n\t */\n\tid: PropTypes.string,\n\t/**\n\t * Provided to List to indicate number of items visible in the List. Pass `null` to display all items, or a string containing one of the numeric option values listed under [Dropdown Height](https://www.lightningdesignsystem.com/components/menus/#flavor-dropdown-height) at the right (eg. '5').\n\t */\n\tlength: PropTypes.oneOf([null, '5', '7', '10']),\n\t/**\n\t * Offset adds pixels to the absolutely positioned dropdown menu in the format: ([vertical]px [horizontal]px).\n\t */\n\toffset: PropTypes.string,\n\t/**\n\t * Triggered when an item in the menu is clicked.\n\t */\n\tonSelect: PropTypes.func,\n\t/**\n\t * An array of menu item.\n\t */\n\toptions: PropTypes.array.isRequired,\n};\n\n// ### Default Props\nGlobalNavigationBarDropdown.defaultProps = {\n\talign: 'right',\n\tlength: null,\n};\n\nexport default GlobalNavigationBarDropdown;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// # GlobalNavigationBar Label Component\n\n// ## Dependencies\n\n// ### React\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\n// ### classNames\nimport classNames from 'classnames';\n\nimport colors from '../../utilities/design-tokens/dist/salesforce-skin.common.js';\n\n// ## Constants\nimport { GLOBAL_NAVIGATION_BAR_LABEL } from '../../utilities/constants';\n\n/**\n * Wraps text in the proper markup and removes link styling to support use in the GlobalNavigationBar.\n */\nconst GlobalNavigationBarLabel = (props) => {\n\t// Separate props we care about in order to pass others along passively to the `span` tag\n\tconst { className, dividerPosition, id, label } = props;\n\n\treturn (\n\t\t<li className=\"slds-context-bar__item slds-no-hover\">\n\t\t\t<span\n\t\t\t\tid={id}\n\t\t\t\t// inline style override\n\t\t\t\tstyle={{ color: colors.colorTextLinkDisabled }}\n\t\t\t\tclassName={classNames(\n\t\t\t\t\t'slds-context-bar__label-action',\n\t\t\t\t\t{\n\t\t\t\t\t\t[`slds-context-bar__item_divider-${dividerPosition}`]: dividerPosition,\n\t\t\t\t\t},\n\t\t\t\t\tclassName\n\t\t\t\t)}\n\t\t\t>\n\t\t\t\t<span className=\"slds-truncate\">{label}</span>\n\t\t\t</span>\n\t\t</li>\n\t);\n};\n\nGlobalNavigationBarLabel.displayName = GLOBAL_NAVIGATION_BAR_LABEL;\n\n// ### Prop Types\nGlobalNavigationBarLabel.propTypes = {\n\t/**\n\t * Class names to be added to the `span` element\n\t */\n\tclassName: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\t/**\n\t * Determines position of separating bar.\n\t */\n\tdividerPosition: PropTypes.oneOf(['left', 'right']),\n\t/**\n\t * Id string applied to first <span> inside of <li>\n\t */\n\tid: PropTypes.string,\n\t/**\n\t * Text to show\n\t */\n\tlabel: PropTypes.string,\n};\n\nexport default GlobalNavigationBarLabel;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// # GlobalNavigationBar Link Component\n\n// ## Dependencies\n\n// ### React\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\n// ### classNames\nimport classNames from 'classnames';\n\n// ### isFunction\nimport isFunction from 'lodash.isfunction';\n\n// ## Constants\nimport { GLOBAL_NAVIGATION_BAR_LINK } from '../../utilities/constants';\n\nfunction handleClick(event, href, onClick) {\n\tevent.preventDefault();\n\n\tonClick(event, { href });\n}\n\n/**\n * Wraps a link in the proper markup to support use in the GlobalNavigationBar.\n */\nconst GlobalNavigationBarLink = (props) => {\n\t// Separate props we care about in order to pass others along passively to the `a` tag\n\tconst {\n\t\tactive,\n\t\tactiveBackgroundColor,\n\t\tassistiveText,\n\t\tclassName,\n\t\tdividerPosition,\n\t\thref,\n\t\tid,\n\t\tlabel,\n\t\tonBlur,\n\t\tonClick,\n\t\tonFocus,\n\t\tonKeyDown,\n\t\tonKeyPress,\n\t\tonKeyUp,\n\t\tonMouseEnter,\n\t\tonMouseLeave,\n\t\ttabIndex,\n\t} = props;\n\n\tconst listItemstyle = active\n\t\t? {\n\t\t\t\tbackgroundColor: activeBackgroundColor,\n\t\t\t\tborderBottomColor: activeBackgroundColor,\n\t\t }\n\t\t: null;\n\n\treturn (\n\t\t<li\n\t\t\tclassName={classNames('slds-context-bar__item', {\n\t\t\t\t'slds-is-active': active,\n\t\t\t\t[`slds-context-bar__item_divider-${dividerPosition}`]: dividerPosition,\n\t\t\t})}\n\t\t\tid={id}\n\t\t\tstyle={listItemstyle}\n\t\t>\n\t\t\t<a\n\t\t\t\thref={href}\n\t\t\t\tclassName={classNames('slds-context-bar__label-action', className)}\n\t\t\t\tonBlur={onBlur}\n\t\t\t\tonClick={\n\t\t\t\t\tisFunction(onClick)\n\t\t\t\t\t\t? (event) => handleClick(event, href, onClick)\n\t\t\t\t\t\t: null\n\t\t\t\t}\n\t\t\t\tonFocus={onFocus}\n\t\t\t\tonKeyDown={onKeyDown}\n\t\t\t\tonKeyPress={onKeyPress}\n\t\t\t\tonKeyUp={onKeyUp}\n\t\t\t\tonMouseEnter={onMouseEnter}\n\t\t\t\tonMouseLeave={onMouseLeave}\n\t\t\t\ttabIndex={tabIndex}\n\t\t\t\ttitle={label}\n\t\t\t>\n\t\t\t\t{active ? (\n\t\t\t\t\t<span className=\"slds-assistive-text\">\n\t\t\t\t\t\t{assistiveText.activeDescriptor}\n\t\t\t\t\t</span>\n\t\t\t\t) : null}\n\t\t\t\t<span className=\"slds-truncate\" title={label}>\n\t\t\t\t\t{label}\n\t\t\t\t</span>\n\t\t\t</a>\n\t\t</li>\n\t);\n};\n\nGlobalNavigationBarLink.displayName = GLOBAL_NAVIGATION_BAR_LINK;\n\n// ### Prop Types\nGlobalNavigationBarLink.propTypes = {\n\t/**\n\t * Whether the item is active or not.\n\t */\n\tactive: PropTypes.bool,\n\t/**\n\t * Allows alignment of active item with active application background color. If application background is dark, text color may need to be `#fff`. This can be done with the style prop.\n\t */\n\tactiveBackgroundColor: PropTypes.string,\n\t/**\n\t * **Assistive text for accessibility.**\n\t * * `activeDescriptor`: The text that appears alongside a link that is currently active.\n\t */\n\tassistiveText: PropTypes.shape({\n\t\tactiveDescriptor: PropTypes.string,\n\t}),\n\t/**\n\t * Class names to be added to the anchor element\n\t */\n\tclassName: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\t/**\n\t * Determines position of separating bar.\n\t */\n\tdividerPosition: PropTypes.oneOf(['left', 'right']),\n\t/**\n\t * The `href` attribute of the link. Please pass in bookmarkable URLs from your routing library. Use `GlobalNavigationBarButton` if a \"real URL\" is not desired. If the `onClick` callback is specified this URL will still be prevented from changing the browser's location.\n\t */\n\thref: PropTypes.string,\n\t/**\n\t * The `id` attribute is applied to the `li` tag. _This was recently changed from being on the anchor tag._\n\t */\n\tid: PropTypes.string,\n\t/**\n\t * Text to show for link item.\n\t */\n\tlabel: PropTypes.string,\n\t/**\n\t * Triggered when focus is removed.\n\t */\n\tonBlur: PropTypes.func,\n\t/**\n\t * `function (event, href)` - fires when the link is clicked. If set, the browser location change to the `href` specified will be ignored, but the `href` will be included in an additional parameter passed to the callback.\n\t */\n\tonClick: PropTypes.func,\n\t/**\n\t * Triggered when component is focused.\n\t */\n\tonFocus: PropTypes.func,\n\t/**\n\t * Triggered when a key is pressed down\n\t */\n\tonKeyDown: PropTypes.func,\n\t/**\n\t * Triggered when a key is pressed and released\n\t */\n\tonKeyPress: PropTypes.func,\n\t/**\n\t * Triggered when a key is released\n\t */\n\tonKeyUp: PropTypes.func,\n\t/**\n\t * Triggered when a mouse arrow hovers\n\t */\n\tonMouseEnter: PropTypes.func,\n\t/**\n\t * Triggered when a mouse arrow no longer hovers\n\t */\n\tonMouseLeave: PropTypes.func,\n\t/**\n\t * Write \"-1\" if you don't want the user to tab to the button.\n\t */\n\ttabIndex: PropTypes.string,\n};\n\nGlobalNavigationBarLink.defaultProps = {\n\tassistiveText: {\n\t\tactiveDescriptor: 'Current page:',\n\t},\n\thref: 'javascript:void(0);', // eslint-disable-line no-script-url\n};\n\nexport default GlobalNavigationBarLink;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n/* eslint-disable jsx-a11y/no-redundant-roles */\n\n// # Global Navigation Bar Region Component\n\n// ## Dependencies\n\n// ### React\nimport React from 'react';\n\nimport PropTypes from 'prop-types';\n\n// ### classNames\nimport classNames from 'classnames';\n\n// ## Constants\nimport { GLOBAL_NAVIGATION_BAR_REGION } from '../../utilities/constants';\n\n// List regions for export\nconst regions = ['primary', 'secondary', 'tertiary'];\n\n/* eslint-disable react/display-name */\nconst renderPrimary = (dividerClass, className, children) => (\n\t<div\n\t\tclassName={classNames('slds-context-bar__primary', dividerClass, className)}\n\t>\n\t\t{children}\n\t</div>\n);\n\nconst renderSecondary = (dividerClass, className, children, navigation) => {\n\tlet region;\n\n\tif (navigation) {\n\t\tregion = (\n\t\t\t<nav\n\t\t\t\tclassName={classNames(\n\t\t\t\t\t'slds-context-bar__secondary',\n\t\t\t\t\tdividerClass,\n\t\t\t\t\tclassName\n\t\t\t\t)}\n\t\t\t\trole=\"navigation\"\n\t\t\t>\n\t\t\t\t<ul className=\"slds-grid\">{children}</ul>\n\t\t\t</nav>\n\t\t);\n\t} else {\n\t\tregion = (\n\t\t\t<div\n\t\t\t\tclassName={classNames(\n\t\t\t\t\t'slds-context-bar__secondary',\n\t\t\t\t\tdividerClass,\n\t\t\t\t\tclassName\n\t\t\t\t)}\n\t\t\t>\n\t\t\t\t<ul className=\"slds-grid\">{children}</ul>\n\t\t\t</div>\n\t\t);\n\t}\n\treturn region;\n};\n\nconst renderTertiary = (dividerClass, className, children) => (\n\t<div\n\t\tclassName={classNames(\n\t\t\t'slds-context-bar__tertiary',\n\t\t\t'slds-col_bump-left',\n\t\t\tdividerClass,\n\t\t\tclassName\n\t\t)}\n\t>\n\t\t<ul className=\"slds-grid\">{children}</ul>\n\t</div>\n);\n\n/* eslint-enable react/display-name */\n\n/**\n * Regions make up a GlobalNavigation Bar and typically contain links and dropdowns. The Primary region contains the AppSwitcher, Application Name, and Object Switcher. The secondary region typically has navigation betweens sections of the application. The tertiary region is aligned to the right side of the screen and contains shortcuts or actions.\n */\nclass Region extends React.Component {\n\tstatic displayName = GLOBAL_NAVIGATION_BAR_REGION;\n\n\tstatic propTypes = {\n\t\t/**\n\t\t * Contents of region. Expects `GlobalNavigationBarLink`, `GlobalNavigationBarDropdown`, `GlobalNavigationBarApplicationName`, `AppSwitcher`, but could be any component. This is the place to pass in an Object Switcher until that is supported.\n\t\t */\n\t\tchildren: PropTypes.node,\n\t\t/**\n\t\t * Determines position of separating bar.\n\t\t */\n\t\tdividerPosition: PropTypes.oneOf(['left', 'right']),\n\t\t/**\n\t\t * CSS classes to be added to the region\n\t\t */\n\t\tclassName: PropTypes.oneOfType([\n\t\t\tPropTypes.array,\n\t\t\tPropTypes.object,\n\t\t\tPropTypes.string,\n\t\t]),\n\t\t/**\n\t\t * Wraps the `secondary` region in a `nav` and adds a role attribute\n\t\t */\n\t\tnavigation: PropTypes.bool,\n\t\t/**\n\t\t * Region wrap children in styling specific to that region. When `tertiary`\n\t\t * region is used, secondary region only supports four list items.\n\t\t */\n\t\tregion: PropTypes.oneOf(['primary', 'secondary', 'tertiary']).isRequired,\n\t};\n\n\trender() {\n\t\tlet region;\n\t\tconst dividerClass = this.props.dividerPosition\n\t\t\t? `slds-context-bar__item_divider-${this.props.dividerPosition}`\n\t\t\t: null;\n\n\t\tswitch (this.props.region) {\n\t\t\tcase 'primary':\n\t\t\t\tregion = renderPrimary(\n\t\t\t\t\tdividerClass,\n\t\t\t\t\tthis.props.className,\n\t\t\t\t\tthis.props.children\n\t\t\t\t);\n\t\t\t\tbreak;\n\t\t\tcase 'secondary':\n\t\t\t\tregion = renderSecondary(\n\t\t\t\t\tdividerClass,\n\t\t\t\t\tthis.props.className,\n\t\t\t\t\tthis.props.children,\n\t\t\t\t\tthis.props.navigation\n\t\t\t\t);\n\t\t\t\tbreak;\n\t\t\tcase 'tertiary':\n\t\t\t\tregion = renderTertiary(\n\t\t\t\t\tdividerClass,\n\t\t\t\t\tthis.props.className,\n\t\t\t\t\tthis.props.children\n\t\t\t\t);\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t// do nothing\n\t\t}\n\n\t\treturn region;\n\t}\n}\n\nexport default Region;\nexport { regions };\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n/* eslint-disable import/no-mutable-exports */\n\nimport componentIsDeprecated from '../../utilities/warning/component-is-deprecated';\n\nlet checkProps = function checkPropsFunction() {};\n\nif (process.env.NODE_ENV !== 'production') {\n\tcheckProps = function checkPropsFunction(COMPONENT, props) {\n\t\tcomponentIsDeprecated(\n\t\t\tCOMPONENT,\n\t\t\tprops,\n\t\t\t'This was decided due to issues with shadow DOM preventing imported SVG files from detecting SLDS styles. Please visit https://www.lightningdesignsystem.com/components/illustration/ to copy the provided example code for use in your application.'\n\t\t);\n\t};\n}\n\nexport default checkProps;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// # Illustration Component\n\n// Based on SLDS v2.6.2\n\n// ## Dependencies\n\n// ### React\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\n// This component's `checkProps` which issues warnings to developers about properties\n// when in development mode (similar to React's built in development tools)\nimport checkProps from './check-props';\n\n// ### classNames\n// [github.com/JedWatson/classnames](https://github.com/JedWatson/classnames)\n// A simple javascript utility for conditionally joining classNames together.\nimport classNames from '../../utilities/class-names';\n\n// ## SVG\nimport Svg from '../utilities/utility-icon/svg';\n\n// ## Constants\nimport { ILLUSTRATION } from '../../utilities/constants';\nimport componentDoc from './component.json';\n\n/**\n * An illustration is an image and inline text that work in tandem to communicate a state in a more friendly way.\n */\nconst Illustration = (props) => {\n\tconst {\n\t\tclassName,\n\t\tillustration,\n\t\theading,\n\t\tmessageBody,\n\t\tname,\n\t\tpath,\n\t\tsize,\n\t\tstyle,\n\t} = props;\n\n\tcheckProps('Illustration', props, componentDoc);\n\tconst kababCaseName = name ? name.replace(/_| /g, '-').toLowerCase() : '';\n\tconst styles = { ...style };\n\tlet illustrationSvg;\n\n\t// large illustration svg should have a default height of 400px if not already specified\n\tif (size === 'large' && !styles.height) {\n\t\tstyles.height = '400px';\n\t}\n\n\tif (illustration) {\n\t\t// Use SVG data passed in with `illustration` prop\n\t\tillustrationSvg = (\n\t\t\t<Svg\n\t\t\t\tclassName=\"slds-illustration__svg\"\n\t\t\t\taria-hidden=\"true\"\n\t\t\t\tdata={illustration}\n\t\t\t\tname={kababCaseName}\n\t\t\t\tstyle={styles}\n\t\t\t/>\n\t\t);\n\t} else if (path) {\n\t\tillustrationSvg = (\n\t\t\t<svg\n\t\t\t\tclassName=\"slds-illustration__svg\"\n\t\t\t\taria-hidden=\"true\"\n\t\t\t\tname={kababCaseName}\n\t\t\t\tstyle={styles}\n\t\t\t>\n\t\t\t\t<use xlinkHref={path} />\n\t\t\t</svg>\n\t\t);\n\t}\n\n\treturn (\n\t\t<div\n\t\t\tclassName={classNames(className, 'slds-illustration', {\n\t\t\t\t'slds-illustration_small': size === 'small',\n\t\t\t\t'slds-illustration_large': size === 'large',\n\t\t\t})}\n\t\t>\n\t\t\t{illustrationSvg}\n\t\t\t<div className=\"slds-text-longform\">\n\t\t\t\t{heading ? (\n\t\t\t\t\t<h3 className=\"slds-text-heading_medium\">{heading}</h3>\n\t\t\t\t) : null}\n\t\t\t\t{messageBody ? (\n\t\t\t\t\t<p className=\"slds-text-body_regular\">{messageBody}</p>\n\t\t\t\t) : null}\n\t\t\t</div>\n\t\t</div>\n\t);\n};\n\n// ### Display Name\n// Always use the canonical component name as the React display name.\nIllustration.displayName = ILLUSTRATION;\n\n// ### Prop Types\nIllustration.propTypes = {\n\t/**\n\t * CSS classes that are applied to the SVG. _Tested with Mocha testing._\n\t */\n\tclassName: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\t/**\n\t * A heading text. It is required if illustration is present. _Tested with snapshot testing._ _Tested with Mocha testing._\n\t */\n\theading: PropTypes.string,\n\t/**\n\t * A custom SVG object to use instead of the supplied SLDS illustrations, look in `design-system-react/icons` for examples and syntax. _Tested with snapshot testing._ _Tested with Mocha testing._\n\t */\n\tillustration: PropTypes.object,\n\t/**\n\t * Indicates whether the illustration SVGs are from the design-system-react repo. If yes, set to true.\n\t */\n\tinternalIllustration: PropTypes.bool.isRequired,\n\t/**\n\t * A message body below the heading to further communicate the state of the component. _Tested with snapshot testing._ _Tested with Mocha testing._\n\t */\n\tmessageBody: PropTypes.oneOfType([PropTypes.string, PropTypes.node]),\n\t/**\n\t * Name of the illustration. Visit <a href='https://lightningdesignsystem.com/components/illustration/'>Lightning Design System Illustration</a> to reference illustration names. _Tested with snapshot testing._ _Tested with Mocha testing._\n\t */\n\tname: PropTypes.string,\n\t/**\n\t * Path to the illustration SVG image. _Tested with snapshot testing._\n\t */\n\tpath: PropTypes.string,\n\t/**\n\t * Size of the illustration. _Tested with snapshot testing._ _Tested with Mocha testing._\n\t */\n\tsize: PropTypes.oneOf(['small', 'large']),\n\t/**\n\t * Custom styles to be passed to the illustration SVG. _Tested with Mocha testing._\n\t */\n\tstyle: PropTypes.object,\n};\n\nIllustration.defaultProps = {\n\tinternalIllustration: true,\n\tsize: 'small',\n\tstyle: {},\n};\n\nexport default Illustration;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n/* eslint-disable import/no-mutable-exports */\n/* eslint-disable max-len */\n\nimport componentIsDeprecated from '../../../utilities/warning/component-is-deprecated';\n\nlet checkProps = function checkPropsFunction() {};\n\nif (process.env.NODE_ENV !== 'production') {\n\tcheckProps = function checkPropsFunction(COMPONENT, props) {\n\t\tcomponentIsDeprecated(\n\t\t\tCOMPONENT,\n\t\t\tprops,\n\t\t\t'For a multiple input form, please use the pattern located at https://www.lightningdesignsystem.com/components/form-element/#Record-Detail that swaps out a read-only `Input` with a base `Input`. For a single input, please use a `Popover` paired with `<Button\tcategory=\"utility\" iconName=\"edit\" variant=\"icon\" />` as the trigger.'\n\t\t);\n\t};\n}\n\nexport default checkProps;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// # Inline Edit Component\n\n// Implements an inline edit component based on the [Input design pattern](https://www.lightningdesignsystem.com/components/forms/#input) in React.\n\n// ## Dependencies\n\n// ### React\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\n// ### isFunction\nimport isFunction from 'lodash.isfunction';\n\n// ## Children\nimport Button from '../../button';\nimport Input from '../../input/index';\nimport InputIcon from '../../icon/input-icon';\n\n// ### Event Helpers\nimport KEYS from '../../../utilities/key-code';\n\n// This component's `checkProps` which issues warnings to developers about properties when in development mode (similar to React's built in development tools)\nimport checkProps from './inline-check-props';\n\n// ## Constants\nimport { FORMS_INLINE_EDIT } from '../../../utilities/constants';\n\n// ### Prop Types\nconst propTypes = {\n\t/**\n\t * Class names to be added to the outer container of the input.\n\t */\n\tclassName: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\t/**\n\t * Name of the submitted form parameter.\n\t */\n\tname: PropTypes.string,\n\t/**\n\t * Disables the Inline Edit component and prevents editing the contents.\n\t */\n\tdisabled: PropTypes.bool,\n\t/**\n\t * Every Inline Edit component must have a unique ID in order to support keyboard navigation and ARIA support.\n\t */\n\tid: PropTypes.string.isRequired,\n\t/**\n\t * This event fires when the input changes.\n\t */\n\tonChange: PropTypes.func,\n\t/**\n\t * Function will run when keyup during text edit\n\t */\n\tonKeyUp: PropTypes.func,\n\t/**\n\t * Function will run when we enter edit mode\n\t */\n\tonEnterEditMode: PropTypes.func,\n\t/**\n\t * Function will run when we leave edit mode\n\t */\n\tonLeaveEditMode: PropTypes.func,\n\t/**\n\t * Typically an Inline Edit component will be of the type text, but like the Input element it includes support for all HTML5 types.\n\t */\n\ttype: PropTypes.oneOf([\n\t\t'text',\n\t\t'password',\n\t\t'datetime',\n\t\t'datetime-local',\n\t\t'date',\n\t\t'month',\n\t\t'time',\n\t\t'week',\n\t\t'number',\n\t\t'email',\n\t\t'url',\n\t\t'search',\n\t\t'tel',\n\t\t'color',\n\t]),\n\t/**\n\t * Inline Edit is a controlled component, and will always display this value.\n\t */\n\tvalue: PropTypes.string.isRequired,\n};\n\nconst defaultProps = {\n\tassistiveText: 'Edit text',\n\ttype: 'text',\n};\n\n/**\n * An inline input is rendered as a label by default. When clicked (or tabbed in), it's rendered as an input. When the focus is lost, the current input value is saved and the input is rendered as a label again.\n */\nclass InlineEdit extends React.Component {\n\tconstructor(props) {\n\t\tsuper(props);\n\t\tthis.state = {\n\t\t\tisEditing: false,\n\t\t\tvalue: null,\n\t\t};\n\n\t\tcheckProps(FORMS_INLINE_EDIT, props);\n\t}\n\n\tcomponentDidUpdate() {\n\t\tif (this.autoFocus) {\n\t\t\tif (this.inputNode) {\n\t\t\t\tthis.inputNode.focus();\n\t\t\t\tthis.inputNode.select();\n\t\t\t}\n\t\t\tthis.autoFocus = false;\n\t\t}\n\t}\n\n\tendEditMode = (option) => {\n\t\tif (this.willSave) {\n\t\t\tclearTimeout(this.willSave);\n\t\t\t// eslint-disable-next-line fp/no-delete\n\t\t\tdelete this.willSave;\n\t\t}\n\n\t\tthis.setState({\n\t\t\tisEditing: false,\n\t\t\tvalue: null,\n\t\t});\n\n\t\tif (this.props.onLeaveEditMode && isFunction(this.props.onLeaveEditMode)) {\n\t\t\tthis.props.onLeaveEditMode(undefined, option);\n\t\t}\n\t};\n\n\thandleBlur = () => {\n\t\tif (!this.willSave) {\n\t\t\tthis.willSave = setTimeout(this.saveEdits, 200);\n\t\t}\n\t\tif (this.props.onLeaveEditMode && isFunction(this.props.onLeaveEditMode)) {\n\t\t\tthis.props.onLeaveEditMode();\n\t\t}\n\t};\n\n\thandleChange = (event) => {\n\t\tthis.setState({\n\t\t\tvalue: event.target.value,\n\t\t});\n\t};\n\n\thandleKeyDown = (event) => {\n\t\tif (event.keyCode) {\n\t\t\tif (event.keyCode === KEYS.ESCAPE) {\n\t\t\t\tthis.saveEdits({ cancel: true });\n\t\t\t} else if (event.keyCode === KEYS.ENTER) {\n\t\t\t\tthis.saveEdits();\n\t\t\t}\n\t\t}\n\t};\n\n\thandleKeyUp = (event) => {\n\t\tif (event.keyCode) {\n\t\t\tif (this.props.onKeyUp && isFunction(this.props.onKeyUp)) {\n\t\t\t\tthis.props.onKeyUp(event, {\n\t\t\t\t\tvalue: this.state.value,\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t};\n\n\tsaveEdits = (option) => {\n\t\tif (!(option && option.cancel === true)) {\n\t\t\tif (isFunction(this.props.onChange)) {\n\t\t\t\tthis.props.onChange({\n\t\t\t\t\tvalue: this.state.value,\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t\tthis.endEditMode(option);\n\t};\n\n\ttriggerEditMode = () => {\n\t\tif (!this.props.disabled) {\n\t\t\tthis.autoFocus = true;\n\t\t\tthis.setState({\n\t\t\t\tisEditing: true,\n\t\t\t\tvalue: this.props.value,\n\t\t\t});\n\t\t\tif (isFunction(this.props.onEnterEditMode)) {\n\t\t\t\tthis.props.onEnterEditMode();\n\t\t\t}\n\t\t}\n\t};\n\n\t// ### Render\n\trender() {\n\t\tconst {\n\t\t\tassistiveText,\n\t\t\tdisabled,\n\t\t\tvalue,\n\t\t\tname,\n\n\t\t\t// ### Additional properties\n\t\t\t// Using [object destructuring](https://facebook.github.io/react/docs/transferring-props.html#transferring-with-...-in-jsx) to pass on any properties which are not explicitly defined.\n\t\t\t...rest\n\t\t} = this.props;\n\n\t\treturn (\n\t\t\t<Input\n\t\t\t\t{...rest}\n\t\t\t\ticonRight={\n\t\t\t\t\tthis.state.isEditing ? (\n\t\t\t\t\t\t<InputIcon\n\t\t\t\t\t\t\tcategory=\"utility\"\n\t\t\t\t\t\t\tname=\"close\"\n\t\t\t\t\t\t\tposition=\"right\"\n\t\t\t\t\t\t\tonClick={this.endEditMode}\n\t\t\t\t\t\t\ttabIndex=\"-1\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t) : null\n\t\t\t\t}\n\t\t\t\tdisabled={disabled}\n\t\t\t\tinlineEditTrigger={\n\t\t\t\t\t<Button\n\t\t\t\t\t\tassistiveText={{ icon: assistiveText }}\n\t\t\t\t\t\tclassName=\"slds-m-left_x-small\"\n\t\t\t\t\t\tdisabled={disabled}\n\t\t\t\t\t\ticonCategory=\"utility\"\n\t\t\t\t\t\ticonName=\"edit\"\n\t\t\t\t\t\ticonPosition=\"right\"\n\t\t\t\t\t\ticonSize=\"small\"\n\t\t\t\t\t\tvariant=\"icon\"\n\t\t\t\t\t/>\n\t\t\t\t}\n\t\t\t\tonBlur={this.handleBlur}\n\t\t\t\tonChange={this.handleChange}\n\t\t\t\tonClick={!this.state.isEditing ? this.triggerEditMode : null}\n\t\t\t\tonKeyDown={this.handleKeyDown}\n\t\t\t\tonKeyUp={this.handleKeyUp}\n\t\t\t\tisStatic={!this.state.isEditing}\n\t\t\t\tname={name}\n\t\t\t\tvalue={this.state.isEditing ? this.state.value : value}\n\t\t\t\tinputRef={(input) => {\n\t\t\t\t\tthis.inputNode = input;\n\t\t\t\t}}\n\t\t\t/>\n\t\t);\n\t}\n}\n\nInlineEdit.displayName = FORMS_INLINE_EDIT;\nInlineEdit.propTypes = propTypes;\nInlineEdit.defaultProps = defaultProps;\n\nexport default InlineEdit;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// # Search Component\n\n// Wraps the input to default to a search style.\n\n// ## Dependencies\n\n// ### React\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\n// ## Children\nimport Input from './index';\nimport InputIcon from '../icon/input-icon';\n\nimport checkProps from './check-props';\nimport componentDoc from './component.json';\n\n// ### Event Helpers\nimport KEYS from '../../utilities/key-code';\nimport EventUtil from '../../utilities/event';\n\n// ## Constants\nimport { SEARCH } from '../../utilities/constants';\n\nconst handleKeyDown = (event, onSearch) => {\n\tif (event.keyCode === KEYS.ENTER) {\n\t\tEventUtil.trapImmediate(event);\n\t\tonSearch(event);\n\t}\n};\n\nconst defaultProps = {\n\tassistiveText: {},\n};\n\n/**\n * A `Search` is an `Input` which renders the search icon by default. It can be cleared, too. All `Input` props not specified as props already may be used with this component and will override defaults.\n */\nconst Search = ({ clearable, onClear, onSearch, placeholder, ...props }) => {\n\tcheckProps(SEARCH, props, componentDoc);\n\tconst assistiveText =\n\t\ttypeof props.assistiveText === 'string'\n\t\t\t? props.assistiveText\n\t\t\t: {\n\t\t\t\t\t...defaultProps.assistiveText,\n\t\t\t\t\t...props.assistiveText,\n\t\t\t }.label;\n\treturn (\n\t\t<Input\n\t\t\tassistiveText={{ label: assistiveText }}\n\t\t\ticonLeft={\n\t\t\t\t<InputIcon\n\t\t\t\t\tassistiveText={{ icon: 'Search' }}\n\t\t\t\t\tcategory=\"utility\"\n\t\t\t\t\tname=\"search\"\n\t\t\t\t\tonClick={onSearch}\n\t\t\t\t/>\n\t\t\t}\n\t\t\ticonRight={\n\t\t\t\tclearable ? (\n\t\t\t\t\t<InputIcon\n\t\t\t\t\t\tassistiveText={{ icon: 'Clear' }}\n\t\t\t\t\t\tcategory=\"utility\"\n\t\t\t\t\t\tname=\"clear\"\n\t\t\t\t\t\tonClick={onClear}\n\t\t\t\t\t/>\n\t\t\t\t) : null\n\t\t\t}\n\t\t\tonKeyDown={onSearch ? (event) => handleKeyDown(event, onSearch) : null}\n\t\t\tplaceholder={placeholder}\n\t\t\t{...props}\n\t\t/>\n\t);\n};\n\nSearch.displayName = SEARCH;\n\nSearch.propTypes = {\n\t/**\n\t * **Assistive text for accessibility.**\n\t * This object is merged with the default props object on every render.\n\t * * `label`: Assistive text to search input\n\t */\n\tassistiveText: PropTypes.shape({\n\t\tlabel: PropTypes.string,\n\t}),\n\t/**\n\t * Adds a clear button to right side of the input\n\t */\n\tclearable: PropTypes.bool,\n\t/**\n\t * Triggers when the clear button is clicked\n\t */\n\tonClear: PropTypes.func,\n\t/**\n\t * This event fires when enter is pressed in the `input` or the search button is clicked.\n\t */\n\tonSearch: PropTypes.func,\n\t/**\n\t * Placeholder for the input\n\t */\n\tplaceholder: PropTypes.string,\n};\n\nSearch.defaultProps = defaultProps;\n\nexport default Search;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// Implements the [Map design pattern](https://lightningdesignsystem.com/components/map/) in React.\n// Based on SLDS v2.4.0\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\n// ### shortid\n// [npmjs.com/package/shortid](https://www.npmjs.com/package/shortid)\n// shortid is a short, non-sequential, url-friendly, unique id generator\nimport shortid from 'shortid';\n\nimport Icon from '../icon';\nimport { LOCATION_MAP } from '../../utilities/constants';\n\nconst displayName = LOCATION_MAP;\n\nconst propTypes = {\n\t/**\n\t * CSS class names to be added with `slds-map` class. `array`, `object`, or `string` are accepted.\n\t */\n\tclassName: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\t/**\n\t * CSS class names to be added to the container element. `array`, `object`, or `string` are accepted.\n\t */\n\tclassNameContainer: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\t/**\n\t * Accepts location object that will be shown if no location has been selected. Required\n\t * * `id` : A unique identifier string for the location\n\t * * `name` : Name of the location\n\t * * `address` : Address of the location\n\t */\n\tdefaultLocation: PropTypes.shape({\n\t\tid: PropTypes.string.isRequired,\n\t\tname: PropTypes.string.isRequired,\n\t\taddress: PropTypes.string.isRequired,\n\t}).isRequired,\n\t/**\n\t * HTML id for component.\n\t */\n\tid: PropTypes.string,\n\t/**\n\t * Labels\n\t * * `title` - Title for the LocationMap component.\n\t */\n\tlabels: PropTypes.shape({\n\t\ttitle: PropTypes.string,\n\t}),\n\t/**\n\t * Array of locations objects for the LocationMap component.**\n\t * Each location object can contain:\n\t * * `id` : A unique identifier string for the location\n\t * * `name` : Name of the location\n\t * * `address` : Address of the location\n\t */\n\tlocations: PropTypes.arrayOf(\n\t\tPropTypes.shape({\n\t\t\tid: PropTypes.string.isRequired,\n\t\t\tname: PropTypes.string.isRequired,\n\t\t\taddress: PropTypes.string.isRequired,\n\t\t})\n\t).isRequired,\n\t/**\n\t * Callback function triggered when a location is selected\n\t */\n\tonClickLocation: PropTypes.func,\n\t/**\n\t * Accepts a Google Map API Key that will be used for showing the map\n\t */\n\tgoogleAPIKey: PropTypes.string.isRequired,\n\t/**\n\t * Accepts location object that will be shown when selected\n\t * * `id` : A unique identifier string for the location\n\t * * `name` : Name of the location\n\t * * `address` : Address of the location\n\t */\n\tselection: PropTypes.shape({\n\t\tid: PropTypes.string.isRequired,\n\t\tname: PropTypes.string.isRequired,\n\t\taddress: PropTypes.string.isRequired,\n\t}),\n};\n\nconst defaultProps = {\n\tlabels: {\n\t\ttitle: 'Interactive Map',\n\t},\n};\n\n/**\n * A location map component is used to find and show locations\n */\nclass LocationMap extends React.Component {\n\tconstructor(props) {\n\t\tsuper(props);\n\t\tthis.generatedId = shortid.generate();\n\t}\n\n\t/**\n\t * Get the LocationMap's HTML id. Generate a new one if no ID present.\n\t */\n\tgetId() {\n\t\treturn this.props.id || this.generatedId;\n\t}\n\n\t/**\n\t * Handles clicking of a location\n\t */\n\thandleClick = (event, i) => {\n\t\tif (typeof this.props.onClickLocation === 'function')\n\t\t\tthis.props.onClickLocation(event, this.props.locations[i]);\n\t\tif (this.map) {\n\t\t\tthis.map.focus();\n\t\t}\n\t};\n\n\trender() {\n\t\tconst labels = { ...defaultProps.labels, ...this.props.labels };\n\n\t\treturn (\n\t\t\t<div\n\t\t\t\tid={this.getId()}\n\t\t\t\tclassName={classNames(\n\t\t\t\t\t`slds-grid`,\n\t\t\t\t\t{ 'slds-has-coordinates': this.props.locations },\n\t\t\t\t\tthis.props.classNameContainer\n\t\t\t\t)}\n\t\t\t>\n\t\t\t\t<div className=\"slds-map_container\" style={{ padding: '4px' }}>\n\t\t\t\t\t<div\n\t\t\t\t\t\tclassName={classNames(`slds-map`, this.props.className)}\n\t\t\t\t\t\tref={(map) => {\n\t\t\t\t\t\t\tthis.map = map;\n\t\t\t\t\t\t}}\n\t\t\t\t\t\ttabIndex={0} // eslint-disable-line jsx-a11y/no-noninteractive-tabindex\n\t\t\t\t\t\ttitle={labels.title}\n\t\t\t\t\t>\n\t\t\t\t\t\t<iframe\n\t\t\t\t\t\t\tid={`${this.getId()}-google-map`}\n\t\t\t\t\t\t\tsrc={`https://www.google.com/maps/embed/v1/place?key=${\n\t\t\t\t\t\t\t\tthis.props.googleAPIKey\n\t\t\t\t\t\t\t}&q=${encodeURIComponent(\n\t\t\t\t\t\t\t\tthis.props.selection\n\t\t\t\t\t\t\t\t\t? this.props.selection.address\n\t\t\t\t\t\t\t\t\t: this.props.defaultLocation.address\n\t\t\t\t\t\t\t)}`}\n\t\t\t\t\t\t\ttitle={labels.title}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t\t{this.props.locations.length > 1 ? (\n\t\t\t\t\t<div className=\"slds-coordinates\">\n\t\t\t\t\t\t<div className=\"slds-coordinates__header\">\n\t\t\t\t\t\t\t<h2 className=\"slds-coordinates__title\">\n\t\t\t\t\t\t\t\t{`${labels.title} (${this.props.locations.length})`}\n\t\t\t\t\t\t\t</h2>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<ul className=\"slds-coordinates__list\">\n\t\t\t\t\t\t\t{this.props.locations.map((location, i) => (\n\t\t\t\t\t\t\t\t<li key={location.id} className=\"slds-coordinates__item\">\n\t\t\t\t\t\t\t\t\t<span className=\"slds-assistive-text\" aria-live=\"polite\">\n\t\t\t\t\t\t\t\t\t\t{`${location.name} is currently selected`}\n\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t\t<button\n\t\t\t\t\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\t\t\t\t\tonClick={(event) => this.handleClick(event, i)}\n\t\t\t\t\t\t\t\t\t\tclassName=\"slds-coordinates__item-action slds-button_reset slds-media\"\n\t\t\t\t\t\t\t\t\t\taria-pressed={\n\t\t\t\t\t\t\t\t\t\t\tthis.props.selection &&\n\t\t\t\t\t\t\t\t\t\t\tthis.props.selection.id === location.id\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t<span className=\"slds-media__figure\">\n\t\t\t\t\t\t\t\t\t\t\t<Icon category=\"standard\" name=\"account\" />\n\t\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t\t\t<span className=\"slds-media__body\">\n\t\t\t\t\t\t\t\t\t\t\t<span className=\"slds-text-link\">{location.name}</span>\n\t\t\t\t\t\t\t\t\t\t\t<span>{location.address}</span>\n\t\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t\t\t</li>\n\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t</ul>\n\t\t\t\t\t</div>\n\t\t\t\t) : null}\n\t\t\t</div>\n\t\t);\n\t}\n}\n\nLocationMap.displayName = displayName;\nLocationMap.propTypes = propTypes;\n\nexport default LocationMap;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// Implements the [Lookup design pattern](https://latest-204.lightningdesignsystem.com/components/lookups) in React.\n// Based on SLDS v2.1.0-dev\n\nimport React from 'react';\nimport Icon from '../icon';\nimport EventUtil from '../../utilities/event';\n\nconst displayName = 'LookupDefaultHeader';\nconst propTypes = {};\nconst defaultProps = {};\n\nclass DefaultHeader extends React.Component {\n\t// eslint-disable-next-line camelcase, react/sort-comp\n\tUNSAFE_componentWillReceiveProps(nextProps) {\n\t\tif (\n\t\t\tnextProps.isActive !== this.props.isActive &&\n\t\t\tnextProps.isActive === true\n\t\t) {\n\t\t\tthis.props.setFocus('searchRecords');\n\t\t}\n\t}\n\n\thandleClick = () => {\n\t\tif (this.props.onClose) {\n\t\t\tthis.props.onClose();\n\t\t}\n\t};\n\n\trender() {\n\t\tlet className = 'slds-lookup__item-action slds-lookup__item-action_label';\n\t\tif (this.props.isActive) className += ' slds-theme_shade';\n\n\t\treturn (\n\t\t\t/* eslint-disable jsx-a11y/no-static-element-interactions */\n\t\t\t<div\n\t\t\t\tclassName=\"js-slds-lookup__item\"\n\t\t\t\tonMouseDown={EventUtil.trapImmediate}\n\t\t\t\tonClick={this.handleClick}\n\t\t\t>\n\t\t\t\t{/* eslint-enable jsx-a11y/no-static-element-interactions */}\n\t\t\t\t{/* eslint-disable no-script-url */}\n\t\t\t\t<a id=\"searchRecords\" href=\"javascript:void(0);\" className={className}>\n\t\t\t\t\t{/* eslint-enable no-script-url */}\n\t\t\t\t\t<span className=\"lookup__item-action-label\">\n\t\t\t\t\t\t<Icon\n\t\t\t\t\t\t\tname=\"search\"\n\t\t\t\t\t\t\tcategory=\"utility\"\n\t\t\t\t\t\t\tsize=\"x-small\"\n\t\t\t\t\t\t\tclassName=\"slds-icon-text-default\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<span className=\"slds-truncate\">{this.props.searchTerm}</span>\n\t\t\t\t\t</span>\n\t\t\t\t</a>\n\t\t\t</div>\n\t\t);\n\t}\n}\n\nDefaultHeader.displayName = displayName;\nDefaultHeader.propTypes = propTypes;\nDefaultHeader.defaultProps = defaultProps;\n\nexport default DefaultHeader;\n","// Alias\nimport DefaultHeader from '../../header';\n\nexport default DefaultHeader;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// Implements the [Lookup design pattern](https://latest-204.lightningdesignsystem.com/components/lookups) in React.\n// Based on SLDS v2.1.0-dev\n\nimport React from 'react';\nimport Icon from '../icon';\nimport EventUtil from '../../utilities/event';\n\nconst displayName = 'LookupDefaultFooter';\nconst propTypes = {};\nconst defaultProps = {};\n\nclass DefaultFooter extends React.Component {\n\t// eslint-disable-next-line react/sort-comp, camelcase\n\tUNSAFE_componentWillReceiveProps(nextProps) {\n\t\tif (\n\t\t\tnextProps.isActive !== this.props.isActive &&\n\t\t\tnextProps.isActive === true\n\t\t) {\n\t\t\tthis.props.setFocus('newItem');\n\t\t}\n\t}\n\n\thandleClick = () => {\n\t\tif (this.props.onClose) {\n\t\t\tthis.props.onClose();\n\t\t}\n\t};\n\n\trender() {\n\t\tlet className = 'slds-lookup__item-action slds-lookup__item-action_label';\n\t\tif (this.props.isActive) className += ' slds-theme_shade';\n\n\t\treturn (\n\t\t\t/* eslint-disable jsx-a11y/no-static-element-interactions */\n\t\t\t<div\n\t\t\t\tclassName=\"js-slds-lookup__item\"\n\t\t\t\tonClick={this.handleClick}\n\t\t\t\tonMouseDown={EventUtil.trapImmediate}\n\t\t\t>\n\t\t\t\t{/* eslint-enable jsx-a11y/no-static-element-interactions */}\n\t\t\t\t{/* eslint-disable no-script-url */}\n\t\t\t\t<a id=\"newItem\" href=\"javascript:void(0);\" className={className}>\n\t\t\t\t\t{/* eslint-enable no-script-url */}\n\t\t\t\t\t<span className=\"lookup__item-action-label\">\n\t\t\t\t\t\t<Icon\n\t\t\t\t\t\t\tname=\"add\"\n\t\t\t\t\t\t\tcategory=\"utility\"\n\t\t\t\t\t\t\tsize=\"x-small\"\n\t\t\t\t\t\t\tclassName=\"slds-icon-text-default\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<span className=\"slds-truncate\">\n\t\t\t\t\t\t\t{this.props.newItemLabel\n\t\t\t\t\t\t\t\t? this.props.newItemLabel\n\t\t\t\t\t\t\t\t: 'Add New Item'}\n\t\t\t\t\t\t</span>\n\t\t\t\t\t</span>\n\t\t\t\t</a>\n\t\t\t</div>\n\t\t);\n\t}\n}\n\nDefaultFooter.displayName = displayName;\nDefaultFooter.propTypes = propTypes;\nDefaultFooter.defaultProps = defaultProps;\n\nexport default DefaultFooter;\n","// Alias\nimport DefaultFooter from '../../footer';\n\nexport default DefaultFooter;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\nconst displayName = 'LookupDefaultSectionDivider';\nconst propTypes = {\n\tdata: PropTypes.object,\n};\n\nconst DefaultSectionDivider = (props) => (\n\t<li className=\"slds-p-around_x-small slds-lookup__divider\" tabIndex=\"-1\">\n\t\t<span className=\"slds-m-left_x-small\">\n\t\t\t<strong>{props.data.label}</strong>\n\t\t</span>\n\t</li>\n);\n\nDefaultSectionDivider.displayName = displayName;\nDefaultSectionDivider.propTypes = propTypes;\n\nexport default DefaultSectionDivider;\n","// Alias\nimport DefaultSectionDivider from '../../section-divider';\n\nexport default DefaultSectionDivider;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n/* eslint-disable import/no-mutable-exports */\n\nimport componentIsDeprecated from '../../utilities/warning/component-is-deprecated';\n\nlet checkProps = function checkPropsFunction() {};\n\nif (process.env.NODE_ENV !== 'production') {\n\tcheckProps = function checkPropsFunction(COMPONENT, props) {\n\t\tcomponentIsDeprecated(\n\t\t\tCOMPONENT,\n\t\t\tprops,\n\t\t\t'Please use an auto-complete Combobox instead. It is more accessible and closer aligned to SLDS.'\n\t\t);\n\t};\n}\n\nexport default checkProps;\n","/* eslint-disable prefer-destructuring */\n/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n/* eslint-disable jsx-a11y/role-has-required-aria-props */\n\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport cx from 'classnames';\nimport Icon from '../../icon';\nimport EventUtil from '../../../utilities/event';\n\nconst displayName = 'Lookup-Menu-Item';\nconst propTypes = {\n\tdata: PropTypes.object,\n\thandleItemFocus: PropTypes.func,\n\thref: PropTypes.string,\n\ticonCategory: PropTypes.string,\n\tid: PropTypes.string,\n\tindex: PropTypes.number,\n\tisActive: PropTypes.bool,\n\tisDisabled: PropTypes.bool,\n\tlistItemLabelRenderer: PropTypes.func,\n\tonSelect: PropTypes.func,\n\tsearchTerm: PropTypes.string,\n\tsetFocus: PropTypes.func,\n};\n\nclass Item extends React.Component {\n\t// eslint-disable-next-line camelcase, react/sort-comp\n\tUNSAFE_componentWillReceiveProps(nextProps) {\n\t\tif (\n\t\t\tnextProps.isActive !== this.props.isActive &&\n\t\t\tnextProps.isActive === true\n\t\t) {\n\t\t\tthis.scrollFocus();\n\t\t\tthis.props.setFocus(this.props.id);\n\t\t}\n\t}\n\n\tgetCustomLabel() {\n\t\tconst ListItemLabel = this.props.listItemLabelRenderer;\n\t\treturn <ListItemLabel {...this.props} />;\n\t}\n\n\tgetIcon() {\n\t\tif (this.props.iconName && !this.props.listItemLabelRenderer) {\n\t\t\treturn (\n\t\t\t\t<span className=\"slds-media__figure\">\n\t\t\t\t\t<Icon\n\t\t\t\t\t\tcategory={this.props.iconCategory}\n\t\t\t\t\t\tinverse={this.props.iconInverse}\n\t\t\t\t\t\tkey={this.props.iconName}\n\t\t\t\t\t\tname={this.props.iconName}\n\t\t\t\t\t\tsize=\"small\"\n\t\t\t\t\t/>\n\t\t\t\t</span>\n\t\t\t);\n\t\t}\n\t\treturn null;\n\t}\n\n\tgetLabel() {\n\t\tlet label;\n\t\tif (this.props.children.data.subTitle) {\n\t\t\tlabel = (\n\t\t\t\t<div className=\"slds-media__body\">\n\t\t\t\t\t<div className=\"slds-lookup__result-text\">\n\t\t\t\t\t\t{this.props.children.label}\n\t\t\t\t\t</div>\n\t\t\t\t\t<span className=\"slds-lookup__result-meta slds-text-body_small\">\n\t\t\t\t\t\t{this.props.children.data.subTitle}\n\t\t\t\t\t</span>\n\t\t\t\t</div>\n\t\t\t);\n\t\t} else {\n\t\t\tconst labelClassName = cx('slds-lookup__result-text', {\n\t\t\t\t'slds-m-left_x-small': !this.props.iconName,\n\t\t\t});\n\n\t\t\tlabel = (\n\t\t\t\t<div className=\"slds-media__body\">\n\t\t\t\t\t<div className={labelClassName}>{this.props.children.label}</div>\n\t\t\t\t</div>\n\t\t\t);\n\t\t}\n\t\treturn label;\n\t}\n\n\thandleClick = () => this.props.onSelect(this.props.id, this.props.data);\n\n\t// Scroll menu item based on up/down mouse keys (assumes all items are the same height)\n\tscrollFocus() {\n\t\tconst height = this.itemRef.offsetHeight;\n\t\tif (height && this.props.handleItemFocus) {\n\t\t\tthis.props.handleItemFocus(this.props.index, height);\n\t\t}\n\t}\n\n\trender() {\n\t\tlet itemClassName = 'js-slds-lookup__item';\n\t\tconst id = this.props.id;\n\t\tif (this.props.isActive) itemClassName += ' slds-theme_shade';\n\n\t\treturn (\n\t\t\t// IMPORTANT: anchor id is used to set lookup's input's aria-activedescendant\n\t\t\t<li\n\t\t\t\tclassName={itemClassName}\n\t\t\t\tref={(li) => {\n\t\t\t\t\tthis.itemRef = li;\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\t<a\n\t\t\t\t\taria-disabled={this.props.isDisabled}\n\t\t\t\t\tclassName=\"slds-lookup__item-action slds-media slds-media_center\"\n\t\t\t\t\thref={this.props.href}\n\t\t\t\t\tid={id}\n\t\t\t\t\tonClick={this.handleClick}\n\t\t\t\t\tonMouseDown={EventUtil.trapImmediate}\n\t\t\t\t\tref={id}\n\t\t\t\t\trole=\"option\"\n\t\t\t\t\ttabIndex=\"-1\"\n\t\t\t\t>\n\t\t\t\t\t{this.getIcon()}\n\t\t\t\t\t{this.props.listItemLabelRenderer\n\t\t\t\t\t\t? this.getCustomLabel()\n\t\t\t\t\t\t: this.getLabel()}\n\t\t\t\t</a>\n\t\t\t</li>\n\t\t);\n\t}\n}\n\nItem.displayName = displayName;\nItem.propTypes = propTypes;\n\nexport default Item;\n","/* eslint-disable react/sort-comp */\n/* eslint-disable prefer-destructuring */\n/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport Item from './item';\n\n/* eslint-disable react/no-did-update-set-state */\n\nconst displayName = 'Lookup-Menu';\nconst propTypes = {\n\tboldRegex: PropTypes.instanceOf(RegExp),\n\temptyMessage: PropTypes.oneOfType([PropTypes.string, PropTypes.element]),\n\tfilterWith: PropTypes.func,\n\tfocusIndex: PropTypes.number,\n\tgetListLength: PropTypes.func,\n\ticonCategory: PropTypes.string,\n\titems: PropTypes.array,\n\tlabel: PropTypes.string,\n\tlistLength: PropTypes.number,\n\tsearchTerm: PropTypes.string,\n\tsetFocus: PropTypes.func,\n};\nconst defaultProps = {\n\temptyMessage: 'No matches found.',\n};\nclass Menu extends React.Component {\n\tconstructor(props) {\n\t\tsuper(props);\n\t\tthis.state = { filteredItems: this.filteredItems() };\n\t}\n\n\t// Set filtered list length in parent to determine active indexes for aria-activedescendent\n\tcomponentDidUpdate(prevProps) {\n\t\t// make an array of the children of the list but only count the actual items (but include section dividers)\n\t\tconst childFilter = (child) =>\n\t\t\tchild.className.indexOf('js-slds-lookup__item') > -1 ||\n\t\t\tchild.className.indexOf('slds-lookup__divider') > -1;\n\t\tconst list = [].slice.call(this.listRef.children).filter(childFilter)\n\t\t\t.length;\n\t\tthis.props.getListLength(list);\n\t\tif (\n\t\t\tprevProps.items !== this.props.items ||\n\t\t\tprevProps.filter !== this.props.filter ||\n\t\t\tprevProps.searchTerm !== this.props.searchTerm\n\t\t) {\n\t\t\t// eslint-disable-next-line class-methods-use-this\n\t\t\tthis.setState({\n\t\t\t\tfilteredItems: this.filteredItems(),\n\t\t\t});\n\t\t}\n\t}\n\n\tgetFilteredItemForIndex(i) {\n\t\tif (\n\t\t\ti > -1 &&\n\t\t\tthis.state.filteredItems &&\n\t\t\ti < this.state.filteredItems.length\n\t\t) {\n\t\t\treturn this.state.filteredItems[i];\n\t\t}\n\t\treturn null;\n\t}\n\n\tfilter(item) {\n\t\treturn this.props.filterWith(this.props.searchTerm, item);\n\t}\n\n\t// eslint-disable-next-line class-methods-use-this\n\tfilterEmptySections(items) {\n\t\tconst result = [];\n\t\titems.forEach((item, index) => {\n\t\t\tif (item && item.data && item.data.type === 'section') {\n\t\t\t\tif (index + 1 < items.length) {\n\t\t\t\t\tconst nextItem = items[index + 1];\n\t\t\t\t\tif (nextItem.data && nextItem.data.type !== 'section') {\n\t\t\t\t\t\t// eslint-disable-next-line fp/no-mutating-methods\n\t\t\t\t\t\tresult.push(item);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\t// eslint-disable-next-line fp/no-mutating-methods\n\t\t\t\tresult.push(item);\n\t\t\t}\n\t\t});\n\t\treturn result;\n\t}\n\n\tfilteredItems() {\n\t\treturn this.filterEmptySections(this.props.items.filter(this.filter, this));\n\t}\n\n\t// Scroll menu up/down when using mouse keys\n\thandleItemFocus = (itemIndex, itemHeight) => {\n\t\tif (this.listRef) {\n\t\t\tthis.listRef.scrollTop = itemIndex * itemHeight;\n\t\t}\n\t};\n\n\trenderContent() {\n\t\tif (this.state.filteredItems.length === 0) {\n\t\t\treturn (\n\t\t\t\t<li className=\"slds-lookup__message\" aria-live=\"polite\">\n\t\t\t\t\t<span className=\"slds-m-left_x-large slds-p-vertical_medium\">\n\t\t\t\t\t\t{this.props.emptyMessage}\n\t\t\t\t\t</span>\n\t\t\t\t</li>\n\t\t\t);\n\t\t}\n\n\t\treturn this.renderItems();\n\t}\n\n\trenderFooter() {\n\t\treturn this.props.footer;\n\t}\n\n\trenderHeader() {\n\t\treturn this.props.header;\n\t}\n\n\trenderItems() {\n\t\tconst focusIndex = this.props.focusIndex;\n\t\treturn this.state.filteredItems.map((component, i) => {\n\t\t\t// isActive means it is aria-activedescendant\n\t\t\tconst id = component.id;\n\t\t\tlet isActive = false;\n\t\t\tif (this.props.header) {\n\t\t\t\tisActive = focusIndex === i + 1;\n\t\t\t} else {\n\t\t\t\tisActive = focusIndex === i;\n\t\t\t}\n\t\t\tif (component.data.type === 'section') {\n\t\t\t\tif (this.props.sectionDividerRenderer) {\n\t\t\t\t\tconst SectionDivider = this.props.sectionDividerRenderer;\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<SectionDivider\n\t\t\t\t\t\t\tdata={component.data}\n\t\t\t\t\t\t\tkey={`section_header_${id}`}\n\t\t\t\t\t\t\t{...this.props}\n\t\t\t\t\t\t/>\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn (\n\t\t\t\t<Item\n\t\t\t\t\tboldRegex={this.props.boldRegex}\n\t\t\t\t\tdata={component.data}\n\t\t\t\t\thandleItemFocus={this.handleItemFocus}\n\t\t\t\t\ticonCategory={this.props.iconCategory}\n\t\t\t\t\ticonInverse={this.props.iconInverse}\n\t\t\t\t\ticonName={this.props.iconName}\n\t\t\t\t\tid={id}\n\t\t\t\t\tindex={i}\n\t\t\t\t\tisActive={isActive}\n\t\t\t\t\tkey={id}\n\t\t\t\t\tlistItemLabelRenderer={this.props.listItemLabelRenderer}\n\t\t\t\t\tonSelect={this.props.onSelect}\n\t\t\t\t\tsearchTerm={this.props.searchTerm}\n\t\t\t\t\tsetFocus={this.props.setFocus}\n\t\t\t\t>\n\t\t\t\t\t{component}\n\t\t\t\t</Item>\n\t\t\t);\n\t\t});\n\t}\n\n\trenderSectionDivider() {\n\t\treturn this.props.sectionDivider;\n\t}\n\n\trender() {\n\t\treturn (\n\t\t\t<section id=\"menuContainer\" className=\"ignore-react-onclickoutside\">\n\t\t\t\t{this.renderHeader()}\n\t\t\t\t<ul\n\t\t\t\t\tid=\"list\"\n\t\t\t\t\tclassName=\"slds-lookup__list\"\n\t\t\t\t\trole=\"presentation\"\n\t\t\t\t\tref={(list) => {\n\t\t\t\t\t\tif (list) {\n\t\t\t\t\t\t\tthis.listRef = list;\n\t\t\t\t\t\t}\n\t\t\t\t\t}}\n\t\t\t\t>\n\t\t\t\t\t{this.renderContent()}\n\t\t\t\t</ul>\n\t\t\t\t{this.renderFooter()}\n\t\t\t</section>\n\t\t);\n\t}\n}\n\nMenu.displayName = displayName;\nMenu.propTypes = propTypes;\nMenu.defaultProps = defaultProps;\n\nexport default Menu;\n","// Alias\nimport Menu from '../private/menu';\n\nexport default Menu;\n","/* eslint-disable max-lines */\n/* eslint-disable react/no-access-state-in-setstate */\n/* eslint-disable prefer-destructuring */\n/* eslint-disable max-lines */\n/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n/* eslint-disable jsx-a11y/role-has-required-aria-props */\n\n// # Lookup Component\n\n// Implements the [Lookup design pattern](https://latest-204.lightningdesignsystem.com/components/lookups) in React.\n// Based on SLDS v2.1.0-dev\n\n// ## Dependencies\n\n// ### React\nimport React from 'react';\n\nimport PropTypes from 'prop-types';\nimport escapeRegExp from 'lodash.escaperegexp';\nimport isEqual from 'lodash.isequal';\nimport classNames from 'classnames';\n\n// This component's `checkProps` which issues warnings to developers about properties\n// when in development mode (similar to React's built in development tools)\nimport checkProps from './check-props';\n\n// Children\nimport Dialog from '../utilities/dialog';\nimport Button from '../button';\nimport Icon from '../icon';\nimport InputIcon from '../icon/input-icon';\nimport Input from '../input';\n\n// ### Event Helpers\nimport EventUtil from '../../utilities/event';\nimport KEYS from '../../utilities/key-code';\n\nimport Menu from './menu';\n\nimport { LOOKUP } from '../../utilities/constants';\n\n/**\n * A function that takes a term string and an item and returns a truthy value if the item should be kept.\n */\nconst defaultFilter = (term, item) => {\n\tif (!term) return true;\n\treturn (\n\t\t(item.data && item.data.type === 'section') ||\n\t\titem.label.match(new RegExp(escapeRegExp(term), 'ig'))\n\t);\n};\n\nconst normalizeSearchTerm = (string) =>\n\t(string || '').toString().replace(/^\\s+/, '');\n\n/**\n * ** Lookup is deprecated. Please use an auto-complete Combobox instead.**\n *\n * Lookup is an advanced inline search form. The lookup can parse through single or multi scoped datasets. The parsed dataset can be filtered by single or multi option selects.\n *\n * This component is wrapped in a [higher order component to listen for clicks outside itself](https://github.com/kentor/react-click-outside) and thus requires use of `ReactDOM`.\n */\nconst Lookup = class extends React.Component {\n\tstatic displayName = LOOKUP;\n\n\tstatic propTypes = {\n\t\t/**\n\t\t * If present, the label associated with this `input` is overwritten\n\t\t * by this text and is visually not shown.\n\t\t */\n\t\tassistiveText: PropTypes.oneOfType([PropTypes.object, PropTypes.string]),\n\t\t/**\n\t\t * Class names to be added to the tag classed with `slds-lookup`.\n\t\t */\n\t\tclassName: PropTypes.oneOfType([\n\t\t\tPropTypes.array,\n\t\t\tPropTypes.object,\n\t\t\tPropTypes.string,\n\t\t]),\n\t\t/**\n\t\t * If true, constrains the menu to the scroll parent. Has no effect if `isInline` is `true`.\n\t\t */\n\t\tconstrainToScrollParent: PropTypes.bool,\n\t\t/**\n\t\t * ID for aria-describedby (e.g. for an error message or a description)\n\t\t */\n\t\tdescribedById: PropTypes.string,\n\t\t/**\n\t\t * Please select one of the following:\n\t\t * * `absolute` - (default) The dialog will use `position: absolute` and style attributes to position itself. This allows inverted placement or flipping of the dialog.\n\t\t * * `overflowBoundaryElement` - The dialog will overflow scrolling parents. Use on elements that are aligned to the left or right of their target and don't care about the target being within a scrolling parent. Typically this is a popover or tooltip. Dropdown menus can usually open up and down if no room exists. In order to achieve this a portal element will be created and attached to `body`. This element will render into that detached render tree.\n\t\t * * `relative` - No styling or portals will be used. Menus will be positioned relative to their triggers. This is a great choice for HTML snapshot testing.\n\t\t */\n\t\tmenuPosition: PropTypes.string,\n\t\t/**\n\t\t * This prop is passed onto the `input`. Prevents dropdown menu from opening. Also applies disabled styling to input.\n\t\t */\n\t\tdisabled: PropTypes.bool,\n\t\t/**\n\t\t * Custom message that renders when no matches found. The default empty state is just text that says, 'No matches found.'.\n\t\t */\n\t\temptyMessage: PropTypes.oneOfType([PropTypes.string, PropTypes.element]),\n\t\t/**\n\t\t * Custom function to filter the Lookup items when typing into input field. The default function is case-insensitive and uses the searchTerm to filter Lookup items on their labels.\n\t\t */\n\t\tfilterWith: PropTypes.func,\n\t\t/**\n\t\t * If true, the menu is constrained to the window and may be flipped up. Has no effect if `isInline` is `true`. In other components, its opposite is used `hasStaticAlignment`.\n\t\t */\n\t\tflippable: PropTypes.bool,\n\t\t/**\n\t\t * Custom component for Lookup footer. The default footer allows user to add new item - see <a href='http://www.lightningdesignsystem.com/components/lookups/#base'>Lightning Design System Lookup > Base</a>. To use the default footer, pass in <code>Lookup.DefaultFooter</code>.\n\t\t */\n\t\tfooterRenderer: PropTypes.func,\n\t\t/**\n\t\t * Custom component for Lookup header. The default header has a search icon and shows the search term - see <a href='http://www.lightningdesignsystem.com/components/lookups/#base'>Lightning Design System Lookup > Base</a>. To use the default header, pass in <code>Lookup.DefaultHeader</code>.\n\t\t */\n\t\theaderRenderer: PropTypes.func,\n\t\t/**\n\t\t * Please refer to <a href='http://www.lightningdesignsystem.com/resources/icons'>Lightning Design System Icons</a> to view categories.\n\t\t */\n\t\ticonCategory: PropTypes.string,\n\t\t/**\n\t\t * If true, icon color is white. If false, icon color is the default text color.\n\t\t */\n\t\ticonInverse: PropTypes.bool,\n\t\t/**\n\t\t * Name of icon. Please refer to <a href='http://www.lightningdesignsystem.com/resources/icons'>Lightning Design System Icons</a> to view icon names.\n\t\t */\n\t\ticonName: PropTypes.string,\n\t\t/**\n\t\t * Determines whether the input's icon will display that icon on the left or the right.\n\t\t */\n\t\ticonPosition: PropTypes.oneOf(['left', 'right']),\n\t\t/**\n\t\t * Renders menu within the wrapping trigger as a sibling of the button. By default, you will have an absolutely positioned container at an elevated z-index.\n\t\t */\n\t\tisInline: PropTypes.bool,\n\t\t/**\n\t\t * Whether or not the dropdown menu is open. This overrides the default behavior.\n\t\t */\n\t\tisOpen: PropTypes.bool,\n\t\t/**\n\t\t * Form label for input.\n\t\t */\n\t\tlabel: PropTypes.string,\n\t\t/**\n\t\t * Custom component that overrides the default Lookup Item component.\n\t\t */\n\t\tlistItemLabelRenderer: PropTypes.func,\n\t\t/**\n\t\t * Triggered when input focus is removed.\n\t\t */\n\t\tonBlur: PropTypes.func,\n\t\t/**\n\t\t * Triggered when the contents of the input changes.\n\t\t */\n\t\tonChange: PropTypes.func,\n\t\t/**\n\t\t * Triggered when input is focused.\n\t\t */\n\t\tonFocus: PropTypes.func,\n\t\t/**\n\t\t * Function called when the lookup dropdown would like hide. This will turn the Lookup into into a controlled component. Please use with `isOpen`.\n\t\t */\n\t\tonRequestClose: PropTypes.func,\n\t\t/**\n\t\t * Function called when the lookup dropdown would like show. This will turn the Lookup into into a controlled component. Please use with `isOpen`.\n\t\t */\n\t\tonRequestOpen: PropTypes.func,\n\t\t/**\n\t\t * Triggered when the user scrolls in the dropdown menu.\n\t\t */\n\t\tonScroll: PropTypes.func,\n\t\t/**\n\t\t * Triggered when an item is selected from the dropdown menu.\n\t\t */\n\t\tonSelect: PropTypes.func,\n\t\t/**\n\t\t * Triggered when an item is an item is removed from the input.\n\t\t */\n\t\tonUnselect: PropTypes.func,\n\t\t/**\n\t\t * Item added to the dropdown menu.\n\t\t */\n\t\toptions: PropTypes.array.isRequired,\n\t\t/**\n\t\t * Text that will appear in an empty input.\n\t\t */\n\t\tplaceholder: PropTypes.string,\n\t\t/**\n\t\t * If true, adds asterisk next to input label to indicate it is a required field.\n\t\t */\n\t\trequired: PropTypes.bool,\n\t\t/**\n\t\t * Text passed on to header search input of dropdown menu.\n\t\t */\n\t\tsearchTerm: PropTypes.string,\n\t\t/**\n\t\t * Custom component that overrides the default section divider\n\t\t */\n\t\tsectionDividerRenderer: PropTypes.func,\n\t\t/**\n\t\t * Index of current selected item. To clear the selection, pass in -1.\n\t\t */\n\t\tselectedItem: PropTypes.number,\n\t};\n\n\tstatic defaultProps = {\n\t\tconstrainToScrollParent: true,\n\t\tfilterWith: defaultFilter,\n\t\ticonPosition: 'right',\n\t\tsearchTerm: '',\n\t\tmenuPosition: 'absolute',\n\t};\n\n\tstate = {\n\t\tcurrentFocus: null,\n\t\tfocusIndex: null,\n\t\titems: [],\n\t\tlistLength: this.props.options.length,\n\t\tsearchTerm: normalizeSearchTerm(this.props.searchTerm),\n\t\tselectedIndex: this.props.selectedItem,\n\t};\n\n\tconstructor(props) {\n\t\tsuper(props);\n\n\t\t// `checkProps` issues warnings to developers about properties (similar to React's built in development tools)\n\t\tcheckProps(LOOKUP, props);\n\n\t\t// Keeps track of references of children for keyboard navigation\n\t\tthis.pills = [];\n\t}\n\n\tcomponentDidMount() {\n\t\tthis.modifyItems(this.props.options);\n\t}\n\n\t// eslint-disable-next-line camelcase, react/sort-comp\n\tUNSAFE_componentWillReceiveProps(newProps) {\n\t\tif (newProps.options) {\n\t\t\tthis.modifyItems(newProps.options);\n\t\t}\n\t\tif (\n\t\t\tnewProps.selectedItem !== this.props.selectedItem ||\n\t\t\t!isEqual(newProps.options, this.props.options)\n\t\t) {\n\t\t\tthis.setState({ selectedIndex: newProps.selectedItem });\n\t\t}\n\t}\n\n\tcomponentDidUpdate(prevProps, prevState) {\n\t\tif (\n\t\t\t!isNaN(parseInt(prevState.selectedIndex, 10)) &&\n\t\t\tisNaN(parseInt(this.state.selectedIndex, 10))\n\t\t) {\n\t\t\tif (this.input) {\n\t\t\t\tthis.input.focus();\n\t\t\t}\n\t\t} else if (\n\t\t\tisNaN(parseInt(prevState.selectedIndex, 10)) &&\n\t\t\t!isNaN(parseInt(this.state.selectedIndex, 10))\n\t\t) {\n\t\t\tif (this.pills[this.state.selectedIndex]) {\n\t\t\t\tthis.pills[this.state.selectedIndex].focus();\n\t\t\t}\n\t\t}\n\t}\n\n\tgetClassName = () =>\n\t\tclassNames(this.props.className, 'slds-form-element slds-lookup', {\n\t\t\t'slds-has-selection': this.isSelected(),\n\t\t\t'slds-is-open': this.getIsOpen(),\n\t\t});\n\n\tsetFirstIndex = () => {\n\t\tlet nextFocusIndex = 0;\n\t\tlet filteredItem = this.state.items[0];\n\n\t\tif (this.menuComponent && this.menuComponent.getFilteredItemForIndex) {\n\t\t\tfilteredItem = this.menuComponent.getFilteredItemForIndex(nextFocusIndex);\n\t\t}\n\n\t\tif (filteredItem && filteredItem.data.type === 'section') {\n\t\t\tnextFocusIndex += 1;\n\t\t}\n\n\t\tthis.setState({ focusIndex: nextFocusIndex });\n\t};\n\n\tgetHeader = () => {\n\t\tconst Header = this.props.headerRenderer;\n\t\tconst headerActive = this.state.focusIndex === 0;\n\n\t\treturn (\n\t\t\t<Header\n\t\t\t\tref={(header) => {\n\t\t\t\t\tthis.headerComponent = header;\n\t\t\t\t}}\n\t\t\t\t{...this.props}\n\t\t\t\tfocusIndex={this.state.focusIndex}\n\t\t\t\tisActive={headerActive}\n\t\t\t\tonClose={this.handleClose}\n\t\t\t\tsearchTerm={this.state.searchTerm}\n\t\t\t\tsetFocus={this.setFocus}\n\t\t\t/>\n\t\t);\n\t};\n\n\tgetFooter = () => {\n\t\tconst Footer = this.props.footerRenderer;\n\t\tconst numFocusable = this.getNumFocusableItems();\n\t\tconst footerActive = this.state.focusIndex === numFocusable;\n\n\t\treturn (\n\t\t\t<Footer\n\t\t\t\tref={(footer) => {\n\t\t\t\t\tthis.footerComponent = footer;\n\t\t\t\t}}\n\t\t\t\t{...this.props}\n\t\t\t\tfocusIndex={this.state.focusIndex}\n\t\t\t\tisActive={footerActive}\n\t\t\t\tonClose={this.handleClose}\n\t\t\t\tsetFocus={this.setFocus}\n\t\t\t/>\n\t\t);\n\t};\n\n\tsetFocus = (id) => {\n\t\tthis.setState({ currentFocus: id });\n\t};\n\n\tgetIsOpen = () =>\n\t\t!!(typeof this.props.isOpen === 'boolean'\n\t\t\t? this.props.isOpen\n\t\t\t: this.state.isOpen);\n\n\tgetListLength = (qty) => {\n\t\tif (qty !== this.state.listLength) {\n\t\t\tthis.setState({ listLength: qty });\n\t\t}\n\t};\n\n\tgetNumFocusableItems = () => {\n\t\tlet offset = 0;\n\n\t\tif (this.footerComponent) {\n\t\t\toffset += 1;\n\t\t}\n\n\t\tif (this.headerComponent) {\n\t\t\toffset += 1;\n\t\t}\n\n\t\treturn this.state.listLength - 1 + offset;\n\t};\n\n\t// =================================================\n\t// Using down/up keys, set Focus on list item and assign it to aria-activedescendant attribute in input.\n\t// Need to keep track of filtered list length to be able to increment/decrement the focus index so it's contained to the number of available list items.\n\tincreaseIndex = () => {\n\t\tconst numFocusable = this.getNumFocusableItems();\n\t\tlet nextFocusIndex =\n\t\t\tthis.state.focusIndex < numFocusable ? this.state.focusIndex + 1 : 0;\n\t\tconst filteredItem = this.menuComponent.getFilteredItemForIndex(\n\t\t\tnextFocusIndex\n\t\t);\n\n\t\tif (filteredItem && filteredItem.data.type === 'section') {\n\t\t\tnextFocusIndex += 1;\n\t\t}\n\n\t\tthis.setState({ focusIndex: nextFocusIndex });\n\t};\n\n\tdecreaseIndex = () => {\n\t\tconst numFocusable = this.getNumFocusableItems();\n\t\tlet prevFocusIndex =\n\t\t\tthis.state.focusIndex > 0 ? this.state.focusIndex - 1 : numFocusable;\n\t\tconst filteredItem = this.menuComponent.getFilteredItemForIndex(\n\t\t\tprevFocusIndex\n\t\t);\n\n\t\tif (filteredItem && filteredItem.data.type === 'section') {\n\t\t\tprevFocusIndex = prevFocusIndex === 0 ? numFocusable : prevFocusIndex - 1;\n\t\t}\n\n\t\tthis.setState({ focusIndex: prevFocusIndex });\n\t};\n\n\t// =================================================\n\t// Select menu item (onClick or on key enter/space)\n\tselectItem = (itemId) => {\n\t\tif (itemId) {\n\t\t\tconst index = itemId.replace('item-', '');\n\t\t\tthis.selectItemByIndex(index);\n\t\t}\n\t};\n\n\tselectItemByIndex = (index) => {\n\t\tif (index >= 0 && index < this.state.items.length) {\n\t\t\tif (this.props.onRequestClose) {\n\t\t\t\tthis.props.onRequestClose();\n\t\t\t}\n\t\t\tthis.setState({\n\t\t\t\tisOpen: false,\n\t\t\t\tselectedIndex: index,\n\t\t\t\tsearchTerm: '',\n\t\t\t});\n\t\t\tconst data = this.state.items[index].data;\n\t\t\tif (this.props.onSelect) {\n\t\t\t\tthis.props.onSelect(data);\n\t\t\t}\n\t\t}\n\t};\n\n\thandleDeleteSelected = () => {\n\t\tif (this.props.onRequestOpen) {\n\t\t\tthis.props.onRequestOpen();\n\t\t}\n\t\tthis.setState({\n\t\t\tselectedIndex: null,\n\t\t\tisOpen: true,\n\t\t});\n\n\t\tthis.focusInput();\n\n\t\tif (this.props.onUnselect) {\n\t\t\tthis.props.onUnselect();\n\t\t}\n\t};\n\n\t// =================================================\n\t// Event Listeners on Input\n\thandleClose = () => {\n\t\tif (this.props.onRequestClose) {\n\t\t\tthis.props.onRequestClose();\n\t\t}\n\t\tthis.setState({\n\t\t\tisOpen: false,\n\t\t\tfocusIndex: null,\n\t\t\tcurrentFocus: null,\n\t\t});\n\t};\n\n\thandleClickOutside = () => {\n\t\tthis.handleClose();\n\t};\n\n\thandleEscape = (event) => {\n\t\tif (this.getIsOpen() && event) {\n\t\t\tEventUtil.trap(event);\n\t\t}\n\t\tthis.handleClose();\n\t};\n\n\thandleCancel = () => {\n\t\tthis.handleClose();\n\t};\n\n\thandleClick = () => {\n\t\tif (this.props.onRequestOpen) {\n\t\t\tthis.props.onRequestOpen();\n\t\t}\n\t\tthis.setState({ isOpen: true });\n\t};\n\n\thandleBlur = (event) => {\n\t\tif (this.props.onBlur) {\n\t\t\tconst target = event.target || event.currentTarget;\n\t\t\tthis.props.onBlur(target.value);\n\t\t}\n\t};\n\n\thandleFocus = (event) => {\n\t\tif (this.props.onFocus) {\n\t\t\tconst target = event.target || event.currentTarget;\n\t\t\tthis.props.onFocus(target.value);\n\t\t}\n\t\tif (this.props.onRequestOpen) {\n\t\t\tthis.props.onRequestOpen();\n\t\t}\n\t\tthis.setState({ isOpen: true });\n\t};\n\n\thandleChange = (event) => {\n\t\tconst target = event.target || event.currentTarget;\n\t\tthis.setState({ searchTerm: normalizeSearchTerm(target.value) });\n\t\tif (this.props.onChange) {\n\t\t\tthis.props.onChange(target.value);\n\t\t}\n\t};\n\n\thandleKeyDown = (event) => {\n\t\tif (event.keyCode) {\n\t\t\t// If user hits esc key or tab key, close menu\n\t\t\tif (event.keyCode === KEYS.ESCAPE) {\n\t\t\t\tthis.handleEscape(event);\n\t\t\t} else if (event.keyCode === KEYS.TAB) {\n\t\t\t\t// remove the focus on input, tab focus shoud move to next tabbale elemnt\n\t\t\t\tsetTimeout(() => {\n\t\t\t\t\tthis.handleClose();\n\t\t\t\t}, 200);\n\t\t\t\tthis.handleBlur(event);\n\t\t\t} else {\n\t\t\t\tthis.handleClick();\n\t\t\t}\n\n\t\t\t// If user hits down key, advance aria activedescendant to next item\n\t\t\tif (event.keyCode === KEYS.DOWN) {\n\t\t\t\tEventUtil.trapImmediate(event);\n\t\t\t\tif (this.state.focusIndex === null) {\n\t\t\t\t\tthis.setFirstIndex();\n\t\t\t\t} else {\n\t\t\t\t\tthis.increaseIndex();\n\t\t\t\t}\n\t\t\t} else if (event.keyCode === KEYS.UP) {\n\t\t\t\t// If user hits up key, advance aria activedescendant to previous item\n\t\t\t\tEventUtil.trapImmediate(event);\n\t\t\t\tconst numFocusable = this.getNumFocusableItems();\n\t\t\t\tif (this.state.focusIndex === null) {\n\t\t\t\t\tthis.setState({ focusIndex: numFocusable });\n\t\t\t\t} else {\n\t\t\t\t\tthis.decreaseIndex();\n\t\t\t\t}\n\t\t\t} else if (\n\t\t\t\tevent.keyCode === KEYS.ENTER &&\n\t\t\t\tthis.state.focusIndex !== null\n\t\t\t) {\n\t\t\t\t// If user hits enter, select current activedescendant item\n\t\t\t\tEventUtil.trapImmediate(event);\n\t\t\t\t// If the focus is on the first fixed Action Item in Menu, click it\n\t\t\t\tif (this.headerComponent && this.state.focusIndex === 0) {\n\t\t\t\t\tthis.headerComponent.handleClick();\n\t\t\t\t} else if (\n\t\t\t\t\tthis.footerComponent &&\n\t\t\t\t\tthis.state.focusIndex === this.state.listLength + 1\n\t\t\t\t) {\n\t\t\t\t\t// If the focus is on the last fixed Action Item in Menu, click it\n\t\t\t\t\tthis.footerComponent.handleClick();\n\t\t\t\t} else {\n\t\t\t\t\t// If not, then select menu item\n\t\t\t\t\tthis.selectItem(this.state.currentFocus);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t};\n\n\thandlePillKeyDown = (event) => {\n\t\tif (event.keyCode) {\n\t\t\tif (event.keyCode === KEYS.DELETE || event.keyCode === KEYS.BACKSPACE) {\n\t\t\t\tEventUtil.trapImmediate(event);\n\t\t\t\tthis.handleDeleteSelected();\n\t\t\t}\n\t\t}\n\t};\n\n\tinputRefId = () => `${this.props.label}Lookup`;\n\n\tfocusInput = () => {\n\t\tthis.focusOnRender = true;\n\t};\n\n\tisSelected = () => {\n\t\tconst hasSelection =\n\t\t\t!isNaN(parseInt(this.state.selectedIndex, 10)) &&\n\t\t\tthis.state.selectedIndex >= 0;\n\t\treturn hasSelection;\n\t};\n\n\tmodifyItems = (itemsToModify) => {\n\t\tconst items = itemsToModify.map((item, index) => ({\n\t\t\tid: `item-${index}`,\n\t\t\tlabel: item.label,\n\t\t\tdata: item,\n\t\t}));\n\n\t\tthis.setState({ items });\n\t};\n\n\t// =================================================\n\t// Rendering Things\n\trenderMenuContent = () => (\n\t\t<Menu\n\t\t\tref={(menu) => {\n\t\t\t\tthis.menuComponent = menu;\n\t\t\t}}\n\t\t\temptyMessage={this.props.emptyMessage}\n\t\t\tfilterWith={this.props.filterWith}\n\t\t\tfocusIndex={this.state.focusIndex}\n\t\t\tfooter={this.props.footerRenderer ? this.getFooter() : null}\n\t\t\tgetListLength={this.getListLength}\n\t\t\theader={this.props.headerRenderer ? this.getHeader() : null}\n\t\t\ticonCategory={this.props.iconCategory}\n\t\t\ticonInverse={this.props.iconInverse}\n\t\t\ticonName={this.props.iconName}\n\t\t\titems={this.state.items}\n\t\t\tlabel={this.props.label}\n\t\t\tlistItemLabelRenderer={this.props.listItemLabelRenderer}\n\t\t\tlistLength={this.state.listLength}\n\t\t\tonSelect={this.selectItem}\n\t\t\tsearchTerm={this.state.searchTerm}\n\t\t\tsectionDividerRenderer={this.props.sectionDividerRenderer}\n\t\t\tsetFocus={this.setFocus}\n\t\t/>\n\t);\n\n\trenderInlineMenu = () =>\n\t\tthis.getIsOpen() ? (\n\t\t\t<div\n\t\t\t\tclassName=\"ignore-react-onclickoutside slds-lookup__menu\"\n\t\t\t\trole=\"listbox\"\n\t\t\t>\n\t\t\t\t{this.renderMenuContent()}\n\t\t\t</div>\n\t\t) : null;\n\n\trenderSeparateMenu = () => {\n\t\t// FOR BACKWARDS COMPATIBILITY\n\t\tconst menuPosition = this.props.isInline\n\t\t\t? 'relative'\n\t\t\t: this.props.menuPosition; // eslint-disable-line react/prop-types\n\t\treturn this.getIsOpen() ? (\n\t\t\t<Dialog\n\t\t\t\talign=\"bottom\"\n\t\t\t\tclassName=\"slds-lookup__menu slds-show\"\n\t\t\t\tcloseOnTabKey\n\t\t\t\tcontentsClassName=\"slds-lookup__menu slds-show\"\n\t\t\t\tcontext={this.context}\n\t\t\t\tinheritWidthOf=\"target\"\n\t\t\t\tonClose={this.handleCancel}\n\t\t\t\thasStaticAlignement={!this.props.flippable}\n\t\t\t\tconstrainToScrollParent={this.props.constrainToScrollParent}\n\t\t\t\tonRequestTargetElement={() => this.input}\n\t\t\t\tposition={menuPosition}\n\t\t\t>\n\t\t\t\t{this.renderMenuContent()}\n\t\t\t</Dialog>\n\t\t) : null;\n\t};\n\n\trenderInput = () => (\n\t\t<Input\n\t\t\taria-activedescendant={\n\t\t\t\tthis.state.currentFocus ? this.state.currentFocus : ''\n\t\t\t}\n\t\t\taria-autocomplete=\"list\"\n\t\t\taria-describedby={this.props.describedById}\n\t\t\taria-expanded={!!this.getIsOpen()}\n\t\t\tassistiveText={this.props.assistiveText}\n\t\t\tclassName=\"slds-lookup__search-input\"\n\t\t\tdisabled={this.props.disabled}\n\t\t\ticonRight={\n\t\t\t\t<InputIcon\n\t\t\t\t\tassistiveText={{ icon: 'Search' }}\n\t\t\t\t\tcategory=\"utility\"\n\t\t\t\t\tname=\"search\"\n\t\t\t\t/>\n\t\t\t}\n\t\t\tid={this.inputRefId()}\n\t\t\tonBlur={this.handleBlur}\n\t\t\tonChange={this.handleChange}\n\t\t\tonClick={this.handleClick}\n\t\t\tonFocus={this.handleFocus}\n\t\t\tonKeyDown={this.handleKeyDown}\n\t\t\tinputRef={(component) => {\n\t\t\t\tthis.input = component;\n\t\t\t\tif (this.focusOnRender) {\n\t\t\t\t\tthis.input.focus();\n\t\t\t\t\tthis.focusOnRender = false;\n\t\t\t\t}\n\t\t\t}}\n\t\t\tplaceholder={this.props.placeholder}\n\t\t\trole=\"combobox\"\n\t\t\ttype=\"text\"\n\t\t\tvalue={this.state.searchTerm}\n\t\t/>\n\t);\n\n\trenderSelectedItem = () => {\n\t\tconst selectedItem = this.props.options[this.state.selectedIndex].label;\n\t\tconst renderIcon = this.props.iconName ? (\n\t\t\t<Icon\n\t\t\t\tcategory={this.props.iconCategory}\n\t\t\t\tclassName=\"slds-icon slds-pill__icon\"\n\t\t\t\tinverse={this.props.iconInverse}\n\t\t\t\tname={this.props.iconName}\n\t\t\t/>\n\t\t) : null;\n\t\tconst labelClassName = this.props.iconName\n\t\t\t? 'slds-pill__label'\n\t\t\t: 'slds-pill__label slds-m-left_x-small';\n\n\t\t// i18n\n\t\treturn (\n\t\t\t<div className=\"slds-pill__container\">\n\t\t\t\t{/* eslint-disable no-script-url */}\n\t\t\t\t<a\n\t\t\t\t\thref=\"javascript:void(0)\"\n\t\t\t\t\tclassName=\"slds-pill\"\n\t\t\t\t\tref={(pill) => {\n\t\t\t\t\t\tthis.pills[this.state.selectedIndex] = pill;\n\t\t\t\t\t}}\n\t\t\t\t\tonKeyDown={this.handlePillKeyDown}\n\t\t\t\t>\n\t\t\t\t\t{/* eslint-enable no-script-url */}\n\t\t\t\t\t{renderIcon}\n\t\t\t\t\t<span className={labelClassName}>{selectedItem}</span>\n\t\t\t\t\t<Button\n\t\t\t\t\t\tassistiveText={{ icon: 'Press delete to remove' }}\n\t\t\t\t\t\tclassName=\"slds-pill__remove slds-button_icon-bare\"\n\t\t\t\t\t\ticonCategory=\"utility\"\n\t\t\t\t\t\ticonName=\"close\"\n\t\t\t\t\t\tonClick={this.handleDeleteSelected}\n\t\t\t\t\t\ttabIndex=\"-1\"\n\t\t\t\t\t\tvariant=\"icon\"\n\t\t\t\t\t/>\n\t\t\t\t</a>\n\t\t\t</div>\n\t\t);\n\t};\n\n\trenderLabel = () => {\n\t\tlet inputLabel;\n\t\tconst required = this.props.required ? (\n\t\t\t// eslint-disable-next-line react/jsx-curly-brace-presence\n\t\t\t<span className=\"slds-required\">{'*'}</span>\n\t\t) : null;\n\t\tif (this.isSelected()) {\n\t\t\t// inline style override\n\t\t\tinputLabel = (\n\t\t\t\t<span className=\"slds-form-element__label\" style={{ width: '100%' }}>\n\t\t\t\t\t{required}\n\t\t\t\t\t{this.props.label}\n\t\t\t\t</span>\n\t\t\t);\n\t\t} else {\n\t\t\tinputLabel = (\n\t\t\t\t<label\n\t\t\t\t\tclassName=\"slds-form-element__label\"\n\t\t\t\t\thtmlFor={this.inputRefId()}\n\t\t\t\t\tstyle={{ width: '100%' }}\n\t\t\t\t>\n\t\t\t\t\t{required}\n\t\t\t\t\t{this.props.label}\n\t\t\t\t</label>\n\t\t\t);\n\t\t}\n\t\treturn inputLabel;\n\t};\n\n\trender() {\n\t\tlet isInline;\n\t\t/* eslint-disable react/prop-types */\n\t\tif (this.props.isInline) {\n\t\t\tisInline = true;\n\t\t} else if (this.props.modal !== undefined) {\n\t\t\tisInline = !this.props.modal;\n\t\t}\n\t\t/* eslint-enable react/prop-types */\n\n\t\tconst formElementControlClasses = {\n\t\t\t'slds-form-element__control': true,\n\t\t\t[`slds-input-has-icon slds-input-has-icon_${this.props.iconPosition}`]: !this.isSelected(),\n\t\t};\n\n\t\treturn (\n\t\t\t<div\n\t\t\t\tclassName={this.getClassName()}\n\t\t\t\tdata-select=\"single\"\n\t\t\t\tdata-scope=\"single\"\n\t\t\t\tonScroll={this.props.onScroll}\n\t\t\t>\n\t\t\t\t{this.props.label ? this.renderLabel() : null}\n\t\t\t\t<div className={classNames(formElementControlClasses)}>\n\t\t\t\t\t{this.isSelected() ? this.renderSelectedItem() : null}\n\t\t\t\t\t{!this.isSelected() ? this.renderInput() : null}\n\t\t\t\t</div>\n\t\t\t\t{isInline ? this.renderInlineMenu() : this.renderSeparateMenu()}\n\t\t\t</div>\n\t\t);\n\t}\n};\n\nLookup.contextTypes = {\n\ticonPath: PropTypes.string,\n};\n\nexport default Lookup;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// ### onClickOutside\n// Listen for clicks that occur somewhere in the document, outside of the element itself\nimport onClickOutside from 'react-onclickoutside';\nimport DefaultFooter from './menu/default-footer';\nimport DefaultHeader from './menu/default-header';\nimport DefaultSectionDivider from './menu/default-section-divider';\nimport Lookup from './lookup';\n\nexport default onClickOutside(Lookup, {\n\texcludeScrollbar: true,\n});\n\nexport { DefaultHeader };\nexport { DefaultSectionDivider };\nexport { DefaultFooter };\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n/* eslint-disable import/no-mutable-exports */\n\nimport componentIsDeprecated from '../../utilities/warning/component-is-deprecated';\n\nlet checkProps = function checkPropsFunction() {};\n\nif (process.env.NODE_ENV !== 'production') {\n\tcheckProps = function checkPropsFunction(COMPONENT, props) {\n\t\tcomponentIsDeprecated(\n\t\t\tCOMPONENT,\n\t\t\tprops,\n\t\t\t'Please use an read-only Combobox instead. It is more accessible and closer aligned to SLDS.'\n\t\t);\n\t};\n}\n\nexport default checkProps;\n","/* eslint-disable max-lines */\n/* eslint-disable react/no-access-state-in-setstate */\n/* eslint-disable no-param-reassign */\n/* eslint-disable prefer-destructuring */\n/* eslint-disable max-lines */\n/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n/* eslint-disable react/prefer-es6-class */\n\n// # Picklist Component [DEPRECATED]\n\n// Implements the [Picklist design pattern](https://www.lightningdesignsystem.com/components/menus/#flavor-picklist) in React.\n// Based on SLDS v2.1.0-rc.2\n\nimport React from 'react';\nimport ReactDOM from 'react-dom';\nimport createReactClass from 'create-react-class';\nimport PropTypes from 'prop-types';\nimport isFunction from 'lodash.isfunction';\n\n// ### classNames\n// [github.com/JedWatson/classnames](https://github.com/JedWatson/classnames)\n// This project uses `classnames`, \"a simple javascript utility for conditionally\n// joining classNames together.\"\nimport classNames from 'classnames';\n\n// ### shortid\n// [npmjs.com/package/shortid](https://www.npmjs.com/package/shortid)\n// shortid is a short, non-sequential, url-friendly, unique id generator\nimport shortid from 'shortid';\n\n// This component's `checkProps` which issues warnings to developers about properties\n// when in development mode (similar to React's built in development tools)\nimport checkProps from './check-props';\n\n// ### Children\nimport Dialog from '../utilities/dialog';\nimport Icon from '../icon';\nimport List from '../utilities/menu-list';\nimport ListItemLabel from '../utilities/menu-list/item-label';\nimport Pill from '../utilities/pill';\n\nimport EventUtil from '../../utilities/event';\nimport KeyBuffer from '../../utilities/key-buffer';\nimport keyboardNavigate from '../../utilities/keyboard-navigate';\nimport KEYS from '../../utilities/key-code';\nimport { MENU_PICKLIST } from '../../utilities/constants';\n\nconst noop = () => {};\n\nconst itemIsSelectable = (item) =>\n\titem.type !== 'header' && item.type !== 'divider' && !item.disabled;\n\nconst getNavigableItems = (items) => {\n\tconst navigableItems = [];\n\tnavigableItems.indexes = [];\n\tnavigableItems.keyBuffer = new KeyBuffer();\n\n\tif (Array.isArray(items)) {\n\t\titems.forEach((item, index) => {\n\t\t\tif (itemIsSelectable(item)) {\n\t\t\t\t// eslint-disable-next-line fp/no-mutating-methods\n\t\t\t\tnavigableItems.push({\n\t\t\t\t\tindex,\n\t\t\t\t\ttext: `${item.label}`.toLowerCase(),\n\t\t\t\t});\n\n\t\t\t\t// eslint-disable-next-line fp/no-mutating-methods\n\t\t\t\tnavigableItems.indexes.push(index);\n\t\t\t}\n\t\t});\n\t}\n\n\treturn navigableItems;\n};\n\nfunction getMenuItem(menuItemId, context = document) {\n\tlet menuItem;\n\n\tif (menuItemId) {\n\t\tmenuItem = context.getElementById(menuItemId);\n\t}\n\n\treturn menuItem;\n}\n\nfunction getMenu(componentRef) {\n\treturn ReactDOM.findDOMNode(componentRef).querySelector('ul.dropdown__list'); // eslint-disable-line react/no-find-dom-node\n}\n\n/**\n * ** MenuPicklist is deprecated. Please use a read-only Combobox instead.**\n *\n * The MenuPicklist component is a variant of the Lightning Design System Menu component.\n */\nconst MenuPicklist = createReactClass({\n\t// ### Display Name\n\t// Always use the canonical component name as the React display name.\n\tdisplayName: MENU_PICKLIST,\n\n\t// ### Prop Types\n\tpropTypes: {\n\t\t/**\n\t\t * Callback that passes in the DOM reference of the `<button>` DOM node within this component. Primary use is to allow `focus` to be called. You should still test if the node exists, since rendering is asynchronous. `buttonRef={(component) => { if(component) console.log(component); }}`\n\t\t */\n\t\tbuttonRef: PropTypes.func,\n\t\tclassName: PropTypes.string,\n\t\t/**\n\t\t * If true, renders checkmark icon on the selected Menu Item.\n\t\t */\n\t\tcheckmark: PropTypes.bool,\n\t\tdisabled: PropTypes.bool,\n\t\t/**\n\t\t * Message to display when the input is in an error state. When this is present, also visually highlights the component as in error.\n\t\t */\n\t\terrorText: PropTypes.string,\n\t\t/**\n\t\t * A unique ID is needed in order to support keyboard navigation, ARIA support, and connect the dropdown to the triggering button.\n\t\t */\n\t\tid: PropTypes.string,\n\t\t/**\n\t\t * Renders menu within the wrapping trigger as a sibling of the button. By default, you will have an absolutely positioned container at an elevated z-index.\n\t\t */\n\t\tisInline: PropTypes.bool,\n\t\t/**\n\t\t * Form element label\n\t\t */\n\t\tlabel: PropTypes.string,\n\t\t/**\n\t\t * **Text labels for internationalization**\n\t\t * This object is merged with the default props object on every render.\n\t\t * * `multipleOptionsSelected`: Text to be used when multiple items are selected. \"2 Options Selected\" is a good pattern to use.\n\t\t */\n\t\tlabels: PropTypes.shape({\n\t\t\tmultipleOptionsSelected: PropTypes.string,\n\t\t}),\n\t\t/**\n\t\t * Custom element that overrides the default Menu Item component.\n\t\t */\n\t\tlistItemRenderer: PropTypes.func,\n\t\t/**\n\t\t * Triggered when the trigger button is clicked to open.\n\t\t */\n\t\tonClick: PropTypes.func,\n\t\t/**\n\t\t * Triggered when an item is selected. Passes in the option object that has been selected and a data object in the format: `{ option, optionIndex }`. The first parameter may be deprecated in the future and changed to an event for consistency. Please use the data object.\n\t\t */\n\t\tonSelect: PropTypes.func,\n\t\t/**\n\t\t * Triggered when a pill is removed. Passes in the option object that has been removed and a data object in the format: `{ option, optionIndex }`. The first parameter may be deprecated in the future and changed to an event for consistency. Please use the data object.\n\t\t */\n\t\tonPillRemove: PropTypes.func,\n\t\t/**\n\t\t * Menu item data.\n\t\t */\n\t\toptions: PropTypes.array.isRequired,\n\t\t/**\n\t\t * Text present in trigger button if no items are selected.\n\t\t */\n\t\tplaceholder: PropTypes.string,\n\t\t/**\n\t\t * Add styling of a required form element.\n\t\t */\n\t\trequired: PropTypes.bool,\n\t\t/**\n\t\t * Current selected item.\n\t\t */\n\t\tvalue: PropTypes.node,\n\t\t/**\n\t\t * Initial selected item index.\n\t\t */\n\t\tinitValueIndex: PropTypes.number,\n\t},\n\n\tgetDefaultProps() {\n\t\treturn {\n\t\t\tinheritTargetWidth: true,\n\t\t\tplaceholder: 'Select an Option',\n\t\t\tcheckmark: true,\n\t\t\tlabels: {\n\t\t\t\tmultipleOptionsSelected: 'Multiple Options Selected',\n\t\t\t},\n\t\t\tmenuPosition: 'absolute',\n\t\t};\n\t},\n\n\tgetInitialState() {\n\t\treturn {\n\t\t\tfocusedIndex: this.props.initValueIndex ? this.props.initValueIndex : -1,\n\t\t\tselectedIndex: this.props.initValueIndex ? this.props.initValueIndex : -1,\n\t\t\tselectedIndices: [],\n\t\t\tcurrentPillLabel: '',\n\t\t};\n\t},\n\n\t// eslint-disable-next-line camelcase, react/sort-comp\n\tUNSAFE_componentWillMount() {\n\t\t// `checkProps` issues warnings to developers about properties (similar to React's built in development tools)\n\t\tcheckProps(MENU_PICKLIST, this.props);\n\n\t\tthis.generatedId = shortid.generate();\n\t\tif (this.props.errorText) {\n\t\t\tthis.generatedErrorId = shortid.generate();\n\t\t}\n\n\t\tif (typeof window !== 'undefined') {\n\t\t\twindow.addEventListener('click', this.closeOnClick, false);\n\t\t}\n\n\t\tif (!this.props.multiple) {\n\t\t\tthis.setState({\n\t\t\t\tselectedIndex: this.getIndexByValue(this.props),\n\t\t\t});\n\t\t} else {\n\t\t\tconst currentSelectedIndex = this.getIndexByValue(this.props);\n\t\t\tconst currentIndices = this.state.selectedIndices;\n\t\t\tif (currentSelectedIndex !== -1) {\n\t\t\t\t// eslint-disable-next-line fp/no-mutating-methods\n\t\t\t\tcurrentIndices.push(currentSelectedIndex);\n\t\t\t}\n\t\t\tthis.setState({\n\t\t\t\tselectedIndices: currentIndices,\n\t\t\t});\n\t\t}\n\n\t\tthis.navigableItems = getNavigableItems(this.props.options);\n\t},\n\n\t// eslint-disable-next-line camelcase, react/sort-comp\n\tUNSAFE_componentWillReceiveProps(nextProps) {\n\t\tif (\n\t\t\tthis.props.value !== nextProps.value ||\n\t\t\tthis.props.options.length !== nextProps.length\n\t\t) {\n\t\t\tif (this.props.multiple !== true) {\n\t\t\t\tthis.setState({\n\t\t\t\t\tselectedIndex: this.getIndexByValue(nextProps),\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\tconst currentSelectedIndex = this.getIndexByValue(nextProps);\n\t\t\t\tif (currentSelectedIndex !== -1) {\n\t\t\t\t\tconst currentIndices = this.state.selectedIndices.concat(\n\t\t\t\t\t\tcurrentSelectedIndex\n\t\t\t\t\t);\n\t\t\t\t\tthis.setState({\n\t\t\t\t\t\tselectedIndices: currentIndices,\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tif (nextProps.options) {\n\t\t\tthis.navigableItems = getNavigableItems(nextProps.options);\n\t\t}\n\t},\n\n\tcomponentWillUnmount() {\n\t\tthis.isUnmounting = true;\n\t\twindow.removeEventListener('click', this.closeOnClick, false);\n\t},\n\n\tgetListItemId(index) {\n\t\tlet menuItemId;\n\t\tif (index !== undefined) {\n\t\t\tconst menuId = isFunction(this.getId) ? this.getId() : this.props.id;\n\t\t\tmenuItemId = `${menuId}-item-${index}`;\n\t\t}\n\t\treturn menuItemId;\n\t},\n\n\tgetId() {\n\t\treturn this.props.id || this.generatedId;\n\t},\n\n\tgetErrorId() {\n\t\treturn this.props['aria-describedby'] || this.generatedErrorId;\n\t},\n\n\tgetClickEventName() {\n\t\treturn `SLDS${this.getId()}ClickEvent`;\n\t},\n\n\tgetIndexByValue({ value, options } = this.props) {\n\t\tlet foundIndex = -1;\n\n\t\tif (options && options.length) {\n\t\t\toptions.some((element, index) => {\n\t\t\t\tif (element && element.value === value) {\n\t\t\t\t\tfoundIndex = index;\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\n\t\t\t\treturn false;\n\t\t\t});\n\t\t}\n\n\t\treturn foundIndex;\n\t},\n\n\tgetValueByIndex(index) {\n\t\treturn this.props.options[index];\n\t},\n\n\tgetListItemRenderer() {\n\t\treturn this.props.listItemRenderer\n\t\t\t? this.props.listItemRenderer\n\t\t\t: ListItemLabel;\n\t},\n\n\tsetFocus() {\n\t\tif (!this.isUnmounting && this.button) {\n\t\t\tthis.button.focus();\n\t\t}\n\t},\n\n\thandleSelect(index) {\n\t\tif (!this.props.multiple) {\n\t\t\tthis.setState({ selectedIndex: index });\n\t\t\tthis.handleClose();\n\t\t\tthis.setFocus();\n\t\t} else {\n\t\t\tlet currentIndices;\n\n\t\t\tif (this.state.selectedIndices.indexOf(index) === -1) {\n\t\t\t\tcurrentIndices = this.state.selectedIndices.concat(index);\n\t\t\t} else {\n\t\t\t\tconst deselectIndex = this.state.selectedIndices.indexOf(index);\n\t\t\t\tcurrentIndices = this.state.selectedIndices;\n\t\t\t\t// eslint-disable-next-line fp/no-mutating-methods\n\t\t\t\tcurrentIndices.splice(deselectIndex, 1);\n\t\t\t}\n\n\t\t\tthis.setState({\n\t\t\t\tselectedIndices: currentIndices,\n\t\t\t});\n\t\t}\n\n\t\tif (this.props.onSelect) {\n\t\t\tconst option = this.getValueByIndex(index);\n\t\t\tthis.props.onSelect(option, { option, optionIndex: index });\n\t\t}\n\t},\n\n\thandleClose() {\n\t\tthis.setState({ isOpen: false });\n\t},\n\n\thandleClick(event) {\n\t\tif (event) {\n\t\t\tevent.nativeEvent[this.getClickEventName()] = true;\n\t\t}\n\n\t\tif (!this.state.isOpen) {\n\t\t\tthis.setState({ isOpen: true });\n\t\t\tthis.setFocus();\n\n\t\t\tif (this.props.onClick) {\n\t\t\t\tthis.props.onClick(event);\n\t\t\t}\n\t\t} else {\n\t\t\tthis.handleClose();\n\t\t}\n\t},\n\n\thandleMouseDown(event) {\n\t\tif (event) {\n\t\t\tEventUtil.trapImmediate(event);\n\t\t\tevent.nativeEvent[this.getClickEventName()] = true;\n\t\t}\n\t},\n\n\thandleKeyDown(event) {\n\t\tif (event.keyCode) {\n\t\t\tif (\n\t\t\t\tevent.keyCode === KEYS.ENTER ||\n\t\t\t\tevent.keyCode === KEYS.SPACE ||\n\t\t\t\tevent.keyCode === KEYS.DOWN ||\n\t\t\t\tevent.keyCode === KEYS.UP\n\t\t\t) {\n\t\t\t\tEventUtil.trap(event);\n\t\t\t}\n\n\t\t\tif (event.keyCode !== KEYS.TAB) {\n\t\t\t\t// The outer div with onKeyDown is overriding button onClick so we need to add it here.\n\t\t\t\tconst openMenuKeys =\n\t\t\t\t\tevent.keyCode === KEYS.ENTER ||\n\t\t\t\t\tevent.keyCode === KEYS.DOWN ||\n\t\t\t\t\tevent.keyCode === KEYS.UP;\n\t\t\t\tconst isTrigger = event.target.tagName === 'BUTTON';\n\t\t\t\tif (openMenuKeys && isTrigger && this.props.onClick) {\n\t\t\t\t\tthis.props.onClick(event);\n\t\t\t\t}\n\n\t\t\t\tthis.handleKeyboardNavigate({\n\t\t\t\t\tisOpen: this.state.isOpen || false,\n\t\t\t\t\tkeyCode: event.keyCode,\n\t\t\t\t\tonSelect: this.handleSelect,\n\t\t\t\t\ttoggleOpen: this.toggleOpen,\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\tthis.handleCancel();\n\t\t\t}\n\t\t}\n\t},\n\n\thandleCancel() {\n\t\tthis.setFocus();\n\t\tthis.handleClose();\n\t},\n\n\t// Handling open / close toggling is optional, and a default implementation is provided for handling focus, but selection _must_ be handled\n\thandleKeyboardNavigate({\n\t\tevent,\n\t\tisOpen = true,\n\t\tkeyCode,\n\t\tonFocus = this.handleKeyboardFocus,\n\t\tonSelect,\n\t\ttarget,\n\t\ttoggleOpen = noop,\n\t}) {\n\t\tkeyboardNavigate({\n\t\t\tcomponentContext: this,\n\t\t\tcurrentFocusedIndex: this.state.focusedIndex,\n\t\t\tevent,\n\t\t\tisOpen,\n\t\t\tkeyCode,\n\t\t\tnavigableItems: this.navigableItems,\n\t\t\tonFocus,\n\t\t\tonSelect,\n\t\t\ttarget,\n\t\t\ttoggleOpen,\n\t\t});\n\t},\n\t// This is a bit of an anti-pattern, but it has the upside of being a nice default. Component authors can always override to only set state and do their own focusing in their subcomponents.\n\thandleKeyboardFocus(focusedIndex) {\n\t\tif (this.state.focusedIndex !== focusedIndex) {\n\t\t\tthis.setState({ focusedIndex });\n\t\t}\n\t\tconst menu = isFunction(this.getMenu) ? this.getMenu() : getMenu(this);\n\t\tconst menuItem = isFunction(this.getMenuItem)\n\t\t\t? this.getMenuItem(focusedIndex, menu)\n\t\t\t: getMenuItem(this.getListItemId(focusedIndex));\n\t\tif (menuItem) {\n\t\t\tthis.focusMenuItem(menuItem);\n\t\t\tthis.scrollToMenuItem(menu, menuItem);\n\t\t}\n\t},\n\tfocusMenuItem(menuItem) {\n\t\tmenuItem.getElementsByTagName('a')[0].focus();\n\t},\n\tscrollToMenuItem(menu, menuItem) {\n\t\tif (menu && menuItem) {\n\t\t\tconst menuHeight = menu.offsetHeight;\n\t\t\tconst menuTop = menu.scrollTop;\n\t\t\tconst menuItemTop = menuItem.offsetTop - menu.offsetTop;\n\t\t\tif (menuItemTop < menuTop) {\n\t\t\t\tmenu.scrollTop = menuItemTop;\n\t\t\t} else {\n\t\t\t\tconst menuBottom = menuTop + menuHeight + menu.offsetTop;\n\t\t\t\tconst menuItemBottom =\n\t\t\t\t\tmenuItemTop + menuItem.offsetHeight + menu.offsetTop;\n\t\t\t\tif (menuItemBottom > menuBottom) {\n\t\t\t\t\tmenu.scrollTop = menuItemBottom - menuHeight - menu.offsetTop;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t},\n\n\tcloseOnClick(event) {\n\t\tif (!event[this.getClickEventName()] && this.state.isOpen) {\n\t\t\tthis.handleClose();\n\t\t}\n\t},\n\n\ttoggleOpen() {\n\t\tthis.setState({ isOpen: !this.state.isOpen });\n\t},\n\n\tsaveRefToList(list) {\n\t\tthis.list = list;\n\t},\n\n\tsaveRefToListItem(listItem, index) {\n\t\tif (!this.listItems) {\n\t\t\tthis.listItems = {};\n\t\t}\n\n\t\tthis.listItems[index] = listItem;\n\n\t\tif (index === this.state.focusedIndex) {\n\t\t\tthis.handleKeyboardFocus(this.state.focusedIndex);\n\t\t}\n\t},\n\n\t// Trigger opens, closes, and recieves focus on close\n\tsaveRefToTrigger(trigger) {\n\t\tthis.button = trigger;\n\t\tif (this.props.buttonRef) {\n\t\t\tthis.props.buttonRef(this.button);\n\t\t}\n\n\t\tif (!this.state.triggerRendered) {\n\t\t\tthis.setState({ triggerRendered: true });\n\t\t}\n\t},\n\n\trenderMenuContent() {\n\t\treturn (\n\t\t\t<List\n\t\t\t\tcheckmark={this.props.checkmark}\n\t\t\t\tgetListItemId={this.getListItemId}\n\t\t\t\titemRefs={this.saveRefToListItem}\n\t\t\t\titemRenderer={this.getListItemRenderer()}\n\t\t\t\tonCancel={this.handleCancel}\n\t\t\t\tonSelect={this.handleSelect}\n\t\t\t\toptions={this.props.options}\n\t\t\t\tref={this.saveRefToList}\n\t\t\t\tselectedIndex={\n\t\t\t\t\t!this.props.multiple ? this.state.selectedIndex : undefined\n\t\t\t\t}\n\t\t\t\tselectedIndices={\n\t\t\t\t\tthis.props.multiple ? this.state.selectedIndices : undefined\n\t\t\t\t}\n\t\t\t\ttriggerId={this.getId()}\n\t\t\t/>\n\t\t);\n\t},\n\n\trenderInlineMenu() {\n\t\treturn !this.props.disabled && this.state.isOpen ? (\n\t\t\t<div\n\t\t\t\tclassName=\"slds-dropdown slds-dropdown_left\"\n\t\t\t\t// inline style override\n\t\t\t\tstyle={{\n\t\t\t\t\tmaxHeight: '20em',\n\t\t\t\t\toverflowX: 'hidden',\n\t\t\t\t\tminWidth: '100%',\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\t{this.renderMenuContent()}\n\t\t\t</div>\n\t\t) : null;\n\t},\n\n\trenderDialog() {\n\t\treturn !this.props.disabled && this.state.isOpen ? (\n\t\t\t<Dialog\n\t\t\t\tcloseOnTabKey\n\t\t\t\tconstrainToScrollParent={this.props.constrainToScrollParent}\n\t\t\t\tcontentsClassName=\"slds-dropdown slds-dropdown_left\"\n\t\t\t\tcontext={this.context}\n\t\t\t\tflippable\n\t\t\t\tonClose={this.handleCancel}\n\t\t\t\tonKeyDown={this.handleKeyDown}\n\t\t\t\tonRequestTargetElement={() => this.button}\n\t\t\t\tinheritWidthOf={this.props.inheritTargetWidth ? 'target' : 'none'}\n\t\t\t\tposition={this.props.menuPosition}\n\t\t\t>\n\t\t\t\t{this.renderMenuContent()}\n\t\t\t</Dialog>\n\t\t) : null;\n\t},\n\n\trenderTrigger() {\n\t\tlet isInline;\n\t\t/* eslint-disable react/prop-types */\n\t\tif (this.props.isInline) {\n\t\t\tisInline = true;\n\t\t} else if (this.props.modal !== undefined) {\n\t\t\tisInline = !this.props.modal;\n\t\t}\n\t\t/* eslint-enable react/prop-types */\n\n\t\tlet inputValue;\n\t\tif (this.props.multiple && this.state.selectedIndices.length === 0) {\n\t\t\tinputValue = this.props.placeholder;\n\t\t} else if (this.props.multiple && this.state.selectedIndices.length === 1) {\n\t\t\tconst option = this.props.options[this.state.selectedIndices];\n\t\t\tinputValue = option.label;\n\t\t} else if (this.props.multiple && this.state.selectedIndices.length > 1) {\n\t\t\tinputValue = this.props.labels.multipleOptionsSelected;\n\t\t} else {\n\t\t\tconst option = this.props.options[this.state.selectedIndex];\n\t\t\tinputValue =\n\t\t\t\toption && option.label ? option.label : this.props.placeholder;\n\t\t}\n\n\t\t// TODO: make use of <Button>\n\t\treturn (\n\t\t\t// eslint-disable-next-line jsx-a11y/no-static-element-interactions\n\t\t\t<div\n\t\t\t\tclassName={classNames(\n\t\t\t\t\t'slds-picklist slds-dropdown-trigger slds-dropdown-trigger_click',\n\t\t\t\t\t{ 'slds-is-open': this.state.isOpen },\n\t\t\t\t\tthis.props.className\n\t\t\t\t)}\n\t\t\t\tonKeyDown={this.handleKeyDown}\n\t\t\t\tonMouseDown={this.handleMouseDown}\n\t\t\t>\n\t\t\t\t<button\n\t\t\t\t\taria-describedby={this.getErrorId()}\n\t\t\t\t\taria-expanded={this.state.isOpen}\n\t\t\t\t\taria-haspopup=\"true\"\n\t\t\t\t\tclassName=\"slds-button slds-button_neutral slds-picklist__label\"\n\t\t\t\t\tdisabled={this.props.disabled}\n\t\t\t\t\tid={this.getId()}\n\t\t\t\t\tonClick={!this.props.disabled ? this.handleClick : undefined}\n\t\t\t\t\tref={this.saveRefToTrigger}\n\t\t\t\t\ttabIndex={this.state.isOpen ? -1 : 0}\n\t\t\t\t\ttype=\"button\"\n\t\t\t\t>\n\t\t\t\t\t<span className=\"slds-truncate\">{inputValue}</span>\n\t\t\t\t\t<Icon name=\"down\" category=\"utility\" />\n\t\t\t\t</button>\n\t\t\t\t{isInline ? this.renderInlineMenu() : this.renderDialog()}\n\t\t\t</div>\n\t\t);\n\t},\n\n\trenderPills() {\n\t\tconst selectedPills = this.state.selectedIndices.map((selectedPill) => {\n\t\t\tconst pillLabel = this.getValueByIndex(selectedPill).label;\n\t\t\treturn (\n\t\t\t\t<li\n\t\t\t\t\tclassName=\"slds-listbox__item\"\n\t\t\t\t\tkey={`pill-${selectedPill}`}\n\t\t\t\t\trole=\"presentation\"\n\t\t\t\t>\n\t\t\t\t\t<Pill\n\t\t\t\t\t\teventData={{\n\t\t\t\t\t\t\titem: this.props.options[selectedPill],\n\t\t\t\t\t\t\tindex: selectedPill,\n\t\t\t\t\t\t}}\n\t\t\t\t\t\tevents={{\n\t\t\t\t\t\t\tonRequestFocus: () => {},\n\t\t\t\t\t\t\tonRequestFocusOnNextPill: () => {},\n\t\t\t\t\t\t\tonRequestFocusOnPreviousPill: () => {},\n\t\t\t\t\t\t\tonRequestRemove: (event, data) => {\n\t\t\t\t\t\t\t\tconst newData = this.state.selectedIndices;\n\t\t\t\t\t\t\t\tconst index = data.index;\n\t\t\t\t\t\t\t\t// eslint-disable-next-line fp/no-mutating-methods\n\t\t\t\t\t\t\t\tnewData.splice(this.state.selectedIndices.indexOf(index), 1);\n\t\t\t\t\t\t\t\tthis.setState({ selectedIndices: newData });\n\n\t\t\t\t\t\t\t\tif (this.props.onPillRemove) {\n\t\t\t\t\t\t\t\t\tconst option = this.getValueByIndex(index);\n\t\t\t\t\t\t\t\t\tthis.props.onPillRemove(option, {\n\t\t\t\t\t\t\t\t\t\toption,\n\t\t\t\t\t\t\t\t\t\toptionIndex: index,\n\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t}}\n\t\t\t\t\t\tlabels={{\n\t\t\t\t\t\t\tlabel: pillLabel,\n\t\t\t\t\t\t}}\n\t\t\t\t\t/>\n\t\t\t\t</li>\n\t\t\t);\n\t\t});\n\t\treturn (\n\t\t\t<div\n\t\t\t\tid=\"listbox-selections-unique-id\"\n\t\t\t\torientation=\"horizontal\"\n\t\t\t\trole=\"listbox\"\n\t\t\t>\n\t\t\t\t<ul\n\t\t\t\t\tclassName=\"slds-listbox slds-listbox_inline slds-p-top_xxx-small\"\n\t\t\t\t\trole=\"group\"\n\t\t\t\t\taria-label=\"Selected Options:\"\n\t\t\t\t>\n\t\t\t\t\t{selectedPills}\n\t\t\t\t</ul>\n\t\t\t</div>\n\t\t);\n\t},\n\n\trender() {\n\t\tconst { className, errorText, label, required } = this.props;\n\n\t\tconst requiredElem = required ? (\n\t\t\t// eslint-disable-next-line react/jsx-curly-brace-presence\n\t\t\t<span style={{ color: 'red' }}>{'* '}</span>\n\t\t) : null;\n\n\t\treturn (\n\t\t\t<div\n\t\t\t\tclassName={classNames(\n\t\t\t\t\t'slds-form-element',\n\t\t\t\t\t{\n\t\t\t\t\t\t'slds-has-error': errorText,\n\t\t\t\t\t},\n\t\t\t\t\tclassName\n\t\t\t\t)}\n\t\t\t>\n\t\t\t\t{this.props.label ? (\n\t\t\t\t\t<label\n\t\t\t\t\t\tclassName=\"slds-form-element__label\"\n\t\t\t\t\t\thtmlFor={this.getId()}\n\t\t\t\t\t\t// inline style override\n\t\t\t\t\t\tstyle={{ width: '100%' }}\n\t\t\t\t\t>\n\t\t\t\t\t\t{requiredElem}\n\t\t\t\t\t\t{label}\n\t\t\t\t\t</label>\n\t\t\t\t) : null}\n\t\t\t\t{this.renderTrigger()}\n\t\t\t\t{this.renderPills()}\n\t\t\t\t{errorText && (\n\t\t\t\t\t<div id={this.getErrorId()} className=\"slds-form-element__help\">\n\t\t\t\t\t\t{errorText}\n\t\t\t\t\t</div>\n\t\t\t\t)}\n\t\t\t</div>\n\t\t);\n\t},\n});\n\nMenuPicklist.contextTypes = {\n\ticonPath: PropTypes.string,\n};\n\nexport default MenuPicklist;\nexport { ListItemLabel };\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\nimport React from 'react';\nimport ReactDOM from 'react-dom';\n\nimport componentIsDeprecated from '../../utilities/warning/component-is-deprecated';\n\nimport Modal from './index';\n\nimport { canUseDOM } from '../../utilities/execution-environment';\n\n// This component should be deprecated and appears to have\n// been created in order to do modals in portals.\n\nconst ModalTrigger = {\n\topen: (cfg) => {\n\t\tcomponentIsDeprecated(\n\t\t\t'components/modal/trigger.jsx',\n\t\t\t'This component is deprecated and appears to have been created in order to do modals in portals which is what current Modal has done for years.'\n\t\t);\n\n\t\tlet el;\n\t\tif (canUseDOM) {\n\t\t\tel = document.createElement('span');\n\t\t\tel.setAttribute('data-slds-modal', true);\n\t\t\tdocument.body.appendChild(el);\n\t\t}\n\t\tconst comp = (\n\t\t\t<Modal heading={cfg.title} footer={cfg.footer} isOpen>\n\t\t\t\t{cfg.content}\n\t\t\t</Modal>\n\t\t);\n\n\t\tReactDOM.render(comp, el); // deepscan-disable-line REACT_ASYNC_RENDER_RETURN_VALUE\n\t},\n};\n\nexport default ModalTrigger;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n/* eslint-disable import/no-mutable-exports */\n\nimport deprecatedProperty from '../../utilities/warning/deprecated-property';\n\nlet checkProps = function checkPropsFunction() {};\n\nif (process.env.NODE_ENV !== 'production') {\n\tcheckProps = function checkPropsFunction(COMPONENT, props) {\n\t\tdeprecatedProperty(\n\t\t\tCOMPONENT,\n\t\t\tprops.variant,\n\t\t\t'variant',\n\t\t\tundefined,\n\t\t\t'Shade variant is deprecated as there is no background supported currently. Vertical Navigation now uses a default shade.'\n\t\t);\n\t};\n}\n\nexport default checkProps;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\n// ### classNames\n// [github.com/JedWatson/classnames](https://github.com/JedWatson/classnames)\n// This project uses `classnames`, 'a simple javascript utility for conditionally\n// joining classNames together.'\nimport classNames from 'classnames';\n\n// ### isFunction\nimport isFunction from 'lodash.isfunction';\n\nimport { VERTICAL_NAVIGATION_ITEM } from '../../../utilities/constants';\n\nconst handleClick = (event, props) => {\n\tif (isFunction(props.onSelect)) {\n\t\tprops.onSelect(event, {\n\t\t\titem: props.item,\n\t\t});\n\t}\n};\n\nconst Item = (props) => (\n\t<li\n\t\tclassName={classNames('slds-nav-vertical__item', {\n\t\t\t'slds-is-active': props.isSelected,\n\t\t})}\n\t>\n\t\t<a\n\t\t\tdata-id={props.item.id}\n\t\t\thref={props.item.url || 'javascript:void(0);'} // eslint-disable-line no-script-url\n\t\t\tclassName=\"slds-nav-vertical__action\"\n\t\t\taria-describedby={props.categoryId}\n\t\t\taria-current={props.isSelected ? true : undefined}\n\t\t\tonClick={(event) => {\n\t\t\t\thandleClick(event, props);\n\t\t\t}}\n\t\t>\n\t\t\t{props.item.label}\n\t\t</a>\n\t</li>\n);\n\n// ### Display Name\n// Always use the canonical component name as the React display name.\nItem.displayName = VERTICAL_NAVIGATION_ITEM;\n\n// ### Prop Types\nItem.propTypes = {\n\t/**\n\t * Item to be rendered.\n\t */\n\titem: PropTypes.shape({\n\t\tid: PropTypes.string.isRequired,\n\t\tlabel: PropTypes.string.isRequired,\n\t\turl: PropTypes.string,\n\t}),\n\t/**\n\t * Whether item is selected or not.\n\t */\n\tisSelected: PropTypes.bool,\n\t/**\n\t * ID of the category this item belongs to.\n\t */\n\tcategoryId: PropTypes.string.isRequired,\n\t/**\n\t * Function that will run whenever an item is selected.\n\t */\n\tonSelect: PropTypes.func,\n};\n\nItem.defaultProps = {\n\tisSelected: false,\n};\n\nexport default Item;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// Implements the [Vertical Navigation design pattern](https://lightningdesignsystem.com/components/vertical-navigation/) in React.\n// Based on SLDS v2.2.1\n\nimport React from 'react';\n\nimport PropTypes from 'prop-types';\n\n// ### classNames\n// [github.com/JedWatson/classnames](https://github.com/JedWatson/classnames)\n// This project uses `classnames`, 'a simple javascript utility for conditionally\n// joining classNames together.'\nimport classNames from 'classnames';\n\n// ### shortid\n// [npmjs.com/package/shortid](https://www.npmjs.com/package/shortid)\n// shortid is a short, non-sequential, url-friendly, unique id generator\nimport shortid from 'shortid';\nimport componentDoc from './component.json';\nimport checkProps from './check-props';\n\nimport { VERTICAL_NAVIGATION } from '../../utilities/constants';\n\n// Child components\nimport Item from './private/item';\n\n/**\n * Vertical Navigation represents a list of links that either take the user to another page or parts of the page the user is in.\n */\nclass VerticalNavigation extends React.Component {\n\tstatic displayName = VERTICAL_NAVIGATION;\n\n\tstatic propTypes = {\n\t\t/**\n\t\t * HTML id for component. _Tested with snapshot testing._\n\t\t */\n\t\tid: PropTypes.string,\n\t\t/**\n\t\t * CSS class names to be added to the container element. _Tested with snapshot testing._\n\t\t */\n\t\tclassName: PropTypes.oneOfType([\n\t\t\tPropTypes.array,\n\t\t\tPropTypes.object,\n\t\t\tPropTypes.string,\n\t\t]),\n\t\t/**\n\t\t * Array of categories. The required shape is: `{id: string, label: string, items: array}`. The required shape of an item is `{id: string, label: string, url: string}`. All item ids are expected to be unique. _Tested with snapshot testing._\n\t\t */\n\t\tcategories: PropTypes.array,\n\t\t/**\n\t\t * The ID of the item that is currently selected. Defaults to the ID of the first item. _Tested with Mocha framework._\n\t\t */\n\t\tselectedId: PropTypes.string,\n\t\t/**\n\t\t * Triggered when the selection changes. It receives an event and an item object in the shape: `event, {item: [object] }`. _Tested with Mocha framework._\n\t\t */\n\t\tonSelect: PropTypes.func,\n\t};\n\n\tstatic defaultProps = {};\n\n\tconstructor(props) {\n\t\tsuper(props);\n\n\t\tthis.generatedId = shortid.generate();\n\t\tcheckProps(VERTICAL_NAVIGATION, props, componentDoc);\n\t}\n\n\tgetId = () => this.props.id || this.generatedId;\n\n\tgetSelectedId = () => {\n\t\tconst { categories } = this.props;\n\t\tlet selectedId;\n\t\tif (this.props.selectedId) {\n\t\t\t// eslint-disable-next-line prefer-destructuring\n\t\t\tselectedId = this.props.selectedId;\n\t\t} else if (\n\t\t\tcategories.length > 0 &&\n\t\t\tcategories[0].items &&\n\t\t\tcategories[0].items.length > 0\n\t\t) {\n\t\t\tselectedId = categories[0].items[0].id;\n\t\t}\n\t\treturn selectedId;\n\t};\n\n\trender() {\n\t\tconst rootId = this.getId();\n\t\treturn (\n\t\t\t<nav\n\t\t\t\tid={rootId}\n\t\t\t\tclassName={classNames('slds-nav-vertical', this.props.className)}\n\t\t\t>\n\t\t\t\t{this.props.categories.map((category) => {\n\t\t\t\t\tconst categoryId = `${rootId}-${category.id}`;\n\t\t\t\t\tconst selectedId = this.getSelectedId();\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tkey={`${categoryId}-header`}\n\t\t\t\t\t\t\tclassName=\"slds-nav-vertical__section\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<h2 id={categoryId} className=\"slds-nav-vertical__title\">\n\t\t\t\t\t\t\t\t{category.label}\n\t\t\t\t\t\t\t</h2>\n\t\t\t\t\t\t\t<ul key={categoryId}>\n\t\t\t\t\t\t\t\t{category.items.map((item) => (\n\t\t\t\t\t\t\t\t\t<Item\n\t\t\t\t\t\t\t\t\t\tkey={item.id}\n\t\t\t\t\t\t\t\t\t\titem={item}\n\t\t\t\t\t\t\t\t\t\tisSelected={item.id === selectedId}\n\t\t\t\t\t\t\t\t\t\tcategoryId={categoryId}\n\t\t\t\t\t\t\t\t\t\tonSelect={this.props.onSelect}\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t\t</ul>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t);\n\t\t\t\t})}\n\t\t\t</nav>\n\t\t);\n\t}\n}\n\nexport default VerticalNavigation;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n/* eslint-disable import/no-mutable-exports */\n\nimport componentIsDeprecated from '../../utilities/warning/component-is-deprecated';\n\nlet checkProps = function checkPropsFunction() {};\n\nif (process.env.NODE_ENV !== 'production') {\n\tcheckProps = function checkPropsFunction(COMPONENT, props) {\n\t\tcomponentIsDeprecated(\n\t\t\tCOMPONENT,\n\t\t\tprops,\n\t\t\t'Please use Alert or Toast in the future. Notications is not the same component in SLDS any longer.'\n\t\t);\n\t};\n}\n\nexport default checkProps;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\nimport classNames from 'classnames';\nimport Button from '../button';\nimport Icon from '../icon';\nimport checkProps from './check-props';\n\nconst displayName = 'Notification';\nconst propTypes = {\n\ticonCategory: PropTypes.string,\n\t/**\n\t * Custom classes applied to Notification element.\n\t */\n\tclassName: PropTypes.string,\n\t/**\n\t * Message for Notification.\n\t */\n\tcontent: PropTypes.node.isRequired,\n\t/**\n\t * If true, close button appears for users to dismiss Notification.\n\t */\n\tdismissible: PropTypes.bool,\n\t/**\n\t * If duration exists, the Notification will disappear after that amount of time.\n\t */\n\tduration: PropTypes.number,\n\t/**\n\t * Name of the icon. Visit <a href='http://www.lightningdesignsystem.com/resources/icons'>Lighning Design System Icons</a> to reference icon names.\n\t */\n\ticonName: PropTypes.string,\n\tisOpen: PropTypes.bool.isRequired,\n\tonDismiss: PropTypes.func,\n\t/**\n\t * Styling for Notification background.\n\t */\n\ttexture: PropTypes.bool,\n\t/**\n\t * Styling for Notification background color. Please reference <a href='http://www.lightningdesignsystem.com/components/utilities/themes/#color'>Lighning Design System Themes > Color</a>.\n\t */\n\ttheme: PropTypes.oneOf(['success', 'warning', 'error', 'offline']),\n\tvariant: PropTypes.oneOf(['alert', 'toast']).isRequired,\n};\n\nconst defaultProps = {\n\ticonCategory: 'utility',\n\tdismissible: true,\n\tisOpen: false,\n\ttexture: false,\n};\n\n/**\n * The Notification component is the Alert and Toast variants of the Lightning Design System Notification component. For prompt notifications, use the <a href='#/modal'>Modal</a> component with <code>prompt={true}</code>.\n * The Notification opens from a state change outside of the component itself (pass this state to the <code>isOpen</code> prop).\n */\nclass Notification extends React.Component {\n\tconstructor(props) {\n\t\tsuper(props);\n\t\tthis.state = {};\n\t\tthis.timeout = null;\n\t}\n\n\tcomponentDidMount() {\n\t\tcheckProps('Notification', this.props);\n\n\t\tif (this.props.duration) {\n\t\t\tthis.timeout = setTimeout(() => {\n\t\t\t\tthis.onDismiss();\n\t\t\t}, this.props.duration);\n\t\t}\n\t}\n\n\t// eslint-disable-next-line camelcase, react/sort-comp\n\tUNSAFE_componentWillReceiveProps(nextProps) {\n\t\tif (nextProps.duration) {\n\t\t\tif (this.timeout) {\n\t\t\t\tclearTimeout(this.timeout);\n\t\t\t}\n\t\t\tif (nextProps.isOpen) {\n\t\t\t\tthis.timeout = setTimeout(() => {\n\t\t\t\t\tthis.onDismiss();\n\t\t\t\t}, this.props.duration);\n\t\t\t}\n\t\t}\n\t\tif (nextProps.isOpen !== this.props.isOpen) {\n\t\t\tthis.setState({ returnFocusTo: document.activeElement });\n\t\t}\n\t}\n\n\tcomponentDidUpdate(prevProps) {\n\t\tif (prevProps.isOpen !== this.props.isOpen) {\n\t\t\tconst btn = this.dismissBtnRef;\n\t\t\tif (btn) btn.focus();\n\t\t}\n\t}\n\n\tonDismiss = () => {\n\t\tif (this.timeout) {\n\t\t\tclearTimeout(this.timeout);\n\t\t\tthis.timeout = null;\n\t\t}\n\n\t\tif (this.props.onDismiss) this.props.onDismiss();\n\t\tif (this.state.returnFocusTo && this.state.returnFocusTo.focus) {\n\t\t\tthis.state.returnFocusTo.focus();\n\t\t}\n\t};\n\n\tgetClassName() {\n\t\treturn classNames(this.props.className, 'slds-notify', {\n\t\t\t[`slds-notify_${this.props.variant}`]: this.props.variant,\n\t\t\t[`slds-theme_${this.props.theme}`]: this.props.theme,\n\t\t\t'slds-theme_alert-texture': this.props.texture,\n\t\t});\n\t}\n\n\t/*\n\t * The parent container with role='alert' only announces its content if there is a change inside of it.\n\t * Because React renders the entire element to the DOM, we must switch out a blank div for the real content.\n\t * Bummer, I know.\n\t */\n\t// eslint-disable-next-line class-methods-use-this\n\tblankContent() {\n\t\treturn <div />;\n\t}\n\n\trenderAlertContent() {\n\t\treturn (\n\t\t\t<h2 id=\"dialogTitle\">\n\t\t\t\t{this.renderIcon()}\n\t\t\t\t{this.props.content}\n\t\t\t</h2>\n\t\t);\n\t}\n\n\trenderClose() {\n\t\tif (this.props.dismissible) {\n\t\t\tlet size = null;\n\t\t\tif (this.props.variant === 'toast') size = 'large';\n\n\t\t\t// i18n\n\t\t\treturn (\n\t\t\t\t<Button\n\t\t\t\t\tassistiveText={{ icon: 'Dismiss Notification' }}\n\t\t\t\t\ticonCategory=\"utility\"\n\t\t\t\t\ticonName=\"close\"\n\t\t\t\t\ticonSize={size}\n\t\t\t\t\tinverse\n\t\t\t\t\tclassName=\"slds-notify__close\"\n\t\t\t\t\tonClick={this.onDismiss}\n\t\t\t\t\tbuttonRef={(dismissBtn) => {\n\t\t\t\t\t\tthis.dismissBtnRef = dismissBtn;\n\t\t\t\t\t}}\n\t\t\t\t\tvariant=\"icon\"\n\t\t\t\t/>\n\t\t\t);\n\t\t}\n\n\t\treturn null;\n\t}\n\n\trenderContent() {\n\t\treturn (\n\t\t\t<div>\n\t\t\t\t<span className=\"slds-assistive-text\">{this.props.theme}</span>\n\t\t\t\t{this.renderClose()}\n\t\t\t\t{this.props.variant === 'toast' ? this.renderToastContent() : null}\n\t\t\t\t{this.props.variant === 'alert' ? this.renderAlertContent() : null}\n\t\t\t</div>\n\t\t);\n\t}\n\n\trenderIcon() {\n\t\tif (this.props.iconName) {\n\t\t\tlet classes = '';\n\n\t\t\tif (this.props.variant === 'alert') {\n\t\t\t\tclasses = 'slds-m-right_x-small';\n\t\t\t} else if (this.props.variant === 'toast') {\n\t\t\t\tclasses = 'slds-m-right_small slds-col slds-no-flex';\n\t\t\t}\n\n\t\t\treturn (\n\t\t\t\t<Icon\n\t\t\t\t\tcategory={this.props.iconCategory}\n\t\t\t\t\tclassName={classes}\n\t\t\t\t\tinverse\n\t\t\t\t\tname={this.props.iconName}\n\t\t\t\t\tsize=\"small\"\n\t\t\t\t/>\n\t\t\t);\n\t\t}\n\n\t\treturn null;\n\t}\n\n\trenderToastContent() {\n\t\treturn (\n\t\t\t<section className=\"notify__content slds-grid\">\n\t\t\t\t{this.renderIcon()}\n\t\t\t\t<div className=\"slds-col slds-align-middle\">\n\t\t\t\t\t<h2 id=\"dialogTitle\" className=\"slds-text-heading_small\">\n\t\t\t\t\t\t{this.props.content}\n\t\t\t\t\t</h2>\n\t\t\t\t</div>\n\t\t\t</section>\n\t\t);\n\t}\n\n\trender() {\n\t\t// TODO: If there are multiple notifications on a page, we must 'hide' the ones that aren't open.\n\t\t// Need to find a better way to do this than using width:0 to override slds-notify-container.\n\t\tlet styles;\n\t\tif (!this.props.isOpen) {\n\t\t\tstyles = { width: '0px' };\n\t\t} else {\n\t\t\tstyles =\n\t\t\t\tthis.props.variant === 'toast'\n\t\t\t\t\t? { width: 'auto', left: '50%', transform: 'translateX(-50%)' }\n\t\t\t\t\t: { width: '100%' };\n\t\t}\n\n\t\tconst alertStyles = !this.props.isOpen ? { display: 'none' } : null;\n\t\treturn (\n\t\t\t<div className=\"slds-notify-container\" style={styles}>\n\t\t\t\t<div\n\t\t\t\t\tclassName={this.getClassName()}\n\t\t\t\t\trole=\"alertdialog\"\n\t\t\t\t\taria-labelledby=\"dialogTitle\"\n\t\t\t\t\tstyle={alertStyles}\n\t\t\t\t>\n\t\t\t\t\t{this.props.isOpen ? this.renderContent() : this.blankContent()}\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t);\n\t}\n}\n\nNotification.displayName = displayName;\nNotification.propTypes = propTypes;\nNotification.defaultProps = defaultProps;\n\nexport default Notification;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n/* eslint-disable import/no-mutable-exports */\n\nimport deprecatedPropertyValue from '../../utilities/warning/deprecated-property-value';\nimport deprecatedProperty from '../../utilities/warning/deprecated-property';\nimport getComponentDocFn from '../../utilities/get-component-doc';\nimport renderFunctionReturnContentsLackDisplayName from '../../utilities/warning/render-function-return-contents-lack-display-name';\n\nimport { PAGE_HEADER_CONTROL } from '../../utilities/constants';\n\nlet checkProps = function checkPropsFunction() {};\n\nif (process.env.NODE_ENV !== 'production') {\n\tcheckProps = function checkPropsFunction(COMPONENT, props, jsonDoc) {\n\t\tconst createDocUrl = getComponentDocFn(jsonDoc);\n\n\t\tdeprecatedProperty(\n\t\t\tCOMPONENT,\n\t\t\tprops.iconCategory,\n\t\t\t'iconCategory',\n\t\t\t'icon',\n\t\t\tcreateDocUrl('icon')\n\t\t);\n\n\t\tdeprecatedProperty(\n\t\t\tCOMPONENT,\n\t\t\tprops.iconName,\n\t\t\t'iconName',\n\t\t\t'icon',\n\t\t\tcreateDocUrl('icon')\n\t\t);\n\n\t\tdeprecatedProperty(\n\t\t\tCOMPONENT,\n\t\t\tprops.iconPosition,\n\t\t\t'iconPosition',\n\t\t\t'icon',\n\t\t\tcreateDocUrl('icon')\n\t\t);\n\n\t\tdeprecatedProperty(\n\t\t\tCOMPONENT,\n\t\t\tprops.iconSize,\n\t\t\t'iconSize',\n\t\t\t'icon',\n\t\t\tcreateDocUrl('icon')\n\t\t);\n\n\t\tdeprecatedProperty(\n\t\t\tCOMPONENT,\n\t\t\tprops.iconVariant,\n\t\t\t'iconVariant',\n\t\t\t'icon',\n\t\t\tcreateDocUrl('icon')\n\t\t);\n\n\t\tif (props.variant === 'objectHome') {\n\t\t\tdeprecatedPropertyValue(\n\t\t\t\tCOMPONENT,\n\t\t\t\t{\n\t\t\t\t\tpropAsString: 'variant',\n\t\t\t\t\tpropValue: props.variant,\n\t\t\t\t\tdeprecatedPropValue: 'objectHome',\n\t\t\t\t\treplacementPropAsValue: 'object-home',\n\t\t\t\t},\n\t\t\t\t`Using value of variants in camelCase is deprecated. Use kebab-case ('object-home') instead. ${createDocUrl(\n\t\t\t\t\t'variant'\n\t\t\t\t)}`\n\t\t\t);\n\t\t}\n\n\t\tif (props.variant === 'recordHome') {\n\t\t\tdeprecatedPropertyValue(\n\t\t\t\tCOMPONENT,\n\t\t\t\t{\n\t\t\t\t\tpropAsString: 'variant',\n\t\t\t\t\tpropValue: props.variant,\n\t\t\t\t\tdeprecatedPropValue: 'recordHome',\n\t\t\t\t\treplacementPropAsValue: 'record-home',\n\t\t\t\t},\n\t\t\t\t`Using value of variants in camelCase is deprecated. Use kebab-case ('record-home') instead. ${createDocUrl(\n\t\t\t\t\t'variant'\n\t\t\t\t)}`\n\t\t\t);\n\t\t}\n\n\t\tif (props.variant === 'relatedList') {\n\t\t\tdeprecatedPropertyValue(\n\t\t\t\tCOMPONENT,\n\t\t\t\t{\n\t\t\t\t\tpropAsString: 'variant',\n\t\t\t\t\tpropValue: props.variant,\n\t\t\t\t\tdeprecatedPropValue: 'relatedList',\n\t\t\t\t\treplacementPropAsValue: 'related-list',\n\t\t\t\t},\n\t\t\t\t`Using value of variants in camelCase is deprecated. Use kebab-case ('related-list') instead. ${createDocUrl(\n\t\t\t\t\t'variant'\n\t\t\t\t)}`\n\t\t\t);\n\t\t}\n\n\t\tdeprecatedProperty(\n\t\t\tCOMPONENT,\n\t\t\tprops.contentRight,\n\t\t\t'contentRight',\n\t\t\t'onRenderActions',\n\t\t\tcreateDocUrl('onRenderActions')\n\t\t);\n\n\t\tdeprecatedProperty(\n\t\t\tCOMPONENT,\n\t\t\tprops.navRight,\n\t\t\t'navRight',\n\t\t\t'onRenderControls',\n\t\t\tcreateDocUrl('onRenderControls')\n\t\t);\n\n\t\tif (props.onRenderActions) {\n\t\t\trenderFunctionReturnContentsLackDisplayName(\n\t\t\t\tCOMPONENT,\n\t\t\t\t'onRenderActions',\n\t\t\t\tprops.onRenderActions(),\n\t\t\t\t[PAGE_HEADER_CONTROL],\n\t\t\t\ttrue\n\t\t\t);\n\t\t} else if (props.contentRight) {\n\t\t\trenderFunctionReturnContentsLackDisplayName(\n\t\t\t\tCOMPONENT,\n\t\t\t\t'contentRight',\n\t\t\t\tprops.contentRight,\n\t\t\t\t[PAGE_HEADER_CONTROL],\n\t\t\t\ttrue\n\t\t\t);\n\t\t}\n\n\t\tif (props.onRenderControls) {\n\t\t\trenderFunctionReturnContentsLackDisplayName(\n\t\t\t\tCOMPONENT,\n\t\t\t\t'onRenderControls',\n\t\t\t\tprops.onRenderControls(),\n\t\t\t\t[PAGE_HEADER_CONTROL],\n\t\t\t\ttrue\n\t\t\t);\n\t\t} else if (props.navRight) {\n\t\t\trenderFunctionReturnContentsLackDisplayName(\n\t\t\t\tCOMPONENT,\n\t\t\t\t'navRight',\n\t\t\t\tprops.navRight,\n\t\t\t\t[PAGE_HEADER_CONTROL],\n\t\t\t\ttrue\n\t\t\t);\n\t\t}\n\t};\n}\n\nexport default checkProps;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport classnames from 'classnames';\n\nconst displayName = 'PageHeaderInfo';\nconst propTypes = {\n\t/**\n\t * Optional class name\n\t */\n\tclassName: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\t/**\n\t * Contents of info section\n\t */\n\tcontent: PropTypes.node,\n\t/**\n\t * Variant passed down from page header\n\t */\n\tvariant: PropTypes.string,\n};\n\nconst Info = (props) => {\n\tif (!props.content) return null;\n\n\tconst classes = classnames(\n\t\t{\n\t\t\t'slds-page-header__name-meta': props.variant === 'base',\n\t\t\t'slds-page-header__meta-text':\n\t\t\t\tprops.variant === 'object-home' ||\n\t\t\t\tprops.variant === 'objectHome' ||\n\t\t\t\tprops.variant === 'related-list' ||\n\t\t\t\tprops.variant === 'relatedList',\n\t\t},\n\t\tprops.className\n\t);\n\n\tif (typeof props.content === 'string') {\n\t\treturn <p className={classes}>{props.content}</p>;\n\t}\n\n\treturn <div className={classes}>{props.content}</div>;\n};\n\nInfo.displayName = displayName;\nInfo.propTypes = propTypes;\n\nexport default Info;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\nimport Breadcrumb from '../../breadcrumb';\n\nconst displayName = 'PageHeaderLabel';\nconst propTypes = {\n\t/**\n\t * Contents of label section\n\t */\n\tcontent: PropTypes.node,\n\t/**\n\t * An array of react elements, presumably anchor <a> elements.\n\t */\n\ttrail: PropTypes.array,\n};\n\nconst Label = (props) => {\n\tif (props.trail && props.trail.length > 0) {\n\t\treturn <Breadcrumb styleContainer={props.style} trail={props.trail} />;\n\t}\n\n\tif (props.content) {\n\t\tif (typeof props.content === 'string') {\n\t\t\treturn <span>{props.content}</span>;\n\t\t}\n\n\t\treturn props.content;\n\t}\n\n\treturn null;\n};\n\nLabel.displayName = displayName;\nLabel.propTypes = propTypes;\n\nexport default Label;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\nimport React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport classnames from 'classnames';\n\nimport Label from './label';\n\nconst displayName = 'PageHeaderTitle';\nconst propTypes = {\n\t/**\n\t * Sets the vertical alignment on the title\n\t */\n\talign: PropTypes.oneOf(['top', 'middle', 'bottom']),\n\t/**\n\t * Optional class name\n\t */\n\tclassName: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\t/**\n\t * The title content\n\t */\n\tcontent: PropTypes.node,\n\t/**\n\t * Label node, for variants that require a label within the title\n\t */\n\tlabel: PropTypes.node,\n\t/**\n\t * Sets whether the title will truncate its content responsively.\n\t */\n\ttruncate: PropTypes.bool,\n};\nconst defaultProps = {\n\t// align: 'middle',\n\ttitle: 'Page Header Title',\n\ttruncate: true,\n};\n\nclass Title extends Component {\n\trender() {\n\t\tif (!this.props.content) return null;\n\n\t\tconst classes = classnames(\n\t\t\t'slds-page-header__title',\n\t\t\tthis.props.className,\n\t\t\t{\n\t\t\t\t'slds-truncate': this.props.truncate,\n\t\t\t\t[`slds-align-${this.props.align}`]: this.props.align,\n\t\t\t}\n\t\t);\n\n\t\treturn (\n\t\t\t<div className=\"slds-page-header__name-title\">\n\t\t\t\t<h1>\n\t\t\t\t\t<Label content={this.props.label} />\n\t\t\t\t\t<span\n\t\t\t\t\t\tclassName={classes}\n\t\t\t\t\t\ttitle={\n\t\t\t\t\t\t\ttypeof this.props.content === 'string'\n\t\t\t\t\t\t\t\t? this.props.content\n\t\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t\t}\n\t\t\t\t\t>\n\t\t\t\t\t\t{this.props.content}\n\t\t\t\t\t</span>\n\t\t\t\t</h1>\n\t\t\t</div>\n\t\t);\n\t}\n}\n\nTitle.displayName = displayName;\nTitle.propTypes = propTypes;\nTitle.defaultProps = defaultProps;\n\nexport default Title;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n/* eslint-disable jsx-a11y/no-noninteractive-tabindex */\n\nimport React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport classnames from 'classnames';\nimport Tooltip from '../../tooltip';\n\nconst displayName = 'PageHeaderDetailRow';\nconst propTypes = {\n\t/**\n\t * Optional class name\n\t */\n\tclassName: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\t/**\n\t * The content property can be a string or a React element\n\t */\n\tcontent: PropTypes.node,\n\t/**\n\t * Sets the 'flavor' of a block, which adds the following sizing class: `slds-size_${flavor}`\n\t */\n\tflavor: PropTypes.string,\n\t/**\n\t * Sets the label of a detail block\n\t */\n\tlabel: PropTypes.node,\n\t/**\n\t * Sets whether the fields truncate\n\t */\n\ttruncate: PropTypes.bool,\n};\n\nconst defaultProps = {\n\tcontent: '',\n\tlabel: '',\n\ttruncate: true,\n};\n\nclass DetailBlock extends Component {\n\tconstructor(props) {\n\t\tsuper(props);\n\t\tthis.state = { showTooltip: false };\n\t}\n\n\tcomponentDidMount() {\n\t\tthis.renderFieldTruncation();\n\t}\n\n\tcomponentDidUpdate(prevProps) {\n\t\tif (this.props.content !== prevProps.content) {\n\t\t\tthis.renderFieldTruncation();\n\t\t}\n\t}\n\n\trenderContent() {\n\t\tconst { content, truncate } = this.props;\n\n\t\tif (typeof content === 'string') {\n\t\t\tconst labelClasses = classnames({ 'slds-truncate': truncate });\n\n\t\t\treturn (\n\t\t\t\t<div\n\t\t\t\t\tclassName={labelClasses}\n\t\t\t\t\tref={(field) => {\n\t\t\t\t\t\tthis.fieldContentRef = field;\n\t\t\t\t\t}}\n\t\t\t\t\ttitle={content}\n\t\t\t\t>\n\t\t\t\t\t{content}\n\t\t\t\t</div>\n\t\t\t);\n\t\t}\n\n\t\treturn content;\n\t}\n\n\trenderContentWithTooltip() {\n\t\tconst { content, truncate } = this.props;\n\t\tconst labelClasses = classnames({ 'slds-truncate': truncate });\n\n\t\treturn (\n\t\t\t<Tooltip align=\"top\" title={content} triggerStyle={{ display: 'inline' }}>\n\t\t\t\t<div className={labelClasses} tabIndex=\"0\" title={content}>\n\t\t\t\t\t{content}\n\t\t\t\t</div>\n\t\t\t</Tooltip>\n\t\t);\n\t}\n\n\trenderFieldTruncation() {\n\t\tconst fieldContent = this.fieldContentRef;\n\t\tconst isTruncated =\n\t\t\tfieldContent && fieldContent.scrollWidth > fieldContent.offsetWidth;\n\n\t\tif (isTruncated) {\n\t\t\tthis.setState({ showTooltip: true });\n\t\t} else {\n\t\t\tthis.setState({ showTooltip: false });\n\t\t}\n\t}\n\n\trenderLabel() {\n\t\tconst { label, truncate } = this.props;\n\n\t\tif (typeof label === 'string') {\n\t\t\tconst labelClasses = classnames('slds-text-title', {\n\t\t\t\t'slds-truncate': truncate,\n\t\t\t});\n\n\t\t\treturn (\n\t\t\t\t<div className={labelClasses} title={label}>\n\t\t\t\t\t{label}\n\t\t\t\t</div>\n\t\t\t);\n\t\t}\n\n\t\treturn label;\n\t}\n\n\trender() {\n\t\tconst { className, flavor } = this.props;\n\n\t\tconst classes = classnames('slds-page-header__detail-block', className, {\n\t\t\t[`slds-size_${flavor}`]: flavor,\n\t\t});\n\n\t\treturn (\n\t\t\t<li className={classes}>\n\t\t\t\t{this.renderLabel()}\n\t\t\t\t{this.state.showTooltip\n\t\t\t\t\t? this.renderContentWithTooltip()\n\t\t\t\t\t: this.renderContent()}\n\t\t\t</li>\n\t\t);\n\t}\n}\n\nDetailBlock.displayName = displayName;\nDetailBlock.propTypes = propTypes;\nDetailBlock.defaultProps = defaultProps;\n\nexport default DetailBlock;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\nimport React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport classnames from 'classnames';\nimport DetailBlock from './detail-block';\n\nconst displayName = 'PageHeaderDetailRow';\nconst propTypes = {\n\tchildren: PropTypes.node,\n\t/**\n\t * Optional class name\n\t */\n\tclassName: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\t/**\n\t * An array of detail blocks\n\t */\n\tdetails: PropTypes.array,\n};\nconst defaultProps = {};\n\nclass DetailRow extends Component {\n\trenderDetails() {\n\t\tif (this.props.children !== undefined) {\n\t\t\treturn this.props.children;\n\t\t}\n\n\t\tif (this.props.details) {\n\t\t\treturn this.props.details.map((detail, i) => {\n\t\t\t\tconst key = `page-header-detail-block-${i}`;\n\n\t\t\t\treturn (\n\t\t\t\t\t<DetailBlock\n\t\t\t\t\t\tkey={key}\n\t\t\t\t\t\tflavor={detail.flavor}\n\t\t\t\t\t\tlabel={detail.label}\n\t\t\t\t\t\tcontent={detail.content}\n\t\t\t\t\t\ttruncate={detail.truncate}\n\t\t\t\t\t/>\n\t\t\t\t);\n\t\t\t});\n\t\t}\n\n\t\treturn null;\n\t}\n\n\trender() {\n\t\tconst classes = classnames(\n\t\t\t'slds-page-header__detail-row',\n\t\t\tthis.props.className\n\t\t);\n\n\t\treturn <ul className={classes}>{this.renderDetails()}</ul>;\n\t}\n}\n\nDetailRow.displayName = displayName;\nDetailRow.propTypes = propTypes;\nDetailRow.defaultProps = defaultProps;\n\nexport default DetailRow;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\nimport React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport classnames from 'classnames';\n\n// ## Constants\nimport { PAGE_HEADER_CONTROL } from '../../../utilities/constants';\n\nconst displayName = 'PageHeaderControls';\nconst propTypes = {\n\t/**\n\t * Optional class name\n\t */\n\tclassName: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\t/**\n\t * Type of this controls component ('actions' or 'controls')\n\t */\n\ttype: PropTypes.oneOf(['actions', 'controls']),\n};\nconst defaultProps = {};\n\nclass Controls extends Component {\n\trender() {\n\t\tlet controls;\n\t\tlet isUsingLegacyProp;\n\t\tlet legacyControls;\n\t\tlet vettedControls;\n\n\t\tif (this.props.type === 'actions') {\n\t\t\tif (this.props.onRenderActions) {\n\t\t\t\tcontrols = this.props.onRenderActions();\n\t\t\t} else if (this.props.contentRight) {\n\t\t\t\tcontrols = this.props.contentRight;\n\t\t\t\tisUsingLegacyProp = true;\n\t\t\t}\n\t\t} else if (this.props.onRenderControls) {\n\t\t\tcontrols = this.props.onRenderControls();\n\t\t} else if (this.props.navRight) {\n\t\t\tcontrols = this.props.navRight;\n\t\t\tisUsingLegacyProp = true;\n\t\t}\n\n\t\tif (controls) {\n\t\t\tif (controls.type && controls.type.displayName === PAGE_HEADER_CONTROL) {\n\t\t\t\tvettedControls = controls;\n\t\t\t} else if (controls.props && controls.props.children) {\n\t\t\t\tvettedControls = [];\n\n\t\t\t\tReact.Children.forEach(controls.props.children, (child) => {\n\t\t\t\t\tif (\n\t\t\t\t\t\tchild &&\n\t\t\t\t\t\tchild.type &&\n\t\t\t\t\t\tchild.type.displayName === PAGE_HEADER_CONTROL\n\t\t\t\t\t) {\n\t\t\t\t\t\t// eslint-disable-next-line fp/no-mutating-methods\n\t\t\t\t\t\tvettedControls.push(child);\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t}\n\n\t\t\t// Backward compatibility for older 'contentRight' & 'navRight' structures.\n\t\t\tif (isUsingLegacyProp && (!vettedControls || vettedControls.length < 1)) {\n\t\t\t\tif (typeof controls !== 'string') {\n\t\t\t\t\tlegacyControls = (\n\t\t\t\t\t\t<div className=\"slds-page-header__controls\" {...controls.props} />\n\t\t\t\t\t);\n\t\t\t\t} else {\n\t\t\t\t\tlegacyControls = (\n\t\t\t\t\t\t<div className=\"slds-page-header__controls\">{controls}</div>\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn (\n\t\t\t\t<div\n\t\t\t\t\tclassName={classnames(\n\t\t\t\t\t\t`slds-page-header__col-${this.props.type}`,\n\t\t\t\t\t\tthis.props.className\n\t\t\t\t\t)}\n\t\t\t\t>\n\t\t\t\t\t{legacyControls || (\n\t\t\t\t\t\t<div className=\"slds-page-header__controls\">{vettedControls}</div>\n\t\t\t\t\t)}\n\t\t\t\t</div>\n\t\t\t);\n\t\t}\n\n\t\treturn null;\n\t}\n}\n\nControls.displayName = displayName;\nControls.propTypes = propTypes;\nControls.defaultProps = defaultProps;\n\nexport default Controls;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport classnames from 'classnames';\n\nimport Controls from '../controls';\nimport Icon from '../../../icon';\nimport Info from '../info';\nimport MediaObject from '../../../media-object';\nimport Title from '../title';\n\nconst displayName = 'PageHeaderBase';\nconst propTypes = {\n\t/**\n\t * The page header icon\n\t */\n\ticon: PropTypes.node,\n\t/**\n\t * The info property can be a string or a React element\n\t */\n\tinfo: PropTypes.node,\n\t/**\n\t * Nav content which appears in the upper right hand corner.\n\t * prop 'navRight' will be deprecated soon, use 'onRenderControls' instead\n\t */\n\tonRenderControls: PropTypes.func,\n\t/**\n\t * The title property can be a string or a React element\n\t */\n\ttitle: PropTypes.node,\n\t/**\n\t * The type of component\n\t */\n\tvariant: PropTypes.string,\n};\n\nconst Base = (props) => {\n\tlet icon;\n\n\t// Backwards compatibility\n\tif (props.iconName) {\n\t\ticon = (\n\t\t\t<Icon\n\t\t\t\tcategory={props.iconCategory}\n\t\t\t\tclassName=\"slds-page-header__icon\"\n\t\t\t\tname={props.iconName}\n\t\t\t\tposition={props.iconPosition}\n\t\t\t\tsize={props.iconSize}\n\t\t\t\tvariant={props.iconVariant}\n\t\t\t/>\n\t\t);\n\t} else if (props.icon) {\n\t\tlet iconClasses = 'slds-page-header__icon';\n\n\t\tif (props.icon.props) {\n\t\t\ticonClasses = classnames(props.icon.props.className, iconClasses);\n\t\t}\n\n\t\ticon = React.cloneElement(props.icon, { className: iconClasses });\n\t}\n\n\treturn (\n\t\t<div className=\"slds-page-header__row\">\n\t\t\t<div className=\"slds-page-header__col-title\">\n\t\t\t\t<MediaObject\n\t\t\t\t\tbody={\n\t\t\t\t\t\t<React.Fragment>\n\t\t\t\t\t\t\t<div className=\"slds-page-header__name\">\n\t\t\t\t\t\t\t\t<Title content={props.title} />\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<Info content={props.info} variant={props.variant} />\n\t\t\t\t\t\t</React.Fragment>\n\t\t\t\t\t}\n\t\t\t\t\tfigure={icon}\n\t\t\t\t/>\n\t\t\t</div>\n\t\t\t<Controls\n\t\t\t\tclassName=\"slds-align-middle\"\n\t\t\t\tnavRight={props.navRight}\n\t\t\t\tonRenderControls={props.onRenderControls}\n\t\t\t\ttype=\"controls\"\n\t\t\t/>\n\t\t</div>\n\t);\n};\nBase.displayName = displayName;\nBase.propTypes = propTypes;\n\nexport default Base;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport classnames from 'classnames';\n\nimport Controls from '../controls';\nimport DetailRow from '../detail-row';\nimport Icon from '../../../icon';\nimport MediaObject from '../../../media-object';\nimport Title from '../title';\n\nconst displayName = 'PageHeaderRecordHome';\nconst propTypes = {\n\t/**\n\t * An array of detail blocks (used in \"recordHome\" variant)\n\t */\n\tdetails: PropTypes.array,\n\t/**\n\t * The label property can be a string or a React element\n\t */\n\tlabel: PropTypes.node,\n\t/**\n\t * The page header icon\n\t */\n\ticon: PropTypes.element,\n\t/**\n\t * Content to appear on the right hand side of the page header\n\t * prop 'contentRight' will be deprecated soon, use 'onRenderActions' instead\n\t */\n\tonRenderActions: PropTypes.func,\n\t/**\n\t * The title property can be a string or a React element\n\t */\n\ttitle: PropTypes.node,\n};\n\nconst RecordHome = (props) => {\n\tlet icon;\n\n\t// Backwards compatibility\n\tif (props.iconName) {\n\t\ticon = (\n\t\t\t<Icon\n\t\t\t\tcategory={props.iconCategory}\n\t\t\t\tclassName=\"slds-page-header__icon\"\n\t\t\t\tname={props.iconName}\n\t\t\t\tposition={props.iconPosition}\n\t\t\t\tsize={props.iconSize}\n\t\t\t\tvariant={props.iconVariant}\n\t\t\t/>\n\t\t);\n\t} else if (props.icon) {\n\t\tlet iconClasses = 'slds-page-header__icon';\n\n\t\tif (props.icon.props) {\n\t\t\ticonClasses = classnames(props.icon.props.className, iconClasses);\n\t\t}\n\n\t\ticon = React.cloneElement(props.icon, { className: iconClasses });\n\t}\n\n\treturn (\n\t\t<React.Fragment>\n\t\t\t<div className=\"slds-page-header__row\">\n\t\t\t\t<div className=\"slds-page-header__col-title\">\n\t\t\t\t\t<MediaObject\n\t\t\t\t\t\tbody={\n\t\t\t\t\t\t\t<React.Fragment>\n\t\t\t\t\t\t\t\t<div className=\"slds-page-header__name\">\n\t\t\t\t\t\t\t\t\t<Title content={props.title} label={props.label} />\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</React.Fragment>\n\t\t\t\t\t\t}\n\t\t\t\t\t\tfigure={icon}\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t\t<Controls\n\t\t\t\t\tcontentRight={props.contentRight}\n\t\t\t\t\tonRenderActions={props.onRenderActions}\n\t\t\t\t\ttype=\"actions\"\n\t\t\t\t/>\n\t\t\t</div>\n\t\t\t{props.details ? (\n\t\t\t\t<div className=\"slds-page-header__row slds-page-header__row_gutters\">\n\t\t\t\t\t<div className=\"slds-page-header__col-details\">\n\t\t\t\t\t\t<DetailRow details={props.details} />\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t) : null}\n\t\t</React.Fragment>\n\t);\n};\n\nRecordHome.displayName = displayName;\nRecordHome.propTypes = propTypes;\n\nexport default RecordHome;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport classnames from 'classnames';\n\nimport Controls from '../controls';\nimport Icon from '../../../icon';\nimport Info from '../info';\nimport Label from '../label';\nimport MediaObject from '../../../media-object';\nimport Title from '../title';\n\nconst displayName = 'PageHeaderObjectHome';\nconst propTypes = {\n\t/**\n\t * The label property can be a string or a React element\n\t */\n\tlabel: PropTypes.node,\n\t/**\n\t * The page header icon\n\t */\n\ticon: PropTypes.element,\n\t/**\n\t * The info property can be a string or a React element\n\t */\n\tinfo: PropTypes.node,\n\t/**\n\t * Used with the `object-home` variant. Accepts a node, typically a Dropdown component\n\t */\n\tnameSwitcherDropdown: PropTypes.node,\n\t/**\n\t * Content to appear on the right hand side of the page header\n\t * prop 'contentRight' will be deprecated soon, use 'onRenderActions' instead\n\t */\n\tonRenderActions: PropTypes.func,\n\t/**\n\t * Nav content which appears in the upper right hand corner.\n\t * prop 'navRight' will be deprecated soon, use 'onRenderControls' instead\n\t */\n\tonRenderControls: PropTypes.func,\n\t/**\n\t * The title property can be a string or a React element\n\t */\n\ttitle: PropTypes.node,\n\t/**\n\t * An array of react elements presumably anchor <a> elements.\n\t */\n\ttrail: PropTypes.array,\n\t/**\n\t * The type of component\n\t * Note: Extra options are added to make the version backward compatible\n\t */\n\tvariant: PropTypes.string,\n};\n\nconst ObjectHome = (props) => {\n\tlet icon;\n\n\t// Backwards compatibility\n\tif (props.iconName) {\n\t\ticon = (\n\t\t\t<Icon\n\t\t\t\tcategory={props.iconCategory}\n\t\t\t\tclassName=\"slds-page-header__icon\"\n\t\t\t\tname={props.iconName}\n\t\t\t\tposition={props.iconPosition}\n\t\t\t\tsize={props.iconSize}\n\t\t\t\tvariant={props.iconVariant}\n\t\t\t/>\n\t\t);\n\t} else if (props.icon) {\n\t\tlet iconClasses = 'slds-page-header__icon';\n\n\t\tif (props.icon.props) {\n\t\t\ticonClasses = classnames(props.icon.props.className, iconClasses);\n\t\t}\n\n\t\ticon = React.cloneElement(props.icon, { className: iconClasses });\n\t}\n\n\treturn (\n\t\t<React.Fragment>\n\t\t\t<div className=\"slds-page-header__row\">\n\t\t\t\t<div className=\"slds-page-header__col-title\">\n\t\t\t\t\t<MediaObject\n\t\t\t\t\t\tbody={\n\t\t\t\t\t\t\t<React.Fragment>\n\t\t\t\t\t\t\t\t{props.trail ? (\n\t\t\t\t\t\t\t\t\t<Label style={{ lineHeight: '1.3' }} trail={props.trail} />\n\t\t\t\t\t\t\t\t) : null}\n\t\t\t\t\t\t\t\t<div className=\"slds-page-header__name\">\n\t\t\t\t\t\t\t\t\t<Title\n\t\t\t\t\t\t\t\t\t\tcontent={props.title}\n\t\t\t\t\t\t\t\t\t\tlabel={!props.trail ? props.label : null}\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t{props.nameSwitcherDropdown ? (\n\t\t\t\t\t\t\t\t\t\t<div className=\"slds-page-header__name-switcher\">\n\t\t\t\t\t\t\t\t\t\t\t{props.nameSwitcherDropdown}\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t) : null}\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</React.Fragment>\n\t\t\t\t\t\t}\n\t\t\t\t\t\tfigure={icon}\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t\t<Controls\n\t\t\t\t\tclassName={classnames({\n\t\t\t\t\t\t'slds-align-middle slds-p-bottom_none':\n\t\t\t\t\t\t\t!props.onRenderControls && !props.navRight,\n\t\t\t\t\t})}\n\t\t\t\t\tcontentRight={props.contentRight}\n\t\t\t\t\tonRenderActions={props.onRenderActions}\n\t\t\t\t\ttype=\"actions\"\n\t\t\t\t/>\n\t\t\t</div>\n\t\t\t<div className=\"slds-page-header__row\">\n\t\t\t\t<div className=\"slds-page-header__col-meta\">\n\t\t\t\t\t<Info content={props.info} variant={props.variant} />\n\t\t\t\t</div>\n\t\t\t\t<Controls\n\t\t\t\t\tclassName={classnames({\n\t\t\t\t\t\t'slds-align-middle': !props.onRenderActions && !props.comntentRight,\n\t\t\t\t\t})}\n\t\t\t\t\tnavRight={props.navRight}\n\t\t\t\t\tonRenderControls={props.onRenderControls}\n\t\t\t\t\ttype=\"controls\"\n\t\t\t\t/>\n\t\t\t</div>\n\t\t</React.Fragment>\n\t);\n};\n\nObjectHome.displayName = displayName;\nObjectHome.propTypes = propTypes;\n\nexport default ObjectHome;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\nimport Controls from '../controls';\nimport Info from '../info';\nimport Label from '../label';\nimport MediaObject from '../../../media-object';\nimport Title from '../title';\n\nconst displayName = 'PageHeaderRelatedList';\nconst propTypes = {\n\t/**\n\t * The label property can be a string or a React element\n\t */\n\tlabel: PropTypes.node,\n\t/**\n\t * The info property can be a string or a React element\n\t */\n\tinfo: PropTypes.node,\n\t/**\n\t * Content to appear on the right hand side of the page header\n\t * prop 'contentRight' will be deprecated soon, use 'onRenderActions' instead\n\t */\n\tonRenderActions: PropTypes.func,\n\t/**\n\t * Nav content which appears in the upper right hand corner.\n\t * prop 'navRight' will be deprecated soon, use 'onRenderControls' instead\n\t */\n\tonRenderControls: PropTypes.func,\n\t/**\n\t * The title property can be a string or a React element\n\t */\n\ttitle: PropTypes.node,\n\t/**\n\t * An array of react elements presumably anchor <a> elements.\n\t */\n\ttrail: PropTypes.array,\n\t/**\n\t * The type of component\n\t * Note: Extra options are added to make the version backward compatible\n\t */\n\tvariant: PropTypes.string,\n};\nconst defaultProps = {};\n\nconst RelatedList = (props) => (\n\t<React.Fragment>\n\t\t<div className=\"slds-page-header__row\">\n\t\t\t<div className=\"slds-page-header__col-title\">\n\t\t\t\t<Label content={props.label} trail={props.trail} />\n\t\t\t\t<MediaObject\n\t\t\t\t\tbody={\n\t\t\t\t\t\t<div className=\"slds-page-header__name\">\n\t\t\t\t\t\t\t<Title content={props.title} label={props.label} />\n\t\t\t\t\t\t</div>\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t</div>\n\t\t\t<Controls\n\t\t\t\tcontentRight={props.contentRight}\n\t\t\t\tonRenderActions={props.onRenderActions}\n\t\t\t\ttype=\"actions\"\n\t\t\t/>\n\t\t</div>\n\t\t<div className=\"slds-page-header__row\">\n\t\t\t<div className=\"slds-page-header__col-meta\">\n\t\t\t\t<Info content={props.info} variant={props.variant} />\n\t\t\t</div>\n\t\t\t<Controls\n\t\t\t\tnavRight={props.navRight}\n\t\t\t\tonRenderControls={props.onRenderControls}\n\t\t\t\ttype=\"controls\"\n\t\t\t/>\n\t\t</div>\n\t</React.Fragment>\n);\n\nRelatedList.displayName = displayName;\nRelatedList.propTypes = propTypes;\nRelatedList.defaultProps = defaultProps;\n\nexport default RelatedList;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n/* eslint-disable jsx-a11y/no-redundant-roles */\n\n// # Page Header Component\n\n// Implements the [Page Header design pattern](https://www.lightningdesignsystem.com/components/page-headers) in React.\n// Based on SLDS v2.2.1\n\n// ## Dependencies\n\nimport React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport classnames from 'classnames';\n\n// This component's `checkProps` which issues warnings to developers about properties when in development mode (similar to React's built in development tools)\nimport checkProps from './check-props';\nimport componentDoc from './component.json';\n\nimport Info from './private/info';\nimport Title from './private/title';\nimport DetailRow from './private/detail-row';\nimport DetailBlock from './private/detail-block';\nimport Base from './private/base';\nimport RecordHome from './private/record-home';\nimport ObjectHome from './private/object-home';\nimport RelatedList from './private/related-list';\n\n// ## Constants\nimport { PAGE_HEADER } from '../../utilities/constants';\n\nconst displayName = PAGE_HEADER;\nconst propTypes = {\n\t/**\n\t * Optional class name\n\t */\n\tclassName: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\t/**\n\t * An array of detail blocks (used in \"recordHome\" variant)\n\t */\n\tdetails: PropTypes.array,\n\t/**\n\t * The label property can be a string or a React element\n\t */\n\tlabel: PropTypes.oneOfType([PropTypes.string, PropTypes.element]),\n\t/**\n\t * The page header icon. Expects an Icon component\n\t */\n\ticon: PropTypes.element,\n\t/**\n\t * The info property can be a string or a React element\n\t */\n\tinfo: PropTypes.oneOfType([PropTypes.string, PropTypes.element]),\n\t/**\n\t * Makes PageHeader joinable with DataTable by adding appropriate classes/styling\n\t */\n\tjoined: PropTypes.bool,\n\t/**\n\t * Used with the `object-home` variant. Accepts a node, typically a Dropdown component\n\t */\n\tnameSwitcherDropdown: PropTypes.node,\n\t/**\n\t * Actions content to appear on the upper right side of the page header.\n\t * Returned content must be either a SLDSPageHeaderControl component or an element/fragment with children that are all SLDSPageHeaderControl components.\n\t * Prop 'contentRight' will be deprecated soon, use 'onRenderActions' instead.\n\t */\n\tonRenderActions: PropTypes.func,\n\t/**\n\t * Controls content to appear on the lower right side of the page header.\n\t * Returned content must be either a SLDSPageHeaderControl component or an element/fragment with children that are all SLDSPageHeaderControl components.\n\t * Prop 'navRight' will be deprecated soon, use 'onRenderControls' instead.\n\t */\n\tonRenderControls: PropTypes.func,\n\t/**\n\t * The title property can be a string or a React element\n\t */\n\ttitle: PropTypes.oneOfType([PropTypes.string, PropTypes.element]),\n\t/**\n\t * An array of react elements presumably anchor <a> elements.\n\t */\n\ttrail: PropTypes.array,\n\t/**\n\t * The type of component\n\t * Note: Extra options are added to make the version backward compatible\n\t */\n\tvariant: PropTypes.oneOf([\n\t\t'base',\n\t\t'object-home',\n\t\t'record-home',\n\t\t'related-list',\n\t]),\n};\n\nconst defaultProps = {\n\tvariant: 'base',\n};\n\n/**\n * The PageHeader component adds PageHeader, PageHeader.Info, PageHeader.Title, PageHeader.DetailRow, and PageHeader.DetailBlock.\n */\nclass PageHeader extends Component {\n\tcomponentDidMount() {\n\t\tcheckProps(PAGE_HEADER, this.props, componentDoc);\n\t}\n\n\trender() {\n\t\tconst { className, variant } = this.props;\n\t\tconst classes = classnames(\n\t\t\t'slds-page-header',\n\t\t\t{\n\t\t\t\t'slds-page-header_record-home':\n\t\t\t\t\tvariant === 'record-home' || variant === 'recordHome',\n\t\t\t\t'slds-page-header_related-list':\n\t\t\t\t\tvariant === 'related-list' || variant === 'relatedList',\n\t\t\t\t'slds-page-header_joined': this.props.joined,\n\t\t\t},\n\t\t\tclassName\n\t\t);\n\t\tlet Variant;\n\n\t\tswitch (variant) {\n\t\t\tcase 'object-home':\n\t\t\tcase 'objectHome': // For backward compatibility\n\t\t\t\tVariant = ObjectHome;\n\t\t\t\tbreak;\n\t\t\tcase 'record-home':\n\t\t\tcase 'recordHome': // For backward compatibility\n\t\t\t\tVariant = RecordHome;\n\t\t\t\tbreak;\n\t\t\tcase 'related-list':\n\t\t\tcase 'relatedList': // For backward compatibility\n\t\t\t\tVariant = RelatedList;\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\tVariant = Base;\n\t\t}\n\n\t\treturn (\n\t\t\t<div className={classes}>\n\t\t\t\t<Variant {...this.props} />\n\t\t\t</div>\n\t\t);\n\t}\n}\n\nPageHeader.displayName = displayName;\nPageHeader.propTypes = propTypes;\nPageHeader.defaultProps = defaultProps;\n\nexport default PageHeader;\n\n// NOTE: these are private components and are prone to breaking changes.\n// Do not use these in your app! These exports are for legacy use only.\nexport { Info, Title, DetailRow, DetailBlock };\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport classnames from 'classnames';\n\n// ## Constants\nimport { PAGE_HEADER_CONTROL } from '../../utilities/constants';\n\nconst propTypes = {\n\t/**\n\t * Optional class name\n\t */\n\tclassName: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n};\n\n/**\n * The PageHeaderControl component is used to wrap individual controls within PageHeader 'actions' and 'controls' sections.\n */\nconst Control = (props) => (\n\t<div className={classnames('slds-page-header__control', props.className)}>\n\t\t{props.children}\n\t</div>\n);\n\nControl.displayName = PAGE_HEADER_CONTROL;\nControl.propTypes = propTypes;\n\nexport default Control;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// # Panel - Filter variant\n\n// Implements the [Panel design pattern](https://www.lightningdesignsystem.com/components/panels) in React.\n// Based on SLDS v2.2.0-rc.1\n\n// ## Dependencies\n\n// ### React\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\n// ### classNames\nimport classNames from 'classnames';\n\n// ## Constants\nimport { PANEL } from '../../utilities/constants';\n\n/**\n * A panel provides detailed contextual information or contextual filtering options. [Filter](/components/filters/) component should be used as children. Menus within a Filter Popover will need to not have \"portal mounts\" and be inline. */\nclass Panel extends React.Component {\n\trender() {\n\t\treturn (\n\t\t\t<div\n\t\t\t\tclassName={classNames(\n\t\t\t\t\t'slds-panel',\n\t\t\t\t\t'slds-grid',\n\t\t\t\t\t'slds-grid_vertical',\n\t\t\t\t\t'slds-nowrap',\n\t\t\t\t\t{\n\t\t\t\t\t\t'slds-panel_filters': this.props.variant === 'filters',\n\t\t\t\t\t},\n\t\t\t\t\tthis.props.className\n\t\t\t\t)}\n\t\t\t>\n\t\t\t\t<div className=\"slds-form_stacked slds-grow slds-scrollable_y slds-grid slds-grid_vertical\">\n\t\t\t\t\t{this.props.children}\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t);\n\t}\n}\n\nPanel.displayName = PANEL;\n\nPanel.propTypes = {\n\t/**\n\t * The contents of the panel\n\t */\n\tchildren: PropTypes.node,\n\t/**\n\t * CSS classes to be added to `slds-panel`.\n\t */\n\tclassName: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\t/**\n\t * The type of panel\n\t */\n\tvariant: PropTypes.oneOf(['filters']),\n};\n\nexport default Panel;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n/* eslint-disable import/no-mutable-exports */\n\nimport deprecatedProperty from '../../../utilities/warning/deprecated-property';\n\nlet checkProps = function checkPropsFunction() {};\n\nif (process.env.NODE_ENV !== 'production') {\n\tcheckProps = function checkPropsFunction(COMPONENT, props) {\n\t\tdeprecatedProperty(\n\t\t\tCOMPONENT,\n\t\t\tprops.assistiveTextCloseFilterPanel,\n\t\t\t'assistiveTextCloseFilterPanel',\n\t\t\t\"assistiveText['closeButton']\"\n\t\t);\n\t};\n}\n\nexport default checkProps;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// # Panel Filter Group Footer\n\n// Implements the [Panel design pattern](https://www.lightningdesignsystem.com/components/panels) in React.\n// Based on SLDS v2.2.0-rc.1\n\n// ## Dependencies\n\n// ### React\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\nimport Button from '../../../button';\n\n/**\n * A filtering panel contextual filtering options.\n */\nconst PanelFilterFooter = ({\n\taddFilterLabel,\n\tonClickAdd,\n\tonClickRemoveAll,\n\tremoveAllLabel,\n}) => (\n\t<div className=\"slds-filters__footer slds-grid slds-shrink-none\">\n\t\t<Button label={addFilterLabel} onClick={onClickAdd} variant=\"link\" />\n\t\t<Button\n\t\t\tclassName=\"slds-col_bump-left\"\n\t\t\tlabel={removeAllLabel}\n\t\t\tonClick={onClickRemoveAll}\n\t\t\tvariant=\"link\"\n\t\t/>\n\t</div>\n);\n\nPanelFilterFooter.displayName = 'SLDSPanelFilterFooter';\n\nPanelFilterFooter.propTypes = {\n\t/**\n\t * Localized description of the \"Add Filter\" button in the footer\n\t */\n\taddFilterLabel: PropTypes.node.isRequired,\n\t/**\n\t * Callback triggered when \"Add Filter\" is clicked. Recieves an `event`.\n\t */\n\tonClickAdd: PropTypes.func.isRequired,\n\t/**\n\t * Callback triggered when \"Remove All\" is clicked. Recieves an `event`.\n\t */\n\tonClickRemoveAll: PropTypes.func.isRequired,\n\t/**\n\t * Localized description of the \"Remove All\" button in the footer\n\t */\n\tremoveAllLabel: PropTypes.node.isRequired,\n};\n\nexport default PanelFilterFooter;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// # Panel Filter Group Header\n\n// Implements the [Panel design pattern](https://www.lightningdesignsystem.com/components/panels) in React.\n// Based on SLDS v2.2.0-rc.1\n\n// ## Dependencies\n\n// ### React\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\nimport Button from '../../../button';\n\n/**\n * Header for a Filter Group within a Panel.\n */\nconst PanelFilterHeader = ({\n\tassistiveText,\n\tcancelLabel,\n\theading,\n\tmodified,\n\tonRequestCancel,\n\tonRequestClose,\n\tonRequestSave,\n\tsaveLabel,\n}) =>\n\tmodified ? (\n\t\t<div className=\"slds-filters__header slds-grid slds-has-divider_bottom-space slds-grid_align-spread\">\n\t\t\t<Button label={cancelLabel} onClick={onRequestCancel} variant=\"neutral\" />\n\t\t\t<Button label={saveLabel} onClick={onRequestSave} variant=\"brand\" />\n\t\t</div>\n\t) : (\n\t\t<div className=\"slds-filters__header slds-grid slds-has-divider_bottom-space\">\n\t\t\t<h2 className=\"slds-align-middle slds-text-heading_small\">{heading}</h2>\n\t\t\t<Button\n\t\t\t\tclassName=\"slds-col_bump-left\"\n\t\t\t\tassistiveText={{ icon: assistiveText.closeButton }}\n\t\t\t\ticonCategory=\"utility\"\n\t\t\t\ticonName=\"forward\"\n\t\t\t\ticonVariant=\"bare\"\n\t\t\t\ticonSize=\"small\"\n\t\t\t\tonClick={onRequestClose}\n\t\t\t\ttitle={assistiveText.closeButton}\n\t\t\t\tvariant=\"icon\"\n\t\t\t/>\n\t\t</div>\n\t);\n\nPanelFilterHeader.displayName = 'SLDSPanelFilterHeader';\n\nPanelFilterHeader.propTypes = {\n\t/**\n\t * **Assistive text for accessibility.**\n\t * This object is merged with the default props object on every render.\n\t * * `closeButton`: Localized description of the close button for the panel for screen readers\n\t */\n\tassistiveText: PropTypes.shape({\n\t\tcloseButton: PropTypes.string,\n\t}),\n\t/**\n\t * Label for button that cancels modified filters\n\t */\n\tcancelLabel: PropTypes.string,\n\t/**\n\t * The heading of the filtering panel\n\t */\n\theading: PropTypes.node,\n\t/**\n\t * Shows confirmation heading. Please see `onRequestCancel` and `onRequestSave`.\n\t */\n\tmodified: PropTypes.bool,\n\t/**\n\t * When the panel's cancel button is clicked in order to reset filter panel to previous state.\n\t */\n\tonRequestCancel: PropTypes.func,\n\t/**\n\t * When the panel's close button is clicked. Please place Panel within another element to control position and visibility.\n\t */\n\tonRequestClose: PropTypes.func,\n\t/**\n\t * When the panel's save button is clicked in order to confirm filter panel state.\n\t */\n\tonRequestSave: PropTypes.func,\n\t/**\n\t * Label for button that saves modified filters\n\t */\n\tsaveLabel: PropTypes.string,\n};\n\nexport default PanelFilterHeader;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// # Panel Filter Group\n\n// Implements the Filter part of [Panel design pattern](https://www.lightningdesignsystem.com/components/panels) in React.\n// Based on SLDS v2.2.0-rc.1\n\n// ## Dependencies\n\n// ### React\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\nimport checkProps from './check-props';\n\nimport PanelFilteringFooter from './private/panel-footer';\nimport PanelHeader from './private/panel-header';\n\n// ## Constants\nimport { PANEL_FILTER_GROUP } from '../../../utilities/constants';\n\nconst defaultProps = {\n\taddFilterLabel: 'Add Filter',\n\tcancelLabel: 'Cancel',\n\tassistiveText: {\n\t\tcloseButton: 'Close Filter Panel',\n\t},\n\theading: 'Filter',\n\tsaveLabel: 'Save',\n\tremoveAllLabel: 'Remove All',\n};\n\n/**\n * A filtering panel contextual filtering options.\n */\nconst PanelFilterGroup = (props) => {\n\tcheckProps(PANEL_FILTER_GROUP, props);\n\tconst {\n\t\tchildren,\n\t\terrorLabel,\n\t\tfooter,\n\t\theader,\n\t\tvariant,\n\n\t\t// footer\n\t\taddFilterLabel,\n\t\tonClickAdd,\n\t\tonClickRemoveAll,\n\t\tremoveAllLabel,\n\n\t\t// header\n\t\tcancelLabel,\n\t\theading,\n\t\tmodified,\n\t\tonRequestCancel,\n\t\tonRequestClose,\n\t\tonRequestSave,\n\t\tsaveLabel,\n\t} = props;\n\tconst assistiveText = {\n\t\t...defaultProps.assistiveText,\n\t\t...props.assistiveText,\n\t};\n\tif (props.assistiveTextCloseFilterPanel) {\n\t\tassistiveText.closeButton = props.assistiveTextCloseFilterPanel;\n\t}\n\treturn (\n\t\t<div className=\"slds-filters\">\n\t\t\t{variant === 'panel' ? (\n\t\t\t\t<PanelHeader\n\t\t\t\t\tassistiveText={assistiveText}\n\t\t\t\t\tcancelLabel={cancelLabel}\n\t\t\t\t\theading={heading}\n\t\t\t\t\tmodified={modified}\n\t\t\t\t\tonRequestCancel={onRequestCancel}\n\t\t\t\t\tonRequestClose={onRequestClose}\n\t\t\t\t\tonRequestSave={onRequestSave}\n\t\t\t\t\tsaveLabel={saveLabel}\n\t\t\t\t/>\n\t\t\t) : (\n\t\t\t\theader || null\n\t\t\t)}\n\t\t\t<div className=\"slds-filters__body\">\n\t\t\t\t{errorLabel ? (\n\t\t\t\t\t<div\n\t\t\t\t\t\tclassName=\"slds-text-color_error slds-m-bottom_x-small\"\n\t\t\t\t\t\trole=\"alert\"\n\t\t\t\t\t>\n\t\t\t\t\t\t{errorLabel}\n\t\t\t\t\t</div>\n\t\t\t\t) : null}\n\t\t\t\t{children}\n\t\t\t</div>\n\t\t\t{variant === 'panel' ? (\n\t\t\t\t<PanelFilteringFooter\n\t\t\t\t\taddFilterLabel={addFilterLabel}\n\t\t\t\t\tonClickAdd={onClickAdd}\n\t\t\t\t\tonClickRemoveAll={onClickRemoveAll}\n\t\t\t\t\tremoveAllLabel={removeAllLabel}\n\t\t\t\t/>\n\t\t\t) : (\n\t\t\t\tfooter || null\n\t\t\t)}\n\t\t</div>\n\t);\n};\n\nPanelFilterGroup.displayName = PANEL_FILTER_GROUP;\n\nPanelFilterGroup.propTypes = {\n\t/**\n\t * **Assistive text for accessibility.**\n\t * This object is merged with the default props object on every render.\n\t * * `closeButton`: Localized description of the close button for the panel for screen readers\n\t */\n\tassistiveText: PropTypes.shape({\n\t\tcloseButton: PropTypes.string,\n\t}),\n\t/**\n\t * Localized description of the \"Add Filter\" button in the footer\n\t */\n\taddFilterLabel: PropTypes.node,\n\t/**\n\t * Label for button that cancels modified filters\n\t */\n\tcancelLabel: PropTypes.string,\n\t/**\n\t * Pass in `FilterList`'s of `Filters`:\n\t *\n\t * ```\n\t * <FilterGroup\n\t * variant=\"panel\"\n\t * >\n\t * <FilterList>\n\t * <Filter\n\t * property=\"Show Me\"\n\t * predicate=\"All Wackamoles\"\n\t * >\n\t * {popoverContents}\n\t * </Filter>\n\t * </FilterList>\n\t * </FilterGroup>\n\t * ```\n\t */\n\tchildren: PropTypes.node,\n\t/**\n\t * Label for the error message at the top of the panel.\n\t */\n\terrorLabel: PropTypes.string,\n\t/**\n\t * Allows for customization of footer. This will be added after any `FilterList`'s in the DOM. If using Panel Filter Group outside of a panel, do not set the variant to `panel` and header and footer will be removed.\n\t */\n\tfooter: PropTypes.node,\n\t/**\n\t * Allows for customization of header. This will be added before any `FilterList`'s in the DOM. If using Panel Filter Group outside of a panel, do not set the variant to `panel` and header and footer will be removed.\n\t */\n\theader: PropTypes.node,\n\t/**\n\t * The heading within the header of the filtering panel\n\t */\n\theading: PropTypes.oneOfType([PropTypes.node, PropTypes.string]),\n\t/**\n\t * Shows confirmation heading. Please see `onRequestCancel` and `onRequestSave`.\n\t */\n\tmodified: PropTypes.bool,\n\t/**\n\t * Callback triggered when \"Add Filter\" is clicked. Recieves an `event`.\n\t */\n\tonClickAdd: PropTypes.func,\n\t/**\n\t * Callback triggered when \"Remove All\" is clicked. Recieves an `event`.\n\t */\n\tonClickRemoveAll: PropTypes.func,\n\t/**\n\t * When the panel's cancel button is clicked in order to reset filter panel to previous state.\n\t */\n\tonRequestCancel: PropTypes.func,\n\t/**\n\t * When the panel's close button is clicked. Please place Panel within another element to control position and visibility.\n\t */\n\tonRequestClose: PropTypes.func,\n\t/**\n\t * When the panel's save button is clicked in order to confirm filter panel state.\n\t */\n\tonRequestSave: PropTypes.func,\n\t/**\n\t * Localized description of the \"Remove All\" button in the footer\n\t */\n\tremoveAllLabel: PropTypes.node,\n\t/**\n\t * Label for button that saves modified filters\n\t */\n\tsaveLabel: PropTypes.string,\n\t/**\n\t * Adds in default Panel header and footer\n\t */\n\tvariant: PropTypes.oneOf(['panel']),\n};\n\nPanelFilterGroup.defaultProps = defaultProps;\n\nexport default PanelFilterGroup;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// # Filter List\n\n// Implements the [Panel design pattern](https://www.lightningdesignsystem.com/components/panels) in React.\n// Based on SLDS v2.2.0-rc.1\n\n// ## Dependencies\n\n// ### React\nimport React from 'react';\n\nimport PropTypes from 'prop-types';\n\n// ### shortid\n// [npmjs.com/package/shortid](https://www.npmjs.com/package/shortid)\n// shortid is a short, non-sequential, url-friendly, unique id generator\nimport shortid from 'shortid';\n\n// ## Constants\nimport { PANEL_FILTER_LIST } from '../../../utilities/constants';\n\n/**\n * A list of Filters. This is a higher order component for filters that decorates the filter to work within a Filtering Panel. It also adds support for a Filter error label.\n */\nclass PanelFilterList extends React.Component {\n\tstatic displayName = PANEL_FILTER_LIST;\n\n\tstatic propTypes() {\n\t\treturn {\n\t\t\t/**\n\t\t\t * Pass in `Filter` components\n\t\t\t */\n\t\t\tchildren: PropTypes.node,\n\t\t};\n\t}\n\n\tconstructor(props) {\n\t\tsuper(props);\n\n\t\tthis.generatedId = shortid.generate();\n\t}\n\n\trender() {\n\t\tconst children = React.Children.map(this.props.children, (child, index) => {\n\t\t\tconst id =\n\t\t\t\tchild && child.props.id\n\t\t\t\t\t? child.props.id\n\t\t\t\t\t: `${this.generatedId}-${index}`;\n\n\t\t\tlet clonedChild;\n\n\t\t\tif (child && child.props.errorLabel) {\n\t\t\t\tclonedChild = React.cloneElement(child, {\n\t\t\t\t\tisError: true,\n\t\t\t\t});\n\t\t\t}\n\n\t\t\treturn child ? (\n\t\t\t\t<li className=\"slds-item slds-hint-parent\">\n\t\t\t\t\t{clonedChild || child}\n\t\t\t\t\t{child.props.errorLabel ? (\n\t\t\t\t\t\t<p\n\t\t\t\t\t\t\tid={`${id}-error`}\n\t\t\t\t\t\t\tclassName=\"slds-text-color_error slds-m-top_xx-small\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{child.props.errorLabel}\n\t\t\t\t\t\t</p>\n\t\t\t\t\t) : null}\n\t\t\t\t</li>\n\t\t\t) : null;\n\t\t});\n\n\t\treturn (\n\t\t\t<ol className=\"slds-list_vertical slds-list_vertical-space\">\n\t\t\t\t{children}\n\t\t\t</ol>\n\t\t);\n\t}\n}\n\nexport default PanelFilterList;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// # FIlter List Heading\n\n// Implements the [Panel design pattern](https://www.lightningdesignsystem.com/components/panels) in React.\n// Based on SLDS v2.2.0-rc.1\n\n// ## Dependencies\n\n// ### React\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\n// ### classNames\nimport classNames from 'classnames';\n\nimport Icon from '../../icon';\n\n// ## Constants\nimport { PANEL_FILTER_LIST_HEADING } from '../../../utilities/constants';\n\n/**\n * A filtering panel contextual filtering options.\n */\nconst PanelFilterListHeading = ({ heading, isLocked, lockedHeading }) => (\n\t<h3\n\t\tclassName={classNames('slds-text-body_small', 'slds-m-vertical_x-small', {\n\t\t\t'slds-grid': isLocked,\n\t\t})}\n\t>\n\t\t{isLocked ? lockedHeading : heading}\n\t\t{isLocked ? (\n\t\t\t<Icon\n\t\t\t\tclassName=\"slds-m-left_x-small\"\n\t\t\t\tassistiveText={{ label: 'locked' }}\n\t\t\t\tcategory=\"utility\"\n\t\t\t\tname=\"lock\"\n\t\t\t\tsize=\"x-small\"\n\t\t\t/>\n\t\t) : null}\n\t</h3>\n);\n\nPanelFilterListHeading.displayName = PANEL_FILTER_LIST_HEADING;\n\nPanelFilterListHeading.propTypes = {\n\t/**\n\t * Heading for following PanelFilterList\n\t */\n\theading: PropTypes.oneOfType([PropTypes.node, PropTypes.string]),\n\t/**\n\t * Displayed a heading for a locked list of filters\n\t */\n\tisLocked: PropTypes.bool,\n\t/**\n\t * Heading for a group of filters that are locked\n\t */\n\tlockedHeading: PropTypes.string,\n};\n\nPanelFilterListHeading.defaultProps = {\n\theading: 'Matching all these filters',\n\tlockedHeading: 'Locked filters',\n};\n\nexport default PanelFilterListHeading;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// # Pill Container Component\n// Implements the [Listbox of Pill Options design pattern](https://www.lightningdesignsystem.com/components/pills/?variant=listbox-of-pill-options) in React.\n\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport shortid from 'shortid';\nimport SelectedListBox from './private/selected-listbox';\n\nimport { PILL_CONTAINER } from '../../utilities/constants';\n\nconst propTypes = {\n\t/**\n\t * **Assistive text for accessibility**\n\t * * `listboxLabel`: This is a label for the listbox. The default is `Selected Options:`.\n\t * * `removePill`: Used to remove a selected item (pill). Focus is on the pill. This is not a button. The default is `Press delete or backspace to remove`.\n\t */\n\tassistiveText: PropTypes.shape({\n\t\tlistboxLabel: PropTypes.string,\n\t\tremovePill: PropTypes.string,\n\t}),\n\t/**\n\t * CSS classes to be added to the pill container\n\t */\n\tclassName: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\t/**\n\t * HTML id for pill container\n\t */\n\tid: PropTypes.string,\n\t/**\n\t * **Text labels for internationalization**\n\t * * `removePillTitle`: Title on `X` icon\n\t */\n\tlabels: PropTypes.shape({\n\t\tremovePillTitle: PropTypes.string,\n\t}),\n\t/**\n\t * **Array of pill objects.**\n\t * Each object can contain:\n\t * * `avatar`: An `Avatar` component.\n\t * * `error`: Adds error styling\n\t * * `icon`: An `Icon` component.\n\t * * `id`: A unique identifier string.\n\t * * `label`: A primary string of text.\n\t * * `title`: Text that appears on mouse hover. Most helpful for long labels.\n\t * ```\n\t * {\n\t * \tid: '2',\n\t * \tlabel: 'Salesforce.com, Inc.',\n\t * \ttitle: 'Salesforce.com, Inc. - Want to work here?',\n\t * },\n\t * ```\n\t * `options` with array length of zero will remove this component from the DOM.\n\t */\n\toptions: PropTypes.arrayOf(\n\t\tPropTypes.shape({\n\t\t\tavatar: PropTypes.oneOfType([\n\t\t\t\tPropTypes.node,\n\t\t\t\tPropTypes.shape({\n\t\t\t\t\timgSrc: PropTypes.string,\n\t\t\t\t\ttitle: PropTypes.string,\n\t\t\t\t\tvariant: PropTypes.string,\n\t\t\t\t}),\n\t\t\t]),\n\t\t\tbare: PropTypes.bool,\n\t\t\terror: PropTypes.bool,\n\t\t\ticon: PropTypes.oneOfType([\n\t\t\t\tPropTypes.node,\n\t\t\t\tPropTypes.shape({\n\t\t\t\t\tcategory: PropTypes.string,\n\t\t\t\t\tname: PropTypes.string,\n\t\t\t\t}),\n\t\t\t]),\n\t\t\tid: PropTypes.string,\n\t\t\tlabel: PropTypes.oneOfType([PropTypes.node, PropTypes.string]),\n\t\t\ttitle: PropTypes.string,\n\t\t})\n\t),\n\t/**\n\t * Function called when a pill is clicked\n\t */\n\tonClickPill: PropTypes.func,\n\t/**\n\t * Function called when a pill is requested to be 'removed' via the delete key or 'X' icon click.\n\t */\n\tonRequestRemovePill: PropTypes.func,\n\t/**\n\t * Custom style object to be passed to the pill container\n\t */\n\tstyle: PropTypes.object,\n\t/**\n\t * Specifies the pill styling at the container level. `bare` removes border styling from all pills.\n\t */\n\tvariant: PropTypes.oneOf(['base', 'bare']),\n};\n\n/**\n * A `PillContainer` is a container that holds one or more pills. Use it for a list of pills in a container that resembles an `input` form field. It is not intended for navigation.\n */\nclass PillContainer extends React.Component {\n\tconstructor(props) {\n\t\tsuper(props);\n\n\t\tthis.state = {\n\t\t\t// seeding initial state with this.props.options[0]\n\t\t\tactiveSelectedOption:\n\t\t\t\t(this.props.options && this.props.options[0]) || undefined,\n\t\t\tactiveSelectedOptionIndex: 0,\n\t\t\tlistboxHasFocus: false,\n\t\t};\n\n\t\tthis.activeSelectedOptionRef = null;\n\t\tthis.generatedId = shortid.generate();\n\t\tthis.preserveFocus = false;\n\t}\n\n\tcomponentDidUpdate() {\n\t\tif (\n\t\t\t(this.props.options &&\n\t\t\t\tthis.props.options.length > 0 &&\n\t\t\t\t!this.props.options[this.state.activeSelectedOptionIndex]) ||\n\t\t\tthis.preserveFocus\n\t\t) {\n\t\t\tthis.resetActiveSelectedOption();\n\t\t\tthis.preserveFocus = false;\n\t\t}\n\t}\n\n\tgetId = () => this.props.id || this.generatedId;\n\n\tgetNewActiveOptionIndex = ({ activeOptionIndex, offset, options }) => {\n\t\tconst nextIndex = activeOptionIndex + offset;\n\t\treturn options.length > nextIndex && nextIndex >= 0\n\t\t\t? nextIndex\n\t\t\t: activeOptionIndex;\n\t};\n\n\thandleBlurPill = () => {\n\t\tif (!this.preserveFocus) {\n\t\t\tthis.setState({ listboxHasFocus: false });\n\t\t} else {\n\t\t\tthis.preserveFocus = false;\n\t\t}\n\t};\n\n\thandleClickPill = (event, data) => {\n\t\tif (this.props.onClickPill) {\n\t\t\tthis.props.onClickPill(event, {\n\t\t\t\tindex: data.index,\n\t\t\t\toption: data.option,\n\t\t\t});\n\t\t}\n\t};\n\n\thandlePillFocus = (event, data) => {\n\t\tif (!this.state.listboxHasFocus) {\n\t\t\tthis.setState({\n\t\t\t\tactiveSelectedOption: data.option,\n\t\t\t\tactiveSelectedOptionIndex: data.index,\n\t\t\t\tlistboxHasFocus: true,\n\t\t\t});\n\t\t}\n\t};\n\n\thandleNavigatePillContainer = (event, { direction }) => {\n\t\tconst offsets = { next: 1, previous: -1 };\n\t\tthis.setState((prevState) => {\n\t\t\tconst { options } = this.props;\n\t\t\tconst isLastOptionAndRightIsPressed =\n\t\t\t\tprevState.activeSelectedOptionIndex + 1 === options.length &&\n\t\t\t\tdirection === 'next';\n\t\t\tconst isFirstOptionAndLeftIsPressed =\n\t\t\t\tprevState.activeSelectedOptionIndex === 0 && direction === 'previous';\n\t\t\tlet newState;\n\n\t\t\tif (isLastOptionAndRightIsPressed) {\n\t\t\t\tnewState = {\n\t\t\t\t\tactiveSelectedOption: options[0],\n\t\t\t\t\tactiveSelectedOptionIndex: 0,\n\t\t\t\t\tlistboxHasFocus: true,\n\t\t\t\t};\n\t\t\t} else if (isFirstOptionAndLeftIsPressed) {\n\t\t\t\tnewState = {\n\t\t\t\t\tactiveSelectedOption: options[options.length - 1],\n\t\t\t\t\tactiveSelectedOptionIndex: options.length - 1,\n\t\t\t\t\tlistboxHasFocus: true,\n\t\t\t\t};\n\t\t\t} else {\n\t\t\t\tconst newIndex = this.getNewActiveOptionIndex({\n\t\t\t\t\tactiveOptionIndex: prevState.activeSelectedOptionIndex,\n\t\t\t\t\toffset: offsets[direction],\n\t\t\t\t\toptions,\n\t\t\t\t});\n\t\t\t\tnewState = {\n\t\t\t\t\tactiveSelectedOption: options[newIndex],\n\t\t\t\t\tactiveSelectedOptionIndex: newIndex,\n\t\t\t\t\tlistboxHasFocus: true,\n\t\t\t\t};\n\t\t\t}\n\n\t\t\tthis.preserveFocus = true;\n\t\t\treturn newState;\n\t\t});\n\t};\n\n\thandleRequestFocusPillContainer = (event, { ref }) => {\n\t\tif (ref) {\n\t\t\tthis.activeSelectedOptionRef = ref;\n\t\t\tthis.activeSelectedOptionRef.focus();\n\t\t}\n\t};\n\n\thandleRequestRemove = (event, data) => {\n\t\tif (this.props.onRequestRemovePill) {\n\t\t\tthis.preserveFocus = true;\n\t\t\tthis.props.onRequestRemovePill(event, {\n\t\t\t\tindex: data.index,\n\t\t\t\toption: data.option,\n\t\t\t});\n\t\t}\n\t};\n\n\tresetActiveSelectedOption = () => {\n\t\tconst { options } = this.props;\n\t\tlet { activeSelectedOptionIndex } = this.state;\n\n\t\tif (!options[activeSelectedOptionIndex]) {\n\t\t\tif (options.length > 0 && activeSelectedOptionIndex >= options.length) {\n\t\t\t\tactiveSelectedOptionIndex = options.length - 1;\n\t\t\t} else {\n\t\t\t\tactiveSelectedOptionIndex = 0;\n\t\t\t}\n\t\t}\n\n\t\tthis.setState({\n\t\t\tactiveSelectedOption: options[activeSelectedOptionIndex] || undefined,\n\t\t\tactiveSelectedOptionIndex,\n\t\t\tlistboxHasFocus: !!options[activeSelectedOptionIndex],\n\t\t});\n\t};\n\n\trender() {\n\t\treturn this.props.options.length > 0 ? (\n\t\t\t<SelectedListBox\n\t\t\t\tactiveOption={this.state.activeSelectedOption}\n\t\t\t\tactiveOptionIndex={this.state.activeSelectedOptionIndex}\n\t\t\t\tassistiveText={{\n\t\t\t\t\tremovePill: this.props.assistiveText.removePill,\n\t\t\t\t\tselectedListboxLabel: this.props.assistiveText.listboxLabel,\n\t\t\t\t}}\n\t\t\t\tclassName={this.props.className}\n\t\t\t\tevents={{\n\t\t\t\t\tonBlurPill: this.handleBlurPill,\n\t\t\t\t\tonClickPill: this.handleClickPill,\n\t\t\t\t\tonPillFocus: this.handlePillFocus,\n\t\t\t\t\tonRequestFocus: this.handleRequestFocusPillContainer,\n\t\t\t\t\tonRequestFocusOnNextPill: this.handleNavigatePillContainer,\n\t\t\t\t\tonRequestFocusOnPreviousPill: this.handleNavigatePillContainer,\n\t\t\t\t\tonRequestRemove: this.handleRequestRemove,\n\t\t\t\t}}\n\t\t\t\tid={`${this.getId()}-listbox-of-pill-options`}\n\t\t\t\tisBare={this.props.variant === 'bare'}\n\t\t\t\tisPillContainer\n\t\t\t\tlabels={this.props.labels}\n\t\t\t\tlistboxHasFocus={this.state.listboxHasFocus}\n\t\t\t\trenderAtSelectionLength={0}\n\t\t\t\tselection={this.props.options}\n\t\t\t\tstyle={this.props.style}\n\t\t\t/>\n\t\t) : null;\n\t}\n}\n\nPillContainer.displayName = PILL_CONTAINER;\n\nPillContainer.defaultProps = {\n\tassistiveText: {\n\t\tlistboxLabel: 'Selected Options:',\n\t\tremovePill: 'Press delete or backspace to remove',\n\t},\n\tlabels: {\n\t\tremovePillTitle: 'Remove',\n\t},\n};\n\nPillContainer.propTypes = propTypes;\n\nexport default PillContainer;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// Implements the [Progress Bar design pattern](https://lightningdesignsystem.com/components/progress-ring/) in React.\n// Based on SLDS v2.4.5\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport assign from 'lodash.assign';\n\n// ### shortid\n// [npmjs.com/package/shortid](https://www.npmjs.com/package/shortid)\n// shortid is a short, non-sequential, url-friendly, unique id generator\nimport shortid from 'shortid';\nimport { PROGRESS_BAR } from '../../utilities/constants';\n\nconst propTypes = {\n\t/**\n\t * **Assistive text for accessibility**\n\t * This object is merged with the default props object on every render.\n\t * * `progress`: This is a visually hidden label for the percent of progress.\n\t * _Tested with snapshot testing._\n\t */\n\tassistiveText: PropTypes.shape({ progress: PropTypes.string }),\n\t/**\n\t * HTML id for component.\n\t */\n\tid: PropTypes.string,\n\t/**\n\t * CSS classes to be added to tag with `.slds-progress-bar`. Uses `classNames` [API](https://github.com/JedWatson/classnames).\n\t */\n\tclassName: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\t/**\n\t * Label for the progress bar\n\t */\n\tlabels: PropTypes.shape({\n\t\tlabel: PropTypes.oneOfType([PropTypes.string, PropTypes.node]),\n\t\tcomplete: PropTypes.oneOfType([PropTypes.string, PropTypes.node]),\n\t}),\n\t/**\n\t * Set radius of progress bar\n\t */\n\tradius: PropTypes.oneOf(['circular']),\n\t/**\n\t * Set fill of progress bar\n\t */\n\tcolor: PropTypes.oneOf(['success']),\n\t/**\n\t * Set progress bar thickness\n\t */\n\tthickness: PropTypes.oneOf(['x-small', 'small', 'medium', 'large']),\n\t/**\n\t * Percentage of progress completion, ranging [0, 100].\n\t */\n\tvalue: PropTypes.number.isRequired,\n\t/**\n\t * Orientation of the progress bar to be used\n\t */\n\torientation: PropTypes.oneOf(['horizontal', 'vertical']),\n\t/**\n\t * Custom styles to be passed to the component\n\t */\n\tstyle: PropTypes.object,\n};\n\nconst defaultProps = {\n\tassistiveText: {\n\t\tprogress: 'Progress',\n\t},\n\tlabels: {\n\t\tcomplete: 'Complete',\n\t},\n\torientation: 'horizontal',\n\tstyle: {\n\t\theight: '100%',\n\t},\n};\n\n/**\n * A progress bar component communicates to the user the progress of a particular process\n */\nclass ProgressBar extends React.Component {\n\tconstructor(props) {\n\t\tsuper(props);\n\n\t\tthis.generatedId = shortid.generate();\n\t}\n\n\t/**\n\t * ID as a string\n\t * @returns {string} id\n\t */\n\tgetId() {\n\t\treturn this.props.id || this.generatedId;\n\t}\n\n\t/**\n\t * Enables Descriptive Progress Bar if label is provided\n\t * @returns {string} description\n\t */\n\tgetDescription({ labels }) {\n\t\tif (labels.label) {\n\t\t\treturn (\n\t\t\t\t<div\n\t\t\t\t\tclassName=\"slds-grid slds-grid_align-spread slds-p-bottom_x-small\"\n\t\t\t\t\tid={`progress-bar-label-${this.getId()}`}\n\t\t\t\t>\n\t\t\t\t\t<span>{labels.label}</span>\n\t\t\t\t\t<span>\n\t\t\t\t\t\t<strong>\n\t\t\t\t\t\t\t{this.props.value}\n\t\t\t\t\t\t\t{'% '}\n\t\t\t\t\t\t\t{labels.complete}\n\t\t\t\t\t\t</strong>\n\t\t\t\t\t</span>\n\t\t\t\t</div>\n\t\t\t);\n\t\t}\n\t\treturn '';\n\t}\n\n\trender() {\n\t\tconst labels = assign({}, defaultProps.labels, this.props.labels);\n\t\tconst assistiveText = assign(\n\t\t\t{},\n\t\t\tdefaultProps.assistiveText,\n\t\t\tthis.props.assistiveText\n\t\t);\n\t\tconst style = assign({}, defaultProps.style, this.props.style);\n\t\treturn (\n\t\t\t<div id={this.getId()} style={style}>\n\t\t\t\t{this.props.orientation === 'horizontal' &&\n\t\t\t\t\tthis.getDescription({ labels })}\n\t\t\t\t<div\n\t\t\t\t\taria-labelledby={\n\t\t\t\t\t\tthis.props.orientation === 'horizontal' && labels.label\n\t\t\t\t\t\t\t? `progress-bar-label-${this.getId()}`\n\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t}\n\t\t\t\t\taria-valuemin=\"0\"\n\t\t\t\t\taria-valuemax=\"100\"\n\t\t\t\t\taria-valuenow={this.props.value}\n\t\t\t\t\taria-valuetext={`${assistiveText.progress}: ${this.props.value}%`}\n\t\t\t\t\trole=\"progressbar\"\n\t\t\t\t\tclassName={classNames(\n\t\t\t\t\t\t'slds-progress-bar',\n\t\t\t\t\t\tthis.props.radius ? `slds-progress-bar_${this.props.radius}` : null,\n\t\t\t\t\t\tthis.props.thickness\n\t\t\t\t\t\t\t? `slds-progress-bar_${this.props.thickness}`\n\t\t\t\t\t\t\t: null,\n\t\t\t\t\t\tthis.props.className,\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t'slds-progress-bar_vertical':\n\t\t\t\t\t\t\t\tthis.props.orientation === 'vertical',\n\t\t\t\t\t\t}\n\t\t\t\t\t)}\n\t\t\t\t>\n\t\t\t\t\t<span\n\t\t\t\t\t\tclassName={classNames(\n\t\t\t\t\t\t\t`slds-progress-bar__value`,\n\t\t\t\t\t\t\tthis.props.color\n\t\t\t\t\t\t\t\t? `slds-progress-bar__value_${this.props.color}`\n\t\t\t\t\t\t\t\t: null\n\t\t\t\t\t\t)}\n\t\t\t\t\t\tstyle={\n\t\t\t\t\t\t\tthis.props.orientation === 'vertical'\n\t\t\t\t\t\t\t\t? {\n\t\t\t\t\t\t\t\t\t\theight: `${this.props.value}%`,\n\t\t\t\t\t\t\t\t }\n\t\t\t\t\t\t\t\t: {\n\t\t\t\t\t\t\t\t\t\twidth: `${this.props.value}%`,\n\t\t\t\t\t\t\t\t }\n\t\t\t\t\t\t}\n\t\t\t\t\t>\n\t\t\t\t\t\t<span className=\"slds-assistive-text\">\n\t\t\t\t\t\t\t{`${assistiveText.progress}: `}\n\t\t\t\t\t\t\t{`${this.props.value}%`}\n\t\t\t\t\t\t</span>\n\t\t\t\t\t</span>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t);\n\t}\n}\n\nProgressBar.displayName = PROGRESS_BAR;\nProgressBar.propTypes = propTypes;\nProgressBar.defaultProps = defaultProps;\n\nexport default ProgressBar;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\n// ### classNames\n// [github.com/JedWatson/classnames](https://github.com/JedWatson/classnames)\n// This project uses `classnames`, 'a simple javascript utility for conditionally\n// joining classNames together.'\nimport classNames from 'classnames';\n\n// Child component\nimport Tooltip from '../../tooltip';\nimport { PROGRESS_INDICATOR_STEP } from '../../../utilities/constants';\nimport ButtonIcon from '../../icon/button-icon';\n\n// ### Display Name\nconst displayName = PROGRESS_INDICATOR_STEP;\n\n// ### Prop Types\nconst propTypes = {\n\t/**\n\t * **Assistive text for accessibility**\n\t * This object is merged with the default props object on every render.\n\t * * `completedStep`: Label for a completed step. The default is `Completed Step`\n\t * * `disabledStep`: Label for disabled step. The default is `Disabled Step`\n\t * * `errorStep`: Label for a step with an error. The default is `Error Step`\n\t * * `percentage`: Label for Progress Bar. The default is `Progress: [this.props.value]%`. You will need to calculate the percentage yourself if changing this string.\n\t * * `step`: Label for a step. It will be typically followed by the number of the step such as \"Step 1\".\n\t */\n\tassistiveText: PropTypes.shape({\n\t\tcompletedStep: PropTypes.string,\n\t\tdisabledStep: PropTypes.string,\n\t\tpercentage: PropTypes.string,\n\t\tstep: PropTypes.string,\n\t}),\n\t/**\n\t * Id for Steps, ranging in [0, steps.length).\n\t */\n\tid: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n\t/**\n\t * Index of step. Used for id's if no step ID exists\n\t */\n\tindex: PropTypes.number,\n\t/**\n\t * Determines if the step has been completed\n\t */\n\n\tisCompleted: PropTypes.bool,\n\t/**\n\t * Determines if the step has been disabled\n\t */\n\tisDisabled: PropTypes.bool,\n\t/**\n\t * Determines if the step contains an error\n\t */\n\tisError: PropTypes.bool,\n\t/**\n\t * Determines if the step is currently selected (active)\n\t */\n\tisSelected: PropTypes.bool,\n\t/**\n\t * Label of tooltip attached to the step if applicable.\n\t */\n\tlabel: PropTypes.node,\n\t/**\n\t * Triggered when click on individual steps. By default, it receives an event and returns all info passed to that step.\n\t * users are able to re-define it by passing a function as a prop\n\t */\n\tonClick: PropTypes.func,\n\t/**\n\t * Triggered when focus on individual steps. By default, it receives an event and returns all info passed to that step.\n\t * users are able to re-define it by passing a function as a prop\n\t */\n\tonFocus: PropTypes.func,\n\t/**\n\t * Step object. This is passed into event callbacks.\n\t */\n\tstep: PropTypes.object,\n\t/**\n\t * Determines if the tooltip attached to step is always open.\n\t * This is mainly for dev test purpose.\n\t * Usually the tooltip should only show when hover.\n\t */\n\ttooltipIsOpen: PropTypes.bool,\n\t/**\n\t * Please select one of the following:\n\t * * `absolute` - (default if `variant` is `modal`) The dialog will use `position: absolute` and style attributes to position itself. This allows inverted placement or flipping of the dialog.\n\t * * `overflowBoundaryElement` - (default if `variant` is `base`) The dialog will overflow scrolling parents. Use on elements that are aligned to the left or right of their target and don't care about the target being within a scrolling parent. Typically this is a popover or tooltip. Dropdown menus can usually open up and down if no room exists. In order to achieve this a portal element will be created and attached to `body`. This element will render into that detached render tree.\n\t * * `relative` - No styling or portals will be used. Menus will be positioned relative to their triggers. This is a great choice for HTML snapshot testing.\n\t */\n\ttooltipPosition: PropTypes.oneOf([\n\t\t'absolute',\n\t\t'overflowBoundaryElement',\n\t\t'relative',\n\t]),\n};\n\n/**\n * Step renders a button icon and its tooltip if applied.\n * The button is applied with different css classes under different conditions.\n * Button icons have 4 types of status: completed (success), active (in progress), error (warning) and uncompleted (not approached)\n */\nclass Step extends React.Component {\n\t/**\n\t * buttonIcon represents the button icon used for each step.\n\t * the button is applied with different css classes under different conditions.\n\t */\n\tbuttonIcon(renderIcon, status, props) {\n\t\tconst data = {\n\t\t\tisSelected: props.isSelected,\n\t\t\tisError: props.isError,\n\t\t\tisCompleted: props.isCompleted,\n\t\t\tisDisabled: props.isDisabled,\n\t\t\tstep: props.step,\n\t\t};\n\n\t\tconst icon = renderIcon ? (\n\t\t\t<ButtonIcon\n\t\t\t\tcategory=\"utility\"\n\t\t\t\tname={this.props.isError ? 'error' : 'success'}\n\t\t\t/>\n\t\t) : null;\n\n\t\tconst handleClick = (event) => props.onClick(event, data);\n\t\tconst handleFocus = (event) => props.onFocus(event, data);\n\n\t\tconst stepButton = props.isDisabled ? (\n\t\t\t<a\n\t\t\t\tclassName={classNames(\n\t\t\t\t\t'slds-button',\n\t\t\t\t\t{ 'slds-button_icon': renderIcon },\n\t\t\t\t\t'slds-progress__marker',\n\t\t\t\t\t{ 'slds-progress__marker_icon': renderIcon },\n\t\t\t\t\t'slds-is-disabled'\n\t\t\t\t)}\n\t\t\t\taria-disabled\n\t\t\t\taria-describedby={`progress-indicator-tooltip-${\n\t\t\t\t\tthis.props.step.id || this.props.index\n\t\t\t\t}`}\n\t\t\t\tstyle={{ cursor: 'not-allowed' }}\n\t\t\t\ttabIndex={0}\n\t\t\t\trole=\"button\"\n\t\t\t>\n\t\t\t\t{icon}\n\t\t\t\t<span className=\"slds-assistive-text\">\n\t\t\t\t\t{this.props.step.assistiveText || (\n\t\t\t\t\t\t<React.Fragment>\n\t\t\t\t\t\t\t{`${props.assistiveText.step} ${props.index + 1}: `}\n\t\t\t\t\t\t\t{props.step.label}\n\t\t\t\t\t\t\t{`- ${status}`}\n\t\t\t\t\t\t</React.Fragment>\n\t\t\t\t\t)}\n\t\t\t\t</span>\n\t\t\t</a>\n\t\t) : (\n\t\t\t<button\n\t\t\t\tclassName={classNames(\n\t\t\t\t\t'slds-button',\n\t\t\t\t\t{ 'slds-button_icon': renderIcon },\n\t\t\t\t\t'slds-progress__marker',\n\t\t\t\t\t{ 'slds-progress__marker_icon': renderIcon }\n\t\t\t\t)}\n\t\t\t\tonClick={handleClick}\n\t\t\t\tonFocus={handleFocus}\n\t\t\t\taria-describedby={`progress-indicator-tooltip-${\n\t\t\t\t\tthis.props.step.id || this.props.index\n\t\t\t\t}`}\n\t\t\t\taria-current={this.props.isSelected ? 'step' : null}\n\t\t\t\ttype=\"button\"\n\t\t\t>\n\t\t\t\t{icon}\n\t\t\t\t<span className=\"slds-assistive-text\">\n\t\t\t\t\t{this.props.step.assistiveText || (\n\t\t\t\t\t\t<React.Fragment>\n\t\t\t\t\t\t\t{`${props.assistiveText.step} ${props.index + 1}: `}\n\t\t\t\t\t\t\t{props.step.label}\n\t\t\t\t\t\t\t{status ? ` - ${status}` : ''}\n\t\t\t\t\t\t</React.Fragment>\n\t\t\t\t\t)}\n\t\t\t\t</span>\n\t\t\t</button>\n\t\t);\n\n\t\treturn stepButton;\n\t}\n\n\trender() {\n\t\tconst renderIcon = this.props.isCompleted || this.props.isError;\n\t\tlet status = '';\n\t\tif (this.props.isError) {\n\t\t\tstatus = this.props.assistiveText.errorStep;\n\t\t} else if (this.props.isCompleted) {\n\t\t\tstatus = this.props.assistiveText.completedStep;\n\t\t} else if (this.props.isDisabled) {\n\t\t\tstatus = this.props.assistiveText.disabledStep;\n\t\t}\n\n\t\tconst tooltipProps = {\n\t\t\talign: 'top',\n\t\t\tid: `progress-indicator-tooltip-${\n\t\t\t\tthis.props.step.id || this.props.index\n\t\t\t}`,\n\t\t\tcontent: this.props.step.label,\n\t\t\ttheme: 'info',\n\t\t\tposition: this.props.tooltipPosition,\n\t\t\ttriggerStyle: { display: !renderIcon ? 'flex' : '' },\n\t\t};\n\n\t\t// This is mainly for dev test purpose.\n\t\t// `isOpen` is only set to true if tooltip is specified to be open\n\t\t// Do not set isOpen to false or undefined otherwise, because that will\n\t\t// disable any interaction with tooltips\n\t\tif (this.props.tooltipIsOpen) {\n\t\t\ttooltipProps.isOpen = true;\n\t\t}\n\n\t\treturn (\n\t\t\t<li\n\t\t\t\tclassName={classNames('slds-progress__item', {\n\t\t\t\t\t'slds-is-completed': this.props.isCompleted,\n\t\t\t\t\t'slds-is-active': this.props.isSelected && !this.props.isError,\n\t\t\t\t\t'slds-has-error': this.props.isError,\n\t\t\t\t})}\n\t\t\t>\n\t\t\t\t<Tooltip {...tooltipProps}>\n\t\t\t\t\t{this.buttonIcon(renderIcon, status, this.props)}\n\t\t\t\t</Tooltip>\n\t\t\t</li>\n\t\t);\n\t}\n}\n\nStep.propTypes = propTypes;\nStep.displayName = displayName;\n\nexport default Step; // export is replaced with `ReactDOM.render(<Example />, mountNode);` at runtime\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\n\nconst propTypes = {\n\t/**\n\t * Assistive text for percentage\n\t */\n\tassistiveText: PropTypes.shape({\n\t\tpercentage: PropTypes.string,\n\t}),\n\t/**\n\t * Percentage of progress completion, with range of [0, 100]\n\t */\n\tvalue: PropTypes.string.isRequired,\n};\n/**\n * ProgressBar renders the blue/gray progress bar and dynamically updates its completion percentage\n */\nclass ProgressBar extends React.Component {\n\trender() {\n\t\treturn (\n\t\t\t<div\n\t\t\t\tclassName={classNames('slds-progress-bar slds-progress-bar_x-small', {\n\t\t\t\t\t'slds-progress-bar_vertical': this.props.orientation === 'vertical',\n\t\t\t\t})}\n\t\t\t\taria-valuemin=\"0\"\n\t\t\t\taria-valuemax=\"100\"\n\t\t\t\taria-valuenow={this.props.value}\n\t\t\t\trole=\"progressbar\"\n\t\t\t>\n\t\t\t\t<span\n\t\t\t\t\tclassName=\"slds-progress-bar__value\"\n\t\t\t\t\tstyle={\n\t\t\t\t\t\tthis.props.orientation === 'vertical'\n\t\t\t\t\t\t\t? { height: `${this.props.value}%` }\n\t\t\t\t\t\t\t: { width: `${this.props.value}%` }\n\t\t\t\t\t}\n\t\t\t\t>\n\t\t\t\t\t<span className=\"slds-assistive-text\">\n\t\t\t\t\t\t{this.props.assistiveText.percentage ||\n\t\t\t\t\t\t\t`Progress: ${this.props.value}%`}\n\t\t\t\t\t</span>\n\t\t\t\t</span>\n\t\t\t</div>\n\t\t);\n\t}\n}\n\nProgressBar.displayName = 'ProgressBar';\nProgressBar.propTypes = propTypes;\n\nexport default ProgressBar;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\n// ### classNames\n// [github.com/JedWatson/classnames](https://github.com/JedWatson/classnames)\n// This project uses `classnames`, 'a simple javascript utility for conditionally\n// joining classNames together.'\nimport classNames from 'classnames';\n\nimport ProgressBar from './progress-bar';\n\nimport { PROGRESS_INDICATOR_PROGRESS } from '../../../utilities/constants';\n\n// ### Prop Types\nconst propTypes = {\n\t/**\n\t * Assistive text for percentage\n\t */\n\tassistiveText: PropTypes.shape({\n\t\tpercentage: PropTypes.string,\n\t}),\n\t/**\n\t * Steps in the component\n\t */\n\tchildren: PropTypes.node,\n\t/**\n\t * CSS class names to be added to the container element.\n\t */\n\tclassName: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\t/**\n\t * HTML id for component.\n\t */\n\tid: PropTypes.string.isRequired,\n\t/**\n\t * Determines the orientation of the progress indicator\n\t */\n\torientation: PropTypes.oneOf(['horizontal', 'vertical']),\n\t/**\n\t * Percentage of progress completion, ranging [0, 100]\n\t */\n\tvalue: PropTypes.string.isRequired,\n\t/**\n\t * Determines component style\n\t */\n\tvariant: PropTypes.oneOf(['base', 'modal', 'setup-assistant']),\n};\n\n/**\n * Progress renders all step buttons and a container wrapping these buttongs and a progress bar\n */\nclass Progress extends React.Component {\n\t/**\n\t * Get the progress's HTML id. Generate a new one if no ID present.\n\t */\n\tgetId() {\n\t\treturn this.props.id;\n\t}\n\n\trender() {\n\t\treturn (\n\t\t\t<div\n\t\t\t\tid={this.getId()}\n\t\t\t\tclassName={classNames(\n\t\t\t\t\t'slds-progress',\n\t\t\t\t\t{ 'slds-progress_shade': this.props.variant === 'modal' },\n\t\t\t\t\t{ 'slds-progress_vertical': this.props.orientation === 'vertical' },\n\t\t\t\t\t{ 'slds-progress_success': this.props.variant === 'setup-assistant' },\n\t\t\t\t\tthis.props.className\n\t\t\t\t)}\n\t\t\t>\n\t\t\t\t<ol\n\t\t\t\t\tclassName={classNames('slds-progress__list', {\n\t\t\t\t\t\t'slds-progress__list-bordered':\n\t\t\t\t\t\t\tthis.props.variant === 'setup-assistant',\n\t\t\t\t\t})}\n\t\t\t\t>\n\t\t\t\t\t{this.props.children}\n\t\t\t\t</ol>\n\t\t\t\t{this.props.orientation !== 'vertical' && (\n\t\t\t\t\t<ProgressBar\n\t\t\t\t\t\tvalue={this.props.value}\n\t\t\t\t\t\torientation={this.props.orientation}\n\t\t\t\t\t\tassistiveText={this.props.assistiveText}\n\t\t\t\t\t/>\n\t\t\t\t)}\n\t\t\t</div>\n\t\t);\n\t}\n}\n\nProgress.propTypes = propTypes;\nProgress.displayName = PROGRESS_INDICATOR_PROGRESS;\n\nexport default Progress;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\n// ### classNames\n// [github.com/JedWatson/classnames](https://github.com/JedWatson/classnames)\n// This project uses `classnames`, 'a simple javascript utility for conditionally\n// joining classNames together.'\nimport classNames from 'classnames';\n\n// Child component\nimport { PROGRESS_INDICATOR_STEP_VERTICAL } from '../../../utilities/constants';\nimport Icon from '../../icon';\n\n// ### Display Name\nconst displayName = PROGRESS_INDICATOR_STEP_VERTICAL;\n\n// ### Prop Types\nconst propTypes = {\n\t/**\n\t * Index of step. Used for id's if no step ID exists\n\t */\n\tindex: PropTypes.number,\n\t/**\n\t * Determines if the step has been completed\n\t */\n\tisCompleted: PropTypes.bool,\n\t/**\n\t * Determines if the step contains an error\n\t */\n\tisError: PropTypes.bool,\n\t/**\n\t * Determines if the step is currently selected (active)\n\t */\n\tisSelected: PropTypes.bool,\n\t/**\n\t * Triggered when click on individual steps. By default, it receives an event and returns all info passed to that step.\n\t * users are able to re-define it by passing a function as a prop\n\t */\n\tonClick: PropTypes.func,\n\t/**\n\t * Step object. This is passed into event callbacks.\n\t */\n\tstep: PropTypes.object,\n\t/**\n\t * The variant of the parent progress indicator\n\t */\n\tvariant: PropTypes.string,\n};\n\n/**\n * StepVertical renders a step icon and its step label if applied\n */\nclass StepVertical extends React.Component {\n\t/**\n\t * stepIcon represents the icon used for each step.\n\t */\n\tstepIcon = (renderIcon) => {\n\t\tconst data = {\n\t\t\tisSelected: this.props.isSelected,\n\t\t\tisError: this.props.isError,\n\t\t\tisCompleted: this.props.isCompleted,\n\t\t\tstep: this.props.step,\n\t\t};\n\n\t\tconst icon = renderIcon ? (\n\t\t\t<Icon\n\t\t\t\tcategory=\"utility\"\n\t\t\t\tsize=\"x-small\"\n\t\t\t\tname={this.props.isError ? 'error' : 'success'}\n\t\t\t/>\n\t\t) : null;\n\n\t\tconst handleClick = (event) => this.props.onClick(event, data);\n\n\t\treturn this.props.onClick ? (\n\t\t\t<button\n\t\t\t\tclassName={classNames('slds-button slds-progress__marker', {\n\t\t\t\t\t'slds-progress__marker_icon': renderIcon,\n\t\t\t\t\t'slds-progress__marker_icon-success':\n\t\t\t\t\t\tthis.props.variant === 'setup-assistant' &&\n\t\t\t\t\t\trenderIcon &&\n\t\t\t\t\t\t!this.props.isError,\n\t\t\t\t})}\n\t\t\t\ttype=\"button\"\n\t\t\t\tonClick={handleClick}\n\t\t\t>\n\t\t\t\t{icon}\n\t\t\t</button>\n\t\t) : (\n\t\t\t<span\n\t\t\t\tclassName={classNames('slds-progress__marker', {\n\t\t\t\t\t'slds-progress__marker_icon': renderIcon,\n\t\t\t\t\t'slds-progress__marker_icon-success':\n\t\t\t\t\t\tthis.props.variant === 'setup-assistant' &&\n\t\t\t\t\t\trenderIcon &&\n\t\t\t\t\t\t!this.props.isError,\n\t\t\t\t})}\n\t\t\t>\n\t\t\t\t{icon}\n\t\t\t</span>\n\t\t);\n\t};\n\n\trenderStepContent = () => {\n\t\tif (\n\t\t\tthis.props.step.onRenderSetupAssistantAction ||\n\t\t\tthis.props.step.setupAssistantEstimatedTime\n\t\t) {\n\t\t\treturn (\n\t\t\t\t<div\n\t\t\t\t\tid={`progress-indicator-vertical-label-${\n\t\t\t\t\t\tthis.props.step.id || this.props.index\n\t\t\t\t\t}`}\n\t\t\t\t\tclassName=\"slds-progress__item_content slds-grid slds-grid_align-spread\"\n\t\t\t\t>\n\t\t\t\t\t<div className=\"slds-size_3-of-4\">{this.props.step.label}</div>\n\t\t\t\t\t<div className=\"slds-grid slds-grid_align-end slds-size_1-of-4\">\n\t\t\t\t\t\t<div className=\"slds-media__figure slds-media__figure_reverse\">\n\t\t\t\t\t\t\t{this.props.step.onRenderSetupAssistantAction}\n\t\t\t\t\t\t\t{this.props.step.setupAssistantEstimatedTime && (\n\t\t\t\t\t\t\t\t<p className=\"slds-text-align_right slds-text-color_weak slds-p-top_medium\">\n\t\t\t\t\t\t\t\t\t{this.props.step.setupAssistantEstimatedTime}\n\t\t\t\t\t\t\t\t</p>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t);\n\t\t}\n\t\treturn (\n\t\t\t<div\n\t\t\t\tid={`progress-indicator-vertical-label-${\n\t\t\t\t\tthis.props.step.id || this.props.index\n\t\t\t\t}`}\n\t\t\t\tclassName=\"slds-progress__item_content slds-grid slds-grid_align-spread\"\n\t\t\t>\n\t\t\t\t{this.props.step.label}\n\t\t\t</div>\n\t\t);\n\t};\n\n\trender() {\n\t\tconst renderIcon = this.props.isCompleted || this.props.isError;\n\n\t\treturn (\n\t\t\t<li\n\t\t\t\tclassName={classNames('slds-progress__item', {\n\t\t\t\t\t'slds-is-completed': this.props.isCompleted,\n\t\t\t\t\t'slds-is-active': this.props.isSelected && !this.props.isError,\n\t\t\t\t\t'slds-has-error': this.props.isError,\n\t\t\t\t})}\n\t\t\t>\n\t\t\t\t{this.stepIcon(renderIcon)}\n\t\t\t\t{this.renderStepContent()}\n\t\t\t</li>\n\t\t);\n\t}\n}\n\nStepVertical.propTypes = propTypes;\nStepVertical.displayName = displayName;\n\nexport default StepVertical; // export is replaced with `ReactDOM.render(<Example />, mountNode);` at runtime\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// Implements the [Progress Indicator design pattern](https://lightningdesignsystem.com/components/progress-indicator/) in React.\n// Based on SLDS v2.4.0\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\nimport find from 'lodash.find';\n\n// ### shortid\n// [npmjs.com/package/shortid](https://www.npmjs.com/package/shortid)\n// shortid is a short, non-sequential, url-friendly, unique id generator\nimport shortid from 'shortid';\nimport { PROGRESS_INDICATOR } from '../../utilities/constants';\n\n// Child components\nimport Step from './private/step';\nimport Progress from './private/progress';\nimport StepVertical from './private/step-vertical';\n\nconst displayName = PROGRESS_INDICATOR;\n\nconst propTypes = {\n\t/**\n\t * **Assistive text for accessibility**\n\t * This object is merged with the default props object on every render.\n\t * * `completedStep`: Label for a completed step. The default is `Completed Step`\n\t * * `disabledStep`: Label for disabled step. The default is `Disabled Step`\n\t * * `errorStep`: Label for a step with an error. The default is `Error Step`\n\t * * `percentage`: Label for Progress Bar. The default is `Progress: [this.props.value]%`. You will need to calculate the percentage yourself if changing this string.\n\t * * `step`: Label for a step. It will be typically followed by the number of the step such as \"Step 1\".\n\t */\n\tassistiveText: PropTypes.shape({\n\t\tcompletedStep: PropTypes.string,\n\t\tdisabledStep: PropTypes.string,\n\t\tpercentage: PropTypes.string,\n\t\tstep: PropTypes.string,\n\t}),\n\t/**\n\t * CSS class names to be added to the container element. `array`, `object`, or `string` are accepted.\n\t */\n\tclassName: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\t/**\n\t * Stores all completed steps. It is an array of step objects.\n\t */\n\tcompletedSteps: PropTypes.array,\n\t/**\n\t * Stores all disabled steps. It is an array of step objects. Steps are still clickable/focusable,\n\t * this only disables cursor change and removes onClick and onFocus event callbacks.\n\t */\n\tdisabledSteps: PropTypes.array,\n\t/**\n\t * Stores all error steps. It is an array of step objects and usually there is only one error step, the current step. If an error occurs a second error icon should be placed to the left of related confirmation buttons (e.g. Cancel, Save) and an Error Popover should appear indicating there are errors. These additional items are NOT part of this component. This note was included for visibility purposes. Please refer to [SLDS website](https://www.lightningdesignsystem.com/components/progress-indicator/) for full details **\n\t */\n\terrorSteps: PropTypes.array,\n\t/**\n\t * HTML id for component.\n\t */\n\tid: PropTypes.string,\n\t/**\n\t * Determines the orientation of the progress indicator\n\t */\n\torientation: PropTypes.oneOf(['horizontal', 'vertical']),\n\t/**\n\t * Triggered when an individual step is clicked. By default, it receives an event and returns step state and the step object clicked: `{ isCompleted, isDisabled, isError, isSelected, step }`. Users are able to pass a callback handleClick function in forms of: <function name>(event, data) where data is the callback result.\n\t * ```\n\t * const handleStepClick = function(event, data) { console.log(data); };\n\t * <ProgressIndicator onStepClick={handleStepClick} />\n\t * ```\n\t */\n\tonStepClick: PropTypes.func,\n\t/**\n\t * Triggered when an individual step is focused. By default, it receives an event and returns step state and the step object clicked: `{ isCompleted, isDisabled, isError, isSelected, step }`. Users are able to pass a callback handleClick function in forms of: <function name>(event, data) where data is the callback result.\n\t * ```\n\t * const handleStepFocus = function(event, data) { console.log(data); };\n\t * <ProgressIndicator onStepFocus={handleStepFocus} />\n\t * ```\n\t */\n\tonStepFocus: PropTypes.func,\n\t/**\n\t * Represents the currently selected or active step. It is a step object.\n\t */\n\tselectedStep: PropTypes.object.isRequired,\n\t/**\n\t * It is an array of step objects in the following form:\n\t * ```\n\t * [{\n\t * id: <PropTypes.number> or <PropTypes.string>, has to be unique\n\t * label: <PropTypes.string>, representing the tooltip content\n\t * assistiveText: <PropTypes.string>, The default is `[Step props.index + 1]: [status]`. Status is if the step has been completed or in an error state.\n\t * }],\n\t * ```\n\t */\n\tsteps: PropTypes.array.isRequired,\n\t/**\n\t * Stores all steps with opened tooltips. This property is mainly for development purposes. The tooltip should only show on hover for the user.\n\t */\n\ttooltipIsOpenSteps: PropTypes.array,\n\t/**\n\t * Determines component style.\n\t */\n\tvariant: PropTypes.oneOf(['base', 'modal', 'setup-assistant']),\n\t/**\n\t * Please select one of the following:\n\t * * `absolute` - (default if `variant` is `modal`) The dialog will use `position: absolute` and style attributes to position itself. This allows inverted placement or flipping of the dialog.\n\t * * `overflowBoundaryElement` - (default if `variant` is `base`) The dialog will overflow scrolling parents. Use on elements that are aligned to the left or right of their target and don't care about the target being within a scrolling parent. Typically this is a popover or tooltip. Dropdown menus can usually open up and down if no room exists. In order to achieve this a portal element will be created and attached to `body`. This element will render into that detached render tree.\n\t * * `relative` - No styling or portals will be used. Menus will be positioned relative to their triggers. This is a great choice for HTML snapshot testing.\n\t */\n\ttooltipPosition: PropTypes.oneOf([\n\t\t'absolute',\n\t\t'overflowBoundaryElement',\n\t\t'relative',\n\t]),\n};\n\nconst defaultSteps = [\n\t{ id: 0, label: 'tooltip label #1' },\n\t{ id: 1, label: 'tooltip label #2' },\n\t{ id: 2, label: 'tooltip label #3' },\n\t{ id: 3, label: 'tooltip label #4' },\n\t{ id: 4, label: 'tooltip label #5' },\n];\n\nconst defaultProps = {\n\tassistiveText: {\n\t\tcompletedStep: 'Completed',\n\t\tdisabledStep: 'Disabled',\n\t\terrorStep: 'Error',\n\t\tstep: 'Step',\n\t},\n\terrorSteps: [],\n\tcompletedSteps: [],\n\tdisabledSteps: [],\n\torientation: 'horizontal',\n\tselectedStep: defaultSteps[0],\n\tvariant: 'base',\n\t// click/focus callbacks by default do nothing\n\tonStepClick: () => {},\n\tonStepFocus: () => {},\n};\n\n/**\n * Check if `steps` prop is valid\n */\nfunction checkSteps(steps) {\n\tconst isStepsDefined = steps !== undefined;\n\tconst isLabelDefined = (step) => step.label !== undefined;\n\tconst stepLabelsDefined = Array.isArray(steps) && steps.every(isLabelDefined);\n\n\treturn isStepsDefined && stepLabelsDefined;\n}\n\n/**\n * Check if an item is from an array of items.\n * If items argument is not an array, it will be treated as an object comparison between item & items.\n */\nfunction findStep(item, items) {\n\tif (!item || !items) return false;\n\n\tconst itemsArray = !Array.isArray(items) ? [items] : items;\n\n\treturn !!find(itemsArray, (arrayItem) => {\n\t\tif (arrayItem === item) {\n\t\t\treturn true;\n\t\t}\n\t\tif (arrayItem.id !== undefined && item.id !== undefined) {\n\t\t\treturn arrayItem.id === item.id;\n\t\t}\n\t\treturn JSON.stringify(arrayItem) === JSON.stringify(item);\n\t});\n}\n\n/**\n * Progress Indicator is a component that communicates to the user the progress of a particular process.\n */\nclass ProgressIndicator extends React.Component {\n\tconstructor(props) {\n\t\tsuper(props);\n\n\t\tthis.generatedId = shortid.generate();\n\t}\n\n\tcomponentWillUnmount() {\n\t\tthis.isUnmounting = true;\n\t}\n\n\t/**\n\t * Get the progress indicator's HTML id. Generate a new one if no ID present.\n\t */\n\tgetId() {\n\t\treturn this.props.id || this.generatedId;\n\t}\n\n\tgetSteps() {\n\t\t// check if passed steps are valid\n\t\treturn checkSteps(this.props.steps) ? this.props.steps : defaultSteps;\n\t}\n\n\trender() {\n\t\t// Merge objects of strings with their default object\n\t\tconst assistiveText = {\n\t\t\t...defaultProps.assistiveText,\n\t\t\t...this.props.assistiveText,\n\t\t};\n\n\t\tconst {\n\t\t\tselectedStep,\n\t\t\tdisabledSteps,\n\t\t\terrorSteps,\n\t\t\tcompletedSteps,\n\t\t} = this.props;\n\t\t/** 1. preparing data */\n\t\tconst allSteps = this.getSteps();\n\n\t\tlet currentStep = 0;\n\t\t// find index for the current step\n\t\t// eslint-disable-next-line fp/no-loops\n\t\tfor (let i = 0; i < allSteps.length; i += 1) {\n\t\t\t// assign step an id if it does not have one\n\t\t\tif (allSteps[i].id === undefined) {\n\t\t\t\tallSteps[i].id = i;\n\t\t\t}\n\t\t\tif (findStep(allSteps[i], this.props.selectedStep)) {\n\t\t\t\tcurrentStep = i;\n\t\t\t}\n\t\t}\n\n\t\tconst orientation =\n\t\t\tthis.props.variant === 'setup-assistant'\n\t\t\t\t? 'vertical'\n\t\t\t\t: this.props.orientation;\n\t\t// Set default tooltipPosition\n\t\tconst tooltipPosition =\n\t\t\tthis.props.tooltipPosition ||\n\t\t\t(this.props.variant === 'modal' ? 'absolute' : 'overflowBoundaryElement');\n\t\tconst StepComponent = orientation === 'vertical' ? StepVertical : Step;\n\t\t/** 2. return DOM */\n\t\treturn (\n\t\t\t<Progress\n\t\t\t\tassistiveText={assistiveText}\n\t\t\t\tid={this.getId()}\n\t\t\t\torientation={orientation}\n\t\t\t\tvalue={\n\t\t\t\t\tcurrentStep === 0\n\t\t\t\t\t\t? '0'\n\t\t\t\t\t\t: `${100 * (currentStep / (allSteps.length - 1))}`\n\t\t\t\t}\n\t\t\t\tvariant={this.props.variant}\n\t\t\t\tclassName={this.props.className}\n\t\t\t>\n\t\t\t\t{allSteps.map((step, i) => (\n\t\t\t\t\t<StepComponent\n\t\t\t\t\t\tassistiveText={assistiveText}\n\t\t\t\t\t\tkey={`${this.getId()}-${step.id}`}\n\t\t\t\t\t\tid={this.getId()}\n\t\t\t\t\t\tindex={i}\n\t\t\t\t\t\tisSelected={findStep(step, selectedStep)}\n\t\t\t\t\t\tisDisabled={findStep(step, disabledSteps)}\n\t\t\t\t\t\tisError={findStep(step, errorSteps)}\n\t\t\t\t\t\tisCompleted={findStep(step, completedSteps)}\n\t\t\t\t\t\tonClick={this.props.onStepClick}\n\t\t\t\t\t\tonFocus={this.props.onStepFocus}\n\t\t\t\t\t\tstep={step}\n\t\t\t\t\t\ttooltipIsOpen={findStep(step, this.props.tooltipIsOpenSteps)}\n\t\t\t\t\t\ttooltipPosition={tooltipPosition}\n\t\t\t\t\t\tvariant={this.props.variant}\n\t\t\t\t\t/>\n\t\t\t\t))}\n\t\t\t</Progress>\n\t\t);\n\t}\n}\n\nProgressIndicator.displayName = displayName;\nProgressIndicator.propTypes = propTypes;\nProgressIndicator.defaultProps = defaultProps;\n\nexport default ProgressIndicator;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// Implements the [Progress Ring design pattern](https://lightningdesignsystem.com/components/progress-ring/) in React.\n// Based on SLDS v2.4.5\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\n\nconst PROGRESS_RING_SHAPE = 'SLDSProgressRingShape';\n\nconst propTypes = {\n\t/**\n\t * HTML id for component.\n\t */\n\tid: PropTypes.string,\n\t/**\n\t * CSS class names to be added to the container element. `array`, `object`, or `string` are accepted.\n\t */\n\tclassName: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\t/**\n\t * Decimal percentage drain of the ring [0.0 - 1.0]\n\t */\n\tfillPercentDecimal: PropTypes.number,\n\t/**\n\t * Direction that the progress ring \"flows.\" Default is counter-clockwise, or `drain`. For clockwise flow, use `fill`\n\t */\n\tflowDirection: PropTypes.oneOf(['drain', 'fill']),\n\t/**\n\t * Size of the progress ring. Default is 'medium'\n\t */\n\tsize: PropTypes.oneOf(['medium', 'large']),\n};\n\nconst defaultProps = {\n\tfillPercentDecimal: 0,\n};\n\n/**\n * Generates the string for the D value of the SVG path\n * @param isLong {number} a binary flag if the arc should 'take the long path' (used for > 50% fill)\n * @param arcX {decimal} the arc's x position\n * @param arcY {decimal} the arc's y position\n */\nconst getD = (isLong, arcX, arcY) =>\n\t`M 1 0 A 1 1 0 ${isLong} 1 ${arcX} ${arcY} L 0 0`;\n\n/**\n * Calculates the fill part of the ring\n * @param fillPercent {decimal} Decimal percentage that represents the amount of the ring which is filled with color.\n */\nconst calculateD = (fillPercent) => {\n\tconst isLong = fillPercent > 0.5 ? 1 : 0;\n\tconst arcX = Math.cos(2 * Math.PI * fillPercent);\n\tconst arcY = Math.sin(2 * Math.PI * fillPercent);\n\n\treturn getD(isLong, arcX, arcY);\n};\n\n/**\n * Displays the progress ring shape.\n */\nconst ProgressRingShape = (props) => {\n\tconst progressStyles = { height: props.size === 'large' ? '2rem' : '1.5rem' };\n\n\tif (props.flowDirection === 'fill') {\n\t\tprogressStyles.transform = 'scaleX(1) rotate(-90deg)';\n\t}\n\n\treturn (\n\t\t<div\n\t\t\tid={props.id}\n\t\t\tclassName={classNames('slds-progress-ring', props.className)}\n\t\t>\n\t\t\t<div\n\t\t\t\taria-valuemin=\"0\"\n\t\t\t\taria-valuemax=\"100\"\n\t\t\t\taria-valuenow={props.fillPercentDecimal * 100}\n\t\t\t\tclassName=\"slds-progress-ring__progress\"\n\t\t\t\trole=\"progressbar\"\n\t\t\t\tstyle={progressStyles}\n\t\t\t>\n\t\t\t\t<svg viewBox=\"-1 -1 2 2\">\n\t\t\t\t\t<path\n\t\t\t\t\t\tclassName=\"slds-progress-ring__path\"\n\t\t\t\t\t\td={calculateD(props.fillPercentDecimal)}\n\t\t\t\t\t/>\n\t\t\t\t</svg>\n\t\t\t</div>\n\t\t\t<div className=\"slds-progress-ring__content\">{props.children}</div>\n\t\t</div>\n\t);\n};\n\nProgressRingShape.displayName = PROGRESS_RING_SHAPE;\nProgressRingShape.propTypes = propTypes;\nProgressRingShape.defaultProps = defaultProps;\n\nexport default ProgressRingShape;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// Implements the [Progress Ring design pattern](https://lightningdesignsystem.com/components/progress-ring/) in React.\n// Based on SLDS v2.4.5\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\n\nimport { PROGRESS_RING } from '../../utilities/constants';\nimport Icon from '../icon';\nimport ProgressRingShape from './private/ring-shape';\n\n/**\n * The themes available for the progress ring\n */\nexport const THEME_OPTIONS = Object.freeze({\n\tACTIVE: 'active',\n\tWARNING: 'warning',\n\tEXPIRED: 'expired',\n\tCOMPLETE: 'complete',\n});\n\n/**\n * The CSS classes associated with each theme\n */\nconst THEME_CLASSES = {\n\t[THEME_OPTIONS.ACTIVE]: 'slds-progress-ring_active-step',\n\t[THEME_OPTIONS.WARNING]: 'slds-progress-ring_warning',\n\t[THEME_OPTIONS.EXPIRED]: 'slds-progress-ring_expired',\n\t[THEME_OPTIONS.COMPLETE]: 'slds-progress-ring_complete',\n};\n\nconst propTypes = {\n\t/**\n\t * HTML id for component.\n\t */\n\tid: PropTypes.string,\n\t/**\n\t * CSS classes to be added to tag with `.slds-progress-ring`. Uses `classNames` [API](https://github.com/JedWatson/classnames).\n\t */\n\tclassName: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\t/**\n\t * The theme applied to the ring.\n\t */\n\ttheme: PropTypes.oneOf(['active', 'warning', 'expired', 'complete']),\n\t/**\n\t * Overrides the icon to be displayed.\n\t */\n\ticon: PropTypes.node,\n\t/**\n\t * Display the icon associated with the theme.\n\t */\n\thasIcon: PropTypes.bool,\n\t/**\n\t * Percentage of progress completion, ranging [0, 100].\n\t */\n\tvalue: PropTypes.number.isRequired,\n\t/**\n\t * Direction that the progress ring \"flows.\" Default is counter-clockwise, or `drain`. For clockwise flow, use `fill`\n\t */\n\tflowDirection: PropTypes.oneOf(['drain', 'fill']),\n\t/**\n\t * Size of the progress ring. Default is 'medium'\n\t */\n\tsize: PropTypes.oneOf(['medium', 'large']),\n};\n\nconst defaultProps = {\n\tflowDirection: 'drain',\n\tsize: 'medium',\n};\n\n/**\n * Customizable and configurable progress ring. Will display progress in a circular progress bar factor, and is capable of displaying iconography inside of the ring structure.\n */\nclass ProgressRing extends React.Component {\n\t/**\n\t * Gets the icon to display\n\t * @returns {node} Icon\n\t */\n\ticon() {\n\t\tlet icon = '';\n\n\t\tif (this.props.hasIcon) {\n\t\t\tif (this.props.icon) {\n\t\t\t\t// eslint-disable-next-line prefer-destructuring\n\t\t\t\ticon = this.props.icon;\n\t\t\t} else if (this.props.theme === THEME_OPTIONS.WARNING) {\n\t\t\t\ticon = <Icon category=\"utility\" name=\"warning\" title=\"Warning\" />;\n\t\t\t} else if (this.props.theme === THEME_OPTIONS.EXPIRED) {\n\t\t\t\ticon = <Icon category=\"utility\" name=\"error\" title=\"Expired\" />;\n\t\t\t} else if (this.props.theme === THEME_OPTIONS.COMPLETE) {\n\t\t\t\ticon = <Icon category=\"utility\" name=\"check\" title=\"Complete\" />;\n\t\t\t}\n\t\t}\n\n\t\treturn icon;\n\t}\n\n\t/**\n\t * Percentage as a decimal\n\t * @returns {decimal} Percentage\n\t */\n\tpercentDecimal() {\n\t\treturn this.props.value / 100;\n\t}\n\n\t/**\n\t * Gets the theme CSS class\n\t * @returns {string} Class name\n\t */\n\tthemeClass() {\n\t\treturn THEME_CLASSES[this.props.theme] || '';\n\t}\n\n\trender() {\n\t\treturn (\n\t\t\t<ProgressRingShape\n\t\t\t\tid={this.props.id}\n\t\t\t\tsize={this.props.size}\n\t\t\t\tclassName={classNames(this.props.className, this.themeClass(), {\n\t\t\t\t\t'slds-progress-ring_large': this.props.size === 'large',\n\t\t\t\t})}\n\t\t\t\tfillPercentDecimal={this.percentDecimal()}\n\t\t\t\tflowDirection={this.props.flowDirection}\n\t\t\t>\n\t\t\t\t{this.icon()}\n\t\t\t</ProgressRingShape>\n\t\t);\n\t}\n}\n\nProgressRing.displayName = PROGRESS_RING;\nProgressRing.propTypes = propTypes;\nProgressRing.defaultProps = defaultProps;\n\nexport default ProgressRing;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n/* eslint-disable import/no-mutable-exports */\n\nimport getComponentDocFn from '../../utilities/get-component-doc';\nimport deprecatedProperty from '../../utilities/warning/deprecated-property';\n\nlet checkProps = function checkPropsFunction() {};\n\nif (process.env.NODE_ENV !== 'production') {\n\tcheckProps = function checkPropsFunction(COMPONENT, props, jsonDoc) {\n\t\tconst createDocUrl = getComponentDocFn(jsonDoc);\n\n\t\tdeprecatedProperty(\n\t\t\tCOMPONENT,\n\t\t\tprops.iconName,\n\t\t\t'iconName',\n\t\t\t'icon',\n\t\t\tcreateDocUrl('icon')\n\t\t);\n\t};\n}\n\nexport default checkProps;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// Implements the [Scoped Notification design pattern](https://lightningdesignsystem.com/components/scoped-notifications/) in React.\n// Based on SLDS v2.4.5\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\n\nimport Icon from '../icon';\n\nimport componentDoc from './component.json';\nimport checkProps from './check-props';\n\nimport { SCOPED_NOTIFICATION } from '../../utilities/constants';\n\nconst propTypes = {\n\t/**\n\t * **Assistive text for accessibility.**\n\t * * `icon`: The assistive text for the icon. Is overridden by `label` assistive text passed directly to an `Icon` component via the `icon` prop\n\t */\n\tassistiveText: PropTypes.shape({\n\t\ticon: PropTypes.string,\n\t}),\n\t/**\n\t * CSS classes to be added to tag with `.slds-scoped-notification`. Uses `classNames` [API](https://github.com/JedWatson/classnames).\n\t */\n\tclassName: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\t/**\n\t * The icon to be displayed in the scoped notification. Accepts an `Icon` component\n\t */\n\ticon: PropTypes.node,\n\t/**\n\t * Theme for the scoped notification\n\t */\n\ttheme: PropTypes.oneOf(['dark', 'light']),\n};\n\nconst defaultProps = {};\n\n/**\n * A Scoped Notification Component serve advisory information for the user that is not important enough to justify an alert.\n */\nclass ScopedNotification extends React.Component {\n\tconstructor(props) {\n\t\tsuper(props);\n\t\tcheckProps(SCOPED_NOTIFICATION, props, componentDoc);\n\t}\n\n\trender() {\n\t\tlet icon;\n\n\t\tif (this.props.icon) {\n\t\t\tlet iconAssistiveText = {};\n\n\t\t\tif (this.props.assistiveText && this.props.assistiveText.icon) {\n\t\t\t\ticonAssistiveText.label = this.props.assistiveText.icon;\n\t\t\t}\n\n\t\t\tif (this.props.icon.props.assistiveText) {\n\t\t\t\ticonAssistiveText = {\n\t\t\t\t\t...iconAssistiveText,\n\t\t\t\t\t...this.props.icon.props.assistiveText,\n\t\t\t\t};\n\t\t\t}\n\n\t\t\ticon = React.cloneElement(this.props.icon, {\n\t\t\t\t...this.props.icon.props,\n\t\t\t\tassistiveText: iconAssistiveText,\n\t\t\t});\n\t\t} else {\n\t\t\ticon = (\n\t\t\t\t<Icon\n\t\t\t\t\tassistiveText={{\n\t\t\t\t\t\tlabel:\n\t\t\t\t\t\t\t(this.props.assistiveText && this.props.assistiveText.icon) ||\n\t\t\t\t\t\t\t'Info',\n\t\t\t\t\t}}\n\t\t\t\t\tcategory=\"utility\"\n\t\t\t\t\tname={this.props.iconName || 'info'}\n\t\t\t\t\tcolorVariant={this.props.theme === 'dark' ? 'base' : undefined}\n\t\t\t\t\tsize=\"small\"\n\t\t\t\t/>\n\t\t\t);\n\t\t}\n\n\t\treturn (\n\t\t\t<div\n\t\t\t\tclassName={classNames(\n\t\t\t\t\t`slds-scoped-notification`,\n\t\t\t\t\t`slds-media`,\n\t\t\t\t\t`slds-media_center`,\n\t\t\t\t\t{\n\t\t\t\t\t\t'slds-scoped-notification_light': this.props.theme === 'light',\n\t\t\t\t\t\t'slds-scoped-notification_dark': this.props.theme === 'dark',\n\t\t\t\t\t},\n\t\t\t\t\tthis.props.className\n\t\t\t\t)}\n\t\t\t\trole=\"status\"\n\t\t\t>\n\t\t\t\t<div className=\"slds-media__figure\">{icon}</div>\n\t\t\t\t<div className=\"slds-media__body\">{this.props.children}</div>\n\t\t\t</div>\n\t\t);\n\t}\n}\n\nScopedNotification.displayName = SCOPED_NOTIFICATION;\nScopedNotification.propTypes = propTypes;\nScopedNotification.defaultProps = defaultProps;\n\nexport default ScopedNotification;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n/* eslint-disable import/no-mutable-exports */\n\nimport hasChildrenWithoutDisplayNameof from '../../utilities/warning/has-children-without-display-name-of';\nimport getComponentDocFn from '../../utilities/get-component-doc';\nimport renderFunctionReturnContentsLackDisplayName from '../../utilities/warning/render-function-return-contents-lack-display-name';\n\nimport {\n\tICON,\n\tPROGRESS_INDICATOR,\n\tSETUP_ASSISTANT,\n\tSETUP_ASSISTANT_STEP,\n} from '../../utilities/constants';\n\nlet checkProps = () => {};\n\nif (process.env.NODE_ENV !== 'production') {\n\tcheckProps = (COMPONENT, props, jsonDoc) => {\n\t\tconst createDocUrl = getComponentDocFn(jsonDoc);\n\n\t\tif (COMPONENT === SETUP_ASSISTANT) {\n\t\t\thasChildrenWithoutDisplayNameof(\n\t\t\t\tCOMPONENT,\n\t\t\t\tprops.children,\n\t\t\t\tSETUP_ASSISTANT_STEP,\n\t\t\t\tcreateDocUrl()\n\t\t\t);\n\t\t}\n\n\t\tif (COMPONENT === SETUP_ASSISTANT_STEP && props.onRenderFigure) {\n\t\t\trenderFunctionReturnContentsLackDisplayName(\n\t\t\t\tCOMPONENT,\n\t\t\t\t'onRenderFigure',\n\t\t\t\tprops.onRenderFigure(),\n\t\t\t\t[ICON, PROGRESS_INDICATOR]\n\t\t\t);\n\t\t}\n\t};\n}\n\nexport default checkProps;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// Implements the [Setup Assistant design pattern](https://lightningdesignsystem.com/components/progress-ring/) in React.\n// Based on SLDS v2.4.5\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\n\n// ### shortid\n// [npmjs.com/package/shortid](https://www.npmjs.com/package/shortid)\n// shortid is a short, non-sequential, url-friendly, unique id generator\nimport shortid from 'shortid';\n\n// This component's `checkProps` which issues warnings to developers about properties\n// when in development mode (similar to React's built in development tools)\nimport checkProps from './check-props';\nimport componentDoc from './component.json';\n\nimport {\n\tSETUP_ASSISTANT,\n\tSETUP_ASSISTANT_STEP,\n} from '../../utilities/constants';\n\nconst propTypes = {\n\t/**\n\t * Accepts SetupAssistantStep components only as children.\n\t */\n\tchildren: PropTypes.node,\n\t/**\n\t * CSS classes to be added to tag with `.slds-progress-bar`. Uses `classNames` [API](https://github.com/JedWatson/classnames).\n\t */\n\tclassName: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\t/**\n\t * HTML id for component.\n\t */\n\tid: PropTypes.string,\n\t/**\n\t * Dictates whether this setup assistant has card wrappings and styling\n\t */\n\tisCard: PropTypes.bool,\n\t/**\n\t * Function to handle opening / closing of steps when the step is expandable. Passes event object and step `index`, `isOpen`, and `step` props as data.\n\t */\n\tonStepToggleIsOpen: PropTypes.func,\n\t/**\n\t * Accepts a progress bar component, which will only be visible if `isCard` is enabled\n\t */\n\tprogressBar: PropTypes.node,\n};\n\nconst defaultProps = {\n\tisCard: false,\n};\n\n/**\n * Setup Assistant provides Administrators with a centralized list of tasks for\n * onboarding organizations, clouds, or features within the Salesforce Platform.\n */\nclass SetupAssistant extends React.Component {\n\tconstructor(props) {\n\t\tsuper(props);\n\n\t\tthis.generatedId = shortid.generate();\n\t}\n\n\tcomponentDidMount() {\n\t\tcheckProps(SETUP_ASSISTANT, this.props, componentDoc);\n\t}\n\n\tcomponentDidUpdate() {\n\t\tcheckProps(SETUP_ASSISTANT, this.props, componentDoc);\n\t}\n\n\t/**\n\t * ID as a string\n\t * @returns {string} id\n\t */\n\tgetId() {\n\t\treturn this.props.id || this.generatedId;\n\t}\n\n\trender() {\n\t\tconst steps = (\n\t\t\t<ol\n\t\t\t\tid={this.getId()}\n\t\t\t\tclassName={classNames('slds-setup-assistant', this.props.className)}\n\t\t\t>\n\t\t\t\t{React.Children.map(this.props.children, (child, i) => {\n\t\t\t\t\tif (child.type.displayName !== SETUP_ASSISTANT_STEP) return null;\n\t\t\t\t\treturn React.cloneElement(child, {\n\t\t\t\t\t\tindex: i,\n\t\t\t\t\t\tonToggleIsOpen: this.props.onStepToggleIsOpen,\n\t\t\t\t\t\tstepNumber: i + 1,\n\t\t\t\t\t\t...child.props,\n\t\t\t\t\t});\n\t\t\t\t})}\n\t\t\t</ol>\n\t\t);\n\n\t\treturn this.props.isCard ? (\n\t\t\t<section className=\"slds-card\">\n\t\t\t\t<header className=\"slds-theme_shade slds-p-around_medium slds-m-bottom_small\">\n\t\t\t\t\t{this.props.progressBar}\n\t\t\t\t</header>\n\t\t\t\t{steps}\n\t\t\t</section>\n\t\t) : (\n\t\t\t<React.Fragment>{steps}</React.Fragment>\n\t\t);\n\t}\n}\n\nSetupAssistant.displayName = SETUP_ASSISTANT;\nSetupAssistant.propTypes = propTypes;\nSetupAssistant.defaultProps = defaultProps;\n\nexport default SetupAssistant;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\n\n// ### shortid\n// [npmjs.com/package/shortid](https://www.npmjs.com/package/shortid)\n// shortid is a short, non-sequential, url-friendly, unique id generator\nimport shortid from 'shortid';\nimport assign from 'lodash.assign';\n\n// This component's `checkProps` which issues warnings to developers about properties\n// when in development mode (similar to React's built in development tools)\nimport checkProps from './check-props';\nimport componentDoc from './component.json';\n\nimport Button from '../button';\nimport ProgressRing from '../progress-ring';\n\nimport { ICON, SETUP_ASSISTANT_STEP } from '../../utilities/constants';\n\nconst propTypes = {\n\t/**\n\t * **Assistive text for accessibility**\n\t * This object is merged with the default props object on every render.\n\t * * `expandStep`: Button that examples a step\n\t * _Tested with snapshot testing._\n\t */\n\tassistiveText: PropTypes.shape({\n\t\texpandStep: PropTypes.string,\n\t}),\n\t/**\n\t * CSS class names to be added to the container element. `array`, `object`, or `string` are accepted.\n\t */\n\tclassName: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\t/**\n\t * Detailed description of the step\n\t */\n\tdescription: PropTypes.oneOfType([PropTypes.string, PropTypes.node]),\n\t/**\n\t * Estimated time for completing the step\n\t */\n\testimatedTime: PropTypes.oneOfType([PropTypes.string, PropTypes.node]),\n\t/**\n\t * Heading for the step\n\t */\n\theading: PropTypes.oneOfType([PropTypes.string, PropTypes.node]),\n\t/**\n\t * HTML id for component.\n\t */\n\tid: PropTypes.string,\n\t/**\n\t * Index of the step within the step array\n\t */\n\tindex: PropTypes.number,\n\t/**\n\t * Dictates whether the step can be expanded / collapsed\n\t */\n\tisExpandable: PropTypes.bool,\n\t/**\n\t * If `isExpandable` is true, this prop can be used to control the expanded state. If not provided state will be used instead\n\t */\n\tisOpen: PropTypes.bool,\n\t/**\n\t * Function that is called to render a step's available action(s). Typically returns a Button, Button of variant \"link,\" or Checkbox of variant \"toggle\"\n\t */\n\tonRenderAction: PropTypes.func,\n\t/**\n\t * Function that is called to render step content. Typically returns a ProgressIndicator and/or ScopedNotification component\n\t */\n\tonRenderContent: PropTypes.func,\n\t/**\n\t * Function that is called to render content within the media figure. Expects to be returned an Icon or ProgressRing component\n\t */\n\tonRenderFigure: PropTypes.func,\n\t/**\n\t * Function to handle requests to expand / collapse the step\n\t */\n\tonToggleIsOpen: PropTypes.func,\n\t/**\n\t * Percentage of step completed. No progress indicator will be shown for the step unless this is provided\n\t */\n\tprogress: PropTypes.number,\n\t/**\n\t * Display number for the step. Only appears if progress indicator is enabled. Determined automatically by parent if not provided.\n\t */\n\tstepNumber: PropTypes.number,\n};\n\nconst defaultProps = {\n\tassistiveText: { expandStep: 'Expand Step' },\n};\n\n/**\n * Setup Assistant Step component is used to specify individual items within the Setup Assistant\n * filled with learning and task links along with a recommended sequence that may have progress tracking\n */\nclass Step extends React.Component {\n\tconstructor(props) {\n\t\tsuper(props);\n\t\tthis.generatedId = shortid.generate();\n\t\tthis.state = {\n\t\t\tisOpen: props.isOpen || false,\n\t\t};\n\t\tcheckProps(SETUP_ASSISTANT_STEP, this.props, componentDoc);\n\t}\n\n\tgetId() {\n\t\treturn this.props.id || this.generatedId;\n\t}\n\n\tgetIsOpen() {\n\t\treturn this.props.isOpen !== undefined\n\t\t\t? this.props.isOpen\n\t\t\t: this.state.isOpen;\n\t}\n\n\ttoggleIsOpen = (event) => {\n\t\tif (this.props.onToggleIsOpen) {\n\t\t\tthis.props.onToggleIsOpen(event, {\n\t\t\t\tindex: this.props.index,\n\t\t\t\tisOpen: this.getIsOpen(),\n\t\t\t\tstep: this.props,\n\t\t\t});\n\t\t} else {\n\t\t\tthis.setState({ isOpen: !this.getIsOpen() });\n\t\t}\n\t};\n\n\trenderMediaContent() {\n\t\treturn (\n\t\t\t<React.Fragment>\n\t\t\t\t<div className=\"slds-setup-assistant__step-summary-content slds-media__body\">\n\t\t\t\t\t<h3 className=\"slds-setup-assistant__step-summary-title slds-text-heading_small\">\n\t\t\t\t\t\t{this.props.isExpandable ? (\n\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\taria-controls={`${this.getId()}-detail-content`}\n\t\t\t\t\t\t\t\tclassName=\"slds-button_reset\"\n\t\t\t\t\t\t\t\tlabel={this.props.heading}\n\t\t\t\t\t\t\t\tonClick={this.toggleIsOpen}\n\t\t\t\t\t\t\t\tvariant=\"base\"\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\tthis.props.heading\n\t\t\t\t\t\t)}\n\t\t\t\t\t</h3>\n\t\t\t\t\t<p>{this.props.description}</p>\n\t\t\t\t</div>\n\t\t\t\t<div className=\"slds-media__figure slds-media__figure_reverse\">\n\t\t\t\t\t{this.props.onRenderAction ? this.props.onRenderAction() : null}\n\t\t\t\t\t{this.props.estimatedTime ? (\n\t\t\t\t\t\t<p\n\t\t\t\t\t\t\tclassName={classNames(\n\t\t\t\t\t\t\t\t'slds-text-align_right',\n\t\t\t\t\t\t\t\t'slds-text-color_weak',\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t'slds-p-top_medium': this.props.onRenderAction !== undefined,\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{this.props.estimatedTime}\n\t\t\t\t\t\t</p>\n\t\t\t\t\t) : null}\n\t\t\t\t</div>\n\t\t\t</React.Fragment>\n\t\t);\n\t}\n\n\trenderSummary() {\n\t\tlet figure;\n\t\tlet progressRingTheme;\n\n\t\tif (this.props.progress > 0 && this.props.progress < 100) {\n\t\t\tprogressRingTheme = 'active';\n\t\t} else if (this.props.progress === 100) {\n\t\t\tprogressRingTheme = 'complete';\n\t\t}\n\n\t\tif (this.props.onRenderFigure) {\n\t\t\tfigure = this.props.onRenderFigure();\n\n\t\t\tif (figure && figure.type && figure.type.displayName === ICON) {\n\t\t\t\tlet containerStyle = {\n\t\t\t\t\tposition: 'relative',\n\t\t\t\t\ttop: this.props.isExpandable ? '5px' : '-3px',\n\t\t\t\t};\n\n\t\t\t\tif (figure.props.containerStyle) {\n\t\t\t\t\tcontainerStyle = {\n\t\t\t\t\t\t...containerStyle,\n\t\t\t\t\t\t...figure.props.containerStyle,\n\t\t\t\t\t};\n\t\t\t\t}\n\n\t\t\t\tfigure = React.cloneElement(figure, {\n\t\t\t\t\t...figure.props,\n\t\t\t\t\tcontainerStyle,\n\t\t\t\t\tsize: 'small',\n\t\t\t\t});\n\t\t\t\tfigure = <div className=\"slds-media__figure\">{figure}</div>;\n\t\t\t}\n\t\t} else if (this.props.progress !== undefined) {\n\t\t\tfigure = (\n\t\t\t\t<div className=\"slds-media__figure\">\n\t\t\t\t\t<ProgressRing\n\t\t\t\t\t\thasIcon\n\t\t\t\t\t\ticon={this.props.progress === 100 ? null : this.props.stepNumber}\n\t\t\t\t\t\tflowDirection=\"fill\"\n\t\t\t\t\t\tsize=\"large\"\n\t\t\t\t\t\ttheme={progressRingTheme}\n\t\t\t\t\t\tvalue={this.props.progress}\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t);\n\t\t}\n\n\t\treturn (\n\t\t\t<div className=\"slds-setup-assistant__step-summary\">\n\t\t\t\t<div className=\"slds-media\">\n\t\t\t\t\t{figure}\n\t\t\t\t\t{this.props.isExpandable || this.props.progress !== undefined ? (\n\t\t\t\t\t\t<div className=\"slds-media__body slds-m-top_x-small\">\n\t\t\t\t\t\t\t<div className=\"slds-media\">{this.renderMediaContent()}</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t) : (\n\t\t\t\t\t\tthis.renderMediaContent()\n\t\t\t\t\t)}\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t);\n\t}\n\n\trender() {\n\t\tconst assistiveText = assign(\n\t\t\t{},\n\t\t\tdefaultProps.assistiveText,\n\t\t\tthis.props.assistiveText\n\t\t);\n\t\treturn (\n\t\t\t<li\n\t\t\t\tclassName={classNames(\n\t\t\t\t\t'slds-setup-assistant__item',\n\t\t\t\t\tthis.props.className\n\t\t\t\t)}\n\t\t\t\tid={this.getId()}\n\t\t\t>\n\t\t\t\t<article className=\"slds-setup-assistant__step\">\n\t\t\t\t\t{this.props.isExpandable ? (\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tclassName={classNames('slds-summary-detail', {\n\t\t\t\t\t\t\t\t'slds-is-open': this.getIsOpen(),\n\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\tassistiveText={{ icon: assistiveText.expandStep }}\n\t\t\t\t\t\t\t\taria-controls={`${this.getId()}-detail-content`}\n\t\t\t\t\t\t\t\tclassName=\"slds-m-right_x-small slds-m-top_x-small\"\n\t\t\t\t\t\t\t\ticonCategory=\"utility\"\n\t\t\t\t\t\t\t\ticonClassName=\"slds-summary-detail__action-icon\"\n\t\t\t\t\t\t\t\ticonName=\"switch\"\n\t\t\t\t\t\t\t\tonClick={this.toggleIsOpen}\n\t\t\t\t\t\t\t\tvariant=\"icon\"\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<div className=\"slds-container_fluid\">\n\t\t\t\t\t\t\t\t<div className=\"slds-summary-detail__title\">\n\t\t\t\t\t\t\t\t\t{this.renderSummary()}\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\tclassName=\"slds-summary-detail__content\"\n\t\t\t\t\t\t\t\t\tid={`${this.getId()}-detail-content`}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<div className=\"slds-setup-assistant__step-detail\">\n\t\t\t\t\t\t\t\t\t\t{this.props.onRenderContent\n\t\t\t\t\t\t\t\t\t\t\t? this.props.onRenderContent()\n\t\t\t\t\t\t\t\t\t\t\t: null}\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t) : (\n\t\t\t\t\t\tthis.renderSummary()\n\t\t\t\t\t)}\n\t\t\t\t</article>\n\t\t\t</li>\n\t\t);\n\t}\n}\n\nStep.displayName = SETUP_ASSISTANT_STEP;\nStep.propTypes = propTypes;\nStep.defaultProps = defaultProps;\n\nexport default Step;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// # Slider Component\n\n// Implements the [Slider design pattern](https://www.lightningdesignsystem.com/components/slider/) in React.\n\n// ### React\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\n// ### isFunction\nimport isFunction from 'lodash.isfunction';\n\n// ### classNames\nimport classNames from 'classnames';\n\n// ### shortid\n// [npmjs.com/package/shortid](https://www.npmjs.com/package/shortid)\n// shortid is a short, non-sequential, url-friendly, unique id generator\nimport shortid from 'shortid';\n\nimport { SLIDER } from '../../utilities/constants';\n\nimport getAriaProps from '../../utilities/get-aria-props';\n\nconst propTypes = {\n\t/**\n\t * The `aria-describedby` attribute is used to indicate the IDs of the elements that describe the object. It is used to establish a relationship between widgets or groups and text that described them. This is very similar to aria-labelledby: a label describes the essence of an object, while a description provides more information that the user might need.\n\t */\n\t'aria-describedby': PropTypes.string,\n\t/**\n\t * Assistive text for accessibility**\n\t * `disabled`: Read by screen readers to indicate a disabled slider\n\t * `label`: Visually hidden label but read out loud by screen readers.\n\t */\n\tassistiveText: PropTypes.shape({\n\t\tdisabled: PropTypes.string,\n\t\tlabel: PropTypes.string,\n\t}),\n\t/**\n\t * Class names to be added to the outer container of the Slider.\n\t */\n\tclassNameContainer: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\t/**\n\t * This is the initial value of an uncontrolled form element and is present\n\t * only to provide compatibility with hybrid framework applications that\n\t * are not entirely React. It should only be used in an application without\n\t * centralized state (Redux, Flux). \"Controlled components\" with centralized\n\t * state is highly recommended. See [Code Overview](https://github.com/salesforce/design-system-react/blob/master/docs/codebase-overview.md#controlled-and-uncontrolled-components) for more information.\n\t */\n\tdefaultValue: PropTypes.number,\n\t/**\n\t * Disables the Slider and prevents clicking it. Only available on the horizontal view.\n\t */\n\tdisabled: PropTypes.bool,\n\t/**\n\t * Message to display when the Slider is in an error state. When this is present, also visually highlights the component as in error.\n\t */\n\terrorText: PropTypes.string,\n\t/**\n\t * Set the HTML `id` of the slider.\n\t */\n\tid: PropTypes.string,\n\t/**\n\t * This label appears above the Slider.\n\t */\n\tlabel: PropTypes.string,\n\t/**\n\t * Maximum value of a specified range. Defaults to 100.\n\t */\n\tmax: PropTypes.number,\n\t/**\n\t * Minimum value of a specified range. Defaults to 0.\n\t */\n\tmin: PropTypes.number,\n\t/**\n\t * Name of the submitted form parameter.\n\t */\n\tname: PropTypes.string,\n\t/**\n\t * This event fires whenever the user has modified the data of the control. This callback recieves the following parameters `event, { value: [string] }`.\n\t */\n\tonChange: PropTypes.func,\n\t/**\n\t * This event fires when the value is committed. This callback recieves the following parameters `event, { value: [string] }`.\n\t */\n\tonInput: PropTypes.func,\n\t/**\n\t * Size of the slider.\n\t */\n\tsize: PropTypes.oneOf(['x-small', 'small', 'medium', 'large']),\n\t/**\n\t * By default, the granularity is 1 and the value is always an integer. For example, If you need a value between 5 and 10, accurate to two decimal places, you should set the value of step to 0.01\n\t */\n\tstep: PropTypes.number,\n\t/**\n\t * The Slider should be a controlled component, and will always display this value. This should always be used if you are using a Flux/Redux framework.\n\t */\n\tvalue: PropTypes.number,\n\t/**\n\t * Modifier that makes the slider vertical\n\t */\n\tvertical: PropTypes.bool,\n};\n\nconst defaultProps = {\n\tassistiveText: { disabled: 'Disabled' },\n\tmin: 0,\n\tmax: 100,\n\tstep: 1,\n};\n\n/**\n * The ability to style sliders with CSS varies across browsers. Using this component ensures sliders look the same everywhere.\n */\nclass Slider extends React.Component {\n\tstatic displayName = SLIDER;\n\n\tstatic propTypes = propTypes;\n\n\tstatic defaultProps = defaultProps;\n\n\tconstructor(props) {\n\t\tsuper(props);\n\n\t\tthis.generatedId = shortid.generate();\n\n\t\tif (this.props.errorText) {\n\t\t\tthis.generatedErrorId = shortid.generate();\n\t\t}\n\t}\n\n\tgetId() {\n\t\treturn this.props.id || this.generatedId;\n\t}\n\n\tgetErrorId() {\n\t\treturn this.props['aria-describedby'] || this.generatedErrorId;\n\t}\n\n\thandleChange = (event) => {\n\t\tif (isFunction(this.props.onChange)) {\n\t\t\tthis.props.onChange(event, { value: Number(event.target.value) });\n\t\t}\n\t};\n\n\thandleInput = (event) => {\n\t\tif (isFunction(this.props.onInput)) {\n\t\t\tthis.props.onInput(event, { value: Number(event.target.value) });\n\t\t}\n\t};\n\n\trender() {\n\t\tconst ariaProps = getAriaProps(this.props);\n\t\tariaProps['aria-describedby'] = this.getErrorId();\n\n\t\tconst assistiveText = {\n\t\t\t...defaultProps.assistiveText,\n\t\t\t...this.props.assistiveText,\n\t\t};\n\t\tconst labelText =\n\t\t\tthis.props.label ||\n\t\t\t(this.props.assistiveText && this.props.assistiveText.label);\n\n\t\treturn (\n\t\t\t<div\n\t\t\t\tclassName={classNames(\n\t\t\t\t\t'slds-form-element',\n\t\t\t\t\t{\n\t\t\t\t\t\t'slds-has-error': this.props.errorText,\n\t\t\t\t\t},\n\t\t\t\t\tthis.props.classNameContainer\n\t\t\t\t)}\n\t\t\t>\n\t\t\t\t<label\n\t\t\t\t\tclassName={classNames('slds-form-element__label', {\n\t\t\t\t\t\t'slds-assistive-text':\n\t\t\t\t\t\t\tthis.props.assistiveText && !this.props.label,\n\t\t\t\t\t})}\n\t\t\t\t\thtmlFor={this.getId()}\n\t\t\t\t>\n\t\t\t\t\t<span className=\"slds-slider-label\">\n\t\t\t\t\t\t{labelText ? (\n\t\t\t\t\t\t\t<span className=\"slds-slider-label__label\">{labelText}</span>\n\t\t\t\t\t\t) : null}\n\t\t\t\t\t\t<span className=\"slds-slider-label__range\">\n\t\t\t\t\t\t\t{this.props.min}\n\t\t\t\t\t\t\t{' - '}\n\t\t\t\t\t\t\t{this.props.max}\n\t\t\t\t\t\t</span>\n\t\t\t\t\t\t{this.props.disabled ? (\n\t\t\t\t\t\t\t<span className=\"slds-assistive-text\">\n\t\t\t\t\t\t\t\t{' '}\n\t\t\t\t\t\t\t\t{assistiveText.disabled}\n\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t) : null}\n\t\t\t\t\t</span>\n\t\t\t\t</label>\n\t\t\t\t<div className=\"slds-form-element__control\">\n\t\t\t\t\t<div\n\t\t\t\t\t\tclassName={classNames('slds-slider', {\n\t\t\t\t\t\t\t'slds-slider_vertical': this.props.vertical,\n\t\t\t\t\t\t\t'slds-size_x-small': this.props.size === 'x-small',\n\t\t\t\t\t\t\t'slds-size_small': this.props.size === 'small',\n\t\t\t\t\t\t\t'slds-size_medium': this.props.size === 'medium',\n\t\t\t\t\t\t\t'slds-size_large': this.props.size === 'large',\n\t\t\t\t\t\t})}\n\t\t\t\t\t>\n\t\t\t\t\t\t<input\n\t\t\t\t\t\t\ttype=\"range\"\n\t\t\t\t\t\t\tid={this.getId()}\n\t\t\t\t\t\t\tname={this.props.name}\n\t\t\t\t\t\t\tclassName=\"slds-slider__range\"\n\t\t\t\t\t\t\tmin={this.props.min}\n\t\t\t\t\t\t\tmax={this.props.max}\n\t\t\t\t\t\t\tstep={this.props.step}\n\t\t\t\t\t\t\tdisabled={this.props.disabled}\n\t\t\t\t\t\t\tonChange={this.handleChange}\n\t\t\t\t\t\t\tonInput={this.handleInput}\n\t\t\t\t\t\t\t{...ariaProps}\n\t\t\t\t\t\t\t/* A form element should not have both value and defaultValue props. */\n\t\t\t\t\t\t\t{...(this.props.value !== undefined\n\t\t\t\t\t\t\t\t? { value: this.props.value }\n\t\t\t\t\t\t\t\t: { defaultValue: this.props.defaultValue })}\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<span className=\"slds-slider__value\" aria-hidden=\"true\">\n\t\t\t\t\t\t\t{this.props.value || this.props.defaultValue || '0'}\n\t\t\t\t\t\t</span>\n\t\t\t\t\t</div>\n\t\t\t\t\t{this.props.errorText ? (\n\t\t\t\t\t\t<div id={this.getErrorId()} className=\"slds-form-element__help\">\n\t\t\t\t\t\t\t{this.props.errorText}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t) : null}\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t);\n\t}\n}\n\nexport default Slider;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport Button from '../../button';\n\nexport const DISPLAY_NAME = 'SLDSSplitViewToggleButton';\nexport const TOGGLE_BUTTON_WIDTH = '0.75rem';\n\nconst propsTypes = {\n\t/**\n\t * **Assistive text for accessibility**\n\t * * `toggleButtonOpen`: The button used to open the split view.\n\t * * `toggleButtonClose`: The button used to close the split view.\n\t */\n\tassistiveText: PropTypes.shape({\n\t\ttoggleButtonOpen: PropTypes.string.isRequired,\n\t\ttoggleButtonClose: PropTypes.string.isRequired,\n\t}),\n\t/**\n\t * Unique html id placed on the button for aria-controls\n\t */\n\tariaControls: PropTypes.string.isRequired,\n\t/**\n\t * Determines if the panel is open\n\t */\n\tisOpen: PropTypes.bool.isRequired,\n\t/**\n\t * **Event Callbacks**\n\t * * `onClick`: Called when the button is clicked.\n\t */\n\tevents: PropTypes.shape({\n\t\tonClick: PropTypes.func.isRequired,\n\t}),\n};\n\nconst defaultProps = {};\n\nconst SplitViewToggleButton = ({\n\tisOpen,\n\tassistiveText,\n\tariaControls,\n\tevents,\n}) => {\n\tconst toggleAssistiveText = isOpen\n\t\t? assistiveText.toggleButtonOpen\n\t\t: assistiveText.toggleButtonClose;\n\n\treturn (\n\t\t<Button\n\t\t\tclassName={classNames(\n\t\t\t\t'slds-button slds-button_icon slds-split-view__toggle-button',\n\t\t\t\t{ 'slds-is-open': isOpen }\n\t\t\t)}\n\t\t\taria-expanded={isOpen}\n\t\t\taria-controls={ariaControls}\n\t\t\ttitle={toggleAssistiveText}\n\t\t\tvariant=\"base\"\n\t\t\ticonName=\"left\"\n\t\t\ticonCategory=\"utility\"\n\t\t\ticonSize=\"x-small\"\n\t\t\tonClick={events.onClick}\n\t\t\tassistiveText={{ icon: toggleAssistiveText }}\n\t\t/>\n\t);\n};\n\nSplitViewToggleButton.displayName = DISPLAY_NAME;\nSplitViewToggleButton.propTypes = propsTypes;\nSplitViewToggleButton.defaultProps = defaultProps;\n\nexport default SplitViewToggleButton;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport shortid from 'shortid';\nimport classNames from 'classnames';\n\nimport ToggleButton, { TOGGLE_BUTTON_WIDTH } from './private/toggle-button';\n\nimport { SPLIT_VIEW } from '../../utilities/constants';\n\nconst propTypes = {\n\t/**\n\t * **Assistive text for accessibility**\n\t * * `toggleButtonOpen`: The button used to open the split view.\n\t * * `toggleButtonClose`: The button used to close the split view.\n\t */\n\tassistiveText: PropTypes.shape({\n\t\ttoggleButtonOpen: PropTypes.string,\n\t\ttoggleButtonClose: PropTypes.string,\n\t}),\n\t/**\n\t * HTML Id for the component.\n\t */\n\tid: PropTypes.string,\n\t/**\n\t * CSS classes to be added to the root `div` tag. Uses `classNames` [API](https://github.com/JedWatson/classnames).\n\t */\n\tclassName: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\t/**\n\t * Sets the split view to be open or closed.\n\t */\n\tisOpen: PropTypes.bool,\n\t/**\n\t * Event Callbacks\n\t * * `onClose`: Triggered when the split view has closed.\n\t * * `onOpen`: Triggered when the split view has opened.\n\t */\n\tevents: PropTypes.shape({\n\t\tonClose: PropTypes.func,\n\t\tonOpen: PropTypes.func,\n\t}),\n\t/**\n\t * The React component that is rendered in the master section.\n\t * You need to pass in an array of elements in order for the scrolling to in the SplitViewList to work correctly.\n\t * React requires that you also supply a unique `key` for each element [React Lists and Keys](https://reactjs.org/docs/lists-and-keys.html#keys).\n\t */\n\tmaster: PropTypes.oneOfType([\n\t\tPropTypes.arrayOf(PropTypes.element),\n\t\tPropTypes.element,\n\t]).isRequired,\n\t/**\n\t * The width of the master section.\n\t */\n\tmasterWidth: PropTypes.string,\n\t/**\n\t * The React component that is rendered in the detail section.\n\t */\n\tdetail: PropTypes.oneOfType([\n\t\tPropTypes.arrayOf(PropTypes.element),\n\t\tPropTypes.element,\n\t]).isRequired,\n};\n\nconst defaultProps = {\n\tassistiveText: {\n\t\ttoggleButtonOpen: 'Close split view',\n\t\ttoggleButtonClose: 'Open split view',\n\t},\n\tevents: {},\n\tmasterWidth: '20rem',\n};\n\n/**\n * Split view is used to navigate between records in a list while staying on the same screen.\n */\nclass SplitView extends React.Component {\n\tstatic displayName = SPLIT_VIEW;\n\n\tstatic propTypes = propTypes;\n\n\tstatic defaultProps = defaultProps;\n\n\tconstructor(props) {\n\t\tsuper(props);\n\n\t\tthis.state = {\n\t\t\tisOpen: typeof props.isOpen === 'boolean' ? props.isOpen : true,\n\t\t};\n\n\t\tthis.generatedId = shortid.generate();\n\t}\n\n\tgetId() {\n\t\treturn this.props.id || this.generatedId;\n\t}\n\n\tgetIsOpen() {\n\t\treturn typeof this.props.isOpen === 'boolean'\n\t\t\t? this.props.isOpen\n\t\t\t: this.state.isOpen;\n\t}\n\n\tgetMasterViewId() {\n\t\treturn `master_view_${this.getId()}`;\n\t}\n\n\ttoggle(event) {\n\t\tif (typeof this.props.isOpen !== 'boolean') {\n\t\t\tthis.setState((prevState) => ({\n\t\t\t\tisOpen: !prevState.isOpen,\n\t\t\t}));\n\t\t}\n\n\t\tconst isOpen = this.getIsOpen();\n\n\t\tif (isOpen && this.props.events.onClose) {\n\t\t\tthis.props.events.onClose(event);\n\t\t} else if (!isOpen && this.props.events.onOpen) {\n\t\t\tthis.props.events.onOpen(event);\n\t\t}\n\t}\n\n\trender() {\n\t\treturn (\n\t\t\t<div\n\t\t\t\tid={this.getId()}\n\t\t\t\tclassName={classNames('slds-grid', this.props.className)}\n\t\t\t\tstyle={{\n\t\t\t\t\theight: '100%',\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\t<div\n\t\t\t\t\tstyle={{\n\t\t\t\t\t\tmaxWidth: this.getIsOpen() ? this.props.masterWidth : '0',\n\t\t\t\t\t\tminWidth: this.getIsOpen() ? this.props.masterWidth : '0',\n\t\t\t\t\t}}\n\t\t\t\t\tclassName={classNames(\n\t\t\t\t\t\t'slds-split-view_container',\n\t\t\t\t\t\t{ 'slds-is-open': this.getIsOpen() },\n\t\t\t\t\t\t{ 'slds-is-closed': !this.getIsOpen() }\n\t\t\t\t\t)}\n\t\t\t\t>\n\t\t\t\t\t<ToggleButton\n\t\t\t\t\t\tassistiveText={this.props.assistiveText}\n\t\t\t\t\t\tariaControls={this.getMasterViewId()}\n\t\t\t\t\t\tisOpen={this.getIsOpen()}\n\t\t\t\t\t\tevents={{\n\t\t\t\t\t\t\tonClick: (event) => this.toggle(event),\n\t\t\t\t\t\t}}\n\t\t\t\t\t/>\n\t\t\t\t\t<article\n\t\t\t\t\t\tid={this.getMasterViewId()}\n\t\t\t\t\t\tclassName=\"slds-split-view slds-grid slds-grid_vertical slds-grow slds-scrollable_none\"\n\t\t\t\t\t>\n\t\t\t\t\t\t{this.getIsOpen() ? this.props.master : null}\n\t\t\t\t\t</article>\n\t\t\t\t</div>\n\t\t\t\t<div\n\t\t\t\t\tstyle={{\n\t\t\t\t\t\tmarginLeft: TOGGLE_BUTTON_WIDTH,\n\t\t\t\t\t}}\n\t\t\t\t\tclassName=\"slds-grow slds-scrollable_y\"\n\t\t\t\t>\n\t\t\t\t\t{this.props.detail}\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t);\n\t}\n}\n\nexport default SplitView;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\nimport React from 'react';\nimport classNames from 'classnames';\nimport PageHeader from '../page-header';\n\nimport { SPLIT_VIEW_HEADER } from '../../utilities/constants';\n\nconst propTypes = {};\n\nconst defaultProps = {};\n/**\n * The Split View Header takes the same properties as the [PageHeader](https://react.lightningdesignsystem.com/components/page-headers/) component.\n */\nconst SplitViewHeader = ({ className, ...rest }) => (\n\t<PageHeader\n\t\tclassName={classNames(\n\t\t\t'slds-split-view__header slds-has-bottom-magnet',\n\t\t\tclassName\n\t\t)}\n\t\t{...rest}\n\t/>\n);\n\nSplitViewHeader.displayName = SPLIT_VIEW_HEADER;\nSplitViewHeader.propTypes = propTypes;\nSplitViewHeader.defaultProps = defaultProps;\n\nexport default SplitViewHeader;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\nexport const DISPLAY_NAME = 'SLDSSplitViewListItemContent';\n\nconst propTypes = {\n\t/**\n\t * **Item to be displayed**\n\t * * `label`: The main label displayed on the top left.\n\t * * `topRightText`: The text displayed on the top right.\n\t * * `bottomLeftText`: The text displayed on the bottom left.\n\t * * `bottomRightText`: The text displayed on the bottom right.\n\t */\n\titem: PropTypes.shape({\n\t\tlabel: PropTypes.string,\n\t\ttopRightText: PropTypes.string,\n\t\tbottomLeftText: PropTypes.string,\n\t\tbottomRightText: PropTypes.string,\n\t}),\n};\n\nconst defaultProps = {};\n\nconst SplitViewListItemContent = ({ item }) => (\n\t<div>\n\t\t<div className=\"slds-grid slds-wrap\">\n\t\t\t<span\n\t\t\t\tclassName=\"slds-truncate slds-text-body_regular slds-text-color_default\"\n\t\t\t\ttitle={item.label}\n\t\t\t>\n\t\t\t\t{item.label}\n\t\t\t</span>\n\t\t\t<span\n\t\t\t\tclassName=\"slds-truncate slds-col_bump-left\"\n\t\t\t\ttitle={item.topRightText}\n\t\t\t>\n\t\t\t\t{item.topRightText}\n\t\t\t</span>\n\t\t</div>\n\t\t<div className=\"slds-grid slds-wrap\">\n\t\t\t<span className=\"slds-truncate\" title={item.bottomLeftText}>\n\t\t\t\t{item.bottomLeftText}\n\t\t\t</span>\n\t\t\t<span\n\t\t\t\tclassName=\"slds-truncate slds-col_bump-left\"\n\t\t\t\ttitle={item.bottomLeftText}\n\t\t\t>\n\t\t\t\t{item.bottomRightText}\n\t\t\t</span>\n\t\t</div>\n\t</div>\n);\n\nSplitViewListItemContent.displayName = DISPLAY_NAME;\nSplitViewListItemContent.propTypes = propTypes;\nSplitViewListItemContent.defaultProps = defaultProps;\n\nexport default SplitViewListItemContent;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n/* eslint-disable class-methods-use-this */\n\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\n\nexport const DISPLAY_NAME = 'SLDSSplitViewListItemWithContent';\n\nconst propsTypes = {\n\t/**\n\t * **Assistive text for accessibility**\n\t * * `unreadItem`: The unread indicator.\n\t */\n\tassistiveText: PropTypes.shape({\n\t\tunreadItem: PropTypes.string,\n\t}),\n\t/**\n\t * Item to be displayed\n\t */\n\titem: PropTypes.object.isRequired,\n\t/**\n\t * Allows multiple item to be selection\n\t */\n\tmultiple: PropTypes.bool,\n\t/**\n\t * Shows the item as `focused`.\n\t */\n\tisFocused: PropTypes.bool.isRequired,\n\t/**\n\t * Shows the item as `selected`.\n\t */\n\tisSelected: PropTypes.bool.isRequired,\n\t/**\n\t * Shows the item as `unread`.\n\t */\n\tisUnread: PropTypes.bool,\n\t/**\n\t * **Event Callbacks**\n\t * * `onClick`: Called when the item is clicked.\n\t * * * Event\n\t * * * Meta data\n\t * * * * `item`: The original item.\n\t * * * * `isSelected`: Is the item selected.\n\t * * * * `isUnread`: Is the item unread.\n\t */\n\tevents: PropTypes.shape({\n\t\tonClick: PropTypes.func.isRequired,\n\t}),\n\t/**\n\t * Reference to the list item component\n\t */\n\tlistItemRef: PropTypes.func,\n};\n\nconst defaultProps = {\n\tassistiveText: {\n\t\tunreadItem: 'Unread Item',\n\t},\n\tevents: {},\n};\n\n/**\n * HOC that wraps the list item content with selection and unread functionality.\n * @param ListItemContent {node} A React component\n * @returns {ListItemWithContent} A React component\n */\nconst listItemWithContent = (ListItemContent) => {\n\tclass ListItemWithContent extends React.Component {\n\t\tstatic displayName = `${DISPLAY_NAME}(${\n\t\t\tListItemContent.displayName || ListItemContent.name || 'Component'\n\t\t})`;\n\n\t\tstatic propTypes = propsTypes;\n\n\t\tstatic defaultProps = defaultProps;\n\n\t\tonClick(event) {\n\t\t\tthis.props.events.onClick(event, {\n\t\t\t\titem: this.props.item,\n\t\t\t\tisSelected: this.props.isSelected,\n\t\t\t\tisUnread: this.props.isUnread,\n\t\t\t});\n\t\t}\n\n\t\tunread() {\n\t\t\treturn this.props.isUnread ? (\n\t\t\t\t<abbr\n\t\t\t\t\tclassName=\"slds-indicator_unread\"\n\t\t\t\t\ttitle={this.props.assistiveText.unreadItem}\n\t\t\t\t\taria-label={this.props.assistiveText.unreadItem}\n\t\t\t\t>\n\t\t\t\t\t{/* eslint-disable-next-line react/jsx-curly-brace-presence */}\n\t\t\t\t\t<span className=\"slds-assistive-text\">{'●'}</span>\n\t\t\t\t</abbr>\n\t\t\t) : null;\n\t\t}\n\n\t\trender() {\n\t\t\treturn (\n\t\t\t\t<li\n\t\t\t\t\tclassName={classNames('slds-split-view__list-item', {\n\t\t\t\t\t\t'slds-is-unread': this.props.isUnread,\n\t\t\t\t\t})}\n\t\t\t\t\trole=\"presentation\"\n\t\t\t\t>\n\t\t\t\t\t<a\n\t\t\t\t\t\tclassName=\"slds-split-view__list-item-action slds-grow slds-has-flexi-truncate\"\n\t\t\t\t\t\trole=\"option\"\n\t\t\t\t\t\tref={this.props.listItemRef}\n\t\t\t\t\t\taria-selected={\n\t\t\t\t\t\t\tthis.props.multiple\n\t\t\t\t\t\t\t\t? !!this.props.isSelected\n\t\t\t\t\t\t\t\t: this.props.isSelected\n\t\t\t\t\t\t}\n\t\t\t\t\t\ttabIndex={this.props.isFocused ? 0 : -1}\n\t\t\t\t\t\thref=\"javascript:void(0);\" // eslint-disable-line no-script-url\n\t\t\t\t\t\tonClick={(e) => this.onClick(e)}\n\t\t\t\t\t>\n\t\t\t\t\t\t{this.unread()}\n\t\t\t\t\t\t<ListItemContent {...this.props} />\n\t\t\t\t\t</a>\n\t\t\t\t</li>\n\t\t\t);\n\t\t}\n\t}\n\n\treturn ListItemWithContent;\n};\n\nexport default listItemWithContent;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n/* eslint-disable class-methods-use-this */\n\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport eventUtil from '../../utilities/event';\n\nimport { SPLIT_VIEW_LISTBOX } from '../../utilities/constants';\n\nimport Icon from '../icon';\nimport SplitViewListItemContent from './private/list-item-content';\nimport listItemWithContent from './private/list-item-with-content';\n\nexport const SORT_OPTIONS = Object.freeze({\n\tUP: 'up',\n\tDOWN: 'down',\n});\n\nconst propTypes = {\n\t/**\n\t * **Assistive text for accessibility**\n\t * * `list`: aria label for the list\n\t * * `sort`\n\t * * `sortedBy`: Clickable sort header for the list.\n\t * * `descending`: Descending sorting.\n\t * * `ascending`: Ascending sorting.\n\t */\n\tassistiveText: PropTypes.shape({\n\t\tlist: PropTypes.string,\n\t\tsort: PropTypes.shape({\n\t\t\tsortedBy: PropTypes.string,\n\t\t\tdescending: PropTypes.string,\n\t\t\tascending: PropTypes.string,\n\t\t}),\n\t\tunreadItem: PropTypes.string,\n\t}),\n\t/**\n\t * CSS classes to be added to the parent `div` tag.\n\t */\n\tclassName: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\t/**\n\t * Event Callbacks\n\t * * `onSelect`: Called when a list item is selected. Previously, this event was called when an item was focused. The UX pattern has changed and this event is now called on pressing enter or mouse click.\n\t * * event {object} List item click event\n\t * * Meta {object}\n\t * * selectedItems {array} List of selected items.\n\t * * item {object} Last selected item.\n\t * * `onSort`: Called when the list is sorted.\n\t * * event {object} Sort click event\n\t */\n\tevents: PropTypes.shape({\n\t\tonSelect: PropTypes.func.isRequired,\n\t\tonSort: PropTypes.func,\n\t}),\n\t/**\n\t * HTML id for component.\n\t */\n\tid: PropTypes.string,\n\t/**\n\t * **Text labels for internationalization**\n\t * * `header`: This is the header of the list.\n\t */\n\tlabels: PropTypes.shape({\n\t\theader: PropTypes.string,\n\t}),\n\t/**\n\t * The direction of the sort arrow. Option are:\n\t * * SORT_OPTIONS.UP: `up`\n\t * * SORT_OPTIONS.DOWN: `down`\n\t */\n\tsortDirection: PropTypes.oneOf([SORT_OPTIONS.UP, SORT_OPTIONS.DOWN]),\n\t/**\n\t * Allows multiple item to be selection\n\t */\n\tmultiple: PropTypes.bool,\n\t/**\n\t * The list of items.\n\t * It is recommended that you have a unique `id` for each item.\n\t */\n\toptions: PropTypes.array.isRequired,\n\t/**\n\t * Accepts an array of item objects. For single selection, pass in an array of one object.\n\t */\n\tselection: PropTypes.array,\n\t/**\n\t * Accepts an array of item objects. For single unread, pass in an array of one object.\n\t */\n\tunread: PropTypes.array,\n\t/**\n\t * Custom list item template for the list item content. The select and unread functionality wraps the custom list item.\n\t * This should be a React component that accepts props.\n\t */\n\tlistItem: PropTypes.func,\n};\n\nconst defaultProps = {\n\tassistiveText: {\n\t\tlist: 'Select an item to open it in a new workspace tab.',\n\t\tsort: {\n\t\t\tsortedBy: 'Sorted by',\n\t\t\tdescending: 'Descending',\n\t\t\tascending: 'Ascending',\n\t\t},\n\t},\n\tevents: {},\n\tlabels: {},\n\tselection: [],\n\tunread: [],\n};\n\n/**\n * The menu with the ARIA role of a listbox.\n */\nclass SplitViewListbox extends React.Component {\n\tstatic displayName = SPLIT_VIEW_LISTBOX;\n\n\tstatic propTypes = propTypes;\n\n\tstatic defaultProps = defaultProps;\n\n\tconstructor(props) {\n\t\tsuper(props);\n\n\t\tthis.listItemComponents = {};\n\n\t\tthis.state = {\n\t\t\tcurrentSelectedItem: null,\n\t\t\tcurrentFocusedListItem: {\n\t\t\t\tindex: 0,\n\t\t\t\titem: null,\n\t\t\t},\n\t\t};\n\n\t\t// Generates the list item template\n\t\tthis.ListItemWithContent = listItemWithContent(\n\t\t\tprops.listItem || SplitViewListItemContent\n\t\t);\n\t}\n\n\tcomponentDidMount() {\n\t\tthis.focusFirstItem();\n\t}\n\n\tisListItemFocused(item) {\n\t\treturn this.state.currentFocusedListItem.item === item;\n\t}\n\n\tisSelected(item) {\n\t\treturn this.props.selection.includes(item);\n\t}\n\n\tisUnread(item) {\n\t\treturn this.props.unread.includes(item);\n\t}\n\n\thandleKeyDown(event) {\n\t\tif (this.props.multiple && event.key === 'a' && event.ctrlKey) {\n\t\t\t// select / deselect all\n\t\t\teventUtil.trap(event);\n\t\t\tif (this.props.options === this.props.selection) {\n\t\t\t\tthis.deselectAllListItems(event);\n\t\t\t} else {\n\t\t\t\tthis.selectAllListItems(event);\n\t\t\t}\n\t\t} else if (event.key === 'ArrowUp') {\n\t\t\teventUtil.trap(event);\n\t\t\tthis.moveToPreviousItem(event);\n\t\t} else if (event.key === 'ArrowDown') {\n\t\t\teventUtil.trap(event);\n\t\t\tthis.moveToNextItem(event);\n\t\t}\n\t}\n\n\tmoveToNextItem(event) {\n\t\tconst nextFocusIndex =\n\t\t\tthis.state.currentFocusedListItem.index === this.props.options.length - 1\n\t\t\t\t? 0\n\t\t\t\t: this.state.currentFocusedListItem.index + 1;\n\n\t\tthis.moveToIndex(event, nextFocusIndex);\n\t}\n\n\tmoveToPreviousItem(event) {\n\t\tconst previousFocusIndex =\n\t\t\tthis.state.currentFocusedListItem.index === 0\n\t\t\t\t? this.props.options.length - 1\n\t\t\t\t: this.state.currentFocusedListItem.index - 1;\n\n\t\tthis.moveToIndex(event, previousFocusIndex);\n\t}\n\n\tmoveToIndex(event, index) {\n\t\tconst item = this.props.options[index];\n\n\t\tthis.focusItem(item);\n\t}\n\n\tfocusFirstItem() {\n\t\tconst firstSelectedItem =\n\t\t\tthis.props.options.find((item) => this.props.selection.includes(item)) ||\n\t\t\tthis.props.options[0];\n\n\t\tif (firstSelectedItem) {\n\t\t\tthis.focusItem(firstSelectedItem, true);\n\t\t}\n\t}\n\n\tfocusItem(item, setDataOnly) {\n\t\tconst index = this.props.options.indexOf(item);\n\n\t\tif (!setDataOnly) {\n\t\t\tthis.listItemComponents[index].focus();\n\t\t}\n\n\t\tthis.setState({\n\t\t\tcurrentFocusedListItem: {\n\t\t\t\tindex,\n\t\t\t\titem,\n\t\t\t},\n\t\t});\n\t}\n\n\tdeselectAllListItems(event) {\n\t\tthis.setState({ currentSelectedItem: null });\n\t\tthis.props.events.onSelect(event, {\n\t\t\tselectedItems: [],\n\t\t\titem: null,\n\t\t});\n\t}\n\n\tselectAllListItems(event) {\n\t\tthis.props.events.onSelect(event, {\n\t\t\tselectedItems: this.props.options,\n\t\t\titem: this.state.currentSelectedItem,\n\t\t});\n\t}\n\n\tselectListItem(item, event) {\n\t\tlet selectedItems = [item];\n\n\t\tif (this.props.multiple) {\n\t\t\tif (event.metaKey) {\n\t\t\t\tselectedItems = this.props.selection.includes(item)\n\t\t\t\t\t? this.props.selection.filter((i) => i !== item)\n\t\t\t\t\t: [item, ...this.props.selection];\n\t\t\t} else if (event.shiftKey) {\n\t\t\t\t/* eslint-disable fp/no-mutating-methods */\n\t\t\t\tconst [begin, end] = [\n\t\t\t\t\tthis.props.options.indexOf(this.state.currentSelectedItem),\n\t\t\t\t\tthis.props.options.indexOf(item),\n\t\t\t\t].sort();\n\t\t\t\t/* eslint-enable fp/no-mutating-methods */\n\n\t\t\t\tconst addToSelection = this.props.options.slice(begin, end + 1);\n\n\t\t\t\tselectedItems = [\n\t\t\t\t\t...addToSelection,\n\t\t\t\t\t...this.props.selection.filter((i) => !addToSelection.includes(i)),\n\t\t\t\t];\n\t\t\t}\n\t\t}\n\n\t\tthis.setState({ currentSelectedItem: item });\n\n\t\tthis.props.events.onSelect(event, { selectedItems, item });\n\t}\n\n\thandleOnSelect(event, { item }) {\n\t\tthis.selectListItem(item, event);\n\t\tthis.focusItem(item);\n\t}\n\n\tsortDirection() {\n\t\treturn this.props.sortDirection ? (\n\t\t\t<Icon\n\t\t\t\tcategory=\"utility\"\n\t\t\t\tname={\n\t\t\t\t\tthis.props.sortDirection === SORT_OPTIONS.DOWN\n\t\t\t\t\t\t? 'arrowdown'\n\t\t\t\t\t\t: 'arrowup'\n\t\t\t\t}\n\t\t\t\tsize=\"xx-small\"\n\t\t\t\tclassName=\"slds-align-top\"\n\t\t\t/>\n\t\t) : null;\n\t}\n\n\theaderWrapper(children) {\n\t\treturn this.props.events.onSort ? (\n\t\t\t<a\n\t\t\t\taria-live=\"polite\"\n\t\t\t\tstyle={{ borderTop: '0' }}\n\t\t\t\thref=\"javascript:void(0);\" // eslint-disable-line no-script-url\n\t\t\t\trole=\"button\"\n\t\t\t\tclassName=\"slds-split-view__list-header slds-grid slds-text-link_reset\"\n\t\t\t\tonClick={this.props.events.onSort}\n\t\t\t>\n\t\t\t\t{children}\n\t\t\t</a>\n\t\t) : (\n\t\t\t<div\n\t\t\t\tstyle={{ borderTop: '0' }}\n\t\t\t\tclassName=\"slds-split-view__list-header slds-grid\"\n\t\t\t>\n\t\t\t\t{children}\n\t\t\t</div>\n\t\t);\n\t}\n\n\theader() {\n\t\treturn this.props.labels.header\n\t\t\t? this.headerWrapper(\n\t\t\t\t\t<span\n\t\t\t\t\t\taria-sort={\n\t\t\t\t\t\t\tthis.props.sortDirection === SORT_OPTIONS.DOWN\n\t\t\t\t\t\t\t\t? this.props.assistiveText.sort.descending\n\t\t\t\t\t\t\t\t: this.props.assistiveText.sort.ascending\n\t\t\t\t\t\t}\n\t\t\t\t\t>\n\t\t\t\t\t\t<span className=\"slds-assistive-text\">\n\t\t\t\t\t\t\t{this.props.assistiveText.sort.sortedBy}\n\t\t\t\t\t\t\t{': '}\n\t\t\t\t\t\t</span>\n\t\t\t\t\t\t<span>\n\t\t\t\t\t\t\t{this.props.labels.header}\n\t\t\t\t\t\t\t{this.sortDirection()}\n\t\t\t\t\t\t</span>\n\t\t\t\t\t\t<span className=\"slds-assistive-text\">\n\t\t\t\t\t\t\t{'- '}\n\t\t\t\t\t\t\t{this.props.sortDirection === SORT_OPTIONS.DOWN\n\t\t\t\t\t\t\t\t? this.props.assistiveText.sort.descending\n\t\t\t\t\t\t\t\t: this.props.assistiveText.sort.ascending}\n\t\t\t\t\t\t</span>\n\t\t\t\t\t</span>\n\t\t\t )\n\t\t\t: null;\n\t}\n\n\taddListItemComponent(component, index) {\n\t\tthis.listItemComponents[index] = component;\n\t}\n\n\tlistItems() {\n\t\tconst { ListItemWithContent } = this;\n\n\t\treturn this.props.options.map((item, index) => (\n\t\t\t<ListItemWithContent\n\t\t\t\tkey={item.id || index}\n\t\t\t\tassistiveText={{\n\t\t\t\t\tunreadItem: this.props.assistiveText.unreadItem,\n\t\t\t\t}}\n\t\t\t\tlistItemRef={(component) => {\n\t\t\t\t\tthis.addListItemComponent(component, index);\n\t\t\t\t}}\n\t\t\t\titem={item}\n\t\t\t\tisFocused={this.isListItemFocused(item)}\n\t\t\t\tisSelected={this.isSelected(item)}\n\t\t\t\tisUnread={this.isUnread(item)}\n\t\t\t\tevents={{\n\t\t\t\t\tonClick: (event, meta) => this.handleOnSelect(event, meta),\n\t\t\t\t}}\n\t\t\t\tmultiple={this.props.multiple}\n\t\t\t/>\n\t\t));\n\t}\n\n\trender() {\n\t\treturn (\n\t\t\t<div\n\t\t\t\tid={this.props.id}\n\t\t\t\tclassName={classNames(\n\t\t\t\t\t'slds-grid slds-grid_vertical slds-scrollable_none',\n\t\t\t\t\tthis.props.className\n\t\t\t\t)}\n\t\t\t>\n\t\t\t\t{this.header()}\n\t\t\t\t<ul\n\t\t\t\t\tclassName=\"slds-scrollable_y\"\n\t\t\t\t\taria-label={this.props.assistiveText.list}\n\t\t\t\t\taria-multiselectable={this.props.multiple}\n\t\t\t\t\trole=\"listbox\"\n\t\t\t\t\tonKeyDown={(event) => this.handleKeyDown(event)}\n\t\t\t\t>\n\t\t\t\t\t{this.listItems()}\n\t\t\t\t</ul>\n\t\t\t</div>\n\t\t);\n\t}\n}\n\nexport default SplitViewListbox;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n/* eslint-disable import/no-mutable-exports */\n/* eslint-disable max-len */\n\nimport onlyOneOfProperties from '../../utilities/warning/only-one-of-properties';\nimport sunsetProperty from '../../utilities/warning/sunset-property';\nimport getComponentDocFn from '../../utilities/get-component-doc';\n\nlet checkProps = function checkPropsFunction() {};\n\nif (process.env.NODE_ENV !== 'production') {\n\tcheckProps = function checkPropsFunction(COMPONENT, props, jsonDoc) {\n\t\tconst createDocUrl = getComponentDocFn(jsonDoc);\n\n\t\tonlyOneOfProperties(\n\t\t\tCOMPONENT,\n\t\t\t{\n\t\t\t\tassistiveText: props.assistiveText,\n\t\t\t\tlabel: props.label,\n\t\t\t},\n\t\t\tcreateDocUrl()\n\t\t);\n\n\t\tif (typeof props.assistiveText === 'string') {\n\t\t\tsunsetProperty(\n\t\t\t\tCOMPONENT,\n\t\t\t\tprops.assistiveText,\n\t\t\t\t'assistiveText',\n\t\t\t\t`\\`assistiveText\\` as a string has been deprecated and is now an object to allow for multiple uses in the component. Please use \\`assistiveText.label\\` instead. ${createDocUrl(\n\t\t\t\t\t'assistiveText'\n\t\t\t\t)}`\n\t\t\t);\n\t\t}\n\t};\n}\n\nexport default checkProps;\n","/* eslint-disable react/jsx-curly-brace-presence */\n/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n/* eslint-disable jsx-a11y/no-autofocus */\n\n// # Textarea Component\n\n// Implements the [Textarea design pattern](https://lightningdesignsystem.com/components/textarea).\n// Based on SLDS v2.4.0\n//\n\n// ### React\nimport React from 'react';\n\nimport PropTypes from 'prop-types';\n\n// ### classNames\n// [github.com/JedWatson/classnames](https://github.com/JedWatson/classnames)\n// This project uses `classnames`, \"a simple javascript utility for conditionally\n// joining classNames together.\"\nimport classNames from 'classnames';\n\n// ### shortid\n// [npmjs.com/package/shortid](https://www.npmjs.com/package/shortid)\n// shortid is a short, non-sequential, url-friendly, unique id generator\nimport shortid from 'shortid';\n\n// ## Children\n// This component's `checkProps` which issues warnings to developers about properties when in development mode (similar to React's built in development tools)\nimport checkProps from './check-props';\n\nimport { TEXTAREA } from '../../utilities/constants';\nimport getAriaProps from '../../utilities/get-aria-props';\n\nimport componentDoc from './component.json';\n\n/**\n * A multi-line plain-text editing control.\n */\nclass Textarea extends React.Component {\n\tstatic displayName = TEXTAREA;\n\n\tstatic propTypes = {\n\t\t/**\n\t\t * **Assistive text for accessibility.**\n\t\t * * `label`: If present, the label associated with this `textarea` is overwritten by this text and is visually not shown.\n\t\t */\n\t\tassistiveText: PropTypes.shape({\n\t\t\tlabel: PropTypes.string,\n\t\t}),\n\t\t/**\n\t\t * The aria-activedescendant attribute contains the ID of the currently active child object that is part of a composite widget within the Document Object Model. It makes do with the overhead of having all or more than one child focusable. As the name specifies, it helps in managing the current active child of the composite widget.\n\t\t */\n\t\t'aria-activedescendant': PropTypes.string,\n\t\t/**\n\t\t * Indicates if the suggestions in a composite widget are values that complete the current textbox input.\n\t\t */\n\t\t'aria-autocomplete': PropTypes.string,\n\t\t/**\n\t\t * An HTML ID that is shared with ARIA-supported devices with the\n\t\t * `aria-controls` attribute in order to relate the input with\n\t\t * another region of the page. An example would be a select box\n\t\t * that shows or hides a panel.\n\t\t */\n\t\t'aria-controls': PropTypes.string,\n\t\t/**\n\t\t * The `aria-describedby` attribute is used to indicate the IDs of the elements that describe the object. It is used to establish a relationship between widgets or groups and text that described them. This is very similar to aria-labelledby: a label describes the essence of an object, while a description provides more information that the user might need.\n\t\t */\n\t\t'aria-describedby': PropTypes.string,\n\t\t/**\n\t\t * Use the `aria-expanded` state to indicate whether regions of the content are collapsible, and to expose whether a region is currently expanded or collapsed.\n\t\t */\n\t\t'aria-expanded': PropTypes.bool,\n\t\t/**\n\t\t * Indicates that the element has a popup context menu or sub-level menu.\n\t\t */\n\t\t'aria-haspopup': PropTypes.bool,\n\t\t/**\n\t\t * The aria-labelledby attribute contains the element IDs of labels in objects such as input elements, widgets, and groups. The attribute establishes relationships between objects and their labels. Assistive technology, such as screen readers, use this attribute to catalog the objects in a document so that users can navigate between them. Without an element ID, the assistive technology cannot catalog the object.\n\t\t */\n\t\t'aria-labelledby': PropTypes.string,\n\t\t/**\n\t\t * An HTML ID that is shared with ARIA-supported devices with the\n\t\t * `aria-controls` attribute in order to relate the input with\n\t\t * another region of the page. An example would be a search field\n\t\t * that shows search results.\n\t\t */\n\t\t'aria-owns': PropTypes.string,\n\t\t/**\n\t\t * The `aria-required` attribute is used to indicate that user input is required on an element before a form can be submitted.\n\t\t */\n\t\t'aria-required': PropTypes.bool,\n\t\t/**\n\t\t * Specifies is the textarea should automatically get focus when the page loads. This is typically a poor user experience.\n\t\t */\n\t\tautoFocus: PropTypes.bool,\n\t\t/**\n\t\t * Elements are added after the `textarea`.\n\t\t */\n\t\tchildren: PropTypes.node,\n\t\t/**\n\t\t * Class names to be added to the textarea component.\n\t\t */\n\t\tclassName: PropTypes.oneOfType([\n\t\t\tPropTypes.array,\n\t\t\tPropTypes.object,\n\t\t\tPropTypes.string,\n\t\t]),\n\t\t/** Allows for ability to apply classNames to outer textarea div.\n\t\t */\n\t\tclassNameContainer: PropTypes.oneOfType([\n\t\t\tPropTypes.array,\n\t\t\tPropTypes.object,\n\t\t\tPropTypes.string,\n\t\t]),\n\t\t/**\n\t\t * Disables the textarea and prevents editing the contents.\n\t\t */\n\t\tdisabled: PropTypes.bool,\n\t\t/**\n\t\t * Message to display when the textarea is in an error state. When this is present, also visually highlights the component as in error.\n\t\t */\n\t\terrorText: PropTypes.string,\n\t\t/**\n\t\t * Every textarea must have a unique ID in order to support keyboard navigation and ARIA support.\n\t\t */\n\t\tid: PropTypes.string,\n\t\t/**\n\t\t * This callback exposes the textarea reference / DOM node to parent components. `<Parent textareaRef={(textareaComponent) => this.textarea = textareaComponent} />\n\t\t */\n\t\ttextareaRef: PropTypes.func,\n\t\t/**\n\t\t * This label appears above the textarea.\n\t\t */\n\t\tlabel: PropTypes.string,\n\t\t/**\n\t\t * Triggered when focus is removed.\n\t\t */\n\t\tonBlur: PropTypes.func,\n\t\t/**\n\t\t * This callback fires when the textarea changes. The synthetic React event will be the first parameter to the callback. You will probably want to reference `event.target.value` in your callback. No custom data object is provided.\n\t\t */\n\t\tonChange: PropTypes.func,\n\t\t/**\n\t\t * This event fires when the textarea is clicked.\n\t\t */\n\t\tonClick: PropTypes.func,\n\t\t/**\n\t\t * Triggered when component is focused.\n\t\t */\n\t\tonFocus: PropTypes.func,\n\t\t/**\n\t\t * Similar to `onchange`. Triggered when an element gets user input.\n\t\t */\n\t\tonInput: PropTypes.func,\n\t\t/**\n\t\t * Triggered when a submittable <input> element is invalid.\n\t\t */\n\t\tonInvalid: PropTypes.func,\n\t\t/**\n\t\t * Triggered when a key is pressed down\n\t\t */\n\t\tonKeyDown: PropTypes.func,\n\t\t/**\n\t\t * Triggered when a key is pressed and released\n\t\t */\n\t\tonKeyPress: PropTypes.func,\n\t\t/**\n\t\t * Triggered when a key is released\n\t\t */\n\t\tonKeyUp: PropTypes.func,\n\t\t/**\n\t\t * Triggered after some text has been selected in an element.\n\t\t */\n\t\tonSelect: PropTypes.func,\n\t\t/**\n\t\t * Fires when a form is submitted.\n\t\t */\n\t\tonSubmit: PropTypes.func,\n\t\t/**\n\t\t * Maximum number of characters allowed.\n\t\t */\n\t\tmaxLength: PropTypes.string,\n\t\t/**\n\t\t * Name of the submitted form parameter.\n\t\t */\n\t\tname: PropTypes.string,\n\t\t/**\n\t\t * Text that will appear in an empty textarea.\n\t\t */\n\t\tplaceholder: PropTypes.string,\n\t\t/**\n\t\t * Highlights the textarea as a required field (does not perform any validation).\n\t\t */\n\t\trequired: PropTypes.bool,\n\t\t/**\n\t\t * The textarea is a controlled component, and will always display this value.\n\t\t */\n\t\tvalue: PropTypes.string,\n\t\t/**\n\t\t * The textarea is a uncontrolled component, and this will be the initial value.\n\t\t */\n\t\tdefaultValue: PropTypes.string,\n\t\t/**\n\t\t * Specifies how the text in a text area is to be wrapped when submitted in a form.\n\t\t */\n\t\twrap: PropTypes.oneOf(['soft', 'hard']),\n\t};\n\n\tconstructor(props) {\n\t\tsuper(props);\n\n\t\t// `checkProps` issues warnings to developers about properties (similar to React's built in development tools)\n\t\tcheckProps(TEXTAREA, props, componentDoc);\n\n\t\tthis.generatedId = shortid.generate();\n\t\tif (props.errorText) {\n\t\t\tthis.generatedErrorId = shortid.generate();\n\t\t}\n\t}\n\n\tgetId = () => this.props.id || this.generatedId;\n\n\tgetErrorId = () => this.props['aria-describedby'] || this.generatedErrorId;\n\n\t// ### Render\n\trender() {\n\t\tconst {\n\t\t\tautoFocus,\n\t\t\tchildren,\n\t\t\tclassName,\n\t\t\tclassNameContainer,\n\t\t\tdisabled,\n\t\t\terrorText,\n\t\t\ttextareaRef, // eslint-disable-line react/prop-types\n\t\t\tlabel,\n\t\t\tonBlur,\n\t\t\tonChange,\n\t\t\tonClick,\n\t\t\tonFocus,\n\t\t\tonInput,\n\t\t\tonInvalid,\n\t\t\tonKeyDown,\n\t\t\tonKeyPress,\n\t\t\tonKeyUp,\n\t\t\tonSelect,\n\t\t\tonSubmit,\n\t\t\tmaxLength,\n\t\t\tname,\n\t\t\tplaceholder,\n\t\t\trequired,\n\t\t\trole,\n\t\t\tvalue,\n\t\t\tdefaultValue,\n\t\t\twrap,\n\n\t\t\t// ### Additional properties\n\t\t\t// Using [object destructuring](https://facebook.github.io/react/docs/transferring-props.html#transferring-with-...-in-jsx) to pass on any properties which are not explicitly defined.\n\t\t\t// ...props // Uncomment this if you actually need to send the rest of the props to other elements\n\t\t} = this.props;\n\n\t\tconst ariaProps = getAriaProps(this.props);\n\t\tconst assistiveTextLabel =\n\t\t\ttypeof this.props.assistiveText === 'string'\n\t\t\t\t? this.props.assistiveText\n\t\t\t\t: {\n\t\t\t\t\t\t...this.props.assistiveText,\n\t\t\t\t }.label;\n\n\t\tconst labelText = label || assistiveTextLabel; // One of these is required to pass accessibility tests\n\n\t\treturn (\n\t\t\t<div\n\t\t\t\tclassName={classNames(\n\t\t\t\t\t'slds-form-element',\n\t\t\t\t\t{\n\t\t\t\t\t\t'slds-has-error': errorText,\n\t\t\t\t\t},\n\t\t\t\t\tclassNameContainer\n\t\t\t\t)}\n\t\t\t>\n\t\t\t\t{labelText && (\n\t\t\t\t\t<label\n\t\t\t\t\t\tclassName={classNames('slds-form-element__label', {\n\t\t\t\t\t\t\t'slds-assistive-text': assistiveTextLabel && !label,\n\t\t\t\t\t\t})}\n\t\t\t\t\t\thtmlFor={this.getId()}\n\t\t\t\t\t>\n\t\t\t\t\t\t{required && (\n\t\t\t\t\t\t\t<abbr className=\"slds-required\" title=\"required\">\n\t\t\t\t\t\t\t\t{'*'}\n\t\t\t\t\t\t\t</abbr>\n\t\t\t\t\t\t)}\n\t\t\t\t\t\t{labelText}\n\t\t\t\t\t</label>\n\t\t\t\t)}\n\t\t\t\t<div className={classNames('slds-form-element__control')}>\n\t\t\t\t\t<textarea\n\t\t\t\t\t\tclassName={classNames('slds-textarea', className)}\n\t\t\t\t\t\tautoFocus={autoFocus}\n\t\t\t\t\t\tdisabled={disabled}\n\t\t\t\t\t\tid={this.getId()}\n\t\t\t\t\t\tmaxLength={maxLength}\n\t\t\t\t\t\tname={name}\n\t\t\t\t\t\tonBlur={onBlur}\n\t\t\t\t\t\tonChange={onChange}\n\t\t\t\t\t\tonClick={onClick}\n\t\t\t\t\t\tonFocus={onFocus}\n\t\t\t\t\t\tonInput={onInput}\n\t\t\t\t\t\tonInvalid={onInvalid}\n\t\t\t\t\t\tonKeyDown={onKeyDown}\n\t\t\t\t\t\tonKeyPress={onKeyPress}\n\t\t\t\t\t\tonKeyUp={onKeyUp}\n\t\t\t\t\t\tonSelect={onSelect}\n\t\t\t\t\t\tonSubmit={onSubmit}\n\t\t\t\t\t\tplaceholder={placeholder}\n\t\t\t\t\t\tref={textareaRef}\n\t\t\t\t\t\trole={role}\n\t\t\t\t\t\trequired={required}\n\t\t\t\t\t\twrap={wrap}\n\t\t\t\t\t\tvalue={value}\n\t\t\t\t\t\tdefaultValue={defaultValue}\n\t\t\t\t\t\t{...ariaProps}\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t\t{errorText && (\n\t\t\t\t\t<div id={this.getErrorId()} className=\"slds-form-element__help\">\n\t\t\t\t\t\t{errorText}\n\t\t\t\t\t</div>\n\t\t\t\t)}\n\t\t\t\t{children}\n\t\t\t</div>\n\t\t);\n\t}\n}\n\nexport default Textarea;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n/* eslint-disable import/no-mutable-exports */\n\nimport deprecatedProperty from '../../utilities/warning/deprecated-property';\nimport getComponentDocFn from '../../utilities/get-component-doc';\n\nlet checkProps = function checkPropsFunction() {};\n\nif (process.env.NODE_ENV !== 'production') {\n\tcheckProps = function checkPropsFunction(COMPONENT, props, jsonDoc) {\n\t\tconst createDocUrl = getComponentDocFn(jsonDoc);\n\t\tdeprecatedProperty(\n\t\t\tCOMPONENT,\n\t\t\tprops.isInline,\n\t\t\t'isInline',\n\t\t\t'menuPosition=\"relative\"',\n\t\t\tcreateDocUrl('menuPosition')\n\t\t);\n\t};\n}\n\nexport default checkProps;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// # Timepicker Dropdown Trigger\n\n// ## Dependencies\n\n// ### React\nimport React from 'react';\n\nimport PropTypes from 'prop-types';\n\n// ### Children\nimport Input from '../../input';\n\n// ### Event Helpers\nimport KEYS from '../../../utilities/key-code';\n\n// ## Constants\nimport { MENU_DROPDOWN_TRIGGER } from '../../../utilities/constants';\n\n/**\n * Component description.\n */\nclass TimepickerDropdownTrigger extends React.Component {\n\t// ### Display Name\n\t// Always use the canonical component name (set in the core) as the React\n\t// display name.\n\tstatic displayName = MENU_DROPDOWN_TRIGGER;\n\n\t// ### Prop Types\n\tstatic propTypes = {\n\t\t/**\n\t\t * Icon for right side of trigger\n\t\t */\n\t\ticonRight: PropTypes.node,\n\t\t/**\n\t\t * A unique ID is needed in order to support keyboard navigation, ARIA support, and connect the dropdown to the triggering input.\n\t\t */\n\t\tid: PropTypes.string,\n\t\t/**\n\t\t * This label appears above the input.\n\t\t */\n\t\tlabel: PropTypes.string,\n\t\t/**\n\t\t * The dropdown menu.\n\t\t */\n\t\tmenu: PropTypes.node,\n\t\t/**\n\t\t * Is only called when `openOn` is set to `hover` and when the triggering input loses focus.\n\t\t */\n\t\tonBlur: PropTypes.func,\n\t\t/**\n\t\t * This prop is passed onto the triggering `Input`. Triggered when the trigger input is clicked.\n\t\t */\n\t\tonClick: PropTypes.func,\n\t\t/**\n\t\t * Is only called when `openOn` is set to `hover` and when the triggering input gains focus.\n\t\t */\n\t\tonFocus: PropTypes.func,\n\t\t/**\n\t\t * Called when a key pressed.\n\t\t */\n\t\tonKeyDown: PropTypes.func,\n\t\t/**\n\t\t * Called when mouse clicks down on the trigger input.\n\t\t */\n\t\tonMouseDown: PropTypes.func,\n\t\t/**\n\t\t * The ref of the actual triggering input.\n\t\t */\n\t\ttriggerRef: PropTypes.func,\n\t\t/**\n\t\t * Date\n\t\t */\n\t\tvalue: PropTypes.string,\n\t};\n\n\thandleKeyDown = (event) => {\n\t\tif (this.props.onKeyDown && event.keyCode) {\n\t\t\tif (\n\t\t\t\tevent.keyCode === KEYS.ENTER ||\n\t\t\t\tevent.keyCode === KEYS.DOWN ||\n\t\t\t\tevent.keyCode === KEYS.UP ||\n\t\t\t\tevent.keyCode === KEYS.ESCAPE\n\t\t\t) {\n\t\t\t\tthis.props.onKeyDown(event);\n\t\t\t}\n\t\t}\n\t};\n\n\t// ### Render\n\trender() {\n\t\tconst {\n\t\t\ticonRight,\n\t\t\tmenu,\n\t\t\tonBlur,\n\t\t\tonFocus,\n\t\t\tonKeyDown, // eslint-disable-line no-unused-vars\n\t\t\tonMouseDown,\n\t\t\ttriggerRef,\n\t\t\t...props\n\t\t} = this.props;\n\n\t\treturn (\n\t\t\t/* eslint-disable jsx-a11y/no-static-element-interactions */\n\t\t\t<div\n\t\t\t\tonBlur={onBlur}\n\t\t\t\tonFocus={onFocus}\n\t\t\t\tonKeyDown={this.handleKeyDown}\n\t\t\t\tonMouseDown={onMouseDown}\n\t\t\t>\n\t\t\t\t{/* eslint-enable jsx-a11y/no-static-element-interactions */}\n\t\t\t\t<Input iconRight={iconRight} {...props} inputRef={triggerRef}>\n\t\t\t\t\t{menu}\n\t\t\t\t</Input>\n\t\t\t</div>\n\t\t);\n\t}\n}\n\nexport default TimepickerDropdownTrigger;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// # Timepicker Component\n\n// ## Dependencies\n\n// ### React\nimport React from 'react';\n\nimport PropTypes from 'prop-types';\n\n// ### isDate\nimport isDate from 'lodash.isdate';\n\n// This component's `checkProps` which issues warnings to developers about properties when in development mode (similar to React's built in development tools)\nimport checkProps from './check-props';\n\n// ### Dropdown\nimport InputIcon from '../icon/input-icon';\nimport MenuDropdown from '../menu-dropdown';\nimport TimepickerDropdownTrigger from './private/dropdown-trigger';\n\n// ## Constants\nimport { TIME_PICKER } from '../../utilities/constants';\n\nimport componentDoc from './component.json';\n\nconst getOptions = ({ props }) => {\n\tconst baseDate = new Date();\n\tconst options = [];\n\n\tbaseDate.setHours(0);\n\tbaseDate.setMinutes(0);\n\tbaseDate.setSeconds(0);\n\tbaseDate.setMilliseconds(0);\n\n\tconst curDate = new Date(baseDate);\n\n\t// eslint-disable-next-line fp/no-loops\n\twhile (baseDate.getDate() === curDate.getDate()) {\n\t\tconst formatted = props.formatter(curDate);\n\n\t\t// eslint-disable-next-line fp/no-mutating-methods\n\t\toptions.push({\n\t\t\tlabel: formatted,\n\t\t\tvalue: new Date(curDate),\n\t\t});\n\n\t\tcurDate.setMinutes(curDate.getMinutes() + props.stepInMinutes);\n\t}\n\n\treturn options;\n};\n\n/**\n * Component description.\n */\nclass Timepicker extends React.Component {\n\t// ### Display Name\n\t// Always use the canonical component name as the React display name.\n\tstatic displayName = TIME_PICKER;\n\n\t// ### Prop Types\n\tstatic propTypes = {\n\t\t/**\n\t\t * If true, constrains the menu to the scroll parent. See `Dropdown`.\n\t\t */\n\t\tconstrainToScrollParent: PropTypes.bool,\n\t\t/**\n\t\t * Disables the input and prevents editing the contents.\n\t\t */\n\t\tdisabled: PropTypes.bool,\n\t\t/**\n\t\t * Time formatting function\n\t\t */\n\t\tformatter: PropTypes.func,\n\t\t/**\n\t\t * Sets the dialog width to the width of the target. Menus attached to `input` typically follow this UX pattern.\n\t\t */\n\t\tinheritTargetWidth: PropTypes.bool,\n\t\t/**\n\t\t * This label appears above the input.\n\t\t */\n\t\tlabel: PropTypes.string,\n\t\t/**\n\t\t * Custom element that overrides the default Menu Item component.\n\t\t */\n\t\tlistItemRenderer: PropTypes.func,\n\t\t/**\n\t\t * Please select one of the following:\n\t\t * * `absolute` - (default) The dialog will use `position: absolute` and style attributes to position itself. This allows inverted placement or flipping of the dialog.\n\t\t * * `overflowBoundaryElement` - The dialog will overflow scrolling parents. Use on elements that are aligned to the left or right of their target and don't care about the target being within a scrolling parent. Typically this is a popover or tooltip. Dropdown menus can usually open up and down if no room exists. In order to achieve this a portal element will be created and attached to `body`. This element will render into that detached render tree.\n\t\t * * `relative` - No styling or portals will be used. Menus will be positioned relative to their triggers. This is a great choice for HTML snapshot testing.\n\t\t */\n\t\tmenuPosition: PropTypes.oneOf([\n\t\t\t'absolute',\n\t\t\t'overflowBoundaryElement',\n\t\t\t'relative',\n\t\t]),\n\t\t/**\n\t\t * Receives the props `(dateValue, stringValue)`\n\t\t */\n\t\tonDateChange: PropTypes.func,\n\t\t/**\n\t\t * Parsing date string into Date\n\t\t */\n\t\tparser: PropTypes.func,\n\t\t/**\n\t\t * Text that will appear in an empty input.\n\t\t */\n\t\tplaceholder: PropTypes.string,\n\t\t/**\n\t\t * If true, adds asterisk next to input label to indicate it is a required field.\n\t\t */\n\t\trequired: PropTypes.bool,\n\t\t/**\n\t\t * Frequency of options\n\t\t */\n\t\tstepInMinutes: PropTypes.number,\n\t\t/**\n\t\t * Value for input that is parsed to create an internal state in the `date` format.\n\t\t */\n\t\tstrValue: PropTypes.string,\n\t\t/**\n\t\t * Instance an internal state in the `date` format.\n\t\t */\n\t\tvalue: PropTypes.instanceOf(Date),\n\t};\n\n\tstatic defaultProps = {\n\t\tformatter(date) {\n\t\t\tif (date) {\n\t\t\t\treturn date.toLocaleTimeString(navigator.language, {\n\t\t\t\t\thour: '2-digit',\n\t\t\t\t\tminute: '2-digit',\n\t\t\t\t});\n\t\t\t}\n\n\t\t\treturn null;\n\t\t},\n\t\tparser(timeStr) {\n\t\t\tconst date = new Date();\n\t\t\tconst dateStr = date.toLocaleString(navigator.language, {\n\t\t\t\tyear: 'numeric',\n\t\t\t\tmonth: 'numeric',\n\t\t\t\tday: 'numeric',\n\t\t\t});\n\t\t\treturn new Date(`${dateStr} ${timeStr}`);\n\t\t},\n\t\tmenuPosition: 'absolute',\n\t\tvalue: null,\n\t\tstepInMinutes: 30,\n\t};\n\n\tstate = {\n\t\tvalue: this.props.value,\n\t\tstrValue: this.props.strValue,\n\t\toptions: getOptions({ props: this.props }),\n\t};\n\n\tconstructor(props) {\n\t\tsuper(props);\n\n\t\t// `checkProps` issues warnings to developers about properties (similar to React's built in development tools)\n\t\tcheckProps(TIME_PICKER, props, componentDoc);\n\t}\n\n\t// eslint-disable-next-line camelcase, react/sort-comp\n\tUNSAFE_componentWillReceiveProps(nextProps) {\n\t\tif (nextProps.value && this.props.value) {\n\t\t\tconst currentTime = this.props.value.getTime();\n\t\t\tconst nextTime = nextProps.value.getTime();\n\n\t\t\tif (currentTime !== nextTime) {\n\t\t\t\tthis.setState({\n\t\t\t\t\tvalue: nextProps.value,\n\t\t\t\t\tstrValue: this.props.formatter(nextProps.value),\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t\tif (nextProps.strValue !== this.props.value) {\n\t\t\tthis.setState({ strValue: nextProps.strValue });\n\t\t}\n\t}\n\n\tparseDate = (strValue) => {\n\t\tconst newDate = this.props.parser(strValue);\n\n\t\tif (isDate(newDate)) {\n\t\t\tif (!isNaN(newDate.getTime())) {\n\t\t\t\treturn newDate;\n\t\t\t}\n\t\t}\n\n\t\treturn new Date();\n\t};\n\n\thandleChange = (date, strValue) => {\n\t\tthis.setState({\n\t\t\tvalue: date,\n\t\t\tstrValue,\n\t\t});\n\n\t\tif (this.props.onDateChange) {\n\t\t\tthis.props.onDateChange(date, strValue);\n\t\t}\n\t};\n\n\thandleSelect = (val) => {\n\t\tif (val && val.value) {\n\t\t\tthis.handleChange(val.value, val.label);\n\t\t}\n\t};\n\n\thandleInputChange = (event) => {\n\t\tconst strValue = event.target.value;\n\n\t\tthis.setState({\n\t\t\tstrValue,\n\t\t});\n\n\t\tif (this.props.onDateChange) {\n\t\t\tconst parsedDate = this.props.parser(strValue);\n\t\t\tthis.props.onDateChange(parsedDate, strValue);\n\t\t}\n\t};\n\n\t// ### Render\n\trender() {\n\t\treturn (\n\t\t\t<MenuDropdown\n\t\t\t\tcheckmark={false}\n\t\t\t\tconstrainToScrollParent={this.props.constrainToScrollParent}\n\t\t\t\tdisabled={this.props.disabled}\n\t\t\t\tinheritTargetWidth={this.props.inheritTargetWidth}\n\t\t\t\tlabel={this.props.label}\n\t\t\t\tlistItemRenderer={this.props.listItemRenderer}\n\t\t\t\t// inline style override\n\t\t\t\tmenuStyle={{\n\t\t\t\t\tmaxHeight: '20em',\n\t\t\t\t\toverflowX: 'hidden',\n\t\t\t\t\tminWidth: '100%',\n\t\t\t\t}}\n\t\t\t\tmenuPosition={this.props.menuPosition}\n\t\t\t\tonSelect={this.handleSelect}\n\t\t\t\toptions={this.state.options}\n\t\t\t>\n\t\t\t\t<TimepickerDropdownTrigger\n\t\t\t\t\ticonRight={<InputIcon category=\"utility\" name=\"clock\" />}\n\t\t\t\t\tonChange={this.handleInputChange}\n\t\t\t\t\tplaceholder={this.props.placeholder}\n\t\t\t\t\trequired={this.props.required}\n\t\t\t\t\ttype=\"text\"\n\t\t\t\t\tvalue={this.state.strValue}\n\t\t\t\t/>\n\t\t\t</MenuDropdown>\n\t\t);\n\t}\n}\n\nexport default Timepicker;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n/* eslint-disable import/no-mutable-exports */\n\nimport sunsetProperty from '../../utilities/warning/sunset-property';\nimport getComponentDocFn from '../../utilities/get-component-doc';\n\nlet checkProps = function checkPropsFunction() {};\n\nif (process.env.NODE_ENV !== 'production') {\n\tcheckProps = function checkPropsFunction(COMPONENT, props, jsonDoc) {\n\t\tconst createDocUrl = getComponentDocFn(jsonDoc);\n\n\t\t/* eslint-disable max-len */\n\t\tsunsetProperty(\n\t\t\tCOMPONENT,\n\t\t\tprops.iconCategory,\n\t\t\t'iconCategory',\n\t\t\t`Use \\`Icon\\` instead. ${createDocUrl('icon')}`\n\t\t);\n\t\tsunsetProperty(\n\t\t\tCOMPONENT,\n\t\t\tprops.iconName,\n\t\t\t'iconName',\n\t\t\t`Use \\`Icon\\` instead. ${createDocUrl('icon')}`\n\t\t);\n\n\t\tsunsetProperty(\n\t\t\tCOMPONENT,\n\t\t\tprops.content,\n\t\t\t'content',\n\t\t\t`Use \\`labels.heading\\` and \\`labels.headingLink\\` instead. ${createDocUrl(\n\t\t\t\t'labels'\n\t\t\t)}`\n\t\t);\n\t\tsunsetProperty(\n\t\t\tCOMPONENT,\n\t\t\tprops.isOpen,\n\t\t\t'isOpen',\n\t\t\t`Use a conditional outside of alert. ${createDocUrl()}`\n\t\t);\n\t\tsunsetProperty(\n\t\t\tCOMPONENT,\n\t\t\tprops.isOpen,\n\t\t\t'onDismiss',\n\t\t\t`Use \\`onRequestClose\\` instead. ${createDocUrl('onRequestClose')}`\n\t\t);\n\t\tsunsetProperty(COMPONENT, props.texture, 'texture', createDocUrl());\n\t\tsunsetProperty(\n\t\t\tCOMPONENT,\n\t\t\tprops.theme,\n\t\t\t'theme',\n\t\t\t`Use \\`variant\\` instead. ${createDocUrl('variant')}`\n\t\t);\n\t};\n}\n\nexport default checkProps;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// # Toast Component\n\n// Implements the [Toast design pattern](https://lightningdesignsystem.com/components/toasts/) in React.\n\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\nimport assign from 'lodash.assign';\n\nimport classNames from '../../utilities/class-names';\nimport Button from '../button';\nimport Icon from '../icon';\nimport checkProps from './check-props';\nimport { TOAST } from '../../utilities/constants';\nimport DOMElementFocus from '../../utilities/dom-element-focus';\nimport componentDoc from './component.json';\n\nconst propTypes = {\n\t/**\n\t * **Assistive text for accessibility**\n\t * This object is merged with the default props object on every render.\n\t * * `closeButton`: This is a visually hidden label for the close button.\n\t * * `error`: This is a visually hidden label to mark the toast as an error variant\n\t * * `info`: This is a visually hidden label to mark the toast as an info variant\n\t * * `success`: This is a visually hidden label to mark the toast as an success variant\n\t * * `warning`: This is a visually hidden label to mark the toast as an warning variant\n\t * _Tested with snapshot testing._\n\t */\n\tassistiveText: PropTypes.shape({\n\t\tcloseButton: PropTypes.oneOfType([PropTypes.string, PropTypes.node]),\n\t}),\n\t/**\n\t * CSS classes to be added to tag with `.slds-notify_toast`. Uses `classNames` [API](https://github.com/JedWatson/classnames).\n\t * _Tested with snapshot testing._\n\t */\n\tclassName: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\t/**\n\t * If duration exists, the Toast will disappear after that amount of time. Time in milliseconds. _Tested with Mocha testing._\n\t */\n\tduration: PropTypes.number,\n\t/**\n\t * **Text labels for internationalization**\n\t * This object is merged with the default props object on every render.\n\t * * `details`: Secondary text below heading\n\t * * `heading`: text within heading tag\n\t * * `headingLink`: Text of link that triggers `onClickHeadingLink`. Inline links should pass a keyed array of React components into `labels.heading`.\n\t *\n\t * _Tested with snapshot testing._\n\t */\n\tlabels: PropTypes.shape({\n\t\tdetails: PropTypes.oneOfType([PropTypes.string, PropTypes.node]),\n\t\theading: PropTypes.oneOfType([PropTypes.string, PropTypes.node]),\n\t\theadingLink: PropTypes.oneOfType([PropTypes.string, PropTypes.node]),\n\t}),\n\t/**\n\t * Triggered by link. _Tested with Mocha testing._\n\t */\n\tonClickHeadingLink: PropTypes.func,\n\t/**\n\t * Icon of type `~/components/icon`. This icon will be cloned and additional props appended. The default icons are:\n\t * * info variant: `utility:info`\n\t * * error variant: `utility:error`\n\t * * success variant: `utility:success`\n\t * * warning variant: `utility:warning`\n\t *\n\t * _Tested with snapshot testing._\n\t */\n\ticon: PropTypes.node,\n\t/**\n\t * Triggered by close button. _Tested with Mocha testing._\n\t */\n\tonRequestClose: PropTypes.func,\n\t/**\n\t * Custom styles to be passed to the component. _Tested with Mocha testing._\n\t */\n\tstyle: PropTypes.object,\n\t/**\n\t * The type of Toast. _Tested with snapshot testing._\n\t */\n\tvariant: PropTypes.oneOf(['error', 'info', 'success', 'warning']).isRequired,\n};\n\nconst defaultProps = {\n\tassistiveText: {\n\t\tcloseButton: 'Close',\n\t\terror: 'error',\n\t\tinfo: 'info',\n\t\tsuccess: 'success',\n\t\twarning: 'warning',\n\t},\n\tvariant: 'info',\n};\n\n/**\n * Toast serves as a feedback & confirmation mechanism after the user takes an action. View [banner guidelines](https://www.lightningdesignsystem.com/guidelines/messaging/components/banners/).\n */\n\nclass Toast extends React.Component {\n\tconstructor(props) {\n\t\tsuper(props);\n\t\tthis.state = {\n\t\t\tisInitialRender: true,\n\t\t};\n\t\tthis.timeout = null;\n\t\tthis.toast = null;\n\n\t\t// `checkProps` issues warnings to developers about properties (similar to React's built in development tools)\n\t\tcheckProps(TOAST, props, componentDoc);\n\t}\n\n\tcomponentDidMount() {\n\t\tif (this.props.duration) {\n\t\t\tthis.timeout = setTimeout(() => {\n\t\t\t\tthis.onClose();\n\t\t\t}, this.props.duration);\n\t\t}\n\t}\n\n\tcomponentWillUnmount() {\n\t\tthis.clearTimeout();\n\t\tDOMElementFocus.returnFocusToStoredElement();\n\t}\n\n\tonClose = () => {\n\t\tthis.clearTimeout();\n\n\t\tif (this.props.onRequestClose) {\n\t\t\tthis.props.onRequestClose();\n\t\t}\n\t};\n\n\tclearTimeout = () => {\n\t\tif (this.timeout) {\n\t\t\tclearTimeout(this.timeout);\n\t\t\tthis.timeout = null;\n\t\t}\n\t};\n\n\tsaveToastRef = (toast) => {\n\t\tthis.toast = toast;\n\t\tif (this.state.isInitialRender) {\n\t\t\tDOMElementFocus.storeActiveElement();\n\t\t\tif (this.toast) {\n\t\t\t\tthis.toast.focus();\n\t\t\t}\n\t\t\tthis.setState({ isInitialRender: false });\n\t\t}\n\t};\n\n\trender() {\n\t\t// Merge objects of strings with their default object\n\t\tconst assistiveText = assign(\n\t\t\t{},\n\t\t\tdefaultProps.assistiveText,\n\t\t\tthis.props.assistiveText\n\t\t);\n\t\tconst labels = assign({}, defaultProps.labels, this.props.labels);\n\t\tconst heading = labels.heading || this.props.content; // eslint-disable-line react/prop-types\n\n\t\tconst assistiveTextVariant = {\n\t\t\tinfo: assistiveText.info,\n\t\t\tsuccess: assistiveText.success,\n\t\t\twarning: assistiveText.warning,\n\t\t\terror: assistiveText.error,\n\t\t};\n\n\t\tconst defaultIcons = {\n\t\t\tinfo: <Icon category=\"utility\" name=\"info\" />,\n\t\t\tsuccess: <Icon category=\"utility\" name=\"success\" />,\n\t\t\twarning: <Icon category=\"utility\" name=\"warning\" />,\n\t\t\terror: <Icon category=\"utility\" name=\"error\" />,\n\t\t};\n\n\t\tconst icon = this.props.icon\n\t\t\t? this.props.icon\n\t\t\t: defaultIcons[this.props.variant];\n\n\t\tconst clonedIcon = React.cloneElement(icon, {\n\t\t\tcontainerClassName: 'slds-m-right_small slds-no-flex slds-align-top',\n\t\t\tinverse: true,\n\t\t\tsize: 'small',\n\t\t});\n\n\t\t/* eslint-disable no-script-url */\n\t\treturn (\n\t\t\t<div\n\t\t\t\tclassName={classNames(\n\t\t\t\t\t'slds-notify slds-notify_toast',\n\t\t\t\t\t{\n\t\t\t\t\t\t'slds-theme_info': this.props.variant === 'info',\n\t\t\t\t\t\t'slds-theme_success': this.props.variant === 'success',\n\t\t\t\t\t\t'slds-theme_warning': this.props.variant === 'warning',\n\t\t\t\t\t\t'slds-theme_error': this.props.variant === 'error',\n\t\t\t\t\t},\n\t\t\t\t\tthis.props.className\n\t\t\t\t)}\n\t\t\t\tref={this.saveToastRef}\n\t\t\t\trole=\"status\"\n\t\t\t\tstyle={this.props.style}\n\t\t\t\ttabIndex={0} // eslint-disable-line jsx-a11y/no-noninteractive-tabindex\n\t\t\t>\n\t\t\t\t<span className=\"slds-assistive-text\">\n\t\t\t\t\t{assistiveTextVariant[this.props.variant]}\n\t\t\t\t</span>\n\t\t\t\t{clonedIcon}\n\t\t\t\t<div className=\"slds-notify__content\">\n\t\t\t\t\t<h2 className=\"slds-text-heading_small\">\n\t\t\t\t\t\t{heading}{' '}\n\t\t\t\t\t\t{labels.headingLink ? (\n\t\t\t\t\t\t\t<a\n\t\t\t\t\t\t\t\tonClick={this.props.onClickHeadingLink}\n\t\t\t\t\t\t\t\thref=\"javascript:void(0);\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{labels.headingLink}\n\t\t\t\t\t\t\t</a>\n\t\t\t\t\t\t) : null}\n\t\t\t\t\t</h2>\n\t\t\t\t\t{labels.details ? <p>{labels.details}</p> : null}\n\t\t\t\t</div>\n\t\t\t\t<Button\n\t\t\t\t\tassistiveText={{ icon: assistiveText.closeButton }}\n\t\t\t\t\tclassName=\"slds-notify__close\"\n\t\t\t\t\ticonCategory=\"utility\"\n\t\t\t\t\ticonName=\"close\"\n\t\t\t\t\ticonSize=\"large\"\n\t\t\t\t\tinverse\n\t\t\t\t\tonClick={this.props.onRequestClose}\n\t\t\t\t\ttitle={assistiveText.closeButton}\n\t\t\t\t\tvariant=\"icon\"\n\t\t\t\t/>\n\t\t\t</div>\n\t\t);\n\t}\n}\n\nToast.defaultProps = defaultProps;\nToast.displayName = TOAST;\nToast.propTypes = propTypes;\n\nexport default Toast;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// # Toast Container Component\n\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from '../../utilities/class-names';\nimport { TOAST_CONTAINER } from '../../utilities/constants';\n\nconst propTypes = {\n\t/**\n\t * CSS classes to be added to tag with `.slds-notify-container`. Uses `classNames` [API](https://github.com/JedWatson/classnames).\n\t */\n\tclassName: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\t/**\n\t * Toast components\n\t */\n\tchildren: PropTypes.node,\n};\n\n/**\n * A fixed container for toast banners.\n */\n\nclass ToastContainer extends React.Component {\n\trender() {\n\t\treturn (\n\t\t\t<div\n\t\t\t\tclassName={classNames('slds-notify-container', this.props.className)}\n\t\t\t>\n\t\t\t\t{this.props.children}\n\t\t\t</div>\n\t\t);\n\t}\n}\n\nToastContainer.displayName = TOAST_CONTAINER;\nToastContainer.propTypes = propTypes;\n\nexport default ToastContainer;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// # Tree Item Component\n\n// Implements the [Tree design pattern](https://www.lightningdesignsystem.com/components/tree/) in React.\n\n// ### React\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport findIndex from 'lodash.findindex';\nimport isFunction from 'lodash.isfunction';\n\nimport Button from '../../button';\nimport Highlighter from '../../utilities/highlighter';\n\nimport EventUtil from '../../../utilities/event';\nimport KEYS from '../../../utilities/key-code';\nimport mapKeyEventCallbacks from '../../../utilities/key-callbacks';\nimport { TREE_ITEM } from '../../../utilities/constants';\n\nconst handleSelect = ({ event, props, fromFocus }) => {\n\tEventUtil.trap(event);\n\tif (isFunction(props.onSelect)) {\n\t\tprops.onSelect({\n\t\t\tevent,\n\t\t\tdata: {\n\t\t\t\tnode: props.node,\n\t\t\t\tselect: !props.node.selected,\n\t\t\t\ttreeIndex: props.treeIndex,\n\t\t\t},\n\t\t\tfromFocus,\n\t\t});\n\t}\n};\n\nconst findNextNode = (flattenedNodes, node) => {\n\tconst nodes = flattenedNodes.map((flattenedNode) => flattenedNode.node);\n\tconst index = findIndex(nodes, { id: node.id });\n\treturn flattenedNodes[(index + 1) % flattenedNodes.length];\n};\n\nconst findPreviousNode = (flattenedNodes, node) => {\n\tconst nodes = flattenedNodes.map((flattenedNode) => flattenedNode.node);\n\tlet index = findIndex(nodes, { id: node.id }) - 1;\n\tif (index < 0) {\n\t\tindex += flattenedNodes.length;\n\t}\n\treturn flattenedNodes[index];\n};\n\nconst handleKeyDownDown = (event, props) => {\n\tif (props.focusedNodeIndex === props.treeIndex) {\n\t\t// Select the next visible node\n\t\tconst flattenedNode = findNextNode(props.flattenedNodes, props.node);\n\t\tprops.onSelect({\n\t\t\tevent,\n\t\t\tdata: {\n\t\t\t\tnode: flattenedNode.node,\n\t\t\t\tselect: true,\n\t\t\t\ttreeIndex: flattenedNode.treeIndex,\n\t\t\t},\n\t\t\tclearSelectedNodes: true,\n\t\t});\n\t}\n};\n\nconst handleKeyDownUp = (event, props) => {\n\tif (props.focusedNodeIndex === props.treeIndex) {\n\t\t// Go to the previous visible node\n\t\tconst flattenedNode = findPreviousNode(props.flattenedNodes, props.node);\n\t\tprops.onSelect({\n\t\t\tevent,\n\t\t\tdata: {\n\t\t\t\tnode: flattenedNode.node,\n\t\t\t\tselect: true,\n\t\t\t\ttreeIndex: flattenedNode.treeIndex,\n\t\t\t},\n\t\t\tclearSelectedNodes: true,\n\t\t});\n\t}\n};\n\nconst handleKeyDownLeft = (event, props) => {\n\tconst nodes = props.flattenedNodes.map((flattenedNode) => flattenedNode.node);\n\tconst index = findIndex(nodes, { id: props.parent.id });\n\tif (index !== -1) {\n\t\tprops.onExpand({\n\t\t\tevent,\n\t\t\tdata: {\n\t\t\t\tnode: props.parent,\n\t\t\t\tselect: true,\n\t\t\t\texpand: !props.parent.expanded,\n\t\t\t\ttreeIndex: props.flattenedNodes[index].treeIndex,\n\t\t\t},\n\t\t});\n\t}\n};\n\nconst handleKeyDownEnter = (event, props) => {\n\thandleSelect({ event, props });\n};\n\nconst handleKeyDown = (event, props) => {\n\tmapKeyEventCallbacks(event, {\n\t\tcallbacks: {\n\t\t\t[KEYS.DOWN]: { callback: (evt) => handleKeyDownDown(evt, props) },\n\t\t\t[KEYS.UP]: { callback: (evt) => handleKeyDownUp(evt, props) },\n\t\t\t[KEYS.LEFT]: { callback: (evt) => handleKeyDownLeft(evt, props) },\n\t\t\t[KEYS.ENTER]: { callback: (evt) => handleKeyDownEnter(evt, props) },\n\t\t},\n\t});\n};\n\nconst handleFocus = (event, props) => {\n\tif (\n\t\t!props.treeHasFocus &&\n\t\t!props.focusedNodeIndex &&\n\t\tevent.target === event.currentTarget\n\t) {\n\t\thandleSelect({ event, props });\n\t}\n};\n\nconst getTabIndex = (props) => {\n\tconst initialFocus =\n\t\tprops.selectedNodeIndexes.length === 0 &&\n\t\tprops.treeIndex === props.flattenedNodes[0].treeIndex;\n\treturn props.treeIndex === props.focusedNodeIndex || initialFocus ? 0 : -1;\n};\n\n/**\n * A Tree Item is a non-branching node in a hierarchical list.\n */\nconst Item = (props) => {\n\tconst isSelected = props.node.selected;\n\tconst isFocused = props.treeIndex === props.focusedNodeIndex;\n\n\treturn (\n\t\t<li\n\t\t\tid={`${props.treeId}-${props.node.id}`}\n\t\t\trole=\"treeitem\"\n\t\t\taria-level={props.level}\n\t\t\taria-selected={isSelected ? 'true' : 'false'}\n\t\t\ttabIndex={getTabIndex(props)}\n\t\t\tonKeyDown={(event) => handleKeyDown(event, props)}\n\t\t\tonFocus={(event) => handleFocus(event, props)}\n\t\t\tonBlur={props.onNodeBlur}\n\t\t\tref={(component) => {\n\t\t\t\tif (props.treeHasFocus && component && isFocused) {\n\t\t\t\t\tcomponent.focus();\n\t\t\t\t}\n\t\t\t}}\n\t\t>\n\t\t\t{/* eslint-disable jsx-a11y/no-static-element-interactions */}\n\t\t\t<div\n\t\t\t\tclassName={classNames('slds-tree__item', {\n\t\t\t\t\t'slds-is-selected': isSelected,\n\t\t\t\t})}\n\t\t\t\tonClick={(event) => {\n\t\t\t\t\thandleSelect({ event, props });\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\t{/* eslint-enable jsx-a11y/no-static-element-interactions */}\n\t\t\t\t<Button\n\t\t\t\t\ttabIndex=\"-1\"\n\t\t\t\t\taria-hidden\n\t\t\t\t\tassistiveText={{ icon: '' }}\n\t\t\t\t\trole=\"presentation\"\n\t\t\t\t\ticonCategory=\"utility\"\n\t\t\t\t\ticonName=\"chevronright\"\n\t\t\t\t\ticonSize=\"small\"\n\t\t\t\t\tvariant=\"icon\"\n\t\t\t\t\tclassName=\"slds-m-right_small slds-is-disabled\"\n\t\t\t\t\tdisabled\n\t\t\t\t/>\n\t\t\t\t{/* eslint-disable no-script-url */}\n\t\t\t\t<span className=\"slds-size_1-of-1\">\n\t\t\t\t\t{/* eslint-enable no-script-url */}\n\t\t\t\t\t<Highlighter\n\t\t\t\t\t\tsearch={props.searchTerm}\n\t\t\t\t\t\tclassName=\"slds-tree__item-label slds-truncate\"\n\t\t\t\t\t>\n\t\t\t\t\t\t{props.label}\n\t\t\t\t\t</Highlighter>\n\t\t\t\t</span>\n\t\t\t</div>\n\t\t</li>\n\t);\n};\n\n// ### Display Name\n// Always use the canonical component name as the React display name.\nItem.displayName = TREE_ITEM;\n\n// ### Prop Types\nItem.propTypes = {\n\t/**\n\t * HTML `id` of the wrapping container element joined with the `id` of the node. This will recursively increase as the tree depth increases.\n\t */\n\thtmlId: PropTypes.string.isRequired,\n\t/**\n\t * The text of the tree item.\n\t */\n\tlabel: PropTypes.oneOfType([PropTypes.node, PropTypes.string]).isRequired,\n\t/**\n\t * The number of nestings. Determines the ARIA level and style alignment.\n\t */\n\tlevel: PropTypes.number.isRequired,\n\t/**\n\t * The current node that is being rendered.\n\t */\n\tnode: PropTypes.object.isRequired,\n\t/**\n\t * This function triggers when the expand or collapse icon is clicked or due to keyboard navigation.\n\t */\n\tonExpand: PropTypes.func.isRequired,\n\t/**\n\t * Function that will run whenever an item or branch is selected (click or keyboard).\n\t */\n\tonSelect: PropTypes.func,\n\t/**\n\t * Highlights term if found in node label\n\t */\n\tsearchTerm: PropTypes.string,\n\t/**\n\t * Unique id used for a prefix of all tree nodes\n\t */\n\ttreeId: PropTypes.string,\n\t/**\n\t * Location of node (zero index). First node is `0`. It's first child is `0-0`. This can be used to modify your nodes without searching for the node. This index is only valid if the `nodes` prop is the same as at the time of the event.\n\t */\n\ttreeIndex: PropTypes.string,\n\t/**\n\t * Flattened tree structure.\n\t */\n\tflattenedNodes: PropTypes.arrayOf(PropTypes.object),\n\t/**\n\t * Tree indexes of nodes that are currently selected.\n\t */\n\tselectedNodeIndexes: PropTypes.arrayOf(PropTypes.string),\n\t/**\n\t * Tree index of the node that is currently focused.\n\t */\n\tfocusedNodeIndex: PropTypes.string,\n\t/**\n\t * Callback for when a node is blurred.\n\t */\n\tonNodeBlur: PropTypes.func,\n\t/**\n\t * Sets focus on render.\n\t */\n\ttreeHasFocus: PropTypes.bool,\n\t/**\n\t * This node's parent.\n\t */\n\tparent: PropTypes.object,\n};\n\nItem.defaultProps = {\n\tselected: false,\n\tselectedNodeIndexes: [],\n};\n\nexport default Item;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// # Tree Initial Branch\n\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport isFunction from 'lodash.isfunction';\nimport classNames from 'classnames';\n\nconst propTypes = {\n\t/**\n\t * HTML `id` of the wrapping container element.\n\t */\n\thtmlId: PropTypes.oneOfType([PropTypes.number, PropTypes.string]).isRequired,\n\t/*\n\t * Class names to be added to the top-level `ul` element.\n\t */\n\tinitalClassName: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\t/*\n\t * Styles to be added to the top-level `ul` element. Useful for `overflow:hidden`.\n\t */\n\tinitialStyle: PropTypes.object,\n};\n\nconst handleScroll = (event, props) => {\n\tconst percentage =\n\t\t(event.target.scrollTop /\n\t\t\t(event.target.scrollHeight - event.target.clientHeight)) *\n\t\t100;\n\n\tif (isFunction(props.onScroll)) {\n\t\tprops.onScroll(event, {\n\t\t\tpercentage,\n\t\t});\n\t}\n};\n\nconst renderInitialNode = (children, props) => (\n\t// id intentionally not rendered here, and is present on\n\t// container that includes the header\n\t<ul\n\t\taria-labelledby={`${props.htmlId}__heading`}\n\t\tclassName={classNames('slds-tree', props.initalClassName)}\n\t\tonScroll={(event) => {\n\t\t\thandleScroll(event, props);\n\t\t}}\n\t\trole=\"tree\"\n\t\tstyle={props.initialStyle}\n\t>\n\t\t{children}\n\t</ul>\n);\n\nrenderInitialNode.displayName = 'TreeInitialNode';\nrenderInitialNode.propTypes = propTypes;\n\nexport default renderInitialNode;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// # Tree Branch Component\n\n// Implements the [Tree design pattern](https://www.lightningdesignsystem.com/components/tree/) in React.\n\n// ## Dependencies\n\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport findIndex from 'lodash.findindex';\nimport isFunction from 'lodash.isfunction';\nimport classNames from 'classnames';\n\n// Child components\nimport Button from '../../button';\nimport Highlighter from '../../utilities/highlighter';\n\nimport EventUtil from '../../../utilities/event';\nimport KEYS from '../../../utilities/key-code';\nimport mapKeyEventCallbacks from '../../../utilities/key-callbacks';\n\nconst propTypes = {\n\t/**\n\t * HTML `id` of primary element that has `.slds-tree` on it. This component has a wrapping container element outside of `.slds-tree`.\n\t */\n\thtmlId: PropTypes.oneOfType([PropTypes.number, PropTypes.string]).isRequired,\n\t/**\n\t * The text of the tree item.\n\t */\n\tlabel: PropTypes.oneOfType([PropTypes.node, PropTypes.string]),\n\t/**\n\t * The number of nestings. Determines the ARIA level and style alignment.\n\t */\n\tlevel: PropTypes.number.isRequired,\n\t/**\n\t * The current node that is being rendered.\n\t */\n\tnode: PropTypes.object.isRequired,\n\t/**\n\t * This function triggers when the expand or collapse icon is clicked or due to keyboard navigation.\n\t */\n\tonExpand: PropTypes.func.isRequired,\n\t/**\n\t * Function that will run whenever an item or branch is clicked.\n\t */\n\tonSelect: PropTypes.func,\n\t/**\n\t * Highlights term if found in node label\n\t */\n\tsearchTerm: PropTypes.string,\n\t/**\n\t * Location of node (zero index). First node is `0`. It's first child is `0-0`. This can be used to modify your nodes without searching for the node. This index is only valid if the `nodes` prop is the same as at the time of the event.\n\t */\n\ttreeIndex: PropTypes.string,\n\t/**\n\t * Flattened tree structure.\n\t */\n\tflattenedNodes: PropTypes.arrayOf(PropTypes.object),\n\t/**\n\t * Tree indexes of nodes that are currently selected.\n\t */\n\tselectedNodeIndexes: PropTypes.arrayOf(PropTypes.string),\n\t/**\n\t * Tree index of the node that is currently focused.\n\t */\n\tfocusedNodeIndex: PropTypes.string,\n\t/**\n\t * Callback for when a node is blurred.\n\t */\n\tonNodeBlur: PropTypes.func,\n\t/**\n\t * Sets focus on render.\n\t */\n\ttreeHasFocus: PropTypes.bool,\n\t/**\n\t * This node's parent.\n\t */\n\tparent: PropTypes.object,\n};\n\nconst handleExpand = (event, props) => {\n\tEventUtil.trap(event);\n\tif (isFunction(props.onExpand)) {\n\t\tprops.onExpand({\n\t\t\tevent,\n\t\t\tdata: {\n\t\t\t\tnode: props.node,\n\t\t\t\texpand: !props.node.expanded,\n\t\t\t\ttreeIndex: props.treeIndex,\n\t\t\t},\n\t\t});\n\t}\n};\n\nconst handleSelect = ({ event, props, fromFocus }) => {\n\tEventUtil.trap(event);\n\tif (isFunction(props.onSelect)) {\n\t\tprops.onSelect({\n\t\t\tevent,\n\t\t\tdata: {\n\t\t\t\tnode: props.node,\n\t\t\t\tselect: !props.node.selected,\n\t\t\t\ttreeIndex: props.treeIndex,\n\t\t\t},\n\t\t\tfromFocus,\n\t\t});\n\t}\n};\n\nconst findNextNode = (flattenedNodes, node) => {\n\tconst nodes = flattenedNodes.map((flattenedNode) => flattenedNode.node);\n\tconst index = findIndex(nodes, { id: node.id });\n\treturn flattenedNodes[(index + 1) % flattenedNodes.length];\n};\n\nconst findPreviousNode = (flattenedNodes, node) => {\n\tconst nodes = flattenedNodes.map((flattenedNode) => flattenedNode.node);\n\tlet index = findIndex(nodes, { id: node.id }) - 1;\n\tif (index < 0) {\n\t\tindex += flattenedNodes.length;\n\t}\n\treturn flattenedNodes[index];\n};\n\nconst handleKeyDownDown = (event, props) => {\n\tif (props.focusedNodeIndex === props.treeIndex) {\n\t\t// Select the next visible node\n\t\tconst flattenedNode = findNextNode(props.flattenedNodes, props.node);\n\t\tprops.onSelect({\n\t\t\tevent,\n\t\t\tdata: {\n\t\t\t\tnode: flattenedNode.node,\n\t\t\t\tselect: true,\n\t\t\t\ttreeIndex: flattenedNode.treeIndex,\n\t\t\t},\n\t\t\tclearSelectedNodes: true,\n\t\t});\n\t}\n};\n\nconst handleKeyDownUp = (event, props) => {\n\tif (props.focusedNodeIndex === props.treeIndex) {\n\t\t// Go to the previous visible node\n\t\tconst flattenedNode = findPreviousNode(props.flattenedNodes, props.node);\n\t\tprops.onSelect({\n\t\t\tevent,\n\t\t\tdata: {\n\t\t\t\tnode: flattenedNode.node,\n\t\t\t\tselect: true,\n\t\t\t\ttreeIndex: flattenedNode.treeIndex,\n\t\t\t},\n\t\t\tclearSelectedNodes: true,\n\t\t});\n\t}\n};\n\nconst handleKeyDownRight = (event, props) => {\n\tif (props.node.expanded) {\n\t\tif (props.getNodes(props.node) && props.getNodes(props.node).length > 0) {\n\t\t\thandleKeyDownDown(event, props);\n\t\t}\n\t} else {\n\t\thandleExpand(event, props);\n\t}\n};\n\nconst handleKeyDownLeft = (event, props) => {\n\tif (props.node.expanded) {\n\t\thandleExpand(event, props);\n\t} else {\n\t\tconst nodes = props.flattenedNodes.map(\n\t\t\t(flattenedNode) => flattenedNode.node\n\t\t);\n\t\tconst index = findIndex(nodes, { id: props.parent.id });\n\t\tif (index !== -1) {\n\t\t\tprops.onExpand({\n\t\t\t\tevent,\n\t\t\t\tdata: {\n\t\t\t\t\tnode: props.parent,\n\t\t\t\t\tselect: true,\n\t\t\t\t\texpand: !props.parent.expanded,\n\t\t\t\t\ttreeIndex: props.flattenedNodes[index].treeIndex,\n\t\t\t\t},\n\t\t\t});\n\t\t}\n\t}\n};\n\nconst handleKeyDownEnter = (event, props) => {\n\thandleSelect({ event, props });\n};\n\nconst handleKeyDown = (event, props) => {\n\tmapKeyEventCallbacks(event, {\n\t\tcallbacks: {\n\t\t\t[KEYS.DOWN]: { callback: (evt) => handleKeyDownDown(evt, props) },\n\t\t\t[KEYS.UP]: { callback: (evt) => handleKeyDownUp(evt, props) },\n\t\t\t[KEYS.RIGHT]: { callback: (evt) => handleKeyDownRight(evt, props) },\n\t\t\t[KEYS.LEFT]: { callback: (evt) => handleKeyDownLeft(evt, props) },\n\t\t\t[KEYS.ENTER]: { callback: (evt) => handleKeyDownEnter(evt, props) },\n\t\t},\n\t});\n};\n\nconst handleFocus = (event, props) => {\n\tif (\n\t\t!props.treeHasFocus &&\n\t\t!props.focusedNodeIndex &&\n\t\tevent.target === event.currentTarget\n\t) {\n\t\t// did it happen by mouse?\n\t\thandleSelect({ event, props, fromFocus: true });\n\t}\n};\n\nconst getTabIndex = (props) => {\n\tconst initialFocus =\n\t\tprops.selectedNodeIndexes.length === 0 &&\n\t\tprops.treeIndex === props.flattenedNodes[0].treeIndex;\n\treturn props.treeIndex === props.focusedNodeIndex || initialFocus ? 0 : -1;\n};\n\n// Most of these props come from the nodes array, not from the Tree props\nconst RenderBranch = (children, props) => {\n\tconst isExpanded = props.node.expanded;\n\tconst isSelected = props.node.selected;\n\tconst isFocused = props.treeIndex === props.focusedNodeIndex;\n\tconst isLoading = props.node.loading;\n\n\tconst loader = (\n\t\t<div\n\t\t\tstyle={{\n\t\t\t\tdisplay: 'block',\n\t\t\t\tpaddingLeft: `${1.5 * props.level + 1.5}rem`,\n\t\t\t\tmarginTop: '.5rem',\n\t\t\t}}\n\t\t>\n\t\t\t<div\n\t\t\t\tstyle={{\n\t\t\t\t\tborderRadius: '15rem',\n\t\t\t\t\tdisplay: 'block',\n\t\t\t\t\tmarginBottom: '.75rem',\n\t\t\t\t\theight: '.5rem',\n\t\t\t\t\tbackgroundColor: 'rgb(224, 229, 238)',\n\t\t\t\t\twidth: '40%',\n\t\t\t\t}}\n\t\t\t/>\n\t\t\t<div\n\t\t\t\tstyle={{\n\t\t\t\t\tborderRadius: '15rem',\n\t\t\t\t\tdisplay: 'block',\n\t\t\t\t\tmarginBottom: '.75rem',\n\t\t\t\t\theight: '.5rem',\n\t\t\t\t\tbackgroundColor: 'rgb(224, 229, 238)',\n\t\t\t\t\twidth: '80%',\n\t\t\t\t}}\n\t\t\t/>\n\t\t\t<div\n\t\t\t\tstyle={{\n\t\t\t\t\tborderRadius: '15rem',\n\t\t\t\t\tdisplay: 'block',\n\t\t\t\t\tmarginBottom: '.75rem',\n\t\t\t\t\theight: '.5rem',\n\t\t\t\t\tbackgroundColor: 'rgb(224, 229, 238)',\n\t\t\t\t\twidth: '60%',\n\t\t\t\t}}\n\t\t\t/>\n\t\t</div>\n\t);\n\n\tconst label =\n\t\tprops.node.assistiveText ||\n\t\t(typeof props.node.label === 'string' ? props.node.label : null);\n\treturn (\n\t\t<li\n\t\t\tid={props.htmlId}\n\t\t\trole=\"treeitem\"\n\t\t\taria-level={props.level}\n\t\t\taria-expanded={isExpanded ? 'true' : 'false'}\n\t\t\taria-label={\n\t\t\t\tprops.node.nodes && props.node.nodes.length > 0 ? label : null\n\t\t\t}\n\t\t\ttabIndex={getTabIndex(props)}\n\t\t\tonKeyDown={(event) => handleKeyDown(event, props)}\n\t\t\tonFocus={(event) => handleFocus(event, props)}\n\t\t\tonBlur={props.onNodeBlur}\n\t\t\tref={(component) => {\n\t\t\t\tif (props.treeHasFocus && component && isFocused) {\n\t\t\t\t\tcomponent.focus();\n\t\t\t\t}\n\t\t\t}}\n\t\t>\n\t\t\t{/* eslint-disable jsx-a11y/no-static-element-interactions */}\n\t\t\t<div\n\t\t\t\tclassName={classNames('slds-tree__item', {\n\t\t\t\t\t'slds-is-selected': isSelected,\n\t\t\t\t})}\n\t\t\t\tonClick={(event) => {\n\t\t\t\t\thandleSelect({ event, props });\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\t{/* eslint-enable jsx-a11y/no-static-element-interactions */}\n\t\t\t\t<Button\n\t\t\t\t\taria-hidden\n\t\t\t\t\tassistiveText={{ icon: 'Expand Tree Branch' }}\n\t\t\t\t\ticonCategory=\"utility\"\n\t\t\t\t\ticonName=\"chevronright\"\n\t\t\t\t\ticonSize=\"small\"\n\t\t\t\t\tvariant=\"icon\"\n\t\t\t\t\tclassName=\"slds-m-right_small\"\n\t\t\t\t\trole=\"presentation\"\n\t\t\t\t\taria-controls={props.htmlId}\n\t\t\t\t\tonClick={(event) => {\n\t\t\t\t\t\thandleExpand(event, props);\n\t\t\t\t\t}}\n\t\t\t\t\ttabIndex=\"-1\"\n\t\t\t\t/>\n\t\t\t\t{/* eslint-disable no-script-url */}\n\t\t\t\t<span className=\"slds-size_1-of-1\" id={`${props.htmlId}__label`}>\n\t\t\t\t\t{/* eslint-enable no-script-url */}\n\t\t\t\t\t{\n\t\t\t\t\t\t<Highlighter\n\t\t\t\t\t\t\tsearch={props.searchTerm}\n\t\t\t\t\t\t\tclassName=\"slds-tree__item-label slds-truncate\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{props.label}\n\t\t\t\t\t\t</Highlighter>\n\t\t\t\t\t}\n\t\t\t\t</span>\n\t\t\t</div>\n\t\t\t{isLoading ? loader : null}\n\t\t\t<ul\n\t\t\t\tclassName={classNames({\n\t\t\t\t\t'slds-is-expanded': isExpanded,\n\t\t\t\t\t'slds-is-collapsed': !isExpanded,\n\t\t\t\t})}\n\t\t\t\trole=\"group\"\n\t\t\t\taria-labelledby={`${props.htmlId}__label`}\n\t\t\t>\n\t\t\t\t{isExpanded && !isLoading ? children : null}\n\t\t\t</ul>\n\t\t</li>\n\t);\n};\n\nRenderBranch.displayName = 'Branch';\nRenderBranch.propTypes = propTypes;\n\nexport default RenderBranch;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// # Tree Branch Component\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport shortid from 'shortid';\n\n// Child components\nimport Item from './item';\nimport RenderInitialBranch from './render-initial-branch';\nimport RenderBranch from './render-branch';\n\nimport { TREE_BRANCH } from '../../../utilities/constants';\n\n/**\n * A Tree Item is a non-branching node in a hierarchical list.\n */\nconst Branch = (props) => {\n\tlet treeIndex = '';\n\tlet children;\n\n\tconst { treeId, level, onExpand, searchTerm } = props;\n\n\tif (Array.isArray(props.getNodes(props.node))) {\n\t\tchildren = props.getNodes(props.node).map((node, index) => {\n\t\t\tlet child;\n\t\t\tconst htmlId = `${props.treeId}-${node.id}`;\n\t\t\ttreeIndex = `${index}`;\n\t\t\tif (props.treeIndex) {\n\t\t\t\ttreeIndex = `${props.treeIndex}-${treeIndex}`;\n\t\t\t}\n\t\t\tif (node.type === 'branch') {\n\t\t\t\tchild = (\n\t\t\t\t\t<Branch\n\t\t\t\t\t\tgetNodes={props.getNodes}\n\t\t\t\t\t\thtmlId={htmlId}\n\t\t\t\t\t\tkey={node.id}\n\t\t\t\t\t\tlabel={node.label}\n\t\t\t\t\t\tlevel={level + 1}\n\t\t\t\t\t\tnode={node}\n\t\t\t\t\t\tflattenedNodes={props.flattenedNodes}\n\t\t\t\t\t\tselectedNodeIndexes={props.selectedNodeIndexes}\n\t\t\t\t\t\tfocusedNodeIndex={props.focusedNodeIndex}\n\t\t\t\t\t\ttreeHasFocus={props.treeHasFocus}\n\t\t\t\t\t\tonNodeBlur={props.onNodeBlur}\n\t\t\t\t\t\tnodes={node.nodes}\n\t\t\t\t\t\tonSelect={props.onSelect}\n\t\t\t\t\t\tonExpand={onExpand}\n\t\t\t\t\t\tsearchTerm={searchTerm}\n\t\t\t\t\t\ttreeId={treeId}\n\t\t\t\t\t\ttreeIndex={treeIndex}\n\t\t\t\t\t\tparent={props.node}\n\t\t\t\t\t/>\n\t\t\t\t);\n\t\t\t} else {\n\t\t\t\tchild = (\n\t\t\t\t\t<Item\n\t\t\t\t\t\tlabel={node.label}\n\t\t\t\t\t\thtmlId={htmlId}\n\t\t\t\t\t\tkey={shortid.generate()}\n\t\t\t\t\t\tlevel={level + 1}\n\t\t\t\t\t\tnode={node}\n\t\t\t\t\t\tflattenedNodes={props.flattenedNodes}\n\t\t\t\t\t\tselectedNodeIndexes={props.selectedNodeIndexes}\n\t\t\t\t\t\tfocusedNodeIndex={props.focusedNodeIndex}\n\t\t\t\t\t\ttreeHasFocus={props.treeHasFocus}\n\t\t\t\t\t\tonNodeBlur={props.onNodeBlur}\n\t\t\t\t\t\tonSelect={props.onSelect}\n\t\t\t\t\t\tonExpand={onExpand}\n\t\t\t\t\t\tsearchTerm={searchTerm}\n\t\t\t\t\t\ttreeIndex={treeIndex}\n\t\t\t\t\t\ttreeId={treeId}\n\t\t\t\t\t\tparent={props.node}\n\t\t\t\t\t/>\n\t\t\t\t);\n\t\t\t}\n\t\t\treturn child;\n\t\t});\n\t}\n\n\tconst branch =\n\t\tprops.level === 0\n\t\t\t? RenderInitialBranch(children, props)\n\t\t\t: RenderBranch(children, props);\n\treturn branch;\n};\n\n// ### Display Name\n// Always use the canonical component name as the React display name.\nBranch.displayName = TREE_BRANCH;\n\n// ### Prop Types\nBranch.propTypes = {\n\t/**\n\t * A function that will be called by every branch to receive its child nodes. The parent `node` object with the branch data is passed into this function: `getNodes(node)`. If your state engine is Flux or Redux, then your tree data structure will probably be flattened or normalized within the store. This will allow you to build out your tree without transversing an actual tree of data and may be more performant.\n\t */\n\tgetNodes: PropTypes.func,\n\t/**\n\t * HTML `id` of the wrapping container element joined with the `id` of the node. This will recursively increase as the tree depth increases.\n\t */\n\thtmlId: PropTypes.oneOfType([PropTypes.number, PropTypes.string]).isRequired,\n\t/**\n\t * All tree nodes must have a unique HTML `id` for users of assistive technology. If no `id` key is present in the is provided, one will be generated.\n\t */\n\tindex: PropTypes.number,\n\t/**\n\t * Determines if nodes in the top-level of the tree.\n\t */\n\tinitial: PropTypes.bool,\n\t/*\n\t * Class names to be added to the top-level `ul` element.\n\t */\n\tinitalClassName: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\tinitialStyle: PropTypes.object,\n\t/**\n\t * The text of the tree item.\n\t */\n\tlabel: PropTypes.oneOfType([PropTypes.node, PropTypes.string]),\n\t/**\n\t * The number of nestings. Determines the ARIA level and style alignment.\n\t */\n\tlevel: PropTypes.number.isRequired,\n\t/**\n\t * The current node that is being rendered.\n\t */\n\tnode: PropTypes.object.isRequired,\n\t/**\n\t * Function that will run whenever an item or branch is selected (click or keyboard).\n\t */\n\tonSelect: PropTypes.func,\n\t/**\n\t * This function triggers when the expand or collapse icon is clicked.\n\t */\n\tonExpand: PropTypes.func.isRequired,\n\t/**\n\t * Highlights term if found in node label\n\t */\n\tsearchTerm: PropTypes.string,\n\t/**\n\t * Unique id used for a prefix of all tree nodes. This is the prefix for subsequent `htmlId` props.\n\t */\n\ttreeId: PropTypes.string,\n\t/**\n\t * Location of node (zero index). First node is `0`. It's first child is `0-0`. This can be used to modify your nodes without searching for the node. This index is only valid if the `nodes` prop is the same as at the time of the event.\n\t */\n\ttreeIndex: PropTypes.string,\n\t/**\n\t * Flattened tree structure.\n\t */\n\tflattenedNodes: PropTypes.arrayOf(PropTypes.object),\n\t/**\n\t * Tree indexes of nodes that are currently selected.\n\t */\n\tselectedNodeIndexes: PropTypes.arrayOf(PropTypes.string),\n\t/**\n\t * Tree index of the node that is currently focused.\n\t */\n\tfocusedNodeIndex: PropTypes.string,\n\t/**\n\t * Callback for when a node is blurred.\n\t */\n\tonNodeBlur: PropTypes.func,\n\t/**\n\t * Sets focus on render.\n\t */\n\ttreeHasFocus: PropTypes.bool,\n\t/**\n\t * This node's parent.\n\t */\n\tparent: PropTypes.object,\n};\n\nBranch.defaultProps = {\n\tlevel: 0,\n\tlabel: '',\n\ttreeIndex: '',\n\tselectedNodeIndexes: [],\n};\n\nexport default Branch;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n/* eslint-disable import/no-mutable-exports */\n\nimport oneOfRequiredProperty from '../../utilities/warning/one-of-required-property';\nimport sunsetProperty from '../../utilities/warning/sunset-property';\nimport getComponentDocFn from '../../utilities/get-component-doc';\n\nlet checkProps = function checkPropsFunction() {};\n\nif (process.env.NODE_ENV !== 'production') {\n\tcheckProps = function checkPropsFunction(COMPONENT, props, jsonDoc) {\n\t\tconst createDocUrl = getComponentDocFn(jsonDoc);\n\n\t\t/* eslint-disable max-len */\n\t\toneOfRequiredProperty(\n\t\t\tCOMPONENT,\n\t\t\t{\n\t\t\t\tassistiveText: props.assistiveText,\n\t\t\t\theading: props.heading,\n\t\t\t},\n\t\t\tcreateDocUrl()\n\t\t);\n\t\t/* eslint-enable max-len */\n\n\t\tif (typeof props.assistiveText === 'string') {\n\t\t\tsunsetProperty(\n\t\t\t\tCOMPONENT,\n\t\t\t\tprops.assistiveText,\n\t\t\t\t'assistiveText',\n\t\t\t\t`\\`assistiveText\\` as a string has been deprecated and is now an object to allow for multiple uses in the component. Please use \\`assistiveText.label\\` instead. ${createDocUrl(\n\t\t\t\t\t'assistiveText'\n\t\t\t\t)}`\n\t\t\t);\n\t\t}\n\t};\n}\n\nexport default checkProps;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\nimport classNames from 'classnames';\n\nimport find from 'lodash.find';\n\n// Child components\nimport Branch from './private/branch';\n\n// Similar to React's PropTypes check. When in development mode, it issues errors in the console about properties.\nimport checkProps from './check-props';\nimport componentDoc from './component.json';\n\n// ## Constants\nimport { TREE } from '../../utilities/constants';\n\n// ### Prop Types\nconst propTypes = {\n\t/**\n\t * **Assistive text for accessibility.**\n\t * This object is merged with the default props object on every render.\n\t * * `label`: For users of assistive technology, if set the heading will be hidden. One of `heading` or `assistiveText.label` must be set in order to label the tree.\n\t */\n\tassistiveText: PropTypes.shape({\n\t\tlabel: PropTypes.string,\n\t}),\n\t/**\n\t * Class names to be added to the container element which has the heading and the `ul.slds-tree` element as children.\n\t */\n\tclassName: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\t/**\n\t * Class names to be added to the top-level `ul` element of the tree.\n\t */\n\tlistClassName: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\t/**\n\t * A function that will be called by every branch to receive its child nodes. The parent `node` object with the branch data is passed into this function: `getNodes(node)`. If your state engine is Flux or Redux, then your tree data structure will probably be flattened or normalized within the store. This will allow you to build out your tree without transversing an actual tree of data and may be more performant.\n\t */\n\tgetNodes: PropTypes.func,\n\t/**\n\t * This is the tree's heading and describes its contents. It can be hidden, see `assistiveText`.\n\t * */\n\theading: PropTypes.oneOfType([PropTypes.node, PropTypes.string]),\n\t/**\n\t * HTML `id` of primary element that has `.slds-tree` on it. This component has a wrapping container element outside of `.slds-tree`.\n\t */\n\tid: PropTypes.string.isRequired,\n\t/**\n\t * Array of items starting at the top of the tree. The shape each node in the array is:\n\t * ```\n\t * {\n\t * expanded: boolean,\n\t * id: string,\n\t * label: string or node,\n\t * selected: boolean,\n\t * type: string,\n\t * nodes: array\n\t * }\n\t * ```\n\t * `assistiveText: string` is optional and helpful if the label is not a string. Only `id` and `label` are required. Use `type: 'branch'` for folder and categories.\n\t */\n\tnodes: PropTypes.arrayOf(\n\t\tPropTypes.oneOfType([\n\t\t\tPropTypes.number,\n\t\t\tPropTypes.string,\n\t\t\tPropTypes.shape({\n\t\t\t\tid: PropTypes.oneOfType([PropTypes.number, PropTypes.string])\n\t\t\t\t\t.isRequired,\n\t\t\t\tlabel: PropTypes.oneOfType([PropTypes.node, PropTypes.string])\n\t\t\t\t\t.isRequired,\n\t\t\t\ttype: PropTypes.string.isRequired,\n\t\t\t}),\n\t\t])\n\t).isRequired,\n\t/**\n\t * Function that will run whenever an item or branch is selected due to click or keyboard navigation.\n\t */\n\tonClick: PropTypes.func.isRequired,\n\t/**\n\t * This function triggers when the expand or collapse icon is clicked or due to keyboard navigation.\n\t */\n\tonExpandClick: PropTypes.func.isRequired,\n\t/**\n\t * This function triggers when the top-level `ul` element scrolls. This can be used to implement an \"infinite scroll\" pattern and update the `nodes` prop accordingly.\n\t */\n\tonScroll: PropTypes.func,\n\t/**\n\t * Highlights term if found in node label. This does not auto-expand branches.\n\t */\n\tsearchTerm: PropTypes.string,\n\t/**\n\t * Styles to be added to the top-level `ul` element. Useful for `overflow:hidden`.\n\t */\n\tlistStyle: PropTypes.object,\n};\n\nconst defaultProps = {\n\tassistiveText: {},\n\tgetNodes: (node) => node.nodes,\n};\n\n/* Flattens hierarchical tree structure into a flat array. The\n * first item in the array is the whole tree and therefore should be\n * removed with `slice(1)`.` This means that root cannot call `getNodes()`\n * and should directly reference the `nodes` key. All level after that\n * should use `getNodes()` to access the correct nodes.\n */\nconst flattenTree = (root, getNodes, treeIndex = '', firstLevel = true) => {\n\tif (!root.nodes) {\n\t\treturn [{ node: root, treeIndex }];\n\t}\n\tlet nodes = [{ node: root, treeIndex }];\n\tif (root.expanded) {\n\t\t// eslint-disable-next-line fp/no-loops\n\t\tfor (let index = 0; index < root.nodes.length; index += 1) {\n\t\t\tconst curNode = firstLevel ? root.nodes[index] : getNodes(root)[index];\n\t\t\tnodes = nodes.concat(\n\t\t\t\tflattenTree(\n\t\t\t\t\tcurNode,\n\t\t\t\t\tgetNodes,\n\t\t\t\t\ttreeIndex ? `${treeIndex}-${index}` : `${index}`,\n\t\t\t\t\tfalse\n\t\t\t\t)\n\t\t\t);\n\t\t}\n\t}\n\treturn nodes;\n};\n\n/**\n * A tree is visualization of a structure hierarchy. A branch can be expanded or collapsed. This is a controlled component, since visual state is present in the `nodes` data.\n */\nclass Tree extends React.Component {\n\tconstructor(props) {\n\t\tsuper(props);\n\n\t\t// Find the first selected node and initialize it properly so that can be tabbed to. If no node is selected, it will be selected upon first focus.\n\t\tconst flattenedNodes = flattenTree(\n\t\t\t{\n\t\t\t\tnodes: this.props.getNodes({ nodes: this.props.nodes }),\n\t\t\t\texpanded: true,\n\t\t\t},\n\t\t\tthis.props.getNodes\n\t\t).slice(1);\n\n\t\tconst selectedNode = find(\n\t\t\tflattenedNodes,\n\t\t\t(curNode) => curNode.node.selected\n\t\t);\n\t\tconst selectedNodeIndexes = [];\n\t\tlet focusedNodeIndex;\n\n\t\tif (selectedNode) {\n\t\t\t// eslint-disable-next-line fp/no-mutating-methods\n\t\t\tselectedNodeIndexes.push(selectedNode.treeIndex);\n\t\t\tfocusedNodeIndex = selectedNode.treeIndex;\n\t\t}\n\n\t\tthis.state = {\n\t\t\tflattenedNodes,\n\t\t\tselectedNodeIndexes,\n\t\t\tfocusedNodeIndex,\n\t\t};\n\n\t\tcheckProps(TREE, props, componentDoc);\n\t}\n\n\tstatic getDerivedStateFromProps(nextProps) {\n\t\treturn {\n\t\t\tflattenedNodes: flattenTree(\n\t\t\t\t{\n\t\t\t\t\tnodes: nextProps.getNodes({ nodes: nextProps.nodes }),\n\t\t\t\t\texpanded: true,\n\t\t\t\t},\n\t\t\t\tnextProps.getNodes\n\t\t\t).slice(1),\n\t\t};\n\t}\n\n\thandleSelect = ({ event, data, clearSelectedNodes, fromFocus }) => {\n\t\t// When triggered by a key event, other nodes should be deselected.\n\t\tif (clearSelectedNodes) {\n\t\t\t// TODO: This bad design. This is state modfication. State should be changed via setState only.\n\t\t\tthis.state.flattenedNodes.forEach((flattenedNode) => {\n\t\t\t\tif (flattenedNode.node.selected) {\n\t\t\t\t\t// eslint-disable-next-line no-param-reassign\n\t\t\t\t\tflattenedNode.node.selected = false;\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\n\t\t// Prevent firing twice on first click, due to the handleSelect\n\t\t// triggered by a focus event\n\t\tif (!fromFocus) {\n\t\t\tthis.props.onClick(event, data);\n\t\t}\n\n\t\t// Keep track of the currently selected and focused nodes.\n\t\tlet selectedNodeIndexes;\n\t\tif (data.select) {\n\t\t\tselectedNodeIndexes = this.state.selectedNodeIndexes.concat([\n\t\t\t\tdata.treeIndex,\n\t\t\t]);\n\t\t} else {\n\t\t\tselectedNodeIndexes = this.state.selectedNodeIndexes.filter(\n\t\t\t\t(treeIndex) => treeIndex !== data.treeIndex\n\t\t\t);\n\t\t}\n\t\tthis.treeHasFocus = true;\n\t\tthis.setState({\n\t\t\tfocusedNodeIndex: data.treeIndex,\n\t\t\tselectedNodeIndexes,\n\t\t});\n\t};\n\n\thandleNodeBlur = () => {\n\t\t// There is no need to render when blurring a node because focus is either:\n\t\t// - outside of the tree, or\n\t\t// - focused on another node in the tree, which triggers its own render\n\t\tthis.treeHasFocus = false;\n\t};\n\n\thandleExpand = ({ event, data }) => {\n\t\tthis.treeHasFocus = true;\n\t\tthis.props.onExpandClick(event, data);\n\n\t\tif (data.select) {\n\t\t\tthis.setState({\n\t\t\t\tfocusedNodeIndex: data.treeIndex,\n\t\t\t});\n\t\t}\n\t};\n\n\trender() {\n\t\t// One of these is required to pass accessibility tests\n\t\tconst assistiveText =\n\t\t\ttypeof this.props.assistiveText === 'string'\n\t\t\t\t? this.props.assistiveText\n\t\t\t\t: {\n\t\t\t\t\t\t...defaultProps.assistiveText,\n\t\t\t\t\t\t...this.props.assistiveText,\n\t\t\t\t }.label;\n\t\tconst headingText = assistiveText || this.props.heading;\n\n\t\t// Start the zero level branch--that is the tree root. There is no label for\n\t\t// the tree root, but is required by all other nodes\n\t\treturn (\n\t\t\t<div\n\t\t\t\tid={this.props.id}\n\t\t\t\tclassName={classNames(\n\t\t\t\t\t'slds-tree_container',\n\t\t\t\t\tthis.props.className\n\t\t\t\t)} /* role=\"application\" */\n\t\t\t>\n\t\t\t\t<h4\n\t\t\t\t\tclassName={classNames('slds-tree__group-header', {\n\t\t\t\t\t\t'slds-assistive-text': assistiveText,\n\t\t\t\t\t})}\n\t\t\t\t\tid={`${this.props.id}__heading`}\n\t\t\t\t>\n\t\t\t\t\t{headingText}\n\t\t\t\t</h4>\n\t\t\t\t<Branch\n\t\t\t\t\tgetNodes={this.props.getNodes}\n\t\t\t\t\tinitalClassName={this.props.listClassName}\n\t\t\t\t\thtmlId={this.props.id}\n\t\t\t\t\tinitialStyle={this.props.listStyle}\n\t\t\t\t\tlevel={0}\n\t\t\t\t\tnode={{ nodes: this.props.nodes }}\n\t\t\t\t\tflattenedNodes={this.state.flattenedNodes}\n\t\t\t\t\tselectedNodeIndexes={this.state.selectedNodeIndexes}\n\t\t\t\t\tfocusedNodeIndex={this.state.focusedNodeIndex}\n\t\t\t\t\ttreeHasFocus={this.treeHasFocus}\n\t\t\t\t\tonNodeBlur={this.handleNodeBlur}\n\t\t\t\t\tonSelect={this.handleSelect}\n\t\t\t\t\tonExpand={this.handleExpand}\n\t\t\t\t\tonScroll={this.props.onScroll}\n\t\t\t\t\tsearchTerm={this.props.searchTerm}\n\t\t\t\t\ttreeId={this.props.id}\n\t\t\t\t/>\n\t\t\t</div>\n\t\t);\n\t}\n}\n\nTree.displayName = TREE;\nTree.propTypes = propTypes;\nTree.defaultProps = defaultProps;\n\nexport default Tree;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// Implements the [Trial Bar design pattern](https://lightningdesignsystem.com/components/trial-bar/) in React.\n// Based on SLDS v2.4.5\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\n\nimport assign from 'lodash.assign';\n\nimport { TRIAL_BAR } from '../../utilities/constants';\n\nconst propTypes = {\n\t/**\n\t * Provide children of the types `<TrialBarButton />` or `<TrialBarDropdown />` to define the structure of the trial bar.\n\t * ```\n\t * <TrialBar>\n\t * <TrialBarButton />\n\t * <TrialBarDropdown />\n\t * </TrialBar>\n\t * ```\n\t */\n\tchildren: PropTypes.node,\n\n\t/**\n\t * CSS classes to be added to the component. Uses `classNames` [API](https://github.com/JedWatson/classnames).\n\t */\n\tclassName: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\t/**\n\t * **Text labels for internationalization**\n\t * This object is merged with the default props object on every render.\n\t * * `learnMoreAfter`: Amount of time left in trial, e.g. `30`\n\t * * `learnMoreBefore`: Unit of the amount of time left, e.g. `days`\n\t * * `timeLeftUnitAfter`: String after `timeLeftUnit`\n\t */\n\tlabels: PropTypes.shape({\n\t\ttimeLeft: PropTypes.string,\n\t\ttimeLeftUnit: PropTypes.string,\n\t\ttimeLeftUnitAfter: PropTypes.string,\n\t}),\n\t/**\n\t * Renders the actions section of the trial bar.\n\t */\n\tonRenderActions: PropTypes.func,\n\t/**\n\t * Customs styles to be applied to the component.\n\t */\n\tstyle: PropTypes.object,\n};\n\nconst defaultProps = {\n\tlabels: {\n\t\ttimeLeftUnitAfter: 'left in trial',\n\t},\n};\n\n/**\n * Trial bar components are used to provide an interactive and educational prospect experience for setup.\n */\nconst TrialBar = (props) => {\n\tconst labels = assign({}, defaultProps.labels, props.labels);\n\treturn (\n\t\t<div\n\t\t\tclassName={classNames('slds-trial-header slds-grid', props.className)}\n\t\t\tstyle={props.style}\n\t\t>\n\t\t\t<div className=\"slds-grid\">{props.children}</div>\n\t\t\t<div className=\"slds-grid slds-grid_vertical-align-center slds-col_bump-left\">\n\t\t\t\t<span className=\"slds-box slds-box_xx-small slds-theme_default\">\n\t\t\t\t\t{labels.timeLeft}\n\t\t\t\t</span>\n\t\t\t\t<span className=\"slds-m-horizontal_x-small\">\n\t\t\t\t\t{labels.timeLeftUnit}\n\t\t\t\t\t{` ${labels.timeLeftUnitAfter}`}\n\t\t\t\t</span>\n\t\t\t\t{props.onRenderActions()}\n\t\t\t</div>\n\t\t</div>\n\t);\n};\n\nTrialBar.displayName = TRIAL_BAR;\nTrialBar.propTypes = propTypes;\nTrialBar.defaultProps = defaultProps;\n\nexport default TrialBar;\n","import React from 'react';\nimport Button from '../button';\nimport { TRIAL_BAR_BUTTON } from '../../utilities/constants';\n\n// This component accepts the same props as Button.\n// eslint-disable-next-line react/forbid-foreign-prop-types\nconst { propTypes } = Button;\n\n/**\n * A [Button](/components/buttons/) within the Trial Bar.\n */\nconst TrialBarButton = (props) => (\n\t<Button\n\t\t{...props}\n\t\tinverse\n\t\tstyle={{ border: 0, padding: 0 }}\n\t\tclassName=\"slds-m-right_small\"\n\t/>\n);\n\nTrialBarButton.propTypes = propTypes;\nTrialBarButton.displayName = TRIAL_BAR_BUTTON;\n\nexport default TrialBarButton;\n","import React from 'react';\n\nimport Dropdown from '../menu-dropdown';\nimport DropdownTrigger from '../menu-dropdown/button-trigger';\nimport MenuDropdown from '../menu-dropdown/menu-dropdown';\nimport Button from '../button';\n\nimport { TRIAL_BAR_DROPDOWN } from '../../utilities/constants';\n\n// This component accepts the same props as MenuDropdown.\n// eslint-disable-next-line react/forbid-foreign-prop-types\nconst { propTypes } = MenuDropdown;\n\n/**\n * A [Dropdown](/components/menu-dropdowns/) within the Trial Bar.\n */\nconst TrialBarDropdown = (props) => {\n\tconst { label, ...rest } = props;\n\treturn (\n\t\t<Dropdown {...rest} inverse>\n\t\t\t<DropdownTrigger triggerClassName=\"slds-grid\">\n\t\t\t\t<Button\n\t\t\t\t\tinverse\n\t\t\t\t\tstyle={{ border: 0, height: '100%', padding: 0 }}\n\t\t\t\t\ticonCategory=\"utility\"\n\t\t\t\t\ticonName=\"right\"\n\t\t\t\t\ticonPosition=\"left\"\n\t\t\t\t\tlabel={label}\n\t\t\t\t/>\n\t\t\t</DropdownTrigger>\n\t\t</Dropdown>\n\t);\n};\n\nTrialBarDropdown.propTypes = propTypes;\nTrialBarDropdown.displayName = TRIAL_BAR_DROPDOWN;\nexport default TrialBarDropdown;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// Implements the [Visual Picker design pattern](https://lightningdesignsystem.com/components/visual-picker/) in React.\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\n\n// ### shortid\n// [npmjs.com/package/shortid](https://www.npmjs.com/package/shortid)\n// shortid is a short, non-sequential, url-friendly, unique id generator\nimport shortid from 'shortid';\nimport { VISUAL_PICKER } from '../../utilities/constants';\n\nconst propTypes = {\n\t/**\n\t * HTML id for component.\n\t */\n\tid: PropTypes.string,\n\t/**\n\t * Visual Picker accepts `Checkbox`, `Radio` and `VisualPickerLink` components as children. Please see `Checkbox`, `Radio` and `VisualPickerLink` for props.\n\t */\n\tchildren: PropTypes.node,\n\t/**\n\t * CSS classes to be added to tag with `.slds-form-element`. Uses `classNames` [API](https://github.com/JedWatson/classnames).\n\t */\n\tclassName: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\t/**\n\t * Label for the visual picker\n\t */\n\tlabel: PropTypes.string,\n\t/**\n\t * Whether the visual picker is coverable on selection\n\t */\n\tcoverable: PropTypes.bool,\n\t/**\n\t * Whether the visual picker has a vertical layout\n\t */\n\tvertical: PropTypes.bool,\n\t/**\n\t * Whether the visual picker has links as children\n\t */\n\tlinks: PropTypes.bool,\n\t/**\n\t * Size for visual picker\n\t */\n\tsize: PropTypes.oneOf(['medium', 'large']),\n};\n\nconst defaultProps = {\n\tsize: 'medium',\n\tvertical: false,\n\tlinks: false,\n};\n\n/**\n * Visual Picker Component\n */\nclass VisualPicker extends React.Component {\n\t// eslint-disable-next-line camelcase\n\tUNSAFE_componentWillMount() {\n\t\tthis.generatedId = shortid.generate();\n\t}\n\n\trender() {\n\t\tconst options = React.Children.map(this.props.children, (option, index) =>\n\t\t\tReact.cloneElement(option, {\n\t\t\t\tindex: `${this.props.id || this.generatedId}-${index}`,\n\t\t\t\tcoverable: this.props.coverable,\n\t\t\t\tvariant: 'visual-picker',\n\t\t\t\tname: `${this.props.id || this.generatedId}_options`,\n\t\t\t\tsize: this.props.size,\n\t\t\t\tvertical: !!this.props.vertical,\n\t\t\t})\n\t\t);\n\n\t\treturn this.props.links ? (\n\t\t\t<div className=\"slds-form-element__control\">{this.props.children}</div>\n\t\t) : (\n\t\t\t<fieldset\n\t\t\t\tid={this.props.id}\n\t\t\t\tclassName={classNames(`slds-form-element`, this.props.className)}\n\t\t\t>\n\t\t\t\t<legend className=\"slds-form-element__legend slds-form-element__label\">\n\t\t\t\t\t{this.props.label}\n\t\t\t\t</legend>\n\t\t\t\t<div className=\"slds-form-element__control\">{options}</div>\n\t\t\t</fieldset>\n\t\t);\n\t}\n}\n\nVisualPicker.displayName = VISUAL_PICKER;\nVisualPicker.propTypes = propTypes;\nVisualPicker.defaultProps = defaultProps;\n\nexport default VisualPicker;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// Implements the [Visual Picker Link design pattern](https://lightningdesignsystem.com/components/visual-picker/) in React.\n// Based on SLDS v2.4.5\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\n\nimport { VISUAL_PICKER_LINK } from '../../utilities/constants';\n\nconst propTypes = {\n\t/**\n\t * HTML id for component.\n\t */\n\tid: PropTypes.string,\n\t/**\n\t * CSS classes to be added to tag with `.slds-form-element`. Uses `classNames` [API](https://github.com/JedWatson/classnames).\n\t */\n\tclassName: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\t/**\n\t * URL for the Link\n\t */\n\thref: PropTypes.string,\n\t/**\n\t * Icon node for the Link\n\t */\n\ticon: PropTypes.node,\n\t/**\n\t * Title for the Link\n\t */\n\ttitle: PropTypes.string,\n\t/**\n\t * Description for the Link\n\t */\n\tdescription: PropTypes.string,\n};\n\n/**\n * Visual Picker Link Component\n */\nclass VisualPickerLink extends React.Component {\n\trender() {\n\t\treturn (\n\t\t\t<a\n\t\t\t\thref={this.props.href}\n\t\t\t\tid={this.props.id}\n\t\t\t\tclassName={classNames(\n\t\t\t\t\t'slds-box',\n\t\t\t\t\t'slds-box_link',\n\t\t\t\t\t'slds-theme_default',\n\t\t\t\t\t'slds-box_x-small',\n\t\t\t\t\t'slds-media',\n\t\t\t\t\t'slds-visual-picker_vertical',\n\t\t\t\t\tthis.props.className\n\t\t\t\t)}\n\t\t\t>\n\t\t\t\t<div className=\"slds-media__figure slds-media__figure_fixed-width slds-align_absolute-center slds-m-left_xx-small\">\n\t\t\t\t\t{this.props.icon}\n\t\t\t\t</div>\n\t\t\t\t<div className=\"slds-media__body slds-border_left slds-p-around_small\">\n\t\t\t\t\t<h2\n\t\t\t\t\t\tclassName=\"slds-truncate slds-text-heading_small\"\n\t\t\t\t\t\ttitle={this.props.title}\n\t\t\t\t\t>\n\t\t\t\t\t\t{this.props.title}\n\t\t\t\t\t</h2>\n\t\t\t\t\t<p className=\"slds-m-top_small\">{this.props.description}</p>\n\t\t\t\t</div>\n\t\t\t</a>\n\t\t);\n\t}\n}\nVisualPickerLink.displayName = VISUAL_PICKER_LINK;\nVisualPickerLink.propTypes = propTypes;\n\nexport default VisualPickerLink;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// Implements the [Welcome Mat design pattern](https://lightningdesignsystem.com/components/welcome-mat/) in React.\n// Based on SLDS v2.4.0\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\n// ### shortid\n// [npmjs.com/package/shortid](https://www.npmjs.com/package/shortid)\n// shortid is a short, non-sequential, url-friendly, unique id generator\nimport shortid from 'shortid';\n\nimport assign from 'lodash.assign';\n\nimport Modal from '../modal';\nimport ProgressBar from '../progress-bar';\n\nimport { WELCOME_MAT } from '../../utilities/constants';\n\nconst displayName = WELCOME_MAT;\n\nconst propTypes = {\n\t/**\n\t * CSS class names to be added to the container element. `array`, `object`, or `string` are accepted.\n\t */\n\tclassName: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\t/**\n\t * HTML id for component.\n\t */\n\tid: PropTypes.string,\n\t/**\n\t * Whether the modal is open\n\t */\n\tisOpen: PropTypes.bool,\n\t/**\n\t * **Weclome Mat labels for internationalization**\n\t * This object is merged with the default props object on every render.\n\t * * `title`: Title for the Welcome Mat\n\t * * `description`: Label for the radio input\n\t * * `unitsCompletedAfter`: Label for the radio input\n\t */\n\tlabels: PropTypes.shape({\n\t\ttitle: PropTypes.string,\n\t\tdescription: PropTypes.string,\n\t\tunitsCompletedAfter: PropTypes.string,\n\t}),\n\t/**\n\t *\tVariant of the WelcomeMat\n\t */\n\tvariant: PropTypes.oneOf([\n\t\t'steps',\n\t\t'info-only',\n\t\t'splash',\n\t\t'trailhead-connected',\n\t]),\n\t/**\n\t * Link to learn more button\n\t */\n\tonRenderInfoActions: PropTypes.func,\n\t/**\n\t * Callback to fire when modal is dismissed\n\t */\n\tonRequestClose: PropTypes.func,\n\t/**\n\t * Accepts a single WelcomeMatInfoBadge component, to be used with the trailhead variant\n\t */\n\tinfoBadge: PropTypes.node,\n\t/**\n\t * Do not show again checkbox for info-only variant\n\t */\n\tdoNotShowAgainCheckbox: PropTypes.node,\n};\n\nconst defaultProps = {\n\tlabels: {\n\t\tunitsCompletedAfter: 'units completed',\n\t},\n\tvariant: 'steps',\n\tisOpen: true,\n};\n\n/**\n * A Welcome Mat provides a series of unordered items a user can click to learn about a thematic topic.\n */\nclass WelcomeMat extends React.Component {\n\tconstructor(props) {\n\t\tsuper(props);\n\t\tthis.state = {\n\t\t\tcompletedSteps: 0,\n\t\t\ttotalSteps: 0,\n\t\t\tprogress: 0,\n\t\t};\n\t}\n\n\t// eslint-disable-next-line camelcase, react/sort-comp\n\tUNSAFE_componentWillMount() {\n\t\tthis.generatedId = shortid.generate();\n\t\tthis.getCount();\n\t}\n\n\t/**\n\t * Get the WelcomeMat's HTML id. Generate a new one if no ID present.\n\t */\n\tgetId() {\n\t\treturn this.props.id || this.generatedId;\n\t}\n\n\tgetCount() {\n\t\tconst totalSteps = React.Children.count(this.props.children);\n\t\tconst completedSteps = React.Children.toArray(this.props.children).filter(\n\t\t\t(c) => c.props.isComplete\n\t\t).length;\n\t\tconst progress = (completedSteps / totalSteps) * 100;\n\t\tthis.setState({\n\t\t\ttotalSteps,\n\t\t\tcompletedSteps,\n\t\t\tprogress,\n\t\t});\n\t}\n\n\trender() {\n\t\tconst labels = assign({}, defaultProps.labels, this.props.labels);\n\t\tconst splash = (\n\t\t\t<div\n\t\t\t\tclassName={classNames(\n\t\t\t\t\t'slds-welcome-mat__info-content',\n\t\t\t\t\tthis.props.className\n\t\t\t\t)}\n\t\t\t\tid={`${this.getId()}-content`}\n\t\t\t>\n\t\t\t\t<h2\n\t\t\t\t\tclassName=\"slds-welcome-mat__info-title\"\n\t\t\t\t\tid={`${this.getId()}-label`}\n\t\t\t\t>\n\t\t\t\t\t{labels.title}\n\t\t\t\t</h2>\n\t\t\t\t<div className=\"slds-welcome-mat__info-description slds-text-longform\">\n\t\t\t\t\t<p>{labels.description}</p>\n\t\t\t\t</div>\n\t\t\t\t{this.props.variant === 'info-only' ||\n\t\t\t\tthis.props.variant === 'splash' ? (\n\t\t\t\t\t<div className=\"slds-welcome-mat__info-actions\">\n\t\t\t\t\t\t{this.props.onRenderInfoActions()\n\t\t\t\t\t\t\t? this.props.onRenderInfoActions()\n\t\t\t\t\t\t\t: null}\n\t\t\t\t\t\t<div className=\"slds-m-top_large\">\n\t\t\t\t\t\t\t{this.props.doNotShowAgainCheckbox\n\t\t\t\t\t\t\t\t? this.props.doNotShowAgainCheckbox\n\t\t\t\t\t\t\t\t: null}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t) : null}\n\t\t\t\t{(this.props.variant === 'steps' ||\n\t\t\t\t\tthis.props.variant === 'trailhead-connected') &&\n\t\t\t\tthis.props.children ? (\n\t\t\t\t\t<React.Fragment>\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tclassName={classNames(\n\t\t\t\t\t\t\t\t'slds-welcome-mat__info-progress',\n\t\t\t\t\t\t\t\tthis.state.completedSteps === this.state.totalSteps\n\t\t\t\t\t\t\t\t\t? 'slds-welcome-mat__info-progress_complete'\n\t\t\t\t\t\t\t\t\t: null\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{this.props.variant === 'trailhead-connected'\n\t\t\t\t\t\t\t\t? React.Children.map(this.props.infoBadge, (child) =>\n\t\t\t\t\t\t\t\t\t\tReact.cloneElement(child, {\n\t\t\t\t\t\t\t\t\t\t\tisComplete:\n\t\t\t\t\t\t\t\t\t\t\t\tthis.state.completedSteps === this.state.totalSteps\n\t\t\t\t\t\t\t\t\t\t\t\t\t? true\n\t\t\t\t\t\t\t\t\t\t\t\t\t: null,\n\t\t\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t\t )\n\t\t\t\t\t\t\t\t: null}\n\t\t\t\t\t\t\t{this.state.completedSteps !== this.state.totalSteps ||\n\t\t\t\t\t\t\tthis.props.variant !== 'trailhead-connected' ? (\n\t\t\t\t\t\t\t\t<React.Fragment>\n\t\t\t\t\t\t\t\t\t{this.props.variant === 'trailhead-connected' ? (\n\t\t\t\t\t\t\t\t\t\t<p>\n\t\t\t\t\t\t\t\t\t\t\t{this.state.completedSteps}\n\t\t\t\t\t\t\t\t\t\t\t{`/`}\n\t\t\t\t\t\t\t\t\t\t\t{this.state.totalSteps}\n\t\t\t\t\t\t\t\t\t\t\t{` ${labels.unitsCompletedAfter}`}\n\t\t\t\t\t\t\t\t\t\t</p>\n\t\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t\t<p>\n\t\t\t\t\t\t\t\t\t\t\t<strong>\n\t\t\t\t\t\t\t\t\t\t\t\t{this.state.completedSteps}\n\t\t\t\t\t\t\t\t\t\t\t\t{`/`}\n\t\t\t\t\t\t\t\t\t\t\t\t{this.state.totalSteps}\n\t\t\t\t\t\t\t\t\t\t\t\t{` ${labels.unitsCompletedAfter}`}\n\t\t\t\t\t\t\t\t\t\t\t</strong>\n\t\t\t\t\t\t\t\t\t\t</p>\n\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t<ProgressBar value={this.state.progress} radius=\"circular\" />\n\t\t\t\t\t\t\t\t</React.Fragment>\n\t\t\t\t\t\t\t) : null}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</React.Fragment>\n\t\t\t\t) : null}\n\t\t\t</div>\n\t\t);\n\n\t\treturn (\n\t\t\t<Modal\n\t\t\t\tassistiveText={{\n\t\t\t\t\tdialogLabelledBy: `${this.getId()}-label`,\n\t\t\t\t}}\n\t\t\t\tisOpen={this.props.isOpen}\n\t\t\t\tonRequestClose={this.props.onRequestClose}\n\t\t\t\tsize=\"small\"\n\t\t\t\tid={`${this.getId()}-modal`}\n\t\t\t>\n\t\t\t\t<div\n\t\t\t\t\tclassName={classNames(\n\t\t\t\t\t\t'slds-welcome-mat',\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t'slds-welcome-mat_info-only': this.props.variant === 'info-only',\n\t\t\t\t\t\t},\n\t\t\t\t\t\tthis.props.children ? null : 'slds-welcome-mat_splash'\n\t\t\t\t\t)}\n\t\t\t\t\tid={this.getId()}\n\t\t\t\t>\n\t\t\t\t\t<div className=\"slds-welcome-mat__content slds-grid\">\n\t\t\t\t\t\t{this.props.children ? (\n\t\t\t\t\t\t\t<React.Fragment>\n\t\t\t\t\t\t\t\t<div className=\"slds-welcome-mat__info slds-size_1-of-2\">\n\t\t\t\t\t\t\t\t\t{splash}\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\tclassName={classNames(\n\t\t\t\t\t\t\t\t\t\t'slds-welcome-mat__tiles',\n\t\t\t\t\t\t\t\t\t\t'slds-size_1-of-2',\n\t\t\t\t\t\t\t\t\t\tthis.props.variant === 'info-only'\n\t\t\t\t\t\t\t\t\t\t\t? 'slds-welcome-mat__tiles_info-only'\n\t\t\t\t\t\t\t\t\t\t\t: null\n\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{React.Children.map(this.props.children, (child) =>\n\t\t\t\t\t\t\t\t\t\tReact.cloneElement(child, {\n\t\t\t\t\t\t\t\t\t\t\tvariant: this.props.variant,\n\t\t\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</React.Fragment>\n\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t<div className=\"slds-welcome-mat__info slds-size_1-of-1\">\n\t\t\t\t\t\t\t\t{splash}\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t)}\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</Modal>\n\t\t);\n\t}\n}\n\nWelcomeMat.displayName = displayName;\nWelcomeMat.propTypes = propTypes;\nWelcomeMat.defaultProps = defaultProps;\n\nexport default WelcomeMat;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// Implements the [Welcome Mat InfoBadge design pattern](https://lightningdesignsystem.com/components/welcome-mat/) in React.\n// Based on SLDS v2.4.0\nimport React from 'react';\nimport PropTypes from 'prop-types';\n// ### shortid\n// [npmjs.com/package/shortid](https://www.npmjs.com/package/shortid)\n// shortid is a short, non-sequential, url-friendly, unique id generator\nimport shortid from 'shortid';\n\nimport Icon from '../icon';\n\nimport { WELCOME_MAT_BADGE } from '../../utilities/constants';\n\nconst displayName = WELCOME_MAT_BADGE;\n\nconst propTypes = {\n\t/**\n\t * **Assistive text for accessibility.**\n\t * * `completed` : For users of assistive technology, assistive text for completed icon.\n\t */\n\tassistiveText: PropTypes.shape({\n\t\tcompleted: PropTypes.string,\n\t}),\n\t/**\n\t * CSS class names to be added to the container element. `array`, `object`, or `string` are accepted.\n\t */\n\tclassName: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\t/**\n\t * HTML id for component.\n\t */\n\tid: PropTypes.string,\n\t/**\n\t * Icon for the tile\n\t */\n\timage: PropTypes.string,\n\t/**\n\t * Whether the trail is completed\n\t */\n\tisComplete: PropTypes.bool,\n\t/**\n\t * Actions to be rendered on completion of the trail\n\t */\n\tonCompleteRenderActions: PropTypes.func,\n};\n\nconst defaultProps = {\n\tisComplete: false,\n\tvariant: 'steps',\n};\n\n/**\n * InfoBadge component item represents a tile in a Welcome Mat\n */\nclass InfoBadge extends React.Component {\n\t// eslint-disable-next-line camelcase, react/sort-comp\n\tUNSAFE_componentWillMount() {\n\t\tthis.generatedId = shortid.generate();\n\t}\n\n\t/**\n\t * Get the Welcome Mat Info Badge's HTML id. Generate a new one if no ID present.\n\t */\n\tgetId() {\n\t\treturn this.props.id || this.generatedId;\n\t}\n\n\tgetCompletedText() {\n\t\treturn this.props.assistiveText && this.props.assistiveText.completed\n\t\t\t? this.props.assistiveText.completed\n\t\t\t: 'Completed';\n\t}\n\n\trender() {\n\t\treturn (\n\t\t\t<div id={this.getId()} className={this.props.className}>\n\t\t\t\t<div className=\"slds-welcome-mat__info-badge-container\">\n\t\t\t\t\t<img\n\t\t\t\t\t\tclassName=\"slds-welcome-mat__info-badge\"\n\t\t\t\t\t\tsrc={this.props.image}\n\t\t\t\t\t\twidth=\"50\"\n\t\t\t\t\t\theight=\"50\"\n\t\t\t\t\t\talt=\"\"\n\t\t\t\t\t/>\n\t\t\t\t\t<Icon\n\t\t\t\t\t\tcategory=\"action\"\n\t\t\t\t\t\tname=\"check\"\n\t\t\t\t\t\tassistiveText={{ label: this.getCompletedText() }}\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t\t{this.props.children}\n\t\t\t\t{this.props.isComplete ? this.props.onCompleteRenderActions() : null}\n\t\t\t</div>\n\t\t);\n\t}\n}\n\nInfoBadge.displayName = displayName;\nInfoBadge.propTypes = propTypes;\nInfoBadge.defaultProps = defaultProps;\n\nexport default InfoBadge;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// Implements the [Welcome Mat Tile design pattern](https://lightningdesignsystem.com/components/welcome-mat/) in React.\n// Based on SLDS v2.4.0\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\n// ### shortid\n// [npmjs.com/package/shortid](https://www.npmjs.com/package/shortid)\n// shortid is a short, non-sequential, url-friendly, unique id generator\nimport shortid from 'shortid';\n\nimport Icon from '../icon';\n\nimport { WELCOME_MAT_TILE } from '../../utilities/constants';\n\nconst displayName = WELCOME_MAT_TILE;\n\nconst propTypes = {\n\t/**\n\t * **Assistive text for accessibility.**\n\t * This object is merged with the default props object on every render.\n\t * * `completeIcon`: Text that is visually hidden but read aloud by screenreaders to tell the user what the complete icon means.\n\t */\n\tassistiveText: PropTypes.shape({\n\t\tcompletedIcon: PropTypes.string,\n\t}),\n\t/**\n\t * CSS class names to be added to the container element. `array`, `object`, or `string` are accepted.\n\t */\n\tclassName: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\t/**\n\t * HTML id for component.\n\t */\n\tid: PropTypes.string,\n\t/**\n\t * Title for the tile component.\n\t */\n\ttitle: PropTypes.string,\n\t/**\n\t * Description for the tile component.\n\t */\n\tdescription: PropTypes.string,\n\t/**\n\t * Href for the tile link\n\t */\n\thref: PropTypes.string,\n\t/**\n\t * Icon for the tile\n\t */\n\ticon: PropTypes.node,\n\t/**\n\t * Whether the tile is completed\n\t */\n\tisComplete: PropTypes.bool,\n\t/**\n\t * Variant of the Welcome Mat Tile\n\t */\n\tvariant: PropTypes.oneOf([\n\t\t'steps',\n\t\t'info-only',\n\t\t'splash',\n\t\t'trailhead-connected',\n\t]),\n};\n\nconst defaultProps = {\n\tassistiveText: {\n\t\tcompletedIcon: 'Completed',\n\t},\n\tisComplete: false,\n\tvariant: 'steps',\n};\n\n/**\n * Tile component item represents a tile in a Welcome Mat\n */\nclass Tile extends React.Component {\n\t// eslint-disable-next-line camelcase, react/sort-comp\n\tUNSAFE_componentWillMount() {\n\t\tthis.generatedId = shortid.generate();\n\t}\n\n\t/**\n\t * Get the Welcome Mat Tile's HTML id. Generate a new one if no ID present.\n\t */\n\tgetId() {\n\t\treturn this.props.id || this.generatedId;\n\t}\n\n\trender() {\n\t\tconst assistiveText = {\n\t\t\t...defaultProps.assistiveText,\n\t\t\t...this.props.assistiveText,\n\t\t};\n\t\tconst body = (\n\t\t\t<React.Fragment>\n\t\t\t\t<div\n\t\t\t\t\tclassName={classNames(\n\t\t\t\t\t\t'slds-media__figure',\n\t\t\t\t\t\t'slds-media__figure_fixed-width',\n\t\t\t\t\t\t'slds-align_absolute-center'\n\t\t\t\t\t)}\n\t\t\t\t>\n\t\t\t\t\t<div className=\"slds-welcome-mat__tile-figure\">\n\t\t\t\t\t\t<div className=\"slds-welcome-mat__tile-icon-container\">\n\t\t\t\t\t\t\t{this.props.icon}\n\t\t\t\t\t\t\t{this.props.isComplete && this.props.variant !== 'info-only' ? (\n\t\t\t\t\t\t\t\t<Icon\n\t\t\t\t\t\t\t\t\tassistiveText={{\n\t\t\t\t\t\t\t\t\t\tlabel: assistiveText.completedIcon,\n\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\tcategory=\"action\"\n\t\t\t\t\t\t\t\t\tname=\"check\"\n\t\t\t\t\t\t\t\t\ttitle={assistiveText.completedIcon}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t) : null}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t\t<div className=\"slds-media__body\">\n\t\t\t\t\t<div className=\"slds-welcome-mat__tile-body\">\n\t\t\t\t\t\t<h3 className=\"slds-welcome-mat__tile-title\">{this.props.title}</h3>\n\t\t\t\t\t\t<p className=\"slds-welcome-mat__tile-description\">\n\t\t\t\t\t\t\t{this.props.description}\n\t\t\t\t\t\t</p>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</React.Fragment>\n\t\t);\n\n\t\treturn (\n\t\t\t<div\n\t\t\t\tid={this.getId()}\n\t\t\t\tclassName={classNames(\n\t\t\t\t\t'slds-welcome-mat__tile',\n\t\t\t\t\tthis.props.variant === 'info-only'\n\t\t\t\t\t\t? 'slds-welcome-mat__tile_info-only'\n\t\t\t\t\t\t: null,\n\t\t\t\t\tthis.props.isComplete && this.props.variant !== 'info-only'\n\t\t\t\t\t\t? 'slds-welcome-mat__tile_complete'\n\t\t\t\t\t\t: null,\n\t\t\t\t\tthis.props.className\n\t\t\t\t)}\n\t\t\t>\n\t\t\t\t{this.props.variant === 'info-only' ? (\n\t\t\t\t\t<div className=\"slds-media\">{body}</div>\n\t\t\t\t) : (\n\t\t\t\t\t<a\n\t\t\t\t\t\thref={this.props.href}\n\t\t\t\t\t\tclassName=\"slds-box slds-box_link slds-media\"\n\t\t\t\t\t>\n\t\t\t\t\t\t{body}\n\t\t\t\t\t</a>\n\t\t\t\t)}\n\t\t\t</div>\n\t\t);\n\t}\n}\n\nTile.displayName = displayName;\nTile.propTypes = propTypes;\nTile.defaultProps = defaultProps;\n\nexport default Tile;\n","/* eslint-disable fp/no-mutating-methods */\n/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n/**\n * This is a UX pattern recommendation for auto-complete search results that can contain multiple subheadings within the results. It inserts a subheading object based on `option.type === subheading.id` directly before a found option object and only inserts the subheading at the first occurence of that type of option.\n */\n\nconst addSubheadings = ({ subheadings, filteredOptions }) => {\n\t// Let's not mutate things we don't own.\n\tconst subheadingsCopy = [...subheadings];\n\tconst sortedOptions = { noSubHeaderType: [] };\n\n\t// populate an object with subheader ID as the keys\n\tsubheadingsCopy.forEach((subH) => {\n\t\tif (subH.id) {\n\t\t\tsortedOptions[subH.id] = [subH];\n\t\t}\n\t});\n\n\t// sort options into arrays using option type\n\t// if option type and subheader ID are equal, add to array, if no option type, add to noSubHeaderType array\n\tfilteredOptions.forEach((option) => {\n\t\tif (sortedOptions[option.type]) {\n\t\t\tsortedOptions[option.type].push(option);\n\t\t} else {\n\t\t\tsortedOptions.noSubHeaderType.push(option);\n\t\t}\n\t});\n\n\t// get object values by dropping keys\n\t// flatten and remove child arrays, so that we have one array\n\t// `...` operates on each array item, not the array\n\treturn [].concat(...Object.values(sortedOptions));\n};\n\nexport default addSubheadings;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n/* eslint-disable no-console */\n\n/**\n * This is a wrapper utility for logging messages to the\n\tuser. This is helpful in using the same examples\n\tfor the documentation site as for the Storybook examples.\n * @param {Function} options.action function that outputs\n * messages to Storybook\n * @param {Event} options.event the browser event\n * @param {String} options.eventName the name of the event\n * @param {Object} options.data callback payload and data object\n * @param {Function} options.customLog Custom logging function. This\n * is helpful for Node debugging and removing console log from tests.\n */\nconst log = ({ action, event, eventName, data, customLog }) => {\n\tif (customLog && event) {\n\t\tcustomLog({ eventName, event, data });\n\t} else if (action && event) {\n\t\t// https://github.com/storybooks/storybook/tree/master/addons/actions\n\t\taction(eventName)(event, data);\n\t} else if (console && console.log) {\n\t\tconsole.log(eventName, event, data);\n\t}\n};\n\nexport default log;\n"],"sourceRoot":""} \ No newline at end of file diff --git a/design-system-react.js b/design-system-react.js new file mode 100644 index 0000000000..5aeb805ff1 --- /dev/null +++ b/design-system-react.js @@ -0,0 +1,72390 @@ +/*! + * design-system-react + * v0.10.31 + * Copyright (c) 2015-present, Salesforce.com, Inc. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * * Neither the name of the Salesforce.com nor the + * names of its contributors may be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY + * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ +(function webpackUniversalModuleDefinition(root, factory) { + if(typeof exports === 'object' && typeof module === 'object') + module.exports = factory(require("react"), require("react-dom")); + else if(typeof define === 'function' && define.amd) + define(["react", "react-dom"], factory); + else if(typeof exports === 'object') + exports["design-system-react"] = factory(require("react"), require("react-dom")); + else + root["design-system-react"] = factory(root["React"], root["ReactDOM"]); +})(window, function(__WEBPACK_EXTERNAL_MODULE__1__, __WEBPACK_EXTERNAL_MODULE__6__) { +return /******/ (function(modules) { // webpackBootstrap +/******/ // The module cache +/******/ var installedModules = {}; +/******/ +/******/ // The require function +/******/ function __webpack_require__(moduleId) { +/******/ +/******/ // Check if module is in cache +/******/ if(installedModules[moduleId]) { +/******/ return installedModules[moduleId].exports; +/******/ } +/******/ // Create a new module (and put it into the cache) +/******/ var module = installedModules[moduleId] = { +/******/ i: moduleId, +/******/ l: false, +/******/ exports: {} +/******/ }; +/******/ +/******/ // Execute the module function +/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); +/******/ +/******/ // Flag the module as loaded +/******/ module.l = true; +/******/ +/******/ // Return the exports of the module +/******/ return module.exports; +/******/ } +/******/ +/******/ +/******/ // expose the modules object (__webpack_modules__) +/******/ __webpack_require__.m = modules; +/******/ +/******/ // expose the module cache +/******/ __webpack_require__.c = installedModules; +/******/ +/******/ // define getter function for harmony exports +/******/ __webpack_require__.d = function(exports, name, getter) { +/******/ if(!__webpack_require__.o(exports, name)) { +/******/ Object.defineProperty(exports, name, { enumerable: true, get: getter }); +/******/ } +/******/ }; +/******/ +/******/ // define __esModule on exports +/******/ __webpack_require__.r = function(exports) { +/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { +/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); +/******/ } +/******/ Object.defineProperty(exports, '__esModule', { value: true }); +/******/ }; +/******/ +/******/ // create a fake namespace object +/******/ // mode & 1: value is a module id, require it +/******/ // mode & 2: merge all properties of value into the ns +/******/ // mode & 4: return value when already ns object +/******/ // mode & 8|1: behave like require +/******/ __webpack_require__.t = function(value, mode) { +/******/ if(mode & 1) value = __webpack_require__(value); +/******/ if(mode & 8) return value; +/******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value; +/******/ var ns = Object.create(null); +/******/ __webpack_require__.r(ns); +/******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value }); +/******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key)); +/******/ return ns; +/******/ }; +/******/ +/******/ // getDefaultExport function for compatibility with non-harmony modules +/******/ __webpack_require__.n = function(module) { +/******/ var getter = module && module.__esModule ? +/******/ function getDefault() { return module['default']; } : +/******/ function getModuleExports() { return module; }; +/******/ __webpack_require__.d(getter, 'a', getter); +/******/ return getter; +/******/ }; +/******/ +/******/ // Object.prototype.hasOwnProperty.call +/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); }; +/******/ +/******/ // __webpack_public_path__ +/******/ __webpack_require__.p = "/"; +/******/ +/******/ +/******/ // Load entry module and return exports +/******/ return __webpack_require__(__webpack_require__.s = 60); +/******/ }) +/************************************************************************/ +/******/ ([ +/* 0 */ +/***/ (function(module, exports, __webpack_require__) { + +/** + * Copyright (c) 2013-present, Facebook, Inc. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ + +if (false) { var throwOnDirectAccess, ReactIs; } else { + // By explicitly using `prop-types` you are opting into new production behavior. + // http://fb.me/prop-types-in-prod + module.exports = __webpack_require__(61)(); +} + + +/***/ }), +/* 1 */ +/***/ (function(module, exports) { + +module.exports = __WEBPACK_EXTERNAL_MODULE__1__; + +/***/ }), +/* 2 */ +/***/ (function(module, exports, __webpack_require__) { + +var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/*! + Copyright (c) 2017 Jed Watson. + Licensed under the MIT License (MIT), see + http://jedwatson.github.io/classnames +*/ +/* global define */ + +(function () { + 'use strict'; + + var hasOwn = {}.hasOwnProperty; + + function classNames () { + var classes = []; + + for (var i = 0; i < arguments.length; i++) { + var arg = arguments[i]; + if (!arg) continue; + + var argType = typeof arg; + + if (argType === 'string' || argType === 'number') { + classes.push(arg); + } else if (Array.isArray(arg) && arg.length) { + var inner = classNames.apply(null, arg); + if (inner) { + classes.push(inner); + } + } else if (argType === 'object') { + for (var key in arg) { + if (hasOwn.call(arg, key) && arg[key]) { + classes.push(key); + } + } + } + } + + return classes.join(' '); + } + + if ( true && module.exports) { + classNames.default = classNames; + module.exports = classNames; + } else if (true) { + // register as 'classnames', consistent with npm package name + !(__WEBPACK_AMD_DEFINE_ARRAY__ = [], __WEBPACK_AMD_DEFINE_RESULT__ = (function () { + return classNames; + }).apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__), + __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); + } else {} +}()); + + +/***/ }), +/* 3 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +module.exports = __webpack_require__(63); + + +/***/ }), +/* 4 */ +/***/ (function(module, exports) { + +/** + * lodash (Custom Build) <https://lodash.com/> + * Build: `lodash modularize exports="npm" -o ./` + * Copyright jQuery Foundation and other contributors <https://jquery.org/> + * Released under MIT license <https://lodash.com/license> + * Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE> + * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors + */ + +/** Used as references for various `Number` constants. */ +var MAX_SAFE_INTEGER = 9007199254740991; + +/** `Object#toString` result references. */ +var argsTag = '[object Arguments]', + funcTag = '[object Function]', + genTag = '[object GeneratorFunction]'; + +/** Used to detect unsigned integer values. */ +var reIsUint = /^(?:0|[1-9]\d*)$/; + +/** + * A faster alternative to `Function#apply`, this function invokes `func` + * with the `this` binding of `thisArg` and the arguments of `args`. + * + * @private + * @param {Function} func The function to invoke. + * @param {*} thisArg The `this` binding of `func`. + * @param {Array} args The arguments to invoke `func` with. + * @returns {*} Returns the result of `func`. + */ +function apply(func, thisArg, args) { + switch (args.length) { + case 0: return func.call(thisArg); + case 1: return func.call(thisArg, args[0]); + case 2: return func.call(thisArg, args[0], args[1]); + case 3: return func.call(thisArg, args[0], args[1], args[2]); + } + return func.apply(thisArg, args); +} + +/** + * The base implementation of `_.times` without support for iteratee shorthands + * or max array length checks. + * + * @private + * @param {number} n The number of times to invoke `iteratee`. + * @param {Function} iteratee The function invoked per iteration. + * @returns {Array} Returns the array of results. + */ +function baseTimes(n, iteratee) { + var index = -1, + result = Array(n); + + while (++index < n) { + result[index] = iteratee(index); + } + return result; +} + +/** + * Creates a unary function that invokes `func` with its argument transformed. + * + * @private + * @param {Function} func The function to wrap. + * @param {Function} transform The argument transform. + * @returns {Function} Returns the new function. + */ +function overArg(func, transform) { + return function(arg) { + return func(transform(arg)); + }; +} + +/** Used for built-in method references. */ +var objectProto = Object.prototype; + +/** Used to check objects for own properties. */ +var hasOwnProperty = objectProto.hasOwnProperty; + +/** + * Used to resolve the + * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring) + * of values. + */ +var objectToString = objectProto.toString; + +/** Built-in value references. */ +var propertyIsEnumerable = objectProto.propertyIsEnumerable; + +/* Built-in method references for those with the same name as other `lodash` methods. */ +var nativeKeys = overArg(Object.keys, Object), + nativeMax = Math.max; + +/** Detect if properties shadowing those on `Object.prototype` are non-enumerable. */ +var nonEnumShadows = !propertyIsEnumerable.call({ 'valueOf': 1 }, 'valueOf'); + +/** + * Creates an array of the enumerable property names of the array-like `value`. + * + * @private + * @param {*} value The value to query. + * @param {boolean} inherited Specify returning inherited property names. + * @returns {Array} Returns the array of property names. + */ +function arrayLikeKeys(value, inherited) { + // Safari 8.1 makes `arguments.callee` enumerable in strict mode. + // Safari 9 makes `arguments.length` enumerable in strict mode. + var result = (isArray(value) || isArguments(value)) + ? baseTimes(value.length, String) + : []; + + var length = result.length, + skipIndexes = !!length; + + for (var key in value) { + if ((inherited || hasOwnProperty.call(value, key)) && + !(skipIndexes && (key == 'length' || isIndex(key, length)))) { + result.push(key); + } + } + return result; +} + +/** + * Assigns `value` to `key` of `object` if the existing value is not equivalent + * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero) + * for equality comparisons. + * + * @private + * @param {Object} object The object to modify. + * @param {string} key The key of the property to assign. + * @param {*} value The value to assign. + */ +function assignValue(object, key, value) { + var objValue = object[key]; + if (!(hasOwnProperty.call(object, key) && eq(objValue, value)) || + (value === undefined && !(key in object))) { + object[key] = value; + } +} + +/** + * The base implementation of `_.keys` which doesn't treat sparse arrays as dense. + * + * @private + * @param {Object} object The object to query. + * @returns {Array} Returns the array of property names. + */ +function baseKeys(object) { + if (!isPrototype(object)) { + return nativeKeys(object); + } + var result = []; + for (var key in Object(object)) { + if (hasOwnProperty.call(object, key) && key != 'constructor') { + result.push(key); + } + } + return result; +} + +/** + * The base implementation of `_.rest` which doesn't validate or coerce arguments. + * + * @private + * @param {Function} func The function to apply a rest parameter to. + * @param {number} [start=func.length-1] The start position of the rest parameter. + * @returns {Function} Returns the new function. + */ +function baseRest(func, start) { + start = nativeMax(start === undefined ? (func.length - 1) : start, 0); + return function() { + var args = arguments, + index = -1, + length = nativeMax(args.length - start, 0), + array = Array(length); + + while (++index < length) { + array[index] = args[start + index]; + } + index = -1; + var otherArgs = Array(start + 1); + while (++index < start) { + otherArgs[index] = args[index]; + } + otherArgs[start] = array; + return apply(func, this, otherArgs); + }; +} + +/** + * Copies properties of `source` to `object`. + * + * @private + * @param {Object} source The object to copy properties from. + * @param {Array} props The property identifiers to copy. + * @param {Object} [object={}] The object to copy properties to. + * @param {Function} [customizer] The function to customize copied values. + * @returns {Object} Returns `object`. + */ +function copyObject(source, props, object, customizer) { + object || (object = {}); + + var index = -1, + length = props.length; + + while (++index < length) { + var key = props[index]; + + var newValue = customizer + ? customizer(object[key], source[key], key, object, source) + : undefined; + + assignValue(object, key, newValue === undefined ? source[key] : newValue); + } + return object; +} + +/** + * Creates a function like `_.assign`. + * + * @private + * @param {Function} assigner The function to assign values. + * @returns {Function} Returns the new assigner function. + */ +function createAssigner(assigner) { + return baseRest(function(object, sources) { + var index = -1, + length = sources.length, + customizer = length > 1 ? sources[length - 1] : undefined, + guard = length > 2 ? sources[2] : undefined; + + customizer = (assigner.length > 3 && typeof customizer == 'function') + ? (length--, customizer) + : undefined; + + if (guard && isIterateeCall(sources[0], sources[1], guard)) { + customizer = length < 3 ? undefined : customizer; + length = 1; + } + object = Object(object); + while (++index < length) { + var source = sources[index]; + if (source) { + assigner(object, source, index, customizer); + } + } + return object; + }); +} + +/** + * Checks if `value` is a valid array-like index. + * + * @private + * @param {*} value The value to check. + * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index. + * @returns {boolean} Returns `true` if `value` is a valid index, else `false`. + */ +function isIndex(value, length) { + length = length == null ? MAX_SAFE_INTEGER : length; + return !!length && + (typeof value == 'number' || reIsUint.test(value)) && + (value > -1 && value % 1 == 0 && value < length); +} + +/** + * Checks if the given arguments are from an iteratee call. + * + * @private + * @param {*} value The potential iteratee value argument. + * @param {*} index The potential iteratee index or key argument. + * @param {*} object The potential iteratee object argument. + * @returns {boolean} Returns `true` if the arguments are from an iteratee call, + * else `false`. + */ +function isIterateeCall(value, index, object) { + if (!isObject(object)) { + return false; + } + var type = typeof index; + if (type == 'number' + ? (isArrayLike(object) && isIndex(index, object.length)) + : (type == 'string' && index in object) + ) { + return eq(object[index], value); + } + return false; +} + +/** + * Checks if `value` is likely a prototype object. + * + * @private + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a prototype, else `false`. + */ +function isPrototype(value) { + var Ctor = value && value.constructor, + proto = (typeof Ctor == 'function' && Ctor.prototype) || objectProto; + + return value === proto; +} + +/** + * Performs a + * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero) + * comparison between two values to determine if they are equivalent. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Lang + * @param {*} value The value to compare. + * @param {*} other The other value to compare. + * @returns {boolean} Returns `true` if the values are equivalent, else `false`. + * @example + * + * var object = { 'a': 1 }; + * var other = { 'a': 1 }; + * + * _.eq(object, object); + * // => true + * + * _.eq(object, other); + * // => false + * + * _.eq('a', 'a'); + * // => true + * + * _.eq('a', Object('a')); + * // => false + * + * _.eq(NaN, NaN); + * // => true + */ +function eq(value, other) { + return value === other || (value !== value && other !== other); +} + +/** + * Checks if `value` is likely an `arguments` object. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is an `arguments` object, + * else `false`. + * @example + * + * _.isArguments(function() { return arguments; }()); + * // => true + * + * _.isArguments([1, 2, 3]); + * // => false + */ +function isArguments(value) { + // Safari 8.1 makes `arguments.callee` enumerable in strict mode. + return isArrayLikeObject(value) && hasOwnProperty.call(value, 'callee') && + (!propertyIsEnumerable.call(value, 'callee') || objectToString.call(value) == argsTag); +} + +/** + * Checks if `value` is classified as an `Array` object. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is an array, else `false`. + * @example + * + * _.isArray([1, 2, 3]); + * // => true + * + * _.isArray(document.body.children); + * // => false + * + * _.isArray('abc'); + * // => false + * + * _.isArray(_.noop); + * // => false + */ +var isArray = Array.isArray; + +/** + * Checks if `value` is array-like. A value is considered array-like if it's + * not a function and has a `value.length` that's an integer greater than or + * equal to `0` and less than or equal to `Number.MAX_SAFE_INTEGER`. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is array-like, else `false`. + * @example + * + * _.isArrayLike([1, 2, 3]); + * // => true + * + * _.isArrayLike(document.body.children); + * // => true + * + * _.isArrayLike('abc'); + * // => true + * + * _.isArrayLike(_.noop); + * // => false + */ +function isArrayLike(value) { + return value != null && isLength(value.length) && !isFunction(value); +} + +/** + * This method is like `_.isArrayLike` except that it also checks if `value` + * is an object. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is an array-like object, + * else `false`. + * @example + * + * _.isArrayLikeObject([1, 2, 3]); + * // => true + * + * _.isArrayLikeObject(document.body.children); + * // => true + * + * _.isArrayLikeObject('abc'); + * // => false + * + * _.isArrayLikeObject(_.noop); + * // => false + */ +function isArrayLikeObject(value) { + return isObjectLike(value) && isArrayLike(value); +} + +/** + * Checks if `value` is classified as a `Function` object. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a function, else `false`. + * @example + * + * _.isFunction(_); + * // => true + * + * _.isFunction(/abc/); + * // => false + */ +function isFunction(value) { + // The use of `Object#toString` avoids issues with the `typeof` operator + // in Safari 8-9 which returns 'object' for typed array and other constructors. + var tag = isObject(value) ? objectToString.call(value) : ''; + return tag == funcTag || tag == genTag; +} + +/** + * Checks if `value` is a valid array-like length. + * + * **Note:** This method is loosely based on + * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength). + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a valid length, else `false`. + * @example + * + * _.isLength(3); + * // => true + * + * _.isLength(Number.MIN_VALUE); + * // => false + * + * _.isLength(Infinity); + * // => false + * + * _.isLength('3'); + * // => false + */ +function isLength(value) { + return typeof value == 'number' && + value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER; +} + +/** + * Checks if `value` is the + * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types) + * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`) + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is an object, else `false`. + * @example + * + * _.isObject({}); + * // => true + * + * _.isObject([1, 2, 3]); + * // => true + * + * _.isObject(_.noop); + * // => true + * + * _.isObject(null); + * // => false + */ +function isObject(value) { + var type = typeof value; + return !!value && (type == 'object' || type == 'function'); +} + +/** + * Checks if `value` is object-like. A value is object-like if it's not `null` + * and has a `typeof` result of "object". + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is object-like, else `false`. + * @example + * + * _.isObjectLike({}); + * // => true + * + * _.isObjectLike([1, 2, 3]); + * // => true + * + * _.isObjectLike(_.noop); + * // => false + * + * _.isObjectLike(null); + * // => false + */ +function isObjectLike(value) { + return !!value && typeof value == 'object'; +} + +/** + * Assigns own enumerable string keyed properties of source objects to the + * destination object. Source objects are applied from left to right. + * Subsequent sources overwrite property assignments of previous sources. + * + * **Note:** This method mutates `object` and is loosely based on + * [`Object.assign`](https://mdn.io/Object/assign). + * + * @static + * @memberOf _ + * @since 0.10.0 + * @category Object + * @param {Object} object The destination object. + * @param {...Object} [sources] The source objects. + * @returns {Object} Returns `object`. + * @see _.assignIn + * @example + * + * function Foo() { + * this.a = 1; + * } + * + * function Bar() { + * this.c = 3; + * } + * + * Foo.prototype.b = 2; + * Bar.prototype.d = 4; + * + * _.assign({ 'a': 0 }, new Foo, new Bar); + * // => { 'a': 1, 'c': 3 } + */ +var assign = createAssigner(function(object, source) { + if (nonEnumShadows || isPrototype(source) || isArrayLike(source)) { + copyObject(source, keys(source), object); + return; + } + for (var key in source) { + if (hasOwnProperty.call(source, key)) { + assignValue(object, key, source[key]); + } + } +}); + +/** + * Creates an array of the own enumerable property names of `object`. + * + * **Note:** Non-object values are coerced to objects. See the + * [ES spec](http://ecma-international.org/ecma-262/7.0/#sec-object.keys) + * for more details. + * + * @static + * @since 0.1.0 + * @memberOf _ + * @category Object + * @param {Object} object The object to query. + * @returns {Array} Returns the array of property names. + * @example + * + * function Foo() { + * this.a = 1; + * this.b = 2; + * } + * + * Foo.prototype.c = 3; + * + * _.keys(new Foo); + * // => ['a', 'b'] (iteration order is not guaranteed) + * + * _.keys('hi'); + * // => ['0', '1'] + */ +function keys(object) { + return isArrayLike(object) ? arrayLikeKeys(object) : baseKeys(object); +} + +module.exports = assign; + + +/***/ }), +/* 5 */ +/***/ (function(module, exports, __webpack_require__) { + +/* WEBPACK VAR INJECTION */(function(global) {/** + * Lodash (Custom Build) <https://lodash.com/> + * Build: `lodash modularize exports="npm" -o ./` + * Copyright JS Foundation and other contributors <https://js.foundation/> + * Released under MIT license <https://lodash.com/license> + * Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE> + * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors + */ + +/** `Object#toString` result references. */ +var asyncTag = '[object AsyncFunction]', + funcTag = '[object Function]', + genTag = '[object GeneratorFunction]', + nullTag = '[object Null]', + proxyTag = '[object Proxy]', + undefinedTag = '[object Undefined]'; + +/** Detect free variable `global` from Node.js. */ +var freeGlobal = typeof global == 'object' && global && global.Object === Object && global; + +/** Detect free variable `self`. */ +var freeSelf = typeof self == 'object' && self && self.Object === Object && self; + +/** Used as a reference to the global object. */ +var root = freeGlobal || freeSelf || Function('return this')(); + +/** Used for built-in method references. */ +var objectProto = Object.prototype; + +/** Used to check objects for own properties. */ +var hasOwnProperty = objectProto.hasOwnProperty; + +/** + * Used to resolve the + * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring) + * of values. + */ +var nativeObjectToString = objectProto.toString; + +/** Built-in value references. */ +var Symbol = root.Symbol, + symToStringTag = Symbol ? Symbol.toStringTag : undefined; + +/** + * The base implementation of `getTag` without fallbacks for buggy environments. + * + * @private + * @param {*} value The value to query. + * @returns {string} Returns the `toStringTag`. + */ +function baseGetTag(value) { + if (value == null) { + return value === undefined ? undefinedTag : nullTag; + } + return (symToStringTag && symToStringTag in Object(value)) + ? getRawTag(value) + : objectToString(value); +} + +/** + * A specialized version of `baseGetTag` which ignores `Symbol.toStringTag` values. + * + * @private + * @param {*} value The value to query. + * @returns {string} Returns the raw `toStringTag`. + */ +function getRawTag(value) { + var isOwn = hasOwnProperty.call(value, symToStringTag), + tag = value[symToStringTag]; + + try { + value[symToStringTag] = undefined; + var unmasked = true; + } catch (e) {} + + var result = nativeObjectToString.call(value); + if (unmasked) { + if (isOwn) { + value[symToStringTag] = tag; + } else { + delete value[symToStringTag]; + } + } + return result; +} + +/** + * Converts `value` to a string using `Object.prototype.toString`. + * + * @private + * @param {*} value The value to convert. + * @returns {string} Returns the converted string. + */ +function objectToString(value) { + return nativeObjectToString.call(value); +} + +/** + * Checks if `value` is classified as a `Function` object. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a function, else `false`. + * @example + * + * _.isFunction(_); + * // => true + * + * _.isFunction(/abc/); + * // => false + */ +function isFunction(value) { + if (!isObject(value)) { + return false; + } + // The use of `Object#toString` avoids issues with the `typeof` operator + // in Safari 9 which returns 'object' for typed arrays and other constructors. + var tag = baseGetTag(value); + return tag == funcTag || tag == genTag || tag == asyncTag || tag == proxyTag; +} + +/** + * Checks if `value` is the + * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types) + * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`) + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is an object, else `false`. + * @example + * + * _.isObject({}); + * // => true + * + * _.isObject([1, 2, 3]); + * // => true + * + * _.isObject(_.noop); + * // => true + * + * _.isObject(null); + * // => false + */ +function isObject(value) { + var type = typeof value; + return value != null && (type == 'object' || type == 'function'); +} + +module.exports = isFunction; + +/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(10))) + +/***/ }), +/* 6 */ +/***/ (function(module, exports) { + +module.exports = __WEBPACK_EXTERNAL_MODULE__6__; + +/***/ }), +/* 7 */ +/***/ (function(module, exports, __webpack_require__) { + +/* WEBPACK VAR INJECTION */(function(global, module) {/** + * lodash (Custom Build) <https://lodash.com/> + * Build: `lodash modularize exports="npm" -o ./` + * Copyright jQuery Foundation and other contributors <https://jquery.org/> + * Released under MIT license <https://lodash.com/license> + * Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE> + * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors + */ + +/** Used as the size to enable large array optimizations. */ +var LARGE_ARRAY_SIZE = 200; + +/** Used as the `TypeError` message for "Functions" methods. */ +var FUNC_ERROR_TEXT = 'Expected a function'; + +/** Used to stand-in for `undefined` hash values. */ +var HASH_UNDEFINED = '__lodash_hash_undefined__'; + +/** Used to compose bitmasks for comparison styles. */ +var UNORDERED_COMPARE_FLAG = 1, + PARTIAL_COMPARE_FLAG = 2; + +/** Used as references for various `Number` constants. */ +var INFINITY = 1 / 0, + MAX_SAFE_INTEGER = 9007199254740991, + MAX_INTEGER = 1.7976931348623157e+308, + NAN = 0 / 0; + +/** `Object#toString` result references. */ +var argsTag = '[object Arguments]', + arrayTag = '[object Array]', + boolTag = '[object Boolean]', + dateTag = '[object Date]', + errorTag = '[object Error]', + funcTag = '[object Function]', + genTag = '[object GeneratorFunction]', + mapTag = '[object Map]', + numberTag = '[object Number]', + objectTag = '[object Object]', + promiseTag = '[object Promise]', + regexpTag = '[object RegExp]', + setTag = '[object Set]', + stringTag = '[object String]', + symbolTag = '[object Symbol]', + weakMapTag = '[object WeakMap]'; + +var arrayBufferTag = '[object ArrayBuffer]', + dataViewTag = '[object DataView]', + float32Tag = '[object Float32Array]', + float64Tag = '[object Float64Array]', + int8Tag = '[object Int8Array]', + int16Tag = '[object Int16Array]', + int32Tag = '[object Int32Array]', + uint8Tag = '[object Uint8Array]', + uint8ClampedTag = '[object Uint8ClampedArray]', + uint16Tag = '[object Uint16Array]', + uint32Tag = '[object Uint32Array]'; + +/** Used to match property names within property paths. */ +var reIsDeepProp = /\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/, + reIsPlainProp = /^\w*$/, + reLeadingDot = /^\./, + rePropName = /[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g; + +/** + * Used to match `RegExp` + * [syntax characters](http://ecma-international.org/ecma-262/7.0/#sec-patterns). + */ +var reRegExpChar = /[\\^$.*+?()[\]{}|]/g; + +/** Used to match leading and trailing whitespace. */ +var reTrim = /^\s+|\s+$/g; + +/** Used to match backslashes in property paths. */ +var reEscapeChar = /\\(\\)?/g; + +/** Used to detect bad signed hexadecimal string values. */ +var reIsBadHex = /^[-+]0x[0-9a-f]+$/i; + +/** Used to detect binary string values. */ +var reIsBinary = /^0b[01]+$/i; + +/** Used to detect host constructors (Safari). */ +var reIsHostCtor = /^\[object .+?Constructor\]$/; + +/** Used to detect octal string values. */ +var reIsOctal = /^0o[0-7]+$/i; + +/** Used to detect unsigned integer values. */ +var reIsUint = /^(?:0|[1-9]\d*)$/; + +/** Used to identify `toStringTag` values of typed arrays. */ +var typedArrayTags = {}; +typedArrayTags[float32Tag] = typedArrayTags[float64Tag] = +typedArrayTags[int8Tag] = typedArrayTags[int16Tag] = +typedArrayTags[int32Tag] = typedArrayTags[uint8Tag] = +typedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] = +typedArrayTags[uint32Tag] = true; +typedArrayTags[argsTag] = typedArrayTags[arrayTag] = +typedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] = +typedArrayTags[dataViewTag] = typedArrayTags[dateTag] = +typedArrayTags[errorTag] = typedArrayTags[funcTag] = +typedArrayTags[mapTag] = typedArrayTags[numberTag] = +typedArrayTags[objectTag] = typedArrayTags[regexpTag] = +typedArrayTags[setTag] = typedArrayTags[stringTag] = +typedArrayTags[weakMapTag] = false; + +/** Built-in method references without a dependency on `root`. */ +var freeParseInt = parseInt; + +/** Detect free variable `global` from Node.js. */ +var freeGlobal = typeof global == 'object' && global && global.Object === Object && global; + +/** Detect free variable `self`. */ +var freeSelf = typeof self == 'object' && self && self.Object === Object && self; + +/** Used as a reference to the global object. */ +var root = freeGlobal || freeSelf || Function('return this')(); + +/** Detect free variable `exports`. */ +var freeExports = true && exports && !exports.nodeType && exports; + +/** Detect free variable `module`. */ +var freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module; + +/** Detect the popular CommonJS extension `module.exports`. */ +var moduleExports = freeModule && freeModule.exports === freeExports; + +/** Detect free variable `process` from Node.js. */ +var freeProcess = moduleExports && freeGlobal.process; + +/** Used to access faster Node.js helpers. */ +var nodeUtil = (function() { + try { + return freeProcess && freeProcess.binding('util'); + } catch (e) {} +}()); + +/* Node.js helper references. */ +var nodeIsTypedArray = nodeUtil && nodeUtil.isTypedArray; + +/** + * A specialized version of `_.some` for arrays without support for iteratee + * shorthands. + * + * @private + * @param {Array} [array] The array to iterate over. + * @param {Function} predicate The function invoked per iteration. + * @returns {boolean} Returns `true` if any element passes the predicate check, + * else `false`. + */ +function arraySome(array, predicate) { + var index = -1, + length = array ? array.length : 0; + + while (++index < length) { + if (predicate(array[index], index, array)) { + return true; + } + } + return false; +} + +/** + * The base implementation of `_.findIndex` and `_.findLastIndex` without + * support for iteratee shorthands. + * + * @private + * @param {Array} array The array to inspect. + * @param {Function} predicate The function invoked per iteration. + * @param {number} fromIndex The index to search from. + * @param {boolean} [fromRight] Specify iterating from right to left. + * @returns {number} Returns the index of the matched value, else `-1`. + */ +function baseFindIndex(array, predicate, fromIndex, fromRight) { + var length = array.length, + index = fromIndex + (fromRight ? 1 : -1); + + while ((fromRight ? index-- : ++index < length)) { + if (predicate(array[index], index, array)) { + return index; + } + } + return -1; +} + +/** + * The base implementation of `_.property` without support for deep paths. + * + * @private + * @param {string} key The key of the property to get. + * @returns {Function} Returns the new accessor function. + */ +function baseProperty(key) { + return function(object) { + return object == null ? undefined : object[key]; + }; +} + +/** + * The base implementation of `_.times` without support for iteratee shorthands + * or max array length checks. + * + * @private + * @param {number} n The number of times to invoke `iteratee`. + * @param {Function} iteratee The function invoked per iteration. + * @returns {Array} Returns the array of results. + */ +function baseTimes(n, iteratee) { + var index = -1, + result = Array(n); + + while (++index < n) { + result[index] = iteratee(index); + } + return result; +} + +/** + * The base implementation of `_.unary` without support for storing metadata. + * + * @private + * @param {Function} func The function to cap arguments for. + * @returns {Function} Returns the new capped function. + */ +function baseUnary(func) { + return function(value) { + return func(value); + }; +} + +/** + * Gets the value at `key` of `object`. + * + * @private + * @param {Object} [object] The object to query. + * @param {string} key The key of the property to get. + * @returns {*} Returns the property value. + */ +function getValue(object, key) { + return object == null ? undefined : object[key]; +} + +/** + * Checks if `value` is a host object in IE < 9. + * + * @private + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a host object, else `false`. + */ +function isHostObject(value) { + // Many host objects are `Object` objects that can coerce to strings + // despite having improperly defined `toString` methods. + var result = false; + if (value != null && typeof value.toString != 'function') { + try { + result = !!(value + ''); + } catch (e) {} + } + return result; +} + +/** + * Converts `map` to its key-value pairs. + * + * @private + * @param {Object} map The map to convert. + * @returns {Array} Returns the key-value pairs. + */ +function mapToArray(map) { + var index = -1, + result = Array(map.size); + + map.forEach(function(value, key) { + result[++index] = [key, value]; + }); + return result; +} + +/** + * Creates a unary function that invokes `func` with its argument transformed. + * + * @private + * @param {Function} func The function to wrap. + * @param {Function} transform The argument transform. + * @returns {Function} Returns the new function. + */ +function overArg(func, transform) { + return function(arg) { + return func(transform(arg)); + }; +} + +/** + * Converts `set` to an array of its values. + * + * @private + * @param {Object} set The set to convert. + * @returns {Array} Returns the values. + */ +function setToArray(set) { + var index = -1, + result = Array(set.size); + + set.forEach(function(value) { + result[++index] = value; + }); + return result; +} + +/** Used for built-in method references. */ +var arrayProto = Array.prototype, + funcProto = Function.prototype, + objectProto = Object.prototype; + +/** Used to detect overreaching core-js shims. */ +var coreJsData = root['__core-js_shared__']; + +/** Used to detect methods masquerading as native. */ +var maskSrcKey = (function() { + var uid = /[^.]+$/.exec(coreJsData && coreJsData.keys && coreJsData.keys.IE_PROTO || ''); + return uid ? ('Symbol(src)_1.' + uid) : ''; +}()); + +/** Used to resolve the decompiled source of functions. */ +var funcToString = funcProto.toString; + +/** Used to check objects for own properties. */ +var hasOwnProperty = objectProto.hasOwnProperty; + +/** + * Used to resolve the + * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring) + * of values. + */ +var objectToString = objectProto.toString; + +/** Used to detect if a method is native. */ +var reIsNative = RegExp('^' + + funcToString.call(hasOwnProperty).replace(reRegExpChar, '\\$&') + .replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g, '$1.*?') + '$' +); + +/** Built-in value references. */ +var Symbol = root.Symbol, + Uint8Array = root.Uint8Array, + propertyIsEnumerable = objectProto.propertyIsEnumerable, + splice = arrayProto.splice; + +/* Built-in method references for those with the same name as other `lodash` methods. */ +var nativeKeys = overArg(Object.keys, Object), + nativeMax = Math.max; + +/* Built-in method references that are verified to be native. */ +var DataView = getNative(root, 'DataView'), + Map = getNative(root, 'Map'), + Promise = getNative(root, 'Promise'), + Set = getNative(root, 'Set'), + WeakMap = getNative(root, 'WeakMap'), + nativeCreate = getNative(Object, 'create'); + +/** Used to detect maps, sets, and weakmaps. */ +var dataViewCtorString = toSource(DataView), + mapCtorString = toSource(Map), + promiseCtorString = toSource(Promise), + setCtorString = toSource(Set), + weakMapCtorString = toSource(WeakMap); + +/** Used to convert symbols to primitives and strings. */ +var symbolProto = Symbol ? Symbol.prototype : undefined, + symbolValueOf = symbolProto ? symbolProto.valueOf : undefined, + symbolToString = symbolProto ? symbolProto.toString : undefined; + +/** + * Creates a hash object. + * + * @private + * @constructor + * @param {Array} [entries] The key-value pairs to cache. + */ +function Hash(entries) { + var index = -1, + length = entries ? entries.length : 0; + + this.clear(); + while (++index < length) { + var entry = entries[index]; + this.set(entry[0], entry[1]); + } +} + +/** + * Removes all key-value entries from the hash. + * + * @private + * @name clear + * @memberOf Hash + */ +function hashClear() { + this.__data__ = nativeCreate ? nativeCreate(null) : {}; +} + +/** + * Removes `key` and its value from the hash. + * + * @private + * @name delete + * @memberOf Hash + * @param {Object} hash The hash to modify. + * @param {string} key The key of the value to remove. + * @returns {boolean} Returns `true` if the entry was removed, else `false`. + */ +function hashDelete(key) { + return this.has(key) && delete this.__data__[key]; +} + +/** + * Gets the hash value for `key`. + * + * @private + * @name get + * @memberOf Hash + * @param {string} key The key of the value to get. + * @returns {*} Returns the entry value. + */ +function hashGet(key) { + var data = this.__data__; + if (nativeCreate) { + var result = data[key]; + return result === HASH_UNDEFINED ? undefined : result; + } + return hasOwnProperty.call(data, key) ? data[key] : undefined; +} + +/** + * Checks if a hash value for `key` exists. + * + * @private + * @name has + * @memberOf Hash + * @param {string} key The key of the entry to check. + * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`. + */ +function hashHas(key) { + var data = this.__data__; + return nativeCreate ? data[key] !== undefined : hasOwnProperty.call(data, key); +} + +/** + * Sets the hash `key` to `value`. + * + * @private + * @name set + * @memberOf Hash + * @param {string} key The key of the value to set. + * @param {*} value The value to set. + * @returns {Object} Returns the hash instance. + */ +function hashSet(key, value) { + var data = this.__data__; + data[key] = (nativeCreate && value === undefined) ? HASH_UNDEFINED : value; + return this; +} + +// Add methods to `Hash`. +Hash.prototype.clear = hashClear; +Hash.prototype['delete'] = hashDelete; +Hash.prototype.get = hashGet; +Hash.prototype.has = hashHas; +Hash.prototype.set = hashSet; + +/** + * Creates an list cache object. + * + * @private + * @constructor + * @param {Array} [entries] The key-value pairs to cache. + */ +function ListCache(entries) { + var index = -1, + length = entries ? entries.length : 0; + + this.clear(); + while (++index < length) { + var entry = entries[index]; + this.set(entry[0], entry[1]); + } +} + +/** + * Removes all key-value entries from the list cache. + * + * @private + * @name clear + * @memberOf ListCache + */ +function listCacheClear() { + this.__data__ = []; +} + +/** + * Removes `key` and its value from the list cache. + * + * @private + * @name delete + * @memberOf ListCache + * @param {string} key The key of the value to remove. + * @returns {boolean} Returns `true` if the entry was removed, else `false`. + */ +function listCacheDelete(key) { + var data = this.__data__, + index = assocIndexOf(data, key); + + if (index < 0) { + return false; + } + var lastIndex = data.length - 1; + if (index == lastIndex) { + data.pop(); + } else { + splice.call(data, index, 1); + } + return true; +} + +/** + * Gets the list cache value for `key`. + * + * @private + * @name get + * @memberOf ListCache + * @param {string} key The key of the value to get. + * @returns {*} Returns the entry value. + */ +function listCacheGet(key) { + var data = this.__data__, + index = assocIndexOf(data, key); + + return index < 0 ? undefined : data[index][1]; +} + +/** + * Checks if a list cache value for `key` exists. + * + * @private + * @name has + * @memberOf ListCache + * @param {string} key The key of the entry to check. + * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`. + */ +function listCacheHas(key) { + return assocIndexOf(this.__data__, key) > -1; +} + +/** + * Sets the list cache `key` to `value`. + * + * @private + * @name set + * @memberOf ListCache + * @param {string} key The key of the value to set. + * @param {*} value The value to set. + * @returns {Object} Returns the list cache instance. + */ +function listCacheSet(key, value) { + var data = this.__data__, + index = assocIndexOf(data, key); + + if (index < 0) { + data.push([key, value]); + } else { + data[index][1] = value; + } + return this; +} + +// Add methods to `ListCache`. +ListCache.prototype.clear = listCacheClear; +ListCache.prototype['delete'] = listCacheDelete; +ListCache.prototype.get = listCacheGet; +ListCache.prototype.has = listCacheHas; +ListCache.prototype.set = listCacheSet; + +/** + * Creates a map cache object to store key-value pairs. + * + * @private + * @constructor + * @param {Array} [entries] The key-value pairs to cache. + */ +function MapCache(entries) { + var index = -1, + length = entries ? entries.length : 0; + + this.clear(); + while (++index < length) { + var entry = entries[index]; + this.set(entry[0], entry[1]); + } +} + +/** + * Removes all key-value entries from the map. + * + * @private + * @name clear + * @memberOf MapCache + */ +function mapCacheClear() { + this.__data__ = { + 'hash': new Hash, + 'map': new (Map || ListCache), + 'string': new Hash + }; +} + +/** + * Removes `key` and its value from the map. + * + * @private + * @name delete + * @memberOf MapCache + * @param {string} key The key of the value to remove. + * @returns {boolean} Returns `true` if the entry was removed, else `false`. + */ +function mapCacheDelete(key) { + return getMapData(this, key)['delete'](key); +} + +/** + * Gets the map value for `key`. + * + * @private + * @name get + * @memberOf MapCache + * @param {string} key The key of the value to get. + * @returns {*} Returns the entry value. + */ +function mapCacheGet(key) { + return getMapData(this, key).get(key); +} + +/** + * Checks if a map value for `key` exists. + * + * @private + * @name has + * @memberOf MapCache + * @param {string} key The key of the entry to check. + * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`. + */ +function mapCacheHas(key) { + return getMapData(this, key).has(key); +} + +/** + * Sets the map `key` to `value`. + * + * @private + * @name set + * @memberOf MapCache + * @param {string} key The key of the value to set. + * @param {*} value The value to set. + * @returns {Object} Returns the map cache instance. + */ +function mapCacheSet(key, value) { + getMapData(this, key).set(key, value); + return this; +} + +// Add methods to `MapCache`. +MapCache.prototype.clear = mapCacheClear; +MapCache.prototype['delete'] = mapCacheDelete; +MapCache.prototype.get = mapCacheGet; +MapCache.prototype.has = mapCacheHas; +MapCache.prototype.set = mapCacheSet; + +/** + * + * Creates an array cache object to store unique values. + * + * @private + * @constructor + * @param {Array} [values] The values to cache. + */ +function SetCache(values) { + var index = -1, + length = values ? values.length : 0; + + this.__data__ = new MapCache; + while (++index < length) { + this.add(values[index]); + } +} + +/** + * Adds `value` to the array cache. + * + * @private + * @name add + * @memberOf SetCache + * @alias push + * @param {*} value The value to cache. + * @returns {Object} Returns the cache instance. + */ +function setCacheAdd(value) { + this.__data__.set(value, HASH_UNDEFINED); + return this; +} + +/** + * Checks if `value` is in the array cache. + * + * @private + * @name has + * @memberOf SetCache + * @param {*} value The value to search for. + * @returns {number} Returns `true` if `value` is found, else `false`. + */ +function setCacheHas(value) { + return this.__data__.has(value); +} + +// Add methods to `SetCache`. +SetCache.prototype.add = SetCache.prototype.push = setCacheAdd; +SetCache.prototype.has = setCacheHas; + +/** + * Creates a stack cache object to store key-value pairs. + * + * @private + * @constructor + * @param {Array} [entries] The key-value pairs to cache. + */ +function Stack(entries) { + this.__data__ = new ListCache(entries); +} + +/** + * Removes all key-value entries from the stack. + * + * @private + * @name clear + * @memberOf Stack + */ +function stackClear() { + this.__data__ = new ListCache; +} + +/** + * Removes `key` and its value from the stack. + * + * @private + * @name delete + * @memberOf Stack + * @param {string} key The key of the value to remove. + * @returns {boolean} Returns `true` if the entry was removed, else `false`. + */ +function stackDelete(key) { + return this.__data__['delete'](key); +} + +/** + * Gets the stack value for `key`. + * + * @private + * @name get + * @memberOf Stack + * @param {string} key The key of the value to get. + * @returns {*} Returns the entry value. + */ +function stackGet(key) { + return this.__data__.get(key); +} + +/** + * Checks if a stack value for `key` exists. + * + * @private + * @name has + * @memberOf Stack + * @param {string} key The key of the entry to check. + * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`. + */ +function stackHas(key) { + return this.__data__.has(key); +} + +/** + * Sets the stack `key` to `value`. + * + * @private + * @name set + * @memberOf Stack + * @param {string} key The key of the value to set. + * @param {*} value The value to set. + * @returns {Object} Returns the stack cache instance. + */ +function stackSet(key, value) { + var cache = this.__data__; + if (cache instanceof ListCache) { + var pairs = cache.__data__; + if (!Map || (pairs.length < LARGE_ARRAY_SIZE - 1)) { + pairs.push([key, value]); + return this; + } + cache = this.__data__ = new MapCache(pairs); + } + cache.set(key, value); + return this; +} + +// Add methods to `Stack`. +Stack.prototype.clear = stackClear; +Stack.prototype['delete'] = stackDelete; +Stack.prototype.get = stackGet; +Stack.prototype.has = stackHas; +Stack.prototype.set = stackSet; + +/** + * Creates an array of the enumerable property names of the array-like `value`. + * + * @private + * @param {*} value The value to query. + * @param {boolean} inherited Specify returning inherited property names. + * @returns {Array} Returns the array of property names. + */ +function arrayLikeKeys(value, inherited) { + // Safari 8.1 makes `arguments.callee` enumerable in strict mode. + // Safari 9 makes `arguments.length` enumerable in strict mode. + var result = (isArray(value) || isArguments(value)) + ? baseTimes(value.length, String) + : []; + + var length = result.length, + skipIndexes = !!length; + + for (var key in value) { + if ((inherited || hasOwnProperty.call(value, key)) && + !(skipIndexes && (key == 'length' || isIndex(key, length)))) { + result.push(key); + } + } + return result; +} + +/** + * Gets the index at which the `key` is found in `array` of key-value pairs. + * + * @private + * @param {Array} array The array to inspect. + * @param {*} key The key to search for. + * @returns {number} Returns the index of the matched value, else `-1`. + */ +function assocIndexOf(array, key) { + var length = array.length; + while (length--) { + if (eq(array[length][0], key)) { + return length; + } + } + return -1; +} + +/** + * The base implementation of `_.get` without support for default values. + * + * @private + * @param {Object} object The object to query. + * @param {Array|string} path The path of the property to get. + * @returns {*} Returns the resolved value. + */ +function baseGet(object, path) { + path = isKey(path, object) ? [path] : castPath(path); + + var index = 0, + length = path.length; + + while (object != null && index < length) { + object = object[toKey(path[index++])]; + } + return (index && index == length) ? object : undefined; +} + +/** + * The base implementation of `getTag`. + * + * @private + * @param {*} value The value to query. + * @returns {string} Returns the `toStringTag`. + */ +function baseGetTag(value) { + return objectToString.call(value); +} + +/** + * The base implementation of `_.hasIn` without support for deep paths. + * + * @private + * @param {Object} [object] The object to query. + * @param {Array|string} key The key to check. + * @returns {boolean} Returns `true` if `key` exists, else `false`. + */ +function baseHasIn(object, key) { + return object != null && key in Object(object); +} + +/** + * The base implementation of `_.isEqual` which supports partial comparisons + * and tracks traversed objects. + * + * @private + * @param {*} value The value to compare. + * @param {*} other The other value to compare. + * @param {Function} [customizer] The function to customize comparisons. + * @param {boolean} [bitmask] The bitmask of comparison flags. + * The bitmask may be composed of the following flags: + * 1 - Unordered comparison + * 2 - Partial comparison + * @param {Object} [stack] Tracks traversed `value` and `other` objects. + * @returns {boolean} Returns `true` if the values are equivalent, else `false`. + */ +function baseIsEqual(value, other, customizer, bitmask, stack) { + if (value === other) { + return true; + } + if (value == null || other == null || (!isObject(value) && !isObjectLike(other))) { + return value !== value && other !== other; + } + return baseIsEqualDeep(value, other, baseIsEqual, customizer, bitmask, stack); +} + +/** + * A specialized version of `baseIsEqual` for arrays and objects which performs + * deep comparisons and tracks traversed objects enabling objects with circular + * references to be compared. + * + * @private + * @param {Object} object The object to compare. + * @param {Object} other The other object to compare. + * @param {Function} equalFunc The function to determine equivalents of values. + * @param {Function} [customizer] The function to customize comparisons. + * @param {number} [bitmask] The bitmask of comparison flags. See `baseIsEqual` + * for more details. + * @param {Object} [stack] Tracks traversed `object` and `other` objects. + * @returns {boolean} Returns `true` if the objects are equivalent, else `false`. + */ +function baseIsEqualDeep(object, other, equalFunc, customizer, bitmask, stack) { + var objIsArr = isArray(object), + othIsArr = isArray(other), + objTag = arrayTag, + othTag = arrayTag; + + if (!objIsArr) { + objTag = getTag(object); + objTag = objTag == argsTag ? objectTag : objTag; + } + if (!othIsArr) { + othTag = getTag(other); + othTag = othTag == argsTag ? objectTag : othTag; + } + var objIsObj = objTag == objectTag && !isHostObject(object), + othIsObj = othTag == objectTag && !isHostObject(other), + isSameTag = objTag == othTag; + + if (isSameTag && !objIsObj) { + stack || (stack = new Stack); + return (objIsArr || isTypedArray(object)) + ? equalArrays(object, other, equalFunc, customizer, bitmask, stack) + : equalByTag(object, other, objTag, equalFunc, customizer, bitmask, stack); + } + if (!(bitmask & PARTIAL_COMPARE_FLAG)) { + var objIsWrapped = objIsObj && hasOwnProperty.call(object, '__wrapped__'), + othIsWrapped = othIsObj && hasOwnProperty.call(other, '__wrapped__'); + + if (objIsWrapped || othIsWrapped) { + var objUnwrapped = objIsWrapped ? object.value() : object, + othUnwrapped = othIsWrapped ? other.value() : other; + + stack || (stack = new Stack); + return equalFunc(objUnwrapped, othUnwrapped, customizer, bitmask, stack); + } + } + if (!isSameTag) { + return false; + } + stack || (stack = new Stack); + return equalObjects(object, other, equalFunc, customizer, bitmask, stack); +} + +/** + * The base implementation of `_.isMatch` without support for iteratee shorthands. + * + * @private + * @param {Object} object The object to inspect. + * @param {Object} source The object of property values to match. + * @param {Array} matchData The property names, values, and compare flags to match. + * @param {Function} [customizer] The function to customize comparisons. + * @returns {boolean} Returns `true` if `object` is a match, else `false`. + */ +function baseIsMatch(object, source, matchData, customizer) { + var index = matchData.length, + length = index, + noCustomizer = !customizer; + + if (object == null) { + return !length; + } + object = Object(object); + while (index--) { + var data = matchData[index]; + if ((noCustomizer && data[2]) + ? data[1] !== object[data[0]] + : !(data[0] in object) + ) { + return false; + } + } + while (++index < length) { + data = matchData[index]; + var key = data[0], + objValue = object[key], + srcValue = data[1]; + + if (noCustomizer && data[2]) { + if (objValue === undefined && !(key in object)) { + return false; + } + } else { + var stack = new Stack; + if (customizer) { + var result = customizer(objValue, srcValue, key, object, source, stack); + } + if (!(result === undefined + ? baseIsEqual(srcValue, objValue, customizer, UNORDERED_COMPARE_FLAG | PARTIAL_COMPARE_FLAG, stack) + : result + )) { + return false; + } + } + } + return true; +} + +/** + * The base implementation of `_.isNative` without bad shim checks. + * + * @private + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a native function, + * else `false`. + */ +function baseIsNative(value) { + if (!isObject(value) || isMasked(value)) { + return false; + } + var pattern = (isFunction(value) || isHostObject(value)) ? reIsNative : reIsHostCtor; + return pattern.test(toSource(value)); +} + +/** + * The base implementation of `_.isTypedArray` without Node.js optimizations. + * + * @private + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a typed array, else `false`. + */ +function baseIsTypedArray(value) { + return isObjectLike(value) && + isLength(value.length) && !!typedArrayTags[objectToString.call(value)]; +} + +/** + * The base implementation of `_.iteratee`. + * + * @private + * @param {*} [value=_.identity] The value to convert to an iteratee. + * @returns {Function} Returns the iteratee. + */ +function baseIteratee(value) { + // Don't store the `typeof` result in a variable to avoid a JIT bug in Safari 9. + // See https://bugs.webkit.org/show_bug.cgi?id=156034 for more details. + if (typeof value == 'function') { + return value; + } + if (value == null) { + return identity; + } + if (typeof value == 'object') { + return isArray(value) + ? baseMatchesProperty(value[0], value[1]) + : baseMatches(value); + } + return property(value); +} + +/** + * The base implementation of `_.keys` which doesn't treat sparse arrays as dense. + * + * @private + * @param {Object} object The object to query. + * @returns {Array} Returns the array of property names. + */ +function baseKeys(object) { + if (!isPrototype(object)) { + return nativeKeys(object); + } + var result = []; + for (var key in Object(object)) { + if (hasOwnProperty.call(object, key) && key != 'constructor') { + result.push(key); + } + } + return result; +} + +/** + * The base implementation of `_.matches` which doesn't clone `source`. + * + * @private + * @param {Object} source The object of property values to match. + * @returns {Function} Returns the new spec function. + */ +function baseMatches(source) { + var matchData = getMatchData(source); + if (matchData.length == 1 && matchData[0][2]) { + return matchesStrictComparable(matchData[0][0], matchData[0][1]); + } + return function(object) { + return object === source || baseIsMatch(object, source, matchData); + }; +} + +/** + * The base implementation of `_.matchesProperty` which doesn't clone `srcValue`. + * + * @private + * @param {string} path The path of the property to get. + * @param {*} srcValue The value to match. + * @returns {Function} Returns the new spec function. + */ +function baseMatchesProperty(path, srcValue) { + if (isKey(path) && isStrictComparable(srcValue)) { + return matchesStrictComparable(toKey(path), srcValue); + } + return function(object) { + var objValue = get(object, path); + return (objValue === undefined && objValue === srcValue) + ? hasIn(object, path) + : baseIsEqual(srcValue, objValue, undefined, UNORDERED_COMPARE_FLAG | PARTIAL_COMPARE_FLAG); + }; +} + +/** + * A specialized version of `baseProperty` which supports deep paths. + * + * @private + * @param {Array|string} path The path of the property to get. + * @returns {Function} Returns the new accessor function. + */ +function basePropertyDeep(path) { + return function(object) { + return baseGet(object, path); + }; +} + +/** + * The base implementation of `_.toString` which doesn't convert nullish + * values to empty strings. + * + * @private + * @param {*} value The value to process. + * @returns {string} Returns the string. + */ +function baseToString(value) { + // Exit early for strings to avoid a performance hit in some environments. + if (typeof value == 'string') { + return value; + } + if (isSymbol(value)) { + return symbolToString ? symbolToString.call(value) : ''; + } + var result = (value + ''); + return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result; +} + +/** + * Casts `value` to a path array if it's not one. + * + * @private + * @param {*} value The value to inspect. + * @returns {Array} Returns the cast property path array. + */ +function castPath(value) { + return isArray(value) ? value : stringToPath(value); +} + +/** + * A specialized version of `baseIsEqualDeep` for arrays with support for + * partial deep comparisons. + * + * @private + * @param {Array} array The array to compare. + * @param {Array} other The other array to compare. + * @param {Function} equalFunc The function to determine equivalents of values. + * @param {Function} customizer The function to customize comparisons. + * @param {number} bitmask The bitmask of comparison flags. See `baseIsEqual` + * for more details. + * @param {Object} stack Tracks traversed `array` and `other` objects. + * @returns {boolean} Returns `true` if the arrays are equivalent, else `false`. + */ +function equalArrays(array, other, equalFunc, customizer, bitmask, stack) { + var isPartial = bitmask & PARTIAL_COMPARE_FLAG, + arrLength = array.length, + othLength = other.length; + + if (arrLength != othLength && !(isPartial && othLength > arrLength)) { + return false; + } + // Assume cyclic values are equal. + var stacked = stack.get(array); + if (stacked && stack.get(other)) { + return stacked == other; + } + var index = -1, + result = true, + seen = (bitmask & UNORDERED_COMPARE_FLAG) ? new SetCache : undefined; + + stack.set(array, other); + stack.set(other, array); + + // Ignore non-index properties. + while (++index < arrLength) { + var arrValue = array[index], + othValue = other[index]; + + if (customizer) { + var compared = isPartial + ? customizer(othValue, arrValue, index, other, array, stack) + : customizer(arrValue, othValue, index, array, other, stack); + } + if (compared !== undefined) { + if (compared) { + continue; + } + result = false; + break; + } + // Recursively compare arrays (susceptible to call stack limits). + if (seen) { + if (!arraySome(other, function(othValue, othIndex) { + if (!seen.has(othIndex) && + (arrValue === othValue || equalFunc(arrValue, othValue, customizer, bitmask, stack))) { + return seen.add(othIndex); + } + })) { + result = false; + break; + } + } else if (!( + arrValue === othValue || + equalFunc(arrValue, othValue, customizer, bitmask, stack) + )) { + result = false; + break; + } + } + stack['delete'](array); + stack['delete'](other); + return result; +} + +/** + * A specialized version of `baseIsEqualDeep` for comparing objects of + * the same `toStringTag`. + * + * **Note:** This function only supports comparing values with tags of + * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`. + * + * @private + * @param {Object} object The object to compare. + * @param {Object} other The other object to compare. + * @param {string} tag The `toStringTag` of the objects to compare. + * @param {Function} equalFunc The function to determine equivalents of values. + * @param {Function} customizer The function to customize comparisons. + * @param {number} bitmask The bitmask of comparison flags. See `baseIsEqual` + * for more details. + * @param {Object} stack Tracks traversed `object` and `other` objects. + * @returns {boolean} Returns `true` if the objects are equivalent, else `false`. + */ +function equalByTag(object, other, tag, equalFunc, customizer, bitmask, stack) { + switch (tag) { + case dataViewTag: + if ((object.byteLength != other.byteLength) || + (object.byteOffset != other.byteOffset)) { + return false; + } + object = object.buffer; + other = other.buffer; + + case arrayBufferTag: + if ((object.byteLength != other.byteLength) || + !equalFunc(new Uint8Array(object), new Uint8Array(other))) { + return false; + } + return true; + + case boolTag: + case dateTag: + case numberTag: + // Coerce booleans to `1` or `0` and dates to milliseconds. + // Invalid dates are coerced to `NaN`. + return eq(+object, +other); + + case errorTag: + return object.name == other.name && object.message == other.message; + + case regexpTag: + case stringTag: + // Coerce regexes to strings and treat strings, primitives and objects, + // as equal. See http://www.ecma-international.org/ecma-262/7.0/#sec-regexp.prototype.tostring + // for more details. + return object == (other + ''); + + case mapTag: + var convert = mapToArray; + + case setTag: + var isPartial = bitmask & PARTIAL_COMPARE_FLAG; + convert || (convert = setToArray); + + if (object.size != other.size && !isPartial) { + return false; + } + // Assume cyclic values are equal. + var stacked = stack.get(object); + if (stacked) { + return stacked == other; + } + bitmask |= UNORDERED_COMPARE_FLAG; + + // Recursively compare objects (susceptible to call stack limits). + stack.set(object, other); + var result = equalArrays(convert(object), convert(other), equalFunc, customizer, bitmask, stack); + stack['delete'](object); + return result; + + case symbolTag: + if (symbolValueOf) { + return symbolValueOf.call(object) == symbolValueOf.call(other); + } + } + return false; +} + +/** + * A specialized version of `baseIsEqualDeep` for objects with support for + * partial deep comparisons. + * + * @private + * @param {Object} object The object to compare. + * @param {Object} other The other object to compare. + * @param {Function} equalFunc The function to determine equivalents of values. + * @param {Function} customizer The function to customize comparisons. + * @param {number} bitmask The bitmask of comparison flags. See `baseIsEqual` + * for more details. + * @param {Object} stack Tracks traversed `object` and `other` objects. + * @returns {boolean} Returns `true` if the objects are equivalent, else `false`. + */ +function equalObjects(object, other, equalFunc, customizer, bitmask, stack) { + var isPartial = bitmask & PARTIAL_COMPARE_FLAG, + objProps = keys(object), + objLength = objProps.length, + othProps = keys(other), + othLength = othProps.length; + + if (objLength != othLength && !isPartial) { + return false; + } + var index = objLength; + while (index--) { + var key = objProps[index]; + if (!(isPartial ? key in other : hasOwnProperty.call(other, key))) { + return false; + } + } + // Assume cyclic values are equal. + var stacked = stack.get(object); + if (stacked && stack.get(other)) { + return stacked == other; + } + var result = true; + stack.set(object, other); + stack.set(other, object); + + var skipCtor = isPartial; + while (++index < objLength) { + key = objProps[index]; + var objValue = object[key], + othValue = other[key]; + + if (customizer) { + var compared = isPartial + ? customizer(othValue, objValue, key, other, object, stack) + : customizer(objValue, othValue, key, object, other, stack); + } + // Recursively compare objects (susceptible to call stack limits). + if (!(compared === undefined + ? (objValue === othValue || equalFunc(objValue, othValue, customizer, bitmask, stack)) + : compared + )) { + result = false; + break; + } + skipCtor || (skipCtor = key == 'constructor'); + } + if (result && !skipCtor) { + var objCtor = object.constructor, + othCtor = other.constructor; + + // Non `Object` object instances with different constructors are not equal. + if (objCtor != othCtor && + ('constructor' in object && 'constructor' in other) && + !(typeof objCtor == 'function' && objCtor instanceof objCtor && + typeof othCtor == 'function' && othCtor instanceof othCtor)) { + result = false; + } + } + stack['delete'](object); + stack['delete'](other); + return result; +} + +/** + * Gets the data for `map`. + * + * @private + * @param {Object} map The map to query. + * @param {string} key The reference key. + * @returns {*} Returns the map data. + */ +function getMapData(map, key) { + var data = map.__data__; + return isKeyable(key) + ? data[typeof key == 'string' ? 'string' : 'hash'] + : data.map; +} + +/** + * Gets the property names, values, and compare flags of `object`. + * + * @private + * @param {Object} object The object to query. + * @returns {Array} Returns the match data of `object`. + */ +function getMatchData(object) { + var result = keys(object), + length = result.length; + + while (length--) { + var key = result[length], + value = object[key]; + + result[length] = [key, value, isStrictComparable(value)]; + } + return result; +} + +/** + * Gets the native function at `key` of `object`. + * + * @private + * @param {Object} object The object to query. + * @param {string} key The key of the method to get. + * @returns {*} Returns the function if it's native, else `undefined`. + */ +function getNative(object, key) { + var value = getValue(object, key); + return baseIsNative(value) ? value : undefined; +} + +/** + * Gets the `toStringTag` of `value`. + * + * @private + * @param {*} value The value to query. + * @returns {string} Returns the `toStringTag`. + */ +var getTag = baseGetTag; + +// Fallback for data views, maps, sets, and weak maps in IE 11, +// for data views in Edge < 14, and promises in Node.js. +if ((DataView && getTag(new DataView(new ArrayBuffer(1))) != dataViewTag) || + (Map && getTag(new Map) != mapTag) || + (Promise && getTag(Promise.resolve()) != promiseTag) || + (Set && getTag(new Set) != setTag) || + (WeakMap && getTag(new WeakMap) != weakMapTag)) { + getTag = function(value) { + var result = objectToString.call(value), + Ctor = result == objectTag ? value.constructor : undefined, + ctorString = Ctor ? toSource(Ctor) : undefined; + + if (ctorString) { + switch (ctorString) { + case dataViewCtorString: return dataViewTag; + case mapCtorString: return mapTag; + case promiseCtorString: return promiseTag; + case setCtorString: return setTag; + case weakMapCtorString: return weakMapTag; + } + } + return result; + }; +} + +/** + * Checks if `path` exists on `object`. + * + * @private + * @param {Object} object The object to query. + * @param {Array|string} path The path to check. + * @param {Function} hasFunc The function to check properties. + * @returns {boolean} Returns `true` if `path` exists, else `false`. + */ +function hasPath(object, path, hasFunc) { + path = isKey(path, object) ? [path] : castPath(path); + + var result, + index = -1, + length = path.length; + + while (++index < length) { + var key = toKey(path[index]); + if (!(result = object != null && hasFunc(object, key))) { + break; + } + object = object[key]; + } + if (result) { + return result; + } + var length = object ? object.length : 0; + return !!length && isLength(length) && isIndex(key, length) && + (isArray(object) || isArguments(object)); +} + +/** + * Checks if `value` is a valid array-like index. + * + * @private + * @param {*} value The value to check. + * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index. + * @returns {boolean} Returns `true` if `value` is a valid index, else `false`. + */ +function isIndex(value, length) { + length = length == null ? MAX_SAFE_INTEGER : length; + return !!length && + (typeof value == 'number' || reIsUint.test(value)) && + (value > -1 && value % 1 == 0 && value < length); +} + +/** + * Checks if `value` is a property name and not a property path. + * + * @private + * @param {*} value The value to check. + * @param {Object} [object] The object to query keys on. + * @returns {boolean} Returns `true` if `value` is a property name, else `false`. + */ +function isKey(value, object) { + if (isArray(value)) { + return false; + } + var type = typeof value; + if (type == 'number' || type == 'symbol' || type == 'boolean' || + value == null || isSymbol(value)) { + return true; + } + return reIsPlainProp.test(value) || !reIsDeepProp.test(value) || + (object != null && value in Object(object)); +} + +/** + * Checks if `value` is suitable for use as unique object key. + * + * @private + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is suitable, else `false`. + */ +function isKeyable(value) { + var type = typeof value; + return (type == 'string' || type == 'number' || type == 'symbol' || type == 'boolean') + ? (value !== '__proto__') + : (value === null); +} + +/** + * Checks if `func` has its source masked. + * + * @private + * @param {Function} func The function to check. + * @returns {boolean} Returns `true` if `func` is masked, else `false`. + */ +function isMasked(func) { + return !!maskSrcKey && (maskSrcKey in func); +} + +/** + * Checks if `value` is likely a prototype object. + * + * @private + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a prototype, else `false`. + */ +function isPrototype(value) { + var Ctor = value && value.constructor, + proto = (typeof Ctor == 'function' && Ctor.prototype) || objectProto; + + return value === proto; +} + +/** + * Checks if `value` is suitable for strict equality comparisons, i.e. `===`. + * + * @private + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` if suitable for strict + * equality comparisons, else `false`. + */ +function isStrictComparable(value) { + return value === value && !isObject(value); +} + +/** + * A specialized version of `matchesProperty` for source values suitable + * for strict equality comparisons, i.e. `===`. + * + * @private + * @param {string} key The key of the property to get. + * @param {*} srcValue The value to match. + * @returns {Function} Returns the new spec function. + */ +function matchesStrictComparable(key, srcValue) { + return function(object) { + if (object == null) { + return false; + } + return object[key] === srcValue && + (srcValue !== undefined || (key in Object(object))); + }; +} + +/** + * Converts `string` to a property path array. + * + * @private + * @param {string} string The string to convert. + * @returns {Array} Returns the property path array. + */ +var stringToPath = memoize(function(string) { + string = toString(string); + + var result = []; + if (reLeadingDot.test(string)) { + result.push(''); + } + string.replace(rePropName, function(match, number, quote, string) { + result.push(quote ? string.replace(reEscapeChar, '$1') : (number || match)); + }); + return result; +}); + +/** + * Converts `value` to a string key if it's not a string or symbol. + * + * @private + * @param {*} value The value to inspect. + * @returns {string|symbol} Returns the key. + */ +function toKey(value) { + if (typeof value == 'string' || isSymbol(value)) { + return value; + } + var result = (value + ''); + return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result; +} + +/** + * Converts `func` to its source code. + * + * @private + * @param {Function} func The function to process. + * @returns {string} Returns the source code. + */ +function toSource(func) { + if (func != null) { + try { + return funcToString.call(func); + } catch (e) {} + try { + return (func + ''); + } catch (e) {} + } + return ''; +} + +/** + * This method is like `_.find` except that it returns the index of the first + * element `predicate` returns truthy for instead of the element itself. + * + * @static + * @memberOf _ + * @since 1.1.0 + * @category Array + * @param {Array} array The array to inspect. + * @param {Function} [predicate=_.identity] + * The function invoked per iteration. + * @param {number} [fromIndex=0] The index to search from. + * @returns {number} Returns the index of the found element, else `-1`. + * @example + * + * var users = [ + * { 'user': 'barney', 'active': false }, + * { 'user': 'fred', 'active': false }, + * { 'user': 'pebbles', 'active': true } + * ]; + * + * _.findIndex(users, function(o) { return o.user == 'barney'; }); + * // => 0 + * + * // The `_.matches` iteratee shorthand. + * _.findIndex(users, { 'user': 'fred', 'active': false }); + * // => 1 + * + * // The `_.matchesProperty` iteratee shorthand. + * _.findIndex(users, ['active', false]); + * // => 0 + * + * // The `_.property` iteratee shorthand. + * _.findIndex(users, 'active'); + * // => 2 + */ +function findIndex(array, predicate, fromIndex) { + var length = array ? array.length : 0; + if (!length) { + return -1; + } + var index = fromIndex == null ? 0 : toInteger(fromIndex); + if (index < 0) { + index = nativeMax(length + index, 0); + } + return baseFindIndex(array, baseIteratee(predicate, 3), index); +} + +/** + * Creates a function that memoizes the result of `func`. If `resolver` is + * provided, it determines the cache key for storing the result based on the + * arguments provided to the memoized function. By default, the first argument + * provided to the memoized function is used as the map cache key. The `func` + * is invoked with the `this` binding of the memoized function. + * + * **Note:** The cache is exposed as the `cache` property on the memoized + * function. Its creation may be customized by replacing the `_.memoize.Cache` + * constructor with one whose instances implement the + * [`Map`](http://ecma-international.org/ecma-262/7.0/#sec-properties-of-the-map-prototype-object) + * method interface of `delete`, `get`, `has`, and `set`. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Function + * @param {Function} func The function to have its output memoized. + * @param {Function} [resolver] The function to resolve the cache key. + * @returns {Function} Returns the new memoized function. + * @example + * + * var object = { 'a': 1, 'b': 2 }; + * var other = { 'c': 3, 'd': 4 }; + * + * var values = _.memoize(_.values); + * values(object); + * // => [1, 2] + * + * values(other); + * // => [3, 4] + * + * object.a = 2; + * values(object); + * // => [1, 2] + * + * // Modify the result cache. + * values.cache.set(object, ['a', 'b']); + * values(object); + * // => ['a', 'b'] + * + * // Replace `_.memoize.Cache`. + * _.memoize.Cache = WeakMap; + */ +function memoize(func, resolver) { + if (typeof func != 'function' || (resolver && typeof resolver != 'function')) { + throw new TypeError(FUNC_ERROR_TEXT); + } + var memoized = function() { + var args = arguments, + key = resolver ? resolver.apply(this, args) : args[0], + cache = memoized.cache; + + if (cache.has(key)) { + return cache.get(key); + } + var result = func.apply(this, args); + memoized.cache = cache.set(key, result); + return result; + }; + memoized.cache = new (memoize.Cache || MapCache); + return memoized; +} + +// Assign cache to `_.memoize`. +memoize.Cache = MapCache; + +/** + * Performs a + * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero) + * comparison between two values to determine if they are equivalent. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Lang + * @param {*} value The value to compare. + * @param {*} other The other value to compare. + * @returns {boolean} Returns `true` if the values are equivalent, else `false`. + * @example + * + * var object = { 'a': 1 }; + * var other = { 'a': 1 }; + * + * _.eq(object, object); + * // => true + * + * _.eq(object, other); + * // => false + * + * _.eq('a', 'a'); + * // => true + * + * _.eq('a', Object('a')); + * // => false + * + * _.eq(NaN, NaN); + * // => true + */ +function eq(value, other) { + return value === other || (value !== value && other !== other); +} + +/** + * Checks if `value` is likely an `arguments` object. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is an `arguments` object, + * else `false`. + * @example + * + * _.isArguments(function() { return arguments; }()); + * // => true + * + * _.isArguments([1, 2, 3]); + * // => false + */ +function isArguments(value) { + // Safari 8.1 makes `arguments.callee` enumerable in strict mode. + return isArrayLikeObject(value) && hasOwnProperty.call(value, 'callee') && + (!propertyIsEnumerable.call(value, 'callee') || objectToString.call(value) == argsTag); +} + +/** + * Checks if `value` is classified as an `Array` object. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is an array, else `false`. + * @example + * + * _.isArray([1, 2, 3]); + * // => true + * + * _.isArray(document.body.children); + * // => false + * + * _.isArray('abc'); + * // => false + * + * _.isArray(_.noop); + * // => false + */ +var isArray = Array.isArray; + +/** + * Checks if `value` is array-like. A value is considered array-like if it's + * not a function and has a `value.length` that's an integer greater than or + * equal to `0` and less than or equal to `Number.MAX_SAFE_INTEGER`. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is array-like, else `false`. + * @example + * + * _.isArrayLike([1, 2, 3]); + * // => true + * + * _.isArrayLike(document.body.children); + * // => true + * + * _.isArrayLike('abc'); + * // => true + * + * _.isArrayLike(_.noop); + * // => false + */ +function isArrayLike(value) { + return value != null && isLength(value.length) && !isFunction(value); +} + +/** + * This method is like `_.isArrayLike` except that it also checks if `value` + * is an object. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is an array-like object, + * else `false`. + * @example + * + * _.isArrayLikeObject([1, 2, 3]); + * // => true + * + * _.isArrayLikeObject(document.body.children); + * // => true + * + * _.isArrayLikeObject('abc'); + * // => false + * + * _.isArrayLikeObject(_.noop); + * // => false + */ +function isArrayLikeObject(value) { + return isObjectLike(value) && isArrayLike(value); +} + +/** + * Checks if `value` is classified as a `Function` object. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a function, else `false`. + * @example + * + * _.isFunction(_); + * // => true + * + * _.isFunction(/abc/); + * // => false + */ +function isFunction(value) { + // The use of `Object#toString` avoids issues with the `typeof` operator + // in Safari 8-9 which returns 'object' for typed array and other constructors. + var tag = isObject(value) ? objectToString.call(value) : ''; + return tag == funcTag || tag == genTag; +} + +/** + * Checks if `value` is a valid array-like length. + * + * **Note:** This method is loosely based on + * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength). + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a valid length, else `false`. + * @example + * + * _.isLength(3); + * // => true + * + * _.isLength(Number.MIN_VALUE); + * // => false + * + * _.isLength(Infinity); + * // => false + * + * _.isLength('3'); + * // => false + */ +function isLength(value) { + return typeof value == 'number' && + value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER; +} + +/** + * Checks if `value` is the + * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types) + * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`) + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is an object, else `false`. + * @example + * + * _.isObject({}); + * // => true + * + * _.isObject([1, 2, 3]); + * // => true + * + * _.isObject(_.noop); + * // => true + * + * _.isObject(null); + * // => false + */ +function isObject(value) { + var type = typeof value; + return !!value && (type == 'object' || type == 'function'); +} + +/** + * Checks if `value` is object-like. A value is object-like if it's not `null` + * and has a `typeof` result of "object". + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is object-like, else `false`. + * @example + * + * _.isObjectLike({}); + * // => true + * + * _.isObjectLike([1, 2, 3]); + * // => true + * + * _.isObjectLike(_.noop); + * // => false + * + * _.isObjectLike(null); + * // => false + */ +function isObjectLike(value) { + return !!value && typeof value == 'object'; +} + +/** + * Checks if `value` is classified as a `Symbol` primitive or object. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a symbol, else `false`. + * @example + * + * _.isSymbol(Symbol.iterator); + * // => true + * + * _.isSymbol('abc'); + * // => false + */ +function isSymbol(value) { + return typeof value == 'symbol' || + (isObjectLike(value) && objectToString.call(value) == symbolTag); +} + +/** + * Checks if `value` is classified as a typed array. + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a typed array, else `false`. + * @example + * + * _.isTypedArray(new Uint8Array); + * // => true + * + * _.isTypedArray([]); + * // => false + */ +var isTypedArray = nodeIsTypedArray ? baseUnary(nodeIsTypedArray) : baseIsTypedArray; + +/** + * Converts `value` to a finite number. + * + * @static + * @memberOf _ + * @since 4.12.0 + * @category Lang + * @param {*} value The value to convert. + * @returns {number} Returns the converted number. + * @example + * + * _.toFinite(3.2); + * // => 3.2 + * + * _.toFinite(Number.MIN_VALUE); + * // => 5e-324 + * + * _.toFinite(Infinity); + * // => 1.7976931348623157e+308 + * + * _.toFinite('3.2'); + * // => 3.2 + */ +function toFinite(value) { + if (!value) { + return value === 0 ? value : 0; + } + value = toNumber(value); + if (value === INFINITY || value === -INFINITY) { + var sign = (value < 0 ? -1 : 1); + return sign * MAX_INTEGER; + } + return value === value ? value : 0; +} + +/** + * Converts `value` to an integer. + * + * **Note:** This method is loosely based on + * [`ToInteger`](http://www.ecma-international.org/ecma-262/7.0/#sec-tointeger). + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Lang + * @param {*} value The value to convert. + * @returns {number} Returns the converted integer. + * @example + * + * _.toInteger(3.2); + * // => 3 + * + * _.toInteger(Number.MIN_VALUE); + * // => 0 + * + * _.toInteger(Infinity); + * // => 1.7976931348623157e+308 + * + * _.toInteger('3.2'); + * // => 3 + */ +function toInteger(value) { + var result = toFinite(value), + remainder = result % 1; + + return result === result ? (remainder ? result - remainder : result) : 0; +} + +/** + * Converts `value` to a number. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Lang + * @param {*} value The value to process. + * @returns {number} Returns the number. + * @example + * + * _.toNumber(3.2); + * // => 3.2 + * + * _.toNumber(Number.MIN_VALUE); + * // => 5e-324 + * + * _.toNumber(Infinity); + * // => Infinity + * + * _.toNumber('3.2'); + * // => 3.2 + */ +function toNumber(value) { + if (typeof value == 'number') { + return value; + } + if (isSymbol(value)) { + return NAN; + } + if (isObject(value)) { + var other = typeof value.valueOf == 'function' ? value.valueOf() : value; + value = isObject(other) ? (other + '') : other; + } + if (typeof value != 'string') { + return value === 0 ? value : +value; + } + value = value.replace(reTrim, ''); + var isBinary = reIsBinary.test(value); + return (isBinary || reIsOctal.test(value)) + ? freeParseInt(value.slice(2), isBinary ? 2 : 8) + : (reIsBadHex.test(value) ? NAN : +value); +} + +/** + * Converts `value` to a string. An empty string is returned for `null` + * and `undefined` values. The sign of `-0` is preserved. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Lang + * @param {*} value The value to process. + * @returns {string} Returns the string. + * @example + * + * _.toString(null); + * // => '' + * + * _.toString(-0); + * // => '-0' + * + * _.toString([1, 2, 3]); + * // => '1,2,3' + */ +function toString(value) { + return value == null ? '' : baseToString(value); +} + +/** + * Gets the value at `path` of `object`. If the resolved value is + * `undefined`, the `defaultValue` is returned in its place. + * + * @static + * @memberOf _ + * @since 3.7.0 + * @category Object + * @param {Object} object The object to query. + * @param {Array|string} path The path of the property to get. + * @param {*} [defaultValue] The value returned for `undefined` resolved values. + * @returns {*} Returns the resolved value. + * @example + * + * var object = { 'a': [{ 'b': { 'c': 3 } }] }; + * + * _.get(object, 'a[0].b.c'); + * // => 3 + * + * _.get(object, ['a', '0', 'b', 'c']); + * // => 3 + * + * _.get(object, 'a.b.c', 'default'); + * // => 'default' + */ +function get(object, path, defaultValue) { + var result = object == null ? undefined : baseGet(object, path); + return result === undefined ? defaultValue : result; +} + +/** + * Checks if `path` is a direct or inherited property of `object`. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Object + * @param {Object} object The object to query. + * @param {Array|string} path The path to check. + * @returns {boolean} Returns `true` if `path` exists, else `false`. + * @example + * + * var object = _.create({ 'a': _.create({ 'b': 2 }) }); + * + * _.hasIn(object, 'a'); + * // => true + * + * _.hasIn(object, 'a.b'); + * // => true + * + * _.hasIn(object, ['a', 'b']); + * // => true + * + * _.hasIn(object, 'b'); + * // => false + */ +function hasIn(object, path) { + return object != null && hasPath(object, path, baseHasIn); +} + +/** + * Creates an array of the own enumerable property names of `object`. + * + * **Note:** Non-object values are coerced to objects. See the + * [ES spec](http://ecma-international.org/ecma-262/7.0/#sec-object.keys) + * for more details. + * + * @static + * @since 0.1.0 + * @memberOf _ + * @category Object + * @param {Object} object The object to query. + * @returns {Array} Returns the array of property names. + * @example + * + * function Foo() { + * this.a = 1; + * this.b = 2; + * } + * + * Foo.prototype.c = 3; + * + * _.keys(new Foo); + * // => ['a', 'b'] (iteration order is not guaranteed) + * + * _.keys('hi'); + * // => ['0', '1'] + */ +function keys(object) { + return isArrayLike(object) ? arrayLikeKeys(object) : baseKeys(object); +} + +/** + * This method returns the first argument it receives. + * + * @static + * @since 0.1.0 + * @memberOf _ + * @category Util + * @param {*} value Any value. + * @returns {*} Returns `value`. + * @example + * + * var object = { 'a': 1 }; + * + * console.log(_.identity(object) === object); + * // => true + */ +function identity(value) { + return value; +} + +/** + * Creates a function that returns the value at `path` of a given object. + * + * @static + * @memberOf _ + * @since 2.4.0 + * @category Util + * @param {Array|string} path The path of the property to get. + * @returns {Function} Returns the new accessor function. + * @example + * + * var objects = [ + * { 'a': { 'b': 2 } }, + * { 'a': { 'b': 1 } } + * ]; + * + * _.map(objects, _.property('a.b')); + * // => [2, 1] + * + * _.map(_.sortBy(objects, _.property(['a', 'b'])), 'a.b'); + * // => [1, 2] + */ +function property(path) { + return isKey(path) ? baseProperty(toKey(path)) : basePropertyDeep(path); +} + +module.exports = findIndex; + +/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(10), __webpack_require__(16)(module))) + +/***/ }), +/* 8 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; +/** + * Copyright (c) 2014-present, Facebook, Inc. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ + + + +/** + * Similar to invariant but only logs a warning if the condition is not met. + * This can be used to log issues in development environments in critical + * paths. Removing the logging code for production environments will keep the + * same logic and follow the same code paths. + */ + +var __DEV__ = "production" !== 'production'; + +var warning = function() {}; + +if (__DEV__) { + var printWarning = function printWarning(format, args) { + var len = arguments.length; + args = new Array(len > 1 ? len - 1 : 0); + for (var key = 1; key < len; key++) { + args[key - 1] = arguments[key]; + } + var argIndex = 0; + var message = 'Warning: ' + + format.replace(/%s/g, function() { + return args[argIndex++]; + }); + if (typeof console !== 'undefined') { + console.error(message); + } + try { + // --- Welcome to debugging React --- + // This error was thrown as a convenience so that you can use this stack + // to find the callsite that caused this warning to fire. + throw new Error(message); + } catch (x) {} + } + + warning = function(condition, format, args) { + var len = arguments.length; + args = new Array(len > 2 ? len - 2 : 0); + for (var key = 2; key < len; key++) { + args[key - 2] = arguments[key]; + } + if (format === undefined) { + throw new Error( + '`warning(condition, format, ...args)` requires a warning ' + + 'message argument' + ); + } + if (!condition) { + printWarning.apply(null, [format].concat(args)); + } + }; +} + +module.exports = warning; + + +/***/ }), +/* 9 */ +/***/ (function(module, exports, __webpack_require__) { + +/* WEBPACK VAR INJECTION */(function(global, module) {/** + * Lodash (Custom Build) <https://lodash.com/> + * Build: `lodash modularize exports="npm" -o ./` + * Copyright JS Foundation and other contributors <https://js.foundation/> + * Released under MIT license <https://lodash.com/license> + * Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE> + * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors + */ + +/** Used as the size to enable large array optimizations. */ +var LARGE_ARRAY_SIZE = 200; + +/** Used to stand-in for `undefined` hash values. */ +var HASH_UNDEFINED = '__lodash_hash_undefined__'; + +/** Used to compose bitmasks for value comparisons. */ +var COMPARE_PARTIAL_FLAG = 1, + COMPARE_UNORDERED_FLAG = 2; + +/** Used as references for various `Number` constants. */ +var MAX_SAFE_INTEGER = 9007199254740991; + +/** `Object#toString` result references. */ +var argsTag = '[object Arguments]', + arrayTag = '[object Array]', + asyncTag = '[object AsyncFunction]', + boolTag = '[object Boolean]', + dateTag = '[object Date]', + errorTag = '[object Error]', + funcTag = '[object Function]', + genTag = '[object GeneratorFunction]', + mapTag = '[object Map]', + numberTag = '[object Number]', + nullTag = '[object Null]', + objectTag = '[object Object]', + promiseTag = '[object Promise]', + proxyTag = '[object Proxy]', + regexpTag = '[object RegExp]', + setTag = '[object Set]', + stringTag = '[object String]', + symbolTag = '[object Symbol]', + undefinedTag = '[object Undefined]', + weakMapTag = '[object WeakMap]'; + +var arrayBufferTag = '[object ArrayBuffer]', + dataViewTag = '[object DataView]', + float32Tag = '[object Float32Array]', + float64Tag = '[object Float64Array]', + int8Tag = '[object Int8Array]', + int16Tag = '[object Int16Array]', + int32Tag = '[object Int32Array]', + uint8Tag = '[object Uint8Array]', + uint8ClampedTag = '[object Uint8ClampedArray]', + uint16Tag = '[object Uint16Array]', + uint32Tag = '[object Uint32Array]'; + +/** + * Used to match `RegExp` + * [syntax characters](http://ecma-international.org/ecma-262/7.0/#sec-patterns). + */ +var reRegExpChar = /[\\^$.*+?()[\]{}|]/g; + +/** Used to detect host constructors (Safari). */ +var reIsHostCtor = /^\[object .+?Constructor\]$/; + +/** Used to detect unsigned integer values. */ +var reIsUint = /^(?:0|[1-9]\d*)$/; + +/** Used to identify `toStringTag` values of typed arrays. */ +var typedArrayTags = {}; +typedArrayTags[float32Tag] = typedArrayTags[float64Tag] = +typedArrayTags[int8Tag] = typedArrayTags[int16Tag] = +typedArrayTags[int32Tag] = typedArrayTags[uint8Tag] = +typedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] = +typedArrayTags[uint32Tag] = true; +typedArrayTags[argsTag] = typedArrayTags[arrayTag] = +typedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] = +typedArrayTags[dataViewTag] = typedArrayTags[dateTag] = +typedArrayTags[errorTag] = typedArrayTags[funcTag] = +typedArrayTags[mapTag] = typedArrayTags[numberTag] = +typedArrayTags[objectTag] = typedArrayTags[regexpTag] = +typedArrayTags[setTag] = typedArrayTags[stringTag] = +typedArrayTags[weakMapTag] = false; + +/** Detect free variable `global` from Node.js. */ +var freeGlobal = typeof global == 'object' && global && global.Object === Object && global; + +/** Detect free variable `self`. */ +var freeSelf = typeof self == 'object' && self && self.Object === Object && self; + +/** Used as a reference to the global object. */ +var root = freeGlobal || freeSelf || Function('return this')(); + +/** Detect free variable `exports`. */ +var freeExports = true && exports && !exports.nodeType && exports; + +/** Detect free variable `module`. */ +var freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module; + +/** Detect the popular CommonJS extension `module.exports`. */ +var moduleExports = freeModule && freeModule.exports === freeExports; + +/** Detect free variable `process` from Node.js. */ +var freeProcess = moduleExports && freeGlobal.process; + +/** Used to access faster Node.js helpers. */ +var nodeUtil = (function() { + try { + return freeProcess && freeProcess.binding && freeProcess.binding('util'); + } catch (e) {} +}()); + +/* Node.js helper references. */ +var nodeIsTypedArray = nodeUtil && nodeUtil.isTypedArray; + +/** + * A specialized version of `_.filter` for arrays without support for + * iteratee shorthands. + * + * @private + * @param {Array} [array] The array to iterate over. + * @param {Function} predicate The function invoked per iteration. + * @returns {Array} Returns the new filtered array. + */ +function arrayFilter(array, predicate) { + var index = -1, + length = array == null ? 0 : array.length, + resIndex = 0, + result = []; + + while (++index < length) { + var value = array[index]; + if (predicate(value, index, array)) { + result[resIndex++] = value; + } + } + return result; +} + +/** + * Appends the elements of `values` to `array`. + * + * @private + * @param {Array} array The array to modify. + * @param {Array} values The values to append. + * @returns {Array} Returns `array`. + */ +function arrayPush(array, values) { + var index = -1, + length = values.length, + offset = array.length; + + while (++index < length) { + array[offset + index] = values[index]; + } + return array; +} + +/** + * A specialized version of `_.some` for arrays without support for iteratee + * shorthands. + * + * @private + * @param {Array} [array] The array to iterate over. + * @param {Function} predicate The function invoked per iteration. + * @returns {boolean} Returns `true` if any element passes the predicate check, + * else `false`. + */ +function arraySome(array, predicate) { + var index = -1, + length = array == null ? 0 : array.length; + + while (++index < length) { + if (predicate(array[index], index, array)) { + return true; + } + } + return false; +} + +/** + * The base implementation of `_.times` without support for iteratee shorthands + * or max array length checks. + * + * @private + * @param {number} n The number of times to invoke `iteratee`. + * @param {Function} iteratee The function invoked per iteration. + * @returns {Array} Returns the array of results. + */ +function baseTimes(n, iteratee) { + var index = -1, + result = Array(n); + + while (++index < n) { + result[index] = iteratee(index); + } + return result; +} + +/** + * The base implementation of `_.unary` without support for storing metadata. + * + * @private + * @param {Function} func The function to cap arguments for. + * @returns {Function} Returns the new capped function. + */ +function baseUnary(func) { + return function(value) { + return func(value); + }; +} + +/** + * Checks if a `cache` value for `key` exists. + * + * @private + * @param {Object} cache The cache to query. + * @param {string} key The key of the entry to check. + * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`. + */ +function cacheHas(cache, key) { + return cache.has(key); +} + +/** + * Gets the value at `key` of `object`. + * + * @private + * @param {Object} [object] The object to query. + * @param {string} key The key of the property to get. + * @returns {*} Returns the property value. + */ +function getValue(object, key) { + return object == null ? undefined : object[key]; +} + +/** + * Converts `map` to its key-value pairs. + * + * @private + * @param {Object} map The map to convert. + * @returns {Array} Returns the key-value pairs. + */ +function mapToArray(map) { + var index = -1, + result = Array(map.size); + + map.forEach(function(value, key) { + result[++index] = [key, value]; + }); + return result; +} + +/** + * Creates a unary function that invokes `func` with its argument transformed. + * + * @private + * @param {Function} func The function to wrap. + * @param {Function} transform The argument transform. + * @returns {Function} Returns the new function. + */ +function overArg(func, transform) { + return function(arg) { + return func(transform(arg)); + }; +} + +/** + * Converts `set` to an array of its values. + * + * @private + * @param {Object} set The set to convert. + * @returns {Array} Returns the values. + */ +function setToArray(set) { + var index = -1, + result = Array(set.size); + + set.forEach(function(value) { + result[++index] = value; + }); + return result; +} + +/** Used for built-in method references. */ +var arrayProto = Array.prototype, + funcProto = Function.prototype, + objectProto = Object.prototype; + +/** Used to detect overreaching core-js shims. */ +var coreJsData = root['__core-js_shared__']; + +/** Used to resolve the decompiled source of functions. */ +var funcToString = funcProto.toString; + +/** Used to check objects for own properties. */ +var hasOwnProperty = objectProto.hasOwnProperty; + +/** Used to detect methods masquerading as native. */ +var maskSrcKey = (function() { + var uid = /[^.]+$/.exec(coreJsData && coreJsData.keys && coreJsData.keys.IE_PROTO || ''); + return uid ? ('Symbol(src)_1.' + uid) : ''; +}()); + +/** + * Used to resolve the + * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring) + * of values. + */ +var nativeObjectToString = objectProto.toString; + +/** Used to detect if a method is native. */ +var reIsNative = RegExp('^' + + funcToString.call(hasOwnProperty).replace(reRegExpChar, '\\$&') + .replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g, '$1.*?') + '$' +); + +/** Built-in value references. */ +var Buffer = moduleExports ? root.Buffer : undefined, + Symbol = root.Symbol, + Uint8Array = root.Uint8Array, + propertyIsEnumerable = objectProto.propertyIsEnumerable, + splice = arrayProto.splice, + symToStringTag = Symbol ? Symbol.toStringTag : undefined; + +/* Built-in method references for those with the same name as other `lodash` methods. */ +var nativeGetSymbols = Object.getOwnPropertySymbols, + nativeIsBuffer = Buffer ? Buffer.isBuffer : undefined, + nativeKeys = overArg(Object.keys, Object); + +/* Built-in method references that are verified to be native. */ +var DataView = getNative(root, 'DataView'), + Map = getNative(root, 'Map'), + Promise = getNative(root, 'Promise'), + Set = getNative(root, 'Set'), + WeakMap = getNative(root, 'WeakMap'), + nativeCreate = getNative(Object, 'create'); + +/** Used to detect maps, sets, and weakmaps. */ +var dataViewCtorString = toSource(DataView), + mapCtorString = toSource(Map), + promiseCtorString = toSource(Promise), + setCtorString = toSource(Set), + weakMapCtorString = toSource(WeakMap); + +/** Used to convert symbols to primitives and strings. */ +var symbolProto = Symbol ? Symbol.prototype : undefined, + symbolValueOf = symbolProto ? symbolProto.valueOf : undefined; + +/** + * Creates a hash object. + * + * @private + * @constructor + * @param {Array} [entries] The key-value pairs to cache. + */ +function Hash(entries) { + var index = -1, + length = entries == null ? 0 : entries.length; + + this.clear(); + while (++index < length) { + var entry = entries[index]; + this.set(entry[0], entry[1]); + } +} + +/** + * Removes all key-value entries from the hash. + * + * @private + * @name clear + * @memberOf Hash + */ +function hashClear() { + this.__data__ = nativeCreate ? nativeCreate(null) : {}; + this.size = 0; +} + +/** + * Removes `key` and its value from the hash. + * + * @private + * @name delete + * @memberOf Hash + * @param {Object} hash The hash to modify. + * @param {string} key The key of the value to remove. + * @returns {boolean} Returns `true` if the entry was removed, else `false`. + */ +function hashDelete(key) { + var result = this.has(key) && delete this.__data__[key]; + this.size -= result ? 1 : 0; + return result; +} + +/** + * Gets the hash value for `key`. + * + * @private + * @name get + * @memberOf Hash + * @param {string} key The key of the value to get. + * @returns {*} Returns the entry value. + */ +function hashGet(key) { + var data = this.__data__; + if (nativeCreate) { + var result = data[key]; + return result === HASH_UNDEFINED ? undefined : result; + } + return hasOwnProperty.call(data, key) ? data[key] : undefined; +} + +/** + * Checks if a hash value for `key` exists. + * + * @private + * @name has + * @memberOf Hash + * @param {string} key The key of the entry to check. + * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`. + */ +function hashHas(key) { + var data = this.__data__; + return nativeCreate ? (data[key] !== undefined) : hasOwnProperty.call(data, key); +} + +/** + * Sets the hash `key` to `value`. + * + * @private + * @name set + * @memberOf Hash + * @param {string} key The key of the value to set. + * @param {*} value The value to set. + * @returns {Object} Returns the hash instance. + */ +function hashSet(key, value) { + var data = this.__data__; + this.size += this.has(key) ? 0 : 1; + data[key] = (nativeCreate && value === undefined) ? HASH_UNDEFINED : value; + return this; +} + +// Add methods to `Hash`. +Hash.prototype.clear = hashClear; +Hash.prototype['delete'] = hashDelete; +Hash.prototype.get = hashGet; +Hash.prototype.has = hashHas; +Hash.prototype.set = hashSet; + +/** + * Creates an list cache object. + * + * @private + * @constructor + * @param {Array} [entries] The key-value pairs to cache. + */ +function ListCache(entries) { + var index = -1, + length = entries == null ? 0 : entries.length; + + this.clear(); + while (++index < length) { + var entry = entries[index]; + this.set(entry[0], entry[1]); + } +} + +/** + * Removes all key-value entries from the list cache. + * + * @private + * @name clear + * @memberOf ListCache + */ +function listCacheClear() { + this.__data__ = []; + this.size = 0; +} + +/** + * Removes `key` and its value from the list cache. + * + * @private + * @name delete + * @memberOf ListCache + * @param {string} key The key of the value to remove. + * @returns {boolean} Returns `true` if the entry was removed, else `false`. + */ +function listCacheDelete(key) { + var data = this.__data__, + index = assocIndexOf(data, key); + + if (index < 0) { + return false; + } + var lastIndex = data.length - 1; + if (index == lastIndex) { + data.pop(); + } else { + splice.call(data, index, 1); + } + --this.size; + return true; +} + +/** + * Gets the list cache value for `key`. + * + * @private + * @name get + * @memberOf ListCache + * @param {string} key The key of the value to get. + * @returns {*} Returns the entry value. + */ +function listCacheGet(key) { + var data = this.__data__, + index = assocIndexOf(data, key); + + return index < 0 ? undefined : data[index][1]; +} + +/** + * Checks if a list cache value for `key` exists. + * + * @private + * @name has + * @memberOf ListCache + * @param {string} key The key of the entry to check. + * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`. + */ +function listCacheHas(key) { + return assocIndexOf(this.__data__, key) > -1; +} + +/** + * Sets the list cache `key` to `value`. + * + * @private + * @name set + * @memberOf ListCache + * @param {string} key The key of the value to set. + * @param {*} value The value to set. + * @returns {Object} Returns the list cache instance. + */ +function listCacheSet(key, value) { + var data = this.__data__, + index = assocIndexOf(data, key); + + if (index < 0) { + ++this.size; + data.push([key, value]); + } else { + data[index][1] = value; + } + return this; +} + +// Add methods to `ListCache`. +ListCache.prototype.clear = listCacheClear; +ListCache.prototype['delete'] = listCacheDelete; +ListCache.prototype.get = listCacheGet; +ListCache.prototype.has = listCacheHas; +ListCache.prototype.set = listCacheSet; + +/** + * Creates a map cache object to store key-value pairs. + * + * @private + * @constructor + * @param {Array} [entries] The key-value pairs to cache. + */ +function MapCache(entries) { + var index = -1, + length = entries == null ? 0 : entries.length; + + this.clear(); + while (++index < length) { + var entry = entries[index]; + this.set(entry[0], entry[1]); + } +} + +/** + * Removes all key-value entries from the map. + * + * @private + * @name clear + * @memberOf MapCache + */ +function mapCacheClear() { + this.size = 0; + this.__data__ = { + 'hash': new Hash, + 'map': new (Map || ListCache), + 'string': new Hash + }; +} + +/** + * Removes `key` and its value from the map. + * + * @private + * @name delete + * @memberOf MapCache + * @param {string} key The key of the value to remove. + * @returns {boolean} Returns `true` if the entry was removed, else `false`. + */ +function mapCacheDelete(key) { + var result = getMapData(this, key)['delete'](key); + this.size -= result ? 1 : 0; + return result; +} + +/** + * Gets the map value for `key`. + * + * @private + * @name get + * @memberOf MapCache + * @param {string} key The key of the value to get. + * @returns {*} Returns the entry value. + */ +function mapCacheGet(key) { + return getMapData(this, key).get(key); +} + +/** + * Checks if a map value for `key` exists. + * + * @private + * @name has + * @memberOf MapCache + * @param {string} key The key of the entry to check. + * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`. + */ +function mapCacheHas(key) { + return getMapData(this, key).has(key); +} + +/** + * Sets the map `key` to `value`. + * + * @private + * @name set + * @memberOf MapCache + * @param {string} key The key of the value to set. + * @param {*} value The value to set. + * @returns {Object} Returns the map cache instance. + */ +function mapCacheSet(key, value) { + var data = getMapData(this, key), + size = data.size; + + data.set(key, value); + this.size += data.size == size ? 0 : 1; + return this; +} + +// Add methods to `MapCache`. +MapCache.prototype.clear = mapCacheClear; +MapCache.prototype['delete'] = mapCacheDelete; +MapCache.prototype.get = mapCacheGet; +MapCache.prototype.has = mapCacheHas; +MapCache.prototype.set = mapCacheSet; + +/** + * + * Creates an array cache object to store unique values. + * + * @private + * @constructor + * @param {Array} [values] The values to cache. + */ +function SetCache(values) { + var index = -1, + length = values == null ? 0 : values.length; + + this.__data__ = new MapCache; + while (++index < length) { + this.add(values[index]); + } +} + +/** + * Adds `value` to the array cache. + * + * @private + * @name add + * @memberOf SetCache + * @alias push + * @param {*} value The value to cache. + * @returns {Object} Returns the cache instance. + */ +function setCacheAdd(value) { + this.__data__.set(value, HASH_UNDEFINED); + return this; +} + +/** + * Checks if `value` is in the array cache. + * + * @private + * @name has + * @memberOf SetCache + * @param {*} value The value to search for. + * @returns {number} Returns `true` if `value` is found, else `false`. + */ +function setCacheHas(value) { + return this.__data__.has(value); +} + +// Add methods to `SetCache`. +SetCache.prototype.add = SetCache.prototype.push = setCacheAdd; +SetCache.prototype.has = setCacheHas; + +/** + * Creates a stack cache object to store key-value pairs. + * + * @private + * @constructor + * @param {Array} [entries] The key-value pairs to cache. + */ +function Stack(entries) { + var data = this.__data__ = new ListCache(entries); + this.size = data.size; +} + +/** + * Removes all key-value entries from the stack. + * + * @private + * @name clear + * @memberOf Stack + */ +function stackClear() { + this.__data__ = new ListCache; + this.size = 0; +} + +/** + * Removes `key` and its value from the stack. + * + * @private + * @name delete + * @memberOf Stack + * @param {string} key The key of the value to remove. + * @returns {boolean} Returns `true` if the entry was removed, else `false`. + */ +function stackDelete(key) { + var data = this.__data__, + result = data['delete'](key); + + this.size = data.size; + return result; +} + +/** + * Gets the stack value for `key`. + * + * @private + * @name get + * @memberOf Stack + * @param {string} key The key of the value to get. + * @returns {*} Returns the entry value. + */ +function stackGet(key) { + return this.__data__.get(key); +} + +/** + * Checks if a stack value for `key` exists. + * + * @private + * @name has + * @memberOf Stack + * @param {string} key The key of the entry to check. + * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`. + */ +function stackHas(key) { + return this.__data__.has(key); +} + +/** + * Sets the stack `key` to `value`. + * + * @private + * @name set + * @memberOf Stack + * @param {string} key The key of the value to set. + * @param {*} value The value to set. + * @returns {Object} Returns the stack cache instance. + */ +function stackSet(key, value) { + var data = this.__data__; + if (data instanceof ListCache) { + var pairs = data.__data__; + if (!Map || (pairs.length < LARGE_ARRAY_SIZE - 1)) { + pairs.push([key, value]); + this.size = ++data.size; + return this; + } + data = this.__data__ = new MapCache(pairs); + } + data.set(key, value); + this.size = data.size; + return this; +} + +// Add methods to `Stack`. +Stack.prototype.clear = stackClear; +Stack.prototype['delete'] = stackDelete; +Stack.prototype.get = stackGet; +Stack.prototype.has = stackHas; +Stack.prototype.set = stackSet; + +/** + * Creates an array of the enumerable property names of the array-like `value`. + * + * @private + * @param {*} value The value to query. + * @param {boolean} inherited Specify returning inherited property names. + * @returns {Array} Returns the array of property names. + */ +function arrayLikeKeys(value, inherited) { + var isArr = isArray(value), + isArg = !isArr && isArguments(value), + isBuff = !isArr && !isArg && isBuffer(value), + isType = !isArr && !isArg && !isBuff && isTypedArray(value), + skipIndexes = isArr || isArg || isBuff || isType, + result = skipIndexes ? baseTimes(value.length, String) : [], + length = result.length; + + for (var key in value) { + if ((inherited || hasOwnProperty.call(value, key)) && + !(skipIndexes && ( + // Safari 9 has enumerable `arguments.length` in strict mode. + key == 'length' || + // Node.js 0.10 has enumerable non-index properties on buffers. + (isBuff && (key == 'offset' || key == 'parent')) || + // PhantomJS 2 has enumerable non-index properties on typed arrays. + (isType && (key == 'buffer' || key == 'byteLength' || key == 'byteOffset')) || + // Skip index properties. + isIndex(key, length) + ))) { + result.push(key); + } + } + return result; +} + +/** + * Gets the index at which the `key` is found in `array` of key-value pairs. + * + * @private + * @param {Array} array The array to inspect. + * @param {*} key The key to search for. + * @returns {number} Returns the index of the matched value, else `-1`. + */ +function assocIndexOf(array, key) { + var length = array.length; + while (length--) { + if (eq(array[length][0], key)) { + return length; + } + } + return -1; +} + +/** + * The base implementation of `getAllKeys` and `getAllKeysIn` which uses + * `keysFunc` and `symbolsFunc` to get the enumerable property names and + * symbols of `object`. + * + * @private + * @param {Object} object The object to query. + * @param {Function} keysFunc The function to get the keys of `object`. + * @param {Function} symbolsFunc The function to get the symbols of `object`. + * @returns {Array} Returns the array of property names and symbols. + */ +function baseGetAllKeys(object, keysFunc, symbolsFunc) { + var result = keysFunc(object); + return isArray(object) ? result : arrayPush(result, symbolsFunc(object)); +} + +/** + * The base implementation of `getTag` without fallbacks for buggy environments. + * + * @private + * @param {*} value The value to query. + * @returns {string} Returns the `toStringTag`. + */ +function baseGetTag(value) { + if (value == null) { + return value === undefined ? undefinedTag : nullTag; + } + return (symToStringTag && symToStringTag in Object(value)) + ? getRawTag(value) + : objectToString(value); +} + +/** + * The base implementation of `_.isArguments`. + * + * @private + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is an `arguments` object, + */ +function baseIsArguments(value) { + return isObjectLike(value) && baseGetTag(value) == argsTag; +} + +/** + * The base implementation of `_.isEqual` which supports partial comparisons + * and tracks traversed objects. + * + * @private + * @param {*} value The value to compare. + * @param {*} other The other value to compare. + * @param {boolean} bitmask The bitmask flags. + * 1 - Unordered comparison + * 2 - Partial comparison + * @param {Function} [customizer] The function to customize comparisons. + * @param {Object} [stack] Tracks traversed `value` and `other` objects. + * @returns {boolean} Returns `true` if the values are equivalent, else `false`. + */ +function baseIsEqual(value, other, bitmask, customizer, stack) { + if (value === other) { + return true; + } + if (value == null || other == null || (!isObjectLike(value) && !isObjectLike(other))) { + return value !== value && other !== other; + } + return baseIsEqualDeep(value, other, bitmask, customizer, baseIsEqual, stack); +} + +/** + * A specialized version of `baseIsEqual` for arrays and objects which performs + * deep comparisons and tracks traversed objects enabling objects with circular + * references to be compared. + * + * @private + * @param {Object} object The object to compare. + * @param {Object} other The other object to compare. + * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details. + * @param {Function} customizer The function to customize comparisons. + * @param {Function} equalFunc The function to determine equivalents of values. + * @param {Object} [stack] Tracks traversed `object` and `other` objects. + * @returns {boolean} Returns `true` if the objects are equivalent, else `false`. + */ +function baseIsEqualDeep(object, other, bitmask, customizer, equalFunc, stack) { + var objIsArr = isArray(object), + othIsArr = isArray(other), + objTag = objIsArr ? arrayTag : getTag(object), + othTag = othIsArr ? arrayTag : getTag(other); + + objTag = objTag == argsTag ? objectTag : objTag; + othTag = othTag == argsTag ? objectTag : othTag; + + var objIsObj = objTag == objectTag, + othIsObj = othTag == objectTag, + isSameTag = objTag == othTag; + + if (isSameTag && isBuffer(object)) { + if (!isBuffer(other)) { + return false; + } + objIsArr = true; + objIsObj = false; + } + if (isSameTag && !objIsObj) { + stack || (stack = new Stack); + return (objIsArr || isTypedArray(object)) + ? equalArrays(object, other, bitmask, customizer, equalFunc, stack) + : equalByTag(object, other, objTag, bitmask, customizer, equalFunc, stack); + } + if (!(bitmask & COMPARE_PARTIAL_FLAG)) { + var objIsWrapped = objIsObj && hasOwnProperty.call(object, '__wrapped__'), + othIsWrapped = othIsObj && hasOwnProperty.call(other, '__wrapped__'); + + if (objIsWrapped || othIsWrapped) { + var objUnwrapped = objIsWrapped ? object.value() : object, + othUnwrapped = othIsWrapped ? other.value() : other; + + stack || (stack = new Stack); + return equalFunc(objUnwrapped, othUnwrapped, bitmask, customizer, stack); + } + } + if (!isSameTag) { + return false; + } + stack || (stack = new Stack); + return equalObjects(object, other, bitmask, customizer, equalFunc, stack); +} + +/** + * The base implementation of `_.isNative` without bad shim checks. + * + * @private + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a native function, + * else `false`. + */ +function baseIsNative(value) { + if (!isObject(value) || isMasked(value)) { + return false; + } + var pattern = isFunction(value) ? reIsNative : reIsHostCtor; + return pattern.test(toSource(value)); +} + +/** + * The base implementation of `_.isTypedArray` without Node.js optimizations. + * + * @private + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a typed array, else `false`. + */ +function baseIsTypedArray(value) { + return isObjectLike(value) && + isLength(value.length) && !!typedArrayTags[baseGetTag(value)]; +} + +/** + * The base implementation of `_.keys` which doesn't treat sparse arrays as dense. + * + * @private + * @param {Object} object The object to query. + * @returns {Array} Returns the array of property names. + */ +function baseKeys(object) { + if (!isPrototype(object)) { + return nativeKeys(object); + } + var result = []; + for (var key in Object(object)) { + if (hasOwnProperty.call(object, key) && key != 'constructor') { + result.push(key); + } + } + return result; +} + +/** + * A specialized version of `baseIsEqualDeep` for arrays with support for + * partial deep comparisons. + * + * @private + * @param {Array} array The array to compare. + * @param {Array} other The other array to compare. + * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details. + * @param {Function} customizer The function to customize comparisons. + * @param {Function} equalFunc The function to determine equivalents of values. + * @param {Object} stack Tracks traversed `array` and `other` objects. + * @returns {boolean} Returns `true` if the arrays are equivalent, else `false`. + */ +function equalArrays(array, other, bitmask, customizer, equalFunc, stack) { + var isPartial = bitmask & COMPARE_PARTIAL_FLAG, + arrLength = array.length, + othLength = other.length; + + if (arrLength != othLength && !(isPartial && othLength > arrLength)) { + return false; + } + // Assume cyclic values are equal. + var stacked = stack.get(array); + if (stacked && stack.get(other)) { + return stacked == other; + } + var index = -1, + result = true, + seen = (bitmask & COMPARE_UNORDERED_FLAG) ? new SetCache : undefined; + + stack.set(array, other); + stack.set(other, array); + + // Ignore non-index properties. + while (++index < arrLength) { + var arrValue = array[index], + othValue = other[index]; + + if (customizer) { + var compared = isPartial + ? customizer(othValue, arrValue, index, other, array, stack) + : customizer(arrValue, othValue, index, array, other, stack); + } + if (compared !== undefined) { + if (compared) { + continue; + } + result = false; + break; + } + // Recursively compare arrays (susceptible to call stack limits). + if (seen) { + if (!arraySome(other, function(othValue, othIndex) { + if (!cacheHas(seen, othIndex) && + (arrValue === othValue || equalFunc(arrValue, othValue, bitmask, customizer, stack))) { + return seen.push(othIndex); + } + })) { + result = false; + break; + } + } else if (!( + arrValue === othValue || + equalFunc(arrValue, othValue, bitmask, customizer, stack) + )) { + result = false; + break; + } + } + stack['delete'](array); + stack['delete'](other); + return result; +} + +/** + * A specialized version of `baseIsEqualDeep` for comparing objects of + * the same `toStringTag`. + * + * **Note:** This function only supports comparing values with tags of + * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`. + * + * @private + * @param {Object} object The object to compare. + * @param {Object} other The other object to compare. + * @param {string} tag The `toStringTag` of the objects to compare. + * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details. + * @param {Function} customizer The function to customize comparisons. + * @param {Function} equalFunc The function to determine equivalents of values. + * @param {Object} stack Tracks traversed `object` and `other` objects. + * @returns {boolean} Returns `true` if the objects are equivalent, else `false`. + */ +function equalByTag(object, other, tag, bitmask, customizer, equalFunc, stack) { + switch (tag) { + case dataViewTag: + if ((object.byteLength != other.byteLength) || + (object.byteOffset != other.byteOffset)) { + return false; + } + object = object.buffer; + other = other.buffer; + + case arrayBufferTag: + if ((object.byteLength != other.byteLength) || + !equalFunc(new Uint8Array(object), new Uint8Array(other))) { + return false; + } + return true; + + case boolTag: + case dateTag: + case numberTag: + // Coerce booleans to `1` or `0` and dates to milliseconds. + // Invalid dates are coerced to `NaN`. + return eq(+object, +other); + + case errorTag: + return object.name == other.name && object.message == other.message; + + case regexpTag: + case stringTag: + // Coerce regexes to strings and treat strings, primitives and objects, + // as equal. See http://www.ecma-international.org/ecma-262/7.0/#sec-regexp.prototype.tostring + // for more details. + return object == (other + ''); + + case mapTag: + var convert = mapToArray; + + case setTag: + var isPartial = bitmask & COMPARE_PARTIAL_FLAG; + convert || (convert = setToArray); + + if (object.size != other.size && !isPartial) { + return false; + } + // Assume cyclic values are equal. + var stacked = stack.get(object); + if (stacked) { + return stacked == other; + } + bitmask |= COMPARE_UNORDERED_FLAG; + + // Recursively compare objects (susceptible to call stack limits). + stack.set(object, other); + var result = equalArrays(convert(object), convert(other), bitmask, customizer, equalFunc, stack); + stack['delete'](object); + return result; + + case symbolTag: + if (symbolValueOf) { + return symbolValueOf.call(object) == symbolValueOf.call(other); + } + } + return false; +} + +/** + * A specialized version of `baseIsEqualDeep` for objects with support for + * partial deep comparisons. + * + * @private + * @param {Object} object The object to compare. + * @param {Object} other The other object to compare. + * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details. + * @param {Function} customizer The function to customize comparisons. + * @param {Function} equalFunc The function to determine equivalents of values. + * @param {Object} stack Tracks traversed `object` and `other` objects. + * @returns {boolean} Returns `true` if the objects are equivalent, else `false`. + */ +function equalObjects(object, other, bitmask, customizer, equalFunc, stack) { + var isPartial = bitmask & COMPARE_PARTIAL_FLAG, + objProps = getAllKeys(object), + objLength = objProps.length, + othProps = getAllKeys(other), + othLength = othProps.length; + + if (objLength != othLength && !isPartial) { + return false; + } + var index = objLength; + while (index--) { + var key = objProps[index]; + if (!(isPartial ? key in other : hasOwnProperty.call(other, key))) { + return false; + } + } + // Assume cyclic values are equal. + var stacked = stack.get(object); + if (stacked && stack.get(other)) { + return stacked == other; + } + var result = true; + stack.set(object, other); + stack.set(other, object); + + var skipCtor = isPartial; + while (++index < objLength) { + key = objProps[index]; + var objValue = object[key], + othValue = other[key]; + + if (customizer) { + var compared = isPartial + ? customizer(othValue, objValue, key, other, object, stack) + : customizer(objValue, othValue, key, object, other, stack); + } + // Recursively compare objects (susceptible to call stack limits). + if (!(compared === undefined + ? (objValue === othValue || equalFunc(objValue, othValue, bitmask, customizer, stack)) + : compared + )) { + result = false; + break; + } + skipCtor || (skipCtor = key == 'constructor'); + } + if (result && !skipCtor) { + var objCtor = object.constructor, + othCtor = other.constructor; + + // Non `Object` object instances with different constructors are not equal. + if (objCtor != othCtor && + ('constructor' in object && 'constructor' in other) && + !(typeof objCtor == 'function' && objCtor instanceof objCtor && + typeof othCtor == 'function' && othCtor instanceof othCtor)) { + result = false; + } + } + stack['delete'](object); + stack['delete'](other); + return result; +} + +/** + * Creates an array of own enumerable property names and symbols of `object`. + * + * @private + * @param {Object} object The object to query. + * @returns {Array} Returns the array of property names and symbols. + */ +function getAllKeys(object) { + return baseGetAllKeys(object, keys, getSymbols); +} + +/** + * Gets the data for `map`. + * + * @private + * @param {Object} map The map to query. + * @param {string} key The reference key. + * @returns {*} Returns the map data. + */ +function getMapData(map, key) { + var data = map.__data__; + return isKeyable(key) + ? data[typeof key == 'string' ? 'string' : 'hash'] + : data.map; +} + +/** + * Gets the native function at `key` of `object`. + * + * @private + * @param {Object} object The object to query. + * @param {string} key The key of the method to get. + * @returns {*} Returns the function if it's native, else `undefined`. + */ +function getNative(object, key) { + var value = getValue(object, key); + return baseIsNative(value) ? value : undefined; +} + +/** + * A specialized version of `baseGetTag` which ignores `Symbol.toStringTag` values. + * + * @private + * @param {*} value The value to query. + * @returns {string} Returns the raw `toStringTag`. + */ +function getRawTag(value) { + var isOwn = hasOwnProperty.call(value, symToStringTag), + tag = value[symToStringTag]; + + try { + value[symToStringTag] = undefined; + var unmasked = true; + } catch (e) {} + + var result = nativeObjectToString.call(value); + if (unmasked) { + if (isOwn) { + value[symToStringTag] = tag; + } else { + delete value[symToStringTag]; + } + } + return result; +} + +/** + * Creates an array of the own enumerable symbols of `object`. + * + * @private + * @param {Object} object The object to query. + * @returns {Array} Returns the array of symbols. + */ +var getSymbols = !nativeGetSymbols ? stubArray : function(object) { + if (object == null) { + return []; + } + object = Object(object); + return arrayFilter(nativeGetSymbols(object), function(symbol) { + return propertyIsEnumerable.call(object, symbol); + }); +}; + +/** + * Gets the `toStringTag` of `value`. + * + * @private + * @param {*} value The value to query. + * @returns {string} Returns the `toStringTag`. + */ +var getTag = baseGetTag; + +// Fallback for data views, maps, sets, and weak maps in IE 11 and promises in Node.js < 6. +if ((DataView && getTag(new DataView(new ArrayBuffer(1))) != dataViewTag) || + (Map && getTag(new Map) != mapTag) || + (Promise && getTag(Promise.resolve()) != promiseTag) || + (Set && getTag(new Set) != setTag) || + (WeakMap && getTag(new WeakMap) != weakMapTag)) { + getTag = function(value) { + var result = baseGetTag(value), + Ctor = result == objectTag ? value.constructor : undefined, + ctorString = Ctor ? toSource(Ctor) : ''; + + if (ctorString) { + switch (ctorString) { + case dataViewCtorString: return dataViewTag; + case mapCtorString: return mapTag; + case promiseCtorString: return promiseTag; + case setCtorString: return setTag; + case weakMapCtorString: return weakMapTag; + } + } + return result; + }; +} + +/** + * Checks if `value` is a valid array-like index. + * + * @private + * @param {*} value The value to check. + * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index. + * @returns {boolean} Returns `true` if `value` is a valid index, else `false`. + */ +function isIndex(value, length) { + length = length == null ? MAX_SAFE_INTEGER : length; + return !!length && + (typeof value == 'number' || reIsUint.test(value)) && + (value > -1 && value % 1 == 0 && value < length); +} + +/** + * Checks if `value` is suitable for use as unique object key. + * + * @private + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is suitable, else `false`. + */ +function isKeyable(value) { + var type = typeof value; + return (type == 'string' || type == 'number' || type == 'symbol' || type == 'boolean') + ? (value !== '__proto__') + : (value === null); +} + +/** + * Checks if `func` has its source masked. + * + * @private + * @param {Function} func The function to check. + * @returns {boolean} Returns `true` if `func` is masked, else `false`. + */ +function isMasked(func) { + return !!maskSrcKey && (maskSrcKey in func); +} + +/** + * Checks if `value` is likely a prototype object. + * + * @private + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a prototype, else `false`. + */ +function isPrototype(value) { + var Ctor = value && value.constructor, + proto = (typeof Ctor == 'function' && Ctor.prototype) || objectProto; + + return value === proto; +} + +/** + * Converts `value` to a string using `Object.prototype.toString`. + * + * @private + * @param {*} value The value to convert. + * @returns {string} Returns the converted string. + */ +function objectToString(value) { + return nativeObjectToString.call(value); +} + +/** + * Converts `func` to its source code. + * + * @private + * @param {Function} func The function to convert. + * @returns {string} Returns the source code. + */ +function toSource(func) { + if (func != null) { + try { + return funcToString.call(func); + } catch (e) {} + try { + return (func + ''); + } catch (e) {} + } + return ''; +} + +/** + * Performs a + * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero) + * comparison between two values to determine if they are equivalent. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Lang + * @param {*} value The value to compare. + * @param {*} other The other value to compare. + * @returns {boolean} Returns `true` if the values are equivalent, else `false`. + * @example + * + * var object = { 'a': 1 }; + * var other = { 'a': 1 }; + * + * _.eq(object, object); + * // => true + * + * _.eq(object, other); + * // => false + * + * _.eq('a', 'a'); + * // => true + * + * _.eq('a', Object('a')); + * // => false + * + * _.eq(NaN, NaN); + * // => true + */ +function eq(value, other) { + return value === other || (value !== value && other !== other); +} + +/** + * Checks if `value` is likely an `arguments` object. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is an `arguments` object, + * else `false`. + * @example + * + * _.isArguments(function() { return arguments; }()); + * // => true + * + * _.isArguments([1, 2, 3]); + * // => false + */ +var isArguments = baseIsArguments(function() { return arguments; }()) ? baseIsArguments : function(value) { + return isObjectLike(value) && hasOwnProperty.call(value, 'callee') && + !propertyIsEnumerable.call(value, 'callee'); +}; + +/** + * Checks if `value` is classified as an `Array` object. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is an array, else `false`. + * @example + * + * _.isArray([1, 2, 3]); + * // => true + * + * _.isArray(document.body.children); + * // => false + * + * _.isArray('abc'); + * // => false + * + * _.isArray(_.noop); + * // => false + */ +var isArray = Array.isArray; + +/** + * Checks if `value` is array-like. A value is considered array-like if it's + * not a function and has a `value.length` that's an integer greater than or + * equal to `0` and less than or equal to `Number.MAX_SAFE_INTEGER`. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is array-like, else `false`. + * @example + * + * _.isArrayLike([1, 2, 3]); + * // => true + * + * _.isArrayLike(document.body.children); + * // => true + * + * _.isArrayLike('abc'); + * // => true + * + * _.isArrayLike(_.noop); + * // => false + */ +function isArrayLike(value) { + return value != null && isLength(value.length) && !isFunction(value); +} + +/** + * Checks if `value` is a buffer. + * + * @static + * @memberOf _ + * @since 4.3.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a buffer, else `false`. + * @example + * + * _.isBuffer(new Buffer(2)); + * // => true + * + * _.isBuffer(new Uint8Array(2)); + * // => false + */ +var isBuffer = nativeIsBuffer || stubFalse; + +/** + * Performs a deep comparison between two values to determine if they are + * equivalent. + * + * **Note:** This method supports comparing arrays, array buffers, booleans, + * date objects, error objects, maps, numbers, `Object` objects, regexes, + * sets, strings, symbols, and typed arrays. `Object` objects are compared + * by their own, not inherited, enumerable properties. Functions and DOM + * nodes are compared by strict equality, i.e. `===`. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Lang + * @param {*} value The value to compare. + * @param {*} other The other value to compare. + * @returns {boolean} Returns `true` if the values are equivalent, else `false`. + * @example + * + * var object = { 'a': 1 }; + * var other = { 'a': 1 }; + * + * _.isEqual(object, other); + * // => true + * + * object === other; + * // => false + */ +function isEqual(value, other) { + return baseIsEqual(value, other); +} + +/** + * Checks if `value` is classified as a `Function` object. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a function, else `false`. + * @example + * + * _.isFunction(_); + * // => true + * + * _.isFunction(/abc/); + * // => false + */ +function isFunction(value) { + if (!isObject(value)) { + return false; + } + // The use of `Object#toString` avoids issues with the `typeof` operator + // in Safari 9 which returns 'object' for typed arrays and other constructors. + var tag = baseGetTag(value); + return tag == funcTag || tag == genTag || tag == asyncTag || tag == proxyTag; +} + +/** + * Checks if `value` is a valid array-like length. + * + * **Note:** This method is loosely based on + * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength). + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a valid length, else `false`. + * @example + * + * _.isLength(3); + * // => true + * + * _.isLength(Number.MIN_VALUE); + * // => false + * + * _.isLength(Infinity); + * // => false + * + * _.isLength('3'); + * // => false + */ +function isLength(value) { + return typeof value == 'number' && + value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER; +} + +/** + * Checks if `value` is the + * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types) + * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`) + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is an object, else `false`. + * @example + * + * _.isObject({}); + * // => true + * + * _.isObject([1, 2, 3]); + * // => true + * + * _.isObject(_.noop); + * // => true + * + * _.isObject(null); + * // => false + */ +function isObject(value) { + var type = typeof value; + return value != null && (type == 'object' || type == 'function'); +} + +/** + * Checks if `value` is object-like. A value is object-like if it's not `null` + * and has a `typeof` result of "object". + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is object-like, else `false`. + * @example + * + * _.isObjectLike({}); + * // => true + * + * _.isObjectLike([1, 2, 3]); + * // => true + * + * _.isObjectLike(_.noop); + * // => false + * + * _.isObjectLike(null); + * // => false + */ +function isObjectLike(value) { + return value != null && typeof value == 'object'; +} + +/** + * Checks if `value` is classified as a typed array. + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a typed array, else `false`. + * @example + * + * _.isTypedArray(new Uint8Array); + * // => true + * + * _.isTypedArray([]); + * // => false + */ +var isTypedArray = nodeIsTypedArray ? baseUnary(nodeIsTypedArray) : baseIsTypedArray; + +/** + * Creates an array of the own enumerable property names of `object`. + * + * **Note:** Non-object values are coerced to objects. See the + * [ES spec](http://ecma-international.org/ecma-262/7.0/#sec-object.keys) + * for more details. + * + * @static + * @since 0.1.0 + * @memberOf _ + * @category Object + * @param {Object} object The object to query. + * @returns {Array} Returns the array of property names. + * @example + * + * function Foo() { + * this.a = 1; + * this.b = 2; + * } + * + * Foo.prototype.c = 3; + * + * _.keys(new Foo); + * // => ['a', 'b'] (iteration order is not guaranteed) + * + * _.keys('hi'); + * // => ['0', '1'] + */ +function keys(object) { + return isArrayLike(object) ? arrayLikeKeys(object) : baseKeys(object); +} + +/** + * This method returns a new empty array. + * + * @static + * @memberOf _ + * @since 4.13.0 + * @category Util + * @returns {Array} Returns the new empty array. + * @example + * + * var arrays = _.times(2, _.stubArray); + * + * console.log(arrays); + * // => [[], []] + * + * console.log(arrays[0] === arrays[1]); + * // => false + */ +function stubArray() { + return []; +} + +/** + * This method returns `false`. + * + * @static + * @memberOf _ + * @since 4.13.0 + * @category Util + * @returns {boolean} Returns `false`. + * @example + * + * _.times(2, _.stubFalse); + * // => [false, false] + */ +function stubFalse() { + return false; +} + +module.exports = isEqual; + +/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(10), __webpack_require__(16)(module))) + +/***/ }), +/* 10 */ +/***/ (function(module, exports) { + +var g; + +// This works in non-strict mode +g = (function() { + return this; +})(); + +try { + // This works if eval is allowed (see CSP) + g = g || new Function("return this")(); +} catch (e) { + // This works if the window reference is available + if (typeof window === "object") g = window; +} + +// g can still be undefined, but nothing to do about it... +// We return undefined, instead of nothing here, so it's +// easier to handle this case. if(!global) { ...} + +module.exports = g; + + +/***/ }), +/* 11 */ +/***/ (function(module, exports, __webpack_require__) { + +/* WEBPACK VAR INJECTION */(function(global) {/** + * lodash (Custom Build) <https://lodash.com/> + * Build: `lodash modularize exports="npm" -o ./` + * Copyright jQuery Foundation and other contributors <https://jquery.org/> + * Released under MIT license <https://lodash.com/license> + * Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE> + * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors + */ + +/** Used as references for various `Number` constants. */ +var INFINITY = 1 / 0; + +/** `Object#toString` result references. */ +var symbolTag = '[object Symbol]'; + +/** + * Used to match `RegExp` + * [syntax characters](http://ecma-international.org/ecma-262/6.0/#sec-patterns). + */ +var reRegExpChar = /[\\^$.*+?()[\]{}|]/g, + reHasRegExpChar = RegExp(reRegExpChar.source); + +/** Detect free variable `global` from Node.js. */ +var freeGlobal = typeof global == 'object' && global && global.Object === Object && global; + +/** Detect free variable `self`. */ +var freeSelf = typeof self == 'object' && self && self.Object === Object && self; + +/** Used as a reference to the global object. */ +var root = freeGlobal || freeSelf || Function('return this')(); + +/** Used for built-in method references. */ +var objectProto = Object.prototype; + +/** + * Used to resolve the + * [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring) + * of values. + */ +var objectToString = objectProto.toString; + +/** Built-in value references. */ +var Symbol = root.Symbol; + +/** Used to convert symbols to primitives and strings. */ +var symbolProto = Symbol ? Symbol.prototype : undefined, + symbolToString = symbolProto ? symbolProto.toString : undefined; + +/** + * The base implementation of `_.toString` which doesn't convert nullish + * values to empty strings. + * + * @private + * @param {*} value The value to process. + * @returns {string} Returns the string. + */ +function baseToString(value) { + // Exit early for strings to avoid a performance hit in some environments. + if (typeof value == 'string') { + return value; + } + if (isSymbol(value)) { + return symbolToString ? symbolToString.call(value) : ''; + } + var result = (value + ''); + return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result; +} + +/** + * Checks if `value` is object-like. A value is object-like if it's not `null` + * and has a `typeof` result of "object". + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is object-like, else `false`. + * @example + * + * _.isObjectLike({}); + * // => true + * + * _.isObjectLike([1, 2, 3]); + * // => true + * + * _.isObjectLike(_.noop); + * // => false + * + * _.isObjectLike(null); + * // => false + */ +function isObjectLike(value) { + return !!value && typeof value == 'object'; +} + +/** + * Checks if `value` is classified as a `Symbol` primitive or object. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a symbol, else `false`. + * @example + * + * _.isSymbol(Symbol.iterator); + * // => true + * + * _.isSymbol('abc'); + * // => false + */ +function isSymbol(value) { + return typeof value == 'symbol' || + (isObjectLike(value) && objectToString.call(value) == symbolTag); +} + +/** + * Converts `value` to a string. An empty string is returned for `null` + * and `undefined` values. The sign of `-0` is preserved. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Lang + * @param {*} value The value to process. + * @returns {string} Returns the string. + * @example + * + * _.toString(null); + * // => '' + * + * _.toString(-0); + * // => '-0' + * + * _.toString([1, 2, 3]); + * // => '1,2,3' + */ +function toString(value) { + return value == null ? '' : baseToString(value); +} + +/** + * Escapes the `RegExp` special characters "^", "$", "\", ".", "*", "+", + * "?", "(", ")", "[", "]", "{", "}", and "|" in `string`. + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category String + * @param {string} [string=''] The string to escape. + * @returns {string} Returns the escaped string. + * @example + * + * _.escapeRegExp('[lodash](https://lodash.com/)'); + * // => '\[lodash\]\(https://lodash\.com/\)' + */ +function escapeRegExp(string) { + string = toString(string); + return (string && reHasRegExpChar.test(string)) + ? string.replace(reRegExpChar, '\\$&') + : string; +} + +module.exports = escapeRegExp; + +/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(10))) + +/***/ }), +/* 12 */ +/***/ (function(module, exports, __webpack_require__) { + +/* WEBPACK VAR INJECTION */(function(global, module) {/** + * lodash (Custom Build) <https://lodash.com/> + * Build: `lodash modularize exports="npm" -o ./` + * Copyright jQuery Foundation and other contributors <https://jquery.org/> + * Released under MIT license <https://lodash.com/license> + * Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE> + * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors + */ + +/** Used as the size to enable large array optimizations. */ +var LARGE_ARRAY_SIZE = 200; + +/** Used as the `TypeError` message for "Functions" methods. */ +var FUNC_ERROR_TEXT = 'Expected a function'; + +/** Used to stand-in for `undefined` hash values. */ +var HASH_UNDEFINED = '__lodash_hash_undefined__'; + +/** Used to compose bitmasks for comparison styles. */ +var UNORDERED_COMPARE_FLAG = 1, + PARTIAL_COMPARE_FLAG = 2; + +/** Used as references for various `Number` constants. */ +var INFINITY = 1 / 0, + MAX_SAFE_INTEGER = 9007199254740991, + MAX_INTEGER = 1.7976931348623157e+308, + NAN = 0 / 0; + +/** `Object#toString` result references. */ +var argsTag = '[object Arguments]', + arrayTag = '[object Array]', + boolTag = '[object Boolean]', + dateTag = '[object Date]', + errorTag = '[object Error]', + funcTag = '[object Function]', + genTag = '[object GeneratorFunction]', + mapTag = '[object Map]', + numberTag = '[object Number]', + objectTag = '[object Object]', + promiseTag = '[object Promise]', + regexpTag = '[object RegExp]', + setTag = '[object Set]', + stringTag = '[object String]', + symbolTag = '[object Symbol]', + weakMapTag = '[object WeakMap]'; + +var arrayBufferTag = '[object ArrayBuffer]', + dataViewTag = '[object DataView]', + float32Tag = '[object Float32Array]', + float64Tag = '[object Float64Array]', + int8Tag = '[object Int8Array]', + int16Tag = '[object Int16Array]', + int32Tag = '[object Int32Array]', + uint8Tag = '[object Uint8Array]', + uint8ClampedTag = '[object Uint8ClampedArray]', + uint16Tag = '[object Uint16Array]', + uint32Tag = '[object Uint32Array]'; + +/** Used to match property names within property paths. */ +var reIsDeepProp = /\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/, + reIsPlainProp = /^\w*$/, + reLeadingDot = /^\./, + rePropName = /[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g; + +/** + * Used to match `RegExp` + * [syntax characters](http://ecma-international.org/ecma-262/7.0/#sec-patterns). + */ +var reRegExpChar = /[\\^$.*+?()[\]{}|]/g; + +/** Used to match leading and trailing whitespace. */ +var reTrim = /^\s+|\s+$/g; + +/** Used to match backslashes in property paths. */ +var reEscapeChar = /\\(\\)?/g; + +/** Used to detect bad signed hexadecimal string values. */ +var reIsBadHex = /^[-+]0x[0-9a-f]+$/i; + +/** Used to detect binary string values. */ +var reIsBinary = /^0b[01]+$/i; + +/** Used to detect host constructors (Safari). */ +var reIsHostCtor = /^\[object .+?Constructor\]$/; + +/** Used to detect octal string values. */ +var reIsOctal = /^0o[0-7]+$/i; + +/** Used to detect unsigned integer values. */ +var reIsUint = /^(?:0|[1-9]\d*)$/; + +/** Used to identify `toStringTag` values of typed arrays. */ +var typedArrayTags = {}; +typedArrayTags[float32Tag] = typedArrayTags[float64Tag] = +typedArrayTags[int8Tag] = typedArrayTags[int16Tag] = +typedArrayTags[int32Tag] = typedArrayTags[uint8Tag] = +typedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] = +typedArrayTags[uint32Tag] = true; +typedArrayTags[argsTag] = typedArrayTags[arrayTag] = +typedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] = +typedArrayTags[dataViewTag] = typedArrayTags[dateTag] = +typedArrayTags[errorTag] = typedArrayTags[funcTag] = +typedArrayTags[mapTag] = typedArrayTags[numberTag] = +typedArrayTags[objectTag] = typedArrayTags[regexpTag] = +typedArrayTags[setTag] = typedArrayTags[stringTag] = +typedArrayTags[weakMapTag] = false; + +/** Built-in method references without a dependency on `root`. */ +var freeParseInt = parseInt; + +/** Detect free variable `global` from Node.js. */ +var freeGlobal = typeof global == 'object' && global && global.Object === Object && global; + +/** Detect free variable `self`. */ +var freeSelf = typeof self == 'object' && self && self.Object === Object && self; + +/** Used as a reference to the global object. */ +var root = freeGlobal || freeSelf || Function('return this')(); + +/** Detect free variable `exports`. */ +var freeExports = true && exports && !exports.nodeType && exports; + +/** Detect free variable `module`. */ +var freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module; + +/** Detect the popular CommonJS extension `module.exports`. */ +var moduleExports = freeModule && freeModule.exports === freeExports; + +/** Detect free variable `process` from Node.js. */ +var freeProcess = moduleExports && freeGlobal.process; + +/** Used to access faster Node.js helpers. */ +var nodeUtil = (function() { + try { + return freeProcess && freeProcess.binding('util'); + } catch (e) {} +}()); + +/* Node.js helper references. */ +var nodeIsTypedArray = nodeUtil && nodeUtil.isTypedArray; + +/** + * A specialized version of `_.some` for arrays without support for iteratee + * shorthands. + * + * @private + * @param {Array} [array] The array to iterate over. + * @param {Function} predicate The function invoked per iteration. + * @returns {boolean} Returns `true` if any element passes the predicate check, + * else `false`. + */ +function arraySome(array, predicate) { + var index = -1, + length = array ? array.length : 0; + + while (++index < length) { + if (predicate(array[index], index, array)) { + return true; + } + } + return false; +} + +/** + * The base implementation of `_.findIndex` and `_.findLastIndex` without + * support for iteratee shorthands. + * + * @private + * @param {Array} array The array to inspect. + * @param {Function} predicate The function invoked per iteration. + * @param {number} fromIndex The index to search from. + * @param {boolean} [fromRight] Specify iterating from right to left. + * @returns {number} Returns the index of the matched value, else `-1`. + */ +function baseFindIndex(array, predicate, fromIndex, fromRight) { + var length = array.length, + index = fromIndex + (fromRight ? 1 : -1); + + while ((fromRight ? index-- : ++index < length)) { + if (predicate(array[index], index, array)) { + return index; + } + } + return -1; +} + +/** + * The base implementation of `_.property` without support for deep paths. + * + * @private + * @param {string} key The key of the property to get. + * @returns {Function} Returns the new accessor function. + */ +function baseProperty(key) { + return function(object) { + return object == null ? undefined : object[key]; + }; +} + +/** + * The base implementation of `_.times` without support for iteratee shorthands + * or max array length checks. + * + * @private + * @param {number} n The number of times to invoke `iteratee`. + * @param {Function} iteratee The function invoked per iteration. + * @returns {Array} Returns the array of results. + */ +function baseTimes(n, iteratee) { + var index = -1, + result = Array(n); + + while (++index < n) { + result[index] = iteratee(index); + } + return result; +} + +/** + * The base implementation of `_.unary` without support for storing metadata. + * + * @private + * @param {Function} func The function to cap arguments for. + * @returns {Function} Returns the new capped function. + */ +function baseUnary(func) { + return function(value) { + return func(value); + }; +} + +/** + * Gets the value at `key` of `object`. + * + * @private + * @param {Object} [object] The object to query. + * @param {string} key The key of the property to get. + * @returns {*} Returns the property value. + */ +function getValue(object, key) { + return object == null ? undefined : object[key]; +} + +/** + * Checks if `value` is a host object in IE < 9. + * + * @private + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a host object, else `false`. + */ +function isHostObject(value) { + // Many host objects are `Object` objects that can coerce to strings + // despite having improperly defined `toString` methods. + var result = false; + if (value != null && typeof value.toString != 'function') { + try { + result = !!(value + ''); + } catch (e) {} + } + return result; +} + +/** + * Converts `map` to its key-value pairs. + * + * @private + * @param {Object} map The map to convert. + * @returns {Array} Returns the key-value pairs. + */ +function mapToArray(map) { + var index = -1, + result = Array(map.size); + + map.forEach(function(value, key) { + result[++index] = [key, value]; + }); + return result; +} + +/** + * Creates a unary function that invokes `func` with its argument transformed. + * + * @private + * @param {Function} func The function to wrap. + * @param {Function} transform The argument transform. + * @returns {Function} Returns the new function. + */ +function overArg(func, transform) { + return function(arg) { + return func(transform(arg)); + }; +} + +/** + * Converts `set` to an array of its values. + * + * @private + * @param {Object} set The set to convert. + * @returns {Array} Returns the values. + */ +function setToArray(set) { + var index = -1, + result = Array(set.size); + + set.forEach(function(value) { + result[++index] = value; + }); + return result; +} + +/** Used for built-in method references. */ +var arrayProto = Array.prototype, + funcProto = Function.prototype, + objectProto = Object.prototype; + +/** Used to detect overreaching core-js shims. */ +var coreJsData = root['__core-js_shared__']; + +/** Used to detect methods masquerading as native. */ +var maskSrcKey = (function() { + var uid = /[^.]+$/.exec(coreJsData && coreJsData.keys && coreJsData.keys.IE_PROTO || ''); + return uid ? ('Symbol(src)_1.' + uid) : ''; +}()); + +/** Used to resolve the decompiled source of functions. */ +var funcToString = funcProto.toString; + +/** Used to check objects for own properties. */ +var hasOwnProperty = objectProto.hasOwnProperty; + +/** + * Used to resolve the + * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring) + * of values. + */ +var objectToString = objectProto.toString; + +/** Used to detect if a method is native. */ +var reIsNative = RegExp('^' + + funcToString.call(hasOwnProperty).replace(reRegExpChar, '\\$&') + .replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g, '$1.*?') + '$' +); + +/** Built-in value references. */ +var Symbol = root.Symbol, + Uint8Array = root.Uint8Array, + propertyIsEnumerable = objectProto.propertyIsEnumerable, + splice = arrayProto.splice; + +/* Built-in method references for those with the same name as other `lodash` methods. */ +var nativeKeys = overArg(Object.keys, Object), + nativeMax = Math.max; + +/* Built-in method references that are verified to be native. */ +var DataView = getNative(root, 'DataView'), + Map = getNative(root, 'Map'), + Promise = getNative(root, 'Promise'), + Set = getNative(root, 'Set'), + WeakMap = getNative(root, 'WeakMap'), + nativeCreate = getNative(Object, 'create'); + +/** Used to detect maps, sets, and weakmaps. */ +var dataViewCtorString = toSource(DataView), + mapCtorString = toSource(Map), + promiseCtorString = toSource(Promise), + setCtorString = toSource(Set), + weakMapCtorString = toSource(WeakMap); + +/** Used to convert symbols to primitives and strings. */ +var symbolProto = Symbol ? Symbol.prototype : undefined, + symbolValueOf = symbolProto ? symbolProto.valueOf : undefined, + symbolToString = symbolProto ? symbolProto.toString : undefined; + +/** + * Creates a hash object. + * + * @private + * @constructor + * @param {Array} [entries] The key-value pairs to cache. + */ +function Hash(entries) { + var index = -1, + length = entries ? entries.length : 0; + + this.clear(); + while (++index < length) { + var entry = entries[index]; + this.set(entry[0], entry[1]); + } +} + +/** + * Removes all key-value entries from the hash. + * + * @private + * @name clear + * @memberOf Hash + */ +function hashClear() { + this.__data__ = nativeCreate ? nativeCreate(null) : {}; +} + +/** + * Removes `key` and its value from the hash. + * + * @private + * @name delete + * @memberOf Hash + * @param {Object} hash The hash to modify. + * @param {string} key The key of the value to remove. + * @returns {boolean} Returns `true` if the entry was removed, else `false`. + */ +function hashDelete(key) { + return this.has(key) && delete this.__data__[key]; +} + +/** + * Gets the hash value for `key`. + * + * @private + * @name get + * @memberOf Hash + * @param {string} key The key of the value to get. + * @returns {*} Returns the entry value. + */ +function hashGet(key) { + var data = this.__data__; + if (nativeCreate) { + var result = data[key]; + return result === HASH_UNDEFINED ? undefined : result; + } + return hasOwnProperty.call(data, key) ? data[key] : undefined; +} + +/** + * Checks if a hash value for `key` exists. + * + * @private + * @name has + * @memberOf Hash + * @param {string} key The key of the entry to check. + * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`. + */ +function hashHas(key) { + var data = this.__data__; + return nativeCreate ? data[key] !== undefined : hasOwnProperty.call(data, key); +} + +/** + * Sets the hash `key` to `value`. + * + * @private + * @name set + * @memberOf Hash + * @param {string} key The key of the value to set. + * @param {*} value The value to set. + * @returns {Object} Returns the hash instance. + */ +function hashSet(key, value) { + var data = this.__data__; + data[key] = (nativeCreate && value === undefined) ? HASH_UNDEFINED : value; + return this; +} + +// Add methods to `Hash`. +Hash.prototype.clear = hashClear; +Hash.prototype['delete'] = hashDelete; +Hash.prototype.get = hashGet; +Hash.prototype.has = hashHas; +Hash.prototype.set = hashSet; + +/** + * Creates an list cache object. + * + * @private + * @constructor + * @param {Array} [entries] The key-value pairs to cache. + */ +function ListCache(entries) { + var index = -1, + length = entries ? entries.length : 0; + + this.clear(); + while (++index < length) { + var entry = entries[index]; + this.set(entry[0], entry[1]); + } +} + +/** + * Removes all key-value entries from the list cache. + * + * @private + * @name clear + * @memberOf ListCache + */ +function listCacheClear() { + this.__data__ = []; +} + +/** + * Removes `key` and its value from the list cache. + * + * @private + * @name delete + * @memberOf ListCache + * @param {string} key The key of the value to remove. + * @returns {boolean} Returns `true` if the entry was removed, else `false`. + */ +function listCacheDelete(key) { + var data = this.__data__, + index = assocIndexOf(data, key); + + if (index < 0) { + return false; + } + var lastIndex = data.length - 1; + if (index == lastIndex) { + data.pop(); + } else { + splice.call(data, index, 1); + } + return true; +} + +/** + * Gets the list cache value for `key`. + * + * @private + * @name get + * @memberOf ListCache + * @param {string} key The key of the value to get. + * @returns {*} Returns the entry value. + */ +function listCacheGet(key) { + var data = this.__data__, + index = assocIndexOf(data, key); + + return index < 0 ? undefined : data[index][1]; +} + +/** + * Checks if a list cache value for `key` exists. + * + * @private + * @name has + * @memberOf ListCache + * @param {string} key The key of the entry to check. + * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`. + */ +function listCacheHas(key) { + return assocIndexOf(this.__data__, key) > -1; +} + +/** + * Sets the list cache `key` to `value`. + * + * @private + * @name set + * @memberOf ListCache + * @param {string} key The key of the value to set. + * @param {*} value The value to set. + * @returns {Object} Returns the list cache instance. + */ +function listCacheSet(key, value) { + var data = this.__data__, + index = assocIndexOf(data, key); + + if (index < 0) { + data.push([key, value]); + } else { + data[index][1] = value; + } + return this; +} + +// Add methods to `ListCache`. +ListCache.prototype.clear = listCacheClear; +ListCache.prototype['delete'] = listCacheDelete; +ListCache.prototype.get = listCacheGet; +ListCache.prototype.has = listCacheHas; +ListCache.prototype.set = listCacheSet; + +/** + * Creates a map cache object to store key-value pairs. + * + * @private + * @constructor + * @param {Array} [entries] The key-value pairs to cache. + */ +function MapCache(entries) { + var index = -1, + length = entries ? entries.length : 0; + + this.clear(); + while (++index < length) { + var entry = entries[index]; + this.set(entry[0], entry[1]); + } +} + +/** + * Removes all key-value entries from the map. + * + * @private + * @name clear + * @memberOf MapCache + */ +function mapCacheClear() { + this.__data__ = { + 'hash': new Hash, + 'map': new (Map || ListCache), + 'string': new Hash + }; +} + +/** + * Removes `key` and its value from the map. + * + * @private + * @name delete + * @memberOf MapCache + * @param {string} key The key of the value to remove. + * @returns {boolean} Returns `true` if the entry was removed, else `false`. + */ +function mapCacheDelete(key) { + return getMapData(this, key)['delete'](key); +} + +/** + * Gets the map value for `key`. + * + * @private + * @name get + * @memberOf MapCache + * @param {string} key The key of the value to get. + * @returns {*} Returns the entry value. + */ +function mapCacheGet(key) { + return getMapData(this, key).get(key); +} + +/** + * Checks if a map value for `key` exists. + * + * @private + * @name has + * @memberOf MapCache + * @param {string} key The key of the entry to check. + * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`. + */ +function mapCacheHas(key) { + return getMapData(this, key).has(key); +} + +/** + * Sets the map `key` to `value`. + * + * @private + * @name set + * @memberOf MapCache + * @param {string} key The key of the value to set. + * @param {*} value The value to set. + * @returns {Object} Returns the map cache instance. + */ +function mapCacheSet(key, value) { + getMapData(this, key).set(key, value); + return this; +} + +// Add methods to `MapCache`. +MapCache.prototype.clear = mapCacheClear; +MapCache.prototype['delete'] = mapCacheDelete; +MapCache.prototype.get = mapCacheGet; +MapCache.prototype.has = mapCacheHas; +MapCache.prototype.set = mapCacheSet; + +/** + * + * Creates an array cache object to store unique values. + * + * @private + * @constructor + * @param {Array} [values] The values to cache. + */ +function SetCache(values) { + var index = -1, + length = values ? values.length : 0; + + this.__data__ = new MapCache; + while (++index < length) { + this.add(values[index]); + } +} + +/** + * Adds `value` to the array cache. + * + * @private + * @name add + * @memberOf SetCache + * @alias push + * @param {*} value The value to cache. + * @returns {Object} Returns the cache instance. + */ +function setCacheAdd(value) { + this.__data__.set(value, HASH_UNDEFINED); + return this; +} + +/** + * Checks if `value` is in the array cache. + * + * @private + * @name has + * @memberOf SetCache + * @param {*} value The value to search for. + * @returns {number} Returns `true` if `value` is found, else `false`. + */ +function setCacheHas(value) { + return this.__data__.has(value); +} + +// Add methods to `SetCache`. +SetCache.prototype.add = SetCache.prototype.push = setCacheAdd; +SetCache.prototype.has = setCacheHas; + +/** + * Creates a stack cache object to store key-value pairs. + * + * @private + * @constructor + * @param {Array} [entries] The key-value pairs to cache. + */ +function Stack(entries) { + this.__data__ = new ListCache(entries); +} + +/** + * Removes all key-value entries from the stack. + * + * @private + * @name clear + * @memberOf Stack + */ +function stackClear() { + this.__data__ = new ListCache; +} + +/** + * Removes `key` and its value from the stack. + * + * @private + * @name delete + * @memberOf Stack + * @param {string} key The key of the value to remove. + * @returns {boolean} Returns `true` if the entry was removed, else `false`. + */ +function stackDelete(key) { + return this.__data__['delete'](key); +} + +/** + * Gets the stack value for `key`. + * + * @private + * @name get + * @memberOf Stack + * @param {string} key The key of the value to get. + * @returns {*} Returns the entry value. + */ +function stackGet(key) { + return this.__data__.get(key); +} + +/** + * Checks if a stack value for `key` exists. + * + * @private + * @name has + * @memberOf Stack + * @param {string} key The key of the entry to check. + * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`. + */ +function stackHas(key) { + return this.__data__.has(key); +} + +/** + * Sets the stack `key` to `value`. + * + * @private + * @name set + * @memberOf Stack + * @param {string} key The key of the value to set. + * @param {*} value The value to set. + * @returns {Object} Returns the stack cache instance. + */ +function stackSet(key, value) { + var cache = this.__data__; + if (cache instanceof ListCache) { + var pairs = cache.__data__; + if (!Map || (pairs.length < LARGE_ARRAY_SIZE - 1)) { + pairs.push([key, value]); + return this; + } + cache = this.__data__ = new MapCache(pairs); + } + cache.set(key, value); + return this; +} + +// Add methods to `Stack`. +Stack.prototype.clear = stackClear; +Stack.prototype['delete'] = stackDelete; +Stack.prototype.get = stackGet; +Stack.prototype.has = stackHas; +Stack.prototype.set = stackSet; + +/** + * Creates an array of the enumerable property names of the array-like `value`. + * + * @private + * @param {*} value The value to query. + * @param {boolean} inherited Specify returning inherited property names. + * @returns {Array} Returns the array of property names. + */ +function arrayLikeKeys(value, inherited) { + // Safari 8.1 makes `arguments.callee` enumerable in strict mode. + // Safari 9 makes `arguments.length` enumerable in strict mode. + var result = (isArray(value) || isArguments(value)) + ? baseTimes(value.length, String) + : []; + + var length = result.length, + skipIndexes = !!length; + + for (var key in value) { + if ((inherited || hasOwnProperty.call(value, key)) && + !(skipIndexes && (key == 'length' || isIndex(key, length)))) { + result.push(key); + } + } + return result; +} + +/** + * Gets the index at which the `key` is found in `array` of key-value pairs. + * + * @private + * @param {Array} array The array to inspect. + * @param {*} key The key to search for. + * @returns {number} Returns the index of the matched value, else `-1`. + */ +function assocIndexOf(array, key) { + var length = array.length; + while (length--) { + if (eq(array[length][0], key)) { + return length; + } + } + return -1; +} + +/** + * The base implementation of `_.get` without support for default values. + * + * @private + * @param {Object} object The object to query. + * @param {Array|string} path The path of the property to get. + * @returns {*} Returns the resolved value. + */ +function baseGet(object, path) { + path = isKey(path, object) ? [path] : castPath(path); + + var index = 0, + length = path.length; + + while (object != null && index < length) { + object = object[toKey(path[index++])]; + } + return (index && index == length) ? object : undefined; +} + +/** + * The base implementation of `getTag`. + * + * @private + * @param {*} value The value to query. + * @returns {string} Returns the `toStringTag`. + */ +function baseGetTag(value) { + return objectToString.call(value); +} + +/** + * The base implementation of `_.hasIn` without support for deep paths. + * + * @private + * @param {Object} [object] The object to query. + * @param {Array|string} key The key to check. + * @returns {boolean} Returns `true` if `key` exists, else `false`. + */ +function baseHasIn(object, key) { + return object != null && key in Object(object); +} + +/** + * The base implementation of `_.isEqual` which supports partial comparisons + * and tracks traversed objects. + * + * @private + * @param {*} value The value to compare. + * @param {*} other The other value to compare. + * @param {Function} [customizer] The function to customize comparisons. + * @param {boolean} [bitmask] The bitmask of comparison flags. + * The bitmask may be composed of the following flags: + * 1 - Unordered comparison + * 2 - Partial comparison + * @param {Object} [stack] Tracks traversed `value` and `other` objects. + * @returns {boolean} Returns `true` if the values are equivalent, else `false`. + */ +function baseIsEqual(value, other, customizer, bitmask, stack) { + if (value === other) { + return true; + } + if (value == null || other == null || (!isObject(value) && !isObjectLike(other))) { + return value !== value && other !== other; + } + return baseIsEqualDeep(value, other, baseIsEqual, customizer, bitmask, stack); +} + +/** + * A specialized version of `baseIsEqual` for arrays and objects which performs + * deep comparisons and tracks traversed objects enabling objects with circular + * references to be compared. + * + * @private + * @param {Object} object The object to compare. + * @param {Object} other The other object to compare. + * @param {Function} equalFunc The function to determine equivalents of values. + * @param {Function} [customizer] The function to customize comparisons. + * @param {number} [bitmask] The bitmask of comparison flags. See `baseIsEqual` + * for more details. + * @param {Object} [stack] Tracks traversed `object` and `other` objects. + * @returns {boolean} Returns `true` if the objects are equivalent, else `false`. + */ +function baseIsEqualDeep(object, other, equalFunc, customizer, bitmask, stack) { + var objIsArr = isArray(object), + othIsArr = isArray(other), + objTag = arrayTag, + othTag = arrayTag; + + if (!objIsArr) { + objTag = getTag(object); + objTag = objTag == argsTag ? objectTag : objTag; + } + if (!othIsArr) { + othTag = getTag(other); + othTag = othTag == argsTag ? objectTag : othTag; + } + var objIsObj = objTag == objectTag && !isHostObject(object), + othIsObj = othTag == objectTag && !isHostObject(other), + isSameTag = objTag == othTag; + + if (isSameTag && !objIsObj) { + stack || (stack = new Stack); + return (objIsArr || isTypedArray(object)) + ? equalArrays(object, other, equalFunc, customizer, bitmask, stack) + : equalByTag(object, other, objTag, equalFunc, customizer, bitmask, stack); + } + if (!(bitmask & PARTIAL_COMPARE_FLAG)) { + var objIsWrapped = objIsObj && hasOwnProperty.call(object, '__wrapped__'), + othIsWrapped = othIsObj && hasOwnProperty.call(other, '__wrapped__'); + + if (objIsWrapped || othIsWrapped) { + var objUnwrapped = objIsWrapped ? object.value() : object, + othUnwrapped = othIsWrapped ? other.value() : other; + + stack || (stack = new Stack); + return equalFunc(objUnwrapped, othUnwrapped, customizer, bitmask, stack); + } + } + if (!isSameTag) { + return false; + } + stack || (stack = new Stack); + return equalObjects(object, other, equalFunc, customizer, bitmask, stack); +} + +/** + * The base implementation of `_.isMatch` without support for iteratee shorthands. + * + * @private + * @param {Object} object The object to inspect. + * @param {Object} source The object of property values to match. + * @param {Array} matchData The property names, values, and compare flags to match. + * @param {Function} [customizer] The function to customize comparisons. + * @returns {boolean} Returns `true` if `object` is a match, else `false`. + */ +function baseIsMatch(object, source, matchData, customizer) { + var index = matchData.length, + length = index, + noCustomizer = !customizer; + + if (object == null) { + return !length; + } + object = Object(object); + while (index--) { + var data = matchData[index]; + if ((noCustomizer && data[2]) + ? data[1] !== object[data[0]] + : !(data[0] in object) + ) { + return false; + } + } + while (++index < length) { + data = matchData[index]; + var key = data[0], + objValue = object[key], + srcValue = data[1]; + + if (noCustomizer && data[2]) { + if (objValue === undefined && !(key in object)) { + return false; + } + } else { + var stack = new Stack; + if (customizer) { + var result = customizer(objValue, srcValue, key, object, source, stack); + } + if (!(result === undefined + ? baseIsEqual(srcValue, objValue, customizer, UNORDERED_COMPARE_FLAG | PARTIAL_COMPARE_FLAG, stack) + : result + )) { + return false; + } + } + } + return true; +} + +/** + * The base implementation of `_.isNative` without bad shim checks. + * + * @private + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a native function, + * else `false`. + */ +function baseIsNative(value) { + if (!isObject(value) || isMasked(value)) { + return false; + } + var pattern = (isFunction(value) || isHostObject(value)) ? reIsNative : reIsHostCtor; + return pattern.test(toSource(value)); +} + +/** + * The base implementation of `_.isTypedArray` without Node.js optimizations. + * + * @private + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a typed array, else `false`. + */ +function baseIsTypedArray(value) { + return isObjectLike(value) && + isLength(value.length) && !!typedArrayTags[objectToString.call(value)]; +} + +/** + * The base implementation of `_.iteratee`. + * + * @private + * @param {*} [value=_.identity] The value to convert to an iteratee. + * @returns {Function} Returns the iteratee. + */ +function baseIteratee(value) { + // Don't store the `typeof` result in a variable to avoid a JIT bug in Safari 9. + // See https://bugs.webkit.org/show_bug.cgi?id=156034 for more details. + if (typeof value == 'function') { + return value; + } + if (value == null) { + return identity; + } + if (typeof value == 'object') { + return isArray(value) + ? baseMatchesProperty(value[0], value[1]) + : baseMatches(value); + } + return property(value); +} + +/** + * The base implementation of `_.keys` which doesn't treat sparse arrays as dense. + * + * @private + * @param {Object} object The object to query. + * @returns {Array} Returns the array of property names. + */ +function baseKeys(object) { + if (!isPrototype(object)) { + return nativeKeys(object); + } + var result = []; + for (var key in Object(object)) { + if (hasOwnProperty.call(object, key) && key != 'constructor') { + result.push(key); + } + } + return result; +} + +/** + * The base implementation of `_.matches` which doesn't clone `source`. + * + * @private + * @param {Object} source The object of property values to match. + * @returns {Function} Returns the new spec function. + */ +function baseMatches(source) { + var matchData = getMatchData(source); + if (matchData.length == 1 && matchData[0][2]) { + return matchesStrictComparable(matchData[0][0], matchData[0][1]); + } + return function(object) { + return object === source || baseIsMatch(object, source, matchData); + }; +} + +/** + * The base implementation of `_.matchesProperty` which doesn't clone `srcValue`. + * + * @private + * @param {string} path The path of the property to get. + * @param {*} srcValue The value to match. + * @returns {Function} Returns the new spec function. + */ +function baseMatchesProperty(path, srcValue) { + if (isKey(path) && isStrictComparable(srcValue)) { + return matchesStrictComparable(toKey(path), srcValue); + } + return function(object) { + var objValue = get(object, path); + return (objValue === undefined && objValue === srcValue) + ? hasIn(object, path) + : baseIsEqual(srcValue, objValue, undefined, UNORDERED_COMPARE_FLAG | PARTIAL_COMPARE_FLAG); + }; +} + +/** + * A specialized version of `baseProperty` which supports deep paths. + * + * @private + * @param {Array|string} path The path of the property to get. + * @returns {Function} Returns the new accessor function. + */ +function basePropertyDeep(path) { + return function(object) { + return baseGet(object, path); + }; +} + +/** + * The base implementation of `_.toString` which doesn't convert nullish + * values to empty strings. + * + * @private + * @param {*} value The value to process. + * @returns {string} Returns the string. + */ +function baseToString(value) { + // Exit early for strings to avoid a performance hit in some environments. + if (typeof value == 'string') { + return value; + } + if (isSymbol(value)) { + return symbolToString ? symbolToString.call(value) : ''; + } + var result = (value + ''); + return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result; +} + +/** + * Casts `value` to a path array if it's not one. + * + * @private + * @param {*} value The value to inspect. + * @returns {Array} Returns the cast property path array. + */ +function castPath(value) { + return isArray(value) ? value : stringToPath(value); +} + +/** + * Creates a `_.find` or `_.findLast` function. + * + * @private + * @param {Function} findIndexFunc The function to find the collection index. + * @returns {Function} Returns the new find function. + */ +function createFind(findIndexFunc) { + return function(collection, predicate, fromIndex) { + var iterable = Object(collection); + if (!isArrayLike(collection)) { + var iteratee = baseIteratee(predicate, 3); + collection = keys(collection); + predicate = function(key) { return iteratee(iterable[key], key, iterable); }; + } + var index = findIndexFunc(collection, predicate, fromIndex); + return index > -1 ? iterable[iteratee ? collection[index] : index] : undefined; + }; +} + +/** + * A specialized version of `baseIsEqualDeep` for arrays with support for + * partial deep comparisons. + * + * @private + * @param {Array} array The array to compare. + * @param {Array} other The other array to compare. + * @param {Function} equalFunc The function to determine equivalents of values. + * @param {Function} customizer The function to customize comparisons. + * @param {number} bitmask The bitmask of comparison flags. See `baseIsEqual` + * for more details. + * @param {Object} stack Tracks traversed `array` and `other` objects. + * @returns {boolean} Returns `true` if the arrays are equivalent, else `false`. + */ +function equalArrays(array, other, equalFunc, customizer, bitmask, stack) { + var isPartial = bitmask & PARTIAL_COMPARE_FLAG, + arrLength = array.length, + othLength = other.length; + + if (arrLength != othLength && !(isPartial && othLength > arrLength)) { + return false; + } + // Assume cyclic values are equal. + var stacked = stack.get(array); + if (stacked && stack.get(other)) { + return stacked == other; + } + var index = -1, + result = true, + seen = (bitmask & UNORDERED_COMPARE_FLAG) ? new SetCache : undefined; + + stack.set(array, other); + stack.set(other, array); + + // Ignore non-index properties. + while (++index < arrLength) { + var arrValue = array[index], + othValue = other[index]; + + if (customizer) { + var compared = isPartial + ? customizer(othValue, arrValue, index, other, array, stack) + : customizer(arrValue, othValue, index, array, other, stack); + } + if (compared !== undefined) { + if (compared) { + continue; + } + result = false; + break; + } + // Recursively compare arrays (susceptible to call stack limits). + if (seen) { + if (!arraySome(other, function(othValue, othIndex) { + if (!seen.has(othIndex) && + (arrValue === othValue || equalFunc(arrValue, othValue, customizer, bitmask, stack))) { + return seen.add(othIndex); + } + })) { + result = false; + break; + } + } else if (!( + arrValue === othValue || + equalFunc(arrValue, othValue, customizer, bitmask, stack) + )) { + result = false; + break; + } + } + stack['delete'](array); + stack['delete'](other); + return result; +} + +/** + * A specialized version of `baseIsEqualDeep` for comparing objects of + * the same `toStringTag`. + * + * **Note:** This function only supports comparing values with tags of + * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`. + * + * @private + * @param {Object} object The object to compare. + * @param {Object} other The other object to compare. + * @param {string} tag The `toStringTag` of the objects to compare. + * @param {Function} equalFunc The function to determine equivalents of values. + * @param {Function} customizer The function to customize comparisons. + * @param {number} bitmask The bitmask of comparison flags. See `baseIsEqual` + * for more details. + * @param {Object} stack Tracks traversed `object` and `other` objects. + * @returns {boolean} Returns `true` if the objects are equivalent, else `false`. + */ +function equalByTag(object, other, tag, equalFunc, customizer, bitmask, stack) { + switch (tag) { + case dataViewTag: + if ((object.byteLength != other.byteLength) || + (object.byteOffset != other.byteOffset)) { + return false; + } + object = object.buffer; + other = other.buffer; + + case arrayBufferTag: + if ((object.byteLength != other.byteLength) || + !equalFunc(new Uint8Array(object), new Uint8Array(other))) { + return false; + } + return true; + + case boolTag: + case dateTag: + case numberTag: + // Coerce booleans to `1` or `0` and dates to milliseconds. + // Invalid dates are coerced to `NaN`. + return eq(+object, +other); + + case errorTag: + return object.name == other.name && object.message == other.message; + + case regexpTag: + case stringTag: + // Coerce regexes to strings and treat strings, primitives and objects, + // as equal. See http://www.ecma-international.org/ecma-262/7.0/#sec-regexp.prototype.tostring + // for more details. + return object == (other + ''); + + case mapTag: + var convert = mapToArray; + + case setTag: + var isPartial = bitmask & PARTIAL_COMPARE_FLAG; + convert || (convert = setToArray); + + if (object.size != other.size && !isPartial) { + return false; + } + // Assume cyclic values are equal. + var stacked = stack.get(object); + if (stacked) { + return stacked == other; + } + bitmask |= UNORDERED_COMPARE_FLAG; + + // Recursively compare objects (susceptible to call stack limits). + stack.set(object, other); + var result = equalArrays(convert(object), convert(other), equalFunc, customizer, bitmask, stack); + stack['delete'](object); + return result; + + case symbolTag: + if (symbolValueOf) { + return symbolValueOf.call(object) == symbolValueOf.call(other); + } + } + return false; +} + +/** + * A specialized version of `baseIsEqualDeep` for objects with support for + * partial deep comparisons. + * + * @private + * @param {Object} object The object to compare. + * @param {Object} other The other object to compare. + * @param {Function} equalFunc The function to determine equivalents of values. + * @param {Function} customizer The function to customize comparisons. + * @param {number} bitmask The bitmask of comparison flags. See `baseIsEqual` + * for more details. + * @param {Object} stack Tracks traversed `object` and `other` objects. + * @returns {boolean} Returns `true` if the objects are equivalent, else `false`. + */ +function equalObjects(object, other, equalFunc, customizer, bitmask, stack) { + var isPartial = bitmask & PARTIAL_COMPARE_FLAG, + objProps = keys(object), + objLength = objProps.length, + othProps = keys(other), + othLength = othProps.length; + + if (objLength != othLength && !isPartial) { + return false; + } + var index = objLength; + while (index--) { + var key = objProps[index]; + if (!(isPartial ? key in other : hasOwnProperty.call(other, key))) { + return false; + } + } + // Assume cyclic values are equal. + var stacked = stack.get(object); + if (stacked && stack.get(other)) { + return stacked == other; + } + var result = true; + stack.set(object, other); + stack.set(other, object); + + var skipCtor = isPartial; + while (++index < objLength) { + key = objProps[index]; + var objValue = object[key], + othValue = other[key]; + + if (customizer) { + var compared = isPartial + ? customizer(othValue, objValue, key, other, object, stack) + : customizer(objValue, othValue, key, object, other, stack); + } + // Recursively compare objects (susceptible to call stack limits). + if (!(compared === undefined + ? (objValue === othValue || equalFunc(objValue, othValue, customizer, bitmask, stack)) + : compared + )) { + result = false; + break; + } + skipCtor || (skipCtor = key == 'constructor'); + } + if (result && !skipCtor) { + var objCtor = object.constructor, + othCtor = other.constructor; + + // Non `Object` object instances with different constructors are not equal. + if (objCtor != othCtor && + ('constructor' in object && 'constructor' in other) && + !(typeof objCtor == 'function' && objCtor instanceof objCtor && + typeof othCtor == 'function' && othCtor instanceof othCtor)) { + result = false; + } + } + stack['delete'](object); + stack['delete'](other); + return result; +} + +/** + * Gets the data for `map`. + * + * @private + * @param {Object} map The map to query. + * @param {string} key The reference key. + * @returns {*} Returns the map data. + */ +function getMapData(map, key) { + var data = map.__data__; + return isKeyable(key) + ? data[typeof key == 'string' ? 'string' : 'hash'] + : data.map; +} + +/** + * Gets the property names, values, and compare flags of `object`. + * + * @private + * @param {Object} object The object to query. + * @returns {Array} Returns the match data of `object`. + */ +function getMatchData(object) { + var result = keys(object), + length = result.length; + + while (length--) { + var key = result[length], + value = object[key]; + + result[length] = [key, value, isStrictComparable(value)]; + } + return result; +} + +/** + * Gets the native function at `key` of `object`. + * + * @private + * @param {Object} object The object to query. + * @param {string} key The key of the method to get. + * @returns {*} Returns the function if it's native, else `undefined`. + */ +function getNative(object, key) { + var value = getValue(object, key); + return baseIsNative(value) ? value : undefined; +} + +/** + * Gets the `toStringTag` of `value`. + * + * @private + * @param {*} value The value to query. + * @returns {string} Returns the `toStringTag`. + */ +var getTag = baseGetTag; + +// Fallback for data views, maps, sets, and weak maps in IE 11, +// for data views in Edge < 14, and promises in Node.js. +if ((DataView && getTag(new DataView(new ArrayBuffer(1))) != dataViewTag) || + (Map && getTag(new Map) != mapTag) || + (Promise && getTag(Promise.resolve()) != promiseTag) || + (Set && getTag(new Set) != setTag) || + (WeakMap && getTag(new WeakMap) != weakMapTag)) { + getTag = function(value) { + var result = objectToString.call(value), + Ctor = result == objectTag ? value.constructor : undefined, + ctorString = Ctor ? toSource(Ctor) : undefined; + + if (ctorString) { + switch (ctorString) { + case dataViewCtorString: return dataViewTag; + case mapCtorString: return mapTag; + case promiseCtorString: return promiseTag; + case setCtorString: return setTag; + case weakMapCtorString: return weakMapTag; + } + } + return result; + }; +} + +/** + * Checks if `path` exists on `object`. + * + * @private + * @param {Object} object The object to query. + * @param {Array|string} path The path to check. + * @param {Function} hasFunc The function to check properties. + * @returns {boolean} Returns `true` if `path` exists, else `false`. + */ +function hasPath(object, path, hasFunc) { + path = isKey(path, object) ? [path] : castPath(path); + + var result, + index = -1, + length = path.length; + + while (++index < length) { + var key = toKey(path[index]); + if (!(result = object != null && hasFunc(object, key))) { + break; + } + object = object[key]; + } + if (result) { + return result; + } + var length = object ? object.length : 0; + return !!length && isLength(length) && isIndex(key, length) && + (isArray(object) || isArguments(object)); +} + +/** + * Checks if `value` is a valid array-like index. + * + * @private + * @param {*} value The value to check. + * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index. + * @returns {boolean} Returns `true` if `value` is a valid index, else `false`. + */ +function isIndex(value, length) { + length = length == null ? MAX_SAFE_INTEGER : length; + return !!length && + (typeof value == 'number' || reIsUint.test(value)) && + (value > -1 && value % 1 == 0 && value < length); +} + +/** + * Checks if `value` is a property name and not a property path. + * + * @private + * @param {*} value The value to check. + * @param {Object} [object] The object to query keys on. + * @returns {boolean} Returns `true` if `value` is a property name, else `false`. + */ +function isKey(value, object) { + if (isArray(value)) { + return false; + } + var type = typeof value; + if (type == 'number' || type == 'symbol' || type == 'boolean' || + value == null || isSymbol(value)) { + return true; + } + return reIsPlainProp.test(value) || !reIsDeepProp.test(value) || + (object != null && value in Object(object)); +} + +/** + * Checks if `value` is suitable for use as unique object key. + * + * @private + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is suitable, else `false`. + */ +function isKeyable(value) { + var type = typeof value; + return (type == 'string' || type == 'number' || type == 'symbol' || type == 'boolean') + ? (value !== '__proto__') + : (value === null); +} + +/** + * Checks if `func` has its source masked. + * + * @private + * @param {Function} func The function to check. + * @returns {boolean} Returns `true` if `func` is masked, else `false`. + */ +function isMasked(func) { + return !!maskSrcKey && (maskSrcKey in func); +} + +/** + * Checks if `value` is likely a prototype object. + * + * @private + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a prototype, else `false`. + */ +function isPrototype(value) { + var Ctor = value && value.constructor, + proto = (typeof Ctor == 'function' && Ctor.prototype) || objectProto; + + return value === proto; +} + +/** + * Checks if `value` is suitable for strict equality comparisons, i.e. `===`. + * + * @private + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` if suitable for strict + * equality comparisons, else `false`. + */ +function isStrictComparable(value) { + return value === value && !isObject(value); +} + +/** + * A specialized version of `matchesProperty` for source values suitable + * for strict equality comparisons, i.e. `===`. + * + * @private + * @param {string} key The key of the property to get. + * @param {*} srcValue The value to match. + * @returns {Function} Returns the new spec function. + */ +function matchesStrictComparable(key, srcValue) { + return function(object) { + if (object == null) { + return false; + } + return object[key] === srcValue && + (srcValue !== undefined || (key in Object(object))); + }; +} + +/** + * Converts `string` to a property path array. + * + * @private + * @param {string} string The string to convert. + * @returns {Array} Returns the property path array. + */ +var stringToPath = memoize(function(string) { + string = toString(string); + + var result = []; + if (reLeadingDot.test(string)) { + result.push(''); + } + string.replace(rePropName, function(match, number, quote, string) { + result.push(quote ? string.replace(reEscapeChar, '$1') : (number || match)); + }); + return result; +}); + +/** + * Converts `value` to a string key if it's not a string or symbol. + * + * @private + * @param {*} value The value to inspect. + * @returns {string|symbol} Returns the key. + */ +function toKey(value) { + if (typeof value == 'string' || isSymbol(value)) { + return value; + } + var result = (value + ''); + return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result; +} + +/** + * Converts `func` to its source code. + * + * @private + * @param {Function} func The function to process. + * @returns {string} Returns the source code. + */ +function toSource(func) { + if (func != null) { + try { + return funcToString.call(func); + } catch (e) {} + try { + return (func + ''); + } catch (e) {} + } + return ''; +} + +/** + * This method is like `_.find` except that it returns the index of the first + * element `predicate` returns truthy for instead of the element itself. + * + * @static + * @memberOf _ + * @since 1.1.0 + * @category Array + * @param {Array} array The array to inspect. + * @param {Function} [predicate=_.identity] + * The function invoked per iteration. + * @param {number} [fromIndex=0] The index to search from. + * @returns {number} Returns the index of the found element, else `-1`. + * @example + * + * var users = [ + * { 'user': 'barney', 'active': false }, + * { 'user': 'fred', 'active': false }, + * { 'user': 'pebbles', 'active': true } + * ]; + * + * _.findIndex(users, function(o) { return o.user == 'barney'; }); + * // => 0 + * + * // The `_.matches` iteratee shorthand. + * _.findIndex(users, { 'user': 'fred', 'active': false }); + * // => 1 + * + * // The `_.matchesProperty` iteratee shorthand. + * _.findIndex(users, ['active', false]); + * // => 0 + * + * // The `_.property` iteratee shorthand. + * _.findIndex(users, 'active'); + * // => 2 + */ +function findIndex(array, predicate, fromIndex) { + var length = array ? array.length : 0; + if (!length) { + return -1; + } + var index = fromIndex == null ? 0 : toInteger(fromIndex); + if (index < 0) { + index = nativeMax(length + index, 0); + } + return baseFindIndex(array, baseIteratee(predicate, 3), index); +} + +/** + * Iterates over elements of `collection`, returning the first element + * `predicate` returns truthy for. The predicate is invoked with three + * arguments: (value, index|key, collection). + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Collection + * @param {Array|Object} collection The collection to inspect. + * @param {Function} [predicate=_.identity] + * The function invoked per iteration. + * @param {number} [fromIndex=0] The index to search from. + * @returns {*} Returns the matched element, else `undefined`. + * @example + * + * var users = [ + * { 'user': 'barney', 'age': 36, 'active': true }, + * { 'user': 'fred', 'age': 40, 'active': false }, + * { 'user': 'pebbles', 'age': 1, 'active': true } + * ]; + * + * _.find(users, function(o) { return o.age < 40; }); + * // => object for 'barney' + * + * // The `_.matches` iteratee shorthand. + * _.find(users, { 'age': 1, 'active': true }); + * // => object for 'pebbles' + * + * // The `_.matchesProperty` iteratee shorthand. + * _.find(users, ['active', false]); + * // => object for 'fred' + * + * // The `_.property` iteratee shorthand. + * _.find(users, 'active'); + * // => object for 'barney' + */ +var find = createFind(findIndex); + +/** + * Creates a function that memoizes the result of `func`. If `resolver` is + * provided, it determines the cache key for storing the result based on the + * arguments provided to the memoized function. By default, the first argument + * provided to the memoized function is used as the map cache key. The `func` + * is invoked with the `this` binding of the memoized function. + * + * **Note:** The cache is exposed as the `cache` property on the memoized + * function. Its creation may be customized by replacing the `_.memoize.Cache` + * constructor with one whose instances implement the + * [`Map`](http://ecma-international.org/ecma-262/7.0/#sec-properties-of-the-map-prototype-object) + * method interface of `delete`, `get`, `has`, and `set`. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Function + * @param {Function} func The function to have its output memoized. + * @param {Function} [resolver] The function to resolve the cache key. + * @returns {Function} Returns the new memoized function. + * @example + * + * var object = { 'a': 1, 'b': 2 }; + * var other = { 'c': 3, 'd': 4 }; + * + * var values = _.memoize(_.values); + * values(object); + * // => [1, 2] + * + * values(other); + * // => [3, 4] + * + * object.a = 2; + * values(object); + * // => [1, 2] + * + * // Modify the result cache. + * values.cache.set(object, ['a', 'b']); + * values(object); + * // => ['a', 'b'] + * + * // Replace `_.memoize.Cache`. + * _.memoize.Cache = WeakMap; + */ +function memoize(func, resolver) { + if (typeof func != 'function' || (resolver && typeof resolver != 'function')) { + throw new TypeError(FUNC_ERROR_TEXT); + } + var memoized = function() { + var args = arguments, + key = resolver ? resolver.apply(this, args) : args[0], + cache = memoized.cache; + + if (cache.has(key)) { + return cache.get(key); + } + var result = func.apply(this, args); + memoized.cache = cache.set(key, result); + return result; + }; + memoized.cache = new (memoize.Cache || MapCache); + return memoized; +} + +// Assign cache to `_.memoize`. +memoize.Cache = MapCache; + +/** + * Performs a + * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero) + * comparison between two values to determine if they are equivalent. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Lang + * @param {*} value The value to compare. + * @param {*} other The other value to compare. + * @returns {boolean} Returns `true` if the values are equivalent, else `false`. + * @example + * + * var object = { 'a': 1 }; + * var other = { 'a': 1 }; + * + * _.eq(object, object); + * // => true + * + * _.eq(object, other); + * // => false + * + * _.eq('a', 'a'); + * // => true + * + * _.eq('a', Object('a')); + * // => false + * + * _.eq(NaN, NaN); + * // => true + */ +function eq(value, other) { + return value === other || (value !== value && other !== other); +} + +/** + * Checks if `value` is likely an `arguments` object. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is an `arguments` object, + * else `false`. + * @example + * + * _.isArguments(function() { return arguments; }()); + * // => true + * + * _.isArguments([1, 2, 3]); + * // => false + */ +function isArguments(value) { + // Safari 8.1 makes `arguments.callee` enumerable in strict mode. + return isArrayLikeObject(value) && hasOwnProperty.call(value, 'callee') && + (!propertyIsEnumerable.call(value, 'callee') || objectToString.call(value) == argsTag); +} + +/** + * Checks if `value` is classified as an `Array` object. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is an array, else `false`. + * @example + * + * _.isArray([1, 2, 3]); + * // => true + * + * _.isArray(document.body.children); + * // => false + * + * _.isArray('abc'); + * // => false + * + * _.isArray(_.noop); + * // => false + */ +var isArray = Array.isArray; + +/** + * Checks if `value` is array-like. A value is considered array-like if it's + * not a function and has a `value.length` that's an integer greater than or + * equal to `0` and less than or equal to `Number.MAX_SAFE_INTEGER`. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is array-like, else `false`. + * @example + * + * _.isArrayLike([1, 2, 3]); + * // => true + * + * _.isArrayLike(document.body.children); + * // => true + * + * _.isArrayLike('abc'); + * // => true + * + * _.isArrayLike(_.noop); + * // => false + */ +function isArrayLike(value) { + return value != null && isLength(value.length) && !isFunction(value); +} + +/** + * This method is like `_.isArrayLike` except that it also checks if `value` + * is an object. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is an array-like object, + * else `false`. + * @example + * + * _.isArrayLikeObject([1, 2, 3]); + * // => true + * + * _.isArrayLikeObject(document.body.children); + * // => true + * + * _.isArrayLikeObject('abc'); + * // => false + * + * _.isArrayLikeObject(_.noop); + * // => false + */ +function isArrayLikeObject(value) { + return isObjectLike(value) && isArrayLike(value); +} + +/** + * Checks if `value` is classified as a `Function` object. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a function, else `false`. + * @example + * + * _.isFunction(_); + * // => true + * + * _.isFunction(/abc/); + * // => false + */ +function isFunction(value) { + // The use of `Object#toString` avoids issues with the `typeof` operator + // in Safari 8-9 which returns 'object' for typed array and other constructors. + var tag = isObject(value) ? objectToString.call(value) : ''; + return tag == funcTag || tag == genTag; +} + +/** + * Checks if `value` is a valid array-like length. + * + * **Note:** This method is loosely based on + * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength). + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a valid length, else `false`. + * @example + * + * _.isLength(3); + * // => true + * + * _.isLength(Number.MIN_VALUE); + * // => false + * + * _.isLength(Infinity); + * // => false + * + * _.isLength('3'); + * // => false + */ +function isLength(value) { + return typeof value == 'number' && + value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER; +} + +/** + * Checks if `value` is the + * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types) + * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`) + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is an object, else `false`. + * @example + * + * _.isObject({}); + * // => true + * + * _.isObject([1, 2, 3]); + * // => true + * + * _.isObject(_.noop); + * // => true + * + * _.isObject(null); + * // => false + */ +function isObject(value) { + var type = typeof value; + return !!value && (type == 'object' || type == 'function'); +} + +/** + * Checks if `value` is object-like. A value is object-like if it's not `null` + * and has a `typeof` result of "object". + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is object-like, else `false`. + * @example + * + * _.isObjectLike({}); + * // => true + * + * _.isObjectLike([1, 2, 3]); + * // => true + * + * _.isObjectLike(_.noop); + * // => false + * + * _.isObjectLike(null); + * // => false + */ +function isObjectLike(value) { + return !!value && typeof value == 'object'; +} + +/** + * Checks if `value` is classified as a `Symbol` primitive or object. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a symbol, else `false`. + * @example + * + * _.isSymbol(Symbol.iterator); + * // => true + * + * _.isSymbol('abc'); + * // => false + */ +function isSymbol(value) { + return typeof value == 'symbol' || + (isObjectLike(value) && objectToString.call(value) == symbolTag); +} + +/** + * Checks if `value` is classified as a typed array. + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a typed array, else `false`. + * @example + * + * _.isTypedArray(new Uint8Array); + * // => true + * + * _.isTypedArray([]); + * // => false + */ +var isTypedArray = nodeIsTypedArray ? baseUnary(nodeIsTypedArray) : baseIsTypedArray; + +/** + * Converts `value` to a finite number. + * + * @static + * @memberOf _ + * @since 4.12.0 + * @category Lang + * @param {*} value The value to convert. + * @returns {number} Returns the converted number. + * @example + * + * _.toFinite(3.2); + * // => 3.2 + * + * _.toFinite(Number.MIN_VALUE); + * // => 5e-324 + * + * _.toFinite(Infinity); + * // => 1.7976931348623157e+308 + * + * _.toFinite('3.2'); + * // => 3.2 + */ +function toFinite(value) { + if (!value) { + return value === 0 ? value : 0; + } + value = toNumber(value); + if (value === INFINITY || value === -INFINITY) { + var sign = (value < 0 ? -1 : 1); + return sign * MAX_INTEGER; + } + return value === value ? value : 0; +} + +/** + * Converts `value` to an integer. + * + * **Note:** This method is loosely based on + * [`ToInteger`](http://www.ecma-international.org/ecma-262/7.0/#sec-tointeger). + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Lang + * @param {*} value The value to convert. + * @returns {number} Returns the converted integer. + * @example + * + * _.toInteger(3.2); + * // => 3 + * + * _.toInteger(Number.MIN_VALUE); + * // => 0 + * + * _.toInteger(Infinity); + * // => 1.7976931348623157e+308 + * + * _.toInteger('3.2'); + * // => 3 + */ +function toInteger(value) { + var result = toFinite(value), + remainder = result % 1; + + return result === result ? (remainder ? result - remainder : result) : 0; +} + +/** + * Converts `value` to a number. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Lang + * @param {*} value The value to process. + * @returns {number} Returns the number. + * @example + * + * _.toNumber(3.2); + * // => 3.2 + * + * _.toNumber(Number.MIN_VALUE); + * // => 5e-324 + * + * _.toNumber(Infinity); + * // => Infinity + * + * _.toNumber('3.2'); + * // => 3.2 + */ +function toNumber(value) { + if (typeof value == 'number') { + return value; + } + if (isSymbol(value)) { + return NAN; + } + if (isObject(value)) { + var other = typeof value.valueOf == 'function' ? value.valueOf() : value; + value = isObject(other) ? (other + '') : other; + } + if (typeof value != 'string') { + return value === 0 ? value : +value; + } + value = value.replace(reTrim, ''); + var isBinary = reIsBinary.test(value); + return (isBinary || reIsOctal.test(value)) + ? freeParseInt(value.slice(2), isBinary ? 2 : 8) + : (reIsBadHex.test(value) ? NAN : +value); +} + +/** + * Converts `value` to a string. An empty string is returned for `null` + * and `undefined` values. The sign of `-0` is preserved. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Lang + * @param {*} value The value to process. + * @returns {string} Returns the string. + * @example + * + * _.toString(null); + * // => '' + * + * _.toString(-0); + * // => '-0' + * + * _.toString([1, 2, 3]); + * // => '1,2,3' + */ +function toString(value) { + return value == null ? '' : baseToString(value); +} + +/** + * Gets the value at `path` of `object`. If the resolved value is + * `undefined`, the `defaultValue` is returned in its place. + * + * @static + * @memberOf _ + * @since 3.7.0 + * @category Object + * @param {Object} object The object to query. + * @param {Array|string} path The path of the property to get. + * @param {*} [defaultValue] The value returned for `undefined` resolved values. + * @returns {*} Returns the resolved value. + * @example + * + * var object = { 'a': [{ 'b': { 'c': 3 } }] }; + * + * _.get(object, 'a[0].b.c'); + * // => 3 + * + * _.get(object, ['a', '0', 'b', 'c']); + * // => 3 + * + * _.get(object, 'a.b.c', 'default'); + * // => 'default' + */ +function get(object, path, defaultValue) { + var result = object == null ? undefined : baseGet(object, path); + return result === undefined ? defaultValue : result; +} + +/** + * Checks if `path` is a direct or inherited property of `object`. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Object + * @param {Object} object The object to query. + * @param {Array|string} path The path to check. + * @returns {boolean} Returns `true` if `path` exists, else `false`. + * @example + * + * var object = _.create({ 'a': _.create({ 'b': 2 }) }); + * + * _.hasIn(object, 'a'); + * // => true + * + * _.hasIn(object, 'a.b'); + * // => true + * + * _.hasIn(object, ['a', 'b']); + * // => true + * + * _.hasIn(object, 'b'); + * // => false + */ +function hasIn(object, path) { + return object != null && hasPath(object, path, baseHasIn); +} + +/** + * Creates an array of the own enumerable property names of `object`. + * + * **Note:** Non-object values are coerced to objects. See the + * [ES spec](http://ecma-international.org/ecma-262/7.0/#sec-object.keys) + * for more details. + * + * @static + * @since 0.1.0 + * @memberOf _ + * @category Object + * @param {Object} object The object to query. + * @returns {Array} Returns the array of property names. + * @example + * + * function Foo() { + * this.a = 1; + * this.b = 2; + * } + * + * Foo.prototype.c = 3; + * + * _.keys(new Foo); + * // => ['a', 'b'] (iteration order is not guaranteed) + * + * _.keys('hi'); + * // => ['0', '1'] + */ +function keys(object) { + return isArrayLike(object) ? arrayLikeKeys(object) : baseKeys(object); +} + +/** + * This method returns the first argument it receives. + * + * @static + * @since 0.1.0 + * @memberOf _ + * @category Util + * @param {*} value Any value. + * @returns {*} Returns `value`. + * @example + * + * var object = { 'a': 1 }; + * + * console.log(_.identity(object) === object); + * // => true + */ +function identity(value) { + return value; +} + +/** + * Creates a function that returns the value at `path` of a given object. + * + * @static + * @memberOf _ + * @since 2.4.0 + * @category Util + * @param {Array|string} path The path of the property to get. + * @returns {Function} Returns the new accessor function. + * @example + * + * var objects = [ + * { 'a': { 'b': 2 } }, + * { 'a': { 'b': 1 } } + * ]; + * + * _.map(objects, _.property('a.b')); + * // => [2, 1] + * + * _.map(_.sortBy(objects, _.property(['a', 'b'])), 'a.b'); + * // => [1, 2] + */ +function property(path) { + return isKey(path) ? baseProperty(toKey(path)) : basePropertyDeep(path); +} + +module.exports = find; + +/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(10), __webpack_require__(16)(module))) + +/***/ }), +/* 13 */ +/***/ (function(module) { + +module.exports = JSON.parse("{\"component\":\"app-launcher\",\"status\":\"prod\",\"display-name\":\"App Launcher\",\"classKey\":\"AppLauncher\",\"SLDS-component-path\":\"/components/app-launcher\",\"dependencies\":[{\"component\":\"expandable-section\",\"classKey\":\"AppLauncherExpandableSection\"},{\"component\":\"link\",\"classKey\":\"AppLauncherLink\"},{\"component\":\"tile\",\"classKey\":\"AppLauncherTile\"}],\"site-stories\":[{\"heading\":\"Default\",\"path\":\"/__examples__/default.jsx\"}],\"url-slug\":\"app-launcher\"}"); + +/***/ }), +/* 14 */ +/***/ (function(module, exports) { + +module.exports = { + // Used as the background color for the active state on rows or items on list-like components. + colorBackgroundRowActive: 'rgb(236, 235, 234)', + // Brandable modal header + colorBackgroundModalBrand: 'rgb(0, 112, 210)', + // Background color for notification list item. + colorBackgroundNotification: 'rgb(255, 255, 255)', + // Background color for a new notification list item. + colorBackgroundNotificationNew: 'rgb(243, 242, 242)', + // Notifications badge background color. + colorBackgroundNotificationBadgeActive: 'rgb(0, 57, 107)', + // Notifications badge background color. + colorBackgroundNotificationBadgeHover: 'rgb(0, 95, 178)', + colorContrastPrimary: 'rgb(243, 242, 242)', + // Used as the background color for the hover state on rows or items on list-like components. + colorBackgroundRowHover: 'rgb(243, 242, 242)', + colorForegroundPrimary: 'rgb(255, 255, 255)', + // Dark color for UI elements related to errors. Accessible with white text. + colorBackgroundErrorDark: 'rgb(194, 57, 52)', + // Background color for UI elements related to providing neutral information (not error, success, or warning). + colorBackgroundInfo: 'rgb(112, 110, 107)', + // The color of the mask overlay that appears when you enter a modal state. + colorBackgroundTempModalTint: 'rgba(43, 40, 38, 0.6)', + // Background color for reminder notification on hover + colorBackgroundReminderHover: 'rgb(255, 255, 255)', + // Winter 18 token, this has been deprecated. Please use BRAND_BACKGROUND_DARK_TRANSPARENT instead. These RGBA values need to be updated if BRAND_BAND_COLOR_BACKGROUND_PRIMARY changes, solves webkit bug + brandBandColorBackgroundSecondaryTransparent: 'rgba(253, 253, 253, 0)', + // Notifications badge background color. + colorBackgroundNotificationBadge: 'rgb(194, 57, 52)', + // Color of the indicator dot. + colorBackgroundIndicatorDot: 'rgb(22, 50, 92)', + cardWrapperColorBackground: 'rgb(255, 255, 255)', + // Alternative background color for dark portions of the app. + colorBackgroundAltInverse: 'rgb(22, 50, 92)', + popoverWalkthroughHeaderImage: '/assets/images/popovers/popover-header.png', + // Disabled input + colorBackgroundInputDisabled: 'rgb(236, 235, 234)', + // Used as the background color for the new state on rows or items on list-like components. + colorBackgroundRowNew: 'rgb(217, 255, 223)', + // Hovered toggle background color. + colorBackgroundToggleHover: 'rgb(150, 148, 146)', + popoverWalkthroughColorBackground: 'rgb(3, 46, 97)', + // Dark color for UI elements that have to do with success. Accessible with white text. + colorBackgroundSuccessDark: 'rgb(4, 132, 75)', + // Background color for reminder notification + colorBackgroundReminder: 'rgb(244, 246, 249)', + // Used as background for loading stencils on white background. + colorBackgroundStencil: 'rgb(243, 242, 242)', + // Used when further differentiation is needed because colorBackground and colorBackgroundAlt are both being used in close proximity. + colorBackgroundAlt2: 'rgb(243, 242, 242)', + // Color for UI elements that have to do with warning. + colorBackgroundWarning: 'rgb(255, 183, 93)', + // Hovered background color for success buttons + colorBackgroundButtonSuccessHover: 'rgb(4, 132, 75)', + popoverWalkthroughAltImage: '/assets/images/popovers/popover-action.png', + // Hover color for utility bar item. + colorBackgroundUtilityBarHover: 'rgb(236, 235, 234)', + progressColorBorderShade: 'rgb(243, 242, 242)', + // Background color for highlighting text in search results. + colorBackgroundHighlightSearch: 'rgb(255, 240, 63)', + // Toggle background color. + colorBackgroundToggle: 'rgb(176, 173, 171)', + // Use COLOR_BACKGROUND_PAGE_HEADER instead. + colorBackgroundAnchor: 'rgb(243, 242, 242)', + popoverWalkthroughAltNubbinColorBackground: 'rgb(33, 92, 160)', + // Hover color for UI elements related to destructive actions. + colorBackgroundDestructiveHover: 'rgb(166, 26, 20)', + progressColorBackgroundShade: 'rgb(243, 242, 242)', + // Default background color for the whole app. + colorBackground: 'rgb(243, 242, 242)', + // Our product brand blue, darkened to meet accessibility color contrast ratios with white text. + colorBrandDark: 'rgb(0, 112, 210)', + // Background color for success buttons + colorBackgroundButtonSuccess: 'rgb(75, 202, 129)', + // The color of the mask overlay that appears when you enter a modal state. + colorBackgroundBackdrop: 'rgba(255, 255, 255, 0.75)', + // Our product brand blue. + colorBrand: 'rgb(21, 137, 238)', + // Background color for default desktop chrome (ex. global header) + colorBackgroundChromeDesktop: 'rgb(255, 255, 255)', + // Default Page Header background color + pageHeaderColorBackground: 'rgb(243, 242, 242)', + // Active button backgrounds on modal headers + colorBackgroundModalButtonActive: 'rgba(0, 0, 0, 0.16)', + // Color for UI elements related to destructive actions. + colorBackgroundDestructive: 'rgb(194, 57, 52)', + // Selected checkboxes + colorBackgroundInputCheckboxSelected: 'rgb(21, 137, 238)', + // Default checkboxes + colorBackgroundInputCheckbox: 'rgb(255, 255, 255)', + colorBackgroundPrimary: 'rgb(243, 242, 242)', + // Color for UI elements that have to do with success. + colorBackgroundSuccess: 'rgb(75, 202, 129)', + // Disabled checkboxes + colorBackgroundInputCheckboxDisabled: 'rgb(221, 219, 218)', + // Background color for pills. + colorBackgroundPill: 'rgb(255, 255, 255)', + // Color of the spinner dot. + colorBackgroundSpinnerDot: 'rgb(176, 173, 171)', + colorBackgroundBrandPrimaryFocus: 'rgb(0, 95, 178)', + // Color for UI elements related to the offline state. + colorBackgroundOffline: 'rgb(62, 62, 60)', + tableColorBackgroundHeaderHover: 'rgb(255, 255, 255)', + // The color of the mask overlay that provides user feedback on interaction. + colorBackgroundBackdropTint: 'rgb(250, 250, 249)', + colorBackgroundBrandPrimaryActive: 'rgb(0, 95, 178)', + // Selected input field (when user has clicked or tabbed into field) + colorBackgroundInputActive: 'rgb(255, 255, 255)', + popoverWalkthroughColorBackgroundAlt: 'rgb(22, 74, 133)', + // Winter 18 token, this has been deprecated. Please use BRAND_BACKGROUND_PRIMARY_DARK instead. + brandBandColorBackgroundSecondary: 'rgb(253, 253, 253)', + tableColorBackgroundHeader: 'rgb(250, 250, 249)', + // Used as an alternate background for loading stencils on gray backgrounds. + colorBackgroundStencilAlt: 'rgb(236, 235, 234)', + // The background color of an internal scrollbar. + colorBackgroundScrollbar: 'rgb(236, 235, 234)', + // Disabled toggle background color. + colorBackgroundToggleDisabled: 'rgb(176, 173, 171)', + // Background color for toast messaging. + colorBackgroundToast: 'rgb(112, 110, 107)', + colorBackgroundBrandPrimaryHover: 'rgb(0, 95, 178)', + // Background color for default mobile chrome (ex. global header) + colorBackgroundChromeMobile: 'rgb(0, 112, 210)', + // Winter 18 token, this has been deprecated. Please use BRAND_BACKGROUND_PRIMARY_TRANSPARENT instead. These RGBA values need to be updated if BRAND_BAND_COLOR_BACKGROUND_PRIMARY changes, solves webkit bug + brandBandColorBackgroundPrimaryTransparent: 'rgba(253, 253, 253, 0)', + // Background color for UI elements related to the concept of an external user or customer. + colorBackgroundCustomer: 'rgb(255, 154, 60)', + // Color for UI elements related to errors. + colorBackgroundError: 'rgb(212, 80, 76)', + colorContrastSecondary: 'rgb(243, 242, 242)', + // Secondary top bar background color (child browser, file preview, etc.) + colorBackgroundBrowser: 'rgb(112, 110, 107)', + // Second default background color for the app. + colorBackgroundAlt: 'rgb(255, 255, 255)', + // Background color of comment posts in the feed. + colorBackgroundPost: 'rgb(250, 250, 249)', + colorBackgroundBrandPrimary: 'rgb(0, 112, 210)', + // Used as the background color for selected rows or items on list-like components. + colorBackgroundRowSelected: 'rgb(236, 235, 234)', + // Default input field + colorBackgroundInput: 'rgb(255, 255, 255)', + // Background color for success toast messaging. + colorBackgroundToastSuccess: 'rgb(4, 132, 75)', + // Color of mask overlay that sits on top of an image when text is present. + colorBackgroundImageOverlay: 'rgba(0, 0, 0, 0.4)', + // Our product brand blue, darkened even further. + colorBrandDarker: 'rgb(0, 95, 178)', + // Used as the default background color for temporary dialog elements, such as the progress spinner background. + colorBackgroundTempModal: 'rgb(150, 148, 146)', + // Background color for text selected with a mouse. + colorBackgroundSelection: 'rgb(216, 237, 255)', + // Used as gray background when more contrast is desired. + colorBackgroundShade: 'rgb(236, 235, 234)', + // Standard modal header + colorBackgroundModal: 'rgb(255, 255, 255)', + // Active color for UI elements related to destructive actions. + colorBackgroundDestructiveActive: 'rgb(135, 5, 0)', + // Hovered active toggle background color. + colorBackgroundToggleActiveHover: 'rgb(0, 95, 178)', + // Background color for payloads in the feed. + colorBackgroundPayload: 'rgb(250, 250, 249)', + // Button backgrounds on modal headers + colorBackgroundModalButton: 'rgba(0, 0, 0, 0.07)', + // Active color for utility bar item. + colorBackgroundUtilityBarActive: 'rgb(21, 137, 238)', + // Active background color for success buttons + colorBackgroundButtonSuccessActive: 'rgb(4, 132, 75)', + buttonColorBackgroundPrimary: 'rgb(255, 255, 255)', + // Background color for error toast messaging. + colorBackgroundToastError: 'rgb(194, 57, 52)', + // Stage left org switcher dropdown arrow background color. + colorBackgroundOrgSwitcherArrow: 'rgb(6, 28, 63)', + // Default background color for dark portions of the app (like Stage Left or tooltips). + colorBackgroundInverse: 'rgb(6, 28, 63)', + // Active toggle background color. + colorBackgroundToggleActive: 'rgb(0, 112, 210)', + colorPickerSliderThumbColorBackground: 'rgb(243, 242, 242)', + // Winter 18 token, this has been deprecated. Please use BRAND_BACKGROUND_PRIMARY instead. + pageColorBackgroundPrimary: 'rgb(253, 253, 253)', + // Used as gray background in conjunction with Shade when more contrast is desired. + colorBackgroundShadeDark: 'rgb(221, 219, 218)', + // Notifications badge background color. + colorBackgroundNotificationBadgeFocus: 'rgb(0, 95, 178)', + // Background for utility icons that live in the action bar on mobile. + colorBackgroundActionbarIconUtility: 'rgb(112, 110, 107)', + // The background color of an internal scrollbar track. + colorBackgroundScrollbarTrack: 'rgb(201, 199, 197)', + // Background color for input field that has encountered an error. + colorBackgroundInputError: 'rgb(255, 221, 225)', + // Winter 18 token, this has been deprecated. Please use BRAND_BACKGROUND_PRIMARY instead. + brandBandColorBackgroundPrimary: 'rgb(253, 253, 253)', + // Background color for highlighting UI elements. + colorBackgroundHighlight: 'rgb(250, 255, 189)', + colorBackgroundSecondary: 'rgb(255, 255, 255)', + popoverWalkthroughHeaderColorBackground: 'rgb(22, 74, 133)', + brandBandDefaultImage: '/assets/images/themes/oneSalesforce/banner-brand-default.png', + bannerUserDefaultImage: '/assets/images/themes/oneSalesforce/banner-user-default.png', + bannerGroupDefaultImage: '/assets/images/themes/oneSalesforce/banner-group-public-default.png', + // The borders to create the checkmark + colorBorderInputCheckboxSelectedCheckmark: 'rgb(255, 255, 255)', + // Border color for disabled inverse button. + colorBorderButtonInverseDisabled: 'rgba(255, 255, 255, 0.15)', + // Hovered border color for a button with an icon that has a parent element that has a hover state + colorBorderIconInverseHintHover: 'rgba(255, 255, 255, 0.75)', + // Dark alternative border color for UI elements related to errors. + colorBorderErrorDark: 'rgb(234, 130, 136)', + // Border color for a button with an icon that has a parent element that has a hover state + colorBorderIconInverseHint: 'rgba(255, 255, 255, 0.5)', + // Our product brand blue, darkened to meet accessibility color contrast ratios with white text. + colorBorderBrandDark: 'rgb(0, 112, 210)', + // Border color for UI elements related to providing neutral information (not error, success, or warning). + colorBorderInfo: 'rgb(112, 110, 107)', + // Border color for UI elements that have to do with warnings. + colorBorderWarning: 'rgb(255, 183, 93)', + // Border color for an active tab. + colorBorderTabActive: 'rgb(255, 255, 255)', + // Disabled stroke color. + colorStrokeDisabled: 'rgb(236, 235, 234)', + // Hover border color for UI elements that have to do with destructive actions. + colorBorderDestructiveHover: 'rgb(166, 26, 20)', + // Default border color for UI elements. + colorBorder: 'rgb(221, 219, 218)', + // Border color on disabled form elements. + colorBorderInputDisabled: 'rgb(201, 199, 197)', + // Dark alternative border color for UI elements that have to do with success. + colorBorderSuccessDark: 'rgb(4, 132, 75)', + // Border color on notification reminders. + colorBorderReminder: 'rgb(236, 235, 234)', + // Active stroke color for our product brand blue. + colorStrokeBrandActive: 'rgb(22, 50, 92)', + // Border color for brandable primary button - disabled state + colorBorderButtonBrandDisabled: 'rgba(0, 0, 0, 0)', + pageHeaderColorBorder: 'rgb(221, 219, 218)', + // Border color for UI elements that have to do with destructive actions. + colorBorderDestructive: 'rgb(194, 57, 52)', + colorBorderPrimary: 'rgb(221, 219, 218)', + // Border color for default secondary button + colorBorderButtonDefault: 'rgb(221, 219, 218)', + // Darkest separator color - used as an alternate separator color when more differentiation is desired. + colorBorderSeparatorAlt2: 'rgb(201, 199, 197)', + // Border color for UI elements related to the offline state. + colorBorderOffline: 'rgb(62, 62, 60)', + colorBorderBrandPrimaryFocus: 'rgb(0, 95, 178)', + // Border color for UI elements that have to do with success. + colorBorderSuccess: 'rgb(75, 202, 129)', + // Lightest separator color - used as default separator on white backgrounds. + colorBorderSeparator: 'rgb(243, 242, 242)', + // Our product brand blue. + colorBorderBrand: 'rgb(21, 137, 238)', + colorBorderBrandPrimaryHover: 'rgb(0, 95, 178)', + // Used to delineate the boundary of a component that is being clicked. Specific to builders. + colorBorderSelectionActive: 'rgb(243, 242, 242)', + // Border color for brandable primary button + colorBorderButtonBrand: 'rgb(0, 112, 210)', + // Border color for UI elements that have to do with errors. + colorBorderError: 'rgb(194, 57, 52)', + // Used to delineate the boundary of a component that is being hovered over. Specific to builders. + colorBorderSelectionHover: 'rgb(21, 137, 238)', + colorBorderBrandPrimaryActive: 'rgb(0, 95, 178)', + // Border color on active form elements. + colorBorderInputActive: 'rgb(21, 137, 238)', + // Border color on form elements. + colorBorderInput: 'rgb(221, 219, 218)', + colorBorderBrandPrimary: 'rgb(0, 112, 210)', + // These borders create the faux checkmark when the checkbox toggle is in the checked state. + colorBorderToggleChecked: 'rgb(255, 255, 255)', + // Used as the border color for the hover state on selected rows or items on list-like components. + colorBorderRowSelectedHover: 'rgb(21, 137, 238)', + // Border color for UI elements related to the concept of an external user or customer. + colorBorderCustomer: 'rgb(255, 154, 60)', + // Used to delineate the boundary of a selected component. Specific to builders. + colorBorderSelection: 'rgb(0, 112, 210)', + // Used to delineate the boundary of a selected canvas element that is being hovered over. Specific to builders. + colorBorderCanvasElementSelectionHover: 'rgb(0, 95, 178)', + cardColorBorder: 'rgb(221, 219, 218)', + // Used as the border color for selected rows or items on list-like components. + colorBorderRowSelected: 'rgb(0, 112, 210)', + buttonColorBorderPrimary: 'rgb(221, 219, 218)', + // Medium separator color - used as default separator on light gray backgrounds. + colorBorderSeparatorAlt: 'rgb(221, 219, 218)', + // Used to delineate the boundary of a selected canvas element. Specific to builders. + colorBorderCanvasElementSelection: 'rgb(94, 180, 255)', + // Hover stroke color for our product brand blue. + colorStrokeBrandHover: 'rgb(0, 112, 210)', + // Border color to match UI elements using color-background-inverse. + colorBorderInverse: 'rgb(6, 28, 63)', + // Stroke color for our global header buttons. + colorStrokeHeaderButton: 'rgb(176, 173, 171)', + // Active border color for UI elements that have to do with destructive actions. + colorBorderDestructiveActive: 'rgb(135, 5, 0)', + // Alternative border color for UI elements related to errors. + colorBorderErrorAlt: 'rgb(234, 130, 136)', + pageHeaderJoinedColorBorder: 'rgb(221, 219, 218)', + // Our product brand blue. + colorStrokeBrand: 'rgb(0, 112, 210)', + // Border color for a selected tab in a tab group. + colorBorderTabSelected: 'rgb(0, 112, 210)', + cardFooterColorBorder: 'rgb(221, 219, 218)', + // Used as a separator on dark backgrounds, such as stage left navigation. + colorBorderSeparatorInverse: 'rgb(42, 66, 108)', + pageHeaderBorderRadius: '0.25rem', + tableBorderRadius: '0 0 0.25rem 0.25rem', + // Hard dropshadow on page header + pageHeaderShadow: '0 2px 2px 0 rgba(0, 0, 0, 0.1)', + shadowSoftPrimaryHover: 'rgba(0, 0, 0, 0.20) 0 3px 6px', + // Custom glow for focus states on UI elements with explicit containers. + shadowButtonFocus: '0 0 3px #0070D2', + // Shadow for header. + shadowHeader: '0 2px 4px rgba(0, 0, 0, 0.07)', + // Soft dropshadow found on general UI elements such as containers + shadowSoftPrimary: 'rgba(0, 0, 0, 0.1) 0 2px 2px', + // Hard dropshadow found on general UI elements such as containers + shadowHardPrimary: 'rgba(0, 0, 0, 0.1) 0 2px 0', + // Shadow above overflow menu close bar. + shadowActionOverflowFooter: '0 -2px 4px #fafaf9', + // Hard dropshadow found on outer cards + cardShadow: '0 2px 2px 0 rgba(0, 0, 0, 0.1)', + // Shadow for notifications that should be elevated above other components but under modals. + shadowReminder: '0 2px 3px 0 rgba(0, 0, 0, 0.20)', + // Shadow on elements that are docked to the bottom of the viewport. + shadowDocked: '0 -2px 2px 0 rgba(0, 0, 0, 0.16)', + // Shadow to make inline edit card pop out. + shadowInlineEdit: '0 2px 4px 4px rgba(0, 0, 0, 0.16)', + // Shadow for drag-n-drop. + shadowDrag: '0 2px 4px 0 rgba(0, 0, 0, 0.40)', + // Shadow for drop down. + shadowDropDown: '0 2px 3px 0 rgba(0, 0, 0, 0.16)', + // Inset shadow for editable grid + shadowFocusInset: '0 0 2px 2px #1589EE inset', + shadowSoftPrimaryActive: 'rgba(0, 0, 0, 0.20) 0 1px 1px', + // Custom glow for focus states on UI elements with explicit containers on dark or vibrantly colored backgrounds. + shadowButtonFocusInverse: '0 0 3px #ecebea', + // Shadow on images. + shadowImage: '0 1px 1px rgba(0, 0, 0, 0.16)', + formLabelFontSize: '.75rem', + inputStaticFontSize: '0.875rem', + inputStaticFontWeight: '400', + // Use for active tab. + tabsFontWeight: '700', + // Use for active tab. + cardFontWeight: '700', + pageHeaderTitleFontWeight: '700', + // + componentSpacingMargin: '0.75rem', + // + componentSpacingPadding: '1rem', + // + templateGutters: '0.75rem', + // + templateProfileGutters: '8rem 0.75rem 0.75rem', + // + tableCellSpacing: '0.25rem 0.5rem', + // + cardSpacingMargin: '0.75rem', + // + cardFooterPadding: '0.75rem 1rem', + cardFooterTextAlign: 'center', + // Icon color on dark background + colorTextIconInverse: 'rgb(255, 255, 255)', + // Action label text color + colorTextActionLabel: 'rgb(112, 110, 107)', + // Link color on dark background + colorTextLinkInverse: 'rgb(255, 255, 255)', + // Text color for a button that has a parent element that has a hover state. This is the default text/icon color for that button before its parent has been hovered over. + colorTextButtonInverseDisabled: 'rgba(255, 255, 255, 0.15)', + // Hovered icon color for a button that has a parent element that has a hover state + colorTextIconInverseHintHover: 'rgba(255, 255, 255, 0.75)', + // Input icon + colorTextInputIcon: 'rgb(176, 173, 171)', + // Link color on dark background - active state + colorTextLinkInverseActive: 'rgba(255, 255, 255, 0.5)', + // Action label active text color + colorTextActionLabelActive: 'rgb(62, 62, 60)', + // Icon color on dark background - active state + colorTextIconInverseActive: 'rgb(255, 255, 255)', + // Color for text on a selected tab in a tab group. + colorTextTabLabelSelected: 'rgb(0, 112, 210)', + // Color for texts or icons that are related to warnings on a dark background. + colorTextWarning: 'rgb(255, 183, 93)', + // Icon color for a button that has a parent element that has a hover state on a dark background. This is the default text/icon color for that button before its parent has been hovered over. + colorTextIconInverseHint: 'rgba(255, 255, 255, 0.5)', + // Color for disabled text in a tab group. + colorTextTabLabelDisabled: 'rgb(236, 235, 234)', + // Text color for default secondary button - hover state + colorTextButtonDefaultHover: 'rgb(0, 112, 210)', + // Input disabled text + colorTextInputDisabled: 'rgb(112, 110, 107)', + // Tertiary body text color + colorTextTertiary: 'rgb(150, 148, 146)', + // Focus link text + colorTextLinkFocus: 'rgb(0, 95, 178)', + // Text color for default secondary button + colorTextButtonDefault: 'rgb(0, 112, 210)', + // Default icon color - disabled state + colorTextIconDefaultDisabled: 'rgb(221, 219, 218)', + // Disabled link text + colorTextLinkDisabled: 'rgb(22, 50, 92)', + // Body text color + colorTextDefault: 'rgb(62, 62, 60)', + // Active state on a standalone link on a dark background. + colorTextInverseActive: 'rgb(94, 180, 255)', + // Text color for brandable primary button - disabled state + colorTextButtonBrandDisabled: 'rgb(255, 255, 255)', + // Primary body text color + colorTextPrimary: 'rgb(62, 62, 60)', + colorTextLinkPrimaryFocus: 'rgb(0, 95, 178)', + // Text color for brandable primary button - hover state + colorTextButtonBrandHover: 'rgb(255, 255, 255)', + // Hover link text + colorTextLinkHover: 'rgb(0, 95, 178)', + // Color for text in focus state in a tab group. + colorTextTabLabelFocus: 'rgb(0, 95, 178)', + // Text color for success text. + colorTextSuccess: 'rgb(2, 126, 70)', + // Color for text that is purposefully de-emphasized to create visual hierarchy. + colorTextWeak: 'rgb(112, 110, 107)', + // Input placeholder text on dark backgrounds. + colorTextPlaceholderInverse: 'rgb(236, 235, 234)', + // Default icon color - hover state. + colorTextIconDefaultHover: 'rgb(0, 112, 210)', + // Icon color for a button that has a parent element that has a hover state. This is the default text/icon color for that button before its parent has been hovered over. + colorTextIconDefaultHintBorderless: 'rgb(236, 235, 234)', + // Text color for pills. + colorTextPill: 'rgb(0, 112, 210)', + colorTextLinkPrimaryHover: 'rgb(0, 95, 178)', + // Link text (508) + colorTextLink: 'rgb(0, 109, 204)', + // Color for texts that are related to warnings on a light background. + colorTextWarningAlt: 'rgb(132, 72, 0)', + // Text color for brandable primary button + colorTextButtonBrand: 'rgb(255, 255, 255)', + // Color for text in active state in a tab group. + colorTextTabLabelActive: 'rgb(0, 57, 107)', + // Default icon color. + colorTextIconDefault: 'rgb(112, 110, 107)', + // Our product brand blue. + colorTextBrand: 'rgb(21, 137, 238)', + // Color for text in hover state in a tab group. + colorTextTabLabelHover: 'rgb(0, 95, 178)', + // Text color for default secondary button - disabled state + colorTextButtonDefaultDisabled: 'rgb(221, 219, 218)', + // Color for text on toast messages. + colorTextToast: 'rgb(236, 235, 234)', + // Color for disabled toggles + colorTextToggleDisabled: 'rgb(221, 219, 218)', + // Top bar icon color + colorTextBrowser: 'rgb(255, 255, 255)', + colorTextLinkPrimaryActive: 'rgb(0, 95, 178)', + // Error text for inputs and error misc + colorTextError: 'rgb(194, 57, 52)', + colorTextLinkPrimary: 'rgb(0, 112, 210)', + // Top bar active icon color + colorTextBrowserActive: 'rgba(0, 0, 0, 0.4)', + // Color for default text in a tab group. + colorTextTabLabel: 'rgb(22, 50, 92)', + // Customer text used in anchor subtitle + colorTextCustomer: 'rgb(255, 154, 60)', + // Default icon color - active state. + colorTextIconDefaultActive: 'rgb(0, 57, 107)', + // Text color found on any primary brand color + colorTextBrandPrimary: 'rgb(255, 255, 255)', + // Active link text + colorTextLinkActive: 'rgb(0, 57, 107)', + // Icon color for a button that has a parent element that has a hover state. This is the default text/icon color for that button before its parent has been hovered over. + colorTextIconDefaultHint: 'rgb(176, 173, 171)', + // Text color for brandable primary button - active state + colorTextButtonBrandActive: 'rgb(255, 255, 255)', + // Color of required field marker. + colorTextRequired: 'rgb(194, 57, 52)', + // Color for non-interactive icons that represent a selected item in a list + colorTextIconBrand: 'rgb(0, 112, 210)', + // Hover state on a standalone link on a dark background. + colorTextInverseHover: 'rgb(176, 173, 171)', + // Modal header title + colorTextModal: 'rgb(255, 255, 255)', + // Text color for a button that has a parent element that has a hover state. This is the default text/icon color for that button before its parent has been hovered over. + colorTextButtonInverse: 'rgb(236, 235, 234)', + buttonColorTextPrimary: 'rgb(255, 255, 255)', + // Modal header button text color + colorTextModalButton: 'rgb(112, 110, 107)', + // Link color on dark background - disabled state + colorTextLinkInverseDisabled: 'rgba(255, 255, 255, 0.15)', + // Inverse text color for dark backgrounds + colorTextInverse: 'rgb(255, 255, 255)', + // Text color for default secondary button - active state + colorTextButtonDefaultActive: 'rgb(0, 112, 210)', + // Icon color on dark background - disabled state + colorTextIconInverseDisabled: 'rgba(255, 255, 255, 0.15)', + // Text color for a button that has a parent element that has a hover state. This is the default text/icon color for that button before its parent has been hovered over. + colorTextButtonDefaultHint: 'rgb(176, 173, 171)', + // Color for interactive utility icons + colorTextIconUtility: 'rgb(176, 173, 171)', + // Icon color on dark background - hover state + colorTextIconInverseHover: 'rgb(255, 255, 255)', + // Input placeholder text. + colorTextPlaceholder: 'rgb(112, 110, 107)', + // Weak inverse text color for dark backgrounds + colorTextInverseWeak: 'rgb(176, 173, 171)', + // Secondary body text color + colorTextSecondary: 'rgb(112, 110, 107)', + // Typed input text + colorTextInputFocusInverse: 'rgb(22, 50, 92)', + // Text in stage left navigation. + colorTextStageLeft: 'rgb(236, 235, 234)', + // Link color on dark background - hover state + colorTextLinkInverseHover: 'rgba(255, 255, 255, 0.75)', + // Text color for success text on dark backgrounds. + colorTextSuccessInverse: 'rgb(75, 202, 129)', + // Text color for field labels. + colorTextLabel: 'rgb(112, 110, 107)' +}; + +/***/ }), +/* 15 */ +/***/ (function(module, exports, __webpack_require__) { + +/* WEBPACK VAR INJECTION */(function(global, module) {/** + * lodash (Custom Build) <https://lodash.com/> + * Build: `lodash modularize exports="npm" -o ./` + * Copyright jQuery Foundation and other contributors <https://jquery.org/> + * Released under MIT license <https://lodash.com/license> + * Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE> + * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors + */ + +/** Used as the size to enable large array optimizations. */ +var LARGE_ARRAY_SIZE = 200; + +/** Used as the `TypeError` message for "Functions" methods. */ +var FUNC_ERROR_TEXT = 'Expected a function'; + +/** Used to stand-in for `undefined` hash values. */ +var HASH_UNDEFINED = '__lodash_hash_undefined__'; + +/** Used to compose bitmasks for comparison styles. */ +var UNORDERED_COMPARE_FLAG = 1, + PARTIAL_COMPARE_FLAG = 2; + +/** Used as references for various `Number` constants. */ +var INFINITY = 1 / 0, + MAX_SAFE_INTEGER = 9007199254740991; + +/** `Object#toString` result references. */ +var argsTag = '[object Arguments]', + arrayTag = '[object Array]', + boolTag = '[object Boolean]', + dateTag = '[object Date]', + errorTag = '[object Error]', + funcTag = '[object Function]', + genTag = '[object GeneratorFunction]', + mapTag = '[object Map]', + numberTag = '[object Number]', + objectTag = '[object Object]', + promiseTag = '[object Promise]', + regexpTag = '[object RegExp]', + setTag = '[object Set]', + stringTag = '[object String]', + symbolTag = '[object Symbol]', + weakMapTag = '[object WeakMap]'; + +var arrayBufferTag = '[object ArrayBuffer]', + dataViewTag = '[object DataView]', + float32Tag = '[object Float32Array]', + float64Tag = '[object Float64Array]', + int8Tag = '[object Int8Array]', + int16Tag = '[object Int16Array]', + int32Tag = '[object Int32Array]', + uint8Tag = '[object Uint8Array]', + uint8ClampedTag = '[object Uint8ClampedArray]', + uint16Tag = '[object Uint16Array]', + uint32Tag = '[object Uint32Array]'; + +/** Used to match property names within property paths. */ +var reIsDeepProp = /\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/, + reIsPlainProp = /^\w*$/, + reLeadingDot = /^\./, + rePropName = /[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g; + +/** + * Used to match `RegExp` + * [syntax characters](http://ecma-international.org/ecma-262/7.0/#sec-patterns). + */ +var reRegExpChar = /[\\^$.*+?()[\]{}|]/g; + +/** Used to match backslashes in property paths. */ +var reEscapeChar = /\\(\\)?/g; + +/** Used to detect host constructors (Safari). */ +var reIsHostCtor = /^\[object .+?Constructor\]$/; + +/** Used to detect unsigned integer values. */ +var reIsUint = /^(?:0|[1-9]\d*)$/; + +/** Used to identify `toStringTag` values of typed arrays. */ +var typedArrayTags = {}; +typedArrayTags[float32Tag] = typedArrayTags[float64Tag] = +typedArrayTags[int8Tag] = typedArrayTags[int16Tag] = +typedArrayTags[int32Tag] = typedArrayTags[uint8Tag] = +typedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] = +typedArrayTags[uint32Tag] = true; +typedArrayTags[argsTag] = typedArrayTags[arrayTag] = +typedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] = +typedArrayTags[dataViewTag] = typedArrayTags[dateTag] = +typedArrayTags[errorTag] = typedArrayTags[funcTag] = +typedArrayTags[mapTag] = typedArrayTags[numberTag] = +typedArrayTags[objectTag] = typedArrayTags[regexpTag] = +typedArrayTags[setTag] = typedArrayTags[stringTag] = +typedArrayTags[weakMapTag] = false; + +/** Detect free variable `global` from Node.js. */ +var freeGlobal = typeof global == 'object' && global && global.Object === Object && global; + +/** Detect free variable `self`. */ +var freeSelf = typeof self == 'object' && self && self.Object === Object && self; + +/** Used as a reference to the global object. */ +var root = freeGlobal || freeSelf || Function('return this')(); + +/** Detect free variable `exports`. */ +var freeExports = true && exports && !exports.nodeType && exports; + +/** Detect free variable `module`. */ +var freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module; + +/** Detect the popular CommonJS extension `module.exports`. */ +var moduleExports = freeModule && freeModule.exports === freeExports; + +/** Detect free variable `process` from Node.js. */ +var freeProcess = moduleExports && freeGlobal.process; + +/** Used to access faster Node.js helpers. */ +var nodeUtil = (function() { + try { + return freeProcess && freeProcess.binding('util'); + } catch (e) {} +}()); + +/* Node.js helper references. */ +var nodeIsTypedArray = nodeUtil && nodeUtil.isTypedArray; + +/** + * A specialized version of `_.filter` for arrays without support for + * iteratee shorthands. + * + * @private + * @param {Array} [array] The array to iterate over. + * @param {Function} predicate The function invoked per iteration. + * @returns {Array} Returns the new filtered array. + */ +function arrayFilter(array, predicate) { + var index = -1, + length = array ? array.length : 0, + resIndex = 0, + result = []; + + while (++index < length) { + var value = array[index]; + if (predicate(value, index, array)) { + result[resIndex++] = value; + } + } + return result; +} + +/** + * A specialized version of `_.some` for arrays without support for iteratee + * shorthands. + * + * @private + * @param {Array} [array] The array to iterate over. + * @param {Function} predicate The function invoked per iteration. + * @returns {boolean} Returns `true` if any element passes the predicate check, + * else `false`. + */ +function arraySome(array, predicate) { + var index = -1, + length = array ? array.length : 0; + + while (++index < length) { + if (predicate(array[index], index, array)) { + return true; + } + } + return false; +} + +/** + * The base implementation of `_.property` without support for deep paths. + * + * @private + * @param {string} key The key of the property to get. + * @returns {Function} Returns the new accessor function. + */ +function baseProperty(key) { + return function(object) { + return object == null ? undefined : object[key]; + }; +} + +/** + * The base implementation of `_.times` without support for iteratee shorthands + * or max array length checks. + * + * @private + * @param {number} n The number of times to invoke `iteratee`. + * @param {Function} iteratee The function invoked per iteration. + * @returns {Array} Returns the array of results. + */ +function baseTimes(n, iteratee) { + var index = -1, + result = Array(n); + + while (++index < n) { + result[index] = iteratee(index); + } + return result; +} + +/** + * The base implementation of `_.unary` without support for storing metadata. + * + * @private + * @param {Function} func The function to cap arguments for. + * @returns {Function} Returns the new capped function. + */ +function baseUnary(func) { + return function(value) { + return func(value); + }; +} + +/** + * Gets the value at `key` of `object`. + * + * @private + * @param {Object} [object] The object to query. + * @param {string} key The key of the property to get. + * @returns {*} Returns the property value. + */ +function getValue(object, key) { + return object == null ? undefined : object[key]; +} + +/** + * Checks if `value` is a host object in IE < 9. + * + * @private + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a host object, else `false`. + */ +function isHostObject(value) { + // Many host objects are `Object` objects that can coerce to strings + // despite having improperly defined `toString` methods. + var result = false; + if (value != null && typeof value.toString != 'function') { + try { + result = !!(value + ''); + } catch (e) {} + } + return result; +} + +/** + * Converts `map` to its key-value pairs. + * + * @private + * @param {Object} map The map to convert. + * @returns {Array} Returns the key-value pairs. + */ +function mapToArray(map) { + var index = -1, + result = Array(map.size); + + map.forEach(function(value, key) { + result[++index] = [key, value]; + }); + return result; +} + +/** + * Creates a unary function that invokes `func` with its argument transformed. + * + * @private + * @param {Function} func The function to wrap. + * @param {Function} transform The argument transform. + * @returns {Function} Returns the new function. + */ +function overArg(func, transform) { + return function(arg) { + return func(transform(arg)); + }; +} + +/** + * Converts `set` to an array of its values. + * + * @private + * @param {Object} set The set to convert. + * @returns {Array} Returns the values. + */ +function setToArray(set) { + var index = -1, + result = Array(set.size); + + set.forEach(function(value) { + result[++index] = value; + }); + return result; +} + +/** Used for built-in method references. */ +var arrayProto = Array.prototype, + funcProto = Function.prototype, + objectProto = Object.prototype; + +/** Used to detect overreaching core-js shims. */ +var coreJsData = root['__core-js_shared__']; + +/** Used to detect methods masquerading as native. */ +var maskSrcKey = (function() { + var uid = /[^.]+$/.exec(coreJsData && coreJsData.keys && coreJsData.keys.IE_PROTO || ''); + return uid ? ('Symbol(src)_1.' + uid) : ''; +}()); + +/** Used to resolve the decompiled source of functions. */ +var funcToString = funcProto.toString; + +/** Used to check objects for own properties. */ +var hasOwnProperty = objectProto.hasOwnProperty; + +/** + * Used to resolve the + * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring) + * of values. + */ +var objectToString = objectProto.toString; + +/** Used to detect if a method is native. */ +var reIsNative = RegExp('^' + + funcToString.call(hasOwnProperty).replace(reRegExpChar, '\\$&') + .replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g, '$1.*?') + '$' +); + +/** Built-in value references. */ +var Symbol = root.Symbol, + Uint8Array = root.Uint8Array, + propertyIsEnumerable = objectProto.propertyIsEnumerable, + splice = arrayProto.splice; + +/* Built-in method references for those with the same name as other `lodash` methods. */ +var nativeKeys = overArg(Object.keys, Object); + +/* Built-in method references that are verified to be native. */ +var DataView = getNative(root, 'DataView'), + Map = getNative(root, 'Map'), + Promise = getNative(root, 'Promise'), + Set = getNative(root, 'Set'), + WeakMap = getNative(root, 'WeakMap'), + nativeCreate = getNative(Object, 'create'); + +/** Used to detect maps, sets, and weakmaps. */ +var dataViewCtorString = toSource(DataView), + mapCtorString = toSource(Map), + promiseCtorString = toSource(Promise), + setCtorString = toSource(Set), + weakMapCtorString = toSource(WeakMap); + +/** Used to convert symbols to primitives and strings. */ +var symbolProto = Symbol ? Symbol.prototype : undefined, + symbolValueOf = symbolProto ? symbolProto.valueOf : undefined, + symbolToString = symbolProto ? symbolProto.toString : undefined; + +/** + * Creates a hash object. + * + * @private + * @constructor + * @param {Array} [entries] The key-value pairs to cache. + */ +function Hash(entries) { + var index = -1, + length = entries ? entries.length : 0; + + this.clear(); + while (++index < length) { + var entry = entries[index]; + this.set(entry[0], entry[1]); + } +} + +/** + * Removes all key-value entries from the hash. + * + * @private + * @name clear + * @memberOf Hash + */ +function hashClear() { + this.__data__ = nativeCreate ? nativeCreate(null) : {}; +} + +/** + * Removes `key` and its value from the hash. + * + * @private + * @name delete + * @memberOf Hash + * @param {Object} hash The hash to modify. + * @param {string} key The key of the value to remove. + * @returns {boolean} Returns `true` if the entry was removed, else `false`. + */ +function hashDelete(key) { + return this.has(key) && delete this.__data__[key]; +} + +/** + * Gets the hash value for `key`. + * + * @private + * @name get + * @memberOf Hash + * @param {string} key The key of the value to get. + * @returns {*} Returns the entry value. + */ +function hashGet(key) { + var data = this.__data__; + if (nativeCreate) { + var result = data[key]; + return result === HASH_UNDEFINED ? undefined : result; + } + return hasOwnProperty.call(data, key) ? data[key] : undefined; +} + +/** + * Checks if a hash value for `key` exists. + * + * @private + * @name has + * @memberOf Hash + * @param {string} key The key of the entry to check. + * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`. + */ +function hashHas(key) { + var data = this.__data__; + return nativeCreate ? data[key] !== undefined : hasOwnProperty.call(data, key); +} + +/** + * Sets the hash `key` to `value`. + * + * @private + * @name set + * @memberOf Hash + * @param {string} key The key of the value to set. + * @param {*} value The value to set. + * @returns {Object} Returns the hash instance. + */ +function hashSet(key, value) { + var data = this.__data__; + data[key] = (nativeCreate && value === undefined) ? HASH_UNDEFINED : value; + return this; +} + +// Add methods to `Hash`. +Hash.prototype.clear = hashClear; +Hash.prototype['delete'] = hashDelete; +Hash.prototype.get = hashGet; +Hash.prototype.has = hashHas; +Hash.prototype.set = hashSet; + +/** + * Creates an list cache object. + * + * @private + * @constructor + * @param {Array} [entries] The key-value pairs to cache. + */ +function ListCache(entries) { + var index = -1, + length = entries ? entries.length : 0; + + this.clear(); + while (++index < length) { + var entry = entries[index]; + this.set(entry[0], entry[1]); + } +} + +/** + * Removes all key-value entries from the list cache. + * + * @private + * @name clear + * @memberOf ListCache + */ +function listCacheClear() { + this.__data__ = []; +} + +/** + * Removes `key` and its value from the list cache. + * + * @private + * @name delete + * @memberOf ListCache + * @param {string} key The key of the value to remove. + * @returns {boolean} Returns `true` if the entry was removed, else `false`. + */ +function listCacheDelete(key) { + var data = this.__data__, + index = assocIndexOf(data, key); + + if (index < 0) { + return false; + } + var lastIndex = data.length - 1; + if (index == lastIndex) { + data.pop(); + } else { + splice.call(data, index, 1); + } + return true; +} + +/** + * Gets the list cache value for `key`. + * + * @private + * @name get + * @memberOf ListCache + * @param {string} key The key of the value to get. + * @returns {*} Returns the entry value. + */ +function listCacheGet(key) { + var data = this.__data__, + index = assocIndexOf(data, key); + + return index < 0 ? undefined : data[index][1]; +} + +/** + * Checks if a list cache value for `key` exists. + * + * @private + * @name has + * @memberOf ListCache + * @param {string} key The key of the entry to check. + * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`. + */ +function listCacheHas(key) { + return assocIndexOf(this.__data__, key) > -1; +} + +/** + * Sets the list cache `key` to `value`. + * + * @private + * @name set + * @memberOf ListCache + * @param {string} key The key of the value to set. + * @param {*} value The value to set. + * @returns {Object} Returns the list cache instance. + */ +function listCacheSet(key, value) { + var data = this.__data__, + index = assocIndexOf(data, key); + + if (index < 0) { + data.push([key, value]); + } else { + data[index][1] = value; + } + return this; +} + +// Add methods to `ListCache`. +ListCache.prototype.clear = listCacheClear; +ListCache.prototype['delete'] = listCacheDelete; +ListCache.prototype.get = listCacheGet; +ListCache.prototype.has = listCacheHas; +ListCache.prototype.set = listCacheSet; + +/** + * Creates a map cache object to store key-value pairs. + * + * @private + * @constructor + * @param {Array} [entries] The key-value pairs to cache. + */ +function MapCache(entries) { + var index = -1, + length = entries ? entries.length : 0; + + this.clear(); + while (++index < length) { + var entry = entries[index]; + this.set(entry[0], entry[1]); + } +} + +/** + * Removes all key-value entries from the map. + * + * @private + * @name clear + * @memberOf MapCache + */ +function mapCacheClear() { + this.__data__ = { + 'hash': new Hash, + 'map': new (Map || ListCache), + 'string': new Hash + }; +} + +/** + * Removes `key` and its value from the map. + * + * @private + * @name delete + * @memberOf MapCache + * @param {string} key The key of the value to remove. + * @returns {boolean} Returns `true` if the entry was removed, else `false`. + */ +function mapCacheDelete(key) { + return getMapData(this, key)['delete'](key); +} + +/** + * Gets the map value for `key`. + * + * @private + * @name get + * @memberOf MapCache + * @param {string} key The key of the value to get. + * @returns {*} Returns the entry value. + */ +function mapCacheGet(key) { + return getMapData(this, key).get(key); +} + +/** + * Checks if a map value for `key` exists. + * + * @private + * @name has + * @memberOf MapCache + * @param {string} key The key of the entry to check. + * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`. + */ +function mapCacheHas(key) { + return getMapData(this, key).has(key); +} + +/** + * Sets the map `key` to `value`. + * + * @private + * @name set + * @memberOf MapCache + * @param {string} key The key of the value to set. + * @param {*} value The value to set. + * @returns {Object} Returns the map cache instance. + */ +function mapCacheSet(key, value) { + getMapData(this, key).set(key, value); + return this; +} + +// Add methods to `MapCache`. +MapCache.prototype.clear = mapCacheClear; +MapCache.prototype['delete'] = mapCacheDelete; +MapCache.prototype.get = mapCacheGet; +MapCache.prototype.has = mapCacheHas; +MapCache.prototype.set = mapCacheSet; + +/** + * + * Creates an array cache object to store unique values. + * + * @private + * @constructor + * @param {Array} [values] The values to cache. + */ +function SetCache(values) { + var index = -1, + length = values ? values.length : 0; + + this.__data__ = new MapCache; + while (++index < length) { + this.add(values[index]); + } +} + +/** + * Adds `value` to the array cache. + * + * @private + * @name add + * @memberOf SetCache + * @alias push + * @param {*} value The value to cache. + * @returns {Object} Returns the cache instance. + */ +function setCacheAdd(value) { + this.__data__.set(value, HASH_UNDEFINED); + return this; +} + +/** + * Checks if `value` is in the array cache. + * + * @private + * @name has + * @memberOf SetCache + * @param {*} value The value to search for. + * @returns {number} Returns `true` if `value` is found, else `false`. + */ +function setCacheHas(value) { + return this.__data__.has(value); +} + +// Add methods to `SetCache`. +SetCache.prototype.add = SetCache.prototype.push = setCacheAdd; +SetCache.prototype.has = setCacheHas; + +/** + * Creates a stack cache object to store key-value pairs. + * + * @private + * @constructor + * @param {Array} [entries] The key-value pairs to cache. + */ +function Stack(entries) { + this.__data__ = new ListCache(entries); +} + +/** + * Removes all key-value entries from the stack. + * + * @private + * @name clear + * @memberOf Stack + */ +function stackClear() { + this.__data__ = new ListCache; +} + +/** + * Removes `key` and its value from the stack. + * + * @private + * @name delete + * @memberOf Stack + * @param {string} key The key of the value to remove. + * @returns {boolean} Returns `true` if the entry was removed, else `false`. + */ +function stackDelete(key) { + return this.__data__['delete'](key); +} + +/** + * Gets the stack value for `key`. + * + * @private + * @name get + * @memberOf Stack + * @param {string} key The key of the value to get. + * @returns {*} Returns the entry value. + */ +function stackGet(key) { + return this.__data__.get(key); +} + +/** + * Checks if a stack value for `key` exists. + * + * @private + * @name has + * @memberOf Stack + * @param {string} key The key of the entry to check. + * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`. + */ +function stackHas(key) { + return this.__data__.has(key); +} + +/** + * Sets the stack `key` to `value`. + * + * @private + * @name set + * @memberOf Stack + * @param {string} key The key of the value to set. + * @param {*} value The value to set. + * @returns {Object} Returns the stack cache instance. + */ +function stackSet(key, value) { + var cache = this.__data__; + if (cache instanceof ListCache) { + var pairs = cache.__data__; + if (!Map || (pairs.length < LARGE_ARRAY_SIZE - 1)) { + pairs.push([key, value]); + return this; + } + cache = this.__data__ = new MapCache(pairs); + } + cache.set(key, value); + return this; +} + +// Add methods to `Stack`. +Stack.prototype.clear = stackClear; +Stack.prototype['delete'] = stackDelete; +Stack.prototype.get = stackGet; +Stack.prototype.has = stackHas; +Stack.prototype.set = stackSet; + +/** + * Creates an array of the enumerable property names of the array-like `value`. + * + * @private + * @param {*} value The value to query. + * @param {boolean} inherited Specify returning inherited property names. + * @returns {Array} Returns the array of property names. + */ +function arrayLikeKeys(value, inherited) { + // Safari 8.1 makes `arguments.callee` enumerable in strict mode. + // Safari 9 makes `arguments.length` enumerable in strict mode. + var result = (isArray(value) || isArguments(value)) + ? baseTimes(value.length, String) + : []; + + var length = result.length, + skipIndexes = !!length; + + for (var key in value) { + if ((inherited || hasOwnProperty.call(value, key)) && + !(skipIndexes && (key == 'length' || isIndex(key, length)))) { + result.push(key); + } + } + return result; +} + +/** + * Gets the index at which the `key` is found in `array` of key-value pairs. + * + * @private + * @param {Array} array The array to inspect. + * @param {*} key The key to search for. + * @returns {number} Returns the index of the matched value, else `-1`. + */ +function assocIndexOf(array, key) { + var length = array.length; + while (length--) { + if (eq(array[length][0], key)) { + return length; + } + } + return -1; +} + +/** + * The base implementation of `_.forEach` without support for iteratee shorthands. + * + * @private + * @param {Array|Object} collection The collection to iterate over. + * @param {Function} iteratee The function invoked per iteration. + * @returns {Array|Object} Returns `collection`. + */ +var baseEach = createBaseEach(baseForOwn); + +/** + * The base implementation of `_.filter` without support for iteratee shorthands. + * + * @private + * @param {Array|Object} collection The collection to iterate over. + * @param {Function} predicate The function invoked per iteration. + * @returns {Array} Returns the new filtered array. + */ +function baseFilter(collection, predicate) { + var result = []; + baseEach(collection, function(value, index, collection) { + if (predicate(value, index, collection)) { + result.push(value); + } + }); + return result; +} + +/** + * The base implementation of `baseForOwn` which iterates over `object` + * properties returned by `keysFunc` and invokes `iteratee` for each property. + * Iteratee functions may exit iteration early by explicitly returning `false`. + * + * @private + * @param {Object} object The object to iterate over. + * @param {Function} iteratee The function invoked per iteration. + * @param {Function} keysFunc The function to get the keys of `object`. + * @returns {Object} Returns `object`. + */ +var baseFor = createBaseFor(); + +/** + * The base implementation of `_.forOwn` without support for iteratee shorthands. + * + * @private + * @param {Object} object The object to iterate over. + * @param {Function} iteratee The function invoked per iteration. + * @returns {Object} Returns `object`. + */ +function baseForOwn(object, iteratee) { + return object && baseFor(object, iteratee, keys); +} + +/** + * The base implementation of `_.get` without support for default values. + * + * @private + * @param {Object} object The object to query. + * @param {Array|string} path The path of the property to get. + * @returns {*} Returns the resolved value. + */ +function baseGet(object, path) { + path = isKey(path, object) ? [path] : castPath(path); + + var index = 0, + length = path.length; + + while (object != null && index < length) { + object = object[toKey(path[index++])]; + } + return (index && index == length) ? object : undefined; +} + +/** + * The base implementation of `getTag`. + * + * @private + * @param {*} value The value to query. + * @returns {string} Returns the `toStringTag`. + */ +function baseGetTag(value) { + return objectToString.call(value); +} + +/** + * The base implementation of `_.hasIn` without support for deep paths. + * + * @private + * @param {Object} [object] The object to query. + * @param {Array|string} key The key to check. + * @returns {boolean} Returns `true` if `key` exists, else `false`. + */ +function baseHasIn(object, key) { + return object != null && key in Object(object); +} + +/** + * The base implementation of `_.isEqual` which supports partial comparisons + * and tracks traversed objects. + * + * @private + * @param {*} value The value to compare. + * @param {*} other The other value to compare. + * @param {Function} [customizer] The function to customize comparisons. + * @param {boolean} [bitmask] The bitmask of comparison flags. + * The bitmask may be composed of the following flags: + * 1 - Unordered comparison + * 2 - Partial comparison + * @param {Object} [stack] Tracks traversed `value` and `other` objects. + * @returns {boolean} Returns `true` if the values are equivalent, else `false`. + */ +function baseIsEqual(value, other, customizer, bitmask, stack) { + if (value === other) { + return true; + } + if (value == null || other == null || (!isObject(value) && !isObjectLike(other))) { + return value !== value && other !== other; + } + return baseIsEqualDeep(value, other, baseIsEqual, customizer, bitmask, stack); +} + +/** + * A specialized version of `baseIsEqual` for arrays and objects which performs + * deep comparisons and tracks traversed objects enabling objects with circular + * references to be compared. + * + * @private + * @param {Object} object The object to compare. + * @param {Object} other The other object to compare. + * @param {Function} equalFunc The function to determine equivalents of values. + * @param {Function} [customizer] The function to customize comparisons. + * @param {number} [bitmask] The bitmask of comparison flags. See `baseIsEqual` + * for more details. + * @param {Object} [stack] Tracks traversed `object` and `other` objects. + * @returns {boolean} Returns `true` if the objects are equivalent, else `false`. + */ +function baseIsEqualDeep(object, other, equalFunc, customizer, bitmask, stack) { + var objIsArr = isArray(object), + othIsArr = isArray(other), + objTag = arrayTag, + othTag = arrayTag; + + if (!objIsArr) { + objTag = getTag(object); + objTag = objTag == argsTag ? objectTag : objTag; + } + if (!othIsArr) { + othTag = getTag(other); + othTag = othTag == argsTag ? objectTag : othTag; + } + var objIsObj = objTag == objectTag && !isHostObject(object), + othIsObj = othTag == objectTag && !isHostObject(other), + isSameTag = objTag == othTag; + + if (isSameTag && !objIsObj) { + stack || (stack = new Stack); + return (objIsArr || isTypedArray(object)) + ? equalArrays(object, other, equalFunc, customizer, bitmask, stack) + : equalByTag(object, other, objTag, equalFunc, customizer, bitmask, stack); + } + if (!(bitmask & PARTIAL_COMPARE_FLAG)) { + var objIsWrapped = objIsObj && hasOwnProperty.call(object, '__wrapped__'), + othIsWrapped = othIsObj && hasOwnProperty.call(other, '__wrapped__'); + + if (objIsWrapped || othIsWrapped) { + var objUnwrapped = objIsWrapped ? object.value() : object, + othUnwrapped = othIsWrapped ? other.value() : other; + + stack || (stack = new Stack); + return equalFunc(objUnwrapped, othUnwrapped, customizer, bitmask, stack); + } + } + if (!isSameTag) { + return false; + } + stack || (stack = new Stack); + return equalObjects(object, other, equalFunc, customizer, bitmask, stack); +} + +/** + * The base implementation of `_.isMatch` without support for iteratee shorthands. + * + * @private + * @param {Object} object The object to inspect. + * @param {Object} source The object of property values to match. + * @param {Array} matchData The property names, values, and compare flags to match. + * @param {Function} [customizer] The function to customize comparisons. + * @returns {boolean} Returns `true` if `object` is a match, else `false`. + */ +function baseIsMatch(object, source, matchData, customizer) { + var index = matchData.length, + length = index, + noCustomizer = !customizer; + + if (object == null) { + return !length; + } + object = Object(object); + while (index--) { + var data = matchData[index]; + if ((noCustomizer && data[2]) + ? data[1] !== object[data[0]] + : !(data[0] in object) + ) { + return false; + } + } + while (++index < length) { + data = matchData[index]; + var key = data[0], + objValue = object[key], + srcValue = data[1]; + + if (noCustomizer && data[2]) { + if (objValue === undefined && !(key in object)) { + return false; + } + } else { + var stack = new Stack; + if (customizer) { + var result = customizer(objValue, srcValue, key, object, source, stack); + } + if (!(result === undefined + ? baseIsEqual(srcValue, objValue, customizer, UNORDERED_COMPARE_FLAG | PARTIAL_COMPARE_FLAG, stack) + : result + )) { + return false; + } + } + } + return true; +} + +/** + * The base implementation of `_.isNative` without bad shim checks. + * + * @private + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a native function, + * else `false`. + */ +function baseIsNative(value) { + if (!isObject(value) || isMasked(value)) { + return false; + } + var pattern = (isFunction(value) || isHostObject(value)) ? reIsNative : reIsHostCtor; + return pattern.test(toSource(value)); +} + +/** + * The base implementation of `_.isTypedArray` without Node.js optimizations. + * + * @private + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a typed array, else `false`. + */ +function baseIsTypedArray(value) { + return isObjectLike(value) && + isLength(value.length) && !!typedArrayTags[objectToString.call(value)]; +} + +/** + * The base implementation of `_.iteratee`. + * + * @private + * @param {*} [value=_.identity] The value to convert to an iteratee. + * @returns {Function} Returns the iteratee. + */ +function baseIteratee(value) { + // Don't store the `typeof` result in a variable to avoid a JIT bug in Safari 9. + // See https://bugs.webkit.org/show_bug.cgi?id=156034 for more details. + if (typeof value == 'function') { + return value; + } + if (value == null) { + return identity; + } + if (typeof value == 'object') { + return isArray(value) + ? baseMatchesProperty(value[0], value[1]) + : baseMatches(value); + } + return property(value); +} + +/** + * The base implementation of `_.keys` which doesn't treat sparse arrays as dense. + * + * @private + * @param {Object} object The object to query. + * @returns {Array} Returns the array of property names. + */ +function baseKeys(object) { + if (!isPrototype(object)) { + return nativeKeys(object); + } + var result = []; + for (var key in Object(object)) { + if (hasOwnProperty.call(object, key) && key != 'constructor') { + result.push(key); + } + } + return result; +} + +/** + * The base implementation of `_.matches` which doesn't clone `source`. + * + * @private + * @param {Object} source The object of property values to match. + * @returns {Function} Returns the new spec function. + */ +function baseMatches(source) { + var matchData = getMatchData(source); + if (matchData.length == 1 && matchData[0][2]) { + return matchesStrictComparable(matchData[0][0], matchData[0][1]); + } + return function(object) { + return object === source || baseIsMatch(object, source, matchData); + }; +} + +/** + * The base implementation of `_.matchesProperty` which doesn't clone `srcValue`. + * + * @private + * @param {string} path The path of the property to get. + * @param {*} srcValue The value to match. + * @returns {Function} Returns the new spec function. + */ +function baseMatchesProperty(path, srcValue) { + if (isKey(path) && isStrictComparable(srcValue)) { + return matchesStrictComparable(toKey(path), srcValue); + } + return function(object) { + var objValue = get(object, path); + return (objValue === undefined && objValue === srcValue) + ? hasIn(object, path) + : baseIsEqual(srcValue, objValue, undefined, UNORDERED_COMPARE_FLAG | PARTIAL_COMPARE_FLAG); + }; +} + +/** + * A specialized version of `baseProperty` which supports deep paths. + * + * @private + * @param {Array|string} path The path of the property to get. + * @returns {Function} Returns the new accessor function. + */ +function basePropertyDeep(path) { + return function(object) { + return baseGet(object, path); + }; +} + +/** + * The base implementation of `_.toString` which doesn't convert nullish + * values to empty strings. + * + * @private + * @param {*} value The value to process. + * @returns {string} Returns the string. + */ +function baseToString(value) { + // Exit early for strings to avoid a performance hit in some environments. + if (typeof value == 'string') { + return value; + } + if (isSymbol(value)) { + return symbolToString ? symbolToString.call(value) : ''; + } + var result = (value + ''); + return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result; +} + +/** + * Casts `value` to a path array if it's not one. + * + * @private + * @param {*} value The value to inspect. + * @returns {Array} Returns the cast property path array. + */ +function castPath(value) { + return isArray(value) ? value : stringToPath(value); +} + +/** + * Creates a `baseEach` or `baseEachRight` function. + * + * @private + * @param {Function} eachFunc The function to iterate over a collection. + * @param {boolean} [fromRight] Specify iterating from right to left. + * @returns {Function} Returns the new base function. + */ +function createBaseEach(eachFunc, fromRight) { + return function(collection, iteratee) { + if (collection == null) { + return collection; + } + if (!isArrayLike(collection)) { + return eachFunc(collection, iteratee); + } + var length = collection.length, + index = fromRight ? length : -1, + iterable = Object(collection); + + while ((fromRight ? index-- : ++index < length)) { + if (iteratee(iterable[index], index, iterable) === false) { + break; + } + } + return collection; + }; +} + +/** + * Creates a base function for methods like `_.forIn` and `_.forOwn`. + * + * @private + * @param {boolean} [fromRight] Specify iterating from right to left. + * @returns {Function} Returns the new base function. + */ +function createBaseFor(fromRight) { + return function(object, iteratee, keysFunc) { + var index = -1, + iterable = Object(object), + props = keysFunc(object), + length = props.length; + + while (length--) { + var key = props[fromRight ? length : ++index]; + if (iteratee(iterable[key], key, iterable) === false) { + break; + } + } + return object; + }; +} + +/** + * A specialized version of `baseIsEqualDeep` for arrays with support for + * partial deep comparisons. + * + * @private + * @param {Array} array The array to compare. + * @param {Array} other The other array to compare. + * @param {Function} equalFunc The function to determine equivalents of values. + * @param {Function} customizer The function to customize comparisons. + * @param {number} bitmask The bitmask of comparison flags. See `baseIsEqual` + * for more details. + * @param {Object} stack Tracks traversed `array` and `other` objects. + * @returns {boolean} Returns `true` if the arrays are equivalent, else `false`. + */ +function equalArrays(array, other, equalFunc, customizer, bitmask, stack) { + var isPartial = bitmask & PARTIAL_COMPARE_FLAG, + arrLength = array.length, + othLength = other.length; + + if (arrLength != othLength && !(isPartial && othLength > arrLength)) { + return false; + } + // Assume cyclic values are equal. + var stacked = stack.get(array); + if (stacked && stack.get(other)) { + return stacked == other; + } + var index = -1, + result = true, + seen = (bitmask & UNORDERED_COMPARE_FLAG) ? new SetCache : undefined; + + stack.set(array, other); + stack.set(other, array); + + // Ignore non-index properties. + while (++index < arrLength) { + var arrValue = array[index], + othValue = other[index]; + + if (customizer) { + var compared = isPartial + ? customizer(othValue, arrValue, index, other, array, stack) + : customizer(arrValue, othValue, index, array, other, stack); + } + if (compared !== undefined) { + if (compared) { + continue; + } + result = false; + break; + } + // Recursively compare arrays (susceptible to call stack limits). + if (seen) { + if (!arraySome(other, function(othValue, othIndex) { + if (!seen.has(othIndex) && + (arrValue === othValue || equalFunc(arrValue, othValue, customizer, bitmask, stack))) { + return seen.add(othIndex); + } + })) { + result = false; + break; + } + } else if (!( + arrValue === othValue || + equalFunc(arrValue, othValue, customizer, bitmask, stack) + )) { + result = false; + break; + } + } + stack['delete'](array); + stack['delete'](other); + return result; +} + +/** + * A specialized version of `baseIsEqualDeep` for comparing objects of + * the same `toStringTag`. + * + * **Note:** This function only supports comparing values with tags of + * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`. + * + * @private + * @param {Object} object The object to compare. + * @param {Object} other The other object to compare. + * @param {string} tag The `toStringTag` of the objects to compare. + * @param {Function} equalFunc The function to determine equivalents of values. + * @param {Function} customizer The function to customize comparisons. + * @param {number} bitmask The bitmask of comparison flags. See `baseIsEqual` + * for more details. + * @param {Object} stack Tracks traversed `object` and `other` objects. + * @returns {boolean} Returns `true` if the objects are equivalent, else `false`. + */ +function equalByTag(object, other, tag, equalFunc, customizer, bitmask, stack) { + switch (tag) { + case dataViewTag: + if ((object.byteLength != other.byteLength) || + (object.byteOffset != other.byteOffset)) { + return false; + } + object = object.buffer; + other = other.buffer; + + case arrayBufferTag: + if ((object.byteLength != other.byteLength) || + !equalFunc(new Uint8Array(object), new Uint8Array(other))) { + return false; + } + return true; + + case boolTag: + case dateTag: + case numberTag: + // Coerce booleans to `1` or `0` and dates to milliseconds. + // Invalid dates are coerced to `NaN`. + return eq(+object, +other); + + case errorTag: + return object.name == other.name && object.message == other.message; + + case regexpTag: + case stringTag: + // Coerce regexes to strings and treat strings, primitives and objects, + // as equal. See http://www.ecma-international.org/ecma-262/7.0/#sec-regexp.prototype.tostring + // for more details. + return object == (other + ''); + + case mapTag: + var convert = mapToArray; + + case setTag: + var isPartial = bitmask & PARTIAL_COMPARE_FLAG; + convert || (convert = setToArray); + + if (object.size != other.size && !isPartial) { + return false; + } + // Assume cyclic values are equal. + var stacked = stack.get(object); + if (stacked) { + return stacked == other; + } + bitmask |= UNORDERED_COMPARE_FLAG; + + // Recursively compare objects (susceptible to call stack limits). + stack.set(object, other); + var result = equalArrays(convert(object), convert(other), equalFunc, customizer, bitmask, stack); + stack['delete'](object); + return result; + + case symbolTag: + if (symbolValueOf) { + return symbolValueOf.call(object) == symbolValueOf.call(other); + } + } + return false; +} + +/** + * A specialized version of `baseIsEqualDeep` for objects with support for + * partial deep comparisons. + * + * @private + * @param {Object} object The object to compare. + * @param {Object} other The other object to compare. + * @param {Function} equalFunc The function to determine equivalents of values. + * @param {Function} customizer The function to customize comparisons. + * @param {number} bitmask The bitmask of comparison flags. See `baseIsEqual` + * for more details. + * @param {Object} stack Tracks traversed `object` and `other` objects. + * @returns {boolean} Returns `true` if the objects are equivalent, else `false`. + */ +function equalObjects(object, other, equalFunc, customizer, bitmask, stack) { + var isPartial = bitmask & PARTIAL_COMPARE_FLAG, + objProps = keys(object), + objLength = objProps.length, + othProps = keys(other), + othLength = othProps.length; + + if (objLength != othLength && !isPartial) { + return false; + } + var index = objLength; + while (index--) { + var key = objProps[index]; + if (!(isPartial ? key in other : hasOwnProperty.call(other, key))) { + return false; + } + } + // Assume cyclic values are equal. + var stacked = stack.get(object); + if (stacked && stack.get(other)) { + return stacked == other; + } + var result = true; + stack.set(object, other); + stack.set(other, object); + + var skipCtor = isPartial; + while (++index < objLength) { + key = objProps[index]; + var objValue = object[key], + othValue = other[key]; + + if (customizer) { + var compared = isPartial + ? customizer(othValue, objValue, key, other, object, stack) + : customizer(objValue, othValue, key, object, other, stack); + } + // Recursively compare objects (susceptible to call stack limits). + if (!(compared === undefined + ? (objValue === othValue || equalFunc(objValue, othValue, customizer, bitmask, stack)) + : compared + )) { + result = false; + break; + } + skipCtor || (skipCtor = key == 'constructor'); + } + if (result && !skipCtor) { + var objCtor = object.constructor, + othCtor = other.constructor; + + // Non `Object` object instances with different constructors are not equal. + if (objCtor != othCtor && + ('constructor' in object && 'constructor' in other) && + !(typeof objCtor == 'function' && objCtor instanceof objCtor && + typeof othCtor == 'function' && othCtor instanceof othCtor)) { + result = false; + } + } + stack['delete'](object); + stack['delete'](other); + return result; +} + +/** + * Gets the data for `map`. + * + * @private + * @param {Object} map The map to query. + * @param {string} key The reference key. + * @returns {*} Returns the map data. + */ +function getMapData(map, key) { + var data = map.__data__; + return isKeyable(key) + ? data[typeof key == 'string' ? 'string' : 'hash'] + : data.map; +} + +/** + * Gets the property names, values, and compare flags of `object`. + * + * @private + * @param {Object} object The object to query. + * @returns {Array} Returns the match data of `object`. + */ +function getMatchData(object) { + var result = keys(object), + length = result.length; + + while (length--) { + var key = result[length], + value = object[key]; + + result[length] = [key, value, isStrictComparable(value)]; + } + return result; +} + +/** + * Gets the native function at `key` of `object`. + * + * @private + * @param {Object} object The object to query. + * @param {string} key The key of the method to get. + * @returns {*} Returns the function if it's native, else `undefined`. + */ +function getNative(object, key) { + var value = getValue(object, key); + return baseIsNative(value) ? value : undefined; +} + +/** + * Gets the `toStringTag` of `value`. + * + * @private + * @param {*} value The value to query. + * @returns {string} Returns the `toStringTag`. + */ +var getTag = baseGetTag; + +// Fallback for data views, maps, sets, and weak maps in IE 11, +// for data views in Edge < 14, and promises in Node.js. +if ((DataView && getTag(new DataView(new ArrayBuffer(1))) != dataViewTag) || + (Map && getTag(new Map) != mapTag) || + (Promise && getTag(Promise.resolve()) != promiseTag) || + (Set && getTag(new Set) != setTag) || + (WeakMap && getTag(new WeakMap) != weakMapTag)) { + getTag = function(value) { + var result = objectToString.call(value), + Ctor = result == objectTag ? value.constructor : undefined, + ctorString = Ctor ? toSource(Ctor) : undefined; + + if (ctorString) { + switch (ctorString) { + case dataViewCtorString: return dataViewTag; + case mapCtorString: return mapTag; + case promiseCtorString: return promiseTag; + case setCtorString: return setTag; + case weakMapCtorString: return weakMapTag; + } + } + return result; + }; +} + +/** + * Checks if `path` exists on `object`. + * + * @private + * @param {Object} object The object to query. + * @param {Array|string} path The path to check. + * @param {Function} hasFunc The function to check properties. + * @returns {boolean} Returns `true` if `path` exists, else `false`. + */ +function hasPath(object, path, hasFunc) { + path = isKey(path, object) ? [path] : castPath(path); + + var result, + index = -1, + length = path.length; + + while (++index < length) { + var key = toKey(path[index]); + if (!(result = object != null && hasFunc(object, key))) { + break; + } + object = object[key]; + } + if (result) { + return result; + } + var length = object ? object.length : 0; + return !!length && isLength(length) && isIndex(key, length) && + (isArray(object) || isArguments(object)); +} + +/** + * Checks if `value` is a valid array-like index. + * + * @private + * @param {*} value The value to check. + * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index. + * @returns {boolean} Returns `true` if `value` is a valid index, else `false`. + */ +function isIndex(value, length) { + length = length == null ? MAX_SAFE_INTEGER : length; + return !!length && + (typeof value == 'number' || reIsUint.test(value)) && + (value > -1 && value % 1 == 0 && value < length); +} + +/** + * Checks if `value` is a property name and not a property path. + * + * @private + * @param {*} value The value to check. + * @param {Object} [object] The object to query keys on. + * @returns {boolean} Returns `true` if `value` is a property name, else `false`. + */ +function isKey(value, object) { + if (isArray(value)) { + return false; + } + var type = typeof value; + if (type == 'number' || type == 'symbol' || type == 'boolean' || + value == null || isSymbol(value)) { + return true; + } + return reIsPlainProp.test(value) || !reIsDeepProp.test(value) || + (object != null && value in Object(object)); +} + +/** + * Checks if `value` is suitable for use as unique object key. + * + * @private + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is suitable, else `false`. + */ +function isKeyable(value) { + var type = typeof value; + return (type == 'string' || type == 'number' || type == 'symbol' || type == 'boolean') + ? (value !== '__proto__') + : (value === null); +} + +/** + * Checks if `func` has its source masked. + * + * @private + * @param {Function} func The function to check. + * @returns {boolean} Returns `true` if `func` is masked, else `false`. + */ +function isMasked(func) { + return !!maskSrcKey && (maskSrcKey in func); +} + +/** + * Checks if `value` is likely a prototype object. + * + * @private + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a prototype, else `false`. + */ +function isPrototype(value) { + var Ctor = value && value.constructor, + proto = (typeof Ctor == 'function' && Ctor.prototype) || objectProto; + + return value === proto; +} + +/** + * Checks if `value` is suitable for strict equality comparisons, i.e. `===`. + * + * @private + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` if suitable for strict + * equality comparisons, else `false`. + */ +function isStrictComparable(value) { + return value === value && !isObject(value); +} + +/** + * A specialized version of `matchesProperty` for source values suitable + * for strict equality comparisons, i.e. `===`. + * + * @private + * @param {string} key The key of the property to get. + * @param {*} srcValue The value to match. + * @returns {Function} Returns the new spec function. + */ +function matchesStrictComparable(key, srcValue) { + return function(object) { + if (object == null) { + return false; + } + return object[key] === srcValue && + (srcValue !== undefined || (key in Object(object))); + }; +} + +/** + * Converts `string` to a property path array. + * + * @private + * @param {string} string The string to convert. + * @returns {Array} Returns the property path array. + */ +var stringToPath = memoize(function(string) { + string = toString(string); + + var result = []; + if (reLeadingDot.test(string)) { + result.push(''); + } + string.replace(rePropName, function(match, number, quote, string) { + result.push(quote ? string.replace(reEscapeChar, '$1') : (number || match)); + }); + return result; +}); + +/** + * Converts `value` to a string key if it's not a string or symbol. + * + * @private + * @param {*} value The value to inspect. + * @returns {string|symbol} Returns the key. + */ +function toKey(value) { + if (typeof value == 'string' || isSymbol(value)) { + return value; + } + var result = (value + ''); + return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result; +} + +/** + * Converts `func` to its source code. + * + * @private + * @param {Function} func The function to process. + * @returns {string} Returns the source code. + */ +function toSource(func) { + if (func != null) { + try { + return funcToString.call(func); + } catch (e) {} + try { + return (func + ''); + } catch (e) {} + } + return ''; +} + +/** + * The opposite of `_.filter`; this method returns the elements of `collection` + * that `predicate` does **not** return truthy for. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Collection + * @param {Array|Object} collection The collection to iterate over. + * @param {Function} [predicate=_.identity] The function invoked per iteration. + * @returns {Array} Returns the new filtered array. + * @see _.filter + * @example + * + * var users = [ + * { 'user': 'barney', 'age': 36, 'active': false }, + * { 'user': 'fred', 'age': 40, 'active': true } + * ]; + * + * _.reject(users, function(o) { return !o.active; }); + * // => objects for ['fred'] + * + * // The `_.matches` iteratee shorthand. + * _.reject(users, { 'age': 40, 'active': true }); + * // => objects for ['barney'] + * + * // The `_.matchesProperty` iteratee shorthand. + * _.reject(users, ['active', false]); + * // => objects for ['fred'] + * + * // The `_.property` iteratee shorthand. + * _.reject(users, 'active'); + * // => objects for ['barney'] + */ +function reject(collection, predicate) { + var func = isArray(collection) ? arrayFilter : baseFilter; + return func(collection, negate(baseIteratee(predicate, 3))); +} + +/** + * Creates a function that memoizes the result of `func`. If `resolver` is + * provided, it determines the cache key for storing the result based on the + * arguments provided to the memoized function. By default, the first argument + * provided to the memoized function is used as the map cache key. The `func` + * is invoked with the `this` binding of the memoized function. + * + * **Note:** The cache is exposed as the `cache` property on the memoized + * function. Its creation may be customized by replacing the `_.memoize.Cache` + * constructor with one whose instances implement the + * [`Map`](http://ecma-international.org/ecma-262/7.0/#sec-properties-of-the-map-prototype-object) + * method interface of `delete`, `get`, `has`, and `set`. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Function + * @param {Function} func The function to have its output memoized. + * @param {Function} [resolver] The function to resolve the cache key. + * @returns {Function} Returns the new memoized function. + * @example + * + * var object = { 'a': 1, 'b': 2 }; + * var other = { 'c': 3, 'd': 4 }; + * + * var values = _.memoize(_.values); + * values(object); + * // => [1, 2] + * + * values(other); + * // => [3, 4] + * + * object.a = 2; + * values(object); + * // => [1, 2] + * + * // Modify the result cache. + * values.cache.set(object, ['a', 'b']); + * values(object); + * // => ['a', 'b'] + * + * // Replace `_.memoize.Cache`. + * _.memoize.Cache = WeakMap; + */ +function memoize(func, resolver) { + if (typeof func != 'function' || (resolver && typeof resolver != 'function')) { + throw new TypeError(FUNC_ERROR_TEXT); + } + var memoized = function() { + var args = arguments, + key = resolver ? resolver.apply(this, args) : args[0], + cache = memoized.cache; + + if (cache.has(key)) { + return cache.get(key); + } + var result = func.apply(this, args); + memoized.cache = cache.set(key, result); + return result; + }; + memoized.cache = new (memoize.Cache || MapCache); + return memoized; +} + +// Assign cache to `_.memoize`. +memoize.Cache = MapCache; + +/** + * Creates a function that negates the result of the predicate `func`. The + * `func` predicate is invoked with the `this` binding and arguments of the + * created function. + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category Function + * @param {Function} predicate The predicate to negate. + * @returns {Function} Returns the new negated function. + * @example + * + * function isEven(n) { + * return n % 2 == 0; + * } + * + * _.filter([1, 2, 3, 4, 5, 6], _.negate(isEven)); + * // => [1, 3, 5] + */ +function negate(predicate) { + if (typeof predicate != 'function') { + throw new TypeError(FUNC_ERROR_TEXT); + } + return function() { + var args = arguments; + switch (args.length) { + case 0: return !predicate.call(this); + case 1: return !predicate.call(this, args[0]); + case 2: return !predicate.call(this, args[0], args[1]); + case 3: return !predicate.call(this, args[0], args[1], args[2]); + } + return !predicate.apply(this, args); + }; +} + +/** + * Performs a + * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero) + * comparison between two values to determine if they are equivalent. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Lang + * @param {*} value The value to compare. + * @param {*} other The other value to compare. + * @returns {boolean} Returns `true` if the values are equivalent, else `false`. + * @example + * + * var object = { 'a': 1 }; + * var other = { 'a': 1 }; + * + * _.eq(object, object); + * // => true + * + * _.eq(object, other); + * // => false + * + * _.eq('a', 'a'); + * // => true + * + * _.eq('a', Object('a')); + * // => false + * + * _.eq(NaN, NaN); + * // => true + */ +function eq(value, other) { + return value === other || (value !== value && other !== other); +} + +/** + * Checks if `value` is likely an `arguments` object. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is an `arguments` object, + * else `false`. + * @example + * + * _.isArguments(function() { return arguments; }()); + * // => true + * + * _.isArguments([1, 2, 3]); + * // => false + */ +function isArguments(value) { + // Safari 8.1 makes `arguments.callee` enumerable in strict mode. + return isArrayLikeObject(value) && hasOwnProperty.call(value, 'callee') && + (!propertyIsEnumerable.call(value, 'callee') || objectToString.call(value) == argsTag); +} + +/** + * Checks if `value` is classified as an `Array` object. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is an array, else `false`. + * @example + * + * _.isArray([1, 2, 3]); + * // => true + * + * _.isArray(document.body.children); + * // => false + * + * _.isArray('abc'); + * // => false + * + * _.isArray(_.noop); + * // => false + */ +var isArray = Array.isArray; + +/** + * Checks if `value` is array-like. A value is considered array-like if it's + * not a function and has a `value.length` that's an integer greater than or + * equal to `0` and less than or equal to `Number.MAX_SAFE_INTEGER`. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is array-like, else `false`. + * @example + * + * _.isArrayLike([1, 2, 3]); + * // => true + * + * _.isArrayLike(document.body.children); + * // => true + * + * _.isArrayLike('abc'); + * // => true + * + * _.isArrayLike(_.noop); + * // => false + */ +function isArrayLike(value) { + return value != null && isLength(value.length) && !isFunction(value); +} + +/** + * This method is like `_.isArrayLike` except that it also checks if `value` + * is an object. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is an array-like object, + * else `false`. + * @example + * + * _.isArrayLikeObject([1, 2, 3]); + * // => true + * + * _.isArrayLikeObject(document.body.children); + * // => true + * + * _.isArrayLikeObject('abc'); + * // => false + * + * _.isArrayLikeObject(_.noop); + * // => false + */ +function isArrayLikeObject(value) { + return isObjectLike(value) && isArrayLike(value); +} + +/** + * Checks if `value` is classified as a `Function` object. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a function, else `false`. + * @example + * + * _.isFunction(_); + * // => true + * + * _.isFunction(/abc/); + * // => false + */ +function isFunction(value) { + // The use of `Object#toString` avoids issues with the `typeof` operator + // in Safari 8-9 which returns 'object' for typed array and other constructors. + var tag = isObject(value) ? objectToString.call(value) : ''; + return tag == funcTag || tag == genTag; +} + +/** + * Checks if `value` is a valid array-like length. + * + * **Note:** This method is loosely based on + * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength). + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a valid length, else `false`. + * @example + * + * _.isLength(3); + * // => true + * + * _.isLength(Number.MIN_VALUE); + * // => false + * + * _.isLength(Infinity); + * // => false + * + * _.isLength('3'); + * // => false + */ +function isLength(value) { + return typeof value == 'number' && + value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER; +} + +/** + * Checks if `value` is the + * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types) + * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`) + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is an object, else `false`. + * @example + * + * _.isObject({}); + * // => true + * + * _.isObject([1, 2, 3]); + * // => true + * + * _.isObject(_.noop); + * // => true + * + * _.isObject(null); + * // => false + */ +function isObject(value) { + var type = typeof value; + return !!value && (type == 'object' || type == 'function'); +} + +/** + * Checks if `value` is object-like. A value is object-like if it's not `null` + * and has a `typeof` result of "object". + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is object-like, else `false`. + * @example + * + * _.isObjectLike({}); + * // => true + * + * _.isObjectLike([1, 2, 3]); + * // => true + * + * _.isObjectLike(_.noop); + * // => false + * + * _.isObjectLike(null); + * // => false + */ +function isObjectLike(value) { + return !!value && typeof value == 'object'; +} + +/** + * Checks if `value` is classified as a `Symbol` primitive or object. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a symbol, else `false`. + * @example + * + * _.isSymbol(Symbol.iterator); + * // => true + * + * _.isSymbol('abc'); + * // => false + */ +function isSymbol(value) { + return typeof value == 'symbol' || + (isObjectLike(value) && objectToString.call(value) == symbolTag); +} + +/** + * Checks if `value` is classified as a typed array. + * + * @static + * @memberOf _ + * @since 3.0.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a typed array, else `false`. + * @example + * + * _.isTypedArray(new Uint8Array); + * // => true + * + * _.isTypedArray([]); + * // => false + */ +var isTypedArray = nodeIsTypedArray ? baseUnary(nodeIsTypedArray) : baseIsTypedArray; + +/** + * Converts `value` to a string. An empty string is returned for `null` + * and `undefined` values. The sign of `-0` is preserved. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Lang + * @param {*} value The value to process. + * @returns {string} Returns the string. + * @example + * + * _.toString(null); + * // => '' + * + * _.toString(-0); + * // => '-0' + * + * _.toString([1, 2, 3]); + * // => '1,2,3' + */ +function toString(value) { + return value == null ? '' : baseToString(value); +} + +/** + * Gets the value at `path` of `object`. If the resolved value is + * `undefined`, the `defaultValue` is returned in its place. + * + * @static + * @memberOf _ + * @since 3.7.0 + * @category Object + * @param {Object} object The object to query. + * @param {Array|string} path The path of the property to get. + * @param {*} [defaultValue] The value returned for `undefined` resolved values. + * @returns {*} Returns the resolved value. + * @example + * + * var object = { 'a': [{ 'b': { 'c': 3 } }] }; + * + * _.get(object, 'a[0].b.c'); + * // => 3 + * + * _.get(object, ['a', '0', 'b', 'c']); + * // => 3 + * + * _.get(object, 'a.b.c', 'default'); + * // => 'default' + */ +function get(object, path, defaultValue) { + var result = object == null ? undefined : baseGet(object, path); + return result === undefined ? defaultValue : result; +} + +/** + * Checks if `path` is a direct or inherited property of `object`. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Object + * @param {Object} object The object to query. + * @param {Array|string} path The path to check. + * @returns {boolean} Returns `true` if `path` exists, else `false`. + * @example + * + * var object = _.create({ 'a': _.create({ 'b': 2 }) }); + * + * _.hasIn(object, 'a'); + * // => true + * + * _.hasIn(object, 'a.b'); + * // => true + * + * _.hasIn(object, ['a', 'b']); + * // => true + * + * _.hasIn(object, 'b'); + * // => false + */ +function hasIn(object, path) { + return object != null && hasPath(object, path, baseHasIn); +} + +/** + * Creates an array of the own enumerable property names of `object`. + * + * **Note:** Non-object values are coerced to objects. See the + * [ES spec](http://ecma-international.org/ecma-262/7.0/#sec-object.keys) + * for more details. + * + * @static + * @since 0.1.0 + * @memberOf _ + * @category Object + * @param {Object} object The object to query. + * @returns {Array} Returns the array of property names. + * @example + * + * function Foo() { + * this.a = 1; + * this.b = 2; + * } + * + * Foo.prototype.c = 3; + * + * _.keys(new Foo); + * // => ['a', 'b'] (iteration order is not guaranteed) + * + * _.keys('hi'); + * // => ['0', '1'] + */ +function keys(object) { + return isArrayLike(object) ? arrayLikeKeys(object) : baseKeys(object); +} + +/** + * This method returns the first argument it receives. + * + * @static + * @since 0.1.0 + * @memberOf _ + * @category Util + * @param {*} value Any value. + * @returns {*} Returns `value`. + * @example + * + * var object = { 'a': 1 }; + * + * console.log(_.identity(object) === object); + * // => true + */ +function identity(value) { + return value; +} + +/** + * Creates a function that returns the value at `path` of a given object. + * + * @static + * @memberOf _ + * @since 2.4.0 + * @category Util + * @param {Array|string} path The path of the property to get. + * @returns {Function} Returns the new accessor function. + * @example + * + * var objects = [ + * { 'a': { 'b': 2 } }, + * { 'a': { 'b': 1 } } + * ]; + * + * _.map(objects, _.property('a.b')); + * // => [2, 1] + * + * _.map(_.sortBy(objects, _.property(['a', 'b'])), 'a.b'); + * // => [1, 2] + */ +function property(path) { + return isKey(path) ? baseProperty(toKey(path)) : basePropertyDeep(path); +} + +module.exports = reject; + +/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(10), __webpack_require__(16)(module))) + +/***/ }), +/* 16 */ +/***/ (function(module, exports) { + +module.exports = function(module) { + if (!module.webpackPolyfill) { + module.deprecate = function() {}; + module.paths = []; + // module.parent = undefined by default + if (!module.children) module.children = []; + Object.defineProperty(module, "loaded", { + enumerable: true, + get: function() { + return module.l; + } + }); + Object.defineProperty(module, "id", { + enumerable: true, + get: function() { + return module.i; + } + }); + module.webpackPolyfill = 1; + } + return module; +}; + + +/***/ }), +/* 17 */ +/***/ (function(module) { + +module.exports = JSON.parse("{\"component\":\"setup-assistant\",\"status\":\"prod\",\"display-name\":\"Setup Assistant\",\"classKey\":\"SetupAssistant\",\"SLDS-component-path\":\"/components/setup-assistant\",\"dependencies\":[{\"component\":\"step\",\"classKey\":\"SetupAssistantStep\"}],\"site-stories\":[{\"heading\":\"Base\",\"path\":\"/__examples__/base.jsx\"},{\"heading\":\"Step Progress Indicator\",\"path\":\"/__examples__/step-progress.jsx\"},{\"heading\":\"Expandable Steps\",\"path\":\"/__examples__/hub-expandable-steps.jsx\"},{\"heading\":\"With Card\",\"path\":\"/__examples__/card.jsx\"}],\"url-slug\":\"setup-assistant\"}"); + +/***/ }), +/* 18 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + + +var randomFromSeed = __webpack_require__(64); + +var ORIGINAL = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_-'; +var alphabet; +var previousSeed; + +var shuffled; + +function reset() { + shuffled = false; +} + +function setCharacters(_alphabet_) { + if (!_alphabet_) { + if (alphabet !== ORIGINAL) { + alphabet = ORIGINAL; + reset(); + } + return; + } + + if (_alphabet_ === alphabet) { + return; + } + + if (_alphabet_.length !== ORIGINAL.length) { + throw new Error('Custom alphabet for shortid must be ' + ORIGINAL.length + ' unique characters. You submitted ' + _alphabet_.length + ' characters: ' + _alphabet_); + } + + var unique = _alphabet_.split('').filter(function(item, ind, arr){ + return ind !== arr.lastIndexOf(item); + }); + + if (unique.length) { + throw new Error('Custom alphabet for shortid must be ' + ORIGINAL.length + ' unique characters. These characters were not unique: ' + unique.join(', ')); + } + + alphabet = _alphabet_; + reset(); +} + +function characters(_alphabet_) { + setCharacters(_alphabet_); + return alphabet; +} + +function setSeed(seed) { + randomFromSeed.seed(seed); + if (previousSeed !== seed) { + reset(); + previousSeed = seed; + } +} + +function shuffle() { + if (!alphabet) { + setCharacters(ORIGINAL); + } + + var sourceArray = alphabet.split(''); + var targetArray = []; + var r = randomFromSeed.nextValue(); + var characterIndex; + + while (sourceArray.length > 0) { + r = randomFromSeed.nextValue(); + characterIndex = Math.floor(r * sourceArray.length); + targetArray.push(sourceArray.splice(characterIndex, 1)[0]); + } + return targetArray.join(''); +} + +function getShuffled() { + if (shuffled) { + return shuffled; + } + shuffled = shuffle(); + return shuffled; +} + +/** + * lookup shuffled letter + * @param index + * @returns {string} + */ +function lookup(index) { + var alphabetShuffled = getShuffled(); + return alphabetShuffled[index]; +} + +function get () { + return alphabet || ORIGINAL; +} + +module.exports = { + get: get, + characters: characters, + seed: setSeed, + lookup: lookup, + shuffled: getShuffled +}; + + +/***/ }), +/* 19 */ +/***/ (function(module, exports) { + +module.exports = function requiredIf(type, condition) { + return function(props, propName, componentName) { + if (typeof type !== "function") { + return new Error( + 'Invalid react-required-if prop type supplied to ' + componentName + '. Validation failed.' + ); + } + + if (typeof condition !== "function") { + return new Error( + 'Invalid react-required-if condition supplied to ' + componentName + '. Validation failed.' + ); + } + + var test = condition(props) ? type.isRequired : type; + return test.apply(this, arguments); + }; +}; + + +/***/ }), +/* 20 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", { + value: true +}); + +var _Modal = __webpack_require__(71); + +var _Modal2 = _interopRequireDefault(_Modal); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +exports.default = _Modal2.default; +module.exports = exports["default"]; + +/***/ }), +/* 21 */ +/***/ (function(module) { + +module.exports = JSON.parse("{\"component\":\"input\",\"status\":\"prod\",\"display-name\":\"Inputs\",\"classKey\":\"Input\",\"last-accessibility-review\":{\"date-iso-8601\":\"2017/09/22\",\"commit-sha\":\"ad6b6c6523ee21cada11be5f7ea4d99abc530726\"},\"dependencies\":[{\"component\":\"search\",\"classKey\":\"InputSearch\"}],\"SLDS-component-path\":\"/components/input\",\"site-stories\":[{\"heading\":\"Default\",\"path\":\"/__examples__/default.jsx\"},{\"heading\":\"With Icons\",\"path\":\"/__examples__/icons.jsx\"},{\"heading\":\"Error State\",\"path\":\"/__examples__/error.jsx\"},{\"heading\":\"Disabled\",\"path\":\"/__examples__/inactiveInputs.jsx\"},{\"heading\":\"With Inline Help\",\"path\":\"/__examples__/inline-help.jsx\"},{\"heading\":\"With Field Level Help\",\"path\":\"/__examples__/field-level-help.jsx\"},{\"heading\":\"Counter\",\"path\":\"/__examples__/counter-input.jsx\"}],\"url-slug\":\"inputs\"}"); + +/***/ }), +/* 22 */ +/***/ (function(module) { + +module.exports = JSON.parse("{\"component\":\"global-navigation-bar\",\"status\":\"prod\",\"display-name\":\"Global Navigation Bar\",\"classKey\":\"GlobalNavigationBar\",\"last-accessibility-review\":{\"date-iso-8601\":\"2017/05/02\",\"commit-sha\":\"ad6b6c6523ee21cada11be5f7ea4d99abc530726\"},\"SLDS-component-path\":\"/components/global-navigation\",\"dependencies\":[{\"component\":\"button\",\"classKey\":\"GlobalNavigationBarButton\"},{\"component\":\"dropdown\",\"classKey\":\"GlobalNavigationBarDropdown\"},{\"component\":\"label\",\"classKey\":\"GlobalNavigationBarLabel\"},{\"component\":\"link\",\"classKey\":\"GlobalNavigationBarLink\"},{\"component\":\"region\",\"classKey\":\"GlobalNavigationBarRegion\"}],\"site-stories\":[{\"heading\":\"Default\",\"path\":\"/__examples__/default.jsx\"}],\"url-slug\":\"global-navigation-bar\"}"); + +/***/ }), +/* 23 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.canUseDOM = undefined; + +var _exenv = __webpack_require__(76); + +var _exenv2 = _interopRequireDefault(_exenv); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +var EE = _exenv2.default; + +var SafeHTMLElement = EE.canUseDOM ? window.HTMLElement : {}; + +var canUseDOM = exports.canUseDOM = EE.canUseDOM; + +exports.default = SafeHTMLElement; + +/***/ }), +/* 24 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; +/** + * Copyright (c) 2013-present, Facebook, Inc. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + * + */ + + + +var React = __webpack_require__(1); +var factory = __webpack_require__(82); + +if (typeof React === 'undefined') { + throw Error( + 'create-react-class could not find the React object. If you are using script tags, ' + + 'make sure that React is being loaded before create-react-class.' + ); +} + +// Hack to grab NoopUpdateQueue from isomorphic React +var ReactNoopUpdateQueue = new React.Component().updater; + +module.exports = factory( + React.Component, + React.isValidElement, + ReactNoopUpdateQueue +); + + +/***/ }), +/* 25 */ +/***/ (function(module, exports, __webpack_require__) { + +var React = __webpack_require__(1); +var RegExpPropType = __webpack_require__(79); +var escapeStringRegexp = __webpack_require__(80); +var blacklist = __webpack_require__(81); +var createReactClass = __webpack_require__(24); +var PropTypes = __webpack_require__(0); + +function removeDiacritics(str, blacklist) { + if (!String.prototype.normalize) { + // Fall back to original string + return str; + } + + if (!blacklist) { + // No blacklist, just remove all + return str.normalize('NFD').replace(/[\u0300-\u036f]/g, ''); + } + else { + var blacklistChars = blacklist.split(''); + + // Remove all diacritics that are not a part of a blacklisted character + // First char cannot be a diacritic + return str.normalize('NFD').replace(/.[\u0300-\u036f]+/g, function(m) { + return blacklistChars.indexOf(m.normalize()) > -1 ? m.normalize() : m[0]; + }); + } +} + +var Highlighter = createReactClass({ + displayName: 'Highlighter', + count: 0, + propTypes: { + search: PropTypes.oneOfType([ + PropTypes.string, + PropTypes.number, + PropTypes.bool, + RegExpPropType + ]).isRequired, + caseSensitive: PropTypes.bool, + ignoreDiacritics: PropTypes.bool, + diacriticsBlacklist: PropTypes.string, + matchElement: PropTypes.oneOfType([PropTypes.string, PropTypes.func]), + matchClass: PropTypes.string, + matchStyle: PropTypes.object + }, + + render: function() { + var props = blacklist( + this.props, + 'search', + 'caseSensitive', + 'ignoreDiacritics', + 'diacriticsBlacklist', + 'matchElement', + 'matchClass', + 'matchStyle' + ); + + return React.createElement('span', props, this.renderElement(this.props.children)); + }, + + /** + * A wrapper to the highlight method to determine when the highlighting + * process should occur. + * + * @param {string} subject + * The body of text that will be searched for highlighted words. + * + * @return {Array} + * An array of ReactElements + */ + renderElement: function(subject) { + if (this.isScalar() && this.hasSearch()) { + var search = this.getSearch(); + return this.highlightChildren(subject, search); + } + + return this.props.children; + }, + + /** + * Determine if props are valid types for processing. + * + * @return {Boolean} + */ + isScalar: function() { + return (/string|number|boolean/).test(typeof this.props.children); + }, + + /** + * Determine if required search prop is defined and valid. + * + * @return {Boolean} + */ + hasSearch: function() { + return (typeof this.props.search !== 'undefined') && this.props.search; + }, + + /** + * Get the search prop, but always in the form of a regular expression. Use + * this as a proxy to this.props.search for consistency. + * + * @return {RegExp} + */ + getSearch: function() { + if (this.props.search instanceof RegExp) { + return this.props.search; + } + + var flags = ''; + if (!this.props.caseSensitive) { + flags +='i'; + } + + var search = this.props.search; + if (typeof this.props.search === 'string') { + search = escapeStringRegexp(search); + } + + if (this.props.ignoreDiacritics) { + search = removeDiacritics(search, this.props.diacriticsBlacklist); + } + + return new RegExp(search, flags); + }, + + /** + * Get the indexes of the first and last characters of the matched string. + * + * @param {string} subject + * The string to search against. + * + * @param {RegExp} search + * The regex search query. + * + * @return {Object} + * An object consisting of "first" and "last" properties representing the + * indexes of the first and last characters of a matching string. + */ + getMatchBoundaries: function(subject, search) { + var matches = search.exec(subject); + if (matches) { + return { + first: matches.index, + last: matches.index + matches[0].length + }; + } + }, + + /** + * Determines which strings of text should be highlighted or not. + * + * @param {string} subject + * The body of text that will be searched for highlighted words. + * @param {string} search + * The search used to search for highlighted words. + * + * @return {Array} + * An array of ReactElements + */ + highlightChildren: function(subject, search) { + var children = []; + var remaining = subject; + + while (remaining) { + var remainingCleaned = (this.props.ignoreDiacritics + ? removeDiacritics(remaining, this.props.diacriticsBlacklist) + : remaining + ); + + if (!search.test(remainingCleaned)) { + children.push(this.renderPlain(remaining)); + return children; + } + + var boundaries = this.getMatchBoundaries(remainingCleaned, search); + + if (boundaries.first === 0 && boundaries.last === 0) { + // Regex zero-width match + return children; + } + + // Capture the string that leads up to a match... + var nonMatch = remaining.slice(0, boundaries.first); + if (nonMatch) { + children.push(this.renderPlain(nonMatch)); + } + + // Now, capture the matching string... + var match = remaining.slice(boundaries.first, boundaries.last); + if (match) { + children.push(this.renderHighlight(match)); + } + + // And if there's anything left over, recursively run this method again. + remaining = remaining.slice(boundaries.last); + + } + + return children; + }, + + /** + * Responsible for rending a non-highlighted element. + * + * @param {string} string + * A string value to wrap an element around. + * + * @return {ReactElement} + */ + renderPlain: function(string) { + this.count++; + return React.createElement('span', { key: this.count, children: string }); + }, + + /** + * Responsible for rending a highlighted element. + * + * @param {string} string + * A string value to wrap an element around. + * + * @return {ReactElement} + */ + renderHighlight: function(string) { + this.count++; + return React.createElement(this.props.matchElement, { + key: this.count, + className: this.props.matchClass, + style: this.props.matchStyle, + children: string + }); + } +}); + +Highlighter.defaultProps = { + caseSensitive: false, + ignoreDiacritics: false, + diacriticsBlacklist: '', + matchElement: 'mark', + matchClass: 'highlight', + matchStyle: {} +}; + +module.exports = Highlighter; + + +/***/ }), +/* 26 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = findTabbableDescendants; +/*! + * Adapted from jQuery UI core + * + * http://jqueryui.com + * + * Copyright 2014 jQuery Foundation and other contributors + * Released under the MIT license. + * http://jquery.org/license + * + * http://api.jqueryui.com/category/ui-core/ + */ + +var tabbableNode = /input|select|textarea|button|object/; + +function hidesContents(element) { + var zeroSize = element.offsetWidth <= 0 && element.offsetHeight <= 0; + + // If the node is empty, this is good enough + if (zeroSize && !element.innerHTML) return true; + + // Otherwise we need to check some styles + var style = window.getComputedStyle(element); + return zeroSize ? style.getPropertyValue("overflow") !== "visible" : style.getPropertyValue("display") == "none"; +} + +function visible(element) { + var parentElement = element; + while (parentElement) { + if (parentElement === document.body) break; + if (hidesContents(parentElement)) return false; + parentElement = parentElement.parentNode; + } + return true; +} + +function focusable(element, isTabIndexNotNaN) { + var nodeName = element.nodeName.toLowerCase(); + var res = tabbableNode.test(nodeName) && !element.disabled || (nodeName === "a" ? element.href || isTabIndexNotNaN : isTabIndexNotNaN); + return res && visible(element); +} + +function tabbable(element) { + var tabIndex = element.getAttribute("tabindex"); + if (tabIndex === null) tabIndex = undefined; + var isTabIndexNaN = isNaN(tabIndex); + return (isTabIndexNaN || tabIndex >= 0) && focusable(element, !isTabIndexNaN); +} + +function findTabbableDescendants(element) { + return [].slice.call(element.querySelectorAll("*"), 0).filter(tabbable); +} +module.exports = exports["default"]; + +/***/ }), +/* 27 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.assertNodeList = assertNodeList; +exports.setElement = setElement; +exports.validateElement = validateElement; +exports.hide = hide; +exports.show = show; +exports.documentNotReadyOrSSRTesting = documentNotReadyOrSSRTesting; +exports.resetForTesting = resetForTesting; + +var _warning = __webpack_require__(75); + +var _warning2 = _interopRequireDefault(_warning); + +var _safeHTMLElement = __webpack_require__(23); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +var globalElement = null; + +function assertNodeList(nodeList, selector) { + if (!nodeList || !nodeList.length) { + throw new Error("react-modal: No elements were found for selector " + selector + "."); + } +} + +function setElement(element) { + var useElement = element; + if (typeof useElement === "string" && _safeHTMLElement.canUseDOM) { + var el = document.querySelectorAll(useElement); + assertNodeList(el, useElement); + useElement = "length" in el ? el[0] : el; + } + globalElement = useElement || globalElement; + return globalElement; +} + +function validateElement(appElement) { + if (!appElement && !globalElement) { + (0, _warning2.default)(false, ["react-modal: App element is not defined.", "Please use `Modal.setAppElement(el)` or set `appElement={el}`.", "This is needed so screen readers don't see main content", "when modal is opened. It is not recommended, but you can opt-out", "by setting `ariaHideApp={false}`."].join(" ")); + + return false; + } + + return true; +} + +function hide(appElement) { + if (validateElement(appElement)) { + (appElement || globalElement).setAttribute("aria-hidden", "true"); + } +} + +function show(appElement) { + if (validateElement(appElement)) { + (appElement || globalElement).removeAttribute("aria-hidden"); + } +} + +function documentNotReadyOrSSRTesting() { + globalElement = null; +} + +function resetForTesting() { + globalElement = null; +} + +/***/ }), +/* 28 */ +/***/ (function(module) { + +module.exports = JSON.parse("{\"component\":\"button\",\"status\":\"prod\",\"display-name\":\"Buttons\",\"classKey\":\"Button\",\"last-accessibility-review\":{\"date-iso-8601\":\"2018/01/18\",\"commit-sha\":\"ad6b6c6523ee21cada11be5f7ea4d99abc530726\"},\"SLDS-component-path\":\"/components/buttons\",\"site-stories\":[{\"heading\":\"Base Neutral\",\"path\":\"/__examples__/base-neutral.jsx\"},{\"heading\":\"Variants\",\"path\":\"/__examples__/brand-disabled-destructive-inverse.jsx\"},{\"heading\":\"Button Icons\",\"path\":\"/__examples__/button-icons.jsx\"}],\"url-slug\":\"buttons\"}"); + +/***/ }), +/* 29 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* WEBPACK VAR INJECTION */(function(global) {/**! + * @fileOverview Kickass library to create and place poppers near their reference elements. + * @version 1.12.9 + * @license + * Copyright (c) 2016 Federico Zivolo and contributors + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + */ +var isBrowser = typeof window !== 'undefined' && typeof document !== 'undefined'; +var longerTimeoutBrowsers = ['Edge', 'Trident', 'Firefox']; +var timeoutDuration = 0; +for (var i = 0; i < longerTimeoutBrowsers.length; i += 1) { + if (isBrowser && navigator.userAgent.indexOf(longerTimeoutBrowsers[i]) >= 0) { + timeoutDuration = 1; + break; + } +} + +function microtaskDebounce(fn) { + var called = false; + return function () { + if (called) { + return; + } + called = true; + window.Promise.resolve().then(function () { + called = false; + fn(); + }); + }; +} + +function taskDebounce(fn) { + var scheduled = false; + return function () { + if (!scheduled) { + scheduled = true; + setTimeout(function () { + scheduled = false; + fn(); + }, timeoutDuration); + } + }; +} + +var supportsMicroTasks = isBrowser && window.Promise; + +/** +* Create a debounced version of a method, that's asynchronously deferred +* but called in the minimum time possible. +* +* @method +* @memberof Popper.Utils +* @argument {Function} fn +* @returns {Function} +*/ +var debounce = supportsMicroTasks ? microtaskDebounce : taskDebounce; + +/** + * Check if the given variable is a function + * @method + * @memberof Popper.Utils + * @argument {Any} functionToCheck - variable to check + * @returns {Boolean} answer to: is a function? + */ +function isFunction(functionToCheck) { + var getType = {}; + return functionToCheck && getType.toString.call(functionToCheck) === '[object Function]'; +} + +/** + * Get CSS computed property of the given element + * @method + * @memberof Popper.Utils + * @argument {Eement} element + * @argument {String} property + */ +function getStyleComputedProperty(element, property) { + if (element.nodeType !== 1) { + return []; + } + // NOTE: 1 DOM access here + var css = getComputedStyle(element, null); + return property ? css[property] : css; +} + +/** + * Returns the parentNode or the host of the element + * @method + * @memberof Popper.Utils + * @argument {Element} element + * @returns {Element} parent + */ +function getParentNode(element) { + if (element.nodeName === 'HTML') { + return element; + } + return element.parentNode || element.host; +} + +/** + * Returns the scrolling parent of the given element + * @method + * @memberof Popper.Utils + * @argument {Element} element + * @returns {Element} scroll parent + */ +function getScrollParent(element) { + // Return body, `getScroll` will take care to get the correct `scrollTop` from it + if (!element) { + return document.body; + } + + switch (element.nodeName) { + case 'HTML': + case 'BODY': + return element.ownerDocument.body; + case '#document': + return element.body; + } + + // Firefox want us to check `-x` and `-y` variations as well + + var _getStyleComputedProp = getStyleComputedProperty(element), + overflow = _getStyleComputedProp.overflow, + overflowX = _getStyleComputedProp.overflowX, + overflowY = _getStyleComputedProp.overflowY; + + if (/(auto|scroll)/.test(overflow + overflowY + overflowX)) { + return element; + } + + return getScrollParent(getParentNode(element)); +} + +/** + * Returns the offset parent of the given element + * @method + * @memberof Popper.Utils + * @argument {Element} element + * @returns {Element} offset parent + */ +function getOffsetParent(element) { + // NOTE: 1 DOM access here + var offsetParent = element && element.offsetParent; + var nodeName = offsetParent && offsetParent.nodeName; + + if (!nodeName || nodeName === 'BODY' || nodeName === 'HTML') { + if (element) { + return element.ownerDocument.documentElement; + } + + return document.documentElement; + } + + // .offsetParent will return the closest TD or TABLE in case + // no offsetParent is present, I hate this job... + if (['TD', 'TABLE'].indexOf(offsetParent.nodeName) !== -1 && getStyleComputedProperty(offsetParent, 'position') === 'static') { + return getOffsetParent(offsetParent); + } + + return offsetParent; +} + +function isOffsetContainer(element) { + var nodeName = element.nodeName; + + if (nodeName === 'BODY') { + return false; + } + return nodeName === 'HTML' || getOffsetParent(element.firstElementChild) === element; +} + +/** + * Finds the root node (document, shadowDOM root) of the given element + * @method + * @memberof Popper.Utils + * @argument {Element} node + * @returns {Element} root node + */ +function getRoot(node) { + if (node.parentNode !== null) { + return getRoot(node.parentNode); + } + + return node; +} + +/** + * Finds the offset parent common to the two provided nodes + * @method + * @memberof Popper.Utils + * @argument {Element} element1 + * @argument {Element} element2 + * @returns {Element} common offset parent + */ +function findCommonOffsetParent(element1, element2) { + // This check is needed to avoid errors in case one of the elements isn't defined for any reason + if (!element1 || !element1.nodeType || !element2 || !element2.nodeType) { + return document.documentElement; + } + + // Here we make sure to give as "start" the element that comes first in the DOM + var order = element1.compareDocumentPosition(element2) & Node.DOCUMENT_POSITION_FOLLOWING; + var start = order ? element1 : element2; + var end = order ? element2 : element1; + + // Get common ancestor container + var range = document.createRange(); + range.setStart(start, 0); + range.setEnd(end, 0); + var commonAncestorContainer = range.commonAncestorContainer; + + // Both nodes are inside #document + + if (element1 !== commonAncestorContainer && element2 !== commonAncestorContainer || start.contains(end)) { + if (isOffsetContainer(commonAncestorContainer)) { + return commonAncestorContainer; + } + + return getOffsetParent(commonAncestorContainer); + } + + // one of the nodes is inside shadowDOM, find which one + var element1root = getRoot(element1); + if (element1root.host) { + return findCommonOffsetParent(element1root.host, element2); + } else { + return findCommonOffsetParent(element1, getRoot(element2).host); + } +} + +/** + * Gets the scroll value of the given element in the given side (top and left) + * @method + * @memberof Popper.Utils + * @argument {Element} element + * @argument {String} side `top` or `left` + * @returns {number} amount of scrolled pixels + */ +function getScroll(element) { + var side = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'top'; + + var upperSide = side === 'top' ? 'scrollTop' : 'scrollLeft'; + var nodeName = element.nodeName; + + if (nodeName === 'BODY' || nodeName === 'HTML') { + var html = element.ownerDocument.documentElement; + var scrollingElement = element.ownerDocument.scrollingElement || html; + return scrollingElement[upperSide]; + } + + return element[upperSide]; +} + +/* + * Sum or subtract the element scroll values (left and top) from a given rect object + * @method + * @memberof Popper.Utils + * @param {Object} rect - Rect object you want to change + * @param {HTMLElement} element - The element from the function reads the scroll values + * @param {Boolean} subtract - set to true if you want to subtract the scroll values + * @return {Object} rect - The modifier rect object + */ +function includeScroll(rect, element) { + var subtract = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false; + + var scrollTop = getScroll(element, 'top'); + var scrollLeft = getScroll(element, 'left'); + var modifier = subtract ? -1 : 1; + rect.top += scrollTop * modifier; + rect.bottom += scrollTop * modifier; + rect.left += scrollLeft * modifier; + rect.right += scrollLeft * modifier; + return rect; +} + +/* + * Helper to detect borders of a given element + * @method + * @memberof Popper.Utils + * @param {CSSStyleDeclaration} styles + * Result of `getStyleComputedProperty` on the given element + * @param {String} axis - `x` or `y` + * @return {number} borders - The borders size of the given axis + */ + +function getBordersSize(styles, axis) { + var sideA = axis === 'x' ? 'Left' : 'Top'; + var sideB = sideA === 'Left' ? 'Right' : 'Bottom'; + + return parseFloat(styles['border' + sideA + 'Width'], 10) + parseFloat(styles['border' + sideB + 'Width'], 10); +} + +/** + * Tells if you are running Internet Explorer 10 + * @method + * @memberof Popper.Utils + * @returns {Boolean} isIE10 + */ +var isIE10 = undefined; + +var isIE10$1 = function () { + if (isIE10 === undefined) { + isIE10 = navigator.appVersion.indexOf('MSIE 10') !== -1; + } + return isIE10; +}; + +function getSize(axis, body, html, computedStyle) { + return Math.max(body['offset' + axis], body['scroll' + axis], html['client' + axis], html['offset' + axis], html['scroll' + axis], isIE10$1() ? html['offset' + axis] + computedStyle['margin' + (axis === 'Height' ? 'Top' : 'Left')] + computedStyle['margin' + (axis === 'Height' ? 'Bottom' : 'Right')] : 0); +} + +function getWindowSizes() { + var body = document.body; + var html = document.documentElement; + var computedStyle = isIE10$1() && getComputedStyle(html); + + return { + height: getSize('Height', body, html, computedStyle), + width: getSize('Width', body, html, computedStyle) + }; +} + +var classCallCheck = function (instance, Constructor) { + if (!(instance instanceof Constructor)) { + throw new TypeError("Cannot call a class as a function"); + } +}; + +var createClass = function () { + function defineProperties(target, props) { + for (var i = 0; i < props.length; i++) { + var descriptor = props[i]; + descriptor.enumerable = descriptor.enumerable || false; + descriptor.configurable = true; + if ("value" in descriptor) descriptor.writable = true; + Object.defineProperty(target, descriptor.key, descriptor); + } + } + + return function (Constructor, protoProps, staticProps) { + if (protoProps) defineProperties(Constructor.prototype, protoProps); + if (staticProps) defineProperties(Constructor, staticProps); + return Constructor; + }; +}(); + + + + + +var defineProperty = function (obj, key, value) { + if (key in obj) { + Object.defineProperty(obj, key, { + value: value, + enumerable: true, + configurable: true, + writable: true + }); + } else { + obj[key] = value; + } + + return obj; +}; + +var _extends = Object.assign || function (target) { + for (var i = 1; i < arguments.length; i++) { + var source = arguments[i]; + + for (var key in source) { + if (Object.prototype.hasOwnProperty.call(source, key)) { + target[key] = source[key]; + } + } + } + + return target; +}; + +/** + * Given element offsets, generate an output similar to getBoundingClientRect + * @method + * @memberof Popper.Utils + * @argument {Object} offsets + * @returns {Object} ClientRect like output + */ +function getClientRect(offsets) { + return _extends({}, offsets, { + right: offsets.left + offsets.width, + bottom: offsets.top + offsets.height + }); +} + +/** + * Get bounding client rect of given element + * @method + * @memberof Popper.Utils + * @param {HTMLElement} element + * @return {Object} client rect + */ +function getBoundingClientRect(element) { + var rect = {}; + + // IE10 10 FIX: Please, don't ask, the element isn't + // considered in DOM in some circumstances... + // This isn't reproducible in IE10 compatibility mode of IE11 + if (isIE10$1()) { + try { + rect = element.getBoundingClientRect(); + var scrollTop = getScroll(element, 'top'); + var scrollLeft = getScroll(element, 'left'); + rect.top += scrollTop; + rect.left += scrollLeft; + rect.bottom += scrollTop; + rect.right += scrollLeft; + } catch (err) {} + } else { + rect = element.getBoundingClientRect(); + } + + var result = { + left: rect.left, + top: rect.top, + width: rect.right - rect.left, + height: rect.bottom - rect.top + }; + + // subtract scrollbar size from sizes + var sizes = element.nodeName === 'HTML' ? getWindowSizes() : {}; + var width = sizes.width || element.clientWidth || result.right - result.left; + var height = sizes.height || element.clientHeight || result.bottom - result.top; + + var horizScrollbar = element.offsetWidth - width; + var vertScrollbar = element.offsetHeight - height; + + // if an hypothetical scrollbar is detected, we must be sure it's not a `border` + // we make this check conditional for performance reasons + if (horizScrollbar || vertScrollbar) { + var styles = getStyleComputedProperty(element); + horizScrollbar -= getBordersSize(styles, 'x'); + vertScrollbar -= getBordersSize(styles, 'y'); + + result.width -= horizScrollbar; + result.height -= vertScrollbar; + } + + return getClientRect(result); +} + +function getOffsetRectRelativeToArbitraryNode(children, parent) { + var isIE10 = isIE10$1(); + var isHTML = parent.nodeName === 'HTML'; + var childrenRect = getBoundingClientRect(children); + var parentRect = getBoundingClientRect(parent); + var scrollParent = getScrollParent(children); + + var styles = getStyleComputedProperty(parent); + var borderTopWidth = parseFloat(styles.borderTopWidth, 10); + var borderLeftWidth = parseFloat(styles.borderLeftWidth, 10); + + var offsets = getClientRect({ + top: childrenRect.top - parentRect.top - borderTopWidth, + left: childrenRect.left - parentRect.left - borderLeftWidth, + width: childrenRect.width, + height: childrenRect.height + }); + offsets.marginTop = 0; + offsets.marginLeft = 0; + + // Subtract margins of documentElement in case it's being used as parent + // we do this only on HTML because it's the only element that behaves + // differently when margins are applied to it. The margins are included in + // the box of the documentElement, in the other cases not. + if (!isIE10 && isHTML) { + var marginTop = parseFloat(styles.marginTop, 10); + var marginLeft = parseFloat(styles.marginLeft, 10); + + offsets.top -= borderTopWidth - marginTop; + offsets.bottom -= borderTopWidth - marginTop; + offsets.left -= borderLeftWidth - marginLeft; + offsets.right -= borderLeftWidth - marginLeft; + + // Attach marginTop and marginLeft because in some circumstances we may need them + offsets.marginTop = marginTop; + offsets.marginLeft = marginLeft; + } + + if (isIE10 ? parent.contains(scrollParent) : parent === scrollParent && scrollParent.nodeName !== 'BODY') { + offsets = includeScroll(offsets, parent); + } + + return offsets; +} + +function getViewportOffsetRectRelativeToArtbitraryNode(element) { + var html = element.ownerDocument.documentElement; + var relativeOffset = getOffsetRectRelativeToArbitraryNode(element, html); + var width = Math.max(html.clientWidth, window.innerWidth || 0); + var height = Math.max(html.clientHeight, window.innerHeight || 0); + + var scrollTop = getScroll(html); + var scrollLeft = getScroll(html, 'left'); + + var offset = { + top: scrollTop - relativeOffset.top + relativeOffset.marginTop, + left: scrollLeft - relativeOffset.left + relativeOffset.marginLeft, + width: width, + height: height + }; + + return getClientRect(offset); +} + +/** + * Check if the given element is fixed or is inside a fixed parent + * @method + * @memberof Popper.Utils + * @argument {Element} element + * @argument {Element} customContainer + * @returns {Boolean} answer to "isFixed?" + */ +function isFixed(element) { + var nodeName = element.nodeName; + if (nodeName === 'BODY' || nodeName === 'HTML') { + return false; + } + if (getStyleComputedProperty(element, 'position') === 'fixed') { + return true; + } + return isFixed(getParentNode(element)); +} + +/** + * Computed the boundaries limits and return them + * @method + * @memberof Popper.Utils + * @param {HTMLElement} popper + * @param {HTMLElement} reference + * @param {number} padding + * @param {HTMLElement} boundariesElement - Element used to define the boundaries + * @returns {Object} Coordinates of the boundaries + */ +function getBoundaries(popper, reference, padding, boundariesElement) { + // NOTE: 1 DOM access here + var boundaries = { top: 0, left: 0 }; + var offsetParent = findCommonOffsetParent(popper, reference); + + // Handle viewport case + if (boundariesElement === 'viewport') { + boundaries = getViewportOffsetRectRelativeToArtbitraryNode(offsetParent); + } else { + // Handle other cases based on DOM element used as boundaries + var boundariesNode = void 0; + if (boundariesElement === 'scrollParent') { + boundariesNode = getScrollParent(getParentNode(reference)); + if (boundariesNode.nodeName === 'BODY') { + boundariesNode = popper.ownerDocument.documentElement; + } + } else if (boundariesElement === 'window') { + boundariesNode = popper.ownerDocument.documentElement; + } else { + boundariesNode = boundariesElement; + } + + var offsets = getOffsetRectRelativeToArbitraryNode(boundariesNode, offsetParent); + + // In case of HTML, we need a different computation + if (boundariesNode.nodeName === 'HTML' && !isFixed(offsetParent)) { + var _getWindowSizes = getWindowSizes(), + height = _getWindowSizes.height, + width = _getWindowSizes.width; + + boundaries.top += offsets.top - offsets.marginTop; + boundaries.bottom = height + offsets.top; + boundaries.left += offsets.left - offsets.marginLeft; + boundaries.right = width + offsets.left; + } else { + // for all the other DOM elements, this one is good + boundaries = offsets; + } + } + + // Add paddings + boundaries.left += padding; + boundaries.top += padding; + boundaries.right -= padding; + boundaries.bottom -= padding; + + return boundaries; +} + +function getArea(_ref) { + var width = _ref.width, + height = _ref.height; + + return width * height; +} + +/** + * Utility used to transform the `auto` placement to the placement with more + * available space. + * @method + * @memberof Popper.Utils + * @argument {Object} data - The data object generated by update method + * @argument {Object} options - Modifiers configuration and options + * @returns {Object} The data object, properly modified + */ +function computeAutoPlacement(placement, refRect, popper, reference, boundariesElement) { + var padding = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : 0; + + if (placement.indexOf('auto') === -1) { + return placement; + } + + var boundaries = getBoundaries(popper, reference, padding, boundariesElement); + + var rects = { + top: { + width: boundaries.width, + height: refRect.top - boundaries.top + }, + right: { + width: boundaries.right - refRect.right, + height: boundaries.height + }, + bottom: { + width: boundaries.width, + height: boundaries.bottom - refRect.bottom + }, + left: { + width: refRect.left - boundaries.left, + height: boundaries.height + } + }; + + var sortedAreas = Object.keys(rects).map(function (key) { + return _extends({ + key: key + }, rects[key], { + area: getArea(rects[key]) + }); + }).sort(function (a, b) { + return b.area - a.area; + }); + + var filteredAreas = sortedAreas.filter(function (_ref2) { + var width = _ref2.width, + height = _ref2.height; + return width >= popper.clientWidth && height >= popper.clientHeight; + }); + + var computedPlacement = filteredAreas.length > 0 ? filteredAreas[0].key : sortedAreas[0].key; + + var variation = placement.split('-')[1]; + + return computedPlacement + (variation ? '-' + variation : ''); +} + +/** + * Get offsets to the reference element + * @method + * @memberof Popper.Utils + * @param {Object} state + * @param {Element} popper - the popper element + * @param {Element} reference - the reference element (the popper will be relative to this) + * @returns {Object} An object containing the offsets which will be applied to the popper + */ +function getReferenceOffsets(state, popper, reference) { + var commonOffsetParent = findCommonOffsetParent(popper, reference); + return getOffsetRectRelativeToArbitraryNode(reference, commonOffsetParent); +} + +/** + * Get the outer sizes of the given element (offset size + margins) + * @method + * @memberof Popper.Utils + * @argument {Element} element + * @returns {Object} object containing width and height properties + */ +function getOuterSizes(element) { + var styles = getComputedStyle(element); + var x = parseFloat(styles.marginTop) + parseFloat(styles.marginBottom); + var y = parseFloat(styles.marginLeft) + parseFloat(styles.marginRight); + var result = { + width: element.offsetWidth + y, + height: element.offsetHeight + x + }; + return result; +} + +/** + * Get the opposite placement of the given one + * @method + * @memberof Popper.Utils + * @argument {String} placement + * @returns {String} flipped placement + */ +function getOppositePlacement(placement) { + var hash = { left: 'right', right: 'left', bottom: 'top', top: 'bottom' }; + return placement.replace(/left|right|bottom|top/g, function (matched) { + return hash[matched]; + }); +} + +/** + * Get offsets to the popper + * @method + * @memberof Popper.Utils + * @param {Object} position - CSS position the Popper will get applied + * @param {HTMLElement} popper - the popper element + * @param {Object} referenceOffsets - the reference offsets (the popper will be relative to this) + * @param {String} placement - one of the valid placement options + * @returns {Object} popperOffsets - An object containing the offsets which will be applied to the popper + */ +function getPopperOffsets(popper, referenceOffsets, placement) { + placement = placement.split('-')[0]; + + // Get popper node sizes + var popperRect = getOuterSizes(popper); + + // Add position, width and height to our offsets object + var popperOffsets = { + width: popperRect.width, + height: popperRect.height + }; + + // depending by the popper placement we have to compute its offsets slightly differently + var isHoriz = ['right', 'left'].indexOf(placement) !== -1; + var mainSide = isHoriz ? 'top' : 'left'; + var secondarySide = isHoriz ? 'left' : 'top'; + var measurement = isHoriz ? 'height' : 'width'; + var secondaryMeasurement = !isHoriz ? 'height' : 'width'; + + popperOffsets[mainSide] = referenceOffsets[mainSide] + referenceOffsets[measurement] / 2 - popperRect[measurement] / 2; + if (placement === secondarySide) { + popperOffsets[secondarySide] = referenceOffsets[secondarySide] - popperRect[secondaryMeasurement]; + } else { + popperOffsets[secondarySide] = referenceOffsets[getOppositePlacement(secondarySide)]; + } + + return popperOffsets; +} + +/** + * Mimics the `find` method of Array + * @method + * @memberof Popper.Utils + * @argument {Array} arr + * @argument prop + * @argument value + * @returns index or -1 + */ +function find(arr, check) { + // use native find if supported + if (Array.prototype.find) { + return arr.find(check); + } + + // use `filter` to obtain the same behavior of `find` + return arr.filter(check)[0]; +} + +/** + * Return the index of the matching object + * @method + * @memberof Popper.Utils + * @argument {Array} arr + * @argument prop + * @argument value + * @returns index or -1 + */ +function findIndex(arr, prop, value) { + // use native findIndex if supported + if (Array.prototype.findIndex) { + return arr.findIndex(function (cur) { + return cur[prop] === value; + }); + } + + // use `find` + `indexOf` if `findIndex` isn't supported + var match = find(arr, function (obj) { + return obj[prop] === value; + }); + return arr.indexOf(match); +} + +/** + * Loop trough the list of modifiers and run them in order, + * each of them will then edit the data object. + * @method + * @memberof Popper.Utils + * @param {dataObject} data + * @param {Array} modifiers + * @param {String} ends - Optional modifier name used as stopper + * @returns {dataObject} + */ +function runModifiers(modifiers, data, ends) { + var modifiersToRun = ends === undefined ? modifiers : modifiers.slice(0, findIndex(modifiers, 'name', ends)); + + modifiersToRun.forEach(function (modifier) { + if (modifier['function']) { + // eslint-disable-line dot-notation + console.warn('`modifier.function` is deprecated, use `modifier.fn`!'); + } + var fn = modifier['function'] || modifier.fn; // eslint-disable-line dot-notation + if (modifier.enabled && isFunction(fn)) { + // Add properties to offsets to make them a complete clientRect object + // we do this before each modifier to make sure the previous one doesn't + // mess with these values + data.offsets.popper = getClientRect(data.offsets.popper); + data.offsets.reference = getClientRect(data.offsets.reference); + + data = fn(data, modifier); + } + }); + + return data; +} + +/** + * Updates the position of the popper, computing the new offsets and applying + * the new style.<br /> + * Prefer `scheduleUpdate` over `update` because of performance reasons. + * @method + * @memberof Popper + */ +function update() { + // if popper is destroyed, don't perform any further update + if (this.state.isDestroyed) { + return; + } + + var data = { + instance: this, + styles: {}, + arrowStyles: {}, + attributes: {}, + flipped: false, + offsets: {} + }; + + // compute reference element offsets + data.offsets.reference = getReferenceOffsets(this.state, this.popper, this.reference); + + // compute auto placement, store placement inside the data object, + // modifiers will be able to edit `placement` if needed + // and refer to originalPlacement to know the original value + data.placement = computeAutoPlacement(this.options.placement, data.offsets.reference, this.popper, this.reference, this.options.modifiers.flip.boundariesElement, this.options.modifiers.flip.padding); + + // store the computed placement inside `originalPlacement` + data.originalPlacement = data.placement; + + // compute the popper offsets + data.offsets.popper = getPopperOffsets(this.popper, data.offsets.reference, data.placement); + data.offsets.popper.position = 'absolute'; + + // run the modifiers + data = runModifiers(this.modifiers, data); + + // the first `update` will call `onCreate` callback + // the other ones will call `onUpdate` callback + if (!this.state.isCreated) { + this.state.isCreated = true; + this.options.onCreate(data); + } else { + this.options.onUpdate(data); + } +} + +/** + * Helper used to know if the given modifier is enabled. + * @method + * @memberof Popper.Utils + * @returns {Boolean} + */ +function isModifierEnabled(modifiers, modifierName) { + return modifiers.some(function (_ref) { + var name = _ref.name, + enabled = _ref.enabled; + return enabled && name === modifierName; + }); +} + +/** + * Get the prefixed supported property name + * @method + * @memberof Popper.Utils + * @argument {String} property (camelCase) + * @returns {String} prefixed property (camelCase or PascalCase, depending on the vendor prefix) + */ +function getSupportedPropertyName(property) { + var prefixes = [false, 'ms', 'Webkit', 'Moz', 'O']; + var upperProp = property.charAt(0).toUpperCase() + property.slice(1); + + for (var i = 0; i < prefixes.length - 1; i++) { + var prefix = prefixes[i]; + var toCheck = prefix ? '' + prefix + upperProp : property; + if (typeof document.body.style[toCheck] !== 'undefined') { + return toCheck; + } + } + return null; +} + +/** + * Destroy the popper + * @method + * @memberof Popper + */ +function destroy() { + this.state.isDestroyed = true; + + // touch DOM only if `applyStyle` modifier is enabled + if (isModifierEnabled(this.modifiers, 'applyStyle')) { + this.popper.removeAttribute('x-placement'); + this.popper.style.left = ''; + this.popper.style.position = ''; + this.popper.style.top = ''; + this.popper.style[getSupportedPropertyName('transform')] = ''; + } + + this.disableEventListeners(); + + // remove the popper if user explicity asked for the deletion on destroy + // do not use `remove` because IE11 doesn't support it + if (this.options.removeOnDestroy) { + this.popper.parentNode.removeChild(this.popper); + } + return this; +} + +/** + * Get the window associated with the element + * @argument {Element} element + * @returns {Window} + */ +function getWindow(element) { + var ownerDocument = element.ownerDocument; + return ownerDocument ? ownerDocument.defaultView : window; +} + +function attachToScrollParents(scrollParent, event, callback, scrollParents) { + var isBody = scrollParent.nodeName === 'BODY'; + var target = isBody ? scrollParent.ownerDocument.defaultView : scrollParent; + target.addEventListener(event, callback, { passive: true }); + + if (!isBody) { + attachToScrollParents(getScrollParent(target.parentNode), event, callback, scrollParents); + } + scrollParents.push(target); +} + +/** + * Setup needed event listeners used to update the popper position + * @method + * @memberof Popper.Utils + * @private + */ +function setupEventListeners(reference, options, state, updateBound) { + // Resize event listener on window + state.updateBound = updateBound; + getWindow(reference).addEventListener('resize', state.updateBound, { passive: true }); + + // Scroll event listener on scroll parents + var scrollElement = getScrollParent(reference); + attachToScrollParents(scrollElement, 'scroll', state.updateBound, state.scrollParents); + state.scrollElement = scrollElement; + state.eventsEnabled = true; + + return state; +} + +/** + * It will add resize/scroll events and start recalculating + * position of the popper element when they are triggered. + * @method + * @memberof Popper + */ +function enableEventListeners() { + if (!this.state.eventsEnabled) { + this.state = setupEventListeners(this.reference, this.options, this.state, this.scheduleUpdate); + } +} + +/** + * Remove event listeners used to update the popper position + * @method + * @memberof Popper.Utils + * @private + */ +function removeEventListeners(reference, state) { + // Remove resize event listener on window + getWindow(reference).removeEventListener('resize', state.updateBound); + + // Remove scroll event listener on scroll parents + state.scrollParents.forEach(function (target) { + target.removeEventListener('scroll', state.updateBound); + }); + + // Reset state + state.updateBound = null; + state.scrollParents = []; + state.scrollElement = null; + state.eventsEnabled = false; + return state; +} + +/** + * It will remove resize/scroll events and won't recalculate popper position + * when they are triggered. It also won't trigger onUpdate callback anymore, + * unless you call `update` method manually. + * @method + * @memberof Popper + */ +function disableEventListeners() { + if (this.state.eventsEnabled) { + cancelAnimationFrame(this.scheduleUpdate); + this.state = removeEventListeners(this.reference, this.state); + } +} + +/** + * Tells if a given input is a number + * @method + * @memberof Popper.Utils + * @param {*} input to check + * @return {Boolean} + */ +function isNumeric(n) { + return n !== '' && !isNaN(parseFloat(n)) && isFinite(n); +} + +/** + * Set the style to the given popper + * @method + * @memberof Popper.Utils + * @argument {Element} element - Element to apply the style to + * @argument {Object} styles + * Object with a list of properties and values which will be applied to the element + */ +function setStyles(element, styles) { + Object.keys(styles).forEach(function (prop) { + var unit = ''; + // add unit if the value is numeric and is one of the following + if (['width', 'height', 'top', 'right', 'bottom', 'left'].indexOf(prop) !== -1 && isNumeric(styles[prop])) { + unit = 'px'; + } + element.style[prop] = styles[prop] + unit; + }); +} + +/** + * Set the attributes to the given popper + * @method + * @memberof Popper.Utils + * @argument {Element} element - Element to apply the attributes to + * @argument {Object} styles + * Object with a list of properties and values which will be applied to the element + */ +function setAttributes(element, attributes) { + Object.keys(attributes).forEach(function (prop) { + var value = attributes[prop]; + if (value !== false) { + element.setAttribute(prop, attributes[prop]); + } else { + element.removeAttribute(prop); + } + }); +} + +/** + * @function + * @memberof Modifiers + * @argument {Object} data - The data object generated by `update` method + * @argument {Object} data.styles - List of style properties - values to apply to popper element + * @argument {Object} data.attributes - List of attribute properties - values to apply to popper element + * @argument {Object} options - Modifiers configuration and options + * @returns {Object} The same data object + */ +function applyStyle(data) { + // any property present in `data.styles` will be applied to the popper, + // in this way we can make the 3rd party modifiers add custom styles to it + // Be aware, modifiers could override the properties defined in the previous + // lines of this modifier! + setStyles(data.instance.popper, data.styles); + + // any property present in `data.attributes` will be applied to the popper, + // they will be set as HTML attributes of the element + setAttributes(data.instance.popper, data.attributes); + + // if arrowElement is defined and arrowStyles has some properties + if (data.arrowElement && Object.keys(data.arrowStyles).length) { + setStyles(data.arrowElement, data.arrowStyles); + } + + return data; +} + +/** + * Set the x-placement attribute before everything else because it could be used + * to add margins to the popper margins needs to be calculated to get the + * correct popper offsets. + * @method + * @memberof Popper.modifiers + * @param {HTMLElement} reference - The reference element used to position the popper + * @param {HTMLElement} popper - The HTML element used as popper. + * @param {Object} options - Popper.js options + */ +function applyStyleOnLoad(reference, popper, options, modifierOptions, state) { + // compute reference element offsets + var referenceOffsets = getReferenceOffsets(state, popper, reference); + + // compute auto placement, store placement inside the data object, + // modifiers will be able to edit `placement` if needed + // and refer to originalPlacement to know the original value + var placement = computeAutoPlacement(options.placement, referenceOffsets, popper, reference, options.modifiers.flip.boundariesElement, options.modifiers.flip.padding); + + popper.setAttribute('x-placement', placement); + + // Apply `position` to popper before anything else because + // without the position applied we can't guarantee correct computations + setStyles(popper, { position: 'absolute' }); + + return options; +} + +/** + * @function + * @memberof Modifiers + * @argument {Object} data - The data object generated by `update` method + * @argument {Object} options - Modifiers configuration and options + * @returns {Object} The data object, properly modified + */ +function computeStyle(data, options) { + var x = options.x, + y = options.y; + var popper = data.offsets.popper; + + // Remove this legacy support in Popper.js v2 + + var legacyGpuAccelerationOption = find(data.instance.modifiers, function (modifier) { + return modifier.name === 'applyStyle'; + }).gpuAcceleration; + if (legacyGpuAccelerationOption !== undefined) { + console.warn('WARNING: `gpuAcceleration` option moved to `computeStyle` modifier and will not be supported in future versions of Popper.js!'); + } + var gpuAcceleration = legacyGpuAccelerationOption !== undefined ? legacyGpuAccelerationOption : options.gpuAcceleration; + + var offsetParent = getOffsetParent(data.instance.popper); + var offsetParentRect = getBoundingClientRect(offsetParent); + + // Styles + var styles = { + position: popper.position + }; + + // floor sides to avoid blurry text + var offsets = { + left: Math.floor(popper.left), + top: Math.floor(popper.top), + bottom: Math.floor(popper.bottom), + right: Math.floor(popper.right) + }; + + var sideA = x === 'bottom' ? 'top' : 'bottom'; + var sideB = y === 'right' ? 'left' : 'right'; + + // if gpuAcceleration is set to `true` and transform is supported, + // we use `translate3d` to apply the position to the popper we + // automatically use the supported prefixed version if needed + var prefixedProperty = getSupportedPropertyName('transform'); + + // now, let's make a step back and look at this code closely (wtf?) + // If the content of the popper grows once it's been positioned, it + // may happen that the popper gets misplaced because of the new content + // overflowing its reference element + // To avoid this problem, we provide two options (x and y), which allow + // the consumer to define the offset origin. + // If we position a popper on top of a reference element, we can set + // `x` to `top` to make the popper grow towards its top instead of + // its bottom. + var left = void 0, + top = void 0; + if (sideA === 'bottom') { + top = -offsetParentRect.height + offsets.bottom; + } else { + top = offsets.top; + } + if (sideB === 'right') { + left = -offsetParentRect.width + offsets.right; + } else { + left = offsets.left; + } + if (gpuAcceleration && prefixedProperty) { + styles[prefixedProperty] = 'translate3d(' + left + 'px, ' + top + 'px, 0)'; + styles[sideA] = 0; + styles[sideB] = 0; + styles.willChange = 'transform'; + } else { + // othwerise, we use the standard `top`, `left`, `bottom` and `right` properties + var invertTop = sideA === 'bottom' ? -1 : 1; + var invertLeft = sideB === 'right' ? -1 : 1; + styles[sideA] = top * invertTop; + styles[sideB] = left * invertLeft; + styles.willChange = sideA + ', ' + sideB; + } + + // Attributes + var attributes = { + 'x-placement': data.placement + }; + + // Update `data` attributes, styles and arrowStyles + data.attributes = _extends({}, attributes, data.attributes); + data.styles = _extends({}, styles, data.styles); + data.arrowStyles = _extends({}, data.offsets.arrow, data.arrowStyles); + + return data; +} + +/** + * Helper used to know if the given modifier depends from another one.<br /> + * It checks if the needed modifier is listed and enabled. + * @method + * @memberof Popper.Utils + * @param {Array} modifiers - list of modifiers + * @param {String} requestingName - name of requesting modifier + * @param {String} requestedName - name of requested modifier + * @returns {Boolean} + */ +function isModifierRequired(modifiers, requestingName, requestedName) { + var requesting = find(modifiers, function (_ref) { + var name = _ref.name; + return name === requestingName; + }); + + var isRequired = !!requesting && modifiers.some(function (modifier) { + return modifier.name === requestedName && modifier.enabled && modifier.order < requesting.order; + }); + + if (!isRequired) { + var _requesting = '`' + requestingName + '`'; + var requested = '`' + requestedName + '`'; + console.warn(requested + ' modifier is required by ' + _requesting + ' modifier in order to work, be sure to include it before ' + _requesting + '!'); + } + return isRequired; +} + +/** + * @function + * @memberof Modifiers + * @argument {Object} data - The data object generated by update method + * @argument {Object} options - Modifiers configuration and options + * @returns {Object} The data object, properly modified + */ +function arrow(data, options) { + var _data$offsets$arrow; + + // arrow depends on keepTogether in order to work + if (!isModifierRequired(data.instance.modifiers, 'arrow', 'keepTogether')) { + return data; + } + + var arrowElement = options.element; + + // if arrowElement is a string, suppose it's a CSS selector + if (typeof arrowElement === 'string') { + arrowElement = data.instance.popper.querySelector(arrowElement); + + // if arrowElement is not found, don't run the modifier + if (!arrowElement) { + return data; + } + } else { + // if the arrowElement isn't a query selector we must check that the + // provided DOM node is child of its popper node + if (!data.instance.popper.contains(arrowElement)) { + console.warn('WARNING: `arrow.element` must be child of its popper element!'); + return data; + } + } + + var placement = data.placement.split('-')[0]; + var _data$offsets = data.offsets, + popper = _data$offsets.popper, + reference = _data$offsets.reference; + + var isVertical = ['left', 'right'].indexOf(placement) !== -1; + + var len = isVertical ? 'height' : 'width'; + var sideCapitalized = isVertical ? 'Top' : 'Left'; + var side = sideCapitalized.toLowerCase(); + var altSide = isVertical ? 'left' : 'top'; + var opSide = isVertical ? 'bottom' : 'right'; + var arrowElementSize = getOuterSizes(arrowElement)[len]; + + // + // extends keepTogether behavior making sure the popper and its + // reference have enough pixels in conjuction + // + + // top/left side + if (reference[opSide] - arrowElementSize < popper[side]) { + data.offsets.popper[side] -= popper[side] - (reference[opSide] - arrowElementSize); + } + // bottom/right side + if (reference[side] + arrowElementSize > popper[opSide]) { + data.offsets.popper[side] += reference[side] + arrowElementSize - popper[opSide]; + } + data.offsets.popper = getClientRect(data.offsets.popper); + + // compute center of the popper + var center = reference[side] + reference[len] / 2 - arrowElementSize / 2; + + // Compute the sideValue using the updated popper offsets + // take popper margin in account because we don't have this info available + var css = getStyleComputedProperty(data.instance.popper); + var popperMarginSide = parseFloat(css['margin' + sideCapitalized], 10); + var popperBorderSide = parseFloat(css['border' + sideCapitalized + 'Width'], 10); + var sideValue = center - data.offsets.popper[side] - popperMarginSide - popperBorderSide; + + // prevent arrowElement from being placed not contiguously to its popper + sideValue = Math.max(Math.min(popper[len] - arrowElementSize, sideValue), 0); + + data.arrowElement = arrowElement; + data.offsets.arrow = (_data$offsets$arrow = {}, defineProperty(_data$offsets$arrow, side, Math.round(sideValue)), defineProperty(_data$offsets$arrow, altSide, ''), _data$offsets$arrow); + + return data; +} + +/** + * Get the opposite placement variation of the given one + * @method + * @memberof Popper.Utils + * @argument {String} placement variation + * @returns {String} flipped placement variation + */ +function getOppositeVariation(variation) { + if (variation === 'end') { + return 'start'; + } else if (variation === 'start') { + return 'end'; + } + return variation; +} + +/** + * List of accepted placements to use as values of the `placement` option.<br /> + * Valid placements are: + * - `auto` + * - `top` + * - `right` + * - `bottom` + * - `left` + * + * Each placement can have a variation from this list: + * - `-start` + * - `-end` + * + * Variations are interpreted easily if you think of them as the left to right + * written languages. Horizontally (`top` and `bottom`), `start` is left and `end` + * is right.<br /> + * Vertically (`left` and `right`), `start` is top and `end` is bottom. + * + * Some valid examples are: + * - `top-end` (on top of reference, right aligned) + * - `right-start` (on right of reference, top aligned) + * - `bottom` (on bottom, centered) + * - `auto-right` (on the side with more space available, alignment depends by placement) + * + * @static + * @type {Array} + * @enum {String} + * @readonly + * @method placements + * @memberof Popper + */ +var placements = ['auto-start', 'auto', 'auto-end', 'top-start', 'top', 'top-end', 'right-start', 'right', 'right-end', 'bottom-end', 'bottom', 'bottom-start', 'left-end', 'left', 'left-start']; + +// Get rid of `auto` `auto-start` and `auto-end` +var validPlacements = placements.slice(3); + +/** + * Given an initial placement, returns all the subsequent placements + * clockwise (or counter-clockwise). + * + * @method + * @memberof Popper.Utils + * @argument {String} placement - A valid placement (it accepts variations) + * @argument {Boolean} counter - Set to true to walk the placements counterclockwise + * @returns {Array} placements including their variations + */ +function clockwise(placement) { + var counter = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false; + + var index = validPlacements.indexOf(placement); + var arr = validPlacements.slice(index + 1).concat(validPlacements.slice(0, index)); + return counter ? arr.reverse() : arr; +} + +var BEHAVIORS = { + FLIP: 'flip', + CLOCKWISE: 'clockwise', + COUNTERCLOCKWISE: 'counterclockwise' +}; + +/** + * @function + * @memberof Modifiers + * @argument {Object} data - The data object generated by update method + * @argument {Object} options - Modifiers configuration and options + * @returns {Object} The data object, properly modified + */ +function flip(data, options) { + // if `inner` modifier is enabled, we can't use the `flip` modifier + if (isModifierEnabled(data.instance.modifiers, 'inner')) { + return data; + } + + if (data.flipped && data.placement === data.originalPlacement) { + // seems like flip is trying to loop, probably there's not enough space on any of the flippable sides + return data; + } + + var boundaries = getBoundaries(data.instance.popper, data.instance.reference, options.padding, options.boundariesElement); + + var placement = data.placement.split('-')[0]; + var placementOpposite = getOppositePlacement(placement); + var variation = data.placement.split('-')[1] || ''; + + var flipOrder = []; + + switch (options.behavior) { + case BEHAVIORS.FLIP: + flipOrder = [placement, placementOpposite]; + break; + case BEHAVIORS.CLOCKWISE: + flipOrder = clockwise(placement); + break; + case BEHAVIORS.COUNTERCLOCKWISE: + flipOrder = clockwise(placement, true); + break; + default: + flipOrder = options.behavior; + } + + flipOrder.forEach(function (step, index) { + if (placement !== step || flipOrder.length === index + 1) { + return data; + } + + placement = data.placement.split('-')[0]; + placementOpposite = getOppositePlacement(placement); + + var popperOffsets = data.offsets.popper; + var refOffsets = data.offsets.reference; + + // using floor because the reference offsets may contain decimals we are not going to consider here + var floor = Math.floor; + var overlapsRef = placement === 'left' && floor(popperOffsets.right) > floor(refOffsets.left) || placement === 'right' && floor(popperOffsets.left) < floor(refOffsets.right) || placement === 'top' && floor(popperOffsets.bottom) > floor(refOffsets.top) || placement === 'bottom' && floor(popperOffsets.top) < floor(refOffsets.bottom); + + var overflowsLeft = floor(popperOffsets.left) < floor(boundaries.left); + var overflowsRight = floor(popperOffsets.right) > floor(boundaries.right); + var overflowsTop = floor(popperOffsets.top) < floor(boundaries.top); + var overflowsBottom = floor(popperOffsets.bottom) > floor(boundaries.bottom); + + var overflowsBoundaries = placement === 'left' && overflowsLeft || placement === 'right' && overflowsRight || placement === 'top' && overflowsTop || placement === 'bottom' && overflowsBottom; + + // flip the variation if required + var isVertical = ['top', 'bottom'].indexOf(placement) !== -1; + var flippedVariation = !!options.flipVariations && (isVertical && variation === 'start' && overflowsLeft || isVertical && variation === 'end' && overflowsRight || !isVertical && variation === 'start' && overflowsTop || !isVertical && variation === 'end' && overflowsBottom); + + if (overlapsRef || overflowsBoundaries || flippedVariation) { + // this boolean to detect any flip loop + data.flipped = true; + + if (overlapsRef || overflowsBoundaries) { + placement = flipOrder[index + 1]; + } + + if (flippedVariation) { + variation = getOppositeVariation(variation); + } + + data.placement = placement + (variation ? '-' + variation : ''); + + // this object contains `position`, we want to preserve it along with + // any additional property we may add in the future + data.offsets.popper = _extends({}, data.offsets.popper, getPopperOffsets(data.instance.popper, data.offsets.reference, data.placement)); + + data = runModifiers(data.instance.modifiers, data, 'flip'); + } + }); + return data; +} + +/** + * @function + * @memberof Modifiers + * @argument {Object} data - The data object generated by update method + * @argument {Object} options - Modifiers configuration and options + * @returns {Object} The data object, properly modified + */ +function keepTogether(data) { + var _data$offsets = data.offsets, + popper = _data$offsets.popper, + reference = _data$offsets.reference; + + var placement = data.placement.split('-')[0]; + var floor = Math.floor; + var isVertical = ['top', 'bottom'].indexOf(placement) !== -1; + var side = isVertical ? 'right' : 'bottom'; + var opSide = isVertical ? 'left' : 'top'; + var measurement = isVertical ? 'width' : 'height'; + + if (popper[side] < floor(reference[opSide])) { + data.offsets.popper[opSide] = floor(reference[opSide]) - popper[measurement]; + } + if (popper[opSide] > floor(reference[side])) { + data.offsets.popper[opSide] = floor(reference[side]); + } + + return data; +} + +/** + * Converts a string containing value + unit into a px value number + * @function + * @memberof {modifiers~offset} + * @private + * @argument {String} str - Value + unit string + * @argument {String} measurement - `height` or `width` + * @argument {Object} popperOffsets + * @argument {Object} referenceOffsets + * @returns {Number|String} + * Value in pixels, or original string if no values were extracted + */ +function toValue(str, measurement, popperOffsets, referenceOffsets) { + // separate value from unit + var split = str.match(/((?:\-|\+)?\d*\.?\d*)(.*)/); + var value = +split[1]; + var unit = split[2]; + + // If it's not a number it's an operator, I guess + if (!value) { + return str; + } + + if (unit.indexOf('%') === 0) { + var element = void 0; + switch (unit) { + case '%p': + element = popperOffsets; + break; + case '%': + case '%r': + default: + element = referenceOffsets; + } + + var rect = getClientRect(element); + return rect[measurement] / 100 * value; + } else if (unit === 'vh' || unit === 'vw') { + // if is a vh or vw, we calculate the size based on the viewport + var size = void 0; + if (unit === 'vh') { + size = Math.max(document.documentElement.clientHeight, window.innerHeight || 0); + } else { + size = Math.max(document.documentElement.clientWidth, window.innerWidth || 0); + } + return size / 100 * value; + } else { + // if is an explicit pixel unit, we get rid of the unit and keep the value + // if is an implicit unit, it's px, and we return just the value + return value; + } +} + +/** + * Parse an `offset` string to extrapolate `x` and `y` numeric offsets. + * @function + * @memberof {modifiers~offset} + * @private + * @argument {String} offset + * @argument {Object} popperOffsets + * @argument {Object} referenceOffsets + * @argument {String} basePlacement + * @returns {Array} a two cells array with x and y offsets in numbers + */ +function parseOffset(offset, popperOffsets, referenceOffsets, basePlacement) { + var offsets = [0, 0]; + + // Use height if placement is left or right and index is 0 otherwise use width + // in this way the first offset will use an axis and the second one + // will use the other one + var useHeight = ['right', 'left'].indexOf(basePlacement) !== -1; + + // Split the offset string to obtain a list of values and operands + // The regex addresses values with the plus or minus sign in front (+10, -20, etc) + var fragments = offset.split(/(\+|\-)/).map(function (frag) { + return frag.trim(); + }); + + // Detect if the offset string contains a pair of values or a single one + // they could be separated by comma or space + var divider = fragments.indexOf(find(fragments, function (frag) { + return frag.search(/,|\s/) !== -1; + })); + + if (fragments[divider] && fragments[divider].indexOf(',') === -1) { + console.warn('Offsets separated by white space(s) are deprecated, use a comma (,) instead.'); + } + + // If divider is found, we divide the list of values and operands to divide + // them by ofset X and Y. + var splitRegex = /\s*,\s*|\s+/; + var ops = divider !== -1 ? [fragments.slice(0, divider).concat([fragments[divider].split(splitRegex)[0]]), [fragments[divider].split(splitRegex)[1]].concat(fragments.slice(divider + 1))] : [fragments]; + + // Convert the values with units to absolute pixels to allow our computations + ops = ops.map(function (op, index) { + // Most of the units rely on the orientation of the popper + var measurement = (index === 1 ? !useHeight : useHeight) ? 'height' : 'width'; + var mergeWithPrevious = false; + return op + // This aggregates any `+` or `-` sign that aren't considered operators + // e.g.: 10 + +5 => [10, +, +5] + .reduce(function (a, b) { + if (a[a.length - 1] === '' && ['+', '-'].indexOf(b) !== -1) { + a[a.length - 1] = b; + mergeWithPrevious = true; + return a; + } else if (mergeWithPrevious) { + a[a.length - 1] += b; + mergeWithPrevious = false; + return a; + } else { + return a.concat(b); + } + }, []) + // Here we convert the string values into number values (in px) + .map(function (str) { + return toValue(str, measurement, popperOffsets, referenceOffsets); + }); + }); + + // Loop trough the offsets arrays and execute the operations + ops.forEach(function (op, index) { + op.forEach(function (frag, index2) { + if (isNumeric(frag)) { + offsets[index] += frag * (op[index2 - 1] === '-' ? -1 : 1); + } + }); + }); + return offsets; +} + +/** + * @function + * @memberof Modifiers + * @argument {Object} data - The data object generated by update method + * @argument {Object} options - Modifiers configuration and options + * @argument {Number|String} options.offset=0 + * The offset value as described in the modifier description + * @returns {Object} The data object, properly modified + */ +function offset(data, _ref) { + var offset = _ref.offset; + var placement = data.placement, + _data$offsets = data.offsets, + popper = _data$offsets.popper, + reference = _data$offsets.reference; + + var basePlacement = placement.split('-')[0]; + + var offsets = void 0; + if (isNumeric(+offset)) { + offsets = [+offset, 0]; + } else { + offsets = parseOffset(offset, popper, reference, basePlacement); + } + + if (basePlacement === 'left') { + popper.top += offsets[0]; + popper.left -= offsets[1]; + } else if (basePlacement === 'right') { + popper.top += offsets[0]; + popper.left += offsets[1]; + } else if (basePlacement === 'top') { + popper.left += offsets[0]; + popper.top -= offsets[1]; + } else if (basePlacement === 'bottom') { + popper.left += offsets[0]; + popper.top += offsets[1]; + } + + data.popper = popper; + return data; +} + +/** + * @function + * @memberof Modifiers + * @argument {Object} data - The data object generated by `update` method + * @argument {Object} options - Modifiers configuration and options + * @returns {Object} The data object, properly modified + */ +function preventOverflow(data, options) { + var boundariesElement = options.boundariesElement || getOffsetParent(data.instance.popper); + + // If offsetParent is the reference element, we really want to + // go one step up and use the next offsetParent as reference to + // avoid to make this modifier completely useless and look like broken + if (data.instance.reference === boundariesElement) { + boundariesElement = getOffsetParent(boundariesElement); + } + + var boundaries = getBoundaries(data.instance.popper, data.instance.reference, options.padding, boundariesElement); + options.boundaries = boundaries; + + var order = options.priority; + var popper = data.offsets.popper; + + var check = { + primary: function primary(placement) { + var value = popper[placement]; + if (popper[placement] < boundaries[placement] && !options.escapeWithReference) { + value = Math.max(popper[placement], boundaries[placement]); + } + return defineProperty({}, placement, value); + }, + secondary: function secondary(placement) { + var mainSide = placement === 'right' ? 'left' : 'top'; + var value = popper[mainSide]; + if (popper[placement] > boundaries[placement] && !options.escapeWithReference) { + value = Math.min(popper[mainSide], boundaries[placement] - (placement === 'right' ? popper.width : popper.height)); + } + return defineProperty({}, mainSide, value); + } + }; + + order.forEach(function (placement) { + var side = ['left', 'top'].indexOf(placement) !== -1 ? 'primary' : 'secondary'; + popper = _extends({}, popper, check[side](placement)); + }); + + data.offsets.popper = popper; + + return data; +} + +/** + * @function + * @memberof Modifiers + * @argument {Object} data - The data object generated by `update` method + * @argument {Object} options - Modifiers configuration and options + * @returns {Object} The data object, properly modified + */ +function shift(data) { + var placement = data.placement; + var basePlacement = placement.split('-')[0]; + var shiftvariation = placement.split('-')[1]; + + // if shift shiftvariation is specified, run the modifier + if (shiftvariation) { + var _data$offsets = data.offsets, + reference = _data$offsets.reference, + popper = _data$offsets.popper; + + var isVertical = ['bottom', 'top'].indexOf(basePlacement) !== -1; + var side = isVertical ? 'left' : 'top'; + var measurement = isVertical ? 'width' : 'height'; + + var shiftOffsets = { + start: defineProperty({}, side, reference[side]), + end: defineProperty({}, side, reference[side] + reference[measurement] - popper[measurement]) + }; + + data.offsets.popper = _extends({}, popper, shiftOffsets[shiftvariation]); + } + + return data; +} + +/** + * @function + * @memberof Modifiers + * @argument {Object} data - The data object generated by update method + * @argument {Object} options - Modifiers configuration and options + * @returns {Object} The data object, properly modified + */ +function hide(data) { + if (!isModifierRequired(data.instance.modifiers, 'hide', 'preventOverflow')) { + return data; + } + + var refRect = data.offsets.reference; + var bound = find(data.instance.modifiers, function (modifier) { + return modifier.name === 'preventOverflow'; + }).boundaries; + + if (refRect.bottom < bound.top || refRect.left > bound.right || refRect.top > bound.bottom || refRect.right < bound.left) { + // Avoid unnecessary DOM access if visibility hasn't changed + if (data.hide === true) { + return data; + } + + data.hide = true; + data.attributes['x-out-of-boundaries'] = ''; + } else { + // Avoid unnecessary DOM access if visibility hasn't changed + if (data.hide === false) { + return data; + } + + data.hide = false; + data.attributes['x-out-of-boundaries'] = false; + } + + return data; +} + +/** + * @function + * @memberof Modifiers + * @argument {Object} data - The data object generated by `update` method + * @argument {Object} options - Modifiers configuration and options + * @returns {Object} The data object, properly modified + */ +function inner(data) { + var placement = data.placement; + var basePlacement = placement.split('-')[0]; + var _data$offsets = data.offsets, + popper = _data$offsets.popper, + reference = _data$offsets.reference; + + var isHoriz = ['left', 'right'].indexOf(basePlacement) !== -1; + + var subtractLength = ['top', 'left'].indexOf(basePlacement) === -1; + + popper[isHoriz ? 'left' : 'top'] = reference[basePlacement] - (subtractLength ? popper[isHoriz ? 'width' : 'height'] : 0); + + data.placement = getOppositePlacement(placement); + data.offsets.popper = getClientRect(popper); + + return data; +} + +/** + * Modifier function, each modifier can have a function of this type assigned + * to its `fn` property.<br /> + * These functions will be called on each update, this means that you must + * make sure they are performant enough to avoid performance bottlenecks. + * + * @function ModifierFn + * @argument {dataObject} data - The data object generated by `update` method + * @argument {Object} options - Modifiers configuration and options + * @returns {dataObject} The data object, properly modified + */ + +/** + * Modifiers are plugins used to alter the behavior of your poppers.<br /> + * Popper.js uses a set of 9 modifiers to provide all the basic functionalities + * needed by the library. + * + * Usually you don't want to override the `order`, `fn` and `onLoad` props. + * All the other properties are configurations that could be tweaked. + * @namespace modifiers + */ +var modifiers = { + /** + * Modifier used to shift the popper on the start or end of its reference + * element.<br /> + * It will read the variation of the `placement` property.<br /> + * It can be one either `-end` or `-start`. + * @memberof modifiers + * @inner + */ + shift: { + /** @prop {number} order=100 - Index used to define the order of execution */ + order: 100, + /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */ + enabled: true, + /** @prop {ModifierFn} */ + fn: shift + }, + + /** + * The `offset` modifier can shift your popper on both its axis. + * + * It accepts the following units: + * - `px` or unitless, interpreted as pixels + * - `%` or `%r`, percentage relative to the length of the reference element + * - `%p`, percentage relative to the length of the popper element + * - `vw`, CSS viewport width unit + * - `vh`, CSS viewport height unit + * + * For length is intended the main axis relative to the placement of the popper.<br /> + * This means that if the placement is `top` or `bottom`, the length will be the + * `width`. In case of `left` or `right`, it will be the height. + * + * You can provide a single value (as `Number` or `String`), or a pair of values + * as `String` divided by a comma or one (or more) white spaces.<br /> + * The latter is a deprecated method because it leads to confusion and will be + * removed in v2.<br /> + * Additionally, it accepts additions and subtractions between different units. + * Note that multiplications and divisions aren't supported. + * + * Valid examples are: + * ``` + * 10 + * '10%' + * '10, 10' + * '10%, 10' + * '10 + 10%' + * '10 - 5vh + 3%' + * '-10px + 5vh, 5px - 6%' + * ``` + * > **NB**: If you desire to apply offsets to your poppers in a way that may make them overlap + * > with their reference element, unfortunately, you will have to disable the `flip` modifier. + * > More on this [reading this issue](https://github.com/FezVrasta/popper.js/issues/373) + * + * @memberof modifiers + * @inner + */ + offset: { + /** @prop {number} order=200 - Index used to define the order of execution */ + order: 200, + /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */ + enabled: true, + /** @prop {ModifierFn} */ + fn: offset, + /** @prop {Number|String} offset=0 + * The offset value as described in the modifier description + */ + offset: 0 + }, + + /** + * Modifier used to prevent the popper from being positioned outside the boundary. + * + * An scenario exists where the reference itself is not within the boundaries.<br /> + * We can say it has "escaped the boundaries" — or just "escaped".<br /> + * In this case we need to decide whether the popper should either: + * + * - detach from the reference and remain "trapped" in the boundaries, or + * - if it should ignore the boundary and "escape with its reference" + * + * When `escapeWithReference` is set to`true` and reference is completely + * outside its boundaries, the popper will overflow (or completely leave) + * the boundaries in order to remain attached to the edge of the reference. + * + * @memberof modifiers + * @inner + */ + preventOverflow: { + /** @prop {number} order=300 - Index used to define the order of execution */ + order: 300, + /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */ + enabled: true, + /** @prop {ModifierFn} */ + fn: preventOverflow, + /** + * @prop {Array} [priority=['left','right','top','bottom']] + * Popper will try to prevent overflow following these priorities by default, + * then, it could overflow on the left and on top of the `boundariesElement` + */ + priority: ['left', 'right', 'top', 'bottom'], + /** + * @prop {number} padding=5 + * Amount of pixel used to define a minimum distance between the boundaries + * and the popper this makes sure the popper has always a little padding + * between the edges of its container + */ + padding: 5, + /** + * @prop {String|HTMLElement} boundariesElement='scrollParent' + * Boundaries used by the modifier, can be `scrollParent`, `window`, + * `viewport` or any DOM element. + */ + boundariesElement: 'scrollParent' + }, + + /** + * Modifier used to make sure the reference and its popper stay near eachothers + * without leaving any gap between the two. Expecially useful when the arrow is + * enabled and you want to assure it to point to its reference element. + * It cares only about the first axis, you can still have poppers with margin + * between the popper and its reference element. + * @memberof modifiers + * @inner + */ + keepTogether: { + /** @prop {number} order=400 - Index used to define the order of execution */ + order: 400, + /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */ + enabled: true, + /** @prop {ModifierFn} */ + fn: keepTogether + }, + + /** + * This modifier is used to move the `arrowElement` of the popper to make + * sure it is positioned between the reference element and its popper element. + * It will read the outer size of the `arrowElement` node to detect how many + * pixels of conjuction are needed. + * + * It has no effect if no `arrowElement` is provided. + * @memberof modifiers + * @inner + */ + arrow: { + /** @prop {number} order=500 - Index used to define the order of execution */ + order: 500, + /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */ + enabled: true, + /** @prop {ModifierFn} */ + fn: arrow, + /** @prop {String|HTMLElement} element='[x-arrow]' - Selector or node used as arrow */ + element: '[x-arrow]' + }, + + /** + * Modifier used to flip the popper's placement when it starts to overlap its + * reference element. + * + * Requires the `preventOverflow` modifier before it in order to work. + * + * **NOTE:** this modifier will interrupt the current update cycle and will + * restart it if it detects the need to flip the placement. + * @memberof modifiers + * @inner + */ + flip: { + /** @prop {number} order=600 - Index used to define the order of execution */ + order: 600, + /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */ + enabled: true, + /** @prop {ModifierFn} */ + fn: flip, + /** + * @prop {String|Array} behavior='flip' + * The behavior used to change the popper's placement. It can be one of + * `flip`, `clockwise`, `counterclockwise` or an array with a list of valid + * placements (with optional variations). + */ + behavior: 'flip', + /** + * @prop {number} padding=5 + * The popper will flip if it hits the edges of the `boundariesElement` + */ + padding: 5, + /** + * @prop {String|HTMLElement} boundariesElement='viewport' + * The element which will define the boundaries of the popper position, + * the popper will never be placed outside of the defined boundaries + * (except if keepTogether is enabled) + */ + boundariesElement: 'viewport' + }, + + /** + * Modifier used to make the popper flow toward the inner of the reference element. + * By default, when this modifier is disabled, the popper will be placed outside + * the reference element. + * @memberof modifiers + * @inner + */ + inner: { + /** @prop {number} order=700 - Index used to define the order of execution */ + order: 700, + /** @prop {Boolean} enabled=false - Whether the modifier is enabled or not */ + enabled: false, + /** @prop {ModifierFn} */ + fn: inner + }, + + /** + * Modifier used to hide the popper when its reference element is outside of the + * popper boundaries. It will set a `x-out-of-boundaries` attribute which can + * be used to hide with a CSS selector the popper when its reference is + * out of boundaries. + * + * Requires the `preventOverflow` modifier before it in order to work. + * @memberof modifiers + * @inner + */ + hide: { + /** @prop {number} order=800 - Index used to define the order of execution */ + order: 800, + /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */ + enabled: true, + /** @prop {ModifierFn} */ + fn: hide + }, + + /** + * Computes the style that will be applied to the popper element to gets + * properly positioned. + * + * Note that this modifier will not touch the DOM, it just prepares the styles + * so that `applyStyle` modifier can apply it. This separation is useful + * in case you need to replace `applyStyle` with a custom implementation. + * + * This modifier has `850` as `order` value to maintain backward compatibility + * with previous versions of Popper.js. Expect the modifiers ordering method + * to change in future major versions of the library. + * + * @memberof modifiers + * @inner + */ + computeStyle: { + /** @prop {number} order=850 - Index used to define the order of execution */ + order: 850, + /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */ + enabled: true, + /** @prop {ModifierFn} */ + fn: computeStyle, + /** + * @prop {Boolean} gpuAcceleration=true + * If true, it uses the CSS 3d transformation to position the popper. + * Otherwise, it will use the `top` and `left` properties. + */ + gpuAcceleration: true, + /** + * @prop {string} [x='bottom'] + * Where to anchor the X axis (`bottom` or `top`). AKA X offset origin. + * Change this if your popper should grow in a direction different from `bottom` + */ + x: 'bottom', + /** + * @prop {string} [x='left'] + * Where to anchor the Y axis (`left` or `right`). AKA Y offset origin. + * Change this if your popper should grow in a direction different from `right` + */ + y: 'right' + }, + + /** + * Applies the computed styles to the popper element. + * + * All the DOM manipulations are limited to this modifier. This is useful in case + * you want to integrate Popper.js inside a framework or view library and you + * want to delegate all the DOM manipulations to it. + * + * Note that if you disable this modifier, you must make sure the popper element + * has its position set to `absolute` before Popper.js can do its work! + * + * Just disable this modifier and define you own to achieve the desired effect. + * + * @memberof modifiers + * @inner + */ + applyStyle: { + /** @prop {number} order=900 - Index used to define the order of execution */ + order: 900, + /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */ + enabled: true, + /** @prop {ModifierFn} */ + fn: applyStyle, + /** @prop {Function} */ + onLoad: applyStyleOnLoad, + /** + * @deprecated since version 1.10.0, the property moved to `computeStyle` modifier + * @prop {Boolean} gpuAcceleration=true + * If true, it uses the CSS 3d transformation to position the popper. + * Otherwise, it will use the `top` and `left` properties. + */ + gpuAcceleration: undefined + } +}; + +/** + * The `dataObject` is an object containing all the informations used by Popper.js + * this object get passed to modifiers and to the `onCreate` and `onUpdate` callbacks. + * @name dataObject + * @property {Object} data.instance The Popper.js instance + * @property {String} data.placement Placement applied to popper + * @property {String} data.originalPlacement Placement originally defined on init + * @property {Boolean} data.flipped True if popper has been flipped by flip modifier + * @property {Boolean} data.hide True if the reference element is out of boundaries, useful to know when to hide the popper. + * @property {HTMLElement} data.arrowElement Node used as arrow by arrow modifier + * @property {Object} data.styles Any CSS property defined here will be applied to the popper, it expects the JavaScript nomenclature (eg. `marginBottom`) + * @property {Object} data.arrowStyles Any CSS property defined here will be applied to the popper arrow, it expects the JavaScript nomenclature (eg. `marginBottom`) + * @property {Object} data.boundaries Offsets of the popper boundaries + * @property {Object} data.offsets The measurements of popper, reference and arrow elements. + * @property {Object} data.offsets.popper `top`, `left`, `width`, `height` values + * @property {Object} data.offsets.reference `top`, `left`, `width`, `height` values + * @property {Object} data.offsets.arrow] `top` and `left` offsets, only one of them will be different from 0 + */ + +/** + * Default options provided to Popper.js constructor.<br /> + * These can be overriden using the `options` argument of Popper.js.<br /> + * To override an option, simply pass as 3rd argument an object with the same + * structure of this object, example: + * ``` + * new Popper(ref, pop, { + * modifiers: { + * preventOverflow: { enabled: false } + * } + * }) + * ``` + * @type {Object} + * @static + * @memberof Popper + */ +var Defaults = { + /** + * Popper's placement + * @prop {Popper.placements} placement='bottom' + */ + placement: 'bottom', + + /** + * Whether events (resize, scroll) are initially enabled + * @prop {Boolean} eventsEnabled=true + */ + eventsEnabled: true, + + /** + * Set to true if you want to automatically remove the popper when + * you call the `destroy` method. + * @prop {Boolean} removeOnDestroy=false + */ + removeOnDestroy: false, + + /** + * Callback called when the popper is created.<br /> + * By default, is set to no-op.<br /> + * Access Popper.js instance with `data.instance`. + * @prop {onCreate} + */ + onCreate: function onCreate() {}, + + /** + * Callback called when the popper is updated, this callback is not called + * on the initialization/creation of the popper, but only on subsequent + * updates.<br /> + * By default, is set to no-op.<br /> + * Access Popper.js instance with `data.instance`. + * @prop {onUpdate} + */ + onUpdate: function onUpdate() {}, + + /** + * List of modifiers used to modify the offsets before they are applied to the popper. + * They provide most of the functionalities of Popper.js + * @prop {modifiers} + */ + modifiers: modifiers +}; + +/** + * @callback onCreate + * @param {dataObject} data + */ + +/** + * @callback onUpdate + * @param {dataObject} data + */ + +// Utils +// Methods +var Popper = function () { + /** + * Create a new Popper.js instance + * @class Popper + * @param {HTMLElement|referenceObject} reference - The reference element used to position the popper + * @param {HTMLElement} popper - The HTML element used as popper. + * @param {Object} options - Your custom options to override the ones defined in [Defaults](#defaults) + * @return {Object} instance - The generated Popper.js instance + */ + function Popper(reference, popper) { + var _this = this; + + var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {}; + classCallCheck(this, Popper); + + this.scheduleUpdate = function () { + return requestAnimationFrame(_this.update); + }; + + // make update() debounced, so that it only runs at most once-per-tick + this.update = debounce(this.update.bind(this)); + + // with {} we create a new object with the options inside it + this.options = _extends({}, Popper.Defaults, options); + + // init state + this.state = { + isDestroyed: false, + isCreated: false, + scrollParents: [] + }; + + // get reference and popper elements (allow jQuery wrappers) + this.reference = reference && reference.jquery ? reference[0] : reference; + this.popper = popper && popper.jquery ? popper[0] : popper; + + // Deep merge modifiers options + this.options.modifiers = {}; + Object.keys(_extends({}, Popper.Defaults.modifiers, options.modifiers)).forEach(function (name) { + _this.options.modifiers[name] = _extends({}, Popper.Defaults.modifiers[name] || {}, options.modifiers ? options.modifiers[name] : {}); + }); + + // Refactoring modifiers' list (Object => Array) + this.modifiers = Object.keys(this.options.modifiers).map(function (name) { + return _extends({ + name: name + }, _this.options.modifiers[name]); + }) + // sort the modifiers by order + .sort(function (a, b) { + return a.order - b.order; + }); + + // modifiers have the ability to execute arbitrary code when Popper.js get inited + // such code is executed in the same order of its modifier + // they could add new properties to their options configuration + // BE AWARE: don't add options to `options.modifiers.name` but to `modifierOptions`! + this.modifiers.forEach(function (modifierOptions) { + if (modifierOptions.enabled && isFunction(modifierOptions.onLoad)) { + modifierOptions.onLoad(_this.reference, _this.popper, _this.options, modifierOptions, _this.state); + } + }); + + // fire the first update to position the popper in the right place + this.update(); + + var eventsEnabled = this.options.eventsEnabled; + if (eventsEnabled) { + // setup event listeners, they will take care of update the position in specific situations + this.enableEventListeners(); + } + + this.state.eventsEnabled = eventsEnabled; + } + + // We can't use class properties because they don't get listed in the + // class prototype and break stuff like Sinon stubs + + + createClass(Popper, [{ + key: 'update', + value: function update$$1() { + return update.call(this); + } + }, { + key: 'destroy', + value: function destroy$$1() { + return destroy.call(this); + } + }, { + key: 'enableEventListeners', + value: function enableEventListeners$$1() { + return enableEventListeners.call(this); + } + }, { + key: 'disableEventListeners', + value: function disableEventListeners$$1() { + return disableEventListeners.call(this); + } + + /** + * Schedule an update, it will run on the next UI update available + * @method scheduleUpdate + * @memberof Popper + */ + + + /** + * Collection of utilities useful when writing custom modifiers. + * Starting from version 1.7, this method is available only if you + * include `popper-utils.js` before `popper.js`. + * + * **DEPRECATION**: This way to access PopperUtils is deprecated + * and will be removed in v2! Use the PopperUtils module directly instead. + * Due to the high instability of the methods contained in Utils, we can't + * guarantee them to follow semver. Use them at your own risk! + * @static + * @private + * @type {Object} + * @deprecated since version 1.8 + * @member Utils + * @memberof Popper + */ + + }]); + return Popper; +}(); + +/** + * The `referenceObject` is an object that provides an interface compatible with Popper.js + * and lets you use it as replacement of a real DOM node.<br /> + * You can use this method to position a popper relatively to a set of coordinates + * in case you don't have a DOM node to use as reference. + * + * ``` + * new Popper(referenceObject, popperNode); + * ``` + * + * NB: This feature isn't supported in Internet Explorer 10 + * @name referenceObject + * @property {Function} data.getBoundingClientRect + * A function that returns a set of coordinates compatible with the native `getBoundingClientRect` method. + * @property {number} data.clientWidth + * An ES6 getter that will return the width of the virtual reference element. + * @property {number} data.clientHeight + * An ES6 getter that will return the height of the virtual reference element. + */ + + +Popper.Utils = (typeof window !== 'undefined' ? window : global).PopperUtils; +Popper.placements = placements; +Popper.Defaults = Defaults; + +/* harmony default export */ __webpack_exports__["a"] = (Popper); +//# sourceMappingURL=popper.js.map + +/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(10))) + +/***/ }), +/* 30 */ +/***/ (function(module) { + +module.exports = JSON.parse("{\"component\":\"icon\",\"status\":\"prod\",\"display-name\":\"Icons\",\"classKey\":\"Icon\",\"last-accessibility-review\":{\"date-iso-8601\":\"2018/01/18\",\"commit-sha\":\"ad6b6c6523ee21cada11be5f7ea4d99abc530726\"},\"SLDS-component-path\":\"/components/icons\",\"site-stories\":[{\"heading\":\"Category Options\",\"path\":\"/__examples__/categories.jsx\"},{\"heading\":\"Color Options\",\"path\":\"/__examples__/colors.jsx\"},{\"heading\":\"Size Options\",\"path\":\"/__examples__/sizes.jsx\"}],\"url-slug\":\"icons\"}"); + +/***/ }), +/* 31 */ +/***/ (function(module, exports) { + +// The following colors may not be accessible with text color or inverse white on this background color. They do not all pass WCAG AA Color Contrast Ratios. +// https://webaim.org/resources/contrastchecker/?fcolor=FFFFFF&bcolor=FFC20E +module.exports = { + 'global-setup': '#2A739E', + 'service-cloud': '#7f2443', + 'industry-cloud': '#4c2248', + 'sales-cloud': '#00857d', + 'commerce-cloud': '#41693d', + 'community-cloud': '#ffc20e', + 'marketing-cloud': '#ea7600', + quip: '#cf451d' +}; + +/***/ }), +/* 32 */ +/***/ (function(module) { + +module.exports = JSON.parse("{\"component\":\"tooltip\",\"status\":\"prod\",\"display-name\":\"Tooltips\",\"classKey\":\"Tooltip\",\"SLDS-component-path\":\"/components/tooltips\",\"site-stories\":[{\"heading\":\"Base\",\"path\":\"/__examples__/base.jsx\"},{\"heading\":\"Button Trigger\",\"path\":\"/__examples__/button.jsx\"},{\"heading\":\"Button Group Trigger\",\"path\":\"/__examples__/button-group.jsx\"},{\"heading\":\"Learn more\",\"path\":\"/__examples__/learn-more.jsx\"}],\"url-slug\":\"tooltips\"}"); + +/***/ }), +/* 33 */ +/***/ (function(module) { + +module.exports = JSON.parse("{\"component\":\"alert\",\"status\":\"prod\",\"display-name\":\"Alerts\",\"classKey\":\"Alert\",\"last-accessibility-review\":{\"date-iso-8601\":\"2018/01/18\",\"commit-sha\":\"ad6b6c6523ee21cada11be5f7ea4d99abc530726\"},\"SLDS-component-path\":\"/components/alert\",\"dependencies\":[{\"component\":\"container\",\"classKey\":\"AlertContainer\"}],\"site-stories\":[{\"heading\":\"Informational\",\"path\":\"/__examples__/info.jsx\"},{\"heading\":\"Warning\",\"path\":\"/__examples__/warning.jsx\"},{\"heading\":\"System Status\",\"path\":\"/__examples__/offline.jsx\"},{\"heading\":\"Error\",\"path\":\"/__examples__/error.jsx\"},{\"heading\":\"Dismissable\",\"path\":\"/__examples__/dismissable.jsx\"}],\"url-slug\":\"alerts\"}"); + +/***/ }), +/* 34 */ +/***/ (function(module) { + +module.exports = JSON.parse("{\"component\":\"modal\",\"status\":\"prod\",\"display-name\":\"Modals and Prompts\",\"classKey\":\"Modal\",\"SLDS-component-path\":\"/components/modals\",\"site-stories\":[{\"heading\":\"Default\",\"path\":\"/__examples__/menu-contents.jsx\"},{\"heading\":\"With header and footer\",\"path\":\"/__examples__/header-footer.jsx\"},{\"heading\":\"With Tagline\",\"path\":\"/__examples__/taglines.jsx\"},{\"heading\":\"Prompt\",\"path\":\"/__examples__/prompt.jsx\"},{\"heading\":\"Various sizes\",\"path\":\"/__examples__/sizes.jsx\"}],\"url-slug\":\"modals\"}"); + +/***/ }), +/* 35 */ +/***/ (function(module, exports, __webpack_require__) { + +/* WEBPACK VAR INJECTION */(function(global) {/** + * lodash (Custom Build) <https://lodash.com/> + * Build: `lodash modularize exports="npm" -o ./` + * Copyright jQuery Foundation and other contributors <https://jquery.org/> + * Released under MIT license <https://lodash.com/license> + * Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE> + * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors + */ + +/** Used as the `TypeError` message for "Functions" methods. */ +var FUNC_ERROR_TEXT = 'Expected a function'; + +/** Used to stand-in for `undefined` hash values. */ +var HASH_UNDEFINED = '__lodash_hash_undefined__'; + +/** `Object#toString` result references. */ +var funcTag = '[object Function]', + genTag = '[object GeneratorFunction]'; + +/** + * Used to match `RegExp` + * [syntax characters](http://ecma-international.org/ecma-262/7.0/#sec-patterns). + */ +var reRegExpChar = /[\\^$.*+?()[\]{}|]/g; + +/** Used to detect host constructors (Safari). */ +var reIsHostCtor = /^\[object .+?Constructor\]$/; + +/** Detect free variable `global` from Node.js. */ +var freeGlobal = typeof global == 'object' && global && global.Object === Object && global; + +/** Detect free variable `self`. */ +var freeSelf = typeof self == 'object' && self && self.Object === Object && self; + +/** Used as a reference to the global object. */ +var root = freeGlobal || freeSelf || Function('return this')(); + +/** + * Gets the value at `key` of `object`. + * + * @private + * @param {Object} [object] The object to query. + * @param {string} key The key of the property to get. + * @returns {*} Returns the property value. + */ +function getValue(object, key) { + return object == null ? undefined : object[key]; +} + +/** + * Checks if `value` is a host object in IE < 9. + * + * @private + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a host object, else `false`. + */ +function isHostObject(value) { + // Many host objects are `Object` objects that can coerce to strings + // despite having improperly defined `toString` methods. + var result = false; + if (value != null && typeof value.toString != 'function') { + try { + result = !!(value + ''); + } catch (e) {} + } + return result; +} + +/** Used for built-in method references. */ +var arrayProto = Array.prototype, + funcProto = Function.prototype, + objectProto = Object.prototype; + +/** Used to detect overreaching core-js shims. */ +var coreJsData = root['__core-js_shared__']; + +/** Used to detect methods masquerading as native. */ +var maskSrcKey = (function() { + var uid = /[^.]+$/.exec(coreJsData && coreJsData.keys && coreJsData.keys.IE_PROTO || ''); + return uid ? ('Symbol(src)_1.' + uid) : ''; +}()); + +/** Used to resolve the decompiled source of functions. */ +var funcToString = funcProto.toString; + +/** Used to check objects for own properties. */ +var hasOwnProperty = objectProto.hasOwnProperty; + +/** + * Used to resolve the + * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring) + * of values. + */ +var objectToString = objectProto.toString; + +/** Used to detect if a method is native. */ +var reIsNative = RegExp('^' + + funcToString.call(hasOwnProperty).replace(reRegExpChar, '\\$&') + .replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g, '$1.*?') + '$' +); + +/** Built-in value references. */ +var splice = arrayProto.splice; + +/* Built-in method references that are verified to be native. */ +var Map = getNative(root, 'Map'), + nativeCreate = getNative(Object, 'create'); + +/** + * Creates a hash object. + * + * @private + * @constructor + * @param {Array} [entries] The key-value pairs to cache. + */ +function Hash(entries) { + var index = -1, + length = entries ? entries.length : 0; + + this.clear(); + while (++index < length) { + var entry = entries[index]; + this.set(entry[0], entry[1]); + } +} + +/** + * Removes all key-value entries from the hash. + * + * @private + * @name clear + * @memberOf Hash + */ +function hashClear() { + this.__data__ = nativeCreate ? nativeCreate(null) : {}; +} + +/** + * Removes `key` and its value from the hash. + * + * @private + * @name delete + * @memberOf Hash + * @param {Object} hash The hash to modify. + * @param {string} key The key of the value to remove. + * @returns {boolean} Returns `true` if the entry was removed, else `false`. + */ +function hashDelete(key) { + return this.has(key) && delete this.__data__[key]; +} + +/** + * Gets the hash value for `key`. + * + * @private + * @name get + * @memberOf Hash + * @param {string} key The key of the value to get. + * @returns {*} Returns the entry value. + */ +function hashGet(key) { + var data = this.__data__; + if (nativeCreate) { + var result = data[key]; + return result === HASH_UNDEFINED ? undefined : result; + } + return hasOwnProperty.call(data, key) ? data[key] : undefined; +} + +/** + * Checks if a hash value for `key` exists. + * + * @private + * @name has + * @memberOf Hash + * @param {string} key The key of the entry to check. + * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`. + */ +function hashHas(key) { + var data = this.__data__; + return nativeCreate ? data[key] !== undefined : hasOwnProperty.call(data, key); +} + +/** + * Sets the hash `key` to `value`. + * + * @private + * @name set + * @memberOf Hash + * @param {string} key The key of the value to set. + * @param {*} value The value to set. + * @returns {Object} Returns the hash instance. + */ +function hashSet(key, value) { + var data = this.__data__; + data[key] = (nativeCreate && value === undefined) ? HASH_UNDEFINED : value; + return this; +} + +// Add methods to `Hash`. +Hash.prototype.clear = hashClear; +Hash.prototype['delete'] = hashDelete; +Hash.prototype.get = hashGet; +Hash.prototype.has = hashHas; +Hash.prototype.set = hashSet; + +/** + * Creates an list cache object. + * + * @private + * @constructor + * @param {Array} [entries] The key-value pairs to cache. + */ +function ListCache(entries) { + var index = -1, + length = entries ? entries.length : 0; + + this.clear(); + while (++index < length) { + var entry = entries[index]; + this.set(entry[0], entry[1]); + } +} + +/** + * Removes all key-value entries from the list cache. + * + * @private + * @name clear + * @memberOf ListCache + */ +function listCacheClear() { + this.__data__ = []; +} + +/** + * Removes `key` and its value from the list cache. + * + * @private + * @name delete + * @memberOf ListCache + * @param {string} key The key of the value to remove. + * @returns {boolean} Returns `true` if the entry was removed, else `false`. + */ +function listCacheDelete(key) { + var data = this.__data__, + index = assocIndexOf(data, key); + + if (index < 0) { + return false; + } + var lastIndex = data.length - 1; + if (index == lastIndex) { + data.pop(); + } else { + splice.call(data, index, 1); + } + return true; +} + +/** + * Gets the list cache value for `key`. + * + * @private + * @name get + * @memberOf ListCache + * @param {string} key The key of the value to get. + * @returns {*} Returns the entry value. + */ +function listCacheGet(key) { + var data = this.__data__, + index = assocIndexOf(data, key); + + return index < 0 ? undefined : data[index][1]; +} + +/** + * Checks if a list cache value for `key` exists. + * + * @private + * @name has + * @memberOf ListCache + * @param {string} key The key of the entry to check. + * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`. + */ +function listCacheHas(key) { + return assocIndexOf(this.__data__, key) > -1; +} + +/** + * Sets the list cache `key` to `value`. + * + * @private + * @name set + * @memberOf ListCache + * @param {string} key The key of the value to set. + * @param {*} value The value to set. + * @returns {Object} Returns the list cache instance. + */ +function listCacheSet(key, value) { + var data = this.__data__, + index = assocIndexOf(data, key); + + if (index < 0) { + data.push([key, value]); + } else { + data[index][1] = value; + } + return this; +} + +// Add methods to `ListCache`. +ListCache.prototype.clear = listCacheClear; +ListCache.prototype['delete'] = listCacheDelete; +ListCache.prototype.get = listCacheGet; +ListCache.prototype.has = listCacheHas; +ListCache.prototype.set = listCacheSet; + +/** + * Creates a map cache object to store key-value pairs. + * + * @private + * @constructor + * @param {Array} [entries] The key-value pairs to cache. + */ +function MapCache(entries) { + var index = -1, + length = entries ? entries.length : 0; + + this.clear(); + while (++index < length) { + var entry = entries[index]; + this.set(entry[0], entry[1]); + } +} + +/** + * Removes all key-value entries from the map. + * + * @private + * @name clear + * @memberOf MapCache + */ +function mapCacheClear() { + this.__data__ = { + 'hash': new Hash, + 'map': new (Map || ListCache), + 'string': new Hash + }; +} + +/** + * Removes `key` and its value from the map. + * + * @private + * @name delete + * @memberOf MapCache + * @param {string} key The key of the value to remove. + * @returns {boolean} Returns `true` if the entry was removed, else `false`. + */ +function mapCacheDelete(key) { + return getMapData(this, key)['delete'](key); +} + +/** + * Gets the map value for `key`. + * + * @private + * @name get + * @memberOf MapCache + * @param {string} key The key of the value to get. + * @returns {*} Returns the entry value. + */ +function mapCacheGet(key) { + return getMapData(this, key).get(key); +} + +/** + * Checks if a map value for `key` exists. + * + * @private + * @name has + * @memberOf MapCache + * @param {string} key The key of the entry to check. + * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`. + */ +function mapCacheHas(key) { + return getMapData(this, key).has(key); +} + +/** + * Sets the map `key` to `value`. + * + * @private + * @name set + * @memberOf MapCache + * @param {string} key The key of the value to set. + * @param {*} value The value to set. + * @returns {Object} Returns the map cache instance. + */ +function mapCacheSet(key, value) { + getMapData(this, key).set(key, value); + return this; +} + +// Add methods to `MapCache`. +MapCache.prototype.clear = mapCacheClear; +MapCache.prototype['delete'] = mapCacheDelete; +MapCache.prototype.get = mapCacheGet; +MapCache.prototype.has = mapCacheHas; +MapCache.prototype.set = mapCacheSet; + +/** + * Gets the index at which the `key` is found in `array` of key-value pairs. + * + * @private + * @param {Array} array The array to inspect. + * @param {*} key The key to search for. + * @returns {number} Returns the index of the matched value, else `-1`. + */ +function assocIndexOf(array, key) { + var length = array.length; + while (length--) { + if (eq(array[length][0], key)) { + return length; + } + } + return -1; +} + +/** + * The base implementation of `_.isNative` without bad shim checks. + * + * @private + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a native function, + * else `false`. + */ +function baseIsNative(value) { + if (!isObject(value) || isMasked(value)) { + return false; + } + var pattern = (isFunction(value) || isHostObject(value)) ? reIsNative : reIsHostCtor; + return pattern.test(toSource(value)); +} + +/** + * Gets the data for `map`. + * + * @private + * @param {Object} map The map to query. + * @param {string} key The reference key. + * @returns {*} Returns the map data. + */ +function getMapData(map, key) { + var data = map.__data__; + return isKeyable(key) + ? data[typeof key == 'string' ? 'string' : 'hash'] + : data.map; +} + +/** + * Gets the native function at `key` of `object`. + * + * @private + * @param {Object} object The object to query. + * @param {string} key The key of the method to get. + * @returns {*} Returns the function if it's native, else `undefined`. + */ +function getNative(object, key) { + var value = getValue(object, key); + return baseIsNative(value) ? value : undefined; +} + +/** + * Checks if `value` is suitable for use as unique object key. + * + * @private + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is suitable, else `false`. + */ +function isKeyable(value) { + var type = typeof value; + return (type == 'string' || type == 'number' || type == 'symbol' || type == 'boolean') + ? (value !== '__proto__') + : (value === null); +} + +/** + * Checks if `func` has its source masked. + * + * @private + * @param {Function} func The function to check. + * @returns {boolean} Returns `true` if `func` is masked, else `false`. + */ +function isMasked(func) { + return !!maskSrcKey && (maskSrcKey in func); +} + +/** + * Converts `func` to its source code. + * + * @private + * @param {Function} func The function to process. + * @returns {string} Returns the source code. + */ +function toSource(func) { + if (func != null) { + try { + return funcToString.call(func); + } catch (e) {} + try { + return (func + ''); + } catch (e) {} + } + return ''; +} + +/** + * Creates a function that memoizes the result of `func`. If `resolver` is + * provided, it determines the cache key for storing the result based on the + * arguments provided to the memoized function. By default, the first argument + * provided to the memoized function is used as the map cache key. The `func` + * is invoked with the `this` binding of the memoized function. + * + * **Note:** The cache is exposed as the `cache` property on the memoized + * function. Its creation may be customized by replacing the `_.memoize.Cache` + * constructor with one whose instances implement the + * [`Map`](http://ecma-international.org/ecma-262/7.0/#sec-properties-of-the-map-prototype-object) + * method interface of `delete`, `get`, `has`, and `set`. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Function + * @param {Function} func The function to have its output memoized. + * @param {Function} [resolver] The function to resolve the cache key. + * @returns {Function} Returns the new memoized function. + * @example + * + * var object = { 'a': 1, 'b': 2 }; + * var other = { 'c': 3, 'd': 4 }; + * + * var values = _.memoize(_.values); + * values(object); + * // => [1, 2] + * + * values(other); + * // => [3, 4] + * + * object.a = 2; + * values(object); + * // => [1, 2] + * + * // Modify the result cache. + * values.cache.set(object, ['a', 'b']); + * values(object); + * // => ['a', 'b'] + * + * // Replace `_.memoize.Cache`. + * _.memoize.Cache = WeakMap; + */ +function memoize(func, resolver) { + if (typeof func != 'function' || (resolver && typeof resolver != 'function')) { + throw new TypeError(FUNC_ERROR_TEXT); + } + var memoized = function() { + var args = arguments, + key = resolver ? resolver.apply(this, args) : args[0], + cache = memoized.cache; + + if (cache.has(key)) { + return cache.get(key); + } + var result = func.apply(this, args); + memoized.cache = cache.set(key, result); + return result; + }; + memoized.cache = new (memoize.Cache || MapCache); + return memoized; +} + +// Assign cache to `_.memoize`. +memoize.Cache = MapCache; + +/** + * Performs a + * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero) + * comparison between two values to determine if they are equivalent. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Lang + * @param {*} value The value to compare. + * @param {*} other The other value to compare. + * @returns {boolean} Returns `true` if the values are equivalent, else `false`. + * @example + * + * var object = { 'a': 1 }; + * var other = { 'a': 1 }; + * + * _.eq(object, object); + * // => true + * + * _.eq(object, other); + * // => false + * + * _.eq('a', 'a'); + * // => true + * + * _.eq('a', Object('a')); + * // => false + * + * _.eq(NaN, NaN); + * // => true + */ +function eq(value, other) { + return value === other || (value !== value && other !== other); +} + +/** + * Checks if `value` is classified as a `Function` object. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a function, else `false`. + * @example + * + * _.isFunction(_); + * // => true + * + * _.isFunction(/abc/); + * // => false + */ +function isFunction(value) { + // The use of `Object#toString` avoids issues with the `typeof` operator + // in Safari 8-9 which returns 'object' for typed array and other constructors. + var tag = isObject(value) ? objectToString.call(value) : ''; + return tag == funcTag || tag == genTag; +} + +/** + * Checks if `value` is the + * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types) + * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`) + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is an object, else `false`. + * @example + * + * _.isObject({}); + * // => true + * + * _.isObject([1, 2, 3]); + * // => true + * + * _.isObject(_.noop); + * // => true + * + * _.isObject(null); + * // => false + */ +function isObject(value) { + var type = typeof value; + return !!value && (type == 'object' || type == 'function'); +} + +module.exports = memoize; + +/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(10))) + +/***/ }), +/* 36 */ +/***/ (function(module) { + +module.exports = JSON.parse("{\"component\":\"avatar\",\"status\":\"prod\",\"display-name\":\"Avatars\",\"classKey\":\"Avatar\",\"last-accessibility-review\":{\"date-iso-8601\":\"2018/01/18\",\"commit-sha\":\"ad6b6c6523ee21cada11be5f7ea4d99abc530726\"},\"SLDS-component-path\":\"/components/avatar\",\"site-stories\":[{\"heading\":\"Base\",\"path\":\"/__examples__/base.jsx\"},{\"heading\":\"User Initials\",\"path\":\"/__examples__/user-initials.jsx\"},{\"heading\":\"User Icon\",\"path\":\"/__examples__/user-icon.jsx\"},{\"heading\":\"Entity Initials\",\"path\":\"/__examples__/entity-initials.jsx\"},{\"heading\":\"Entity Icon\",\"path\":\"/__examples__/entity-icon.jsx\"}],\"url-slug\":\"avatars\"}"); + +/***/ }), +/* 37 */ +/***/ (function(module) { + +module.exports = JSON.parse("{\"component\":\"breadcrumb\",\"status\":\"prod\",\"display-name\":\"Breadcrumbs\",\"classKey\":\"Breadcrumb\",\"last-accessibility-review\":{\"date-iso-8601\":\"2018/01/18\",\"commit-sha\":\"ad6b6c6523ee21cada11be5f7ea4d99abc530726\"},\"SLDS-component-path\":\"/components/breadcrumb\",\"site-stories\":[{\"heading\":\"Base\",\"path\":\"/__examples__/base.jsx\"},{\"heading\":\"One Item\",\"path\":\"/__examples__/one-item.jsx\"},{\"heading\":\"With Overflow Menu\",\"path\":\"/__examples__/base-with-overflow-menu.jsx\"}],\"url-slug\":\"breadcrumbs\"}"); + +/***/ }), +/* 38 */ +/***/ (function(module) { + +module.exports = JSON.parse("{\"component\":\"menu-dropdown\",\"status\":\"prod\",\"display-name\":\"Dropdown Menus\",\"classKey\":\"MenuDropdown\",\"last-accessibility-review\":{\"date-iso-8601\":\"2018/01/18\",\"commit-sha\":\"ad6b6c6523ee21cada11be5f7ea4d99abc530726\"},\"SLDS-component-path\":\"/components/menus#flavor-dropdown\",\"dependencies\":[{\"component\":\"button-trigger\",\"classKey\":\"MenuDropdownButtonTrigger\"}],\"site-stories\":[{\"heading\":\"Default\",\"path\":\"/__examples__/default.jsx\"},{\"heading\":\"With Icon Label\",\"path\":\"/__examples__/default-icon-label.jsx\"},{\"heading\":\"With Subheadings\",\"path\":\"/__examples__/sub-heading.jsx\"},{\"heading\":\"Custom trigger\",\"path\":\"/__examples__/custom-trigger.jsx\"},{\"heading\":\"Checkmark Selection\",\"path\":\"/__examples__/checkmark.jsx\"}],\"url-slug\":\"menu-dropdowns\"}"); + +/***/ }), +/* 39 */ +/***/ (function(module) { + +module.exports = JSON.parse("{\"component\":\"button-stateful\",\"status\":\"prod\",\"display-name\":\"Stateful Buttons\",\"classKey\":\"ButtonStateful\",\"SLDS-component-path\":\"/components/button/#flavor-stateful\",\"site-stories\":[{\"heading\":\"Icon Only\",\"path\":\"/__examples__/icon.jsx\"},{\"heading\":\"Icon and Text\",\"path\":\"/__examples__/icon-text.jsx\"}],\"url-slug\":\"stateful-buttons\"}"); + +/***/ }), +/* 40 */ +/***/ (function(module) { + +module.exports = JSON.parse("{\"component\":\"spinner\",\"status\":\"prod\",\"display-name\":\"Spinners\",\"classKey\":\"Spinner\",\"SLDS-component-path\":\"/components/spinner\",\"site-stories\":[{\"heading\":\"Default\",\"path\":\"/__examples__/default.jsx\"}],\"url-slug\":\"spinners\"}"); + +/***/ }), +/* 41 */ +/***/ (function(module) { + +module.exports = JSON.parse("{\"component\":\"checkbox\",\"status\":\"prod\",\"display-name\":\"Checkboxes\",\"classKey\":\"Checkbox\",\"last-accessibility-review\":{\"date-iso-8601\":\"2018/01/18\",\"commit-sha\":\"ad6b6c6523ee21cada11be5f7ea4d99abc530726\"},\"SLDS-component-path\":\"/components/checkbox\",\"site-stories\":[{\"heading\":\"Default\",\"path\":\"/__examples__/default.jsx\"},{\"heading\":\"Error State\",\"path\":\"/__examples__/error.jsx\"},{\"heading\":\"Toggle\",\"path\":\"/__examples__/toggle.jsx\"},{\"heading\":\"Grouped with Tri-State\",\"path\":\"/__examples__/grouped-with-tristate.jsx\"}],\"url-slug\":\"checkboxes\"}"); + +/***/ }), +/* 42 */ +/***/ (function(module) { + +module.exports = JSON.parse("{\"component\":\"radio\",\"status\":\"prod\",\"display-name\":\"Radios\",\"classKey\":\"Radio\",\"last-accessibility-review\":{\"date-iso-8601\":\"2018/01/18\",\"commit-sha\":\"ad6b6c6523ee21cada11be5f7ea4d99abc530726\"},\"site-stories\":[{\"heading\":\"Default\",\"path\":\"/__examples__/default.jsx\"},{\"heading\":\"Disabled\",\"path\":\"/__examples__/disabled.jsx\"}],\"SLDS-component-path\":\"/components/radio-group/\",\"url-slug\":\"radios\"}"); + +/***/ }), +/* 43 */ +/***/ (function(module) { + +module.exports = JSON.parse("{\"component\":\"popover\",\"status\":\"prod\",\"display-name\":\"Popovers\",\"classKey\":\"Popover\",\"last-accessibility-review\":{\"date-iso-8601\":\"2018/01/18\",\"commit-sha\":\"ad6b6c6523ee21cada11be5f7ea4d99abc530726\"},\"SLDS-component-path\":\"/components/popovers\",\"site-stories\":[{\"heading\":\"With Header\",\"path\":\"/__examples__/header.jsx\"},{\"heading\":\"With Alternative Header\",\"path\":\"/__examples__/alternative-header.jsx\"},{\"heading\":\"Controlled State with Footer\",\"path\":\"/__examples__/controlled-with-footer.jsx\"},{\"heading\":\"Custom Target\",\"path\":\"/__examples__/custom-target.jsx\"},{\"heading\":\"Error Theme\",\"path\":\"/__examples__/error.jsx\"},{\"heading\":\"Feature\",\"path\":\"/__examples__/feature.jsx\"},{\"heading\":\"Walkthrough\",\"path\":\"/__examples__/walkthrough.jsx\"},{\"heading\":\"Walkthrough Action\",\"path\":\"/__examples__/walkthrough-action.jsx\"},{\"heading\":\"Warning\",\"path\":\"/__examples__/warning.jsx\"},{\"heading\":\"Edit Dialog\",\"path\":\"/__examples__/edit-dialog.jsx\"}],\"url-slug\":\"popovers\"}"); + +/***/ }), +/* 44 */ +/***/ (function(module) { + +module.exports = JSON.parse("{\"component\":\"color-picker\",\"status\":\"prod\",\"display-name\":\"Color Pickers\",\"classKey\":\"ColorPicker\",\"SLDS-component-path\":\"/components/color-picker\",\"site-stories\":[{\"heading\":\"Default\",\"path\":\"/__examples__/default.jsx\"}],\"url-slug\":\"color-picker\"}"); + +/***/ }), +/* 45 */ +/***/ (function(module) { + +module.exports = JSON.parse("{\"component\":\"combobox\",\"status\":\"prod\",\"display-name\":\"Comboboxes\",\"classKey\":\"Combobox\",\"last-accessibility-review\":{\"date-iso-8601\":\"2017/08/21\",\"commit-sha\":\"295a4766f712a5f93743c4ecd3ba62d91c1fc153\"},\"SLDS-component-path\":\"/components/combobox\",\"site-stories\":[{\"heading\":\"Base\",\"path\":\"/__examples__/base.jsx\"},{\"heading\":\"Base: With subheader\",\"path\":\"/__examples__/base-menu-subheader.jsx\"},{\"heading\":\"Base: Inherit Menu Width\",\"path\":\"/__examples__/base-inherit-menu-width.jsx\"},{\"heading\":\"Base: Predefined options only\",\"path\":\"/__examples__/base-predefined-options-only.jsx\"},{\"heading\":\"Base With Scroll\",\"path\":\"/__examples__/base-with-scroll.jsx\"},{\"heading\":\"Base: With dialog\",\"path\":\"/__examples__/dialog.jsx\"},{\"heading\":\"Inline single selection\",\"path\":\"/__examples__/inline-single.jsx\"},{\"heading\":\"Inline: Single Selection with Entity Selection\",\"path\":\"/__examples__/inline-single-entity-combobox.jsx\"},{\"heading\":\"Inline: Single Selection with Search and Add Menu Items\",\"path\":\"/__examples__/inline-single-search-add-entities.jsx\"},{\"heading\":\"Inline: Multiple Selection with Loading State\",\"path\":\"/__examples__/inline-multiple-loading.jsx\"},{\"heading\":\"Read-only: Single Selection (Picklist)\",\"path\":\"/__examples__/readonly-single.jsx\"},{\"heading\":\"Read-only: Multiple Selection (Picklist)\",\"path\":\"/__examples__/readonly-multiple.jsx\"},{\"heading\":\"Required Input and Error State\",\"path\":\"/__examples__/required-input-error-state.jsx\"}],\"url-slug\":\"comboboxes\"}"); + +/***/ }), +/* 46 */ +/***/ (function(module) { + +module.exports = JSON.parse("{\"component\":\"data-table\",\"status\":\"prod\",\"display-name\":\"Data Tables\",\"classKey\":\"DataTable\",\"last-accessibility-review\":{\"date-iso-8601\":\"2017/01/01\",\"deprecated-accessibility\":\"true\",\"commit-sha\":\"ad6b6c6523ee21cada11be5f7ea4d99abc530726\"},\"SLDS-component-path\":\"/components/data-tables\",\"dependencies\":[{\"component\":\"cell\",\"classKey\":\"DataTableCell\"},{\"component\":\"column\",\"classKey\":\"DataTableColumn\"},{\"component\":\"highlight-cell\",\"classKey\":\"DataTableHighlightCell\"},{\"component\":\"row-actions\",\"classKey\":\"DataTableRowActions\"}],\"site-stories\":[{\"heading\":\"Basic\",\"path\":\"/__examples__/basic-fluid.jsx\"},{\"heading\":\"Basic: Fluid and Striped\",\"path\":\"/__examples__/basic-fluid-striped.jsx\"},{\"heading\":\"Basic: No row hover\",\"path\":\"/__examples__/basic-fluid-no-row-hover.jsx\"},{\"heading\":\"Basic: Columns bordered\",\"path\":\"/__examples__/basic-fluid-column-bordered.jsx\"},{\"heading\":\"Fixed Layout\",\"path\":\"/__examples__/basic-fixed-layout.jsx\"},{\"heading\":\"Advanced\",\"path\":\"/__examples__/advanced.jsx\"},{\"heading\":\"Advanced: Single Selection\",\"path\":\"/__examples__/advanced-single-select.jsx\"},{\"heading\":\"Advanced: Fixed Header\",\"path\":\"/__examples__/fixed-header.jsx\"},{\"heading\":\"Advanced: Joined with Page Header\",\"path\":\"/__examples__/joined-with-page-header.jsx\"},{\"heading\":\"Custom Classes\",\"path\":\"/__examples__/custom-classes.jsx\"},{\"heading\":\"Infinite Scrolling\",\"path\":\"/__examples__/infinite-scrolling.jsx\"}],\"url-slug\":\"data-tables\"}"); + +/***/ }), +/* 47 */ +/***/ (function(module, exports) { + +module.exports = { + // Disabled state of BRAND_HEADER_CONTRAST_WEAK + brandHeaderContrastWeakDisabled: 'rgba(166, 166, 166, 0.25)', + // Gray Color 11 + colorGray11: 'rgb(62, 62, 60)', + // Transparent value of BRAND_PRIMARY at 10% + brandPrimaryTransparent10: 'rgba(21, 137, 238, 0.1)', + // Gray Color 12 + colorGray12: 'rgb(43, 40, 38)', + // These RGBA values need to be updated if BRAND_BACKGROUND_DARK changes, solves webkit bug + brandBackgroundDarkTransparent: 'rgba(221, 219, 218, 0)', + // Background color a branded app header + brandHeader: 'rgb(255, 255, 255)', + // Active / Hover state of BRAND_LIGHT + brandLightActive: 'rgb(227, 229, 237)', + // Variant of BRAND_HEADER_CONTRAST that provides a warm color + brandHeaderContrastWarm: 'rgb(191, 2, 1)', + // Disabled state of BRAND_HEADER_ICON + brandHeaderIconDisabled: 'rgba(145, 145, 145, 0.25)', + // Active / Hover state of BRAND_HEADER_CONTRAST + brandHeaderContrastActive: 'rgb(80, 80, 80)', + // Primary page background color + brandBackgroundPrimary: 'rgb(250, 250, 249)', + // Primary brand color + brandPrimary: 'rgb(21, 137, 238)', + // Active / Hover state of BRAND_HEADER_CONTRAST_WEAK + brandHeaderContrastWeakActive: 'rgb(129, 129, 129)', + // Active / Hover state of BRAND_CONTRAST + brandContrastActive: 'rgb(13, 14, 18)', + // Variant of BRAND_HEADER_CONTRAST that provides a cool color + brandHeaderContrastCool: 'rgb(0, 85, 131)', + // Variant of BRAND_HEADER that is accessible with BRAND_HEADER + brandHeaderContrastInverse: 'rgb(255, 255, 255)', + // Dark variant of BRAND that is accessible with light colors + brandDark: 'rgb(24, 35, 55)', + // Dark variant of BRAND that is accessible with white + brandAccessible: 'rgb(0, 112, 210)', + // Dark variant of BRAND_BACKGROUND_PRIMARY, used within gradient of background color + brandBackgroundDark: 'rgb(232, 232, 232)', + // Active / Hover state of BRAND_TEXT_LINK + brandTextLinkActive: 'rgb(0, 95, 178)', + // Gray Color 1 + colorGray1: 'rgb(255, 255, 255)', + // Gray Color 2 + colorGray2: 'rgb(250, 250, 249)', + // Active / Hover state of BRAND_HEADER_ICON + brandHeaderIconActive: 'rgb(129, 129, 129)', + // Gray Color 3 + colorGray3: 'rgb(243, 242, 242)', + // Icons of BRAND_HEADER that is accessible with BRAND_HEADER + brandHeaderIcon: 'rgb(145, 145, 145)', + // Disabled state of BRAND_A11Y + brandDisabled: 'rgb(201, 199, 197)', + // Primary text link brand color + brandTextLink: 'rgb(0, 109, 204)', + // Gray Color 4 + colorGray4: 'rgb(236, 235, 234)', + // Gray Color 5 + colorGray5: 'rgb(221, 219, 218)', + // Gray Color 6 + colorGray6: 'rgb(201, 199, 197)', + // Active / Hover state of BRAND_A11Y + brandAccessibleActive: 'rgb(0, 95, 178)', + // Gray Color 7 + colorGray7: 'rgb(176, 173, 171)', + // Active / Hover state of BRAND_DARK + brandDarkActive: 'rgb(37, 48, 69)', + // Gray Color 8 + colorGray8: 'rgb(150, 148, 146)', + // Active / Hover state of BRAND_HEADER_CONTRAST + brandHeaderContrastInverseActive: 'rgb(238, 238, 238)', + // Active / Hover state of BRAND_HEADER_CONTRAST_COOL + brandHeaderContrastCoolActive: 'rgb(0, 85, 131)', + // Gray Color 9 + colorGray9: 'rgb(112, 110, 107)', + // Variant of BRAND that is accessible with BRAND + brandContrast: 'rgb(26, 27, 30)', + // Weak contrast ratio, useful for iconography + brandHeaderContrastWeak: 'rgb(145, 145, 145)', + // Active / Hover state of BRAND_PRIMARY + brandPrimaryActive: 'rgb(0, 122, 221)', + // These RGBA values need to be updated if BRAND_BACKGROUND_PRIMARY changes, solves webkit bug + brandBackgroundPrimaryTransparent: 'rgba(250, 250, 249, 0)', + // Variant of BRAND_HEADER that is accessible with BRAND_HEADER + brandHeaderContrast: 'rgb(94, 94, 94)', + // Transparent value of BRAND_PRIMARY + brandPrimaryTransparent: 'rgba(21, 137, 238, 0.1)', + // Active / Hover state of BRAND_HEADER_CONTRAST_WARM + brandHeaderContrastWarmActive: 'rgb(172, 0, 0)', + // Transparent value of BRAND_PRIMARY at 40% + brandPrimaryTransparent40: 'rgba(21, 137, 238, 0.4)', + // Light variant of BRAND that is accessible with dark colors + brandLight: 'rgb(244, 246, 254)', + // Gray Color 10 + colorGray10: 'rgb(81, 79, 77)' +}; + +/***/ }), +/* 48 */ +/***/ (function(module) { + +module.exports = JSON.parse("{\"component\":\"date-picker\",\"status\":\"prod\",\"display-name\":\"Datepickers\",\"classKey\":\"DatePicker\",\"last-accessibility-review\":{\"date-iso-8601\":\"2017/01/20\",\"commit-sha\":\"568f503b19ddc039207e4b5c2636461de937f5f0\"},\"SLDS-component-path\":\"/components/datepickers\",\"site-stories\":[{\"heading\":\"Default\",\"path\":\"/__examples__/default.jsx\"}],\"url-slug\":\"date-pickers\"}"); + +/***/ }), +/* 49 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var __extends = (this && this.__extends) || (function () { + var extendStatics = function (d, b) { + extendStatics = Object.setPrototypeOf || + ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || + function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; }; + return extendStatics(d, b); + }; + return function (d, b) { + extendStatics(d, b); + function __() { this.constructor = d; } + d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); + }; +})(); +var __assign = (this && this.__assign) || function () { + __assign = Object.assign || function(t) { + for (var s, i = 1, n = arguments.length; i < n; i++) { + s = arguments[i]; + for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) + t[p] = s[p]; + } + return t; + }; + return __assign.apply(this, arguments); +}; +var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } }); +}) : (function(o, m, k, k2) { + if (k2 === undefined) k2 = k; + o[k2] = m[k]; +})); +var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { + Object.defineProperty(o, "default", { enumerable: true, value: v }); +}) : function(o, v) { + o["default"] = v; +}); +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; +var __rest = (this && this.__rest) || function (s, e) { + var t = {}; + for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) + t[p] = s[p]; + if (s != null && typeof Object.getOwnPropertySymbols === "function") + for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) { + if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) + t[p[i]] = s[p[i]]; + } + return t; +}; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; +Object.defineProperty(exports, "__esModule", { value: true }); +var React = __importStar(__webpack_require__(1)); +var fast_deep_equal_1 = __importDefault(__webpack_require__(84)); +var PropTypes = __importStar(__webpack_require__(0)); +function normalizeHtml(str) { + return str && str.replace(/ |\u202F|\u00A0/g, ' '); +} +function replaceCaret(el) { + // Place the caret at the end of the element + var target = document.createTextNode(''); + el.appendChild(target); + // do not move caret if element was not focused + var isTargetFocused = document.activeElement === el; + if (target !== null && target.nodeValue !== null && isTargetFocused) { + var sel = window.getSelection(); + if (sel !== null) { + var range = document.createRange(); + range.setStart(target, target.nodeValue.length); + range.collapse(true); + sel.removeAllRanges(); + sel.addRange(range); + } + if (el instanceof HTMLElement) + el.focus(); + } +} +/** + * A simple component for an html element with editable contents. + */ +var ContentEditable = /** @class */ (function (_super) { + __extends(ContentEditable, _super); + function ContentEditable() { + var _this = _super !== null && _super.apply(this, arguments) || this; + _this.lastHtml = _this.props.html; + _this.el = typeof _this.props.innerRef === 'function' ? { current: null } : React.createRef(); + _this.getEl = function () { return (_this.props.innerRef && typeof _this.props.innerRef !== 'function' ? _this.props.innerRef : _this.el).current; }; + _this.emitChange = function (originalEvt) { + var el = _this.getEl(); + if (!el) + return; + var html = el.innerHTML; + if (_this.props.onChange && html !== _this.lastHtml) { + // Clone event with Object.assign to avoid + // "Cannot assign to read only property 'target' of object" + var evt = Object.assign({}, originalEvt, { + target: { + value: html + } + }); + _this.props.onChange(evt); + } + _this.lastHtml = html; + }; + return _this; + } + ContentEditable.prototype.render = function () { + var _this = this; + var _a = this.props, tagName = _a.tagName, html = _a.html, innerRef = _a.innerRef, props = __rest(_a, ["tagName", "html", "innerRef"]); + return React.createElement(tagName || 'div', __assign(__assign({}, props), { ref: typeof innerRef === 'function' ? function (current) { + innerRef(current); + _this.el.current = current; + } : innerRef || this.el, onInput: this.emitChange, onBlur: this.props.onBlur || this.emitChange, onKeyUp: this.props.onKeyUp || this.emitChange, onKeyDown: this.props.onKeyDown || this.emitChange, contentEditable: !this.props.disabled, dangerouslySetInnerHTML: { __html: html } }), this.props.children); + }; + ContentEditable.prototype.shouldComponentUpdate = function (nextProps) { + var props = this.props; + var el = this.getEl(); + // We need not rerender if the change of props simply reflects the user's edits. + // Rerendering in this case would make the cursor/caret jump + // Rerender if there is no element yet... (somehow?) + if (!el) + return true; + // ...or if html really changed... (programmatically, not by user edit) + if (normalizeHtml(nextProps.html) !== normalizeHtml(el.innerHTML)) { + return true; + } + // Handle additional properties + return props.disabled !== nextProps.disabled || + props.tagName !== nextProps.tagName || + props.className !== nextProps.className || + props.innerRef !== nextProps.innerRef || + !fast_deep_equal_1.default(props.style, nextProps.style); + }; + ContentEditable.prototype.componentDidUpdate = function () { + var el = this.getEl(); + if (!el) + return; + // Perhaps React (whose VDOM gets outdated because we often prevent + // rerendering) did not update the DOM. So we update it manually now. + if (this.props.html !== el.innerHTML) { + el.innerHTML = this.props.html; + } + this.lastHtml = this.props.html; + replaceCaret(el); + }; + ContentEditable.propTypes = { + html: PropTypes.string.isRequired, + onChange: PropTypes.func, + disabled: PropTypes.bool, + tagName: PropTypes.string, + className: PropTypes.string, + style: PropTypes.object, + innerRef: PropTypes.oneOfType([ + PropTypes.object, + PropTypes.func, + ]) + }; + return ContentEditable; +}(React.Component)); +exports.default = ContentEditable; + + +/***/ }), +/* 50 */ +/***/ (function(module) { + +module.exports = JSON.parse("{\"component\":\"global-header\",\"status\":\"prod\",\"display-name\":\"Global Header\",\"classKey\":\"GlobalHeader\",\"SLDS-component-path\":\"/components/global-header#flavor-base\",\"dependencies\":[{\"component\":\"favorites\",\"classKey\":\"GlobalHeaderFavorites\"},{\"component\":\"help\",\"classKey\":\"GlobalHeaderHelp\"},{\"component\":\"notifications\",\"classKey\":\"GlobalHeaderNotifications\"},{\"component\":\"profile\",\"classKey\":\"GlobalHeaderProfile\"},{\"component\":\"search\",\"classKey\":\"GlobalHeaderSearch\"},{\"component\":\"setup\",\"classKey\":\"GlobalHeaderSetup\"},{\"component\":\"task\",\"classKey\":\"GlobalHeaderTask\"}],\"site-stories\":[{\"heading\":\"Default\",\"path\":\"/__examples__/default.jsx\"}],\"url-slug\":\"global-headers\"}"); + +/***/ }), +/* 51 */ +/***/ (function(module) { + +module.exports = JSON.parse("{\"component\":\"illustration\",\"is-deprecated\":true,\"status\":\"prototype\",\"display-name\":\"Illustrations\",\"classKey\":\"Illustration\",\"SLDS-component-path\":\"/components/illustration\",\"site-stories\":[{\"heading\":\"Small Image with Text\",\"path\":\"/__examples__/small-image-text.jsx\"},{\"heading\":\"Large Image with Text\",\"path\":\"/__examples__/large-image-text.jsx\"},{\"heading\":\"With Heading and message\",\"path\":\"/__examples__/heading-message.jsx\"},{\"heading\":\"Heading Only\",\"path\":\"/__examples__/heading-only.jsx\"},{\"heading\":\"Message Only\",\"path\":\"/__examples__/message-only.jsx\"}],\"url-slug\":\"illustrations\"}"); + +/***/ }), +/* 52 */ +/***/ (function(module) { + +module.exports = JSON.parse("{\"component\":\"vertical-navigation\",\"status\":\"prod\",\"display-name\":\"Vertical Navigation\",\"classKey\":\"VerticalNavigation\",\"SLDS-component-path\":\"/components/vertical-navigation\",\"site-stories\":[{\"heading\":\"Default\",\"path\":\"/__examples__/default.jsx\"}],\"url-slug\":\"vertical-navigation\"}"); + +/***/ }), +/* 53 */ +/***/ (function(module) { + +module.exports = JSON.parse("{\"component\":\"page-header\",\"status\":\"prod\",\"display-name\":\"Page Headers\",\"classKey\":\"PageHeader\",\"SLDS-component-path\":\"/components/page-headers\",\"dependencies\":[{\"component\":\"control\",\"classKey\":\"PageHeaderControl\"}],\"site-stories\":[{\"heading\":\"Record Home\",\"path\":\"/__examples__/record-home.jsx\"},{\"heading\":\"Object Home\",\"path\":\"/__examples__/object-home.jsx\"},{\"heading\":\"Related list\",\"path\":\"/__examples__/related-list.jsx\"},{\"heading\":\"Setup\",\"path\":\"/__examples__/setup.jsx\"}],\"url-slug\":\"page-headers\"}"); + +/***/ }), +/* 54 */ +/***/ (function(module) { + +module.exports = JSON.parse("{\"component\":\"scoped-notification\",\"status\":\"prod\",\"display-name\":\"Scoped Notifications\",\"classKey\":\"ScopedNotification\",\"SLDS-component-path\":\"/components/scoped-notification\",\"site-stories\":[{\"heading\":\"Base\",\"path\":\"/__examples__/base.jsx\"},{\"heading\":\"Light\",\"path\":\"/__examples__/light.jsx\"},{\"heading\":\"Dark\",\"path\":\"/__examples__/dark.jsx\"},{\"heading\":\"With Custom Icon\",\"path\":\"/__examples__/custom-icon.jsx\"}],\"url-slug\":\"scoped-notifications\"}"); + +/***/ }), +/* 55 */ +/***/ (function(module) { + +module.exports = JSON.parse("{\"component\":\"textarea\",\"status\":\"prod\",\"display-name\":\"Textareas\",\"classKey\":\"Textarea\",\"SLDS-component-path\":\"/components/forms#flavor-textarea\",\"site-stories\":[{\"heading\":\"Default\",\"path\":\"/__examples__/default.jsx\"},{\"heading\":\"Error\",\"path\":\"/__examples__/error.jsx\"},{\"heading\":\"Disabled\",\"path\":\"/__examples__/disabled.jsx\"}],\"url-slug\":\"textareas\"}"); + +/***/ }), +/* 56 */ +/***/ (function(module, exports, __webpack_require__) { + +/* WEBPACK VAR INJECTION */(function(global, module) {/** + * lodash (Custom Build) <https://lodash.com/> + * Build: `lodash modularize exports="npm" -o ./` + * Copyright jQuery Foundation and other contributors <https://jquery.org/> + * Released under MIT license <https://lodash.com/license> + * Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE> + * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors + */ + +/** `Object#toString` result references. */ +var dateTag = '[object Date]'; + +/** Detect free variable `global` from Node.js. */ +var freeGlobal = typeof global == 'object' && global && global.Object === Object && global; + +/** Detect free variable `exports`. */ +var freeExports = true && exports && !exports.nodeType && exports; + +/** Detect free variable `module`. */ +var freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module; + +/** Detect the popular CommonJS extension `module.exports`. */ +var moduleExports = freeModule && freeModule.exports === freeExports; + +/** Detect free variable `process` from Node.js. */ +var freeProcess = moduleExports && freeGlobal.process; + +/** Used to access faster Node.js helpers. */ +var nodeUtil = (function() { + try { + return freeProcess && freeProcess.binding('util'); + } catch (e) {} +}()); + +/* Node.js helper references. */ +var nodeIsDate = nodeUtil && nodeUtil.isDate; + +/** + * The base implementation of `_.unary` without support for storing metadata. + * + * @private + * @param {Function} func The function to cap arguments for. + * @returns {Function} Returns the new capped function. + */ +function baseUnary(func) { + return function(value) { + return func(value); + }; +} + +/** Used for built-in method references. */ +var objectProto = Object.prototype; + +/** + * Used to resolve the + * [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring) + * of values. + */ +var objectToString = objectProto.toString; + +/** + * The base implementation of `_.isDate` without Node.js optimizations. + * + * @private + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a date object, else `false`. + */ +function baseIsDate(value) { + return isObjectLike(value) && objectToString.call(value) == dateTag; +} + +/** + * Checks if `value` is classified as a `Date` object. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a date object, else `false`. + * @example + * + * _.isDate(new Date); + * // => true + * + * _.isDate('Mon April 23 2012'); + * // => false + */ +var isDate = nodeIsDate ? baseUnary(nodeIsDate) : baseIsDate; + +/** + * Checks if `value` is object-like. A value is object-like if it's not `null` + * and has a `typeof` result of "object". + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is object-like, else `false`. + * @example + * + * _.isObjectLike({}); + * // => true + * + * _.isObjectLike([1, 2, 3]); + * // => true + * + * _.isObjectLike(_.noop); + * // => false + * + * _.isObjectLike(null); + * // => false + */ +function isObjectLike(value) { + return !!value && typeof value == 'object'; +} + +module.exports = isDate; + +/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(10), __webpack_require__(16)(module))) + +/***/ }), +/* 57 */ +/***/ (function(module) { + +module.exports = JSON.parse("{\"component\":\"time-picker\",\"status\":\"prod\",\"display-name\":\"Timepickers\",\"classKey\":\"TimePicker\",\"SLDS-component-path\":\"/components/timepicker\",\"site-stories\":[{\"heading\":\"Default\",\"path\":\"/__examples__/default.jsx\"}],\"url-slug\":\"timepickers\"}"); + +/***/ }), +/* 58 */ +/***/ (function(module) { + +module.exports = JSON.parse("{\"component\":\"toast\",\"status\":\"prod\",\"display-name\":\"Toasts\",\"classKey\":\"Toast\",\"last-accessibility-review\":{\"date-iso-8601\":\"2018/01/18\",\"commit-sha\":\"ad6b6c6523ee21cada11be5f7ea4d99abc530726\"},\"SLDS-component-path\":\"/components/toast\",\"dependencies\":[{\"component\":\"container\",\"classKey\":\"ToastContainer\"}],\"site-stories\":[{\"heading\":\"Informational\",\"path\":\"/__examples__/info.jsx\"},{\"heading\":\"Success\",\"path\":\"/__examples__/success.jsx\"},{\"heading\":\"Warning\",\"path\":\"/__examples__/warning.jsx\"},{\"heading\":\"Error\",\"path\":\"/__examples__/error.jsx\"},{\"heading\":\"Error with Details\",\"path\":\"/__examples__/error-with-details.jsx\"}],\"url-slug\":\"toasts\"}"); + +/***/ }), +/* 59 */ +/***/ (function(module) { + +module.exports = JSON.parse("{\"component\":\"tree\",\"status\":\"prod\",\"display-name\":\"Tree\",\"classKey\":\"Tree\",\"last-accessibility-review\":{\"date-iso-8601\":\"2018/05/04\",\"commit-sha\":\"5fdeb31982a42cbd37a70d96d6257142cd7eec72\"},\"last-slds-markup-review\":{\"date-iso-8601\":\"2018/05/04\",\"commit-sha\":\"5fdeb31982a42cbd37a70d96d6257142cd7eec72\"},\"SLDS-component-path\":\"/components/trees\",\"site-stories\":[{\"heading\":\"Default\",\"path\":\"/__examples__/default.jsx\"}],\"url-slug\":\"tree\"}"); + +/***/ }), +/* 60 */ +/***/ (function(module, exports, __webpack_require__) { + +module.exports = __webpack_require__(85); + + +/***/ }), +/* 61 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; +/** + * Copyright (c) 2013-present, Facebook, Inc. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ + + + +var ReactPropTypesSecret = __webpack_require__(62); + +function emptyFunction() {} +function emptyFunctionWithReset() {} +emptyFunctionWithReset.resetWarningCache = emptyFunction; + +module.exports = function() { + function shim(props, propName, componentName, location, propFullName, secret) { + if (secret === ReactPropTypesSecret) { + // It is still safe when called from React. + return; + } + var err = new Error( + 'Calling PropTypes validators directly is not supported by the `prop-types` package. ' + + 'Use PropTypes.checkPropTypes() to call them. ' + + 'Read more at http://fb.me/use-check-prop-types' + ); + err.name = 'Invariant Violation'; + throw err; + }; + shim.isRequired = shim; + function getShim() { + return shim; + }; + // Important! + // Keep this list in sync with production version in `./factoryWithTypeCheckers.js`. + var ReactPropTypes = { + array: shim, + bool: shim, + func: shim, + number: shim, + object: shim, + string: shim, + symbol: shim, + + any: shim, + arrayOf: getShim, + element: shim, + elementType: shim, + instanceOf: getShim, + node: shim, + objectOf: getShim, + oneOf: getShim, + oneOfType: getShim, + shape: getShim, + exact: getShim, + + checkPropTypes: emptyFunctionWithReset, + resetWarningCache: emptyFunction + }; + + ReactPropTypes.PropTypes = ReactPropTypes; + + return ReactPropTypes; +}; + + +/***/ }), +/* 62 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; +/** + * Copyright (c) 2013-present, Facebook, Inc. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ + + + +var ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED'; + +module.exports = ReactPropTypesSecret; + + +/***/ }), +/* 63 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + + +var alphabet = __webpack_require__(18); +var build = __webpack_require__(65); +var isValid = __webpack_require__(69); + +// if you are using cluster or multiple servers use this to make each instance +// has a unique value for worker +// Note: I don't know if this is automatically set when using third +// party cluster solutions such as pm2. +var clusterWorkerId = __webpack_require__(70) || 0; + +/** + * Set the seed. + * Highly recommended if you don't want people to try to figure out your id schema. + * exposed as shortid.seed(int) + * @param seed Integer value to seed the random alphabet. ALWAYS USE THE SAME SEED or you might get overlaps. + */ +function seed(seedValue) { + alphabet.seed(seedValue); + return module.exports; +} + +/** + * Set the cluster worker or machine id + * exposed as shortid.worker(int) + * @param workerId worker must be positive integer. Number less than 16 is recommended. + * returns shortid module so it can be chained. + */ +function worker(workerId) { + clusterWorkerId = workerId; + return module.exports; +} + +/** + * + * sets new characters to use in the alphabet + * returns the shuffled alphabet + */ +function characters(newCharacters) { + if (newCharacters !== undefined) { + alphabet.characters(newCharacters); + } + + return alphabet.shuffled(); +} + +/** + * Generate unique id + * Returns string id + */ +function generate() { + return build(clusterWorkerId); +} + +// Export all other functions as properties of the generate function +module.exports = generate; +module.exports.generate = generate; +module.exports.seed = seed; +module.exports.worker = worker; +module.exports.characters = characters; +module.exports.isValid = isValid; + + +/***/ }), +/* 64 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + + +// Found this seed-based random generator somewhere +// Based on The Central Randomizer 1.3 (C) 1997 by Paul Houle (houle@msc.cornell.edu) + +var seed = 1; + +/** + * return a random number based on a seed + * @param seed + * @returns {number} + */ +function getNextValue() { + seed = (seed * 9301 + 49297) % 233280; + return seed/(233280.0); +} + +function setSeed(_seed_) { + seed = _seed_; +} + +module.exports = { + nextValue: getNextValue, + seed: setSeed +}; + + +/***/ }), +/* 65 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + + +var generate = __webpack_require__(66); +var alphabet = __webpack_require__(18); + +// Ignore all milliseconds before a certain time to reduce the size of the date entropy without sacrificing uniqueness. +// This number should be updated every year or so to keep the generated id short. +// To regenerate `new Date() - 0` and bump the version. Always bump the version! +var REDUCE_TIME = 1567752802062; + +// don't change unless we change the algos or REDUCE_TIME +// must be an integer and less than 16 +var version = 7; + +// Counter is used when shortid is called multiple times in one second. +var counter; + +// Remember the last time shortid was called in case counter is needed. +var previousSeconds; + +/** + * Generate unique id + * Returns string id + */ +function build(clusterWorkerId) { + var str = ''; + + var seconds = Math.floor((Date.now() - REDUCE_TIME) * 0.001); + + if (seconds === previousSeconds) { + counter++; + } else { + counter = 0; + previousSeconds = seconds; + } + + str = str + generate(version); + str = str + generate(clusterWorkerId); + if (counter > 0) { + str = str + generate(counter); + } + str = str + generate(seconds); + return str; +} + +module.exports = build; + + +/***/ }), +/* 66 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + + +var alphabet = __webpack_require__(18); +var random = __webpack_require__(67); +var format = __webpack_require__(68); + +function generate(number) { + var loopCounter = 0; + var done; + + var str = ''; + + while (!done) { + str = str + format(random, alphabet.get(), 1); + done = number < (Math.pow(16, loopCounter + 1 ) ); + loopCounter++; + } + return str; +} + +module.exports = generate; + + +/***/ }), +/* 67 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + + +var crypto = typeof window === 'object' && (window.crypto || window.msCrypto); // IE 11 uses window.msCrypto + +var randomByte; + +if (!crypto || !crypto.getRandomValues) { + randomByte = function(size) { + var bytes = []; + for (var i = 0; i < size; i++) { + bytes.push(Math.floor(Math.random() * 256)); + } + return bytes; + }; +} else { + randomByte = function(size) { + return crypto.getRandomValues(new Uint8Array(size)); + }; +} + +module.exports = randomByte; + + +/***/ }), +/* 68 */ +/***/ (function(module, exports) { + +// This file replaces `format.js` in bundlers like webpack or Rollup, +// according to `browser` config in `package.json`. + +module.exports = function (random, alphabet, size) { + // We can’t use bytes bigger than the alphabet. To make bytes values closer + // to the alphabet, we apply bitmask on them. We look for the closest + // `2 ** x - 1` number, which will be bigger than alphabet size. If we have + // 30 symbols in the alphabet, we will take 31 (00011111). + // We do not use faster Math.clz32, because it is not available in browsers. + var mask = (2 << Math.log(alphabet.length - 1) / Math.LN2) - 1 + // Bitmask is not a perfect solution (in our example it will pass 31 bytes, + // which is bigger than the alphabet). As a result, we will need more bytes, + // than ID size, because we will refuse bytes bigger than the alphabet. + + // Every hardware random generator call is costly, + // because we need to wait for entropy collection. This is why often it will + // be faster to ask for few extra bytes in advance, to avoid additional calls. + + // Here we calculate how many random bytes should we call in advance. + // It depends on ID length, mask / alphabet size and magic number 1.6 + // (which was selected according benchmarks). + + // -~f => Math.ceil(f) if n is float number + // -~i => i + 1 if n is integer number + var step = -~(1.6 * mask * size / alphabet.length) + var id = '' + + while (true) { + var bytes = random(step) + // Compact alternative for `for (var i = 0; i < step; i++)` + var i = step + while (i--) { + // If random byte is bigger than alphabet even after bitmask, + // we refuse it by `|| ''`. + id += alphabet[bytes[i] & mask] || '' + // More compact than `id.length + 1 === size` + if (id.length === +size) return id + } + } +} + + +/***/ }), +/* 69 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var alphabet = __webpack_require__(18); + +function isShortId(id) { + if (!id || typeof id !== 'string' || id.length < 6 ) { + return false; + } + + var nonAlphabetic = new RegExp('[^' + + alphabet.get().replace(/[|\\{}()[\]^$+*?.-]/g, '\\$&') + + ']'); + return !nonAlphabetic.test(id); +} + +module.exports = isShortId; + + +/***/ }), +/* 70 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + + +module.exports = 0; + + +/***/ }), +/* 71 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.bodyOpenClassName = exports.portalClassName = undefined; + +var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; + +var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); + +var _react = __webpack_require__(1); + +var _react2 = _interopRequireDefault(_react); + +var _reactDom = __webpack_require__(6); + +var _reactDom2 = _interopRequireDefault(_reactDom); + +var _propTypes = __webpack_require__(0); + +var _propTypes2 = _interopRequireDefault(_propTypes); + +var _ModalPortal = __webpack_require__(72); + +var _ModalPortal2 = _interopRequireDefault(_ModalPortal); + +var _ariaAppHider = __webpack_require__(27); + +var ariaAppHider = _interopRequireWildcard(_ariaAppHider); + +var _safeHTMLElement = __webpack_require__(23); + +var _safeHTMLElement2 = _interopRequireDefault(_safeHTMLElement); + +var _reactLifecyclesCompat = __webpack_require__(78); + +function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } } + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } + +function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } + +var portalClassName = exports.portalClassName = "ReactModalPortal"; +var bodyOpenClassName = exports.bodyOpenClassName = "ReactModal__Body--open"; + +var isReact16 = _reactDom2.default.createPortal !== undefined; + +var getCreatePortal = function getCreatePortal() { + return isReact16 ? _reactDom2.default.createPortal : _reactDom2.default.unstable_renderSubtreeIntoContainer; +}; + +function getParentElement(parentSelector) { + return parentSelector(); +} + +var Modal = function (_Component) { + _inherits(Modal, _Component); + + function Modal() { + var _ref; + + var _temp, _this, _ret; + + _classCallCheck(this, Modal); + + for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) { + args[_key] = arguments[_key]; + } + + return _ret = (_temp = (_this = _possibleConstructorReturn(this, (_ref = Modal.__proto__ || Object.getPrototypeOf(Modal)).call.apply(_ref, [this].concat(args))), _this), _this.removePortal = function () { + !isReact16 && _reactDom2.default.unmountComponentAtNode(_this.node); + var parent = getParentElement(_this.props.parentSelector); + parent.removeChild(_this.node); + }, _this.portalRef = function (ref) { + _this.portal = ref; + }, _this.renderPortal = function (props) { + var createPortal = getCreatePortal(); + var portal = createPortal(_this, _react2.default.createElement(_ModalPortal2.default, _extends({ defaultStyles: Modal.defaultStyles }, props)), _this.node); + _this.portalRef(portal); + }, _temp), _possibleConstructorReturn(_this, _ret); + } + + _createClass(Modal, [{ + key: "componentDidMount", + value: function componentDidMount() { + if (!_safeHTMLElement.canUseDOM) return; + + if (!isReact16) { + this.node = document.createElement("div"); + } + this.node.className = this.props.portalClassName; + + var parent = getParentElement(this.props.parentSelector); + parent.appendChild(this.node); + + !isReact16 && this.renderPortal(this.props); + } + }, { + key: "getSnapshotBeforeUpdate", + value: function getSnapshotBeforeUpdate(prevProps) { + var prevParent = getParentElement(prevProps.parentSelector); + var nextParent = getParentElement(this.props.parentSelector); + return { prevParent: prevParent, nextParent: nextParent }; + } + }, { + key: "componentDidUpdate", + value: function componentDidUpdate(prevProps, _, snapshot) { + if (!_safeHTMLElement.canUseDOM) return; + var _props = this.props, + isOpen = _props.isOpen, + portalClassName = _props.portalClassName; + + + if (prevProps.portalClassName !== portalClassName) { + this.node.className = portalClassName; + } + + var prevParent = snapshot.prevParent, + nextParent = snapshot.nextParent; + + if (nextParent !== prevParent) { + prevParent.removeChild(this.node); + nextParent.appendChild(this.node); + } + + // Stop unnecessary renders if modal is remaining closed + if (!prevProps.isOpen && !isOpen) return; + + !isReact16 && this.renderPortal(this.props); + } + }, { + key: "componentWillUnmount", + value: function componentWillUnmount() { + if (!_safeHTMLElement.canUseDOM || !this.node || !this.portal) return; + + var state = this.portal.state; + var now = Date.now(); + var closesAt = state.isOpen && this.props.closeTimeoutMS && (state.closesAt || now + this.props.closeTimeoutMS); + + if (closesAt) { + if (!state.beforeClose) { + this.portal.closeWithTimeout(); + } + + setTimeout(this.removePortal, closesAt - now); + } else { + this.removePortal(); + } + } + }, { + key: "render", + value: function render() { + if (!_safeHTMLElement.canUseDOM || !isReact16) { + return null; + } + + if (!this.node && isReact16) { + this.node = document.createElement("div"); + } + + var createPortal = getCreatePortal(); + return createPortal(_react2.default.createElement(_ModalPortal2.default, _extends({ + ref: this.portalRef, + defaultStyles: Modal.defaultStyles + }, this.props)), this.node); + } + }], [{ + key: "setAppElement", + value: function setAppElement(element) { + ariaAppHider.setElement(element); + } + + /* eslint-disable react/no-unused-prop-types */ + + /* eslint-enable react/no-unused-prop-types */ + + }]); + + return Modal; +}(_react.Component); + +Modal.propTypes = { + isOpen: _propTypes2.default.bool.isRequired, + style: _propTypes2.default.shape({ + content: _propTypes2.default.object, + overlay: _propTypes2.default.object + }), + portalClassName: _propTypes2.default.string, + bodyOpenClassName: _propTypes2.default.string, + htmlOpenClassName: _propTypes2.default.string, + className: _propTypes2.default.oneOfType([_propTypes2.default.string, _propTypes2.default.shape({ + base: _propTypes2.default.string.isRequired, + afterOpen: _propTypes2.default.string.isRequired, + beforeClose: _propTypes2.default.string.isRequired + })]), + overlayClassName: _propTypes2.default.oneOfType([_propTypes2.default.string, _propTypes2.default.shape({ + base: _propTypes2.default.string.isRequired, + afterOpen: _propTypes2.default.string.isRequired, + beforeClose: _propTypes2.default.string.isRequired + })]), + appElement: _propTypes2.default.instanceOf(_safeHTMLElement2.default), + onAfterOpen: _propTypes2.default.func, + onRequestClose: _propTypes2.default.func, + closeTimeoutMS: _propTypes2.default.number, + ariaHideApp: _propTypes2.default.bool, + shouldFocusAfterRender: _propTypes2.default.bool, + shouldCloseOnOverlayClick: _propTypes2.default.bool, + shouldReturnFocusAfterClose: _propTypes2.default.bool, + parentSelector: _propTypes2.default.func, + aria: _propTypes2.default.object, + data: _propTypes2.default.object, + role: _propTypes2.default.string, + contentLabel: _propTypes2.default.string, + shouldCloseOnEsc: _propTypes2.default.bool, + overlayRef: _propTypes2.default.func, + contentRef: _propTypes2.default.func +}; +Modal.defaultProps = { + isOpen: false, + portalClassName: portalClassName, + bodyOpenClassName: bodyOpenClassName, + role: "dialog", + ariaHideApp: true, + closeTimeoutMS: 0, + shouldFocusAfterRender: true, + shouldCloseOnEsc: true, + shouldCloseOnOverlayClick: true, + shouldReturnFocusAfterClose: true, + parentSelector: function parentSelector() { + return document.body; + } +}; +Modal.defaultStyles = { + overlay: { + position: "fixed", + top: 0, + left: 0, + right: 0, + bottom: 0, + backgroundColor: "rgba(255, 255, 255, 0.75)" + }, + content: { + position: "absolute", + top: "40px", + left: "40px", + right: "40px", + bottom: "40px", + border: "1px solid #ccc", + background: "#fff", + overflow: "auto", + WebkitOverflowScrolling: "touch", + borderRadius: "4px", + outline: "none", + padding: "20px" + } +}; + + +(0, _reactLifecyclesCompat.polyfill)(Modal); + +exports.default = Modal; + +/***/ }), +/* 72 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", { + value: true +}); + +var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; + +var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; + +var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); + +var _react = __webpack_require__(1); + +var _react2 = _interopRequireDefault(_react); + +var _propTypes = __webpack_require__(0); + +var _propTypes2 = _interopRequireDefault(_propTypes); + +var _focusManager = __webpack_require__(73); + +var focusManager = _interopRequireWildcard(_focusManager); + +var _scopeTab = __webpack_require__(74); + +var _scopeTab2 = _interopRequireDefault(_scopeTab); + +var _ariaAppHider = __webpack_require__(27); + +var ariaAppHider = _interopRequireWildcard(_ariaAppHider); + +var _classList = __webpack_require__(77); + +var classList = _interopRequireWildcard(_classList); + +var _safeHTMLElement = __webpack_require__(23); + +var _safeHTMLElement2 = _interopRequireDefault(_safeHTMLElement); + +function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } } + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } + +function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } + +// so that our CSS is statically analyzable +var CLASS_NAMES = { + overlay: "ReactModal__Overlay", + content: "ReactModal__Content" +}; + +var TAB_KEY = 9; +var ESC_KEY = 27; + +var ariaHiddenInstances = 0; + +var ModalPortal = function (_Component) { + _inherits(ModalPortal, _Component); + + function ModalPortal(props) { + _classCallCheck(this, ModalPortal); + + var _this = _possibleConstructorReturn(this, (ModalPortal.__proto__ || Object.getPrototypeOf(ModalPortal)).call(this, props)); + + _this.setOverlayRef = function (overlay) { + _this.overlay = overlay; + _this.props.overlayRef && _this.props.overlayRef(overlay); + }; + + _this.setContentRef = function (content) { + _this.content = content; + _this.props.contentRef && _this.props.contentRef(content); + }; + + _this.afterClose = function () { + var _this$props = _this.props, + appElement = _this$props.appElement, + ariaHideApp = _this$props.ariaHideApp, + htmlOpenClassName = _this$props.htmlOpenClassName, + bodyOpenClassName = _this$props.bodyOpenClassName; + + // Remove classes. + + bodyOpenClassName && classList.remove(document.body, bodyOpenClassName); + + htmlOpenClassName && classList.remove(document.getElementsByTagName("html")[0], htmlOpenClassName); + + // Reset aria-hidden attribute if all modals have been removed + if (ariaHideApp && ariaHiddenInstances > 0) { + ariaHiddenInstances -= 1; + + if (ariaHiddenInstances === 0) { + ariaAppHider.show(appElement); + } + } + + if (_this.props.shouldFocusAfterRender) { + if (_this.props.shouldReturnFocusAfterClose) { + focusManager.returnFocus(); + focusManager.teardownScopedFocus(); + } else { + focusManager.popWithoutFocus(); + } + } + + if (_this.props.onAfterClose) { + _this.props.onAfterClose(); + } + }; + + _this.open = function () { + _this.beforeOpen(); + if (_this.state.afterOpen && _this.state.beforeClose) { + clearTimeout(_this.closeTimer); + _this.setState({ beforeClose: false }); + } else { + if (_this.props.shouldFocusAfterRender) { + focusManager.setupScopedFocus(_this.node); + focusManager.markForFocusLater(); + } + + _this.setState({ isOpen: true }, function () { + _this.setState({ afterOpen: true }); + + if (_this.props.isOpen && _this.props.onAfterOpen) { + _this.props.onAfterOpen(); + } + }); + } + }; + + _this.close = function () { + if (_this.props.closeTimeoutMS > 0) { + _this.closeWithTimeout(); + } else { + _this.closeWithoutTimeout(); + } + }; + + _this.focusContent = function () { + return _this.content && !_this.contentHasFocus() && _this.content.focus(); + }; + + _this.closeWithTimeout = function () { + var closesAt = Date.now() + _this.props.closeTimeoutMS; + _this.setState({ beforeClose: true, closesAt: closesAt }, function () { + _this.closeTimer = setTimeout(_this.closeWithoutTimeout, _this.state.closesAt - Date.now()); + }); + }; + + _this.closeWithoutTimeout = function () { + _this.setState({ + beforeClose: false, + isOpen: false, + afterOpen: false, + closesAt: null + }, _this.afterClose); + }; + + _this.handleKeyDown = function (event) { + if (event.keyCode === TAB_KEY) { + (0, _scopeTab2.default)(_this.content, event); + } + + if (_this.props.shouldCloseOnEsc && event.keyCode === ESC_KEY) { + event.stopPropagation(); + _this.requestClose(event); + } + }; + + _this.handleOverlayOnClick = function (event) { + if (_this.shouldClose === null) { + _this.shouldClose = true; + } + + if (_this.shouldClose && _this.props.shouldCloseOnOverlayClick) { + if (_this.ownerHandlesClose()) { + _this.requestClose(event); + } else { + _this.focusContent(); + } + } + _this.shouldClose = null; + }; + + _this.handleContentOnMouseUp = function () { + _this.shouldClose = false; + }; + + _this.handleOverlayOnMouseDown = function (event) { + if (!_this.props.shouldCloseOnOverlayClick && event.target == _this.overlay) { + event.preventDefault(); + } + }; + + _this.handleContentOnClick = function () { + _this.shouldClose = false; + }; + + _this.handleContentOnMouseDown = function () { + _this.shouldClose = false; + }; + + _this.requestClose = function (event) { + return _this.ownerHandlesClose() && _this.props.onRequestClose(event); + }; + + _this.ownerHandlesClose = function () { + return _this.props.onRequestClose; + }; + + _this.shouldBeClosed = function () { + return !_this.state.isOpen && !_this.state.beforeClose; + }; + + _this.contentHasFocus = function () { + return document.activeElement === _this.content || _this.content.contains(document.activeElement); + }; + + _this.buildClassName = function (which, additional) { + var classNames = (typeof additional === "undefined" ? "undefined" : _typeof(additional)) === "object" ? additional : { + base: CLASS_NAMES[which], + afterOpen: CLASS_NAMES[which] + "--after-open", + beforeClose: CLASS_NAMES[which] + "--before-close" + }; + var className = classNames.base; + if (_this.state.afterOpen) { + className = className + " " + classNames.afterOpen; + } + if (_this.state.beforeClose) { + className = className + " " + classNames.beforeClose; + } + return typeof additional === "string" && additional ? className + " " + additional : className; + }; + + _this.attributesFromObject = function (prefix, items) { + return Object.keys(items).reduce(function (acc, name) { + acc[prefix + "-" + name] = items[name]; + return acc; + }, {}); + }; + + _this.state = { + afterOpen: false, + beforeClose: false + }; + + _this.shouldClose = null; + _this.moveFromContentToOverlay = null; + return _this; + } + + _createClass(ModalPortal, [{ + key: "componentDidMount", + value: function componentDidMount() { + if (this.props.isOpen) { + this.open(); + } + } + }, { + key: "componentDidUpdate", + value: function componentDidUpdate(prevProps, prevState) { + if (false) {} + + if (this.props.isOpen && !prevProps.isOpen) { + this.open(); + } else if (!this.props.isOpen && prevProps.isOpen) { + this.close(); + } + + // Focus only needs to be set once when the modal is being opened + if (this.props.shouldFocusAfterRender && this.state.isOpen && !prevState.isOpen) { + this.focusContent(); + } + } + }, { + key: "componentWillUnmount", + value: function componentWillUnmount() { + this.afterClose(); + clearTimeout(this.closeTimer); + } + }, { + key: "beforeOpen", + value: function beforeOpen() { + var _props = this.props, + appElement = _props.appElement, + ariaHideApp = _props.ariaHideApp, + htmlOpenClassName = _props.htmlOpenClassName, + bodyOpenClassName = _props.bodyOpenClassName; + + // Add classes. + + bodyOpenClassName && classList.add(document.body, bodyOpenClassName); + + htmlOpenClassName && classList.add(document.getElementsByTagName("html")[0], htmlOpenClassName); + + if (ariaHideApp) { + ariaHiddenInstances += 1; + ariaAppHider.hide(appElement); + } + } + + // Don't steal focus from inner elements + + }, { + key: "render", + value: function render() { + var _props2 = this.props, + className = _props2.className, + overlayClassName = _props2.overlayClassName, + defaultStyles = _props2.defaultStyles; + + var contentStyles = className ? {} : defaultStyles.content; + var overlayStyles = overlayClassName ? {} : defaultStyles.overlay; + + return this.shouldBeClosed() ? null : _react2.default.createElement( + "div", + { + ref: this.setOverlayRef, + className: this.buildClassName("overlay", overlayClassName), + style: _extends({}, overlayStyles, this.props.style.overlay), + onClick: this.handleOverlayOnClick, + onMouseDown: this.handleOverlayOnMouseDown + }, + _react2.default.createElement( + "div", + _extends({ + ref: this.setContentRef, + style: _extends({}, contentStyles, this.props.style.content), + className: this.buildClassName("content", className), + tabIndex: "-1", + onKeyDown: this.handleKeyDown, + onMouseDown: this.handleContentOnMouseDown, + onMouseUp: this.handleContentOnMouseUp, + onClick: this.handleContentOnClick, + role: this.props.role, + "aria-label": this.props.contentLabel + }, this.attributesFromObject("aria", this.props.aria || {}), this.attributesFromObject("data", this.props.data || {}), { + "data-testid": this.props.testId + }), + this.props.children + ) + ); + } + }]); + + return ModalPortal; +}(_react.Component); + +ModalPortal.defaultProps = { + style: { + overlay: {}, + content: {} + }, + defaultStyles: {} +}; +ModalPortal.propTypes = { + isOpen: _propTypes2.default.bool.isRequired, + defaultStyles: _propTypes2.default.shape({ + content: _propTypes2.default.object, + overlay: _propTypes2.default.object + }), + style: _propTypes2.default.shape({ + content: _propTypes2.default.object, + overlay: _propTypes2.default.object + }), + className: _propTypes2.default.oneOfType([_propTypes2.default.string, _propTypes2.default.object]), + overlayClassName: _propTypes2.default.oneOfType([_propTypes2.default.string, _propTypes2.default.object]), + bodyOpenClassName: _propTypes2.default.string, + htmlOpenClassName: _propTypes2.default.string, + ariaHideApp: _propTypes2.default.bool, + appElement: _propTypes2.default.instanceOf(_safeHTMLElement2.default), + onAfterOpen: _propTypes2.default.func, + onAfterClose: _propTypes2.default.func, + onRequestClose: _propTypes2.default.func, + closeTimeoutMS: _propTypes2.default.number, + shouldFocusAfterRender: _propTypes2.default.bool, + shouldCloseOnOverlayClick: _propTypes2.default.bool, + shouldReturnFocusAfterClose: _propTypes2.default.bool, + role: _propTypes2.default.string, + contentLabel: _propTypes2.default.string, + aria: _propTypes2.default.object, + data: _propTypes2.default.object, + children: _propTypes2.default.node, + shouldCloseOnEsc: _propTypes2.default.bool, + overlayRef: _propTypes2.default.func, + contentRef: _propTypes2.default.func, + testId: _propTypes2.default.string +}; +exports.default = ModalPortal; +module.exports = exports["default"]; + +/***/ }), +/* 73 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.handleBlur = handleBlur; +exports.handleFocus = handleFocus; +exports.markForFocusLater = markForFocusLater; +exports.returnFocus = returnFocus; +exports.popWithoutFocus = popWithoutFocus; +exports.setupScopedFocus = setupScopedFocus; +exports.teardownScopedFocus = teardownScopedFocus; + +var _tabbable = __webpack_require__(26); + +var _tabbable2 = _interopRequireDefault(_tabbable); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +var focusLaterElements = []; +var modalElement = null; +var needToFocus = false; + +function handleBlur() { + needToFocus = true; +} + +function handleFocus() { + if (needToFocus) { + needToFocus = false; + if (!modalElement) { + return; + } + // need to see how jQuery shims document.on('focusin') so we don't need the + // setTimeout, firefox doesn't support focusin, if it did, we could focus + // the element outside of a setTimeout. Side-effect of this implementation + // is that the document.body gets focus, and then we focus our element right + // after, seems fine. + setTimeout(function () { + if (modalElement.contains(document.activeElement)) { + return; + } + var el = (0, _tabbable2.default)(modalElement)[0] || modalElement; + el.focus(); + }, 0); + } +} + +function markForFocusLater() { + focusLaterElements.push(document.activeElement); +} + +/* eslint-disable no-console */ +function returnFocus() { + var toFocus = null; + try { + if (focusLaterElements.length !== 0) { + toFocus = focusLaterElements.pop(); + toFocus.focus(); + } + return; + } catch (e) { + console.warn(["You tried to return focus to", toFocus, "but it is not in the DOM anymore"].join(" ")); + } +} +/* eslint-enable no-console */ + +function popWithoutFocus() { + focusLaterElements.length > 0 && focusLaterElements.pop(); +} + +function setupScopedFocus(element) { + modalElement = element; + + if (window.addEventListener) { + window.addEventListener("blur", handleBlur, false); + document.addEventListener("focus", handleFocus, true); + } else { + window.attachEvent("onBlur", handleBlur); + document.attachEvent("onFocus", handleFocus); + } +} + +function teardownScopedFocus() { + modalElement = null; + + if (window.addEventListener) { + window.removeEventListener("blur", handleBlur); + document.removeEventListener("focus", handleFocus); + } else { + window.detachEvent("onBlur", handleBlur); + document.detachEvent("onFocus", handleFocus); + } +} + +/***/ }), +/* 74 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.default = scopeTab; + +var _tabbable = __webpack_require__(26); + +var _tabbable2 = _interopRequireDefault(_tabbable); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +function scopeTab(node, event) { + var tabbable = (0, _tabbable2.default)(node); + + if (!tabbable.length) { + // Do nothing, since there are no elements that can receive focus. + event.preventDefault(); + return; + } + + var shiftKey = event.shiftKey; + var head = tabbable[0]; + var tail = tabbable[tabbable.length - 1]; + + // proceed with default browser behavior on tab. + // Focus on last element on shift + tab. + if (node === document.activeElement) { + if (!shiftKey) return; + target = tail; + } + + var target; + if (tail === document.activeElement && !shiftKey) { + target = head; + } + + if (head === document.activeElement && shiftKey) { + target = tail; + } + + if (target) { + event.preventDefault(); + target.focus(); + return; + } + + // Safari radio issue. + // + // Safari does not move the focus to the radio button, + // so we need to force it to really walk through all elements. + // + // This is very error prone, since we are trying to guess + // if it is a safari browser from the first occurence between + // chrome or safari. + // + // The chrome user agent contains the first ocurrence + // as the 'chrome/version' and later the 'safari/version'. + var checkSafari = /(\bChrome\b|\bSafari\b)\//.exec(navigator.userAgent); + var isSafariDesktop = checkSafari != null && checkSafari[1] != "Chrome" && /\biPod\b|\biPad\b/g.exec(navigator.userAgent) == null; + + // If we are not in safari desktop, let the browser control + // the focus + if (!isSafariDesktop) return; + + var x = tabbable.indexOf(document.activeElement); + + if (x > -1) { + x += shiftKey ? -1 : 1; + } + + // If the tabbable element does not exist, + // focus head/tail based on shiftKey + if (typeof tabbable[x] === "undefined") { + event.preventDefault(); + target = shiftKey ? tail : head; + target.focus(); + return; + } + + event.preventDefault(); + + tabbable[x].focus(); +} +module.exports = exports["default"]; + +/***/ }), +/* 75 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; +/** + * Copyright 2014-2015, Facebook, Inc. + * All rights reserved. + * + * This source code is licensed under the BSD-style license found in the + * LICENSE file in the root directory of this source tree. An additional grant + * of patent rights can be found in the PATENTS file in the same directory. + */ + + + +/** + * Similar to invariant but only logs a warning if the condition is not met. + * This can be used to log issues in development environments in critical + * paths. Removing the logging code for production environments will keep the + * same logic and follow the same code paths. + */ + +var warning = function() {}; + +if (false) {} + +module.exports = warning; + + +/***/ }), +/* 76 */ +/***/ (function(module, exports, __webpack_require__) { + +var __WEBPACK_AMD_DEFINE_RESULT__;/*! + Copyright (c) 2015 Jed Watson. + Based on code that is Copyright 2013-2015, Facebook, Inc. + All rights reserved. +*/ +/* global define */ + +(function () { + 'use strict'; + + var canUseDOM = !!( + typeof window !== 'undefined' && + window.document && + window.document.createElement + ); + + var ExecutionEnvironment = { + + canUseDOM: canUseDOM, + + canUseWorkers: typeof Worker !== 'undefined', + + canUseEventListeners: + canUseDOM && !!(window.addEventListener || window.attachEvent), + + canUseViewport: canUseDOM && !!window.screen + + }; + + if (true) { + !(__WEBPACK_AMD_DEFINE_RESULT__ = (function () { + return ExecutionEnvironment; + }).call(exports, __webpack_require__, exports, module), + __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); + } else {} + +}()); + + +/***/ }), +/* 77 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.dumpClassLists = dumpClassLists; +var htmlClassList = {}; +var docBodyClassList = {}; + +function dumpClassLists() { + if (false) { var _x, x, buffer, classes; } +} + +/** + * Track the number of reference of a class. + * @param {object} poll The poll to receive the reference. + * @param {string} className The class name. + * @return {string} + */ +var incrementReference = function incrementReference(poll, className) { + if (!poll[className]) { + poll[className] = 0; + } + poll[className] += 1; + return className; +}; + +/** + * Drop the reference of a class. + * @param {object} poll The poll to receive the reference. + * @param {string} className The class name. + * @return {string} + */ +var decrementReference = function decrementReference(poll, className) { + if (poll[className]) { + poll[className] -= 1; + } + return className; +}; + +/** + * Track a class and add to the given class list. + * @param {Object} classListRef A class list of an element. + * @param {Object} poll The poll to be used. + * @param {Array} classes The list of classes to be tracked. + */ +var trackClass = function trackClass(classListRef, poll, classes) { + classes.forEach(function (className) { + incrementReference(poll, className); + classListRef.add(className); + }); +}; + +/** + * Untrack a class and remove from the given class list if the reference + * reaches 0. + * @param {Object} classListRef A class list of an element. + * @param {Object} poll The poll to be used. + * @param {Array} classes The list of classes to be untracked. + */ +var untrackClass = function untrackClass(classListRef, poll, classes) { + classes.forEach(function (className) { + decrementReference(poll, className); + poll[className] === 0 && classListRef.remove(className); + }); +}; + +/** + * Public inferface to add classes to the document.body. + * @param {string} bodyClass The class string to be added. + * It may contain more then one class + * with ' ' as separator. + */ +var add = exports.add = function add(element, classString) { + return trackClass(element.classList, element.nodeName.toLowerCase() == "html" ? htmlClassList : docBodyClassList, classString.split(" ")); +}; + +/** + * Public inferface to remove classes from the document.body. + * @param {string} bodyClass The class string to be added. + * It may contain more then one class + * with ' ' as separator. + */ +var remove = exports.remove = function remove(element, classString) { + return untrackClass(element.classList, element.nodeName.toLowerCase() == "html" ? htmlClassList : docBodyClassList, classString.split(" ")); +}; + +/***/ }), +/* 78 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "polyfill", function() { return polyfill; }); +/** + * Copyright (c) 2013-present, Facebook, Inc. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ + +function componentWillMount() { + // Call this.constructor.gDSFP to support sub-classes. + var state = this.constructor.getDerivedStateFromProps(this.props, this.state); + if (state !== null && state !== undefined) { + this.setState(state); + } +} + +function componentWillReceiveProps(nextProps) { + // Call this.constructor.gDSFP to support sub-classes. + // Use the setState() updater to ensure state isn't stale in certain edge cases. + function updater(prevState) { + var state = this.constructor.getDerivedStateFromProps(nextProps, prevState); + return state !== null && state !== undefined ? state : null; + } + // Binding "this" is important for shallow renderer support. + this.setState(updater.bind(this)); +} + +function componentWillUpdate(nextProps, nextState) { + try { + var prevProps = this.props; + var prevState = this.state; + this.props = nextProps; + this.state = nextState; + this.__reactInternalSnapshotFlag = true; + this.__reactInternalSnapshot = this.getSnapshotBeforeUpdate( + prevProps, + prevState + ); + } finally { + this.props = prevProps; + this.state = prevState; + } +} + +// React may warn about cWM/cWRP/cWU methods being deprecated. +// Add a flag to suppress these warnings for this special case. +componentWillMount.__suppressDeprecationWarning = true; +componentWillReceiveProps.__suppressDeprecationWarning = true; +componentWillUpdate.__suppressDeprecationWarning = true; + +function polyfill(Component) { + var prototype = Component.prototype; + + if (!prototype || !prototype.isReactComponent) { + throw new Error('Can only polyfill class components'); + } + + if ( + typeof Component.getDerivedStateFromProps !== 'function' && + typeof prototype.getSnapshotBeforeUpdate !== 'function' + ) { + return Component; + } + + // If new component APIs are defined, "unsafe" lifecycles won't be called. + // Error if any of these lifecycles are present, + // Because they would work differently between older and newer (16.3+) versions of React. + var foundWillMountName = null; + var foundWillReceivePropsName = null; + var foundWillUpdateName = null; + if (typeof prototype.componentWillMount === 'function') { + foundWillMountName = 'componentWillMount'; + } else if (typeof prototype.UNSAFE_componentWillMount === 'function') { + foundWillMountName = 'UNSAFE_componentWillMount'; + } + if (typeof prototype.componentWillReceiveProps === 'function') { + foundWillReceivePropsName = 'componentWillReceiveProps'; + } else if (typeof prototype.UNSAFE_componentWillReceiveProps === 'function') { + foundWillReceivePropsName = 'UNSAFE_componentWillReceiveProps'; + } + if (typeof prototype.componentWillUpdate === 'function') { + foundWillUpdateName = 'componentWillUpdate'; + } else if (typeof prototype.UNSAFE_componentWillUpdate === 'function') { + foundWillUpdateName = 'UNSAFE_componentWillUpdate'; + } + if ( + foundWillMountName !== null || + foundWillReceivePropsName !== null || + foundWillUpdateName !== null + ) { + var componentName = Component.displayName || Component.name; + var newApiName = + typeof Component.getDerivedStateFromProps === 'function' + ? 'getDerivedStateFromProps()' + : 'getSnapshotBeforeUpdate()'; + + throw Error( + 'Unsafe legacy lifecycles will not be called for components using new component APIs.\n\n' + + componentName + + ' uses ' + + newApiName + + ' but also contains the following legacy lifecycles:' + + (foundWillMountName !== null ? '\n ' + foundWillMountName : '') + + (foundWillReceivePropsName !== null + ? '\n ' + foundWillReceivePropsName + : '') + + (foundWillUpdateName !== null ? '\n ' + foundWillUpdateName : '') + + '\n\nThe above lifecycles should be removed. Learn more about this warning here:\n' + + 'https://fb.me/react-async-component-lifecycle-hooks' + ); + } + + // React <= 16.2 does not support static getDerivedStateFromProps. + // As a workaround, use cWM and cWRP to invoke the new static lifecycle. + // Newer versions of React will ignore these lifecycles if gDSFP exists. + if (typeof Component.getDerivedStateFromProps === 'function') { + prototype.componentWillMount = componentWillMount; + prototype.componentWillReceiveProps = componentWillReceiveProps; + } + + // React <= 16.2 does not support getSnapshotBeforeUpdate. + // As a workaround, use cWU to invoke the new lifecycle. + // Newer versions of React will ignore that lifecycle if gSBU exists. + if (typeof prototype.getSnapshotBeforeUpdate === 'function') { + if (typeof prototype.componentDidUpdate !== 'function') { + throw new Error( + 'Cannot polyfill getSnapshotBeforeUpdate() for components that do not define componentDidUpdate() on the prototype' + ); + } + + prototype.componentWillUpdate = componentWillUpdate; + + var componentDidUpdate = prototype.componentDidUpdate; + + prototype.componentDidUpdate = function componentDidUpdatePolyfill( + prevProps, + prevState, + maybeSnapshot + ) { + // 16.3+ will not execute our will-update method; + // It will pass a snapshot value to did-update though. + // Older versions will require our polyfilled will-update value. + // We need to handle both cases, but can't just check for the presence of "maybeSnapshot", + // Because for <= 15.x versions this might be a "prevContext" object. + // We also can't just check "__reactInternalSnapshot", + // Because get-snapshot might return a falsy value. + // So check for the explicit __reactInternalSnapshotFlag flag to determine behavior. + var snapshot = this.__reactInternalSnapshotFlag + ? this.__reactInternalSnapshot + : maybeSnapshot; + + componentDidUpdate.call(this, prevProps, prevState, snapshot); + }; + } + + return Component; +} + + + + +/***/ }), +/* 79 */ +/***/ (function(module, exports) { + +var regExpPropType = function (props, propName, componentName, location) { + if (!(props[propName] instanceof RegExp)) { + var propType = typeof props[propName]; + + return new Error( + ("Invalid " + location + " `" + propName + "` of type `" + propType + "` ") + + ("supplied to `" + componentName + "`, expected `RegExp`.") + ); + } +}; + +module.exports = regExpPropType; + + +/***/ }), +/* 80 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + + +var matchOperatorsRe = /[|\\{}()[\]^$+*?.]/g; + +module.exports = function (str) { + if (typeof str !== 'string') { + throw new TypeError('Expected a string'); + } + + return str.replace(matchOperatorsRe, '\\$&'); +}; + + +/***/ }), +/* 81 */ +/***/ (function(module, exports) { + +module.exports = function blacklist (src) { + var copy = {} + var filter = arguments[1] + + if (typeof filter === 'string') { + filter = {} + for (var i = 1; i < arguments.length; i++) { + filter[arguments[i]] = true + } + } + + for (var key in src) { + // blacklist? + if (filter[key]) continue + + copy[key] = src[key] + } + + return copy +} + + +/***/ }), +/* 82 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; +/** + * Copyright (c) 2013-present, Facebook, Inc. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + * + */ + + + +var _assign = __webpack_require__(83); + +// -- Inlined from fbjs -- + +var emptyObject = {}; + +if (false) {} + +var validateFormat = function validateFormat(format) {}; + +if (false) {} + +function _invariant(condition, format, a, b, c, d, e, f) { + validateFormat(format); + + if (!condition) { + var error; + if (format === undefined) { + error = new Error('Minified exception occurred; use the non-minified dev environment ' + 'for the full error message and additional helpful warnings.'); + } else { + var args = [a, b, c, d, e, f]; + var argIndex = 0; + error = new Error(format.replace(/%s/g, function () { + return args[argIndex++]; + })); + error.name = 'Invariant Violation'; + } + + error.framesToPop = 1; // we don't care about invariant's own frame + throw error; + } +} + +var warning = function(){}; + +if (false) { var printWarning; } + +// /-- Inlined from fbjs -- + +var MIXINS_KEY = 'mixins'; + +// Helper function to allow the creation of anonymous functions which do not +// have .name set to the name of the variable being assigned to. +function identity(fn) { + return fn; +} + +var ReactPropTypeLocationNames; +if (false) {} else { + ReactPropTypeLocationNames = {}; +} + +function factory(ReactComponent, isValidElement, ReactNoopUpdateQueue) { + /** + * Policies that describe methods in `ReactClassInterface`. + */ + + var injectedMixins = []; + + /** + * Composite components are higher-level components that compose other composite + * or host components. + * + * To create a new type of `ReactClass`, pass a specification of + * your new class to `React.createClass`. The only requirement of your class + * specification is that you implement a `render` method. + * + * var MyComponent = React.createClass({ + * render: function() { + * return <div>Hello World</div>; + * } + * }); + * + * The class specification supports a specific protocol of methods that have + * special meaning (e.g. `render`). See `ReactClassInterface` for + * more the comprehensive protocol. Any other properties and methods in the + * class specification will be available on the prototype. + * + * @interface ReactClassInterface + * @internal + */ + var ReactClassInterface = { + /** + * An array of Mixin objects to include when defining your component. + * + * @type {array} + * @optional + */ + mixins: 'DEFINE_MANY', + + /** + * An object containing properties and methods that should be defined on + * the component's constructor instead of its prototype (static methods). + * + * @type {object} + * @optional + */ + statics: 'DEFINE_MANY', + + /** + * Definition of prop types for this component. + * + * @type {object} + * @optional + */ + propTypes: 'DEFINE_MANY', + + /** + * Definition of context types for this component. + * + * @type {object} + * @optional + */ + contextTypes: 'DEFINE_MANY', + + /** + * Definition of context types this component sets for its children. + * + * @type {object} + * @optional + */ + childContextTypes: 'DEFINE_MANY', + + // ==== Definition methods ==== + + /** + * Invoked when the component is mounted. Values in the mapping will be set on + * `this.props` if that prop is not specified (i.e. using an `in` check). + * + * This method is invoked before `getInitialState` and therefore cannot rely + * on `this.state` or use `this.setState`. + * + * @return {object} + * @optional + */ + getDefaultProps: 'DEFINE_MANY_MERGED', + + /** + * Invoked once before the component is mounted. The return value will be used + * as the initial value of `this.state`. + * + * getInitialState: function() { + * return { + * isOn: false, + * fooBaz: new BazFoo() + * } + * } + * + * @return {object} + * @optional + */ + getInitialState: 'DEFINE_MANY_MERGED', + + /** + * @return {object} + * @optional + */ + getChildContext: 'DEFINE_MANY_MERGED', + + /** + * Uses props from `this.props` and state from `this.state` to render the + * structure of the component. + * + * No guarantees are made about when or how often this method is invoked, so + * it must not have side effects. + * + * render: function() { + * var name = this.props.name; + * return <div>Hello, {name}!</div>; + * } + * + * @return {ReactComponent} + * @required + */ + render: 'DEFINE_ONCE', + + // ==== Delegate methods ==== + + /** + * Invoked when the component is initially created and about to be mounted. + * This may have side effects, but any external subscriptions or data created + * by this method must be cleaned up in `componentWillUnmount`. + * + * @optional + */ + componentWillMount: 'DEFINE_MANY', + + /** + * Invoked when the component has been mounted and has a DOM representation. + * However, there is no guarantee that the DOM node is in the document. + * + * Use this as an opportunity to operate on the DOM when the component has + * been mounted (initialized and rendered) for the first time. + * + * @param {DOMElement} rootNode DOM element representing the component. + * @optional + */ + componentDidMount: 'DEFINE_MANY', + + /** + * Invoked before the component receives new props. + * + * Use this as an opportunity to react to a prop transition by updating the + * state using `this.setState`. Current props are accessed via `this.props`. + * + * componentWillReceiveProps: function(nextProps, nextContext) { + * this.setState({ + * likesIncreasing: nextProps.likeCount > this.props.likeCount + * }); + * } + * + * NOTE: There is no equivalent `componentWillReceiveState`. An incoming prop + * transition may cause a state change, but the opposite is not true. If you + * need it, you are probably looking for `componentWillUpdate`. + * + * @param {object} nextProps + * @optional + */ + componentWillReceiveProps: 'DEFINE_MANY', + + /** + * Invoked while deciding if the component should be updated as a result of + * receiving new props, state and/or context. + * + * Use this as an opportunity to `return false` when you're certain that the + * transition to the new props/state/context will not require a component + * update. + * + * shouldComponentUpdate: function(nextProps, nextState, nextContext) { + * return !equal(nextProps, this.props) || + * !equal(nextState, this.state) || + * !equal(nextContext, this.context); + * } + * + * @param {object} nextProps + * @param {?object} nextState + * @param {?object} nextContext + * @return {boolean} True if the component should update. + * @optional + */ + shouldComponentUpdate: 'DEFINE_ONCE', + + /** + * Invoked when the component is about to update due to a transition from + * `this.props`, `this.state` and `this.context` to `nextProps`, `nextState` + * and `nextContext`. + * + * Use this as an opportunity to perform preparation before an update occurs. + * + * NOTE: You **cannot** use `this.setState()` in this method. + * + * @param {object} nextProps + * @param {?object} nextState + * @param {?object} nextContext + * @param {ReactReconcileTransaction} transaction + * @optional + */ + componentWillUpdate: 'DEFINE_MANY', + + /** + * Invoked when the component's DOM representation has been updated. + * + * Use this as an opportunity to operate on the DOM when the component has + * been updated. + * + * @param {object} prevProps + * @param {?object} prevState + * @param {?object} prevContext + * @param {DOMElement} rootNode DOM element representing the component. + * @optional + */ + componentDidUpdate: 'DEFINE_MANY', + + /** + * Invoked when the component is about to be removed from its parent and have + * its DOM representation destroyed. + * + * Use this as an opportunity to deallocate any external resources. + * + * NOTE: There is no `componentDidUnmount` since your component will have been + * destroyed by that point. + * + * @optional + */ + componentWillUnmount: 'DEFINE_MANY', + + /** + * Replacement for (deprecated) `componentWillMount`. + * + * @optional + */ + UNSAFE_componentWillMount: 'DEFINE_MANY', + + /** + * Replacement for (deprecated) `componentWillReceiveProps`. + * + * @optional + */ + UNSAFE_componentWillReceiveProps: 'DEFINE_MANY', + + /** + * Replacement for (deprecated) `componentWillUpdate`. + * + * @optional + */ + UNSAFE_componentWillUpdate: 'DEFINE_MANY', + + // ==== Advanced methods ==== + + /** + * Updates the component's currently mounted DOM representation. + * + * By default, this implements React's rendering and reconciliation algorithm. + * Sophisticated clients may wish to override this. + * + * @param {ReactReconcileTransaction} transaction + * @internal + * @overridable + */ + updateComponent: 'OVERRIDE_BASE' + }; + + /** + * Similar to ReactClassInterface but for static methods. + */ + var ReactClassStaticInterface = { + /** + * This method is invoked after a component is instantiated and when it + * receives new props. Return an object to update state in response to + * prop changes. Return null to indicate no change to state. + * + * If an object is returned, its keys will be merged into the existing state. + * + * @return {object || null} + * @optional + */ + getDerivedStateFromProps: 'DEFINE_MANY_MERGED' + }; + + /** + * Mapping from class specification keys to special processing functions. + * + * Although these are declared like instance properties in the specification + * when defining classes using `React.createClass`, they are actually static + * and are accessible on the constructor instead of the prototype. Despite + * being static, they must be defined outside of the "statics" key under + * which all other static methods are defined. + */ + var RESERVED_SPEC_KEYS = { + displayName: function(Constructor, displayName) { + Constructor.displayName = displayName; + }, + mixins: function(Constructor, mixins) { + if (mixins) { + for (var i = 0; i < mixins.length; i++) { + mixSpecIntoComponent(Constructor, mixins[i]); + } + } + }, + childContextTypes: function(Constructor, childContextTypes) { + if (false) {} + Constructor.childContextTypes = _assign( + {}, + Constructor.childContextTypes, + childContextTypes + ); + }, + contextTypes: function(Constructor, contextTypes) { + if (false) {} + Constructor.contextTypes = _assign( + {}, + Constructor.contextTypes, + contextTypes + ); + }, + /** + * Special case getDefaultProps which should move into statics but requires + * automatic merging. + */ + getDefaultProps: function(Constructor, getDefaultProps) { + if (Constructor.getDefaultProps) { + Constructor.getDefaultProps = createMergedResultFunction( + Constructor.getDefaultProps, + getDefaultProps + ); + } else { + Constructor.getDefaultProps = getDefaultProps; + } + }, + propTypes: function(Constructor, propTypes) { + if (false) {} + Constructor.propTypes = _assign({}, Constructor.propTypes, propTypes); + }, + statics: function(Constructor, statics) { + mixStaticSpecIntoComponent(Constructor, statics); + }, + autobind: function() {} + }; + + function validateTypeDef(Constructor, typeDef, location) { + for (var propName in typeDef) { + if (typeDef.hasOwnProperty(propName)) { + // use a warning instead of an _invariant so components + // don't show up in prod but only in __DEV__ + if (false) {} + } + } + } + + function validateMethodOverride(isAlreadyDefined, name) { + var specPolicy = ReactClassInterface.hasOwnProperty(name) + ? ReactClassInterface[name] + : null; + + // Disallow overriding of base class methods unless explicitly allowed. + if (ReactClassMixin.hasOwnProperty(name)) { + _invariant( + specPolicy === 'OVERRIDE_BASE', + 'ReactClassInterface: You are attempting to override ' + + '`%s` from your class specification. Ensure that your method names ' + + 'do not overlap with React methods.', + name + ); + } + + // Disallow defining methods more than once unless explicitly allowed. + if (isAlreadyDefined) { + _invariant( + specPolicy === 'DEFINE_MANY' || specPolicy === 'DEFINE_MANY_MERGED', + 'ReactClassInterface: You are attempting to define ' + + '`%s` on your component more than once. This conflict may be due ' + + 'to a mixin.', + name + ); + } + } + + /** + * Mixin helper which handles policy validation and reserved + * specification keys when building React classes. + */ + function mixSpecIntoComponent(Constructor, spec) { + if (!spec) { + if (false) { var isMixinValid, typeofSpec; } + + return; + } + + _invariant( + typeof spec !== 'function', + "ReactClass: You're attempting to " + + 'use a component class or function as a mixin. Instead, just use a ' + + 'regular object.' + ); + _invariant( + !isValidElement(spec), + "ReactClass: You're attempting to " + + 'use a component as a mixin. Instead, just use a regular object.' + ); + + var proto = Constructor.prototype; + var autoBindPairs = proto.__reactAutoBindPairs; + + // By handling mixins before any other properties, we ensure the same + // chaining order is applied to methods with DEFINE_MANY policy, whether + // mixins are listed before or after these methods in the spec. + if (spec.hasOwnProperty(MIXINS_KEY)) { + RESERVED_SPEC_KEYS.mixins(Constructor, spec.mixins); + } + + for (var name in spec) { + if (!spec.hasOwnProperty(name)) { + continue; + } + + if (name === MIXINS_KEY) { + // We have already handled mixins in a special case above. + continue; + } + + var property = spec[name]; + var isAlreadyDefined = proto.hasOwnProperty(name); + validateMethodOverride(isAlreadyDefined, name); + + if (RESERVED_SPEC_KEYS.hasOwnProperty(name)) { + RESERVED_SPEC_KEYS[name](Constructor, property); + } else { + // Setup methods on prototype: + // The following member methods should not be automatically bound: + // 1. Expected ReactClass methods (in the "interface"). + // 2. Overridden methods (that were mixed in). + var isReactClassMethod = ReactClassInterface.hasOwnProperty(name); + var isFunction = typeof property === 'function'; + var shouldAutoBind = + isFunction && + !isReactClassMethod && + !isAlreadyDefined && + spec.autobind !== false; + + if (shouldAutoBind) { + autoBindPairs.push(name, property); + proto[name] = property; + } else { + if (isAlreadyDefined) { + var specPolicy = ReactClassInterface[name]; + + // These cases should already be caught by validateMethodOverride. + _invariant( + isReactClassMethod && + (specPolicy === 'DEFINE_MANY_MERGED' || + specPolicy === 'DEFINE_MANY'), + 'ReactClass: Unexpected spec policy %s for key %s ' + + 'when mixing in component specs.', + specPolicy, + name + ); + + // For methods which are defined more than once, call the existing + // methods before calling the new property, merging if appropriate. + if (specPolicy === 'DEFINE_MANY_MERGED') { + proto[name] = createMergedResultFunction(proto[name], property); + } else if (specPolicy === 'DEFINE_MANY') { + proto[name] = createChainedFunction(proto[name], property); + } + } else { + proto[name] = property; + if (false) {} + } + } + } + } + } + + function mixStaticSpecIntoComponent(Constructor, statics) { + if (!statics) { + return; + } + + for (var name in statics) { + var property = statics[name]; + if (!statics.hasOwnProperty(name)) { + continue; + } + + var isReserved = name in RESERVED_SPEC_KEYS; + _invariant( + !isReserved, + 'ReactClass: You are attempting to define a reserved ' + + 'property, `%s`, that shouldn\'t be on the "statics" key. Define it ' + + 'as an instance property instead; it will still be accessible on the ' + + 'constructor.', + name + ); + + var isAlreadyDefined = name in Constructor; + if (isAlreadyDefined) { + var specPolicy = ReactClassStaticInterface.hasOwnProperty(name) + ? ReactClassStaticInterface[name] + : null; + + _invariant( + specPolicy === 'DEFINE_MANY_MERGED', + 'ReactClass: You are attempting to define ' + + '`%s` on your component more than once. This conflict may be ' + + 'due to a mixin.', + name + ); + + Constructor[name] = createMergedResultFunction(Constructor[name], property); + + return; + } + + Constructor[name] = property; + } + } + + /** + * Merge two objects, but throw if both contain the same key. + * + * @param {object} one The first object, which is mutated. + * @param {object} two The second object + * @return {object} one after it has been mutated to contain everything in two. + */ + function mergeIntoWithNoDuplicateKeys(one, two) { + _invariant( + one && two && typeof one === 'object' && typeof two === 'object', + 'mergeIntoWithNoDuplicateKeys(): Cannot merge non-objects.' + ); + + for (var key in two) { + if (two.hasOwnProperty(key)) { + _invariant( + one[key] === undefined, + 'mergeIntoWithNoDuplicateKeys(): ' + + 'Tried to merge two objects with the same key: `%s`. This conflict ' + + 'may be due to a mixin; in particular, this may be caused by two ' + + 'getInitialState() or getDefaultProps() methods returning objects ' + + 'with clashing keys.', + key + ); + one[key] = two[key]; + } + } + return one; + } + + /** + * Creates a function that invokes two functions and merges their return values. + * + * @param {function} one Function to invoke first. + * @param {function} two Function to invoke second. + * @return {function} Function that invokes the two argument functions. + * @private + */ + function createMergedResultFunction(one, two) { + return function mergedResult() { + var a = one.apply(this, arguments); + var b = two.apply(this, arguments); + if (a == null) { + return b; + } else if (b == null) { + return a; + } + var c = {}; + mergeIntoWithNoDuplicateKeys(c, a); + mergeIntoWithNoDuplicateKeys(c, b); + return c; + }; + } + + /** + * Creates a function that invokes two functions and ignores their return vales. + * + * @param {function} one Function to invoke first. + * @param {function} two Function to invoke second. + * @return {function} Function that invokes the two argument functions. + * @private + */ + function createChainedFunction(one, two) { + return function chainedFunction() { + one.apply(this, arguments); + two.apply(this, arguments); + }; + } + + /** + * Binds a method to the component. + * + * @param {object} component Component whose method is going to be bound. + * @param {function} method Method to be bound. + * @return {function} The bound method. + */ + function bindAutoBindMethod(component, method) { + var boundMethod = method.bind(component); + if (false) { var _bind, componentName; } + return boundMethod; + } + + /** + * Binds all auto-bound methods in a component. + * + * @param {object} component Component whose method is going to be bound. + */ + function bindAutoBindMethods(component) { + var pairs = component.__reactAutoBindPairs; + for (var i = 0; i < pairs.length; i += 2) { + var autoBindKey = pairs[i]; + var method = pairs[i + 1]; + component[autoBindKey] = bindAutoBindMethod(component, method); + } + } + + var IsMountedPreMixin = { + componentDidMount: function() { + this.__isMounted = true; + } + }; + + var IsMountedPostMixin = { + componentWillUnmount: function() { + this.__isMounted = false; + } + }; + + /** + * Add more to the ReactClass base class. These are all legacy features and + * therefore not already part of the modern ReactComponent. + */ + var ReactClassMixin = { + /** + * TODO: This will be deprecated because state should always keep a consistent + * type signature and the only use case for this, is to avoid that. + */ + replaceState: function(newState, callback) { + this.updater.enqueueReplaceState(this, newState, callback); + }, + + /** + * Checks whether or not this composite component is mounted. + * @return {boolean} True if mounted, false otherwise. + * @protected + * @final + */ + isMounted: function() { + if (false) {} + return !!this.__isMounted; + } + }; + + var ReactClassComponent = function() {}; + _assign( + ReactClassComponent.prototype, + ReactComponent.prototype, + ReactClassMixin + ); + + /** + * Creates a composite component class given a class specification. + * See https://facebook.github.io/react/docs/top-level-api.html#react.createclass + * + * @param {object} spec Class specification (which must define `render`). + * @return {function} Component constructor function. + * @public + */ + function createClass(spec) { + // To keep our warnings more understandable, we'll use a little hack here to + // ensure that Constructor.name !== 'Constructor'. This makes sure we don't + // unnecessarily identify a class without displayName as 'Constructor'. + var Constructor = identity(function(props, context, updater) { + // This constructor gets overridden by mocks. The argument is used + // by mocks to assert on what gets mounted. + + if (false) {} + + // Wire up auto-binding + if (this.__reactAutoBindPairs.length) { + bindAutoBindMethods(this); + } + + this.props = props; + this.context = context; + this.refs = emptyObject; + this.updater = updater || ReactNoopUpdateQueue; + + this.state = null; + + // ReactClasses doesn't have constructors. Instead, they use the + // getInitialState and componentWillMount methods for initialization. + + var initialState = this.getInitialState ? this.getInitialState() : null; + if (false) {} + _invariant( + typeof initialState === 'object' && !Array.isArray(initialState), + '%s.getInitialState(): must return an object or null', + Constructor.displayName || 'ReactCompositeComponent' + ); + + this.state = initialState; + }); + Constructor.prototype = new ReactClassComponent(); + Constructor.prototype.constructor = Constructor; + Constructor.prototype.__reactAutoBindPairs = []; + + injectedMixins.forEach(mixSpecIntoComponent.bind(null, Constructor)); + + mixSpecIntoComponent(Constructor, IsMountedPreMixin); + mixSpecIntoComponent(Constructor, spec); + mixSpecIntoComponent(Constructor, IsMountedPostMixin); + + // Initialize the defaultProps property after all mixins have been merged. + if (Constructor.getDefaultProps) { + Constructor.defaultProps = Constructor.getDefaultProps(); + } + + if (false) {} + + _invariant( + Constructor.prototype.render, + 'createClass(...): Class specification must implement a `render` method.' + ); + + if (false) {} + + // Reduce time spent doing lookups by setting these on the prototype. + for (var methodName in ReactClassInterface) { + if (!Constructor.prototype[methodName]) { + Constructor.prototype[methodName] = null; + } + } + + return Constructor; + } + + return createClass; +} + +module.exports = factory; + + +/***/ }), +/* 83 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; +/* +object-assign +(c) Sindre Sorhus +@license MIT +*/ + + +/* eslint-disable no-unused-vars */ +var getOwnPropertySymbols = Object.getOwnPropertySymbols; +var hasOwnProperty = Object.prototype.hasOwnProperty; +var propIsEnumerable = Object.prototype.propertyIsEnumerable; + +function toObject(val) { + if (val === null || val === undefined) { + throw new TypeError('Object.assign cannot be called with null or undefined'); + } + + return Object(val); +} + +function shouldUseNative() { + try { + if (!Object.assign) { + return false; + } + + // Detect buggy property enumeration order in older V8 versions. + + // https://bugs.chromium.org/p/v8/issues/detail?id=4118 + var test1 = new String('abc'); // eslint-disable-line no-new-wrappers + test1[5] = 'de'; + if (Object.getOwnPropertyNames(test1)[0] === '5') { + return false; + } + + // https://bugs.chromium.org/p/v8/issues/detail?id=3056 + var test2 = {}; + for (var i = 0; i < 10; i++) { + test2['_' + String.fromCharCode(i)] = i; + } + var order2 = Object.getOwnPropertyNames(test2).map(function (n) { + return test2[n]; + }); + if (order2.join('') !== '0123456789') { + return false; + } + + // https://bugs.chromium.org/p/v8/issues/detail?id=3056 + var test3 = {}; + 'abcdefghijklmnopqrst'.split('').forEach(function (letter) { + test3[letter] = letter; + }); + if (Object.keys(Object.assign({}, test3)).join('') !== + 'abcdefghijklmnopqrst') { + return false; + } + + return true; + } catch (err) { + // We don't expect any of the above to throw, but better to be safe. + return false; + } +} + +module.exports = shouldUseNative() ? Object.assign : function (target, source) { + var from; + var to = toObject(target); + var symbols; + + for (var s = 1; s < arguments.length; s++) { + from = Object(arguments[s]); + + for (var key in from) { + if (hasOwnProperty.call(from, key)) { + to[key] = from[key]; + } + } + + if (getOwnPropertySymbols) { + symbols = getOwnPropertySymbols(from); + for (var i = 0; i < symbols.length; i++) { + if (propIsEnumerable.call(from, symbols[i])) { + to[symbols[i]] = from[symbols[i]]; + } + } + } + } + + return to; +}; + + +/***/ }), +/* 84 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + + +var isArray = Array.isArray; +var keyList = Object.keys; +var hasProp = Object.prototype.hasOwnProperty; + +module.exports = function equal(a, b) { + if (a === b) return true; + + if (a && b && typeof a == 'object' && typeof b == 'object') { + var arrA = isArray(a) + , arrB = isArray(b) + , i + , length + , key; + + if (arrA && arrB) { + length = a.length; + if (length != b.length) return false; + for (i = length; i-- !== 0;) + if (!equal(a[i], b[i])) return false; + return true; + } + + if (arrA != arrB) return false; + + var dateA = a instanceof Date + , dateB = b instanceof Date; + if (dateA != dateB) return false; + if (dateA && dateB) return a.getTime() == b.getTime(); + + var regexpA = a instanceof RegExp + , regexpB = b instanceof RegExp; + if (regexpA != regexpB) return false; + if (regexpA && regexpB) return a.toString() == b.toString(); + + var keys = keyList(a); + length = keys.length; + + if (length !== keyList(b).length) + return false; + + for (i = length; i-- !== 0;) + if (!hasProp.call(b, keys[i])) return false; + + for (i = length; i-- !== 0;) { + key = keys[i]; + if (!equal(a[key], b[key])) return false; + } + + return true; + } + + return a!==a && b!==b; +}; + + +/***/ }), +/* 85 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +// ESM COMPAT FLAG +__webpack_require__.r(__webpack_exports__); + +// EXPORTS +__webpack_require__.d(__webpack_exports__, "Accordion", function() { return /* reexport */ accordion; }); +__webpack_require__.d(__webpack_exports__, "SLDSAccordion", function() { return /* reexport */ accordion; }); +__webpack_require__.d(__webpack_exports__, "AccordionPanel", function() { return /* reexport */ panel; }); +__webpack_require__.d(__webpack_exports__, "SLDSAccordionPanel", function() { return /* reexport */ panel; }); +__webpack_require__.d(__webpack_exports__, "Alert", function() { return /* reexport */ components_alert; }); +__webpack_require__.d(__webpack_exports__, "SLDSAlert", function() { return /* reexport */ components_alert; }); +__webpack_require__.d(__webpack_exports__, "AlertContainer", function() { return /* reexport */ container; }); +__webpack_require__.d(__webpack_exports__, "SLDSAlertContainer", function() { return /* reexport */ container; }); +__webpack_require__.d(__webpack_exports__, "AppLauncher", function() { return /* reexport */ app_launcher; }); +__webpack_require__.d(__webpack_exports__, "SLDSAppLauncher", function() { return /* reexport */ app_launcher; }); +__webpack_require__.d(__webpack_exports__, "AppLauncherExpandableSection", function() { return /* reexport */ app_launcher_expandable_section; }); +__webpack_require__.d(__webpack_exports__, "SLDSAppLauncherExpandableSection", function() { return /* reexport */ app_launcher_expandable_section; }); +__webpack_require__.d(__webpack_exports__, "AppLauncherLink", function() { return /* reexport */ app_launcher_link; }); +__webpack_require__.d(__webpack_exports__, "SLDSAppLauncherLink", function() { return /* reexport */ app_launcher_link; }); +__webpack_require__.d(__webpack_exports__, "AppLauncherTile", function() { return /* reexport */ tile; }); +__webpack_require__.d(__webpack_exports__, "SLDSAppLauncherTile", function() { return /* reexport */ tile; }); +__webpack_require__.d(__webpack_exports__, "Avatar", function() { return /* reexport */ components_avatar; }); +__webpack_require__.d(__webpack_exports__, "SLDSAvatar", function() { return /* reexport */ components_avatar; }); +__webpack_require__.d(__webpack_exports__, "Badge", function() { return /* reexport */ badge; }); +__webpack_require__.d(__webpack_exports__, "SLDSBadge", function() { return /* reexport */ badge; }); +__webpack_require__.d(__webpack_exports__, "BrandBand", function() { return /* reexport */ brand_band; }); +__webpack_require__.d(__webpack_exports__, "SLDSBrandBand", function() { return /* reexport */ brand_band; }); +__webpack_require__.d(__webpack_exports__, "BreadCrumb", function() { return /* reexport */ breadcrumb; }); +__webpack_require__.d(__webpack_exports__, "SLDSBreadCrumb", function() { return /* reexport */ breadcrumb; }); +__webpack_require__.d(__webpack_exports__, "Breadcrumb", function() { return /* reexport */ breadcrumb; }); +__webpack_require__.d(__webpack_exports__, "SLDSBreadcrumb", function() { return /* reexport */ breadcrumb; }); +__webpack_require__.d(__webpack_exports__, "BuilderHeader", function() { return /* reexport */ builder_header; }); +__webpack_require__.d(__webpack_exports__, "SLDSBuilderHeader", function() { return /* reexport */ builder_header; }); +__webpack_require__.d(__webpack_exports__, "BuilderHeaderMisc", function() { return /* reexport */ builder_header_misc; }); +__webpack_require__.d(__webpack_exports__, "SLDSBuilderHeaderMisc", function() { return /* reexport */ builder_header_misc; }); +__webpack_require__.d(__webpack_exports__, "BuilderHeaderNav", function() { return /* reexport */ builder_header_nav; }); +__webpack_require__.d(__webpack_exports__, "SLDSBuilderHeaderNav", function() { return /* reexport */ builder_header_nav; }); +__webpack_require__.d(__webpack_exports__, "BuilderHeaderNavDropdown", function() { return /* reexport */ nav_dropdown; }); +__webpack_require__.d(__webpack_exports__, "SLDSBuilderHeaderNavDropdown", function() { return /* reexport */ nav_dropdown; }); +__webpack_require__.d(__webpack_exports__, "BuilderHeaderNavLink", function() { return /* reexport */ nav_link; }); +__webpack_require__.d(__webpack_exports__, "SLDSBuilderHeaderNavLink", function() { return /* reexport */ nav_link; }); +__webpack_require__.d(__webpack_exports__, "BuilderHeaderToolbar", function() { return /* reexport */ builder_header_toolbar; }); +__webpack_require__.d(__webpack_exports__, "SLDSBuilderHeaderToolbar", function() { return /* reexport */ builder_header_toolbar; }); +__webpack_require__.d(__webpack_exports__, "Button", function() { return /* reexport */ components_button; }); +__webpack_require__.d(__webpack_exports__, "SLDSButton", function() { return /* reexport */ components_button; }); +__webpack_require__.d(__webpack_exports__, "ButtonGroup", function() { return /* reexport */ button_group; }); +__webpack_require__.d(__webpack_exports__, "SLDSButtonGroup", function() { return /* reexport */ button_group; }); +__webpack_require__.d(__webpack_exports__, "ButtonIcon", function() { return /* reexport */ button_icon; }); +__webpack_require__.d(__webpack_exports__, "SLDSButtonIcon", function() { return /* reexport */ button_icon; }); +__webpack_require__.d(__webpack_exports__, "ButtonStateful", function() { return /* reexport */ button_stateful; }); +__webpack_require__.d(__webpack_exports__, "SLDSButtonStateful", function() { return /* reexport */ button_stateful; }); +__webpack_require__.d(__webpack_exports__, "Card", function() { return /* reexport */ card; }); +__webpack_require__.d(__webpack_exports__, "SLDSCard", function() { return /* reexport */ card; }); +__webpack_require__.d(__webpack_exports__, "CardEmpty", function() { return /* reexport */ card_empty; }); +__webpack_require__.d(__webpack_exports__, "SLDSCardEmpty", function() { return /* reexport */ card_empty; }); +__webpack_require__.d(__webpack_exports__, "CardFilter", function() { return /* reexport */ card_filter; }); +__webpack_require__.d(__webpack_exports__, "SLDSCardFilter", function() { return /* reexport */ card_filter; }); +__webpack_require__.d(__webpack_exports__, "Carousel", function() { return /* reexport */ carousel; }); +__webpack_require__.d(__webpack_exports__, "SLDSCarousel", function() { return /* reexport */ carousel; }); +__webpack_require__.d(__webpack_exports__, "Checkbox", function() { return /* reexport */ components_checkbox; }); +__webpack_require__.d(__webpack_exports__, "SLDSCheckbox", function() { return /* reexport */ components_checkbox; }); +__webpack_require__.d(__webpack_exports__, "ColorPicker", function() { return /* reexport */ color_picker; }); +__webpack_require__.d(__webpack_exports__, "SLDSColorPicker", function() { return /* reexport */ color_picker; }); +__webpack_require__.d(__webpack_exports__, "Combobox", function() { return /* reexport */ components_combobox; }); +__webpack_require__.d(__webpack_exports__, "SLDSCombobox", function() { return /* reexport */ components_combobox; }); +__webpack_require__.d(__webpack_exports__, "SLDSComboboxFilterAndLimit", function() { return /* reexport */ combobox_filter; }); +__webpack_require__.d(__webpack_exports__, "DataTable", function() { return /* reexport */ data_table; }); +__webpack_require__.d(__webpack_exports__, "SLDSDataTable", function() { return /* reexport */ data_table; }); +__webpack_require__.d(__webpack_exports__, "DataTableCell", function() { return /* reexport */ data_table_cell; }); +__webpack_require__.d(__webpack_exports__, "SLDSDataTableCell", function() { return /* reexport */ data_table_cell; }); +__webpack_require__.d(__webpack_exports__, "DataTableColumn", function() { return /* reexport */ data_table_column; }); +__webpack_require__.d(__webpack_exports__, "SLDSDataTableColumn", function() { return /* reexport */ data_table_column; }); +__webpack_require__.d(__webpack_exports__, "DataTableHighlightCell", function() { return /* reexport */ highlight_cell; }); +__webpack_require__.d(__webpack_exports__, "SLDSDataTableHighlightCell", function() { return /* reexport */ highlight_cell; }); +__webpack_require__.d(__webpack_exports__, "DataTableRowActions", function() { return /* reexport */ row_actions; }); +__webpack_require__.d(__webpack_exports__, "SLDSDataTableRowActions", function() { return /* reexport */ row_actions; }); +__webpack_require__.d(__webpack_exports__, "DatePicker", function() { return /* reexport */ components_date_picker; }); +__webpack_require__.d(__webpack_exports__, "SLDSDatePicker", function() { return /* reexport */ components_date_picker; }); +__webpack_require__.d(__webpack_exports__, "Datepicker", function() { return /* reexport */ components_date_picker; }); +__webpack_require__.d(__webpack_exports__, "SLDSDatepicker", function() { return /* reexport */ components_date_picker; }); +__webpack_require__.d(__webpack_exports__, "Dropdown", function() { return /* reexport */ components_menu_dropdown; }); +__webpack_require__.d(__webpack_exports__, "DropdownTrigger", function() { return /* reexport */ button_trigger; }); +__webpack_require__.d(__webpack_exports__, "SLDSDropdownTrigger", function() { return /* reexport */ button_trigger; }); +__webpack_require__.d(__webpack_exports__, "DynamicIcon", function() { return /* reexport */ dynamic_icon; }); +__webpack_require__.d(__webpack_exports__, "SLDSDynamicIcon", function() { return /* reexport */ dynamic_icon; }); +__webpack_require__.d(__webpack_exports__, "EditDialog", function() { return /* reexport */ edit_dialog; }); +__webpack_require__.d(__webpack_exports__, "SLDSEditDialog", function() { return /* reexport */ edit_dialog; }); +__webpack_require__.d(__webpack_exports__, "ExpandableSection", function() { return /* reexport */ expandable_section; }); +__webpack_require__.d(__webpack_exports__, "SLDSExpandableSection", function() { return /* reexport */ expandable_section; }); +__webpack_require__.d(__webpack_exports__, "Expression", function() { return /* reexport */ expression; }); +__webpack_require__.d(__webpack_exports__, "SLDSExpression", function() { return /* reexport */ expression; }); +__webpack_require__.d(__webpack_exports__, "ExpressionCondition", function() { return /* reexport */ condition; }); +__webpack_require__.d(__webpack_exports__, "SLDSExpressionCondition", function() { return /* reexport */ condition; }); +__webpack_require__.d(__webpack_exports__, "ExpressionFormula", function() { return /* reexport */ formula; }); +__webpack_require__.d(__webpack_exports__, "SLDSExpressionFormula", function() { return /* reexport */ formula; }); +__webpack_require__.d(__webpack_exports__, "ExpressionGroup", function() { return /* reexport */ group; }); +__webpack_require__.d(__webpack_exports__, "SLDSExpressionGroup", function() { return /* reexport */ group; }); +__webpack_require__.d(__webpack_exports__, "File", function() { return /* reexport */ file; }); +__webpack_require__.d(__webpack_exports__, "SLDSFile", function() { return /* reexport */ file; }); +__webpack_require__.d(__webpack_exports__, "Files", function() { return /* reexport */ components_files; }); +__webpack_require__.d(__webpack_exports__, "SLDSFiles", function() { return /* reexport */ components_files; }); +__webpack_require__.d(__webpack_exports__, "FilesFile", function() { return /* reexport */ file; }); +__webpack_require__.d(__webpack_exports__, "SLDSFilesFile", function() { return /* reexport */ file; }); +__webpack_require__.d(__webpack_exports__, "FilesMoreFiles", function() { return /* reexport */ more_files; }); +__webpack_require__.d(__webpack_exports__, "SLDSFilesMoreFiles", function() { return /* reexport */ more_files; }); +__webpack_require__.d(__webpack_exports__, "Filter", function() { return /* reexport */ components_filter; }); +__webpack_require__.d(__webpack_exports__, "SLDSFilter", function() { return /* reexport */ components_filter; }); +__webpack_require__.d(__webpack_exports__, "GlobalHeader", function() { return /* reexport */ global_header; }); +__webpack_require__.d(__webpack_exports__, "SLDSGlobalHeader", function() { return /* reexport */ global_header; }); +__webpack_require__.d(__webpack_exports__, "GlobalHeaderButton", function() { return /* reexport */ global_header_button; }); +__webpack_require__.d(__webpack_exports__, "SLDSGlobalHeaderButton", function() { return /* reexport */ global_header_button; }); +__webpack_require__.d(__webpack_exports__, "GlobalHeaderDropdown", function() { return /* reexport */ global_header_dropdown; }); +__webpack_require__.d(__webpack_exports__, "SLDSGlobalHeaderDropdown", function() { return /* reexport */ global_header_dropdown; }); +__webpack_require__.d(__webpack_exports__, "GlobalHeaderFavorites", function() { return /* reexport */ favorites; }); +__webpack_require__.d(__webpack_exports__, "SLDSGlobalHeaderFavorites", function() { return /* reexport */ favorites; }); +__webpack_require__.d(__webpack_exports__, "GlobalHeaderHelp", function() { return /* reexport */ help; }); +__webpack_require__.d(__webpack_exports__, "SLDSGlobalHeaderHelp", function() { return /* reexport */ help; }); +__webpack_require__.d(__webpack_exports__, "GlobalHeaderNotifications", function() { return /* reexport */ notifications; }); +__webpack_require__.d(__webpack_exports__, "SLDSGlobalHeaderNotifications", function() { return /* reexport */ notifications; }); +__webpack_require__.d(__webpack_exports__, "GlobalHeaderProfile", function() { return /* reexport */ profile; }); +__webpack_require__.d(__webpack_exports__, "SLDSGlobalHeaderProfile", function() { return /* reexport */ profile; }); +__webpack_require__.d(__webpack_exports__, "GlobalHeaderSearch", function() { return /* reexport */ global_header_search; }); +__webpack_require__.d(__webpack_exports__, "SLDSGlobalHeaderSearch", function() { return /* reexport */ global_header_search; }); +__webpack_require__.d(__webpack_exports__, "GlobalHeaderSetup", function() { return /* reexport */ setup; }); +__webpack_require__.d(__webpack_exports__, "SLDSGlobalHeaderSetup", function() { return /* reexport */ setup; }); +__webpack_require__.d(__webpack_exports__, "GlobalHeaderTask", function() { return /* reexport */ task; }); +__webpack_require__.d(__webpack_exports__, "SLDSGlobalHeaderTask", function() { return /* reexport */ task; }); +__webpack_require__.d(__webpack_exports__, "GlobalNavigationBar", function() { return /* reexport */ global_navigation_bar; }); +__webpack_require__.d(__webpack_exports__, "SLDSGlobalNavigationBar", function() { return /* reexport */ global_navigation_bar; }); +__webpack_require__.d(__webpack_exports__, "GlobalNavigationBarButton", function() { return /* reexport */ global_navigation_bar_button; }); +__webpack_require__.d(__webpack_exports__, "SLDSGlobalNavigationBarButton", function() { return /* reexport */ global_navigation_bar_button; }); +__webpack_require__.d(__webpack_exports__, "GlobalNavigationBarDropdown", function() { return /* reexport */ global_navigation_bar_dropdown; }); +__webpack_require__.d(__webpack_exports__, "SLDSGlobalNavigationBarDropdown", function() { return /* reexport */ global_navigation_bar_dropdown; }); +__webpack_require__.d(__webpack_exports__, "GlobalNavigationBarLabel", function() { return /* reexport */ global_navigation_bar_label; }); +__webpack_require__.d(__webpack_exports__, "SLDSGlobalNavigationBarLabel", function() { return /* reexport */ global_navigation_bar_label; }); +__webpack_require__.d(__webpack_exports__, "GlobalNavigationBarLink", function() { return /* reexport */ global_navigation_bar_link; }); +__webpack_require__.d(__webpack_exports__, "SLDSGlobalNavigationBarLink", function() { return /* reexport */ global_navigation_bar_link; }); +__webpack_require__.d(__webpack_exports__, "GlobalNavigationBarRegion", function() { return /* reexport */ global_navigation_bar_region; }); +__webpack_require__.d(__webpack_exports__, "SLDSGlobalNavigationBarRegion", function() { return /* reexport */ global_navigation_bar_region; }); +__webpack_require__.d(__webpack_exports__, "Icon", function() { return /* reexport */ components_icon; }); +__webpack_require__.d(__webpack_exports__, "SLDSIcon", function() { return /* reexport */ components_icon; }); +__webpack_require__.d(__webpack_exports__, "IconSettings", function() { return /* reexport */ icon_settings; }); +__webpack_require__.d(__webpack_exports__, "SLDSIconSettings", function() { return /* reexport */ icon_settings; }); +__webpack_require__.d(__webpack_exports__, "Illustration", function() { return /* reexport */ components_illustration; }); +__webpack_require__.d(__webpack_exports__, "SLDSIllustration", function() { return /* reexport */ components_illustration; }); +__webpack_require__.d(__webpack_exports__, "InlineEdit", function() { return /* reexport */ inline; }); +__webpack_require__.d(__webpack_exports__, "SLDSInlineEdit", function() { return /* reexport */ inline; }); +__webpack_require__.d(__webpack_exports__, "Input", function() { return /* reexport */ input; }); +__webpack_require__.d(__webpack_exports__, "SLDSInput", function() { return /* reexport */ input; }); +__webpack_require__.d(__webpack_exports__, "InputIcon", function() { return /* reexport */ input_icon; }); +__webpack_require__.d(__webpack_exports__, "SLDSInputIcon", function() { return /* reexport */ input_icon; }); +__webpack_require__.d(__webpack_exports__, "InputSearch", function() { return /* reexport */ input_search; }); +__webpack_require__.d(__webpack_exports__, "SLDSInputSearch", function() { return /* reexport */ input_search; }); +__webpack_require__.d(__webpack_exports__, "LocationMap", function() { return /* reexport */ location_map; }); +__webpack_require__.d(__webpack_exports__, "SLDSLocationMap", function() { return /* reexport */ location_map; }); +__webpack_require__.d(__webpack_exports__, "Lookup", function() { return /* reexport */ components_lookup; }); +__webpack_require__.d(__webpack_exports__, "SLDSLookup", function() { return /* reexport */ components_lookup; }); +__webpack_require__.d(__webpack_exports__, "LookupDefaultFooter", function() { return /* reexport */ default_footer; }); +__webpack_require__.d(__webpack_exports__, "SLDSLookupDefaultFooter", function() { return /* reexport */ default_footer; }); +__webpack_require__.d(__webpack_exports__, "LookupDefaultHeader", function() { return /* reexport */ default_header; }); +__webpack_require__.d(__webpack_exports__, "SLDSLookupDefaultHeader", function() { return /* reexport */ default_header; }); +__webpack_require__.d(__webpack_exports__, "LookupDefaultSectionDivider", function() { return /* reexport */ default_section_divider; }); +__webpack_require__.d(__webpack_exports__, "SLDSLookupDefaultSectionDivider", function() { return /* reexport */ default_section_divider; }); +__webpack_require__.d(__webpack_exports__, "MediaObject", function() { return /* reexport */ media_object; }); +__webpack_require__.d(__webpack_exports__, "SLDSMediaObject", function() { return /* reexport */ media_object; }); +__webpack_require__.d(__webpack_exports__, "MenuDropdown", function() { return /* reexport */ components_menu_dropdown; }); +__webpack_require__.d(__webpack_exports__, "SLDSMenuDropdown", function() { return /* reexport */ components_menu_dropdown; }); +__webpack_require__.d(__webpack_exports__, "MenuDropdownButtonTrigger", function() { return /* reexport */ button_trigger; }); +__webpack_require__.d(__webpack_exports__, "SLDSMenuDropdownButtonTrigger", function() { return /* reexport */ button_trigger; }); +__webpack_require__.d(__webpack_exports__, "SLDSMenuPicklist", function() { return /* reexport */ menu_picklist; }); +__webpack_require__.d(__webpack_exports__, "Modal", function() { return /* reexport */ modal; }); +__webpack_require__.d(__webpack_exports__, "SLDSModal", function() { return /* reexport */ modal; }); +__webpack_require__.d(__webpack_exports__, "ModalTrigger", function() { return /* reexport */ modal_trigger; }); +__webpack_require__.d(__webpack_exports__, "SLDSModalTrigger", function() { return /* reexport */ modal_trigger; }); +__webpack_require__.d(__webpack_exports__, "MoreFiles", function() { return /* reexport */ more_files; }); +__webpack_require__.d(__webpack_exports__, "SLDSMoreFiles", function() { return /* reexport */ more_files; }); +__webpack_require__.d(__webpack_exports__, "Navigation", function() { return /* reexport */ vertical_navigation; }); +__webpack_require__.d(__webpack_exports__, "SLDSNavigation", function() { return /* reexport */ vertical_navigation; }); +__webpack_require__.d(__webpack_exports__, "Notification", function() { return /* reexport */ notification; }); +__webpack_require__.d(__webpack_exports__, "SLDSNotification", function() { return /* reexport */ notification; }); +__webpack_require__.d(__webpack_exports__, "PageHeader", function() { return /* reexport */ page_header; }); +__webpack_require__.d(__webpack_exports__, "SLDSPageHeader", function() { return /* reexport */ page_header; }); +__webpack_require__.d(__webpack_exports__, "PageHeaderControl", function() { return /* reexport */ control; }); +__webpack_require__.d(__webpack_exports__, "SLDSPageHeaderControl", function() { return /* reexport */ control; }); +__webpack_require__.d(__webpack_exports__, "Panel", function() { return /* reexport */ components_panel; }); +__webpack_require__.d(__webpack_exports__, "SLDSPanel", function() { return /* reexport */ components_panel; }); +__webpack_require__.d(__webpack_exports__, "PanelFilterGroup", function() { return /* reexport */ filtering_group; }); +__webpack_require__.d(__webpack_exports__, "SLDSPanelFilterGroup", function() { return /* reexport */ filtering_group; }); +__webpack_require__.d(__webpack_exports__, "PanelFilterList", function() { return /* reexport */ filtering_list; }); +__webpack_require__.d(__webpack_exports__, "SLDSPanelFilterList", function() { return /* reexport */ filtering_list; }); +__webpack_require__.d(__webpack_exports__, "PanelFilterListHeading", function() { return /* reexport */ list_heading; }); +__webpack_require__.d(__webpack_exports__, "SLDSPanelFilterListHeading", function() { return /* reexport */ list_heading; }); +__webpack_require__.d(__webpack_exports__, "Picklist", function() { return /* reexport */ menu_picklist; }); +__webpack_require__.d(__webpack_exports__, "Pill", function() { return /* reexport */ pill; }); +__webpack_require__.d(__webpack_exports__, "SLDSPill", function() { return /* reexport */ pill; }); +__webpack_require__.d(__webpack_exports__, "PillContainer", function() { return /* reexport */ pill_container; }); +__webpack_require__.d(__webpack_exports__, "SLDSPillContainer", function() { return /* reexport */ pill_container; }); +__webpack_require__.d(__webpack_exports__, "Popover", function() { return /* reexport */ components_popover; }); +__webpack_require__.d(__webpack_exports__, "SLDSPopover", function() { return /* reexport */ components_popover; }); +__webpack_require__.d(__webpack_exports__, "PopoverTooltip", function() { return /* reexport */ tooltip; }); +__webpack_require__.d(__webpack_exports__, "SLDSPopoverTooltip", function() { return /* reexport */ tooltip; }); +__webpack_require__.d(__webpack_exports__, "ProgressBar", function() { return /* reexport */ progress_bar; }); +__webpack_require__.d(__webpack_exports__, "SLDSProgressBar", function() { return /* reexport */ progress_bar; }); +__webpack_require__.d(__webpack_exports__, "ProgressIndicator", function() { return /* reexport */ progress_indicator; }); +__webpack_require__.d(__webpack_exports__, "SLDSProgressIndicator", function() { return /* reexport */ progress_indicator; }); +__webpack_require__.d(__webpack_exports__, "ProgressRing", function() { return /* reexport */ progress_ring; }); +__webpack_require__.d(__webpack_exports__, "SLDSProgressRing", function() { return /* reexport */ progress_ring; }); +__webpack_require__.d(__webpack_exports__, "Radio", function() { return /* reexport */ components_radio; }); +__webpack_require__.d(__webpack_exports__, "SLDSRadio", function() { return /* reexport */ components_radio; }); +__webpack_require__.d(__webpack_exports__, "RadioButtonGroup", function() { return /* reexport */ radio_button_group; }); +__webpack_require__.d(__webpack_exports__, "SLDSRadioButtonGroup", function() { return /* reexport */ radio_button_group; }); +__webpack_require__.d(__webpack_exports__, "RadioGroup", function() { return /* reexport */ radio_group; }); +__webpack_require__.d(__webpack_exports__, "SLDSRadioGroup", function() { return /* reexport */ radio_group; }); +__webpack_require__.d(__webpack_exports__, "ScopedNotification", function() { return /* reexport */ scoped_notification; }); +__webpack_require__.d(__webpack_exports__, "SLDSScopedNotification", function() { return /* reexport */ scoped_notification; }); +__webpack_require__.d(__webpack_exports__, "Search", function() { return /* reexport */ input_search; }); +__webpack_require__.d(__webpack_exports__, "SLDSSearch", function() { return /* reexport */ input_search; }); +__webpack_require__.d(__webpack_exports__, "Settings", function() { return /* reexport */ components_settings; }); +__webpack_require__.d(__webpack_exports__, "SLDSSettings", function() { return /* reexport */ components_settings; }); +__webpack_require__.d(__webpack_exports__, "SetupAssistant", function() { return /* reexport */ setup_assistant; }); +__webpack_require__.d(__webpack_exports__, "SLDSSetupAssistant", function() { return /* reexport */ setup_assistant; }); +__webpack_require__.d(__webpack_exports__, "SetupAssistantStep", function() { return /* reexport */ setup_assistant_step; }); +__webpack_require__.d(__webpack_exports__, "SLDSSetupAssistantStep", function() { return /* reexport */ setup_assistant_step; }); +__webpack_require__.d(__webpack_exports__, "Slider", function() { return /* reexport */ slider; }); +__webpack_require__.d(__webpack_exports__, "SLDSSlider", function() { return /* reexport */ slider; }); +__webpack_require__.d(__webpack_exports__, "Spinner", function() { return /* reexport */ components_spinner; }); +__webpack_require__.d(__webpack_exports__, "SLDSSpinner", function() { return /* reexport */ components_spinner; }); +__webpack_require__.d(__webpack_exports__, "SplitView", function() { return /* reexport */ split_view; }); +__webpack_require__.d(__webpack_exports__, "SLDSSplitView", function() { return /* reexport */ split_view; }); +__webpack_require__.d(__webpack_exports__, "SplitViewHeader", function() { return /* reexport */ split_view_header; }); +__webpack_require__.d(__webpack_exports__, "SLDSSplitViewHeader", function() { return /* reexport */ split_view_header; }); +__webpack_require__.d(__webpack_exports__, "SplitViewListbox", function() { return /* reexport */ listbox; }); +__webpack_require__.d(__webpack_exports__, "SLDSSplitViewListbox", function() { return /* reexport */ listbox; }); +__webpack_require__.d(__webpack_exports__, "Splitview", function() { return /* reexport */ split_view; }); +__webpack_require__.d(__webpack_exports__, "SLDSSplitview", function() { return /* reexport */ split_view; }); +__webpack_require__.d(__webpack_exports__, "Tabs", function() { return /* reexport */ tabs; }); +__webpack_require__.d(__webpack_exports__, "SLDSTabs", function() { return /* reexport */ tabs; }); +__webpack_require__.d(__webpack_exports__, "TabsPanel", function() { return /* reexport */ tabs_panel; }); +__webpack_require__.d(__webpack_exports__, "SLDSTabsPanel", function() { return /* reexport */ tabs_panel; }); +__webpack_require__.d(__webpack_exports__, "Textarea", function() { return /* reexport */ components_textarea; }); +__webpack_require__.d(__webpack_exports__, "SLDSTextarea", function() { return /* reexport */ components_textarea; }); +__webpack_require__.d(__webpack_exports__, "TimePicker", function() { return /* reexport */ time_picker; }); +__webpack_require__.d(__webpack_exports__, "SLDSTimePicker", function() { return /* reexport */ time_picker; }); +__webpack_require__.d(__webpack_exports__, "Timepicker", function() { return /* reexport */ time_picker; }); +__webpack_require__.d(__webpack_exports__, "SLDSTimepicker", function() { return /* reexport */ time_picker; }); +__webpack_require__.d(__webpack_exports__, "Toast", function() { return /* reexport */ components_toast; }); +__webpack_require__.d(__webpack_exports__, "SLDSToast", function() { return /* reexport */ components_toast; }); +__webpack_require__.d(__webpack_exports__, "ToastContainer", function() { return /* reexport */ toast_container; }); +__webpack_require__.d(__webpack_exports__, "SLDSToastContainer", function() { return /* reexport */ toast_container; }); +__webpack_require__.d(__webpack_exports__, "Tooltip", function() { return /* reexport */ tooltip; }); +__webpack_require__.d(__webpack_exports__, "SLDSTooltip", function() { return /* reexport */ tooltip; }); +__webpack_require__.d(__webpack_exports__, "Tree", function() { return /* reexport */ tree; }); +__webpack_require__.d(__webpack_exports__, "SLDSTree", function() { return /* reexport */ tree; }); +__webpack_require__.d(__webpack_exports__, "TrialBar", function() { return /* reexport */ trial_bar; }); +__webpack_require__.d(__webpack_exports__, "SLDSTrialBar", function() { return /* reexport */ trial_bar; }); +__webpack_require__.d(__webpack_exports__, "TrialBarButton", function() { return /* reexport */ trial_bar_button; }); +__webpack_require__.d(__webpack_exports__, "SLDSTrialBarButton", function() { return /* reexport */ trial_bar_button; }); +__webpack_require__.d(__webpack_exports__, "TrialBarDropdown", function() { return /* reexport */ trial_bar_dropdown; }); +__webpack_require__.d(__webpack_exports__, "SLDSTrialBarDropdown", function() { return /* reexport */ trial_bar_dropdown; }); +__webpack_require__.d(__webpack_exports__, "UNSAFE_DirectionSettings", function() { return /* reexport */ UNSAFE_DirectionSettings; }); +__webpack_require__.d(__webpack_exports__, "UtilityIcon", function() { return /* reexport */ utility_icon; }); +__webpack_require__.d(__webpack_exports__, "SLDSUtilityIcon", function() { return /* reexport */ utility_icon; }); +__webpack_require__.d(__webpack_exports__, "VerticalNavigation", function() { return /* reexport */ vertical_navigation; }); +__webpack_require__.d(__webpack_exports__, "SLDSVerticalNavigation", function() { return /* reexport */ vertical_navigation; }); +__webpack_require__.d(__webpack_exports__, "VisualPicker", function() { return /* reexport */ visual_picker; }); +__webpack_require__.d(__webpack_exports__, "SLDSVisualPicker", function() { return /* reexport */ visual_picker; }); +__webpack_require__.d(__webpack_exports__, "VisualPickerLink", function() { return /* reexport */ visual_picker_link; }); +__webpack_require__.d(__webpack_exports__, "SLDSVisualPickerLink", function() { return /* reexport */ visual_picker_link; }); +__webpack_require__.d(__webpack_exports__, "WelcomeMat", function() { return /* reexport */ welcome_mat; }); +__webpack_require__.d(__webpack_exports__, "SLDSWelcomeMat", function() { return /* reexport */ welcome_mat; }); +__webpack_require__.d(__webpack_exports__, "WelcomeMatInfoBadge", function() { return /* reexport */ info_badge; }); +__webpack_require__.d(__webpack_exports__, "SLDSWelcomeMatInfoBadge", function() { return /* reexport */ info_badge; }); +__webpack_require__.d(__webpack_exports__, "WelcomeMatTile", function() { return /* reexport */ welcome_mat_tile; }); +__webpack_require__.d(__webpack_exports__, "SLDSWelcomeMatTile", function() { return /* reexport */ welcome_mat_tile; }); +__webpack_require__.d(__webpack_exports__, "comboboxAddSubheadings", function() { return /* reexport */ add_subheadings; }); +__webpack_require__.d(__webpack_exports__, "comboboxFilterAndLimit", function() { return /* reexport */ combobox_filter; }); +__webpack_require__.d(__webpack_exports__, "log", function() { return /* reexport */ utilities_log; }); + +// EXTERNAL MODULE: external {"amd":"react","commonjs":"react","commonjs2":"react","root":"React"} +var external_amd_react_commonjs_react_commonjs2_react_root_React_ = __webpack_require__(1); +var external_amd_react_commonjs_react_commonjs2_react_root_React_default = /*#__PURE__*/__webpack_require__.n(external_amd_react_commonjs_react_commonjs2_react_root_React_); + +// EXTERNAL MODULE: ./node_modules/prop-types/index.js +var prop_types = __webpack_require__(0); +var prop_types_default = /*#__PURE__*/__webpack_require__.n(prop_types); + +// EXTERNAL MODULE: ./node_modules/classnames/index.js +var node_modules_classnames = __webpack_require__(2); +var classnames_default = /*#__PURE__*/__webpack_require__.n(node_modules_classnames); + +// EXTERNAL MODULE: ./node_modules/shortid/index.js +var shortid = __webpack_require__(3); +var shortid_default = /*#__PURE__*/__webpack_require__.n(shortid); + +// CONCATENATED MODULE: ./utilities/constants.js +// ## Components +var ACCORDION = 'SLDSAccordion'; +var ACCORDION_PANEL = 'SLDSAccordionPanel'; +var ALERT = 'SLDSAlert'; +var ALERT_CONTAINER = 'SLDSAlertContainer'; +var APP_LAUNCHER = 'SLDSAppLauncher'; +var APP_LAUNCHER_EXPANDABLE_SECTION = 'SLDSAppLauncherExpandableSection'; +/* Remove at next breaking change */ + +var APP_LAUNCHER_SECTION = 'SLDSAppLauncherSection'; +var APP_LAUNCHER_LINK = 'SLDSAppLauncherLink'; +var APP_LAUNCHER_TILE = 'SLDSAppLauncherTile'; +var APP_LAUNCHER_HEADER = 'SLDSAppLauncherHeader'; +var AVATAR = 'SLDSAvatar'; +var BADGE = 'SLDSBadge'; +var BRAND_BAND = 'SLDSBrandBand'; +/* Remove at next breaking change */ + +var BREAD_CRUMB = 'SLDSBreadcrumb'; +var BREADCRUMB = 'SLDSBreadcrumb'; +var BUILDER_HEADER = 'SLDSBuilderHeader'; +var BUILDER_HEADER_MISC = 'SLDSBuilderHeaderMisc'; +var BUILDER_HEADER_NAV = 'SLDSBuilderHeaderNav'; +var BUILDER_HEADER_NAV_DROPDOWN = 'SLDSBuilderHeaderNavDropdown'; +var BUILDER_HEADER_NAV_LINK = 'SLDSBuilderHeaderNavLink'; +var BUILDER_HEADER_TOOLBAR = 'SLDSBuilderHeaderToolbar'; +var BUTTON = 'SLDSButton'; +var BUTTON_GROUP = 'SLDSButtonGroup'; +var BUTTON_STATEFUL = 'SLDSButtonStateful'; +var BUTTON_ICON = 'SLDSButtonIcon'; // a non-interctive icon wrapper for SLDSUtilityIcon + +var CARD = 'SLDSCard'; +var CARD_BODY = 'SLDSCardBody'; +var CARD_EMPTY = 'SLDSCardEmpty'; +var CARD_FILTER = 'SLDSCardFilter'; +var CARD_FOOTER = 'SLDSCardFooter'; +var CARD_HEADER = 'SLDSCardHeader'; +var CAROUSEL = 'SLDSCarousel'; +var CAROUSEL_INDICATORS = 'SLDSCarouselIndicators'; +var CAROUSEL_ITEM = 'SLDSCarouselItem'; +var CAROUSEL_NAVIGATORS = 'SLDSCarouselNavigators'; +var CAROUSEL_AUTOPLAY_BUTTON = 'SLDSCarouselAutoplayButton'; +var COLOR_PICKER = 'SLDSColorPicker'; +var COMBOBOX = 'SLDSCombobox'; +var DATA_TABLE = 'SLDSDataTable'; +var DATA_TABLE_CELL = 'SLDSDataTableCell'; +var DATA_TABLE_COLUMN = 'SLDSDataTableColumn'; +var DATA_TABLE_HEAD = 'SLDSDataTableHead'; +var DATA_TABLE_HEADER_CELL = 'SLDSDataTableHeaderCell'; +var DATA_TABLE_ROW_ACTIONS = 'SLDSDataTableRowActions'; +var DATA_TABLE_ROW = 'SLDSDataTableRow'; +var DATE_PICKER = 'SLDSDatePicker'; +var DEPRECATED_WARNING = 'SLDSDeprecatedWarning'; +var DYNAMIC_ICON = 'SLDSDynamicIcon'; +var DIALOG = 'SLDSDialog'; +var FILES = 'SLDSFiles'; +var FILES_FILE = "SLDSFilesFile"; +var FILES_MORE = "SLDSFilesMore"; +var FILES_FIGURE = 'SLDSFilesFigure'; +var FILES_ACTIONS = 'SLDSFilesActions'; +var EXPANDABLE_SECTION = 'SLDSExpandableSection'; +var EXPRESSION = 'SLDSExpression'; +var EXPRESSION_GROUP = 'SLDSExpressionGroup'; +var EXPRESSION_CONDITION = 'SLDSExpressionCondition'; +var EXPRESSION_FORMULA = 'SLDSExpressionFormula'; +var FILTER = 'SLDSFilter'; +var CHECKBOX = 'SLDSCheckbox'; +var FORMS_INLINE_EDIT = 'SLDSInlineEdit'; +var INPUT = 'SLDSInput'; +var TEXTAREA = 'SLDSTextarea'; +var SEARCH = 'SLDSSearch'; +var GLOBAL_HEADER = 'SLDSGlobalHeader'; +var GLOBAL_HEADER_BUTTON = 'SLDSGlobalHeaderButton'; +var GLOBAL_HEADER_DROPDOWN = 'SLDSGlobalHeaderDropdown'; +var GLOBAL_HEADER_FAVORITES = 'SLDSGlobalHeaderFavorites'; +var GLOBAL_HEADER_HELP = 'SLDSGlobalHeaderHelp'; +var GLOBAL_HEADER_NOTIFICATIONS = 'SLDSGlobalHeaderNotifications'; +var GLOBAL_HEADER_PROFILE = 'SLDSGlobalHeaderProfile'; +var GLOBAL_HEADER_SEARCH = 'SLDSGlobalHeaderSearch'; +var GLOBAL_HEADER_SETUP = 'SLDSGlobalHeaderSetup'; +var GLOBAL_HEADER_TASK = 'SLDSGlobalHeaderTask'; +var GLOBAL_HEADER_TOOL = 'SLDSGlobalHeaderTool'; +var GLOBAL_NAVIGATION_BAR = 'SLDSGlobalNavigationBar'; +var GLOBAL_NAVIGATION_BAR_BUTTON = 'SLDSGlobalNavigationBarButton'; +var GLOBAL_NAVIGATION_BAR_DROPDOWN = 'SLDSGlobalNavigationBarDropdown'; +var GLOBAL_NAVIGATION_BAR_LABEL = 'SLDSGlobalNavigationBarLabel'; +var GLOBAL_NAVIGATION_BAR_LINK = 'SLDSGlobalNavigationBarLink'; +var GLOBAL_NAVIGATION_BAR_REGION = 'SLDSGlobalNavigationBarRegion'; +var GLOBAL_NAVIGATION_BAR_APP_LAUNCHER = 'SLDSGlobalNavigationBarAppLauncher'; +var GRID = 'SLDSGrid'; +var HIGHLIGHTER = 'SLDSHighlighter'; +var ICON = 'SLDSIcon'; +var ICON_SETTINGS = 'SLDSIconSettings'; +var ICON_INPUT = 'SLDSIconInput'; +var ILLUSTRATION = 'SLDSIllustration'; +var LIST = 'SLDSList'; +var LIST_ITEM = 'SLDSListItem'; +var LIST_ITEM_LABEL = 'SLDSListItemLabel'; +var LISTBOX_OF_PILL_OPTIONS = 'SLDSListboxOfPillOptions'; +var LOCATION_MAP = 'SLDSLocationMap'; +var LOOKUP = 'SLDSLookup'; +var MEDIA_OBJECT = 'SLDSMediaObject'; +var MENU_DROPDOWN = 'SLDSMenuDropdown'; +var MENU_DROPDOWN_TRIGGER = 'SLDSMenuDropdownTrigger'; +var MENU_PICKLIST = 'SLDSMenuPicklist'; +var MODAL = 'SLDSModal'; +var NOTIFICATION = 'SLDSNotification'; +var PANEL = 'SLDSPanel'; +var PANEL_FILTER_GROUP = 'SLDSFilterGroup'; +var PANEL_FILTER_LIST = 'SLDSFilterList'; +var PANEL_FILTER_LIST_HEADING = 'SLDSPanelFilterListHeading'; +var PAGE_HEADER = 'SLDSPageHeader'; +var PAGE_HEADER_CONTROL = 'SLDSPageHeaderControl'; +var PILL = 'SLDSPill'; +var PILL_CONTAINER = 'SLDSPillContainer'; +var POPOVER = 'SLDSPopover'; +var POPOVER_EDIT_DIALOG = 'SLDSPopoverEditDialog'; +var POPOVER_TOOLTIP = 'SLDSPopoverTooltip'; +var PROGRESS_INDICATOR = 'SLDSProgressIndicator'; +var PROGRESS_INDICATOR_PROGRESS = 'SLDSProgressIndicatorProgress'; +var PROGRESS_INDICATOR_STEP = 'SLDSProgressIndicatorStep'; +var PROGRESS_INDICATOR_STEP_VERTICAL = 'SLDSProgressIndicatorStepVertical'; +var PROGRESS_RING = 'SLDSProgressRing'; +var PROGRESS_BAR = 'SLDSProgressBar'; +var SETUP_ASSISTANT = 'SLDSSetupAssistant'; +var SETUP_ASSISTANT_STEP = 'SLDSSetupAssistantStep'; +var SCOPED_NOTIFICATION = 'SLDSScopedNotification'; +var SLIDER = 'SLDSSlider'; +var SPINNER = 'SLDSSpinner'; +var SPLIT_VIEW = 'SLDSSplitView'; +var SPLIT_VIEW_HEADER = 'SLDSSplitViewHeader'; +var SPLIT_VIEW_LISTBOX = 'SLDSSplitViewListbox'; +var RADIO = 'SLDSRadio'; +var RADIO_GROUP = 'SLDSRadioGroup'; +var RADIO_BUTTON_GROUP = 'SLDSRadioButtonGroup'; +var TAB = 'SLDSTab'; +var TAB_ITEM = 'SLDSTabItem'; +var TAB_PANEL = 'SLDSTabPanel'; +var TABS = 'SLDSTabs'; +var TABS_LIST = 'SLDSTabsList'; +var TABS_PANEL = 'SLDSTabsPanel'; +var TIME_PICKER = 'SLDSTimepicker'; +var TOAST = 'SLDSToast'; +var TOAST_CONTAINER = 'SLDSToastContainer'; +var TREE = 'SLDSTree'; +var TREE_BRANCH = 'SLDSTreeBranch'; +var TREE_ITEM = 'SLDSTreeItem'; +var TRIAL_BAR = 'SLDSTrialBar'; +var TRIAL_BAR_DROPDOWN = 'SLDSTrialBarDropdown'; +var TRIAL_BAR_BUTTON = 'SLDSTrialBarButton'; +var VERTICAL_NAVIGATION = 'SLDSVerticalNavigation'; +var VERTICAL_NAVIGATION_ITEM = 'SLDSVerticalNavigationItem'; +var VISUAL_PICKER = 'SLDSVisualPicker'; +var VISUAL_PICKER_LINK = 'SLDSVisualPickerLink'; +var WELCOME_MAT = 'SLDSWelcomeMat'; +var WELCOME_MAT_TILE = 'SLDSWelcomeMatTile'; +var WELCOME_MAT_BADGE = 'SLDSWelcomeMatBadge'; +// CONCATENATED MODULE: ./components/accordion/index.jsx +function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; } + +function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); } + +function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); } + +function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; } + +function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); } + +function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } } + +function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } + +/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */ + +/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */ +// Implements the [Accordion design +// pattern](https://www.lightningdesignsystem.com/components/accordion/) in +// React. Based on SLDS v2.4.3 + + + + + +var accordion_propTypes = { + /** + * CSS class names to be added to the accordion component. _Tested with snapshot testing._ + */ + className: prop_types_default.a.oneOfType([prop_types_default.a.array, prop_types_default.a.object, prop_types_default.a.string]), + + /** + * HTML id for accordion component. _Tested with snapshot testing._ + */ + id: prop_types_default.a.oneOfType([prop_types_default.a.number, prop_types_default.a.string]), + + /** + * The panel content for the Accordion component. Accordion panels should be added as <AccordionPanel />. Event handler for the accordion panels should be added to `<AccordionPanel />`. Optional `panelContentActions` component may be passed as prop. _Tested with Mocha framework and snapshot testing._ + * + * Example: + * ``` + * <SLDSAccordion> + * <SLDSAccordionpanel /> + * <SLDSAccordionpanel /> + * <SLDSAccordionpanel /> + * </SLDSAccordion> + * ``` + */ + children: prop_types_default.a.node.isRequired +}; +/** + * An accordion allows a user to toggle the display of sections of content. + * The accordion component wraps accordion panels that can be selected and expanded. It accepts children to define the content displayed within. + */ + +var accordion_Accordion = /*#__PURE__*/function (_Component) { + _inherits(Accordion, _Component); + + var _super = _createSuper(Accordion); + + function Accordion(props) { + var _this; + + _classCallCheck(this, Accordion); + + _this = _super.call(this, props); + _this.state = { + currButtonIndex: 0 + }; + _this.summaryButtons = []; + _this.generatedId = shortid_default.a.generate(); + return _this; + } + + _createClass(Accordion, [{ + key: "componentDidUpdate", + value: function componentDidUpdate(prevProps, prevState) { + if (this.state.currButtonIndex !== null && this.state.currButtonIndex !== prevState.currButtonIndex) { + this.summaryButtons[this.state.currButtonIndex].focus(); + } + } + }, { + key: "onClickSummary", + value: function onClickSummary() { + this.setState({ + currButtonIndex: null + }); + } + }, { + key: "onKeyDownSummary", + value: function onKeyDownSummary(e) { + var buttonIndex = this.state.currButtonIndex; + + if (buttonIndex === null) { + buttonIndex = this.summaryButtons.findIndex(function (el) { + return el.id === e.target.id; + }); + } + + if (e.key === 'ArrowDown') { + e.preventDefault(); + + if (buttonIndex < this.props.children.length - 1) { + this.setState({ + currButtonIndex: buttonIndex + 1 + }); + } else { + this.setState({ + currButtonIndex: 0 + }); + } + } else if (e.key === 'ArrowUp') { + e.preventDefault(); + + if (buttonIndex > 0) { + this.setState({ + currButtonIndex: buttonIndex - 1 + }); + } else { + this.setState({ + currButtonIndex: this.props.children.length - 1 + }); + } + } + } + }, { + key: "addSummaryButton", + value: function addSummaryButton(button) { + var btnInArr = this.summaryButtons.find(function (el) { + return button === el; + }); + + if (button !== null && btnInArr === undefined) { + // eslint-disable-next-line fp/no-mutating-methods + this.summaryButtons.push(button); + } + } + }, { + key: "render", + value: function render() { + var _this2 = this; + + return /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("ul", { + name: this.props.id || this.generatedId, + className: classnames_default()('slds-accordion', this.props.className) + }, external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.Children.map(this.props.children, function (child) { + return /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.cloneElement(child, { + refs: { + summaryButton: _this2.addSummaryButton.bind(_this2) + }, + onClickSummary: _this2.onClickSummary.bind(_this2), + onKeyDownSummary: _this2.onKeyDownSummary.bind(_this2) + }); + })); + } + }]); + + return Accordion; +}(external_amd_react_commonjs_react_commonjs2_react_root_React_["Component"]); + +accordion_Accordion.displayName = ACCORDION; +accordion_Accordion.propTypes = accordion_propTypes; +/* harmony default export */ var accordion = (accordion_Accordion); +// EXTERNAL MODULE: ./node_modules/react-required-if/index.js +var react_required_if = __webpack_require__(19); +var react_required_if_default = /*#__PURE__*/__webpack_require__.n(react_required_if); + +// EXTERNAL MODULE: ./node_modules/warning/warning.js +var warning = __webpack_require__(8); + +// CONCATENATED MODULE: ./utilities/warning/sunset-property.js +/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */ + +/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */ + +/* eslint-disable import/no-mutable-exports */ +// This function will deliver an error message to the browser console about the removal of a property. + + +var sunset = function sunsetFunction() {}; + +if (false) { var hasWarned; } + +/* harmony default export */ var sunset_property = (sunset); +// CONCATENATED MODULE: ./components/icon/button-icon/check-props.js +/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */ + +/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */ + +/* eslint-disable import/no-mutable-exports */ + + +var checkProps = function checkPropsFunction() {}; + +if (false) {} + +/* harmony default export */ var check_props = (checkProps); +// CONCATENATED MODULE: ./utilities/warning/url-exists.js +/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */ + +/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */ + +/* eslint-disable import/no-mutable-exports */ + +/* global XMLHttpRequest, window */ +// This function does an "AJAX" request to warn users on how to setup their icon path. + + +var urlExists = function urlExistsFunction() {}; + +if (false) { var shouldWarn, warn, hasExecuted, url_exists_hasWarned; } + +/* harmony default export */ var url_exists = (urlExists); +// CONCATENATED MODULE: ./components/utilities/UNSAFE_direction/index.jsx +/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */ + +/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */ + // Constants to specify directions: Left-to-Right (ltr) or Right-to-Left (rtl) + +var DIRECTIONS = {}; +DIRECTIONS.LTR = 'ltr'; +DIRECTIONS.RTL = 'rtl'; +/* + * Use this React context to wrap your component(s) to specify direction. Use either `DIRECTIONS.LTR` (ltr) or `DIRECTIONS.LTR` (rtl). + * It's also expected that the `HTML` document of your markup has `dir='ltr'` or `dir='rtl'` attribute set. + * The dir attribute is essential to set the direction of text to display and enable HTML in right-to-left. + * For instance, setting `dir='rtl'` will cause block elements and table columns to start on the right and flow from right to left. + * + * Note: (1) This context is prefixed with UNSAFE because it is not a publicly supported feature. + * (2) When testing this feature in the storybooks, styles consumed from `salesforce-lightning-design-system.css` may appear broken. + * This is expected since Design System React loads only the LTR version since SLDS doesn't ship a static version of RTL. + * Example on how to use the context to set your component right-to-left: + * <UNSAFE_DirectionSettings.Provider value="rtl"> + * <Combobox ... /> + * </UNSAFE_DirectionSettings.Provider> + */ +// eslint-disable-next-line camelcase + +var UNSAFE_DirectionSettings = /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createContext('ltr'); // eslint-disable-next-line camelcase + + +// CONCATENATED MODULE: ./components/utilities/utility-icon/check-props.js +/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */ + +/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */ + +/* eslint-disable import/no-mutable-exports */ + + + +var check_props_checkProps = function checkPropsFunction() {}; + +if (false) {} + +/* harmony default export */ var utility_icon_check_props = (check_props_checkProps); +// CONCATENATED MODULE: ./components/utilities/utility-icon/svg.jsx +function svg_typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { svg_typeof = function _typeof(obj) { return typeof obj; }; } else { svg_typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return svg_typeof(obj); } + +function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; } + +function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; } + +function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); } + +function svg_classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function svg_defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function svg_createClass(Constructor, protoProps, staticProps) { if (protoProps) svg_defineProperties(Constructor.prototype, protoProps); if (staticProps) svg_defineProperties(Constructor, staticProps); return Constructor; } + +function svg_inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) svg_setPrototypeOf(subClass, superClass); } + +function svg_setPrototypeOf(o, p) { svg_setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return svg_setPrototypeOf(o, p); } + +function svg_createSuper(Derived) { var hasNativeReflectConstruct = svg_isNativeReflectConstruct(); return function _createSuperInternal() { var Super = svg_getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = svg_getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return svg_possibleConstructorReturn(this, result); }; } + +function svg_possibleConstructorReturn(self, call) { if (call && (svg_typeof(call) === "object" || typeof call === "function")) { return call; } return svg_assertThisInitialized(self); } + +function svg_assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +function svg_isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } } + +function svg_getPrototypeOf(o) { svg_getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return svg_getPrototypeOf(o); } + +function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */ + +/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */ + + +var svg_Svg = /*#__PURE__*/function (_React$Component) { + svg_inherits(Svg, _React$Component); + + var _super = svg_createSuper(Svg); + + function Svg() { + var _this; + + svg_classCallCheck(this, Svg); + + for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { + args[_key] = arguments[_key]; + } + + _this = _super.call.apply(_super, [this].concat(args)); + + _defineProperty(svg_assertThisInitialized(_this), "getPaths", function (paths) { + if (paths instanceof Array) { + return paths.map(function (item) { + return /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("path", item); + }); + } + + return /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("path", _extends({ + key: "pathSVG" + }, paths)); + }); + + _defineProperty(svg_assertThisInitialized(_this), "getCircles", function (circles) { + if (circles instanceof Array) { + return circles.map(function (item) { + return /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("circle", item); + }); + } + + return /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("circle", _extends({ + key: "circleSVG" + }, circles)); + }); + + _defineProperty(svg_assertThisInitialized(_this), "getEllipses", function (ellipses) { + if (ellipses instanceof Array) { + return ellipses.map(function (item) { + return /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("ellipse", item); + }); + } + + return /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("ellipse", _extends({ + key: "ellipseSVG" + }, ellipses)); + }); + + _defineProperty(svg_assertThisInitialized(_this), "getGroups", function (groups) { + if (groups instanceof Array) { + return groups.map(function (item) { + return /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("g", null, _this.getShapes(item)); + }); + } + + return /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("g", { + key: "groupsSVG" + }, _this.getShapes(groups)); + }); + + _defineProperty(svg_assertThisInitialized(_this), "getShapes", function (data) { + var shapes = []; + + if (data) { + if (data.g) { + // eslint-disable-next-line fp/no-mutating-methods + shapes.push(_this.getGroups(data.g)); + } + + if (data.ellipse) { + // eslint-disable-next-line fp/no-mutating-methods + shapes.push(_this.getEllipses(data.ellipse)); + } + + if (data.circle) { + // eslint-disable-next-line fp/no-mutating-methods + shapes.push(_this.getCircles(data.circle)); + } + + if (data.path) { + // eslint-disable-next-line fp/no-mutating-methods + shapes.push(_this.getPaths(data.path)); + } + } + + return shapes; + }); + + _defineProperty(svg_assertThisInitialized(_this), "getSVG", function (_ref, props) { + var viewBox = _ref.viewBox, + rest = _objectWithoutProperties(_ref, ["viewBox"]); + + return /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("svg", { + "aria-hidden": props['aria-hidden'], + className: props.className, + viewBox: viewBox, + name: props.name, + style: props.style + }, _this.getShapes(rest)); + }); + + return _this; + } + + svg_createClass(Svg, [{ + key: "render", + value: function render() { + var _this$props = this.props, + data = _this$props.data, + props = _objectWithoutProperties(_this$props, ["data"]); + + return data ? this.getSVG(data, props) : null; + } + }]); + + return Svg; +}(external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.Component); + +_defineProperty(svg_Svg, "displayName", 'Svg'); + +/* harmony default export */ var svg = (svg_Svg); +// CONCATENATED MODULE: ./icons/utility/index.js +/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */ + +/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */ +var icons = {}; + +if (true) { + icons = { + activity: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M37.618 11.67c-1.54.5-2.783.98-3.723 1.438-.747.364-1.687.901-2.814 1.61.086 1.882.084 3.463-.009 4.754-.094 1.304-.342 3.173-.746 5.63l-.001.003c2.815 2.028 4.848 3.56 6.11 4.604.163.135.633.584.856.783l4.344-1.82.028-.074c.627-1.347 1.145-3.186 1.54-5.507.322-1.899.376-3.99.159-6.276l-5.744-5.144zm-1.51-2.66l-.085-.302A19.816 19.816 0 0026 6c-1.963 0-3.86.285-5.653.816l-.032.77c-.002.548.006 1.172.025 1.871 1.69.237 3.111.549 4.273.941 1.167.395 2.652 1.07 4.478 2.029 1.39-.887 2.55-1.558 3.49-2.016.946-.461 2.12-.927 3.526-1.4zM22.165 42.95c3.618-.378 6.074-.736 7.317-1.06 1.421-.371 2.7-.724 3.83-1.054.86-2.042 1.409-3.576 1.648-4.6.192-.82.397-1.923.616-3.31-.383-.338-.735-.64-1.056-.906-1.257-1.04-3.382-2.637-6.362-4.777-1.382.809-2.58 1.367-3.62 1.675-1.12.332-2.855.604-5.256.835-.88 1.877-1.447 3.354-1.697 4.414-.254 1.078-.492 2.575-.71 4.482.879 1.017 1.622 1.774 2.23 2.271.628.514 1.648 1.19 3.06 2.03zM9.433 37.355h4.577c.2-1.58.419-2.87.657-3.877.273-1.16.817-2.63 1.634-4.424-1.055-1.218-2.377-2.756-2.987-3.701-.524-.811-1.314-1.703-2.217-3.899a5.903 5.903 0 00-1.272.288c-1.127.393-2.356 1.045-3.684 1.958A20.36 20.36 0 006 26.1c0 4.169 1.266 8.043 3.433 11.255zm35.895-6.076a20.187 20.187 0 00.625-6.562c-.333 1.675-.74 3.122-1.225 4.344.15.253.274.536.37.848.101.33.178.787.23 1.37zM10.57 18.5l.13-.214c1.413-2.31 2.502-3.924 3.305-4.882.739-.883 1.853-1.95 3.356-3.226a73.318 73.318 0 01-.045-2.184A20.155 20.155 0 007.04 19.696a15.17 15.17 0 011.852-.795 8.697 8.697 0 011.678-.403zM37.154 42.78c-1.708.587-4.01 1.253-6.913 2.011-1.408.368-3.925.738-7.601 1.125 1.092.186 2.215.283 3.36.283 4.127 0 7.966-1.26 11.154-3.42zM50 26.1c0 13.3-10.755 24.1-24 24.1S2 39.4 2 26.1 12.755 2 26 2s24 10.8 24 24.1z" + } + }, + ad_set: { + "xmlns": "http://www.w3.org/2000/svg", + "g": [{ + "path": { + "d": "M22.5 5.1h-17c-.8 0-1.5.7-1.5 1.5v15.9c0 .8.7 1.5 1.5 1.5h17c.8 0 1.5-.7 1.5-1.5V6.6c0-.8-.7-1.5-1.5-1.5zm-2.6 8.2H8.1V9.2h11.8v4.1zM46.5 5.1h-17c-.8 0-1.5.7-1.5 1.5v15.9c0 .8.7 1.5 1.5 1.5h17c.8 0 1.5-.7 1.5-1.5V6.6c0-.8-.7-1.5-1.5-1.5zm-2.6 8.2H32.1V9.2h11.8v4.1z" + } + }, { + "path": { + "d": "M22.5 28h-17c-.8 0-1.5.7-1.5 1.5v15.9c0 .8.7 1.5 1.5 1.5h17c.8 0 1.5-.7 1.5-1.5V29.5c0-.8-.7-1.5-1.5-1.5zm-2.6 8.2H8.1v-4.1h11.8v4.1zM46.5 28h-17c-.8 0-1.5.7-1.5 1.5v15.9c0 .8.7 1.5 1.5 1.5h17c.8 0 1.5-.7 1.5-1.5V29.5c0-.8-.7-1.5-1.5-1.5zm-2.6 8.2H32.1v-4.1h11.8v4.1z" + } + }] + }, + add: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M30 29h16.5c.8 0 1.5-.7 1.5-1.5v-3c0-.8-.7-1.5-1.5-1.5H30c-.6 0-1-.4-1-1V5.5c0-.8-.7-1.5-1.5-1.5h-3c-.8 0-1.5.7-1.5 1.5V22c0 .6-.4 1-1 1H5.5c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5H22c.6 0 1 .4 1 1v16.5c0 .8.7 1.5 1.5 1.5h3c.8 0 1.5-.7 1.5-1.5V30c0-.6.4-1 1-1z" + } + }, + adduser: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "path": [{ + "d": "M21.9 37c0-2.7.9-5.8 2.3-8.2 1.7-3 3.6-4.2 5.1-6.4 2.5-3.7 3-9 1.4-13-1.6-4.1-5.4-6.5-9.8-6.4s-8 2.8-9.4 6.9c-1.6 4.5-.9 9.9 2.7 13.3 1.5 1.4 2.9 3.6 2.1 5.7-.7 2-3.1 2.9-4.8 3.7-3.9 1.7-8.6 4.1-9.4 8.7C1.3 45.1 3.9 49 8 49h17c.8 0 1.3-1 .8-1.6-2.5-2.9-3.9-6.6-3.9-10.4z" + }, { + "d": "M37.9 25c-6.6 0-12 5.4-12 12s5.4 12 12 12 12-5.4 12-12-5.4-12-12-12zM44 38c0 .6-.5 1-1.1 1H40v3c0 .6-.5 1-1.1 1h-2c-.6 0-.9-.4-.9-1v-3h-3.1c-.6 0-.9-.4-.9-1v-2c0-.6.3-1 .9-1H36v-3c0-.6.3-1 .9-1h2c.6 0 1.1.4 1.1 1v3h2.9c.6 0 1.1.4 1.1 1v2z" + }] + } + }, + adjust_value: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M23 14.91a6.55 6.55 0 11-6.52 6.55A6.53 6.53 0 0123 14.91zm20.7 15.72a.58.58 0 000-.84l-4.12-4.12a.59.59 0 00-.42-.18.61.61 0 00-.43.18L27.39 37.05l-1.7 5.69a.8.8 0 00.79 1 .55.55 0 00.18 0L32.35 42zm-1.45-7.75L46.4 27a.63.63 0 00.43.18.59.59 0 00.42-.18c.73-.73 2.06-1.94 2.06-1.94a2 2 0 000-2.91L47.13 20a2 2 0 00-1.41-.54 2.34 2.34 0 00-1.5.54s-1.33 1.31-1.93 2a.58.58 0 000 .88zM40.1 8.27H6a4 4 0 00-3.93 4v19.07A4 4 0 006 35.28h18.84l3.95-3.94H10.54A4.53 4.53 0 006 26.76v-9.88a4.53 4.53 0 004.56-4.57h25a4.53 4.53 0 004.56 4.57v3L44 15.91v-3.6a4 4 0 00-3.9-4.04z" + } + }, + advanced_function: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M43 6.9V4c0-.8-.7-1.5-1.5-1.5H11.8c-.8 0-1.5.7-1.5 1.5v3.1c0 .3 0 .7.3 1L25.2 26 10.6 43.9c-.2.3-.3.6-.3 1V48c0 .8.7 1.5 1.5 1.5h29.7c.8 0 1.5-.7 1.5-1.5v-2.9c0-.8-.7-1.5-1.5-1.5H18.4l13.3-16.3c.3-.4.4-.8.4-1.4 0-.5-.2-1-.5-1.4L18.4 8.4h23.1c.8 0 1.5-.7 1.5-1.5z" + } + }, + advertising: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "path": [{ + "d": "M23 27.2h.4c.2-2.7 1.2-5.1 2.7-7-.8-.8-1.8-1.3-3.1-1.3-2.4 0-4.2 1.8-4.2 4.2 0 2.3 1.8 4.1 4.2 4.1z" + }, { + "d": "M24.2 35.2c.5 0 1-.1 1.2-.1-.8-1.3-1.4-2.7-1.7-4H23c-4.5 0-8.4-3.6-8.4-8.4 0-4.5 3.6-8.4 8.4-8.4 2.5 0 4.9 1.1 6.4 2.9 1.2-.7 2.5-1.1 3.9-1.3-2.3-3.3-6.1-5.4-10.4-5.4-7.2 0-12.6 5.7-12.6 12.6S16 35.7 23.2 35.4c.4-.1.7-.1 1-.2z" + }, { + "d": "M49.9 45.5v1.4c0 1.6-1.4 3-3 3H22.8c-1.6 0-3-1.4-3-3v-1.4c0-3.6 4.3-5.9 8.3-7.7l.4-.2c.3-.1.6-.1.9.1 1.6 1.1 3.5 1.6 5.4 1.6 1.9 0 3.8-.6 5.4-1.6.3-.2.6-.2.9-.1l.4.2c4.2 1.8 8.4 4 8.4 7.7zM34.8 19.8c4.2 0 7.5 3.7 7.5 8.3s-3.3 8.3-7.5 8.3-7.5-3.7-7.5-8.3 3.4-8.3 7.5-8.3z" + }, { + "d": "M18.5 39.2c-6.9-2-12.2-8.5-12.2-16.1 0-9.3 7.5-16.8 16.8-16.8 6.9 0 13.1 4.1 15.6 10.2 2 .8 3.8 2.1 5.1 3.8C42.3 9.8 33.6 2.1 23 2.1 11.3 2.1 2.1 11.3 2.1 23c0 9.2 5.8 17 14.2 19.7.4-1.4 1.2-2.5 2.2-3.5z" + }] + } + }, + agent_home: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M26.71 2.32l23 23a1.15 1.15 0 01.29 1.11c-.08.4-.64.64-1 .64h-5V49a.92.92 0 01-1 1H9a1 1 0 01-1-.88V27H3a.77.77 0 01-.87-.64.87.87 0 01.23-1.11l23-23a1 1 0 011.35.07zM18.29 38h-4.24a.88.88 0 00-.88.88v5.43a.88.88 0 00.88.88h4.24a.89.89 0 00.88-.88v-5.43a.89.89 0 00-.88-.88zm9.59-7.2h-4.24a.9.9 0 00-.88.88v12.63a.89.89 0 00.88.88h4.24a.89.89 0 00.88-.88V31.68a.9.9 0 00-.88-.88zm9.59-7.19h-4.23a.87.87 0 00-.88.88v19.82a.87.87 0 00.88.88h4.23a.87.87 0 00.88-.88V24.49a.87.87 0 00-.88-.88z", + "fill-rule": "evenodd" + } + }, + agent_session: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M26 4C12.7 4 2.1 13.8 2.1 25.9c0 3.8 1.1 7.4 2.9 10.6.3.5.4 1.1.2 1.7l-3.1 8.5c-.3.8.5 1.5 1.3 1.3l8.6-3.3c.5-.2 1.1-.1 1.7.2 3.6 2 7.9 3.2 12.5 3.2C39.3 48 50 38.3 50 26.1 49.9 13.8 39.2 4 26 4zm-6.5 32c0 .5-.4.9-.9.9h-4.2c-.5 0-.9-.4-.9-.9v-5.4c0-.5.4-.9.9-.9h4.2c.5 0 .9.4.9.9V36zm9.6 0c0 .5-.4.9-.9.9H24c-.5 0-.9-.4-.9-.9V23.3c0-.5.4-.9.9-.9h4.2c.5 0 .9.4.9.9V36zm9.6 0c0 .5-.4.9-.9.9h-4.2c-.5 0-.9-.4-.9-.9V16.1c0-.5.4-.9.9-.9h4.2c.5 0 .9.4.9.9V36z" + } + }, + aggregation_policy: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M49.29 43.08l-7.4-7.35a2 2 0 00-.23-.18v-3.18h3.48a1 1 0 00.65-.23 1 1 0 00.14-1.4l-5.9-7-.12-.14a1 1 0 00-1.4.17l-5.89 7a1 1 0 00-.23.63 1 1 0 001 1h3.47v2.88a2.3 2.3 0 00-.68.45l-7.48 7.32a2.4 2.4 0 000 3.39 2.45 2.45 0 003.39 0l4.7-4.67v5.86a2.42 2.42 0 004.84 0v-5.4l4.24 4.22a2.45 2.45 0 003.39 0 2.38 2.38 0 00.03-3.37zM14.38 2H8.14A6.07 6.07 0 002 8v4.8a6.07 6.07 0 006.14 6h6.24a6.07 6.07 0 006.14-6V8a6.07 6.07 0 00-6.14-6zM12 14h-1.48a3.6 3.6 0 010-7.2H12a3.6 3.6 0 010 7.2zM37.74 18.8a6.07 6.07 0 006.14-6V8a6.07 6.07 0 00-6.14-6H31.5a6.07 6.07 0 00-6.14 6v4.8a6.07 6.07 0 006.14 6zm-7.47-8.4a3.6 3.6 0 013.6-3.6h1.49a3.6 3.6 0 110 7.2h-1.49a3.6 3.6 0 01-3.6-3.6zM14.38 23.6H8.14a6.07 6.07 0 00-6.14 6v4.8a6.07 6.07 0 006.14 6h6.24a6.07 6.07 0 006.14-6v-4.8a6.07 6.07 0 00-6.14-6zM12 35.6h-1.48a3.6 3.6 0 110-7.2H12a3.6 3.6 0 010 7.2z", + "fill-rule": "evenodd" + } + }, + alert: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M34.7 31l-.4.1c-1.5.5-3.1-.2-3.7-1.7l-3.3-8.8c-2.6-7-10.5-10.4-17.4-7.5C3.4 15.8.5 23.4 2.9 30L6 38.5c.5 1.5-.3 3.1-1.7 3.6l-.4.1c-1.7.6-2.5 2.6-1.9 4.3l.4 1.1c.2.5.9.9 1.5.6l34.4-12.7c.6-.2.9-1 .7-1.6l-.4-1.1c-.3-1.6-2.2-2.5-3.9-1.8zm-8.4 12.6l-7.5 2.8c-.5.2-.7.8-.4 1.2 1.2 2 3.7 2.8 5.9 2 2.2-.8 3.5-3.1 3.2-5.3-.2-.5-.8-.8-1.2-.7zM49.2 28.6c1.7-5.7.8-11.8-2.3-16.8-3.1-5.1-8.2-8.6-14-9.7-.5-.1-.9.2-.9.6l-.5 2.8c-.1.4.2.7.6.8 4.5.9 8.5 3.7 11 7.7s3.1 8.8 1.9 13.3c-.1.4.1.8.5.9l2.7.9c.5 0 .9-.1 1-.5zM38.2 17c-1.6-2.6-4.2-4.3-7.2-4.9-.4-.1-.8.2-.9.6l-.3 2.9c0 .4.2.7.6.8 1.7.4 3.2 1.4 4.1 2.9.9 1.5 1.2 3.3.7 4.9-.1.3.1.7.4.8l2.7 1.1c.4.2.8-.1 1-.5.9-2.9.5-6-1.1-8.6z" + } + }, + all: { + "xmlns": "http://www.w3.org/2000/svg", + "path": [{ + "d": "M31.6 21.6c-1.2 0-2.2-1-2.2-2.2V5.5c0-1.2 1-2.2 2.2-2.2h14.2c1.2 0 2.2 1 2.2 2.2v13.9c0 1.2-1 2.2-2.2 2.2H31.6zM37.7 29.8l-8.2 8.9c-.5.5-.5 1.3 0 1.9l8.2 8.9c.5.6 1.5.6 2 0l8.2-8.9c.5-.5.5-1.3 0-1.9l-8.2-8.9c-.5-.6-1.4-.6-2 0z" + }, { + "d": "M4.8 6.5L12 2.4c.7-.4 1.5-.4 2.1 0l7.1 4.1c.7.4 1.1 1.1 1.1 1.9v8.2c0 .8-.4 1.5-1.1 1.9l-7.1 4.1c-.7.4-1.5.4-2.1 0l-7.2-4.1c-.7-.4-1.1-1.1-1.1-1.9V8.4c0-.8.4-1.5 1.1-1.9z" + }], + "circle": { + "cx": "13", + "cy": "39.4", + "r": "9.3" + } + }, + anchor: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M48 35.7l-2.4-10.2c-.3-1.1-1.7-1.5-2.5-.8l-7.7 7.1c-.9.8-.5 2.2.6 2.5l3.3 1c-.3.7-.6 1.4-1 2-1.8 3-4.7 4.9-9.3 5.5v-25c2.6-1.1 4.4-3.7 4.4-6.7 0-4-3.3-7.3-7.3-7.3-4.1 0-7.3 3.3-7.3 7.3 0 3 1.8 5.5 4.4 6.7v25c-4.6-.6-7.5-2.5-9.3-5.5-.4-.7-.7-1.3-1-2l3.3-1c1.1-.3 1.4-1.8.6-2.5l-7.8-7c-.9-.8-2.2-.4-2.5.8L4 35.7c-.3 1.1.8 2.1 1.9 1.8l2.6-.8c.4 1.1.8 2.1 1.4 3.1 2.9 4.9 8.2 7.8 16 7.8s13-2.9 16-7.8c.6-1 1.1-2.1 1.4-3.1l2.6.8c1.3.3 2.3-.7 2.1-1.8zM26 14.2c-1.6 0-2.9-1.3-2.9-2.9s1.3-2.9 2.9-2.9 2.9 1.3 2.9 2.9-1.3 2.9-2.9 2.9z" + } + }, + animal_and_nature: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M17.39 4.603c2.698-1.014 5.568-1.52 8.61-1.52s5.912.506 8.61 1.52a5 5 0 018.84 4.678C44.69 10.32 45.54 13.56 46 19c.394 3.008 2.987 12.067 3 14 .052 7.96-7.614 13.626-23 17-15.333-3.294-23-8.96-23-17 .047-2.053 2.5-10.9 3-14 .603-5.289 1.47-8.495 2.602-9.619a5 5 0 018.787-4.778zm3.578 18.092a4 4 0 00-2.795 4.066l.39 6.253a7.451 7.451 0 0014.874 0l.382-6.119A4 4 0 0031 22.822 18.168 18.168 0 0025.646 22c-1.641 0-3.2.232-4.678.695zM36 23c1.657 0 3-1.79 3-4s-1.343-4-3-4-3 1.79-3 4 1.343 4 3 4zm-20 0c1.657 0 3-1.79 3-4s-1.343-4-3-4-3 1.79-3 4 1.343 4 3 4zm13.074 4.709c-1.768 2.03-4.624 2.022-6.347-.018-1.723-2.04-.277-3.7 3.214-3.691 3.49.01 4.9 1.679 3.133 3.709z" + } + }, + announcement: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "path": { + "d": "M22.7 45.4l-1.3-1c-1.4-1-1.4-3-1.4-4v-2.9c0-.8-.7-1.5-1.5-1.5h-6c-.8 0-1.5.7-1.5 1.5v7.7c0 2.7 1.6 4.8 4.1 4.8H20c2.9 0 3.1-2 3.1-2s.5-1.8-.4-2.6zM45 18V4.4v-.1c0-2.4-3-3.1-4.6-1.5l-8.9 8.4c-1.4 1.2-3.2 1.7-5 1.7H11.3C6.1 13 2 17.5 2 22.7v.2c0 5.2 4.1 9.1 9.3 9.1h15.2c1.9 0 3.7.8 5.1 2l8.8 8.6c1.6 1.6 4.6 1 4.6-1.4V27.6c3 0 4.8-2.1 4.8-4.8 0-2.7-1.8-4.8-4.8-4.8z" + } + } + }, + answer: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M26 4C12.7 4 2 13.8 2 26c0 3.9 1.1 7.5 3 10.8.2.4.3.9.2 1.3L3 45c-.4 1.3.8 2.4 2.1 2l7-2.4c.5-.2 1-.1 1.4.2 3.7 2.1 8 3.3 12.6 3.3 13.3 0 24-9.8 24-22C49.9 13.8 39.2 4 26 4zm11.5 17.1l-12.2 12c-.5.5-1 .7-1.7.7-.6 0-1.2-.2-1.7-.7L16 27.3c-.5-.5-.5-1.2 0-1.6l1.7-1.6c.5-.5 1.2-.5 1.7 0l4.2 4.2 10.5-10.4c.5-.5 1.2-.5 1.7 0l1.7 1.6c.4.4.4 1.2 0 1.6z" + } + }, + answered_twice: { + "xmlns": "http://www.w3.org/2000/svg", + "path": [{ + "d": "M17.6 11.4c-8.9 0-16 6.5-16 14.7 0 2.6.7 5 2 7.2.1.3.2.6.1.9l-1.5 4.6c-.3.9.5 1.6 1.4 1.3l4.7-1.6c.3-.1.7-.1.9.1 2.5 1.4 5.3 2.2 8.4 2.2 8.9 0 16-6.5 16-14.7s-7.2-14.7-16-14.7zm7.7 11.4l-8.1 8c-.3.3-.7.5-1.1.5-.4 0-.8-.1-1.1-.5l-4-3.9c-.3-.3-.3-.8 0-1.1l1.1-1.1c.3-.3.8-.3 1.1 0l2.8 2.8 7-6.9c.3-.3.8-.3 1.1 0l1.1 1.1c.4.3.4.8.1 1.1z" + }, { + "d": "M34.3 11.4h-4.2c4.7 3.4 8.2 8.8 8.2 14.7 0 5.9-3.7 11.5-8.2 14.7h4.2c8.9 0 16-6.5 16-14.7-.1-8.2-7.2-14.7-16-14.7z" + }] + }, + anywhere_alert: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "path": [{ + "d": "M50 47.33A45.34 45.34 0 004.67 2a2.67 2.67 0 100 5.33 40 40 0 0140 40 2.67 2.67 0 105.33 0z" + }, { + "d": "M32.67 47.33a28 28 0 00-28-28 2.67 2.67 0 100 5.34 22.65 22.65 0 0122.66 22.66 2.67 2.67 0 005.34 0zM4.67 36.67a10.66 10.66 0 0110.66 10.66 2.67 2.67 0 11-5.33 0v-.39A5.34 5.34 0 004.67 42a2.67 2.67 0 110-5.33z" + }] + } + }, + anywhere_chat: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M26 2.7c-13.21 0-24 9.62-24 21.59v.42a20.64 20.64 0 007.71 15.43l.32.27v.08a11.05 11.05 0 01-3.1 4.67 1.79 1.79 0 001.45 3.12l1.17-.17.53-.08c4.76-.73 8.13-1.59 10.23-2.66l.15-.08.5.11a27.38 27.38 0 005.06.48c13.21 0 24-9.62 24-21.59S39.21 2.7 26 2.7z" + } + }, + apex: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M48.5 40h-27c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h27c.8 0 1.5-.7 1.5-1.5v-3c0-.8-.7-1.5-1.5-1.5zM25.4 21.8L6 6.3c-.6-.5-1.5-.4-2 .3L2.3 9c-.5.7-.3 1.6.3 2.1l13.8 11c.5.4.5 1.2 0 1.6l-13.8 11c-.6.5-.8 1.5-.3 2.1L4 39.4c.5.7 1.4.8 2 .3l19.4-15.5c.8-.6.8-1.8 0-2.4z" + } + }, + apex_plugin: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M26.2 18.1L37.3 7c.6-.6.6-1.5 0-2.1l-2.4-2.4c-.6-.6-1.5-.6-2.1 0L21.7 13.6l4.5 4.5zM38.4 30.7l11.1-11.1c.6-.6.6-1.5 0-2.1l-2.4-2.4c-.6-.6-1.5-.6-2.1 0L33.9 26.2l4.5 4.5zM36.8 39.9c.2-.2.3-.5.4-.8.1-.4 0-.8-.2-1.1-.1-.1-.1-.2-.2-.2L14.3 15.3c-.2-.3-.7-.4-1.1-.4-.4 0-.8.2-1.1.5-.2.2-.4.3-.6.5-.1.1-.2.3-.3.4-.1.2-.3.3-.4.5-.1.2-.3.4-.4.6-.2.2-.3.5-.4.8-.2.3-.3.6-.4.9-.2.3-.3.7-.4 1.1-.2.4-.3.8-.4 1.2-.1.5-.3.9-.4 1.4-.1.5-.2 1-.3 1.6-.1.6-.2 1.2-.3 1.7-.1.6-.2 1.3-.2 1.9-.1.7-.1 1.4-.1 2.2v2.4c0 .9 0 1.7.1 2.6 0 .9.1 1.9.2 2.8 0 .3.1.5.1.8H8L2.8 44c-.8.4-.8 1.4-.3 2l3.7 3.7c.6.6 1.5.6 2.1 0l5.2-5.2c1.9.2 3.7.3 5.6.3 1.6 0 3.1 0 4.7-.1 1.3-.1 2.6-.2 3.8-.5 1-.2 2-.4 3-.7.8-.2 1.6-.5 2.3-.9.6-.3 1.2-.6 1.7-.9.7-.4 1.4-1 2-1.6l.2-.2z" + } + }, + approval: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M45.2 29.2h-8.8c-2.6 0-4.8-2.2-4.8-4.8.4-7.1 3.7-7.5 4-12.1.3-4.8-2.7-9.1-7.4-10.1C22 .9 16.4 5.6 16.4 11.6c0 5.3 3.6 5.3 4 12.8 0 2.6-2.2 4.8-4.8 4.8H6.8C4.2 29.2 2 31.3 2 34v3.2c0 .9.7 1.6 1.6 1.6h44.8c.9 0 1.6-.7 1.6-1.6V34c0-2.7-2.2-4.8-4.8-4.8zm.1 14.4H6.7c-.9 0-1.5.7-1.5 1.5v.1c0 2.6 2.2 4.8 4.8 4.8h32.1c2.6 0 4.7-2.2 4.7-4.8v-.1c0-.8-.7-1.5-1.5-1.5z" + } + }, + apps: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M13 4H7C5.3 4 4 5.3 4 7v6c0 1.7 1.3 3 3 3h6c1.7 0 3-1.3 3-3V7c0-1.7-1.3-3-3-3zM13 36H7c-1.7 0-3 1.3-3 3v6c0 1.7 1.3 3 3 3h6c1.7 0 3-1.3 3-3v-6c0-1.7-1.3-3-3-3zM13 20H7c-1.7 0-3 1.3-3 3v6c0 1.7 1.3 3 3 3h6c1.7 0 3-1.3 3-3v-6c0-1.7-1.3-3-3-3zM29 4h-6c-1.7 0-3 1.3-3 3v6c0 1.7 1.3 3 3 3h6c1.7 0 3-1.3 3-3V7c0-1.7-1.3-3-3-3zM29 36h-6c-1.7 0-3 1.3-3 3v6c0 1.7 1.3 3 3 3h6c1.7 0 3-1.3 3-3v-6c0-1.7-1.3-3-3-3zM29 20h-6c-1.7 0-3 1.3-3 3v6c0 1.7 1.3 3 3 3h6c1.7 0 3-1.3 3-3v-6c0-1.7-1.3-3-3-3zM45 4h-6c-1.7 0-3 1.3-3 3v6c0 1.7 1.3 3 3 3h6c1.7 0 3-1.3 3-3V7c0-1.7-1.3-3-3-3zM45 36h-6c-1.7 0-3 1.3-3 3v6c0 1.7 1.3 3 3 3h6c1.7 0 3-1.3 3-3v-6c0-1.7-1.3-3-3-3zM45 20h-6c-1.7 0-3 1.3-3 3v6c0 1.7 1.3 3 3 3h6c1.7 0 3-1.3 3-3v-6c0-1.7-1.3-3-3-3z" + } + }, + archive: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M45.2 2.3H6.8C4.2 2.3 2 4.5 2 7.1v4.8c0 .9.7 1.6 1.6 1.6h44.8c.9 0 1.6-.7 1.6-1.6V7.1c0-2.6-2.2-4.8-4.8-4.8zM46.6 17.5H5.5c-.9 0-1.6.7-1.6 1.6v26.4c0 2.6 2.2 4.8 4.8 4.8h34.8c2.6 0 4.8-2.2 4.8-4.8V19.1c-.1-.9-.8-1.6-1.7-1.6zm-13.8 8H19.2c-1.1 0-2-.9-2-2s.9-2 2-2h13.6c1.1 0 2 .9 2 2s-.9 2-2 2z" + } + }, + arrow_bottom: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M42.34 41.83a2 2 0 012 2V48a2 2 0 01-2 2H9.66a2 2 0 01-2-2v-4.13a2 2 0 012-2zM28 2a2.12 2.12 0 012.05 2v17.4a1.3 1.3 0 002.24.92l4.8-4.69a2 2 0 012.86 0l2.86 2.75a1.86 1.86 0 010 2.76l-15.42 15a2 2 0 01-2.86 0l-15.32-15a1.86 1.86 0 010-2.76L12 17.63a2 2 0 012.86 0l4.8 4.69a1.3 1.3 0 002.24-.92V4A2.19 2.19 0 0124 2h4z" + } + }, + arrow_left: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M10.17 42.34a2 2 0 01-2 2H4a2 2 0 01-2-2V9.66a2 2 0 012-2h4.13a2 2 0 012 2zM50 28a2.11 2.11 0 01-2 2.05H30.6a1.3 1.3 0 00-.92 2.24l4.69 4.8a2 2 0 010 2.86l-2.75 2.86a1.87 1.87 0 01-2.76 0l-15-15.42a2 2 0 010-2.86l15-15.32a1.87 1.87 0 012.76 0L34.37 12a2 2 0 010 2.86l-4.69 4.8a1.3 1.3 0 00.92 2.24H48a2.2 2.2 0 012 2.1z", + "fill-rule": "evenodd" + } + }, + arrow_right: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M41.83 9.66a2 2 0 012-2H48a2 2 0 012 2v32.68a2 2 0 01-2 2h-4.13a2 2 0 01-2-2zM2 24a2.11 2.11 0 012-2h17.4a1.3 1.3 0 00.92-2.24l-4.69-4.8a2 2 0 010-2.86l2.75-2.9a1.87 1.87 0 012.76 0l15 15.42a2 2 0 010 2.86l-15 15.32a1.87 1.87 0 01-2.76 0L17.63 40a2 2 0 010-2.86l4.69-4.8a1.3 1.3 0 00-.92-2.24H4A2.2 2.2 0 012 28z", + "fill-rule": "evenodd" + } + }, + arrow_top: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M9.66 10.17a2 2 0 01-2-2V4a2 2 0 012-2h32.68a2 2 0 012 2v4.13a2 2 0 01-2 2zM24 50a2.12 2.12 0 01-2.05-2V30.6a1.3 1.3 0 00-2.24-.92l-4.8 4.69a2 2 0 01-2.86 0l-2.9-2.75a1.86 1.86 0 010-2.76l15.42-15a2 2 0 012.86 0l15.32 15a1.86 1.86 0 010 2.76L40 34.37a2 2 0 01-2.86 0l-4.8-4.69a1.3 1.3 0 00-2.24.92V48a2.19 2.19 0 01-2.1 2h-4z" + } + }, + arrowdown: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M9.6 31c-.8.8-.8 1.9 0 2.7l15 14.7c.8.8 2 .8 2.8 0l15.1-14.7c.8-.8.8-1.9 0-2.7l-2.8-2.7c-.8-.8-2-.8-2.8 0l-4.7 4.6c-.8.8-2.2.3-2.2-.9V5c0-1-.9-2-2-2h-4c-1.1 0-2 1.1-2 2v27c0 1.2-1.4 1.7-2.2.9l-4.7-4.6c-.8-.8-2-.8-2.8 0L9.6 31z" + } + }, + arrowup: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M41.4 21c.8-.8.8-1.9 0-2.7l-15-14.7c-.8-.8-2-.8-2.8 0l-15 14.7c-.8.8-.8 1.9 0 2.7l2.8 2.7c.8.8 2 .8 2.8 0l4.7-4.6c.8-.8 2.2-.2 2.2.9v27c0 1 .9 2 2 2h4c1.1 0 2-1.1 2-2V20c0-1.2 1.4-1.7 2.2-.9l4.7 4.6c.8.8 2 .8 2.8 0l2.6-2.7z" + } + }, + asset_warranty: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M38.78 26.78c1.41 0 2.53 1.53 3.78 2.06s3.18.23 4.14 1.24.7 2.84 1.23 4.14S50 36.58 50 38s-1.53 2.54-2.07 3.78-.24 3.22-1.23 4.14-2.85.7-4.14 1.24-2.37 2.06-3.78 2.06-2.54-1.53-3.78-2.06-3.18-.23-4.13-1.24-.72-2.84-1.24-4.14-2.08-2.36-2.08-3.78 1.53-2.54 2.07-3.78.23-3.19 1.24-4.14 2.83-.7 4.13-1.24 2.36-2.06 3.79-2.06zm2.86-24a2.23 2.23 0 012.17 2.16V26.4l-.21-.09c-1.58-.67-3-2.64-4.82-2.64-1.35 0-2.5 1.1-3.64 1.93v-7.81a.77.77 0 00-.21-.56.79.79 0 00-.57-.21h-1.64a.68.68 0 00-.47.21.73.73 0 00-.21.56v9a12.29 12.29 0 00-2.25.45v-9.45A.76.76 0 0029 17a.78.78 0 00-.78.77v10.67a9.1 9.1 0 00-.77 3.21H11.23a.73.73 0 00-.48.21.69.69 0 00-.2.56v.87a.74.74 0 00.2.47.82.82 0 00.56.22h15.34c-.85 1.25-2.2 2.52-2.2 4 0 1.85 2 3.24 2.64 4.83a7 7 0 01.41 1.63H15.78v2.25a2.22 2.22 0 01-2.17 2.17h-2.47A2.22 2.22 0 019 46.71v-2.13H4.17A2.21 2.21 0 012 42.41V4.94a2.21 2.21 0 012.17-2.16zM43 34.31a.57.57 0 00-.81 0l-4.37 5-2-2a.56.56 0 00-.79 0l-.81.77a.52.52 0 00-.06.72l.06.06L37 41.63a1.21 1.21 0 00.82.36 1 1 0 00.81-.36l5.2-5.76a.63.63 0 000-.78zM14.48 17h-3.25a.73.73 0 00-.48.21.69.69 0 00-.2.56V29.5a.7.7 0 00.76.68h3.11a.73.73 0 00.77-.68V17.79a.72.72 0 00-.67-.77zm4.62 0h-1.7a.73.73 0 00-.48.21.7.7 0 00-.21.56V29.5a.82.82 0 00.22.47.77.77 0 00.56.21H19a.73.73 0 00.6-.18.74.74 0 00.22-.56V17.79a.74.74 0 00-.22-.56.72.72 0 00-.6-.23zm7 0h-3.28a.73.73 0 00-.48.21.7.7 0 00-.21.56V29.5a.72.72 0 00.76.68H26a.74.74 0 00.78-.68V17.79a.74.74 0 00-.67-.79zm8.52-3.87H11.23a.78.78 0 00-.48.21.71.71 0 00-.2.57v.85a.71.71 0 00.73.69h23.24a.77.77 0 00.56-.21.72.72 0 00.21-.57v-.76a.72.72 0 00-.21-.57.77.77 0 00-.56-.21z" + } + }, + assignment: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M3.6 29.8h44.6c.9 0 1.6.7 1.6 1.6v3.2c0 .9-.7 1.6-1.6 1.6H3.6c-.9 0-1.6-.7-1.6-1.6v-3.2c0-.9.7-1.6 1.6-1.6zM3.6 15.6h44.6c.9 0 1.6.7 1.6 1.6v3.2c0 .9-.7 1.6-1.6 1.6H3.6c-.9 0-1.6-.7-1.6-1.6v-3.2c0-.8.7-1.6 1.6-1.6z" + } + }, + attach: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M17.6 36.7c.6.6 1.5.5 2.1 0l10-10c.7-.7 1.9-.8 2.8 0 .9.8.8 2.2 0 3L20.2 41.8c-2.7 2.7-7.2 2.7-9.9 0l-.1-.1c-2.7-2.7-2.7-7.2 0-9.9l21.7-21.7c2.7-2.7 7.2-2.7 9.9 0l.1.1c2.7 2.7 2.7 7.2 0 9.9l-.1.1c-.5.5-.6 1.2-.2 1.8.6 1.1 1.1 2.3 1.4 3.5.2.8 1.1 1 1.7.5.8-.8 1.5-1.6 1.5-1.6 5.1-5.1 5.1-13.4 0-18.5H46C40.9.8 32.6.8 27.5 5.9L5.8 27.5C.7 32.6.7 40.9 5.8 46l.2.2c5.1 5.1 13.3 5.1 18.4 0l12.4-12.3c3.2-3.2 3.1-8.4-.2-11.6-3.2-3.1-8.4-2.9-11.5.3l-9.8 9.8c-.6.6-.6 1.6 0 2.2l2.3 2.1z" + } + }, + automate: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "path": [{ + "d": "M26.1 16.4c-5.3 0-9.7 4.3-9.7 9.7s4.3 9.7 9.7 9.7c5.3 0 9.7-4.3 9.7-9.7s-4.4-9.7-9.7-9.7zm0 16.7c-3.9 0-7.1-3.2-7.1-7.1 0-3.9 3.2-7.1 7.1-7.1 3.9 0 7.1 3.2 7.1 7.1-.1 3.9-3.3 7.1-7.1 7.1z" + }, { + "d": "M49.3 32.1c.5-1.9.8-4 .8-6.1 0-2.1-.3-4.1-.8-6.1h-2.7c-.4-1.5-1-2.9-1.7-4.2l1.9-1.9c-2.1-3.5-5-6.5-8.6-8.6l-1.9 1.9c-1.3-.7-2.7-1.3-4.2-1.7V2.8c-1.9-.5-4-.8-6.1-.8-2.1 0-4.1.3-6.1.8v2.7c-1.4.4-2.8 1-4.1 1.7l-2-1.9c-3.6 2.1-6.5 5.1-8.6 8.6l1.9 1.9c-.7 1.3-1.3 2.7-1.7 4.2H2.8c-.5 1.9-.8 3.9-.8 6s.3 4.1.8 6.1h2.7c.4 1.5 1 2.9 1.7 4.2l-1.9 1.9c2.1 3.5 5 6.5 8.6 8.6l1.9-1.9c1.3.7 2.7 1.3 4.2 1.7v2.7c1.9.5 4 .8 6.1.8 2.1 0 4.1-.3 6.1-.8v-2.7c1.5-.4 2.9-1 4.2-1.7l1.9 1.9c3.5-2.1 6.5-5 8.6-8.6L45 36.3c.7-1.3 1.3-2.7 1.7-4.2h2.6zm-5.8 6.5c-.7.9-1.4 1.8-2.3 2.6-.8.8-1.7 1.6-2.6 2.3l-1.9-1.9c-2.1 1.5-4.6 2.5-7.2 3v2.6c-1.1.2-2.3.3-3.5.3-1.2 0-2.3-.1-3.5-.3v-2.6c-2.6-.5-5.1-1.5-7.2-3l-1.9 1.9a28.482 28.482 0 01-4.9-4.9l1.9-1.9c-1.5-2.1-2.5-4.6-3-7.2H4.8c-.2-1.1-.3-2.3-.3-3.5 0-1.2.1-2.3.3-3.5h2.7c.5-2.6 1.5-5.1 3-7.2l-1.9-1.9a28.482 28.482 0 014.9-4.9l1.9 1.9c2.1-1.5 4.6-2.5 7.2-3V4.8c1.1-.2 2.3-.3 3.5-.3 1.2 0 2.3.1 3.5.3v2.7c2.6.5 5.1 1.5 7.2 3l1.9-1.9c.9.7 1.8 1.4 2.6 2.3.8.8 1.6 1.7 2.3 2.6l-1.9 1.9c1.5 2.1 2.5 4.6 3 7.2h2.7c.2 1.1.3 2.3.3 3.5 0 1.2-.1 2.3-.3 3.5h-2.7c-.5 2.6-1.5 5.1-3 7.2l1.8 1.8z" + }] + } + }, + away: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M43 9C33.6-.3 18.4-.3 9 9S-.3 33.6 9 43s24.6 9.3 34 0 9.3-24.6 0-34zm-29.7 4.3c7-7 18.5-7 25.5 0 2.8 2.8 4.5 6.2 5 9.7H8.2c.6-3.6 2.3-7 5.1-9.7z" + } + }, + back: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M48.6 23H15.4c-.9 0-1.3-1.1-.7-1.7l9.6-9.6c.6-.6.6-1.5 0-2.1l-2.2-2.2c-.6-.6-1.5-.6-2.1 0L2.5 25c-.6.6-.6 1.5 0 2.1L20 44.6c.6.6 1.5.6 2.1 0l2.1-2.1c.6-.6.6-1.5 0-2.1l-9.6-9.6c-.6-.7-.2-1.8.7-1.8h33.2c.8 0 1.5-.6 1.5-1.4v-3c0-.8-.6-1.6-1.4-1.6z" + } + }, + ban: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M26 2C12.8 2 2 12.8 2 26s10.8 24 24 24 24-10.8 24-24S39.2 2 26 2zm11.9 25.7c-.1.7-.7 1.3-1.5 1.3H15.6c-.8 0-1.4-.5-1.5-1.3-.1-1.2-.1-2.3 0-3.4.1-.7.7-1.3 1.5-1.3h20.8c.8 0 1.4.6 1.5 1.3.1 1.2.1 2.3 0 3.4z" + } + }, + block_visitor: { + "xmlns": "http://www.w3.org/2000/svg", + "path": [{ + "d": "M64.7 19.1v.4-.4z" + }, { + "d": "M22 37c0-2.7.9-5.8 2.3-8.2 1.7-3 3.6-4.2 5.1-6.4 2.5-3.7 3-9 1.4-13C29.2 5.3 25.4 2.9 21 3s-8 2.8-9.4 6.9c-1.6 4.5-.9 9.9 2.7 13.3 1.5 1.4 2.9 3.6 2.1 5.7-.7 2-3.1 2.9-4.8 3.7-3.9 1.7-8.6 4.1-9.4 8.7C1.4 45.1 4 49 8.1 49h17c.8 0 1.3-1 .8-1.6C23.4 44.5 22 40.8 22 37z" + }, { + "d": "M46.5 28.5c-4.7-4.7-12.3-4.7-17 0s-4.7 12.3 0 17 12.3 4.7 17 0 4.7-12.3 0-17zm-14.2 2.8c2.7-2.7 6.7-3.1 9.8-1.2l-11 11c-1.9-3.1-1.5-7.1 1.2-9.8zm11.4 11.4c-2.7 2.6-6.7 3-9.8 1.3l11-11c1.8 3 1.4 7-1.2 9.7z" + }] + }, + bold: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M41 19c0-6-4.8-11-10.5-11H14c-1.1 0-2 .9-2 2v33c0 1.1.9 2 2 2h16.5C36.2 45 41 40 41 34c0-2.9-1.1-5.5-2.9-7.5 1.8-2 2.9-4.6 2.9-7.5zM30.5 38H19v-8h11.5c1.9 0 3.6 1.9 3.6 4s-1.7 4-3.6 4zm0-15H19v-8h11.5c1.9 0 3.6 1.9 3.6 4s-1.7 4-3.6 4z" + } + }, + bookmark: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M37.3 49.6l-9.9-9.9c-.6-.6-1.5-.6-2.1 0l-10.6 10c-.7.6-1.7.2-1.7-.7V6c0-2.2 1.8-4 4-4h18c2.2 0 4 1.8 4 4v42.9c0 .9-1.1 1.4-1.7.7z" + } + }, + bottom_align: { + "xmlns": "http://www.w3.org/2000/svg", + "rect": [{ + "x": "2", + "y": "43.6", + "width": "48", + "height": "6.4", + "rx": "1.6" + }, { + "data-name": "Rectangle", + "x": "18.8", + "y": "2", + "width": "14.4", + "height": "37.6", + "rx": "3.2" + }] + }, + breadcrumbs: { + "xmlns": "http://www.w3.org/2000/svg", + "path": [{ + "d": "M8.4 42c-.6 0-1-.4-1-1V10.9c0-.6.4-1 1-1h8.1c.4 0 .9.2 1.2.5L29.3 25c.4.5.4 1.3 0 1.9L17.6 41.5c-.3.4-.8.6-1.3.6L8.4 42z" + }, { + "d": "M44.3 25L32.6 10.5c-.5-.6-1.4-.8-2.1-.2l-2.3 1.9c-.7.5-.8 1.5-.2 2.1L37.5 26 28 37.8c-.5.6-.4 1.6.2 2.1l2.3 1.9c.7.5 1.5.4 2.1-.2L44.3 27c.4-.8.4-1.5 0-2z" + }] + }, + broadcast: { + "xmlns": "http://www.w3.org/2000/svg", + "g": [{ + "path": [{ + "d": "M2 18.992c0 5.832 2.28 11.292 6.362 15.374.902.899 2.28.899 3.181 0 .902-.9.902-2.279 0-3.183-3.233-3.231-5.036-7.58-5.088-12.19.053-4.612 1.855-8.959 5.088-12.193.902-.901.902-2.279 0-3.181-.901-.9-2.28-.901-3.181 0A21.61 21.61 0 002 18.992z" + }, { + "d": "M14.723 28.004c.902.902 2.28.902 3.182 0 .9-.9.9-2.278 0-3.181-1.538-1.537-2.438-3.605-2.438-5.831-.001-2.227.847-4.241 2.438-5.832.9-.901.9-2.279 0-3.181-.902-.9-2.28-.901-3.182 0a12.715 12.715 0 00-3.71 9.012c0 3.394 1.325 6.628 3.71 9.013z" + }] + }, { + "path": [{ + "d": "M43.499 3.618c-.901-.901-2.28-.9-3.181 0-.901.902-.901 2.28 0 3.181 3.232 3.234 5.035 7.581 5.089 12.193-.054 4.611-1.855 8.959-5.089 12.191-.901.901-.901 2.28 0 3.182.899.9 2.277.9 3.181 0a21.614 21.614 0 006.36-15.374c0-5.83-2.277-11.29-6.36-15.373z" + }, { + "d": "M40.85 18.992c-.002-3.392-1.326-6.627-3.713-9.012-.9-.901-2.279-.9-3.181 0-.901.902-.899 2.28 0 3.181 1.591 1.59 2.438 3.604 2.438 5.832 0 2.226-.9 4.294-2.438 5.831-.901.902-.899 2.279 0 3.181.901.902 2.28.902 3.181 0a12.724 12.724 0 003.713-9.013z" + }] + }], + "path": { + "d": "M23.662 24.349a5.858 5.858 0 012.247-11.268 5.856 5.856 0 012.28 11.253l-.03 2.759v20.844c0 .601-.524 1.125-1.125 1.052h-2.249c-.599 0-1.125-.525-1.125-1.125V27.02l.002-2.671z" + } + }, + brush: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "path": { + "d": "M49.4 2.7C46-.8 27 10 15.4 28.6c-.5.9-.2 2 .7 2.4 2.6 1.2 4.7 3.4 5.8 6.1.4 1 1.5 1.3 2.4.7 18-11.9 28.5-31.6 25.1-35.1zM11.9 35.2C10.4 35.2 9 36 8 37h-.1c-.5 0-1 .8-1.4 1.5-1.6 2.7-1.9 5.9-4.3 9.4-.4.6-.3 1.5.4 1.7 3.4 1.1 9.5.1 12.5-2.1v.1c1-.2.7-.6 1-.6 1.1-2 2-3 2-4.9-.1-3.7-2.7-6.9-6.2-6.9z" + } + } + }, + bucket: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M49 11c0-6.2-9.8-9-19-9s-19 2.8-19 9v.4C2.4 14 1 19.5 1 22.6c0 3 1.5 6.1 4.1 8.3 2.3 1.9 5.1 3 7.9 3.1h.8c6.5-.2 12.9-2.3 14.7-5.9-.9-.7-1.5-1.9-1.5-3.1 0-2.2 1.8-4 4-4s4 1.8 4 4c0 1.7-1 3.1-2.5 3.7-2 5.6-10 9.3-19.5 9.3v6c0 3.3 7.6 6 17 6s17-2.7 17-6V15.3c1.3-1.2 2-2.6 2-4.3zM30 8c6.6 0 10.8 1.5 12.4 2.6.3.2.3.6 0 .8C40.8 12.5 36.6 14 30 14s-10.8-1.5-12.4-2.6c-.3-.2-.3-.6 0-.8C19.2 9.5 23.4 8 30 8zM7.7 27.8C6 26.4 5 24.5 5 22.6c0-4.5 4.1-6.6 7.7-7.5l.3.3V30c-1.9-.1-3.8-.9-5.3-2.2z" + } + }, + bug: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "path": [{ + "d": "M19.6 10h12.8a1.51 1.51 0 001.43-1.75A8 8 0 0026 2a8.05 8.05 0 00-7.83 6.24A1.51 1.51 0 0019.6 10z" + }, { + "d": "M47.59 30.8A2.4 2.4 0 0050 28.24 2.47 2.47 0 0047.43 26h-7v-4c4.64-1.84 7.91-6.8 8-12.71a2.48 2.48 0 00-2-2.48 2.39 2.39 0 00-2.8 2.4 9.14 9.14 0 01-3.92 7.83 4.87 4.87 0 00-4.08-2.24H16.41a4.87 4.87 0 00-4.08 2.24 9 9 0 01-3.92-7.66 2.53 2.53 0 00-2.24-2.56 2.39 2.39 0 00-2.55 2.4c0 5.91 3.35 11 8 12.79v4h-7A2.53 2.53 0 002 28.24a2.44 2.44 0 002.41 2.56h7.2v4C7 36.64 3.7 41.59 3.62 47.51a2.48 2.48 0 002 2.48 2.39 2.39 0 002.8-2.4 9 9 0 013.84-7.76 14.4 14.4 0 009.27 9.44 1.61 1.61 0 002.08-1.52V28.56A2.53 2.53 0 0125.84 26a2.44 2.44 0 012.56 2.4v19.35a1.58 1.58 0 002.08 1.52 14.4 14.4 0 009.27-9.44 9.25 9.25 0 013.84 7.6A2.53 2.53 0 0045.83 50a2.4 2.4 0 002.56-2.4c0-5.92-3.36-11-8-12.79v-4z" + }] + } + }, + builder: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "path": { + "d": "M11.5 17h-8c-.8 0-1.5.7-1.5 1.5V44c0 2.2 1.8 4 4 4h5.5c.8 0 1.5-.7 1.5-1.5v-28c0-.8-.7-1.5-1.5-1.5zM48.5 17h-30c-.8 0-1.5.7-1.5 1.5v28c0 .8.7 1.5 1.5 1.5H46c2.2 0 4-1.8 4-4V18.5c0-.8-.7-1.5-1.5-1.5zM46 4H6C3.8 4 2 5.8 2 8v3.5c0 .8.7 1.5 1.5 1.5h45c.8 0 1.5-.7 1.5-1.5V8c0-2.2-1.8-4-4-4z" + } + } + }, + bundle_config: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M14.4 2H8a6 6 0 00-6 6v6a6 6 0 006 6h6.4a6 6 0 006-6V8a6 6 0 00-6-6zm-2.87 13.1h-.66a4.1 4.1 0 010-8.19h.66a4.1 4.1 0 010 8.19zM31.2 20h6.4a6 6 0 006-6V8a6 6 0 00-6-6h-6.4a6 6 0 00-6 6v6a6 6 0 006 6zm2.87-13.09h.66a4.1 4.1 0 010 8.19h-.66a4.1 4.1 0 010-8.19zM14.4 24.93L8 25a6 6 0 00-6 6v5.87a6 6 0 006 6h6.4a6 6 0 006-6v-5.94a6 6 0 00-6-6zM11.53 38h-.66a4.1 4.1 0 010-8.19h.66a4.1 4.1 0 010 8.19zM49.27 35.07a14.83 14.83 0 01-1.88-.22.22.22 0 01-.2-.21 18.39 18.39 0 00-.84-2v-.32c.32-.53.84-1.06 1.15-1.6a.82.82 0 00-.11-1.06l-2.08-2.14a.78.78 0 00-.52-.21 2.36 2.36 0 00-.52.21c-.52.32-1 .86-1.56 1.18a.1.1 0 00-.11.09h-.1c-.73-.21-1.25-.64-2-.85a.23.23 0 01-.21-.21c-.1-.64-.1-1.18-.21-1.82a.89.89 0 00-.52-.85.33.33 0 00-.21-.11h-3a.86.86 0 00-.52.11c-.21.21-.52.53-.52.85a11.15 11.15 0 01-.21 1.82.23.23 0 01-.21.21c-.73.21-1.25.64-2 .85h-.1c-.11 0-.11 0-.21-.1-.52-.32-.94-.86-1.56-1.18a.62.62 0 00-.53-.21c-.31 0-.31.11-.62.21l-2.08 2.14a.82.82 0 00-.11 1.06c.31.54.83 1 1.15 1.6a.21.21 0 010 .3c-.21.75-.63 1.28-.84 2a.22.22 0 01-.2.21c-.63.11-1.15.11-1.78.22a.87.87 0 00-.83.64v3.62a1.59 1.59 0 00.82.7 9.73 9.73 0 011.78.22.22.22 0 01.2.21c.21.75.63 1.28.84 2 0 .1.1.21 0 .32-.32.53-.84 1.06-1.15 1.6a.82.82 0 00.11 1.06l2.08 2.14c.21.21.31.21.62.21a1.63 1.63 0 00.53-.21c.5-.42 1-.81 1.56-1.18.1 0 .1-.1.21-.1h.1c.73.21 1.25.64 2 .85a.23.23 0 01.21.21c.1.64.1 1.28.21 1.92s.31.75.83.75h3c.52 0 .73-.21.84-.75s.1-1.28.21-1.92a.22.22 0 01.2-.21 18.46 18.46 0 002-.85h.11a.09.09 0 01.1.1c.52.32 1 .86 1.56 1.18a.86.86 0 00.53.21c.2 0 .31-.11.62-.21l2.08-2.14a.82.82 0 00.11-1.06c-.31-.54-.83-1-1.15-1.6a.21.21 0 010-.3c.21-.75.63-1.28.84-2a.22.22 0 01.2-.21c.63-.11 1.26-.11 1.88-.22s.73-.32.73-.85v-3c.01-.78-.2-1-.72-1.1zm-6.9 2.45a4.93 4.93 0 01-4.67 4.8 4.65 4.65 0 01-4.7-4.6v-.2a4.69 4.69 0 019.37-.43 3.09 3.09 0 010 .43z" + } + }, + bundle_policy: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M37.55 22.55a2 2 0 00-2.83 0L30.43 27a2.11 2.11 0 000 2.92l9.62 9.94a2 2 0 002.83 0l4.29-4.44a2.11 2.11 0 000-2.92l-9.62-9.94zM31.8 39a2.37 2.37 0 00-3.35 0l-6.22 6.27h-.06a2.42 2.42 0 00.06 3.34 2.37 2.37 0 003.35 0l6.22-6.22h.06a2.42 2.42 0 00-.02-3.39zM47.68 45.2h-9.76a2.4 2.4 0 100 4.8h9.76A2.36 2.36 0 0050 47.6a2.36 2.36 0 00-2.32-2.4zM13.6 2H8a6.11 6.11 0 00-6 6.2V11a6.11 6.11 0 006 6.2h5.6a6.11 6.11 0 006-6.2V8.2a6.11 6.11 0 00-6-6.2zm-1.51 10.4H9.5a2.75 2.75 0 01-2.7-2.8 2.75 2.75 0 012.71-2.8h2.59a2.75 2.75 0 012.7 2.8 2.75 2.75 0 01-2.71 2.8zM30.4 17.2H36a6.11 6.11 0 006-6.2V8.2A6.11 6.11 0 0036 2h-5.6a6.11 6.11 0 00-6 6.2V11a6.11 6.11 0 006 6.2zm1.51-10.4h2.59a2.75 2.75 0 012.7 2.8 2.75 2.75 0 01-2.71 2.79H31.9a2.75 2.75 0 01-2.7-2.8 2.75 2.75 0 012.71-2.79zM13.6 22H8a6.11 6.11 0 00-6 6.2V31a6.11 6.11 0 006 6.2h5.6a6.11 6.11 0 006-6.2v-2.8a6.11 6.11 0 00-6-6.2zm-1.51 10.4H9.51a2.8 2.8 0 010-5.6h2.58a2.8 2.8 0 110 5.6z", + "fill-rule": "evenodd" + } + }, + button_choice: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M31.998 12c1.468-.001 3 1.133 3 4.135V26c0 1.513 1.38 2.111 1.98 2.311L43.8 30.8c2.9 1.1 4.7 4.2 3.9 7.4l-3.2 10.4c-.2.8-.9 1.4-1.8 1.4H26.6c-.8 0-1.5-.4-1.8-1.1L18.365 33.96c-.421-.978-.143-1.765.835-2.361 1.8-1.3 4.5.04 5.6 1.94l1.616 2.203c.636 1.208 2.584 1.208 2.584-.592V16.135C29 13.133 30.53 12 31.998 12zM46 2c2.2 0 4 1.8 4 4v15c0 1.882-1.819 4.003-4 4h-5.99C39 25 39 24.188 39 24.06V15.5c0-3.845-1.981-7.5-7-7.5s-7 3.188-7 7.5v8.56a.96.96 0 01-1.012.94H6c-2.2 0-4-1.8-4-4V6c0-2.2 1.8-4 4-4z" + } + }, + calculated_insights: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M44 6.81a6 6 0 00-4.77 9.56l-5 8.82h-.63a6 6 0 00-3 .81l-6.35-4.67A5.9 5.9 0 0024.4 20a6 6 0 10-10.73 3.67L8.52 33.2H8a5.94 5.94 0 00-3.69 1.25 6 6 0 108.41 1.08L17.89 26h.51a5.94 5.94 0 003-.8l6.35 4.67a5.9 5.9 0 00-.15 1.33 6 6 0 1010.78-3.58l5-8.82H44a6 6 0 100-12z", + "fill-rule": "evenodd" + } + }, + call: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M48.5 37.9L42.4 33c-1.4-1.1-3.4-1.2-4.8-.1l-5.2 3.8c-.6.5-1.5.4-2.1-.2l-7.8-7-7-7.8c-.6-.6-.6-1.4-.2-2.1l3.8-5.2c1.1-1.4 1-3.4-.1-4.8l-4.9-6.1c-1.5-1.8-4.2-2-5.9-.3L3 8.4c-.8.8-1.2 1.9-1.2 3 .5 10.2 5.1 19.9 11.9 26.7S30.2 49.5 40.4 50c1.1.1 2.2-.4 3-1.2l5.2-5.2c1.9-1.5 1.8-4.3-.1-5.7z" + } + }, + campaign: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M26 .8C12.1.8.8 12.1.8 26S12.1 51.2 26 51.2 51.2 39.9 51.2 26 39.9.8 26 .8zm0 45.4C14.9 46.2 5.8 37.1 5.8 26S14.9 5.8 26 5.8 46.2 14.9 46.2 26 37.1 46.2 26 46.2zm0-35.3c-8.3 0-15.1 6.8-15.1 15.1S17.7 41.1 26 41.1 41.1 34.3 41.1 26 34.3 10.9 26 10.9zm0 25.2c-5.5 0-10.1-4.5-10.1-10.1S20.5 15.9 26 15.9 36.1 20.5 36.1 26 31.5 36.1 26 36.1zM26 21c-2.8 0-5 2.3-5 5s2.3 5 5 5 5-2.3 5-5-2.2-5-5-5z" + } + }, + cancel_file_request: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "path": [{ + "d": "M28.6 11.4h5.1c.6 0 1.1-.5 1.1-1.1 0-.3-.1-.5-.3-.8l-7.2-7.1c-.2-.2-.4-.3-.7-.3-.6 0-1.1.5-1.1 1.1v5.1c0 1.7 1.4 3.1 3.1 3.1z" + }, { + "d": "M24.6 40.6c0-6.8 4.2-12.6 10.2-14.9v-8.1c0-.9-.7-1.6-1.6-1.6h-7.8c-2.6 0-4.7-2.1-4.7-4.6V3.6c.1-.8-.6-1.5-1.5-1.5H6.8c-2.6 0-4.7 2.1-4.7 4.6v29.4c0 2.6 2.1 4.6 4.7 4.6h17.8v-.1zM31.8 34.6l6 6-6 6c-.6.6-.6 1.6 0 2.1l.7.7c.6.6 1.6.6 2.1 0l6-6 6 6c.6.6 1.6.6 2.1 0l.7-.7c.6-.6.6-1.6 0-2.1l-6-6 6-6c.6-.6.6-1.6 0-2.1l-.7-.7c-.6-.6-1.6-.6-2.1 0l-6 6-6-6c-.6-.6-1.6-.6-2.1 0l-.7.7c-.6.5-.6 1.5 0 2.1z" + }] + } + }, + cancel_transfer: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M25.1 12.3v-3c4 0 7.2 3.2 7.2 7.2h-3l4.6 5.7c.3.3.7.3.9 0l4.6-5.7h-3c0-6.3-5.2-11.4-11.4-11.4v-3l-5.7 4.6c-.3.3-.2.7.1.9l5.7 4.7zM26.3 33.6c-1.2-1.6-3.5-2.7-5.8-3.8-2.4-1-2.7-2-2.7-3s.6-2.1 1.4-2.8c1.3-1.3 2.1-3.2 2.1-5.3 0-4-2.4-7.5-6.5-7.5h-.4c-4.1 0-6.5 3.5-6.5 7.5 0 2.2.7 4 2.1 5.3.8.7 1.4 1.7 1.4 2.8 0 1-.3 2-2.7 3-3.4 1.5-6.6 3.1-6.7 6.3.3 2.3 1.8 3.9 3.8 3.9h17.9c.3 0 .7-.1 1-.2.1-2.2.6-4.3 1.6-6.2zM31.8 34.6l6 6-6 6c-.6.6-.6 1.6 0 2.1l.7.7c.6.6 1.6.6 2.1 0l6-6 6 6c.6.6 1.6.6 2.1 0l.7-.7c.6-.6.6-1.6 0-2.1l-6-6 6-6c.6-.6.6-1.6 0-2.1l-.7-.7c-.6-.6-1.6-.6-2.1 0l-6 6-6-6c-.6-.6-1.6-.6-2.1 0l-.7.7c-.6.5-.6 1.5 0 2.1z" + } + }, + capacity_plan: { + "xmlns": "http://www.w3.org/2000/svg", + "path": [{ + "d": "M43.3 6h-1.73a.74.74 0 00-.67.8V10a6.37 6.37 0 01-6.3 6.4H17.4a6.37 6.37 0 01-6.3-6.4V6.67a.74.74 0 00-.8-.67H8.7A4.77 4.77 0 004 10.8v34.4A4.77 4.77 0 008.7 50h34.6a4.77 4.77 0 004.7-4.8V10.8A4.77 4.77 0 0043.3 6zM25.92 45a12 12 0 01.16-24 12 12 0 01-.16 24z" + }, { + "d": "M16.91 11.6h17.86a1.59 1.59 0 001.63-1.55V6.8A4.81 4.81 0 0031.6 2H20.4a4.82 4.82 0 00-4.8 4.8V10a1.47 1.47 0 001.31 1.6zM32.23 27.2A9.09 9.09 0 0026 24.4v8.8h8.77a7.32 7.32 0 00-2.54-6z" + }] + }, + capslock: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "path": { + "d": "M43.6 21.1L27.2 2.5c-.6-.7-1.8-.7-2.4 0L8.4 21.1c-.6.7-.1 1.9.9 1.9H17v12.5c0 .8.7 1.5 1.5 1.5h15c.8 0 1.5-.7 1.5-1.5V23h7.7c1 0 1.5-1.2.9-1.9zM33.5 43h-15c-.8 0-1.5.7-1.5 1.5v4c0 .8.7 1.5 1.5 1.5h15c.8 0 1.5-.7 1.5-1.5v-4c0-.8-.7-1.5-1.5-1.5z" + } + } + }, + cart: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "path": { + "d": "M20.1 26H44c.7 0 1.4-.5 1.5-1.2l4.4-15.4c.3-1.1-.5-2-1.5-2H11.5l-.6-2.3C10.6 4 9.6 3.3 8.6 3.3h-4c-1.3 0-2.5 1-2.6 2.3C1.9 7 3.1 8.2 4.4 8.2h2.3l7.6 25.7c.3 1.1 1.2 1.8 2.3 1.8h28.2c1.3 0 2.5-1 2.6-2.3.1-1.4-1.1-2.6-2.4-2.6H20.2c-1.1 0-2-.7-2.3-1.7V29c-.5-1.5.7-3 2.2-3z" + }, + "circle": [{ + "cx": "20.6", + "cy": "44.6", + "r": "4" + }, { + "cx": "40.1", + "cy": "44.6", + "r": "4" + }] + } + }, + case: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M17.2 11.3h2.9c.4 0 .7-.3.7-.7V8.4h10.3v2.2c0 .4.3.7.7.7h2.9c.4 0 .7-.3.7-.7V8.4C35.4 6 33.4 4 31 4H20.9c-2.4 0-4.4 2-4.4 4.4v2.2c0 .4.2.7.7.7zm26.4 4.4H8.4c-2.4 0-4.4 2-4.4 4.4v23.5C4 46 6 48 8.4 48h35.2c2.4 0 4.4-2 4.4-4.4V20.1c0-2.4-2-4.4-4.4-4.4z" + } + }, + cases: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "path": { + "d": "M9 3.5C9 2.7 8.3 2 7.5 2h-4C2.7 2 2 2.7 2 3.5v31c0 .8.7 1.5 1.5 1.5h4c.8 0 1.5-.7 1.5-1.5v-31zM50 3.5c0-.8-.7-1.5-1.5-1.5h-4c-.8 0-1.5.7-1.5 1.5v31c0 .8.7 1.5 1.5 1.5h4c.8 0 1.5-.7 1.5-1.5v-31zM37.5 2h-3c-.8 0-1.5.8-1.5 1.6V16c0 .4.2.7.6.9 1.7.9 3.2 2 4.5 3.3.3.3.9.1.9-.3V3.6c0-.8-.7-1.6-1.5-1.6zM24.1 15.2c.6-.1 1.3-.1 1.9-.1s1.3 0 1.9.1 1.1-.4 1.1-1V3.6c0-.8-.7-1.6-1.5-1.6h-3c-.8 0-1.5.8-1.5 1.6v10.6c0 .6.5 1.1 1.1 1zM13.9 20.2c1.3-1.4 2.9-2.5 4.6-3.3.3-.2.5-.5.5-.9V3.6c0-.8-.7-1.6-1.5-1.6h-3c-.8 0-1.5.8-1.5 1.6v16.3c0 .4.5.6.9.3zM26 19.1c-7.2 0-13 5.8-13 13 0 2.2.6 4.4 1.6 6.2l-7.1 7.1c-.6.6-.6 1.5 0 2.1l2.1 2.1c.6.6 1.5.6 2.1 0l6.9-6.9c2.1 1.5 4.7 2.4 7.4 2.4 7.2 0 13-5.8 13-13s-5.8-13-13-13zm0 20c-3.9 0-7-3.1-7-7s3.1-7 7-7 7 3.1 7 7-3.1 7-7 7z" + } + } + }, + center_align: { + "xmlns": "http://www.w3.org/2000/svg", + "rect": [{ + "x": "2", + "y": "23.6", + "width": "48", + "height": "6.4", + "rx": "1.6" + }, { + "data-name": "Rectangle", + "x": "19", + "y": "2", + "width": "14.4", + "height": "48", + "rx": "3.2" + }] + }, + center_align_text: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M48 6.5c0-.8-.7-1.5-1.5-1.5h-41C4.7 5 4 5.7 4 6.5v3c0 .8.7 1.5 1.5 1.5h41c.8 0 1.5-.7 1.5-1.5v-3zM42 18.5c0-.8-.7-1.5-1.5-1.5h-29c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h29c.8 0 1.5-.7 1.5-1.5v-3zM40 42.5c0-.8-.7-1.5-1.5-1.5h-25c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h25c.8 0 1.5-.7 1.5-1.5v-3zM48 30.5c0-.8-.7-1.5-1.5-1.5h-41c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h41c.8 0 1.5-.7 1.5-1.5v-3z" + } + }, + change_owner: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M27.3 37.6c-3-1.2-3.5-2.3-3.5-3.5 0-1.2.8-2.3 1.8-3.2 1.8-1.5 2.6-3.9 2.6-6.4 0-4.7-2.9-8.5-8.3-8.5s-8.3 3.8-8.3 8.5c0 2.5.8 4.9 2.6 6.4 1 .9 1.8 2 1.8 3.2 0 1.2-.5 2.3-3.5 3.5-4.4 1.8-8.6 3.8-8.7 7.6C4 47.8 6 50 8.5 50h23c2.5 0 4.5-2.2 4.5-4.7-.1-3.8-4.3-5.9-8.7-7.7zM44.5 19c0-7.4-6.1-13.5-13.5-13.5V2l-6.8 5.5c-.3.3-.2.8.1 1.1L31 14v-3.5c4.7 0 8.5 3.8 8.5 8.5H36l5.5 6.8c.3.3.8.3 1.1 0L48 19h-3.5z" + } + }, + change_record_type: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M20 37.5c0-.8-.7-1.5-1.5-1.5h-15c-.8 0-1.5.7-1.5 1.5v11c0 .8.7 1.5 1.5 1.5h15c.8 0 1.5-.7 1.5-1.5v-11zM8.1 22H3.2c-1 0-1.5.9-.9 1.4l8 8.3c.4.3 1 .3 1.4 0l8-8.3c.6-.6.1-1.4-.9-1.4h-4.7c0-5 4.9-10 9.9-10V6C15 6 8.1 13 8.1 22zM41.8 20.3c-.4-.3-1-.3-1.4 0l-8 8.3c-.6.6-.1 1.4.9 1.4h4.8c0 6-4.1 10-10.1 10v6c9 0 16.1-7 16.1-16H49c1 0 1.5-.9.9-1.4l-8.1-8.3zM50 3.5c0-.8-.7-1.5-1.5-1.5h-15c-.8 0-1.5.7-1.5 1.5v11c0 .8.7 1.5 1.5 1.5h15c.8 0 1.5-.7 1.5-1.5v-11z" + } + }, + chart: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "path": [{ + "d": "M45.5 23.4L25 34.7c-1.4.7-3-.3-3-1.8V8.4c0-1-1-1.8-1.9-1.5-10 2.8-17.2 12.5-16 23.6 1.1 10.1 9.2 18.3 19.4 19.4C36.8 51.3 48 41 48 28c0-1.2-.1-2.4-.3-3.6-.2-1-1.3-1.5-2.2-1z" + }, { + "d": "M27.7 28l19.7-10.5c1.2-.6 1.6-2.2.8-3.3C43.7 8 36.7 3.5 28.7 2.2 27.3 1.9 26 3 26 4.4V27c0 .9.9 1.4 1.7 1z" + }] + } + }, + chat: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M26 4C12.7 4 2.1 13.8 2.1 25.9c0 3.8 1.1 7.4 2.9 10.6.3.5.4 1.1.2 1.7l-3.1 8.5c-.3.8.5 1.5 1.3 1.3l8.6-3.3c.5-.2 1.1-.1 1.7.2 3.6 2 7.9 3.2 12.5 3.2C39.3 48 50 38.3 50 26.1 49.9 13.8 39.2 4 26 4zM14 30c-2.2 0-4-1.8-4-4s1.8-4 4-4 4 1.8 4 4-1.8 4-4 4zm12 0c-2.2 0-4-1.8-4-4s1.8-4 4-4 4 1.8 4 4-1.8 4-4 4zm12 0c-2.2 0-4-1.8-4-4s1.8-4 4-4 4 1.8 4 4-1.8 4-4 4z" + } + }, + check: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M19.1 42.5L2.6 25.9c-.6-.6-.6-1.6 0-2.2l2.2-2.2c.6-.6 1.6-.6 2.2 0L19.4 34c.4.4 1.1.4 1.5 0L45.2 9.5c.6-.6 1.6-.6 2.2 0l2.2 2.2c.6.6.6 1.6 0 2.2L21.3 42.5c-.6.7-1.6.7-2.2 0z" + } + }, + checkin: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M26 2C15.5 2 7 10.5 7 21.1c0 13.2 13.6 25.3 17.8 28.5.7.6 1.7.6 2.5 0C31.5 46.3 45 34.3 45 21.1 45 10.5 36.5 2 26 2zm0 27c-4.4 0-8-3.6-8-8s3.6-8 8-8 8 3.6 8 8-3.6 8-8 8z" + } + }, + checkout: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M38.67 27.35a11.33 11.33 0 11-11.32 11.32 11.34 11.34 0 0111.32-11.32zM20.36 37.63a4 4 0 11-4 4 4 4 0 014-4zm22.44-3.56l-6.06 6.79L34 38.09a.79.79 0 00-1.11 0l-1.11 1.07a.7.7 0 00-.07 1l.07.08L35.6 44a1.62 1.62 0 001.14.48 1.47 1.47 0 001.13-.48l7.19-7.87a.83.83 0 000-1l-1.12-1.05a.79.79 0 00-1.11 0zM8.2 2a2.42 2.42 0 012.25 1.7l.62 2.16h35.29a1.5 1.5 0 011.54 1.45 1.24 1.24 0 01-.06.47l-4.18 14.65a1.42 1.42 0 01-.52.82 16.42 16.42 0 00-4.47-.64 16 16 0 00-5.47 1H19.36a2.2 2.2 0 00-2.22 2.18 2.11 2.11 0 00.13.75v.08a2.26 2.26 0 002.17 1.62h7.1a16 16 0 00-2.77 4.61H16a2.32 2.32 0 01-2.25-1.7L6.5 6.62H4.33A2.37 2.37 0 012 4.22v-.06A2.46 2.46 0 014.48 2H8.2z" + } + }, + chevrondown: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M47.6 17.8L27.1 38.5c-.6.6-1.6.6-2.2 0L4.4 17.8c-.6-.6-.6-1.6 0-2.2l2.2-2.2c.6-.6 1.6-.6 2.2 0l16.1 16.3c.6.6 1.6.6 2.2 0l16.1-16.2c.6-.6 1.6-.6 2.2 0l2.2 2.2c.5.6.5 1.5 0 2.1z" + } + }, + chevronleft: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M34.2 47.7L13.4 27.2c-.6-.6-.6-1.6 0-2.2L34.2 4.5c.6-.6 1.6-.6 2.2 0l2.2 2.2c.6.6.6 1.6 0 2.2L22.1 25c-.6.6-.6 1.6 0 2.2l16.3 16.1c.6.6.6 1.6 0 2.2l-2.2 2.2c-.5.5-1.4.5-2 0z" + } + }, + chevronright: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M17.9 4.4l20.7 20.5c.6.6.6 1.6 0 2.2L17.9 47.6c-.6.6-1.6.6-2.2 0l-2.2-2.2c-.6-.6-.6-1.6 0-2.2l16.3-16.1c.6-.6.6-1.6 0-2.2L13.6 8.8c-.6-.6-.6-1.6 0-2.2l2.2-2.2c.6-.5 1.5-.5 2.1 0z" + } + }, + chevronup: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M4.4 34.2l20.5-20.7c.6-.6 1.6-.6 2.2 0l20.5 20.7c.6.6.6 1.6 0 2.2l-2.2 2.2c-.6.6-1.6.6-2.2 0L27.1 22.2c-.6-.6-1.6-.6-2.2 0L8.8 38.5c-.6.6-1.6.6-2.2 0l-2.2-2.2c-.5-.6-.5-1.5 0-2.1z" + } + }, + choice: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "circle": { + "cx": "26", + "cy": "26", + "r": "11.2" + }, + "path": { + "d": "M26 2C12.8 2 2 12.8 2 26s10.8 24 24 24 24-10.8 24-24S39.2 2 26 2zm0 41.6c-9.7 0-17.6-7.9-17.6-17.6S16.3 8.4 26 8.4 43.6 16.3 43.6 26 35.7 43.6 26 43.6z" + } + } + }, + classic_interface: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "path": { + "d": "M25.5 35.7v-8.5s-3.8 5.7-6.2 9.6-2.1 7-2.1 7c0 3.1 2.3 5.7 5.1 5.7 1.7 0 3.2-.9 4.1-2.4.9 1.3 2.3 2 3.9 2 2.8 0 5.1-2.5 5.1-5.7 0-.3-.1-.6-.1-.9 0-4.2-9.2-15.5-9.2-15.5V35.7l1.2 2.9c0 .1.1.2.1.4 0 .7-.6 1.3-1.3 1.3-.7 0-1.3-.6-1.3-1.3 0-.1 0-.3.1-.4l.6-2.9M15.9 28.3l8-3s-6.6-1.6-11.2-2.5c-4.6-.9-7.3.5-7.3.5C2.5 24.4.9 27.4 1.8 30c.6 1.6 2 2.7 3.7 3.1-.9 1.3-1.1 2.9-.6 4.4 1 2.6 4.1 3.9 7.1 2.8.3-.1.6-.3.8-.4 4-1.4 11.3-14 11.3-14l-7.8 2.9-.3.1-2.3 2.1c-.1.1-.2.1-.3.2-.7.3-1.5-.1-1.7-.8-.3-.7.1-1.5.8-1.7.1 0 .3-.1.4-.1l3-.3M19.9 16.4l5.1 6.9s-.4-6.8-.8-11.4C23.8 7.3 21.7 5 21.7 5c-1.9-2.5-5.2-3.2-7.4-1.5-1.4 1-2 2.7-1.9 4.4-1.5-.5-3.1-.3-4.4.6-2.2 1.7-2.5 5.1-.7 7.6.2.2.4.5.6.7 2.5 3.4 16.7 6.9 16.7 6.9l-5-6.7-.2-.2-2.7-1.6-.3-.3c-.4-.6-.3-1.4.3-1.9.6-.4 1.4-.3 1.9.3.1.1.1.2.2.3l1.1 2.8M36.1 28.3l-8-3s6.6-1.6 11.2-2.5c4.6-.9 7.3.5 7.3.5 2.9 1.1 4.5 4.1 3.6 6.7-.6 1.6-2 2.7-3.7 3.1.9 1.3 1.1 2.9.6 4.4-1 2.6-4.1 3.9-7.1 2.8-.3-.1-.6-.3-.8-.4-4-1.4-11.3-14-11.3-14l7.8 2.9.3.1 2.3 2.1c.1.1.2.1.3.2.7.3 1.5-.1 1.7-.8.3-.7-.1-1.5-.8-1.7-.1 0-.3-.1-.4-.1l-3-.3M31.7 16.4l-5.1 6.9s.4-6.8.8-11.4S29.9 5 29.9 5c1.9-2.5 5.2-3.2 7.4-1.5 1.4 1 2 2.7 1.9 4.4 1.5-.4 3.1-.2 4.3.7 2.2 1.7 2.5 5.1.7 7.6-.2.2-.4.5-.6.7-2.4 3.3-16.6 6.7-16.6 6.7l5-6.7.2-.2 2.7-1.6.3-.3c.4-.6.3-1.4-.3-1.9-.6-.4-1.4-.3-1.9.3-.1.1-.1.2-.2.3l-1.1 2.9" + } + } + }, + clear: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M26 2C12.7 2 2 12.7 2 26s10.7 24 24 24 24-10.7 24-24S39.3 2 26 2zm4.9 24.8l7.8 7.8c.4.4.4 1 0 1.4l-2.8 2.8c-.4.4-1 .4-1.4 0L26.7 31c-.4-.4-1-.4-1.4 0l-7.8 7.8c-.4.4-1 .4-1.4 0L13.3 36c-.4-.4-.4-1 0-1.4l7.8-7.8c.4-.4.4-1 0-1.4l-7.9-7.9c-.4-.4-.4-1 0-1.4l2.8-2.8c.4-.4 1-.4 1.4 0l7.9 7.9c.4.4 1 .4 1.4 0l7.8-7.8c.4-.4 1-.4 1.4 0l2.8 2.8c.4.4.4 1 0 1.4l-7.8 7.8c-.3.4-.3 1 0 1.4z" + } + }, + clock: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "path": [{ + "d": "M26 2C12.8 2 2 12.8 2 26s10.8 24 24 24 24-10.8 24-24S39.2 2 26 2zm0 42c-9.9 0-18-8.1-18-18S16.1 8 26 8s18 8.1 18 18-8.1 18-18 18z" + }, { + "d": "M29.4 26.2c-.3-.3-.4-.7-.4-1.1v-9.6c0-.8-.7-1.5-1.5-1.5h-3c-.8 0-1.5.7-1.5 1.5v12.1c0 .4.2.8.4 1.1l7.4 7.4c.6.6 1.5.6 2.1 0L35 34c.6-.6.6-1.5 0-2.1l-5.6-5.7z" + }] + } + }, + close: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M31 25.4l13-13.1c.6-.6.6-1.5 0-2.1l-2-2.1c-.6-.6-1.5-.6-2.1 0L26.8 21.2c-.4.4-1 .4-1.4 0L12.3 8c-.6-.6-1.5-.6-2.1 0l-2.1 2.1c-.6.6-.6 1.5 0 2.1l13.1 13.1c.4.4.4 1 0 1.4L8 39.9c-.6.6-.6 1.5 0 2.1l2.1 2.1c.6.6 1.5.6 2.1 0L25.3 31c.4-.4 1-.4 1.4 0l13.1 13.1c.6.6 1.5.6 2.1 0L44 42c.6-.6.6-1.5 0-2.1L31 26.8c-.4-.4-.4-1 0-1.4z" + } + }, + collapse_all: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M48 9.5c0-.8-.7-1.5-1.5-1.5h-41C4.7 8 4 8.7 4 9.5v3c0 .8.7 1.5 1.5 1.5h41c.8 0 1.5-.7 1.5-1.5v-3zM48 39.5c0-.8-.7-1.5-1.5-1.5h-41c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h41c.8 0 1.5-.7 1.5-1.5v-3zM34.5 29c.8 0 1.5-.7 1.5-1.5v-3c0-.8-.7-1.5-1.5-1.5h-17c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h17z" + } + }, + collection: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M12 2.17h14v23.5l.31.46.57-.1 5.66-5.14.39-.12.42.11L38.6 26l.6.1.28-.46V2h3.28a6 6 0 013 1.12 5.22 5.22 0 011.57 2.74v39.43a4.2 4.2 0 01-.88 3.15A4.58 4.58 0 0142.81 50H12.32c-.24 0-1.52.27-3.38-1.54a5.28 5.28 0 01-1.48-3.56v-1.29H5.87a3.15 3.15 0 01-3.19-3.34c.06-3 3.14-3 3.14-3h1.64v-8H5.87a3.09 3.09 0 01-3.19-3.19 3.24 3.24 0 013.19-3.34h1.59v-7.83H5.87a3.11 3.11 0 01-3.19-3.1 3.15 3.15 0 013.19-3.28h1.59v-1.9a4.78 4.78 0 011.19-2.92A5.14 5.14 0 0112 2.17z" + } + }, + collection_variable: { + "xmlns": "http://www.w3.org/2000/svg", + "path": [{ + "d": "M45 2H7C4.2 2 2 4.2 2 7v38c0 2.7 2.2 5 5 5h38c2.7 0 5-2.2 5-5V7c0-2.8-2.2-5-5-5zm-2.4 39.4c-.1.6-.7 1.1-1.4 1.1h-31c-.6 0-1.1-.6-1.1-1.3V10.6c0-.6.6-1.1 1.3-1.1h31c.6 0 1.1.6 1.1 1.3v30.6z" + }, { + "d": "M33 22.4c1 0 3.1-.8 3.1-3.6s-2-2.9-2.6-2.9c-1.2 0-2.4.9-3.5 2.7-1.1 1.9-2.3 3.9-2.3 3.9-.3-1.3-.5-2.4-.6-2.9-.2-1.1-1.5-3.6-4.3-3.6-2.7 0-5.2 1.6-5.2 1.6-.5.3-.8.8-.8 1.4 0 .9.7 1.7 1.7 1.7.3 0 .5-.1.7-.2 0 0 2.1-1.2 2.5 0 .1.3.2.7.4 1.1.5 1.8 1 3.9 1.4 5.8L21.7 30s-2-.7-3.1-.7-3.1.8-3.1 3.6 2 2.9 2.6 2.9c1.2 0 2.4-.9 3.5-2.7 1.1-1.9 2.3-3.9 2.3-3.9.4 1.7.6 3.1.8 3.6.7 1.9 2.2 3.1 4.3 3.1 0 0 2.1 0 4.7-1.4.6-.2 1-.8 1-1.5 0-.9-.7-1.7-1.7-1.7-.3 0-.5.1-.7.2 0 0-1.8 1-2.4.2-.4-.8-.8-2-1.1-3.3-.3-1.2-.6-2.7-.8-4.1l1.8-2.6c.2 0 2.2.7 3.2.7z" + }] + }, + color_swatch: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M35.435 9.494l7.071 7.071.002-.002a4 4 0 010 5.657l-.002.002L24 40.703V15.264l5.777-5.771h.001a4 4 0 015.656.002l.001-.001zM50 36v10a4 4 0 01-4 4H21l18-18h7a4 4 0 014 4zM2 41.046V6a4 4 0 014-4h10a4 4 0 014 4v35.046a9 9 0 01-18 0zM11 45a4 4 0 100-8 4 4 0 000 8z" + } + }, + comments: { + "xmlns": "http://www.w3.org/2000/svg", + "path": [{ + "d": "M47.8 31c-.1-.4-.1-.8.1-1.2 1.3-2.3 2.1-4.9 2.1-7.7 0-8.8-7.6-16-17-16-4.4 0-8.4 1.6-11.4 4.2C31.9 11.5 40 19.9 40 30.1c0 2.5-.5 4.9-1.4 7.1 1.1-.4 2.2-.9 3.2-1.4.4-.2.8-.3 1.2-.1l6.1 2.4c.6.2 1.1-.3.9-.9L47.8 31z" + }, { + "d": "M19 14.1c-9.4 0-17 7.2-17 16 0 2.8.8 5.4 2.1 7.7.2.4.3.8.1 1.2L2 45.1c-.2.6.3 1.1.9.9L9 43.6c.4-.1.8-.1 1.2.1 2.6 1.5 5.6 2.3 8.8 2.3 9.4 0 17-7.2 17-16 0-8.7-7.6-15.9-17-15.9z" + }] + }, + company: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M21 4H7C5.3 4 4 5.3 4 7v40c0 .5.5 1 1 1h4c.6 0 1-.4 1-1v-6c0-.6.4-1 1-1h6c.6 0 1 .4 1 1v6c0 .6.4 1 1 1h3c1.1 0 2-.9 2-2V7c0-1.7-1.3-3-3-3zm-9 31.5c0 .3-.2.5-.5.5h-3c-.3 0-.5-.2-.5-.5v-5c0-.3.2-.5.5-.5h3c.3 0 .5.2.5.5v5zm0-10c0 .3-.2.5-.5.5h-3c-.3 0-.5-.2-.5-.5v-5c0-.3.2-.5.5-.5h3c.3 0 .5.2.5.5v5zm0-10c0 .3-.2.5-.5.5h-3c-.3 0-.5-.2-.5-.5v-5c0-.3.2-.5.5-.5h3c.3 0 .5.2.5.5v5zm8 20c0 .3-.2.5-.5.5h-3c-.3 0-.5-.2-.5-.5v-5c0-.3.2-.5.5-.5h3c.3 0 .5.2.5.5v5zm0-10c0 .3-.2.5-.5.5h-3c-.3 0-.5-.2-.5-.5v-5c0-.3.2-.5.5-.5h3c.3 0 .5.2.5.5v5zm0-10c0 .3-.2.5-.5.5h-3c-.3 0-.5-.2-.5-.5v-5c0-.3.2-.5.5-.5h3c.3 0 .5.2.5.5v5zM45 14H31c-1.7 0-3 1.3-3 3v30c0 .5.5 1 1 1h4c.6 0 1-.4 1-1v-6c0-.6.4-1 1-1h6c.6 0 1 .4 1 1v6c0 .6.4 1 1 1h3c1.1 0 2-.9 2-2V17c0-1.7-1.3-3-3-3zm-9 21.5c0 .3-.2.5-.5.5h-3c-.3 0-.5-.2-.5-.5v-5c0-.3.2-.5.5-.5h3c.3 0 .5.2.5.5v5zm0-10c0 .3-.2.5-.5.5h-3c-.3 0-.5-.2-.5-.5v-5c0-.3.2-.5.5-.5h3c.3 0 .5.2.5.5v5zm8 10c0 .3-.2.5-.5.5h-3c-.3 0-.5-.2-.5-.5v-5c0-.3.2-.5.5-.5h3c.3 0 .5.2.5.5v5zm0-10c0 .3-.2.5-.5.5h-3c-.3 0-.5-.2-.5-.5v-5c0-.3.2-.5.5-.5h3c.3 0 .5.2.5.5v5z" + } + }, + component_customization: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "path": { + "d": "M50 5.4C50 2 47.2 2 47.2 2H4.9c-.5.1-2.9.3-2.9 3v14.2c.1.6.6 2.8 3 2.8h42.2c3.1 0 2.8-2.7 2.8-2.7V5.4zM49.1 35.3c-.6-.1-1.2-.1-1.8-.2-.1 0-.2-.1-.2-.2-.2-.7-.6-1.4-.8-1.9v-.3c.3-.5.8-1 1.1-1.5.2-.3.2-.7-.1-1l-2-2c-.1-.1-.3-.2-.5-.2-.1 0-.3.1-.5.2-.5.3-1 .8-1.5 1.1-.1 0-.1.1-.1.1h-.1c-.7-.2-1.2-.6-1.9-.8-.1 0-.2-.1-.2-.2-.1-.6-.1-1.1-.2-1.7 0-.3-.1-.6-.5-.8-.1-.1-.2-.1-.2-.1h-2.9c-.2 0-.3 0-.5.1-.2.2-.5.5-.5.8 0 .6-.1 1.1-.2 1.7 0 .1-.1.2-.2.2-.7.2-1.2.6-1.9.8h-.1c-.1 0-.1 0-.2-.1-.5-.3-.9-.8-1.5-1.1-.1-.1-.2-.2-.5-.2s-.3.1-.6.2l-2 2c-.3.3-.3.7-.1 1 .3.5.8.9 1.1 1.5.1.1.1.2 0 .3-.2.7-.6 1.2-.8 1.9 0 .1-.1.2-.2.2-.6.1-1.1.1-1.7.2-.3 0-.7.2-.8.6v3.4c.2.3.5.5.8.6.6 0 1.1.1 1.7.2.1 0 .2.1.2.2.2.7.6 1.2.8 1.9 0 .1.1.2 0 .3-.3.5-.8 1-1.1 1.5-.2.3-.2.7.1 1l2 2c.2.2.3.2.6.2.1 0 .3-.1.5-.2.5-.3.9-.8 1.5-1.1.1 0 .1-.1.2-.1h.1c.7.2 1.2.6 1.9.8.1 0 .2.1.2.2.1.6.1 1.2.2 1.8 0 .5.3.7.8.7h2.9c.5 0 .7-.2.8-.7.1-.6.1-1.2.2-1.8 0-.1.1-.2.2-.2.7-.2 1.4-.6 1.9-.8h.1s.1 0 .1.1c.5.3 1 .8 1.5 1.1.1.1.3.2.5.2s.3-.1.6-.2l2-2c.3-.3.3-.7.1-1-.3-.5-.8-.9-1.1-1.5-.1-.1-.1-.2 0-.3.2-.7.6-1.2.8-1.9 0-.1.1-.2.2-.2.6-.1 1.2-.1 1.8-.2.5 0 .7-.3.7-.8v-2.8c0-.7-.2-.9-.7-1zM38 42.1c-2.6 0-4.5-2-4.5-4.5s2-4.5 4.5-4.5 4.5 2 4.5 4.5c-.1 2.4-2.1 4.5-4.5 4.5zM23.4 27.8c-.1-1.6-1.5-1.8-1.9-1.8H3.8c-.5 0-1.8.2-1.8 2v20.6c.1.5.4 1.4 2 1.4h17.5c2 0 2-2.3 2-2.3v-2.4c0-1 .2-2.1-.4-3.1-.1-.2-.2-.3-.3-.5s-.2-.3-.3-.5c-.6-.9-.5-2-.5-3.1 0-1 0-2.1.5-3 .2-.4.5-.8.7-1.2.4-.6.4-1.4.4-2.1l-.2-4z" + } + } + }, + connected_apps: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M23.8 31.2L20 48.8c-.2 1 1.1 1.7 1.7.9l21-26c.6-.7.1-1.7-.7-1.7H30.8c-.8 0-1.3-.9-.9-1.5l9.9-16.2c.6-1-.1-2.3-1.3-2.3H20.8c-1.1 0-2 .7-2.4 1.7L10.1 28c-.3 1 .4 2 1.4 2h11.4c.6 0 1.1.6.9 1.2z" + } + }, + constant: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M49.1 7.7c-.3-.3-.6-.4-1-.4-3.8-.2-7.7.1-11.5.2H23.1c-4.1 0-7.4.9-10.5 3.7-2 1.8-3.9 4.4-5.4 6.7-.1.3-.2.5-.2.9 0 .8.7 1.5 1.5 1.5.9 0 1.1-.6 1.5-1.2.4-.7.9-1.3 1.5-1.8 2.1-1.9 4.9-3 7.7-2.7-2.4 6.6-5.7 14.2-10.5 19.4-2 2.2-5.4 4.4-6.1 7.4-.8 3.1 2.4 3.9 4.7 3 3-1.2 4.9-4.3 6.4-7 1.9-3.3 3.6-6.8 5-10.3 1.5-3.5 2.9-6.9 4.4-10.4.9-2.1 1.1-2.1 3.3-2.1h5.9c-2.2 4.8-4.3 9.7-6.2 14.6-1.5 3.7-4.2 9.2-2.3 13.2 1.9 4 7.2 2.5 10.1.5 2.9-2.1 4.9-5.4 6.5-8.6.3-.6.6-1.2.4-1.9-.2-.6-.8-.9-1.4-.9-1.4 0-1.6 1.6-2.1 2.6-.8 1.7-2.6 3.2-4.5 2.9-4.4-.6-.5-8.6.3-10.7.8-2.2 1.7-4.4 2.7-6.5.5-1.2 1-2.5 1.7-3.7.8-1.5.8-1.5 2.6-1.6 1.5-.1 5.9.7 7.2-.1 1.1-.7 1.7-3.3 2.2-5.2.1-.6-.1-1.1-.4-1.5z" + } + }, + contact_request: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M25.4 27c-.6.2-.9.9-.4 1.4l4.4 4.5c.5.5.5 1.2 0 1.7l-1.7 1.7c-.5.5-1.2.5-1.7 0L15.3 25.5c-.5-.5-.5-1.2 0-1.7L26 13.1c.5-.5 1.2-.5 1.7 0l1.7 1.7c.5.5.5 1.2 0 1.7L24.9 21c-.5.5.4 1.4.4 1.4 10.2.3 18.1 7 20.5 16.1C48.4 34.9 50 30.6 50 26 49.9 13.7 39.2 4 26 4S2.2 13.8 2.2 25.8c0 3.8 1.1 7.4 2.9 10.6.3.5.4 1.1.2 1.7l-3.1 8.5c-.3.8.5 1.5 1.3 1.3l8.7-3.3c.5-.2 1.1-.1 1.7.2 3.6 2 7.9 3.2 12.5 3.2 5.9-.1 11.4-2.1 15.5-5.5-1.1-8.5-8-15.1-16.5-15.5z" + } + }, + contract: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M29.6 24H45c1 0 1.3-1.1.5-1.9l-4.9-5 9-9.1c.5-.5.5-1.4 0-1.9l-3.7-3.7c-.5-.4-1.3-.4-1.9.1l-9 9-5.1-4.9c-.8-.8-1.9-.5-1.9.5v15.4c0 .7.9 1.5 1.6 1.5zM22.4 28H7c-1 0-1.3 1.1-.5 1.9l4.9 5-9 9.1c-.5.5-.5 1.4 0 1.9l3.7 3.7c.5.5 1.3.5 1.9 0l9.1-9.1 5.1 4.9c.7.9 1.8.6 1.8-.4V29.7c0-.7-.9-1.7-1.6-1.7zM28 29.6V45c0 1 1.1 1.3 1.9.5l5-4.9 9.1 9c.5.5 1.4.5 1.9 0l3.7-3.7c.4-.5.4-1.3-.1-1.9l-9-9 4.9-5.1c.8-.8.5-1.9-.5-1.9H29.5c-.7 0-1.5.9-1.5 1.6zM24 22.4V7c0-1-1.1-1.3-1.9-.5l-5 4.9-9.1-9c-.5-.5-1.4-.5-1.9 0L2.4 6.1c-.5.5-.5 1.3 0 1.9l9.1 9.1-4.9 5.1c-.9.7-.6 1.8.4 1.8h15.3c.7 0 1.7-.9 1.7-1.6z" + } + }, + contract_alt: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M29.6 23.9H45c1 0 1.3-1.1.5-1.9l-4.9-5 9-9.1c.5-.5.5-1.4 0-1.9l-3.7-3.7c-.5-.4-1.3-.4-1.9.1l-9 9-5.1-4.9C29.1 5.7 28 6 28 7v15.4c0 .7.9 1.5 1.6 1.5zM22.4 28H7c-1 0-1.3 1.1-.5 1.9l4.9 5-9 9.1c-.5.5-.5 1.4 0 1.9l3.7 3.7c.5.5 1.3.5 1.9 0l9.1-9.1 5.1 4.9c.7.9 1.8.6 1.8-.4V29.7c0-.7-.9-1.7-1.6-1.7z" + } + }, + copy: { + "xmlns": "http://www.w3.org/2000/svg", + "path": [{ + "d": "M44 2H18c-2.2 0-4 1.8-4 4v2h24c2.2 0 4 1.8 4 4v28h2c2.2 0 4-1.8 4-4V6c0-2.2-1.8-4-4-4z" + }, { + "d": "M38 16c0-2.2-1.8-4-4-4H8c-2.2 0-4 1.8-4 4v30c0 2.2 1.8 4 4 4h26c2.2 0 4-1.8 4-4V16zm-18 7c0 .6-.4 1-1 1h-8c-.6 0-1-.4-1-1v-2c0-.6.4-1 1-1h8c.6 0 1 .4 1 1v2zm8 16c0 .6-.4 1-1 1H11c-.6 0-1-.4-1-1v-2c0-.6.4-1 1-1h16c.6 0 1 .4 1 1v2zm4-8c0 .6-.4 1-1 1H11c-.6 0-1-.4-1-1v-2c0-.6.4-1 1-1h20c.6 0 1 .4 1 1v2z" + }] + }, + copy_to_clipboard: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "path": [{ + "d": "M17.4 11.6h17.3c.9 0 1.6-.7 1.6-1.6V6.8c0-2.6-2.1-4.8-4.7-4.8h-11c-2.6 0-4.7 2.2-4.7 4.8V10c-.1.9.6 1.6 1.5 1.6z" + }, { + "d": "M43.3 6h-1.6c-.5 0-.8.3-.8.8V10c0 3.5-2.8 6.4-6.3 6.4H17.4c-3.5 0-6.3-2.9-6.3-6.4V6.8c0-.5-.3-.8-.8-.8H8.7C6.1 6 4 8.2 4 10.8v34.4C4 47.8 6.1 50 8.7 50h34.6c2.6 0 4.7-2.2 4.7-4.8V10.8C48 8.2 45.9 6 43.3 6z" + }] + } + }, + crossfilter: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M35 9c-1.7 0-3.3.2-4.8.7 1.8 1.5 3.4 3.3 4.7 5.3h.1c6.1 0 11 4.9 11 11s-4.9 11-11 11c-1.5 0-3-.3-4.3-.9.8-1.1 1.5-2.3 2-3.5.2-.5.4-.9.5-1.4.5-1.6.8-3.4.8-5.2 0-9.4-7.6-17-17-17S0 16.6 0 26s7.6 17 17 17c1.7 0 3.3-.2 4.8-.7-1.8-1.5-3.4-3.3-4.7-5.3H17c-6.1 0-11-4.9-11-11s4.9-11 11-11c1.5 0 3 .3 4.4.9C19.3 18.7 18 22.2 18 26c0 9.4 7.6 17 17 17s17-7.6 17-17S44.4 9 35 9z" + } + }, + currency: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "path": { + "d": "M45.1 10.9H6.9c-2.4 0-4.4 2-4.4 4.4v21.3c0 2.4 2 4.4 4.4 4.4h38.2c2.4 0 4.4-2 4.4-4.4V15.4c0-2.5-2-4.5-4.4-4.5zM12 36.6c0-2.9-2.3-5.1-5.1-5.1v-11c2.9 0 5.1-2.3 5.1-5.1h28c0 2.9 2.3 5.1 5.1 5.1v11c-2.9 0-5.1 2.3-5.1 5.1H12z" + }, + "circle": { + "cx": "26", + "cy": "25.6", + "r": "7.3" + } + } + }, + currency_input: { + "xmlns": "http://www.w3.org/2000/svg", + "path": [{ + "d": "M35.9 37.6c2.7-4.5 2.2-10.4-1.7-14.3-4.5-4.5-11.9-4.5-16.4 0-3.9 3.9-4.4 9.8-1.7 14.3h19.8z" + }, { + "d": "M49.5 7.2v37.6c0 2.6-2.1 4.7-4.7 4.7H7.2c-2.6 0-4.7-2.1-4.7-4.7V7.2c0-2.6 2.1-4.7 4.7-4.7h37.6c2.6 0 4.7 2.1 4.7 4.7zm-39.2 36h31.3c.9 0 1.6-.7 1.6-1.6V10.3c0-.9-.7-1.6-1.6-1.6H10.3c-.9 0-1.6.7-1.6 1.6v31.3c.1.9.8 1.6 1.6 1.6z" + }] + }, + custom_apps: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M49.4 12.2c-.2-.6-.9-.7-1.4-.3L39.9 20c-.6.6-1.6.6-2.2 0L32 14.3c-.6-.6-.6-1.6 0-2.2L40.2 4c.4-.4.2-1.1-.3-1.4-1.4-.4-2.9-.6-4.3-.6-8.5 0-15.3 7.3-14.3 16 .2 1.4.5 2.6 1 3.8L3.6 40.4c-2.2 2.2-2.2 5.8 0 7.9 1.1 1.1 2.6 1.7 4 1.7s2.9-.6 4-1.7l18.6-18.6c1.2.5 2.5.8 3.8 1 8.7 1 16-5.8 16-14.3 0-1.5-.2-2.9-.6-4.2z" + } + }, + cut: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "path": { + "d": "M40.7 31.4c-1.7-.4-3.3-.2-4.7.3L13.9 2.4c-.3-.4-1-.5-1.4-.2l-.8.6c-1.7 1.3-2 3.8-.7 5.6l10.6 14c.4.5.4 1.3 0 1.8l-5.7 7.5c-1.4-.5-3.1-.6-4.7-.3-3.7.8-6.6 3.8-7.1 7.5-.8 5.9 4.4 11 10.5 10 3.6-.6 6.5-3.4 7.3-6.9.5-2.5 0-4.8-1.2-6.5l4.2-5.6c.6-.8 1.8-.8 2.4 0l4.2 5.6c-1.2 1.9-1.7 4.2-1.2 6.5.7 3.6 3.7 6.3 7.3 6.9 6.1 1 11.3-4.1 10.5-10-.9-3.8-3.8-6.8-7.4-7.5zM12.9 43.1c-1.7 0-3-1.3-3-3s1.3-3 3-3 3 1.3 3 3-1.3 3-3 3zm26 0c-1.7 0-3-1.3-3-3s1.3-3 3-3 3 1.3 3 3c-.1 1.7-1.4 3-3 3zM31.3 18.9c.4.5 1.2.5 1.6 0l8-10.5c1.1-1.5 1-3.5-.1-4.9l.1-.1-.1.1c-.2-.3-1.5-1.3-1.5-1.3-.4-.3-1.1-.2-1.4.2l-8.8 11.7c-.4.5-.4 1.3 0 1.8l2.2 3z" + } + } + }, + dash: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M50 27.5c0 .8-.7 1.5-1.5 1.5h-45c-.8 0-1.5-.7-1.5-1.5v-3c0-.8.7-1.5 1.5-1.5h45c.8 0 1.5.7 1.5 1.5v3z" + } + }, + data_mapping: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M44.5 21a5.5 5.5 0 11-4.9 8h-.91c-5.39.06-7.29 1.7-10.31 7.34l-.17.33-.2.38c-1.8 3.37-2.82 4.9-4.66 6.52C20.76 45.84 17.42 47 13 47h-.6a5.5 5.5 0 110-5h.91c5.49-.06 7.36-1.76 10.48-7.67L24 34a27.18 27.18 0 013.11-5H12.4a5.5 5.5 0 110-5h27.2a5.53 5.53 0 014.68-3zm0-19a5.5 5.5 0 11-4.9 8H12.4a5.5 5.5 0 110-5h27.2a5.5 5.5 0 014.9-3z" + } + }, + database: { + "xmlns": "http://www.w3.org/2000/svg", + "path": [{ + "d": "M45.4 9c0-3.8-8.7-6.9-19.4-6.9S6.6 5.2 6.6 9v2.4c0 3.8 8.7 6.9 19.4 6.9s19.4-3.1 19.4-6.9V9z" + }, { + "d": "M6.6 17c0 3 8.7 5.4 19.4 5.4S45.4 20 45.4 17v4.9c0 3.8-8.7 6.9-19.4 6.9S6.6 25.7 6.6 21.9V17z" + }, { + "d": "M6.6 17c0 3 8.7 5.4 19.4 5.4S45.4 20 45.4 17v4.9c0 3.8-8.7 6.9-19.4 6.9S6.6 25.7 6.6 21.9V17z" + }, { + "d": "M6.6 27.5c0 3 8.7 5.4 19.4 5.4s19.4-2.4 19.4-5.4v4.9c0 3.8-8.7 6.9-19.4 6.9s-19.4-3-19.4-6.8v-5z" + }, { + "d": "M6.6 38.1c0 3 8.7 5.4 19.4 5.4s19.4-2.4 19.4-5.4V43c0 3.8-8.7 6.9-19.4 6.9S6.6 46.8 6.6 43v-4.9z" + }] + }, + datadotcom: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M42.5 49.1h-5.3c-.3-1.9-.5-3.6-.5-5.1h-.1c-2.5 4-6.6 6-12.2 6-4.8 0-8.5-1.6-11.1-4.9-2.6-3.3-3.8-7.6-3.8-12.8 0-3.4.6-6.4 1.9-9.1s3.1-4.9 5.5-6.4c2.4-1.6 5.2-2.4 8.4-2.4 4.6 0 8.3 1.5 11.1 4.4V2.1H42v39.6c0 2.4.2 4.9.5 7.4zm-6.2-14.5V23.9c-1.3-1.7-2.8-2.9-4.5-3.8-1.7-.8-3.6-1.2-5.8-1.2-3.3 0-5.9 1.2-7.8 3.7-1.9 2.5-2.8 5.7-2.8 9.6 0 4.1.9 7.3 2.7 9.7 1.8 2.4 4.4 3.6 7.6 3.6 3.2 0 5.8-1 7.7-3.1 2-2 2.9-4.6 2.9-7.8z" + } + }, + date_input: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M46.3 19.7H5.7c-.9 0-1.6.7-1.6 1.6v23.5c0 2.6 2.1 4.7 4.7 4.7h34.4c2.6 0 4.7-2.1 4.7-4.7V21.3c0-.9-.7-1.6-1.6-1.6zM18.2 41.6c0 .9-.7 1.6-1.6 1.6h-3.1c-.9 0-1.6-.7-1.6-1.6v-3.1c0-.9.7-1.6 1.6-1.6h3.1c.9 0 1.6.7 1.6 1.6v3.1zm10.9 0c0 .9-.7 1.6-1.6 1.6h-3.1c-.9 0-1.6-.7-1.6-1.6v-3.1c0-.9.7-1.6 1.6-1.6h3.1c.9 0 1.6.7 1.6 1.6v3.1zm0-10.9c0 .9-.7 1.6-1.6 1.6h-3.1c-.9 0-1.6-.7-1.6-1.6v-3.1c0-.9.7-1.6 1.6-1.6h3.1c.9 0 1.6.7 1.6 1.6v3.1zm11 0c0 .9-.7 1.6-1.6 1.6h-3.1c-.9 0-1.6-.7-1.6-1.6v-3.1c0-.9.7-1.6 1.6-1.6h3.1c.9 0 1.6.7 1.6 1.6v3.1zm3.1-23.5h-3.9V5.6c0-1.7-1.4-3.1-3.1-3.1-1.7 0-3.1 1.4-3.1 3.1v1.6H19V5.6c0-1.7-1.4-3.1-3.1-3.1s-3.1 1.4-3.1 3.1v1.6h-4c-2.6 0-4.7 2.1-4.7 4.7v1.6c0 .9.7 1.6 1.6 1.6h40.7c.9 0 1.6-.7 1.6-1.6v-1.6c-.1-2.6-2.2-4.7-4.8-4.7z" + } + }, + date_time: { + "xmlns": "http://www.w3.org/2000/svg", + "path": [{ + "d": "M43.6 6.8h-4V5.2c0-1.8-1.4-3.2-3.2-3.2-1.8 0-3.2 1.4-3.2 3.2v1.6H18.8V5.2c0-1.8-1.4-3.2-3.2-3.2s-3.2 1.4-3.2 3.2v1.6h-4c-2.6 0-4.8 2.2-4.8 4.8v1.6c0 .9.7 1.6 1.6 1.6h41.6c.9 0 1.6-.7 1.6-1.6v-1.6c0-2.6-2.2-4.8-4.8-4.8zM46.8 19.6H5.2c-.9 0-1.6.7-1.6 1.6v24c0 2.6 2.2 4.8 4.8 4.8h35.2c2.6 0 4.8-2.2 4.8-4.8v-24c0-.9-.7-1.6-1.6-1.6zM26 46.7c-6.6 0-11.9-5.4-11.9-11.9 0-6.6 5.4-11.9 11.9-11.9s11.9 5.4 11.9 11.9c0 6.6-5.3 11.9-11.9 11.9z" + }, { + "d": "M27.2 34.3v-5.1c0-.4-.4-.8-.8-.8h-.8c-.4 0-.8.4-.8.8v5.6c0 .3.1.6.4.8l3.8 3.8c.3.3.8.3 1.1 0l.6-.6c.3-.3.3-.8 0-1.1l-3.5-3.4z" + }] + }, + dayview: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M44 7h-5V5c0-1.6-1.3-3-3-3-1.6 0-3 1.3-3 3v2H19V5c0-1.6-1.3-3-3-3-1.6 0-3 1.3-3 3v2H8c-2.2 0-4 1.8-4 4v2.5c0 .8.7 1.5 1.5 1.5h41c.8 0 1.5-.7 1.5-1.5V11c0-2.2-1.8-4-4-4zM46.5 20h-41c-.8 0-1.5.7-1.5 1.5V46c0 2.2 1.8 4 4 4h36c2.2 0 4-1.8 4-4V21.5c0-.8-.7-1.5-1.5-1.5zM29 42v.2c0 .8-1 1.8-2 1.8s-2-1-2-2V32l-1.5 1.6c-.3.3-.6.4-1 .4-.8 0-1.5-.7-1.5-1.5 0-.4.2-.8.5-1.1l3.9-3.9c.4-.4.9-.6 1.5-.6 1.1 0 2.1.9 2.1 2V42z" + } + }, + delete: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "path": { + "d": "M45.5 10H33V6c0-2.2-1.8-4-4-4h-6c-2.2 0-4 1.8-4 4v4H6.5c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h39c.8 0 1.5-.7 1.5-1.5v-3c0-.8-.7-1.5-1.5-1.5zM23 7c0-.6.4-1 1-1h4c.6 0 1 .4 1 1v3h-6V7zM41.5 20h-31c-.8 0-1.5.7-1.5 1.5V45c0 2.8 2.2 5 5 5h24c2.8 0 5-2.2 5-5V21.5c0-.8-.7-1.5-1.5-1.5zM23 42c0 .6-.4 1-1 1h-2c-.6 0-1-.4-1-1V28c0-.6.4-1 1-1h2c.6 0 1 .4 1 1v14zm10 0c0 .6-.4 1-1 1h-2c-.6 0-1-.4-1-1V28c0-.6.4-1 1-1h2c.6 0 1 .4 1 1v14z" + } + } + }, + deprecate: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M48 7H4c-1.1 0-2 .9-2 2v26c0 1.1.9 2 2 2h16.2c1 5.7 5.9 10 11.8 10s10.9-4.3 11.8-10H48c1.1 0 2-.9 2-2V9c0-1.1-.9-2-2-2zm-8.6 32.6l-2.8 2.8-4.6-4.6-4.6 4.6-2.8-2.8 4.6-4.6-4.6-4.6 2.8-2.8 4.6 4.6 4.6-4.6 2.8 2.8-4.6 4.6 4.6 4.6zM46 33h-2.2c-1-5.7-5.9-10-11.8-10s-10.9 4.3-11.8 10H6V11h40v22z" + } + }, + description: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M44 4H8C5.8 4 4 5.8 4 8v36c0 2.2 1.8 4 4 4h36c2.2 0 4-1.8 4-4V8c0-2.2-1.8-4-4-4zM12 14c0-.6.4-1 1-1h10c.6 0 1 .4 1 1v10c0 .6-.4 1-1 1H13c-.6 0-1-.4-1-1V14zm24 26c0 .6-.4 1-1 1H13c-.6 0-1-.4-1-1v-2c0-.6.4-1 1-1h22c.6 0 1 .4 1 1v2zm4-8c0 .6-.4 1-1 1H13c-.6 0-1-.4-1-1v-2c0-.6.4-1 1-1h26c.6 0 1 .4 1 1v2zm0-8c0 .6-.4 1-1 1H29c-.6 0-1-.4-1-1v-2c0-.6.4-1 1-1h10c.6 0 1 .4 1 1v2zm0-8c0 .6-.4 1-1 1H29c-.6 0-1-.4-1-1v-2c0-.6.4-1 1-1h10c.6 0 1 .4 1 1v2z" + } + }, + desktop: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "path": { + "d": "M50 6c0-2.2-1.8-4-4-4H6C3.8 2 2 3.8 2 6v26c0 2.2 1.8 4 4 4h40c2.2 0 4-1.8 4-4V6zm-6 22.5c0 .8-.7 1.5-1.5 1.5h-33c-.8 0-1.5-.7-1.5-1.5v-19C8 8.7 8.7 8 9.5 8h33c.8 0 1.5.7 1.5 1.5v19zM33 44h-3c-.6 0-1-.4-1-1v-2c0-.6-.4-1-1-1h-4c-.6 0-1 .4-1 1v2c0 .6-.4 1-1 1h-3c-2.2 0-4 1.8-4 4v.5c0 .8.7 1.5 1.5 1.5h19c.8 0 1.5-.7 1.5-1.5V48c0-2.2-1.8-4-4-4z" + } + } + }, + desktop_and_phone: { + "xmlns": "http://www.w3.org/2000/svg", + "path": [{ + "d": "M50 20.5c0-1.2-1-2.2-2.2-2.2H33.7c-1.2 0-2.2 1-2.2 2.2v23.7c0 1.2 1 2.2 2.2 2.2h14.1c1.2 0 2.2-1 2.2-2.2V20.5z" + }, { + "d": "M46.7 40.2c0 .4-.4.9-.9.9H35.6c-.4 0-.9-.4-.9-.9V23.5c0-.4.4-.9.9-.9h10.2c.4 0 .9.4.9.9v16.7z" + }], + "g": { + "path": { + "d": "M27.7 29.4H8.4c-.7 0-1.3-.7-1.3-1.3V11.9c0-.7.7-1.3 1.3-1.3h28.1c.7 0 1.3.7 1.3 1.3v2.5h5.1V9c0-1.8-1.6-3.4-3.4-3.4H5.4C3.6 5.6 2 7.2 2 9v22.2c0 1.8 1.6 3.4 3.4 3.4h22.3v-5.2zM27.7 44.2v-3h-1.9c-.5 0-.9-.4-.9-.9v-1.7c0-.5-.4-.9-.9-.9h-3.4c-.5 0-.9.4-.9.9v1.7c0 .5-.4.9-.9.9h-2.6c-1.8 0-3.4 1.6-3.4 3.4v.4c0 .7.7 1.3 1.3 1.3h14.1c-.4-.6-.5-1.3-.5-2.1z" + } + }, + "circle": { + "cx": "40.8", + "cy": "43.8", + "r": "1.6" + } + }, + desktop_console: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "path": { + "d": "M33 44h-3c-.6 0-1-.4-1-1v-2c0-.6-.4-1-1-1h-4c-.6 0-1 .4-1 1v2c0 .6-.4 1-1 1h-3c-2.2 0-4 1.8-4 4v.5c0 .8.7 1.5 1.5 1.5h19c.8 0 1.5-.7 1.5-1.5V48c0-2.2-1.8-4-4-4zM46 2H6C3.8 2 2 3.8 2 6v26c0 2.2 1.8 4 4 4h40c2.2 0 4-1.8 4-4V6c0-2.2-1.8-4-4-4zM8 28.5v-19C8 8.7 8.7 8 9.5 8h6v22h-6c-.8 0-1.5-.7-1.5-1.5zm36 0c0 .8-.7 1.5-1.5 1.5h-21V8h21c.8 0 1.5.7 1.5 1.5v19z" + } + } + }, + dialing: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "path": [{ + "d": "M48.5 37.9L42.4 33c-1.4-1.1-3.4-1.2-4.8-.1l-5.2 3.8c-.6.5-1.5.4-2.1-.2l-7.8-7-7-7.8c-.6-.6-.6-1.4-.2-2.1l3.8-5.2c1.1-1.4 1-3.4-.1-4.8l-4.9-6.1c-1.5-1.8-4.2-2-5.9-.3L3 8.4c-.8.8-1.2 1.9-1.2 3 .5 10.2 5.1 19.9 11.9 26.7S30.2 49.5 40.4 50c1.1.1 2.2-.4 3-1.2l5.2-5.2c1.9-1.5 1.8-4.3-.1-5.7z" + }, { + "d": "M42 24.5c1.2-1.7 1.9-3.8 1.9-6C43.8 12.7 39.1 8 33.3 8c-2.2 0-4.3.7-6 1.9L23 5.5C25.8 3.3 29.4 2 33.3 2c9.1 0 16.6 7.4 16.6 16.6 0 3.9-1.3 7.5-3.6 10.3L42 24.5z" + }], + "circle": { + "cx": "33.4", + "cy": "18.4", + "r": "4.5" + } + } + }, + diamond: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "fill-rule": "evenodd", + "clip-rule": "evenodd", + "d": "M24.4 49.2c.9.9 2.2.9 3.1 0l21.9-21.9c.9-.9.9-2.2 0-3.1L27.6 2.4c-.9-.9-2.2-.9-3.1 0L2.6 24.3c-.9.9-.9 2.2 0 3.1l21.8 21.8z" + } + }, + dislike: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M12 29.5V9c0-2.2-1.8-4-4-4H5.5C4.7 5 4 5.7 4 6.5v23c0 .8.7 1.5 1.5 1.5h5c.8 0 1.5-.7 1.5-1.5zM48 26V13.5C48 4.8 41.1 4 33.6 4c-7.1 0-9.4 2.7-16.2 3-.8 0-1.4.7-1.4 1.5v20c0 .8.7 1.5 1.5 1.5 4.8 0 8.5 5.2 8.5 10.5v6c0 .8.7 1.5 1.5 1.5H30c2.2 0 4-1.8 4-4V34c0-2.2 1.8-4 4-4h6c2.2 0 4-1.8 4-4z" + } + }, + display_rich_text: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M4.1 43.1H48c.9 0 1.6.7 1.6 1.6v3.1c0 .9-.7 1.6-1.6 1.6H4.1c-.9 0-1.6-.7-1.6-1.6v-3.1c0-.9.7-1.6 1.6-1.6zM4.1 29H48c.9 0 1.6.7 1.6 1.6v3.1c0 .9-.7 1.6-1.6 1.6H4.1c-.9 0-1.6-.7-1.6-1.6v-3.1c0-.9.7-1.6 1.6-1.6zM32 14.9h16c.9 0 1.6.7 1.6 1.6v3.1c0 .9-.7 1.6-1.6 1.6H32c-.9 0-1.6-.7-1.6-1.6v-3.1c0-.9.7-1.6 1.6-1.6zM24.1 21.6L16.7 3.3c-.2-.3-.5-.6-.9-.6h-5.7c-.3 0-.7.2-.8.6L2.5 21.6c-.1.3.1.8.5.8h3.6c.3 0 .7-.3.8-.6l1.4-3.9h8.7l1.5 3.9c.1.3.5.6.8.6h3.6c.5 0 .8-.4.7-.8zm-13.6-8.5l2.3-5.8h.5l2.5 5.8h-5.3z" + } + }, + display_text: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M43.5 2.5H8.6c-3.4 0-6.1 2.7-6.1 6.1v34.7c0 3.4 2.7 6.1 6.1 6.1h34.8c3.4 0 6.1-2.7 6.1-6.1V8.6c.1-3.4-2.7-6.1-6-6.1zM10.6 12.7c0-1.1.9-2 2-2h22.9c1.1 0 2 .9 2 2v2.1c0 1.1-.9 2-2 2h-23c-1.1 0-2-.9-2-2v-2.1zm24.1 26.6c0 1.1-.9 2-2 2h-20c-1.1 0-2-.9-2-2v-2c0-1.1.9-2 2-2h20c1.1 0 2 .9 2 2v2zM41.4 27c0 1.1-.9 2-2 2H12.7c-1.1 0-2-.9-2-2v-2c0-1.1.9-2 2-2h26.6c1.1 0 2 .9 2 2v2z" + } + }, + dock_panel: { + "xmlns": "http://www.w3.org/2000/svg", + "path": [{ + "d": "M1.908 35V9c0-3.9 3.1-7 7-7h26c3.9 0 7 3.1 7 7v3h-6V9c0-.601-.4-1-1-1h-26c-.6 0-1 .399-1 1v26c0 .6.4 1 1 1h3v6h-3c-3.9 0-7-3.1-7-7z" + }, { + "d": "M45.908 16h-26c-2.2 0-4 1.799-4 4v26c0 2.199 1.8 4 4 4h26c2.199 0 4-1.801 4-4V20c0-2.201-1.801-4-4-4zm-4.015 25.184c0 .49-.307.795-.857.795H29.41c-.488 0-1.039-.428-1.039-.918v-1.773c0-.49.551-.979 1.039-.979h4.834c.551 0 .795-.613.428-.979l-10.4-10.403a.888.888 0 010-1.285l1.285-1.284a.887.887 0 011.285 0l10.4 10.4c.367.43.979.123.979-.426v-4.835c0-.552.551-.979 1.041-.979h1.836c.488 0 .795.488.795.979v11.687z" + }] + }, + down: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M8.3 14h35.4c1 0 1.7 1.3.9 2.2L27.3 37.4c-.6.8-1.9.8-2.5 0L7.3 16.2c-.7-.9-.1-2.2 1-2.2z" + } + }, + download: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "path": [{ + "d": "M48.5 31h-3c-.8 0-1.5.7-1.5 1.5v10c0 .8-.7 1.5-1.5 1.5h-33c-.8 0-1.5-.7-1.5-1.5v-10c0-.8-.7-1.5-1.5-1.5h-3c-.8 0-1.5.7-1.5 1.5V46c0 2.2 1.8 4 4 4h40c2.2 0 4-1.8 4-4V32.5c0-.8-.7-1.5-1.5-1.5z" + }, { + "d": "M25 37.6c.6.6 1.5.6 2.1 0l13.5-13.5c.6-.6.6-1.5 0-2.1l-2.1-2.1c-.6-.6-1.5-.6-2.1 0l-5.6 5.6c-.6.6-1.7.2-1.7-.7V3.5C29 2.7 28.2 2 27.5 2h-3c-.8 0-1.5.7-1.5 1.5v21.2c0 .9-1.1 1.3-1.7.7l-5.6-5.6c-.6-.6-1.5-.6-2.1 0L11.5 22c-.6.6-.6 1.5 0 2.1L25 37.6z" + }] + } + }, + drag: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M30.9 34.3c0 1.8-2.2 2.5-3.2 1l-2-4.3c-1.1-1.9-3.5-2.3-5.3-1.1l-1.3 1 6.7 15.9c.3.7 1 1.1 1.8 1.1h17.6c.9 0 1.6-.6 1.8-1.4l3.1-11.1c.8-3.1-1-6.1-3.8-7.2l-8-2.7c-11.3-4.1-7.6 8.4-7.4 8.8zM1.8 28.5h5.8v5.8H1.8zM14.4 4h5.8v5.8h-5.8zM14.4 42h5.8v5.8h-5.8zM1.8 15.8h5.8v5.8H1.8zM1.8 4.1h5.8v5.8H1.8zM27.1 4h5.8v5.8h-5.8zM39.8 4h5.8v5.8h-5.8zM1.8 42.1h5.8v5.8H1.8zM39.8 16.8h5.8v5.8h-5.8z" + } + }, + drag_and_drop: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M20 4c2.2 0 4 1.8 4 4s-1.8 4-4 4-4-1.8-4-4 1.8-4 4-4zm12 0c2.2 0 4 1.8 4 4s-1.8 4-4 4-4-1.8-4-4 1.8-4 4-4zM20 16c2.2 0 4 1.8 4 4s-1.8 4-4 4-4-1.8-4-4 1.8-4 4-4zm12 0c2.2 0 4 1.8 4 4s-1.8 4-4 4-4-1.8-4-4 1.8-4 4-4zM20 28c2.2 0 4 1.8 4 4s-1.8 4-4 4-4-1.8-4-4 1.8-4 4-4zm12 0c2.2 0 4 1.8 4 4s-1.8 4-4 4-4-1.8-4-4 1.8-4 4-4zM20 40c2.2 0 4 1.8 4 4s-1.8 4-4 4-4-1.8-4-4 1.8-4 4-4zm12 0c2.2 0 4 1.8 4 4s-1.8 4-4 4-4-1.8-4-4 1.8-4 4-4z" + } + }, + duration_downscale: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M17.08 2H8a6 6 0 00-6 6v5.68a6 6 0 006.08 5.92h9.06a6 6 0 006-6V7.94A6 6 0 0017.08 2zm-3.26 12.8h-2.5a4 4 0 010-8h2.5a4 4 0 010 8zM34.5 19.6h9.06a6 6 0 006-6V7.94A6 6 0 0043.5 2h-9.06a6 6 0 00-6 6v5.66a6 6 0 006.06 5.94zm3.24-12.8h2.5a4 4 0 010 8h-2.5a4 4 0 010-8zM17.08 24.4H8a6 6 0 00-6 6v5.68A6 6 0 008.08 42h9.06a6 6 0 006-6v-5.66a6 6 0 00-6.06-5.94zm-3.26 12.8h-2.5a4 4 0 110-8h2.5a4 4 0 010 8zM49.83 40.12a.84.84 0 00-.23-.23l-1.84-1.52a1.42 1.42 0 00-1.84 0L42.82 41c-.53.45-1.45.17-1.45-.5v-15a1.27 1.27 0 00-1.32-1.12h-2.63a1.33 1.33 0 00-1.32 1.12v14.95c0 .67-.92.95-1.45.5l-3.09-2.58a1.44 1.44 0 00-1.85 0l-1.77 1.52a.92.92 0 00-.23 1.28.84.84 0 00.23.23l9.88 8.26a1.42 1.42 0 001.84 0l9.94-8.26a.92.92 0 00.23-1.28z" + } + }, + dynamic_record_choice: { + "xmlns": "http://www.w3.org/2000/svg", + "path": [{ + "d": "M20.8 43v-.3C13.7 40.4 8.5 33.9 8.5 26c0-9.6 7.9-17.5 17.5-17.5S43.5 16.4 43.5 26c0 1.6-.2 3.2-.6 4.7.2.2.5.3.7.5.3 0 .6-.1.9-.1 1.6 0 3.2.5 4.4 1.2.6-2 .9-4.1.9-6.3C49.7 12.8 39 2.1 25.9 2.1S2.1 12.8 2.1 25.9c0 12.6 9.8 22.9 22.2 23.7-2-1.4-3.5-3.9-3.5-6.6z" + }, { + "d": "M31.3 28.8c1.5 0 2.9.4 4.2 1 .3-.1.6-.2 1-.2.4-1.1.6-2.3.6-3.6 0-6.1-4.9-11-11-11s-11 4.9-11 11c0 4.9 3.2 9 7.6 10.5.4-4.4 4.1-7.7 8.6-7.7z" + }, { + "d": "M35.2 34.6c.8-.8 1.9-1.3 3.2-1.3 1.7 0 3.1.9 3.9 2.2.6-.2 1.4-.5 2.2-.5 2.9 0 5.4 2.5 5.4 5.3 0 2.9-2.5 5.3-5.4 5.3-.3 0-.7 0-1-.1-.6 1.2-2 2-3.4 2-.6 0-1.2-.2-1.7-.4-.7 1.6-2.3 2.7-4.1 2.7-2 0-3.6-1.2-4.2-2.9-.2 0-.6.1-.9.1-2.3 0-4.2-1.8-4.2-4.1 0-1.5.8-2.9 2.1-3.6-.2-.6-.4-1.2-.4-1.9 0-2.6 2.2-4.8 4.8-4.8 1.4.1 2.8.9 3.7 2z" + }] + }, + edit: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "path": { + "d": "M9.5 33.4l8.9 8.9c.4.4 1 .4 1.4 0L42 20c.4-.4.4-1 0-1.4l-8.8-8.8c-.4-.4-1-.4-1.4 0L9.5 32.1c-.4.4-.4 1 0 1.3zM36.1 5.7c-.4.4-.4 1 0 1.4l8.8 8.8c.4.4 1 .4 1.4 0l2.5-2.5c1.6-1.5 1.6-3.9 0-5.5l-4.7-4.7c-1.6-1.6-4.1-1.6-5.7 0l-2.3 2.5zM2.1 48.2c-.2 1 .7 1.9 1.7 1.7l10.9-2.6c.4-.1.7-.3.9-.5l.2-.2c.2-.2.3-.9-.1-1.3l-9-9c-.4-.4-1.1-.3-1.3-.1l-.2.2c-.3.3-.4.6-.5.9L2.1 48.2z" + } + } + }, + edit_form: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "path": [{ + "d": "M31.4 15.3h8.2c.6 0 1.1-.5 1.1-1.1 0-.3-.1-.5-.3-.8L30.2 3.3c-.3-.2-.5-.3-.8-.3-.6 0-1.1.5-1.1 1.1v8.1c0 1.7 1.4 3.1 3.1 3.1zM49.5 25.7l-.9-.9c-.6-.6-1.5-.6-2.2 0L34.5 36.7c-.1.1 0 .2 0 .3v2.5c0 .2 0 .4.2.4h2.6c.1 0 .2-.1.3-.1L49.5 28c.7-.8.7-1.7 0-2.3z" + }, { + "d": "M39.9 44.4H32.8c-1.6 0-2.9-1.3-2.9-2.9v-5.4c0-.8.2-1.6.9-2.1l9.5-9.5c.3-.3.5-.7.5-1.1v-2c0-.8-.7-1.5-1.5-1.5h-11c-2.6 0-4.6-2.1-4.6-4.6V4.5c0-.8-.7-1.5-1.6-1.5H6.6C4.1 3 2 5.1 2 7.6v36.8C2 46.9 4.1 49 6.6 49H36c2.2 0 4.2-1.6 4.6-3.7.1-.4-.3-.9-.7-.9zM8.2 16.8c0-.8.7-1.5 1.5-1.5h6.2c.9 0 1.5.7 1.5 1.5v1.5c0 .8-.7 1.5-1.5 1.5H9.7c-.9 0-1.5-.7-1.5-1.5v-1.5zm15.5 19.9c0 .8-.7 1.5-1.5 1.5H9.7c-.9 0-1.5-.7-1.5-1.5v-1.5c0-.8.7-1.5 1.5-1.5h12.4c.9 0 1.5.7 1.5 1.5v1.5zm3.1-9.2c0 .8-.7 1.5-1.5 1.5H9.7c-.9 0-1.5-.7-1.5-1.5V26c0-.8.7-1.5 1.5-1.5h15.5c.9 0 1.5.7 1.5 1.5v1.5z" + }] + } + }, + education: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "path": { + "d": "M25.8 26.7c-1.2.1-2.3-.4-3.5-.8-6.3-2.1-12.7-4.2-19-6.3-.4-.2-.7-.3-1-.6-.4-.3-.4-.7 0-1 .3-.2.7-.5 1.1-.6 6.8-2 13.5-4 20.3-6.1 1.5-.5 3.1-.5 4.7 0l20.1 6c.4.2.8.3 1.2.6.5.3.5.8 0 1.1-.3.2-.6.4-1 .5-6.7 2.2-13.4 4.5-20.2 6.7-.9.4-1.7.5-2.7.5zM12.5 27c-1-.2-1.2.4-1.2.9v7.6c0 .9.3 1.4.9 2 .2.2.5.4.7.6 1.6 1.1 3.5 1.8 5.4 2.3 3.8 1 7.6 1.2 11.5.7 2.5-.3 5-1 7.3-2 1-.5 2-1 2.7-1.8.5-.5.7-1 .6-1.7.1-2.4.1-4.9.1-7.4 0-1.4-1-1.2-1.4-1.1-3.5 1.2-7.2 2.3-10.7 3.5-1.8.6-3.5.6-5.2 0L12.5 27zM45.9 24.7c-.3.1-.4.2-.4.6v6.8c0 .2-.1.5-.2.7-.5 1.2-1 2.4-1.4 3.6-.4 1.1-.2 2.3.6 3.1.2.3.6.6.9.8.3.3.8.4 1.2.5.7.1 1.3-.3 1.8-.7.2-.2.5-.4.7-.7.6-.8.7-1.8.5-2.7-.3-1.4-.9-2.6-1.5-3.8-.2-.2-.2-.6-.2-.8v-7.4c0-.5-.4-.4-.6-.3l-1.4.3z" + } + } + }, + einstein: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M28.7 42.1c7.2.2 7.4 1.6 7.4 7.2v.7c-2.8 0-2.8-2.3-4-2.3 0 .8-.7 1.5-2 2.3-.8-1.5-1.4-2.3-2-2.3 0 .7-.6 1.4-1.8 2.2l-.3.1c-1.3-.8-2-1.5-2-2.3-.6 0-1.3.8-2 2.3-1.3-.8-2-1.5-2-2.3-1.3 0-1.3 2.3-4 2.3v-.9c0-5.3.4-6.7 6.9-7v.4a3 3 0 006 0 .41.41 0 01-.2-.4zm1.5-35.3c3 3.6 2.4 5.3 2.5 6.4a11.91 11.91 0 017.8.8c1.8.9 2.9 2.3 3 3.3a4.69 4.69 0 00-3 1.5 14.94 14.94 0 016.1 3.9 17.05 17.05 0 013.3 5.6.77.77 0 010 .8 22.86 22.86 0 01-3.1 2.8 41.42 41.42 0 01-4.1 2.7c1.6 1 2.4 1.9 2.5 2.9-1.7.5-2.7.9-3.8 1.3-.5.2-1.5.5-2.6.9 1.6-10.5-5-11.5-8-11.5-2.1 0-3.3 1.7-5.1 1.7s-2.9-1.7-5.1-1.7S12.2 30 13.3 39a12.66 12.66 0 01-1.8-.7 21.17 21.17 0 00-5-.9.53.53 0 01-.6-.4.38.38 0 010-.15v-.3a10 10 0 012.4-4.3c.7-.7 2-1.6 2.5-1.5a8.68 8.68 0 00-3.4-3.1 19.5 19.5 0 00-4.8-1.3c-.5-.1-.8-.1-.5-1 1.7-4.3 3.7-7 6.1-8.2a11.26 11.26 0 016-1.5 9 9 0 00-1-2.5A12.94 12.94 0 0012 11.2a.76.76 0 01.1-1c.1 0 .2-.1.3-.1a6.64 6.64 0 013.1.2 8.08 8.08 0 013.9 2.7A36.29 36.29 0 0018 2.8c-.1-2.2 9.2.4 12.2 4zm-7.5 27.3c.8 0 1.5 1.1 1.5 2.5s-.7 2.5-1.5 2.5-1.5-1.1-1.5-2.5.7-2.5 1.5-2.5zm6.6 0c.8 0 1.5 1.1 1.5 2.5s-.7 2.5-1.5 2.5-1.5-1.1-1.5-2.5.6-2.5 1.5-2.5z" + } + }, + email: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "path": [{ + "d": "M24.9 30.1c.6.6 1.5.6 2.1 0l22.6-21c.4-.8.3-2.1-1.3-2.1l-44.7.1c-1.2 0-2.2 1.1-1.3 2.1l22.6 20.9z" + }, { + "d": "M50 17.3c0-1-1.2-1.6-2-.9L30.3 32.7c-1.2 1.1-2.7 1.7-4.3 1.7s-3.1-.6-4.3-1.6L4.1 16.4c-.8-.7-2-.2-2 .9C2 17 2 40 2 40c0 2.2 1.8 4 4 4h40c2.2 0 4-1.8 4-4V17.3z" + }] + } + }, + email_open: { + "xmlns": "http://www.w3.org/2000/svg", + "path": [{ + "d": "M45.8 28.1c0-.8-1-1.3-1.7-.7L29.5 40.9c-1 .9-2.2 1.4-3.6 1.4s-2.6-.5-3.6-1.3L7.8 27.4c-.7-.6-1.7-.2-1.7.7-.1-.2-.1 18-.1 18 0 1.8 1.5 3.3 3.3 3.3h33.1c1.8 0 3.3-1.5 3.3-3.3v-18z" + }, { + "d": "M45.6 20.6c.2-.2.3-.4.3-.6 0-.3-.1-.5-.3-.7L26.8 2c-.5-.5-1.2-.5-1.7 0L6.5 19.2c-.1.1-.1.2-.2.2v.1c0 .1-.1.2-.1.3 0 .3.1.5.3.7L25 37.7c.5.5 1.2.5 1.7 0l18.9-17.1c0 .1 0 0 0 0z" + }] + }, + emoji: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M50.1 26c0 13.3-10.8 24.1-24.1 24.1S1.9 39.3 1.9 26 12.7 1.9 26 1.9 50.1 12.7 50.1 26zM18.3 15.8c-2.4 0-4.3 1.9-4.3 4.3s1.9 4.3 4.3 4.3 4.3-1.9 4.3-4.3-1.9-4.3-4.3-4.3zm15.5 0c-2.4 0-4.3 1.9-4.3 4.3s1.9 4.3 4.3 4.3 4.3-1.9 4.3-4.3-1.9-4.3-4.3-4.3zm-.2 16.7c-2 1.8-4.7 2.8-7.6 2.8-2.8 0-5.4-1-7.5-2.7l-.9-.8c-.3-.2-.5-.3-1.1-.3-1.1 0-1.9.9-1.9 1.9 0 .5.2 1 .6 1.4l.7.6c2.7 2.4 6.3 3.8 10.1 3.8 3.9 0 7.5-1.5 10.2-3.9l.5-.5c.4-.4.6-.9.6-1.4 0-1.1-.9-1.9-1.9-1.9-.5 0-.9.2-1.2.4l-.6.6z" + } + }, + end_call: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M48.5 5.6l-2.1-2.1c-.6-.6-1.7-.5-2.4.3L20.5 27.3l-5-5.6c-.6-.6-.6-1.4-.2-2.1l3.8-5.2c1.1-1.4 1-3.4-.1-4.8l-4.9-6.1c-1.5-1.8-4.2-2-5.9-.3L3 8.4c-.8.8-1.2 1.9-1.2 3 .5 9.2 4.2 18 10 24.6l-8 8c-.7.7-.8 1.8-.3 2.4l2.1 2.1c.6.6 1.7.5 2.4-.3L48.2 8c.8-.7.9-1.8.3-2.4zM48.5 37.9L42.4 33c-1.4-1.1-3.4-1.2-4.8-.1l-5.2 3.8c-.6.5-1.5.4-2.1-.2l-2.4-2.2-8.5 8.5c6.1 4.1 13.4 6.8 21 7.2 1.1.1 2.2-.4 3-1.2l5.2-5.2c1.9-1.5 1.8-4.3-.1-5.7z" + } + }, + end_chat: { + "xmlns": "http://www.w3.org/2000/svg", + "path": [{ + "d": "M24.6 40.6c0-8.8 7.2-16 16-16 1.5 0 2.9.2 4.2.6.2-1.1.3-2.1.3-3.2C45 11 35.4 2.2 23.6 2.2 11.7 2.2 2.2 11 2.2 21.8c0 3.4 1 6.6 2.6 9.5.3.4.4 1 .2 1.5l-2.8 7.6c-.3.7.4 1.3 1.2 1.2l7.7-3c.4-.2 1-.1 1.5.2 3.2 1.8 7.1 2.9 11.2 2.9h.8v-1.1zm9.8-22.3c2 0 3.6 1.6 3.6 3.6s-1.6 3.6-3.6 3.6-3.6-1.6-3.6-3.6 1.6-3.6 3.6-3.6zm-21.5 7.1c-2 0-3.6-1.6-3.6-3.6s1.6-3.6 3.6-3.6 3.6 1.6 3.6 3.6-1.7 3.6-3.6 3.6zm10.7 0c-2 0-3.6-1.6-3.6-3.6s1.6-3.6 3.6-3.6 3.6 1.6 3.6 3.6-1.6 3.6-3.6 3.6z" + }, { + "d": "M31.7 34.6l6 6-6 6c-.6.6-.6 1.6 0 2.1l.7.7c.6.6 1.6.6 2.1 0l6-6 6 6c.6.6 1.6.6 2.1 0l.7-.7c.6-.6.6-1.6 0-2.1l-6-6 6-6c.6-.6.6-1.6 0-2.1l-.7-.7c-.6-.6-1.6-.6-2.1 0l-6 6-6-6c-.6-.6-1.6-.6-2.1 0l-.7.7c-.5.5-.5 1.5 0 2.1z" + }] + }, + end_messaging_session: { + "xmlns": "http://www.w3.org/2000/svg", + "path": [{ + "d": "M24.6 40.6c0-2.8.7-5.4 2-7.7h-2.3c-.5 0-.8-.3-.8-.8v-9.2c0-.5.3-.8.8-.8h9.2c.5 0 .8.3.8.8v3c1.9-.8 4.1-1.3 6.3-1.3 1.5 0 2.9.2 4.2.6.2-1.1.3-2.2.3-3.3-.1-11-9.6-19.8-21.5-19.8S2.2 10.9 2.2 21.7c0 3.4 1 6.6 2.6 9.5.3.4.4 1 .2 1.5l-2.8 7.6c-.3.7.4 1.3 1.2 1.2l7.7-3c.4-.2 1-.1 1.5.2 3.2 1.8 7.1 2.9 11.2 2.9h.8v-1zM12.8 12.2c0-.5.3-.8.8-.8h19.9c.5 0 .8.3.8.8v4.6c0 .5-.4.8-.9.8H13.6c-.5 0-.8-.3-.8-.8v-4.6zM19 32.1c0 .5-.4.8-.9.8h-4.6c-.5 0-.8-.3-.8-.8v-9.2c0-.5.3-.8.8-.8h4.7c.5 0 .8.3.8.8v9.2z" + }, { + "d": "M31.8 34.6l6 6-6 6c-.6.6-.6 1.6 0 2.1l.7.7c.6.6 1.6.6 2.1 0l6-6 6 6c.6.6 1.6.6 2.1 0l.7-.7c.6-.6.6-1.6 0-2.1l-6-6 6-6c.6-.6.6-1.6 0-2.1l-.7-.7c-.6-.6-1.6-.6-2.1 0l-6 6-6-6c-.6-.6-1.6-.6-2.1 0l-.7.7c-.6.6-.6 1.6 0 2.1z" + }] + }, + engage: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "fill-rule": "evenodd", + "d": "M26.5 4.25c12.801 0 23.25 9.388 23.25 21.068 0 11.68-10.449 21.069-23.25 21.069-1.662 0-3.303-.158-4.9-.469l-.487-.101-.143.076c-2.032 1.04-5.305 1.882-9.913 2.597l-.517.08-1.128.162c-1.725.25-2.714-1.901-1.403-3.049 1.315-1.15 2.314-2.66 2.998-4.555l.025-.077-.317-.26c-4.595-3.848-7.338-9.241-7.46-15.066l-.005-.407C3.25 13.638 13.699 4.25 26.5 4.25zm7 26.75h-14a2 2 0 100 4h14a2 2 0 100-4zm4-7.5h-22a2 2 0 100 4h22a2 2 0 100-4zm-4-7.5h-14a2 2 0 100 4h14a2 2 0 100-4z" + } + }, + enter: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M44 30.5s.1 1.6-1.5 1.6H15.2c-.9 0-1.3-1.2-.7-1.8l5.6-5.6c.6-.6.6-1.5 0-2.1L18 20.5c-.6-.6-1.5-.6-2.1 0L2.4 34c-.6.6-.6 1.5 0 2.1L16 49.6c.6.6 1.5.6 2.1 0l2.1-2.1c.6-.6.6-1.5 0-2.1l-5.6-5.6c-.6-.7-.2-1.7.7-1.7h33.2c.7 0 1.5-.8 1.5-1.6v-33c0-.7-.7-1.5-1.5-1.5h-3c-.8 0-1.5.8-1.5 1.5v27z" + } + }, + erect_window: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M50 6.5c0 .8-.7 1.5-1.5 1.5h-45C2.7 8 2 7.3 2 6.5v-3C2 2.7 2.7 2 3.5 2h45c.8 0 1.5.7 1.5 1.5v3z" + } + }, + error: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M26 2C12.8 2 2 12.8 2 26s10.8 24 24 24 24-10.8 24-24S39.2 2 26 2zM8 26c0-9.9 8.1-18 18-18 3.9 0 7.5 1.2 10.4 3.3L11.3 36.4C9.2 33.5 8 29.9 8 26zm18 18c-3.9 0-7.5-1.2-10.4-3.3l25.1-25.1C42.8 18.5 44 22.1 44 26c0 9.9-8.1 18-18 18z" + } + }, + event: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "path": { + "d": "M46.5 20h-41c-.8 0-1.5.7-1.5 1.5V46c0 2.2 1.8 4 4 4h36c2.2 0 4-1.8 4-4V21.5c0-.8-.7-1.5-1.5-1.5zM19 42c0 .6-.4 1-1 1h-4c-.6 0-1-.4-1-1v-4c0-.6.4-1 1-1h4c.6 0 1 .4 1 1v4zm0-10c0 .6-.4 1-1 1h-4c-.6 0-1-.4-1-1v-4c0-.6.4-1 1-1h4c.6 0 1 .4 1 1v4zm10 10c0 .6-.4 1-1 1h-4c-.6 0-1-.4-1-1v-4c0-.6.4-1 1-1h4c.6 0 1 .4 1 1v4zm0-10c0 .6-.4 1-1 1h-4c-.6 0-1-.4-1-1v-4c0-.6.4-1 1-1h4c.6 0 1 .4 1 1v4zm10 10c0 .6-.4 1-1 1h-4c-.6 0-1-.4-1-1v-4c0-.6.4-1 1-1h4c.6 0 1 .4 1 1v4zm0-10c0 .6-.4 1-1 1h-4c-.6 0-1-.4-1-1v-4c0-.6.4-1 1-1h4c.6 0 1 .4 1 1v4zM44 7h-5V5c0-1.6-1.3-3-3-3-1.6 0-3 1.3-3 3v2H19V5c0-1.6-1.3-3-3-3-1.6 0-3 1.3-3 3v2H8c-2.2 0-4 1.8-4 4v2.5c0 .8.7 1.5 1.5 1.5h41c.8 0 1.5-.7 1.5-1.5V11c0-2.2-1.8-4-4-4z" + } + } + }, + event_ext: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "path": { + "d": "M49.83 32.45A1.43 1.43 0 0048.44 31h-12A1.43 1.43 0 0035 32.44v1.44a1.43 1.43 0 001.4 1.44h6.14l-11 11a1.42 1.42 0 000 2l1 1a1.54 1.54 0 001.09.45 1.32 1.32 0 00.94-.38l11-11v6A1.43 1.43 0 0047 45.83h1.53a1.43 1.43 0 001.47-1.4zM3.45 12.48h31.91a1.24 1.24 0 001.25-1.23V10a3.8 3.8 0 00-3.76-3.69h-3.06V5a2.43 2.43 0 00-4.86 0v1.28H13.87V5A2.44 2.44 0 009 5v1.28H5.88A3.69 3.69 0 002.19 10v1.28a1.24 1.24 0 001.25 1.23zM36.53 25.13v-7.79a1.25 1.25 0 00-1.22-1.26H3.45a1.24 1.24 0 00-1.26 1.22v18.46a3.69 3.69 0 003.69 3.69h18.5a16.82 16.82 0 0112.15-14.32zm-11-2.85a1.24 1.24 0 011.2-1.28h2.43a1.24 1.24 0 011.26 1.22v2.47A1.24 1.24 0 0129.25 26h-2.52a1.25 1.25 0 01-1.25-1.23zm-12.23 11a1.23 1.23 0 01-1.25 1.23H9.56a1.24 1.24 0 01-1.25-1.23v-2.46a1.25 1.25 0 011.23-1.25H12a1.25 1.25 0 011.26 1.22zm0-8.54A1.24 1.24 0 0112.08 26H9.56a1.25 1.25 0 01-1.25-1.23v-2.49A1.24 1.24 0 019.51 21H12a1.24 1.24 0 011.26 1.22zm8.54 8.54a1.25 1.25 0 01-1.22 1.26h-2.51a1.24 1.24 0 01-1.26-1.22v-2.5a1.24 1.24 0 011.23-1.25h2.46a1.25 1.25 0 011.25 1.23zM20.54 26h-2.43a1.25 1.25 0 01-1.26-1.22v-2.5a1.24 1.24 0 011.2-1.28h2.49a1.24 1.24 0 011.25 1.23v2.46A1.24 1.24 0 0120.62 26z" + } + } + }, + events: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M8.8 9C4.4 13.5 2 19.4 2 25.6 2 27 3.1 28 4.4 28s2.4-1.1 2.4-2.4c-.1-4.9 1.9-9.6 5.4-13.1s8.3-5.4 13.1-5.4c1.4 0 2.4-1.1 2.4-2.4 0-1.4-1.1-2.4-2.4-2.4C19.2 2.2 13.2 4.6 8.8 9zm2.9 16.6c0 1.4 1 2.4 2.4 2.4s2.4-1.1 2.4-2.4c0-2.3.9-4.6 2.6-6.2 1.7-1.7 3.9-2.5 6.2-2.6 1.4 0 2.4-1.1 2.4-2.4 0-1.4-1-2.4-2.4-2.4-3.6 0-7.1 1.4-9.7 3.9-.4.5-4.1 4.2-3.9 9.7zM45.5 15.2c-.9-1.2-2.1-2.6-2.3-2.8-.3-.2-.7-.4-1.1-.4-.4 0-.8.1-1 .4L31 22.4c-2.4-2-6-1.9-8.3.4-2.3 2.3-2.4 5.9-.4 8.3l-9.7 9.7c-.3.3-.5.7-.5 1.1 0 .5.2 1 .6 1.3l2.7 2c3.7 2.9 8.3 4.5 13.2 4.5 11.8 0 21.4-9.6 21.4-21.4 0-4.8-1.7-9.4-4.5-13.1z" + } + }, + expand: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M48.8 2H33.3c-1 0-1.3.9-.5 1.7l4.9 4.9-9 9c-.5.5-.5 1.3 0 1.9l3.7 3.7c.5.5 1.3.5 1.9 0l9.1-9.1 4.9 4.9c.8.8 1.7.5 1.7-.5V3.1c0-.6-.6-1.1-1.2-1.1zM3.5 50h15.4c1 0 1.3-1.1.5-1.9l-4.9-5 9-9.1c.5-.5.5-1.4 0-1.9l-3.7-3.7c-.5-.5-1.3-.5-1.9 0l-9 9-5-4.9C3 31.7 2 32 2 33v15.4c0 .7.8 1.6 1.5 1.6zM50 48.8V33.3c0-1-.9-1.3-1.7-.5l-4.9 4.9-9-9c-.5-.5-1.3-.5-1.9 0l-3.7 3.7c-.5.5-.5 1.3 0 1.9l9.1 9.1-4.9 4.9c-.8.8-.5 1.7.5 1.7h15.4c.6 0 1.1-.6 1.1-1.2zM2 3.5v15.4c0 1 1.1 1.3 1.9.5l5-4.9 9.1 9c.5.5 1.4.5 1.9 0l3.7-3.7c.5-.5.5-1.3 0-1.9l-9-9 4.9-5C20.3 3 20 2 19 2H3.6C2.9 2 2 2.8 2 3.5z" + } + }, + expand_all: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M48 9.5c0-.8-.7-1.5-1.5-1.5h-41C4.7 8 4 8.7 4 9.5v3c0 .8.7 1.5 1.5 1.5h41c.8 0 1.5-.7 1.5-1.5v-3zM48 39.5c0-.8-.7-1.5-1.5-1.5h-41c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h41c.8 0 1.5-.7 1.5-1.5v-3zM30 29h4.5c.8 0 1.5-.7 1.5-1.5v-3c0-.8-.7-1.5-1.5-1.5H30c-.6 0-1-.4-1-1v-4.5c0-.8-.7-1.5-1.5-1.5h-3c-.8 0-1.5.7-1.5 1.5V22c0 .6-.4 1-1 1h-4.5c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5H22c.6 0 1 .4 1 1v4.5c0 .8.7 1.5 1.5 1.5h3c.8 0 1.5-.7 1.5-1.5V30c0-.6.4-1 1-1z" + } + }, + expand_alt: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M48.8 2H33.3c-1 0-1.3.9-.5 1.7l4.9 4.9-9 9c-.5.5-.5 1.3 0 1.9l3.7 3.7c.5.5 1.3.5 1.9 0l9.1-9.1 4.9 4.9c.8.8 1.7.5 1.7-.5V3.1c0-.6-.6-1.1-1.2-1.1zM3.5 50h15.4c1 0 1.3-1.1.5-1.9l-4.9-5 9-9.1c.5-.5.5-1.4 0-1.9l-3.7-3.7c-.5-.5-1.3-.5-1.9 0l-9 9-5-4.9C3 31.7 2 32 2 33v15.4c0 .7.8 1.6 1.5 1.6z" + } + }, + fallback: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M28 3.5l-3 14.6c0 .6.4.9.9.9h15.6c1.1 0 1.8 1.3 1.3 2.3l-17 27.9c-.7 1.4-2.8.9-2.8-.7l3-17.2c0-.6-.5-.4-1.1-.4H8.5c-1.1 0-1.9-1.6-1.3-2.6l18-25.5c.7-1.3 2.8-.9 2.8.7z" + } + }, + favorite: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M27.4 3.1l4.6 15c.2.6.8.9 1.4.9h15c1.5 0 2.1 2 .9 2.9l-12.2 9c-.5.4-.7 1.1-.5 1.7L42.4 48c.4 1.4-1.1 2.6-2.3 1.7L27 39.9c-.5-.4-1.2-.4-1.8 0L12 49.7c-1.2.9-2.8-.3-2.3-1.7l5.6-15.4c.2-.6 0-1.3-.5-1.7l-12.2-9c-1.2-.9-.5-2.9.9-2.9h15c.7 0 1.2-.2 1.4-.9L24.6 3c.4-1.4 2.4-1.3 2.8.1z" + } + }, + feed: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M25.2 43c-.3 0-.7-.1-1.1-.3-.6-.3-1.1-1-1.2-1.6L17.2 18l-4.9 11c-.3.9-1.1 1.4-2 1.4H3.5c-.8 0-1.5-.6-1.5-1.4v-1.5c0-.8.7-1.5 1.5-1.5h5.2l6.9-15.7c.4-.8 1.3-1.4 2.3-1.3 1 .1 1.8.7 2 1.7l5.9 23.4L33.7 17c.4-.9 1.3-1.4 2.2-1.3.8.1 1.6.7 2 1.5l3.9 8.9h6.8c.8 0 1.5.7 1.5 1.5V29c0 .8-.7 1.5-1.5 1.5h-8.2c-.9 0-1.7-.5-2.1-1.3l-2.5-5.7-8.4 18.3c-.5.7-1.2 1.2-2.2 1.2z" + } + }, + file: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "path": [{ + "d": "M9.7 36.1V11.3c-2.6 0-4.7 2.1-4.7 4.6v29.4C5 47.9 7.1 50 9.7 50H33c2.6 0 4.7-2.1 4.7-4.6H19c-5.1 0-9.3 0-9.3-9.3z" + }, { + "d": "M45.4 15.9h-7.8c-2.6 0-4.7-2.1-4.7-4.6V3.5c.1-.8-.6-1.5-1.5-1.5H19c-2.6 0-4.7 2.1-4.7 4.6V36c0 2.6 2.1 4.6 4.7 4.6h23.3c2.6 0 4.7-2.1 4.7-4.6V17.5c0-.9-.7-1.6-1.6-1.6z" + }, { + "d": "M46.7 9.4l-7.2-7.1c-.2-.2-.4-.3-.7-.3-.6 0-1.1.5-1.1 1.1v5.1c0 1.7 1.4 3.1 3.1 3.1h5.1c.6 0 1.1-.5 1.1-1.1 0-.3-.1-.5-.3-.8z" + }] + } + }, + filter: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "path": { + "d": "M24.4 31.8c-.6-.6-1.5-.6-2.1 0l-3.6 3.6c-.6.6-1.7.2-1.7-.7V21.5c0-.8-.7-1.5-1.5-1.5h-3c-.8 0-1.5.7-1.5 1.5v13.2c0 .9-1.1 1.3-1.7.7l-3.6-3.6c-.6-.6-1.5-.6-2.1 0L1.4 34c-.6.6-.6 1.5 0 2.1l11.5 11.5c.6.6 1.5.6 2.1 0L26.6 36c.6-.6.6-1.5 0-2.1l-2.2-2.1zM51 9.5c0-.8-.7-1.5-1.5-1.5h-37c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h37c.8 0 1.5-.7 1.5-1.5v-3zM51 21.5c0-.8-.7-1.5-1.5-1.5h-27c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h27c.8 0 1.5-.7 1.5-1.5v-3zM51 33.5c0-.8-.7-1.5-1.5-1.5h-17c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h17c.8 0 1.5-.7 1.5-1.5v-3z" + } + } + }, + filterlist: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M48.3 4H3.9C2.4 4 1.7 5.7 2.6 6.8L22 29.5c.6.7.9 1.7.9 2.6v14.4c0 .8.8 1.5 1.6 1.5h3c.8 0 1.4-.7 1.4-1.5V32.1c0-1 .4-1.9 1.1-2.6L49.6 6.8c.9-1.1.2-2.8-1.3-2.8z" + } + }, + filter_criteria: { + "xmlns": "http://www.w3.org/2000/svg", + "path": [{ + "d": "M16.35 10.4h18.89A1.74 1.74 0 0037 8.67V5.2A5.22 5.22 0 0031.77 0h-12a5.22 5.22 0 00-5.2 5.2v3.47a1.87 1.87 0 001.78 1.73z" + }, { + "d": "M8.55 4.33a.82.82 0 01.86.87v3.47a6.94 6.94 0 006.85 6.93h18.89A6.88 6.88 0 0042 8.67V5.2a.82.82 0 01.87-.87h1.73a5.22 5.22 0 015.2 5.2V46.8a5.22 5.22 0 01-5.2 5.2H6.81a5.2 5.2 0 01-5.11-5.2V9.53a5.2 5.2 0 015.11-5.2h1.74zm27 19.94h-19.2a.75.75 0 00-.61 1.21l8.41 9.88a2 2 0 01.43 1.13v6.24a.75.75 0 00.69.69h1.3a.67.67 0 00.61-.69v-6.24a1.39 1.39 0 01.52-1.13l8.49-9.88a.73.73 0 00-.6-1.21z" + }] + }, + filter_criteria_rule: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M27.4 2A1.58 1.58 0 0129 3.6v11.2a3.89 3.89 0 004.2 4.2h11.2a1.58 1.58 0 011.6 1.6v24.6a4.87 4.87 0 01-4.8 4.8H10.8A4.87 4.87 0 016 45.2V6.8A4.87 4.87 0 0110.8 2h16.6zm7.52 24H17.08a.68.68 0 00-.52 1.12l7.79 9.12a1.65 1.65 0 01.36 1v5.78a.66.66 0 00.65.6h1.2a.58.58 0 00.56-.6v-5.73a1.47 1.47 0 01.45-1l7.87-9.12a.68.68 0 00-.52-1.17zM34.2 2a1.4 1.4 0 01.9.3l10.6 10.6a1.4 1.4 0 01.3.9 1.2 1.2 0 01-1.1 1.2h-8.5a3.5 3.5 0 01-3.4-3.4V3.1A1.2 1.2 0 0134.2 2z" + } + }, + flow: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M49.9 10.6c-2.1-4.1-7.4-11.7-17.2-7.2-6.1 2.8-9.5 4.4-9.5 4.4l-8.8 3.8c-2.5 1.2-7.9-.5-11-1.6-.9-.3-1.7.6-1.3 1.5 2.1 4.1 7.4 11.7 17.2 7.2 6.1-2.8 18.3-8.1 18.3-8.1 2.5-1.2 7.9.5 11 1.6.9.2 1.7-.7 1.3-1.6zM28.8 23.4c-1.1.6-5.5 2.6-5.5 2.6l-4.4 1.9c-2.2 1.2-6.9-.4-9.7-1.5-.8-.4-1.5.6-1.1 1.4 1.8 4 6.5 11.2 15.1 6.8 5.4-2.7 9.9-4.5 9.9-4.5 2.2-1.2 6.9.4 9.7 1.5.8.3 1.5-.6 1.1-1.5-1.8-3.9-6.5-11.1-15.1-6.7zm-3.2 17.7c-.9.5-2.4 1.4-2.4 1.4-1.7 1.1-5.2-.3-7.3-1.3-.6-.3-1.1.6-.8 1.4 1.3 3.6 4.8 10.1 11.3 6.1 2.4-1.5 2.4-1.4 2.4-1.4 1.8-.9 5.2.3 7.3 1.3.6.3 1.1-.6.8-1.4-1.3-3.6-4.6-9.8-11.3-6.1z" + } + }, + flow_alt: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M42.3 4.9H30.4C29.6 3.2 27.9 2 26 2c-2.6 0-4.8 2.2-4.8 4.8s2.2 4.8 4.8 4.8c2 0 3.7-1.2 4.4-2.9h11.9c2.1 0 3.8 1.7 3.8 3.8v7.7c0 2.1-1.7 3.8-3.8 3.8h-5.8v-5.8c0-1.6-1.3-2.9-2.9-2.9H18.3c-1.6 0-2.9 1.3-2.9 2.9V24H9.7C5.5 24 2 27.4 2 31.7v7.7c0 4.2 3.4 7.7 7.7 7.7h11.9C22.3 48.8 24 50 26 50c2.6 0 4.8-2.2 4.8-4.8 0-2.6-2.2-4.8-4.8-4.8-2 0-3.7 1.2-4.4 2.9H9.7c-2.1 0-3.8-1.7-3.8-3.8v-7.7c0-2.1 1.7-3.8 3.8-3.8h5.8v5.8c0 1.6 1.3 2.9 2.9 2.9h15.4c1.6 0 2.9-1.3 2.9-2.9V28h5.8c4.2 0 7.7-3.4 7.7-7.7v-7.7c-.2-4.3-3.7-7.7-7.9-7.7z" + } + }, + food_and_drink: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M40.881 24C39.937 31.865 33.526 37 28 37H16.002c-5.997 0-13-5.99-13-15V8a2 2 0 012-2H44a6 6 0 016 6v6a6 6 0 01-6 6h-3.119zM39 6zm1.593 34c.74 0 1.407.675 1.407 1.425v.075c0 2.475-2 4.5-4.444 4.5H6.444C4 46 2 43.975 2 41.5v-.075C2 40.675 2.667 40 3.407 40h37.186zM41 11v8h2a2 2 0 002-2v-4a2 2 0 00-2-2h-2z" + } + }, + form: { + "xmlns": "http://www.w3.org/2000/svg", + "rect": [{ + "fill": "none", + "height": "4.8", + "rx": "1.6", + "width": "27.2", + "x": "12.4", + "y": "26" + }, { + "fill": "none", + "height": "4.8", + "rx": "1.6", + "width": "24", + "x": "12.4", + "y": "35.6" + }], + "g": { + "path": [{ + "d": "M36.4 14.8h8.48A1.09 1.09 0 0046 13.68a1 1 0 00-.32-.8L35.12 2.32a1 1 0 00-.8-.32 1.09 1.09 0 00-1.12 1.12v8.48a3.21 3.21 0 003.2 3.2z" + }, { + "d": "M44.4 19.6H33.2a4.81 4.81 0 01-4.8-4.8V3.6A1.6 1.6 0 0026.8 2h-16A4.81 4.81 0 006 6.8v38.4a4.81 4.81 0 004.8 4.8h30.4a4.81 4.81 0 004.8-4.8v-24a1.6 1.6 0 00-1.6-1.6zm-32-1.6a1.62 1.62 0 011.6-1.55h6.55A1.56 1.56 0 0122.12 18v1.59a1.63 1.63 0 01-1.59 1.58H14a1.55 1.55 0 01-1.58-1.58zm24 20.77a1.6 1.6 0 01-1.6 1.6H14a1.6 1.6 0 01-1.6-1.6V37.2a1.6 1.6 0 011.6-1.6h20.8a1.6 1.6 0 011.6 1.6zm3.2-9.6A1.6 1.6 0 0138 30.8H14a1.6 1.6 0 01-1.6-1.6v-1.6A1.6 1.6 0 0114 26h24a1.6 1.6 0 011.6 1.6z" + }] + } + }, + formula: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M30.2 3.2c-.8-.6-1.9-.9-3.2-.9-.3 0-.6 0-.9.1-3.5.5-5.8 3.8-7.2 6.8-.6 1.4-1.2 2.9-1.7 4.4-.3.7-.5 1.4-.8 2.1 0 .1-.4 1.5-.5 1.5h-3.6c-.5 0-.9.4-.9.9s.4.9.9.9h3.1l-1.8 7.5C12 34.7 9.7 44.2 9.1 45.9c-.6 1.7-1.4 2.6-2.5 2.6-.2 0-.4 0-.5-.1-.1-.1-.2-.2-.2-.4 0-.1.1-.4.3-.7.2-.3.3-.7.3-1 0-.7-.2-1.2-.7-1.6-.4-.4-.9-.6-1.5-.6s-1.1.2-1.6.6c-.5.4-.7 1-.7 1.7 0 1 .4 1.8 1.2 2.5.8.7 1.8 1 3.1 1 2.1 0 4.1-1 5.5-2.6.9-1 1.5-2.2 2.1-3.5 1.8-3.9 2.7-8.2 3.7-12.3 1-4.2 2-8.4 2.9-12.7H24c.5 0 .9-.4.9-.9s-.4-.9-.9-.9h-3.1c1.7-6.6 3.7-11.1 4.1-11.8.7-1.1 1.4-1.7 2.1-1.7.3 0 .5.1.6.2.1.2.1.3.1.4 0 .1-.1.3-.3.7-.2.4-.3.8-.3 1.2 0 .6.2 1 .6 1.4.4.4.9.6 1.5.6s1.1-.2 1.5-.6c.4-.4.6-1 .6-1.7.1-1.1-.3-1.9-1.2-2.5zM46.1 23.2c1.3 0 3.8-1 3.8-4.4 0-3.3-2.4-3.5-3.1-3.5-1.5 0-2.9 1.1-4.2 3.3-1.3 2.3-2.7 4.7-2.7 4.7-.3-1.6-.6-2.9-.7-3.5-.3-1.4-1.9-4.4-5.2-4.4-3.3 0-6.3 1.9-6.3 1.9-.6.4-.9 1-.9 1.7 0 1.1.9 2 2 2 .3 0 .6-.1.9-.2 0 0 2.5-1.4 3 0 .2.4.3.9.4 1.4.6 2.2 1.2 4.7 1.7 7l-2.2 3.1s-2.4-.9-3.7-.9-3.8 1-3.8 4.4 2.4 3.5 3.1 3.5c1.5 0 2.9-1.1 4.2-3.3 1.3-2.3 2.7-4.7 2.7-4.7.4 2 .8 3.7 1 4.4.8 2.3 2.7 3.7 5.3 3.7 0 0 2.6 0 5.7-1.7.7-.3 1.3-1 1.3-1.9 0-1.1-.9-2-2-2-.3 0-.6.1-.9.2 0 0-2.2 1.2-2.9.3-.5-1-1-2.4-1.3-4-.3-1.5-.7-3.2-1-4.9l2.2-3.2c-.1.1 2.4 1 3.6 1z" + } + }, + forward: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M3.4 29h33.2c.9 0 1.3 1.1.7 1.7l-9.6 9.6c-.6.6-.6 1.5 0 2.1l2.2 2.2c.6.6 1.5.6 2.1 0L49.5 27c.6-.6.6-1.5 0-2.1L32 7.4c-.6-.6-1.5-.6-2.1 0l-2.1 2.1c-.6.6-.6 1.5 0 2.1l9.6 9.6c.6.7.2 1.8-.7 1.8H3.5c-.8 0-1.5.6-1.5 1.4v3c0 .8.6 1.6 1.4 1.6z" + } + }, + forward_up: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M8.2 49.6l31.5-31.5c.9-.9 2.3-.2 2.3.9v18.2c0 1.1.9 2 2 2h4.2c1.1 0 2-.9 2-2L50 4.1c0-1.1-.9-2-2-2H14.8c-1.1 0-2 .9-2 2v4c0 1.1.9 2 2 2H33c1.2.1 1.9 1.5 1 2.4L2.6 43.9c-.8.8-.9 2-.1 2.7l2.8 2.8c.8.8 2.1 1 2.9.2z" + } + }, + freeze_column: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M14.5 44a1.54 1.54 0 011.5 1.5v3a1.54 1.54 0 01-1.5 1.5h-9A1.54 1.54 0 014 48.5v-3A1.54 1.54 0 015.5 44zm19.6 0c.59 0 1.1.7 1.1 1.5v3c0 .8-.51 1.5-1.1 1.5h-6.6c-.59 0-1.1-.7-1.1-1.5v-3c0-.8.51-1.5 1.1-1.5zm12.8 0c.59 0 1.1.7 1.1 1.5v3c0 .8-.51 1.5-1.1 1.5h-6.6c-.59 0-1.1-.7-1.1-1.5v-3c0-.8.51-1.5 1.1-1.5zM21.6 14a.8.8 0 01.8.8v34.4a.8.8 0 01-.8.8h-.8a.8.8 0 01-.8-.8V14.8a.8.8 0 01.8-.8zm-7.1 20a1.54 1.54 0 011.5 1.5v3a1.54 1.54 0 01-1.5 1.5h-9A1.54 1.54 0 014 38.5v-3A1.54 1.54 0 015.5 34zm19.6 0c.59 0 1.1.7 1.1 1.5v3c0 .8-.51 1.5-1.1 1.5h-6.6c-.59 0-1.1-.7-1.1-1.5v-3c0-.8.51-1.5 1.1-1.5zm12.8 0c.59 0 1.1.7 1.1 1.5v3c0 .8-.51 1.5-1.1 1.5h-6.6c-.59 0-1.1-.7-1.1-1.5v-3c0-.8.51-1.5 1.1-1.5zM14.5 24a1.54 1.54 0 011.5 1.5v3a1.54 1.54 0 01-1.5 1.5h-9A1.54 1.54 0 014 28.5v-3A1.54 1.54 0 015.5 24zm19.6 0c.59 0 1.1.7 1.1 1.5v3c0 .8-.51 1.5-1.1 1.5h-6.6c-.59 0-1.1-.7-1.1-1.5v-3c0-.8.51-1.5 1.1-1.5zm12.8 0c.59 0 1.1.7 1.1 1.5v3c0 .8-.51 1.5-1.1 1.5h-6.6c-.59 0-1.1-.7-1.1-1.5v-3c0-.8.51-1.5 1.1-1.5zM14.5 14a1.54 1.54 0 011.5 1.5v3a1.54 1.54 0 01-1.5 1.5h-9A1.54 1.54 0 014 18.5v-3A1.54 1.54 0 015.5 14zm19.6 0c.59 0 1.1.7 1.1 1.5v3c0 .8-.51 1.5-1.1 1.5h-6.6c-.59 0-1.1-.7-1.1-1.5v-3c0-.8.51-1.5 1.1-1.5zm12.8 0c.59 0 1.1.7 1.1 1.5v3c0 .8-.51 1.5-1.1 1.5h-6.6c-.59 0-1.1-.7-1.1-1.5v-3c0-.8.51-1.5 1.1-1.5zm-.4-12A1.54 1.54 0 0148 3.5v5a1.54 1.54 0 01-1.5 1.5h-41A1.54 1.54 0 014 8.5v-5A1.54 1.54 0 015.5 2z" + } + }, + frozen: { + "xmlns": "http://www.w3.org/2000/svg", + "path": [{ + "d": "M27 3c.6 0 1 .4 1 1v45.9c0 .6-.4 1-1 1h-2c-.6 0-1-.4-1-1V4c0-.6.4-1 1-1h2z" + }, { + "d": "M26 17.2l-8.1-8.1c-.4-.4-.4-1 0-1.4l1.4-1.4c.4-.4 1-.4 1.4 0l5.3 5.3 5.3-5.3c.4-.4 1-.4 1.4 0l1.4 1.4c.4.4.4 1 0 1.4L26 17.2M26 36.7l8.1 8.1c.4.4.4 1 0 1.4l-1.4 1.4c-.4.4-1 .4-1.4 0L26 42.3l-5.3 5.3c-.4.4-1 .4-1.4 0l-1.4-1.4c-.4-.4-.4-1 0-1.4l8.1-8.1M47.1 15.6c.3.5.2 1.1-.4 1.4L7.2 40.3c-.5.3-1.1.2-1.4-.4l-1-1.7c-.3-.5-.2-1.1.4-1.4l39.5-23.4c.5-.3 1.1-.2 1.4.4l1 1.8z" + }, { + "d": "M34.4 22l2.8-11.1c.1-.6.6-.9 1.2-.7l1.9.5c.6.1.9.6.7 1.2l-1.9 7.3 7.3 1.9c.6.1.9.6.7 1.2l-.5 1.9c-.1.6-.6.9-1.2.7l-11-2.9M17.6 31.9L14.8 43c-.1.6-.6.9-1.2.7l-1.9-.5c-.6-.1-.9-.6-.7-1.2l1.9-7.3-7.3-1.9c-.6-.1-.9-.6-.7-1.2l.5-1.9c.1-.6.6-.9 1.2-.7l11 2.9M5.9 13.9c.3-.5.9-.7 1.4-.4l39.5 23.4c.5.3.7.9.4 1.4l-1 1.7c-.3.5-.9.7-1.4.4L5.2 17c-.5-.3-.7-.9-.4-1.4l1.1-1.7z" + }, { + "d": "M17.6 22L6.5 24.9c-.6.1-1.1-.1-1.2-.7l-.5-1.9c-.1-.6.1-1.1.7-1.2l7.3-1.9-1.9-7.3c-.1-.6.1-1.1.7-1.2l1.9-.5c.6-.1 1.1.1 1.2.7L17.6 22M34.3 31.9L45.4 29c.6-.1 1.1.1 1.2.7l.5 1.9c.1.6-.1 1.1-.7 1.2l-7.3 1.9L41 42c.1.6-.1 1.1-.7 1.2l-1.9.5c-.6.1-1.1-.1-1.2-.7l-2.9-11.1" + }] + }, + fulfillment_order: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "path": { + "d": "M24.3 36.5c.7 0 1.4.1 2 .3L15.5 6.2l-1-3c-.3-.9-1.2-1.3-2-1L3.1 5.3c-.9.3-1.3 1.2-1 2l1 3c.3.9 1.2 1.3 2 1L10 9.7l9.9 28.1c1.3-.8 2.8-1.3 4.4-1.3zM41.2 29.2l-9.9 3.5c-1 .4-2.2-.2-2.5-1.2l-3.5-9.9c-.4-1 .2-2.2 1.2-2.5l9.9-3.5c1-.4 2.2.2 2.5 1.2l3.5 9.9c.4 1-.2 2.1-1.2 2.5zM31.8 12.9l-6.7 2.3c-1 .4-2.2-.2-2.5-1.2l-2.3-6.7c-.4-1 .2-2.2 1.2-2.5l6.7-2.3c1-.4 2.2.2 2.5 1.2l2.3 6.7c.4.9-.1 2.1-1.2 2.5zM49.9 35.5l-1-3c-.3-.9-1.2-1.3-2-1l-18.2 6.3c1.9 1.2 3.2 3.2 3.6 5.5L49 37.6c.8-.3 1.2-1.2.9-2.1zM24.3 39.1c-3 0-5.5 2.5-5.5 5.5s2.5 5.5 5.5 5.5 5.5-2.5 5.5-5.5c0-3.1-2.5-5.5-5.5-5.5z" + } + } + }, + full_width_view: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "path": { + "d": "M48.5 4h-45C2.7 4 2 4.7 2 5.5v5c0 .8.7 1.5 1.5 1.5h45c.8 0 1.5-.7 1.5-1.5v-5c-.1-.8-.7-1.5-1.5-1.5zM10.7 16h-7c-.8 0-1.5.7-1.5 1.5v29.8c0 .8.7 1.5 1.5 1.5h7c.8 0 1.5-.7 1.5-1.5V17.5c0-.8-.7-1.5-1.5-1.5zM48.5 16h-7c-.8 0-1.5.7-1.5 1.5v29.8c0 .8.7 1.5 1.5 1.5h7c.8 0 1.5-.7 1.5-1.5V17.5c0-.8-.7-1.5-1.5-1.5zM34.5 16H17.7c-.8 0-1.5.7-1.5 1.5v29.8c0 .8.7 1.5 1.5 1.5h16.8c.8 0 1.5-.7 1.5-1.5V17.5c0-.8-.7-1.5-1.5-1.5z" + } + } + }, + global_constant: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "path": [{ + "d": "M28.6 28.2c2.6-2 5.4-2.3 7.3-2.3l7.1-.1c.7 0 1.4 0 2.1-.1.9 0 1.8-.1 2.6-.1h2.1C49.9 12.5 39.1 1.8 26 1.8S2.1 12.5 2.1 25.6c0 11.5 8.2 21.1 19 23.4-.2-.8-.1-1.6.1-2.4.3-1.4 1.1-2.5 1.9-3.3-2.5-2.5-4.6-8.2-5-15.2h5.5v6.4c.2-.5.3-1 .6-1.4 1-1.4 2.1-2.9 3.4-4.2.2-.2.5-.4.6-.6l.4-.1zm16.3-4.8h-6.3c-.2-5.7-1.5-10.6-3.4-14.3 5.3 2.9 8.9 8.2 9.7 14.3zM28.4 7.7c2.7 2.3 5.1 8.2 5.5 15.7h-5.5V7.7zm-4.8 0v15.7h-5.5c.4-7.5 2.8-13.4 5.5-15.7zM7.1 28.2h6.3c.2 5.7 1.5 10.6 3.4 14.3-5.3-2.9-8.9-8.2-9.7-14.3zm6.2-4.8H7.1c.8-6.1 4.5-11.4 9.7-14.3-1.9 3.7-3.1 8.7-3.5 14.3z" + }, { + "d": "M24.6 41.9c.3-.2.6-.6.8-.7.2-.3.6-.6.8-1-1.3-.6-2.2-1.7-2.6-3v5.7c.4-.5.7-.8 1-1z" + }] + }, + "path": { + "d": "M49.6 29.9c-.2-.2-.3-.2-.5-.2-2-.1-4.1.1-6 .1l-7.1.1c-2.1 0-3.9.5-5.6 2-1 1-2.1 2.3-2.9 3.5-.1.2-.2.3-.2.5 0 .5.4.8.8.8.5 0 .6-.3.8-.6s.5-.6.8-1c1.1-1 2.6-1.6 4.1-1.4-1.3 3.5-3 7.5-5.6 10.3-1 1.1-2.9 2.3-3.3 3.9-.4 1.7 1.3 2.1 2.5 1.6 1.6-.6 2.5-2.3 3.4-3.7 1-1.8 1.9-3.6 2.6-5.4.8-1.8 1.6-3.7 2.3-5.5.5-1.1.6-1.1 1.8-1.1h3.1c-1.1 2.5-2.2 5.1-3.3 7.7-.8 2-2.2 4.9-1.2 7 1 2.1 3.8 1.4 5.3.2 1.6-1.1 2.5-2.9 3.4-4.5.2-.3.3-.6.2-1-.2-.3-.4-.5-.7-.5-.7 0-.9.9-1.1 1.4-.4.9-1.4 1.7-2.4 1.5-2.3-.3-.2-4.5.2-5.7.4-1.2.9-2.3 1.4-3.4.3-.6.6-1.4.9-2 .4-.8.4-.8 1.4-.9.8 0 3.1.4 3.8-.1.6-.4.9-1.8 1.2-2.8.2-.3.2-.5-.1-.8z" + } + }, + graph: { + "xmlns": "http://www.w3.org/2000/svg", + "path": [{ + "d": "M2 45.5c0 2.2 1.8 4 4 4h42.4c.9 0 1.6-.7 1.6-1.6v-2.8c0-.9-.7-1.6-1.6-1.6H9.5c-.8 0-1.5-.7-1.5-1.5V4.1c0-.9-.7-1.6-1.6-1.6H3.6c-.9 0-1.6.7-1.6 1.6v41.4z" + }, { + "d": "M49.7 14.1c0-1.7-1.3-3-3-3-.9 0-1.6.4-2.2.9l-8.6 8.6L30 15l-.1-.1-.2-.2c-.1 0-.1-.1-.2-.1-.1-.1-.2-.1-.3-.2-.1 0-.1-.1-.2-.1s-.2-.1-.4-.1c-.1 0-.1 0-.2-.1-.2 0-.4-.1-.6-.1-.2 0-.4 0-.6.1-.1 0-.1 0-.2.1-.1 0-.3.1-.4.1-.1 0-.1.1-.2.1-.1.1-.2.1-.3.2-.1 0-.1.1-.2.2s-.2.1-.3.2L14.2 26.5c-.6.6-1 1.3-1 2.2 0 1.7 1.3 3 3 3 .7 0 1.4-.3 1.9-.7l9.8-9.7 5.7 5.6c.1.1.2.1.3.2l.2.2c.1.1.2.1.3.2.1 0 .1.1.2.1.1.1.3.1.4.1.1 0 .1 0 .2.1.2 0 .4.1.6.1.2 0 .4 0 .6-.1h.2c.1 0 .2-.1.4-.1.1 0 .1-.1.2-.1s.2-.1.3-.2c.1 0 .1-.1.2-.1l.1-.1.1-.1.1-.1 10.8-10.7c.5-.6.9-1.3.9-2.2z" + }] + }, + groups: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "path": [{ + "d": "M15.9 28c-1.4-2.1-2.1-4.5-2.1-7.2 0-4.6 1.9-8.4 4.9-10.7-1-1.8-3-3.1-5.6-3.1-4.4 0-6.9 3.6-6.9 7.7 0 2.2.7 4.1 2.2 5.4.8.8 1.5 1.8 1.5 2.8s-.4 2-2.9 3.1c-3.6 1.6-6.9 3.8-7 7.1.1 2.2 1.5 3.9 3.6 3.9h3.3c.5 0 1-.3 1.3-.8 1.6-2.9 4.6-4.7 7.1-6 .9-.4 1.1-1.5.6-2.2zM45.1 26c-2.5-1.1-2.9-2-2.9-3.1s.7-2.1 1.5-2.8c1.5-1.4 2.2-3.2 2.2-5.4 0-4.1-2.4-7.7-6.9-7.7-2.6 0-4.6 1.3-5.7 3.1 3 2.3 4.9 6.1 4.9 10.7 0 2.7-.7 5.1-2.1 7.2-.5.8-.2 1.8.6 2.2 2.5 1.2 5.5 3.1 7.1 6 .3.5.8.8 1.3.8h3.3c2.1 0 3.5-1.7 3.5-3.9.1-3.3-3.2-5.5-6.8-7.1z" + }, { + "d": "M32.7 33.3c-2.7-1.2-3.2-2.3-3.2-3.4 0-1.2.8-2.3 1.7-3.1 1.6-1.5 2.5-3.6 2.5-6 0-4.5-2.7-8.4-7.6-8.4s-7.6 3.9-7.6 8.4c0 2.4.9 4.5 2.5 6 .9.9 1.7 2 1.7 3.1 0 1.2-.4 2.2-3.2 3.4-4 1.7-7.8 3.6-7.9 7.2 0 2.4 1.8 4.4 4.1 4.4h20.8c2.3 0 4.1-2 4.1-4.4-.1-3.5-3.9-5.4-7.9-7.2z" + }] + } + }, + help: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M28.4 38h-5c-.8 0-1.4-.6-1.4-1.4v-1.5c0-4.2 2.7-8 6.7-9.4 1.2-.4 2.3-1.1 3.2-2.1 5-6 .4-13.2-5.6-13.4-2.2-.1-4.3.7-5.9 2.2-1.3 1.2-2.1 2.7-2.3 4.4-.1.6-.7 1.1-1.5 1.1h-5c-.9 0-1.6-.7-1.5-1.6.4-3.8 2.1-7.2 4.8-9.9 3.2-3 7.3-4.6 11.7-4.5C34.9 2.2 41.7 9 42 17.3c.3 7-4 13.3-10.5 15.7-.9.4-1.5 1.1-1.5 2v1.5c0 .9-.8 1.5-1.6 1.5zM30 48.5c0 .8-.7 1.5-1.5 1.5h-5c-.8 0-1.5-.7-1.5-1.5v-5c0-.8.7-1.5 1.5-1.5h5c.8 0 1.5.7 1.5 1.5v5z" + } + }, + help_center: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M25.7 2C12.4 2.2 1.9 13.1 2 26.3 2.2 39.6 13.1 50.1 26.3 50c13.3-.2 23.8-11.1 23.7-24.3C49.8 12.4 38.9 1.9 25.7 2zm0 3.2c3.6-.1 7 .8 9.9 2.3l-3.2 5.4c-1.9-1-4.1-1.5-6.4-1.5s-4.5.5-6.4 1.5l-3.2-5.4c2.8-1.4 5.9-2.3 9.3-2.3zM12.9 32.4l-5.4 3.2c-1.4-2.8-2.3-6-2.3-9.4-.1-3.6.8-7 2.3-9.9l5.4 3.2c-1 1.9-1.5 4.1-1.5 6.4s.5 4.6 1.5 6.5zm13.4 14.4c-3.6.1-7-.8-9.9-2.3l3.2-5.4c1.9 1 4.1 1.5 6.4 1.5s4.5-.5 6.4-1.5l3.2 5.4c-2.8 1.4-5.9 2.3-9.3 2.3zm-.3-9.3c-6.4 0-11.5-5.2-11.5-11.5 0-6.4 5.2-11.5 11.5-11.5 6.4 0 11.5 5.2 11.5 11.5 0 6.4-5.1 11.5-11.5 11.5zm13.1-5.1c1-1.9 1.5-4.1 1.5-6.4s-.5-4.5-1.5-6.4l5.4-3.2c1.4 2.8 2.3 6 2.3 9.4.1 3.6-.8 7-2.3 9.9l-5.4-3.3z" + } + }, + help_doc_ext: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "path": { + "d": "M49.83 32.45A1.43 1.43 0 0048.44 31h-12A1.43 1.43 0 0035 32.44v1.44a1.43 1.43 0 001.4 1.44h6.14l-11 11a1.42 1.42 0 000 2l1 1a1.54 1.54 0 001.09.45 1.32 1.32 0 00.94-.38l11-11v6A1.43 1.43 0 0047 45.83h1.53a1.43 1.43 0 001.47-1.4zM19.91 32.07h-4.08A1.12 1.12 0 0114.68 31v-1.3a8.18 8.18 0 015.47-7.7 6.16 6.16 0 002.61-1.71 6.56 6.56 0 00-9.38-9.15 5.77 5.77 0 00-1.88 3.6 1.17 1.17 0 01-1.23.89H6.19A1.17 1.17 0 015 14.46v-.1a13.31 13.31 0 013.89-8.08 13.38 13.38 0 019.55-3.68 13.1 13.1 0 014 25.39 1.83 1.83 0 00-1.23 1.63v1.23a1.27 1.27 0 01-1.3 1.22zm1.3 8.57A1.24 1.24 0 0120 41.87h-4.09a1.27 1.27 0 01-1.23-1.23v-4.08a1.25 1.25 0 011.23-1.22H20a1.25 1.25 0 011.22 1.22z" + } + } + }, + hide: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "path": { + "d": "M51.8 25.1c-1.6-3.2-3.7-6.1-6.3-8.4L37 25.1v.9c0 6.1-4.9 11-11 11h-.9l-5.4 5.4c2 .4 4.1.7 6.2.7 11.3 0 21.1-6.6 25.8-16.1.4-.7.4-1.3.1-1.9zM48.5 5.6l-2.1-2.1c-.6-.6-1.7-.5-2.4.3l-7.3 7.3C33.4 9.7 29.8 9 26 9 14.7 9 4.9 15.6.2 25.1c-.3.6-.3 1.3 0 1.8 2.2 4.5 5.5 8.2 9.6 11l-6 6.1c-.7.7-.8 1.8-.3 2.4l2.1 2.1c.6.6 1.7.5 2.4-.3L48.2 8c.8-.7.9-1.8.3-2.4zM15 26c0-6.1 4.9-11 11-11 2 0 3.8.5 5.4 1.4l-3 3c-.8-.2-1.6-.4-2.4-.4-3.9 0-7 3.1-7 7 0 .8.2 1.6.4 2.4l-3 3C15.5 29.8 15 28 15 26z" + } + } + }, + hide_mobile: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "path": { + "d": "M36.1 25.3v14.1c0 .7-.6 1.4-1.4 1.4H20.6L12 49.4c.6.4 1.3.6 2 .6h24c2 0 3.7-1.7 3.7-3.7V19.7l-5.6 5.6zM26 48.1c-1.6 0-2.8-1.2-2.8-2.8s1.2-2.8 2.8-2.8 2.8 1.2 2.8 2.8-1.2 2.8-2.8 2.8zM10.3 45.6l5.7-5.7v-.1l20.2-20.2v.1l5.5-5.5v-.1l7-7c.7-.6.8-1.7.3-2.2L47 3c-.6-.6-1.6-.5-2.2.3l-3.1 3.1v-.7C41.7 3.7 40 2 38 2H14c-2 0-3.7 1.7-3.7 3.7v32.1l-7.1 7.1c-.6.6-.7 1.6-.2 2.1l1.9 2c.6.6 1.6.5 2.2-.3l3.2-3.1zm5.5-34.8c0-.7.6-1.4 1.4-1.4h17.5c.7 0 1.4.6 1.4 1.4V12L15.8 32.2V10.8z" + } + } + }, + hierarchy: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M23.1 23H10.8c-.7 0-1.4.6-1.4 1.3v10.5H5.3c-.7 0-1.4.7-1.4 1.4v10c0 .7.7 1.4 1.4 1.4H19c.7 0 1.4-.7 1.4-1.4v-10c0-.7-.7-1.4-1.4-1.4h-4.1v-6.4h21.9v6.4h-4.1c-.7 0-1.4.7-1.4 1.4v10c0 .7.7 1.4 1.4 1.4h13.7c.7 0 1.3-.7 1.3-1.4v-10c0-.7-.6-1.4-1.3-1.4h-4.2V24.3c0-.7-.7-1.3-1.4-1.3H28.6v-6.4h4.1c.7 0 1.3-.7 1.3-1.4v-10c0-.7-.6-1.4-1.3-1.4H19c-.7 0-1.4.7-1.4 1.4v10c0 .7.7 1.4 1.4 1.4h4.2V23z" + } + }, + high_velocity_sales: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "path": [{ + "d": "M50 3.2c0-1-.6-1.2-.9-1.2H28.4c-1.5 0-1.5 1.5-1.5 1.5v2.9c0 1.3.8 1.6 1.2 1.6h14.4c.6.1 1.5.5 1.5 2.1v13.6c.1.4.3 1.3 1.5 1.3h3.2s1.3 0 1.3-1.5V3.2z" + }, { + "d": "M37.5 15.7c.1-1-.6-1.2-.9-1.2H15.9c-1.5 0-1.5 1.5-1.5 1.5v2.9c0 1.3.8 1.6 1.2 1.6H30c.6.1 1.5.5 1.5 2.1v13.6c.1.4.3 1.3 1.5 1.3h3.2s1.3 0 1.3-1.5V15.7z" + }, { + "d": "M5.3 48.8c.2.2 1 .8 2.1-.3l10.4-10.4c.3-.3 1.2-1 1.2.4v10.2c.1.4.3 1.3 1.5 1.3h3.2s1.3 0 1.3-1.5V28.2c0-1-.6-1.1-.9-1.2H3.4c-1.5 0-1.5 1.5-1.5 1.5v2.9c0 1.3.8 1.6 1.2 1.6h9.6c.4 0 1.6.1.5 1.2l-10 10.2S2 45.5 3 46.5l2.3 2.3z" + }] + } + }, + holiday_operating_hours: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M38.71 25.59a11.3 11.3 0 0111.29 11v.29a11.29 11.29 0 01-11 11.29h-.29a11.3 11.3 0 01-.3-22.59zm-.45 3.08v.1l-1.66 5.32a.4.4 0 01-.4.32h-5.43a.58.58 0 00-.39 1l.07.06 4.31 3.18a.55.55 0 01.2.51v.09l-2 5.43a.53.53 0 00.74.65h.07l4.67-3.45a.53.53 0 01.55-.06l.08.06 4.63 3.45a.52.52 0 00.83-.51v-.09l-2-5.43a.56.56 0 01.11-.53l.07-.07L47 35.43a.57.57 0 00-.23-1h-5.44a.52.52 0 01-.45-.23v-.09l-1.67-5.31a.52.52 0 00-.95-.13zM21.84 3a19.89 19.89 0 0119.84 19.84v.24a14.26 14.26 0 00-2.47-.31h-.9v-.25a16.47 16.47 0 10-16.47 16.79 16.32 16.32 0 002.91-.26 14.19 14.19 0 00.92 3.26 19.36 19.36 0 01-3.83.37 19.84 19.84 0 010-39.68zM22 14.3a1.06 1.06 0 011 1V22a1.06 1.06 0 00.27.76l3.81 3.93a1 1 0 010 1.45l-1.43 1.44a1 1 0 01-1.43 0l-5-5.1a1.4 1.4 0 01-.28-.76v-8.38a1.06 1.06 0 011-1H22z" + } + }, + home: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M49 27h-5v22c0 .6-.4 1-1 1H33c-.6 0-1-.4-1-1V32H20v17c0 .6-.4 1-1 1H9c-.6 0-1-.4-1-1V27H3c-.4 0-.8-.2-.9-.6-.2-.4-.1-.8.2-1.1l23-23c.4-.4 1.1-.4 1.4 0l23 23c.3.3.3.7.2 1.1s-.5.6-.9.6z" + } + }, + identity: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "path": [{ + "d": "M46 8H34.9s.1.7.1 1c0 3.9-3.1 7-7 7h-6c-3.9 0-7-3.1-7-7 0-.3 0-1 .1-1H6c-2.2 0-4 1.8-4 4v30c0 2.2 1.8 4 4 4h40c2.2 0 4-1.8 4-4V12c0-2.2-1.8-4-4-4zM21.7 38H10.3C9 38 8 36.8 8 35.5c0-2 2.1-3.1 4.3-4 1.5-.6 1.7-1.2 1.7-1.9 0-.6-.4-1.2-.9-1.7-.9-.8-1.4-2-1.4-3.3 0-2.5 1.5-4.6 4.2-4.6s4.2 2.1 4.2 4.6c0 1.3-.5 2.5-1.4 3.3-.5.5-.9 1.1-.9 1.7 0 .6.2 1.2 1.7 1.9 2.2.9 4.3 2 4.3 4 .2 1.3-.8 2.5-2.1 2.5zM44 34c0 .6-.4 1-1 1H29c-.6 0-1-.4-1-1v-2c0-.6.4-1 1-1h14c.6 0 1 .4 1 1v2zm2-8c0 .6-.4 1-1 1H29c-.6 0-1-.4-1-1v-2c0-.6.4-1 1-1h16c.6 0 1 .4 1 1v2z" + }, { + "d": "M22 12h6c1.7 0 3-1.3 3-3s-1.3-3-3-3h-6c-1.7 0-3 1.3-3 3s1.3 3 3 3z" + }] + } + }, + image: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M50 10c0-2.2-1.8-4-4-4H6c-2.2 0-4 1.8-4 4v32c0 2.2 1.8 4 4 4h40c2.2 0 4-1.8 4-4V10zM39.6 38h-29c-1.2 0-1.9-1.3-1.3-2.3l8.8-15.3c.4-.7 1.3-.7 1.7 0l5.3 9.1c.4.6 1.3.7 1.7.1l4.3-6.2c.4-.6 1.3-.6 1.7 0L40.7 36c.6.9 0 2-1.1 2zM37 20c-2.2 0-4-1.8-4-4s1.8-4 4-4 4 1.8 4 4-1.8 4-4 4z" + } + }, + in_app_assistant: { + "xmlns": "http://www.w3.org/2000/svg", + "path": [{ + "d": "M49.9 33.6l-2-4.2 2-4.2c.2-.3 0-.8-.3-.9-.1 0-.2-.1-.3-.1h-6.5c-.5-1.3-1.8-4.5-3-6.3-1.5-2.4-3.2-4.4-5.2-6-2.3-1.9-4.9-3.5-7.9-4.7l-.7-.1-.7.2c-.1 0-1.2.4-2.9 1.2-1.4.7-3 1.7-4.6 3-3.1 2.5-5.5 5.5-7.2 9-.5 1.1-1.1 2.4-1.6 3.8H2.7c-.1 0-.2 0-.3.1-.3.1-.5.6-.4.9l1.8 4.2L2 33.7v.2c0 .4.3.7.7.7h4.5V36.4c0 .7 0 1.5.1 2v1.3l1.2.7c.1 0 2 1.1 5.1 2.2 2.8 1 7.3 2.2 12.7 2.2 4.7 0 9.3-.9 13.7-2.7 1.3-.5 2.5-1.1 3.6-1.7l1-.5.2-.8.1-.7v-2.1c0-.4 0-.6-.1-.8 0-.2-.1-.4-.1-1h4.6c.4 0 .7-.3.7-.7 0 0 0-.1-.1-.2zm-8.5 3.6c0 .2 0 .4-.1.6-.9.5-1.8.9-2.7 1.3-4 1.6-8.1 2.4-12.4 2.4-4.9 0-9-1.1-11.6-2-1.9-.7-3.3-1.3-4-1.7v-1.3-.8c0-.3 0-.5.1-2.6.2-2.9.9-5.6 1.4-7.1.5-1.5 1.1-2.9 1.6-4 1.5-3.1 3.6-5.6 6.3-7.8 1.7-1.4 3.1-2.2 3.9-2.6.9-.4 1.6-.7 2-.9 2.4 1 4.5 2.3 6.4 3.9 1.7 1.4 3.2 3.1 4.5 5.3 1 1.6 2.4 5 2.8 6 0 0 1.3 4.2 1.4 7 .1 2.2.1 2.6.2 3.1 0 .2 0 .3.1.5v.7z" + }, { + "fill-rule": "evenodd", + "clip-rule": "evenodd", + "d": "M25.8 38c-.6 0-1-.2-1.4-.5-.4-.4-.6-.9-.6-1.5s.2-1.1.6-1.4c.4-.4.9-.6 1.5-.6s1.1.2 1.4.6c.4.4.6.9.6 1.4 0 .6-.2 1.1-.6 1.5-.5.4-1 .5-1.5.5zM19.1 23.2c0-.9.3-1.7.8-2.6.6-.9 1.4-1.6 2.4-2.2 1.1-.6 2.3-.9 3.7-.9 1.3 0 2.5.2 3.5.7 1 .5 1.8 1.1 2.3 2 .5.8.8 1.7.8 2.7 0 .8-.2 1.4-.5 2-.3.6-.7 1.1-1.1 1.5-.4.4-1.2 1.1-2.3 2.1-.3.3-.6.5-.7.7-.2.2-.3.4-.4.6-.1.2-.2.4-.2.5 0 .2-.1.5-.2.9-.2.9-.7 1.4-1.6 1.4-.5 0-.9-.2-1.2-.5-.3-.1-.4-.6-.4-1.2 0-.8.1-1.4.4-2 .2-.6.5-1 .9-1.5.4-.4.9-.9 1.6-1.5.6-.5 1-.9 1.3-1.1.3-.3.5-.5.7-.9.2-.3.3-.7.3-1 0-.7-.3-1.3-.8-1.8s-1.2-.7-2.1-.7c-1 0-1.7.3-2.2.8-.5.5-.9 1.2-1.2 2.2-.3 1-.9 1.5-1.8 1.5-.5 0-.9-.2-1.3-.5-.5-.4-.7-.8-.7-1.2z" + }] + }, + inbox: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M50 8c0-2.2-1.8-4-4-4H6C3.8 4 2 5.8 2 8v36c0 2.2 1.8 4 4 4h40c2.2 0 4-1.8 4-4V8zM19 35c0 .6-.4 1-1 1H9c-.6 0-1-.4-1-1v-4c0-.6.4-1 1-1h9c.6 0 1 .4 1 1v4zm0-10c0 .6-.4 1-1 1H9c-.6 0-1-.4-1-1v-4c0-.6.4-1 1-1h9c.6 0 1 .4 1 1v4zm0-10c0 .6-.4 1-1 1H9c-.6 0-1-.4-1-1v-4c0-.6.4-1 1-1h9c.6 0 1 .4 1 1v4zm25 26c0 .6-.4 1-1 1H24c-.6 0-1-.4-1-1V11c0-.6.4-1 1-1h19c.6 0 1 .4 1 1v30z" + } + }, + incoming_call: { + "xmlns": "http://www.w3.org/2000/svg", + "path": [{ + "d": "M48.5 37.9L42.4 33c-1.4-1.1-3.4-1.2-4.8-.1l-5.2 3.8c-.6.5-1.5.4-2.1-.2l-7.8-7-7-7.8c-.6-.6-.6-1.4-.2-2.1l3.8-5.2c1.1-1.4 1-3.4-.1-4.8l-4.9-6.1c-1.5-1.8-4.2-2-5.9-.3L3 8.4c-.8.8-1.2 1.9-1.2 3 .5 10.2 5.1 19.9 11.9 26.7S30.2 49.5 40.4 50c1.1.1 2.2-.4 3-1.2l5.2-5.2c1.9-1.5 1.8-4.3-.1-5.7z" + }, { + "d": "M29.6 24H45c1 0 1.3-1.1.5-1.9l-4.9-5 9-9.1c.5-.5.5-1.4 0-1.9l-3.7-3.7c-.5-.5-1.3-.5-1.9 0l-9.1 9.1-5.1-4.9C29.1 5.7 28 6 28 7v15.3c0 .7.9 1.7 1.6 1.7z" + }] + }, + info: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M26 2C12.7 2 2 12.7 2 26s10.7 24 24 24 24-10.7 24-24S39.3 2 26 2zm0 12.1c1.7 0 3 1.3 3 3s-1.3 3-3 3-3-1.3-3-3 1.3-3 3-3zm5 21c0 .5-.4.9-1 .9h-8c-.5 0-1-.3-1-.9v-2c0-.5.4-1.1 1-1.1.5 0 1-.3 1-.9v-4c0-.5-.4-1.1-1-1.1-.5 0-1-.3-1-.9v-2c0-.5.4-1.1 1-1.1h6c.5 0 1 .5 1 1.1v8c0 .5.4.9 1 .9.5 0 1 .5 1 1.1v2z" + } + }, + info_alt: { + "xmlns": "http://www.w3.org/2000/svg", + "path": [{ + "d": "M26 2C12.7 2 2 12.7 2 26s10.7 24 24 24 24-10.7 24-24S39.3 2 26 2zm0 42C16 44 8 36 8 26S16 8 26 8s18 8 18 18-8 18-18 18z" + }, { + "d": "M26 14.1c1.7 0 3 1.3 3 3s-1.3 3-3 3-3-1.3-3-3 1.3-3 3-3zM31 35.1c0 .5-.4.9-1 .9h-8c-.5 0-1-.3-1-.9v-2c0-.5.4-1.1 1-1.1.5 0 1-.3 1-.9v-4c0-.5-.4-1.1-1-1.1-.5 0-1-.3-1-.9v-2c0-.5.4-1.1 1-1.1h6c.5 0 1 .5 1 1.1v8c0 .5.4.9 1 .9.5 0 1 .5 1 1.1v2z" + }] + }, + insert_tag_field: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M16.3 12.2L14 10.3c-.7-.5-1.5-.4-2.1.2L.3 25.1c-.4.5-.4 1.3 0 1.9L12 41.5c.5.6 1.4.8 2.1.2l2.3-1.9c.7-.5.8-1.5.2-2.1L7.2 26l9.5-11.7c.4-.6.3-1.5-.4-2.1zM51.7 25.1L40 10.6c-.5-.6-1.4-.8-2.1-.2l-2.3 1.9c-.7.5-.8 1.5-.2 2.1l9.5 11.7-9.5 11.7c-.5.6-.4 1.6.2 2.1l2.3 1.9c.7.5 1.5.4 2.1-.2L51.7 27c.4-.7.4-1.4 0-1.9zM31.6 10.8l-3-.7c-.8-.2-1.7.3-1.9 1.1l-7.4 28.4c-.2.8.3 1.6 1.1 1.8l3 .7c.8.2 1.7-.3 1.9-1.1l7.4-28.4c.2-.9-.3-1.6-1.1-1.8z" + } + }, + insert_template: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M48.5 38H44v-4.5c0-.8-.7-1.5-1.5-1.5h-3c-.8 0-1.5.7-1.5 1.5V38h-4.5c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5H38v4.5c0 .8.7 1.5 1.5 1.5h3c.8 0 1.5-.7 1.5-1.5V44h4.5c.8 0 1.5-.7 1.5-1.5v-3c0-.8-.7-1.5-1.5-1.5zM34 29.5c0-.8.7-1.5 1.5-1.5H38V6c0-2.2-1.8-4-4-4H6C3.8 2 2 3.8 2 6v28c0 2.2 1.8 4 4 4h22v-2.5c0-.8.7-1.5 1.5-1.5H34v-4.5zM16 11c0 .6-.4 1-1 1H9c-.6 0-1-.4-1-1V9c0-.6.4-1 1-1h6c.6 0 1 .4 1 1v2zm12 16c0 .6-.4 1-1 1H9c-.6 0-1-.4-1-1v-2c0-.6.4-1 1-1h18c.6 0 1 .4 1 1v2zm4-8c0 .6-.4 1-1 1H9c-.6 0-1-.4-1-1v-2c0-.6.4-1 1-1h22c.6 0 1 .4 1 1v2z" + } + }, + inspector_panel: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M3.8 45.3h45c.8 0 1.5-.7 1.5-1.5v-8.3c0-.8-.7-1.5-1.5-1.5h-45c-.8 0-1.5.7-1.5 1.5v8.3c0 .8.7 1.5 1.5 1.5zm0-38.6c-.8 0-1.6.7-1.6 1.5v20.4c0 .7.8 1.4 1.6 1.4h44.8c.8 0 1.5-.7 1.5-1.5V8.2c0-.8-.7-1.5-1.5-1.5H3.8z" + } + }, + internal_share: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "fill-rule": "evenodd", + "clip-rule": "evenodd", + "d": "M2.3 37.9v.2c0 .8.6 1.4 1.4 1.4.4 0 .7-.1 1-.4 0 0 10.1-10.9 22.5-7.6v11c0 .8.6 1.4 1.4 1.4.3 0 .5-.1.7-.2l20.1-17.1c.3-.3.5-.7.5-1.1 0-.4-.2-.8-.4-1L29.4 8.2c-.2-.1-.5-.2-.8-.2-.8 0-1.4.6-1.4 1.4v10.3c-.1 0-19.9-3-24.9 18.2z" + } + }, + italic: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M38 12.3V11c0-1.1-.9-2-2-2H22c-1.1 0-2 .9-2 2v2c0 1.1.9 2 2 2 1.7 0 3 1.6 2.6 3.2L21 35.8c-.3 1.3-1.4 2.2-2.6 2.2H16c-1.1 0-2 .9-2 2v2c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2v-2c0-1.1-.9-2-2-2-1.7 0-3-1.6-2.6-3.2L31 17.2c.3-1.3 1.4-2.2 2.6-2.2h1.7c1.5 0 2.7-1.2 2.7-2.7z" + } + }, + jump_to_bottom: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "path": [{ + "d": "M40.6 30.4L27.1 44c-.6.6-1.6.6-2.2 0L11.4 30.4c-.6-.6-.6-1.6 0-2.2l2.2-2.2c.6-.6 1.6-.6 2.2 0l9.1 9.4c.6.6 1.6.6 2.2 0l9.1-9.3c.6-.6 1.6-.6 2.2 0l2.2 2.2c.5.6.5 1.5 0 2.1z" + }, { + "d": "M40.6 12.3L27.1 26.1c-.6.6-1.6.6-2.2 0L11.4 12.3c-.6-.6-.6-1.6 0-2.2l2.2-2.2c.6-.6 1.6-.6 2.2 0l9.1 9.4c.6.6 1.6.6 2.2 0L36.2 8c.6-.6 1.6-.6 2.2 0l2.2 2.2c.5.6.5 1.6 0 2.1z" + }] + } + }, + jump_to_left: { + "xmlns": "http://www.w3.org/2000/svg", + "path": [{ + "d": "M21.5 40.6L7.9 27.1a1.57 1.57 0 010-2.2l13.6-13.5a1.57 1.57 0 012.2 0l2.2 2.2a1.57 1.57 0 010 2.2l-9.4 9.1a1.57 1.57 0 000 2.2l9.3 9.1a1.57 1.57 0 010 2.2l-2.2 2.2a1.66 1.66 0 01-2.1 0z" + }, { + "d": "M39.6 40.6L25.8 27.1a1.57 1.57 0 010-2.2l13.8-13.5a1.57 1.57 0 012.2 0l2.2 2.2a1.57 1.57 0 010 2.2l-9.4 9.1a1.57 1.57 0 000 2.2l9.3 9.1a1.57 1.57 0 010 2.2l-2.2 2.2a1.66 1.66 0 01-2.1 0z" + }] + }, + jump_to_right: { + "xmlns": "http://www.w3.org/2000/svg", + "path": [{ + "d": "M30.4 11.3L44 24.8a1.57 1.57 0 010 2.2L30.4 40.5a1.57 1.57 0 01-2.2 0L26 38.3a1.57 1.57 0 010-2.2l9.4-9.1a1.57 1.57 0 000-2.2l-9.3-9.1a1.57 1.57 0 010-2.2l2.2-2.2a1.66 1.66 0 012.1 0z" + }, { + "d": "M12.3 11.3l13.8 13.5a1.57 1.57 0 010 2.2L12.3 40.5a1.57 1.57 0 01-2.2 0l-2.2-2.2a1.57 1.57 0 010-2.2l9.4-9.1a1.57 1.57 0 000-2.2L8 15.7a1.57 1.57 0 010-2.2l2.2-2.2a1.66 1.66 0 012.1 0z" + }] + }, + jump_to_top: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "path": [{ + "d": "M11.4 21.6L24.9 7.9c.6-.6 1.6-.6 2.2 0l13.5 13.7c.6.6.6 1.6 0 2.2L38.4 26c-.6.6-1.6.6-2.2 0l-9.1-9.4c-.6-.6-1.6-.6-2.2 0l-9.1 9.3c-.6.6-1.6.6-2.2 0l-2.2-2.2c-.5-.6-.5-1.5 0-2.1z" + }, { + "d": "M11.4 39.7L24.9 26c.6-.6 1.6-.6 2.2 0l13.5 13.7c.6.6.6 1.6 0 2.2l-2.2 2.2c-.6.6-1.6.6-2.2 0l-9.1-9.4c-.6-.6-1.6-.6-2.2 0L15.8 44c-.6.6-1.6.6-2.2 0l-2.2-2.2c-.5-.6-.5-1.6 0-2.1z" + }] + } + }, + justify_text: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M48 6.5c0-.8-.7-1.5-1.5-1.5h-41C4.7 5 4 5.7 4 6.5v3c0 .8.7 1.5 1.5 1.5h41c.8 0 1.5-.7 1.5-1.5v-3zM48 18.5c0-.8-.7-1.5-1.5-1.5h-41c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h41c.8 0 1.5-.7 1.5-1.5v-3zM48 42.5c0-.8-.7-1.5-1.5-1.5h-41c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h41c.8 0 1.5-.7 1.5-1.5v-3zM48 30.5c0-.8-.7-1.5-1.5-1.5h-41c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h41c.8 0 1.5-.7 1.5-1.5v-3z" + } + }, + kanban: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M32 17.5c0-.8-.7-1.5-1.5-1.5h-9c-.8 0-1.5.7-1.5 1.5v27c0 .8.7 1.5 1.5 1.5h9c.8 0 1.5-.7 1.5-1.5v-27zM14 17.5c0-.8-.7-1.5-1.5-1.5h-9c-.8 0-1.5.7-1.5 1.5v31c0 .8.7 1.5 1.5 1.5h9c.8 0 1.5-.7 1.5-1.5v-31zM50 17.5c0-.8-.7-1.5-1.5-1.5h-9c-.8 0-1.5.7-1.5 1.5v23c0 .8.7 1.5 1.5 1.5h9c.8 0 1.5-.7 1.5-1.5v-23zM50 3.5c0-.8-.7-1.5-1.5-1.5h-45C2.7 2 2 2.7 2 3.5v5c0 .8.7 1.5 1.5 1.5h45c.8 0 1.5-.7 1.5-1.5v-5z" + } + }, + key: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M6.51 12a.77.77 0 011.41.48v.41c0 9 7.09 16.27 15.74 16.27h.71a1.53 1.53 0 011.57 1.06l4.41 12.69a2.13 2.13 0 01-.08 1.22l-2.36 5.45a.77.77 0 01-1 .41l-5.35-2.52a.84.84 0 01-.48-1l.63-2.52a.82.82 0 00-.39-1.06l-1.81-.81a.9.9 0 01-.39-1l.7-2.52a.82.82 0 00-.39-1.06l-1.26-.57a.79.79 0 01-.39-1l.79-2.36a.82.82 0 00-.4-1.06l-2.36-1.06a.8.8 0 01-.41-.45l-.55-1.54a11.11 11.11 0 01-5.43-2.12 11.74 11.74 0 01-4.17-12.55A10.21 10.21 0 016.51 12zm5.55 2.54A11.28 11.28 0 0123.8 2a11.38 11.38 0 0110 7.6 10.64 10.64 0 01.2 6.49l12.7 13.27a1.4 1.4 0 01.48 1.2v5.84a.76.76 0 01-.8.8h-6a.78.78 0 01-.8-.64L39.21 34a.75.75 0 00-.79-.8h-2a.78.78 0 01-.8-.64l-.4-2.56a.76.76 0 00-.8-.8h-1.35a.79.79 0 01-.8-.72L32 26a.76.76 0 00-.8-.8h-2.69A.73.73 0 0128 25l-1.11-1.19a11.17 11.17 0 01-14.78-9.28zM21.6 7.6a4 4 0 000 8 4 4 0 004-4 4 4 0 00-4-4z" + } + }, + key_dates: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M46.8 19.6a1.6 1.6 0 011.59 1.45V45.2a4.82 4.82 0 01-4.58 4.8H8.4a4.82 4.82 0 01-4.8-4.59V21.2a1.6 1.6 0 011.45-1.59H46.8zm-21.38 4.63v.11l-2.18 6.86a.53.53 0 01-.54.41h-6.93a.75.75 0 00-.49 1.25l.08.07L20.92 37a.72.72 0 01.25.67v.11l-2.55 7a.68.68 0 001 .83l.08-.06 6-4.45a.7.7 0 01.73-.06l.09.06 6 4.45a.68.68 0 001.07-.67v-.1l-2.64-7a.72.72 0 01.15-.7l.08-.08 5.56-4.09a.74.74 0 00-.31-1.31h-7.04a.67.67 0 01-.6-.31v-.1l-2.1-6.82a.67.67 0 00-1.27-.14zM36.4 2a3.21 3.21 0 013.2 3.2v1.6h4a4.81 4.81 0 014.8 4.8v1.6a1.6 1.6 0 01-1.6 1.6H5.2a1.6 1.6 0 01-1.6-1.6v-1.6a4.81 4.81 0 014.8-4.8h4V5.2a3.2 3.2 0 016.4 0v1.6h14.4V5.2A3.21 3.21 0 0136.4 2z" + } + }, + keyboard_dismiss: { + "xmlns": "http://www.w3.org/2000/svg", + "path": [{ + "d": "M48 34.066c1.1 0 2-.9 2-2v-26c0-1.1-.9-2-2-2H4c-1.1 0-2 .9-2 2v26c0 1.1.9 2 2 2h44zm-42-4v-22h40v22H6z" + }, { + "d": "M13.665 13.398c0 .8-.7 1.5-1.5 1.5h-.998c-.8 0-1.5-.7-1.5-1.5V12.4c0-.8.7-1.5 1.5-1.5h.998c.8 0 1.5.7 1.5 1.5v.998zM19.402 12.4c0-.801-.7-1.5-1.5-1.5h-.998c-.8 0-1.5.699-1.5 1.5v.998c0 .799.7 1.5 1.5 1.5h.998c.8 0 1.5-.701 1.5-1.5V12.4zM30.878 13.398c0 .8-.698 1.5-1.5 1.5h-.998c-.799 0-1.5-.7-1.5-1.5V12.4c0-.8.701-1.5 1.5-1.5h.998c.802 0 1.5.7 1.5 1.5v.998zM25.14 13.398c0 .8-.699 1.5-1.5 1.5h-.998c-.799 0-1.5-.7-1.5-1.5V12.4c0-.8.701-1.5 1.5-1.5h.998c.801 0 1.5.7 1.5 1.5v.998zM42.354 12.4c0-.801-.699-1.5-1.5-1.5h-.998c-.799 0-1.5.699-1.5 1.5v.998c0 .799.701 1.5 1.5 1.5h.998c.801 0 1.5-.701 1.5-1.5V12.4zM36.615 12.4c0-.801-.699-1.5-1.5-1.5h-.998c-.799 0-1.5.699-1.5 1.5v.998c0 .799.701 1.5 1.5 1.5h.998c.801 0 1.5-.701 1.5-1.5V12.4zM13.665 19.402c0 .8-.7 1.5-1.5 1.5h-.998c-.8 0-1.5-.7-1.5-1.5v-.998c0-.8.7-1.5 1.5-1.5h.998c.8 0 1.5.7 1.5 1.5v.998zM19.402 18.404c0-.801-.7-1.5-1.5-1.5h-.998c-.8 0-1.5.699-1.5 1.5v.998c0 .799.7 1.5 1.5 1.5h.998c.8 0 1.5-.701 1.5-1.5v-.998zM30.878 19.402c0 .8-.698 1.5-1.5 1.5h-.998c-.799 0-1.5-.7-1.5-1.5v-.998c0-.8.701-1.5 1.5-1.5h.998c.802 0 1.5.7 1.5 1.5v.998zM25.14 19.402c0 .8-.699 1.5-1.5 1.5h-.998c-.799 0-1.5-.7-1.5-1.5v-.998c0-.8.701-1.5 1.5-1.5h.998c.801 0 1.5.7 1.5 1.5v.998zM42.354 18.404c0-.801-.699-1.5-1.5-1.5h-.998c-.799 0-1.5.699-1.5 1.5v.998c0 .799.701 1.5 1.5 1.5h.998c.801 0 1.5-.701 1.5-1.5v-.998zM36.615 18.404c0-.801-.699-1.5-1.5-1.5h-.998c-.799 0-1.5.699-1.5 1.5v.998c0 .799.701 1.5 1.5 1.5h.998c.801 0 1.5-.701 1.5-1.5v-.998zM13.665 25.408c0 .801-.7 1.5-1.5 1.5h-.998c-.8 0-1.5-.7-1.5-1.5v-.998c0-.8.7-1.5 1.5-1.5h.998c.8 0 1.5.7 1.5 1.5v.998zM36.615 24.41c0-.801-.7-1.5-1.5-1.5H16.904c-.8 0-1.5.699-1.5 1.5v.998c0 .8.7 1.5 1.5 1.5h18.211c.8 0 1.5-.701 1.5-1.5v-.998zM42.354 24.41c0-.801-.699-1.5-1.5-1.5h-.998c-.799 0-1.5.699-1.5 1.5v.998c0 .8.701 1.5 1.5 1.5h.998c.801 0 1.5-.701 1.5-1.5v-.998zM18.116 37.227h15.792c.447 0 .759.58.4.981l-7.718 9.457c-.266.356-.847.356-1.115 0l-7.807-9.457c-.311-.401-.043-.981.448-.981z" + }] + }, + keypad: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M8.55 36.91A6.55 6.55 0 112 43.45a6.54 6.54 0 016.55-6.54zm17.45 0a6.55 6.55 0 11-6.55 6.54A6.55 6.55 0 0126 36.91zm17.45 0a6.55 6.55 0 11-6.54 6.54 6.54 6.54 0 016.54-6.54zM8.55 19.45A6.55 6.55 0 112 26a6.55 6.55 0 016.55-6.55zm17.45 0A6.55 6.55 0 1119.45 26 6.56 6.56 0 0126 19.45zm17.45 0A6.55 6.55 0 1136.91 26a6.55 6.55 0 016.54-6.55zM8.55 2A6.55 6.55 0 112 8.55 6.54 6.54 0 018.55 2zM26 2a6.55 6.55 0 11-6.55 6.55A6.55 6.55 0 0126 2zm17.45 0a6.55 6.55 0 11-6.54 6.55A6.55 6.55 0 0143.45 2z", + "fill-rule": "evenodd" + } + }, + knowledge_base: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "path": [{ + "d": "M9.5 35h13c.8 0 1.5-.7 1.5-1.5V10c0-1.7-1.8-3-3.2-3H9.5C8.7 7 8 7.7 8 8.5v25c0 .8.7 1.5 1.5 1.5z" + }, { + "d": "M49.2 11.6c-.6-.2-1.2.3-1.2 1v24.9c0 .8-.7 1.5-1.5 1.5h-41c-.8 0-1.5-.7-1.5-1.5V12.7c0-.7-.8-1.2-1.4-.9C1.1 12.5 0 14.1 0 16v23c0 2.2 1.8 4 4 4h16.5c.8 0 1.5.7 1.5 1.5s.7 1.5 1.5 1.5h5c.8 0 1.5-.7 1.5-1.5s.7-1.5 1.5-1.5H48c2.2 0 4-1.8 4-4V16c0-2.1-.7-3.9-2.8-4.4z" + }, { + "d": "M29.5 35h13c.8 0 1.5-.7 1.5-1.5v-25c0-.8-.7-1.5-1.5-1.5H31.2C29.7 7 28 8.3 28 10v23.5c0 .8.7 1.5 1.5 1.5z" + }] + } + }, + layers: { + "xmlns": "http://www.w3.org/2000/svg", + "path": [{ + "d": "M36 20c0-2.2-1.8-4-4-4H6c-2.2 0-4 1.8-4 4v26c0 2.2 1.8 4 4 4h26c2.2 0 4-1.8 4-4V20z" + }, { + "d": "M43 2H17c-3.9 0-7 3.1-7 7v3h26c2.2 0 4 1.8 4 4v26h3c3.9 0 7-3.1 7-7V9c0-3.9-3.1-7-7-7z" + }] + }, + layout: { + "xmlns": "http://www.w3.org/2000/svg", + "path": [{ + "d": "M48 50H4c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h44c1.1 0 2 .9 2 2v44c0 1.1-.9 2-2 2zM6 46h40V6H6v40z" + }, { + "d": "M39 20H13c-.6 0-1-.4-1-1v-6c0-.6.4-1 1-1h26c.6 0 1 .4 1 1v6c0 .6-.4 1-1 1zM19 40h-6c-.6 0-1-.4-1-1V27c0-.6.4-1 1-1h6c.6 0 1 .4 1 1v12c0 .6-.4 1-1 1zM39 40H27c-.6 0-1-.4-1-1V27c0-.6.4-1 1-1h12c.6 0 1 .4 1 1v12c0 .6-.4 1-1 1z" + }] + }, + leave_conference: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "path": [{ + "d": "M25.7 22.4c-.5.7-.2 1.7.6 2.2 1.6.9 3.4 1.9 4.9 3.3 2.5-1.9 5.5-3 8.8-3.2-1.1-1.9-3.4-3.2-5.8-4.3-2.3-1-2.8-1.9-2.8-3 0-1 .7-1.9 1.4-2.8 1.4-1.3 2.1-3.1 2.1-5.3.1-4-2.2-7.5-6.4-7.5-2.5 0-4.2 1.3-5.4 3.1 2.9 2.2 4.6 6 4.6 10.3-.1 2.8-.8 5.2-2 7.2zM31.8 34.7l6 6-6 6c-.6.6-.6 1.6 0 2.1l.7.7c.6.6 1.6.6 2.1 0l6-6 6 6c.6.6 1.6.6 2.1 0l.7-.7c.6-.6.6-1.6 0-2.1l-6-6 6-6c.6-.6.6-1.6 0-2.1l-.7-.7c-.6-.6-1.6-.6-2.1 0l-6 6-6-6c-.6-.6-1.6-.6-2.1 0l-.7.7c-.5.5-.5 1.5 0 2.1z" + }, { + "d": "M28.2 30.7c-1.4-1.4-3.5-2.3-5.6-3.3-2.6-1.1-3-2.2-3-3.3 0-1.1.7-2.3 1.6-3.1 1.5-1.5 2.3-3.6 2.3-6 0-4.5-2.6-8.4-7.2-8.4h-.5c-4.6 0-7.2 3.9-7.2 8.4 0 2.4.8 4.5 2.3 6 .9.8 1.6 1.9 1.6 3.1 0 1.1-.3 2.2-3 3.3-3.8 1.7-7.3 3.4-7.5 7 .2 2.5 1.9 4.4 4.1 4.4h18.6c.5-3.1 1.7-5.9 3.5-8.1z" + }] + } + }, + left: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M38 8.3v35.4c0 1-1.3 1.7-2.2.9L14.6 27.3c-.8-.6-.8-1.9 0-2.5L35.8 7.3c.9-.7 2.2-.1 2.2 1z" + } + }, + left_align: { + "xmlns": "http://www.w3.org/2000/svg", + "rect": [{ + "x": "2", + "y": "2", + "width": "6.4", + "height": "48", + "rx": "1.6" + }, { + "data-name": "Rectangle", + "x": "11.6", + "y": "18.8", + "width": "38.4", + "height": "14.16", + "rx": "3.2" + }] + }, + left_align_text: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M48 6.5c0-.8-.7-1.5-1.5-1.5h-41C4.7 5 4 5.7 4 6.5v3c0 .8.7 1.5 1.5 1.5h41c.8 0 1.5-.7 1.5-1.5v-3zM40 18.5c0-.8-.7-1.5-1.5-1.5h-33c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h33c.8 0 1.5-.7 1.5-1.5v-3zM40 42.5c0-.8-.7-1.5-1.5-1.5h-33c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h33c.8 0 1.5-.7 1.5-1.5v-3zM48 30.5c0-.8-.7-1.5-1.5-1.5h-41c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h41c.8 0 1.5-.7 1.5-1.5v-3z" + } + }, + level_down: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M8 11.9c0-.7-.7-1.5-1.5-1.5h-3c-.8 0-1.5.8-1.5 1.5v16.2c0 .8.8 1.6 1.5 1.6h33.2c.9 0 1.3 1 .7 1.7L31.8 37c-.6.6-.6 1.5 0 2.1l2.1 2.1c.6.6 1.5.6 2.1 0l13.6-13.5c.6-.6.6-1.5 0-2.1L36.1 12.1c-.6-.6-1.5-.6-2.1 0l-2.1 2.1c-.6.6-.6 1.5 0 2.1l5.6 5.6c.6.6.2 1.8-.7 1.8H9.5c-1.6 0-1.5-1.6-1.5-1.6V11.9z" + } + }, + level_up: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M3.5 44c-.7 0-1.5.7-1.5 1.5v3c0 .8.8 1.5 1.5 1.5h23.9c.8 0 1.6-.8 1.6-1.5V15.3c0-.9 1-1.3 1.7-.7l5.6 5.6c.6.6 1.5.6 2.1 0l2.1-2.1c.6-.6.6-1.5 0-2.1L27 2.4c-.6-.6-1.5-.6-2.1 0L11.4 15.9c-.6.6-.6 1.5 0 2.1l2.1 2.1c.6.6 1.5.6 2.1 0l5.6-5.6c.6-.6 1.8-.2 1.8.7v27.3c0 1.6-1.6 1.5-1.6 1.5H3.5z" + } + }, + light_bulb: { + "path": { + "d": "M24.12 2.69A16.11 16.11 0 009.69 17a15.9 15.9 0 005.85 13.65 4.92 4.92 0 011.87 3.82v.08a4 4 0 004.05 4h9a4 4 0 004.05-4v-.08a4.92 4.92 0 011.87-3.82 15.88 15.88 0 005.93-12.24C42.36 9.09 34 1.68 24.12 2.69zM33 43.16H19a1.56 1.56 0 00-1.56 1.56 4.69 4.69 0 004.68 4.68h7.8a4.69 4.69 0 004.68-4.68 1.56 1.56 0 00-1.6-1.56z" + } + }, + lightning_extension: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M47.6 37.6c-.5-.1-1.1-.1-1.6-.2-.1 0-.2-.1-.2-.2-.2-.6-.5-1.2-.7-1.7v-.3c.3-.4.7-.9 1-1.3.2-.3.2-.6-.1-.9l-1.8-1.8c-.1-.1-.3-.2-.4-.2s-.3.1-.4.2c-.4.3-.9.7-1.3 1-.1 0-.1.1-.1.1h-.1c-.6-.2-1.1-.5-1.7-.7-.1 0-.2-.1-.2-.2-.1-.5-.1-1-.2-1.5 0-.3-.1-.5-.4-.7-.1-.1-.2-.1-.2-.1h-2.6c-.2 0-.3 0-.4.1-.2.2-.4.4-.4.7 0 .5-.1 1-.2 1.5 0 .1-.1.2-.2.2-.6.2-1.1.5-1.7.7h-.1c-.1 0-.1 0-.2-.1-.4-.3-.8-.7-1.3-1-.1-.1-.2-.2-.4-.2s-.3.1-.5.2L29.4 33c-.3.3-.3.6-.1.9.3.4.7.8 1 1.3.1.1.1.2 0 .3-.2.6-.5 1.1-.7 1.7 0 .1-.1.2-.2.2-.5.1-1 .1-1.5.2-.3 0-.6.2-.7.5v3c.2.3.4.4.7.5.5 0 1 .1 1.5.2.1 0 .2.1.2.2.2.6.5 1.1.7 1.7 0 .1.1.2 0 .3-.3.4-.7.9-1 1.3-.2.3-.2.6.1.9l1.8 1.8c.2.2.3.2.5.2.1 0 .3-.1.4-.2.4-.3.8-.7 1.3-1 .1 0 .1-.1.2-.1h.1c.6.2 1.1.5 1.7.7.1 0 .2.1.2.2.1.5.1 1.1.2 1.6 0 .4.3.6.7.6H39c.4 0 .6-.2.7-.6.1-.5.1-1.1.2-1.6 0-.1.1-.2.2-.2.6-.2 1.2-.5 1.7-.7h.1s.1 0 .1.1c.4.3.9.7 1.3 1 .1.1.3.2.4.2.2 0 .3-.1.5-.2l1.8-1.8c.3-.3.3-.6.1-.9-.3-.4-.7-.8-1-1.3-.1-.1-.1-.2 0-.3.2-.6.5-1.1.7-1.7 0-.1.1-.2.2-.2.5-.1 1.1-.1 1.6-.2.4 0 .6-.3.6-.7v-2.5c0-.5-.2-.7-.6-.8zm-9.8 6s-.1 0 0 0c-2.3 0-4-1.8-4-4s1.8-4 4-4 4 1.8 4 4c-.1 2.2-1.9 4-4 4zM38.7 20.7c-.2-.8-.8-1.3-1.6-1.3h-9.6c-1.2 0-.6-1-.6-1 .2-.4.4-.7.5-1.1 2.2-4.3 4.3-8.6 6.5-12.9.8-1.2 0-2.4-1.4-2.4H14.6c-.9 0-1.3.3-1.7 1.1-3 7.6-6 15.1-8.9 22.7 0 .2-.1.4-.1.5-.1 1 .6 1.7 1.7 1.7h9.7c.7.1 2.1.4 1.4 2.2-1.2 3.1-2.4 6.1-3.6 9.2-1.2 2.8-2.3 5.6-3.4 8.4-.4 1 0 1.9 1 2.2.7.2 1.2-.1 1.7-.6 4-4.2 8-8.4 12-12.7.5-.5.9-1 1.4-1.5.6-.6.5-1.6.5-1.6 0-1 .3-1.9 1.1-2.7l1.8-1.8c.7-.7 1.6-1.1 2.6-1.1.7 0 1.1-.3 1.3-.4l.1-.1c1.7-1.8 3.5-3.7 5.2-5.5.3-.3.5-.8.3-1.3z" + } + }, + lightning_inspector: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M40.9 23.6h-.5v-.8c0-5-4.1-9.1-9.1-9.1-2.4 0-4.5.9-6.1 2.4-1.3-3.4-4.6-5.9-8.5-5.9-5 0-9.1 4.1-9.1 9.1 0 1.7.5 3.2 1.2 4.6-4 1-6.9 4.5-6.9 8.8 0 4.9 3.8 8.8 8.7 9h30.2c5 0 9.1-4.1 9.1-9.1s-4-9-9-9zm-24.6.8l7.8-3.7c.3-.2.8-.2 1.1 0l7.8 3.7c.5.2.5.8 0 1.1l-7.8 3.7c-.3.2-.8.2-1.1 0l-7.8-3.7c-.4-.2-.4-.9 0-1.1zm16.8 9.2l-7.8 3.7c-.3.2-.8.2-1.1 0l-7.8-3.7c-.5-.2-.5-.8 0-1.1l1-.5c.1-.1.3-.1.5 0l6.3 3c.3.2.8.2 1.1 0l6.2-3c.1-.1.3-.1.5 0l1 .5c.5.2.5.9.1 1.1zm0-4l-7.8 3.7c-.3.2-.8.2-1.1 0l-7.8-3.7c-.5-.2-.5-.8 0-1.1l1.1-.5c.1-.1.3-.1.5 0l6.2 3c.3.2.8.2 1.1 0l6.2-3c.1-.1.3-.1.5 0l1.1.5c.4.2.4.8 0 1.1z" + } + }, + like: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "path": { + "d": "M10.5 21h-5c-.8 0-1.5.7-1.5 1.5v23c0 .8.7 1.5 1.5 1.5H8c2.2 0 4-1.8 4-4V22.5c0-.8-.7-1.5-1.5-1.5zM44 22h-6c-2.2 0-4-1.8-4-4V8c0-2.2-1.8-4-4-4h-2.5c-.8 0-1.5.7-1.5 1.5v6c0 5.3-3.7 10.5-8.5 10.5-.8 0-1.5.7-1.5 1.5v20c0 .8.6 1.5 1.4 1.5 6.8.3 9.1 3 16.2 3 7.5 0 14.4-.8 14.4-9.5V26c0-2.2-1.8-4-4-4z" + } + } + }, + link: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "path": [{ + "d": "M27.2 41.7l-2.1-.3c-.7-.1-1.4-.3-2.1-.6-.4-.1-.9 0-1.2.3l-.5.5c-2.9 2.9-7.6 3.2-10.6.6-3.4-2.9-3.5-8.1-.4-11.2l7.6-7.6c1-1 2.2-1.6 3.4-2 1.6-.4 3.3-.3 4.8.3.9.4 1.8.9 2.6 1.7.4.4.7.8 1 1.3.4.7 1.3.8 1.8.2l2.8-2.8c.4-.4.4-1 .1-1.5-.4-.6-.9-1.1-1.4-1.6-.7-.7-1.5-1.4-2.4-1.9-1.4-.9-3-1.5-4.7-1.8-3.1-.6-6.5-.1-9.3 1.4-1.1.6-2.2 1.4-3.1 2.3l-7.3 7.3C.9 31.6.5 40.2 5.6 45.6c5.3 5.8 14.3 5.9 19.8.4l2.5-2.5c.7-.5.2-1.7-.7-1.8z" + }, { + "d": "M45.6 5.8c-5.5-5.1-14.1-4.7-19.3.6L24 8.6c-.7.7-.2 1.9.7 2 1.4.1 2.8.4 4.2.8.4.1.9 0 1.2-.3l.5-.5c2.9-2.9 7.6-3.2 10.6-.6 3.4 2.9 3.5 8.1.4 11.2L34 28.8c-1 1-2.2 1.6-3.4 2-1.6.4-3.3.3-4.8-.3-.9-.4-1.8-.9-2.6-1.7-.4-.4-.7-.8-1-1.3-.4-.7-1.3-.8-1.8-.2l-2.8 2.8c-.4.4-.4 1-.1 1.5.4.6.9 1.1 1.4 1.6.7.7 1.6 1.4 2.4 1.9 1.4.9 3 1.5 4.6 1.8 3.1.6 6.5.1 9.3-1.4 1.1-.6 2.2-1.4 3.1-2.3l7.6-7.6c5.6-5.5 5.4-14.5-.3-19.8z" + }] + } + }, + linked: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M17.3 36.1l-1.1-1.4s-.7-1-.9-1.6c-.2-.3-.5-.5-.9-.5h-.6c-3.5 0-6.5-2.6-6.7-6-.3-3.8 2.8-6.9 6.5-6.9h9.1c1.2 0 2.3.4 3.2.8 1.2.7 2.2 1.8 2.7 3.1.3.8.5 1.6.5 2.6 0 .5-.1.9-.2 1.4-.2.7.3 1.3 1 1.2h3.4c.5 0 .8-.4 1-.8.1-.6.1-1.2.1-1.8 0-.8-.1-1.7-.3-2.6-.3-1.4-.9-2.7-1.7-3.9-1.5-2.2-3.8-4-6.4-4.7-1-.3-2.2-.5-3.2-.5H14c-6.3 0-11.7 4.9-11.9 11.2-.3 6.6 5 12.1 11.6 12.1h3c.7-.1 1.1-1.1.6-1.7zm32.6-10.5c-.2-6.3-5.6-11.3-11.9-11.2l-2.7-.1c-.8 0-1.3 1-.8 1.6.8.9 1.4 1.9 2 3 .2.3.5.5.9.5h.6c3.5 0 6.5 2.6 6.7 6 .3 3.8-2.8 6.9-6.5 6.9h-9.1c-1.2 0-2.3-.4-3.2-.8-1.2-.7-2.2-1.8-2.7-3.1-.3-.8-.5-1.6-.5-2.6 0-.5.1-.9.2-1.4.2-.7-.3-1.3-1-1.2h-3.4c-.5 0-.8.4-1 .8-.1.6-.1 1.2-.1 1.8 0 .8.1 1.8.3 2.6.3 1.4.9 2.7 1.7 3.8 1.5 2.2 3.8 4 6.4 4.7 1 .3 2.2.5 3.2.5h9.1c6.7.3 12-5.2 11.8-11.8z" + } + }, + list: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "path": { + "d": "M8 10.5C8 9.7 7.3 9 6.5 9h-3C2.7 9 2 9.7 2 10.5v3c0 .8.7 1.5 1.5 1.5h3c.8 0 1.5-.7 1.5-1.5v-3zM50 10.5c0-.8-.7-1.5-1.5-1.5h-35c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h35c.8 0 1.5-.7 1.5-1.5v-3zM8 24.5c0-.8-.7-1.5-1.5-1.5h-3c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h3c.8 0 1.5-.7 1.5-1.5v-3zM46 24.5c0-.8-.7-1.5-1.5-1.5h-31c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h31c.8 0 1.5-.7 1.5-1.5v-3zM8 38.5c0-.8-.7-1.5-1.5-1.5h-3c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h3c.8 0 1.5-.7 1.5-1.5v-3zM50 38.5c0-.8-.7-1.5-1.5-1.5h-35c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h35c.8 0 1.5-.7 1.5-1.5v-3z" + } + } + }, + listen: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M50.6 30.2C50.6 15.8 39.7 4 26.2 4S1.7 15.8 1.7 30.2c0 3.4.6 6.8 1.8 10 1.4 3.9 4.9 6.7 9.1 6.8 1.2 0 2.2-1 2.2-2.2V32.3c0-1.2-1-2.2-2.2-2.2-2.2 0-4.3.8-5.9 2-.1-.7-.1-1.3-.1-2 0-11.8 8.8-21.3 19.6-21.3s19.6 9.6 19.6 21.3c0 .7 0 1.4-.1 2-1.6-1.3-3.6-2.1-5.9-2.1-1.2 0-2.2 1-2.2 2.2v12.4c0 1.2 1 2.2 2.2 2.2 2.4 0 4.9-.9 6.5-2.7 1.7-1.8 2.5-3.8 3.2-6.2.7-2.4 1.1-5 1.1-7.7z" + } + }, + live_message: { + "xmlns": "http://www.w3.org/2000/svg", + "path": [{ + "d": "M46 2H22c-2.2 0-4 1.8-4 4v.1c3.6.4 6.9 1.7 9.6 3.8h14.8c.8 0 1.6.8 1.6 1.6v27c0 .8-.8 1.4-1.6 1.4h-17c-.8 0-1.4-.6-1.4-1.4v-.1c0-.1-.1-.3-.2-.3-1.7.8-3.6 1.3-5.5 1.5-.2.2-.3.4-.3.9v5.4c0 2.2 1.7 4 3.9 4h24c2.2 0 4.1-1.8 4.1-4V6c0-2.2-1.8-4-4-4zM34 48c-1.7 0-3-1.3-3-3s1.3-3 3-3 3 1.3 3 3-1.3 3-3 3z" + }, { + "d": "M2 22.9C2 30 8.3 35.7 15.9 35.8c2.7 0 5.2-.7 7.3-1.9.4-.2.7-.2 1-.1l5 1.9c.5.1.9-.3.8-.8l-1.8-5c-.1-.4-.1-.7.1-1 1.1-1.9 1.7-4 1.7-6.2 0-7-6.2-12.7-14-12.7-7.7 0-13.9 5.7-14 12.9z" + }] + }, + location: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M48.8 9.5L34.4 2.3c-.7-.3-1.5-.3-2.1 0L19 9 5.6 2.3c-.8-.4-1.8-.4-2.5.1-.7.4-1.1 1.2-1.1 2v36c0 .9.5 1.7 1.3 2.1l14.4 7.2c.7.3 1.5.3 2.1 0L33.2 43l13.3 6.7c.3.2.7.3 1.1.3.4 0 .9-.1 1.3-.4.7-.4 1.1-1.2 1.1-2v-36c0-.9-.4-1.7-1.2-2.1zM45 14.1v19c0 1.1-1 1.9-2 1.5-3.7-1.4-.7-7.6-3.4-11-2.5-3.1-5.7.1-8.8-4.8-2.9-4.7 1-8.1 4.6-9.9.5-.2 1-.2 1.4 0l7.4 3.7c.6.3.8.9.8 1.5zM24.9 41.9c-.6.3-1.3.2-1.8-.2-1-.9-1.8-2.3-1.8-3.7 0-2.4-4-1.6-4-6.4 0-3.9-4.6-4.9-8.5-4.5-1 .1-1.7-.6-1.7-1.6V10.9c0-1.2 1.2-2 2.2-1.4l8.6 4.3c.1 0 .2.1.2.1l.3.2c3.6 2.1 2.9 3.8 1.4 6.4-1.7 2.9-2.4 0-4.8-.8s-4.8.8-4 2.4 3.2 0 4.8 1.6 1.6 4 6.4 2.4 5.6-.8 7.2.8c1.6 1.6 2.4 4.8 0 7.2-1.4 1.4-2 4.4-2.6 6.4-.1.4-.4.8-.8 1l-1.1.4z" + } + }, + location_permit: { + "xmlns": "http://www.w3.org/2000/svg", + "path": [{ + "d": "M39.18 11.4l-9.12-9.12a1.1 1.1 0 00-.71-.28 1 1 0 00-1 1v7.26A2.71 2.71 0 0031.06 13h7.26a1 1 0 001-1c.14-.17.14-.31-.14-.6zm.28 7.26A1.42 1.42 0 0038 17.24h-9.65a4.13 4.13 0 01-4.13-4.13V3.42A1.42 1.42 0 0022.8 2H9a4.13 4.13 0 00-4.15 4.13v33.19A4.13 4.13 0 009 43.45h14.1c1.14 0 1.42-.71 1.28-2a13.94 13.94 0 013-10.25c3.42-4 9.12-4.27 10-4.27s2.28 0 2.14-1.29zm-29.77-8l3.42-.43a.14.14 0 00.14-.14L14.82 7a.42.42 0 01.57 0L17 10.12l.14.14 3.42.43a.28.28 0 01.14.43l-2.57 2.56V14l.57 3.42c0 .15-.14.43-.42.29l-3-1.57H15l-3 1.57c-.14.14-.43 0-.43-.29L12 14v-.28l-2.59-2.46a1.09 1.09 0 01.28-.57zm12.54 23.25a1.43 1.43 0 01-1.43 1.42h-9a1.43 1.43 0 01-1.43-1.42v-1.43a1.43 1.43 0 011.43-1.42h9a1.43 1.43 0 011.43 1.42zm7.54-8.41a1.43 1.43 0 01-1.42 1.43H11.83a1.43 1.43 0 01-1.43-1.43v-1.42a1.43 1.43 0 011.43-1.43h16.66a1.43 1.43 0 011.43 1.43v1.42zM37.32 37a2 2 0 102 2 2.14 2.14 0 00-2-2z" + }, { + "data-name": "Shape", + "d": "M37.32 30.34a9.83 9.83 0 109.83 9.83 10 10 0 00-9.83-9.83zM37.61 46a.44.44 0 01-.61 0c-1-.85-4.42-3.7-4.42-7A4.7 4.7 0 0142 39c-.12 3.31-3.39 6.16-4.39 7z" + }] + }, + lock: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "path": { + "d": "M11 19h4c.6 0 1-.3 1-.9V18c0-5.7 4.9-10.4 10.7-10 5.3.4 9.3 5 9.3 10.4v-.3c0 .6.4.9 1 .9h4c.6 0 1-.3 1-.9V18c0-9.1-7.6-16.4-16.8-16-8.5.4-15 7.6-15.2 16.1.1.5.5.9 1 .9zM10 18.1v0zM46 27c0-2.2-1.8-4-4-4H10c-2.2 0-4 1.8-4 4v19c0 2.2 1.8 4 4 4h32c2.2 0 4-1.8 4-4V27zM30.6 42.7c.2.6-.3 1.3-1 1.3h-7.3c-.7 0-1.1-.6-1-1.3l1.8-6c-1.5-1-2.4-2.8-2.1-4.8.4-1.9 1.9-3.4 3.9-3.8 3.2-.6 6 1.7 6 4.7 0 1.6-.8 3.1-2.1 3.9l1.8 6z" + } + } + }, + locker_service_api_viewer: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "path": { + "d": "M18 38.5c0 .8.7 1.5 1.5 1.5h2.6c-.1-.7-.1-1.3-.1-2 0-1.4.2-2.7.5-4h-3c-.8 0-1.5.7-1.5 1.5v3zM28.5 14h-9c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h9c.8 0 1.5-.7 1.5-1.5v-3c0-.8-.7-1.5-1.5-1.5zM3.5 10h41c.8 0 1.5-.7 1.5-1.5v-5c0-.8-.7-1.5-1.5-1.5h-41C2.7 2 2 2.7 2 3.5v5c0 .8.7 1.5 1.5 1.5zM44.5 20c.8 0 1.5-.7 1.5-1.5v-3c0-.8-.7-1.5-1.5-1.5h-9c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h9zM18 28.5c0 .8.7 1.5 1.5 1.5h4.6c1.3-2.3 3.2-4.2 5.4-5.6-.3-.3-.6-.4-1-.4h-9c-.8 0-1.5.7-1.5 1.5v3zM12.5 14h-9c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h9c.8 0 1.5-.7 1.5-1.5v-3c0-.8-.7-1.5-1.5-1.5zM23.1 44h-3.6c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h7.9c-1.9-1.6-3.3-3.7-4.3-6zM12.5 34h-9c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h9c.8 0 1.5-.7 1.5-1.5v-3c0-.8-.7-1.5-1.5-1.5zM12.5 44h-9c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h9c.8 0 1.5-.7 1.5-1.5v-3c0-.8-.7-1.5-1.5-1.5zM12.5 24h-9c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h9c.8 0 1.5-.7 1.5-1.5v-3c0-.8-.7-1.5-1.5-1.5zM37.9 26.1c-6.6 0-12 5.4-12 12s5.4 12 12 12 12-5.4 12-12-5.4-12-12-12zm7.9 8.5l-9.6 9.7c-.2.2-.5.2-.7 0l-5.6-5.6c-.2-.2-.2-.5 0-.7l2.1-2.1c.2-.2.5-.2.7 0l2.9 2.9c.1.1.4.1.5 0l6.9-7c.2-.2.5-.2.7 0l2.1 2.1c.3.2.3.5 0 .7z" + } + } + }, + locker_service_console: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M47.7 9.1c-.9-2.2-2-4.2-3.3-6.1-.6-.8-1.7-.9-2.3-.2-1.9 1.8-4.6 2.8-7.4 2.8-3 0-5.7-1.2-7.7-3.2-.6-.6-1.6-.6-2.2 0-2 2-4.7 3.2-7.7 3.2-2.8 0-5.4-1-7.4-2.8-.7-.6-1.8-.5-2.3.2C6.1 4.8 5 6.9 4.1 9.1c0 0-2.4 4.9-2 13V22.9c0 .4.1.8.1 1.2v.1C3.6 37.6 13.5 48.3 26 50c12.6-1.8 22.4-12.5 23.8-25.9v-.3c0-.2 0-.5.1-.8.7-8.6-2.2-13.9-2.2-13.9zm-6.8 10.3L24.3 36.3c-.4.4-.9.4-1.3 0l-9.7-9.8c-.4-.4-.4-.9 0-1.3l1.3-1.3c.4-.4.9-.4 1.3 0l7.3 7.4c.2.2.6.2.9 0l14.3-14.4c.4-.4.9-.4 1.3 0l1.3 1.3c.3.3.3.9-.1 1.2z" + } + }, + log_a_call: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M43 2H13.5c-2.6 0-4.8 2.4-4.8 4.8v1.6H7.1C5.4 8.4 4 9.8 4 11.6s1.4 3.2 3.1 3.2h1.6v8H7.1C5.4 22.8 4 24.2 4 26s1.4 3.2 3.1 3.2h1.6v8H7.1c-1.7 0-3.1 1.4-3.1 3.2 0 1.8 1.4 3.2 3.1 3.2h1.6v1.6c0 2.4 2.2 4.8 4.8 4.8H43c2.6 0 5-2.4 5-5V6.6C48 3.9 45.6 2 43 2zm-2.8 32.2L38 36.5c-.5.5-1.2.8-1.8.7-5.2-.3-10-2.7-13.5-6.2s-5.8-8.5-6.1-13.8c0-.7.2-1.4.7-1.8l2.2-2.2c1-1 2.7-1 3.6.2l2 2.6c.7.9.7 2.1.1 3l-1.7 2.5c-.2.3-.2.8.1 1l3.6 4.1 4 3.7c.3.3.7.3 1 .1l2.4-1.8c.9-.6 2.1-.6 3 .1l2.5 2.1c1.1.6 1.1 2.4.1 3.4z" + } + }, + logout: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "path": [{ + "d": "M21 48.5v-3c0-.8-.7-1.5-1.5-1.5h-10c-.8 0-1.5-.7-1.5-1.5v-33C8 8.7 8.7 8 9.5 8h10c.8 0 1.5-.7 1.5-1.5v-3c0-.8-.7-1.5-1.5-1.5H6C3.8 2 2 3.8 2 6v40c0 2.2 1.8 4 4 4h13.5c.8 0 1.5-.7 1.5-1.5z" + }, { + "d": "M49.6 27c.6-.6.6-1.5 0-2.1L36.1 11.4c-.6-.6-1.5-.6-2.1 0l-2.1 2.1c-.6.6-.6 1.5 0 2.1l5.6 5.6c.6.6.2 1.7-.7 1.7H15.5c-.8 0-1.5.6-1.5 1.4v3c0 .8.7 1.6 1.5 1.6h21.2c.9 0 1.3 1.1.7 1.7l-5.6 5.6c-.6.6-.6 1.5 0 2.1l2.1 2.1c.6.6 1.5.6 2.1 0L49.6 27z" + }] + } + }, + loop: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M47.2 32.6c0 .1 0 .1-.1.2-.3.9-.5 1.8-.9 2.6-.4.9-.8 1.9-1.3 2.7-1 1.8-2.2 3.4-3.6 4.8s-3 2.7-4.7 3.7c-1.7 1-3.6 1.9-5.6 2.4-2 .6-4.1.8-6.2.8C12.3 50 2 39.7 2 27.1S12.3 4.2 24.9 4.2c4.3 0 8.3 1.2 11.7 3.2 1.7 1 3.2 2.2 4.5 3.5.4.3.7.6 1 1 .8.6 1.3.2 1.3-.8V3.6c0-.8.8-1.6 1.6-1.6h3.2c.9 0 1.6.8 1.7 1.6v19.6c0 .8-.6 1.4-1.4 1.4H28.9c-.9 0-1.5-.6-1.5-1.5v-3.3c0-.9.8-1.6 1.6-1.6h7.5c.6 0 1.2-.2 1.4-.5-2.9-4-7.6-6.6-13-6.6-8.9 0-16 7.2-16 16s7.2 16 16 16c7 0 12.9-4.4 15.1-10.6 0 0 .3-1.4 1.4-1.4H46c.7 0 1.3.5 1.3 1.2-.1.1-.1.2-.1.3z" + } + }, + lower_flag: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M6.6 2h-3c-.8 0-1.5.7-1.5 1.5v45c0 .8.7 1.5 1.5 1.5h3c.8 0 1.5-.7 1.5-1.5v-45c0-.8-.7-1.5-1.5-1.5zM40.6 24.6c2.7 0 5.2.7 7.5 1.9V6.6c0-.7-.8-1.2-1.5-.8-16 8.4-14.2-8.8-33.5-2.1-.6.2-1 .8-1 1.4v23.3c0 .7.7 1.2 1.3.9 7.7-2.6 11.9-1.3 15.4.6 2.9-3.3 7.1-5.3 11.8-5.3zM31.8 34.6l6 6-6 6c-.6.6-.6 1.6 0 2.1l.7.7c.6.6 1.6.6 2.1 0l6-6 6 6c.6.6 1.6.6 2.1 0l.7-.7c.6-.6.6-1.6 0-2.1l-6-6 6-6c.6-.6.6-1.6 0-2.1l-.7-.7c-.6-.6-1.6-.6-2.1 0l-6 6-6-6c-.6-.6-1.6-.6-2.1 0l-.7.7c-.6.5-.6 1.5 0 2.1z" + } + }, + macros: { + "xmlns": "http://www.w3.org/2000/svg", + "path": [{ + "d": "M37.2 40.2c-.2.4-.6.5-1 .5h-4.7c-.4 0-.7-.3-.7-.7 0-.1.1-.3.1-.4l.1-.1.2-.2 10.3-12.5c.3-.4.4-1 .2-1.4 0-.1-.1-.2-.1-.2L30.9 12.5c-.1-.1-.1-.3-.1-.4 0-.4.4-.7.7-.7h4.7c.4 0 .8.1 1 .5l11.1 13.4c.2.2.2.5.2.7 0 .3-.1.6-.2.8L37.2 40.2z" + }, { + "d": "M25.6 40.2c-.2.4-.6.5-1 .5h-4.7c-.4 0-.7-.3-.7-.7 0-.1.1-.3.1-.4l.1-.1.2-.2 10.3-12.5c.3-.4.4-1 .2-1.4 0-.1-.1-.2-.1-.2L19.3 12.5c-.1-.1-.1-.3-.1-.4 0-.4.4-.7.7-.7h4.7c.4 0 .8.1 1 .5l11.1 13.4c.2.2.2.5.2.7 0 .3-.1.6-.2.8L25.6 40.2z" + }, { + "d": "M14 40.2c-.2.4-.6.5-1 .5H4.2c-.4 0-.7-.3-.7-.7 0-.1.1-.3.1-.4l.1-.1.2-.2 10.3-12.5c.3-.4.4-1 .2-1.4 0-.1-.1-.2-.1-.2L3.6 12.5c-.1-.1-.1-.3-.1-.4 0-.4.4-.7.7-.7h8.7c.4 0 .8.1 1 .5L25 25.3c.2.2.2.5.2.7 0 .3-.1.6-.2.8L14 40.2z" + }] + }, + magicwand: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "path": { + "d": "M28.2 21c-.4-.4-1-.4-1.4 0L2.9 44.9c-1.2 1.2-1.2 3 0 4.2 1.2 1.2 3 1.2 4.2 0L31 25.2c.4-.4.4-1 0-1.4L28.2 21zM35.2 21l3.2-3.2c.6-.6.6-1.5 0-2.1l-2.1-2.1c-.6-.6-1.5-.6-2.1 0L31 16.8c-.4.4-.4 1 0 1.4l2.8 2.8c.4.4 1 .4 1.4 0zM10.4 11.6c3.8 1.2 6.8 4.1 8 8 .2.6 1 .6 1.2 0 1.2-3.8 4.1-6.8 8-8 .6-.2.6-1 0-1.2-3.8-1.2-6.8-4.1-8-8-.2-.6-1-.6-1.2 0-1.2 3.8-4.1 6.8-8 8-.5.2-.5 1 0 1.2zM49.6 30.5c-3.4-1.1-6-3.7-7.1-7.1-.2-.5-.9-.5-1.1 0-1.1 3.4-3.7 6-7.1 7.1-.5.2-.5.9 0 1.1 3.4 1.1 6 3.7 7.1 7.1.2.5.9.5 1.1 0 1.1-3.4 3.7-6 7.1-7.1.5-.2.5-1 0-1.1zM38.3 8.4c2.6.8 4.5 2.7 5.3 5.3.1.4.7.4.8 0 .8-2.6 2.7-4.5 5.3-5.3.4-.1.4-.7 0-.8-2.6-.8-4.5-2.7-5.3-5.3-.1-.4-.7-.4-.8 0-.8 2.6-2.7 4.5-5.3 5.3-.4.1-.4.7 0 .8z" + } + } + }, + mark_all_as_read: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M24 7l-1.7-1.7c-.5-.5-1.2-.5-1.7 0L10 15.8l-4.3-4.2c-.5-.5-1.2-.5-1.7 0l-1.7 1.7c-.5.5-.5 1.2 0 1.7l5.9 5.9c.5.5 1.1.7 1.7.7.6 0 1.2-.2 1.7-.7L24 8.7c.4-.4.4-1.2 0-1.7zM48.4 18.4H27.5c-.9 0-1.6-.7-1.6-1.6v-3.2c0-.9.7-1.6 1.6-1.6h20.9c.9 0 1.6.7 1.6 1.6v3.2c0 .9-.7 1.6-1.6 1.6zM48.4 32.7H9.8c-.9 0-1.6-.7-1.6-1.6v-3.2c0-.9.7-1.6 1.6-1.6h38.6c.9 0 1.6.7 1.6 1.6v3.2c0 .9-.7 1.6-1.6 1.6zM48.4 47H9.8c-.9 0-1.6-.7-1.6-1.6v-3.2c0-.9.7-1.6 1.6-1.6h38.6c.9 0 1.6.7 1.6 1.6v3.2c0 .9-.7 1.6-1.6 1.6z" + } + }, + matrix: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M48 3.5c0-.8-.7-1.5-1.5-1.5h-31c-.8 0-1.5.7-1.5 1.5v5c0 .8.7 1.5 1.5 1.5h31c.8 0 1.5-.7 1.5-1.5v-5zM10 15.5c0-.8-.7-1.5-1.5-1.5h-3c-.8 0-1.5.7-1.5 1.5v13c0 .8.7 1.5 1.5 1.5h3c.8 0 1.5-.7 1.5-1.5v-13zM10 35.5c0-.8-.7-1.5-1.5-1.5h-3c-.8 0-1.5.7-1.5 1.5v13c0 .8.7 1.5 1.5 1.5h3c.8 0 1.5-.7 1.5-1.5v-13zM29 15.5c0-.8-.7-1.5-1.5-1.5h-12c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h12c.8 0 1.5-.7 1.5-1.5v-3zM48 15.5c0-.8-.7-1.5-1.5-1.5h-12c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h12c.8 0 1.5-.7 1.5-1.5v-3zM29 25.5c0-.8-.7-1.5-1.5-1.5h-12c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h12c.8 0 1.5-.7 1.5-1.5v-3zM48 25.5c0-.8-.7-1.5-1.5-1.5h-12c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h12c.8 0 1.5-.7 1.5-1.5v-3zM29 35.5c0-.8-.7-1.5-1.5-1.5h-12c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h12c.8 0 1.5-.7 1.5-1.5v-3zM48 35.5c0-.8-.7-1.5-1.5-1.5h-12c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h12c.8 0 1.5-.7 1.5-1.5v-3zM29 45.5c0-.8-.7-1.5-1.5-1.5h-12c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h12c.8 0 1.5-.7 1.5-1.5v-3zM48 45.5c0-.8-.7-1.5-1.5-1.5h-12c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h12c.8 0 1.5-.7 1.5-1.5v-3z" + } + }, + meet_content_source: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "path": [{ + "d": "M46.31 7.54H5.69A3.69 3.69 0 002 11.23v29.54a3.69 3.69 0 003.69 3.69h40.62A3.69 3.69 0 0050 40.77V11.23a3.69 3.69 0 00-3.69-3.69zm0 32.31a.93.93 0 01-.93.92H6.62a.93.93 0 01-.93-.92V14a.93.93 0 01.93-.92h38.76a.93.93 0 01.93.92z" + }, { + "d": "M26.52 17a.7.7 0 00-1-.1.47.47 0 00-.1.1l-6.57 7.12a.88.88 0 000 1.19L20 26.52a.71.71 0 001 .1l.1-.1 2.42-2.61a.57.57 0 01.81 0 .56.56 0 01.15.37v10.16a.8.8 0 00.72.85h1.59a.87.87 0 00.83-.85V24.26a.53.53 0 01.9-.4l2.42 2.66a.87.87 0 001.15 0l1.1-1.18a.88.88 0 000-1.19z" + }] + } + }, + meet_focus_content: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M9.9 27.41a4.29 4.29 0 014.29 4.29v.38a4.47 4.47 0 01-1.42 3.35 2.48 2.48 0 00-.94 1.81c0 .58.24 1.16 1.5 1.81l1.29.58c1.81.89 3.39 1.81 3.44 3.62A2.39 2.39 0 0116 45.52H4.05a2.39 2.39 0 01-2.3-2.45c0-1.72 1.59-2.73 3.44-3.62l.67-.29.33-.16C7.76 38.35 8 37.78 8 37.2a2.73 2.73 0 00-.94-1.81A4.46 4.46 0 015.64 32a4.3 4.3 0 013.94-4.62zM46.13 7.48a3.62 3.62 0 013.62 3.62v27.17a3.63 3.63 0 01-3.62 3.63H20.64A5.43 5.43 0 0018 38.27h27.15a.9.9 0 00.9-.9V13.82a.9.9 0 00-.9-.9H8.92a.9.9 0 00-.9.9H8v11.09a6.51 6.51 0 00-3.63 2.37V11.1A3.63 3.63 0 018 7.48z", + "fill-rule": "evenodd" + } + }, + meet_focus_equal: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M46.31 11.23A3.69 3.69 0 0150 14.92v22.16a3.69 3.69 0 01-3.69 3.69H19.43a5.65 5.65 0 005.28-3.69h20.67a.93.93 0 00.93-.93V17.69a.93.93 0 00-.93-.92H19a7.75 7.75 0 00-6.8-3.69h-.42a3.7 3.7 0 013.19-1.85zm-34.16 4.62a5.28 5.28 0 015.34 5.22 4.18 4.18 0 010 .5 5.44 5.44 0 01-1.75 4.1 2.94 2.94 0 00-1.18 2.18c0 .7.31 1.4 1.84 2.16l1.07.48.7.33.69.33c1.84 1 3.36 2.16 3.41 3.93a2.93 2.93 0 01-2.6 3H4.88a2.92 2.92 0 01-2.88-3V35c0-2 1.74-3.18 3.82-4.17l.67-.3 1-.44c2-.83 2.23-1.52 2.23-2.33a3.25 3.25 0 00-1.18-2.1 5.41 5.41 0 01-1.84-4.1 5.28 5.28 0 014.81-5.71 5.86 5.86 0 01.64 0z", + "fill-rule": "evenodd" + } + }, + meet_focus_presenter: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "fill-rule": "evenodd", + "path": { + "d": "M47.6 27.92H32.27a2.86 2.86 0 00-2.87 2.87v11.5a2.87 2.87 0 002.87 2.88H47.6a2.88 2.88 0 002.88-2.88v-11.5a2.87 2.87 0 00-2.88-2.87zm1 14.37a1 1 0 01-1 1H32.27a1 1 0 01-1-1v-9.58a1 1 0 011-1H47.6a1 1 0 011 1zM27.48 16.74c0-5.31-3.13-9.91-8.63-9.91s-8.62 4.6-8.62 9.91a9.71 9.71 0 002.82 7.08A5.71 5.71 0 0115 27.48c0 1.41-.46 2.58-3.6 4-4.49 2-8.76 4.26-8.87 8.49a4.91 4.91 0 004.64 5.19h20.12a5.73 5.73 0 01-.77-2.88V31.6l-.25-.12c-3-1.42-3.6-2.7-3.6-4a5.27 5.27 0 011.91-3.66 9.75 9.75 0 002.9-7.08z" + } + } + }, + meet_present_panel: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "path": { + "d": "M31.54 4H10.17a4.15 4.15 0 00-4 3.93H4.82a2.69 2.69 0 00-2.69 2.68 2.62 2.62 0 002.67 2.53h1.34v5.33H4.82a2.62 2.62 0 10-.44 5.23 1.62 1.62 0 00.44 0h1.32V29H4.82a2.68 2.68 0 00-2.69 2.65 2.63 2.63 0 002.63 2.63h1.38a3.67 3.67 0 003.39 3.94 3.42 3.42 0 00.64 0H26V37a13.46 13.46 0 019.56-13V7.88A4 4 0 0031.54 4zm-8.62 25.68A1.35 1.35 0 0121.53 31H13.6a1.36 1.36 0 01-1.43-1.29v-1.34a1.37 1.37 0 011.41-1.31h7.91a1.35 1.35 0 011.43 1.28v1.33zm5.14-7.94c0 .73-.77 1.3-1.83 1.3h-12.3c-1 0-1.83-.57-1.83-1.3v-1.25c0-.74.77-1.31 1.83-1.31H26.3c1 0 1.84.57 1.84 1.31zm3.15-7.94a1.45 1.45 0 01-1.58 1.3H13.75a1.45 1.45 0 01-1.58-1.3v-1.31a1.45 1.45 0 011.57-1.32h16a1.45 1.45 0 011.58 1.31zM49.77 32.23a1.3 1.3 0 00-1.23-1.32H37.9a1.3 1.3 0 00-.9.36 1.34 1.34 0 00-.37.74v1.52a1.27 1.27 0 001.23 1.31h5.51l-9.74 10a1.34 1.34 0 000 1.84l.89.92a1.34 1.34 0 001 .4 1.18 1.18 0 00.83-.35l9.74-10.05v5.51a1.3 1.3 0 00.36.94 1.24 1.24 0 00.9.39h1.36a1.21 1.21 0 00.92-.37 1.36 1.36 0 00.37-.7v-.17z" + } + } + }, + merge: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M42.3 44c-5.6-2.7-9.6-7.5-11.6-13-.8-2-1.3-4.3-1.5-6.3v-3.5H40c.8 0 1.4-.9.8-1.8l-14.2-17c-.5-.6-1.6-.6-2 0l-13.8 17c-.5.6 0 1.8.8 1.8h10.9v3.5c-.3 2.1-.8 4.4-1.5 6.3-2 5.5-6 10.3-11.6 13-.8.3-1.1 1.3-.8 2l1.3 3.1c.4.8 1.3 1.1 2.1.6 6-2.9 10.8-7.5 13.7-13 3 5.5 7.7 10.1 13.8 13 .8.4 1.8.3 2.1-.6l1.3-3.1c.6-.7.2-1.6-.6-2z" + } + }, + merge_field: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M16.5 39.9h-.7c-2.3 0-3.2-1.3-3.2-3.5 0-1 .1-1.9.3-2.9.2-1 .3-2 .3-3.1 0-2.6-1.1-4-2.9-4.4 1.8-.5 2.9-1.8 2.9-4.4 0-1.1-.1-2.1-.3-3.1-.2-1-.3-1.9-.3-2.9 0-2.2.8-3.5 3.2-3.5h.7c.6 0 1.1-.5 1.1-1.1 0-.6-.5-1.1-1.1-1.1h-3.8c-3.4 0-5.9 1.6-5.9 5.3 0 1.1.2 2.2.3 3.4.2 1.1.3 2.3.3 3.4 0 1.3-.3 2.7-2.5 2.9h-.1c-.6 0-1.1.5-1.1 1.1s.5 1 1.1 1.1H5c2.2.3 2.5 1.8 2.5 2.9 0 1.1-.2 2.2-.3 3.3s-.3 2.2-.3 3.3c0 4.1 2.5 5.5 5.9 5.5h3.8c.6 0 1.1-.5 1.1-1.1-.1-.6-.6-1.1-1.2-1.1zM35.5 39.9h.7c2.3 0 3.2-1.3 3.2-3.5 0-1-.1-1.9-.3-2.9-.2-1-.3-2-.3-3.1 0-2.6 1.1-4 2.9-4.4-1.8-.5-2.9-1.8-2.9-4.4 0-1.1.1-2.1.3-3.1.2-1 .3-1.9.3-2.9 0-2.2-.8-3.5-3.2-3.5h-.7c-.6 0-1.1-.5-1.1-1.1 0-.6.5-1.1 1.1-1.1h3.8c3.4 0 5.9 1.6 5.9 5.3 0 1.1-.2 2.2-.3 3.4-.2 1.1-.3 2.3-.3 3.4 0 1.3.3 2.7 2.5 2.9h.1c.6 0 1.1.5 1.1 1.1s-.5 1-1.1 1.1H47c-2.2.3-2.5 1.8-2.5 2.9 0 1.1.2 2.2.3 3.3s.3 2.2.3 3.3c0 4.1-2.5 5.5-5.9 5.5h-3.8c-.6 0-1.1-.5-1.1-1.1.1-.6.6-1.1 1.2-1.1z" + } + }, + metrics: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M44.9 2H7.1C4.3 2 2 4.3 2 7.1v37.7C2 47.7 4.3 50 7.1 50h37.7c2.8 0 5.1-2.3 5.1-5.1V7.1c.1-2.8-2.2-5.1-5-5.1zM15.7 39.7c0 .9-.8 1.7-1.7 1.7h-1.7c-.9 0-1.7-.8-1.7-1.7v-9.4c0-.9.8-1.7 1.7-1.7H14c.9 0 1.7.8 1.7 1.7v9.4zm8.6 0c0 .9-.8 1.7-1.7 1.7h-1.7c-.9 0-1.7-.8-1.7-1.7V17.4c0-.9.8-1.7 1.7-1.7h1.7c.9 0 1.7.8 1.7 1.7v22.3zm8.6 0c0 .9-.8 1.7-1.7 1.7h-1.7c-.9 0-1.7-.8-1.7-1.7V12.3c0-.9.8-1.7 1.7-1.7h1.7c.9 0 1.7.8 1.7 1.7v27.4zm8.5 0c0 .9-.8 1.7-1.7 1.7H38c-.9 0-1.7-.8-1.7-1.7V23.4c0-.9.8-1.7 1.7-1.7h1.7c.9 0 1.7.8 1.7 1.7v16.3z" + } + }, + middle_align: { + "xmlns": "http://www.w3.org/2000/svg", + "rect": [{ + "x": "22", + "y": "2", + "width": "6.4", + "height": "48", + "rx": "1.6" + }, { + "data-name": "Rectangle", + "x": "2", + "y": "19", + "width": "48", + "height": "14.4", + "rx": "3.2" + }] + }, + minimize_window: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M50 48.5c0 .8-.7 1.5-1.5 1.5h-45c-.8 0-1.5-.7-1.5-1.5v-3c0-.8.7-1.5 1.5-1.5h45c.8 0 1.5.7 1.5 1.5v3z" + } + }, + missed_call: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M34.7 40.3c.7 0 1.2.5 1.4 1.1l.8 5.4c.2 1.5 1.4 2.6 2.9 2.8l6.5.7c2 .2 3.7-1.3 3.7-3.3v-6.2c0-1-.4-1.8-1.1-2.5-6.4-5.8-14.9-8.8-23-8.8s-16.6 3-23 8.8c-.6.6-.9 1.6-.9 2.5V47c-.2 2 1.5 3.6 3.5 3.3l6.5-.7c1.5-.2 2.7-1.3 2.9-2.8l.8-5.4c.1-.7.7-1.1 1.4-1.1 0 0 8.4-.7 17.6 0zM39.7 12.6c.5-.5 1.4-.1 1.4.6v6.7c0 .7.5 1.2 1.2 1.2h2.5c.7 0 1.2-.5 1.2-1.2l.1-16.1c0-.7-.5-1.2-1.2-1.2h-16c-.7 0-1.2.5-1.2 1.2v2.5c0 .7.5 1.2 1.2 1.2h6.7c.7 0 1.1.9.6 1.4l-9.4 9.4c-.3.3-.9.3-1.3 0L10.1 3c-.5-.5-1.3-.5-1.8 0L6.4 4.8c-.5.5-.5 1.3 0 1.9l18.8 18.9c.5.6 1.3.6 1.9 0l12.6-13z" + } + }, + money: { + "xmlns": "http://www.w3.org/2000/svg", + "path": [{ + "d": "M30.1 26.1c0-2.3 1.4-4.3 3.3-5.3-.3-3.9-3.5-6.9-7.5-6.9-4.1 0-7.5 3.4-7.5 7.5s3.4 7.5 7.5 7.5c1.5 0 3-.5 4.1-1.3v-1.5z" + }, { + "d": "M30.1 36.4v-1.9c0-.7.1-1.3.3-1.9H12.8c0-2.9-2.3-5.3-5.3-5.3V16.1c2.9 0 5.3-2.3 5.3-5.3h26.3c0 2.9 2.3 5.3 5.3 5.3v4h3.8c.7 0 1.3.1 1.9.3V9.7c0-2.5-2-4.5-4.5-4.5H6.5C4 5.2 2 7.2 2 9.7v24.2c0 2.5 2 4.5 4.5 4.5h24c-.2-.6-.4-1.3-.4-2zM50 44.9c0 1-1 1.9-2 1.9H36c-1 0-1.9-.9-1.9-1.9V43c0-1 .9-1.9 1.9-1.9h12.1c1 0 1.9.9 1.9 1.9v1.9z" + }, { + "d": "M50 36.5c0 1-1 1.9-2 1.9H36c-1 0-1.9-.9-1.9-1.9v-1.9c0-1 .9-1.9 1.9-1.9h12.1c1 0 1.9.9 1.9 1.9v1.9zM50 28c0 1-1 1.9-2 1.9H36c-1 0-1.9-.9-1.9-1.9v-1.9c0-1 .9-1.9 1.9-1.9h12.1c1 0 1.9.9 1.9 1.9V28z" + }] + }, + moneybag: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M20.5 9.1c.2.6.8.9 1.4.9H30c.6 0 1.2-.3 1.4-.9l3.2-5.9c.2-.6-.2-1.2-.8-1.2H18.2c-.6 0-1 .6-.7 1.1l3 6zM30.7 14.7h-9.4C13.4 14.7 7 21.2 7 29.2v16c0 2.6 2.1 4.8 4.8 4.8h28.4c2.6 0 4.8-2.2 4.8-4.8v-16c0-8-6.5-14.5-14.3-14.5zm-2.3 27v2.7c0 .5-.5.8-1 .8h-3.2c-.5 0-.6-.3-.6-.8v-2.6c-2.4-.5-4.4-1.5-4.9-2-.6-.6-.8-1.1-.3-1.8l1-1.6c.2-.4.7-.6 1.2-.6.3 0 .6.1.8.2h.1c1.6 1 3 1.4 4 1.4 1.1 0 2-.6 2-1.2 0-.5-.3-1.3-3.3-2.3-2.7-1-6-2.6-6-6.3 0-2.2 1.4-4.7 5.4-5.5v-2.4c0-.5.2-.8.6-.8h3.2c.5 0 1 .3 1 .8V22c1.6.4 3.3 1.2 3.9 1.6.3.2.5.6.6 1 .1.4-.1.8-.3 1L31.2 27c-.3.4-.9.7-1.3.7-.2 0-.5-.1-.7-.2-1.6-.9-2.9-1.4-3.8-1.4-1.3 0-1.9.6-1.9 1 0 .6.3 1.2 3 2.2 3.3 1.1 7 2.9 7 6.7.1 2.6-2 4.9-5.1 5.7z" + } + }, + monthlyview: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M44 7h-5V5c0-1.6-1.3-3-3-3-1.6 0-3 1.3-3 3v2H19V5c0-1.6-1.3-3-3-3-1.6 0-3 1.3-3 3v2H8c-2.2 0-4 1.8-4 4v2.5c0 .8.7 1.5 1.5 1.5h41c.8 0 1.5-.7 1.5-1.5V11c0-2.2-1.8-4-4-4zM46.5 20h-41c-.8 0-1.5.7-1.5 1.5V46c0 2.2 1.8 4 4 4h36c2.2 0 4-1.8 4-4V21.5c0-.8-.7-1.5-1.5-1.5zM21.1 44c-2.4 0-5.1-.9-5.9-2.2-.1-.2-.2-.4-.2-.7 0-.9.8-1.6 1.6-1.6.3 0 .6.1.9.2 1.1.6 2.4 1 3.5 1 2 0 3.1-.9 3.1-2.1 0-1.3-1-1.9-3.3-1.9-1.3.2-2.2-.4-2.2-1.6 0-.9.6-1.5 1.6-1.5 2.1.1 3.6-.4 3.6-1.8 0-1.3-1.3-1.9-3-1.9-1.1 0-2.2.3-3.2.9-.2.2-.5.2-.8.2-.8 0-1.5-.6-1.5-1.5 0-.4.2-.8.5-1.1 1.3-1.1 3.1-1.8 5.4-1.8 3.8 0 6.2 1.7 6.2 4.5 0 2.1-1.8 3.4-3.6 3.8 1.7.2 3.8 1.5 3.8 3.9C27.5 42 25 44 21.1 44zM37 42.1c0 .9-.5 1.9-1.5 1.9-.9 0-1.5-.9-1.5-1.9V31.8l-2.1 1.9c-.3.3-.7.4-1.1.4-.8 0-1.5-.6-1.5-1.5 0-.4.1-.7.4-1l3.8-3.8c.4-.4.9-.7 1.5-.7 1.1 0 2 1 2 2.1v12.9z" + } + }, + move: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M49.7 25.3l-8.3-9c-.6-.6-1.4-.1-1.4.9V23H30c-.6 0-1-.4-1-1V12h5.9c1 0 1.5-.9.9-1.4l-9-8.3c-.4-.3-1-.3-1.4 0l-9 8.3c-.6.6-.1 1.4.9 1.4H23v10c0 .6-.4 1-1 1H12v-5.9c0-1-.9-1.5-1.4-.9l-8.3 9c-.3.4-.3 1 0 1.4l8.3 9c.6.6 1.4.1 1.4-.9V29h10c.6 0 1 .4 1 1v10h-5.9c-1 0-1.5.9-.9 1.4l9 8.3c.4.3 1 .3 1.4 0l9-8.3c.6-.6.1-1.4-.9-1.4H29V30c0-.6.4-1 1-1h10v5.9c0 1 .9 1.5 1.4.9l8.3-9c.4-.5.4-1.1 0-1.5z" + } + }, + multi_picklist: { + "xmlns": "http://www.w3.org/2000/svg", + "path": [{ + "d": "M44.4 2H18.8C16.2 2 14 4.2 14 6.8v.8c0 .5.3.8.8.8H38c2.6 0 4.8 2.2 4.8 4.8V38c0 .5.3.8.8.8h.8c2.6 0 4.8-2.2 4.8-4.8V6.8C49.2 4.2 47 2 44.4 2z" + }, { + "d": "M33.2 13.2H7.6c-2.6 0-4.8 2.2-4.8 4.8v27.2C2.8 47.8 5 50 7.6 50h25.6c2.6 0 4.8-2.2 4.8-4.8V18c0-2.6-2.2-4.8-4.8-4.8zM14 42c0 .9-.7 1.6-1.6 1.6h-1.6c-.9 0-1.6-.7-1.6-1.6v-1.6c0-.9.7-1.6 1.6-1.6h1.6c.9 0 1.6.7 1.6 1.6V42zm0-9.6c0 .9-.7 1.6-1.6 1.6h-1.6c-.9 0-1.6-.7-1.6-1.6v-1.6c0-.9.7-1.6 1.6-1.6h1.6c.9 0 1.6.7 1.6 1.6v1.6zm0-9.6c0 .9-.7 1.6-1.6 1.6h-1.6c-.9 0-1.6-.7-1.6-1.6v-1.6c0-.9.7-1.6 1.6-1.6h1.6c.9 0 1.6.7 1.6 1.6v1.6zM31.6 42c0 .9-.7 1.6-1.6 1.6H18.9c-.9 0-1.6-.7-1.6-1.6v-1.6c0-.9.7-1.6 1.6-1.6H30c.9 0 1.6.7 1.6 1.6V42zm0-9.6c0 .9-.7 1.6-1.6 1.6H18.9c-.9 0-1.6-.7-1.6-1.6v-1.6c0-.9.7-1.6 1.6-1.6H30c.9 0 1.6.7 1.6 1.6v1.6zm0-9.6c0 .9-.7 1.6-1.6 1.6H18.9c-.9 0-1.6-.7-1.6-1.6v-1.6c0-.9.7-1.6 1.6-1.6H30c.9 0 1.6.7 1.6 1.6v1.6z" + }] + }, + multi_select_checkbox: { + "xmlns": "http://www.w3.org/2000/svg", + "path": [{ + "d": "M44 2.5H19c-2.6 0-4.7 2.1-4.7 4.7V8c0 .5.3.8.8.8h22.7c2.6 0 4.7 2.1 4.7 4.7v24.3c0 .5.3.8.8.8h.7c2.6 0 4.7-2.1 4.7-4.7V7.2c0-2.6-2.1-4.7-4.7-4.7z" + }, { + "d": "M33 13.5H8c-2.6 0-4.7 2.1-4.7 4.7v26.6c0 2.6 2.1 4.7 4.7 4.7h25c2.6 0 4.7-2.1 4.7-4.7V18.2c.1-2.6-2.1-4.7-4.7-4.7zm-2 13.3l-12 12c-.5.5-1 .7-1.6.7-.5 0-1.2-.2-1.6-.7L10 33c-.5-.5-.5-1.2 0-1.6l1.6-1.6c.5-.5 1.2-.5 1.6 0l4.2 4.2 10.3-10.3c.5-.5 1.2-.5 1.6 0l1.6 1.6c.5.3.5 1.1.1 1.5z" + }] + }, + muted: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M48.5 5.6l-2.1-2.1c-.6-.6-1.7-.5-2.4.3l-10 10V9.9C34 5.5 30.5 2 26.1 2h-.2C21.5 2 18 5.5 18 9.9v14.5c0 1.5.4 3 1.2 4.2l-3.5 3.5C14 30 13 27.3 13 24.4v-4c0-1.4-1.1-2.4-2.5-2.4S8 19 8 20.4v4c0 4.3 1.6 8.2 4.2 11.2L3.8 44c-.7.7-.8 1.8-.3 2.4l2.1 2.1c.6.6 1.7.5 2.4-.3L48.2 8c.8-.7.9-1.8.3-2.4zM39 23.2v1.2c0 7-5.8 12.8-13 12.8h-.9l-3.9 4.1c.8.2 1.8.4 2.8.6V45h-4.5c-1.4 0-2.5 1.1-2.5 2.5s1.1 2.5 2.5 2.5h13.1c1.4 0 2.5-1.1 2.5-2.5S33.9 45 32.5 45H28v-3.2c9-1.2 16-8.6 16-17.4v-4c0-.6-.3-1.2-.6-1.6L39 23.2z" + } + }, + new: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M43 9C33.6-.3 18.4-.3 9 9-.3 18.4-.3 33.6 9 43c9.4 9.4 24.6 9.4 33.9 0 9.4-9.4 9.4-24.6.1-34zm-1 19c0 .6-.4 1-1 1H30c-.5 0-1 .5-1 1v11c0 .5-.5 1-1 1h-4c-.6 0-1-.4-1-1V30c0-.6-.4-1-1-1H11c-.6 0-1-.4-1-1v-4c0-.5.5-1 1-1h11c.6 0 1-.4 1-1V11c0-.5.5-1 1-1h4c.5 0 1 .4 1 1v11c0 .6.4 1 1 1h11c.5 0 1 .5 1 1v4z" + } + }, + new_direct_message: { + "xmlns": "http://www.w3.org/2000/svg", + "path": [{ + "d": "M45.5 17l-3.4 3.5c-.6.6-.9 1.3-.9 2.1V40c0 .8-.7 1.5-1.5 1.5h-27c-.8 0-1.5-.7-1.5-1.5V13c0-.8.7-1.5 1.5-1.5h17.5c.8 0 1.6-.3 2.1-.9l3.4-3.4c.6-.6.2-1.7-.7-1.7H9.2c-2.2 0-4 1.8-4 4v34c0 2.2 1.8 4 4 4h34c2.2 0 4-1.8 4-4V17.7c0-.9-1.1-1.3-1.7-.7z" + }, { + "d": "M18.9 30.7l3.7 3.7c.2.2.4.2.6 0l19.4-19.9c.2-.2.2-.4 0-.6L39 10.3c-.2-.2-.4-.2-.6 0L18.9 30.1c-.2.2-.2.4 0 .6zM40.1 8.6c-.2.2-.2.4 0 .6l3.6 3.6c.2.2.4.2.6 0l2.5-2.5c.7-.6.7-1.6 0-2.3L45 6.2c-.7-.7-1.7-.7-2.4 0-.1 0-2.5 2.4-2.5 2.4zM15.6 36.9c-.1.4.3.8.7.7.6-.2 1.3-.3 1.9-.5.5-.1 1-.2 1.5-.4.5-.1 1-.2 1.4-.4.2-.1.6-.5.3-.8l-3.8-3.8c-.3-.3-.6 0-.7.2-.3.4-.4 1-.5 1.4-.1.5-.3 1-.4 1.5-.1.9-.2 1.5-.4 2.1z" + }] + }, + new_window: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "path": [{ + "d": "M48.7 2H29.6c-.8 0-1.6.5-1.6 1.3v3c0 .8.7 1.7 1.6 1.7h7.9c.9 0 1.4 1 .7 1.6l-17 17c-.6.6-.6 1.5 0 2.1l2.1 2.1c.6.6 1.5.6 2.1 0l17-17c.6-.6 1.6-.2 1.6.7v7.9c0 .8.8 1.7 1.6 1.7h2.9c.8 0 1.5-.9 1.5-1.7v-19c0-.9-.5-1.4-1.3-1.4z" + }, { + "d": "M36.3 25.5L32.9 29c-.6.6-.9 1.3-.9 2.1v11.4c0 .8-.7 1.5-1.5 1.5h-21c-.8 0-1.5-.7-1.5-1.5v-21c0-.8.7-1.5 1.5-1.5H21c.8 0 1.6-.3 2.1-.9l3.4-3.4c.6-.6.2-1.7-.7-1.7H6c-2.2 0-4 1.8-4 4v28c0 2.2 1.8 4 4 4h28c2.2 0 4-1.8 4-4V26.2c0-.9-1.1-1.3-1.7-.7z" + }] + } + }, + news: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M50.5 6h-41C8.7 6 8 6.7 8 7.5V38c0 1.2-1.1 2.2-2.3 2-1-.2-1.7-1.1-1.7-2.1V16c0-.6-.4-1-1-1H1.5c-.8 0-1.5.7-1.5 1.5V42c0 2.2 1.8 4 4 4h44c2.2 0 4-1.8 4-4V7.5c0-.8-.7-1.5-1.5-1.5zM28 35c0 .6-.4 1-1 1H15c-.6 0-1-.4-1-1v-2c0-.6.4-1 1-1h12c.6 0 1 .4 1 1v2zm0-8c0 .6-.4 1-1 1H15c-.6 0-1-.4-1-1v-2c0-.6.4-1 1-1h12c.6 0 1 .4 1 1v2zm18 8c0 .6-.4 1-1 1H33c-.6 0-1-.4-1-1v-2c0-.6.4-1 1-1h12c.6 0 1 .4 1 1v2zm0-8c0 .6-.4 1-1 1H33c-.6 0-1-.4-1-1v-2c0-.6.4-1 1-1h12c.6 0 1 .4 1 1v2zm0-8c0 .6-.4 1-1 1H15c-.6 0-1-.4-1-1v-6c0-.6.4-1 1-1h30c.6 0 1 .4 1 1v6z" + } + }, + note: { + "xmlns": "http://www.w3.org/2000/svg", + "path": [{ + "d": "M41.4 39.7l-.9.9c-1 1-2.3 1.5-3.7 1.5h-2.6c-2.4 0-5-1.9-5-5.2v-2.5c0-2 .9-3.2 1.4-3.9l10.8-11c.3-.3.6-1 .6-1.4V9.8C42 7.2 39.8 5 37.2 5H11.6C9 5 6.8 7.4 6.8 9.8H5.2C3.4 9.8 2 11.3 2 13.1s1.4 3.2 3.2 3.2h1.6v6.5H5.2C3.4 22.8 2 24.2 2 26s1.4 3.2 3.2 3.2h1.6v6.5H5.2c-1.8 0-3.2 1.5-3.2 3.2 0 1.8 1.4 3.2 3.2 3.2h1.6c0 3.2 2.2 4.8 4.8 4.8H37.2c2.6 0 4.8-2.2 4.8-4.8V40c0-.5-.2-.6-.6-.3zm-8.2-22.6c0 .9-.7 1.6-1.6 1.6h-16c-.9 0-1.6-.7-1.6-1.6v-1.6c0-.9.7-1.6 1.6-1.6h16c.9 0 1.6.7 1.6 1.6v1.6zM26 36.5c0 .9-.7 1.6-1.6 1.6h-8.8c-.9 0-1.6-.7-1.6-1.6v-1.6c0-.9.7-1.6 1.6-1.6h8.8c.9 0 1.6.7 1.6 1.6v1.6zm2.4-9.7c0 .9-.7 1.6-1.6 1.6H15.6c-.9 0-1.6-.7-1.6-1.6v-1.6c0-.9.7-1.6 1.6-1.6h11.2c.9 0 1.6.7 1.6 1.6v1.6z" + }, { + "d": "M49.5 22.4l-1-1c-.6-.6-1.6-.6-2.2 0L34.1 34c-.1 0-.1.2-.1.2v2.7c0 .2 0 .4.2.4h2.6c.1 0 .2-.1.3-.1l12.3-12.4c.8-.7.8-1.7.1-2.4z" + }] + }, + notebook: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M44 2H14c-2.2 0-4 1.8-4 4v3H7c-1.7 0-3 1.3-3 3s1.3 3 3 3h3v8H7c-1.7 0-3 1.3-3 3s1.3 3 3 3h3v8H7c-1.7 0-3 1.3-3 3s1.3 3 3 3h3v3c0 2.2 1.8 4 4 4h30c2.2 0 4-1.8 4-4V6c0-2.2-1.8-4-4-4zm-7 34c0 .6-.4 1-1 1H22c-.6 0-1-.4-1-1v-2c0-.6.4-1 1-1h14c.6 0 1 .4 1 1v2zm2-8c0 .6-.4 1-1 1H20c-.6 0-1-.4-1-1v-2c0-.6.4-1 1-1h18c.6 0 1 .4 1 1v2zm2-10c0 .6-.4 1-1 1H18c-.6 0-1-.4-1-1v-6c0-.6.4-1 1-1h22c.6 0 1 .4 1 1v6z" + } + }, + notification: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "path": { + "d": "M46 33h-.5c-1.9 0-3.5-1.6-3.5-3.5V18c0-9.1-7.6-16.4-16.8-16C16.6 2.4 10 9.8 10 18.5v11.1c0 1.9-1.6 3.4-3.5 3.4H6c-2.2 0-4 1.9-4 4.1v1.5c0 .7.7 1.4 1.5 1.4h45c.8 0 1.5-.7 1.5-1.5V37c0-2.2-1.8-4-4-4zM30.9 44h-9.8c-.6 0-1.1.6-1 1.2.5 2.8 3 4.8 5.9 4.8s5.4-2.1 5.9-4.8c.1-.6-.4-1.2-1-1.2z" + } + } + }, + number_input: { + "xmlns": "http://www.w3.org/2000/svg", + "path": [{ + "d": "M44.8 49.5H7.2c-2.6 0-4.7-2.1-4.7-4.7V7.2c0-2.6 2.1-4.7 4.7-4.7h37.6c2.6 0 4.7 2.1 4.7 4.7v37.6c0 2.6-2.1 4.7-4.7 4.7zm-36-39.2v31.3c0 .9.7 1.6 1.6 1.6h31.3c.9 0 1.6-.7 1.6-1.6V10.3c0-.9-.7-1.6-1.6-1.6H10.4c-.9.1-1.6.8-1.6 1.6z" + }, { + "d": "M36.2 20.3h-2.9l1.2-4.8v-.1c0-.2-.1-.4-.4-.4h-2.3c-.2 0-.3.1-.4.3l-1.2 4.9h-5.8l1.2-4.8v-.1c0-.2-.1-.4-.4-.4h-2.3c-.2 0-.3.1-.4.3l-1.3 4.9H18c-.2 0-.3.1-.4.3l-.6 2.2v.1c0 .2.1.4.4.4h3L19 28.7h-3.1c-.2 0-.3.1-.4.3l-.6 2.2v.1c0 .2.1.4.4.4h2.9L17 36.5v.1c0 .2.1.4.4.4h2.3c.2 0 .3-.1.4-.3l1.3-5h5.7L26 36.4v.1c0 .2.1.4.4.4h2.3c.2 0 .3-.1.4-.3l1.3-5h3.2c.2 0 .3-.1.4-.3l.6-2.2V29c0-.2-.1-.4-.4-.4h-3l1.4-5.6h3.1c.2 0 .3-.1.4-.3l.6-2.2v-.1c-.1.1-.3-.1-.5-.1zm-8.1 8.5h-5.8l1.4-5.6h5.7l-1.3 5.6z" + }] + }, + office365: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M6 40.6z" + }, + "g": { + "path": { + "d": "M30.8 49.5c.6.2 1.3.2 1.9 0l11.9-3.9c.8-.3 1.4-1 1.4-1.9v-36c0-.6-.4-1.2-1-1.4L32.9 2.2c-.7-.2-1.4-.2-2 0L7 11.4c-.6.2-1 .8-1 1.4v27.1c0 .6.4 1.2 1 1.4l23.8 8.2zm1.2-6.7c0 .6-.5 1.1-1 1l-20-2.7c-.5-.1-.9-.5-.9-1v-.4c0-.4.2-.7.7-.9l3.8-1.8c.4-.2.6-.5.6-.9V14.8c0-.5.3-.9.8-1l15-3.4c.6-.1 1.2.3 1.2 1v31.4z" + } + } + }, + offline: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "path": { + "d": "M34.7 36.1c.5-.5.5-1.3 0-1.8l-1.8-1.8c-.5-.5-1.3-.5-1.8 0l-4.4 4.4c-.3.3-.9.3-1.2 0l-4.4-4.4c-.5-.5-1.3-.5-1.8 0l-1.8 1.8c-.5.5-.5 1.3 0 1.8l4.4 4.4c.3.3.3.9 0 1.2l-4.4 4.4c-.5.5-.5 1.3 0 1.8l1.8 1.8c.5.5 1.3.5 1.8 0l4.4-4.4c.3-.3.9-.3 1.2 0l4.4 4.4c.5.5 1.3.5 1.8 0l1.8-1.8c.5-.5.5-1.3 0-1.8l-4.4-4.4c-.3-.3-.3-.9 0-1.2l4.4-4.4zM47.7 11.6c-5.5-6.1-13.3-9.5-21.6-9.5S10 5.5 4.5 11.6c-.4.4-.3 1.1.1 1.4l3 2.6c.4.4 1 .3 1.4-.1 4.4-4.7 10.6-7.4 17.1-7.4s12.7 2.7 17.1 7.4c.4.4 1 .4 1.4.1l3-2.6c.4-.4.5-1 .1-1.4zM26.1 16.1c-4.2 0-8.2 1.8-11 5-.4.4-.3 1.1.1 1.5l3.2 2.4c.4.3 1 .3 1.3-.1 1.7-1.8 4-2.8 6.4-2.8s4.7 1 6.3 2.7c.3.4.9.4 1.3.1l3.2-2.4c.5-.4.5-1 .1-1.5-2.7-3.1-6.7-4.9-10.9-4.9z" + } + } + }, + offline_briefcase: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M45.2 14.9H6.8A4.77 4.77 0 002 19.6v25.6A4.87 4.87 0 006.8 50h38.4a4.87 4.87 0 004.8-4.8V19.6a4.77 4.77 0 00-4.8-4.7zM17.4 29.8l1.4-1.4a1 1 0 011.4 0l2.4 2.4a.63.63 0 00.9 0 .61.61 0 00.2-.52V21.6a1.08 1.08 0 011-1H27a1 1 0 011 1v8.7a.65.65 0 001.1.5l2.4-2.4a1 1 0 011.4 0l1.4 1.4a1 1 0 010 1.4l-7.8 7.6a1 1 0 01-1.4 0l-7.7-7.6a1 1 0 010-1.4zm17.8 14a1 1 0 01-1 1H17.8a1 1 0 01-1-1v-2.1a1 1 0 011-1h16.4a1 1 0 011 1zM15.7 10h3.2a.74.74 0 00.8-.67V6.8h12.7v2.4a.74.74 0 00.67.8h3.33a.74.74 0 00.8-.67V6.8A4.87 4.87 0 0032.4 2H19.7a4.8 4.8 0 00-4.8 4.8v2.4a.74.74 0 00.67.8z" + } + }, + offline_cached: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M38.6 20.4c-1-6.5-6.7-11.5-13.5-11.5-7.6 0-13.7 6.1-13.7 13.7 0 .3 0 .7.1 1-5 .4-8.9 4.6-8.9 9.6 0 5.4 4.3 9.7 9.7 9.7h11.5l-8.1-8.1c-.4-.4-.4-.9 0-1.3l1.3-1.3c.4-.4.9-.4 1.3 0l3.5 3.5c.4.4 1.1.1 1.1-.4V21.8c0-.4.5-.9 1-.9h1.9c.5 0 .9.4.9.9v13.4c0 .6.8.8 1.1.4l3.5-3.5c.4-.4.9-.4 1.3 0l1.3 1.3c.4.4.4.9 0 1.3L26 42.9h12.3c6.1-.1 11-5.1 11-11.3.1-6.1-4.7-11-10.7-11.2z" + } + }, + omni_channel: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M47.2 2.7H34.6c-.8 0-1.1.7-.4 1.4l4 4 .5.5-7.5 7.4c-.6.6-.6 1.6-.1 2.2 0 0 5.1 5.2 4.6 11.1 0 8.4-6.1 15.1-14.5 15.1-6.2.6-11.1-5.1-11.1-5.1-.6-.6-1.5-.6-2.1 0L4.3 43c-.6.6-.6 1.5 0 2.1l1.2 1.2c.6.6 1.5.6 2.1 0L9 45c3.4 2.7 7.7 4.2 12.3 4.2 11 0 19.9-8.9 19.9-19.9 0-4.6-1.6-8.9-4.2-12.3l5.1-5.1.7.7 4 4c.6.7 1.4.4 1.4-.4V3.6c-.1-.5-.5-.9-1-.9z" + }, + "circle": { + "cx": "21.1", + "cy": "29.5", + "r": "9.9" + } + }, + open: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M8 35v-.6.6z" + }, + "g": { + "path": [{ + "d": "M46 2H6C3.8 2 2 3.8 2 6v36c0 2.2 1.8 4 4 4h12c.6 0 1-.4 1-1v-4c0-.6-.4-1-1-1H9.5c-.8 0-1.5-.7-1.5-1.5v-25c0-.8.7-1.5 1.5-1.5h33c.8 0 1.5.7 1.5 1.5v25c0 .8-.7 1.5-1.5 1.5H34c-.6 0-1 .4-1 1v4c0 .6.4 1 1 1h12c2.2 0 4-1.8 4-4V6c0-2.2-1.8-4-4-4z" + }, { + "d": "M37.5 34.6l2.1-2.1c.6-.6.6-1.5 0-2.1L27 17.8c-.6-.6-1.5-.6-2.1 0L12.4 30.3c-.6.6-.6 1.5 0 2.1l2.1 2.1c.6.6 1.5.6 2.1 0l4.6-4.6c.6-.6 1.8-.2 1.8.7v17.9c0 .8.6 1.5 1.4 1.5h3c.8 0 1.6-.7 1.6-1.5V30.6c0-.9 1-1.3 1.7-.7l4.6 4.7c.6.5 1.6.5 2.2 0z" + }] + } + }, + open_folder: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "path": [{ + "d": "M46 14H23.3c-1.4 0-2.7-.8-3.5-2l-3.5-6c-.7-1.2-2-2-3.5-2H6C3.8 4 2 5.8 2 8v36c0 2.2 1.8 4 4 4h40c2.2 0 4-1.8 4-4V18c0-2.2-1.8-4-4-4z" + }, { + "d": "M46 6H21.9c-.4 0-.6.4-.4.7l1.6 2.7c.2.4.5.6.9.6h22c1.1 0 2.2.2 3.1.6.4.2.9-.1.9-.6 0-2.2-1.8-4-4-4z" + }] + } + }, + opened_folder: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "path": { + "d": "M44 15c0-2.2-1.8-4-4-4H25.3c-1.8 0-3.5-2-3.5-2l-2.5-3s-1.2-2-3.5-2H12C9.8 4 8 5.8 8 8v9h36v-2zM46.9 21H5.1c-2 0-3.5 1.9-3 3.8l5.7 21c.4 1.3 1.6 2.2 3 2.2h30.5c1.4 0 2.7-.9 3-2.2l5.7-21c.4-1.9-1.1-3.8-3.1-3.8z" + } + } + }, + orchestrator: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M36.4 3.14a1.62 1.62 0 00-2.24-1 1.65 1.65 0 00-.59 2.38l7.28 18.18c.45.95 1.28 1.51 2.21 1.06a1.76 1.76 0 00.63-2.47zM26.2 15.75c4.11 0 7.41 3.74 7.41 8.37s-3.3 8.37-7.41 8.37-7.41-3.74-7.41-8.37 3.3-8.37 7.41-8.37zM9.11 34.34l10.67 1.2L22.24 50h-3a1.87 1.87 0 01-1.79-1.39l-2.18-7.84-9.09-1a4.77 4.77 0 01-3.88-6.3L7 19.79A2.79 2.79 0 0110.52 18a2.86 2.86 0 011.73 3.63L8.33 33.09a.94.94 0 00.78 1.25zM33.36 50h-3.2l2.43-14.29 10.09 1.91a.94.94 0 001.08-1.14l-1.42-6.4a2.85 2.85 0 012.07-3.44 2.8 2.8 0 013.38 2.1L49.87 38a4.73 4.73 0 01-5.38 5.8l-7.7-1.46-1.62 6.27A1.87 1.87 0 0133.36 50zM23.31 37.29a1.1 1.1 0 01-1.68-.95v-1.77a1.1 1.1 0 011.68-1l2.89 1.83zM26.2 35.45l2.88-1.83a1.1 1.1 0 011.69 1v1.77a1.11 1.11 0 01-1.69.95z" + } + }, + org_chart: { + "xmlns": "http://www.w3.org/2000/svg", + "rect": [{ + "x": "34.78", + "y": "2.83", + "width": "13.16", + "height": "13.15", + "rx": "1.21" + }, { + "x": "34.78", + "y": "35.52", + "width": "13.16", + "height": "13.15", + "rx": "1.21" + }], + "path": { + "d": "M46.73 19.18H36a1.2 1.2 0 00-1.2 1.2v3.71h-7.38l-.16-14.65A1.5 1.5 0 0025.76 8H15.65V4a1.22 1.22 0 00-1.2-1.21H3.71A1.21 1.21 0 002.5 4v10.78A1.21 1.21 0 003.7 16h10.75a1.22 1.22 0 001.2-1.21V11h8.62l.17 14.64a1.51 1.51 0 001.5 1.49h8.84v4a1.21 1.21 0 001.22 1.2h10.73a1.22 1.22 0 001.2-1.21V20.38a1.2 1.2 0 00-1.2-1.2z" + } + }, + outbound_call: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "path": [{ + "d": "M48.5 37.9L42.4 33c-1.4-1.1-3.4-1.2-4.8-.1l-5.2 3.8c-.6.5-1.5.4-2.1-.2l-7.8-7-7-7.8c-.6-.6-.6-1.4-.2-2.1l3.8-5.2c1.1-1.4 1-3.4-.1-4.8l-4.9-6.1c-1.5-1.8-4.2-2-5.9-.3L3 8.4c-.8.8-1.2 1.9-1.2 3 .5 10.2 5.1 19.9 11.9 26.7S30.2 49.5 40.4 50c1.1.1 2.2-.4 3-1.2l5.2-5.2c1.9-1.5 1.8-4.3-.1-5.7z" + }, { + "d": "M48.4 2H33c-1 0-1.3 1.1-.5 1.9l4.9 5-9 9.1c-.5.5-.5 1.4 0 1.9l3.7 3.7c.5.5 1.3.5 1.9 0l9.1-9.1 5.1 4.9c.7.9 1.8.6 1.8-.4V3.7C50 3 49.1 2 48.4 2z" + }] + } + }, + outcome: { + "xmlns": "http://www.w3.org/2000/svg", + "path": [{ + "d": "M36.2 11.6l-.1-.1c-.6-.5-1.5-.5-2 .1l-2.2 2.1c-.6.6-.5 1.5 0 2l5.6 5.6c.2.2.3.4.3.7 0 .6-.4 1.1-1 1.1H15.6c-.8 0-1.5.6-1.5 1.4v3c.1.8.7 1.5 1.5 1.6h21.3c.2 0 .4.1.5.2.5.4.5 1 .2 1.5L32 36.5c-.6.6-.5 1.5 0 2l2.1 2.2c.6.6 1.5.5 2 0l13.5-13.5c.6-.6.5-1.5 0-2L36.2 11.6z" + }, { + "d": "M21.1 17.2h3c.8 0 1.5-.7 1.5-1.5V6.1c0-2.2-1.8-4-4-4H6.1c-2.2 0-4 1.8-4 4v40c0 2.2 1.8 4 4 4h15.4c2.2 0 4-1.8 4-4v-9.5c0-.8-.7-1.5-1.5-1.5h-3c-.8 0-1.5.7-1.5 1.5v5.9c0 .8-.7 1.5-1.5 1.5H9.6c-.8 0-1.5-.7-1.5-1.5v-33c0-.8.7-1.5 1.5-1.5H18c.8 0 1.5.7 1.5 1.5v6.1c.1.9.7 1.6 1.6 1.6z" + }] + }, + overflow: { + "xmlns": "http://www.w3.org/2000/svg", + "path": [{ + "d": "M37.3 9.9H15.8c-2.1 0-3.7 1.7-3.7 3.7v.6c0 .3.3.6.6.6h19.6c2.1 0 3.7 1.7 3.7 3.7v22.1c0 .3.3.6.6.6h.6c2.1 0 3.7-1.7 3.7-3.7V13.6c.1-2-1.6-3.7-3.6-3.7z" + }, { + "d": "M45.3 2H23.8c-2.1 0-3.7 1.7-3.7 3.7v.6c0 .3.3.6.6.6h19.6c2.1 0 3.7 1.7 3.7 3.7v22.1c0 .3.3.6.6.6h.6c2.1 0 3.7-1.7 3.7-3.7V5.7c.1-2-1.6-3.7-3.6-3.7z" + }, { + "d": "M32.6 21.8c0-2-1.7-3.7-3.7-3.7H6.7c-2.1 0-3.7 1.7-3.7 3.7v24.5c0 2 1.7 3.7 3.7 3.7h22.2c2.1 0 3.7-1.7 3.7-3.7V21.8z" + }] + }, + package: { + "xmlns": "http://www.w3.org/2000/svg", + "path": [{ + "d": "M44.4 24h-7.9l-3.3 4H44v6H8v-6h10.7l-3.3-4H7.6c-2 0-3.6 1.6-3.6 3.6V47c0 1.7 1.3 3 3 3h38c1.7 0 3-1.3 3-3V27.6c0-2-1.6-3.6-3.6-3.6z" + }, { + "d": "M23 3.5V16h-6.9c-1 0-1.5.9-.9 1.4l10 12.3c.4.3 1 .3 1.4 0l10-12.3c.6-.6.1-1.4-.9-1.4H29V3.5c0-.8-.7-1.5-1.5-1.5h-3c-.8 0-1.5.7-1.5 1.5z" + }] + }, + package_org: { + "xmlns": "http://www.w3.org/2000/svg", + "path": [{ + "d": "M44.4 23H31.9l-4 4H44v6H8v-6h8.1l-4-4H7.6c-2 0-3.6 1.6-3.6 3.6V46c0 1.7 1.3 3 3 3h38c1.7 0 3-1.3 3-3V26.6c0-2-1.6-3.6-3.6-3.6z" + }, { + "d": "M20.6 25.8c.8.8 2 .8 2.8 0l19-19c.4-.4.4-1 0-1.4l-2.8-2.8c-.4-.4-1-.4-1.4 0L22 18.8l-6.7-6.7c-.4-.4-1-.4-1.4 0l-2.8 2.8c-.4.4-.4 1 0 1.4l9.5 9.5z" + }] + }, + package_org_beta: { + "xmlns": "http://www.w3.org/2000/svg", + "path": [{ + "d": "M44.4 23h-5.8c-.4 1.5-1.1 2.8-2.1 4H44v6H8v-6h6v-4H7.6c-2 0-3.6 1.6-3.6 3.6V46c0 1.7 1.3 3 3 3h38c1.7 0 3-1.3 3-3V26.6c0-2-1.6-3.6-3.6-3.6z" + }, { + "d": "M35 9.9C35 6 31.6 3 27.8 3h-8.3c-.8 0-1.5.7-1.5 1.5v21c0 .8.7 1.5 1.5 1.5H28c3.9 0 7-3.2 6.9-7.1 0-1.9-.8-3.6-2.1-4.8 1.4-1.4 2.2-3.2 2.2-5.2zM22 7h6c1.6 0 3 1.3 3 3 0 1.6-1.3 3-3 3h-6V7zm9 13c0 1.6-1.3 3-3 3h-6v-6h6c1.7 0 3 1.3 3 3z" + }] + }, + page: { + "xmlns": "http://www.w3.org/2000/svg", + "path": [{ + "d": "M44.4 19H33.2c-2.6 0-4.2-1.6-4.2-4.2V3.6c0-.9-.7-1.6-1.6-1.6H10.8C8.2 2 6 4.2 6 6.8v38.4c0 2.6 2.2 4.8 4.8 4.8h30.4c2.6 0 4.8-2.2 4.8-4.8V20.6c0-.9-.7-1.6-1.6-1.6z" + }, { + "d": "M45.7 12.9L35.1 2.3c-.2-.2-.6-.3-.9-.3-.6 0-1.2.5-1.2 1.1v8.5c0 1.8 1.6 3.4 3.4 3.4h8.5c.6 0 1.1-.6 1.1-1.2 0-.3-.1-.7-.3-.9z" + }] + }, + palette: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M49.5 17.3C47.2 7.8 37.2 2 26.2 2 12.8 2 2 12.7 2 26s10.8 24 24.2 24c18.6 0 17.1-9.4 11.2-13.1-3.5-2.2-5.4-7.3-1.9-10.9 6.5-6.7 17 4 14-8.7zM13 34c-2.8 0-5-2.2-5-5s2.2-5 5-5 5 2.2 5 5-2.2 5-5 5zm1-19c0-2.8 2.2-5 5-5s5 2.2 5 5-2.2 5-5 5-5-2.2-5-5zm11 29c-2.8 0-5-2.2-5-5s2.2-5 5-5 5 2.2 5 5-2.2 5-5 5zm9-26c-2.8 0-5-2.2-5-5s2.2-5 5-5 5 2.2 5 5-2.2 5-5 5z" + } + }, + password: { + "xmlns": "http://www.w3.org/2000/svg", + "path": [{ + "d": "M44.8 49.5H7.2c-2.6 0-4.7-2.1-4.7-4.7V7.2c0-2.6 2.1-4.7 4.7-4.7h37.6c2.6 0 4.7 2.1 4.7 4.7v37.6c0 2.5-2.1 4.7-4.7 4.7zM8.9 10.3v31.3c0 .9.7 1.6 1.6 1.6h31.2c.9 0 1.6-.7 1.6-1.6V10.3c0-.9-.7-1.6-1.6-1.6H10.4c-.8.1-1.5.8-1.5 1.6z" + }, { + "d": "M38.8 23.8l-.9-3c-.3-.8-1.1-1.3-2-1L29.1 22v-6.7c0-.9-.7-1.6-1.6-1.6h-3.1c-.9 0-1.6.7-1.6 1.6V22l-6.6-2.2c-.8-.3-1.7.2-2 1l-.9 3c-.3.8.2 1.7 1 2l6.2 2-4.5 6.1c-.5.7-.3 1.7.4 2.2l2.6 1.8c.7.5 1.7.3 2.2-.4l4.9-6.8 4.9 6.8c.5.7 1.5.9 2.2.4l2.6-1.8c.7-.5.9-1.5.4-2.2l-4.5-6.2 6.1-2c.8-.2 1.2-1 1-1.9z" + }] + }, + paste: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "path": [{ + "d": "M17.5 12h17c.8 0 1.5-.7 1.5-1.5V6c0-2.2-1.8-4-4-4H20c-2.2 0-4 1.8-4 4v4.5c0 .8.7 1.5 1.5 1.5z" + }, { + "d": "M44 6h-2.5c-.8 0-1.5.7-1.5 1.5V12c0 2.2-1.8 4-4 4H16c-2.2 0-4-1.8-4-4V7.5c0-.8-.7-1.5-1.5-1.5H8c-2.2 0-4 1.8-4 4v36c0 2.2 1.8 4 4 4h36c2.2 0 4-1.8 4-4V10c0-2.2-1.8-4-4-4zm-6 35c0 .6-.4 1-1 1H15c-.6 0-1-.4-1-1v-2c0-.6.4-1 1-1h22c.6 0 1 .4 1 1v2zm0-8c0 .6-.4 1-1 1H15c-.6 0-1-.4-1-1v-2c0-.6.4-1 1-1h22c.6 0 1 .4 1 1v2zm0-8c0 .6-.4 1-1 1H15c-.6 0-1-.4-1-1v-2c0-.6.4-1 1-1h22c.6 0 1 .4 1 1v2z" + }] + } + }, + pause: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M30 43c0 1 .9 2 2 2h4c1.1 0 2-1.1 2-2V9c0-1-.9-2-2-2h-4c-1.1 0-2 1.1-2 2v34zM14 43c0 1 .9 2 2 2h4c1.1 0 2-1.1 2-2V9c0-1-.9-2-2-2h-4c-1.1 0-2 1.1-2 2v34z" + } + }, + pause_alt: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M9.009 8.977c9.395-9.303 24.587-9.303 33.982 0 9.295 9.402 9.395 24.706 0 34.009s-24.687 9.402-33.982 0c-9.295-9.403-9.395-24.707 0-34.01zm16.991-1c-9.895 0-17.99 8.102-17.99 18.004 0 9.903 8.095 18.005 17.99 18.005 9.995 0 17.99-8.002 17.99-18.005S35.896 7.977 26 7.977zM21.75 15c.966 0 1.75.895 1.75 2v18c0 1.105-.784 2-1.75 2h-3.5c-.966 0-1.75-.895-1.75-2V17c0-1.105.784-2 1.75-2zm12 0c.966 0 1.75.895 1.75 2v18c0 1.105-.784 2-1.75 2h-3.5c-.966 0-1.75-.895-1.75-2V17c0-1.105.784-2 1.75-2z", + "fill-rule": "evenodd" + } + }, + payment_gateway: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "path": [{ + "d": "M19.56 6.29a17.94 17.94 0 000 35.87h.8V27.94c0-1.06.81-2.42 1.88-2.42h15.2c0-.59.06-1 .06-1.32A18 18 0 0019.56 6.29zm14.32 16.4h-4.62a26.74 26.74 0 00-2.54-10.76 14.52 14.52 0 017.16 10.76zM17.51 10.9v11.79h-4.1c.31-5.62 2.08-10.06 4.1-11.79zm0 14.86v11.78c-2-1.73-3.79-6.15-4.1-11.78zm4.1-3.07V10.9c2 1.73 3.8 6.17 4.1 11.79zm-9.22-10.76a27.62 27.62 0 00-2.53 10.76H5.21a14.48 14.48 0 017.18-10.76zM5.22 26.27h4.65A26.74 26.74 0 0012.39 37a14.5 14.5 0 01-7.17-10.73z", + "fill-rule": "evenodd" + }, { + "d": "M47.5 28.56H25.73a2.5 2.5 0 00-2.5 2.5v12.15a2.5 2.5 0 002.5 2.5H47.5a2.5 2.5 0 002.5-2.5V31.06a2.5 2.5 0 00-2.5-2.5zM28.66 43.21a2.92 2.92 0 00-2.84-3h-.08V34a2.93 2.93 0 003-2.84v-.07h15.81A2.91 2.91 0 0047.42 34h.08v6.25a2.93 2.93 0 00-3 2.86v.09z", + "fill-rule": "evenodd" + }], + "circle": { + "cx": "36.61", + "cy": "36.92", + "r": "4.2" + } + } + }, + pdf_ext: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "path": [{ + "d": "M28.6 11.4h5.1a1.11 1.11 0 001.1-1.1 1.32 1.32 0 00-.3-.8l-7.2-7.1a.89.89 0 00-.7-.3 1.11 1.11 0 00-1.1 1.1v5.1a3.12 3.12 0 003.1 3.1zM49.83 32.45A1.43 1.43 0 0048.44 31h-12A1.43 1.43 0 0035 32.44v1.44a1.43 1.43 0 001.4 1.44h6.14l-11 11a1.42 1.42 0 000 2l1 1a1.54 1.54 0 001.09.45 1.32 1.32 0 00.94-.38l11-11v6A1.43 1.43 0 0047 45.83h1.53a1.43 1.43 0 001.47-1.4zM18.35 20.68h-1.46v4.93h1.46a1.56 1.56 0 001.56-1.1 3.93 3.93 0 00.24-1.44 3.61 3.61 0 00-.36-1.77 1.53 1.53 0 00-1.44-.62zM11.29 20.93a1.27 1.27 0 00-.84-.25H9v2.23h1.46a1.18 1.18 0 00.84-.28 1.09 1.09 0 00.3-.86 1 1 0 00-.33-.84z" + }, { + "d": "M33.24 16H25.4a4.67 4.67 0 01-4.7-4.6V3.6a1.42 1.42 0 00-1.34-1.5H6.8a4.67 4.67 0 00-4.7 4.6v29.4a4.6 4.6 0 004.62 4.6H24.6v-.1a15.92 15.92 0 0110.2-14.9v-8.1a1.58 1.58 0 00-1.56-1.6zm-20.75 7.65a2.93 2.93 0 01-1.89.56H9v2.71H7.49v-7.55h3.24a2.64 2.64 0 011.76.63 2.3 2.3 0 01.66 1.8 2.35 2.35 0 01-.66 1.85zm8.66 1.9A2.73 2.73 0 0118.62 27h-3.26v-7.63h3.26a3.85 3.85 0 011.17.17 2.49 2.49 0 011.28.95 3.43 3.43 0 01.54 1.22 5.6 5.6 0 01.14 1.29 5 5 0 01-.6 2.55zm7.92-4.84h-3.81v1.74h3.34v1.31h-3.34v3.16h-1.57v-7.54h5.38z" + }] + } + }, + people: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "path": [{ + "d": "M42 22.3c-2.8-1.1-3.2-2.2-3.2-3.3s.8-2.2 1.8-3c1.7-1.4 2.6-3.5 2.6-5.8 0-4.4-2.9-8.2-8-8.2-4.7 0-7.5 3.2-7.9 7.1 0 .4.2.7.5.9 3.8 2.4 6.1 6.6 6.1 11.7 0 3.8-1.5 7.2-4.2 9.6-.2.2-.2.6 0 .8.7.5 2.3 1.2 3.3 1.7.3.1.5.2.8.2h12.1c2.3 0 4.1-1.9 4.1-4v-.6c0-3.5-3.8-5.4-8-7.1z" + }, { + "d": "M28.6 36.2c-3.4-1.4-3.9-2.6-3.9-3.9 0-1.3 1-2.6 2.1-3.6 2-1.7 3.1-4.1 3.1-6.9 0-5.2-3.4-9.7-9.6-9.7-6.1 0-9.6 4.5-9.6 9.7 0 2.8 1.1 5.2 3.1 6.9 1.1 1 2.1 2.3 2.1 3.6 0 1.3-.5 2.6-4 3.9-5 2-9.9 4.3-9.9 8.5V46c0 2.2 1.8 4 4.1 4h27.7c2.3 0 4.2-1.8 4.2-4v-1.4c0-4.1-4.4-6.4-9.4-8.4z" + }] + } + }, + percent: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M39.55 26A10.5 10.5 0 1050 36.5 10.5 10.5 0 0039.55 26zm0 16.14a5.65 5.65 0 115.6-5.64 5.64 5.64 0 01-5.6 5.64zM23 15.5a10.48 10.48 0 10-3.07 7.43A10.5 10.5 0 0023 15.5zm-10.5 5.64a5.65 5.65 0 114-1.65 5.63 5.63 0 01-4.01 1.65zm26.71-15A.8.8 0 0038.49 5h-3a.83.83 0 00-.64.4l-22 40.41a.78.78 0 000 .78.79.79 0 00.68.39h3a.8.8 0 00.64-.4l22-40.41z" + } + }, + phone_landscape: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M52 13c0-2.2-1.8-4-4-4H4c-2.2 0-4 1.8-4 4v26c0 2.2 1.8 4 4 4h44c2.2 0 4-1.8 4-4V13zM5 29c-1.7 0-3-1.3-3-3s1.3-3 3-3 3 1.3 3 3-1.3 3-3 3zm39 6.5c0 .8-.7 1.5-1.5 1.5h-31c-.8 0-1.5-.7-1.5-1.5v-19c0-.8.7-1.5 1.5-1.5h31c.8 0 1.5.7 1.5 1.5v19z" + } + }, + phone_portrait: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M43 4c0-2.2-1.8-4-4-4H13c-2.2 0-4 1.8-4 4v44c0 2.2 1.8 4 4 4h26c2.2 0 4-1.8 4-4V4zM26 50c-1.7 0-3-1.3-3-3s1.3-3 3-3 3 1.3 3 3-1.3 3-3 3zm11-9.5c0 .8-.7 1.5-1.5 1.5h-19c-.8 0-1.5-.7-1.5-1.5v-31c0-.8.7-1.5 1.5-1.5h19c.8 0 1.5.7 1.5 1.5v31z" + } + }, + photo: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "path": [{ + "d": "M26 20c-4.4 0-8 3.6-8 8s3.6 8 8 8 8-3.6 8-8-3.6-8-8-8z" + }, { + "d": "M46 14h-5.2c-1.4 0-2.6-.7-3.4-1.8l-2.3-3.5C34.4 7 32.7 6 30.9 6h-9.8c-1.8 0-3.5 1-4.3 2.7l-2.3 3.5c-.7 1.1-2 1.8-3.4 1.8H6c-2.2 0-4 1.8-4 4v24c0 2.2 1.8 4 4 4h40c2.2 0 4-1.8 4-4V18c0-2.2-1.8-4-4-4zM26 40c-6.6 0-12-5.4-12-12s5.4-12 12-12 12 5.4 12 12-5.4 12-12 12z" + }] + } + }, + picklist: { + "xmlns": "http://www.w3.org/2000/svg", + "path": [{ + "d": "M48 41c1.1 0 2-.9 2-2V13c0-1.1-.9-2-2-2H4c-1.1 0-2 .9-2 2v26c0 1.1.9 2 2 2h44zM6 37V15h40v22H6z" + }, { + "d": "M32.5 23h9.3c.3 0 .4.3.2.5l-4.6 5.3c-.2.2-.5.2-.7 0l-4.6-5.3c-.1-.2.1-.5.4-.5z" + }] + }, + picklist_choice: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M6.9 33.7H3.7c-.9 0-1.6.7-1.6 1.6v3.2c0 .9.7 1.6 1.6 1.6H7c.9-.1 1.5-.8 1.4-1.6v-3.2c.1-.9-.6-1.6-1.5-1.6zM16.5 11.8h31.6c.9 0 1.6-.7 1.6-1.6V7c0-.9-.7-1.6-1.6-1.6H16.5c-.9 0-1.6.7-1.6 1.6v3.2c0 .9.7 1.6 1.6 1.6zM16.5 26h31.6c.9 0 1.6-.7 1.6-1.6v-3.2c0-.9-.7-1.6-1.6-1.6H16.5c-.9 0-1.6.7-1.6 1.6v3.2c0 .8.7 1.6 1.6 1.6zM6.9 5.4H3.7c-.9 0-1.6.7-1.6 1.6v3.2c0 .9.7 1.6 1.6 1.6H7c.9-.1 1.5-.8 1.4-1.6V6.9c.1-.8-.6-1.5-1.5-1.5zM6.9 19.5H3.7c-.9 0-1.6.7-1.6 1.6v3.2c0 .9.7 1.6 1.6 1.6H7c.9-.1 1.5-.8 1.4-1.6v-3.2c.1-.8-.6-1.6-1.5-1.6zM20.9 39.7c0-1.8.6-3.6 1.7-5v-.5-.6h-6.1c-.9 0-1.6.7-1.6 1.6v3.2c0 .9.7 1.6 1.6 1.6h4.4v-.3zM35.2 31.4c.8-.8 1.9-1.3 3.2-1.3 1.7 0 3.1.9 3.9 2.2.6-.2 1.4-.5 2.2-.5 2.9 0 5.4 2.5 5.4 5.3 0 2.9-2.5 5.3-5.4 5.3-.3 0-.7 0-1-.1-.6 1.2-2 2-3.4 2-.6 0-1.2-.2-1.7-.4-.7 1.6-2.3 2.7-4.1 2.7-2 0-3.6-1.2-4.2-2.9-.2 0-.6.1-.9.1-2.3 0-4.2-1.8-4.2-4.1 0-1.5.8-2.9 2.1-3.6-.2-.6-.4-1.2-.4-1.9 0-2.6 2.2-4.8 4.8-4.8 1.4.1 2.9.8 3.7 2z" + } + }, + picklist_type: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M48.3 14.9H16.4c-.9 0-1.6-.7-1.6-1.6v-3.2c0-.9.7-1.6 1.6-1.6h31.9c.9 0 1.6.7 1.6 1.6v3.2c0 .9-.7 1.6-1.6 1.6zM48.3 29.2H16.4c-.9 0-1.6-.7-1.6-1.6v-3.2c0-.9.7-1.6 1.6-1.6h31.9c.9 0 1.6.7 1.6 1.6v3.2c0 .9-.7 1.6-1.6 1.6zM6.9 29.2H3.7c-.9 0-1.6-.7-1.6-1.6v-3.2c0-.9.7-1.6 1.6-1.6h3.2c.9 0 1.6.7 1.6 1.6v3.2c0 .9-.7 1.6-1.6 1.6zM6.9 14.9H3.7c-.9 0-1.6-.7-1.6-1.6v-3.2c0-.9.7-1.6 1.6-1.6h3.2c.9 0 1.6.7 1.6 1.6v3.2c0 .9-.7 1.6-1.6 1.6zM6.9 43.5H3.7c-.9 0-1.6-.7-1.6-1.6v-3.2c0-.9.7-1.6 1.6-1.6h3.2c.9 0 1.6.7 1.6 1.6v3.2c0 .9-.7 1.6-1.6 1.6zM48.3 43.5H16.4c-.9 0-1.6-.7-1.6-1.6v-3.2c0-.9.7-1.6 1.6-1.6h31.9c.9 0 1.6.7 1.6 1.6v3.2c0 .9-.7 1.6-1.6 1.6z" + } + }, + pin: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M49.5 15.4L36 1.9c-1.4-1.4-3.6-1.4-5 0s-1.4 3.6 0 5l.7.7-16.2 10.7-.5-.5c-1.4-1.4-3.6-1.4-5 0s-1.4 3.6 0 5l7.2 7.2L2.4 44.8c-1.4 1.4-1.4 3.7 0 5.1 1.4 1.4 3.7 1.4 5.1 0L22.3 35l6.3 6.3c1.4 1.4 3.6 1.4 5 0s1.4-3.6 0-5l-.5-.5 10.6-16.3.7.7c1.4 1.4 3.6 1.4 5 0 1.4-1.2 1.4-3.4.1-4.8z" + } + }, + pinned: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M36.9 23.7h-.5L33 7.9h.9c1.6 0 2.9-1.3 2.9-2.9s-1.3-2.9-2.9-2.9H18.1c-1.6 0-2.9 1.3-2.9 2.9s1.3 2.9 2.9 2.9h.9l-3.3 15.8h-.5c-1.6 0-2.9 1.3-2.9 2.9s1.3 2.9 2.9 2.9h8.4v17.4c0 1.6 1.3 3 3 3s3-1.3 3-3V29.6H37c1.6 0 2.9-1.3 2.9-2.9s-1.4-3-3-3z" + } + }, + planning_poker: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "path": { + "d": "M48.34 10l-6.27-2v29.12L49.88 13a2.41 2.41 0 00-1.53-3zM20.52 5.59L16.81 6.8 3.66 11.08a2.42 2.42 0 00-1.55 3l10.18 31.35a2.41 2.41 0 003 1.57l14-4.56 2.85-.94a2.39 2.39 0 001.56-3L23.59 7.14a2.4 2.4 0 00-3-1.57zM37.34 34.06V7.3a2.41 2.41 0 00-2.41-2.41H27.8a6.07 6.07 0 01.32.8l9.05 27.75a5.24 5.24 0 01.17.62z" + } + } + }, + play: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M8 43.7V8.3c0-1 1.3-1.7 2.2-.9l33.2 17.3c.8.6.8 1.9 0 2.5L10.2 44.7c-.9.7-2.2.1-2.2-1z" + } + }, + podcast_webinar: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "path": [{ + "d": "M48 22.8c0-4.9-1.8-9.6-5-13.2l-.4-.4C38.6 4.8 32.6 2 26 2 19.7 2 13.9 4.6 9.9 8.6h-.1C6.1 12.4 4 17.5 4 22.8 4 28.1 6.1 33.2 9.9 37c.8.8 2 .8 2.8 0s.8-2.1 0-2.9c-2.9-2.9-4.6-7-4.6-11.2 0-3.7 1.3-7.1 3.4-9.9.4-.5.7-.9 1.2-1.3.1-.1.2-.2.2-.3C16.2 8 20.9 6 26 6c9.8 0 17.8 7.6 17.9 16.9 0 4.2-1.7 8.3-4.7 11.2-.8.8-.8 2.1 0 2.9s2.1.8 2.9 0c3.8-3.8 5.9-8.8 5.9-14.2z" + }, { + "d": "M39.6 22.9c0-.1 0-.1 0 0 0-.1 0-.1 0 0 0-.1 0-.1 0 0 0-7.2-6.1-13-13.6-13-6.2 0-11.4 3.9-13.1 9.2-.4 1.2-.6 2.4-.6 3.7 0 3.1 1.2 6.1 3.4 8.3.8.8 2.1.8 2.9 0 .8-.8.8-2.1 0-2.9-1.4-1.4-2.2-3.3-2.2-5.3 0-4.9 4.5-8.8 9.6-8.8s9.6 4 9.6 8.8c0 2-.8 3.9-2.2 5.3-.8.8-.8 2.1 0 2.9.8.8 2 .8 2.8 0 2.2-2.2 3.4-5.1 3.4-8.2zM28.2 32.4h-4.4c-1.7 0-3.2 1.4-3.2 3.2v11.3c0 1.7 1.4 3.2 3.2 3.2h4.4c1.7 0 3.2-1.4 3.2-3.2V35.5c0-1.7-1.5-3.1-3.2-3.1z" + }], + "circle": { + "cx": "26", + "cy": "23.2", + "r": "5.4" + } + } + }, + pop_in: { + "xmlns": "http://www.w3.org/2000/svg", + "path": [{ + "d": "M22 31.3h19.1c.8 0 1.6-.5 1.6-1.3v-3c0-.8-.7-1.7-1.6-1.7h-7.9c-.9 0-1.4-1-.7-1.6l17-17c.6-.6.6-1.5 0-2.1l-2.1-2.1c-.6-.6-1.5-.6-2.1 0l-17 17c-.6.6-1.6.2-1.6-.7v-7.9c0-.8-.8-1.7-1.6-1.7h-2.9c-.8 0-1.5.9-1.5 1.7v19c.1.9.5 1.3 1.3 1.4z" + }, { + "d": "M37 35.3h-4c-.6 0-1 .4-1 1v6.2c0 .8-.7 1.5-1.5 1.5h-21c-.8 0-1.5-.7-1.5-1.5v-21c0-.8.7-1.5 1.4-1.5h6.3c.6 0 1-.4 1-1v-4c0-.6-.4-1-1-1H6c-2.2 0-4 1.8-4 4v28c0 2.2 1.8 4 4 4h28c2.2 0 4-1.8 4-4v-9.7c0-.6-.4-1-1-1z" + }] + }, + power: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "path": [{ + "d": "M34.4 7.7c-.7-.3-1.4.2-1.4.9v3.8c0 .7.4 1.4 1 1.7 5.3 3 8.7 9 7.9 15.7-.8 7.3-6.7 13.3-14.1 14.1C18.2 45 10 37.4 10 28c0-5.9 3.2-11.1 8-13.9.6-.3 1-1 1-1.7V8.6c0-.7-.7-1.2-1.4-.9C9.1 11.2 3.2 20 4.1 30c.9 10.3 9.1 18.7 19.4 19.9C36.7 51.3 48 41 48 28c0-9.2-5.6-17-13.6-20.3z" + }, { + "d": "M29 3.5c0-.8-.7-1.5-1.5-1.5h-3c-.8 0-1.5.7-1.5 1.5v17c0 .8.7 1.5 1.5 1.5h3c.8 0 1.5-.7 1.5-1.5v-17z" + }] + } + }, + preview: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "path": [{ + "d": "M51.8 25.1C47.1 15.6 37.3 9 26 9S4.9 15.6.2 25.1c-.3.6-.3 1.3 0 1.8C4.9 36.4 14.7 43 26 43s21.1-6.6 25.8-16.1c.3-.6.3-1.2 0-1.8zM26 37c-6.1 0-11-4.9-11-11s4.9-11 11-11 11 4.9 11 11-4.9 11-11 11z" + }, { + "d": "M26 19c-3.9 0-7 3.1-7 7s3.1 7 7 7 7-3.1 7-7-3.1-7-7-7z" + }] + } + }, + price_book_entries: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M25 2.3l11.7.2a5.51 5.51 0 012.5 1l4.6 4.6 4.6 4.6a3.55 3.55 0 011 2.5l.3 11.8a3.55 3.55 0 01-1 2.5L29.5 48.7a3.69 3.69 0 01-5 0L13.9 38.1 3.3 27.5a3.69 3.69 0 010-5L22.5 3.3a3.55 3.55 0 012.5-1zM18.6 21l-1.9 1.8a.85.85 0 000 1.3l11.2 11.2a.85.85 0 001.3 0l1.9-1.9a.85.85 0 000-1.3L19.7 21a.65.65 0 00-1.1 0zm5.3-5.4L22 17.5a.85.85 0 000 1.3L33.2 30a.85.85 0 001.3 0l1.9-1.9a.85.85 0 000-1.3L25.1 15.6a.91.91 0 00-1.2 0zM42 10a3.69 3.69 0 00-5 0 3.69 3.69 0 000 5 3.69 3.69 0 005 0 3.69 3.69 0 000-5z" + } + }, + price_books: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M8.6 36.9V29H7a3.22 3.22 0 01-3.2-3.2 3.26 3.26 0 013-3.2h1.8v-7.9H7a3.22 3.22 0 01-3.2-3.2 3.26 3.26 0 013-3.2h1.8V6.8a4.79 4.79 0 014.6-4.6h30c2.6 0 4.9 1.65 5 4.15V44.6a5.39 5.39 0 01-4.8 5.2h-30A5.26 5.26 0 018.5 45v-1.7H7a3.22 3.22 0 01-3.2-3.2 3.26 3.26 0 013-3.2zm18.9-23.2a2 2 0 00-1.5.6L14.8 25.4a2.05 2.05 0 000 2.9l12.3 12.3a2.05 2.05 0 002.9 0l11.2-11.2a2 2 0 00.6-1.5l-.2-6.8a1.68 1.68 0 00-.6-1.4l-5.3-5.4a2.25 2.25 0 00-1.4-.6zm-3.9 10.8a.48.48 0 01.7 0l6.5 6.5a.48.48 0 010 .7l-1.1 1.1a.48.48 0 01-.7 0l-6.5-6.5a.48.48 0 010-.7zm3.2-3a.48.48 0 01.7 0L34 28a.48.48 0 010 .7l-1 1a.48.48 0 01-.7 0l-6.5-6.5a.48.48 0 010-.7zm10.5-3.3a2.05 2.05 0 11-2.9 0 2.05 2.05 0 012.9 0z" + } + }, + pricing_workspace: { + "xmlns": "http://www.w3.org/2000/svg", + "path": [{ + "d": "M15.1 2.1a1.63 1.63 0 011.7 1.7v1.1a1.63 1.63 0 01-1.7 1.7H10a3.4 3.4 0 00-3.4 3.2V42a3.4 3.4 0 003.2 3.4H42a3.4 3.4 0 003.4-3.2v-5.3a1.63 1.63 0 011.7-1.7h1.1a1.63 1.63 0 011.7 1.7v6.2a6.81 6.81 0 01-6.8 6.8H8.9a6.81 6.81 0 01-6.8-6.8V8.9a6.81 6.81 0 016.8-6.8z", + "fill-rule": "evenodd" + }, { + "d": "M29.7 4.9l8.4.2a4 4 0 011.8.7l3.3 3.3 3.3 3.3a2.41 2.41 0 01.7 1.8l.2 8.4a2.64 2.64 0 01-.7 1.9L32.9 38.4a2.53 2.53 0 01-3.6 0l-7.6-7.6-7.6-7.6a2.53 2.53 0 010-3.6L27.9 5.7a2.34 2.34 0 011.8-.8zM25 18.4l-1.4 1.4a.75.75 0 000 .9l8.1 8.1a.75.75 0 00.9 0l1.4-1.4a.75.75 0 000-.9l-8.1-8.1a.56.56 0 00-.9 0zm3.8-3.8L27.5 16a.75.75 0 000 .9l8.1 8.1a.75.75 0 00.9 0l1.4-1.4a.75.75 0 000-.9l-8.1-8.1c-.3-.3-.6-.3-1 0zm13.1-4.1a2.55 2.55 0 100 3.6 2.54 2.54 0 000-3.6z" + }] + }, + print: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "path": { + "d": "M46.5 17.4h-41c-2.2 0-4 1.8-4 4v14c0 2.2 1.8 4 4 4h5.9v5.8c0 2.2 1.8 4 4 4h21.3c2.2 0 4-1.8 4-4v-5.8h5.9c2.2 0 4-1.8 4-4v-14c-.1-2.2-1.9-4-4.1-4zM8.3 27.7c-1.7 0-3-1.3-3-3s1.3-3 3-3 3 1.3 3 3-1.3 3-3 3zm27.6 15.4c0 .8-.7 1.5-1.5 1.5h-17c-.8 0-1.5-.7-1.5-1.5v-9.8c0-.8.7-1.5 1.5-1.5h17c.8 0 1.5.7 1.5 1.5v9.8zM40.5 11.1c0 .8-.7 1.5-1.5 1.5H12.8c-.8 0-1.5-.7-1.5-1.5V4.3c0-.8.7-1.5 1.5-1.5H39c.8 0 1.5.7 1.5 1.5v6.8z" + } + } + }, + priority: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "path": { + "d": "M9 3.5C9 2.7 8.3 2 7.5 2h-3C3.7 2 3 2.7 3 3.5v45c0 .8.7 1.5 1.5 1.5h3c.8 0 1.5-.7 1.5-1.5v-45zM47.5 7.7c-16 8.4-14.2-8.8-33.5-2.1-.6.2-1 .8-1 1.4v23.3c0 .7.7 1.2 1.3.9 19.2-6.4 17.2 11.2 33.9 1.8.5-.3.8-.8.8-1.3V8.5c0-.7-.8-1.2-1.5-.8z" + } + } + }, + privately_shared: { + "xmlns": "http://www.w3.org/2000/svg", + "path": [{ + "d": "M35.6 39.5c-.7-4.1-4.9-6.2-8.3-7.7-1.5-.7-3.6-1.5-4.2-3.3-.4-1-.2-2 .3-2.9.9-.9 1.7-1.7 2.4-2.8.2-.3.3-.5.5-.8 2-2.9 2.3-6.9 1.1-10.2-1.2-3.6-4.4-6-8.3-6.1h-.6c-3.9.1-7.1 2.5-8.3 6.1-1.2 3.4-.9 7.3 1.1 10.2.1.3.3.5.5.8.7 1.1 1.6 1.9 2.4 2.8.4.9.6 1.9.3 2.9-.6 1.8-2.7 2.6-4.2 3.3-3.4 1.5-7.6 3.6-8.3 7.7-.7 3.4 1.6 6.8 5.2 6.8h23.6c3.2 0 5.5-3.4 4.8-6.8zM41.3 9.9c4.1-.2 7.4 3 7.4 7.1 0 .3-.2.4-.4.4h-1.8c-.3 0-.4-.1-.4-.4v.1c0-2.4-1.8-4.4-4.1-4.6-2.6-.2-4.7 1.9-4.7 4.4 0 .3-.2.4-.4.4h-1.8c-.2 0-.4-.2-.4-.4 0-3.6 2.9-6.8 6.6-7z" + }, { + "d": "M48.7 19.2H34.6c-1 0-1.8.8-1.8 1.8v8.4c0 1 .8 1.8 1.8 1.8h14.1c1 0 1.8-.8 1.8-1.8V21c0-1-.8-1.8-1.8-1.8zm-5 8.7c.1.3-.1.6-.4.6H40c-.3 0-.5-.3-.4-.6l.8-2.6c-.7-.4-1.1-1.2-.9-2.1.2-.8.8-1.5 1.7-1.7 1.4-.3 2.6.7 2.6 2.1 0 .7-.4 1.4-.9 1.7l.8 2.6z" + }] + }, + process: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M16.2 23.2l8.5-10.6c.6-.8 1.8-.8 2.4 0l8.5 10.7c.3.4.7.7 1.2.7h9.6c.8 0 1.6-.7 1.6-1.5V8c0-2.2-1.9-4-4.1-4H8C5.8 4 4 5.8 4 8v14.5c0 .8.7 1.5 1.5 1.5H15c.5 0 .9-.4 1.2-.8zM35.7 28.8l-8.5 10.6c-.6.8-1.8.8-2.4 0l-8.5-10.7c-.4-.3-.8-.7-1.3-.7H5.5c-.8 0-1.5.7-1.5 1.5V44c0 2.2 1.8 4 4 4h36c2.2 0 4-1.8 4-4V29.5c0-.8-.7-1.5-1.5-1.5h-9.6c-.5 0-.9.4-1.2.8z" + } + }, + product_quantity_rules: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M21.45 32.64H5.36a1.29 1.29 0 00-1.28 1.29v1.28a1.28 1.28 0 001.28 1.28h16.09a1.28 1.28 0 001.28-1.28v-1.28a1.29 1.29 0 00-1.28-1.29zM21.45 41.66H5.36A1.29 1.29 0 004.08 43v1.32a1.28 1.28 0 001.28 1.28h16.09a1.28 1.28 0 001.28-1.28V43a1.29 1.29 0 00-1.24-1.34zM46.65 32.64H30.57a1.29 1.29 0 00-1.28 1.29v1.28a1.28 1.28 0 001.28 1.28h16.08a1.28 1.28 0 001.29-1.27v-1.29a1.29 1.29 0 00-1.29-1.29zM46.65 41.66H30.57A1.29 1.29 0 0029.29 43v1.32a1.28 1.28 0 001.28 1.28h16.08a1.28 1.28 0 001.29-1.27V43a1.29 1.29 0 00-1.24-1.34zM38.61 6.52a10.17 10.17 0 1010.17 10.17A10.19 10.19 0 0038.61 6.52zm5 10.88a.63.63 0 01-.61.6h-8.79a.6.6 0 01-.64-.55 8.66 8.66 0 010-1.44.66.66 0 01.64-.55H43a.64.64 0 01.63.55 9.22 9.22 0 010 1.39zM20.63 9.45a10.21 10.21 0 100 14.44 10.21 10.21 0 000-14.44zm-.43 8.07a.4.4 0 01-.38.42h-4.71a.45.45 0 00-.43.43V23a.44.44 0 01-.42.42h-1.7a.4.4 0 01-.43-.37v-4.68a.4.4 0 00-.37-.43H7a.4.4 0 01-.43-.37v-1.75a.45.45 0 01.43-.43h4.67a.4.4 0 00.42-.38V10.3a.47.47 0 01.43-.43h1.7a.42.42 0 01.42.42V15a.4.4 0 00.38.42h4.72a.45.45 0 01.42.43z" + } + }, + product_service_campaign: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M24 35.33a.81.81 0 01.81.71v11.52A2.44 2.44 0 0122.49 50H6.07a2.45 2.45 0 01-2.44-2.28V36.15a.81.81 0 01.71-.81H24zm23.61 0a.82.82 0 01.81.71v11.52A2.44 2.44 0 0146.09 50H29.67a2.44 2.44 0 01-2.43-2.28V36.15a.81.81 0 01.71-.81h19.61zM17.69 38.7l-.09.07-4.6 5.06-2.11-2a.62.62 0 00-.79-.07l-.08.07-.87.78a.49.49 0 00-.07.71l.07.08 3 2.83a1.25 1.25 0 00.87.36 1.15 1.15 0 00.87-.36l5.52-5.84a.63.63 0 00.06-.72l-.06-.07-.87-.78a.61.61 0 00-.85-.12zm23.61 0l-.09.07-4.66 5.06-2.11-2a.61.61 0 00-.78-.07l-.09.07-.87.78a.49.49 0 00-.06.71l.06.08 3 2.83a1.25 1.25 0 00.87.36 1.14 1.14 0 00.87-.36L43 40.34a.65.65 0 000-.72v-.07l-.87-.78a.61.61 0 00-.83-.07zM22.54 27.18a2.36 2.36 0 012.27 2.28v2.61a.81.81 0 01-.66.81H2.76a.78.78 0 01-.76-.7v-2.55a2.38 2.38 0 012.13-2.44h18.41zm25.18 0A2.36 2.36 0 0150 29.46v2.61a.81.81 0 01-.66.81h-21.4a.78.78 0 01-.75-.71v-2.54a2.38 2.38 0 012.13-2.44h18.4zm-12-17a.81.81 0 01.8.71v11.48a2.44 2.44 0 01-2.28 2.44H17.87a2.46 2.46 0 01-2.44-2.29V11a.81.81 0 01.71-.8h19.62zm-6.27 3.37l-.08.07-4.66 5.06-2.11-2a.61.61 0 00-.78-.07l-.09.07-.87.78a.5.5 0 00-.07.71l.07.08 3 2.82a1.22 1.22 0 00.87.37 1.13 1.13 0 00.87-.37l5.53-5.83a.65.65 0 00.05-.72l-.05-.07-.87-.78a.62.62 0 00-.77-.15zM35.76 2a2.44 2.44 0 012.43 2.28v2.61a.83.83 0 01-.71.81H14.62a.81.81 0 01-.81-.7V4.44A2.44 2.44 0 0116.08 2z" + } + }, + product_service_campaign_item: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M45.2 19.6a1.6 1.6 0 011.59 1.45V43.6a4.82 4.82 0 01-4.59 4.8H10a4.82 4.82 0 01-4.8-4.59V21.2a1.6 1.6 0 011.45-1.59H45.2zm-12.39 6.67l-.11.08-9.16 9.93-4.15-4a1.2 1.2 0 00-1.61-.08l-.1.08L16 33.8a1 1 0 00-.09 1.44l.09.1 5.86 5.55a2.47 2.47 0 001.71.71 2.27 2.27 0 001.71-.71l4.9-5.16.39-.41.52-.55 5-5.3A1.25 1.25 0 0036.2 28l-.07-.09-1.72-1.54a1.19 1.19 0 00-1.6-.1zM45.2 3.6A4.81 4.81 0 0150 8.4v4.8a1.6 1.6 0 01-1.6 1.6H3.6A1.6 1.6 0 012 13.2V8.4a4.81 4.81 0 014.8-4.8z" + } + }, + product_warranty_term: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M38.77 25.61c1.42 0 2.54 1.54 3.79 2.07s3.19.24 4.13 1.24.71 2.84 1.24 4.14S50 35.42 50 36.84s-1.54 2.54-2.07 3.78-.23 3.19-1.24 4.14-2.83.7-4.13 1.24-2.37 2.06-3.79 2.06S36.23 46.53 35 46s-3.19-.24-4.13-1.24-.71-2.84-1.24-4.14-2.07-2.36-2.07-3.78 1.53-2.54 2.07-3.78.23-3.19 1.24-4.14 2.83-.71 4.13-1.24 2.36-2.07 3.77-2.07zM26.71 41a4.82 4.82 0 01.38.7c.5 1.22.47 2.83.89 4.08H3.39A1.5 1.5 0 012 44.15v-1.59A1.51 1.51 0 013.39 41h23.32zM43 33.18a.55.55 0 00-.81 0l-4.38 5-2-2a.55.55 0 00-.81 0l-.82.77a.52.52 0 000 .77l2.8 2.8a1.13 1.13 0 00.82.35 1.05 1.05 0 00.82-.35l5.19-5.77a.62.62 0 000-.77zM6.65 12.3A1.38 1.38 0 018 13.73V36a1.38 1.38 0 01-1.32 1.43H3.33A1.39 1.39 0 012 36V13.73a1.39 1.39 0 011.33-1.43h3.32zm19 0a1.43 1.43 0 011.43 1.43V32c-.68 1.57-2.63 3-2.63 4.81a2.48 2.48 0 00.06.54h-3.16A1.43 1.43 0 0119.92 36V13.73a1.43 1.43 0 011.43-1.43h4.3zm-9.71 0a1.52 1.52 0 011.59 1.43V36a1.52 1.52 0 01-1.59 1.43h-1.6A1.52 1.52 0 0112.75 36V13.73a1.52 1.52 0 011.59-1.43h1.6zm17.91 0a1.52 1.52 0 011.6 1.43v10.48a7 7 0 01-1.5.94 19.63 19.63 0 01-3.28.69V13.73a1.52 1.52 0 011.59-1.43h1.59zm8.63 0a1.39 1.39 0 011.33 1.43v11.5l-.21-.08c-1.58-.67-3-2.63-4.83-2.63a2.79 2.79 0 00-.94.17v-9a1.39 1.39 0 011.33-1.43h3.32zm-.07-8.36a1.51 1.51 0 011.4 1.59v1.59a1.51 1.51 0 01-1.4 1.59h-39A1.5 1.5 0 012 7.12V5.53a1.5 1.5 0 011.39-1.59h39z" + } + }, + product_workspace: { + "xmlns": "http://www.w3.org/2000/svg", + "path": [{ + "d": "M15.2 2.2a1.63 1.63 0 011.7 1.7V5a1.63 1.63 0 01-1.7 1.7h-5.1a3.4 3.4 0 00-3.4 3.2v32a3.4 3.4 0 003.2 3.4h32a3.4 3.4 0 003.4-3.2v-5.3a1.63 1.63 0 011.7-1.7h1.1a1.63 1.63 0 011.7 1.7V43a6.81 6.81 0 01-6.8 6.8H9A6.81 6.81 0 012.2 43V9A6.81 6.81 0 019 2.2z", + "fill-rule": "evenodd" + }, { + "d": "M40.4 25.4l3.1-3.1a1 1 0 000-1.5L31 8.2a1 1 0 00-1.5 0l-3.1 3.1a1 1 0 000 1.5l12.5 12.5a1 1 0 001.5.1zM47.4 18.3l1.5-1.5a1 1 0 000-1.5L36.5 2.7a1 1 0 00-1.5 0l-1.5 1.5a1 1 0 000 1.5L46 18.3a1 1 0 001.4 0zM36.8 28.9c.6-.6.5-1.1.1-1.5L24.4 14.9a1 1 0 00-1.5 0l-.1.1a1 1 0 000 1.5L35.3 29a1 1 0 001.5-.1zM32.4 33.3l.7-.7a1 1 0 000-1.5L20.7 18.5a1 1 0 00-1.5 0l-.7.7a1 1 0 000 1.5L31 33.2c.3.6.9.6 1.4.1zM25.7 40.1l3.1-3.1a1 1 0 000-1.5L16.3 22.9a1 1 0 00-1.5 0L11.7 26a1 1 0 000 1.5L24.2 40a1 1 0 001.5.1z" + }] + }, + products: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "path": { + "d": "M31.9 39.5h6a1.42 1.42 0 001.5-1.5V14a1.42 1.42 0 00-1.5-1.5h-6a1.42 1.42 0 00-1.5 1.5v24a1.42 1.42 0 001.5 1.5zM45.4 39.5h3a1.42 1.42 0 001.5-1.5V14a1.42 1.42 0 00-1.5-1.5h-3a1.42 1.42 0 00-1.5 1.5v24a1.42 1.42 0 001.5 1.5zM25 39.5a1.37 1.37 0 001.5-1.5V14a1.42 1.42 0 00-1.5-1.5 1.42 1.42 0 00-1.5 1.5v24a1.37 1.37 0 001.5 1.5zM16.6 39.5H18a1.42 1.42 0 001.5-1.5V14a1.42 1.42 0 00-1.5-1.5h-1.5A1.42 1.42 0 0015 14v24a1.45 1.45 0 001.6 1.5zM3.6 39.5h6a1.42 1.42 0 001.5-1.5V14a1.42 1.42 0 00-1.5-1.5h-6A1.42 1.42 0 002.1 14v24a1.47 1.47 0 001.5 1.5z" + } + } + }, + profile: { + "xmlns": "http://www.w3.org/2000/svg", + "circle": { + "cx": "26", + "cy": "20.7", + "r": "6.15" + }, + "path": { + "d": "M27.14 2.72a1.89 1.89 0 00-2.28 0c-8.42 6.34-16.37 12.33-16.37 24A16.92 16.92 0 0013.19 39c.24.24.48.47.74.7a17.9 17.9 0 0010.53 4.19L22.74 47s-2 2.68 2.69 2.68h1.14c4.72 0 2.68-2.68 2.68-2.68l-1.71-3.06a17.9 17.9 0 0010.53-4.19c3.56-3.13 5.44-7.64 5.44-13 0-11.7-7.95-17.69-16.37-24.03zm10.1 32.37a9.74 9.74 0 01-1 1.13A10.77 10.77 0 0016 35.67 10.17 10.17 0 0114.53 34a15 15 0 01-1.94-10.84c1.24-6.62 6.07-11 13.41-16.56 8.57 6.52 13.73 11.4 13.73 20.08a13.73 13.73 0 01-2.49 8.41z" + } + }, + promotions: { + "xmlns": "http://www.w3.org/2000/svg", + "path": [{ + "d": "M33.39 28.66a3.12 3.12 0 103.15 3.13 3.12 3.12 0 00-3.15-3.13zM18.52 17.08a3.12 3.12 0 103.12 3.13 3.12 3.12 0 00-3.12-3.13z" + }, { + "d": "M48.77 22.84l-2.61-3.13a5.61 5.61 0 01-1.31-3.24l-.3-4a5.13 5.13 0 00-4.69-4.78l-3.49-.28a7.36 7.36 0 01-4.2-1.79l-2.65-2.33a5.15 5.15 0 00-6.7-.06l-2.88 2.43a6.64 6.64 0 01-3.79 1.54l-3.74.26a5.14 5.14 0 00-4.78 4.7l-.27 3.41a7.49 7.49 0 01-1.8 4.24l-2.29 2.64a5.14 5.14 0 00-.06 6.69l2.49 3a6.21 6.21 0 011.42 3.56l.28 3.85a5.15 5.15 0 004.69 4.78l3.5.31a7.23 7.23 0 014.18 1.78l2.66 2.3a5.17 5.17 0 006.7.05l3.05-2.55a5.9 5.9 0 013.4-1.36l4-.29a5.13 5.13 0 004.78-4.69l.29-3.24a8.18 8.18 0 012-4.64l2.13-2.43a5.12 5.12 0 00-.01-6.73zm-36-2.63A5.8 5.8 0 1118.58 26a5.79 5.79 0 01-5.82-5.76zm8.39 17.11a.46.46 0 01-.35.23h-1.73a.45.45 0 01-.37-.22.42.42 0 010-.43l12.12-22.25a.51.51 0 01.36-.22H33a.43.43 0 01.21.58zm18.13-5.54a4.51 4.51 0 10-.08 0z" + }] + }, + prompt: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "fill-rule": "evenodd", + "clip-rule": "evenodd", + "d": "M47 4.5H5c-1.7 0-3 1.3-3 3v30.6c0 1.7 1.3 3 3 3h14.5l3.6 5.2c1 1.4 2.8 1.7 4.2.7l.6-.6 4.2-5.3H47c1.7 0 3-1.3 3-3V7.5c0-1.7-1.3-3-3-3z" + } + }, + prompt_edit: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "fill-rule": "evenodd", + "clip-rule": "evenodd", + "d": "M47 4.5H5c-1.7 0-3 1.3-3 3v30.6c0 1.7 1.3 3 3 3h14.5l3.6 5.2c1 1.4 2.8 1.7 4.2.7l.6-.6 4.2-5.3H47c1.7 0 3-1.3 3-3V7.5c0-1.7-1.3-3-3-3zM21.3 32c-.2.2-.3.3-.5.3l-5 1.2c-.5.1-.9-.3-.8-.8l1.2-5c0-.1.1-.3.2-.4l.1-.1c.1-.1.4-.1.6 0l4.2 4.2c.1.2.1.5 0 .6zm12.1-12.3L23.1 30c-.2.2-.5.2-.6 0l-4.1-4.1c-.2-.1-.2-.4 0-.6L28.6 15c.2-.2.5-.2.6 0l4.1 4.1c.2.2.2.4.1.6zm3.1-3l-1.2 1.2c-.2.2-.5.2-.6 0l-4.1-4.1c-.2-.2-.2-.5 0-.6l1.1-1.2c.7-.7 1.9-.7 2.6 0l2.2 2.2c.7.7.7 1.8 0 2.5z" + } + }, + propagation_policy: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M13.6 2H8a6 6 0 00-6 6v4a6 6 0 006 6h5.6a6 6 0 006-6V8a6 6 0 00-6-6zm-2 11.2H10a3.2 3.2 0 010-6.4h1.6a3.2 3.2 0 010 6.4zM30.4 18H36a6 6 0 006-6V8a6 6 0 00-6-6h-5.6a6 6 0 00-6 6v4a6 6 0 006 6zm2-11.2H34a3.2 3.2 0 110 6.4h-1.6a3.2 3.2 0 110-6.4zM13.6 22.8H8a6 6 0 00-6 6v4a6 6 0 006 6h5.6a6 6 0 006-6v-4a6 6 0 00-6-6zm-2 11.2H10a3.2 3.2 0 110-6.4h1.6a3.2 3.2 0 110 6.4zM47.6 39.6h-8v-2.82a7.2 7.2 0 10-4.8 0v2.82h-8a2.39 2.39 0 00-2.4 2.4v5.62A2.39 2.39 0 0026.8 50a2.39 2.39 0 002.38-2.4v-3.2h5.6v3.22A2.39 2.39 0 0037.2 50a2.39 2.39 0 002.38-2.4v-3.2h5.6v3.22A2.39 2.39 0 0047.6 50a2.39 2.39 0 002.4-2.4V42a2.39 2.39 0 00-2.4-2.4zm-10.4-12a2.4 2.4 0 11-2.4 2.4 2.39 2.39 0 012.42-2.4z", + "fill-rule": "evenodd" + } + }, + push: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "path": [{ + "d": "M44 2H20c-2.2 0-4 1.8-4 4v.1c0 .7.4 1.4 1 1.8.3.2 4.1 4 4.1 4 .3.3.8 0 .8-.4 0-.8.7-1.6 1.5-1.6h17c.8 0 1.6.8 1.6 1.6v27c0 .8-.8 1.4-1.6 1.4h-17c-.8 0-1.4-.6-1.4-1.4v-.1c0-.4-.5-.6-.8-.3 0 0-3.8 3.8-4.2 4-.6.4-1 1-1 1.8v2c0 2.2 1.7 4 3.9 4h24c2.2 0 4.1-1.8 4.1-4V6c0-2.2-1.8-4-4-4zM32 48c-1.7 0-3-1.3-3-3s1.3-3 3-3 3 1.3 3 3-1.3 3-3 3z" + }, { + "d": "M27.6 23.9L15.1 11.4c-.6-.6-1.5-.6-2.1 0l-2.1 2.1c-.6.6-.6 1.5 0 2.1l4.6 4.6c.6.6.2 1.7-.7 1.7H1.5c-.8.1-1.5.8-1.5 1.6v3c0 .8.7 1.5 1.5 1.5h13.2c.9 0 1.3 1.1.7 1.7l-4.6 4.6c-.6.6-.6 1.5 0 2.1l2.1 2.1c.6.6 1.5.6 2.1 0L27.6 26c.5-.5.5-1.5 0-2.1z" + }] + } + }, + puzzle: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M45 38.4c-.2 2.7-.5 5.6-1 8.4-.1.8-1 1.7-1.8 1.8-5.4.6-10.7 1-16.1 1-5.3 0-10.7-.3-16-1-.8-.1-1.7-.9-1.8-1.8-.7-4.4-1.1-8.9-1.1-13.4s.4-9 1.1-13.4c.1-.8 1-1.6 1.8-1.8 3.3-.4 6.5-.6 9.7-.8 0 0 2.6-.1 2.4-2.6-.2-2.2-4-3.7-4-7.4 0-3 3-5.4 7.9-5.4 4.8 0 7.8 2.4 7.8 5.4 0 3.8-3.7 5.2-3.9 7.4-.2 2.4 2.4 2.6 2.4 2.6 3.3.1 6.6.4 9.8.8.8.1 1.7.9 1.8 1.8.5 3.1.8 6 1 9.1 0 .9-.7 1.8-1.6 1.8h-.9c-.9 0-2.3-.7-2.9-1.4 0 0-2.1-2.2-4.4-2.3-3.7-.1-6.5 3.1-6.5 6.6s2.8 6.8 6.4 6.7c2.2-.1 4.4-2.3 4.4-2.3.7-.6 2-1.2 2.9-1.2h.9c1.1 0 1.8.6 1.7 1.4z" + } + }, + question: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M28.4 38h-5c-.8 0-1.4-.6-1.4-1.4v-1.5c0-4.2 2.7-8 6.7-9.4 1.2-.4 2.3-1.1 3.2-2.1 5-6 .4-13.2-5.6-13.4-2.2-.1-4.3.7-5.9 2.2-1.3 1.2-2.1 2.7-2.3 4.4-.1.6-.7 1.1-1.5 1.1h-5c-.9 0-1.6-.7-1.5-1.6.4-3.8 2.1-7.2 4.8-9.9 3.2-3 7.3-4.6 11.7-4.5C34.9 2.2 41.7 9 42 17.3c.3 7-4 13.3-10.5 15.7-.9.4-1.5 1.1-1.5 2v1.5c0 .9-.8 1.5-1.6 1.5zM30 48.5c0 .8-.7 1.5-1.5 1.5h-5c-.8 0-1.5-.7-1.5-1.5v-5c0-.8.7-1.5 1.5-1.5h5c.8 0 1.5.7 1.5 1.5v5z" + } + }, + question_mark: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "path": { + "d": "M26.7 42.8c.8 0 1.5.7 1.5 1.5v3.2c0 .8-.7 1.5-1.5 1.5h-3.2c-.8 0-1.5-.7-1.5-1.5v-3.2c0-.8.7-1.5 1.5-1.5h3.2zM28.2 35.1c0-2.1 1.3-4 3.1-4.8h.1c5.2-2.1 8.8-7.2 8.8-13.2 0-7.8-6.4-14.2-14.2-14.2-7.2 0-13.2 5.3-14.2 12.2v.1c-.1.9.6 1.6 1.5 1.6h3.2c.8 0 1.4-.5 1.5-1.1v-.2c.7-3.7 4-6.5 7.9-6.5 4.5 0 8.1 3.6 8.1 8.1 0 2.1-.8 4-2.1 5.5l-.1.1c-.9 1-2.1 1.6-3.3 2-4 1.4-6.7 5.2-6.7 9.4v1.5c0 .8.6 1.4 1.4 1.4h3.2c.8 0 1.6-.6 1.6-1.5l.2-.4z" + } + } + }, + questions_and_answers: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M50 28c0-3.9-2.5-7.3-6-8.5C43.7 9.8 35.8 2 26 2S8.3 9.8 8 19.5c-3.5 1.2-6 4.6-6 8.5 0 4.2 2.9 7.7 6.7 8.7C10.9 44.4 17.8 50 26 50s15.1-5.6 17.3-13.3c3.8-1 6.7-4.5 6.7-8.7zm-10-9l-.1-.1.4.1H40zM26 46c-7.7 0-14-6.5-14-14.4 0-2 .4-5 1.2-6.8.1-.3.3-.6.4-.9 3-1.2 5.6-3.3 7.3-6 3.5 4.4 9 7.4 15.1 7.4 2.1 0 2.7.1 2.9 0 .4 1.3.8 2.9.9 4.5-.6 2.5-4.5 4.9-10 5.2-.2-.5-.8-1-1.4-1h-5c-.8 0-1.4.8-1.4 1.6v3c0 .8.6 1.4 1.4 1.4h5c.7 0 1.2-.3 1.4-.9 3.6-.1 6.8-1.1 9.3-2.6C37.2 42 32.1 46 26 46z" + } + }, + quick_text: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M26.1 3.3C12.5 3.3 1.5 13.4 1.5 25.8c0 3.9 1.1 7.6 3 10.9.3.5.4 1.1.2 1.7l-3.2 8.7c-.3.8.5 1.5 1.3 1.3l8.8-3.4c.5-.2 1.1-.1 1.7.2 3.7 2.1 8.1 3.3 12.9 3.3 13.5-.1 24.5-10.1 24.5-22.6 0-12.5-11-22.6-24.6-22.6zM14.7 25c0-.5.4-1 1-1h15.9c.5 0 1 .4 1 1v2c0 .5-.4 1-1 1h-16c-.5 0-1-.4-1-1v-2zm22.9 9.6c0 .5-.4 1-1 1h-21c-.5 0-1-.4-1-1v-1.9c0-.5.4-1 1-1h21c.5 0 1 .4 1 1v1.9zm0-15.3c0 .5-.4 1-1 1h-21c-.5 0-1-.4-1-1v-1.9c0-.5.4-1 1-1h21c.5 0 1 .4 1 1v1.9z" + } + }, + quip: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M24.5 2.1c-12 .7-21.7 10.4-22.4 22.4C1.1 38.3 12.2 50 26 50h24V26C50 12.2 38.3 1.1 24.5 2.1zm-9.9 13.4c0-.9.7-1.6 1.6-1.6h19.6c.9 0 1.6.7 1.6 1.6v1.6c0 .9-.7 1.6-1.6 1.6H16.1c-.9 0-1.6-.7-1.6-1.6.1.1.1-1.6.1-1.6zm22.8 20.8c0 .9-.7 1.6-1.6 1.6H16.1c-.9 0-1.6-.7-1.6-1.6v-1.6c0-.9.7-1.6 1.6-1.6h19.6c.9 0 1.6.7 1.6 1.6v1.6h.1zm6-9.5c0 .9-.7 1.6-1.6 1.6H10.1c-.9 0-1.6-.7-1.6-1.6v-1.6c0-.9.7-1.6 1.6-1.6h31.7c.9 0 1.6.7 1.6 1.6v1.6z" + } + }, + quotation_marks: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "path": { + "d": "M44.3 6.5c-9 0-15.9 7-15.9 16V44c0 .8.7 1.5 1.5 1.5h17c.8 0 1.5-.7 1.5-1.5V27c0-.8-.7-1.5-1.5-1.5H34.4v-3c0-5 4.9-10 9.9-10h2.6c.8 0 1.5-.7 1.5-1.5V8c0-.8-.7-1.5-1.5-1.5h-2.6zM19.5 6.5c-9 0-15.9 7-15.9 16V44c0 .8.7 1.5 1.5 1.5h17c.8 0 1.5-.7 1.5-1.5V27c0-.8-.7-1.5-1.5-1.5H9.6v-3c0-5 4.9-10 9.9-10h2.6c.8 0 1.5-.7 1.5-1.5V8c0-.8-.7-1.5-1.5-1.5h-2.6z" + } + } + }, + quote: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M45.2 2.1H27.7c-1.1-.1-2.1.5-2.9 1.3L3.4 24.9c-1.8 1.8-1.8 4.9 0 6.8l17 17c1.8 1.8 4.9 1.8 6.8 0l21.7-21.8c.8-.8 1.3-2.1 1.2-3.2V6.9c-.1-2.6-2.3-4.8-4.9-4.8zM27.9 37.3l-1.1 1.1c-.6.6-1.6.6-2.2 0L13.7 27.6c-.6-.6-.6-1.6 0-2.2l1.1-1.1c.6-.6 1.6-.6 2.2 0l10.9 10.9c.7.5.7 1.5 0 2.1zm6.4-6.4L33.2 32c-.6.6-1.6.6-2.2 0L20.1 21.2c-.6-.6-.6-1.6 0-2.2l1.1-1.1c.6-.6 1.6-.6 2.2 0l10.9 10.9c.7.5.7 1.5 0 2.1zm4.5-13.6c-2.2 0-4-1.8-4-4s1.8-4 4-4 4 1.8 4 4-1.8 4-4 4z" + } + }, + radio_button: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M13.1 28.5C7.2 28.5 2.5 33.2 2.5 39s4.7 10.6 10.6 10.6c5.8 0 10.6-4.7 10.6-10.6-.1-5.8-4.8-10.5-10.6-10.5zm0 16.4c-3.2 0-5.9-2.6-5.9-5.9s2.6-5.9 5.9-5.9S19 35.7 19 39s-2.7 5.9-5.9 5.9zM38.9 28.5c-5.8 0-10.6 4.7-10.6 10.6 0 5.8 4.7 10.6 10.6 10.6 5.8 0 10.6-4.7 10.6-10.6 0-5.9-4.7-10.6-10.6-10.6zM13.1 2.5C7.2 2.5 2.5 7.2 2.5 13.1c0 5.8 4.7 10.6 10.6 10.6 5.8 0 10.6-4.7 10.6-10.6-.1-5.9-4.8-10.6-10.6-10.6zm0 16.4c-3.2 0-5.9-2.6-5.9-5.9s2.6-5.9 5.9-5.9S19 9.7 19 13s-2.7 5.9-5.9 5.9zM38.9 2.5c-5.8 0-10.6 4.7-10.6 10.6 0 5.8 4.7 10.6 10.6 10.6 5.8 0 10.6-4.7 10.6-10.6 0-5.9-4.7-10.6-10.6-10.6z" + } + }, + rating: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M27.413 3.101l4.6 15c.2.6.8.9 1.4.9h15c1.5 0 2.1 2 .9 2.9l-12.2 9c-.5.4-.7 1.1-.5 1.7l5.8 15.4c.4 1.4-1.1 2.6-2.3 1.7l-13.1-9.8c-.5-.4-1.2-.4-1.8 0l-13.2 9.8c-1.2.9-2.8-.3-2.3-1.7l5.6-15.4c.2-.6 0-1.3-.5-1.7l-12.2-9c-1.2-.9-.5-2.9.9-2.9h15c.7 0 1.2-.2 1.4-.9l4.7-15.1c.4-1.4 2.4-1.3 2.8.1zm-1.4 9.701C26 14.17 26 33.542 26 34.495c.187.153 2.933 2.194 8.24 6.125.7.525 1.574-.175 1.34-.992L32.31 31.02c-.35-.77 0-1.271.43-1.535l6.866-4.789c.7-.525.35-1.691-.525-1.691h-8.06c-.35 0-1.268-.117-1.517-1.016l-2.67-8.545a.89.89 0 00-.82-.642z" + } + }, + reassign: { + "xmlns": "http://www.w3.org/2000/svg", + "path": [{ + "d": "M23.2 10.2C18.1 5.1 10 3.5 2.9 5.7c-.3 0-.7.5-.7 1.3v3.9c0 .8.7 1 1.1.9 5.4-2.2 12-1.2 16.3 3.3l1.1 1.1c.6.6.1 1.7-.7 1.7h-7.8c-.8 0-1.5.6-1.5 1.5v3c0 .8.6 1.5 1.5 1.5l19.2.2c.8 0 1.5-.6 1.5-1.5L33 3.5c0-.8-.6-1.5-1.5-1.5h-3c-.8 0-1.6.6-1.6 1.4l-.1 7.9c0 .8-1.1 1.3-1.7.7.1.1-1.9-1.8-1.9-1.8z" + }, { + "d": "M3.5 27.8h3c.8 0 1.5.7 1.5 1.5v13.2c0 .8.7 1.5 1.5 1.5h33c.8 0 1.5-.7 1.5-1.5V16.9c0-.8-.7-1.5-1.5-1.5h-4c-.8 0-1.5-.7-1.5-1.5v-3c0-.8.7-1.5 1.5-1.5H46c2.2 0 4 1.8 4 4V46c0 2.2-1.8 4-4 4H6c-2.2 0-4-1.8-4-4V29.3c0-.8.7-1.5 1.5-1.5z" + }] + }, + recipe: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M31.2 4.24A2.24 2.24 0 1129 2a2.24 2.24 0 012.2 2.24zM23 12.56a3 3 0 10-3-3 3 3 0 003 3zm19.44 31l-10-15.36V20a2.14 2.14 0 002.4-2.24A2 2 0 0033 15.6H19.2a2 2 0 00-2 2 2.09 2.09 0 000 .25 2.16 2.16 0 002.4 2.24v8.31l-10 15.2a4.26 4.26 0 00-.24 4.24A3.91 3.91 0 0012.88 50H39a3.9 3.9 0 003.52-2.16 4 4 0 00-.16-4.24zm-18.8-14V20.4h4.8v9.28l4.72 7.52H18.88z", + "fill-rule": "evenodd" + } + }, + record: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M26 8c9.9 0 18 8.1 18 18s-8.1 18-18 18S8 35.9 8 26 16.1 8 26 8z" + } + }, + record_create: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M40.8 7.7" + }, + "g": { + "path": [{ + "d": "M17.2 11.6h17.6c.9 0 1.6-.7 1.6-1.6V6.8c0-2.6-2.2-4.8-4.8-4.8H20.4c-2.6 0-4.8 2.2-4.8 4.8V10c0 .9.7 1.6 1.6 1.6z" + }, { + "d": "M43.6 6H42c-.5 0-.8.3-.8.8V10c0 3.5-2.9 6.4-6.4 6.4H17.2c-3.5 0-6.4-2.9-6.4-6.4V6.8c0-.5-.3-.8-.8-.8H8.4c-2.6 0-4.8 2.2-4.8 4.8v34.4c0 2.6 2.2 4.8 4.8 4.8h35.2c2.6 0 4.8-2.2 4.8-4.8V10.8c0-2.6-2.2-4.8-4.8-4.8zm-5.9 28.2c0 .4-.4.8-.8.8h-8.8c-.3 0-.5.2-.5.5v8.8c0 .4-.4.8-.8.8h-1.6c-.4 0-.8-.4-.8-.8v-8.8c0-.3-.2-.5-.5-.5h-8.8c-.4 0-.8-.4-.8-.8v-1.6c0-.4.4-.8.8-.8h8.8c.3 0 .5-.2.5-.5v-8.8c0-.4.4-.8.8-.8h1.6c.4 0 .8.4.8.8v8.8c0 .3.2.5.5.5h8.8c.4 0 .8.4.8.8v1.6z" + }] + } + }, + record_delete: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "path": [{ + "d": "M17.2 11.6h17.6c.9 0 1.6-.7 1.6-1.6V6.8c0-2.6-2.2-4.8-4.8-4.8H20.4c-2.6 0-4.8 2.2-4.8 4.8V10c0 .9.7 1.6 1.6 1.6z" + }, { + "d": "M43.6 6H42c-.5 0-.8.3-.8.8V10c0 3.5-2.9 6.4-6.4 6.4H17.2c-3.5 0-6.4-2.9-6.4-6.4V6.8c0-.5-.3-.8-.8-.8H8.4c-2.6 0-4.8 2.2-4.8 4.8v34.4c0 2.6 2.2 4.8 4.8 4.8h35.2c2.6 0 4.8-2.2 4.8-4.8V10.8c0-2.6-2.2-4.8-4.8-4.8zm-9.3 36.4c0 1.4-1.1 2.4-2.4 2.4H20.1c-1.4 0-2.4-1.1-2.4-2.4V32.1c0-.4.3-.7.7-.7h15.2c.4 0 .7.3.7.7v10.3zm2-14.9c0 .4-.3.7-.7.7H16.5c-.4 0-.7-.3-.7-.7V26c0-.4.3-.7.7-.7h6.1v-2c0-1.1.9-2 2-2h2.9c1.1 0 2 .9 2 2v2h6.1c.4 0 .7.3.7.7v1.5z" + }, { + "d": "M24 34.8h-1c-.3 0-.5.2-.5.5V41c0 .3.2.5.5.5h1c.3 0 .5-.2.5-.5v-5.7c0-.3-.2-.5-.5-.5zM28.9 34.8h-1c-.3 0-.5.2-.5.5V41c0 .3.2.5.5.5h1c.3 0 .5-.2.5-.5v-5.7c0-.3-.2-.5-.5-.5zM27 23.4h-2c-.3 0-.5.2-.5.5v1.5h2.9v-1.5c.1-.3-.1-.5-.4-.5z" + }] + } + }, + record_lookup: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "path": [{ + "d": "M17.2 11.6h17.6c.9 0 1.6-.7 1.6-1.6V6.8c0-2.6-2.2-4.8-4.8-4.8H20.4c-2.6 0-4.8 2.2-4.8 4.8V10c0 .9.7 1.6 1.6 1.6z" + }, { + "d": "M43.6 6H42c-.5 0-.8.3-.8.8V10c0 3.5-2.9 6.4-6.4 6.4H17.2c-3.5 0-6.4-2.9-6.4-6.4V6.8c0-.5-.3-.8-.8-.8H8.4c-2.6 0-4.8 2.2-4.8 4.8v34.4c0 2.6 2.2 4.8 4.8 4.8h35.2c2.6 0 4.8-2.2 4.8-4.8V10.8c0-2.6-2.2-4.8-4.8-4.8zm-6.1 38.1l-1 1c-.3.3-.7.3-1 0L29 38.6c-1.9 1.3-4.2 2-6.7 1.6-4.2-.6-7.5-4.1-7.9-8.3-.6-5.8 4.3-10.7 10.1-10.1 4.3.4 7.7 3.7 8.3 7.9.4 2.5-.3 4.9-1.6 6.7l6.5 6.5c.1.4.1.8-.2 1.2z" + }, { + "d": "M23.5 24.8c-3.5 0-6.3 2.9-6.3 6.3 0 3.5 2.8 6.3 6.3 6.3s6.3-2.8 6.3-6.3-2.8-6.3-6.3-6.3z" + }] + } + }, + record_update: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M40.8 7.7" + }, + "g": { + "path": [{ + "d": "M17.2 11.6h17.6c.9 0 1.6-.7 1.6-1.6V6.8c0-2.6-2.2-4.8-4.8-4.8H20.4c-2.6 0-4.8 2.2-4.8 4.8V10c0 .9.7 1.6 1.6 1.6z" + }, { + "d": "M43.6 6H42c-.5 0-.8.3-.8.8V10c0 3.5-2.9 6.4-6.4 6.4H17.2c-3.5 0-6.4-2.9-6.4-6.4V6.8c0-.5-.3-.8-.8-.8H8.4c-2.6 0-4.8 2.2-4.8 4.8v34.4c0 2.6 2.2 4.8 4.8 4.8h35.2c2.6 0 4.8-2.2 4.8-4.8V10.8c0-2.6-2.2-4.8-4.8-4.8zM34 30.4L21.2 43.2l-5.6 1.6c-.5.1-1-.4-.9-.9l1.6-5.5 12.8-12.8c.2-.2.5-.2.7 0l4.1 4.2c.3.1.3.4.1.6zm3.7-3.7l-1.6 1.6c-.2.2-.5.2-.7 0l-4.2-4.2c-.2-.2-.2-.5 0-.7l1.6-1.6c.7-.8 2-.8 2.7 0l2.1 2.1c.9.8.9 2 .1 2.8z" + }] + } + }, + recurring_exception: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M39 35L27.8 23.9l-.8-.8-9.9-9.9-4.4-4.4L7.9 4c-.7-.8-1.8-.9-2.4-.3L3.4 5.8c-.5.5-.5 1.3-.1 2l40.5 40.6.1.1c.7.7 1.8.8 2.4.3l2.1-2.1c.6-.6.5-1.7-.3-2.4l-4.7-4.7L39 35zM24.9 11c4 0 7.8 1.6 10.6 4.4.5.4.9.9 1.2 1.4.3.8-.4 1.2-1.3 1.2h-7.3l6 6h12.6c.7 0 1.3-.6 1.3-1.3V4.5c-.2-.8-.9-1.5-1.7-1.5h-3c-.8 0-1.5.7-1.5 1.5v7c0 .9-.5 1.3-1.2.7-.3-.4-.6-.7-1-1-5-5-12-7.1-19.2-5.7-1.3.3-2.5.6-3.7 1.2l4.8 4.8c1-.4 2.2-.5 3.4-.5zM26.9 41.4c-4 0-7.8-1.6-10.6-4.4-.5-.4-.9-.9-1.2-1.4-.3-.8.4-1.2 1.3-1.2h7c.1 0 .2 0 .4-.1l-5.9-5.9H5.2c-.7 0-1.3.6-1.3 1.3v18.2c.1.8.8 1.5 1.6 1.5h3c.8 0 1.5-.7 1.5-1.5v-7c0-.9.5-1.3 1.2-.7.3.4.6.7 1 1 5 5 12 7.1 19.2 5.7 1.3-.3 2.5-.6 3.7-1.2l-4.8-4.8c-1.1.3-2.2.5-3.4.5z" + } + }, + recycle_bin_empty: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "path": { + "d": "M45.5 10H32.9V6c0-2.2-1.8-4-4-4h-6c-2.2 0-4 1.8-4 4v4H6.4c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h39c.8 0 1.5-.7 1.5-1.5v-3c0-.8-.6-1.5-1.4-1.5zm-16.7 0h-5.9V7c0-.6.4-1 1-1h4c.6 0 1 .4 1 1v3zM41.5 20h-31c-.8 0-1.5.7-1.5 1.5V45c0 2.8 2.2 5 5 5h24c2.8 0 5-2.2 5-5V21.5c-.1-.8-.7-1.5-1.5-1.5zM23.2 44.9l-5 .1c-.2 0-2.1 0-3.4-2-1.4-2.2-.3-4 1.2-6.6l-1.4-1c-.2-.1-.2-.2-.2-.4s.1-.2.3-.3l3.9-1 .3-.1c.2 0 .3 0 .5.3l.1.3.9 4c0 .2 0 .3-.2.4-.2.1-.3.1-.5 0l-1.3-.8c-1.4 2.3-1.6 3-1.2 3.6.4.6 1 .7 1 .7l5-.1c.5 0 1 .2 1.2.6.2.2.2.5.2.7.1.9-.6 1.6-1.4 1.6zm3.6-14.6c0-.2.1-.3.2-.4l1.4-.6c-1.2-2.4-1.7-3-2.4-3-.8 0-1 .4-1.1.5L22.3 31c-.2.4-.7.6-1.2.6-.2 0-.5-.1-.7-.2-.6-.4-.9-1.3-.4-1.9l2.6-4.2c.1-.2 1.1-1.8 3.4-1.8 2.6 0 3.5 1.9 5 4.6l1.6-.7c.2-.1.3 0 .4.1.1.1.2.2.1.4L31.7 32c0 .1-.1.2-.2.2-.2.1-.3 0-.3 0l-4.1-1.5c-.2-.1-.3-.2-.3-.4zm10.5 12.3c-1.2 2.2-3.4 2.2-6.4 2.2l-.1 1.8c0 .2-.1.3-.2.3s-.2.1-.4-.1l-3-3.1c-.2-.2 0-.5 0-.5l.2-.2 3.2-2.8c.2-.1.2-.2.4-.1s.2.2.2.4V42c2.6 0 3.4-.1 3.8-.7.3-.6.2-1.1.1-1.2l-2.5-4.3c-.2-.4-.2-1 0-1.4.2-.2.3-.4.6-.6.6-.4 1.5-.2 1.9.6l2.5 4.3c0 .2.8 1.8-.3 3.9z" + } + } + }, + recycle_bin_full: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M44.2 7.1L32.2 9l-.6-3.8c-.3-2.1-2.3-3.5-4.4-3.2l-5.8 1c-2.1.3-3.5 2.3-3.2 4.4l.6 3.8L7 13.1c-.8.1-1.3.9-1.2 1.7l.5 2.8c.1.8.9 1.3 1.7 1.2l37.1-6c.8-.1 1.3-.9 1.2-1.7l-.5-2.8c-.1-.7-.9-1.3-1.6-1.2zM28.3 9.7l-5.6.9-.5-2.8c-.1-.5.2-1 .8-1.1l3.8-.6c.5-.1 1 .2 1.1.8l.4 2.8zM41.4 21h-30c-.8 0-1.5.7-1.5 1.5v22.7c0 2.7 2.1 4.8 4.8 4.8h23.2c2.7 0 4.8-2.1 4.8-4.8V22.5c.1-.8-.5-1.5-1.3-1.5zM23.8 45.1l-4.9.1c-.2 0-2 0-3.2-1.9-1.3-2.1-.3-3.9 1.2-6.4l-1.4-.9c-.2-.1-.2-.2-.2-.4s.1-.2.3-.3l3.8-.9.3-.1c.2 0 .3 0 .5.3l.1.3.8 3.9c0 .2 0 .3-.2.4-.2.1-.3.1-.5 0l-1.2-.8c-1.3 2.2-1.5 2.9-1.2 3.5.4.6.9.7.9.7l4.8-.1c.5 0 .9.2 1.2.6.2.2.2.5.2.7.1.6-.5 1.3-1.3 1.3zM27.3 31c0-.2.1-.3.2-.4l1.3-.6c-1.2-2.3-1.6-2.9-2.3-2.9-.8 0-1 .4-1.1.5l-2.5 4.1c-.2.4-.7.6-1.2.6-.2 0-.5-.1-.7-.2-.6-.4-.8-1.2-.4-1.9l2.5-4.1c.1-.2 1.1-1.7 3.3-1.7 2.5 0 3.4 1.9 4.8 4.5l1.5-.7c.2-.1.3 0 .4.1.1.1.2.2.1.4L32 32.6c0 .1-.1.2-.2.2h-.3l-3.9-1.5c-.3 0-.3-.1-.3-.3zm10.1 11.8c-1.2 2.2-3.2 2.2-6.2 2.1l-.1 1.7c0 .2-.1.3-.2.3s-.2.1-.4-.1l-2.9-3c-.2-.2 0-.5 0-.5l.2-.2 3.1-2.7c.2-.1.2-.2.4-.1s.2.2.2.4l-.1 1.5c2.5 0 3.3-.1 3.6-.7s.2-1.1.1-1.2l-2.4-4.2c-.2-.4-.2-.9 0-1.3.2-.2.3-.4.5-.5.6-.4 1.5-.2 1.9.5l2.4 4.2c.1.3 1 1.8-.1 3.8zM21.4 18.9L38.9 16l.1 2.9z" + } + }, + redo: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M35.5 12.5h.7c1 0 1-.7.4-1.3l-4.9-4.9c-.6-.5-.6-1.5 0-2.1l2.1-2.1c.5-.6 1.5-.6 2.1 0L48.8 15c.5.5.5 1.3 0 1.8l-13 13c-.6.5-1.3.5-1.9-.1l-2.2-2.2c-.6-.6-.7-1.5-.1-2.1l4.9-4.9c.7-.7.9-1.3.1-1.7-.3-.1-1.1-.1-1.1-.1H21.6c-7.1 0-12.8 5.7-12.8 12.8s5.7 12.8 12.8 12.8h8.1c.8 0 1.4.7 1.4 1.5V49c0 .8-.5 1.4-1.3 1.4h-8.2C11.2 50.4 2.7 42 2.7 31.5s8.5-18.9 18.9-18.9l13.9-.1z" + } + }, + refresh: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M46.5 4h-3c-.8 0-1.5.7-1.5 1.5v7c0 .9-.5 1.3-1.2.7-.3-.4-.6-.7-1-1-5-5-12-7.1-19.2-5.7-2.5.5-4.9 1.5-7 2.9-6.1 4-9.6 10.5-9.7 17.5-.1 5.4 2 10.8 5.8 14.7 4 4.2 9.4 6.5 15.2 6.5 5.1 0 9.9-1.8 13.7-5 .7-.6.7-1.6.1-2.2l-2.1-2.1c-.5-.5-1.4-.6-2-.1-3.6 3-8.5 4.2-13.4 3-1.3-.3-2.6-.9-3.8-1.6C11.7 36.6 9 30 10.6 23.4c.3-1.3.9-2.6 1.6-3.8C15 14.7 19.9 12 25.1 12c4 0 7.8 1.6 10.6 4.4.5.4.9.9 1.2 1.4.3.8-.4 1.2-1.3 1.2h-7c-.8 0-1.5.7-1.5 1.5v3.1c0 .8.6 1.4 1.4 1.4h18.3c.7 0 1.3-.6 1.3-1.3V5.5C48 4.7 47.3 4 46.5 4z" + } + }, + relate: { + "xmlns": "http://www.w3.org/2000/svg", + "path": [{ + "d": "M36 20c0-2.2-1.8-4-4-4H6c-2.2 0-4 1.8-4 4v26c0 2.2 1.8 4 4 4h26c2.2 0 4-1.8 4-4V20zm-8 14c0 .5-.5 1-1 1h-6v6c0 .5-.5 1-1 1h-2c-.5 0-1-.5-1-1v-6h-6c-.5 0-1-.5-1-1v-2c0-.5.5-1 1-1h6v-6c0-.5.5-1 1-1h2c.5 0 1 .5 1 1v6h6c.5 0 1 .5 1 1v2z" + }, { + "d": "M43 42h-3v-6h3c.6 0 1-.4 1-1V9c0-.6-.4-1-1-1H17c-.6 0-1 .4-1 1v3h-6V9c0-3.9 3.1-7 7-7h26c3.9 0 7 3.1 7 7v26c0 3.9-3.1 7-7 7z" + }] + }, + reminder: { + "xmlns": "http://www.w3.org/2000/svg", + "path": [{ + "d": "M64.7 19.1v.4-.4z" + }, { + "d": "M50.3 7.5c-.6-3-3.1-5.5-6.2-5.9-2.2-.3-4.2.4-5.8 1.6-.5.4-.4 1.1.2 1.4 3.7 2 6.9 4.8 9.4 8.2.3.5 1.1.5 1.4 0 1-1.5 1.4-3.3 1-5.3zM13.5 4.7c.5-.2.6-1 .2-1.4-1.5-1.3-3.6-2-5.8-1.6-3.1.4-5.7 2.8-6.2 5.8-.3 2 .1 3.8 1.1 5.3.3.5 1.1.5 1.4 0 2.4-3.3 5.5-6.2 9.3-8.1zM26 6.5c-12.1 0-22 9.9-22 22 0 4.9 1.6 9.4 4.3 13L5 44.8c-1.3 1.3-1.3 3.3 0 4.6.7.7 1.5 1 2.3 1 .8 0 1.6-.3 2.3-1l3.3-3.3c3.7 2.7 8.2 4.3 13.1 4.3s9.4-1.6 13-4.3l3.3 3.3c.7.7 1.5 1 2.4 1 .8 0 1.6-.3 2.3-1 1.3-1.3 1.3-3.3 0-4.6l-3.3-3.3c2.7-3.6 4.3-8.1 4.3-13 0-12.2-9.8-22-22-22zM10.5 28.4c0-8.5 7-15.4 15.5-15.4s15.5 6.9 15.5 15.5S34.6 43.9 26 43.9 10.5 37 10.5 28.4zm18-.9v-6.4c0-1.4-1.1-2.4-2.4-2.4s-2.4 1.1-2.4 2.4v7.3c0 .7.2 1.3.7 1.7l5.7 5.7c.5.5 1.1.7 1.7.7.6 0 1.2-.2 1.7-.7 1-1 1-2.5 0-3.4l-5-4.9z" + }] + }, + remove_formatting: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M45.1 40.9l4.6-4.6c.4-.4.4-1 0-1.4l-2.8-2.8c-.4-.4-1-.4-1.4 0L41 36.8l-4.3-4.3c-.4-.4-1-.4-1.4 0l-2.8 2.8c-.4.4-.4 1 0 1.4l4.3 4.3-4.2 4.2c-.4.4-.4 1 0 1.4l2.8 2.8c.4.4 1 .4 1.4 0l4.2-4.2 4.5 4.5c.4.4 1 .4 1.4 0l2.8-2.8c.4-.4.4-1 0-1.4l-4.6-4.6zM4.8 8h10.8l-4.1 23.2c-.2 1 .5 1.8 1.4 1.8H18c.7 0 1.4-.5 1.5-1.2L23.7 8h11c.7 0 1.4-.5 1.5-1.3l.5-3c.2-.9-.5-1.7-1.5-1.7h-30c-.7 0-1.3.5-1.4 1.3l-.5 3c-.2.9.5 1.7 1.5 1.7zM28 38.5c0-.8-.7-1.5-1.5-1.5h-23c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h23c.8 0 1.5-.7 1.5-1.5v-3z" + } + }, + remove_link: { + "xmlns": "http://www.w3.org/2000/svg", + "path": [{ + "d": "M24 36.6c-.6 0-1.2-.1-1.8-.3-.6-.1-1.3-.3-1.9-.5-.4-.1-.8 0-1 .2l-.4.4c-2.5 2.5-6.6 2.8-9.3.5-2.9-2.6-3.1-7.1-.3-9.8l6.6-6.6c.9-.9 1.9-1.4 3-1.7 1.4-.4 2.9-.3 4.2.3.8.3 1.6.8 2.2 1.5.3.3.6.7.9 1.2.3.6 1.1.7 1.6.2l2.5-2.5c.4-.4.4-.9.1-1.3-.4-.5-.8-.9-1.2-1.4-.6-.6-1.4-1.2-2.1-1.7-1.3-.8-2.6-1.3-4.1-1.6-2.7-.5-5.6-.1-8.2 1.3-1 .5-1.9 1.2-2.7 2l-6.4 6.4c-4.6 4.6-5 12.1-.5 16.9 4.7 5 12.6 5.2 17.4.3l2.2-2.2c.5-.5.1-1.5-.8-1.6z" + }, { + "d": "M40.5 22.5c4.8-4.8 4.7-12.7-.3-17.4C35.4.7 27.9 1 23.3 5.6l-2 2c-.6.6-.2 1.6.6 1.7 1.2.1 2.5.3 3.7.7.4.1.8 0 1-.2l.4-.4c2.5-2.5 6.6-2.8 9.3-.5 2.9 2.6 3.1 7.1.3 9.8L30 25.3c-.9.9-1.9 1.4-3 1.7-1.4.4-2.9.3-4.2-.3-.8-.3-1.6-.8-2.2-1.5-.3-.3-.6-.7-.8-1.1-.3-.6-1.1-.7-1.6-.2l-2.4 2.4c-.4.4-.4.9-.1 1.3.4.5.7.9 1.2 1.4.7.7 1.4 1.2 2.1 1.7 1.3.8 2.6 1.3 4.1 1.6 2.7.5 5.6.1 8.2-1.3 1-.5 1.9-1.2 2.7-2l6.5-6.5zM45.1 41l4.6-4.6c.4-.4.4-1 0-1.4l-2.8-2.8c-.4-.4-1-.4-1.4 0L41 36.9l-4.3-4.3c-.4-.4-1-.4-1.4 0l-2.8 2.8c-.4.4-.4 1 0 1.4l4.3 4.3-4.2 4.2c-.4.4-.4 1 0 1.4l2.8 2.8c.4.4 1 .4 1.4 0l4.2-4.2 4.5 4.5c.4.4 1 .4 1.4 0l2.8-2.8c.4-.4.4-1 0-1.4L45.1 41z" + }] + }, + replace: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M20 37.5c0-.8-.7-1.5-1.5-1.5h-15c-.8 0-1.5.7-1.5 1.5v11c0 .8.7 1.5 1.5 1.5h15c.8 0 1.5-.7 1.5-1.5v-11zM8.1 22H3.2c-1 0-1.5.9-.9 1.4l8 8.3c.4.3 1 .3 1.4 0l8-8.3c.6-.6.1-1.4-.9-1.4h-4.7c0-5 4.9-10 9.9-10V6C15 6 8.1 13 8.1 22zM41.8 20.3c-.4-.3-1-.3-1.4 0l-8 8.3c-.6.6-.1 1.4.9 1.4h4.8c0 6-4.1 10-10.1 10v6c9 0 16.1-7 16.1-16H49c1 0 1.5-.9.9-1.4l-8.1-8.3zM50 3.5c0-.8-.7-1.5-1.5-1.5h-15c-.8 0-1.5.7-1.5 1.5v11c0 .8.7 1.5 1.5 1.5h15c.8 0 1.5-.7 1.5-1.5v-11z" + } + }, + reply: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M19.2 18.1s-1.1-1.1-.5-1.7l5.6-5.6c.6-.6.6-1.5 0-2.1l-2.1-2.2c-.6-.6-1.5-.6-2.1 0L6.6 20c-.6.6-.6 1.5 0 2.1l13.5 13.5c.6.6 1.5.6 2.1 0l2.1-2.1c.6-.6.6-1.5 0-2.1l-5.5-5.6c-.6-.6-.2-1.5.5-1.7 11.1.4 20.1 9.3 20.8 20.6 0 .8.7 1.4 1.5 1.4h3c.9 0 1.4-.7 1.3-1.6-.7-14.5-11.7-25.9-26.7-26.4z" + } + }, + reply_all: { + "xmlns": "http://www.w3.org/2000/svg", + "path": [{ + "d": "M24.4 18.1s-1.1-1.1-.5-1.7l5.6-5.6c.6-.6.6-1.5 0-2.1l-2.1-2.2c-.6-.6-1.5-.6-2.1 0L11.8 20c-.6.6-.6 1.5 0 2.1l13.5 13.5c.6.6 1.5.6 2.1 0l2.1-2.1c.6-.6.6-1.5 0-2.1L24 25.8c-.6-.6-.2-1.5.5-1.7 11.1.4 20.1 9.3 20.8 20.6 0 .8.7 1.4 1.5 1.4h3c.9 0 1.4-.7 1.3-1.6-.7-14.5-11.7-25.9-26.7-26.4z" + }, { + "d": "M5.4 20.4L17 8.8c.6-.6.6-1.5 0-2.1l-.1-.2c-.6-.6-1.5-.6-2.1 0L1.3 20c-.6.6-.6 1.5 0 2.1l13.5 13.5c.6.6 1.5.6 2.1 0l.1-.1c.6-.6.6-1.5 0-2.1L5.5 21.8s-.7-.6-.1-1.4z" + }] + }, + report_issue: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "path": [{ + "d": "M22.8 45.7v1c0 1.2-.9 2.1-2.1 2.1H4.1c-1.2 0-2.1-.9-2.1-2.1v-1c0-2.5 3-4.1 5.7-5.3.1 0 .2-.1.3-.2.2-.1.5-.1.7 0 1.1.7 2.4 1.1 3.8 1.1 1.3 0 2.6-.4 3.8-1.1.2-.1.4-.1.6 0 .1 0 .2.1.3.2 2.7 1.3 5.6 2.8 5.6 5.3z" + }, { + "d": "M34.8 3.2c-8.5 0-15.3 6.5-15.3 14.5 0 2.5.7 5 2 7.2.1.2.2.5.2.8L20 30.3c-.2.6.2 1.1.7 1.3.2.1.4.1.6 0l4.5-1.6c.3-.1.6-.1.8.1 2.4 1.4 5.2 2.2 8 2.2 8.5 0 15.3-6.6 15.3-14.6.1-8-6.8-14.5-15.1-14.5zm-1.1 5.7h3v7l-.3 4.6H34l-.2-4.6v-7zm1.5 17.3c-1.4 0-1.8-.8-1.8-1.8s.4-1.8 1.8-1.8 1.8.8 1.8 1.8c.1 1-.4 1.8-1.8 1.8z" + }], + "ellipse": { + "cx": "12.4", + "cy": "33.7", + "rx": "5.2", + "ry": "5.7" + } + } + }, + reset_password: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "path": { + "d": "M42 23H10c-2.2 0-4 1.8-4 4v19c0 2.2 1.8 4 4 4h32c2.2 0 4-1.8 4-4V27c0-2.2-1.8-4-4-4zM31 44.5c-1.5 1-3.2 1.5-5 1.5-.6 0-1.2-.1-1.8-.2-2.4-.5-4.4-1.8-5.7-3.8l3.3-2.2c.7 1.1 1.9 1.9 3.2 2.1 1.3.3 2.6 0 3.8-.8 2.3-1.5 2.9-4.7 1.4-6.9-.7-1.1-1.9-1.9-3.2-2.1-1.3-.3-2.6 0-3.8.8-.3.2-.5.4-.7.6L26 37h-9v-9l2.6 2.6c.4-.4.9-.8 1.3-1.1 2-1.3 4.4-1.8 6.8-1.4 2.4.5 4.4 1.8 5.7 3.8 2.8 4.2 1.7 9.8-2.4 12.6zM10 18.1v0zM11 19h4c.6 0 1-.3 1-.9V18c0-5.7 4.9-10.4 10.7-10 5.3.4 9.3 5 9.3 10.4v-.3c0 .6.4.9 1 .9h4c.6 0 1-.3 1-.9V18c0-9.1-7.6-16.4-16.8-16-8.5.4-15 7.6-15.2 16.1.1.5.5.9 1 .9z" + } + } + }, + resource_absence: { + "xmlns": "http://www.w3.org/2000/svg", + "path": [{ + "d": "M21.9 37c0-2.7.9-5.8 2.3-8.2 1.7-3 3.6-4.2 5.1-6.4 2.5-3.7 3-9 1.4-13-1.6-4.1-5.4-6.5-9.8-6.4s-8 2.8-9.4 6.9c-1.6 4.5-.9 9.9 2.7 13.3 1.5 1.4 2.9 3.6 2.1 5.7-.7 2-3.1 2.9-4.8 3.7-3.9 1.7-8.6 4.1-9.4 8.7C1.3 45.1 3.9 49 8 49h17c.8 0 1.3-1 .8-1.6-2.5-2.9-3.9-6.6-3.9-10.4z" + }, { + "d": "M46.4 28.5c-4.7-4.7-12.3-4.7-17 0-4.7 4.7-4.7 12.3 0 17 4.7 4.7 12.3 4.7 17 0 4.7-4.7 4.7-12.3 0-17zm-3.5 10.6c.4.4.4 1.1-.1 1.5L41.4 42c-.4.4-.9.4-1.3-.1L38 39.8 35.8 42c-.4.4-.9.4-1.3-.1L33 40.5c-.4-.4-.5-.9-.1-1.3l2.2-2.2-2.1-2.2c-.4-.4-.5-.9-.1-1.3l1.4-1.4c.4-.4 1.1-.5 1.5-.1l2.1 2.1L40 32c.4-.4 1.1-.5 1.5-.1l1.4 1.4c.4.4.4 1.1-.1 1.5l-2.1 2.1 2.2 2.2z" + }] + }, + resource_capacity: { + "xmlns": "http://www.w3.org/2000/svg", + "path": [{ + "d": "M37.9 25c-6.7 0-12.1 5.5-12.1 12.2s5.4 12.1 12.1 12.1S50 43.8 50 37.2 44.6 25 37.9 25zm8.5 13.4h-8.8v-9.3s3.3-.2 6.3 2.9 2.5 6.4 2.5 6.4z" + }, { + "d": "M22.2 37.3c0-2.7.9-5.9 2.3-8.3 1.7-3 3.6-4.2 5.1-6.5 2.5-3.7 3-9.1 1.4-13.1-1.6-4.1-5.4-6.5-9.9-6.4-4.4.1-8.1 2.8-9.5 7-1.6 4.5-.9 10 2.7 13.4 1.5 1.4 2.9 3.6 2.1 5.8-.7 2-3.1 2.9-4.8 3.7-3.9 1.7-8.7 4.1-9.5 8.8-.8 3.8 1.8 7.8 5.9 7.8h17.1c.8 0 1.3-1 .8-1.6-2.3-3-3.7-6.7-3.7-10.6z" + }] + }, + resource_territory: { + "xmlns": "http://www.w3.org/2000/svg", + "path": [{ + "d": "M26.7 29c2-2.9 4.1-4.3 5.5-6.5 2.5-3.7 3-9 1.4-13C32 5.4 28.2 3 23.8 3.1s-8 2.8-9.4 6.9c-1.6 4.5-.9 9.9 2.7 13.3 1.5 1.4 2.9 3.6 2.1 5.7-.7 2-3.1 2.9-4.8 3.7-3.9 1.7-8.6 4.1-9.4 8.7-.8 3.8 1.8 7.7 5.9 7.7h18c.8 0 1.5-.9 1-1.5-2.5-2.9-5.1-6.7-5.1-10.5-.2-2.7.6-5.7 1.9-8.1z" + }, { + "d": "M37.7 39.4c-2.1 0-3.9-1.7-3.9-3.8s1.7-3.8 3.9-3.8c2.1 0 3.9 1.7 3.9 3.8 0 2.1-1.8 3.8-3.9 3.8zm0-13c-5.1 0-9.2 4.1-9.2 9.2 0 6.3 6.6 12.2 8.6 13.7.3.3.8.3 1.2 0 2-1.6 8.6-7.4 8.6-13.7 0-5.1-4.1-9.2-9.2-9.2z" + }] + }, + restriction_policy: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M37.2 24.4A12.8 12.8 0 1050 37.2a12.8 12.8 0 00-12.8-12.8zm5.6 15.2H31.6a2.4 2.4 0 010-4.8h11.2a2.4 2.4 0 110 4.8zM13.6 2H8a6 6 0 00-6 6v4.8a6 6 0 006 6h5.6a6 6 0 006-6V8a6 6 0 00-6-6zm-2.4 12h-.8a3.6 3.6 0 010-7.2h.8a3.6 3.6 0 110 7.2zM30.4 18.8H36a6 6 0 006-6V8a6 6 0 00-6-6h-5.6a6 6 0 00-6 6v4.8a6 6 0 006 6zm2.4-12h.8a3.6 3.6 0 110 7.2h-.8a3.6 3.6 0 110-7.2zM13.6 23.6H8a6 6 0 00-6 6v4.8a6 6 0 006 6h5.6a6 6 0 006-6v-4.8a6 6 0 00-6-6zm-2.4 12h-.8a3.6 3.6 0 110-7.2h.8a3.6 3.6 0 110 7.2z", + "fill-rule": "evenodd" + } + }, + retail_execution: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "path": [{ + "d": "M17.4 11.6h17.3c.9 0 1.6-.7 1.6-1.6V6.8c0-2.6-2.1-4.8-4.7-4.8h-11c-2.6 0-4.7 2.2-4.7 4.8V10c-.1.9.6 1.6 1.5 1.6z" + }, { + "d": "M43.3 6h-1.6c-.5 0-.8.3-.8.8V10c0 3.5-2.8 6.4-6.3 6.4H17.4c-3.5 0-6.3-2.9-6.3-6.4V6.8c0-.5-.3-.8-.8-.8H8.7C6.1 6 4 8.2 4 10.8v34.4C4 47.8 6.1 50 8.7 50h34.6c2.6 0 4.7-2.2 4.7-4.8V10.8C48 8.2 45.9 6 43.3 6zm-6.6 21.1l-12 12c-.5.5-1 .7-1.6.7-.5 0-1.2-.2-1.6-.7l-5.8-5.8c-.5-.5-.5-1.2 0-1.6l1.6-1.6c.5-.5 1.2-.5 1.6 0l4.2 4.2L33.4 24c.5-.5 1.2-.5 1.6 0l1.6 1.6c.5.3.5 1.1.1 1.5z" + }] + } + }, + retweet: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "path": { + "d": "M51.6 28.8l-2.1-2.1c-.6-.6-1.5-.6-2.1 0l-2.7 2.7c-.7.7-1.7.2-1.7-.7V12c0-2.2-1.8-4-4-4H24.5c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h11c.8 0 1.5.7 1.5 1.5v13.2c0 .9-1.1 1.3-1.8.7l-2.6-2.6c-.6-.6-1.6-.6-2.1 0L28.4 29c-.6.6-.6 1.5 0 2.1l10.5 10.5c.6.6 1.5.6 2.1 0L51.6 31c.5-.6.5-1.6 0-2.2zM27.5 38h-11c-.8 0-1.5-.7-1.5-1.5V23.3c0-.9 1.1-1.3 1.8-.7l2.6 2.6c.6.6 1.6.6 2.1 0l2.1-2.1c.6-.6.6-1.5 0-2.1L13.2 10.4c-.6-.6-1.5-.6-2.1 0L.4 21c-.6.6-.6 1.5 0 2.1l2.1 2.1c.6.6 1.5.6 2.1 0l2.7-2.7c.6-.6 1.7-.2 1.7.7V40c0 2.2 1.9 4 4.1 4h14.5c.8 0 1.5-.7 1.5-1.5v-3c-.1-.8-.8-1.5-1.6-1.5z" + } + } + }, + ribbon: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M24.1 36.7L14.7 50l-2.4-6.4H5.9l8.2-11.1c1.6 1 3.3 1.1 4.5 1.4.4.1.9.2 1.1.2.2.1.6.4.8.6.9.6 2.1 1.5 3.6 2zm15.2-4.2c-1.6 1-3.3 1.1-4.5 1.4-.4.1-1 .2-1.2.2-.2.1-.6.4-.8.6-.9.6-2 1.6-3.5 2.1L38.7 50l2.4-6.4h6.4l-8.2-11.1zM26.7 11.6c-3.1 0-5.6 2.5-5.6 5.6s2.5 5.6 5.6 5.6 5.6-2.5 5.6-5.6-2.5-5.6-5.6-5.6zm15.2 5.6c0 1.9-2.1 3.4-2.8 5.1-.7 1.8-.3 4.3-1.7 5.6-1.3 1.3-3.8 1-5.6 1.7-1.7.7-3.2 2.8-5.1 2.8s-3.4-2.1-5.1-2.8c-1.8-.7-4.3-.3-5.6-1.7-1.3-1.3-1-3.8-1.7-5.6-.7-1.7-2.8-3.2-2.8-5.1s2.1-3.4 2.8-5.1c.7-1.8.3-4.3 1.7-5.6 1.3-1.3 3.8-1 5.6-1.7 1.7-.7 3.2-2.8 5.1-2.8s3.4 2.1 5.1 2.8c1.8.7 4.3.3 5.6 1.7 1.3 1.3 1 3.8 1.7 5.6.7 1.7 2.8 3.2 2.8 5.1zm-4.8 0c0-5.8-4.6-10.4-10.4-10.4s-10.4 4.6-10.4 10.4 4.6 10.4 10.4 10.4S37.1 23 37.1 17.2z" + } + }, + richtextbulletedlist: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M8 13.5c0 .8-.7 1.5-1.5 1.5h-3c-.8 0-1.5-.7-1.5-1.5v-3C2 9.7 2.7 9 3.5 9h3c.8 0 1.5.7 1.5 1.5v3zm42-3c0-.8-.7-1.5-1.5-1.5h-35c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h35c.8 0 1.5-.7 1.5-1.5v-3zm-42 14c0-.8-.7-1.5-1.5-1.5h-3c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h3c.8 0 1.5-.7 1.5-1.5v-3zm38 0c0-.8-.7-1.5-1.5-1.5h-31c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h31c.8 0 1.5-.7 1.5-1.5v-3zm-38 14c0-.8-.7-1.5-1.5-1.5h-3c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h3c.8 0 1.5-.7 1.5-1.5v-3zm42 0c0-.8-.7-1.5-1.5-1.5h-35c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h35c.8 0 1.5-.7 1.5-1.5v-3z" + } + }, + richtextindent: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M52 11.5c0-.8-.7-1.5-1.5-1.5h-17c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h17c.8 0 1.5-.7 1.5-1.5v-3zM48 35.5c0-.8-.7-1.5-1.5-1.5h-13c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h13c.8 0 1.5-.7 1.5-1.5v-3zM52 23.5c0-.8-.7-1.5-1.5-1.5h-17c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h17c.8 0 1.5-.7 1.5-1.5v-3zM28 5.5c0-.8-.7-1.5-1.5-1.5h-3c-.8 0-1.5.7-1.5 1.5v41c0 .8.7 1.5 1.5 1.5h3c.8 0 1.5-.7 1.5-1.5v-41zM9.4 15.3c-.6-.6-1.4-.1-1.4.9V22H1.5c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5H8v5.9c0 1 .9 1.5 1.4.9l8.3-9c.3-.4.3-1 0-1.4l-8.3-9.1z" + } + }, + richtextnumberedlist: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M50 6.5v3c0 .8-.7 1.5-1.5 1.5h-27c-.8 0-1.5-.7-1.5-1.5v-3c0-.8.7-1.5 1.5-1.5h27c.8 0 1.5.7 1.5 1.5zM21.5 21h18c.8 0 1.5-.7 1.5-1.5v-3c0-.8-.7-1.5-1.5-1.5h-18c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5zm27 9h-27c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h27c.8 0 1.5-.7 1.5-1.5v-3c0-.8-.7-1.5-1.5-1.5zm-9 10h-18c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h18c.8 0 1.5-.7 1.5-1.5v-3c0-.8-.7-1.5-1.5-1.5zM3.5 8H6v12.5c0 .8.7 1.5 1.5 1.5h1c.8 0 1.5-.7 1.5-1.5V6c0-1.1-.9-2-2-2H3.5C2.7 4 2 4.7 2 5.5v1C2 7.3 2.7 8 3.5 8zM12 28H3.5c-.8 0-1.5.7-1.5 1.5v1c0 .8.7 1.5 1.5 1.5H10v4H4c-1.1 0-2 .9-2 2v8c0 1.1.9 2 2 2h8.5c.8 0 1.5-.7 1.5-1.5v-1c0-.8-.7-1.5-1.5-1.5H6v-4h6c1.1 0 2-.9 2-2v-8c0-1.1-.9-2-2-2z" + } + }, + richtextoutdent: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M16.4 22H10v-5.9c0-1-.9-1.5-1.4-.9l-8.3 9c-.3.4-.3 1 0 1.4l8.3 9c.6.6 1.4.1 1.4-.9V28h6.4c.8 0 1.6-.7 1.6-1.5v-3c0-.8-.8-1.5-1.6-1.5zM52 11.5c0-.8-.7-1.5-1.5-1.5h-17c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h17c.8 0 1.5-.7 1.5-1.5v-3zM48 35.5c0-.8-.7-1.5-1.5-1.5h-13c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h13c.8 0 1.5-.7 1.5-1.5v-3zM52 23.5c0-.8-.7-1.5-1.5-1.5h-17c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h17c.8 0 1.5-.7 1.5-1.5v-3zM28 5.5c0-.8-.7-1.5-1.5-1.5h-3c-.8 0-1.5.7-1.5 1.5v41c0 .8.7 1.5 1.5 1.5h3c.8 0 1.5-.7 1.5-1.5v-41z" + } + }, + right: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M14 43.7V8.3c0-1 1.3-1.7 2.2-.9l21.2 17.3c.8.6.8 1.9 0 2.5L16.2 44.7c-.9.7-2.2.1-2.2-1z" + } + }, + right_align: { + "xmlns": "http://www.w3.org/2000/svg", + "rect": [{ + "x": "43.6", + "y": "2", + "width": "6.4", + "height": "48", + "rx": "1.6" + }, { + "data-name": "Rectangle", + "x": "2", + "y": "18.8", + "width": "37.6", + "height": "14.4", + "rx": "3.2" + }] + }, + right_align_text: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M46.5 5h-41C4.7 5 4 5.7 4 6.5v3c0 .8.7 1.5 1.5 1.5h41c.8 0 1.5-.7 1.5-1.5v-3c0-.8-.7-1.5-1.5-1.5zM46.5 17h-33c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h33c.8 0 1.5-.7 1.5-1.5v-3c0-.8-.7-1.5-1.5-1.5zM46.5 41h-33c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h33c.8 0 1.5-.7 1.5-1.5v-3c0-.8-.7-1.5-1.5-1.5zM46.5 29h-41c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h41c.8 0 1.5-.7 1.5-1.5v-3c0-.8-.7-1.5-1.5-1.5z" + } + }, + rotate: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "path": { + "d": "M48.5 2h-3c-.8 0-1.5.7-1.5 1.5v7c0 .9-1 1.5-1.6.8C37.7 6.1 31 3.4 23.7 4.1c-2.6.2-5.1 1-7.4 2.2-1.2.6-2.4 1.3-3.4 2.1-.7.5-.8 1.6-.2 2.3l2.1 2.1c.5.5 1.3.6 1.9.2 1.2-.8 2.5-1.5 3.9-2.1.6-.2 1.3-.4 2-.6 6.3-1.2 12.3 1.3 15.7 5.4 1.2 1.4.3 2.3-.7 2.3h-7c-.8 0-1.6.7-1.6 1.5v3c0 .8.8 1.5 1.6 1.5h18.2c.7 0 1.2-.6 1.2-1.3V3.5c0-.8-.7-1.5-1.5-1.5zM39.4 37.4c-.6-.6-1.5-.6-2.1 0-1.6 1.6-3.6 2.9-5.8 3.7-.6.2-1.3.4-2 .6-6.3 1.2-12.3-1.3-15.7-5.4-1.2-1.4-.3-2.3.7-2.3h7c.8 0 1.5-.7 1.5-1.5v-3c0-.8-.7-1.5-1.5-1.5H3.3c-.7 0-1.3.6-1.3 1.3v19.2c0 .8.7 1.5 1.5 1.5h3c.8 0 1.5-.7 1.5-1.5v-7c0-.9 1-1.5 1.6-.8 4.6 5.2 11.4 7.9 18.7 7.2 2.6-.2 5.1-1 7.4-2.2 2.2-1.1 4.1-2.5 5.7-4.1.6-.6.6-1.6 0-2.1l-2-2.1z" + } + } + }, + routing_offline: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M43 9C33.6-.3 18.4-.3 9 9S-.3 33.6 9 43s24.6 9.3 34 0 9.3-24.6 0-34zM26 44c-9.9 0-18-8.1-18-18S16.1 8 26 8s18 8 18 18-8 18-18 18z" + } + }, + rows: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M46.5 14h-41c-.8 0-1.5-.7-1.5-1.5v-3C4 8.7 4.7 8 5.5 8h41c.8 0 1.5.7 1.5 1.5v3c0 .8-.7 1.5-1.5 1.5zM46.5 28.9h-41c-.8 0-1.5-.7-1.5-1.5v-3c0-.7.7-1.4 1.5-1.4h41c.8 0 1.5.7 1.5 1.5v3c0 .7-.7 1.4-1.5 1.4zM46.5 44h-41c-.8 0-1.5-.7-1.5-1.5v-3c0-.8.7-1.5 1.5-1.5h41c.8 0 1.5.7 1.5 1.5v3c0 .8-.7 1.5-1.5 1.5z" + } + }, + rules: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M50.1 25.4L42 17.3c-.4-.4-1.1-.4-1.5 0L39 18.8c-.4.4-.4 1.1 0 1.5l2.5 2.5c.4.4.1 1.2-.5 1.2H18.9l13.2-13.1c.4-.4 1.2-.1 1.2.5V15c0 .6.4 1 1 1h2.1c.6 0 1-.4 1-1V3.4c0-.6-.4-1-1-1H25c-.5 0-1 .5-1 1.1v2c0 .6.4 1 1 1h3.6c.6 0 .9.7.5 1.2L12.9 23.9H3c-.6 0-1 .5-1 1.1v2.1c0 .6.6 1.1 1.1 1.1h10l16.1 16.1c.4.4.1 1.2-.5 1.2h-3.6c-.6 0-1 .4-1 1v2c0 .5.4 1 1 1.1h11.4c.6 0 1-.4 1-1V37.1c0-.6-.4-1-1-1h-2.1c-.6 0-1 .4-1 1v3.6c0 .6-.7.9-1.2.5L19 28.2h22.1c.6 0 .9.8.5 1.2L39 31.9c-.4.4-.4 1.1 0 1.5l1.5 1.5c.4.4 1.1.4 1.5 0l8.1-8c.4-.5.4-1.1 0-1.5z" + } + }, + salesforce1: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M21.7 11.9c1.7-1.7 4-2.8 6.6-2.8 3.4 0 6.4 1.9 8 4.7 1.4-.6 2.9-1 4.5-1C47 12.8 52 17.8 52 24s-5 11.2-11.2 11.2c-.8 0-1.5-.1-2.2-.2-1.4 2.5-4.1 4.2-7.2 4.2-1.3 0-2.5-.3-3.6-.8-1.4 3.3-4.7 5.6-8.6 5.6-4 0-7.5-2.5-8.8-6.1-.6.1-1.2.2-1.8.2-4.8 0-8.7-3.9-8.7-8.7 0-3.2 1.7-6 4.3-7.5-.5-1.2-.8-2.6-.8-4 0-5.5 4.5-10 10.1-10 3.5.1 6.4 1.6 8.2 4" + } + }, + salesforce_page: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "path": [{ + "d": "M44.44 19H33.2a3.89 3.89 0 01-4.2-3.55 3.53 3.53 0 010-.65V3.6A1.58 1.58 0 0027.44 2H10.8A4.87 4.87 0 006 6.8v38.4a4.87 4.87 0 004.8 4.8h30.4a4.87 4.87 0 004.8-4.8V20.6a1.58 1.58 0 00-1.56-1.6zM33.59 39.35a3.92 3.92 0 01-1.08-.1 4.19 4.19 0 01-3.68 2.16A5.24 5.24 0 0127 41a4.88 4.88 0 01-4.43 2.91A4.72 4.72 0 0118 40.78c-.22 0-.65.11-1 .11a4.49 4.49 0 01-4.54-4.42 4.39 4.39 0 012.27-3.89 6.33 6.33 0 01-.44-2.06 5.26 5.26 0 015.19-5.18 5.92 5.92 0 014.06 2.14A4.79 4.79 0 0127 26.06a4.91 4.91 0 014.21 2.38 7.49 7.49 0 012.38-.54 5.93 5.93 0 015.83 5.73 5.85 5.85 0 01-5.83 5.72z" + }, { + "d": "M36.4 15h8.5a1.2 1.2 0 001.1-1.2 1.4 1.4 0 00-.3-.9L35.1 2.3a1.4 1.4 0 00-.9-.3A1.2 1.2 0 0033 3.1v8.5a3.49 3.49 0 003.4 3.4z" + }] + } + }, + save: { + "xmlns": "http://www.w3.org/2000/svg", + "path": [{ + "d": "M37.1 4v13.6c0 1-.8 1.9-1.9 1.9H13.9c-1 0-1.9-.8-1.9-1.9V4H8C5.8 4 4 5.8 4 8v36c0 2.2 1.8 4 4 4h36c2.2 0 4-1.8 4-4V11.2L40.8 4h-3.7zm7 38.1c0 1-.8 1.9-1.9 1.9H9.9c-1 0-1.9-.8-1.9-1.9V25.4c0-1 .8-1.9 1.9-1.9h32.3c1 0 1.9.8 1.9 1.9v16.7z" + }, { + "d": "M24.8 13.6c0 1 .8 1.9 1.9 1.9h4.6c1 0 1.9-.8 1.9-1.9V4h-8.3l-.1 9.6z" + }] + }, + screen: { + "xmlns": "http://www.w3.org/2000/svg", + "path": [{ + "d": "M50 6c0-2.2-1.8-4-4-4H6C3.8 2 2 3.8 2 6v27.7c0 2.2 1.8 4 4 4h40c2.2 0 4-1.8 4-4V6zm-6 24.2c0 .8-.7 1.5-1.5 1.5h-33c-.8 0-1.5-.7-1.5-1.5V9.5C8 8.7 8.7 8 9.5 8h33c.8 0 1.5.7 1.5 1.5v20.7zM19 44c-2.2 0-4 1.8-4 4v.5c0 .8.7 1.5 1.5 1.5h19c.8 0 1.5-.7 1.5-1.5V48c0-2.2-1.8-4-4-4H19z" + }, { + "d": "M18 26.7h-4.1c-.6 0-1-.5-1-1V14c0-.6.4-1 1-1H18c.5 0 1 .4 1 1v11.7c0 .6-.5 1-1 1zM38.1 26.7H24.8c-.6 0-1-.4-1-1V14c0-.6.4-1 1-1h13.3c.5 0 1 .4 1 1v11.7c0 .6-.5 1-1 1z" + }] + }, + search: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M49.598 45.298l-13.4-13.3c2.7-3.8 4.1-8.6 3.4-13.7-1.2-8.6-8.2-15.4-16.9-16.2-11.8-1.2-21.8 8.8-20.6 20.7.8 8.6 7.6 15.7 16.2 16.9 5.1.7 9.9-.7 13.7-3.4l13.3 13.3c.6.6 1.5.6 2.1 0l2.1-2.1c.6-.6.6-1.6.1-2.2zm-41.6-24.4c0-7.1 5.8-12.9 12.9-12.9 7.1 0 12.9 5.8 12.9 12.9 0 7.1-5.8 12.9-12.9 12.9-7.1 0-12.9-5.7-12.9-12.9z", + "fill-rule": "evenodd" + } + }, + section: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "fill-rule": "evenodd", + "clip-rule": "evenodd", + "d": "M47.6 29.2h-8c-1.3 0-2.4-1.1-2.4-2.4v-1.6c0-1.3 1.1-2.4 2.4-2.4h8c1.3 0 2.4 1.1 2.4 2.4v1.6c0 1.3-1.1 2.4-2.4 2.4M30 29.2h-8c-1.3 0-2.4-1.1-2.4-2.4v-1.6c0-1.3 1.1-2.4 2.4-2.4h8c1.3 0 2.4 1.1 2.4 2.4v1.6c0 1.3-1.1 2.4-2.4 2.4M12.4 29.2h-8C3 29.2 2 28.1 2 26.8v-1.6c0-1.3 1.1-2.4 2.4-2.4h8c1.3 0 2.4 1.1 2.4 2.4v1.6c0 1.3-1.1 2.4-2.4 2.4M43.6 34H8.4c-1.8 0-3.2 1.4-3.2 3.2v8c0 1.8 1.4 3.2 3.2 3.2h35.2c1.8 0 3.2-1.4 3.2-3.2v-8c0-1.8-1.5-3.2-3.2-3.2zM42 42.8c0 .4-.4.8-.8.8H10.8c-.4 0-.8-.4-.8-.8v-3.2c0-.4.4-.8.8-.8h30.4c.4 0 .8.4.8.8v3.2zM43.6 3.6H8.4C6.6 3.6 5.2 5 5.2 6.8v8c0 1.8 1.4 3.2 3.2 3.2h35.2c1.8 0 3.2-1.4 3.2-3.2v-8c0-1.8-1.5-3.2-3.2-3.2zM42 12.4c0 .4-.4.8-.8.8H10.8c-.4 0-.8-.4-.8-.8V9.2c0-.4.4-.8.8-.8h30.4c.4 0 .8.4.8.8v3.2z" + } + }, + send: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M2.1 44.5l4.4-16.3h18.6c.5 0 1-.5 1-1v-2c0-.5-.5-1-1-1H6.5l-4.3-16C2.1 8 2 7.7 2 7.4c0-.7.7-1.4 1.5-1.3.2 0 .3.1.5.1l45 18.5c.6.2 1 .8 1 1.4s-.4 1.1-.9 1.3L4 46.4c-.2.1-.4.1-.6.1-.8-.1-1.4-.7-1.4-1.5 0-.2 0-.3.1-.5z" + } + }, + sentiment_negative: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M26 2C12.8 2 2 12.8 2 26.1s10.8 24.1 24 24.1 24-10.8 24-24.1S39.2 2 26 2zm-9 13c1.7 0 3 1.8 3 4s-1.3 4-3 4-3-1.8-3-4 1.3-4 3-4zm-3 23.7c.5-6.1 5-11.2 12.1-11.2 7 0 11.4 5.1 11.9 11.2H14zM35 23c-1.7 0-3-1.8-3-4s1.3-4 3-4 3 1.8 3 4-1.3 4-3 4z" + } + }, + sentiment_neutral: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M26 2C12.8 2 2 12.8 2 26.1s10.8 24.1 24 24.1 24-10.8 24-24.1S39.2 2 26 2zm-9 13c1.7 0 3 1.8 3 4s-1.3 4-3 4-3-1.8-3-4 1.3-4 3-4zm21 19.1c0 1.1-.9 1.9-1.9 1.9H15.9c-1.1 0-1.9-.9-1.9-1.9V34c0-1.1.9-1.9 1.9-1.9H36c1.1 0 2 .9 2 2zM35 23c-1.7 0-3-1.8-3-4s1.3-4 3-4 3 1.8 3 4-1.3 4-3 4z" + } + }, + serialized_product: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M45.06 19.3a1.6 1.6 0 011.58 1.47v22.72a4.81 4.81 0 01-4.55 4.83h-32a4.82 4.82 0 01-4.74-4.62V20.92a1.61 1.61 0 011.44-1.61h38.27zm-8.59 22.93H15.53a.74.74 0 00-.74.73v.74a.74.74 0 00.74.73h20.94a.74.74 0 00.74-.73V43a.74.74 0 00-.74-.77zM17.4 27.14h-1.87a.74.74 0 00-.74.74v11.4a.74.74 0 00.74.74h1.87a.75.75 0 00.75-.74v-11.4a.75.75 0 00-.75-.74zm19.07 0H34.6a.75.75 0 00-.75.74v11.4a.75.75 0 00.75.74h1.87a.74.74 0 00.74-.74v-11.4a.74.74 0 00-.74-.74zm-9.35 0h-2.24a.75.75 0 00-.75.74v11.4a.75.75 0 00.75.74h2.24a.75.75 0 00.75-.74v-11.4a.75.75 0 00-.75-.74zm4.49 0h-.75a.75.75 0 00-.75.74v11.4a.75.75 0 00.75.74h.75a.74.74 0 00.74-.74v-11.4a.74.74 0 00-.74-.74zm-9.72 0h-.75a.75.75 0 00-.75.74v11.4a.75.75 0 00.75.74h.75a.75.75 0 00.75-.74v-11.4a.75.75 0 00-.75-.74zm14.58-4H15.53a.74.74 0 00-.74.73v.74a.74.74 0 00.74.73h20.94a.74.74 0 00.74-.73v-.74a.74.74 0 00-.74-.77zM45.2 3.67A4.81 4.81 0 0150 8.46v4.78a1.6 1.6 0 01-1.6 1.6H3.6a1.6 1.6 0 01-1.6-1.6V8.46a4.81 4.81 0 014.8-4.79z" + } + }, + serialized_product_transaction: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M43.76 42a1.53 1.53 0 011.44 1.6v1.6a1.53 1.53 0 01-1.44 1.6H3.44A1.53 1.53 0 012 45.2v-1.6A1.53 1.53 0 013.44 42zM7 13.2a1.45 1.45 0 011.4 1.46v22.68A1.45 1.45 0 017 38.8H3.42A1.45 1.45 0 012 37.34V14.66a1.45 1.45 0 011.42-1.46zm19 0a1.54 1.54 0 011.6 1.46v22.68A1.54 1.54 0 0126 38.8h-4.8a1.54 1.54 0 01-1.6-1.46V14.66a1.54 1.54 0 011.6-1.46zm-9.6 0a1.54 1.54 0 011.6 1.46v22.68a1.54 1.54 0 01-1.6 1.46h-1.6a1.54 1.54 0 01-1.6-1.46V14.66a1.54 1.54 0 011.6-1.46zm22.9 0a1.13 1.13 0 01.86.42l9.47 10.65a1.44 1.44 0 01.37 1 1.41 1.41 0 01-.37 1L40.2 36.78a1.12 1.12 0 01-.86.42 1.1 1.1 0 01-.86-.42l-1.72-1.93a1.44 1.44 0 01-.37-1 1.41 1.41 0 01.37-1l3-3.34a1 1 0 00.17-1 .82.82 0 00-.75-.57h-7a1.5 1.5 0 01-1.31-1.4v-2.73a1.41 1.41 0 011.31-1.39h7a.84.84 0 00.75-.57 1 1 0 00-.17-1l-3-3.33a1.45 1.45 0 01-.36-1 1.48 1.48 0 01.36-1l1.73-1.94a1.1 1.1 0 01.81-.38zm4.46-8a1.53 1.53 0 011.44 1.6v1.6a1.53 1.53 0 01-1.44 1.6H3.44A1.53 1.53 0 012 8.4V6.8a1.53 1.53 0 011.44-1.6z" + } + }, + service_territory_policy: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M17.05 2H8a6.08 6.08 0 00-6 6.09v5.68a6 6 0 006 6.09h9.05a6 6 0 006-6.09V8.09a6 6 0 00-6-6.09zm-3.26 13H11.3a4.06 4.06 0 010-8.12h2.49a4.06 4.06 0 110 8.12zM34.42 19.86h9a6 6 0 006-6.09V8.09a6 6 0 00-6-6.09h-9a6 6 0 00-6 6.09v5.68a6 6 0 006 6.09zm3.25-13h2.49a4.06 4.06 0 110 8.12h-2.49a4.06 4.06 0 010-8.12zM17.05 24.73H8a6.08 6.08 0 00-6 6.09v5.69a6.06 6.06 0 006 6.08h9.05a6.06 6.06 0 006-6.08v-5.69a6 6 0 00-6-6.09zm-3.26 13H11.3a4.06 4.06 0 010-8.12h2.49a4.06 4.06 0 110 8.12zM39.18 24.73c-6 0-10.81 4.47-10.81 10.05 0 6.94 7.74 13.3 10.13 15a1.17 1.17 0 001.42 0C42.31 48 50 41.72 50 34.78c0-5.58-4.84-10.05-10.82-10.05zm0 14.2a4.4 4.4 0 01-4.55-4.21 4.57 4.57 0 019.11 0 4.4 4.4 0 01-4.56 4.21z" + } + }, + settings: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "path": [{ + "d": "M26.1 19.1c-3.9 0-7 3.1-7 7s3.1 7 7 7 7-3.1 7-7-3.1-7-7-7z" + }, { + "d": "M47.1 32.4l-3.7-3.1c.2-1.1.3-2.3.3-3.4s-.1-2.3-.3-3.4l3.7-3.1c1.2-1 1.6-2.8.8-4.2l-1.6-2.8c-.6-1-1.7-1.6-2.9-1.6-.4 0-.8.1-1.1.2l-4.6 1.7c-1.8-1.6-3.8-2.7-5.9-3.4L31 4.6c-.3-1.6-1.7-2.5-3.3-2.5h-3.2c-1.6 0-3 .9-3.3 2.5l-.8 4.6c-2.2.7-4.2 1.9-6 3.4l-4.6-1.7c-.4-.1-.7-.2-1.1-.2-1.2 0-2.3.6-2.9 1.6l-1.6 2.8c-.8 1.4-.5 3.2.8 4.2l3.7 3.1c-.2 1.1-.3 2.3-.3 3.4 0 1.2.1 2.3.3 3.4L5 32.3c-1.2 1-1.6 2.8-.8 4.2l1.6 2.8c.6 1 1.7 1.6 2.9 1.6.4 0 .8-.1 1.1-.2l4.6-1.7c1.8 1.6 3.8 2.7 5.9 3.4l.8 4.8c.3 1.6 1.6 2.7 3.3 2.7h3.2c1.6 0 3-1.2 3.3-2.8l.8-4.8c2.3-.8 4.4-2 6.2-3.7l4.3 1.7c.4.1.8.2 1.2.2 1.2 0 2.3-.6 2.9-1.6l1.5-2.6c.9-1.1.5-2.9-.7-3.9zm-21 4.7c-6.1 0-11-4.9-11-11s4.9-11 11-11 11 4.9 11 11-4.9 11-11 11z" + }] + } + }, + setup: { + "xmlns": "http://www.w3.org/2000/svg", + "path": [{ + "d": "M46.8 32.4l-3.7-3.1c.2-1.1.3-2.3.3-3.4s-.1-2.3-.3-3.4l3.7-3.1c1.2-1 1.6-2.8.8-4.2L46 12.3c-.6-1-1.7-1.6-2.9-1.6-.4 0-.8.1-1.1.2l-4.5 1.7c-1.8-1.6-3.8-2.7-5.8-3.4l-.8-4.7C30.6 2.9 29.2 2 27.6 2h-3.2c-1.6 0-3 .9-3.3 2.5l-.8 4.6c-2.2.7-4.1 1.9-5.9 3.4L10 10.8c-.4-.1-.7-.2-1.1-.2-1.2 0-2.3.6-2.9 1.6L4.4 15c-.8 1.4-.5 3.2.8 4.2l3.7 3.1c-.2 1.1-.3 2.3-.3 3.4 0 1.2.1 2.3.3 3.4l-3.7 3.1c-1.2 1-1.6 2.8-.8 4.2l1.6 3c.6 1 1.7 1.6 2.9 1.6.4 0 .8-.1 1.1-.2l4.5-1.7c1.8 1.6 3.8 2.7 5.8 3.4l.8 4.8c.3 1.6 1.6 2.7 3.3 2.7h3.2c1.6 0 3-1.2 3.3-2.8l.8-4.8c2.3-.8 4.3-2 6.1-3.7l4.2 1.7c.4.1.8.2 1.2.2 1.2 0 2.3-.6 2.9-1.6l1.5-2.6c.8-1.2.4-3-.8-4zm-20.7 4.7c-6 0-10.9-4.9-10.9-11s4.8-11 10.9-11S37 20 37 26.1s-4.9 11-10.9 11z" + }, { + "d": "M29 18h-4.6c-.7 0-1.3.4-1.5 1l-2.8 7.2c-.2.5.2 1.1.8 1.1h4.7l-1.7 6c-.2.6.5.9.9.5l7.1-8.3c.5-.5.1-1.3-.6-1.3h-3.5l3.1-4.9c.3-.5-.1-1.2-.7-1.2H29z" + }] + }, + setup_assistant_guide: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "path": { + "d": "M11.5 24.9c0-.4-.5-.6-.8-.4l-4.5 3.7c-.2.2-.2.5-.2.8v15.9c0 1 1.4 1.5 2.3.8l7.3-5.7c.2-.2.3-.4.1-.7-1.8-2.7-3.6-7.2-4.2-14.4zM21.2 39.8c.2.1.4.2.6.2h8.3c.2 0 .4-.1.6-.2 1.2-.8 6-4.8 6-18.4 0-6.3-1.8-10.7-3.9-13.7C29.7 3.3 26 2 26 2s-3.8 1.3-6.9 5.8c-2.1 3-3.8 7.3-3.8 13.6C15.3 35 20 39 21.2 39.8zM25.9 13c3.3 0 6 2.7 6 6s-2.7 6-6 6-6-2.7-6-6 2.7-6 6-6zM45.7 28.2l-4.4-3.7c-.3-.3-.8-.1-.8.4-.6 7.2-2.4 11.7-4.1 14.5-.1.2-.1.5.1.7l7.3 5.7c.9.7 2.2.2 2.2-.8V29c0-.3 0-.6-.3-.8zM32.2 44.5c-.2-.3-.5-.5-.8-.5h-11c-.3 0-.7.2-.8.5-.4.6-1 1.7-1.4 3.1-.3 1.2.7 2.4 2 2.4h11.4c1.3 0 2.3-1.2 2-2.4-.4-1.5-1-2.6-1.4-3.1z" + } + } + }, + setup_modal: { + "xmlns": "http://www.w3.org/2000/svg", + "path": [{ + "d": "M48.5 2h-45C2.7 2 2 2.7 2 3.5v32.4c0 .8.7 1.5 1.5 1.5h45c.8 0 1.5-.7 1.5-1.5V3.5c0-.8-.7-1.5-1.5-1.5z" + }, { + "d": "M32 44c1.1 0 2 .9 2 2s-.9 2-2 2-2-.9-2-2 .9-2 2-2m0-2c-2.2 0-4 1.8-4 4s1.8 4 4 4 4-1.8 4-4-1.8-4-4-4z" + }], + "circle": [{ + "cx": "20", + "cy": "46", + "r": "4" + }, { + "cx": "8", + "cy": "46", + "r": "4" + }, { + "cx": "44", + "cy": "46", + "r": "4" + }] + }, + share: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M48.5 30h-3c-.8 0-1.5.7-1.5 1.5v11c0 .8-.7 1.5-1.5 1.5h-33c-.8 0-1.5-.7-1.5-1.5v-21c0-.8.7-1.5 1.5-1.5h4c.8 0 1.5-.7 1.5-1.5v-3c0-.8-.7-1.5-1.5-1.5H6c-2.2 0-4 1.8-4 4v28c0 2.2 1.8 4 4 4h40c2.2 0 4-1.8 4-4V31.5c0-.8-.7-1.5-1.5-1.5zM34 14c-10 0-19.1 8.9-19.9 19.4-.1.8.6 1.6 1.5 1.6h3c.8 0 1.4-.6 1.5-1.3C20.8 26.2 27.2 20 35 20h1.6c.9 0 1.3 1.1.7 1.7l-5.5 5.6c-.6.6-.6 1.5 0 2.1l2.1 2.1c.6.6 1.5.6 2.1 0L49.6 18c.6-.6.6-1.5 0-2.1L36.1 2.4c-.6-.6-1.5-.6-2.1 0l-2.1 2.1c-.6.6-.7 1.5-.1 2.1l5.6 5.6c.6.6.2 1.7-.7 1.7L34 14z" + } + }, + share_file: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M41 15.9h7.8c.4 0 .7-.5.4-.9l-8.3-8.3c-.4-.3-.9 0-.9.4v7.8c0 .6.4 1 1 1zm8 4H38c-1.1 0-2-.9-2-2v-11c0-.6-.4-1-1-1H21.5c-.8 0-1.5.7-1.5 1.5v4c0 .4.2.8.4 1.1l5.6 5.6c.8.8 1.4 1.9 1.6 3.1.2 1.6-.3 3.1-1.4 4.3L24.6 27c-.5.5-1 .8-1.6 1.1.7.3 1.5.5 2.3.6 2.6.2 4.7 2.4 4.7 5.1V36c0 1.4-.7 2.8-1.7 3.7-1 1-2.5 1.4-3.9 1.3-1.1-.1-2.1-.3-3.2-.5-.6-.2-1.2.3-1.2 1v3.1c0 .8.7 1.5 1.5 1.5h27c.8 0 1.5-.7 1.5-1.5V21c0-.6-.4-1-1-1.1zM26 35.8v-2.2c0-.6-.5-1-1.1-1.1-5.4-.5-9.9-5.1-9.9-10.8v-1.2c0-.6.8-1 1.2-.5l4 4c.4.4 1.1.4 1.5 0l1.5-1.5c.4-.4.4-1.1 0-1.5l-9.7-9.7c-.4-.4-1.1-.4-1.5 0L2.3 21c-.4.4-.4 1.1 0 1.5L3.8 24c.4.4 1.1.5 1.5.1l4.2-4c.5-.5 1.4-.1 1.4.5v1.9c0 7.2 6.3 13.8 13.9 14.4.7 0 1.2-.5 1.2-1.1z" + } + }, + share_mobile: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "path": [{ + "d": "M41.957 50.438c2.2 0 4-1.799 4-4V19.512c0-2.2-1.8-4-4-4h-7.5c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h4c.801 0 1.5.7 1.5 1.501v19.924c0 .799-.699 1.5-1.5 1.5H13.465c-.8 0-1.5-.701-1.5-1.5V23.013c0-.801.7-1.501 1.5-1.501h4c.8 0 1.5-.699 1.5-1.5v-3c0-.8-.7-1.5-1.5-1.5h-7.5c-2.2 0-4 1.8-4 4v26.925c0 2.198 1.8 4 4 4h31.992v.001z" + }, { + "d": "M28.952 30.898V11.487h5.899c1 0 1.5-.9.899-1.4l-9-8.3c-.399-.3-1-.3-1.399 0l-9 8.3c-.601.6-.101 1.4.899 1.4h5.7v19.412c0 .802.7 1.602 1.5 1.602h3c.802-.001 1.502-.801 1.502-1.603z" + }] + } + }, + share_post: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M26 4C12.7 4 2 13.8 2 26c0 3.9 1.1 7.5 3 10.8.2.4.3.9.2 1.3L3 45c-.4 1.3.8 2.4 2.1 2l7-2.4c.5-.2 1-.1 1.4.2 3.7 2.1 8 3.3 12.6 3.3 13.3 0 24-9.8 24-22C49.8 13.8 39.1 4 26 4z" + } + }, + shield: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "path": { + "d": "M4.8 14h42.4c1 0 1.8-1 1.5-2-1-3.3-2.4-6.3-4.3-9-.6-.8-1.7-.9-2.3-.2-1.9 1.8-4.6 2.8-7.4 2.8-3 0-5.7-1.2-7.7-3.2-.6-.6-1.6-.6-2.2 0-2 2-4.7 3.2-7.7 3.2-2.8 0-5.4-1-7.4-2.8-.7-.6-1.8-.5-2.3.2C5.5 5.6 4 8.7 3.1 12c-.1 1 .7 2 1.7 2zM50 20.4c0-.9-.7-1.4-1.6-1.4H3.6c-.9 0-1.6.5-1.6 1.4v.3c0 15 10.4 27.4 24 29.3 13.6-1.9 24-14.3 24-29.2v-.4z" + } + } + }, + shift_pattern: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M43.6 6.8h-4V5.2a3.2 3.2 0 00-6.4 0v1.6H18.8V5.2a3.2 3.2 0 00-6.4 0v1.6h-4a4.81 4.81 0 00-4.8 4.8v1.6a1.6 1.6 0 001.6 1.6h41.6a1.6 1.6 0 001.6-1.6v-1.6a4.81 4.81 0 00-4.8-4.8zm3.2 12.8a1.6 1.6 0 011.6 1.6v24a4.81 4.81 0 01-4.8 4.8H8.4a4.81 4.81 0 01-4.8-4.8v-24a1.6 1.6 0 011.6-1.6h41.6zM36 41.46h-9.39a.93.93 0 00-.93.93V45a.93.93 0 00.93.93H36a.93.93 0 00.93-.93v-2.61a.93.93 0 00-.93-.93zm0-10.79H15.54a.93.93 0 00-.93.93v6.32a.93.93 0 00.93.93H36a.93.93 0 00.93-.93V31.6a.93.93 0 00-.93-.93zM24.93 23.6h-9.39a.93.93 0 00-.93.93v2.65a.93.93 0 00.93.93h9.39a.93.93 0 00.93-.93v-2.65a.93.93 0 00-.93-.93z" + } + }, + shift_pattern_entry: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M27.4 2A1.58 1.58 0 0129 3.6v11.2a3.89 3.89 0 004.2 4.2h11.2a1.58 1.58 0 011.6 1.6v24.6a4.87 4.87 0 01-4.8 4.8H10.8A4.87 4.87 0 016 45.2V6.8A4.87 4.87 0 0110.8 2h16.6zm8.79 38.66H26.8a.93.93 0 00-.93.93v2.65a.93.93 0 00.93.93h9.39a.93.93 0 00.93-.93v-2.65a.93.93 0 00-.93-.93zm0-10.79H15.73a.93.93 0 00-.93.93v6.32a.93.93 0 00.93.93h20.46a.93.93 0 00.93-.93V30.8a.93.93 0 00-.93-.93zM25.12 22.8h-9.39a.93.93 0 00-.93.93v2.65a.93.93 0 00.93.93h9.39a.93.93 0 00.93-.93v-2.65a.93.93 0 00-.93-.93zM34.2 2a1.4 1.4 0 01.9.3l10.6 10.6a1.4 1.4 0 01.3.9 1.2 1.2 0 01-1.1 1.2h-8.5a3.5 3.5 0 01-3.4-3.4V3.1A1.2 1.2 0 0134.2 2z" + } + }, + shift_scheduling_operation: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M46.8 19.6a1.6 1.6 0 011.6 1.6v24a4.81 4.81 0 01-4.8 4.8H8.4a4.81 4.81 0 01-4.8-4.8v-24a1.6 1.6 0 011.6-1.6h41.6zM26 22.8a12 12 0 1012 12 12 12 0 00-12-12zm2.3 5.73l4.3 4.2a.62.62 0 010 .73l-4.3 4.15c-.31.31-.73 0-.73-.47v-2.49a4.93 4.93 0 00-5.18 4.68 5.23 5.23 0 000 .56h-3.11a8.23 8.23 0 018.11-8.35h.18V29c0-.52.43-.78.73-.47zM36.4 2a3.21 3.21 0 013.2 3.2v1.6h4a4.81 4.81 0 014.8 4.8v1.6a1.6 1.6 0 01-1.6 1.6H5.2a1.6 1.6 0 01-1.6-1.6v-1.6a4.81 4.81 0 014.8-4.8h4V5.2a3.2 3.2 0 016.4 0v1.6h14.4V5.2A3.21 3.21 0 0136.4 2z" + } + }, + shift_ui: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "path": { + "d": "M27.8 40.7H48c1.1 0 2 .9 2 2v5.7c0 1.1-.9 2-2 2H27.8c-1.1 0-2-.9-2-2v-5.7c0-1.1.9-2 2-2zM4 17.5h44c1.1 0 2 .9 2 2v13.6c0 1.1-.9 2-2 2H4c-1.1 0-2-.9-2-2V19.5c0-1.1.9-2 2-2zM4 2.3h20.2c1.1 0 2 .9 2 2V10c0 1.1-.9 2-2 2H4c-1.1 0-2-.9-2-2V4.3c0-1.1.9-2 2-2z" + } + } + }, + shopping_bag: { + "xmlns": "http://www.w3.org/2000/svg", + "path": [{ + "d": "M64.7 19.1v.4-.4z" + }, { + "d": "M44 19.6c0-2.2-1.8-4-4-4h-.7c-.5-6.8-6.2-12.2-13.2-12.2S13.5 8.8 12.9 15.6H12c-2.2 0-4 1.8-4 4l-2 25c0 2.2 1.8 4 4 4h32c2.2 0 4-1.8 4-4l-2-25zM26.1 9.4c3.7 0 6.7 2.7 7.2 6.2H18.9c.6-3.5 3.6-6.2 7.2-6.2zm5.7 18.2H20.2c-1.7 0-3-1.4-3-3s1.4-3 3-3h11.7c1.7 0 3 1.4 3 3s-1.4 3-3.1 3z" + }] + }, + shortcuts: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M12.1 2.7h26.5c.9 0 1.6.7 1.6 1.6 0 .5-.2.9-.5 1.2l-7.2 7.2c4.4 3.9 16.7 17.5 2.3 34.9l-.2.2c0 .1-.1.1-.2.2-.3.4-.8.7-1.4.7-.9 0-1.6-.7-1.6-1.6v-.2-.1c0-.1 0-.2.1-.2.5-2.2 3.6-17.2-9.6-23.4l-8.7 8.7c-.3.3-.7.5-1.1.5-.9 0-1.6-.7-1.6-1.6V4.4c-.1-.9.7-1.7 1.6-1.7z" + } + }, + side_list: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M48.5 4h-27c-.8 0-1.5.7-1.5 1.5v41c0 .8.7 1.5 1.5 1.5h27c.8 0 1.5-.7 1.5-1.5v-41c0-.8-.7-1.5-1.5-1.5zM14.5 4h-11C2.7 4 2 4.7 2 5.5v5c0 .8.7 1.5 1.5 1.5h11c.8 0 1.5-.7 1.5-1.5v-5c0-.8-.7-1.5-1.5-1.5zM14.5 16h-11c-.8 0-1.5.7-1.5 1.5v5c0 .8.7 1.5 1.5 1.5h11c.8 0 1.5-.7 1.5-1.5v-5c0-.8-.7-1.5-1.5-1.5zM14.5 28h-11c-.8 0-1.5.7-1.5 1.5v5c0 .8.7 1.5 1.5 1.5h11c.8 0 1.5-.7 1.5-1.5v-5c0-.8-.7-1.5-1.5-1.5zM14.5 40h-11c-.8 0-1.5.7-1.5 1.5v5c0 .8.7 1.5 1.5 1.5h11c.8 0 1.5-.7 1.5-1.5v-5c0-.8-.7-1.5-1.5-1.5z" + } + }, + signpost: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "path": { + "d": "M49.5 9l-4.2-3.1c-.6-.4-1.2-.6-1.9-.6H29.2V3.6c0-.9-.7-1.6-1.6-1.6h-3.2c-.9 0-1.6.7-1.6 1.6v1.6h-16c-.9 0-1.6.7-1.6 1.6v6.4c0 .9.7 1.6 1.6 1.6H43.4c.7 0 1.4-.2 1.9-.6l4.2-3.1c.7-.6.7-1.6 0-2.1zM45.2 22.8h-16v-2.4c0-.5-.3-.8-.8-.8h-4.8c-.5 0-.8.3-.8.8v2.4H8.6c-.7 0-1.4.2-1.9.6l-4.2 3.1c-.7.5-.7 1.5 0 2.1l4.2 3.1c.6.4 1.2.6 1.9.6h36.6c.9 0 1.6-.7 1.6-1.6v-6.4c0-.8-.7-1.5-1.6-1.5zM29.2 43.3V38c0-.5-.3-.8-.8-.8h-4.8c-.5 0-.8.3-.8.8v5.3c-3.2.9-5 2.8-5.5 5.2-.2.7.4 1.5 1.2 1.5h15.1c.8 0 1.4-.7 1.2-1.5-.6-2.4-2.4-4.3-5.6-5.2z" + } + } + }, + skip: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M39.5 32.3v.7c0 1 .7 1 1.3.4l4.9-4.9c.5-.6 1.5-.6 2.1 0l2.1 2.1c.6.5.6 1.5 0 2.1L37 45.6c-.5.5-1.3.5-1.8 0l-13-13c-.5-.6-.5-1.3.1-1.9l2.2-2.2c.6-.6 1.5-.7 2.1-.1l4.9 4.9c.7.7 1.3.9 1.7.1.1-.3.1-1.1.1-1.1V25c0-7.1-5.7-12.8-12.8-12.8S7.7 17.8 7.7 24.9v13.3c0 .8-.7 1.4-1.5 1.4H3c-.8 0-1.4-.5-1.4-1.3V24.9C1.6 14.5 10 6 20.5 6s18.9 8.5 18.9 18.9l.1 7.4z" + } + }, + skip_back: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M26 7.9V2.6c0-.5-.6-.8-1.1-.5l-10.3 8.5c-.4.3-.4.9 0 1.2l10.3 8.4c.4.4 1.1 0 1.1-.4v-5.4c8 0 14.6 6.5 14.6 14.6S34 43.5 26 43.5 11.4 37 11.4 28.9c0-2.3.5-4.5 1.5-6.5 0 0 0-.1.1-.2.2-.4.4-.9.6-1.2.3-.5.6-1.3 0-1.8s-3.1-2.6-3.3-2.7c-.2-.1-.9-.8-1.6.2-.4.6-.9 1.5-1.3 2.2 0 .1-.1.1-.1.2-.2.3-.3.6-.4.7-1.3 2.7-2 5.8-2 9.1 0 11.6 9.4 21 21 21s21-9.4 21-21-9.3-21-20.9-21z" + } + }, + skip_forward: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M26 7.9V2.6c0-.5.6-.8 1.1-.5l10.3 8.5c.4.3.4.9 0 1.2l-10.3 8.4c-.4.4-1.1 0-1.1-.4v-5.4c-8 0-14.6 6.5-14.6 14.6S18 43.5 26 43.5 40.6 37 40.6 28.9c0-2.3-.5-4.5-1.5-6.5 0 0 0-.1-.1-.2-.2-.4-.4-.9-.6-1.2-.3-.5-.6-1.3 0-1.8s3.1-2.6 3.3-2.7c.2-.1.9-.8 1.6.2.4.6.9 1.5 1.3 2.2 0 .1.1.1.1.2.2.3.3.6.4.7 1.3 2.7 2 5.8 2 9.1 0 11.6-9.4 21-21 21S5 40.6 5 29 14.4 7.9 26 7.9z" + } + }, + slider: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "path": { + "d": "M43 23.1h5c1.1 0 2 .9 2 2v2c0 1.1-.9 2-2 2h-5c-.6 0-.9-.5-.8-1 0 0 .3-1 .3-2s-.3-2.1-.3-2.1c-.1-.6.3-1 .8-.9zM10.8 41H4c-1.1 0-2 .9-2 2v2c0 1.1.9 2 2 2h6.8c1 1.8 3 3 5.2 3 3.3 0 6-2.7 6-6s-2.7-6-6-6c-2.2 0-4.2 1.2-5.2 3zM26.2 42s.3 1.1.3 2.1-.3 2-.3 2c-.1.5.2 1 .8 1h21c1.1 0 2-.9 2-2v-2c0-1.1-.9-2-2-2H27c-.6-.1-.9.3-.8.9zM30.2 6s.3 1.1.3 2.1-.3 2-.3 2c-.1.5.2 1 .8 1h17c1.1 0 2-.9 2-2v-2c0-1.1-.9-2-2-2H31c-.5-.1-.9.3-.8.9zM14.8 5H4c-1.1 0-2 .9-2 2v2c0 1.1.9 2 2 2h10.8c1 1.8 3 3 5.2 3 3.3 0 6-2.7 6-6s-2.7-6-6-6c-2.2 0-4.2 1.2-5.2 3zM26.8 23H4c-1.1 0-2 .9-2 2v2c0 1.1.9 2 2 2h22.8c1 1.8 3 3 5.2 3 3.3 0 6-2.7 6-6s-2.7-6-6-6c-2.2 0-4.2 1.2-5.2 3z" + } + } + }, + smiley_and_people: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M50 26.1c0 13.3-10.755 24.1-24 24.1S2 39.4 2 26.1 12.755 2 26 2s24 10.8 24 24.1zM17 15c-1.674 0-3 1.767-3 4s1.326 4 3 4 3-1.767 3-4-1.326-4-3-4zm18 0c-1.674 0-3 1.767-3 4s1.326 4 3 4 3-1.767 3-4-1.326-4-3-4zM11 29c.632 7.644 6.158 14 14.921 14C34.685 43 40.368 36.644 41 29H11z" + } + }, + sms: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M26 4C12.7 4 2.1 13.8 2.1 25.9c0 3.8 1.1 7.4 2.9 10.6.3.5.4 1.1.2 1.7l-3.1 8.5c-.3.8.5 1.5 1.3 1.3l8.6-3.3c.5-.2 1.1-.1 1.7.2 3.6 2 7.9 3.2 12.5 3.2C39.3 48 50 38.2 50 26.1 49.9 13.8 39.2 4 26 4zm-9.6 25.6c-.3.5-.6 1-1 1.3s-.9.6-1.5.8c-.5.2-1.1.2-1.7.2-.8 0-1.5-.1-2.2-.4-.7-.3-1.4-.7-1.9-1.3l-.2-.2c-.1-.1 0-.3.2-.5L9.7 28c.2-.2.4-.2.5-.1s.2.3.2.3c.2.3.5.5.8.7.5.3 1 .3 1.6.2.2 0 .3-.1.5-.2l.3-.3c.1-.1.1-.3.1-.4 0-.4-.1-.5-.2-.6-.2-.2-.5-.4-.9-.5s-.8-.3-1.3-.4c-.5-.2-1-.4-1.4-.6-.5-.3-.8-.7-1.1-1.1-.3-.5-.5-1.1-.5-1.9 0-.7.1-1.3.4-1.8.3-.5.6-.9 1.1-1.2.4-.3.9-.6 1.5-.7 1.2-.3 2.4-.3 3.6.1.6.2 1.2.6 1.5.8l.3.2c.2.1.1.4-.1.6l-1.5 1.5c-.2.2-.5.2-.7 0-.2-.1-.3-.3-.4-.3-.5-.3-1.2-.4-1.8-.3-.2 0-.3.1-.4.2l-.3.3c-.1.1-.1.2-.1.4 0 .3.1.4.2.5.2.2.5.3.9.5.4.1.8.3 1.3.4.5.2 1 .4 1.4.6.5.3.8.7 1.1 1.1.3.5.5 1.1.5 1.9 0 .6-.1 1.2-.4 1.7zM33 31c0 .6-.5 1-1.1 1h-1c-.6 0-.9-.4-.9-1v-5.9c0-.6-.8-.7-1-.2l-1.7 4.5c-.1.4-.5.6-.9.6h-.7c-.4 0-.8-.3-.9-.6L23 24.9c-.2-.5-1-.4-1 .2V31c0 .6-.5 1-1.1 1h-1c-.6 0-.9-.4-.9-1V20c0-.6.4-1 .9-1h2.6c.4 0 .8.3.9.6l2 5.2c.2.4.8.4.9 0l2-5.2c.1-.4.5-.6.9-.6h2.7c.6 0 1.1.4 1.1 1v11zm10.5-1.3c-.3.5-.6 1-1.1 1.3-.4.3-.9.6-1.5.8s-1.1.2-1.7.2c-.8 0-1.5-.1-2.2-.4-.7-.3-1.4-.7-1.9-1.3l-.2-.2c-.1-.1 0-.3.2-.5l1.6-1.5c.2-.2.4-.2.5-.1s.2.3.2.3c.2.3.5.5.8.7.5.3 1.1.3 1.6.2.2-.1.4-.1.5-.2l.3-.3c.1-.1.1-.3.1-.4 0-.4-.1-.5-.2-.6-.2-.2-.5-.4-.9-.5s-.8-.3-1.3-.4c-.5-.2-1-.4-1.4-.6-.5-.3-.9-.7-1.2-1.1-.3-.5-.5-1.1-.5-1.9 0-.7.1-1.3.4-1.8.3-.5.6-.9 1.1-1.2.4-.3 1-.6 1.5-.7 1.2-.3 2.4-.3 3.6.1.6.2 1.2.6 1.5.9l.3.3c.2.1.1.4-.1.6L42 22.9c-.2.2-.5.2-.7 0-.2-.1-.3-.3-.4-.3-.5-.3-1.2-.4-1.8-.3-.2 0-.3.1-.4.2l-.3.3c-.1.1-.1.3-.1.4 0 .3.1.4.2.5.2.2.5.3.9.5.4.1.8.3 1.3.4.5.2 1 .4 1.4.6.5.3.8.7 1.2 1.1.3.5.5 1.1.5 1.9.1.3 0 1-.3 1.5z" + } + }, + snippet: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M14.5 6h-11C2.7 6 2 6.7 2 7.5v13c0 .8.7 1.5 1.5 1.5h11c.8 0 1.5-.7 1.5-1.5v-13c0-.8-.7-1.5-1.5-1.5zM48.5 6h-27c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h27c.8 0 1.5-.7 1.5-1.5v-3c0-.8-.7-1.5-1.5-1.5zM21.5 22h17c.8 0 1.5-.7 1.5-1.5v-3c0-.8-.7-1.5-1.5-1.5h-17c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5zM14.5 30h-11c-.8 0-1.5.7-1.5 1.5v13c0 .8.7 1.5 1.5 1.5h11c.8 0 1.5-.7 1.5-1.5v-13c0-.8-.7-1.5-1.5-1.5zM48.5 30h-27c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h27c.8 0 1.5-.7 1.5-1.5v-3c0-.8-.7-1.5-1.5-1.5zM38.5 40h-17c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h17c.8 0 1.5-.7 1.5-1.5v-3c0-.8-.7-1.5-1.5-1.5z" + } + }, + sobject: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M6.3 4.3h4c-4.8 10.6-4.8 18.6 0 29.2h-4C.7 21.3.8 16.5 6.3 4.3zM23.7 22.4c.4 1.8.7 3.3.9 3.9.3.9.8 1.6 1.4 2.1 1.5-1.2 3.4-1.9 5.4-1.9 1.3 0 2.5.3 3.6.8.2-.3.3-.6.3-.9 0-1-.8-1.8-1.8-1.8-.3 0-.5.1-.8.2 0 0-1.9 1.1-2.6.2-.5-.9-.9-2.1-1.2-3.5-.3-1.3-.6-2.8-.9-4.3l1.9-2.8s2.2.8 3.3.8 3.3-.9 3.3-3.8-2.1-3.1-2.8-3.1c-1.3 0-2.6.9-3.7 2.9s-2.4 4.2-2.4 4.2c-.3-1.4-.5-2.5-.6-3-.2-1.2-1.6-3.9-4.5-3.9s-5.6 1.7-5.6 1.7c-.5.3-.8.9-.8 1.5 0 1 .8 1.8 1.8 1.8.3 0 .5-.1.8-.2 0 0 2.2-1.2 2.7 0 .1.4.3.8.4 1.2.6 1.9 1.1 4.1 1.5 6.2l-1.9 2.7s-2.2-.8-3.3-.8c-1.1 0-3.3.9-3.3 3.8s2.1 3.1 2.8 3.1c1.3 0 2.6-.9 3.7-2.9s2.4-4.2 2.4-4.2zM43.5 28.8c.1 0 .1.1.2.1h.9c1 0 2 .2 2.9.5 3.6-9.4 3-14.4-1.9-25.1h-4c4.1 9 4.7 16.1 1.9 24.5zM35.3 32.4c.8-.8 1.9-1.3 3.2-1.3 1.6 0 3.1.9 3.9 2.2.7-.3 1.4-.5 2.2-.5 3 0 5.4 2.4 5.4 5.4 0 3-2.4 5.4-5.4 5.4-.4 0-.7 0-1.1-.1-.7 1.2-2 2-3.4 2-.6 0-1.2-.2-1.7-.4-.7 1.6-2.3 2.7-4.1 2.7-2 0-3.6-1.2-4.2-2.9-.3 0-.5.1-.9.1-2.3 0-4.2-1.8-4.2-4.1 0-1.5.8-2.9 2.1-3.6-.3-.6-.4-1.2-.4-1.9 0-2.6 2.2-4.8 4.8-4.8 1.5-.1 2.9.7 3.8 1.8z" + } + }, + sobject_collection: { + "xmlns": "http://www.w3.org/2000/svg", + "path": [{ + "d": "M13.6 15.1c-3.4 7.5-3.4 10.5 0 18.1h2.5c-3-6.6-3-11.5-.1-18.1h-2.4zM36.9 29.4c.5-.1 1-.2 1.5-.2.4 0 .7 0 1.1.1 1.7-5.1 1.3-8.1-1.5-14.3h-2.5c2.4 5.4 2.9 9.6 1.4 14.4z" + }, { + "d": "M22.3 38.4H8.1c-1.1 0-2-.9-2-2V10.2h39.4v20.9c1.5.2 2.8.7 4 1.4V6.1c0-2.2-1.8-4-4-4H6.2c-2.2 0-4 1.8-4 4v32.3c0 2.2 1.8 4 4 4H21c.1-1.4.5-2.8 1.3-4z" + }, { + "d": "M35.3 34.6c.8-.8 1.9-1.3 3.2-1.3 1.7 0 3.1.9 3.9 2.2.6-.2 1.4-.5 2.2-.5 2.9 0 5.4 2.4 5.4 5.3s-2.4 5.3-5.4 5.3c-.3 0-.7 0-1-.1-.6 1.2-2 2-3.4 2-.6 0-1.2-.2-1.7-.4-.7 1.6-2.3 2.7-4.1 2.7-2 0-3.6-1.2-4.2-2.8-.2 0-.6.1-.9.1-2.3 0-4.2-1.8-4.2-4.1 0-1.5.8-2.8 2.1-3.6-.2-.6-.4-1.2-.4-1.9 0-2.6 2.2-4.7 4.8-4.7 1.5-.1 2.8.7 3.7 1.8zM23 28.9c.7-1.2 1.5-2.5 1.5-2.5.2 1.1.4 2 .6 2.4.2.7.7 1.3 1.3 1.7 1.4-1 3.2-1.6 5.1-1.6h.2c0-.6-.5-1.1-1.1-1.1-.2 0-.3.1-.5.1 0 0-1.2.6-1.6.2-.3-.6-.6-1.3-.7-2.2-.2-.8-.4-1.7-.6-2.7l1.2-1.7s1.3.5 2 .5 2.1-.6 2.1-2.4-1.3-1.9-1.7-1.9c-.8 0-1.6.6-2.3 1.7-.7 1.2-1.5 2.5-1.5 2.5-.2-.9-.3-1.6-.4-1.9-.2-.7-1-2.4-2.8-2.4-1.8 0-3.4 1-3.4 1-.3.2-.5.6-.5.9 0 .6.5 1.1 1.1 1.1.2 0 .3-.1.5-.1 0 0 1.3-.8 1.7 0 .1.2.2.5.2.8.3 1.2.6 2.5.9 3.8l-1.2 1.7s-1.3-.5-2-.5-2.1.6-2.1 2.4 1.3 1.9 1.7 1.9c.9.1 1.7-.5 2.3-1.7z" + }] + }, + socialshare: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M40.9 32c-2.6 0-4.9 1.1-6.5 2.8l-14.6-7.3c.1-.5.1-1 .1-1.6 0-.5-.1-1.1-.1-1.6L34.4 17c1.6 1.8 4 2.9 6.6 2.9 5 0 9-4 9-9s-4-9-9-9-9 4-9 9v.6l-15.1 7.6c-1.7-1.3-3.7-2.1-6-2.1-5 0-9 4-9 9s4 9 9 9c2.3 0 4.3-.8 5.9-2.2l15.1 7.5v.7c0 5 4 9 9 9s9-4 9-9-4-9-9-9z" + } + }, + sort: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "path": { + "d": "M27.5 16c.6-.6.6-1.5 0-2.1L16.1 2.4c-.6-.6-1.5-.6-2.1 0L2.5 13.9c-.6.6-.6 1.5 0 2.1l2.1 2.1c.6.6 1.5.6 2.1 0l3.6-3.6c.6-.6 1.7-.2 1.7.7v21.2c0 .8.7 1.5 1.5 1.5h3c.8 0 1.5-.8 1.5-1.5V15.2c0-.9 1.1-1.3 1.7-.7l3.6 3.6c.6.6 1.5.6 2.1 0l2.1-2.1zM49.5 36l-2.1-2c-.6-.6-1.5-.6-2.1 0l-3.6 3.6c-.6.6-1.7.2-1.7-.7V15.5c0-.8-.7-1.5-1.5-1.5h-3c-.8 0-1.5.8-1.5 1.5v21.2c0 .9-1.1 1.3-1.7.7l-3.6-3.6c-.6-.6-1.5-.6-2.1 0L24.5 36c-.6.6-.6 1.5 0 2.1L36 49.6c.6.6 1.5.6 2.1 0l11.5-11.5c.5-.6.5-1.6-.1-2.1z" + } + } + }, + sort_policy: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M12.84 2H8a6 6 0 00-6 6v3.2a6 6 0 006 6h4.84a6 6 0 006-6V8a6 6 0 00-6-6zm-1.61 10.4h-1.6a2.8 2.8 0 010-5.6h1.6a2.8 2.8 0 010 5.6zM29.7 17.2h4.81a6 6 0 006-6V8a6 6 0 00-6-6H29.7a6 6 0 00-6 6v3.2a6 6 0 006 6zm1.6-10.4h1.61a2.8 2.8 0 110 5.6H31.3a2.8 2.8 0 010-5.6zM12.84 22H8a6 6 0 00-6 6v3.2a6 6 0 006 6h4.84a6 6 0 006-6V28a6 6 0 00-6-6zm-1.61 10.4h-1.6a2.8 2.8 0 010-5.6h1.6a2.8 2.8 0 010 5.6zM49.83 42.54l-1.17-1.13a.82.82 0 00-1.17 0l-2 1.92a.54.54 0 01-.76 0 .55.55 0 01-.16-.38V34a.87.87 0 00-.83-.83H42a.89.89 0 00-.84.83v8.9a.53.53 0 01-.51.55.54.54 0 01-.41-.17l-2-1.92a.82.82 0 00-1.16 0L36 42.49a.74.74 0 00-.08 1 .6.6 0 00.08.08l6.28 6.14a.82.82 0 001.16 0l6.33-6.14a.76.76 0 00.06-1.03zM36.63 30.65l1-1.13a.74.74 0 00.08-1l-.08-.08-6.28-6.14a.82.82 0 00-1.16 0l-6.28 6.14a.74.74 0 00-.08 1l.08.08 1.17 1.13a.82.82 0 001.16 0l2-1.92a.55.55 0 01.78 0 .58.58 0 01.14.34V38a.88.88 0 00.84.83h1.68a.88.88 0 00.83-.83v-8.9a.54.54 0 01.92-.38l2 1.92a.82.82 0 001.2.01z" + } + }, + spinner: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "path": { + "d": "M16 27.5v-3c0-.8-.7-1.5-1.5-1.5h-11c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h11c.8 0 1.5-.7 1.5-1.5zM17.9 32c-.6-.6-1.5-.6-2.1 0L8 39.8c-.6.6-.6 1.5 0 2.1l2.1 2.1c.6.6 1.5.6 2.1 0l7.8-7.8c.6-.6.6-1.5 0-2.1L17.9 32zM34.1 20c.6.6 1.5.6 2.1 0l7.8-7.8c.6-.6.6-1.5 0-2.1L41.9 8c-.6-.6-1.5-.6-2.1 0L32 15.7c-.6.6-.6 1.5 0 2.1l2.1 2.2zM12.2 8c-.6-.6-1.5-.6-2.1 0L8 10.1c-.6.6-.6 1.5 0 2.1l7.8 7.8c.6.6 1.5.6 2.1 0l2.1-2.1c.6-.6.6-1.5 0-2.1L12.2 8zM36.3 32c-.6-.6-1.5-.6-2.1 0L32 34.1c-.6.6-.6 1.5 0 2.1l7.8 7.8c.6.6 1.5.6 2.1 0l2.1-2.1c.6-.6.6-1.5 0-2.1L36.3 32zM27.5 36h-3c-.8 0-1.5.7-1.5 1.5v11c0 .8.7 1.5 1.5 1.5h3c.8 0 1.5-.7 1.5-1.5v-11c0-.8-.7-1.5-1.5-1.5zM48.5 23h-11c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h11c.8 0 1.5-.7 1.5-1.5v-3c0-.8-.7-1.5-1.5-1.5zM27.5 2h-3c-.8 0-1.5.7-1.5 1.5v11c0 .8.7 1.5 1.5 1.5h3c.8 0 1.5-.7 1.5-1.5v-11c0-.8-.7-1.5-1.5-1.5z" + } + } + }, + stage: { + "xmlns": "http://www.w3.org/2000/svg", + "circle": [{ + "cx": "46.7", + "cy": "26", + "r": "3.4" + }, { + "cx": "25.9", + "cy": "26", + "r": "3.4" + }, { + "cx": "5.4", + "cy": "26", + "r": "3.4" + }], + "path": { + "d": "M11.6 26c0 7.9 6.5 14.4 14.4 14.4S40.3 33.9 40.3 26 33.9 11.6 26 11.6 11.6 18.1 11.6 26zm23.9 0c0 5.3-4.3 9.6-9.6 9.6s-9.6-4.3-9.6-9.6 4.3-9.6 9.6-9.6 9.6 4.3 9.6 9.6z" + } + }, + stage_collection: { + "xmlns": "http://www.w3.org/2000/svg", + "circle": { + "cx": "25.9", + "cy": "26", + "r": "3.4" + }, + "path": { + "d": "M46.7 22.6c-1.2 0-2.3.7-2.9 1.6h-3.6c-.9-7.1-6.9-12.6-14.3-12.6s-13.4 5.5-14.3 12.6H8.3c-.6-1-1.7-1.6-2.9-1.6C3.5 22.6 2 24.1 2 26s1.5 3.4 3.4 3.4c1.2 0 2.2-.6 2.8-1.6h3.5c.9 7.1 7 12.6 14.3 12.6 7.3 0 13.3-5.5 14.3-12.6h3.6c.6.9 1.6 1.6 2.8 1.6 1.9 0 3.4-1.5 3.4-3.4s-1.5-3.4-3.4-3.4zM26 35.6c-5.3 0-9.6-4.3-9.6-9.6s4.3-9.6 9.6-9.6 9.6 4.3 9.6 9.6-4.4 9.6-9.6 9.6z" + } + }, + standard_objects: { + "xmlns": "http://www.w3.org/2000/svg", + "path": [{ + "d": "M46.2 38.9L27.4 49.6c-1 .6-2.3.6-3.3 0L5.4 38.9c-.8-.4-.8-1.4 0-1.8l4.4-2.5c.3-.2.7-.2 1 0l11.4 6.5c1.1.6 2.3.9 3.6.9s2.5-.3 3.6-.9l11.4-6.5c.3-.2.7-.2 1 0l4.4 2.5c.8.4.8 1.4 0 1.8z" + }, { + "d": "M46.2 26.9L27.4 37.6c-1 .6-2.3.6-3.3 0L5.4 26.9c-.8-.4-.8-1.4 0-1.8l4.4-2.5c.3-.2.7-.2 1 0l11.4 6.5c1.1.6 2.3.9 3.6.9s2.5-.3 3.6-.9l11.4-6.5c.3-.2.7-.2 1 0l4.4 2.5c.8.4.8 1.4 0 1.8z" + }, { + "d": "M24.3 25.6L5.5 14.9c-.8-.4-.8-1.4 0-1.8L24.3 2.4c1-.6 2.3-.6 3.3 0l18.8 10.7c.8.4.8 1.4 0 1.8L27.6 25.6c-1 .5-2.3.5-3.3 0z" + }] + }, + steps: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M44.4 50.2h-7v-4.8h7v4.8zm0-2.3zm-14.1 2.3h-7v-4.8h7v4.8zm-14 0h-7v-4.8h7v4.8zm-9.4-5.9H2.1v-7h4.8v7zm43-1.7h-4.8v-7h4.8v7zm-43-12.3H2.1v-7h4.8v7zm43-1.7h-4.8v-7h4.8v7zm-43-12.3H2.1v-7h4.8v7zm43-1.6h-4.8v-7h4.8v7zm-7.3-8.1h-7V1.8h7v4.8zm-14 0h-7V1.8h7v4.8zm-13.9 0h-7V1.8h7v4.8z" + } + }, + stop: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M8 8h36v36H8V8z" + } + }, + store: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "path": { + "d": "M43.1 29.5h-.2c-1.6-.2-2.9-.6-4.1-1.5-.1-.1-.1-.1-.2-.1-.6-.5-1.1-.2-1.4-.1l-.1.1c-1.5 1.1-3.2 1.7-5.2 1.7-2.1 0-3.8-.6-5.4-1.8-.6-.4-1 0-1 0-1.6 1.3-3.4 1.9-5.5 1.9-2 0-3.8-.6-5.3-1.8-.1-.1-.2-.1-.2-.2-.5-.4-1 0-1 0-1.5 1.2-3.2 1.8-5.1 1.9 0 0-.6 0-.6.7v14.9c0 .3.2 1 1.1 1.2h18.5c1-.2 1.1-.9 1.1-1.2v-2.9-7.7c.1-.3.2-.6 1-.6h8.9c.3.1.6.3.6 1v10c0 1.1.8 1.3 1 1.3h2.8c.2 0 1-.2 1-1.3V30.6c.1-.8-.3-1-.7-1.1zM23.2 41v.3c0 .4-.2 1-1.2 1h-8.1c-.9 0-1.1-.4-1.2-.8v-.4-5.7c0-1.4.8-1.5 1.1-1.5h8.5c.3 0 1 .2 1 1.3-.1 2-.1 3.9-.1 5.8zM42.3 25.5c2.2.6 4.1.2 5.7-1.4 1-1 1.7-2.2 1.9-3.5v-.2c-.2-.5-.4-1-.6-1.4-2.4-4.3-4.7-8.6-7-12.9-.3-.6-1-.6-1.2-.6H10.6s-.9 0-1.2.6C7 10.4 4.7 14.8 2.4 19c-.2.4-.4 1-.4 1.6v.2c.2 1.4.8 2.6 1.8 3.5 1.8 1.6 3.8 2 6.2 1.2 1.3-.5 2.2-1.3 3-2.5l.3-.3c.5-.3 1.1-.2 1.5.3.4.6.9 1.2 1.5 1.6 1.7 1.3 3.6 1.5 5.6.9 1.3-.4 2.3-1.3 3-2.5.4-.6 1.4-.7 1.8 0 .2.2.3.5.5.7 1 1.2 2.3 1.9 3.8 2.1 1.4.2 2.8-.2 4.1-1 .7-.5 1.3-1.1 1.7-1.8.5-.6 1.4-.6 1.8 0 .8 1.3 1.8 2.1 3.3 2.5h.4z" + } + } + }, + strategy: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M46.9 18.7h-8.1c-1.8 0-3.2 1.4-3.2 3.2v2h-7.5V8.1c0-.5-.5-1-1-1H16.6V5.2c0-1.8-1.4-3.2-3.2-3.2H5.3C3.6 2 2.1 3.4 2.1 5.2v8.1c0 1.8 1.4 3.2 3.2 3.2h8.1c1.8 0 3.2-1.4 3.2-3.2v-1.9H24v12.5h-7.4V22c0-1.8-1.4-3.2-3.2-3.2H5.3c-1.8 0-3.2 1.4-3.2 3.2v8c0 1.8 1.4 3.2 3.2 3.2h8.1c1.8 0 3.2-1.4 3.2-3.2v-1.9H24v12.5h-7.4v-1.8c0-1.8-1.4-3.2-3.2-3.2H5.3c-1.8 0-3.2 1.4-3.2 3.2v8.1c0 1.8 1.4 3.2 3.2 3.2h8.1c1.8 0 3.2-1.4 3.2-3.2V45h10.6c.6 0 1-.6 1-1V28.2h7.5V30c0 1.8 1.4 3.2 3.2 3.2H47c1.8 0 3.2-1.4 3.2-3.2v-8.1c-.1-1.8-1.5-3.2-3.3-3.2zm-34.4-6.3H6.2V6h6.3v6.4zm0 10.4v6.3H6.2v-6.3h6.3zm0 23.2H6.2v-6.3h6.3V46zm33.6-23.2v6.3h-6.3v-6.3h6.3z" + } + }, + strikethrough: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M12.1 18.1c-.2-1-.3-2.2-.3-3.4 0-1.3.3-2.8.9-4.2.6-1.5 1.5-2.9 2.8-4.1 1.2-1.2 2.9-2.3 4.8-3.1 2-.8 4.3-1.3 7.1-1.3 2.5 0 4.9.3 7.2 1 1.8.6 3.5 1.6 5 3 .6.6.6 1.6-.1 2.2l-2.7 2.5c-.6.5-1.5.6-2.1 0-.7-.7-1.5-1.3-2.4-1.8-1.4-.7-3-1.1-4.9-1.1-1.7 0-3.2.2-4.3.7s-2.1 1-2.8 1.8-1.2 1.5-1.5 2.3-.4 1.6-.4 2.2c0 1.1.2 2 .5 2.8.3.7-.2 1.4-.9 1.4h-4.9c-.5 0-.9-.5-1-.9zM39.9 33h-5c-.7 0-1.2.7-.9 1.3.3.6.4 1.4.4 2.2 0 1.2-.3 2.3-.8 3.3-.6 1-1.3 1.7-2.2 2.4-.9.6-1.9 1.1-3 1.4-1.1.3-2.1.5-3.2.5-1.9 0-3.7-.4-5.4-1.2-1.3-.6-2.4-1.4-3.4-2.5-.5-.6-1.5-.7-2.1-.2l-2.8 2.4c-.6.5-.7 1.5-.1 2.1 1.4 1.6 3.2 2.8 5.3 3.6 2.6 1 5.4 1.5 8.4 1.5 2.2 0 4.3-.3 6.2-1 1.9-.6 3.6-1.6 5.1-2.8 1.4-1.2 2.6-2.7 3.4-4.5.8-1.8 1.3-3.7 1.3-5.9 0-.8 0-1.3-.1-2-.2-.2-.6-.6-1.1-.6zM49.9 23.9c-.2-.6-.8-.9-1.4-.9h-45c-.7 0-1.2.3-1.4.9-.1.2-.1.3-.1.5v3c0 .8.7 1.6 1.5 1.6h45c.8 0 1.5-.8 1.5-1.6v-3c0-.2 0-.3-.1-.5z" + } + }, + success: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M26 2C12.7 2 2 12.7 2 26s10.7 24 24 24 24-10.7 24-24S39.3 2 26 2zm13.4 18L24.1 35.5c-.6.6-1.6.6-2.2 0L13.5 27c-.6-.6-.6-1.6 0-2.2l2.2-2.2c.6-.6 1.6-.6 2.2 0l4.4 4.5c.4.4 1.1.4 1.5 0L35 15.5c.6-.6 1.6-.6 2.2 0l2.2 2.2c.7.6.7 1.6 0 2.3z" + } + }, + summary: { + "xmlns": "http://www.w3.org/2000/svg", + "path": [{ + "d": "M48.5 2h-45C2.7 2 2 2.7 2 3.5v5c0 .8.7 1.5 1.5 1.5h45c.8 0 1.5-.7 1.5-1.5v-5c0-.8-.7-1.5-1.5-1.5zM48.5 14h-35c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h35c.8 0 1.5-.7 1.5-1.5v-3c0-.8-.7-1.5-1.5-1.5zM48.5 34h-35c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h35c.8 0 1.5-.7 1.5-1.5v-3c0-.8-.7-1.5-1.5-1.5z" + }, { + "d": "M48.5 44h-39c-.8 0-1.5-.7-1.5-1.5v-7c0-.8-.7-1.5-1.5-1.5h-3c-.8 0-1.5.7-1.5 1.5v13c0 .8.7 1.5 1.5 1.5h45c.8 0 1.5-.7 1.5-1.5v-3c0-.8-.7-1.5-1.5-1.5zM48.5 24h-39c-.8 0-1.5-.7-1.5-1.5v-7c0-.8-.7-1.5-1.5-1.5h-3c-.8 0-1.5.7-1.5 1.5v13c0 .8.7 1.5 1.5 1.5h45c.8 0 1.5-.7 1.5-1.5v-3c0-.8-.7-1.5-1.5-1.5z" + }] + }, + summarydetail: { + "xmlns": "http://www.w3.org/2000/svg", + "path": [{ + "d": "M48.5 2h-45C2.7 2 2 2.7 2 3.5v5c0 .8.7 1.5 1.5 1.5h45c.8 0 1.5-.7 1.5-1.5v-5c0-.8-.7-1.5-1.5-1.5zM20.5 14h-7c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h7c.8 0 1.5-.7 1.5-1.5v-3c0-.8-.7-1.5-1.5-1.5zM34.5 14h-7c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h7c.8 0 1.5-.7 1.5-1.5v-3c0-.8-.7-1.5-1.5-1.5zM48.5 14h-7c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h7c.8 0 1.5-.7 1.5-1.5v-3c0-.8-.7-1.5-1.5-1.5zM20.5 34h-7c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h7c.8 0 1.5-.7 1.5-1.5v-3c0-.8-.7-1.5-1.5-1.5zM34.5 34h-7c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h7c.8 0 1.5-.7 1.5-1.5v-3c0-.8-.7-1.5-1.5-1.5zM48.5 34h-7c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h7c.8 0 1.5-.7 1.5-1.5v-3c0-.8-.7-1.5-1.5-1.5z" + }, { + "d": "M48.5 44h-39c-.8 0-1.5-.7-1.5-1.5v-7c0-.8-.7-1.5-1.5-1.5h-3c-.8 0-1.5.7-1.5 1.5v13c0 .8.7 1.5 1.5 1.5h45c.8 0 1.5-.7 1.5-1.5v-3c0-.8-.7-1.5-1.5-1.5zM48.5 24h-39c-.8 0-1.5-.7-1.5-1.5v-7c0-.8-.7-1.5-1.5-1.5h-3c-.8 0-1.5.7-1.5 1.5v13c0 .8.7 1.5 1.5 1.5h45c.8 0 1.5-.7 1.5-1.5v-3c0-.8-.7-1.5-1.5-1.5z" + }] + }, + survey: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M5.23 3h35.54A3.29 3.29 0 0144 6.33v3.34A3.29 3.29 0 0140.77 13H5.23A3.29 3.29 0 012 9.67V6.33A3.29 3.29 0 015.23 3zm-.08 15h19.7A3.26 3.26 0 0128 21.33v3.34A3.26 3.26 0 0124.85 28H5.15A3.26 3.26 0 012 24.67v-3.34A3.26 3.26 0 015.15 18zM39 28a11 11 0 11-11 11 11 11 0 0111-11zm7 7.92a.84.84 0 000-1l-1.12-1a.77.77 0 00-1.12 0l-6 6.72-2.72-2.72a.77.77 0 00-1.12 0l-1.12 1a.68.68 0 000 1l3.84 3.76a1.58 1.58 0 001.12.48 1.45 1.45 0 001.12-.48zM5.2 33h18.56a16.14 16.14 0 00-1 5 17.11 17.11 0 00.48 5H5.2A3.28 3.28 0 012 39.67v-3.34A3.28 3.28 0 015.2 33z" + } + }, + swarm_request: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "circle": [{ + "cx": "20.15", + "cy": "9.99", + "r": "4.28" + }, { + "cx": "31.84", + "cy": "9.99", + "r": "4.28" + }, { + "cx": "11.36", + "cy": "19.96", + "r": "5.42" + }, { + "cx": "40.78", + "cy": "19.96", + "r": "5.42" + }, { + "cx": "26.07", + "cy": "23.06", + "r": "5.42" + }], + "path": { + "d": "M32.19 46.29a2.79 2.79 0 002.17-.93 3.1 3.1 0 00.93-2.17v-7a4.66 4.66 0 00-4.64-4.64h-9.3a4.66 4.66 0 00-4.64 4.64v7a3.18 3.18 0 003.1 3.1zM12 43.19v-7a9.13 9.13 0 012.63-6.42.81.81 0 00-.08-1.13.79.79 0 00-.46-.19H6.65A4.66 4.66 0 002 33.12v7a3.18 3.18 0 003.1 3.1zM46.9 43.19a2.84 2.84 0 002.17-.93 3.1 3.1 0 00.93-2.17v-7a4.66 4.66 0 00-4.65-4.65h-7.43a.77.77 0 00-.54 1.32A9.28 9.28 0 0140 36.22v7z" + } + } + }, + swarm_session: { + "xmlns": "http://www.w3.org/2000/svg", + "path": [{ + "d": "M19 11.48c0 .08.08.16.08.24a.29.29 0 00-.08-.24z", + "fill-rule": "evenodd" + }, { + "d": "M19.05 11.48c0 .08.08.16.08.24a4.29 4.29 0 00.4.88 6.88 6.88 0 0012.06.47 16.4 16.4 0 0110.69 12.38c.32 0 .64-.08.88-.08A12.35 12.35 0 0147 26 20.84 20.84 0 0032.55 8.6a6.5 6.5 0 00-.72-2.31 7 7 0 00-9.34-3 6.86 6.86 0 00-3.76 7.42 5.52 5.52 0 01.32.77zM15.14 33.75A6.86 6.86 0 009.71 30a8.23 8.23 0 01-.08-1.44 16.84 16.84 0 016.23-12.93 10 10 0 00-.64-1 13.25 13.25 0 01-1.12-3.43 21.13 21.13 0 00-9.18 17.36c0 .88.08 1.68.16 2.56a7 7 0 1010.06 2.63zM49.23 33.75a6.94 6.94 0 00-12.37 6.31c.08.16.24.4.32.56A16.36 16.36 0 0126 45a16.65 16.65 0 01-7.42-1.84 10.24 10.24 0 01-3.36 3.35 20.67 20.67 0 0010.86 3 21.14 21.14 0 0014.85-6.15 6.31 6.31 0 005.35-.4 6.75 6.75 0 002.95-9.21zM19.13 34.15a.32.32 0 00.4.4l2.64-1a.49.49 0 01.56.08 6.34 6.34 0 003.67 1 7.13 7.13 0 007.34-6.87 7.13 7.13 0 00-7.34-6.86 7.12 7.12 0 00-7.27 6.86A7.41 7.41 0 0020 31a.7.7 0 01.08.56z", + "fill-rule": "evenodd" + }] + }, + switch: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M47.6 17.8L27.1 38.5c-.6.6-1.6.6-2.2 0L4.4 17.8c-.6-.6-.6-1.6 0-2.2l2.2-2.2c.6-.6 1.6-.6 2.2 0l16.1 16.3c.6.6 1.6.6 2.2 0l16.1-16.3c.6-.6 1.6-.6 2.2 0l2.2 2.2c.5.7.5 1.6 0 2.2z" + } + }, + symbols: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M33.5 28l1-4h3l-1 4h-3zm-.75 3h3L35 34h3l.75-3H42v-3h-2.5l1-4h3v-3h-2.25l.75-3h-3l-.75 3h-3l.75-3h-3l-.75 3H29v3h2.5l-1 4H27v3h2.75L29 34h3l.75-3zM4 6h44a2 2 0 012 2v36a2 2 0 01-2 2H4a2 2 0 01-2-2V8a2 2 0 012-2zm19.837 20.81c.609-.446 1.096-.84 1.464-1.186.38-.357.708-.797.985-1.319.284-.536.425-1.156.425-1.855 0-.897-.226-1.703-.677-2.411-.45-.707-1.087-1.262-1.905-1.663-.813-.4-1.745-.598-2.794-.598-1.24 0-2.32.232-3.237.698-.913.464-1.726 1.144-2.437 2.036l-.149.187 2.084 1.817.165-.187c.51-.58 1.022-1.009 1.537-1.287.504-.273 1.109-.41 1.817-.41.674 0 1.197.177 1.58.528.38.347.568.808.568 1.4 0 .483-.144.882-.432 1.21-.316.357-.805.775-1.466 1.249-.746.522-1.315 1.008-1.704 1.459-.415.48-.622 1.084-.622 1.802V29h3.14v-.28c0-.316.114-.592.35-.84.265-.28.701-.637 1.308-1.07zM10 18v11h3V18h-3zm1.5 16.5a2 2 0 100-4 2 2 0 000 4zm9 0a2 2 0 100-4 2 2 0 000 4z" + } + }, + sync: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M47.9 29.3c0-.8-.7-1.5-1.5-1.5h-3.5c-.8 0-1.4.6-1.4 1.4 0 .2 0 .5-.1.7-.3 1.3-.8 2.5-1.5 3.7-2.8 4.9-7.7 7.6-12.9 7.6-4 0-7.8-1.6-10.6-4.4-.5-.4-.9-.9-1.2-1.4-.3-.8.4-1.2 1.3-1.2h7c.8 0 1.5-.7 1.5-1.5v-3.1c0-.8-.6-1.4-1.4-1.4H5.3c-.7 0-1.3.6-1.3 1.3v18.2c.1.8.8 1.5 1.6 1.5h3c.8 0 1.5-.7 1.5-1.5v-7c0-.9.5-1.3 1.2-.7.3.4.6.7 1 1 5 5 12 7.1 19.2 5.7 2.5-.5 4.9-1.5 7-2.9 5.2-3.4 8.5-8.6 9.4-14.3v-.2zM4.1 22.7c0 .8.7 1.5 1.5 1.5h3.5c.8 0 1.4-.6 1.4-1.4 0-.2 0-.5.1-.7.3-1.3.8-2.5 1.5-3.7 2.8-4.9 7.7-7.6 12.9-7.6 4 0 7.8 1.6 10.6 4.4.5.4.9.9 1.2 1.4.3.8-.4 1.2-1.3 1.2h-7c-.8 0-1.5.7-1.5 1.5v3.1c0 .8.6 1.4 1.4 1.4h18.3c.7 0 1.3-.6 1.3-1.3V4.3c-.1-.8-.8-1.5-1.6-1.5h-3c-.8 0-1.5.7-1.5 1.5v7c0 .9-.5 1.3-1.2.7-.3-.4-.6-.7-1-1-5-5-12-7.1-19.2-5.7-2.5.5-4.9 1.5-7 2.9-5.2 3.4-8.5 8.6-9.4 14.3v.2z" + } + }, + system_and_global_variable: { + "xmlns": "http://www.w3.org/2000/svg", + "path": [{ + "d": "M25 46.5c0-3 1.4-5.2 3.4-6.5v-3c-1-.7-1.8-1.8-2.2-3-.4-1.7.2-3.6 1.2-5 .2-.3.6-.6.9-1 .3-.3.7-.6 1.1-.7 2.1-1.1 4.5-1.9 6.9-1.9 2.2 0 4.1.9 5.4 2.2 1.9-1.9 3.9-2.3 5.1-2.3 1.1 0 2.2.2 3.1.7v-.2C50 12.8 39.2 2 26 2S2 12.8 2 26s10.7 24 23.8 24c-.5-1-.8-2.1-.8-3.5zm20-22.9h-6.3C38.5 18 37.2 13 35.3 9.2c5.3 3 8.9 8.3 9.7 14.4zM28.4 7.9c2.7 2.3 5.1 8.2 5.5 15.8h-5.5V7.9zM7 28.4h6.3c.2 5.7 1.5 10.6 3.4 14.4-5.3-2.9-8.9-8.2-9.7-14.4zm6.3-4.8H7c.8-6.2 4.5-11.4 9.8-14.4-2 3.8-3.2 8.8-3.5 14.4zm10.3 20.6c-2.7-2.3-5.1-8.2-5.5-15.8h5.5v15.8zm0-20.6h-5.5c.4-7.5 2.8-13.4 5.5-15.8v15.8z" + }, { + "d": "M46.4 36c1 0 3.1-.9 3.1-3.6s-2-2.9-2.6-2.9c-1.2 0-2.4.9-3.4 2.7-1.1 1.8-2.3 3.9-2.3 3.9h-.1c-.2-1.3-.5-2.4-.6-2.9-.2-1.1-1.5-3.6-4.2-3.6s-5.2 1.6-5.2 1.6c-.5.3-.8.8-.8 1.4 0 .9.7 1.7 1.7 1.7.2 0 .5-.1.7-.2 0 0 2.1-1.1 2.5 0 .2.3.2.7.4 1.1.6 1.8 1 3.9 1.4 5.8l-1.8 2.5s-2-.7-3-.7-3.1.9-3.1 3.6 2 2.9 2.6 2.9c1.2 0 2.4-.9 3.4-2.7 1-1.8 2.2-3.9 2.2-3.9.3 1.7.6 3 .8 3.6.7 1.9 2.2 3.1 4.3 3.1 0 0 2.2 0 4.6-1.4.6-.2 1-.9 1-1.5 0-.9-.7-1.7-1.7-1.7-.2 0-.5.1-.7.2 0 0-1.8 1-2.4.2-.5-.8-.8-1.9-1.1-3.4-.2-1.2-.6-2.6-.9-4.1l1.8-2.6c.4.1 2.4.9 3.4.9z" + }] + }, + table: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M46.5 2h-41C4.7 2 4 2.7 4 3.5v5c0 .8.7 1.5 1.5 1.5h41c.8 0 1.5-.7 1.5-1.5v-5c0-.8-.7-1.5-1.5-1.5zM14.5 14h-9c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h9c.8 0 1.5-.7 1.5-1.5v-3c0-.8-.7-1.5-1.5-1.5zM30.5 14h-9c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h9c.8 0 1.5-.7 1.5-1.5v-3c0-.8-.7-1.5-1.5-1.5zM46.5 14h-9c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h9c.8 0 1.5-.7 1.5-1.5v-3c0-.8-.7-1.5-1.5-1.5zM14.5 24h-9c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h9c.8 0 1.5-.7 1.5-1.5v-3c0-.8-.7-1.5-1.5-1.5zM30.5 24h-9c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h9c.8 0 1.5-.7 1.5-1.5v-3c0-.8-.7-1.5-1.5-1.5zM46.5 24h-9c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h9c.8 0 1.5-.7 1.5-1.5v-3c0-.8-.7-1.5-1.5-1.5zM14.5 34h-9c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h9c.8 0 1.5-.7 1.5-1.5v-3c0-.8-.7-1.5-1.5-1.5zM30.5 34h-9c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h9c.8 0 1.5-.7 1.5-1.5v-3c0-.8-.7-1.5-1.5-1.5zM46.5 34h-9c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h9c.8 0 1.5-.7 1.5-1.5v-3c0-.8-.7-1.5-1.5-1.5zM14.5 44h-9c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h9c.8 0 1.5-.7 1.5-1.5v-3c0-.8-.7-1.5-1.5-1.5zM30.5 44h-9c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h9c.8 0 1.5-.7 1.5-1.5v-3c0-.8-.7-1.5-1.5-1.5zM46.5 44h-9c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h9c.8 0 1.5-.7 1.5-1.5v-3c0-.8-.7-1.5-1.5-1.5z" + } + }, + table_settings: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "path": { + "d": "M21.5 20h9c.8 0 1.5-.7 1.5-1.5v-3c0-.8-.7-1.5-1.5-1.5h-9c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5zM46.5 14h-9c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h9c.8 0 1.5-.7 1.5-1.5v-3c0-.8-.7-1.5-1.5-1.5zM5.5 10h41c.8 0 1.5-.7 1.5-1.5v-5c0-.8-.7-1.5-1.5-1.5h-41C4.7 2 4 2.7 4 3.5v5c0 .8.7 1.5 1.5 1.5zM48 27.4v-1.9c0-.8-.7-1.5-1.5-1.5h-2.7c1.3.7 2.5 1.6 3.5 2.7.3.2.5.5.7.7zM20 25.5v3c0 .8.7 1.5 1.5 1.5h.7c.7-1.2 1.5-2.3 2.5-3.3 1.1-1.1 2.3-2 3.5-2.7h-6.7c-.8 0-1.5.7-1.5 1.5zM24.7 49.3c-1.5-1.5-2.7-3.3-3.5-5.2-.7.1-1.2.8-1.2 1.5v3c0 .8.7 1.5 1.5 1.5h4c-.3-.3-.5-.6-.8-.8zM14.5 14h-9c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h9c.8 0 1.5-.7 1.5-1.5v-3c0-.8-.7-1.5-1.5-1.5zM14.5 24h-9c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h9c.8 0 1.5-.7 1.5-1.5v-3c0-.8-.7-1.5-1.5-1.5zM14.5 44h-9c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h9c.8 0 1.5-.7 1.5-1.5v-3c0-.8-.7-1.5-1.5-1.5zM14.5 34h-9c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h9c.8 0 1.5-.7 1.5-1.5v-3c0-.8-.7-1.5-1.5-1.5z" + }, + "g": { + "path": [{ + "d": "M36.1 35c-1.7 0-3 1.3-3 3s1.3 3 3 3c1.6 0 2.9-1.4 3-3-.1-1.7-1.4-3-3-3z" + }, { + "d": "M44.5 29.5c-4.7-4.7-12.3-4.7-17 0-4.7 4.7-4.7 12.3 0 17 4.7 4.7 12.3 4.7 17 0 4.7-4.7 4.7-12.3 0-17zm-.6 9.5c0 .3-.1.5-.5.5-.4.1-.8.1-1.2.1-.1 0-.1.1-.1.1-.1.5-.4.8-.5 1.3-.1.1-.1.1 0 .2.2.4.5.7.7 1 .1.2.1.5-.1.7l-1.3 1.3c-.2.1-.3.1-.4.1s-.3-.1-.3-.1c-.3-.2-.7-.5-1-.7 0-.1-.1-.1-.1-.1H39c-.3.1-.8.4-1.3.5-.1 0-.1.1-.1.1-.1.4-.1.8-.1 1.2-.1.3-.5.5-.5.5h-1.9c-.3 0-.5-.1-.5-.5-.1-.4-.1-.8-.1-1.2 0-.1-.1-.1-.1-.1-.5-.1-.8-.4-1.3-.5H33c-.1 0-.1.1-.1.1-.4.2-.7.5-1 .7-.1.1-.3.1-.3.1-.2 0-.3 0-.4-.1l-1.3-1.3c-.2-.2-.2-.5-.1-.7.2-.3.5-.7.7-1 .1-.1 0-.1 0-.2-.1-.5-.4-.8-.5-1.3 0-.1-.1-.1-.1-.1-.4-.1-.7-.1-1.1-.1-.2-.1-.4-.2-.5-.4v-2.2c.1-.3.3-.4.5-.4.4-.1.7-.1 1.1-.1.1 0 .1-.1.1-.1.1-.5.4-.8.5-1.3.1-.1.1-.1 0-.2-.2-.4-.5-.7-.7-1-.1-.2-.1-.5.1-.7l1.3-1.3c.2-.1.2-.1.4-.1s.3.1.3.1c.4.2.7.5 1 .7l.1.1c.5-.1.8-.4 1.3-.5.1 0 .1-.1.1-.1.1-.4.1-.7.1-1.1 0-.2.2-.4.3-.5.1-.1.2-.1.3-.1H37s.1 0 .1.1c.3.1.3.3.3.5.1.4.1.7.1 1.1 0 .1.1.1.1.1.5.1.8.4 1.3.5h.1s0-.1.1-.1c.3-.2.7-.5 1-.7.1-.1.3-.1.3-.1.1 0 .3.1.3.1l1.3 1.3c.2.2.2.5.1.7-.2.3-.5.7-.7 1v.2c.1.3.4.8.5 1.3 0 .1.1.1.1.1.4.1.8.1 1.2.1.3.1.5.2.5.7V39z" + }] + } + } + }, + tablet_landscape: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M50 10c0-2.2-1.8-4-4-4H6c-2.2 0-4 1.8-4 4v32c0 2.2 1.8 4 4 4h40c2.2 0 4-1.8 4-4V10zM6.9 29c-1.7 0-3-1.3-3-3s1.3-3 3-3 3 1.3 3 3-1.4 3-3 3zM44 38.5c0 .8-.7 1.5-1.5 1.5h-29c-.8 0-1.5-.7-1.5-1.5v-25c0-.8.7-1.5 1.5-1.5h29c.8 0 1.5.7 1.5 1.5v25z" + } + }, + tablet_portrait: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M46 6c0-2.2-1.8-4-4-4H10C7.8 2 6 3.8 6 6v40c0 2.2 1.8 4 4 4h32c2.2 0 4-1.8 4-4V6zM25.9 48c-1.7 0-3-1.3-3-3s1.3-3 3-3 3 1.3 3 3-1.4 3-3 3zM40 38.5c0 .8-.7 1.5-1.5 1.5h-25c-.8 0-1.5-.7-1.5-1.5v-29c0-.8.7-1.5 1.5-1.5h25c.8 0 1.5.7 1.5 1.5v29z" + } + }, + tabset: { + "xmlns": "http://www.w3.org/2000/svg", + "path": [{ + "d": "M31.6 2H20.4c-.7 0-1.2.6-1.2 1.3v2.5c0 .7.6 1.3 1.2 1.3h11.2c.7 0 1.2-.6 1.2-1.3V3.3c.1-.7-.5-1.3-1.2-1.3zM48.7 2H37.5c-.7 0-1.3.6-1.3 1.3v2.5c0 .7.6 1.3 1.3 1.3h11.2c.7-.1 1.3-.6 1.3-1.3V3.3c0-.7-.6-1.3-1.3-1.3z" + }, { + "d": "M48.7 10.4H17c-.7 0-1.3-.6-1.3-1.3V3.3c0-.7-.6-1.3-1.3-1.3H3.3C2.6 2 2 2.6 2 3.3v45.5c0 .6.6 1.2 1.3 1.2H48.7c.7 0 1.3-.6 1.3-1.3v-37c0-.7-.6-1.3-1.3-1.3z" + }] + }, + talent_development: { + "xmlns": "http://www.w3.org/2000/svg", + "circle": { + "cx": "16.35", + "cy": "20.81", + "r": "7.21" + }, + "path": [{ + "d": "M16.35 29.62h-.17A10.76 10.76 0 005.85 40.5v2.58a1.29 1.29 0 001.29 1.29H25.6a1.27 1.27 0 001.26-1.25v-3a10.51 10.51 0 00-10.51-10.5zM31.34 27.77l-4.12 4.39a13.4 13.4 0 012.62 8v3a4.42 4.42 0 01-.21 1.25h.13a18.28 18.28 0 0012.44-4.9L31.36 27.77z" + }, { + "d": "M41.12 11.54A18.36 18.36 0 0019.19 11a10.2 10.2 0 013.94 17.44 14.64 14.64 0 012.08 1.5l4.67-5v-7.65a1.5 1.5 0 011.5-1.5h6.09a1.5 1.5 0 011.5 1.5v4.19a1.5 1.5 0 01-1.5 1.5h-4.59v2L44.24 37.3a18.35 18.35 0 00-3.12-25.76z" + }] + }, + target: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M26.2 2.3H26A18.74 18.74 0 007.3 21v.2c0 13 13.4 25 17.6 28.1a2 2 0 002.5 0c4.2-3.3 17.5-15.1 17.5-28.1A19 19 0 0026.2 2.3zM26 7.5a13.53 13.53 0 0110.6 21.9c-1.1-1.6-3.4-2.8-5.6-3.7a.37.37 0 00-.3-.1.85.85 0 00-.7 0 8.12 8.12 0 01-4 1.2 7 7 0 01-4-1.2.85.85 0 00-.7 0 .37.37 0 01-.3.1c-2.2 1-4.5 2.1-5.6 3.8A13.6 13.6 0 0126 7.5z" + }, + "ellipse": { + "cx": "26", + "cy": "18.3", + "rx": "5.6", + "ry": "6.2" + } + }, + target_mode: { + "xmlns": "http://www.w3.org/2000/svg", + "path": [{ + "d": "M24.56 45.75A1.45 1.45 0 0026 44.3l.08-16.77A1.5 1.5 0 0024.81 26H7.72a1.49 1.49 0 00-1.53 1.29v3.3a1.49 1.49 0 001.29 1.53H13a1.08 1.08 0 011.05 1.05 1.1 1.1 0 01-.25.73L2.56 45.18a1.65 1.65 0 00-.08 2.26l2.18 2.17a1.7 1.7 0 002.25-.08l11.37-11.36a1 1 0 011.45 0 .75.75 0 01.24.73v5.31a1.51 1.51 0 001.29 1.54h3.3z" + }, { + "d": "M30.53 48.33a24 24 0 0012.57-6.45 23.37 23.37 0 10-33-33.05 23.09 23.09 0 00-6.49 12.49h4.75a18.65 18.65 0 0131.44-9.18 18.66 18.66 0 01-9.11 31.43zm.24-9.6a13.14 13.14 0 005.72-3.46 14 14 0 00-19.82-19.83 13.86 13.86 0 00-3.47 5.8h5a9.21 9.21 0 011.8-2.58 9.35 9.35 0 0113.19 13.22 10.49 10.49 0 01-2.42 1.78z" + }] + }, + task: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M24 7l-1.7-1.7c-.5-.5-1.2-.5-1.7 0L10 15.8l-4.3-4.2c-.5-.5-1.2-.5-1.7 0l-1.7 1.7c-.5.5-.5 1.2 0 1.7l5.9 5.9c.5.5 1.1.7 1.7.7.6 0 1.2-.2 1.7-.7L24 8.7c.4-.4.4-1.2 0-1.7zM48.4 18.4H27.5c-.9 0-1.6-.7-1.6-1.6v-3.2c0-.9.7-1.6 1.6-1.6h20.9c.9 0 1.6.7 1.6 1.6v3.2c0 .9-.7 1.6-1.6 1.6zM48.4 32.7H22.7c-.9 0-1.6-.7-1.6-1.6v-3.2c0-.9.7-1.6 1.6-1.6h25.7c.9 0 1.6.7 1.6 1.6v3.2c0 .9-.7 1.6-1.6 1.6zM13 32.7H9.8c-.9 0-1.6-.7-1.6-1.6v-3.2c0-.9.7-1.6 1.6-1.6H13c.9 0 1.6.7 1.6 1.6v3.2c.1.9-.7 1.6-1.6 1.6zM13 47H9.8c-.9 0-1.6-.7-1.6-1.6v-3.2c0-.9.7-1.6 1.6-1.6H13c.9 0 1.6.7 1.6 1.6v3.2c.1.9-.7 1.6-1.6 1.6zM48.4 47H22.7c-.9 0-1.6-.7-1.6-1.6v-3.2c0-.9.7-1.6 1.6-1.6h25.7c.9 0 1.6.7 1.6 1.6v3.2c0 .9-.7 1.6-1.6 1.6z" + } + }, + text: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M49.4 47.9c-.2-3.2-.3-6.5-.3-9.7 0-1.6 0-3.2.1-4.9 0-1.5.2-3-.4-4.4-1.3-3.2-5.5-3.8-8.5-3.8-1.5 0-3.1.2-4.7.6-1.1.3-2.2.7-3.1 1.2l1 2.5c.2.5.3 1 .4 1.5 2-1 4-1.5 6.1-1.5 3.2 0 4.8 1.3 4.8 3.8v1.2h-2.2c-4.1 0-7.2.6-9.3 1.8-2.3 1.1-3.3 3.2-3.3 6.3 0 2.3.7 4.1 2.1 5.3 1.4 1.2 3.2 1.9 5.4 1.9 1.9 0 3.4-.3 4.6-.8 1.2-.5 2.2-1.4 3-2.5h.1c.1.5.2 1.4.4 2.6 0 .1 3.6 0 3.9 0 0-.4-.1-.7-.1-1.1zM44.8 40c0 .6-.1 1.1-.3 1.6-.1.4-.3.8-.6 1.1-1 1.4-2.6 2.1-4.2 2.3-1 .2-2 .1-3-.1-.8-.1-1.5-.5-2-1.2-.7-1.1-.5-2.8.2-3.8.5-.6 1.2-1 1.9-1.3C38.7 38 41 38 43 38h1.7v2zM29.9 31L18.7 3.4c-.2-.5-.6-.9-1.2-.9H14c-.5 0-1.1.4-1.3.9L2.6 31c-.3.5.2 1.2.7 1.2h3.9c.5 0 1.1-.4 1.3-1L11 24h10l2.9 7.2c.2.5.7 1 1.3 1h3.9c.6 0 1-.7.8-1.2zM13.1 18.5L16 11l3.2 7.5h-6.1z" + } + }, + text_background_color: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M25.9 16l4.3 10h-9l3.9-10h.8zM48 8v36c0 2.2-1.8 4-4 4H8c-2.2 0-4-1.8-4-4V8c0-2.2 1.8-4 4-4h36c2.2 0 4 1.8 4 4zm-5.5 32.7L30.5 11c-.3-.6-.8-1-1.5-1h-7.1c-.6 0-1.2.4-1.4 1l-11 29.7c-.2.6.2 1.3.9 1.3h4.1c.6 0 1.2-.5 1.4-1.1l3.2-8.9h13.4l3.5 8.9c.2.6.8 1.1 1.4 1.1h4.1c.7 0 1.2-.7 1-1.3z" + } + }, + text_color: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M10.4 36h4.1c.6 0 1.2-.5 1.4-1.1l3.2-8.9h13.4l3.5 8.9c.2.6.8 1.1 1.4 1.1h4.1c.7 0 1.2-.7.9-1.3L30.4 5c-.2-.6-.7-1-1.3-1H22c-.6 0-1.2.4-1.4 1l-11 29.7c-.3.6.2 1.3.8 1.3zm14.7-26h.9l4.3 10h-9l3.8-10zM48.5 42h-45c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h45c.8 0 1.5-.7 1.5-1.5v-3c0-.8-.7-1.5-1.5-1.5z" + } + }, + text_template: { + "xmlns": "http://www.w3.org/2000/svg", + "path": [{ + "d": "M20.1 37.2V37c.2-2.7 2.4-4.9 5.2-4.9H32c-1.1-1.9-.9-4.4.7-6.2l.2-.2 1.6-1.5c.9-1 2.2-1.5 3.4-1.6V6.1c0-2.2-1.8-4-4-4H6.1c-2.2 0-4 1.8-4 4V34c0 2.2 1.8 4 4 4H20v-.8zM8.1 8.3c0-.6.4-1 1-1h6c.6 0 1 .4 1 1v2.8c0 .6-.4 1-1 1h-6c-.6 0-1-.4-1-1V8.3zm0 8.7c0-.6.4-1 1-1H31c.6 0 1 .4 1 1v2.8c0 .6-.4 1-1 1H9.2c-.6 0-1-.4-1-1L8.1 17zm0 11.6v-2.8c0-.6.4-1 1-1h18c.6 0 1 .4 1 1v2.8c0 .6-.4 1-1 1H9.2c-.7 0-1.1-.4-1.1-1z" + }, { + "d": "M39.2 27c-.6-.5-1.3-.5-1.7 0l-1.7 1.6c-.4.5-.4 1.2 0 1.6l4.4 4.4c.2.2.2.3.2.6 0 .5-.3.8-.8.8H25.3c-.6 0-1.1.5-1.2 1.1v2.4c.1.6.6 1.1 1.2 1.3h14.3c.2 0 .3.1.4.2.3.2.4.8.2 1.1l-4.4 4.4c-.4.5-.4 1.2 0 1.6l1.6 1.7c.5.4 1.2.4 1.6 0l10.6-10.6c.4-.5.4-1.2 0-1.6L39.2 27z" + }] + }, + textarea: { + "xmlns": "http://www.w3.org/2000/svg", + "path": [{ + "d": "M44.8 49.5H7.2c-2.6 0-4.7-2.1-4.7-4.7V7.2c0-2.6 2.1-4.7 4.7-4.7h37.6c2.6 0 4.7 2.1 4.7 4.7v37.6c0 2.6-2.1 4.7-4.7 4.7zm-36-39.2v31.3c0 .9.7 1.6 1.6 1.6h31.3c.9 0 1.6-.7 1.6-1.6V10.3c0-.9-.7-1.6-1.6-1.6H10.4c-.9.1-1.6.8-1.6 1.6z" + }, { + "d": "M35.3 27c.8 0 1.6.7 1.6 1.6v6.8c0 .9-.7 1.6-1.6 1.6h-7.2c-.9 0-1.5-.7-1.6-1.6 0-.6.3-1 .6-1.4l1.5-1.5c1-1 2.1-1.9 3.1-2.8.7-.7 1.4-1.3 2.2-2 .2-.2.4-.4.6-.5.4-.2.6-.2.8-.2z" + }] + }, + textbox: { + "xmlns": "http://www.w3.org/2000/svg", + "path": [{ + "d": "M44.7 49.4H7.3c-2.6 0-4.7-2.1-4.7-4.7V7.3c0-2.6 2.1-4.7 4.7-4.7h37.5c2.6 0 4.7 2.1 4.7 4.7v37.5c-.1 2.5-2.2 4.6-4.8 4.6zm-35.8-39v31.2c0 .9.7 1.6 1.6 1.6h31.2c.9 0 1.6-.7 1.6-1.6V10.4c0-.9-.7-1.6-1.6-1.6H10.5c-.9 0-1.6.7-1.6 1.6z" + }, { + "d": "M15.2 35.3V16.7c0-.9.7-1.6 1.6-1.6h3.1c.9 0 1.6.7 1.6 1.6v18.6c0 .9-.7 1.6-1.6 1.6h-3.1c-.9 0-1.6-.7-1.6-1.6z" + }] + }, + threedots: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M8 20c3.3 0 6 2.7 6 6s-2.7 6-6 6-6-2.7-6-6 2.7-6 6-6zm18 0c3.3 0 6 2.7 6 6s-2.7 6-6 6-6-2.7-6-6 2.7-6 6-6zm18 0c3.3 0 6 2.7 6 6s-2.7 6-6 6-6-2.7-6-6 2.7-6 6-6z" + } + }, + threedots_vertical: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M20 44c0-3.3 2.7-6 6-6s6 2.7 6 6-2.7 6-6 6-6-2.7-6-6zm0-18c0-3.3 2.7-6 6-6s6 2.7 6 6-2.7 6-6 6-6-2.7-6-6zm0-18c0-3.3 2.7-6 6-6s6 2.7 6 6-2.7 6-6 6-6-2.7-6-6z" + } + }, + thunder: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "path": { + "d": "M30.349 3.077a3.704 3.704 0 00-5.222 0l-22.05 22.05a3.702 3.702 0 000 5.221L14.82 42.092a3.703 3.703 0 005.222 0l22.05-22.05a3.706 3.706 0 000-5.222L30.349 3.077zM12.177 5.009c-.522-.522-1.436-.522-1.958 0l-5.204 5.204c-.522.522-.522 1.437 0 1.958l1.958 1.958c.522.521 1.436.521 1.958 0l5.205-5.205c.522-.522.522-1.436 0-1.958l-1.959-1.957zM31.062 36.261c-.522.522-.521 1.437 0 1.958l11.363 11.389c.522.522 1.436.522 1.959 0l5.225-5.225c.521-.521.522-1.436 0-1.959L38.245 31.036c-.522-.522-1.438-.521-1.96 0l-5.223 5.225z" + } + } + }, + tile_card_list: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M14.5 4h-9C4.7 4 4 4.7 4 5.5v17c0 .8.7 1.5 1.5 1.5h9c.8 0 1.5-.7 1.5-1.5v-17c0-.8-.7-1.5-1.5-1.5zM30.5 4h-9c-.8 0-1.5.7-1.5 1.5v17c0 .8.7 1.5 1.5 1.5h9c.8 0 1.5-.7 1.5-1.5v-17c0-.8-.7-1.5-1.5-1.5zM46.5 4h-9c-.8 0-1.5.7-1.5 1.5v17c0 .8.7 1.5 1.5 1.5h9c.8 0 1.5-.7 1.5-1.5v-17c0-.8-.7-1.5-1.5-1.5zM14.5 28h-9c-.8 0-1.5.7-1.5 1.5v17c0 .8.7 1.5 1.5 1.5h9c.8 0 1.5-.7 1.5-1.5v-17c0-.8-.7-1.5-1.5-1.5zM30.5 28h-9c-.8 0-1.5.7-1.5 1.5v17c0 .8.7 1.5 1.5 1.5h9c.8 0 1.5-.7 1.5-1.5v-17c0-.8-.7-1.5-1.5-1.5zM46.5 28h-9c-.8 0-1.5.7-1.5 1.5v17c0 .8.7 1.5 1.5 1.5h9c.8 0 1.5-.7 1.5-1.5v-17c0-.8-.7-1.5-1.5-1.5z" + } + }, + toggle: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "path": { + "d": "M39.2 2H12.4C6.6 2.2 2 6.9 2 12.8s4.6 10.6 10.4 10.8h26.8c5.9 0 10.8-4.8 10.8-10.8S45.2 2 39.2 2zM12.7 18.8c-3.3 0-6-2.7-6-6s2.7-6 6-6 6 2.7 6 6-2.7 6-6 6zM39.2 28.5H12.4C6.6 28.7 2 33.4 2 39.2S6.6 49.8 12.4 50h26.8c6 0 10.8-4.8 10.8-10.8s-4.8-10.7-10.8-10.7zm.4 18.4H12.3c-4-.2-7.2-3.5-7.2-7.6s3.2-7.4 7.2-7.6h27.3c4 .2 7.2 3.5 7.2 7.6s-3.2 7.4-7.2 7.6z" + }, + "circle": { + "cx": "39.2", + "cy": "39.2", + "r": "5.2" + } + } + }, + toggle_panel_bottom: { + "xmlns": "http://www.w3.org/2000/svg", + "path": [{ + "d": "M46 8H6c-1.1 0-2 .9-2 2v32c0 1.1.9 2 2 2h40c1.1 0 2-.9 2-2V10c0-1.1-.9-2-2-2zm-2 32H8V12h36v28z" + }, { + "d": "M41 38H11.1c-.6 0-1-.4-1-1V27c0-.6.4-1 1-1H41c.6 0 1 .4 1 1v10c0 .6-.4 1-1 1z" + }] + }, + toggle_panel_left: { + "xmlns": "http://www.w3.org/2000/svg", + "path": [{ + "d": "M46 8H6c-1.1 0-2 .9-2 2v32c0 1.1.9 2 2 2h40c1.1 0 2-.9 2-2V10c0-1.1-.9-2-2-2zm-2 32H8V12h36v28z" + }, { + "d": "M21 38h-9.9c-.6 0-1-.4-1-1V15c0-.6.4-1 1-1H21c.6 0 1 .4 1 1v22c0 .6-.4 1-1 1z" + }] + }, + toggle_panel_right: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M4 8h44v36H4V8zm4 4v28h36V12H8zm22 2h12v24H30V14z", + "fill-rule": "evenodd" + } + }, + toggle_panel_top: { + "xmlns": "http://www.w3.org/2000/svg", + "path": [{ + "d": "M46 8H6c-1.1 0-2 .9-2 2v32c0 1.1.9 2 2 2h40c1.1 0 2-.9 2-2V10c0-1.1-.9-2-2-2zm-2 32H8V12h36v28z" + }, { + "d": "M41 26H11.1c-.6 0-1-.4-1-1V15c0-.6.4-1 1-1H41c.6 0 1 .4 1 1v10c0 .6-.4 1-1 1z" + }] + }, + top_align: { + "xmlns": "http://www.w3.org/2000/svg", + "rect": [{ + "x": "2", + "y": "2", + "width": "48", + "height": "6.4", + "rx": "1.6" + }, { + "data-name": "Rectangle", + "x": "18.8", + "y": "12.4", + "width": "14.4", + "height": "37.6", + "rx": "3.2" + }] + }, + topic: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "path": [{ + "d": "M17.4 35.3c-.1-.3-.4-.6-.7-.7l-2.2-.6c-.4-.1-.9.1-1.1.5L9.6 41c-1 1.8-.4 2.4 1.4 1.4l6.6-3.8c.4-.2.6-.7.5-1.1l-.7-2.2zM34.6 16.7c.1.3.4.6.7.7l2.2.6c.4.1.9-.1 1.1-.5l3.8-6.6c1-1.8.4-2.4-1.4-1.4l-6.6 3.8c-.4.2-.6.7-.5 1.1l.7 2.3zM13.4 17.6c.2.4.7.6 1.1.5l2.2-.6c.3-.1.6-.4.7-.7l.6-2.2c.1-.4-.1-.9-.5-1.1L11 9.6c-1.8-1-2.4-.4-1.4 1.4l3.8 6.6zM38.6 34.4c-.2-.4-.7-.6-1.1-.5l-2.2.6c-.3.1-.6.4-.7.7l-.6 2.3c-.1.4.1.9.5 1.1l6.6 3.8c1.8 1 2.4.4 1.4-1.4l-3.9-6.6z" + }, { + "d": "M48.7 25.2l-16.4-4.4c-.6-.1-1-.6-1.1-1.1L26.8 3.3c-.5-1.7-1.2-1.7-1.7 0l-4.4 16.4c-.1.6-.6 1-1.1 1.1L3.3 25.2c-1.7.5-1.7 1.2 0 1.7l16.4 4.4c.6.1 1 .6 1.1 1.1l4.4 16.4c.5 1.7 1.2 1.7 1.7 0l4.4-16.4c.1-.6.6-1 1.1-1.1l16.4-4.4c1.6-.5 1.6-1.3-.1-1.7zM26 30c-2.2 0-4-1.8-4-4s1.8-4 4-4 4 1.8 4 4-1.8 4-4 4z" + }] + } + }, + topic2: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M49.2 13.3h-6.5l2.8-10.7v-.2c0-.4-.3-.8-.8-.8h-5.2c-.4 0-.7.3-.8.7l-2.8 11.1h-13l2.8-10.7v-.3c0-.4-.3-.8-.8-.8h-5.2c-.4 0-.7.3-.8.7l-2.9 11H8.8c-.4 0-.7.2-.8.6l-1.3 4.9v.2c0 .4.3.8.8.8h6.8l-3.2 12.5h-7c-.4 0-.7.2-.8.6L2 37.6v.2c0 .4.3.8.8.8h6.6L6.6 49.5v.2c0 .4.3.8.8.8h5.2c.4 0 .7-.2.8-.7l2.9-11.2h12.9l-2.8 10.8v.2c0 .4.3.8.8.8h5.2c.4 0 .7-.2.8-.7L36 38.5h7.1c.4 0 .7-.2.8-.7l1.3-4.9v-.2c0-.4-.3-.8-.8-.8h-6.7L41 19.4h6.9c.4 0 .7-.2.8-.7l1.3-4.9v-.2s-.4-.3-.8-.3zm-18.3 19H18l3.2-12.5h12.9l-3.2 12.5z" + } + }, + touch_action: { + "xmlns": "http://www.w3.org/2000/svg", + "path": [{ + "d": "M37.8 29.8L29.6 27c-.6-.2-1.1-.8-1.1-1.5V14.6c0-1.7-1.4-3-3.1-3h-.3c-1.7 0-3.1 1.4-3.1 3v21.5c0 1.8-2.3 2.6-3.3 1l-2.1-4.4c-1.1-1.9-3.6-2.4-5.4-1.1l-1.3 1 6.9 16.3c.3.7 1 1.1 1.8 1.1h18.1c.9 0 1.6-.6 1.8-1.4l3.2-11.4c.8-3.2-1-6.3-3.9-7.4z" + }, { + "d": "M17.2 23v-8.2-.4c.2-4.1 3.5-7.4 7.6-7.6h.8c4.1.2 7.4 3.5 7.6 7.6V23c0 .7.9 1 1.4.6 2.2-2.3 3.5-5.4 3.5-8.7 0-7.4-6.4-13.4-14-12.7-5.8.6-10.6 5-11.5 10.7-.6 4 .6 7.9 3.3 10.7.4.4 1.3.1 1.3-.6z" + }] + }, + tracker: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "path": { + "d": "M15.2 28.4V24c5.1-.9 9-5.4 9-10.8 0-6.1-4.9-11-11-11s-11 4.9-11 11c0 5.4 3.9 9.9 9 10.8v4.4c-5.1.9-9 5.4-9 10.8 0 6.1 4.9 11 11 11s11-4.9 11-11c0-5.4-3.9-9.8-9-10.8zm-9-15.2c0-3.9 3.1-7 7-7s7 3.1 7 7-3.1 7-7 7-7-3-7-7zM30.3 9.2h17.9c1.1 0 2 .9 2 2v4c0 1.1-.9 2-2 2H30.3c-1.1 0-2-.9-2-2v-4c0-1.1.9-2 2-2zM30.3 35.2h17.9c1.1 0 2 .9 2 2v4c0 1.1-.9 2-2 2H30.3c-1.1 0-2-.9-2-2v-4c0-1 .9-2 2-2z" + } + } + }, + trail: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M27.8 2c3.3 0 5.9 2.6 5.9 5.9s-2.7 5.9-5.9 5.9-5.9-2.6-5.9-5.9S24.5 2 27.8 2zM43 18.1c-1.2-.1-2.3.7-2.4 1.8l-.6 5.8c-.2 0-.3.3-.5.3H34l-3.8-6.7c-.3-.6-.9-1.1-1.6-1.2l-5.8-.8c-1-.1-2 .4-2.4 1.4L16 30c-.3.9.1 1.8.9 2.3l10.8 7.4.9 8.4c.1 1.1 1.1 1.9 2.2 1.9 1.3 0 2.3-1 2.2-2.2l-1-10.3c0-.5-.3-1-.8-1.4l-5.9-6.6 2.2-5.4 2.6 4.5c.4.6 1.1 1.3 1.9 1.3h7.6l-2.2 18c-.1 1.1.7 2 1.9 2.1.1 0 .2-.1.2-.1 1.1 0 2-.8 2.2-1.9L45 20.2c.1-1-.8-2-2-2.1zM12.2 27.7l3.7-9.5c.2-.6.5-1.2.9-1.8l-.5-.1c-3.2-.4-6.2 1.5-7.2 4.4l-2 5.2c-.4 1.1.2 2.4 1.4 2.7l.9.2c1.2.5 2.4-.1 2.8-1.1zM13.6 35.2L9.1 48.6c-.2.7.3 1.3 1 1.3h2.5c.9 0 1.8-.6 2.1-1.4l4.4-9.7-5-3.1c-.1-.2-.3-.4-.5-.5z" + } + }, + trailblazer_ext: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "path": [{ + "d": "M49.83 32.45A1.43 1.43 0 0048.44 31h-12A1.43 1.43 0 0035 32.44v1.44a1.43 1.43 0 001.4 1.44h6.14l-11 11a1.42 1.42 0 000 2l1 1a1.54 1.54 0 001.09.45 1.32 1.32 0 00.94-.38l11-11v6A1.43 1.43 0 0047 45.83h1.53a1.43 1.43 0 001.47-1.4zM21.94 8.83a10.27 10.27 0 014.67 9 9.7 9.7 0 01-3.21 7.35.46.46 0 000 .62 27.28 27.28 0 002.52 1.3 2.25 2.25 0 00.62.15h5.39a19.84 19.84 0 016.42-2.55l.54-.09a2.94 2.94 0 000-.42v-.46c0-2.68-2.91-4.13-6.13-5.44-2.14-.84-2.45-1.68-2.45-2.52a3.25 3.25 0 011.38-2.3 5.64 5.64 0 002-4.44 5.94 5.94 0 00-5.54-6.32h-.54a5.81 5.81 0 00-6.05 5.44.79.79 0 00.38.68z" + }, { + "d": "M24.66 38.84a15.42 15.42 0 012.8-7.44 22.49 22.49 0 00-4.9-2.52c-2.61-1.07-3-2-3-3a4.18 4.18 0 011.61-2.76 6.76 6.76 0 002.37-5.28c0-4-2.6-7.42-7.35-7.42a7.09 7.09 0 00-7.35 6.82v.6a6.73 6.73 0 002.38 5.28 4.16 4.16 0 011.6 2.76c0 1-.38 2-3.06 3-3.83 1.54-7.58 3.3-7.58 6.51v1a3.09 3.09 0 003.12 3.06h19.48z" + }] + } + }, + trailhead: { + "xmlns": "http://www.w3.org/2000/svg", + "path": [{ + "d": "M12.3 37l-2.6 3h5.1zM14.7 43.1h5.1l-2.6-2.9zM35.2 41l2.5-2.9 2.6 2.9z" + }, { + "d": "M26.8 2.2c-.4-.2-.9-.2-1.4 0C11.1 8.2 1.9 22.4 2.2 38v3.4c0 .5.2 1 .7 1.4 6.9 4.6 15 7.1 23.3 7.2h.9c7.9-.3 15.7-2.7 22.3-7.2.4-.3.7-.8.7-1.4V38c.3-15.6-8.9-29.8-23.3-35.8zM13.9 14.8c5.8-6.9 12.3-9.2 12.3-9.2 1.4.6 16.9 6.7 20.2 26.4h-4.1l-7.8-11.3c-.5-.7-1.6-.9-2.4-.4-.2.1-.3.3-.4.4l-2 2.8-5.5-7.9c-.5-.7-1.6-.9-2.4-.4-.2.1-.3.3-.4.4L10.2 31.9l-4.1.1c1.2-7.5 4.3-13 7.8-17.2zM38.1 32H28l2.6-3.8 2.4-3.6 5.1 7.4zM23.7 20.9l4 5.7-3.8 5.3h-9.6l4.1-6.1 4.3-6.4 1 1.5zM27.5 44L26 46.6c-2.9 0-5.6-.4-8.8-1.1-4.1-1-8-2.7-11.6-4.9v-2.5c0-.8 0-1.7.1-2.6h17.6c-1.4 2.1-.7 4.9 1.5 6.2.2.1.4.2.5.3l1.6.7c.6.2.8.8.6 1.3zm19.3-3.5c-2.6 1.6-5.3 2.9-8.1 3.9 0 0-.5.2-.7.2-1.6.5-3.2.9-4.9 1.3-.9.2-1.9.3-2.8.4l.3-.5c1.3-2.2.5-4.9-1.7-6.2-.1-.1-.3-.1-.4-.2l-1.6-.7c-.5-.2-.8-.8-.5-1.4 0-.1.1-.2.1-.2l1.5-1.7h18.7c0 .8.1 1.7.1 2.6v2.5z" + }] + }, + trailhead_alt: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M22.21 36.21a2.72 2.72 0 01-.11.25 6.89 6.89 0 002.42 7.85c1.58 1.24 1.89 1.76 1.73 2.92a7.59 7.59 0 01-1.1 2.77A44.87 44.87 0 012 42.64v-3.7c0-.93 0-1.83.1-2.73h20.11zm27.69 0c.05.9.1 1.8.1 2.73v3.69a45 45 0 01-20.31 7.2 10 10 0 00.54-2c.53-3.73-1.83-5.57-3.24-6.67a2.83 2.83 0 01-1.12-3.25 8.24 8.24 0 01.89-1.67H49.9zM22.5 19.59l4.4 6.47-4.16 6.13h-8.8zM26 2a39.25 39.25 0 0123.48 30.19H43.6l-8.77-12.9a2.08 2.08 0 00-3.33 0l-2.17 3.19-5.17-7.6a2.09 2.09 0 00-3.33 0L9.08 32.19H2.52A39.25 39.25 0 0126 2zm7.17 22l5.56 8.19H27.61z", + "fill-rule": "evenodd" + } + }, + trailhead_ext: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "path": [{ + "d": "M49.8 32.5a1.37 1.37 0 00-1.4-1.4h-12a1.43 1.43 0 00-1.4 1.4v1.4a1.37 1.37 0 001.4 1.4h6.1l-11 11a1.52 1.52 0 000 2l1 1a1.61 1.61 0 001.1.5 1 1 0 00.9-.4l11-11v6a1.37 1.37 0 001.4 1.4h1.5a1.37 1.37 0 001.4-1.4zM21.8 25.1h7.7l-3.9-5.7z" + }, { + "d": "M16.8 12.5l.3-.3a1.38 1.38 0 011.8.3l4.2 6 1.5-2.1.3-.3a1.38 1.38 0 011.8.3l6 8.6h3.9a10.46 10.46 0 011.7-.4A28.91 28.91 0 0020.8 2.3a1.08 1.08 0 00-1.1 0A29 29 0 002.3 25h5.8z" + }, { + "d": "M17.8 15.4l-3.3 4.9-3.1 4.7h7.3l2.9-4.1zM2.1 32.2a1.61 1.61 0 00.5 1.1 32.87 32.87 0 0016 5.4l1.6-2.5 1.1-2a.64.64 0 00-.3-1l-1.2-.5-.4-.2a3.42 3.42 0 01-1.3-4.6c0-.1.1-.1.1-.2H2.1z" + }, { + "d": "M23.6 35.9c-.5.9-1.1 2.2-1.4 2.8l2.5-.3a15.58 15.58 0 016.5-10.8h-9.5l-1.1 1.6a.73.73 0 00.4 1l1.14.45.36.15a3.42 3.42 0 011.3 4.7z" + }] + } + }, + transparent: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M48.5 5.6l-2.1-2.1a1.67 1.67 0 00-2.4.3L32.59 15.21c-.77-1.3-1.51-2.61-2.21-4a36.5 36.5 0 01-3.15-8.36c-.13-.53-.39-.91-1-.89s-.86.4-1 .93c-.06.26-.11.51-.17.76A48.3 48.3 0 0121 13.7 97.47 97.47 0 0114.13 25a16 16 0 00-3 11.12c0 .14 0 .29.06.43L3.8 44a1.87 1.87 0 00-.3 2.4l2.1 2.1a1.67 1.67 0 002.4-.3L48.2 8a1.67 1.67 0 00.3-2.4zM38.42 23.79l-22 22.31a14.47 14.47 0 009.8 3.9 15.48 15.48 0 007-1.44c4.94-2.51 8.11-6.4 8.94-12A15.22 15.22 0 0039 24.66c-.13-.22-.42-.66-.58-.87z" + } + }, + travel_and_places: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M47 21L42.48 8.84C41.76 6.52 39.6 5 37.2 5H14.8c-2.4 0-4.56 1.52-5.36 3.84L5 21c-2.08.56-3 2.56-3 4.8v11.6c0 2.08 2.16 3.88 4 4.6v4.033C6 47.344 6.674 48 8.023 48h5.027c1.3 0 1.95-.656 1.95-1.967V42h22v4.033c0 1.311.663 1.967 1.988 1.967h5.033c1.32 0 1.979-.656 1.979-1.967V41.96c1.84-.64 4-2.4 4-4.56V25.8c0-2.24-.92-4.24-3-4.8zM11 34c-2.24 0-4-1.76-4-4s1.76-4 4-4 4 1.76 4 4-1.76 4-4 4zm16.6-13H11.76c-.56 0-.92-.52-.76-1l3-9c.08-.32.29-1 1-1h22c.78 0 .92.76 1 1l3 9c.2.642-.12 1-.92 1H27.6zM41 34c-2.24 0-4-1.76-4-4s1.76-4 4-4 4 1.76 4 4-1.76 4-4 4z" + } + }, + trending: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M50.1 30.56a1.16 1.16 0 01-2 .82L42.73 26 30.32 36.65a3.39 3.39 0 01-4.92 0l-7.49-8.54-13.34 11.7a1.13 1.13 0 01-1.64 0l-.59-.59a1.13 1.13 0 010-1.64l13.12-17.9a3.39 3.39 0 014.92 0l7.49 7.49 7.61-8.78-4.92-4.45a1.26 1.26 0 01.82-2.11h16.38A2.35 2.35 0 0150 14.3z" + } + }, + turn_off_notifications: { + "xmlns": "http://www.w3.org/2000/svg", + "path": [{ + "d": "M23.4 26.6c.6.6 1.4.6 2 0L46.8 6.9c.4-.7.3-1.9-1.2-1.9H3.4c-1.1 0-2 1.1-1.2 2l21.2 19.6z" + }, { + "d": "M30.1 37.6c.5-5.6 5-10.2 10.7-10.8.5 0 1-.1 1.4-.1 1.8 0 3.4.4 4.9 1V15.3c0-1-1.2-1.5-1.9-.8L28.6 29.9c-1.1 1-2.6 1.6-4.1 1.6s-3-.6-4.1-1.6L3.8 14.5c-.8-.7-1.9-.2-1.9.8v19.6c0 2.5 2.1 4.6 4.6 4.6h23.7c-.1-.6-.1-1.3-.1-1.9z" + }, { + "d": "M42.1 31c-4.4 0-8 3.6-8 8s3.6 8 8 8 8-3.6 8-8-3.6-8-8-8zm6 9.6c0 .2-.2.4-.5.4h-11c-.3 0-.5-.2-.5-.4v-3.2c0-.2.2-.4.5-.4h11c.3 0 .5.2.5.4v3.2z" + }] + }, + type: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "path": [{ + "d": "M48 11H4c-1.1 0-2 .9-2 2v26c0 1.1.9 2 2 2h44c1.1 0 2-.9 2-2V13c0-1.1-.9-2-2-2zm-2 26H6V15h40v22z" + }, { + "d": "M11.2 21.8h1c.8 0 1.5-.7 1.5-1.5v-1c0-.8-.7-1.5-1.5-1.5h-1c-.8 0-1.5.7-1.5 1.5v1c0 .8.7 1.5 1.5 1.5zM16.9 21.8h1c.8 0 1.5-.7 1.5-1.5v-1c0-.8-.7-1.5-1.5-1.5h-1c-.8 0-1.5.7-1.5 1.5v1c0 .8.7 1.5 1.5 1.5zM28.4 21.8h1c.8 0 1.5-.7 1.5-1.5v-1c0-.8-.7-1.5-1.5-1.5h-1c-.8 0-1.5.7-1.5 1.5v1c0 .8.7 1.5 1.5 1.5zM22.6 21.8h1c.8 0 1.5-.7 1.5-1.5v-1c0-.8-.7-1.5-1.5-1.5h-1c-.8 0-1.5.7-1.5 1.5v1c0 .8.7 1.5 1.5 1.5zM39.9 21.8h1c.8 0 1.5-.7 1.5-1.5v-1c0-.8-.7-1.5-1.5-1.5h-1c-.8 0-1.5.7-1.5 1.5v1c0 .8.7 1.5 1.5 1.5zM34.1 21.8h1c.8 0 1.5-.7 1.5-1.5v-1c0-.8-.7-1.5-1.5-1.5h-1c-.8 0-1.5.7-1.5 1.5v1c0 .8.7 1.5 1.5 1.5zM11.2 27.8h1c.8 0 1.5-.7 1.5-1.5v-1c0-.8-.7-1.5-1.5-1.5h-1c-.8 0-1.5.7-1.5 1.5v1c0 .8.7 1.5 1.5 1.5zM16.9 27.8h1c.8 0 1.5-.7 1.5-1.5v-1c0-.8-.7-1.5-1.5-1.5h-1c-.8 0-1.5.7-1.5 1.5v1c0 .8.7 1.5 1.5 1.5zM28.4 27.8h1c.8 0 1.5-.7 1.5-1.5v-1c0-.8-.7-1.5-1.5-1.5h-1c-.8 0-1.5.7-1.5 1.5v1c0 .8.7 1.5 1.5 1.5zM22.6 27.8h1c.8 0 1.5-.7 1.5-1.5v-1c0-.8-.7-1.5-1.5-1.5h-1c-.8 0-1.5.7-1.5 1.5v1c0 .8.7 1.5 1.5 1.5zM39.9 27.8h1c.8 0 1.5-.7 1.5-1.5v-1c0-.8-.7-1.5-1.5-1.5h-1c-.8 0-1.5.7-1.5 1.5v1c0 .8.7 1.5 1.5 1.5zM34.1 27.8h1c.8 0 1.5-.7 1.5-1.5v-1c0-.8-.7-1.5-1.5-1.5h-1c-.8 0-1.5.7-1.5 1.5v1c0 .8.7 1.5 1.5 1.5zM11.2 33.8h1c.8 0 1.5-.7 1.5-1.5v-1c0-.8-.7-1.5-1.5-1.5h-1c-.8 0-1.5.7-1.5 1.5v1c0 .8.7 1.5 1.5 1.5zM16.9 33.8h18.2c.8 0 1.5-.7 1.5-1.5v-1c0-.8-.7-1.5-1.5-1.5H16.9c-.8 0-1.5.7-1.5 1.5v1c0 .8.7 1.5 1.5 1.5zM39.9 33.8h1c.8 0 1.5-.7 1.5-1.5v-1c0-.8-.7-1.5-1.5-1.5h-1c-.8 0-1.5.7-1.5 1.5v1c0 .8.7 1.5 1.5 1.5z" + }] + } + }, + type_tool: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M50.37 47.59L32.74 4a2.41 2.41 0 00-2.2-1.47H20.11A2.21 2.21 0 0018.06 4L1.9 47.59a1.43 1.43 0 001.32 1.91h6a2.36 2.36 0 002.06-1.62L16 34.81h19.68l5.14 13.07a2.36 2.36 0 002.06 1.62h6a1.52 1.52 0 001.49-1.91zM19.08 26l5.73-14.69H26L32.3 26z" + } + }, + undelete: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "path": { + "d": "M41.5 20h-31c-.8 0-1.5.7-1.5 1.5V45c0 2.8 2.2 5 5 5h24c2.8 0 5-2.2 5-5V21.5c0-.8-.7-1.5-1.5-1.5zM26 46v-4c3.3 0 6-2.7 6-6s-2.7-6-6-6c-1.6 0-3.1.7-4.2 1.8l2.4 2.4c.3.3.1.9-.4.9h-7.3c-.3 0-.5-.2-.5-.5v-7.3c0-.4.5-.7.9-.4L19 29c1.9-1.8 4.4-2.9 7.1-2.9 5.5 0 10 4.5 10 10S31.5 46 26 46zM45.5 10H33V6c0-2.2-1.8-4-4-4h-6c-2.2 0-4 1.8-4 4v4H6.5c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h39c.8 0 1.5-.7 1.5-1.5v-3c0-.8-.7-1.5-1.5-1.5zM29 10h-6V7c0-.6.4-1 1-1h4c.6 0 1 .4 1 1v3z" + } + } + }, + undeprecate: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M48 7H4c-1.1 0-2 .9-2 2v26c0 1.1.9 2 2 2h16.2c1 5.7 5.9 10 11.8 10s10.9-4.3 11.8-10H48c1.1 0 2-.9 2-2V9c0-1.1-.9-2-2-2zM30.5 41.3l-5.9-5.9 2.8-2.8 3.1 3.1 7.1-7.1 2.8 2.8-9.9 9.9zM46 33h-2.2c-1-5.7-5.9-10-11.8-10s-10.9 4.3-11.8 10H6V11h40v22z" + } + }, + underline: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M44.5 42h-37c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h37c.8 0 1.5-.7 1.5-1.5v-3c0-.8-.7-1.5-1.5-1.5zM25.3 38C17.8 37.6 12 31.1 12 23.6V10c0-1.1.9-2 2-2h2c1.1 0 2 .9 2 2v13.7c0 4.3 3.2 8 7.5 8.3 4.7.3 8.5-3.4 8.5-8V10c0-1.1.9-2 2-2h2c1.1 0 2 .9 2 2v14c0 8-6.7 14.4-14.7 14z" + } + }, + undo: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M30.3 12.6c10.4 0 18.9 8.4 18.9 18.9s-8.5 18.9-18.9 18.9h-8.2c-.8 0-1.3-.6-1.3-1.4v-3.2c0-.8.6-1.5 1.4-1.5h8.1c7.1 0 12.8-5.7 12.8-12.8s-5.7-12.8-12.8-12.8H16.4s-.8 0-1.1.1c-.8.4-.6 1 .1 1.7l4.9 4.9c.6.6.5 1.5-.1 2.1L18 29.7c-.6.6-1.3.6-1.9.1l-13-13c-.5-.5-.5-1.3 0-1.8L16 2.1c.6-.6 1.6-.6 2.1 0l2.1 2.1c.6.6.6 1.6 0 2.1l-4.9 4.9c-.6.6-.6 1.3.4 1.3h.7l13.9.1z" + } + }, + unlinked: { + "xmlns": "http://www.w3.org/2000/svg", + "path": [{ + "d": "M18.1 36.9l9.4-9.5.7-.7 8.4-8.4 3.7-3.7 4.1-4.1c.7-.6.8-1.5.3-2l-1.8-1.8c-.4-.4-1.1-.4-1.7-.1L6.7 40.9v.1c-.6.6-.7 1.5-.3 2l1.8 1.8c.5.5 1.4.4 2-.3l4-4c0 .1 3.9-3.6 3.9-3.6zM18.4 23.1c-.5 0-.8.4-1 .8-.1.6-.1 1.2-.1 1.8 0 .4 0 .8.1 1.2l3.8-3.8h-2.8z" + }, { + "d": "M8.3 36l4-4c-2.8-.6-5-3-5.2-5.8-.3-3.8 2.8-6.9 6.5-6.9h9.1c.7 0 1.4.1 2.1.4l3.9-3.9c-.9-.5-1.8-1-2.7-1.2-1-.3-2.2-.5-3.2-.5h-8.7c-6.6-.1-12 4.8-12.2 11.1C1.7 29.9 4.3 34 8.3 36zM43.1 15.3l-4 4c2.9.5 5.2 2.9 5.4 5.9.3 3.8-2.8 6.9-6.5 6.9h-9c-.8 0-1.6-.2-2.3-.4l-3.9 3.9c.9.6 1.8 1 2.8 1.3 1 .3 2.2.5 3.2.5H38c6.6.1 11.9-5.4 11.7-12-.2-4.6-2.9-8.3-6.6-10.1z" + }, { + "d": "M30.1 28.3h3c.5 0 .8-.4 1-.8.1-.6.1-1.2.1-1.8 0-.5 0-.9-.1-1.4l-4 4z" + }] + }, + unlock: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "path": { + "d": "M10 18.1v0zM42 23H16v-4.7c0-5.3 4-10 9.3-10.3 4.9-.3 9 2.8 10.3 7.2.1.4.5.8 1 .8h4.1c.6 0 1.1-.6 1-1.2C40.1 7.2 33.3 1.6 25.2 2c-8.5.4-15 7.7-15.2 16.1V23c-2.2 0-4 1.8-4 4v19c0 2.2 1.8 4 4 4h32c2.2 0 4-1.8 4-4V27c0-2.2-1.8-4-4-4zM30.6 42.7c.2.6-.3 1.3-1 1.3h-7.3c-.7 0-1.2-.6-1-1.3l1.8-6c-1.5-1-2.4-2.8-2-4.8.4-1.9 1.9-3.4 3.9-3.8 3.2-.6 6 1.7 6 4.7 0 1.6-.8 3.1-2.1 3.9l1.7 6z" + } + } + }, + unmuted: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "path": [{ + "d": "M41.5 18c-1.4 0-2.5 1-2.5 2.4v4c0 7-5.9 12.8-13.1 12.8s-13.1-5.8-13.1-12.8v-4c0-1.4-1.1-2.4-2.5-2.4S8 19 8 20.4v4c0 8.9 6.8 16.2 15.5 17.4v3.4h-4.1c-1.4 0-2.5 1-2.5 2.4S18 50 19.4 50h13.1c1.4 0 2.5-1 2.5-2.4s-1.1-2.4-2.5-2.4h-4.1v-3.4C37.2 40.6 44 33.3 44 24.4v-4c0-1.4-1.1-2.4-2.5-2.4z" + }, { + "d": "M26 32.4c4.4 0 8-3.6 8-8V9.9C34 5.5 30.5 2 26.1 2h-.2C21.5 2 18 5.5 18 9.9v14.5c0 4.4 3.6 8 8 8z" + }] + } + }, + up: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M43.7 38H8.3c-1 0-1.7-1.3-.9-2.2l17.3-21.2c.6-.8 1.9-.8 2.5 0l17.5 21.2c.7.9.1 2.2-1 2.2z" + } + }, + upload: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "path": [{ + "d": "M48.5 31h-3c-.8 0-1.5.8-1.5 1.5v10c0 .8-.7 1.5-1.5 1.5h-33c-.8 0-1.5-.7-1.5-1.5v-10c0-.7-.7-1.5-1.5-1.5h-3c-.8 0-1.5.8-1.5 1.5V46c0 2.2 1.8 4 4 4h40c2.2 0 4-1.8 4-4V32.5c0-.7-.7-1.5-1.5-1.5z" + }, { + "d": "M27 2.4c-.6-.6-1.5-.6-2.1 0L11.4 15.9c-.6.6-.6 1.5 0 2.1l2.1 2.1c.6.6 1.5.6 2.1 0l5.6-5.6c.6-.6 1.8-.2 1.8.7v21.2c0 .8.6 1.5 1.4 1.5h3c.8 0 1.6-.8 1.6-1.5V15.3c0-.9 1-1.3 1.7-.7l5.6 5.6c.6.6 1.5.6 2.1 0l2.1-2.1c.6-.6.6-1.5 0-2.1L27 2.4z" + }] + } + }, + user: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M50 43v2.2c0 2.6-2.2 4.8-4.8 4.8H6.8C4.2 50 2 47.8 2 45.2V43c0-5.8 6.8-9.4 13.2-12.2l.6-.3c.5-.2 1-.2 1.5.1 2.6 1.7 5.5 2.6 8.6 2.6s6.1-1 8.6-2.6c.5-.3 1-.3 1.5-.1l.6.3C43.2 33.6 50 37.1 50 43zM26 2c6.6 0 11.9 5.9 11.9 13.2S32.6 28.4 26 28.4s-11.9-5.9-11.9-13.2S19.4 2 26 2z" + } + }, + user_role: { + "xmlns": "http://www.w3.org/2000/svg", + "path": [{ + "d": "M38.3 27.2a11.4 11.4 0 1011.4 11.4 11.46 11.46 0 00-11.4-11.4zm2 12.4a2.39 2.39 0 01-.9-.2l-4.3 4.3a1.39 1.39 0 01-.9.4 1 1 0 01-.9-.4 1.39 1.39 0 010-1.9l4.3-4.3a2.92 2.92 0 01-.2-.9 3.47 3.47 0 013.4-3.8 2.39 2.39 0 01.9.2c.2 0 .2.2.1.3l-2 1.9a.28.28 0 000 .5l1.3 1.3a.38.38 0 00.6 0l1.9-1.9c.1-.1.4-.1.4.1a3.71 3.71 0 01.2.9 3.57 3.57 0 01-3.9 3.5z" + }, { + "d": "M25.2 49.8c2.2 0 1-1.5 1-1.5a15.44 15.44 0 01-3.4-9.7 15 15 0 011.4-6.4.77.77 0 01.2-.3c.7-1.4-.7-1.5-.7-1.5a12.1 12.1 0 00-1.9-.1A19.69 19.69 0 002.4 47.1c0 1 .3 2.8 3.4 2.8h19.1c.2-.1.2-.1.3-.1z" + }], + "circle": { + "cx": "21.7", + "cy": "14.9", + "r": "12.9" + } + }, + variable: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M42.6 17.8c2.4 0 7.2-2 7.2-8.4s-4.6-6.8-6.1-6.8c-2.8 0-5.6 2-8.1 6.3-2.5 4.4-5.3 9.1-5.3 9.1h-.1c-.6-3.1-1.1-5.6-1.3-6.7-.5-2.7-3.6-8.4-9.9-8.4-6.4 0-12.2 3.7-12.2 3.7-1 .7-1.7 1.9-1.7 3.3 0 2.1 1.7 3.9 3.9 3.9.6 0 1.2-.2 1.7-.4 0 0 4.8-2.7 5.9 0 .3.8.6 1.7.9 2.7 1.2 4.2 2.4 9.1 3.3 13.5l-4.2 6s-4.7-1.7-7.1-1.7-7.2 2-7.2 8.4 4.6 6.8 6.1 6.8c2.8 0 5.6-2 8.1-6.3 2.5-4.4 5.3-9.1 5.3-9.1.8 4 1.5 7.1 1.9 8.5 1.6 4.5 5.3 7.2 10.1 7.2 0 0 5 0 10.9-3.3 1.4-.6 2.4-2 2.4-3.6 0-2.1-1.7-3.9-3.9-3.9-.6 0-1.2.2-1.7.4 0 0-4.2 2.4-5.6.5-1-2-1.9-4.6-2.6-7.8-.6-2.8-1.3-6.2-2-9.5l4.3-6.2c-.1.1 4.6 1.8 7 1.8z" + } + }, + variation_attribute_setup: { + "xmlns": "http://www.w3.org/2000/svg", + "path": [{ + "d": "M23.6 3.6A1.39 1.39 0 0022.1 5v22.6a1.26 1.26 0 001.4 1.4h.1a1.31 1.31 0 001.4-1.4V4.9a1.29 1.29 0 00-1.4-1.3zM9.1 3.6H3.5A1.31 1.31 0 002.1 5v22.6A1.37 1.37 0 003.5 29h5.6a1.31 1.31 0 001.4-1.4V4.9a1.41 1.41 0 00-1.4-1.3zM16.9 3.6h-1.4A1.31 1.31 0 0014.1 5v22.6a1.26 1.26 0 001.4 1.4h1.4a1.31 1.31 0 001.4-1.4V4.9a1.24 1.24 0 00-1.4-1.3zM44.4 24.4v.2l.1.7c.2.1.3.2.5.3l.7-.5.6-.2.5-.2V4.9a1.31 1.31 0 00-1.4-1.4h-2.8a1.31 1.31 0 00-1.4 1.4v15.8a4.67 4.67 0 013.2 3.7zM31.7 25l.5.2a3.33 3.33 0 01.6-.3l.1-.6v-.2a4.9 4.9 0 014.1-3.8V4.9a1.34 1.34 0 00-1.4-1.3H30A1.31 1.31 0 0028.6 5v19.9a4.3 4.3 0 011.2-.2 4.9 4.9 0 011.9.3zM47.4 37.8a11.14 11.14 0 00.2-1.7 8.81 8.81 0 00-.2-1.7l1.9-1.6a1.8 1.8 0 00.4-2.2l-.8-1.5a1.76 1.76 0 00-1.5-.8c-.2 0-.4.1-.6.1l-2.3.9a8.26 8.26 0 00-3-1.7l-.4-2.4a1.63 1.63 0 00-1.7-1.2h-1.7a1.66 1.66 0 00-1.7 1.2l-.4 2.3a8.51 8.51 0 00-3.1 1.7l-2.2-.9a1.08 1.08 0 00-.6-.1 1.76 1.76 0 00-1.5.8l-.8 1.4a1.83 1.83 0 00.4 2.2l1.9 1.6a11.14 11.14 0 00-.2 1.7 8.81 8.81 0 00.2 1.7l-1.9 1.7a1.8 1.8 0 00-.4 2.2l.8 1.6a1.76 1.76 0 001.5.8c.2 0 .4-.1.6-.1l2.3-.9a8.26 8.26 0 003 1.7l.4 2.5a1.72 1.72 0 001.7 1.4h1.7a1.72 1.72 0 001.7-1.4l.4-2.5a8.77 8.77 0 003.2-1.9l2.2.9a1.27 1.27 0 00.6.1 1.76 1.76 0 001.5-.8l.7-1.3a1.83 1.83 0 00-.4-2.2zm-8.8 4.1a5.6 5.6 0 115.6-5.6 5.59 5.59 0 01-5.6 5.6z" + }, { + "d": "M38.5 33.1a3.1 3.1 0 103.1 3.1 3.1 3.1 0 00-3.1-3.1z" + }] + }, + variation_products: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M45 28.2a1.13 1.13 0 00.7-1.2V5a1.31 1.31 0 00-1.4-1.4h-2.8A1.31 1.31 0 0040.1 5v16.8a7.33 7.33 0 014.9 6.4zM29.3 28.3h1.1a7.36 7.36 0 015.7-6.8V5a1.31 1.31 0 00-1.4-1.4h-5.4A1.31 1.31 0 0027.9 5v22a1.24 1.24 0 001.4 1.3zM16.6 3.7h-1.4a1.31 1.31 0 00-1.4 1.4v22a1.26 1.26 0 001.4 1.4h1.4a1.31 1.31 0 001.4-1.4V5a1.41 1.41 0 00-1.4-1.3zM8.9 3.7H3.5A1.24 1.24 0 002.1 5v22a1.37 1.37 0 001.4 1.4h5.4a1.31 1.31 0 001.4-1.4V5a1.34 1.34 0 00-1.4-1.3zM23.1 3.6H23A1.31 1.31 0 0021.6 5v22c-.1.8.5 1.3 1.5 1.3a1.31 1.31 0 001.4-1.4V5a1.31 1.31 0 00-1.4-1.4zM45.9 39.4a4.07 4.07 0 00-4 3.3h-5.4a.46.46 0 00-.4.5v.4a4.25 4.25 0 01-.2 1.1c-.1.2.2.5.4.5h5.8a3.84 3.84 0 003.7 2.4 4.19 4.19 0 004.1-4.1 4.1 4.1 0 00-4-4.1zM33.6 28.8a4 4 0 005.3 3.8l2.8 5.2c.2.2.4.3.6.2a2.85 2.85 0 011.4-.6.48.48 0 00.2-.6l-3-5.5a3.66 3.66 0 00.9-2.5 4.1 4.1 0 10-8.2 0zM35.1 34.6a10 10 0 01-1.4-.8c-.2-.2-.5-.1-.6.2l-2.8 5.4a1.27 1.27 0 00-.6-.1 4.09 4.09 0 102.8 1.1l2.8-5.2a.85.85 0 00-.2-.6z" + } + }, + video: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M46.9 13.1l-11 7.9v-5.6c0-1.5-1.2-2.7-2.7-2.7H4.7c-1.5 0-2.7 1.2-2.7 2.7v21.3c0 1.5 1.2 2.7 2.7 2.7h28.6c1.5 0 2.7-1.2 2.7-2.7v-5.5L46.9 39c.7.7 1.9.2 1.9-.8V13.9c0-1-1.2-1.5-1.9-.8z" + } + }, + voicemail_drop: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M39 14.8c-6.1 0-11.2 5-11.2 11.2 0 2.2.7 4.3 1.8 6.1h-7.2c1.2-1.8 1.8-3.8 1.8-6.1 0-6.1-5-11.2-11.2-11.2-6.1 0-11.2 5-11.2 11.2 0 6.1 5 11.2 11.2 11.2h25.9c6.1 0 11.2-5 11.2-11.2.1-6.2-4.9-11.2-11.1-11.2zM7.2 25.9c0-3.3 2.7-6 5.9-6 3.3 0 5.9 2.7 5.9 6s-2.7 6-5.9 6-5.9-2.6-5.9-6zM39 32c-3.3 0-5.9-2.7-5.9-6s2.7-6 5.9-6c3.3 0 5.9 2.7 5.9 6 .1 3.3-2.6 6-5.9 6z" + } + }, + volume_high: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "path": [{ + "d": "M24.6 2.6L12 18H6c-2.2 0-4 1.8-4 4v8c0 2.2 1.8 4 4 4h6l12.6 15.4c1.3 1.3 3.4.4 3.4-1.4V4c0-1.8-2.2-2.7-3.4-1.4zM42.6 8.7c-.4-.4-1-.4-1.4 0l-1.4 1.4c-.4.4-.4 1.1 0 1.4C43.6 15.2 46 20.3 46 26c0 5.7-2.4 10.8-6.2 14.5-.4.4-.4 1 0 1.4l1.4 1.4c.4.4 1 .4 1.4 0C47.1 39 50 32.8 50 26c0-6.8-2.8-13-7.4-17.3z" + }, { + "d": "M36.3 15.1c-.4-.4-1-.4-1.4 0l-1.4 1.4c-.4.4-.4 1 0 1.4 2.2 2 3.5 4.9 3.5 8.1 0 3.2-1.4 6.1-3.6 8.1-.4.4-.4 1 0 1.4l1.4 1.4c.4.4 1 .4 1.4 0 2.9-2.7 4.8-6.6 4.8-11 0-4.2-1.8-8.1-4.7-10.8z" + }] + } + }, + volume_low: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "path": { + "d": "M24.6 2.6L12 18H6c-2.2 0-4 1.8-4 4v8c0 2.2 1.8 4 4 4h6l12.6 15.4c1.3 1.3 3.4.4 3.4-1.4V4c0-1.8-2.2-2.7-3.4-1.4zM36.3 15.1c-.4-.4-1-.4-1.4 0l-1.4 1.4c-.4.4-.4 1 0 1.4 2.2 2 3.5 4.9 3.5 8.1s-1.4 6.1-3.6 8.1c-.4.4-.4 1 0 1.4l1.4 1.4c.4.4 1 .4 1.4 0 2.9-2.7 4.8-6.6 4.8-11 0-4.2-1.8-8.1-4.7-10.8z" + } + } + }, + volume_off: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "path": { + "d": "M24.6 2.6L12 18H6c-2.2 0-4 1.8-4 4v8c0 2.2 1.8 4 4 4h6l12.6 15.4c1.3 1.3 3.4.4 3.4-1.4V4c0-1.8-2.2-2.7-3.4-1.4zM44.8 26l4.9-4.9c.4-.4.4-1 0-1.4l-1.4-1.4c-.4-.4-1-.4-1.4 0L42 23.2l-4.9-4.9c-.4-.4-1-.4-1.4 0l-1.4 1.4c-.4.4-.4 1 0 1.4l4.9 4.9-4.9 4.9c-.4.4-.4 1 0 1.4l1.4 1.4c.4.4 1 .4 1.4 0l4.9-4.9 4.9 4.9c.4.4 1 .4 1.4 0l1.4-1.4c.4-.4.4-1 0-1.4L44.8 26z" + } + } + }, + waits: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M50 18.4c0-.8-.7-1.5-1.5-1.5h-21c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h14.3L26.3 41.8v.1c-.2.2-.3.5-.3.8v3c0 .8.7 1.5 1.5 1.5h21c.8 0 1.5-.7 1.5-1.5v-3c0-.8-.7-1.5-1.5-1.5h-14l15.2-18.6c.2-.3.3-.7.3-1v-3.2zM26 6.3c0-.8-.7-1.5-1.5-1.5h-21c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h14.3L2.3 29.7v.1c-.2.2-.3.5-.3.8v3c0 .8.7 1.5 1.5 1.5h21c.8 0 1.5-.7 1.5-1.5v-3c0-.8-.7-1.5-1.5-1.5h-14l15.2-18.6c.2-.3.3-.7.3-1V6.3z" + } + }, + warning: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M51.4 42.5l-22.9-37c-1.2-2-3.8-2-5 0L.6 42.5C-.8 44.8.6 48 3.1 48h45.8c2.5 0 4-3.2 2.5-5.5zM26 40c-1.7 0-3-1.3-3-3s1.3-3 3-3 3 1.3 3 3-1.3 3-3 3zm3-9c0 .6-.4 1-1 1h-4c-.6 0-1-.4-1-1V18c0-.6.4-1 1-1h4c.6 0 1 .4 1 1v13z" + } + }, + warranty_term: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M26 2c3 0 5.43 3.29 8.09 4.42s6.82.51 8.84 2.65 1.51 6.07 2.65 8.84S50 23 50 26s-3.29 5.43-4.42 8.09-.51 6.82-2.65 8.84-6.07 1.53-8.84 2.65S29 50 26 50s-5.43-3.29-8.09-4.42-6.82-.51-8.84-2.65-1.53-6.07-2.65-8.84S2 29 2 26s3.29-5.43 4.42-8.09.51-6.82 2.65-8.84 6.07-1.53 8.84-2.65S23 2 26 2zm0 7.58A16.42 16.42 0 1042.42 26 16.47 16.47 0 0026 9.58zm7.62 9.15l1.61 1.52a1.25 1.25 0 010 1.51L25.08 33.07a2.07 2.07 0 01-1.61.7 2.23 2.23 0 01-1.61-.7l-5.49-5.47a1 1 0 01-.1-1.42l.1-.11L18 24.56a1.1 1.1 0 011.54-.07l.07.07 3.89 4 8.59-9.8a1.1 1.1 0 011.53-.03z" + } + }, + watchlist: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M42.9 7h.2l.3.1a2.45 2.45 0 011.4 1l.2.3 4.2 7.4c1.5 2.7.2 3.4-1.1 4.2s-2.5 1.1-3.9-.8l-.1-.2-.7-1.3-6.4 25a3 3 0 01-5.3 1.1l-.1-.1-10.7-16.5-5.5 12a3 3 0 01-2.7 1.8H3.6c-.4 0-1.5-.4-1.5-1.4a4.06 4.06 0 00-.1-1.3v-1.8a1.52 1.52 0 011.44-1.6h7.36l7-15.2a2.94 2.94 0 013.86-1.55A3 3 0 0123 19.3l9.9 15.3 4.6-18.1-.9.5c-1.9 1.3-2.7.7-3.9-.8l-.2-.3c-.8-1.3-1.1-2.6.1-3.5l1-.7L41 7.4a3.14 3.14 0 011.9-.4z" + } + }, + weeklyview: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M44 7h-5V5c0-1.6-1.3-3-3-3-1.6 0-3 1.3-3 3v2H19V5c0-1.6-1.3-3-3-3-1.6 0-3 1.3-3 3v2H8c-2.2 0-4 1.8-4 4v2.5c0 .8.7 1.5 1.5 1.5h41c.8 0 1.5-.7 1.5-1.5V11c0-2.2-1.8-4-4-4zM46.5 20h-41c-.8 0-1.5.7-1.5 1.5V46c0 2.2 1.8 4 4 4h36c2.2 0 4-1.8 4-4V21.5c0-.8-.7-1.5-1.5-1.5zm-13.7 9.5l-6.3 13.4c-.3.7-1 1.1-1.8 1.1-1.1 0-1.9-.9-1.9-1.8 0-.2.1-.5.2-.8L28.3 30h-7.6c-.9 0-1.7-.6-1.7-1.5 0-.8.8-1.5 1.7-1.5h10.4c1 0 1.9.8 1.9 1.8 0 .3-.1.5-.2.7z" + } + }, + wellness: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M27.42 10.57a1.66 1.66 0 00-1.25-.57 1.66 1.66 0 00-1.25.56c-11.76 13.39-5 24 0 29.07a1.66 1.66 0 001.19.49 1.77 1.77 0 001.24-.54c4.95-5.1 11.48-15.65.07-29.01zM15.66 28.3c-2.66-1.51-6.29-2.38-11.1-2.06a1.27 1.27 0 00-1 .53 1.34 1.34 0 00-.24 1.08c3 14 13 14.75 18.77 13.94a1.35 1.35 0 00.64-.3 23.14 23.14 0 01-7.07-13.19zM36.34 28.3c2.69-1.51 6.29-2.38 11.1-2.06a1.27 1.27 0 011 .53 1.34 1.34 0 01.24 1.08c-3 14-13 14.75-18.77 13.94a1.35 1.35 0 01-.64-.3 23.14 23.14 0 007.07-13.19zM15.38 25c.32-4.56 1.2-6.62 1.61-7.35a22.71 22.71 0 00-6.43-3.46 1.28 1.28 0 00-1.08.09 1.34 1.34 0 00-.64.88 21.65 21.65 0 00-.25 8.41A22.93 22.93 0 0115.38 25zM43.31 15.13a1.29 1.29 0 00-.64-.88 1.28 1.28 0 00-1.08-.09 22.79 22.79 0 00-6.42 3.46c.4.73 1.29 2.79 1.6 7.35a22.93 22.93 0 016.8-1.43 21.27 21.27 0 00-.26-8.41z" + } + }, + wifi: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M47.7 15.8c-5.5-6.1-13.3-9.5-21.6-9.5S10 9.7 4.5 15.8c-.4.4-.3 1.1.1 1.4l3 2.6c.4.4 1 .3 1.4-.1 4.4-4.7 10.6-7.4 17.1-7.4s12.7 2.7 17.1 7.4c.4.4 1 .4 1.4.1l3-2.6c.4-.4.5-1 .1-1.4zM26.1 20.3c-4.2 0-8.2 1.8-11 5-.4.4-.3 1.1.1 1.5l3.2 2.4c.4.3 1 .3 1.3-.1 1.7-1.8 4-2.8 6.4-2.8s4.7 1 6.3 2.7c.3.4.9.4 1.3.1l3.2-2.4c.5-.4.5-1 .1-1.5-2.7-3.1-6.7-4.9-10.9-4.9zM26.2 34.2c2.7 0 5 2.2 5 5s-2.2 5-5 5-5-2.2-5-5 2.3-5 5-5z" + } + }, + work_forecast: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M44.88 11.82s-2.38-4.91-7.7-4.91S29.34 12 29.34 12a7.94 7.94 0 00-6.75 0s-2.45-5.05-7.77-5.05-7.7 4.91-7.7 4.91S2.14 22.93 2 32.89s6.48 12.2 9.61 12.2c3.41 0 11.46-1.43 11.05-12.61a3.26 3.26 0 013.07-1.84 4.06 4.06 0 013.68 1.84C29 43.66 37 45.09 40.39 45.09c3.06 0 9.74-2.39 9.61-12.2s-5.12-21.07-5.12-21.07zM12.23 40.73a5.94 5.94 0 115.93-5.94 5.94 5.94 0 01-5.93 5.94zm27.54 0a5.94 5.94 0 115.93-5.94 5.94 5.94 0 01-5.93 5.94z" + } + }, + work_order_type: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M39.3 26.9c0 1-.9 1.9-1.9 1.9H14.6c-1 0-1.9-.9-1.9-1.9V25c0-1 .9-1.9 1.9-1.9h22.9c1 0 1.9.9 1.9 1.9v1.9h-.1zm-3.8 11.4c0 1-.9 1.9-1.9 1.9h-19c-1 0-1.9-.9-1.9-1.9v-1.9c0-1 .9-1.9 1.9-1.9h19.1c1 0 1.9.9 1.9 1.9v1.9h-.1zM12.7 13.5c0-1 .9-1.9 1.9-1.9h19.1c1 0 1.9.9 1.9 1.9v1.9c0 1-.9 1.9-1.9 1.9H14.6c-1 0-1.9-.9-1.9-1.9v-1.9zM41.2 4H10.8C7.6 4 5 6.6 5 9.7v32.4c0 3.1 2.6 5.7 5.7 5.7h30.5c3.1 0 5.7-2.6 5.7-5.7V9.7C47 6.6 44.4 4 41.2 4z" + } + }, + world: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M26 2C12.7 2 2 12.7 2 26s10.7 24 24 24 24-10.7 24-24S39.3 2 26 2zm0 5zm2 .1h-.2.2zM26 45C15.5 45 7 36.5 7 26c0-1 .1-2.1.3-3 1.3.2 2.9.7 3.7 1.5 1.7 1.8 3.6 3.9 5.4 4.3 0 0-.2.1-.4.4-.2.3-.4.9-.4 1.9 0 4.7 4.4 1.9 4.4 6.6 0 4.7 5.3 6.6 5.3 2.8s3.5-5.6 3.5-8.5-2.7-2.8-4.4-3.8c-1.8-.9-2.7-2.4-6.1-1.9-1.8-1.7-2.8-3.1-2-4.7.9-1.7 4.6-2 4.6-4.6s-2.5-3.1-4.3-3.1c-.8 0-2.5-.6-3.9-1.3 1.7-1.7 3.8-3.1 6-4.1 1.6.7 4.3 1.8 6.6 1.8 2.7 0 4.1-1.9 3.7-3.1 4.5.7 8.5 3 11.4 6.2-1.5.9-3.5 1.9-7 1.9-4.6 0-4.6 4.7-1.9 5.6 2.8.9 5.6-1.8 6.5 0 .9 1.8-6.5 1.8-4.6 6.4 1.9 4.6 3.7-.1 5.6 4.5 1.9 4.6 5.6-.7 2.8-4.3-1.2-1.6-.9-6.5 1.9-6.5h.9c.4 1.6.7 3.3.7 5C45 36.5 36.5 45 26 45z" + } + }, + yubi_key: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "path": [{ + "d": "M38.5 14.1h-37c-.8 0-1.5.7-1.5 1.5v21c0 .8.7 1.5 1.5 1.5h37c.8 0 1.5-.7 1.5-1.5v-21c0-.8-.7-1.5-1.5-1.5zM21 32.2c-3.4 0-6.1-2.7-6.1-6.1S17.6 20 21 20s6.1 2.7 6.1 6.1-2.7 6.1-6.1 6.1z" + }, { + "d": "M50.5 18H36c-.8 0-1.5.7-1.5 1.5v13c0 .8.7 1.5 1.5 1.5h14.5c.8 0 1.5-.7 1.5-1.5v-13c0-.8-.7-1.5-1.5-1.5zm-3.4 4c.6 0 1 .4 1 1v1.9H40V22h7.1zm0 8H40v-2.7h8.1V29c0 .6-.4 1-1 1z" + }], + "circle": { + "cx": "21", + "cy": "26.1", + "r": "1.2" + } + } + }, + zoomin: { + "xmlns": "http://www.w3.org/2000/svg", + "path": [{ + "d": "M31 19h-6v-6c0-.6-.4-1-1-1h-4c-.6 0-1 .4-1 1v6h-6c-.6 0-1 .4-1 1v4c0 .6.4 1 1 1h6v6c0 .6.4 1 1 1h4c.6 0 1-.4 1-1v-6h6c.6 0 1-.4 1-1v-4c0-.6-.4-1-1-1z" + }, { + "d": "M49.6 45.2L38.1 33.8C40.5 30.5 42 26.4 42 22c0-11-9-20-20-20S2 11 2 22s9 20 20 20c4.4 0 8.5-1.5 11.8-3.9l11.5 11.5c.6.6 1.5.6 2.1 0l2.1-2.1c.6-.6.6-1.6.1-2.3zM22 36c-7.7 0-14-6.3-14-14S14.3 8 22 8s14 6.3 14 14-6.3 14-14 14z" + }] + }, + zoomout: { + "xmlns": "http://www.w3.org/2000/svg", + "path": [{ + "d": "M19 25h12c.6 0 1-.4 1-1v-4c0-.6-.4-1-1-1H19M19 19h-6c-.6 0-1 .4-1 1v4c0 .6.4 1 1 1h6" + }, { + "d": "M49.6 45.3L38.1 33.8C40.5 30.5 42 26.4 42 22c0-11-9-20-20-20S2 11 2 22s9 20 20 20c4.4 0 8.5-1.5 11.8-3.9l11.5 11.5c.6.6 1.5.6 2.1 0l2.1-2.1c.6-.6.6-1.6.1-2.2zM22 36c-7.7 0-14-6.3-14-14S14.3 8 22 8s14 6.3 14 14-6.3 14-14 14z" + }] + }, + viewBox: '0 0 52 52' + }; +} + +/* harmony default export */ var utility = (icons); +// CONCATENATED MODULE: ./icons/action/index.js +/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */ + +/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */ +var action_icons = {}; + +if (true) { + action_icons = { + add_contact: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M46 9H6c-2.7 0-5 2.2-5 5v24c0 2.7 2.3 5 5 5h40c2.8 0 5-2.2 5-5V14c0-2.8-2.2-5-5-5zM24.8 37.2H10.4c-1.6 0-2.8-1.7-2.8-3.4.1-2.5 2.7-4 5.4-5.2 1.9-.8 2.2-1.6 2.2-2.4 0-.8-.5-1.6-1.2-2.2-1.1-1-1.7-2.5-1.7-4.1 0-3.2 1.9-5.8 5.2-5.8s5.2 2.7 5.2 5.8c0 1.7-.6 3.2-1.7 4.1-.7.6-1.2 1.3-1.2 2.2 0 .8.2 1.6 2.2 2.3 2.7 1.2 5.3 2.8 5.4 5.3.3 1.7-1 3.4-2.6 3.4zm19.5-5.8c0 .9-.8 1.7-1.7 1.7h-7.5c-.9 0-1.7-.7-1.7-1.7v-2.5c0-.9.8-1.7 1.7-1.7h7.5c.9 0 1.7.7 1.7 1.7v2.5zm0-9.1c0 .9-.8 1.7-1.7 1.7H30.2c-.9 0-1.7-.7-1.7-1.7v-2.5c0-.9.8-1.7 1.7-1.7h12.5c.9 0 1.7.7 1.7 1.7v2.5z" + } + }, + add_file: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M9.7 36.1V11.3c-2.6 0-4.7 2.1-4.7 4.6v29.4C5 47.9 7.1 50 9.7 50H33c2.6 0 4.7-2.1 4.7-4.6H19c-5.1 0-9.3 0-9.3-9.3zm35.7-20.2h-7.8c-2.6 0-4.7-2.1-4.7-4.6V3.5c.1-.8-.6-1.5-1.5-1.5H19c-2.6 0-4.7 2.1-4.7 4.6V36c0 2.6 2.1 4.6 4.7 4.6h23.3c2.6 0 4.7-2.1 4.7-4.6V17.5c0-.9-.7-1.6-1.6-1.6zm1.3-6.5l-7.2-7.1c-.2-.2-.4-.3-.7-.3-.6 0-1.1.5-1.1 1.1v5.1c0 1.7 1.4 3.1 3.1 3.1h5.1c.6 0 1.1-.5 1.1-1.1 0-.3-.1-.5-.3-.8z" + } + }, + add_photo_video: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M26 20c-4.4 0-8 3.6-8 8s3.6 8 8 8 8-3.6 8-8-3.6-8-8-8zm20-6h-5.2c-1.4 0-2.6-.7-3.4-1.8l-2.3-3.5C34.4 7 32.7 6 30.9 6h-9.8c-1.8 0-3.5 1-4.3 2.7l-2.3 3.5c-.7 1.1-2 1.8-3.4 1.8H6c-2.2 0-4 1.8-4 4v24c0 2.2 1.8 4 4 4h40c2.2 0 4-1.8 4-4V18c0-2.2-1.8-4-4-4zM26 40c-6.6 0-12-5.4-12-12s5.4-12 12-12 12 5.4 12 12-5.4 12-12 12z" + } + }, + add_relationship: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M36 20c0-2.2-1.8-4-4-4H6c-2.2 0-4 1.8-4 4v26c0 2.2 1.8 4 4 4h26c2.2 0 4-1.8 4-4V20zm-8 14c0 .5-.5 1-1 1h-6v6c0 .5-.5 1-1 1h-2c-.5 0-1-.5-1-1v-6h-6c-.5 0-1-.5-1-1v-2c0-.5.5-1 1-1h6v-6c0-.5.5-1 1-1h2c.5 0 1 .5 1 1v6h6c.5 0 1 .5 1 1v2zm15 8h-3v-6h3c.6 0 1-.4 1-1V9c0-.6-.4-1-1-1H17c-.6 0-1 .4-1 1v3h-6V9c0-3.9 3.1-7 7-7h26c3.9 0 7 3.1 7 7v26c0 3.9-3.1 7-7 7z" + } + }, + adjust_value: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M23 14.91a6.55 6.55 0 11-6.52 6.55A6.53 6.53 0 0123 14.91zm20.7 15.72a.58.58 0 000-.84l-4.12-4.12a.59.59 0 00-.42-.18.61.61 0 00-.43.18L27.39 37.05l-1.7 5.69a.8.8 0 00.79 1 .55.55 0 00.18 0L32.35 42zm-1.45-7.75L46.4 27a.63.63 0 00.43.18.59.59 0 00.42-.18c.73-.73 2.06-1.94 2.06-1.94a2 2 0 000-2.91L47.13 20a2 2 0 00-1.41-.54 2.34 2.34 0 00-1.5.54s-1.33 1.31-1.93 2a.58.58 0 000 .88zM40.1 8.27H6a4 4 0 00-3.93 4v19.07A4 4 0 006 35.28h18.84l3.95-3.94H10.54A4.53 4.53 0 006 26.76v-9.88a4.53 4.53 0 004.56-4.57h25a4.53 4.53 0 004.56 4.57v3L44 15.91v-3.6a4 4 0 00-3.9-4.04z" + } + }, + announcement: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "path": { + "d": "M22.7 45.4l-1.3-1c-1.4-1-1.4-3-1.4-4v-2.9c0-.8-.7-1.5-1.5-1.5h-6c-.8 0-1.5.7-1.5 1.5v7.7c0 2.7 1.6 4.8 4.1 4.8H20c2.9 0 3.1-2 3.1-2s.5-1.8-.4-2.6zM45 18V4.4v-.1c0-2.4-3-3.1-4.6-1.5l-8.9 8.4c-1.4 1.2-3.2 1.7-5 1.7H11.3C6.1 13 2 17.5 2 22.7v.2c0 5.2 4.1 9.1 9.3 9.1h15.2c1.9 0 3.7.8 5.1 2l8.8 8.6c1.6 1.6 4.6 1 4.6-1.4V27.6c3 0 4.8-2.1 4.8-4.8 0-2.7-1.8-4.8-4.8-4.8z" + } + } + }, + apex: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "path": { + "d": "M48.5 40h-27c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h27c.8 0 1.5-.7 1.5-1.5v-3c0-.8-.7-1.5-1.5-1.5zM25.4 21.8L6 6.3c-.6-.5-1.5-.4-2 .3L2.3 9c-.5.7-.3 1.6.3 2.1l13.8 11c.5.4.5 1.2 0 1.6l-13.8 11c-.6.5-.8 1.5-.3 2.1L4 39.4c.5.7 1.4.8 2 .3l19.4-15.5c.8-.6.8-1.8 0-2.4z" + } + } + }, + approval: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M19 43.6L2.5 27c-.6-.6-.6-1.6 0-2.2l2.2-2.2c.6-.6 1.6-.6 2.2 0l12.4 12.5c.4.4 1.1.4 1.5 0l24.3-24.5c.6-.6 1.6-.6 2.2 0l2.2 2.2c.6.6.6 1.6 0 2.2L21.2 43.6c-.6.7-1.6.7-2.2 0z" + } + }, + back: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M48.5 22H15.3c-.9 0-1.3-1.1-.7-1.7l9.6-9.6c.6-.6.6-1.5 0-2.1L22 6.4c-.6-.6-1.5-.6-2.1 0L2.4 23.9c-.6.6-.6 1.5 0 2.1l17.5 17.5c.6.6 1.5.6 2.1 0l2.1-2.1c.6-.6.6-1.5 0-2.1l-9.6-9.6c-.6-.6-.2-1.7.7-1.7h33.2c.8 0 1.5-.7 1.5-1.5v-3c.1-.8-.6-1.5-1.4-1.5z" + } + }, + bug: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M19.7 10.1h12.7c.9 0 1.6-.9 1.4-1.7-.8-3.6-4-6.2-7.8-6.2s-7 2.7-7.8 6.2c-.1.8.6 1.7 1.5 1.7zm27.8 20.7c1.4 0 2.5-1.1 2.4-2.5-.1-1.3-1.2-2.3-2.6-2.3h-7v-4c4.6-1.8 7.9-6.8 7.9-12.6 0-1.2-.8-2.2-2-2.5-1.5-.2-2.8.9-2.8 2.4 0 3.4-1.6 6.4-3.9 7.8-.9-1.4-2.4-2.2-4.1-2.2H16.5c-1.7 0-3.2.9-4.1 2.2-2.3-1.4-3.9-4.3-3.9-7.6 0-1.3-1-2.5-2.2-2.5-1.4-.1-2.5 1-2.5 2.3 0 5.9 3.3 10.9 7.9 12.7v4h-7c-1.3 0-2.5 1-2.5 2.2-.1 1.4 1 2.5 2.4 2.5h7.2v4c-4.6 1.8-7.9 6.8-7.9 12.6 0 1.2.8 2.2 2 2.5 1.5.2 2.8-.9 2.8-2.4 0-3.3 1.5-6.3 3.8-7.7 1.4 4.5 4.8 7.9 9.2 9.4 1 .3 2.1-.5 2.1-1.5V28.5c0-1.3 1-2.5 2.2-2.5 1.4-.1 2.5 1 2.5 2.4v19.2c0 1.1 1 1.8 2.1 1.5 4.4-1.4 7.9-4.9 9.2-9.4 2.2 1.4 3.7 4.3 3.8 7.5 0 1.3 1 2.5 2.2 2.5 1.4.1 2.5-1 2.5-2.4 0-5.9-3.3-10.9-7.9-12.7v-4h7.1v.2z" + } + }, + call: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M48.5 37.8l-6.1-4.9c-1.4-1.1-3.4-1.2-4.8-.1l-5.2 3.8c-.6.5-1.5.4-2.1-.2l-7.8-7-7-7.8c-.6-.6-.6-1.4-.2-2.1l3.8-5.2c1.1-1.4 1-3.4-.1-4.8l-4.9-6.1c-1.5-1.8-4.2-2-5.9-.3l-5 5.2c-.8.8-1.2 2-1.2 3.1.5 10.2 5.1 19.9 11.9 26.7 6.8 6.8 16.5 11.4 26.7 11.9 1.1.1 2.2-.4 3-1.2l5.2-5.2c1.7-1.6 1.6-4.4-.3-5.8z" + } + }, + canvas: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M45 38.4c-.2 2.7-.5 5.6-1 8.4-.1.8-1 1.7-1.8 1.8-5.4.6-10.7 1-16.1 1-5.3 0-10.7-.3-16-1-.8-.1-1.7-.9-1.8-1.8-.7-4.4-1.1-8.9-1.1-13.4s.4-9 1.1-13.4c.1-.8 1-1.6 1.8-1.8 3.3-.4 6.5-.6 9.7-.8 0 0 2.6-.1 2.4-2.6-.2-2.2-4-3.7-4-7.4 0-3 3-5.4 7.9-5.4 4.8 0 7.8 2.4 7.8 5.4 0 3.8-3.7 5.2-3.9 7.4-.2 2.4 2.4 2.6 2.4 2.6 3.3.1 6.6.4 9.8.8.8.1 1.7.9 1.8 1.8.5 3.1.8 6 1 9.1 0 .9-.7 1.8-1.6 1.8h-.9c-.9 0-2.3-.7-2.9-1.4 0 0-2.1-2.2-4.4-2.3-3.7-.1-6.5 3.1-6.5 6.6s2.8 6.8 6.4 6.7c2.2-.1 4.4-2.3 4.4-2.3.7-.6 2-1.2 2.9-1.2h.9c1.1 0 1.8.6 1.7 1.4z" + } + }, + change_owner: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M27.3 37.6c-3-1.2-3.5-2.3-3.5-3.5 0-1.2.8-2.3 1.8-3.2 1.8-1.5 2.6-3.9 2.6-6.4 0-4.7-2.9-8.5-8.3-8.5s-8.3 3.8-8.3 8.5c0 2.5.8 4.9 2.6 6.4 1 .9 1.8 2 1.8 3.2 0 1.2-.5 2.3-3.5 3.5-4.4 1.8-8.6 3.8-8.7 7.6C4 47.8 6 50 8.5 50h23c2.5 0 4.5-2.2 4.5-4.7-.1-3.8-4.3-5.9-8.7-7.7zM44.5 19c0-7.4-6.1-13.5-13.5-13.5V2l-6.8 5.5c-.3.3-.2.8.1 1.1L31 14v-3.5c4.7 0 8.5 3.8 8.5 8.5H36l5.5 6.8c.3.3.8.3 1.1 0L48 19h-3.5z" + } + }, + change_record_type: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M20 37.5c0-.8-.7-1.5-1.5-1.5h-15c-.8 0-1.5.7-1.5 1.5v11c0 .8.7 1.5 1.5 1.5h15c.8 0 1.5-.7 1.5-1.5v-11zM8.1 22H3.2c-1 0-1.5.9-.9 1.4l8 8.3c.4.3 1 .3 1.4 0l8-8.3c.6-.6.1-1.4-.9-1.4h-4.7c0-5 4.9-10 9.9-10V6C15 6 8.1 13 8.1 22zM41.8 20.3c-.4-.3-1-.3-1.4 0l-8 8.3c-.6.6-.1 1.4.9 1.4h4.8c0 6-4.1 10-10.1 10v6c9 0 16.1-7 16.1-16H49c1 0 1.5-.9.9-1.4l-8.1-8.3zM50 3.5c0-.8-.7-1.5-1.5-1.5h-15c-.8 0-1.5.7-1.5 1.5v11c0 .8.7 1.5 1.5 1.5h15c.8 0 1.5-.7 1.5-1.5v-11z" + } + }, + check: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M19.1 42.5L2.6 25.9c-.6-.6-.6-1.6 0-2.2l2.2-2.2c.6-.6 1.6-.6 2.2 0L19.4 34c.4.4 1.1.4 1.5 0L45.2 9.5c.6-.6 1.6-.6 2.2 0l2.2 2.2c.6.6.6 1.6 0 2.2L21.3 42.5c-.6.7-1.6.7-2.2 0z" + } + }, + clone: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "path": [{ + "d": "M46 2H18c-2.2 0-4 1.8-4 4v2.5c0 .8.7 1.5 1.5 1.5H34c4.4 0 8 3.6 8 8v18.5c0 .8.7 1.5 1.5 1.5H46c2.2 0 4-1.8 4-4V6c0-2.2-1.8-4-4-4z" + }, { + "d": "M34 14H6c-2.2 0-4 1.8-4 4v28c0 2.2 1.8 4 4 4h28c2.2 0 4-1.8 4-4V18c0-2.2-1.8-4-4-4zm-4 27c0 .6-.4 1-1 1H11c-.6 0-1-.4-1-1v-2c0-.6.4-1 1-1h18c.6 0 1 .4 1 1v2zm0-8c0 .6-.4 1-1 1H11c-.6 0-1-.4-1-1v-2c0-.6.4-1 1-1h18c.6 0 1 .4 1 1v2zm0-8c0 .6-.4 1-1 1H11c-.6 0-1-.4-1-1v-2c0-.6.4-1 1-1h18c.6 0 1 .4 1 1v2z" + }] + } + }, + close: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M31.6 25.8l13.1-13.1c.6-.6.6-1.5 0-2.1l-2.1-2.1c-.6-.6-1.5-.6-2.1 0L27.4 21.6c-.4.4-1 .4-1.4 0L12.9 8.4c-.6-.6-1.5-.6-2.1 0l-2.1 2.1c-.6.6-.6 1.5 0 2.1l13.1 13.1c.4.4.4 1 0 1.4L8.6 40.3c-.6.6-.6 1.5 0 2.1l2.1 2.1c.6.6 1.5.6 2.1 0L26 31.4c.4-.4 1-.4 1.4 0l13.1 13.1c.6.6 1.5.6 2.1 0l2.1-2.1c.6-.6.6-1.5 0-2.1L31.6 27.2c-.3-.4-.3-1 0-1.4z" + } + }, + defer: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "path": [{ + "d": "M26 2C12.8 2 2 12.8 2 26s10.8 24 24 24 24-10.8 24-24S39.2 2 26 2zm0 42c-9.9 0-18-8.1-18-18S16.1 8 26 8s18 8.1 18 18-8.1 18-18 18z" + }, { + "d": "M29.4 26.2c-.3-.3-.4-.7-.4-1.1v-9.6c0-.8-.7-1.5-1.5-1.5h-3c-.8 0-1.5.7-1.5 1.5v12.1c0 .4.2.8.4 1.1l7.4 7.4c.6.6 1.5.6 2.1 0L35 34c.6-.6.6-1.5 0-2.1l-5.6-5.7z" + }] + } + }, + delete: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "path": { + "d": "M45.5 10H33V6c0-2.2-1.8-4-4-4h-6c-2.2 0-4 1.8-4 4v4H6.5c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h39c.8 0 1.5-.7 1.5-1.5v-3c0-.8-.7-1.5-1.5-1.5zM23 7c0-.6.4-1 1-1h4c.6 0 1 .4 1 1v3h-6V7zM41.5 20h-31c-.8 0-1.5.7-1.5 1.5V45c0 2.8 2.2 5 5 5h24c2.8 0 5-2.2 5-5V21.5c0-.8-.7-1.5-1.5-1.5zM23 42c0 .6-.4 1-1 1h-2c-.6 0-1-.4-1-1V28c0-.6.4-1 1-1h2c.6 0 1 .4 1 1v14zm10 0c0 .6-.4 1-1 1h-2c-.6 0-1-.4-1-1V28c0-.6.4-1 1-1h2c.6 0 1 .4 1 1v14z" + } + } + }, + description: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M44 4H8C5.8 4 4 5.8 4 8v36c0 2.2 1.8 4 4 4h36c2.2 0 4-1.8 4-4V8c0-2.2-1.8-4-4-4zM12 14c0-.6.4-1 1-1h10c.6 0 1 .4 1 1v10c0 .6-.4 1-1 1H13c-.6 0-1-.4-1-1V14zm24 26c0 .6-.4 1-1 1H13c-.6 0-1-.4-1-1v-2c0-.6.4-1 1-1h22c.6 0 1 .4 1 1v2zm4-8c0 .6-.4 1-1 1H13c-.6 0-1-.4-1-1v-2c0-.6.4-1 1-1h26c.6 0 1 .4 1 1v2zm0-8c0 .6-.4 1-1 1H29c-.6 0-1-.4-1-1v-2c0-.6.4-1 1-1h10c.6 0 1 .4 1 1v2zm0-8c0 .6-.4 1-1 1H29c-.6 0-1-.4-1-1v-2c0-.6.4-1 1-1h10c.6 0 1 .4 1 1v2z" + } + }, + dial_in: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "circle": [{ + "cx": "10", + "cy": "10", + "r": "6" + }, { + "cx": "10", + "cy": "26", + "r": "6" + }, { + "cx": "26", + "cy": "10", + "r": "6" + }, { + "cx": "42", + "cy": "10", + "r": "6" + }, { + "cx": "26", + "cy": "26", + "r": "6" + }, { + "cx": "42", + "cy": "26", + "r": "6" + }, { + "cx": "10", + "cy": "42", + "r": "6" + }, { + "cx": "26", + "cy": "42", + "r": "6" + }, { + "cx": "42", + "cy": "42", + "r": "6" + }] + } + }, + download: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "path": [{ + "d": "M48.5 31h-3c-.8 0-1.5.7-1.5 1.5v10c0 .8-.7 1.5-1.5 1.5h-33c-.8 0-1.5-.7-1.5-1.5v-10c0-.8-.7-1.5-1.5-1.5h-3c-.8 0-1.5.7-1.5 1.5V46c0 2.2 1.8 4 4 4h40c2.2 0 4-1.8 4-4V32.5c0-.8-.7-1.5-1.5-1.5z" + }, { + "d": "M25 37.6c.6.6 1.5.6 2.1 0l13.5-13.5c.6-.6.6-1.5 0-2.1l-2.1-2.1c-.6-.6-1.5-.6-2.1 0l-5.6 5.6c-.6.6-1.7.2-1.7-.7V3.5C29 2.7 28.2 2 27.5 2h-3c-.8 0-1.5.7-1.5 1.5v21.2c0 .9-1.1 1.3-1.7.7l-5.6-5.6c-.6-.6-1.5-.6-2.1 0L11.5 22c-.6.6-.6 1.5 0 2.1L25 37.6z" + }] + } + }, + edit: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "path": { + "d": "M48.8 7.4l-4.2-4.2c-1.6-1.6-4.1-1.6-5.6 0l-3.3 3.3c-.4.4-.4 1 0 1.4l8.5 8.5c.4.4 1 .4 1.4 0l3.3-3.3c1.5-1.6 1.5-4.1-.1-5.7zM32.9 10.7c-.4-.4-1-.4-1.4 0L5.4 36.8 2.1 48.1c-.3 1.1.7 2.2 1.8 1.9l11.4-3.2h-.1l26.1-26.1c.4-.4.4-1 0-1.4l-8.4-8.6z" + } + } + }, + edit_groups: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "path": [{ + "d": "M39.4 31.5c-.2-.2-.6-.2-.8 0L26.9 43.2 25.2 49c-.2.6.4 1.1 1 1l5.9-1.7 11.7-11.7c.2-.2.2-.6 0-.8l-4.4-4.3zM49.4 28l-2.2-2.2c-.8-.8-2.1-.8-2.9 0 0 0-1.3 1.3-2 2.1-.2.2-.2.6 0 .8l4.2 4.2c.2.2.6.2.8 0 .7-.7 2.1-2 2.1-2 .8-.8.8-2.1 0-2.9zM26 13.7c0 2.2-.6 4.3-1.8 6.1-.4.6-.2 1.5.5 1.9 2.2 1.1 4.7 2.5 6.1 4.9.2.4.7.5 1.1.5h2.8c1.8 0 3-1.2 3-3.1-.1-2.8-2.9-4.5-5.9-5.8-2.1-.9-2.4-1.7-2.4-2.6 0-.9.6-1.7 1.3-2.4 1.2-1.1 1.9-2.7 1.9-4.6C32.5 5 30.4 2 26.7 2c-2.2 0-3.9 1.1-4.8 2.7 2.5 1.9 4.1 5.1 4.1 9z" + }, { + "d": "M27.5 30.3c-.1-3.2-3.3-4.6-6.7-6.1-2.3-1-2.7-1.9-2.7-2.9s.6-2 1.4-2.7c1.4-1.3 2.1-3.1 2.1-5.2 0-3.9-2.3-7.3-6.5-7.3h-.4c-4.2 0-6.5 3.4-6.5 7.3 0 2.1.7 3.9 2.1 5.2.8.7 1.4 1.7 1.4 2.7 0 1-.4 1.9-2.7 2.9-3.4 1.5-6.6 3-6.7 6.1C2.5 32.4 4 34 6 34h18c2 0 3.5-1.6 3.5-3.7z" + }] + } + }, + edit_relationship: { + "xmlns": "http://www.w3.org/2000/svg", + "path": [{ + "d": "M43 42h-3v-6h3c.6 0 1-.4 1-1V9c0-.6-.4-1-1-1H17c-.6 0-1 .4-1 1v3h-6V9c0-3.9 3.1-7 7-7h26c3.9 0 7 3.1 7 7v26c0 3.9-3.1 7-7 7z" + }, { + "d": "M32 16H6c-2.2 0-4 1.8-4 4v26c0 2.2 1.8 4 4 4h26c2.2 0 4-1.8 4-4V20c0-2.2-1.8-4-4-4zM14.8 41.5c-.2.2-.3.2-.5.3l-4.5 1.1c-.4.1-.8-.3-.7-.7l1.1-4.5c0-.1.1-.2.2-.4l.1-.1c.1-.1.4-.1.5 0l3.7 3.7c.2.3.2.6.1.6zm10.9-11l-9.2 9.3c-.2.2-.4.2-.6 0l-3.7-3.7c-.2-.1-.2-.4 0-.5l9.3-9.3c.2-.2.4-.2.6 0l3.7 3.7c0 .1 0 .3-.1.5zm2.8-2.8l-1 1c-.2.2-.4.2-.6 0L23.2 25c-.2-.2-.2-.4 0-.6l1-1c.7-.7 1.7-.7 2.4 0l2 2c.6.7.6 1.7-.1 2.3z" + }] + }, + email: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "path": [{ + "d": "M24.9 30.1c.6.6 1.5.6 2.1 0l22.6-21c.5-.8.4-2.1-1.2-2.1l-44.8.1c-1.2 0-2.2 1.1-1.3 2.1l22.6 20.9z" + }, { + "d": "M50 17.3c0-1-1.2-1.6-2-.9L30.3 32.7c-1.2 1.1-2.7 1.7-4.3 1.7s-3.1-.6-4.3-1.6L4.1 16.4c-.8-.7-2-.2-2 .9C2 21.8 2 34 2 40c0 2.2 1.8 4 4 4h40c2.2 0 4-1.8 4-4V17.3z" + }] + } + }, + fallback: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M28 3.5l-3 14.6c0 .6.4.9.9.9h15.6c1.1 0 1.8 1.3 1.3 2.3l-17 27.9c-.7 1.4-2.8.9-2.8-.7l3-17.2c0-.6-.5-.4-1.1-.4H8.5c-1.1 0-1.9-1.6-1.3-2.6l18-25.5c.7-1.3 2.8-.9 2.8.7z" + } + }, + filter: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M48.2 4H3.8C2.4 4 1.6 5.7 2.5 6.8L22 29.5c.6.7 1 1.7 1 2.6v14.4c0 .8.7 1.5 1.5 1.5h3c.8 0 1.5-.7 1.5-1.5V32.1c0-1 .3-1.9 1-2.6L49.5 6.8c.9-1.1.2-2.8-1.3-2.8z" + } + }, + flow: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "path": { + "d": "M49.9 10.6c-2.1-4.1-7.4-11.7-17.2-7.2-6.1 2.8-9.5 4.4-9.5 4.4l-8.8 3.8c-2.5 1.2-7.9-.5-11-1.6-.9-.3-1.7.6-1.3 1.5 2.1 4.1 7.4 11.7 17.2 7.2 6.1-2.8 18.3-8.1 18.3-8.1 2.5-1.2 7.9.5 11 1.6.9.2 1.7-.7 1.3-1.6zM28.8 23.4c-1.1.6-5.5 2.6-5.5 2.6l-4.4 1.9c-2.2 1.2-6.9-.4-9.7-1.5-.8-.4-1.5.6-1.1 1.4 1.8 4 6.5 11.2 15.1 6.8 5.4-2.7 9.9-4.5 9.9-4.5 2.2-1.2 6.9.4 9.7 1.5.8.3 1.5-.6 1.1-1.5-1.8-3.9-6.5-11.1-15.1-6.7zM25.6 41.1c-.9.5-2.4 1.4-2.4 1.4-1.7 1.1-5.2-.3-7.3-1.3-.6-.3-1.1.6-.8 1.4 1.3 3.6 4.8 10.1 11.3 6.1 2.4-1.5 2.4-1.4 2.4-1.4 1.8-.9 5.2.3 7.3 1.3.6.3 1.1-.6.8-1.4-1.3-3.6-4.6-9.8-11.3-6.1z" + } + } + }, + follow: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "path": [{ + "d": "M50.5 38H46v-4.5c0-.8-.7-1.5-1.5-1.5h-3c-.8 0-1.5.7-1.5 1.5V38h-4.5c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5H40v4.5c0 .8.7 1.5 1.5 1.5h3c.8 0 1.5-.7 1.5-1.5V44h4.5c.8 0 1.5-.7 1.5-1.5v-3c0-.8-.7-1.5-1.5-1.5z" + }, { + "d": "M34 34h1c.6 0 1-.4 1-1v-1c0-2.2 1.8-4 4-4h4.5c.8 0 1.5-.7 1.5-1.5V6c0-2.2-1.8-4-4-4H6C3.8 2 2 3.8 2 6v36c0 2.2 1.8 4 4 4h22.5c.9 0 1.6-.7 1.5-1.6V38c0-2.2 1.8-4 4-4zm-8-23c0-.6.4-1 1-1h10c.6 0 1 .4 1 1v2c0 .6-.4 1-1 1H27c-.6 0-1-.4-1-1v-2zm0 8c0-.6.4-1 1-1h10c.6 0 1 .4 1 1v2c0 .6-.4 1-1 1H27c-.6 0-1-.4-1-1v-2zm-16-8c0-.6.4-1 1-1h10c.6 0 1 .4 1 1v10c0 .6-.4 1-1 1H11c-.6 0-1-.4-1-1V11zm16 26c0 .6-.4 1-1 1H11c-.6 0-1-.4-1-1v-2c0-.6.4-1 1-1h14c.6 0 1 .4 1 1v2zm-15-7c-.6 0-1-.4-1-1v-2c0-.6.4-1 1-1h20c.6 0 1 .4 1 1v2c0 .6-.4 1-1 1H11z" + }] + } + }, + following: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "path": [{ + "d": "M49.5 33.6l-2.2-2.2c-.6-.6-1.6-.6-2.2 0L35.7 41c-.4.4-1.1.4-1.5 0l-4.4-4.5c-.6-.6-1.6-.6-2.2 0l-2.2 2.2c-.6.6-.6 1.6 0 2.2l8.4 8.6c.6.6 1.6.6 2.2 0l13.4-13.7c.7-.5.7-1.5.1-2.2z" + }, { + "d": "M24.7 33.8c1-1 2.2-1.6 3.6-1.8 1.7-.1 3.3.4 4.5 1.6L35 36l7.2-7.4c.8-.8 1.8-1.4 2.9-1.6.5-.1.8-.5.8-1V6c0-2.2-1.8-4-4-4H6C3.8 2 2 3.8 2 6v36c0 2.2 1.8 4 4 4h16.4c.9 0 1.3-1.1.7-1.7l-.5-.5c-2.1-2.2-2.1-5.7 0-7.9l2.1-2.1zM26 11c0-.6.4-1 1-1h10c.6 0 1 .4 1 1v2c0 .6-.4 1-1 1H27c-.6 0-1-.4-1-1v-2zm0 8c0-.6.4-1 1-1h10c.6 0 1 .4 1 1v2c0 .6-.4 1-1 1H27c-.6 0-1-.4-1-1v-2zm-16-8c0-.6.4-1 1-1h10c.6 0 1 .4 1 1v10c0 .6-.4 1-1 1H11c-.6 0-1-.4-1-1V11zm8 26c0 .6-.4 1-.9 1H11c-.5 0-.9-.4-.9-1v-2c0-.6.4-1 .9-1h6.1c.5 0 .9.4.9 1v2zm-7-7c-.6 0-1-.4-1-1v-2c0-.6.4-1 1-1h20c.6 0 1 .4 1 1v2c0 .6-.4 1-1 1H11z" + }] + } + }, + freeze_user: { + "xmlns": "http://www.w3.org/2000/svg", + "path": [{ + "d": "M27 3c.6 0 1 .4 1 1v45.9c0 .6-.4 1-1 1h-2c-.6 0-1-.4-1-1V4c0-.6.4-1 1-1h2z" + }, { + "d": "M26 17.2l-8.1-8.1c-.4-.4-.4-1 0-1.4l1.4-1.4c.4-.4 1-.4 1.4 0l5.3 5.3 5.3-5.3c.4-.4 1-.4 1.4 0l1.4 1.4c.4.4.4 1 0 1.4L26 17.2M26 36.7l8.1 8.1c.4.4.4 1 0 1.4l-1.4 1.4c-.4.4-1 .4-1.4 0L26 42.3l-5.3 5.3c-.4.4-1 .4-1.4 0l-1.4-1.4c-.4-.4-.4-1 0-1.4l8.1-8.1M47.1 15.6c.3.5.2 1.1-.4 1.4L7.2 40.3c-.5.3-1.1.2-1.4-.4l-1-1.7c-.3-.5-.2-1.1.4-1.4l39.5-23.4c.5-.3 1.1-.2 1.4.4l1 1.8z" + }, { + "d": "M34.4 22l2.8-11.1c.1-.6.6-.9 1.2-.7l1.9.5c.6.1.9.6.7 1.2l-1.9 7.3 7.3 1.9c.6.1.9.6.7 1.2l-.5 1.9c-.1.6-.6.9-1.2.7l-11-2.9M17.6 31.9L14.8 43c-.1.6-.6.9-1.2.7l-1.9-.5c-.6-.1-.9-.6-.7-1.2l1.9-7.3-7.3-1.9c-.6-.1-.9-.6-.7-1.2l.5-1.9c.1-.6.6-.9 1.2-.7l11 2.9M5.9 13.9c.3-.5.9-.7 1.4-.4l39.5 23.4c.5.3.7.9.4 1.4l-1 1.7c-.3.5-.9.7-1.4.4L5.2 17c-.5-.3-.7-.9-.4-1.4l1.1-1.7z" + }, { + "d": "M17.6 22L6.5 24.9c-.6.1-1.1-.1-1.2-.7l-.5-1.9c-.1-.6.1-1.1.7-1.2l7.3-1.9-1.9-7.3c-.1-.6.1-1.1.7-1.2l1.9-.5c.6-.1 1.1.1 1.2.7L17.6 22M34.3 31.9L45.4 29c.6-.1 1.1.1 1.2.7l.5 1.9c.1.6-.1 1.1-.7 1.2l-7.3 1.9L41 42c.1.6-.1 1.1-.7 1.2l-1.9.5c-.6.1-1.1-.1-1.2-.7l-2.9-11.1" + }] + }, + goal: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "path": [{ + "d": "M5 2C3.3 2 2 3.3 2 5v42c0 1.6 1.3 3 3 3 1.6 0 3-1.3 3-3V5c0-1.7-1.3-3-3-3zM48.8 6.5c-13 6.8-23.3-4.9-35.6-.4-.6.2-1.2.8-1.2 1.5V30c0 1.1 1.2 1.9 2.3 1.6 11.8-3.5 22 7.6 34.8.6.5-.3.9-.8.9-1.4V7.2c0-.6-.7-1-1.2-.7zM46 29.2l-.5.2c-1 .5-2.6.6-5.3.6H40v-5c-1.5 0-4.2-.3-6-.7v5.3c-1.7-.3-3.3-.6-4.6-.9-.5-.1-1-.3-1.4-.4v-5.5c-1.7-.5-4.3-1-6-1.4v5.7c-1.2-.2-1.5-.3-2.8-.3-.5 0-.9 0-1.6.1L16 27v-5.8c1-.2 2.2-.2 3.5-.2 1.3 0 1.4.1 2.5.3v-6c-1.1-.2-5-.2-6 .1V9.2l.9-.1c1-.1 4 .1 5.1.4v5.8c1.4.3 3.8.8 5.6 1.3.1 0 .3.1.4.1v-5.8c1.8.5 3.9 1.1 6 1.4V18c1.7.3 4.4.5 6 .5V13h.2c1.6 0 2.7-.4 4.7-.7l1.2-.4v6c-1.8.5-3.7.7-5.6.7h-.4V25h.2c1.9 0 4-.7 5.8-1.5v5.7z" + }, { + "d": "M28 16.7v6c.4.1.8.2 1.2.4 1.5.4 3.1.9 4.8 1.2v-6.2c-2.1-.4-4.2-.9-6-1.4z" + }] + } + }, + google_news: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M50.3 5.3l-3.6 3.6c-.4.4-1 .4-1.4 0l-4.6-4.6c-.4-.4-1-.4-1.4 0l-3.6 3.6c-.4.4-1 .4-1.4 0l-3.6-3.6c-.4-.4-1-.4-1.4 0l-3.6 3.6c-.4.4-1 .4-1.4 0l-3.6-3.6c-.4-.4-1-.4-1.4 0l-3.6 3.6c-.4.4-1 .4-1.4 0l-3.6-3.6c-.4-.4-1-.4-1.4 0L5.7 7.9c-.4.4-1 .4-1.4 0L1.7 5.3C1.1 4.7 0 5.1 0 6v38c0 2.2 1.8 4 4 4h44c2.2 0 4-1.8 4-4V6c0-.9-1.1-1.3-1.7-.7zM21 41c0 .6-.4 1-1 1H8c-.6 0-1-.4-1-1V23c0-.6.4-1 1-1h12c.6 0 1 .4 1 1v18zm24 0c0 .6-.4 1-1 1H26c-.6 0-1-.4-1-1v-2c0-.6.4-1 1-1h18c.6 0 1 .4 1 1v2zm0-7H25v-4h20v4zm0-9c0 .6-.4 1-1 1H26c-.6 0-1-.4-1-1v-2c0-.6.4-1 1-1h18c.6 0 1 .4 1 1v2zm0-8c0 .6-.4 1-1 1H8c-.6 0-1-.4-1-1v-2c0-.6.4-1 1-1h36c.6 0 1 .4 1 1v2z" + } + }, + info: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M26 2C12.7 2 2 12.7 2 26s10.7 24 24 24 24-10.7 24-24S39.3 2 26 2zm0 12.1c1.7 0 3 1.3 3 3s-1.3 3-3 3-3-1.3-3-3 1.3-3 3-3zm5 21c0 .5-.4.9-1 .9h-8c-.5 0-1-.3-1-.9v-2c0-.5.4-1.1 1-1.1.5 0 1-.3 1-.9v-4c0-.5-.4-1.1-1-1.1-.5 0-1-.3-1-.9v-2c0-.5.4-1.1 1-1.1h6c.5 0 1 .5 1 1.1v8c0 .5.4.9 1 .9.5 0 1 .5 1 1.1v2z" + } + }, + join_group: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "path": [{ + "d": "M36 23.9c-.1-2.8-2.8-4.5-5.7-5.8-2-.9-2.4-1.7-2.4-2.6 0-.9.6-1.7 1.2-2.4C30.4 12 31 10.4 31 8.5 31 5 29 2 25.3 2c-2.2 0-3.7 1.1-4.7 2.7 2.5 1.9 4 5.2 4 9 0 2.2-.6 4.3-1.7 6.1-.4.6-.2 1.5.5 1.9 2.1 1.1 4.5 2.5 5.9 4.9.2.4.6.5 1.1.5h2.7c1.7-.1 2.9-1.3 2.9-3.2z" + }, { + "d": "M19.7 24.1c-2.3-1-2.6-1.9-2.6-2.9s.6-2 1.4-2.7c1.3-1.3 2-3.1 2-5.2 0-3.9-2.3-7.3-6.3-7.3H14h-.1c-4 0-6.3 3.4-6.3 7.3 0 2.1.7 3.9 2 5.2.8.7 1.4 1.7 1.4 2.7 0 1-.3 1.9-2.6 2.9-3.3 1.5-6.4 3-6.5 6.1C2 32.4 3.5 34 5.4 34h17.4c1.9 0 3.4-1.6 3.4-3.7-.1-3.2-3.3-4.7-6.5-6.2zM48.5 34H44v-4.5c0-.8-.7-1.5-1.5-1.5h-3c-.8 0-1.5.7-1.5 1.5V34h-4.5c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5H38v4.5c0 .8.7 1.5 1.5 1.5h3c.8 0 1.5-.7 1.5-1.5V40h4.5c.8 0 1.5-.7 1.5-1.5v-3c0-.8-.7-1.5-1.5-1.5z" + }] + } + }, + lead_convert: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M27.6 28.3c-.6.6-.6 1.5 0 2.1l2.1 2.1c.6.6 1.5.6 2.1 0L45.3 19c.6-.6.6-1.5 0-2.1L31.9 3.4c-.6-.6-1.5-.6-2.1 0l-2.1 2.1c-.6.6-.6 1.5 0 2.1l5.7 5.6c1.6 1.8-1 1.7-1 1.7h-8C14.9 15 6.8 22.8 7 32.3 7.2 41.5 14.7 49 24 49h3.5c.8 0 1.5-.7 1.5-1.5v-3c0-.8-.7-1.5-1.5-1.5h-3.2c-5.7 0-10.7-4.2-11.3-9.9-.6-6.6 4.6-12.1 11-12.1h8.6c.7.2 1 1.1.5 1.7l-5.5 5.6z" + } + }, + leave_group: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "path": [{ + "d": "M30.3 22.1c-2-.9-2.4-1.7-2.4-2.6 0-.9.6-1.7 1.2-2.4 1.2-1.1 1.8-2.7 1.8-4.6C31 9 29 6 25.3 6c-2.2 0-3.7 1.1-4.7 2.7 2.5 1.9 4 5.2 4 9 0 2.2-.6 4.3-1.7 6.1-.4.6-.2 1.5.5 1.9 2.1 1.1 4.5 2.5 5.9 4.9.2.4.6.5 1.1.5h2.7c1.7 0 2.9-1.2 2.9-3.1-.1-2.9-2.8-4.6-5.7-5.9z" + }, { + "d": "M19.7 28.1c-2.3-1-2.6-1.9-2.6-2.9s.6-2 1.4-2.7c1.3-1.3 2-3.1 2-5.2 0-3.9-2.3-7.3-6.3-7.3h-.4c-4 0-6.3 3.4-6.3 7.3 0 2.1.7 3.9 2 5.2.8.7 1.4 1.7 1.4 2.7 0 1-.3 1.9-2.6 2.9-3.3 1.5-6.4 3-6.5 6.1C2 36.4 3.5 38 5.4 38h17.4c1.9 0 3.4-1.6 3.4-3.7-.1-3.2-3.3-4.7-6.5-6.2z" + }] + }, + "path": { + "d": "M32 42.5v-3c0-.8.7-1.5 1.5-1.5h15c.8 0 1.5.7 1.5 1.5v3c0 .8-.7 1.5-1.5 1.5h-15c-.8 0-1.5-.7-1.5-1.5z" + } + }, + log_a_call: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M42.9 2H12.7C10 2 7.8 4.4 7.8 6.8v1.6H6.2C4.4 8.4 3 9.8 3 11.6s1.4 3.2 3.2 3.2h1.6v8H6.2C4.4 22.8 3 24.2 3 26s1.4 3.2 3.2 3.2h1.6v8H6.2c-1.8 0-3.2 1.4-3.2 3.2 0 1.8 1.4 3.2 3.2 3.2h1.6v1.6c0 2.4 2.2 4.8 4.9 4.8h30.2c2.7 0 5.1-2.4 5.1-5V6.6C48 3.9 45.6 2 42.9 2zM40 34.2l-2.2 2.2c-.5.5-1.2.8-1.8.7-5.3-.3-10.3-2.7-13.8-6.2s-5.9-8.5-6.2-13.8c0-.7.2-1.4.7-1.8l2.2-2.2c1-1 2.8-1 3.7.2l2.1 2.6c.7.9.7 2.1.1 3L23 21.5c-.2.3-.2.8.1 1l3.7 4.1 4.1 3.7c.3.3.7.3 1 .1l2.5-1.8c.9-.6 2.2-.6 3.1.1l2.6 2.1c.9.6 1 2.4-.1 3.4z" + } + }, + log_event: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "path": [{ + "d": "M38.7 40.2l-4.8 1.6c-.4.1-.9.2-1.3.2-1.4 0-2.8-.7-3.7-1.8-.9-1.1-1.1-2.7-.8-4.1l1.6-5.7 7.5-7.5c.3-.3.1-.9-.4-.9H5.5c-.8 0-1.5.7-1.5 1.5V42c0 2.2 1.8 4 4 4h28c2.2 0 4-1.8 4-4v-.8c0-.7-.7-1.2-1.3-1zM5.5 18h33c.8 0 1.5-.7 1.5-1.5V14c0-2.2-1.8-4-4-4h-3V9c0-1.6-1.3-3-3-3-1.6 0-3 1.3-3 3v1H17V9c0-1.6-1.3-3-3-3-1.6 0-3 1.3-3 3v1H8c-2.2 0-4 1.8-4 4v2.5c0 .8.7 1.5 1.5 1.5z" + }, { + "d": "M43.5 23.1c-.2-.2-.5-.2-.7 0l-9.4 9.4-1.4 4.7c-.1.5.3.9.8.8l4.7-1.4 9.4-9.4c.2-.2.2-.5 0-.7l-3.4-3.4zM51.5 20.2l-1.8-1.8c-.6-.6-1.7-.6-2.4 0 0 0-1.1 1.1-1.6 1.7-.2.2-.2.5 0 .7l3.4 3.4c.2.2.5.2.7 0 .6-.6 1.7-1.6 1.7-1.6.7-.6.7-1.7 0-2.4z" + }] + } + }, + manage_perm_sets: { + "xmlns": "http://www.w3.org/2000/svg", + "path": [{ + "d": "M45 2H7C4.2 2 2 4.2 2 7v38c0 2.7 2.2 5 5 5h38c2.7 0 5-2.2 5-5V7c0-2.8-2.2-5-5-5zm-1.6 43H8.6c-.9 0-1.6-.7-1.6-1.6V8.6C7 7.7 7.7 7 8.6 7h34.8c.9 0 1.6.7 1.6 1.6v34.8c0 .9-.7 1.6-1.6 1.6z" + }, { + "d": "M21.9 11.9h-8.3c-.9 0-1.7.7-1.7 1.7v8.3c0 .9.7 1.7 1.7 1.7h8.3c.9 0 1.7-.7 1.7-1.7v-8.3c-.1-.9-.8-1.7-1.7-1.7zM38.4 11.9h-8.3c-.9 0-1.7.7-1.7 1.7v8.3c0 .9.7 1.7 1.7 1.7h8.3c.9 0 1.7-.7 1.7-1.7v-8.3c0-.9-.8-1.7-1.7-1.7zM21.9 28.5h-8.3c-.9 0-1.7.7-1.7 1.7v8.3c0 .9.7 1.7 1.7 1.7h8.3c.9 0 1.7-.7 1.7-1.7v-8.3c-.1-1-.8-1.7-1.7-1.7zM38.4 28.5h-8.3c-.9 0-1.7.7-1.7 1.7v8.3c0 .9.7 1.7 1.7 1.7h8.3c.9 0 1.7-.7 1.7-1.7v-8.3c0-1-.8-1.7-1.7-1.7z" + }] + }, + map: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M48.8 9.5L34.4 2.3c-.7-.3-1.5-.3-2.1 0L19 9 5.6 2.3c-.8-.4-1.8-.4-2.5.1-.7.4-1.1 1.2-1.1 2v36c0 .9.5 1.7 1.3 2.1l14.4 7.2c.7.3 1.5.3 2.1 0L33.2 43l13.3 6.7c.3.2.7.3 1.1.3.4 0 .9-.1 1.3-.4.7-.4 1.1-1.2 1.1-2v-36c0-.9-.4-1.7-1.2-2.1zM45 14.1v19c0 1.1-1 1.9-2 1.5-3.7-1.4-.7-7.6-3.4-11-2.5-3.1-5.7.1-8.8-4.8-2.9-4.7 1-8.1 4.6-9.9.5-.2 1-.2 1.4 0l7.4 3.7c.6.3.8.9.8 1.5zM24.9 41.9c-.6.3-1.3.2-1.8-.2-1-.9-1.8-2.3-1.8-3.7 0-2.4-4-1.6-4-6.4 0-3.9-4.6-4.9-8.5-4.5-1 .1-1.7-.6-1.7-1.6V10.9c0-1.2 1.2-2 2.2-1.4l8.6 4.3c.1 0 .2.1.2.1l.3.2c3.6 2.1 2.9 3.8 1.4 6.4-1.7 2.9-2.4 0-4.8-.8s-4.8.8-4 2.4 3.2 0 4.8 1.6 1.6 4 6.4 2.4 5.6-.8 7.2.8c1.6 1.6 2.4 4.8 0 7.2-1.4 1.4-2 4.4-2.6 6.4-.1.4-.4.8-.8 1l-1.1.4z" + } + }, + more: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M8 20c3.3 0 6 2.7 6 6s-2.7 6-6 6-6-2.7-6-6 2.7-6 6-6zm18 0c3.3 0 6 2.7 6 6s-2.7 6-6 6-6-2.7-6-6 2.7-6 6-6zm18 0c3.3 0 6 2.7 6 6s-2.7 6-6 6-6-2.7-6-6 2.7-6 6-6z" + } + }, + new: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M30 29h16.5c.8 0 1.5-.7 1.5-1.5v-3c0-.8-.7-1.5-1.5-1.5H30c-.6 0-1-.4-1-1V5.5c0-.8-.7-1.5-1.5-1.5h-3c-.8 0-1.5.7-1.5 1.5V22c0 .6-.4 1-1 1H5.5c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5H22c.6 0 1 .4 1 1v16.5c0 .8.7 1.5 1.5 1.5h3c.8 0 1.5-.7 1.5-1.5V30c0-.6.4-1 1-1z" + } + }, + new_account: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "path": [{ + "d": "M50 26.9c.1-1.7-1.2-2.2-1.7-2.2h-18c-1.6 0-1.8 1.7-1.8 1.8V46H50V26.9zm-12.4 14c0 .9-.7 1.7-1.7 1.7h-1.7c-.9 0-1.7-.8-1.7-1.7v-1.7c0-.9.7-1.7 1.7-1.7h1.7c.9 0 1.7.8 1.7 1.7v1.7zm0-8.5c0 .9-.7 1.7-1.7 1.7h-1.7c-.9 0-1.7-.8-1.7-1.7v-1.7c0-.9.7-1.7 1.7-1.7h1.7c.9 0 1.7.8 1.7 1.7v1.7zm8.3 8.5c0 .9-.7 1.7-1.7 1.7h-1.7c-.9 0-1.7-.8-1.7-1.7v-1.7c0-.9.7-1.7 1.7-1.7h1.7c.9 0 1.7.8 1.7 1.7v1.7zm0-8.5c0 .9-.7 1.7-1.7 1.7h-1.7c-.9 0-1.7-.8-1.7-1.7v-1.7c0-.9.7-1.7 1.7-1.7h1.7c.9 0 1.7.8 1.7 1.7v1.7z" + }, { + "d": "M33.4 17.9V8.2c.1-1.7-1.1-2.2-1.6-2.2h-28C2.2 6 2 7.7 2 7.8V46h21.5V21.6s0-2 1.8-2h6.5c1 0 1.6-1 1.6-1.7zM11.1 40.1c0 .9-.7 1.7-1.7 1.7H7.8c-.9 0-1.7-.8-1.7-1.7v-1.7c0-.9.7-1.7 1.7-1.7h1.7c.9 0 1.7.8 1.7 1.7v1.7zm0-8.6c0 .9-.7 1.7-1.7 1.7H7.8c-.9 0-1.7-.8-1.7-1.7v-1.7c0-.9.7-1.7 1.7-1.7h1.7c.9 0 1.7.8 1.7 1.7v1.7zm0-8.5c0 .9-.7 1.7-1.7 1.7H7.8c-.9 0-1.7-.8-1.7-1.7v-1.7c0-.9.7-1.7 1.7-1.7h1.7c.9 0 1.7.8 1.7 1.7V23zm0-8.5c0 .9-.7 1.7-1.7 1.7H7.8c-.9 0-1.7-.8-1.7-1.7v-1.7c0-.9.7-1.7 1.7-1.7h1.7c.9 0 1.7.8 1.7 1.7v1.7zm9.1 25.6c0 .9-.7 1.7-1.7 1.7h-1.7c-.9 0-1.7-.8-1.7-1.7v-1.7c0-.9.7-1.7 1.7-1.7h1.7c.9 0 1.7.8 1.7 1.7v1.7zm0-8.6c0 .9-.7 1.7-1.7 1.7h-1.7c-.9 0-1.7-.8-1.7-1.7v-1.7c0-.9.7-1.7 1.7-1.7h1.7c.9 0 1.7.8 1.7 1.7v1.7zm0-8.5c0 .9-.7 1.7-1.7 1.7h-1.7c-.9 0-1.7-.8-1.7-1.7v-1.7c0-.9.7-1.7 1.7-1.7h1.7c.9 0 1.7.8 1.7 1.7V23zm0-8.5c0 .9-.7 1.7-1.7 1.7h-1.7c-.9 0-1.7-.8-1.7-1.7v-1.7c0-.9.7-1.7 1.7-1.7h1.7c.9 0 1.7.8 1.7 1.7v1.7zm9.1 0c0 .9-.7 1.7-1.7 1.7H26c-.9 0-1.7-.8-1.7-1.7v-1.7c0-.9.7-1.7 1.7-1.7h1.7c.9 0 1.7.8 1.7 1.7v1.7z" + }] + } + }, + new_campaign: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "path": [{ + "d": "M26 2C12.8 2 2 12.8 2 26s10.8 24 24 24 24-10.8 24-24S39.2 2 26 2zm0 42c-9.9 0-18-8.1-18-18S16.1 8 26 8s18 8.1 18 18-8.1 18-18 18z" + }, { + "d": "M26 12c-7.7 0-14 6.3-14 14s6.3 14 14 14 14-6.3 14-14-6.3-14-14-14zm0 22c-4.4 0-8-3.6-8-8s3.6-8 8-8 8 3.6 8 8-3.6 8-8 8z" + }, { + "d": "M26 22c-2.2 0-4 1.8-4 4s1.8 4 4 4 4-1.8 4-4-1.8-4-4-4z" + }] + } + }, + new_case: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "path": { + "d": "M15 13h4c.6 0 1-.4 1-1v-2h12v2c0 .6.4 1 1 1h4c.6 0 1-.4 1-1V9.5c0-3-2.5-5.5-5.5-5.5H19.4c-3 0-5.4 2.4-5.4 5.4V12c0 .6.4 1 1 1zM46 17H6c-2.2 0-4 1.8-4 4v23c0 2.2 1.8 4 4 4h40c2.2 0 4-1.8 4-4V21c0-2.2-1.8-4-4-4z" + } + } + }, + new_child_case: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "path": [{ + "d": "M15 11h4c.6 0 1-.4 1-1V8h10v2c0 .6.4 1 1 1h4c.6 0 1-.4 1-1V7.5c0-3-2.5-5.5-5.5-5.5H19.4c-3 0-5.4 2.4-5.4 5.4V10c0 .6.4 1 1 1zM32 34h2v-2c0-2.2 1.8-4 4-4h6c1.3 0 2.4.6 3.1 1.5.3.4.9.1.9-.3V19c0-2.2-1.8-4-4-4H6c-2.2 0-4 1.8-4 4v23c0 2.2 1.8 4 4 4h21.8c.4 0 .6-.3.5-.7-.2-.4-.3-.8-.3-1.3v-6c0-2.2 1.8-4 4-4z" + }, { + "d": "M48.5 38H44v-4.5c0-.8-.7-1.5-1.5-1.5h-3c-.8 0-1.5.7-1.5 1.5V38h-4.5c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5H38v4.5c0 .8.7 1.5 1.5 1.5h3c.8 0 1.5-.7 1.5-1.5V44h4.5c.8 0 1.5-.7 1.5-1.5v-3c0-.8-.7-1.5-1.5-1.5z" + }] + } + }, + new_contact: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M46 9H6c-2.7 0-5 2.2-5 5v24c0 2.7 2.3 5 5 5h40c2.8 0 5-2.2 5-5V14c0-2.8-2.2-5-5-5zM24.8 37.2H10.4c-1.6 0-2.8-1.7-2.8-3.4.1-2.5 2.7-4 5.4-5.2 1.9-.8 2.2-1.6 2.2-2.4 0-.8-.5-1.6-1.2-2.2-1.1-1-1.7-2.5-1.7-4.1 0-3.2 1.9-5.8 5.2-5.8s5.2 2.7 5.2 5.8c0 1.7-.6 3.2-1.7 4.1-.7.6-1.2 1.3-1.2 2.2 0 .8.2 1.6 2.2 2.3 2.7 1.2 5.3 2.8 5.4 5.3.3 1.7-1 3.4-2.6 3.4zm19.5-5.8c0 .9-.8 1.7-1.7 1.7h-7.5c-.9 0-1.7-.7-1.7-1.7v-2.5c0-.9.8-1.7 1.7-1.7h7.5c.9 0 1.7.7 1.7 1.7v2.5zm0-9.1c0 .9-.8 1.7-1.7 1.7H30.2c-.9 0-1.7-.7-1.7-1.7v-2.5c0-.9.8-1.7 1.7-1.7h12.5c.9 0 1.7.7 1.7 1.7v2.5z" + } + }, + new_custom1: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M29.4 45.5c-1.9 2-5 2-6.9 0-5.8-6.1-16.8-17.7-16.8-17.8-5-5.1-5-13.6 0-18.8 2.4-2.5 5.6-3.9 9-3.9s6.6 1.3 9 3.9l1 1.2c.6.8 1.9.8 2.6 0l.8-1 .1-.1c2.5-2.6 5.7-4 9-4 3.4 0 6.6 1.3 9 3.9 5 5.1 5 13.6 0 18.8 0 .1-10.9 11.7-16.8 17.8z" + } + }, + new_custom10: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M42 48.3c-7.6 3-19.6 2.2-26.1-4.8C.1 26.6 13.9 2 32.9 2c3.2 0 6.2.6 9.1 1.8 1.2.5 1.3 2.1.3 2.8C36.2 10.9 32.1 18 32.1 26c0 8.1 4 15.2 10.1 19.5 1.1.7.9 2.3-.2 2.8z" + } + }, + new_custom100: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "path": { + "d": "M35.5 41.5h-19c-.6 0-.9.5-.8 1.1.8 3.1 5.1 5.5 10.2 5.5 5.2 0 9.5-2.4 10.2-5.5.3-.6-.1-1.1-.6-1.1zM45.2 4H6.8C4.2 4 2 6.2 2 8.9v22.8c0 2.7 2.2 4.9 4.8 4.9h38.4c2.6 0 4.8-2.2 4.8-4.9V8.9C50 6.2 47.8 4 45.2 4zm0 26.1c0 .9-.7 1.6-1.6 1.6H8.4c-.9 0-1.6-.7-1.6-1.6V10.5c0-.9.7-1.6 1.6-1.6h35.2c.9 0 1.6.7 1.6 1.6v19.6z" + } + } + }, + new_custom11: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M27.8 3.1l6.4 13.5 14.2 2.2c1.6.2 2.2 2.3 1 3.4L39.1 32.8l2.4 14.8c.2 1.7-1.4 3-2.8 2.2l-12.7-7-12.7 7c-1.4.8-3.1-.5-2.8-2.2l2.4-14.8L2.6 22.2c-1.1-1.2-.5-3.2 1-3.4l14.2-2.2 6.4-13.5c.8-1.5 2.9-1.5 3.6 0z" + } + }, + new_custom12: { + "xmlns": "http://www.w3.org/2000/svg", + "circle": { + "cx": "26", + "cy": "26", + "r": "24" + } + }, + new_custom13: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "path": { + "d": "M45.2 4H6.8C4.2 4 2 6.1 2 8.7v4.7c0 .9.7 1.6 1.6 1.6h44.8c.9 0 1.6-.7 1.6-1.6V8.7C50 6.1 47.8 4 45.2 4zM45.2 19.7H6.8c-.9 0-1.6.7-1.6 1.6v22c0 2.6 2.2 4.7 4.8 4.7h32c2.6 0 4.8-2.1 4.8-4.7v-22c0-.9-.7-1.6-1.6-1.6zm-10.4 7.1c0 1.3-1 2.4-2.4 2.4H19.6c-1.3 0-2.4-1-2.4-2.4 0-1.3 1-2.4 2.4-2.4h12.8c1.4 0 2.4 1 2.4 2.4z" + } + } + }, + new_custom14: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "path": [{ + "d": "M48.4 11.7h-4.8c-1 0-2.1-.5-2.9-1.2l-3.8-3.3C36.1 6.5 35 6 34 6h-9.4c-1.2 0-2.3.5-3.2 1.4l-5 4.1c-.4.3-.4 1-.1 1.4l1.5 1.5c1 .8 2.4 1 3.4.2l4.4-2.7c.6-.4 1.4-.2 1.8.2l13.8 13.6c.3.3.6.8.6 1.3v3.6c0 1 .7 2 1.6 2h4.8c.9 0 1.6-.7 1.6-1.7V13.3c.2-1-.5-1.6-1.4-1.6z" + }, { + "d": "M34.8 26.2l-8.6-8.5-2.4 1.5c-1.2.7-2.6 1.1-3.9 1.1-1.7 0-3.4-.6-4.8-1.8L11.9 16c-.7-.6-1.1-1.2-1.2-2.1-.2-.9-.8-1.4-1.6-1.4H3.6c-.9 0-1.6.5-1.6 1.4v14.7c0 1 .7 1.6 1.6 1.6h3.2c.2 0 .6-.9.9-1.3 1.2-1.6 3-2.5 4.9-2.8 1.9-.2 3.8.5 5.3 1.9l10 9.2c.9.8 1.5 1.7 1.9 2.8.2.6.9.7 1.3.3l3.8-3.8c1.9-1.9 3.4-6.5 1.6-8.6l-1.7-1.7z" + }, { + "d": "M14.7 32.2c-1-1-2.6-.8-3.4.3-.9 1.1-.7 2.8.3 3.7l10 9.1c.5.5 1.1.6 1.8.6.6-.1 1.2-.4 1.6-1 .9-1.1.7-2.8-.3-3.7l-10-9z" + }] + } + }, + new_custom15: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "path": [{ + "d": "M42 22.9c-2.8-1.2-3.2-2.2-3.2-3.4 0-1.2.8-2.2 1.8-3.1 1.7-1.5 2.6-3.6 2.6-6 0-4.5-2.8-8.4-7.9-8.4-4.3 0-7 2.9-7.7 6.6-.1.3.1.6.3.8 3.6 2.6 5.8 6.9 5.8 12.1 0 3.6-1.2 6.9-3.4 9.4-.3.4-.2 1 .3 1.3 1.4.6 3 1.4 4.6 2.2.5.3 1 .5 1.6.5H46c2.2 0 4-1.8 4-3.9v-.6c0-3.8-3.9-5.8-8-7.5z" + }, { + "d": "M27.7 36.1c-3.4-1.4-3.8-2.6-3.8-4s1-2.6 2.1-3.7c1.9-1.8 3-4.2 3-7 0-5.3-3.4-9.8-9.3-9.8s-9.3 4.6-9.3 9.8c0 2.9 1 5.3 3 7 1.1 1 2.1 2.3 2.1 3.7 0 1.4-.5 2.6-3.8 4-4.9 2-9.5 4.3-9.6 8.6v.7C2 47.9 4.2 50 6.9 50h25.6c2.6 0 4.8-2.1 4.8-4.6v-.7c-.1-4.3-4.7-6.6-9.6-8.6z" + }] + } + }, + new_custom16: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "path": { + "d": "M43.3 42h-.8V24.4c0-.9-.7-1.6-1.6-1.6h-1.6c-.9 0-1.6.7-1.6 1.6V42H33V24.4c0-.9-.7-1.6-1.6-1.6h-1.6c-.9 0-1.6.7-1.6 1.6V42h-4.7V24.4c0-.9-.7-1.6-1.6-1.6h-1.6c-.9 0-1.6.7-1.6 1.6V42H14V24.4c0-.9-.7-1.6-1.6-1.6h-1.6c-.9 0-1.6.7-1.6 1.6V42h-.5C6.1 42 4 44.2 4 46.8v1.6c0 .9.7 1.6 1.6 1.6h40.9c.9 0 1.6-.7 1.6-1.6v-1.6c-.1-2.6-2.2-4.8-4.8-4.8zM47.2 13.5L27.8 2.6c-.5-.4-1.2-.6-1.8-.6-.6 0-1.3.2-1.8.6L4.8 13.5c-.5.3-.8.8-.8 1.4v1.5c0 .9.7 1.6 1.6 1.6h40.9c.9 0 1.6-.7 1.6-1.6V15c-.1-.6-.4-1.2-.9-1.5zM26 14.8c-2.2 0-3.9-1.8-3.9-4s1.7-4 3.9-4 3.9 1.8 3.9 4-1.7 4-3.9 4z" + } + } + }, + new_custom17: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "path": { + "d": "M20.5 9.1c.2.6.8.9 1.4.9H30c.6 0 1.2-.3 1.4-.9l3.2-5.9c.2-.6-.2-1.1-.7-1.1H18.2c-.6 0-1 .6-.7 1.1l3 5.9zM30.7 14.8h-9.4C13.4 14.8 7 21.3 7 29.2v16c0 2.6 2.1 4.8 4.8 4.8h28.4c2.6 0 4.8-2.2 4.8-4.8v-16c0-7.9-6.5-14.4-14.3-14.4zm-2.3 26.9v2.7c0 .5-.5.8-1 .8h-3.2c-.5 0-.6-.3-.6-.8v-2.6c-2.4-.5-4.4-1.5-4.9-2-.6-.6-.8-1.1-.3-1.8l1-1.6c.2-.4.7-.6 1.2-.6.3 0 .6.1.8.2h.1c1.6 1 3 1.4 4 1.4 1.1 0 2-.6 2-1.2 0-.5-.3-1.3-3.3-2.3-2.7-1-6-2.6-6-6.3 0-2.2 1.4-4.7 5.4-5.5v-2.4c0-.5.2-.8.6-.8h3.2c.5 0 1 .3 1 .8V22c1.6.4 3.3 1.2 3.9 1.6.3.2.5.6.6 1 .1.4-.1.8-.3 1L31.4 27c-.3.4-.9.7-1.3.7-.2 0-.5-.1-.7-.2-1.6-.9-2.9-1.4-3.8-1.4-1.3 0-1.9.6-1.9 1 0 .6.3 1.2 3 2.2 3.3 1.1 7 2.9 7 6.7-.1 2.7-2.2 5-5.3 5.7z" + } + } + }, + new_custom18: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "path": [{ + "d": "M31.4 15.3h8.2c.6 0 1.1-.5 1.1-1.1 0-.3-.1-.5-.3-.8L30.2 3.3c-.3-.2-.5-.3-.8-.3-.6 0-1.1.5-1.1 1.1v8.1c0 1.7 1.4 3.1 3.1 3.1zM49.5 25.7l-.9-.9c-.6-.6-1.5-.6-2.2 0L34.5 36.7c-.1.1 0 .2 0 .3v2.5c0 .2 0 .4.2.4h2.6c.1 0 .2-.1.3-.1L49.5 28c.7-.8.7-1.7 0-2.3z" + }, { + "d": "M39.9 44.4H32.8c-1.6 0-2.9-1.3-2.9-2.9v-5.4c0-.8.2-1.6.9-2.1l9.5-9.5c.3-.3.5-.7.5-1.1v-2c0-.8-.7-1.5-1.5-1.5h-11c-2.6 0-4.6-2.1-4.6-4.6V4.5c0-.8-.7-1.5-1.6-1.5H6.6C4.1 3 2 5.1 2 7.6v36.8C2 46.9 4.1 49 6.6 49H36c2.2 0 4.2-1.6 4.6-3.7.1-.4-.3-.9-.7-.9zM8.2 16.8c0-.8.7-1.5 1.5-1.5h6.2c.9 0 1.5.7 1.5 1.5v1.5c0 .8-.7 1.5-1.5 1.5H9.7c-.9 0-1.5-.7-1.5-1.5v-1.5zm15.5 19.9c0 .8-.7 1.5-1.5 1.5H9.7c-.9 0-1.5-.7-1.5-1.5v-1.5c0-.8.7-1.5 1.5-1.5h12.4c.9 0 1.5.7 1.5 1.5v1.5zm3.1-9.2c0 .8-.7 1.5-1.5 1.5H9.7c-.9 0-1.5-.7-1.5-1.5V26c0-.8.7-1.5 1.5-1.5h15.5c.9 0 1.5.7 1.5 1.5v1.5z" + }] + } + }, + new_custom19: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M49.4 12.2c-.2-.6-.9-.7-1.4-.3L39.9 20c-.6.6-1.6.6-2.2 0L32 14.3c-.6-.6-.6-1.6 0-2.2L40.2 4c.4-.4.2-1.1-.3-1.4-1.4-.4-2.9-.6-4.3-.6-8.5 0-15.3 7.3-14.3 16 .2 1.4.5 2.6 1 3.8L3.6 40.4c-2.2 2.2-2.2 5.8 0 7.9 1.1 1.1 2.6 1.7 4 1.7s2.9-.6 4-1.7l18.6-18.6c1.2.5 2.5.8 3.8 1 8.7 1 16-5.8 16-14.3 0-1.5-.2-2.9-.6-4.2z" + } + }, + new_custom2: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "path": { + "d": "M33.3 3.5C30.9 1.9 22.2.4 18.9 5.9c-1.6 2.6.3 7.3 1.8 10.3.4.7 1.2 1.1 2 .8 1-.4 2.2-.6 3.5-.6.8 0 1.6.1 2.4.3.7.2 1.4-.2 1.8-.8.6-1 1.5-2.2 3.1-3.5 3.8-3.3 2.2-7.3-.2-8.9zM29.1 35.1c-1 .3-2 .5-3.1.5-1 0-1.9-.2-2.8-.4-.7-.2-1.5.2-1.8.8-.6 1-1.5 2.3-3.1 3.6-4 3.2-2.4 7.3 0 8.9s11.2 3.1 14.4-2.4c1.5-2.6-.2-7.2-1.7-10.2-.4-.7-1.2-1-1.9-.8zM46.1 18.7c-2.6-1.6-7.3.3-10.3 1.8-.7.4-1.1 1.2-.8 2 .4 1 .6 2.2.6 3.5 0 .8-.1 1.6-.3 2.4-.2.7.2 1.4.8 1.8 1 .6 2.2 1.5 3.5 3.1 3.2 4 7.2 2.4 8.8 0s3.2-11.3-2.3-14.6zM16.9 29c-.3-1-.5-2-.5-3.1 0-1 .2-1.9.4-2.8.2-.7-.2-1.5-.8-1.8-1-.6-2.3-1.5-3.6-3.1-3.2-4-7.3-2.4-8.9 0S.4 29.3 5.9 32.6c2.6 1.5 7.2-.2 10.2-1.7.7-.4 1-1.2.8-1.9z" + }, + "circle": { + "cx": "26", + "cy": "26", + "r": "4.8" + } + } + }, + new_custom20: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "path": { + "d": "M16.4 24.2c0-.6-.8-1-1.3-.6L3.9 32.1C2.7 33 2 34.5 2 36v3.3c0 .6.6 1 1 .7l12.3-4.6c.6-.2 1-.8 1-1.5.1-.1.1-9.7.1-9.7zM34.1 46.5l-3.3-2.2V8.1c0-2.2-2.3-4.6-3.8-5.8-.6-.5-1.4-.5-2 0-1.4 1.2-3.8 3.6-3.8 5.8V44.4l-3.7 2.4c-.6.5-1.1 1.2-1.1 2v.5c0 .4.3.7.7.7h17.7c.4 0 .9-.3.9-.7-.1-1.2-.7-2.1-1.6-2.8zM48.1 32.1l-11.2-8.6c-.6-.4-1.3 0-1.3.6v9.8c0 .6.4 1.3 1 1.5L49 40.1c.6.2 1-.2 1-.7v-3.3c0-1.6-.7-3.1-1.9-4z" + } + } + }, + new_custom21: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "path": { + "d": "M32.1 42.9c-.2-.6-.8-.9-1.4-.9h-9.3c-.6 0-1.2.3-1.4.9l-2.2 5.9c-.2.6.2 1.1.7 1.1h15c.6 0 1-.6.7-1.1l-2.1-5.9zM45.2 2H6.8C4.2 2 2 4.1 2 6.8v25.6c0 2.6 2.2 4.8 4.8 4.8h38.4c2.6 0 4.8-2.2 4.8-4.8V6.8C50 4.1 47.8 2 45.2 2zM26 35.6c-1.4 0-2.4-1-2.4-2.4s1-2.4 2.4-2.4 2.4 1 2.4 2.4-1 2.4-2.4 2.4zm19.2-8c0 .9-.7 1.6-1.6 1.6H8.4c-.9 0-1.6-.7-1.6-1.6V8.4c0-.9.7-1.6 1.6-1.6h35.2c.9 0 1.6.7 1.6 1.6v19.2z" + } + } + }, + new_custom22: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M48.1 37.1l-5-4c-1.7-1.4-4.1-1.4-5.8-.2l-4.7 3.4c-.6.5-1.5.4-2.1-.2l-7.8-7-7.1-7.8c-.6-.6-.6-1.4-.2-2.1l3.4-4.7c1.3-1.8 1.2-4.2-.2-5.8l-4-5C13 1.5 9.7 1.3 7.7 3.3L3.4 7.7C2.4 8.7 2 10 2 11.3 2.6 21.5 7.2 31.2 14 38s16.4 11.4 26.6 12c1.4.1 2.6-.5 3.6-1.4l4.3-4.3c2.1-2.1 1.9-5.4-.4-7.2z" + } + }, + new_custom23: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "path": [{ + "d": "M25 30.6c.6.6 1.5.6 2.2 0L49.8 10c.4-.8.3-2-1.3-2H3.7c-1.2 0-2.2 1.2-1.3 2.1L25 30.6z" + }, { + "d": "M50 18.8c0-1-1.3-1.6-2-.9L30.4 34c-1.2 1.1-2.7 1.7-4.3 1.7-1.6 0-3.1-.6-4.3-1.7L4.1 18c-.8-.7-2-.2-2 .9v20.4c0 2.6 2.2 4.7 4.8 4.7h38.4c2.6 0 4.8-2.1 4.8-4.7-.1 0-.1-14.2-.1-20.5z" + }] + } + }, + new_custom24: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "path": { + "d": "M40.3 2H11.7C9.1 2 7 4.2 7 6.7v.1c0 .9.7 1.6 1.6 1.6h34.8c.9 0 1.6-.7 1.6-1.6v-.1C45 4.2 42.9 2 40.3 2zM40.2 13.2H11.8c-.9 0-1.6.7-1.6 1.6v33.6c0 .9.7 1.6 1.6 1.6h8.8c.9 0 1.5-.7 1.5-1.6V42c0-.9.8-1.6 1.7-1.6h4.6c.9 0 1.7.7 1.7 1.6v6.4c0 .9.6 1.6 1.5 1.6h8.8c.9 0 1.6-.7 1.6-1.6V14.8c-.2-.9-.9-1.6-1.8-1.6zM23.6 34.8c0 .9-.7 1.6-1.6 1.6h-3.2c-.9 0-1.6-.7-1.6-1.6v-3.2c0-.9.7-1.6 1.6-1.6H22c.9 0 1.6.7 1.6 1.6v3.2zm0-11.2c0 .9-.7 1.6-1.6 1.6h-3.2c-.9 0-1.6-.7-1.6-1.6v-3.2c0-.9.7-1.6 1.6-1.6H22c.9 0 1.6.7 1.6 1.6v3.2zm11.1 11.2c0 .9-.7 1.6-1.6 1.6H30c-.9 0-1.6-.7-1.6-1.6v-3.2c0-.9.7-1.6 1.6-1.6h3.2c.9 0 1.6.7 1.6 1.6v3.2zm0-11.2c0 .9-.7 1.6-1.6 1.6H30c-.9 0-1.6-.7-1.6-1.6v-3.2c0-.9.7-1.6 1.6-1.6h3.2c.9 0 1.6.7 1.6 1.6v3.2z" + } + } + }, + new_custom25: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "path": [{ + "d": "M49.8 7.8c-.6-3-3-5.4-6.1-5.8-2.2-.3-4.2.4-5.7 1.6-.5.4-.4 1 .2 1.4 3.7 1.9 6.8 4.7 9.2 8.1.3.5 1 .5 1.4 0 1-1.5 1.4-3.3 1-5.3zM13.7 5c.5-.2.6-1 .2-1.4-1.5-1.3-3.5-1.9-5.7-1.6-3 .4-5.5 2.8-6.1 5.8-.3 1.9.1 3.8 1 5.2.3.5 1 .5 1.4 0 2.4-3.2 5.5-6 9.2-8zM26 6.8c-11.9 0-21.6 9.7-21.6 21.6 0 4.8 1.6 9.3 4.2 12.8l-3.3 3.3c-1.3 1.3-1.3 3.3 0 4.6.6.6 1.4 1 2.2 1s1.6-.3 2.2-1l3.3-3.3c3.7 2.6 8.2 4.2 13 4.2s9.3-1.6 12.8-4.2l3.3 3.3c.7.6 1.5 1 2.3 1s1.6-.3 2.2-1c1.3-1.3 1.3-3.3 0-4.6l-3.3-3.3c2.6-3.5 4.2-8 4.2-12.8.1-11.9-9.6-21.6-21.5-21.6zM10.8 28.4c0-8.4 6.8-15.2 15.2-15.2S41.2 20 41.2 28.4 34.4 43.6 26 43.6s-15.2-6.8-15.2-15.2z" + }, { + "d": "M28.4 27.4v-6.2c0-1.4-1-2.4-2.4-2.4s-2.4 1-2.4 2.4v7.2c0 .6.2 1.3.7 1.7l5.6 5.6c.5.5 1.1.7 1.7.7s1.2-.2 1.7-.7c1-1 1-2.5 0-3.4l-4.9-4.9z" + }] + } + }, + new_custom26: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "path": { + "d": "M6.8 2C4.2 2 2 4.2 2 6.8c0 1.4.6 2.7 1.6 3.6v36.4C3.6 48.6 5 50 6.8 50c1.8 0 3.2-1.4 3.2-3.2V10.4c1-.9 1.6-2.2 1.6-3.6C11.6 4.2 9.4 2 6.8 2zM48.8 10.6c-12.6 6.6-21.1-4.7-33-.4-.6.2-1 .8-1 1.5v20.6c0 1 1 1.8 2.1 1.5 11.4-3.4 19.9 7.3 32.3.5.5-.2.8-.8.8-1.4V11.4c0-.7-.6-1.1-1.2-.8z" + } + } + }, + new_custom27: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "path": { + "d": "M6.5 35.6h39c.8 0 1.5-.7 1.5-1.5V10.4C47 8 45 6 42.5 6h-33C7 6 5 8 5 10.4v23.7c0 .9.7 1.5 1.5 1.5zm3-23.7c0-.8.7-1.5 1.5-1.5h30c.8 0 1.5.7 1.5 1.5v17.8c0 .8-.7 1.5-1.5 1.5H11c-.8 0-1.5-.7-1.5-1.5V11.9zM48.5 40.1H32c-.8 0-1.5.7-1.5 1.5s-.7 1.5-1.5 1.5h-6c-.8 0-1.5-.7-1.5-1.5s-.7-1.5-1.5-1.5H3.5c-.8 0-1.5.7-1.5 1.5C2 44 4 46 6.5 46h39c2.5 0 4.5-2 4.5-4.4 0-.9-.7-1.5-1.5-1.5z" + } + } + }, + new_custom28: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M37.2 2H14.8C12.2 2 10 4.2 10 6.8v38.4c0 2.6 2.2 4.8 4.8 4.8h22.4c2.6 0 4.8-2.2 4.8-4.8V6.8C42 4.2 39.8 2 37.2 2zM26 48.4c-1.4 0-2.4-1-2.4-2.4s1-2.4 2.4-2.4 2.4 1 2.4 2.4-1 2.4-2.4 2.4zm11.2-8c0 .9-.7 1.6-1.6 1.6H16.4c-.9 0-1.6-.7-1.6-1.6V10c0-.9.7-1.6 1.6-1.6h19.2c.9 0 1.6.7 1.6 1.6v30.4z" + } + }, + new_custom29: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "path": { + "d": "M45.3 8.4h-1.5c-1 0-1.7.8-1.7 1.8V42c0 .1 0 .2.1.3l2 2.8c.2.2.4.2.6 0l2-2.8c.2-.1.2-.1.2-.3V10.2c0-1-.7-1.8-1.7-1.8zM32.5 2H9.8C7.2 2 5 4.2 5 6.8v38.4C5 47.8 7.2 50 9.8 50h22.6c2.7 0 4.8-2.2 4.8-4.8V6.8c.1-2.6-2.1-4.8-4.7-4.8zM21.2 48.4c-1.4 0-2.4-1-2.4-2.4s1-2.4 2.4-2.4 2.4 1 2.4 2.4-1.1 2.4-2.4 2.4zm11.3-8c0 .9-.7 1.6-1.6 1.6H11.5c-.9 0-1.6-.7-1.6-1.6V10c0-.9.7-1.6 1.6-1.6h19.4c.9 0 1.6.7 1.6 1.6v30.4z" + } + } + }, + new_custom3: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "path": [{ + "d": "M26 16.4c-5.3 0-9.6 4.3-9.6 9.6s4.3 9.6 9.6 9.6 9.6-4.3 9.6-9.6-4.3-9.6-9.6-9.6z" + }, { + "d": "M50 26c0-2.8-6.7-4.2-7.8-6.7-1-2.6 2.7-8.3.8-10.3s-7.7 1.8-10.2.7c-2.6-1-4-7.7-6.8-7.7s-4.2 6.7-6.7 7.8C16.7 10.8 11 7.1 9 9s1.8 7.7.7 10.2c-1 2.6-7.7 4-7.7 6.8s6.7 4.2 7.8 6.7c1 2.6-2.7 8.3-.8 10.3 1.9 1.9 7.7-1.8 10.2-.7 2.5 1 3.9 7.8 6.7 7.8s4.2-6.7 6.7-7.8c2.6-1 8.3 2.6 10.2.7 1.9-1.9-1.8-7.7-.7-10.2 1.2-2.6 7.9-4 7.9-6.8zM26 40.4c-7.9 0-14.4-6.5-14.4-14.4S18.1 11.6 26 11.6 40.4 18.1 40.4 26 33.9 40.4 26 40.4z" + }] + } + }, + new_custom30: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "path": [{ + "d": "M43.2 8.8C38.8 4.4 32.9 2 26.8 2c-1.4 0-2.4 1-2.4 2.4s1 2.4 2.4 2.4c4.9 0 9.5 1.9 13.1 5.4 3.4 3.5 5.4 8.2 5.4 13.1 0 1.4 1 2.4 2.4 2.4s2.4-1 2.4-2.4c-.1-6.2-2.5-12.1-6.9-16.5z" + }, { + "d": "M26.8 11.6c-1.4 0-2.4 1-2.4 2.4s1 2.4 2.4 2.4c2.3 0 4.6.9 6.3 2.6 1.7 1.7 2.6 3.8 2.6 6.3 0 1.4 1 2.4 2.4 2.4s2.4-1 2.4-2.4c0-3.6-1.4-7.1-4-9.6-2.7-2.6-6.1-4.1-9.7-4.1zM23.3 34.6l2.1-5.6c1.4.6 3 .2 4.2-.9 1.6-1.6 1.6-4.1 0-5.7-1.6-1.6-4.1-1.6-5.7 0-1.2 1.2-1.4 3-.8 4.5l-5.2 2.3-9.4-9.4c-.6-.6-1.8-.6-2.3.1-6 7.2-5.6 18 1.2 24.7 6.7 6.7 17.5 7.1 24.7 1.2.7-.6.7-1.7.1-2.3l-8.9-8.9z" + }] + } + }, + new_custom31: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M46.4 20.7l-3.9-12C41.8 6.5 39.6 5 37.2 5H14.8c-2.4 0-4.6 1.5-5.4 3.7l-3.8 12C3.5 21.3 2 23 2 25.2v9.3c0 2 1.4 3.7 3.2 4.4v6.5c0 .9.7 1.6 1.6 1.6h6.4c.9 0 1.6-.7 1.6-1.6v-6.2h22.4v6.2c0 .9.7 1.6 1.6 1.6h6.4c.9 0 1.6-.7 1.6-1.6V39c1.8-.6 3.2-2.3 3.2-4.4v-9.3c0-2.3-1.5-4-3.6-4.6zM10 33.8c-2.2 0-4-1.7-4-3.9S7.8 26 10 26s4 1.7 4 3.9-1.8 3.9-4 3.9zm17.6-13.2H11.8c-.6 0-1-.5-.8-1l3-9.3c.1-.3.4-.5.7-.5h22.4c.3 0 .6.2.7.5l3 9.4c.2.5-.2 1-.8 1H27.6zm13.6 13.2c-2.2 0-4-1.7-4-3.9s1.8-3.9 4-3.9 4 1.7 4 3.9-1.8 3.9-4 3.9z" + } + }, + new_custom32: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M48.8 14.2L30.1 24.9c-.4.2-.8.3-1.2.3-.9 0-1.8-.5-2.2-1.4-.6-1.1 0-2.6 1.1-3.2l6.2-3.5V11c0-.6-.6-1-1.2-.7L10 23.3c-.4.2-.8.3-1.2.3-.8 0-1.7-.4-2.1-1.2-.6-1.1-.2-2.6.9-3.3l3.9-2.2V3.6c.1-.9-.6-1.6-1.5-1.6H3.6C2.7 2 2 2.7 2 3.6v41.6C2 47.8 4.2 50 6.8 50H20.4c.9 0 1.6-.7 1.6-1.6v-5.6c0-.9.7-1.6 1.6-1.6h4.8c.9 0 1.6.7 1.6 1.6v5.6c0 .9.7 1.6 1.6 1.6h13.6c2.6 0 4.8-2.2 4.8-4.8V15c0-.7-.6-1.1-1.2-.8zM14 36.4c0 .9-.7 1.6-1.6 1.6h-1.6c-.9 0-1.6-.7-1.6-1.6v-4.8c0-.9.7-1.6 1.6-1.6h1.6c.9 0 1.6.7 1.6 1.6v4.8zm9.6 0c0 .9-.7 1.6-1.6 1.6h-1.6c-.9 0-1.6-.7-1.6-1.6v-4.8c0-.9.7-1.6 1.6-1.6H22c.9 0 1.6.7 1.6 1.6v4.8zm9.6 0c0 .9-.7 1.6-1.6 1.6H30c-.9 0-1.6-.7-1.6-1.6v-4.8c0-.9.7-1.6 1.6-1.6h1.6c.9 0 1.6.7 1.6 1.6v4.8zm9.6 0c0 .9-.7 1.6-1.6 1.6h-1.6c-.9 0-1.6-.7-1.6-1.6v-4.8c0-.9.7-1.6 1.6-1.6h1.6c.9 0 1.6.7 1.6 1.6v4.8z" + } + }, + new_custom33: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "path": [{ + "d": "M37.2 19.3H15.5c-.8 0-1.5.7-1.5 1.5v5.9c0 .8.7 1.5 1.5 1.5h21.8c.8 0 1.5-.7 1.5-1.5v-5.9c0-.8-.7-1.5-1.6-1.5zM26.8 26c-1.3 0-2.2-1-2.2-2.2 0-1.3 1-2.2 2.2-2.2s2.2 1 2.2 2.2c0 1.2-1 2.2-2.2 2.2z" + }, { + "d": "M48.5 9h-45C2.7 9 2 9.7 2 10.5V12c0 1.6 1.3 3 3 3v26.6c0 .7.7 1.4 1.5 1.4H8c.8 0 1.5-.7 1.5-1.5V14.9h33.8v26.6c0 .8.7 1.5 1.5 1.5h1.5c.8 0 1.5-.7 1.5-1.5V14.9H47c1.6 0 3-1.3 3-3v-1.5c0-.7-.7-1.4-1.5-1.4z" + }] + } + }, + new_custom34: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "path": [{ + "d": "M19.6 10h12.8c.9 0 1.6-.9 1.4-1.8C33 4.7 29.8 2 26 2s-7 2.7-7.8 6.2c-.2.9.5 1.8 1.4 1.8z" + }, { + "d": "M47.6 30.8c1.4 0 2.5-1.1 2.4-2.6-.1-1.2-1.2-2.2-2.6-2.2h-7v-4c4.6-1.8 7.9-6.8 8-12.7 0-1.2-.8-2.2-2-2.5-1.5-.2-2.8.9-2.8 2.4 0 3.4-1.6 6.4-3.9 7.8-.9-1.4-2.4-2.2-4.1-2.2H16.4c-1.7 0-3.2.9-4.1 2.2-2.3-1.4-3.9-4.3-3.9-7.7 0-1.3-1-2.5-2.2-2.6-1.4-.1-2.6 1-2.6 2.4 0 5.9 3.4 11 8 12.8v4h-7c-1.3 0-2.5 1-2.6 2.2-.1 1.4 1 2.6 2.4 2.6h7.2v4c-4.6 1.8-7.9 6.8-8 12.7 0 1.2.8 2.2 2 2.5 1.5.2 2.8-.9 2.8-2.4 0-3.4 1.5-6.3 3.8-7.8 1.4 4.5 4.9 8 9.3 9.4 1 .3 2.1-.5 2.1-1.5v-19c0-1.3 1-2.5 2.2-2.6 1.4-.1 2.6 1 2.6 2.4v19.3c0 1.1 1 1.8 2.1 1.5 4.4-1.4 7.9-5 9.3-9.4 2.2 1.4 3.8 4.3 3.8 7.6 0 1.3 1 2.5 2.2 2.6 1.4.1 2.6-1 2.6-2.4 0-5.9-3.4-11-8-12.8v-4h7.2z" + }] + } + }, + new_custom35: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "path": [{ + "d": "M41.5 18c-1.4 0-2.5 1-2.5 2.4v4c0 7-5.9 12.8-13.1 12.8s-13.1-5.8-13.1-12.8v-4c0-1.4-1.1-2.4-2.5-2.4S8 19 8 20.4v4c0 8.9 6.8 16.2 15.5 17.4v3.4h-4.1c-1.4 0-2.5 1-2.5 2.4S18 50 19.4 50h13.1c1.4 0 2.5-1 2.5-2.4s-1.1-2.4-2.5-2.4h-4.1v-3.4C37.2 40.6 44 33.3 44 24.4v-4c0-1.4-1.1-2.4-2.5-2.4z" + }, { + "d": "M26 32.4c4.5 0 8.2-3.6 8.2-8V9.9c0-4.4-3.6-7.9-8.1-7.9h-.2c-4.5 0-8.1 3.5-8.1 7.9v14.5c0 4.4 3.7 8 8.2 8z" + }] + } + }, + new_custom36: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "path": { + "d": "M17.2 43.6H14c-.5 0-1.1.3-1.3.8l-1.1 1.9c-.6 1.1-.4 2.6.6 3.3.4.3.9.4 1.3.4.8 0 1.6-.4 2-1.2l2.3-4c.4-.6 0-1.2-.6-1.2zM39.4 44.4c-.3-.5-.8-.8-1.3-.8h-3.2c-.6 0-1 .6-.7 1.2l2.3 4c.5.8 1.3 1.2 2 1.2.5 0 .9-.2 1.3-.4 1-.7 1.3-2.2.6-3.3l-1-1.9zM39.3 2H12.7C10.1 2 8 4.2 8 6.8V34c0 2.6 2.1 4.8 4.7 4.8h26.6c2.6 0 4.7-2.2 4.7-4.8V6.8C44 4.2 41.9 2 39.3 2zM15 35.6c-1.3 0-2.3-1-2.3-2.4s1-2.4 2.3-2.4 2.3 1 2.3 2.4-.9 2.4-2.3 2.4zm22 0c-1.3 0-2.3-1-2.3-2.4s1-2.4 2.3-2.4 2.3 1 2.3 2.4-1 2.4-2.3 2.4zm2.3-9.6c0 .9-.7 1.6-1.6 1.6H14.3c-.9 0-1.6-.7-1.6-1.6V10c0-.9.7-1.6 1.6-1.6h23.5c.9 0 1.6.7 1.6 1.6v16z" + } + } + }, + new_custom37: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M48.5 30.5h-9.7v-8.8c2 1.7 4.6 2.8 7.5 2.8 1.3 0 2.2-1 2.2-2.2s-1-2.2-2.2-2.2c-4.1 0-7.5-3.7-7.5-8.2V9.5c.8 0 1.5-.7 1.5-1.5V6.5c0-.8-.7-1.5-1.5-1.5h-4.5c-.8 0-1.5.7-1.5 1.5V8c0 .8.7 1.5 1.5 1.5v2.2c0 4.6-3.7 8.2-8.2 8.2s-8.2-3.7-8.2-8.2V9.5c.8 0 1.5-.7 1.5-1.5V6.5c0-.8-.7-1.5-1.5-1.5h-4.5c-.8 0-1.5.7-1.5 1.5V8c0 .8.7 1.5 1.5 1.5v2.2c0 4.6-3.4 8.2-7.5 8.2-1.3 0-2.2 1-2.2 2.2s1 2.2 2.2 2.2c2.8 0 5.5-1.1 7.5-2.8v8.8H3.5c-.8.2-1.5.9-1.5 1.7v3.6c0 .8.7 1.7 1.5 1.7h3v8.1c0 .8.7 1.6 1.5 1.6h4.5c.8 0 1.5-.8 1.5-1.6v-3c0-2.5 2-4.4 4.5-4.4h15c2.5 0 4.5 1.9 4.5 4.4v3c0 .8.7 1.6 1.5 1.6H44c.8 0 1.5-.8 1.5-1.6v-8.1h3c.8 0 1.5-.8 1.5-1.7V32c0-.8-.7-1.5-1.5-1.5zm-30.7-9.1c2.2 1.9 5.1 3.1 8.2 3.1s6-1.1 8.2-3.1v9.1H17.8v-9.1z" + } + }, + new_custom38: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "path": [{ + "d": "M26 22c-3.5 0-6.4 2.9-6.4 6.4s2.9 6.4 6.4 6.4 6.4-2.9 6.4-6.4S29.5 22 26 22z" + }, { + "d": "M45.2 14h-6.5c-.6 0-1.2-.3-1.4-1l-2.1-4.4C34.4 7 32.7 6 30.9 6h-9.8c-1.8 0-3.5 1-4.3 2.6L14.7 13c-.2.6-.8 1-1.4 1H6.8C4.2 14 2 16.2 2 18.8v22.4C2 43.8 4.2 46 6.8 46h38.4c2.6 0 4.8-2.2 4.8-4.8V18.8c0-2.6-2.2-4.8-4.8-4.8zM26 39.8c-6.2 0-11.2-5-11.2-11.2s5-11.2 11.2-11.2 11.2 5 11.2 11.2-5 11.2-11.2 11.2z" + }] + } + }, + new_custom39: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "path": { + "d": "M36.9 8.9c-.2-.6-.9-1-1.5-.9L3.1 18.4c-.8.2-1.2 1.1-1 1.9l1.3 5c.2.8 1 1.4 1.8 1.2l8.2-1.1c.2.9.6 1.8 1.2 2.5l-7 18.9c-.5 1.2.1 2.6 1.4 3 .2.1.6.2.8.2 1 0 1.9-.6 2.2-1.6l6.6-17.9c.6.2 1 .2 1.6.2s1.1-.1 1.6-.2l6.6 17.9c.3 1 1.3 1.6 2.2 1.6.2 0 .6-.1.8-.2 1.3-.5 1.9-1.8 1.4-3.1l-7-19c.9-1.2 1.4-2.7 1.4-4.3v-.1l11.3-1.6c.7-.1 1.2-.8 1-1.5L36.9 8.9zM49.9 20.2L45.5 3.8c-.3-1.3-1.7-2.1-3-1.8-1.3.3-2.1 1.7-1.8 3l4.4 16.3c.3 1.3 1.7 2.1 3 1.8 1.3-.3 2.1-1.7 1.8-2.9z" + } + } + }, + new_custom4: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M6.6 12.2l16.9-9.5c1.5-.9 3.5-.9 5.1 0l16.9 9.5c1.5.9 2.5 2.6 2.5 4.3v19c0 1.8-.9 3.4-2.5 4.3l-16.9 9.5c-1.5.9-3.5.9-5.1 0L6.6 39.8C5.1 38.9 4 37.3 4 35.5v-19c0-1.8 1.1-3.4 2.6-4.3z" + } + }, + new_custom40: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "path": [{ + "d": "M45.2 8H6.8C4.2 8 2 10.1 2 12.7v26.6C2 41.9 4.2 44 6.8 44h38.4c2.6 0 4.8-2.1 4.8-4.7V12.7c0-2.6-2.2-4.7-4.8-4.7zm0 4.7v4.7H6.8v-4.7h38.4zM6.8 39.3V25.2h38.4v14.1H6.8z" + }, { + "d": "M20.5 29.1c-1.1 0-2.1.5-2.6 1.4-.1.2-.3.2-.4 0-.6-.9-1.5-1.4-2.6-1.4-1.8 0-3.2 1.4-3.2 3.1 0 1.7 1.4 3.1 3.2 3.1 1.1 0 2.1-.5 2.6-1.4.1-.2.3-.2.4 0 .6.9 1.5 1.4 2.6 1.4h.1c1.7 0 3.1-1.3 3.1-3.1V32c-.1-1.5-1.5-2.9-3.2-2.9zM38.8 29.9h-9.6c-.9 0-1.6.7-1.6 1.6V33c0 .9.7 1.6 1.6 1.6h9.6c.9 0 1.6-.7 1.6-1.6v-1.6c0-.8-.7-1.5-1.6-1.5z" + }] + } + }, + new_custom41: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M45.5 11h-39C4 11 2 13 2 15.4v21.2C2 39 4 41 6.5 41h39c2.5 0 4.5-2 4.5-4.4V15.4c0-2.4-2-4.4-4.5-4.4zM11.8 36.6c0-2.9-2.3-5.1-5.2-5.1v-11c2.9 0 5.2-2.3 5.2-5.1h28.5c0 2.9 2.3 5.1 5.2 5.1v11c-2.9 0-5.2 2.3-5.2 5.1H11.8z" + }, + "ellipse": { + "cx": "26", + "cy": "25.6", + "rx": "7.5", + "ry": "7.3" + } + }, + new_custom42: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "path": { + "d": "M45.2 4H6.8C4.2 4 2 6.1 2 8.7v4.7c0 .9.7 1.6 1.6 1.6h44.8c.9 0 1.6-.7 1.6-1.6V8.7C50 6.1 47.8 4 45.2 4zM45.2 19.7H6.8c-.9 0-1.6.7-1.6 1.6v22c0 2.6 2.2 4.7 4.8 4.7h32c2.6 0 4.8-2.1 4.8-4.7v-22c0-.9-.7-1.6-1.6-1.6zm-10.4 7.1c0 1.3-1 2.4-2.4 2.4H19.6c-1.3 0-2.4-1-2.4-2.4 0-1.3 1-2.4 2.4-2.4h12.8c1.4 0 2.4 1 2.4 2.4z" + } + } + }, + new_custom43: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M49.8 21.2s.1 0 0 0c.1-.2.1-.3.1-.4v-.1-.5-.3-.1s-.1-.1-.1-.2 0-.1-.1-.1c0-.1-.1-.1-.1-.2s-.1-.1-.1-.1L40.8 6.9c-.4-.5-1-.9-1.7-.9H12.9c-.7 0-1.4.4-1.8.9L2.3 19.1c0 .1-.1.1-.1.1-.1.1-.1.1-.1.2s0 .1-.1.1c0 .1-.1.1-.1.2V20.7c0 .1.1.3.1.4v.1c.1.1.1.2.1.3 0 .1.1.1.1.1l.1.1 21.9 23.6.1.1.1.1.1.1s.1 0 .1.1c.1 0 .1.1.1.1s.1 0 .1.1c0 0 .1 0 .1.1 0 0 .1 0 .1.1H26.6s.1 0 .1-.1c0 0 .1 0 .1-.1 0 0 .1 0 .1-.1 0 0 .1 0 .1-.1.1 0 .1-.1.1-.1s.1 0 .1-.1l.1-.1.1-.1.1-.1 21.9-23.6.1-.1c0-.1.1-.1.1-.1.1 0 .2-.1.2-.2zm-23.8-3h-3.5l3.5-5.8 3.5 5.8H26zm0 4.3h4.4L26 36.6l-4.4-14.1H26zm3.8-12.2h5.5l-2 5.7-3.5-5.7zm-11 5.7l-2-5.7h5.5L18.8 16zm-1.7 6.5l4 13-12-13h8zm17.8 0h8l-12 13 4-13zm8.7-4.3H37l2.2-6.1 4.4 6.1zm-30.9-6.1l2.2 6.1H8.4l4.3-6.1z" + } + }, + new_custom44: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M40.7 9.1C36.6 3.8 33.2 2 26 2c-3.2 0-7.1 1.3-8.7 1.6 0-.9-.7-1.6-1.6-1.6h-3.2c-.9 0-1.6.7-1.6 1.6V10c0 .9.7 1.6 1.6 1.6h3.1c.9 0 1.6-.7 1.6-1.6H19c1.3 0 2.3 1 2.3 2.3v.1c0 1.4 1 2.4 2.4 2.4v12.8c-1.7 0-3.1 1.4-3.1 3.2v14.4c0 2.6 2.1 4.8 4.7 4.8h1.6c2.6 0 4.7-2.2 4.7-4.8V30.8c0-1.8-1.4-3.2-3.1-3.2V14.8c1.3 0 2.4-1.8 2.4-3.1v-.1c0-1.2.9-2.2 2.1-2.2 3.1-.2 4.9 1.1 5.7 1.8.5.4 1.3.5 1.7.1.7-.5.9-1.5.3-2.2z" + } + }, + new_custom45: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "path": [{ + "d": "M13.2 20.8h25.5v10.5H13.2z" + }, { + "d": "M50 19.5v-4c0-2.5-2-4.5-4.5-4.5h-39C4 11 2 13 2 15.5v4c0 .5.3 1.1.8 1.3 1.8 1.1 3 3 3 5.2s-1.2 4.1-3 5.2c-.5.2-.8.7-.8 1.2v4.1C2 39 4 41 6.5 41h39c2.5 0 4.5-2 4.5-4.5v-4c0-.5-.3-1.1-.8-1.3-1.8-1.1-3-3-3-5.2s1.2-4.1 3-5.2c.5-.3.8-.7.8-1.3zm-8.2 16.3H10.2c-.8 0-1.5-.7-1.5-1.5V17.8c0-.8.7-1.5 1.5-1.5h31.5c.8 0 1.5.7 1.5 1.5v16.5c0 .8-.6 1.5-1.4 1.5z" + }] + } + }, + new_custom46: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "path": [{ + "d": "M34.8 15.6H17.2c-.9 0-1.6.7-1.6 1.6v17.6c0 .9.7 1.6 1.6 1.6h17.6c.9 0 1.6-.7 1.6-1.6V17.2c0-.9-.7-1.6-1.6-1.6z" + }, { + "d": "M48.8 7.8c.7-.3 1.2-.8 1.2-1.6V3.6c0-.9-.7-1.6-1.6-1.6h-2.6c-.7 0-1.3.5-1.5 1.2-.5 1.6-2 2.8-3.8 2.8s-3.3-1.2-3.8-2.8C36.3 2.5 35.8 2 35 2h-3.7c-.7 0-1.3.5-1.5 1.2-.4 1.6-2 2.8-3.8 2.8-1.8 0-3.3-1.2-3.8-2.8-.3-.7-.8-1.2-1.6-1.2H17c-.7 0-1.3.5-1.5 1.2C15 4.8 13.4 6 11.6 6 9.8 6 8.3 4.8 7.8 3.2 7.5 2.5 7 2 6.2 2H3.6C2.7 2 2 2.7 2 3.6v2.6c0 .8.5 1.3 1.2 1.6 1.6.4 2.8 2 2.8 3.8s-1.2 3.3-2.8 3.8c-.7.3-1.2.8-1.2 1.6v3.7c0 .7.5 1.3 1.2 1.5 1.6.4 2.8 2 2.8 3.8s-1.2 3.3-2.8 3.8c-.7.3-1.2.8-1.2 1.6V35c0 .7.5 1.3 1.2 1.5C4.8 37 6 38.6 6 40.4c0 1.8-1.2 3.3-2.8 3.8-.7.3-1.2.8-1.2 1.6v2.6c0 .9.7 1.6 1.6 1.6h2.6c.7 0 1.3-.5 1.5-1.2.5-1.6 2-2.8 3.8-2.8 1.8 0 3.3 1.2 3.8 2.8.2.7.8 1.2 1.5 1.2h3.7c.7 0 1.3-.5 1.5-1.2.5-1.6 2-2.8 3.8-2.8s3.3 1.2 3.8 2.8c.2.7.8 1.2 1.5 1.2H35c.7 0 1.3-.5 1.5-1.2.5-1.6 2-2.8 3.8-2.8 1.8 0 3.3 1.2 3.8 2.8.2.7.8 1.2 1.5 1.2h2.6c.9 0 1.6-.7 1.6-1.6v-2.6c0-.7-.5-1.3-1.2-1.5-1.6-.5-2.8-2-2.8-3.8s1.2-3.3 2.8-3.8c.7-.2 1.2-.8 1.2-1.5v-3.7c0-.7-.5-1.3-1.2-1.5-1.6-.5-2.8-2-2.8-3.8 0-1.8 1.2-3.3 2.8-3.8.7-.2 1.2-.8 1.2-1.5V17c0-.7-.5-1.3-1.2-1.5-1.6-.5-2.8-2-2.8-3.8s1.4-3.4 3-3.9zm-7.6 28.6c0 2.6-2.2 4.8-4.8 4.8H15.6c-2.6 0-4.8-2.2-4.8-4.8V15.6c0-2.6 2.2-4.8 4.8-4.8h20.8c2.6 0 4.8 2.2 4.8 4.8v20.8z" + }] + } + }, + new_custom47: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "path": { + "d": "M36.6 43.6H8.9c-2.7 0-4.9 2.2-4.9 4.8v.1c0 .8.7 1.5 1.5 1.5h34.4c.8 0 1.5-.7 1.5-1.5v-.1c.1-2.6-2.1-4.8-4.8-4.8zM47.5 18.3l-13-11.8 2.1-3.1c.3-.5.1-1.1-.5-1.2-4-.8-6.4 1.9-6.4 1.9-25.1 0-21 27.1-19.8 33.4.2.7.8 1.3 1.6 1.3h22.1c.7 0 1.1-.8.7-1.3-4.5-5.4-6.8-11.4-8.3-15.2-.2-.6.4-1.4 1.1-1 5.9 3 8.4-.2 12.4 2.2 2 1.2 4.4.9 6-.7l2.2-2.2c.4-.6.4-1.6-.2-2.3zm-16.6-2.7c-1.4 0-2.4-1-2.4-2.4s1.1-2.4 2.4-2.4 2.4 1 2.4 2.4-1 2.4-2.4 2.4z" + } + } + }, + new_custom48: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "path": { + "d": "M48.4 5.2h-8V3.6c0-.9-.7-1.6-1.6-1.6H13.2c-.9 0-1.6.7-1.6 1.6v1.6h-8c-.9 0-1.6.7-1.6 1.6v10.4c0 4 3.2 7.2 7.2 7.2h3.7c2.2 5.1 7.1 8.7 13 8.8 6.1.1 11.2-3.6 13.4-8.8h3.5c4 0 7.2-3.2 7.2-7.2V6.8c0-.9-.7-1.6-1.6-1.6zM9.2 19.6c-1.4 0-2.4-1-2.4-2.4V10h4.8v8.5c0 .4 0 .7.1 1.1H9.2zm36-2.4c0 1.4-1 2.4-2.4 2.4h-2.5c0-.3.1-.7.1-1V10h4.8v7.2zM34 45.2h-.8c-2.6 0-4.8-2.2-4.8-4.8v-1.6c0-.5-.3-.8-.8-.8h-3.2c-.5 0-.8.3-.8.8v1.6c0 2.6-2.2 4.8-4.8 4.8H18c-.9 0-1.6.7-1.6 1.6v1.6c0 .9.7 1.6 1.6 1.6h16c.9 0 1.6-.7 1.6-1.6v-1.6c0-.9-.7-1.6-1.6-1.6z" + } + } + }, + new_custom49: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "path": [{ + "d": "M26 18.8c-4 0-7.2 3.2-7.2 7.2s3.2 7.2 7.2 7.2 7.2-3.2 7.2-7.2-3.2-7.2-7.2-7.2zM26 30c-2.2 0-4-1.8-4-4s1.8-4 4-4 4 1.8 4 4-1.8 4-4 4z" + }, { + "d": "M26 2C12.7 2 2 12.7 2 26s10.7 24 24 24 24-10.7 24-24S39.3 2 26 2zm0 42.3c0 1-.8 1.7-1.8 1.6-9.6-.8-17.3-8.5-18.2-18.2 0-.9.7-1.7 1.7-1.7h1.6c.8 0 1.5.6 1.6 1.4.7 7.2 6.5 13 13.7 13.7.8.1 1.4.8 1.4 1.6v1.6zm0-6.3c-6.6 0-12-5.4-12-12s5.4-12 12-12 12 5.4 12 12-5.4 12-12 12zm18.3-12h-1.6c-.8 0-1.5-.6-1.6-1.4-.7-7.2-6.5-13-13.7-13.7-.8-.1-1.4-.8-1.4-1.6V7.7c0-1 .8-1.7 1.8-1.6 9.7.8 17.4 8.6 18.2 18.2 0 .9-.7 1.7-1.7 1.7z" + }] + } + }, + new_custom5: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M49.1 5.8C40.9 2.7 31.4 2 23 4.7 15.6 7.1 8 12.6 6.9 20.8c-.2 1.7-.2 3.6.2 5.2.2.9.5 1.7.8 2.6.2.5.3.9.6 1.3-.3.5-.6 1-1 1.4-2.3 3.6-3.9 7.7-4.9 11.8-.4 1.7-1.4 4.3.5 5.5.7.5 1.8.5 2.5.1 1-.6 1.1-1.5 1.3-2.5.7-4.2 2.2-8.4 4.5-12 1.1-1.7 2.3-3.5 3.7-5.1 1.2-1.3 3-3.7 5-3 2 .7 1.9 3 .6 4.2s-2.5 2.5-2.5 4.4c0 1.4.6 2.9 1.8 3.8 1.6 1.3 4.8 1.6 6.7 1.4 4.2-.2 7.7-1.5 11.1-4 4.5-3.1 6.2-8.5 7.1-13.6.6-3.2 1-6.3 2.1-9.3.5-1.3 1.1-2.5 1.8-3.6.3-.6 1-1.2 1.1-1.8.3-.9-.2-1.6-.8-1.8z" + } + }, + new_custom50: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "path": { + "d": "M47.5 31.3c-1.8.9-3.9 1.4-6.1 1.4-2.6 0-5.1-.7-7.2-1.9-.2-.2-.6-.2-.8 0-2.1 1.3-4.6 1.9-7.2 1.9s-5.1-.7-7.2-1.9c-.2-.2-.6-.2-.8 0-2.1 1.3-4.6 1.9-7.2 1.9-2.2 0-4.3-.5-6.1-1.4-.6-.3-1.2.1-1.2.7v9.8c0 1.9 1.1 3.6 2.9 4.5 4 1.8 8.3 3.1 12.9 3.7 1 .2 1.8-.6 1.8-1.6v-6.1c0-2.7 2.2-4.8 4.7-4.8h.1c2.6 0 4.7 2.2 4.7 4.8v6.1c0 1 .9 1.7 1.8 1.6 4.5-.6 8.8-1.9 12.9-3.7 1.8-.8 2.9-2.5 2.9-4.5V32c.2-.6-.4-1-.9-.7zM10.9 27.8c2.9 0 5.4-1.2 7-3.2.3-.4.9-.4 1.2 0 1.6 1.9 4.2 3.2 7 3.2 2.9 0 5.4-1.2 7-3.2.3-.4.9-.4 1.2 0 1.6 1.9 4.2 3.2 7 3.2 4.5 0 8.3-3.2 8.7-7.1.1-.6-.2-1.1-.6-1.5L29 3c-1.8-1.4-4.3-1.4-5.9 0L2.6 19.2c-.4.3-.6.9-.6 1.5.6 4 4.4 7.1 8.9 7.1z" + } + } + }, + new_custom51: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "path": { + "d": "M18.5 6.5c2 1.4 3.9 4.6 4.7 7.1.2.6.6 1 1.2 1 .6.2 1 .2 1.6.2.9 0 1.6 0 2.3-.3 2-.7 3.8-1.6 5.3-3.1 2.4-2.5 3.3-6 2.4-8.9-2.9-.9-6.4-.1-8.8 2.4-.7.7-1.3 1.5-1.7 2.4-1.3-2-2.8-3.8-4.5-4.9-1.2-.7-2.7-.3-3.4.9-.6 1.1-.1 2.5.9 3.2zM42.7 18.2c-8.1-4.6-9.8 1.6-16.7 1.6s-8.6-6.2-16.7-1.6C1.5 22.7 3.8 37.4 6.9 43c2.8 4.9 7.9 9.9 18.4 5.1.4-.2.9-.2 1.3 0 10.5 4.8 15.7-.3 18.4-5.1 3.2-5.6 5.5-20.3-2.3-24.8z" + } + } + }, + new_custom52: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "path": { + "d": "M49.9 14.1c.2-2.6 0-5.1-.4-7.6-.3-2.1-1.9-3.7-4-4-2.6-.4-5-.6-7.6-.4-.7 0-1 .9-.6 1.4l11.2 11.2c.6.4 1.4 0 1.4-.6zM31 3.8c-.4-.4-1-.6-1.5-.4-6 1.7-11.8 4.9-16.5 9.7-4.6 4.6-7.8 10.2-9.5 16-.2.6 0 1.2.4 1.6l17.4 17.4c.4.4 1 .6 1.6.4 5.8-1.8 11.4-4.9 16-9.5 4.7-4.7 8-10.4 9.7-16.5.2-.6 0-1.1-.4-1.5L31 3.8zm-6.7 31.4c-1 1-2.5 1-3.4 0l-4.5-4.5c-1-1-1-2.5 0-3.4 1-1 2.5-1 3.4 0l4.5 4.5c1 1 1 2.5 0 3.4zm5.6-5.6c-1 1-2.5 1-3.4 0L22 25.1c-1-1-1-2.5 0-3.4 1-1 2.5-1 3.4 0l4.5 4.5c1 1 1 2.5 0 3.4zm5.6-5.6c-1 1-2.5 1-3.4 0l-4.5-4.5c-1-1-1-2.5 0-3.4 1-1 2.5-1 3.4 0l4.5 4.5c1 1 1 2.5 0 3.4zM2.1 37.4c-.2 2.7-.1 5.4.4 8.2.3 2.1 1.9 3.7 4 4 2.7.4 5.4.6 8.2.4.7-.1 1-.9.6-1.4L3.4 36.8c-.4-.4-1.3-.1-1.3.6z" + } + } + }, + new_custom53: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "path": { + "d": "M45.4 31.6h-.5c-1.8 0-3.2-1.4-3.2-3.3V17.7c0-9.3-8.2-16.7-17.5-15.6-8 .9-13.9 8-13.9 16.3v9.5c0 2-1.7 3.7-3.6 3.7h-.1c-1.4 0-2.6 1.2-2.6 2.6v1.9c0 1.4 1.2 2.6 2.6 2.6h38.8c1.4 0 2.6-1.2 2.6-2.6v-1.9c0-1.4-1.2-2.6-2.6-2.6zM31.2 43.6H20.8c-.6 0-1.2.5-1 1.1.6 3 3.1 5.3 6.3 5.3s5.7-2.2 6.3-5.3c0-.6-.5-1.1-1.2-1.1z" + } + } + }, + new_custom54: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "path": { + "d": "M7.8 26.9c5.2-.9 9.8-3 14.7-5.3 1.6-.7 4.6-2.1 6-2.7.5-.2.8-.7.6-1.3-.4-2.3-2.3-4.2-4.7-4.2h-1.6v-3c0-.9-.8-1.6-1.6-1.6V5.6c0-.9-.7-1.6-1.6-1.6h-3.2c-.9 0-1.6.7-1.6 1.6v3.2c-.8 0-1.6.7-1.6 1.6v3h-1.6c-2.6 0-4.8 2.4-4.8 5.1V26c0 .6.5 1 1 .9zM43.6 42.7s5.8-9 6.4-21.6c0-.9-.7-1.7-1.7-1.7-19 .7-27.9 12.2-44.8 12.9-.9 0-1.5.8-1.5 1.6v6c0 2.6 2 4.6 4.5 4.8 8.4.5 26.4 1.7 36.7 3.4 1 .2 2-.8 1.8-1.8-.2-1.3-.6-2.7-1.4-3.6zm-.8-14.3c-1.4 0-2.4-1-2.4-2.4s1-2.4 2.4-2.4 2.4 1 2.4 2.4-1 2.4-2.4 2.4z" + } + } + }, + new_custom55: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "path": [{ + "d": "M12.5 33.3h9.8c.8 0 1.5-.7 1.5-1.5V9.9c0-1.6-1.5-2.9-3-2.9h-8c-1 0-1.7.7-1.7 1.7v23.2c-.1.7.6 1.4 1.4 1.4z" + }, { + "d": "M45.5 11.4v23.4c0 1.6-1.4 2.9-3 2.9h-33c-1.7 0-3-1.3-3-2.9V11.4c-2.5 0-4.5 2-4.5 4.4v21.9c0 2.4 2 4.4 4.5 4.4h14.2c.8 0 1.5.7 1.5 1.5s.7 1.5 1.5 1.5h4.5c.8 0 1.5-.7 1.5-1.5s.7-1.5 1.5-1.5h14.2c2.5 0 4.5-2 4.5-4.4V15.8c.1-2.4-1.9-4.4-4.4-4.4z" + }, { + "d": "M29.8 33.3h9.5c1 0 1.7-.7 1.7-1.7V8.5c0-.8-.7-1.5-1.5-1.5h-8.2c-1.5 0-3 1.3-3 2.9v21.9c-.1.8.6 1.5 1.5 1.5z" + }] + } + }, + new_custom56: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "path": { + "d": "M36.2 10.3c-5 5-11.1-1.1-16.7 4.5l-16.1 16c-1.8 1.8-1.8 4.8 0 6.6L9 43l5.6 5.6c1.8 1.8 4.8 1.8 6.6 0l16.2-16.1c5.6-5.6-.6-11.7 4.5-16.7l1.3-1.3c.3-.3.3-.8 0-1.1L38.7 9c-.3-.3-.8-.3-1.1 0l-1.4 1.3zm-3.9 20.5l-5.6 5.6c-.6.6-1.6.6-2.2 0L20 31.9l-4.5-4.5c-.6-.6-.6-1.6 0-2.2l5.6-5.6c.6-.6 1.6-.6 2.2 0l4.5 4.5 4.5 4.5c.7.6.7 1.6 0 2.2zM49.5 5.8l-1.7-1.7-1.7-1.7c-.6-.6-1.6-.6-2.2 0l-2.1 2.1c-.3.3-.3.8 0 1.1l4.4 4.4c.3.3.8.3 1.1 0l2.1-2c.8-.5.8-1.5.1-2.2z" + } + } + }, + new_custom57: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "path": { + "d": "M28.4 29v20.2c0 .7.7 1 1.2.7 3.9-2.2 15.8-9.1 15.8-9.1 1.5-.9 2.5-2.6 2.5-4.4V18.3c0-.7-.7-1-1.2-.7l-17.5 10c-.4.3-.8.8-.8 1.4zM26.8 23.3l17.6-10c.6-.3.6-1.1 0-1.4-3.9-2.2-15.9-9.2-15.9-9.2-1.5-.9-3.5-.9-5.1 0 0 0-12 6.9-15.9 9.2-.5.3-.5 1.1.1 1.4l17.6 10c.5.3 1.1.3 1.6 0zM22.7 27.5l-17.5-10c-.5-.3-1.2.1-1.2.8v18.1c0 1.8 1 3.5 2.5 4.4 0 0 11.9 6.9 15.8 9.1.6.3 1.2-.1 1.2-.7V29c.1-.6-.3-1.1-.8-1.5z" + } + } + }, + new_custom58: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M39.5 22.8c-1.4 0-2.5-1.1-2.4-2.6.1-1.3 1.2-2.2 2.6-2.2h6.9c.3 0 .6-.2.7-.4.6-1.1 1.1-2.2 1.5-3.3.2-.6-.2-1.1-.7-1.1H43c-1.3 0-2.5-1-2.6-2.2-.1-1.4 1-2.6 2.4-2.6h6.4c.5 0 .8-.3.8-.8V5.2c0-.9-.7-1.6-1.6-1.6h-8.5c-2.4 0-4.3 1.9-4.3 4.3V8c0 4.5-3 8.5-7.2 9.6V11c1.7-1 2.7-2.8 2.4-4.9-.3-2.1-2.1-3.8-4.2-4-2.9-.3-5.4 1.9-5.4 4.8 0 1.8 1 3.3 2.4 4.2v6.7c-4.2-1.1-7.2-5.1-7.2-9.6V8c0-2.4-1.9-4.3-4.3-4.3H3.6c-.9 0-1.6.7-1.6 1.6v2.4c0 .5.3.8.8.8H9c1.3 0 2.5 1 2.6 2.2.1 1.4-1 2.6-2.4 2.6H4c-.6 0-1 .6-.7 1.1.4 1 .9 2.2 1.5 3.3.2.2.4.4.7.4h6.9c1.3 0 2.5 1 2.6 2.2.1 1.4-1 2.6-2.4 2.6h-1.9c-.7 0-1.1 1-.5 1.4 3.4 2.9 7.8 4.9 13.6 4.9v18.2c0 1.3 1 2.5 2.2 2.6 1.4.1 2.6-1 2.6-2.4V29.2c5.8 0 10.2-2.1 13.6-4.9.6-.5.2-1.4-.5-1.4h-2.2z" + } + }, + new_custom59: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "path": { + "d": "M39.7 10.8c.8 0 1.3-.6 1.3-1.4 0-.6-.3-1.1-.9-1.4-1-.6-2.6-3.3-3.2-5-.2-.6-.8-1-1.4-1H16.3c-.6 0-1.3.4-1.4 1-.5 1.6-2.1 4.4-3.1 5-.5.3-.8.8-.8 1.4 0 .8.6 1.4 1.3 1.4h27.4zM11 45.1c0 2.7 2.1 4.9 4.7 4.9h20.5c2.6 0 4.7-2.2 4.7-4.8v-.1c0-.9-.7-1.5-1.5-1.5h-27c-.7 0-1.4.7-1.4 1.5zM41 37.2v-20c0-.9-.7-1.6-1.6-1.6H12.6c-.9 0-1.6.7-1.6 1.6v20c0 .9.7 1.6 1.6 1.6h26.8c.9 0 1.6-.7 1.6-1.6z" + } + } + }, + new_custom6: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M26 47H5.2c-2.5 0-4-2.7-2.7-4.9L23.2 6.6c1.2-2.1 4.2-2.1 5.5 0l20.8 35.6c1.3 2.2-.3 4.9-2.7 4.9H26z" + } + }, + new_custom60: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "path": { + "d": "M50 22.2C48.1 10.8 38.1 2 26 2S3.9 10.8 2 22.2c-.1.8.7 1.3 1.3.8 1.2-1 2.7-1.6 4.5-1.6 2.2 0 4.2 1 5.4 2.6.3.4 1 .4 1.3 0 1.3-1.6 3.2-2.6 5.4-2.6s4.2 1 5.4 2.6c.3.4 1 .4 1.3 0 1.3-1.6 3.2-2.6 5.4-2.6s4.2 1 5.4 2.6c.3.4 1 .4 1.3 0 1.3-1.6 3.2-2.6 5.4-2.6 1.7 0 3.3.6 4.5 1.6.7.5 1.5 0 1.4-.8zM35.6 40.4c-1.4 0-2.4 1-2.4 2.4s-1 2.4-2.4 2.4-2.4-1-2.4-2.4V31.6c0-1.4-1-2.4-2.4-2.4s-2.4 1-2.4 2.4v11.2c0 4 3.2 7.2 7.2 7.2s7.2-3.2 7.2-7.2c0-1.4-1-2.4-2.4-2.4z" + } + } + }, + new_custom61: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "path": { + "d": "M44.4 2h-3.2c-.9 0-1.6.7-1.6 1.6v3.2c0 .9-.7 1.6-1.6 1.6h-1.6c-.9 0-1.6-.7-1.6-1.6V3.6c0-.9-.6-1.6-1.6-1.6H30c-.9 0-1.6.7-1.6 1.6v3.2c0 .9-.7 1.6-1.6 1.6h-1.6c-.9 0-1.6-.7-1.6-1.6V3.6c0-.9-.7-1.6-1.6-1.6h-3.2c-.9 0-1.6.7-1.6 1.6v3.2c0 .9-.7 1.6-1.6 1.6H14c-.9 0-1.6-.7-1.6-1.6V3.6c0-.9-.7-1.6-1.6-1.6H7.6C6.7 2 6 2.7 6 3.6v8c0 2.6 2.2 4.8 4.8 4.8h30.4c2.6 0 4.8-2.2 4.8-4.8v-8c0-.9-.7-1.6-1.6-1.6zM40.8 22.5c-.1-.8-.8-1.4-1.6-1.4H12.8c-.8 0-1.5.6-1.6 1.4L7.6 48.1c-.2 1 .6 1.8 1.6 1.8h10.3c.9 0 1.7-.7 1.7-1.6v-7.7c0-2.6 2-5 4.6-5 2.7-.1 5 2.1 5 4.8v8c0 .9.8 1.6 1.7 1.6h10.3c1 0 1.8-.9 1.6-1.8l-3.6-25.7z" + } + } + }, + new_custom62: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "path": { + "d": "M47.6 41.2H4.4c-1.3 0-2.4 1-2.4 2.4C2 44.9 3 46 4.4 46h43.2c1.3 0 2.4-1 2.4-2.4s-1-2.4-2.4-2.4zM5.2 36.4h27.2v-3.2c0-.9.7-1.6 1.6-1.6h8c.9 0 1.6.7 1.6 1.6v3.2h3.2c.9 0 1.6-.7 1.6-1.6V7.6c0-.9-.7-1.6-1.6-1.6H5.2c-.9 0-1.6.7-1.6 1.6v27.2c0 .9.7 1.6 1.6 1.6zm7.2-20.8c0-.9.7-1.6 1.6-1.6h23.2c.9 0 1.6.7 1.6 1.6v1.6c0 .9-.7 1.6-1.6 1.6H14c-.9 0-1.6-.7-1.6-1.6v-1.6zm0 9.6c0-.9.7-1.6 1.6-1.6h15.2c.9 0 1.6.7 1.6 1.6v1.6c0 .9-.7 1.6-1.6 1.6H14c-.9 0-1.6-.7-1.6-1.6v-1.6z" + } + } + }, + new_custom63: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "path": [{ + "d": "M19.6 34h12.8c.9 0 1.6-.7 1.6-1.6V19.6c0-.9-.7-1.6-1.6-1.6H19.6c-.9 0-1.6.7-1.6 1.6v12.8c0 .9.7 1.6 1.6 1.6z" + }, { + "d": "M47.6 28.4c1.4 0 2.4-1 2.4-2.4s-1-2.4-2.4-2.4h-4v-4.8h4c1.4 0 2.4-1 2.4-2.4S49 14 47.6 14h-4v-.8c0-2.6-2.2-4.8-4.8-4.8H38v-4C38 3 37 2 35.6 2s-2.4 1-2.4 2.4v4h-4.8v-4C28.4 3 27.4 2 26 2s-2.4 1-2.4 2.4v4h-4.8v-4c0-1.4-1-2.4-2.4-2.4S14 3 14 4.4v4h-.8c-2.6 0-4.8 2.2-4.8 4.8v.8h-4C3 14 2 15 2 16.4s1 2.4 2.4 2.4h4v4.8h-4C3 23.6 2 24.6 2 26s1 2.4 2.4 2.4h4v4.8h-4c-1.4 0-2.4 1-2.4 2.4S3 38 4.4 38h4v.8c0 2.6 2.2 4.8 4.8 4.8h.8v4c0 1.4 1 2.4 2.4 2.4s2.4-1 2.4-2.4v-4h4.8v4c0 1.4 1 2.4 2.4 2.4s2.4-1 2.4-2.4v-4h4.8v4c0 1.4 1 2.4 2.4 2.4s2.4-1 2.4-2.4v-4h.8c2.6 0 4.8-2.2 4.8-4.8V38h4c1.4 0 2.4-1 2.4-2.4s-1-2.4-2.4-2.4h-4v-4.8h4zm-8.8 8c0 1.4-1 2.4-2.4 2.4H15.6c-1.4 0-2.4-1-2.4-2.4V15.6c0-1.4 1-2.4 2.4-2.4h20.8c1.4 0 2.4 1 2.4 2.4v20.8z" + }] + } + }, + new_custom64: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "path": [{ + "d": "M26 2C12.8 2 2 12.8 2 26s10.8 24 24 24 24-10.8 24-24S39.2 2 26 2zm0 41.6c-9.7 0-17.6-7.9-17.6-17.6S16.3 8.4 26 8.4 43.6 16.3 43.6 26 35.7 43.6 26 43.6z" + }, { + "d": "M35.3 15.7L22 20.5c-.7.2-1.3.8-1.5 1.5l-4.8 13.3c-.2.6.4 1.3 1 1L30 31.5c.7-.2 1.3-.8 1.5-1.5l4.8-13.3c.3-.6-.4-1.3-1-1zM26 29.2c-1.8 0-3.2-1.4-3.2-3.2s1.4-3.2 3.2-3.2 3.2 1.4 3.2 3.2-1.4 3.2-3.2 3.2z" + }] + } + }, + new_custom65: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "path": { + "d": "M42.4 38.7H3.5c-.8 0-1.5.7-1.5 1.5v.1C2 42.9 4.1 45 6.7 45h32.6c2.6 0 4.7-2.1 4.7-4.8v-.1c-.1-.7-.8-1.4-1.6-1.4zM40.8 7H3.6c-.7 0-1.4.7-1.4 1.6-.2 2.1-.2 5.9.1 8.2 1 7.4 4.9 13.6 10.2 16.9.2.2.5.2.8.2h16.2c.3 0 .5-.1.8-.2 3-1.9 5.7-4.8 7.4-8.2.9.3 1.9.5 3 .5 5.1 0 9.3-4.3 9.3-9.5S45.9 7 40.8 7zm0 14.2c-.4 0-.8-.1-1.2-.2.8-2.5 1.2-5.2 1.2-8.1v-1.3c2.6 0 4.7 2.1 4.7 4.8s-2.2 4.8-4.7 4.8z" + } + } + }, + new_custom66: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "path": { + "d": "M48.6 30.3L37 18.6c-1.8-1.8-4.8-1.8-6.6 0L18.6 30.3c-1.8 1.8-1.8 4.8 0 6.6l11.7 11.7c1.8 1.8 4.8 1.8 6.6 0l11.7-11.7c1.9-1.7 1.9-4.8 0-6.6zm-22 5.3c-1.1 1.1-2.9 1.1-3.9 0-1.1-1.1-1.1-2.9 0-3.9 1.1-1.1 2.9-1.1 3.9 0s1 2.8 0 3.9zm9 9.1c-1.1 1.1-2.9 1.1-3.9 0-1.1-1.1-1.1-2.9 0-3.9 1.1-1.1 2.9-1.1 3.9 0 1 1 1 2.8 0 3.9zm0-18.1c-1.1 1.1-2.9 1.1-3.9 0-1.1-1.1-1.1-2.9 0-3.9 1.1-1.1 2.9-1.1 3.9 0 1 1 1 2.8 0 3.9zm9 9c-1.1 1.1-2.9 1.1-3.9 0-1.1-1.1-1.1-2.9 0-3.9 1.1-1.1 2.9-1.1 3.9 0 1.2 1.1 1.2 2.8 0 3.9zM28.4 12.8v-6c0-2.6-2.2-4.8-4.8-4.8H6.8C4.2 2 2 4.2 2 6.8v16.8c0 2.6 2.2 4.8 4.8 4.8h6c.5 0 1-.2 1.3-.6.2-.3.6-.6.9-1L26.8 15c.3-.3.6-.6 1-.9.4-.3.6-.8.6-1.3zM8.8 24.4c-1.5 0-2.8-1.3-2.8-2.8s1.3-2.8 2.8-2.8 2.8 1.3 2.8 2.8-1.3 2.8-2.8 2.8zm6.4-6.4c-1.5 0-2.8-1.3-2.8-2.8s1.3-2.8 2.8-2.8 2.8 1.3 2.8 2.8-1.3 2.8-2.8 2.8zm6.4-6.4c-1.5 0-2.8-1.3-2.8-2.8S20.1 6 21.6 6c1.5 0 2.8 1.3 2.8 2.8s-1.3 2.8-2.8 2.8z" + } + } + }, + new_custom67: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "path": { + "d": "M29.2 28.4l-1-1.7c-.4-.6-1-1-1.8-1-.2 0-.5.1-.7.2l-2.8 1c-1.1-1-2.3-1.6-3.7-2.1l-.5-2.9c-.2-1-1-1.5-2-1.5h-2c-1 0-1.8.6-2 1.6l-.5 2.8c-1.3.5-2.5 1.2-3.7 2.2l-2.8-1c-.2-.1-.5-.2-.7-.2-.7 0-1.4.4-1.8 1l-1 1.7c-.5.9-.3 1.9.5 2.6L5.1 33c-.2.7-.2 1.4-.2 2.1 0 .6.1 1.4.2 2.2l-2.3 1.9c-.8.6-1 1.8-.5 2.6l1 1.7c.4.6 1 1 1.8 1 .2 0 .5-.1.7-.2l2.8-1c1.1 1 2.3 1.7 3.7 2.1l.5 3c.2 1 1 1.7 2 1.7h2c1 0 1.8-.7 2-1.7l.5-3c1.4-.5 2.7-1.3 3.9-2.2l2.6 1c.2.1.5.2.7.2.7 0 1.4-.4 1.8-1l1-1.6c.5-.9.3-2-.5-2.6l-2.3-1.9c.2-.7.2-1.4.2-2.1 0-.7-.1-1.4-.2-2.2l2.3-1.9c.6-.8.8-1.9.4-2.7zM15.7 40.6c-3 0-5.5-2.4-5.5-5.5s2.4-5.5 5.5-5.5c3 0 5.5 2.4 5.5 5.5s-2.6 5.5-5.5 5.5zM49.4 17.1l-1.8-1.5c.1-.6.2-1.1.2-1.7 0-.6-.1-1.2-.2-1.7l1.8-1.5c.6-.5.8-1.4.4-2.1L49 7.2c-.3-.5-.9-.8-1.4-.8-.2 0-.4.1-.6.1l-2.3.9c-.9-.8-1.9-1.4-3-1.7l-.4-2.4c-.2-.8-.8-1.3-1.6-1.3h-1.6c-.8 0-1.5.5-1.6 1.3l-.4 2.3c-1.1.4-2.1 1-3 1.8l-2.3-1c-.2-.1-.4-.1-.6-.1-.6 0-1.1.3-1.4.8L28 8.4c-.4.7-.2 1.6.4 2.1l1.8 1.5c-.1.6-.2 1.1-.2 1.7 0 .6.1 1.2.2 1.7l-1.8 1.5c-.6.5-.8 1.4-.4 2.1l.8 1.4c.3.5.9.8 1.4.8.2 0 .4 0 .6-.1l2.3-.9c.9.8 1.9 1.4 3 1.7l.4 2.3c.2.8.8 1.4 1.6 1.4h1.6c.8 0 1.5-.6 1.6-1.4l.4-2.4c1.1-.4 2.2-1 3.1-1.8l2.2.9c.2.1.4.1.6.1.6 0 1.1-.3 1.4-.8l.8-1.3c.4-.4.2-1.2-.4-1.8zm-10.5 1.3c-2.4 0-4.4-2-4.4-4.4s2-4.4 4.4-4.4 4.4 2 4.4 4.4-1.9 4.4-4.4 4.4z" + } + } + }, + new_custom68: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M26 2C12.8 2 2 12.8 2 26s10.8 24 24 24 24-10.8 24-24S39.2 2 26 2zm19 21.6h-6.3c-.2-5.7-1.5-10.6-3.4-14.4 5.3 3 8.9 8.2 9.7 14.4zM23.6 7.8v15.8h-5.5c.4-7.5 2.8-13.4 5.5-15.8zm0 20.6v15.8c-2.7-2.3-5.1-8.2-5.5-15.8h5.5zm4.8 15.8V28.4h5.5c-.4 7.5-2.8 13.4-5.5 15.8zm0-20.6V7.8c2.7 2.3 5.1 8.2 5.5 15.8h-5.5zM16.7 9.2c-1.9 3.8-3.1 8.7-3.4 14.4H7c.8-6.2 4.4-11.4 9.7-14.4zM7 28.4h6.3c.2 5.7 1.5 10.6 3.4 14.4-5.3-3-8.9-8.2-9.7-14.4zm28.3 14.4c1.9-3.8 3.1-8.7 3.4-14.4H45c-.8 6.2-4.4 11.4-9.7 14.4z" + } + }, + new_custom69: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "path": { + "d": "M28.1 22.1c-4.6-3.4-9.2-1.8-12.2 1.1-1.1 1-2.9 1.7-4.8 2.2-2.2.7-4.6 1.4-6.2 3.1-4.6 4.5-3.7 9.8 2.5 16l.1.1.1.1c3.7 3.6 7 5.4 10.1 5.4 2.2 0 4.2-.9 6.2-2.7 1.7-1.6 2.5-3.9 3.2-6.1.6-1.8 1.3-3.7 2.3-4.7 1.8-1.8 2.9-3.8 3.1-5.9.2-1.5-.2-3.7-1.9-5.9 0-.2-1-1.5-2.5-2.7zm-9.9 19.3c-.4.4-1 .6-1.6.6-.6 0-1.1-.2-1.5-.6L10.6 37c-.9-.9-.9-2.2 0-3.1.9-.9 2.2-.9 3.1 0l4.4 4.4c.9.9.9 2.2.1 3.1zm3.8-6.5c-2.2 0-4-1.8-4-4s1.8-4 4-4 4 1.8 4 4-1.8 4-4 4zM49.5 6.2l-3.7-3.7c-.6-.6-1.8-.6-2.5 0l-4.1 4.1c-.6.6-.6 1.8 0 2.5l.2.2-8.2 8.3c-.3.3-.3.9 0 1.2.6.6 1.7 1.5 2.3 2.2.3.3.8.3 1.1 0l8.2-8.2.2.2c.6.6 1.8.6 2.5 0l4.1-4.1c.6-.9.6-2-.1-2.7z" + } + } + }, + new_custom7: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M7.1 50C4.3 50 2 47.7 2 44.9V7.1C2 4.3 4.3 2 7.1 2h37.7C47.7 2 50 4.3 50 7.1v37.7c0 2.8-2.3 5.1-5.1 5.1H7.1z" + } + }, + new_custom70: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "path": { + "d": "M24.4 37l-9.2-9.1c-1.9-1.8-5-1.8-6.9 0l-5.8 5.7c-.6.6-.6 1.7 0 2.2L3.6 37l1.1 1.1 9.3 9.1.6.6 1.8 1.7c.6.6 1.7.6 2.3 0l5.8-5.7c1.8-1.8 1.8-4.9-.1-6.8zm-15-3.4l1.2-1.1c.6-.6 1.6-.6 2.2 0l7 6.8c.6.6.6 1.7 0 2.2l-1.2 1.1c-.6.6-1.6.6-2.2 0l-7-6.8c-.7-.6-.7-1.6 0-2.2zM19.4 25.3l7.5 7.3c.2.2.3.2.6.2l3.4-.1c.4 0 .7-.3.7-.7l.1-3c0-.4.3-.7.7-.7l3-.1c.4 0 .7-.3.7-.7l.1-3c0-.4.3-.7.7-.7l3-.1c.4 0 .7-.3.7-.7l.1-3c0-.4.3-.7.7-.7l3-.1c.4 0 .7-.3.7-.7l.1-3c0-.4.3-.6.6-.7l3.3-.5c.6-.1.9-.7.6-1.2L42.8 2.7c-.6-.8-1.7-.9-2.4-.2L19.3 23.3c-.5.5-.5 1.4.1 2z" + } + } + }, + new_custom71: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M43 10.9C38.3 6.3 32 3.8 25.3 4 12.5 4.4 2 15.2 2 28v7.4c0 2.6 2.2 4.7 4.8 4.7H10v3.8c0 2 1.5 3.8 3.6 4.1 2.4.2 4.4-1.6 4.4-3.9v-14c0-2-1.5-3.8-3.6-4.1-2.4-.2-4.4 1.6-4.4 3.9v5.5H8.4c-.9 0-1.6-.7-1.6-1.6V28c0-10.4 8.4-19 18.6-19.3 5.3-.2 10.2 1.7 13.9 5.3 3.8 3.6 5.8 8.4 5.8 13.5v6.3c0 .9-.7 1.6-1.6 1.6H42v-5.3c0-2-1.5-3.8-3.6-4.1-2.4-.2-4.4 1.6-4.4 3.9v14c0 2 1.5 3.8 3.6 4.1 2.4.2 4.4-1.6 4.4-3.9v-3.9h3.2c2.6 0 4.8-2.1 4.8-4.7V28c0-6.3-2.4-12.5-7-17.1z" + } + }, + new_custom72: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "path": { + "d": "M47.6 2H4.4C3 2 2 3 2 4.4s1 2.4 2.4 2.4h19.2v5C15 12.9 8.4 20.2 8.4 29.1v5.5c0 5.8 4.6 10.6 10.6 10.6h14.2c5.8 0 10.5-4.7 10.5-10.6V29c0-8.9-6.6-16.2-15.2-17.4V6.8h19.2c1.4 0 2.4-1 2.4-2.4S49 2 47.6 2zM37.2 29c0 .1 0 0 0 0 0 2.3-1.8 4.2-4.2 4.2H19c-2.3 0-4.1-1.8-4.2-4.2v.1-.1.1c.1-6.2 5-11.1 11-11.1h.3c6.1 0 11 5 11.1 11z" + }, + "circle": [{ + "cx": "6.8", + "cy": "46.8", + "r": "3.2" + }, { + "cx": "45.2", + "cy": "46.8", + "r": "3.2" + }] + } + }, + new_custom73: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "path": { + "d": "M4.8 14h42.4c1 0 1.8-1 1.5-2-1-3.3-2.4-6.3-4.3-9-.6-.8-1.7-.9-2.3-.2-1.9 1.8-4.6 2.8-7.4 2.8-3 0-5.7-1.2-7.7-3.2-.6-.6-1.6-.6-2.2 0-2 2-4.7 3.2-7.7 3.2-2.8 0-5.4-1-7.4-2.8-.6-.6-1.6-.5-2.2.3-1.9 2.6-3.4 5.7-4.3 9-.2.9.6 1.9 1.6 1.9zM50 20.4c0-.9-.7-1.6-1.6-1.6H3.6c-.9 0-1.6.7-1.6 1.6v.3c0 15 10.4 27.4 24 29.3 13.6-1.9 24-14.3 24-29.2v-.4z" + } + } + }, + new_custom74: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "path": { + "d": "M30.1 44.4h-8.2c-.9 0-1.6.7-1.6 1.6v2.4c0 .9.7 1.6 1.6 1.6h8.2c.9 0 1.6-.7 1.6-1.6V46c0-.9-.7-1.6-1.6-1.6zM26 2C16 2 8 9.5 8 18.8c0 6 3.4 11.3 8.5 14.2 2 1.1 3.3 3 3.7 5.2.2.7.8 1.3 1.6 1.3h8.5c.8 0 1.5-.6 1.6-1.3.4-2.2 1.7-4.1 3.7-5.2 5-3 8.3-8.2 8.3-14.2C44 9.5 36 2 26 2zm-5.6 7.5c-1.6 3-2.5 6.6-2.6 9.5 0 3 .6 5.8 1.6 8.6.3.7-.4 1.4-1.1 1-7.5-3.8-7-17.6 1.1-20.3.7-.1 1.4.6 1 1.2zm6.3 19.1c-.2.6-1.2.6-1.5 0-1.3-3.1-1.6-6.8-1.7-10.2.1-3.4.4-7 1.7-10.2.2-.6 1.2-.6 1.5 0 1.3 3.1 1.6 6.8 1.7 10.2 0 3.4-.4 7-1.7 10.2zm6.7.1c-.7.3-1.4-.3-1.1-1 1.1-2.9 1.6-6.1 1.7-9.1-.1-2.6-1-6.1-2.6-9-.3-.6.3-1.4 1-1.1 8.1 2.6 8.6 16.5 1 20.2z" + } + } + }, + new_custom75: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "path": { + "d": "M26 2c-1.4 0-2.4 1-2.4 2.4v43.2c0 1.4 1 2.4 2.4 2.4 13.2 0 24-10.8 24-24S39.2 2 26 2zm19 21.6h-6.3c-.2-5.7-1.5-10.6-3.4-14.4 5.3 3 8.9 8.2 9.7 14.4zM28.4 44.2V28.4h5.5c-.4 7.5-2.8 13.4-5.5 15.8zm0-20.6V7.8c2.7 2.3 5.1 8.2 5.5 15.8h-5.5zm6.9 19.2c1.9-3.8 3.1-8.7 3.4-14.4H45c-.8 6.2-4.4 11.4-9.7 14.4zM12.8 17.9c.6.5 1.6.4 2.2-.2l4.4-5c.6-.6.6-1.6-.1-2.2l-4.4-4.4c-.6-.6-1.4-.6-2-.2l-.9.6C6 10.8 2 17.9 2 26s4 15.2 10 19.5l.9.6c.6.4 1.4.3 2-.2l4.4-4.4c.6-.6.6-1.6.1-2.2l-4.4-5c-.6-.6-1.5-.7-2.2-.2l-1.7 1.3c-1.8-2.7-2.7-5.9-2.7-9.4s1-6.6 2.7-9.4l1.7 1.3z" + } + } + }, + new_custom76: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "path": [{ + "d": "M25.9 30.4c-.2-.6-.9-1.1-1.6-1h-.7c-9 0-16.3-7.2-16.3-16.1v-.4c0-.8-1.1-1.1-1.5-.5-.6.8-1 1.8-1.3 2.8-1.4 4.6.4 9.6 4.3 12.4 1.8 1.3 3.7 1.9 5.6 2.1l.6 1.5c.1.2.2.4.4.5l2.4 1c.4.2.6.6.4 1l-.8 2.3c-.2.4.1.8.4 1l1.3.6c.4.2.6.6.4 1l-.7 2.5c-.1.4.1.8.4 1l1.9.8c.4.2.6.6.4 1l-.7 2.5c-.1.4.1.8.5 1l5.5 2.5c.4.2.9 0 1.1-.4l2.4-5.4c.2-.4.2-.8.1-1.2l-4.5-12.5z" + }, { + "d": "M47.5 29.6l-13-13.4c.6-2 .6-4.2-.2-6.5-1.5-4.3-5.5-7.4-10.2-7.7-7-.3-12.7 5.6-12 12.6.6 4.8 4.2 8.8 9 9.7 2.1.4 4.2.2 6-.4l1.1 1.2c.2.2.3.2.6.2h2.8c.5 0 .8.3.8.8l.2 2.5c0 .4.4.7.8.7H35c.5 0 .8.3.8.8l.4 2.6c.1.4.4.6.8.6h2c.5 0 .8.3.8.8l.4 2.6c.1.4.4.6.8.6h6.1c.5 0 .8-.3.8-.8v-5.9c.1-.4-.1-.8-.4-1zm-25.6-14c-2.3 0-4.1-1.8-4.1-4s1.8-4 4.1-4 4.1 1.8 4.1 4-1.8 4-4.1 4z" + }] + } + }, + new_custom77: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "path": { + "d": "M11.5 19.6h3.1c.5 0 .8-.3.8-.8v-1.2c0-6.1 4.5-10.8 10.2-10.8s10.2 4.7 10.2 10.8v1.2c0 .5.3.8.8.8h3.1c.5 0 .8-.3.8-.8v-1.2C40.5 8.9 34 2 25.6 2S10.7 8.9 10.7 17.6v1.2c0 .5.3.8.8.8zM41.3 24.4H10.7c-2.6 0-4.7 2.2-4.7 4.8v16c0 2.6 2.1 4.8 4.7 4.8h30.6c2.6 0 4.7-2.2 4.7-4.8v-16c0-2.6-2.1-4.8-4.7-4.8zM29.8 37.3c-.7 1.1-1.1 2.4-.8 3.7l.5 2.4c.2.9-.5 1.8-1.4 1.8h-5c-.9 0-1.6-1-1.4-1.8l.5-2.5c.3-1.3-.1-2.6-.8-3.6-.7-1-1-2.3-.8-3.6.4-1.9 2-3.4 3.9-3.8 3.2-.6 6 1.8 6 4.7 0 1-.3 1.9-.7 2.7z" + } + } + }, + new_custom78: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M48.6 9.5L34.2 2.3c-.6-.3-1.4-.3-2.2 0L18.8 8.9 5.4 2.3c-.7-.4-1.6-.4-2.3 0C2.4 2.8 2 3.6 2 4.4v36c0 .9.5 1.8 1.4 2.2l14.4 7.2c.6.3 1.4.3 2.2 0l13.3-6.6 13.4 6.6c.3.2.7.2 1 .2.4 0 .9-.2 1.3-.3.7-.5 1.1-1.3 1.1-2.1v-36c-.1-.9-.6-1.7-1.5-2.1zm-3.4 4.6v19c0 1.1-1.1 1.9-2.2 1.5-3.7-1.4-.8-7.6-3.4-11-2.5-3.1-5.8.1-8.8-4.8-3-4.7 1-8.1 4.6-9.9.5-.2 1-.2 1.4 0l7.4 3.8c.7.2 1 .8 1 1.4zM24.8 41.9c-.6.3-1.3.2-1.8-.2-1-.9-1.8-2.3-1.8-3.7 0-2.4-4-1.6-4-6.4 0-3.8-4.7-5-8.6-4.6-1 .1-1.8-.6-1.8-1.6V10.9c0-1.2 1.3-2 2.3-1.4l8.6 4.3c.1 0 .2.1.2.1l.3.2c3.6 2.1 2.9 3.8 1.4 6.4-1.7 2.9-2.4 0-4.8-.8s-4.8.8-4 2.4 3.2 0 4.8 1.6c1.6 1.6 1.6 4 6.4 2.4 4.8-1.6 5.6-.8 7.2.8 1.6 1.6 2.4 4.8 0 7.2-1.4 1.4-2 4.3-2.6 6.4-.2.4-.4.8-.8 1l-1 .4z" + } + }, + new_custom79: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "path": [{ + "d": "M17.8 19.3c-2.9 0-5.2 2.3-5.2 5.2s2.3 5.2 5.2 5.2 5.2-2.3 5.2-5.2-2.3-5.2-5.2-5.2z" + }, { + "d": "M47.8 35.6H33.5v-5.9H35c.8 0 1.5-.7 1.5-1.5v-4.4c0-.8-.7-1.5-1.5-1.5h-1.7C32.1 14.9 25.8 9.2 18 9 9.1 8.9 1.9 16 2 24.7 2.2 33.3 9.4 40 18.1 40h27.4v1.5c0 .8.7 1.5 1.5 1.5h1.5c.8 0 1.5-.7 1.5-1.5v-3.7c0-1.2-1-2.2-2.2-2.2zm-30-1.5c-5.4 0-9.7-4.3-9.7-9.6s4.3-9.6 9.7-9.6 9.7 4.3 9.7 9.6-4.3 9.6-9.7 9.6z" + }] + } + }, + new_custom8: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M23.7 3L4.8 23.8c-1.1 1.2-1.1 3.1 0 4.3L23.7 49c1.3 1.4 3.4 1.4 4.6 0l18.9-20.8c1.1-1.2 1.1-3.1 0-4.3L28.3 3c-1.2-1.3-3.4-1.3-4.6 0z" + } + }, + new_custom80: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "path": [{ + "d": "M9.7 33.7c-4.3 0-7.7 3.4-7.7 7.7S5.5 49 9.7 49s7.7-3.4 7.7-7.7-3.4-7.6-7.7-7.6zm0 10.7c-1.7 0-3.1-1.4-3.1-3.1 0-1.7 1.4-3.1 3.1-3.1s3.1 1.4 3.1 3.1c0 1.7-1.4 3.1-3.1 3.1zM42.3 33.7c-4.3 0-7.7 3.4-7.7 7.7S38 49 42.3 49s7.7-3.4 7.7-7.7-3.5-7.6-7.7-7.6zm0 10.7c-1.7 0-3.1-1.4-3.1-3.1 0-1.7 1.4-3.1 3.1-3.1s3.1 1.4 3.1 3.1c0 1.7-1.4 3.1-3.1 3.1z" + }, { + "d": "M41.8 29.1c1.7-.1 3.3.2 4.9.8.8.3 1.6-.1 2-.8 3.9-7.4-2.4-10.9-6.4-12.9-1.1-.5-2.3.2-2.3 1.4V22c0 .9-.6 1.8-1.5 1.7-5.7-.9-10.8-6.9-17-6.9s-7 6.1-7 6.1c-4.3 0-8.6-.3-10.5-.8-1.1-.1-2 .6-2 1.6 0 0 0 5.4 7.7 5.4C16 29.1 21.3 33.7 22 40c.2 1.7 0 3.4-.5 4.8-.2.5.2 1.1.9 1.1h7.1c.6 0 1-.5.9-1.1-.5-1.5-.6-3-.5-4.6.6-6 5.7-10.9 11.9-11.1zM2 23.7zM22.4 11.8c.1.6.5 1.1 1.1 1.3l8.2 2.8c.8.2 1.5-.1 1.9-.8l.7-1.3c.3-.5-.1-1.1-.6-1.2-2.4-.2-7.4-1.1-6-3.8 1.3-2.3 4-1.7 5.8-.9.7.3 1.4-.5 1.1-1.1-1.2-2.5-3.9-4-6.7-3.7-3.6.4-6.2 3.9-5.7 7.5l.2 1.2z" + }] + } + }, + new_custom81: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M47.5 2c-.8 0-3.1.1-3.9.1-12.3.6-26.5 3.7-27.2 3.9-1 .3-1.6 1.3-1.6 2.2v26.2c-.8-.3-2.1-.5-3.2-.5-5.3 0-9.6 3.6-9.6 8s4.3 8 9.6 8 9.6-3.6 9.6-8V25.6c0-.7.5-1.4 1.2-1.5 3.9-1 9.4-2 19.5-2.6 1-.1 1.7.6 1.7 1.6v8.3c-.8-.3-2.1-.5-3.2-.5-5.3 0-9.6 3.6-9.6 8s4.3 8 9.6 8 9.6-3.6 9.6-8V4.4C50 3 48.9 1.9 47.5 2zm-5.4 12.7c-9.8.6-14.7 1.5-19 2.5-1 .2-1.9-.6-1.9-1.6v-2.5c0-.7.5-1.4 1.3-1.6 4.2-1 9.2-2 19.4-2.6 1-.1 1.7.6 1.7 1.6V13c0 1-.6 1.7-1.5 1.7z" + } + }, + new_custom82: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "path": { + "d": "M48.5 21.5H32.7c-.8 0-1.5.7-1.5 1.5v.7c0 1.2-1 2.2-2.3 2.2-1.2 0-2.3-1-2.3-2.2V23c0-.8-.7-1.5-1.5-1.5h-3.8.1c-4.4.2-8.3 2.8-10.4 6.4-.8-.3-1.6-.4-2.4-.4-3.8 0-6.8 3-6.8 6.7S5 41 8.8 41c.8 0 1.7-.1 2.4-.4 2.1 3.7 6 6.2 10.4 6.4 7.3.4 13.4-5.5 13.4-12.8 0-.4 0-.9-.1-1.3-.1-.7.5-1.5 1.2-1.6l12.7-2.8c.7-.1 1.2-.7 1.2-1.5v-4c0-.8-.7-1.5-1.5-1.5zm-39.8 15c-1.3 0-2.3-1-2.3-2.2s1-2.2 2.3-2.2c.3 0 .7.1.9.2-.2.9-.2 1.9-.2 2.8 0 .5.1.8.2 1.2-.3.1-.6.2-.9.2zM29 16.2c1.3 0 2.3-1 2.3-2.2V7.2C31.2 6 30.2 5 29 5c-1.3 0-2.3 1-2.3 2.2V14c0 1.3 1 2.2 2.3 2.2zM18.2 17c.5.5 1.1.7 1.7.7.5 0 1.1-.1 1.5-.5 1-.8 1.1-2.2.2-3.1l-4.5-5.2c-.8-1-2.3-1-3.2-.2-1 .8-1.1 2.2-.2 3.1l4.5 5.2zM38 17.7c.6 0 1.3-.3 1.7-.7l4.5-5.2c.8-1 .7-2.4-.2-3.1-1-.8-2.4-.7-3.2.2l-4.5 5.2c-.8 1-.7 2.4.2 3.1.4.4 1 .5 1.5.5z" + } + } + }, + new_custom83: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "path": { + "d": "M45.7 17.4c.3.3.8.3 1.1 0l1.1-1.1c2.7-2.7 2.8-6.9.2-9.5 0 0-3.4-3.5-3.5-3.5-2.7-2.2-6.5-1.2-8.6 1l-1.1 1.1c-.3.3-.3.8 0 1.1l10.8 10.9zM31.3 9.8c-.3-.3-.8-.3-1.1 0l-22 21.9C7 32.9 6.1 34.3 5.6 36L2.1 46.8c-.2.6-.2 1.4.2 2 .5.8 1.3 1.2 2.1 1.2.2 0 .5 0 .7-.1 0 0 7.4-2.3 11-3.4 1.6-.5 3-1.4 4.2-2.6L42.2 22c.3-.3.3-.8 0-1.1L31.3 9.8zM14.6 41.9c-1.7.6-4.3 1.4-6.6 2.1l2.1-6.6c.2-.9.7-1.6 1.4-2.2l5.4 5.4c-.7.6-1.5 1.1-2.3 1.3z" + } + } + }, + new_custom84: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "path": { + "d": "M45.6 37.2H6.4c-1.3 0-2.4 1-2.4 2.4S5 42 6.4 42h3.1l1.3 6.8c.2.7.8 1.2 1.5 1.2h25.8c.7 0 1.3-.5 1.5-1.2l1.3-6.8h4.7c1.3 0 2.4-1 2.4-2.4s-1-2.4-2.4-2.4zM12.6 32.4h11v-4.5c-.9-.6-1.6-1.6-1.6-2.7 0-1.8 1.4-3.2 3.1-3.2 1.7 0 3.1 1.4 3.1 3.2 0 1.2-.6 2.2-1.6 2.7v4.5h11c.9 0 1.6-.7 1.6-1.6v-2.4c0-4.9-4.6-6.6-8.2-8.1-2.4-1-2.8-2-2.8-3s.7-2 1.5-2.7c1.4-1.3 2.3-3.1 2.3-5.3 0-3.9-2.5-7.4-6.9-7.4s-6.9 3.4-6.9 7.4c0 2.2.8 3.9 2.3 5.3.8.7 1.5 1.7 1.5 2.7 0 1-.4 1.9-2.8 3-3.6 1.5-8.2 3.4-8.2 8.1v2.4c.1.9.8 1.6 1.6 1.6z" + } + } + }, + new_custom85: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "path": [{ + "d": "M48.4 5.2h-40V3.6c0-.9-.7-1.6-1.6-1.6H3.6C2.7 2 2 2.7 2 3.6v44.8c0 .9.7 1.6 1.6 1.6h3.2c.9 0 1.6-.7 1.6-1.6V11.6h40c.9 0 1.6-.7 1.6-1.6V6.8c0-.9-.7-1.6-1.6-1.6z" + }, { + "d": "M45.2 16.4H18c-2.6 0-4.8 2.2-4.8 4.8v17.6c0 2.6 2.2 4.8 4.8 4.8h27.2c2.6 0 4.8-2.2 4.8-4.8V21.2c0-2.6-2.2-4.8-4.8-4.8zM40.8 30h-2v8c0 .5-.3.8-.8.8h-3.2c-.5 0-.8-.3-.8-.8v-4.8c0-.5-.3-.8-.8-.8H30c-.5 0-.8.3-.8.8V38c0 .5-.3.8-.8.8h-3.2c-.5 0-.8-.3-.8-.8v-8h-2c-.4 0-.6-.5-.2-.7l9-8.7c.3-.2.7-.2 1 0l9 8.7c.2.2 0 .7-.4.7z" + }] + } + }, + new_custom86: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "path": [{ + "d": "M16.4 10h3.2c.5 0 .8-.3.8-.8V6.8h11.2v2.4c0 .5.3.8.8.8h3.2c.5 0 .8-.3.8-.8V6.8c0-2.6-2.2-4.8-4.8-4.8H20.4c-2.6 0-4.8 2.2-4.8 4.8v2.4c0 .5.3.8.8.8zM45.2 14.8H6.8C4.2 14.8 2 17 2 19.6v25.6C2 47.8 4.2 50 6.8 50h38.4c2.6 0 4.8-2.2 4.8-4.8V19.6c0-2.6-2.2-4.8-4.8-4.8zM26 43.6c-6.2 0-11.2-5-11.2-11.2s5-11.2 11.2-11.2 11.2 5 11.2 11.2-5 11.2-11.2 11.2z" + }, { + "d": "M30.8 30h-2.4v-2.4c0-.9-.7-1.6-1.6-1.6h-1.6c-.9 0-1.6.7-1.6 1.6V30h-2.4c-.9 0-1.6.7-1.6 1.6v1.6c0 .9.7 1.6 1.6 1.6h2.4v2.4c0 .9.7 1.6 1.6 1.6h1.6c.9 0 1.6-.7 1.6-1.6v-2.4h2.4c.9 0 1.6-.7 1.6-1.6v-1.6c0-.9-.7-1.6-1.6-1.6z" + }] + } + }, + new_custom87: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "path": [{ + "d": "M45.6 2H6.4C5 2 4 3 4 4.4v38.4c0 1.4 1 2.4 2.4 2.4h.8v2.4c0 1.4 1 2.4 2.4 2.4h1.6c1.3 0 2.4-1 2.4-2.4v-2.4h25.1v2.4c0 1.4 1 2.4 2.4 2.4h1.6c1.3 0 2.4-1 2.4-2.4v-2.4h.8c1.3 0 2.4-1 2.4-2.4V4.4C48 3 47 2 45.6 2zM11.1 40.4c-1.3 0-2.4-1-2.4-2.4V9.2c0-1.4 1-2.4 2.4-2.4H41c1.3 0 2.4 1 2.4 2.4V38c0 1.4-1 2.4-2.4 2.4H11.1z" + }, { + "d": "M37 11.6H15c-.9 0-1.6.7-1.6 1.6V34c0 .9.7 1.6 1.6 1.6h22c.9 0 1.6-.7 1.6-1.6V13.2c0-.9-.7-1.6-1.6-1.6zM33.3 26h-6.5c-.9 1.6-2.7 3.2-4.9 3.2-3 0-5.3-2.6-5.3-5.6S19 18 21.9 18c2.2 0 4.1 1.6 4.9 3.2h6.4c1.2 0 2.1 1.2 2.1 2.4.1 1.2-.8 2.4-2 2.4z" + }] + } + }, + new_custom88: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "path": { + "d": "M48.5 42h-45c-.8 0-1.5.6-1.5 1.4v.1c0 3.6 4.5 6.5 8 6.5h32c3.5 0 8-2.9 8-6.5v-.1c0-.8-.7-1.4-1.5-1.4zM4.4 37.2h14.4c.9 0 1.6-.9 1.6-1.8V7.9c0-.4-.6-.6-.7-.2l-16 28.2c-.3.6.1 1.3.7 1.3zM26.8 37.2h20c1 0 1.7-.9 1.6-1.8-.7-5.8-1.7-23.7-22.1-33.3-.5-.2-1.1.1-1.1.7v32.6c0 .9.7 1.8 1.6 1.8z" + } + } + }, + new_custom89: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "path": { + "d": "M32.3 20.7c-.3-.4-1-.3-1.2.2-1 1.4-1.9 3.4-1.9 5.9v8.8c0 1.3-1 2.4-2.4 2.4-1.3 0-2.4-1-2.4-2.4v-2.5V8.3c0-6.1-5.4-7.1-9.3-5.6-1 .3-2 1-2.7 1.8-.5.6-1 1-1.8 1.3-1.4.3-3.9-1-5.2-1.8-.7-.4-1.7-.2-2.1.4l-1 1.4c-.6.7-.3 1.8.4 2.3 1.5 1 3.9 2.5 5.8 2.8 2.8.5 5.4-.4 7.4-2.3l-.1.1c.6-.5 1.5-1.3 2.2-.4 1.6 2.4-4.8 12.9-4.8 28.1v1.3c0 6.5 6.6 12.1 13 12.4 6.9.3 12.6-5.2 12.6-12 0-3.4 1.3-5.7 2.6-7 .3-.3.3-.8 0-1.1l-9.1-9.3zM47.6 28.3c-.6 0-1.2-.2-1.7-.7L33.1 14.9c-1-1-1-2.5 0-3.4 1-1 2.5-1 3.4 0l12.8 12.8c1 1 1 2.5 0 3.4-.5.4-1.1.6-1.7.6z" + } + } + }, + new_custom9: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M49.5 17.3C47.2 7.8 37.2 2 26.2 2 12.8 2 2 12.7 2 26s10.8 24 24.2 24c18.6 0 17.1-9.4 11.2-13.1-3.5-2.2-5.4-7.3-1.9-10.9 6.5-6.7 17 4 14-8.7zM13 34c-2.8 0-5-2.2-5-5s2.2-5 5-5 5 2.2 5 5-2.2 5-5 5zm1-19c0-2.8 2.2-5 5-5s5 2.2 5 5-2.2 5-5 5-5-2.2-5-5zm11 29c-2.8 0-5-2.2-5-5s2.2-5 5-5 5 2.2 5 5-2.2 5-5 5zm9-26c-2.8 0-5-2.2-5-5s2.2-5 5-5 5 2.2 5 5-2.2 5-5 5z" + } + }, + new_custom90: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "path": [{ + "d": "M47.9 6.9L28.4 9.7v27.5c0 .5-.3.8-.8.8h-3.2c-.5 0-.8-.3-.8-.8V10.5L4.8 13.3h-.3c-1.2 0-2.2-.9-2.4-2.1-.2-1.3.7-2.6 1.9-2.7l14.9-2.2c1.4-2.5 4-4.2 7-4.2 2.2 0 4.2.9 5.6 2.3l15.7-2.2c1.3-.2 2.6.7 2.7 2 .2 1.2-.6 2.4-2 2.7z" + }, { + "d": "M19.1 36.3c.6-.7.7-1.6.3-2.5L13 18.7c-.3-.9-1.2-1.4-2.2-1.4s-1.8.5-2.2 1.4L2.2 33.9c-.3.7-.2 1.5.2 2.2.2.2 3.3 5 8.3 5 2.9 0 5.8-1.6 8.4-4.8zm-8.3-10.5l3.4 8.2H7.4l3.4-8.2zM43.4 13.9c-.4-.9-1.3-1.4-2.2-1.4-1 0-1.8.6-2.2 1.4l-6.4 15.2c-.3.7-.2 1.5.2 2.2.2.2 3.3 5 8.3 5 3 0 5.8-1.6 8.4-4.8.6-.7.7-1.6.3-2.5l-6.4-15.1zM41.2 21l3.4 8.2h-6.9l3.5-8.2zM26 42.8c-4.5 0-9 1.6-12.2 4.3-.3.3-.6.7-.6 1.2v.1c0 .9.7 1.6 1.6 1.6h22.4c.9 0 1.6-.7 1.6-1.6v-.1c0-.5-.2-.9-.6-1.2-3.2-2.7-7.7-4.3-12.2-4.3z" + }] + } + }, + new_custom91: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "path": [{ + "d": "M48.3 12.1c-2.4-.7-4.5-2.4-5.9-4.6-1-1.7-1.1-5.5-3.7-5.5H13.3c-2.6 0-2.6 3.8-3.7 5.5-1.7 2.6-3.8 3.3-6.4 4.8-2.6 1.5-.2 7.9.4 10.2 2.5 8.9 7.2 17.1 14.6 23 2.1 1.7 4.3 3.1 6.7 4.3 2.2 1.1 5.8-2 7.4-3.2 4.2-3 7.6-6.7 10.3-11 2.3-3.7 4.1-7.7 5.4-11.8.5-1.7 1-3.4 1.3-5.1.3-1.4 1-3.7.6-5.1-.2-.7-.9-1.3-1.6-1.5-3.7-1.1 1.1.3 0 0zm-3.5 5.6c-2.2 10.7-7.9 20.7-17.5 26.6L26 45l-1.3-.8c-11.5-7-15.9-18.3-17.5-26.6L7 16l1.4-.9c2.5-1.5 4.8-4.2 6.2-7l.6-1.4h21.6l.4 1c1.4 3 3.8 5.9 6.8 7.6l1 .6v.1l-.2 1.7z" + }, { + "d": "M25.2 11.6c-1.8 0-6.3 0-7.2.8-1.5 1.4-2.4 3.4-4 4.7-1.7 1.4-.9 2.9-.3 4.8 1.1 3.4 2.6 6.6 4.7 9.6 1 1.5 2.2 3 3.6 4.2.4.4 4.1 4.1 4.1 1.8V13.2c-.1-.9-.1-1.6-.9-1.6z" + }] + } + }, + new_custom92: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "path": [{ + "d": "M45 31.1l-18.2-8.3c-.5-.2-1-.2-1.4 0L7 31.1c-1 .5-1.4 1.7-.7 2.6 1.9 2.7 3.1 6.2 3.6 7.8.2.6.7 1 1.3 1.2 6.3 1.5 11.5 5.1 13.7 6.8.6.5 1.5.5 2.2 0 2.2-1.7 7.4-5.3 13.7-6.8.6-.2 1.1-.6 1.3-1.2.5-1.7 1.7-5.2 3.6-7.8.6-.8.3-2.1-.7-2.6zm-23.8 4.5c-1.4 0-2.4-1.4-2.4-3.2 0-1.8 1-3.2 2.4-3.2s2.4 1.4 2.4 3.2c0 1.8-1 3.2-2.4 3.2zm9.6 0c-1.4 0-2.4-1.4-2.4-3.2 0-1.8 1-3.2 2.4-3.2s2.4 1.4 2.4 3.2c0 1.8-1 3.2-2.4 3.2z" + }, { + "d": "M13.5 22.9l9.8-4.5c1.2-.6 2.5-.7 3.8-.5.6.1 1.1.3 1.7.6l9.7 4.5c.6.2 1.1-.2 1.1-.7v-3.6c0-.4-.2-.8-.5-1.1-.6-.7-1.9-1.9-4.3-1.9V11c0-.6-.3-1.1-.8-1.4-.9-.5-2.4-1.2-4.8-1.6V3.6c0-.9-.7-1.6-1.6-1.6h-3.2c-.9 0-1.6.7-1.6 1.6v4.3c-2.4.4-3.9 1.1-4.8 1.6-.5.2-.8.8-.8 1.4v4.7c-2.4 0-3.7 1.2-4.3 1.8-.3.3-.5.7-.5 1.1v3.6c0 .6.6 1 1.1.8z" + }] + } + }, + new_custom93: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "path": { + "d": "M20.1 26H44c.7 0 1.4-.5 1.5-1.2l4.4-14.9c.3-1-.5-2-1.5-2H11.5l-.6-2.2C10.5 4.7 9.5 4 8.5 4H4.6C3.3 4 2.1 4.9 2 6.2c-.1 1.3 1.1 2.5 2.4 2.5h2.3l7.6 25c.3 1 1.2 1.7 2.3 1.7h28.2c1.3 0 2.5-.9 2.6-2.2.1-1.3-1.1-2.5-2.4-2.5H20.2c-1.1 0-2-.7-2.3-1.6V29c-.5-1.5.7-3 2.2-3z" + }, + "ellipse": [{ + "cx": "20.6", + "cy": "44.1", + "rx": "4", + "ry": "3.9" + }, { + "cx": "40.1", + "cy": "44.1", + "rx": "4", + "ry": "3.9" + }] + } + }, + new_custom94: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "path": [{ + "d": "M30.8 16.4v-12c0-1.4-1-2.4-2.4-2.4h-3.2c-1.4 0-2.4 1-2.4 2.4s1 2.4 2.4 2.4h.8v9.6c0 5.3-4.3 9.6-9.6 9.6s-9.6-4.3-9.6-9.6V6.8h.8c1.4 0 2.4-1 2.4-2.4S9 2 7.6 2H4.4C3 2 2 3 2 4.4v12c0 7.9 6.5 14.4 14.4 14.4s14.4-6.5 14.4-14.4z" + }, { + "d": "M50 26c0-4-3.2-7.2-7.2-7.2S35.6 22 35.6 26c0 3.1 2 5.8 4.8 6.8v1.8c0 5.8-4.8 10.6-10.6 10.6h-.2c-5 0-9.3-3.6-10.4-8.3-.2-.7-.8-1.3-1.6-1.3H16c-1 0-1.8 1-1.6 1.9C15.7 44.6 22 50 29.4 50h.2c8.6 0 15.5-7 15.5-15.4v-1.8c2.9-1 4.9-3.7 4.9-6.8zm-7.2 2.4c-1.4 0-2.4-1-2.4-2.4s1-2.4 2.4-2.4 2.4 1 2.4 2.4-1 2.4-2.4 2.4z" + }] + } + }, + new_custom95: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "path": [{ + "d": "M28.4 10.2V6.8h.8c1.3 0 2.4-1 2.4-2.4 0-1.3-1-2.4-2.4-2.4h-6.4c-1.3 0-2.4 1-2.4 2.4 0 1.3 1 2.4 2.4 2.4h.8v3.4C13.7 11.4 6 19.8 6 30c0 11 9 20 20 20s20-9 20-20c0-10.2-7.7-18.6-17.6-19.8zm-2.4 35c-8.4 0-15.2-6.8-15.2-15.2S17.6 14.8 26 14.8 41.2 21.6 41.2 30 34.4 45.2 26 45.2z" + }, { + "d": "M31.3 21.8l-3.7 3.7c-.5-.2-1-.3-1.6-.3-2.6 0-4.8 2.2-4.8 4.8s2.2 4.8 4.8 4.8 4.8-2.2 4.8-4.8c0-.6-.1-1.1-.3-1.6l3.7-3.7c.8-.8.8-2.1 0-2.9-.8-.8-2.1-.8-2.9 0z" + }] + } + }, + new_custom96: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "path": { + "d": "M49.5 9l-4.2-3.1c-.6-.4-1.2-.6-1.9-.6H29.2V3.6c0-.9-.7-1.6-1.6-1.6h-3.2c-.9 0-1.6.7-1.6 1.6v1.6h-16c-.9 0-1.6.7-1.6 1.6v6.4c0 .9.7 1.6 1.6 1.6H43.4c.7 0 1.4-.2 1.9-.6l4.2-3.1c.7-.6.7-1.6 0-2.1zM45.2 22.8h-16v-2.4c0-.5-.3-.8-.8-.8h-4.8c-.5 0-.8.3-.8.8v2.4H8.6c-.7 0-1.4.2-1.9.6l-4.2 3.1c-.7.5-.7 1.5 0 2.1l4.2 3.1c.6.4 1.2.6 1.9.6h36.6c.9 0 1.6-.7 1.6-1.6v-6.4c0-.8-.7-1.5-1.6-1.5zM29.2 43.3V38c0-.5-.3-.8-.8-.8h-4.8c-.5 0-.8.3-.8.8v5.3c-3.2.9-5 2.8-5.5 5.2-.2.7.4 1.5 1.2 1.5h15.1c.8 0 1.4-.7 1.2-1.5-.6-2.4-2.4-4.3-5.6-5.2z" + } + } + }, + new_custom97: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M34.2 29.3v-19C34.2 5.6 30.6 2 26 2h-.1c-4.6 0-8.2 3.7-8.2 8.3v19C15.3 31.6 14 34.7 14 38c0 6.6 5.4 12 12 12s12-5.4 12-12c0-3.4-1.3-6.4-3.8-8.7zM32.3 38H19.7c-.7 0-1.2-.7-1.1-1.4.3-1.8 1.3-3.4 2.7-4.5.5-.5.9-1.1.9-1.8v-20c0-2.2 1.6-3.8 3.7-3.8h.1c2.1 0 3.7 1.7 3.7 3.8v.7h-2.2c-1.3 0-2.2 1-2.2 2.2s1 2.2 2.2 2.2h2.2v3h-2.2c-1.3 0-2.2 1-2.2 2.2s1 2.2 2.2 2.2h2.2v3h-2.2c-1.3 0-2.2 1-2.2 2.2s1 2.2 2.2 2.2h2.2c.1.7.4 1.2.9 1.7 1.4 1.1 2.4 2.8 2.7 4.5.2.9-.3 1.6-1 1.6z" + } + }, + new_custom98: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "path": [{ + "d": "M49.6 22.1l-5.9-5.9c-.3-.3-.7-.5-1-.5h-6.1c-.8 0-1.5.7-1.5 1.5v12.1c0 .5.5.9 1.1.7 1-.5 2.2-.7 3.4-.7 3.4 0 6.3 1.9 7.9 4.7.2.4.8.5 1.1.2.9-.8 1.5-2 1.5-3.4v-7.7c-.1-.3-.2-.7-.5-1z" + }, { + "d": "M29 9H3.5C2.7 9 2 9.7 2 10.5v20.4c0 1.4.6 2.6 1.5 3.4.4.3.9.2 1.1-.2 1.5-2.8 4.5-4.7 7.9-4.7 3.8 0 6.9 2.3 8.3 5.6.1.3.4.5.7.5H26c2.5 0 4.5-2 4.5-4.5V10.5c0-.8-.7-1.5-1.5-1.5z" + }], + "circle": [{ + "cx": "39.5", + "cy": "38.5", + "r": "4.5" + }, { + "cx": "12.5", + "cy": "38.5", + "r": "4.5" + }] + } + }, + new_custom99: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M45.2 16.6H31.8c-.4-.9-1-1.7-1.7-2.4l5-6.4c.8-1 .6-2.5-.4-3.3-1-.8-2.6-.6-3.4.4L25.8 12c-.5 0-.9-.1-1.4-.1-.5 0-.9.1-1.3.1l-5.6-7.1c-.8-1-2.3-1.2-3.4-.4s-1.1 2.3-.3 3.3l5 6.4c-.7.7-1.3 1.5-1.7 2.4H6.8c-2.6 0-4.8 2.1-4.8 4.7v22C2 45.9 4.2 48 6.8 48h38.4c2.6 0 4.8-2.1 4.8-4.7v-22c0-2.6-2.2-4.7-4.8-4.7zm-6.4 25.1c0 .9-.7 1.6-1.6 1.6H8.4c-.9 0-1.6-.7-1.6-1.6V22.9c0-.9.7-1.6 1.6-1.6h28.8c.9 0 1.6.7 1.6 1.6v18.8zm5.6-7.8c-1.4 0-2.4-1-2.4-2.4s1-2.4 2.4-2.4 2.4 1 2.4 2.4-1 2.4-2.4 2.4zm0-7.9C43 26 42 25 42 23.7c0-1.3 1-2.4 2.4-2.4s2.4 1 2.4 2.4c0 1.3-1 2.3-2.4 2.3z" + } + }, + new_event: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "path": { + "d": "M46.5 20h-41c-.8 0-1.5.7-1.5 1.5V46c0 2.2 1.8 4 4 4h36c2.2 0 4-1.8 4-4V21.5c0-.8-.7-1.5-1.5-1.5zM19 42c0 .6-.4 1-1 1h-4c-.6 0-1-.4-1-1v-4c0-.6.4-1 1-1h4c.6 0 1 .4 1 1v4zm0-10c0 .6-.4 1-1 1h-4c-.6 0-1-.4-1-1v-4c0-.6.4-1 1-1h4c.6 0 1 .4 1 1v4zm10 10c0 .6-.4 1-1 1h-4c-.6 0-1-.4-1-1v-4c0-.6.4-1 1-1h4c.6 0 1 .4 1 1v4zm0-10c0 .6-.4 1-1 1h-4c-.6 0-1-.4-1-1v-4c0-.6.4-1 1-1h4c.6 0 1 .4 1 1v4zm10 10c0 .6-.4 1-1 1h-4c-.6 0-1-.4-1-1v-4c0-.6.4-1 1-1h4c.6 0 1 .4 1 1v4zm0-10c0 .6-.4 1-1 1h-4c-.6 0-1-.4-1-1v-4c0-.6.4-1 1-1h4c.6 0 1 .4 1 1v4zM44 7h-5V5c0-1.6-1.3-3-3-3-1.6 0-3 1.3-3 3v2H19V5c0-1.6-1.3-3-3-3-1.6 0-3 1.3-3 3v2H8c-2.2 0-4 1.8-4 4v2.5c0 .8.7 1.5 1.5 1.5h41c.8 0 1.5-.7 1.5-1.5V11c0-2.2-1.8-4-4-4z" + } + } + }, + new_group: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "path": [{ + "d": "M15.8 28c-1.4-2.1-2.1-4.5-2.1-7.2 0-4.6 1.9-8.4 4.9-10.7-1-1.8-3-3.1-5.6-3.1-4.4 0-6.9 3.6-6.9 7.7 0 2.2.7 4.1 2.2 5.4.8.8 1.5 1.8 1.5 2.8 0 1-.4 2-2.9 3.1-3.6 1.6-6.9 3.8-7 7.1C0 35.3 1.4 37 3.5 37h3.3c.5 0 1-.3 1.3-.8 1.6-2.9 4.6-4.7 7.1-6 .9-.4 1.1-1.5.6-2.2zM45 26c-2.5-1.1-2.9-2-2.9-3.1s.7-2.1 1.5-2.8c1.5-1.4 2.2-3.2 2.2-5.4 0-4.1-2.4-7.7-6.9-7.7-2.6 0-4.6 1.3-5.7 3.1 3 2.3 4.9 6.1 4.9 10.7 0 2.7-.7 5.1-2.1 7.2-.5.8-.2 1.8.6 2.2 2.5 1.2 5.5 3.1 7.1 6 .3.5.8.8 1.3.8h3.3c2.1 0 3.5-1.7 3.5-3.9.1-3.3-3.2-5.5-6.8-7.1z" + }, { + "d": "M32.6 33.3c-2.7-1.2-3.2-2.3-3.2-3.4 0-1.2.8-2.3 1.7-3.1 1.6-1.5 2.5-3.6 2.5-6 0-4.5-2.7-8.4-7.6-8.4-4.9 0-7.6 3.9-7.6 8.4 0 2.4.9 4.5 2.5 6 .9.9 1.7 2 1.7 3.1 0 1.2-.4 2.2-3.2 3.4-4 1.7-7.8 3.6-7.9 7.2 0 2.4 1.8 4.4 4.1 4.4h20.8c2.3 0 4.1-2 4.1-4.4-.1-3.6-3.9-5.4-7.9-7.2z" + }] + } + }, + new_lead: { + "xmlns": "http://www.w3.org/2000/svg", + "circle": { + "cx": "26", + "cy": "9.2", + "r": "7.2" + }, + "path": { + "d": "M48.4 21.2H3.6c-1.6 0-2.2 2-.9 2.9l11.7 7.5c.6.4.9 1.1.6 1.8L10.7 48c-.5 1.6 1.6 2.7 2.8 1.5l11.4-12c.6-.7 1.8-.7 2.4 0l11.4 12c1.1 1.2 3.2.1 2.8-1.5L37 33.3c-.2-.6.1-1.4.6-1.8L49.3 24c1.3-.8.7-2.8-.9-2.8z" + } + }, + new_note: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "path": [{ + "d": "M41.4 39.7l-.9.9c-1 1-2.3 1.5-3.7 1.5h-2.6c-2.4 0-5-1.9-5-5.2v-2.5c0-2 .9-3.2 1.4-3.9l10.8-11c.3-.3.6-1 .6-1.4V9.8C42 7.2 39.8 5 37.2 5H11.6C9 5 6.8 7.4 6.8 9.8H5.2C3.4 9.8 2 11.3 2 13.1s1.4 3.2 3.2 3.2h1.6v6.5H5.2C3.4 22.8 2 24.2 2 26s1.4 3.2 3.2 3.2h1.6v6.5H5.2c-1.8 0-3.2 1.5-3.2 3.2 0 1.8 1.4 3.2 3.2 3.2h1.6c0 3.2 2.2 4.8 4.8 4.8H37.2c2.6 0 4.8-2.2 4.8-4.8V40c0-.5-.2-.6-.6-.3zm-8.2-22.6c0 .9-.7 1.6-1.6 1.6h-16c-.9 0-1.6-.7-1.6-1.6v-1.6c0-.9.7-1.6 1.6-1.6h16c.9 0 1.6.7 1.6 1.6v1.6zM26 36.5c0 .9-.7 1.6-1.6 1.6h-8.8c-.9 0-1.6-.7-1.6-1.6v-1.6c0-.9.7-1.6 1.6-1.6h8.8c.9 0 1.6.7 1.6 1.6v1.6zm2.4-9.7c0 .9-.7 1.6-1.6 1.6H15.6c-.9 0-1.6-.7-1.6-1.6v-1.6c0-.9.7-1.6 1.6-1.6h11.2c.9 0 1.6.7 1.6 1.6v1.6z" + }, { + "d": "M49.5 22.4l-1-1c-.6-.6-1.6-.6-2.2 0L34.1 34c-.1 0-.1.2-.1.2v2.7c0 .2 0 .4.2.4h2.6c.1 0 .2-.1.3-.1l12.3-12.4c.8-.7.8-1.7.1-2.4z" + }] + } + }, + new_notebook: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M44 2H14c-2.2 0-4 1.8-4 4v3H7c-1.7 0-3 1.3-3 3s1.3 3 3 3h3v8H7c-1.7 0-3 1.3-3 3s1.3 3 3 3h3v8H7c-1.7 0-3 1.3-3 3s1.3 3 3 3h3v3c0 2.2 1.8 4 4 4h30c2.2 0 4-1.8 4-4V6c0-2.2-1.8-4-4-4zm-7 34c0 .6-.4 1-1 1H22c-.6 0-1-.4-1-1v-2c0-.6.4-1 1-1h14c.6 0 1 .4 1 1v2zm2-8c0 .6-.4 1-1 1H20c-.6 0-1-.4-1-1v-2c0-.6.4-1 1-1h18c.6 0 1 .4 1 1v2zm2-10c0 .6-.4 1-1 1H18c-.6 0-1-.4-1-1v-6c0-.6.4-1 1-1h22c.6 0 1 .4 1 1v6z" + } + }, + new_opportunity: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M41.8 41H10.2c-.8 0-1.4.7-1.4 1.4v.1c0 2.5 2 4.5 4.5 4.5h25.5c2.5 0 4.5-2 4.5-4.5v-.1c-.1-.7-.7-1.4-1.5-1.4zM45.5 10.2c-2.5 0-4.5 2-4.5 4.5 0 1.4.6 2.6 1.6 3.4-1.3 2.9-4.2 4.9-7.6 4.8-4-.2-7.2-3.4-7.4-7.4 0-.7 0-1.3.1-1.9 1.7-.7 2.9-2.2 2.9-4.2C30.5 7 28.5 5 26 5s-4.5 2-4.5 4.5c0 1.9 1.2 3.5 2.8 4.2.2.6.2 1.2.2 1.9-.2 4-3.4 7.2-7.4 7.4-3.4.2-6.4-1.9-7.7-4.8 1-.8 1.6-2.1 1.6-3.4 0-2.5-2-4.5-4.5-4.5S2 12.3 2 14.8s2 4.5 4.5 4.5l2.1 16c.1.7.7 1.2 1.4 1.2h32c.7 0 1.3-.5 1.4-1.2l2.1-16c2.5 0 4.5-2 4.5-4.5s-2-4.6-4.5-4.6z" + } + }, + new_person_account: { + "xmlns": "http://www.w3.org/2000/svg", + "path": [{ + "d": "M41.7 33.2c-2.9-1.2-3.4-2.3-3.4-3.5 0-1.2.8-2.3 1.8-3.2 1.7-1.5 2.6-3.7 2.6-6.2 0-4.6-3-8.7-8.2-8.7s-8.2 4-8.2 8.7c0 2.6 1 4.6 2.6 6.2 1 .9 1.8 2 1.8 3.2 0 1.2-.5 2.3-3.4 3.5-4.3 1.8-8.3 4-8.4 7.8 0 2.5 1.9 5 4.3 5h22.4c2.5 0 4.3-2.5 4.3-5 .2-3.7-3.9-6-8.2-7.8z" + }, { + "d": "M23.4 27.1c-.3-.4-1.9-2.4-1.8-7.8.1-5.3 2.4-6.6 2.4-6.6V7.5c0-.9-.9-1.5-1.5-1.5h-19C2.8 6 2 6.7 2 7.6v34.9h10.8C13.1 33.6 23.3 30 23.3 30c1.5-.8.4-2.5.1-2.9zm-12.8 11c0 .9-.7 1.6-1.6 1.6H7.4c-.9 0-1.6-.7-1.6-1.6v-1.6c0-.9.7-1.6 1.6-1.6H9c.9 0 1.6.7 1.6 1.6v1.6zm0-7.9c0 .9-.7 1.6-1.6 1.6H7.4c-.9 0-1.6-.7-1.6-1.6v-1.6c0-.9.7-1.6 1.6-1.6H9c.9 0 1.6.7 1.6 1.6v1.6zm0-8c0 .9-.7 1.6-1.6 1.6H7.4c-.9 0-1.6-.7-1.6-1.6v-1.6c0-.9.7-1.6 1.6-1.6H9c.9 0 1.6.7 1.6 1.6v1.6zm0-7.9c0 .9-.7 1.6-1.6 1.6H7.4c-.9 0-1.6-.7-1.6-1.6v-1.6c0-.9.7-1.6 1.6-1.6H9c.9 0 1.6.7 1.6 1.6v1.6zm9 15.9c0 .9-.7 1.6-1.6 1.6h-1.6c-.9 0-1.6-.7-1.6-1.6v-1.6c0-.9.7-1.6 1.6-1.6H18c.9 0 1.6.7 1.6 1.6v1.6zm0-8c0 .9-.7 1.6-1.6 1.6h-1.6c-.9 0-1.6-.7-1.6-1.6v-1.6c0-.9.7-1.6 1.6-1.6H18c.9 0 1.6.7 1.6 1.6v1.6zm0-7.9c0 .9-.7 1.6-1.6 1.6h-1.6c-.9 0-1.6-.7-1.6-1.6v-1.6c0-.9.7-1.6 1.6-1.6H18c.9 0 1.6.7 1.6 1.6v1.6z" + }] + }, + new_task: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M24 7l-1.7-1.7c-.5-.5-1.2-.5-1.7 0L10 15.8l-4.3-4.2c-.5-.5-1.2-.5-1.7 0l-1.7 1.7c-.5.5-.5 1.2 0 1.7l5.9 5.9c.5.5 1.1.7 1.7.7.6 0 1.2-.2 1.7-.7L24 8.7c.4-.4.4-1.2 0-1.7zM48.4 18.4H27.5c-.9 0-1.6-.7-1.6-1.6v-3.2c0-.9.7-1.6 1.6-1.6h20.9c.9 0 1.6.7 1.6 1.6v3.2c0 .9-.7 1.6-1.6 1.6zM48.4 32.7H22.7c-.9 0-1.6-.7-1.6-1.6v-3.2c0-.9.7-1.6 1.6-1.6h25.7c.9 0 1.6.7 1.6 1.6v3.2c0 .9-.7 1.6-1.6 1.6zM13 32.7H9.8c-.9 0-1.6-.7-1.6-1.6v-3.2c0-.9.7-1.6 1.6-1.6H13c.9 0 1.6.7 1.6 1.6v3.2c.1.9-.7 1.6-1.6 1.6zM13 47H9.8c-.9 0-1.6-.7-1.6-1.6v-3.2c0-.9.7-1.6 1.6-1.6H13c.9 0 1.6.7 1.6 1.6v3.2c.1.9-.7 1.6-1.6 1.6zM48.4 47H22.7c-.9 0-1.6-.7-1.6-1.6v-3.2c0-.9.7-1.6 1.6-1.6h25.7c.9 0 1.6.7 1.6 1.6v3.2c0 .9-.7 1.6-1.6 1.6z" + } + }, + password_unlock: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "path": { + "d": "M10 18.1v0zM42 23H16v-4.7c0-5.3 4-10 9.3-10.3 4.9-.3 9 2.8 10.3 7.2.1.4.5.8 1 .8h4.1c.6 0 1.1-.6 1-1.2C40.1 7.2 33.3 1.6 25.2 2c-8.5.4-15 7.7-15.2 16.1V23c-2.2 0-4 1.8-4 4v19c0 2.2 1.8 4 4 4h32c2.2 0 4-1.8 4-4V27c0-2.2-1.8-4-4-4zM30.6 42.7c.2.6-.3 1.3-1 1.3h-7.3c-.7 0-1.2-.6-1-1.3l1.8-6c-1.5-1-2.4-2.8-2-4.8.4-1.9 1.9-3.4 3.9-3.8 3.2-.6 6 1.7 6 4.7 0 1.6-.8 3.1-2.1 3.9l1.7 6z" + } + } + }, + preview: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "path": [{ + "d": "M51.8 25.1C47.1 15.6 37.3 9 26 9S4.9 15.6.2 25.1c-.3.6-.3 1.3 0 1.8C4.9 36.4 14.7 43 26 43s21.1-6.6 25.8-16.1c.3-.6.3-1.2 0-1.8zM26 37c-6.1 0-11-4.9-11-11s4.9-11 11-11 11 4.9 11 11-4.9 11-11 11z" + }, { + "d": "M26 19c-3.9 0-7 3.1-7 7s3.1 7 7 7 7-3.1 7-7-3.1-7-7-7z" + }] + } + }, + priority: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "path": { + "d": "M9 3.5C9 2.7 8.3 2 7.5 2h-3C3.7 2 3 2.7 3 3.5v45c0 .8.7 1.5 1.5 1.5h3c.8 0 1.5-.7 1.5-1.5v-45zM47.5 7.7c-16 8.4-14.2-8.8-33.5-2.1-.6.2-1 .8-1 1.4v23.3c0 .7.7 1.2 1.3.9 19.2-6.4 17.2 11.2 33.9 1.8.5-.3.8-.8.8-1.3V8.5c0-.7-.8-1.2-1.5-.8z" + } + } + }, + question_post_action: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M28.4 38h-5c-.8 0-1.4-.6-1.4-1.4v-1.5c0-4.2 2.7-8 6.7-9.4 1.2-.4 2.3-1.1 3.2-2.1 5-6 .4-13.2-5.6-13.4-2.2-.1-4.3.7-5.9 2.2-1.3 1.2-2.1 2.7-2.3 4.4-.1.6-.7 1.1-1.5 1.1h-5c-.9 0-1.6-.7-1.5-1.6.4-3.8 2.1-7.2 4.8-9.9 3.2-3 7.3-4.6 11.7-4.5C34.9 2.2 41.7 9 42 17.3c.3 7-4 13.3-10.5 15.7-.9.4-1.5 1.1-1.5 2v1.5c0 .9-.8 1.5-1.6 1.5zM30 48.5c0 .8-.7 1.5-1.5 1.5h-5c-.8 0-1.5-.7-1.5-1.5v-5c0-.8.7-1.5 1.5-1.5h5c.8 0 1.5.7 1.5 1.5v5z" + } + }, + quote: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "path": [{ + "d": "M35 23H17c-.6 0-1 .4-1 1v3c0 .6.4 1 1 1h18c.6 0 1-.4 1-1v-3c0-.6-.4-1-1-1zM33 32H19c-.6 0-1 .4-1 1v3c0 .6.4 1 1 1h14c.6 0 1-.4 1-1v-3c0-.6-.4-1-1-1z" + }, { + "d": "M45.8 12.3l-9.6-9.2c-.8-.7-1.8-1.1-2.8-1.1H18.6c-1 0-2 .4-2.8 1.1l-9.6 9.2c-.8.8-1.2 1.8-1.2 2.9V46c0 2.2 1.8 4 4 4h34c2.2 0 4-1.8 4-4V15.2c0-1.1-.4-2.1-1.2-2.9zM26 5c2.2 0 4 1.8 4 4s-1.8 4-4 4-4-1.8-4-4 1.8-4 4-4zm15 37.5c0 .8-.7 1.5-1.5 1.5h-27c-.8 0-1.5-.7-1.5-1.5v-25c0-.8.7-1.5 1.5-1.5h27c.8 0 1.5.7 1.5 1.5v25z" + }] + } + }, + recall: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M18.2 22.6c-.5-.6-.2-1.6.5-1.8h9c6.7 0 12.1 5.7 11.5 12.6-.6 5.9-5.8 10.3-11.8 10.3H24c-.8 0-1.6.7-1.6 1.6v3.1c0 .8.7 1.6 1.6 1.6h3.6c9.7 0 17.5-7.8 17.7-17.4.2-9.9-8.2-18-18.1-18.1h-8.3s-2.7.1-1-1.8l5.9-5.8c.6-.6.6-1.6 0-2.2l-2.2-2.2c-.6-.6-1.6-.6-2.2 0l-14 14.1c-.6.6-.6 1.6 0 2.2l14.1 14.1c.6.6 1.6.6 2.2 0l2.2-2.2c.6-.6.6-1.6 0-2.2l-5.7-5.9z" + } + }, + record: { + "xmlns": "http://www.w3.org/2000/svg", + "path": [{ + "d": "M17.4 11.6h17.3c.9 0 1.6-.7 1.6-1.6V6.8c0-2.6-2.1-4.8-4.7-4.8h-11c-2.6 0-4.7 2.2-4.7 4.8V10c-.1.9.6 1.6 1.5 1.6z" + }, { + "d": "M43.3 6h-1.6c-.5 0-.8.3-.8.8V10c0 3.5-2.8 6.4-6.3 6.4H17.4c-3.5 0-6.3-2.9-6.3-6.4V6.8c0-.5-.3-.8-.8-.8H8.7C6.1 6 4 8.2 4 10.8v34.4C4 47.8 6.1 50 8.7 50h34.6c2.6 0 4.7-2.2 4.7-4.8V10.8C48 8.2 45.9 6 43.3 6zM17.4 40.4c0 .9-.7 1.6-1.6 1.6h-1.6c-.9 0-1.6-.7-1.6-1.6v-1.6c0-.9.7-1.6 1.6-1.6h1.6c.9 0 1.6.7 1.6 1.6v1.6zm0-8c0 .9-.7 1.6-1.6 1.6h-1.6c-.9 0-1.6-.7-1.6-1.6v-1.6c0-.9.7-1.6 1.6-1.6h1.6c.9 0 1.6.7 1.6 1.6v1.6zm0-8c0 .9-.7 1.6-1.6 1.6h-1.6c-.9 0-1.6-.7-1.6-1.6v-1.6c0-.9.7-1.6 1.6-1.6h1.6c.9 0 1.6.7 1.6 1.6v1.6zm22 16c0 .9-.7 1.6-1.6 1.6H22.1c-.9 0-1.6-.7-1.6-1.6v-1.6c0-.9.7-1.6 1.6-1.6h15.7c.9 0 1.6.7 1.6 1.6v1.6zm0-8c0 .9-.7 1.6-1.6 1.6H22.1c-.9 0-1.6-.7-1.6-1.6v-1.6c0-.9.7-1.6 1.6-1.6h15.7c.9 0 1.6.7 1.6 1.6v1.6zm0-8c0 .9-.7 1.6-1.6 1.6H22.1c-.9 0-1.6-.7-1.6-1.6v-1.6c0-.9.7-1.6 1.6-1.6h15.7c.9 0 1.6.7 1.6 1.6v1.6z" + }] + }, + refresh: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M46.5 4h-3c-.8 0-1.5.7-1.5 1.5v7c0 .9-.5 1.3-1.2.7-.3-.4-.6-.7-1-1-5-5-12-7.1-19.2-5.7-2.5.5-4.9 1.5-7 2.9-6.1 4-9.6 10.5-9.7 17.5-.1 5.4 2 10.8 5.8 14.7 4 4.2 9.4 6.5 15.2 6.5 5.1 0 9.9-1.8 13.7-5 .7-.6.7-1.6.1-2.2l-2.1-2.1c-.5-.5-1.4-.6-2-.1-3.6 3-8.5 4.2-13.4 3-1.3-.3-2.6-.9-3.8-1.6C11.7 36.6 9 30 10.6 23.4c.3-1.3.9-2.6 1.6-3.8C15 14.7 19.9 12 25.1 12c4 0 7.8 1.6 10.6 4.4.5.4.9.9 1.2 1.4.3.8-.4 1.2-1.3 1.2h-7c-.8 0-1.5.7-1.5 1.5v3.1c0 .8.6 1.4 1.4 1.4h18.3c.7 0 1.3-.6 1.3-1.3V5.5C48 4.7 47.3 4 46.5 4z" + } + }, + reject: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M31.6 25.8l13.1-13.1c.6-.6.6-1.5 0-2.1l-2.1-2.1c-.6-.6-1.5-.6-2.1 0L27.4 21.6c-.4.4-1 .4-1.4 0L12.9 8.4c-.6-.6-1.5-.6-2.1 0l-2.1 2.1c-.6.6-.6 1.5 0 2.1l13.1 13.1c.4.4.4 1 0 1.4L8.6 40.3c-.6.6-.6 1.5 0 2.1l2.1 2.1c.6.6 1.5.6 2.1 0L26 31.4c.4-.4 1-.4 1.4 0l13.1 13.1c.6.6 1.5.6 2.1 0l2.1-2.1c.6-.6.6-1.5 0-2.1L31.6 27.2c-.3-.4-.3-1 0-1.4z" + } + }, + remove: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M31.6 25.8l13.1-13.1c.6-.6.6-1.5 0-2.1l-2.1-2.1c-.6-.6-1.5-.6-2.1 0L27.4 21.6c-.4.4-1 .4-1.4 0L12.9 8.4c-.6-.6-1.5-.6-2.1 0l-2.1 2.1c-.6.6-.6 1.5 0 2.1l13.1 13.1c.4.4.4 1 0 1.4L8.6 40.3c-.6.6-.6 1.5 0 2.1l2.1 2.1c.6.6 1.5.6 2.1 0L26 31.4c.4-.4 1-.4 1.4 0l13.1 13.1c.6.6 1.5.6 2.1 0l2.1-2.1c.6-.6.6-1.5 0-2.1L31.6 27.2c-.3-.4-.3-1 0-1.4z" + } + }, + remove_relationship: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M36.001 20c0-2.2-1.799-4-4-4H6c-2.199 0-4 1.8-4 4v26c0 2.2 1.801 4 4 4h26.001c2.201 0 4-1.8 4-4V20zM11 35c-.5 0-1-.5-1-1v-2c0-.5.5-1 1-1h16.001c.5 0 1 .5 1 1v2c0 .5-.5 1-1 1H11zm32.001 7h-3v-6h3c.6 0 1-.4 1-1V9c0-.6-.4-1-1-1H17c-.6 0-1 .4-1 1v3h-6V9c0-3.9 3.102-7 7-7h26.001c3.9 0 7 3.1 7 7v26c0 3.9-3.1 7-7 7z" + } + }, + reset_password: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M46.5 4h-3c-.8 0-1.5.7-1.5 1.5v7c0 .9-.5 1.3-1.2.7-.3-.4-.6-.7-1-1-5-5-12-7.1-19.2-5.7-2.5.5-4.9 1.5-7 2.9-6.1 4-9.6 10.5-9.7 17.5-.1 5.4 2 10.8 5.8 14.7 4 4.2 9.4 6.5 15.2 6.5 5.1 0 9.9-1.8 13.7-5 .7-.6.7-1.6.1-2.2l-2.1-2.1c-.5-.5-1.4-.6-2-.1-3.6 3-8.5 4.2-13.4 3-1.3-.3-2.6-.9-3.8-1.6C11.7 36.6 9 30 10.6 23.4c.3-1.3.9-2.6 1.6-3.8C15 14.7 19.9 12 25.1 12c4 0 7.8 1.6 10.6 4.4.5.4.9.9 1.2 1.4.3.8-.4 1.2-1.3 1.2h-7c-.8 0-1.5.7-1.5 1.5v3.1c0 .8.6 1.4 1.4 1.4h18.3c.7 0 1.3-.6 1.3-1.3V5.5C48 4.7 47.3 4 46.5 4z" + } + }, + script: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M44 6.8c-8.8 0-15.6 6.9-15.6 15.7v21.1c0 .8.7 1.5 1.5 1.5h16.7c.8 0 1.5-.7 1.5-1.5V27c0-.8-.7-1.5-1.5-1.5H34.2v-2.9c0-4.9 4.8-9.8 9.7-9.8h2.6c.8 0 1.5-.7 1.5-1.5v-3c0-.8-.7-1.5-1.5-1.5H44zm-24.4 0C10.8 6.8 4 13.7 4 22.6v21.1c0 .8.7 1.5 1.5 1.5h16.7c.8 0 1.5-.7 1.5-1.5V27c0-.8-.7-1.5-1.5-1.5H9.9v-2.9c0-4.9 4.8-9.8 9.7-9.8h2.6c.8 0 1.5-.7 1.5-1.5v-3c0-.8-.7-1.5-1.5-1.5h-2.6z" + } + }, + share: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "path": [{ + "d": "M48.5 30h-3c-.8 0-1.5.7-1.5 1.5v11c0 .8-.7 1.5-1.5 1.5h-33c-.8 0-1.5-.7-1.5-1.5v-21c0-.8.7-1.5 1.5-1.5h4c.8 0 1.5-.7 1.5-1.5v-3c0-.8-.7-1.5-1.5-1.5H6c-2.2 0-4 1.8-4 4v28c0 2.2 1.8 4 4 4h40c2.2 0 4-1.8 4-4V31.5c0-.8-.7-1.5-1.5-1.5z" + }, { + "d": "M34 14c-10 0-19.1 8.9-19.9 19.4-.1.8.6 1.6 1.5 1.6h3c.8 0 1.4-.6 1.5-1.3C20.8 26.2 27.2 20 35 20h1.6c.9 0 1.3 1.1.7 1.7l-5.5 5.6c-.6.6-.6 1.5 0 2.1l2.1 2.1c.6.6 1.5.6 2.1 0L49.6 18c.6-.6.6-1.5 0-2.1L36.1 2.4c-.6-.6-1.5-.6-2.1 0l-2.1 2.1c-.6.6-.7 1.5-.1 2.1l5.6 5.6c.6.6.2 1.7-.7 1.7L34 14z" + }] + } + }, + share_file: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "path": [{ + "d": "M41 16h7.8c.4 0 .7-.5.4-.9l-8.3-8.3c-.4-.3-.9 0-.9.4V15c0 .6.4 1 1 1z" + }, { + "d": "M49 20H38c-1.1 0-2-.9-2-2V7c0-.6-.4-1-1-1H21.5c-.8 0-1.5.7-1.5 1.5v4c0 .4.2.8.4 1.1l5.6 5.6c.8.8 1.4 1.9 1.6 3.1.2 1.6-.3 3.1-1.4 4.3L24.6 27c-.5.5-1 .8-1.6 1.1.7.3 1.5.5 2.3.6 2.6.2 4.7 2.4 4.7 5.1V36c0 1.4-.7 2.8-1.7 3.7-1 1-2.5 1.4-3.9 1.3-1.1-.1-2.1-.3-3.2-.5-.6-.2-1.2.3-1.2 1v3.1c0 .8.7 1.5 1.5 1.5h27c.8 0 1.5-.7 1.5-1.5V21c0-.6-.4-1-1-1z" + }, { + "d": "M26 35.9v-2.2c0-.6-.5-1-1.1-1.1-5.4-.5-9.9-5.1-9.9-10.8v-1.2c0-.6.8-1 1.2-.5l4 4c.4.4 1.1.4 1.5 0l1.5-1.5c.4-.4.4-1.1 0-1.5l-9.7-9.7c-.4-.4-1.1-.4-1.5 0l-9.7 9.7c-.4.4-.4 1.1 0 1.5l1.5 1.5c.4.4 1.1.5 1.5.1l4.2-4c.5-.5 1.4-.1 1.4.5v1.9c0 7.2 6.3 13.8 13.9 14.4.7 0 1.2-.5 1.2-1.1z" + }] + } + }, + share_link: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "path": [{ + "d": "M27.2 41.7l-2.1-.3c-.7-.1-1.4-.3-2.1-.6-.4-.1-.9 0-1.2.3l-.5.5c-2.9 2.9-7.6 3.2-10.6.6-3.4-2.9-3.5-8.1-.4-11.2l7.6-7.6c1-1 2.2-1.6 3.4-2 1.6-.4 3.3-.3 4.8.3.9.4 1.8.9 2.6 1.7.4.4.7.8 1 1.3.4.7 1.3.8 1.8.2l2.8-2.8c.4-.4.4-1 .1-1.5-.4-.6-.9-1.1-1.4-1.6-.7-.7-1.5-1.4-2.4-1.9-1.4-.9-3-1.5-4.7-1.8-3.1-.6-6.5-.1-9.3 1.4-1.1.6-2.2 1.4-3.1 2.3l-7.3 7.3C.9 31.6.5 40.2 5.6 45.6c5.3 5.8 14.3 5.9 19.8.4l2.5-2.5c.7-.5.2-1.7-.7-1.8z" + }, { + "d": "M45.6 5.8c-5.5-5.1-14.1-4.7-19.3.6L24 8.6c-.7.7-.2 1.9.7 2 1.4.1 2.8.4 4.2.8.4.1.9 0 1.2-.3l.5-.5c2.9-2.9 7.6-3.2 10.6-.6 3.4 2.9 3.5 8.1.4 11.2L34 28.8c-1 1-2.2 1.6-3.4 2-1.6.4-3.3.3-4.8-.3-.9-.4-1.8-.9-2.6-1.7-.4-.4-.7-.8-1-1.3-.4-.7-1.3-.8-1.8-.2l-2.8 2.8c-.4.4-.4 1-.1 1.5.4.6.9 1.1 1.4 1.6.7.7 1.6 1.4 2.4 1.9 1.4.9 3 1.5 4.6 1.8 3.1.6 6.5.1 9.3-1.4 1.1-.6 2.2-1.4 3.1-2.3l7.6-7.6c5.6-5.5 5.4-14.5-.3-19.8z" + }] + } + }, + share_poll: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M46.8 2H5.2C3.4 2 2 3.4 2 5.2v6.4c0 1.8 1.4 3.2 3.2 3.2h41.6c1.8 0 3.2-1.4 3.2-3.2V5.2C50 3.4 48.6 2 46.8 2zm-20 9.6V5.2h20v6.4h-20zM46.8 19.6H5.2C3.4 19.6 2 21 2 22.8v6.4c0 1.8 1.4 3.2 3.2 3.2h41.6c1.8 0 3.2-1.4 3.2-3.2v-6.4c0-1.8-1.4-3.2-3.2-3.2zm-27.2 9.6v-6.4h27.2v6.4H19.6zM46.8 37.2H5.2c-1.8 0-3.2 1.4-3.2 3.2v6.4C2 48.6 3.4 50 5.2 50h41.6c1.8 0 3.2-1.4 3.2-3.2v-6.4c0-1.8-1.4-3.2-3.2-3.2zM34 46.8v-6.4h12.8v6.4H34z" + } + }, + share_post: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M26 4C12.7 4 2 13.8 2 26c0 3.9 1.1 7.5 3 10.8.2.4.3.9.2 1.3L3 45c-.4 1.3.8 2.4 2.1 2l7-2.4c.5-.2 1-.1 1.4.2 3.7 2.1 8 3.3 12.6 3.3 13.3 0 24-9.8 24-22C49.8 13.8 39.1 4 26 4z" + } + }, + share_thanks: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M45.2 14h-7c2-3.1 1.8-7.3-.6-9.8C36.2 2.8 34.4 2 32.5 2c-2.1 0-4.2 1-5.7 2.6-.3.3-.6.6-.8 1-.2-.4-.5-.7-.8-1A7.62 7.62 0 0019.5 2c-1.9 0-3.7.8-5 2.2-2.5 2.6-2.6 6.7-.6 9.8h-7C4.2 14 2 16.2 2 18.8V22c0 .9.7 1.6 1.6 1.6h44.8c.9 0 1.6-.7 1.6-1.6v-3.2c0-2.6-2.2-4.8-4.8-4.8zm-21.6 0c-1.7 0-4.1-.6-5.4-2.1-1.2-1.3-1.4-3.4-.2-4.4.5-.5 1-.6 1.5-.6.8 0 1.6.4 2.2 1 1.4 1.5 1.9 4.1 1.9 5.7v.4zm10.2-2.1C32.4 13.3 30 14 28.4 14v-.5c0-1.6.6-4.2 1.9-5.7.6-.6 1.4-1 2.2-1 .4 0 1 .1 1.6.6 1 1.2.9 3.2-.3 4.5zM45.2 28.4H28.4V50h13.8c2.6 0 4.6-2.1 4.6-4.6V30c0-.9-.7-1.6-1.6-1.6zM5.2 30v15.2c0 2.6 2.2 4.8 4.8 4.8h13.6V28.4H6.8c-.9 0-1.6.7-1.6 1.6z" + } + }, + sort: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "path": { + "d": "M27.5 16c.6-.6.6-1.5 0-2.1L16.1 2.4c-.6-.6-1.5-.6-2.1 0L2.5 13.9c-.6.6-.6 1.5 0 2.1l2.1 2.1c.6.6 1.5.6 2.1 0l3.6-3.6c.6-.6 1.7-.2 1.7.7v21.2c0 .8.7 1.5 1.5 1.5h3c.8 0 1.5-.8 1.5-1.5V15.2c0-.9 1.1-1.3 1.7-.7l3.6 3.6c.6.6 1.5.6 2.1 0l2.1-2.1zM49.5 36l-2.1-2c-.6-.6-1.5-.6-2.1 0l-3.6 3.6c-.6.6-1.7.2-1.7-.7V15.5c0-.8-.7-1.5-1.5-1.5h-3c-.8 0-1.5.8-1.5 1.5v21.2c0 .9-1.1 1.3-1.7.7l-3.6-3.6c-.6-.6-1.5-.6-2.1 0L24.5 36c-.6.6-.6 1.5 0 2.1L36 49.6c.6.6 1.5.6 2.1 0l11.5-11.5c.5-.6.5-1.6-.1-2.1z" + } + } + }, + submit_for_approval: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M45.2 29.2h-8.8c-2.6 0-4.8-2.2-4.8-4.8.4-7.1 3.7-7.5 4-12.1.3-4.8-2.7-9.1-7.4-10.1C22 .9 16.4 5.6 16.4 11.6c0 5.3 3.6 5.3 4 12.8 0 2.6-2.2 4.8-4.8 4.8H6.8C4.2 29.2 2 31.3 2 34v3.2c0 .9.7 1.6 1.6 1.6h44.8c.9 0 1.6-.7 1.6-1.6V34c0-2.7-2.2-4.8-4.8-4.8zM45.3 43.6H6.7c-.9 0-1.5.7-1.5 1.5v.1c0 2.6 2.2 4.8 4.8 4.8h32.1c2.6 0 4.7-2.2 4.7-4.8v-.1c0-.8-.7-1.5-1.5-1.5z" + } + }, + update: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M26 2C12.7 2 2 12.7 2 26s10.7 24 24 24 24-10.7 24-24S39.3 2 26 2zm9 15.5c0 .8-.7 1.5-1.5 1.5H24c-.6 0-1 .4-1 1v2c0 .6.4 1 1 1h4c3.9 0 7 3.1 7 7v2c0 3.9-3.1 7-7 7h1v2c0 1.1-.9 2-2 2s-2-.9-2-2v-2h-6.5c-.8 0-1.5-.7-1.5-1.5v-3c0-.8.7-1.5 1.5-1.5H28c.6 0 1-.4 1-1v-2c0-.6-.4-1-1-1h-4c-3.9 0-7-3.1-7-7v-2c0-3.9 3.1-7 7-7h1v-2c0-1.1.9-2 2-2s2 .9 2 2v2h4.5c.8 0 1.5.7 1.5 1.5v3z" + } + }, + update_status: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "path": [{ + "d": "M29.8 30.6l1.6 1.6c.4.4 1 .4 1.4 0l4.6-4.7c.4-.4.6-.9.6-1.4V8c0-1.7-1.3-3-3-3H5C3.3 5 2 6.3 2 8v22c0 1.7 1.3 3 3 3h13.7c.5 0 1-.2 1.4-.6l1.7-1.7c.8-.8 1.8-1.4 2.9-1.6 1.8-.4 3.7.2 5.1 1.5zM10 14c0-.6.4-1 1-1h18c.6 0 1 .4 1 1v2c0 .6-.4 1-1 1H11c-.6 0-1-.4-1-1v-2zm1 11c-.6 0-1-.4-1-1v-2c0-.6.4-1 1-1h14c.6 0 1 .4 1 1v2c0 .6-.4 1-1 1H11z" + }, { + "d": "M49.5 27.7l-2.2-2.2c-.6-.6-1.6-.6-2.2 0L32.8 37.9c-.4.4-1.1.4-1.5 0l-4.4-4.5c-.6-.6-1.6-.6-2.2 0l-2.2 2.2c-.6.6-.6 1.6 0 2.2l8.5 8.6c.6.6 1.6.6 2.2 0L49.5 30c.7-.7.7-1.7 0-2.3z" + }] + } + }, + upload: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "path": [{ + "d": "M48.5 31h-3c-.8 0-1.5.8-1.5 1.5v10c0 .8-.7 1.5-1.5 1.5h-33c-.8 0-1.5-.7-1.5-1.5v-10c0-.7-.7-1.5-1.5-1.5h-3c-.8 0-1.5.8-1.5 1.5V46c0 2.2 1.8 4 4 4h40c2.2 0 4-1.8 4-4V32.5c0-.7-.7-1.5-1.5-1.5z" + }, { + "d": "M27 2.4c-.6-.6-1.5-.6-2.1 0L11.4 15.9c-.6.6-.6 1.5 0 2.1l2.1 2.1c.6.6 1.5.6 2.1 0l5.6-5.6c.6-.6 1.8-.2 1.8.7v21.2c0 .8.6 1.5 1.4 1.5h3c.8 0 1.6-.8 1.6-1.5V15.3c0-.9 1-1.3 1.7-.7l5.6 5.6c.6.6 1.5.6 2.1 0l2.1-2.1c.6-.6.6-1.5 0-2.1L27 2.4z" + }] + } + }, + user: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M50 43v2.2c0 2.6-2.2 4.8-4.8 4.8H6.8C4.2 50 2 47.8 2 45.2V43c0-5.8 6.8-9.4 13.2-12.2l.6-.3c.5-.2 1-.2 1.5.1 2.6 1.7 5.5 2.6 8.6 2.6s6.1-1 8.6-2.6c.5-.3 1-.3 1.5-.1l.6.3C43.2 33.6 50 37.1 50 43zM26 2c6.6 0 11.9 5.9 11.9 13.2S32.6 28.4 26 28.4s-11.9-5.9-11.9-13.2S19.4 2 26 2z" + } + }, + user_activation: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "path": { + "d": "M27.5 16c.6-.6.6-1.5 0-2.1L16.1 2.4c-.6-.6-1.5-.6-2.1 0L2.5 13.9c-.6.6-.6 1.5 0 2.1l2.1 2.1c.6.6 1.5.6 2.1 0l3.6-3.6c.6-.6 1.7-.2 1.7.7v21.2c0 .8.7 1.6 1.5 1.6h3c.8 0 1.5-.9 1.5-1.6V15.2c0-.9 1.1-1.3 1.7-.7l3.6 3.6c.6.6 1.5.6 2.1 0l2.1-2.1zM49.5 36l-2.1-2c-.6-.6-1.5-.6-2.1 0l-3.6 3.6c-.6.6-1.7.2-1.7-.7V15.5c0-.8-.7-1.5-1.5-1.5h-3c-.8 0-1.5.8-1.5 1.5v21.2c0 .9-1.1 1.3-1.7.7l-3.6-3.6c-.6-.6-1.5-.6-2.1 0L24.5 36c-.6.6-.6 1.5 0 2.1L36 49.6c.6.6 1.5.6 2.1 0l11.5-11.5c.5-.6.5-1.6-.1-2.1z" + } + }, + "path": { + "d": "M16 46h-2c-1.1 0-2-.9-2-2v-2c0-1.1.9-2 2-2h2c1.1 0 2 .9 2 2v2c0 1.1-.9 2-2 2zM38 12h-2c-1.1 0-2-.9-2-2V8c0-1.1.9-2 2-2h2c1.1 0 2 .9 2 2v2c0 1.1-.9 2-2 2z" + } + }, + view_relationship: { + "xmlns": "http://www.w3.org/2000/svg", + "path": [{ + "d": "M36 20c0-2.2-1.8-4-4-4H6c-2.2 0-4 1.8-4 4v26c0 2.2 1.8 4 4 4h26c2.2 0 4-1.8 4-4V20z" + }, { + "d": "M43 42h-3v-6h3c.6 0 1-.4 1-1V9c0-.6-.4-1-1-1H17c-.6 0-1 .4-1 1v3h-6V9c0-3.9 3.1-7 7-7h26c3.9 0 7 3.1 7 7v26c0 3.9-3.1 7-7 7z" + }] + }, + web_link: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M27 2C13.7 2 3 12.7 3 26s10.7 24 24 24 24-10.7 24-24S40.3 2 27 2zm3 34.3c-1.5 1.5-2 4.4-2.6 6.4-.1.4-.4.8-.8 1l-1 .5c-.6.3-1.3.2-1.8-.3-1-.9-1.8-2.3-1.8-3.7 0-2.4-4-1.6-4-6.4 0-3.9-5-6.2-8.6-4.5-.3.1-.6.3-.9.3-.6.2-1.2-.2-1.3-.8C7.1 27.9 7 27 7 26c0-4.8 1.7-9.2 4.5-12.6 0-.1.1-.1.2-.1 2.4-2.8 5.5-5 9.1-6.2.9-.3 1.7.7 1.2 1.5-.4.6-.6 1.2-.6 1.7.1 2.1-1.9 3.4-2.8 3.1-.8-.3-3 1.1-1 2.1l1.1.5c.1 0 .2.1.2.1l.3.2c3.6 2.1 2.9 3.8 1.4 6.4-1.7 2.8-2.4 0-4.8-.8s-4.8.8-4 2.4c.8 1.6 3.2 0 4.8 1.6 1.6 1.6 1.6 4 6.4 2.4 4.8-1.6 5.6-.8 7.2.8 1.4 1.6 2.2 4.8-.2 7.2zm12.7-.2c-1.9-2.2 0-7.3-2.3-10.2-2.5-3.1-5.7.1-8.8-4.8-2.9-4.7.8-8.6 4.6-9.9 1-.4 2.1-.5 3.2-.5.2 0 .5.1.7.3 4.2 3.6 6.9 9 6.9 15 0 3.6-1 7-2.6 9.9-.4.6-1.2.7-1.7.2z" + } + }, + viewBox: '0 0 52 52' + }; +} + +/* harmony default export */ var icons_action = (action_icons); +// CONCATENATED MODULE: ./icons/custom/index.js +/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */ + +/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */ +var custom_icons = {}; + +if (true) { + custom_icons = { + custom1: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M54.3 74.1a5.983 5.983 0 01-8.7 0c-7.2-7.699-21-22.399-21-22.5-6.2-6.5-6.2-17.2 0-23.7 3-3.2 7-4.9 11.3-4.9 4.3 0 8.3 1.7 11.3 4.9l1.2 1.5c.8 1 2.4 1 3.2 0l1-1.3.2-.2c3.101-3.3 7.101-5 11.3-5 4.301 0 8.301 1.7 11.301 4.9 6.199 6.5 6.199 17.2 0 23.7C75.3 51.7 61.6 66.4 54.3 74.1z" + } + }, + custom10: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M69.8 77.9c-9.399 3.8-24.2 2.8-32.3-6C18 50.8 35.1 20 58.6 20c3.9 0 7.7.8 11.2 2.2 1.5.6 1.601 2.6.4 3.5C62.6 31.1 57.6 40 57.6 50c0 10.1 4.9 19 12.5 24.4 1.3.9 1.1 2.9-.3 3.5z" + } + }, + custom100: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "path": { + "d": "M61.9 72H38.1c-.7 0-1.1.6-1 1.3 1 3.8 6.4 6.7 12.8 6.7 6.5 0 11.9-2.9 12.8-6.7.3-.7-.2-1.3-.8-1.3zM74 26H26c-3.3 0-6 2.7-6 6v28c0 3.3 2.7 6 6 6h48c3.3 0 6-2.7 6-6V32c0-3.3-2.7-6-6-6zm0 32c0 1.1-.9 2-2 2H28c-1.1 0-2-.9-2-2V34c0-1.1.9-2 2-2h44c1.1 0 2 .9 2 2v24z" + } + } + }, + custom101: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M44.885 38.655a7.47 7.47 0 11-.066 14.938 7.47 7.47 0 01.066-14.938zm.505 31.491c.538-.239 1.168-.598 1.939-1.016a36.418 36.418 0 015.889-2.835 39.1 39.1 0 01-1.64-3.765c0-.086-.06-.205-.093-.298a17.263 17.263 0 01-6.6 1.328c-9.46.01-17.2-7.53-17.437-16.986-.237-9.457 7.116-17.375 16.564-17.838 9.449-.463 17.54 6.698 18.23 16.133 3.916.418 6.12 2.357 7.303 4.515.155-1.08.235-2.169.239-3.26.026-13.608-10.881-24.716-24.488-24.936-13.607-.221-24.869 10.526-25.284 24.128-.416 13.602 10.17 25.017 23.764 25.627a26.026 26.026 0 011.614-.81v.013zm29.878 2.238c-2.33-1.05-5.77-3.705-10.876-4.602 1.328-1.4 2.298-3.585 3.32-6.181.598-1.494.478-2.782.478-4.601 0-1.328.24-3.5-.086-4.688C66.968 48.328 64.12 47.2 60.8 47.2c-3.32 0-6.181 1.108-7.303 5.139-.326 1.195-.087 3.32-.087 4.687 0 1.826-.093 3.108.478 4.601 1.016 2.603 1.992 4.78 3.32 6.188-5.125.93-8.538 3.586-10.862 4.602-4.78 2.118-4.807 4.455-4.807 4.455v3.944h38.45v-3.944c.06 0 .06-2.357-4.754-4.482l.033-.006z", + "fill-rule": "evenodd" + } + }, + custom102: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M31.179 60.7h-8.75a1.157 1.157 0 00-1.179 1.143V79.57a1.157 1.157 0 001.179 1.158h8.75a1.157 1.157 0 001.178-1.158V61.836a1.136 1.136 0 00-1.178-1.143v.007zm16.142-5.464h-8.75a1.157 1.157 0 00-1.142 1.135v23.25a1.157 1.157 0 001.178 1.143h8.714a1.157 1.157 0 001.179-1.143v-23.25a1.157 1.157 0 00-1.179-1.142v.007zM63.43 35.157h-8.75A1.157 1.157 0 0053.5 36.3v43.321a1.157 1.157 0 001.179 1.143h8.75a1.157 1.157 0 001.178-1.143V36.3a1.114 1.114 0 00-1.178-1.143zM79.57 21.23h-8.75a1.157 1.157 0 00-1.178 1.142v57.25a1.157 1.157 0 001.178 1.143h8.75a1.157 1.157 0 001.179-1.143v-57.25a1.157 1.157 0 00-1.179-1.142z", + "fill-rule": "evenodd" + } + }, + custom103: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M76.14 54.901c-1.625-.77-4.012-2.713-7.553-3.365.913-1.03 1.591-2.609 2.302-4.513a8.824 8.824 0 00.352-3.365c0-.972.176-2.57-.058-3.45-.796-2.948-2.772-3.75-5.074-3.75s-4.311.828-5.074 3.776c-.235.854-.059 2.445-.059 3.424a9.046 9.046 0 00.352 3.39c.711 1.918 1.39 3.51 2.302 4.514a16.435 16.435 0 00-4.865 1.891 39.241 39.241 0 015.048 2.609c.796.47 1.507.887 2.067 1.148 2.713 1.272 4.22 2.654 5.107 3.913h8.543V58.2s-.058-1.741-3.39-3.306v.006zm-42.014 2.29c.561-.268 1.272-.653 2.067-1.149a38.074 38.074 0 015.074-2.608 16.52 16.52 0 00-4.95-1.898c.913-1.03 1.592-2.609 2.303-4.513a8.824 8.824 0 00.352-3.365c0-.972.176-2.57-.059-3.45-.796-2.948-2.772-3.75-5.074-3.75s-4.304.828-5.074 3.75c-.267.854-.091 2.445-.091 3.424a9.046 9.046 0 00.352 3.39c.711 1.918 1.39 3.51 2.302 4.514-3.508.652-5.87 2.609-7.493 3.365-3.333 1.565-3.365 3.261-3.365 3.261v2.89h8.582a13.096 13.096 0 015.074-3.862zm30.887 1.956c-2.42-1.122-6.02-4.044-11.328-5.048 1.356-1.533 2.387-3.913 3.45-6.757.652-1.65.502-3.039.502-5.047 0-1.474.267-3.835-.091-5.133-1.18-4.396-4.129-5.609-7.611-5.609-3.483 0-6.444 1.246-7.605 5.674-.326 1.272-.058 3.626-.058 5.107 0 2.008-.092 3.424.502 5.048 1.063 2.863 2.067 5.25 3.424 6.782-5.283 1.03-8.824 3.913-11.244 5.048-4.989 2.328-4.989 4.898-4.989 4.898v4.337h40.037v-4.344s0-2.57-4.989-4.924v-.032z", + "fill-rule": "evenodd" + } + }, + custom104: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M72.72 20.574H27.28a3.088 3.088 0 00-3.045 3.088v15.485h51.486V23.706a3.088 3.088 0 00-3-3.132zM45.457 42.279v37.147H72.72a3.088 3.088 0 003.044-3.088V42.28h-30.31zm-21.177 0v34.06a3.062 3.062 0 003.045 3.087h15.132V42.28H24.279z", + "fill-rule": "evenodd" + } + }, + custom105: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M76.053 26.316H23.947a3.6 3.6 0 00-3.552 3.623v2.558a.892.892 0 00.316.71l26.273 21.53a4.263 4.263 0 005.93 0l26.273-21.553a.892.892 0 00.316-.71V29.97a3.576 3.576 0 00-3.45-3.655zM20.418 37.929a.868.868 0 01.498-.79.79.79 0 01.955.143l12.75 11.297a.79.79 0 01.284.64.94.94 0 01-.244.67L21.91 61.93a.79.79 0 01-.956.213.86.86 0 01-.529-.853V37.93h-.008zm0 29.21a.971.971 0 01.285-.67l16.05-14.977a.837.837 0 011.168 0l6.782 6.04a7.697 7.697 0 0010.547 0l6.782-6.04a.868.868 0 011.168 0l16.058 14.945a.908.908 0 01.284.67v2.914a3.608 3.608 0 01-3.553 3.663H23.947a3.608 3.608 0 01-3.552-3.655v-2.913l.023.023zm59.156-5.857a.908.908 0 01-.53.852.868.868 0 01-.955-.213L65.34 49.858a.94.94 0 01-.244-.671.79.79 0 01.316-.64l12.75-11.329a.79.79 0 01.923-.102.9.9 0 01.53.79v23.352l-.04.024z", + "fill-rule": "evenodd" + } + }, + custom106: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M49.643 20.543c-11.905.079-21.496 9.787-21.429 21.693 0 17.585 21.429 37.221 21.429 37.221S71.07 59.05 71.07 42.236c.056-11.9-9.528-21.603-21.428-21.693zm0 31.021a9.286 9.286 0 119.193-9.328 9.286 9.286 0 01-9.193 9.321v.007z", + "fill-rule": "evenodd" + } + }, + custom107: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M77.734 51.48h-5.968v26.188a1.221 1.221 0 01-1.295 1.27H58.545a1.189 1.189 0 01-1.04-1.295V57.447H42.987v20.221c.049.63-.405 1.19-1.033 1.27H30.029a1.221 1.221 0 01-1.295-1.295V51.48h-5.968c-.516 0-1.04-.263-1.04-.78-.263-.516-.263-1.04.262-1.294L49.47 21.922c.517-.516 1.295-.516 1.558 0L78.512 49.43c.517.263.517.779.263 1.295-.255.517-.517.78-1.041.78v-.025z", + "fill-rule": "evenodd" + } + }, + custom108: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "fill-rule": "evenodd", + "path": [{ + "d": "M47.9 60.35l.42-2.82 3.96-2.73-.87-3.72h-.54l-4.2-.33-1.62-2.28.93-4.8-3.12-2.01-.39.39-3.15 2.79-2.7-.42-2.64-4.08-3.57.9v.57l-.3 4.29-2.22 1.68-4.68-.99-1.92 3.27.36.42 2.7 3.27-.39 2.82-3.96 2.7.87 3.69.54.06 4.14.33 1.65 2.25-.96 4.8 3.15 1.98.42-.36 3.15-2.82 2.7.42 2.61 4.08 3.6-.9v-.6l.27-4.2 2.22-1.68 4.62.99 1.92-3.27-.36-.42-2.64-3.24v-.03zm-5.49.66a7.2 7.2 0 01-10.08 2.55 7.8 7.8 0 01-2.49-10.44 7.2 7.2 0 0110.08-2.58 7.8 7.8 0 012.49 10.47z" + }, { + "d": "M75.65 46.28l.42-2.82 3.93-2.7-.87-3.69h-.54l-4.14-.33-1.65-2.34.93-4.8-3.15-1.98-.42.36-3.15 2.79-2.7-.42-2.58-4.08-3.6.9-.06.6L57.8 32l-2.22 1.68-4.62-.96-1.92 3.27.36.45 2.7 3.27-.42 2.82-3.93 2.67.87 3.72h.54l4.14.33 1.62 2.31-.96 4.8 3.15 2.04.42-.36 3.15-2.82 2.7.42 2.61 4.08 3.57-.9.03-.57.3-4.29 2.22-1.68 4.65.96 1.92-3.27-.36-.42-2.67-3.27zm-5.52.66a7.2 7.2 0 01-10.08 2.55 7.752 7.752 0 01-2.46-10.44 7.2 7.2 0 0110.08-2.58 7.8 7.8 0 012.46 10.47z" + }] + } + }, + custom109: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M79.651 46.442l-1.395-2.093-4.06 1.751c-5.247-8.449-14.854-14.651-24.88-14.651-14.881-.007-28.967 13.716-28.967 28.249v.893l.063 1.186h7.116l-.09-1.186a8.33 8.33 0 010-.858c0-11.742 9.815-21.321 21.885-21.321a22.019 22.019 0 0118.768 10.381l-13.905 6.042a8.135 8.135 0 00-8.923-.977 7.674 7.674 0 00-3.349 10.528 8.1 8.1 0 0010.793 3.293 7.744 7.744 0 004.242-7.71l12.9-7.674a20.623 20.623 0 011.395 7.445v.858l-.09 1.186h7.116l.063-1.186a8.623 8.623 0 000-.893 25.165 25.165 0 00-2.652-10.891l3.97-2.372z", + "fill-rule": "evenodd" + } + }, + custom11: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M52.2 21.4l8 16.9L77.9 41c2 .3 2.8 2.9 1.3 4.3L66.4 58.5l3 18.5c.3 2.1-1.7 3.7-3.5 2.7L50 70.9l-15.9 8.8c-1.8 1-3.9-.601-3.5-2.7l3-18.5-12.9-13.2c-1.4-1.5-.6-4 1.3-4.3l17.8-2.7 8-16.9c.9-1.9 3.5-1.9 4.4 0z" + } + }, + custom110: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M61.714 20.229H38.286a5.986 5.986 0 00-6.143 5.928v47.536a6.129 6.129 0 006.143 6.071h23.428a6.129 6.129 0 006.143-6.071V26.157a5.986 5.986 0 00-6.143-5.928zm-16.071 3.428h8.714a.55.55 0 01.536.536.607.607 0 01-.536.536h-8.714a.536.536 0 110-1.072zm7.75 51.857a.643.643 0 01-.714.536h-5.536a.55.55 0 01-.536-.536v-2.5c0-.25.286-.643.536-.643h5.571a.714.714 0 01.715.643v2.5h-.036zm10.928-7.357a.629.629 0 01-.678.643H36.357a.629.629 0 01-.714-.643v-39.5a.75.75 0 01.714-.786h27.25c.4.038.7.385.679.786v39.5h.035z", + "fill-rule": "evenodd" + } + }, + custom111: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "fill-rule": "evenodd", + "path": { + "d": "M53.373 45.053c-.06 0-.093 0-.12-.06-2.306-.993-5.7-3.66-10.74-4.566 1.287-1.334 2.28-3.507 3.267-6.087.573-1.473.48-2.733.48-4.533 0-1.334.24-3.447-.093-4.62-1.107-4-3.9-5.074-7.2-5.074-3.3 0-6.12 1.114-7.234 5.074-.326 1.166-.06 3.3-.06 4.62 0 1.8-.093 3.06.48 4.56 1.02 2.553 2 4.713 3.24 6.086-4.98.934-8.373 3.54-10.666 4.534C20.047 47.12 20 49.4 20 49.4v7.593h23.653a20.1 20.1 0 019.72-11.94zM62.827 70.46a7.767 7.767 0 117.766-7.793 7.773 7.773 0 01-7.766 7.793zM80 64.547v-3.88l-.54-.18-4.2-1.334-1.107-2.666 2.127-4.527-2.76-2.76-.513.267-3.9 2-2.667-1.114-1.68-4.706h-3.947l-.146.486-1.38 4.167-2.667 1.113L52 49.28l-2.733 2.76.266.513 2 3.927-1.113 2.667-4.707 1.68v3.9l.54.18 4.174 1.38 1.113 2.666-2.207 4.6 2.76 2.76.507-.266 3.933-2L59.2 75.16l1.68 4.707h3.9l.18-.54 1.38-4.167 2.667-1.113 4.533 2.126 2.76-2.76-.267-.506-2-3.9 1.107-2.667L80 64.547z" + } + } + }, + custom112: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M51.121 50.166a56.676 56.676 0 00-25.737 0 7.271 7.271 0 00-4.973 6.513v5.25a7.192 7.192 0 004.973 6.513c.79.197 1.58.316 2.369.474l6.67 9.552c1.224 1.737 2.211 1.421 2.211-.71v-7.895c4.87.16 9.74-.318 14.487-1.42a7.271 7.271 0 004.974-6.514v-5.25a7.16 7.16 0 00-4.974-6.513zm23.526-27.632a72.15 72.15 0 00-35.052 0 7.279 7.279 0 00-4.974 6.553v9.316a7.279 7.279 0 004.974 6.552 71.424 71.424 0 0019.579 2.092v10.974c0 2.092.987 2.447 2.17.71l8.961-12.789a75.61 75.61 0 004.303-.947 7.279 7.279 0 004.974-6.553v-9.316a7.184 7.184 0 00-4.935-6.552v-.04z", + "fill-rule": "evenodd" + } + }, + custom113: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "fill-rule": "evenodd", + "path": { + "d": "M27.16 59.042h45.735a.64.64 0 00.592-.631V26.816c0-.671-.513-.987-1.184-.987h-44.55c-.632 0-1.303.316-1.303.987v31.579c0 .316.395.631.71.631v.016zm3.893-27.947a.608.608 0 01.592-.592H68.3a.608.608 0 01.592.592v22.697a.608.608 0 01-.592.592H31.621a.608.608 0 01-.592-.592V31.095h.024zM79.463 73.34l-5.842-11.843a.663.663 0 00-.513-.355H26.884a.663.663 0 00-.513.355L20.53 73.34a1.255 1.255 0 001.05 1.856H78.42a1.263 1.263 0 001.026-1.856h.016zm-23.479-.735h-11.92a.387.387 0 01-.277-.552l1.697-3.237a.663.663 0 01.513-.355h8.014c.204.009.393.11.513.276l1.697 3.316c.118.197 0 .552-.237.552z" + } + } + }, + custom12: { + "xmlns": "http://www.w3.org/2000/svg", + "circle": { + "cx": "50", + "cy": "50", + "r": "30" + } + }, + custom13: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "path": { + "d": "M74 22H26c-3.3 0-6 2.7-6 6v6c0 1.1.9 2 2 2h56c1.1 0 2-.9 2-2v-6c0-3.3-2.7-6-6-6zM74 42H26c-1.1 0-2 .9-2 2v28c0 3.3 2.7 6 6 6h40c3.3 0 6-2.7 6-6V44c0-1.1-.9-2-2-2zm-13 9c0 1.6-1.3 3-3 3H42c-1.6 0-3-1.3-3-3 0-1.6 1.3-3 3-3h16c1.7 0 3 1.3 3 3z" + } + } + }, + custom14: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "path": [{ + "d": "M78 33h-6c-1.3 0-2.6-.6-3.6-1.5l-4.8-4.1c-1-.8-2.3-1.4-3.6-1.4H48.3c-1.5 0-2.9.6-4 1.7l-6.2 5.1c-.5.4-.5 1.2-.1 1.7l1.9 1.8c1.3 1 3 1.2 4.3.3l5.5-3.3c.7-.5 1.7-.3 2.3.3l17.3 16.8c.4.4.7 1 .7 1.6v4.5c0 1.2.9 2.5 2 2.5h6c1.1 0 2-.9 2-2.1V35c0-1.2-.9-2-2-2z" + }, { + "d": "M61 51L50.2 40.5l-3 1.8c-1.5.9-3.2 1.4-4.9 1.4-2.1 0-4.3-.8-6-2.2l-3.9-3.2c-.9-.7-1.4-1.5-1.5-2.6-.2-1.1-1-1.7-2-1.7H22c-1.1 0-2 .6-2 1.8V54c0 1.2.9 2 2 2h4c.3 0 .7-1.1 1.1-1.6 1.5-2 3.7-3.101 6.1-3.4 2.4-.2 4.7.6 6.6 2.3l12.5 11.4c1.101 1 1.9 2.1 2.4 3.5.3.7 1.1.899 1.6.399L61 63.9c2.4-2.4 4.2-8 2-10.601L61 51z" + }, { + "d": "M35.9 58.4c-1.3-1.2-3.2-1-4.2.399-1.1 1.4-.9 3.4.4 4.601l12.5 11.3c.6.6 1.4.8 2.2.7.8-.101 1.5-.5 2-1.2 1.1-1.4.9-3.4-.4-4.601L35.9 58.4z" + }] + } + }, + custom15: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "path": [{ + "d": "M70 46.1c-3.5-1.5-4-2.8-4-4.2 0-1.5 1-2.8 2.2-3.9 2.1-1.9 3.2-4.5 3.2-7.5 0-5.6-3.5-10.5-9.801-10.5C56.2 20 52.9 23.6 52 28.2c-.1.4.1.8.4 1 4.5 3.2 7.3 8.6 7.3 15.1 0 4.5-1.5 8.601-4.3 11.7-.4.5-.3 1.3.4 1.6 1.7.7 3.7 1.7 5.7 2.801.6.399 1.3.6 2 .6H75c2.8 0 5-2.2 5-4.9v-.8C80 50.8 75.1 48.3 70 46.1z" + }, { + "d": "M52.1 62.6c-4.2-1.699-4.8-3.3-4.8-5 0-1.699 1.2-3.3 2.6-4.6 2.4-2.2 3.8-5.2 3.8-8.8 0-6.6-4.2-12.3-11.6-12.3s-11.6 5.7-11.6 12.3c0 3.6 1.3 6.6 3.8 8.8 1.4 1.2 2.6 2.9 2.6 4.6 0 1.7-.6 3.2-4.8 5-6.1 2.5-11.9 5.4-12 10.7v.9c0 3.2 2.7 5.8 6 5.8H58c3.3 0 6-2.6 6-5.8v-.9c0-5.3-5.8-8.2-11.9-10.7z" + }] + } + }, + custom16: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "path": { + "d": "M72 70h-1V48c0-1.1-.9-2-2-2h-2c-1.1 0-2 .9-2 2v22h-6V48c0-1.1-.9-2-2-2h-2c-1.1 0-2 .9-2 2v22h-6V48c0-1.1-.9-2-2-2h-2c-1.1 0-2 .9-2 2v22h-6V48c0-1.1-.9-2-2-2h-2c-1.1 0-2 .9-2 2v22h-1c-3.3 0-6 2.7-6 6v2c0 1.1.9 2 2 2h52c1.1 0 2-.9 2-2v-2c0-3.3-2.7-6-6-6zM77 34.4L52.3 20.8c-.7-.5-1.5-.8-2.3-.8-.8 0-1.6.3-2.3.8L23 34.4c-.6.4-1 1-1 1.7V38c0 1.1.9 2 2 2h52c1.1 0 2-.9 2-2v-1.8c0-.7-.4-1.4-1-1.8zM50 36c-2.8 0-5-2.2-5-5s2.2-5 5-5 5 2.2 5 5-2.2 5-5 5z" + } + } + }, + custom17: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "path": { + "d": "M43 28.9c.3.7 1 1.1 1.8 1.1H55c.8 0 1.5-.4 1.8-1.1l4-7.4c.3-.7-.2-1.4-.899-1.4H40.1c-.7 0-1.2.8-.9 1.4l3.8 7.4zM55.9 36H44c-9.9 0-18 8.1-18 18v20c0 3.3 2.7 6 6 6h35.9c3.3 0 6.1-2.7 6.1-6V54c0-9.9-8.2-18-18.1-18zM53 69.6V73c0 .6-.6 1-1.2 1h-4c-.6 0-.8-.4-.8-1v-3.3c-3-.601-5.5-1.9-6.2-2.5-.8-.7-1-1.4-.4-2.3l1.3-2c.3-.5.9-.801 1.5-.801.4 0 .7.101 1 .301h.1c2 1.199 3.8 1.8 5.1 1.8 1.4 0 2.5-.7 2.5-1.5 0-.601-.4-1.601-4.2-2.9-3.4-1.2-7.6-3.3-7.6-7.899 0-2.7 1.8-5.9 6.8-6.9v-3c0-.6.3-1 .8-1h4c.6 0 1.2.4 1.2 1v3c2 .5 4.199 1.5 4.899 2 .4.2.601.7.7 1.2s-.1 1-.4 1.3l-1.5 1.8c-.399.5-1.1.9-1.699.9-.3-.001-.6-.101-.9-.201-2-1.1-3.7-1.7-4.8-1.7-1.7 0-2.4.8-2.4 1.3 0 .7.4 1.5 3.8 2.7 4.2 1.4 8.9 3.601 8.9 8.3.1 3.2-2.5 6.1-6.5 7z" + } + } + }, + custom18: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "path": [{ + "d": "M60 36h10.6c.801 0 1.4-.6 1.4-1.4 0-.4-.1-.7-.4-1L58.4 20.4c-.3-.3-.6-.4-1-.4-.8 0-1.4.6-1.4 1.4V32c0 2.2 1.8 4 4 4zM83.4 49.6l-1.2-1.2c-.8-.8-2-.8-2.8 0L64 63.9c-.1.1 0 .2 0 .4v3.3c0 .301 0 .5.3.5h3.3c.1 0 .3-.1.4-.1l15.4-15.4c.8-1 .8-2.2 0-3z" + }, { + "d": "M70.9 74h-9.1c-2.1 0-3.8-1.7-3.8-3.8v-7c0-1.101.3-2.101 1.1-2.8L71.4 48c.399-.4.6-.9.6-1.4V44c0-1.1-.9-2-2-2H56c-3.3 0-6-2.7-6-6V22c0-1.1-.9-2-2-2H28c-3.3 0-6 2.7-6 6v48c0 3.3 2.7 6 6 6h38c2.9 0 5.4-2.1 5.9-4.8.1-.6-.4-1.2-1-1.2zM30 38c0-1.1.9-2 2-2h8c1.1 0 2 .9 2 2v2c0 1.1-.9 2-2 2h-8c-1.1 0-2-.9-2-2v-2zm20 26c0 1.1-.9 2-2 2H32c-1.1 0-2-.9-2-2v-2c0-1.1.9-2 2-2h16c1.1 0 2 .9 2 2v2zm4-12c0 1.1-.9 2-2 2H32c-1.1 0-2-.9-2-2v-2c0-1.1.9-2 2-2h20c1.1 0 2 .9 2 2v2z" + }] + } + }, + custom19: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M79.2 32.8c-.2-.7-1.101-.9-1.7-.4L67.4 42.5c-.801.8-2 .8-2.801 0l-7.1-7.1c-.8-.8-.8-2 0-2.8l10.2-10.2c.5-.5.3-1.4-.4-1.7C65.6 20.3 63.8 20 62 20c-10.6 0-19.1 9.2-17.9 20 .2 1.7.6 3.2 1.2 4.7L22 68.1c-2.7 2.7-2.7 7.2 0 9.9 1.4 1.4 3.2 2.1 5 2.1s3.6-.699 5-2.1l23.3-23.3c1.5.6 3.101 1 4.7 1.2 10.9 1.2 20-7.3 20-17.9 0-1.8-.3-3.6-.8-5.2z" + } + }, + custom2: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "path": { + "d": "M59 22c-3-2-13.8-3.9-18 3-2 3.3.4 9.1 2.2 12.8.5.9 1.5 1.4 2.5 1 1.3-.5 2.8-.8 4.3-.8 1 0 2 .1 3 .4.9.2 1.8-.2 2.2-1 .7-1.3 1.899-2.8 3.8-4.4 5-4 3-9 0-11zM53.8 61.4c-1.2.4-2.5.6-3.8.6-1.2 0-2.4-.2-3.5-.5-.9-.3-1.9.2-2.3 1-.7 1.3-1.9 2.9-3.9 4.5-5 4-3 9.1 0 11.1s13.9 3.9 18-3c1.9-3.199-.3-9-2.1-12.699-.5-.901-1.5-1.301-2.4-1.001zM75 41c-3.3-2-9.1.4-12.8 2.2-.9.5-1.4 1.5-1 2.5.5 1.3.8 2.8.8 4.3 0 1-.1 2-.4 3-.199.9.2 1.8 1 2.2 1.3.7 2.8 1.9 4.4 3.8 4 5 9 3 11 0s3.9-13.9-3-18zM38.6 53.8c-.4-1.2-.6-2.5-.6-3.8 0-1.2.2-2.4.5-3.5.3-.9-.2-1.9-1-2.3-1.3-.7-2.9-1.9-4.5-3.9-4-5-9.1-3-11.1 0s-3.9 13.8 3 18c3.2 1.9 9-.3 12.7-2.1.9-.5 1.3-1.5 1-2.4z" + }, + "circle": { + "cx": "50", + "cy": "50", + "r": "6" + } + } + }, + custom20: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "path": { + "d": "M38 47.7c0-.8-1-1.3-1.6-.8l-14 10.8c-1.5 1.1-2.4 2.9-2.4 4.8v4.1c0 .7.7 1.2 1.3.9l15.4-5.8c.8-.3 1.3-1 1.3-1.9V47.7zM60.1 75.7L56 73V27.6c0-2.7-2.9-5.7-4.8-7.2-.7-.6-1.8-.6-2.5 0-1.8 1.5-4.8 4.5-4.8 7.2V73l-4.6 3c-.8.6-1.4 1.5-1.4 2.5v.6c0 .5.4.9.9.9h22.1c.5 0 1.1-.4 1.1-.9 0-1.4-.8-2.6-1.9-3.4zM77.6 57.7l-14-10.8a1 1 0 00-1.6.8v12.2c0 .8.5 1.6 1.3 1.899l15.4 5.8c.7.201 1.3-.199 1.3-.899v-4.1c0-2-.9-3.8-2.4-4.9z" + } + } + }, + custom21: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "path": { + "d": "M57.6 71.1c-.3-.699-1-1.1-1.8-1.1H44.2c-.8 0-1.5.4-1.8 1.1l-2.7 7.4c-.3.7.2 1.4.9 1.4h18.8c.699 0 1.199-.801.899-1.4L57.6 71.1zM74 20H26c-3.3 0-6 2.7-6 6v32c0 3.3 2.7 6 6 6h48c3.3 0 6-2.7 6-6V26c0-3.3-2.7-6-6-6zM50 62c-1.7 0-3-1.3-3-3s1.3-3 3-3 3 1.3 3 3-1.3 3-3 3zm24-10c0 1.1-.9 2-2 2H28c-1.1 0-2-.9-2-2V28c0-1.1.9-2 2-2h44c1.1 0 2 .9 2 2v24z" + } + } + }, + custom22: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M77.7 63.9l-6.2-5a6.002 6.002 0 00-7.3-.2L58.3 63c-.8.6-1.899.5-2.6-.2L46 54l-8.9-9.8c-.7-.7-.8-1.8-.2-2.6l4.3-5.9c1.6-2.2 1.5-5.2-.2-7.3l-5-6.2c-2.2-2.8-6.4-3-8.9-.5l-5.4 5.4c-1.2 1.2-1.8 2.9-1.8 4.5.7 12.7 6.5 24.8 15 33.3s20.5 14.3 33.3 15c1.7.1 3.3-.601 4.5-1.801l5.4-5.399c2.7-2.4 2.4-6.6-.4-8.8z" + } + }, + custom23: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "path": [{ + "d": "M48.7 56c.8.7 1.899.7 2.7 0l28.3-26.2c.5-1 .399-2.6-1.601-2.6l-56 .1c-1.5 0-2.7 1.4-1.6 2.6L48.7 56z" + }, { + "d": "M80 41c0-1.3-1.6-2-2.5-1.1l-22 20.4c-1.5 1.4-3.4 2.1-5.4 2.1-2 0-3.9-.7-5.4-2.101L22.6 39.9c-1-.9-2.5-.2-2.5 1.1v26c0 3.3 2.7 6 6 6h48c3.301 0 6-2.7 6-6-.1 0-.1-18-.1-26z" + }] + } + }, + custom24: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "path": { + "d": "M68.1 20H31.9c-3.3 0-5.9 2.7-5.9 5.9v.1c0 1.1.9 2 2 2h44c1.1 0 2-.9 2-2v-.1c0-3.2-2.7-5.9-5.9-5.9zM68 34H32c-1.1 0-2 .9-2 2v42c0 1.1.9 2 2 2h11.1c1.1 0 1.9-.9 1.9-2v-8c0-1.1 1-2 2.1-2h5.8c1.1 0 2.1.9 2.1 2v8c0 1.1.8 2 1.9 2H68c1.1 0 2-.9 2-2V36c0-1.1-.9-2-2-2zM47 61c0 1.1-.9 2-2 2h-4c-1.1 0-2-.9-2-2v-4c0-1.1.9-2 2-2h4c1.1 0 2 .9 2 2v4zm0-14c0 1.1-.9 2-2 2h-4c-1.1 0-2-.9-2-2v-4c0-1.1.9-2 2-2h4c1.1 0 2 .9 2 2v4zm14 14c0 1.1-.9 2-2 2h-4c-1.1 0-2-.9-2-2v-4c0-1.1.9-2 2-2h4c1.1 0 2 .9 2 2v4zm0-14c0 1.1-.9 2-2 2h-4c-1.1 0-2-.9-2-2v-4c0-1.1.9-2 2-2h4c1.1 0 2 .9 2 2v4z" + } + } + }, + custom25: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "path": [{ + "d": "M79.8 27.3c-.7-3.7-3.8-6.7-7.6-7.2-2.7-.4-5.2.5-7.101 2-.6.5-.5 1.3.2 1.7 4.601 2.4 8.5 5.9 11.5 10.1.4.6 1.3.6 1.7 0C79.8 32 80.3 29.7 79.8 27.3zM34.6 23.8c.6-.3.7-1.2.2-1.7-1.9-1.6-4.4-2.4-7.1-2-3.8.5-6.9 3.5-7.6 7.2-.4 2.4.1 4.7 1.3 6.5.4.6 1.3.6 1.7 0 3-4.1 6.9-7.6 11.5-10zM50 26c-14.9 0-27 12.1-27 27 0 6 2 11.6 5.3 16l-4.1 4.1c-1.6 1.601-1.6 4.101 0 5.7.8.8 1.8 1.2 2.8 1.2s2-.4 2.8-1.2l4.1-4.1C38.4 78 44 80 50 80s11.6-2 16-5.3l4.1 4.1C71 79.6 72 80 73 80s2-.4 2.8-1.2c1.601-1.6 1.601-4.1 0-5.7L71.7 69C75 64.6 77 59 77 53c0-14.9-12.1-27-27-27zM31 53c0-10.5 8.5-19 19-19s19 8.5 19 19-8.5 19-19 19-19-8.5-19-19z" + }, { + "d": "M53 51.8V44c0-1.7-1.3-3-3-3s-3 1.3-3 3v9c0 .8.3 1.6.9 2.1l7 7c.6.6 1.4.9 2.1.9s1.5-.3 2.1-.9c1.2-1.199 1.2-3.1 0-4.199L53 51.8z" + }] + } + }, + custom26: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "path": { + "d": "M26 20c-3.3 0-6 2.7-6 6 0 1.8.8 3.4 2 4.5V76c0 2.2 1.8 4 4 4s4-1.8 4-4V30.5c1.2-1.1 2-2.7 2-4.5 0-3.3-2.7-6-6-6zM78.5 30.8c-15.7 8.2-26.4-5.9-41.2-.5-.8.3-1.3 1-1.3 1.9V58c0 1.3 1.3 2.3 2.6 1.9 14.2-4.3 24.9 9.1 40.4.6.6-.3 1-1 1-1.7V31.7c0-.8-.8-1.3-1.5-.9z" + } + } + }, + custom27: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "path": { + "d": "M24 63h52c1.1 0 2-.9 2-2V29c0-3.3-2.7-6-6-6H28c-3.3 0-6 2.7-6 6v32c0 1.1.9 2 2 2zm4-32c0-1.1.9-2 2-2h40c1.1 0 2 .9 2 2v24c0 1.1-.9 2-2 2H30c-1.1 0-2-.9-2-2V31zM80 69H58c-1.1 0-2 .9-2 2s-.9 2-2 2h-8c-1.1 0-2-.9-2-2s-.9-2-2-2H20c-1.1 0-2 .9-2 2 0 3.3 2.7 6 6 6h52c3.3 0 6-2.7 6-6 0-1.1-.9-2-2-2z" + } + } + }, + custom28: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M64 20H36c-3.3 0-6 2.7-6 6v48c0 3.3 2.7 6 6 6h28c3.3 0 6-2.7 6-6V26c0-3.3-2.7-6-6-6zM50 78c-1.7 0-3-1.3-3-3s1.3-3 3-3 3 1.3 3 3-1.3 3-3 3zm14-10c0 1.1-.9 2-2 2H38c-1.1 0-2-.9-2-2V30c0-1.1.9-2 2-2h24c1.1 0 2 .9 2 2v38z" + } + }, + custom29: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "path": { + "d": "M73.9 28h-1.8c-1.2 0-2.1 1-2.1 2.2V70c0 .1 0 .3.1.4l2.5 3.5c.2.199.5.199.801 0l2.5-3.5c.099-.1.099-.2.099-.4V30.2c0-1.2-.9-2.2-2.1-2.2zM58 20H30c-3.3 0-6 2.7-6 6v48c0 3.3 2.7 6 6 6h28c3.3 0 6-2.7 6-6V26c0-3.3-2.7-6-6-6zM44 78c-1.7 0-3-1.3-3-3s1.3-3 3-3 3 1.3 3 3-1.3 3-3 3zm14-10c0 1.1-.9 2-2 2H32c-1.1 0-2-.9-2-2V30c0-1.1.9-2 2-2h24c1.1 0 2 .9 2 2v38z" + } + } + }, + custom3: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "path": [{ + "d": "M50 38c-6.6 0-12 5.4-12 12s5.4 12 12 12 12-5.4 12-12-5.4-12-12-12z" + }, { + "d": "M80 50c0-3.5-8.4-5.3-9.7-8.4-1.3-3.2 3.3-10.4.9-12.8-2.4-2.4-9.601 2.2-12.8.9-3.1-1.3-4.9-9.7-8.4-9.7s-5.3 8.4-8.4 9.7c-3.2 1.3-10.4-3.3-12.8-.9-2.4 2.4 2.2 9.6.9 12.8-1.3 3.1-9.7 4.9-9.7 8.4s8.4 5.3 9.7 8.4c1.3 3.2-3.3 10.4-.9 12.8 2.4 2.399 9.6-2.2 12.8-.9 3.1 1.3 4.9 9.7 8.4 9.7s5.3-8.4 8.4-9.7c3.2-1.3 10.4 3.3 12.8.9 2.4-2.4-2.2-9.6-.9-12.8 1.3-3.1 9.7-4.9 9.7-8.4zM50 68c-9.9 0-18-8.1-18-18s8.1-18 18-18 18 8.1 18 18-8.1 18-18 18z" + }] + } + }, + custom30: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "path": [{ + "d": "M71.5 28.5C66 23 58.7 20 51 20c-1.7 0-3 1.3-3 3s1.3 3 3 3c6.1 0 11.9 2.4 16.3 6.7C71.6 37.1 74 42.9 74 49c0 1.7 1.3 3 3 3s3-1.3 3-3c0-7.7-3-15-8.5-20.5z" + }, { + "d": "M51 32c-1.7 0-3 1.3-3 3s1.3 3 3 3c2.9 0 5.7 1.1 7.8 3.2C60.9 43.3 62 46 62 49c0 1.7 1.3 3 3 3s3-1.3 3-3c0-4.5-1.8-8.8-5-12s-7.5-5-12-5zM46.7 60.7l2.6-7c1.8.7 3.8.3 5.3-1.101 2-2 2-5.1 0-7.1s-5.1-2-7.1 0c-1.5 1.5-1.8 3.7-1 5.6L40 54 28.3 42.3c-.8-.8-2.2-.8-2.9.1-7.5 9-7 22.4 1.5 30.8 8.4 8.399 21.8 8.899 30.8 1.5.9-.7.9-2.1.1-2.9L46.7 60.7z" + }] + } + }, + custom31: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M75.5 43.2l-4.9-15.4C69.7 24.9 67 23 64 23H36c-3 0-5.7 1.9-6.7 4.8l-4.8 15.4c-2.6.7-4.5 3-4.5 5.8v12c0 2.6 1.7 4.8 4 5.7V75c0 1.1.9 2 2 2h8c1.1 0 2-.9 2-2v-8h28v8c0 1.1.9 2 2 2h8c1.1 0 2-.9 2-2v-8.3c2.3-.8 4-3 4-5.7V49c0-2.8-1.9-5.1-4.5-5.8zM30 60c-2.8 0-5-2.2-5-5s2.2-5 5-5 5 2.2 5 5-2.2 5-5 5zm22-17H32.2c-.7 0-1.2-.7-1-1.3l3.8-12c.1-.4.5-.7.9-.7h28c.399 0 .8.3.899.6l3.8 12.1c.2.6-.3 1.3-1 1.3H52zm17 17c-2.8 0-5-2.2-5-5s2.2-5 5-5 5 2.2 5 5-2.2 5-5 5z" + } + }, + custom32: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M78.5 35.3L55.1 48.6c-.5.3-1 .4-1.5.4-1.1 0-2.199-.6-2.699-1.7-.7-1.4 0-3.2 1.399-4l7.8-4.4v-7.7c0-.8-.8-1.2-1.5-.9L30.1 46.6c-.5.3-1 .4-1.5.4-1 0-2.1-.5-2.6-1.5-.8-1.4-.3-3.3 1.1-4.1l4.9-2.8V22c0-1.1-.9-2-2-2h-8c-1.1 0-2 .9-2 2v52c0 3.3 2.7 6 6 6h17c1.1 0 2-.9 2-2v-7c0-1.1.9-2 2-2h6c1.1 0 2 .9 2 2v7c0 1.1.9 2 2 2h17c3.3 0 6-2.7 6-6V36.2c0-.8-.8-1.3-1.5-.9zM35 63c0 1.1-.9 2-2 2h-2c-1.1 0-2-.9-2-2v-6c0-1.1.9-2 2-2h2c1.1 0 2 .9 2 2v6zm12 0c0 1.1-.9 2-2 2h-2c-1.1 0-2-.9-2-2v-6c0-1.1.9-2 2-2h2c1.1 0 2 .9 2 2v6zm12 0c0 1.1-.9 2-2 2h-2c-1.1 0-2-.9-2-2v-6c0-1.1.9-2 2-2h2c1.1 0 2 .9 2 2v6zm12 0c0 1.1-.9 2-2 2h-2c-1.1 0-2-.9-2-2v-6c0-1.1.9-2 2-2h2c1.1 0 2 .9 2 2v6z" + } + }, + custom33: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "path": [{ + "d": "M65 42H36c-1.1 0-2 .9-2 2v8c0 1.1.9 2 2 2h29c1.1 0 2-.9 2-2v-8c0-1.1-.9-2-2-2zm-14 9c-1.7 0-3-1.3-3-3s1.3-3 3-3 3 1.3 3 3-1.3 3-3 3z" + }, { + "d": "M80 28H20c-1.1 0-2 .9-2 2v2c0 2.2 1.8 4 4 4v36c0 1.1.9 2 2 2h2c1.1 0 2-.9 2-2V36h45v36c0 1.1.9 2 2 2h2c1.1 0 2-.9 2-2V36h-1c2.2 0 4-1.8 4-4v-2c0-1.1-.9-2-2-2z" + }] + } + }, + custom34: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "path": [{ + "d": "M42 30h16c1.1 0 2-1.1 1.8-2.2-1-4.5-5-7.8-9.8-7.8s-8.8 3.4-9.8 7.8c-.2 1.1.7 2.2 1.8 2.2z" + }, { + "d": "M77 56c1.7 0 3.1-1.4 3-3.2-.1-1.6-1.5-2.8-3.2-2.8H68v-5c5.8-2.3 9.9-8.5 10-15.9 0-1.5-1-2.8-2.5-3.1-1.9-.3-3.5 1.1-3.5 3 0 4.3-2 8-4.9 9.8-1.1-1.7-3-2.8-5.1-2.8H38c-2.1 0-4 1.1-5.1 2.8C30 37 28 33.4 28 29.2c0-1.6-1.2-3.1-2.8-3.2-1.8-.1-3.2 1.3-3.2 3 0 7.4 4.2 13.7 10 16v5h-8.8c-1.6 0-3.1 1.2-3.2 2.8-.1 1.7 1.3 3.2 3 3.2h9v5c-5.8 2.3-9.9 8.5-10 15.9 0 1.5 1 2.8 2.5 3.1 1.9.3 3.5-1.1 3.5-3 0-4.2 1.9-7.9 4.8-9.7 1.7 5.601 6.1 10 11.6 11.8 1.3.4 2.6-.6 2.6-1.899v-24c0-1.601 1.2-3.1 2.8-3.2 1.7-.1 3.2 1.3 3.2 3v24.2c0 1.399 1.3 2.3 2.6 1.899 5.5-1.8 9.9-6.199 11.601-11.8 2.8 1.8 4.7 5.4 4.8 9.5 0 1.601 1.2 3.101 2.8 3.2 1.8.1 3.2-1.3 3.2-3 0-7.4-4.2-13.7-10-16v-5H77z" + }] + } + }, + custom35: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "path": [{ + "d": "M69 40c-1.7 0-3 1.3-3 3v5c0 8.8-7.2 16-16 16s-16-7.2-16-16v-5c0-1.7-1.3-3-3-3s-3 1.3-3 3v5c0 11.1 8.3 20.3 19 21.8V74h-5c-1.7 0-3 1.3-3 3s1.3 3 3 3h16c1.7 0 3-1.3 3-3s-1.3-3-3-3h-5v-4.2C63.7 68.3 72 59.1 72 48v-5c0-1.7-1.3-3-3-3z" + }, { + "d": "M50 58c5.5 0 10-4.5 10-10V29.9c0-5.5-4.4-9.9-9.9-9.9h-.2c-5.5 0-9.9 4.4-9.9 9.9V48c0 5.5 4.5 10 10 10z" + }] + } + }, + custom36: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "path": { + "d": "M38.7 72h-4.1c-.7 0-1.4.4-1.7 1l-1.4 2.4c-.8 1.4-.5 3.2.8 4.1.5.4 1.1.5 1.7.5 1 0 2-.5 2.6-1.5l3-5c.4-.7-.1-1.5-.9-1.5zM67.1 73c-.399-.6-1-1-1.699-1H61.3c-.8 0-1.3.8-.899 1.5l3 5C64 79.5 65 80 66 80c.6 0 1.2-.2 1.7-.5 1.3-.9 1.6-2.8.8-4.1L67.1 73zM67 20H33c-3.3 0-6 2.7-6 6v34c0 3.3 2.7 6 6 6h34c3.3 0 6-2.7 6-6V26c0-3.3-2.7-6-6-6zM36 62c-1.7 0-3-1.3-3-3s1.3-3 3-3 3 1.3 3 3-1.3 3-3 3zm28 0c-1.7 0-3-1.3-3-3s1.3-3 3-3 3 1.3 3 3-1.3 3-3 3zm3-12c0 1.1-.9 2-2 2H35c-1.1 0-2-.9-2-2V30c0-1.1.9-2 2-2h30c1.1 0 2 .9 2 2v20z" + } + } + }, + custom37: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M80 56H67V44.2c2.7 2.3 6.2 3.8 10 3.8 1.7 0 3-1.3 3-3s-1.3-3-3-3c-5.5 0-10-4.9-10-11v-3c1.1 0 2-.9 2-2v-2c0-1.1-.9-2-2-2h-6c-1.1 0-2 .9-2 2v2c0 1.1.9 2 2 2v3c0 6.1-4.9 11-11 11s-11-4.9-11-11v-3c1.1 0 2-.9 2-2v-2c0-1.1-.9-2-2-2h-6c-1.1 0-2 .9-2 2v2c0 1.1.9 2 2 2v3c0 6.1-4.5 11-10 11-1.7 0-3 1.3-3 3s1.3 3 3 3c3.8 0 7.3-1.4 10-3.8V56H20c-1.1 0-2 .9-2 2v4.8c0 1.101.9 2.2 2 2.2h4v10.8c0 1.101.9 2.2 2 2.2h6c1.1 0 2-1.1 2-2.2v-4c0-3.3 2.7-5.8 6-5.8h20c3.3 0 6 2.5 6 5.8v4c0 1.101.9 2.2 2 2.2h6c1.1 0 2-1.1 2-2.2V65h4c1.1 0 2-1.1 2-2.2V58c0-1.1-.9-2-2-2zM39 43.9c3 2.5 6.8 4.1 11 4.1s8-1.5 11-4.1V56H39V43.9z" + } + }, + custom38: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "path": [{ + "d": "M50 45c-4.4 0-8 3.6-8 8s3.6 8 8 8 8-3.6 8-8-3.6-8-8-8z" + }, { + "d": "M74 35h-8.1c-.801 0-1.5-.4-1.801-1.2l-2.6-5.5c-1-2-3.1-3.3-5.4-3.3H43.9c-2.3 0-4.4 1.3-5.4 3.3l-2.6 5.5c-.3.7-1 1.2-1.8 1.2H26c-3.3 0-6 2.7-6 6v28c0 3.3 2.7 6 6 6h48c3.3 0 6-2.7 6-6V41c0-3.3-2.7-6-6-6zM50 67.2c-7.7 0-14-6.3-14-14s6.3-14 14-14 14 6.3 14 14-6.3 14-14 14z" + }] + } + }, + custom39: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "path": { + "d": "M63.6 28.6c-.199-.8-1.1-1.3-1.899-1.1l-40.3 13c-1 .3-1.5 1.4-1.3 2.4l1.6 6.2c.3 1 1.3 1.7 2.3 1.5L34.2 49.2c.3 1.1.8 2.2 1.5 3.1L27 75.9c-.6 1.6.2 3.3 1.8 3.899.3.101.7.2 1 .2 1.2 0 2.4-.8 2.8-2l8.2-22.4c.7.2 1.3.2 2 .2s1.4-.1 2-.2L53.1 78c.4 1.2 1.601 2 2.801 2 .3 0 .699-.1 1-.2 1.6-.6 2.399-2.3 1.8-3.899L50 52.2c1.1-1.5 1.8-3.4 1.8-5.4v-.1l14.101-2c.899-.1 1.5-1 1.199-1.9l-3.5-14.2zM79.9 42.7l-5.5-20.4c-.4-1.6-2.101-2.6-3.7-2.2-1.601.4-2.601 2.1-2.2 3.7L74 44.2c.4 1.6 2.1 2.6 3.7 2.2 1.6-.4 2.6-2.1 2.2-3.7z" + } + } + }, + custom4: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M26.2 32.7L47 20.8c1.9-1.1 4.3-1.1 6.2 0l20.7 11.9c1.899 1.1 3.1 3.2 3.1 5.4v23.8c0 2.199-1.1 4.3-3.1 5.399L53.2 79.2c-1.9 1.1-4.3 1.1-6.2 0L26.2 67.3c-1.9-1.1-3.2-3.2-3.2-5.4V38.1c0-2.2 1.3-4.3 3.2-5.4z" + } + }, + custom40: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "path": [{ + "d": "M74 28H26c-3.3 0-6 2.7-6 6v34c0 3.3 2.7 6 6 6h48c3.3 0 6-2.7 6-6V34c0-3.3-2.7-6-6-6zm0 6v6H26v-6h48zM26 68V50h48v18H26z" + }, { + "d": "M43.1 55c-1.4 0-2.6.7-3.3 1.8-.1.2-.4.2-.5 0-.7-1.1-1.9-1.8-3.3-1.8-2.2 0-4 1.8-4 4s1.8 4 4 4c1.4 0 2.6-.7 3.3-1.8.1-.2.4-.2.5 0 .7 1.1 1.9 1.8 3.3 1.8h.1c2.1 0 3.9-1.7 3.9-3.9v-.2c-.1-2.2-1.8-3.9-4-3.9zM66 56H54c-1.1 0-2 .9-2 2v2c0 1.1.9 2 2 2h12c1.1 0 2-.9 2-2v-2c0-1.1-.9-2-2-2z" + }] + } + }, + custom41: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "path": { + "d": "M76 29H24c-3.3 0-6 2.7-6 6v29c0 3.3 2.7 6 6 6h52c3.3 0 6-2.7 6-6V35c0-3.3-2.7-6-6-6zM31 64c0-3.9-3.1-7-7-7V42c3.9 0 7-3.1 7-7h38c0 3.9 3.1 7 7 7v15c-3.9 0-7 3.1-7 7H31z" + }, + "circle": { + "cx": "50", + "cy": "49", + "r": "10" + } + } + }, + custom42: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "path": { + "d": "M74 22H26c-3.3 0-6 2.7-6 6v6c0 1.1.9 2 2 2h56c1.1 0 2-.9 2-2v-6c0-3.3-2.7-6-6-6zM74 42H26c-1.1 0-2 .9-2 2v28c0 3.3 2.7 6 6 6h40c3.3 0 6-2.7 6-6V44c0-1.1-.9-2-2-2zm-13 9c0 1.6-1.3 3-3 3H42c-1.6 0-3-1.3-3-3 0-1.6 1.3-3 3-3h16c1.7 0 3 1.3 3 3z" + } + } + }, + custom43: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M81.7 43.2s.1 0 0 0c.1-.3.2-.4.2-.6v-.2-.6-.4-.2c0-.1-.101-.2-.101-.3s0-.1-.1-.2c0-.1-.101-.2-.2-.3 0-.1-.1-.1-.1-.2l-12-17C68.9 22.5 68 22 67 22H31c-1 0-1.9.5-2.5 1.3l-12 17c0 .1-.1.1-.1.2-.1.1-.1.2-.2.3 0 .1 0 .1-.1.2 0 .1-.1.2-.1.3V42.7c0 .2.1.4.2.5v.1c.1.1.1.3.2.4 0 .1.1.1.1.2l.2.2 30 33 .1.101.1.1.1.099s.1 0 .1.1c.1 0 .1.1.2.1 0 0 .1 0 .1.101 0 0 .1 0 .1.1 0 0 .1 0 .1.101H49.7s.1 0 .1-.101c0 0 .1 0 .1-.1 0 0 .1 0 .1-.101 0 0 .1 0 .1-.1.1 0 .1-.1.2-.1 0 0 .1 0 .1-.101l.1-.1.1-.101.1-.098 30-33 .2-.2c0-.1.1-.1.1-.2.6-.1.7-.2.7-.4zM49 39h-4.8l4.8-8.1 4.8 8.1H49zm0 6h6l-6 19.7L43 45h6zm5.2-17h7.5l-2.8 8-4.7-8zm-15.1 8l-2.8-8h7.5l-4.7 8zm-2.3 9l5.5 18.1L25.8 45h11zm24.4 0h11L55.7 63.1 61.2 45zm12-6h-9l3-8.5 6 8.5zm-42.4-8.5l3 8.5h-9l6-8.5z" + } + }, + custom44: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M69.7 28.9C64.4 22.3 60.1 20 51 20c-4.1 0-9 1.6-11 2 0-1.1-.9-2-2-2h-4c-1.1 0-2 .9-2 2v8c0 1.1.9 2 2 2h4c1.1 0 2-.9 2-2h2.1c1.6 0 2.9 1.3 2.9 2.9v.1c0 1.7 1.3 3 3 3v16c-2.2 0-4 1.8-4 4v18c0 3.3 2.7 6 6 6h2c3.3 0 6-2.7 6-6V56c0-2.2-1.8-4-4-4V36c1.7 0 3-2.2 3-3.9V32c0-1.5 1.2-2.7 2.7-2.8 4-.2 6.2 1.4 7.3 2.3.6.5 1.6.6 2.2.1 1-.6 1.2-1.8.5-2.7z" + } + }, + custom45: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "path": [{ + "d": "M33 43h34v14H33z" + }, { + "d": "M82 41.3V36c0-3.3-2.7-6-6-6H24c-3.3 0-6 2.7-6 6v5.3c0 .7.4 1.4 1 1.7 2.4 1.4 4 4 4 6.9 0 3-1.6 5.5-4 6.9-.6.4-1 1-1 1.7V64c0 3.3 2.7 6 6 6h52c3.3 0 6-2.7 6-6v-5.3c0-.7-.4-1.4-1-1.7-2.4-1.4-4-4-4-6.9 0-3 1.6-5.5 4-6.9.6-.5 1-1.1 1-1.9zM71 63H29c-1.1 0-2-.9-2-2V39c0-1.1.9-2 2-2h42c1.1 0 2 .9 2 2v22c0 1.1-.9 2-2 2z" + }] + } + }, + custom46: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "path": [{ + "d": "M61 37H39c-1.1 0-2 .9-2 2v22c0 1.1.9 2 2 2h22c1.1 0 2-.9 2-2V39c0-1.1-.9-2-2-2z" + }, { + "d": "M78.5 27.2c.9-.3 1.5-1 1.5-1.9V22c0-1.1-.9-2-2-2h-3.3c-.9 0-1.601.6-1.9 1.5-.6 2-2.5 3.5-4.8 3.5s-4.1-1.5-4.8-3.5c-.3-.9-1-1.5-1.9-1.5h-4.6c-.9 0-1.601.6-1.9 1.5-.6 2-2.5 3.5-4.8 3.5s-4.1-1.5-4.8-3.5c-.3-.9-1-1.5-1.9-1.5h-4.6c-.9 0-1.6.6-1.9 1.5-.6 2-2.5 3.5-4.8 3.5-2.2 0-4.1-1.5-4.8-3.5-.3-.9-1-1.5-1.9-1.5H22c-1.1 0-2 .9-2 2v3.3c0 .9.6 1.6 1.5 1.9 2 .6 3.5 2.5 3.5 4.8s-1.5 4.1-3.5 4.8c-.9.3-1.5 1-1.5 1.9v4.6c0 .9.6 1.6 1.5 1.9 2 .6 3.5 2.5 3.5 4.8s-1.5 4.1-3.5 4.8c-.9.3-1.5 1-1.5 1.9v4.6c0 .9.6 1.601 1.5 1.9 2 .6 3.5 2.5 3.5 4.8s-1.5 4.1-3.5 4.8c-.9.3-1.5 1-1.5 1.9V78c0 1.1.9 2 2 2h3.3c.9 0 1.6-.6 1.9-1.5.6-2 2.5-3.5 4.8-3.5 2.2 0 4.1 1.5 4.8 3.5.3.9 1 1.5 1.9 1.5h4.6c.9 0 1.6-.6 1.9-1.5.6-2 2.5-3.5 4.8-3.5s4.1 1.5 4.8 3.5c.3.9 1 1.5 1.9 1.5h4.6c.9 0 1.601-.6 1.9-1.5.6-2 2.5-3.5 4.8-3.5s4.1 1.5 4.8 3.5c.3.9 1 1.5 1.9 1.5H78c1.1 0 2-.9 2-2v-3.3c0-.9-.6-1.601-1.5-1.9-2-.6-3.5-2.5-3.5-4.8s1.5-4.1 3.5-4.8c.9-.3 1.5-1 1.5-1.9v-4.6c0-.9-.6-1.601-1.5-1.9-2-.6-3.5-2.5-3.5-4.8s1.5-4.1 3.5-4.8c.9-.3 1.5-1 1.5-1.9v-4.6c0-.9-.6-1.6-1.5-1.9-2-.6-3.5-2.5-3.5-4.8s1.5-4.1 3.5-4.8zM69 63c0 3.3-2.7 6-6 6H37c-3.3 0-6-2.7-6-6V37c0-3.3 2.7-6 6-6h26c3.3 0 6 2.7 6 6v26z" + }] + } + }, + custom47: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "path": { + "d": "M64 72H30c-3.3 0-6 2.7-6 6v.1c0 1 .9 1.9 1.9 1.9h42.2c1 0 1.9-.9 1.9-1.9V78c0-3.3-2.7-6-6-6zM77.4 40.4L61.5 25.6l2.6-3.9c.4-.6.101-1.4-.6-1.5-4.9-1-7.9 2.4-7.9 2.4-30.8 0-25.8 33.9-24.3 41.8.2.899 1 1.6 2 1.6h27.1c.8 0 1.3-1 .8-1.6-5.5-6.7-8.4-14.2-10.2-19-.3-.8.5-1.7 1.3-1.3 7.3 3.7 10.3-.3 15.2 2.8 2.4 1.5 5.4 1.1 7.4-.9l2.699-2.7c.601-.8.601-2.1-.199-2.9zM57 37c-1.7 0-3-1.3-3-3s1.3-3 3-3 3 1.3 3 3-1.3 3-3 3z" + } + } + }, + custom48: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "path": { + "d": "M78 24H68v-2c0-1.1-.9-2-2-2H34c-1.1 0-2 .9-2 2v2H22c-1.1 0-2 .9-2 2v13c0 5 4 9 9 9h4.6c2.8 6.4 8.9 10.9 16.3 11 7.6.1 14-4.5 16.7-11H71c5 0 9-4 9-9V26c0-1.1-.9-2-2-2zM29 42c-1.7 0-3-1.3-3-3v-9h6v10.6c0 .5 0 .9.1 1.4H29zm45-3c0 1.7-1.3 3-3 3h-3.1c0-.4.1-.9.1-1.3V30h6v9zM60 74h-1c-3.3 0-6-2.7-6-6v-2c0-.6-.4-1-1-1h-4c-.6 0-1 .4-1 1v2c0 3.3-2.7 6-6 6h-1c-1.1 0-2 .9-2 2v2c0 1.1.9 2 2 2h20c1.1 0 2-.9 2-2v-2c0-1.1-.9-2-2-2z" + } + } + }, + custom49: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "path": [{ + "d": "M50 41c-5 0-9 4-9 9s4 9 9 9 9-4 9-9-4-9-9-9zm0 14c-2.8 0-5-2.2-5-5s2.2-5 5-5 5 2.2 5 5-2.2 5-5 5z" + }, { + "d": "M50 20c-16.6 0-30 13.4-30 30s13.4 30 30 30 30-13.4 30-30-13.4-30-30-30zm0 52.9c0 1.199-1 2.1-2.2 2-12.1-1-21.7-10.7-22.8-22.8 0-1.1.9-2.1 2.1-2.1h2c1 0 1.9.8 2 1.8.9 9 8.1 16.2 17.1 17.1 1 .1 1.8 1 1.8 2v2zm0-7.9c-8.3 0-15-6.7-15-15s6.7-15 15-15 15 6.7 15 15-6.7 15-15 15zm22.9-15h-2c-1 0-1.9-.8-2-1.8-.9-9-8.1-16.2-17.1-17.1-1-.1-1.8-1-1.8-2v-2c0-1.2 1-2.1 2.2-2 12.1 1 21.7 10.7 22.8 22.8 0 1.1-.9 2.1-2.1 2.1z" + }] + } + }, + custom5: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M78.8 25.5c-10.2-3.9-22.1-4.8-32.5-1.4-9.3 3.1-18.8 10-20.2 20.4-.3 2.2-.2 4.5.3 6.6.2 1.101.6 2.2 1 3.301.2.6.4 1.1.7 1.6l-1.2 1.8C24 62.3 22 67.4 20.8 72.6c-.5 2.2-1.7 5.4.6 7 .9.601 2.2.601 3.1.101 1.2-.7 1.4-1.9 1.6-3.2.9-5.3 2.7-10.6 5.6-15.1 1.4-2.2 2.9-4.4 4.6-6.4 1.5-1.6 3.7-4.7 6.2-3.8 2.5.899 2.4 3.8.7 5.3s-3.1 3.1-3.1 5.5c0 1.8.8 3.6 2.3 4.8 2 1.601 6 2 8.4 1.8 5.3-.3 9.601-1.899 13.9-5C70.3 59.7 72.5 52.9 73.6 46.4c.7-4 1.2-8 2.601-11.8.6-1.6 1.399-3.2 2.3-4.6.4-.7 1.2-1.5 1.4-2.3.299-1-.301-1.9-1.101-2.2z" + } + }, + custom50: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "path": { + "d": "M76.6 56.3C74.3 57.4 71.7 58 69 58c-3.3 0-6.3-.9-9-2.4a.912.912 0 00-1 0c-2.6 1.6-5.7 2.4-9 2.4s-6.3-.9-9-2.4a.912.912 0 00-1 0c-2.6 1.6-5.7 2.4-9 2.4-2.7 0-5.3-.6-7.6-1.7-.6-.3-1.4.2-1.4.9v12.1c0 2.4 1.4 4.5 3.6 5.5 5 2.2 10.4 3.8 16.1 4.601 1.2.199 2.3-.801 2.3-2v-7.5c0-3.301 2.7-5.9 5.9-5.9h.1c3.3 0 5.9 2.7 5.9 5.9v7.5c0 1.199 1.1 2.1 2.3 2 5.6-.801 11-2.4 16.1-4.601 2.2-1 3.601-3.1 3.601-5.5V57.2c.099-.7-.701-1.2-1.301-.9zM31 52c3.6 0 6.7-1.5 8.7-3.9.4-.5 1.1-.5 1.5 0 2 2.4 5.2 3.9 8.7 3.9 3.6 0 6.7-1.5 8.7-3.9.4-.5 1.101-.5 1.5 0 2 2.4 5.2 3.9 8.7 3.9 5.601 0 10.3-3.9 10.9-8.8.1-.7-.2-1.4-.8-1.8l-25.3-20c-2.199-1.7-5.3-1.7-7.399 0l-25.5 20c-.6.4-.8 1.1-.8 1.8C20.7 48.2 25.4 52 31 52z" + } + } + }, + custom51: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "path": { + "d": "M40.5 25.6c2.5 1.7 5 5.8 6 8.9.2.7.8 1.2 1.5 1.3.7.2 1.3.2 2 .2 1.1 0 2 0 2.9-.4 2.6-.9 4.8-2 6.699-3.9 3.101-3.1 4.2-7.5 3-11.2-3.699-1.1-8.1-.1-11.199 3-.9.9-1.601 1.9-2.2 3-1.6-2.5-3.5-4.7-5.7-6.1-1.5-.9-3.4-.4-4.3 1.1-.6 1.5 0 3.2 1.3 4.1zM71.2 40.2c-10.3-5.8-12.5 2-21.2 2s-10.9-7.8-21.2-2c-10 5.7-7.1 24.1-3.1 31 3.6 6.1 10.1 12.4 23.4 6.4.5-.199 1.2-.199 1.7 0 13.3 6 19.9-.3 23.4-6.399 4.1-6.901 7-25.401-3-31.001z" + } + } + }, + custom52: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "path": { + "d": "M79.9 35.1c.199-3.2 0-6.4-.5-9.5-.4-2.6-2.4-4.6-5-5-3.2-.5-6.301-.7-9.5-.5-.9 0-1.301 1.1-.7 1.7l14 14c.6.6 1.7.1 1.7-.7zM56.3 22.3c-.5-.5-1.3-.7-1.899-.5-7.5 2.1-14.7 6.1-20.601 12.1-5.8 5.8-9.7 12.7-11.9 20-.2.699 0 1.5.5 2l21.8 21.8c.5.5 1.3.7 2 .5 7.3-2.2 14.2-6.101 20-11.9 5.899-5.899 10-13 12.1-20.6.2-.7 0-1.4-.5-1.9L56.3 22.3zm-8.4 39.3c-1.2 1.2-3.1 1.2-4.2 0L38.1 56c-1.2-1.2-1.2-3.1 0-4.2 1.2-1.2 3.1-1.2 4.2 0l5.6 5.601c1.2 1.099 1.2 2.999 0 4.199zm7-7c-1.2 1.2-3.101 1.2-4.2 0L45.1 49c-1.2-1.2-1.2-3.1 0-4.2 1.2-1.2 3.1-1.2 4.2 0l5.601 5.6c1.199 1.1 1.199 3-.001 4.2zm7-7.1c-1.2 1.2-3.101 1.2-4.2 0l-5.6-5.6c-1.199-1.2-1.199-3.1 0-4.2 1.2-1.2 3.101-1.2 4.2 0l5.601 5.6c1.199 1.2 1.199 3.1-.001 4.2zM20.1 64.3c-.2 3.4-.1 6.8.5 10.2.4 2.6 2.4 4.6 5 5 3.4.5 6.8.7 10.2.5.9-.1 1.3-1.1.7-1.7L21.8 63.6c-.6-.6-1.7-.2-1.7.7z" + } + } + }, + custom53: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "path": { + "d": "M74.7 57h-.6c-2.3 0-4.1-1.8-4.1-4.1V39.7c0-11.6-10.4-20.9-22.3-19.5C37.5 21.3 30 30.2 30 40.5v11.9c0 2.5-2.1 4.6-4.6 4.6h-.1c-1.8 0-3.3 1.5-3.3 3.3v2.4c0 1.8 1.5 3.3 3.3 3.3h49.4c1.8 0 3.3-1.5 3.3-3.3v-2.4c0-1.8-1.5-3.3-3.3-3.3zM56.6 72H43.4c-.8 0-1.5.6-1.3 1.4.7 3.8 4 6.6 8 6.6s7.2-2.7 8-6.6c0-.8-.6-1.4-1.5-1.4z" + } + } + }, + custom54: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "path": { + "d": "M27.2 49.1c6.5-1.2 12.2-3.8 18.4-6.7 2-.9 5.7-2.7 7.5-3.5.601-.3 1-.9.801-1.6C53.4 34.4 51 32 48 32h-2v-3.8c0-1.1-1-2.1-2-2.1V22c0-1.1-.9-2.1-2-2.1h-4c-1.1 0-2 .9-2 2.1v4.1c-1 0-2 .9-2 2.1V32h-2c-3.3 0-6 3.1-6 6.5v9.6c0 .6.6 1.1 1.2 1zM72 69.2s7.3-11.4 8-27.5c0-1.2-.9-2.2-2.1-2.2-23.8.9-34.9 15.5-56 16.4-1.1 0-1.9 1-1.9 2v7.6c0 3.3 2.5 5.9 5.6 6.1 10.5.7 33 2.2 45.9 4.301 1.3.199 2.5-1 2.3-2.301-.3-1.5-.8-3.3-1.8-4.4zM71 51c-1.7 0-3-1.3-3-3s1.3-3 3-3 3 1.3 3 3-1.3 3-3 3z" + } + } + }, + custom55: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "path": [{ + "d": "M32 61h13c1.1 0 2-.9 2-2V29c0-2.2-2-4-4-4H32.3C31 25 30 26 30 27.3V59c0 1.1.9 2 2 2z" + }, { + "d": "M76 31v32c0 2.2-1.8 4-4 4H28c-2.2 0-4-1.8-4-4V31c-3.3 0-6 2.7-6 6v30c0 3.3 2.7 6 6 6h19c1.1 0 2 .9 2 2s.9 2 2 2h6c1.1 0 2-.9 2-2s.9-2 2-2h19c3.3 0 6-2.7 6-6V37c0-3.3-2.7-6-6-6z" + }, { + "d": "M55 61h12.7c1.3 0 2.3-1 2.3-2.3V27c0-1.1-.9-2-2-2H57c-2 0-4 1.8-4 4v30c0 1.1.9 2 2 2z" + }] + } + }, + custom56: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "path": { + "d": "M62.7 30.3c-6.3 6.3-13.9-1.4-20.9 5.6L21.7 56c-2.3 2.3-2.3 6 0 8.3l7 7 7 7c2.3 2.3 6 2.3 8.3 0l20.2-20.2c7-7-.7-14.6 5.6-20.899l1.601-1.6c.399-.4.399-1 0-1.4l-5.5-5.5c-.4-.4-1-.4-1.4 0L62.7 30.3zM57.9 56l-7 7c-.8.8-2 .8-2.8 0l-5.6-5.6-5.6-5.6c-.8-.8-.8-2 0-2.8l7-7c.8-.8 2-.8 2.8 0l5.6 5.6 5.601 5.6c.799.8.799 2-.001 2.8zM79.4 24.7l-2.1-2.1-2.1-2.1c-.8-.8-2-.8-2.8 0l-2.6 2.6c-.399.4-.399 1 0 1.4l5.5 5.5c.4.4 1 .4 1.4 0l2.6-2.6c.9-.6.9-1.9.1-2.7z" + } + } + }, + custom57: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "path": { + "d": "M53 52.6V77c0 .8.8 1.2 1.5.9 4.8-2.7 19.4-11 19.4-11 1.9-1.1 3.1-3.1 3.1-5.3V39.7c0-.8-.8-1.2-1.5-.9L54 50.9c-.6.4-1 1-1 1.7zM51 45.8l21.6-12.1c.7-.4.7-1.3 0-1.7-4.8-2.7-19.5-11.1-19.5-11.1a6.237 6.237 0 00-6.2 0S32.2 29.2 27.4 32c-.7.4-.7 1.3 0 1.7L49 45.8c.6.3 1.4.3 2 0zM46 50.9L24.5 38.8c-.7-.4-1.5.1-1.5.9v21.8c0 2.2 1.2 4.2 3.1 5.3 0 0 14.6 8.3 19.4 11 .7.4 1.5-.1 1.5-.899V52.6c0-.7-.4-1.3-1-1.7z" + } + } + }, + custom58: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M67 46c-1.7 0-3.1-1.4-3-3.2.1-1.6 1.5-2.8 3.2-2.8h8.6c.4 0 .7-.2.9-.5.8-1.4 1.399-2.8 1.899-4.1.201-.7-.199-1.4-.899-1.4h-6.4c-1.6 0-3.1-1.2-3.2-2.8-.1-1.7 1.3-3.2 3-3.2h8c.601 0 1-.4 1-1v-3c0-1.1-.899-2-2-2H67.4c-3 0-5.4 2.4-5.4 5.4v.1c0 5.6-3.7 10.6-9 12v-8.3c2.1-1.2 3.4-3.5 3-6.2-.4-2.6-2.6-4.7-5.2-5-3.6-.4-6.7 2.4-6.7 6 0 2.2 1.2 4.1 3 5.2v8.4c-5.3-1.4-9-6.4-9-12v-.1c0-3-2.4-5.4-5.4-5.4H22c-1.1 0-2 .9-2 2v3c0 .6.4 1 1 1h7.8c1.6 0 3.1 1.2 3.2 2.8.1 1.7-1.3 3.2-3 3.2h-6.5c-.7 0-1.2.7-.9 1.4.5 1.3 1.1 2.7 1.9 4.1.2.3.5.5.9.5H33c1.6 0 3.1 1.2 3.2 2.8.1 1.7-1.3 3.2-3 3.2h-2.4c-.9 0-1.4 1.2-.6 1.8 4.2 3.6 9.8 6.2 17 6.2v22.8c0 1.6 1.2 3.1 2.8 3.199 1.7.101 3.2-1.3 3.2-3V54c7.2 0 12.8-2.6 17-6.2.7-.6.3-1.8-.601-1.8H67z" + } + }, + custom59: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "path": { + "d": "M68.3 31c1 0 1.7-.8 1.7-1.7 0-.7-.4-1.4-1.1-1.8-1.301-.7-3.301-4.1-4-6.2-.2-.8-1-1.3-1.801-1.3H38.8c-.8 0-1.6.5-1.8 1.3-.6 2-2.7 5.5-3.9 6.2-.6.4-1 1-1 1.8 0 1 .8 1.7 1.7 1.7h34.5zM32 73.9c0 3.399 2.7 6.1 6 6.1h26c3.3 0 6-2.7 6-6v-.1c0-1.101-.9-1.9-1.9-1.9H33.9c-1 0-1.9.9-1.9 1.9zM70 64V39c0-1.1-.9-2-2-2H34c-1.1 0-2 .9-2 2v25c0 1.1.9 2 2 2h34c1.1 0 2-.9 2-2z" + } + } + }, + custom6: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M50 76H24c-3.1 0-5-3.4-3.4-6l26-44c1.5-2.6 5.3-2.6 6.9 0l26 44c1.6 2.7-.4 6-3.4 6H50z" + } + }, + custom60: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "path": { + "d": "M80 45.3C77.6 31 65.1 20 50 20S22.4 31 20 45.3c-.2.9.9 1.6 1.6 1 1.5-1.3 3.4-2 5.6-2 2.8 0 5.2 1.3 6.8 3.3.4.5 1.2.5 1.6 0 1.6-2 4-3.3 6.8-3.3s5.2 1.3 6.8 3.3c.4.5 1.2.5 1.6 0 1.601-2 4-3.3 6.8-3.3 2.801 0 5.2 1.3 6.801 3.3.399.5 1.199.5 1.6 0 1.6-2 4-3.3 6.8-3.3 2.101 0 4.101.8 5.601 2 .698.6 1.698 0 1.598-1zM62 68c-1.7 0-3 1.3-3 3s-1.3 3-3 3-3-1.3-3-3V57c0-1.7-1.3-3-3-3s-3 1.3-3 3v14c0 5 4 9 9 9s9-4 9-9c0-1.7-1.3-3-3-3z" + } + } + }, + custom61: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "path": { + "d": "M73 20h-4c-1.1 0-2 .9-2 2v4c0 1.1-.9 2-2 2h-2c-1.1 0-2-.9-2-2v-4c0-1.1-.8-2-2-2h-4c-1.1 0-2 .9-2 2v4c0 1.1-.9 2-2 2h-2c-1.1 0-2-.9-2-2v-4c0-1.1-.9-2-2-2h-4c-1.1 0-2 .9-2 2v4c0 1.1-.9 2-2 2h-2c-1.1 0-2-.9-2-2v-4c0-1.1-.9-2-2-2h-4c-1.1 0-2 .9-2 2v10c0 3.3 2.7 6 6 6h38c3.3 0 6-2.7 6-6V22c0-1.1-.9-2-2-2zM68.5 45.7c-.1-1-1-1.7-2-1.7h-33c-1 0-1.9.7-2 1.7l-4.5 32c-.2 1.2.8 2.3 2 2.3h12.9c1.1 0 2.1-.9 2.1-2v-9.7c0-3.3 2.5-6.2 5.8-6.2 3.4-.1 6.2 2.601 6.2 6v10c0 1.101 1 2 2.1 2H71c1.2 0 2.2-1.1 2-2.3l-4.5-32.1z" + } + } + }, + custom62: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "path": { + "d": "M77 70H23c-1.6 0-3 1.3-3 3 0 1.6 1.3 3 3 3h54c1.6 0 3-1.3 3-3s-1.3-3-3-3zM24 64h34v-4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2v4h4c1.1 0 2-.9 2-2V28c0-1.1-.9-2-2-2H24c-1.1 0-2 .9-2 2v34c0 1.1.9 2 2 2zm9-26c0-1.1.9-2 2-2h29c1.1 0 2 .9 2 2v2c0 1.1-.9 2-2 2H35c-1.1 0-2-.9-2-2v-2zm0 12c0-1.1.9-2 2-2h19c1.1 0 2 .9 2 2v2c0 1.1-.9 2-2 2H35c-1.1 0-2-.9-2-2v-2z" + } + } + }, + custom63: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "path": [{ + "d": "M42 60h16c1.1 0 2-.9 2-2V42c0-1.1-.9-2-2-2H42c-1.1 0-2 .9-2 2v16c0 1.1.9 2 2 2z" + }, { + "d": "M77 53c1.7 0 3-1.3 3-3s-1.3-3-3-3h-5v-6h5c1.7 0 3-1.3 3-3s-1.3-3-3-3h-5v-1c0-3.3-2.7-6-6-6h-1v-5c0-1.7-1.3-3-3-3s-3 1.3-3 3v5h-6v-5c0-1.7-1.3-3-3-3s-3 1.3-3 3v5h-6v-5c0-1.7-1.3-3-3-3s-3 1.3-3 3v5h-1c-3.3 0-6 2.7-6 6v1h-5c-1.7 0-3 1.3-3 3s1.3 3 3 3h5v6h-5c-1.7 0-3 1.3-3 3s1.3 3 3 3h5v6h-5c-1.7 0-3 1.3-3 3s1.3 3 3 3h5v1c0 3.3 2.7 6 6 6h1v5c0 1.7 1.3 3 3 3s3-1.3 3-3v-5h6v5c0 1.7 1.3 3 3 3s3-1.3 3-3v-5h6v5c0 1.7 1.3 3 3 3s3-1.3 3-3v-5h1c3.3 0 6-2.7 6-6v-1h5c1.7 0 3-1.3 3-3s-1.3-3-3-3h-5v-6h5zM66 63c0 1.7-1.3 3-3 3H37c-1.7 0-3-1.3-3-3V37c0-1.7 1.3-3 3-3h26c1.7 0 3 1.3 3 3v26z" + }] + } + }, + custom64: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "path": [{ + "d": "M50 20c-16.5 0-30 13.5-30 30s13.5 30 30 30 30-13.5 30-30-13.5-30-30-30zm0 52c-12.1 0-22-9.9-22-22s9.9-22 22-22 22 9.9 22 22-9.9 22-22 22z" + }, { + "d": "M61.6 37.1l-16.6 6c-.9.3-1.6 1-1.9 1.9l-6 16.6c-.3.8.5 1.6 1.3 1.3l16.6-6c.9-.301 1.6-1 1.9-1.9l6-16.6c.3-.8-.5-1.6-1.3-1.3zM50 54c-2.2 0-4-1.8-4-4s1.8-4 4-4 4 1.8 4 4-1.8 4-4 4z" + }] + } + }, + custom65: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "path": { + "d": "M72.1 67H21.9c-1 0-1.9.9-1.9 1.9v.1c0 3.3 2.7 6 6 6h42c3.3 0 6-2.7 6-6v-.1c0-1-.9-1.9-1.9-1.9zM70 27H22.1c-1 0-1.8.9-1.9 2-.3 2.7-.3 7.5.1 10.4 1.3 9.3 6.3 17.2 13.2 21.4.3.2.7.3 1 .3h20.9c.399 0 .699-.1 1-.3 3.899-2.399 7.3-6 9.6-10.4 1.2.4 2.5.6 3.9.6 6.6 0 12-5.4 12-12S76.6 27 70 27zm0 18c-.5 0-1-.1-1.5-.2 1-3.2 1.5-6.6 1.5-10.2V33c3.3 0 6 2.7 6 6s-2.7 6-6 6z" + } + } + }, + custom66: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "path": { + "d": "M78.3 55.3L63.7 40.7c-2.3-2.3-6-2.3-8.3 0L40.7 55.3c-2.3 2.3-2.3 6 0 8.3l14.6 14.6c2.3 2.3 6 2.3 8.3 0l14.6-14.6c2.4-2.2 2.4-6 .1-8.3zM50.7 62c-1.4 1.4-3.6 1.4-4.9 0-1.4-1.4-1.4-3.6 0-4.9 1.4-1.399 3.6-1.399 4.9 0 1.3 1.3 1.3 3.5 0 4.9zM62 73.3c-1.4 1.4-3.6 1.4-4.9 0-1.4-1.4-1.4-3.6 0-4.9 1.4-1.4 3.601-1.4 4.9 0 1.3 1.3 1.3 3.5 0 4.9zm0-22.6c-1.4 1.399-3.6 1.399-4.9 0-1.399-1.4-1.399-3.6 0-4.9 1.4-1.4 3.601-1.4 4.9 0 1.3 1.3 1.3 3.5 0 4.9zM73.3 62c-1.399 1.4-3.6 1.4-4.899 0-1.4-1.4-1.4-3.6 0-4.9 1.399-1.4 3.599-1.4 4.899 0 1.4 1.3 1.4 3.5 0 4.9zM53 33.5V26c0-3.3-2.7-6-6-6H26c-3.3 0-6 2.7-6 6v21c0 3.3 2.7 6 6 6h7.5c.6 0 1.2-.3 1.6-.7.3-.399.7-.8 1.1-1.2L51 36.2c.4-.4.8-.7 1.2-1.1.5-.4.8-1 .8-1.6zM28.5 48c-1.9 0-3.5-1.6-3.5-3.5s1.6-3.5 3.5-3.5 3.5 1.6 3.5 3.5-1.6 3.5-3.5 3.5zm8-8c-1.9 0-3.5-1.6-3.5-3.5s1.6-3.5 3.5-3.5 3.5 1.6 3.5 3.5-1.6 3.5-3.5 3.5zm8-8c-1.9 0-3.5-1.6-3.5-3.5s1.6-3.5 3.5-3.5 3.5 1.6 3.5 3.5-1.6 3.5-3.5 3.5z" + } + } + }, + custom67: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "path": { + "d": "M54 53.1L52.8 51c-.5-.8-1.3-1.3-2.2-1.3-.3 0-.6.1-.899.2l-3.5 1.3c-1.4-1.2-2.9-2-4.6-2.6L41 45c-.2-1.2-1.3-1.9-2.5-1.9H36c-1.2 0-2.3.7-2.5 2l-.6 3.5c-1.7.6-3.2 1.5-4.6 2.7L24.8 50c-.3-.1-.6-.2-.9-.2-.9 0-1.8.5-2.2 1.3l-1.2 2.1c-.6 1.1-.4 2.399.6 3.2l2.9 2.4c-.2.9-.3 1.8-.3 2.601 0 .8.1 1.8.3 2.699l-2.9 2.4c-1 .8-1.2 2.2-.6 3.2l1.2 2.1c.5.8 1.3 1.3 2.2 1.3.3 0 .6-.1.9-.199l3.5-1.301c1.4 1.2 2.9 2.101 4.6 2.601l.6 3.7C33.7 79.1 34.8 80 36 80h2.5c1.2 0 2.3-.9 2.5-2.1l.6-3.7c1.8-.601 3.4-1.601 4.8-2.8l3.3 1.3c.3.1.6.2.899.2.9 0 1.7-.5 2.2-1.2l1.2-2c.6-1.101.4-2.5-.6-3.3L50.5 64c.2-.9.3-1.8.3-2.6 0-.9-.1-1.801-.3-2.7l2.9-2.4c.9-.8 1.2-2.2.6-3.2zM37.2 68.3c-3.7 0-6.8-3-6.8-6.8s3-6.8 6.8-6.8c3.7 0 6.8 3 6.8 6.8s-3.1 6.8-6.8 6.8zM79.2 39l-2.3-1.9c.1-.7.2-1.4.2-2.1s-.1-1.5-.2-2.1l2.3-1.9c.8-.6 1-1.7.5-2.6l-1-1.7c-.4-.6-1.101-1-1.8-1-.2 0-.5.1-.7.1l-2.9 1.1c-1.1-1-2.399-1.7-3.7-2.1l-.5-3c-.199-1-1-1.6-2-1.6h-2c-1 0-1.899.6-2 1.6l-.5 2.9c-1.4.5-2.6 1.2-3.7 2.2L56 25.6c-.2-.1-.5-.1-.7-.1-.7 0-1.399.4-1.8 1l-1 1.7c-.5.9-.3 2 .5 2.6l2.3 1.9c-.1.7-.2 1.4-.2 2.1 0 .7.101 1.5.2 2.1L53 38.8c-.8.6-1 1.7-.5 2.6l1 1.7c.4.6 1.1 1 1.8 1 .2 0 .5 0 .7-.1l2.9-1.1c1.1 1 2.399 1.7 3.699 2.1l.5 2.9c.2 1 1 1.7 2 1.7h2c1 0 1.9-.7 2-1.7l.5-3c1.4-.5 2.801-1.3 3.9-2.3l2.7 1.1c.2.1.5.1.7.1.699 0 1.399-.4 1.8-1l1-1.6c.501-.4.301-1.5-.499-2.2zm-13.1 1.6c-3 0-5.5-2.5-5.5-5.5s2.5-5.5 5.5-5.5 5.5 2.5 5.5 5.5-2.4 5.5-5.5 5.5z" + } + } + }, + custom68: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M50 20c-16.5 0-30 13.5-30 30s13.5 30 30 30 30-13.5 30-30-13.5-30-30-30zm23.8 27h-7.9c-.3-7.1-1.9-13.3-4.3-18 6.6 3.7 11.2 10.3 12.2 18zM47 27.3V47h-6.9c.5-9.4 3.5-16.8 6.9-19.7zM47 53v19.7c-3.4-2.9-6.4-10.3-6.9-19.7H47zm6 19.7V53h6.9c-.5 9.4-3.5 16.8-6.9 19.7zM53 47V27.3c3.4 2.9 6.4 10.3 6.9 19.7H53zM38.4 29c-2.4 4.7-3.9 10.9-4.3 18h-7.9c1-7.7 5.6-14.3 12.2-18zM26.2 53h7.9c.3 7.1 1.9 13.3 4.3 18-6.6-3.7-11.2-10.3-12.2-18zm35.4 18c2.4-4.7 3.9-10.9 4.301-18H73.8c-1 7.7-5.6 14.3-12.2 18z" + } + }, + custom69: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "path": { + "d": "M52.6 45.1c-5.7-4.3-11.5-2.2-15.3 1.4-1.4 1.3-3.6 2.1-6 2.8-2.8.9-5.7 1.8-7.8 3.9-5.6 5.5-4.5 12.1 3.3 19.8l.1.1.1.1c4.6 4.5 8.8 6.7 12.6 6.7 2.8 0 5.3-1.101 7.7-3.4 2.1-2 3.1-4.9 4-7.6.8-2.3 1.6-4.6 2.9-5.9 2.3-2.2 3.6-4.8 3.899-7.4.201-1.9-.199-4.6-2.399-7.4 0 0-1.2-1.6-3.1-3.1zM40.2 69.2c-.5.5-1.2.8-2 .8s-1.4-.3-1.9-.8l-5.5-5.5c-1.1-1.101-1.1-2.8 0-3.9s2.8-1.1 3.9 0l5.5 5.5c1.1 1.1 1.1 2.8 0 3.9zM45 61c-2.8 0-5-2.2-5-5s2.2-5 5-5 5 2.2 5 5-2.2 5-5 5zM79.4 25.2l-4.6-4.6c-.8-.8-2.2-.8-3.1 0l-5.1 5.1c-.8.8-.8 2.2 0 3.1l.2.2-10.3 10.3c-.4.4-.4 1.1 0 1.5.8.7 2.1 1.9 2.9 2.7.399.4 1 .4 1.399 0L71 33.3l.2.2c.8.8 2.2.8 3.1 0l5.101-5.1c.799-.9.799-2.3-.001-3.2z" + } + } + }, + custom7: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M28 78c-3.3 0-6-2.7-6-6V28c0-3.3 2.7-6 6-6h44c3.3 0 6 2.7 6 6v44c0 3.3-2.7 6-6 6H28z" + } + }, + custom70: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "path": { + "d": "M47.9 63.8L36.4 52.5c-2.4-2.3-6.2-2.3-8.6 0l-7.2 7.1c-.8.801-.8 2.101 0 2.801L22 63.8l1.4 1.4L35 76.6l.7.7 2.2 2.101c.8.8 2.1.8 2.9 0L48 72.3c2.3-2.3 2.3-6.1-.1-8.5zm-18.7-4.2l1.5-1.399c.8-.8 2-.8 2.8 0l8.7 8.5c.8.8.8 2.1 0 2.8l-1.5 1.4c-.8.8-2 .8-2.8 0l-8.7-8.5c-.8-.801-.8-2.101 0-2.801zM41.7 49.2l9.3 9.1c.2.2.4.3.7.3l4.3-.1c.5 0 .9-.4.9-.9l.1-3.7c0-.5.4-.9.9-.9l3.8-.1c.5 0 .899-.4.899-.9l.101-3.7c0-.5.399-.9.899-.9l3.801-.1c.5 0 .899-.4.899-.9l.101-3.7c0-.5.399-.9.899-.9l3.8-.1c.5 0 .9-.4.9-.9l.1-3.8c0-.5.4-.8.801-.9l4.1-.6c.7-.1 1.1-.9.7-1.5l-8.8-13c-.7-1-2.101-1.1-3-.3l-26.3 26c-.6.6-.6 1.8.1 2.5z" + } + } + }, + custom71: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M71.2 30.8c-5.9-5.9-13.8-9-22.1-8.8-16 .5-29.1 14.2-29.1 30.6V62c0 3.3 2.7 6 6 6h4v4.8c0 2.601 1.9 4.9 4.5 5.2 3 .3 5.5-2.1 5.5-5V55.2c0-2.601-1.9-4.9-4.5-5.2-3-.3-5.5 2.1-5.5 5v7h-2c-1.1 0-2-.9-2-2v-7.4C26 39.4 36.5 28.4 49.3 28c6.601-.2 12.7 2.2 17.4 6.8C71.4 39.4 74 45.5 74 52v8c0 1.1-.9 2-2 2h-2v-6.8c0-2.601-1.9-4.9-4.5-5.2-3-.3-5.5 2.1-5.5 5v17.8c0 2.601 1.9 4.9 4.5 5.2 3 .3 5.5-2.1 5.5-5v-5h4c3.3 0 6-2.7 6-6v-9.4c0-8.1-3-16-8.8-21.8z" + } + }, + custom72: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "path": { + "d": "M77 20H23c-1.7 0-3 1.3-3 3s1.3 3 3 3h24v6.2c-10.8 1.4-19 10.6-19 21.7v6.9C28 68.1 33.8 74 41.2 74h17.7C66.2 74 72 68.1 72 60.7v-6.9c0-11.1-8.2-20.3-19-21.7V26h24c1.7 0 3-1.3 3-3s-1.3-3-3-3zM64 53.8c0 .1 0 0 0 0 0 2.9-2.3 5.2-5.2 5.2H41.2c-2.9 0-5.1-2.3-5.2-5.2v.1-.1.101C36.1 46.2 42.2 40 49.8 40h.4c7.6 0 13.7 6.2 13.8 13.8z" + }, + "circle": [{ + "cx": "26", + "cy": "76", + "r": "4" + }, { + "cx": "74", + "cy": "76", + "r": "4" + }] + } + }, + custom73: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "path": { + "d": "M23.5 35h53c1.3 0 2.3-1.3 1.9-2.5-1.2-4.1-3-7.9-5.4-11.2-.7-1-2.1-1.1-2.9-.3-2.4 2.2-5.7 3.5-9.2 3.5-3.7 0-7.101-1.5-9.601-4-.8-.7-2-.7-2.7 0-2.5 2.5-5.9 4-9.6 4-3.5 0-6.7-1.3-9.2-3.5-.9-.8-2.2-.6-2.9.3-2.4 3.3-4.2 7.1-5.4 11.2C21.2 33.7 22.2 35 23.5 35zM80 43c0-1.1-.9-2-2-2H22c-1.1 0-2 .9-2 2v.4C20 62 33 77.5 50 79.9 67 77.5 80 62 80 43.4V43z" + } + } + }, + custom74: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "path": { + "d": "M56 73H46c-1.1 0-2 .9-2 2v3c0 1.1.9 2 2 2h10c1.1 0 2-.9 2-2v-3c0-1.1-.9-2-2-2zM51 20c-12.2 0-22 9.4-22 21 0 7.5 4.1 14.1 10.4 17.8 2.4 1.4 4 3.8 4.5 6.5.2.9 1 1.601 2 1.601h10.4c1 0 1.8-.7 2-1.601.5-2.7 2.101-5.1 4.5-6.5C68.9 55.1 73 48.5 73 41c0-11.6-9.8-21-22-21zm-6.8 9.4c-2 3.8-3.1 8.3-3.2 11.9 0 3.7.7 7.3 2 10.8.4.9-.5 1.7-1.4 1.301C32.4 48.7 33 31.4 43 28c.8-.3 1.6.6 1.2 1.4zm7.7 23.8c-.301.8-1.5.8-1.8 0-1.6-3.9-2-8.5-2.1-12.7.1-4.2.5-8.8 2.1-12.7.3-.8 1.5-.8 1.8 0 1.6 3.9 2 8.5 2.1 12.7-.1 4.2-.5 8.8-2.1 12.7zm8.1.2c-.8.4-1.7-.4-1.4-1.3 1.4-3.6 2-7.6 2.101-11.399-.101-3.2-1.2-7.6-3.2-11.3-.4-.8.4-1.7 1.2-1.4C68.7 31.4 69.3 48.7 60 53.4z" + } + } + }, + custom75: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "path": { + "d": "M50 20c-1.7 0-3 1.3-3 3v54c0 1.7 1.3 3 3 3 16.5 0 30-13.5 30-30S66.5 20 50 20zm23.8 27h-7.9c-.3-7.1-1.9-13.3-4.3-18 6.6 3.7 11.2 10.3 12.2 18zM53 72.7V53h6.9c-.5 9.4-3.5 16.8-6.9 19.7zM53 47V27.3c3.4 2.9 6.4 10.3 6.9 19.7H53zm8.6 24c2.4-4.7 3.9-10.9 4.301-18H73.8c-1 7.7-5.6 14.3-12.2 18zM33.5 39.9c.8.6 2 .5 2.7-.3l5.5-6.2c.7-.8.7-2-.1-2.7l-5.5-5.5c-.7-.7-1.7-.8-2.5-.3-.4.2-.7.5-1.1.7C25 31 20 39.9 20 50c0 10.1 5 19 12.5 24.4.4.3.7.5 1.1.699.8.5 1.8.4 2.5-.3l5.5-5.5c.7-.7.8-2 .1-2.7L36.2 60.4c-.7-.801-1.9-.9-2.7-.301L31.4 61.7C29.2 58.3 28 54.3 28 50s1.2-8.3 3.4-11.7l2.1 1.6z" + } + } + }, + custom76: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "path": [{ + "d": "M52.9 55.3c-.3-.8-1.1-1.4-2-1.3H50c-11 0-20-9-20-20v-.5c0-1-1.3-1.4-1.8-.6-.7 1-1.2 2.2-1.6 3.5-1.7 5.7.5 11.9 5.3 15.4 2.2 1.601 4.5 2.3 6.9 2.601l.7 1.899c.1.3.3.5.5.601l3 1.3c.5.2.7.8.5 1.3l-1 2.9c-.2.5.1 1 .5 1.199l1.6.7c.5.2.7.8.5 1.3l-.9 3.1c-.1.5.1 1 .5 1.2l2.3 1c.5.199.7.8.5 1.3l-.8 3.1c-.1.5.1 1 .6 1.2l6.8 3.1c.5.2 1.101 0 1.301-.5l3-6.699c.199-.5.199-1 .1-1.5L52.9 55.3z" + }, { + "d": "M79.4 54.3L63.5 37.7c.7-2.5.7-5.2-.3-8.1-1.9-5.3-6.8-9.2-12.5-9.5-8.6-.4-15.6 6.9-14.7 15.6.7 6 5.2 10.9 11.1 12.1 2.6.5 5.1.3 7.4-.5l1.4 1.5c.2.2.4.3.7.3H60c.6 0 1 .4 1 1l.3 3.1c0 .5.5.899 1 .899H64c.6 0 1 .4 1 1l.5 3.2c.1.5.5.8 1 .8H69c.6 0 1 .4 1 1l.5 3.2c.1.5.5.8 1 .8H79c.6 0 1-.399 1-1v-7.3c0-.699-.2-1.199-.6-1.499zM48 37c-2.8 0-5-2.2-5-5s2.2-5 5-5 5 2.2 5 5c0 2.7-2.2 5-5 5z" + }] + } + }, + custom77: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "path": { + "d": "M32 42h4c.6 0 1-.4 1-1v-1.5C37 31.9 42.7 26 50 26s13 5.9 13 13.5V41c0 .6.4 1 1 1h4c.6 0 1-.4 1-1v-1.5C69 28.6 60.7 20 50 20s-19 8.6-19 19.5V41c0 .6.4 1 1 1zM70 48H31c-3.3 0-6 2.7-6 6v20c0 3.3 2.7 6 6 6h39c3.3 0 6-2.7 6-6V54c0-3.3-2.7-6-6-6zM55.3 64.1c-.899 1.4-1.399 3-1 4.601l.7 3c.2 1.1-.6 2.3-1.8 2.3h-6.4c-1.2 0-2-1.2-1.8-2.3l.7-3.101c.4-1.6-.1-3.199-1-4.5-.9-1.3-1.3-2.899-1-4.5.5-2.399 2.5-4.3 5-4.8 4.1-.8 7.6 2.2 7.6 5.9 0 1.3-.4 2.4-1 3.4z" + } + } + }, + custom78: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M78.3 29.3l-18-9c-.8-.4-1.8-.4-2.7 0L41 28.6l-16.7-8.3c-.9-.5-2-.4-2.9.1C20.5 21 20 22 20 23v45c0 1.1.6 2.2 1.7 2.7l18 9c.8.399 1.8.399 2.7 0L59 71.4l16.7 8.3c.4.2.9.3 1.3.3.5 0 1.1-.2 1.6-.4C79.5 79 80 78 80 77V32c0-1.1-.6-2.2-1.7-2.7zM74 35.1v23.7c0 1.4-1.4 2.4-2.7 1.9-4.6-1.8-1-9.5-4.3-13.7-3.1-3.9-7.2.1-11-6-3.7-5.9 1.3-10.1 5.7-12.4.6-.3 1.2-.3 1.8 0l9.3 4.7c.8.3 1.2 1 1.2 1.8zM48.5 69.9c-.7.399-1.6.3-2.2-.301C45 68.5 44 66.7 44 65c0-3-5-2-5-8 0-4.8-5.9-6.2-10.8-5.7-1.2.1-2.2-.8-2.2-2V31.1c0-1.5 1.6-2.5 2.9-1.8l10.8 5.4c.1 0 .2.1.3.1l.4.2c4.5 2.6 3.6 4.8 1.7 8-2.1 3.6-3 0-6-1s-6 1-5 3 4 0 6 2 2 5 8 3 7-1 9 1 3 6 0 9c-1.8 1.8-2.5 5.4-3.3 8-.2.5-.5 1-1 1.3l-1.3.6z" + } + }, + custom79: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "path": [{ + "d": "M39 41c-3.9 0-7 3.1-7 7s3.1 7 7 7 7-3.1 7-7-3.1-7-7-7z" + }, { + "d": "M79 63H60v-8h2c1.1 0 2-.9 2-2v-6c0-1.1-.9-2-2-2h-2.3c-1.601-10-10-17.8-20.4-18-11.8-.2-21.5 9.5-21.3 21.3.2 11.6 9.9 20.7 21.5 20.7H76v2c0 1.1.9 2 2 2h2c1.1 0 2-.9 2-2v-5c0-1.7-1.3-3-3-3zm-40-2c-7.2 0-13-5.8-13-13s5.8-13 13-13 13 5.8 13 13-5.8 13-13 13z" + }] + } + }, + custom8: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M47 21.3l-24 26c-1.4 1.5-1.4 3.9 0 5.4l24 26c1.6 1.7 4.3 1.7 5.9 0l24-26c1.399-1.5 1.399-3.9 0-5.4l-24-26a4.05 4.05 0 00-5.9 0z" + } + }, + custom80: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "path": [{ + "d": "M29 60c-5.5 0-10 4.5-10 10s4.5 10 10 10 10-4.5 10-10-4.5-10-10-10zm0 14c-2.2 0-4-1.8-4-4s1.8-4 4-4 4 1.8 4 4-1.8 4-4 4zM71 60c-5.5 0-10 4.5-10 10s4.5 10 10 10 10-4.5 10-10-4.5-10-10-10zm0 14c-2.2 0-4-1.8-4-4s1.8-4 4-4 4 1.8 4 4-1.8 4-4 4z" + }, { + "d": "M70.4 54c2.199-.1 4.3.3 6.3 1 1 .4 2.1-.1 2.6-1 5.101-9.7-3.1-14.2-8.3-16.8-1.4-.6-3 .3-3 1.8v5.8c0 1.2-.8 2.4-2 2.2-7.4-1.2-14-9-22-9s-9 8-9 8c-5.6 0-11.1-.4-13.6-1-1.2-.3-2.4.7-2.4 2 0 0 0 7 10 7 8.2 0 15 6 15.9 14.2.2 2.2 0 4.399-.6 6.3-.2.7.3 1.4 1.1 1.4h9.2c.801 0 1.301-.7 1.101-1.4-.601-1.9-.8-3.9-.601-6 .7-7.8 7.3-14.2 15.3-14.5zM19 47zM45.3 31.5c.1.8.7 1.5 1.4 1.7l10.6 3.6c1 .3 2-.1 2.5-1l.9-1.7c.399-.7-.101-1.5-.8-1.6-3.101-.3-9.601-1.5-7.7-5 1.7-3 5.2-2.2 7.5-1.2.899.4 1.8-.6 1.399-1.5-1.5-3.2-5-5.2-8.699-4.8-4.7.5-8 5.1-7.4 9.8l.3 1.7z" + }] + } + }, + custom81: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M76.9 20c-1 0-3.9.1-4.9.1-15.4.8-33.1 4.6-34 4.9-1.2.4-2 1.6-2 2.8v32.6c-1-.4-2.6-.6-4-.6-6.6 0-12 4.5-12 10s5.4 10 12 10 12-4.5 12-10V49.4c0-.9.6-1.7 1.5-1.9 4.9-1.2 11.7-2.5 24.4-3.3 1.199-.1 2.1.8 2.1 2v10.3c-1-.4-2.6-.6-4-.6-6.6 0-12 4.5-12 10s5.4 10 12 10 12-4.5 12-10V23c0-1.7-1.4-3.1-3.1-3zm-6.8 15.8c-12.2.7-18.4 1.9-23.7 3.1-1.3.3-2.4-.7-2.4-2v-3.1c0-.9.6-1.7 1.6-2 5.2-1.2 11.5-2.5 24.3-3.3 1.199-.1 2.1.8 2.1 2v3.2c0 1.2-.8 2.1-1.9 2.1z" + } + }, + custom82: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "path": { + "d": "M80 44H59c-1.1 0-2 .9-2 2v1c0 1.6-1.3 3-3 3-1.6 0-3-1.3-3-3v-1c0-1.1-.9-2-2-2h-5 .1c-5.9.3-11 3.7-13.8 8.6-1-.399-2.1-.6-3.2-.6-5 0-9 4-9 9s4 9 9 9c1.1 0 2.2-.2 3.2-.6 2.8 4.899 8 8.3 13.8 8.6 9.8.5 17.9-7.3 17.9-17 0-.6 0-1.2-.1-1.8-.101-1 .6-2 1.6-2.2l16.9-3.7c.899-.2 1.6-1 1.6-2V46c0-1.1-.9-2-2-2zM27 64c-1.7 0-3-1.3-3-3s1.3-3 3-3c.4 0 .9.1 1.2.3-.2 1.2-.2 2.5-.2 3.8 0 .601.1 1.101.2 1.601-.4.199-.8.299-1.2.299zM54 37c1.7 0 3-1.3 3-3v-9c0-1.7-1.3-3-3-3s-3 1.3-3 3v9c0 1.7 1.3 3 3 3zM39.7 38c.6.7 1.4 1 2.3 1 .7 0 1.4-.2 2-.7 1.3-1.1 1.4-3 .3-4.2l-6-7c-1.1-1.3-3-1.4-4.2-.3-1.3 1.1-1.4 3-.3 4.2l5.9 7zM66 39c.8 0 1.7-.4 2.3-1l6-7c1.101-1.3.9-3.2-.3-4.2-1.3-1.1-3.2-.9-4.2.3l-6 7c-1.1 1.3-.899 3.2.3 4.2.5.5 1.2.7 1.9.7z" + } + } + }, + custom83: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "path": { + "d": "M74.6 39.3c.4.4 1 .4 1.4 0l1.4-1.4c3.4-3.4 3.5-8.6.2-11.9 0 0-4.3-4.4-4.399-4.4-3.4-2.8-8.101-1.5-10.8 1.2L61 24.2c-.4.4-.4 1 0 1.4l13.6 13.7zM56.6 29.8c-.399-.4-1-.4-1.399 0L27.7 57.1c-1.5 1.5-2.6 3.301-3.3 5.4L20.2 76c-.3.8-.2 1.8.2 2.5.6 1 1.6 1.5 2.6 1.5.3 0 .6 0 .9-.1 0 0 9.2-2.9 13.7-4.301 2-.6 3.8-1.699 5.3-3.199L70.3 45c.4-.4.4-1 0-1.4L56.6 29.8zM35.8 69.9c-2.1.699-5.4 1.699-8.2 2.6l2.6-8.2c.3-1.1.9-2 1.7-2.8l6.7 6.7c-.8.8-1.8 1.4-2.8 1.7z" + } + } + }, + custom84: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "path": { + "d": "M75 64H25c-1.7 0-3 1.3-3 3s1.3 3 3 3h4l1.7 8.5c.2.9 1 1.5 1.9 1.5h32.9c.9 0 1.7-.6 1.9-1.5L69 70h6c1.7 0 3-1.3 3-3s-1.3-3-3-3zM33 58h14v-5.6c-1.2-.7-2-2-2-3.4 0-2.2 1.8-4 4-4s4 1.8 4 4c0 1.5-.8 2.8-2 3.4V58h14c1.1 0 2-.9 2-2v-3c0-6.1-5.8-8.2-10.4-10.1-3.1-1.3-3.6-2.5-3.6-3.7 0-1.3.9-2.5 1.9-3.4 1.8-1.6 2.899-3.9 2.899-6.6 0-4.9-3.2-9.2-8.8-9.2-5.6 0-8.8 4.3-8.8 9.2 0 2.7 1 4.9 2.9 6.6 1 .9 1.9 2.1 1.9 3.4 0 1.3-.5 2.4-3.6 3.7C36.8 44.8 31 47.2 31 53v3c0 1.1.9 2 2 2z" + } + } + }, + custom85: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "path": [{ + "d": "M78 24H28v-2c0-1.1-.9-2-2-2h-4c-1.1 0-2 .9-2 2v56c0 1.1.9 2 2 2h4c1.1 0 2-.9 2-2V32h50c1.1 0 2-.9 2-2v-4c0-1.1-.9-2-2-2z" + }, { + "d": "M74 38H40c-3.3 0-6 2.7-6 6v22c0 3.3 2.7 6 6 6h34c3.3 0 6-2.7 6-6V44c0-3.3-2.7-6-6-6zm-5.5 17H66v10c0 .6-.4 1-1 1h-4c-.6 0-1-.4-1-1v-6c0-.6-.4-1-1-1h-4c-.6 0-1 .4-1 1v6c0 .6-.4 1-1 1h-4c-.6 0-1-.4-1-1V55h-2.5c-.5 0-.7-.6-.3-.9l11.2-10.9c.399-.3.899-.3 1.3 0l11.2 10.9c.3.3.1.9-.4.9z" + }] + } + }, + custom86: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "path": [{ + "d": "M38 30h4c.6 0 1-.4 1-1v-3h14v3c0 .6.4 1 1 1h4c.6 0 1-.4 1-1v-3c0-3.3-2.7-6-6-6H43c-3.3 0-6 2.7-6 6v3c0 .6.4 1 1 1zM74 36H26c-3.3 0-6 2.7-6 6v32c0 3.3 2.7 6 6 6h48c3.3 0 6-2.7 6-6V42c0-3.3-2.7-6-6-6zM50 72c-7.7 0-14-6.3-14-14s6.3-14 14-14 14 6.3 14 14-6.3 14-14 14z" + }, { + "d": "M56 55h-3v-3c0-1.1-.9-2-2-2h-2c-1.1 0-2 .9-2 2v3h-3c-1.1 0-2 .9-2 2v2c0 1.1.9 2 2 2h3v3c0 1.1.9 2 2 2h2c1.1 0 2-.9 2-2v-3h3c1.1 0 2-.9 2-2v-2c0-1.1-.9-2-2-2z" + }] + } + }, + custom87: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "path": [{ + "d": "M75 20H25c-1.7 0-3 1.3-3 3v48c0 1.7 1.3 3 3 3h1v3c0 1.7 1.3 3 3 3h2c1.7 0 3-1.3 3-3v-3h32v3c0 1.7 1.3 3 3 3h2c1.7 0 3-1.3 3-3v-3h1c1.7 0 3-1.3 3-3V23c0-1.7-1.3-3-3-3zM31 68c-1.7 0-3-1.3-3-3V29c0-1.7 1.3-3 3-3h38c1.7 0 3 1.3 3 3v36c0 1.7-1.3 3-3 3H31z" + }, { + "d": "M64 32H36c-1.1 0-2 .9-2 2v26c0 1.1.9 2 2 2h28c1.1 0 2-.9 2-2V34c0-1.1-.9-2-2-2zm-4.7 18H51c-1.1 2-3.4 4-6.2 4-3.8 0-6.8-3.2-6.8-7s3-7 6.8-7c2.8 0 5.2 2 6.2 4h8.2c1.5 0 2.7 1.5 2.7 3s-1.1 3-2.6 3z" + }] + } + }, + custom88: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "path": { + "d": "M78.1 70H21.9c-1 0-1.9.8-1.9 1.8v.1c0 4.5 5.6 8.1 10 8.1h40c4.4 0 10-3.6 10-8.1v-.1c0-1-.9-1.8-1.9-1.8zM23 64h18c1.1 0 2-1.1 2-2.2V27.4c0-.5-.7-.7-.9-.2l-20 35.2c-.3.7.1 1.6.9 1.6zM51 64h25c1.2 0 2.1-1.1 2-2.3-.9-7.2-2.1-29.6-27.6-41.6-.6-.3-1.4.1-1.4.9v40.8c0 1.1.9 2.2 2 2.2z" + } + } + }, + custom89: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "path": { + "d": "M57.9 43.4c-.4-.5-1.2-.4-1.5.2-1.2 1.7-2.4 4.3-2.4 7.4v11c0 1.6-1.3 3-3 3-1.6 0-3-1.3-3-3v-3.1-31.101c0-7.7-6.7-8.9-11.6-7C35.1 21.2 33.9 22 33 23c-.6.7-1.3 1.3-2.2 1.6-1.8.6-4.9-1.1-6.5-2.1-.9-.5-2.1-.3-2.7.5l-1.2 1.7c-.7.9-.4 2.3.5 2.9 1.9 1.2 4.9 3.1 7.2 3.5 3.5.6 6.7-.5 9.3-2.9l-.1.1c.7-.6 1.9-1.6 2.7-.5 2 3-6 16.1-6 35.2v1.6c0 8.1 8.2 15.1 16.3 15.5 8.6.4 15.7-6.5 15.7-15 0-4.3 1.6-7.1 3.2-8.8a.967.967 0 000-1.399L57.9 43.4zM77 53c-.8 0-1.5-.3-2.1-.9l-16-16c-1.2-1.2-1.2-3.1 0-4.2 1.199-1.2 3.1-1.2 4.199 0l16 16c1.2 1.2 1.2 3.1 0 4.2-.599.6-1.299.9-2.099.9z" + } + } + }, + custom9: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M62 20H45.1c-2.5 0-4.7 1.5-5.6 3.8L29 50.9c-.8 2 .7 4.1 2.8 4.1H49l-6.4 22.4c-.6 2.1 2 3.5 3.4 1.8L72.3 48c1.7-1.9.3-5-2.3-5H57l11.4-18.4c1.199-2-.2-4.6-2.601-4.6H62z" + } + }, + custom90: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "path": [{ + "d": "M77.4 26L53 29.6V64c0 .6-.4 1-1 1h-4c-.6 0-1-.4-1-1V30.5L23.4 34H23c-1.5 0-2.8-1.1-3-2.6-.2-1.6.9-3.2 2.5-3.4l18.6-2.8c1.7-3.1 5-5.3 8.8-5.3 2.8 0 5.2 1.1 7 2.9L76.6 20c1.601-.2 3.2.9 3.4 2.5.2 1.7-.9 3.2-2.6 3.5z" + }, { + "d": "M41.3 62.9c.7-.9.9-2 .4-3.101l-8-19C33.3 39.7 32.2 39 31 39s-2.3.7-2.8 1.8l-8 19c-.4.9-.3 1.9.2 2.8.2.3 4.1 6.3 10.4 6.3 3.7 0 7.3-2 10.5-6zM31 49.7L35.3 60h-8.6L31 49.7zM71.8 34.8a3.077 3.077 0 00-5.6 0l-8 19c-.4.9-.3 1.9.2 2.8.2.3 4.1 6.3 10.4 6.3 3.7 0 7.2-2 10.5-6 .7-.9.9-2 .4-3.101L71.8 34.8zM69 43.7L73.3 54h-8.6L69 43.7zM50 71c-5.6 0-11.3 2-15.3 5.4-.4.4-.7.9-.7 1.5v.1c0 1.1.9 2 2 2h28c1.1 0 2-.9 2-2v-.1c0-.601-.2-1.101-.7-1.5C61.3 73 55.6 71 50 71z" + }] + } + }, + custom91: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "path": [{ + "d": "M77.8 32.6c-3-.9-5.6-3-7.3-5.7-1.3-2.1-1.4-6.9-4.6-6.9H34.1c-3.3 0-3.3 4.8-4.6 6.9-2.1 3.3-4.8 4.1-8 6-3.3 1.9-.2 9.9.5 12.7 3.1 11.1 9 21.4 18.2 28.7 2.6 2.101 5.4 3.9 8.4 5.4 2.7 1.399 7.2-2.5 9.2-4C63 72 67.3 67.3 70.7 62c2.899-4.6 5.1-9.6 6.7-14.8.6-2.1 1.2-4.2 1.6-6.4.4-1.8 1.3-4.6.7-6.4-.2-.8-1-1.5-1.9-1.8-4.6-1.4 1.4.4 0 0zm-4.4 7C70.7 53 63.5 65.5 51.6 72.8l-1.6 1-1.6-1C34 64 28.6 49.9 26.6 39.6l-.4-2.1 1.8-1.1c3.1-1.9 6-5.2 7.7-8.7l.8-1.8h27l.5 1.3c1.7 3.8 4.8 7.4 8.5 9.5l1.3.7v.1l-.4 2.1z" + }, { + "d": "M48.9 32c-2.3 0-7.9 0-9 1-1.9 1.7-3 4.2-5 5.9-2.1 1.8-1.1 3.6-.4 6 1.4 4.2 3.3 8.3 5.9 12 1.3 1.899 2.8 3.699 4.5 5.3.5.5 5.1 5.1 5.1 2.2V34c0-1.1 0-2-1.1-2z" + }] + } + }, + custom92: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "path": [{ + "d": "M73.7 56.4L50.9 46c-.601-.3-1.2-.3-1.8 0L26.3 56.4c-1.3.6-1.7 2.1-.9 3.3 2.4 3.399 3.9 7.8 4.5 9.8.2.8.9 1.3 1.6 1.5 7.9 1.9 14.4 6.4 17.1 8.5.8.6 1.9.6 2.7 0 2.7-2.1 9.3-6.6 17.1-8.5.8-.2 1.399-.7 1.6-1.5.6-2.1 2.1-6.5 4.5-9.8.9-1.1.5-2.7-.8-3.3zM44 62c-1.7 0-3-1.8-3-4s1.3-4 3-4 3 1.8 3 4-1.3 4-3 4zm12 0c-1.7 0-3-1.8-3-4s1.3-4 3-4 3 1.8 3 4-1.3 4-3 4z" + }, { + "d": "M34.4 46.1l12.2-5.6c1.5-.7 3.1-.9 4.8-.6.699.1 1.399.4 2.1.7l12.1 5.6c.7.3 1.4-.2 1.4-.9v-4.5c0-.5-.2-1-.6-1.4-.8-.9-2.4-2.4-5.4-2.4v-5.9c0-.7-.4-1.4-1-1.7-1.1-.6-3-1.5-6-2V22c0-1.1-.9-2-2-2h-4c-1.1 0-2 .9-2 2v5.4c-3 .5-4.9 1.4-6 2-.6.3-1 1-1 1.7V37c-3 0-4.6 1.5-5.4 2.3-.4.4-.6.9-.6 1.4v4.5c0 .7.7 1.2 1.4.9z" + }] + } + }, + custom93: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "path": { + "d": "M42.4 50h29.5c.899 0 1.699-.6 1.899-1.5l5.4-19C79.6 28.2 78.6 27 77.3 27H31.7l-.8-2.8c-.4-1.3-1.6-2.2-2.9-2.2h-4.8c-1.6 0-3.1 1.2-3.2 2.8-.1 1.7 1.3 3.2 3 3.2h2.8l9.4 31.8c.4 1.3 1.5 2.2 2.9 2.2h34.8c1.6 0 3.1-1.2 3.199-2.8.101-1.7-1.3-3.2-3-3.2H42.5c-1.3 0-2.5-.9-2.8-2.1v-.1c-.7-1.9.8-3.8 2.7-3.8z" + }, + "circle": [{ + "cx": "43", + "cy": "73", + "r": "5" + }, { + "cx": "67", + "cy": "73", + "r": "5" + }] + } + }, + custom94: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "path": [{ + "d": "M56 38V23c0-1.7-1.3-3-3-3h-4c-1.7 0-3 1.3-3 3s1.3 3 3 3h1v12c0 6.6-5.4 12-12 12s-12-5.4-12-12V26h1c1.7 0 3-1.3 3-3s-1.3-3-3-3h-4c-1.7 0-3 1.3-3 3v15c0 9.9 8.1 18 18 18s18-8.1 18-18z" + }, { + "d": "M80 50c0-5-4-9-9-9s-9 4-9 9c0 3.9 2.5 7.2 6 8.5v2.2C68 68 62 74 54.7 74h-.3c-6.3 0-11.601-4.5-13-10.4-.2-.899-1-1.6-2-1.6h-2c-1.3 0-2.2 1.2-2 2.4C37.1 73.3 45 80 54.3 80h.3C65.3 80 74 71.3 74 60.7v-2.2c3.5-1.3 6-4.6 6-8.5zm-9 3c-1.7 0-3-1.3-3-3s1.3-3 3-3 3 1.3 3 3-1.3 3-3 3z" + }] + } + }, + custom95: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "path": [{ + "d": "M53 30.2V26h1c1.6 0 3-1.3 3-3 0-1.6-1.3-3-3-3h-8c-1.6 0-3 1.3-3 3 0 1.6 1.3 3 3 3h1v4.2c-12.4 1.5-22 12-22 24.8 0 13.8 11.2 25 25 25s25-11.2 25-25c0-12.8-9.6-23.3-22-24.8zM50 74c-10.5 0-19-8.5-19-19s8.5-19 19-19 19 8.5 19 19-8.5 19-19 19z" + }, { + "d": "M56.6 44.8L52 49.4c-.6-.2-1.3-.4-2-.4-3.3 0-6 2.7-6 6s2.7 6 6 6 6-2.7 6-6c0-.7-.1-1.4-.4-2l4.601-4.6c1-1 1-2.6 0-3.6-1.001-1.1-2.601-1.1-3.601 0z" + }] + } + }, + custom96: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "path": { + "d": "M79.4 28.7l-5.2-3.9c-.7-.5-1.5-.8-2.4-.8H54v-2c0-1.1-.9-2-2-2h-4c-1.1 0-2 .9-2 2v2H26c-1.1 0-2 .9-2 2v8c0 1.1.9 2 2 2h45.7c.899 0 1.7-.3 2.399-.8l5.2-3.9c.901-.7.901-1.9.101-2.6zM74 46H54v-3c0-.6-.4-1-1-1h-6c-.6 0-1 .4-1 1v3H28.3c-.9 0-1.7.3-2.4.8l-5.2 3.9c-.9.6-.9 1.899 0 2.6l5.2 3.9c.7.5 1.5.8 2.4.8H74c1.1 0 2-.9 2-2v-8c0-1.1-.9-2-2-2zM54 71.6V65c0-.6-.4-1-1-1h-6c-.6 0-1 .4-1 1v6.6c-4 1.101-6.2 3.5-6.9 6.5-.2.9.5 1.9 1.5 1.9h18.9c1 0 1.7-.9 1.5-1.9-.8-3-3-5.4-7-6.5z" + } + } + }, + custom97: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M60 54.4V29.1C60 22.9 55.2 18 49.1 18h-.2C42.8 18 38 22.9 38 29.1v25.3c-3.2 3-5 7.199-5 11.6 0 8.8 7.2 16 16 16s16-7.2 16-16c0-4.5-1.8-8.6-5-11.6zM57.4 66H40.6c-.9 0-1.6-.9-1.5-1.8.4-2.4 1.7-4.5 3.6-6 .7-.601 1.2-1.5 1.2-2.4V29.1c0-2.9 2.2-5.1 4.9-5.1h.2c2.8 0 4.9 2.2 4.9 5.1v.9h-3c-1.7 0-3 1.3-3 3s1.3 3 3 3h3v4h-3c-1.7 0-3 1.3-3 3s1.3 3 3 3h3v4h-3c-1.7 0-3 1.3-3 3s1.3 3 3 3h3c.1.9.5 1.6 1.199 2.2 1.9 1.5 3.2 3.7 3.601 6 .3.9-.4 1.8-1.3 1.8z" + } + }, + custom98: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "path": [{ + "d": "M81.4 46.4l-7.8-7.8c-.4-.4-.9-.6-1.4-.6H64c-1.1 0-2 .9-2 2v16c0 .7.7 1.2 1.4.9 1.4-.6 3-.9 4.6-.9 4.5 0 8.4 2.5 10.5 6.2.3.5 1 .7 1.5.3 1.2-1.1 2-2.7 2-4.5V47.8c0-.5-.2-1-.6-1.4z" + }, { + "d": "M54 29H20c-1.1 0-2 .9-2 2v27c0 1.8.8 3.4 2 4.5.5.4 1.2.3 1.5-.3 2-3.7 6-6.2 10.5-6.2 5 0 9.2 3 11.1 7.4.2.4.5.6.9.6h6c3.3 0 6-2.7 6-6V31c0-1.1-.9-2-2-2z" + }], + "circle": [{ + "cx": "68", + "cy": "68", + "r": "6" + }, { + "cx": "32", + "cy": "68", + "r": "6" + }] + } + }, + custom99: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M74 36H57.2c-.5-1.2-1.2-2.2-2.101-3.1l6.301-8.1c1-1.3.8-3.2-.5-4.2-1.301-1-3.2-.8-4.2.5l-7 9c-.6 0-1.1-.1-1.7-.1s-1.1.1-1.6.1l-7-9c-1-1.3-2.9-1.5-4.2-.5-1.3 1-1.5 2.9-.5 4.2l6.3 8.1c-.9.9-1.6 1.9-2.1 3.1H26c-3.3 0-6 2.7-6 6v28c0 3.3 2.7 6 6 6h48c3.3 0 6-2.7 6-6V42c0-3.3-2.7-6-6-6zm-8 32c0 1.1-.9 2-2 2H28c-1.1 0-2-.9-2-2V44c0-1.1.9-2 2-2h36c1.1 0 2 .9 2 2v24zm7-10c-1.7 0-3-1.3-3-3s1.3-3 3-3 3 1.3 3 3-1.3 3-3 3zm0-10c-1.7 0-3-1.3-3-3s1.3-3 3-3 3 1.3 3 3-1.3 3-3 3z" + } + }, + viewBox: '0 0 100 100' + }; +} + +/* harmony default export */ var custom = (custom_icons); +// CONCATENATED MODULE: ./icons/doctype/index.js +/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */ + +/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */ +var doctype_icons = {}; + +if (true) { + doctype_icons = { + ai: { + "xmlns": "http://www.w3.org/2000/svg", + "path": [{ + "d": "M5.075.006A5.074 5.074 0 00.002 5.08v53.841a5.073 5.073 0 005.073 5.074h45.774a5.074 5.074 0 005.074-5.074V20.316L37.02.006H5.075z", + "fill-rule": "evenodd", + "clip-rule": "evenodd", + "fill": "#FFC35E" + }, { + "d": "M55.923 20.357v.999h-12.8s-6.312-1.26-6.128-6.707c0 0 .253 5.708 6.003 5.708h12.925z", + "fill-rule": "evenodd", + "clip-rule": "evenodd", + "fill": "#FFB446" + }, { + "d": "M37.02.006v14.56c0 1.656 1.104 5.792 6.104 5.792h12.8L37.02.006z", + "opacity": ".5", + "fill-rule": "evenodd", + "clip-rule": "evenodd", + "fill": "#fff" + }, { + "d": "M20.136 53.923a.776.776 0 01-.72-.486l-.9-2.287h-5.978l-.9 2.287a.776.776 0 01-.72.486.804.804 0 01-.811-.792c0-.09.018-.198.054-.288l4.141-10.335a1.304 1.304 0 011.225-.811c.522 0 .99.324 1.188.811l4.177 10.335c.036.09.054.198.054.288 0 .36-.324.792-.81.792zm-4.61-10.569l-2.557 6.463h5.095l-2.538-6.463zm8.513 10.569a.73.73 0 01-.738-.738V42.417c0-.396.324-.72.774-.72.396 0 .72.324.72.72v10.767a.734.734 0 01-.756.739z", + "fill": "#fff" + }] + }, + attachment: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "fill-rule": "evenodd", + "clip-rule": "evenodd", + "path": [{ + "d": "M5.113-.026A5.074 5.074 0 00.039 5.048v53.841a5.073 5.073 0 005.074 5.074h45.773a5.074 5.074 0 005.074-5.074V20.284L37.059-.026H5.113z", + "fill": "#8199AF" + }, { + "d": "M55.977 20.352v1H43.178s-6.312-1.26-6.129-6.707c0 0 .208 5.707 6.004 5.707h12.924z", + "fill": "#617F9B" + }, { + "d": "M37.074 0v14.561c0 1.656 1.104 5.791 6.104 5.791h12.799L37.074 0z", + "opacity": ".5", + "fill": "#fff" + }] + }, + "path": { + "d": "M26.6 41.467c1.134-1.134 1.134-2.986 0-4.12s-2.986-1.134-4.12 0l-9.167 9.167c-1.134 1.134-1.134 2.986 0 4.12s2.986 1.134 4.12 0l5.625-5.602c.324-.324.324-.856 0-1.181s-.856-.324-1.181 0l-3.542 3.519a1.204 1.204 0 01-1.759 0 1.204 1.204 0 010-1.759l3.519-3.542c1.319-1.296 3.426-1.296 4.722 0 1.296 1.319 1.296 3.426 0 4.722l-5.625 5.625c-2.106 2.106-5.532 2.106-7.662 0-2.106-2.129-2.106-5.555 0-7.662l9.166-9.167c2.13-2.129 5.556-2.129 7.662 0 2.129 2.106 2.129 5.532 0 7.662l-.903.902a4.968 4.968 0 00-.926-2.616l.071-.068z", + "fill": "#fff" + } + }, + audio: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "fill-rule": "evenodd", + "clip-rule": "evenodd", + "path": [{ + "d": "M5.151.012A5.073 5.073 0 00.078 5.085v53.842A5.073 5.073 0 005.151 64h45.774A5.074 5.074 0 0056 58.927V20.321L37.097.012H5.151z", + "fill": "#379FD3" + }, { + "d": "M56 20.357v1H43.2s-6.312-1.26-6.128-6.707c0 0 .208 5.707 6.003 5.707H56z", + "fill": "#2987C8" + }, { + "d": "M37.097.006v14.561c0 1.656 1.104 5.791 6.104 5.791h12.8L37.097.006z", + "opacity": ".5", + "fill": "#fff" + }, { + "d": "M29.798 34.036L15.633 35.85v13.438c-.738-.205-1.628-.243-2.531-.064-2.009.394-3.325 1.702-2.938 2.918.386 1.215 2.325 1.88 4.333 1.48 1.764-.348 2.994-1.397 3.005-2.473h.002v-10.74l10.422-1.288v8.306c-.75-.212-1.655-.251-2.572-.068-2.03.399-3.357 1.718-2.969 2.947.389 1.229 2.35 1.897 4.379 1.499 1.849-.366 3.116-1.494 3.031-2.621V34.036z", + "fill": "#fff" + }] + } + }, + box_notes: { + "xmlns": "http://www.w3.org/2000/svg", + "path": [{ + "fill": "#277A84", + "d": "M5.112.011A5.074 5.074 0 00.039 5.085v53.841A5.074 5.074 0 005.112 64h45.775a5.074 5.074 0 005.074-5.074V20.321L37.057.011H5.112z" + }, { + "fill": "#1E5B60", + "d": "M55.96 20.377v1H43.161s-6.312-1.26-6.129-6.707c0 0 .208 5.707 6.004 5.707H55.96z" + }, { + "opacity": ".5", + "fill": "#FFF", + "d": "M37.059.025v14.561c0 1.656 1.104 5.791 6.104 5.791h12.799L37.059.025z" + }, { + "fill": "#FFF", + "d": "M27.094 39.334l2.105-2.104H10.495s-.361.016-.362.401 0 1.159 0 1.347c0 .187.182.355.375.355l16.586.001zM19.768 46.602l2.104-2.104H10.495s-.361.016-.362.401v1.347c0 .187.182.356.375.356h9.26zM14.708 53.904l.268-2.104h-4.48s-.361.017-.362.402 0 1.16 0 1.346c0 .187.182.356.375.356h4.199zM15.588 53.873s1.672-.03 2.015-.112c.342-.082.406-.146.531-.271l13.104-13.104s-.494.42-1.592-.682c-.869-.87-.487-1.402-.487-1.402s-12.75 12.729-12.99 12.988c-.24.26-.252.404-.274.509-.021.105-.307 2.074-.307 2.074z" + }, { + "fill": "#FFF", + "d": "M30.742 36.714c-.201.201-.96.938-1.059 1.058-.097.121-.184.227-.104.58.079.353.682 1.354 1.656 1.629 0 0 .299.107.541-.133.24-.242 1.092-1.093 1.092-1.093s.204-.172.042-.621c-.163-.448-.81-1.247-1.582-1.539-.387-.148-.586.119-.586.119z" + }] + }, + csv: { + "xmlns": "http://www.w3.org/2000/svg", + "path": [{ + "d": "M5.106 0A5.074 5.074 0 00.033 5.074v53.841a5.073 5.073 0 005.073 5.074H50.88a5.074 5.074 0 005.074-5.074V20.31L37.051 0H5.106z", + "fill-rule": "evenodd", + "clip-rule": "evenodd", + "fill": "#45B058" + }, { + "d": "M20.306 43.197a.784.784 0 01.198.522c0 .378-.306.72-.703.72a.638.638 0 01-.504-.234c-.702-.846-1.891-1.387-3.007-1.387-2.629 0-4.627 2.017-4.627 4.88 0 2.845 1.999 4.879 4.627 4.879a3.97 3.97 0 003.007-1.369.697.697 0 01.504-.233c.415 0 .703.359.703.738 0 .18-.072.36-.198.504-.937.972-2.215 1.693-4.015 1.693-3.457 0-6.176-2.521-6.176-6.212s2.719-6.212 6.176-6.212c1.8.001 3.096.721 4.015 1.711zm6.802 10.714c-1.782 0-3.187-.594-4.213-1.495a.71.71 0 01-.234-.54c0-.361.27-.757.702-.757.144 0 .306.036.432.144.828.739 1.98 1.314 3.367 1.314 2.143 0 2.827-1.152 2.827-2.071 0-3.097-7.112-1.386-7.112-5.672 0-1.98 1.764-3.331 4.123-3.331 1.548 0 2.881.467 3.853 1.278a.73.73 0 01.252.54c0 .36-.306.72-.703.72a.68.68 0 01-.432-.162c-.882-.72-1.98-1.044-3.079-1.044-1.44 0-2.467.774-2.467 1.909 0 2.701 7.112 1.152 7.112 5.636.001 1.748-1.187 3.531-4.428 3.531zm16.994-11.254l-4.159 10.335a1.31 1.31 0 01-1.188.81h-.036a1.316 1.316 0 01-1.207-.81L33.37 42.657a.746.746 0 01-.054-.288c0-.36.323-.793.81-.793.306 0 .594.18.72.486l3.889 9.992 3.889-9.992a.767.767 0 01.72-.486.803.803 0 01.758 1.081z", + "fill": "#fff" + }], + "g": { + "fill-rule": "evenodd", + "clip-rule": "evenodd", + "path": [{ + "d": "M56.001 20.357v1h-12.8s-6.312-1.26-6.128-6.707c0 0 .208 5.707 6.003 5.707h12.925z", + "fill": "#349C42" + }, { + "d": "M37.098.006v14.561c0 1.656 1.104 5.791 6.104 5.791h12.8L37.098.006z", + "opacity": ".5", + "fill": "#fff" + }] + } + }, + eps: { + "xmlns": "http://www.w3.org/2000/svg", + "path": [{ + "d": "M5.106.009A5.074 5.074 0 00.033 5.083v53.841a5.073 5.073 0 005.073 5.074H50.88a5.074 5.074 0 005.074-5.074V20.319L37.052.009H5.106z", + "fill-rule": "evenodd", + "clip-rule": "evenodd", + "fill": "#FFC35E" + }, { + "d": "M17.45 53.912h-6.248a1.085 1.085 0 01-1.081-1.081v-9.849c0-.595.486-1.081 1.081-1.081h6.248c.36 0 .648.288.648.685a.645.645 0 01-.648.647h-5.833v3.871h5.708c.36 0 .648.288.648.685 0 .36-.288.648-.648.648h-5.708v4.141h5.833c.36 0 .648.288.648.648 0 .397-.288.686-.648.686zm8.189-4.772h-3.331v4.141a.734.734 0 01-.756.738.73.73 0 01-.738-.738V42.982c0-.595.486-1.081 1.081-1.081h3.745c2.413 0 3.763 1.657 3.763 3.619-.001 1.963-1.387 3.62-3.764 3.62zm-.18-5.906h-3.151v4.573h3.151c1.422 0 2.395-.936 2.395-2.287 0-1.35-.973-2.286-2.395-2.286zm10.259 10.893c-1.782 0-3.187-.594-4.213-1.495a.71.71 0 01-.234-.54c0-.361.27-.757.702-.757.144 0 .306.036.432.144.829.739 1.981 1.314 3.367 1.314 2.143 0 2.827-1.152 2.827-2.071 0-3.097-7.112-1.386-7.112-5.672 0-1.98 1.764-3.331 4.123-3.331 1.548 0 2.881.468 3.853 1.279a.73.73 0 01.252.54c0 .36-.306.72-.702.72a.68.68 0 01-.432-.162c-.882-.72-1.98-1.044-3.079-1.044-1.44 0-2.467.774-2.467 1.909 0 2.701 7.112 1.152 7.112 5.636.001 1.748-1.188 3.53-4.429 3.53z", + "fill": "#fff" + }], + "g": { + "fill-rule": "evenodd", + "clip-rule": "evenodd", + "path": [{ + "d": "M56 20.357v1H43.201c-2.438 0-6.312-1.26-6.128-6.707 0 0 .208 5.707 6.003 5.707H56z", + "fill": "#FFB446" + }, { + "d": "M37.097.006v14.561c0 1.656 1.104 5.791 6.104 5.791H56L37.097.006z", + "opacity": ".5", + "fill": "#fff" + }] + } + }, + excel: { + "xmlns": "http://www.w3.org/2000/svg", + "path": [{ + "d": "M5.112.006A5.074 5.074 0 00.039 5.08v53.841a5.073 5.073 0 005.073 5.074h45.774a5.074 5.074 0 005.074-5.074V20.316L37.058.006H5.112z", + "fill-rule": "evenodd", + "clip-rule": "evenodd", + "fill": "#45B058" + }, { + "d": "M19.429 53.938a.64.64 0 01-.54-.27l-3.728-4.97-3.745 4.97a.641.641 0 01-.54.27.71.71 0 01-.72-.72c0-.144.035-.306.144-.432l3.89-5.131-3.619-4.826a.722.722 0 01-.145-.414c0-.342.288-.72.721-.72.216 0 .432.108.576.288l3.438 4.628 3.438-4.646a.643.643 0 01.541-.27c.378 0 .738.306.738.72a.695.695 0 01-.127.414l-3.619 4.808 3.891 5.149a.7.7 0 01.125.414c0 .396-.324.738-.719.738zm9.989-.126h-5.455a1.083 1.083 0 01-1.081-1.08V42.415c0-.396.324-.72.774-.72.396 0 .721.324.721.72V52.48h5.041c.359 0 .648.288.648.648 0 .396-.289.684-.648.684zm6.982.216c-1.782 0-3.188-.594-4.213-1.495a.71.71 0 01-.234-.54c0-.36.27-.756.702-.756.144 0 .306.036.433.144.828.738 1.98 1.314 3.367 1.314 2.143 0 2.826-1.152 2.826-2.071 0-3.097-7.111-1.386-7.111-5.672 0-1.98 1.764-3.331 4.123-3.331 1.548 0 2.881.468 3.853 1.278a.73.73 0 01.253.54c0 .36-.307.72-.703.72a.676.676 0 01-.432-.162c-.883-.72-1.98-1.044-3.079-1.044-1.44 0-2.467.774-2.467 1.909 0 2.701 7.112 1.152 7.112 5.636 0 1.748-1.188 3.53-4.43 3.53z", + "fill": "#fff" + }, { + "d": "M55.953 20.352v1H43.152s-6.312-1.26-6.127-6.707c0 0 .207 5.707 6.002 5.707h12.926z", + "fill-rule": "evenodd", + "clip-rule": "evenodd", + "fill": "#349C42" + }, { + "d": "M37.049 0v14.561c0 1.656 1.104 5.791 6.104 5.791h12.801L37.049 0z", + "opacity": ".5", + "fill-rule": "evenodd", + "clip-rule": "evenodd", + "fill": "#fff" + }] + }, + exe: { + "xmlns": "http://www.w3.org/2000/svg", + "path": [{ + "d": "M5.112.025A5.074 5.074 0 00.039 5.099V58.94a5.073 5.073 0 005.073 5.074h45.774a5.074 5.074 0 005.074-5.074V20.335L37.058.025H5.112z", + "fill-rule": "evenodd", + "clip-rule": "evenodd", + "fill": "#8199AF" + }, { + "d": "M17.455 53.919h-6.247a1.084 1.084 0 01-1.081-1.081V42.99c0-.594.486-1.08 1.081-1.08h6.247c.361 0 .648.288.648.684 0 .36-.287.648-.648.648h-5.833v3.871h5.708c.359 0 .648.288.648.685 0 .36-.289.648-.648.648h-5.708v4.141h5.833c.361 0 .648.288.648.648.001.396-.287.684-.648.684zm12.098.126a.643.643 0 01-.541-.27l-3.727-4.97-3.746 4.97a.64.64 0 01-.539.27.712.712 0 01-.721-.72c0-.144.036-.306.145-.432l3.889-5.131-3.619-4.825a.725.725 0 01-.145-.415c0-.342.289-.72.721-.72a.75.75 0 01.576.288l3.439 4.627 3.438-4.646a.641.641 0 01.54-.27c.379 0 .738.306.738.72a.694.694 0 01-.126.415l-3.618 4.808 3.889 5.149a.7.7 0 01.126.414c0 .396-.324.738-.719.738zm10.78-.126h-6.247a1.084 1.084 0 01-1.081-1.081V42.99c0-.594.486-1.08 1.081-1.08h6.247c.36 0 .648.288.648.684 0 .36-.288.648-.648.648H34.5v3.871h5.707c.36 0 .648.288.648.685 0 .36-.288.648-.648.648H34.5v4.141h5.833c.36 0 .648.288.648.648 0 .396-.288.684-.648.684z", + "fill": "#fff" + }], + "g": { + "fill-rule": "evenodd", + "clip-rule": "evenodd", + "path": [{ + "d": "M55.961 20.377v1H43.162s-6.312-1.26-6.129-6.708c0 0 .208 5.708 6.004 5.708h12.924z", + "fill": "#617F9B" + }, { + "d": "M37.059.025v14.561c0 1.656 1.104 5.792 6.104 5.792h12.799L37.059.025z", + "opacity": ".5", + "fill": "#fff" + }] + } + }, + flash: { + "xmlns": "http://www.w3.org/2000/svg", + "path": [{ + "d": "M5.112.009A5.074 5.074 0 00.039 5.083v53.841a5.073 5.073 0 005.073 5.074h45.775a5.074 5.074 0 005.074-5.074V20.319L37.057.009H5.112z", + "fill-rule": "evenodd", + "clip-rule": "evenodd", + "fill": "#E53C3C" + }, { + "d": "M17.466 43.105h-5.833v3.871h5.708c.36 0 .648.288.648.685 0 .36-.288.648-.648.648h-5.708v4.843a.734.734 0 01-.756.738.73.73 0 01-.738-.738V42.854c0-.594.486-1.081 1.081-1.081h6.248c.36 0 .648.288.648.685a.648.648 0 01-.65.647zm9.558 10.678h-5.456a1.085 1.085 0 01-1.081-1.081V42.385c0-.396.324-.72.774-.72.396 0 .72.324.72.72V52.45h5.042c.36 0 .648.288.648.648.001.397-.287.685-.647.685zm12.222.108a.776.776 0 01-.72-.486l-.9-2.287h-5.978l-.9 2.287a.776.776 0 01-.72.486.804.804 0 01-.811-.792c0-.09.018-.198.054-.288l4.141-10.335a1.304 1.304 0 011.225-.811c.522 0 .99.324 1.188.811l4.177 10.335c.036.09.054.198.054.288 0 .359-.324.792-.81.792zm-4.609-10.569l-2.557 6.464h5.095l-2.538-6.464z", + "fill": "#fff" + }], + "g": { + "fill-rule": "evenodd", + "clip-rule": "evenodd", + "path": [{ + "d": "M55.961 20.346v1H43.162s-6.312-1.26-6.129-6.707c0 0 .208 5.707 6.004 5.707h12.924z", + "fill": "#DE2D2D" + }, { + "d": "M37.059-.006v14.561c0 1.656 1.104 5.791 6.104 5.791h12.799L37.059-.006z", + "opacity": ".5", + "fill": "#fff" + }] + } + }, + folder: { + "xmlns": "http://www.w3.org/2000/svg", + "path": [{ + "d": "M51.48 15.46A4.52 4.52 0 0156 20v31a4.52 4.52 0 01-4.52 4.52h-47A4.52 4.52 0 010 51V13a4.52 4.52 0 014.52-4.48H16c3.82 0 4.23 1.14 6.74 4.45 2.07 2.74 7.11 2.49 10.39 2.49z", + "fill": "#003462" + }, { + "d": "M51.48 18.12H9.24a4.52 4.52 0 00-4.52 4.52v2.84L9.19 19h42.35L56 25.49v-2.85a4.52 4.52 0 00-4.52-4.52z", + "fill": "#87c8f2" + }, { + "d": "M4.57 55.48h46.91A4.52 4.52 0 0056 51V23.48A4.52 4.52 0 0051.48 19H9.25a4.52 4.52 0 00-4.52 4.52V51a4.65 4.65 0 01-.06.72 2.33 2.33 0 01-4.6 0 4.5 4.5 0 004.5 3.76z", + "fill": "#00a1e0" + }] + }, + gdoc: { + "xmlns": "http://www.w3.org/2000/svg", + "path": [{ + "d": "M5.112.011A5.074 5.074 0 00.039 5.085v53.841A5.074 5.074 0 005.112 64h45.775a5.074 5.074 0 005.074-5.074V20.321L37.057.011H5.112z", + "fill-rule": "evenodd", + "clip-rule": "evenodd", + "fill": "#3C8CEA" + }, { + "d": "M10.133 37.439h21.564v2.059H10.133zm0 4.801h21.564v2.057H10.133zm0 4.801h21.564v2.057H10.133zm0 4.8h12.233v2.058H10.133z", + "fill": "#fff" + }], + "g": { + "fill-rule": "evenodd", + "clip-rule": "evenodd", + "path": [{ + "d": "M55.96 20.377v1H43.161s-6.312-1.26-6.129-6.707c0 0 .208 5.707 6.004 5.707H55.96z", + "fill": "#2D6FE4" + }, { + "d": "M37.058.025v14.561c0 1.656 1.104 5.791 6.104 5.791h12.799L37.058.025z", + "opacity": ".5", + "fill": "#fff" + }] + } + }, + gdocs: { + "xmlns": "http://www.w3.org/2000/svg", + "path": [{ + "fill": "#3C8CEA", + "d": "M5.1 0C2.3 0 0 2.3 0 5.1v53.8C0 61.7 2.3 64 5.1 64h45.8c2.8 0 5.1-2.3 5.1-5.1V20.3L37.1 0h-32z" + }, { + "fill": "#2D6FE4", + "d": "M56 20.4v1H43.2s-6.4-1.3-6.2-6.7c0 0 .2 5.7 6 5.7h13z" + }, { + "opacity": ".5", + "fill": "#FFF", + "d": "M37.1 0v14.6c0 1.6 1.1 5.8 6.1 5.8H56L37.1 0z" + }, { + "fill": "#FFF", + "d": "M25.9 45.1h-7.6v2.2h5.4c-.3 3.2-2.9 4.5-5.4 4.5-3.2 0-5.9-2.5-5.9-6 0-3.4 2.6-6 5.9-6 2.5 0 4.1 1.6 4.1 1.6l1.6-1.6s-2-2.2-5.7-2.2c-4.7 0-8.3 4-8.3 8.2 0 4.2 3.4 8.3 8.4 8.3 4.4 0 7.7-3 7.7-7.5-.1-.9-.2-1.5-.2-1.5z" + }] + }, + gform: { + "xmlns": "http://www.w3.org/2000/svg", + "path": [{ + "fill": "#673AB7", + "d": "M5.113-.026A5.074 5.074 0 00.039 5.048v53.841a5.073 5.073 0 005.074 5.074h45.773a5.074 5.074 0 005.074-5.074V20.284L37.059-.026H5.113z" + }, { + "fill": "#45317C", + "d": "M55.977 20.352v1H43.178s-6.312-1.26-6.129-6.707c0 0 .208 5.707 6.004 5.707h12.924z" + }, { + "opacity": ".5", + "fill": "#FFF", + "d": "M37.074 0v14.561c0 1.656 1.104 5.791 6.104 5.791h12.799L37.074 0z" + }, { + "fill": "#FFF", + "d": "M12.739 39.41c0-.4-.3-.7-.7-.7h-1.3c-.4 0-.7.3-.7.7v1.3c0 .4.3.7.7.7h1.3c.4 0 .7-.3.7-.7v-1.3zm18.8 0c0-.4-.3-.7-.7-.7h-15.7c-.4 0-.7.3-.7.7v1.3c0 .4.3.7.7.7h15.7c.4 0 .7-.3.7-.7v-1.3zm-18.8 6.3c0-.4-.3-.7-.7-.7h-1.3c-.4 0-.7.3-.7.7v1.3c0 .4.3.7.7.7h1.3c.4 0 .7-.3.7-.7v-1.3zm18.8 0c0-.4-.4-.7-.8-.7h-15.5c-.4 0-.8.3-.8.7v1.3c0 .4.4.7.8.7h15.5c.4 0 .8-.3.8-.7v-1.3zm-18.8 6.2c0-.4-.3-.7-.7-.7h-1.3c-.4 0-.7.3-.7.7v1.3c0 .4.3.7.7.7h1.3c.4 0 .7-.3.7-.7v-1.3zm18.8 0c0-.4-.3-.7-.7-.7h-15.7c-.4 0-.7.3-.7.7v1.3c0 .4.3.7.7.7h15.7c.4 0 .7-.3.7-.7v-1.3z" + }] + }, + gpres: { + "xmlns": "http://www.w3.org/2000/svg", + "path": [{ + "d": "M5.111.009A5.073 5.073 0 00.039 5.083v53.841a5.073 5.073 0 005.072 5.074h45.775a5.074 5.074 0 005.074-5.074V20.318L37.057.009H5.111z", + "fill-rule": "evenodd", + "clip-rule": "evenodd", + "fill": "#F8BE46" + }, { + "d": "M10.123 37.465v11.9H22.54v-11.9H10.123zm11.289 9.642h-10.16v-7.386h10.16v7.386zm.674-5.128v2.259h8.386v7.385h-10.16v-2.846h-1.129v5.104h12.419V41.979h-9.516z", + "fill": "#fff" + }], + "g": { + "fill-rule": "evenodd", + "clip-rule": "evenodd", + "path": [{ + "d": "M55.96 20.377v1H43.161s-6.312-1.26-6.129-6.707c0 0 .208 5.707 6.004 5.707H55.96z", + "fill": "#F6AD34" + }, { + "d": "M37.058.025v14.561c0 1.656 1.104 5.791 6.104 5.791h12.799L37.058.025z", + "opacity": ".5", + "fill": "#fff" + }] + } + }, + gsheet: { + "xmlns": "http://www.w3.org/2000/svg", + "path": [{ + "d": "M5.131-.001A5.073 5.073 0 00.059 5.073v53.841a5.073 5.073 0 005.072 5.074h45.775a5.074 5.074 0 005.074-5.074V20.309L37.076-.001H5.131z", + "fill-rule": "evenodd", + "clip-rule": "evenodd", + "fill": "#20A971" + }, { + "d": "M10.107 37.466v16.419h21.521V37.466H10.107zm6.458 15.078h-4.967v-3.58h4.967v3.58zm0-5.012h-4.967v-3.579h4.967v3.579zm0-5.011h-4.967v-3.58h4.967v3.58zm13.632 10.023H18.042v-3.58h12.155v3.58zm0-5.012H18.042v-3.579h12.155v3.579zm0-5.011H18.042v-3.58h12.155v3.58z", + "fill": "#fff" + }], + "g": { + "fill-rule": "evenodd", + "clip-rule": "evenodd", + "path": [{ + "d": "M55.98 20.32v1H43.179s-6.312-1.26-6.127-6.707c0 0 .207 5.707 6.002 5.707H55.98z", + "fill": "#189355" + }, { + "d": "M37.076-.031V14.53c0 1.656 1.104 5.791 6.104 5.791h12.801L37.076-.031z", + "opacity": ".5", + "fill": "#fff" + }] + } + }, + html: { + "xmlns": "http://www.w3.org/2000/svg", + "path": [{ + "d": "M5.135.008A5.074 5.074 0 00.061 5.082v53.84a5.073 5.073 0 005.074 5.074H50.91a5.074 5.074 0 005.074-5.074V20.317L37.081.008H5.135z", + "fill-rule": "evenodd", + "clip-rule": "evenodd", + "fill": "#F7622C" + }, { + "d": "M18.942 50.841a.87.87 0 01-.336-.063l-7.58-3.38c-.483-.21-.798-.714-.798-1.28 0-.504.315-1.008.798-1.219l7.58-3.4a.89.89 0 011.218.84.89.89 0 01-.525.818l-7.034 3.002 7.034 2.982a.868.868 0 01.525.818c0 .546-.462.882-.882.882zm8.464-11.044l-4.43 13.291c-.126.398-.504.629-.903.629-.525 0-.924-.398-.924-.881a.75.75 0 01.063-.295l4.43-13.29a.934.934 0 01.903-.63c.525 0 .903.42.903.902l-.042.274zm10.184 7.6l-7.58 3.38a.886.886 0 01-1.218-.819c0-.357.189-.672.525-.818l7.034-2.982-7.034-3.002a.876.876 0 01-.546-.818c-.021-.547.441-.903.903-.903.105 0 .231.021.336.063l7.58 3.4c.483.211.798.715.798 1.219 0 .567-.315 1.071-.798 1.28z", + "fill": "#fff" + }], + "g": { + "fill-rule": "evenodd", + "clip-rule": "evenodd", + "path": [{ + "d": "M55.976 20.352v1H43.177s-6.312-1.26-6.129-6.707c0 0 .208 5.707 6.004 5.707h12.924z", + "fill": "#F54921" + }, { + "d": "M37.074 0v14.561c0 1.656 1.104 5.791 6.104 5.791h12.799L37.074 0z", + "opacity": ".5", + "fill": "#fff" + }] + } + }, + image: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "fill-rule": "evenodd", + "clip-rule": "evenodd", + "path": [{ + "d": "M5.125.042A5.074 5.074 0 00.053 5.116v53.841a5.072 5.072 0 005.072 5.073H50.9a5.074 5.074 0 005.074-5.073V20.353L37.07.042H5.125z", + "fill": "#49C9A7" + }, { + "d": "M55.977 20.352v1H43.178s-6.312-1.26-6.129-6.707c0 0 .208 5.707 6.004 5.707h12.924z", + "fill": "#37BB91" + }, { + "d": "M37.074 0v14.561c0 1.656 1.104 5.791 6.104 5.791h12.799L37.074 0z", + "opacity": ".5", + "fill": "#fff" + }] + }, + "path": { + "d": "M10.119 53.739V32.835h20.906v20.904H10.119zm18.799-18.843H12.227v12.6h16.691v-12.6zm-9.583 8.384l3.909-5.256 1.207 2.123 1.395-.434.984 5.631H13.748l3.496-3.32 2.091 1.256zm-3.856-3.64c-.91 0-1.649-.688-1.649-1.538 0-.849.739-1.538 1.649-1.538.912 0 1.65.689 1.65 1.538 0 .85-.738 1.538-1.65 1.538z", + "fill-rule": "evenodd", + "clip-rule": "evenodd", + "fill": "#fff" + } + }, + keynote: { + "xmlns": "http://www.w3.org/2000/svg", + "path": [{ + "d": "M5.143.005A5.073 5.073 0 00.071 5.079V58.92a5.073 5.073 0 005.072 5.074h45.775a5.075 5.075 0 005.075-5.074V20.314L37.088.005H5.143z", + "fill-rule": "evenodd", + "clip-rule": "evenodd", + "fill": "#DB7A2A" + }, { + "d": "M17.819 54.013a.73.73 0 01-.54-.252l-4.429-5.275-1.207 1.368v3.403a.734.734 0 01-.756.738.73.73 0 01-.738-.738V42.489c0-.396.324-.72.774-.72.396 0 .72.323.72.72v5.6l5.186-6.067a.674.674 0 01.522-.234c.396 0 .738.306.738.702a.597.597 0 01-.162.414l-4.105 4.682 4.555 5.275a.648.648 0 01.162.433c.001.341-.288.719-.72.719zm10.926-.126h-6.248a1.084 1.084 0 01-1.081-1.08v-9.85c0-.594.486-1.08 1.081-1.08h6.248c.36 0 .648.288.648.685 0 .36-.288.648-.648.648h-5.833v3.871h5.708c.36 0 .648.288.648.684 0 .36-.288.648-.648.648h-5.708v4.142h5.833c.36 0 .648.288.648.647.001.397-.288.685-.648.685zm12.384-11.02l-4.033 5.942v4.447a.734.734 0 01-.756.738.73.73 0 01-.739-.738V48.81l-4.051-5.942a.674.674 0 01-.126-.378c0-.342.27-.72.72-.72.216 0 .468.107.612.306l3.583 5.384 3.583-5.384a.725.725 0 01.576-.288c.396 0 .738.324.738.702a.695.695 0 01-.107.377z", + "fill": "#fff" + }], + "g": { + "fill-rule": "evenodd", + "clip-rule": "evenodd", + "path": [{ + "d": "M55.976 20.352v1H43.177s-6.312-1.26-6.129-6.707c0 0 .208 5.707 6.004 5.707h12.924z", + "fill": "#D25B1F" + }, { + "d": "M37.074 0v14.561c0 1.656 1.104 5.791 6.104 5.791h12.799L37.074 0z", + "opacity": ".5", + "fill": "#fff" + }] + } + }, + library_folder: { + "xmlns": "http://www.w3.org/2000/svg", + "path": [{ + "fill": "#003462", + "d": "M51.5 15.5c2.5 0 4.5 2 4.5 4.5v31c0 2.5-2 4.5-4.5 4.5h-47C2 55.5 0 53.5 0 51V13c0-2.5 2-4.5 4.5-4.5H16c3.8 0 4.2 1.2 6.7 4.5 2.1 2.7 7.2 2.5 10.4 2.5h18.4z" + }, { + "fill": "#87C8F2", + "d": "M51.5 18.1H9.2c-2.5 0-4.5 2-4.5 4.5v2.9L9.2 19h42.3l4.5 6.5v-2.9c0-2.5-2-4.5-4.5-4.5z" + }, { + "fill": "#00A1E0", + "d": "M4.6 55.5h46.9c2.5 0 4.5-2 4.5-4.5V23.5c0-2.5-2-4.5-4.5-4.5H9.3c-2.5-.1-4.5 1.9-4.6 4.4v28.3c0 1.3-1 2.3-2.3 2.3-1.3 0-2.3-1-2.3-2.3.3 2.2 2.3 3.8 4.5 3.8z" + }], + "g": { + "fill": "#FFF", + "path": [{ + "d": "M25.5 37.8h3.6v11.5h-3.6zM31.6 37.8h3.6v11.5h-3.6z" + }, { + "d": "M46.4 31.8l-15-6.2c-.4-.2-.7-.3-1.1-.3-.1 0-.5 0-1.1.3l-15 6.2c-.3.2-.5.5-.5.8v.9c0 .5.4.9.9.9h2.9v14c0 .5.4.9.9.9h4.5V37.8h-1.8c-.4 0-.6-.2-.6-.6V36c0-.4.2-.6.6-.6H39.4c.4 0 .6.2.6.6v1.2c0 .4-.2.6-.6.6h-1.8v11.5h4.5c.5 0 .9-.4.9-.9V34.5v-.1h2.9c.5 0 .9-.4.9-.9v-.8c.1-.4-.1-.7-.4-.9zm-16.1.5c-1.1 0-1.9-.9-1.9-1.9 0-1.1.9-1.9 1.9-1.9 1.1 0 1.9.9 1.9 1.9 0 1-.8 1.9-1.9 1.9z" + }] + } + }, + link: { + "xmlns": "http://www.w3.org/2000/svg", + "path": [{ + "d": "M5.15.006A5.074 5.074 0 00.078 5.08v53.841a5.072 5.072 0 005.072 5.073h45.775a5.074 5.074 0 005.074-5.073V20.316L37.096.006H5.15z", + "fill-rule": "evenodd", + "clip-rule": "evenodd", + "fill": "#0C8FE8" + }, { + "d": "M28.25 35.611c-2.074-2.097-5.448-2.097-7.545 0l-3.055 3.055c-2.073 2.073-2.073 5.447 0 7.545a1.226 1.226 0 001.734 0 1.19 1.19 0 000-1.732 2.9 2.9 0 010-4.079l3.076-3.055a2.874 2.874 0 014.056 0 2.875 2.875 0 010 4.057l-1.458 1.482c.363.979.502 2.006.41 3.053l2.781-2.781c2.097-2.096 2.097-5.471.001-7.545zm-7.704 5.951a1.251 1.251 0 000 1.755 2.838 2.838 0 010 4.059l-3.055 3.053a2.874 2.874 0 01-4.058 0 2.875 2.875 0 010-4.057l1.459-1.459a7.036 7.036 0 01-.411-3.077l-2.802 2.803c-2.075 2.075-2.075 5.447 0 7.546 2.094 2.074 5.47 2.074 7.544 0l3.076-3.077c2.075-2.075 2.075-5.449 0-7.545a1.246 1.246 0 00-1.753-.001z", + "fill": "#fff" + }], + "g": { + "fill-rule": "evenodd", + "clip-rule": "evenodd", + "path": [{ + "d": "M55.977 20.352v1H43.178s-6.312-1.26-6.129-6.707c0 0 .208 5.707 6.004 5.707h12.924z", + "fill": "#0973E2" + }, { + "d": "M37.074 0v14.561c0 1.656 1.104 5.791 6.104 5.791h12.799L37.074 0z", + "opacity": ".5", + "fill": "#fff" + }] + } + }, + mp4: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "fill-rule": "evenodd", + "clip-rule": "evenodd", + "path": [{ + "d": "M5.116.006A5.073 5.073 0 00.044 5.08v53.841a5.073 5.073 0 005.072 5.074h45.775a5.074 5.074 0 005.074-5.074V20.316L37.062.006H5.116z", + "fill": "#9B64B2" + }, { + "d": "M55.977 20.352v1H43.178s-6.312-1.26-6.129-6.707c0 0 .208 5.707 6.004 5.707h12.924z", + "fill": "#824B9E" + }, { + "d": "M37.074 0v14.561c0 1.656 1.104 5.791 6.104 5.791h12.799L37.074 0z", + "opacity": ".5", + "fill": "#fff" + }] + }, + "path": { + "d": "M21.13 53.879a.73.73 0 01-.738-.738v-9.254l-4.033 9.759c-.054.144-.198.233-.378.233a.37.37 0 01-.342-.233l-4.015-9.759v9.254a.734.734 0 01-.756.738.73.73 0 01-.738-.738V42.878c0-.648.558-1.206 1.243-1.206.486 0 .99.288 1.188.756L16 50.8l3.457-8.372c.198-.468.684-.756 1.188-.756.684 0 1.243.558 1.243 1.206v10.263a.737.737 0 01-.758.738zM29.966 49h-3.331v4.141a.734.734 0 01-.756.738.73.73 0 01-.738-.738V42.842c0-.594.486-1.081 1.081-1.081h3.745c2.413 0 3.763 1.657 3.763 3.619-.001 1.964-1.387 3.62-3.764 3.62zm-.18-5.906h-3.151v4.573h3.151c1.422 0 2.395-.936 2.395-2.287 0-1.349-.973-2.286-2.395-2.286zm13.915 7.635h-1.17v2.413a.734.734 0 01-.757.738.73.73 0 01-.738-.738v-2.413h-5.077c-.378 0-.738-.324-.738-.81 0-.162.053-.342.144-.486l4.807-7.22a1.322 1.322 0 011.081-.558c.684 0 1.278.594 1.278 1.26v6.5h1.17c.342 0 .63.288.63.667a.643.643 0 01-.63.647zm-2.665-7.581l-4.213 6.266h4.213v-6.266z", + "fill": "#fff" + } + }, + overlay: { + "xmlns": "http://www.w3.org/2000/svg", + "path": [{ + "d": "M5.15.008A5.073 5.073 0 00.078 5.082v53.841a5.073 5.073 0 005.072 5.074h45.775a5.074 5.074 0 005.074-5.074V20.317L37.096.008H5.15z", + "fill-rule": "evenodd", + "clip-rule": "evenodd", + "fill": "#A382D8" + }, { + "d": "M10.123 34.515v14.081h14.694V34.515H10.123zm5.344 5.343v14.081h14.694V39.858H15.467z", + "fill": "#fff" + }, { + "fill": "#CBBBEF", + "d": "M15.467 39.858h9.351v8.737h-9.351z" + }], + "g": { + "fill-rule": "evenodd", + "clip-rule": "evenodd", + "path": [{ + "d": "M55.977 20.352v1H43.178s-6.312-1.26-6.129-6.707c0 0 .208 5.707 6.004 5.707h12.924z", + "fill": "#8C62CE" + }, { + "d": "M37.074 0v14.561c0 1.656 1.104 5.791 6.104 5.791h12.799L37.074 0z", + "opacity": ".5", + "fill": "#fff" + }] + } + }, + pack: { + "xmlns": "http://www.w3.org/2000/svg", + "path": [{ + "d": "M5.15.012A5.073 5.073 0 00.078 5.086v53.841A5.073 5.073 0 005.15 64h45.775A5.074 5.074 0 0056 58.927V20.321L37.096.012H5.15z", + "fill-rule": "evenodd", + "clip-rule": "evenodd", + "fill": "#4E74B7" + }, { + "d": "M29.187 40.872v11.917c0 .662-.529 1.191-1.191 1.191H11.311a1.186 1.186 0 01-1.191-1.191V40.872c0-.133.021-.265.065-.375l1.59-4.768a1.184 1.184 0 011.125-.816h13.507c.508 0 .971.331 1.125.816l1.59 4.768c.043.11.065.242.065.375zm-2.45 0l-1.191-3.575H13.76l-1.191 3.575h14.168z", + "fill": "#fff" + }], + "g": { + "fill-rule": "evenodd", + "clip-rule": "evenodd", + "path": [{ + "d": "M55.977 20.352v1H43.178s-6.312-1.26-6.129-6.707c0 0 .208 5.707 6.004 5.707h12.924z", + "fill": "#3A57A5" + }, { + "d": "M37.074 0v14.561c0 1.656 1.104 5.791 6.104 5.791h12.799L37.074 0z", + "opacity": ".5", + "fill": "#fff" + }] + } + }, + pages: { + "xmlns": "http://www.w3.org/2000/svg", + "path": [{ + "d": "M5.111-.006A5.073 5.073 0 00.039 5.068v53.841a5.073 5.073 0 005.072 5.074h45.775a5.074 5.074 0 005.074-5.074V20.304L37.057-.006H5.111z", + "fill-rule": "evenodd", + "clip-rule": "evenodd", + "fill": "#6A6AE2" + }, { + "d": "M14.959 49.006h-3.331v4.142a.734.734 0 01-.756.738.73.73 0 01-.738-.738v-10.3c0-.594.486-1.08 1.081-1.08h3.745c2.413 0 3.763 1.656 3.763 3.619s-1.388 3.619-3.764 3.619zm-.18-5.905h-3.151v4.573h3.151c1.422 0 2.395-.937 2.395-2.287s-.973-2.286-2.395-2.286zm12.06 10.911c-3.421 0-6.176-2.503-6.176-6.23 0-3.727 2.754-6.212 6.176-6.212 1.8 0 3.169.685 4.123 1.639.144.126.198.324.198.504 0 .396-.288.703-.684.703a.669.669 0 01-.486-.217c-.756-.81-1.963-1.296-3.151-1.296-2.629 0-4.627 2.017-4.627 4.879 0 2.845 1.999 4.897 4.627 4.897 1.44 0 2.628-.702 3.223-1.296v-2.449h-3.583c-.36 0-.648-.288-.648-.684 0-.36.288-.648.648-.648h3.998c.594 0 1.08.486 1.08 1.08v2.377c-.001 1.854-2.594 2.953-4.718 2.953zm11.483-.019c-1.782 0-3.187-.594-4.213-1.494a.712.712 0 01-.234-.54c0-.36.27-.757.702-.757.144 0 .306.036.432.145.828.738 1.98 1.314 3.367 1.314 2.143 0 2.827-1.152 2.827-2.07 0-3.098-7.112-1.387-7.112-5.672 0-1.98 1.764-3.331 4.123-3.331 1.548 0 2.881.468 3.853 1.278a.73.73 0 01.252.54c0 .36-.306.72-.703.72a.684.684 0 01-.432-.161c-.882-.721-1.98-1.045-3.079-1.045-1.44 0-2.467.774-2.467 1.909 0 2.7 7.112 1.152 7.112 5.635.001 1.747-1.187 3.529-4.428 3.529z", + "fill": "#fff" + }], + "g": { + "fill-rule": "evenodd", + "clip-rule": "evenodd", + "path": [{ + "d": "M55.976 20.352v1H43.177s-6.312-1.26-6.129-6.707c0 0 .208 5.707 6.004 5.707h12.924z", + "fill": "#4F4FDA" + }, { + "d": "M37.074 0v14.561c0 1.656 1.104 5.791 6.104 5.791h12.799L37.074 0z", + "opacity": ".5", + "fill": "#fff" + }] + } + }, + pdf: { + "xmlns": "http://www.w3.org/2000/svg", + "path": [{ + "fill": "#8C181A", + "d": "M5.1 0C2.3 0 0 2.3 0 5.1v53.8C0 61.7 2.3 64 5.1 64h45.8c2.8 0 5.1-2.3 5.1-5.1V20.3L37.1 0h-32z" + }, { + "fill": "#6B0D12", + "d": "M56 20.4v1H43.2s-6.3-1.3-6.1-6.7c0 0 .2 5.7 6 5.7H56z" + }, { + "opacity": ".5", + "fill": "#FFF", + "d": "M37.1 0v14.6c0 1.7 1.1 5.8 6.1 5.8H56L37.1 0z" + }, { + "fill": "#FFF", + "d": "M14.9 49h-3.3v4.1c0 .4-.3.7-.8.7-.4 0-.7-.3-.7-.7V42.9c0-.6.5-1.1 1.1-1.1h3.7c2.4 0 3.8 1.7 3.8 3.6 0 2-1.4 3.6-3.8 3.6zm-.1-5.9h-3.2v4.6h3.2c1.4 0 2.4-.9 2.4-2.3s-1-2.3-2.4-2.3zm10.4 10.7h-3c-.6 0-1.1-.5-1.1-1.1v-9.8c0-.6.5-1.1 1.1-1.1h3c3.7 0 6.2 2.6 6.2 6s-2.4 6-6.2 6zm0-10.7h-2.6v9.3h2.6c2.9 0 4.6-2.1 4.6-4.7.1-2.5-1.6-4.6-4.6-4.6zm16.3 0h-5.8V47h5.7c.4 0 .6.3.6.7s-.3.6-.6.6h-5.7v4.8c0 .4-.3.7-.8.7-.4 0-.7-.3-.7-.7V42.9c0-.6.5-1.1 1.1-1.1h6.2c.4 0 .6.3.6.7.1.3-.2.6-.6.6z" + }] + }, + ppt: { + "xmlns": "http://www.w3.org/2000/svg", + "path": [{ + "d": "M5.112-.004A5.074 5.074 0 00.039 5.07v53.841a5.073 5.073 0 005.073 5.074h45.774a5.074 5.074 0 005.074-5.074V20.306L37.058-.004H5.112z", + "fill-rule": "evenodd", + "clip-rule": "evenodd", + "fill": "#E34221" + }, { + "d": "M14.964 49.011h-3.331v4.141a.734.734 0 01-.756.738.73.73 0 01-.738-.738V42.854c0-.594.486-1.081 1.08-1.081h3.745c2.413 0 3.763 1.657 3.763 3.619 0 1.963-1.387 3.619-3.763 3.619zm-.181-5.906h-3.15v4.573h3.15c1.423 0 2.395-.936 2.395-2.287 0-1.349-.972-2.286-2.395-2.286zm11.197 5.906h-3.332v4.141a.734.734 0 01-.756.738.73.73 0 01-.738-.738V42.854c0-.594.486-1.081 1.08-1.081h3.746c2.412 0 3.763 1.657 3.763 3.619 0 1.963-1.387 3.619-3.763 3.619zm-.18-5.906h-3.151v4.573H25.8c1.423 0 2.395-.936 2.395-2.287-.001-1.349-.972-2.286-2.395-2.286zm14.112 0h-3.277v10.047a.734.734 0 01-.756.738.73.73 0 01-.738-.738V43.105h-3.259c-.36 0-.647-.288-.647-.684 0-.361.287-.648.647-.648h8.03c.36 0 .648.288.648.685a.644.644 0 01-.648.647z", + "fill": "#fff" + }], + "g": { + "fill-rule": "evenodd", + "clip-rule": "evenodd", + "path": [{ + "d": "M55.977 20.352v1H43.178s-6.312-1.26-6.129-6.707c0 0 .208 5.707 6.004 5.707h12.924z", + "fill": "#DC3119" + }, { + "d": "M37.074 0v14.561c0 1.656 1.104 5.791 6.104 5.791h12.799L37.074 0z", + "opacity": ".5", + "fill": "#fff" + }] + } + }, + psd: { + "xmlns": "http://www.w3.org/2000/svg", + "path": [{ + "d": "M5.112.051A5.074 5.074 0 00.039 5.126v53.841a5.073 5.073 0 005.073 5.073h45.775a5.074 5.074 0 005.074-5.073V20.361L37.058.051H5.112z", + "fill-rule": "evenodd", + "clip-rule": "evenodd", + "fill": "#0C77C6" + }, { + "d": "M14.952 49.011h-3.331v4.141a.734.734 0 01-.756.738.73.73 0 01-.738-.738V42.854c0-.594.486-1.081 1.08-1.081h3.745c2.413 0 3.763 1.657 3.763 3.619 0 1.963-1.387 3.619-3.763 3.619zm-.181-5.906h-3.15v4.573h3.15c1.423 0 2.395-.936 2.395-2.287 0-1.349-.972-2.286-2.395-2.286zm10.26 10.894c-1.781 0-3.187-.594-4.213-1.495a.71.71 0 01-.234-.54c0-.36.271-.756.703-.756.144 0 .306.036.432.144.828.739 1.98 1.314 3.367 1.314 2.143 0 2.826-1.152 2.826-2.071 0-3.097-7.111-1.386-7.111-5.672 0-1.98 1.764-3.331 4.123-3.331 1.549 0 2.881.467 3.854 1.278a.73.73 0 01.252.54c0 .36-.307.72-.703.72a.682.682 0 01-.432-.162c-.883-.72-1.98-1.044-3.078-1.044-1.441 0-2.467.774-2.467 1.909 0 2.701 7.111 1.152 7.111 5.636 0 1.748-1.188 3.53-4.43 3.53zm11.215-.216h-3.025c-.594 0-1.08-.487-1.08-1.081v-9.849c0-.594.486-1.081 1.08-1.081h3.025c3.727 0 6.157 2.611 6.157 6.014 0 3.422-2.43 5.997-6.157 5.997zm0-10.678h-2.611v9.345h2.611c2.916 0 4.609-2.088 4.609-4.663 0-2.593-1.638-4.682-4.609-4.682z", + "fill": "#fff" + }], + "g": { + "fill-rule": "evenodd", + "clip-rule": "evenodd", + "path": [{ + "d": "M55.977 20.352v1H43.178s-6.312-1.26-6.129-6.707c0 0 .208 5.707 6.004 5.707h12.924z", + "fill": "#0959B7" + }, { + "d": "M37.074 0v14.561c0 1.656 1.104 5.791 6.104 5.791h12.799L37.074 0z", + "opacity": ".5", + "fill": "#fff" + }] + } + }, + quip_doc: { + "xmlns": "http://www.w3.org/2000/svg", + "path": [{ + "fill-rule": "evenodd", + "clip-rule": "evenodd", + "fill": "#3D87F5", + "d": "M0 5.1v53.7C0 61.7 2.3 64 5.1 64h45.7c2.8 0 5.1-2.3 5.1-5.1V21L37 0H5.1C2.3 0 0 2.3 0 5.1z" + }, { + "opacity": ".5", + "fill": "#FFF", + "d": "M37 0l19 21H42.1c-2.8 0-5.2-2.3-5.2-5.2L37 0z" + }, { + "opacity": ".5", + "fill": "#216AC1", + "d": "M37 15.9v1c0 2.8 2.3 5.2 5.2 5.2H56v-1H42.1c-2.8-.1-5.1-2.4-5.1-5.2z" + }, { + "fill": "#FFF", + "d": "M23.5 46.7h-6.9c-.4 0-.8.3-.8.8s.3.8.8.8h6.9c.4 0 .8-.3.8-.8s-.4-.8-.8-.8zM16.5 41.3h6.9c.4 0 .8-.3.8-.8 0-.4-.3-.8-.8-.8h-6.9c-.4 0-.8.3-.8.8.1.5.4.8.8.8zM14.2 43.2c-.4 0-.8.3-.8.8 0 .4.3.8.8.8h11.5c.4 0 .8-.3.8-.8 0-.4-.3-.8-.8-.8H14.2z" + }, { + "fill": "#FFF", + "d": "M26.8 36.7c-3.9-3.7-10.1-3.6-13.9.2-3.8 3.8-3.9 10-.2 13.9 1.9 2 4.5 3.2 7.3 3.2h9.2c.4 0 .8-.3.8-.8V44c0-2.8-1.1-5.4-3.2-7.3zm1.6 15.8H20c-2.3 0-4.6-1-6.2-2.7-1.6-1.7-2.4-4-2.3-6.3.3-4.3 3.7-7.7 7.9-7.9h.5c4.7 0 8.5 3.8 8.5 8.5v8.4z" + }] + }, + quip_sheet: { + "xmlns": "http://www.w3.org/2000/svg", + "path": [{ + "fill-rule": "evenodd", + "clip-rule": "evenodd", + "fill": "#2CAB21", + "d": "M0 5.1v53.7C0 61.7 2.3 64 5.1 64h45.7c2.8 0 5.1-2.3 5.1-5.1V21L37 0H5.1C2.3 0 0 2.3 0 5.1z" + }, { + "opacity": ".5", + "fill": "#FFF", + "d": "M37 0l19 21H42.1c-2.8 0-5.2-2.3-5.2-5.2L37 0z" + }, { + "opacity": ".5", + "fill": "#189355", + "d": "M37 15.9v1c0 2.8 2.3 5.2 5.2 5.2H56v-1H42.1c-2.8-.1-5.1-2.4-5.1-5.2z" + }, { + "fill": "#FFF", + "d": "M23.5 46.7h-6.9c-.4 0-.8.3-.8.8s.3.8.8.8h6.9c.4 0 .8-.3.8-.8s-.4-.8-.8-.8zM16.5 41.3h6.9c.4 0 .8-.3.8-.8 0-.4-.3-.8-.8-.8h-6.9c-.4 0-.8.3-.8.8.1.5.4.8.8.8zM14.2 43.2c-.4 0-.8.3-.8.8 0 .4.3.8.8.8h11.5c.4 0 .8-.3.8-.8 0-.4-.3-.8-.8-.8H14.2z" + }, { + "fill": "#FFF", + "d": "M26.8 36.7c-3.9-3.7-10.1-3.6-13.9.2-3.8 3.8-3.9 10-.2 13.9 1.9 2 4.5 3.2 7.3 3.2h9.2c.4 0 .8-.3.8-.8V44c0-2.8-1.1-5.4-3.2-7.3zM20 52.5c-2.3 0-4.6-1-6.2-2.7-1.6-1.7-2.4-4-2.3-6.3.3-4.3 3.7-7.7 7.9-7.9h.5c4.7 0 8.5 3.8 8.5 8.5v8.4H20z" + }] + }, + quip_slide: { + "xmlns": "http://www.w3.org/2000/svg", + "path": [{ + "fill-rule": "evenodd", + "clip-rule": "evenodd", + "fill": "#8D3DF5", + "d": "M0 5.1v53.7C0 61.7 2.3 64 5.1 64h45.7c2.8 0 5.1-2.3 5.1-5.1V21L37 0H5.1C2.3 0 0 2.3 0 5.1z" + }, { + "opacity": ".5", + "fill": "#FFF", + "d": "M37 0l19 21H42.1c-2.8 0-5.2-2.3-5.2-5.2L37 0z" + }, { + "opacity": ".5", + "fill": "#6D2BD6", + "d": "M37 15.9v1c0 2.8 2.3 5.2 5.2 5.2H56v-1H42.1c-2.8-.1-5.1-2.4-5.1-5.2z" + }, { + "fill": "#FFF", + "d": "M23.5 46.7h-6.9c-.4 0-.8.3-.8.8s.3.8.8.8h6.9c.4 0 .8-.3.8-.8s-.4-.8-.8-.8zM16.5 41.3h6.9c.4 0 .8-.3.8-.8 0-.4-.3-.8-.8-.8h-6.9c-.4 0-.8.3-.8.8.1.5.4.8.8.8zM14.2 43.2c-.4 0-.8.3-.8.8 0 .4.3.8.8.8h11.5c.4 0 .8-.3.8-.8 0-.4-.3-.8-.8-.8H14.2z" + }, { + "fill": "#FFF", + "d": "M26.8 36.7c-3.9-3.7-10.1-3.6-13.9.2-3.8 3.8-3.9 10-.2 13.9 1.9 2 4.5 3.2 7.3 3.2h9.2c.4 0 .8-.3.8-.8V44c0-2.8-1.1-5.4-3.2-7.3zM20 52.5c-2.3 0-4.6-1-6.2-2.7-1.6-1.7-2.4-4-2.3-6.3.3-4.3 3.7-7.7 7.9-7.9h.5c4.7 0 8.5 3.8 8.5 8.5v8.4H20z" + }] + }, + rtf: { + "xmlns": "http://www.w3.org/2000/svg", + "path": [{ + "d": "M5.113.006A5.074 5.074 0 00.039 5.08v53.841a5.073 5.073 0 005.074 5.074h45.774a5.074 5.074 0 005.074-5.074V20.316L37.058.006H5.113z", + "fill-rule": "evenodd", + "clip-rule": "evenodd", + "fill": "#00A1EE" + }, { + "d": "M15.611 48.825l2.575 3.907a.756.756 0 01.108.378c0 .36-.306.72-.738.72a.699.699 0 01-.594-.324l-2.935-4.555h-2.395v4.141a.734.734 0 01-.756.738.73.73 0 01-.738-.738V42.793c0-.594.486-1.081 1.081-1.081h3.745c2.197 0 3.763 1.405 3.763 3.619 0 2.161-1.477 3.35-3.116 3.494zm-3.979-5.78v4.591h3.151c1.422 0 2.395-.954 2.395-2.305 0-1.35-.972-2.287-2.395-2.287h-3.151zm17.463 0h-3.277v10.047a.734.734 0 01-.756.738.73.73 0 01-.738-.738V43.045h-3.259c-.36 0-.648-.288-.648-.684 0-.36.288-.648.648-.648h8.031c.36 0 .648.288.648.685a.647.647 0 01-.649.647zm10.295 0h-5.833v3.871h5.708c.36 0 .648.288.648.685 0 .36-.288.648-.648.648h-5.708v4.843a.734.734 0 01-.756.738.73.73 0 01-.738-.738V42.793c0-.594.486-1.081 1.081-1.081h6.248c.36 0 .648.288.648.685a.648.648 0 01-.65.648z", + "fill": "#fff" + }], + "g": { + "fill-rule": "evenodd", + "clip-rule": "evenodd", + "path": [{ + "d": "M55.977 20.352v1H43.178s-6.312-1.26-6.129-6.707c0 0 .208 5.707 6.004 5.707h12.924z", + "fill": "#0089E9" + }, { + "d": "M37.074 0v14.561c0 1.656 1.104 5.791 6.104 5.791h12.799L37.074 0z", + "opacity": ".5", + "fill": "#fff" + }] + } + }, + slide: { + "xmlns": "http://www.w3.org/2000/svg", + "path": [{ + "d": "M5.15.008A5.074 5.074 0 00.078 5.082v53.842a5.072 5.072 0 005.072 5.073h45.775a5.074 5.074 0 005.074-5.073V20.318L37.096.008H5.15z", + "fill-rule": "evenodd", + "clip-rule": "evenodd", + "fill": "#1AB6D9" + }, { + "d": "M10.121 34.772v19.09h19.918v-19.09H10.121zM28.226 50.24H11.931V38.396h16.295V50.24z", + "fill": "#fff" + }, { + "d": "M55.977 20.352v1H43.178s-6.312-1.26-6.129-6.707c0 0 .208 5.707 6.004 5.707h12.924z", + "fill-rule": "evenodd", + "clip-rule": "evenodd", + "fill": "#13A3CF" + }, { + "d": "M37.074 0v14.561c0 1.656 1.104 5.791 6.104 5.791h12.799L37.074 0z", + "opacity": ".5", + "fill-rule": "evenodd", + "clip-rule": "evenodd", + "fill": "#fff" + }] + }, + stypi: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "fill-rule": "evenodd", + "clip-rule": "evenodd", + "path": [{ + "d": "M5.072.006A5.073 5.073 0 000 5.08v53.841a5.073 5.073 0 005.072 5.074h45.775a5.074 5.074 0 005.074-5.074V20.315L37.018.006H5.072z", + "fill": "#DDD965" + }, { + "d": "M55.977 20.352v1H43.178s-6.312-1.26-6.129-6.707c0 0 .208 5.707 6.004 5.707h12.924z", + "fill": "#C1BC45" + }, { + "d": "M37.074 0v14.561c0 1.656 1.104 5.791 6.104 5.791h12.799L37.074 0z", + "opacity": ".5", + "fill": "#fff" + }, { + "d": "M29.399 34.802H11.768c-.872 0-1.577.706-1.577 1.577v15.99c0 .871.706 1.577 1.577 1.577h13.167l6.04-6.017v-11.55c0-.871-.705-1.577-1.576-1.577z", + "fill": "#fff" + }, { + "fill": "#DBD75D", + "d": "M13.741 43.553h13.675v1.643H13.741zm0-3.555h13.675v1.641H13.741zm0 7.109h8.867v1.643h-8.867z" + }] + } + }, + txt: { + "xmlns": "http://www.w3.org/2000/svg", + "path": [{ + "d": "M5.151-.036A5.074 5.074 0 00.077 5.038v53.841a5.073 5.073 0 005.074 5.074h45.774a5.074 5.074 0 005.074-5.074V20.274L37.097-.036H5.151z", + "fill-rule": "evenodd", + "clip-rule": "evenodd", + "fill": "#F9CA06" + }, { + "d": "M18.763 43.045h-3.277v10.047a.734.734 0 01-.756.738.73.73 0 01-.738-.738V43.045h-3.259c-.36 0-.648-.288-.648-.684 0-.36.288-.648.648-.648h8.03c.36 0 .648.288.648.685a.645.645 0 01-.648.647zm11.7 10.803a.64.64 0 01-.541-.27l-3.727-4.97-3.745 4.97a.639.639 0 01-.54.27.71.71 0 01-.72-.72c0-.144.036-.306.144-.432l3.889-5.131-3.619-4.826a.721.721 0 01-.144-.414c0-.343.288-.721.72-.721.216 0 .432.108.576.288l3.439 4.627 3.439-4.646a.642.642 0 01.541-.27c.378 0 .738.306.738.721a.7.7 0 01-.126.414l-3.619 4.808 3.89 5.149c.09.126.126.27.126.415a.739.739 0 01-.721.738zm11.195-10.803h-3.277v10.047a.734.734 0 01-.756.738.73.73 0 01-.738-.738V43.045h-3.259c-.36 0-.648-.288-.648-.684 0-.36.288-.648.648-.648h8.03c.36 0 .648.288.648.685a.644.644 0 01-.648.647z", + "fill": "#fff" + }], + "g": { + "fill-rule": "evenodd", + "clip-rule": "evenodd", + "path": [{ + "d": "M56.008 20.316v1H43.209s-6.312-1.26-6.129-6.708c0 0 .208 5.708 6.004 5.708h12.924z", + "fill": "#F7BC04" + }, { + "d": "M37.106-.036v14.561c0 1.656 1.104 5.792 6.104 5.792h12.799L37.106-.036z", + "opacity": ".5", + "fill": "#fff" + }] + } + }, + unknown: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "fill-rule": "evenodd", + "clip-rule": "evenodd", + "path": [{ + "d": "M5.113.007A5.073 5.073 0 00.039 5.081v53.84a5.073 5.073 0 005.074 5.074h45.774a5.074 5.074 0 005.074-5.074V20.315L37.058.007H5.113z", + "fill": "#8199AF" + }, { + "d": "M55.976 20.352v1H43.177s-6.312-1.26-6.129-6.707c0 0 .208 5.707 6.004 5.707h12.924z", + "fill": "#617F9B" + }, { + "d": "M37.074 0v14.561c0 1.656 1.104 5.791 6.104 5.791h12.799L37.074 0z", + "opacity": ".5", + "fill": "#fff" + }] + } + }, + video: { + "xmlns": "http://www.w3.org/2000/svg", + "path": [{ + "d": "M5.15.011A5.073 5.073 0 00.078 5.085v53.841A5.073 5.073 0 005.15 64h45.775A5.075 5.075 0 0056 58.926V20.32L37.096.011H5.15z", + "fill-rule": "evenodd", + "clip-rule": "evenodd", + "fill": "#8E4C9E" + }, { + "d": "M24.531 45.529c0 .368-.163.736-.449.981-.205.163-5.255 4.417-11.839 7.095a1.411 1.411 0 01-.511.103 1.35 1.35 0 01-.675-.184 1.229 1.229 0 01-.613-.981c-.021-.144-.307-3.456-.307-7.014s.286-6.87.307-6.993c.021-.408.266-.776.613-1.002.205-.122.43-.184.675-.184.164 0 .348.041.511.103 6.584 2.678 11.634 6.932 11.839 7.115.286.225.449.593.449.961z", + "fill": "#fff" + }], + "g": { + "fill-rule": "evenodd", + "clip-rule": "evenodd", + "path": [{ + "d": "M55.977 20.352v1H43.178s-6.312-1.26-6.129-6.707c0 0 .208 5.707 6.004 5.707h12.924z", + "fill": "#713985" + }, { + "d": "M37.074 0v14.561c0 1.656 1.104 5.791 6.104 5.791h12.799L37.074 0z", + "opacity": ".5", + "fill": "#fff" + }] + } + }, + visio: { + "xmlns": "http://www.w3.org/2000/svg", + "path": [{ + "d": "M5.111.006A5.073 5.073 0 00.039 5.08v53.841a5.073 5.073 0 005.072 5.074h45.775a5.074 5.074 0 005.074-5.074V20.315L37.057.006H5.111z", + "fill-rule": "evenodd", + "clip-rule": "evenodd", + "fill": "#496AB3" + }, { + "d": "M20.915 42.686l-4.16 10.334c-.198.486-.684.81-1.188.81h-.036a1.316 1.316 0 01-1.207-.81l-4.141-10.334a.755.755 0 01-.054-.289c0-.36.324-.792.811-.792.306 0 .594.181.72.486l3.889 9.993 3.889-9.993a.767.767 0 01.72-.486c.468 0 .81.378.81.792 0 .09-.018.198-.053.289zm3.147 11.144a.73.73 0 01-.738-.738V42.325c0-.396.324-.721.774-.721.396 0 .72.324.72.721v10.767a.734.734 0 01-.756.738zm7.902.108c-1.782 0-3.187-.594-4.213-1.495a.71.71 0 01-.234-.54c0-.36.27-.756.702-.756.144 0 .306.036.432.145.829.738 1.981 1.314 3.367 1.314 2.143 0 2.827-1.152 2.827-2.071 0-3.097-7.112-1.386-7.112-5.672 0-1.98 1.764-3.33 4.123-3.33 1.548 0 2.881.467 3.853 1.277a.731.731 0 01.252.541c0 .359-.306.72-.702.72a.68.68 0 01-.432-.162c-.882-.72-1.98-1.044-3.079-1.044-1.44 0-2.467.774-2.467 1.909 0 2.701 7.112 1.152 7.112 5.636.001 1.746-1.188 3.528-4.429 3.528z", + "fill": "#fff" + }], + "g": { + "fill-rule": "evenodd", + "clip-rule": "evenodd", + "path": [{ + "d": "M55.977 20.352v1H43.178s-6.312-1.26-6.129-6.707c0 0 .208 5.707 6.004 5.707h12.924z", + "fill": "#374FA0" + }, { + "d": "M37.074 0v14.561c0 1.656 1.104 5.791 6.104 5.791h12.799L37.074 0z", + "opacity": ".5", + "fill": "#fff" + }] + } + }, + webex: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "fill-rule": "evenodd", + "clip-rule": "evenodd", + "path": [{ + "d": "M5.152.011A5.074 5.074 0 00.078 5.085v53.841A5.074 5.074 0 005.152 64h45.773A5.075 5.075 0 0056 58.926V20.32L37.098.011H5.152z", + "fill": "#80BC4B" + }, { + "d": "M55.977 20.352v1H43.178s-6.312-1.26-6.129-6.707c0 0 .208 5.707 6.004 5.707h12.924z", + "fill": "#60AB38" + }, { + "d": "M37.074 0v14.561c0 1.656 1.104 5.791 6.104 5.791h12.799L37.074 0z", + "opacity": ".5", + "fill": "#fff" + }] + }, + "path": [{ + "d": "M20.463 53.854c5.161-.271 9.261-4.538 9.261-9.767a9.78 9.78 0 00-9.26-9.767l-.001 19.534z", + "fill": "#CFE8AF" + }, { + "d": "M19.338 53.852c-5.119-.316-9.174-4.565-9.174-9.764s4.056-9.447 9.174-9.763v19.527z", + "fill": "#fff" + }] + }, + word: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "fill-rule": "evenodd", + "path": [{ + "d": "M5.11 0A5.07 5.07 0 000 5v53.88A5.07 5.07 0 005.11 64h45.78A5.07 5.07 0 0056 58.88v-38.6L37.06 0z", + "fill": "#107cad" + }, { + "d": "M56 20.35v1H43.18s-6.31-1.26-6.13-6.71c0 0 .21 5.71 6 5.71z", + "fill": "#084968" + }, { + "d": "M37.07 0v14.56a5.78 5.78 0 006.11 5.79H56z", + "fill": "#90d0fe", + "opacity": ".5" + }] + }, + "path": { + "d": "M14.24 53.86h-3a1.08 1.08 0 01-1.08-1.08v-9.85a1.08 1.08 0 011.08-1.08h3a6 6 0 110 12zm0-10.67h-2.61v9.34h2.61a4.41 4.41 0 004.61-4.66 4.38 4.38 0 00-4.61-4.68zm14.42 10.89a5.86 5.86 0 01-6-6.21 6 6 0 1111.92 0 5.87 5.87 0 01-5.92 6.21zm0-11.09c-2.7 0-4.41 2.07-4.41 4.88s1.71 4.88 4.41 4.88 4.41-2.09 4.41-4.88S31.35 43 28.66 43zm18.45.38a.75.75 0 01.2.52.71.71 0 01-.7.72.64.64 0 01-.51-.24 4.06 4.06 0 00-3-1.38 4.61 4.61 0 00-4.63 4.88 4.63 4.63 0 004.63 4.88 4 4 0 003-1.37.7.7 0 01.51-.24.72.72 0 01.7.74.78.78 0 01-.2.51 5.33 5.33 0 01-4 1.69 6.22 6.22 0 010-12.43 5.26 5.26 0 014 1.72z", + "fill": "#fff" + } + }, + xml: { + "xmlns": "http://www.w3.org/2000/svg", + "path": [{ + "d": "M5.112-.024A5.074 5.074 0 00.038 5.05v53.841a5.073 5.073 0 005.074 5.074h45.774a5.074 5.074 0 005.074-5.074V20.285L37.058-.024H5.112z", + "fill-rule": "evenodd", + "clip-rule": "evenodd", + "fill": "#FC7B24" + }, { + "d": "M19.371 53.848a.64.64 0 01-.541-.27l-3.727-4.97-3.745 4.97a.638.638 0 01-.54.27.712.712 0 01-.721-.72.66.66 0 01.145-.432l3.889-5.131-3.619-4.826a.721.721 0 01-.144-.414c0-.343.288-.721.72-.721.217 0 .433.108.576.288l3.439 4.627 3.439-4.646a.64.64 0 01.54-.27c.378 0 .737.306.737.721a.7.7 0 01-.125.414l-3.619 4.808 3.889 5.149c.09.126.127.27.127.415a.736.736 0 01-.72.738zm14.455-.018a.73.73 0 01-.738-.738v-9.254l-4.033 9.759c-.055.143-.2.233-.379.233a.37.37 0 01-.342-.234l-4.016-9.759v9.254a.734.734 0 01-.756.738.73.73 0 01-.738-.738V42.829c0-.648.559-1.207 1.242-1.207.486 0 .99.288 1.188.756l3.438 8.373 3.457-8.373c.199-.468.686-.756 1.189-.756.684 0 1.242.558 1.242 1.207v10.263c.002.414-.322.738-.754.738zm10.546-.108h-5.456c-.594 0-1.08-.486-1.08-1.081V42.325c0-.396.324-.721.774-.721.396 0 .72.324.72.721V52.39h5.042c.36 0 .647.288.647.648.001.396-.287.684-.647.684z", + "fill": "#fff" + }], + "g": { + "fill-rule": "evenodd", + "clip-rule": "evenodd", + "path": [{ + "d": "M55.977 20.352v1H43.178s-6.312-1.26-6.129-6.707c0 0 .208 5.707 6.004 5.707h12.924z", + "fill": "#FB5C1B" + }, { + "d": "M37.074 0v14.561c0 1.656 1.104 5.791 6.104 5.791h12.799L37.074 0z", + "opacity": ".5", + "fill": "#fff" + }] + } + }, + zip: { + "xmlns": "http://www.w3.org/2000/svg", + "path": [{ + "d": "M5.113-.026A5.074 5.074 0 00.039 5.048v53.841a5.073 5.073 0 005.074 5.074h45.773a5.074 5.074 0 005.074-5.074V20.284L37.059-.026H5.113z", + "fill-rule": "evenodd", + "clip-rule": "evenodd", + "fill": "#8199AF" + }, { + "d": "M18.438 53.906h-7.581c-.378 0-.756-.342-.756-.828 0-.18.054-.36.162-.504l6.68-9.345h-6.212c-.36 0-.648-.288-.648-.684 0-.36.288-.648.648-.648h7.454c.378 0 .756.342.756.829 0 .18-.054.36-.162.504l-6.68 9.345h6.338c.36 0 .648.288.648.648.001.395-.287.683-.647.683zm4.012.108a.73.73 0 01-.738-.738V42.509c0-.396.324-.721.774-.721.396 0 .72.324.72.721v10.767a.735.735 0 01-.756.738zm8.839-4.879h-3.331v4.141a.734.734 0 01-.756.738.73.73 0 01-.738-.738V42.977c0-.594.486-1.081 1.081-1.081h3.745c2.413 0 3.763 1.657 3.763 3.619s-1.387 3.62-3.764 3.62zm-.18-5.906h-3.151v4.573h3.151c1.422 0 2.395-.936 2.395-2.287-.001-1.35-.973-2.286-2.395-2.286z", + "fill": "#fff" + }], + "g": { + "fill-rule": "evenodd", + "clip-rule": "evenodd", + "path": [{ + "d": "M55.977 20.352v1H43.178s-6.312-1.26-6.129-6.707c0 0 .208 5.707 6.004 5.707h12.924z", + "fill": "#617F9B" + }, { + "d": "M37.074 0v14.561c0 1.656 1.104 5.791 6.104 5.791h12.799L37.074 0z", + "opacity": ".5", + "fill": "#fff" + }] + } + }, + viewBox: '0 0 56 64' + }; +} + +/* harmony default export */ var doctype = (doctype_icons); +// CONCATENATED MODULE: ./icons/standard/index.js +/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */ + +/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */ +var standard_icons = {}; + +if (true) { + standard_icons = { + account: { + "xmlns": "http://www.w3.org/2000/svg", + "path": [{ + "d": "M79 51.1c.1-2.1-1.4-2.7-2-2.7H55.2c-1.9 0-2.2 2-2.2 2.2V74h26V51.1zM64 67.9c0 1.1-.9 2-2 2h-2c-1.1 0-2-.9-2-2v-2c0-1.1.9-2 2-2h2c1.1 0 2 .9 2 2v2zm0-10.2c0 1.1-.9 2-2 2h-2c-1.1 0-2-.9-2-2v-2c0-1.1.9-2 2-2h2c1.1 0 2 .9 2 2v2zm10 10.2c0 1.1-.9 2-2 2h-2c-1.1 0-2-.9-2-2v-2c0-1.1.9-2 2-2h2c1.1 0 2 .9 2 2v2zm0-10.2c0 1.1-.9 2-2 2h-2c-1.1 0-2-.9-2-2v-2c0-1.1.9-2 2-2h2c1.1 0 2 .9 2 2v2z" + }, { + "d": "M59 40.3V28.7c.1-2.1-1.4-2.7-2-2.7H23.2c-1.9 0-2.2 2-2.2 2.2V74h26V44.7s0-2.4 2.2-2.4h7.9c1.1 0 1.9-1.2 1.9-2zM32 66.9c0 1.1-.9 2-2 2h-2c-1.1 0-2-.9-2-2v-2c0-1.1.9-2 2-2h2c1.1 0 2 .9 2 2v2zm0-10.3c0 1.1-.9 2-2 2h-2c-1.1 0-2-.9-2-2v-2c0-1.1.9-2 2-2h2c1.1 0 2 .9 2 2v2zm0-10.2c0 1.1-.9 2-2 2h-2c-1.1 0-2-.9-2-2v-2c0-1.1.9-2 2-2h2c1.1 0 2 .9 2 2v2zm0-10.2c0 1.1-.9 2-2 2h-2c-1.1 0-2-.9-2-2v-2c0-1.1.9-2 2-2h2c1.1 0 2 .9 2 2v2zm11 30.7c0 1.1-.9 2-2 2h-2c-1.1 0-2-.9-2-2v-2c0-1.1.9-2 2-2h2c1.1 0 2 .9 2 2v2zm0-10.3c0 1.1-.9 2-2 2h-2c-1.1 0-2-.9-2-2v-2c0-1.1.9-2 2-2h2c1.1 0 2 .9 2 2v2zm0-10.2c0 1.1-.9 2-2 2h-2c-1.1 0-2-.9-2-2v-2c0-1.1.9-2 2-2h2c1.1 0 2 .9 2 2v2zm0-10.2c0 1.1-.9 2-2 2h-2c-1.1 0-2-.9-2-2v-2c0-1.1.9-2 2-2h2c1.1 0 2 .9 2 2v2zm11 0c0 1.1-.9 2-2 2h-2c-1.1 0-2-.9-2-2v-2c0-1.1.9-2 2-2h2c1.1 0 2 .9 2 2v2z" + }] + }, + action_list_component: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M48.2 63.9h29.9c1.1 0 2 .9 2 2v4c0 1.1-.9 2-2 2H48.2c-1.1 0-2-.9-2-2v-4c0-1.1.9-2 2-2zM48.2 46h29.9c1.1 0 2 .9 2 2v4c0 1.1-.9 2-2 2H48.2c-1.1 0-2-.9-2-2v-4c0-1.1.9-2 2-2zM48.2 28.2h29.9c1.1 0 2 .9 2 2v4c0 1.1-.9 2-2 2H48.2c-1.1 0-2-.9-2-2v-4c0-1.1.9-2 2-2zM29 28.2c-2.2 0-4 1.8-4 4s1.8 4 4 4 4-1.8 4-4-1.8-4-4-4zM29 63.9c-2.2 0-4 1.8-4 4s1.8 4 4 4 4-1.8 4-4-1.8-4-4-4zM29 41c-5 0-9 4-9 9s4 9 9 9 9-4 9-9-4-9-9-9zm0 12c-1.7 0-3-1.4-3-3 0-1.7 1.4-3 3-3s3 1.4 3 3c0 1.7-1.3 3-3 3z" + } + }, + actions_and_buttons: { + "xmlns": "http://www.w3.org/2000/svg", + "path": [{ + "d": "M48.3 74.5c1 0 1.8-.8 1.8-1.8l.1-20.8c.1-1-.8-1.8-1.6-1.9H27.4c-1-.1-1.8.8-1.9 1.6v4.1c-.1 1 .8 1.8 1.6 1.9H34c.7 0 1.3.6 1.3 1.3 0 .3-.1.7-.3.9l-14 14c-.8.8-.8 2.1-.1 2.8l2.7 2.7c.8.7 2 .6 2.8-.1l14.1-14.1c.5-.5 1.3-.5 1.8 0 .2.2.4.5.3.9v6.6c-.1 1 .8 1.8 1.6 1.9h4.1z" + }, { + "d": "M55.7 77.7c5.7-1 11.2-3.7 15.6-8 11.3-11.3 11.3-29.7 0-41s-29.7-11.3-41 0c-4.4 4.4-7 9.8-8 15.5h5.9c.9-4.2 3-8.1 6.2-11.4 9-9 23.8-9 32.8 0s9 23.8 0 32.8c-3.2 3.2-7.2 5.3-11.3 6.2l-.2 5.9zm.3-11.9c2.6-.8 5.1-2.2 7.1-4.3 6.8-6.8 6.8-17.8 0-24.6s-17.8-6.8-24.6 0c-2.1 2.1-3.5 4.6-4.3 7.2h6.2c.5-1.2 1.3-2.2 2.2-3.2 4.5-4.5 11.9-4.5 16.4 0s4.5 11.9 0 16.4c-.9.9-1.9 1.6-3 2.2v6.3z" + }] + }, + activation_target: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "path": { + "d": "M75 20.37H57.81a5 5 0 00-5 5v17a5 5 0 005 5H75a5 5 0 005-5v-17a5 5 0 00-5-5zm-1 6v15H58.82v-15zM28 51a1.64 1.64 0 00-1.56 1.71l-.08 3.51A1.64 1.64 0 0028 57.83h6.2a1.08 1.08 0 01.82.33 1.18 1.18 0 01.08 1.71L20.54 74.34a1.68 1.68 0 00-.09 2.37l2.47 2.45a2.12 2.12 0 002.55.08l14.68-14.55a.88.88 0 01.58-.25 1.28 1.28 0 011.4 1.06l.08 5.22a1.64 1.64 0 001.64 1.63l3.54.09A1.65 1.65 0 0049 70.8v-18a1.65 1.65 0 00-1.65-1.64z" + } + } + }, + activations: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M78 60a2 2 0 012 2v16a2 2 0 01-2 2H62a2 2 0 01-2-2V62a2 2 0 012-2zM40.2 26.9l12.9.2a1.16 1.16 0 011.2 1.2l.2 12.9a1.16 1.16 0 01-1.2 1.2H51a1.16 1.16 0 01-1.2-1.2l-.1-4a.77.77 0 00-1.3-.6l-7.9 7.9A10.32 10.32 0 0142 50a11.07 11.07 0 01-1.9 6.2l8.3 8.3a.77.77 0 001.3-.6l.1-4a1.16 1.16 0 011.2-1.2l2.4-.1a1.16 1.16 0 011.2 1.2l-.2 12.9a1.16 1.16 0 01-1.2 1.2l-12.9.2a1.16 1.16 0 01-1.2-1.2v-2.3a1.16 1.16 0 011.2-1.2l4-.1a.77.77 0 00.6-1.3l-8.4-8.4A11.24 11.24 0 0131 61a11 11 0 116.2-20.1l7.8-7.8a.77.77 0 00-.6-1.3l-4-.1a1.16 1.16 0 01-1.2-1.2l-.1-2.4a1.08 1.08 0 011.1-1.2zM74 66h-8v8h8zM31 45a5 5 0 105 5 5 5 0 00-5-5zm47-25a2 2 0 012 2v16a2 2 0 01-2 2H62a2 2 0 01-2-2V22a2 2 0 012-2zm-4 6h-8v8h8z" + } + }, + address: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M49 18.92a23.74 23.74 0 00-23.73 23.85c0 16.48 17 31.59 22.23 35.59a2.45 2.45 0 003.12 0c5.24-4.12 22.1-19.11 22.1-35.59A23.74 23.74 0 0049 18.92zm0 33.71a10 10 0 1110-10 10 10 0 01-10 10z" + } + }, + agent_home: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M50.93 20.37l28.71 28.77a1.48 1.48 0 01.29 1.4c-.1.5-.79.8-1.29.8h-6.28v27.45c0 .8-.5 1.2-1.3 1.2H28.81a1.18 1.18 0 01-1.29-1V51.34h-6.29a1 1 0 01-1.09-.8 1.09 1.09 0 01.3-1.4l28.7-28.77a1.27 1.27 0 011.79 0zM40.39 65h-5.3A1.11 1.11 0 0034 66.09v6.8a1.11 1.11 0 001.1 1.1h5.3a1.1 1.1 0 001.1-1.1v-6.8A1.09 1.09 0 0040.39 65zm12-9h-5.3A1.11 1.11 0 0046 57.1v15.79a1.11 1.11 0 001.1 1.1h5.3a1.1 1.1 0 001.1-1.1V57.1a1.1 1.1 0 00-1.11-1.1zm12-9h-5.3A1.11 1.11 0 0058 48.1v24.79a1.11 1.11 0 001.1 1.1h5.3a1.1 1.1 0 001.1-1.1V48.1a1.1 1.1 0 00-1.11-1.1z", + "fill-rule": "evenodd" + } + }, + agent_session: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M49.2 21.7c-16.6 0-30 12.5-30 28 0 5 1.4 9.6 3.8 13.7.3.5.4 1.1.2 1.6l-2.8 8.9c-.5 1.6 1 3 2.6 2.5l8.8-3.1c.6-.2 1.2-.1 1.7.2 4.6 2.7 10 4.2 15.8 4.2 16.6 0 30-12.5 30-28-.2-15.5-13.6-28-30.1-28zM41 62.1c0 .6-.5 1.1-1.1 1.1h-5.3c-.6 0-1.1-.5-1.1-1.1v-6.8c0-.6.5-1.1 1.1-1.1h5.3c.6 0 1.1.5 1.1 1.1v6.8zm12 0c0 .6-.5 1.1-1.1 1.1h-5.3c-.6 0-1.1-.5-1.1-1.1V46.3c0-.6.5-1.1 1.1-1.1h5.3c.6 0 1.1.5 1.1 1.1v15.8zm12 0c0 .6-.5 1.1-1.1 1.1h-5.3c-.6 0-1.1-.5-1.1-1.1V37.3c0-.6.5-1.1 1.1-1.1h5.3c.6 0 1.1.5 1.1 1.1v24.8z" + } + }, + aggregation_policy: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M79.13 71.32l-9.26-9.19a4.19 4.19 0 00-.34-.28V58h4.91a1 1 0 00.78-1.64l-7.93-9.44-.13-.13a1 1 0 00-1.41.14l-7.91 9.44a1 1 0 00-.23.65 1 1 0 001 1h4.92v3.49a2.85 2.85 0 00-.92.63l-9.25 9.19a3 3 0 000 4.24 3 3 0 004.24 0l5.9-5.87V77a3 3 0 006 0v-6.73l5.32 5.29a3 3 0 004.24 0 3 3 0 00.07-4.24zM37.12 20H26a6 6 0 00-6 6v9a6 6 0 006 6h11.12a6 6 0 006-6v-9a6 6 0 00-6-6zm-4.54 15h-2a4.5 4.5 0 010-9h2a4.5 4.5 0 010 9zM66.31 41a6 6 0 006-6v-9a6 6 0 00-6-6H55.24a6 6 0 00-6 6v9a6 6 0 006 6zm-6.53-15h2a4.5 4.5 0 010 9h-2a4.5 4.5 0 010-9zM37.12 47H26a6 6 0 00-6 6v9a6 6 0 006 6h11.12a6 6 0 006-6v-9a6 6 0 00-6-6zm-4.54 15h-2a4.5 4.5 0 010-9h2a4.5 4.5 0 010 9z", + "fill-rule": "evenodd" + } + }, + all: { + "xmlns": "http://www.w3.org/2000/svg", + "path": [{ + "d": "M57 44.5c-1.5 0-2.7-1.2-2.7-2.7V24.5c0-1.5 1.2-2.7 2.7-2.7h17.6c1.5 0 2.7 1.2 2.7 2.7v17.3c0 1.5-1.2 2.7-2.7 2.7H57zM64.6 54.7L54.3 65.8c-.6.6-.6 1.7 0 2.3l10.3 11.1c.7.7 1.8.7 2.5 0l10.3-11.1c.6-.6.6-1.7 0-2.3L67.1 54.7c-.7-.7-1.9-.7-2.5 0z" + }, { + "d": "M23.6 25.7l8.9-5.1c.8-.5 1.8-.5 2.7 0l8.9 5.1c.8.5 1.3 1.4 1.3 2.3v10.2c0 .9-.5 1.8-1.3 2.3l-8.9 5.1c-.8.5-1.8.5-2.7 0l-8.9-5.1c-.8-.5-1.4-1.4-1.4-2.3V28c0-1 .6-1.9 1.4-2.3z" + }], + "circle": { + "cx": "33.8", + "cy": "66.6", + "r": "11.6" + } + }, + announcement: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "path": { + "d": "M46 74.3L44.4 73c-1.8-1.2-1.8-3.7-1.8-5v-3.6c0-1-.9-1.9-1.9-1.9h-7.5c-1 0-1.9.9-1.9 1.9V74c0 3.4 2 6 5.1 6h6.2c3.6 0 3.9-2.5 3.9-2.5s.6-2.2-.5-3.2zM74 40.1v-17-.1c0-3-3.8-3.9-5.8-1.9L57 31.6c-1.8 1.5-4 2.1-6.3 2.1h-19c-6.6.1-11.7 5.7-11.7 12.2v.2c0 6.5 5.1 11.4 11.7 11.4h19.1c2.4 0 4.6 1 6.4 2.5l11 10.7c2 2 5.8 1.2 5.8-1.7V52c3.8 0 6-2.6 6-6 0-3.3-2.3-5.9-6-5.9z" + } + } + }, + answer_best: { + "xmlns": "http://www.w3.org/2000/svg", + "path": [{ + "d": "M49.5 21.5c-16.6 0-30 12.5-30 28 0 5 1.4 9.6 3.8 13.7.3.5.4 1.1.2 1.6l-2.8 8.9c-.5 1.6 1 3 2.6 2.5l8.8-3.1c.6-.2 1.2-.1 1.7.2 4.6 2.7 10 4.2 15.8 4.2 16.6 0 30-12.5 30-28-.1-15.5-13.5-28-30.1-28zm14.4 21.8L48.6 58.6c-.6.6-1.3.9-2.1.9s-1.5-.3-2.1-.9L37 51.2c-.6-.6-.6-1.5 0-2.1l2.1-2.1c.6-.6 1.5-.6 2.1 0l5.3 5.3 13.2-13.2c.6-.6 1.5-.6 2.1 0l2.1 2.1c.6.6.6 1.6 0 2.1z" + }, { + "fill-opacity": ".65", + "d": "M100 100V62l-38 38h38zm-4.2-13.5l-3.1 3.2c-.1.1-.1.2-.1.3l.7 4.5c.1.3-.3.6-.5.4L89 92.8c-.1-.1-.2-.1-.3 0l-4 2.1c-.3.1-.6-.1-.5-.4l.7-4.5c0-.1 0-.3-.1-.3l-3.1-3.2c-.2-.3-.1-.6.2-.7l4.3-.7c.1 0 .2-.1.3-.2l1.9-4.1c.1-.3.5-.3.7 0l1.9 4.1c.1.1.2.2.3.2l4.3.7c.4 0 .4.4.2.7z" + }] + }, + answer_private: { + "xmlns": "http://www.w3.org/2000/svg", + "path": [{ + "fill-opacity": ".65", + "d": "M89 84c-1.1 0-2 .9-2 2v1h4v-1c0-1.1-.9-2-2-2z" + }, { + "fill-opacity": ".65", + "d": "M100 100V62l-38 38h38zm-5-6.5c0 .8-.7 1.5-1.5 1.5h-9c-.8 0-1.5-.7-1.5-1.5v-5c0-.8.7-1.5 1.5-1.5h.5v-1c0-2.2 1.8-4 4-4s4 1.8 4 4v1h.5c.8 0 1.5.7 1.5 1.5v5z" + }, { + "d": "M49.9 22c-16.6 0-30 12.5-30 28 0 5 1.4 9.6 3.8 13.7.3.5.4 1.1.2 1.6l-2.8 8.9c-.5 1.6 1 3 2.6 2.5l8.8-3.1c.6-.2 1.2-.1 1.7.2 4.6 2.7 10 4.2 15.8 4.2 16.6 0 30-12.5 30-28-.1-15.5-13.4-28-30.1-28zm14.5 21.8L49.1 59.1c-.6.6-1.3.9-2.1.9s-1.5-.3-2.1-.9l-7.4-7.4c-.6-.6-.6-1.5 0-2.1l2.1-2.1c.6-.6 1.5-.6 2.1 0l5.3 5.3 13.2-13.2c.6-.6 1.5-.6 2.1 0l2.1 2.1c.5.6.5 1.6 0 2.1z" + }] + }, + answer_public: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M50 22c-16.6 0-30 12.5-30 28 0 5 1.4 9.6 3.8 13.7.3.5.4 1.1.2 1.6l-2.8 8.9c-.5 1.6 1 3 2.6 2.5l8.8-3.1c.6-.2 1.2-.1 1.7.2 4.6 2.7 10 4.2 15.8 4.2 16.6 0 30-12.5 30-28C80 34.5 66.6 22 50 22zm14.4 21.8L49.1 59.1c-.6.6-1.3.9-2.1.9s-1.5-.3-2.1-.9l-7.4-7.4c-.6-.6-.6-1.5 0-2.1l2.1-2.1c.6-.6 1.5-.6 2.1 0l5.3 5.3 13.2-13.2c.6-.6 1.5-.6 2.1 0l2.1 2.1c.6.6.6 1.6 0 2.1z" + } + }, + apex: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M78 67.5H44.4c-1 0-1.9.9-1.9 1.9v3.7c0 1 .9 1.9 1.9 1.9H78c1 0 1.9-.9 1.9-1.9v-3.7c0-1.1-.9-1.9-1.9-1.9zM49.2 44.8L25.1 25.4c-.7-.6-1.9-.5-2.5.4l-2.1 3c-.6.9-.4 2 .4 2.6L38 45.1c.6.5.6 1.5 0 2L20.8 60.9c-.7.6-1 1.9-.4 2.6l2.1 3.2c.6.9 1.7 1 2.5.4l24.2-19.3c1-.8 1-2.3 0-3z" + } + }, + apex_plugin: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M50.2 40l14-14c.7-.7.7-1.9 0-2.6l-3-3c-.7-.7-1.9-.7-2.6 0l-14 14 5.6 5.6zM65.6 55.8l14-14c.7-.7.7-1.9 0-2.6l-3-3c-.7-.7-1.9-.7-2.6 0l-14 14 5.6 5.6zM63.6 67.4c.2-.3.4-.6.5-1 .1-.5 0-1-.3-1.4-.1-.1-.1-.2-.2-.3l-.1-.1-28.2-28.2-.1-.1c-.3-.4-.9-.5-1.3-.5-.6 0-1 .3-1.4.6-.3.2-.5.4-.7.7-.2.2-.3.3-.4.5-.2.2-.3.4-.5.6-.2.3-.4.5-.5.8-.2.3-.4.6-.5 1-.2.4-.4.8-.6 1.1-.2.4-.4.9-.5 1.3-.2.5-.4 1-.5 1.5-.2.6-.3 1.2-.5 1.7-.2.7-.3 1.3-.4 2-.1.7-.3 1.5-.4 2.2l-.3 2.4c-.1.9-.1 1.8-.2 2.7v3c0 1.1 0 2.2.1 3.3.1 1.2.1 2.4.2 3.6 0 .3.1.7.1 1h.2l-6.5 6.5c-.7.7-.7 1.9 0 2.6l4.6 4.6c.7.7 1.9.7 2.6 0l6.5-6.5c2.3.2 4.7.4 7.1.4 2 0 3.9 0 5.9-.2 1.6-.1 3.2-.3 4.8-.6 1.3-.2 2.6-.5 3.8-.9 1-.3 2-.7 2.9-1.1.7-.3 1.5-.7 2.1-1.1.9-.6 1.8-1.2 2.5-2 0 .1.1 0 .2-.1z" + } + }, + app: { + "xmlns": "http://www.w3.org/2000/svg", + "path": [{ + "d": "M62 28H31.5c-1.7 0-3.1 1.4-3.1 3.1v30.5h-4.6c-2.1 0-3.8-1.7-3.8-3.8V23.3c0-2.1 1.7-3.8 3.8-3.8h34.5c2.1 0 3.8 1.7 3.8 3.8V28z" + }, { + "d": "M41.8 37.6h34.5c2.1 0 3.8 1.7 3.8 3.8v34.5c0 2.1-1.7 3.8-3.8 3.8H41.8c-2.1 0-3.8-1.7-3.8-3.8V41.3c0-2 1.7-3.7 3.8-3.7z" + }] + }, + approval: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M74 54H63c-3.3 0-6-2.7-6-6 .5-8.9 4.6-9.4 5-15.1.4-6-3.4-11.4-9.3-12.7C44.9 18.6 38 24.5 38 32c0 6.6 4.5 6.6 5 16 0 3.3-2.7 6-6 6H26c-3.3 0-6 2.7-6 6v4c0 1.1.9 2 2 2h56c1.1 0 2-.9 2-2v-4c0-3.3-2.7-6-6-6zM74.1 72H25.9c-1.1 0-1.9.9-1.9 1.9v.1c0 3.3 2.7 6 6 6h40.1c3.3 0 5.9-2.7 5.9-6v-.1c0-1-.9-1.9-1.9-1.9z" + } + }, + apps: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M32 20h-8c-2.2 0-4 1.8-4 4v8c0 2.2 1.8 4 4 4h8c2.2 0 4-1.8 4-4v-8c0-2.2-1.8-4-4-4zM54 20h-8c-2.2 0-4 1.8-4 4v8c0 2.2 1.8 4 4 4h8c2.2 0 4-1.8 4-4v-8c0-2.2-1.8-4-4-4zM76 20h-8c-2.2 0-4 1.8-4 4v8c0 2.2 1.8 4 4 4h8c2.2 0 4-1.8 4-4v-8c0-2.2-1.8-4-4-4zM32 42h-8c-2.2 0-4 1.8-4 4v8c0 2.2 1.8 4 4 4h8c2.2 0 4-1.8 4-4v-8c0-2.2-1.8-4-4-4zM54 42h-8c-2.2 0-4 1.8-4 4v8c0 2.2 1.8 4 4 4h8c2.2 0 4-1.8 4-4v-8c0-2.2-1.8-4-4-4zM76 42h-8c-2.2 0-4 1.8-4 4v8c0 2.2 1.8 4 4 4h8c2.2 0 4-1.8 4-4v-8c0-2.2-1.8-4-4-4zM32 64h-8c-2.2 0-4 1.8-4 4v8c0 2.2 1.8 4 4 4h8c2.2 0 4-1.8 4-4v-8c0-2.2-1.8-4-4-4zM54 64h-8c-2.2 0-4 1.8-4 4v8c0 2.2 1.8 4 4 4h8c2.2 0 4-1.8 4-4v-8c0-2.2-1.8-4-4-4zM76 64h-8c-2.2 0-4 1.8-4 4v8c0 2.2 1.8 4 4 4h8c2.2 0 4-1.8 4-4v-8c0-2.2-1.8-4-4-4z" + } + }, + apps_admin: { + "xmlns": "http://www.w3.org/2000/svg", + "path": [{ + "d": "M73 21H27c-3.3 0-6 2.7-6 6v46c0 3.3 2.7 6 6 6h46c3.3 0 6-2.7 6-6V27c0-3.3-2.7-6-6-6zm-2 52H29c-1.1 0-2-.9-2-2V29c0-1.1.9-2 2-2h42c1.1 0 2 .9 2 2v42c0 1.1-.9 2-2 2z" + }, { + "d": "M45 33H35c-1.1 0-2 .9-2 2v10c0 1.1.9 2 2 2h10c1.1 0 2-.9 2-2V35c0-1.1-.9-2-2-2zM65 33H55c-1.1 0-2 .9-2 2v10c0 1.1.9 2 2 2h10c1.1 0 2-.9 2-2V35c0-1.1-.9-2-2-2zM45 53H35c-1.1 0-2 .9-2 2v10c0 1.1.9 2 2 2h10c1.1 0 2-.9 2-2V55c0-1.1-.9-2-2-2zM65 53H55c-1.1 0-2 .9-2 2v10c0 1.1.9 2 2 2h10c1.1 0 2-.9 2-2V55c0-1.1-.9-2-2-2z" + }] + }, + article: { + "xmlns": "http://www.w3.org/2000/svg", + "path": [{ + "d": "M32 59h13c1.1 0 2-.9 2-2V27c0-2.2-2-4-4-4H32.3C31 23 30 24 30 25.3V57c0 1.1.9 2 2 2z" + }, { + "d": "M76 29v32c0 2.2-1.8 4-4 4H28c-2.2 0-4-1.8-4-4V29c-3.3 0-6 2.7-6 6v30c0 3.3 2.7 6 6 6h19c1.1 0 2 .9 2 2s.9 2 2 2h6c1.1 0 2-.9 2-2s.9-2 2-2h19c3.3 0 6-2.7 6-6V35c0-3.3-2.7-6-6-6z" + }, { + "d": "M55 59h12.7c1.3 0 2.3-1 2.3-2.3V25c0-1.1-.9-2-2-2H57c-2 0-4 1.8-4 4v30c0 1.1.9 2 2 2z" + }] + }, + asset_action: { + "xmlns": "http://www.w3.org/2000/svg", + "path": [{ + "d": "M64.2 72.4a3.74 3.74 0 01-3.7-3.9v-2.1a3.49 3.49 0 011-3.1l11.6-11.6V26.8a2.43 2.43 0 00-2.4-2.4H29.3a2.43 2.43 0 00-2.4 2.4v41.5a2.43 2.43 0 002.4 2.4h5.3v2.5a2.43 2.43 0 002.4 2.4h2.8a2.43 2.43 0 002.4-2.4v-2.5H58v2.5a2.43 2.43 0 002.4 2.4h2.8a2.43 2.43 0 002.4-2.4v-.8zM36.3 36.8a.84.84 0 01.9-.9h25.7a.84.84 0 01.9.9v.9a.84.84 0 01-.9.9H37.1a.84.84 0 01-.9-.9v-.9zm27.2 4.3V54a.84.84 0 01-.9.9h-1.7a.84.84 0 01-.9-.9V41.1a.84.84 0 01.9-.9h1.7q.9.15.9.9zm-5.9 0V54a.9.9 0 01-1.8 0V41.1a.84.84 0 01.9-.9q.9.15.9.9zm-3.3 0V54a.84.84 0 01-.9.9H50a.84.84 0 01-.9-.9V41.1a.84.84 0 01.9-.9h3.4c.5.1.9.4.9.9zm-7.7 0V54a.84.84 0 01-.9.9H44a.84.84 0 01-.9-.9V41.1a.84.84 0 01.9-.9h1.7c.5.1.9.4.9.9zm-10.3 0a.84.84 0 01.9-.9h3.4a.84.84 0 01.9.9V54a.84.84 0 01-.9.9h-3.4a.84.84 0 01-.9-.9zm.8 17.9a.84.84 0 01-.9-.9v-.9a.84.84 0 01.9-.9h25.7a.84.84 0 01.9.9v.9a.84.84 0 01-.9.9z" + }, { + "d": "M79 54.7l-.9-.9a1.57 1.57 0 00-2.2 0L64 65.7c-.1.1 0 .2 0 .3v2.5c0 .2 0 .4.2.4h2.6c.1 0 .2-.1.3-.1L79 57a1.52 1.52 0 000-2.3z" + }] + }, + asset_action_source: { + "xmlns": "http://www.w3.org/2000/svg", + "path": [{ + "d": "M52.1 67.9A15.27 15.27 0 0155 59H37.1a.84.84 0 01-.9-.9v-.9a.84.84 0 01.9-.9h20.2a15.35 15.35 0 012.9-2.1c-.1-.1-.1-.2-.1-.4V41.1a.84.84 0 01.9-.9h1.7a.84.84 0 01.9.9V53a14.3 14.3 0 019.6.5V26.8a2.43 2.43 0 00-2.4-2.4H29.3a2.43 2.43 0 00-2.4 2.4v41.5a2.43 2.43 0 002.4 2.4h5.3v2.5a2.43 2.43 0 002.4 2.4h2.8a2.43 2.43 0 002.4-2.4v-2.5h10.3a8.63 8.63 0 01-.4-2.8zM46.6 54a.84.84 0 01-.9.9H44a.84.84 0 01-.9-.9V41.1a.84.84 0 01.9-.9h1.7a.84.84 0 01.9.9zm7.7 0a.84.84 0 01-.9.9H50a.84.84 0 01-.9-.9V41.1a.84.84 0 01.9-.9h3.4a.84.84 0 01.9.9zm3.3 0a.9.9 0 01-1.8 0V41.1a.9.9 0 111.8 0zM36.3 36.8a.84.84 0 01.9-.9h25.7a.84.84 0 01.9.9v.9a.84.84 0 01-.9.9H37.1a.84.84 0 01-.9-.9v-.9zm0 4.3a.84.84 0 01.9-.9h3.4a.84.84 0 01.9.9V54a.84.84 0 01-.9.9h-3.4a.84.84 0 01-.9-.9z" + }, { + "d": "M67.6 55.9a12.12 12.12 0 00-12.1 12 12 12 0 0011.9 12 12 12 0 10.2-24zm8 12.5l-5.3 5.4a.67.67 0 01-1 0 11 11 0 01-1-1.1.67.67 0 010-1l1.6-1.7a.45.45 0 00-.3-.8h-9.7a.75.75 0 01-.7-.7V67a.68.68 0 01.7-.7h9.7a.46.46 0 00.3-.8L68.3 64a.67.67 0 010-1l1-1a.67.67 0 011 0l5.3 5.5a.56.56 0 010 .9z" + }] + }, + asset_downtime_period: { + "xmlns": "http://www.w3.org/2000/svg", + "path": [{ + "d": "M50.4 67.8a15.55 15.55 0 012.1-8.8H37.1a.84.84 0 01-.9-.9v-.9a.84.84 0 01.9-.9h17.3a15.37 15.37 0 011.9-1.7.84.84 0 01-.4-.7V41.1a.9.9 0 111.8 0v12.7a11.51 11.51 0 012.5-1.2V41.1a.84.84 0 01.9-.9h1.7a.84.84 0 01.9.9v10.7c.2 0 .5-.1.7-.1a15.88 15.88 0 018.9 2.1v-27a2.43 2.43 0 00-2.4-2.4H29.3a2.43 2.43 0 00-2.4 2.4v41.5a2.43 2.43 0 002.4 2.4h5.3v2.5a2.43 2.43 0 002.4 2.4h2.8a2.43 2.43 0 002.4-2.4v-2.5h8.7a9.29 9.29 0 01-.5-2.9zM46.6 54a.84.84 0 01-.9.9H44a.84.84 0 01-.9-.9V41.1a.84.84 0 01.9-.9h1.7a.84.84 0 01.9.9zm7.7 0a.84.84 0 01-.9.9H50a.84.84 0 01-.9-.9V41.1a.84.84 0 01.9-.9h3.4a.84.84 0 01.9.9zm-18-17.2a.84.84 0 01.9-.9h25.7a.84.84 0 01.9.9v.9a.84.84 0 01-.9.9H37.1a.84.84 0 01-.9-.9v-.9zm0 4.3a.84.84 0 01.9-.9h3.4a.84.84 0 01.9.9V54a.84.84 0 01-.9.9h-3.4a.84.84 0 01-.9-.9z" + }, { + "d": "M64.7 60.9h1.2a.65.65 0 01.6.6v5.4c0 .2-.1.3-.2.5l-3.5 3.5a.75.75 0 01-.9 0l-.7-.9a.75.75 0 010-.9l2.9-2.9v-4.7a.58.58 0 01.6-.6zm14.1 5.4H77v-.4a11.58 11.58 0 10-11.7 12.4 11.47 11.47 0 008.6-3.6c.2-.2.4-.4.2-.6l-1-1.2a.56.56 0 00-.9 0 9.17 9.17 0 01-7.7 2.9 9.55 9.55 0 01-8.1-8 9.1 9.1 0 0118.1-1.9v.4h-1.8a.65.65 0 00-.6.6c0 .2 0 .3.1.4l3.1 3.8a.67.67 0 001 0l3.1-3.8a.75.75 0 000-.9 1.49 1.49 0 00-.6-.1z" + }] + }, + asset_object: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M74.2 20.2H25.8A2.86 2.86 0 0023 23v48.4a2.86 2.86 0 002.8 2.8H32V77a2.86 2.86 0 002.8 2.8H38a2.86 2.86 0 002.8-2.8v-2.9h18.4V77a2.86 2.86 0 002.8 2.8h3.2A2.86 2.86 0 0068 77v-2.9h6.2a2.86 2.86 0 002.8-2.8V23a2.86 2.86 0 00-2.8-2.8zM34 39.6a.94.94 0 011-1h4a.94.94 0 011 1v15a.94.94 0 01-1 1h-4a.94.94 0 01-1-1zm32 19.9a.94.94 0 01-1 1H35a.94.94 0 01-1-1v-1a.94.94 0 011-1h30a.94.94 0 011 1zm-24-4.9v-15a.94.94 0 011-1h2a.94.94 0 011 1v15a.94.94 0 01-1 1h-2a.94.94 0 01-1-1zm7 0v-15a.94.94 0 011-1h4a.94.94 0 011 1v15a.94.94 0 01-1 1h-4a.94.94 0 01-1-1zm7.9 0v-15a1 1 0 012 0v15a1 1 0 01-2 0zm4.9 0v-15a.94.94 0 011-1h2a.94.94 0 011 1v15a.94.94 0 01-1 1h-2a.94.94 0 01-1-1zm4.2-19a.94.94 0 01-1 1H35a.94.94 0 01-1-1v-1a.94.94 0 011-1h30a.94.94 0 011 1z" + } + }, + asset_relationship: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M72.8 54.7v-.4c0-9-5.3-16.8-12.9-20.6v-.9c0-5.5-4.5-10-10-10s-10 4.5-10 10v.9C32.3 37.4 27 45.3 27 54.3v.4c-4.1 1.2-7.2 5-7.2 9.6 0 5.5 4.5 10 10 10 2.2 0 4.3-.7 6-2 3.9 3 8.8 4.9 14 4.9s10.1-1.8 14-4.9c1.7 1.2 3.7 2 6 2 5.5 0 10-4.5 10-10 .2-4.5-2.8-8.4-7-9.6zM38.9 68.8c.7-1.4 1.1-2.9 1.1-4.5 0-4.9-3.6-9-8.3-9.8v-.2c0-7 4-13.1 9.8-16.2 1.8 2.8 4.9 4.7 8.5 4.7s6.7-1.9 8.5-4.7c5.8 3.1 9.8 9.2 9.8 16.2v.2c-4.7.8-8.3 4.9-8.3 9.8 0 1.6.4 3.1 1.1 4.5-3.1 2.4-6.9 3.8-11.1 3.8s-8-1.5-11.1-3.8z" + } + }, + asset_state_period: { + "xmlns": "http://www.w3.org/2000/svg", + "path": [{ + "d": "M52.1 67.9A15.27 15.27 0 0155 59H37.1a.84.84 0 01-.9-.9v-.9a.84.84 0 01.9-.9h20.2a15.35 15.35 0 012.9-2.1c-.1-.1-.1-.2-.1-.4V41.1a.84.84 0 01.9-.9h1.7a.84.84 0 01.9.9V53a14.3 14.3 0 019.6.5V26.8a2.43 2.43 0 00-2.4-2.4H29.3a2.43 2.43 0 00-2.4 2.4v41.5a2.43 2.43 0 002.4 2.4h5.3v2.5a2.43 2.43 0 002.4 2.4h2.8a2.43 2.43 0 002.4-2.4v-2.5h10.3a8.63 8.63 0 01-.4-2.8zM46.6 54a.84.84 0 01-.9.9H44a.84.84 0 01-.9-.9V41.1a.84.84 0 01.9-.9h1.7a.84.84 0 01.9.9zm7.7 0a.84.84 0 01-.9.9H50a.84.84 0 01-.9-.9V41.1a.84.84 0 01.9-.9h3.4a.84.84 0 01.9.9zm3.3 0a.9.9 0 01-1.8 0V41.1a.9.9 0 111.8 0zM36.3 36.8a.84.84 0 01.9-.9h25.7a.84.84 0 01.9.9v.9a.84.84 0 01-.9.9H37.1a.84.84 0 01-.9-.9v-.9zm0 4.3a.84.84 0 01.9-.9h3.4a.84.84 0 01.9.9V54a.84.84 0 01-.9.9h-3.4a.84.84 0 01-.9-.9z" + }, { + "d": "M69.1 68.1a1.42 1.42 0 01-.2-.6v-4.8a.77.77 0 00-.7-.8h-1.5a.77.77 0 00-.7.8v6a1.42 1.42 0 00.2.6l3.7 3.7a.67.67 0 001 0l1.1-1.1a.78.78 0 000-1.1zm-1.6-12.2a12 12 0 00.2 24 12 12 0 0011.9-12 12.12 12.12 0 00-12.1-12zm0 21a9 9 0 119-9 8.94 8.94 0 01-9 9z" + }] + }, + asset_warranty: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M66 51c1.77 0 3.17 1.92 4.72 2.58s4 .3 5.17 1.55.89 3.55 1.56 5.17S80 63.23 80 65s-1.92 3.18-2.58 4.73-.3 4-1.56 5.17-3.54.88-5.17 1.55S67.74 79 66 79s-3.18-1.92-4.73-2.58-4-.3-5.17-1.55-.88-3.55-1.55-5.17-2.58-3-2.58-4.73 1.92-3.18 2.58-4.73.3-4 1.55-5.17 3.55-.88 5.17-1.55S64.2 51 66 51zm3.58-30a2.77 2.77 0 012.71 2.71v26.78l-.26-.1c-2-.84-3.77-3.29-6-3.29-1.69 0-3.11 1.36-4.55 2.41v-9.77a.88.88 0 00-.27-.7.91.91 0 00-.7-.27H58.4a1 1 0 00-.59.27.9.9 0 00-.26.7V51a16.06 16.06 0 00-2.81.58V39.74a1 1 0 10-1.93 0v13.31a11.63 11.63 0 00-1 4H31.5a1 1 0 00-.59.27.87.87 0 00-.26.7v1.08a1 1 0 00.27.59.91.91 0 00.7.27h19.2c-1.06 1.6-2.75 3.15-2.75 5 0 2.26 2.45 4 3.3 6a9.64 9.64 0 01.53 2.1H37.23v2.81a2.77 2.77 0 01-2.71 2.7h-3.1a2.76 2.76 0 01-2.71-2.7v-2.64h-6A2.78 2.78 0 0120 70.52V23.68A2.77 2.77 0 0122.71 21h46.84zm1.62 39.42a.71.71 0 00-1 0l-5.47 6.24-2.48-2.52a.69.69 0 00-1 0l-1 1a.63.63 0 000 1l3.5 3.49a1.42 1.42 0 001 .45 1.3 1.3 0 001-.45l6.5-7.21a.78.78 0 000-1zM35.6 38.77h-4.1a1 1 0 00-.59.27.87.87 0 00-.26.7v14.63a1 1 0 00.27.59.91.91 0 00.7.27h3.87a.93.93 0 00.71-.27.9.9 0 00.26-.7V39.74a.9.9 0 00-.26-.7.93.93 0 00-.71-.27zm5.8 0h-2.16a1 1 0 00-.59.27.9.9 0 00-.26.7v14.63a.89.89 0 00.26.59.93.93 0 00.7.27h1.94A.91.91 0 0042 55a.88.88 0 00.27-.7V39.74A.88.88 0 0042 39a.91.91 0 00-.7-.27zm8.71 0H46a.93.93 0 00-.59.27.88.88 0 00-.27.7v14.63a.9.9 0 00.27.59.91.91 0 00.7.27H50a.93.93 0 001-1V39.74a.93.93 0 00-1-1zm10.65-4.84H31.5a1 1 0 00-.59.27.88.88 0 00-.26.7V36a.93.93 0 00.27.59.88.88 0 00.7.27h29a.91.91 0 001-1v-1a.92.92 0 00-.26-.7.89.89 0 00-.71-.26z" + } + }, + assigned_resource: { + "xmlns": "http://www.w3.org/2000/svg", + "path": [{ + "d": "M49.91 20a25.4 25.4 0 1025.18 25.5c0-13.79-11.24-25.5-25.18-25.5zm16.54 23.24L55.93 53.38c-.76.76-1.77.13-1.77-1.14v-6.08c-7.6 0-12.67 5.19-12.67 12.8h-7.6a20.12 20.12 0 0120.27-20.4v-6.21c0-1.27 1.14-1.9 1.77-1.14l10.52 10.26a1.52 1.52 0 010 1.77z", + "fill-rule": "evenodd" + }, { + "d": "M26 64.21h-1.27A4.75 4.75 0 0020 68.95v6.31A4.74 4.74 0 0024.73 80h50.54A4.75 4.75 0 0080 75.26v-6.31a4.74 4.74 0 00-4.73-4.74h-1.54a30.15 30.15 0 01-47.72 0z", + "fill-rule": "evenodd" + }] + }, + assignment: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M22 54.9h56c1.1 0 2 .9 2 2v4c0 1.1-.9 2-2 2H22c-1.1 0-2-.9-2-2v-4c0-1.1.9-2 2-2zM22 37.1h56c1.1 0 2 .9 2 2v4c0 1.1-.9 2-2 2H22c-1.1 0-2-.9-2-2v-4c0-1.1.9-2 2-2z" + } + }, + avatar: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M80 71.2V74c0 3.3-2.7 6-6 6H26c-3.3 0-6-2.7-6-6v-2.8c0-7.3 8.5-11.7 16.5-15.2.3-.1.5-.2.8-.4.6-.3 1.3-.3 1.9.1C42.4 57.8 46.1 59 50 59c3.9 0 7.6-1.2 10.8-3.2.6-.4 1.3-.4 1.9-.1.3.1.5.2.8.4 8 3.4 16.5 7.8 16.5 15.1z" + }, + "ellipse": { + "cx": "50", + "cy": "36.5", + "rx": "14.9", + "ry": "16.5" + } + }, + avatar_loading: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "opacity": ".5", + "path": { + "d": "M80 71.2V74c0 3.3-2.7 6-6 6H26c-3.3 0-6-2.7-6-6v-2.8c0-7.3 8.5-11.7 16.5-15.2.3-.1.5-.2.8-.4.6-.3 1.3-.3 1.9.1C42.4 57.8 46.1 59 50 59s7.6-1.2 10.8-3.2c.6-.4 1.3-.4 1.9-.1.3.1.5.2.8.4 8 3.4 16.5 7.8 16.5 15.1z" + }, + "ellipse": { + "cx": "50", + "cy": "36.5", + "rx": "14.9", + "ry": "16.5" + } + } + }, + bot: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M49.6 25.8c7.2 0 13 5.8 13 13v3.3c-4.3-.5-8.7-.7-13-.7-4.3 0-8.7.2-13 .7v-3.3c0-7.1 5.8-13 13-13zM73.2 63.8l1.3-11.4c2.9.5 5.1 2.9 5.1 5.6 0 3.2-2.9 5.8-6.4 5.8zM25.9 63.8c-3.5 0-6.4-2.6-6.4-5.8 0-2.8 2.2-5.1 5.1-5.6l1.3 11.4zM68.7 44.9c-6.6-.7-12.9-1-19-1s-12.5.3-19 1c-2.2.2-3.8 2.2-3.5 4.3l2 19.4c.2 1.8 1.6 3.3 3.5 3.5 5.6.7 11.3 1 17.1 1s11.5-.3 17.1-1c1.8-.2 3.3-1.7 3.5-3.5l2-19.4c0-2.2-1.5-4.1-3.7-4.3zM38.6 62.5c-1.6 0-2.8-1.6-2.8-3.7s1.3-3.7 2.8-3.7 2.8 1.6 2.8 3.7-1.2 3.7-2.8 3.7zm16.7 4.1c0 .2-.1.4-.2.5-.1.1-.3.2-.5.2h-9.9c-.2 0-.4-.1-.5-.2-.1-.1-.2-.3-.2-.5v-1.8c0-.4.3-.7.7-.7h.2c.4 0 .7.3.7.7v.9h8.1v-.9c0-.4.3-.7.7-.7h.2c.4 0 .7.3.7.7v1.8zm5.3-4.1c-1.6 0-2.8-1.6-2.8-3.7s1.3-3.7 2.8-3.7 2.8 1.6 2.8 3.7-1.2 3.7-2.8 3.7z" + } + }, + bot_training: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M54.6 61c-1 .4-2 .7-3.2.8-7.3.8-13.4-4.9-13.4-12 0-1.2.2-2.4.5-3.6.2-.5.8-.6 1.1-.3l6.8 6.8c.5.5 1.3.5 1.9 0l4.8-4.8c.5-.5.5-1.3 0-1.9l-6.8-6.8c-.3-.4-.2-1 .3-1.1 1.1-.3 2.3-.5 3.5-.5 7.1 0 12.8 6.1 12 13.4-.1 1.1-.4 2.1-.8 3.2l12.6 12.6c3.9-4.6 6.2-10.5 6.2-16.8C80 34.5 66.6 22.3 50 22.3c-16.7 0-30 12.3-30 27.4 0 4.8 1.4 9.3 3.6 13.3.4.6.5 1.4.3 2.1L20 75.8c-.4 1 .6 1.9 1.6 1.6l10.9-4.1c.6-.3 1.4-.1 2.1.3 4.5 2.5 9.9 4 15.7 4 6-.1 11.6-1.8 16.3-4.6l-12-12z" + } + }, + branch_merge: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M26.5 70.5c3.4-7 9.4-12 16.3-14.5 2.6-1 5.3-1.6 7.9-1.9h4.4v13.6c0 1.1 1.2 1.7 2.2 1L78.5 51c.8-.6.8-2 0-2.5L57.3 31.2c-.8-.6-2.2 0-2.2 1v13.7h-4.4c-2.7-.3-5.5-1-7.9-1.9-6.8-2.6-12.9-7.5-16.3-14.5-.4-1-1.6-1.4-2.6-1l-3.8 1.6c-1.1.5-1.4 1.6-.8 2.7 3.6 7.6 9.4 13.5 16.2 17.2-6.9 3.7-12.6 9.6-16.2 17.3-.5 1.1-.4 2.2.8 2.7l3.8 1.6c1 .4 2.2-.1 2.6-1.1z" + } + }, + brand: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M79.4 39.1C76.5 27.2 64 20 50.2 20 33.5 20 20 33.4 20 50s13.5 30 30.3 30c23.2 0 21.4-11.8 14-16.4-4.4-2.8-6.8-9.1-2.4-13.6 8.1-8.4 21.2 5 17.5-10.9zM33.7 60c-3.5 0-6.3-2.8-6.3-6.2s2.8-6.2 6.3-6.2 6.2 2.8 6.2 6.2-2.7 6.2-6.2 6.2zM35 36.2c0-3.5 2.8-6.2 6.2-6.2 3.5 0 6.2 2.8 6.2 6.2s-2.8 6.2-6.2 6.2c-3.5.1-6.2-2.6-6.2-6.2zm13.7 36.3c-3.5 0-6.2-2.8-6.2-6.2s2.8-6.2 6.2-6.2c3.5 0 6.2 2.8 6.2 6.2s-2.7 6.2-6.2 6.2zM60 40c-3.5 0-6.2-2.8-6.2-6.2s2.8-6.2 6.2-6.2c3.5 0 6.2 2.8 6.2 6.2S63.5 40 60 40z" + } + }, + bundle_config: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M37 20H26a6.07 6.07 0 00-6 6.14v10.24a6.07 6.07 0 006 6.14h11a6.07 6.07 0 006-6.14V26.13A6.07 6.07 0 0037 20zm-5 16.38h-1a5.13 5.13 0 010-10.25h1a5.13 5.13 0 110 10.25zM55 42.52h11a6.07 6.07 0 006-6.14V26.13A6.08 6.08 0 0066 20H55a6.07 6.07 0 00-6 6.14v10.24a6.07 6.07 0 006 6.14zm5-16.39h1a5.13 5.13 0 010 10.25h-1a5.13 5.13 0 010-10.25zM37 48.66H26a6.08 6.08 0 00-6 6.15V65a6.09 6.09 0 006 6.16h11A6.09 6.09 0 0043 65V54.81a6.08 6.08 0 00-6-6.15zM32 65h-1a5.12 5.12 0 010-10.19h1A5.12 5.12 0 0132 65zM79.1 61.33c-.78-.13-1.56-.13-2.35-.26a.29.29 0 01-.26-.27 26.06 26.06 0 00-1-2.53v-.4c.39-.67 1-1.34 1.43-2a1 1 0 00-.13-1.33l-2.6-2.67a1 1 0 00-.65-.26 2.16 2.16 0 00-.65.26c-.66.4-1.31 1.07-2 1.47a.13.13 0 00-.13.13h-.13c-.91-.26-1.56-.8-2.47-1.06a.27.27 0 01-.26-.27c-.13-.8-.13-1.47-.26-2.27A1.1 1.1 0 0067 48.8a.4.4 0 00-.26-.14h-3.8a1.15 1.15 0 00-.65.14c-.26.26-.66.66-.66 1.06a13.38 13.38 0 01-.26 2.27.29.29 0 01-.26.27c-.91.26-1.56.8-2.47 1.06h-.13c-.13 0-.13 0-.26-.13-.64-.52-1.31-1-2-1.47a.76.76 0 00-.65-.26c-.39 0-.39.13-.78.26l-2.6 2.67a1 1 0 00-.13 1.33c.39.67 1 1.21 1.43 2a.25.25 0 010 .35c-.26.93-.78 1.6-1 2.53a.29.29 0 01-.26.27c-.79.13-1.44.13-2.22.26a1.11 1.11 0 00-1 .8v4.55a2.13 2.13 0 001 .8 12.69 12.69 0 012.22.26.28.28 0 01.26.27c.26.93.78 1.6 1 2.53 0 .14.13.27 0 .4-.39.67-1 1.34-1.43 2a1 1 0 00.13 1.34l2.6 2.66c.26.27.39.27.78.27a2 2 0 00.65-.27 21.65 21.65 0 012-1.46c.13 0 .13-.14.26-.14h.13c.91.27 1.56.8 2.47 1.07a.27.27 0 01.26.27c.13.8.13 1.6.26 2.4s.4.93 1 .93h3.78c.66 0 .92-.27 1-.93s.13-1.6.26-2.4a.27.27 0 01.33-.22 25.57 25.57 0 002.47-1.07h.13a.13.13 0 01.13.13c.65.4 1.3 1.06 2 1.46a1 1 0 00.65.27c.26 0 .39-.13.78-.27l2.6-2.66a1.06 1.06 0 00.13-1.34c-.39-.66-1-1.2-1.43-2a.25.25 0 010-.35c.26-.93.78-1.6 1-2.53a.28.28 0 01.26-.27c.79-.13 1.57-.13 2.35-.26s.91-.4.91-1.07v-3.77c.02-.94-.23-1.2-.88-1.34zm-14.47 9.08a5.84 5.84 0 01-5.86-5.8v-.21a5.87 5.87 0 0111.73 0 6.18 6.18 0 01-5.87 6.01z" + } + }, + bundle_policy: { + "xmlns": "http://www.w3.org/2000/svg", + "rect": { + "x": "59.5", + "y": "45.5", + "width": "13", + "height": "22", + "rx": "2", + "transform": "rotate(-45 66.003 56.5)" + }, + "path": { + "d": "M53.06 66.2L45.28 74a3 3 0 000 4.24 3 3 0 004.24 0l7.77-7.78a3 3 0 10-4.24-4.24zM77 74H65a3 3 0 000 6h12a3 3 0 000-6zM36 20H26a6 6 0 00-6 6v7a6 6 0 006 6h10a6 6 0 006-6v-7a6 6 0 00-6-6zm-3.5 13h-3a3.5 3.5 0 010-7h3a3.5 3.5 0 010 7zM54 39h10a6 6 0 006-6v-7a6 6 0 00-6-6H54a6 6 0 00-6 6v7a6 6 0 006 6zm3.5-13h3a3.5 3.5 0 010 7h-3a3.5 3.5 0 010-7zM36 45H26a6 6 0 00-6 6v7a6 6 0 006 6h10a6 6 0 006-6v-7a6 6 0 00-6-6zm-3.5 13h-3a3.5 3.5 0 010-7h3a3.5 3.5 0 010 7z", + "fill-rule": "evenodd" + } + }, + business_hours: { + "xmlns": "http://www.w3.org/2000/svg", + "path": [{ + "d": "M48.1 35.3h3.2c.9 0 1.6.7 1.6 1.6v14c0 .4-.2.8-.4 1.2l-9 9c-.6.6-1.6.6-2.2 0l-2.2-2.2c-.6-.6-.6-1.6 0-2.2l7.5-7.6V37c-.1-.8.5-1.6 1.4-1.7h.1z" + }, { + "d": "M84.5 49.2h-4.8c0-.3-.1-.7-.1-1.1-1.3-16.4-15.6-28.7-32-27.5-16.4 1.3-28.7 15.6-27.5 32C21.3 68.1 34 80 49.5 80.2c8.4.2 16.5-3.3 22.2-9.4.5-.5 1-1 .4-1.6l-2.6-3.1c-.9-1.1-1.7-.6-2.4.1-5 5.5-12.4 8.3-19.8 7.5-10.3-1-19.9-10.6-21-20.7-1.3-12.9 8.1-24.5 21-25.8s24.5 8.1 25.8 21H73c.1.4.1.7.1 1.1h-4.7c-.9 0-1.6.7-1.6 1.6 0 .4.1.7.3 1l8 9.7c.7.7 1.8.7 2.5 0l8-9.7c.6-.6.6-1.6 0-2.2-.3-.3-.7-.5-1.1-.5z" + }] + }, + buyer_account: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "path": [{ + "d": "M61.8 65.5h13.3c.4 0 .8-.3.8-.7l2.4-8.6c.2-.6-.3-1.1-.8-1.1H57l-.3-1.3c-.2-.6-.7-1-1.3-1h-2.2c-.7 0-1.4.6-1.4 1.3-.1.8.6 1.4 1.3 1.4h1.3l1.2 4 3 10.3c.2.6.7 1 1.3 1h15.6c.7 0 1.4-.6 1.4-1.3.1-.8-.6-1.4-1.3-1.4H61.8c-.6 0-1.1-.4-1.3-.9v-.1c-.2-.8.4-1.6 1.3-1.6z" + }, { + "d": "M61.1 19.9h-39c-2.2 0-2.5 2.3-2.5 2.5v49.5c.1 1.3.9 3.3 4.4 3.3h28.3c3.2 0 3-2.1 2.8-2.9L55 72l-.3-1.1-.2-.6L51.4 60c-.2-.7-1-1-1-1-.5-.3-1-.6-1.3-1-1-1.1-1.5-2.6-1.4-4 .2-2.8 2.6-5 5.4-5h2.2c1.5 0 2.8.6 3.8 1.6l.1.1c.2.2.6.5 1.2.5h1.4c1.3 0 1.4-1.4 1.5-1.8l.1-10.5V23c.1-2.4-1.6-3.1-2.3-3.1zM32.4 67.1c0 1.3-1 2.3-2.3 2.3h-2.3c-1.3 0-2.3-1-2.3-2.3v-2.3c0-1.3 1-2.3 2.3-2.3h2.3c1.3 0 2.3 1 2.3 2.3v2.3zm0-11.9c0 1.3-1 2.3-2.3 2.3h-2.3c-1.3 0-2.3-1-2.3-2.3v-2.3c0-1.3 1-2.3 2.3-2.3h2.3c1.3 0 2.3 1 2.3 2.3v2.3zm0-11.7c0 1.3-1 2.3-2.3 2.3h-2.3c-1.3 0-2.3-1-2.3-2.3v-2.3c0-1.3 1-2.3 2.3-2.3h2.3c1.3 0 2.3 1 2.3 2.3v2.3zm0-11.8c0 1.3-1 2.3-2.3 2.3h-2.3c-1.3 0-2.3-1-2.3-2.3v-2.3c0-1.3 1-2.3 2.3-2.3h2.3c1.3 0 2.3 1 2.3 2.3v2.3zm12.7 35.4c0 1.3-1 2.3-2.3 2.3h-2.3c-1.3 0-2.3-1-2.3-2.3v-2.3c0-1.3 1-2.3 2.3-2.3h2.3c1.3 0 2.3 1 2.3 2.3v2.3zm0-11.9c0 1.3-1 2.3-2.3 2.3h-2.3c-1.3 0-2.3-1-2.3-2.3v-2.3c0-1.3 1-2.3 2.3-2.3h2.3c1.3 0 2.3 1 2.3 2.3v2.3zm0-11.7c0 1.3-1 2.3-2.3 2.3h-2.3c-1.3 0-2.3-1-2.3-2.3v-2.3c0-1.3 1-2.3 2.3-2.3h2.3c1.3 0 2.3 1 2.3 2.3v2.3zm0-11.8c0 1.3-1 2.3-2.3 2.3h-2.3c-1.3 0-2.3-1-2.3-2.3v-2.3c0-1.3 1-2.3 2.3-2.3h2.3c1.3 0 2.3 1 2.3 2.3v2.3zm12.7 11.8c0 1.3-1 2.3-2.3 2.3h-2.3c-1.3 0-2.3-1-2.3-2.3v-2.3c0-1.3 1-2.3 2.3-2.3h2.3c1.3 0 2.3 1 2.3 2.3v2.3zm0-11.8c0 1.3-1 2.3-2.3 2.3h-2.3c-1.3 0-2.3-1-2.3-2.3v-2.3c0-1.3 1-2.3 2.3-2.3h2.3c1.3 0 2.3 1 2.3 2.3v2.3z" + }], + "circle": [{ + "cx": "62.1", + "cy": "75.8", + "r": "2.2" + }, { + "cx": "72.9", + "cy": "75.8", + "r": "2.2" + }] + } + }, + buyer_group: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "circle": [{ + "cx": "58.7", + "cy": "76.7", + "r": "2.2" + }, { + "cx": "69.5", + "cy": "76.7", + "r": "2.2" + }], + "path": [{ + "d": "M37.3 43.1c-1.5-2.4-2.4-5.2-2.4-8.3 0-5.2 2.2-9.6 5.7-12.2-1.3-2.2-3.5-3.6-6.6-3.6-5.1 0-7.9 4.1-7.9 8.8 0 2.6.9 4.7 2.6 6.3 1 .9 1.8 2 1.8 3.3 0 1.2-.4 2.3-3.3 3.5-4.1 1.9-7.9 4.2-8 8.1 0 2.6 1.7 4.4 4.1 4.4h3.8c.6 0 1.2-.4 1.5-.9 1.9-3.3 5.3-5.5 8.2-6.9.7-.5 1.1-1.7.5-2.5zM58.4 66.4h13.3c.4 0 .8-.3.8-.7l2.4-8.6c.2-.6-.3-1.1-.8-1.1H53.6l-.3-1.3c-.2-.6-.7-1-1.3-1h-2.2c-.7 0-1.4.6-1.4 1.3-.1.8.6 1.4 1.3 1.4H51l1.2 4 3 10.3c.2.6.7 1 1.3 1h15.6c.7 0 1.4-.6 1.4-1.3.1-.8-.6-1.4-1.3-1.4H58.4c-.6 0-1.1-.4-1.3-.9V68c-.2-.8.4-1.6 1.3-1.6z" + }, { + "d": "M48.4 61.6l-.4-1.5c-.9-.3-1.6-.8-2.2-1.5-.9-1.1-1.4-2.4-1.3-3.8.1-2.8 2.6-5 5.4-5H52c1.8 0 3.4.9 4.4 2.3h5.7c-1.6-1.1-3.5-2-5.4-2.8-3.2-1.3-3.6-2.6-3.6-3.9 0-1.3.9-2.6 1.9-3.6 1.9-1.7 2.9-4.1 2.9-7 0-5.2-3.2-9.7-8.8-9.7s-8.8 4.5-8.8 9.7c0 2.8 1.1 5.2 2.9 7 1.1 1 1.9 2.3 1.9 3.6 0 1.3-.5 2.6-3.6 3.9-4.8 1.9-9.2 4.2-9.3 8.5 0 2.8 2 5.3 4.7 5.3h11.8l-.3-1.5z" + }, { + "d": "M63.1 34.8c0 3.1-.8 5.9-2.4 8.3-.6.9-.3 2 .7 2.6 2.8 1.3 6 3.3 7.9 6.4h4.8c1 0 1.9.3 2.7.9 1.3-.7 2.1-2.1 2.1-3.9-.1-3.9-3.9-6.3-8-8.2-2.9-1.2-3.3-2.4-3.3-3.5 0-1.2.8-2.4 1.8-3.3 1.7-1.6 2.6-3.7 2.6-6.3 0-4.8-2.8-8.8-7.9-8.8-3.1 0-5.3 1.4-6.6 3.6 3.4 2.6 5.6 6.9 5.6 12.2z" + }] + } + }, + calculated_insights: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M72.51 26a7.5 7.5 0 00-6 12l-6.24 11a5 5 0 00-.77 0 7.5 7.5 0 00-3.76 1l-7.93-5.84A7.1 7.1 0 0048 42.5a7.5 7.5 0 10-13.41 4.59L28.14 59h-.64a7.5 7.5 0 105.91 2.88L39.86 50h.64a7.47 7.47 0 003.75-1l7.93 5.84A7.67 7.67 0 0052 56.5 7.5 7.5 0 1065.49 52l6.24-11h.77a7.5 7.5 0 000-15zM72.5 26h.01-.01z" + } + }, + calibration: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M31.9 49.7c-.6.1-1.2.1-1.9.1-.6 0-1.2 0-1.9-.1-.6-.1-1.1.4-1.1 1V78c0 1.1.9 2 2 2h2c1.1 0 2-.9 2-2V50.7c0-.7-.5-1.1-1.1-1zM51.9 70.7c-.6.1-1.2.1-1.9.1-.6 0-1.2 0-1.9-.1-.6-.1-1.1.4-1.1 1V78c0 1.1.9 2 2 2h2c1.1 0 2-.9 2-2v-6.3c0-.7-.5-1.1-1.1-1zM71.9 55.7c-.6.1-1.2.1-1.9.1-.6 0-1.2 0-1.9-.1-.6-.1-1.1.4-1.1 1V78c0 1.1.9 2 2 2h2c1.1 0 2-.9 2-2V56.7c0-.7-.5-1.1-1.1-1zM33 30.7V22c0-1.1-.9-2-2-2h-2c-1.1 0-2 .9-2 2v8.7c-2.4 1.1-4 3.5-4 6.3 0 3.9 3.1 7 7 7s7-3.1 7-7c0-2.8-1.6-5.2-4-6.3zM53 51.7V22c0-1.1-.9-2-2-2h-2c-1.1 0-2 .9-2 2v29.7c-2.4 1.1-4 3.5-4 6.3 0 3.9 3.1 7 7 7s7-3.1 7-7c0-2.8-1.6-5.2-4-6.3zM73 36.7V22c0-1.1-.9-2-2-2h-2c-1.1 0-2 .9-2 2v14.7c-2.4 1.1-4 3.5-4 6.3 0 3.9 3.1 7 7 7s7-3.1 7-7c0-2.8-1.6-5.2-4-6.3z" + } + }, + call: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M77.7 63.9l-6.2-5a6.002 6.002 0 00-7.3-.2L58.3 63c-.8.6-1.899.5-2.6-.2L46 54l-8.9-9.8c-.7-.7-.8-1.8-.2-2.6l4.3-5.9c1.6-2.2 1.5-5.2-.2-7.3l-5-6.2c-2.2-2.8-6.4-3-8.9-.5l-5.4 5.4c-1.2 1.2-1.8 2.9-1.8 4.5.7 12.7 6.5 24.8 15 33.3s20.5 14.3 33.3 15c1.7.1 3.3-.601 4.5-1.801l5.4-5.399c2.7-2.4 2.4-6.6-.4-8.8z" + } + }, + call_coaching: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M41.8 20c2.9 0 5.3 2.6 4.9 5.5l-.7 6.6c-.3 2.2-2 4-4.2 4.4l-6 .9c-.8.1-1.4.8-1.4 1.6v21.9c0 .8.6 1.5 1.4 1.7l6 .9c2.3.3 4 2.2 4.2 4.4l.8 6.6c.4 2.9-1.9 5.6-4.9 5.4h-6.4c-1.4 0-2.8-.5-3.7-1.6C24.6 70.4 21 59.9 21 49.9s3.7-20.5 10.7-28.3c.9-1 2.3-1.6 3.7-1.6zm18.5 12.9c1.1 0 1.9.8 1.9 1.9v30.8c0 1.1-.9 1.9-1.9 1.9-1 0-1.9-.8-1.9-1.9V34.8c0-1 .8-1.9 1.9-1.9zm-8.5 7.3c1.1 0 1.9.8 1.9 1.9v16.2c0 1-.9 1.9-1.9 1.9-1 0-1.9-.8-1.9-1.9V42.1c0-1 .8-1.9 1.9-1.9zm17.2 0c1.1 0 1.9.8 1.9 1.9v15.7c0 1-.9 1.8-1.9 1.8-1 0-1.9-.8-1.9-1.9V42.1c0-1 .8-1.9 1.9-1.9zm8.9 5.6c1.1 0 1.9.8 1.9 1.9v3.6c0 1.1-.8 1.9-1.9 1.9-1 0-1.9-.8-1.9-1.9v-3.6c0-1 .8-1.9 1.9-1.9z" + } + }, + call_history: { + "xmlns": "http://www.w3.org/2000/svg", + "path": [{ + "d": "M28.1 48c-.1.7-.1 1.3-.1 2h-6c0-.7 0-1.3.1-2h6z" + }, { + "d": "M50 22c-14.8 0-26.9 11.5-27.9 26 0 .3-.1.7-.1 1h-4.5c-1.3 0-2 1.5-1.2 2.4l7.5 9.1c.6.7 1.7.7 2.3 0l7.5-9.1c.8-1 .1-2.4-1.2-2.4H28v-1c1-11.2 10.5-20 21.9-20 13 0 23.3 11.3 21.9 24.5-1 9.5-10 18.5-19.6 19.4-7.1.7-13.8-1.9-18.5-7-.6-.7-1.4-1.1-2.2-.1l-2.4 2.9c-.5.6-.1 1 .4 1.5 5.4 5.7 12.8 8.9 20.8 8.8 14.4-.2 26.5-11.6 27.5-26C79.1 35.7 66.1 22 50 22z" + }, { + "d": "M47.2 42.8c.7-.9.7-2.2-.1-3.2L45 37c-1-1.2-2.8-1.3-3.9-.2l-2.4 2.4c-.5.5-.8 1.2-.8 2 .3 5.5 2.8 10.8 6.5 14.4s8.9 6.2 14.4 6.5c.7 0 1.5-.2 2-.8l2.4-2.4c1.1-1.1 1-2.9-.2-3.9l-2.7-2.1c-.9-.7-2.2-.8-3.2-.1l-2.6 1.9c-.3.3-.8.2-1.1-.1l-4.2-3.8-3.8-4.2c-.3-.3-.3-.8-.1-1.1l1.9-2.7z" + }] + }, + campaign: { + "xmlns": "http://www.w3.org/2000/svg", + "path": [{ + "d": "M50 20c-16.5 0-30 13.5-30 30s13.5 30 30 30 30-13.5 30-30-13.5-30-30-30zm0 54c-13.2 0-24-10.8-24-24s10.8-24 24-24 24 10.8 24 24-10.8 24-24 24z" + }, { + "d": "M50 32c-9.9 0-18 8.1-18 18s8.1 18 18 18 18-8.1 18-18-8.1-18-18-18zm0 30c-6.6 0-12-5.4-12-12s5.4-12 12-12 12 5.4 12 12-5.4 12-12 12z" + }, { + "d": "M50 44c-3.3 0-6 2.7-6 6s2.7 6 6 6 6-2.7 6-6-2.7-6-6-6z" + }] + }, + campaign_members: { + "xmlns": "http://www.w3.org/2000/svg", + "path": [{ + "fill-opacity": ".65", + "d": "M100 62v38H62l38-38zm-7.8 27.6c-1.3-.5-1.5-1-1.5-1.6 0-.5.4-1 .8-1.4.8-.7 1.2-1.6 1.2-2.7 0-2.1-1.3-3.8-3.7-3.8s-3.7 1.8-3.7 3.8c0 1.1.4 2.1 1.2 2.7.4.4.8.9.8 1.4s-.2 1-1.5 1.6c-1.9.8-3.8 1.7-3.8 3.4 0 1.1.9 2.1 2 2.1h10c1.1 0 2-1 2-2.1 0-1.8-1.9-2.7-3.8-3.4z" + }, { + "d": "M50 20c-16.5 0-30 13.5-30 30s13.5 30 30 30 30-13.5 30-30-13.5-30-30-30zm0 54c-13.2 0-24-10.8-24-24s10.8-24 24-24 24 10.8 24 24-10.8 24-24 24z" + }, { + "d": "M50 32c-9.9 0-18 8.1-18 18s8.1 18 18 18 18-8.1 18-18-8.1-18-18-18zm0 30c-6.6 0-12-5.4-12-12s5.4-12 12-12 12 5.4 12 12-5.4 12-12 12z" + }, { + "d": "M50 44c-3.3 0-6 2.7-6 6s2.7 6 6 6 6-2.7 6-6-2.7-6-6-6z" + }] + }, + cancel_checkout: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M67.643 52C76.698 52 84 59.608 84 68.566a16.5 16.5 0 11-16.357-16.564zm8.457 6.346a1 1 0 00-1.414 0l-7.29 7.296-6.893-6.91v-.002l-.095-.083a1 1 0 00-1.32.083L57.43 60.39a1 1 0 00-.001 1.413l6.895 6.913-6.854 6.848-.084.094a1 1 0 00.083 1.32l1.665 1.665a1 1 0 001.414 0l6.855-6.855 7.25 7.263v.001l.095.084a.999.999 0 001.32-.084l1.658-1.658c.39-.391.39-1.024 0-1.415l-7.25-7.263 7.289-7.29a1 1 0 000-1.414L76.1 58.346zM40.8 67a5.8 5.8 0 110 11.6 5.8 5.8 0 010-11.6zM23.045 15c1.47 0 2.825 1.012 3.277 2.475l.904 3.15h51.527c1.469 0 2.599 1.35 2.146 2.813l-6.102 21.375c-.11.496-.385.912-.755 1.206a23.176 23.176 0 00-6.514-.929c-2.801 0-5.491.498-7.987 1.41H39.317c-2.147 0-3.842 2.138-3.05 4.275v.113c.338 1.35 1.694 2.362 3.163 2.362h10.36A23.535 23.535 0 0045.705 60H34.458c-1.582 0-2.825-1.013-3.277-2.475L20.56 21.75h-3.164c-1.921 0-3.503-1.688-3.39-3.6.113-1.8 1.808-3.15 3.616-3.15z" + } + }, + canvas: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M73.9 65.9c-.2 3.4-.6 7.1-1.2 10.6-.2 1.1-1.2 2.1-2.3 2.2-6.8.9-13.6 1.3-20.4 1.3-6.7 0-13.5-.4-20.2-1.3-1.1-.1-2.1-1.2-2.3-2.2-1-5.6-1.5-11.3-1.5-16.9 0-5.7.5-11.4 1.4-16.9.2-1.1 1.2-2.1 2.3-2.3 4.1-.5 8.2-.8 12.2-1 0 0 3.3-.2 3.1-3.2-.2-2.8-5-4.6-5-9.4 0-3.8 3.8-6.8 9.9-6.8 6.1 0 9.9 3.1 9.9 6.8 0 4.7-4.7 6.6-4.9 9.4-.2 3.1 3 3.2 3 3.2 4.1.2 8.3.5 12.4 1 1.1.2 2.1 1.2 2.3 2.3.7 3.9 1.1 7.4 1.3 11.2.1 1.1-.9 2-2.1 2-.4 0-.7-.1-1.1-.1-1.2 0-2.9-.7-3.7-1.6 0 0-2.7-2.7-5.5-2.7-4.6-.1-8.2 4.1-8.2 8.5s3.5 8.6 8.1 8.5c2.8-.1 5.5-2.9 5.5-2.9.9-.8 2.5-1.6 3.7-1.6.4-.1.7-.1 1.1-.1 1.4.1 2.3 1 2.2 2z" + } + }, + capacity_plan: { + "xmlns": "http://www.w3.org/2000/svg", + "path": [{ + "d": "M39 32h22a2 2 0 002-2v-4a6 6 0 00-6-6H43a6 6 0 00-6 6v4a2 2 0 002 2zM49.8 48.4v11.4h10.7a9.88 9.88 0 00-3.1-7.8c-3.7-3.8-7.6-3.6-7.6-3.6z" + }, { + "d": "M72 25h-2a.94.94 0 00-1 1v4a8 8 0 01-8 8H39a8 8 0 01-8-8v-4a.94.94 0 00-1-1h-2a6 6 0 00-6 6v43a6 6 0 006 6h44a6 6 0 006-6V31a6 6 0 00-6-6zm-7.1 34.3a14.9 14.9 0 11-14.8-15 14.94 14.94 0 0114.8 15z" + }] + }, + care_request_reviewer: { + "xmlns": "http://www.w3.org/2000/svg", + "path": [{ + "d": "M73.3 69.4c-2.3-.9-2.6-1.8-2.6-2.8a3.59 3.59 0 011.4-2.6 6.42 6.42 0 002.1-5c0-3.8-2.3-7-6.3-7s-6.3 3.2-6.3 7a6.78 6.78 0 002.1 5 3.59 3.59 0 011.4 2.6c0 1-.3 1.9-2.6 2.9-3.3 1.5-6.4 3.3-6.5 6.3 0 2 1.5 4.1 3.4 4.1h17.2c1.9 0 3.4-2.1 3.2-4.1-.1-3-3.2-5-6.5-6.4z" + }, { + "d": "M52 75.8v-.2c.2-5.4 5.2-8.1 8.2-9.5a10.53 10.53 0 01-2.6-7.1 12.59 12.59 0 01.84-4.6H50.1a1.22 1.22 0 01-1.2-1.2v-2.3a1.22 1.22 0 011.2-1.2h12a10.58 10.58 0 0111.15-.22V25.6A5.59 5.59 0 0067.7 20H32.3a5.59 5.59 0 00-5.6 5.6v44.8a5.59 5.59 0 005.6 5.6H52v-.2zm-3.1-40.9a1.22 1.22 0 011.2-1.2h15.2a1.22 1.22 0 011.2 1.2v2.3a1.13 1.13 0 01-1.1 1.2H50.1a1.22 1.22 0 01-1.2-1.2zm-4.1 20.5a.91.91 0 010 1.2l-1.2 1.2a.91.91 0 01-1.2 0L39 54.4l-3.3 3.3a.91.91 0 01-1.2 0l-1.2-1.2a.91.91 0 010-1.2l3.3-3.3-3.3-3.3a.91.91 0 010-1.2l1.2-1.2a.91.91 0 011.2 0l3.3 3.3 3.4-3.4a.91.91 0 011.2 0l1.2 1.2a.91.91 0 010 1.2L41.4 52zm2.8-24.3l-9 9a1.66 1.66 0 01-1.2.5 1.58 1.58 0 01-1.2-.5l-4.3-4.3a.75.75 0 010-1.2l1.2-1.2a.75.75 0 011.2 0l3.1 3.1 7.7-7.7a.75.75 0 011.2 0l1.2 1.2c.3.4.3 1 .1 1.1z" + }] + }, + carousel: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M76.26 37.7h-2.69v26.93h2.69A3.75 3.75 0 0080 60.89V41.44a3.75 3.75 0 00-3.74-3.74zM20 41.44v19.45a3.75 3.75 0 003.74 3.74h2.69V37.7h-2.69A3.75 3.75 0 0020 41.44zM66.46 34.33H33.54a3.75 3.75 0 00-3.74 3.74v26.19A3.75 3.75 0 0033.54 68h32.92a3.75 3.75 0 003.74-3.74V38.07a3.75 3.75 0 00-3.74-3.74zm-5.57 26.94H37.77a1.21 1.21 0 01-1-1.83l7-12.19a.75.75 0 011.35 0l4.23 7.26a.81.81 0 001.35.07l3.44-4.94a.8.8 0 011.35 0l6.28 10a1 1 0 01-.88 1.63zm-.6-14.36a3.18 3.18 0 113.18-3.18 3.18 3.18 0 01-3.18 3.17z" + } + }, + case: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M38 29h4c.6 0 1-.4 1-1v-3h14v3c0 .6.4 1 1 1h4c.6 0 1-.4 1-1v-3c0-3.3-2.7-6-6-6H43c-3.3 0-6 2.7-6 6v3c0 .6.4 1 1 1zM74 35H26c-3.3 0-6 2.7-6 6v32c0 3.3 2.7 6 6 6h48c3.3 0 6-2.7 6-6V41c0-3.3-2.7-6-6-6z" + } + }, + case_change_status: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M38 30h4c.6 0 1-.4 1-1v-3h14v3c0 .6.4 1 1 1h4c.6 0 1-.4 1-1v-3c0-3.3-2.7-6-6-6H43c-3.3 0-6 2.7-6 6v3c0 .6.4 1 1 1zM74 36H26c-3.3 0-6 2.7-6 6v32c0 3.3 2.7 6 6 6h48c3.3 0 6-2.7 6-6V42c0-3.3-2.7-6-6-6zM58.5 58.1L48 70.7c-.6.6-1.6.1-1.4-.7l2.6-9h-6.9c-.8 0-1.4-.8-1.1-1.6l4.2-10.8c.4-.9 1.2-1.5 2.2-1.5h8.3c.9 0 1.5.9 1 1.7L52.4 56h5.2c1 0 1.6 1.3.9 2.1z" + } + }, + case_comment: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M38 30h4c.6 0 1-.4 1-1v-3h14v3c0 .6.4 1 1 1h4c.6 0 1-.4 1-1v-3c0-3.3-2.7-6-6-6H43c-3.3 0-6 2.7-6 6v3c0 .6.4 1 1 1zM74 36H26c-3.3 0-6 2.7-6 6v32c0 3.3 2.7 6 6 6h48c3.3 0 6-2.7 6-6V42c0-3.3-2.7-6-6-6zM50.9 68c-2.3 0-4.4-.6-6.2-1.6-.2-.1-.4-.1-.7-.1L40 68c-.6.2-1.2-.4-1-1l1.7-4.1c.1-.2 0-.5-.1-.6-1-1.6-1.5-3.4-1.5-5.4 0-6.1 5.3-11 11.8-11s11.8 4.9 11.8 11c0 6.2-5.3 11.1-11.8 11.1z" + } + }, + case_email: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M38 30h4c.6 0 1-.4 1-1v-3h14v3c0 .6.4 1 1 1h4c.6 0 1-.4 1-1v-3c0-3.3-2.7-6-6-6H43c-3.3 0-6 2.7-6 6v3c0 .6.4 1 1 1zM74 36H26c-3.3 0-6 2.7-6 6v32c0 3.3 2.7 6 6 6h48c3.3 0 6-2.7 6-6V42c0-3.3-2.7-6-6-6zM37.9 47.1h24.3c.8 0 .9.7.7 1.1L50.6 59.6c-.3.3-.8.3-1.2 0L37.2 48.3c-.5-.6 0-1.2.7-1.2zM63 64c0 1.4-1.6 3-3 3H40c-1.4 0-3-1.6-3-3V53.1c0-.6.7-.9 1.1-.5l9.6 8.9c.6.6 1.5.9 2.3.9s1.7-.3 2.3-.9l9.5-8.9c.4-.4 1.1-.2 1.1.3.1.9.1 10.8.1 11.1z" + } + }, + case_log_a_call: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M38 30h4c.6 0 1-.4 1-1v-3h14v3c0 .6.4 1 1 1h4c.6 0 1-.4 1-1v-3c0-3.3-2.7-6-6-6H43c-3.3 0-6 2.7-6 6v3c0 .6.4 1 1 1zM74 36H26c-3.3 0-6 2.7-6 6v32c0 3.3 2.7 6 6 6h48c3.3 0 6-2.7 6-6V42c0-3.3-2.7-6-6-6zM62.3 66.1l-2.2 2.2c-.5.5-1.1.7-1.8.7-5.1-.3-9.9-2.6-13.3-6-3.4-3.4-5.7-8.2-6-13.3 0-.7.2-1.3.7-1.8l2.2-2.2c1-1 2.7-.9 3.6.2l2 2.5c.7.8.7 2 .1 2.9l-1.7 2.4c-.2.3-.2.8.1 1l3.5 3.9 3.9 3.5c.3.3.7.3 1 .1l2.4-1.7c.9-.6 2.1-.6 2.9.1l2.5 2c1 .8 1.1 2.5.1 3.5z" + } + }, + case_milestone: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M73 36H25.1c-3.3 0-6 2.7-6 6v32c0 3.3 2.7 6 6 6H73c3.3 0 6-2.7 6-6V42c0-3.3-2.7-6-6-6zM40.9 48.6v22c0 1-.7 1.9-1.7 1.9h-.1c-1 0-1.8-.9-1.8-1.9v-22c-.6-.6-.9-1.4-.9-2.2-.1-1.5 1-2.8 2.5-2.9s2.8 1 2.9 2.5v.5c0 .7-.3 1.5-.9 2.1zm21.5 13.8c0 .3-.2.6-.4.8-6.9 4.1-10.8-2.4-17.2-.3-.5.1-1-.1-1.2-.6V49.5c0-.4.2-.8.6-.9 6.6-2.6 10.5 4.2 17.5.2.2-.1.5-.1.6.1.1.1.1.2.1.3v13.2zM37.1 30h4c.5 0 1-.4 1-.9V26h14v3c0 .5.4 1 .9 1h4.1c.5 0 1-.4 1-.9V26c0-3.3-2.7-6-6-6h-14c-3.3 0-6 2.7-6 6v3c0 .5.4 1 .9 1h.1z" + } + }, + case_transcript: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M38 30h4c.6 0 1-.4 1-1v-3h14v3c0 .6.4 1 1 1h4c.6 0 1-.4 1-1v-3c0-3.3-2.7-6-6-6H43c-3.3 0-6 2.7-6 6v3c0 .6.4 1 1 1zM74 36H26c-3.3 0-6 2.7-6 6v32c0 3.3 2.7 6 6 6h48c3.3 0 6-2.7 6-6V42c0-3.3-2.7-6-6-6zM61 67c0 1.7-1.3 3-3 3H44c-1.7 0-3-1.3-3-3V48c0-1.7 1.3-3 3-3h7c.6 0 1 .4 1 1v6c0 1.1.9 2 2 2h6c.6 0 1 .4 1 1v12zm0-15.7c0 .4-.3.7-.7.7H56c-1.1 0-2-.9-2-2v-4.3c0-.4.3-.7.7-.7.2 0 .4.1.5.2l5.6 5.6c.1.1.2.3.2.5z" + } + }, + case_wrap_up: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M37.2 30.1h4a.94.94 0 001-1v-3H58v3a.94.94 0 001 1h4a.94.94 0 001-1v-3a6 6 0 00-6-6H42.2a6 6 0 00-6 6v3a.94.94 0 001 1zM74 36.1H26.2a6 6 0 00-6 6v31.8a6 6 0 006 6H74a6 6 0 006-6V42.1a6.15 6.15 0 00-6-6zm-8.7 16.1L47.9 69.6a3.38 3.38 0 01-4.8 0l-8.4-8.4a1.63 1.63 0 010-2.4l2.4-2.4a1.63 1.63 0 012.4 0l6 6 15-15a1.63 1.63 0 012.4 0l2.4 2.4a1.82 1.82 0 010 2.4z" + } + }, + catalog: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M61.8 29.4l8.9 8.9c2 1.9 2 5.1 0 7L47.5 68.4V36.6l7.2-7.2c1.9-2 5.2-2 7.1 0zM80 62.5V75c0 2.8-2.2 5-5 5H43.8l22.5-22.5H75c2.8 0 5 2.3 5 5zm-60 6.3V25c0-2.8 2.2-5 5-5h12.5c2.8 0 5 2.2 5 5v43.8c0 6.2-5 11.2-11.2 11.2S20 75 20 68.8zm11.2 5c2.8 0 5-2.2 5-5s-2.2-5-5-5-5 2.2-5 5 2.3 5 5 5z" + } + }, + category: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M61.8 29.4l8.9 8.9c2 1.9 2 5.1 0 7L47.5 68.4V36.6l7.2-7.3c1.9-1.9 5.2-1.9 7.1.1zM37.5 20H25c-2.8 0-5 2.2-5 5v43.8C20 75 25 80 31.2 80s11.2-5 11.2-11.2V25c.1-2.8-2.2-5-4.9-5zm-6.3 53.8c-2.8 0-5-2.2-5-5s2.2-5 5-5 5 2.2 5 5-2.2 5-5 5zM75 57.5h-8.8l-6 6H74L73.9 74H49.8l-6 6H75c2.8 0 5-2.2 5-5V62.5c0-2.7-2.2-5-5-5z" + } + }, + channel_program_history: { + "xmlns": "http://www.w3.org/2000/svg", + "path": [{ + "d": "M30.7 48.1c1-10.9 10.2-19.4 21.2-19.4 12.6 0 22.6 10.9 21.2 23.7-1 9.2-9.7 17.9-19 18.8-6.9.7-13.4-1.8-17.9-6.8-.6-.7-1.4-1.1-2.1-.1l-2.3 2.8c-.5.6-.1 1 .4 1.5 5.2 5.5 12.4 8.6 20.2 8.5 14-.2 25.7-11.2 26.6-25.2 1.2-15.8-11.4-29-27-29-14.3 0-26.1 11.1-27 25.2 0 .3-.1.7-.1 1h-4.4c-1.3 0-1.9 1.5-1.2 2.3l7.3 8.8c.6.7 1.6.7 2.2 0l7.3-8.8c.8-1 .1-2.3-1.2-2.3h-4.3l.1-1z" + }, { + "d": "M52.1 38.1c-6.5 0-11.9 5.4-11.9 11.9s5.4 11.9 11.9 11.9S64 56.5 64 50s-5.3-11.9-11.9-11.9zm9.5 10.7h-3.1c-.1-2.8-.8-5.3-1.7-7.1 2.6 1.4 4.4 4.1 4.8 7.1zM51 41v7.8h-2.7c.1-3.7 1.3-6.6 2.7-7.8zm0 10.2V59c-1.3-1.1-2.5-4.1-2.7-7.8H51zm2.3 7.8v-7.8H56c-.1 3.7-1.3 6.6-2.7 7.8zm0-10.2V41c1.3 1.1 2.5 4.1 2.7 7.8h-2.7zm-5.7-7.1c-1 1.9-1.5 4.3-1.7 7.1h-3.1c.3-3 2.1-5.7 4.8-7.1zm-4.9 9.5h3.1c.1 2.8.8 5.3 1.7 7.1-2.6-1.4-4.4-4.1-4.8-7.1zm14 7.1c1-1.9 1.5-4.3 1.7-7.1h3.1c-.3 3-2.1 5.7-4.8 7.1z" + }] + }, + channel_program_levels: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "path": { + "d": "M77.9 47.2l-3.7-1.7c-.5-.3-1.2-.3-1.7 0l-11 5.3c1.8-.6 3.7-.9 5.6-.9 3.1 0 6 .8 8.6 2.2l2.1-1c1.7-.9 1.7-3.1.1-3.9zM20.2 36.9L47 49.6c1.2.6 2.7.6 3.9 0l26.9-12.7c1.6-.8 1.6-2.9 0-3.7L50.9 20.5c-1.2-.6-2.7-.6-3.9 0L20.2 33.3c-1.7.7-1.7 2.9 0 3.6zM20.2 50.9L47 63.7c.7.4 1.5.5 2.3.4 1-4.8 3.9-8.8 7.9-11.4l-6.2 3c-1.2.6-2.7.6-3.9 0L25.6 45.5c-.5-.3-1.2-.3-1.7 0l-3.7 1.7c-1.7.8-1.7 2.9 0 3.7zM49 70.2c-.7 0-1.3-.2-1.9-.4L25.5 59.5c-.5-.3-1.2-.3-1.7 0l-3.6 1.7c-1.6.8-1.6 2.9 0 3.7L47 77.7c1.2.6 2.7.6 3.9 0l.6-.3c-1.3-2.2-2.2-4.6-2.5-7.2z" + } + }, + "path": { + "d": "M67.2 56.2c-6.5 0-11.9 5.3-11.9 11.9S60.6 80 67.2 80s11.9-5.3 11.9-11.9-5.4-11.9-11.9-11.9zm9.4 10.7h-3.1c-.1-2.8-.8-5.3-1.7-7.1 2.6 1.5 4.4 4.1 4.8 7.1zM66 59.1v7.8h-2.7c.2-3.7 1.3-6.6 2.7-7.8zm0 10.2v7.8c-1.3-1.1-2.5-4.1-2.7-7.8H66zm2.4 7.8v-7.8h2.7c-.2 3.7-1.4 6.7-2.7 7.8zm0-10.2v-7.8c1.3 1.1 2.5 4.1 2.7 7.8h-2.7zm-5.8-7.1c-1 1.9-1.5 4.3-1.7 7.1h-3.1c.3-3 2.2-5.6 4.8-7.1zm-4.8 9.5h3.1c.1 2.8.8 5.3 1.7 7.1-2.6-1.4-4.5-4-4.8-7.1zm14 7.1c1-1.9 1.5-4.3 1.7-7.1h3.1c-.4 3.1-2.2 5.7-4.8 7.1z" + } + }, + channel_program_members: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M48.7 68.1c0-5.9 2.8-11.2 7.2-14.5-1.3-.6-2.6-1.2-4-1.8-4.3-1.8-4.9-3.4-4.9-5.2 0-1.8 1.2-3.4 2.6-4.7 2.5-2.3 3.9-5.4 3.9-9.1 0-6.9-4.3-12.8-11.9-12.8-7.6 0-11.9 5.9-11.9 12.8 0 3.7 1.4 6.9 3.9 9.1 1.4 1.3 2.6 3 2.6 4.7 0 1.7-.7 3.4-4.9 5.2-6.2 2.6-12.1 5.6-12.2 11.2 0 3.7 2.8 7 6.3 7h22.7c.3 0 .5-.1.7-.1 0-.6-.1-1.2-.1-1.8zM67 56.3c-6.5 0-11.9 5.3-11.9 11.9S60.5 80.1 67 80.1s11.9-5.3 11.9-11.9S73.6 56.3 67 56.3zM76.5 67h-3.1c-.1-2.8-.8-5.3-1.7-7.1 2.5 1.4 4.4 4.1 4.8 7.1zm-10.6-7.8V67h-2.7c.1-3.7 1.3-6.6 2.7-7.8zm0 10.2v7.8c-1.3-1.1-2.5-4.1-2.7-7.8h2.7zm2.3 7.8v-7.8H71c-.2 3.7-1.4 6.6-2.8 7.8zm0-10.2v-7.8c1.3 1.1 2.5 4.1 2.7 7.8h-2.7zm-5.8-7.1c-1 1.9-1.5 4.3-1.7 7.1h-3.1c.4-3 2.2-5.7 4.8-7.1zm-4.8 9.5h3.1c.1 2.8.8 5.3 1.7 7.1-2.6-1.5-4.4-4.1-4.8-7.1zm14 7.1c1-1.9 1.5-4.3 1.7-7.1h3.1c-.3 3-2.2 5.6-4.8 7.1z" + } + }, + channel_programs: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M49 20c-16.5 0-30 13.5-30 30s13.5 30 30 30 30-13.5 30-30-13.5-30-30-30zm23.8 27h-7.9c-.3-7.1-1.9-13.3-4.3-18 6.6 3.7 11.2 10.3 12.2 18zM46 27.3V47h-6.9c.5-9.4 3.5-16.8 6.9-19.7zM46 53v19.7c-3.4-2.9-6.4-10.3-6.9-19.7H46zm6 19.7V53h6.9c-.5 9.4-3.5 16.8-6.9 19.7zM52 47V27.3c3.4 2.9 6.4 10.3 6.9 19.7H52zM37.4 29c-2.4 4.7-3.9 10.9-4.3 18h-7.9c1-7.7 5.6-14.3 12.2-18zM25.2 53h7.9c.3 7.1 1.9 13.3 4.3 18-6.6-3.7-11.2-10.3-12.2-18zm35.4 18c2.4-4.7 3.9-10.9 4.3-18h7.9c-1 7.7-5.6 14.3-12.2 18z" + } + }, + chart: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M36.2 56.4c1.4 3.1 3.9 5.5 7 7 .9.4 1.3 1.3 1.3 2.2v11.5c0 1.6-1.5 2.8-3.1 2.4C31 76.7 22.8 68.5 20 58.1c-.4-1.5.8-3.1 2.4-3.1H34c.9 0 1.8.5 2.2 1.4zM41.5 19.7c1.5-.4 3.1.8 3.1 2.4v11.5c0 .9-.5 1.8-1.3 2.2-3.1 1.4-5.5 3.9-7 7-.4.9-1.3 1.3-2.2 1.3H22.4c-1.6 0-2.8-1.5-2.4-3.1 2.9-10.3 11.1-18.5 21.5-21.3zM80 49.6c0 14.3-9.1 26.4-21.6 29.9-1.5.4-3-.8-3-2.4V65.4c0-1 .5-1.9 1.3-2.4 4.7-2.4 8-7.5 8-13.4s-3.3-11.1-8-13.4c-.8-.4-1.3-1.4-1.3-2.4V22.1c0-1.6 1.5-2.8 3-2.4C70.9 23.2 80 35.3 80 49.6z" + } + }, + checkout: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M65.84 51.69a14.16 14.16 0 11-14.15 14.15 14.2 14.2 0 0114.15-14.15zM43 64.54a5 5 0 11-5 5 5 5 0 015-5zm28-4.46l-7.58 8.49L60 65.14a1 1 0 00-1.42 0l-1.41 1.31a.86.86 0 000 1.32L62 72.52a2 2 0 001.42.6 1.84 1.84 0 001.41-.6l9-9.81a1 1 0 000-1.31l-1.41-1.32a1 1 0 00-1.42 0zM27.75 20a3 3 0 012.8 2.12l.78 2.7h44.13a1.87 1.87 0 011.84 2.41l-5.23 18.3a1.81 1.81 0 01-.65 1 19.75 19.75 0 00-5.58-.8A20 20 0 0059 47H41.68a2.75 2.75 0 00-2.61 3.66v.1a2.82 2.82 0 002.71 2h8.87a20.26 20.26 0 00-3.5 5.78h-9.63a2.9 2.9 0 01-2.8-2.12l-9.1-30.64h-2.71A3 3 0 0120 22.7a3.06 3.06 0 013.1-2.7h4.65z" + } + }, + choice: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "circle": { + "cx": "50", + "cy": "50", + "r": "13.9" + }, + "path": { + "d": "M50 20c-16.5 0-30 13.5-30 30s13.5 30 30 30 30-13.5 30-30-13.5-30-30-30zm0 52c-12.1 0-22-9.9-22-22s9.9-22 22-22 22 9.9 22 22-9.9 22-22 22z" + } + } + }, + client: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "path": [{ + "d": "M44.8 58.3c3.7-2.1 7.2-3.1 11.1-3.1 1.1 0 2.2.1 3.2.2.5.1.6-.1.1-.4-1.9-1.1-4-2.1-6.2-3-4.3-1.8-4.9-3.4-4.9-5.2 0-1.8 1.2-3.4 2.6-4.7 2.5-2.3 3.9-5.4 3.9-9.1 0-6.9-4.3-12.8-11.9-12.8-7.6 0-11.9 5.9-11.9 12.8 0 3.7 1.4 6.9 3.9 9.1 1.4 1.3 2.6 3 2.6 4.7 0 1.7-.7 3.4-4.9 5.2-6.2 2.6-12.1 5.6-12.2 11.2 0 3.7 2.8 7 6.3 7h14.2c1.1 0 2-.9 2-2v-6.5c.1-1.4.8-2.7 2.1-3.4z" + }, { + "d": "M77.3 64.2c-9.4 2.9-16.8-6-27.1-1.8-.8.3-1.2 1-1.2 1.9V75c0 1.4 1.2 2.3 2.5 1.9 10.2-3.1 17.6 5.8 27.2 1.8.7-.3 1.3-1 1.3-1.9V66.1c0-1.3-1.4-2.3-2.7-1.9zm-12.5 10c-2.2 0-4-1.8-4-4s1.8-4 4-4 4 1.8 4 4-1.8 4-4 4z" + }] + } + }, + cms: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M60.4 29.9c-2 0-3.8.2-5.5.8 2.1 1.7 3.9 3.8 5.4 6.1h.1c7 0 12.7 5.7 12.7 12.7s-5.7 12.7-12.7 12.7c-1.7 0-3.5-.3-5-1 .9-1.3 1.7-2.7 2.3-4 .2-.6.5-1 .6-1.6.6-1.8.9-3.9.9-6 0-10.8-8.8-19.6-19.6-19.6S20 38.7 20 49.5s8.8 19.6 19.6 19.6c2 0 3.8-.2 5.5-.8-2.1-1.7-3.9-3.8-5.4-6.1h-.1c-7 0-12.7-5.7-12.7-12.7s5.7-12.7 12.7-12.7c1.7 0 3.5.3 5.1 1-2.4 3.2-3.9 7.3-3.9 11.7 0 10.8 8.8 19.6 19.6 19.6S80 60.3 80 49.5s-8.8-19.6-19.6-19.6z" + } + }, + coaching: { + "xmlns": "http://www.w3.org/2000/svg", + "path": [{ + "d": "M47 53c-1.3 0-2.6.5-3.5 1.5-1.9 1.9-1.9 5.1 0 7.1.9.9 2.2 1.5 3.5 1.5 1.3 0 2.6-.5 3.5-1.5 1.9-1.9 1.9-5.1 0-7.1-.9-1-2.2-1.5-3.5-1.5z" + }, { + "d": "M79.6 30.6l-6.8-9.8c-.6-.9-1.8-1.1-2.7-.6L36.7 40.9c-3.2 1.9-6 4.7-7.8 8.9-1.8 4.3-2.2 8.9-1.1 13.2-4.3.4-7.8 4-7.8 8.5 0 4.7 3.8 8.5 8.5 8.5 3.5 0 6.5-2.1 7.8-5.1 7.7 4.9 18.1 4 24.9-2.8 6.1-6.1 7.4-15.2 4-22.7-1.2-2.6-.5-5.8 1.9-7.5l12.1-8.6c.8-.5 1-1.8.4-2.7zM28.5 74c-1.4 0-2.5-1.1-2.5-2.5s1.1-2.5 2.5-2.5 2.5 1.1 2.5 2.5-1.1 2.5-2.5 2.5zm26.3-8.2C52.7 67.9 49.9 69 47 69c-2.9 0-5.7-1.1-7.8-3.2-4.3-4.3-4.3-11.3 0-15.6C41.3 48.1 44 47 47 47c2.9 0 5.7 1.1 7.8 3.2 4.3 4.3 4.3 11.3 0 15.6z" + }] + }, + code_playground: { + "xmlns": "http://www.w3.org/2000/svg", + "path": [{ + "d": "M73.8 20H26.2c-3.4 0-6.2 2.8-6.2 6.2v47.6c0 3.4 2.8 6.2 6.2 6.2h47.6c3.4 0 6.2-2.8 6.2-6.2V26.2c0-3.4-2.8-6.2-6.2-6.2zm-45.5 6.2h43.4c1.1 0 2.1.9 2.1 2.1v3.9H26.2v-3.9c0-1.2.9-2.1 2.1-2.1zm43.4 47.6H28.3c-1.1 0-2.1-.9-2.1-2.1V38.2h47.6v33.5c0 1.2-.9 2.1-2.1 2.1z" + }, { + "d": "M46.7 63.3l-6.6-6.6 6.6-6.6c.4-.4.4-1 0-1.4l-2.8-2.8c-.4-.4-1-.4-1.4 0l-7.3 7.3-1.5 1.5-1.3 1.3c-.2.2-.3.5-.3.7 0 .3.1.5.3.7l10.2 10.2c.4.4 1 .4 1.4 0l2.8-2.8c.3-.5.3-1.1-.1-1.5zM67.7 55.9l-1.3-1.3-1.5-1.5-7.3-7.3c-.4-.4-1-.4-1.4 0l-2.8 2.8c-.4.4-.4 1 0 1.4l6.6 6.6-6.6 6.6c-.4.4-.4 1 0 1.4l2.8 2.8c.4.4 1 .4 1.4 0l10.2-10.2c.2-.2.3-.5.3-.7-.1-.1-.2-.4-.4-.6z" + }] + }, + collection: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M33.74 20.26h17.43v29.4l.39.57.71-.13 7.06-6.43.49-.15.51.14L67 50l.75.13.36-.57V20.08h4.08s2.58.24 3.74 1.39a6.53 6.53 0 012 3.43v49.31c0 1.85-.17 2.85-1.1 3.94A5.69 5.69 0 0172.21 80h-38c-.31 0-1.9.34-4.22-1.93a6.65 6.65 0 01-1.85-4.44v-1.55h-2a3.93 3.93 0 01-4-4.17c.08-3.69 3.91-3.8 3.91-3.8h2.05v-10h-2a3.86 3.86 0 01-4-4 4 4 0 014-4.18h2v-9.74s-1.49.05-2 0a3.87 3.87 0 01-4-3.87 3.93 3.93 0 014-4.1h2v-2.38a6 6 0 011.48-3.65 6.46 6.46 0 014.16-1.93z" + } + }, + collection_variable: { + "xmlns": "http://www.w3.org/2000/svg", + "path": [{ + "d": "M73.8 20H26.2c-3.4 0-6.2 2.8-6.2 6.2v47.6c0 3.4 2.8 6.2 6.2 6.2h47.6c3.4 0 6.2-2.8 6.2-6.2V26.2c0-3.4-2.8-6.2-6.2-6.2zm-3 49.3h-.1c0 .8-.8 1.4-1.6 1.4H30.4c-.8 0-1.4-.8-1.4-1.6V30.7c0-.8.8-1.4 1.6-1.4h38.8c.8 0 1.4.8 1.4 1.6v38.4z" + }, { + "d": "M58.8 45.6c1.3 0 3.9-1.1 3.9-4.5s-2.5-3.6-3.2-3.6c-1.5 0-3 1.1-4.3 3.4-1.3 2.3-2.8 4.9-2.8 4.9h-.1c-.3-1.6-.6-3-.7-3.6-.3-1.4-1.9-4.5-5.3-4.5s-6.5 2-6.5 2c-.6.4-1 1-1 1.8 0 1.1.9 2.1 2.1 2.1.3 0 .6-.1.9-.2 0 0 2.6-1.4 3.1 0 .2.4.3.9.5 1.4.7 2.2 1.3 4.9 1.8 7.3L45 55.3s-2.5-.9-3.8-.9-3.9 1.1-3.9 4.5 2.5 3.6 3.2 3.6c1.5 0 3-1.1 4.3-3.4 1.3-2.3 2.8-4.9 2.8-4.9.4 2.1.8 3.8 1 4.5.9 2.4 2.8 3.9 5.4 3.9 0 0 2.7 0 5.8-1.8.8-.3 1.3-1.1 1.3-1.9 0-1.1-.9-2.1-2.1-2.1-.3 0-.6.1-.9.2 0 0-2.3 1.3-3 .3-.6-1-1-2.4-1.4-4.2-.3-1.5-.7-3.3-1.1-5.1l2.3-3.3c.1 0 2.6.9 3.9.9z" + }] + }, + connected_apps: { + "xmlns": "http://www.w3.org/2000/svg", + "path": [{ + "d": "M73 21H27c-3.3 0-6 2.7-6 6v46c0 3.3 2.7 6 6 6h46c3.3 0 6-2.7 6-6V27c0-3.3-2.7-6-6-6zm-2 52H29c-1.1 0-2-.9-2-2V29c0-1.1.9-2 2-2h42c1.1 0 2 .9 2 2v42c0 1.1-.9 2-2 2z" + }, { + "d": "M58.5 47H52l5.7-9.4c.6-1-.1-2.6-1.3-2.6h-8.3c-1.2 0-2.3.8-2.8 1.9l-5.2 13.8c-.4 1 .3 2.3 1.4 2.3h6.6l-3.2 10.9c-.3 1 1 1.6 1.7.8l13.1-15.4c.8-1 .1-2.3-1.2-2.3z" + }] + }, + constant: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M79.4 26.7c-.3-.3-.8-.5-1.2-.5-4.8-.2-9.9.2-14.7.2l-17.2.1c-5.3 0-9.4 1.1-13.4 4.7-2.6 2.4-5 5.7-6.9 8.5-.2.3-.3.7-.3 1.1 0 1.1.9 1.9 1.9 1.9 1.1 0 1.4-.7 1.9-1.5s1.2-1.6 1.9-2.3c2.6-2.5 6.3-3.8 9.9-3.5-3 8.4-7.3 18.1-13.4 24.7-2.5 2.8-6.8 5.7-7.8 9.5-1 3.9 3 5 6.1 3.8 3.9-1.5 6.2-5.5 8.2-8.9 2.4-4.3 4.5-8.6 6.4-13.2 1.9-4.4 3.8-8.9 5.6-13.3 1.1-2.6 1.5-2.7 4.2-2.7h7.5c-2.8 6.1-5.5 12.3-8 18.6-1.9 4.8-5.3 11.7-2.9 16.9 2.4 5.1 9.2 3.2 12.9.6 3.8-2.6 6.2-6.9 8.3-10.9.4-.7.8-1.6.5-2.4-.3-.7-1-1.2-1.8-1.2-1.7 0-2.1 2.1-2.6 3.4-1 2.1-3.4 4.1-5.8 3.7-5.7-.8-.6-10.9.4-13.6 1-2.8 2.2-5.6 3.4-8.3.7-1.6 1.3-3.2 2.1-4.7 1-2 1-1.9 3.3-2 2-.1 7.5.9 9.2-.2 1.3-.9 2.2-4.2 2.8-6.6.2-.8 0-1.5-.5-1.9z" + } + }, + contact: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M74 29H26c-3.3 0-6 2.7-6 6v29c0 3.3 2.7 6 6 6h48c3.3 0 6-2.7 6-6V35c0-3.3-2.7-6-6-6zM48.6 63H31.4c-1.9 0-3.4-2.1-3.4-4.1.1-3 3.2-4.8 6.5-6.3 2.3-1 2.6-1.9 2.6-2.9s-.6-1.9-1.4-2.6c-1.3-1.2-2.1-3-2.1-5 0-3.8 2.3-7 6.3-7s6.3 3.2 6.3 7c0 2-.7 3.8-2.1 5-.8.7-1.4 1.6-1.4 2.6s.3 1.9 2.6 2.8c3.3 1.4 6.4 3.4 6.5 6.4.2 2-1.3 4.1-3.2 4.1zM72 56c0 1.1-.9 2-2 2h-9c-1.1 0-2-.9-2-2v-3c0-1.1.9-2 2-2h9c1.1 0 2 .9 2 2v3zm0-11c0 1.1-.9 2-2 2H55c-1.1 0-2-.9-2-2v-3c0-1.1.9-2 2-2h15c1.1 0 2 .9 2 2v3z" + } + }, + contact_list: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M26.3 22.7c-4.5 0-8.2 3.5-8.2 7.8v44.3c0 4.3 3.7 7.8 8.2 7.8h43.6c4.5 0 8.2-3.5 8.2-7.8V30.5c0-4.3-3.7-7.8-8.2-7.8H26.3zm10.9 18.2c0 1.4-1.2 2.6-2.7 2.6h-2.7c-1.5 0-2.7-1.2-2.7-2.6v-2.6c0-1.4 1.2-2.6 2.7-2.6h2.7c1.5 0 2.7 1.2 2.7 2.6v2.6zm30 0c0 1.4-1.2 2.6-2.7 2.6H45.4c-1.5 0-2.7-1.2-2.7-2.6v-2.6c0-1.4 1.2-2.6 2.7-2.6h19.1c1.5 0 2.7 1.2 2.7 2.6v2.6zM37.2 54c0 1.4-1.2 2.6-2.7 2.6h-2.7c-1.5 0-2.7-1.2-2.7-2.6v-2.6c0-1.4 1.2-2.6 2.7-2.6h2.7c1.5 0 2.7 1.2 2.7 2.6V54zm25 0c0 1.4-1.2 2.6-2.7 2.6H45.4c-1.5 0-2.7-1.2-2.7-2.6v-2.6c0-1.4 1.2-2.6 2.7-2.6h14.1c1.5 0 2.7 1.2 2.7 2.6V54zm-25 13c0 1.4-1.2 2.6-2.7 2.6h-2.7c-1.5 0-2.7-1.2-2.7-2.6v-2.6c0-1.4 1.2-2.6 2.7-2.6h2.7c1.5 0 2.7 1.2 2.7 2.6V67zm30 0c0 1.4-1.2 2.6-2.7 2.6H45.4c-1.5 0-2.7-1.2-2.7-2.6v-2.6c0-1.4 1.2-2.6 2.7-2.6h19.1c1.5 0 2.7 1.2 2.7 2.6V67z" + } + }, + contact_request: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M48.7 50.9c-.7.2-1.1 1.1-.5 1.7l5.5 5.6c.6.6.6 1.5 0 2.1l-2.1 2.1c-.6.6-1.5.6-2.1 0L36 48.9c-.6-.6-.6-1.5 0-2.1l13.5-13.5c.6-.6 1.5-.6 2.1 0l2.1 2.2c.6.6.6 1.5 0 2.1l-5.6 5.6c-.6.6.5 1.7.5 1.7 12.8.4 22.7 8.8 25.8 20.3 3.3-4.4 5.3-9.8 5.3-15.6-.1-15.5-13.5-27.7-30.1-27.7-16.7 0-30 12.3-30 27.4 0 4.8 1.4 9.3 3.6 13.3.4.6.5 1.4.3 2.1l-3.9 10.7c-.4 1 .6 1.9 1.6 1.6L32 72.9c.6-.3 1.4-.1 2.1.3 4.5 2.5 9.9 4 15.7 4 7.5-.1 14.3-2.7 19.5-6.9-1.2-10.7-9.9-19-20.6-19.4z" + } + }, + contract: { + "xmlns": "http://www.w3.org/2000/svg", + "path": [{ + "d": "M74.6 33.6L61.4 20.4c-.3-.3-.6-.4-1-.4-.8 0-1.4.6-1.4 1.4V32c0 2.2 1.8 4 4 4h10.6c.8 0 1.4-.6 1.4-1.4 0-.4-.1-.7-.4-1z" + }, { + "d": "M73 42H59c-3.3 0-6-2.7-6-6V22c0-1.1-.9-2-2-2H31c-3.3 0-6 2.7-6 6v48c0 3.3 2.7 6 6 6h38c3.3 0 6-2.7 6-6V44c0-1.1-.9-2-2-2zm-41-9.4l4.9-.7c.1 0 .3-.1.3-.2l2.2-4.5c.2-.3.6-.3.8 0l2.2 4.5c.1.1.2.2.3.2l4.9.7c.3.1.5.5.2.7l-3.6 3.5c-.1.1-.1.2-.1.4l.8 4.9c.1.3-.3.6-.6.4l-4.4-2.3c-.1-.1-.3-.1-.4 0l-4.4 2.3c-.3.2-.7-.1-.6-.4l.8-4.9c0-.1 0-.3-.1-.4l-3.6-3.5c-.1-.2.1-.6.4-.7zM63 66c0 1.1-.9 2-2 2H35c-1.1 0-2-.9-2-2v-2c0-1.1.9-2 2-2h26c1.1 0 2 .9 2 2v2zm4-12c0 1.1-.9 2-2 2H35c-1.1 0-2-.9-2-2v-2c0-1.1.9-2 2-2h30c1.1 0 2 .9 2 2v2z" + }] + }, + contract_line_item: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "path": [{ + "d": "M63 36h10.6c.8 0 1.4-.6 1.4-1.4 0-.4-.1-.7-.4-1L61.4 20.4c-.3-.3-.6-.4-1-.4-.8 0-1.4.6-1.4 1.4V32c0 2.2 1.8 4 4 4z" + }, { + "d": "M73 42H59c-3.3 0-6-2.7-6-6V22c0-1.1-.9-2-2-2H31c-3.3 0-6 2.7-6 6v48c0 3.3 2.7 6 6 6h38c3.3 0 6-2.7 6-6V44c0-1.1-.9-2-2-2zM34.6 68.1c-1.7 0-3.1-1.4-3.1-3.1 0-1.7 1.4-3.1 3.1-3.1 1.7 0 3.1 1.4 3.1 3.1 0 1.7-1.4 3.1-3.1 3.1zm0-12c-1.7 0-3.1-1.4-3.1-3.1 0-1.7 1.4-3.1 3.1-3.1 1.7 0 3.1 1.4 3.1 3.1 0 1.8-1.4 3.1-3.1 3.1zm4.9-15.9l-4.4 2.3c-.3.2-.7-.1-.6-.4l.8-4.9c0-.1 0-.3-.1-.4l-3.6-3.5c-.1-.2.1-.6.4-.7l4.9-.7c.1 0 .3-.1.3-.2l2.2-4.5c.2-.3.6-.3.8 0l2.2 4.5c.1.1.2.2.3.2l4.9.7c.3.1.5.5.2.7l-3.6 3.5c-.1.1-.1.2-.1.4l.8 4.9c.1.3-.3.6-.6.4l-4.4-2.3c-.1-.1-.3-.1-.4 0zM67 66c0 1.1-.9 2-2 2H44.7c-1.1 0-2-.9-2-2v-2c0-1.1.9-2 2-2H65c1.1 0 2 .9 2 2v2zm0-12c0 1.1-.9 2-2 2H44.7c-1.1 0-2-.9-2-2v-2c0-1.1.9-2 2-2H65c1.1 0 2 .9 2 2v2z" + }] + } + }, + currency: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "path": { + "d": "M74.4 30.8H25.6c-3.1 0-5.6 2.5-5.6 5.6v27.2c0 3.1 2.5 5.6 5.6 5.6h48.8c3.1 0 5.6-2.5 5.6-5.6V36.4c0-3.1-2.5-5.6-5.6-5.6zM32.2 63.6c0-3.7-2.9-6.6-6.6-6.6V43c3.7 0 6.6-2.9 6.6-6.6h35.6c0 3.7 2.9 6.6 6.6 6.6v14c-3.7 0-6.6 2.9-6.6 6.6H32.2z" + }, + "circle": { + "cx": "50", + "cy": "49.5", + "r": "9.4" + } + } + }, + currency_input: { + "xmlns": "http://www.w3.org/2000/svg", + "path": [{ + "d": "M62.7 64.8c3.5-5.7 2.8-13.3-2.2-18.2-5.8-5.8-15.2-5.8-21 0-4.9 4.9-5.7 12.5-2.2 18.2h25.4z" + }, { + "d": "M80 26v48c0 3.3-2.7 6-6 6H26c-3.3 0-6-2.7-6-6V26c0-3.3 2.7-6 6-6h48c3.3 0 6 2.7 6 6zM30 71.9h40c1.1 0 2-.9 2-2V30c0-1.1-.9-2-2-2H30c-1.1 0-2 .9-2 2v39.9c0 1.1.9 2 2 2z" + }] + }, + custom: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M79.2 32.8c-.2-.7-1.101-.9-1.7-.4L67.4 42.5c-.801.8-2 .8-2.801 0l-7.1-7.1c-.8-.8-.8-2 0-2.8l10.2-10.2c.5-.5.3-1.4-.4-1.7C65.6 20.3 63.8 20 62 20c-10.6 0-19.1 9.2-17.9 20 .2 1.7.6 3.2 1.2 4.7L22 68.1c-2.7 2.7-2.7 7.2 0 9.9 1.4 1.4 3.2 2.1 5 2.1s3.6-.699 5-2.1l23.3-23.3c1.5.6 3.101 1 4.7 1.2 10.9 1.2 20-7.3 20-17.9 0-1.8-.3-3.6-.8-5.2z" + } + }, + custom_component_task: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "path": [{ + "d": "M49.91 50.6L45 45.69a1.36 1.36 0 00-2 0l-1.94 2a1.33 1.33 0 000 1.94L48 56.44a2.7 2.7 0 001.95.83 2.67 2.67 0 001.94-.83L66 42.27a1.34 1.34 0 000-2l-1.94-1.94a1.34 1.34 0 00-1.95 0z" + }, { + "d": "M71.81 54.15a23.31 23.31 0 000-8.6l4.6-3.9a4.28 4.28 0 001-5.3l-2-3.5a4.11 4.11 0 00-3.6-2 3.19 3.19 0 00-1.4.3l-5.8 2.1a22.35 22.35 0 00-7.4-4.3l-1-5.9a3.92 3.92 0 00-4.1-3.1h-4a3.85 3.85 0 00-4.1 3.1l-1 5.8a21.59 21.59 0 00-7.5 4.3l-5.9-2.1a7 7 0 00-1.4-.3 4.2 4.2 0 00-3.6 2l-2 3.5a4.16 4.16 0 001 5.3l4.6 3.9a20.87 20.87 0 00-.4 4.3 20.24 20.24 0 00.4 4.3L23.61 58a4.28 4.28 0 00-1 5.3l2 3.5a4.11 4.11 0 003.6 2 3.19 3.19 0 001.4-.3l5.8-2.1a22.35 22.35 0 007.4 4.3l1 6a4.1 4.1 0 004.1 3.4h4a4.18 4.18 0 004.1-3.5l1-6a22.06 22.06 0 007.8-4.6l5.4 2.1a8 8 0 001.5.3 4.2 4.2 0 003.6-2l1.9-3.3a3.67 3.67 0 00-.8-5zm-3.39-9.34l-4.55 4.56v.78a13.85 13.85 0 11-6.7-11.81l2.45-2.44a4.84 4.84 0 016.89 0l2 2a4.9 4.9 0 011.43 3.7 4.66 4.66 0 01-1.52 3.21z" + }] + } + }, + custom_notification: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M53.77 21.87L50 40.11a1 1 0 001.12 1.12h19.52a2 2 0 011.62 2.87L51 79a1.85 1.85 0 01-3.5-.87l3.75-21.48c0-.75-.62-.5-1.37-.5H29.42c-1.37 0-2.37-2-1.62-3.25L50.28 21a1.86 1.86 0 013.49.87z" + } + }, + customer_360: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M78.8 50.8c.7-.7.7-1.6.4-2.4-.4-.9-1.2-1.4-2.2-1.4-.7 0-1.3.2-1.9.8l-.5.5c-.9-13.2-11.8-23.6-25.2-23.6-13.9 0-25.2 11.3-25.2 25.2s11.3 25.2 25.2 25.2c11.9 0 21.8-8.2 24.5-19.3l4.9-5zM49.4 70.1c-11.2 0-20.2-9.1-20.2-20.2s9.1-20.2 20.2-20.2c10.6 0 19.3 8.2 20.1 18.6l-.5-.5c-.3-.3-.6-.5-1-.6-1-.4-2-.1-2.7.7-.8 1-.8 2.4.1 3.3l3.6 3.6c-2.1 8.7-10.1 15.3-19.6 15.3z" + }, + "g": { + "path": { + "d": "M61.7 57.1v1.1c0 1.4-1.1 2.5-2.5 2.5H39.5c-1.4 0-2.5-1.1-2.5-2.5v-1.1c0-3 3.5-4.8 6.8-6.2.1 0 .2-.1.3-.2.2-.1.5-.1.8 0 1.3.9 2.8 1.4 4.4 1.4s3.1-.5 4.4-1.3c.2-.2.5-.2.8 0 .1 0 .2.1.3.2 3.4 1.3 6.9 3.1 6.9 6.1z" + }, + "ellipse": { + "cx": "49.4", + "cy": "42.8", + "rx": "6.1", + "ry": "6.8" + } + } + }, + customer_lifecycle_analytics: { + "xmlns": "http://www.w3.org/2000/svg", + "path": [{ + "d": "M57.4 38.4a18.1 18.1 0 11-18.1-18.2 18.12 18.12 0 0118.1 18.2zm-24.8-8.2c-1.3 0-2.3 1.3-2.3 3.1 0 1.6.9 3.1 2.3 3.1s2.3-1.3 2.3-3.1c-.2-1.7-1.1-3.1-2.3-3.1zm13.5 0c-1.3 0-2.3 1.3-2.3 3.1 0 1.6.9 3.1 2.3 3.1s2.3-1.3 2.3-3.1-.9-3.1-2.3-3.1zM28 40.7c.5 5.7 4.7 10.6 11.2 10.6a11.28 11.28 0 0011.5-10.6z" + }, { + "d": "M79.6 45.4a1.37 1.37 0 00-1.4-1.4l-14.6-.1a1.29 1.29 0 00-1.4 1.3v2.6a1.37 1.37 0 001.4 1.4l4.5.1a.89.89 0 01.6 1.5l-20 20.1a1 1 0 01-.9-.2L37.1 59.8a1.37 1.37 0 00-1.8-.1l-.1.1-1.9 1.9a.1.1 0 01-.1.1L20.6 74.4a1.39 1.39 0 000 1.9l1.9 1.9a1.39 1.39 0 001.9 0l10.4-10.3a1.87 1.87 0 012.6-.1l10.2 10.3a1.17 1.17 0 001.9 0l23.2-23.4a.88.88 0 011.5.6l.1 4.5a1.37 1.37 0 001.4 1.4h2.6a1.29 1.29 0 001.4-1.3z" + }] + }, + customer_portal_users: { + "xmlns": "http://www.w3.org/2000/svg", + "path": [{ + "d": "M68 48.8c0 1.1-.9 2-2 2H47.4c-1.1 0-2-.9-2-2v-3c0-1.1.9-2 2-2H66c1.1 0 2 .9 2 2v3zM39.4 48.8c0 1.1-.9 2-2 2H34c-1.1 0-2-.9-2-2v-3c0-1.1.9-2 2-2h3.4c1.1 0 2 .9 2 2v3zM39.4 61.8c0 1.1-.9 2-2 2H34c-1.1 0-2-.9-2-2v-3c0-1.1.9-2 2-2h3.4c1.1 0 2 .9 2 2v3zM68 61.8c0 1.1-.9 2-2 2H47.4c-1.1 0-2-.9-2-2v-3c0-1.1.9-2 2-2H66c1.1 0 2 .9 2 2v3z" + }, { + "d": "M73.8 20H26.2c-3.4 0-6.2 2.8-6.2 6.2v47.6c0 3.4 2.8 6.2 6.2 6.2h47.6c3.4 0 6.2-2.8 6.2-6.2V26.2c0-3.4-2.8-6.2-6.2-6.2zm-26.4 7.4c0-.8.8-1.4 1.6-1.4h23.4c.8 0 1.4.8 1.4 1.6v3c0 .8-.8 1.4-1.6 1.4H48.8c-.8 0-1.4-.8-1.4-1.6v-3zm-8-1.4c1.7 0 3 1.3 3 3s-1.3 3-3 3-3-1.3-3-3 1.3-3 3-3zM29 26c1.7 0 3 1.3 3 3s-1.3 3-3 3-3-1.3-3-3 1.3-3 3-3zm45 46.6c0 .8-.8 1.4-1.6 1.4H68v-2.3c0-1.1-.9-2-2-2H47.4c-1.1 0-2 .9-2 2V74h-6v-2.3c0-1.1-.9-2-2-2H34c-1.1 0-2 .9-2 2V74h-4.6c-.8 0-1.4-.8-1.4-1.6v-33c0-.8.8-1.4 1.6-1.4h45c.8 0 1.4.8 1.4 1.6v33z" + }] + }, + customers: { + "xmlns": "http://www.w3.org/2000/svg", + "ellipse": { + "cx": "41.3", + "cy": "42.3", + "rx": "12.2", + "ry": "13.5" + }, + "path": { + "d": "M52.6 57.4c-3.1 2.8-7 4.5-11.3 4.5-4.3 0-8.3-1.7-11.3-4.6C24.5 59.8 19 63 19 68v2.1c0 2.5 2 4.5 4.5 4.5h35.7c2.5 0 4.5-2 4.5-4.5V68c-.1-5-5.5-8.1-11.1-10.6zM68 47.4c-.2-.1-.3-.2-.5-.3-.4-.2-.9-.2-1.3.1-2.1 1.3-4.6 2.1-7.2 2.1h-1c-.5 1.3-1 2.6-1.7 3.7.4.2.9.3 1.4.6 5.7 2.5 9.7 5.6 12.5 9.8H75c2.2 0 4-1.8 4-4v-1.9c0-4.9-5.7-7.9-11-10.1zM66.9 34.2c0-4.9-3.6-8.9-7.9-8.9-2.2 0-4.1 1-5.6 2.5 3.5 3.6 5.7 8.7 5.7 14.4v.8c4.3 0 7.8-3.9 7.8-8.8z" + } + }, + dashboard: { + "xmlns": "http://www.w3.org/2000/svg", + "path": [{ + "d": "M50 20c-16.5 0-30 13.5-30 30s13.5 30 30 30 30-13.5 30-30-13.5-30-30-30zm0 8c12.1 0 22 9.9 22 22 0 1-.1 2-.2 3h-8.9c-1 0-1.8.7-2 1.7-.8 5.2-5.4 9.3-10.9 9.3s-10.1-4.1-10.9-9.3c-.1-1-1-1.7-2-1.7h-8.9c-.1-1-.2-2-.2-3 0-12.1 9.9-22 22-22z" + }, { + "d": "M47.7 57.4c2.4 1.3 5.5.3 6.8-2.1 1.9-3.5 5.5-18.9 4.6-19.3-.9-.5-11.6 11.1-13.4 14.7-1.4 2.4-.5 5.4 2 6.7z" + }] + }, + dashboard_ea: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M22.5 19.7h20c1.4 0 2.5 1.1 2.5 2.5v54.9c0 1.4-1.1 2.5-2.5 2.5h-20c-1.4 0-2.5-1.1-2.5-2.5V22.2c0-1.4 1.1-2.5 2.5-2.5zM57.5 19.6h20c1.4 0 2.5 1.1 2.5 2.5V42c0 1.4-1.1 2.5-2.5 2.5h-20c-1.4 0-2.5-1.1-2.5-2.5V22.1c0-1.4 1.1-2.5 2.5-2.5zM57.5 54.6h20c1.4 0 2.5 1.1 2.5 2.5V77c0 1.4-1.1 2.5-2.5 2.5h-20c-1.4 0-2.5-1.1-2.5-2.5V57.1c0-1.3 1.1-2.5 2.5-2.5z" + } + }, + data_integration_hub: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "path": { + "d": "M73.9 27c-3.9 0-7.1 3.2-7.1 7.1 0 .6.1 1.1.2 1.6l-6.7 4.4c-2.1-2.4-5.1-4-8.6-4-2.6 0-5 .9-6.9 2.4l-11-7.6c.7-2.9-.8-6.1-3.6-7.4-3.3-1.5-7.2-.1-8.7 3.1s-.1 7.2 3.1 8.7c1.7.8 3.6.8 5.3.1l11.3 7.9c-.5 1.2-.8 2.6-.8 4 0 .8.1 1.5.2 2.3l-6.9 2.5c-.9-1-2.1-1.8-3.6-2.2-3.9-1.1-8 1.2-9.1 5.2-1.1 3.9 1.2 8 5.2 9.1 3.9 1.1 8-1.2 9.1-5.2.1-.4.2-.8.2-1.2l7.9-2.8c2.1 2.2 5 3.6 8.2 3.6h.9l1.1 5.6c-2.1 1.7-3.3 4.4-3 7.2.4 4.6 4.5 7.9 9.1 7.5 4.6-.4 7.9-4.5 7.5-9.1-.4-4.1-3.7-7.2-7.7-7.5l-1.2-5.9c2.8-2 4.7-5.4 4.7-9.1 0-.6-.1-1.2-.1-1.7l7.9-5.2c1 .5 2.1.8 3.2.8 3.9 0 7.1-3.2 7.1-7.1-.1-3.9-3.3-7.1-7.2-7.1zM51.7 54.6c-4 0-7.2-3.2-7.2-7.2s3.2-7.2 7.2-7.2 7.2 3.2 7.2 7.2c0 3.9-3.2 7.2-7.2 7.2z" + }, + "circle": { + "cx": "51.8", + "cy": "47.4", + "r": "3.2" + } + } + }, + data_mapping: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M73.12 43.75a6.88 6.88 0 11-6.12 10h-1.14c-6.74.08-9.11 2.12-12.88 9.18l-.22.4-.25.48C50.27 68 49 69.94 46.69 72c-3.24 2.84-7.42 4.29-12.94 4.29H33A6.88 6.88 0 1133 70h1.14c6.86-.08 9.2-2.2 13.1-9.58l.25-.48a34.38 34.38 0 013.88-6.19H33a6.88 6.88 0 110-6.25h34a6.86 6.86 0 015.85-3.74zm0-23.75A6.88 6.88 0 1167 30H33a6.88 6.88 0 110-6.25h34A6.86 6.86 0 0173.12 20z" + } + }, + data_model: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M72.7 65.8a6.6 6.6 0 00-3.2.8l-8.8-6.5a11.36 11.36 0 001.2-5.2A11.91 11.91 0 0053 43.4v-10a7 7 0 004-6.2 6.9 6.9 0 10-13.8 0 6.73 6.73 0 004 6.2v10a11.91 11.91 0 00-8.9 11.5 11.36 11.36 0 001.2 5.2l-8.8 6.5a7.22 7.22 0 00-3.2-.8 6.9 6.9 0 106.9 6.9c0-.5-.1-.9-.1-1.3l9.2-6.8a11.61 11.61 0 0013.6 0l9.2 6.8a5.7 5.7 0 00-.1 1.3 6.9 6.9 0 0013.8 0 7.41 7.41 0 00-7.3-6.9zm-21.3-5.1a6.75 6.75 0 01-1.4.2 6.1 6.1 0 01-5.7-4.4 7.72 7.72 0 01-.2-1.5 5.81 5.81 0 013-5.1 6 6 0 016 0 5.81 5.81 0 013 5.1 7.72 7.72 0 01-.2 1.5 6.54 6.54 0 01-4.5 4.2z" + } + }, + data_streams: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M68.8 20.3a10.9 10.9 0 11-10.5 13.9h-.4a5 5 0 00-5 5v4.3l6.3 6.3a1.93 1.93 0 010 2.8L57.9 54a1.93 1.93 0 01-2.8 0L53 51.9v9a10.85 10.85 0 01-10.5 10.9h-.8a10.91 10.91 0 11-10.5-13.9 11 11 0 0110.5 7.9h.4a5 5 0 005-5v-8.7L45.3 54a1.93 1.93 0 01-2.8 0l-1.4-1.4a1.93 1.93 0 010-2.8l5.9-5.9v-4.7a10.85 10.85 0 0110.5-10.9h.8a10.83 10.83 0 0110.5-8zM31.2 63.9a5 5 0 00-5 5 5 5 0 0010 0 5 5 0 00-5-5zm37.6-37.7a5 5 0 00-5 5 5 5 0 1010 0 5 5 0 00-5-5z" + } + }, + datadotcom: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M71.1 80h-6.8c-.4-2.4-.6-4.6-.6-6.5h-.1c-3.2 5.1-8.4 7.7-15.6 7.7-6.1 0-10.9-2-14.2-6.3-3.3-4.2-4.9-9.7-4.9-16.3 0-4.3.8-8.2 2.4-11.6s4-6.3 7-8.2c3.1-2 6.6-3.1 10.7-3.1 5.9 0 10.6 1.9 14.2 5.6V20h7.2v50.6c0 3 .3 6.2.7 9.4zm-7.9-18.5V47.8c-1.7-2.2-3.6-3.7-5.7-4.9-2.2-1-4.6-1.5-7.4-1.5-4.2 0-7.5 1.5-10 4.7s-3.6 7.3-3.6 12.3c0 5.2 1.1 9.3 3.4 12.4s5.6 4.6 9.7 4.6 7.4-1.3 9.8-4c2.6-2.5 3.8-5.8 3.8-9.9z" + } + }, + dataset: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M52 20.6l23.4 11.5c1.6.8 2.6 2.4 2.6 4.1V63c0 1.8-1 3.4-2.6 4.1L52 78.6c-1.3.6-2.8.6-4.1 0L24.6 67.1C23 66.3 22 64.7 22 63V36.2c0-1.8 1-3.4 2.6-4.1L48 20.6c1.2-.6 2.8-.6 4 0z" + } + }, + date_input: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M76 42H24c-1.1 0-2 .9-2 2v30c0 3.3 2.7 6 6 6h44c3.3 0 6-2.7 6-6V44c0-1.1-.9-2-2-2zM40 70c0 1.1-.9 2-2 2h-4c-1.1 0-2-.9-2-2v-4c0-1.1.9-2 2-2h4c1.1 0 2 .9 2 2v4zm14 0c0 1.1-.9 2-2 2h-4c-1.1 0-2-.9-2-2v-4c0-1.1.9-2 2-2h4c1.1 0 2 .9 2 2v4zm0-14c0 1.1-.9 2-2 2h-4c-1.1 0-2-.9-2-2v-4c0-1.1.9-2 2-2h4c1.1 0 2 .9 2 2v4zm14 0c0 1.1-.9 2-2 2h-4c-1.1 0-2-.9-2-2v-4c0-1.1.9-2 2-2h4c1.1 0 2 .9 2 2v4zm4-30h-5v-2c0-2.2-1.8-4-4-4s-4 1.8-4 4v2H41v-2c0-2.2-1.8-4-4-4s-4 1.8-4 4v2h-5c-3.3 0-6 2.7-6 6v2c0 1.1.9 2 2 2h52c1.1 0 2-.9 2-2v-2c0-3.3-2.7-6-6-6z" + } + }, + date_time: { + "xmlns": "http://www.w3.org/2000/svg", + "path": [{ + "d": "M72 26h-5v-2c0-2.2-1.8-4-4-4s-4 1.8-4 4v2H41v-2c0-2.2-1.8-4-4-4s-4 1.8-4 4v2h-5c-3.3 0-6 2.7-6 6v2c0 1.1.9 2 2 2h52c1.1 0 2-.9 2-2v-2c0-3.3-2.7-6-6-6zM76 42H24c-1.1 0-2 .9-2 2v30c0 3.3 2.7 6 6 6h44c3.3 0 6-2.7 6-6V44c0-1.1-.9-2-2-2zM50 75.9c-8.2 0-14.9-6.7-14.9-14.9S41.8 46.1 50 46.1 64.9 52.8 64.9 61 58.2 75.9 50 75.9z" + }, { + "d": "M51.5 60.4V54c0-.5-.4-1-1-1h-1c-.5 0-1 .4-1 1v7c0 .4.1.8.4 1l4.8 4.8c.4.4 1 .4 1.4 0l.7-.7c.4-.4.4-1 0-1.4l-4.3-4.3z" + }] + }, + decision: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M79.4 28.8l-5.2-3.9c-.8-.5-1.5-.8-2.4-.8H54V22c0-1.1-.9-2-2-2h-4c-1.1 0-2 .9-2 2v2H26c-1.1 0-2 .9-2 2v8c0 1.1.9 2 2 2h45.8c.9 0 1.8-.2 2.4-.8l5.2-3.9c.8-.7.8-1.9 0-2.5zM74 46H54v-3c0-.6-.4-1-1-1h-6c-.6 0-1 .4-1 1v3H28.3c-.9 0-1.8.2-2.4.8l-5.2 3.9c-.9.6-.9 1.9 0 2.6l5.2 3.9c.8.5 1.5.8 2.4.8H74c1.1 0 2-.9 2-2v-8c0-1.1-.9-2-2-2zM54 71.6v-4.9c0-.6-.4-1-1-1h-6c-.6 0-1 .4-1 1v4.9c-4 1.1-6.2 3.5-6.9 6.5-.2.9.5 1.9 1.5 1.9h18.9c1 0 1.8-.9 1.5-1.9-.7-3-3-5.3-7-6.5z" + } + }, + default: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "opacity": ".5", + "d": "M44.6 32.8c2.1-2.1 4.9-3.4 8.1-3.4 4.2 0 7.9 2.3 9.9 5.7 1.7-.7 3.6-1.2 5.6-1.2C75.8 34 82 40.1 82 47.6c0 7.6-6.2 13.7-13.8 13.7-.9 0-1.8-.1-2.7-.3-1.7 3-5 5.1-8.8 5.1-1.6 0-3.1-.4-4.4-1-1.8 4-5.8 6.9-10.6 6.9-5 0-9.2-3.1-10.8-7.4-.7.1-1.4.2-2.2.2-5.9 0-10.7-4.7-10.7-10.6 0-3.9 2.1-7.4 5.3-9.2-.7-1.5-1-3.1-1-4.8 0-6.7 5.6-12.2 12.4-12.2 4.1 0 7.7 1.9 9.9 4.8" + } + }, + delegated_account: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "path": [{ + "d": "M76.8 42.4H54.3c-2 0-2.3 2.1-2.3 2.3v34.2h26.8V45.2c.2-2.2-1.4-2.8-2-2.8zM63.4 73c0 1.1-.9 2.1-2.1 2.1h-2.1c-1.1 0-2.1-.9-2.1-2.1v-2.1c0-1.1.9-2.1 2.1-2.1h2.1c1.1 0 2.1.9 2.1 2.1V73zm0-10.5c0 1.1-.9 2.1-2.1 2.1h-2.1c-1.1 0-2.1-.9-2.1-2.1v-2.1c0-1.1.9-2.1 2.1-2.1h2.1c1.1 0 2.1.9 2.1 2.1v2.1zm0-10.5c0 1.1-.9 2.1-2.1 2.1h-2.1c-1.1 0-2.1-.9-2.1-2.1v-2.1c0-1.1.9-2.1 2.1-2.1h2.1c1.1 0 2.1.9 2.1 2.1V52zm10.3 21c0 1.1-.9 2.1-2.1 2.1h-2.1c-1.1 0-2.1-.9-2.1-2.1v-2.1c0-1.1.9-2.1 2.1-2.1h2.1c1.1 0 2.1.9 2.1 2.1V73zm0-10.5c0 1.1-.9 2.1-2.1 2.1h-2.1c-1.1 0-2.1-.9-2.1-2.1v-2.1c0-1.1.9-2.1 2.1-2.1h2.1c1.1 0 2.1.9 2.1 2.1v2.1zm0-10.5c0 1.1-.9 2.1-2.1 2.1h-2.1c-1.1 0-2.1-.9-2.1-2.1v-2.1c0-1.1.9-2.1 2.1-2.1h2.1c1.1 0 2.1.9 2.1 2.1V52z" + }, { + "d": "M56 19.2H21.3c-2 0-2.3 2.1-2.3 2.3v57.3h26.8V38.6s0-2.5 2.3-2.5h8c.9-.1 2-.5 2-2.1V22c.1-2.2-1.4-2.8-2.1-2.8zM30.4 72.1c0 1.1-.9 2.1-2.1 2.1h-2.1c-1.1 0-2.1-.9-2.1-2.1V70c0-1.1.9-2.1 2.1-2.1h2.1c1.1 0 2.1.9 2.1 2.1v2.1zm0-10.6c0 1.1-.9 2.1-2.1 2.1h-2.1c-1.1 0-2.1-.9-2.1-2.1v-2.1c0-1.1.9-2.1 2.1-2.1h2.1c1.1 0 2.1.9 2.1 2.1v2.1zm0-10.6c0 1.1-.9 2.1-2.1 2.1h-2.1c-1.1 0-2.1-.9-2.1-2.1v-2.1c0-1.1.9-2.1 2.1-2.1h2.1c1.1 0 2.1.9 2.1 2.1v2.1zm0-10.6c0 1.1-.9 2.1-2.1 2.1h-2.1c-1.1 0-2.1-.9-2.1-2.1v-2.1c0-1.1.9-2.1 2.1-2.1h2.1c1.1 0 2.1.9 2.1 2.1v2.1zm0-10.5c0 1.1-.9 2.1-2.1 2.1h-2.1c-1.1 0-2.1-.9-2.1-2.1v-2.1c0-1.1.9-2.1 2.1-2.1h2.1c1.1 0 2.1.9 2.1 2.1v2.1zm11.3 42.3c0 1.1-.9 2.1-2.1 2.1h-2.1c-1.1 0-2.1-.9-2.1-2.1V70c0-1.1.9-2.1 2.1-2.1h2.1c1.1 0 2.1.9 2.1 2.1v2.1zm0-10.6c0 1.1-.9 2.1-2.1 2.1h-2.1c-1.1 0-2.1-.9-2.1-2.1v-2.1c0-1.1.9-2.1 2.1-2.1h2.1c1.1 0 2.1.9 2.1 2.1v2.1zm0-10.6c0 1.1-.9 2.1-2.1 2.1h-2.1c-1.1 0-2.1-.9-2.1-2.1v-2.1c0-1.1.9-2.1 2.1-2.1h2.1c1.1 0 2.1.9 2.1 2.1v2.1zm0-10.6c0 1.1-.9 2.1-2.1 2.1h-2.1c-1.1 0-2.1-.9-2.1-2.1v-2.1c0-1.1.9-2.1 2.1-2.1h2.1c1.1 0 2.1.9 2.1 2.1v2.1zm0-10.5c0 1.1-.9 2.1-2.1 2.1h-2.1c-1.1 0-2.1-.9-2.1-2.1v-2.1c0-1.1.9-2.1 2.1-2.1h2.1c1.1 0 2.1.9 2.1 2.1v2.1zm11.4 0c0 1.1-1 2.1-2.1 2.1h-2.1c-1.1 0-2.1-.9-2.1-2.1v-2.1c0-1.1.9-2.1 2.1-2.1H51c1.1 0 2.1.9 2.1 2.1v2.1zM79.5 30.5c-.6-.5-1.6-.4-2.1.2l-.8 1c-.7-6.1-5.2-8.6-8.6-9.4l.8-.5c.7-.4.9-1.4.5-2.1s-1.4-.9-2.1-.5l-4 2.6c-.4.2-.6.6-.7 1s0 .8.3 1.2l3.3 4.2c.3.4.7.6 1.2.6.3 0 .7-.1.9-.3.7-.5.8-1.5.3-2.1l-.8-1.1c2.1.5 5.4 2.2 5.9 6.8l-.7-.8c-.6-.6-1.5-.6-2.1 0s-.6 1.5 0 2.1l3.3 3.4c.3.3.7.4 1.1.4h.1c.4 0 .8-.2 1.1-.5l3.4-4.2c.4-.5.3-1.5-.3-2z" + }] + } + }, + device: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "path": [{ + "d": "M56.59 37.92H53.3v-3.3a2.2 2.2 0 00-2.2-2.19h-2.2a2.2 2.2 0 00-2.2 2.19v3.3h-3.29a2.21 2.21 0 00-2.2 2.2v2.19a2.21 2.21 0 002.2 2.2h3.29v3.3A2.21 2.21 0 0048.9 50h2.2a2.21 2.21 0 002.2-2.2v-3.3h3.29a2.21 2.21 0 002.2-2.2v-2.18a2.21 2.21 0 00-2.2-2.2z" + }, { + "d": "M79.6 25.33a5 5 0 00-4.93-4.93H25.33a5 5 0 00-4.93 4.93V57.4a5 5 0 004.93 4.93h49.34a5 5 0 004.93-4.93zm-7.4 27.75a1.89 1.89 0 01-1.85 1.85h-40.7a1.89 1.89 0 01-1.85-1.85V29.65a1.89 1.89 0 011.85-1.85h40.7a1.89 1.89 0 011.85 1.85zM58.63 72.2h-3.7A1.16 1.16 0 0153.7 71v-2.5a1.16 1.16 0 00-1.23-1.23h-4.94a1.16 1.16 0 00-1.23 1.23V71a1.16 1.16 0 01-1.23 1.23h-3.7a5 5 0 00-4.94 4.93v.62a1.9 1.9 0 001.85 1.85h23.44a1.9 1.9 0 001.85-1.85v-.62a5 5 0 00-4.94-4.96z" + }] + } + }, + display_rich_text: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M22 71.8h56c1.1 0 2 .9 2 2v4c0 1.1-.9 2-2 2H22c-1.1 0-2-.9-2-2v-4c0-1.1.9-2 2-2zM22 53.8h56c1.1 0 2 .9 2 2v4c0 1.1-.9 2-2 2H22c-1.1 0-2-.9-2-2v-4c0-1.1.9-2 2-2zM57.6 35.8H78c1.1 0 2 .9 2 2v4c0 1.1-.9 2-2 2H57.6c-1.1 0-2-.9-2-2v-4c0-1.1.9-2 2-2zM47.6 44.4L38.1 21c-.2-.4-.6-.7-1.1-.7h-7.2c-.4 0-.9.3-1 .7L20 44.4c-.1.4.1 1 .7 1h4.6c.4 0 .9-.4 1-.8l1.8-5h11.1l2 5c.1.4.6.8 1 .8h4.6c.6 0 .9-.5.8-1zM30.2 33.6l2.9-7.4h.6l3.2 7.4h-6.7z" + } + }, + display_text: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M72.3 20.1H27.8c-4.3 0-7.8 3.5-7.8 7.8v44.3c0 4.3 3.5 7.8 7.8 7.8h44.4c4.3 0 7.8-3.5 7.8-7.8V27.9c.1-4.3-3.4-7.8-7.7-7.8zm-41.9 13c0-1.4 1.2-2.6 2.6-2.6h29.2c1.4 0 2.6 1.2 2.6 2.6v2.7c0 1.4-1.1 2.6-2.5 2.6H33c-1.4 0-2.6-1.2-2.6-2.6v-2.7zm30.8 34c0 1.4-1.1 2.6-2.5 2.6H33c-1.4 0-2.6-1.2-2.6-2.6v-2.6c0-1.4 1.2-2.6 2.6-2.6h25.6c1.4 0 2.6 1.2 2.6 2.6v2.6zm8.4-15.7c0 1.4-1.1 2.6-2.5 2.6H33c-1.4 0-2.6-1.2-2.6-2.6v-2.6c0-1.4 1.2-2.6 2.6-2.6h34c1.4 0 2.6 1.2 2.6 2.6v2.6z" + } + }, + document: { + "xmlns": "http://www.w3.org/2000/svg", + "path": [{ + "d": "M73 42H59c-3.3 0-6-2.7-6-6V22c0-1.1-.9-2-2-2H31c-3.3 0-6 2.7-6 6v48c0 3.3 2.7 6 6 6h38c3.3 0 6-2.7 6-6V44c0-1.1-.9-2-2-2z" + }, { + "d": "M74.6 33.6L61.4 20.4c-.3-.3-.6-.4-1-.4-.8 0-1.4.6-1.4 1.4V32c0 2.2 1.8 4 4 4h10.6c.8 0 1.4-.6 1.4-1.4 0-.4-.1-.7-.4-1z" + }] + }, + document_reference: { + "xmlns": "http://www.w3.org/2000/svg", + "path": [{ + "d": "M71.4 69.89l-2.58 5.23a1.5 1.5 0 01-1.34.84h-.08a1.5 1.5 0 01-1.33-1l-3.26-8.83-1.45 3A1.51 1.51 0 0160 70h-5.53a11.12 11.12 0 0022-.1z" + }, { + "d": "M59.07 67l2.57-5.31a1.49 1.49 0 011.43-.85 1.53 1.53 0 011.33 1l3.27 8.85 1.45-2.93a1.5 1.5 0 011.34-.84h6A11.12 11.12 0 0054.4 67z" + }, { + "d": "M51.35 68.4a14.16 14.16 0 011.15-5.59h-12a1.7 1.7 0 01-1.7-1.7v-1.69a1.7 1.7 0 011.7-1.7h15.75a14.06 14.06 0 019.23-3.46h.44V40.83a1.69 1.69 0 00-1.69-1.69H52.35A5.11 5.11 0 0147.26 34V22.16a1.71 1.71 0 00-1.7-1.69h-17a5.1 5.1 0 00-5.09 5.09v40.73a5.1 5.1 0 005.09 5.09h23.11a14.23 14.23 0 01-.32-2.98zm6.09-19.17a1.71 1.71 0 011.7 1.7v1.7a1.71 1.71 0 01-1.7 1.69h-17a1.71 1.71 0 01-1.7-1.69v-1.7a1.7 1.7 0 011.7-1.7h17zM35.38 61.11a1.7 1.7 0 01-1.7 1.7H32a1.7 1.7 0 01-1.7-1.7v-1.69a1.7 1.7 0 011.7-1.7h1.7a1.7 1.7 0 011.7 1.7zm0-8.48a1.71 1.71 0 01-1.7 1.69H32a1.71 1.71 0 01-1.7-1.69v-1.7a1.71 1.71 0 011.7-1.7h1.7a1.71 1.71 0 011.7 1.7zM38 42.53a1.71 1.71 0 01-1.7 1.7h-1.7a1.71 1.71 0 01-1.69-1.7v-3.39h-3.4a1.71 1.71 0 01-1.7-1.7v-1.7a1.71 1.71 0 011.7-1.7h3.4v-3.39a1.7 1.7 0 011.7-1.65h1.7A1.71 1.71 0 0138 30.7V34h3.4a1.71 1.71 0 011.7 1.7v1.7a1.71 1.71 0 01-1.7 1.7H38z" + }, { + "d": "M55.74 34h9a1.15 1.15 0 001.18-1.12v-.06a1.09 1.09 0 00-.34-.85l-11.2-11.2a1.05 1.05 0 00-.84-.34 1.16 1.16 0 00-1.19 1.13v9.06A3.39 3.39 0 0055.74 34z" + }] + }, + drafts: { + "xmlns": "http://www.w3.org/2000/svg", + "path": [{ + "d": "M73 20H41c-3.3 0-6 2.7-6 6v1c0 .6.4 1 1 1h29c3.3 0 6 2.7 6 6v31c0 .6.4 1 1 1h1c3.3 0 6-2.7 6-6V26c0-3.3-2.7-6-6-6z" + }, { + "d": "M59 34H27c-3.3 0-6 2.7-6 6v34c0 3.3 2.7 6 6 6h32c3.3 0 6-2.7 6-6V40c0-3.3-2.7-6-6-6zM29 44c0-1.1.9-2 2-2h20c1.1 0 2 .9 2 2v2c0 1.1-.9 2-2 2H31c-1.1 0-2-.9-2-2v-2zm24 26c0 1.1-.9 2-2 2H31c-1.1 0-2-.9-2-2v-2c0-1.1.9-2 2-2h20c1.1 0 2 .9 2 2v2zm4-12c0 1.1-.9 2-2 2H31c-1.1 0-2-.9-2-2v-2c0-1.1.9-2 2-2h24c1.1 0 2 .9 2 2v2z" + }] + }, + duration_downscale: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M39.82 20H26.61C23 20 20 22.69 20 26v10c0 3.31 3 6 6.61 6h13.21c3.6 0 6.6-2.69 6.6-6V26c0-3.31-2.96-6-6.6-6zm-5.51 16h-2.2a5.27 5.27 0 01-5.5-5 5.27 5.27 0 015.5-5h2.2a5.28 5.28 0 015.51 5 5.28 5.28 0 01-5.51 5zM59.63 42h13.21c3.61 0 6.61-2.69 6.61-6V26c0-3.31-3-6-6.61-6H59.6C56 20 53 22.69 53 26v10c0 3.31 3 6 6.63 6zm5.51-16h2.2a5.27 5.27 0 015.5 5 5.27 5.27 0 01-5.5 5h-2.2a5.28 5.28 0 01-5.51-5 5.28 5.28 0 015.51-5zM39.82 48H26.61C23 48 20 50.69 20 54v10c0 3.31 3 6 6.61 6h13.21c3.6 0 6.6-2.69 6.6-6V54c0-3.31-2.96-6-6.6-6zm-5.51 16h-2.2a5 5 0 010-10h2.2a5 5 0 010 10zM79.78 67.63a1.15 1.15 0 00-.27-.27l-2.31-1.9a1.78 1.78 0 00-2.3 0L71 68.69c-.66.56-1.81.21-1.81-.63V49.4a1.6 1.6 0 00-1.62-1.4h-3.29a1.65 1.65 0 00-1.65 1.4v18.66c0 .84-1.15 1.19-1.81.63L57 65.46a1.8 1.8 0 00-2.31 0l-2.27 1.9a1.15 1.15 0 00-.29 1.6 1.33 1.33 0 00.29.29l12.35 10.33a1.78 1.78 0 002.3 0l12.44-10.33a1.17 1.17 0 00.27-1.62z" + } + }, + dynamic_record_choice: { + "xmlns": "http://www.w3.org/2000/svg", + "path": [{ + "d": "M43.5 71.4V71C34.5 68.2 28 59.9 28 50c0-12.1 9.9-22 22-22s22 9.9 22 22c0 2-.3 4-.8 5.9l.9.6c.4 0 .7-.1 1.1-.1 2 0 4 .6 5.6 1.5.7-2.5 1.1-5.2 1.1-8 0-16.5-13.5-30-30-30s-30 13.5-30 30c0 15.9 12.4 28.9 28 29.9-2.6-1.8-4.4-4.9-4.4-8.4z" + }, { + "d": "M56.7 53.5c1.9 0 3.7.5 5.3 1.3l1.2-.3c.5-1.4.8-2.9.8-4.5 0-7.7-6.2-13.9-13.9-13.9S36.2 42.3 36.2 50c0 6.2 4 11.4 9.6 13.3.6-5.6 5.2-9.8 10.9-9.8z" + }, { + "d": "M61.6 60.8c1-1 2.4-1.7 4-1.7 2.1 0 3.9 1.1 4.9 2.8.8-.3 1.8-.6 2.8-.6 3.7 0 6.8 3.1 6.8 6.7 0 3.7-3.1 6.7-6.8 6.7-.4 0-.9 0-1.3-.1-.8 1.5-2.5 2.5-4.3 2.5-.8 0-1.5-.2-2.2-.5-.9 2-2.9 3.4-5.2 3.4-2.5 0-4.5-1.5-5.3-3.6-.3 0-.7.1-1.1.1-2.9 0-5.3-2.3-5.3-5.2 0-1.9 1-3.6 2.6-4.5-.3-.7-.5-1.5-.5-2.4 0-3.3 2.8-6 6.1-6 1.9.1 3.7 1 4.8 2.4z" + }] + }, + education: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "path": { + "d": "M49.9 51.1c-1.5.1-2.9-.5-4.4-1-7.9-2.6-15.8-5.2-23.6-7.9-.5-.2-.9-.4-1.3-.7-.5-.4-.5-.9 0-1.3.4-.3.9-.6 1.4-.7 8.4-2.5 16.8-5 25.2-7.6 1.9-.6 3.8-.6 5.8 0 8.3 2.5 16.7 5 25 7.5.5.2 1 .4 1.5.7.6.4.6 1 0 1.4-.4.3-.8.5-1.2.6-8.3 2.8-16.7 5.6-25.1 8.3-1.1.5-2.1.7-3.3.7zM33.3 51.5c-1.2-.3-1.5.5-1.5 1.1v9.5c0 1.1.4 1.8 1.1 2.5.3.3.6.5.9.7 2 1.4 4.3 2.3 6.7 2.9 4.7 1.3 9.5 1.5 14.3.9 3.1-.4 6.2-1.2 9.1-2.5 1.3-.6 2.5-1.3 3.4-2.3.6-.6.9-1.2.8-2.1.1-3 .1-6.1.1-9.2 0-1.7-1.2-1.5-1.7-1.4-4.4 1.5-8.9 2.9-13.3 4.4-2.2.7-4.3.7-6.5 0l-13.4-4.5zM74.9 48.6c-.4.1-.5.3-.5.7v8.4c0 .3-.1.6-.2.9-.6 1.5-1.3 3-1.8 4.5-.5 1.4-.2 2.8.8 3.9.3.4.7.7 1.1 1 .4.3 1 .5 1.5.6.9.1 1.6-.4 2.2-.9l.9-.9c.7-.9.9-2.2.6-3.4-.4-1.7-1.1-3.2-1.9-4.7-.2-.3-.3-.7-.3-1v-9.2c0-.6-.5-.5-.7-.4l-1.7.5z" + } + } + }, + einstein_replies: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M50 22.4c-16.7 0-30 12.3-30 27.4 0 4.8 1.4 9.3 3.6 13.3.4.6.5 1.4.3 2.1L20 75.9c-.4 1 .6 1.9 1.6 1.6l10.9-4.1c.6-.3 1.4-.1 2.1.3 4.5 2.5 9.9 4 15.7 4 16.4-.2 29.8-12.3 29.8-27.6C80 34.6 66.6 22.4 50 22.4zm13.3 24.5l-7 5.2c-.3.2-.4.6-.3 1l3.3 8.8c.2.8-.6 1.5-1.3 1l-7.5-5.6c-.3-.2-.7-.2-1 0l-7.6 5.6c-.7.5-1.6-.2-1.3-1l3.2-8.8c.1-.3 0-.7-.3-1l-7-5.2c-.7-.5-.3-1.7.5-1.7h8.6c.4 0 .7-.1.8-.5l2.7-8.7c.2-.8 1.4-.7 1.6.1l2.6 8.6c.1.3.5.5.8.5h8.6c1 0 1.3 1.2.6 1.7z" + } + }, + email: { + "xmlns": "http://www.w3.org/2000/svg", + "path": [{ + "d": "M48.7 55c.8.7 1.9.7 2.7 0l28.3-26.2c.5-1 .4-2.6-1.6-2.6l-56 .1c-1.5 0-2.7 1.4-1.6 2.6L48.7 55z" + }, { + "d": "M80 40c0-1.3-1.6-2-2.5-1.1l-22 20.4c-1.5 1.4-3.4 2.1-5.4 2.1s-3.9-.7-5.4-2.1L22.6 38.9c-1-.9-2.5-.2-2.5 1.1v26c0 3.3 2.7 6 6 6h48c3.3 0 6-2.7 6-6-.1 0-.1-18-.1-26z" + }] + }, + email_chatter: { + "xmlns": "http://www.w3.org/2000/svg", + "path": [{ + "d": "M48.7 55c.8.7 1.9.7 2.7 0l28.3-26.2c.5-1 .4-2.6-1.6-2.6l-56 .1c-1.5 0-2.7 1.4-1.6 2.6L48.7 55z" + }, { + "d": "M80 40c0-1.3-1.6-2-2.5-1.1l-22 20.4c-1.5 1.4-3.4 2.1-5.4 2.1s-3.9-.7-5.4-2.1L22.6 38.9c-1-.9-2.5-.2-2.5 1.1v26c0 3.3 2.7 6 6 6h48c3.3 0 6-2.7 6-6-.1 0-.1-18-.1-26z" + }] + }, + employee: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M72.1 46.7c-3-13.8-17.7-23.9-20.6-25.9-.1-.1-.2-.1-.4-.2a3.31 3.31 0 00-2.4 0c-.1 0-.1.1-.2.1-2.9 1.9-17.5 12-20.6 25.8a22.18 22.18 0 004.4 19.1 24.46 24.46 0 0014.7 9l-1.5 2.6a2.48 2.48 0 000 1.7 1.72 1.72 0 001.5.9h6.1a2 2 0 001.5-.9 2.48 2.48 0 000-1.7l-1.5-2.6a24 24 0 0014.7-9 22.33 22.33 0 004.3-18.9zm-8.3 15.7c-.5.6-1.1 1.2-1.7 1.9a13 13 0 00-12-8h-.4a12.29 12.29 0 00-11.7 8c-.6-.6-1.1-1.2-1.7-1.9a17.38 17.38 0 01-3.5-14.7C35.2 37.1 46.1 28.5 50 25.9c3.9 2.7 14.8 11.3 17.2 21.9a16.56 16.56 0 01-3.4 14.6z" + }, + "circle": { + "cx": "50", + "cy": "46.3", + "r": "8.4" + } + }, + employee_asset: { + "xmlns": "http://www.w3.org/2000/svg", + "path": [{ + "d": "M74.8 20.3H25.2a5 5 0 00-5 5v34.3a5 5 0 005 5h49.5a5 5 0 005-5V25.2a4.91 4.91 0 00-4.9-4.9zm-2.5 34.9a2 2 0 01-1.9 1.9H29.6a1.9 1.9 0 01-1.9-1.9V29.6a2 2 0 011.9-1.9h40.7a2 2 0 012 1.9zM41.3 72.3a5 5 0 00-5 5v.6a2 2 0 001.9 1.9h23.5a2 2 0 001.9-1.9v-.6a5 5 0 00-5-5z" + }, { + "d": "M50.2 44.4h-.4a8.83 8.83 0 00-8.7 7.5c0 .4.1 1.2 1.5 1.2h14.9c1.4 0 1.5-.9 1.5-1.2a9 9 0 00-8.8-7.5z" + }], + "circle": { + "cx": "50.1", + "cy": "37.6", + "r": "5.8" + } + }, + employee_contact: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M73.8 29.7H26.3a6 6 0 00-6 6v28.6a6 6 0 006 6h47.4a6 6 0 006-6V35.7a6.13 6.13 0 00-5.9-6zm-34.9 5.4a7.6 7.6 0 11-7.6 7.6 7.66 7.66 0 017.6-7.6zm9.8 28.3H29.2c-1.7 0-2-1.1-2-1.6a11.45 11.45 0 0111.4-9.9h.4a11.45 11.45 0 0111.4 9.9c.3.5 0 1.6-1.7 1.6zm23.1-6.9a2 2 0 01-2 2H61a2 2 0 01-2-2v-3a2 2 0 012-2h8.8a2 2 0 012 2zm0-11a2 2 0 01-2 2H55a2 2 0 01-2-2v-3a2 2 0 012-2h14.8a2 2 0 012 2z" + } + }, + employee_job: { + "xmlns": "http://www.w3.org/2000/svg", + "circle": { + "cx": "44.6", + "cy": "36.3", + "r": "16" + }, + "path": { + "d": "M48.8 79.6c2.7 0 1.2-1.9 1.2-1.9a19.58 19.58 0 01-2.5-20.1l.2-.4a1.17 1.17 0 00-.9-1.9 18.48 18.48 0 00-2.4-.1 24.26 24.26 0 00-24 20.9c0 1.2.4 3.5 4.2 3.5h24.2zM65.2 51.2a14.2 14.2 0 1014.2 14.2 14.25 14.25 0 00-14.2-14.2zM60.4 74a3.5 3.5 0 113.5-3.5 3.54 3.54 0 01-3.5 3.5zm3.5-11.9a1.27 1.27 0 01-.4.7l-2.7 1.5a.48.48 0 01-.7 0l-2.7-1.5a1 1 0 01-.4-.7V59a1 1 0 01.4-.7l2.7-1.5a.48.48 0 01.7 0l2.7 1.5a1 1 0 01.4.7zm2.6-4.3a.68.68 0 01.7-.7h5.2a.68.68 0 01.7.7V63a.68.68 0 01-.7.7h-5.1a.68.68 0 01-.7-.7l-.1-5.2zM73.4 71l-3.1 3.2a.48.48 0 01-.7 0L66.5 71a.48.48 0 010-.7l3.1-3.2a.48.48 0 01.7 0l3.1 3.2a.48.48 0 010 .7z" + } + }, + employee_job_position: { + "xmlns": "http://www.w3.org/2000/svg", + "path": [{ + "d": "M65.3 51.5a14.25 14.25 0 1014.2 14.3 14.32 14.32 0 00-14.2-14.3zM67.8 67a3.09 3.09 0 01-1.1-.2l-5.4 5.4a1.71 1.71 0 01-1.1.5c-.5 0-.9-.1-1.1-.5a1.82 1.82 0 010-2.4l5.4-5.4a4.47 4.47 0 014-5.8 3.09 3.09 0 011.1.2c.2 0 .2.2.1.4l-2.5 2.4a.37.37 0 000 .6l1.6 1.6a.48.48 0 00.7 0l2.4-2.4c.1-.1.5-.1.5.1a6.53 6.53 0 01.2 1.1 4.47 4.47 0 01-4.8 4.4z" + }, { + "d": "M48.9 79.7c2.7 0 1.2-1.9 1.2-1.9a19.58 19.58 0 01-2.5-20.1l.2-.4a1.17 1.17 0 00-.9-1.9 18.48 18.48 0 00-2.4-.1 24.54 24.54 0 00-24.2 21c0 1.2.4 3.5 4.2 3.5h23.9a1.75 1.75 0 01.5-.1z" + }], + "circle": { + "cx": "44.6", + "cy": "36.1", + "r": "16.1" + } + }, + employee_organization: { + "xmlns": "http://www.w3.org/2000/svg", + "circle": { + "cx": "63.3", + "cy": "47.6", + "r": "10.7" + }, + "path": { + "d": "M63.6 60.3h-.8a16.43 16.43 0 00-16.1 13.9c0 .7.2 2.4 2.7 2.4h27.2c2.5 0 2.7-1.5 2.7-2.4a15.65 15.65 0 00-15.7-13.9zM48.6 58.3c.4-.4.1-.7.1-.7a17.94 17.94 0 01-3.1-10 17.18 17.18 0 013.2-10.2.1.1 0 01.1-.1 1.76 1.76 0 00.4-1.1V25.4a2.15 2.15 0 00-2-2H22.5a2.18 2.18 0 00-2 2.1v46.2H40a24.12 24.12 0 018.6-13.4zm-17 7.7a2.18 2.18 0 01-2.1 2.1h-2.1a2.18 2.18 0 01-2.1-2.1v-2.1a2.18 2.18 0 012.1-2.1h2.1a2.18 2.18 0 012.1 2.1zm0-10.5a2.18 2.18 0 01-2.1 2.1h-2.1a2.18 2.18 0 01-2.1-2.1v-2.1a2.18 2.18 0 012.1-2.1h2.1a2.18 2.18 0 012.1 2.1zm0-10.5a2.18 2.18 0 01-2.1 2.1h-2.1a2.18 2.18 0 01-2.1-2.1v-2.1a2.18 2.18 0 012.1-2.1h2.1a2.18 2.18 0 012.1 2.1zm0-10.5a2.18 2.18 0 01-2.1 2.1h-2.1a2.18 2.18 0 01-2.1-2.1v-2.1a2.18 2.18 0 012.1-2.1h2.1a2.18 2.18 0 012.1 2.1zm11.9 21a2.18 2.18 0 01-2.1 2.1h-2.1a2.18 2.18 0 01-2.1-2.1v-2.1a2.18 2.18 0 012.1-2.1h2.1a2.18 2.18 0 012.1 2.1zm0-10.5a2.18 2.18 0 01-2.1 2.1h-2.1a2.18 2.18 0 01-2.1-2.1v-2.1a2.18 2.18 0 012.1-2.1h2.1a2.18 2.18 0 012.1 2.1zm0-10.5a2.18 2.18 0 01-2.1 2.1h-2.1a2.18 2.18 0 01-2.1-2.1v-2.1a2.18 2.18 0 012.1-2.1h2.1a2.18 2.18 0 012.1 2.1z" + } + }, + empty: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "opacity": ".5", + "d": "M72 78H28c-3.3 0-6-2.7-6-6V28c0-3.3 2.7-6 6-6h44c3.3 0 6 2.7 6 6v44c0 3.3-2.7 6-6 6zM28 30v40c0 1.1.9 2 2 2h40c1.1 0 2-.9 2-2V30c0-1.1-.9-2-2-2H30c-1.1 0-2 .9-2 2z" + } + }, + endorsement: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M27.9 42H22c-1.1 0-2 .9-2 2v32.3c0 1.1.9 1.7 2 1.7h2c3.3 0 6-2.7 6-6V44.1c0-1.2-.9-2.1-2.1-2.1zM72 43h-6c-3.3 0-6-2.7-6-6V25c0-3.3-2.7-6-6-6h-4c-1.1 0-2 .9-2 2v8c0 7-3.6 14-10 14-1.1 0-2 .9-2 2v28c0 1.1.8 1.9 1.9 2 8.9.5 14.8 3.9 24.1 3.9 10 0 18-3.2 18-12.7V51c0-4.4-3.6-8-8-8z" + } + }, + entitlement: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M71.9 19.9H35.2c-3.7 0-6.9 3.4-6.9 6.9H26c-2.6 0-4.6 2.1-4.6 4.7s2 4.6 4.6 4.6h2.3v9.3H26c-2.6 0-4.6 2-4.6 4.6s2 4.6 4.6 4.6h2.3v9.3H26c-2.6 0-4.6 2.1-4.6 4.6 0 2.6 2 4.6 4.6 4.6h2.3c0 4.6 3.2 6.9 6.9 6.9h36.7c3.7 0 6.9-3.2 6.9-6.9V26.8c-.1-3.7-3.2-6.9-6.9-6.9zM68.1 70c0 1.1-.9 2-2 2H40c-1.1 0-2-.9-2-2v-2c0-1.1.9-2 2-2h26.1c1.1 0 2 .9 2 2v2zM40 50.3l2.1-2.1c.6-.6 1.5-.6 2.1 0l5.2 5.1 12.8-12.7c.6-.6 1.5-.6 2.1 0l2.1 2.1c.5.6.5 1.6 0 2.1l-15 14.8c-.6.6-1.3.8-2.1.8s-1.5-.2-2.1-.8L40 52.4c-.7-.6-.7-1.5 0-2.1zm28.1-17.9c0 1.1-.9 2-2 2H40c-1.1 0-2-.9-2-2v-2c0-1.1.9-2 2-2h26.1c1.1 0 2 .9 2 2v2z" + } + }, + entitlement_policy: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "path": [{ + "d": "M25.4 34.9H36c2.2 0 4-1.8 4-4V20.3c0-.8-.6-1.4-1.4-1.4-.4 0-.7.1-1 .4L24.4 32.5c-.3.3-.4.6-.4 1 0 .8.6 1.4 1.4 1.4z" + }, { + "d": "M46.4 78.8l4.7-6.4 4.3-5.8c-.1-.4-.1-.7-.2-1v-.1c-.7-.9-1.9-2.5-1.9-4.8s1.2-3.9 1.8-4.8c.1-1 .4-3.1 2.2-4.8 1.6-1.5 3.5-1.8 4.5-2h.1c.9-.7 2.5-1.9 4.8-1.9s3.9 1.2 4.8 1.8c.6.1 1.5.2 2.5.6V24.9c0-3.3-2.7-6-6-6H48c-1.1 0-2 .9-2 2v14c0 3.3-2.7 6-6 6H26c-1.1 0-2 .9-2 2v30c0 3.3 2.7 6 6 6h16.3l.1-.1z" + }] + }, + "path": { + "d": "M65.2 71.5L60 78.9l-1.3-3.5h-3.5l4.5-6.1c.9.5 1.8.6 2.5.8.2.1.5.1.6.1.1.1.3.2.5.3.4.3 1 .7 1.9 1zm8.4-2.3c-.9.5-1.8.6-2.5.8-.2.1-.5.1-.7.1-.1.1-.3.2-.5.3-.5.3-1.1.9-1.9 1.2l5.2 7.3 1.3-3.5H78l-4.4-6.2zm-7-11.6c-1.7 0-3.1 1.4-3.1 3.1s1.4 3.1 3.1 3.1c1.7 0 3.1-1.4 3.1-3.1s-1.4-3.1-3.1-3.1zm8.5 3.1c0 1.1-1.2 1.9-1.5 2.8-.4 1-.2 2.4-.9 3.1-.7.7-2.1.5-3.1.9-.9.4-1.8 1.5-2.8 1.5s-1.9-1.2-2.8-1.5c-1-.4-2.4-.2-3.1-.9-.7-.7-.5-2.1-.9-3.1-.4-.9-1.5-1.8-1.5-2.8s1.2-1.9 1.5-2.8c.4-1 .2-2.4.9-3.1.7-.7 2.1-.5 3.1-.9.9-.4 1.8-1.5 2.8-1.5s1.9 1.2 2.8 1.5c1 .4 2.4.2 3.1.9.7.7.5 2.1.9 3.1.3 1 1.5 1.8 1.5 2.8zm-2.7 0c0-3.2-2.5-5.8-5.8-5.8-3.2 0-5.8 2.5-5.8 5.8s2.5 5.8 5.8 5.8 5.8-2.6 5.8-5.8z" + } + }, + entitlement_process: { + "xmlns": "http://www.w3.org/2000/svg", + "path": [{ + "d": "M56 79.6V63.1l9.4-10.4h13.3v20c-.1 3.8-3.1 6.8-6.9 6.9H56z" + }, { + "d": "M50 79.6H35.2c-3.7 0-6.9-2.3-6.9-6.9H26c-2.5 0-4.6-2-4.6-4.5v-.1c0-2.5 2.1-4.6 4.6-4.6h2.3v-9.3H26c-2.5 0-4.6-2.1-4.6-4.6 0-2.5 2.1-4.6 4.6-4.6h2.3v-9.3H26c-2.5 0-4.6-2-4.6-4.5v-.1c0-2.5 2-4.6 4.5-4.7h2.4c.2-3.7 3.2-6.7 6.9-6.9h36.6c3.8.1 6.8 3.1 6.9 6.9v20.2H65L54.3 34.8c-.8-.8-2.2-.8-3 0L39 48.3c-.7.8-.7 2 0 2.8L49.8 63s.1 16.6.2 16.6z" + }] + }, + entitlement_template: { + "xmlns": "http://www.w3.org/2000/svg", + "path": [{ + "d": "M70.5 19.5H33.8c-3.7.1-6.8 3.2-6.9 6.9h-2.3c-2.5 0-4.6 2.1-4.6 4.6v.1c0 2.5 2 4.6 4.5 4.6h2.4V45h-2.3c-2.5 0-4.6 2.1-4.6 4.6 0 2.5 2.1 4.6 4.6 4.6h2.3v9.3h-2.3c-2.5 0-4.6 2-4.6 4.6 0 2.5 2 4.6 4.5 4.6h2.4c0 4.6 3.2 6.9 6.9 6.9h36.7c3.8-.1 6.8-3.1 6.9-6.9V26.4c-.1-3.8-3.1-6.8-6.9-6.9zm-3.3 45.1H36.7v-30h30.5v30z" + }, { + "d": "M42 45.1h19.9c.4 0 .8-.3.8-.7v-4.6c0-.4-.3-.8-.7-.8H42c-.4 0-.8.3-.8.7v4.6c0 .4.3.8.7.8h.1zM42 60.1h4.6c.4 0 .8-.3.8-.7v-9.1c0-.4-.3-.8-.7-.8H42c-.4 0-.8.3-.8.7v9.1c0 .4.3.8.7.8h.1zM61.8 49.6h-9.2c-.4 0-.8.3-.8.7v9.1c0 .4.3.8.7.8H61.8c.4 0 .8-.3.8-.7v-9.1c0-.4-.3-.8-.7-.8h-.1z" + }] + }, + entity: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M74.4 28.7c0-4.8-10.9-8.7-24.4-8.7s-24.4 3.9-24.4 8.7v3c0 4.8 10.9 8.7 24.4 8.7s24.4-3.9 24.4-8.7v-3zm-48.8 10c0 3.8 10.9 6.8 24.4 6.8s24.4-3 24.4-6.8v6.2c0 4.8-10.9 8.7-24.4 8.7s-24.4-3.9-24.4-8.7v-6.2zm0 0c0 3.8 10.9 6.8 24.4 6.8s24.4-3 24.4-6.8v6.2c0 4.8-10.9 8.7-24.4 8.7s-24.4-3.9-24.4-8.7v-6.2zm0 13.2c0 3.8 10.9 6.8 24.4 6.8s24.4-3 24.4-6.8V58c0 4.8-10.9 8.7-24.4 8.7s-24.4-3.8-24.4-8.5v-6.3zm0 13.3c0 3.8 11 6.8 24.4 6.8s24.4-3 24.4-6.8v6.2c0 4.8-10.9 8.7-24.4 8.7s-24.4-3.9-24.4-8.7v-6.2z" + } + }, + entity_milestone: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M74.2 32.9L53.1 21.1c-2-1.1-4.4-1.1-6.4 0L25.6 33c-2 1.1-3.2 3.2-3.2 5.4v23.7c.1 2.2 1.3 4.2 3.2 5.4l21.1 11.9c2 1.1 4.4 1.1 6.4 0l21.1-11.9c2-1.1 3.2-3.2 3.1-5.4V38.3c0-2.2-1.2-4.3-3.1-5.4zm-33.4 7.6v25c0 1.2-.9 2.1-2.1 2.2-1.2 0-2.1-1-2.1-2.2v-25c-.7-.7-1.1-1.6-1.1-2.5 0-1.8 1.5-3.2 3.3-3.1s3.2 1.5 3.1 3.3c0 .9-.4 1.7-1.1 2.3zm25.7 15.7c0 .4-.2.7-.5.9-8.3 4.6-12.9-2.8-20.5-.4-.6.2-1.2-.1-1.4-.7V41.5c0-.4.3-.8.7-1 7.9-3 12.5 4.8 20.9.3.3-.1.6 0 .7.2 0 .1.1.2.1.3v14.9z" + } + }, + environment_hub: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M43.1 47c.4-4.2 1.6-8.3 3.6-11.8 3.3-5.7 8.6-9 15.8-9.2 1.2-3.5 4.6-6 8.5-6 5 0 9 4 9 9s-4 9-9 9c-3.9 0-7.2-2.5-8.5-6-8.1.3-12.5 6.6-13.4 15h13.4c1.2-3.5 4.6-6 8.5-6 5 0 9 4 9 9s-4 9-9 9c-3.9 0-7.3-2.5-8.5-6H49.1c.7 9 4.9 15.1 13.4 15 1.2-3.5 4.6-6 8.5-6 5 0 9 4 9 9s-4 9-9 9c-3.9 0-7.3-2.5-8.5-6-7.4.1-12.8-3.3-16.1-9.1-1.9-3.5-3-7.6-3.3-11.9h-5.6c-1.2 3.5-4.6 6-8.5 6-5 0-9-4-9-9s4-9 9-9c3.9 0 7.3 2.5 8.5 6h5.6zM71 32c1.7 0 3-1.3 3-3s-1.3-3-3-3-3 1.3-3 3 1.3 3 3 3zm0 42c1.7 0 3-1.3 3-3s-1.3-3-3-3-3 1.3-3 3 1.3 3 3 3zm0-21c1.7 0 3-1.3 3-3s-1.3-3-3-3-3 1.3-3 3 1.3 3 3 3zm-42 0c1.7 0 3-1.3 3-3s-1.3-3-3-3-3 1.3-3 3 1.3 3 3 3z" + } + }, + event: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M76 42H24c-1.1 0-2 .9-2 2v30c0 3.3 2.7 6 6 6h44c3.3 0 6-2.7 6-6V44c0-1.1-.9-2-2-2zM40 70c0 1.1-.9 2-2 2h-4c-1.1 0-2-.9-2-2v-4c0-1.1.9-2 2-2h4c1.1 0 2 .9 2 2v4zm0-14c0 1.1-.9 2-2 2h-4c-1.1 0-2-.9-2-2v-4c0-1.1.9-2 2-2h4c1.1 0 2 .9 2 2v4zm14 14c0 1.1-.9 2-2 2h-4c-1.1 0-2-.9-2-2v-4c0-1.1.9-2 2-2h4c1.1 0 2 .9 2 2v4zm0-14c0 1.1-.9 2-2 2h-4c-1.1 0-2-.9-2-2v-4c0-1.1.9-2 2-2h4c1.1 0 2 .9 2 2v4zm14 14c0 1.1-.9 2-2 2h-4c-1.1 0-2-.9-2-2v-4c0-1.1.9-2 2-2h4c1.1 0 2 .9 2 2v4zm0-14c0 1.1-.9 2-2 2h-4c-1.1 0-2-.9-2-2v-4c0-1.1.9-2 2-2h4c1.1 0 2 .9 2 2v4zM72 26h-5v-2c0-2.2-1.8-4-4-4s-4 1.8-4 4v2H41v-2c0-2.2-1.8-4-4-4s-4 1.8-4 4v2h-5c-3.3 0-6 2.7-6 6v2c0 1.1.9 2 2 2h52c1.1 0 2-.9 2-2v-2c0-3.3-2.7-6-6-6z" + } + }, + events: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M71.4 28.6C65.9 23.1 58.6 20 50.9 20c-1.7 0-3 1.3-3 3s1.3 3 3 3c6.1 0 11.9 2.4 16.3 6.7C71.5 37.2 74 43 74 49.1c0 1.7 1.3 3 3 3s3-1.3 3-3c0-7.7-3-15-8.6-20.5zm-20.5 3.5c-1.7 0-3 1.3-3 3s1.3 3 3 3c2.9 0 5.7 1.1 7.8 3.2 2.1 2.1 3.2 4.8 3.2 7.8 0 1.7 1.3 3 3 3s3-1.3 3-3c0-4.5-1.8-8.8-5-12s-7.5-5-12-5zm-4.3 28.7l2.6-7c1.8.7 3.8.3 5.3-1.1 2-2 2-5.1 0-7.1s-5.1-2-7.1 0c-1.5 1.5-1.8 3.7-1 5.6l-6.5 2.9-11.7-11.7c-.8-.8-2.2-.8-2.9.1-7.5 9-7 22.4 1.5 30.9 8.4 8.4 21.8 8.9 30.9 1.5.9-.7.9-2.1.1-2.9L46.6 60.8z" + } + }, + expense: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M75 23.8H25a4.59 4.59 0 00-4.6 4.6V74a1.12 1.12 0 001.9.8l4.1-4.1a1 1 0 011.6 0l5.2 5.2a1 1 0 001.6 0l4.1-4.1a1 1 0 011.6 0l4.1 4.1a1 1 0 001.6 0l4.1-4.1a1 1 0 011.6 0l4.1 4.1a1 1 0 001.6 0l4.1-4.1a1 1 0 011.6 0l4.1 4.1a1 1 0 001.6 0l4.1-4.1a1 1 0 011.6 0l3 3a1.12 1.12 0 001.9-.8V28.3a4.5 4.5 0 00-4.6-4.5zM53 50.4v1.1a5.45 5.45 0 01-3.1 1 5.6 5.6 0 010-11.2 5.59 5.59 0 015.6 5.2 4.48 4.48 0 00-2.5 3.9zm15 14.1a1.52 1.52 0 01-1.5 1.4h-9a1.43 1.43 0 01-1.4-1.4v-1.4a1.43 1.43 0 011.4-1.4h9.1a1.43 1.43 0 011.4 1.4zm0-6.3a1.52 1.52 0 01-1.5 1.4h-9a1.43 1.43 0 01-1.4-1.4v-1.4a1.43 1.43 0 011.4-1.4h9.1a1.43 1.43 0 011.4 1.4zm0-6.4a1.52 1.52 0 01-1.5 1.4h-9a1.43 1.43 0 01-1.4-1.4v-1.4a1.43 1.43 0 011.4-1.4h9.1a1.43 1.43 0 011.4 1.4zm.1-5.7a3.4 3.4 0 00-1.4-.2h-2.9v-3a4 4 0 01-4-4H40a4 4 0 01-4 4v8.4a4 4 0 014 4h13.2a3.4 3.4 0 00-.2 1.4v1.4a6.64 6.64 0 00.3 1.5h-18a3.37 3.37 0 01-3.4-3.4V38.1a3.37 3.37 0 013.4-3.4h29.4a3.37 3.37 0 013.4 3.4z" + } + }, + expense_report: { + "xmlns": "http://www.w3.org/2000/svg", + "path": [{ + "d": "M39.3 32.1h21.4a2 2 0 002-2v-4a6 6 0 00-5.8-6H43.3a5.91 5.91 0 00-5.8 6v4a1.74 1.74 0 001.8 2z" + }, { + "d": "M71.4 25.2h-2a.94.94 0 00-1 1v4a7.9 7.9 0 01-7.8 7.9H39.3a7.9 7.9 0 01-7.8-7.9v-4a.94.94 0 00-1-1h-2a5.91 5.91 0 00-5.8 6v42.6a6 6 0 005.8 6h42.9a5.91 5.91 0 005.8-6V31.2a5.79 5.79 0 00-5.8-6zM53 59.4v1.1a5.45 5.45 0 01-3.1 1 5.6 5.6 0 010-11.2 5.59 5.59 0 015.6 5.2 4.48 4.48 0 00-2.5 3.9zm15 14.1a1.52 1.52 0 01-1.5 1.4h-9a1.43 1.43 0 01-1.4-1.4v-1.4a1.43 1.43 0 011.4-1.4h9.1a1.43 1.43 0 011.4 1.4zm0-6.3a1.52 1.52 0 01-1.5 1.4h-9a1.43 1.43 0 01-1.4-1.4v-1.4a1.43 1.43 0 011.4-1.4h9.1a1.43 1.43 0 011.4 1.4zm0-6.4a1.52 1.52 0 01-1.5 1.4h-9a1.43 1.43 0 01-1.4-1.4v-1.4a1.43 1.43 0 011.4-1.4h9.1a1.43 1.43 0 011.4 1.4zm.1-5.7a3.4 3.4 0 00-1.4-.2h-2.9v-3a4 4 0 01-4-4H40a4 4 0 01-4 4v8.4a4 4 0 014 4h13.2a3.4 3.4 0 00-.2 1.4v1.4a6.64 6.64 0 00.3 1.5h-18a3.37 3.37 0 01-3.4-3.4V47.1a3.37 3.37 0 013.4-3.4h29.4a3.37 3.37 0 013.4 3.4z" + }] + }, + expense_report_entry: { + "xmlns": "http://www.w3.org/2000/svg", + "path": [{ + "d": "M37 31.6h20.4a1.84 1.84 0 001.9-1.9v-3.8a5.66 5.66 0 00-5.5-5.7h-13a5.59 5.59 0 00-5.5 5.7v3.8a1.74 1.74 0 001.7 1.9zM67.3 54.5A12.7 12.7 0 1080 67.2a12.72 12.72 0 00-12.7-12.7zm8.2 9.2L66.2 73a1.94 1.94 0 01-2.6 0L59 68.4a.85.85 0 010-1.3l1.3-1.3a.85.85 0 011.3 0l3.2 3.2 8.1-8.1a.85.85 0 011.3 0l1.3 1.3c.7.6.2 1.2 0 1.5z" + }, { + "d": "M59.8 52.3a3.91 3.91 0 01-2.7-3.8H37.3a4 4 0 01-4 4V61a4 4 0 014 4h13.6a16.74 16.74 0 018.9-12.7zm-12.6 9.6a5.4 5.4 0 115.4-5.4 5.38 5.38 0 01-5.4 5.4z" + }, { + "d": "M67.6 25h-1.9a.84.84 0 00-.9.9v3.8a7.56 7.56 0 01-7.4 7.6H37a7.49 7.49 0 01-7.4-7.6v-3.8a.84.84 0 00-.9-.9h-1.9a5.59 5.59 0 00-5.5 5.7v40.6a5.66 5.66 0 005.5 5.7H54a17 17 0 01-3.1-7.7H32.6a3.37 3.37 0 01-3.4-3.4V47.8a3.37 3.37 0 013.4-3.4H62a3.37 3.37 0 013.4 3.4v2.9a13.4 13.4 0 012-.1 15.75 15.75 0 015.8 1.1v-21a5.74 5.74 0 00-5.6-5.7z" + }] + }, + feed: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M49 72c-.4 0-.9-.1-1.4-.4-.8-.4-1.4-1.3-1.6-2.2l-7.8-31.2-6.5 14.9c-.4 1.2-1.5 1.9-2.7 1.9h-9c-1.1 0-2-.9-2-2v-2c0-1.1.9-2 2-2h7l9.2-21.2c.5-1.2 1.7-1.9 3-1.8 1.3.1 2.4 1 2.7 2.3l7.9 31.6 10.4-23.1c.5-1.2 1.7-1.9 3-1.8 1.1.1 2.1.9 2.6 2L71 49h9c1.1 0 2 .9 2 2v2c0 1.1-.9 2-2 2H69c-1.2 0-2.3-.7-2.8-1.8l-3.3-7.7-11.2 24.7c-.5 1.1-1.5 1.8-2.7 1.8z" + } + }, + feedback: { + "xmlns": "http://www.w3.org/2000/svg", + "path": [{ + "d": "M79.1 56.5c-.1-.4-.1-.9.2-1.2C81 52.2 82 48.7 82 45c0-11.6-9.9-21-22-21-5.2 0-10 1.8-13.8 4.7C58.7 31.4 68 42.2 68 55c0 3.6-.7 7.1-2.1 10.2 2-.5 3.9-1.3 5.7-2.4.4-.2.8-.3 1.2-.1l6.4 2.3c1.1.4 2.2-.7 1.9-1.9l-2-6.6z" + }, { + "d": "M40 34c-12.1 0-22 9.4-22 21 0 3.7 1 7.2 2.8 10.3.2.4.3.8.2 1.2l-2.1 6.7c-.4 1.2.7 2.3 1.9 1.9l6.4-2.3c.4-.1.9-.1 1.2.1 3.4 2 7.3 3.1 11.6 3.1 12.1 0 22-9.4 22-21s-9.9-21-22-21zM28 59c-2.2 0-4-1.8-4-4s1.8-4 4-4 4 1.8 4 4-1.8 4-4 4zm12 0c-2.2 0-4-1.8-4-4s1.8-4 4-4 4 1.8 4 4-1.8 4-4 4zm12 0c-2.2 0-4-1.8-4-4s1.8-4 4-4 4 1.8 4 4-1.8 4-4 4z" + }] + }, + file: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "path": [{ + "d": "M29 63V31c-3.3 0-6 2.7-6 6v38c0 3.3 2.7 6 6 6h30c3.3 0 6-2.7 6-6H41c-6.6 0-12 0-12-12z" + }, { + "d": "M75 37H65c-3.3 0-6-2.7-6-6V21c0-1.1-.9-2-2-2H41c-3.3 0-6 2.7-6 6v38c0 3.3 2.7 6 6 6h30c3.3 0 6-2.7 6-6V39c0-1.1-.9-2-2-2z" + }, { + "d": "M76.6 28.6l-9.2-9.2c-.3-.3-.6-.4-1-.4-.8 0-1.4.6-1.4 1.4V27c0 2.2 1.8 4 4 4h6.6c.8 0 1.4-.6 1.4-1.4 0-.4-.1-.7-.4-1z" + }] + } + }, + filiter_criteria_rule: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M51.75 20a2 2 0 012 2v14A4.86 4.86 0 0059 41.25h14a2 2 0 012 2V74a6.08 6.08 0 01-6 6H31a6.08 6.08 0 01-6-6V26a6.08 6.08 0 016-6h20.75zm9.4 30h-22.3a.86.86 0 00-.65 1.41l9.74 11.39a2.08 2.08 0 01.45 1.31v7.23a.82.82 0 00.81.75h1.5a.73.73 0 00.71-.75v-7.23A1.84 1.84 0 0152 62.8l9.8-11.39a.86.86 0 00-.65-1.41zm-.9-30a1.74 1.74 0 011.13.38l13.24 13.24a1.74 1.74 0 01.38 1.13 1.5 1.5 0 01-1.38 1.5H63A4.38 4.38 0 0158.75 32V21.38a1.5 1.5 0 011.5-1.38z" + } + }, + filter: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M77 20H21c-1.9 0-2.8 2.1-1.6 3.5l24.2 28.6c.8.9 1.1 2.1 1.1 3.3v22.7c0 1 1 1.9 2 1.9h4.4c1 0 1.8-.9 1.8-1.9V55.5c0-1.3.5-2.4 1.4-3.3l24.3-28.6c1.2-1.4.3-3.6-1.6-3.6z" + } + }, + filter_criteria: { + "xmlns": "http://www.w3.org/2000/svg", + "path": [{ + "d": "M38.86 32h21.81a2 2 0 002-2v-4a6 6 0 00-5.95-6H42.83a6 6 0 00-5.95 6v4a2 2 0 001.98 2z" + }, { + "d": "M29.93 25a.94.94 0 011 1v4a8 8 0 007.93 8h21.81a8 8 0 007.94-8v-4a.94.94 0 011-1h2a6 6 0 016 6v43a6 6 0 01-6 6H28a6 6 0 01-6-6V31a6 6 0 016-6h2zm31.22 23h-22.3a.86.86 0 00-.65 1.41l9.74 11.39a2.08 2.08 0 01.45 1.31v7.23a.82.82 0 00.81.75h1.5a.73.73 0 00.71-.75v-7.23A1.84 1.84 0 0152 60.8l9.8-11.39a.86.86 0 00-.65-1.41z" + }] + }, + first_non_empty: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M55.9 49.3l22.7-22.8c.8-.8.8-2 0-2.9l-2.7-2.9c-.8-.8-2-.8-2.9 0L50.1 43.6c-.5.5-1.4.5-1.9 0l-22.8-23c-.8-.8-2-.8-2.9 0l-2.9 2.9c-.8.8-.8 2 0 2.9l22.8 22.8c.5.5.5 1.4 0 1.9L19.6 74c-.8.8-.8 2 0 2.9l2.9 2.9c.8.8 2 .8 2.9 0L48.2 57c.5-.5 1.4-.5 1.9 0l22.6 22.6c.8.8 2 .8 2.9 0l2.9-2.9c.8-.8.8-2 0-2.9L55.9 51.2c-.6-.6-.6-1.4 0-1.9z" + } + }, + flow: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "path": { + "d": "M79.9 30.7c-2.6-5.1-9.2-14.6-21.5-9-7.6 3.5-11.9 5.5-11.9 5.5l-11 4.8c-3.1 1.5-9.9-.6-13.7-2-1.1-.4-2.1.8-1.6 1.9 2.6 5.1 9.2 14.6 21.5 9 7.6-3.5 22.9-10.1 22.9-10.1 3.1-1.5 9.9.6 13.7 2 1.1.2 2.1-.9 1.6-2.1zM53.5 46.8c-1.4.8-6.9 3.3-6.9 3.3l-5.5 2.4C38.4 54 32.5 52 29 50.6c-1-.5-1.9.8-1.4 1.8 2.2 5 8.1 14 18.9 8.5 6.7-3.4 12.4-5.6 12.4-5.6 2.7-1.5 8.6.5 12.1 1.9 1 .4 1.9-.8 1.4-1.9-2.3-5-8.2-14-18.9-8.5zM49.5 68.9c-1.1.6-3 1.8-3 1.8-2.1 1.3-6.5-.4-9.1-1.7-.7-.4-1.4.8-1 1.8 1.6 4.5 6 12.6 14.1 7.6 3-1.9 3-1.8 3-1.8 2.2-1.1 6.5.4 9.1 1.6.7.4 1.4-.8 1-1.8-1.6-4.4-5.7-12.1-14.1-7.5z" + } + } + }, + folder: { + "xmlns": "http://www.w3.org/2000/svg", + "path": [{ + "d": "M75 34.7H46.6c-1.8 0-3.4-1-4.4-2.5l-4.4-7.6C37 23 35.4 22 33.5 22H25c-2.8 0-5 2.3-5 5.1v45.8c0 2.8 2.2 5.1 5 5.1h50c2.8 0 5-2.3 5-5.1V39.8c0-2.8-2.2-5.1-5-5.1z" + }, { + "d": "M75 24.5H44.9c-.5 0-.8.5-.5.9l2 3.4c.2.5.6.8 1.1.8H75c1.4 0 2.8.3 3.9.8.5.3 1.1-.1 1.1-.8 0-2.8-2.2-5.1-5-5.1z" + }] + }, + forecasts: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M77.7 29.2S74.2 22 66.4 22s-11.5 7.4-11.5 7.4c-5.2-2.5-9.9 0-9.9 0S41.4 22 33.6 22s-11.3 7.2-11.3 7.2-7.3 16.3-7.5 30.9C14.6 74.5 24.3 78 28.9 78c5 0 16.8-2.1 16.2-18.5 0 0 1.2-2.8 4.5-2.7 4 0 5.4 2.7 5.4 2.7C54.4 75.9 66.2 78 71.1 78c4.5 0 14.3-3.5 14.1-17.9-.2-14.6-7.5-30.9-7.5-30.9zM29.8 71.6c-4.8 0-8.7-3.9-8.7-8.7s3.9-8.7 8.7-8.7 8.7 3.9 8.7 8.7-3.9 8.7-8.7 8.7zm40.4 0c-4.8 0-8.7-3.9-8.7-8.7s3.9-8.7 8.7-8.7 8.7 3.9 8.7 8.7-3.9 8.7-8.7 8.7z" + } + }, + form: { + "xmlns": "http://www.w3.org/2000/svg", + "rect": [{ + "fill": "none", + "height": "6", + "rx": "2", + "width": "34", + "x": "33", + "y": "50" + }, { + "fill": "none", + "height": "6", + "rx": "2", + "width": "30", + "x": "33", + "y": "62" + }], + "g": { + "path": [{ + "d": "M63 36h10.6a1.37 1.37 0 001.4-1.4 1.28 1.28 0 00-.4-1L61.4 20.4a1.28 1.28 0 00-1-.4 1.37 1.37 0 00-1.4 1.4V32a4 4 0 004 4z" + }, { + "d": "M73 42H59a6 6 0 01-6-6V22a2 2 0 00-2-2H31a6 6 0 00-6 6v48a6 6 0 006 6h38a6 6 0 006-6V44a2 2 0 00-2-2zm-40-2a2 2 0 012-2h8.18a2 2 0 012 2v2a2 2 0 01-2 2H35a1.94 1.94 0 01-2-2zm30 26a2 2 0 01-2 2H35a2 2 0 01-2-2v-2a2 2 0 012-2h26a2 2 0 012 2zm4-12a2 2 0 01-2 2H35a2 2 0 01-2-2v-2a2 2 0 012-2h30a2 2 0 012 2z" + }] + } + }, + formula: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M55.3 21.2c-1.1-.7-2.4-1.1-4.1-1.1-.4 0-.8 0-1.2.1-4.4.7-7.3 4.7-9.1 8.5-.8 1.8-1.5 3.7-2.2 5.5-.3.9-.7 1.7-1 2.6 0 .1-.5 1.8-.6 1.8h-4.5c-.6 0-1.1.5-1.1 1.1 0 .6.5 1.1 1.1 1.1h3.9l-2.2 9.4c-2.2 10.5-5.2 22.5-5.9 24.6-.7 2.2-1.7 3.3-3.1 3.3-.3 0-.5-.1-.7-.2-.2-.1-.3-.3-.3-.5s.1-.5.4-.9c.3-.4.4-.9.4-1.3 0-.8-.3-1.5-.8-2-.6-.5-1.2-.7-1.9-.7s-1.4.3-2 .8c-.1.7-.4 1.4-.4 2.3 0 1.2.5 2.2 1.5 3.1 1 .9 2.3 1.3 4 1.3 2.7 0 5.1-1.2 6.9-3.3 1.1-1.3 1.9-2.8 2.6-4.4 2.2-4.9 3.4-10.3 4.7-15.5 1.3-5.3 2.5-10.6 3.6-15.9h4.3c.6 0 1.1-.5 1.1-1.1 0-.6-.5-1.1-1.1-1.1h-4c2.2-8.3 4.7-14 5.2-14.8.8-1.4 1.7-2.1 2.7-2.1.4 0 .6.1.7.3.1.2.2.4.2.5 0 .1-.1.4-.4.9-.3.5-.4 1-.4 1.5 0 .7.3 1.3.8 1.8s1.2.8 1.9.8 1.4-.3 1.9-.8.8-1.2.8-2.1c-.1-1.7-.6-2.8-1.7-3.5zM75.3 46.4c1.6 0 4.7-1.3 4.7-5.5s-3-4.4-4-4.4c-1.8 0-3.7 1.3-5.3 4.1-1.6 2.8-3.4 6-3.4 6h-.1c-.4-2-.7-3.6-.9-4.4-.3-1.7-2.3-5.5-6.5-5.5s-8 2.4-8 2.4c-.7.4-1.2 1.2-1.2 2.1 0 1.4 1.1 2.5 2.5 2.5.4 0 .8-.1 1.1-.3 0 0 3.2-1.8 3.8 0 .2.5.4 1.1.6 1.7.8 2.7 1.5 5.9 2.2 8.8L58.3 58s-3.1-1.1-4.7-1.1-4.7 1.3-4.7 5.5 3 4.4 4 4.4c1.8 0 3.7-1.3 5.3-4.1 1.6-2.8 3.4-6 3.4-6 .5 2.6 1 4.7 1.3 5.5 1 3 3.4 4.7 6.6 4.7 0 0 3.3 0 7.1-2.2.9-.4 1.6-1.3 1.6-2.3 0-1.4-1.1-2.5-2.5-2.5-.4 0-.8.1-1.1.3 0 0-2.7 1.5-3.7.3-.7-1.3-1.2-3-1.7-5.1-.4-1.9-.9-4.1-1.3-6.2l2.8-4c-.1.1 3 1.2 4.6 1.2z" + } + }, + fulfillment_order: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M47.9 63c.9 0 1.7.1 2.5.4L36.9 25.1l-1.2-3.7c-.4-1.1-1.5-1.6-2.5-1.2L21.4 24c-1.1.4-1.6 1.5-1.2 2.5l1.2 3.7c.4 1.1 1.5 1.6 2.5 1.2l6.1-2 12.4 35.1c1.6-.9 3.5-1.5 5.5-1.5zM69 53.9l-12.4 4.4c-1.2.5-2.7-.2-3.1-1.5l-4.4-12.4c-.5-1.2.2-2.7 1.5-3.1L63 36.9c1.2-.5 2.7.2 3.1 1.5l4.4 12.4c.5 1.2-.2 2.6-1.5 3.1zM57.3 33.5l-8.4 2.9c-1.2.5-2.7-.2-3.1-1.5l-2.9-8.4c-.5-1.2.2-2.7 1.5-3.1l8.4-2.9c1.2-.5 2.7.2 3.1 1.5l2.9 8.4c.5 1.1-.2 2.6-1.5 3.1zm22.6 28.2L78.6 58c-.4-1.1-1.5-1.6-2.5-1.2l-22.7 7.9c2.4 1.5 4 4 4.5 6.9l20.9-7.1c1-.5 1.5-1.6 1.1-2.8zm-32 4.5c-3.7 0-6.9 3.1-6.9 6.9 0 3.7 3.1 6.9 6.9 6.9s6.9-3.1 6.9-6.9c0-3.9-3.2-6.9-6.9-6.9z" + } + }, + generic_loading: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "path": { + "opacity": ".15", + "d": "M51.5 22h-3c-.8 0-1.5.7-1.5 1.5v13c0 .8.7 1.5 1.5 1.5h3c.8 0 1.5-.7 1.5-1.5v-13c0-.8-.7-1.5-1.5-1.5zM76.5 47h-13c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h13c.8 0 1.5-.7 1.5-1.5v-3c0-.8-.7-1.5-1.5-1.5zM51.5 62h-3c-.8 0-1.5.7-1.5 1.5v13c0 .8.7 1.5 1.5 1.5h3c.8 0 1.5-.7 1.5-1.5v-13c0-.8-.7-1.5-1.5-1.5zM38 51.5v-3c0-.8-.7-1.5-1.5-1.5h-13c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h13c.8 0 1.5-.7 1.5-1.5zM59.5 42.6c.6.6 1.5.6 2.1 0l9.2-9.2c.6-.6.6-1.5 0-2.1l-2.1-2.1c-.6-.6-1.5-.6-2.1 0l-9.2 9.2c-.6.6-.6 1.5 0 2.1l2.1 2.1zM61.7 57.4c-.6-.6-1.5-.6-2.1 0l-2.1 2.1c-.6.6-.6 1.5 0 2.1l9.2 9.2c.6.6 1.5.6 2.1 0l2.1-2.1c.6-.6.6-1.5 0-2.1l-9.2-9.2zM40.5 57.4c-.6-.6-1.5-.6-2.1 0l-9.2 9.2c-.6.6-.6 1.5 0 2.1l2.1 2.1c.6.6 1.5.6 2.1 0l9.2-9.2c.6-.6.6-1.5 0-2.1l-2.1-2.1zM33.4 29.1c-.6-.6-1.5-.6-2.1 0l-2.1 2.1c-.6.6-.6 1.5 0 2.1l9.2 9.2c.6.6 1.5.6 2.1 0l2.1-2.1c.6-.6.6-1.5 0-2.1l-9.2-9.2z" + } + } + }, + global_constant: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "path": [{ + "d": "M53.3 53.1c3.3-2.5 6.8-2.9 9.2-2.9l8.9-.1c.9 0 1.7 0 2.7-.1 1.1 0 2.2-.1 3.3-.1H80c0-16.5-13.5-30-30-30s-30 13.5-30 30c0 14.4 10.3 26.5 23.9 29.4-.2-1-.1-2 .1-3 .4-1.7 1.4-3.1 2.4-4.2-3.1-3.2-5.8-10.3-6.3-19.1H47v8c.2-.6.4-1.2.8-1.8 1.2-1.7 2.6-3.7 4.3-5.3.3-.3.6-.5.8-.7l.4-.1zm20.5-6h-7.9c-.3-7.1-1.9-13.3-4.3-18 6.6 3.7 11.2 10.3 12.2 18zM53 27.4c3.4 2.9 6.4 10.3 6.9 19.7H53V27.4zm-6 0v19.7h-6.9c.5-9.4 3.5-16.8 6.9-19.7zM26.2 53.1h7.9c.3 7.1 1.9 13.3 4.3 18-6.6-3.7-11.2-10.3-12.2-18zm7.9-6h-7.9c1-7.7 5.6-14.3 12.2-18-2.4 4.7-3.9 10.9-4.3 18z" + }, { + "d": "M48.3 70.3c.4-.3.7-.7 1-.9.3-.4.7-.8 1-1.2-1.6-.7-2.8-2.1-3.3-3.8v7.2c.5-.6.9-1 1.3-1.3z" + }] + }, + "path": { + "d": "M79.7 55.3c-.2-.2-.4-.3-.6-.3-2.5-.1-5.1.1-7.6.1l-8.9.1c-2.7 0-4.9.6-7 2.5-1.3 1.2-2.6 2.9-3.6 4.4-.1.2-.2.4-.2.6 0 .6.5 1 1 1 .6 0 .7-.4 1-.8.3-.4.6-.8 1-1.2 1.4-1.3 3.3-2 5.1-1.8-1.6 4.4-3.8 9.4-7 12.9-1.3 1.4-3.6 2.9-4.1 4.9-.5 2.1 1.6 2.6 3.2 2 2-.8 3.2-2.9 4.3-4.6 1.2-2.2 2.4-4.5 3.3-6.8 1-2.3 2-4.6 2.9-6.9.6-1.4.8-1.4 2.2-1.4h3.9c-1.4 3.2-2.8 6.4-4.1 9.7-1 2.5-2.8 6.1-1.5 8.8 1.3 2.7 4.8 1.7 6.7.3 2-1.4 3.2-3.6 4.3-5.7.2-.4.4-.8.2-1.3-.2-.4-.5-.6-.9-.6-.9 0-1.1 1.1-1.4 1.7-.5 1.1-1.7 2.1-3 1.9-2.9-.4-.3-5.7.2-7.1.5-1.5 1.1-2.9 1.8-4.3.4-.8.7-1.7 1.1-2.5.5-1 .5-1 1.7-1.1 1 0 3.9.5 4.8-.1.7-.5 1.1-2.2 1.5-3.5 0-.3 0-.6-.3-.9z" + } + }, + goals: { + "xmlns": "http://www.w3.org/2000/svg", + "path": [{ + "d": "M26 20c-3.3 0-6 2.7-6 6 0 1.8.8 3.4 2 4.5V76c0 2.2 1.8 4 4 4s4-1.8 4-4V30.5c1.2-1.1 2-2.7 2-4.5 0-3.3-2.7-6-6-6zM76.5 30.8c-15.7 8.2-24.4-5.9-39.2-.5-.8.3-1.3 1.1-1.3 1.9V58c0 1.3 1.3 2.3 2.6 1.9 14.2-4.3 22.9 9.1 38.4.7.6-.4 1-1 1-1.7V31.7c0-.8-.8-1.3-1.5-.9zM72 44.5c-1.9.5-3.8.5-5.8.5H66v6h.2c2 0 3.9-.1 5.8-.6v5.9c-1.8.6-3.6.8-5.8.8H66v-6c-2 0-4-.3-6-.7v6c-1.4-.3-2.8-.7-4.1-1.1-.7-.2-1.3-.4-1.9-.6v-5.9c-2.2-.7-3.9-1.3-6-1.6v6c-1-.1-2.2-.2-3.5-.2-.9 0-1.7.1-2.5.2v-6c.8-.1 1.7-.2 2.5-.2 1.3 0 2.5.1 3.5.2v-5.7c-1-.2-2.1-.4-3.5-.4-.9 0-1.7.1-2.5.2v-6c.8-.1 1.7-.2 2.5-.2 1.4 0 2.4.2 3.5.4v6c1.5.4 3 1 5.2 1.6.3.1.5.1.8.2v-6c2 .6 3.9 1 6 1.4v5.9c1.9.4 3.9.4 6 .4v-6h.2c2 0 3.9.2 5.8-.2v5.7z" + }, { + "d": "M54 43.3v5.5c.4.1.9.3 1.3.4 1.6.4 3.1.9 4.7 1.2v-5.7c-2.1-.5-4-.9-6-1.4z" + }] + }, + group_loading: { + "xmlns": "http://www.w3.org/2000/svg", + "path": [{ + "opacity": ".5", + "d": "M36.7 52.4C35 49.7 34 46.5 34 43c0-5.9 2.5-10.9 6.5-13.9-1.5-2.5-4-4.1-7.5-4.1-5.8 0-9 4.6-9 10 0 2.9 1 5.3 2.9 7.1 1.1 1 2 2.3 2 3.7 0 1.4-.5 2.6-3.8 4-4.7 2.1-9 4.8-9.1 9.2 0 2.9 1.9 5 4.6 5h4.3c.7 0 1.4-.4 1.7-1 2.1-3.8 6-6.2 9.3-7.8 1.1-.5 1.5-1.8.8-2.8zM74.9 49.8c-3.3-1.4-3.8-2.7-3.8-4 0-1.4.9-2.7 2-3.7C75 40.3 76 37.9 76 35c0-5.4-3.2-10-9-10-3.5 0-6 1.6-7.5 4.1 4 3 6.5 7.9 6.5 13.9 0 3.5-.9 6.7-2.7 9.4-.7 1-.3 2.3.8 2.9 3.3 1.6 7.2 4 9.3 7.8.3.6 1 1 1.7 1h4.3c2.7 0 4.6-2.1 4.6-5-.1-4.4-4.4-7.2-9.1-9.3z" + }, { + "opacity": ".5", + "d": "M58.7 59.4c-3.6-1.5-4.1-2.9-4.1-4.4 0-1.5 1-3 2.2-4.1 2.1-1.9 3.3-4.7 3.3-7.9 0-5.9-3.6-11-10-11s-10 5.1-10 11c0 3.2 1.2 5.9 3.3 7.9 1.2 1.1 2.2 2.6 2.2 4.1 0 1.5-.6 2.9-4.1 4.4-5.4 2.2-10.4 4.8-10.5 9.6 0 3.2 2.3 6 5.3 6h27.4c3 0 5.3-2.8 5.3-6-.1-4.8-5.1-7.4-10.3-9.6z" + }] + }, + groups: { + "xmlns": "http://www.w3.org/2000/svg", + "path": [{ + "d": "M36.7 52.4C35 49.7 34 46.5 34 43c0-5.9 2.5-10.9 6.5-13.9-1.5-2.5-4-4.1-7.5-4.1-5.8 0-9 4.6-9 10 0 2.9 1 5.3 2.9 7.1 1.1 1 2 2.3 2 3.7 0 1.4-.5 2.6-3.8 4-4.7 2.1-9 4.8-9.1 9.2 0 2.9 1.9 5 4.6 5h4.3c.7 0 1.4-.4 1.7-1 2.1-3.8 6-6.2 9.3-7.8 1.1-.5 1.5-1.8.8-2.8zM74.9 49.8c-3.3-1.4-3.8-2.7-3.8-4 0-1.4.9-2.7 2-3.7C75 40.3 76 37.9 76 35c0-5.4-3.2-10-9-10-3.5 0-6 1.6-7.5 4.1 4 3 6.5 7.9 6.5 13.9 0 3.5-.9 6.7-2.7 9.4-.7 1-.3 2.3.8 2.9 3.3 1.6 7.2 4 9.3 7.8.3.6 1 1 1.7 1h4.3c2.7 0 4.6-2.1 4.6-5-.1-4.4-4.4-7.2-9.1-9.3z" + }, { + "d": "M58.7 59.4c-3.6-1.5-4.1-2.9-4.1-4.4 0-1.5 1-3 2.2-4.1 2.1-1.9 3.3-4.7 3.3-7.9 0-5.9-3.6-11-10-11s-10 5.1-10 11c0 3.2 1.2 5.9 3.3 7.9 1.2 1.1 2.2 2.6 2.2 4.1 0 1.5-.6 2.9-4.1 4.4-5.4 2.2-10.4 4.8-10.5 9.6 0 3.2 2.3 6 5.3 6h27.4c3 0 5.3-2.8 5.3-6-.1-4.8-5.1-7.4-10.3-9.6z" + }] + }, + guidance_center: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "rect": [{ + "height": "7.26", + "rx": "1.81", + "width": "7.25", + "x": "20.02", + "y": "20.05" + }, { + "height": "7.33", + "rx": "1.83", + "width": "42", + "x": "32.24", + "y": "20.05" + }, { + "height": "7.33", + "rx": "1.83", + "width": "42", + "x": "32.24", + "y": "35.04" + }, { + "height": "7.33", + "rx": "1.83", + "width": "7.33", + "x": "20.02", + "y": "35.04" + }, { + "height": "7.33", + "rx": "1.83", + "width": "7.33", + "x": "20.02", + "y": "50.03" + }], + "path": { + "d": "M63.71 47.42A16.18 16.18 0 1079.89 63.6a16.22 16.22 0 00-16.18-16.18zm0 28A11.87 11.87 0 1175.58 63.6a11.9 11.9 0 01-11.87 11.86zM70 56.64l-9 3.24a1.61 1.61 0 00-1 1l-3.23 8.95a.55.55 0 00.7.7l8.95-3.23a1.59 1.59 0 001-1l3.24-9a.55.55 0 00-.66-.66zm-6.26 9.11a2.16 2.16 0 112.16-2.15 2.16 2.16 0 01-2.19 2.15zM47.61 50H34.07a1.87 1.87 0 00-1.83 1.83v3.66a1.88 1.88 0 001.83 1.84h9.52A20.89 20.89 0 0147.61 50z" + } + } + }, + hierarchy: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M46.25 46.251H29.404c-.999 0-1.875.875-1.875 1.875V62.5h-5.654c-1 0-1.875.875-1.875 1.875v13.75c0 1 .875 1.875 1.875 1.875h18.75c1 0 1.875-.875 1.875-1.875v-13.75c0-1-.875-1.875-1.875-1.875h-5.642v-8.749h30.035V62.5h-5.613c-1.001 0-1.875.875-1.875 1.875v13.75c0 1 .874 1.875 1.875 1.875h18.75c1 0 1.875-.875 1.875-1.875v-13.75c0-1-.875-1.875-1.875-1.875H72.49V48.126c0-1-.874-1.875-1.875-1.875H53.75V37.5h5.61c1 0 1.875-.875 1.875-1.875v-13.75c0-1-.875-1.875-1.875-1.875H40.61c-1.001 0-1.875.875-1.875 1.875v13.75c0 1 .874 1.875 1.875 1.875h5.64v8.751z" + } + }, + high_velocity_sales: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "path": [{ + "d": "M80 21.5c0-1.2-.7-1.5-1.1-1.5H53.1c-1.9 0-1.9 1.9-1.9 1.9v3.6c0 1.6 1 2 1.5 2h18c.7.1 1.9.6 1.9 2.6v17c.1.5.4 1.6 1.9 1.6h4s1.6 0 1.6-1.9V21.5z" + }, { + "d": "M64.4 37.1c.1-1.2-.7-1.5-1.1-1.5H37.5c-1.9 0-1.9 1.9-1.9 1.9v3.6c0 1.6 1 2 1.5 2h18c.7.1 1.9.6 1.9 2.6v17c.1.5.4 1.6 1.9 1.6h4s1.6 0 1.6-1.9V37.1z" + }, { + "d": "M24.2 78.5c.2.2 1.2 1 2.6-.4l13-13c.4-.4 1.5-1.2 1.5.5v12.8c.1.5.4 1.6 1.9 1.6h4s1.6 0 1.6-1.9V52.8c0-1.2-.7-1.4-1.1-1.5H21.9c-1.9 0-1.9 1.9-1.9 1.9v3.6c0 1.6 1 2 1.5 2h12c.5 0 2 .1.6 1.5L21.6 73s-1.5 1.4-.2 2.6l2.8 2.9z" + }] + } + }, + holiday_operating_hours: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M65.88 50.24A14.12 14.12 0 0180 64v.31a14.12 14.12 0 01-13.8 14.16h-.32a14.12 14.12 0 01-.31-28.23zm-.56 3.86v.11l-2.07 6.66a.52.52 0 01-.52.39H56a.73.73 0 00-.47 1.22l.07.06 5.39 4a.69.69 0 01.25.65v.1l-2.54 6.76a.66.66 0 00.94.81l.08-.06 5.83-4.32a.69.69 0 01.7-.06l.09.06 5.79 4.32a.65.65 0 001-.65v-.1l-2.56-6.79a.7.7 0 01.14-.68l.08-.07 5.39-4a.71.71 0 00-.3-1.27h-6.71a.65.65 0 01-.58-.3v-.09l-2-6.62a.65.65 0 00-1.27-.13zM44.8 22a24.88 24.88 0 0124.81 24.8v.3a18.32 18.32 0 00-3.17-.39h-1v-.25a20.57 20.57 0 10-17 20.61 17.43 17.43 0 001.15 4.07 24.39 24.39 0 01-4.79.47 24.81 24.81 0 010-49.61zm.2 14.13a1.32 1.32 0 011.28 1.29v8.27a1.3 1.3 0 00.34 1l4.76 4.91a1.26 1.26 0 010 1.81l-1.78 1.81a1.24 1.24 0 01-1.79 0l-6.3-6.38a1.82 1.82 0 01-.34-.95V37.42a1.32 1.32 0 011.28-1.29z" + } + }, + home: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M78.8 51.2h-6.3v27.5c0 .8-.5 1.2-1.3 1.2H58.8c-.8 0-1.3-.5-1.3-1.2V57.5h-15v21.2c0 .8-.5 1.2-1.3 1.2H28.8c-.8 0-1.3-.5-1.3-1.2V51.2h-6.3c-.5 0-1-.2-1.1-.8-.3-.5-.1-1 .3-1.4l28.8-28.8c.5-.5 1.4-.5 1.8 0L79.8 49c.4.4.4.9.3 1.4s-.8.8-1.3.8z" + } + }, + household: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M51.5 20.6c-.9-.8-2.2-.8-3 0L20.7 46.2c-1.5 1.4-.5 3.8 1.5 3.8H26v24c0 3.3 2.7 6 6 6h36c3.3 0 6-2.7 6-6V50h3.8c2 0 3-2.4 1.5-3.8L51.5 20.6zM36.9 63.9c-.2.3-.6.1-1 .1h-2.4c-1.5 0-2.5-.8-2.5-2.4.1-2.4 2.5-3.6 5.1-4.7 1.8-.8 2.1-1.5 2.1-2.3 0-.8-.5-1.5-1.1-2.1-1.1-1-1.6-2.4-1.6-4 0-3 1.8-5.6 5-5.6 1.9 0 3.3.9 4.2 2.3-2.3 1.8-3.7 4.5-3.7 7.9 0 1.9.5 3.7 1.5 5.2.4.6.2 1.1-.5 1.4-1.7.9-3.9 2.1-5.1 4.2zM57.6 71H42.4c-1.7 0-3-1.6-3-3.4.1-2.7 2.9-4.1 5.8-5.4 2-.9 2.3-1.6 2.3-2.5 0-.9-.6-1.7-1.2-2.3-1.2-1.1-1.8-2.6-1.8-4.4 0-3.3 2-6.2 5.6-6.2s5.6 2.9 5.6 6.2c0 1.8-.6 3.3-1.8 4.4-.7.6-1.2 1.4-1.2 2.3 0 .8.3 1.6 2.3 2.5 2.9 1.3 5.7 2.7 5.8 5.4-.2 1.8-1.5 3.4-3.2 3.4zm8.9-7h-2.4c-.4 0-.8.2-1-.1-1.2-2.1-3.4-3-5.2-3.9-.6-.3-.8-1-.4-1.6 1-1.5 1.5-3.3 1.5-5.2 0-3.3-1.4-6.1-3.6-7.8.8-1.4 2.2-2.3 4.2-2.3 3.3 0 5 2.6 5 5.6 0 1.6-.5 3-1.6 4-.6.6-1.1 1.3-1.1 2.1s.3 1.5 2.1 2.3c2.6 1.2 5.1 2.3 5.1 4.7C69 63.2 68 64 66.5 64z" + } + }, + immunization: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "path": { + "d": "M53.76 31.24a7.19 7.19 0 00-.85-.7A4.13 4.13 0 0047.76 37l.82.82h-.06L35 51.3c-.3.28-.59.57-.8.79a6.85 6.85 0 00-.86 8.15.25.25 0 010 .07 16 16 0 006.42 6.36 6.23 6.23 0 002.57.87 7.1 7.1 0 005.89-2.18L62 51.51a.46.46 0 00.11-.16l.91.91a4.15 4.15 0 105.73-6zM78.09 28.45c-2.19-2.25-4.42-4.45-6.66-6.66a4.72 4.72 0 00-4-1.38 4.77 4.77 0 00-2.58 8.25c.69.68.31.36 1 1.07l-3.11 3a.83.83 0 000 1.19c.36.35 2.75 2.74 3.11 3.08a.85.85 0 001.19 0l3-3.07c.77.78.49.46 1.18 1.14a4.76 4.76 0 106.81-6.65zM31 66.23c-3.61 3.62-6.56 6.66-10.17 10.28a1.74 1.74 0 102.5 2.43c3.58-3.57 6.5-6.57 10.08-10.14.07-.07.13-.16.18-.21l-2.47-2.46z" + } + } + }, + individual: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M79.4 72.9l-12 6.8c-.6.4-1.5.4-2.1 0l-11.9-6.8c-.5-.3-.5-.9 0-1.1l2.8-1.6c.2-.1.4-.1.6 0l7.3 4.1c.7.4 1.5.6 2.3.6s1.6-.2 2.3-.6l7.3-4.1c.2-.1.4-.1.6 0l2.8 1.6c.5.2.5.8 0 1.1zm0-7.7l-12 6.8c-.6.4-1.5.4-2.1 0l-11.9-6.8c-.5-.3-.5-.9 0-1.1l2.8-1.6c.2-.1.4-.1.6 0l7.3 4.1c.7.4 1.5.6 2.3.6s1.6-.2 2.3-.6l7.3-4.1c.2-.1.4-.1.6 0l2.8 1.6c.5.2.5.8 0 1.1zm-14-.8l-12-6.8c-.5-.3-.5-.9 0-1.1l12-6.8c.6-.4 1.5-.4 2.1 0l12 6.8c.5.3.5.9 0 1.1l-12 6.8c-.6.3-1.5.3-2.1 0zM51.9 60.5c.5-.3.5-.9 0-1.1l-2.8-1.6H49v-1.3s0-1.7 1.5-2.6c.4-.2 1.2-.6 2.1-1.1-.4-.2-.8-.4-1.2-.5-1.8-.9-4.4-1.8-5.2-4.1-.5-1.2-.2-2.5.4-3.6 1.1-1.1 2.1-2.1 3-3.5.2-.4.4-.6.6-1 2.5-3.6 2.8-8.5 1.4-12.6-1.5-4.4-5.4-7.4-10.2-7.5h-.7c-4.8.1-8.8 3.1-10.2 7.5-1.5 4.2-1.1 9 1.4 12.6.1.4.4.6.6 1 .9 1.4 2 2.3 3 3.5.5 1.1.7 2.3.4 3.6-.7 2.2-3.3 3.2-5.2 4.1-4.2 1.8-9.4 4.4-10.2 9.5-.9 4.2 2 8.4 6.4 8.4H49l2.9-1.9c.5-.3.5-.9 0-1.1l-2.8-1.6H49v-3.2l2.9-1.9z" + } + }, + insights: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M78.3 26.9H31c-.9 0-1.7.8-1.7 1.7v35.2c0 1.4-1.3 2.5-2.7 2.3-1.2-.2-2-1.3-2-2.4V38.5c0-.7-.5-1.2-1.2-1.2h-1.7c-.9 0-1.7.8-1.7 1.7v29.4c0 2.5 2.1 4.6 4.6 4.6H75.4c2.5 0 4.6-2.1 4.6-4.6V28.7c0-1-.8-1.8-1.7-1.8zm-26 33.5c0 .7-.5 1.2-1.2 1.2H37.3c-.7 0-1.2-.5-1.2-1.2v-2.3c0-.7.5-1.2 1.2-1.2h13.8c.7 0 1.2.5 1.2 1.2v2.3zm0-9.2c0 .7-.5 1.2-1.2 1.2H37.3c-.7 0-1.2-.5-1.2-1.2v-2.3c0-.7.5-1.2 1.2-1.2h13.8c.7 0 1.2.5 1.2 1.2v2.3zm20.8 9.2c0 .7-.5 1.2-1.2 1.2H58.1c-.7 0-1.2-.5-1.2-1.2v-2.3c0-.7.5-1.2 1.2-1.2h13.8c.7 0 1.2.5 1.2 1.2v2.3zm0-9.2c0 .7-.5 1.2-1.2 1.2H58.1c-.7 0-1.2-.5-1.2-1.2v-2.3c0-.7.5-1.2 1.2-1.2h13.8c.7 0 1.2.5 1.2 1.2v2.3zm0-9.3c0 .7-.5 1.2-1.2 1.2H37.3c-.7 0-1.2-.5-1.2-1.2V35c0-.7.5-1.2 1.2-1.2h34.6c.7 0 1.2.5 1.2 1.2v6.9z" + } + }, + instore_locations: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "path": [{ + "d": "M32.1 70.1c-.6 0-1.2-.5-1.2-1.2v-7.3c0-.6.5-1.2 1.2-1.2h7.5c.6 0 1.2.5 1.2 1.2V69c0 .6-.5 1.2-1.2 1.2h-7.5zM46.3 70.1c-.6 0-1.2-.5-1.2-1.2V57.7c0-.6.5-1.2 1.2-1.2h7.5c.6 0 1.2.5 1.2 1.2V69c0 .6-.5 1.2-1.2 1.2h-7.5zM60.5 70.1c-.6 0-1.2-.5-1.2-1.2v-7.3c0-.6.5-1.2 1.2-1.2H68c.6 0 1.2.5 1.2 1.2V69c0 .6-.5 1.2-1.2 1.2h-7.5zM32.1 42.9c-.6 0-1.2-.5-1.2-1.2V31.1c0-.6.5-1.2 1.2-1.2h21.7c.6 0 1.2.5 1.2 1.2v10.7c0 .6-.5 1.2-1.2 1.2H32.1zM60.5 42.9c-.6 0-1.2-.5-1.2-1.2v-7.3c0-.6.5-1.2 1.2-1.2H68c.6 0 1.2.5 1.2 1.2v7.3c0 .6-.5 1.2-1.2 1.2h-7.5z" + }, { + "d": "M73.8 20H26.2c-3.4 0-6.2 2.8-6.2 6.2v47.6c0 3.4 2.8 6.2 6.2 6.2h47.6c3.4 0 6.2-2.8 6.2-6.2V26.2c0-3.4-2.8-6.2-6.2-6.2zm0 51.7c0 1.2-.9 2.1-2.1 2.1H28.3c-1.1 0-2.1-.9-2.1-2.1v-19h47.6v19zm0-25H26.2V28.3c0-1.2.9-2.1 2.1-2.1h43.4c1.1 0 2.1.9 2.1 2.1v18.4z" + }] + } + }, + investment_account: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M74 27H26c-3.3 0-6 2.7-6 6v34c0 3.3 2.7 6 6 6h48c3.3 0 6-2.7 6-6V33c0-3.3-2.7-6-6-6zm-5 27c0 .9-1 1.3-1.7.7l-4.6-4.6-10.6 9.1c-1.2 1.2-3.1 1.2-4.2 0l-6.4-7.3-11.4 10c-.4.4-1 .4-1.4 0l-.5-.5c-.4-.4-.4-1 0-1.4l11.2-15.3c1.2-1.2 3.1-1.2 4.2 0l6.4 6.4 6.5-7.5-4.2-3.8c-.6-.6-.2-1.8.7-1.8h14c1.1 0 1.9 1 1.9 2.1V54z" + } + }, + invocable_action: { + "xmlns": "http://www.w3.org/2000/svg", + "path": [{ + "d": "M62.8 71.2V79c0 .6.5 1.1 1.1 1.1.2 0 .5-.1.6-.2l15.1-12.3c.2-.2.3-.5.3-.8 0-.3-.2-.6-.4-.8L64.4 53.1c-.1-.1-.3-.1-.5-.1-.6 0-1.1.5-1.1 1.1v8.3c-9.3 2.5-16.9-5.7-16.9-5.7-.2-.2-.5-.3-.8-.3-.6 0-1.1.5-1.1 1.1v.2c3.8 15.7 18.8 13.5 18.8 13.5z" + }, { + "d": "M38.2 58.9l-.2-.7V57.3c0-3.9 3.2-7.1 7.1-7.1 1.9 0 3.6.7 5 2.1l.1.1.1.1c.9 1 3.5 3.1 6.6 4V54c0-3.9 3.2-7.1 7.1-7.1 1.5 0 2.5.4 3.2.8l.7.3.6.5 8.5 7.2c2-2 3.2-4.8 3.2-7.8 0-6.2-5-11.2-11.2-11.2h-.6v-1c0-6.2-5.1-11.3-11.3-11.3-3 0-5.6 1.1-7.6 3-1.6-4.2-5.7-7.4-10.6-7.4-6.2 0-11.3 5.1-11.3 11.3 0 2.1.6 4 1.5 5.7-5 1.2-8.6 5.6-8.6 11 0 6.1 4.7 11 10.8 11.2h7.4c-.4-.1-.4-.2-.5-.3z" + }] + }, + iot_context: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "path": [{ + "d": "M73 43.5c-3.2 0-6 2.2-6.7 5.2h-4.9c-.8-5.6-5.6-10-11.5-10s-10.7 4.3-11.5 10h-4.9c-.8-3-3.5-5.2-6.7-5.2-3.8 0-7 3.1-7 7 0 3.8 3.1 7 7 7 3.2 0 6-2.2 6.7-5.2h4.9c.8 5 4.7 8.8 9.7 9.6v4.9c-3 .8-5.2 3.5-5.2 6.7 0 3.8 3.1 7 7 7s7-3.1 7-7c0-3.2-2.2-6-5.2-6.7v-4.9c5-.7 8.9-4.6 9.7-9.6h4.9c.8 3 3.5 5.2 6.7 5.2 3.8 0 7-3.1 7-7s-3.1-7-7-7zM53.5 73.4c0 1.9-1.6 3.5-3.5 3.5s-3.5-1.6-3.5-3.5 1.6-3.5 3.5-3.5 3.5 1.6 3.5 3.5z" + }, { + "d": "M33.3 36c-.8.8-.8 2 0 2.8.8.8 2 .8 2.8 0 7.4-7.4 19.4-7.4 26.8 0 .4.4.9.6 1.4.6s1-.2 1.4-.6c.8-.8.8-2 0-2.8-8.9-9-23.5-9-32.4 0z" + }, { + "d": "M28.2 32.4C40 20.7 59 20.7 70.8 32.4c.4.4.9.6 1.4.6s1-.2 1.4-.6c.8-.8.8-2 0-2.8-13.3-13.3-34.9-13.3-48.2 0-.8.8-.8 2 0 2.8.8.8 2 .8 2.8 0z" + }] + } + }, + iot_orchestrations: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "fill-rule": "evenodd", + "circle": [{ + "cx": "39", + "cy": "32", + "r": "12" + }, { + "cx": "70", + "cy": "50", + "r": "12" + }], + "path": [{ + "fill-rule": "nonzero", + "d": "M39 74a6 6 0 100-12 6 6 0 000 12zm0 6c-6.627 0-12-5.373-12-12s5.373-12 12-12 12 5.373 12 12-5.373 12-12 12zm6.728-38.662c3.582 4.407 8.307 6.98 14.07 7.675a2 2 0 10.479-3.971c-4.741-.571-8.522-2.631-11.445-6.227a2 2 0 10-3.104 2.523z" + }, { + "fill-rule": "nonzero", + "d": "M43.287 58.624c2.3-5.192 2.449-10.57.45-16.022a2 2 0 10-3.755 1.377c1.644 4.484 1.525 8.788-.352 13.024a2 2 0 103.657 1.62zM47.963 25.753c3.782-2.078 7.668-2.308 11.824-.69 4.007 1.705 6.575 4.907 7.57 8.188.529 1.672.643 2.742.643 6.275a2 2 0 104 0c0-3.906-.154-5.344-.821-7.458-1.312-4.326-4.646-8.482-9.883-10.709-5.308-2.068-10.43-1.765-15.26.888a2 2 0 001.927 3.506zM47.963 74.278c3.782 2.078 7.668 2.308 11.824.689 4.007-1.705 6.575-4.906 7.57-8.187.529-1.672.643-2.742.643-6.276a2 2 0 114 0c0 3.907-.154 5.345-.821 7.459-1.312 4.325-4.646 8.481-9.883 10.708-5.308 2.068-10.43 1.765-15.26-.888a2 2 0 111.927-3.505z" + }] + } + }, + javascript_button: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "path": [{ + "d": "M63 36h10.6c.8 0 1.4-.6 1.4-1.4 0-.4-.1-.7-.4-1L61.4 20.4c-.3-.3-.6-.4-1-.4-.8 0-1.4.6-1.4 1.4V32c0 2.2 1.8 4 4 4z" + }, { + "d": "M73 42H59c-3.3 0-6-2.7-6-6V22c0-1.1-.9-2-2-2H31c-3.3 0-6 2.7-6 6v48c0 3.3 2.7 6 6 6h38c3.3 0 6-2.7 6-6V44c0-1.1-.9-2-2-2zM37.8 66.3c0 2.9-1.4 3.9-3.6 3.9l-1.7-.2.3-1.8 1.2.2c1 0 1.6-.4 1.6-2v-6.5h2.2v6.4zm4.3 3.7c-1 0-2-.2-2.9-.6l.6-1.8c.8.4 1.6.6 2.5.6 1 0 1.6-.4 1.6-1.1s-.5-1-1.7-1.4c-1.2-.4-2.8-1.5-2.8-3s1.4-3 3.8-3c.9 0 1.8.1 2.6.5l-.5 1.8c-.7-.3-1.4-.5-2.1-.5-1 0-1.5.5-1.5 1s.6.9 1.9 1.4 2.6 1.6 2.6 3-1.3 3.1-4.1 3.1z" + }] + } + }, + job_family: { + "xmlns": "http://www.w3.org/2000/svg", + "circle": { + "cx": "44.6", + "cy": "36.2", + "r": "16.1" + }, + "path": { + "d": "M48.8 79.6c2.8 0 1.2-1.9 1.2-1.9a19.22 19.22 0 01-4.2-12 18.65 18.65 0 011.7-7.9l.2-.4a1.17 1.17 0 00-.9-1.9 17.7 17.7 0 00-2.3-.1 24.35 24.35 0 00-24.1 20.9c0 1.2.4 3.5 4.2 3.5h23.7c.4-.2.4-.2.5-.2zM65.3 51.2a14.25 14.25 0 1014.2 14.3 14.25 14.25 0 00-14.2-14.3zm0 4.5a3.22 3.22 0 013.2 3.2 3.06 3.06 0 01-.7 2l2.3 4.3c.1.2 0 .4-.2.4a2.7 2.7 0 00-1.1.5c-.2.1-.4 0-.4-.1l-2.2-4.1a3.08 3.08 0 01-.9.1 3.22 3.22 0 01-3.2-3.2 3.08 3.08 0 013.2-3.1zm-2 8.2L61.1 68a3.26 3.26 0 011 2.3 3.2 3.2 0 11-3.2-3.2h.4l2.3-4.3c.1-.2.2-.2.5-.1a2.87 2.87 0 001.1.6c.1.4.2.6.1.6zm8.3 9.8a3.29 3.29 0 01-3-1.9h-4.4c-.2 0-.4-.2-.2-.4a2.48 2.48 0 00.1-.9v-.2c0-.2.1-.4.2-.4h4.2a3.12 3.12 0 013.1-2.6 3.22 3.22 0 013.2 3.2 3.44 3.44 0 01-3.2 3.2z" + } + }, + job_position: { + "xmlns": "http://www.w3.org/2000/svg", + "circle": { + "cx": "46.3", + "cy": "36.3", + "r": "16" + }, + "path": { + "d": "M66.6 51.1a11.39 11.39 0 00-11.4 11.4c0 7.7 8.1 15 10.6 16.9a1.09 1.09 0 001.5 0c2.5-2 10.6-9.2 10.6-16.9a11.25 11.25 0 00-11.3-11.4zm0 16a4.7 4.7 0 114.7-4.7 4.76 4.76 0 01-4.7 4.7zM50.4 79.7h1.4c5.2-.5 2.4-3.7 2.4-3.7-3.2-4.6-5-9.1-5-13.5a13.74 13.74 0 01.6-4.2c.2-2-.6-2.5-1-2.7h-.2a18.48 18.48 0 00-2.4-.1 24.26 24.26 0 00-24 20.9c0 1.2.4 3.5 4.2 3.5h23.8c0-.2.1-.2.2-.2z" + } + }, + job_profile: { + "xmlns": "http://www.w3.org/2000/svg", + "path": [{ + "d": "M37.3 31.9h21.8c1.1 0 2-.9 2-2v-4c0-3.3-2.7-5.9-5.9-5.9H41.3c-3.3 0-5.9 2.7-5.9 5.9v4c-.1 1.1.8 2 1.9 2z" + }, { + "d": "M70 24.9h-2c-.6 0-1 .4-1 1v4c0 4.4-3.6 7.9-7.9 7.9H37.3c-4.4 0-7.9-3.6-7.9-7.9v-4c0-.6-.4-1-1-1h-2c-3.3 0-5.9 2.7-5.9 5.9v40.6c0 3.3 2.7 5.9 5.9 5.9h20c2.8 0 3.1-2.3 3.1-3.1V52.8c0-2.3 1.3-2.8 2-2.8h21.6c2.4 0 2.8-2.1 2.8-2.8V31c.1-3.4-2.6-6.1-5.9-6.1z" + }, { + "d": "M78.4 60.4H56.6c-.6 0-1.1-.5-1.1-1.1v-2.2c0-.6.5-1.1 1.1-1.1h21.8c.6 0 1.1.5 1.1 1.1v2.2c0 .6-.5 1.1-1.1 1.1zm0 9.8H56.6c-.6 0-1.1-.5-1.1-1.1v-2.2c0-.6.5-1.1 1.1-1.1h21.8c.6 0 1.1.5 1.1 1.1v2.2c0 .6-.5 1.1-1.1 1.1zm0 9.8H56.6c-.6 0-1.1-.5-1.1-1.1v-2.2c0-.6.5-1.1 1.1-1.1h21.8c.6 0 1.1.5 1.1 1.1v2.2c0 .6-.5 1.1-1.1 1.1z" + }] + }, + kanban: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M56.5 38.3c0-1-.9-1.9-1.9-1.9H43.4c-1 0-1.9.9-1.9 1.9V72c0 1 .9 1.9 1.9 1.9h11.2c1 0 1.9-.9 1.9-1.9V38.3zm-22.5 0c0-1-.9-1.9-1.9-1.9H20.9c-1 0-1.9.9-1.9 1.9V77c0 1 .9 1.9 1.9 1.9h11.2c1 0 1.9-.9 1.9-1.9V38.3zm45 0c0-1-.9-1.9-1.9-1.9H65.9c-1 0-1.9.9-1.9 1.9V67c0 1 .9 1.9 1.9 1.9h11.2c1 0 1.9-.9 1.9-1.9V38.3zm0-17.5c0-1-.9-1.9-1.9-1.9H20.9c-1 0-1.9.9-1.9 1.9V27c0 1 .9 1.9 1.9 1.9h56.2c1 0 1.9-.9 1.9-1.9v-6.2z" + } + }, + key_dates: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M77.86 41.57a2.14 2.14 0 012.13 2v32.3a6.44 6.44 0 01-6.2 6.42H26.43a6.46 6.46 0 01-6.43-6.2V43.71a2.15 2.15 0 012-2.13h55.86zM49.21 47.8v.11l-2.87 9.2a.72.72 0 01-.74.55h-9.3a1 1 0 00-.63 1.69l.08.08 7.44 5.48a1 1 0 01.34.91v.12l-3.42 9.38a.91.91 0 001.32 1.1l.08-.06 8.05-6a1 1 0 011-.07l.09.07 8 6a.91.91 0 001.43-.94v-.1l-3.53-9.38a.93.93 0 01.15-.94l.09-.09 7.44-5.48a1 1 0 00-.43-1.76h-9.26a.9.9 0 01-.81-.43v-.12L50.88 48a.9.9 0 00-1.67-.2zM63.93 18a4.29 4.29 0 014.28 4.29v2.14h5.36A6.44 6.44 0 0180 30.86V33a2.14 2.14 0 01-2.14 2.14H22.14A2.14 2.14 0 0120 33v-2.14a6.44 6.44 0 016.43-6.43h5.36v-2.14a4.29 4.29 0 118.57 0v2.14h19.28v-2.14A4.3 4.3 0 0163.93 18z" + } + }, + knowledge: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M32 59h13c1.1 0 2-.9 2-2V27c0-2.2-2-4-4-4H32.3C31 23 30 24 30 25.3V57c0 1.1.9 2 2 2zm44-30v32c0 2.2-1.8 4-4 4H28c-2.2 0-4-1.8-4-4V29c-3.3 0-6 2.7-6 6v30c0 3.3 2.7 6 6 6h19c1.1 0 2 .9 2 2s.9 2 2 2h6c1.1 0 2-.9 2-2s.9-2 2-2h19c3.3 0 6-2.7 6-6V35c0-3.3-2.7-6-6-6zM55 59h12.7c1.3 0 2.3-1 2.3-2.3V25c0-1.1-.9-2-2-2H57c-2 0-4 1.8-4 4v30c0 1.1.9 2 2 2z" + } + }, + lead: { + "xmlns": "http://www.w3.org/2000/svg", + "circle": { + "cx": "50", + "cy": "29", + "r": "9" + }, + "path": { + "d": "M78 44H22c-2 0-2.8 2.5-1.1 3.6L35.5 57c.7.5 1.1 1.4.8 2.2l-5.5 18.3c-.6 2 2 3.4 3.5 1.9l14.2-15c.8-.9 2.2-.9 3 0l14.2 15c1.4 1.5 4 .1 3.5-1.9l-5.5-18.3c-.2-.8.1-1.7.8-2.2l14.6-9.4c1.7-1.1.9-3.6-1.1-3.6z" + } + }, + lead_insights: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M50 22c-15.5 0-28 12.6-28 28s12.6 28 28 28c15.5 0 28-12.6 28-28S65.5 22 50 22zm0 52.7c-13.6 0-24.7-11-24.7-24.7 0-13.6 11-24.7 24.7-24.7 13.6 0 24.7 11 24.7 24.7 0 13.6-11.1 24.7-24.7 24.7z" + }, + "g": { + "path": { + "d": "M49 49.2c0 2.4-.5 4.5-1.4 6.2-.9 1.7-2.3 3-4.1 4-1.8.9-4 1.4-6.6 1.4v-2c2.9 0 5.2-.7 6.9-2s2.6-3.2 2.8-5.6c-1.6 1.6-3.5 2.4-5.7 2.4-1.2 0-2.3-.3-3.3-.8s-1.7-1.2-2.3-2.2c-.6-1-.8-2.1-.8-3.4 0-1.3.3-2.5.9-3.6.6-1.1 1.4-1.9 2.5-2.5 1.1-.6 2.4-.9 3.9-.9 2.4 0 4.3.8 5.5 2.4s1.7 3.6 1.7 6.6zm-2.4-.4c0-2.3-.4-4-1.1-5.1-.7-1.1-2-1.7-3.7-1.7-1.5 0-2.7.4-3.6 1.3-.8.9-1.2 2.1-1.2 3.6s.4 2.6 1.2 3.4c.8.8 1.9 1.2 3.3 1.2 1.1 0 2-.2 2.9-.7s1.5-1.2 2.2-2zM66.1 49.2c0 2.4-.5 4.5-1.4 6.2-.9 1.7-2.3 3-4.1 4-1.8.9-4 1.4-6.6 1.4v-2c2.9 0 5.2-.7 6.9-2s2.6-3.2 2.8-5.6c-1.6 1.6-3.5 2.4-5.7 2.4-1.2 0-2.3-.3-3.3-.8s-1.7-1.2-2.3-2.2c-.6-1-.8-2.1-.8-3.4 0-1.3.3-2.5.9-3.6.6-1.1 1.4-1.9 2.5-2.5 1.1-.6 2.4-.9 3.9-.9 2.4 0 4.3.8 5.5 2.4s1.7 3.6 1.7 6.6zm-2.5-.4c0-2.3-.4-4-1.1-5.1-.7-1.1-2-1.7-3.7-1.7-1.5 0-2.7.4-3.6 1.3-.8.9-1.2 2.1-1.2 3.6s.4 2.6 1.2 3.4c.8.8 1.9 1.2 3.3 1.2 1.1 0 2-.2 2.9-.7s1.6-1.2 2.2-2z" + } + } + }, + lead_list: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M37.1 62.3H77c1.1 0 2 .9 2 2v4c0 1.1-.9 2-2 2H37.1c-1.1 0-2-.9-2-2v-4c0-1.1.9-2 2-2zM25 70.3h-4c-1.1 0-2-.9-2-2v-4c0-1.1.9-2 2-2h4c1.1 0 2 .9 2 2v4c.1 1-.7 1.9-1.8 2H25zM25 52.4h-4c-1.1 0-2-.9-2-2v-4c0-1.1.9-2 2-2h4c1.1 0 2 .9 2 2v4c.1 1-.7 1.9-1.8 2H25zM25 34.5h-4c-1.1 0-2-.9-2-2v-4c0-1.1.9-2 2-2h4c1.1 0 2 .9 2 2v4c.1 1-.7 1.9-1.8 2H25zM37.1 44.4h35.1c1.1 0 2 .9 2 2v4c0 1.1-.9 2-2 2H37.1c-1.1 0-2-.9-2-2v-4c0-1.1.9-2 2-2zM37.1 26.6H77c1.1 0 2 .9 2 2v4c0 1.1-.9 2-2 2H37.1c-1.1 0-2-.9-2-2v-4c0-1.1.9-2 2-2z" + } + }, + letterhead: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M73.8 20H26.2c-3.4 0-6.2 2.8-6.2 6.2v47.6c0 3.4 2.8 6.2 6.2 6.2h47.6c3.4 0 6.2-2.8 6.2-6.2V26.2c0-3.4-2.8-6.2-6.2-6.2zM71 69.1c0 .8-.8 1.4-1.6 1.4H30.5c-.8 0-1.4-.8-1.4-1.6v-9c0-.8.8-1.4 1.6-1.4h38.9c.8 0 1.4.8 1.4 1.6v9zm0-29.2c0 .8-.8 1.4-1.6 1.4H30.5c-.8 0-1.4-.8-1.4-1.6v-9c0-.8.8-1.4 1.6-1.4h38.9c.8 0 1.4.8 1.4 1.6v9z" + } + }, + lightning_component: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M61.1 20H44.2c-2.5 0-4.7 1.5-5.6 3.8L28.1 50.9c-.8 2 .7 4.1 2.8 4.1h17.2l-6.4 22.4c-.6 2.1 2 3.5 3.4 1.8L71.4 48c1.7-1.9.3-5-2.3-5h-13l11.4-18.4c1.2-2-.2-4.6-2.6-4.6h-3.8z" + } + }, + lightning_usage: { + "xmlns": "http://www.w3.org/2000/svg", + "path": [{ + "d": "M19 73.9c0 2.8 2.2 5 5 5h53c1.1 0 2-.9 2-2v-2.1c0-1.1-.9-2-2-2H26.9c-1 0-1.9-.9-1.9-1.9v-50c0-1.1-.9-2-2-2h-2c-1.1 0-2 .9-2 2v53z" + }, { + "d": "M34.4 57.9c-.8 0-1.5-.3-2.1-.9-1.2-1.2-1.2-3.1 0-4.2l16-15.9c1.2-1.2 3.1-1.2 4.2 0l7.7 7.7 13.5-13.7c1.2-1.2 3.1-1.2 4.2 0 1.2 1.2 1.2 3.1 0 4.2L62.4 50.8c-.6.6-1.3.9-2.1.9s-1.6-.3-2.1-.9l-7.8-7.7L36.6 57c-.6.6-1.4.9-2.2.9z" + }] + }, + link: { + "xmlns": "http://www.w3.org/2000/svg", + "path": [{ + "d": "M51.5 69.4c-.9-.1-1.7-.2-2.6-.4-.9-.2-1.8-.4-2.7-.7-.5-.2-1.1-.1-1.5.3l-.6.6c-3.6 3.6-9.4 4-13.3.7-4.2-3.7-4.4-10.1-.5-14l9.5-9.5c1.2-1.2 2.7-2.1 4.3-2.5 2-.5 4.1-.4 6 .4 1.2.5 2.3 1.2 3.2 2.1.5.5.9 1.1 1.2 1.7.5.8 1.6 1 2.3.3l3.5-3.5c.5-.5.6-1.3.1-1.9-.5-.7-1.1-1.4-1.7-2-.9-.9-1.9-1.7-3-2.4-1.8-1.1-3.8-1.9-5.8-2.3-3.9-.8-8.1-.2-11.7 1.8-1.4.8-2.7 1.7-3.9 2.9l-9.2 9.2c-6.6 6.6-7.1 17.3-.8 24.1 6.7 7.2 17.9 7.4 24.8.5l3.1-3.1c1-.7.5-2.2-.7-2.3z" + }, { + "d": "M74.5 24.5c-6.8-6.3-17.6-5.8-24.1.8L47.5 28c-.9.9-.3 2.3.9 2.4 1.8.1 3.5.5 5.3 1.1.5.2 1.1 0 1.5-.3l.6-.6c3.6-3.6 9.4-4 13.3-.7 4.2 3.7 4.4 10.1.5 14l-9.5 9.5c-1.2 1.2-2.7 2.1-4.3 2.5-2 .5-4.1.4-6-.4-1.2-.5-2.3-1.2-3.2-2.1-.5-.5-.9-1-1.2-1.6-.5-.8-1.6-1-2.3-.3L39.6 55c-.5.5-.6 1.3-.1 1.9.5.7 1.1 1.4 1.7 2 .9.9 1.9 1.7 3 2.4 1.8 1 3.8 1.7 5.8 2.1 3.9.8 8.1.2 11.7-1.8 1.4-.8 2.7-1.7 3.9-2.9l9.5-9.5c6.7-6.8 6.6-18.1-.6-24.7z" + }] + }, + list_email: { + "xmlns": "http://www.w3.org/2000/svg", + "path": [{ + "d": "M64.9 34.9H30.3c-2.7 0-4.8 2.2-4.8 4.8v.8c0 .4.4.8.8.8h32.1c2.7 0 4.8 2.2 4.8 4.8v23c0 .4.4.8.8.8h.8c2.7 0 4.8-2.2 4.8-4.8V39.7c.1-2.6-2.1-4.8-4.7-4.8z" + }, { + "d": "M75.3 24.6H40.7c-2.7 0-4.8 2.2-4.8 4.8v.8c0 .4.4.8.8.8h32.1c2.7 0 4.8 2.2 4.8 4.8v23c0 .4.4.8.8.8h.8c2.7 0 4.8-2.2 4.8-4.8V29.4c.1-2.6-2.1-4.8-4.7-4.8z" + }, { + "d": "M38.5 64.2c.5.5 1.2.5 1.7 0l18.3-17c.3-.6.2-1.7-1.1-1.7l-36.1.1c-1 0-1.8.9-1.1 1.7l18.3 16.9zm20.3-10.4c0-.8-1-1.3-1.6-.7L42.9 66.3c-1 .9-2.2 1.4-3.5 1.4-1.3 0-2.5-.5-3.5-1.3L21.7 53.1c-.6-.6-1.6-.2-1.6.7-.1-.2-.1 18.4-.1 18.4 0 1.8 1.5 3.2 3.2 3.2h32.3c1.8 0 3.2-1.5 3.2-3.2V53.8z" + }] + }, + live_chat: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M49.5 21.9c-16.7 0-30 12.3-30 27.4 0 4.8 1.4 9.3 3.6 13.3.4.6.5 1.4.3 2.1l-3.9 10.7c-.4 1 .6 1.9 1.6 1.6L32 72.9c.6-.3 1.4-.1 2.1.3 4.5 2.5 9.9 4 15.7 4 16.4-.2 29.8-12.3 29.8-27.6-.1-15.5-13.5-27.7-30.1-27.7zm-15 32.6c-2.8 0-5-2.3-5-5 0-2.8 2.3-5 5-5 2.8 0 5 2.3 5 5s-2.3 5-5 5zm15 0c-2.8 0-5-2.3-5-5 0-2.8 2.3-5 5-5 2.8 0 5 2.3 5 5s-2.2 5-5 5zm15.1 0c-2.8 0-5-2.3-5-5 0-2.8 2.3-5 5-5s5 2.3 5 5-2.3 5-5 5z" + } + }, + live_chat_visitor: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M50 22.2c-16.6 0-30 12.5-30 28 0 5 1.4 9.6 3.8 13.7.3.5.4 1.1.2 1.6l-2.8 8.9c-.5 1.6 1 3 2.6 2.5l8.8-3.1c.6-.2 1.2-.1 1.7.2 4.6 2.7 10 4.2 15.8 4.2 16.6 0 30-12.5 30-28-.1-15.5-13.6-28-30.1-28zm-5.5 26.5c2.4-1 2.7-1.9 2.7-2.9 0-1.1-.6-2-1.4-2.7-1.4-1.2-2.2-3-2.2-5 0-3.8 2.4-7 6.4-7s6.3 3.2 6.3 7c0 2-.7 3.8-2.1 5-.8.7-1.4 1.6-1.4 2.7 0 1 .3 1.9 2.6 2.8C58.8 50 61.8 52 62 55c.2 2-1.3 4.1-3.2 4.1H41.4C39.5 59.1 38 57 38 55c0-3 3.2-4.8 6.5-6.3zm-3.8 20.5c-1.7 0-3.1-1.4-3.1-3.1 0-1.7 1.4-3.1 3.1-3.1 1.7 0 3.1 1.4 3.1 3.1s-1.4 3.1-3.1 3.1zm9.3 0c-1.7 0-3.1-1.4-3.1-3.1 0-1.7 1.4-3.1 3.1-3.1 1.7 0 3.1 1.4 3.1 3.1s-1.4 3.1-3.1 3.1zm9.3 0c-1.7 0-3.1-1.4-3.1-3.1 0-1.7 1.4-3.1 3.1-3.1s3.1 1.4 3.1 3.1-1.5 3.1-3.1 3.1z" + } + }, + location: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M77.5 28.28l-18-9a3.2 3.2 0 00-2.62 0l-16.63 8.38-16.75-8.38a3.1 3.1 0 00-3.13.12A2.88 2.88 0 0019 21.91v45a2.92 2.92 0 001.63 2.62l18 9a3.2 3.2 0 002.63 0L58 70.16l16.63 8.38a2.52 2.52 0 001.37.37 2.75 2.75 0 001.62-.5 2.88 2.88 0 001.38-2.5v-45a2.81 2.81 0 00-1.5-2.63zM72.75 34v23.78a1.87 1.87 0 01-2.5 1.88c-4.63-1.75-.88-9.5-4.25-13.75-3.13-3.88-7.13.13-11-6-3.63-5.91 1.25-10.13 5.75-12.38a2.13 2.13 0 011.75 0l9.25 4.63a2 2 0 011 1.84zM47.62 68.78a2.1 2.1 0 01-2.25-.25 6.57 6.57 0 01-2.25-4.63c0-3-5-2-5-8 0-4.87-5.75-6.13-10.63-5.63a1.88 1.88 0 01-2.12-2V30a1.86 1.86 0 012.75-1.75l10.75 5.38a.44.44 0 01.25.13l.37.25c4.5 2.63 3.62 4.75 1.75 8-2.13 3.62-3 0-6-1s-6 1-5 3 4 0 6 2 2 5 8 3 7-1 9 1a6.31 6.31 0 010 9c-1.75 1.75-2.5 5.5-3.25 8a2 2 0 01-1 1.25z" + } + }, + location_permit: { + "xmlns": "http://www.w3.org/2000/svg", + "path": [{ + "d": "M66.47 31.75l-11.4-11.39a1.33 1.33 0 00-.89-.36 1.21 1.21 0 00-1.24 1.25v9.08a3.38 3.38 0 003.38 3.38h9.08a1.22 1.22 0 001.25-1.25c.17-.18.17-.35-.18-.71zm.35 9.08A1.78 1.78 0 0065 39.05H52.94a5.17 5.17 0 01-5.17-5.16V21.78A1.78 1.78 0 0046 20H28.72a5.17 5.17 0 00-5.16 5.16v41.49a5.17 5.17 0 005.16 5.16h17.63c1.42 0 1.78-.89 1.6-2.49s-.53-7.84 3.74-12.82 11.4-5.34 12.46-5.34 2.85 0 2.67-1.61zm-37.21-10l4.28-.53a.18.18 0 00.18-.18l2-3.92a.55.55 0 01.72 0l1.95 3.92.18.18 4.28.53a.34.34 0 01.17.53l-3.2 3.21V35l.71 4.27c0 .18-.18.53-.53.35l-3.74-1.95h-.41l-3.74 1.95c-.18.18-.53 0-.53-.35l.53-4.27v-.4l-3.2-3a1.39 1.39 0 01.35-.74zm15.67 29a1.78 1.78 0 01-1.78 1.78H32.28a1.78 1.78 0 01-1.78-1.78V58.1a1.79 1.79 0 011.78-1.78H43.5a1.78 1.78 0 011.78 1.78zm9.44-10.5a1.78 1.78 0 01-1.78 1.78H32.28a1.78 1.78 0 01-1.78-1.78V47.6a1.79 1.79 0 011.78-1.78h20.84a1.78 1.78 0 011.78 1.78v1.78zM64.15 63.8a2.49 2.49 0 102.5 2.49 2.68 2.68 0 00-2.5-2.49z" + }, { + "data-name": "Shape", + "d": "M64.15 55.43a12.29 12.29 0 1012.29 12.29 12.31 12.31 0 00-12.29-12.29zM64.51 75a.53.53 0 01-.71 0c-1.25-1.06-5.52-4.62-5.52-8.72a5.88 5.88 0 0111.75 0c-.18 4.11-4.27 7.72-5.52 8.72z" + }] + }, + log_a_call: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M69.7 20H32.1c-3.3 0-6.1 3-6.1 6v2h-2c-2.2 0-4 1.8-4 4s1.8 4 4 4h2v10h-2c-2.2 0-4 1.8-4 4s1.8 4 4 4h2v10h-2c-2.2 0-4 1.8-4 4s1.8 4 4 4h2v2c0 3 2.8 6 6.1 6h37.6c3.3 0 6.3-3 6.3-6.3v-48c0-3.3-3-5.7-6.3-5.7zm-3.6 40.3l-2.8 2.8c-.6.6-1.5 1-2.3.9-6.6-.4-12.8-3.4-17.2-7.7-4.4-4.4-7.4-10.6-7.7-17.2 0-.9.3-1.7.9-2.3l2.8-2.8c1.3-1.3 3.5-1.2 4.6.3l2.6 3.2c.9 1.1.9 2.6.1 3.8l-2.2 3.1c-.3.4-.3 1 .1 1.3l4.6 5.1 5.1 4.6c.4.4.9.4 1.3.1l3.1-2.2c1.1-.8 2.7-.8 3.8.1l3.2 2.6c1.2.8 1.3 3 0 4.3z" + } + }, + logging: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M77.2 56.2h-3.7c-1 0-1.8 1-1.8 1.8v12.3c0 1-.9 1.8-1.8 1.8H29.3c-1 0-1.8-.9-1.8-1.8V58c0-.9-.9-1.8-1.8-1.8H22c-1 0-1.8 1-1.8 1.8v16.6c0 2.7 2.2 4.9 4.9 4.9h49.1c2.7 0 4.9-2.2 4.9-4.9V58c-.1-.9-.9-1.8-1.9-1.8zM50.8 21c-.7-.7-1.8-.7-2.6 0L31.6 37.6c-.7.7-.7 1.8 0 2.6l2.6 2.6c.7.7 1.8.7 2.6 0l6.9-6.9c.7-.7 2.2-.2 2.2.9v26c0 1 .7 1.8 1.7 1.8h3.7c1 0 2-1 2-1.8V36.9c0-1.1 1.2-1.6 2.1-.9l6.9 6.9c.7.7 1.8.7 2.6 0l2.6-2.6c.7-.7.7-1.8 0-2.6-.2 0-16.7-16.7-16.7-16.7z" + } + }, + loop: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M76.5 58.3c0 .1 0 .2-.1.2-.3 1.1-.7 2.2-1.1 3.3-.5 1.2-1 2.3-1.6 3.4-1.2 2.2-2.7 4.2-4.5 6-1.7 1.8-3.7 3.4-5.9 4.7-2.2 1.3-4.5 2.3-7 3-2.5.7-5.1 1.1-7.7 1.1C32.8 80 20 67.2 20 51.3s12.8-28.6 28.6-28.6c5.3 0 10.3 1.5 14.6 4h.1c2.1 1.2 4 2.7 5.6 4.4.5.4.8.7 1.2 1.2.9.8 1.6.3 1.6-.9V22c0-1.1.9-2 2-2h4c1.1 0 2 .9 2.2 2v24.5c0 .9-.8 1.8-1.8 1.8H53.6c-1.1 0-1.9-.8-1.9-1.9v-4.2c0-1.1.9-2 2-2h9.4c.8 0 1.4-.2 1.7-.7-3.6-5-9.6-8.3-16.2-8.3-11.1 0-20.1 9-20.1 20.1s9 20.1 20.1 20.1c8.7 0 16.1-5.5 18.9-13.3 0 0 .3-1.8 1.7-1.8h5.7c.8 0 1.6.6 1.6 1.5v.5z" + } + }, + macros: { + "xmlns": "http://www.w3.org/2000/svg", + "path": [{ + "d": "M64.7 67.5c-.2.5-.7.6-1.2.6h-5.8c-.5 0-.9-.4-.9-.9 0-.1.1-.4.1-.5l.1-.1.2-.2L70 50.9c.4-.5.5-1.2.2-1.7 0-.1-.1-.2-.1-.2L56.9 33.2c-.1-.1-.1-.4-.1-.5 0-.5.5-.9.9-.9h5.8c.5 0 1 .1 1.2.6L78.4 49c.2.2.2.6.2.9 0 .4-.1.7-.2 1L64.7 67.5z" + }, { + "d": "M50.4 67.5c-.2.5-.7.6-1.2.6h-5.8c-.5 0-.9-.4-.9-.9 0-.1.1-.4.1-.5l.1-.1.2-.2 12.7-15.5c.4-.5.5-1.2.2-1.7 0-.1-.1-.2-.1-.2L42.6 33.2c-.1-.1-.1-.4-.1-.5 0-.5.5-.9.9-.9h5.8c.5 0 1 .1 1.2.6L64.1 49c.2.2.2.6.2.9 0 .4-.1.7-.2 1L50.4 67.5z" + }, { + "d": "M36 67.5c-.2.5-.7.6-1.2.6H23.9c-.5 0-.9-.4-.9-.9 0-.1.1-.4.1-.5l.1-.1.2-.2 12.7-15.5c.4-.5.5-1.2.2-1.7 0-.1-.1-.2-.1-.2l-13-15.8c-.2-.1-.2-.3-.2-.5 0-.5.5-.9.9-.9h10.8c.5 0 1 .1 1.2.6L49.6 49c.2.2.2.6.2.9 0 .4-.1.7-.2 1L36 67.5z" + }] + }, + maintenance_asset: { + "xmlns": "http://www.w3.org/2000/svg", + "path": [{ + "d": "M46.5 30.5c.2.5.6.8 1.1.8h27.5c1.3 0 2.7.3 3.9.8.5.3 1.1-.1 1.1-.8.1-2.8-2.1-5-4.9-5.1H45c-.3 0-.6.2-.6.5 0 .1 0 .3.1.4l2 3.4z" + }, { + "d": "M75.1 36.4H46.7c-1.8 0-3.4-1-4.4-2.5l-4.4-7.6c-.8-1.6-2.5-2.6-4.3-2.6h-8.5c-2.8 0-5 2.2-5 5v45.9c-.1 2.8 2.1 5 4.9 5.1h50.1c2.8 0 5-2.2 5-5V41.5c.1-2.8-2.1-5-4.9-5.1h-.1zM62 69.7c-1.1 1.2-2.9 1.2-4.1.1l-.1-.1-9.9-9.9c-.6.3-1.3.4-2 .5-4.2.5-8-2.6-8.5-6.8v-.8c0-.7.1-1.5.3-2.2.1-.2.3-.4.6-.3.1 0 .1 0 .1.1l4.3 4.3c.3.3.9.3 1.2 0l3-3c.3-.3.3-.9 0-1.2l-4.3-4.3c-.2-.2-.1-.5.1-.6l.1-.1c.7-.2 1.5-.3 2.2-.3 4.2 0 7.6 3.4 7.6 7.7v.8c-.1.7-.3 1.3-.5 2l9.9 9.9c1.3 1.1 1.5 2.9.4 4.2-.2 0-.2.1-.4 0z" + }] + }, + maintenance_plan: { + "xmlns": "http://www.w3.org/2000/svg", + "path": [{ + "d": "M65.7 34h7.9c.9 0 1.7-.8 1.7-1.7 0-.4-.2-.9-.5-1.2L63.5 20c-.3-.3-.7-.5-1.1-.5-.9 0-1.7.8-1.7 1.7v7.9c.2 2.7 2.3 4.8 5 4.9z" + }, { + "d": "M72.7 41H60.5c-4 0-7.2-3.2-7.3-7.2v-12c.1-1.2-.8-2.2-2-2.3H31.6c-4 0-7.2 3.2-7.3 7.2v45.7c0 4 3.3 7.2 7.3 7.2h36.2c4 0 7.2-3.2 7.3-7.2V43.5c.1-1.3-1-2.5-2.4-2.5zm-6.9 30.8c-.8.8-1.8 1.2-3 1.2-1.1 0-2.2-.4-3-1.2L46 58c-.9.4-1.8.6-2.8.7-5.8.7-11-3.5-11.7-9.3-.2-1.5 0-3 .4-4.4.1-.4.6-.5 1-.2l6 6c.4.5 1.2.5 1.6.1 0 0 .1 0 .1-.1l4.2-4.2c.5-.4.5-1.2.1-1.6 0 0 0-.1-.1-.1l-6-6c-.2-.2-.2-.6 0-.9.1-.1.1-.1.2-.1 1-.2 2.1-.4 3.1-.4 5.9 0 10.6 4.7 10.7 10.6 0 .4 0 .8-.1 1.2-.1 1-.4 1.9-.7 2.8L65.8 66c1.6 1.6 1.6 4.2 0 5.8z" + }] + }, + maintenance_work_rule: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M79.67 49.23l-10-10a1.36 1.36 0 00-1.86 0l-1.86 1.87a1.34 1.34 0 000 1.86L69 46a.89.89 0 01-.09 1.27.87.87 0 01-.53.22H41l16.33-16.25a.89.89 0 011.27.09.87.87 0 01.22.53v4.46a1.18 1.18 0 001.1 1.24h2.71a1.17 1.17 0 001.24-1.09V22a1.17 1.17 0 00-1.1-1.24H48.53a1.36 1.36 0 00-1.24 1.37v2.49a1.18 1.18 0 001.12 1.24H53a.88.88 0 01.86.9.89.89 0 01-.24.58l-20.1 20.03H21.24A1.28 1.28 0 0020 48.69v2.64a1.46 1.46 0 001.36 1.37h12.41l20 20a.9.9 0 01-.1 1.27.85.85 0 01-.52.21h-4.5a1.17 1.17 0 00-1.24 1.1.33.33 0 000 .14v2.49a1.45 1.45 0 001.24 1.37H62.8a1.18 1.18 0 001.2-1.12V63.74a1.18 1.18 0 00-1.12-1.24h-2.7a1.17 1.17 0 00-1.24 1.09v4.61a.88.88 0 01-.89.87.9.9 0 01-.6-.25L41.08 52.7H68.5a.89.89 0 01.62 1.48l-3.22 3.1a1.35 1.35 0 000 1.87L67.76 61a1.34 1.34 0 001.86 0l10-9.92a1.36 1.36 0 00.05-1.85z" + } + }, + marketing_actions: { + "xmlns": "http://www.w3.org/2000/svg", + "path": [{ + "d": "M47.5 26c-5.1.3-9.2 4.4-9.5 9.5.2-5.2 4.3-9.3 9.5-9.5zM58 35.5c-.3-5.1-4.4-9.2-9.5-9.5 5.2.2 9.3 4.3 9.5 9.5zM63.6 54.8l-10.2-3.5c-.8-.3-1.4-1-1.4-1.9V35.8c0-2.1-1.7-3.8-3.8-3.8h-.4c-2.1 0-3.8 1.7-3.8 3.8v26.9c0 2.3-2.9 3.2-4.1 1.2l-2.6-5.5c-1.4-2.4-4.5-3-6.7-1.4L29 58.2l8.6 20.4c.4.9 1.2 1.4 2.2 1.4h22.6c1.1 0 2-.8 2.3-1.8l4-14.3c.8-3.9-1.4-7.8-5.1-9.1z" + }, { + "d": "M38 46.2V36v-.5c.3-5.1 4.4-9.2 9.5-9.5h1c5.1.3 9.2 4.4 9.5 9.5v10.7c0 .9 1.1 1.3 1.7.7C62.4 44 64 40.2 64 36c0-9.3-8-16.8-17.5-15.9-7.2.7-13.2 6.3-14.3 13.4-.8 5 .8 9.9 4.1 13.4.6.6 1.7.2 1.7-.7z" + }] + }, + medication_ingredient: { + "xmlns": "http://www.w3.org/2000/svg", + "path": [{ + "d": "M61.12 21.67H33.89A1.36 1.36 0 0032.53 23v3.74A1.37 1.37 0 0033.89 28h27.2a1.37 1.37 0 001.36-1.29V23a1.36 1.36 0 00-1.33-1.33z" + }, { + "d": "M68.11 56.27a11.14 11.14 0 1011.13 11.15 11.1 11.1 0 00-11.09-11.15zm0 5.61a1.4 1.4 0 11-1.4 1.4 1.37 1.37 0 011.35-1.39zm2.32 9.75A.43.43 0 0170 72h-3.75a.42.42 0 01-.46-.38v-.92a.5.5 0 01.46-.51.43.43 0 00.46-.4v-1.88a.5.5 0 00-.46-.51.42.42 0 01-.46-.38v-1a.5.5 0 01.46-.51H69a.5.5 0 01.47.51v3.71a.42.42 0 00.44.42.5.5 0 01.47.51z" + }, { + "d": "M54 67.4a14.15 14.15 0 0110.76-13.71v-13a9.27 9.27 0 00-9.17-9.35h-16a9.27 9.27 0 00-9.36 9.16v2.6h17a1.5 1.5 0 011.5 1.5v17.09a1.5 1.5 0 01-1.5 1.5h-17v7.48a1.44 1.44 0 001.5 1.33h23a13.84 13.84 0 01-.73-4.6z" + }], + "rect": [{ + "x": "30.28", + "y": "47.61", + "width": "13.37", + "height": "3.09", + "rx": "1" + }, { + "x": "30.28", + "y": "55.28", + "width": "9.37", + "height": "3.09", + "rx": "1" + }] + }, + merge: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M70.5 72.5c-7-3.4-12-9.4-14.5-16.3-1-2.6-1.6-5.3-1.9-7.9v-4.4h13.6c1.1 0 1.7-1.2 1-2.2L51 20.5c-.6-.8-2-.8-2.5 0L31.2 41.7c-.6.8 0 2.2 1 2.2h13.7V48.3c-.3 2.7-1 5.5-1.9 7.9-2.6 6.8-7.5 12.9-14.5 16.3-1 .4-1.4 1.6-1 2.6l1.6 3.8c.5 1.1 1.6 1.4 2.7.8 7.6-3.6 13.5-9.4 17.2-16.2 3.7 6.9 9.6 12.6 17.3 16.2 1.1.5 2.2.4 2.7-.8l1.6-3.8c.4-1-.1-2.2-1.1-2.6z" + } + }, + messaging_conversation: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M54.686 71.349c10.594-3.909 16.829-10.49 18.705-19.743C77.926 53.882 81 58.347 81 63.5c0 2.202-.564 4.243-1.544 6.086l1.689 5.37c.402 1.285-.803 2.41-2.089 2.009l-5.219-1.84C71.676 76.332 69.165 77 66.476 77c-4.869 0-9.167-2.227-11.79-5.651zM44.098 22c13.335 0 24.099 10.045 24.179 22.5 0 12.455-10.764 22.5-24.098 22.5-4.66 0-8.997-1.205-12.692-3.375a1.62 1.62 0 00-1.366-.16l-7.069 2.49c-1.285.402-2.49-.723-2.088-2.009l2.25-7.151c.16-.402.08-.884-.162-1.286C21.125 52.214 20 48.518 20 44.5 20 32.045 30.764 22 44.098 22zM32 37a2 2 0 00-2 2v2a2 2 0 002 2h26a2 2 0 002-2v-2a2 2 0 00-2-2H32zm0 11a2 2 0 00-2 2v2a2 2 0 002 2h14a2 2 0 002-2v-2a2 2 0 00-2-2H32z" + } + }, + messaging_session: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M50 22c16.6 0 30 12.5 30.1 28 0 15.5-13.4 28-30 28-5.8 0-11.2-1.5-15.8-4.2-.5-.3-1.1-.4-1.7-.2l-8.8 3.1c-1.6.5-3.1-.9-2.6-2.5l2.8-8.9c.2-.5.1-1.1-.2-1.6C21.4 59.6 20 55 20 50c0-15.5 13.4-28 30-28zm13 23c.6 0 1-.4 1-1v-6c0-.6-.4-1-1-1H37c-.6 0-1 .4-1 1v6c0 .6.4 1 1 1h26zM43 65c.6 0 1-.4 1-1V52c0-.6-.4-1-1-1h-6c-.6 0-1 .4-1 1v12c0 .6.4 1 1 1h6zm20 0c.6 0 1-.4 1-1V52c0-.6-.4-1-1-1H51c-.6 0-1 .4-1 1v12c0 .6.4 1 1 1h12z" + } + }, + messaging_user: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M50 22c16.6 0 30 12.5 30.1 28 0 15.5-13.4 28-30 28-5.8 0-11.2-1.5-15.8-4.2-.5-.3-1.1-.4-1.7-.2l-8.8 3.1c-1.6.5-3.1-.9-2.6-2.5l2.8-8.9c.2-.5.1-1.1-.2-1.6C21.4 59.6 20 55 20 50c0-15.5 13.4-28 30-28zm8.757 42c1.915 0 3.426-2.108 3.225-4.115-.1-3.01-3.225-5.018-6.55-6.423-2.317-.903-2.62-1.806-2.62-2.81 0-1.003.605-1.906 1.411-2.609 1.41-1.204 2.116-3.01 2.116-5.018 0-3.814-2.317-7.025-6.348-7.025-4.03 0-6.348 3.211-6.348 7.025 0 2.007.806 3.814 2.116 5.018.806.703 1.41 1.606 1.41 2.61 0 1.003-.302 1.906-2.62 2.91-3.325 1.505-6.448 3.312-6.549 6.322C38 61.892 39.511 64 41.426 64h17.331z" + } + }, + metrics: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M72 22H28c-3.3 0-6 2.7-6 6v44c0 3.3 2.7 6 6 6h44c3.3 0 6-2.7 6-6V28c0-3.3-2.7-6-6-6zM38 66c0 1.1-.9 2-2 2h-2c-1.1 0-2-.9-2-2V55c0-1.1.9-2 2-2h2c1.1 0 2 .9 2 2v11zm10 0c0 1.1-.9 2-2 2h-2c-1.1 0-2-.9-2-2V40c0-1.1.9-2 2-2h2c1.1 0 2 .9 2 2v26zm10 0c0 1.1-.9 2-2 2h-2c-1.1 0-2-.9-2-2V34c0-1.1.9-2 2-2h2c1.1 0 2 .9 2 2v32zm10 0c0 1.1-.9 2-2 2h-2c-1.1 0-2-.9-2-2V47c0-1.1.9-2 2-2h2c1.1 0 2 .9 2 2v19z" + } + }, + multi_picklist: { + "xmlns": "http://www.w3.org/2000/svg", + "path": [{ + "d": "M73 20H41c-3.3 0-6 2.7-6 6v1c0 .6.4 1 1 1h29c3.3 0 6 2.7 6 6v31c0 .6.4 1 1 1h1c3.3 0 6-2.7 6-6V26c0-3.3-2.7-6-6-6z" + }, { + "d": "M59 34H27c-3.3 0-6 2.7-6 6v34c0 3.3 2.7 6 6 6h32c3.3 0 6-2.7 6-6V40c0-3.3-2.7-6-6-6zM35 70c0 1.1-.9 2-2 2h-2c-1.1 0-2-.9-2-2v-2c0-1.1.9-2 2-2h2c1.1 0 2 .9 2 2v2zm0-12c0 1.1-.9 2-2 2h-2c-1.1 0-2-.9-2-2v-2c0-1.1.9-2 2-2h2c1.1 0 2 .9 2 2v2zm0-12c0 1.1-.9 2-2 2h-2c-1.1 0-2-.9-2-2v-2c0-1.1.9-2 2-2h2c1.1 0 2 .9 2 2v2zm22 24c0 1.1-.9 2-2 2H41.2c-1.1 0-2-.9-2-2v-2c0-1.1.9-2 2-2H55c1.1 0 2 .9 2 2v2zm0-12c0 1.1-.9 2-2 2H41.2c-1.1 0-2-.9-2-2v-2c0-1.1.9-2 2-2H55c1.1 0 2 .9 2 2v2zm0-12c0 1.1-.9 2-2 2H41.2c-1.1 0-2-.9-2-2v-2c0-1.1.9-2 2-2H55c1.1 0 2 .9 2 2v2z" + }] + }, + multi_select_checkbox: { + "xmlns": "http://www.w3.org/2000/svg", + "path": [{ + "d": "M73 20H41c-3.3 0-6 2.7-6 6v1c0 .6.4 1 1 1h29c3.3 0 6 2.7 6 6v31c0 .6.4 1 1 1h1c3.3 0 6-2.7 6-6V26c0-3.3-2.7-6-6-6z" + }, { + "d": "M59 34H27c-3.3 0-6 2.7-6 6v34c0 3.3 2.7 6 6 6h32c3.3 0 6-2.7 6-6V40c0-3.3-2.7-6-6-6zm-2.7 17L41 66.3c-.6.6-1.3.9-2.1.9-.7 0-1.5-.3-2.1-.9l-7.4-7.4c-.6-.6-.6-1.5 0-2.1l2.1-2.1c.6-.6 1.5-.6 2.1 0l5.3 5.3 13.2-13.2c.6-.6 1.5-.6 2.1 0l2.1 2.1c.5.6.5 1.6 0 2.1z" + }] + }, + news: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M78.3 26.9H31c-.9 0-1.7.8-1.7 1.7v35.2c0 1.4-1.3 2.5-2.7 2.3-1.2-.2-2-1.3-2-2.4V38.5c0-.7-.5-1.2-1.2-1.2h-1.7c-.9 0-1.7.8-1.7 1.7v29.4c0 2.5 2.1 4.6 4.6 4.6H75.4c2.5 0 4.6-2.1 4.6-4.6V28.7c0-1-.8-1.8-1.7-1.8zm-26 33.5c0 .7-.5 1.2-1.2 1.2H37.3c-.7 0-1.2-.5-1.2-1.2v-2.3c0-.7.5-1.2 1.2-1.2h13.8c.7 0 1.2.5 1.2 1.2v2.3zm0-9.2c0 .7-.5 1.2-1.2 1.2H37.3c-.7 0-1.2-.5-1.2-1.2v-2.3c0-.7.5-1.2 1.2-1.2h13.8c.7 0 1.2.5 1.2 1.2v2.3zm20.8 9.2c0 .7-.5 1.2-1.2 1.2H58.1c-.7 0-1.2-.5-1.2-1.2v-2.3c0-.7.5-1.2 1.2-1.2h13.8c.7 0 1.2.5 1.2 1.2v2.3zm0-9.2c0 .7-.5 1.2-1.2 1.2H58.1c-.7 0-1.2-.5-1.2-1.2v-2.3c0-.7.5-1.2 1.2-1.2h13.8c.7 0 1.2.5 1.2 1.2v2.3zm0-9.3c0 .7-.5 1.2-1.2 1.2H37.3c-.7 0-1.2-.5-1.2-1.2V35c0-.7.5-1.2 1.2-1.2h34.6c.7 0 1.2.5 1.2 1.2v6.9z" + } + }, + note: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "path": [{ + "d": "M71.3 67l-1.1 1.1C69 69.3 67.3 70 65.6 70h-3.3c-3 0-6.3-2.3-6.3-6.5v-3.1c0-2.5 1.1-4 1.8-4.8L71.3 42c.4-.4.7-1.2.7-1.7V30c0-3.3-2.7-6-6-6H34c-3.3 0-6 3-6 6h-2c-2.2 0-4 1.8-4 4s1.8 4 4 4h2v8h-2c-2.2 0-4 1.8-4 4s1.8 4 4 4h2v8h-2c-2.2 0-4 1.8-4 4s1.8 4 4 4h2c0 4 2.7 6 6 6h32c3.3 0 6-2.7 6-6v-2.7c0-.6-.3-.7-.7-.3zM61 39c0 1.1-.9 2-2 2H39c-1.1 0-2-.9-2-2v-2c0-1.1.9-2 2-2h20c1.1 0 2 .9 2 2v2zm-9 24c0 1.1-.9 2-2 2H39c-1.1 0-2-.9-2-2v-2c0-1.1.9-2 2-2h11c1.1 0 2 .9 2 2v2zm3-12c0 1.1-.9 2-2 2H39c-1.1 0-2-.9-2-2v-2c0-1.1.9-2 2-2h14c1.1 0 2 .9 2 2v2z" + }, { + "d": "M81.4 45.6l-1.2-1.2c-.8-.8-2-.8-2.8 0L62.1 59.9c-.1 0-.1.2-.1.3v3.3c0 .3 0 .5.3.5h3.3c.1 0 .3-.1.4-.1l15.4-15.4c.8-.9.8-2.1 0-2.9z" + }] + } + }, + number_input: { + "xmlns": "http://www.w3.org/2000/svg", + "path": [{ + "d": "M74 80H26c-3.3 0-6-2.7-6-6V26c0-3.3 2.7-6 6-6h48c3.3 0 6 2.7 6 6v48c0 3.3-2.7 6-6 6zM28.1 30v40c0 1.1.9 2 2 2H70c1.1 0 2-.9 2-2V30c0-1.1-.9-2-2-2H30.1c-1.1 0-2 .9-2 2z" + }, { + "d": "M63 42.8h-3.7l1.6-6.1v-.1c0-.2-.2-.5-.5-.5h-2.9c-.2 0-.4.2-.5.4l-1.6 6.3H48l1.6-6.1v-.1c0-.2-.2-.5-.5-.5h-2.9c-.2 0-.4.2-.5.4l-1.6 6.3H40c-.2 0-.4.1-.5.3l-.7 2.8v.1c0 .2.2.5.5.5h3.9l-1.8 7.1h-4c-.2 0-.4.1-.5.3l-.7 2.8v.1c0 .2.2.5.5.5h3.7l-1.6 6.2v.1c0 .2.2.5.5.5h2.9c.2 0 .4-.1.5-.4l1.6-6.4h7.3l-1.6 6v.1c0 .2.2.5.5.5h2.9c.2 0 .4-.1.5-.4l1.6-6.4h4.1c.2 0 .4-.1.5-.4l.7-2.8v-.1c0-.2-.2-.5-.5-.5h-3.8l1.8-7.1h3.9c.2 0 .4-.1.5-.4l.7-2.8c.1-.1-.1-.2-.4-.2zM52.7 53.6h-7.4l1.8-7.1h7.3l-1.7 7.1z" + }] + }, + observation_component: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "path": [{ + "d": "M23.08 32.69h.35l20.55-3v29.12a.82.82 0 00.87.87h3.48a.82.82 0 00.87-.87V28.86l21.25-3.14a2.71 2.71 0 002.26-3 2.63 2.63 0 00-3-2.18l-17.11 2.4a8.48 8.48 0 00-6.1-2.53A8.8 8.8 0 0038.84 25l-16.2 2.43a2.63 2.63 0 00.44 5.23z" + }, { + "d": "M72.1 52.63a2.52 2.52 0 00.35-2.7l-6.88-16.54a2.67 2.67 0 00-4.87 0l-7 16.54a2.71 2.71 0 00.17 2.44c.16.23 2.84 4.34 7.25 5.28a14.42 14.42 0 018.5-2.73h.25a20.29 20.29 0 002.23-2.29zM59.39 50.1l3.74-9 3.75 9zM39 57.85a2.52 2.52 0 00.35-2.7l-7-16.54a2.47 2.47 0 00-2.3-1.61 2.67 2.67 0 00-2.44 1.57l-7 16.54a2.68 2.68 0 00.18 2.44c.17.26 3.57 5.49 9.05 5.49 3.25.04 6.39-1.7 9.16-5.19zm-12.7-2.52l3.75-9 3.74 9zM55.13 69.44a14.43 14.43 0 01.25-2.65 21.85 21.85 0 00-8.79-1.88 21 21 0 00-13.32 4.7 1.84 1.84 0 00-.61 1.31V71a1.74 1.74 0 001.74 1.74h21.12a14.33 14.33 0 01-.39-3.3zM69.62 79.56a10.2 10.2 0 1110.21-10.19 10.16 10.16 0 01-10.21 10.19zm.91-12.69a1 1 0 00-.7.21c-.56.38-1.12.75-1.67 1.16a3.54 3.54 0 00-.53.56.27.27 0 000 .35.3.3 0 00.34.09c.14 0 .27-.1.4-.15a2.43 2.43 0 01.37-.16c.19-.06.28 0 .28.21a2.17 2.17 0 010 .25c-.39 1.61-.78 3.21-1.18 4.82a.89.89 0 00.45 1.06 1.15 1.15 0 001.16-.1c.54-.35 1.07-.71 1.58-1.11a5.52 5.52 0 00.72-.73.22.22 0 000-.28.27.27 0 00-.3-.11l-.38.14-.44.2c-.17.06-.26 0-.25-.19a2.63 2.63 0 01.06-.39c.37-1.5.73-3 1.1-4.51a1 1 0 00-1.01-1.32zm1.08-2.09a1.55 1.55 0 00-1.78-1.47 1.36 1.36 0 00-1.08 2 1.53 1.53 0 001.7.89 1.48 1.48 0 001.16-1.42z" + }] + } + }, + omni_supervisor: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M67.225 28.893C60.804 31.476 57.416 37.717 57.036 48h10.216a8 8 0 110 4H57.036c.38 10.283 3.768 16.524 10.19 19.107a8 8 0 11.14 4.291C58.27 72.62 53.483 64.663 53.035 52H47a2 2 0 110-4h6.035c.448-12.662 5.236-20.62 14.33-23.399a8 8 0 11-.14 4.291zM75 31a4 4 0 100-8 4 4 0 000 8zm0 46a4 4 0 100-8 4 4 0 000 8zm0-23a4 4 0 100-8 4 4 0 000 8zM45.074 68H22.463C19.933 68 18 65.62 18 62.942c.149-4.016 4.314-6.099 8.628-8.033 2.975-1.339 3.422-2.38 3.422-3.719s-.893-2.529-1.786-3.421c-1.785-1.637-2.677-3.868-2.677-6.546 0-4.909 2.975-9.223 8.33-9.223 5.356 0 8.33 4.314 8.33 9.223 0 2.678-.892 4.91-2.677 6.546-1.041.892-1.785 2.082-1.785 3.421 0 1.19.446 2.38 3.422 3.72 4.314 1.933 8.479 4.016 8.628 8.032C49.537 65.62 47.603 68 45.075 68z" + } + }, + operating_hours: { + "xmlns": "http://www.w3.org/2000/svg", + "path": [{ + "d": "M53 50.18a1.32 1.32 0 01-.35-1v-8.43a1.35 1.35 0 00-1.32-1.32h-2.61a1.35 1.35 0 00-1.32 1.32v10.66a1.85 1.85 0 00.35 1l6.52 6.52a1.28 1.28 0 001.85 0L58 57a1.28 1.28 0 000-1.85z", + "fill-rule": "evenodd" + }, { + "d": "M50 28.86A21.14 21.14 0 1071.18 50 21.2 21.2 0 0050 28.86zm0 37A15.85 15.85 0 1165.9 50 15.9 15.9 0 0150 65.85z", + "fill-rule": "evenodd" + }, { + "d": "M28.82 59.91a15.74 15.74 0 010-19.81L25.31 36a21 21 0 000 27.94zM71.23 40.12a15.74 15.74 0 010 19.81L74.64 64a21 21 0 000-27.94z", + "fill-rule": "evenodd" + }] + }, + opportunity: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M71.1 69H28.9c-1 0-1.9.9-1.9 1.9v.1c0 3.3 2.7 6 6 6h34c3.3 0 6-2.7 6-6v-.1c0-1-.9-1.9-1.9-1.9zM76 28c-3.3 0-6 2.7-6 6 0 1.8.8 3.5 2.1 4.6-1.7 3.9-5.6 6.6-10.2 6.4-5.3-.3-9.6-4.6-9.9-9.9 0-.9 0-1.7.2-2.5 2.2-.9 3.8-3 3.8-5.6 0-3.3-2.7-6-6-6s-6 2.7-6 6c0 2.5 1.6 4.7 3.8 5.6.2.8.2 1.6.2 2.5-.3 5.3-4.6 9.6-9.9 9.9-4.6.3-8.6-2.5-10.2-6.4 1.3-1.1 2.1-2.8 2.1-4.6 0-3.3-2.7-6-6-6s-6 2.7-6 6 2.7 6 6 6l2.8 21.4c.1.9.9 1.6 1.9 1.6h42.6c.9 0 1.7-.7 1.9-1.6L76 40c3.3 0 6-2.7 6-6s-2.7-6-6-6z" + } + }, + opportunity_contact_role: { + "xmlns": "http://www.w3.org/2000/svg", + "path": [{ + "d": "M64.9 47.4c-8.2 0-15 6.7-15 15 0 8.2 6.7 15 15 15s15-6.7 15-15-6.8-15-15-15zm7.3 13.1l-2.8 2.8c-.3.3-.4.6-.4.8l.7 4.2c.2 1.2-.9.5-.9.5L65.4 67c-.5-.3-1 0-1 0l-3.5 1.8c-.9.5-.9 0-.9-.4l.7-3.9c.1-.8-.3-1.1-.3-1.2l-2.5-2.4-.3-.3c-.3-.3-.5-.8.6-1l3.5-.5c.5-.1.8-.3.9-.5l1.9-3.9c.1-.3.5-.6.9.2l1.9 3.8c.1.2.4.3.6.4h.3l3.7.5h.1c.2.1.9.3.2.9z" + }, { + "d": "M48.9 77.2c1 0 1.6-1.2 1-2-3.2-3.6-5-8.2-5-13 0-3.4 1.1-7.2 2.9-10.2 2.1-3.6 4.5-5.1 6.4-7.9 3.1-4.6 3.7-11.2 1.7-16.2-2-5.1-6.7-8.1-12.2-8s-10 3.5-11.7 8.6c-2 5.6-1.1 12.4 3.4 16.6 1.9 1.7 3.5 4.4 2.6 7-.2.5-.8 1.3-2.2 1.9-5.7 2.5-11.5 5.5-14.1 9.7-.5.8-1.5 2.8-1.6 5.6 0 .7 0 1.3.1 2.2 0 .4 0 .4.1.8.3 1.7 1.3 3.2 2.8 4.1.6.3 2 .8 4.7.8h21.1z" + }] + }, + opportunity_splits: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "path": { + "d": "M69.3 27.1C64.1 22.7 57.4 20 50 20c-16.5 0-30 13.5-30 30 0 7.4 2.7 14.1 7.1 19.3l42.2-42.2zM34 75.3c4.6 2.9 10.1 4.7 16 4.7 16.5 0 30-13.5 30-30 0-5.9-1.7-11.3-4.7-16L34 75.3z" + } + } + }, + orchestrator: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M63 21.42a2 2 0 00-2.79-1.2c-1.17.56-1.31 1.78-.75 3l9.11 22.73c.55 1.18 1.59 1.88 2.75 1.32a2.2 2.2 0 00.79-3.09zM50.25 37.19c5.14 0 9.26 4.68 9.26 10.46s-4.12 10.47-9.26 10.47S41 53.44 41 47.65s4.11-10.46 9.25-10.46zM28.89 60.43l13.34 1.5L45.3 80h-3.8a2.34 2.34 0 01-2.24-1.73l-2.72-9.8-11.36-1.28a6 6 0 01-4.85-7.87l5.86-17.08a3.49 3.49 0 014.47-2.19 3.58 3.58 0 012.15 4.54l-4.9 14.27a1.18 1.18 0 00.98 1.57zM59.21 80h-4l3-17.86 12.61 2.39a1.19 1.19 0 001.36-1.43l-1.79-8A3.58 3.58 0 0173 50.8a3.5 3.5 0 014.23 2.63L79.83 65a5.9 5.9 0 01-6.72 7.25l-9.63-1.82-2 7.84A2.33 2.33 0 0159.21 80zM46.64 64.11a1.37 1.37 0 01-2.1-1.19v-2.21a1.37 1.37 0 012.1-1.19l3.61 2.3zM50.25 61.82l3.6-2.3A1.38 1.38 0 0156 60.71v2.21a1.38 1.38 0 01-2.11 1.19z" + } + }, + order_item: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M21.2 51.9L48 64.6c1.2.6 2.7.6 3.9 0l26.9-12.7c1.6-.8 1.6-2.9 0-3.7L51.9 35.5c-1.2-.6-2.7-.6-3.9 0L21.2 48.3c-1.7.7-1.7 2.9 0 3.6z" + } + }, + orders: { + "xmlns": "http://www.w3.org/2000/svg", + "path": [{ + "d": "M78.8 62.1l-3.6-1.7c-.5-.3-1.2-.3-1.7 0L52 70.6c-1.2.6-2.7.6-3.9 0L26.5 60.4c-.5-.3-1.2-.3-1.7 0l-3.6 1.7c-1.6.8-1.6 2.9 0 3.7L48 78.5c1.2.6 2.7.6 3.9 0l26.8-12.7c1.7-.8 1.7-3 .1-3.7z" + }, { + "d": "M78.8 48.1l-3.7-1.7c-.5-.3-1.2-.3-1.7 0L52 56.6c-1.2.6-2.7.6-3.9 0L26.6 46.4c-.5-.3-1.2-.3-1.7 0l-3.7 1.7c-1.6.8-1.6 2.9 0 3.7L48 64.6c1.2.6 2.7.6 3.9 0l26.8-12.7c1.7-.8 1.7-3 .1-3.8z" + }, { + "d": "M21.2 37.8L48 50.5c1.2.6 2.7.6 3.9 0l26.8-12.7c1.6-.8 1.6-2.9 0-3.7L51.9 21.4c-1.2-.6-2.7-.6-3.9 0L21.2 34.2c-1.6.7-1.6 2.9 0 3.6z" + }] + }, + outcome: { + "xmlns": "http://www.w3.org/2000/svg", + "path": [{ + "d": "M62.6 31.9c0-.1-.1-.1-.2-.2-.7-.7-1.9-.6-2.5.2l-2.7 2.6-.1.1c-.7.7-.7 1.9.1 2.5l7 7c.2.2.4.5.4.9 0 .7-.5 1.3-1.3 1.3H36.8c-1 0-1.8.8-1.9 1.8v3.8c.1 1 .9 1.8 1.9 2h26.6c.3 0 .5.1.7.3.6.4.7 1.3.2 1.8l-7 7-.1.1c-.7.7-.7 1.9.1 2.5l2.6 2.7.1.1c.7.7 1.9.7 2.5-.1l16.9-16.9.1-.1c.7-.7.7-1.9-.1-2.5L62.6 31.9z" + }, { + "d": "M43.7 38.9h3.7c1 0 1.9-.9 1.9-1.9V25c0-2.8-2.2-5-5-5H25c-2.8 0-5 2.2-5 5v50c0 2.8 2.2 5 5 5H44.3c2.8 0 5-2.2 5-5V63.2c0-1-.9-1.9-1.9-1.9h-3.7c-1 0-1.9.9-1.9 1.9v7.4c0 1-.9 1.9-1.9 1.9H29.4c-1 0-1.9-.9-1.9-1.9V29.4c0-1 .9-1.9 1.9-1.9h10.5c1 0 1.9.9 1.9 1.9V37c0 1 .8 1.9 1.9 1.9z" + }] + }, + output: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M20.8 53.8h41.5c1.1 0 1.6 1.4.9 2.1l-12 12c-.8.8-.8 1.9 0 2.6l2.8 2.8c.8.8 1.9.8 2.6 0l21.9-22c.8-.8.8-1.9 0-2.6l-22-22c-.8-.8-1.9-.8-2.6 0l-2.6 2.6c-.8.8-.8 1.9 0 2.6l12 12c.8.9.3 2.3-.9 2.3H20.9c-1 0-1.9.8-1.9 1.8v3.8c0 1 .8 2 1.8 2z" + } + }, + partner_fund_allocation: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M30.9 65.6l-8.1 8.5c-.3.3-.8.1-.8-.3v-4c0-.4-.4-.9-.8-.9h-1.5c-.4 0-.8.5-.8.9v9.5c0 .5.2.7.7.7h9.5c.4 0 .8-.2.8-.7v-1.5c0-.4-.3-.8-.8-.8h-4c-.5 0-.7-.5-.3-.8l10.4-10.9h-.9c-1.1 0-2.3.1-3.4.3zM73.1 76.2c.3.3.1.8-.4.8h-4c-.4 0-.8.4-.8.8v1.5c0 .4.5.8.8.8h9.5c.5 0 .7-.2.7-.7v-9.5c0-.4-.2-.8-.6-.8h-1.5c-.4 0-.9.3-.9.8v4c0 .4-.5.7-.8.3L70.4 70c-1.2.3-2.3.6-3.5.8l6.2 5.4zM68.8 40.5c-15.2 4.7-27.2-9.7-43.9-2.9-1.3.5-1.9 1.6-1.9 3.1V58c0 2.3 1.9 3.7 4.1 3.1 16.5-5 28.5 9.4 44.1 2.9 1.1-.5 2.1-1.6 2.1-3.1V43.6c-.1-2.1-2.3-3.8-4.5-3.1zM48.6 56.7c-3.6 0-6.5-2.9-6.5-6.5s2.9-6.5 6.5-6.5 6.5 2.9 6.5 6.5-2.9 6.5-6.5 6.5zM48.4 26.6c0-.5-.5-.6-.8-.3l-2.8 2.8c-.3.3-.9.2-1.2 0l-1-1.1c-.3-.3-.2-.7.1-1l6.8-6.8c.3-.3.6-.3 1 0l6.7 6.7c.3.3.4.8.1 1.1l-1 1c-.3.3-.9.2-1.2 0l-2.8-2.8c-.3-.3-.8-.1-.8.3v7.3l-3-.9-.1-6.3z" + } + }, + partner_fund_claim: { + "xmlns": "http://www.w3.org/2000/svg", + "path": [{ + "d": "M56.5 34h9.4c.7 0 1.3-.6 1.3-1.3 0-.3-.1-.6-.3-.9L55.1 20.3c-.3-.2-.6-.3-.9-.3-.7 0-1.3.6-1.3 1.3v9.2c.1 1.9 1.7 3.5 3.6 3.5z" + }, { + "d": "M38.6 65c0-3.5 2-6.6 5.2-7.8 2.6-1 5.2-1.6 8-1.6 4 0 7.4 1.1 10.5 2 1.7.5 3.3 1 4.8 1.3l.2-18c0-.9-.8-1.7-1.7-1.7H53c-3 0-5.2-2.4-5.2-5.2V21.7c0-.9-.8-1.7-1.8-1.7H28.2c-2.9 0-5.2 2.4-5.2 5.2v42c0 2.9 2.4 5.2 5.2 5.2h10.4V65z" + }, { + "d": "M72.4 64.9c-9.1 2.8-16.3-5.8-26.2-1.7-.8.3-1.2 1-1.2 1.8v10.4c0 1.4 1.2 2.2 2.4 1.8 9.9-3 17 5.6 26.3 1.7.7-.3 1.3-1 1.3-1.8V66.8c0-1.3-1.3-2.2-2.6-1.9zm-12.1 9.7c-2.1 0-3.9-1.7-3.9-3.9 0-2.1 1.7-3.9 3.9-3.9s3.9 1.7 3.9 3.9-1.7 3.9-3.9 3.9z" + }] + }, + partner_fund_request: { + "xmlns": "http://www.w3.org/2000/svg", + "path": [{ + "d": "M43.7 58.3c3.7-2.1 7.2-3.1 11.1-3.1 1.1 0 2.2.1 3.2.2.5.1.6-.1.1-.4-1.9-1.1-4-2.1-6.2-3-4.3-1.8-4.9-3.4-4.9-5.2 0-1.8 1.2-3.4 2.6-4.7 2.5-2.3 3.9-5.4 3.9-9.1 0-6.9-4.3-12.8-11.9-12.8s-12 5.9-12 12.8c0 3.7 1.4 6.9 3.9 9.1 1.4 1.3 2.6 3 2.6 4.7 0 1.7-.7 3.4-4.9 5.2C25 54.6 19.1 57.6 19 63.3c0 3.7 2.8 7 6.3 7h14.2c1.1 0 2-.9 2-2v-6.5c.2-1.4.9-2.8 2.2-3.5z" + }, { + "d": "M76.3 64.3c-9.4 2.9-16.8-6-27.2-1.8-.8.3-1.2 1-1.2 1.9v10.7c0 1.4 1.2 2.3 2.5 1.9 10.2-3.1 17.6 5.8 27.3 1.8.7-.3 1.3-1 1.3-1.9V66.2c0-1.3-1.4-2.3-2.7-1.9zm-12.6 10c-2.2 0-4-1.8-4-4s1.8-4 4-4 4 1.8 4 4-1.8 4-4 4z" + }] + }, + partner_marketing_budget: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M73.8 37.8c-18.2 5.6-32.5-11.6-52.5-3.5-1.5.6-2.3 2-2.3 3.7v20.7c0 2.7 2.3 4.5 4.8 3.7 19.7-6 34.1 11.2 52.6 3.5 1.4-.6 2.5-1.9 2.5-3.7V41.5c.1-2.5-2.6-4.5-5.1-3.7zM49.6 57.2c-4.3 0-7.7-3.5-7.7-7.7s3.5-7.7 7.7-7.7 7.7 3.5 7.7 7.7-3.5 7.7-7.7 7.7z" + } + }, + partners: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M77 31.7h-6c-1.3 0-2.6-.6-3.6-1.5l-4.8-4.1c-1-.8-2.3-1.4-3.6-1.4H47.3c-1.5 0-2.9.6-4 1.7l-6.2 5.1c-.5.4-.5 1.2-.1 1.7l1.9 1.8c1.3 1 3 1.2 4.3.3l5.5-3.3c.7-.5 1.7-.3 2.3.3l17.3 16.8c.4.4.7 1 .7 1.6v4.5c0 1.2.9 2.5 2 2.5h6c1.1 0 2-.9 2-2.1V33.7c0-1.2-.9-2-2-2zm-17 18L49.2 39.2l-3 1.8c-1.5.9-3.2 1.4-4.9 1.4-2.1 0-4.3-.8-6-2.2L31.4 37c-.9-.7-1.4-1.5-1.5-2.6-.2-1.1-1-1.7-2-1.7H21c-1.1 0-2 .6-2 1.8v18.2c0 1.2.9 2 2 2h4c.3 0 .7-1.1 1.1-1.6 1.5-2 3.7-3.1 6.1-3.4 2.4-.2 4.7.6 6.6 2.3l12.5 11.4c1.1 1 1.9 2.1 2.4 3.5.3.7 1.1.9 1.6.4l4.7-4.7c2.4-2.4 4.2-8 2-10.6l-2-2.3zm-25.1 7.4c-1.3-1.2-3.2-1-4.2.4-1.1 1.4-.9 3.4.4 4.6l12.5 11.3c.6.6 1.4.8 2.2.7.8-.1 1.5-.5 2-1.2 1.1-1.4.9-3.4-.4-4.6L34.9 57.1z" + } + }, + password: { + "xmlns": "http://www.w3.org/2000/svg", + "path": [{ + "d": "M74 80H26c-3.3 0-6-2.7-6-6V26c0-3.3 2.7-6 6-6h48c3.3 0 6 2.7 6 6v48c0 3.3-2.7 6-6 6zM28.1 30v40c0 1.1.9 2 2 2H70c1.1 0 2-.9 2-2V30c0-1.1-.9-2-2-2H30.1c-1.1 0-2 .9-2 2z" + }, { + "d": "M66.3 47.3l-1.2-3.8c-.3-1-1.5-1.6-2.5-1.3L53.9 45v-8.6c0-1.1-.9-2-2-2h-4c-1.1 0-2 .9-2 2V45l-8.5-2.8c-1-.3-2.2.3-2.5 1.3l-1.2 3.8c-.3 1 .3 2.2 1.3 2.5l7.9 2.6-5.7 7.8c-.6.9-.4 2.2.5 2.8l3.3 2.3c.9.6 2.2.4 2.8-.5l6.3-8.7 6.3 8.7c.6.9 1.9 1.1 2.8.5l3.3-2.3c.9-.6 1.1-1.9.5-2.8l-5.7-7.9 7.8-2.5c.9-.4 1.5-1.5 1.2-2.5z" + }] + }, + past_chat: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M49.5 21.9c-16.7 0-30 12.3-30 27.4 0 4.8 1.4 9.3 3.6 13.3.4.6.5 1.4.3 2.1l-3.9 10.7c-.4 1 .6 1.9 1.6 1.6L32 72.9c.6-.3 1.4-.1 2.1.3 4.5 2.5 9.9 4 15.7 4 16.4-.2 29.8-12.3 29.8-27.6-.1-15.5-13.5-27.7-30.1-27.7zm11.7 40.5l-1.4 1.4c-.6.6-1.3.9-2.1.9s-1.5-.3-2.1-.9L46 54.2c-.7-.6-1.2-1.7-1.2-2.8v-14c0-1.7 1.3-3 3-3h2c1.7 0 3 1.3 3 3v12.4l8.4 8.4c.6.6.9 1.3.9 2.1s-.3 1.5-.9 2.1z" + } + }, + payment_gateway: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "path": [{ + "d": "M41.94 25.34a22.45 22.45 0 000 44.88h1V52.43c0-1.33 1-3 2.35-3h19c0-.74.07-1.25.07-1.65a22.52 22.52 0 00-22.42-22.44zm17.91 20.52h-5.78A33.5 33.5 0 0050.9 32.4a18.16 18.16 0 018.95 13.46zM39.37 31.11v14.75h-5.13c.39-7.03 2.61-12.59 5.13-14.75zm0 18.59v14.74c-2.5-2.17-4.74-7.7-5.13-14.74zm5.13-3.84V31.11c2.5 2.16 4.76 7.72 5.13 14.75zM33 32.4a34.57 34.57 0 00-3.2 13.46H24a18.11 18.11 0 019-13.46zm-9 17.94h5.81A33.55 33.55 0 0033 63.76a18.11 18.11 0 01-9-13.42z", + "fill-rule": "evenodd" + }, { + "d": "M76.89 53.2H49.66a3.13 3.13 0 00-3.13 3.13v15.2a3.13 3.13 0 003.13 3.13h27.23A3.13 3.13 0 0080 71.53v-15.2a3.13 3.13 0 00-3.11-3.13zM53.32 71.53a3.65 3.65 0 00-3.55-3.75h-.1V60a3.65 3.65 0 003.75-3.55v-.14H73.2A3.65 3.65 0 0076.79 60h.1v7.82a3.66 3.66 0 00-3.75 3.58v.11z", + "fill-rule": "evenodd" + }], + "circle": { + "cx": "63.27", + "cy": "63.66", + "r": "5.25" + } + } + }, + people: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M80 71.2V74c0 3.3-2.7 6-6 6H26c-3.3 0-6-2.7-6-6v-2.8c0-7.3 8.5-11.7 16.5-15.2.3-.1.5-.2.8-.4.6-.3 1.3-.3 1.9.1C42.4 57.8 46.1 59 50 59c3.9 0 7.6-1.2 10.8-3.2.6-.4 1.3-.4 1.9-.1.3.1.5.2.8.4 8 3.4 16.5 7.8 16.5 15.1z" + }, + "ellipse": { + "cx": "50", + "cy": "36.5", + "rx": "14.9", + "ry": "16.5" + } + }, + performance: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M30 20h-2c-3.3 0-6 3-6 6v48c0 3 2.7 6 6 6h2c1.1 0 2-.9 2-2V22c0-1.1-.9-2-2-2zM72 20H40c-1.1 0-2 .9-2 2v56c0 1.1.9 2 2 2h32c3.3 0 6-2.7 6-6V26c0-3.3-2.7-6-6-6zm-2.2 26.8l-5.2 5.3c-.1.1-.2.4-.2.6l1.2 7.5c.1.5-.4.9-.9.7l-6.5-3.6c-.2-.1-.4-.1-.6 0l-6.5 3.6c-.5.2-1-.2-.9-.7l1.2-7.5c0-.2 0-.4-.2-.6L46 46.8c-.4-.4-.2-1 .3-1.1l7.2-1.1c.2 0 .4-.2.5-.4l3.2-6.9c.2-.5.9-.5 1.1 0l3.2 6.9c.1.2.3.3.5.4l7.2 1.1c.8.1 1 .7.6 1.1z" + } + }, + person_account: { + "xmlns": "http://www.w3.org/2000/svg", + "path": [{ + "d": "M69.5 59c-3.6-1.5-4.2-2.9-4.2-4.4 0-1.5 1-2.9 2.2-4 2.1-1.9 3.3-4.6 3.3-7.8 0-5.8-3.7-10.9-10.2-10.9s-10.2 5-10.2 10.9c0 3.2 1.2 5.8 3.3 7.8 1.2 1.1 2.2 2.5 2.2 4s-.6 2.9-4.2 4.4c-5.3 2.2-10.4 5-10.5 9.8 0 3.1 2.4 6.2 5.4 6.2h27.8c3.1 0 5.4-3.1 5.4-6.2.1-4.7-5-7.5-10.3-9.8z" + }, { + "d": "M46.6 51.4c-.4-.5-2.4-3-2.2-9.7.1-6.6 3-8.3 3-8.3v-6.5c0-1.1-1.1-1.9-1.9-1.9H21.9c-.9 0-1.9.9-1.9 2v43.6h13.5c.3-11.1 13-15.6 13-15.6 1.9-1 .5-3.1.1-3.6zM30.7 65.1c0 1.1-.9 2-2 2h-2c-1.1 0-2-.9-2-2v-2c0-1.1.9-2 2-2h2c1.1 0 2 .9 2 2v2zm0-9.9c0 1.1-.9 2-2 2h-2c-1.1 0-2-.9-2-2v-2c0-1.1.9-2 2-2h2c1.1 0 2 .9 2 2v2zm0-9.9c0 1.1-.9 2-2 2h-2c-1.1 0-2-.9-2-2v-2c0-1.1.9-2 2-2h2c1.1 0 2 .9 2 2v2zm0-9.9c0 1.1-.9 2-2 2h-2c-1.1 0-2-.9-2-2v-2c0-1.1.9-2 2-2h2c1.1 0 2 .9 2 2v2zm11.2 19.8c0 1.1-.9 2-2 2h-2c-1.1 0-2-.9-2-2v-2c0-1.1.9-2 2-2h2c1.1 0 2 .9 2 2v2zm0-9.9c0 1.1-.9 2-2 2h-2c-1.1 0-2-.9-2-2v-2c0-1.1.9-2 2-2h2c1.1 0 2 .9 2 2v2zm0-9.9c0 1.1-.9 2-2 2h-2c-1.1 0-2-.9-2-2v-2c0-1.1.9-2 2-2h2c1.1 0 2 .9 2 2v2z" + }] + }, + photo: { + "xmlns": "http://www.w3.org/2000/svg", + "path": [{ + "d": "M36 31h28c.8 0 1.3-.9.8-1.5l-3.3-5.1c-1-2-3.1-3.3-5.4-3.3H43.9c-2.3 0-4.4 1.3-5.4 3.3l-3.3 5.1c-.5.6 0 1.5.8 1.5zM50 49c-4.4 0-8 3.6-8 8s3.6 8 8 8 8-3.6 8-8-3.6-8-8-8z" + }, { + "d": "M74 37H26c-3.3 0-6 2.7-6 6v28c0 3.3 2.7 6 6 6h48c3.3 0 6-2.7 6-6V43c0-3.3-2.7-6-6-6zM50 71c-7.7 0-14-6.3-14-14s6.3-14 14-14 14 6.3 14 14-6.3 14-14 14z" + }] + }, + picklist_choice: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M25.9 59.7h-4c-1.1 0-2 .9-2 2v4c0 1.1.9 2 2 2h4.2c1.1-.1 1.9-1 1.8-2v-4c0-1.1-.9-2-2-2zM38 32h39.9c1.1 0 2-.9 2-2v-4c0-1.1-.9-2-2-2H38c-1.1 0-2 .9-2 2v4c0 1.1.9 2 2 2zM38 49.9h39.9c1.1 0 2-.9 2-2v-4c0-1.1-.9-2-2-2H38c-1.1 0-2 .9-2 2v4c0 1.1.9 2 2 2zM25.9 23.9h-4c-1.1 0-2 .9-2 2v4c0 1.1.9 2 2 2h4.2c1.1-.1 1.9-1 1.8-2v-4c0-1.1-.9-2-2-2zM25.9 41.8h-4c-1.1 0-2 .9-2 2v4c0 1.1.9 2 2 2h4.2c1.1-.1 1.9-1 1.8-2v-4c0-1.1-.9-2-2-2zM43.6 67.3c0-2.3.8-4.5 2.1-6.3v-.6-.7H38c-1.1 0-2 .9-2 2v4c0 1.1.9 2 2 2h5.6v-.4zM61.7 56.8c1-1 2.4-1.7 4-1.7 2.1 0 3.9 1.1 4.9 2.8.8-.3 1.8-.6 2.8-.6 3.7 0 6.8 3.1 6.8 6.7 0 3.7-3.1 6.7-6.8 6.7-.4 0-.9 0-1.3-.1-.8 1.5-2.5 2.5-4.3 2.5-.8 0-1.5-.2-2.2-.5-.9 2-2.9 3.4-5.2 3.4-2.5 0-4.5-1.5-5.3-3.6-.3 0-.7.1-1.1.1-2.9 0-5.3-2.3-5.3-5.2 0-1.9 1-3.6 2.6-4.5-.3-.7-.5-1.5-.5-2.4 0-3.3 2.8-6 6.1-6 1.9 0 3.7.9 4.8 2.4z" + } + }, + picklist_type: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M78 36H38c-1.1 0-2-.9-2-2v-4c0-1.1.9-2 2-2h40c1.1 0 2 .9 2 2v4c0 1.1-.9 2-2 2zM78 54H38c-1.1 0-2-.9-2-2v-4c0-1.1.9-2 2-2h40c1.1 0 2 .9 2 2v4c0 1.1-.9 2-2 2zM26 54h-4c-1.1 0-2-.9-2-2v-4c0-1.1.9-2 2-2h4c1.1 0 2 .9 2 2v4c0 1.1-.9 2-2 2zM26 36h-4c-1.1 0-2-.9-2-2v-4c0-1.1.9-2 2-2h4c1.1 0 2 .9 2 2v4c0 1.1-.9 2-2 2zM26 72h-4c-1.1 0-2-.9-2-2v-4c0-1.1.9-2 2-2h4c1.1 0 2 .9 2 2v4c0 1.1-.9 2-2 2zM78 72H38c-1.1 0-2-.9-2-2v-4c0-1.1.9-2 2-2h40c1.1 0 2 .9 2 2v4c0 1.1-.9 2-2 2z" + } + }, + planogram: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "path": { + "d": "M77.4 71.5h-3.3V53.6c0-.9-.8-1.7-1.7-1.7H53.7c-.9 0-1.7.8-1.7 1.7v17.8h-5V53.6c0-.9-.8-1.7-1.7-1.7H26.6c-.9 0-1.7.8-1.7 1.7v17.8h-3.3c-1.1 0-2 .9-2 2v4c0 1.1.9 2 2 2h55.7c1.1 0 2-.9 2-2v-4c.1-1.1-.8-1.9-1.9-1.9zm-20.9-15h13V61h-13v-4.5zm-27.1 0h13V61h-13v-4.5zM77.4 39h-3.3V21.1c0-.9-.8-1.7-1.7-1.7H53.7c-.9 0-1.7.8-1.7 1.7V39h-5V21.1c0-.9-.8-1.7-1.7-1.7H26.6c-.9 0-1.7.8-1.7 1.7V39h-3.3c-1.1 0-2 1-2 2v4c0 1.1.9 2 2 2h55.7c1.1 0 2-.9 2-2v-4c.1-1.2-.8-2-1.9-2zM56.5 24h13v4.5h-13V24zm-27.1 0h13v4.5h-13V24z" + } + } + }, + poll: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M76 20H24c-2.2 0-4 1.8-4 4v8c0 2.2 1.8 4 4 4h52c2.2 0 4-1.8 4-4v-8c0-2.2-1.8-4-4-4zM51 32v-8h25v8H51zM76 42H24c-2.2 0-4 1.8-4 4v8c0 2.2 1.8 4 4 4h52c2.2 0 4-1.8 4-4v-8c0-2.2-1.8-4-4-4zM42 54v-8h34v8H42zM76 64H24c-2.2 0-4 1.8-4 4v8c0 2.2 1.8 4 4 4h52c2.2 0 4-1.8 4-4v-8c0-2.2-1.8-4-4-4zM60 76v-8h16v8H60z" + } + }, + portal: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M72 22H28c-3.3 0-6 2.7-6 6v44c0 3.3 2.7 6 6 6h44c3.3 0 6-2.7 6-6V28c0-3.3-2.7-6-6-6zM59 62.6c.3 1.2-.7 2.4-1.9 2.4H43c-1.3 0-2.2-1.2-1.9-2.4l3.2-11c-3.1-2.2-4.9-6.1-4.1-10.4.8-4 3.9-7.2 7.9-7.9C54.4 32 60 36.9 60 43.2c0 3.5-1.7 6.5-4.3 8.3L59 62.6z" + } + }, + portal_roles: { + "xmlns": "http://www.w3.org/2000/svg", + "path": [{ + "d": "M73.8 20H26.2c-3.4 0-6.2 2.8-6.2 6.2v47.6c0 3.4 2.8 6.2 6.2 6.2h47.6c3.4 0 6.2-2.8 6.2-6.2V26.2c0-3.4-2.8-6.2-6.2-6.2zm-26.4 7.4c0-.8.8-1.4 1.6-1.4h23.4c.8 0 1.4.8 1.4 1.6v3c0 .8-.8 1.4-1.6 1.4H48.8c-.8 0-1.4-.8-1.4-1.6v-3zm-8-1.4c1.7 0 3 1.3 3 3s-1.3 3-3 3-3-1.3-3-3 1.3-3 3-3zM29 26c1.7 0 3 1.3 3 3s-1.3 3-3 3-3-1.3-3-3 1.3-3 3-3zm45 46.6c0 .8-.8 1.4-1.6 1.4h-45c-.8 0-1.4-.8-1.4-1.6v-33c0-.8.8-1.4 1.6-1.4h45c.8 0 1.4.8 1.4 1.6v33z" + }, { + "d": "M68 52.3c0 1.1-.9 2-2 2h-7.6c-1.1 0-2-.9-2-2v-3c0-1.1.9-2 2-2H66c1.1 0 2 .9 2 2v3zM68 63.3c0 1.1-.9 2-2 2h-7.6c-1.1 0-2-.9-2-2v-3c0-1.1.9-2 2-2H66c1.1 0 2 .9 2 2v3zM49 47.3H33.6c-.8 0-1.6.6-1.6 1.4v15c0 .8.6 1.6 1.4 1.6H48.8c.8 0 1.6-.6 1.6-1.4v-15c0-.8-.6-1.6-1.4-1.6zm-4 14.9h-7.5c-.8 0-1.5-.9-1.5-1.8 0-1.3 1.4-2.1 2.8-2.8 1-.4 1.1-.8 1.1-1.3s-.3-.8-.6-1.1c-.6-.5-.9-1.3-.9-2.2 0-1.7 1-3.1 2.8-3.1 1.7 0 2.8 1.4 2.8 3.1 0 .9-.3 1.7-.9 2.2-.3.3-.6.7-.6 1.1s.1.8 1.1 1.2c1.4.6 2.8 1.5 2.8 2.8.1 1-.6 1.9-1.4 1.9z" + }] + }, + portal_roles_and_subordinates: { + "xmlns": "http://www.w3.org/2000/svg", + "path": [{ + "d": "M68 49.1c0 1.1-.9 2-2 2H47.4c-1.1 0-2-.9-2-2v-3c0-1.1.9-2 2-2H66c1.1 0 2 .9 2 2v3zM39.4 49.1c0 1.1-.9 2-2 2H34c-1.1 0-2-.9-2-2v-3c0-1.1.9-2 2-2h3.4c1.1 0 2 .9 2 2v3z" + }, { + "d": "M73.8 20H26.2c-3.4 0-6.2 2.8-6.2 6.2v47.6c0 3.4 2.8 6.2 6.2 6.2h47.6c3.4 0 6.2-2.8 6.2-6.2V26.2c0-3.4-2.8-6.2-6.2-6.2zm-26.4 7.4c0-.8.8-1.4 1.6-1.4h23.4c.8 0 1.4.8 1.4 1.6v3c0 .8-.8 1.4-1.6 1.4H48.8c-.8 0-1.4-.8-1.4-1.6v-3zm-8-1.4c1.7 0 3 1.3 3 3s-1.3 3-3 3-3-1.3-3-3 1.3-3 3-3zM29 26c1.7 0 3 1.3 3 3s-1.3 3-3 3-3-1.3-3-3 1.3-3 3-3zm45 46.6c0 .8-.8 1.4-1.6 1.4H68V59.1c0-1.1-.9-2-2-2H34c-1.1 0-2 .9-2 2V74h-4.6c-.8 0-1.4-.8-1.4-1.6v-33c0-.8.8-1.4 1.6-1.4h45c.8 0 1.4.8 1.4 1.6v33z" + }] + }, + post: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M49.2 21.7c-16.6 0-30 12.5-30 28 0 5 1.4 9.6 3.8 13.7.3.5.4 1.1.2 1.6l-2.8 8.9c-.5 1.6 1 3 2.6 2.5l8.8-3.1c.6-.2 1.2-.1 1.7.2 4.6 2.7 10 4.2 15.8 4.2 16.6 0 30-12.5 30-28-.2-15.5-13.6-28-30.1-28z" + } + }, + practitioner_role: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "path": { + "d": "M50.58 70.89a12.79 12.79 0 01-10.11-9.62 1.93 1.93 0 00-1.89-1.51h-1.89A1.94 1.94 0 0034.81 62a18.2 18.2 0 0017.83 14.74H53a17.14 17.14 0 01-2.42-5.85zM54.24 37.12V23a2.78 2.78 0 00-2.83-2.83h-3.77a2.83 2.83 0 100 5.66h.94v11.29a11.32 11.32 0 01-22.64 0V25.8h.94a2.83 2.83 0 100-5.66h-3.77A2.78 2.78 0 0020.28 23v14.12a17 17 0 0034 0zM67.3 54.58a12.63 12.63 0 1012.63 12.63A12.67 12.67 0 0067.3 54.58zm7.1 17.67a1.88 1.88 0 01-1.89 1.81H62.42a1.83 1.83 0 01-1.89-1.81V72c0-1.69 1.85-2.6 3.78-3.38 1.3-.56 1.5-1 1.5-1.58a2.14 2.14 0 00-.81-1.49 3.48 3.48 0 01-1.18-2.76 3.67 3.67 0 117.33 0A3.7 3.7 0 0170 65.55a2.23 2.23 0 00-.88 1.45c0 .55.16 1 1.5 1.58 1.93.78 3.74 1.69 3.78 3.38z" + } + } + }, + price_book_entries: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M48.8 20l14.8.3a5.45 5.45 0 013.1 1.3l5.8 5.8 5.8 5.8a4.39 4.39 0 011.3 3.1l.4 14.9a4.45 4.45 0 01-1.3 3.2L54.4 78.7a4.53 4.53 0 01-6.3 0L34.7 65.3 21.3 51.9a4.53 4.53 0 010-6.3l24.3-24.3a4.45 4.45 0 013.2-1.3zm-8.2 23.7L38.2 46a1 1 0 000 1.6l14.2 14.2a1 1 0 001.6 0l2.4-2.4a1 1 0 000-1.6L42.1 43.7a.94.94 0 00-1.5 0zm6.7-6.8l-2.4 2.4a1 1 0 000 1.6l14.2 14.2a1 1 0 001.6 0l2.4-2.4a1 1 0 000-1.6L48.9 36.9a1.22 1.22 0 00-1.6 0zm22.9-7.1a4.45 4.45 0 100 6.3 4.53 4.53 0 000-6.3z" + } + }, + price_books: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M77.4 72.9c0 3.2-2.8 6.3-5.9 6.4h-37c-3.2 0-5.8-3-6-5.9v-2h-2a3.9 3.9 0 01-.2-7.8h2.2v-9.8h-2a3.9 3.9 0 01-.2-7.8h2.2v-9.8h-2a3.9 3.9 0 01-.2-7.8h2.2v-2.2a6 6 0 015.7-5.7l37 .08c3.2 0 6 2.12 6.2 5.22zM51.8 34.7a2.5 2.5 0 00-1.8.8L36.2 49.2a2.53 2.53 0 000 3.6L51.4 68a2.53 2.53 0 003.6 0l13.8-13.8a2.5 2.5 0 00.8-1.8l-.3-8.4a2.14 2.14 0 00-.8-1.7L62 35.6a3.37 3.37 0 00-1.7-.8zm-4.7 13.4a.56.56 0 01.9 0l8 8a.56.56 0 010 .9l-1.3 1.3a.56.56 0 01-.9 0l-8-8a.56.56 0 010-.9zm3.9-3.8a.56.56 0 01.9 0l8 8a.56.56 0 010 .9l-1.3 1.3a.56.56 0 01-.9 0l-8-8a.56.56 0 010-.9zm12.9-4a2.55 2.55 0 11-3.6 0 2.54 2.54 0 013.6 0z" + } + }, + pricebook: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M71.7 20H34.1c-3.3 0-6.1 2.8-6.1 5.8V28h-2c-2.2 0-4 1.8-4 4s1.8 4 4 4h2v10h-2c-2.2 0-4 1.8-4 4s1.8 4 4 4h2v10h-2c-2.2 0-4 1.8-4 4s1.8 4 4 4h2v1.8c0 3 2.8 6.2 6.1 6.2h37.6c3.3 0 6.3-3.3 6.3-6.6v-48c0-3.3-3-5.4-6.3-5.4zM43 61c0 .6-.4 1-1 1h-4c-.6 0-1-.4-1-1V39c0-.6.4-1 1-1h4c.6 0 1 .4 1 1v22zm8 0c0 .6-.4 1-1 1h-2c-.6 0-1-.4-1-1V39c0-.6.4-1 1-1h2c.6 0 1 .4 1 1v22zm10 0c0 .6-.4 1-1 1h-4c-.6 0-1-.4-1-1V39c0-.6.4-1 1-1h4c.6 0 1 .4 1 1v22zm8 0c0 .6-.4 1-1 1h-2c-.6 0-1-.4-1-1V39c0-.6.4-1 1-1h2c.6 0 1 .4 1 1v22z" + } + }, + pricing_workspace: { + "xmlns": "http://www.w3.org/2000/svg", + "path": [{ + "d": "M36.6 20.5a2.05 2.05 0 012.1 2.1V24a2.05 2.05 0 01-2.1 2.1h-6.3a4.19 4.19 0 00-4.2 4v39.6a4.19 4.19 0 004 4.2h39.6a4.19 4.19 0 004.2-4v-6.5a2.05 2.05 0 012.1-2.1h1.4a2.05 2.05 0 012.1 2.1v7.7a8.39 8.39 0 01-8.4 8.4H28.9a8.39 8.39 0 01-8.4-8.4V28.9a8.39 8.39 0 018.4-8.4z", + "fill-rule": "evenodd" + }, { + "d": "M54.6 24l10.4.2a4.31 4.31 0 012.2.9l4.1 4.1 4.1 4.1a2.94 2.94 0 01.9 2.2l.2 10.4a3.17 3.17 0 01-.9 2.3L58.5 65.3a3.14 3.14 0 01-4.4 0l-9.4-9.4-9.4-9.4a3.14 3.14 0 010-4.4L52.4 25a2.57 2.57 0 012.2-1zm-5.8 16.6l-1.7 1.7a.78.78 0 000 1.1l10 10a.78.78 0 001.1 0l1.7-1.7a.78.78 0 000-1.1l-10-10a.78.78 0 00-1.1 0zm4.7-4.7l-1.7 1.7a.78.78 0 000 1.1l10 10a.78.78 0 001.1 0l1.7-1.7a.78.78 0 000-1.1l-10-10a.78.78 0 00-1.1 0zm16.1-5a3.11 3.11 0 100 4.4 3.14 3.14 0 000-4.4z" + }] + }, + procedure: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "path": [{ + "d": "M72 25h-2a.94.94 0 00-1 1v4a8 8 0 01-8 8H39a8 8 0 01-8-8v-4a.94.94 0 00-1-1h-2a6 6 0 00-6 6v43a6 6 0 006 6h44a6 6 0 006-6V31a6 6 0 00-6-6zM28 53.86v-2.07a2.08 2.08 0 012.08-2.08h3.11V46.6a2.08 2.08 0 012.07-2.08h2.08a2.08 2.08 0 012.07 2.08v3.11h3.09a2.08 2.08 0 012.08 2.08v2.07a2.08 2.08 0 01-2.08 2.08h-3.11v3.11a2.07 2.07 0 01-2.07 2.07h-2.08a2.07 2.07 0 01-2.07-2.07v-3.11h-3.11A2.08 2.08 0 0128 53.86zm43.66 17.79A1.32 1.32 0 0170.33 73H29.41a1.33 1.33 0 01-1.33-1.33V69a1.34 1.34 0 011.33-1.33h40.92A1.33 1.33 0 0171.66 69zm0-11.62a1.33 1.33 0 01-1.33 1.33H50.22A1.34 1.34 0 0148.89 60v-2.63A1.34 1.34 0 0150.22 56h20.11a1.33 1.33 0 011.33 1.33zm0-11.63a1.33 1.33 0 01-1.33 1.33H50.41a1.34 1.34 0 01-1.33-1.33v-2.66a1.34 1.34 0 011.33-1.33h19.92a1.33 1.33 0 011.33 1.33z" + }, { + "d": "M39 32h22a2 2 0 002-2v-4a6 6 0 00-6-6H43a6 6 0 00-6 6v4a2 2 0 002 2z" + }] + } + }, + procedure_detail: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "path": [{ + "d": "M69.7 79.52a10.2 10.2 0 1110.2-10.19 10.17 10.17 0 01-10.2 10.19zm.9-12.69a1.06 1.06 0 00-.7.2c-.56.38-1.12.76-1.66 1.17a2.82 2.82 0 00-.53.56.27.27 0 000 .35.29.29 0 00.35.08 3.12 3.12 0 00.39-.15l.38-.16c.18-.06.28 0 .27.22a1.07 1.07 0 010 .25q-.58 2.4-1.18 4.82a.89.89 0 00.45 1.06 1.13 1.13 0 001.15-.1c.54-.35 1.08-.72 1.59-1.11a5.45 5.45 0 00.71-.73.22.22 0 00.06-.28.27.27 0 00-.3-.11 3 3 0 00-.39.14c-.14.06-.28.14-.43.19s-.27 0-.25-.19a1.59 1.59 0 01.06-.38c.36-1.51.73-3 1.1-4.51a1 1 0 00-1.07-1.32zm1.08-2.1a1.55 1.55 0 00-1.78-1.47 1.38 1.38 0 00-1.08 2 1.55 1.55 0 001.71.89 1.47 1.47 0 001.15-1.42zM34.78 30.47h18.91a1.72 1.72 0 001.71-1.72v-3.44a5.17 5.17 0 00-5.15-5.16h-12a5.17 5.17 0 00-5.15 5.16v3.44a1.73 1.73 0 001.68 1.72z" + }, { + "d": "M56.1 69.32a13.47 13.47 0 01.5-3.62H26.53a1.15 1.15 0 01-1.14-1.15v-2.28a1.15 1.15 0 011.14-1.14h32.33a13.55 13.55 0 019.44-5.35V29.61a5.17 5.17 0 00-5.16-5.16h-1.72a.82.82 0 00-.86.86v3.44a6.9 6.9 0 01-6.87 6.88H34.78a6.9 6.9 0 01-6.88-6.88v-3.44a.82.82 0 00-.86-.86h-1.72a5.17 5.17 0 00-5.16 5.16v37a5.17 5.17 0 005.16 5.16h31a13.76 13.76 0 01-.22-2.45zm-12.66-27a1.15 1.15 0 011.15-1.14h17.12a1.14 1.14 0 011.14 1.14v2.28a1.15 1.15 0 01-1.14 1.15H44.59a1.16 1.16 0 01-1.15-1.15zm-.16 10a1.15 1.15 0 011.14-1.14h17.29a1.15 1.15 0 011.14 1.14v2.29a1.14 1.14 0 01-1.14 1.14H44.42a1.14 1.14 0 01-1.14-1.14zm-18-3v-1.84a1.8 1.8 0 011.79-1.79h2.67V43a1.79 1.79 0 011.79-1.79h1.78a1.79 1.79 0 011.8 1.79v2.67h2.68a1.79 1.79 0 011.78 1.79v1.78A1.78 1.78 0 0137.79 51h-2.68v2.68a1.78 1.78 0 01-1.78 1.78h-1.78a1.79 1.79 0 01-1.79-1.78V51h-2.67a1.79 1.79 0 01-1.79-1.74z" + }] + } + }, + process: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "path": { + "d": "M37.6 46.3l10.8-13.4c.8-1 2.3-1 3.1 0l10.8 13.4c.4.5 1 .7 1.6.7H76c1.1 0 2-.9 2-2V28c0-3.3-2.7-6-6-6H28c-3.3 0-6 2.7-6 6v17c0 1.1.9 2 2 2h12c.6 0 1.2-.3 1.6-.7zM62.3 53.7L51.5 67.1c-.8 1-2.3 1-3.1 0L37.6 53.7c-.4-.5-1-.7-1.6-.7H24c-1.1 0-2 .9-2 2v17c0 3.3 2.7 6 6 6h44c3.3 0 6-2.7 6-6V55c0-1.1-.9-2-2-2H63.9c-.6 0-1.2.3-1.6.7z" + } + } + }, + process_exception: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M21.84 39.94h9.4a2.4 2.4 0 001.2-.7l8.4-10.5a1.5 1.5 0 012.4 0l8.4 10.5a1.46 1.46 0 001.2.5h9.6a1.58 1.58 0 001.6-1.6V25a4.69 4.69 0 00-4.7-4.7h-34.4a4.69 4.69 0 00-4.7 4.7v13.3a1.58 1.58 0 001.6 1.64zM61.7 48.5a10 10 0 012.24-.28V46a1.58 1.58 0 00-1.6-1.6h-9.4a2.73 2.73 0 00-1.2.6l-8.4 10.5a1.5 1.5 0 01-2.4 0L32.44 45a1.46 1.46 0 00-1.2-.5h-9.4a1.58 1.58 0 00-1.6 1.6v13.3a4.69 4.69 0 004.7 4.7h24.3L55.7 53a10.43 10.43 0 016-4.5zM78.42 72.86L68.35 55.57a4.66 4.66 0 00-1.68-1.68 4.17 4.17 0 00-2.37-.69 5 5 0 00-1.29.2 4.78 4.78 0 00-2.86 2.17L50.07 72.86a4.17 4.17 0 00-.69 2.37A4.71 4.71 0 0054.12 80h20.25a5.08 5.08 0 002.38-.69 4.58 4.58 0 002.17-2.86 4.48 4.48 0 00-.5-3.59zM64.2 75.92a2.18 2.18 0 01-2.2-2.17 2.36 2.36 0 011-1.81 2.17 2.17 0 111.2 4zm2.17-6.52a.67.67 0 01-.69.69h-2.86a.68.68 0 01-.7-.69V60a.68.68 0 01.7-.69h2.86a.67.67 0 01.69.69z" + } + }, + product: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M22 66h5c1.1 0 2-.9 2-2V33c0-1.1-.9-2-2-2h-5c-1.1 0-2 .9-2 2v31c0 1.1.9 2 2 2zM78 31h-5c-1.1 0-2 .9-2 2v31c0 1.1.9 2 2 2h5c1.1 0 2-.9 2-2V33c0-1.1-.9-2-2-2zM53 66c1.1 0 2-.9 2-2V33c0-1.1-.9-2-2-2h-6c-1.1 0-2 .9-2 2v31c0 1.1.9 2 2 2h6zM65 66c1.1 0 2-.9 2-2V33c0-1.1-.9-2-2-2h-2c-1.1 0-2 .9-2 2v31c0 1.1.9 2 2 2h2zM39 66c1.1 0 2-.9 2-2V33c0-1.1-.9-2-2-2h-2c-1.1 0-2 .9-2 2v31c0 1.1.9 2 2 2h2zM78 72H22c-1.1 0-2 .9-2 2v2c0 1.1.9 2 2 2h56c1.1 0 2-.9 2-2v-2c0-1.1-.9-2-2-2zM78 20H22c-1.1 0-2 .9-2 2v2c0 1.1.9 2 2 2h56c1.1 0 2-.9 2-2v-2c0-1.1-.9-2-2-2z" + } + }, + product_consumed: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M77.13 55.17h-3.75A1.92 1.92 0 0071.5 57v12.5a1.92 1.92 0 01-1.87 1.88H28.38a1.92 1.92 0 01-1.87-1.87V57a1.92 1.92 0 00-1.87-1.87h-3.76A1.92 1.92 0 0019 57v16.92a5 5 0 005 5h50a5 5 0 005-5V57a1.92 1.92 0 00-1.87-1.83zm-29.38 8.25a1.81 1.81 0 002.63 0l16.87-16.88a1.81 1.81 0 000-2.63l-2.62-2.63a1.81 1.81 0 00-2.62 0l-7 7a1.25 1.25 0 01-2.13-.88V20.79a2.25 2.25 0 00-2-1.87h-3.75a1.92 1.92 0 00-1.87 1.88v26.5a1.25 1.25 0 01-2.13.88l-7-7a1.81 1.81 0 00-2.63 0l-2.63 2.75a1.81 1.81 0 000 2.63z" + } + }, + product_item: { + "xmlns": "http://www.w3.org/2000/svg", + "rect": [{ + "x": "19", + "y": "18.92", + "width": "60", + "height": "16", + "rx": "4", + "ry": "4" + }, { + "x": "19", + "y": "40.92", + "width": "27", + "height": "16", + "rx": "4", + "ry": "4" + }, { + "x": "19", + "y": "62.92", + "width": "27", + "height": "16", + "rx": "4", + "ry": "4" + }, { + "x": "52", + "y": "40.92", + "width": "27", + "height": "16", + "rx": "4", + "ry": "4" + }, { + "x": "52", + "y": "62.92", + "width": "27", + "height": "16", + "rx": "4", + "ry": "4" + }] + }, + product_item_transaction: { + "xmlns": "http://www.w3.org/2000/svg", + "rect": [{ + "x": "19", + "y": "18.92", + "width": "60", + "height": "16", + "rx": "4", + "ry": "4" + }, { + "x": "19", + "y": "40.92", + "width": "27", + "height": "16", + "rx": "4", + "ry": "4" + }, { + "x": "19", + "y": "62.92", + "width": "27", + "height": "16", + "rx": "4", + "ry": "4" + }], + "path": { + "d": "M64.95 72.49a1.45 1.45 0 002.1 0l11.5-11.4a1.45 1.45 0 000-2.1L67 47.49a1.45 1.45 0 00-2.1 0l-2.1 2.1a1.45 1.45 0 000 2.1l3.6 3.6a1 1 0 01-.7 1.7H53.6a1.63 1.63 0 00-1.6 1.5v3A1.71 1.71 0 0053.6 63h12.15a1 1 0 01.7 1.7l-3.6 3.6a1.45 1.45 0 000 2.1z" + } + }, + product_quantity_rules: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M77 58.48H56.47a1.63 1.63 0 00-1.63 1.63v1.64a1.65 1.65 0 001.63 1.64H77a1.65 1.65 0 001.63-1.64v-1.64A1.63 1.63 0 0077 58.48zM77 70H56.47a1.65 1.65 0 00-1.63 1.64v1.64a1.63 1.63 0 001.63 1.63H77a1.63 1.63 0 001.63-1.63v-1.65A1.64 1.64 0 0077 70zM43.55 58.48H23a1.65 1.65 0 00-1.64 1.63v1.64A1.66 1.66 0 0023 63.39h20.55a1.66 1.66 0 001.64-1.64v-1.64a1.65 1.65 0 00-1.64-1.63zM43.55 70H23a1.66 1.66 0 00-1.64 1.64v1.64A1.64 1.64 0 0023 74.9h20.55a1.65 1.65 0 001.64-1.63v-1.64A1.65 1.65 0 0043.55 70zM66.73 25.14a13 13 0 1013 13 13 13 0 00-13-13zM73.17 39a.82.82 0 01-.82.7H61.11a.78.78 0 01-.81-.7 11.3 11.3 0 010-1.84.82.82 0 01.81-.7h11.24a.82.82 0 01.82.7 11.3 11.3 0 010 1.84zM42.51 28.88a13 13 0 00-18.43 18.43 13 13 0 0018.43-18.43zM42 39.17a.51.51 0 01-.47.55h-6.07a.58.58 0 00-.54.54v6a.58.58 0 01-.54.54h-2.17a.5.5 0 01-.54-.46v-6.08a.51.51 0 00-.48-.54h-6.07a.52.52 0 01-.54-.5V37a.59.59 0 01.54-.55h6a.51.51 0 00.55-.47V30a.58.58 0 01.54-.54h2.17a.54.54 0 01.54.54v6a.5.5 0 00.46.54h6.08A.6.6 0 0142 37z" + } + }, + product_request: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M77.4 78.1H40.5c-1.2 0-2.3-1-2.3-2.2V71.2c0-1.2 1-2.3 2.2-2.3h37c1.2 0 2.3 1 2.3 2.2V75.8c.1 1.2-.9 2.3-2.3 2.3.1 0 .1 0 0 0zM26.6 78.1H22c-1.2 0-2.3-1-2.3-2.2V71.2c0-1.2 1-2.3 2.2-2.3H26.6c1.2 0 2.3 1 2.3 2.2V75.8c.1 1.2-.9 2.2-2.1 2.3h-.2zM53.8 57.6c-1.2 0-2.3-1-2.3-2.2V50.7c0-1.2 1-2.3 2.2-2.3H77.4c1.2 0 2.3 1 2.3 2.2V55.3c0 1.2-1 2.3-2.2 2.3H53.8zM62.6 37.1c-1.2 0-2.3-1-2.3-2.2V30.2c0-1.2 1-2.3 2.2-2.3h14.9c1.2 0 2.3 1 2.3 2.2V34.8c0 1.2-1 2.3-2.2 2.3H62.6zM20.8 58.2C19.6 47.5 28 36.4 38 34.5l2.7-.6c.5-.1.9-.6.8-1.2 0-.3-.2-.5-.4-.6l-6.7-4.5c-.7-.5-.8-1.4-.3-2v-.1l1.7-2.5c.4-.7 1.4-.9 2-.4h.1L54 33.5c.7.4.9 1.4.4 2v.1l-11 16.2c-.4.7-1.4.9-2 .4h-.1l-2.5-1.7c-.7-.4-.9-1.4-.4-2v-.1l4.4-6.7c.3-.4.3-1.1-.2-1.4-.2-.2-.5-.3-.8-.2l-1.6.3c-7.8 1.5-14.4 10.3-13.7 17.9 0 .7-1.1 1.7-1.9 1.9h-1.9c-.9.1-1.9-1.1-1.9-2z" + } + }, + product_request_line_item: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M77.8 77.4h-37c-1.2 0-2.3-1-2.3-2.2V70.5c0-1.2 1-2.3 2.2-2.3h37c1.2 0 2.3 1 2.3 2.2V75.1c.1 1.2-.9 2.3-2.2 2.3zM26.9 77.4h-4.6c-1.2 0-2.3-1-2.3-2.2V70.5c0-1.2 1-2.3 2.2-2.3H26.9c1.2 0 2.3 1 2.3 2.2V75.1c.1 1.2-.8 2.2-2 2.3h-.3zM24.4 48.5c6.8-11.7 22.9-17 33.6-11.8l2.9 1.3c1 .5 2-.6 1.7-1.6L59.8 27c-.3-1 .3-2 1.2-2.4l3.4-1.3c.8-.4 1.7 0 2.1.8 0 .1.1.2.1.3l6.8 22.7c.3 1-.2 2.1-1.2 2.4l-22 8.6c-.8.4-1.7 0-2.1-.8 0-.1-.1-.2-.1-.3l-1.1-3.5c-.3-1 .2-2.1 1.2-2.4l9-3.6c.7-.2 1-.9.8-1.6-.1-.3-.3-.6-.6-.7l-1.7-.8c-8.3-4.1-21 .1-26 8.4-.5.8-2.3 1-3.2.6l-1.7-1.6c-.9-.4-.8-2.4-.3-3.3z" + } + }, + product_required: { + "xmlns": "http://www.w3.org/2000/svg", + "rect": [{ + "x": "43.93", + "y": "68.27", + "width": "36.07", + "height": "7.99", + "rx": "2", + "ry": "2" + }, { + "x": "43.93", + "y": "50.42", + "width": "36.07", + "height": "7.99", + "rx": "2", + "ry": "2" + }, { + "x": "49.92", + "y": "32.57", + "width": "30.08", + "height": "7.99", + "rx": "2", + "ry": "2" + }], + "path": [{ + "d": "M33.82 76.26h-4a2 2 0 01-2-2v-4a2 2 0 012-2h4a2 2 0 012 2v4a1.9 1.9 0 01-2 2zM33.82 58.41h-4a2 2 0 01-2-2v-4a2 2 0 012-2h4a2 2 0 012 2v4a1.9 1.9 0 01-2 2z", + "fill-rule": "evenodd" + }, { + "d": "M47.55 26.33l-2.12-2.12a1.44 1.44 0 00-2.12 0L30.08 37.32l-5.37-5.24a1.44 1.44 0 00-2.12 0l-2.12 2.12a1.44 1.44 0 000 2.12l7.36 7.36a3 3 0 004.24 0l15.48-15.22a1.69 1.69 0 000-2.13z", + "fill-rule": "evenodd" + }] + }, + product_service_campaign: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M47.44 61.66a1 1 0 011 .91v14.37a3.06 3.06 0 01-2.87 3H25.08a3.06 3.06 0 01-3-2.88V62.68a1 1 0 01.91-1h24.5zm29.51 0a1 1 0 011 .91v14.37a3.06 3.06 0 01-2.87 3H54.59a3.06 3.06 0 01-3-2.88V62.68a1 1 0 01.91-1H77zm-37.36 4.23l-.09.11-5.82 6.32-2.63-2.55a.77.77 0 00-1-.08l-.09.08-1.09 1a.62.62 0 00-.07.9l.07.08 3.73 3.54a1.56 1.56 0 001.08.45 1.43 1.43 0 001.09-.45l3.14-3.32.63-.67 3.14-3.31a.78.78 0 00.06-.9l-.06-.08-1.09-1a.76.76 0 00-1-.12zm29.51 0L69 66l-5.82 6.32-2.64-2.55a.75.75 0 00-1-.08l-.09.08-1.09 1a.62.62 0 00-.07.9l.07.08 3.73 3.54a1.54 1.54 0 001.08.45 1.43 1.43 0 001.09-.45l3.14-3.32.63-.67 3.14-3.31a.78.78 0 00.06-.9l-.06-.08L70.1 66a.76.76 0 00-1-.11zM45.67 51.48a3 3 0 012.85 2.87v3.24a1 1 0 01-.84 1H21a1 1 0 01-.94-.9v-3.16a3 3 0 012.69-3.05h23zm31.48 0A3 3 0 0180 54.35v3.24a1 1 0 01-.84 1H52.43a1 1 0 01-1-.9v-3.16a3 3 0 012.68-3.05h23zm-15-21.29a1 1 0 011 .91v14.37a3.06 3.06 0 01-2.87 3.05H39.84a3.06 3.06 0 01-3.05-2.87V31.21a1 1 0 01.9-1H62.2zm-7.85 4.22l-.09.08-5.82 6.32-2.59-2.56a.76.76 0 00-1-.07l-.09.07-1.08 1a.61.61 0 00-.07.9l.07.08 3.72 3.53a1.56 1.56 0 001.09.45 1.43 1.43 0 001.08-.45l3.14-3.31.64-.67 3.13-3.32a.78.78 0 00.06-.9l-.06-.07-1.08-1a.77.77 0 00-1-.08zM62.2 20a3.06 3.06 0 013 2.88v3.23a1 1 0 01-.91 1H35.77a1 1 0 01-1-.91v-3.14a3.06 3.06 0 012.87-3H62.2z" + } + }, + product_service_campaign_item: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M74 42a2 2 0 012 1.85V72a6 6 0 01-5.78 6H30a6 6 0 01-6-5.78V44a2 2 0 011.85-2zm-15.5 8.34l-.12.1-11.45 12.41-5.2-5a1.51 1.51 0 00-2-.1l-.11.1-2.14 1.92a1.2 1.2 0 00-.1 1.81l.1.11 7.33 6.94a3.07 3.07 0 002.14.89 2.81 2.81 0 002.13-.89L55 62.34l.43-.44.42-.45.55-.58.21-.22.42-.44 5.62-5.93a1.54 1.54 0 00.08-1.82l-.08-.1-2.14-1.92a1.51 1.51 0 00-2.01-.1zM74 22a6 6 0 016 6v6a2 2 0 01-2 2H22a2 2 0 01-2-2v-6a6 6 0 016-6z" + } + }, + product_transfer: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M75.6 20.54h-3.55a1.82 1.82 0 00-1.77 1.77v8.28c0 1.06-1.18 1.77-1.89.95A26 26 0 0046.28 23a22.73 22.73 0 00-8.75 2.6 22.92 22.92 0 00-4 2.48 1.89 1.89 0 00-.24 2.72l2.48 2.48a1.79 1.79 0 002.25.24 28.6 28.6 0 014.61-2.48c.71-.24 1.54-.47 2.36-.71a19.53 19.53 0 0118.56 6.38c1.42 1.66.35 2.72-.83 2.72h-8.28a1.93 1.93 0 00-1.89 1.77v3.55a1.93 1.93 0 001.89 1.77H76A1.47 1.47 0 0077.37 45V22.32a1.82 1.82 0 00-1.77-1.78zM64.84 62.39a1.71 1.71 0 00-2.48 0 18.93 18.93 0 01-6.86 4.37c-.71.24-1.54.47-2.36.71a19.53 19.53 0 01-18.56-6.38c-1.42-1.66-.35-2.72.83-2.72h8.28a1.82 1.82 0 001.77-1.77v-3.55a1.82 1.82 0 00-1.77-1.77H22.16a1.57 1.57 0 00-1.54 1.54v22.7a1.82 1.82 0 001.77 1.77h3.55a1.82 1.82 0 001.77-1.77v-8.28c0-1.06 1.18-1.77 1.89-.95a25.87 25.87 0 0022.11 8.51 22.73 22.73 0 008.75-2.6 25.85 25.85 0 006.74-4.85 1.71 1.71 0 000-2.48z" + } + }, + product_warranty_term: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M66 49.52c1.77 0 3.17 1.92 4.72 2.58s4 .3 5.17 1.55.89 3.55 1.56 5.17 2.58 3 2.58 4.73-1.92 3.17-2.58 4.73-.3 4-1.56 5.16-3.54.89-5.17 1.56-3 2.58-4.72 2.58-3.21-1.92-4.76-2.58-4-.3-5.17-1.56-.88-3.54-1.55-5.16-2.58-3-2.58-4.73 1.92-3.18 2.58-4.73.3-4 1.55-5.17 3.55-.88 5.17-1.55 2.96-2.58 4.76-2.58zM50.89 68.7a5.77 5.77 0 01.47.88c.62 1.51.59 3.53 1.11 5.1H21.74a1.88 1.88 0 01-1.74-2v-2a1.88 1.88 0 011.74-2h29.15zM71.2 59a.69.69 0 00-1 0l-5.47 6.24-2.48-2.52a.69.69 0 00-1 0l-1 1a.63.63 0 000 1l3.5 3.49a1.42 1.42 0 001 .45 1.3 1.3 0 001-.45l6.5-7.21a.78.78 0 000-1zM25.81 32.87a1.74 1.74 0 011.66 1.79v27.77a1.74 1.74 0 01-1.66 1.8h-4.15a1.74 1.74 0 01-1.66-1.8V34.66a1.74 1.74 0 011.66-1.79h4.15zm23.75 0a1.79 1.79 0 011.79 1.79v22.87c-.86 2-3.3 3.76-3.3 6a3.08 3.08 0 00.08.68h-4a1.8 1.8 0 01-1.79-1.8V34.66a1.79 1.79 0 011.79-1.79h5.37zm-12.14 0a1.91 1.91 0 012 1.79v27.77a1.91 1.91 0 01-2 1.8h-2a1.9 1.9 0 01-2-1.8V34.66a1.9 1.9 0 012-1.79h2zm22.4 0a1.91 1.91 0 012 1.79v13.1a9.36 9.36 0 01-1.87 1.18 22.83 22.83 0 01-4.11.85V34.66a1.91 1.91 0 012-1.79h2zm10.78 0a1.74 1.74 0 011.66 1.79V49l-.26-.1c-2-.84-3.77-3.29-6-3.29a3.37 3.37 0 00-1.18.21V34.66a1.74 1.74 0 011.66-1.79h4.12zm-.08-10.45a1.89 1.89 0 011.74 2v2a1.88 1.88 0 01-1.74 2H21.74a1.88 1.88 0 01-1.74-2v-2a1.88 1.88 0 011.74-2h48.78z" + } + }, + product_workspace: { + "xmlns": "http://www.w3.org/2000/svg", + "path": [{ + "d": "M36.6 20.5a2.05 2.05 0 012.1 2.1V24a2.05 2.05 0 01-2.1 2.1h-6.3a4.19 4.19 0 00-4.2 4v39.6a4.19 4.19 0 004 4.2h39.6a4.19 4.19 0 004.2-4v-6.5a2.05 2.05 0 012.1-2.1h1.4a2.05 2.05 0 012.1 2.1v7.7a8.39 8.39 0 01-8.4 8.4H28.9a8.39 8.39 0 01-8.4-8.4V28.9a8.39 8.39 0 018.4-8.4z", + "fill-rule": "evenodd" + }, { + "d": "M67.8 49.2l3.8-3.8a1.3 1.3 0 000-1.9L56.2 28a1.3 1.3 0 00-1.9 0l-3.8 3.8a1.3 1.3 0 000 1.9L66 49.2a1.19 1.19 0 001.8 0zM76.5 40.5l1.9-1.9a1.3 1.3 0 000-1.9L63 21.2a1.3 1.3 0 00-1.9 0l-1.9 1.9a1.3 1.3 0 000 1.9l15.5 15.5a1.26 1.26 0 001.8 0zM63.4 53.6a1.23 1.23 0 00.1-1.9L48 36.2a1.3 1.3 0 00-1.9 0l-.1.1a1.3 1.3 0 000 1.9l15.5 15.5a1.31 1.31 0 001.9-.1zM57.9 59l.9-.9a1.3 1.3 0 000-1.9L43.4 40.7a1.3 1.3 0 00-1.9 0l-.9.9a1.3 1.3 0 000 1.9L56.1 59a1.12 1.12 0 001.8 0zM49.6 67.4l3.8-3.8a1.3 1.3 0 000-1.9L38 46.2a1.3 1.3 0 00-1.9 0L32.3 50a1.3 1.3 0 000 1.9l15.5 15.5a1.27 1.27 0 001.8 0z" + }] + }, + products: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M57.6 67.4h7.7a1.78 1.78 0 001.9-1.9v-31a1.78 1.78 0 00-1.9-1.9h-7.7a1.78 1.78 0 00-1.9 1.9v31a1.78 1.78 0 001.9 1.9zM75 67.4h3.9a1.78 1.78 0 001.9-1.9v-31a1.78 1.78 0 00-1.9-1.9H75a1.78 1.78 0 00-1.9 1.9v31a1.84 1.84 0 001.9 1.9zM48.7 67.4a1.81 1.81 0 002-1.9v-31a1.78 1.78 0 00-1.9-1.9h-.1a1.78 1.78 0 00-1.9 1.9v31a1.73 1.73 0 001.9 1.9zM37.8 67.4h1.9a1.78 1.78 0 001.9-1.9v-31a1.78 1.78 0 00-1.9-1.9h-1.9a1.78 1.78 0 00-1.9 1.9v31a1.73 1.73 0 001.9 1.9zM21.1 67.4h7.7a1.78 1.78 0 001.9-1.9v-31a1.78 1.78 0 00-1.9-1.9h-7.7a1.78 1.78 0 00-1.9 1.9v31a1.84 1.84 0 001.9 1.9z" + } + }, + promotions: { + "xmlns": "http://www.w3.org/2000/svg", + "path": [{ + "d": "M59.16 53.31a3.85 3.85 0 103.89 3.86 3.85 3.85 0 00-3.84-3.86h-.05zM40.79 39a3.85 3.85 0 103.85 3.86A3.85 3.85 0 0040.79 39z" + }, { + "d": "M78.16 46.11l-3.23-3.86a7 7 0 01-1.62-4l-.36-5a6.34 6.34 0 00-5.8-5.9L62.84 27a9.17 9.17 0 01-5.19-2.2L54.38 22a6.37 6.37 0 00-8.28-.07l-3.55 3a8.1 8.1 0 01-4.69 1.9l-4.62.33a6.33 6.33 0 00-5.9 5.8L27 37.14a9.25 9.25 0 01-2.22 5.23L22 45.63a6.35 6.35 0 00-.07 8.27L25 57.56A7.75 7.75 0 0126.71 62l.34 4.76a6.34 6.34 0 005.8 5.9l4.32.38a9 9 0 015.17 2.2l3.28 2.84a6.39 6.39 0 008.28.07L57.67 75a7.33 7.33 0 014.19-1.69l4.9-.35a6.34 6.34 0 005.9-5.8l.36-4a10.15 10.15 0 012.43-5.73l2.64-3a6.35 6.35 0 00.07-8.32zm-44.52-3.24A7.16 7.16 0 1140.83 50a7.15 7.15 0 01-7.19-7.11zM44 64a.56.56 0 01-.43.28h-2.09A.56.56 0 0141 64a.51.51 0 010-.53L56 36a.61.61 0 01.44-.27h2.23a.55.55 0 01.26.73zm22.4-6.84A7.17 7.17 0 1159.22 50a7.17 7.17 0 017.13 7.19z" + }] + }, + propagation_policy: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M36 20H26a6 6 0 00-6 6v8a6 6 0 006 6h10a6 6 0 006-6v-8a6 6 0 00-6-6zm-4 14h-2a4 4 0 010-8h2a4 4 0 010 8zM54 40h10a6 6 0 006-6v-8a6 6 0 00-6-6H54a6 6 0 00-6 6v8a6 6 0 006 6zm4-14h2a4 4 0 010 8h-2a4 4 0 010-8zM36 46H26a6 6 0 00-6 6v8a6 6 0 006 6h10a6 6 0 006-6v-8a6 6 0 00-6-6zm-4 14h-2a4 4 0 010-8h2a4 4 0 010 8zM77 67H67v-3.52a9 9 0 10-6 0V67H51a3 3 0 00-3 3v7a3 3 0 006 0v-4h7v4a3 3 0 006 0v-4h7v4a3 3 0 006 0v-7a3 3 0 00-3-3zM64 52a3 3 0 11-3 3 3 3 0 013-3z", + "fill-rule": "evenodd" + } + }, + proposition: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "path": [{ + "d": "M25.8 60.6h-4.5c-.7 0-1.3.6-1.3 1.3V78c0 .7.6 1.3 1.3 1.3h2.2c2 0 3.6-1.6 3.6-3.6V62c.1-.8-.6-1.4-1.3-1.4zM79.9 69.4c-.7-1.6-2-3.3-3.9-3.5-1-.1-2 .3-2.9.6-3.6 1.3-7.2 2.5-10.8 3.8-2.3.8-4.7 1.6-7.2 1.8-1.7.1-3.4 0-5.1 0-.9 0-1.7-.7-1.7-1.7s.7-1.7 1.7-1.7h9.1c1.7 0 3-1.4 3-3s-1.4-3-3-3h-7c-.3 0-2.2-.1-3.4-.6-1.3-.6-3-.7-3-.6H33.4c-1.5 0-2.7 1.2-2.7 2.7v11.3c0 1.3 1 2.4 2.3 2.6h.3c2.3 0 4.6.5 6.9.9 2.3.5 4.5.8 6.9.8 3 .1 6.1-.4 9-1.1 2.9-.8 5.7-1.9 8.5-2.8 4.8-1.6 9.7-3.3 14.5-4.9.6-.3 1.1-.8.8-1.6z" + }, { + "fill-rule": "evenodd", + "clip-rule": "evenodd", + "d": "M58 40.1v15c0 .5.5.7.9.6C61.8 54 70.8 49 70.8 49c1.2-.7 1.9-1.9 1.9-3.3V32.2c0-.5-.5-.7-.9-.6L58.6 39c-.3.3-.6.7-.6 1.1M56.8 36L70 28.6c.4-.2.4-.8 0-1-2.9-1.7-12-6.8-12-6.8a3.7 3.7 0 00-3.8 0l-12 6.8c-.4.2-.4.8 0 1L55.6 36c.3.2.8.2 1.2 0M53.7 39.1l-13.2-7.4c-.4-.2-.9.1-.9.6v13.4c0 1.3.7 2.6 1.9 3.3 0 0 9 5.1 11.9 6.7.4.2.9-.1.9-.6v-15c0-.4-.2-.8-.6-1" + }] + } + }, + question_best: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "fill-rule": "evenodd", + "path": [{ + "d": "M100 100V62l-38 38h38zm-3.9-14.4L93 88.8c-.1.1-.1.2-.1.3l.7 4.5c.1.3-.3.6-.5.4l-3.8-2.1c-.1-.1-.2-.1-.3 0L85 94c-.3.1-.6-.1-.5-.4l.7-4.5c0-.1 0-.3-.1-.3L82 85.6c-.2-.3-.1-.6.2-.7l4.3-.7c.1 0 .2-.1.3-.2l1.9-4.1c.1-.3.5-.3.7 0l1.9 4.1c.1.1.2.2.3.2l4.3.7c.3 0 .4.4.2.7z", + "fill-opacity": ".65" + }, { + "d": "M49.9 22c-16.6 0-30 12.5-30 28 0 5 1.4 9.6 3.8 13.7.3.5.4 1.1.2 1.6l-2.8 8.9c-.5 1.6 1 3 2.6 2.5l8.8-3.1c.6-.2 1.2-.1 1.7.2 4.6 2.7 10 4.2 15.8 4.2 16.6 0 30-12.5 30-28-.1-15.5-13.4-28-30.1-28zm3 45c0 1.1-.9 2-2 2h-2c-1.1 0-2-.9-2-2v-2c0-1.1.9-2 2-2h2c1.1 0 2 .9 2 2v2zm.9-12.7c-.4.1-.8.5-.8 1v1.6c0 1.1-.9 2.1-2 2.1h-2c-1.1 0-2-1-2-2.1v-1.6c0-3 2-5.7 4.9-6.7 1.1-.4 2.1-.9 2.7-1.8 3.4-4.5 0-9.7-4.5-9.8-1.6-.1-3.2.6-4.4 1.7-.8.8-1.4 1.8-1.6 2.8-.2.9-1 1.6-1.9 1.6h-2.1c-1.2 0-2.2-1.2-2-2.4.5-2.4 1.6-4.6 3.4-6.3 2.3-2.3 5.4-3.5 8.7-3.4 6.3.2 11.5 5.4 11.7 11.7.2 5.2-3 9.9-8.1 11.6z" + }] + } + }, + question_feed: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M50 22c-16.6 0-30 12.5-30 28 0 5 1.4 9.6 3.8 13.7.3.5.4 1.1.2 1.6l-2.8 8.9c-.5 1.6 1 3 2.6 2.5l8.8-3.1c.6-.2 1.2-.1 1.7.2 4.6 2.7 10 4.2 15.8 4.2 16.6 0 30-12.5 30-28C80 34.5 66.6 22 50 22zm3 45c0 1.1-.9 2-2 2h-2c-1.1 0-2-.9-2-2v-2c0-1.1.9-2 2-2h2c1.1 0 2 .9 2 2v2zm.8-12.7c-.4.1-.8.5-.8 1v1.6c0 1.1-.9 2.1-2 2.1h-2c-1.1 0-2-1-2-2.1v-1.6c0-3 2-5.7 4.9-6.7 1.1-.4 2.1-.9 2.7-1.8 3.4-4.5 0-9.7-4.5-9.8-1.6-.1-3.2.6-4.4 1.7-.8.8-1.4 1.8-1.6 2.8-.2.9-1 1.6-1.9 1.6h-2.1c-1.2 0-2.2-1.2-2-2.4.5-2.4 1.6-4.6 3.4-6.3 2.3-2.3 5.4-3.5 8.7-3.4 6.3.2 11.5 5.4 11.7 11.7.2 5.2-3 9.9-8.1 11.6z" + } + }, + queue: { + "xmlns": "http://www.w3.org/2000/svg", + "path": [{ + "d": "M67.6 20.1c-2.9 0-5.4 2.1-6.4 5 3.8 1.7 6.7 5.4 7.7 9.9 3.1-.7 5.4-3.7 5.4-7.3 0-4.3-3-7.6-6.7-7.6zM73.8 37.9c-1.3 1.2-2.9 2-4.7 2.3-.3 2.7-1.3 5.2-2.8 7.2h11.1c1.4 0 2.5-1.1 2.5-2.5v-1.2c0-2.7-3-4.4-6.1-5.8zM63.2 50c-2 1.8-4.5 2.9-7.2 2.9-.2 3.1-1.1 5.9-2.5 8.3h14c1.6 0 3-1.3 3-3V57c-.1-3.3-3.7-5.3-7.3-7zM50.3 65.2c-2.8 2.8-6.6 4.4-10.6 4.4-4.1 0-7.9-1.7-10.7-4.6-4.6 2.2-9 5-9 9.1V76c0 2.2 1.8 3.9 3.9 3.9h31.3c2.2 0 3.9-1.8 3.9-3.9v-1.8c0-4.2-4.2-6.9-8.8-9z" + }, { + "d": "M55.7 29.5c-3.7 0-6.8 2.7-7.7 6.5 3.7 2.4 6.4 6.5 7.5 11.2h.2c4.4 0 8-4 8-8.9.1-4.8-3.5-8.8-8-8.8z" + }], + "ellipse": { + "cx": "39.6", + "cy": "51.6", + "rx": "10.7", + "ry": "11.8" + } + }, + quick_text: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M49.5 21.5c-16.7 0-29.9 12.3-29.9 27.4 0 4.8 1.4 9.3 3.6 13.3.4.6.5 1.4.3 2.1L19.6 75c-.4 1 .6 1.9 1.6 1.6L32 72.5c.6-.3 1.4-.1 2.1.3 4.5 2.5 9.9 4 15.7 4 16.4-.1 29.8-12.3 29.8-27.6-.1-15.4-13.5-27.7-30.1-27.7zM35.6 48c0-.6.5-1.2 1.2-1.2h19.4c.6 0 1.2.5 1.2 1.2v2.3c0 .6-.5 1.2-1.2 1.2H36.7c-.6 0-1.2-.5-1.2-1.2V48zm27.9 11.6c0 .6-.5 1.2-1.2 1.2H36.7c-.6 0-1.2-.5-1.2-1.2v-2.3c0-.6.5-1.2 1.2-1.2h25.6c.6 0 1.2.5 1.2 1.2v2.3zm0-18.6c0 .6-.5 1.2-1.2 1.2H36.7c-.6 0-1.2-.5-1.2-1.2v-2.3c0-.6.5-1.2 1.2-1.2h25.6c.6 0 1.2.5 1.2 1.2V41z" + } + }, + quip: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M48.1 20.1c-14.9.9-27.1 13.1-28 28C19 65.5 32.8 80 50 80h30V50c0-17.2-14.5-31-31.9-29.9zM35.8 37c0-1.1.9-2 2-2h24.5c1.1 0 2 .9 2 2v2c0 1.1-.9 2-2 2H37.8c-1.1 0-2-.9-2-2v-2zm28.5 26c0 1.1-.9 2-2 2H37.8c-1.1 0-2-.9-2-2v-2c0-1.1.9-2 2-2h24.5c1.1 0 2 .9 2 2v2zm7.5-12c0 1.1-.9 2-2 2H30.2c-1.1 0-2-.9-2-2v-2c0-1.1.9-2 2-2h39.6c1.1 0 2 .9 2 2v2z" + } + }, + quip_sheet: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M31.9 38.8h-10c-1 0-1.9.9-1.9 1.9v31.9c0 2.8 2.2 5 5 5h6.9c1 0 1.9-.9 1.9-1.9v-35c0-1.1-.9-1.9-1.9-1.9zm46.2 0H40.6c-1 0-1.9.9-1.9 1.9v35c0 1 .9 1.9 1.9 1.9H75c2.8 0 5-2.2 5-5v-32c0-1-.9-1.8-1.9-1.8zM75 22.5H25c-2.8 0-5 2.2-5 5v4.4c0 1 .9 1.9 1.9 1.9h56.2c1 0 1.9-.9 1.9-1.9v-4.4c0-2.7-2.2-5-5-5z" + } + }, + quotes: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M72 22H50.1c-1.4-.1-2.6.6-3.6 1.6L19.7 50.5c-2.3 2.3-2.3 6.1 0 8.5l21.2 21.2c2.3 2.3 6.1 2.3 8.5 0L76.5 53c1-1 1.6-2.6 1.5-4V28c0-3.3-2.7-6-6-6zM50.4 66L49 67.4c-.8.8-2 .8-2.8 0L32.6 53.8c-.8-.8-.8-2 0-2.8l1.4-1.4c.8-.8 2-.8 2.8 0l13.6 13.6c.8.8.8 2 0 2.8zm8-8L57 59.4c-.8.8-2 .8-2.8 0L40.6 45.8c-.8-.8-.8-2 0-2.8l1.4-1.4c.8-.8 2-.8 2.8 0l13.6 13.6c.8.8.8 2 0 2.8zM64 41c-2.8 0-5-2.2-5-5s2.2-5 5-5 5 2.2 5 5-2.2 5-5 5z" + } + }, + radio_button: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M33.5 53.1c-7.4 0-13.4 6-13.4 13.4s6 13.4 13.4 13.4 13.4-6 13.4-13.4-6-13.4-13.4-13.4zm0 20.9c-4.1 0-7.5-3.4-7.5-7.5s3.4-7.5 7.5-7.5 7.5 3.4 7.5 7.5c0 4.2-3.4 7.5-7.5 7.5zM66.5 53.1c-7.4 0-13.4 6-13.4 13.4s6 13.4 13.4 13.4 13.4-6 13.4-13.4-6-13.4-13.4-13.4zM33.5 20c-7.4 0-13.4 6-13.4 13.4s6 13.4 13.4 13.4 13.4-6 13.4-13.4S40.9 20 33.5 20zm0 20.9c-4.1 0-7.5-3.4-7.5-7.5s3.4-7.5 7.5-7.5 7.5 3.4 7.5 7.5-3.4 7.5-7.5 7.5zM66.5 20c-7.4 0-13.4 6-13.4 13.4s6 13.4 13.4 13.4 13.4-6 13.4-13.4S73.9 20 66.5 20z" + } + }, + read_receipts: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "path": [{ + "d": "M48.9 43.4c.7.6 1.5.6 2.2 0l23-21.3c.4-.8.3-2.1-1.3-2.1l-45.6.1c-1.2 0-2.2 1.1-1.3 2.1l23 21.2z" + }, { + "d": "M74.3 31.2c0-1.1-1.3-1.6-2-.9L54.4 46.9c-1.2 1.1-2.8 1.7-4.4 1.7-1.6 0-3.2-.6-4.4-1.7l-18-16.6c-.8-.7-2-.2-2 .9v21.2c0 2.7 2.2 4.9 4.9 4.9h23.9v-6.1c.2-3.3 2.8-6 6.2-6.2h.7c3.3.2 6 2.8 6.2 6.2v6.1h2.2c2.7 0 4.9-2.2 4.9-4.9-.3 0-.3-14.7-.3-21.2z" + }] + }, + "path": { + "d": "M71.1 63.7l-6.7-2.3c-.5-.2-.9-.7-.9-1.2v-8.9c0-1.4-1.1-2.4-2.5-2.4h-.2c-1.4 0-2.5 1.1-2.5 2.4v17.5c0 1.5-1.9 2.1-2.7.8L53.9 66c-.9-1.5-2.9-2-4.4-.9l-1.1.9L54 79.3c.2.6.8.9 1.5.9h14.7c.7 0 1.3-.5 1.5-1.1l2.6-9.3c.6-2.7-.8-5.2-3.2-6.1z" + } + }, + recent: { + "xmlns": "http://www.w3.org/2000/svg", + "path": [{ + "d": "M28.1 48c-.1.7-.1 1.3-.1 2h-6c0-.7 0-1.3.1-2h6zM51.5 36h-3c-.8 0-1.5.7-1.5 1.5v13.1c0 .4.2.8.4 1.1l8.4 8.4c.6.6 1.5.6 2.1 0L60 58c.6-.6.6-1.5 0-2.1l-7-7.1V37.5c0-.8-.7-1.5-1.5-1.5z" + }, { + "d": "M50 22c-14.8 0-26.9 11.5-27.9 26 0 .3-.1.7-.1 1h-4.5c-1.3 0-2 1.5-1.2 2.4l7.5 9.1c.6.7 1.7.7 2.3 0l7.5-9.1c.8-1 .1-2.4-1.2-2.4H28v-1c1-11.2 10.5-20 21.9-20 13 0 23.3 11.3 21.9 24.5-1 9.5-10 18.5-19.6 19.4-7.1.7-13.8-1.9-18.5-7-.6-.7-1.4-1.1-2.2-.1l-2.4 2.9c-.5.6-.1 1 .4 1.5 5.4 5.7 12.8 8.9 20.8 8.8 14.4-.2 26.5-11.6 27.5-26C79.1 35.7 66.1 22 50 22z" + }] + }, + recipe: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M56.5 22.8a2.8 2.8 0 11-2.8-2.8 2.8 2.8 0 012.8 2.8zM46.24 33.2a3.75 3.75 0 10-3.75-3.75 3.75 3.75 0 003.75 3.75zM70.54 72L58 52.75V42.5a2.69 2.69 0 003-2.35 2.26 2.26 0 000-.45 2.49 2.49 0 00-2.25-2.7H41.5a2.5 2.5 0 00-2.5 2.48v.32a2.7 2.7 0 002.56 2.82 3.24 3.24 0 00.44 0V53L29.5 72a5.32 5.32 0 00-.3 5.3 4.88 4.88 0 004.4 2.7h32.7a4.88 4.88 0 004.4-2.7 5 5 0 00-.2-5.3zM47 54.45V43h6v11.6l5.9 9.4H41.1z", + "fill-rule": "evenodd" + } + }, + record: { + "xmlns": "http://www.w3.org/2000/svg", + "path": [{ + "d": "M39 32h22c1.1 0 2-.9 2-2v-4c0-3.3-2.7-6-6-6H43c-3.3 0-6 2.7-6 6v4c0 1.1.9 2 2 2z" + }, { + "d": "M72 25h-2c-.6 0-1 .4-1 1v4c0 4.4-3.6 8-8 8H39c-4.4 0-8-3.6-8-8v-4c0-.6-.4-1-1-1h-2c-3.3 0-6 2.7-6 6v43c0 3.3 2.7 6 6 6h44c3.3 0 6-2.7 6-6V31c0-3.3-2.7-6-6-6zM39 68c0 1.1-.9 2-2 2h-2c-1.1 0-2-.9-2-2v-2c0-1.1.9-2 2-2h2c1.1 0 2 .9 2 2v2zm0-10c0 1.1-.9 2-2 2h-2c-1.1 0-2-.9-2-2v-2c0-1.1.9-2 2-2h2c1.1 0 2 .9 2 2v2zm0-10c0 1.1-.9 2-2 2h-2c-1.1 0-2-.9-2-2v-2c0-1.1.9-2 2-2h2c1.1 0 2 .9 2 2v2zm28 20c0 1.1-.9 2-2 2H45c-1.1 0-2-.9-2-2v-2c0-1.1.9-2 2-2h20c1.1 0 2 .9 2 2v2zm0-10c0 1.1-.9 2-2 2H45c-1.1 0-2-.9-2-2v-2c0-1.1.9-2 2-2h20c1.1 0 2 .9 2 2v2zm0-10c0 1.1-.9 2-2 2H45c-1.1 0-2-.9-2-2v-2c0-1.1.9-2 2-2h20c1.1 0 2 .9 2 2v2z" + }] + }, + record_create: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M68.4 27.1c.1 0 .1 0 0 0" + }, + "g": { + "path": [{ + "d": "M39 32h22c1.1 0 2-.9 2-2v-4c0-3.3-2.7-6-6-6H43c-3.3 0-6 2.7-6 6v4c0 1.1.9 2 2 2z" + }, { + "d": "M72 25h-2c-.6 0-1 .4-1 1v4c0 4.4-3.6 8-8 8H39c-4.4 0-8-3.6-8-8v-4c0-.6-.4-1-1-1h-2c-3.3 0-6 2.7-6 6v43c0 3.3 2.7 6 6 6h44c3.3 0 6-2.7 6-6V31c0-3.3-2.7-6-6-6zm-7.3 35.2c0 .5-.5 1-1 1h-11c-.4 0-.7.3-.7.7v11c0 .5-.5 1-1 1h-2c-.5 0-1-.5-1-1v-11c0-.4-.3-.7-.7-.7h-11c-.5 0-1-.5-1-1v-2c0-.5.5-1 1-1h11c.4 0 .7-.3.7-.7v-11c0-.5.5-1 1-1h2c.5 0 1 .5 1 1v11c0 .4.3.7.7.7h11c.5 0 1 .5 1 1v2z" + }] + } + }, + record_delete: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "path": [{ + "d": "M39 32h22c1.1 0 2-.9 2-2v-4c0-3.3-2.7-6-6-6H43c-3.3 0-6 2.7-6 6v4c0 1.1.9 2 2 2z" + }, { + "d": "M72 25h-2c-.6 0-1 .4-1 1v4c0 4.4-3.6 8-8 8H39c-4.4 0-8-3.6-8-8v-4c0-.6-.4-1-1-1h-2c-3.3 0-6 2.7-6 6v43c0 3.3 2.7 6 6 6h44c3.3 0 6-2.7 6-6V31c0-3.3-2.7-6-6-6zM60.4 70.6c0 1.7-1.3 3.1-3.1 3.1H42.7c-1.7 0-3.1-1.3-3.1-3.1v-13c0-.5.4-.9.9-.9h19c.5 0 .9.4.9.9v13zm2.4-18.7c0 .5-.4.9-.9.9H38.1c-.5 0-.9-.4-.9-.9v-1.8c0-.5.4-.9.9-.9h7.6v-2.4c0-1.3 1.1-2.4 2.4-2.4h3.7c1.3 0 2.4 1.1 2.4 2.4v2.4h7.6c.5 0 .9.4.9.9v1.8z" + }, { + "d": "M47.6 61h-1.2c-.4 0-.6.2-.6.6v7.1c0 .4.2.6.6.6h1.2c.4 0 .6-.2.6-.6v-7.1c0-.4-.3-.6-.6-.6zM53.7 61h-1.2c-.4 0-.6.2-.6.6v7.1c0 .4.2.6.6.6h1.2c.4 0 .6-.2.6-.6v-7.1c0-.4-.3-.6-.6-.6zM51.2 46.7h-2.4c-.4 0-.6.2-.6.6v1.8h3.7v-1.8c-.1-.4-.3-.6-.7-.6z" + }] + } + }, + record_lookup: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "path": [{ + "d": "M39 32h22c1.1 0 2-.9 2-2v-4c0-3.3-2.7-6-6-6H43c-3.3 0-6 2.7-6 6v4c0 1.1.9 2 2 2z" + }, { + "d": "M72 25h-2c-.6 0-1 .4-1 1v4c0 4.4-3.6 8-8 8H39c-4.4 0-8-3.6-8-8v-4c0-.6-.4-1-1-1h-2c-3.3 0-6 2.7-6 6v43c0 3.3 2.7 6 6 6h44c3.3 0 6-2.7 6-6V31c0-3.3-2.7-6-6-6zm-7.7 47.6L63 73.9c-.3.3-.9.3-1.3 0l-8.1-8.1c-2.3 1.6-5.2 2.5-8.4 2.1-5.2-.7-9.4-5.1-9.9-10.3-.7-7.2 5.4-13.4 12.6-12.6 5.3.5 9.6 4.6 10.3 9.9.4 3.1-.4 6.1-2.1 8.4l8.1 8.1c.5.2.5.8.1 1.2z" + }, { + "d": "M46.9 48.5c-4.4 0-7.9 3.6-7.9 7.9 0 4.4 3.5 7.9 7.9 7.9s7.9-3.5 7.9-7.9-3.5-7.9-7.9-7.9z" + }] + } + }, + record_signature_task: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "path": [{ + "d": "M77.27 29.57a1.49 1.49 0 00-1-.45 1.33 1.33 0 00-1 .45L74 30.77a.43.43 0 000 .55l3.13 3.13a.52.52 0 00.29.09.35.35 0 00.25-.09l1.21-1.21a1.42 1.42 0 00-.06-2.11zM73.05 32.34a.52.52 0 00-.29-.09.35.35 0 00-.25.09L60 44.78l-1.2 4.15a.57.57 0 00.52.75h.14l4.16-1.21L76.12 36a.38.38 0 000-.49z" + }, { + "d": "M78.24 38.14l-5.58 5.56v19.18a2 2 0 01-2 2h-42a2 2 0 01-2-2v-23a2 2 0 012-2h34l6-6h-42a6 6 0 00-6 6v27a6 6 0 006 6h46a6 6 0 006-6v-27-.24a2.8 2.8 0 01-.42.5z" + }, { + "d": "M54.82 50.45c-.94.55-1.82 1.15-2.77 1.65a3.81 3.81 0 01-.87.33.6.6 0 000-.12A4.07 4.07 0 0046.34 49a58.78 58.78 0 00-6.68 2.11 57.84 57.84 0 01-6.95 1.73 1.89 1.89 0 00-1.31 2.31 1.91 1.91 0 002.3 1.31 58.81 58.81 0 006.95-1.73c1.14-.36 2.28-.74 3.41-1.11l2-.65a5 5 0 011.17-.34c.11 0 .13.22.2.37.2.46.33.94.58 1.39a3.25 3.25 0 002.74 1.84c2.24.12 4.12-1.5 6-2.52 2.07-1.19.18-4.43-1.93-3.26z" + }] + } + }, + record_update: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M68.4 27.1c.1 0 .1 0 0 0" + }, + "g": { + "path": [{ + "d": "M39 32h22c1.1 0 2-.9 2-2v-4c0-3.3-2.7-6-6-6H43c-3.3 0-6 2.7-6 6v4c0 1.1.9 2 2 2z" + }, { + "d": "M72 25h-2c-.6 0-1 .4-1 1v4c0 4.4-3.6 8-8 8H39c-4.4 0-8-3.6-8-8v-4c0-.6-.4-1-1-1h-2c-3.3 0-6 2.7-6 6v43c0 3.3 2.7 6 6 6h44c3.3 0 6-2.7 6-6V31c0-3.3-2.7-6-6-6zM60 55.5l-16 16h.1l-7 2c-.7.2-1.3-.5-1.1-1.2l2-6.9 16-16c.2-.2.6-.2.9 0l5.1 5.3c.2.2.2.6 0 .8zm4.6-4.6l-2 2c-.2.2-.6.2-.9 0l-5.2-5.2c-.2-.2-.2-.6 0-.9l2-2c.9-1 2.4-1 3.4 0l2.6 2.6c1.1 1 1.1 2.5.1 3.5z" + }] + } + }, + recycle_bin: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "path": { + "d": "M74.4 30H58.8v-5c0-2.7-2.2-5-5-5h-7.5c-2.7 0-5 2.2-5 5v5H25.6c-1 0-1.9.9-1.9 1.9v3.7c0 1 .9 1.9 1.9 1.9h48.7c1 0 1.9-.9 1.9-1.9v-3.7c0-1-.8-1.9-1.8-1.9zm-20.8 0h-7.4v-3.7c0-.7.5-1.2 1.2-1.2h5c.7 0 1.2.5 1.2 1.2V30zM69.4 42.5H30.6c-1 0-1.9.9-1.9 1.9v29.4c0 3.5 2.7 6.2 6.2 6.2h30c3.5 0 6.2-2.7 6.2-6.2V44.4c.1-1-.7-1.9-1.7-1.9zM46.6 73.6l-6.3.1c-.2 0-2.6 0-4.2-2.5-1.7-2.7-.4-5 1.5-8.3l-1.8-1.2c-.2-.1-.3-.3-.2-.5 0-.2.1-.3.4-.4l4.9-1.2.4-.1c.2 0 .4 0 .6.4l.1.4 1.1 5c0 .2 0 .4-.2.5-.2.1-.4.1-.6 0l-1.6-1c-1.7 2.9-2 3.8-1.5 4.5.5.8 1.2.9 1.2.9l6.2-.1c.6 0 1.2.3 1.5.8.2.3.3.6.3.9 0 1-.8 1.8-1.8 1.8zm4.5-18.2c0-.2.1-.4.3-.5l1.7-.8c-1.5-3-2.1-3.7-3-3.7-1 0-1.3.5-1.4.6l-3.3 5.3c-.3.5-.9.8-1.5.8-.3 0-.6-.1-.9-.3-.8-.5-1.1-1.6-.5-2.4l3.3-5.3c.1-.2 1.4-2.2 4.3-2.2 3.2 0 4.4 2.4 6.2 5.8l2-.9c.2-.1.4 0 .5.1s.2.3.1.5l-1.7 5.1c0 .1-.1.2-.3.3-.2.1-.4 0-.4 0l-5.1-1.9c-.2-.1-.3-.3-.3-.5zm13.1 15.3c-1.5 2.8-4.2 2.8-8 2.7l-.1 2.2c0 .2-.1.4-.3.4-.1 0-.3.1-.5-.1L51.6 72c-.3-.3 0-.6 0-.6l.2-.2 4-3.5c.2-.1.3-.2.5-.1s.3.3.3.5l-.1 1.9c3.3 0 4.3-.1 4.7-.9s.2-1.4.1-1.5l-3.1-5.4c-.3-.5-.3-1.2 0-1.7.2-.3.4-.5.7-.7.8-.5 1.9-.2 2.4.7l3.1 5.4c.1.2 1.2 2.2-.2 4.8z" + } + } + }, + related_list: { + "xmlns": "http://www.w3.org/2000/svg", + "path": [{ + "d": "M74 20H42c-3.3 0-6 2.7-6 6v1c0 .5.4 1 1 1h29c3.3 0 6 2.7 6 6v31c0 .5.4 1 1 1 3.8 0 7-3.1 7-7V26c0-3.3-2.7-6-6-6z" + }, { + "d": "M28 34c-3.3 0-6 2.7-6 6v34c0 3.3 2.7 6 6 6h32c3.3 0 6-2.7 6-6V40c0-3.3-2.7-6-6-6H28zm8 14c0 1.1-.9 2-2 2h-2c-1.1 0-2-.9-2-2v-2c0-1.1.9-2 2-2h2c1.1 0 2 .9 2 2v2zm22 0c0 1.1-.9 2-2 2H42c-1.1 0-2-.9-2-2v-2c0-1.1.9-2 2-2h14c1.1 0 2 .9 2 2v2zM36 58c0 1.1-.9 2-2 2h-2c-1.1 0-2-.9-2-2v-2c0-1.1.9-2 2-2h2c1.1 0 2 .9 2 2v2zm22 0c0 1.1-.9 2-2 2H42c-1.1 0-2-.9-2-2v-2c0-1.1.9-2 2-2h14c1.1 0 2 .9 2 2v2zM36 68c0 1.1-.9 2-2 2h-2c-1.1 0-2-.9-2-2v-2c0-1.1.9-2 2-2h2c1.1 0 2 .9 2 2v2zm22 0c0 1.1-.9 2-2 2H42c-1.1 0-2-.9-2-2v-2c0-1.1.9-2 2-2h14c1.1 0 2 .9 2 2v2z" + }] + }, + relationship: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "path": [{ + "d": "M71.25 70.002h-3.751V62.5h3.751c.749 0 1.25-.501 1.25-1.25v-32.5c0-.75-.501-1.25-1.25-1.25h-32.5c-.75 0-1.25.5-1.25 1.25v3.75H30v-3.75A8.696 8.696 0 0138.75 20h32.5A8.696 8.696 0 0180 28.75v32.5c0 4.876-3.872 8.752-8.75 8.752z" + }, { + "d": "M57.5 37.5H25c-2.749 0-5 2.249-5 5V75c0 2.75 2.251 5 5 5h32.5c2.75 0 5-2.25 5-5V42.5c0-2.75-2.248-5-5-5z" + }] + } + }, + reply_text: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M48.7 50.9a1 1 0 00-.5 1.7l5.5 5.6a1.45 1.45 0 010 2.1l-2.1 2.1a1.45 1.45 0 01-2.1 0L36 48.9a1.45 1.45 0 010-2.1l13.5-13.5a1.45 1.45 0 012.1 0l2.1 2.2a1.45 1.45 0 010 2.1l-5.6 5.6c-.6.6.5 1.7.5 1.7a27.16 27.16 0 0125.8 20.3 26 26 0 005.3-15.6c-.1-15.5-13.5-27.7-30.1-27.7s-30 12.3-30 27.4a27.56 27.56 0 003.6 13.3 2.58 2.58 0 01.3 2.1l-3.9 10.7a1.25 1.25 0 001.6 1.6L32 72.9a2.33 2.33 0 012.1.3 32.38 32.38 0 0015.7 4 31.63 31.63 0 0019.5-6.9 21.68 21.68 0 00-20.6-19.4z" + } + }, + report: { + "xmlns": "http://www.w3.org/2000/svg", + "path": [{ + "d": "M39 32h22c1.1 0 2-.9 2-2v-4c0-3.3-2.7-6-6-6H43c-3.3 0-6 2.7-6 6v4c0 1.1.9 2 2 2z" + }, { + "d": "M72 25h-2c-.6 0-1 .4-1 1v4c0 4.4-3.6 8-8 8H39c-4.4 0-8-3.6-8-8v-4c0-.6-.4-1-1-1h-2c-3.3 0-6 2.7-6 6v43c0 3.3 2.7 6 6 6h44c3.3 0 6-2.7 6-6V31c0-3.3-2.7-6-6-6zM43 66c0 1.1-.9 2-2 2h-2c-1.1 0-2-.9-2-2V56c0-1.1.9-2 2-2h2c1.1 0 2 .9 2 2v10zm10 0c0 1.1-.9 2-2 2h-2c-1.1 0-2-.9-2-2V47c0-1.1.9-2 2-2h2c1.1 0 2 .9 2 2v19zm10 0c0 1.1-.9 2-2 2h-2c-1.1 0-2-.9-2-2V51c0-1.1.9-2 2-2h2c1.1 0 2 .9 2 2v15z" + }] + }, + resource_absence: { + "xmlns": "http://www.w3.org/2000/svg", + "path": [{ + "d": "M49.91 20a25.4 25.4 0 1025.18 25.5c0-13.79-11.24-25.5-25.18-25.5zm16.61 38l-4.73 4.73-12.25-12.27L37.9 62.1l-4.74-4.74L44.8 45.73 33.1 34l4.73-4.73L49.53 41l12.31-12.32 4.74 4.74-12.31 12.31z", + "fill-rule": "evenodd" + }, { + "d": "M26 64.21h-1.27A4.75 4.75 0 0020 68.95v6.31A4.74 4.74 0 0024.73 80h50.54A4.75 4.75 0 0080 75.26v-6.31a4.74 4.74 0 00-4.73-4.74h-1.54a30.15 30.15 0 01-47.72 0z", + "fill-rule": "evenodd" + }] + }, + resource_capacity: { + "xmlns": "http://www.w3.org/2000/svg", + "path": [{ + "d": "M49.91 20a25.4 25.4 0 1025.18 25.5c0-13.79-11.24-25.5-25.18-25.5zM67.6 46.43H49.29V27s6.87-.42 13.11 6.06 5.2 13.37 5.2 13.37z", + "fill-rule": "evenodd" + }, { + "d": "M26 64.21h-1.27A4.75 4.75 0 0020 68.95v6.31A4.74 4.74 0 0024.73 80h50.54A4.75 4.75 0 0080 75.26v-6.31a4.74 4.74 0 00-4.73-4.74h-1.54a30.15 30.15 0 01-47.72 0z", + "fill-rule": "evenodd" + }] + }, + resource_preference: { + "xmlns": "http://www.w3.org/2000/svg", + "path": [{ + "d": "M49.91 20a25.4 25.4 0 1025.18 25.5c0-13.79-11.24-25.5-25.18-25.5zM39.24 55.91a2.82 2.82 0 01-3 2.55h-1.9a1.08 1.08 0 01-1.13-1V42.83a1.08 1.08 0 011.13-1h3.77a1.08 1.08 0 011.13 1zM66.39 53c0 5.55-5.2 6.06-10.86 6.06-5.35 0-7.09-1.72-12.22-1.91a1 1 0 01-1.06-1V43.47a1.08 1.08 0 011.13-1 6.71 6.71 0 006.41-6.7V32a1.08 1.08 0 011.13-1h1.89a2.82 2.82 0 013 2.55V40a2.82 2.82 0 003 2.55h4.52a2.82 2.82 0 013 2.55z", + "fill-rule": "evenodd" + }, { + "d": "M26 64.21h-1.27A4.75 4.75 0 0020 68.95v6.31A4.74 4.74 0 0024.73 80h50.54A4.75 4.75 0 0080 75.26v-6.31a4.74 4.74 0 00-4.73-4.74h-1.54a30.15 30.15 0 01-47.72 0z", + "fill-rule": "evenodd" + }] + }, + resource_skill: { + "xmlns": "http://www.w3.org/2000/svg", + "path": [{ + "d": "M43.85 45.44a6 6 0 1012.07 0 6 6 0 10-12.07 0z", + "fill-rule": "evenodd" + }, { + "d": "M49.91 20a25.4 25.4 0 1025.18 25.5c0-13.79-11.24-25.5-25.18-25.5zm16.58 33.69l-1.16 1.93a2.66 2.66 0 01-2.13 1.16 2.82 2.82 0 01-.87-.19l-3.19-1.26A14 14 0 0154.49 58l-.58 3.58a2.48 2.48 0 01-2.42 2h-2.41a2.48 2.48 0 01-2.42-2L46.08 58a12 12 0 01-4.45-2.51l-3.38 1.26a2.82 2.82 0 01-.87.19 2.52 2.52 0 01-2.13-1.26l-1.16-2a2.41 2.41 0 01.58-3.09l2.8-2.32a12.69 12.69 0 01-.29-2.61 11.81 11.81 0 01.29-2.51l-2.8-2.32a2.39 2.39 0 01-.58-3.09l1.16-2a2.4 2.4 0 012.13-1.26 2.82 2.82 0 01.87.19l3.38 1.26a13.82 13.82 0 014.45-2.61l.58-3.38A2.31 2.31 0 0149.08 28h2.42a2.32 2.32 0 012.42 1.84l.58 3.48a13.55 13.55 0 014.45 2.51l3.38-1.26a2.82 2.82 0 01.87-.19 2.52 2.52 0 012.13 1.26l1.16 2a2.53 2.53 0 01-.58 3.09l-2.8 2.32a12 12 0 01.29 2.61 11.81 11.81 0 01-.29 2.51l2.8 2.32a2.52 2.52 0 01.58 3.2z", + "fill-rule": "evenodd" + }, { + "d": "M26 64.21h-1.27A4.75 4.75 0 0020 68.95v6.31A4.74 4.74 0 0024.73 80h50.54A4.75 4.75 0 0080 75.26v-6.31a4.74 4.74 0 00-4.73-4.74h-1.54a30.15 30.15 0 01-47.72 0z", + "fill-rule": "evenodd" + }] + }, + restriction_policy: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M64 48a16 16 0 1016 16 16 16 0 00-16-16zm7 19H57a3 3 0 010-6h14a3 3 0 010 6zM36 20H26a6 6 0 00-6 6v9a6 6 0 006 6h10a6 6 0 006-6v-9a6 6 0 00-6-6zm-4.5 15h-1a4.5 4.5 0 010-9h1a4.5 4.5 0 010 9zM54 41h10a6 6 0 006-6v-9a6 6 0 00-6-6H54a6 6 0 00-6 6v9a6 6 0 006 6zm4.5-15h1a4.5 4.5 0 010 9h-1a4.5 4.5 0 010-9zM36 47H26a6 6 0 00-6 6v9a6 6 0 006 6h10a6 6 0 006-6v-9a6 6 0 00-6-6zm-4.5 15h-1a4.5 4.5 0 010-9h1a4.5 4.5 0 010 9z", + "fill-rule": "evenodd" + } + }, + return_order: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M22 22.3h36.9c1.2 0 2.3 1 2.3 2.2v4.7c0 1.2-1 2.3-2.2 2.3H22c-1.2 0-2.3-1-2.3-2.2v-4.7c-.1-1.2.9-2.3 2.3-2.3-.1 0-.1 0 0 0zm50.8 0h4.6c1.2 0 2.3 1 2.3 2.2v4.7c0 1.2-1 2.3-2.2 2.3h-4.7c-1.2 0-2.3-1-2.3-2.2v-4.7c-.1-1.2.9-2.2 2.1-2.3h.2zM45.6 42.8c1.2 0 2.3 1 2.3 2.2v4.7c0 1.2-1 2.3-2.2 2.3H22c-1.2 0-2.3-1-2.3-2.2v-4.7c0-1.2 1-2.3 2.2-2.3h23.7zm-8.8 20.5c1.2 0 2.3 1 2.3 2.2v4.7c0 1.2-1 2.3-2.2 2.3H22c-1.2 0-2.3-1-2.3-2.2v-4.7c0-1.2 1-2.3 2.2-2.3h14.9zm41.8-21.1c1.2 10.7-7.2 21.8-17.2 23.7l-2.7.6c-.5.1-.9.6-.8 1.2 0 .3.2.5.4.6l6.7 4.5c.7.5.8 1.4.3 2v.1l-1.7 2.5c-.4.7-1.4.9-2 .4h-.1L45.4 66.9c-.7-.4-.9-1.4-.4-2v-.1l11-16.2c.4-.7 1.4-.9 2-.4h.1l2.5 1.7c.7.4.9 1.4.4 2v.1l-4.4 6.7c-.3.4-.3 1.1.2 1.4.2.2.5.3.8.2l1.6-.3c7.8-1.5 14.4-10.3 13.7-17.9 0-.7 1.1-1.7 1.9-1.9h1.9c.9-.1 1.9 1.1 1.9 2z" + } + }, + return_order_line_item: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M22.2 23.1h37c1.2 0 2.3 1 2.3 2.2V30c0 1.2-1 2.3-2.2 2.3h-37c-1.2 0-2.3-1-2.3-2.2v-4.7c-.1-1.2.9-2.3 2.2-2.3zm50.9 0h4.6c1.2 0 2.3 1 2.3 2.2V30c0 1.2-1 2.3-2.2 2.3h-4.7c-1.2 0-2.3-1-2.3-2.2v-4.7c-.1-1.2.8-2.2 2-2.3h.3zM75.6 52C68.8 63.7 52.7 69 42 63.8l-2.9-1.3c-1-.5-2 .6-1.7 1.6l2.8 9.4c.3 1-.3 2-1.2 2.4l-3.4 1.3c-.8.4-1.7 0-2.1-.8 0-.1-.1-.2-.1-.3l-6.8-22.7c-.3-1 .2-2.1 1.2-2.4l22-8.6c.8-.4 1.7 0 2.1.8 0 .1.1.2.1.3l1.1 3.5c.3 1-.2 2.1-1.2 2.4l-9 3.6c-.7.2-1 .9-.8 1.6.1.3.3.6.6.7l1.7.8c8.3 4.1 21-.1 26-8.4.5-.8 2.3-1 3.2-.6l1.7 1.6c.9.4.8 2.4.3 3.3z" + } + }, + reward: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M46.7 63.4L35 80l-3-8h-8l10.2-13.9c2 1.2 4.1 1.4 5.6 1.7.5.1 1.1.2 1.4.2.2.1.7.5 1 .8 1.2.8 2.7 2 4.5 2.6zm19.1-5.3c-2 1.2-4.1 1.4-5.6 1.7-.5.1-1.2.2-1.5.2-.2.1-.7.5-1 .8-1.1.8-2.5 2-4.4 2.6L65 80l3-8h8L65.8 58.1zM50 32c-3.9 0-7 3.1-7 7s3.1 7 7 7 7-3.1 7-7-3.1-7-7-7zm19 7c0 2.4-2.6 4.3-3.5 6.4-.9 2.2-.4 5.4-2.1 7-1.6 1.6-4.8 1.2-7 2.1-2.1.9-4 3.5-6.4 3.5s-4.3-2.6-6.4-3.5c-2.2-.9-5.4-.4-7-2.1-1.6-1.6-1.2-4.8-2.1-7-.9-2.1-3.5-4-3.5-6.4 0-2.4 2.6-4.3 3.5-6.4.9-2.2.4-5.4 2.1-7 1.6-1.6 4.8-1.2 7-2.1 2.1-.9 4-3.5 6.4-3.5s4.3 2.6 6.4 3.5c2.2.9 5.4.4 7 2.1 1.6 1.6 1.2 4.8 2.1 7 .9 2.1 3.5 4 3.5 6.4zm-6 0c0-7.2-5.8-13-13-13s-13 5.8-13 13 5.8 13 13 13 13-5.8 13-13z" + } + }, + rtc_presence: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M61.55 19.75c-11.12 0-20.22 8.64-20.22 19.3a18.75 18.75 0 002.57 9.47 1.58 1.58 0 01.18 1.1l-1.93 6.16a1.37 1.37 0 001.75 1.75l5.88-2.11a1.5 1.5 0 011.1.09 20.77 20.77 0 0010.66 2.85c11.12 0 20.22-8.64 20.22-19.3s-9.09-19.31-20.21-19.31zM45.8 76.21v1.29a2.77 2.77 0 01-2.8 2.75H21a2.77 2.77 0 01-2.76-2.76v-1.28c0-3.35 3.91-5.38 7.58-7a1.38 1.38 0 00.37-.18.85.85 0 01.87 0 9 9 0 005 1.52 9.36 9.36 0 005-1.47.85.85 0 01.87 0 1.38 1.38 0 01.37.18c3.59 1.57 7.5 3.59 7.5 6.95z" + }, + "ellipse": { + "cx": "32.01", + "cy": "60.26", + "rx": "6.85", + "ry": "7.58" + } + }, + sales_cadence: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "path": [{ + "d": "M41.7 66.7c.7.7 1.9.7 2.6 0l15.3-15.2c.8-.7.8-1.9.2-2.6l-.2-.2-15.3-15.3c-.7-.8-1.9-.8-2.6-.2l-.2.2-2.8 2.8c-.8.7-.8 1.9-.2 2.6l.2.2 4.8 4.8c.5.5.5 1.4 0 1.9-.2.2-.6.4-.9.4H22.1c-1.1 0-2.1.9-2.1 2v4c.1 1.1 1 1.9 2.1 2h20.7c.7 0 1.3.6 1.3 1.3 0 .3-.1.7-.4.9l-4.8 4.8c-.8.7-.8 1.9-.2 2.6l.2.2 2.8 2.8z" + }, { + "d": "M63.5 56.3l-4.8 4.8c-.8.7-.8 1.9-.2 2.6l.2.2 2.8 2.8c.7.7 1.9.7 2.6 0l15.3-15.2c.8-.7.8-1.9.2-2.6l-.2-.2-15.3-15.3c-.7-.8-1.9-.8-2.6-.2l-.2.2-2.8 2.8c-.8.7-.8 1.9-.2 2.6l.2.2 4.8 4.8 6.4 6.3-6.2 6.2z" + }] + } + }, + sales_cadence_target: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "path": [{ + "d": "M55 25c-5.3 0-10.3 1.7-14.3 4.6l3.6 3.6c3.1-2 6.8-3.1 10.7-3.1 11 0 20 9 20 20s-9 20-20 20c-3.9 0-7.6-1.1-10.7-3.1l-3.8 3.5C44.7 73.3 49.6 75 55 75c13.8 0 25-11.2 25-25S68.8 25 55 25z" + }, { + "d": "M55 55c2.8 0 5-2.2 5-5s-2.2-5-5-5c-1.6 0-3 .8-3.9 2L40.2 36.2c-.6-.7-1.6-.7-2.2-.2l-.2.2-2.3 2.3c-.7.6-.7 1.6-.2 2.2l.2.2 4 4c.4.4.4 1.2 0 1.6-.2.2-.5.3-.8.3H21.8c-.9 0-1.8.8-1.8 1.7v3.3c.1.9.8 1.6 1.8 1.7H39c.6 0 1.1.5 1.1 1.1 0 .2-.1.6-.3.8l-4 4c-.7.6-.7 1.6-.2 2.2l.2.2 2.3 2.3c.6.6 1.6.6 2.2 0l10.9-10.8c.8 1 2.2 1.7 3.8 1.7z" + }, { + "d": "M55 60c-1.1 0-2.2-.2-3.2-.5L48 63.3c2.1 1.1 4.5 1.7 7 1.7 8.2 0 15-6.8 15-15s-6.8-15-15-15c-2.5 0-4.9.6-7 1.8l3.7 3.8c1-.4 2.1-.6 3.3-.6 5.5 0 10 4.5 10 10s-4.5 10-10 10z" + }] + } + }, + sales_channel: { + "xmlns": "http://www.w3.org/2000/svg", + "path": [{ + "d": "M74.8 45c-.7-3.4-2.1-6.5-3.9-9.2 1.8-2 1.8-5-.1-6.9-1-1-2.3-1.5-3.5-1.5s-2.5.5-3.4 1.4c-2.7-1.7-5.6-3-8.9-3.7 0-2.8-2.2-5-5-5s-5 2.2-5 5c-3.3.7-6.4 2-9.1 3.8-1-1-2.3-1.5-3.5-1.5-1.3 0-2.6.5-3.5 1.5-2 2-2 5.1 0 7.1-1.9 2.6-3.1 5.7-3.9 9-2.7 0-4.9 2.3-4.9 5s2.2 5 4.9 5c.6 3.2 1.9 6.3 3.7 8.9-.1 0-.1.1-.2.1-2 2-2 5.1 0 7.1 1 1 2.3 1.5 3.5 1.5 1.3 0 2.6-.5 3.5-1.5l.1-.1c2.8 1.9 5.9 3.2 9.3 3.9 0 2.8 2.2 5 5 5s5-2.2 5-5c3.3-.7 6.3-2 9-3.7 1 1 2.3 1.5 3.5 1.5 1.3 0 2.6-.5 3.5-1.5 2-2 2-5.1 0-7.1 1.8-2.7 3.1-5.8 3.8-9.1h.1c2.8 0 5-2.2 5-5s-2.3-5-5-5zm-9-14c.1-.1.3-.2.5-.3.3-.2.6-.2.9-.2.5 0 1 .2 1.4.6.6.6.7 1.6.3 2.3-.1.2-.2.3-.3.5-.4.4-.9.6-1.4.6s-1-.2-1.4-.6c-.9-.9-.9-2.1 0-2.9zm-18-6.3c.2-.9 1-1.6 2-1.6s1.8.7 2 1.6v.4c0 1.1-.9 2-2 2s-2-.9-2-2v-.4zm-17 6.3c.4-.4.9-.6 1.4-.6.4 0 .8.1 1.1.3l.3.3c.8.8.8 2 0 2.8-.4.4-.9.6-1.4.6s-1-.2-1.4-.6l-.3-.3c-.5-.8-.5-1.8.3-2.5zM25 52c-.2 0-.3 0-.5-.1-.9-.2-1.5-1-1.5-1.9s.7-1.7 1.5-1.9c.2 0 .3-.1.5-.1 1.1 0 2 .9 2 2s-1 2-2 2zm8.3 16.9l-.2.2c-.3.3-.8.4-1.2.4-.5 0-1-.2-1.4-.6-.4-.4-.6-.9-.6-1.4s.2-.9.4-1.2c0-.1.1-.1.1-.2.4-.4.9-.6 1.4-.6.5 0 1 .2 1.4.6.9.8.9 2 .1 2.8zm18.5 6.4c-.2.9-1 1.6-2 1.6s-1.8-.7-2-1.6v-.4c0-1.1.9-2 2-2s2 .9 2 2v.4zm20-21.3c-.6 3.2-1.8 6.1-3.6 8.7-.3 0-.5-.1-.8-.1-1.3 0-2.6.5-3.5 1.5-1.2 1.2-1.6 2.8-1.4 4.4-2.5 1.7-5.4 3-8.6 3.6-.9-1.3-2.4-2.1-4.1-2.1s-3.2.8-4.1 2.1c-3.3-.6-6.3-1.9-8.9-3.8.2-1.5-.3-3-1.4-4.2-1-1-2.3-1.5-3.5-1.5-.2 0-.4 0-.6.1-1.7-2.5-3-5.4-3.6-8.6 1.3-.9 2.2-2.4 2.2-4.1 0-1.7-.9-3.2-2.2-4.1.6-3.1 1.8-6 3.6-8.6.3 0 .5.1.8.1 1.3 0 2.6-.5 3.5-1.5 1.2-1.2 1.6-2.8 1.4-4.4 2.6-1.8 5.5-3 8.7-3.6.9 1.3 2.4 2.1 4.1 2.1 1.7 0 3.1-.8 4.1-2.1 3 .6 5.9 1.7 8.3 3.4-.3 1.6.1 3.3 1.4 4.5 1 1 2.3 1.5 3.5 1.5.3 0 .7 0 1-.1 1.8 2.6 3 5.5 3.6 8.7-1.2.9-2.1 2.4-2.1 4s.9 3.1 2.2 4.1zm3.2-2h-.3c-1.1 0-2-.9-2-2s.9-2 2-2h.3c.9.2 1.7 1 1.7 2s-.7 1.8-1.7 2z" + }, { + "d": "M54.8 52.4c-2.1-.9-2.5-1.8-2.5-2.6 0-.9.6-1.8 1.3-2.4 1.2-1.2 1.9-2.8 1.9-4.6 0-3.5-2.1-6.5-5.9-6.5s-5.9 3-5.9 6.5c0 1.9.7 3.5 1.9 4.6.7.7 1.3 1.5 1.3 2.4s-.3 1.7-2.5 2.6c-3.1 1.3-6 2.8-6.1 5.6 0 1.9 1.4 3.4 3.2 3.4h16.3c1.8 0 3.2-1.5 3.2-3.4-.1-2.8-3.1-4.2-6.2-5.6z" + }] + }, + sales_path: { + "xmlns": "http://www.w3.org/2000/svg", + "path": [{ + "d": "M15.2 68.2L29.4 51c.4-.7.4-1.5 0-2.1l-14.2-17c-.1-.2-.2-.4-.2-.6 0-.6.5-1 1-1h20.7c.6 0 1.1.2 1.4.7L53 49c.4.6.4 1.4 0 2.1l-14.8 18c-.3.4-.9.7-1.4.7H16.1c-.6 0-1-.4-1-1-.1-.2 0-.5.1-.6z" + }, { + "d": "M46.8 68.2L60.9 51c.4-.7.4-1.5 0-2.1l-14.2-17c-.1-.2-.2-.4-.2-.6 0-.6.5-1 1-1h20.7c.6 0 1.1.2 1.4.7l14.9 18c.4.6.4 1.4 0 2.1l-14.8 18c-.3.4-.9.7-1.4.7H47.6c-.6 0-1-.4-1-1 0-.2.1-.5.2-.6z" + }] + }, + sales_value: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M79.5 73.9L62.9 57.4c3.4-4.7 5.1-10.7 4.2-17.1C65.6 29.6 56.9 21.1 46 20.1c-14.7-1.5-27.2 11-25.7 25.8 1 10.7 9.5 19.6 20.2 21.1 6.4.9 12.3-.9 17.1-4.2l16.6 16.6c.7.7 1.9.7 2.6 0l2.6-2.6c.8-.9.8-2.1.1-2.9zM54.3 55.7v-4.3c0-.8-.7-1.5-1.5-1.5s-1.5.7-1.5 1.5v6.3c-1.8 1-3.8 1.6-6 1.8v-6c0-.8-.7-1.5-1.5-1.5s-1.5.7-1.5 1.5v6c-2.2-.2-4.2-.8-6-1.8v-6.3c0-.8-.7-1.5-1.5-1.5s-1.5.7-1.5 1.5v4.2c-2.6-2.3-4.5-5.3-5.3-8.9l6.8-5.4 7.1 5.3c.6.5 1.5.4 2-.2l7.4-8.2v5.2c0 .8.7 1.5 1.5 1.5s1.5-.7 1.5-1.5v-9c0-.8-.7-1.5-1.5-1.5h-8c-.8 0-1.5.7-1.5 1.5S44 36 44.8 36h4.5l-6.7 7.5-6.9-5.2c-.5-.4-1.3-.4-1.8 0l-6.2 4.9c.1-8.7 7.3-15.8 16.1-15.8 8.9 0 16.1 7.2 16.1 16.1 0 4.9-2.2 9.3-5.6 12.2z" + } + }, + salesforce_cms: { + "xmlns": "http://www.w3.org/2000/svg", + "path": [{ + "d": "M66.3 48.4c.3 0 .7-.1.9-.3.8-.5 1-1.6.5-2.4l-6.3-9.6c-.1-.2-.2-.3-.4-.4-.7-.6-1.8-.4-2.4.3l-6.8 8.8-8-11.9c-.1-.2-.3-.3-.5-.5-.8-.5-1.9-.3-2.4.5l-8.6 12.8c-.2.3-.3.6-.3 1 0 .9.8 1.7 1.7 1.7h32.6z" + }, { + "fill": "none", + "d": "M33.2 54h33.9c.9 0 1.7.8 1.7 1.7s-.8 1.7-1.7 1.7H33.2c-.9 0-1.7-.8-1.7-1.7s.8-1.7 1.7-1.7z" + }, { + "d": "M33.2 54h33.9c.9 0 1.7.8 1.7 1.7 0 .9-.8 1.7-1.7 1.7H33.2c-.9 0-1.7-.8-1.7-1.7 0-1 .8-1.7 1.7-1.7z" + }, { + "fill": "none", + "d": "M36.7 62.5h27c.9 0 1.7.8 1.7 1.7 0 .9-.8 1.7-1.7 1.7h-27c-.9 0-1.7-.8-1.7-1.7 0-.9.7-1.7 1.7-1.7z" + }, { + "d": "M36.7 62.5h27c.9 0 1.7.8 1.7 1.7 0 .9-.8 1.7-1.7 1.7h-27c-.9 0-1.7-.8-1.7-1.7 0-.9.7-1.7 1.7-1.7z" + }, { + "d": "M75.2 33.9c.8-1.1 1.3-2.4 1.3-3.9 0-3.6-2.9-6.4-6.4-6.4-1.5 0-2.8.5-3.9 1.3-4.7-3-10.2-4.8-16.2-4.8-16.6 0-30 13.4-30 30 0 7.5 2.7 14.3 7.2 19.5-.3.6-.4 1.3-.4 2 0 2.6 2.1 4.7 4.7 4.7 1 0 1.8-.3 2.6-.8 4.6 2.9 10.1 4.6 15.9 4.6 16.6 0 30-13.4 30-30 0-6-1.8-11.5-4.8-16.2zm-5.1-7c1.7 0 3.1 1.4 3.1 3.1s-1.4 3-3.1 3c-1.7 0-3.1-1.3-3.1-3s1.4-3.1 3.1-3.1zM50 76.7c-5.1 0-9.9-1.4-13.9-4 .1-.4.2-.8.2-1.2 0-2.6-2.1-4.7-4.7-4.7-.7 0-1.3.1-1.8.4-3.9-4.6-6.3-10.6-6.3-17.1 0-14.7 11.9-26.6 26.6-26.6 5.2 0 10.1 1.5 14.2 4.1-.3.7-.5 1.5-.5 2.4 0 3.6 2.9 6.4 6.4 6.4.8 0 1.6-.2 2.4-.5 2.6 4.1 4.1 9 4.1 14.2-.1 14.7-12.1 26.6-26.7 26.6z" + }] + }, + scan_card: { + "xmlns": "http://www.w3.org/2000/svg", + "path": [{ + "d": "M74 30H26c-3.3 0-6 2.7-6 6v28c0 3.3 2.7 6 6 6h48c3.3 0 6-2.7 6-6V36c0-3.3-2.7-6-6-6zM25 53c-1.7 0-3-1.3-3-3s1.3-3 3-3 3 1.3 3 3-1.3 3-3 3zm47 9c0 1.1-.9 2-2 2H32c-1.1 0-2-.9-2-2V38c0-1.1.9-2 2-2h38c1.1 0 2 .9 2 2v24z" + }, { + "d": "M64 42H38c-1.1 0-2 .9-2 2v12c0 1.1.9 2 2 2h26c1.1 0 2-.9 2-2V44c0-1.1-.9-2-2-2z" + }] + }, + schedule_objective: { + "xmlns": "http://www.w3.org/2000/svg", + "path": [{ + "d": "M76 42H24a2 2 0 00-2 2v30a6 6 0 006 6h44a6 6 0 006-6V44a2 2 0 00-2-2zM50 76.1A15.1 15.1 0 1165.1 61 15.15 15.15 0 0150 76.1z" + }, { + "d": "M50 50.9A10.1 10.1 0 1060.1 61 10.14 10.14 0 0050 50.9zM50 66a5.08 5.08 0 01-5-5 5 5 0 0110 0 5.08 5.08 0 01-5 5zM72 26h-5v-2a4 4 0 00-8 0v2H41v-2a4 4 0 00-8 0v2h-5a6 6 0 00-6 6v2a2 2 0 002 2h52a2 2 0 002-2v-2a6 6 0 00-6-6z" + }] + }, + scheduling_constraint: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M76 42H24a2 2 0 00-2 2v30a6 6 0 006 6h44a6 6 0 006-6V44a2 2 0 00-2-2zm-26 4.1a14.88 14.88 0 018.24 2.5L37.6 69.24A14.78 14.78 0 0135.1 61 14.94 14.94 0 0150 46.1zm0 29.8a14.74 14.74 0 01-8.13-2.44l20.59-20.59A14.74 14.74 0 0164.9 61 14.94 14.94 0 0150 75.9zM72 26h-5v-2a4 4 0 00-8 0v2H41v-2a4 4 0 00-8 0v2h-5a6 6 0 00-6 6v2a2 2 0 002 2h52a2 2 0 002-2v-2a6 6 0 00-6-6z" + } + }, + scheduling_policy: { + "xmlns": "http://www.w3.org/2000/svg", + "path": [{ + "d": "M22 74a5.69 5.69 0 005.6 6s32.4.3 32.3 0l-.7-1.4a7.67 7.67 0 01-1.9-4.8 8.31 8.31 0 011.8-4.8 7.39 7.39 0 012.2-4.8 8.52 8.52 0 014.5-2h.1a7.67 7.67 0 014.8-1.9 8.31 8.31 0 014.8 1.8 11 11 0 012.5.6V44c0-1.8-2-2.1-2-2.1H24a2 2 0 00-2 2z" + }, { + "d": "M68.1 83.1l-5.2 7.4-1.3-3.5h-3.5l4.5-6.1a10.19 10.19 0 002.5.8 1.49 1.49 0 00.6.1 2.19 2.19 0 00.5.3 6.49 6.49 0 001.9 1zm8.4-2.3a10.19 10.19 0 01-2.5.8 1.7 1.7 0 01-.7.1 2.19 2.19 0 01-.5.3 10.46 10.46 0 01-1.9 1.2l5.2 7.3 1.3-3.5h3.5zm-7-11.6a3.1 3.1 0 103.1 3.1 3.12 3.12 0 00-3.1-3.1zm8.5 3.1c0 1.1-1.2 1.9-1.5 2.8s-.2 2.4-.9 3.1-2.1.5-3.1.9-1.8 1.5-2.8 1.5-1.9-1.2-2.8-1.5-2.4-.2-3.1-.9-.5-2.1-.9-3.1-1.5-1.8-1.5-2.8 1.2-1.9 1.5-2.8.2-2.4.9-3.1 2.1-.5 3.1-.9 1.8-1.5 2.8-1.5 1.9 1.2 2.8 1.5 2.4.2 3.1.9.5 2.1.9 3.1 1.5 1.8 1.5 2.8zm-2.7 0a5.8 5.8 0 00-11.6 0 5.68 5.68 0 005.8 5.8 5.74 5.74 0 005.8-5.8zM72 26h-5v-2a4 4 0 00-8 0v2H41v-2a4 4 0 00-8 0v2h-5a6 6 0 00-6 6v2a2 2 0 002 2h52a2 2 0 002-2v-2a6 6 0 00-6-6zM48 70.2c0 1.4-.7 2.6-1.7 2.6H29c-.9 0-1.8-1.2-1.8-2.6v-2.6c0-1.4.8-2.6 1.8-2.6h17.2c.9 0 1.8 1.2 1.8 2.6zM56.9 54.4c0 1.4-.8 2.6-1.9 2.6H29.2c-1.1 0-2-1.2-2-2.6v-2.6c0-1.4.9-2.6 2-2.6H55c1.1 0 2 1.2 2 2.6v2.6z" + }] + }, + screen: { + "xmlns": "http://www.w3.org/2000/svg", + "path": [{ + "d": "M80 25c0-2.8-2.2-5-5-5H25c-2.8 0-5 2.2-5 5v34.7c0 2.8 2.2 5 5 5h50c2.8 0 5-2.2 5-5V25zm-7.5 30.3c0 1-.9 1.9-1.9 1.9H29.4c-1 0-1.9-.9-1.9-1.9V29.4c0-1 .9-1.9 1.9-1.9h41.2c1 0 1.9.9 1.9 1.9v25.9zM41.2 72.5c-2.8 0-5 2.2-5 5v.6c0 1 .9 1.9 1.9 1.9h23.8c1 0 1.9-.9 1.9-1.9v-.6c0-2.8-2.2-5-5-5H41.2z" + }, { + "d": "M40.2 50.9h-5.6c-.5 0-1-.5-1-1V34.7c0-.6.5-1 1-1h5.6c.5 0 1 .4 1 1v15.2c0 .5-.5 1-1 1zM65.4 50.9H48.3c-.5 0-1-.5-1-1V34.7c0-.5.5-1 1-1h17.1c.5 0 1 .5 1 1v15.2c0 .6-.5 1-1 1z" + }] + }, + search: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M79.5 74.1L62.9 57.6c3.4-4.7 5.1-10.7 4.2-17.1C65.6 29.8 56.9 21.3 46 20.3c-14.7-1.5-27.2 11-25.7 25.8 1 10.7 9.5 19.6 20.2 21.1 6.4.9 12.3-.9 17.1-4.2l16.6 16.6c.7.7 1.9.7 2.6 0l2.6-2.6c.8-.9.8-2.1.1-2.9zM27.7 43.7c0-8.8 7.2-16.1 16.1-16.1s16.1 7.2 16.1 16.1-7.2 16.1-16.1 16.1-16.1-7.1-16.1-16.1z" + } + }, + section: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M31 34h38a1 1 0 001-1v-4a1 1 0 00-1-1H31a1 1 0 00-1 1v4a1 1 0 001 1m41 6H28a4 4 0 01-4-4V26a4 4 0 014-4h44a4 4 0 014 4v10a4 4 0 01-4 4M31 72h38a1 1 0 001-1v-4a1 1 0 00-1-1H31a1 1 0 00-1 1v4a1 1 0 001 1m41 6H28a4 4 0 01-4-4V64a4 4 0 014-4h44a4 4 0 014 4v10a4 4 0 01-4 4M77 54H67a3 3 0 01-3-3v-2a3 3 0 013-3h10a3 3 0 013 3v2a3 3 0 01-3 3M55 54H45a3 3 0 01-3-3v-2a3 3 0 013-3h10a3 3 0 013 3v2a3 3 0 01-3 3M33 54H23a3 3 0 01-3-3v-2a3 3 0 013-3h10a3 3 0 013 3v2a3 3 0 01-3 3", + "fill-rule": "evenodd" + } + }, + segments: { + "xmlns": "http://www.w3.org/2000/svg", + "path": [{ + "d": "M78.8 45.1l-1-2.8-22.7 8.1-.5 1.3a4.81 4.81 0 01-1.7 2.3 4.89 4.89 0 01-7.8-4 5.73 5.73 0 011.4-3.7l.6-.8V20.3l-3.6.8A29 29 0 0027.4 31a29.7 29.7 0 00-6.9 18.9 29.6 29.6 0 0059.2 0 17.72 17.72 0 00-.9-4.8zM66.7 66.8A23.37 23.37 0 0150 73.7a23.61 23.61 0 01-16.7-6.9A23.57 23.57 0 0131.9 35a24.13 24.13 0 019.3-6.8v15.5a11.51 11.51 0 00-2 6.4 10.74 10.74 0 003.2 7.7 11 11 0 007.7 3.2 10.67 10.67 0 006.4-2.1 10.23 10.23 0 003.2-3.7l14-5a23.83 23.83 0 01-7 16.6z" + }, { + "d": "M55.6 43.9L75.1 37a1.05 1.05 0 00.5-1.7l-.2-.4a29.69 29.69 0 00-20.7-14 1.58 1.58 0 00-1.8 1.6v19.6a2 2 0 00.1.7 2 2 0 002.6 1.1z" + }] + }, + selling_model: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M73.41 27.84h-2V25.2a3.29 3.29 0 00-3.26-3.32h-1.1a3.29 3.29 0 00-3.3 3.28v2.67h-9.9V25.2a3.31 3.31 0 00-3.29-3.32h-1.12a3.31 3.31 0 00-3.29 3.32v2.64H35.9V25.2a3.29 3.29 0 00-3.26-3.32H31.5a3.3 3.3 0 00-3.29 3.31v2.64h-1.62A6.61 6.61 0 0020 34.46v37a6.61 6.61 0 006.59 6.63h46.82a6.61 6.61 0 006.59-6.6v-37a6.61 6.61 0 00-6.58-6.64zm-33.55 38H34.3V43h5.56zm8 0h-3.81V43h3.86zm9.33 0h-5.52V43h5.57zm8.46 0h-3.83V43h3.88z" + } + }, + serialized_product: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M74 42a2 2 0 012 1.85V72a6 6 0 01-5.78 6H30a6 6 0 01-6-5.78V44a2 2 0 011.85-2zM63.18 70.43H36.82a.94.94 0 00-.94.92v.91a.93.93 0 00.94.91h26.36a.93.93 0 00.94-.91v-.91a.94.94 0 00-.94-.92zm-24-18.7h-2.36a.93.93 0 00-.94.91v14.14a.93.93 0 00.94.92h2.36a.93.93 0 00.94-.92V52.64a.93.93 0 00-.94-.91zm24 0h-2.36a.93.93 0 00-.94.91v14.14a.93.93 0 00.94.92h2.36a.93.93 0 00.94-.92V52.64a.93.93 0 00-.94-.91zm-11.77 0h-2.82a.93.93 0 00-.94.91v14.14a.93.93 0 00.94.92h2.82a.93.93 0 00.94-.92V52.64a.93.93 0 00-.94-.91zm5.65 0h-.94a.93.93 0 00-.94.91v14.14a.93.93 0 00.94.92h.94a.93.93 0 00.94-.92V52.64a.93.93 0 00-.94-.91zm-12.24 0h-.94a.93.93 0 00-.94.91v14.14a.93.93 0 00.94.92h.94a.93.93 0 00.94-.92V52.64a.93.93 0 00-.94-.91zm18.36-5H36.82a.93.93 0 00-.94.91v.91a.93.93 0 00.94.91h26.36a.93.93 0 00.94-.91v-.91a.93.93 0 00-.94-.93zM74 22a6 6 0 016 6v6a2 2 0 01-2 2H22a2 2 0 01-2-2v-6a6 6 0 016-6z" + } + }, + serialized_product_transaction: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M72.85 70.32a1.8 1.8 0 011.82 1.77v1.77a1.8 1.8 0 01-1.82 1.76h-51A1.8 1.8 0 0120 73.86v-1.77a1.8 1.8 0 011.82-1.77h51zM26.38 34.1a1.8 1.8 0 011.82 1.77v27.38A1.8 1.8 0 0126.38 65h-4.56A1.8 1.8 0 0120 63.25V35.87a1.8 1.8 0 011.82-1.77zm23.69 0a1.8 1.8 0 011.82 1.77v27.38A1.8 1.8 0 0150.07 65H44.6a1.8 1.8 0 01-1.82-1.77V35.87a1.8 1.8 0 011.82-1.77zm-12.76 0a1.8 1.8 0 011.82 1.77v27.38A1.8 1.8 0 0137.31 65h-1.82a1.8 1.8 0 01-1.82-1.77V35.87a1.8 1.8 0 011.82-1.77zm29.31.57a1.43 1.43 0 011.08.5l11.84 12.94a1.74 1.74 0 01.46 1.18 1.71 1.71 0 01-.46 1.18L67.75 63.3a1.39 1.39 0 01-2.15 0L63.44 61a1.74 1.74 0 010-2.36l3.69-4.05a1.2 1.2 0 00.22-1.22 1 1 0 00-.93-.7h-8.78A1.83 1.83 0 0156 50.92v-3.37a1.76 1.76 0 011.64-1.69h8.73a1 1 0 00.93-.7 1.18 1.18 0 00-.22-1.16l-3.69-4.1a1.76 1.76 0 010-2.37l2.16-2.36a1.43 1.43 0 011.07-.5zm6.23-10.29a1.8 1.8 0 011.82 1.77v1.76a1.8 1.8 0 01-1.82 1.77h-51A1.8 1.8 0 0120 27.91v-1.76a1.8 1.8 0 011.82-1.77h51z" + } + }, + service_appointment: { + "xmlns": "http://www.w3.org/2000/svg", + "rect": [{ + "x": "60.31", + "y": "60.99", + "width": "5.48", + "height": "5.48", + "rx": ".91", + "ry": ".91" + }, { + "x": "60.31", + "y": "70.12", + "width": "5.48", + "height": "5.48", + "rx": ".91", + "ry": ".91" + }, { + "x": "51.17", + "y": "60.99", + "width": "5.48", + "height": "5.48", + "rx": ".91", + "ry": ".91" + }, { + "x": "51.17", + "y": "70.12", + "width": "5.48", + "height": "5.48", + "rx": ".91", + "ry": ".91" + }, { + "x": "42.03", + "y": "60.99", + "width": "5.48", + "height": "5.48", + "rx": ".91", + "ry": ".91" + }, { + "x": "42.03", + "y": "70.12", + "width": "5.48", + "height": "5.48", + "rx": ".91", + "ry": ".91" + }], + "path": { + "d": "M71.83 20H28.3a8.11 8.11 0 00-8.3 7.81v44.38A8.08 8.08 0 0028.16 80h5.9a3.62 3.62 0 01-.4-1.66V56A1.41 1.41 0 0135 54.6h37.51a1.41 1.41 0 011.37 1.4v22.34a3.62 3.62 0 01-.31 1.47A8 8 0 0080 72.19V27.81c.14-4.25-3.58-7.81-8.17-7.81zM30.78 36.1A2.85 2.85 0 0128 33.35V30.6a2.85 2.85 0 012.76-2.75h14.09a2.85 2.85 0 012.76 2.75v2.75a2.85 2.85 0 01-2.76 2.75zm43.1 14.14a1.41 1.41 0 01-1.37 1.37H35a1.41 1.41 0 01-1.37-1.37V48a3.67 3.67 0 013.66-3.65h4.57v-1.87a2.74 2.74 0 015.48 0v1.82h12.8v-1.82a2.74 2.74 0 015.48 0v1.82h4.57a3.67 3.67 0 013.69 3.7z", + "fill-rule": "evenodd" + } + }, + service_appointment_capacity_usage: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "path": [{ + "d": "M72 26h-5v-2c0-2.2-1.8-4-4-4s-4 1.8-4 4v2H41v-2c0-2.2-1.8-4-4-4s-4 1.8-4 4v2h-5c-3.3 0-6 2.7-6 6v2c0 1.1.9 2 2 2h52c1.1 0 2-.9 2-2v-2c0-3.3-2.7-6-6-6zM76 42H24c-1.1 0-2 .9-2 2v30c0 3.3 2.7 6 6 6h44c3.3 0 6-2.7 6-6V44c0-1.1-.9-2-2-2zM64.9 61.1c-.1 8.2-6.8 14.9-15 14.8-8.2-.1-14.9-6.8-14.8-15 .1-8.2 6.8-14.9 15-14.8 8.2 0 14.8 6.9 14.8 15z" + }, { + "d": "M49.8 50.2v11.4h10.7s.6-4-3.1-7.8-7.6-3.6-7.6-3.6z" + }] + } + }, + service_contract: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "path": [{ + "d": "M69.1 28.9L55.9 15.7c-.3-.3-.6-.4-1-.4-.8 0-1.4.6-1.4 1.4v10.6c0 2.2 1.8 4 4 4h10.6c.8 0 1.4-.6 1.4-1.4 0-.4-.1-.7-.4-1zm.4 10.4c0-1.1-.9-2-2-2h-14c-3.3 0-6-2.7-6-6v-14c0-1.1-.9-2-2-2h-20c-3.3 0-6 2.7-6 6v48c0 3.3 2.7 6 6 6h20.3c1.6 0 2-1.1 1.9-2.8s-.7-9 4.3-14.8 13.2-6.2 14.4-6.2c1.2 0 3.2-.1 3.1-1.8s0-10.4 0-10.4zm-43-11.4l4.9-.7c.1 0 .3-.1.3-.2l2.2-4.5c.2-.3.6-.3.8 0l2.2 4.5c.1.1.2.2.3.2l4.9.7c.3.1.5.5.2.7l-3.6 3.5c-.1.1-.1.2-.1.4l.8 4.9c.1.3-.3.6-.6.4l-4.4-2.3c-.1-.1-.3-.1-.4 0l-4.4 2.3c-.3.2-.7-.1-.6-.4l.8-4.9c0-.1 0-.3-.1-.4l-3.6-3.5c-.1-.2.1-.6.4-.7zm18 33.4c0 1.1-.9 2-2 2h-13c-1.1 0-2-.9-2-2v-2c0-1.1.9-2 2-2h13c1.1 0 2 .9 2 2v2zm11-12c0 1.1-.9 2-2 2h-24c-1.1 0-2-.9-2-2v-2c0-1.1.9-2 2-2h24c1.1 0 2 .9 2 2v2z" + }, { + "d": "M66.3 56.2c-7.9 0-14.3 6.4-14.3 14.3s6.4 14.3 14.3 14.3 14.3-6.4 14.3-14.3-6.5-14.3-14.3-14.3zm2.5 15.6c-.4 0-.8-.1-1.2-.2L62.1 77c-.4.4-.8.5-1.2.5-.5 0-.8-.1-1.2-.5-.6-.6-.6-1.7 0-2.4l5.5-5.5c-.1-.3-.2-.7-.2-1.1-.2-2.5 1.8-4.8 4.3-4.8.4 0 .8.1 1.2.2.2 0 .2.2.1.4l-2.4 2.5c-.2.1-.2.5 0 .6l1.7 1.7c.2.2.5.2.7 0l2.4-2.4c.1-.1.4-.1.4.1.1.4.2.8.2 1.2-.1 2.5-2.2 4.5-4.8 4.3z" + }] + } + }, + service_crew: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "path": [{ + "d": "M60.1 51.3h-3.7v-4.4c0-5.9-3.3-11-8.1-13.5V41c0 4-3.2 7.2-7.2 7.2S33.9 45 33.9 41v-7.8c-4.9 2.6-8.3 7.7-8.3 13.6v4.4H22c-1.2 0-2.1.9-2.1 2.1s.9 2.1 2.1 2.1h38.1c1.2 0 2.1-.9 2.1-2.1s-.9-2-2.1-2z" + }, { + "d": "M41.2 43.9c1.6 0 2.9-1.3 2.9-2.9v-9.2c-1-.2-2-.3-3-.3s-1.9.1-2.8.3V41c-.1 1.6 1.2 2.9 2.9 2.9z" + }] + }, + "path": [{ + "d": "M41.1 77.3c-8.9 0-16.1-7.9-16.1-17.6h4c0 7.5 5.4 13.6 12.1 13.6s12.1-6.1 12.1-13.6h4c-.1 9.7-7.3 17.6-16.1 17.6zM65.3 31.5c1.1 0 2.1-.9 2.1-2.1v-6.5c-.7-.1-1.4-.2-2.1-.2-.7 0-1.3.1-2 .2v6.5c-.1 1.1.9 2.1 2 2.1zM65.2 57.5v-4c4.3 0 7.9-4 7.9-8.9h4c0 7.1-5.3 12.9-11.9 12.9z" + }, { + "d": "M78 36.1h-2v-2.6c0-4.1-2.3-7.7-5.7-9.5v5.4c0 2.8-2.3 5-5 5-2.8 0-5-2.3-5-5v-5.5C57 25.6 54.7 29 54.5 33c2.1 2.1 3.6 4.6 4.6 7.3H78c1.2 0 2.1-.9 2.1-2.1s-.9-2.1-2.1-2.1z" + }] + }, + service_crew_member: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "path": [{ + "d": "M77.3 45.5h-5.5v-6.3c0-8.3-4.7-15.5-11.5-19.2v10.9c0 5.6-4.6 10.2-10.2 10.2s-10.2-4.6-10.2-10.2v-11c-7 3.6-11.8 10.9-11.8 19.4v6.3h-5.5c-1.5 0-2.8 1.2-2.8 2.8v.5c0 1.5 1.2 2.8 2.8 2.8h54.6c1.5 0 2.8-1.2 2.8-2.8v-.5c.1-1.6-1.2-2.9-2.7-2.9z" + }, { + "d": "M50.1 35.1c2.3 0 4.2-1.9 4.2-4.2V17.8c-1.4-.3-2.8-.4-4.3-.4-1.4 0-2.7.1-4 .4v13.1c0 2.3 1.8 4.2 4.1 4.2z" + }] + }, + "path": { + "d": "M50 82.6c-12.7 0-23-11.3-23-25.1h6c0 10.5 7.6 19.1 17 19.1S67 68 67 57.5h6c0 13.8-10.3 25.1-23 25.1z" + } + }, + service_report: { + "xmlns": "http://www.w3.org/2000/svg", + "path": [{ + "d": "M71.8 25h-2a.94.94 0 00-1 1v4a8 8 0 01-7.93 8H39.1a8 8 0 01-7.93-8v-4a.94.94 0 00-1-1h-2a6 6 0 00-5.95 6v43a6 6 0 005.95 6H71.8a6 6 0 005.95-6V31a6 6 0 00-5.95-6zM43.06 66a2 2 0 01-2 2h-2a2 2 0 01-2-2V56a2 2 0 012-2h2a2 2 0 012 2zM53 66a2 2 0 01-2 2h-2a2 2 0 01-2-2V47a2 2 0 012-2h2a2 2 0 012 2zm9.91 0a2 2 0 01-2 2h-2a2 2 0 01-2-2V51a2 2 0 012-2h2a2 2 0 012 2z", + "fill-rule": "evenodd" + }, { + "d": "M39.1 32h21.8a2 2 0 002-2v-4a6 6 0 00-5.95-6H43.06a6 6 0 00-5.95 6v4a2 2 0 001.99 2z", + "fill-rule": "evenodd" + }] + }, + service_request: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "path": [{ + "d": "M38.63 57.24a9.33 9.33 0 01-.48 2.47l11.51 12.12a3.64 3.64 0 011 2.52 2.82 2.82 0 01-1.1 2.46 4.08 4.08 0 01-5.19-.13L32.84 64.56a9.49 9.49 0 01-2.5.35 9.68 9.68 0 01-10.13-9.6 8.53 8.53 0 01.48-2.47c0-.42.42-.41.83-.19l5.05 5.52a.77.77 0 001.24 0l3.62-3.43a1 1 0 000-1.45L26.41 48c-.2-.21-.18-.83.23-.82a11.94 11.94 0 012.5-.35 9.26 9.26 0 019.49 10.41z" + }, { + "d": "M78.67 34.7a15.51 15.51 0 00-3-5.74 13.63 13.63 0 00-6.11-4.16 15.14 15.14 0 00-3.89-.75 13.12 13.12 0 00-5.88.9 15.58 15.58 0 00-5.52 3.79c-.62.65-1.18 1.35-1.79 2l-.14-.18a20.11 20.11 0 00-3.12-3.27 14.81 14.81 0 00-4.28-2.49 13.56 13.56 0 00-5.75-.78 14.49 14.49 0 00-5.52 1.49 14 14 0 00-6.53 6.89 18.63 18.63 0 00-1.63 7.08 17.09 17.09 0 00.27 3.72l.25-.05a16.11 16.11 0 013.07-.4h.19a13.28 13.28 0 0113.4 14.7 8.42 8.42 0 01-.09 1L52.6 69a7.67 7.67 0 012 3.92 106.59 106.59 0 0011.36-9.43 67.92 67.92 0 007.48-8.33 37.33 37.33 0 004.08-6.71A20.19 20.19 0 0079.37 42a19 19 0 00-.7-7.3z" + }] + } + }, + service_request_detail: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "path": [{ + "d": "M69.49 79.64A10.2 10.2 0 1179.7 69.45a10.17 10.17 0 01-10.21 10.19zM70.4 67a1 1 0 00-.7.21c-.56.38-1.12.76-1.67 1.16a3.14 3.14 0 00-.53.56.28.28 0 00.32.44c.14 0 .27-.1.4-.15s.24-.12.37-.16.28 0 .28.21a2.17 2.17 0 010 .25q-.58 2.41-1.18 4.82a.89.89 0 00.45 1.06 1.13 1.13 0 001.16-.1c.54-.35 1.07-.71 1.58-1.1a5.6 5.6 0 00.72-.74.22.22 0 000-.28.25.25 0 00-.3-.1 2.43 2.43 0 00-.38.13l-.44.2c-.17.06-.26 0-.25-.19a2.63 2.63 0 01.06-.39c.37-1.5.73-3 1.1-4.5A1 1 0 0070.4 67zm1.07-2.09a1.54 1.54 0 00-1.78-1.47 1.37 1.37 0 00-1.07 2 1.53 1.53 0 001.7.88 1.47 1.47 0 001.15-1.46zM38.35 56.64a8.67 8.67 0 00.48-2.47 9.23 9.23 0 00-9.45-10.38 13.23 13.23 0 00-2.49.35c-.42 0-.43.61-.23.82l5 5.3a1 1 0 010 1.45l-3.61 3.42a.77.77 0 01-1.24 0l-5-5.5c-.4-.22-.82-.23-.83.18a9.33 9.33 0 00-.48 2.47 9.66 9.66 0 0010.1 9.57 9.35 9.35 0 002.49-.35l11.45 12.05a4 4 0 005.17.13 2.77 2.77 0 001.09-2.46 3.53 3.53 0 00-1-2.5z" + }, { + "d": "M78.75 31.7a15.63 15.63 0 00-3-5.72 13.56 13.56 0 00-6.1-4.14 15 15 0 00-3.87-.75 13.23 13.23 0 00-5.87.89 15.55 15.55 0 00-5.49 3.79c-.62.64-1.18 1.33-1.79 2l-.14-.17a19.19 19.19 0 00-3.11-3.26 14.81 14.81 0 00-4.26-2.48 13.34 13.34 0 00-5.74-.78 14.61 14.61 0 00-5.5 1.48 14 14 0 00-6.51 6.88 18.62 18.62 0 00-1.62 7 17 17 0 00.25 3.78h.25a15.9 15.9 0 013.06-.4h.19a13.25 13.25 0 0113.35 14.6c0 .34-.05.68-.09 1L52.75 66l.09.11 2.1 2.21A14.71 14.71 0 0169.6 54.77a13.77 13.77 0 011.71.11c.75-.89 1.49-1.79 2.18-2.73a36.55 36.55 0 004.07-6.69A20.59 20.59 0 0079.45 39a19.13 19.13 0 00-.7-7.3z" + }] + } + }, + service_resource: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M71.83 20H28.3a8.11 8.11 0 00-8.3 7.81v44.38A8.08 8.08 0 0028.16 80h11c1.1-4.54 6.46-7.17 12.14-9.49 4.24-1.8 4.89-3.34 4.89-5.14s-1.29-3.47-2.7-4.76a11.3 11.3 0 01-3.86-9c0-6.69 4.37-12.6 12-12.6s12 5.79 12 12.6a12.13 12.13 0 01-3.86 9c-1.41 1.41-2.7 3-2.7 4.76s.51 3.34 4.89 5.14a41.53 41.53 0 017.78 3.91 7.28 7.28 0 00.26-2.23V27.81c.14-4.25-3.58-7.81-8.17-7.81zM47.61 33.35a2.85 2.85 0 01-2.76 2.75H30.78A2.85 2.85 0 0128 33.35V30.6a2.85 2.85 0 012.76-2.75h14.09a2.85 2.85 0 012.76 2.75z", + "fill-rule": "evenodd" + } + }, + service_territory: { + "xmlns": "http://www.w3.org/2000/svg", + "path": [{ + "d": "M56.63 62.11a7.39 7.39 0 01-7.42-7.22 7.27 7.27 0 017.42-7.22 7.22 7.22 0 110 14.43z", + "fill-rule": "evenodd" + }, { + "d": "M71.83 20H28.3a8.11 8.11 0 00-8.3 7.81v44.38A8.08 8.08 0 0028.16 80h24.41C47.5 75.48 39 66.22 39 56.46a17.32 17.32 0 0134.65 0c0 9.82-8.55 19-13.61 23.54h11.79A8.08 8.08 0 0080 72.19V27.81c.14-4.25-3.58-7.81-8.17-7.81zM47.61 33.35a2.85 2.85 0 01-2.76 2.75H30.78A2.85 2.85 0 0128 33.35V30.6a2.85 2.85 0 012.76-2.75h14.09a2.85 2.85 0 012.76 2.75z", + "fill-rule": "evenodd" + }] + }, + service_territory_location: { + "xmlns": "http://www.w3.org/2000/svg", + "path": [{ + "d": "M66.3 59.5c-2.2 0-3.9-1.7-4-3.9 0-2.2 1.8-3.9 4-3.9s3.9 1.7 4 3.9c0 2.1-1.8 3.9-4 3.9zM47.4 59.5c-2.2 0-3.9-1.7-4-3.9 0-2.2 1.8-3.9 4-3.9s3.9 1.7 4 3.9c-.1 2.1-1.8 3.8-4 3.9zM56.8 59.5c-2.2 0-3.9-1.7-4-3.9 0-2.2 1.8-3.9 4-3.9s3.9 1.7 4 3.9c0 2.1-1.8 3.9-4 3.9z" + }, { + "d": "M71.6 20.2H28.1c-4.4-.1-8.1 3.4-8.3 7.8v44.4c.2 4.4 3.8 7.9 8.2 7.8h24.4c-5.1-4.5-13.5-13.8-13.5-23.5 0-9.6 7.7-17.3 17.3-17.3 9.6 0 17.3 7.7 17.3 17.3 0 9.8-8.5 19-13.6 23.5h11.8c4.4 0 8-3.4 8.2-7.8V28c0-4.3-3.8-7.8-8.3-7.8zM47.3 33.5c-.1 1.5-1.3 2.7-2.8 2.8H30.4c-1.5 0-2.8-1.3-2.8-2.8v-2.8c.1-1.5 1.3-2.7 2.8-2.8h14.1c1.5 0 2.8 1.3 2.8 2.8v2.8z" + }] + }, + service_territory_member: { + "xmlns": "http://www.w3.org/2000/svg", + "path": [{ + "d": "M42.74 42.28A7.12 7.12 0 0150 35.2a7.08 7.08 0 11-7.28 7.08z", + "fill-rule": "evenodd" + }, { + "d": "M49.91 20a25.4 25.4 0 1025.18 25.5c0-13.79-11.24-25.5-25.18-25.5zm1 43.89a1.44 1.44 0 01-1.89 0c-3.15-2.36-13.56-11.65-13.56-21.56a14.51 14.51 0 0129 0c.02 9.92-10.39 19.05-13.54 21.56z", + "fill-rule": "evenodd" + }, { + "d": "M26 64.21h-1.27A4.75 4.75 0 0020 68.95v6.31A4.74 4.74 0 0024.73 80h50.54A4.75 4.75 0 0080 75.26v-6.31a4.74 4.74 0 00-4.73-4.74h-1.54a30.15 30.15 0 01-47.72 0z", + "fill-rule": "evenodd" + }] + }, + service_territory_policy: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M39.79 20H26.61A6.36 6.36 0 0020 26.11v10.14a6.37 6.37 0 006.59 6.09h13.2a6.36 6.36 0 006.58-6.09V26.11A6.35 6.35 0 0039.79 20zm-5.5 16.23H32.1a5.29 5.29 0 01-5.49-5.08 5.28 5.28 0 015.49-5.06h2.19a5.29 5.29 0 015.5 5.06 5.3 5.3 0 01-5.5 5.1zM59.54 42.34h13.18a6.37 6.37 0 006.59-6.09V26.11A6.36 6.36 0 0072.72 20H59.54A6.35 6.35 0 0053 26.11v10.14a6.35 6.35 0 006.54 6.09zM65 26.11h2.2a5.28 5.28 0 015.49 5.06 5.29 5.29 0 01-5.49 5.08H65a5.3 5.3 0 01-5.49-5.08A5.28 5.28 0 0165 26.11zM39.79 48.42H26.61A6.35 6.35 0 0020 54.51v10.13a6.35 6.35 0 006.59 6.09h13.2a6.35 6.35 0 006.58-6.09V54.51a6.35 6.35 0 00-6.58-6.09zm-5.5 16.22H32.1a4.51 4.51 0 01-.9 0 5.08 5.08 0 11.9-10.13h2.19a4.51 4.51 0 01.9 0 5.08 5.08 0 11-.9 10.13zM66.47 48.42C59 48.42 53 54 53 61c0 8.68 9.67 16.62 12.66 18.72a1.46 1.46 0 001.77 0C70.43 77.55 80 69.72 80 61c0-7-6-12.58-13.53-12.58zm0 17.73a5.27 5.27 0 115.69-5.25 5.5 5.5 0 01-5.69 5.25z" + } + }, + settings: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M50.1 41.3c-4.9 0-8.8 3.9-8.8 8.8s3.9 8.8 8.8 8.8 8.8-3.9 8.8-8.8-3.9-8.8-8.8-8.8zM76.4 58l-4.6-3.9c.3-1.4.4-2.9.4-4.3s-.1-2.9-.4-4.3l4.6-3.9c1.5-1.3 2-3.5 1-5.3l-2-3.5c-.8-1.3-2.1-2-3.6-2-.5 0-1 .1-1.4.3l-5.8 2.1c-2.3-2-4.8-3.4-7.4-4.3l-1-5.9c-.4-2-2.1-3.1-4.1-3.1h-4c-2 0-3.8 1.1-4.1 3.1l-1 5.8c-2.8.9-5.3 2.4-7.5 4.3L29.6 31c-.5-.1-.9-.3-1.4-.3-1.5 0-2.9.8-3.6 2l-2 3.5c-1 1.8-.6 4 1 5.3l4.6 3.9c-.3 1.4-.4 2.9-.4 4.3 0 1.5.1 2.9.4 4.3l-4.6 3.9c-1.5 1.3-2 3.5-1 5.3l2 3.5c.8 1.3 2.1 2 3.6 2 .5 0 1-.1 1.4-.3l5.8-2.1c2.3 2 4.8 3.4 7.4 4.3l1 6c.4 2 2 3.4 4.1 3.4h4c2 0 3.8-1.5 4.1-3.5l1-6c2.9-1 5.5-2.5 7.8-4.6l5.4 2.1c.5.1 1 .3 1.5.3 1.5 0 2.9-.8 3.6-2l1.9-3.3c1.2-1.5.7-3.7-.8-5zm-26.3 5.9c-7.7 0-13.8-6.2-13.8-13.8s6.2-13.8 13.8-13.8 13.8 6.2 13.8 13.8-6.2 13.8-13.8 13.8z" + } + }, + shift: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "path": [{ + "d": "M72 26h-5v-2c0-2.2-1.8-4-4-4s-4 1.8-4 4v2H41v-2c0-2.2-1.8-4-4-4s-4 1.8-4 4v2h-5c-3.3 0-6 2.7-6 6v2c0 1.1.9 2 2 2h52c1.1 0 2-.9 2-2v-2c0-3.3-2.7-6-6-6zM76 42H24c-1.1 0-2 .9-2 2v30c0 3.3 2.7 6 6 6h44c3.3 0 6-2.7 6-6V44c0-1.1-.9-2-2-2zM50 75.9c-8.2 0-14.9-6.7-14.9-14.9S41.8 46.1 50 46.1 64.9 52.8 64.9 61 58.2 75.9 50 75.9z" + }, { + "d": "M47.7 67.1c-.4 0-.7-.2-1-.4l-5-5c-.2-.2-.2-.6 0-.9l1.1-1.1c.2-.2.6-.2.9 0l4 4 8.5-8.5c.2-.2.6-.2.9 0l1.1 1.1c.2.2.2.6 0 .9l-9.6 9.6c-.2.1-.5.3-.9.3z" + }] + } + }, + shift_pattern: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M71.74 26h-5v-2a4 4 0 10-8 0v2h-18v-2a4 4 0 00-8 0v2h-5a6 6 0 00-6 6v2a2 2 0 002 2h52a2 2 0 002-2v-2a6 6 0 00-6-6zm4 16a2 2 0 012 2v30a6 6 0 01-6 6h-44a6 6 0 01-6-6V44a2 2 0 012-2h52zm-13.5 27.32H50.5a1.17 1.17 0 00-1.17 1.16v3.32A1.18 1.18 0 0050.5 75h11.74a1.17 1.17 0 001.16-1.2v-3.32a1.16 1.16 0 00-1.16-1.16zm0-13.49H36.66A1.17 1.17 0 0035.5 57v7.9a1.16 1.16 0 001.16 1.16h25.58a1.16 1.16 0 001.16-1.16V57a1.17 1.17 0 00-1.16-1.17zM48.4 47H36.66a1.16 1.16 0 00-1.16 1.16v3.32a1.17 1.17 0 001.16 1.16H48.4a1.18 1.18 0 001.17-1.16v-3.32A1.17 1.17 0 0048.4 47z" + } + }, + shift_pattern_entry: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M51.75 20a2 2 0 012 2v14A4.86 4.86 0 0059 41.25h14a2 2 0 012 2V74a6.08 6.08 0 01-6 6H31a6.08 6.08 0 01-6-6V26a6.08 6.08 0 016-6h20.75zm11 48.32H51a1.17 1.17 0 00-1.17 1.16v3.32A1.18 1.18 0 0051 74h11.74a1.17 1.17 0 001.16-1.2v-3.32a1.16 1.16 0 00-1.16-1.16zm0-13.49H37.16A1.17 1.17 0 0036 56v7.9a1.16 1.16 0 001.16 1.16h25.58a1.16 1.16 0 001.16-1.16V56a1.17 1.17 0 00-1.16-1.17zM48.9 46H37.16A1.16 1.16 0 0036 47.16v3.32a1.17 1.17 0 001.16 1.16H48.9a1.18 1.18 0 001.17-1.16v-3.32A1.17 1.17 0 0048.9 46zm11.35-26a1.74 1.74 0 011.13.38l13.24 13.24a1.74 1.74 0 01.38 1.13 1.5 1.5 0 01-1.38 1.5H63A4.38 4.38 0 0158.75 32V21.38a1.5 1.5 0 011.5-1.38z" + } + }, + shift_preference: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M72 26h-5v-2a4 4 0 00-8 0v2H41v-2a4 4 0 00-8 0v2h-5a6 6 0 00-6 6v2a2 2 0 002 2h52a2 2 0 002-2v-2a6 6 0 00-6-6zm4 16H24a2 2 0 00-2 2v30a6 6 0 006 6h44a6 6 0 006-6V44a2 2 0 00-2-2zM50 75.9A14.9 14.9 0 1164.9 61 14.94 14.94 0 0150 75.9zm-6.8-8.7a1.71 1.71 0 01-1.9 1.6h-1.2a.67.67 0 01-.7-.6V59c0-.4.3-.6.7-.6h2.4a.67.67 0 01.7.6zm17.2-1.8c0 3.5-3.3 3.8-6.9 3.8-3.3 0-4.5-1.1-7.7-1.2a.65.65 0 01-.6-.6v-8c0-.4.3-.6.7-.6a4.18 4.18 0 004-4.2v-2.4c0-.4.3-.6.7-.6h1.2a1.71 1.71 0 011.9 1.6v4.1a1.71 1.71 0 001.9 1.6h2.8a1.78 1.78 0 011.9 1.6z" + } + }, + shift_scheduling_operation: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M76 42a2 2 0 012 2v30a6 6 0 01-6 6H28a6 6 0 01-6-6V44a2 2 0 012-2zm-26 4a15 15 0 1015 15 15 15 0 00-15-15zm2.87 7.17l5.38 5.25a.75.75 0 010 .9l-5.38 5.19c-.38.39-.9.06-.9-.59v-3.11a6.17 6.17 0 00-6.48 5.86 5.3 5.3 0 000 .69H41.6a10.28 10.28 0 0110.13-10.43H52v-3.18c0-.65.55-.97.87-.58zM63 20a4 4 0 014 4v2h5a6 6 0 016 6v2a2 2 0 01-2 2H24a2 2 0 01-2-2v-2a6 6 0 016-6h5v-2a4 4 0 018 0v2h18v-2a4 4 0 014-4z" + } + }, + shift_template: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M72 26h-5v-2a4 4 0 00-8 0v2H41v-2a4 4 0 00-8 0v2h-5a6 6 0 00-6 6v2a2 2 0 002 2h52a2 2 0 002-2v-2a6 6 0 00-6-6zm4 16H24a2 2 0 00-2 2v30a6 6 0 006 6h44a6 6 0 006-6V44a2 2 0 00-2-2zM45.3 74.1a1.09 1.09 0 01-1.1 1H37a1.09 1.09 0 01-1-1.1V59.9a1.09 1.09 0 011.1-1h7.3a1.09 1.09 0 011 1.1l-.1 14.1zm19.9.2a1.09 1.09 0 01-1.1 1H50.7a1.09 1.09 0 01-1-1.1V59.9a1.09 1.09 0 011.1-1h13.5a1.09 1.09 0 011 1.1l-.1 14.3zm.2-20.6a1.09 1.09 0 01-1.1 1H37a1.09 1.09 0 01-1-1.1v-6.3a1.09 1.09 0 011.1-1h27.2a1.09 1.09 0 011 1.1c.1 0 .1 6.3.1 6.3z" + } + }, + shift_type: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "path": { + "d": "M72 26h-5v-2c0-2.2-1.8-4-4-4s-4 1.8-4 4v2H41v-2c0-2.2-1.8-4-4-4s-4 1.8-4 4v2h-5c-3.3 0-6 2.7-6 6v2c0 1.1.9 2 2 2h52c1.1 0 2-.9 2-2v-2c0-3.3-2.7-6-6-6zM76 42H24c-1.1 0-2 .9-2 2v30c0 3.3 2.7 6 6 6h44c3.3 0 6-2.7 6-6V44c0-1.1-.9-2-2-2zM42.3 59.9c0-.6.5-1.1 1.1-1.1h19.4c.6 0 1.1.5 1.1 1.1v2.2c0 .6-.5 1.1-1.1 1.1H43.4c-.6 0-1.1-.5-1.1-1.1v-2.2zM37.8 72c.1.6-.4 1.1-1 1.1H34.5c-.6 0-1.1-.5-1.1-1.1v-2.2c0-.6.5-1.1 1.1-1.1h2.2c.6 0 1.1.5 1.1 1.1V72zm0-9.9c.1.6-.4 1.1-1 1.1H34.5c-.6 0-1.1-.5-1.1-1.1v-2.2c0-.6.5-1.1 1.1-1.1h2.2c.6 0 1.1.5 1.1 1.1v2.2zm0-9.9c.1.6-.4 1.1-1 1.1H34.5c-.6 0-1.1-.5-1.1-1.1V50c0-.6.5-1.1 1.1-1.1h2.2c.6 0 1.1.5 1.1 1.1v2.2zM66.6 72c0 .6-.5 1.1-1.1 1.1H43.4c-.6 0-1.1-.5-1.1-1.1v-2.2c0-.6.5-1.1 1.1-1.1h22.1c.6 0 1.1.5 1.1 1.1V72zm0-19.8c0 .6-.5 1.1-1.1 1.1H43.4c-.6 0-1.1-.5-1.1-1.1V50c0-.6.5-1.1 1.1-1.1h22.1c.6 0 1.1.5 1.1 1.1v2.2z" + } + } + }, + shipment: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M53 53.6V78c0 .6.4 1 1 1 .2 0 .4 0 .5-.1 4.8-2.7 19.4-11 19.4-11 1.9-1.1 3.1-3.1 3.1-5.3V40.7c0-.6-.4-1-1-1-.2 0-.4 0-.5.1L54 51.9c-.6.3-1 1-1 1.7zm-2-6.8l21.6-12.1c.5-.3.6-.9.3-1.4l-.3-.3c-4.8-2.7-19.5-11.1-19.5-11.1-1.9-1.1-4.3-1.1-6.2 0 0 0-14.7 8.3-19.5 11.1-.5.3-.6.9-.3 1.4l.3.3L49 46.8c.6.3 1.4.3 2 0zm-5 5.1L24.5 39.8c-.5-.3-1.1-.1-1.4.4-.1.1-.1.3-.1.5v21.8c0 2.2 1.2 4.2 3.1 5.3 0 0 14.6 8.3 19.4 11 .5.3 1.1.1 1.4-.4.1-.2.1-.4.1-.5V53.6c0-.7-.4-1.4-1-1.7z" + } + }, + skill: { + "xmlns": "http://www.w3.org/2000/svg", + "path": [{ + "d": "M43.84 46.76a5.35 5.35 0 115.46-5.34 5.41 5.41 0 01-5.46 5.34z", + "fill-rule": "evenodd" + }, { + "d": "M77.33 55.7l-7.27-10.8V44a24 24 0 00-23.87-24 22 22 0 00-5.67.7A23.89 23.89 0 0022.31 44a21.92 21.92 0 003.58 12.7c4.18 6 7 10.8 5.27 17.3a4.58 4.58 0 00.9 4.2 4.43 4.43 0 003.68 1.8h19.6A4.72 4.72 0 0060 76.2a5 5 0 00.2-1.2 2.37 2.37 0 012.39-2H64a4.72 4.72 0 004.68-3.4 41.31 41.31 0 001.48-9.6h5.17a2.78 2.78 0 002.19-1.6 2.86 2.86 0 00-.19-2.7zm-19.84-8.37l-1 1.57a2.22 2.22 0 01-1.76.94 2.38 2.38 0 01-.72-.16l-2.65-1a11.64 11.64 0 01-3.85 2.2l-.48 2.91a2 2 0 01-2 1.65h-2a2 2 0 01-2-1.65l-.48-2.91a10 10 0 01-3.69-2l-2.81 1a2.38 2.38 0 01-.72.16 2.1 2.1 0 01-1.76-1l-1-1.65a1.94 1.94 0 01.48-2.51l2.33-1.89a10.11 10.11 0 01-.24-2.12 9.41 9.41 0 01.24-2l-2.28-1.99a1.92 1.92 0 01-.48-2.51l1-1.65a2 2 0 011.76-1 2.38 2.38 0 01.72.16l2.81 1a11.52 11.52 0 013.69-2.12L41 28a1.91 1.91 0 012-1.57h2a1.92 1.92 0 012 1.49l.48 2.83a11.31 11.31 0 013.69 2l2.81-1a2.38 2.38 0 01.72-.16 2.1 2.1 0 011.76 1l1 1.65A2 2 0 0157 36.8l-2.33 1.89a9.56 9.56 0 01.24 2.12 9.41 9.41 0 01-.24 2L57 44.74a2 2 0 01.49 2.59z", + "fill-rule": "evenodd" + }] + }, + skill_entity: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M77.3 55.7L70 44.9V44c0-13.2-10.8-24-24-24-1.9 0-3.8.2-5.7.7C29.7 23.1 22 32.9 22 44c0 4.9 1.2 9.3 3.6 12.7 4.2 6 7 10.8 5.3 17.3-.4 1.5-.1 3 .9 4.2.9 1.2 2.2 1.8 3.7 1.8h19.7c2.3 0 4.3-1.6 4.7-3.8.1-.4.2-.8.2-1.2.2-1.2 1.2-2 2.4-2h1.4c2.2 0 4.1-1.3 4.7-3.4.6-2.3 1.4-5.6 1.5-9.6h5.2c.9 0 1.8-.8 2.2-1.6.4-.8.3-2.1-.2-2.7zM61.4 42c-.8 1.3-2.4 2-4.7 2-12.3 0-13.2 9-13.2 13.3 0 2-1.6 3.7-3.6 3.7h-.3c-1.7 0-3.1-1.2-3.5-2.9-.4-1.8-1.6-2.8-2.8-3.7-.8-.6-1.6-1.2-2-2.1-1.1-2.3-2.2-5-2.2-8.4 0-7.8 5.4-14.6 12.7-16.3 1.4-.3 2.7-.5 4.1-.5 6.8 0 12.9 4.1 15.5 10.3.1.3 1.2 2.7 0 4.6z" + } + }, + skill_requirement: { + "xmlns": "http://www.w3.org/2000/svg", + "path": [{ + "d": "M50.08 57.86a6.77 6.77 0 116.63-6.77 6.71 6.71 0 01-6.63 6.77z", + "fill-rule": "evenodd" + }, { + "d": "M80.79 46.64h-5.57V26.7a6.8 6.8 0 00-6.69-6.7H31.47a6.8 6.8 0 00-6.69 6.71v19.93h-5.57a3.36 3.36 0 000 6.71h5.57V73.3a6.8 6.8 0 006.69 6.7h37.06a6.8 6.8 0 006.69-6.71V53.36h5.57a3.36 3.36 0 000-6.71zm-14.07 12.8l-1.17 2a2.67 2.67 0 01-2.15 1.19 2.8 2.8 0 01-.88-.2l-3.22-1.29a14 14 0 01-4.68 2.79L54 67.6a2.52 2.52 0 01-2.44 2.09h-2.4a2.52 2.52 0 01-2.44-2.09l-.59-3.68a12.07 12.07 0 01-4.49-2.59l-3.41 1.29a2.8 2.8 0 01-.88.2 2.53 2.53 0 01-2.15-1.29L34 59.44a2.52 2.52 0 01.59-3.19l2.83-2.39a13.32 13.32 0 01-.29-2.69 12.39 12.39 0 01.29-2.59l-2.79-2.38A2.5 2.5 0 0134 43l1.17-2.09a2.42 2.42 0 012.15-1.29 2.8 2.8 0 01.88.2l3.41 1.29a13.88 13.88 0 014.49-2.69l.62-3.42a2.34 2.34 0 012.44-2h2.44a2.35 2.35 0 012.4 1.85l.59 3.58A13.6 13.6 0 0159.11 41l3.41-1.29a2.8 2.8 0 01.88-.2 2.53 2.53 0 012.15 1.29l1.17 2.09a2.65 2.65 0 01-.59 3.19l-2.83 2.39a12.59 12.59 0 01.29 2.69 12.39 12.39 0 01-.29 2.59l2.83 2.39a2.63 2.63 0 01.59 3.3z", + "fill-rule": "evenodd" + }] + }, + slider: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M71.25 46.38h6.25a2.5 2.5 0 012.5 2.5v2.5a2.51 2.51 0 01-2.5 2.5h-6.25a1 1 0 01-1-1.26 10 10 0 00.37-2.5 11.87 11.87 0 00-.37-2.62c-.13-.75.37-1.25 1-1.12zM31 68.75h-8.5a2.51 2.51 0 00-2.5 2.5v2.5a2.51 2.51 0 002.5 2.5H31a7.5 7.5 0 100-7.5zM50.25 70a11.87 11.87 0 01.37 2.62 10 10 0 01-.37 2.5 1 1 0 001 1.26H77.5a2.51 2.51 0 002.5-2.5v-2.5a2.5 2.5 0 00-2.5-2.5H51.25c-.75-.13-1.13.37-1 1.12zm5-45a11.87 11.87 0 01.37 2.62 10 10 0 01-.37 2.5 1 1 0 001 1.26H77.5a2.51 2.51 0 002.5-2.5v-2.5a2.5 2.5 0 00-2.5-2.5H56.25c-.63-.13-1.13.37-1 1.12zM36 23.75H22.5a2.51 2.51 0 00-2.5 2.5v2.5a2.51 2.51 0 002.5 2.5H36a7.5 7.5 0 100-7.5zm15 22.5H22.5a2.51 2.51 0 00-2.5 2.5v2.5a2.51 2.51 0 002.5 2.5H51a7.5 7.5 0 100-7.5z" + } + }, + sms: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M49.1 21.5c-16.9 0-30.3 12.4-30.3 27.8 0 4.8 1.4 9.4 3.7 13.5.4.6.5 1.4.3 2.2l-3.9 10.8c-.4 1 .6 1.9 1.7 1.7l10.9-4.2c.6-.3 1.4-.1 2.2.3 4.6 2.5 10 4.1 15.9 4.1 16.4-.3 30-12.8 30-28.1-.1-15.7-13.7-28.1-30.5-28.1zM36.9 54c-.4.6-.8 1.3-1.3 1.7-.5.4-1.1.8-1.9 1-.6.3-1.4.3-2.2.3-1 0-1.9-.1-2.8-.5-.9-.4-1.8-.9-2.4-1.7l-.3-.3c-.1-.1 0-.4.3-.6l2-1.9c.3-.3.5-.3.6-.1.1.1.3.4.3.4.3.4.6.6 1 .9.6.4 1.3.4 2 .3.3 0 .4-.1.6-.3l.4-.4c.1-.1.1-.4.1-.5 0-.5-.1-.6-.3-.8-.3-.3-.6-.5-1.1-.6-.5-.1-1-.4-1.7-.5-.6-.3-1.3-.5-1.8-.8-.6-.4-1-.9-1.4-1.4-.4-.6-.6-1.4-.6-2.4 0-.9.1-1.7.5-2.3s.8-1.1 1.4-1.5c.5-.4 1.1-.8 1.9-.9 1.5-.4 3-.4 4.6.1.8.3 1.5.8 1.9 1l.4.3c.3.1.1.5-.1.8l-1.9 1.9c-.3.3-.6.3-.9 0-.3-.1-.4-.4-.5-.4-.6-.4-1.5-.5-2.3-.4-.3 0-.4.1-.5.3l-.2.3c-.1.1-.1.3-.1.5 0 .4.1.5.3.6.3.3.6.4 1.1.6.5.1 1 .4 1.7.5.6.3 1.3.5 1.8.8.6.4 1 .9 1.4 1.4.4.6.6 1.4.6 2.4-.1.8-.2 1.6-.6 2.2zM58 55.8c0 .8-.6 1.3-1.4 1.3h-1.3c-.8 0-1.1-.5-1.1-1.3v-7.5c0-.8-1-.9-1.3-.3l-2.2 5.7c-.1.5-.6.8-1.1.8h-.9c-.5 0-1-.4-1.1-.8L45.3 48c-.3-.6-1.3-.5-1.3.3v7.5c0 .8-.6 1.3-1.4 1.3h-1.3c-.8 0-1.1-.5-1.1-1.3v-14c0-.8.5-1.3 1.1-1.3h3.3c.5 0 1 .4 1.1.8l2.5 6.6c.3.5 1 .5 1.1 0l2.5-6.6c.1-.5.6-.8 1.1-.8h3.4c.8 0 1.4.5 1.4 1.3.3 0 .3 14 .3 14zm13.3-1.7c-.4.6-.8 1.3-1.4 1.7-.5.4-1.1.8-1.9 1-.8.3-1.4.3-2.2.3-1 0-1.9-.1-2.8-.5s-1.8-.9-2.4-1.7l-.3-.3c-.1-.1 0-.4.3-.6l2-1.9c.3-.3.5-.3.6-.1s.3.4.3.4c.3.4.6.6 1 .9.6.4 1.4.4 2 .3.3-.1.5-.1.6-.3l.4-.4s.1-.4.1-.5c0-.5-.1-.6-.3-.8-.3-.3-.6-.5-1.1-.6-.5-.1-1-.4-1.7-.5-.6-.3-1.3-.5-1.8-.8-.6-.4-1.1-.9-1.5-1.4-.4-.6-.6-1.4-.6-2.4 0-.9.1-1.7.5-2.3.4-.6.8-1.1 1.4-1.5.5-.4 1.3-.8 1.9-.9 1.5-.4 3-.4 4.6.1.8.3 1.5.8 1.9 1.1l.4.4c.3.1.1.5-.1.8l-1.9 1.9c-.3.3-.6.3-.9 0-.3-.1-.4-.4-.5-.4-.6-.4-1.5-.5-2.3-.4-.3 0-.4.1-.5.3l-.4.4c-.1.1-.1.4-.1.5 0 .4.1.5.3.6.3.3.6.4 1.1.6.5.1 1 .4 1.7.5.6.3 1.3.5 1.8.8.6.4 1 .9 1.5 1.4.4.6.6 1.4.6 2.4.3.4.1 1.3-.3 1.9z" + } + }, + snippet: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M74.1 23.9c-12.1 0-21.3 9.4-21.3 21.4v28.8c0 1.1.9 2 2 2h22.8c1.1 0 2-.9 2-2V51.3c0-1.1-.9-2-2-2H60.8v-4c0-6.7 6.6-13.4 13.3-13.4h3.5c1.1 0 2-.9 2-2v-4c0-1.1-.9-2-2-2h-3.5zm-33.3 0c-12.1 0-21.3 9.4-21.3 21.4v28.8c0 1.1.9 2 2 2h22.8c1.1 0 2-.9 2-2V51.3c0-1.1-.9-2-2-2H27.6v-4c0-6.7 6.6-13.4 13.3-13.4h3.5c1.1 0 2-.9 2-2v-4c0-1.1-.9-2-2-2h-3.6z" + } + }, + snippets: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "path": [{ + "d": "M71.8 25.2h-2c-.6 0-1 .4-1 1v4c0 4.4-3.6 7.9-7.9 7.9H39.1c-4.4 0-7.9-3.6-7.9-7.9v-4c0-.6-.4-1-1-1h-2c-3.3 0-5.9 2.7-5.9 5.9v42.6c0 3.3 2.7 5.9 5.9 5.9h43.6c3.3 0 5.9-2.7 5.9-5.9V31.2c.1-3.3-2.6-6-5.9-6zM44.3 48s0 .8-.6.9c-.8.2-1.1.4-1.2.4-.3.3-.4.8-.4 1.7v3.1c0 1.1-.2 2-.5 2.7-.2.5-.6 1-1 1.4 0 0-.7.5 0 1.3.3.2.5.5.7.8.5.8.8 1.8.8 3.1V67c0 .8.2 1.3.5 1.6.1.1.3.2.6.3.1 0 .2.1.3.1.3.2.7.5.7 1.2v2c0 .2-.2.5-.8.5h-.9c-1.4 0-2.7-.5-3.8-1.3-1.2-.9-1.8-2.2-1.8-3.8v-4.3c0-.9-.3-1.6-.8-2.1-.3-.3-.8-.5-1.5-.7-.1 0-.5-.2-.5-.8v-1.6c0-.2.1-.5.5-.7 1-.3 1.4-.6 1.6-.8.5-.5.7-1.3.7-2.3v-3.6c0-.5.1-1.1.3-1.7.3-1 .9-1.9 1.6-2.5.7-.5 1.5-.9 2.4-1.1.5-.1 1.2-.2 2.1-.2.3 0 .9.2.9.9V48h.1zm21.5 11.9c0 .2-.1.5-.5.7-1 .3-1.4.6-1.6.8-.5.5-.7 1.3-.7 2.3v3.6c0 .5-.1 1.1-.3 1.7-.3 1-.9 1.9-1.6 2.5-.7.5-1.5.9-2.4 1.1-.5.1-1.2.2-2.1.2-.3 0-.9-.2-.9-.9V70s0-.8.6-.9c.8-.2 1.1-.4 1.2-.4.3-.3.4-.8.4-1.7v-3.1c0-1.1.2-2 .5-2.7.2-.5.6-1 1-1.4 0 0 .7-.5 0-1.3-.3-.2-.5-.5-.7-.8-.5-.8-.8-1.8-.8-3.1v-3.4c0-.8-.2-1.3-.5-1.6-.1-.1-.3-.2-.6-.3-.1 0-.2-.1-.3-.1-.3-.2-.7-.5-.7-1.2v-2.2c0-.2.2-.5.8-.5h.9c1.4 0 2.7.5 3.8 1.3 1.2.9 1.8 2.2 1.8 3.8v4.3c0 .9.3 1.6.8 2.1.3.3.8.5 1.5.7.1 0 .5.2.5.8v1.6h-.1z" + }, { + "d": "M39.1 32.2h21.8c1.1 0 2-.9 2-2v-4c0-3.3-2.7-5.9-5.9-5.9H43.1c-3.3 0-5.9 2.7-5.9 5.9v4c-.1 1.1.8 2 1.9 2z" + }] + } + }, + sobject: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M25.1 22.6h5.1c-6 13.4-6 23.4 0 36.8h-5.1c-6.9-15.4-6.9-21.4 0-36.8zM47.1 45.5c.5 2.3.8 4.1 1.1 4.9.4 1.1 1 2 1.8 2.7 1.9-1.5 4.3-2.3 6.8-2.3 1.6 0 3.1.4 4.6 1 .2-.3.3-.7.3-1.1 0-1.2-1-2.2-2.2-2.2-.4 0-.7.1-1 .2 0 0-2.4 1.4-3.2.3-.6-1.1-1.1-2.6-1.5-4.5-.3-1.6-.8-3.6-1.1-5.4l2.4-3.5s2.7 1 4.1 1 4.2-1.1 4.2-4.8c0-3.7-2.7-3.9-3.5-3.9-1.6 0-3.2 1.2-4.6 3.6-1.4 2.5-3 5.2-3 5.2h-.1c-.4-1.8-.6-3.2-.8-3.8-.3-1.5-2.1-4.8-5.7-4.8-3.7 0-7 2.1-7 2.1-.6.4-1 1.1-1 1.9 0 1.2 1 2.2 2.2 2.2.4 0 .7-.1 1-.2 0 0 2.8-1.6 3.4 0 .2.5.3 1 .5 1.5.7 2.4 1.4 5.2 1.9 7.8l-2.4 3.5s-2.7-1-4.1-1c-1.4 0-4.2 1.1-4.2 4.8 0 3.7 2.7 3.9 3.5 3.9 1.6 0 3.2-1.2 4.6-3.6 1.4-2.8 3-5.5 3-5.5zM72 53.5c.1.1.1.1.2.1.4 0 .7-.1 1.1-.1 1.3 0 2.5.2 3.6.6 4.6-11.8 3.9-18.1-2.2-31.6h-5.1c5.2 11.5 5.9 20.4 2.4 31zM61.7 58.1c1-1 2.4-1.7 4-1.7 2.1 0 3.9 1.1 4.9 2.8.8-.3 1.8-.6 2.8-.6 3.7 0 6.8 3.1 6.8 6.7 0 3.7-3.1 6.7-6.8 6.7-.4 0-.9 0-1.3-.1-.8 1.5-2.5 2.5-4.3 2.5-.8 0-1.5-.2-2.2-.5-.9 2-2.9 3.4-5.2 3.4-2.5 0-4.5-1.5-5.3-3.6-.3 0-.7.1-1.1.1-2.9 0-5.3-2.3-5.3-5.2 0-1.9 1-3.6 2.6-4.5-.3-.7-.5-1.5-.5-2.4 0-3.3 2.8-6 6.1-6 1.9 0 3.7.9 4.8 2.4z" + } + }, + sobject_collection: { + "xmlns": "http://www.w3.org/2000/svg", + "path": [{ + "d": "M34.6 36.5c-4.3 9.5-4.3 13.3 0 22.9h3.2C34 51 34 44.8 37.7 36.5h-3.1zM64.1 54.6c.6-.1 1.3-.2 1.9-.2.5 0 .9 0 1.4.1 2.2-6.4 1.6-10.3-1.9-18.1h-3.2c3 6.7 3.6 12.1 1.8 18.2z" + }, { + "d": "M45.6 66h-18c-1.4 0-2.5-1.1-2.5-2.5V30.2h49.8v26.5c1.9.2 3.6.9 5.1 1.8V25.1c0-2.8-2.3-5.1-5.1-5.1H25.1c-2.8 0-5.1 2.3-5.1 5.1V66c0 2.8 2.3 5.1 5.1 5.1h18.8c.1-1.9.7-3.6 1.7-5.1z" + }, { + "d": "M62 61.1c1-1 2.4-1.7 4-1.7 2.1 0 3.9 1.1 4.9 2.8.8-.3 1.8-.6 2.8-.6 3.7 0 6.8 3.1 6.8 6.7 0 3.7-3.1 6.7-6.8 6.7-.4 0-.9 0-1.3-.1-.8 1.5-2.5 2.5-4.3 2.5-.8 0-1.5-.2-2.2-.5-.9 2-2.9 3.4-5.2 3.4-2.5 0-4.5-1.5-5.3-3.6-.3 0-.7.1-1.1.1-2.9 0-5.3-2.3-5.3-5.2 0-1.9 1-3.6 2.6-4.5-.3-.7-.5-1.5-.5-2.4 0-3.3 2.8-6 6.1-6 2 .1 3.7 1 4.8 2.4zM46.5 53.9c.9-1.5 1.9-3.2 1.9-3.2.3 1.4.5 2.5.7 3 .3.9.9 1.6 1.7 2.1 1.8-1.3 4-2 6.4-2h.3c0-.8-.6-1.4-1.4-1.4-.2 0-.4.1-.6.1 0 0-1.5.8-2 .2-.4-.7-.7-1.6-.9-2.8-.2-1-.5-2.2-.7-3.4l1.5-2.2s1.7.6 2.5.6 2.6-.7 2.6-3-1.6-2.4-2.1-2.4c-1 0-2 .7-2.9 2.2-.9 1.5-1.9 3.2-1.9 3.2-.2-1.1-.4-2-.5-2.4-.2-.9-1.3-3-3.5-3-2.3 0-4.3 1.3-4.3 1.3-.4.2-.6.7-.6 1.2 0 .8.6 1.4 1.4 1.4.2 0 .4-.1.6-.1 0 0 1.7-1 2.1 0 .1.3.2.6.3 1 .4 1.5.8 3.2 1.2 4.8l-1.5 2.1s-1.7-.6-2.5-.6-2.6.7-2.6 3 1.6 2.4 2.1 2.4c.9.2 1.9-.6 2.7-2.1z" + }] + }, + social: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M70 57c-4.8 0-8.9 3.4-9.8 8H47c-.6 0-1 .5-1 1.1v.9c0 1-.1 1.9-.3 2.8-.1.6.4 1.2 1 1.2h14.1c1.5 3.5 5.1 6 9.2 6 5.5 0 10-4.5 10-10s-4.5-10-10-10zM43.3 45.5c-1.2-.5-2.3-1.2-3.3-2-.5-.4-1.2-.2-1.5.3l-7.1 13.3c-.4-.1-.9-.1-1.4-.1-5.5 0-10 4.5-10 10s4.5 10 10 10 10-4.5 10-10c0-2.9-1.2-5.4-3.1-7.3l6.9-12.8c.2-.5 0-1.1-.5-1.4zM50 41c1 0 1.9-.1 2.8-.4l6.9 12.7c.3.5.9.7 1.4.4 1.1-.7 2.2-1.3 3.4-1.7.6-.2.8-.9.5-1.4l-7.2-13.4c1.3-1.7 2.2-3.9 2.2-6.2 0-5.5-4.5-10-10-10s-10 4.5-10 10 4.5 10 10 10z" + } + }, + solution: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M47.6 20.1c-9.8 1.1-17.7 8.8-18.5 18.4-.6 7 2.5 13.4 7.5 17.5 1.5 1.2 2.4 3 2.4 4.9v.1c0 2.8 2.3 5.1 5.2 5.1h11.6c2.9 0 5.2-2.3 5.2-5.1v-.1c0-1.9.9-3.7 2.4-4.9C68 52.2 71 46.6 71 40.3c0-12-10.7-21.5-23.4-20.2zM59 72H41c-1.1 0-2 .9-2 2 0 3.3 2.7 6 6 6h10c3.3 0 6-2.7 6-6 0-1.1-.9-2-2-2z" + } + }, + sort: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M50.9 37.7c.7-.7.7-1.9 0-2.6L36.6 20.7c-.7-.7-1.9-.7-2.6 0L19.7 35.1c-.7.7-.7 1.9 0 2.6l2.6 2.6c.7.7 1.9.7 2.6 0l4.5-4.5c.7-.7 2.1-.2 2.1.9v26.4c0 1 .9 1.9 1.9 1.9h3.7c1 0 1.9-1 1.9-1.9V36.7c0-1.1 1.4-1.6 2.1-.9l4.5 4.5c.7.7 1.9.7 2.6 0l2.7-2.6zm27.4 24.9l-2.6-2.5c-.7-.7-1.9-.7-2.6 0l-4.5 4.5c-.7.7-2.1.2-2.1-.9V37.1c0-1-.9-1.9-1.9-1.9h-3.7c-1 0-1.9 1-1.9 1.9v26.4c0 1.1-1.4 1.6-2.1.9l-4.5-4.5c-.7-.7-1.9-.7-2.6 0l-2.6 2.7c-.7.7-.7 1.9 0 2.6l14.3 14.3c.7.7 1.9.7 2.6 0l14.3-14.3c.7-.7.7-2-.1-2.6z" + } + }, + sort_policy: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M35.05 20H26a6 6 0 00-6 6v7a6 6 0 006 6h9a6 6 0 006-6v-7a6 6 0 00-5.95-6zm-3.51 13h-2a3.5 3.5 0 010-7h2a3.5 3.5 0 010 7zM53.15 39h9a6 6 0 006-6v-7a6 6 0 00-6-6h-9a6 6 0 00-6 6v7a6 6 0 006 6zm3.48-13h2a3.5 3.5 0 010 7h-2a3.5 3.5 0 110-7zM35.05 45H26a6 6 0 00-6 6v7a6 6 0 006 6h9a6 6 0 006-6v-7a6 6 0 00-5.95-6zm-3.51 13h-2a3.5 3.5 0 110-7h2a3.5 3.5 0 010 7zM79.68 70.59l-1.47-1.39a1 1 0 00-1.41-.06l-.06.06-2.45 2.4a.68.68 0 01-1 0 .63.63 0 01-.2-.48V60a1.08 1.08 0 00-1-1H70a1.11 1.11 0 00-1 1v11.13a.67.67 0 01-.67.67.66.66 0 01-.48-.2l-2.46-2.4a1 1 0 00-1.39-.06v.06l-1.46 1.41a1 1 0 000 1.41l7.85 7.66a1 1 0 001.41.06l.06-.06L79.68 72a1 1 0 000-1.41zM63.06 55.86l.06-.06 1.46-1.41a1 1 0 000-1.41l-7.85-7.67a1 1 0 00-1.41-.06l-.06.06L47.41 53a1 1 0 000 1.41l1.46 1.41a1 1 0 001.41.06l.06-.06 2.46-2.4a.68.68 0 011.15.47V65a1.08 1.08 0 001 1H57a1.13 1.13 0 001-1V53.87a.67.67 0 011.15-.47l2.46 2.4a1 1 0 001.45.06z" + } + }, + sossession: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M49.6 18c-17.7.2-31.8 14.8-31.6 32.4.2 17.7 14.8 31.8 32.4 31.6 17.7-.2 31.8-14.8 31.6-32.4-.2-17.7-14.8-31.8-32.4-31.6zm0 4.2c4.8-.1 9.3 1.1 13.2 3.1l-4.3 7.2c-2.6-1.3-5.5-2-8.5-2s-6 .7-8.5 2l-4.3-7.2c3.7-1.9 7.9-3.1 12.4-3.1zM32.5 58.5l-7.2 4.3c-1.9-3.7-3.1-8-3.1-12.5-.1-4.8 1.1-9.3 3.1-13.2l7.2 4.3c-1.3 2.6-2 5.5-2 8.5s.7 6.1 2 8.6zm17.9 19.3c-4.8.1-9.3-1.1-13.2-3.1l4.3-7.2c2.6 1.3 5.5 2 8.5 2s6-.7 8.5-2l4.3 7.2c-3.7 1.9-7.9 3.1-12.4 3.1zM50 65.3c-8.5 0-15.3-6.9-15.3-15.3 0-8.5 6.9-15.3 15.3-15.3 8.5 0 15.3 6.9 15.3 15.3 0 8.5-6.8 15.3-15.3 15.3zm17.5-6.8c1.3-2.6 2-5.5 2-8.5s-.7-6-2-8.5l7.2-4.3c1.9 3.7 3.1 8 3.1 12.5.1 4.8-1.1 9.3-3.1 13.2l-7.2-4.4z" + } + }, + stage: { + "xmlns": "http://www.w3.org/2000/svg", + "circle": [{ + "cx": "75.9", + "cy": "50", + "r": "4.2" + }, { + "cx": "49.8", + "cy": "50", + "r": "4.2" + }, { + "cx": "24.1", + "cy": "50", + "r": "4.2" + }], + "path": { + "d": "M31.9 50c0 9.9 8.1 18 18 18s18-8.1 18-18-8.1-18-18-18-18 8.1-18 18zm30 0c0 6.6-5.4 12-12 12s-12-5.4-12-12 5.4-12 12-12 12 5.4 12 12z" + } + }, + stage_collection: { + "xmlns": "http://www.w3.org/2000/svg", + "circle": { + "cx": "49.8", + "cy": "50", + "r": "4.2" + }, + "path": { + "d": "M75.9 45.8c-1.5 0-2.9.8-3.6 2.1h-4.5c-1.1-9-8.7-15.9-17.9-15.9S33.1 38.9 32 47.8h-4.3c-.7-1.2-2.1-2.1-3.6-2.1-2.3 0-4.2 1.9-4.2 4.2s1.9 4.2 4.2 4.2c1.5 0 2.8-.8 3.6-1.9h4.4C33.2 61.1 40.8 68 49.9 68c9.1 0 16.7-6.9 17.8-15.7h4.5c.8 1.2 2.1 1.9 3.6 1.9 2.3 0 4.2-1.9 4.2-4.2s-1.8-4.2-4.1-4.2zM49.9 62c-6.6 0-12-5.4-12-12s5.4-12 12-12 12 5.4 12 12-5.4 12-12 12z" + } + }, + steps: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M73 80.3h-8.8v-6H73v6zm0-2.9v-.1.1zm-17.6 2.9h-8.8v-6h8.8v6zm-17.5 0h-8.8v-6h8.8v6zm-11.8-7.4h-6v-8.8h6v8.8zm53.8-2.1h-6V62h6v8.8zM26.1 55.4h-6v-8.8h6v8.8zm53.8-2.1h-6v-8.8h6v8.8zM26.1 37.9h-6v-8.8h6v8.8zm53.8-2.1h-6V27h6v8.8zm-9.1-10.1H62v-6h8.8v6zm-17.5 0h-8.8v-6h8.8v6zm-17.5 0h-8.7v-6h8.8v6z" + } + }, + store: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "path": { + "d": "M71.5 54.4h-.3c-2-.2-3.6-.8-5.2-1.9l-.2-.2c-.7-.6-1.4-.3-1.7-.1l-.1.1c-1.9 1.4-4 2.1-6.5 2.1-2.6 0-4.8-.8-6.8-2.3-.7-.5-1.2 0-1.2 0-2 1.6-4.3 2.4-6.9 2.4-2.5 0-4.7-.7-6.6-2.2-.1-.1-.2-.1-.3-.2-.6-.5-1.2 0-1.2 0-1.9 1.5-4 2.3-6.4 2.4 0 0-.8 0-.8.9V74c0 .4.2 1.3 1.4 1.5h23.2c1.2-.2 1.4-1.1 1.4-1.5v-3.6-9.6c.1-.4.3-.8 1.3-.8h11.1c.4.1.8.4.8 1.3v12.5c0 1.4 1 1.6 1.3 1.6h3.5c.3 0 1.3-.2 1.3-1.6V55.7c-.2-1-.7-1.2-1.1-1.3zm-25 14.4v.4c0 .5-.3 1.3-1.5 1.3H34.8c-1.1 0-1.4-.5-1.5-1V69v-7.1c0-1.8 1-1.9 1.4-1.9h10.6c.4 0 1.2.3 1.2 1.6v7.2zM70.4 49.4c2.7.7 5.1.2 7.1-1.7 1.3-1.2 2.1-2.7 2.3-4.4v-.2c-.2-.6-.5-1.3-.7-1.7-3-5.4-5.9-10.8-8.8-16.2-.4-.7-1.2-.7-1.5-.7h-38s-1.1 0-1.5.7c-3 5.4-5.9 10.9-8.8 16.2-.2.4-.5 1.1-.5 1.8v.2c.2 1.7 1 3.2 2.3 4.4 2.2 2 4.8 2.5 7.7 1.5 1.6-.6 2.8-1.6 3.8-3.1.1-.1.2-.3.4-.4.6-.4 1.4-.3 1.9.4.5.8 1.1 1.5 1.9 2 2.1 1.6 4.5 1.9 7 1.1 1.6-.5 2.9-1.6 3.8-3.1.5-.8 1.7-.9 2.3 0l.6.9c1.3 1.5 2.9 2.4 4.8 2.6 1.8.2 3.5-.2 5.1-1.3.9-.6 1.6-1.4 2.1-2.2.6-.8 1.7-.8 2.2 0 1 1.6 2.3 2.6 4.1 3.1l.4.1z" + } + } + }, + store_group: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M77.2 45.2H60.1c-1.6 0-2.8 1.3-2.8 2.8 0 .5.4.9.9.9H79c.5 0 .9-.4.9-.9.1-1.5-1.2-2.8-2.7-2.8zm0 6.6h-17c-.5 0-.9.4-.9.9v19.9c0 .5.4.9.9.9h5.2c.5 0 .9-.4.9-.9v-3.8c0-.5.5-.9 1-.9H70c.5 0 1 .4 1 .9v3.8c0 .5.4.9.9.9h5.2c.5 0 .9-.4.9-.9V52.8c.1-.6-.3-1-.8-1zm-10 12.8c0 .5-.4.9-.9.9h-1.9c-.5 0-.9-.4-.9-.9v-1.9c0-.5.4-.9.9-.9h1.9c.5 0 .9.4.9.9v1.9zm0-6.6c0 .5-.4.9-.9.9h-1.9c-.5 0-.9-.4-.9-.9v-1.9c0-.5.4-.9.9-.9h1.9c.5 0 .9.4.9.9V58zm6.7 6.6c0 .5-.4.9-.9.9h-2c-.5 0-.9-.4-.9-.9v-1.9c0-.5.4-.9.9-.9h1.9c.5 0 .9.4.9.9v1.9zm0-6.6c0 .5-.4.9-.9.9h-2c-.5 0-.9-.4-.9-.9v-1.9c0-.5.4-.9.9-.9h1.9c.5 0 .9.4.9.9V58zM53.1 26.4H24.6C22 26.4 20 28.5 20 31v.1c0 .9.7 1.6 1.6 1.6h34.6c.9 0 1.6-.7 1.6-1.6V31c-.1-2.4-2.2-4.6-4.7-4.6zm-.1 11H24.7c-.9 0-1.6.7-1.6 1.6v33c0 .9.7 1.6 1.6 1.6h8.7c.9 0 1.5-.7 1.5-1.6v-6.3c0-.9.8-1.6 1.6-1.6h4.6c.9 0 1.6.7 1.6 1.6V72c0 .9.6 1.6 1.5 1.6H53c.9 0 1.6-.7 1.6-1.6V39c0-.9-.7-1.6-1.6-1.6zM36.5 58.6c0 .9-.7 1.6-1.6 1.6h-3.1c-.9 0-1.6-.7-1.6-1.6v-3.1c0-.9.7-1.6 1.6-1.6h3.1c.9 0 1.6.7 1.6 1.6v3.1zm0-11c0 .9-.7 1.6-1.6 1.6h-3.1c-.9 0-1.6-.7-1.6-1.6v-3.1c0-.9.7-1.6 1.6-1.6h3.1c.9 0 1.6.7 1.6 1.6v3.1zm11 11c0 .9-.7 1.6-1.6 1.6h-3.1c-.9 0-1.6-.7-1.6-1.6v-3.1c0-.9.7-1.6 1.6-1.6h3.1c.9 0 1.6.7 1.6 1.6v3.1zm0-11c0 .9-.7 1.6-1.6 1.6h-3.1c-.9 0-1.6-.7-1.6-1.6v-3.1c0-.9.7-1.6 1.6-1.6h3.1c.9 0 1.6.7 1.6 1.6v3.1z" + } + }, + story: { + "xmlns": "http://www.w3.org/2000/svg", + "path": [{ + "d": "M79.9 53.6c.3.4.1.9 0 1-1.6 1.7-2.9 2.8-3.9 3.6-1.6 1.3-4.5 3.2-5.1 3.5 2 1.3 3 2.4 3.1 3.7-2.1.8-3.8 1.3-4.8 1.8-1.5.6-2.5 1.3-4.4 2.4h-.1v-.5c0-3.3.4-4.7 0-7.4s-2.3-6.5-6-7.4c-3.6-.9-8.3 2.6-12.4.9s-5.9-1.2-7.6 1-1.7 3.5-1.7 5.3v7.4c-1.3-.9-3-1.7-5.3-2.4-2-.6-4.1-1-6.3-1.2-.5 0-.8-.4-.8-.9v-.3c.6-2.6 1.6-4.4 3-5.5 1.5-1.4 2.5-2.1 3.1-1.9-1.6-1.9-3-3.3-4.3-4-1.1-.6-3.1-1.2-6-1.7-.4-.1-.6-.5-.6-1v-.3c2.1-5.5 4.6-9 7.6-10.5 3.3-1.5 5.6-2.2 7.5-1.9-.6-1.5-1.1-2.6-1.4-3.3-.3-.5-.6-1.3-1.4-2.3-.3-.4-.3-1 .1-1.3.1 0 .3-.1.4-.1 1.3-.3 2.5-.1 3.9.3 1.8.5 3.4 1.7 4.9 3.5-.1-5.3-.6-9.7-1.8-13.2.2-2.9 12.6-.9 15.6 5.1 2.1 4 3.1 6.7 3.1 8.2 4.1-.9 7.4-.5 9.8 1s3.6 2.9 3.8 4.2c-1.9.4-3.1 1-3.8 1.9 2.3.9 6.3 3.3 7.6 5 1.5 1.9 2.9 4.2 4.2 7.3z" + }, { + "d": "M46.2 70.2c.9.3 1.4.5 1.9.5.8 0 1.8-.3 3.2-.8 1.8-.8 3.6-.4 4.7.8 1.3 1 1.8 3.4 1.3 4.9-.4.9-1 1.8-2 2.4-.1.1-.4.1-.5.1l-2.2-.4-4.2 1.8c-.1.1-.4.1-.5 0l-3.8-1.8-1.8.4c-.3 0-.5 0-.6-.3-.5-.6-.9-1-1-1.4-.3-.4-.7-1.3-.7-2.7s1.3-2.9 2.3-3.4c1-.4 2.8-.7 3.9-.1z" + }], + "circle": [{ + "cx": "55", + "cy": "64.6", + "r": "2.5" + }, { + "cx": "42.5", + "cy": "64.6", + "r": "2.5" + }] + }, + strategy: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M76.1 40.8H66c-2.2 0-4 1.8-4 4v2.5h-9.4V27.6c0-.6-.6-1.3-1.3-1.3H38v-2.4c0-2.2-1.8-4-4-4H23.9c-2.2 0-4 1.8-4 4V34c0 2.2 1.8 4 4 4H34c2.2 0 4-1.8 4-4v-2.4h9.3v15.7H38V45c0-2.2-1.8-4-4-4H23.9c-2.2 0-4 1.8-4 4v10c0 2.2 1.8 4 4 4H34c2.2 0 4-1.8 4-4v-2.4h9.3v15.7H38V66c0-2.2-1.8-4-4-4H23.9c-2.2 0-4 1.8-4 4v10.1c0 2.2 1.8 4 4 4H34c2.2 0 4-1.8 4-4v-2.4H51.3c.7 0 1.3-.7 1.3-1.3V52.7H62v2.2c0 2.2 1.8 4 4 4h10.1c2.2 0 4-1.8 4-4V44.8c0-2.2-1.8-4-4-4zM34 34H23.9V23.9H34V34zm0 2v-2 2zm0 19H23.9V45H34v10zm0 2v-2 2zm0 19.1H23.9V66H34v10.1zm0 2v-2 2zm42.1-23.2H66V44.8h10.1v10.1zm0 2v-2 2z" + } + }, + survey: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "path": { + "d": "M24 23h44c2.2 0 4 1.8 4 4v4c0 2.2-1.8 4-4 4H24c-2.2 0-4-1.8-4-4v-4c0-2.2 1.8-4 4-4zM24 41h25c2.2 0 4 1.8 4 4v4c0 2.2-1.8 4-4 4H24c-2.2 0-4-1.8-4-4v-4c0-2.2 1.8-4 4-4zM65.9 52c7.7 0 14 6.3 14 14s-6.3 14-14 14-14-6.3-14-14 6.3-14 14-14zm7.9 10.9c.3-.3.3-1 0-1.3l-1.4-1.3c-.4-.4-1-.4-1.4 0l-7.5 8.4-3.4-3.4c-.4-.4-1-.4-1.4 0l-1.4 1.3c-.4.3-.4.9 0 1.3l4.8 4.7c.4.4.9.6 1.4.6.6 0 1-.2 1.4-.6l8.9-9.7zM24 59h23.2c-.8 2.3-1.2 4.3-1.2 6-.1 2.1.1 4.1.6 6H24c-2.2 0-4-1.8-4-4v-4c0-2.2 1.8-4 4-4z" + } + } + }, + swarm_request: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "circle": [{ + "cx": "41.37", + "cy": "26.44", + "r": "6.32" + }, { + "cx": "58.63", + "cy": "26.43", + "r": "6.32" + }, { + "cx": "28.4", + "cy": "41.16", + "r": "8" + }, { + "cx": "71.81", + "cy": "41.16", + "r": "8" + }, { + "cx": "50.11", + "cy": "45.73", + "r": "8" + }], + "path": { + "d": "M59.14 80a4.18 4.18 0 003.2-1.37 4.57 4.57 0 001.37-3.2V65.15a6.88 6.88 0 00-6.86-6.86h-13.7a6.88 6.88 0 00-6.86 6.86v10.28A4.68 4.68 0 0040.86 80zM29.32 75.43V65.15a13.41 13.41 0 013.89-9.48 1.18 1.18 0 000-1.67 1.15 1.15 0 00-.77-.33h-11a6.88 6.88 0 00-6.86 6.86v10.33a4.68 4.68 0 004.57 4.57zM80.85 75.43a4.18 4.18 0 003.2-1.37 4.57 4.57 0 001.37-3.2V60.58a6.88 6.88 0 00-6.86-6.86h-11a1.14 1.14 0 00-.8 2 13.68 13.68 0 013.89 9.48v10.23z" + } + } + }, + swarm_session: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M41.7 30a.33.33 0 00-.1-.28c0 .1.1.2.1.28zM41.7 29.73c0 .09.09.19.09.28a5.44 5.44 0 00.48 1 8.72 8.72 0 0011.67 3.83 9 9 0 003.44-3.16 20.69 20.69 0 0113.4 15.5c.38 0 .76-.1 1.14-.1a16.11 16.11 0 014.79.77 26.15 26.15 0 00-18.08-21.76 8.28 8.28 0 00-.86-2.87 8.73 8.73 0 00-11.67-3.83 8.6 8.6 0 00-4.69 9.28c.1.39.19.77.29 1.06zM36.82 57.56A8.69 8.69 0 0030 52.87a10.46 10.46 0 01-.1-1.81 20.68 20.68 0 017.85-16.17c-.29-.38-.48-.86-.77-1.24a17.19 17.19 0 01-1.43-4.31A26.47 26.47 0 0024.1 51.06c0 1 .09 2.1.19 3.15a8.71 8.71 0 1012.53 3.35zM79.48 57.56A8.68 8.68 0 0064 65.4c.1.19.29.48.39.67a20.17 20.17 0 01-23.25 3.25 12.47 12.47 0 01-4.21 4.21 26.11 26.11 0 0013.57 3.73 26.38 26.38 0 0018.55-7.65 8.21 8.21 0 006.7-.48 8.54 8.54 0 003.73-11.57zM41.79 58.11a.39.39 0 00.48.48l3.25-1.34a.57.57 0 01.67.1 8.34 8.34 0 004.59 1.33c5.07 0 9.19-3.92 9.19-8.6s-4.12-8.61-9.19-8.61a8.93 8.93 0 00-9.08 8.61 8.53 8.53 0 001.15 4.11.84.84 0 01.09.67z", + "fill-rule": "evenodd" + } + }, + system_and_global_variable: { + "xmlns": "http://www.w3.org/2000/svg", + "path": [{ + "d": "M48.8 75.6c0-3.7 1.8-6.5 4.2-8.1v-3.7c-1.3-.9-2.3-2.2-2.7-3.7-.5-2.1.2-4.5 1.5-6.2.3-.4.7-.8 1.1-1.2.4-.4.9-.7 1.4-.9 2.6-1.4 5.6-2.4 8.6-2.4 2.7 0 5.1 1.1 6.8 2.7 2.4-2.4 4.9-2.9 6.4-2.9 1.4 0 2.7.3 3.9.9v-.2c0-16.5-13.5-30-30-30S20 33.5 20 50c0 16.4 13.4 29.9 29.8 30-.7-1.3-1-2.7-1-4.4zm25-28.6h-7.9c-.3-7.1-1.9-13.3-4.3-18 6.6 3.7 11.2 10.3 12.2 18zM53 27.3c3.4 2.9 6.4 10.3 6.9 19.7H53V27.3zM26.2 53h7.9c.3 7.1 1.9 13.3 4.3 18-6.6-3.7-11.2-10.3-12.2-18zm7.9-6h-7.9c1-7.7 5.6-14.3 12.2-18-2.4 4.7-3.9 10.9-4.3 18zM47 72.7c-3.4-2.9-6.4-10.3-6.9-19.7H47v19.7zM47 47h-6.9c.5-9.4 3.5-16.8 6.9-19.7V47z" + }, { + "d": "M75.5 62.4c1.3 0 3.9-1.1 3.9-4.5s-2.5-3.6-3.2-3.6c-1.5 0-3 1.1-4.3 3.4-1.4 2.3-2.9 4.9-2.9 4.9h-.1c-.3-1.6-.6-3-.7-3.6-.3-1.4-1.9-4.5-5.3-4.5s-6.5 2-6.5 2c-.6.4-1 1-1 1.8 0 1.1.9 2.1 2.1 2.1.3 0 .6-.1.9-.2 0 0 2.6-1.4 3.1 0 .2.4.3.9.5 1.4.7 2.2 1.3 4.9 1.8 7.3L61.5 72s-2.5-.9-3.8-.9-3.9 1.1-3.9 4.5 2.5 3.6 3.2 3.6c1.5 0 3-1.1 4.3-3.4 1.3-2.3 2.8-4.9 2.8-4.9.4 2.1.8 3.8 1 4.5.9 2.4 2.8 3.9 5.4 3.9 0 0 2.7 0 5.8-1.8.8-.3 1.3-1.1 1.3-1.9 0-1.1-.9-2.1-2.1-2.1-.3 0-.6.1-.9.2 0 0-2.3 1.3-3 .3-.6-1-1-2.4-1.4-4.2-.3-1.5-.7-3.3-1.1-5.1l2.3-3.3c.3.1 2.8 1 4.1 1z" + }] + }, + task: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M46.6 23.7l-2.1-2.1c-.6-.6-1.5-.6-2.1 0L29.2 34.8l-5.3-5.3c-.6-.6-1.5-.6-2.1 0l-2.1 2.1c-.6.6-.6 1.5 0 2.1l7.4 7.4c.6.6 1.4.9 2.1.9.8 0 1.5-.3 2.1-.9l15.3-15.3c.5-.5.5-1.5 0-2.1zM77 38H51c-1.1 0-2-.9-2-2v-4c0-1.1.9-2 2-2h26c1.1 0 2 .9 2 2v4c0 1.1-.9 2-2 2zM77 56H45c-1.1 0-2-.9-2-2v-4c0-1.1.9-2 2-2h32c1.1 0 2 .9 2 2v4c0 1.1-.9 2-2 2zM33 56h-4c-1.1 0-2-.9-2-2v-4c0-1.1.9-2 2-2h4c1.1 0 2 .9 2 2v4c0 1.1-.9 2-2 2zM33 74h-4c-1.1 0-2-.9-2-2v-4c0-1.1.9-2 2-2h4c1.1 0 2 .9 2 2v4c0 1.1-.9 2-2 2zM77 74H45c-1.1 0-2-.9-2-2v-4c0-1.1.9-2 2-2h32c1.1 0 2 .9 2 2v4c0 1.1-.9 2-2 2z" + } + }, + task2: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M42.6 71c-1.2 0-2.4-.5-3.3-1.4L20.6 50.9c-.8-.8-.8-2 0-2.8l3.7-3.7c.8-.8 2-.8 2.8 0l15.5 15.4 30.3-30.3c.8-.8 2-.8 2.8 0l3.7 3.7c.8.8.8 2 0 2.8L45.8 69.6c-.9.9-2 1.4-3.2 1.4z" + } + }, + team_member: { + "xmlns": "http://www.w3.org/2000/svg", + "path": [{ + "d": "M57 44H45c-3.3 0-6 2.7-6 6v9c0 1.1.5 2.1 1.2 2.8.7.7 1.7 1.2 2.8 1.2v9c0 3.3 2.7 6 6 6h4c3.3 0 6-2.7 6-6v-9c1.1 0 2.1-.4 2.8-1.2.7-.7 1.2-1.7 1.2-2.8v-9c0-3.3-2.7-6-6-6z" + }, { + "d": "M36.6 66.7c-.2-.2-.5-.4-.7-.6-1.9-2-3-4.5-3-7.1v-9c0-3.2 1.3-6.2 3.4-8.3.6-.6.1-1.7-.7-1.7H26c-3.3 0-6 2.7-6 6v9c0 1.1.5 2.1 1.2 2.8.7.7 1.7 1.2 2.8 1.2v9c0 3.3 2.7 6 6 6h4c.9 0 1.7-.2 2.4-.5.4-.2.6-.5.6-.9v-5.1c0-.3-.1-.6-.4-.8z" + }, { + "d": "M76 40h-6-3.6c-.9 0-1.3 1-.7 1.7 2.1 2.2 3.4 5.1 3.4 8.3v9c0 2.6-1 5.1-3 7.1-.2.2-.4.4-.7.6-.2.2-.4.5-.4.8v5.1c0 .4.2.8.6.9.7.3 1.5.5 2.4.5h4c3.3 0 6-2.7 6-6v-9c1.1 0 2.1-.4 2.8-1.2.7-.7 1.2-1.7 1.2-2.8v-9c0-3.3-2.7-6-6-6z" + }], + "circle": [{ + "cx": "51", + "cy": "33", + "r": "7" + }, { + "cx": "32", + "cy": "29", + "r": "7" + }, { + "cx": "70", + "cy": "29", + "r": "7" + }] + }, + template: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M73.8 20H26.2c-3.4 0-6.2 2.8-6.2 6.2v47.6c0 3.4 2.8 6.2 6.2 6.2h47.6c3.4 0 6.2-2.8 6.2-6.2V26.2c0-3.4-2.8-6.2-6.2-6.2zM42.3 69.1c0 .8-.8 1.4-1.6 1.4H30.4c-.8 0-1.4-.8-1.4-1.6V48.8c0-.8.8-1.4 1.6-1.4H41c.8 0 1.4.8 1.4 1.6v20.1zm28.4.2c0 .8-.8 1.4-1.6 1.4H49.9c-.8 0-1.4-.8-1.4-1.6V48.8c0-.8.8-1.4 1.6-1.4h19.3c.8 0 1.4.8 1.4 1.6v20.3zm.2-29.4c0 .8-.8 1.4-1.6 1.4H30.4c-.8 0-1.4-.8-1.4-1.6v-9c0-.8.8-1.4 1.6-1.4h38.9c.8 0 1.4.8 1.4 1.6v9z" + } + }, + text: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M79.9 77.9c-.3-4.1-.4-8.3-.4-12.4 0-2.1 0-4.1.1-6.2 0-1.9.2-3.8-.5-5.6-1.6-4.1-7-4.9-10.9-4.9-2 0-4 .3-6 .8-1.4.4-2.8.9-4 1.5l1.3 3.2c.3.6.4 1.3.5 1.9 2.6-1.2 5.2-1.9 7.8-1.9 4.1 0 6.1 1.6 6.1 4.8v1.5c-.6 0-1.6-.1-2.9-.1-5.2 0-9.1.8-11.9 2.3-2.7 1.6-4.1 4.3-4.1 8.2 0 2.9.9 5.2 2.7 6.8 1.8 1.6 4.1 2.4 6.8 2.4 2.4 0 4.4-.3 5.9-1s2.8-1.7 3.8-3.1h.2c.1.7.2 1.8.5 3.4 0 .1 4.5 0 5 0 .1-.7 0-1.1 0-1.6zM74 67.8c0 .7-.1 1.4-.4 2.1-.2.5-.4 1-.8 1.5-1.2 1.7-3.3 2.6-5.3 3-1.3.2-2.5.1-3.8-.1-1-.2-2-.7-2.5-1.6-.9-1.4-.7-3.6.3-4.9.6-.8 1.5-1.3 2.4-1.6 2.5-.8 5.4-.8 7.9-.8l2.2.1v2.3zM54.9 56.3L40.7 21.1c-.2-.7-.8-1.1-1.5-1.1h-4.5c-.7 0-1.4.5-1.6 1.1l-13 35.2c-.3.7.2 1.5.9 1.5h5c.7 0 1.4-.6 1.6-1.3l3.3-9.2h12.8l3.7 9.2c.2.7.9 1.3 1.6 1.3h4.9c.8 0 1.4-.8 1-1.5zM33.5 40.4l3.7-9.6 4.1 9.6h-7.8z" + } + }, + text_template: { + "xmlns": "http://www.w3.org/2000/svg", + "path": [{ + "d": "M42.5 63.8v-.2c.2-3.4 3-6.1 6.5-6.1h8.4c-1.4-2.4-1.1-5.5.9-7.7l.2-.2 2-1.9c1.1-1.2 2.7-1.9 4.3-2V25c0-2.7-2.2-5-5-5H25.1c-2.7 0-5 2.2-5 5v34.8c0 2.7 2.2 5 5 5h17.4v-1zM27.6 27.7c0-.7.5-1.2 1.2-1.2h7.5c.7 0 1.2.5 1.2 1.2v3.5c0 .7-.5 1.2-1.2 1.2h-7.5c-.7 0-1.2-.5-1.2-1.2v-3.5zm0 10.9c0-.7.5-1.2 1.2-1.2h27.3c.7 0 1.2.5 1.2 1.2v3.5c0 .7-.5 1.2-1.2 1.2H28.9c-.7 0-1.2-.5-1.2-1.2v-3.5zm0 14.4v-3.5c0-.7.5-1.2 1.2-1.2h22.4c.7 0 1.2.5 1.2 1.2V53c0 .7-.5 1.2-1.2 1.2H28.9c-.8.1-1.3-.4-1.3-1.2z" + }, { + "d": "M66.3 51.1l-.1-.1c-.6-.5-1.5-.5-2 .1l-2.1 2c-.5.6-.5 1.5 0 2l5.5 5.5c.2.2.3.4.3.7 0 .6-.4 1-1 1H49c-.8 0-1.4.6-1.5 1.4v3c.1.8.7 1.4 1.5 1.6h17.9c.2 0 .4.1.5.2.4.3.5 1 .2 1.4l-5.5 5.5c-.5.6-.5 1.5 0 2l2 2.1c.6.5 1.5.5 2 0l13.2-13.2c.5-.6.5-1.5 0-2l-13-13.2z" + }] + }, + textarea: { + "xmlns": "http://www.w3.org/2000/svg", + "path": [{ + "d": "M74 80H26c-3.3 0-6-2.7-6-6V26c0-3.3 2.7-6 6-6h48c3.3 0 6 2.7 6 6v48c0 3.3-2.7 6-6 6zM28.1 30v40c0 1.1.9 2 2 2H70c1.1 0 2-.9 2-2V30c0-1.1-.9-2-2-2H30.1c-1.1 0-2 .9-2 2z" + }, { + "d": "M61.9 51.2c1 0 2 .9 2 2v8.7c0 1.1-.9 2-2 2h-9.2c-1.1 0-2-.9-2-2 0-.7.3-1.3.8-1.8l1.9-1.9c1.3-1.2 2.7-2.4 4-3.6.9-.8 1.8-1.7 2.8-2.5.3-.2.5-.5.8-.6.3-.2.6-.3.9-.3z" + }] + }, + textbox: { + "xmlns": "http://www.w3.org/2000/svg", + "path": [{ + "d": "M74 80H26c-3.3 0-6-2.7-6-6V26c0-3.3 2.7-6 6-6h48c3.3 0 6 2.7 6 6v48c0 3.3-2.7 6-6 6zM28.1 30v40c0 1.1.9 2 2 2H70c1.1 0 2-.9 2-2V30c0-1.1-.9-2-2-2H30.1c-1.1 0-2 .9-2 2z" + }, { + "d": "M36.2 61.9V38.1c0-1.1.9-2 2-2h4c1.1 0 2 .9 2 2v23.8c0 1.1-.9 2-2 2h-4c-1.1 0-2-.9-2-2z" + }] + }, + thanks: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M74 35h-8.7c2.5-3.9 2.3-9.1-.8-12.3-1.7-1.7-4-2.7-6.4-2.7-2.6 0-5.2 1.2-7.1 3.2-.4.4-.7.8-1 1.3-.3-.5-.6-.9-1-1.3-1.9-2.1-4.5-3.2-7.1-3.2-2.4 0-4.6 1-6.3 2.7-3.1 3.2-3.3 8.4-.8 12.3H26c-3.3 0-6 2.7-6 6v4c0 1.1.9 2 2 2h56c1.1 0 2-.9 2-2v-4c0-3.3-2.7-6-6-6zm-27 0c-2.1 0-5.1-.8-6.8-2.6-1.5-1.6-1.7-4.2-.3-5.5.7-.7 1.4-.8 2-.8 1 0 2 .5 2.7 1.3 1.7 1.9 2.4 5.1 2.4 7.1v.5zm12.8-2.6C58.1 34.2 55.1 35 53 35v-.6c0-2 .7-5.2 2.4-7.1.8-.8 1.8-1.3 2.7-1.3.5 0 1.3.1 2 .8 1.3 1.4 1.2 3.9-.3 5.6zM74 53H53v27h17.2c3.2 0 5.8-2.6 5.8-5.8V55c0-1.1-.9-2-2-2zM24 55v19c0 3.3 2.7 6 6 6h17V53H26c-1.1 0-2 .9-2 2z" + } + }, + thanks_loading: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "opacity": ".5", + "d": "M74 35h-8.7c2.5-3.9 2.3-9.1-.8-12.3-1.7-1.7-4-2.7-6.4-2.7-2.6 0-5.2 1.2-7.1 3.2-.4.4-.7.8-1 1.3-.3-.5-.6-.9-1-1.3-1.9-2.1-4.5-3.2-7.1-3.2-2.4 0-4.6 1-6.3 2.7-3.1 3.2-3.3 8.4-.8 12.3H26c-3.3 0-6 2.7-6 6v4c0 1.1.9 2 2 2h56c1.1 0 2-.9 2-2v-4c0-3.3-2.7-6-6-6zm-27 0c-2.1 0-5.1-.8-6.8-2.6-1.5-1.6-1.7-4.2-.3-5.5.7-.7 1.4-.8 2-.8 1 0 2 .5 2.7 1.3 1.7 1.9 2.4 5.1 2.4 7.1v.5zm12.8-2.6C58.1 34.2 55.1 35 53 35v-.6c0-2 .7-5.2 2.4-7.1.8-.8 1.8-1.3 2.7-1.3.5 0 1.3.1 2 .8 1.3 1.4 1.2 3.9-.3 5.6zM74 53H53v27h17.2c3.2 0 5.8-2.6 5.8-5.8V55c0-1.1-.9-2-2-2zM24 55v19c0 3.3 2.7 6 6 6h17V53H26c-1.1 0-2 .9-2 2z" + } + }, + timesheet: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M70.9 20H29.1c-4.3 0-7.8 3.5-7.8 7.8v44.3c0 4.3 3.5 7.8 7.8 7.8h41.7c4.3 0 7.8-3.5 7.8-7.8V27.8c.1-4.3-3.4-7.8-7.7-7.8zm-2.6 47c0 1.4-1.2 2.6-2.6 2.6H34.3c-1.4 0-2.6-1.2-2.6-2.6v-2.6c0-1.4 1.2-2.6 2.6-2.6h31.3c1.4 0 2.6 1.2 2.6 2.6V67zm0-15.7c0 1.4-1.2 2.6-2.6 2.6H34.3c-1.4 0-2.6-1.2-2.6-2.6v-2.6c0-1.4 1.2-2.6 2.6-2.6h31.3c1.4 0 2.6 1.2 2.6 2.6v2.6zm0-15.6c0 1.4-1.2 2.6-2.6 2.6H34.3c-1.4 0-2.6-1.2-2.6-2.6V33c0-1.4 1.2-2.6 2.6-2.6h31.3c1.4 0 2.6 1.2 2.6 2.6v2.7z" + } + }, + timesheet_entry: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M70.9 20H29.1c-4.3 0-7.8 3.5-7.8 7.8v44.3c0 4.3 3.5 7.8 7.8 7.8h41.7c4.3 0 7.8-3.5 7.8-7.8V27.8c.1-4.3-3.4-7.8-7.7-7.8zm-2.6 47c0 1.4-1.2 2.6-2.6 2.6H34.3c-1.4 0-2.6-1.2-2.6-2.6v-2.6c0-1.4 1.2-2.6 2.6-2.6h31.3c1.4 0 2.6 1.2 2.6 2.6V67zM40.9 50l1.4-1.4c.4-.4 1-.4 1.4 0l3.6 3.6 9-9c.4-.4 1-.4 1.4 0l1.4 1.4c.3.4.3 1.1 0 1.4L48.8 56.5c-.4.4-.9.6-1.4.6-.5 0-1-.2-1.4-.6l-5-5c-.5-.5-.5-1.1-.1-1.5zm27.4-14.3c0 1.4-1.2 2.6-2.6 2.6H34.3c-1.4 0-2.6-1.2-2.6-2.6V33c0-1.4 1.2-2.6 2.6-2.6h31.3c1.4 0 2.6 1.2 2.6 2.6v2.7z" + } + }, + timeslot: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M70.95 20H29.19a7.93 7.93 0 00-8 7.81v44.38A7.9 7.9 0 0029.05 80h41.9a7.9 7.9 0 007.83-7.81V27.81A7.73 7.73 0 0070.95 20zM31.8 33a2.7 2.7 0 012.61-2.6h13.32a2.7 2.7 0 012.61 2.6v2.6a2.7 2.7 0 01-2.61 2.6H34.41a2.7 2.7 0 01-2.61-2.6zM68 67a2.7 2.7 0 01-2.61 2.6H52.17a2.7 2.7 0 01-2.61-2.6v-2.6a2.7 2.7 0 012.61-2.6h13.32A2.58 2.58 0 0168 64.38zm.51-12.39a2.83 2.83 0 01-2.75 2.6H34.41a2.7 2.7 0 01-2.61-2.6v-9.07a2.7 2.7 0 012.61-2.6h31.45a2.7 2.7 0 012.61 2.6z", + "fill-rule": "evenodd" + } + }, + today: { + "xmlns": "http://www.w3.org/2000/svg", + "path": [{ + "d": "M50 20c-16.5 0-30 13.5-30 30s13.5 30 30 30 30-13.5 30-30-13.5-30-30-30zm0 54c-13.2 0-24-10.8-24-24s10.8-24 24-24 24 10.8 24 24-10.8 24-24 24z" + }, { + "d": "M53 48.8V36c0-1.1-.9-2-2-2h-2c-1.1 0-2 .9-2 2v14c0 .8.3 1.6.9 2.1l9.6 9.6c.8.8 2 .8 2.8 0l1.4-1.4c.8-.8.8-2 0-2.8L53 48.8z" + }] + }, + toggle: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M20 33.34a13.43 13.43 0 0113-13.43h33.56a13.45 13.45 0 010 26.89H33a13.44 13.44 0 01-13-13.46zm13.44 7.53a7.53 7.53 0 10-7.52-7.53 7.58 7.58 0 007.52 7.53zM20 66.46A13.44 13.44 0 0133 53h33.56a13.45 13.45 0 010 26.89H33a13.43 13.43 0 01-13-13.43zM67.06 57H32.94a9.53 9.53 0 000 19h34.12a9.53 9.53 0 000-19zm-.5 16a6.53 6.53 0 116.52-6.52A6.58 6.58 0 0166.56 73z" + } + }, + topic: { + "xmlns": "http://www.w3.org/2000/svg", + "path": [{ + "d": "M61.4 37.2c.2.7.7 1.2 1.4 1.4l2.2.6c.4.1.9-.1 1.1-.5l4.7-8.1c1.1-1.9.5-2.6-1.5-1.5l-8.1 4.7c-.4.2-.6.7-.5 1.1l.7 2.3zM33.9 38.7c.2.4.7.6 1.1.5l2.2-.6c.7-.2 1.2-.7 1.4-1.4l.6-2.2c.1-.4-.1-.9-.5-1.1l-8.1-4.7c-1.9-1.1-2.6-.5-1.5 1.5l4.8 8zM66.1 61.3c-.2-.4-.7-.6-1.1-.5l-2.2.6c-.7.2-1.2.7-1.4 1.4l-.6 2.2c-.1.4.1.9.5 1.1l8.1 4.7c1.9 1.1 2.6.5 1.5-1.5l-4.8-8zM38.6 62.8c-.2-.7-.7-1.2-1.4-1.4l-2.2-.6c-.4-.1-.9.1-1.1.5l-4.7 8.1c-1.1 1.9-.5 2.6 1.5 1.5l8.1-4.7c.4-.2.6-.7.5-1.1l-.7-2.3z" + }, { + "d": "M78.4 49l-20.5-5.5c-.7-.2-1.2-.7-1.4-1.4L51 21.6c-.6-2.1-1.5-2.1-2.1 0l-5.5 20.5c-.2.7-.7 1.2-1.4 1.4L21.6 49c-2.1.6-2.1 1.5 0 2.1l20.5 5.5c.7.2 1.2.7 1.4 1.4L49 78.4c.6 2.1 1.5 2.1 2.1 0l5.5-20.5c.2-.7.7-1.2 1.4-1.4L78.4 51c2.1-.5 2.1-1.5 0-2zM50 55c-2.8 0-5-2.2-5-5s2.2-5 5-5 5 2.2 5 5-2.2 5-5 5z" + }] + }, + topic2: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M78.2 34.3h-7.9l3.4-13V21c0-.5-.4-1-1-1h-6.3c-.5 0-.9.4-1 .8L62 34.3H46.2l3.4-13V21c0-.5-.4-1-1-1h-6.3c-.5 0-.9.4-1 .8l-3.5 13.4H29c-.5 0-.8.3-1 .7l-1.6 6v.2c0 .5.4 1 1 1h8.3l-3.9 15.2h-8.5c-.5 0-.8.3-1 .7l-1.6 6v.2c0 .5.4 1 1 1h8l-3.4 13.2v.2c0 .5.4 1 1 1h6.3c.5 0 .9-.3 1-.8l3.5-13.7h15.7l-3.4 13.2v.2c0 .5.4 1 1 1h6.3c.5 0 .9-.3 1-.8L62.2 65h8.7c.5 0 .9-.3 1-.8l1.6-6V58c0-.5-.4-1-1-1h-8.2l3.9-15.2h8.4c.5 0 .9-.3 1-.8l1.6-6v-.2c0-.1-.5-.5-1-.5zM56 57.5H40.2l3.9-15.2h15.7L56 57.5z" + } + }, + trailhead: { + "xmlns": "http://www.w3.org/2000/svg", + "path": [{ + "d": "M32.7 63.8l-3.2 3.7h6.4zM35.7 71.4h6.4l-3.2-3.7zM61.3 68.8l3.2-3.7 3.2 3.7z" + }, { + "d": "M50.9 20.2c-.5-.3-1.2-.3-1.7 0C31.3 27.8 19.8 45.5 20.1 65v4.3c0 .7.3 1.3.9 1.7 8.6 5.7 18.8 8.9 29.1 9h1.1c9.9-.4 19.6-3.4 27.8-9 .5-.4.9-1 .9-1.7V65c.5-19.5-11-37.2-29-44.8zM34.7 36c7.3-8.6 15.4-11.5 15.4-11.5 1.7.8 21.2 8.4 25.2 33h-5.1l-9.8-14.1c-.7-.9-2-1.2-3-.5-.3.1-.4.4-.5.5L54.4 47l-6.9-9.9c-.7-.9-2-1.2-3-.5-.3.1-.4.4-.5.5L30.1 57.4l-5.1.2c1.5-9.4 5.4-16.4 9.7-21.6zM65 57.6H52.3l3.3-4.7 3-4.4 6.4 9.1zm-18-14l5 7.2-4.7 6.7H35.2l5.1-7.6 5.4-8 1.3 1.7zm4.8 29L50 75.8c-3.7 0-7.1-.5-11-1.4-5.1-1.3-10.1-3.4-14.5-6.1v-3.1c0-1 0-2.1.1-3.3h22.1c-1.7 2.6-.9 6.1 1.8 7.7.3.1.5.3.7.4l2 .9c.6.2.8 1 .6 1.7zm24-4.5c-3.3 2-6.7 3.7-10.2 4.8 0 0-.7.3-.9.3-2 .7-4 1.2-6.1 1.6-1.2.3-2.4.4-3.5.5l.4-.7c1.6-2.7.7-6.1-2.1-7.7-.1-.1-.4-.1-.5-.3l-2-.9c-.7-.3-1-1-.7-1.7 0-.1.1-.3.1-.3l1.8-2.1h23.5c0 1 .1 2.1.1 3.3v3.2z" + }] + }, + trailhead_alt: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M45.27 62.76c-.05.11-.1.2-.14.31a8.62 8.62 0 003 9.82c2 1.54 2.37 2.19 2.17 3.65A9.38 9.38 0 0148.94 80 55.9 55.9 0 0120 70.79v-4.62c0-1.15.06-2.28.13-3.41h25.14zm34.6 0c.07 1.13.13 2.26.13 3.41v4.62a56.27 56.27 0 01-25.39 9 12.2 12.2 0 00.68-2.54c.66-4.66-2.29-7-4.06-8.33a3.59 3.59 0 01-1.4-4.07A9.85 9.85 0 0151 62.76h28.87zM45.62 42l5.5 8.1-5.19 7.65h-11zM50 20a49 49 0 0129.35 37.73H72L61 41.61a2.61 2.61 0 00-4.16 0l-2.72 4-6.42-9.51a2.61 2.61 0 00-4.16 0l-14.7 21.63h-8.19A49 49 0 0150 20zm9 27.5l6.95 10.23H52z", + "fill-rule": "evenodd" + } + }, + travel_mode: { + "xmlns": "http://www.w3.org/2000/svg", + "mask": { + "id": "ooa", + "height": "60", + "maskUnits": "userSpaceOnUse", + "width": "60", + "x": "20", + "y": "20", + "path": { + "d": "M20 20h60v60H20z", + "fill-rule": "evenodd" + } + }, + "g": { + "mask": "url(#ooa)", + "path": { + "d": "M53.77 72.12C54 59.88 62.25 50 72.49 50a22.49 22.49 0 01-18.66 22.12M27.49 50C37.75 50 46 59.88 46.16 72.12A22.5 22.5 0 0127.49 50M50 27.51a22.44 22.44 0 0121.12 15H28.88a22.44 22.44 0 0121.12-15M50 20a30 30 0 1030 30 30 30 0 00-30-30", + "fill-rule": "evenodd" + } + } + }, + unmatched: { + "xmlns": "http://www.w3.org/2000/svg", + "path": [{ + "d": "M65.7 46.8c-.1-.5-.5-.8-1-.8H35.3c-.5 0-.9.3-1 .8-.2 1-.3 2.1-.3 3.2s.1 2.2.3 3.2c.1.5.5.8 1 .8h29.4c.5 0 .9-.3 1-.8.2-1 .3-2.1.3-3.2s-.1-2.2-.3-3.2z" + }, { + "d": "M50 20c-16.5 0-30 13.5-30 30s13.5 30 30 30 30-13.5 30-30-13.5-30-30-30zm0 52c-12.1 0-22-9.9-22-22s9.9-22 22-22 22 9.9 22 22-9.9 22-22 22z" + }] + }, + user: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M80 71.2V74c0 3.3-2.7 6-6 6H26c-3.3 0-6-2.7-6-6v-2.8c0-7.3 8.5-11.7 16.5-15.2.3-.1.5-.2.8-.4.6-.3 1.3-.3 1.9.1C42.4 57.8 46.1 59 50 59c3.9 0 7.6-1.2 10.8-3.2.6-.4 1.3-.4 1.9-.1.3.1.5.2.8.4 8 3.4 16.5 7.8 16.5 15.1z" + }, + "ellipse": { + "cx": "50", + "cy": "36.5", + "rx": "14.9", + "ry": "16.5" + } + }, + user_role: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M44 63.3c0-3.4 1.1-7.2 2.9-10.2 2.1-3.7 4.5-5.2 6.4-8 3.1-4.6 3.7-11.2 1.7-16.2-2-5.1-6.7-8.1-12.2-8s-10 3.5-11.7 8.6c-2 5.6-1.1 12.4 3.4 16.6 1.9 1.7 3.6 4.5 2.6 7.1-.9 2.5-3.9 3.6-6 4.6-4.9 2.1-10.7 5.1-11.7 10.9-1 4.7 2.2 9.6 7.4 9.6H48c1 0 1.6-1.2 1-2-3.2-3.6-5-8.2-5-13zm20-15c-8.2 0-15 6.7-15 15s6.7 15 15 15 15-6.7 15-15-6.7-15-15-15zm2.6 16.4c-.4 0-.9-.1-1.2-.2l-5.7 5.7c-.4.4-.9.5-1.2.5-.5 0-.9-.1-1.2-.5-.6-.6-.6-1.7 0-2.5L63 62c-.1-.4-.2-.7-.2-1.2-.2-2.6 1.9-5 4.5-5 .4 0 .9.1 1.2.2.2 0 .2.2.1.4L66 58.9c-.2.1-.2.5 0 .6l1.7 1.7c.2.2.5.2.7 0l2.5-2.5c.1-.1.4-.1.4.1.1.4.2.9.2 1.2.1 2.8-2.1 4.9-4.9 4.7z" + } + }, + variable: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M70.9 39.7c3.1 0 9.1-2.5 9.1-10.6s-5.8-8.5-7.6-8.5c-3.6 0-7.1 2.6-10.2 7.9C59.1 34 55.6 40 55.6 40h-.1c-.8-3.8-1.4-7-1.7-8.4-.6-3.3-4.5-10.6-12.5-10.6S26 25.6 26 25.6c-1.4.9-2.3 2.4-2.3 4.1 0 2.7 2.2 4.9 4.9 4.9.8 0 1.5-.2 2.1-.5 0 0 6.1-3.4 7.4 0 .4 1 .7 2.2 1.1 3.4 1.6 5.2 3 11.4 4.2 17l-5.2 7.6s-5.9-2.1-9-2.1S20 62.5 20 70.6s5.8 8.5 7.6 8.5c3.6 0 7.1-2.6 10.2-7.9 3.1-5.5 6.6-11.5 6.6-11.5 1 5 1.9 9 2.4 10.6 2 5.7 6.6 9.1 12.7 9.1 0 0 6.3 0 13.7-4.2 1.8-.7 3.1-2.5 3.1-4.5 0-2.7-2.2-4.9-4.9-4.9-.8 0-1.5.2-2.1.5 0 0-5.3 3-7.1.6-1.3-2.5-2.4-5.7-3.2-9.7-.8-3.6-1.7-7.8-2.5-11.9l5.3-7.7c.1 0 6 2.1 9.1 2.1z" + } + }, + variation_attribute_setup: { + "xmlns": "http://www.w3.org/2000/svg", + "path": [{ + "d": "M46.8 23.1a1.66 1.66 0 00-1.8 1.7V52a1.53 1.53 0 001.7 1.7h.1a1.58 1.58 0 001.7-1.7V24.7a1.55 1.55 0 00-1.7-1.6zM29.3 23.1h-6.7a1.58 1.58 0 00-1.7 1.7V52a1.63 1.63 0 001.7 1.7h6.7A1.58 1.58 0 0031 52V24.7a1.66 1.66 0 00-1.7-1.6zM38.8 23.1h-1.7a1.58 1.58 0 00-1.7 1.7V52a1.53 1.53 0 001.7 1.7h1.7a1.58 1.58 0 001.7-1.7V24.7a1.55 1.55 0 00-1.7-1.6zM71.9 48.1v.2l.1.8a2.09 2.09 0 01.6.4l.9-.5.7-.3.6-.2V24.7a1.58 1.58 0 00-1.7-1.7h-3.4a1.58 1.58 0 00-1.7 1.7v19a5.82 5.82 0 013.9 4.4zM56.6 49l.6.2a4.35 4.35 0 01.7-.4l.1-.7v-.2a6 6 0 015-4.6V24.7a1.66 1.66 0 00-1.7-1.6h-6.7a1.58 1.58 0 00-1.7 1.7v24a6.75 6.75 0 011.4-.2 5.76 5.76 0 012.3.4zM75.5 64.3a14.92 14.92 0 00.2-2.1 14.92 14.92 0 00-.2-2.1l2.3-1.9a2.12 2.12 0 00.5-2.6l-1-1.8a2.23 2.23 0 00-1.8-1c-.2 0-.5.1-.7.1L72 54a10.27 10.27 0 00-3.6-2.1l-.5-2.9a2 2 0 00-2.1-1.5h-2a2.08 2.08 0 00-2.1 1.5l-.5 2.8a10.46 10.46 0 00-3.7 2.1l-2.7-1.1a1.48 1.48 0 00-.7-.1 2.23 2.23 0 00-1.8 1l-1 1.7a2 2 0 00.5 2.6l2.3 1.9a14.92 14.92 0 00-.2 2.1 14.92 14.92 0 00.2 2.1l-2.3 2a2.12 2.12 0 00-.5 2.6l1 1.9a2.23 2.23 0 001.8 1c.2 0 .5-.1.7-.1l2.8-1.1a10.27 10.27 0 003.6 2.1l.5 3a2.06 2.06 0 002.1 1.7h2a2.14 2.14 0 002.1-1.7l.5-3a10 10 0 003.8-2.3l2.6 1.1a1.7 1.7 0 00.7.1 2.23 2.23 0 001.8-1l.9-1.6a2 2 0 00-.4-2.6zm-10.6 4.9a6.8 6.8 0 116.8-6.8 6.81 6.81 0 01-6.8 6.8z" + }, { + "d": "M64.8 58.7a3.7 3.7 0 103.7 3.7 3.7 3.7 0 00-3.7-3.7z" + }] + }, + variation_products: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M73.9 53.3a1.46 1.46 0 00.9-1.5V24.6a1.58 1.58 0 00-1.7-1.7h-3.4a1.58 1.58 0 00-1.7 1.7v20.8a9 9 0 015.9 7.9zM54.5 53.4h1.4a9.07 9.07 0 017-8.4V24.6a1.58 1.58 0 00-1.7-1.7h-6.7a1.58 1.58 0 00-1.7 1.7v27.2a1.55 1.55 0 001.7 1.6zM38.8 22.9h-1.7a1.58 1.58 0 00-1.7 1.7v27.2a1.53 1.53 0 001.7 1.7h1.7a1.58 1.58 0 001.7-1.7V24.6a1.68 1.68 0 00-1.7-1.7zM29.2 22.9h-6.7a1.58 1.58 0 00-1.7 1.7v27.2a1.63 1.63 0 001.7 1.7h6.7a1.58 1.58 0 001.7-1.7V24.6a1.58 1.58 0 00-1.7-1.7zM46.8 22.9h-.1a1.58 1.58 0 00-1.7 1.7v27.2c-.1.9.6 1.6 1.8 1.6a1.58 1.58 0 001.7-1.7V24.6a1.58 1.58 0 00-1.7-1.7zM60 53.9a4.89 4.89 0 005 5 6.75 6.75 0 001.4-.2l3.5 6.4c.2.3.5.4.7.2a4.37 4.37 0 011.7-.8.55.55 0 00.3-.7L68.9 57a4.89 4.89 0 001.1-3.1 5 5 0 00-10 0zM59.9 60.2a.54.54 0 00-.8.2L55.6 67a1.7 1.7 0 00-.7-.1 4.94 4.94 0 103.4 1.3l3.5-6.4c.1-.1 0-.4-.2-.6a15.05 15.05 0 01-1.7-1zM75.1 67a4.94 4.94 0 00-4.9 4.1h-6.7a.56.56 0 00-.5.6v.5a6.75 6.75 0 01-.2 1.4.5.5 0 00.5.6h7.1a5 5 0 004.6 3 5.1 5.1 0 00.1-10.2z" + } + }, + video: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M77.57 33.37l-14.11 10.2v-7.24A3.44 3.44 0 0060 32.86H23.46A3.44 3.44 0 0020 36.3v27.37a3.44 3.44 0 003.41 3.47h36.71a3.44 3.44 0 003.47-3.43v-7.1l14 10a1.42 1.42 0 002 0 1.39 1.39 0 00.41-1V34.4a1.42 1.42 0 00-2.43-1.07" + } + }, + visit_templates: { + "xmlns": "http://www.w3.org/2000/svg", + "path": [{ + "d": "M30 58c-1.1 0-2-.9-2-2v-2c0-1.1.9-2 2-2h20c.5 0 .9.2 1.3.5C54.5 49 59 46.6 64 46.1V26c0-3.3-2.7-6-6-6H26c-3.3 0-6 2.7-6 6v34c0 3.3 2.7 6 6 6h20c0-2.8.6-5.5 1.7-8H30zm-2-28c0-1.1.9-2 2-2h20c1.1 0 2 .9 2 2v2c0 1.1-.9 2-2 2H30c-1.1 0-2-.9-2-2v-2zm0 12c0-1.1.9-2 2-2h24c1.1 0 2 .9 2 2v2c0 1.1-.9 2-2 2H30c-1.1 0-2-.9-2-2v-2z" + }, { + "d": "M66 52c-7.7 0-14 6.3-14 14s6.3 14 14 14 14-6.3 14-14-6.3-14-14-14zm7.9 10.5L65 72.2c-.4.4-.8.6-1.4.6-.5 0-1-.2-1.4-.6l-4.8-4.7c-.4-.4-.4-1 0-1.3l1.4-1.3c.4-.4 1-.4 1.4 0l3.4 3.4 7.5-8.4c.4-.4 1-.4 1.4 0l1.4 1.3c.3.3.3 1 0 1.3z" + }] + }, + visits: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M50.6 52.9c2.6-3.7 5.3-5.6 7.1-8.4 3.2-4.8 3.9-11.6 1.8-16.8-2.1-5.3-7-8.4-12.7-8.3S36.5 23 34.7 28.3c-2.1 5.8-1.2 12.8 3.5 17.2 1.9 1.8 3.7 4.7 2.7 7.4-.9 2.6-4 3.7-6.2 4.8-5 2.2-11.1 5.3-12.1 11.2-1 4.9 2.3 10 7.6 10h23.3c1 0 1.9-1.2 1.3-1.9-3.2-3.7-6.6-8.7-6.6-13.6-.3-3.5.7-7.4 2.4-10.5zm14.2 13.5c-2.7 0-5-2.2-5-4.9s2.2-4.9 5-4.9c2.7 0 5 2.2 5 4.9.1 2.7-2.3 4.9-5 4.9zm0-16.8c-6.6 0-11.9 5.3-11.9 11.9 0 8.1 8.5 15.8 11.1 17.7.4.4 1 .4 1.6 0 2.6-2.1 11.1-9.6 11.1-17.7 0-6.6-5.3-11.9-11.9-11.9z" + } + }, + visualforce_page: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "path": [{ + "d": "M55.4 53.6c-.6 0-1.2-.5-1.2-1.2v-7.3c0-.6.5-1.2 1.2-1.2h7.5c.6 0 1.2.5 1.2 1.2v7.3c0 .6-.5 1.2-1.2 1.2h-7.5zM58.6 57.9l-4.3 4.7c-.3.3-.3.7 0 1l4.3 4.7c.3.3.8.3 1.1 0l4.3-4.7c.3-.3.3-.7 0-1l-4.3-4.7c-.3-.3-.8-.3-1.1 0z" + }, { + "d": "M36.4 45.6l3.8-2.2c.3-.2.8-.2 1.1 0l3.8 2.2c.3.2.6.6.6 1v4.3c0 .4-.2.8-.6 1l-3.8 2.2c-.3.2-.8.2-1.1 0l-3.8-2.2c-.3-.2-.6-.6-.6-1v-4.3c0-.4.2-.8.6-1z" + }, { + "d": "M73.8 20H26.2c-3.4 0-6.2 2.8-6.2 6.2v47.6c0 3.4 2.8 6.2 6.2 6.2h47.6c3.4 0 6.2-2.8 6.2-6.2V26.2c0-3.4-2.8-6.2-6.2-6.2zm0 51.7c0 1.2-.9 2.1-2.1 2.1H28.3c-1.1 0-2.1-.9-2.1-2.1V38.2h47.6v33.5zm0-39.5H26.2v-3.9c0-1.2.9-2.1 2.1-2.1h43.4c1.1 0 2.1.9 2.1 2.1v3.9z" + }], + "circle": { + "cx": "40.7", + "cy": "63", + "r": "4.9" + } + } + }, + voice_call: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M77.7 63.9l-6.2-5c-2.1-1.7-5.1-1.8-7.3-.2L58.3 63c-.8.6-1.9.5-2.6-.2L46 54l-8.9-9.8c-.7-.7-.8-1.8-.2-2.6l4.3-5.9c1.6-2.2 1.5-5.2-.2-7.3l-5-6.2c-2.2-2.8-6.4-3-8.9-.5l-5.4 5.4c-1.2 1.2-1.8 2.9-1.8 4.5.7 12.7 6.5 24.8 15 33.3s20.5 14.3 33.3 15c1.7.1 3.3-.6 4.5-1.8l5.4-5.4c2.7-2.4 2.4-6.6-.4-8.8z" + } + }, + waits: { + "xmlns": "http://www.w3.org/2000/svg", + "path": [{ + "d": "M80 40.5c0-1-.9-1.9-1.9-1.9H51.9c-1 0-1.9.9-1.9 1.9v3.7c0 1 .9 1.9 1.9 1.9h17.8L50.4 69.8s0 .1-.1.1c-.2.3-.4.7-.4 1.1v3.7c0 1 .9 1.9 1.9 1.9h26.3c1 0 1.9-.9 1.9-1.9V71c0-1-.9-1.9-1.9-1.9H60.6l19-23.3c.3-.4.4-.8.3-1.3v-4z" + }, { + "d": "M50 25.3c0-1-.9-1.9-1.9-1.9H21.9c-1 0-1.9.9-1.9 1.9V29c0 1 .9 1.9 1.9 1.9h17.8L20.4 54.6s0 .1-.1.1c-.2.3-.3.6-.3 1v3.7c0 1 .9 1.9 1.9 1.9h26.3c1 0 1.9-.9 1.9-1.9v-3.7c0-1-.9-1.9-1.9-1.9H30.6l19-23.3c.3-.4.4-.8.3-1.3V25.3z" + }] + }, + warranty_term: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M50 20c3.79 0 6.79 4.11 10.11 5.53s8.52.63 11 3.31 1.89 7.58 3.31 11.05S80 46.21 80 50s-4.11 6.79-5.53 10.11-.63 8.52-3.31 11c-2.53 2.52-7.58 1.89-11 3.31S53.79 80 50 80s-6.79-4.11-10.11-5.53-8.52-.63-11-3.31c-2.52-2.53-1.89-7.58-3.31-11S20 53.79 20 50s4.11-6.79 5.53-10.11.63-8.52 3.31-11 7.58-1.89 11.05-3.36S46.21 20 50 20zm0 9.47A20.53 20.53 0 1070.53 50 20.59 20.59 0 0050 29.47zm9.52 11.44l2 1.9a1.55 1.55 0 010 1.89L48.78 58.84a2.55 2.55 0 01-2 .88 2.76 2.76 0 01-2-.88L37.9 52a1.26 1.26 0 010-1.89l2-1.9a1.37 1.37 0 012 0l4.87 5 10.75-12.3a1.37 1.37 0 012 0z" + } + }, + webcart: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "path": { + "d": "M42.4 50h29.5c.9 0 1.7-.6 1.9-1.5l5.4-19c.4-1.3-.6-2.5-1.9-2.5H31.7l-.8-2.8c-.4-1.3-1.6-2.2-2.9-2.2h-4.8c-1.6 0-3.1 1.2-3.2 2.8-.1 1.7 1.3 3.2 3 3.2h2.8l9.4 31.8c.4 1.3 1.5 2.2 2.9 2.2h34.8c1.6 0 3.1-1.2 3.2-2.8.1-1.7-1.3-3.2-3-3.2H42.5c-1.3 0-2.5-.9-2.8-2.1v-.1c-.7-1.9.8-3.8 2.7-3.8z" + }, + "circle": [{ + "cx": "43", + "cy": "73", + "r": "5" + }, { + "cx": "67", + "cy": "73", + "r": "5" + }] + } + }, + work_capacity_limit: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "path": [{ + "d": "M75.9 29.3l-9-8.9c-.3-.3-.6-.4-.9-.4-.8 0-1.4.6-1.4 1.4v6.4c.1 2.1 1.8 3.8 3.9 3.8h6.4c.7 0 1.3-.6 1.3-1.3 0-.4-.1-.7-.3-1zM29.6 62.6v-31c-3.2 0-5.8 2.6-5.8 5.8v36.7c0 3.2 2.6 5.8 5.8 5.9h29.2c3.2 0 5.7-2.5 5.8-5.7H41.3c-6.4 0-11.7 0-11.7-11.7zM51.5 44.3v9H60s.5-3.2-2.4-6.2c-2.9-2.9-6.1-2.8-6.1-2.8z" + }, { + "d": "M74.2 37.4h-9.8c-3.2.1-5.8-2.5-5.9-5.7V21.9c.1-1-.7-1.8-1.7-1.9H41.2c-3.2-.1-5.8 2.5-5.9 5.7V62.5c0 3.2 2.6 5.8 5.8 5.8H70.3c3.2.1 5.8-2.5 5.9-5.7V39.4c0-1.1-.8-2-2-2zM63.5 53c-.1 6.5-5.4 11.8-11.9 11.7s-11.8-5.4-11.7-11.9c.1-6.5 5.4-11.8 11.9-11.7 6.5 0 11.7 5.4 11.7 11.9z" + }] + } + }, + work_capacity_usage: { + "xmlns": "http://www.w3.org/2000/svg", + "g": { + "path": [{ + "d": "M39 32h22c1.1 0 2-.9 2-2v-4c0-3.3-2.7-6-6-6H43c-3.3 0-6 2.7-6 6v4c0 1.1.9 2 2 2zM49.8 48.4v11.4h10.7s.6-4-3.1-7.8-7.6-3.6-7.6-3.6z" + }, { + "d": "M72 25h-2c-.6 0-1 .4-1 1v4c0 4.4-3.6 8-8 8H39c-4.4 0-8-3.6-8-8v-4c0-.6-.4-1-1-1h-2c-3.3 0-6 2.7-6 6v43c0 3.3 2.7 6 6 6h44c3.3 0 6-2.7 6-6V31c0-3.3-2.7-6-6-6zm-7.1 34.3c-.1 8.2-6.8 14.9-15 14.8-8.2-.1-14.9-6.8-14.8-15 .1-8.2 6.8-14.9 15-14.8 8.2 0 14.8 6.8 14.8 15z" + }] + } + }, + work_contract: { + "xmlns": "http://www.w3.org/2000/svg", + "path": [{ + "d": "M56.3 34h9.1a1.16 1.16 0 001.2-1.2 1.09 1.09 0 00-.4-.9L55 20.6a1.27 1.27 0 00-.9-.4 1.16 1.16 0 00-1.2 1.2v9.1a3.6 3.6 0 003.4 3.5zM63.9 55.2a12.3 12.3 0 1012.3 12.3 12.29 12.29 0 00-12.3-12.3zM66 68.6c-.4 0-.7-.1-1-.1l-4.7 4.6a1.22 1.22 0 01-1 .5 1.28 1.28 0 01-1-.4 1.66 1.66 0 010-2.1l4.7-4.7a2.79 2.79 0 01-.1-1 3.85 3.85 0 013.7-4.1c.4 0 .7.1 1 .1.1 0 .1.1.1.4l-2.1 2.1a.45.45 0 000 .5l1.5 1.5a.63.63 0 00.6 0l2.1-2.1c.1-.1.4-.1.4.1a3.75 3.75 0 01.1 1 4 4 0 01-4.3 3.7z" + }, { + "d": "M51.6 56.6c4.3-5 11.3-5.3 12.3-5.3s2.7-.1 2.6-1.5 0-8.9 0-8.9a1.63 1.63 0 00-1.7-1.7h-12a5.12 5.12 0 01-5.1-5.1v-12a1.63 1.63 0 00-1.7-1.7H29a5.26 5.26 0 00-5.1 5.1v41.1a5.12 5.12 0 005.1 5.1h17.4s1.7-1 1.6-2.4-.6-7.8 3.6-12.7zM36 24.9a3.7 3.7 0 11-3.7 3.7 3.69 3.69 0 013.7-3.7zm-5.7 12.9a5.62 5.62 0 015.6-4.8h.2a5.62 5.62 0 015.6 4.8.9.9 0 01-1 .9h-9.6c-.8 0-.8-.5-.8-.9zm15 21.9a1.63 1.63 0 01-1.7 1.7H32.4a1.63 1.63 0 01-1.7-1.7V58a1.63 1.63 0 011.7-1.7h11.2a1.63 1.63 0 011.7 1.7zm-12.9-8.6a1.63 1.63 0 01-1.7-1.7v-1.7a1.63 1.63 0 011.7-1.7H53a1.63 1.63 0 011.7 1.7v1.7a1.63 1.63 0 01-1.7 1.7z" + }] + }, + work_forecast: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M77.7 29.2S74.2 22 66.4 22s-11.5 7.4-11.5 7.4a11.67 11.67 0 00-9.9 0S41.4 22 33.6 22s-11.3 7.2-11.3 7.2-7.3 16.3-7.5 30.9C14.6 74.5 24.3 78 28.9 78c5 0 16.8-2.1 16.2-18.5a4.78 4.78 0 014.5-2.7 5.94 5.94 0 015.4 2.7C54.4 75.9 66.2 78 71.1 78c4.5 0 14.3-3.5 14.1-17.9-.2-14.6-7.5-30.9-7.5-30.9zM29.8 71.6a8.7 8.7 0 118.7-8.7 8.71 8.71 0 01-8.7 8.7zm40.4 0a8.7 8.7 0 118.7-8.7 8.71 8.71 0 01-8.7 8.7z" + } + }, + work_order: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M65.2 52.2c-3.6 1.4-5 4.8-5.2 5.3-.3.7-.8.8-.8.8h-18c-.3 0-.6-.4-.8-.7-1.5-3.5-5-6.1-9-6.1-3.7 0-6.9 2-8.6 5-.2.4-.8.5-1.2.2-1-.9-1.6-2.2-1.6-3.6 0 0-.6-11.6 3.3-17.6.7-1 1.2-1.4 2.1-1.4h38c.4 0 .8 0 1.2.3 0 0 4.2 6.4 4.8 7 .5.5 1 .9 2.3 1.2.8.2 8.1 2.8 8.1 2.8.4.2.3.7.3 1.1V53c0 1.4-.4 2.7-1.4 3.6-.4.3-.9.2-1.1-.2-1.7-3-4.8-5-8.5-5-1.5 0-2.7.3-3.9.8" + }, + "circle": [{ + "cx": "69", + "cy": "61.1", + "r": "4.9" + }, { + "cx": "31.5", + "cy": "61.1", + "r": "4.9" + }] + }, + work_order_item: { + "xmlns": "http://www.w3.org/2000/svg", + "path": [{ + "d": "M39 32h22c1.1 0 2-.9 2-2v-4c0-3.3-2.7-6-6-6H43c-3.3 0-6 2.7-6 6v4c0 1.1.9 2 2 2z" + }, { + "d": "M72 25h-2c-.6 0-1 .4-1 1v4c0 4.4-3.6 8-8 8H39c-4.4 0-8-3.6-8-8v-4c0-.6-.4-1-1-1h-2c-3.3 0-6 2.7-6 6v43c0 3.3 2.7 6 6 6h44c3.3 0 6-2.7 6-6V31c0-3.3-2.7-6-6-6zm-5.2 24L47.6 68.2c-.5.5-1.1.8-1.8.8s-1.4-.3-1.9-.8L33.2 57.5c-.5-.5-.5-1.1 0-1.6l2.1-2.1c.5-.5 1.1-.5 1.6 0l8.8 8.8L63 45.3c.5-.5 1.1-.5 1.6 0l2.1 2.1c.5.5.5 1.2.1 1.6z" + }] + }, + work_plan: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M39 32h22a2 2 0 002-2v-4a6 6 0 00-6-6H43a6 6 0 00-6 6v4a2 2 0 002 2zm33-7h-2a.94.94 0 00-1 1v4a8 8 0 01-8 8H39a8 8 0 01-8-8v-4a.94.94 0 00-1-1h-2a6 6 0 00-6 6v43a6 6 0 006 6h44a6 6 0 006-6V31a6 6 0 00-6-6zM39 68a2 2 0 01-2 2h-2a2 2 0 01-2-2v-2a2 2 0 012-2h2a2 2 0 012 2zm0-10a2 2 0 01-2 2h-2a2 2 0 01-2-2v-2a2 2 0 012-2h2a2 2 0 012 2zm0-10a2 2 0 01-2 2h-2a2 2 0 01-2-2v-2a2 2 0 012-2h2a2 2 0 012 2zm28 20a2 2 0 01-2 2H45a2 2 0 01-2-2v-2a2 2 0 012-2h20a2 2 0 012 2zm0-10a2 2 0 01-2 2H45a2 2 0 01-2-2v-2a2 2 0 012-2h20a2 2 0 012 2zm0-10a2 2 0 01-2 2H45a2 2 0 01-2-2v-2a2 2 0 012-2h20a2 2 0 012 2z" + } + }, + work_plan_rule: { + "xmlns": "http://www.w3.org/2000/svg", + "path": [{ + "d": "M39.3 32.1h21.4a2 2 0 002-2v-4a6 6 0 00-5.8-6H43.3a5.91 5.91 0 00-5.8 6v4a1.74 1.74 0 001.8 2z" + }, { + "d": "M71.4 25.2h-2a.94.94 0 00-1 1v4a7.9 7.9 0 01-7.8 7.9H39.3a7.9 7.9 0 01-7.8-7.9v-4a.94.94 0 00-1-1h-2a5.91 5.91 0 00-5.8 6v42.6a6 6 0 005.8 6h42.9a5.91 5.91 0 005.8-6V31.2a5.79 5.79 0 00-5.8-6zM68.7 73a1.49 1.49 0 01-1.2 1.2H56.3c-.7 0-1-.8-.3-1.3l3.6-3.8-7-7H32.4a1.07 1.07 0 01-1-1v-4.5a1.08 1.08 0 011-1h20.2l6.9-7-3.6-3.6c-.5-.6-.3-1.4.4-1.4h11.1a1.49 1.49 0 011.2 1.2v11.1c0 .7-.8 1-1.3.3l-3.6-3.5-6.2 6.2 6.2 6.1 3.6-3.6c.6-.5 1.4-.3 1.4.4z" + }] + }, + work_plan_template: { + "xmlns": "http://www.w3.org/2000/svg", + "path": [{ + "d": "M33.3 73.5a4.89 4.89 0 01-4.8-4.9v-34h-1.6a4.89 4.89 0 00-4.8 4.9v35.4a4.89 4.89 0 004.8 4.9h35.6a4.89 4.89 0 004.8-4.9v-1.4z" + }, { + "d": "M46.5 30.2h17.8a1.58 1.58 0 001.6-1.6v-3.3a4.91 4.91 0 00-4.9-4.9H49.7a4.91 4.91 0 00-4.9 4.9v3.3a1.73 1.73 0 001.7 1.6zm26.7-5.7h-1.6a.74.74 0 00-.8.8v3.3a6.57 6.57 0 01-6.5 6.6H46.5a6.57 6.57 0 01-6.5-6.6v-3.3a.74.74 0 00-.8-.8h-1.6a4.91 4.91 0 00-4.9 4.9v35.3a4.91 4.91 0 004.9 4.9h35.6a4.91 4.91 0 004.9-4.9V29.4a4.91 4.91 0 00-4.9-4.9zM46.5 59.8a1.58 1.58 0 01-1.6 1.6h-1.6a1.58 1.58 0 01-1.6-1.6v-1.6a1.58 1.58 0 011.6-1.6h1.6a1.58 1.58 0 011.6 1.6zm0-8.2a1.58 1.58 0 01-1.6 1.6h-1.6a1.58 1.58 0 01-1.6-1.6V50a1.58 1.58 0 011.6-1.6h1.6a1.58 1.58 0 011.6 1.6zm0-8.2a1.58 1.58 0 01-1.6 1.6h-1.6a1.58 1.58 0 01-1.6-1.6v-1.6a1.58 1.58 0 011.6-1.6h1.6a1.58 1.58 0 011.6 1.6zm22.7 16.4a1.58 1.58 0 01-1.6 1.6H51.4a1.58 1.58 0 01-1.6-1.6v-1.6a1.58 1.58 0 011.6-1.6h16.2a1.58 1.58 0 011.6 1.6zm0-8.2a1.58 1.58 0 01-1.6 1.6H51.4a1.58 1.58 0 01-1.6-1.6V50a1.58 1.58 0 011.6-1.6h16.2a1.58 1.58 0 011.6 1.6zm0-8.2a1.58 1.58 0 01-1.6 1.6H51.4a1.58 1.58 0 01-1.6-1.6v-1.6a1.58 1.58 0 011.6-1.6h16.2a1.58 1.58 0 011.6 1.6z" + }] + }, + work_plan_template_entry: { + "xmlns": "http://www.w3.org/2000/svg", + "path": [{ + "d": "M69.6 59.3a10.2 10.2 0 1010.2 10.2 10.24 10.24 0 00-10.2-10.2zm6.6 7.4l-7.5 7.5a1.45 1.45 0 01-2 0L63 70.6a.67.67 0 010-1l1-1a.67.67 0 011 0l2.6 2.6 6.5-6.5a.67.67 0 011 0l1 1a.76.76 0 01.1 1zM44.5 30h17.8a1.58 1.58 0 001.6-1.6v-3.3a4.91 4.91 0 00-4.9-4.9H47.7a4.91 4.91 0 00-4.9 4.9v3.3a1.73 1.73 0 001.7 1.6zM56.1 73.3H31.4a4.89 4.89 0 01-4.8-4.9v-34H25a4.89 4.89 0 00-4.8 4.9v35.4a4.89 4.89 0 004.8 4.9h34.9a12.11 12.11 0 01-3.8-6.3z" + }, { + "d": "M35.6 69.5h20.1a15.14 15.14 0 01.7-3.7 13.68 13.68 0 012.3-4.5h-9.4a1.58 1.58 0 01-1.6-1.6V58a1.58 1.58 0 011.6-1.6h16.2c.2 0 .3 0 .4.1a13.61 13.61 0 013.6-.5 13.89 13.89 0 016.5 1.6V29.2a4.91 4.91 0 00-4.9-4.9h-1.6a.74.74 0 00-.8.8v3.3a6.57 6.57 0 01-6.5 6.6H44.5a6.64 6.64 0 01-6.5-6.6v-3.3a.74.74 0 00-.8-.8h-1.6a4.91 4.91 0 00-4.9 4.9v35.3a5.06 5.06 0 004.9 5zm12.1-28a1.58 1.58 0 011.6-1.6h16.2a1.58 1.58 0 011.6 1.6v1.6a1.58 1.58 0 01-1.6 1.6H49.4a1.58 1.58 0 01-1.6-1.6v-1.6zm0 8.2a1.58 1.58 0 011.6-1.6h16.2a1.58 1.58 0 011.6 1.6v1.6a1.58 1.58 0 01-1.6 1.6H49.4a1.58 1.58 0 01-1.6-1.6v-1.6zm-8-8.2a1.58 1.58 0 011.6-1.6h1.6a1.58 1.58 0 011.6 1.6v1.6a1.58 1.58 0 01-1.6 1.6h-1.6a1.58 1.58 0 01-1.6-1.6zm0 8.2a1.58 1.58 0 011.6-1.6h1.6a1.58 1.58 0 011.6 1.6v1.6a1.58 1.58 0 01-1.6 1.6h-1.6a1.58 1.58 0 01-1.6-1.6zm0 8.3a1.58 1.58 0 011.6-1.6h1.6a1.58 1.58 0 011.6 1.6v1.6a1.58 1.58 0 01-1.6 1.6h-1.6a1.58 1.58 0 01-1.6-1.6z" + }] + }, + work_queue: { + "xmlns": "http://www.w3.org/2000/svg", + "path": { + "d": "M47.9 71.8h-26c-1.1 0-2-.9-2-2v-4c0-1.1.9-2 2-2h25.9c1.1 0 2 .9 2 2v4c.1 1-.7 1.9-1.8 2h-.1zM47.9 36h-26c-1.1 0-2-.9-2-2v-4c0-1.1.9-2 2-2h25.9c1.1 0 2 .9 2 2v4c.1 1-.7 1.9-1.8 2h-.1zM61.4 66.6c.7.7 1.9.7 2.6 0l15.3-15.2c.8-.7.8-1.9.2-2.6l-.2-.2L64 33.3c-.7-.8-1.9-.8-2.6-.2l-.2.2-2.8 2.8c-.8.7-.8 1.9-.2 2.6l.2.2 4.8 4.8c.5.5.5 1.4 0 1.9-.2.2-.6.4-.9.4H22.1c-1.1 0-2.1.9-2.1 2v4c.1 1.1 1 1.9 2.1 2h40.4c.7 0 1.3.6 1.3 1.3 0 .3-.1.7-.4.9L58.6 61c-.8.7-.8 1.9-.2 2.6l.2.2 2.8 2.8z" + } + }, + work_step: { + "xmlns": "http://www.w3.org/2000/svg", + "path": [{ + "d": "M39 32h22a2 2 0 002-2v-4a6 6 0 00-6-6H43a6 6 0 00-6 6v4a2 2 0 002 2z" + }, { + "d": "M72 25h-2a.94.94 0 00-1 1v4a8 8 0 01-8 8H39a8 8 0 01-8-8v-4a.94.94 0 00-1-1h-2a6 6 0 00-6 6v43a6 6 0 006 6h44a6 6 0 006-6V31a6 6 0 00-6-6zM57 64a2 2 0 01-2 2H34.9a2 2 0 01-2-2v-2a2 2 0 012-2H55a2 2 0 012 2zm10-10a2 2 0 01-2 2H34.9a2 2 0 01-2-2v-2a2 2 0 012-2H65a2 2 0 012 2z" + }] + }, + work_step_template: { + "xmlns": "http://www.w3.org/2000/svg", + "path": [{ + "d": "M28.5 68.5v-34h-1.6a4.89 4.89 0 00-4.8 4.9v35.4a4.89 4.89 0 004.8 4.9h35.6a4.89 4.89 0 004.8-4.9v-1.4h-34a4.89 4.89 0 01-4.8-4.9zM46.4 30.2h17.7a1.58 1.58 0 001.6-1.6v-3.3a4.89 4.89 0 00-4.8-4.9H49.6a4.82 4.82 0 00-4.8 4.9v3.3a1.64 1.64 0 001.6 1.6z" + }, { + "d": "M73 24.4h-1.6a.74.74 0 00-.8.8v3.3a6.57 6.57 0 01-6.5 6.6H46.4a6.64 6.64 0 01-6.5-6.6v-3.3a.74.74 0 00-.8-.8h-1.6a4.82 4.82 0 00-4.8 4.9v35.3a4.89 4.89 0 004.8 4.9H73a4.82 4.82 0 004.8-4.9V29.4a4.85 4.85 0 00-4.8-5zM60.9 55.5a1.58 1.58 0 01-1.6 1.6H43.1a1.58 1.58 0 01-1.6-1.6v-1.6a1.58 1.58 0 011.6-1.6h16.2a1.58 1.58 0 011.6 1.6zm8.1-8.2a1.58 1.58 0 01-1.6 1.6H43.1a1.58 1.58 0 01-1.6-1.6v-1.6a1.58 1.58 0 011.6-1.6h24.3a1.58 1.58 0 011.6 1.6z" + }] + }, + work_type: { + "xmlns": "http://www.w3.org/2000/svg", + "path": [{ + "d": "M75.87 29.25l-9-8.88A1.13 1.13 0 0066 20a1.39 1.39 0 00-1.38 1.38v6.38a3.89 3.89 0 003.87 3.87h6.37a1.39 1.39 0 001.38-1.38 1.66 1.66 0 00-.37-1zM29.63 62.63v-31a5.84 5.84 0 00-5.88 5.75v36.74A5.87 5.87 0 0029.63 80h29.12a5.84 5.84 0 005.88-5.75H41.25c-6.37 0-11.62 0-11.62-11.62z", + "fill-rule": "evenodd" + }, { + "d": "M74.25 37.38H64.5a5.84 5.84 0 01-5.87-5.75v-9.75A1.77 1.77 0 0056.75 20h-15.5a5.84 5.84 0 00-5.87 5.75V62.5a5.76 5.76 0 005.88 5.75h29.12a5.84 5.84 0 005.88-5.75V39.38a2 2 0 00-2.01-2zM49.91 62.22a2.49 2.49 0 01-2.49 2.49h-5A2.49 2.49 0 0140 62.22v-5a2.49 2.49 0 012.49-2.49h5a2.49 2.49 0 012.49 2.49zm0-13.68A2.49 2.49 0 0147.43 51h-5A2.49 2.49 0 0140 48.54v-5a2.49 2.49 0 012.49-2.49h5a2.49 2.49 0 012.49 2.49zm13.68 13.68a2.49 2.49 0 01-2.49 2.48h-5a2.49 2.49 0 01-2.49-2.49v-5a2.49 2.49 0 012.49-2.49h5a2.49 2.49 0 012.49 2.49zm0-13.68A2.49 2.49 0 0161.1 51h-5a2.49 2.49 0 01-2.49-2.49v-5a2.49 2.49 0 012.49-2.49h5a2.49 2.49 0 012.49 2.49z", + "fill-rule": "evenodd" + }] + }, + work_type_group: { + "xmlns": "http://www.w3.org/2000/svg", + "path": [{ + "d": "M79.9 29.3c0-.3-.1-.6-.3-.9l-8.2-8.1c-.1-.2-.4-.3-.7-.3h-7.9-14.2c-2.9-.1-5.3 2.3-5.4 5.2v26.5c0 2.9 2.4 5.3 5.3 5.3h26.1c2.9.1 5.3-2.3 5.4-5.2V30.7l-.1-1.4zm-23.5 21c0 1.3-1 2.3-2.3 2.3h-4.5c-1.2 0-2.2-1.1-2.2-2.3v-4.5c0-1.3 1-2.3 2.3-2.3h4.5c1.3 0 2.3 1 2.3 2.3l-.1 4.5zm0-12.4c0 1.3-1 2.3-2.3 2.3h-4.5c-1.2 0-2.2-1.1-2.2-2.3v-4.5c0-1.3 1-2.3 2.3-2.3h4.5c1.3 0 2.3 1 2.3 2.3l-.1 4.5zm12.5 12.4c0 1.3-1 2.3-2.3 2.3h-4.5c-1.3 0-2.3-1-2.3-2.3v-4.5c0-1.3 1-2.3 2.3-2.3h4.5c1.3 0 2.3 1 2.3 2.3v4.5zm0-12.4c0 1.3-1 2.3-2.3 2.3h-4.5c-1.3 0-2.3-1-2.3-2.3v-4.5c0-1.3 1-2.3 2.3-2.3h4.5c1.3 0 2.3 1 2.3 2.3v4.5z" + }, { + "d": "M42.8 62.7c-2.9 0-5.3-2.4-5.3-5.3v-5.1-22.2c-3.2 0-5.8 2.6-5.8 5.8v26.6c0 3.2 1.7 5.9 5.8 5.9h25c3.2 0 5.7-2.5 5.8-5.7H42.8z" + }, { + "d": "M31.1 74.3c-2.9 0-5.3-2.4-5.3-5.3v-5-22.3c-3.2 0-5.8 2.6-5.8 5.8v26.6c0 3.2 1.7 5.9 5.8 5.9h25c3.2 0 5.7-2.5 5.8-5.7H31.1c.1 0 0 0 0 0z" + }] + }, + viewBox: '0 0 100 100' + }; +} + +/* harmony default export */ var standard = (standard_icons); +// CONCATENATED MODULE: ./components/utilities/UNSAFE_direction/private/language-direction.jsx +function language_direction_typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { language_direction_typeof = function _typeof(obj) { return typeof obj; }; } else { language_direction_typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return language_direction_typeof(obj); } + +function language_direction_extends() { language_direction_extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return language_direction_extends.apply(this, arguments); } + +function language_direction_classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function language_direction_defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function language_direction_createClass(Constructor, protoProps, staticProps) { if (protoProps) language_direction_defineProperties(Constructor.prototype, protoProps); if (staticProps) language_direction_defineProperties(Constructor, staticProps); return Constructor; } + +function language_direction_inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) language_direction_setPrototypeOf(subClass, superClass); } + +function language_direction_setPrototypeOf(o, p) { language_direction_setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return language_direction_setPrototypeOf(o, p); } + +function language_direction_createSuper(Derived) { var hasNativeReflectConstruct = language_direction_isNativeReflectConstruct(); return function _createSuperInternal() { var Super = language_direction_getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = language_direction_getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return language_direction_possibleConstructorReturn(this, result); }; } + +function language_direction_possibleConstructorReturn(self, call) { if (call && (language_direction_typeof(call) === "object" || typeof call === "function")) { return call; } return language_direction_assertThisInitialized(self); } + +function language_direction_assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +function language_direction_isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } } + +function language_direction_getPrototypeOf(o) { language_direction_getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return language_direction_getPrototypeOf(o); } + +function language_direction_defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + + // eslint-disable-next-line camelcase + + + +var language_direction_LanguageDirectionHOC = function LanguageDirectionHOC(WrappedComponent) { + var _class, _temp; + + var componentName = WrappedComponent.displayName || WrappedComponent.name || 'Component'; + return _temp = _class = /*#__PURE__*/function (_Component) { + language_direction_inherits(LanguageDirection, _Component); + + var _super = language_direction_createSuper(LanguageDirection); + + function LanguageDirection() { + var _this; + + language_direction_classCallCheck(this, LanguageDirection); + + for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { + args[_key] = arguments[_key]; + } + + _this = _super.call.apply(_super, [this].concat(args)); + + language_direction_defineProperty(language_direction_assertThisInitialized(_this), "getWrappedComponent", function (value) { + return /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(WrappedComponent, language_direction_extends({}, _this.props, { + direction: value + })); + }); + + return _this; + } + + language_direction_createClass(LanguageDirection, [{ + key: "render", + value: function render() { + return ( + /*#__PURE__*/ + // eslint-disable-next-line react/jsx-pascal-case + external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(UNSAFE_DirectionSettings.Consumer, null, this.getWrappedComponent) + ); + } + }]); + + return LanguageDirection; + }(external_amd_react_commonjs_react_commonjs2_react_root_React_["Component"]), language_direction_defineProperty(_class, "displayName", "LanguageDirection(".concat(componentName, ")")), _temp; +}; + +/* harmony default export */ var language_direction = (language_direction_LanguageDirectionHOC); +// CONCATENATED MODULE: ./components/utilities/utility-icon/index.jsx +function utility_icon_extends() { utility_icon_extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return utility_icon_extends.apply(this, arguments); } + +function utility_icon_objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = utility_icon_objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; } + +function utility_icon_objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; } + +/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */ + +/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */ + + // This component's `checkProps` which issues warnings to developers about properties +// when in development mode (similar to React's built in development tools) + + + + + + + + + + +/* + * If inline icons are present and icon bundle imports are not just an empty object, then inline icons will be used instead of external icons that require HTTP access. + */ + +var utility_icon_UtilityIcon = function UtilityIcon(_ref, context) { + var _ref$name = _ref.name, + name = _ref$name === void 0 ? '' : _ref$name, + assistiveText = _ref.assistiveText, + category = _ref.category, + icon = _ref.icon, + path = _ref.path, + direction = _ref.direction, + rest = utility_icon_objectWithoutProperties(_ref, ["name", "assistiveText", "category", "icon", "path", "direction"]); + + utility_icon_check_props('UtilityIcon', { + name: name, + category: category, + path: path, + context: context + }); + var inlineIcons = { + action: icons_action, + custom: custom, + doctype: doctype, + standard: standard, + utility: utility + }; + var inlineData; + + if (icon) { + // Use SVG data passed in with `icon` prop + inlineData = icon; + } else if (Object.keys(inlineIcons[category]).length) { + // Use inline icon data if it exists. ENV variables will have to set to allow this. + inlineData = inlineIcons[category][name.toLowerCase()]; + inlineData.viewBox = inlineIcons[category].viewBox; + } + + var modifiedPath; + + if (path) { + // Use `path` prop of Icon if present + modifiedPath = path; + } else if (context.onRequestIconPath) { + modifiedPath = context.onRequestIconPath({ + category: category, + name: name + }); + } else if (context["".concat(category, "Sprite")]) { + // Use category sprite file from IconSettings if present + modifiedPath = "".concat(context["".concat(category, "Sprite")], "#").concat(name); + } else { + // Otherwise, use external URLs for icons + var svgAssetName = direction === DIRECTIONS.RTL ? 'symbols-rtl.svg' : 'symbols.svg'; + modifiedPath = context.iconPath && "".concat(context.iconPath, "/").concat(category, "-sprite/svg/").concat(svgAssetName, "#").concat(name); + } + + return inlineData ? /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(svg, utility_icon_extends({ + data: inlineData, + name: name + }, rest)) : /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("svg", utility_icon_extends({ + key: "".concat(name, "_").concat(category) + }, rest), /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("use", { + href: modifiedPath + })); +}; + +utility_icon_UtilityIcon.displayName = 'UtilityIcon'; +utility_icon_UtilityIcon.propTypes = { + assistiveText: prop_types_default.a.object, + category: prop_types_default.a.oneOf(['action', 'custom', 'doctype', 'standard', 'utility']), + + /** + * An SVG object to use instead of name / category, look in `design-system-react/icons` for examples + */ + icon: prop_types_default.a.object, + + /** + * Name of the icon. Visit <a href='http://www.lightningdesignsystem.com/resources/icons'>Lightning Design System Icons</a> to reference icon names. + */ + name: prop_types_default.a.string, + + /** + * Path to the icon. This will override any global icon settings. + */ + path: prop_types_default.a.string +}; +utility_icon_UtilityIcon.defaultProps = { + category: 'utility' +}; +utility_icon_UtilityIcon.contextTypes = { + iconPath: prop_types_default.a.string, + onRequestIconPath: prop_types_default.a.func, + actionSprite: prop_types_default.a.string, + customSprite: prop_types_default.a.string, + doctypeSprite: prop_types_default.a.string, + standardSprite: prop_types_default.a.string, + utilitySprite: prop_types_default.a.string +}; +/* harmony default export */ var utility_icon = (language_direction(utility_icon_UtilityIcon)); +// CONCATENATED MODULE: ./components/icon/button-icon/index.jsx +function button_icon_defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */ + +/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */ +// ### React + + // ### classNames +// [github.com/JedWatson/classnames](https://github.com/JedWatson/classnames) +// This project uses `classnames`, "a simple javascript utility for conditionally +// joining classNames together." + + // This component's `checkProps` which issues warnings to developers about properties when in development mode (similar to React's built in development tools) + + // ### Children + + + +/** + * This is a non-interactive wrapper component for `UtilityIcon` that specifies button icon classes for an icon inside a `button` tag. Use of this component by itself is not recommended, but should be used as part of other components to obtain the correct styling for icons within buttons. This component only partially implements [Button Icons](http://www.lightningdesignsystem.com/components/button-icons). It does not return a `button` HTML tag. It only returns an icon for use within a button. Assistive text must also be rendered by the parent. + */ + +var button_icon_ButtonIcon = function ButtonIcon(props) { + var _classNames; + + check_props(BUTTON_ICON, props); + return /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(utility_icon, { + "aria-hidden": "true", + category: props.category, + className: classnames_default()('slds-button__icon', (_classNames = {}, button_icon_defineProperty(_classNames, "slds-button__icon_".concat(props.size), props.size && props.size !== 'medium'), button_icon_defineProperty(_classNames, 'slds-button__icon_inverse-hint', props.inverse && props.hint), button_icon_defineProperty(_classNames, 'slds-button__icon_hint', props.hint && !props.inverse), button_icon_defineProperty(_classNames, "slds-button__icon_".concat(props.position), props.position), _classNames), props.className) // iconClassName has been deprecated + , + icon: props.icon, + name: props.name, + path: props.path + }); +}; + +var button_icon_propTypes = { + /** + * Icon category from [lightningdesignsystem.com/icons/](https://www.lightningdesignsystem.com/icons/) + */ + category: prop_types_default.a.oneOf(['action', 'custom', 'doctype', 'standard', 'utility']).isRequired, + + /** + * Associates an icon button with another element on the page by changes the color of the SVG. Please reference <a href="http://www.lightningdesignsystem.com/components/buttons/#hint">Lightning Design System Buttons > Hint</a>. + */ + hint: prop_types_default.a.bool, + + /** + * An SVG object to use instead of name / category, look in `design-system-react/icons` for examples + */ + icon: prop_types_default.a.object, + + /** + * Class names to be added to the SVG. + */ + className: prop_types_default.a.oneOfType([prop_types_default.a.array, prop_types_default.a.object, prop_types_default.a.string]), + + /** + * Setting `inverse` to true will switch the color of the icon: light to dark, dark to light. + */ + inverse: prop_types_default.a.bool, + + /** + * Name of the icon. Visit <a href='http://www.lightningdesignsystem.com/resources/icons'>Lightning Design System Icons</a> to reference icon names. + */ + name: prop_types_default.a.string, + + /** + * Path to the icon. This will override any global icon settings. + */ + path: prop_types_default.a.string, + + /** + * Adds additional spacing on the opposite side specified between button icon and the button label + */ + position: prop_types_default.a.oneOf(['left', 'right']), + + /** + * Size of the icon. Visit [lightningdesignsystem.com/components/icons/#flavor-sizes](https://www.lightningdesignsystem.com/components/icons/#flavor-sizes) + */ + size: prop_types_default.a.oneOf(['x-small', 'small', 'medium', 'large']) +}; +var defaultProps = { + category: 'utility', + size: 'medium' +}; +button_icon_ButtonIcon.displayName = BUTTON_ICON; +button_icon_ButtonIcon.propTypes = button_icon_propTypes; +button_icon_ButtonIcon.defaultProps = defaultProps; +/* harmony default export */ var button_icon = (button_icon_ButtonIcon); +// CONCATENATED MODULE: ./utilities/get-component-doc.js +/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */ + +/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */ + +/* eslint-disable import/no-mutable-exports */ +var getComponentDocFn = function getComponentDocFnEmpty() {}; + +var baseURL = 'https://react.lightningdesignsystem.com'; + +if (false) {} + +/* harmony default export */ var get_component_doc = (getComponentDocFn); +// CONCATENATED MODULE: ./utilities/warning/if-one-then-both-required-property.js +/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */ + +/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */ + +/* eslint-disable import/no-mutable-exports */ +// This function will deliver an error message to the browser console one property is used but not both that are required. Either use neither or both properties. + +var ifOneThenBothRequiredProperty; + +if (false) { var if_one_then_both_required_property_hasWarned; } else { + ifOneThenBothRequiredProperty = function ifOneThenBothRequiredPropertyFunction() {}; +} + +/* harmony default export */ var if_one_then_both_required_property = (ifOneThenBothRequiredProperty); +// CONCATENATED MODULE: ./components/button/check-props.js +/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */ + +/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */ + +/* eslint-disable import/no-mutable-exports */ + + + + +var button_check_props_checkProps = function checkPropsFunction() {}; + +if (false) {} + +/* harmony default export */ var button_check_props = (button_check_props_checkProps); +// EXTERNAL MODULE: ./components/button/component.json +var button_component = __webpack_require__(28); + +// EXTERNAL MODULE: ./node_modules/popper.js/dist/esm/popper.js +var esm_popper = __webpack_require__(29); + +// EXTERNAL MODULE: ./node_modules/lodash.isequal/index.js +var lodash_isequal = __webpack_require__(9); +var lodash_isequal_default = /*#__PURE__*/__webpack_require__.n(lodash_isequal); + +// EXTERNAL MODULE: external {"amd":"react-dom","commonjs":"react-dom","commonjs2":"react-dom","root":"ReactDOM"} +var external_amd_react_dom_commonjs_react_dom_commonjs2_react_dom_root_ReactDOM_ = __webpack_require__(6); +var external_amd_react_dom_commonjs_react_dom_commonjs2_react_dom_root_ReactDOM_default = /*#__PURE__*/__webpack_require__.n(external_amd_react_dom_commonjs_react_dom_commonjs2_react_dom_root_ReactDOM_); + +// CONCATENATED MODULE: ./components/utilities/dialog/portal.jsx +function portal_typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { portal_typeof = function _typeof(obj) { return typeof obj; }; } else { portal_typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return portal_typeof(obj); } + +function portal_classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function portal_defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function portal_createClass(Constructor, protoProps, staticProps) { if (protoProps) portal_defineProperties(Constructor.prototype, protoProps); if (staticProps) portal_defineProperties(Constructor, staticProps); return Constructor; } + +function portal_inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) portal_setPrototypeOf(subClass, superClass); } + +function portal_setPrototypeOf(o, p) { portal_setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return portal_setPrototypeOf(o, p); } + +function portal_createSuper(Derived) { var hasNativeReflectConstruct = portal_isNativeReflectConstruct(); return function _createSuperInternal() { var Super = portal_getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = portal_getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return portal_possibleConstructorReturn(this, result); }; } + +function portal_possibleConstructorReturn(self, call) { if (call && (portal_typeof(call) === "object" || typeof call === "function")) { return call; } return portal_assertThisInitialized(self); } + +function portal_assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +function portal_isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } } + +function portal_getPrototypeOf(o) { portal_getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return portal_getPrototypeOf(o); } + +/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */ + +/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */ + + + +/* + * This component mounts its children within a disconnected render tree (portal). + */ + +var documentDefined = typeof document !== 'undefined'; + +var portal_Portal = /*#__PURE__*/function (_Component) { + portal_inherits(Portal, _Component); + + var _super = portal_createSuper(Portal); + + function Portal(props) { + var _this; + + portal_classCallCheck(this, Portal); + + _this = _super.call(this, props); + _this.portalNode = null; + _this.state = { + isOpen: false + }; + return _this; + } + + portal_createClass(Portal, [{ + key: "componentDidMount", + value: function componentDidMount() { + this.renderPortal(); + } + }, { + key: "componentDidUpdate", + value: function componentDidUpdate() { + this.renderPortal(); + } + }, { + key: "componentWillUnmount", + value: function componentWillUnmount() { + this.unmountPortal(); + } + }, { + key: "getChildren", + value: function getChildren() { + return external_amd_react_commonjs_react_commonjs2_react_root_React_["Children"].only(this.props.children); + } + }, { + key: "getPortalParentNode", + value: function getPortalParentNode() { + var element; + + if (typeof this.props.renderTo === 'string') { + element = document.querySelector(this.props.renderTo); + } else { + element = this.props.renderTo || documentDefined && document.body; + } + + return element; + } + }, { + key: "setupPortalNode", + value: function setupPortalNode() { + var parentParentNode = this.getPortalParentNode(); + this.portalNode = {}; + + if (documentDefined) { + this.portalNode = document.createElement(this.props.renderTag); + this.portalNode.setAttribute('style', 'display: block; height: 0px; width: 0px;'); + this.portalNode.setAttribute('className', 'design-system-react-portal'); + parentParentNode.appendChild(this.portalNode); + this.portalNodeInstance = this.props.onMount ? this.props.onMount(undefined, { + portal: this.portalNode + }) : this.portalNode; + } + } + }, { + key: "unmountPortal", + value: function unmountPortal() { + if (this.portalNode) { + external_amd_react_dom_commonjs_react_dom_commonjs2_react_dom_root_ReactDOM_default.a.unmountComponentAtNode(this.portalNode); + this.portalNode.parentNode.removeChild(this.portalNode); + } + + this.portalNode = null; + } + }, { + key: "updatePortal", + value: function updatePortal() { + var _this2 = this; + + if (this.props.id) { + this.portalNode.id = this.props.id; + } + + if (this.props.className) { + this.portalNode.className = this.props.className; + } + + if (this.props.style) { + Object.keys(this.props.style).forEach(function (key) { + _this2.portalNode.style[key] = _this2.props.style[key]; + }); + } + + if (this.props.onUpdate) { + this.portalNodeInstance = this.props.onUpdate(this.portalNodeInstance); + } + } + }, { + key: "renderPortal", + value: function renderPortal() { + var _this3 = this; + + // if no portal contents, then unmount + if (!this.getChildren() || !documentDefined) { + this.unmountPortal(); + return; + } + + if (!this.portalNode) { + this.setupPortalNode(); + } + + if (this.props.portalMount) { + this.props.portalMount({ + instance: this, + reactElement: this.getChildren(), + domContainerNode: this.portalNode, + updateCallback: function updateCallback() { + _this3.updatePortal(); // update after subtree renders + + } + }); + } else { + // actual render + external_amd_react_dom_commonjs_react_dom_commonjs2_react_dom_root_ReactDOM_default.a.unstable_renderSubtreeIntoContainer(this, this.getChildren(), this.portalNode, function () { + _this3.updatePortal(); // update after subtree renders + + + if (_this3.state.isOpen === false) { + if (_this3.props.onOpen) { + _this3.props.onOpen(undefined, { + portal: _this3.getChildren() + }); + } + + _this3.setState({ + isOpen: true + }); + } + }); + } + } + }, { + key: "render", + value: function render() { + return null; + } + }]); + + return Portal; +}(external_amd_react_commonjs_react_commonjs2_react_root_React_["Component"]); + +portal_Portal.displayName = 'Portal'; +portal_Portal.propTypes = { + /* + * What tag to use for the portal, defaults to `div`. + */ + renderTag: prop_types_default.a.string, + + /* + * What node the portal is rendered to, defaults to `document.body`. + */ + renderTo: prop_types_default.a.any, + + /* + * React id prop. + */ + id: prop_types_default.a.string, + + /* + * Accepts a _single_ element or component. + */ + children: prop_types_default.a.node, + + /* + * ClassName added to . + */ + className: prop_types_default.a.any, + + /* + * An object of styles that are applied to the portal. + */ + style: prop_types_default.a.object, + + /* + * Triggers when Portal render tree mounts. Pass in an undefined event and `{ portal: [node] }`` + */ + onMount: prop_types_default.a.func, + + /* + * Triggers when the portal is mounted. + */ + onOpen: prop_types_default.a.func, + + /* + * Triggers when Portal re-renders its tree. + */ + onUpdate: prop_types_default.a.func, + + /** + * If a dialog is `positione="overflowBoundaryElement"`, it will be rendered in a portal or separate render tree. This `portalMount` callback will be triggered instead of the the default `ReactDOM.unstable_renderSubtreeIntoContainer` and the function will mount the portal itself. Consider the following code that bypasses the internal mount and uses an Enzyme wrapper to mount the React root tree to the DOM. + * + * ``` + * <Popover + * isOpen + * portalMount={({ instance, reactElement, domContainerNode }) => { + * portalWrapper = Enzyme.mount(reactElement, { attachTo: domContainerNode }); + * }} + * onOpen={() => { + * expect(portalWrapper.find(`#my-heading`)).to.exist; + * done(); + * }} + * /> + * ``` + */ + portalMount: prop_types_default.a.func +}; +portal_Portal.defaultProps = { + renderTag: 'span', + renderTo: null, + onMount: function onMount() { + return null; + }, + onOpen: function onOpen() { + return null; + }, + onUpdate: function onUpdate() { + return null; + }, + onUnmount: function onUnmount() { + return null; + } +}; +/* harmony default export */ var portal = (portal_Portal); +// CONCATENATED MODULE: ./utilities/event.js +/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */ + +/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */ +var EventUtil = { + trapEvent: function trapEvent(event) { + if (!event) return; + event.preventDefault(); + event.stopPropagation(); + + if (event.nativeEvent && event.nativeEvent.preventDefault) { + event.nativeEvent.preventDefault(); + } + + if (event.nativeEvent && event.nativeEvent.stopPropagation) { + event.nativeEvent.stopPropagation(); + } + }, + trap: function trap(event) { + return EventUtil.trapEvent(event); + }, + trapImmediate: function trapImmediate(event) { + if (event.stopImmediatePropagation) { + event.stopImmediatePropagation(); + } + + if (event.nativeEvent && event.nativeEvent.stopImmediatePropagation) { + event.nativeEvent.stopImmediatePropagation(); + } + + EventUtil.trap(event); + } +}; +/* harmony default export */ var utilities_event = (EventUtil); +// CONCATENATED MODULE: ./utilities/key-code.js +var keys = { + ENTER: 13, + ESCAPE: 27, + SPACE: 32, + LEFT: 37, + UP: 38, + RIGHT: 39, + DOWN: 40, + TAB: 9, + DELETE: 46, + BACKSPACE: 8 +}; // Helpful for interaction/event tests. Use with simulate: +// `nodes.input.simulate('keyDown', keyObjects.DOWN);` + +var keyObjects = { + ENTER: { + key: 'Enter', + keyCode: keys.ENTER, + which: keys.ENTER + }, + ESCAPE: { + key: 'Escape', + keyCode: keys.ESCAPE, + which: keys.ESCAPE + }, + SPACE: { + key: 'Space', + keyCode: keys.SPACE, + which: keys.SPACE + }, + LEFT: { + key: 'Left', + keyCode: keys.LEFT, + which: keys.LEFT + }, + UP: { + key: 'Up', + keyCode: keys.UP, + which: keys.ESCAPE + }, + RIGHT: { + key: 'Right', + keyCode: keys.RIGHT, + which: keys.RIGHT + }, + DOWN: { + key: 'Down', + keyCode: keys.DOWN, + which: keys.DOWN + }, + TAB: { + key: 'Tab', + keyCode: keys.TAB, + which: keys.TAB + }, + DELETE: { + key: 'Delete', + keyCode: keys.DELETE, + which: keys.DELETE + }, + BACKSPACE: { + key: 'Backspace', + keyCode: keys.BACKSPACE, + which: keys.BACKSPACE + } +}; +/* harmony default export */ var key_code = (keys); + +// CONCATENATED MODULE: ./utilities/tabbable.js +/*! + * Adapted from jQuery UI core + * + * http://jqueryui.com + * + * Copyright 2014 jQuery Foundation and other contributors + * Released under the MIT license. + * http://jquery.org/license + * + * http://api.jqueryui.com/category/ui-core/ + */ +function focusable(element, isTabIndexNotNaN) { + var nodeName = element.nodeName.toLowerCase(); + + if (/input|select|textarea|button|object/.test(nodeName)) { + return !element.disabled; // eslint-disable-next-line no-else-return + } else if (nodeName === 'a') { + return element.href || isTabIndexNotNaN; + } + + return isTabIndexNotNaN; +} + +function tabbable(element) { + var tabIndex = element.getAttribute('tabindex'); + if (tabIndex === null) tabIndex = undefined; + var isTabIndexNaN = isNaN(tabIndex); + return (isTabIndexNaN || tabIndex >= 0) && focusable(element, !isTabIndexNaN); +} + +function findTabbableDescendants(element) { + return [].slice.call(element.querySelectorAll('*'), 0).filter(function (el) { + return tabbable(el); + }); +} + +/* harmony default export */ var utilities_tabbable = (findTabbableDescendants); +// CONCATENATED MODULE: ./utilities/execution-environment.js +/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */ + +/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */ +var canUseDOM = !!(typeof window !== 'undefined' && window.document && window.document.createElement); +var canUseEventListeners = canUseDOM && Boolean(window.addEventListener || window.attachEvent); +var canUseViewport = canUseDOM && Boolean(window.screen); + +// CONCATENATED MODULE: ./utilities/dom-element-focus.js + + + +var ancestor = null; +var focusLaterElement = null; + +var dom_element_focus_handleScopedKeyDown = function handleScopedKeyDown(event) { + if (!canUseDOM || !ancestor || event.keyCode !== key_code.TAB) { + return; + } + + var tabbableElements = utilities_tabbable(ancestor); + var finalTabbable = tabbableElements[event.shiftKey ? 0 : tabbableElements.length - 1]; + var leavingFinalTabbable = finalTabbable === document.activeElement || // handle immediate shift+tab after opening with mouse + ancestor === document.activeElement; + if (!leavingFinalTabbable) return; + event.preventDefault(); + var target = tabbableElements[event.shiftKey ? tabbableElements.length - 1 : 0]; + target.focus(); +}; // PUBLIC methods + + +var ElementFocus = { + focusAncestor: function focusAncestor(_ref) { + var isPortal = _ref.isPortal; + + if (canUseDOM) { + // When a portal is used (that is attaching a separate React mount, such as with Popover) programatic focusing within that portal may cause the window to scroll down to the DOM insertion point at the end of `body`. The following prevents the scrolling from occuring. + if (isPortal) { + var offset = window.pageYOffset; + ancestor.focus({ + preventScroll: true + }); + window.scrollTo(window.pageXOffset, offset); + } else { + ancestor.focus(); + } + } + }, + hasOrAncestorHasFocus: function hasOrAncestorHasFocus() { + return canUseDOM && (document.activeElement === ancestor || ancestor.contains(document.activeElement)); + }, + returnFocusToStoredElement: function returnFocusToStoredElement() { + if (canUseDOM) { + try { + focusLaterElement.focus(); + } catch (e) { + // eslint-disable-next-line no-console + console.warn("You tried to return focus to ".concat(focusLaterElement, " but it is not in the DOM anymore")); + } + + focusLaterElement = null; + } + }, + setupScopedFocus: function setupScopedFocus(_ref2) { + var ancestorElement = _ref2.ancestorElement; + ancestor = ancestorElement; + window.addEventListener('keydown', dom_element_focus_handleScopedKeyDown, false); + }, + storeActiveElement: function storeActiveElement() { + focusLaterElement = canUseDOM ? document.activeElement : null; + }, + teardownScopedFocus: function teardownScopedFocus() { + ancestor = null; + + if (canUseDOM) { + window.removeEventListener('keydown', dom_element_focus_handleScopedKeyDown); + } + } +}; +/* harmony default export */ var dom_element_focus = (ElementFocus); +// CONCATENATED MODULE: ./utilities/dialog-helpers.js +/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */ + +/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */ + + // Translates the prop into a string popper can use https://popper.js.org/popper-documentation.html#Popper.placements + +var dialog_helpers_mapPropToPopperPlacement = function mapPropToPopperPlacement(align, direction) { + var placement; + + switch (align) { + case 'top left': + placement = 'top-start'; + break; + + case 'top right': + placement = 'top-end'; + break; + + case 'right top': + placement = 'right-start'; + break; + + case 'right bottom': + placement = 'right-end'; + break; + + case 'bottom left': + placement = 'bottom-start'; + break; + + case 'bottom right': + placement = 'bottom-end'; + break; + + case 'left top': + placement = 'left-start'; + break; + + case 'left bottom': + placement = 'left-end'; + break; + + default: + placement = align; + } + + if (direction === DIRECTIONS.RTL) { + if (placement.indexOf('left') > -1) { + placement = placement.replace('left', 'right'); + } else if (placement.indexOf('right') > -1) { + placement = placement.replace('right', 'left'); + } else if (placement.indexOf('start') > -1) { + placement = placement.replace('start', 'end'); + } else if (placement.indexOf('end') > -1) { + placement = placement.replace('end', 'start'); + } + } + + return placement; +}; + +var dialog_helpers_getNubbinClassName = function getNubbinClassName(align) { + var popperData = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + + if (popperData.flipped) { + return classnames_default()({ + 'slds-nubbin_top': align === 'top', + 'slds-nubbin_top-left': align === 'top left', + 'slds-nubbin_top-right': align === 'top right', + 'slds-nubbin_bottom': align === 'bottom', + 'slds-nubbin_bottom-left': align === 'bottom left', + 'slds-nubbin_bottom-right': align === 'bottom right', + 'slds-nubbin_left': align === 'left', + 'slds-nubbin_left-bottom': align === 'left bottom', + 'slds-nubbin_left-top': align === 'left top', + 'slds-nubbin_right': align === 'right', + 'slds-nubbin_right-bottom': align === 'right bottom', + 'slds-nubbin_right-top': align === 'right top' + }); + } + + return classnames_default()({ + 'slds-nubbin_top': align === 'bottom', + 'slds-nubbin_top-left': align === 'bottom left', + 'slds-nubbin_top-right': align === 'bottom right', + 'slds-nubbin_bottom': align === 'top', + 'slds-nubbin_bottom-left': align === 'top left', + 'slds-nubbin_bottom-right': align === 'top right', + 'slds-nubbin_left': align === 'right', + 'slds-nubbin_left-bottom': align === 'right bottom', + 'slds-nubbin_left-top': align === 'right top', + 'slds-nubbin_right': align === 'left', + 'slds-nubbin_right-bottom': align === 'left bottom', + 'slds-nubbin_right-top': align === 'left top' + }); +}; + +var DISTANCE_OFFSET = 1.5; // 'rem' + +var NUBBIN_SIZE = 1; // 'rem' + +var ROTATED_HEIGHT = NUBBIN_SIZE / Math.sqrt(2); // 'rem' + +/* + * + * + * + * + */ +// FIXME - still need to account for border shadow of 2px. probably only needs to be added to the rotated height. +// TODO - should we convert all rem to pixels right from the get go? Keep units consistent. Memoize the values for perf? + +var getNubbinMargins = function getNubbinMargins() { + var popperData = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; + var placement = popperData.placement; + var top = 0; + var left = 0; + var DISTANCE_OFFSET_PX = 16 * DISTANCE_OFFSET; // FIXME - actually do a real convert based on font size. + + var ROTATED_HEIGHT_PX = 16 * ROTATED_HEIGHT; // FIXME - actually do a real convert based on font size. + + var halfWidth = popperData.offsets.reference.width * 0.5; + var halfHeight = popperData.offsets.reference.height * 0.5; + + if (placement === 'top') { + top = ROTATED_HEIGHT_PX * -1; + } else if (placement === 'top-end') { + top = ROTATED_HEIGHT_PX * -1; + left = DISTANCE_OFFSET_PX - halfWidth; + } else if (placement === 'top-start') { + top = ROTATED_HEIGHT_PX * -1; + left = halfWidth - DISTANCE_OFFSET_PX; + } + + if (placement === 'bottom') { + top = ROTATED_HEIGHT_PX; + } else if (placement === 'bottom-end') { + top = ROTATED_HEIGHT_PX; + left = DISTANCE_OFFSET_PX - halfWidth; + } else if (placement === 'bottom-start') { + top = ROTATED_HEIGHT_PX; + left = halfWidth - DISTANCE_OFFSET_PX; + } + + if (placement === 'right') { + left = ROTATED_HEIGHT_PX; + } else if (placement === 'right-end') { + left = ROTATED_HEIGHT_PX; + top = DISTANCE_OFFSET_PX - halfHeight; + } else if (placement === 'right-start') { + left = ROTATED_HEIGHT_PX; + top = halfHeight - DISTANCE_OFFSET_PX; + } + + if (placement === 'left') { + left = ROTATED_HEIGHT_PX * -1; + } else if (placement === 'left-end') { + left = ROTATED_HEIGHT_PX * -1; + top = DISTANCE_OFFSET_PX - halfHeight; + } else if (placement === 'left-start') { + left = ROTATED_HEIGHT_PX * -1; + top = halfHeight - DISTANCE_OFFSET_PX; + } + + return { + left: left, + top: top + }; +}; + + +// CONCATENATED MODULE: ./components/icon-settings/index.jsx +function icon_settings_typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { icon_settings_typeof = function _typeof(obj) { return typeof obj; }; } else { icon_settings_typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return icon_settings_typeof(obj); } + +function icon_settings_classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function icon_settings_defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function icon_settings_createClass(Constructor, protoProps, staticProps) { if (protoProps) icon_settings_defineProperties(Constructor.prototype, protoProps); if (staticProps) icon_settings_defineProperties(Constructor, staticProps); return Constructor; } + +function icon_settings_inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) icon_settings_setPrototypeOf(subClass, superClass); } + +function icon_settings_setPrototypeOf(o, p) { icon_settings_setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return icon_settings_setPrototypeOf(o, p); } + +function icon_settings_createSuper(Derived) { var hasNativeReflectConstruct = icon_settings_isNativeReflectConstruct(); return function _createSuperInternal() { var Super = icon_settings_getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = icon_settings_getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return icon_settings_possibleConstructorReturn(this, result); }; } + +function icon_settings_possibleConstructorReturn(self, call) { if (call && (icon_settings_typeof(call) === "object" || typeof call === "function")) { return call; } return icon_settings_assertThisInitialized(self); } + +function icon_settings_assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +function icon_settings_isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } } + +function icon_settings_getPrototypeOf(o) { icon_settings_getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return icon_settings_getPrototypeOf(o); } + +/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */ + +/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */ + + + +/** + * The Icon Settings component allows for the path to the icons to be specified in all child components and is recommended to be used at the root of the application. It's render function is `return this.props.children`, so it can only have one child node. + * + * **Individual sprites** + * If you are using webpack it is advised to use the sprite properties + * {actionSprite, standardSprite...} to specify the individual sprite paths so that webpack can + * easily re-write the paths. + * ``` + * import actionSprite from '......'; + * + * <IconSettings actionSprite={actionSprite} ......> + * ``` + * **Root icon path** + * Otherwise use the iconPath to specify the root path to where the icon files will be located in you application + * such as `/assets/icons`. + */ + +var IconSettings = /*#__PURE__*/function (_React$Component) { + icon_settings_inherits(IconSettings, _React$Component); + + var _super = icon_settings_createSuper(IconSettings); + + function IconSettings() { + icon_settings_classCallCheck(this, IconSettings); + + return _super.apply(this, arguments); + } + + icon_settings_createClass(IconSettings, [{ + key: "getChildContext", + value: function getChildContext() { + return { + iconPath: this.props.iconPath, + onRequestIconPath: this.props.onRequestIconPath, + actionSprite: this.props.actionSprite, + customSprite: this.props.customSprite, + doctypeSprite: this.props.doctypeSprite, + standardSprite: this.props.standardSprite, + utilitySprite: this.props.utilitySprite + }; + } + }, { + key: "render", + value: function render() { + return this.props.children; + } + }]); + + return IconSettings; +}(external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.Component); + +IconSettings.displayName = ICON_SETTINGS; +IconSettings.childContextTypes = { + iconPath: prop_types_default.a.string, + onRequestIconPath: prop_types_default.a.func, + actionSprite: prop_types_default.a.string, + customSprite: prop_types_default.a.string, + doctypeSprite: prop_types_default.a.string, + standardSprite: prop_types_default.a.string, + utilitySprite: prop_types_default.a.string +}; +IconSettings.propTypes = { + /** + * Path to the root icon folder + * example: `/assets/icons` + */ + iconPath: prop_types_default.a.string, + + /** + * Function to allow developers to return a custom icon path--for instance, on the same page with a local anchor (`#down`). This is helpful for when there are Cross-Origin Resource Sharing (CORS) issues with SVGs that are located on another domain such as a CDN. `({category, name}) => { return \`#${name}\` }` + */ + onRequestIconPath: prop_types_default.a.func, + + /** + * Path to the action sprite + * example: '@salesforce-ux/design-system/assets/icons/action-sprite/svg/symbols.svg'; + */ + actionSprite: prop_types_default.a.string, + + /** + * Path to the custom sprite + * example: '@salesforce-ux/design-system/assets/icons/custom-sprite/svg/symbols.svg'; + */ + customSprite: prop_types_default.a.string, + + /** + * Path to the doctype sprite + * example: '@salesforce-ux/design-system/assets/icons/doctype-sprite/svg/symbols.svg'; + */ + doctypeSprite: prop_types_default.a.string, + + /** + * Path to the standard sprite + * example: '@salesforce-ux/design-system/assets/icons/standard-sprite/svg/symbols.svg'; + */ + standardSprite: prop_types_default.a.string, + + /** + * Path to the utility sprite + * example: '@salesforce-ux/design-system/assets/icons/utility-sprite/svg/symbols.svg'; + */ + utilitySprite: prop_types_default.a.string +}; +/* harmony default export */ var icon_settings = (IconSettings); +// CONCATENATED MODULE: ./components/utilities/dialog/index.jsx +function dialog_typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { dialog_typeof = function _typeof(obj) { return typeof obj; }; } else { dialog_typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return dialog_typeof(obj); } + +function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; } + +function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { dialog_defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; } + +function dialog_classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function dialog_defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function dialog_createClass(Constructor, protoProps, staticProps) { if (protoProps) dialog_defineProperties(Constructor.prototype, protoProps); if (staticProps) dialog_defineProperties(Constructor, staticProps); return Constructor; } + +function dialog_inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) dialog_setPrototypeOf(subClass, superClass); } + +function dialog_setPrototypeOf(o, p) { dialog_setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return dialog_setPrototypeOf(o, p); } + +function dialog_createSuper(Derived) { var hasNativeReflectConstruct = dialog_isNativeReflectConstruct(); return function _createSuperInternal() { var Super = dialog_getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = dialog_getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return dialog_possibleConstructorReturn(this, result); }; } + +function dialog_possibleConstructorReturn(self, call) { if (call && (dialog_typeof(call) === "object" || typeof call === "function")) { return call; } return dialog_assertThisInitialized(self); } + +function dialog_assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +function dialog_isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } } + +function dialog_getPrototypeOf(o) { dialog_getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return dialog_getPrototypeOf(o); } + +function dialog_defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */ + +/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */ + + + + // ### classNames +// [github.com/JedWatson/classnames](https://github.com/JedWatson/classnames) +// This project uses `classnames`, "a simple javascript utility for conditionally +// joining classNames together." + + + + + + + + // #### Dialog doesn't pass down <IconSettings> context so repassing it here. + + // eslint-disable-next-line camelcase + + + +/* + * A Dialog is content that is separate from the typical flow of a page. It typically overlays other elements in the document flow. This is achieved with elevation (`z-index`) and one of the following: relative position, absolute position, or a new top-level React render tree (portal). A boundary element is a scrolling ancestor element or the edge of the browser (window/viewport). This element typically has an overflow (overflow-y/overflow-x) style that is scroll, hidden, or auto. Inverted placement is the flipping of the overlay element from top to bottom or left to right in order stay within a boundary element. + * + * * Dropdown menu (Combobox, DatePicker, et al.) placement is typically bottom-aligned and should be allowed to invert its placement when inside a boundary element this often happens within a modal. Dropdowns should not overflow boundary elements , since most boundary elements scroll vertically and have space for the menu. + * + * * If they are hidden, left and right placed overlay elements (such as Popover and Tooltip) should be placed within a portal element attached to the DOM <body>, but styled to align to its target/trigger. Since scrolling typically occurs on the vertical axis, this allows them to overflow boundary elements and still allow scrolling of content, yet still invert placement for the browser viewport. Portal elements are only necessary if an original ancestor boundary element exists. **No portals are created by default.** + * + * * Nubbins/arrows should be repositioned for any new placement/alignment. + * + * Allow Overflowing of Boundary Element: Allow applications to create a portal element attached to the DOM <body> to be outside of boundary elements if manual testing shows confusing alignment/poor usability/readability. This should be exception and not the default. + * + * Allow Inverted placement: Allow applications to prevent inverted placement if manual testing shows confusing alignment/poor usability/readability. + * + * ### How this new Dialog component works + * * There is no longer an inline render within components. All overlays should go through `Dialog`. `position: relative` just passes on the markup with some additional event listeners. No positional library is used. + * * The default `position: absolute` will run through three renders. It will first render the overlay at `0px/0px` offset of its parent. It will then store the target DOM node, once the DOM node is set, a state change will occur and tell a PopperJS instance to be created on update, once it is created, a third render is done to update the styles created by PopperJS. + * * `position: overflowBoundaryElement` will do the same three renders as `absolute` except that the initial render will create a disconnected render tree (portal) on the `body`. Then, the position will change once the target is stored. The portal itself will be rendered multiple times. The first will result in `onOpen` executing. Each update will result in a re-render of the disconnected render-tree. + * + * This component is private. + */ + +var dialog_Dialog = /*#__PURE__*/function (_React$Component) { + dialog_inherits(Dialog, _React$Component); + + var _super = dialog_createSuper(Dialog); + + function Dialog() { + var _this; + + dialog_classCallCheck(this, Dialog); + + for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { + args[_key] = arguments[_key]; + } + + _this = _super.call.apply(_super, [this].concat(args)); + + dialog_defineProperty(dialog_assertThisInitialized(_this), "state", { + triggerPopperJS: false, + isOpen: false + }); + + dialog_defineProperty(dialog_assertThisInitialized(_this), "getPropOffsetsInPixels", function (offsetString) { + var offsetArray = offsetString.split(' '); + return { + vertical: parseInt(offsetArray[0], 10), + horizontal: parseInt(offsetArray[1], 10) + }; + }); + + dialog_defineProperty(dialog_assertThisInitialized(_this), "getPopperStyles", function () { + var popperData = _this.state.popperData; + + if (!_this.popper || !popperData) { + return { + position: 'absolute', + pointerEvents: 'none' + }; + } + + var position = popperData.offsets.popper.position; + + var propOffsets = _this.getPropOffsetsInPixels(_this.props.offset); // FIXME before merge - gotta rename from margin to offset + + + var nubbinOffsets = _this.props.hasNubbin ? getNubbinMargins(_this.state.popperData) : { + left: 0, + top: 0 + }; + var left = popperData.offsets.popper.left + nubbinOffsets.left + propOffsets.horizontal; + var top = popperData.offsets.popper.top + nubbinOffsets.top + propOffsets.vertical; // A Dropdown with overflowBoundaryElement position and 'align=right' uses max-width instead of inherited children width + + var right = 'inherit'; + return _objectSpread(_objectSpread({}, popperData.style), {}, { + left: isNaN(left) ? 0 : left, + top: isNaN(top) ? 0 : top, + right: right, + position: position + }); + }); + + dialog_defineProperty(dialog_assertThisInitialized(_this), "setDialogContent", function (component) { + _this.dialogContent = component; + + if (!_this.state.triggerPopperJS) { + _this.setState({ + triggerPopperJS: true + }); + } + }); + + dialog_defineProperty(dialog_assertThisInitialized(_this), "handleClickOutside", function () { + _this.handleClose(); + }); + + dialog_defineProperty(dialog_assertThisInitialized(_this), "handleClose", function (event) { + var data = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + + if (!data.componentWillUnmount) { + _this.setState({ + triggerPopperJS: true + }); + } + + if (_this.props.onClose) { + _this.props.onClose(event, data); + } + }); + + dialog_defineProperty(dialog_assertThisInitialized(_this), "handleClick", function (event) { + if (event.nativeEvent) { + event.nativeEvent.preventDefault(); + event.nativeEvent.stopPropagation(); + } + }); + + dialog_defineProperty(dialog_assertThisInitialized(_this), "handleKeyDown", function (event) { + if (event.keyCode === key_code.TAB) { + if (_this.props.closeOnTabKey) { + utilities_event.trap(event); + + _this.handleClose(event); + } + } + + if (_this.props.onKeyDown) { + _this.props.onKeyDown(event); + } + }); + + dialog_defineProperty(dialog_assertThisInitialized(_this), "handleOpen", function () { + if (_this.props.variant === 'popover' && _this.dialogContent) { + dom_element_focus.storeActiveElement(); + dom_element_focus.setupScopedFocus({ + ancestorElement: _this.dialogContent + }); // eslint-disable-line react/no-find-dom-node + // Don't steal focus from inner elements + + if (!dom_element_focus.hasOrAncestorHasFocus()) { + dom_element_focus.focusAncestor({ + isPortal: _this.props.position === 'overflowBoundaryElement' + }); + } + } + + if (_this.props.onOpen) { + _this.props.onOpen(undefined, { + portal: _this.dialogContent + }); + } + }); + + dialog_defineProperty(dialog_assertThisInitialized(_this), "createPopper", function () { + var reference = _this.props.onRequestTargetElement(); // eslint-disable-line react/no-find-dom-node + + + var popper = _this.dialogContent; + var placement = dialog_helpers_mapPropToPopperPlacement(_this.props.align, _this.props.direction); + var eventsEnabled = true; // Lets popper listen to events (resize, scroll, etc.) + + var modifiers = { + applyStyle: { + enabled: false + }, + // moves dialog in order to not extend a boundary element such as a scrolling parent or a window/viewpoint. + preventOverflow: { + enabled: !_this.props.hasStaticAlignment, + boundariesElement: _this.props.position === 'absolute' ? 'scrollParent' : 'viewport' + }, + hide: { + enabled: false + }, + // By default, dialogs will flip their alignment if they extend beyond a boundary element such as a scrolling parent or a window/viewpoint + flip: { + enabled: !_this.props.hasStaticAlignment + }, + removeOnDestroy: true, + updateState: { + enabled: true, + order: 900, + fn: function fn(popperData) { + if (_this.state.popperData && !lodash_isequal_default()(popperData.offsets, _this.state.popperData.offsets) || !_this.state.popperData) { + _this.setState({ + popperData: popperData + }); + } + + return popperData; + } + } // arrow property can also point to an element + + }; + + if (!reference) { + console.error('Target node not found!', reference); // eslint-disable-line no-console + } + + if (!popper) { + console.error('Popper node not found!', popper); // eslint-disable-line no-console + } + + _this.popper = new esm_popper["a" /* default */](reference, popper, { + placement: placement, + eventsEnabled: eventsEnabled, + modifiers: modifiers + }); + + _this.popper.scheduleUpdate(); + }); + + dialog_defineProperty(dialog_assertThisInitialized(_this), "destroyPopper", function () { + if (_this.popper) { + _this.popper.destroy(); + } + }); + + return _this; + } + + dialog_createClass(Dialog, [{ + key: "componentDidMount", + value: function componentDidMount() { + if (this.props.position === 'absolute' || this.props.position === 'relative') { + this.handleOpen(); + } + } // eslint-disable-next-line camelcase, react/sort-comp + + }, { + key: "UNSAFE_componentWillUpdate", + value: function UNSAFE_componentWillUpdate() { + if (this.popper) { + this.popper.scheduleUpdate(); + } + } + }, { + key: "componentDidUpdate", + value: function componentDidUpdate(prevProps, prevState) { + if (this.state.triggerPopperJS === true && prevState.triggerPopperJS === false && (this.props.position === 'absolute' || this.props.position === 'overflowBoundaryElement') && this.dialogContent && this.props.onRequestTargetElement()) { + this.createPopper(); + } + } + }, { + key: "componentWillUnmount", + value: function componentWillUnmount() { + if (this.props.variant === 'popover') { + dom_element_focus.teardownScopedFocus(); + dom_element_focus.returnFocusToStoredElement(); + } + + if (this.props.position === 'absolute' || this.props.position === 'overflowBoundaryElement') { + this.destroyPopper(); + } + + this.handleClose(undefined, { + componentWillUnmount: true + }); + } + }, { + key: "render", + value: function render() { + var _this2 = this; + + var style = {}; + var role = this.props.variant === 'popover' ? 'dialog' : this.props.variant; + + if (this.props.position === 'absolute' || this.props.position === 'overflowBoundaryElement') { + style = _objectSpread(_objectSpread({}, style), {}, { + outline: 0 + }, this.getPopperStyles()); + } + + if (this.props.inheritWidthOf === 'target' && this.props.onRequestTargetElement()) { + style.width = this.props.onRequestTargetElement().getBoundingClientRect().width; + } else if (this.props.inheritWidthOf === 'menu' && this.dialogContent && this.dialogContent.querySelector('.slds-listbox')) { + // inherit menu renderer width + style.width = this.dialogContent.querySelector('.slds-listbox').getBoundingClientRect().width; + } + + style = _objectSpread(_objectSpread({}, style), this.props.style); + var outerTag = this.props.variant === 'popover' ? 'section' : 'div'; + var contents = /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(outerTag, _objectSpread({ + className: classnames_default()(dialog_defineProperty({ + 'absolute-positioned': this.props.position === 'absolute', + 'portal-positioned': this.props.position === 'overflowBoundaryElement' + }, "".concat(this.props.outsideClickIgnoreClass), this.props.position === 'overflowBoundaryElement'), this.props.hasNubbin && dialog_helpers_getNubbinClassName(this.props.align, this.state.popperData), this.props.contentsClassName) || undefined, + style: style, + onMouseDown: this.props.onMouseDown, + onKeyDown: this.handleKeyDown, + onMouseEnter: this.props.onMouseEnter, + onMouseLeave: this.props.onMouseLeave, + ref: this.setDialogContent, + role: role, + tabIndex: this.props.variant === 'popover' ? '-1' : undefined + }, this.props.containerProps), this.props.children); + var subRenders = { + absolute: function absolute() { + return contents; + }, + relative: function relative() { + return contents; + }, + overflowBoundaryElement: function overflowBoundaryElement() { + // Cycle through current context, create object of + // truthy values, and pass into Portal's context. + // TODO: Add test when switched to `ReactDOM.createPortal` + var truthyIconSettingsContext = Object.keys(icon_settings.childContextTypes).filter(function (key) { + return Boolean(_this2.context[key]); + }).reduce(function (accumulatedContext, key) { + return _objectSpread(_objectSpread({}, accumulatedContext), dialog_defineProperty({}, key, _this2.context[key])); + }, {}); + var wrapped = + /*#__PURE__*/ + // eslint-disable-next-line + external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(UNSAFE_DirectionSettings.Provider, { + value: _this2.props.direction + }, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(icon_settings, truthyIconSettingsContext, contents)); + return /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(portal, { + onOpen: _this2.handleOpen, + portalMount: _this2.props.portalMount + }, wrapped); + } + }; + return subRenders[this.props.position] && subRenders[this.props.position](); + } + }]); + + return Dialog; +}(external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.Component); + +dialog_defineProperty(dialog_Dialog, "displayName", DIALOG); + +dialog_defineProperty(dialog_Dialog, "propTypes", { + /** + * Alignment of the dialog with respect to the target (assuming left-to-right language direction). For example, + * a value of 'left bottom' indicates that the dialog will be rendered below and left-aligned with the target. + * Note that setting the direction prop to "rtl" will flip the resulting dialog alignment. + */ + align: prop_types_default.a.oneOf(['top', 'top left', 'top right', 'right', 'right top', 'right bottom', 'bottom', 'bottom left', 'bottom right', 'left', 'left top', 'left bottom']), + + /** + * CSS classes to be added to the absolutely positioned element. + */ + className: prop_types_default.a.oneOfType([prop_types_default.a.array, prop_types_default.a.object, prop_types_default.a.string]), + + /** + * CSS classes to be added to the wrapping `div` of the contents of the dialog. + */ + contentsClassName: prop_types_default.a.oneOfType([prop_types_default.a.array, prop_types_default.a.object, prop_types_default.a.string]), + + /** + * Contents of dialog + */ + children: prop_types_default.a.node.isRequired, + + /** + * Closes dialog when tab key is pressed + */ + closeOnTabKey: prop_types_default.a.bool, + + /** + * Props passed along to wrapping div. This allows one less wrapping `div` to be in the markup. dialog children are expected to be wrapper in a single `div`. + */ + containerProps: prop_types_default.a.object, + + /** + * Establishes directional context for component. Defaults to left-to-right. + */ + direction: prop_types_default.a.oneOf([DIRECTIONS.LTR, DIRECTIONS.RTL]), + + /** + * Will show the nubbin pointing from the dialog to the reference element. Positioning and offsets will be handled. + */ + hasNubbin: prop_types_default.a.bool, + + /** + * By default, dialogs will flip their alignment (such as bottom to top) if they extend beyond a boundary element such as a scrolling parent or a window/viewpoint. `hasStaticAlignment` disables this behavior and allows this component to extend beyond boundary elements. + */ + hasStaticAlignment: prop_types_default.a.bool, + + /** + * Sets the dialog width to the width of either 'target' (Menus attached to `input` typically follow this UX pattern), 'menu' or 'none. + */ + inheritWidthOf: prop_types_default.a.oneOf(['target', 'menu', 'none']), + + /** + * DEPRECATED - do not add checkProp deprecation message at this level. It is handled at higher level components. + * TODO - to be removed. + * Offset adds pixels to the absolutely positioned dropdown menu in the format: ([vertical]px [horizontal]px). SHOULD BE OBJECT ----------- + */ + offset: prop_types_default.a.string, + + /** + * Called when dialog closes and unmounts. + */ + onClose: prop_types_default.a.func, + + /** + * Called when a key pressed. + */ + onKeyDown: prop_types_default.a.func, + + /** + * Called when mouse hovers over the trigger button. This is only called if `this.props.openOn` is set to `hover`. + */ + onMouseEnter: prop_types_default.a.func, + + /** + * Called when mouse hover leaves the trigger button. This is only called if `this.props.openOn` is set to `hover`. + */ + onMouseLeave: prop_types_default.a.func, + + /** + * Called when dialog opens (that is mounts). The parameters are `undefined, { portal: this.portal }`. + */ + onOpen: prop_types_default.a.func, + + /** + * React component to be aligned with. Function should return a DOM `ref` from the parent component. + */ + onRequestTargetElement: prop_types_default.a.func.isRequired, + + /** + * Triggered when an item in the menu is clicked. + */ + outsideClickIgnoreClass: prop_types_default.a.string, + + /** + * If a dialog is `positione="overflowBoundaryElement"`, it will be rendered in a portal or separate render tree. This `portalMount` callback will be triggered instead of the the default `ReactDOM.unstable_renderSubtreeIntoContainer` and the function will mount the portal itself. Consider the following code that bypasses the internal mount and uses an Enzyme wrapper to mount the React root tree to the DOM. + * + * ``` + * <Popover + * isOpen + * portalMount={({ instance, reactElement, domContainerNode }) => { + * portalWrapper = Enzyme.mount(reactElement, { attachTo: domContainerNode }); + * }} + * onOpen={() => { + * expect(portalWrapper.find(`#my-heading`)).to.exist; + * done(); + * }} + * /> + * ``` + */ + portalMount: prop_types_default.a.func, + + /** + * Please select one of the following: + * * `absolute` - (default) The dialog will use `position: absolute` and style attributes to position itself. This allows inverted placement or flipping of the dialog. + * * `overflowBoundaryElement` - The dialog will overflow scrolling parents. Use on elements that are aligned to the left or right of their target and don't care about the target being within a scrolling parent. Typically this is a popover or tooltip. Dropdown menus can usually open up and down if no room exists. In order to achieve this a portal element will be created and attached to `body`. This element will render into that detached render tree. + * * `relative` - No styling or portals will be used. Menus will be positioned relative to their triggers. This is a great choice for HTML snapshot testing. + */ + position: prop_types_default.a.oneOf(['absolute', 'overflowBoundaryElement', 'relative']).isRequired, + + /** + * An object of CSS styles that are applied to the immediate parent `div` of the contents. Use this instead of margin props. + */ + style: prop_types_default.a.object, + + /** + * Sets which focus UX pattern to follow. For instance, popovers trap focus and must be exited to regain focus. Dropdowns and Tooltips never have focus. + */ + variant: prop_types_default.a.oneOf(['dropdown', 'popover', 'tooltip']) +}); + +dialog_defineProperty(dialog_Dialog, "defaultProps", { + align: 'bottom left', + direction: DIRECTIONS.LTR, + offset: '0px 0px', + outsideClickIgnoreClass: 'ignore-react-onclickoutside' +}); + +dialog_Dialog.contextTypes = { + iconPath: prop_types_default.a.string, + onRequestIconPath: prop_types_default.a.func, + actionSprite: prop_types_default.a.string, + customSprite: prop_types_default.a.string, + doctypeSprite: prop_types_default.a.string, + standardSprite: prop_types_default.a.string, + utilitySprite: prop_types_default.a.string +}; +/* harmony default export */ var dialog = (language_direction(dialog_Dialog)); +// CONCATENATED MODULE: ./components/icon/check-props.js +/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */ + +/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */ + +/* eslint-disable import/no-mutable-exports */ + + + +var icon_check_props_checkProps = function checkPropsFunction() {}; + +if (false) {} + +/* harmony default export */ var icon_check_props = (icon_check_props_checkProps); +// EXTERNAL MODULE: ./components/icon/component.json +var icon_component = __webpack_require__(30); + +// CONCATENATED MODULE: ./utilities/class-names.js +// ### classNames +// [github.com/JedWatson/classnames](https://github.com/JedWatson/classnames) +// This project uses `classnames`, "a simple javascript utility for conditionally +// joining classNames together." + // eslint-disable-next-line fp/no-rest-parameters + +var class_names_classNamesWrapper = function classNamesWrapper() { + var string = classnames_default.a.apply(void 0, arguments); + return string === '' ? undefined : string; +}; + +/* harmony default export */ var class_names = (class_names_classNamesWrapper); +// EXTERNAL MODULE: ./utilities/product-tokens/icon-backgrounds.js +var icon_backgrounds = __webpack_require__(31); +var icon_backgrounds_default = /*#__PURE__*/__webpack_require__.n(icon_backgrounds); + +// CONCATENATED MODULE: ./components/icon/index.jsx +function icon_ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; } + +function icon_objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { icon_ownKeys(Object(source), true).forEach(function (key) { icon_defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { icon_ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; } + +function icon_defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */ + +/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */ +// # Icon Component + + + + // ### classNames +// [github.com/JedWatson/classnames](https://github.com/JedWatson/classnames) +// A simple javascript utility for conditionally joining classNames together. + + // ## Children + + + + +var icon_defaultProps = { + assistiveText: {}, + category: 'standard', + colorVariant: 'default', + size: 'medium' +}; +/** + * The Icon component is the Lightning Design System Icon component and should be used for naked icons. For icons that are buttons, use the <a href='/components/buttons/'>Button component</a> component with <code>variant='icon'</code>. + */ + +var icon_Icon = function Icon(props) { + icon_check_props(ICON, props, icon_component); + var category = props.category, + className = props.className, + colorVariant = props.colorVariant, + containerClassName = props.containerClassName, + containerStyle = props.containerStyle, + icon = props.icon, + inverse = props.inverse, + name = props.name, + path = props.path, + size = props.size, + title = props.title, + productTheme = props.productTheme; + var style = props.style; + + if (productTheme) { + style = icon_objectSpread({ + backgroundColor: icon_backgrounds_default.a[productTheme] + }, style); + } + + var assistiveText = typeof props.assistiveText === 'string' ? props.assistiveText : icon_objectSpread(icon_objectSpread({}, icon_defaultProps.assistiveText), props.assistiveText).label; + var kababCaseName = name ? name.replace(/_/g, '-') : ''; + return /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("span", { + className: class_names(icon_defineProperty({ + 'slds-icon_container': category !== 'utility', + 'slds-icon_container_circle': category === 'action' + }, "slds-icon-".concat(category, "-").concat(kababCaseName), category !== 'utility' && category !== 'doctype' && !path), containerClassName), + style: containerStyle, + title: title + }, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(utility_icon, { + "aria-hidden": "true", + category: category, + className: class_names(className, 'slds-icon', { + 'slds-icon_xx-small': size === 'xx-small', + 'slds-icon_x-small': size === 'x-small', + 'slds-icon_small': size === 'small', + // medium intentially not present + 'slds-icon_large': size === 'large', + // if category is `utility` and `inverse` is false (default), icon will be dark // return true + // if category is `utility` and `inverse` is true, icon will be light // return false + // if category is NOT `utility` and `inverse` is false (default), icon will be light // return false + // if category is NOT `utility` and `inverse` is true, icon will be dark // return true + 'slds-icon-text-default': colorVariant === 'default' && category === 'utility' ? !inverse : inverse, + 'slds-icon-text-warning': colorVariant === 'warning', + 'slds-icon-text-error': colorVariant === 'error', + 'slds-icon-text-light': colorVariant === 'light' + }), + icon: icon, + name: name, + path: path, + style: style + }), assistiveText ? /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("span", { + className: "slds-assistive-text" + }, assistiveText) : ''); +}; // ### Display Name +// Always use the canonical component name as the React display name. + + +icon_Icon.displayName = ICON; // ### Prop Types + +icon_Icon.propTypes = { + /** + * **Assistive text for accessibility.** + * This object is merged with the default props object on every render. + * * `label`: Text that is visually hidden but read aloud by screenreaders to tell the user what the icon means. Naked icons must have assistive text, however, if you also have visible descriptive text with the icon, declare this prop as <code>assistiveText=''</code>. + */ + assistiveText: prop_types_default.a.shape({ + label: prop_types_default.a.string + }), + + /** + * Icon category from [lightningdesignsystem.com/icons/](https://www.lightningdesignsystem.com/icons/) + */ + category: prop_types_default.a.oneOf(['action', 'custom', 'doctype', 'standard', 'utility']).isRequired, + + /** + * CSS classes that are applied to the SVG. + */ + className: prop_types_default.a.oneOfType([prop_types_default.a.array, prop_types_default.a.object, prop_types_default.a.string]), + + /** + * CSS classes that are applied to the span. + */ + containerClassName: prop_types_default.a.oneOfType([prop_types_default.a.array, prop_types_default.a.object, prop_types_default.a.string]), + + /** + * Styles that are applied to the span. + */ + containerStyle: prop_types_default.a.object, + + /** + * Icon color variants + */ + colorVariant: prop_types_default.a.oneOf(['base', 'default', 'error', 'light', 'warning']), + + /** + * A custom SVG object to use instead of the supplied SLDS icons, look in `design-system-react/icons` for examples and syntax. + */ + icon: prop_types_default.a.object, + + /** + * Setting `inverse` to true will switch the color of the icon: light to dark, dark to light. + */ + inverse: prop_types_default.a.bool, + + /** + * Name of the icon. Visit <a href='http://www.lightningdesignsystem.com/resources/icons'>Lightning Design System Icons</a> to reference icon names. + */ + name: prop_types_default.a.string, + + /** + * Path to the icon. This will override any global icon settings + */ + path: prop_types_default.a.string, + + /** + * Background theme color for the icon. **Only compatible with icon category `standard`** + */ + productTheme: prop_types_default.a.oneOf(['global-setup', 'service-cloud', 'industry-cloud', 'sales-cloud', 'commerce-cloud', 'community-cloud', 'marketing-cloud', 'quip']), + + /** + * Size of the icon. Visit [lightningdesignsystem.com/components/icons/#flavor-sizes](https://www.lightningdesignsystem.com/components/icons/#flavor-sizes) + */ + size: prop_types_default.a.oneOf(['xx-small', 'x-small', 'small', 'medium', 'large']), + + /** + * Custom styles to be passed to the SVG. Could be used to change icon or background color. + */ + style: prop_types_default.a.object, + + /** + * Title attribute for the icon container + */ + title: prop_types_default.a.string +}; +icon_Icon.defaultProps = icon_defaultProps; +/* harmony default export */ var components_icon = (icon_Icon); +// CONCATENATED MODULE: ./utilities/warning/deprecated-property.js +/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */ + +/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */ + +/* eslint-disable import/no-mutable-exports */ +// This function will deliver an error message to the browser console about the removal of a property. + + +var deprecated = function deprecatedFunction() {}; + +if (false) { var deprecated_property_hasWarned; } + +/* harmony default export */ var deprecated_property = (deprecated); +// CONCATENATED MODULE: ./utilities/warning/deprecated-property-value.js +/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */ + +/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */ + +/* eslint-disable import/no-mutable-exports */ + +/* eslint-disable max-len */ +// This function will deliver an error message to the browser console about the future of a removal and moving of a property's valid value to another prop. This makes the most sense to be used with `oneOf` prop types. + + +var deprecated_property_value_deprecated = function deprecatedFunction() {}; + +if (false) { var deprecated_property_value_hasWarned; } + +/* harmony default export */ var deprecated_property_value = (deprecated_property_value_deprecated); +// CONCATENATED MODULE: ./utilities/warning/is-trigger-tabbable.js +/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */ + +/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */ + +/* eslint-disable import/no-mutable-exports */ +// This function will deliver an error message to the browser console about the removal of a property. + + +/* eslint-disable import/no-mutable-exports */ + +var isTriggerTabbable = function isTriggerTabbableFunction() {}; + +if (false) { var is_trigger_tabbable_hasWarned; } + +/* harmony default export */ var is_trigger_tabbable = (isTriggerTabbable); +// CONCATENATED MODULE: ./components/tooltip/check-props.js +/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */ + +/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */ + +/* eslint-disable import/no-mutable-exports */ + + + + + + +var tooltip_check_props_checkProps = function checkPropsFunction() {}; + +if (false) {} + +/* harmony default export */ var tooltip_check_props = (tooltip_check_props_checkProps); +// EXTERNAL MODULE: ./components/tooltip/component.json +var tooltip_component = __webpack_require__(32); + +// CONCATENATED MODULE: ./components/tooltip/index.jsx +function tooltip_typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { tooltip_typeof = function _typeof(obj) { return typeof obj; }; } else { tooltip_typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return tooltip_typeof(obj); } + +function tooltip_ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; } + +function tooltip_objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { tooltip_ownKeys(Object(source), true).forEach(function (key) { tooltip_defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { tooltip_ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; } + +function tooltip_classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function tooltip_defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function tooltip_createClass(Constructor, protoProps, staticProps) { if (protoProps) tooltip_defineProperties(Constructor.prototype, protoProps); if (staticProps) tooltip_defineProperties(Constructor, staticProps); return Constructor; } + +function tooltip_inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) tooltip_setPrototypeOf(subClass, superClass); } + +function tooltip_setPrototypeOf(o, p) { tooltip_setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return tooltip_setPrototypeOf(o, p); } + +function tooltip_createSuper(Derived) { var hasNativeReflectConstruct = tooltip_isNativeReflectConstruct(); return function _createSuperInternal() { var Super = tooltip_getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = tooltip_getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return tooltip_possibleConstructorReturn(this, result); }; } + +function tooltip_possibleConstructorReturn(self, call) { if (call && (tooltip_typeof(call) === "object" || typeof call === "function")) { return call; } return tooltip_assertThisInitialized(self); } + +function tooltip_assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +function tooltip_isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } } + +function tooltip_getPrototypeOf(o) { tooltip_getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return tooltip_getPrototypeOf(o); } + +function tooltip_defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */ + +/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */ +// # Tooltip + + + // ### shortid +// [npmjs.com/package/shortid](https://www.npmjs.com/package/shortid) +// shortid is a short, non-sequential, url-friendly, unique id generator + + + + + // eslint-disable-next-line import/no-cycle + + // This component's `checkProps` which issues warnings to developers about properties when in development mode (similar to React's built in development tools) + + + // ### Display Name +// Always use the canonical component name as the React display name. + +var displayName = POPOVER_TOOLTIP; +var tooltip_propTypes = { + /** + * Alignment of the Tooltip relative to the element that triggers it. + */ + align: prop_types_default.a.oneOf(['top', 'top left', 'top right', 'right', 'right top', 'right bottom', 'bottom', 'bottom left', 'bottom right', 'left', 'left top', 'left bottom']).isRequired, + + /** + * **Assistive text for accessibility** + * This object is merged with the default props object on every render. + * * `tooltipTipLearnMoreIcon`: This text is inside the info icon within the tooltip content and exists to "complete the sentence" for assistive tech users. + * * `triggerLearnMoreIcon`: This text is inside the info icon that triggers the tooltip in order to have text within the link. + */ + assistiveText: prop_types_default.a.shape({ + tooltipTipLearnMoreIcon: prop_types_default.a.string, + triggerLearnMoreIcon: prop_types_default.a.string + }), + + /** + * Pass the one element that triggers the Tooltip as a child. It must be an element with `tabIndex` or an element that already has a `tabIndex` set such as an anchor or a button, so that keyboard users can tab to it. + */ + children: prop_types_default.a.node, + + /** + * Content inside Tooltip. + */ + content: prop_types_default.a.node.isRequired, + + /** + * CSS classes to be added to the popover dialog. That is the element with `.slds-popover` on it. + */ + dialogClassName: prop_types_default.a.oneOfType([prop_types_default.a.array, prop_types_default.a.object, prop_types_default.a.string]), + + /** + * Enabling this hides the default nubbin, replacing it with one attached directly to the tooltip trigger. Note: `hasStaticAlignment` should be set to `true` if using this feature as auto-flipping anchored nubbins are not currently supported. + */ + hasAnchoredNubbin: prop_types_default.a.bool, + + /** + * By default, dialogs will flip their alignment (such as bottom to top) if they extend beyond a boundary element such as a scrolling parent or a window/viewpoint. `hasStaticAlignment` disables this behavior and allows this component to extend beyond boundary elements. _Not tested._ + */ + hasStaticAlignment: prop_types_default.a.bool, + + /** + * Delay on Tooltip closing in milliseconds. Defaults to 50 + */ + hoverCloseDelay: prop_types_default.a.number, + + /** + * Delay on Tooltip opening in milliseconds. Defaults to 0 + */ + hoverOpenDelay: prop_types_default.a.number, + + /** + * A unique ID is needed in order to support keyboard navigation, ARIA support, and connect the popover to the triggering element. + */ + id: prop_types_default.a.string, + + /** + * **Text labels for internationalization** + * This object is merged with the default props object on every render. + * * `learnMoreAfter`: This label appears in the tooltip after the info icon. + * * `learnMoreBefore`: This label appears in the tooltip before the info icon. + */ + labels: prop_types_default.a.shape({ + learnMoreAfter: prop_types_default.a.string, + learnMoreBefore: prop_types_default.a.string + }), + + /** + * Forces tooltip to be open. A value of `false` will disable any interaction with the tooltip. + */ + isOpen: prop_types_default.a.bool, + + /** + * Callback that returns an element or React `ref` to align the Tooltip with. + */ + onRequestTargetElement: prop_types_default.a.func, + + /** + * CSS classes to be added to tag with `slds-tooltip-trigger`. + */ + triggerClassName: prop_types_default.a.oneOfType([prop_types_default.a.array, prop_types_default.a.object, prop_types_default.a.string]), + + /** + * Please select one of the following: + * * `absolute` - (default) The dialog will use `position: absolute` and style attributes to position itself. This allows inverted placement or flipping of the dialog. + * * `overflowBoundaryElement` - The dialog will overflow scrolling parents. Use on elements that are aligned to the left or right of their target and don't care about the target being within a scrolling parent. Typically this is a popover or tooltip. Dropdown menus can usually open up and down if no room exists. In order to achieve this a portal element will be created and attached to `body`. This element will render into that detached render tree. + * * `relative` - No styling or portals will be used. Menus will be positioned relative to their triggers. This is a great choice for HTML snapshot testing. + */ + position: prop_types_default.a.oneOf(['absolute', 'overflowBoundaryElement', 'relative']), + + /** + * Custom styles to be added to wrapping triggering `div`. + */ + triggerStyle: prop_types_default.a.object, + + /** + * Determines the theme of tooltip: for informative purpose (blue background) or warning purpose (red background). This used to be `variant`. + */ + theme: prop_types_default.a.oneOf(['info', 'error']), + + /** + * Determines the type of the tooltip. + */ + variant: prop_types_default.a.oneOf(['base', 'learnMore', 'list-item']) +}; +var tooltip_defaultProps = { + assistiveText: { + tooltipTipLearnMoreIcon: 'this link', + triggerLearnMoreIcon: 'Help' + }, + align: 'top', + // eslint-disable-next-line react/jsx-curly-brace-presence + content: /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("span", null, 'Tooltip'), + labels: { + learnMoreAfter: 'to learn more.', + learnMoreBefore: 'Click' + }, + hoverCloseDelay: 50, + hoverOpenDelay: 0, + position: 'absolute', + theme: 'info', + variant: 'base' +}; +/** + * The PopoverTooltip component is variant of the Lightning Design System Popover component. This component wraps an element that triggers it to open. It must be a focusable child element (either a button or an anchor), so that keyboard users can navigate to it. + */ + +var tooltip_Tooltip = /*#__PURE__*/function (_React$Component) { + tooltip_inherits(Tooltip, _React$Component); + + var _super = tooltip_createSuper(Tooltip); + + function Tooltip(props) { + var _this; + + tooltip_classCallCheck(this, Tooltip); + + _this = _super.call(this, props); + + tooltip_defineProperty(tooltip_assertThisInitialized(_this), "handleCancel", function () { + clearTimeout(_this.tooltipTimeout); + + _this.setState({ + isOpen: false + }); + }); + + tooltip_defineProperty(tooltip_assertThisInitialized(_this), "handleMouseEnter", function () { + clearTimeout(_this.tooltipTimeout); + _this.tooltipTimeout = setTimeout(function () { + if (!_this.isUnmounting) { + _this.setState({ + isOpen: true + }); + } + }, _this.props.hoverOpenDelay); + }); + + tooltip_defineProperty(tooltip_assertThisInitialized(_this), "handleMouseLeave", function () { + clearTimeout(_this.tooltipTimeout); + _this.tooltipTimeout = setTimeout(function () { + if (!_this.isUnmounting) { + _this.setState({ + isOpen: false + }); + } + }, _this.props.hoverCloseDelay); + }); + + tooltip_defineProperty(tooltip_assertThisInitialized(_this), "saveTriggerRef", function (component) { + _this.trigger = component; // yes, this is a re-render triggered by a render. + // Dialog/Popper.js cannot place the popover until + // the trigger/target DOM node is mounted. This + // way `findDOMNode` is not called and parent + // DOM nodes are not queried. + + if (!_this.state.triggerRendered) { + _this.setState({ + triggerRendered: true + }); + } + }); + + _this.state = { + isOpen: false + }; + _this.tooltipTimeout = {}; // `checkProps` issues warnings to developers about properties (similar to React's built in development tools) + + tooltip_check_props(POPOVER_TOOLTIP, props, tooltip_component); + _this.generatedId = shortid_default.a.generate(); + return _this; + } + + tooltip_createClass(Tooltip, [{ + key: "componentWillUnmount", + value: function componentWillUnmount() { + this.isUnmounting = true; + } + }, { + key: "getAnchoredNubbinStyles", + value: function getAnchoredNubbinStyles() { + if (this.props.hasAnchoredNubbin) { + var alignment = this.props.align.split(' ')[0]; + var nubbinContainerStyles = { + height: '0', + position: 'relative', + width: '0' + }; + var nubbinStyles = { + backgroundColor: '#16325c', + content: '', + height: '1rem', + position: 'absolute', + transform: 'rotate(45deg)', + width: '1rem' + }; + var triggerDimensions = { + height: this.trigger ? this.trigger.getBoundingClientRect().height : 0, + width: this.trigger ? this.trigger.getBoundingClientRect().width : 0 + }; + + switch (alignment) { + case 'bottom': + { + nubbinContainerStyles.left = "".concat(triggerDimensions.width / 2, "px"); + nubbinContainerStyles.top = "".concat(triggerDimensions.height, "px"); + nubbinStyles.left = '-8px'; + nubbinStyles.top = '3px'; + break; + } + + case 'left': + { + nubbinContainerStyles.left = '0'; + nubbinContainerStyles.top = "".concat(triggerDimensions.height / 2, "px"); + nubbinStyles.left = '-19px'; + nubbinStyles.top = '-9px'; + break; + } + + case 'right': + { + nubbinContainerStyles.left = "".concat(triggerDimensions.width, "px"); + nubbinContainerStyles.top = "".concat(triggerDimensions.height / 2, "px"); + nubbinStyles.left = '3px'; + nubbinStyles.top = '-9px'; + break; + } + + default: + { + nubbinContainerStyles.left = "".concat(triggerDimensions.width / 2, "px"); + nubbinContainerStyles.top = '0'; + nubbinStyles.left = '-8px'; + nubbinStyles.top = '-19px'; + } + } + + return /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.Fragment, null, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("style", null, "#".concat(this.getId(), ":after, #").concat(this.getId(), ":before {\n\tdisplay: none;\n}")), this.getIsOpen() ? /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + style: nubbinContainerStyles + }, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + style: nubbinStyles + })) : null); + } + + return null; + } + }, { + key: "getContent", + value: function getContent() { + var _this2 = this; + + var children; + var noChildrenProvided = external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.Children.count(this.props.children) === 0; + + if (noChildrenProvided && this.props.onClickTrigger) { + children = [/*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("a", { + href: "javascript:void(0)", + onClick: this.props.onClickTrigger + }, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(components_icon, { + category: "utility", + name: "info", + assistiveText: { + label: this.props.assistiveText.triggerLearnMoreIcon + }, + size: "x-small" + }))]; + } else if (noChildrenProvided) { + children = [/*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(components_button, { + "aria-disabled": true, + assistiveText: { + icon: this.props.assistiveText.triggerLearnMoreIcon + }, + iconCategory: "utility", + iconName: "info", + variant: "icon" + })]; + } else { + // eslint-disable-next-line prefer-destructuring + children = this.props.children; + } + + return external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.Children.map(children, function (child, i) { + return /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.cloneElement(child, { + key: i, + // eslint-disable-line react/no-array-index-key + 'aria-describedby': _this2.getIsOpen() ? _this2.getId() : undefined, + onBlur: _this2.handleMouseLeave, + onFocus: _this2.handleMouseEnter, + onMouseEnter: _this2.handleMouseEnter, + onMouseLeave: _this2.handleMouseLeave + }); + }); + } + }, { + key: "getId", + value: function getId() { + return this.props.id || this.generatedId; + } + }, { + key: "getIsOpen", + value: function getIsOpen() { + return this.props.isOpen === undefined ? this.state.isOpen : this.props.isOpen; + } + }, { + key: "getTooltip", + value: function getTooltip() { + var _this3 = this; + + var isOpen = this.getIsOpen(); + var align = this.props.align; // REMOVE AT NEXT BREAKING CHANGE (v1.0 or v0.9) + + var deprecatedWay = this.props.variant === 'error'; + return isOpen ? /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(dialog, { + closeOnTabKey: true, + hasNubbin: true, + contentsClassName: classnames_default()('slds-popover', 'slds-popover_tooltip', { + 'slds-theme_error': this.props.theme === 'error' || deprecatedWay + }, this.props.dialogClassName), + align: align, + context: this.context, + hasStaticAlignment: this.props.hasStaticAlignment, + onClose: this.handleCancel, + onRequestTargetElement: function onRequestTargetElement() { + return _this3.getTooltipTarget(); + }, + position: this.props.position, + variant: "tooltip", + containerProps: { + id: this.getId() + } + }, this.getTooltipContent()) : /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("span", null); + } + }, { + key: "getTooltipContent", + value: function getTooltipContent() { + return /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: "slds-popover__body" + }, this.props.content, this.props.variant === 'learnMore' && this.props.onClickTrigger ? /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: "slds-m-top_x-small", + "aria-hidden": "true" + }, this.props.labels.learnMoreBefore, ' ', /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(components_icon, { + assistiveText: { + label: this.props.assistiveText.tooltipTipLearnMoreIcon + }, + category: "utility", + inverse: true, + name: "info", + size: "x-small" + }), ' ', this.props.labels.learnMoreAfter, ' ') : null); + } + }, { + key: "getTooltipTarget", + value: function getTooltipTarget() { + if (this.props.onRequestTargetElement) { + return this.props.onRequestTargetElement(); + } // for backwards compatibility + + + if (this.props.target) { + return this.props.target; + } + + return this.trigger; + } + }, { + key: "render", + value: function render() { + var containerStyles = tooltip_objectSpread({ + display: 'inline-block', + lineHeight: '1' + }, this.props.triggerStyle); + + return /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: classnames_default()('slds-tooltip-trigger', this.props.triggerClassName), + style: containerStyles, + ref: this.saveTriggerRef + }, this.getAnchoredNubbinStyles(), this.getContent(), this.getTooltip()); + } + }]); + + return Tooltip; +}(external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.Component); + +tooltip_Tooltip.contextTypes = { + iconPath: prop_types_default.a.string +}; +tooltip_Tooltip.displayName = displayName; +tooltip_Tooltip.propTypes = tooltip_propTypes; +tooltip_Tooltip.defaultProps = tooltip_defaultProps; +/* harmony default export */ var tooltip = (tooltip_Tooltip); +// CONCATENATED MODULE: ./utilities/get-aria-props.js +function getAriaProps(props) { + return Object.keys(props).reduce(function (prev, key) { + if (key.substr(0, 5) === 'aria-') { + // eslint-disable-next-line no-param-reassign + prev[key] = props[key]; + } + + return prev; + }, {}); +} +// CONCATENATED MODULE: ./utilities/get-data-props.js +function getDataProps(props) { + return Object.keys(props).reduce(function (prev, key) { + if (key.substr(0, 5) === 'data-') { + // eslint-disable-next-line no-param-reassign + prev[key] = props[key]; + } + + return prev; + }, {}); +} +// CONCATENATED MODULE: ./utilities/get-form-props.js +var formPropsSet = new Set(['form', 'formAction', 'formEncType', 'formMethod', 'formNoValidate', 'formTarget']); +function getFormProps(props) { + return Object.keys(props).reduce(function (prev, key) { + if (formPropsSet.has(key)) { + // eslint-disable-next-line no-param-reassign + prev[key] = props[key]; + } + + return prev; + }, {}); +} +// CONCATENATED MODULE: ./components/button/index.jsx +function button_typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { button_typeof = function _typeof(obj) { return typeof obj; }; } else { button_typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return button_typeof(obj); } + +function button_extends() { button_extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return button_extends.apply(this, arguments); } + +function button_ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; } + +function button_objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { button_ownKeys(Object(source), true).forEach(function (key) { button_defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { button_ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; } + +function button_classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function button_defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function button_createClass(Constructor, protoProps, staticProps) { if (protoProps) button_defineProperties(Constructor.prototype, protoProps); if (staticProps) button_defineProperties(Constructor, staticProps); return Constructor; } + +function button_inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) button_setPrototypeOf(subClass, superClass); } + +function button_setPrototypeOf(o, p) { button_setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return button_setPrototypeOf(o, p); } + +function button_createSuper(Derived) { var hasNativeReflectConstruct = button_isNativeReflectConstruct(); return function _createSuperInternal() { var Super = button_getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = button_getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return button_possibleConstructorReturn(this, result); }; } + +function button_possibleConstructorReturn(self, call) { if (call && (button_typeof(call) === "object" || typeof call === "function")) { return call; } return button_assertThisInitialized(self); } + +function button_assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +function button_isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } } + +function button_getPrototypeOf(o) { button_getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return button_getPrototypeOf(o); } + +function button_defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */ + +/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */ +// Implements the [Button design pattern](https://lightningdesignsystem.com/components/buttons/) in React. +// Based on SLDS v2.2.1 + + + + + + + // eslint-disable-next-line import/no-cycle + + + + + + +var button_defaultProps = { + assistiveText: { + icon: '' + }, + disabled: false, + hint: false, + iconSize: 'medium', + responsive: false, + type: 'button', + variant: 'neutral' +}; +/** + * The Button component is the Lightning Design System Button component. The Button should be used for label buttons, icon buttons, or buttons that have both labels and icons. + * Either a <code>label</code> or <code>assistiveText.icon</code> is required; see the Prop Details table below. For buttons that maintain selected/unselected states, use the <a href="#/button-stateful">ButtonStateful</a> component. + * Although not listed in the prop table, all `aria-*`, `data-*` and `form*` props will be added to the `button` element if passed in. + */ + +var button_Button = /*#__PURE__*/function (_React$Component) { + button_inherits(Button, _React$Component); + + var _super = button_createSuper(Button); + + function Button(props) { + var _this; + + button_classCallCheck(this, Button); + + _this = _super.call(this, props); // `checkProps` issues warnings to developers about properties (similar to React's built in development tools) + + button_defineProperty(button_assertThisInitialized(_this), "getClassName", function () { + var _classNames; + + var isIcon = _this.props.variant === 'icon'; + var iconVariant = _this.props.iconVariant; + var iconMore = iconVariant === 'more'; + var iconBorder = iconVariant === 'border'; + var iconGlobalHeader = iconVariant === 'global-header'; + var showButtonVariant = _this.props.variant !== 'base' && !iconVariant && !_this.props.inverse && _this.props.variant !== 'link' || iconVariant === 'bare'; + var plainInverseBtn = _this.props.inverse && !isIcon; + var plainInverseIcon = _this.props.inverse && isIcon && !iconMore && !iconBorder; + var moreInverseIcon = _this.props.inverse && iconMore; + var borderInverseIcon = _this.props.inverse && iconBorder; // After hijacking `iconVariant` to let `Button` know it's in the header, we reset to container style for the actual button CSS. + + if (iconVariant === 'global-header') { + iconVariant = 'container'; + } + + return classnames_default()((_classNames = { + 'slds-button': _this.props.variant !== 'link' + }, button_defineProperty(_classNames, "slds-button_".concat(_this.props.variant), showButtonVariant), button_defineProperty(_classNames, 'slds-button_inverse', plainInverseBtn), button_defineProperty(_classNames, 'slds-button_icon-inverse', plainInverseIcon || moreInverseIcon), button_defineProperty(_classNames, 'slds-button_icon-border-inverse', borderInverseIcon), button_defineProperty(_classNames, "slds-button_icon-".concat(iconVariant), iconVariant && !borderInverseIcon), button_defineProperty(_classNames, 'slds-global-header__button_icon', iconGlobalHeader), button_defineProperty(_classNames, "slds-button_icon-".concat(_this.props.iconSize), iconVariant && _this.props.iconSize !== 'medium'), button_defineProperty(_classNames, 'slds-button_reset', _this.props.variant === 'link'), button_defineProperty(_classNames, 'slds-text-link', _this.props.variant === 'link'), _classNames), _this.props.className); + }); + + button_defineProperty(button_assertThisInitialized(_this), "handleClick", function (event) { + if (_this.props.onClick) { + _this.props.onClick(event, {}); + } + }); + + button_defineProperty(button_assertThisInitialized(_this), "renderIcon", function (name) { + var iconSize = !_this.props.iconSize || _this.props.iconVariant ? null : _this.props.iconSize; + return /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(button_icon, { + category: _this.props.iconCategory || 'utility' // BREAKING CHANGE we will introduce in 1.0. For the moment, set default prop here if none specified. + , + className: classnames_default()({ + 'slds-global-header__icon': _this.props.iconVariant === 'global-header' + }, _this.props.iconClassName), + hint: _this.props.hint, + inverse: _this.props.inverse, + name: name, + path: _this.props.iconPath, + position: _this.props.iconPosition, + size: iconSize + }); + }); + + button_defineProperty(button_assertThisInitialized(_this), "renderLabel", function () { + var iconOnly = _this.props.iconName || _this.props.iconPath; + var assistiveTextIcon = typeof _this.props.assistiveText === 'string' ? _this.props.assistiveText : button_objectSpread(button_objectSpread({}, button_defaultProps.assistiveText), _this.props.assistiveText).icon; + return iconOnly && assistiveTextIcon ? /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("span", { + className: "slds-assistive-text" + }, assistiveTextIcon) : _this.props.label; + }); + + button_defineProperty(button_assertThisInitialized(_this), "renderButton", function () { + var ariaProps = getAriaProps(_this.props); + var dataProps = getDataProps(_this.props); + var formProps = getFormProps(_this.props); + return ( + /*#__PURE__*/ + // eslint-disable-next-line react/button-has-type + external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("button", button_extends({ + className: _this.getClassName(), + disabled: _this.props.disabled, + id: _this.props.id, + onBlur: _this.props.onBlur, + onClick: _this.handleClick, + onFocus: _this.props.onFocus, + onKeyDown: _this.props.onKeyDown, + onKeyPress: _this.props.onKeyPress, + onKeyUp: _this.props.onKeyUp, + onMouseDown: _this.props.onMouseDown, + onMouseEnter: _this.props.onMouseEnter, + onMouseLeave: _this.props.onMouseLeave, + onMouseUp: _this.props.onMouseUp, + ref: function ref(component) { + if (_this.props.buttonRef) { + _this.props.buttonRef(component); + } + }, + tabIndex: _this.props.tabIndex, + title: _this.props.title // eslint-disable-next-line react/button-has-type + , + type: _this.props.type || 'button', + style: _this.props.style + }, ariaProps, dataProps, formProps), _this.props.iconPosition === 'right' ? _this.renderLabel() : null, _this.props.iconName || _this.props.iconPath ? _this.renderIcon(_this.props.iconName) : null, _this.props.iconVariant === 'more' ? /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(button_icon, { + category: "utility", + name: "down", + size: "x-small", + className: _this.props.iconClassName + }) : null, _this.props.iconPosition === 'left' || !_this.props.iconPosition ? _this.renderLabel() : null, _this.props.children // eslint-disable-line react/prop-types + ) + ); + }); + + button_defineProperty(button_assertThisInitialized(_this), "renderTooltip", function () { + return /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(tooltip, { + content: _this.props.tooltip + }, _this.renderButton); + }); + + button_check_props(BUTTON, props, button_component); + return _this; + } + + button_createClass(Button, [{ + key: "render", + value: function render() { + return this.props.tooltip ? this.renderTooltip() : this.renderButton(); + } + }]); + + return Button; +}(external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.Component); + +button_defineProperty(button_Button, "displayName", BUTTON); + +button_defineProperty(button_Button, "propTypes", { + /** + * **Assistive text for accessibility.** + * This object is merged with the default props object on every render. + * * `icon`: Text that is visually hidden but read aloud by screenreaders to tell the user what the icon means. If the button has an icon and a visible label, you can omit the <code>assistiveText.icon</code> prop and use the <code>label</code> prop. + */ + assistiveText: prop_types_default.a.shape({ + icon: prop_types_default.a.string + }), + + /** + * Callback that passes in the DOM reference of the `<button>` DOM node within this component. Primary use is to allow `focus` to be called. You should still test if the node exists, since rendering is asynchronous. `buttonRef={(component) => { if(component) console.log(component); }}` + */ + buttonRef: prop_types_default.a.func, + + /** + * CSS classes to be added to button. + */ + className: prop_types_default.a.oneOfType([prop_types_default.a.array, prop_types_default.a.object, prop_types_default.a.string]), + + /** + * Disables the button and adds disabled styling. + */ + disabled: prop_types_default.a.bool, + + /** + * Associates an icon button with another element on the page by changes the color of the SVG. Please reference <a href="http://www.lightningdesignsystem.com/components/buttons/#hint">Lightning Design System Buttons > Hint</a>. + */ + hint: prop_types_default.a.bool, + + /** + * Name of the icon category. Visit <a href="http://www.lightningdesignsystem.com/resources/icons">Lightning Design System Icons</a> to reference icon categories. + */ + iconCategory: react_required_if_default()(prop_types_default.a.oneOf(['action', 'custom', 'doctype', 'standard', 'utility']), function (props) { + return !!props.iconName; + }), + + /** + * CSS classes to be added to icon. + */ + iconClassName: prop_types_default.a.oneOfType([prop_types_default.a.array, prop_types_default.a.object, prop_types_default.a.string]), + + /** + * Name of the icon. Visit <a href="http://www.lightningdesignsystem.com/resources/icons">Lightning Design System Icons</a> to reference icon names. + */ + iconName: prop_types_default.a.string, + + /** + * Path to the icon. This will override any global icon settings. + */ + iconPath: prop_types_default.a.string, + + /** + * If omitted, icon position is centered. + */ + iconPosition: prop_types_default.a.oneOf(['left', 'right']), + + /** + * Determines the size of the icon. + */ + iconSize: prop_types_default.a.oneOf(['x-small', 'small', 'medium', 'large']), + + /** + * For icon variants, please reference <a href="http://www.lightningdesignsystem.com/components/buttons/#icon">Lightning Design System Icons</a>. + */ + iconVariant: prop_types_default.a.oneOf(['bare', 'container', 'border', 'border-filled', 'brand', 'more', 'global-header']), + + /** + * Id string applied to button node. + */ + id: prop_types_default.a.string, + + /** + * If true, button/icon is white. Meant for buttons or utility icons on dark backgrounds. + */ + inverse: prop_types_default.a.bool, + + /** + * Visible label on the button. If the button is an icon button with no label, you must use the <code>assistiveText.icon</code> prop. + */ + label: prop_types_default.a.oneOfType([prop_types_default.a.string, prop_types_default.a.node]), + + /** + * Triggered when focus is removed. + */ + onBlur: prop_types_default.a.func, + + /** + * Triggered when the button is clicked. + */ + onClick: prop_types_default.a.func, + + /** + * Triggered when component is focused. + */ + onFocus: prop_types_default.a.func, + + /** + * Triggered when a key is pressed down + */ + onKeyDown: prop_types_default.a.func, + + /** + * Triggered when a key is pressed and released + */ + onKeyPress: prop_types_default.a.func, + + /** + * Triggered when a key is released + */ + onKeyUp: prop_types_default.a.func, + + /** + * Triggered when a mouse button is pressed down + */ + onMouseDown: prop_types_default.a.func, + + /** + * Triggered when a mouse arrow hovers + */ + onMouseEnter: prop_types_default.a.func, + + /** + * Triggered when a mouse arrow no longer hovers + */ + onMouseLeave: prop_types_default.a.func, + + /** + * Triggered when a mouse button is released + */ + onMouseUp: prop_types_default.a.func, + + /** + * If true, button scales to 100% width on small form factors. + */ + responsive: prop_types_default.a.bool, + + /** + * Write <code>"-1"</code> if you don't want the user to tab to the button. + */ + tabIndex: prop_types_default.a.string, + + /** + * Button type + */ + type: prop_types_default.a.oneOf(['reset', 'submit', 'button']), + + /** + * HTML title attribute + */ + title: prop_types_default.a.string, + + /** + * [Deprecated] Tooltip on button. Button should be a child of `Tooltip` instead. + */ + tooltip: prop_types_default.a.node, + + /** + * Different types of buttons + */ + variant: prop_types_default.a.oneOf(['base', 'link', 'neutral', 'brand', 'outline-brand', 'destructive', 'success', 'text-destructive', 'icon']), + + /** + * Custom styles to be passed to the component + */ + style: prop_types_default.a.object +}); + +button_defineProperty(button_Button, "defaultProps", button_defaultProps); + +/* harmony default export */ var components_button = (button_Button); +// CONCATENATED MODULE: ./components/accordion/panel.jsx +/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */ + +/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */ +// Implements the [Accordion design +// pattern](https://www.lightningdesignsystem.com/components/accordion/) in +// React. Based on SLDS v2.3.2 + + + + + +var panel_propTypes = { + /** + * The panel content for the Accordion component. Accordion panels should be added as <AccordionPanel />. Event handler for the accordion panels should be added to `<AccordionPanel />`. Optional `panelContentActions` component may be passed as prop. _Tested with Mocha framework and snapshot testing._ + */ + children: prop_types_default.a.node, + + /** + * Indicates whether item is expanded or not, which should be handled by `onTogglePanel`. _Tested with Mocha framework and snapshot testing._ + */ + expanded: prop_types_default.a.bool.isRequired, + + /** + * Id of the item belonging to this panel. _Tested with snapshot testing._ + */ + id: prop_types_default.a.oneOfType([prop_types_default.a.number, prop_types_default.a.string]).isRequired, + + /** + * Component that can be passed as prop to `<Panel />`. As an example, a menu dropdown could be used here to handle additional actions for each accordion panel. _Tested with Mocha framework._ + */ + panelContentActions: prop_types_default.a.node, + + /** + * Callback that will run whenever there is a keydown on the panel button. Function doesn't change the state of the component. + */ + onKeyDownSummary: prop_types_default.a.func, + + /** + * Callback that will run whenever a panel is toggled. Function should handle state to toggle `expanded` prop. _Tested with Mocha framework._ + */ + onTogglePanel: prop_types_default.a.func.isRequired, + + /** + * Ref callback that will pass in panel's `input` tag + */ + refs: prop_types_default.a.shape({ + summaryButton: prop_types_default.a.func + }), + + /** + * Summary in the span element in the header of this panel. The summary is truncated and so the title element should contain the full text so that it is accessible on hover. _Tested with snapshot testing._ + */ + summary: prop_types_default.a.oneOfType([prop_types_default.a.string, prop_types_default.a.node]).isRequired, + + /** + * HTML title attribute. _Tested with snapshot testing._ + */ + title: prop_types_default.a.string +}; +/** + * The panel content for the Accordion component. + */ + +var panel_AccordionPanel = function AccordionPanel(_ref) { + var children = _ref.children, + expanded = _ref.expanded, + id = _ref.id, + panelContentActions = _ref.panelContentActions, + summary = _ref.summary, + title = _ref.title, + onClickSummary = _ref.onClickSummary, + onKeyDownSummary = _ref.onKeyDownSummary, + onTogglePanel = _ref.onTogglePanel, + refs = _ref.refs; + return /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("li", { + className: "slds-accordion__list-item" + }, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("section", { + className: classnames_default()('slds-accordion__section', { + 'slds-is-open': expanded + }) + }, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: "slds-accordion__summary" + }, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("h3", { + className: "slds-text-heading_small slds-accordion__summary-heading slds-has-flexi-truncate" + }, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(components_button, { + "aria-controls": "".concat(id, "-accordion-panel"), + "aria-expanded": expanded, + buttonRef: refs.summaryButton, + className: "slds-button_reset slds-accordion__summary-action", + iconCategory: "utility", + iconClassName: "slds-accordion__summary-action-icon slds-button__icon slds-button__icon_left", + iconName: "switch", + id: "".concat(id, "-accordion-button"), + onKeyDown: onKeyDownSummary, + onClick: function onClick(e) { + onClickSummary(); + onTogglePanel(e); + }, + variant: "base" + }, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("span", { + className: "slds-truncate", + title: title || summary + }, summary))), panelContentActions), /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + "aria-hidden": !expanded, + className: "slds-accordion__content", + id: "".concat(id, "-accordion-panel") + }, children))); +}; + +/* harmony default export */ var panel = (panel_AccordionPanel); +panel_AccordionPanel.propTypes = panel_propTypes; +panel_AccordionPanel.displayName = ACCORDION_PANEL; +// EXTERNAL MODULE: ./node_modules/lodash.assign/index.js +var lodash_assign = __webpack_require__(4); +var lodash_assign_default = /*#__PURE__*/__webpack_require__.n(lodash_assign); + +// CONCATENATED MODULE: ./components/alert/check-props.js +/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */ + +/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */ + +/* eslint-disable import/no-mutable-exports */ + + + +var alert_check_props_checkProps = function checkPropsFunction() {}; + +if (false) {} + +/* harmony default export */ var alert_check_props = (alert_check_props_checkProps); +// EXTERNAL MODULE: ./components/alert/component.json +var alert_component = __webpack_require__(33); + +// CONCATENATED MODULE: ./components/alert/index.jsx +function alert_typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { alert_typeof = function _typeof(obj) { return typeof obj; }; } else { alert_typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return alert_typeof(obj); } + +function alert_classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function alert_defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function alert_createClass(Constructor, protoProps, staticProps) { if (protoProps) alert_defineProperties(Constructor.prototype, protoProps); if (staticProps) alert_defineProperties(Constructor, staticProps); return Constructor; } + +function alert_inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) alert_setPrototypeOf(subClass, superClass); } + +function alert_setPrototypeOf(o, p) { alert_setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return alert_setPrototypeOf(o, p); } + +function alert_createSuper(Derived) { var hasNativeReflectConstruct = alert_isNativeReflectConstruct(); return function _createSuperInternal() { var Super = alert_getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = alert_getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return alert_possibleConstructorReturn(this, result); }; } + +function alert_possibleConstructorReturn(self, call) { if (call && (alert_typeof(call) === "object" || typeof call === "function")) { return call; } return alert_assertThisInitialized(self); } + +function alert_assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +function alert_isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } } + +function alert_getPrototypeOf(o) { alert_getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return alert_getPrototypeOf(o); } + +function alert_defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */ + +/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */ +// # Alert Component +// Implements the [Alert design pattern](https://lightningdesignsystem.com/components/alert/) in React. + + + + + + + + + + +var alert_propTypes = { + /** + * **Assistive text for accessibility** + * This object is merged with the default props object on every render. + * * `closeButton`: This is a visually hidden label for the close button. + * _Tested with snapshot testing._ + */ + assistiveText: prop_types_default.a.shape({ + closeButton: prop_types_default.a.oneOfType([prop_types_default.a.string, prop_types_default.a.node]) + }), + + /** + * CSS classes to be added to tag with `.slds-notify_alert`. Uses `classNames` [API](https://github.com/JedWatson/classnames). + * _Tested with snapshot testing._ + */ + className: prop_types_default.a.oneOfType([prop_types_default.a.array, prop_types_default.a.object, prop_types_default.a.string]), + + /** + * Allows user to click a close button. Banners should be dismissible only if they communicate future impact to the system, + * _Tested with snapshot testing._ + */ + dismissible: prop_types_default.a.bool, + + /** + * Icon of type `~/components/icon`. This icon will be cloned and additional props appended. The default icons are: + * * info variant: `utility:info` + * * error variant: `utility:error` + * * offline variant: `utility:offline` + * * warning variant: `utility:warning` + * + * _Tested with snapshot testing._ + */ + icon: prop_types_default.a.node, + + /** + * **Text labels for internationalization** + * This object is merged with the default props object on every render. + * * `heading`: text within heading tag + * * `headingLink`: Text of link that triggers `onClickHeadingLink`. Inline links should pass a keyed array of React components into `labels.heading`. + * + * _Tested with snapshot testing._ + */ + labels: prop_types_default.a.shape({ + heading: prop_types_default.a.oneOfType([prop_types_default.a.string, prop_types_default.a.node]), + headingLink: prop_types_default.a.oneOfType([prop_types_default.a.string, prop_types_default.a.node]) + }), + + /** + * Triggered by link. _Tested with Mocha testing._ + */ + onClickHeadingLink: prop_types_default.a.func, + + /** + * Triggered by close button. This is a controlled component. _Tested with Mocha testing._ + */ + onRequestClose: prop_types_default.a.func, + + /** + * Custom styles to be passed to the component. _Tested with Mocha testing._ + */ + style: prop_types_default.a.object, + + /** + * The type of alert. _Tested with snapshot testing._ + */ + variant: prop_types_default.a.oneOf(['error', 'info', 'offline', 'warning']).isRequired +}; +var alert_defaultProps = { + assistiveText: { + closeButton: 'Close' + }, + labels: {}, + variant: 'info' +}; +/** + * Alert banners communicate a state that affects the entire system, not just a feature or page. It persists over a session and appears without the user initiating the action. View [banner guidelines](https://www.lightningdesignsystem.com/guidelines/messaging/components/banners/). + */ + +var alert_Alert = /*#__PURE__*/function (_React$Component) { + alert_inherits(Alert, _React$Component); + + var _super = alert_createSuper(Alert); + + function Alert(props) { + var _this; + + alert_classCallCheck(this, Alert); + + _this = _super.call(this, props); + + alert_defineProperty(alert_assertThisInitialized(_this), "saveButtonRef", function (component) { + _this.closeButton = component; + + if (_this.state.isInitialRender) { + dom_element_focus.storeActiveElement(); + + if (_this.closeButton) { + _this.closeButton.focus(); + } + + _this.setState({ + isInitialRender: false + }); + } + }); + + _this.state = { + isInitialRender: true + }; // `checkProps` issues warnings to developers about properties (similar to React's built in development tools) + + alert_check_props(ALERT, props, alert_component); + return _this; + } + + alert_createClass(Alert, [{ + key: "componentWillUnmount", + value: function componentWillUnmount() { + dom_element_focus.returnFocusToStoredElement(); + } + }, { + key: "render", + value: function render() { + // Merge objects of strings with their default object + var assistiveText = lodash_assign_default()({}, alert_defaultProps.assistiveText, this.props.assistiveText); + var labels = lodash_assign_default()({}, alert_defaultProps.labels, this.props.labels); // BACKWARD COMPATIBILITY WITH NOTIFICATION + + var heading = labels.heading || this.props.content; // eslint-disable-line react/prop-types + + var onRequestClose = this.props.onRequestClose || this.props.onDismiss; // eslint-disable-line react/prop-types + + var assistiveTextVariant = { + info: 'info', + warning: 'warning', + error: 'error', + offline: 'offline' + }; + var defaultIcons = { + info: /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(components_icon, { + category: "utility", + name: "info" + }), + offline: /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(components_icon, { + category: "utility", + name: "offline" + }), + warning: /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(components_icon, { + category: "utility", + name: "warning" + }), + error: /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(components_icon, { + category: "utility", + name: "error" + }) + }; + var icon = this.props.icon ? this.props.icon : defaultIcons[this.props.variant]; // BACKWARD COMPATIBILITY WITH NOTIFICATION + + if (this.props.iconName && this.props.iconCategory) { + // eslint-disable-line react/prop-types + icon = /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(components_icon, { + category: this.props.iconCategory, + name: this.props.iconName + }); + } + + var clonedIcon = /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.cloneElement(icon, { + containerClassName: 'slds-m-right_x-small', + inverse: true, + size: 'x-small' + }); + /* eslint-disable no-script-url */ + + return /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: class_names('slds-notify slds-notify_alert slds-theme_alert-texture', { + 'slds-theme_info': this.props.variant === 'info', + 'slds-theme_warning': this.props.variant === 'warning', + 'slds-theme_error': this.props.variant === 'error', + 'slds-theme_offline': this.props.variant === 'offline' + }, this.props.className), + role: "alert", + style: this.props.style + }, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("span", { + className: "slds-assistive-text" + }, assistiveTextVariant[this.props.variant]), clonedIcon, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("h2", null, heading, ' ', labels.headingLink ? /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("a", { + onClick: this.props.onClickHeadingLink, + href: "javascript:void(0);" + }, labels.headingLink) : null), this.props.dismissible ? /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(components_button, { + assistiveText: { + icon: assistiveText.closeButton + }, + buttonRef: this.saveButtonRef, + className: "slds-notify__close", + iconCategory: "utility", + iconName: "close", + iconSize: "medium", + inverse: true, + onClick: onRequestClose, + title: assistiveText.closeButton, + variant: "icon" + }) : null); + } + }]); + + return Alert; +}(external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.Component); + +alert_Alert.defaultProps = alert_defaultProps; +alert_Alert.displayName = ALERT; +alert_Alert.propTypes = alert_propTypes; +/* harmony default export */ var components_alert = (alert_Alert); +// CONCATENATED MODULE: ./components/alert/container.jsx +function container_typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { container_typeof = function _typeof(obj) { return typeof obj; }; } else { container_typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return container_typeof(obj); } + +function container_classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function container_defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function container_createClass(Constructor, protoProps, staticProps) { if (protoProps) container_defineProperties(Constructor.prototype, protoProps); if (staticProps) container_defineProperties(Constructor, staticProps); return Constructor; } + +function container_inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) container_setPrototypeOf(subClass, superClass); } + +function container_setPrototypeOf(o, p) { container_setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return container_setPrototypeOf(o, p); } + +function container_createSuper(Derived) { var hasNativeReflectConstruct = container_isNativeReflectConstruct(); return function _createSuperInternal() { var Super = container_getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = container_getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return container_possibleConstructorReturn(this, result); }; } + +function container_possibleConstructorReturn(self, call) { if (call && (container_typeof(call) === "object" || typeof call === "function")) { return call; } return container_assertThisInitialized(self); } + +function container_assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +function container_isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } } + +function container_getPrototypeOf(o) { container_getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return container_getPrototypeOf(o); } + +/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */ + +/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */ +// # Alert Container Component + + + + +var container_propTypes = { + /** + * CSS classes to be added to tag with `.slds-notify_alert`. Uses `classNames` [API](https://github.com/JedWatson/classnames). + */ + className: prop_types_default.a.oneOfType([prop_types_default.a.array, prop_types_default.a.object, prop_types_default.a.string]), + + /** + * Alert components + */ + children: prop_types_default.a.node +}; +/** + * A fixed container for alert banners. + */ + +var container_AlertContainer = /*#__PURE__*/function (_React$Component) { + container_inherits(AlertContainer, _React$Component); + + var _super = container_createSuper(AlertContainer); + + function AlertContainer() { + container_classCallCheck(this, AlertContainer); + + return _super.apply(this, arguments); + } + + container_createClass(AlertContainer, [{ + key: "render", + value: function render() { + return /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: class_names('slds-notify-container', this.props.className) + }, this.props.children); + } + }]); + + return AlertContainer; +}(external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.Component); + +container_AlertContainer.displayName = ALERT_CONTAINER; +container_AlertContainer.propTypes = container_propTypes; +/* harmony default export */ var container = (container_AlertContainer); +// EXTERNAL MODULE: ./node_modules/lodash.isfunction/index.js +var lodash_isfunction = __webpack_require__(5); +var lodash_isfunction_default = /*#__PURE__*/__webpack_require__.n(lodash_isfunction); + +// CONCATENATED MODULE: ./utilities/warning/low-priority-warning.js +/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */ + +/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */ + +/* eslint-disable import/no-mutable-exports */ +var lowPriorityWarning = function printWarningFunction() {}; + +if (false) { var printWarning; } + +/* harmony default export */ var low_priority_warning = (lowPriorityWarning); +// CONCATENATED MODULE: ./utilities/warning/component-is-deprecated.js +/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */ + +/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */ + +/* eslint-disable import/no-mutable-exports */ +// This function will deliver a warning message to the browser console about the component being a deprecated component. + + +var isPrototype = function isPrototypeFunction() {}; + +if (false) { var component_is_deprecated_hasWarned; } + +/* harmony default export */ var component_is_deprecated = (isPrototype); +// CONCATENATED MODULE: ./utilities/warning/one-of-component.js +/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */ + +/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */ + +/* eslint-disable import/no-mutable-exports */ +// This function will deliver an error message to the browser console when all of the props passed in are undefined (falsey). + + +var oneOfComponent = function oneOfComponentFunction() {}; + +if (false) { var one_of_component_hasWarned; } + +/* harmony default export */ var one_of_component = (oneOfComponent); +// CONCATENATED MODULE: ./components/app-launcher/check-props.js +/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */ + +/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */ + +/* eslint-disable import/no-mutable-exports */ + + + + + + + +var app_launcher_check_props_checkProps = function checkPropsFunction() {}; + +if (false) {} + +/* harmony default export */ var app_launcher_check_props = (app_launcher_check_props_checkProps); +// EXTERNAL MODULE: ./components/app-launcher/component.json +var app_launcher_component = __webpack_require__(13); + +// EXTERNAL MODULE: ./node_modules/react-modal/lib/index.js +var lib = __webpack_require__(20); +var lib_default = /*#__PURE__*/__webpack_require__.n(lib); + +// CONCATENATED MODULE: ./components/modal/check-props.js +/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */ + +/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */ + +/* eslint-disable import/no-mutable-exports */ + +/* eslint-disable max-len */ + + + +var modal_check_props_checkProps = function checkPropsFunction() {}; + +if (false) {} + +/* harmony default export */ var modal_check_props = (modal_check_props_checkProps); +// CONCATENATED MODULE: ./components/settings.js +/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */ + +/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */ + +/* + * The following are component utility methods that aid in global settings. + */ + +var assetsPath = 'assets/'; +var appRoot; +var settings = { + setAssetsPath: function setAssetsPath(path) { + if (path) { + assetsPath = path; + } + }, + getAssetsPath: function getAssetsPath() { + return String(assetsPath); + }, + + /* + * The app element allows you to specify the portion of your app that should be hidden (via aria-hidden) + to prevent assistive technologies such as screenreaders from reading content outside of the content of + your modal. It can be specified in the following ways: + * element + Modal.setAppElement(appElement); + * query selector - uses the first element found if you pass in a class. + Modal.setAppElement('#your-app-element'); + */ + setAppElement: function setAppElement(el) { + if (el) { + appRoot = el; + lib_default.a.setAppElement(el); + } + }, + getAppElement: function getAppElement() { + return appRoot; + } +}; +/* harmony default export */ var components_settings = (settings); +// CONCATENATED MODULE: ./utilities/warning/check-app-element-set.js +/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */ + +/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */ + +/* eslint-disable import/no-mutable-exports */ + + + + +var checkAppElementIsSet = function checkAppElementIsSetFunction() {}; + +if (false) {} + +/* harmony default export */ var check_app_element_set = (checkAppElementIsSet); +// EXTERNAL MODULE: ./components/modal/component.json +var modal_component = __webpack_require__(34); + +// CONCATENATED MODULE: ./components/modal/index.jsx +function modal_typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { modal_typeof = function _typeof(obj) { return typeof obj; }; } else { modal_typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return modal_typeof(obj); } + +function modal_ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; } + +function modal_objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { modal_ownKeys(Object(source), true).forEach(function (key) { modal_defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { modal_ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; } + +function modal_defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +function modal_classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function modal_defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function modal_createClass(Constructor, protoProps, staticProps) { if (protoProps) modal_defineProperties(Constructor.prototype, protoProps); if (staticProps) modal_defineProperties(Constructor, staticProps); return Constructor; } + +function modal_inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) modal_setPrototypeOf(subClass, superClass); } + +function modal_setPrototypeOf(o, p) { modal_setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return modal_setPrototypeOf(o, p); } + +function modal_createSuper(Derived) { var hasNativeReflectConstruct = modal_isNativeReflectConstruct(); return function _createSuperInternal() { var Super = modal_getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = modal_getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return modal_possibleConstructorReturn(this, result); }; } + +function modal_possibleConstructorReturn(self, call) { if (call && (modal_typeof(call) === "object" || typeof call === "function")) { return call; } return modal_assertThisInitialized(self); } + +function modal_assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +function modal_isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } } + +function modal_getPrototypeOf(o) { modal_getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return modal_getPrototypeOf(o); } + +/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */ + +/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */ + +/* eslint-disable react/prefer-es6-class, jsx-a11y/no-noninteractive-element-interactions */ +// Implements the [Modal design pattern](https://lightningdesignsystem.com/components/modals/) in React. +// Based on SLDS v2.2.1 + + + + + // ### shortid +// [npmjs.com/package/shortid](https://www.npmjs.com/package/shortid) +// shortid is a short, non-sequential, url-friendly, unique id generator + + // This component's `checkProps` which issues warnings to developers about properties when in development mode (similar to React's built in development tools) + + + + + + +var modal_documentDefined = typeof document !== 'undefined'; +var windowDefined = typeof window !== 'undefined'; +var modal_propTypes = { + /** + * Vertical alignment of Modal. + */ + align: prop_types_default.a.oneOf(['top', 'center']), + + /** + * Boolean indicating if the appElement should be hidden. + */ + ariaHideApp: prop_types_default.a.bool, + + /** + * **Assistive text for accessibility.** + * This object is merged with the default props object on every render. + * * `dialogLabel`: This is a visually hidden label for the dialog. If not provided, `heading` is used. + * * `dialogLabelledBy`: This describes which node labels the dialog. If not provided and dialogLabel is unavailable, `id` is used. + * * `closeButton`: This is a visually hidden label for the close button. + */ + assistiveText: prop_types_default.a.shape({ + dialogLabel: prop_types_default.a.string, + dialogLabelledBy: prop_types_default.a.string, + closeButton: prop_types_default.a.string + }), + + /** + * Modal content. + */ + children: prop_types_default.a.node.isRequired, + + /** + * Custom CSS classes for the modal `section` node classed `.slds-modal` and the parent of `.slds-modal__container`. Uses `classNames` [API](https://github.com/JedWatson/classnames). + */ + className: prop_types_default.a.oneOfType([prop_types_default.a.array, prop_types_default.a.object, prop_types_default.a.string]), + + /** + * Custom CSS classes for the modal's container. This is the child element of `.slds-modal` with class `.slds-modal__container`. Uses `classNames` [API](https://github.com/JedWatson/classnames). + */ + containerClassName: prop_types_default.a.oneOfType([prop_types_default.a.array, prop_types_default.a.object, prop_types_default.a.string]), + + /** + * Custom CSS classes for the modal's body. This is the element that has overflow rules and should be used to set a static height if desired. Use `classNames` [API](https://github.com/JedWatson/classnames). + */ + contentClassName: prop_types_default.a.oneOfType([prop_types_default.a.array, prop_types_default.a.object, prop_types_default.a.string]), + + /** + * Custom styles for the modal's body. This is the element that has overflow rules and should be used to set a static height if desired. + */ + contentStyle: prop_types_default.a.object, + + /** + * If true, modal footer buttons render left and right. An example use case would be for "back" and "next" buttons. + */ + directional: prop_types_default.a.bool, + + /** + * If true, Modals cannot be dismissed by clicking on the close icon or pressing esc key. + */ + disableClose: prop_types_default.a.bool, + + /** + * If true, Modals can be dismissed by clicking outside of modal. If unspecified, defaults to disableClose. + */ + dismissOnClickOutside: prop_types_default.a.bool, + + /** + * Callback to fire with Modal is dismissed + */ + onRequestClose: prop_types_default.a.func, + + /** + * Accepts a node or array of nodes that are typically a `Button` or `ProgressIndicator`. If an array, the nodes render on the right side first but are then floated left and right if <code>directional</code> prop is `true`. + */ + footer: prop_types_default.a.oneOfType([prop_types_default.a.array, prop_types_default.a.node]), + + /** + * Allows for a custom modal header that does not scroll with modal content. If this is defined, `heading` and `tagline` will be ignored. The close button will still be present. + */ + header: prop_types_default.a.node, + + /** + * Adds CSS classes to the container surrounding the modal header and the close button. Use `classNames` [API](https://github.com/JedWatson/classnames). + */ + headerClassName: prop_types_default.a.oneOfType([prop_types_default.a.array, prop_types_default.a.object, prop_types_default.a.string]), + + /** + * Unique identifier for the modal. The id is automatically generated if not provided + */ + id: prop_types_default.a.string, + + /** + * Forces the modal to be open or closed. + */ + isOpen: prop_types_default.a.bool.isRequired, + + /** + * Function whose return value is the mount node to insert the Modal element into. The default is `() => document.body`. + */ + parentSelector: prop_types_default.a.func, + + /** + * Custom CSS classes for the portal DOM node. This node is a direct descendant of the `body` and is the parent of `ReactModal__Overlay`. Use `classNames` [API](https://github.com/JedWatson/classnames). + */ + portalClassName: prop_types_default.a.oneOfType([prop_types_default.a.array, prop_types_default.a.object, prop_types_default.a.string]), + + /** + * Styles the modal as a prompt. + */ + prompt: prop_types_default.a.oneOf(['success', 'warning', 'error', 'wrench', 'offline', 'info']), + + /** + * Specifies the modal's width. May be deprecated in favor of `width` in the future. + */ + size: prop_types_default.a.oneOf(['small', 'medium', 'large']), + + /** + * Content underneath the heading in the modal header. + */ + tagline: prop_types_default.a.node, + + /** + * Content underneath the title in the modal header. + */ + title: prop_types_default.a.node, + + /** + * Text heading at the top of a modal. + */ + heading: prop_types_default.a.node, + + /** + * Allows adding additional notifications within the modal. + */ + toast: prop_types_default.a.node +}; +var modal_defaultProps = { + assistiveText: { + dialogLabel: '', + dialogLabelledBy: '', + closeButton: 'Close' + }, + align: 'center', + ariaHideApp: true +}; +/** + * The Modal component is used for the Lightning Design System Modal and Notification > Prompt components. The Modal opens from a state change outside of the component itself (pass this state to the <code>isOpen</code> prop). For more details on the Prompt markup, please review the <a href="http://www.lightningdesignsystem.com/components/notifications#prompt">Notifications > Prompt</a>. + * + * By default, `Modal` will add `aria-hidden=true` to the `body` tag, but this disables some assistive technologies. To prevent this you can add the following to your application with `#mount` being the root node of your application that you would like to hide from assistive technologies when the `Modal` is open. + * ``` + * import settings from 'design-system-react/components/settings'; + * settings.setAppElement('#mount'); + * ``` + * This component uses a portalMount (a disconnected React subtree mount) to create a modal as a child of `body`. + */ + +var modal_Modal = /*#__PURE__*/function (_React$Component) { + modal_inherits(Modal, _React$Component); + + var _super = modal_createSuper(Modal); + + function Modal(props) { + var _this; + + modal_classCallCheck(this, Modal); + + _this = _super.call(this, props); + _this.state = { + isClosing: false + }; // Bind + + _this.handleModalClick = _this.handleModalClick.bind(modal_assertThisInitialized(_this)); + _this.closeModal = _this.closeModal.bind(modal_assertThisInitialized(_this)); + _this.dismissModalOnClickOutside = _this.dismissModalOnClickOutside.bind(modal_assertThisInitialized(_this)); + _this.generatedId = shortid_default.a.generate(); + modal_check_props(MODAL, props, modal_component); + + if (props.ariaHideApp) { + check_app_element_set(); + } + + return _this; + } + + modal_createClass(Modal, [{ + key: "componentDidMount", + value: function componentDidMount() { + this.setReturnFocus(); + this.updateBodyScroll(); + } + }, { + key: "componentDidUpdate", + value: function componentDidUpdate(prevProps, prevState) { + if (this.props.isOpen !== prevProps.isOpen) { + this.updateBodyScroll(); + } + + if (this.state.isClosing !== prevState.isClosing) { + if (this.state.isClosing) { + // This section of code should be removed once trigger.jsx + // and manager.jsx are removed. They appear to have + // been created in order to do modals in portals. + if (!this.isUnmounting) { + var el = external_amd_react_dom_commonjs_react_dom_commonjs2_react_dom_root_ReactDOM_default.a.findDOMNode(this); // eslint-disable-line react/no-find-dom-node + + if (el && el.parentNode && el.parentNode.getAttribute('data-slds-modal')) { + external_amd_react_dom_commonjs_react_dom_commonjs2_react_dom_root_ReactDOM_default.a.unmountComponentAtNode(el); + document.body.removeChild(el); + } + } + } + } + } + }, { + key: "componentWillUnmount", + value: function componentWillUnmount() { + this.isUnmounting = true; + this.clearBodyScroll(); + } + }, { + key: "getId", + value: function getId() { + return this.props.id || this.generatedId; + } + }, { + key: "getBorderRadius", + value: function getBorderRadius() { + var borderRadiusValue = '.25rem'; + var borderTopRadius = this.props.title || this.props.heading || this.props.header ? {} : { + borderTopLeftRadius: borderRadiusValue, + borderTopRightRadius: borderRadiusValue + }; + var borderBottomRadius = this.props.footer ? {} : { + borderBottomLeftRadius: borderRadiusValue, + borderBottomRightRadius: borderRadiusValue + }; + return modal_objectSpread(modal_objectSpread({}, borderTopRadius), borderBottomRadius); + } + }, { + key: "getModal", + value: function getModal() { + var modalStyle = this.props.align === 'top' ? { + justifyContent: 'flex-start' + } : null; + var borderRadius = this.getBorderRadius(); + var contentStyleFromProps = this.props.contentStyle || {}; + + var contentStyle = modal_objectSpread(modal_objectSpread({}, borderRadius), contentStyleFromProps); + + var dialogLabelledBy = null; + + if (this.props.assistiveText.dialogLabelledBy) { + // eslint-disable-next-line prefer-destructuring + dialogLabelledBy = this.props.assistiveText.dialogLabelledBy; + } else if (!this.props.assistiveText.dialogLabel && (this.props.heading || this.props.title)) { + dialogLabelledBy = "".concat(this.getId(), "-heading"); + } + + return ( + /*#__PURE__*/ + // temporarily disabling eslint for the onClicks on the div tags + + /* eslint-disable */ + external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("section", { + "aria-describedby": "".concat(this.getId(), "-modal-content"), + "aria-label": this.props.assistiveText.dialogLabel, + "aria-labelledby": dialogLabelledBy, + "aria-modal": true, + className: classnames_default()('slds-modal', 'slds-fade-in-open', this.props.size ? "slds-modal_".concat(this.props.size) : null, { + 'slds-modal_prompt': this.isPrompt() + }, this.props.className), + onClick: this.dismissModalOnClickOutside, + role: this.props.disableClose ? 'alertdialog' : 'dialog' + }, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: classnames_default()('slds-modal__container', this.props.containerClassName), + style: modalStyle + }, this.headerComponent(), /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: classnames_default()('slds-modal__content', this.props.contentClassName), + id: "".concat(this.getId(), "-modal-content"), + style: contentStyle, + onClick: this.handleModalClick + }, this.props.children), this.footerComponent())) + /* eslint-enable */ + + ); + } + }, { + key: "setReturnFocus", + value: function setReturnFocus() { + this.setState({ + returnFocusTo: modal_documentDefined ? document.activeElement : null + }); + } // eslint-disable-next-line class-methods-use-this + + }, { + key: "clearBodyScroll", + value: function clearBodyScroll() { + if (windowDefined && modal_documentDefined && document.body) { + document.body.style.overflow = 'inherit'; + } + } + }, { + key: "closeModal", + value: function closeModal() { + if (!this.props.disableClose) { + this.dismissModal(); + } + } + }, { + key: "dismissModal", + value: function dismissModal() { + this.setState({ + isClosing: true + }); + + if (this.state.returnFocusTo && this.state.returnFocusTo.focus) { + this.state.returnFocusTo.focus(); + } + + if (this.props.onRequestClose) { + this.props.onRequestClose(); + } + } + }, { + key: "dismissModalOnClickOutside", + value: function dismissModalOnClickOutside() { + // if dismissOnClickOutside is not set, default its value to disableClose + var dismissOnClickOutside = this.props.dismissOnClickOutside !== undefined ? this.props.dismissOnClickOutside : !this.props.disableClose; + + if (dismissOnClickOutside) { + this.dismissModal(); + } + } + }, { + key: "footerComponent", + value: function footerComponent() { + var footer = null; + var hasFooter = this.props.footer; + var footerClass = { + 'slds-modal__footer': true, + 'slds-modal__footer_directional': this.props.directional, + 'slds-theme_default': this.isPrompt() + }; + + if (hasFooter) { + footer = + /*#__PURE__*/ + // eslint-disable-next-line jsx-a11y/no-static-element-interactions, jsx-a11y/no-noninteractive-element-interactions + external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("footer", { + className: classnames_default()(footerClass, this.props.footerClassNames), + onClick: this.handleModalClick + }, this.props.footer); + } + + return footer; + } // eslint-disable-next-line class-methods-use-this + + }, { + key: "handleModalClick", + value: function handleModalClick(event) { + if (event && event.stopPropagation) { + event.stopPropagation(); + } + } + }, { + key: "handleSubmitModal", + value: function handleSubmitModal() { + this.closeModal(); + } + }, { + key: "headerComponent", + value: function headerComponent() { + var _classNames; + + var headerContent = this.props.header; + var headerEmpty = !headerContent && !(this.props.heading || this.props.title) && !this.props.tagline; + + var assistiveText = modal_objectSpread(modal_objectSpread({}, modal_defaultProps.assistiveText), this.props.assistiveText); + + var closeButtonAssistiveText = this.props.closeButtonAssistiveText || assistiveText.closeButton; + var closeButton = /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(components_button, { + assistiveText: { + icon: closeButtonAssistiveText + }, + iconCategory: "utility", + iconName: "close", + iconSize: "large", + inverse: true, + className: "slds-button_icon slds-modal__close", + onClick: this.closeModal, + title: closeButtonAssistiveText, + variant: "icon" + }); + + if (!headerContent && (this.props.heading || this.props.title) || this.props.tagline) { + headerContent = /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", null, this.props.toast, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("h2", { + className: classnames_default()({ + 'slds-text-heading_small': this.isPrompt(), + 'slds-text-heading_medium': !this.isPrompt() + }), + id: "".concat(this.getId(), "-heading") + }, this.props.heading ? this.props.heading : this.props.title), this.props.tagline ? /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("p", { + className: "slds-m-top_x-small" + }, this.props.tagline) : null); + } + + return ( + /*#__PURE__*/ + // eslint-disable-next-line jsx-a11y/no-static-element-interactions + external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("header", { + className: classnames_default()('slds-modal__header', (_classNames = { + 'slds-modal__header_empty': headerEmpty + }, modal_defineProperty(_classNames, "slds-theme_".concat(this.props.prompt), this.isPrompt()), modal_defineProperty(_classNames, 'slds-theme_alert-texture', this.isPrompt()), _classNames), this.props.headerClassName), + onClick: this.handleModalClick + }, this.props.disableClose ? null : closeButton, headerContent) + ); + } + }, { + key: "isPrompt", + value: function isPrompt() { + return this.props.prompt !== undefined; + } + }, { + key: "updateBodyScroll", + value: function updateBodyScroll() { + if (windowDefined && modal_documentDefined && document.body) { + if (this.props.isOpen) { + document.body.style.overflow = 'hidden'; + } else { + document.body.style.overflow = 'inherit'; + } + } + } + }, { + key: "render", + value: function render() { + var customStyles = { + content: { + position: 'default', + top: 'default', + left: 'default', + right: 'default', + bottom: 'default', + border: 'default', + background: 'default', + overflow: 'default', + WebkitOverflowScrolling: 'default', + borderRadius: 'default', + outline: 'default', + padding: 'default' + }, + overlay: { + zIndex: 8000, + // following SLDS guideline for z-index overlay + backgroundColor: 'default' + } + }; + return /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(lib_default.a, { + ariaHideApp: this.props.ariaHideApp, + contentLabel: "Modal", + isOpen: this.props.isOpen, + onRequestClose: this.closeModal, + style: customStyles, + parentSelector: this.props.parentSelector, + portalClassName: classnames_default()('ReactModalPortal', this.props.portalClassName) + }, this.getModal(), /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: "slds-backdrop slds-backdrop_open" + })); + } + }]); + + return Modal; +}(external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.Component); + +modal_Modal.displayName = MODAL; +modal_Modal.propTypes = modal_propTypes; +modal_Modal.defaultProps = modal_defaultProps; +/* harmony default export */ var modal = (modal_Modal); +// CONCATENATED MODULE: ./components/app-launcher/index.jsx +function app_launcher_typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { app_launcher_typeof = function _typeof(obj) { return typeof obj; }; } else { app_launcher_typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return app_launcher_typeof(obj); } + +function app_launcher_ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; } + +function app_launcher_objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { app_launcher_ownKeys(Object(source), true).forEach(function (key) { app_launcher_defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { app_launcher_ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; } + +function app_launcher_classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function app_launcher_defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function app_launcher_createClass(Constructor, protoProps, staticProps) { if (protoProps) app_launcher_defineProperties(Constructor.prototype, protoProps); if (staticProps) app_launcher_defineProperties(Constructor, staticProps); return Constructor; } + +function app_launcher_inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) app_launcher_setPrototypeOf(subClass, superClass); } + +function app_launcher_setPrototypeOf(o, p) { app_launcher_setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return app_launcher_setPrototypeOf(o, p); } + +function app_launcher_createSuper(Derived) { var hasNativeReflectConstruct = app_launcher_isNativeReflectConstruct(); return function _createSuperInternal() { var Super = app_launcher_getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = app_launcher_getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return app_launcher_possibleConstructorReturn(this, result); }; } + +function app_launcher_possibleConstructorReturn(self, call) { if (call && (app_launcher_typeof(call) === "object" || typeof call === "function")) { return call; } return app_launcher_assertThisInitialized(self); } + +function app_launcher_assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +function app_launcher_isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } } + +function app_launcher_getPrototypeOf(o) { app_launcher_getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return app_launcher_getPrototypeOf(o); } + +function app_launcher_defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */ + +/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */ +// # App Launcher Component +// Based on SLDS v2.1.0-rc.2 + + + + + // This component's `checkProps` which issues warnings to developers about properties when in development mode (similar to React's built in development tools) + + + // ## Children + + + +var app_launcher_defaultProps = { + assistiveText: { + trigger: 'Open App Launcher' + }, + ariaHideApp: true, + title: 'App Launcher' +}; +/** + * The App Launcher allows the user to quickly access all the apps and functionality with their organization. + * The App Launcher should generally only be used as a sub-component of the [Global Navigation Bar](/components/global-navigation-bar) + * + * USAGE EXAMPLE: + * ``` + * <AppLauncher> + * <AppLauncherExpandableSection> + * <AppLauncherTile /> + * <AppLauncherTile /> + * <AppLauncherTile /> + * </AppLauncherExpandableSection> + * <AppLauncherExpandableSection> + * <AppLauncherTile /> + * <AppLauncherTile /> + * </AppLauncherExpandableSection> + * </AppLauncher> + * ``` + * + * By default, `Modal`, a child component of App Launcher, will add `aria-hidden=true` to the `body` tag, but this disables some assistive technologies. To prevent this you can add the following to your application with `#mount` being the root node of your application that you would like to hide from assistive technologies when the `Modal` is open. + * ``` + * import settings from 'design-system-react/components/settings'; + * settings.setAppElement('#mount'); + * ``` + */ + +var app_launcher_AppLauncher = /*#__PURE__*/function (_React$Component) { + app_launcher_inherits(AppLauncher, _React$Component); + + var _super = app_launcher_createSuper(AppLauncher); + + // ### Display Name + // Always use the canonical component name as the React display name. + // ### Prop Types + function AppLauncher(props) { + var _this; + + app_launcher_classCallCheck(this, AppLauncher); + + _this = _super.call(this, props); + + app_launcher_defineProperty(app_launcher_assertThisInitialized(_this), "openAppLauncher", function (event) { + _this.setState({ + isOpen: true + }); + + if (lodash_isfunction_default()(_this.props.triggerOnClick)) { + _this.props.triggerOnClick(event, {}); + } + }); + + app_launcher_defineProperty(app_launcher_assertThisInitialized(_this), "closeAppLauncher", function (event) { + _this.setState({ + isOpen: false + }); + + if (lodash_isfunction_default()(_this.props.onClose)) { + _this.props.onClose(event, {}); + } + }); + + app_launcher_defineProperty(app_launcher_assertThisInitialized(_this), "renderSearch", function () { + var returnVal; + + if (_this.props.search) { + returnVal = /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: "slds-app-launcher__header-search", + ref: function ref(component) { + if (component) { + if (!_this.focusedOnSearch) { + var input = component.querySelector('input'); + + if (input) { + // push to end of stack so click event doesn't blur the focus + setTimeout(function () { + input.focus(); + _this.focusedOnSearch = true; + }, 0); + } + } + } else { + _this.focusedOnSearch = false; + } + } + }, _this.props.search); + } + + return returnVal; + }); + + _this.generatedId = shortid_default.a.generate(); + _this.state = { + isOpen: false + }; // `checkProps` issues warnings to developers about properties (similar to React's built in development tools) + + app_launcher_check_props(APP_LAUNCHER, props, app_launcher_component); + return _this; + } + + app_launcher_createClass(AppLauncher, [{ + key: "getId", + value: function getId() { + return this.props.id || this.generatedId; + } + }, { + key: "render", + value: function render() { + var isOpen = this.props.isOpen !== undefined ? this.props.isOpen : this.state.isOpen; // Should be removed in the future by adding a reset class of some sort. + + var style = this.props.noTruncate ? { + maxWidth: 'none' + } : null; + var customModalHeader = /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.Fragment, null, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("h2", { + className: "slds-text-heading_medium", + id: "".concat(this.getId(), "-app-launcher-title") + }, this.props.title), this.renderSearch(), this.props.modalHeaderButton ? this.props.modalHeaderButton : /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("span", { + className: "slds-size_1-of-7" + })); // Not present in SLDS, but is consistent with other implementations of App Launcher. This also prevents resizing/jumping around when filtering. It will start clipping the modal close button at 600px viewport height. + + var modalContentStaticHeight = '90%'; + + var assistiveText = app_launcher_objectSpread(app_launcher_objectSpread({}, app_launcher_defaultProps.assistiveText), this.props.assistiveText); + + var triggerAssistiveText = this.props.triggerAssistiveText || assistiveText.trigger; + return /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: "slds-context-bar__item slds-context-bar__dropdown-trigger slds-dropdown-trigger slds-dropdown-trigger_click slds-no-hover", + style: style + }, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: "slds-context-bar__icon-action" + }, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("button", { + "aria-haspopup": "true", + className: "slds-button slds-icon-waffle_container slds-context-bar__button", + onClick: this.openAppLauncher, + title: triggerAssistiveText, + type: "button" + }, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("span", { + className: "slds-icon-waffle" + }, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("span", { + className: "slds-r1" + }), /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("span", { + className: "slds-r2" + }), /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("span", { + className: "slds-r3" + }), /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("span", { + className: "slds-r4" + }), /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("span", { + className: "slds-r5" + }), /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("span", { + className: "slds-r6" + }), /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("span", { + className: "slds-r7" + }), /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("span", { + className: "slds-r8" + }), /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("span", { + className: "slds-r9" + })), triggerAssistiveText && /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("span", { + className: "slds-assistive-text" + }, triggerAssistiveText))), /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(modal, { + ariaHideApp: this.props.ariaHideApp, + assistiveText: { + dialogLabelledBy: "".concat(this.getId(), "-app-launcher-title") + }, + className: classnames_default()('slds-app-launcher', this.props.modalClassName), + contentClassName: "slds-app-launcher__content slds-p-around_medium", + contentStyle: { + minHeight: modalContentStaticHeight + }, + isOpen: isOpen, + onRequestClose: this.closeAppLauncher, + size: "large", + header: customModalHeader, + headerClassName: "slds-grid slds-grid_align-spread slds-grid_vertical-align-center" + }, this.props.children), this.props.triggerName ? /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("span", { + className: "slds-context-bar__label-action slds-context-bar__app-name" + }, this.props.noTruncate ? this.props.triggerName : /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("span", { + className: "slds-truncate", + title: this.props.triggerName + }, this.props.triggerName)) : null); + } + }]); + + return AppLauncher; +}(external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.Component); + +app_launcher_defineProperty(app_launcher_AppLauncher, "displayName", APP_LAUNCHER); + +app_launcher_defineProperty(app_launcher_AppLauncher, "propTypes", { + /** + * **Assistive text for accessibility.** + * This object is merged with the default props object on every render. + * * `trigger`: This is a visually hidden label for the app launcher icon. + */ + assistiveText: prop_types_default.a.shape({ + trigger: prop_types_default.a.string + }), + + /** + * Boolean indicating if the appElement should be hidden. + */ + ariaHideApp: prop_types_default.a.bool, + + /** + * One or more `<AppLauncherExpandableSection />`s, each containing one or more `<AppLauncherTile />`s or `<AppLauncherLink />`s + */ + children: prop_types_default.a.node.isRequired, + + /** + * The app launcher id. If not provided, one will be generated for accessibility + */ + id: prop_types_default.a.string, + + /** + * Control the open/close state of the App Launcher + */ + isOpen: prop_types_default.a.bool, + + /** + * CSS classes to be added to App Launcher Modal. + */ + modalClassName: prop_types_default.a.oneOfType([prop_types_default.a.array, prop_types_default.a.object, prop_types_default.a.string]), + + /** + * Button that exists in the upper right hand corner of the App Launcher modal + */ + modalHeaderButton: prop_types_default.a.node, + + /** + * Allows longer application names without truncating them. + */ + noTruncate: prop_types_default.a.bool, + + /** + * Callback when the App Launcher Modal is closed + */ + onClose: prop_types_default.a.func, + + /** + * Search bar for the Modal's header. Will typically be an instance of `design-system-react/input/search` + */ + search: prop_types_default.a.node, + + /** + * Set the App Launcher's title text (for localization) + */ + title: prop_types_default.a.string, + + /** + * This is typically the name of the cloud or application + */ + triggerName: prop_types_default.a.node, + + /** + * Callback when the App Launcher icon is clicked + */ + triggerOnClick: prop_types_default.a.func +}); + +app_launcher_defineProperty(app_launcher_AppLauncher, "defaultProps", app_launcher_defaultProps); + +/* harmony default export */ var app_launcher = (app_launcher_AppLauncher); +// CONCATENATED MODULE: ./components/expandable-section/index.jsx +function expandable_section_typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { expandable_section_typeof = function _typeof(obj) { return typeof obj; }; } else { expandable_section_typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return expandable_section_typeof(obj); } + +function expandable_section_extends() { expandable_section_extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return expandable_section_extends.apply(this, arguments); } + +function expandable_section_classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function expandable_section_defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function expandable_section_createClass(Constructor, protoProps, staticProps) { if (protoProps) expandable_section_defineProperties(Constructor.prototype, protoProps); if (staticProps) expandable_section_defineProperties(Constructor, staticProps); return Constructor; } + +function expandable_section_inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) expandable_section_setPrototypeOf(subClass, superClass); } + +function expandable_section_setPrototypeOf(o, p) { expandable_section_setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return expandable_section_setPrototypeOf(o, p); } + +function expandable_section_createSuper(Derived) { var hasNativeReflectConstruct = expandable_section_isNativeReflectConstruct(); return function _createSuperInternal() { var Super = expandable_section_getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = expandable_section_getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return expandable_section_possibleConstructorReturn(this, result); }; } + +function expandable_section_possibleConstructorReturn(self, call) { if (call && (expandable_section_typeof(call) === "object" || typeof call === "function")) { return call; } return expandable_section_assertThisInitialized(self); } + +function expandable_section_assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +function expandable_section_isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } } + +function expandable_section_getPrototypeOf(o) { expandable_section_getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return expandable_section_getPrototypeOf(o); } + +function expandable_section_defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */ + +/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */ +// # Expandable Section Component +// Implements the [Expandable Section design pattern](https://www.lightningdesignsystem.com/components/expandable-section/) in React. + + + + + // ### Event Helpers +// import KEYS from '../../utilities/key-code'; +// import EventUtil from '../../utilities/event'; + + +var expandable_section_propTypes = { + /** + * **Assistive text for accessibility.** + * * `toggleSection`: Label for the icon that expands / collapses the section + */ + assistiveText: prop_types_default.a.shape({ + toggleSection: prop_types_default.a.string + }), + + /** + * Contents of the section + */ + children: prop_types_default.a.node, + + /** + * Class names to be added to the `slds-section` classed node + */ + className: prop_types_default.a.oneOfType([prop_types_default.a.array, prop_types_default.a.object, prop_types_default.a.string]), + + /** + * Unique identifier for the expandable section. The id is automatically generated if not provided + */ + id: prop_types_default.a.string, + + /** + * Specifies whether the section is expanded or collapsed. If not provided, component will use its own state to manage this itself + */ + isOpen: prop_types_default.a.bool, + + /** + * Specifies whether the section can be expanded or collapsed. Defaults to `false` + */ + nonCollapsible: prop_types_default.a.bool, + + /** + * Callback for when the section is expanded or collapsed. Passes event object and data object with `isOpen` bool. + */ + onToggleOpen: prop_types_default.a.func, + + /** + * The title for the section + */ + title: prop_types_default.a.string.isRequired +}; +var expandable_section_defaultProps = { + assistiveText: { + toggleSection: 'Toggle visibility of section' + }, + nonCollapsible: false +}; +/** + * Toggle visibility of section content with the Expandable Section + */ + +var expandable_section_ExpandableSection = /*#__PURE__*/function (_React$Component) { + expandable_section_inherits(ExpandableSection, _React$Component); + + var _super = expandable_section_createSuper(ExpandableSection); + + function ExpandableSection(props) { + var _this; + + expandable_section_classCallCheck(this, ExpandableSection); + + _this = _super.call(this, props); + + expandable_section_defineProperty(expandable_section_assertThisInitialized(_this), "getId", function () { + return _this.props.id || _this.generatedId; + }); + + expandable_section_defineProperty(expandable_section_assertThisInitialized(_this), "toggleOpen", function (event) { + if (_this.props.onToggleOpen) { + _this.props.onToggleOpen(event, { + isOpen: _this.props.isOpen + }); + } else { + _this.setState(function (prevState) { + return { + isOpen: !prevState.isOpen + }; + }); + } + }); + + _this.generatedId = shortid_default.a.generate(); + _this.state = { + isOpen: true + }; + return _this; + } + + expandable_section_createClass(ExpandableSection, [{ + key: "render", + value: function render() { + var contentId = "".concat(this.getId(), "-expanded-section-content"); + var isOpen = this.props.isOpen !== undefined ? this.props.isOpen : this.state.isOpen; + var buttonAriaProps = { + 'aria-controls': contentId, + 'aria-expanded': !!isOpen + }; + var titleNode = /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("span", { + className: classnames_default()('slds-truncate', { + 'slds-p-horizontal_small': !!this.props.nonCollapsible + }), + title: this.props.title + }, this.props.title); + return /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: classnames_default()('slds-section', { + 'slds-is-open': isOpen + }, this.props.className) + }, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("h3", { + className: classnames_default()('slds-section__title', { + 'slds-theme_shade': !!this.props.nonCollapsible + }) + }, !this.props.nonCollapsible ? /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(components_button, expandable_section_extends({ + assistiveText: { + icon: this.props.assistiveText.toggleSection + }, + iconCategory: "utility", + iconClassName: "slds-section__title-action-icon slds-button__icon_left", + iconName: "switch", + onClick: this.toggleOpen, + className: "slds-section__title-action", + variant: "base" + }, buttonAriaProps), titleNode) : titleNode), /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + "aria-hidden": !isOpen, + className: "slds-section__content", + id: contentId + }, this.props.children)); + } + }]); + + return ExpandableSection; +}(external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.Component); + +expandable_section_ExpandableSection.displayName = EXPANDABLE_SECTION; +expandable_section_ExpandableSection.propTypes = expandable_section_propTypes; +expandable_section_ExpandableSection.defaultProps = expandable_section_defaultProps; +/* harmony default export */ var expandable_section = (expandable_section_ExpandableSection); +// CONCATENATED MODULE: ./components/app-launcher/expandable-section.jsx +function app_launcher_expandable_section_typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { app_launcher_expandable_section_typeof = function _typeof(obj) { return typeof obj; }; } else { app_launcher_expandable_section_typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return app_launcher_expandable_section_typeof(obj); } + +function expandable_section_ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; } + +function expandable_section_objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { expandable_section_ownKeys(Object(source), true).forEach(function (key) { app_launcher_expandable_section_defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { expandable_section_ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; } + +function app_launcher_expandable_section_classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function app_launcher_expandable_section_defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function app_launcher_expandable_section_createClass(Constructor, protoProps, staticProps) { if (protoProps) app_launcher_expandable_section_defineProperties(Constructor.prototype, protoProps); if (staticProps) app_launcher_expandable_section_defineProperties(Constructor, staticProps); return Constructor; } + +function app_launcher_expandable_section_inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) app_launcher_expandable_section_setPrototypeOf(subClass, superClass); } + +function app_launcher_expandable_section_setPrototypeOf(o, p) { app_launcher_expandable_section_setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return app_launcher_expandable_section_setPrototypeOf(o, p); } + +function app_launcher_expandable_section_createSuper(Derived) { var hasNativeReflectConstruct = app_launcher_expandable_section_isNativeReflectConstruct(); return function _createSuperInternal() { var Super = app_launcher_expandable_section_getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = app_launcher_expandable_section_getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return app_launcher_expandable_section_possibleConstructorReturn(this, result); }; } + +function app_launcher_expandable_section_possibleConstructorReturn(self, call) { if (call && (app_launcher_expandable_section_typeof(call) === "object" || typeof call === "function")) { return call; } return app_launcher_expandable_section_assertThisInitialized(self); } + +function app_launcher_expandable_section_assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +function app_launcher_expandable_section_isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } } + +function app_launcher_expandable_section_getPrototypeOf(o) { app_launcher_expandable_section_getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return app_launcher_expandable_section_getPrototypeOf(o); } + +function app_launcher_expandable_section_defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */ + +/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */ +// # App Launcher Expandable Section Component +// ## Dependencies +// ### React + + // ### classNames +// [github.com/JedWatson/classnames](https://github.com/JedWatson/classnames) +// A simple javascript utility for conditionally joining classNames together. + + // This component's `checkProps` which issues warnings to developers about properties when in development mode (similar to React's built in development tools) + + + // ## Children + + // ## Constants + + +/** + * App Launcher Sections allow users to categorize App Tiles & Links as well as toggle their display. It is a superset of components/expandable-section with content formatting. + * All Expandable Section props are compatible with props passed to this component. + */ + +var expandable_section_AppLauncherExpandableSection = /*#__PURE__*/function (_React$Component) { + app_launcher_expandable_section_inherits(AppLauncherExpandableSection, _React$Component); + + var _super = app_launcher_expandable_section_createSuper(AppLauncherExpandableSection); + + // ### Display Name + // Always use the canonical component name as the React display name. + // ### Prop Types + function AppLauncherExpandableSection(props) { + var _this; + + app_launcher_expandable_section_classCallCheck(this, AppLauncherExpandableSection); + + _this = _super.call(this, props); + + app_launcher_expandable_section_defineProperty(app_launcher_expandable_section_assertThisInitialized(_this), "state", { + isOpen: true + }); + + app_launcher_expandable_section_defineProperty(app_launcher_expandable_section_assertThisInitialized(_this), "toggleOpen", function (event, data) { + if (_this.props.onToggleOpen) { + _this.props.onToggleOpen(event, data); + } else { + _this.setState(function (prevState) { + return { + isOpen: !prevState.isOpen + }; + }); + } + }); + + app_launcher_check_props(APP_LAUNCHER_EXPANDABLE_SECTION, props, app_launcher_component); + return _this; + } + + app_launcher_expandable_section_createClass(AppLauncherExpandableSection, [{ + key: "render", + value: function render() { + var expandableSectionProps = expandable_section_objectSpread(expandable_section_objectSpread({}, this.props), { + isOpen: this.props.isOpen !== undefined ? this.props.isOpen : this.state.isOpen, + onToggleOpen: this.toggleOpen + }); + + var ulChildrenType = 'tiles'; + var ulContent = external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.Children.map(this.props.children, function (child) { + var liClasses = 'slds-p-horizontal_small slds-size_1-of-1 slds-medium-size_1-of-3'; + + if (child && child.type && child.type.displayName !== APP_LAUNCHER_TILE || child && !child.type) { + ulChildrenType = 'links'; + } + + if (ulChildrenType === 'links') { + liClasses = 'slds-col_padded slds-p-vertical_xx-small slds-size_1-of-5'; + } + + return /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("li", { + className: liClasses + }, child); + }); + return /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(expandable_section, expandableSectionProps, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("ul", { + className: classnames_default()('slds-grid slds-wrap', { + 'slds-grid_pull-padded': ulChildrenType === 'tiles' + }) + }, ulContent)); + } + }]); + + return AppLauncherExpandableSection; +}(external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.Component); + +app_launcher_expandable_section_defineProperty(expandable_section_AppLauncherExpandableSection, "displayName", APP_LAUNCHER_EXPANDABLE_SECTION); + +app_launcher_expandable_section_defineProperty(expandable_section_AppLauncherExpandableSection, "propTypes", { + /** + * **Assistive text for accessibility.** + * * `toggleSection`: Label for the icon that expands / collapses the section + */ + assistiveText: prop_types_default.a.shape({ + toggleSection: prop_types_default.a.string + }), + + /** + * Contents of the section + */ + children: prop_types_default.a.node, + + /** + * Class names to be added to the `slds-section` classed node + */ + className: prop_types_default.a.oneOfType([prop_types_default.a.array, prop_types_default.a.object, prop_types_default.a.string]), + + /** + * Unique identifier for the expandable section. The id is automatically generated if not provided + */ + id: prop_types_default.a.string, + + /** + * Specifies whether the section is expanded or collapsed. If not provided, component will use its own state to manage this itself + */ + isOpen: prop_types_default.a.bool, + + /** + * Specifies whether the section can be expanded or collapsed. Defaults to `false` + */ + nonCollapsible: prop_types_default.a.bool, + + /** + * Callback for when the section is expanded or collapsed. Passes event object and data object with `isOpen` bool. + */ + onToggleOpen: prop_types_default.a.func, + + /** + * The title for the section + */ + title: prop_types_default.a.string.isRequired +}); + +/* harmony default export */ var app_launcher_expandable_section = (expandable_section_AppLauncherExpandableSection); +// EXTERNAL MODULE: ./node_modules/react-highlighter/lib/highlighter.js +var highlighter = __webpack_require__(25); +var highlighter_default = /*#__PURE__*/__webpack_require__.n(highlighter); + +// CONCATENATED MODULE: ./components/utilities/highlighter/index.jsx +/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */ + +/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */ +// ### React + + // ### ReactHighlighter + + // ## Constants + + +/** + * A utility component that highlights occurrences of a particular pattern in its contents. + */ + +var highlighter_Highlighter = function Highlighter(props) { + if (props.search) { + var children; + + if (typeof props.children === 'string') { + children = /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(highlighter_default.a, { + className: props.className, + matchClass: null, + matchElement: "mark", + search: props.search, + title: props.children + }, props.children); + } else { + var findString = function findString(nodeArr) { + return nodeArr.map(function (element) { + var newElement; + + if (typeof element === 'string') { + newElement = /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(highlighter_default.a, { + key: element, + className: props.className, + matchClass: null, + matchElement: "mark", + search: props.search, + title: element + }, element); + } else { + newElement = element; + } + + return newElement; + }); + }; + + if (props.children.props) { + var node = props.children.props.children; + children = node instanceof Array ? findString(node) : node; + } + } + + return /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("span", null, children); + } + + if (typeof props.children === 'string') { + return /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("span", { + className: props.className, + title: props.children + }, props.children); + } + + return /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("span", { + className: props.className + }, props.children); +}; // ### Display Name + + +highlighter_Highlighter.displayName = HIGHLIGHTER; // ### Prop Types + +highlighter_Highlighter.propTypes = { + /** + * The full string to display. + */ + children: prop_types_default.a.oneOfType([prop_types_default.a.string, prop_types_default.a.number, prop_types_default.a.bool, prop_types_default.a.node]), + className: prop_types_default.a.string, + + /** + * The string of text (or Regular Expression) to highlight. + */ + search: prop_types_default.a.any +}; +/* harmony default export */ var utilities_highlighter = (highlighter_Highlighter); +// CONCATENATED MODULE: ./components/app-launcher/link.jsx +function link_typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { link_typeof = function _typeof(obj) { return typeof obj; }; } else { link_typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return link_typeof(obj); } + +function link_classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function link_defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function link_createClass(Constructor, protoProps, staticProps) { if (protoProps) link_defineProperties(Constructor.prototype, protoProps); if (staticProps) link_defineProperties(Constructor, staticProps); return Constructor; } + +function link_inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) link_setPrototypeOf(subClass, superClass); } + +function link_setPrototypeOf(o, p) { link_setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return link_setPrototypeOf(o, p); } + +function link_createSuper(Derived) { var hasNativeReflectConstruct = link_isNativeReflectConstruct(); return function _createSuperInternal() { var Super = link_getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = link_getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return link_possibleConstructorReturn(this, result); }; } + +function link_possibleConstructorReturn(self, call) { if (call && (link_typeof(call) === "object" || typeof call === "function")) { return call; } return link_assertThisInitialized(self); } + +function link_assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +function link_isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } } + +function link_getPrototypeOf(o) { link_getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return link_getPrototypeOf(o); } + +function link_defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */ + +/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */ +// # App Launcher Link Component +// ## Dependencies +// ### React + + // ### classNames +// [github.com/JedWatson/classnames](https://github.com/JedWatson/classnames) +// A simple javascript utility for conditionally joining classNames together. + + // ### Children + + // ## Constants + + +/** + * App Launcher Link component creates simple links to be used in "All Items" sections + */ + +var link_AppLauncherLink = /*#__PURE__*/function (_React$Component) { + link_inherits(AppLauncherLink, _React$Component); + + var _super = link_createSuper(AppLauncherLink); + + function AppLauncherLink() { + link_classCallCheck(this, AppLauncherLink); + + return _super.apply(this, arguments); + } + + link_createClass(AppLauncherLink, [{ + key: "render", + // ### Display Name + // Always use the canonical component name as the React display name. + // ### Prop Types + // ### Default Props + value: function render() { + var _this = this; + + var title = this.props.title; + + if (!title && typeof this.props.children === 'string') { + title = this.props.children; + } + + return /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("a", { + href: this.props.href // eslint-disable-line no-script-url + , + className: classnames_default()('slds-truncate', this.props.className), + onClick: function onClick(event) { + if (_this.props.onClick) { + event.preventDefault(); + + _this.props.onClick(event, { + href: _this.props.href + }); + } + }, + title: title + }, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(utilities_highlighter, { + search: this.props.search + }, this.props.children)); + } + }]); + + return AppLauncherLink; +}(external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.Component); + +link_defineProperty(link_AppLauncherLink, "displayName", APP_LAUNCHER_LINK); + +link_defineProperty(link_AppLauncherLink, "propTypes", { + /** + * Contents of the link + */ + children: prop_types_default.a.node, + + /** + * Classes to be applied to the link + */ + className: prop_types_default.a.oneOfType([prop_types_default.a.array, prop_types_default.a.object, prop_types_default.a.string]), + + /** + * The `href` attribute of the link. If the `onClick` callback is specified this URL will be prevented from changing the browser's location. + */ + href: prop_types_default.a.string, + + /** + * Callback for when the link is clicked. Passes back event and data object with href prop. Prevents click from changing browser's location if set. + */ + onClick: prop_types_default.a.func, + + /** + * Text used to highlight content in link + */ + search: prop_types_default.a.string, + + /** + * The title for the link. If not provided it will attempt to use child content if that content is a string. + */ + title: prop_types_default.a.string +}); + +link_defineProperty(link_AppLauncherLink, "defaultProps", { + href: 'javascript:void(0);' // eslint-disable-line no-script-url + +}); + +/* harmony default export */ var app_launcher_link = (link_AppLauncherLink); +// EXTERNAL MODULE: ./node_modules/lodash.memoize/index.js +var lodash_memoize = __webpack_require__(35); +var lodash_memoize_default = /*#__PURE__*/__webpack_require__.n(lodash_memoize); + +// CONCATENATED MODULE: ./components/utilities/truncate/index.jsx +function truncate_typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { truncate_typeof = function _typeof(obj) { return typeof obj; }; } else { truncate_typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return truncate_typeof(obj); } + +function truncate_objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = truncate_objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; } + +function truncate_objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; } + +function truncate_classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function truncate_defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function truncate_createClass(Constructor, protoProps, staticProps) { if (protoProps) truncate_defineProperties(Constructor.prototype, protoProps); if (staticProps) truncate_defineProperties(Constructor, staticProps); return Constructor; } + +function truncate_inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) truncate_setPrototypeOf(subClass, superClass); } + +function truncate_setPrototypeOf(o, p) { truncate_setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return truncate_setPrototypeOf(o, p); } + +function truncate_createSuper(Derived) { var hasNativeReflectConstruct = truncate_isNativeReflectConstruct(); return function _createSuperInternal() { var Super = truncate_getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = truncate_getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return truncate_possibleConstructorReturn(this, result); }; } + +function truncate_possibleConstructorReturn(self, call) { if (call && (truncate_typeof(call) === "object" || typeof call === "function")) { return call; } return truncate_assertThisInitialized(self); } + +function truncate_assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +function truncate_isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } } + +function truncate_getPrototypeOf(o) { truncate_getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return truncate_getPrototypeOf(o); } + +function truncate_defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */ + +/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */ + + + +var truncate_documentDefined = typeof document !== 'undefined'; +var canvas; +var docFragment; +var canvasContext; + +var measureWidth = function measureWidth() { + return 0; +}; + +if (truncate_documentDefined) { + canvas = document.createElement('canvas'); + + if (canvas.getContext) { + docFragment = document.createDocumentFragment(); + docFragment.appendChild(canvas); + canvasContext = canvas.getContext('2d'); + measureWidth = lodash_memoize_default()(function (text, font) { + canvasContext.font = font; + return canvasContext.measureText(text).width; + }); + } +} + +var truncate_TextTruncate = /*#__PURE__*/function (_React$Component) { + truncate_inherits(TextTruncate, _React$Component); + + var _super = truncate_createSuper(TextTruncate); + + function TextTruncate() { + var _this; + + truncate_classCallCheck(this, TextTruncate); + + for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { + args[_key] = arguments[_key]; + } + + _this = _super.call.apply(_super, [this].concat(args)); + + truncate_defineProperty(truncate_assertThisInitialized(_this), "state", {}); + + truncate_defineProperty(truncate_assertThisInitialized(_this), "onResize", function () { + _this.update(_this.props); + }); + + truncate_defineProperty(truncate_assertThisInitialized(_this), "getRenderText", function (ref, nextProps) { + if (!ref) { + return; + } + + _this.scope = ref; // nextProps will be undefined for resize events, but will change if search or other props are changed + + var propsToRender; + + if (nextProps) { + propsToRender = nextProps; + } else { + propsToRender = _this.props; + } + + var _propsToRender = propsToRender, + containerClassName = _propsToRender.containerClassName, + line = _propsToRender.line, + prefix = _propsToRender.prefix, + suffix = _propsToRender.suffix, + text = _propsToRender.text, + textTruncateChild = _propsToRender.textTruncateChild, + truncateText = _propsToRender.truncateText, + wrapper = _propsToRender.wrapper, + props = truncate_objectWithoutProperties(_propsToRender, ["containerClassName", "line", "prefix", "suffix", "text", "textTruncateChild", "truncateText", "wrapper"]); + + var scopeWidth = _this.scope.getBoundingClientRect().width; + + var style = window.getComputedStyle(_this.scope); + var font = [style['font-weight'], style['font-style'], style['font-size'], style['font-family']].join(' '); // return if display:none + + if (scopeWidth === 0) { + _this.setState({ + renderText: null + }); + + return; + } + + var child; + var outputText = text; // return if all of text can be displayed + + if (scopeWidth < measureWidth(text, font)) { + var currentPos = 1; + var maxTextLength = text.length; + var truncatedText = ''; + var splitPos = 0; + var startPos = 0; + var displayLine = line; + var width = 0; + var lastIsEng = false; + var lastSpaceIndex = -1; // eslint-disable-next-line fp/no-loops + + while (displayLine !== 0) { + var ext = ''; + var extraWidthDueToPrefixStyle = 0; + + if (prefix && displayLine === line - 1) { + ext += " ".concat(prefix); // MAGIC NUMBER: (width at letter-spacing of 0.25rems - width at normal) / number of letters + + extraWidthDueToPrefixStyle = prefix.length * 0.66; + } + + if (!displayLine) { + ext += truncateText; + + if (suffix) { + ext += " ".concat(suffix); + } + } // eslint-disable-next-line fp/no-loops + + + while (currentPos <= maxTextLength) { + truncatedText = text.substr(startPos, currentPos); + width = measureWidth(truncatedText + ext, font) + extraWidthDueToPrefixStyle; + + if (width < scopeWidth) { + splitPos = text.indexOf(' ', currentPos + 1); + + if (splitPos === -1) { + currentPos += 1; + lastIsEng = false; + } else { + lastIsEng = true; + currentPos = splitPos; + } + } else { + var lastWidth = 0; // eslint-disable-next-line fp/no-loops + + do { + currentPos -= 1; + truncatedText = text.substr(startPos, currentPos); + + if (truncatedText[truncatedText.length - 1] === ' ') { + truncatedText = text.substr(startPos, currentPos - 1); + } + + if (lastIsEng) { + lastSpaceIndex = truncatedText.lastIndexOf(' '); + + if (lastSpaceIndex > -1) { + currentPos = lastSpaceIndex; + truncatedText = text.substr(startPos, currentPos); + } + } + + width = measureWidth(truncatedText + ext, font) + extraWidthDueToPrefixStyle; + + if (width === lastWidth) { + currentPos = 0; + break; + } else { + lastWidth = width; + } + } while (width >= scopeWidth); + + startPos += currentPos; + break; + } + } + + if (currentPos >= maxTextLength) { + startPos = maxTextLength; + break; + } + + displayLine -= 1; // iterate + } + + if (startPos !== maxTextLength) { + outputText = "".concat(text.substr(0, startPos)).concat(truncateText, " "); + child = textTruncateChild; + } + } + + var renderText; + + if (wrapper) { + renderText = wrapper(outputText, child); + } else { + renderText = /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", props, outputText, child); + } + + _this.setState({ + renderText: renderText + }); + }); + + truncate_defineProperty(truncate_assertThisInitialized(_this), "update", function (nextProps) { + _this.getRenderText(_this.scope, nextProps); + }); + + return _this; + } + + truncate_createClass(TextTruncate, [{ + key: "componentDidMount", + value: function componentDidMount() { + window.addEventListener('resize', this.onResize, false); + } + }, { + key: "componentDidUpdate", + value: function componentDidUpdate(nextProps) { + if (nextProps.text !== this.props.text) { + this.update(nextProps); + } + } + }, { + key: "componentWillUnmount", + value: function componentWillUnmount() { + window.removeEventListener('resize', this.onResize, false); + } + }, { + key: "render", + value: function render() { + var containerClassName = this.props.containerClassName; // inline style override + + return /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + ref: this.getRenderText, + className: containerClassName, + style: { + overflow: 'hidden' + } + }, this.state.renderText); + } + }]); + + return TextTruncate; +}(external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.Component); + +truncate_defineProperty(truncate_TextTruncate, "displayName", 'TextTruncate'); + +truncate_defineProperty(truncate_TextTruncate, "propTypes", { + containerClassName: prop_types_default.a.string, + line: prop_types_default.a.number, + prefix: prop_types_default.a.string, + suffix: prop_types_default.a.string, + text: prop_types_default.a.string, + textTruncateChild: prop_types_default.a.node, + truncateText: prop_types_default.a.string, + wrapper: prop_types_default.a.func +}); + +truncate_defineProperty(truncate_TextTruncate, "defaultProps", { + line: 1, + text: '', + truncateText: '…' +}); + +/* harmony default export */ var utilities_truncate = (truncate_TextTruncate); +// CONCATENATED MODULE: ./components/app-launcher/tile.jsx +function tile_typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { tile_typeof = function _typeof(obj) { return typeof obj; }; } else { tile_typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return tile_typeof(obj); } + +function tile_extends() { tile_extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return tile_extends.apply(this, arguments); } + +function tile_classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function tile_defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function tile_createClass(Constructor, protoProps, staticProps) { if (protoProps) tile_defineProperties(Constructor.prototype, protoProps); if (staticProps) tile_defineProperties(Constructor, staticProps); return Constructor; } + +function tile_inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) tile_setPrototypeOf(subClass, superClass); } + +function tile_setPrototypeOf(o, p) { tile_setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return tile_setPrototypeOf(o, p); } + +function tile_createSuper(Derived) { var hasNativeReflectConstruct = tile_isNativeReflectConstruct(); return function _createSuperInternal() { var Super = tile_getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = tile_getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return tile_possibleConstructorReturn(this, result); }; } + +function tile_possibleConstructorReturn(self, call) { if (call && (tile_typeof(call) === "object" || typeof call === "function")) { return call; } return tile_assertThisInitialized(self); } + +function tile_assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +function tile_isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } } + +function tile_getPrototypeOf(o) { tile_getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return tile_getPrototypeOf(o); } + +function tile_defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */ + +/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */ + +/* eslint-disable jsx-a11y/no-noninteractive-tabindex */ +// # App Launcher Tile Component +// ## Dependencies + + + // This component's `checkProps` which issues warnings to developers about properties when in development mode (similar to React's built in development tools) + + + // ## Children + + + + + + +var tile_propTypes = { + /** + * **Assistive text for accessibility.** + * * `dragIconText`: Text that describes the purpose of the drag handle icon. + */ + assistiveText: prop_types_default.a.shape({ + dragIconText: prop_types_default.a.string + }), + + /** + * Class names to be added to the tile. + */ + className: prop_types_default.a.oneOfType([prop_types_default.a.array, prop_types_default.a.object, prop_types_default.a.string]), + + /** + * The description of the app. Not visible on small tiles. + */ + description: prop_types_default.a.string, + + /** + * Heading for app description. NOTE: this prop is DEPRECATED and use should be avoided + */ + descriptionHeading: prop_types_default.a.string, + + /** + * The `href` attribute of the tile. Please pass in bookmarkable URLs from your routing library. If the `onClick` callback is specified this URL will be prevented from changing the browser's location. + */ + href: prop_types_default.a.string, + + /** + * Background color to be used on the icon. Only applied if iconNode is undefined + */ + iconBackgroundColor: prop_types_default.a.string, + + /** + * Icon node for app tile. Takes priority over `iconText` + */ + iconNode: prop_types_default.a.node, + + /** + * Text to be used as an icon. Only renders if iconNode is undefined + */ + iconText: prop_types_default.a.string, + + /** + * Open the More Tooltip + */ + isOpenTooltip: prop_types_default.a.bool, + + /** + * The localized text for the "More information" tooltip. + */ + moreLabel: prop_types_default.a.string, + + /** + * Function that will be executed when clicking on a tile + */ + onClick: prop_types_default.a.func, + + /** + * Text used to highlight content in app tiles + */ + search: prop_types_default.a.string, + + /** + * App name for the tile's title. + */ + title: prop_types_default.a.string.isRequired // Future feature: add Highlighter to Truncate text (https://github.com/ShinyChang/React-Text-Truncate/issues/32) + +}; +var tile_defaultProps = { + assistiveText: { + dragIconText: 'Reorder' + }, + href: 'javascript:void(0);', + // eslint-disable-line no-script-url + moreLabel: ' More' +}; +/** + * App Launcher Tiles provide information and links to a user's apps + */ + +var tile_AppLauncherTile = /*#__PURE__*/function (_React$Component) { + tile_inherits(AppLauncherTile, _React$Component); + + var _super = tile_createSuper(AppLauncherTile); + + function AppLauncherTile(props) { + var _this; + + tile_classCallCheck(this, AppLauncherTile); + + _this = _super.call(this, props); // `checkProps` issues warnings to developers about properties (similar to React's built in development tools) + + tile_defineProperty(tile_assertThisInitialized(_this), "handleClick", function (event) { + if (_this.props.onClick) { + event.preventDefault(); + + _this.props.onClick(event, { + href: _this.props.href + }); + } + }); + + app_launcher_check_props(APP_LAUNCHER_TILE, props, app_launcher_component); + return _this; + } + + tile_createClass(AppLauncherTile, [{ + key: "render", + value: function render() { + var _this2 = this; + + var dragButtonAriaProps = { + 'aria-pressed': false + }; + var iconStyles = {}; + + if (this.props.iconBackgroundColor) { + iconStyles.backgroundColor = this.props.iconBackgroundColor; + } + + return /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: classnames_default()('slds-app-launcher__tile slds-text-link_reset slds-is-draggable', // NOTE: while the draggable class is here for stylistic purposes, the draggable attribute is not present as draggability has not been implemented yet + this.props.className), + onClick: this.handleClick, + role: "button", + tabIndex: "0" + }, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: "slds-app-launcher__tile-figure" + }, this.props.iconNode || /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("span", { + className: "slds-avatar slds-avatar_large" + }, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("abbr", { + className: "slds-avatar__initials slds-icon-custom-27", + style: iconStyles, + title: this.props.title + }, this.props.iconText)), /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: "slds-m-top_xxx-small" + }, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(components_button, tile_extends({ + assistiveText: { + icon: this.props.assistiveText.dragIconText + }, + iconCategory: "utility", + iconName: "rows", + title: this.props.assistiveText.dragIconText, + variant: "icon" + }, dragButtonAriaProps)))), /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: "slds-app-launcher__tile-body" + }, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("a", { + href: this.props.href // eslint-disable-line no-script-url + + }, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(utilities_highlighter, { + search: this.props.search + }, this.props.title)), /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(utilities_truncate, { + line: 2, + prefix: this.props.descriptionHeading && this.props.descriptionHeading.toUpperCase(), + suffix: this.props.moreLabel, + text: this.props.description, + textTruncateChild: /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(tooltip, { + align: "bottom", + content: /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(utilities_highlighter, { + search: this.props.search + }, this.props.description), + isOpen: this.props.isOpenTooltip + }, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(components_button, { + className: "slds-button_reset slds-text-link", + variant: "base" + }, this.props.moreLabel)), + wrapper: function wrapper(text, textTruncateChild) { + return /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.Fragment, null, _this2.props.descriptionHeading && + /*#__PURE__*/ + // inline style override + external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: "slds-text-heading_label", + style: { + letterSpacing: '0.025rem' + } + }, _this2.props.descriptionHeading, ' '), /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(utilities_highlighter, { + search: _this2.props.search + }, text), textTruncateChild && ' ', textTruncateChild); + } + }))); + } + }]); + + return AppLauncherTile; +}(external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.Component); + +tile_AppLauncherTile.displayName = APP_LAUNCHER_TILE; +tile_AppLauncherTile.defaultProps = tile_defaultProps; +tile_AppLauncherTile.propTypes = tile_propTypes; +/* harmony default export */ var tile = (tile_AppLauncherTile); +// CONCATENATED MODULE: ./components/avatar/check-props.js +/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */ + +/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */ + +/* eslint-disable import/no-mutable-exports */ + + + +var avatar_check_props_checkProps = function checkPropsFunction() {}; + +if (false) {} + +/* harmony default export */ var avatar_check_props = (avatar_check_props_checkProps); +// EXTERNAL MODULE: ./components/avatar/component.json +var avatar_component = __webpack_require__(36); + +// CONCATENATED MODULE: ./components/avatar/index.jsx +function avatar_typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { avatar_typeof = function _typeof(obj) { return typeof obj; }; } else { avatar_typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return avatar_typeof(obj); } + +function avatar_ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; } + +function avatar_objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { avatar_ownKeys(Object(source), true).forEach(function (key) { avatar_defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { avatar_ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; } + +function avatar_defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +function avatar_classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function avatar_defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function avatar_createClass(Constructor, protoProps, staticProps) { if (protoProps) avatar_defineProperties(Constructor.prototype, protoProps); if (staticProps) avatar_defineProperties(Constructor, staticProps); return Constructor; } + +function avatar_inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) avatar_setPrototypeOf(subClass, superClass); } + +function avatar_setPrototypeOf(o, p) { avatar_setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return avatar_setPrototypeOf(o, p); } + +function avatar_createSuper(Derived) { var hasNativeReflectConstruct = avatar_isNativeReflectConstruct(); return function _createSuperInternal() { var Super = avatar_getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = avatar_getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return avatar_possibleConstructorReturn(this, result); }; } + +function avatar_possibleConstructorReturn(self, call) { if (call && (avatar_typeof(call) === "object" || typeof call === "function")) { return call; } return avatar_assertThisInitialized(self); } + +function avatar_assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +function avatar_isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } } + +function avatar_getPrototypeOf(o) { avatar_getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return avatar_getPrototypeOf(o); } + +/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */ + +/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */ +// # Avatar Component +// Implements the [Avatar design pattern](https://lightningdesignsystem.com/components/avatar/) in React. +// ### React + + // This component's `checkProps` which issues warnings to developers about properties when in development mode (similar to React's built in development tools) + + // ### classNames +// [github.com/JedWatson/classnames](https://github.com/JedWatson/classnames) A +// simple javascript utility for conditionally joining classNames together. + + + + + // ### Display Name Always use the canonical component name as the React display +// name. + +var avatar_displayName = AVATAR; // ### Prop Types + +var avatar_propTypes = { + /** + * **Assistive text for accessibility.** + * This object is merged with the default props object on every render. + * * `icon`: Assistive text for accessibility that labels the icon. + */ + assistiveText: prop_types_default.a.shape({ + icon: prop_types_default.a.string + }), + + /** + * Alt attribute to be applied to image (base case) element. + */ + imgAlt: prop_types_default.a.string, + + /** + * Source attribute to be applied to image (base case) element. + */ + imgSrc: prop_types_default.a.string, + + /** + * Initials attribute to optionally pass in initials directly in case of "initials" fallback case. + */ + initials: prop_types_default.a.string, + + /** + * Avatar with initials that are dark text on light background + */ + inverse: prop_types_default.a.bool, + + /** + * Label attibute to display inside "initials" fallback case. Will be passed as title prop in `abbr` element to provide more specificity. + */ + label: prop_types_default.a.string, + + /** + * Avatar variants to apply relevant styling (circle: user, square: entity) and icon rendering if applicable. + */ + variant: prop_types_default.a.oneOf(['entity', 'user']).isRequired, + + /** + * Size of the icon in "icon" fallback case. + */ + size: prop_types_default.a.oneOf(['x-small', 'small', 'medium', 'large']).isRequired, + + /** + * Title attribute for the avatar container. + */ + title: prop_types_default.a.string +}; +var avatar_defaultProps = { + assistiveText: { + icon: 'User or Account Icon' + }, + imgAlt: '', + size: 'medium', + title: 'user avatar', + variant: 'user' +}; +/** + * The avatar component represents an object or entity. An image is the preferred format for an avatar. + If the `imgSrc` prop is undefined, and if a `label` or `initials` prop is available, the fallback avatar will render with initials. If initals are passed in directly in the `initials` prop, this will render in the fallback avatar. If `initals` prop is unavailable but a `label` prop is available, the fallback avatar will render with built initials of the user name or entity name. + + Intials built from the `label` prop will apply the following logic: If the label name contains two words, like first and last name, the first letter of each will be capitalized and returned. For labels that only have a single word name, the first two letters of that word, using one capital and one lower case letter, will be returned. For labels that contain three or more words, the first character of the first and last words will be capitalized and returned. + + If `initials` or `label` are not available, the fallback avatar will render a standard icon. If `variant='user'`, a user icon will + render. If `variant='entity'`, an account icon will render. + */ + +var avatar_Avatar = /*#__PURE__*/function (_React$Component) { + avatar_inherits(Avatar, _React$Component); + + var _super = avatar_createSuper(Avatar); + + function Avatar(props) { + var _this; + + avatar_classCallCheck(this, Avatar); + + _this = _super.call(this, props); + _this.state = { + imgLoadError: false + }; + avatar_check_props(AVATAR, props, avatar_component); + return _this; + } + + avatar_createClass(Avatar, [{ + key: "buildInitials", + value: function buildInitials() { + var label = this.props.label; + var name = label.trim(); + var nameParts = name.split(' '); + + if (nameParts.length > 1) { + return nameParts[0].charAt(0).toUpperCase() + nameParts[nameParts.length - 1].charAt(0).toUpperCase(); + } + + return (name[0] || '').toUpperCase() + (name[1] || '').toLowerCase(); + } + }, { + key: "handleImageError", + value: function handleImageError() { + return this.setState(function () { + return { + imgLoadError: true + }; + }); + } + }, { + key: "renderBaseAvatar", + value: function renderBaseAvatar() { + var _this2 = this; + + var _this$props = this.props, + imgAlt = _this$props.imgAlt, + imgSrc = _this$props.imgSrc, + title = _this$props.title; + return /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("img", { + alt: imgAlt, + src: imgSrc, + onError: function onError() { + return _this2.handleImageError(); + }, + title: title + }); + } + }, { + key: "renderIconAvatar", + value: function renderIconAvatar() { + var variant = this.props.variant; + var iconAssistiveText = typeof this.props.assistiveText === 'string' ? this.props.assistiveText : avatar_objectSpread(avatar_objectSpread({}, avatar_defaultProps.assistiveText), this.props.assistiveText).icon; + return /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(components_icon, { + assistiveText: { + label: iconAssistiveText + }, + category: "standard", + name: variant === 'entity' ? 'account' : 'user' + }); + } + }, { + key: "renderInitialsAvatar", + value: function renderInitialsAvatar() { + var _this$props2 = this.props, + initials = _this$props2.initials, + inverse = _this$props2.inverse, + label = _this$props2.label, + variant = _this$props2.variant; + return /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("abbr", { + className: class_names('slds-avatar__initials', { + 'slds-avatar__initials_inverse': inverse, + 'slds-icon-standard-account': variant === 'entity', + 'slds-icon-standard-user': variant === 'user' + }), + title: label + }, initials ? initials : this.buildInitials()); + } + }, { + key: "render", + value: function render() { + var _this3 = this; + + var _this$props3 = this.props, + imgSrc = _this$props3.imgSrc, + initials = _this$props3.initials, + variant = _this$props3.variant, + label = _this$props3.label, + size = _this$props3.size; + + var renderAvatar = function renderAvatar() { + /* eslint no-unneeded-ternary: */ + if (!_this3.state.imgLoadError && imgSrc) { + return _this3.renderBaseAvatar(); + } + + if (initials || label && label.trim()) { + return _this3.renderInitialsAvatar(); + } + + return _this3.renderIconAvatar(); + }; + + return /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", null, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("span", { + className: class_names('slds-avatar', { + 'slds-avatar_circle': variant === 'user', + 'slds-avatar_x-small': size === 'x-small', + 'slds-avatar_small': size === 'small', + 'slds-avatar_medium': size === 'medium', + 'slds-avatar_large': size === 'large' + }) + }, renderAvatar())); + } + }]); + + return Avatar; +}(external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.Component); + +avatar_Avatar.defaultProps = avatar_defaultProps; +avatar_Avatar.displayName = avatar_displayName; +avatar_Avatar.propTypes = avatar_propTypes; +/* harmony default export */ var components_avatar = (avatar_Avatar); +// CONCATENATED MODULE: ./components/badge/index.jsx +function badge_typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { badge_typeof = function _typeof(obj) { return typeof obj; }; } else { badge_typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return badge_typeof(obj); } + +function badge_classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function badge_defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function badge_createClass(Constructor, protoProps, staticProps) { if (protoProps) badge_defineProperties(Constructor.prototype, protoProps); if (staticProps) badge_defineProperties(Constructor, staticProps); return Constructor; } + +function badge_inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) badge_setPrototypeOf(subClass, superClass); } + +function badge_setPrototypeOf(o, p) { badge_setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return badge_setPrototypeOf(o, p); } + +function badge_createSuper(Derived) { var hasNativeReflectConstruct = badge_isNativeReflectConstruct(); return function _createSuperInternal() { var Super = badge_getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = badge_getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return badge_possibleConstructorReturn(this, result); }; } + +function badge_possibleConstructorReturn(self, call) { if (call && (badge_typeof(call) === "object" || typeof call === "function")) { return call; } return badge_assertThisInitialized(self); } + +function badge_assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +function badge_isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } } + +function badge_getPrototypeOf(o) { badge_getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return badge_getPrototypeOf(o); } + +/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */ + +/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */ +// Implements the [Badge design pattern](https://latest-216.lightningdesignsystem.com/components/badges/) in React. +// ## Dependencies +// ### React + + + // ### shortid +// [npmjs.com/package/shortid](https://www.npmjs.com/package/shortid) +// shortid is a short, non-sequential, url-friendly, unique id generator + + // ## Constants + + +/** + * Badges are labels which hold small amounts of information. + */ + +var badge_Badge = /*#__PURE__*/function (_React$Component) { + badge_inherits(Badge, _React$Component); + + var _super = badge_createSuper(Badge); + + function Badge(props) { + var _this; + + badge_classCallCheck(this, Badge); + + _this = _super.call(this, props); + _this.generatedId = shortid_default.a.generate(); + return _this; + } + /** + * Get the Badge's HTML id. Generate a new one if no ID present. + */ + + + badge_createClass(Badge, [{ + key: "getId", + value: function getId() { + return this.props.id || this.generatedId; + } + }, { + key: "render", + value: function render() { + var icon = this.props.icon && /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("span", { + className: classnames_default()('slds-badge__icon', "slds-badge__icon_".concat(this.props.iconAlignment)), + style: this.props.style + }, this.props.icon); + return /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("span", { + id: this.getId(), + className: classnames_default()('slds-badge', { + 'slds-badge_inverse': this.props.color === 'inverse', + 'slds-badge_lightest': this.props.color === 'light', + 'slds-theme_success': this.props.color === 'success', + 'slds-theme_warning': this.props.color === 'warning', + 'slds-theme_error': this.props.color === 'error' + }, this.props.className) + }, this.props.iconAlignment === 'left' ? /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.Fragment, null, icon, this.props.content) : /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.Fragment, null, this.props.content, icon)); + } + }]); + + return Badge; +}(external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.Component); + +badge_Badge.displayName = BADGE; +badge_Badge.propTypes = { + /** + * CSS classes that are applied to the component + */ + className: prop_types_default.a.oneOfType([prop_types_default.a.array, prop_types_default.a.object, prop_types_default.a.string]), + + /** + * Id of component, if desired. If not provided an id is automatically generated + */ + id: prop_types_default.a.string, + + /** + * Custom styles to be passed to the component + */ + style: prop_types_default.a.object, + + /** + * Color variant for the badge component + */ + color: prop_types_default.a.oneOf(['default', 'inverse', 'light', 'success', 'warning', 'error']), + + /** + * Icon alignment for the badge component + */ + iconAlignment: prop_types_default.a.oneOf(['left', 'right']), + + /** + * Content to be placed inside the badge component + */ + content: prop_types_default.a.oneOfType([prop_types_default.a.string, prop_types_default.a.node]) +}; +badge_Badge.defaultProps = { + iconAlignment: 'left', + color: 'default' +}; +/* harmony default export */ var badge = (badge_Badge); +// CONCATENATED MODULE: ./components/brand-band/index.jsx +function brand_band_typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { brand_band_typeof = function _typeof(obj) { return typeof obj; }; } else { brand_band_typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return brand_band_typeof(obj); } + +function brand_band_ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; } + +function brand_band_objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { brand_band_ownKeys(Object(source), true).forEach(function (key) { brand_band_defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { brand_band_ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; } + +function brand_band_defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +function brand_band_classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function brand_band_defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function brand_band_createClass(Constructor, protoProps, staticProps) { if (protoProps) brand_band_defineProperties(Constructor.prototype, protoProps); if (staticProps) brand_band_defineProperties(Constructor, staticProps); return Constructor; } + +function brand_band_inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) brand_band_setPrototypeOf(subClass, superClass); } + +function brand_band_setPrototypeOf(o, p) { brand_band_setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return brand_band_setPrototypeOf(o, p); } + +function brand_band_createSuper(Derived) { var hasNativeReflectConstruct = brand_band_isNativeReflectConstruct(); return function _createSuperInternal() { var Super = brand_band_getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = brand_band_getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return brand_band_possibleConstructorReturn(this, result); }; } + +function brand_band_possibleConstructorReturn(self, call) { if (call && (brand_band_typeof(call) === "object" || typeof call === "function")) { return call; } return brand_band_assertThisInitialized(self); } + +function brand_band_assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +function brand_band_isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } } + +function brand_band_getPrototypeOf(o) { brand_band_getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return brand_band_getPrototypeOf(o); } + +/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */ + +/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */ +// # Brand Band Component +// Implements the [Brand Band design pattern](https://latest-216.lightningdesignsystem.com/components/brand-band/) in React. +// ## Dependencies +// ### React + + // ### shortid +// [npmjs.com/package/shortid](https://www.npmjs.com/package/shortid) +// shortid is a short, non-sequential, url-friendly, unique id generator + + // ### classNames +// [github.com/JedWatson/classnames](https://github.com/JedWatson/classnames) +// A simple javascript utility for conditionally joining classNames together. + + // ## Constants + + +/** + * The brand band provides theming capability that adds personality and improves information density and contrast. + * + * NOTE: you may find that themes other than 'default' fail to load the appropriate styling in your application. + * If this occurs the cause is very likely to be CSP settings on the server hosting your application protecting against style injections. + * Changing these settings is not recommended. Instead, add the following styles to any stylesheet provided by the server itself (such as an external stylesheet): + * + * When using 'lightning-theme': + * .slds-brand-band.dsr-brand-band_lightning-blue:before { + * background-image: url(/assets/images/themes/oneSalesforce/banner-brand-default.png), linear-gradient(to top, rgba(175, 197, 222, 0) 0, #1B5F9E); + * } + * .slds-brand-band.dsr-brand-band_lightning-blue:after { + * background-image: linear-gradient(to bottom, rgba(175, 197, 222, 0) 60%, #AFC5DE); + * } + * + * For more information on the problem, [see this Stack Overflow question](https://stackoverflow.com/questions/17766817/refused-to-apply-inline-style-because-it-violates-the-following-content-security) + */ + +var brand_band_BrandBand = /*#__PURE__*/function (_React$Component) { + brand_band_inherits(BrandBand, _React$Component); + + var _super = brand_band_createSuper(BrandBand); + + brand_band_createClass(BrandBand, null, [{ + key: "injectLightningBlueStyles", + value: function injectLightningBlueStyles() { + return /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("style", null, ".slds-brand-band.dsr-brand-band_lightning-blue:before {\n\tbackground-image: url(/assets/images/themes/oneSalesforce/banner-brand-default.png), linear-gradient(to top, rgba(175, 197, 222, 0) 0, #1B5F9E);\n}\n.slds-brand-band.dsr-brand-band_lightning-blue:after {\n\tbackground-image: linear-gradient(to bottom, rgba(175, 197, 222, 0) 60%, #AFC5DE);\n}"); + } + }]); + + function BrandBand(props) { + var _this; + + brand_band_classCallCheck(this, BrandBand); + + _this = _super.call(this, props); + _this.generatedId = shortid_default.a.generate(); + return _this; + } + + brand_band_createClass(BrandBand, [{ + key: "getId", + value: function getId() { + return this.props.id || this.generatedId; + } + }, { + key: "render", + value: function render() { + var props = this.props; + return /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + style: brand_band_objectSpread({ + background: 'rgb(176, 196, 223)', + height: '100%', + position: 'relative', + width: '100%', + zIndex: 1 + }, props.styleContainer) + }, BrandBand.injectLightningBlueStyles(), /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: class_names('slds-brand-band', { + 'slds-brand-band_small': props.size === 'small', + 'slds-brand-band_medium': props.size === 'medium', + 'slds-brand-band_large': props.size === 'large', + 'slds-brand-band_cover': props.backgroundSize === 'cover', + 'slds-brand-band_none': props.image === 'none', + 'dsr-brand-band_lightning-blue': true + }, props.className), + id: this.getId(), + style: props.style + }, props.children)); + } + }]); + + return BrandBand; +}(external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.Component); + +brand_band_BrandBand.displayName = BRAND_BAND; +brand_band_BrandBand.propTypes = { + /** + * Primary application grid layout or a white background component such as a `Card` should be passed into this component. + */ + children: prop_types_default.a.node, + + /** + * CSS classes that are applied to the component + */ + className: prop_types_default.a.oneOfType([prop_types_default.a.array, prop_types_default.a.object, prop_types_default.a.string]), + + /** + * Id of component, if desired. If not provided an id is automatically generated + */ + id: prop_types_default.a.string, + + /** + * Image of the brand band + */ + image: prop_types_default.a.oneOf(['default', 'none']), + + /** + * Background size of the brand band. Default is 'contain' + */ + backgroundSize: prop_types_default.a.oneOf(['contain', 'cover']), + + /** + * Size of the brand band. Default is 'medium' + */ + size: prop_types_default.a.oneOf(['small', 'medium', 'large']), + + /** + * Custom styles to be passed to the component + */ + style: prop_types_default.a.object, + + /** + * Custom styles to be passed to the component container + */ + styleContainer: prop_types_default.a.object, + + /** + * Different brand band styling. + * NOTE: using 'lightning-blue' may result in incorrect styling depending on server CSP settings. See opening component documentation above for details. + */ + theme: prop_types_default.a.oneOf(['default', 'lightning-blue']) +}; +brand_band_BrandBand.defaultProps = { + backgroundSize: 'contain', + image: 'default', + size: 'medium', + theme: 'default' +}; +/* harmony default export */ var brand_band = (brand_band_BrandBand); +// CONCATENATED MODULE: ./components/breadcrumb/check-props.js +/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */ + +/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */ + +/* eslint-disable import/no-mutable-exports */ + + + +var breadcrumb_check_props_checkProps = function checkPropsFunction() {}; + +if (false) {} + +/* harmony default export */ var breadcrumb_check_props = (breadcrumb_check_props_checkProps); +// EXTERNAL MODULE: ./components/breadcrumb/component.json +var breadcrumb_component = __webpack_require__(37); + +// CONCATENATED MODULE: ./node_modules/react-onclickoutside/dist/react-onclickoutside.es.js + + + +function _inheritsLoose(subClass, superClass) { + subClass.prototype = Object.create(superClass.prototype); + subClass.prototype.constructor = subClass; + subClass.__proto__ = superClass; +} + +function react_onclickoutside_es_objectWithoutProperties(source, excluded) { + if (source == null) return {}; + var target = {}; + var sourceKeys = Object.keys(source); + var key, i; + + for (i = 0; i < sourceKeys.length; i++) { + key = sourceKeys[i]; + if (excluded.indexOf(key) >= 0) continue; + target[key] = source[key]; + } + + if (Object.getOwnPropertySymbols) { + var sourceSymbolKeys = Object.getOwnPropertySymbols(source); + + for (i = 0; i < sourceSymbolKeys.length; i++) { + key = sourceSymbolKeys[i]; + if (excluded.indexOf(key) >= 0) continue; + if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; + target[key] = source[key]; + } + } + + return target; +} + +/** + * Check whether some DOM node is our Component's node. + */ +function isNodeFound(current, componentNode, ignoreClass) { + if (current === componentNode) { + return true; + } // SVG <use/> elements do not technically reside in the rendered DOM, so + // they do not have classList directly, but they offer a link to their + // corresponding element, which can have classList. This extra check is for + // that case. + // See: http://www.w3.org/TR/SVG11/struct.html#InterfaceSVGUseElement + // Discussion: https://github.com/Pomax/react-onclickoutside/pull/17 + + + if (current.correspondingElement) { + return current.correspondingElement.classList.contains(ignoreClass); + } + + return current.classList.contains(ignoreClass); +} +/** + * Try to find our node in a hierarchy of nodes, returning the document + * node as highest node if our node is not found in the path up. + */ + +function findHighest(current, componentNode, ignoreClass) { + if (current === componentNode) { + return true; + } // If source=local then this event came from 'somewhere' + // inside and should be ignored. We could handle this with + // a layered approach, too, but that requires going back to + // thinking in terms of Dom node nesting, running counter + // to React's 'you shouldn't care about the DOM' philosophy. + + + while (current.parentNode) { + if (isNodeFound(current, componentNode, ignoreClass)) { + return true; + } + + current = current.parentNode; + } + + return current; +} +/** + * Check if the browser scrollbar was clicked + */ + +function clickedScrollbar(evt) { + return document.documentElement.clientWidth <= evt.clientX || document.documentElement.clientHeight <= evt.clientY; +} + +// ideally will get replaced with external dep +// when rafrex/detect-passive-events#4 and rafrex/detect-passive-events#5 get merged in +var testPassiveEventSupport = function testPassiveEventSupport() { + if (typeof window === 'undefined' || typeof window.addEventListener !== 'function') { + return; + } + + var passive = false; + var options = Object.defineProperty({}, 'passive', { + get: function get() { + passive = true; + } + }); + + var noop = function noop() {}; + + window.addEventListener('testPassiveEventSupport', noop, options); + window.removeEventListener('testPassiveEventSupport', noop, options); + return passive; +}; + +function autoInc(seed) { + if (seed === void 0) { + seed = 0; + } + + return function () { + return ++seed; + }; +} + +var uid = autoInc(); + +var passiveEventSupport; +var handlersMap = {}; +var enabledInstances = {}; +var touchEvents = ['touchstart', 'touchmove']; +var IGNORE_CLASS_NAME = 'ignore-react-onclickoutside'; +/** + * Options for addEventHandler and removeEventHandler + */ + +function getEventHandlerOptions(instance, eventName) { + var handlerOptions = null; + var isTouchEvent = touchEvents.indexOf(eventName) !== -1; + + if (isTouchEvent && passiveEventSupport) { + handlerOptions = { + passive: !instance.props.preventDefault + }; + } + + return handlerOptions; +} +/** + * This function generates the HOC function that you'll use + * in order to impart onOutsideClick listening to an + * arbitrary component. It gets called at the end of the + * bootstrapping code to yield an instance of the + * onClickOutsideHOC function defined inside setupHOC(). + */ + + +function onClickOutsideHOC(WrappedComponent, config) { + var _class, _temp; + + var componentName = WrappedComponent.displayName || WrappedComponent.name || 'Component'; + return _temp = _class = + /*#__PURE__*/ + function (_Component) { + _inheritsLoose(onClickOutside, _Component); + + function onClickOutside(props) { + var _this; + + _this = _Component.call(this, props) || this; + + _this.__outsideClickHandler = function (event) { + if (typeof _this.__clickOutsideHandlerProp === 'function') { + _this.__clickOutsideHandlerProp(event); + + return; + } + + var instance = _this.getInstance(); + + if (typeof instance.props.handleClickOutside === 'function') { + instance.props.handleClickOutside(event); + return; + } + + if (typeof instance.handleClickOutside === 'function') { + instance.handleClickOutside(event); + return; + } + + throw new Error("WrappedComponent: " + componentName + " lacks a handleClickOutside(event) function for processing outside click events."); + }; + + _this.__getComponentNode = function () { + var instance = _this.getInstance(); + + if (config && typeof config.setClickOutsideRef === 'function') { + return config.setClickOutsideRef()(instance); + } + + if (typeof instance.setClickOutsideRef === 'function') { + return instance.setClickOutsideRef(); + } + + return Object(external_amd_react_dom_commonjs_react_dom_commonjs2_react_dom_root_ReactDOM_["findDOMNode"])(instance); + }; + + _this.enableOnClickOutside = function () { + if (typeof document === 'undefined' || enabledInstances[_this._uid]) { + return; + } + + if (typeof passiveEventSupport === 'undefined') { + passiveEventSupport = testPassiveEventSupport(); + } + + enabledInstances[_this._uid] = true; + var events = _this.props.eventTypes; + + if (!events.forEach) { + events = [events]; + } + + handlersMap[_this._uid] = function (event) { + if (_this.componentNode === null) return; + + if (_this.props.preventDefault) { + event.preventDefault(); + } + + if (_this.props.stopPropagation) { + event.stopPropagation(); + } + + if (_this.props.excludeScrollbar && clickedScrollbar(event)) return; + var current = event.target; + + if (findHighest(current, _this.componentNode, _this.props.outsideClickIgnoreClass) !== document) { + return; + } + + _this.__outsideClickHandler(event); + }; + + events.forEach(function (eventName) { + document.addEventListener(eventName, handlersMap[_this._uid], getEventHandlerOptions(_this, eventName)); + }); + }; + + _this.disableOnClickOutside = function () { + delete enabledInstances[_this._uid]; + var fn = handlersMap[_this._uid]; + + if (fn && typeof document !== 'undefined') { + var events = _this.props.eventTypes; + + if (!events.forEach) { + events = [events]; + } + + events.forEach(function (eventName) { + return document.removeEventListener(eventName, fn, getEventHandlerOptions(_this, eventName)); + }); + delete handlersMap[_this._uid]; + } + }; + + _this.getRef = function (ref) { + return _this.instanceRef = ref; + }; + + _this._uid = uid(); + return _this; + } + /** + * Access the WrappedComponent's instance. + */ + + + var _proto = onClickOutside.prototype; + + _proto.getInstance = function getInstance() { + if (!WrappedComponent.prototype.isReactComponent) { + return this; + } + + var ref = this.instanceRef; + return ref.getInstance ? ref.getInstance() : ref; + }; + + /** + * Add click listeners to the current document, + * linked to this component's state. + */ + _proto.componentDidMount = function componentDidMount() { + // If we are in an environment without a DOM such + // as shallow rendering or snapshots then we exit + // early to prevent any unhandled errors being thrown. + if (typeof document === 'undefined' || !document.createElement) { + return; + } + + var instance = this.getInstance(); + + if (config && typeof config.handleClickOutside === 'function') { + this.__clickOutsideHandlerProp = config.handleClickOutside(instance); + + if (typeof this.__clickOutsideHandlerProp !== 'function') { + throw new Error("WrappedComponent: " + componentName + " lacks a function for processing outside click events specified by the handleClickOutside config option."); + } + } + + this.componentNode = this.__getComponentNode(); // return early so we dont initiate onClickOutside + + if (this.props.disableOnClickOutside) return; + this.enableOnClickOutside(); + }; + + _proto.componentDidUpdate = function componentDidUpdate() { + this.componentNode = this.__getComponentNode(); + }; + /** + * Remove all document's event listeners for this component + */ + + + _proto.componentWillUnmount = function componentWillUnmount() { + this.disableOnClickOutside(); + }; + /** + * Can be called to explicitly enable event listening + * for clicks and touches outside of this element. + */ + + + /** + * Pass-through render + */ + _proto.render = function render() { + // eslint-disable-next-line no-unused-vars + var _props = this.props, + excludeScrollbar = _props.excludeScrollbar, + props = react_onclickoutside_es_objectWithoutProperties(_props, ["excludeScrollbar"]); + + if (WrappedComponent.prototype.isReactComponent) { + props.ref = this.getRef; + } else { + props.wrappedRef = this.getRef; + } + + props.disableOnClickOutside = this.disableOnClickOutside; + props.enableOnClickOutside = this.enableOnClickOutside; + return Object(external_amd_react_commonjs_react_commonjs2_react_root_React_["createElement"])(WrappedComponent, props); + }; + + return onClickOutside; + }(external_amd_react_commonjs_react_commonjs2_react_root_React_["Component"]), _class.displayName = "OnClickOutside(" + componentName + ")", _class.defaultProps = { + eventTypes: ['mousedown', 'touchstart'], + excludeScrollbar: config && config.excludeScrollbar || false, + outsideClickIgnoreClass: IGNORE_CLASS_NAME, + preventDefault: false, + stopPropagation: false + }, _class.getClass = function () { + return WrappedComponent.getClass ? WrappedComponent.getClass() : WrappedComponent; + }, _temp; +} + + +/* harmony default export */ var react_onclickoutside_es = (onClickOutsideHOC); + +// CONCATENATED MODULE: ./components/utilities/menu-list/item-label.jsx +/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */ + +/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */ +// # List Item Label Component +// ## Dependencies +// ### React + + // ## Constants + + +/** + * Component description. + */ + +var item_label_ListItemLabel = function ListItemLabel(props) { + return /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("span", { + className: "slds-truncate", + title: props.label + }, props.icon, props.label); +}; + +item_label_ListItemLabel.displayName = LIST_ITEM_LABEL; +item_label_ListItemLabel.propTypes = { + data: prop_types_default.a.object, + icon: prop_types_default.a.node, + index: prop_types_default.a.number, + inverted: prop_types_default.a.bool, + isSelected: prop_types_default.a.bool, + label: prop_types_default.a.string, + value: prop_types_default.a.any +}; +item_label_ListItemLabel.defaultProps = { + data: {}, + index: 0, + inverted: false, + isSelected: false, + label: '', + value: null +}; +/* harmony default export */ var item_label = (item_label_ListItemLabel); +// CONCATENATED MODULE: ./components/utilities/menu-list/item.jsx +function item_typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { item_typeof = function _typeof(obj) { return typeof obj; }; } else { item_typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return item_typeof(obj); } + +function item_ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; } + +function item_objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { item_ownKeys(Object(source), true).forEach(function (key) { item_defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { item_ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; } + +function item_extends() { item_extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return item_extends.apply(this, arguments); } + +function item_classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function item_defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function item_createClass(Constructor, protoProps, staticProps) { if (protoProps) item_defineProperties(Constructor.prototype, protoProps); if (staticProps) item_defineProperties(Constructor, staticProps); return Constructor; } + +function item_inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) item_setPrototypeOf(subClass, superClass); } + +function item_setPrototypeOf(o, p) { item_setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return item_setPrototypeOf(o, p); } + +function item_createSuper(Derived) { var hasNativeReflectConstruct = item_isNativeReflectConstruct(); return function _createSuperInternal() { var Super = item_getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = item_getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return item_possibleConstructorReturn(this, result); }; } + +function item_possibleConstructorReturn(self, call) { if (call && (item_typeof(call) === "object" || typeof call === "function")) { return call; } return item_assertThisInitialized(self); } + +function item_assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +function item_isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } } + +function item_getPrototypeOf(o) { item_getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return item_getPrototypeOf(o); } + +function item_defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */ + +/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */ + +/* eslint-disable jsx-a11y/no-noninteractive-element-interactions */ +// # List Item Component +// ## Dependencies +// ### React + + // ### classNames + + // ### Icon + + // ## Children + + // ### Event Helpers + + // ## Constants + + +/** + * Component description. + */ + +var item_ListItem = /*#__PURE__*/function (_React$Component) { + item_inherits(ListItem, _React$Component); + + var _super = item_createSuper(ListItem); + + function ListItem() { + var _this; + + item_classCallCheck(this, ListItem); + + for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { + args[_key] = arguments[_key]; + } + + _this = _super.call.apply(_super, [this].concat(args)); + + item_defineProperty(item_assertThisInitialized(_this), "getLabel", function () { + var Label = _this.props.labelRenderer; + return /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(Label, { + checkmark: _this.props.checkmark, + data: _this.props.data, + icon: _this.getIcon('left'), + index: _this.props.index, + inverted: _this.props.inverted, + isSelected: _this.props.isSelected, + label: _this.props.label, + value: _this.props.value + }); + }); + + item_defineProperty(item_assertThisInitialized(_this), "getIcon", function (position) { + var classnames = ['slds-icon-text-default']; + + var iconProps = _this.props["".concat(position, "Icon")]; + + if (position === 'left') { + if (_this.props.checkmark) { + // eslint-disable-next-line fp/no-mutating-methods + classnames.push('slds-icon_selected'); + iconProps = { + category: 'utility', + name: 'check' + }; + } // eslint-disable-next-line fp/no-mutating-methods + + + classnames.push('slds-m-right_x-small'); + } else { + // eslint-disable-next-line fp/no-mutating-methods + classnames.push('slds-m-left_small'); + } + + if (iconProps) { + return /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(components_icon, item_extends({ + className: classnames_default()(classnames), + position: position, + size: "x-small" + }, iconProps)); + } + + return null; + }); + + item_defineProperty(item_assertThisInitialized(_this), "handleClick", function (event) { + if (_this.props.type !== 'link' || _this.props.href === 'javascript:void(0);' // eslint-disable-line no-script-url + ) { + // eslint-disable-line no-script-url + utilities_event.trapImmediate(event); + } + + if (_this.props.onSelect) { + _this.props.onSelect(_this.props.index); + } + }); + + item_defineProperty(item_assertThisInitialized(_this), "handleMouseDown", function (event) { + utilities_event.trapImmediate(event); + }); + + return _this; + } + + item_createClass(ListItem, [{ + key: "render", + value: function render() { + switch (this.props.type) { + case 'header': + { + return /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("li", { + className: classnames_default()('slds-dropdown__header', { + 'slds-has-divider_top-space': this.props.divider === 'top', + 'slds-has-divider_bottom-space': this.props.divider === 'bottom' + }, this.props.className), + onMouseDown: this.handleMouseDown, + role: "separator" + }, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("span", null, this.props.label)); + } + + case 'divider': + { + return /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("li", { + className: classnames_default()('slds-has-divider', this.props.className), + onMouseDown: this.handleMouseDown, + role: "separator" + }); + } + + case 'link': + case 'item': + default: + { + /* eslint-disable jsx-a11y/role-supports-aria-props */ + var itemContents = /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("a", { + "aria-checked": this.props.checkmark && this.props.isSelected, + "aria-disabled": this.props['aria-disabled'], + href: this.props.href, + "data-index": this.props.index, + onClick: this.handleClick, + role: this.props.checkmark ? 'menuitemcheckbox' : 'menuitem', + tabIndex: "-1" + }, this.getLabel(), this.getIcon('right')); + + if (this.props.tooltipContent && this.props.tooltipTemplate) { + var tooltipTemplateProps = item_extends({}, this.props.tooltipTemplate.props); + + var tooltipProps = item_objectSpread(item_objectSpread({}, tooltipTemplateProps), {}, { + content: this.props.tooltipContent, + id: "".concat(this.props.id, "-tooltip"), + triggerStyle: item_objectSpread({ + width: '100%' + }, tooltipTemplateProps.triggerStyle || {}) + }); + + itemContents = /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.cloneElement(this.props.tooltipTemplate, tooltipProps, itemContents); + } + + return ( + /*#__PURE__*/ + + /* eslint-disable jsx-a11y/role-supports-aria-props */ + // disabled eslint, but using aria-selected on presentation role seems suspicious... + external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("li", { + "aria-selected": this.props.checkmark === null ? this.props.isSelected : null, + className: classnames_default()('slds-dropdown__item', { + 'slds-is-selected': this.props.isSelected + }, this.props.className), + id: this.props.id, + onMouseDown: this.handleMouseDown, + role: "presentation" + }, itemContents) + ); + } + } + } + }]); + + return ListItem; +}(external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.Component); + +item_defineProperty(item_ListItem, "displayName", LIST_ITEM); + +item_defineProperty(item_ListItem, "propTypes", { + 'aria-disabled': prop_types_default.a.bool, + className: prop_types_default.a.oneOfType([prop_types_default.a.array, prop_types_default.a.object, prop_types_default.a.string]), + checkmark: prop_types_default.a.bool, + data: prop_types_default.a.object, + divider: prop_types_default.a.oneOf(['top', 'bottom']), + href: prop_types_default.a.string, + id: prop_types_default.a.string.isRequired, + index: prop_types_default.a.number.isRequired, + inverted: prop_types_default.a.bool, + isSelected: prop_types_default.a.bool, + label: prop_types_default.a.string, + labelRenderer: prop_types_default.a.func, + leftIcon: prop_types_default.a.shape({ + category: prop_types_default.a.string, + name: prop_types_default.a.string + }), + onSelect: prop_types_default.a.func.isRequired, + rightIcon: prop_types_default.a.shape({ + category: prop_types_default.a.string, + name: prop_types_default.a.string + }), + tooltipContent: prop_types_default.a.oneOfType([prop_types_default.a.node, prop_types_default.a.string]), + tooltipTemplate: prop_types_default.a.node, + type: prop_types_default.a.string, + value: prop_types_default.a.any +}); + +item_defineProperty(item_ListItem, "defaultProps", { + data: {}, + href: 'javascript:void(0);', + // eslint-disable-line no-script-url + inverted: false, + isSelected: false, + label: '', + labelRenderer: item_label, + value: null +}); + +/* harmony default export */ var menu_list_item = (item_ListItem); +// CONCATENATED MODULE: ./components/utilities/menu-list/index.jsx +function menu_list_typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { menu_list_typeof = function _typeof(obj) { return typeof obj; }; } else { menu_list_typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return menu_list_typeof(obj); } + +function menu_list_extends() { menu_list_extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return menu_list_extends.apply(this, arguments); } + +function menu_list_classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function menu_list_defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function menu_list_createClass(Constructor, protoProps, staticProps) { if (protoProps) menu_list_defineProperties(Constructor.prototype, protoProps); if (staticProps) menu_list_defineProperties(Constructor, staticProps); return Constructor; } + +function menu_list_inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) menu_list_setPrototypeOf(subClass, superClass); } + +function menu_list_setPrototypeOf(o, p) { menu_list_setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return menu_list_setPrototypeOf(o, p); } + +function menu_list_createSuper(Derived) { var hasNativeReflectConstruct = menu_list_isNativeReflectConstruct(); return function _createSuperInternal() { var Super = menu_list_getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = menu_list_getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return menu_list_possibleConstructorReturn(this, result); }; } + +function menu_list_possibleConstructorReturn(self, call) { if (call && (menu_list_typeof(call) === "object" || typeof call === "function")) { return call; } return menu_list_assertThisInitialized(self); } + +function menu_list_assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +function menu_list_isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } } + +function menu_list_getPrototypeOf(o) { menu_list_getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return menu_list_getPrototypeOf(o); } + +function menu_list_defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */ + +/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */ +// # List Component +// ## Dependencies +// ### React + + // ### classNames + + // ## Children + + // ## Constants + + +/** + * Component description. + */ + +var menu_list_List = /*#__PURE__*/function (_React$Component) { + menu_list_inherits(List, _React$Component); + + var _super = menu_list_createSuper(List); + + function List() { + menu_list_classCallCheck(this, List); + + return _super.apply(this, arguments); + } + + menu_list_createClass(List, [{ + key: "render", + value: function render() { + var _this = this; + + var lengthClassName; + var list; + + if (this.props.length) { + lengthClassName = "slds-dropdown_length-".concat(this.props.length); + } + + list = /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("ul", { + "aria-labelledby": this.props.triggerId, + className: classnames_default()('dropdown__list', lengthClassName, this.props.className), + role: "menu" + }, this.props.options.map(function (option, index) { + var id = _this.props.getListItemId(index); + + var isSingleSelected = index === _this.props.selectedIndex; + var isMultipleSelected = !!_this.props.selectedIndices && _this.props.selectedIndices.indexOf(index) !== -1; + return /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(menu_list_item, menu_list_extends({}, option, { + "aria-disabled": option.disabled, + checkmark: _this.props.checkmark && (isSingleSelected || isMultipleSelected), + data: option, + id: id, + index: index, + isSelected: isSingleSelected || isMultipleSelected, + key: "".concat(id, "-").concat(option.value), + labelRenderer: _this.props.itemRenderer, + onSelect: _this.props.onSelect, + ref: function ref(listItem) { + return _this.props.itemRefs(listItem, index); + }, + tooltipTemplate: _this.props.tooltipMenuItem + })); + })); + + if (this.props.tooltipMenuItem) { + /* eslint-disable react/no-danger */ + list = /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.Fragment, null, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("style", { + dangerouslySetInnerHTML: { + __html: ".slds-dropdown__item > .slds-tooltip-trigger > a {\n\tposition: relative;\n\tdisplay: -ms-flexbox;\n\tdisplay: flex;\n\t-ms-flex-pack: justify;\n\tjustify-content: space-between;\n\t-ms-flex-align: center;\n\talign-items: center;\n\tpadding: 0.5rem 0.75rem;\n\tcolor: #080707;\n\twhite-space: nowrap;\n\tcursor: pointer;\n}\n\n.slds-dropdown__item > .slds-tooltip-trigger > a:active {\n text-decoration: none;\n background-color: #ecebea;\n}\n\n.slds-dropdown__item > .slds-tooltip-trigger > a:hover,\n.slds-dropdown__item > .slds-tooltip-trigger > a:focus {\n outline: 0;\n text-decoration: none;\n background-color: #f3f2f2;\n}\n" + } + }), list); + /* eslint-enable react/no-danger */ + } + + return list; + } + }]); + + return List; +}(external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.Component); + +menu_list_defineProperty(menu_list_List, "displayName", LIST); + +menu_list_defineProperty(menu_list_List, "propTypes", { + /** + * Determines whether or not to show a checkmark for selected items. + */ + checkmark: prop_types_default.a.bool, + + /** + * CSS classes to be added to `<ul />`. + */ + className: prop_types_default.a.string, + + /** + * Used internally to determine the id that will be used for list items. + */ + getListItemId: prop_types_default.a.func, + + /** + * Used internally to pass references to the individual menu items back up for focusing / scrolling. + */ + itemRefs: prop_types_default.a.func, + + /** + * If provided, this function will be used to render the contents of each menu item. + */ + itemRenderer: prop_types_default.a.func, + + /** + * Sets the height of the list based on the numeber of items. + */ + length: prop_types_default.a.oneOf([null, '5', '7', '10', 5, 7, 10]), + + /** + * Triggered when a list item is selected (via mouse or keyboard). + */ + onSelect: prop_types_default.a.func, + + /** + * An array of items to render in the list. + */ + options: prop_types_default.a.array, + + /** + * The index of the currently selected item in the list. + */ + selectedIndex: prop_types_default.a.number, + + /** + * Accepts a `Tooltip` component to be used as the template for menu item tooltips that appear via the `tooltipContent` options object attribute + */ + tooltipMenuItem: prop_types_default.a.node, + + /** + * The id of the element which triggered this list (in a menu context). + */ + triggerId: prop_types_default.a.string +}); + +menu_list_defineProperty(menu_list_List, "defaultProps", { + length: '5', + options: [], + selectedIndex: -1 +}); + +/* harmony default export */ var menu_list = (menu_list_List); +// CONCATENATED MODULE: ./components/menu-dropdown/button-trigger.jsx +function button_trigger_typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { button_trigger_typeof = function _typeof(obj) { return typeof obj; }; } else { button_trigger_typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return button_trigger_typeof(obj); } + +function button_trigger_extends() { button_trigger_extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return button_trigger_extends.apply(this, arguments); } + +function button_trigger_objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = button_trigger_objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; } + +function button_trigger_objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; } + +function button_trigger_classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function button_trigger_defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function button_trigger_createClass(Constructor, protoProps, staticProps) { if (protoProps) button_trigger_defineProperties(Constructor.prototype, protoProps); if (staticProps) button_trigger_defineProperties(Constructor, staticProps); return Constructor; } + +function button_trigger_inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) button_trigger_setPrototypeOf(subClass, superClass); } + +function button_trigger_setPrototypeOf(o, p) { button_trigger_setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return button_trigger_setPrototypeOf(o, p); } + +function button_trigger_createSuper(Derived) { var hasNativeReflectConstruct = button_trigger_isNativeReflectConstruct(); return function _createSuperInternal() { var Super = button_trigger_getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = button_trigger_getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return button_trigger_possibleConstructorReturn(this, result); }; } + +function button_trigger_possibleConstructorReturn(self, call) { if (call && (button_trigger_typeof(call) === "object" || typeof call === "function")) { return call; } return button_trigger_assertThisInitialized(self); } + +function button_trigger_assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +function button_trigger_isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } } + +function button_trigger_getPrototypeOf(o) { button_trigger_getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return button_trigger_getPrototypeOf(o); } + +function button_trigger_defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */ + +/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */ +// # Dropdown Trigger Component (Simple Button Flavor) --- SLDS for React +// ### React +// React is an external dependency of the project. + + // ### classNames +// [github.com/JedWatson/classnames](https://github.com/JedWatson/classnames) +// This project uses `classnames`, "a simple javascript utility for conditionally +// joining classNames together." + + + // ### Children + + +/** + * The Dropdown Button Trigger renders the default trigger button for the dropdown menu. If this component has children, it does not render itself to the DOM. Instead, it renders its child element, `Button`, and all that child's properties. This component may be used as a template to create custom triggers that do not use `Button`. + */ + +var button_trigger_Trigger = /*#__PURE__*/function (_React$Component) { + button_trigger_inherits(Trigger, _React$Component); + + var _super = button_trigger_createSuper(Trigger); + + function Trigger() { + button_trigger_classCallCheck(this, Trigger); + + return _super.apply(this, arguments); + } + + button_trigger_createClass(Trigger, [{ + key: "render", + // ### Display Name + // Always use the canonical component name (set in the core) as the React + // display name. + // ### Prop Types + // ### Render + value: function render() { + // The following are required for use with dropdown. Any other custom props for `Button` should be set with a `Button` child of this component, and are technically just here for backwards compatibility. See `children` prop description for more information. + var _this$props = this.props, + assistiveText = _this$props.assistiveText, + children = _this$props.children, + className = _this$props.className, + id = _this$props.id, + isInline = _this$props.isInline, + isOpen = _this$props.isOpen, + onBlur = _this$props.onBlur, + menu = _this$props.menu, + onClick = _this$props.onClick, + onFocus = _this$props.onFocus, + onKeyDown = _this$props.onKeyDown, + onMouseDown = _this$props.onMouseDown, + onMouseEnter = _this$props.onMouseEnter, + onMouseLeave = _this$props.onMouseLeave, + triggerRef = _this$props.triggerRef, + triggerClassName = _this$props.triggerClassName, + deprecatedPropsFromMenuDropdown = button_trigger_objectWithoutProperties(_this$props, ["assistiveText", "children", "className", "id", "isInline", "isOpen", "onBlur", "menu", "onClick", "onFocus", "onKeyDown", "onMouseDown", "onMouseEnter", "onMouseLeave", "triggerRef", "triggerClassName"]); + + var openOn = this.props.openOn === 'hover' ? 'click' : this.props.openOn; // Trigger manipulation + + var propsFromGrandchildButton = {}; // if there are no children, render the default button + + if (external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.Children.count(this.props.children) !== 0) { + external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.Children.forEach(this.props.children, function (child) { + if (child && child.type.displayName === components_button.displayName) { + propsFromGrandchildButton = child.props; + } + }); + } // If Trigger has a Button child, then use the explicitly declared child's props layered on top of those passed down by dropdown's props to allow manual override + + + return ( + /*#__PURE__*/ + + /* eslint-disable jsx-a11y/no-static-element-interactions */ + external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: classnames_default()("slds-dropdown-trigger slds-dropdown-trigger_".concat(openOn), { + 'slds-is-open': isOpen + }, triggerClassName), + id: id, + onBlur: onBlur, + onClick: onClick, + onKeyDown: onKeyDown, + onFocus: onFocus, + onMouseDown: onMouseDown, + onMouseEnter: onMouseEnter, + onMouseLeave: onMouseLeave + }, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(components_button, button_trigger_extends({ + assistiveText: assistiveText, + className: className, + "aria-expanded": isOpen, + "aria-haspopup": true + }, deprecatedPropsFromMenuDropdown, propsFromGrandchildButton, { + buttonRef: triggerRef + })), menu) + ); + } + }]); + + return Trigger; +}(external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.Component); + +button_trigger_defineProperty(button_trigger_Trigger, "displayName", MENU_DROPDOWN_TRIGGER); + +button_trigger_defineProperty(button_trigger_Trigger, "propTypes", { + /** + * Import the module `design-system-react/dropdown/button-trigger` and render a grandchild of the element type `Button`. Any `props` specified on that `Button` will be assigned to the triggering button. Any `id` prop or event hanlders (`onBlur`, `onClick`, etc.) set on the button grandchild will be overwritten by `MenuDropdown` to allow functionality and accessibility. + * ``` + * <Dropdown> + * <Trigger> + * <Button iconCategory="utility" iconName="settings" /> + * </Trigger> + * </Dropdown> + * ``` + */ + children: prop_types_default.a.element, + + /** + * CSS classes to be added to triggering button. + */ + className: prop_types_default.a.oneOfType([prop_types_default.a.array, prop_types_default.a.object, prop_types_default.a.string]), + + /** + * A unique ID is needed in order to support keyboard navigation, ARIA support, and connect the dropdown to the triggering button. This is provided by the `MenuDropdown`. Please use `MenuDropdown` to set. + */ + id: prop_types_default.a.string, + + /** + * Informs the trigger on the open/close state of the dropdown menu + */ + isOpen: prop_types_default.a.bool, + + /** + * By Default the dropdown menu is inside a `Dialog` component. + */ + menu: prop_types_default.a.node, + + /** + * Is only called when `openOn` is set to `hover` and when the triggering button loses focus. + */ + onBlur: prop_types_default.a.func, + + /** + * This prop is passed onto the triggering `Button`. Triggered when the trigger button is clicked. + */ + onClick: prop_types_default.a.func, + + /** + * Is only called when `openOn` is set to `hover` and when the triggering button gains focus. + */ + onFocus: prop_types_default.a.func, + + /** + * Called when a key pressed. + */ + onKeyDown: prop_types_default.a.func, + + /** + * Called when mouse clicks down on the trigger button. + */ + onMouseDown: prop_types_default.a.func, + + /** + * Called when mouse hovers over the trigger button. This is only called if `this.props.openOn` is set to `hover`. + */ + onMouseEnter: prop_types_default.a.func, + + /** + * Called when mouse hover leaves the trigger button. This is only called if `this.props.openOn` is set to `hover`. + */ + onMouseLeave: prop_types_default.a.func, + + /** + * Determines if mouse hover or click opens the dropdown menu. The default of `click` is highly recommended to comply with accessibility standards. If you are planning on using hover, please pause a moment and reconsider. + */ + openOn: prop_types_default.a.oneOf(['hover', 'click', 'hybrid']), + + /** + * The ref of the actual triggering button. + */ + triggerRef: prop_types_default.a.func, + + /** + * CSS classes to be added to wrapping trigger `div` around the button. + */ + triggerClassName: prop_types_default.a.oneOfType([prop_types_default.a.array, prop_types_default.a.object, prop_types_default.a.string]) +}); + +/* harmony default export */ var button_trigger = (button_trigger_Trigger); +// CONCATENATED MODULE: ./utilities/warning/one-of-required-property.js +/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */ + +/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */ + +/* eslint-disable import/no-mutable-exports */ +// This function will deliver an error message to the browser console when all of the props passed in are undefined (falsey). + +var oneOfRequired; + +if (false) { var one_of_required_property_hasWarned; } else { + oneOfRequired = function oneOfRequiredFunction() {}; +} + +/* harmony default export */ var one_of_required_property = (oneOfRequired); +// CONCATENATED MODULE: ./components/menu-dropdown/check-props.js +/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */ + +/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */ + +/* eslint-disable import/no-mutable-exports */ + + + + + +var menu_dropdown_check_props_checkProps = function checkPropsFunction() {}; + +if (false) {} + +/* harmony default export */ var menu_dropdown_check_props = (menu_dropdown_check_props_checkProps); +// EXTERNAL MODULE: ./components/menu-dropdown/component.json +var menu_dropdown_component = __webpack_require__(38); + +// CONCATENATED MODULE: ./utilities/key-buffer.js +/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */ + +/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */ +function KeyBuffer() { + var _this = this; + + this.buffer = ''; + return function (key) { + if (_this.timeout) { + clearTimeout(_this.timeout); + _this.timeout = undefined; + } + + _this.timeout = setTimeout(function () { + _this.buffer = ''; + }, 400); + _this.buffer = _this.buffer + key; + return _this.buffer; + }; +} + +/* harmony default export */ var key_buffer = (KeyBuffer); +// EXTERNAL MODULE: ./node_modules/lodash.escaperegexp/index.js +var lodash_escaperegexp = __webpack_require__(11); +var lodash_escaperegexp_default = /*#__PURE__*/__webpack_require__.n(lodash_escaperegexp); + +// CONCATENATED MODULE: ./utilities/keyboard-navigate.js +function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); } + +function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } + +function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); } + +function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; } + +function _iterableToArrayLimit(arr, i) { if (typeof Symbol === "undefined" || !(Symbol.iterator in Object(arr))) return; var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; } + +function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; } + +/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */ + +/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */ + + + + +var keyboard_navigate_keyboardNavigate = function keyboardNavigate(_ref) { + var componentContext = _ref.componentContext, + currentFocusedIndex = _ref.currentFocusedIndex, + isOpen = _ref.isOpen, + event = _ref.event, + key = _ref.key, + keyCode = _ref.keyCode, + navigableItems = _ref.navigableItems, + onFocus = _ref.onFocus, + onSelect = _ref.onSelect, + target = _ref.target, + toggleOpen = _ref.toggleOpen; + var indexes = navigableItems.indexes; + var lastIndex = indexes.length - 1; + var focusedIndex; + var ch = key || String.fromCharCode(keyCode); + + if (/^[ -~]$/.test(ch)) { + ch = ch.toLowerCase(); + } else { + ch = null; + } + + var openMenuKeys = keyCode === key_code.ENTER || keyCode === key_code.SPACE || keyCode === key_code.UP; + + if (keyCode === key_code.ESCAPE) { + if (isOpen) toggleOpen(); + } else if (!isOpen) { + var _indexes = _slicedToArray(indexes, 1); + + focusedIndex = _indexes[0]; + + if (openMenuKeys || ch) { + toggleOpen(); + } + + if (openMenuKeys && componentContext.trigger && // eslint-disable-next-line react/no-find-dom-node + external_amd_react_dom_commonjs_react_dom_commonjs2_react_dom_root_ReactDOM_default.a.findDOMNode(componentContext.trigger) === target) { + componentContext.handleClick(event); + } + } else if (keyCode === key_code.ENTER || keyCode === key_code.SPACE) { + onSelect(currentFocusedIndex); + } else { + var navigableIndex = indexes.indexOf(currentFocusedIndex); + + if (keyCode === key_code.DOWN) { + if (navigableIndex < lastIndex) { + var newNavigableIndex = navigableIndex + 1; + focusedIndex = indexes[newNavigableIndex]; + } else { + var _indexes2 = _slicedToArray(indexes, 1); + + focusedIndex = _indexes2[0]; + } + } else if (keyCode === key_code.UP) { + if (navigableIndex > 0) { + var _newNavigableIndex = navigableIndex - 1; + + focusedIndex = indexes[_newNavigableIndex]; + } else { + focusedIndex = indexes[lastIndex]; + } + } else if (ch) { + // Combine subsequent keypresses + var pattern = navigableItems.keyBuffer(ch); + var consecutive = 0; // Support for navigating to the next option of the same letter with repeated presses of the same key + + if (pattern.length > 1 && new RegExp("^[".concat(lodash_escaperegexp_default()(ch), "]+$")).test(pattern)) { + consecutive = pattern.length; + } + + navigableItems.forEach(function (item) { + if (focusedIndex === undefined && item.text.substr(0, pattern.length) === pattern || consecutive > 0 && item.text.substr(0, 1) === ch) { + consecutive -= 1; + focusedIndex = item.index; + } + }); + } + } + + onFocus(focusedIndex); + return focusedIndex; +}; + +/* harmony default export */ var keyboard_navigate = (keyboard_navigate_keyboardNavigate); +// CONCATENATED MODULE: ./components/menu-dropdown/menu-dropdown.jsx +function menu_dropdown_typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { menu_dropdown_typeof = function _typeof(obj) { return typeof obj; }; } else { menu_dropdown_typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return menu_dropdown_typeof(obj); } + +function menu_dropdown_ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; } + +function menu_dropdown_objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { menu_dropdown_ownKeys(Object(source), true).forEach(function (key) { menu_dropdown_defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { menu_dropdown_ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; } + +function menu_dropdown_extends() { menu_dropdown_extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return menu_dropdown_extends.apply(this, arguments); } + +function menu_dropdown_classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function menu_dropdown_defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function menu_dropdown_createClass(Constructor, protoProps, staticProps) { if (protoProps) menu_dropdown_defineProperties(Constructor.prototype, protoProps); if (staticProps) menu_dropdown_defineProperties(Constructor, staticProps); return Constructor; } + +function menu_dropdown_inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) menu_dropdown_setPrototypeOf(subClass, superClass); } + +function menu_dropdown_setPrototypeOf(o, p) { menu_dropdown_setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return menu_dropdown_setPrototypeOf(o, p); } + +function menu_dropdown_createSuper(Derived) { var hasNativeReflectConstruct = menu_dropdown_isNativeReflectConstruct(); return function _createSuperInternal() { var Super = menu_dropdown_getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = menu_dropdown_getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return menu_dropdown_possibleConstructorReturn(this, result); }; } + +function menu_dropdown_possibleConstructorReturn(self, call) { if (call && (menu_dropdown_typeof(call) === "object" || typeof call === "function")) { return call; } return menu_dropdown_assertThisInitialized(self); } + +function menu_dropdown_assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +function menu_dropdown_isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } } + +function menu_dropdown_getPrototypeOf(o) { menu_dropdown_getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return menu_dropdown_getPrototypeOf(o); } + +function menu_dropdown_defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +/* eslint-disable max-lines */ + +/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */ + +/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */ +// Implements the [Dropdown design pattern](https://www.lightningdesignsystem.com/components/menus/#flavor-dropdown) in React. Child elements that do not have the display name of the value of `MENU_DROPDOWN_TRIGGER` in `components/constants.js` will be considered custom content and rendered in the popover. + + + + + // ### isFunction + + + + // ### Children + + + + + // This is the the default Dropdown Trigger, which expects one button as a child. + + // This component's `checkProps` which issues warnings to developers about properties +// when in development mode (similar to React's built in development tools) + + + + + + + + +var menu_dropdown_documentDefined = typeof document !== 'undefined'; // The overlay is an optional way to allow the dropdown to close on outside +// clicks even when those clicks are over areas that wouldn't normally fire +// click or touch events (for example, iframes). A single overlay is shared +// between all dropdowns in the app. + +var overlay = menu_dropdown_documentDefined ? document.createElement('span') : { + style: {} +}; +overlay.style.top = 0; +overlay.style.left = 0; +overlay.style.width = '100%'; +overlay.style.height = '100%'; +overlay.style.position = 'absolute'; +var currentOpenDropdown; +var DropdownNubbinPositions = ['top left', 'top', 'top right', 'bottom left', 'bottom', 'bottom right']; // # Keyboard Navigable mixin + +var noop = function noop() {}; + +var itemIsSelectable = function itemIsSelectable(item) { + return item.type !== 'header' && item.type !== 'divider' && !item.disabled; +}; + +var menu_dropdown_getNavigableItems = function getNavigableItems(items) { + var navigableItems = []; + navigableItems.indexes = []; + navigableItems.keyBuffer = new key_buffer(); + + if (Array.isArray(items)) { + items.forEach(function (item, index) { + if (itemIsSelectable(item)) { + // eslint-disable-next-line fp/no-mutating-methods + navigableItems.push({ + index: index, + text: "".concat(item.label).toLowerCase() + }); // eslint-disable-next-line fp/no-mutating-methods + + navigableItems.indexes.push(index); + } + }); + } + + return navigableItems; +}; + +function getMenu(componentRef) { + return external_amd_react_dom_commonjs_react_dom_commonjs2_react_dom_root_ReactDOM_default.a.findDOMNode(componentRef).querySelector('ul.dropdown__list'); // eslint-disable-line react/no-find-dom-node +} + +function getMenuItem(menuItemId) { + var context = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : document; + var menuItem; + + if (menuItemId) { + menuItem = context.getElementById(menuItemId); + } + + return menuItem; +} +/* + * Dropdowns with nubbins have a different API from other Dialogs + * + * Dialog receives an alignment position and whether it has a nubbin. The nubbin position is inferred from the align. + * Dropdowns have a nubbinPosition which dictates the align, but in an inverse fashion which then gets inversed back by the Dialog. + * + * Since Dialog is the future API and we don't want to break backwards compatability, we currently map to the Dialog api here. Even if Dialog will map it again. + * TODO - deprecate nubbinPosition in favor for additional `align` values and a flag to show a nubbin. + */ + + +var DropdownToDialogNubbinMapping = { + top: 'bottom', + 'top left': 'bottom left', + 'top right': 'bottom right', + bottom: 'top', + 'bottom left': 'top left', + 'bottom right': 'top right' +}; +var menu_dropdown_propTypes = { + /** + * Aligns the menu center, right, or left respective to the trigger. This is not intended for use with `nubbinPosition`. + */ + align: prop_types_default.a.oneOf(['center', 'left', 'right']), + + /** + * This prop is passed onto the triggering `Button`. Text that is visually hidden but read aloud by screenreaders to tell the user what the icon means. You can omit this prop if you are using the `label` prop. + */ + assistiveText: prop_types_default.a.object, + + /** + * CSS classes to be added to triggering button. + */ + buttonClassName: prop_types_default.a.oneOfType([prop_types_default.a.array, prop_types_default.a.object, prop_types_default.a.string]), + + /** + * If true, button/icon is white. Meant for buttons or utility icons on dark backgrounds. + */ + buttonInverse: prop_types_default.a.bool, + + /** + * This prop is passed onto the triggering `Button`. Determines variant of the Button component that triggers dropdown. + */ + buttonVariant: prop_types_default.a.oneOf(['base', 'neutral', 'brand', 'destructive', 'icon']), + + /** + * If true, renders checkmark icon on the selected Menu Item. + */ + checkmark: prop_types_default.a.bool, + + /** + * If you need custom content _and_ a list, use a `<Popover>` instead. + */ + children: prop_types_default.a.node, + + /** + * CSS classes to be added to dropdown menu. + */ + className: prop_types_default.a.oneOfType([prop_types_default.a.array, prop_types_default.a.object, prop_types_default.a.string]), + + /** + * By default, these class names will be added to the absolutely-positioned `Dialog` component. + */ + containerClassName: prop_types_default.a.oneOfType([prop_types_default.a.array, prop_types_default.a.object, prop_types_default.a.string]), + + /** + * This prop is passed onto the triggering `Button`. Prevent dropdown menu from opening. Also applies disabled styling to trigger button. + */ + disabled: prop_types_default.a.bool, + + /** + * Prevents the dropdown from changing position based on the viewport/window. If set to true your dropdowns can extend outside the viewport _and_ overflow outside of a scrolling parent. If this happens, you might want to consider making the dropdowns contents scrollable to fit the menu on the screen. `hasStaticAlignment` disables this behavior and allows this component to extend beyond boundary elements. _Not tested._ + */ + hasStaticAlignment: prop_types_default.a.bool, + + /** + * This prop is passed onto the triggering `Button`. Associates an icon button with another element on the page by changes the color of the SVG. Please reference <a href="http://www.lightningdesignsystem.com/components/buttons/#hint">Lightning Design System Buttons > Hint</a>. + */ + hint: prop_types_default.a.bool, + + /** + * Delay on menu closing in milliseconds. + */ + hoverCloseDelay: prop_types_default.a.number, + + /** + * Name of the icon category. Visit <a href="http://www.lightningdesignsystem.com/resources/icons">Lightning Design System Icons</a> to reference icon categories. + */ + iconCategory: react_required_if_default()(prop_types_default.a.oneOf(['action', 'custom', 'doctype', 'standard', 'utility']), function (props) { + return !!props.iconName; + }), + + /** + * Name of the icon. Visit <a href="http://www.lightningdesignsystem.com/resources/icons">Lightning Design System Icons</a> to reference icon names. + */ + iconName: prop_types_default.a.string, + + /** + * If omitted, icon position is centered. + */ + iconPosition: prop_types_default.a.oneOf(['left', 'right']), + + /** + * For icon variants, please reference <a href="http://www.lightningdesignsystem.com/components/buttons/#icon">Lightning Design System Icons</a>. + */ + iconVariant: prop_types_default.a.oneOf(['bare', 'container', 'border', 'border-filled', 'small', 'more']), + + /** + * Determines the size of the icon. + */ + iconSize: prop_types_default.a.oneOf(['x-small', 'small', 'medium', 'large']), + + /** + * A unique ID is needed in order to support keyboard navigation, ARIA support, and connect the dropdown to the triggering button. + */ + id: prop_types_default.a.string, + + /** + * Adds inverse class to the dropdown + */ + inverse: prop_types_default.a.bool, + + /** + * Forces the dropdown to be open or closed. See controlled/uncontrolled callback/prop pattern for more on suggested use view [Concepts and Best Practices](https://github.com/salesforce-ux/design-system-react/blob/master/CONTRIBUTING.md#concepts-and-best-practices) + */ + isOpen: prop_types_default.a.bool, + + /** + * This prop is passed onto the triggering `Button`. Text within the trigger button. + */ + label: prop_types_default.a.oneOfType([prop_types_default.a.string, prop_types_default.a.node]), + + /** + * Custom element that overrides the default Menu Item component. + */ + listItemRenderer: prop_types_default.a.func, + + /** + * This prop is passed into the List for the menu. Pass null to make it the size of the content, or a string with an integer from here: https://www.lightningdesignsystem.com/components/menus/#flavor-dropdown-height + */ + length: prop_types_default.a.oneOf([null, '5', '7', '10', 5, 7, 10]), + + /** + * Please select one of the following: + * * `absolute` - (default) The dialog will use `position: absolute` and style attributes to position itself. This allows inverted placement or flipping of the dialog. + * * `overflowBoundaryElement` - The dialog will overflow scrolling parents. Use on elements that are aligned to the left or right of their target and don't care about the target being within a scrolling parent. Typically this is a popover or tooltip. Dropdown menus can usually open up and down if no room exists. In order to achieve this a portal element will be created and attached to `body`. This element will render into that detached render tree. + * * `relative` - No styling or portals will be used. Menus will be positioned relative to their triggers. This is a great choice for HTML snapshot testing. + */ + menuPosition: prop_types_default.a.oneOf(['absolute', 'overflowBoundaryElement', 'relative']), + + /** + * Style applied to menu element (that is the `.slds-dropdown` element) + */ + menuStyle: prop_types_default.a.object, + + /** + * Positions dropdown menu with a nubbin--that is the arrow notch. The placement options correspond to the placement of the nubbin. This is implemeted with CSS classes and is best used with a `Button` with "icon container" styling (`iconVariant="container"`). Use with `isInline` prop, since positioning is determined by CSS via absolute-relative positioning, and using an absolutely positioned menu will not position the menu correctly without manual offsets. + */ + nubbinPosition: prop_types_default.a.oneOf(['top left', 'top', 'top right', 'bottom left', 'bottom', 'bottom right']), + + /** + * Is only called when `openOn` is set to `hover` and when the triggering button loses focus. + */ + onBlur: prop_types_default.a.func, + + /** + * This prop is passed onto the triggering `Button`. Triggered when the trigger button is clicked. + */ + onClick: prop_types_default.a.func, + + /** + * Is only called when `openOn` is set to `hover` and when the triggering button gains focus. + */ + onFocus: prop_types_default.a.func, + + /** + * Determines if mouse hover or click opens or closes the dropdown menu. The default of `click` opens the menu on click, touch, or keyboard navigation and is highly recommended to comply with accessibility standards. The other options are `hover` which opens when the mouse enters the focusable area, and `hybrid` which causes the menu to open on clicking of the trigger, but closes the menu when the mouse leaves the menu and trigger area. If you are planning on using `hover` or `hybrid`, please pause a moment and reconsider. + */ + openOn: prop_types_default.a.oneOf(['hover', 'click', 'hybrid']), + + /** + * Called when a key pressed. + */ + onKeyDown: prop_types_default.a.func, + + /** + * Called when mouse clicks down on the trigger button. + */ + onMouseDown: prop_types_default.a.func, + + /** + * Called when mouse hovers over the trigger button. This is only called if `this.props.openOn` is set to `hover`. + */ + onMouseEnter: prop_types_default.a.func, + + /** + * Called when mouse hover leaves the trigger button. This is only called if `this.props.openOn` is set to `hover`. + */ + onMouseLeave: prop_types_default.a.func, + + /** + * Triggered when an item in the menu is clicked. + */ + onSelect: prop_types_default.a.func, + + /** + * Triggered when the dropdown is opened. + */ + onOpen: prop_types_default.a.func, + + /** + * Triggered when the dropdown is closed. + */ + onClose: prop_types_default.a.func, + + /** + * An array of menu item objects. `className` and `id` object keys are applied to the `li` DOM node. `divider` key can have a value of `top` or `bottom`. `rightIcon` and `leftIcon` are not actually `Icon` components, but prop objects that get passed to an `Icon` component. The `href` key will be added to the `a` and its default click event will be prevented. Here is a sample: + * ``` + * [{ + * className: 'custom-li-class', + * divider: 'bottom', + * label: 'A Header', + * type: 'header' + * }, { + * href: 'http://sfdc.co/', + * id: 'custom-li-id', + * label: 'Has a value', + * leftIcon: { + * name: 'settings', + * category: 'utility' + * }, + * rightIcon: { + * name: 'settings', + * category: 'utility' + * }, + * type: 'item', + * value: 'B0' + * }, { + * tooltipContent: 'Displays a tooltip when hovered over with this content. The `tooltipMenuItem` prop must be set for this to work.', + * type: 'divider' + * }] + * ``` + */ + options: prop_types_default.a.array, + + /** + * An object of CSS styles that are applied to the triggering button. + */ + style: prop_types_default.a.object, + + /** + * Write <code>"-1"</code> if you don't want the user to tab to the button. + */ + tabIndex: prop_types_default.a.string, + + /** + * If `true`, adds a transparent overlay when the menu is open to handle outside clicks. Allows clicks on iframes to be captured, but also forces a double-click to interact with other elements. If a function is passed, custom overlay logic may be defined by the app. + */ + overlay: prop_types_default.a.oneOfType([prop_types_default.a.bool, prop_types_default.a.func]), + + /** + * Current selected menu item. + */ + value: prop_types_default.a.oneOfType([prop_types_default.a.number, prop_types_default.a.string, prop_types_default.a.array]), + + /** + * This prop is passed onto the triggering `Button`. It creates a tooltip with the content of the `node` provided. + */ + tooltip: prop_types_default.a.node, + + /** + * Accepts a `Tooltip` component to be used as the template for menu item tooltips that appear via the `tooltipContent` options object attribute. Must be present for `tooltipContent` to work + */ + tooltipMenuItem: prop_types_default.a.node, + + /** + * CSS classes to be added to wrapping trigger `div` around the button. + */ + triggerClassName: prop_types_default.a.oneOfType([prop_types_default.a.array, prop_types_default.a.object, prop_types_default.a.string]), + + /** + * Whether this dropdown supports multi select. + */ + multiple: prop_types_default.a.bool, + + /** + * To adjust the width of the menu dropdown + */ + width: prop_types_default.a.oneOf(['xx-small', 'x-small', 'small', 'medium', 'bottom', 'large']) +}; +var menu_dropdown_defaultProps = { + align: 'left', + hoverCloseDelay: 300, + length: '5', + menuPosition: 'absolute', + openOn: 'click', + width: 'medium', + inverse: false +}; +/** + * The MenuDropdown component is a variant of the Lightning Design System Menu component. This component + * may require a polyfill such as [classList](https://github.com/yola/classlist-polyfill) due to + * [react-onclickoutside](https://github.com/Pomax/react-onclickoutside) if Internet Explorer 11 + * support is needed. + * + * This component is wrapped in a [higher order component to listen for clicks outside itself](https://github.com/kentor/react-click-outside) and thus requires use of `ReactDOM`. + */ + +var menu_dropdown_MenuDropdown = /*#__PURE__*/function (_React$Component) { + menu_dropdown_inherits(MenuDropdown, _React$Component); + + var _super = menu_dropdown_createSuper(MenuDropdown); + + function MenuDropdown(props) { + var _this; + + menu_dropdown_classCallCheck(this, MenuDropdown); + + _this = _super.call(this, props); // `checkProps` issues warnings to developers about properties (similar to React's built in development tools) + + menu_dropdown_defineProperty(menu_dropdown_assertThisInitialized(_this), "getId", function () { + return _this.props.id || _this.generatedId; + }); + + menu_dropdown_defineProperty(menu_dropdown_assertThisInitialized(_this), "getIsOpen", function () { + return !!(typeof _this.props.isOpen === 'boolean' ? _this.props.isOpen : _this.state.isOpen); + }); + + menu_dropdown_defineProperty(menu_dropdown_assertThisInitialized(_this), "getIndexByValue", function (value, options) { + var foundIndex = -1; + + if (options && options.length) { + options.some(function (element, index) { + if (element && element.value === value) { + foundIndex = index; + return true; + } + + return false; + }); + } + + return foundIndex; + }); + + menu_dropdown_defineProperty(menu_dropdown_assertThisInitialized(_this), "getValueByIndex", function (index) { + return _this.props.options[index]; + }); + + menu_dropdown_defineProperty(menu_dropdown_assertThisInitialized(_this), "getListItemRenderer", function () { + return _this.props.listItemRenderer ? _this.props.listItemRenderer : item_label; + }); + + menu_dropdown_defineProperty(menu_dropdown_assertThisInitialized(_this), "getListItemId", function (index) { + var menuItemId; + + if (index !== undefined) { + var menuId = lodash_isfunction_default()(_this.getId) ? _this.getId() : _this.props.id; + menuItemId = "".concat(menuId, "-item-").concat(index); + } + + return menuItemId; + }); + + menu_dropdown_defineProperty(menu_dropdown_assertThisInitialized(_this), "setFocus", function () { + if (!_this.isHover && !_this.isUnmounting && _this.trigger) { + external_amd_react_dom_commonjs_react_dom_commonjs2_react_dom_root_ReactDOM_default.a.findDOMNode(_this.trigger).focus(); // eslint-disable-line react/no-find-dom-node + } + }); + + menu_dropdown_defineProperty(menu_dropdown_assertThisInitialized(_this), "getMenu", function () { + return external_amd_react_dom_commonjs_react_dom_commonjs2_react_dom_root_ReactDOM_default.a.findDOMNode(_this.list); + }); + + menu_dropdown_defineProperty(menu_dropdown_assertThisInitialized(_this), "getMenuItem", function (index) { + if (index !== undefined && _this.listItems) { + return external_amd_react_dom_commonjs_react_dom_commonjs2_react_dom_root_ReactDOM_default.a.findDOMNode(_this.listItems[index]); // eslint-disable-line react/no-find-dom-node + } + + return undefined; + }); + + menu_dropdown_defineProperty(menu_dropdown_assertThisInitialized(_this), "getCurrentSelectedIndices", function (nextProps) { + if (_this.props.multiple === true) { + var values = []; + var currentIndices = []; + + if (!Array.isArray(nextProps.value)) { + // eslint-disable-next-line fp/no-mutating-methods + values.push(nextProps.value); + } else { + values = nextProps.value; + } + + values = values.filter(function (value) { + return _this.getIndexByValue(value, nextProps.options) !== -1; + }); + currentIndices = values.map(function (value) { + return _this.getIndexByValue(value, nextProps.options); + }); + return { + selectedIndices: currentIndices + }; + } + + return { + selectedIndex: _this.getIndexByValue(nextProps.value, nextProps.options) + }; + }); + + menu_dropdown_defineProperty(menu_dropdown_assertThisInitialized(_this), "saveRefToTrigger", function (trigger) { + _this.trigger = trigger; + + if (!_this.state.triggerRendered) { + _this.setState({ + triggerRendered: true + }); + } + }); + + menu_dropdown_defineProperty(menu_dropdown_assertThisInitialized(_this), "saveRefToTriggerContainer", function (triggerContainer) { + _this.triggerContainer = triggerContainer; + if (!_this.trigger) _this.trigger = triggerContainer; + }); + + menu_dropdown_defineProperty(menu_dropdown_assertThisInitialized(_this), "saveRefToList", function (list) { + _this.list = list; + }); + + menu_dropdown_defineProperty(menu_dropdown_assertThisInitialized(_this), "saveRefToListItem", function (listItem, index) { + if (!_this.listItems) { + _this.listItems = {}; + } + + _this.listItems[index] = listItem; + + if (index === _this.state.focusedIndex) { + _this.handleKeyboardFocus(_this.state.focusedIndex); + } + }); + + menu_dropdown_defineProperty(menu_dropdown_assertThisInitialized(_this), "handleClose", function () { + var isOpen = _this.getIsOpen(); + + if (isOpen) { + if (currentOpenDropdown === menu_dropdown_assertThisInitialized(_this)) { + currentOpenDropdown = undefined; + } + + _this.setState({ + isOpen: false + }); + + _this.isHover = false; + + if (_this.props.onClose) { + _this.props.onClose(); + } + } + }); + + menu_dropdown_defineProperty(menu_dropdown_assertThisInitialized(_this), "handleOpen", function () { + var isOpen = _this.getIsOpen(); + + if (!isOpen) { + if (currentOpenDropdown && lodash_isfunction_default()(currentOpenDropdown.handleClose)) { + currentOpenDropdown.handleClose(); + } + + currentOpenDropdown = menu_dropdown_assertThisInitialized(_this); + + _this.setState({ + isOpen: true + }); + + if (_this.props.onOpen) { + _this.props.onOpen(); + } + } + }); + + menu_dropdown_defineProperty(menu_dropdown_assertThisInitialized(_this), "handleMouseEnter", function (event) { + var isOpen = _this.getIsOpen(); + + _this.isHover = true; + + if (!isOpen && _this.props.openOn === 'hover') { + _this.handleOpenForHover(); + } else { + // we want this clear when openOn is hover or hybrid + clearTimeout(_this.isClosing); + } + + if (_this.props.onMouseEnter) { + _this.props.onMouseEnter(event); + } + }); + + menu_dropdown_defineProperty(menu_dropdown_assertThisInitialized(_this), "handleMouseLeave", function (event) { + var isOpen = _this.getIsOpen(); + + if (isOpen) { + _this.isClosing = setTimeout(function () { + _this.handleCloseForHover(); + }, _this.props.hoverCloseDelay); + } + + if (_this.props.onMouseLeave) { + _this.props.onMouseLeave(event); + } + }); + + menu_dropdown_defineProperty(menu_dropdown_assertThisInitialized(_this), "handleCloseForHover", function () { + var isOpen = _this.getIsOpen(); + + if (isOpen) { + _this.handleClose(); + } + }); + + menu_dropdown_defineProperty(menu_dropdown_assertThisInitialized(_this), "handleOpenForHover", function () { + var isOpen = _this.getIsOpen(); + + if (!isOpen) { + _this.handleOpen(); + + _this.setFocus(); + } + }); + + menu_dropdown_defineProperty(menu_dropdown_assertThisInitialized(_this), "handleClick", function (event) { + var isOpen = _this.getIsOpen(); + + if (!isOpen) { + _this.handleOpen(); + + _this.setFocus(); + } else { + _this.handleClose(); + } + + if (_this.props.onClick) { + _this.props.onClick(event); + } + }); + + menu_dropdown_defineProperty(menu_dropdown_assertThisInitialized(_this), "handleFocus", function (event) { + if (_this.props.onFocus) { + _this.props.onFocus(event); + } + }); + + menu_dropdown_defineProperty(menu_dropdown_assertThisInitialized(_this), "handleClickCustomContent", function () { + _this.setFocus(); + + _this.handleClose(); + + if (_this.props.onSelect) { + _this.props.onSelect(); + } + }); + + menu_dropdown_defineProperty(menu_dropdown_assertThisInitialized(_this), "handleSelect", function (index) { + if (!_this.props.multiple) { + _this.setState({ + selectedIndex: index + }); + + _this.handleClose(); + + _this.setFocus(); + } else if (_this.props.multiple && _this.state.selectedIndices.indexOf(index) === -1) { + // eslint-disable-next-line react/no-access-state-in-setstate + var currentIndices = _this.state.selectedIndices.concat(index); + + _this.setState({ + selectedIndices: currentIndices + }); + } else if (_this.props.multiple) { + var deselectIndex = _this.state.selectedIndices.indexOf(index); // eslint-disable-next-line react/no-access-state-in-setstate + + + var currentSelected = _this.state.selectedIndices; // eslint-disable-next-line fp/no-mutating-methods + + currentSelected.splice(deselectIndex, 1); + + _this.setState({ + selectedIndices: currentSelected + }); + } + + if (_this.props.onSelect) { + var option = _this.getValueByIndex(index); + + _this.props.onSelect(option, { + option: option, + optionIndex: index + }); + } + }); + + menu_dropdown_defineProperty(menu_dropdown_assertThisInitialized(_this), "handleKeyDown", function (event) { + if (event.keyCode) { + if (event.keyCode === key_code.ENTER || event.keyCode === key_code.SPACE || event.keyCode === key_code.DOWN || event.keyCode === key_code.UP) { + utilities_event.trap(event); + } + + if (event.keyCode !== key_code.TAB) { + var isOpen = _this.getIsOpen(); + + _this.handleKeyboardNavigate({ + event: event, + isOpen: isOpen, + key: event.key, + keyCode: event.keyCode, + onSelect: _this.handleSelect, + target: event.target, + toggleOpen: _this.toggleOpen + }); + } else { + _this.handleCancel(); + } + + if (_this.props.onKeyDown) { + _this.props.onKeyDown(event); + } + } + }); + + menu_dropdown_defineProperty(menu_dropdown_assertThisInitialized(_this), "handleCancel", function () { + _this.setFocus(); + + _this.handleClose(); + }); + + menu_dropdown_defineProperty(menu_dropdown_assertThisInitialized(_this), "handleClickOutside", function () { + _this.handleClose(); + }); + + menu_dropdown_defineProperty(menu_dropdown_assertThisInitialized(_this), "handleKeyboardNavigate", function (_ref) { + var event = _ref.event, + _ref$isOpen = _ref.isOpen, + isOpen = _ref$isOpen === void 0 ? true : _ref$isOpen, + keyCode = _ref.keyCode, + _ref$onFocus = _ref.onFocus, + onFocus = _ref$onFocus === void 0 ? _this.handleKeyboardFocus : _ref$onFocus, + onSelect = _ref.onSelect, + target = _ref.target, + _ref$toggleOpen = _ref.toggleOpen, + toggleOpen = _ref$toggleOpen === void 0 ? noop : _ref$toggleOpen; + keyboard_navigate({ + componentContext: menu_dropdown_assertThisInitialized(_this), + currentFocusedIndex: _this.state.focusedIndex, + event: event, + isOpen: isOpen, + keyCode: keyCode, + navigableItems: _this.navigableItems, + onFocus: onFocus, + onSelect: onSelect, + target: target, + toggleOpen: toggleOpen + }); + }); + + menu_dropdown_defineProperty(menu_dropdown_assertThisInitialized(_this), "handleKeyboardFocus", function (focusedIndex) { + if (_this.state.focusedIndex !== focusedIndex) { + _this.setState({ + focusedIndex: focusedIndex + }); + } + + var menu = lodash_isfunction_default()(_this.getMenu) ? _this.getMenu() : getMenu(menu_dropdown_assertThisInitialized(_this)); + var menuItem = lodash_isfunction_default()(_this.getMenuItem) ? _this.getMenuItem(focusedIndex, menu) : getMenuItem(_this.getListItemId(focusedIndex)); + + if (menuItem) { + _this.focusMenuItem(menuItem); + + _this.scrollToMenuItem(menu, menuItem); + } + }); + + menu_dropdown_defineProperty(menu_dropdown_assertThisInitialized(_this), "focusMenuItem", function (menuItem) { + menuItem.getElementsByTagName('a')[0].focus(); + }); + + menu_dropdown_defineProperty(menu_dropdown_assertThisInitialized(_this), "scrollToMenuItem", function (menu, menuItem) { + if (menu && menuItem) { + var menuHeight = menu.offsetHeight; + var menuTop = menu.scrollTop; + var menuItemTop = menuItem.offsetTop - menu.offsetTop; + + if (menuItemTop < menuTop) { + // eslint-disable-next-line no-param-reassign + menu.scrollTop = menuItemTop; + } else { + var menuBottom = menuTop + menuHeight + menu.offsetTop; + var menuItemBottom = menuItemTop + menuItem.offsetHeight + menu.offsetTop; + + if (menuItemBottom > menuBottom) { + // eslint-disable-next-line no-param-reassign + menu.scrollTop = menuItemBottom - menuHeight - menu.offsetTop; + } + } + } + }); + + menu_dropdown_defineProperty(menu_dropdown_assertThisInitialized(_this), "toggleOpen", function () { + var isOpen = _this.getIsOpen(); + + _this.setFocus(); + + if (isOpen) { + _this.handleClose(); + } else { + _this.handleOpen(); + } + }); + + menu_dropdown_defineProperty(menu_dropdown_assertThisInitialized(_this), "renderDefaultMenuContent", function (customListProps) { + return /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(menu_list, menu_dropdown_extends({ + key: "".concat(_this.getId(), "-dropdown-list"), + checkmark: _this.props.checkmark, + getListItemId: _this.getListItemId, + itemRefs: _this.saveRefToListItem, + itemRenderer: _this.getListItemRenderer(), + onCancel: _this.handleCancel, + onSelect: _this.handleSelect, + options: _this.props.options, + ref: _this.saveRefToList, + selectedIndex: !_this.props.multiple ? _this.state.selectedIndex : undefined, + selectedIndices: _this.props.multiple ? _this.state.selectedIndices : undefined, + tooltipMenuItem: _this.props.tooltipMenuItem, + triggerId: _this.getId(), + length: _this.props.length + }, customListProps)); + }); + + menu_dropdown_defineProperty(menu_dropdown_assertThisInitialized(_this), "renderMenuContent", function (customContent) { + /** + * Custom content for dropdown was a hack done in the past. If there's more than a listbox within a dropdown, then it should be a popover as explained for the `children` prop. + * + * This code block shows how things are done in the past: + * ``` + * <Dropdown> + * <Trigger> + * <Button iconCategory="utility" iconName="settings" /> + * </Trigger> + * <div>Look ma! This is Custom Content.</div> + * <List options={[myArray]}/> + * </Dropdown> + * ``` + */ + var customContentWithListPropInjection = []; // Dropdown can take a Trigger component as a child and then return it as the parent DOM element. + + external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.Children.forEach(customContent, function (child) { + if (child && child.type.displayName === LIST) { + // eslint-disable-next-line fp/no-mutating-methods + customContentWithListPropInjection.push(_this.renderDefaultMenuContent(child.props)); + } else if (child) { + var clonedCustomContent = /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.cloneElement(child, { + onClick: _this.handleClickCustomContent, + key: shortid_default.a.generate() + }); // eslint-disable-next-line fp/no-mutating-methods + + customContentWithListPropInjection.push(clonedCustomContent); + } + }); + + if (customContentWithListPropInjection.length === 0) { + customContentWithListPropInjection = null; + } + + return customContentWithListPropInjection || _this.renderDefaultMenuContent(); + }); + + menu_dropdown_defineProperty(menu_dropdown_assertThisInitialized(_this), "renderDialog", function (customContent, isOpen, outsideClickIgnoreClass) { + var align = 'bottom'; + var hasNubbin = false; + var positionClassName = ''; + + if (_this.props.nubbinPosition) { + hasNubbin = true; + align = DropdownToDialogNubbinMapping[_this.props.nubbinPosition]; + } else if (_this.props.align) { + align = _this.props.align === 'center' ? 'bottom' : "bottom ".concat(_this.props.align); + } + + var positions = DropdownToDialogNubbinMapping[align].split(' '); + positionClassName = classnames_default()(positions.map(function (position) { + return "slds-dropdown_".concat(position); + })); // FOR BACKWARDS COMPATIBILITY + + var menuPosition = _this.props.isInline ? 'relative' : _this.props.menuPosition; // eslint-disable-line react/prop-types + + var menuStylesBase = {}; + + if (_this.props.align === 'center' && !hasNubbin) { + menuStylesBase.transform = 'none'; + } + + return isOpen ? /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(dialog, { + align: align, + className: classnames_default()(_this.props.containerClassName), + closeOnTabKey: true, + contentsClassName: classnames_default()('slds-dropdown', "slds-dropdown_".concat(_this.props.width), 'slds-text-align_left', 'ignore-react-onclickoutside', _this.props.className, positionClassName, { + 'slds-dropdown_inverse': _this.props.inverse + }), + context: _this.context, + hasNubbin: hasNubbin, + hasStaticAlignment: _this.props.hasStaticAlignment, + inheritWidthOf: _this.props.inheritTargetWidth ? 'target' : 'none', + offset: _this.props.offset, + onClose: _this.handleClose, + onKeyDown: _this.handleKeyDown, + outsideClickIgnoreClass: outsideClickIgnoreClass, + position: menuPosition, + style: menu_dropdown_objectSpread(menu_dropdown_objectSpread({}, menuStylesBase), _this.props.menuStyle), + onRequestTargetElement: function onRequestTargetElement() { + return _this.trigger; + } + }, _this.renderMenuContent(customContent)) : null; + }); + + menu_dropdown_defineProperty(menu_dropdown_assertThisInitialized(_this), "renderOverlay", function (isOpen) { + if (lodash_isfunction_default()(overlay) && menu_dropdown_documentDefined) { + overlay(isOpen, overlay); + } else if (_this.props.overlay && isOpen && !_this.overlay && menu_dropdown_documentDefined) { + _this.overlay = overlay; + document.querySelector('body').appendChild(_this.overlay); + } else if (!isOpen && _this.overlay && _this.overlay.parentNode) { + _this.overlay.parentNode.removeChild(_this.overlay); + + _this.overlay = undefined; + } + }); + + menu_dropdown_check_props(MENU_DROPDOWN, props, menu_dropdown_component); + _this.generatedId = shortid_default.a.generate(); + + var currentSelectedIndices = _this.getCurrentSelectedIndices(props); + + _this.state = menu_dropdown_objectSpread({ + focusedIndex: -1, + selectedIndex: -1, + selectedIndices: [] + }, currentSelectedIndices); + _this.navigableItems = menu_dropdown_getNavigableItems(props.options); + return _this; + } + + menu_dropdown_createClass(MenuDropdown, [{ + key: "componentDidUpdate", + value: function componentDidUpdate(prevProps) { + if (prevProps.value !== this.props.value) { + var nextState = this.getCurrentSelectedIndices(prevProps); // eslint-disable-next-line react/no-did-update-set-state + + this.setState(nextState); + } + + if (prevProps.isOpen !== this.props.isOpen) { + this.setFocus(); + } + + if (!lodash_isequal_default()(prevProps.options, this.props.options)) { + this.navigableItems = menu_dropdown_getNavigableItems(prevProps.options); + } + } + }, { + key: "componentWillUnmount", + value: function componentWillUnmount() { + if (currentOpenDropdown === this) { + currentOpenDropdown = undefined; + } + + this.isUnmounting = true; + this.renderOverlay(false); + } + }, { + key: "render", + value: function render() { + // Dropdowns are used by other components. The default trigger is a button, but some other components use `li` elements. The following allows `MenuDropdown` to be extended by providing a child component with the displayName of `DropdownTrigger`. + var CurrentTrigger = button_trigger; + var CustomTriggerChildProps = {}; // Child elements that do not have the display name of the value of `MENU_DROPDOWN_TRIGGER` in `components/constants.js` will be considered custom content and rendered in the popover. + + var customContent = []; // Dropdown can take a Trigger component as a child and then return it as the parent DOM element. + + external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.Children.forEach(this.props.children, function (child) { + if (child && child.type.displayName === MENU_DROPDOWN_TRIGGER) { + // `CustomTriggerChildProps` is not used by the default button Trigger, but by other triggers + CustomTriggerChildProps = child.props; + CurrentTrigger = child.type; + } else if (child) { + // eslint-disable-next-line fp/no-mutating-methods + customContent.push(child); + } + }); + + if (customContent.length === 0) { + customContent = null; + } + + var outsideClickIgnoreClass = "ignore-click-".concat(this.getId()); + var isOpen = !this.props.disabled && this.getIsOpen() && !!this.trigger; + this.renderOverlay(isOpen); + /* Below are three sections of props: + - The first are the props that may be given by the dropdown component. These may get deprecated in the future. + - The next set of props (`CustomTriggerChildProps`) are props that can be overwritten by the end developer. + - The final set are props that should not be overwritten, since they are ones that tie the trigger to the dropdown menu. + */ + + return /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(CurrentTrigger, menu_dropdown_extends({ + "aria-haspopup": true, + assistiveText: this.props.assistiveText, + className: classnames_default()(outsideClickIgnoreClass, this.props.buttonClassName), + disabled: this.props.disabled, + hint: this.props.hint, + iconCategory: this.props.iconCategory, + iconName: this.props.iconName, + iconPosition: this.props.iconPosition, + iconSize: this.props.iconSize, + iconVariant: this.props.iconVariant, + id: this.getId(), + inverse: this.props.buttonInverse, + isOpen: isOpen, + label: this.props.label, + menu: this.renderDialog(customContent, isOpen, outsideClickIgnoreClass), + onBlur: this.props.onBlur, + onClick: this.props.openOn === 'click' || this.props.openOn === 'hybrid' ? this.handleClick : this.props.onClick, + onFocus: this.props.openOn === 'hover' ? this.handleFocus : null, + onKeyDown: this.handleKeyDown, + onMouseDown: this.props.onMouseDown, + onMouseEnter: this.props.openOn === 'hover' || this.props.openOn === 'hybrid' ? this.handleMouseEnter : null, + onMouseLeave: this.props.openOn === 'hover' || this.props.openOn === 'hybrid' ? this.handleMouseLeave : null, + openOn: this.props.openOn, + ref: this.saveRefToTriggerContainer, + style: this.props.style, + tabIndex: this.props.tabIndex || (isOpen ? '-1' : '0'), + tooltip: this.props.tooltip, + triggerClassName: this.props.triggerClassName, + triggerRef: this.saveRefToTrigger, + variant: this.props.buttonVariant + }, CustomTriggerChildProps)); + } + }]); + + return MenuDropdown; +}(external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.Component); + +menu_dropdown_defineProperty(menu_dropdown_MenuDropdown, "displayName", MENU_DROPDOWN); + +menu_dropdown_MenuDropdown.contextTypes = { + iconPath: prop_types_default.a.string +}; +menu_dropdown_MenuDropdown.propTypes = menu_dropdown_propTypes; +menu_dropdown_MenuDropdown.defaultProps = menu_dropdown_defaultProps; +/* harmony default export */ var menu_dropdown = (menu_dropdown_MenuDropdown); + +// CONCATENATED MODULE: ./components/menu-dropdown/index.jsx +/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */ + +/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */ +// ### onClickOutside +// Listen for clicks that occur somewhere in the document, outside of the element itself + + +/* harmony default export */ var components_menu_dropdown = (react_onclickoutside_es(menu_dropdown)); +// CONCATENATED MODULE: ./components/breadcrumb/index.jsx +function breadcrumb_ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; } + +function breadcrumb_objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { breadcrumb_ownKeys(Object(source), true).forEach(function (key) { breadcrumb_defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { breadcrumb_ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; } + +function breadcrumb_defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */ + +/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */ + +/* eslint-disable jsx-a11y/no-redundant-roles */ +// # Breadcrumbs +// Implements the [Breadcrumbs design pattern](https://www.lightningdesignsystem.com/components/breadcrumbs) in React. +// Based on SLDS v2.1.0-rc.2 +// ## Dependencies +// ### React + + // This component's `checkProps` which issues warnings to developers about properties when in development mode (similar to React's built in development tools) + + + // ## Constants + + + +var breadcrumb_propTypes = { + /** + * **Assistive text for accessibility.** + * This object is merged with the default props object on every render. + * * `label`: The assistive text for the breadcrumb trail. + */ + assistiveText: prop_types_default.a.shape({ + label: prop_types_default.a.string + }), + + /** + * A unique ID is needed in order to support keyboard navigation, ARIA support, and connect the dropdown to the triggering button. + */ + id: prop_types_default.a.string, + + /** + * Overflow menu of the type [Dropdown](/components/menu-dropdowns) + */ + overflowDropdownMenu: prop_types_default.a.node, + + /** + * Custom styles to be passed to the containing `nav` tag + */ + styleContainer: prop_types_default.a.object, + + /** + * An array of anchor elements that define the path to the current record. + */ + trail: prop_types_default.a.array.isRequired +}; +var breadcrumb_defaultProps = { + assistiveText: { + label: 'Breadcrumbs' + } +}; + +var breadcrumb_getBreadcrumbDropdown = function getBreadcrumbDropdown(overflowDropdownMenu, props) { + var overflowDropdownMenuProps = breadcrumb_objectSpread(breadcrumb_objectSpread({}, overflowDropdownMenu.props), {}, { + id: "".concat(props.id, "-dropdown"), + iconCategory: 'utility', + iconName: 'threedots', + iconVariant: 'bare', + threedots: true + }); + + return /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("li", { + className: "slds-breadcrumb__item" + }, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(components_menu_dropdown, overflowDropdownMenuProps)); +}; +/** + * Use breadcrumbs to note the path of a record and help the user to navigate back to the parent.Breadcrumb based on SLDS 2.1.0-dev + */ + + +var breadcrumb_Breadcrumb = function Breadcrumb(props) { + breadcrumb_check_props(BREADCRUMB, props, breadcrumb_component); + var overflowDropdownMenu = props.overflowDropdownMenu, + trail = props.trail; + var assistiveText = typeof props.assistiveText === 'string' ? props.assistiveText : breadcrumb_objectSpread(breadcrumb_objectSpread({}, breadcrumb_defaultProps.assistiveText), props.assistiveText).label; + return /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("nav", { + role: "navigation", + "aria-label": assistiveText, + style: props.styleContainer + }, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("ol", { + className: "slds-breadcrumb slds-list_horizontal" + }, overflowDropdownMenu && breadcrumb_getBreadcrumbDropdown(overflowDropdownMenu, props), trail.map(function (crumb, index) { + return ( + /*#__PURE__*/ + + /* eslint-disable react/no-array-index-key */ + external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("li", { + key: index // There isn't any better reasonable way to identity these + , + className: "slds-breadcrumb__item" + }, crumb) + ); + }))); +}; + +breadcrumb_Breadcrumb.displayName = BREADCRUMB; +breadcrumb_Breadcrumb.propTypes = breadcrumb_propTypes; +breadcrumb_Breadcrumb.defaultProps = breadcrumb_defaultProps; +/* harmony default export */ var breadcrumb = (breadcrumb_Breadcrumb); +// CONCATENATED MODULE: ./components/builder-header/index.jsx +function builder_header_ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; } + +function builder_header_objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { builder_header_ownKeys(Object(source), true).forEach(function (key) { builder_header_defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { builder_header_ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; } + +function builder_header_defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + + + + + + +var builder_header_propTypes = { + /** + * **Assistive text for accessibility** + * This object is merged with the default props object on every render. + * * `backIcon`: Used for the back icon. + * * `helpIcon`: Used for the help icon. + * * `icon`: Used for the main icon next to the header title. + * * _Tested with snapshot testing._ + */ + assistiveText: prop_types_default.a.shape({ + backIcon: prop_types_default.a.string, + helpIcon: prop_types_default.a.string, + icon: prop_types_default.a.string + }), + + /** + * Provide children of the types `<BuilderHeaderNav />`, `<BuilderHeaderToolbar />`, or `<BuilderHeaderMisc />` to define the structure of the header. + * ``` + * <BuilderHeader> + * <BuilderHeaderNav /> + * <BuilderHeaderToolbar /> + * <BuilderHeaderMisc /> + * </BuilderHeader> + * ``` + */ + children: prop_types_default.a.node, + + /** + * CSS classes to be added to tag with `.slds-builder-header_container`. Uses `classNames` [API](https://github.com/JedWatson/classnames). _Tested with snapshot testing._ + */ + className: prop_types_default.a.oneOfType([prop_types_default.a.array, prop_types_default.a.object, prop_types_default.a.string]), + + /** + * Event Callbacks + * * `onClickBack`: Called when the Back link is clicked. + * * `onClickHelp`: Called when the Help link is clicked. + * _Tested with Mocha testing._ + */ + events: prop_types_default.a.shape({ + onClickBack: prop_types_default.a.func, + onClickHelp: prop_types_default.a.func + }), + + /** + * Category of the title icon from [lightningdesignsystem.com/icons/](https://www.lightningdesignsystem.com/icons/) + */ + iconCategory: prop_types_default.a.string, + + /** + * CSS classes that are applied to the title icon. + */ + iconClassName: prop_types_default.a.oneOfType([prop_types_default.a.array, prop_types_default.a.object, prop_types_default.a.string]), + + /** + * Name of the title icon. Visit <a href='http://www.lightningdesignsystem.com/resources/icons'>Lightning Design System Icons</a> to reference icon names. + */ + iconName: prop_types_default.a.string, + + /** + * Path to the title icon. This will override any global icon settings. + */ + iconPath: prop_types_default.a.string, + + /** + * **Text labels for internationalization** + * This object is merged with the default props object on every render. + * * `back`: The label for the Back link. + * * `help`: The label for the Help link. + * * `pageType`: The label that describes the page type. + * * `title`: The label for the page title. + * _Tested with snapshot testing._ + */ + labels: prop_types_default.a.shape({ + back: prop_types_default.a.string, + help: prop_types_default.a.string, + pageType: prop_types_default.a.string, + title: prop_types_default.a.string + }), + + /** + * Custom styles applied to the `.slds-builder-header_container` element. + */ + style: prop_types_default.a.object +}; +var builder_header_defaultProps = { + assistiveText: { + backIcon: 'Back', + helpIcon: 'Help', + icon: 'Builder' + }, + iconCategory: 'utility', + iconName: 'builder', + labels: { + back: 'Back', + help: 'Help', + pageType: 'Page Type', + title: 'App Name' + } +}; +/** + * Every builder needs a builder header, which contains basic navigation elements. It also shows the builder type and content name. + */ + +var builder_header_BuilderHeader = function BuilderHeader(props) { + var assistiveText = builder_header_objectSpread(builder_header_objectSpread({}, builder_header_defaultProps.assistiveText), props.assistiveText); + + var events = builder_header_objectSpread(builder_header_objectSpread({}, {}), props.events); + + var labels = builder_header_objectSpread(builder_header_objectSpread({}, builder_header_defaultProps.labels), props.labels); + + var nav; + var toolbar; + var misc = []; + external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.Children.forEach(props.children, function (child) { + if (child) { + switch (child.type.displayName) { + case BUILDER_HEADER_NAV: + nav = child; + break; + + case BUILDER_HEADER_TOOLBAR: + toolbar = child; + break; + + case BUILDER_HEADER_MISC: + // eslint-disable-next-line fp/no-mutating-methods + misc.push(child); + break; + + default: + } + } + }); + var iconCategory; + var iconName; + var iconPath; + + if (props.iconPath) { + iconPath = props.iconPath; + } else { + iconCategory = props.iconCategory; + iconName = props.iconName; + } + + return /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + style: { + position: 'relative', + height: '100px' + } + }, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: classnames_default()('slds-builder-header_container', props.className), + style: props.style + }, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("header", { + className: "slds-builder-header" + }, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: "slds-builder-header__item" + }, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: "slds-builder-header__item-label slds-media slds-media_center" + }, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: "slds-media__figure" + }, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(components_icon, { + assistiveText: { + label: assistiveText.icon + }, + category: iconCategory, + containerClassName: classnames_default()('slds-icon_container', 'slds-icon-utility-builder', 'slds-current-color', props.iconClassName), + name: iconName, + path: iconPath, + size: "x-small" + })), /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: "slds-media__body" + }, labels.title))), nav, misc.length > 0 ? misc : /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: "slds-builder-header__item slds-has-flexi-truncate" + }, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("h1", { + className: "slds-builder-header__item-label" + }, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("span", { + className: "slds-truncate", + title: labels.pageType + }, labels.pageType))), /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: "slds-builder-header__item slds-builder-header__utilities" + }, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: "slds-builder-header__utilities-item" + }, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("a", { + href: "javascript:void(0);", + className: "slds-builder-header__item-action slds-media slds-media_center", + onClick: events.onClickBack + }, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: "slds-media__figure" + }, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(components_icon, { + assistiveText: { + label: assistiveText.backIcon + }, + category: "utility", + containerClassName: "slds-icon_container slds-icon-utility-settings slds-current-color", + name: "back", + size: "x-small" + })), /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: "slds-media__body" + }, labels.back))), /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: "slds-builder-header__utilities-item" + }, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("a", { + href: "javascript:void(0);", + className: "slds-builder-header__item-action slds-media slds-media_center", + onClick: events.onClickHelp + }, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: "slds-media__figure" + }, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(components_icon, { + assistiveText: { + label: assistiveText.helpIcon + }, + category: "utility", + containerClassName: "slds-icon_container slds-icon-utility-settings slds-current-color", + name: "help", + size: "x-small" + })), /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: "slds-media__body" + }, labels.help))))), toolbar)); +}; + +builder_header_BuilderHeader.displayName = BUILDER_HEADER; +builder_header_BuilderHeader.propTypes = builder_header_propTypes; +builder_header_BuilderHeader.defaultProps = builder_header_defaultProps; +/* harmony default export */ var builder_header = (builder_header_BuilderHeader); +// CONCATENATED MODULE: ./components/builder-header/misc.jsx + + + +var misc_propTypes = { + /** + * Provide custom content in place of Page Type label + * ``` + * <BuilderHeader> + * <BuilderHeaderMisc> + * Custom content + * </BuilderHeaderMisc> + * </BuilderHeader> + * ``` + */ + children: prop_types_default.a.node +}; +/** + * The miscellaneous section of the header. + */ + +var misc_BuilderHeaderMisc = function BuilderHeaderMisc(props) { + return /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: "slds-builder-header__item", + style: { + width: '100%' + } + }, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: "slds-builder-header__item-label" + }, props.children)); +}; + +misc_BuilderHeaderMisc.displayName = BUILDER_HEADER_MISC; +misc_BuilderHeaderMisc.propTypes = misc_propTypes; +/* harmony default export */ var builder_header_misc = (misc_BuilderHeaderMisc); +// CONCATENATED MODULE: ./components/builder-header/nav.jsx + + + +var nav_propTypes = { + /** + * Provide children of the types `<BuilderHeaderNavLink />` or `<BuilderHeaderNavDropdown />` to define the structure of the navigation section. + * ``` + * <BuilderHeader> + * <BuilderHeaderNav> + * <BuilderHeaderNavLink /> + * <BuilderHeaderNavDropdown /> + * </BuilderHeaderNav> + * </BuilderHeader> + * ``` + */ + children: prop_types_default.a.node +}; +/** + * The navigation section of the header. + */ + +var nav_BuilderHeaderNav = function BuilderHeaderNav(props) { + return /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("nav", { + className: "slds-builder-header__item slds-builder-header__nav" + }, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("ul", { + className: "slds-builder-header__nav-list" + }, external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.Children.map(props.children, function (child) { + if (child.type.displayName === BUILDER_HEADER_NAV_LINK || child.type.displayName === BUILDER_HEADER_NAV_DROPDOWN) { + return child; + } + + return null; + }))); +}; + +nav_BuilderHeaderNav.displayName = BUILDER_HEADER_NAV; +nav_BuilderHeaderNav.propTypes = nav_propTypes; +/* harmony default export */ var builder_header_nav = (nav_BuilderHeaderNav); +// CONCATENATED MODULE: ./components/builder-header/nav-dropdown.jsx +function nav_dropdown_objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = nav_dropdown_objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; } + +function nav_dropdown_objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; } + + + + + + + + // This component accepts the same props as MenuDropdown. +// eslint-disable-next-line react/forbid-foreign-prop-types + +var nav_dropdown_propTypes = menu_dropdown.propTypes; +/** + * A dropdown within the navigation section of the header. + */ + +var nav_dropdown_BuilderHeaderNavDropdown = function BuilderHeaderNavDropdown(props) { + // Separate props we care about in order to pass others along passively to the dropdown component + var iconCategory = props.iconCategory, + iconName = props.iconName, + label = props.label, + assistiveText = props.assistiveText, + rest = nav_dropdown_objectWithoutProperties(props, ["iconCategory", "iconName", "label", "assistiveText"]); + + return /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("li", { + className: "slds-builder-header__nav-item" + }, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(components_menu_dropdown, rest, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(button_trigger, null, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(components_button, { + className: "slds-builder-header__item-action slds-media slds-media_center", + variant: "base" + }, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("span", { + className: "slds-media__figure" + }, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(components_icon, { + assistiveText: { + label: assistiveText && assistiveText.icon + }, + category: iconCategory, + containerClassName: "slds-icon_container slds-icon-utility-page slds-current-color", + name: iconName, + size: "x-small" + })), /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("span", { + className: "slds-media__body" + }, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("span", { + className: "slds-truncate", + title: label + }, label), /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(components_icon, { + category: "utility", + containerClassName: "slds-icon_container slds-icon-utility-chevrondown slds-current-color slds-m-left_small", + name: "chevrondown", + size: "x-small" + })))))); +}; + +nav_dropdown_BuilderHeaderNavDropdown.displayName = BUILDER_HEADER_NAV_DROPDOWN; +nav_dropdown_BuilderHeaderNavDropdown.propTypes = nav_dropdown_propTypes; +/* harmony default export */ var nav_dropdown = (nav_dropdown_BuilderHeaderNavDropdown); +// CONCATENATED MODULE: ./components/builder-header/nav-link.jsx +function nav_link_ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; } + +function nav_link_objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { nav_link_ownKeys(Object(source), true).forEach(function (key) { nav_link_defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { nav_link_ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; } + +function nav_link_defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + + + + + +var nav_link_propTypes = { + /** + * **Assistive text for accessibility** + * This object is merged with the default props object on every render. + * * `icon`: Used for the icon next to the link text. + * * _Tested with snapshot testing._ + */ + assistiveText: prop_types_default.a.shape({ + icon: prop_types_default.a.string + }), + + /** + * Name of the icon category. Visit <a href="http://www.lightningdesignsystem.com/resources/icons">Lightning Design System Icons</a> to reference icon categories. + */ + iconCategory: prop_types_default.a.oneOf(['action', 'custom', 'doctype', 'standard', 'utility']), + + /** + * Name of the icon. Visit <a href="http://www.lightningdesignsystem.com/resources/icons">Lightning Design System Icons</a> to reference icon names. + */ + iconName: prop_types_default.a.string, + + /** + * Path to the icon. This will override any global icon settings. + */ + iconPath: prop_types_default.a.string, + + /** + * Text for the link. + */ + label: prop_types_default.a.string, + + /** + * Triggered when the link is clicked. + */ + onClick: prop_types_default.a.func +}; +var nav_link_defaultProps = { + assistiveText: {}, + iconCategory: '', + iconName: '', + label: '' +}; +/** + * A link within the navigation section of the header. + */ + +var nav_link_BuilderHeaderNavLink = function BuilderHeaderNavLink(props) { + var assistiveText = nav_link_objectSpread(nav_link_objectSpread({}, nav_link_defaultProps.assistiveText), props.assistiveText); + + return /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("li", { + className: "slds-builder-header__nav-item" + }, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("a", { + className: "slds-builder-header__item-action slds-media slds-media_center", + href: "javascript:void(0)", + onClick: props.onClick + }, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("span", { + className: "slds-media__figure" + }, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(components_icon, { + assistiveText: { + label: assistiveText.icon + }, + category: props.iconCategory, + containerClassName: "slds-icon_container slds-icon-utility-settings slds-current-color", + name: props.iconName, + path: props.iconPath, + size: "x-small" + })), /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("span", { + className: "slds-media__body" + }, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("span", { + className: "slds-truncate", + title: props.label + }, props.label)))); +}; + +nav_link_BuilderHeaderNavLink.displayName = BUILDER_HEADER_NAV_LINK; +nav_link_BuilderHeaderNavLink.propTypes = nav_link_propTypes; +/* harmony default export */ var nav_link = (nav_link_BuilderHeaderNavLink); +// CONCATENATED MODULE: ./components/builder-header/toolbar.jsx +function toolbar_ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; } + +function toolbar_objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { toolbar_ownKeys(Object(source), true).forEach(function (key) { toolbar_defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { toolbar_ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; } + +function toolbar_defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + + + + +var toolbar_propTypes = { + /** + * **Assistive text for accessibility** + * This object is merged with the default props object on every render. + * * `actions`: Used for the aria-label for the actions section of the toolbar. + * * _Tested with snapshot testing._ + */ + assistiveText: prop_types_default.a.shape({ + actions: prop_types_default.a.string + }), + + /** + * Provide children of the type `<ButtonGroup />` to define the structure of the toolbar section. + * ``` + * <BuilderHeader> + * <BuilderHeaderToolbar> + * <ButtonGroup /> + * <ButtonGroup /> + * </BuilderHeaderToolbar> + * </BuilderHeader> + * ``` + */ + children: prop_types_default.a.node, + + /** + * Renders the actions section of the header. + */ + onRenderActions: prop_types_default.a.func +}; +var toolbar_defaultProps = { + assistiveText: { + actions: 'Actions' + } +}; +/** + * The toolbar section of the header. + */ + +var toolbar_BuilderHeaderToolbar = function BuilderHeaderToolbar(props) { + var assistiveText = toolbar_objectSpread(toolbar_objectSpread({}, toolbar_defaultProps.assistiveText), props.assistiveText); + + return /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: "slds-builder-toolbar", + role: "toolbar" + }, external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.Children.map(props.children, function (child) { + if (child.type.displayName === BUTTON_GROUP) { + return /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: "slds-builder-toolbar__item-group", + "aria-label": child.props.label + }, child); + } + + return null; + }), /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: "slds-builder-toolbar__actions", + "aria-label": assistiveText.actions + }, props.onRenderActions && props.onRenderActions())); +}; + +toolbar_BuilderHeaderToolbar.displayName = BUILDER_HEADER_TOOLBAR; +toolbar_BuilderHeaderToolbar.propTypes = toolbar_propTypes; +toolbar_BuilderHeaderToolbar.defaultProps = toolbar_defaultProps; +/* harmony default export */ var builder_header_toolbar = (toolbar_BuilderHeaderToolbar); +// CONCATENATED MODULE: ./components/button-group/index.jsx +function button_group_typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { button_group_typeof = function _typeof(obj) { return typeof obj; }; } else { button_group_typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return button_group_typeof(obj); } + +function button_group_classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function button_group_defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function button_group_createClass(Constructor, protoProps, staticProps) { if (protoProps) button_group_defineProperties(Constructor.prototype, protoProps); if (staticProps) button_group_defineProperties(Constructor, staticProps); return Constructor; } + +function button_group_inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) button_group_setPrototypeOf(subClass, superClass); } + +function button_group_setPrototypeOf(o, p) { button_group_setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return button_group_setPrototypeOf(o, p); } + +function button_group_createSuper(Derived) { var hasNativeReflectConstruct = button_group_isNativeReflectConstruct(); return function _createSuperInternal() { var Super = button_group_getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = button_group_getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return button_group_possibleConstructorReturn(this, result); }; } + +function button_group_possibleConstructorReturn(self, call) { if (call && (button_group_typeof(call) === "object" || typeof call === "function")) { return call; } return button_group_assertThisInitialized(self); } + +function button_group_assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +function button_group_isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } } + +function button_group_getPrototypeOf(o) { button_group_getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return button_group_getPrototypeOf(o); } + +/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */ + +/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */ +// Implements the [Button Group design pattern](https://lightningdesignsystem.com/components/button-groups/) in React. +// Based on SLDS v2.1.1 + + + + // ### shortid +// [npmjs.com/package/shortid](https://www.npmjs.com/package/shortid) +// shortid is a short, non-sequential, url-friendly, unique id generator + + + +var button_group_propTypes = { + /** + * Children are expected to be components. If last button triggers a dropdown menu, use Dropdown instead of Button. _Tested with snapshot testing._ + */ + children: prop_types_default.a.node.isRequired, + + /** + * CSS classes added to `slds-button-group` or `slds-checkbox_button-group` tag + */ + className: prop_types_default.a.oneOfType([prop_types_default.a.array, prop_types_default.a.object, prop_types_default.a.string]), + + /** + * If the `labels.label` prop is set, a `.slds-form-element` classed fieldset element is added as a container. This prop applies classes to that element + */ + classNameContainer: prop_types_default.a.oneOfType([prop_types_default.a.array, prop_types_default.a.object, prop_types_default.a.string]), + + /** + * HTML id for component. + */ + id: prop_types_default.a.string, + + /** + * **Text labels for internationalization** + * This object is merged with the default props object on every render. + * * `error`: Message to display when any of Checkboxes are in an error state. _Tested with snapshot testing._ + * * `label`: This label appears above the button group. _Tested with snapshot testing._ + */ + labels: prop_types_default.a.shape({ + error: prop_types_default.a.string, + label: prop_types_default.a.string + }), + + /** + * Use checkbox variant for "Checkbox Button Group" styling and add Checkbox components as children _Tested with snapshot testing._ + */ + variant: prop_types_default.a.oneOf(['checkbox', 'list']) +}; +var button_group_defaultProps = { + labels: {} +}; +/** + * The ButtonGroup component wraps other components (ie. Button, MenuDropdown, PopoverTooltip, Checkboxes, etc). + */ + +var button_group_ButtonGroup = /*#__PURE__*/function (_React$Component) { + button_group_inherits(ButtonGroup, _React$Component); + + var _super = button_group_createSuper(ButtonGroup); + + function ButtonGroup(props) { + var _this; + + button_group_classCallCheck(this, ButtonGroup); + + _this = _super.call(this, props); + _this.generatedId = shortid_default.a.generate(); + return _this; + } + + button_group_createClass(ButtonGroup, [{ + key: "getId", + value: function getId() { + return this.props.id || this.generatedId; + } + }, { + key: "render", + value: function render() { + var _this2 = this; + + // Merge objects of strings with their default object + var labels = lodash_assign_default()({}, button_group_defaultProps.labels, this.props.labels); + var zeroIndexLength = external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.Children.count(this.props.children) - 1; + var children = this.props.children; + + if (zeroIndexLength > 0) { + children = external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.Children.map(this.props.children, function (child, index) { + var newChild; + + if (index === zeroIndexLength) { + newChild = /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.cloneElement(child, { + triggerClassName: 'slds-button_last' + }); + } + + return newChild || child; + }); + } + + var component; + + if (this.props.variant === 'checkbox') { + children = external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.Children.map(this.props.children, function (child) { + var cloneProps = { + variant: 'button-group' + }; + + if (labels.error) { + cloneProps['aria-describedby'] = "button-group-error-".concat(_this2.getId()); + } + + return /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.cloneElement(child, cloneProps); + }); + component = /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: classnames_default()('slds-checkbox_button-group', this.props.className), + id: this.getId() + }, children); + } else if (this.props.variant === 'list') { + component = /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("ul", { + className: classnames_default()('slds-button-group-list', this.props.className), + id: this.getId() + }, external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.Children.map(this.props.children, function (child) { + return /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("li", null, child); + })); + } else { + component = /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: classnames_default()('slds-button-group', this.props.className), + id: this.getId(), + role: "group" + }, children); + } + + if (this.props.variant === 'checkbox' || this.props.labels.label) { + component = /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("fieldset", { + className: classnames_default()('slds-form-element', { + 'slds-has-error': labels.error + }, this.props.classNameContainer) + }, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("legend", { + className: "slds-form-element__legend slds-form-element__label" + }, this.props.labels.label), /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: "slds-form-element__control" + }, component, labels.error ? /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: "slds-form-element__help", + id: "button-group-error-".concat(this.getId()) + }, labels.error) : null)); + } + + return component; + } + }]); + + return ButtonGroup; +}(external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.Component); + +button_group_ButtonGroup.displayName = BUTTON_GROUP; +button_group_ButtonGroup.propTypes = button_group_propTypes; +button_group_ButtonGroup.defaultProps = button_group_defaultProps; +/* harmony default export */ var button_group = (button_group_ButtonGroup); +// CONCATENATED MODULE: ./components/button-stateful/check-props.js +/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */ + +/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */ + +/* eslint-disable import/no-mutable-exports */ + + + +var button_stateful_check_props_checkProps = function checkPropsFunction() {}; + +if (false) {} + +/* harmony default export */ var button_stateful_check_props = (button_stateful_check_props_checkProps); +// EXTERNAL MODULE: ./components/button-stateful/component.json +var button_stateful_component = __webpack_require__(39); + +// CONCATENATED MODULE: ./components/button-stateful/index.jsx +function button_stateful_typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { button_stateful_typeof = function _typeof(obj) { return typeof obj; }; } else { button_stateful_typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return button_stateful_typeof(obj); } + +function button_stateful_extends() { button_stateful_extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return button_stateful_extends.apply(this, arguments); } + +function button_stateful_ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; } + +function button_stateful_objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { button_stateful_ownKeys(Object(source), true).forEach(function (key) { button_stateful_defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { button_stateful_ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; } + +function button_stateful_classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function button_stateful_defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function button_stateful_createClass(Constructor, protoProps, staticProps) { if (protoProps) button_stateful_defineProperties(Constructor.prototype, protoProps); if (staticProps) button_stateful_defineProperties(Constructor, staticProps); return Constructor; } + +function button_stateful_inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) button_stateful_setPrototypeOf(subClass, superClass); } + +function button_stateful_setPrototypeOf(o, p) { button_stateful_setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return button_stateful_setPrototypeOf(o, p); } + +function button_stateful_createSuper(Derived) { var hasNativeReflectConstruct = button_stateful_isNativeReflectConstruct(); return function _createSuperInternal() { var Super = button_stateful_getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = button_stateful_getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return button_stateful_possibleConstructorReturn(this, result); }; } + +function button_stateful_possibleConstructorReturn(self, call) { if (call && (button_stateful_typeof(call) === "object" || typeof call === "function")) { return call; } return button_stateful_assertThisInitialized(self); } + +function button_stateful_assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +function button_stateful_isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } } + +function button_stateful_getPrototypeOf(o) { button_stateful_getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return button_stateful_getPrototypeOf(o); } + +function button_stateful_defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */ + +/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */ +// Implements the [Button Stateful design pattern](https://lightningdesignsystem.com/components/buttons/#flavor-stateful) in React. +// Based on SLDS v2.1.1 +// ## Dependencies +// ### React + + // ### classNames + + // ### isFunction + + // This component's `checkProps` which issues warnings to developers about properties when in development mode (similar to React's built in development tools) + + + // ## Children + + + + +var button_stateful_propTypes = { + /** + * Specifies the current state of the button. If set, the button will act as a ['controlled' component](https://facebook.github.io/react/docs/forms.html#controlled-components). + */ + active: prop_types_default.a.bool, + + /** + * **Assistive text for accessibility.** + * This object is merged with the default props object on every render. + * * `icon`: Text that is visually hidden but read aloud by screenreaders to tell the user what the icon means. This should also include the state of the button. If the button has an icon and a visible label, you can omit the <code>icon</code> prop and use the <code>label</code> prop. + */ + assistiveText: prop_types_default.a.shape({ + icon: prop_types_default.a.string + }), + + /** + * Disables the button and adds disabled styling. + */ + disabled: prop_types_default.a.bool, + + /** + * Icon associated with the stateful button. Accepts an `Icon` component + */ + icon: prop_types_default.a.node, + + /** + * Triggered when focus is removed. + */ + onBlur: prop_types_default.a.func, + + /** + * Triggered when the button is clicked. + */ + onClick: prop_types_default.a.func, + + /** + * Triggered when component is focused. + */ + onFocus: prop_types_default.a.func, + + /** + * Triggered when a key is pressed down + */ + onKeyDown: prop_types_default.a.func, + + /** + * Triggered when a key is pressed and released + */ + onKeyPress: prop_types_default.a.func, + + /** + * Triggered when a key is released + */ + onKeyUp: prop_types_default.a.func, + + /** + * Triggered when a mouse button is pressed down + */ + onMouseDown: prop_types_default.a.func, + + /** + * Triggered when a mouse arrow hovers + */ + onMouseEnter: prop_types_default.a.func, + + /** + * If true, button scales to 100% width on small form factors. + */ + responsive: prop_types_default.a.bool, + + /** + * Initial label and icon (optional) of button. + */ + stateOne: prop_types_default.a.object, + + /** + * Selected label and icon (optional) of button. + */ + stateTwo: prop_types_default.a.object, + + /** + * Deselect label and icon (optional) of button. + */ + stateThree: prop_types_default.a.object, + + /** + * Write "-1" if you don't want the user to tab to the button. + */ + tabIndex: prop_types_default.a.string, + + /** + * Different types of buttons + */ + variant: prop_types_default.a.oneOf(['base', 'neutral', 'brand', 'destructive', 'icon', 'icon-filled']) +}; // i18n + +var button_stateful_defaultProps = { + assistiveText: { + icon: '' + }, + disabled: false, + iconSize: 'medium', + responsive: false, + stateOne: { + iconName: 'add', + label: 'Follow' + }, + stateTwo: { + iconName: 'check', + label: 'Following' + }, + stateThree: { + iconName: 'close', + label: 'Unfollow' + } +}; +/** + * The ButtonStateful component is a variant of the Lightning Design System Button component. It is used for buttons that have a state of unselected or selected. + * For icon buttons, use <code>variant='icon'</code>. For buttons with labels or buttons with labels and icons, pass data to the state props (ie. <code>stateOne={{iconName: 'add', label: 'Join'}}</code>). + * Although not listed in the prop table, all `aria-*` props will be added to the button element if passed in. + * If no `aria-*` props are passed in, <code>aria-live='polite'</code> is used for `icon` and `icon-filled` variants, + * and <code>aria-live='assertive'</code> is used for the remaining variants. + */ + +var button_stateful_ButtonStateful = /*#__PURE__*/function (_React$Component) { + button_stateful_inherits(ButtonStateful, _React$Component); + + var _super = button_stateful_createSuper(ButtonStateful); + + function ButtonStateful(props) { + var _this; + + button_stateful_classCallCheck(this, ButtonStateful); + + _this = _super.call(this, props); + + button_stateful_defineProperty(button_stateful_assertThisInitialized(_this), "handleBlur", function (e) { + if (_this.props.onBlur) _this.props.onBlur(e); + e.currentTarget.blur(); + }); + + button_stateful_defineProperty(button_stateful_assertThisInitialized(_this), "handleClick", function (e) { + if (lodash_isfunction_default()(_this.props.onClick)) _this.props.onClick(e); + + if (typeof _this.props.active !== 'boolean') { + _this.setState(function (prevState) { + return { + active: !prevState.active + }; + }); + } + }); + + _this.state = { + active: false + }; + button_stateful_check_props(BUTTON_STATEFUL, props, button_stateful_component); + return _this; + } + + button_stateful_createClass(ButtonStateful, [{ + key: "getClassName", + value: function getClassName(active) { + return classnames_default()(this.props.className, 'slds-button', { + 'slds-button_neutral': this.props.variant !== 'icon' && this.props.variant !== 'icon-filled', + 'slds-button_inverse': this.props.variant === 'inverse', + 'slds-not-selected': !active, + 'slds-is-selected': active, + 'slds-max-small-button_stretch': this.props.responsive, + 'slds-button_icon-border': this.props.variant === 'icon', + 'slds-button_icon-border-filled': this.props.variant === 'icon-filled' + }); + } + }, { + key: "render", + value: function render() { + var _this$props = this.props, + active = _this$props.active, + disabled = _this$props.disabled, + icon = _this$props.icon, + iconName = _this$props.iconName, + iconSize = _this$props.iconSize, + id = _this$props.id, + onFocus = _this$props.onFocus, + onKeyDown = _this$props.onKeyDown, + onKeyPress = _this$props.onKeyPress, + onKeyUp = _this$props.onKeyUp, + onMouseDown = _this$props.onMouseDown, + onMouseEnter = _this$props.onMouseEnter, + stateOne = _this$props.stateOne, + stateTwo = _this$props.stateTwo, + stateThree = _this$props.stateThree, + tabIndex = _this$props.tabIndex, + variant = _this$props.variant; + var defaultIconProps = { + disabled: disabled, + size: 'small', + className: 'slds-button__icon_stateful' + }; + var iconAssistiveText = typeof this.props.assistiveText === 'string' ? this.props.assistiveText : button_stateful_objectSpread(button_stateful_objectSpread({}, button_stateful_defaultProps.assistiveText), this.props.assistiveText).icon; + var isActive = typeof active === 'boolean' ? active : this.state.active; // Accept aria-* props + + var ariaProps = getAriaProps(this.props); + + if (variant === 'icon' || variant === 'icon-filled') { + // Default aria attribute for stateful button with icon, if none is specified + if (Object.keys(ariaProps).length === 0) { + ariaProps = { + 'aria-live': 'polite' + }; + } + + return /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("button", button_stateful_extends({}, ariaProps, { + className: this.getClassName(isActive), + disabled: disabled, + id: id, + onBlur: this.handleBlur, + onClick: this.handleClick, + onFocus: onFocus, + onKeyDown: onKeyDown, + onKeyPress: onKeyPress, + onKeyUp: onKeyUp, + onMouseDown: onMouseDown, + onMouseEnter: onMouseEnter, + onMouseLeave: this.handleBlur, + tabIndex: tabIndex, + type: "button" + }), icon ? /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.cloneElement(icon, button_stateful_objectSpread(button_stateful_objectSpread({}, defaultIconProps), icon.props)) : /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(button_icon, { + disabled: disabled, + name: iconName, + size: iconSize, + className: "slds-button__icon_stateful" + }), iconAssistiveText ? /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("span", { + className: "slds-assistive-text" + }, iconAssistiveText) : null); + } + + defaultIconProps.position = 'left'; // Default aria attribute for stateful button, if none is specified + + if (Object.keys(ariaProps).length === 0) { + ariaProps = { + 'aria-live': 'assertive' + }; + } + + return /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("button", button_stateful_extends({}, ariaProps, { + className: this.getClassName(isActive), + disabled: disabled, + id: id, + onBlur: this.handleBlur, + onClick: this.handleClick, + onFocus: onFocus, + onKeyDown: onKeyDown, + onKeyPress: onKeyPress, + onKeyUp: onKeyUp, + onMouseEnter: onMouseEnter, + onMouseLeave: this.handleBlur, + tabIndex: tabIndex, + type: "button" + }), /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("span", { + className: "slds-text-not-selected" + }, stateOne.icon ? /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.cloneElement(stateOne.icon, button_stateful_objectSpread(button_stateful_objectSpread(button_stateful_objectSpread({}, defaultIconProps), stateOne.icon.props), {}, { + size: 'small' + })) : /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(button_icon, { + disabled: disabled, + name: stateOne.iconName, + size: "small", + position: "left", + className: "slds-button__icon_stateful" + }), stateOne.label), /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("span", { + className: "slds-text-selected" + }, stateTwo.icon ? /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.cloneElement(stateTwo.icon, button_stateful_objectSpread(button_stateful_objectSpread(button_stateful_objectSpread({}, defaultIconProps), stateTwo.icon.props), {}, { + size: 'small' + })) : /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(button_icon, { + disabled: disabled, + name: stateTwo.iconName, + size: "small", + position: "left", + className: "slds-button__icon_stateful" + }), stateTwo.label), /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("span", { + className: "slds-text-selected-focus" + }, stateThree.icon ? /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.cloneElement(stateThree.icon, button_stateful_objectSpread(button_stateful_objectSpread(button_stateful_objectSpread({}, defaultIconProps), stateThree.icon.props), {}, { + size: 'small' + })) : /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(button_icon, { + disabled: disabled, + name: stateThree.iconName, + size: "small", + position: "left", + className: "slds-button__icon_stateful" + }), stateThree.label)); + } + }]); + + return ButtonStateful; +}(external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.Component); + +button_stateful_ButtonStateful.displayName = BUTTON_STATEFUL; +button_stateful_ButtonStateful.propTypes = button_stateful_propTypes; +button_stateful_ButtonStateful.defaultProps = button_stateful_defaultProps; +/* harmony default export */ var button_stateful = (button_stateful_ButtonStateful); +// CONCATENATED MODULE: ./components/media-object/index.jsx +function media_object_typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { media_object_typeof = function _typeof(obj) { return typeof obj; }; } else { media_object_typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return media_object_typeof(obj); } + +function media_object_classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function media_object_defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function media_object_createClass(Constructor, protoProps, staticProps) { if (protoProps) media_object_defineProperties(Constructor.prototype, protoProps); if (staticProps) media_object_defineProperties(Constructor, staticProps); return Constructor; } + +function media_object_inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) media_object_setPrototypeOf(subClass, superClass); } + +function media_object_setPrototypeOf(o, p) { media_object_setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return media_object_setPrototypeOf(o, p); } + +function media_object_createSuper(Derived) { var hasNativeReflectConstruct = media_object_isNativeReflectConstruct(); return function _createSuperInternal() { var Super = media_object_getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = media_object_getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return media_object_possibleConstructorReturn(this, result); }; } + +function media_object_possibleConstructorReturn(self, call) { if (call && (media_object_typeof(call) === "object" || typeof call === "function")) { return call; } return media_object_assertThisInitialized(self); } + +function media_object_assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +function media_object_isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } } + +function media_object_getPrototypeOf(o) { media_object_getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return media_object_getPrototypeOf(o); } + +function media_object_defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */ + +/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */ +// ### React + + // ### classNames +// [github.com/JedWatson/classnames](https://github.com/JedWatson/classnames) +// This project uses `classnames`, "a simple javascript utility for conditionally +// joining classNames together." + + + // Allow for predicatable DOM queries with `querySelectorAll(cssClasses.base)` + +var cssClasses = { + base: 'slds-media', + figure: 'slds-media__figure', + body: 'slds-media__body' +}; +/** + * When you need text and a figure next to each other, use a media object. + */ + +var media_object_MediaObject = /*#__PURE__*/function (_React$Component) { + media_object_inherits(MediaObject, _React$Component); + + var _super = media_object_createSuper(MediaObject); + + function MediaObject() { + media_object_classCallCheck(this, MediaObject); + + return _super.apply(this, arguments); + } + + media_object_createClass(MediaObject, [{ + key: "render", + // ### Display Name + // Always use the canonical component name as the React display name. + // ### Prop Types + value: function render() { + return /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: classnames_default()(cssClasses.base, { + 'slds-media_center': this.props.verticalCenter, + 'slds-has-flexi-truncate': this.props.canTruncate + }, this.props.className) + }, this.props.figure ? /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: cssClasses.figure + }, this.props.figure, " ") : null, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: cssClasses.body + }, this.props.body)); + } + }]); + + return MediaObject; +}(external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.Component); + +media_object_defineProperty(media_object_MediaObject, "displayName", MEDIA_OBJECT); + +media_object_defineProperty(media_object_MediaObject, "propTypes", { + /** + * Often the body may need to be truncated for correct layout. This is only applicable if using the component within a flexbox container. + */ + canTruncate: prop_types_default.a.bool, + + /** + * Class names to be added to the component's HTML tag with `slds-media` class. + */ + className: prop_types_default.a.oneOfType([prop_types_default.a.array, prop_types_default.a.object, prop_types_default.a.string]), + + /** + * The body is often text such as a heading or paragraph. + */ + body: prop_types_default.a.node, + + /** + * The figure is the optional visualization of the text within the body. + */ + figure: prop_types_default.a.node, + + /** + * Vertically centers the body with the middle of the figure. + */ + verticalCenter: prop_types_default.a.bool +}); + +/* harmony default export */ var media_object = (media_object_MediaObject); +// CONCATENATED MODULE: ./components/card/private/header.jsx +function header_ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; } + +function header_objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { header_ownKeys(Object(source), true).forEach(function (key) { header_defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { header_ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; } + +function header_defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */ + +/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */ +// ### React + + // ### classNames +// [github.com/JedWatson/classnames](https://github.com/JedWatson/classnames) +// This project uses `classnames`, "a simple javascript utility for conditionally +// joining classNames together." + + // ## Children + + + // Allow for predicatable DOM queries with `querySelectorAll(cssClasses.base)` + +var idSuffixes = { + headerActions: '__header-actions', + heading: '__heading', + filter: '__filter-input' +}; + +var header_renderFilter = function renderFilter(filter, id) { + // allow id to be set by custom header component passed in + var clonedFilter = /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.cloneElement(filter, { + id: filter.props.id || id + }); + return /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: "slds-input-has-icon slds-input-has-icon_left slds-size_1-of-3" + }, clonedFilter); +}; + +header_renderFilter.displayName = 'renderFilter'; +/** + * Card Header is a private component and is not meant to be imported or used for Card's `header` prop. It just happens to have the same file name. + */ + +var header_CardHeader = function CardHeader(props) { + var title = null; + + if (typeof props.heading === 'string' || props.heading instanceof String) { + title = props.heading; + } + + var heading = /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("h2", { + id: props.headingId, + className: "slds-text-heading_small slds-truncate", + title: title + }, props.heading); + var Header; + + if (props.header) { + Header = /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.cloneElement(props.header, header_objectSpread({ + figure: props.icon, + body: heading, + verticalCenter: true, + canTruncate: true + }, props.header.props)); + } else { + Header = /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(media_object, { + figure: props.icon, + body: heading, + verticalCenter: true, + canTruncate: true + }); + } + + var hasFilter = props.filter ? true : null; + return /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: classnames_default()('slds-card__header', 'slds-grid') + }, Header, props.filter ? header_renderFilter(props.filter, props.filterId) : null, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + id: props.headerActionsId, + className: classnames_default()('slds-no-flex', { + 'slds-size_1-of-3': hasFilter, + 'slds-text-align_right': hasFilter + }) + }, props.headerActions)); +}; // ### Display Name +// Always use the canonical component name as the React display name. + + +header_CardHeader.displayName = CARD_HEADER; // ### Prop Types + +header_CardHeader.propTypes = { + /** + * Adds a filter input to the card header + */ + filter: prop_types_default.a.node, + + /** + * Set the HTML `id` of the card filter. + */ + filterId: prop_types_default.a.string, + + /** + * Allows a custom header (the media object with the icon in the first column). `icon`, `heading` and other props are passed in the media object from Card. Use `design-system-react/components/media-object` to create your own. + */ + header: prop_types_default.a.node, + + /** + * Actions performed on selected items or that relate to the entire group of items such as "Add Item."" + */ + headerActions: prop_types_default.a.node, + + /** + * Set the HTML `id` of the card header actions. + */ + headerActionsId: prop_types_default.a.string, + + /** + * The heading is the name of the related item group. + */ + heading: prop_types_default.a.oneOfType([prop_types_default.a.element, prop_types_default.a.string]).isRequired, + + /** + * Set the HTML `id` of the card heading. + */ + headingId: prop_types_default.a.string, + + /** + * Icon associated with grouped items + */ + icon: prop_types_default.a.node +}; +/* harmony default export */ var private_header = (header_CardHeader); + +// CONCATENATED MODULE: ./components/card/private/body.jsx +/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */ + +/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */ +// ### React + + // ### classNames +// [github.com/JedWatson/classnames](https://github.com/JedWatson/classnames) +// This project uses `classnames`, "a simple javascript utility for conditionally joining classNames together." + + + + +var body_CardBody = function CardBody(props) { + return /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: classnames_default()('slds-card__body', props.className), + id: props.id + }, props.children); +}; + +body_CardBody.displayName = CARD_BODY; +body_CardBody.propTypes = { + /** + * Elements to place in the body. + */ + children: prop_types_default.a.node, + + /** + * CSS classes to be added to the card. + */ + className: prop_types_default.a.oneOfType([prop_types_default.a.array, prop_types_default.a.object, prop_types_default.a.string]), + + /** + * Set the HTML `id` of the body. + */ + id: prop_types_default.a.string +}; +/* harmony default export */ var private_body = (body_CardBody); +// CONCATENATED MODULE: ./components/card/private/footer.jsx +/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */ + +/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */ +// ### React + + + + +var footer_CardFooter = function CardFooter(props) { + return /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: "slds-card__footer" + }, props.children); +}; + +footer_CardFooter.displayName = CARD_FOOTER; +footer_CardFooter.propTypes = { + /** + * Elements to place in the footer. + */ + children: prop_types_default.a.node +}; +/* harmony default export */ var private_footer = (footer_CardFooter); +// CONCATENATED MODULE: ./components/card/empty.jsx +/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */ + +/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */ +// ### React +// React is an external dependency of the project. + + + +/** + * A default empty state for Cards. + */ + +var empty_CardEmpty = function CardEmpty(props) { + return /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: "slds-p-horizontal_small" + }, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: "slds-text-align_center slds-m-bottom_x-large" + }, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("h3", { + className: "slds-text-heading_small slds-p-top_large slds-p-bottom_large" + }, props.heading), props.children)); +}; // ### Display Name +// Always use the canonical component name as the React display name. + + +empty_CardEmpty.displayName = CARD_EMPTY; // ### Prop Types + +empty_CardEmpty.propTypes = { + /** + * Additional call to actions that will render under the heading. Often this is an "Add Item" button. + */ + children: prop_types_default.a.node, + + /** + * Primary text for an Empty Card. + */ + heading: prop_types_default.a.string +}; +empty_CardEmpty.defaultProps = { + heading: 'No Related Items' +}; +/* harmony default export */ var card_empty = (empty_CardEmpty); +// CONCATENATED MODULE: ./components/card/index.jsx +/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */ + +/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */ +// # Card Component +// Implements the [Card design pattern](https://www.lightningdesignsystem.com/components/cards/) in React. +// Based on SLDS v2.2.1 +// ### React + + // ### classNames +// [github.com/JedWatson/classnames](https://github.com/JedWatson/classnames) +// This project uses `classnames`, "a simple javascript utility for conditionally +// joining classNames together." + + // ## Children + + + + + + +var card_idSuffixes = { + body: '__body', + headerActions: '__header-actions', + heading: '__heading', + filter: '__filter-input' +}; +/** + * Cards are used to apply a container around a related grouping of information. It has a header, a body, and an optional footer. It often contains a DataTable or Tile (coming soon). Actions associated with selected items or with all items are included within the header actions. Footer often contains pagination. + */ + +var card_Card = function Card(props) { + var bodyId = props.id ? props.id + card_idSuffixes.body : null; + var filterId = props.id ? props.id + card_idSuffixes.filter : null; + var headingId = props.id ? props.id + card_idSuffixes.heading : null; + var headerActionsId = props.id ? props.id + card_idSuffixes.headerActions : null; + var empty = props.empty; + + if (empty === true) { + // Can be overridden by passing in a node to the empty prop + empty = /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(card_empty, { + id: props.id, + heading: props.heading + }); + } + + return /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("article", { + id: props.id, + className: classnames_default()('slds-card', props.className), + style: props.style + }, !props.hasNoHeader && /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(private_header, { + header: props.header, + headingId: headingId, + icon: props.icon, + filter: props.filter, + filterId: filterId, + heading: props.heading, + headerActions: props.headerActions, + headerActionsId: headerActionsId + }), !empty ? /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(private_body, { + id: bodyId, + className: props.bodyClassName + }, props.children) : /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(private_body, { + id: bodyId, + className: props.bodyClassName + }, empty), props.footer ? /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(private_footer, null, props.footer) : null); +}; // ### Display Name +// Always use the canonical component name as the React display name. + + +card_Card.displayName = CARD; +card_Card.defaultProps = { + heading: 'Related Items' +}; // ### Prop Types + +card_Card.propTypes = { + /** + * CSS classes to be added to the card body (wraps children). + */ + bodyClassName: prop_types_default.a.oneOfType([prop_types_default.a.array, prop_types_default.a.object, prop_types_default.a.string]), + + /** + * The main section of the card. It often contains a `DataTable` or `Tile`. + */ + children: prop_types_default.a.node, + + /** + * CSS classes to be added to the card. + */ + className: prop_types_default.a.oneOfType([prop_types_default.a.array, prop_types_default.a.object, prop_types_default.a.string]), + + /** + * Replaces the body (that is the children) with the specified empty state, this will also remove header actions, the filter, and the icon. If the default empty state is wanted, set to `true`. + */ + empty: prop_types_default.a.oneOfType([prop_types_default.a.bool, prop_types_default.a.node]), + + /** + * Adds a filter input to the card header. + */ + filter: prop_types_default.a.node, + + /** + * Footer often contains pagination. + */ + footer: prop_types_default.a.node, + + /** + * Allows card to have no header, and ignores header related props altogether. + */ + hasNoHeader: prop_types_default.a.bool, + + /** + * Allows a custom header (the media object with the icon in the first column). `icon`, `heading` and other props are passed into the media object from Card if present. Use `design-system-react/components/media-object` to create your own custom header. + */ + header: prop_types_default.a.node, + + /** + * The heading is the name of the related item group and should only contain inline elements. + */ + heading: prop_types_default.a.oneOfType([prop_types_default.a.node, prop_types_default.a.string]).isRequired, + + /** + * Actions to perform on selected items or actions that are not specific to one item such as adding an item. If no group actions are needed, then the number of selected items is often present. + */ + headerActions: prop_types_default.a.node, + + /** + * Icon associated with the items within the `body`. + */ + icon: prop_types_default.a.node, + + /** + * Set the HTML `id` of the card. This also sets the `id` of the filter and the header actions. + */ + id: prop_types_default.a.string, + + /** + * Custom styles to be added to the card. + */ + style: prop_types_default.a.object +}; +/* harmony default export */ var card = (card_Card); + +// CONCATENATED MODULE: ./components/icon/input-icon/index.jsx +function input_icon_defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +function input_icon_extends() { input_icon_extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return input_icon_extends.apply(this, arguments); } + +function input_icon_objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = input_icon_objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; } + +function input_icon_objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; } + +/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */ + +/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */ +// ### React + + // ### classNames +// [github.com/JedWatson/classnames](https://github.com/JedWatson/classnames) +// A simple javascript utility for conditionally joining classNames together. + + // ### isFunction + + // ## Children + + + // ## Constants + + +/** + * A wrapper for icons that will be rendered inside of an Input + * + * If the `onClick` function prop is provided, the `design-system-react/components/button` component is used. + * If not, the icon will be an instance of `design-system-react/components/utilities/utility-icon`. + * Checkout out the appropriate component to see what props can be passed along via the `{...props}` rest operator + */ + +var input_icon_InputIcon = function InputIcon(props) { + var category = props.category, + iconPosition = props.iconPosition, + name = props.name, + path = props.path, + onClick = props.onClick, + variant = props.variant, + rest = input_icon_objectWithoutProperties(props, ["category", "iconPosition", "name", "path", "onClick", "variant"]); // need to pass click event up on SVG + + + var variants = { + combobox: /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("span", { + className: "slds-icon_container slds-input__icon slds-input__icon_right" + }, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(utility_icon, input_icon_extends({ + "aria-hidden": true, + category: category, + className: classnames_default()('slds-icon slds-icon_x-small slds-icon-text-default'), + name: name, + path: path + }, rest))), + base: /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(utility_icon, input_icon_extends({ + "aria-hidden": true, + category: category, + className: classnames_default()('slds-input__icon slds-icon-text-default', input_icon_defineProperty({}, "slds-input__icon_".concat(iconPosition), iconPosition)), + name: name, + path: path + }, rest)) + }; + return lodash_isfunction_default()(onClick) ? /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(components_button, input_icon_extends({ + className: classnames_default()('slds-input__icon', input_icon_defineProperty({}, "slds-input__icon_".concat(iconPosition), iconPosition)), + iconCategory: category, + iconName: name, + iconPath: path, + onClick: onClick, + variant: "icon" + }, rest)) : variants[variant]; +}; + +input_icon_InputIcon.displayName = ICON_INPUT; +input_icon_InputIcon.propTypes = { + /** + * Icon category from [lightningdesignsystem.com/icons/](https://www.lightningdesignsystem.com/icons/) + */ + category: prop_types_default.a.string, + + /** + * This is only needed if an input contains two icons, the Input component handles this prop for you. + */ + iconPosition: prop_types_default.a.oneOf(['left', 'right']), + + /** + * Name of the icon. Visit <a href='http://www.lightningdesignsystem.com/resources/icons'>Lightning Design System Icons</a> to reference icon names. + */ + name: prop_types_default.a.string, + + /** + * Path to the icon. This will override any global icon settings. + */ + path: prop_types_default.a.string, + + /** + * This event fires when the icon is clicked. + */ + onClick: prop_types_default.a.func, + + /** + * Changes styles of the InputIcon. + */ + variant: prop_types_default.a.oneOf(['base', 'combobox']) +}; +input_icon_InputIcon.defaultProps = { + category: 'utility', + variant: 'base' +}; +/* harmony default export */ var input_icon = (input_icon_InputIcon); +// CONCATENATED MODULE: ./components/spinner/check-props.js +/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */ + +/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */ + +/* eslint-disable import/no-mutable-exports */ + + + +var spinner_check_props_checkProps = function checkPropsFunction() {}; + +if (false) {} + +/* harmony default export */ var spinner_check_props = (spinner_check_props_checkProps); +// EXTERNAL MODULE: ./components/spinner/component.json +var spinner_component = __webpack_require__(40); + +// CONCATENATED MODULE: ./components/spinner/index.jsx +function spinner_ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; } + +function spinner_objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { spinner_ownKeys(Object(source), true).forEach(function (key) { spinner_defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { spinner_ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; } + +function spinner_defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */ + +/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */ +// # Spinner Component --- SLDS for React +// Implements the [Spinner design pattern - 2.1.0-beta.3 (204)](https://latest-204.lightningdesignsystem.com/components/spinners) in React. +// ### React + + + + // ## Constants + + + // ### Prop Types + +var spinner_propTypes = { + /** + * **Assistive text for accessibility.** + * This object is merged with the default props object on every render. + * * `label`: Assistive text that is read out loud to screen readers. + */ + assistiveText: prop_types_default.a.shape({ + label: prop_types_default.a.string + }), + + /** + * Custom css classes applied to Spinner container + */ + containerClassName: prop_types_default.a.string, + + /** + * Custom css properties applied to Spinner container + */ + containerStyle: prop_types_default.a.object, + + /** + * Render the spinner inside of a container. + */ + hasContainer: prop_types_default.a.bool, + + /** + * Unique html id placed on div with role="status". + */ + id: prop_types_default.a.string, + + /** + * Adds delay of 300ms to the spinner + */ + isDelayed: prop_types_default.a.bool, + + /** + * Add styling to support a spinner inside an input field. + */ + isInput: prop_types_default.a.bool, + + /** + * Add styling to support an inline spinner inside of the document flow. + */ + isInline: prop_types_default.a.bool, + + /** + * Determines the size of the spinner + */ + size: prop_types_default.a.oneOf(['xx-small', 'x-small', 'small', 'medium', 'large']), + + /** + * Determines the color of the spinner: `base` is gray, `brand` is blue, and `inverse` is white. + */ + variant: prop_types_default.a.oneOf(['base', 'brand', 'inverse']) +}; +var spinner_defaultProps = { + assistiveText: { + label: 'Loading...' + }, + isDelayed: false, + isInline: false, + isInput: false, + hasContainer: true, + size: 'medium', + variant: 'base' +}; +/** + * Spinners are CSS loading indicators that should be shown when retrieving data or performing slow computations. In some cases, the first time a parent component loads, a stencil is preferred to indicate network activity. + */ + +var spinner_Spinner = function Spinner(props) { + spinner_check_props(SPINNER, props, spinner_component); + var containerClassName = props.containerClassName, + containerStyle = props.containerStyle, + id = props.id, + isDelayed = props.isDelayed, + isInline = props.isInline, + isInput = props.isInput, + hasContainer = props.hasContainer, + size = props.size, + variant = props.variant; + var assistiveText = typeof props.assistiveText === 'string' ? props.assistiveText : spinner_objectSpread(spinner_objectSpread({}, spinner_defaultProps.assistiveText), props.assistiveText).label; + var spinnerClassName = classnames_default()('slds-spinner', spinner_defineProperty({ + 'slds-spinner_inline': isInline, + 'slds-input__spinner': isInput, + 'slds-spinner_brand': variant === 'brand', + 'slds-spinner_inverse': variant === 'inverse', + 'slds-spinner_delayed': isDelayed + }, "slds-spinner_".concat(size), size)); + var spinner = /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + "aria-hidden": "false", + className: spinnerClassName, + id: id, + role: "status" + }, assistiveText && /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("span", { + className: "slds-assistive-text" + }, assistiveText), /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: "slds-spinner__dot-a" + }), /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: "slds-spinner__dot-b" + })); + return hasContainer ? /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: classnames_default()(containerClassName, 'slds-spinner_container'), + style: containerStyle + }, spinner) : spinner; +}; + +spinner_Spinner.displayName = SPINNER; +spinner_Spinner.propTypes = spinner_propTypes; +spinner_Spinner.defaultProps = spinner_defaultProps; +/* harmony default export */ var components_spinner = (spinner_Spinner); +// CONCATENATED MODULE: ./components/input/private/inner-input.jsx +function inner_input_extends() { inner_input_extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return inner_input_extends.apply(this, arguments); } + +function inner_input_ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; } + +function inner_input_objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { inner_input_ownKeys(Object(source), true).forEach(function (key) { inner_input_defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { inner_input_ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; } + +function inner_input_defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +function inner_input_objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = inner_input_objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; } + +function inner_input_objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; } + +/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */ + +/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */ + +/* eslint-disable jsx-a11y/aria-activedescendant-has-tabindex */ +// ### React + + + + + +var COUNTER = 'counter'; +var inner_input_propTypes = { + 'aria-activedescendant': prop_types_default.a.string, + 'aria-autocomplete': prop_types_default.a.string, + + /** + * An HTML ID that is shared with ARIA-supported devices with the + * `aria-controls` attribute in order to relate the input with + * another region of the page. An example would be a select box + * that shows or hides a panel. + */ + 'aria-controls': prop_types_default.a.string, + 'aria-describedby': prop_types_default.a.string, + 'aria-expanded': prop_types_default.a.bool, + 'aria-haspopup': prop_types_default.a.oneOfType([prop_types_default.a.bool, prop_types_default.a.string]), + 'aria-labelledby': prop_types_default.a.string, + + /** + * An HTML ID that is shared with ARIA-supported devices with the + * `aria-controls` attribute in order to relate the input with + * another region of the page. An example would be a search field + * that shows search results. + */ + 'aria-owns': prop_types_default.a.string, + 'aria-required': prop_types_default.a.bool, + + /** + * **Assistive text for accessibility.** + * This object is merged with the default props object on every render. + * * `spinner`: Assistive text on the spinner. + */ + assistiveText: prop_types_default.a.shape({ + spinner: prop_types_default.a.string + }), + + /** + * Disabled brower's autocomplete when "off" is used. + */ + autoComplete: prop_types_default.a.string, + + /** + * Class names to be added to the `input` element. + */ + className: prop_types_default.a.oneOfType([prop_types_default.a.array, prop_types_default.a.object, prop_types_default.a.string]), + + /** + * Class names to be added to the outer container `div` of the input. + */ + containerClassName: prop_types_default.a.oneOfType([prop_types_default.a.array, prop_types_default.a.object, prop_types_default.a.string]), + + /** + * Props to be added to the outer container `div` of the input (excluding `containerClassName`). + */ + containerProps: prop_types_default.a.object, + + /** + * Disables the input and prevents editing the contents. + */ + disabled: prop_types_default.a.bool, + + /** + * Displays text or node to the left of the input. This follows the fixed text input UX pattern. + */ + fixedTextLeft: prop_types_default.a.oneOfType([prop_types_default.a.node, prop_types_default.a.string]), + + /** + * Displays text or node to the right of the input. This follows the fixed text input UX pattern. + */ + fixedTextRight: prop_types_default.a.oneOfType([prop_types_default.a.node, prop_types_default.a.string]), + + /** + * If true, loading spinner appears inside input on right hand side. + */ + hasSpinner: prop_types_default.a.bool, + + /** + * Left aligned icon, must be instance of `design-system-react/components/icon/input-icon` + */ + iconLeft: prop_types_default.a.node, + + /** + * Right aligned icon, must be instance of `design-system-react/components/icon/input-icon` + */ + iconRight: prop_types_default.a.node, + + /** + * Every input must have a unique ID in order to support keyboard navigation and ARIA support. + */ + id: prop_types_default.a.string.isRequired, + + /** + * This callback exposes the input reference / DOM node to parent components. `<Parent inputRef={(inputComponent) => this.input = inputComponent} /> + */ + inputRef: prop_types_default.a.func, + + /** + * Displays the value of the input statically. This follows the static input UX pattern. + */ + isStatic: prop_types_default.a.bool, + + /** + * This label appears above the input. + */ + label: prop_types_default.a.string, + onBlur: prop_types_default.a.func, + + /** + * This callback fires when the input changes. The synthetic React event will be the first parameter to the callback. You will probably want to reference `event.target.value` in your callback. No custom data object is provided. + */ + onChange: prop_types_default.a.func, + + /** + * This event fires when the input is clicked. + */ + onClick: prop_types_default.a.func, + onFocus: prop_types_default.a.func, + onInput: prop_types_default.a.func, + onInvalid: prop_types_default.a.func, + onKeyDown: prop_types_default.a.func, + onKeyPress: prop_types_default.a.func, + onKeyUp: prop_types_default.a.func, + onSelect: prop_types_default.a.func, + onSubmit: prop_types_default.a.func, + + /** + * Text that will appear in an empty input. + */ + placeholder: prop_types_default.a.string, + minLength: prop_types_default.a.string, + + /** + * Specifies minimum accepted value for an input of type "number" + */ + minValue: prop_types_default.a.number, + maxLength: prop_types_default.a.string, + + /** + * Specifies maximum accepted value for an input of type "number" + */ + maxValue: prop_types_default.a.number, + + /** + * Name of the submitted form parameter. + */ + name: prop_types_default.a.string, + + /** + * Specifies `readOnly` for `input` node. + */ + readOnly: prop_types_default.a.bool, + + /** + * Highlights the input as a required field (does not perform any validation). + */ + required: prop_types_default.a.bool, + + /** + * `role` to be added to `input` node + */ + role: prop_types_default.a.string, + + /** + * Determines the step size upon increment or decrement. Can be set to decimal values. + */ + step: prop_types_default.a.number, + + /** + * Style object to be added to `input` node + */ + style: prop_types_default.a.object, + + /** + * Specifies `tabIndex` for `input` node + */ + tabIndex: prop_types_default.a.string, + + /** + * The `<Input>` element includes support for all HTML5 types. + */ + type: prop_types_default.a.oneOf(['text', 'password', 'datetime', 'datetime-local', 'date', 'month', 'time', 'week', 'number', 'email', 'url', 'search', 'tel', 'color']), + + /** + * The input is a controlled component, and will always display this value. + */ + value: prop_types_default.a.oneOfType([prop_types_default.a.number, prop_types_default.a.string]), + + /** + * Which UX pattern of input? The default is `base` while other option is `counter` + */ + variant: prop_types_default.a.oneOf(['base', COUNTER]), + + /** + * This is the initial value of an uncontrolled form element and is present only to provide + * compatibility with hybrid framework applications that are not entirely React. It should only + * be used in an application without centralized state (Redux, Flux). "Controlled components" + * with centralized state is highly recommended. + * See [Code Overview](https://github.com/salesforce/design-system-react/blob/master/docs/codebase-overview.md#controlled-and-uncontrolled-components) for more information. + */ + defaultValue: prop_types_default.a.oneOfType([prop_types_default.a.number, prop_types_default.a.string]) +}; +var inner_input_defaultProps = { + assistiveText: { + spinner: 'Loading ...' + }, + type: 'text' +}; +/* + * This component was created to allow the DIV wrapped input to be used within other components such as combobox. This components API is not public. + */ + +var inner_input_InnerInput = function InnerInput(props) { + var ariaProps = getAriaProps(props); + ariaProps['aria-describedby'] = props.hasSpinner ? "loading-status-icon ".concat(props['aria-describedby']) : props['aria-describedby']; + + var _props$containerProps = props.containerProps, + containerClassName = _props$containerProps.className, + containerProps = inner_input_objectWithoutProperties(_props$containerProps, ["className"]); + + var assistiveText = inner_input_objectSpread(inner_input_objectSpread({}, inner_input_defaultProps.assistiveText), props.assistiveText); + + return /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", inner_input_extends({ + className: classnames_default()(containerClassName, { + 'slds-input-has-icon': props.variant !== COUNTER && (props.iconLeft || props.iconRight), + 'slds-input-has-icon_left': props.iconLeft && !props.iconRight, + 'slds-input-has-icon_right': !props.iconLeft && props.iconRight, + 'slds-input-has-icon_left-right': props.variant !== COUNTER && props.iconLeft && props.iconRight, + 'slds-input-has-fixed-addon': props.fixedTextLeft || props.fixedTextRight, + 'slds-has-divider_bottom': props.isStatic + }) + }, containerProps), props.iconLeft && props.iconLeft, props.fixedTextLeft && /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("span", { + className: "slds-form-element__addon" + }, props.fixedTextLeft), !props.isStatic && /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("input", inner_input_extends({ + autoComplete: props.autoComplete, + className: classnames_default()('slds-input', { + 'slds-text-align_left': props.variant === COUNTER && props.readOnly + }, props.className), + disabled: props.disabled, + id: props.id, + min: props.minValue, + minLength: props.minLength, + max: props.maxValue, + maxLength: props.maxLength, + name: props.name, + onBlur: props.onBlur, + onChange: props.onChange, + onClick: props.onClick, + onFocus: props.onFocus, + onInput: props.onInput, + onInvalid: props.onInvalid, + onKeyDown: props.onKeyDown, + onKeyPress: props.onKeyPress, + onKeyUp: props.onKeyUp, + onSelect: props.onSelect, + onSubmit: props.onSubmit, + placeholder: props.placeholder, + readOnly: props.readOnly, + ref: props.inputRef, + required: props.required, + role: props.role, + step: props.step, + style: props.style, + tabIndex: props.tabIndex, + type: props.type + }, ariaProps, props.value !== undefined ? { + value: props.value + } : { + defaultValue: props.defaultValue + })), props.hasSpinner ? /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: "slds-input__icon-group slds-input__icon-group_right" + }, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(components_spinner, { + assistiveText: { + label: assistiveText.spinner + }, + id: "loading-status-icon", + isInput: true, + size: "x-small", + variant: "brand" + }), props.iconRight && props.iconRight) : props.iconRight && props.iconRight, props.fixedTextRight && /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("span", { + className: "slds-form-element__addon" + }, props.fixedTextRight), props.isStatic && /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("span", { + className: classnames_default()('slds-form-element__static', 'slds-grid', { + 'slds-grid_align-spread': props.variant !== COUNTER + }), + onClick: props.onClick + }, props.value, props.inlineEditTrigger)); +}; + +inner_input_InnerInput.displayName = 'SLDSInnerInput'; +inner_input_InnerInput.propTypes = inner_input_propTypes; +inner_input_InnerInput.defaultProps = inner_input_defaultProps; +/* harmony default export */ var inner_input = (inner_input_InnerInput); +// CONCATENATED MODULE: ./components/utilities/label/index.jsx +/* eslint-disable react/jsx-curly-brace-presence */ + +/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */ + +/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */ + + + +var label_propTypes = { + /* + * Assistive Text to use instead of a visible label + */ + assistiveText: prop_types_default.a.object, + + /** + * Class names to be added to the label + */ + className: prop_types_default.a.oneOfType([prop_types_default.a.array, prop_types_default.a.object, prop_types_default.a.string]), + + /* + * Id of the input associated with this label + */ + htmlFor: prop_types_default.a.string, + + /* + * Input Label + */ + label: prop_types_default.a.string, + + /* + * Applies label styling for a required form element + */ + required: prop_types_default.a.bool, + + /** + * Changes markup of label. + */ + variant: prop_types_default.a.oneOf(['base', 'static']) +}; +var label_defaultProps = { + variant: 'base' +}; +/* + * Form label. This returns null if there is no label text (hidden or shown) + */ + +var label_Label = function Label(props) { + var labelText = props.label || props.assistiveText && props.assistiveText.label; // One of these is required to pass accessibility tests + + var subRenders = { + base: /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("label", { + className: classnames_default()('slds-form-element__label', { + 'slds-assistive-text': props.assistiveText && !props.label + }, props.className), + htmlFor: props.htmlFor + }, props.required && /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("abbr", { + className: "slds-required", + title: "required" + }, '*'), labelText), + static: /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("span", { + className: classnames_default()('slds-form-element__label', props.className) + }, labelText) + }; + return labelText ? subRenders[props.variant] : null; +}; + +label_Label.displayName = 'Label'; +label_Label.propTypes = label_propTypes; +label_Label.defaultProps = label_defaultProps; +/* harmony default export */ var utilities_label = (label_Label); +// CONCATENATED MODULE: ./utilities/warning/only-one-of-properties.js +/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */ + +/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */ + +/* eslint-disable import/no-mutable-exports */ +// This function will deliver an warning message to the browser console if extraneous properties are defined (falsey). + + +var onlyOneOf = function onlyOneOfFunction() {}; + +if (false) { var only_one_of_properties_hasWarned; } + +/* harmony default export */ var only_one_of_properties = (onlyOneOf); +// CONCATENATED MODULE: ./components/input/check-props.js +/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */ + +/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */ + +/* eslint-disable import/no-mutable-exports */ + +/* eslint-disable max-len */ + + // import oneOfRequiredProperty from '../../../utilities/warning/one-of-required-property'; + + + + + +var input_check_props_checkProps = function checkPropsFunction() {}; + +if (false) {} + +/* harmony default export */ var input_check_props = (input_check_props_checkProps); +// EXTERNAL MODULE: ./components/input/component.json +var input_component = __webpack_require__(21); + +// CONCATENATED MODULE: ./utilities/object.js +/* + * Remove keys with undefined values. This is useful + * for merging object props like `assistiveText` and `labels` + * and keeping default prop values. + */ +var removeUndefined = function removeUndefined(obj) { + var newObj = {}; + Object.keys(obj).forEach(function (prop) { + if (typeof obj[prop] !== 'undefined') { + newObj[prop] = obj[prop]; + } + }); + return newObj; +}; + +var helpers = { + removeUndefined: removeUndefined +}; +/* harmony default export */ var object = (helpers); +// CONCATENATED MODULE: ./components/tooltip/private/field-level-help-tooltip.jsx +function field_level_help_tooltip_ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; } + +function field_level_help_tooltip_objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { field_level_help_tooltip_ownKeys(Object(source), true).forEach(function (key) { field_level_help_tooltip_defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { field_level_help_tooltip_ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; } + +function field_level_help_tooltip_defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +/* + * Field Level Help Tooltip for input labels + */ + + + + +var field_level_help_tooltip_propTypes = { + /* + * Assistive Text object from parent component such as Input, Combobox, etc. + */ + assistiveText: prop_types_default.a.shape({ + triggerLearnMoreIcon: prop_types_default.a.string + }), + + /* + * Tooltip from external prop + */ + fieldLevelHelpTooltip: prop_types_default.a.node.isRequired +}; +var field_level_help_tooltip_defaultProps = { + triggerClassName: 'slds-form-element__icon', + // This allows `position: absolute` Tooltips to align properly. + // If not present, tooltip will always be below the info icon // instead of above it. + triggerStyle: { + position: 'static' + }, + variant: 'learnMore' +}; + +var field_level_help_tooltip_FieldLevelHelpTooltip = function FieldLevelHelpTooltip(_ref) { + var fieldLevelHelpTooltip = _ref.fieldLevelHelpTooltip, + _ref$assistiveText = _ref.assistiveText, + assistiveText = _ref$assistiveText === void 0 ? {} : _ref$assistiveText; + return fieldLevelHelpTooltip ? /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(tooltip, field_level_help_tooltip_objectSpread(field_level_help_tooltip_objectSpread(field_level_help_tooltip_objectSpread({}, field_level_help_tooltip_defaultProps), fieldLevelHelpTooltip.props), {}, { + // allow backwards compatibility with Input's + // assistiveText.fieldLevelHelpButton + // `Input` used to have an `assistiveText.fieldLevelHelpButton` + // prop and that prop needs to override the default Tooltip + // "Help" string. + assistiveText: field_level_help_tooltip_objectSpread(field_level_help_tooltip_objectSpread({}, fieldLevelHelpTooltip.props.assistiveText), object.removeUndefined(assistiveText)) + })) : null; +}; + +field_level_help_tooltip_FieldLevelHelpTooltip.propTypes = field_level_help_tooltip_propTypes; +field_level_help_tooltip_FieldLevelHelpTooltip.displayName = 'FieldLevelHelpTooltip'; +/* harmony default export */ var field_level_help_tooltip = (field_level_help_tooltip_FieldLevelHelpTooltip); +// CONCATENATED MODULE: ./components/input/index.jsx +function input_typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { input_typeof = function _typeof(obj) { return typeof obj; }; } else { input_typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return input_typeof(obj); } + +function input_ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; } + +function input_objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { input_ownKeys(Object(source), true).forEach(function (key) { input_defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { input_ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; } + +function input_extends() { input_extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return input_extends.apply(this, arguments); } + +function input_classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function input_defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function input_createClass(Constructor, protoProps, staticProps) { if (protoProps) input_defineProperties(Constructor.prototype, protoProps); if (staticProps) input_defineProperties(Constructor, staticProps); return Constructor; } + +function input_inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) input_setPrototypeOf(subClass, superClass); } + +function input_setPrototypeOf(o, p) { input_setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return input_setPrototypeOf(o, p); } + +function input_createSuper(Derived) { var hasNativeReflectConstruct = input_isNativeReflectConstruct(); return function _createSuperInternal() { var Super = input_getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = input_getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return input_possibleConstructorReturn(this, result); }; } + +function input_possibleConstructorReturn(self, call) { if (call && (input_typeof(call) === "object" || typeof call === "function")) { return call; } return input_assertThisInitialized(self); } + +function input_assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +function input_isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } } + +function input_getPrototypeOf(o) { input_getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return input_getPrototypeOf(o); } + +function input_defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +/* eslint-disable max-lines */ + +/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */ + +/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */ +// # Input Component +// Implements the [Input design pattern](https://lightningdesignsystem.com/components/forms/#flavor-input) in React. Does not yet implement [fixed text](https://lightningdesignsystem.com/components/forms/#flavor-input-input-fixed-text). +// Based on SLDS v2.2.1 +// +// ### React + + // ### classNames +// [github.com/JedWatson/classnames](https://github.com/JedWatson/classnames) +// This project uses `classnames`, "a simple javascript utility for conditionally +// joining classNames together." + + // ### shortid +// [npmjs.com/package/shortid](https://www.npmjs.com/package/shortid) +// shortid is a short, non-sequential, url-friendly, unique id generator + + + // ## Children + + + + // This component's `checkProps` which issues warnings to developers about properties when in development mode (similar to React's built in development tools) + + + + + +var input_COUNTER = 'counter'; +var DECREMENT = 'Decrement'; +var INCREMENT = 'Increment'; +var input_defaultProps = { + assistiveText: { + decrement: "".concat(DECREMENT, " ").concat(input_COUNTER), + increment: "".concat(INCREMENT, " ").concat(input_COUNTER) + }, + type: 'text' +}; +/** + * The HTML `input` with a label and error messaging. + */ + +var input_Input = /*#__PURE__*/function (_React$Component) { + input_inherits(Input, _React$Component); + + var _super = input_createSuper(Input); + + function Input(props) { + var _this; + + input_classCallCheck(this, Input); + + _this = _super.call(this, props); + + input_defineProperty(input_assertThisInitialized(_this), "getId", function () { + return _this.props.id || _this.generatedId; + }); + + input_defineProperty(input_assertThisInitialized(_this), "getErrorId", function () { + return _this.props['aria-describedby'] || _this.generatedErrorId; + }); + + input_defineProperty(input_assertThisInitialized(_this), "getValueAsNumber", function () { + var value = 0; + + if (_this.props.value !== undefined) { + value = Number(_this.props.value); + } else if (_this.inputRef) { + value = Number(_this.inputRef.value); + } + + return value; + }); + + input_defineProperty(input_assertThisInitialized(_this), "getCounterButtonIcon", function (direction) { + var value = _this.getValueAsNumber(); + + var disabled = false; + + if (_this.props.disabled || direction === INCREMENT && _this.props.maxValue !== undefined && value >= _this.props.maxValue || direction === DECREMENT && _this.props.minValue !== undefined && value <= _this.props.minValue) { + disabled = true; + } + + return /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(components_button, { + assistiveText: { + icon: _this.props.assistiveText[direction.toLowerCase()] + }, + className: classnames_default()('slds-button_icon-small', "slds-input__button_".concat(direction.toLowerCase())), + disabled: disabled, + iconCategory: "utility", + iconName: direction === DECREMENT ? 'ban' : 'new', + onKeyDown: function onKeyDown(event) { + if (event.keyCode === 13) { + _this.performStep(direction, event); + } + }, + onKeyUp: _this.stopStepping, + onMouseDown: function onMouseDown(event) { + _this.performStep(direction, event); + }, + onMouseLeave: _this.stopStepping, + onMouseUp: _this.stopStepping, + variant: "icon" + }); + }); + + input_defineProperty(input_assertThisInitialized(_this), "getIconRender", function (position, iconPositionProp) { + var icon; // Remove at next breaking change + + /* eslint-disable react/prop-types */ + + var deprecatedProps = { + assistiveText: { + icon: _this.props[iconPositionProp] && _this.props[iconPositionProp].props.assistiveText || _this.props.iconAssistiveText + }, + category: _this.props[iconPositionProp] && _this.props[iconPositionProp].props.category || _this.props.iconCategory, + name: _this.props[iconPositionProp] && _this.props[iconPositionProp].props.name || _this.props.iconName, + onClick: _this.props[iconPositionProp] && _this.props[iconPositionProp].props.onClick || _this.props.onIconClick + }; + /* eslint-enable react/prop-types */ + + if (_this.props[iconPositionProp] && position && _this.props[iconPositionProp]) { + icon = /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.cloneElement(_this.props[iconPositionProp], { + iconPosition: "".concat(position) + }); + } else if (deprecatedProps.name) { + icon = /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(input_icon, input_extends({ + iconPosition: position + }, deprecatedProps)); + } + + return icon; + }); + + input_defineProperty(input_assertThisInitialized(_this), "setInputRef", function (ref) { + _this.inputRef = ref; + + if (_this.props.inputRef) { + _this.props.inputRef(ref); + } + }); + + input_defineProperty(input_assertThisInitialized(_this), "handleChange", function (event) { + if (_this.props.onChange) { + var data = { + value: event.target.value + }; + + if (_this.props.variant === input_COUNTER) { + data.number = Number(data.value); + } + + _this.props.onChange(event, data); + } + }); + + input_defineProperty(input_assertThisInitialized(_this), "performStep", function (direction, event) { + clearTimeout(_this.stepping.timeout); + var maxValue = _this.props.maxValue; + var minValue = _this.props.minValue; + var step = _this.props.step !== undefined ? Number(_this.props.step) : 1; + + var value = _this.getValueAsNumber(); + + var valueChanged = false; + + if (direction === DECREMENT && maxValue !== undefined && value > maxValue) { + value = Number(maxValue); + valueChanged = true; + } else if (direction === INCREMENT && minValue !== undefined && value < minValue) { + value = Number(minValue); + valueChanged = true; + } else { + var decimalPlaces = String(step).search(/\./) >= 0 ? String(step).split('.')[1].length : 0; + var minOverflow = 0; + + if (minValue !== undefined) { + minOverflow = (value - minValue) % step; + } + + if (minOverflow > 0) { + // Default browser inputs of type number with a min attribute alter the value upon change as needed so + // that with enough decrements it can reach the exact min value. This behavior is reflected here + value = direction === DECREMENT ? value - minOverflow : value + (step - minOverflow); + } else { + value = direction === DECREMENT ? value - step : value + step; + } + + value = Number(value.toFixed(decimalPlaces)); + + if (!(maxValue !== undefined && value > maxValue) && !(minValue !== undefined && value < minValue)) { + valueChanged = true; + } + } + + if (valueChanged) { + /* + * Use of `this.forceUpdate` is an anti-pattern. This code only executes if this `input` element is uncontrolled which this library believes is an anti-pattern, also. This code is only present to allow for the edge case of uncontrolled use of an `input`. + */ + if (_this.props.value === undefined && _this.inputRef) { + _this.inputRef.value = String(value); + + _this.forceUpdate(); + } else if (_this.props.onChange) { + _this.props.onChange(event, { + number: value, + value: String(value) + }); + } + } + + if (direction === INCREMENT && maxValue !== undefined && value >= maxValue || direction === DECREMENT && minValue !== undefined && value <= minValue) { + _this.stopStepping(); + } else { + _this.stepping.timeout = setTimeout(function () { + _this.stepping.currentDelay = _this.stepping.speedDelay; + + _this.performStep(direction); + }, _this.stepping.currentDelay); + } + }); + + input_defineProperty(input_assertThisInitialized(_this), "stopStepping", function () { + clearTimeout(_this.stepping.timeout); + _this.stepping.currentDelay = _this.stepping.initialDelay; + }); + + _this.inputRef = null; + _this.stepping = { + currentDelay: 500, + initialDelay: 500, + speedDelay: 75, + timeout: {} + }; // `checkProps` issues warnings to developers about properties (similar to React's built in development tools) + + input_check_props(INPUT, props, input_component); + _this.generatedId = shortid_default.a.generate(); + + if (props.errorText) { + _this.generatedErrorId = shortid_default.a.generate(); + } + + return _this; + } + + input_createClass(Input, [{ + key: "render", + value: function render() { + var assistiveText = input_objectSpread(input_objectSpread({}, input_defaultProps.assistiveText), this.props.assistiveText); + + var inputRef = this.props.variant === input_COUNTER ? this.setInputRef : this.props.inputRef; + var iconLeft = null; + var iconRight = null; + var hasRenderedLabel = this.props.label || assistiveText && assistiveText.label; // Remove at next breaking change + // this is a hack to make left the default prop unless overwritten by `iconPosition="right"` + + if (!!this.props.iconLeft || (this.props.iconPosition === 'left' || this.props.iconPosition === undefined) && !!this.props.iconName) { + iconLeft = this.getIconRender('left', 'iconLeft'); + } else if (this.props.variant === input_COUNTER && !this.props.isStatic && !this.props.readOnly) { + iconLeft = this.getCounterButtonIcon(DECREMENT); + } + + if (!!this.props.iconRight || this.props.iconPosition === 'right' && !!this.props.iconName) { + iconRight = this.getIconRender('right', 'iconRight'); + } else if (this.props.variant === input_COUNTER && !this.props.isStatic && !this.props.readOnly) { + iconRight = this.getCounterButtonIcon(INCREMENT); + } + + return /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: classnames_default()('slds-form-element', { + 'slds-has-error': this.props.errorText + }, this.props.className), + style: this.props.styleContainer + }, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(utilities_label, { + assistiveText: assistiveText, + htmlFor: this.props.isStatic ? undefined : this.getId(), + label: this.props.label, + required: this.props.required, + variant: this.props.isStatic ? 'static' : 'base' + }), this.props.fieldLevelHelpTooltip && hasRenderedLabel ? /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(field_level_help_tooltip, { + assistiveText: { + triggerLearnMoreIcon: assistiveText.fieldLevelHelpButton + }, + fieldLevelHelpTooltip: this.props.fieldLevelHelpTooltip + }) : null, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(inner_input, { + "aria-activedescendant": this.props['aria-activedescendant'], + "aria-autocomplete": this.props['aria-autocomplete'], + "aria-controls": this.props['aria-controls'], + "aria-labelledby": this.props['aria-labelledby'], + "aria-describedby": this.getErrorId(), + "aria-expanded": this.props['aria-expanded'], + "aria-owns": this.props['aria-owns'], + "aria-required": this.props['aria-required'], + autoComplete: this.props.autoComplete, + className: classnames_default()({ + 'slds-input_counter': this.props.variant === input_COUNTER, + 'slds-p-horizontal_none': this.props.variant === input_COUNTER && this.props.readOnly + }), + containerProps: { + className: 'slds-form-element__control' + }, + defaultValue: this.props.defaultValue, + disabled: this.props.disabled, + fixedTextLeft: this.props.fixedTextLeft, + fixedTextRight: this.props.fixedTextRight, + hasSpinner: this.props.hasSpinner, + id: this.getId(), + iconLeft: iconLeft, + iconRight: iconRight, + inlineEditTrigger: this.props.inlineEditTrigger, + isStatic: this.props.isStatic, + minLength: this.props.minLength, + minValue: this.props.minValue, + maxLength: this.props.maxLength, + maxValue: this.props.maxValue, + name: this.props.name, + onBlur: this.props.onBlur, + onChange: this.handleChange, + onClick: this.props.onClick, + onFocus: this.props.onFocus, + onInput: this.props.onInput, + onInvalid: this.props.onInvalid, + onKeyDown: this.props.onKeyDown, + onKeyPress: this.props.onKeyPress, + onKeyUp: this.props.onKeyUp, + onSelect: this.props.onSelect, + onSubmit: this.props.onSubmit, + placeholder: this.props.placeholder, + inputRef: inputRef, + readOnly: this.props.readOnly, + required: this.props.required, + role: this.props.role, + assistiveText: this.props.assistiveText, + type: this.props.variant === input_COUNTER ? 'number' : this.props.type, + value: this.props.value, + variant: this.props.variant, + step: this.props.step, + style: this.props.styleInput + }), this.props.inlineHelpText && /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: "slds-form-element__help" + }, this.props.inlineHelpText), this.props.errorText && /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + id: this.getErrorId(), + className: "slds-form-element__help" + }, this.props.errorText), this.props.children); + } + }]); + + return Input; +}(external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.Component); + +input_defineProperty(input_Input, "displayName", INPUT); + +input_defineProperty(input_Input, "propTypes", { + /** + * The aria-activedescendant attribute contains the ID of the currently active child object that is part of a composite widget within the Document Object Model. It makes do with the overhead of having all or more than one child focusable. As the name specifies, it helps in managing the current active child of the composite widget. + */ + 'aria-activedescendant': prop_types_default.a.string, + + /** + * Indicates if the suggestions in a composite widget are values that complete the current textbox input. + */ + 'aria-autocomplete': prop_types_default.a.string, + + /** + * An HTML ID that is shared with ARIA-supported devices with the + * `aria-controls` attribute in order to relate the input with + * another region of the page. An example would be a select box + * that shows or hides a panel. + */ + 'aria-controls': prop_types_default.a.string, + + /** + * The `aria-describedby` attribute is used to indicate the IDs of the elements that describe the object. It is used to establish a relationship between widgets or groups and text that described them. This is very similar to aria-labelledby: a label describes the essence of an object, while a description provides more information that the user might need. + */ + 'aria-describedby': prop_types_default.a.string, + + /** + * Use the `aria-expanded` state to indicate whether regions of the content are collapsible, and to expose whether a region is currently expanded or collapsed. + */ + 'aria-expanded': prop_types_default.a.bool, + + /** + * Indicates that the element has a popup context menu or sub-level menu. + */ + 'aria-haspopup': prop_types_default.a.bool, + + /** + * The aria-labelledby attribute contains the element IDs of labels in objects such as input elements, widgets, and groups. The attribute establishes relationships between objects and their labels. Assistive technology, such as screen readers, use this attribute to catalog the objects in a document so that users can navigate between them. Without an element ID, the assistive technology cannot catalog the object. + */ + 'aria-labelledby': prop_types_default.a.string, + + /** + * An HTML ID that is shared with ARIA-supported devices with the + * `aria-controls` attribute in order to relate the input with + * another region of the page. An example would be a search field + * that shows search results. + */ + 'aria-owns': prop_types_default.a.string, + + /** + * The `aria-required` attribute is used to indicate that user input is required on an element before a form can be submitted. + */ + 'aria-required': prop_types_default.a.bool, + + /** + * **Assistive text for accessibility** + * * `label`: Visually hidden label but read out loud by screen readers. + * * `spinner`: Text for loading spinner icon. + */ + assistiveText: prop_types_default.a.shape({ + label: prop_types_default.a.string, + spinner: prop_types_default.a.string + }), + + /** + * Disabled brower's autocomplete when "off" is used. + */ + autoComplete: prop_types_default.a.string, + + /** + * Elements are added after the `input`. + */ + children: prop_types_default.a.node, + + /** + * Class names to be added to the outer container of the input. + */ + className: prop_types_default.a.oneOfType([prop_types_default.a.array, prop_types_default.a.object, prop_types_default.a.string]), + + /** + * This is the initial value of an uncontrolled form element and + * is present only to provide compatibility with hybrid framework + * applications that are not entirely React. It should only be used + * in an application without centralized state (Redux, Flux). + * "Controlled components" with centralized state is highly recommended. + * See [Code Overview](https://github.com/salesforce/design-system-react/blob/master/docs/codebase-overview.md#controlled-and-uncontrolled-components) for more information. + */ + defaultValue: prop_types_default.a.oneOfType([prop_types_default.a.number, prop_types_default.a.string]), + + /** + * Disables the input and prevents editing the contents. + */ + disabled: prop_types_default.a.bool, + + /** + * Message to display when the input is in an error state. When this is present, also visually highlights the component as in error. + */ + errorText: prop_types_default.a.oneOfType([prop_types_default.a.node, prop_types_default.a.string]), + + /** + * A [Tooltip](https://react.lightningdesignsystem.com/components/tooltips/) component that is displayed next to the label. + */ + fieldLevelHelpTooltip: prop_types_default.a.node, + + /** + * Displays text or node to the left of the input. This follows the fixed text input UX pattern. + */ + fixedTextLeft: prop_types_default.a.oneOfType([prop_types_default.a.node, prop_types_default.a.string]), + + /** + * Displays text or node to the right of the input. This follows the fixed text input UX pattern. + */ + fixedTextRight: prop_types_default.a.oneOfType([prop_types_default.a.node, prop_types_default.a.string]), + + /** + * If true, loading spinner appears inside input on right hand side. + */ + hasSpinner: prop_types_default.a.bool, + + /** + * Left aligned icon, must be instace of `design-system-react/components/icon/input-icon` + */ + iconLeft: prop_types_default.a.node, + + /** + * Right aligned icon, must be instace of `design-system-react/components/icon/input-icon` + */ + iconRight: prop_types_default.a.node, + + /** + * Every input must have a unique ID in order to support keyboard navigation and ARIA support. + */ + id: prop_types_default.a.string, + + /** + * Displays help text under the input. + */ + inlineHelpText: prop_types_default.a.oneOfType([prop_types_default.a.node, prop_types_default.a.string]), + + /** + * This callback exposes the input reference / DOM node to parent components. `<Parent inputRef={(inputComponent) => this.input = inputComponent} /> + */ + inputRef: prop_types_default.a.func, + + /** + * Displays the value of the input statically. This follows the static input UX pattern. + */ + isStatic: prop_types_default.a.bool, + + /** + * This label appears above the input. + */ + label: prop_types_default.a.string, + + /** + * Triggered when focus is removed. + */ + onBlur: prop_types_default.a.func, + + /** + * This callback fires when the input changes. Passes in `event, { value }`. + */ + onChange: prop_types_default.a.func, + + /** + * This event fires when the input is clicked. + */ + onClick: prop_types_default.a.func, + + /** + * Triggered when component is focused. + */ + onFocus: prop_types_default.a.func, + + /** + * Similar to `onchange`. Triggered when an element gets user input. + */ + onInput: prop_types_default.a.func, + + /** + * Triggered when a submittable `<input>` element is invalid. + */ + onInvalid: prop_types_default.a.func, + + /** + * Triggered when a key is pressed down + */ + onKeyDown: prop_types_default.a.func, + + /** + * Triggered when a key is pressed and released + */ + onKeyPress: prop_types_default.a.func, + + /** + * Triggered when a key is released + */ + onKeyUp: prop_types_default.a.func, + + /** + * Triggered after some text has been selected in an element. + */ + onSelect: prop_types_default.a.func, + + /** + * Fires when a form is submitted. + */ + onSubmit: prop_types_default.a.func, + + /** + * Text that will appear in an empty input. + */ + placeholder: prop_types_default.a.string, + + /** + * Sets the minimum number of characters that an `<input>` can accept. + */ + minLength: prop_types_default.a.string, + + /** + * Specifies minimum accepted value for a counter input + */ + minValue: prop_types_default.a.number, + + /** + * Sets the maximum number of characters that an `<input>` can accept. + */ + maxLength: prop_types_default.a.string, + + /** + * Specifies maximum accepted value for a counter input + */ + maxValue: prop_types_default.a.number, + + /** + * Name of the submitted form parameter. + */ + name: prop_types_default.a.string, + + /** + * Displays the value of the input as read-only. This is used in the inline edit UX pattern. + */ + readOnly: prop_types_default.a.bool, + + /** + * Highlights the input as a required field (does not perform any validation). + */ + required: prop_types_default.a.bool, + + /** + * ARIA role + */ + role: prop_types_default.a.string, + + /** + * Determines the step size upon increment or decrement. Can be set to decimal values. + */ + step: prop_types_default.a.number, + + /** + * styles to be added to input + */ + styleInput: prop_types_default.a.object, + + /** + * Custom styles to be passed to the component container + */ + styleContainer: prop_types_default.a.object, + + /** + * The `<Input>` element includes support for all HTML5 types. + */ + type: prop_types_default.a.oneOf(['text', 'password', 'datetime', 'datetime-local', 'date', 'month', 'time', 'week', 'number', 'email', 'url', 'search', 'tel', 'color']), + + /** + * The input is a controlled component, and will always display this value. + */ + value: prop_types_default.a.oneOfType([prop_types_default.a.number, prop_types_default.a.string]), + + /** + * Which UX pattern of input? The default is `base` while other option is `counter` + */ + variant: prop_types_default.a.oneOf(['base', input_COUNTER]) +}); + +input_defineProperty(input_Input, "defaultProps", input_defaultProps); + +/* harmony default export */ var input = (input_Input); +// CONCATENATED MODULE: ./components/card/filter.jsx +function filter_extends() { filter_extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return filter_extends.apply(this, arguments); } + +function filter_objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = filter_objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; } + +function filter_objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; } + +/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */ + +/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */ +// ### React + + + + + +/** + * A default filter or search input for Cards that contain items. + */ + +var filter_Filter = function Filter(props) { + var id = props.id, + placeholder = props.placeholder, + onChange = props.onChange, + rest = filter_objectWithoutProperties(props, ["id", "placeholder", "onChange"]); + + return /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(input, filter_extends({}, rest, { + assistiveText: { + label: placeholder + }, + iconLeft: /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(input_icon, { + name: "search", + category: "utility" + }), + id: id, + onChange: onChange, + placeholder: placeholder + })); +}; // ### Display Name +// Always use the canonical component name as the React display name. + + +filter_Filter.displayName = CARD_FILTER; // ### Prop Types + +filter_Filter.propTypes = { + /** + * The HTML `id` from the card with a suffixe. + */ + id: prop_types_default.a.string, + + /** + * This callback fires when the input changes. + */ + onChange: prop_types_default.a.func, + + /** + * Text present in input until the user enters text. This text will also be used for a visually hidden label on the filter `input` element for accessibility. + */ + placeholder: prop_types_default.a.string.isRequired +}; +filter_Filter.defaultProps = { + placeholder: 'Find in List' +}; +/* harmony default export */ var card_filter = (filter_Filter); +// CONCATENATED MODULE: ./components/carousel/private/carousel-indicators.jsx +function carousel_indicators_typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { carousel_indicators_typeof = function _typeof(obj) { return typeof obj; }; } else { carousel_indicators_typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return carousel_indicators_typeof(obj); } + +function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || carousel_indicators_unsupportedIterableToArray(arr) || _nonIterableSpread(); } + +function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } + +function carousel_indicators_unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return carousel_indicators_arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return carousel_indicators_arrayLikeToArray(o, minLen); } + +function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && Symbol.iterator in Object(iter)) return Array.from(iter); } + +function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return carousel_indicators_arrayLikeToArray(arr); } + +function carousel_indicators_arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; } + +function carousel_indicators_classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function carousel_indicators_defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function carousel_indicators_createClass(Constructor, protoProps, staticProps) { if (protoProps) carousel_indicators_defineProperties(Constructor.prototype, protoProps); if (staticProps) carousel_indicators_defineProperties(Constructor, staticProps); return Constructor; } + +function carousel_indicators_inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) carousel_indicators_setPrototypeOf(subClass, superClass); } + +function carousel_indicators_setPrototypeOf(o, p) { carousel_indicators_setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return carousel_indicators_setPrototypeOf(o, p); } + +function carousel_indicators_createSuper(Derived) { var hasNativeReflectConstruct = carousel_indicators_isNativeReflectConstruct(); return function _createSuperInternal() { var Super = carousel_indicators_getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = carousel_indicators_getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return carousel_indicators_possibleConstructorReturn(this, result); }; } + +function carousel_indicators_possibleConstructorReturn(self, call) { if (call && (carousel_indicators_typeof(call) === "object" || typeof call === "function")) { return call; } return carousel_indicators_assertThisInitialized(self); } + +function carousel_indicators_assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +function carousel_indicators_isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } } + +function carousel_indicators_getPrototypeOf(o) { carousel_indicators_getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return carousel_indicators_getPrototypeOf(o); } + +function carousel_indicators_defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */ + +/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */ +// ### React + + // ### classNames +// [github.com/JedWatson/classnames](https://github.com/JedWatson/classnames) +// This project uses `classnames`, "a simple javascript utility for conditionally +// joining classNames together." + + + +/** + * CarouselIndicators is used to display the list of indicators associated to the number of panels + * a carousel has + */ + +var carousel_indicators_CarouselIndicators = /*#__PURE__*/function (_React$Component) { + carousel_indicators_inherits(CarouselIndicators, _React$Component); + + var _super = carousel_indicators_createSuper(CarouselIndicators); + + function CarouselIndicators() { + var _this; + + carousel_indicators_classCallCheck(this, CarouselIndicators); + + for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { + args[_key] = arguments[_key]; + } + + _this = _super.call.apply(_super, [this].concat(args)); + + carousel_indicators_defineProperty(carousel_indicators_assertThisInitialized(_this), "onFocus", function (event) { + _this["indicator".concat(_this.props.currentIndex)].focus(); + + if (_this.props.onFocus) { + _this.props.onFocus(event); + } + }); + + return _this; + } + + carousel_indicators_createClass(CarouselIndicators, [{ + key: "componentDidUpdate", + value: function componentDidUpdate() { + if (this.props.hasFocus && this["indicator".concat(this.props.currentIndex)]) { + this["indicator".concat(this.props.currentIndex)].focus(); + } + } + }, { + key: "render", + value: function render() { + var _this2 = this; + + var props = this.props; + return /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("ul", { + className: "slds-carousel__indicators slds-col slds-text-align_center", + role: "tablist" + }, _toConsumableArray(Array(props.noOfIndicators).keys()).map(function (index) { + var isSelectedPanel = index === props.currentIndex; + var indicatorActionClassName = classnames_default()('slds-carousel__indicator-action', props.className, { + 'slds-is-active': isSelectedPanel + }); + var assistiveText = "".concat(index); + var title = "".concat(index); + var id = ''; + + if (props.items && props.items.length > 0) { + // eslint-disable-next-line prefer-destructuring + id = props.items[index].id; + var startItemIndex = index * props.itemsPerPanel; + var autoIndicatorText = ''; // eslint-disable-next-line fp/no-loops + + for (var i = startItemIndex; i < startItemIndex + props.itemsPerPanel; i += 1) { + if (props.items[i] && props.items[i].heading) { + autoIndicatorText = !autoIndicatorText ? '' : "".concat(autoIndicatorText, ", "); + autoIndicatorText += props.items[i].heading; + } + } + + if (autoIndicatorText) { + assistiveText = autoIndicatorText; + title = autoIndicatorText; + } + } + + return /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("li", { + className: "slds-carousel__indicator slds-m-horizontal_xx-small", + key: index, + role: "presentation", + style: { + margin: 0, + padding: '0 5px' + } + }, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("a", { + ref: function ref(component) { + _this2["indicator".concat(index)] = component; + }, + id: "indicator-id-".concat(props.carouselId, "-").concat(index), + className: indicatorActionClassName, + role: "tab", + tabIndex: isSelectedPanel ? '0' : '-1', + "aria-selected": isSelectedPanel, + "aria-controls": props.getPanelId({ + carouselId: props.carouselId, + itemId: id + }), + title: title, + onBlur: props.onBlur, + onClick: function onClick(event) { + return props.onClick(event, index); + }, + onFocus: _this2.onFocus + }, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("span", { + className: "slds-assistive-text" + }, assistiveText))); + })); + } + }]); + + return CarouselIndicators; +}(external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.Component); + +carousel_indicators_CarouselIndicators.displayName = CAROUSEL_INDICATORS; +carousel_indicators_CarouselIndicators.defaultProps = { + currentIndex: 0 +}; // ### Prop Types + +carousel_indicators_CarouselIndicators.propTypes = { + /** + * Carousel HTML ID + */ + carouselId: prop_types_default.a.string, + + /** + * CSS classes that are applied to the component + */ + className: prop_types_default.a.oneOfType([prop_types_default.a.array, prop_types_default.a.object, prop_types_default.a.string]), + + /** + * Selected indicator + */ + currentIndex: prop_types_default.a.number, + + /** + * Passed from carousel parent state, dictates if indicator currently has focus + */ + hasFocus: prop_types_default.a.bool, + + /** + * Array of objects with shape, needed for building a carousel items + */ + items: prop_types_default.a.array, + + /** + * Number of items to be displayed at a time in the carousel + */ + itemsPerPanel: prop_types_default.a.number, + + /** + * Number of indicators to be displayed (corresponds to the number of panels in the carousel) + */ + noOfIndicators: prop_types_default.a.number.isRequired, + + /** + * Fires on indicator blur, allows parent carousel to adjust indicatorsHaveFocus state accordingly + */ + onBlur: prop_types_default.a.func, + + /** + * Triggered when the indicator is clicked. + */ + onClick: prop_types_default.a.func, + + /** + * Fires on indicator focus, allows parent carousel to adjust indicatorsHaveFocus state accordingly + */ + onFocus: prop_types_default.a.func +}; +/* harmony default export */ var carousel_indicators = (carousel_indicators_CarouselIndicators); +// CONCATENATED MODULE: ./components/carousel/private/previous-next-carousel-navigator.jsx +function previous_next_carousel_navigator_ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; } + +function previous_next_carousel_navigator_objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { previous_next_carousel_navigator_ownKeys(Object(source), true).forEach(function (key) { previous_next_carousel_navigator_defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { previous_next_carousel_navigator_ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; } + +function previous_next_carousel_navigator_defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */ + +/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */ +// ### React + + + + +/** + * previousNextCarouselNavigator is used to display previous/next navigation items of the carousel + */ + +var previous_next_carousel_navigator_previousNextCarouselNavigator = function previousNextCarouselNavigator(props) { + return /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: "slds-carousel__col-center slds-is-absolute", + style: previous_next_carousel_navigator_objectSpread(previous_next_carousel_navigator_objectSpread({}, props.inlineStyle), {}, { + margin: '-12px 0 0', + top: '50%' + }) + }, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(components_button, { + assistiveText: { + icon: props.assistiveText + }, + className: "slds-button_icon slds-carousel__button", + disabled: props.isDisabled, + iconCategory: "utility", + iconName: props.iconName, + iconVariant: "border-filled", + iconSize: "small", + onClick: props.onClick, + variant: "icon" + })); +}; // /assets/icons/utility-sprite/svg/symbols.svg#right + + +previous_next_carousel_navigator_previousNextCarouselNavigator.displayName = CAROUSEL_NAVIGATORS; // ### Prop Types + +previous_next_carousel_navigator_previousNextCarouselNavigator.propTypes = { + /** + * Description of the previous/next navigation icons for screen-readers. + */ + assistiveText: prop_types_default.a.string, + + /** + * Name of icon displayed within the navigation button + */ + iconName: prop_types_default.a.oneOf(['chevronleft', 'chevronright']), + + /** + * Determines where the navigator indicator has been disabled + */ + isDisabled: prop_types_default.a.bool, + + /** + * Additional styles to be applied to the container + */ + inlineStyle: prop_types_default.a.object, + + /** + * Triggered when the indicator is clicked. + */ + onClick: prop_types_default.a.func +}; +/* harmony default export */ var previous_next_carousel_navigator = (previous_next_carousel_navigator_previousNextCarouselNavigator); +// CONCATENATED MODULE: ./components/carousel/private/carousel-item.jsx +/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */ + +/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */ +// # CarouselItem Component +// Implements the [CarouselItem design pattern](https://www.lightningdesignsystem.com/components/carousel/) in React. + + + + +/** + * A carousel allows multiple pieces of featured content to occupy an allocated amount of space. + */ + +var carousel_item_CarouselItem = function CarouselItem(props) { + return /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + id: props.getPanelId({ + carouselId: props.carouselId, + itemId: props.id + }), + className: "slds-carousel__panel slds-m-horizontal_xx-small slds-list_horizontal", + role: "tabpanel", + "aria-hidden": "false", + "aria-labelledby": "indicator-id-".concat(props.carouselId, "-").concat(props.panelIndex), + style: { + margin: 0, + maxWidth: "".concat(props.itemWidth, "px"), + padding: '0 6px' + } + }, props.onRenderItem ? props.onRenderItem({ + item: props + }) : /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("a", { + className: "slds-carousel__panel-action slds-text-link_reset", + href: props.href, + onClick: props.onClick, + onFocus: props.onFocus, + style: { + backgroundColor: 'white', + width: '100%' + }, + tabIndex: props.isInCurrentPanel ? '0' : '-1' + }, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: "slds-carousel__image" + }, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("img", { + src: props.src, + alt: props.imageAssistiveText || props.heading + })), /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: "slds-carousel__content", + style: { + height: 'auto' + } + }, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("h2", { + className: "slds-carousel__content-title" + }, props.heading), /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: "slds-p-bottom_x-small slds-text-body_small", + style: { + minHeight: '40px' + } + }, props.description), props.buttonLabel && /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(components_button, { + label: props.buttonLabel, + tabIndex: props.isInCurrentPanel ? '0' : '-1', + variant: "neutral" + })))); +}; + +carousel_item_CarouselItem.displayName = CAROUSEL_ITEM; +carousel_item_CarouselItem.propTypes = { + /** + * Label of the button to be displayed. If not provided, no button will be rendered. + */ + buttonLabel: prop_types_default.a.string, + + /** + * Carousel HTML ID + */ + carouselId: prop_types_default.a.string, + + /** + * CSS classes that are applied to the component + */ + className: prop_types_default.a.oneOfType([prop_types_default.a.array, prop_types_default.a.object, prop_types_default.a.string]), + + /** + * Visible paragraph text to be displayed on the carousel item + */ + description: prop_types_default.a.oneOfType([prop_types_default.a.string, prop_types_default.a.node]), + + /** + * Carousel Item's visible heading + */ + heading: prop_types_default.a.oneOfType([prop_types_default.a.string, prop_types_default.a.object]).isRequired, + href: prop_types_default.a.string, + + /** + * Id of the item component. + */ + id: prop_types_default.a.number.isRequired, + + /** + * Image alt text + */ + imageAssistiveText: prop_types_default.a.string, + + /** + * Boolean indicating whether this item is currently visible in the active parent carousel panel + */ + isInCurrentPanel: prop_types_default.a.bool, + + /** + * Width of the carousel item + */ + itemWidth: prop_types_default.a.number, + + /** + * Accepts a callback to handle when the a tag is focused on + */ + onFocus: prop_types_default.a.func, + + /** + * Accepts a custom carousel item rendering function + */ + onRenderItem: prop_types_default.a.func, + + /** + * Index of the panel this item belongs to, to be used when associating it to an indicator + */ + panelIndex: prop_types_default.a.number, + + /** + * Path of the image to be used + */ + src: prop_types_default.a.string.isRequired +}; +carousel_item_CarouselItem.defaultProps = { + href: 'javascript:void(0);' +}; +/* harmony default export */ var carousel_item = (carousel_item_CarouselItem); +// CONCATENATED MODULE: ./components/carousel/private/auto-play-button.jsx +/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */ + +/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */ +// ### React + + + + +/** + * AutoplayButton is used to start/pause the autoplay iteration of the carousel + */ + +var auto_play_button_AutoplayButton = function AutoplayButton(props) { + return /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("span", { + className: "slds-carousel__autoplay", + style: { + left: '66px' + } + }, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(components_button, { + assistiveText: { + icon: props.assistiveText + }, + className: "slds-button_icon", + disabled: props.isDisabled, + iconCategory: "utility", + iconName: props.isAutoplayOn ? 'pause' : 'play', + iconVariant: "border-filled", + iconSize: "x-small", + onClick: props.onClick, + variant: "icon" + })); +}; + +auto_play_button_AutoplayButton.displayName = CAROUSEL_AUTOPLAY_BUTTON; // ### Prop Types + +auto_play_button_AutoplayButton.propTypes = { + /** + * Description of the start/pause autoplay button for screen-readers. + */ + assistiveText: prop_types_default.a.string, + + /** + * Indicates whether autoplay is enabled + */ + isAutoplayOn: prop_types_default.a.bool, + + /** + * Triggered when the autoplay button is clicked. + */ + onClick: prop_types_default.a.func +}; +auto_play_button_AutoplayButton.defaultProps = { + isAutoplayOn: false +}; +/* harmony default export */ var auto_play_button = (auto_play_button_AutoplayButton); +// CONCATENATED MODULE: ./components/carousel/index.jsx +function carousel_typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { carousel_typeof = function _typeof(obj) { return typeof obj; }; } else { carousel_typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return carousel_typeof(obj); } + +function carousel_extends() { carousel_extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return carousel_extends.apply(this, arguments); } + +function carousel_classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function carousel_defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function carousel_createClass(Constructor, protoProps, staticProps) { if (protoProps) carousel_defineProperties(Constructor.prototype, protoProps); if (staticProps) carousel_defineProperties(Constructor, staticProps); return Constructor; } + +function carousel_inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) carousel_setPrototypeOf(subClass, superClass); } + +function carousel_setPrototypeOf(o, p) { carousel_setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return carousel_setPrototypeOf(o, p); } + +function carousel_createSuper(Derived) { var hasNativeReflectConstruct = carousel_isNativeReflectConstruct(); return function _createSuperInternal() { var Super = carousel_getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = carousel_getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return carousel_possibleConstructorReturn(this, result); }; } + +function carousel_possibleConstructorReturn(self, call) { if (call && (carousel_typeof(call) === "object" || typeof call === "function")) { return call; } return carousel_assertThisInitialized(self); } + +function carousel_assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +function carousel_isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } } + +function carousel_getPrototypeOf(o) { carousel_getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return carousel_getPrototypeOf(o); } + +function carousel_defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */ + +/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */ +// # Carousel Component +// Implements the [Carousel design pattern](https://www.lightningdesignsystem.com/components/carousel/) in React. + + + // ### shortid +// [npmjs.com/package/shortid](https://www.npmjs.com/package/shortid) +// shortid is a short, non-sequential, url-friendly, unique id generator + + + + + + + + // ### Event Helpers + + + +/* eslint-disable jsx-a11y/no-static-element-interactions */ +// ### Default Props + +var carousel_defaultProps = { + assistiveText: { + autoplayButton: 'Start / Stop auto-play', + nextPanel: 'Next Panel', + previousPanel: 'Previous Panel' + }, + autoplayInterval: 4000, + hasAutoplay: false, + hasPreviousNextPanelNavigation: false, + isInfinite: false, + itemsPerPanel: 1 +}; +/** + * A carousel allows multiple pieces of featured content to occupy an allocated amount of space. + * Currently panel index and auto play cannot be controlled by the app. + */ + +var carousel_Carousel = /*#__PURE__*/function (_React$Component) { + carousel_inherits(Carousel, _React$Component); + + var _super = carousel_createSuper(Carousel); + + // ### Display Name + // Always use the canonical component name as the React display name. + // ### Prop Types + // ### Default Props + function Carousel(props) { + var _this; + + carousel_classCallCheck(this, Carousel); + + _this = _super.call(this, props); + + carousel_defineProperty(carousel_assertThisInitialized(_this), "onNextPanelHandler", function (event) { + var next = _this.getCurrentPanel() + 1; + + if (next > _this.nrOfPanels - 1) { + next = 0; + } + + _this.setCurrentPanel(event, next, _this.changeTranslationAutomatically); + }); + + carousel_defineProperty(carousel_assertThisInitialized(_this), "onPreviousPanelHandler", function (event) { + var prev = _this.getCurrentPanel() - 1; + + if (prev < 0) { + prev = _this.nrOfPanels - 1; + } + + _this.setCurrentPanel(event, prev, _this.changeTranslationAutomatically); + }); + + carousel_defineProperty(carousel_assertThisInitialized(_this), "onIndicatorBlur", function () { + _this.setState({ + indicatorsHaveFocus: false + }); + }); + + carousel_defineProperty(carousel_assertThisInitialized(_this), "onIndicatorClickHandler", function (event, panel) { + _this.setCurrentPanel(event, panel, _this.changeTranslationAutomatically); + + _this.setState({ + indicatorsHaveFocus: true + }); + + if (_this.getIsAutoplayOn()) { + _this.stopAutoplay(event); + } + }); + + carousel_defineProperty(carousel_assertThisInitialized(_this), "onIndicatorFocus", function (event) { + _this.setState({ + indicatorsHaveFocus: true + }); + + if (_this.getIsAutoplayOn()) { + _this.stopAutoplay(event); + } + }); + + carousel_defineProperty(carousel_assertThisInitialized(_this), "onAutoplayBtnClick", function (event) { + var isAutoplayOn = _this.getIsAutoplayOn(); + + if (_this.props.onRequestAutoplayToggle) { + _this.props.onRequestAutoplayToggle(event, { + isAutoplayOn: isAutoplayOn + }); + } else { + var actionToTake = isAutoplayOn ? _this.stopAutoplay : _this.startAutoplay; + + _this.setState({ + isAutoplayOn: !isAutoplayOn + }); + + actionToTake(event); + } + }); + + carousel_defineProperty(carousel_assertThisInitialized(_this), "getPanelId", function (_ref) { + var carouselId = _ref.carouselId, + itemId = _ref.itemId; + return "content-id-".concat(carouselId, "-").concat(itemId); + }); + + carousel_defineProperty(carousel_assertThisInitialized(_this), "setDimensions", function () { + if (canUseDOM && _this.stageItem !== undefined && _this.stageItem.current !== undefined && _this.stageItem.current.offsetWidth !== undefined) { + _this.setState({ + stageWidth: _this.stageItem.current.offsetWidth + }, _this.changeTranslationAutomatically); + } + }); + + carousel_defineProperty(carousel_assertThisInitialized(_this), "setTranslationAmount", function (amount, cb) { + _this.setState({ + translateX: amount + }, cb); + }); + + carousel_defineProperty(carousel_assertThisInitialized(_this), "setCurrentPanel", function (event, amount, cb) { + if (_this.props.onRequestPanelChange) { + _this.props.onRequestPanelChange(event, { + currentPanel: _this.getCurrentPanel(), + requestedPanel: amount + }); + } else { + _this.setState({ + currentPanel: amount + }, cb); + } + }); + + carousel_defineProperty(carousel_assertThisInitialized(_this), "startAutoplay", function (event) { + _this.autoplayId = setInterval(function () { + if (_this.canGoToNext()) { + _this.onNextPanelHandler(event); + } else if (_this.props.isInfinite) { + _this.setCurrentPanel(event, 0, _this.changeTranslationAutomatically); + } else { + _this.stopAutoplay(event); + } + }, _this.props.autoplayInterval); + }); + + carousel_defineProperty(carousel_assertThisInitialized(_this), "stopAutoplay", function (event, ignoreCallbacksAndStateUpdates) { + if (_this.autoplayId) { + clearInterval(_this.autoplayId); + } + + if (!ignoreCallbacksAndStateUpdates) { + if (_this.props.onRequestAutoplayToggle) { + _this.props.onRequestAutoplayToggle(event, { + isAutoplayOn: _this.getIsAutoplayOn() + }); + } else { + _this.setState({ + isAutoplayOn: false + }); + } + } + }); + + carousel_defineProperty(carousel_assertThisInitialized(_this), "changeTranslationAutomatically", function () { + _this.setTranslationAmount(-((_this.state.stageWidth || _this.stageWidth) * _this.getCurrentPanel())); + }); + + carousel_defineProperty(carousel_assertThisInitialized(_this), "canGoToNext", function () { + return _this.getCurrentPanel() < _this.nrOfPanels - 1; + }); + + carousel_defineProperty(carousel_assertThisInitialized(_this), "canGoToPrevious", function () { + return _this.getCurrentPanel() > 0; + }); + + carousel_defineProperty(carousel_assertThisInitialized(_this), "handleKeyDown", function (event) { + var _keyDownCallbacks; + + var keyDownCallbacks = (_keyDownCallbacks = {}, carousel_defineProperty(_keyDownCallbacks, key_code.LEFT, function () { + if (_this.props.isInfinite || _this.canGoToPrevious()) { + _this.onPreviousPanelHandler(event); + + _this.setState({ + indicatorsHaveFocus: true + }); + + if (_this.getIsAutoplayOn()) { + _this.stopAutoplay(event); + } + } + }), carousel_defineProperty(_keyDownCallbacks, key_code.RIGHT, function () { + if (_this.props.isInfinite || _this.canGoToNext()) { + _this.onNextPanelHandler(event); + + _this.setState({ + indicatorsHaveFocus: true + }); + + if (_this.getIsAutoplayOn()) { + _this.stopAutoplay(event); + } + } + }), _keyDownCallbacks); + + if (keyDownCallbacks[event.keyCode]) { + utilities_event.trapImmediate(event); + keyDownCallbacks[event.keyCode](); + } + }); + + _this.nrOfPanels = Math.ceil(props.items.length / props.itemsPerPanel); + _this.stageItem = /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createRef(); + _this.state = { + currentPanel: props.currentPanel !== undefined ? props.currentPanel : 0, + indicatorsHaveFocus: false, + isAutoplayOn: props.isAutoplayOn !== undefined ? props.isAutoplayOn : props.hasAutoplay, + stageWidth: 0, + translateX: -1000000 + }; + _this.generatedId = shortid_default.a.generate(); + return _this; + } + + carousel_createClass(Carousel, [{ + key: "componentDidMount", + value: function componentDidMount() { + if (canUseDOM && this.stageItem !== undefined && this.stageItem.current !== undefined && this.stageItem.current.offsetWidth !== undefined) { + this.stageWidth = this.stageItem.current.offsetWidth; + } + + if (canUseEventListeners) { + window.addEventListener('resize', this.setDimensions, false); + } + + this.changeTranslationAutomatically(); + + if (this.getIsAutoplayOn()) { + this.startAutoplay({ + mountAutoplayEvent: true + }); + } + } + }, { + key: "componentDidUpdate", + value: function componentDidUpdate(prevProps) { + if (this.props.currentPanel !== undefined && prevProps.currentPanel !== this.props.currentPanel) { + this.changeTranslationAutomatically(); + } + + if (this.props.isAutoplayOn !== undefined && prevProps.isAutoplayOn !== this.props.isAutoplayOn) { + if (this.props.isAutoplayOn) { + this.startAutoplay({ + updateAutoplayEvent: true + }); + } else { + this.stopAutoplay({ + updateAutoplayEvent: true + }, true); + } + } + + if (prevProps.items.length !== this.props.items.length || prevProps.itemsPerPanel !== this.props.itemsPerPanel) { + this.nrOfPanels = Math.ceil(this.props.items.length / this.props.itemsPerPanel); + } + } + }, { + key: "componentWillUnmount", + value: function componentWillUnmount() { + if (canUseEventListeners) { + window.removeEventListener('resize', this.setDimensions, false); + } + + this.stopAutoplay({ + unmountAutoplayEvent: true + }, true); + } + }, { + key: "getCurrentPanel", + value: function getCurrentPanel() { + return this.props.currentPanel !== undefined ? this.props.currentPanel : this.state.currentPanel; + } + }, { + key: "getIsAutoplayOn", + value: function getIsAutoplayOn() { + return this.props.isAutoplayOn !== undefined ? this.props.isAutoplayOn : this.state.isAutoplayOn; + } + }, { + key: "render", + value: function render() { + var _this2 = this; + + var _this$props = this.props, + hasAutoplay = _this$props.hasAutoplay, + hasPreviousNextPanelNavigation = _this$props.hasPreviousNextPanelNavigation, + isInfinite = _this$props.isInfinite; + var currentPanel = this.getCurrentPanel(); + var id = this.props.id || this.generatedId; + var isPreviousBtnDisabled = !(isInfinite || this.canGoToPrevious()); + var isNextBtnDisabled = !(isInfinite || this.canGoToNext()); + var itemWidth = (this.state.stageWidth || this.stageWidth) / this.props.itemsPerPanel; + var carouselMargins = hasPreviousNextPanelNavigation ? { + marginLeft: '44px', + marginRight: '44px' + } : {}; + return /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: classnames_default()('slds-carousel', this.props.className), + id: id, + onKeyDown: this.handleKeyDown + }, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: "slds-grid_vertical slds-col slds-path__scroller" + }, hasAutoplay && /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(auto_play_button, { + assistiveText: this.props.assistiveText.autoplayButton, + isAutoplayOn: this.getIsAutoplayOn(), + onClick: this.onAutoplayBtnClick + }), /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: "slds-is-relative", + style: carouselMargins + }, hasPreviousNextPanelNavigation && /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(previous_next_carousel_navigator, { + assistiveText: this.props.assistiveText.previousPanel, + iconName: "chevronleft", + isDisabled: isPreviousBtnDisabled, + onClick: function onClick(event) { + if (_this2.getIsAutoplayOn()) { + _this2.stopAutoplay(event); + } + + _this2.onPreviousPanelHandler(event); + }, + inlineStyle: { + left: '-38px' + } + }), /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + ref: this.stageItem, + className: "slds-carousel__stage slds-show" + }, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: "slds-carousel__panels slds-is-relative", + style: { + transform: "translateX(".concat(this.state.translateX, "px)") + } + }, this.props.items.map(function (item, index) { + return /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(carousel_item, carousel_extends({ + carouselId: id, + getPanelId: _this2.getPanelId, + onClick: function onClick(event) { + _this2.props.onItemClick(event, { + item: item + }); + }, + onFocus: function onFocus(event) { + if (_this2.getIsAutoplayOn()) { + _this2.stopAutoplay(event); + } + }, + onRenderItem: _this2.props.onRenderItem + }, item, { + isInCurrentPanel: index >= currentPanel * _this2.props.itemsPerPanel && index < currentPanel * _this2.props.itemsPerPanel + _this2.props.itemsPerPanel, + itemWidth: itemWidth, + key: item.id, + panelIndex: Math.ceil((index + 1) / _this2.props.itemsPerPanel) - 1 + })); + }))), hasPreviousNextPanelNavigation && /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(previous_next_carousel_navigator, { + assistiveText: this.props.assistiveText.nextPanel, + iconName: "chevronright", + isDisabled: isNextBtnDisabled, + onClick: function onClick(event) { + if (_this2.getIsAutoplayOn()) { + _this2.stopAutoplay(event); + } + + _this2.onNextPanelHandler(event); + }, + inlineStyle: { + right: '-38px' + } + })), /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(carousel_indicators, { + noOfIndicators: this.nrOfPanels, + carouselId: id, + currentIndex: currentPanel, + getPanelId: this.getPanelId, + hasFocus: this.state.indicatorsHaveFocus, + onBlur: this.onIndicatorBlur, + onClick: this.onIndicatorClickHandler, + onFocus: this.onIndicatorFocus, + items: this.props.items, + itemsPerPanel: this.props.itemsPerPanel + }))); + } + }]); + + return Carousel; +}(external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.Component); + +carousel_defineProperty(carousel_Carousel, "displayName", CAROUSEL); + +carousel_defineProperty(carousel_Carousel, "propTypes", { + /** + * Description of the carousel items for screen-readers. + */ + assistiveText: prop_types_default.a.object, + + /** + * Interval for the autoplay iteration + */ + autoplayInterval: prop_types_default.a.number, + + /** + * CSS classes that are applied to the main 'slds-carousel' classed component container + */ + className: prop_types_default.a.oneOfType([prop_types_default.a.array, prop_types_default.a.object, prop_types_default.a.string]), + + /** + * Dictates the currently active/visible carousel panel. Use with `onRequestPanelChange` for a controlled carousel component. If not provided, the carousel will manage this itself via state. + */ + currentPanel: prop_types_default.a.number, + + /** + * Boolean showing whether the autoplay button is available or not + */ + hasAutoplay: prop_types_default.a.bool, + + /** + * Boolean for displaying the navigation indicators (left/right arrows) of the carousel + */ + hasPreviousNextPanelNavigation: prop_types_default.a.bool, + + /** + * Id of component, if desired. If not provided an id is automatically generated + */ + id: prop_types_default.a.string, + + /** + * Boolean that dictates whether autoplay is active or not. Use with `onRequestAutoplayToggle` for a controlled carousel component. + */ + isAutoplayOn: prop_types_default.a.bool, + + /** + * Boolean for infinite loop navigation. Note: if not true autoplay will stop automatically at the last panel. + */ + isInfinite: prop_types_default.a.bool, + + /** + * * **Array of item objects used by the default carousel item renderer.** + * Each object can contain: + * * `id`: The id of the carousel item. [REQUIRED] + * * `heading`: Primary string that will be used as the heading + * * `description`: Secondary string that is used to describe the item + * * `buttonLabel`: If assigned a call to button action will be rendered with this text, if unassigned no button is rendered + * * `imageAssistiveText`: Image alt text, if not present heading will be used instead + * * `href`: Used for item link, if not provided 'javascript:void(0);' is used instead + * * `src`: Item image src value + */ + items: prop_types_default.a.array.isRequired, + + /** + * Number of items to be displayed at a time in the carousel + */ + itemsPerPanel: prop_types_default.a.number, + + /** + * Accepts a custom carousel item rendering function + */ + onRenderItem: prop_types_default.a.func, + + /** + * Called whenever `isAutoplayOn` is requested to be toggled on or off. Use with `isAutoplayOn` prop for a controlled carousel component. Passes an event object and a data object with the current `isAutoplayOn` value as an attribute. + */ + onRequestAutoplayToggle: prop_types_default.a.func, + + /** + * Called whenever the panel is requested to change due to user interaction or auto-play. Use with `currentPanel` for a controlled carousel component. Passes an event object and a data object with `currentPanel` and `requestedPanel` attributes. + */ + onRequestPanelChange: prop_types_default.a.func, + + /** + * Handler for clicking on a carousel item + */ + onItemClick: prop_types_default.a.func +}); + +carousel_defineProperty(carousel_Carousel, "defaultProps", carousel_defaultProps); + +/* harmony default export */ var carousel = (carousel_Carousel); +// CONCATENATED MODULE: ./utilities/warning/deprecated-event-parameter.js +/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */ + +/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */ + +/* eslint-disable import/no-mutable-exports */ + +/* eslint-disable max-len */ +// This function will deliver a warning message to the browser console about an event parameter change. + + +var deprecated_event_parameter_deprecated = function deprecatedFunction() {}; + +if (false) { var deprecated_event_parameter_hasWarned; } + +/* harmony default export */ var deprecated_event_parameter = (deprecated_event_parameter_deprecated); +// CONCATENATED MODULE: ./components/checkbox/check-props.js +/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */ + +/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */ + +/* eslint-disable import/no-mutable-exports */ + +/* eslint-disable max-len */ + + + + + +var checkbox_check_props_checkProps = function checkPropsFunction() {}; + +if (false) {} + +/* harmony default export */ var checkbox_check_props = (checkbox_check_props_checkProps); +// EXTERNAL MODULE: ./components/checkbox/component.json +var checkbox_component = __webpack_require__(41); + +// CONCATENATED MODULE: ./components/checkbox/index.jsx +function checkbox_typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { checkbox_typeof = function _typeof(obj) { return typeof obj; }; } else { checkbox_typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return checkbox_typeof(obj); } + +function checkbox_ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; } + +function checkbox_objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { checkbox_ownKeys(Object(source), true).forEach(function (key) { checkbox_defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { checkbox_ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; } + +function checkbox_extends() { checkbox_extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return checkbox_extends.apply(this, arguments); } + +function checkbox_classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function checkbox_defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function checkbox_createClass(Constructor, protoProps, staticProps) { if (protoProps) checkbox_defineProperties(Constructor.prototype, protoProps); if (staticProps) checkbox_defineProperties(Constructor, staticProps); return Constructor; } + +function checkbox_inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) checkbox_setPrototypeOf(subClass, superClass); } + +function checkbox_setPrototypeOf(o, p) { checkbox_setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return checkbox_setPrototypeOf(o, p); } + +function checkbox_createSuper(Derived) { var hasNativeReflectConstruct = checkbox_isNativeReflectConstruct(); return function _createSuperInternal() { var Super = checkbox_getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = checkbox_getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return checkbox_possibleConstructorReturn(this, result); }; } + +function checkbox_possibleConstructorReturn(self, call) { if (call && (checkbox_typeof(call) === "object" || typeof call === "function")) { return call; } return checkbox_assertThisInitialized(self); } + +function checkbox_assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +function checkbox_isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } } + +function checkbox_getPrototypeOf(o) { checkbox_getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return checkbox_getPrototypeOf(o); } + +function checkbox_defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +/* eslint-disable react/jsx-curly-brace-presence */ + +/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */ + +/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */ +// # Checkbox Component +// Implements the [Checkbox design pattern](https://www.lightningdesignsystem.com/components/forms/#checkbox) in React. + + + // ### shortid +// [npmjs.com/package/shortid](https://www.npmjs.com/package/shortid) +// shortid is a short, non-sequential, url-friendly, unique id generator + + // ### Event Helpers + + + // This component's `checkProps` which issues warnings to developers about properties when in development mode (similar to React's built in development tools) + + + + + + +var checkbox_propTypes = { + /** + * An HTML ID that is shared with ARIA-supported devices with the + * `aria-controls` attribute in order to relate the input with + * another region of the page. An example would be a select box + * that shows or hides a panel. + */ + 'aria-controls': prop_types_default.a.string, + + /** + * The `aria-describedby` attribute is used to indicate the IDs of the elements that describe the object. It is used to establish a relationship between widgets or groups and text that described them. This is very similar to aria-labelledby: a label describes the essence of an object, while a description provides more information that the user might need. + */ + 'aria-describedby': prop_types_default.a.string, + + /** + * The aria-labelledby attribute establishes relationships between objects and their label(s), and its value should be one or more element IDs, which refer to elements that have the text needed for labeling. List multiple element IDs in a space delimited fashion. + */ + 'aria-labelledby': prop_types_default.a.string, + + /** + * `aria-owns` indicate that an element depends on the current one when the relation can't be determined by the hierarchy structure. + */ + 'aria-owns': prop_types_default.a.string, + + /** + * The `aria-required` attribute is used to indicate that user input is required on an element before a form can be submitted. + */ + 'aria-required': prop_types_default.a.bool, + + /** + * **Assistive text for accessibility** + * This object is merged with the default props object on every render. + * * `heading`: This is used as a visually hidden label if, no `labels.heading` is provided. + * * `label`: This is used as a visually hidden label if, no `labels.label` is provided. + */ + assistiveText: prop_types_default.a.shape({ + heading: prop_types_default.a.string, + label: prop_types_default.a.string + }), + + /** + * The Checkbox should be a controlled component, and will always be in the state specified. If checked is not defined, the state of the uncontrolled native `input` component will be used. + */ + checked: prop_types_default.a.bool, + + /** + * This is the initial value of an uncontrolled form element and is present only + * to provide compatibility with hybrid framework applications that are not + * entirely React. It should only be used in an application without centralized + * state (Redux, Flux). "Controlled components" with centralized state is highly recommended. See [Code Overview](https://github.com/salesforce/design-system-react/blob/master/docs/codebase-overview.md#controlled-and-uncontrolled-components) for more information. + */ + defaultChecked: prop_types_default.a.bool, + + /** + * Class names to be added to the outer container of the Checkbox. + */ + className: prop_types_default.a.oneOfType([prop_types_default.a.array, prop_types_default.a.object, prop_types_default.a.string]), + + /** + * Disables the Checkbox and prevents clicking it. + */ + disabled: prop_types_default.a.bool, + + /** + * Message to display when the Checkbox is in an error state. When this is present, also visually highlights the component as in error. + */ + errorText: prop_types_default.a.string, + + /** + * A unique ID is needed in order to support keyboard navigation and ARIA support. This ID is added to the `input` element + */ + id: prop_types_default.a.string, + + /** + * The Checkbox will be indeterminate if its state can not be figured out or is partially checked. Once a checkbox is indeterminate, a click should cause it to be checked. Since a user cannot put a checkbox into an indeterminate state, it is assumed you are controlling the value of `checked` with the parent, also, and that this is a controlled component. **Note:** `indeterminate` proptype does nothing in the `toggle` variant, as [SLDS does not support it](https://lightningdesignsystem.com/components/forms/#flavor-checkbox-toggle-checkbox-toggle). + */ + indeterminate: prop_types_default.a.bool, + + /** + * **Text labels for internationalization** + * This object is merged with the default props object on every render. + * * `heading`: Heading for the visual picker variant + * * `label`: Label for the _enabled_ state of the Toggle variant. Defaults to "Enabled". + * * `toggleDisabled`: Label for the _disabled_ state of the Toggle variant. Defaults to "Disabled". Note that this uses SLDS language, and meaning, of "Enabled" and "Disabled"; referring to the state of whatever the checkbox is _toggling_, not whether the checkbox itself is enabled or disabled. + * * `toggleEnabled`: Label for the _enabled_ state of the Toggle variant. Defaults to "Enabled". + */ + labels: prop_types_default.a.shape({ + heading: prop_types_default.a.string, + label: prop_types_default.a.string, + toggleDisabled: prop_types_default.a.string, + toggleEnabled: prop_types_default.a.string + }), + + /** + * Name of the submitted form parameter. + */ + name: prop_types_default.a.string, + + /** + * This event fires when the Checkbox looses focus. It passes in `{ event }`. + */ + onBlur: prop_types_default.a.func, + + /** + * This event fires when the Checkbox changes. Passes in `event, { checked }`. This used to be `checked, event, { checked }`. + */ + onChange: prop_types_default.a.func, + + /** + * This event fires when the Checkbox is focused. It passes in `{ event }`. + */ + onFocus: prop_types_default.a.func, + + /** + * This event fires when a key is pressed down. It passes in `{ event }`. + */ + onKeyDown: prop_types_default.a.func, + + /** + * This event fires when a character is typed. See [this article](http://www.bloggingdeveloper.com/post/KeyPress-KeyDown-KeyUp-The-Difference-Between-Javascript-Key-Events.aspx) for more information. It passes in `{ event }`. + */ + onKeyPress: prop_types_default.a.func, + + /** + * This event fires when a pressed key is released. It passes in `{ event }`. + */ + onKeyUp: prop_types_default.a.func, + + /** + * Displays the value of the input, but does not allow changes. + */ + readOnly: prop_types_default.a.bool, + + /** + * Highlights the Checkbox as a required field (does not perform any validation). + */ + required: prop_types_default.a.bool, + + /** + * The aria-role of the checkbox. + */ + role: prop_types_default.a.string, + + /** + * Which UX pattern of checkbox? The default is `base` while other option is `toggle`. (**Note:** `toggle` variant does not support the `indeterminate` feature, because [SLDS does not support it](https://lightningdesignsystem.com/components/forms/#flavor-checkbox-toggle-checkbox-toggle).) + */ + variant: prop_types_default.a.oneOf(['base', 'toggle', 'button-group', 'visual-picker']), + + /** + * Determines whether visual picker is coverable when selected (only for visual picker variant) + */ + coverable: prop_types_default.a.bool, + + /** + * Determines whether the visual picker should be vertical or horizontal (only for visual picker variant) + */ + vertical: prop_types_default.a.bool, + + /** + * Allows icon to shown with checkbox (only for non-coverable visual picker variant) + */ + onRenderVisualPicker: prop_types_default.a.func, + + /** + * Allows icon to shown if checkbox is not selected (only for visual picker variant) + */ + onRenderVisualPickerSelected: prop_types_default.a.func, + + /** + * Allows icon to shown if checkbox is not selected (only for visual picker variant) + */ + onRenderVisualPickerNotSelected: prop_types_default.a.func, + + /** + * Size of checkbox in case of visual composer variant + */ + size: prop_types_default.a.oneOf(['medium', 'large']) +}; +var checkbox_defaultProps = { + assistiveText: {}, + labels: { + toggleDisabled: 'Disabled', + toggleEnabled: 'Enabled' + }, + variant: 'base' +}; +/** + * The ability to style checkboxes with CSS varies across browsers. Using this component ensures checkboxes look the same everywhere. + */ + +var checkbox_Checkbox = /*#__PURE__*/function (_React$Component) { + checkbox_inherits(Checkbox, _React$Component); + + var _super = checkbox_createSuper(Checkbox); + + function Checkbox(_props) { + var _this; + + checkbox_classCallCheck(this, Checkbox); + + _this = _super.call(this, _props); + + checkbox_defineProperty(checkbox_assertThisInitialized(_this), "getId", function () { + return _this.props.id || _this.generatedId; + }); + + checkbox_defineProperty(checkbox_assertThisInitialized(_this), "getErrorId", function () { + return _this.props.errorText ? "".concat(_this.getId(), "-error-text") : undefined; + }); + + checkbox_defineProperty(checkbox_assertThisInitialized(_this), "getAriaDescribedBy", function () { + var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}, + _ref$idArray = _ref.idArray, + idArray = _ref$idArray === void 0 ? [] : _ref$idArray; + + return idArray.concat(_this.props['aria-describedby'], _this.getErrorId()).filter(Boolean).join(' ') || undefined; + }); + + checkbox_defineProperty(checkbox_assertThisInitialized(_this), "handleChange", function (event) { + var _this$props = _this.props, + checked = _this$props.checked, + indeterminate = _this$props.indeterminate, + onChange = _this$props.onChange; + + if (typeof onChange === 'function') { + // `target.checked` is present twice to maintain backwards compatibility. Please remove first parameter `value` on the next breaking change or when `forms/checkbox` is removed. + if (_this.props.oldEventParameterOrder) { + onChange(event.target.checked, event, { + checked: indeterminate ? true : !checked, + indeterminate: false + }); + } else { + // NEW API + onChange(event, { + checked: indeterminate ? true : !checked, + indeterminate: false + }); + } + } + }); + + checkbox_defineProperty(checkbox_assertThisInitialized(_this), "handleKeyDown", function (event) { + if (event.keyCode) { + if (event.keyCode === key_code.ENTER || event.keyCode === key_code.SPACE) { + utilities_event.trapImmediate(event); + + _this.handleChange(event); + } + } + }); + + checkbox_defineProperty(checkbox_assertThisInitialized(_this), "renderButtonGroupVariant", function (props, ariaProps, assistiveText, labels) { + return /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("span", { + className: "slds-button slds-checkbox_button" + }, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("input", checkbox_extends({ + disabled: props.disabled + /* A form element should not have both checked and defaultChecked props. */ + + }, props.checked !== undefined ? { + checked: props.checked + } : { + defaultChecked: props.defaultChecked + }, { + id: _this.getId(), + name: props.name, + onBlur: props.onBlur, + onChange: _this.handleChange, + onFocus: props.onFocus, + onKeyDown: props.onKeyDown, + onKeyPress: props.onKeyPress, + onKeyUp: props.onKeyUp, + ref: function ref(component) { + _this.input = component; + }, + role: props.role, + required: props.required, + type: "checkbox" + }, ariaProps, { + "aria-describedby": _this.getAriaDescribedBy() + })), /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("label", { + className: "slds-checkbox_button__label", + htmlFor: _this.getId() + }, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("span", { + className: "slds-checkbox_faux" + }, labels.label), assistiveText.label ? /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("span", { + className: "slds-assistive-text" + }, assistiveText.label) : null)); + }); + + checkbox_defineProperty(checkbox_assertThisInitialized(_this), "renderBaseVariant", function (props, ariaProps, assistiveText, labels) { + return /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: classnames_default()('slds-form-element', { + 'is-required': props.required, + 'slds-has-error': props.errorText + }, props.className) + }, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: "slds-form-element__control" + }, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("span", { + className: "slds-checkbox" + }, props.required ? /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("abbr", { + className: "slds-required", + title: "required" + }, '*') : null, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("input", checkbox_extends({ + disabled: props.disabled + /* A form element should not have both checked and defaultChecked props. */ + + }, props.checked !== undefined ? { + checked: props.checked + } : { + defaultChecked: props.defaultChecked + }, { + id: _this.getId(), + name: props.name, + onBlur: props.onBlur, + onChange: _this.handleChange, + onFocus: props.onFocus, + onKeyDown: props.onKeyDown, + onKeyPress: props.onKeyPress, + onKeyUp: props.onKeyUp, + ref: function ref(component) { + if (component) { + // eslint-disable-next-line no-param-reassign + component.indeterminate = props.indeterminate; + } + + _this.input = component; + }, + role: props.role, + required: props.required, + type: "checkbox" + }, ariaProps, { + "aria-describedby": _this.getAriaDescribedBy() + })), /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("label", { + className: "slds-checkbox__label", + htmlFor: _this.getId(), + id: props.labelId + }, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("span", { + className: "slds-checkbox_faux" + }), labels.label ? /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("span", { + className: "slds-form-element__label" + }, labels.label) : null, assistiveText.label ? /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("span", { + className: "slds-assistive-text" + }, assistiveText.label) : null))), props.errorText ? /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: "slds-form-element__help", + id: _this.getErrorId() + }, props.errorText) : null); + }); + + checkbox_defineProperty(checkbox_assertThisInitialized(_this), "renderToggleVariant", function (props, ariaProps, assistiveText, labels) { + return /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: classnames_default()('slds-form-element', { + 'is-required': props.required, + 'slds-has-error': props.errorText + }, props.className) + }, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("label", { + className: "slds-checkbox_toggle slds-grid", + htmlFor: _this.getId() + }, props.required ? /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("abbr", { + className: "slds-required", + title: "required" + }, '*') : null, labels.label ? /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("span", { + className: "slds-form-element__label slds-m-bottom_none" + }, labels.label) : null, assistiveText.label ? /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("span", { + className: "slds-assistive-text" + }, assistiveText.label) : null, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("input", checkbox_extends({ + disabled: props.disabled, + id: _this.getId() + /* A form element should not have both checked and defaultChecked props. */ + + }, props.checked !== undefined ? { + checked: props.checked + } : { + defaultChecked: props.defaultChecked + }, { + name: props.name, + onBlur: props.onBlur, + onChange: _this.handleChange, + onFocus: props.onFocus, + onKeyDown: props.onKeyDown, + onKeyPress: props.onKeyPress, + onKeyUp: props.onKeyUp, + ref: function ref(component) { + _this.input = component; + }, + role: props.role, + required: props.required, + type: "checkbox" + }, ariaProps, { + "aria-describedby": _this.getAriaDescribedBy({ + idArray: ["".concat(_this.getId(), "-desc")] + }) + })), /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("span", { + id: "".concat(_this.getId(), "-desc"), + className: "slds-checkbox_faux_container", + "aria-live": "assertive" + }, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("span", { + className: "slds-checkbox_faux" + }), /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("span", { + className: "slds-checkbox_on" + }, labels.toggleEnabled), /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("span", { + className: "slds-checkbox_off" + }, labels.toggleDisabled))), props.errorText ? /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: "slds-form-element__help", + id: _this.getErrorId() + }, props.errorText) : null); + }); + + checkbox_defineProperty(checkbox_assertThisInitialized(_this), "renderVisualPickerVariant", function (props, ariaProps, assistiveText) { + return /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("span", { + className: classnames_default()('slds-visual-picker', "slds-visual-picker_".concat(_this.props.size), _this.props.vertical ? 'slds-visual-picker_vertical' : null) + }, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("input", checkbox_extends({ + disabled: props.disabled + /* A form element should not have both checked and defaultChecked props. */ + + }, props.checked !== undefined ? { + checked: props.checked + } : { + defaultChecked: props.defaultChecked + }, { + id: _this.getId(), + name: props.name, + onBlur: props.onBlur, + onChange: _this.handleChange, + onFocus: props.onFocus, + onKeyDown: props.onKeyDown, + onKeyPress: props.onKeyPress, + onKeyUp: props.onKeyUp, + ref: function ref(component) { + _this.input = component; + }, + role: props.role, + required: props.required, + type: "checkbox" + }, ariaProps, { + "aria-describedby": _this.getAriaDescribedBy() + })), /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("label", { + className: "slds-checkbox_button__label", + htmlFor: _this.getId() + }, _this.props.coverable ? /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: "slds-visual-picker__figure slds-visual-picker__icon slds-align_absolute-center" + }, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("span", { + className: "slds-is-selected" + }, _this.props.onRenderVisualPickerSelected()), /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("span", { + className: "slds-is-not-selected" + }, _this.props.onRenderVisualPickerNotSelected())) : /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("span", { + className: "slds-visual-picker__figure slds-visual-picker__text slds-align_absolute-center" + }, _this.props.onRenderVisualPicker()), !_this.props.vertical ? /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("span", { + className: "slds-visual-picker__body" + }, _this.props.labels.heading ? /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("span", { + className: "slds-text-heading_small" + }, _this.props.labels.heading) : null, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("span", { + className: "slds-text-title" + }, _this.props.labels.label), assistiveText.label || assistiveText.heading ? /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("span", { + className: "slds-assistive-text" + }, assistiveText.label || assistiveText.heading) : null) : null, !_this.props.coverable ? /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("span", { + className: "slds-icon_container slds-visual-picker__text-check" + }, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(components_icon, { + assistiveText: _this.props.assistiveText, + category: "utility", + name: "check", + colorVariant: "base", + size: "x-small" + })) : null)); + }); + + checkbox_check_props(CHECKBOX, _this.props, checkbox_component); + _this.generatedId = shortid_default.a.generate(); + return _this; + } + + checkbox_createClass(Checkbox, [{ + key: "render", + value: function render() { + var ariaProps = getAriaProps(this.props); + + if (this.props.variant === 'toggle') { + ariaProps['aria-describedby'] = "".concat(this.getId(), "-desc"); + } + + var assistiveText = checkbox_objectSpread(checkbox_objectSpread(checkbox_objectSpread({}, checkbox_defaultProps.assistiveText), typeof this.props.assistiveText === 'string' ? { + label: this.props.assistiveText + } : {}), checkbox_typeof(this.props.assistiveText) === 'object' ? this.props.assistiveText : {}); + + var labels = checkbox_objectSpread(checkbox_objectSpread(checkbox_objectSpread({}, checkbox_defaultProps.labels), this.props.label ? { + label: this.props.label + } : {}), this.props.labels); + + var subRenders = { + base: this.renderBaseVariant, + 'button-group': this.renderButtonGroupVariant, + toggle: this.renderToggleVariant, + 'visual-picker': this.renderVisualPickerVariant + }; + var variantExists = subRenders[this.props.variant]; + return variantExists ? subRenders[this.props.variant](this.props, ariaProps, assistiveText, labels) : subRenders.base(this.props, ariaProps, assistiveText, labels); + } + }]); + + return Checkbox; +}(external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.Component); + +checkbox_Checkbox.displayName = CHECKBOX; +checkbox_Checkbox.propTypes = checkbox_propTypes; +checkbox_Checkbox.defaultProps = checkbox_defaultProps; +/* harmony default export */ var components_checkbox = (checkbox_Checkbox); +// CONCATENATED MODULE: ./components/color-picker/check-props.js +/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */ + +/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */ + +/* eslint-disable import/no-mutable-exports */ + + + +var color_picker_check_props_checkProps = function checkPropsFunction() {}; + +if (false) {} + +/* harmony default export */ var color_picker_check_props = (color_picker_check_props_checkProps); +// CONCATENATED MODULE: ./components/color-picker/private/custom-color-form.jsx +function custom_color_form_typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { custom_color_form_typeof = function _typeof(obj) { return typeof obj; }; } else { custom_color_form_typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return custom_color_form_typeof(obj); } + +function custom_color_form_classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function custom_color_form_defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function custom_color_form_createClass(Constructor, protoProps, staticProps) { if (protoProps) custom_color_form_defineProperties(Constructor.prototype, protoProps); if (staticProps) custom_color_form_defineProperties(Constructor, staticProps); return Constructor; } + +function custom_color_form_inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) custom_color_form_setPrototypeOf(subClass, superClass); } + +function custom_color_form_setPrototypeOf(o, p) { custom_color_form_setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return custom_color_form_setPrototypeOf(o, p); } + +function custom_color_form_createSuper(Derived) { var hasNativeReflectConstruct = custom_color_form_isNativeReflectConstruct(); return function _createSuperInternal() { var Super = custom_color_form_getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = custom_color_form_getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return custom_color_form_possibleConstructorReturn(this, result); }; } + +function custom_color_form_possibleConstructorReturn(self, call) { if (call && (custom_color_form_typeof(call) === "object" || typeof call === "function")) { return call; } return custom_color_form_assertThisInitialized(self); } + +function custom_color_form_assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +function custom_color_form_isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } } + +function custom_color_form_getPrototypeOf(o) { custom_color_form_getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return custom_color_form_getPrototypeOf(o); } + +function custom_color_form_defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + + + + + +var custom_color_form_CustomColorForm = /*#__PURE__*/function (_React$Component) { + custom_color_form_inherits(CustomColorForm, _React$Component); + + var _super = custom_color_form_createSuper(CustomColorForm); + + function CustomColorForm() { + custom_color_form_classCallCheck(this, CustomColorForm); + + return _super.apply(this, arguments); + } + + custom_color_form_createClass(CustomColorForm, [{ + key: "render", + value: function render() { + var describedBy; + + if (this.props.errorTextWorkingColor || this.props.color.errors) { + describedBy = "color-picker-custom-error-".concat(this.props.id); + } + + return /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: "slds-color-picker__custom-inputs" + }, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(input, { + "aria-describedby": describedBy, + className: classnames_default()('slds-color-picker__input-custom-hex', { + 'slds-has-error': this.props.color.errors && this.props.color.errors.hex + }), + id: "color-picker-input-hex-".concat(this.props.id), + label: this.props.labels.hexLabel, + maxLength: "7", + onChange: this.props.onHexChange, + value: this.props.color.hex + }), /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(input, { + "aria-describedby": describedBy, + className: classnames_default()('slds-color-picker__input-custom-r', { + 'slds-has-error': this.props.color.errors && this.props.color.errors.red + }), + id: "color-picker-input-r-".concat(this.props.id), + label: this.props.labels.redAbbreviated, + onChange: this.props.onRedChange, + maxLength: "3", + value: String(this.props.color.rgb.red) + }), /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(input, { + "aria-describedby": describedBy, + className: classnames_default()('slds-color-picker__input-custom-g', { + 'slds-has-error': this.props.color.errors && this.props.color.errors.green + }), + id: "color-picker-input-g-".concat(this.props.id), + label: this.props.labels.greenAbbreviated, + onChange: this.props.onGreenChange, + maxLength: "3", + value: String(this.props.color.rgb.green) + }), /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(input, { + "aria-describedby": describedBy, + className: classnames_default()('slds-color-picker__input-custom-b', { + 'slds-has-error': this.props.color.errors && this.props.color.errors.blue + }), + id: "color-picker-input-b-".concat(this.props.id), + label: this.props.labels.blueAbbreviated, + onChange: this.props.onBlueChange, + maxLength: "3", + value: String(this.props.color.rgb.blue) + })); + } + }]); + + return CustomColorForm; +}(external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.Component); + +custom_color_form_defineProperty(custom_color_form_CustomColorForm, "displayName", 'SLDSCustomColorForm'); + +/* harmony default export */ var custom_color_form = (custom_color_form_CustomColorForm); +// CONCATENATED MODULE: ./components/radio-group/index.jsx +function radio_group_typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { radio_group_typeof = function _typeof(obj) { return typeof obj; }; } else { radio_group_typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return radio_group_typeof(obj); } + +function radio_group_ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; } + +function radio_group_objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { radio_group_ownKeys(Object(source), true).forEach(function (key) { radio_group_defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { radio_group_ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; } + +function radio_group_defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +function radio_group_classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function radio_group_defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function radio_group_createClass(Constructor, protoProps, staticProps) { if (protoProps) radio_group_defineProperties(Constructor.prototype, protoProps); if (staticProps) radio_group_defineProperties(Constructor, staticProps); return Constructor; } + +function radio_group_inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) radio_group_setPrototypeOf(subClass, superClass); } + +function radio_group_setPrototypeOf(o, p) { radio_group_setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return radio_group_setPrototypeOf(o, p); } + +function radio_group_createSuper(Derived) { var hasNativeReflectConstruct = radio_group_isNativeReflectConstruct(); return function _createSuperInternal() { var Super = radio_group_getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = radio_group_getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return radio_group_possibleConstructorReturn(this, result); }; } + +function radio_group_possibleConstructorReturn(self, call) { if (call && (radio_group_typeof(call) === "object" || typeof call === "function")) { return call; } return radio_group_assertThisInitialized(self); } + +function radio_group_assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +function radio_group_isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } } + +function radio_group_getPrototypeOf(o) { radio_group_getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return radio_group_getPrototypeOf(o); } + +/* eslint-disable react/jsx-curly-brace-presence */ + +/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */ + +/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */ +// Implements the [Radio Group design pattern](https://lightningdesignsystem.com/components/radio-group/) in React. +// Based on SLDS v2.5.0 + + + + + + +var radio_group_propTypes = { + /** + * **Assistive text for accessibility** + * * `label`: This label appears in the legend. + * * `required`: Text to help identify the group as required + */ + assistiveText: prop_types_default.a.shape({ + label: prop_types_default.a.string, + required: prop_types_default.a.string + }), + + /** + * Children are expected to be Radio components. + */ + children: prop_types_default.a.node.isRequired, + + /** + * Custom CSS classes added to the node. + */ + className: prop_types_default.a.oneOfType([prop_types_default.a.array, prop_types_default.a.object, prop_types_default.a.string]), + + /** + * **Text labels for internationalization** + * This object is merged with the default props object on every render. + * * `error`: Message to display when any of Checkboxes are in an error state. + * * `label`: This label appears above the radio group. + */ + labels: prop_types_default.a.shape({ + error: prop_types_default.a.string, + label: prop_types_default.a.string + }), + + /** + * This event fires when the radio selection changes. + */ + onChange: prop_types_default.a.func, + + /** + * Disable all radio inputs. + */ + disabled: prop_types_default.a.bool, + + /** + * Adds an indicator that this field is required. + */ + required: prop_types_default.a.bool, + + /** + * The name of this radio group. + */ + name: prop_types_default.a.string, + + /** + * The ID of the error message, for linking to radio inputs with aria-describedby. + */ + errorId: prop_types_default.a.string, + + /** + * Variants of radio groups such as Radio Button Group + */ + variant: prop_types_default.a.oneOf(['base', 'button-group']) +}; +var radio_group_defaultProps = { + assistiveText: { + required: 'Required' + }, + labels: {}, + variant: 'base' +}; +/** + * A styled select list that can have a single entry checked at any one time. + * The RadioGroup component wraps [Radio](/components/radios) components, which should be used as children. + */ + +var radio_group_RadioGroup = /*#__PURE__*/function (_React$Component) { + radio_group_inherits(RadioGroup, _React$Component); + + var _super = radio_group_createSuper(RadioGroup); + + function RadioGroup(props) { + var _this; + + radio_group_classCallCheck(this, RadioGroup); + + _this = _super.call(this, props); + _this.generatedName = shortid_default.a.generate(); + _this.generatedErrorId = shortid_default.a.generate(); + return _this; + } + + radio_group_createClass(RadioGroup, [{ + key: "getErrorId", + value: function getErrorId() { + if (this.hasError()) { + return this.props.errorId || this.generatedErrorId; + } + + return undefined; + } + }, { + key: "getName", + value: function getName() { + return this.props.name || this.generatedName; + } + }, { + key: "hasError", + value: function hasError() { + return !!this.labels.error; + } + }, { + key: "render", + value: function render() { + var _this2 = this; + + // Merge objects of strings with their default object + this.labels = this.props.labels ? lodash_assign_default()({}, radio_group_defaultProps.labels, this.props.labels) : radio_group_defaultProps.labels; + + var assistiveText = radio_group_objectSpread(radio_group_objectSpread({}, radio_group_defaultProps.assistiveText), this.props.assistiveText); + + var children = external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.Children.map(this.props.children, function (child) { + return /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.cloneElement(child, { + name: _this2.getName(), + onChange: _this2.props.onChange, + 'aria-describedby': _this2.getErrorId(), + disabled: _this2.props.disabled + }); + }); + return /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("fieldset", { + className: classnames_default()('slds-form-element', { + 'slds-has-error': this.labels.error + }) + }, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("legend", { + className: classnames_default()('slds-form-element__legend', 'slds-form-element__label', assistiveText.label ? 'slds-assistive-text' : '') + }, this.props.required ? /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("abbr", { + className: "slds-required", + title: "required" + }, '*', /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: "slds-assistive-text" + }, assistiveText.required, ' ')) : null, assistiveText.label ? assistiveText.label : this.labels.label), /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: classnames_default()('slds-form-element__control', this.props.className) + }, this.props.variant === 'button-group' ? /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + style: this.props.style, + className: "slds-radio_button-group" + }, children) : children, this.labels.error ? /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + id: this.getErrorId(), + className: "slds-form-element__help" + }, this.labels.error) : null)); + } + }]); + + return RadioGroup; +}(external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.Component); + +radio_group_RadioGroup.displayName = RADIO_GROUP; +radio_group_RadioGroup.propTypes = radio_group_propTypes; +radio_group_RadioGroup.defaultProps = radio_group_defaultProps; +/* harmony default export */ var radio_group = (radio_group_RadioGroup); +// CONCATENATED MODULE: ./components/radio-button-group/index.jsx +function radio_button_group_extends() { radio_button_group_extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return radio_button_group_extends.apply(this, arguments); } + +function radio_button_group_objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = radio_button_group_objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; } + +function radio_button_group_objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; } + +/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */ + +/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */ +// Implements the [Radio Button Group design pattern](https://lightningdesignsystem.com/components/radio-button-group/) in React. +// Based on SLDS v2.5.0 + + + + +var radio_button_group_propTypes = { + /** + * **Assistive text for accessibility** + * * `label`: This label appears in the legend. + */ + assistiveText: prop_types_default.a.shape({ + label: prop_types_default.a.string + }), + + /** + * Children are expected to be Radio components. + */ + children: prop_types_default.a.node.isRequired, + + /** + * Custom CSS classes added to `slds-radio_button-group` node. + */ + className: prop_types_default.a.oneOfType([prop_types_default.a.array, prop_types_default.a.object, prop_types_default.a.string]), + + /** + * **Text labels for internationalization** + * This object is merged with the default props object on every render. + * * `error`: Message to display when any of Checkboxes are in an error state. + * * `label`: This label appears above the button group. + */ + labels: prop_types_default.a.shape({ + error: prop_types_default.a.string, + label: prop_types_default.a.string + }), + + /** + * This event fires when the radio selection changes. + */ + onChange: prop_types_default.a.func, + + /** + * Disable all radio inputs. + */ + disabled: prop_types_default.a.bool, + + /** + * Adds an indicator that this field is required. + */ + required: prop_types_default.a.bool, + + /** + * The name of this radio group. + */ + name: prop_types_default.a.string, + + /** + * The ID of the error message, for linking to radio inputs with aria-describedby. + */ + errorId: prop_types_default.a.string +}; +var radio_button_group_defaultProps = { + labels: {}, + assistiveText: {} +}; +/** + * A styled select list that can have a single entry checked at any one time. + * The RadioButtonGroup component wraps [Radio](/components/radios) components, which should be used as children. + */ + +var radio_button_group_RadioButtonGroup = function RadioButtonGroup(props) { + // Separate props we care about in order to pass others along passively to the dropdown component + var variant = props.variant, + rest = radio_button_group_objectWithoutProperties(props, ["variant"]); + + return /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(radio_group, radio_button_group_extends({ + variant: "button-group" + }, rest)); +}; + +radio_button_group_RadioButtonGroup.displayName = RADIO_BUTTON_GROUP; +radio_button_group_RadioButtonGroup.propTypes = radio_button_group_propTypes; +radio_button_group_RadioButtonGroup.defaultProps = radio_button_group_defaultProps; +/* harmony default export */ var radio_button_group = (radio_button_group_RadioButtonGroup); +// CONCATENATED MODULE: ./components/color-picker/private/swatch.jsx +function swatch_ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; } + +function swatch_objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { swatch_ownKeys(Object(source), true).forEach(function (key) { swatch_defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { swatch_ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; } + +function swatch_defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + + + + +var swatch_Swatch = function Swatch(_ref) { + var color = _ref.color, + style = _ref.style, + label = _ref.label, + labels = _ref.labels; + + var innerStyle = swatch_objectSpread({ + backgroundColor: color + }, style); + + var assistiveText = label || color; // falsey values output a transparent swatch + + if (!color) { + innerStyle.backgroundImage = 'linear-gradient(-45deg, white 47%, #870500 0, #870500 53%, white 0)'; + + if (labels && labels.swatchTabTransparentSwatch) { + assistiveText = labels.swatchTabTransparentSwatch; + } + } + + return /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("span", { + className: "slds-swatch", + style: innerStyle + }, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("span", { + className: "slds-assistive-text" + }, assistiveText)); +}; + +swatch_Swatch.propTypes = { + color: prop_types_default.a.string.isRequired +}; +/* harmony default export */ var swatch = (swatch_Swatch); +// CONCATENATED MODULE: ./components/radio/check-props.js +/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */ + +/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */ + +/* eslint-disable import/no-mutable-exports */ + +/* eslint-disable max-len */ + + + +var radio_check_props_checkProps = function checkPropsFunction() {}; + +if (false) {} + +/* harmony default export */ var radio_check_props = (radio_check_props_checkProps); +// EXTERNAL MODULE: ./components/radio/component.json +var radio_component = __webpack_require__(42); + +// CONCATENATED MODULE: ./components/radio/index.jsx +function radio_typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { radio_typeof = function _typeof(obj) { return typeof obj; }; } else { radio_typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return radio_typeof(obj); } + +function radio_extends() { radio_extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return radio_extends.apply(this, arguments); } + +function radio_ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; } + +function radio_objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { radio_ownKeys(Object(source), true).forEach(function (key) { radio_defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { radio_ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; } + +function radio_classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function radio_defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function radio_createClass(Constructor, protoProps, staticProps) { if (protoProps) radio_defineProperties(Constructor.prototype, protoProps); if (staticProps) radio_defineProperties(Constructor, staticProps); return Constructor; } + +function radio_inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) radio_setPrototypeOf(subClass, superClass); } + +function radio_setPrototypeOf(o, p) { radio_setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return radio_setPrototypeOf(o, p); } + +function radio_createSuper(Derived) { var hasNativeReflectConstruct = radio_isNativeReflectConstruct(); return function _createSuperInternal() { var Super = radio_getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = radio_getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return radio_possibleConstructorReturn(this, result); }; } + +function radio_possibleConstructorReturn(self, call) { if (call && (radio_typeof(call) === "object" || typeof call === "function")) { return call; } return radio_assertThisInitialized(self); } + +function radio_assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +function radio_isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } } + +function radio_getPrototypeOf(o) { radio_getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return radio_getPrototypeOf(o); } + +function radio_defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */ + +/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */ + + + + + + + + + + // This component's `checkProps` which issues warnings to developers about properties when in development mode (similar to React's built in development tools) + + + +var radio_propTypes = { + /** + * **Assistive text for accessibility** + * This object is merged with the default props object on every render. + * * `label`: This is used as a visually hidden label if, no `labels.label` is provided. + */ + assistiveText: prop_types_default.a.shape({ + label: prop_types_default.a.string + }), + + /** + * The ID of an element that describes this radio input. Often used for error messages. + */ + 'aria-describedby': prop_types_default.a.string, + + /** + * The aria-labelledby attribute establishes relationships between objects and their label(s), and its value should be one or more element IDs, which refer to elements that have the text needed for labeling. List multiple element IDs in a space delimited fashion. + */ + 'aria-labelledby': prop_types_default.a.string, + + /** + * This is a controlled component. This radio is checked according to this value. + */ + checked: prop_types_default.a.bool, + + /** + * Class name to be passed to radio input wrapper ( `span` element) + */ + className: prop_types_default.a.oneOfType([prop_types_default.a.array, prop_types_default.a.object, prop_types_default.a.string]), + + /** + * This is the initial value of an uncontrolled form element and is present only to provide compatibility + * with hybrid framework applications that are not entirely React. It should only be used in an application + * without centralized state (Redux, Flux). "Controlled components" with centralized state is highly recommended. + * See [Code Overview](https://github.com/salesforce/design-system-react/blob/master/docs/codebase-overview.md#controlled-and-uncontrolled-components) for more information. + */ + defaultChecked: prop_types_default.a.bool, + + /** + * Disable this radio input. + */ + disabled: prop_types_default.a.bool, + + /** + * A unique ID that is used to associating a label to the `input` element. This ID is added to the `input` element. + */ + id: prop_types_default.a.string, + + /** + * **Text labels for internationalization** + * This object is merged with the default props object on every render. + * * `heading`: Heading for the visual picker variant + * * `label`: Label for the radio input + */ + labels: prop_types_default.a.shape({ + heading: prop_types_default.a.string, + label: prop_types_default.a.string + }), + + /** + * The name of the radio input group. + */ + name: prop_types_default.a.string, + + /** + * This event fires when the radio selection changes. Passes in `event, { checked }`. + */ + onChange: prop_types_default.a.func, + + /** + * The value of this radio input. + */ + value: prop_types_default.a.string, + + /** + * Variant of the Radio button. Base is the default and button-group makes the radio button look like a normal button (should be a child of <RadioButtonGroup>). + */ + variant: prop_types_default.a.oneOf(['base', 'button-group', 'swatch', 'visual-picker']), + + /** + * Determines whether visual picker is coverable when selected (only for visual picker variant) + */ + coverable: prop_types_default.a.bool, + + /** + * Determines whether the visual picker should be vertical or horizontal (only for visual picker variant) + */ + vertical: prop_types_default.a.bool, + + /** + * Allows icon to shown if radio is not selected (only for non-coverable visual picker variant) + */ + onRenderVisualPicker: prop_types_default.a.func, + + /** + * Allows icon to shown if radio is not selected (only for visual picker variant) + */ + onRenderVisualPickerSelected: prop_types_default.a.func, + + /** + * Allows icon to shown if radio is not selected (only for visual picker variant) + */ + onRenderVisualPickerNotSelected: prop_types_default.a.func, + + /** + * Shows description for radio option (only for visual picker variant) + */ + description: prop_types_default.a.string, + + /** + * Allows icon to shown if radio is not selected (only for visual picker variant) + */ + size: prop_types_default.a.oneOf(['medium', 'large']), + + /** + * Ref callback that will pass in the radio's `input` tag + */ + refs: prop_types_default.a.shape({ + input: prop_types_default.a.func + }) +}; +var radio_defaultProps = { + assistiveText: {}, + variant: 'base', + coverable: false +}; +/** + * A radio input that can have a single input checked at any one time. Radios should be wrapped with + * a [RadioGroup](/components/radio-group) or [RadioButtonGroup](/components/radio-button-group) + */ + +var radio_Radio = /*#__PURE__*/function (_React$Component) { + radio_inherits(Radio, _React$Component); + + var _super = radio_createSuper(Radio); + + function Radio(props) { + var _this; + + radio_classCallCheck(this, Radio); + + _this = _super.call(this, props); + + radio_defineProperty(radio_assertThisInitialized(_this), "handleChange", function (event, preventDuplicateChangeEvent) { + if (!_this.preventDuplicateChangeEvent) { + _this.preventDuplicateChangeEvent = Boolean(preventDuplicateChangeEvent); + + if (_this.props.onChange) { + _this.props.onChange(event, { + checked: !_this.props.checked + }); + } + } else { + _this.preventDuplicateChangeEvent = false; + } + }); + + _this.preventDuplicateChangeEvent = false; + return _this; + } // eslint-disable-next-line camelcase, react/sort-comp + + + radio_createClass(Radio, [{ + key: "UNSAFE_componentWillMount", + value: function UNSAFE_componentWillMount() { + radio_check_props(RADIO, this.props, radio_component); + this.generatedId = shortid_default.a.generate(); + } + }, { + key: "getId", + value: function getId() { + return this.props.id || this.generatedId; + } + }, { + key: "render", + value: function render() { + var _this2 = this; + + var ariaProps = getAriaProps(this.props); + var dataProps = getDataProps(this.props); + var radio; + + var labels = radio_objectSpread(radio_objectSpread(radio_objectSpread({}, radio_defaultProps.labels), this.props.label ? { + label: this.props.label + } : {}), this.props.labels); + + if (this.props.variant === 'swatch') { + radio = /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("label", { + style: { + border: '1px' + }, + className: "slds-radio_button__label", + htmlFor: this.getId() + }, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("span", null, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(swatch, { + label: labels.label, + style: this.props.style, + color: this.props.value + }))); + } else if (this.props.variant === 'button-group') { + radio = /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("label", { + className: "slds-radio_button__label", + htmlFor: this.getId() + }, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("span", { + className: "slds-radio_faux" + }, labels.label)); + } else if (this.props.variant === 'visual-picker') { + radio = /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("label", { + htmlFor: this.getId() + }, this.props.coverable ? /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: "slds-visual-picker__figure slds-visual-picker__icon slds-align_absolute-center" + }, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("span", { + className: "slds-is-selected" + }, this.props.onRenderVisualPickerSelected()), /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("span", { + className: "slds-is-not-selected" + }, this.props.onRenderVisualPickerNotSelected())) : /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("span", { + className: "slds-visual-picker__figure slds-visual-picker__text slds-align_absolute-center" + }, this.props.onRenderVisualPicker()), !this.props.vertical ? /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("span", { + className: "slds-visual-picker__body" + }, labels.heading ? /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("span", { + className: "slds-text-heading_small" + }, labels.heading) : null, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("span", { + className: "slds-text-title" + }, labels.label)) : null, !this.props.coverable ? /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("span", { + className: "slds-icon_container slds-visual-picker__text-check" + }, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(components_icon, { + assistiveText: this.props.assistiveText, + category: "utility", + name: "check", + colorVariant: "base", + size: "x-small" + })) : null); + } else { + radio = /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("label", { + className: "slds-radio__label", + htmlFor: this.getId(), + id: this.props.labelId + }, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("span", { + className: "slds-radio_faux" + }), /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("span", { + className: "slds-form-element__label" + }, labels.label), this.props.assistiveText.label ? /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("span", { + className: "slds-assistive-text" + }, this.props.assistiveText.label) : null); + } + + return /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("span", { + className: classnames_default()(this.props.variant === 'visual-picker' ? "slds-visual-picker_".concat(this.props.size) : null, { + 'slds-radio': this.props.variant === 'base' || this.props.variant === 'swatch', + 'slds-button slds-radio_button': this.props.variant === 'button-group', + 'slds-visual-picker': this.props.variant === 'visual-picker', + 'slds-visual-picker_vertical': this.props.variant === 'visual-picker' && this.props.vertical + }, this.props.className) + }, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("input", radio_extends({ + type: "radio", + id: this.getId(), + name: this.props.name, + value: this.props.value + /* A form element should not have both checked and defaultChecked props. */ + + }, this.props.checked !== undefined ? { + checked: this.props.checked + } : { + defaultChecked: this.props.defaultChecked + }, { + onChange: function onChange(event) { + _this2.handleChange(event); + }, + onClick: function onClick(event) { + if (_this2.props.checked && _this2.props.deselectable) { + _this2.handleChange(event); + } + }, + onKeyPress: function onKeyPress(event) { + var charCode = event.charCode; + + if (charCode === key_code.SPACE && _this2.props.checked && _this2.props.deselectable) { + _this2.handleChange(event, true); + } else if (charCode === key_code.ENTER && _this2.props.checked && _this2.props.deselectable || !_this2.props.checked) { + _this2.handleChange(event); + } + }, + disabled: this.props.disabled + }, ariaProps, dataProps, { + ref: function ref(input) { + if (_this2.props.refs && _this2.props.refs.input) { + _this2.props.refs.input(input); + } + } + })), radio); + } + }]); + + return Radio; +}(external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.Component); + +radio_Radio.displayName = RADIO; +radio_Radio.propTypes = radio_propTypes; +radio_Radio.defaultProps = radio_defaultProps; +/* harmony default export */ var components_radio = (radio_Radio); +// CONCATENATED MODULE: ./components/radio-button-group/radio.jsx +// Alias + +/* harmony default export */ var radio_button_group_radio = (components_radio); +// CONCATENATED MODULE: ./utilities/color.js + +var COLOR_NAMES = { + aliceblue: '#f0f8ff', + antiquewhite: '#faebd7', + aqua: '#00ffff', + aquamarine: '#7fffd4', + azure: '#f0ffff', + beige: '#f5f5dc', + bisque: '#ffe4c4', + black: '#000000', + blanchedalmond: '#ffebcd', + blue: '#0000ff', + blueviolet: '#8a2be2', + brown: '#a52a2a', + burlywood: '#deb887', + cadetblue: '#5f9ea0', + chartreuse: '#7fff00', + chocolate: '#d2691e', + coral: '#ff7f50', + cornflowerblue: '#6495ed', + cornsilk: '#fff8dc', + crimson: '#dc143c', + cyan: '#00ffff', + darkblue: '#00008b', + darkcyan: '#008b8b', + darkgoldenrod: '#b8860b', + darkgray: '#a9a9a9', + darkgreen: '#006400', + darkkhaki: '#bdb76b', + darkmagenta: '#8b008b', + darkolivegreen: '#556b2f', + darkorange: '#ff8c00', + darkorchid: '#9932cc', + darkred: '#8b0000', + darksalmon: '#e9967a', + darkseagreen: '#8fbc8f', + darkslateblue: '#483d8b', + darkslategray: '#2f4f4f', + darkturquoise: '#00ced1', + darkviolet: '#9400d3', + deeppink: '#ff1493', + deepskyblue: '#00bfff', + dimgray: '#696969', + dodgerblue: '#1e90ff', + firebrick: '#b22222', + floralwhite: '#fffaf0', + forestgreen: '#228b22', + fuchsia: '#ff00ff', + gainsboro: '#dcdcdc', + ghostwhite: '#f8f8ff', + gold: '#ffd700', + goldenrod: '#daa520', + gray: '#808080', + green: '#008000', + greenyellow: '#adff2f', + honeydew: '#f0fff0', + hotpink: '#ff69b4', + indianred: '#cd5c5c', + indigo: '#4b0082', + ivory: '#fffff0', + khaki: '#f0e68c', + lavender: '#e6e6fa', + lavenderblush: '#fff0f5', + lawngreen: '#7cfc00', + lemonchiffon: '#fffacd', + lightblue: '#add8e6', + lightcoral: '#f08080', + lightcyan: '#e0ffff', + lightgoldenrodyellow: '#fafad2', + lightgrey: '#d3d3d3', + lightgreen: '#90ee90', + lightpink: '#ffb6c1', + lightsalmon: '#ffa07a', + lightseagreen: '#20b2aa', + lightskyblue: '#87cefa', + lightslategray: '#778899', + lightsteelblue: '#b0c4de', + lightyellow: '#ffffe0', + lime: '#00ff00', + limegreen: '#32cd32', + linen: '#faf0e6', + magenta: '#ff00ff', + maroon: '#800000', + mediumaquamarine: '#66cdaa', + mediumblue: '#0000cd', + mediumorchid: '#ba55d3', + mediumpurple: '#9370d8', + mediumseagreen: '#3cb371', + mediumslateblue: '#7b68ee', + mediumspringgreen: '#00fa9a', + mediumturquoise: '#48d1cc', + mediumvioletred: '#c71585', + midnightblue: '#191970', + mintcream: '#f5fffa', + mistyrose: '#ffe4e1', + moccasin: '#ffe4b5', + navajowhite: '#ffdead', + navy: '#000080', + oldlace: '#fdf5e6', + olive: '#808000', + olivedrab: '#6b8e23', + orange: '#ffa500', + orangered: '#ff4500', + orchid: '#da70d6', + palegoldenrod: '#eee8aa', + palegreen: '#98fb98', + paleturquoise: '#afeeee', + palevioletred: '#d87093', + papayawhip: '#ffefd5', + peachpuff: '#ffdab9', + peru: '#cd853f', + pink: '#ffc0cb', + plum: '#dda0dd', + powderblue: '#b0e0e6', + purple: '#800080', + rebeccapurple: '#663399', + red: '#ff0000', + rosybrown: '#bc8f8f', + royalblue: '#4169e1', + saddlebrown: '#8b4513', + salmon: '#fa8072', + sandybrown: '#f4a460', + seagreen: '#2e8b57', + seashell: '#fff5ee', + sienna: '#a0522d', + silver: '#c0c0c0', + skyblue: '#87ceeb', + slateblue: '#6a5acd', + slategray: '#708090', + snow: '#fffafa', + springgreen: '#00ff7f', + steelblue: '#4682b4', + tan: '#d2b48c', + teal: '#008080', + thistle: '#d8bfd8', + tomato: '#ff6347', + turquoise: '#40e0d0', + violet: '#ee82ee', + wheat: '#f5deb3', + white: '#ffffff', + whitesmoke: '#f5f5f5', + yellow: '#ffff00', + yellowgreen: '#9acd32' +}; +var HEX_REGEX = /^#([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i; +var ColorUtils = { + getNewColor: function getNewColor(options, customHexValidator) { + var oldColor = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {}; + + if (options.hex) { + if (customHexValidator ? !customHexValidator(options.hex) : !this.isValidHex(options.hex)) { + return lodash_assign_default()({}, oldColor, { + hex: options.hex, + errors: lodash_assign_default()({}, oldColor.errors, { + hex: true + }), + hsv: { + hue: '', + saturation: '', + value: '' + }, + rgb: { + red: '', + green: '', + blue: '' + } + }); + } + + var returnColor = { + hex: options.hex, + hsv: this.getHsvFromHex(options.hex), + rgb: this.getRgbFromHex(options.hex) + }; + + if (options.name) { + returnColor.name = options.name; + } + + return returnColor; + } + + if ('red' in options || 'blue' in options || 'green' in options) { + var rgb = lodash_assign_default()({}, oldColor.rgb, options); + var errors = this.getRgbErrors(rgb); + + if (Object.values(errors).includes(true)) { + return lodash_assign_default()({}, oldColor, { + rgb: rgb, + errors: lodash_assign_default()({}, oldColor.errors, errors) + }); + } + + return { + hex: this.getHexFromRgb(rgb), + hsv: this.getHsvFromRgb(rgb), + rgb: rgb + }; + } + + if ('hue' in options || 'saturation' in options || 'value' in options) { + var hsv = lodash_assign_default()({}, oldColor.hsv, options); + return { + hex: this.getHexFromHsv(hsv), + hsv: hsv, + rgb: this.getRgbFromHsv(hsv) + }; + } + + return { + hex: '', + hsv: { + hue: '', + saturation: '', + value: '' + }, + rgb: { + red: '', + green: '', + blue: '' + } + }; + }, + getDeltaColor: function getDeltaColor(options, customHexValidator, oldColor) { + var limitValue = function limitValue(value) { + return Math.min(Math.max(value, 0), 100); + }; + + return this.getNewColor({ + saturation: limitValue(oldColor.hsv.saturation + (options.saturation || 0)), + value: limitValue(oldColor.hsv.value + (options.value || 0)) + }, customHexValidator, oldColor); + }, + isValidHex: function isValidHex(value) { + return !value || HEX_REGEX.test(this.toSixDigitHex(value)); + }, + getRgbErrors: function getRgbErrors(rgb) { + var hasError = function hasError(value) { + return isNaN(value) || Math.floor(value) !== Number(value) || value < 0 || value >= 256; + }; + + return Object.entries(rgb).reduce(function (errors, keyValue) { + // eslint-disable-next-line no-param-reassign + errors[keyValue[0]] = hasError(keyValue[1]); + return errors; + }, {}); + }, + getHsvFromHex: function getHsvFromHex(hex) { + return this.getHsvFromRgb(this.getRgbFromHex(hex)); + }, + getHexFromHsv: function getHexFromHsv(_ref) { + var hue = _ref.hue, + saturation = _ref.saturation, + value = _ref.value; + return this.getHexFromRgb(this.getRgbFromHsv({ + hue: hue, + saturation: saturation, + value: value + })); + }, + getHexFromNamedColor: function getHexFromNamedColor(name) { + return COLOR_NAMES[name.toLowerCase()] || null; + }, + getHsvFromRgb: function getHsvFromRgb(_ref2) { + var red = _ref2.red, + green = _ref2.green, + blue = _ref2.blue; + var redRatio = red / 255; + var greenRatio = green / 255; + var blueRatio = blue / 255; + var max = Math.max(redRatio, greenRatio, blueRatio); + var min = Math.min(redRatio, greenRatio, blueRatio); + var delta = max - min; + var saturation = max === 0 ? 0 : delta / max * 100; + var value = max * 100; + var hue; + + if (max === min) { + hue = 0; + } else { + if (redRatio === max) { + hue = (greenRatio - blueRatio) / delta + (greenRatio < blueRatio ? 6 : 0); + } else if (greenRatio === max) { + hue = (blueRatio - redRatio) / delta + 2; + } else { + hue = (redRatio - greenRatio) / delta + 4; + } + + hue *= 60; + } + + return { + hue: hue, + saturation: saturation, + value: value + }; + }, + getRgbFromHsv: function getRgbFromHsv(_ref3) { + var hue = _ref3.hue, + saturation = _ref3.saturation, + value = _ref3.value; + var hueRatio = hue / 360; + var satRatio = saturation / 100; + var valRatio = value / 100; + var red; + var green; + var blue; + var i = Math.floor(hueRatio * 6); + var f = hueRatio * 6 - i; + var p = valRatio * (1 - satRatio); + var q = valRatio * (1 - f * satRatio); + var t = valRatio * (1 - (1 - f) * satRatio); + + switch (i % 6) { + case 0: + red = valRatio; + green = t; + blue = p; + break; + + case 1: + red = q; + green = valRatio; + blue = p; + break; + + case 2: + red = p; + green = valRatio; + blue = t; + break; + + case 3: + red = p; + green = q; + blue = valRatio; + break; + + case 4: + red = t; + green = p; + blue = valRatio; + break; + + default: + red = valRatio; + green = p; + blue = q; + } + + return { + red: Math.round(red * 255), + blue: Math.round(blue * 255), + green: Math.round(green * 255) + }; + }, + getHexFromRgb: function getHexFromRgb(_ref4) { + var red = _ref4.red, + green = _ref4.green, + blue = _ref4.blue; + + function getHex(color) { + return "0".concat(Math.round(color).toString(16)).substr(-2); + } + + return "#".concat(getHex(red)).concat(getHex(green)).concat(getHex(blue)); + }, + getRgbFromHex: function getRgbFromHex(hex) { + var result = HEX_REGEX.exec(this.toSixDigitHex(hex)); + return { + red: parseInt(result[1], 16), + green: parseInt(result[2], 16), + blue: parseInt(result[3], 16) + }; + }, + toSixDigitHex: function toSixDigitHex(value) { + var shortHandHex = /^#([a-f\d])([a-f\d])([a-f\d])$/i; + var match = shortHandHex.exec(value); + + if (match) { + return "#".concat(match[1]).concat(match[1]).concat(match[2]).concat(match[2]).concat(match[3]).concat(match[3]); + } + + return value; + } +}; +/* harmony default export */ var utilities_color = (ColorUtils); +// CONCATENATED MODULE: ./components/color-picker/private/hsv-color.jsx +function hsv_color_typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { hsv_color_typeof = function _typeof(obj) { return typeof obj; }; } else { hsv_color_typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return hsv_color_typeof(obj); } + +function hsv_color_ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; } + +function hsv_color_objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { hsv_color_ownKeys(Object(source), true).forEach(function (key) { hsv_color_defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { hsv_color_ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; } + +function hsv_color_classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function hsv_color_defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function hsv_color_createClass(Constructor, protoProps, staticProps) { if (protoProps) hsv_color_defineProperties(Constructor.prototype, protoProps); if (staticProps) hsv_color_defineProperties(Constructor, staticProps); return Constructor; } + +function hsv_color_inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) hsv_color_setPrototypeOf(subClass, superClass); } + +function hsv_color_setPrototypeOf(o, p) { hsv_color_setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return hsv_color_setPrototypeOf(o, p); } + +function hsv_color_createSuper(Derived) { var hasNativeReflectConstruct = hsv_color_isNativeReflectConstruct(); return function _createSuperInternal() { var Super = hsv_color_getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = hsv_color_getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return hsv_color_possibleConstructorReturn(this, result); }; } + +function hsv_color_possibleConstructorReturn(self, call) { if (call && (hsv_color_typeof(call) === "object" || typeof call === "function")) { return call; } return hsv_color_assertThisInitialized(self); } + +function hsv_color_assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +function hsv_color_isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } } + +function hsv_color_getPrototypeOf(o) { hsv_color_getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return hsv_color_getPrototypeOf(o); } + +function hsv_color_defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + + + + + + + +var hsv_color_handleClick = function handleClick(event, rangeIndicator, _ref) { + var onSaturationValueChange = _ref.onSaturationValueChange; + var rect = event.currentTarget.getBoundingClientRect(); + rangeIndicator.focus(); + onSaturationValueChange(event, { + saturation: Math.round((event.clientX - rect.left) / rect.width * 100), + value: Math.round((rect.bottom - event.clientY) / rect.height * 100) + }); +}; + +var hsv_color_handleKeyDown = function handleKeyDown(event, _ref2) { + var _keyDownCallbacks; + + var onSaturationNavigate = _ref2.onSaturationNavigate, + onValueNavigate = _ref2.onValueNavigate; + var keyDownCallbacks = (_keyDownCallbacks = {}, hsv_color_defineProperty(_keyDownCallbacks, key_code.LEFT, function (multiplier) { + onSaturationNavigate(event, { + delta: multiplier * -1 + }); + }), hsv_color_defineProperty(_keyDownCallbacks, key_code.RIGHT, function (multiplier) { + onSaturationNavigate(event, { + delta: multiplier + }); + }), hsv_color_defineProperty(_keyDownCallbacks, key_code.UP, function (multiplier) { + onValueNavigate(event, { + delta: multiplier + }); + }), hsv_color_defineProperty(_keyDownCallbacks, key_code.DOWN, function (multiplier) { + onValueNavigate(event, { + delta: multiplier * -1 + }); + }), _keyDownCallbacks); + + if (keyDownCallbacks[event.keyCode]) { + event.preventDefault(); + keyDownCallbacks[event.keyCode](event.shiftKey ? 10 : 1); + } +}; + +var selectedStyle = { + border: '1px solid #9e9e9e', + boxShadow: 'rgb(117, 112, 112) 1px 1px 1px', + marginRight: '2px' +}; +var unselectedStyle = { + border: '1px solid #9e9e9e', + marginRight: '2px' +}; + +var hsv_color_HsvColor = /*#__PURE__*/function (_React$Component) { + hsv_color_inherits(HsvColor, _React$Component); + + var _super = hsv_color_createSuper(HsvColor); + + function HsvColor() { + var _this; + + hsv_color_classCallCheck(this, HsvColor); + + for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { + args[_key] = arguments[_key]; + } + + _this = _super.call.apply(_super, [this].concat(args)); + + hsv_color_defineProperty(hsv_color_assertThisInitialized(_this), "handleSwatchChange", function (event) { + _this.setState({ + isTransparentSelected: event.target.value === '' + }); + + _this.props.onSwatchChange(event); + }); + + hsv_color_defineProperty(hsv_color_assertThisInitialized(_this), "isTransparent", function () { + return _this.props.color.hex === ''; + }); + + return _this; + } + + hsv_color_createClass(HsvColor, [{ + key: "render", + value: function render() { + var _this2 = this; + + var style = { + border: 'none', + borderRadius: 'unset' + }; + var swatchStyle = this.isTransparent() ? hsv_color_objectSpread({}, unselectedStyle) : hsv_color_objectSpread({}, selectedStyle); + var transparentSwatchStyle = this.isTransparent() ? hsv_color_objectSpread({}, selectedStyle) : hsv_color_objectSpread({}, unselectedStyle); // when working color is transparent: either use the previous color or default to black + + var fallbackWorkingColor = this.props.previousColor.hex ? this.props.previousColor : utilities_color.getNewColor({ + hex: '#000000' + }); + var workingColor = this.isTransparent() ? fallbackWorkingColor : this.props.color; + return /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", null, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("p", { + className: "slds-assistive-text", + id: "color-picker-instructions-".concat(this.props.id) + }, this.props.assistiveText.saturationValueGrid), /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: "slds-color-picker__custom-range", + style: { + background: "hsl(".concat(workingColor.hsv.hue, ", 100%, 50%)") + }, + onClick: function onClick(event) { + hsv_color_handleClick(event, _this2.rangeIndicator, { + onSaturationValueChange: _this2.props.onSaturationValueChange + }); + }, + role: "presentation" + }, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("a", { + "aria-atomic": "true", + "aria-describedby": "color-picker-instructions-".concat(this.props.id), + "aria-live": "assertive", + className: "slds-color-picker__range-indicator", + onKeyDown: function onKeyDown(event) { + hsv_color_handleKeyDown(event, hsv_color_objectSpread({}, _this2.props)); + }, + ref: function ref(rangeIndicator) { + _this2.rangeIndicator = rangeIndicator; + }, + role: "button", + style: { + bottom: "".concat(workingColor.hsv.value, "%"), + left: "".concat(workingColor.hsv.saturation, "%") + }, + tabIndex: 0 + }, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("span", { + className: "slds-assistive-text" + }, "Saturation ".concat(workingColor.hsv.saturation, "% Brightness: ").concat(workingColor.hsv.value, "%")))), /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: "slds-color-picker__hue-and-preview" + }, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("label", { + className: "slds-assistive-text", + htmlFor: "color-picker-input-range-".concat(this.props.id) + }, this.props.assistiveText.hueSlider), /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("input", { + type: "range", + min: "0", + max: "360", + className: "slds-color-picker__hue-slider", + id: "color-picker-input-range-".concat(this.props.id), + value: workingColor.hsv.hue, + onChange: this.props.onHueChange + }), /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(radio_button_group, { + name: "".concat(this.props.id, "-color-picker-swatch-toggle-button-group"), + assistiveText: { + label: 'Toggle Transparency' + }, + style: style, + onChange: this.handleSwatchChange + }, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(radio_button_group_radio, { + checked: !this.isTransparent(), + id: "color-picker-active-working-color-swatch-".concat(this.props.id), + key: "working-color", + labels: { + label: this.props.labels.customTabActiveWorkingColorSwatch + }, + style: swatchStyle, + value: workingColor.hex, + variant: "swatch" + }), /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(radio_button_group_radio, { + checked: this.isTransparent(), + id: "color-picker-transparent-swatch-".concat(this.props.id), + key: "transparent", + labels: { + label: this.props.labels.customTabTransparentSwatch + }, + style: transparentSwatchStyle, + value: "" // transparent + , + variant: "swatch" + })))); + } + }]); + + return HsvColor; +}(external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.Component); + +hsv_color_defineProperty(hsv_color_HsvColor, "displayName", 'SLDSHsvColor'); + +/* harmony default export */ var hsv_color = (hsv_color_HsvColor); +// CONCATENATED MODULE: ./components/color-picker/private/custom-color.jsx +function custom_color_typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { custom_color_typeof = function _typeof(obj) { return typeof obj; }; } else { custom_color_typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return custom_color_typeof(obj); } + +function custom_color_classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function custom_color_defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function custom_color_createClass(Constructor, protoProps, staticProps) { if (protoProps) custom_color_defineProperties(Constructor.prototype, protoProps); if (staticProps) custom_color_defineProperties(Constructor, staticProps); return Constructor; } + +function custom_color_inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) custom_color_setPrototypeOf(subClass, superClass); } + +function custom_color_setPrototypeOf(o, p) { custom_color_setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return custom_color_setPrototypeOf(o, p); } + +function custom_color_createSuper(Derived) { var hasNativeReflectConstruct = custom_color_isNativeReflectConstruct(); return function _createSuperInternal() { var Super = custom_color_getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = custom_color_getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return custom_color_possibleConstructorReturn(this, result); }; } + +function custom_color_possibleConstructorReturn(self, call) { if (call && (custom_color_typeof(call) === "object" || typeof call === "function")) { return call; } return custom_color_assertThisInitialized(self); } + +function custom_color_assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +function custom_color_isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } } + +function custom_color_getPrototypeOf(o) { custom_color_getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return custom_color_getPrototypeOf(o); } + +function custom_color_defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + + + + // using state to manage everything in here because multiple HSV coordinates +// can map to a single RGB coordinate and we lose that if we're always passing +// in a hex color + +var custom_color_CustomColor = /*#__PURE__*/function (_React$Component) { + custom_color_inherits(CustomColor, _React$Component); + + var _super = custom_color_createSuper(CustomColor); + + function CustomColor() { + custom_color_classCallCheck(this, CustomColor); + + return _super.apply(this, arguments); + } + + custom_color_createClass(CustomColor, [{ + key: "render", + value: function render() { + var errorText; + + if (this.props.errorTextWorkingColor) { + errorText = this.props.errorTextWorkingColor; + } else if (this.props.color.errors && this.props.color.errors.hex) { + errorText = this.props.labels.invalidColor; + } else { + errorText = this.props.labels.invalidComponent; + } + + return /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: "slds-color-picker__custom" + }, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(hsv_color, { + assistiveText: this.props.assistiveText, + color: this.props.color, + id: this.props.id, + labels: this.props.labels, + onHueChange: this.props.onHueChange, + onSaturationValueChange: this.props.onSaturationValueChange, + onSaturationNavigate: this.props.onSaturationNavigate, + onValueNavigate: this.props.onValueNavigate, + onSwatchChange: this.props.onSwatchChange, + previousColor: this.props.previousColor + }), /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(custom_color_form, { + color: this.props.color, + id: this.props.id, + errorTextWorkingColor: this.props.errorTextWorkingColor, + labels: this.props.labels, + onBlueChange: this.props.onBlueChange, + onGreenChange: this.props.onGreenChange, + onHexChange: this.props.onHexChange, + onRedChange: this.props.onRedChange + }), this.props.errorTextWorkingColor || this.props.color.errors ? /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("p", { + className: "slds-form-error slds-color-picker__input-custom-error", + id: "color-picker-custom-error-".concat(this.props.id) + }, errorText) : ''); + } + }]); + + return CustomColor; +}(external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.Component); + +custom_color_defineProperty(custom_color_CustomColor, "displayName", 'SLDSCustomColor'); + +/* harmony default export */ var custom_color = (custom_color_CustomColor); +// EXTERNAL MODULE: ./node_modules/lodash.findindex/index.js +var lodash_findindex = __webpack_require__(7); +var lodash_findindex_default = /*#__PURE__*/__webpack_require__.n(lodash_findindex); + +// CONCATENATED MODULE: ./components/color-picker/private/swatch-option.jsx +function swatch_option_typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { swatch_option_typeof = function _typeof(obj) { return typeof obj; }; } else { swatch_option_typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return swatch_option_typeof(obj); } + +function swatch_option_classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function swatch_option_defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function swatch_option_createClass(Constructor, protoProps, staticProps) { if (protoProps) swatch_option_defineProperties(Constructor.prototype, protoProps); if (staticProps) swatch_option_defineProperties(Constructor, staticProps); return Constructor; } + +function swatch_option_inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) swatch_option_setPrototypeOf(subClass, superClass); } + +function swatch_option_setPrototypeOf(o, p) { swatch_option_setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return swatch_option_setPrototypeOf(o, p); } + +function swatch_option_createSuper(Derived) { var hasNativeReflectConstruct = swatch_option_isNativeReflectConstruct(); return function _createSuperInternal() { var Super = swatch_option_getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = swatch_option_getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return swatch_option_possibleConstructorReturn(this, result); }; } + +function swatch_option_possibleConstructorReturn(self, call) { if (call && (swatch_option_typeof(call) === "object" || typeof call === "function")) { return call; } return swatch_option_assertThisInitialized(self); } + +function swatch_option_assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +function swatch_option_isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } } + +function swatch_option_getPrototypeOf(o) { swatch_option_getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return swatch_option_getPrototypeOf(o); } + +function swatch_option_defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + + + + +var swatch_option_handleClick = function handleClick(event, _ref) { + var hex = _ref.hex, + onSelect = _ref.onSelect; + event.preventDefault(); + onSelect(event, { + hex: hex + }); +}; + +var swatch_option_selectedStyle = { + border: '1px solid #141414', + borderRadius: '2px', + margin: '3px' +}; +var selectedInnerStyle = { + border: '1px solid white', + borderRadius: '2px' +}; + +var swatch_option_SwatchOption = /*#__PURE__*/function (_React$Component) { + swatch_option_inherits(SwatchOption, _React$Component); + + var _super = swatch_option_createSuper(SwatchOption); + + function SwatchOption() { + swatch_option_classCallCheck(this, SwatchOption); + + return _super.apply(this, arguments); + } + + swatch_option_createClass(SwatchOption, [{ + key: "render", + value: function render() { + var _this = this; + + return /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("li", { + className: "slds-color-picker__swatch", + style: this.props.workingColor && this.props.workingColor.hex === this.props.color ? swatch_option_selectedStyle : {}, + role: "presentation" + }, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("a", { + "aria-selected": this.props.workingColor && this.props.workingColor.hex === this.props.color, + className: "slds-color-picker__swatch-trigger", + onClick: function onClick(event) { + swatch_option_handleClick(event, { + hex: _this.props.color, + onSelect: _this.props.onSelect + }); + }, + ref: this.props.swatchOptionRef, + role: "option", + style: this.props.workingColor && this.props.workingColor === this.props.color ? selectedInnerStyle : {}, + tabIndex: this.props.tabIndex + }, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(swatch, { + color: this.props.color, + labels: this.props.labels + }))); + } + }]); + + return SwatchOption; +}(external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.Component); + +swatch_option_defineProperty(swatch_option_SwatchOption, "displayName", 'SLDSSwatchOption'); + +/* harmony default export */ var swatch_option = (swatch_option_SwatchOption); +// CONCATENATED MODULE: ./components/color-picker/private/swatch-picker.jsx +function swatch_picker_typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { swatch_picker_typeof = function _typeof(obj) { return typeof obj; }; } else { swatch_picker_typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return swatch_picker_typeof(obj); } + +function swatch_picker_ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; } + +function swatch_picker_objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { swatch_picker_ownKeys(Object(source), true).forEach(function (key) { swatch_picker_defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { swatch_picker_ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; } + +function swatch_picker_classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function swatch_picker_defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function swatch_picker_createClass(Constructor, protoProps, staticProps) { if (protoProps) swatch_picker_defineProperties(Constructor.prototype, protoProps); if (staticProps) swatch_picker_defineProperties(Constructor, staticProps); return Constructor; } + +function swatch_picker_inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) swatch_picker_setPrototypeOf(subClass, superClass); } + +function swatch_picker_setPrototypeOf(o, p) { swatch_picker_setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return swatch_picker_setPrototypeOf(o, p); } + +function swatch_picker_createSuper(Derived) { var hasNativeReflectConstruct = swatch_picker_isNativeReflectConstruct(); return function _createSuperInternal() { var Super = swatch_picker_getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = swatch_picker_getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return swatch_picker_possibleConstructorReturn(this, result); }; } + +function swatch_picker_possibleConstructorReturn(self, call) { if (call && (swatch_picker_typeof(call) === "object" || typeof call === "function")) { return call; } return swatch_picker_assertThisInitialized(self); } + +function swatch_picker_assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +function swatch_picker_isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } } + +function swatch_picker_getPrototypeOf(o) { swatch_picker_getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return swatch_picker_getPrototypeOf(o); } + +function swatch_picker_defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + + + + + + + + + +var swatch_picker_SwatchPicker = /*#__PURE__*/function (_React$Component) { + swatch_picker_inherits(SwatchPicker, _React$Component); + + var _super = swatch_picker_createSuper(SwatchPicker); + + function SwatchPicker(_props) { + var _this; + + swatch_picker_classCallCheck(this, SwatchPicker); + + _this = _super.call(this, _props); + + swatch_picker_defineProperty(swatch_picker_assertThisInitialized(_this), "selectPreviousColor", function (event, props) { + var index = lodash_findindex_default()(props.swatchColors, function (item) { + return item === props.color.hex; + }); + var nextIndex = index === -1 || index === props.swatchColors.length - 1 ? 0 : index + 1; + var prevColor = props.swatchColors[nextIndex]; + props.onSelect(event, { + hex: prevColor + }); + + _this.swatchColorRefs[prevColor].focus(); + }); + + swatch_picker_defineProperty(swatch_picker_assertThisInitialized(_this), "selectNextColor", function (event, props) { + var index = lodash_findindex_default()(props.swatchColors, function (item) { + return item === props.color.hex; + }); + var prevIndex; + + if (index === 0) { + prevIndex = props.swatchColors.length - 1; + } else if (index === -1) { + prevIndex = 0; + } else { + prevIndex = index - 1; + } + + var nextColor = props.swatchColors[prevIndex]; + props.onSelect(event, { + hex: nextColor + }); + + _this.swatchColorRefs[nextColor].focus(); + }); + + swatch_picker_defineProperty(swatch_picker_assertThisInitialized(_this), "handleKeyDown", function (event, props) { + var _keyDownCallbacks; + + var keyDownCallbacks = (_keyDownCallbacks = {}, swatch_picker_defineProperty(_keyDownCallbacks, key_code.RIGHT, function () { + if (props.direction === DIRECTIONS.RTL) { + _this.selectNextColor(event, props); + } else { + _this.selectPreviousColor(event, props); + } + }), swatch_picker_defineProperty(_keyDownCallbacks, key_code.DOWN, function () { + _this.selectPreviousColor(event, props); + }), swatch_picker_defineProperty(_keyDownCallbacks, key_code.LEFT, function () { + if (props.direction === DIRECTIONS.RTL) { + _this.selectPreviousColor(event, props); + } else { + _this.selectNextColor(event, props); + } + }), swatch_picker_defineProperty(_keyDownCallbacks, key_code.UP, function () { + _this.selectNextColor(event, props); + }), _keyDownCallbacks); + + if (event.keyCode) { + if (keyDownCallbacks[event.keyCode]) { + utilities_event.trapEvent(event); + keyDownCallbacks[event.keyCode](); + } + } + }); + + swatch_picker_defineProperty(swatch_picker_assertThisInitialized(_this), "addRef", function (color) { + return function (el) { + _this.swatchColorRefs[color] = el; + }; + }); + + _this.swatchColorRefs = {}; + return _this; + } + + swatch_picker_createClass(SwatchPicker, [{ + key: "render", + value: function render() { + var _this2 = this; + + var isSelectedColorInSwatch = this.props.swatchColors.includes(this.props.color.hex); + return /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("ul", { + className: "slds-color-picker__swatches", + role: "listbox", + onKeyDown: function onKeyDown(event) { + _this2.handleKeyDown(event, swatch_picker_objectSpread({}, _this2.props)); + } + }, this.props.swatchColors.map(function (color, index) { + return /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(swatch_option, { + color: color, + key: color, + labels: _this2.props.labels, + onSelect: _this2.props.onSelect, + swatchOptionRef: _this2.addRef(color), + workingColor: _this2.props.color, + tabIndex: _this2.props.color && _this2.props.color.hex === color || index === 0 && !isSelectedColorInSwatch ? 0 : -1 + }); + })); + } + }]); + + return SwatchPicker; +}(external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.Component); + +swatch_picker_defineProperty(swatch_picker_SwatchPicker, "displayName", 'SLDSSwatchPicker'); + +/* harmony default export */ var swatch_picker = (language_direction(swatch_picker_SwatchPicker)); +// CONCATENATED MODULE: ./components/tabs/private/tabs-list.jsx +/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */ + +/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */ +// # Tabs Component +// Implements the [Tabs design pattern](https://www.lightningdesignsystem.com/components/tabs/) in React. +// ## Dependencies +// ### React + + // ### classNames + + + + +var tabs_list_TabsList = function TabsList(_ref) { + var id = _ref.id, + className = _ref.className, + children = _ref.children, + variant = _ref.variant; + return /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("ul", { + id: "".concat(id, "-slds-tabs__nav"), + className: classnames_default()(className, { + 'slds-tabs_default__nav': variant === 'default', + 'slds-tabs_scoped__nav': variant === 'scoped', + 'slds-vertical-tabs__nav': variant === 'vertical' + }), + role: "tablist", + "aria-orientation": variant === 'vertical' ? 'vertical' : undefined + }, children); +}; + +tabs_list_TabsList.displayName = TABS_LIST; +tabs_list_TabsList.propTypes = { + /** + * Inherits the `id` from the parent `<Tabs />` component and appends `-tabs__nav`. Becomes the HTML `id` attribute of UL element that has the class `.slds-tabs_default__nav` on it. + */ + id: prop_types_default.a.string, + + /** + * Class names to be added to the tabs list element. + */ + className: prop_types_default.a.oneOfType([prop_types_default.a.array, prop_types_default.a.object, prop_types_default.a.string]), + + /** + * The `children` are the actual tabs to be rendered as `li` elements. They get created by [tabs/index.jsx](./index.jsx) in the `renderTabsList` function. + */ + children: prop_types_default.a.oneOfType([prop_types_default.a.object, prop_types_default.a.array]), + + /** + * If the Tabs should be scoped, vertical, or default (default value) + */ + variant: prop_types_default.a.oneOf(['default', 'scoped', 'vertical']) +}; +/* harmony default export */ var tabs_list = (tabs_list_TabsList); +// CONCATENATED MODULE: ./components/tabs/private/tab.jsx +function tab_typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { tab_typeof = function _typeof(obj) { return typeof obj; }; } else { tab_typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return tab_typeof(obj); } + +function tab_classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function tab_defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function tab_createClass(Constructor, protoProps, staticProps) { if (protoProps) tab_defineProperties(Constructor.prototype, protoProps); if (staticProps) tab_defineProperties(Constructor, staticProps); return Constructor; } + +function tab_inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) tab_setPrototypeOf(subClass, superClass); } + +function tab_setPrototypeOf(o, p) { tab_setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return tab_setPrototypeOf(o, p); } + +function tab_createSuper(Derived) { var hasNativeReflectConstruct = tab_isNativeReflectConstruct(); return function _createSuperInternal() { var Super = tab_getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = tab_getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return tab_possibleConstructorReturn(this, result); }; } + +function tab_possibleConstructorReturn(self, call) { if (call && (tab_typeof(call) === "object" || typeof call === "function")) { return call; } return tab_assertThisInitialized(self); } + +function tab_assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +function tab_isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } } + +function tab_getPrototypeOf(o) { tab_getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return tab_getPrototypeOf(o); } + +function tab_defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */ + +/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */ + +/* eslint-disable jsx-a11y/no-interactive-element-to-noninteractive-role */ +// # TabItem Component +// ## Dependencies +// ### React + + // ### classNames + + // ## Constants + + + +/* + * Disabled Tab CSS has been removed. If you'd like to use the styling, please import it in your module bundler. + */ +// import '!style-loader!css-loader!../../../styles/tabs/tab.css'; // eslint-disable-line import/no-unresolved + +var tab_Tab = /*#__PURE__*/function (_React$Component) { + tab_inherits(Tab, _React$Component); + + var _super = tab_createSuper(Tab); + + function Tab() { + var _this; + + tab_classCallCheck(this, Tab); + + for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { + args[_key] = arguments[_key]; + } + + _this = _super.call.apply(_super, [this].concat(args)); + + tab_defineProperty(tab_assertThisInitialized(_this), "checkFocus", function () { + if (_this.props.selected && _this.props.focus && _this.node) { + _this.node.focus(); + } + }); + + return _this; + } + + tab_createClass(Tab, [{ + key: "componentDidMount", + value: function componentDidMount() { + this.checkFocus(); + } + }, { + key: "componentDidUpdate", + value: function componentDidUpdate() { + this.checkFocus(); + } + }, { + key: "render", + value: function render() { + var _classNames, + _classNames2, + _this2 = this; + + var _this$props = this.props, + selected = _this$props.selected, + disabled = _this$props.disabled, + panelId = _this$props.panelId, + activeTabClassName = _this$props.activeTabClassName, + disabledTabClassName = _this$props.disabledTabClassName, + className = _this$props.className, + children = _this$props.children, + id = _this$props.id, + variant = _this$props.variant, + hasError = _this$props.hasError; + var tabIndex; + /** + * Desired a11y behaviour: The active Tab should get focus when the user presses the + * Tab key. After that, Arrow keys should be used to change the focus from one tab + * to another. Pressing the Tab key one more time should move the focus away from the + * Tab group. + * + * Here, we put the selected Tab in the navigation path (tabIndex = 0) and remove other + * tabs from navigation path (tabIndex = -1). + */ + + if (selected) { + tabIndex = '0'; + } else { + tabIndex = '-1'; + } + + return /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("li", { + className: classnames_default()(className, (_classNames = {}, tab_defineProperty(_classNames, activeTabClassName, selected), tab_defineProperty(_classNames, disabledTabClassName, disabled), tab_defineProperty(_classNames, 'slds-tabs_default__item', variant === 'default'), tab_defineProperty(_classNames, 'slds-tabs_scoped__item', variant === 'scoped'), tab_defineProperty(_classNames, 'slds-vertical-tabs__nav-item', variant === 'vertical'), _classNames)), + role: "presentation", + id: id, + title: typeof children === 'string' ? children : null + }, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("a", { + className: classnames_default()((_classNames2 = {}, tab_defineProperty(_classNames2, activeTabClassName, selected), tab_defineProperty(_classNames2, disabledTabClassName, disabled), tab_defineProperty(_classNames2, 'slds-tabs_default__link', variant === 'default'), tab_defineProperty(_classNames2, 'slds-tabs_scoped__link', variant === 'scoped'), tab_defineProperty(_classNames2, 'slds-vertical-tabs__link', variant === 'vertical'), _classNames2)), + href: "javascript:void(0);" // eslint-disable-line no-script-url + , + role: "tab", + ref: function ref(node) { + _this2.node = node; + }, + tabIndex: tabIndex, + "aria-controls": panelId, + "aria-disabled": disabled, + "aria-selected": selected ? 'true' : 'false' + }, children, hasError && /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("span", { + className: classnames_default()({ + 'slds-tabs__right-icon': variant !== 'vertical', + 'slds-vertical-tabs__right-icon': variant === 'vertical' + }) + }, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(components_icon, { + assistiveText: { + label: this.props.assistiveText.withErrorIcon + }, + category: "utility", + containerClassName: "slds-icon_container slds-icon-utility-error", + size: "x-small", + name: "error", + colorVariant: "error", + title: this.props.assistiveText.withErrorIcon + })))); + } + }]); + + return Tab; +}(external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.Component); + +tab_defineProperty(tab_Tab, "displayName", TAB); + +tab_defineProperty(tab_Tab, "propTypes", { + /** + * CSS classes to be added to the tab. + */ + className: prop_types_default.a.string, + + /** + * The HTML ID of this tab. Also used by the `<TabPanel />` it controls as `tabId`. + */ + id: prop_types_default.a.string, + + /** + * Whether to apply focus to this tab. + */ + focus: prop_types_default.a.bool, + + /** + * When `true`, the class `.slds-is-active` is applied. + */ + selected: prop_types_default.a.bool, + + /** + * When `true`, the HTML attribute `aria-disabled` will be applied. Disabled Tab CSS has been removed. If you'd like to use the styling, please import it in your module bundler. `import 'css-loader!/node_modules/design-system-react/styles/tabs/tab.css';` This feature may be removed in the future due to disabled tabs being inaccessible. + */ + disabled: prop_types_default.a.bool, + + /** + * The CSS class to be applied when this tab is selected. Defaults to `.slds-is-active`. If another class is desired, it should be passed in _along with_ `.slds-is-active`, not _instead_ of it. + */ + activeTabClassName: prop_types_default.a.string, + + /** + * The CSS class to be applied when this tab is disabled. Defaults to `.slds-disabled`. If another class is desired, it should be passed in _along with_ `.slds-disabled`, not _instead_ of it. + */ + disabledTabClassName: prop_types_default.a.string, + + /** + * The HTML ID of `<TabPanel />` this tab controls. + */ + panelId: prop_types_default.a.string, + + /** + * The string or element that is shown as both the title and the label for this tab. + */ + children: prop_types_default.a.oneOfType([prop_types_default.a.string, prop_types_default.a.element]), + + /** + * If the Tabs should be scoped, vertical, or default (default value) + */ + variant: prop_types_default.a.oneOf(['default', 'scoped', 'vertical']), + + /** + * Show an icon that can be used to communicate when a tab contains a validation error that needs attention + */ + hasError: prop_types_default.a.bool, + + /** + * **Assistive text for accessibility** + * This object is merged with the default props object on every render. + * * `withErrorIcon`: This text is for the error icon that will be placed next to the `<Tab />` title + */ + assistiveText: prop_types_default.a.shape({ + withErrorIcon: prop_types_default.a.string + }) +}); + +tab_defineProperty(tab_Tab, "defaultProps", { + focus: false, + selected: false, + activeTabClassName: 'slds-is-active', + disabledTabClassName: 'slds-disabled', + variant: 'default', + hasError: false, + assistiveText: { + withErrorIcon: 'This item has an error' + } +}); + +/* harmony default export */ var tab = (tab_Tab); +// CONCATENATED MODULE: ./components/tabs/private/tab-panel.jsx +function tab_panel_objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = tab_panel_objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; } + +function tab_panel_objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; } + +/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */ + +/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */ +// # Tabs Component +// Implements the [Tabs design pattern](https://www.lightningdesignsystem.com/components/tabs/) in React. +// ## Dependencies +// ### React + + // ### classNames + + + +/** + * The containers of content that are shown and hidden by `Tabs`. + */ + +var tab_panel_TabPanel = function TabPanel(_ref) { + var className = _ref.className, + children = _ref.children, + variant = _ref.variant, + selected = _ref.selected, + id = _ref.id, + tabId = _ref.tabId, + attributes = tab_panel_objectWithoutProperties(_ref, ["className", "children", "variant", "selected", "id", "tabId"]); + + return /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + "aria-labelledby": tabId, + className: classnames_default()(className, { + 'slds-show': selected, + 'slds-hide': !selected, + 'slds-tabs_default__content': variant === 'default', + 'slds-tabs_scoped__content': variant === 'scoped', + 'slds-vertical-tabs__content': variant === 'vertical' + }), + id: id, + role: "tabpanel" + }, children.props.children); +}; + +tab_panel_TabPanel.displayName = TAB_PANEL; +tab_panel_TabPanel.propTypes = { + /** + * The `children` are the contents of the tab panel. + * + * Note that the structure of the `<Tabs />` component **does not** correspond to the DOM structure that is rendered. The `<Tabs />` component requires one or more children of type `<TabsPanel />`, which themselves require a `label` property which will be what shows in the `<Tab />` and has `children`, which end up being the _contents of the tab's corresponding panel_. + * + * The component iterates through each `<TabsPanel />` and rendering one `<Tab />` and one `<TabPanel />` for each of them. The tab(s) end up being children of the `<TabsList />`. + * + * The tab panel component actually returns the _children_ of the _children_ which were provided by the `<TabsPanel />` component. + * + * Due to React's nature, the `<TabsPanel />` component wraps its children in a `div` element which we don't need nor want in our rendered DOM structure, so we just bypass it and get its kids via `{children.props.children}` in the render method below. + * ``` + * <Tabs> + * <TabsPanel label="Tab 1"> + * <h2 className="slds-text-heading_medium">This is my tab 1 contents!</h2> + * <p>They show when you click the first tab.</p> + * </TabsPanel> + * <TabsPanel label="Tab 2"> + * <h2 className="slds-text-heading_medium">This is my tab 2 contents!</h2> + * <p>They show when you click the second tab.</p> + * </TabsPanel> + * </Tabs> + * ``` + */ + children: prop_types_default.a.oneOfType([prop_types_default.a.array, prop_types_default.a.object, prop_types_default.a.string]), + + /** + * CSS classes to be added to the tab panel. + */ + className: prop_types_default.a.string, + + /** + * The HTML ID of this tab panel. Also used by the `<Tab />`that controls it as `panelId`. + */ + id: prop_types_default.a.string, + + /** + * Whether this panel is hidden or shown. Uses the `.slds-show` and `.slds-hide` classes. + */ + selected: prop_types_default.a.bool, + + /** + * If the Tabs should be scoped, vertical, or default (default value) + */ + variant: prop_types_default.a.oneOf(['default', 'scoped', 'vertical']), + + /** + * The HTML ID of the `<Tab />` that controls this panel. + */ + tabId: prop_types_default.a.string +}; +tab_panel_TabPanel.defaultProps = { + variant: 'default', + selected: false +}; +/* harmony default export */ var tab_panel = (tab_panel_TabPanel); +// CONCATENATED MODULE: ./components/tabs/index.jsx +function tabs_typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { tabs_typeof = function _typeof(obj) { return typeof obj; }; } else { tabs_typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return tabs_typeof(obj); } + +function tabs_classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function tabs_defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function tabs_createClass(Constructor, protoProps, staticProps) { if (protoProps) tabs_defineProperties(Constructor.prototype, protoProps); if (staticProps) tabs_defineProperties(Constructor, staticProps); return Constructor; } + +function tabs_inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) tabs_setPrototypeOf(subClass, superClass); } + +function tabs_setPrototypeOf(o, p) { tabs_setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return tabs_setPrototypeOf(o, p); } + +function tabs_createSuper(Derived) { var hasNativeReflectConstruct = tabs_isNativeReflectConstruct(); return function _createSuperInternal() { var Super = tabs_getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = tabs_getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return tabs_possibleConstructorReturn(this, result); }; } + +function tabs_possibleConstructorReturn(self, call) { if (call && (tabs_typeof(call) === "object" || typeof call === "function")) { return call; } return tabs_assertThisInitialized(self); } + +function tabs_assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +function tabs_isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } } + +function tabs_getPrototypeOf(o) { tabs_getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return tabs_getPrototypeOf(o); } + +function tabs_defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +/* eslint-disable no-else-return */ + +/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */ + +/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */ +// # Tabs Component +// Implements the [Tabs design pattern](https://www.lightningdesignsystem.com/components/tabs/) in React. +// ## Dependencies +// ### React + + // ### shortid +// `shortid` is a short, non-sequential, url-friendly, unique id generator. It is used here to provide unique strings for the HTML attribute `id` on the Tabs components. It is only used if the `id` prop is not provided on the man <Tabs /> component. + + // ### classNames + + // ### isFunction + + // Child components + + + + // ## Constants + + // ### Event Helpers + + + // Determine if a node from event.target is a Tab element + +function isTabNode(node) { + return node.nodeName === 'A' && node.getAttribute('role') === 'tab' || node.nodeName === 'LI' && (node.classList.contains('slds-tabs_default__item') || node.classList.contains('slds-tabs_scoped__item') || node.classList.contains('slds-vertical-tabs__nav-item')); +} // Determine if a tab node is disabled + + +function isTabDisabled(node) { + if (node.classList && node.classList.contains('slds-disabled')) { + return true; + } else if (node.getAttribute) { + return node.getAttribute('aria-disabled') === 'true'; + } + + return !!node.props.disabled; +} +/** + * Tabs keeps related content in a single container that is shown and hidden through navigation. + */ + + +var tabs_displayName = TABS; +var tabs_propTypes = { + /** + * HTML `id` attribute of primary element that has `.slds-tabs_default` on it. Optional: If one is not supplied, a `shortid` will be created. + */ + id: prop_types_default.a.string, + + /** + * The `children` are the actual tabs and panels to be displayed. + * + * Note that the structure of the `<Tabs />` component **does not** correspond to the DOM structure that is rendered. The `<Tabs />` component requires one or more children of type `<TabsPanel />`, which themselves require a `label` property which will be what shows in the `<Tab />` and has `children`, which end up being the _contents of the tab's corresponding panel_. + * + * The component iterates through each `<TabsPanel />` and rendering one `<Tab />` and one `<TabPanel />` for each of them. The tab(s) end up being children of the `<TabsList />`. + * + * ``` + * <Tabs> + * <TabsPanel label="Tab 1"> + * <div> + * <h2 className="slds-text-heading_medium">This is my tab 1 contents!</h2> + * <p>They show when you click the first tab.</p> + * </div> + * </TabsPanel> + * <TabsPanel label="Tab 2"> + * <div> + * <h2 className="slds-text-heading_medium">This is my tab 2 contents!</h2> + * <p>They show when you click the second tab.</p> + * </div> + * </TabsPanel> + * </Tabs> + * ``` + */ + children: prop_types_default.a.oneOfType([prop_types_default.a.arrayOf(prop_types_default.a.node), prop_types_default.a.node, prop_types_default.a.element]).isRequired, + + /** + * Class names to be added to the container element and is passed along to its children. + */ + className: prop_types_default.a.oneOfType([prop_types_default.a.array, prop_types_default.a.object, prop_types_default.a.string]), + + /** + * The Tab (and corresponding TabPanel) that is selected when the component first renders. Defaults to `0`. + */ + defaultSelectedIndex: prop_types_default.a.number, + + /** + * This function triggers when a tab is selected. + */ + onSelect: prop_types_default.a.func, + + /** + * If the Tabs should be scoped, vertical, or default (default value) + */ + variant: prop_types_default.a.oneOf(['default', 'scoped', 'vertical']), + + /** + * The Tab (and corresponding TabPanel) that is currently selected. + */ + selectedIndex: prop_types_default.a.number +}; +var tabs_defaultProps = { + defaultSelectedIndex: 0, + variant: 'default' +}; +/** + * A tab keeps related content in a single container that is shown and hidden through navigation. + */ + +var tabs_Tabs = /*#__PURE__*/function (_React$Component) { + tabs_inherits(Tabs, _React$Component); + + var _super = tabs_createSuper(Tabs); + + function Tabs(props) { + var _this; + + tabs_classCallCheck(this, Tabs); + + _this = _super.call(this, props); + + tabs_defineProperty(tabs_assertThisInitialized(_this), "handleClick", function (e) { + var node = e.target; + /* eslint-disable no-cond-assign, fp/no-loops */ + + do { + if (_this.isTabFromContainer(node)) { + if (isTabDisabled(node)) { + return; + } + + var parentNode = node.parentNode; // eslint-disable-line prefer-destructuring + + if (parentNode.nodeName === 'LI') { + node = node.parentNode; + parentNode = node.parentNode; // eslint-disable-line prefer-destructuring + } + + var index = [].slice.call(parentNode.children).indexOf(node); + + _this.setSelected(index); + + return; + } + } while ((node = node.parentNode) !== null); + /* eslint-enable no-cond-assign */ + + }); + + tabs_defineProperty(tabs_assertThisInitialized(_this), "handleKeyDown", function (event) { + if (_this.isTabFromContainer(event.target)) { + var index = _this.getSelectedIndex(); + + var preventDefault = false; + + if (event.keyCode === key_code.LEFT || event.keyCode === key_code.UP) { + // Select next tab to the left + index = _this.getPrevTab(index); + preventDefault = true; + } else if (event.keyCode === key_code.RIGHT || event.keyCode === key_code.DOWN) { + // Select next tab to the right + index = _this.getNextTab(index); + preventDefault = true; + } // Prevent any dumn scrollbars from moving around as we type. + + + if (preventDefault) { + utilities_event.trap(event); + } + + _this.setSelected(index, true); + } + }); + + _this.tabs = []; // If no `id` is supplied in the props we generate one. An HTML ID is _required_ for several elements in a tabs component in order to leverage ARIA attributes for accessibility. + + _this.generatedId = shortid_default.a.generate(); + _this.flavor = _this.getVariant(); + _this.state = { + selectedIndex: props.defaultSelectedIndex + }; + return _this; + } + + tabs_createClass(Tabs, [{ + key: "getNextTab", + value: function getNextTab(index) { + var count = this.getTabsCount(); // Look for non-disabled tab from index to the last tab on the right + // eslint-disable-next-line no-plusplus + // eslint-disable-next-line no-plusplus, fp/no-loops + + for (var i = index + 1; i < count; i++) { + var tab = this.getTab(i); + + if (!isTabDisabled(tab)) { + return i; + } + } // If no tab found, continue searching from first on left to index + // eslint-disable-next-line no-plusplus, fp/no-loops + + + for (var _i = 0; _i < index; _i++) { + var _tab = this.getTab(_i); + + if (!isTabDisabled(_tab)) { + return _i; + } + } // No tabs are disabled, return index + + + return index; + } + }, { + key: "getPanelsCount", + value: function getPanelsCount() { + return this.props.children ? external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.Children.count(this.props.children) : 0; + } + }, { + key: "getPrevTab", + value: function getPrevTab(index) { + var i = index; // Look for non-disabled tab from index to first tab on the left + // eslint-disable-next-line fp/no-loops, no-plusplus + + while (i--) { + var tab = this.getTab(i); + + if (!isTabDisabled(tab)) { + return i; + } + } // If no tab found, continue searching from last tab on right to index + + + i = this.getTabsCount(); // eslint-disable-next-line fp/no-loops, no-plusplus + + while (i-- > index) { + var _tab2 = this.getTab(i); + + if (!isTabDisabled(_tab2)) { + return i; + } + } // No tabs are disabled, return index + + + return index; + } + }, { + key: "getSelectedIndex", + value: function getSelectedIndex() { + return Number.isInteger(this.props.selectedIndex) ? this.props.selectedIndex : this.state.selectedIndex; + } + }, { + key: "getTab", + value: function getTab(index) { + return this.tabs[index].tab; + } + }, { + key: "getTabNode", + value: function getTabNode(index) { + return this.tabs[index].node; + } + }, { + key: "getTabsCount", + value: function getTabsCount() { + return this.props.children ? external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.Children.count(this.props.children) : 0; + } + }, { + key: "getVariant", + value: function getVariant() { + return this.props.variant || 'default'; + } + }, { + key: "setSelected", + value: function setSelected(index, focus) { + // Check index boundary + if (index < 0 || index >= this.getTabsCount()) { + return; + } // Keep reference to last index for event handler + + + var last = this.getSelectedIndex(); + /** + * This is a temporary solution that could be broken in the future without notification, + * since this component is not a controlled component and only relies on internal state. + * If this breaks in the future an alternative way to control the state from outside the + * component should be present. + * */ + + var shouldContinue; // Call change event handler + + if (lodash_isfunction_default()(this.props.onSelect)) { + shouldContinue = this.props.onSelect(index, last); + } // Don't update the state if nothing has changed + + + if (shouldContinue !== false && index !== this.state.selectedIndex) { + this.setState({ + selectedIndex: index, + focus: focus === true + }); + } + } + }, { + key: "isTabFromContainer", + + /** + * Determine if a node from event.target is a Tab element for the current Tabs container. + * If the clicked element is not a Tab, it returns false. + * If it finds another Tabs container between the Tab and `this`, it returns false. + */ + value: function isTabFromContainer(node) { + // Return immediately if the clicked element is not a Tab. This prevents tab panel content from selecting a tab. + if (!isTabNode(node)) { + return false; + } // Check if the first occurrence of a Tabs container is `this` one. + + + var nodeAncestor = node.parentElement; + + do { + if (nodeAncestor === this.tabsNode) return true;else if (nodeAncestor.getAttribute('data-tabs')) break; + nodeAncestor = nodeAncestor.parentElement; + } while (nodeAncestor); + + return false; + } + }, { + key: "renderTabPanels", + value: function renderTabPanels(parentId) { + var _this2 = this; + + var children = external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.Children.toArray(this.props.children); + var selectedIndex = this.getSelectedIndex(); + var result = null; + result = children.map(function (child, index) { + var tabId = "".concat(parentId, "-slds-tabs_tab-").concat(index); + var id = "".concat(parentId, "-slds-tabs_panel-").concat(index); + var selected = selectedIndex === index; + + var variant = _this2.getVariant(); + + return /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(tab_panel, { + key: child.key, + selected: selected, + id: id, + tabId: tabId, + variant: variant + }, children[index]); + }); + return result; + } + }, { + key: "renderTabsList", + value: function renderTabsList(parentId) { + var _this3 = this; + + var children = external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.Children.toArray(this.props.children); + return ( + /*#__PURE__*/ + // `parentId` gets consumed by TabsList, adding a suffix of `-tabs__nav` + external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(tabs_list, { + id: parentId, + variant: this.getVariant() + }, children.map(function (child, index) { + var id = "".concat(parentId, "-slds-tabs_tab-").concat(index); + var panelId = "".concat(parentId, "-slds-tabs_panel-").concat(index); + var selected = _this3.getSelectedIndex() === index; + var focus = selected && _this3.state.focus; + + var variant = _this3.getVariant(); + + return /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(tab, { + key: child.key, + ref: function ref(node) { + _this3.tabs[index] = { + tab: child, + node: node + }; + + if (_this3.state.focus) { + _this3.setState({ + focus: false + }); + } + }, + focus: focus, + selected: selected, + id: id, + panelId: panelId, + disabled: child.props.disabled, + variant: variant, + hasError: child.props.hasError, + assistiveText: child.props.assistiveText + }, child.props.label); + })) + ); + } + }, { + key: "render", + value: function render() { + var _this4 = this; + + var _this$props = this.props, + className = _this$props.className, + _this$props$id = _this$props.id, + id = _this$props$id === void 0 ? this.generatedId : _this$props$id, + _this$props$variant = _this$props.variant, + variant = _this$props$variant === void 0 ? this.getVariant : _this$props$variant; + return ( + /*#__PURE__*/ + + /* eslint-disable jsx-a11y/no-static-element-interactions */ + external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + id: id, + className: classnames_default()({ + 'slds-tabs_default': variant === 'default', + 'slds-tabs_scoped': variant === 'scoped', + 'slds-vertical-tabs': variant === 'vertical' + }, className), + onClick: this.handleClick, + onKeyDown: this.handleKeyDown, + "data-tabs": true, + ref: function ref(node) { + _this4.tabsNode = node; + } + }, this.renderTabsList(id), this.renderTabPanels(id)) + ); + } + }]); + + return Tabs; +}(external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.Component); + +tabs_Tabs.displayName = tabs_displayName; +tabs_Tabs.propTypes = tabs_propTypes; +tabs_Tabs.defaultProps = tabs_defaultProps; +/* harmony default export */ var tabs = (tabs_Tabs); +// CONCATENATED MODULE: ./components/tabs/panel.jsx +/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */ + +/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */ + + + +/** + * The `<TabsPanel />` component allows us to simplify the structure of the `<Tabs />` component. + + * Rather than require different (deeply nested) children for tabslist, with its tab(s) as well as tabpanel(s), we provide this `TabsPanel` component which takes a `label` property that will become what is shown on the `<Tab />` that will be associated with it. + + * The `children` of the Panel will be fed to the `<TabPanel />` component, while its `label` is handled in `<Tab />`, via `<TabsList />`. + * + * ``` + * <TabsPanel label="Tab 1"> + * <div> + * <h2 className="slds-text-heading_medium">This is my tab 1 contents!</h2> + * <p>They show when you click the first tab.</p> + * </div> + * </TabsPanel> + * ``` + */ + +var panel_Panel = function Panel(_ref) { + var children = _ref.children; + return /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", null, external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.Children.toArray(children)); +}; + +panel_Panel.displayName = TABS_PANEL; +panel_Panel.propTypes = { + /** + * The string or element that is handed off to the `<Tab />` component, ends up being the title and the label for the tab associated with its tab panel. + */ + label: prop_types_default.a.oneOfType([prop_types_default.a.string, prop_types_default.a.element]).isRequired, + + /** + * The `children` are the actual tab panels to be rendered. They get created by [tabs/index.jsx](./index.jsx) in the `renderTabPanels` function. + * + * Note that the `<TabsPanel />` component inserts a `div` element around the children, because React requires exactly one "parent" element returned. The `<TabPanel />` component simply dips down into `children` to get the children of this wrapping `div` so that it does not get rendered in the DOM. + */ + children: prop_types_default.a.oneOfType([prop_types_default.a.arrayOf(prop_types_default.a.node), prop_types_default.a.node, prop_types_default.a.element]).isRequired, + + /** + * Show an icon on the `<Tab />` next to the title that can be used to communicate when a tab contains a validation error that needs attention + */ + hasError: prop_types_default.a.bool, + // deepscan-disable-line REACT_USELESS_PROP_TYPES + + /** + * **Assistive text for accessibility** + * This object is merged with the default props object on every render. + * * `withErrorIcon`: This text is for the error icon that will be placed next to the `<Tab />` title + */ + + /* deepscan-disable REACT_USELESS_PROP_TYPES */ + assistiveText: prop_types_default.a.shape({ + withErrorIcon: prop_types_default.a.string + }) + /* deepscan-enable REACT_USELESS_PROP_TYPES */ + +}; +/* harmony default export */ var tabs_panel = (panel_Panel); +// CONCATENATED MODULE: ./utilities/warning/incompatible-props.js +/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */ + +/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */ + +/* eslint-disable import/no-mutable-exports */ +// This function will deliver an error message to the browser console when all of the props passed in are undefined (falsey). + + +var incompatibleProps = function incompatiblePropsFunction() {}; + +if (false) {} + +/* harmony default export */ var incompatible_props = (incompatibleProps); +// CONCATENATED MODULE: ./components/popover/check-props.js +/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */ + +/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */ + +/* eslint-disable import/no-mutable-exports */ + +/* eslint-disable max-len */ + + + + + + +var popover_check_props_checkProps = function checkPropsFunction() {}; + +if (false) {} + +/* harmony default export */ var popover_check_props = (popover_check_props_checkProps); +// EXTERNAL MODULE: ./components/popover/component.json +var popover_component = __webpack_require__(43); + +// CONCATENATED MODULE: ./utilities/keyboard-navigable-dialog.js +/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */ + +/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */ +// # Assistive Technology / Keyboard Navigable Trait for Dialogs with Tabbable content + +/* + * Guidelines for Popover + * + * - Focus is trapped. Tabbing to an index outside of the dialog is not allowed. Popover must be closed first via ESC. + * - There should always be a focusable element inside, to place user focus on such as a close button + * - Must be dismissible via ESC and a close button + * - Uses tabIndex in wrapper and has tabbable items within it despite being outside document flow. + * - Entire popover receives focus when opened and has a aria-labelledby that points to the header id, so it will read the heading, + * - Must return focus to trigger after closing. + * - F6 will allow the user to keep popover open and go back to tabbing in “app-context” instead of “dialog-context.” (not implemented, yet) + */ +// ## Dependencies +// ### React + // ### Event Helpers + + +/* eslint-disable react/no-find-dom-node */ + +var keyboard_navigable_dialog_internalHandleClick = function internalHandleClick(_ref) { + var trigger = _ref.trigger, + eventTarget = _ref.eventTarget, + handleClick = _ref.handleClick; + + if (trigger && external_amd_react_dom_commonjs_react_dom_commonjs2_react_dom_root_ReactDOM_default.a.findDOMNode(trigger) === eventTarget) { + // eslint-disable-line react/no-find-dom-node + handleClick(event); + } +}; + +var keyboard_navigable_dialog_KeyboardNavigableDialog = function KeyboardNavigableDialog(_ref2) { + var isOpen = _ref2.isOpen, + handleClick = _ref2.handleClick, + keyCode = _ref2.keyCode, + eventTarget = _ref2.eventTarget, + trigger = _ref2.trigger, + toggleOpen = _ref2.toggleOpen; + + switch (keyCode) { + case key_code.ESCAPE: + if (isOpen) { + toggleOpen(); + } + + break; + + case key_code.ENTER: + if (!isOpen) { + keyboard_navigable_dialog_internalHandleClick({ + trigger: trigger, + eventTarget: eventTarget, + handleClick: handleClick + }); + } + + break; + + default: + break; + } +}; + +/* harmony default export */ var keyboard_navigable_dialog = (keyboard_navigable_dialog_KeyboardNavigableDialog); +// CONCATENATED MODULE: ./components/popover/popover.jsx +function popover_typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { popover_typeof = function _typeof(obj) { return typeof obj; }; } else { popover_typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return popover_typeof(obj); } + +function popover_ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; } + +function popover_objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { popover_ownKeys(Object(source), true).forEach(function (key) { popover_defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { popover_ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; } + +function popover_classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function popover_defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function popover_createClass(Constructor, protoProps, staticProps) { if (protoProps) popover_defineProperties(Constructor.prototype, protoProps); if (staticProps) popover_defineProperties(Constructor, staticProps); return Constructor; } + +function popover_inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) popover_setPrototypeOf(subClass, superClass); } + +function popover_setPrototypeOf(o, p) { popover_setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return popover_setPrototypeOf(o, p); } + +function popover_createSuper(Derived) { var hasNativeReflectConstruct = popover_isNativeReflectConstruct(); return function _createSuperInternal() { var Super = popover_getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = popover_getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return popover_possibleConstructorReturn(this, result); }; } + +function popover_possibleConstructorReturn(self, call) { if (call && (popover_typeof(call) === "object" || typeof call === "function")) { return call; } return popover_assertThisInitialized(self); } + +function popover_assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +function popover_isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } } + +function popover_getPrototypeOf(o) { popover_getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return popover_getPrototypeOf(o); } + +function popover_defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +/* eslint-disable max-lines */ + +/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */ + +/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */ +// # Popover Component +// Implements the [Popover design pattern](https://www.lightningdesignsystem.com/components/popovers) in React. +// ### React + + // ### classNames +// [github.com/JedWatson/classnames](https://github.com/JedWatson/classnames) +// This project uses `classnames`, "a simple javascript utility for conditionally +// joining classNames together." + + // ### isFunction + + // ### shortid +// [npmjs.com/package/shortid](https://www.npmjs.com/package/shortid) +// shortid is a short, non-sequential, url-friendly, unique id generator + + // This component's `checkProps` which issues warnings to developers about properties when in development mode (similar to React's built in development tools) + + + + + + // ### Children + + // #### KeyboardNavigable + + + + +var popover_documentDefined = typeof document !== 'undefined'; // The overlay is an optional way to allow the popover to close on outside +// clicks even when those clicks are over areas that wouldn't normally fire +// click or touch events (for example, iframes). A single overlay is shared +// between all popovers in the app. + +var popover_overlay = popover_documentDefined ? document.createElement('span') : { + style: {} +}; +popover_overlay.style.top = 0; +popover_overlay.style.left = 0; +popover_overlay.style.width = '100%'; +popover_overlay.style.height = '100%'; +popover_overlay.style.position = 'absolute'; +var currentOpenPopover; // FIXME - what is this exported for? Probably needs to be deprecated. + +var PopoverNubbinPositions = ['top left', 'top', 'top right', 'bottom left', 'bottom', 'bottom right']; +var popover_defaultProps = { + align: 'right', + assistiveText: { + closeButton: 'Close dialog' + }, + hasNoCloseButton: false, + hasNoNubbin: false, + hoverCloseDelay: 300, + openOn: 'click', + position: 'absolute', + variant: 'base' +}; +/** + * The Popover component is a non-modal dialog. It should be paired with a clickable trigger such as a `Button`. It traps focus from the page and must be exited if focus needs to be outside the Popover. Use a `Tooltip` if there are no call to actions within the dialog. A `Tooltip` does not need to be clicked. Multiple popovers open at the same time, each with focus trap is not supported. + */ + +var popover_Popover = /*#__PURE__*/function (_React$Component) { + popover_inherits(Popover, _React$Component); + + var _super = popover_createSuper(Popover); + + // ### Display Name + // Always use the canonical component name as the React display name. + // ### Prop Types + function Popover(_props) { + var _this; + + popover_classCallCheck(this, Popover); + + _this = _super.call(this, _props); + + popover_defineProperty(popover_assertThisInitialized(_this), "state", { + isOpen: false + }); + + popover_defineProperty(popover_assertThisInitialized(_this), "getId", function () { + return _this.props.id || _this.generatedId; + }); + + popover_defineProperty(popover_assertThisInitialized(_this), "getIsOpen", function () { + return !_this.props.disabled && !!(typeof _this.props.isOpen === 'boolean' ? _this.props.isOpen : _this.state.isOpen); + }); + + popover_defineProperty(popover_assertThisInitialized(_this), "getMenu", function () { + return (// needed by keyboard navigation + _this.dialog + ); + }); + + popover_defineProperty(popover_assertThisInitialized(_this), "getTargetElement", function () { + return _this.props.onRequestTargetElement && _this.props.onRequestTargetElement() ? _this.props.onRequestTargetElement() : _this.trigger; + }); + + popover_defineProperty(popover_assertThisInitialized(_this), "setMenuRef", function (component) { + _this.dialog = component; + }); + + popover_defineProperty(popover_assertThisInitialized(_this), "setContainerRef", function (component) { + _this.trigger = component; // yes, this is a re-render triggered by a render. + // Dialog/Popper.js cannot place the popover until + // the trigger/target DOM node is mounted. This + // way `findDOMNode` is not called and parent + // DOM nodes are not queried. + + if (!_this.state.inputRendered) { + _this.setState({ + inputRendered: true + }); + } + }); + + popover_defineProperty(popover_assertThisInitialized(_this), "handleDialogClose", function (event, data) { + var componentWillUnmount = data && data.componentWillUnmount || false; + + if (currentOpenPopover === popover_assertThisInitialized(_this)) { + currentOpenPopover = undefined; + } + + if (_this.props.onClose) { + _this.props.onClose(event, { + // Breaking change: component object reference has been + // removed (`this`), due to endless loop creation. + componentWillUnmount: componentWillUnmount + }); + } + }); + + popover_defineProperty(popover_assertThisInitialized(_this), "handleClose", function (event, data) { + var isOpen = _this.getIsOpen(); + + if (isOpen) { + // call even if closed + if (_this.props.onRequestClose) { + _this.props.onRequestClose(event, data); + } + + if (currentOpenPopover === popover_assertThisInitialized(_this)) { + currentOpenPopover = undefined; + } + + _this.setState({ + isOpen: false + }); + + _this.isHover = false; + } + }); + + popover_defineProperty(popover_assertThisInitialized(_this), "handleOpen", function () { + var isOpen = _this.getIsOpen(); + + if (!isOpen) { + if (currentOpenPopover && lodash_isfunction_default()(currentOpenPopover.handleClose)) { + currentOpenPopover.handleClose(undefined, { + trigger: 'newPopover', + id: currentOpenPopover.getId() + }); + } + + currentOpenPopover = popover_assertThisInitialized(_this); + + _this.setState({ + isOpen: true + }); + } + }); + + popover_defineProperty(popover_assertThisInitialized(_this), "handleMouseEnter", function (event) { + var isOpen = _this.getIsOpen(); + + _this.isHover = true; + + if (!isOpen && _this.props.openOn === 'hover') { + _this.handleOpen(); + } else { + // we want this clear when openOn is hover or hybrid + clearTimeout(_this.isClosing); + } + + if (_this.props.onMouseEnter) { + _this.props.onMouseEnter(event); + } + }); + + popover_defineProperty(popover_assertThisInitialized(_this), "handleMouseLeave", function (event) { + var isOpen = _this.getIsOpen(); + + if (isOpen) { + _this.isClosing = setTimeout(function () { + _this.handleClose(); + }, _this.props.hoverCloseDelay); + } + + if (_this.props.onMouseLeave) { + _this.props.onMouseLeave(event); + } + }); + + popover_defineProperty(popover_assertThisInitialized(_this), "handleClick", function (event, _ref) { + var triggerOnClickCallback = _ref.triggerOnClickCallback; + + var isOpen = _this.getIsOpen(); + + if (!isOpen) { + _this.handleOpen(); + } else { + _this.handleClose(); + } + + if (_this.props.onClick) { + _this.props.onClick(event); + } + + if (triggerOnClickCallback) { + triggerOnClickCallback(event); + } + }); + + popover_defineProperty(popover_assertThisInitialized(_this), "handleFocus", function (event) { + var isOpen = _this.getIsOpen(); + + if (!isOpen) { + _this.handleOpen(); + } + + if (_this.props.onFocus) { + _this.props.onFocus(event); + } + }); + + popover_defineProperty(popover_assertThisInitialized(_this), "handleKeyDown", function (event) { + if (event.keyCode) { + if (event.keyCode !== key_code.TAB) { + var isOpen = _this.getIsOpen(); + + keyboard_navigable_dialog({ + event: event, + isOpen: isOpen, + handleClick: _this.handleClick, + key: event.key, + keyCode: event.keyCode, + targetTarget: event.target, + toggleOpen: _this.toggleOpenFromKeyboard, + trigger: _this.trigger + }); + } + + if (_this.props.onKeyDown) { + _this.props.onKeyDown(event); + } + } + }); + + popover_defineProperty(popover_assertThisInitialized(_this), "handleCancel", function (event) { + _this.handleClose(event, { + trigger: 'cancel' + }); + }); + + popover_defineProperty(popover_assertThisInitialized(_this), "handleClickOutside", function (event) { + _this.handleClose(event, { + trigger: 'clickOutside' + }); + }); + + popover_defineProperty(popover_assertThisInitialized(_this), "toggleOpenFromKeyboard", function (event) { + var isOpen = _this.getIsOpen(); + + if (isOpen) { + _this.handleCancel(event); + } else { + _this.handleOpen(); + } + }); + + popover_defineProperty(popover_assertThisInitialized(_this), "renderDialog", function (isOpen, outsideClickIgnoreClass) { + var _assertThisInitialize = popover_assertThisInitialized(_this), + props = _assertThisInitialize.props; + + var offset = props.offset; + + var assistiveText = popover_objectSpread(popover_objectSpread({}, popover_defaultProps.assistiveText), _this.props.assistiveText); + + var closeButtonAssistiveText = props.closeButtonAssistiveText || assistiveText.closeButton; // HEADER SUB-RENDERS + + var hasThemedHeader = _this.props.variant === 'error' || _this.props.variant === 'warning'; + var hasDefinedHeader = _this.props.heading || hasThemedHeader; + var headerIcon = { + error: /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(components_icon, { + category: "utility", + name: "error", + size: "x-small", + inverse: true + }), + warning: /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(components_icon, { + category: "utility", + name: "warning", + size: "x-small", + inverse: true + }) + }; + var headerVariants = { + base: /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("header", { + className: classnames_default()('slds-popover__header', { + 'slds-p-vertical_medium': props.variant === 'walkthrough' + }) + }, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("h2", { + id: _this.props.ariaLabelledby || "".concat(_this.getId(), "-dialog-heading"), + className: classnames_default()({ + 'slds-text-heading_small': props.variant !== 'walkthrough', + 'slds-text-heading_medium': props.variant === 'walkthrough' + }) + }, _this.props.heading)), + themed: /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("header", { + className: "slds-popover__header" + }, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(media_object, { + body: /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("h2", { + id: _this.props.ariaLabelledby || "".concat(_this.getId(), "-dialog-heading"), + className: "slds-truncate slds-text-heading_medium", + title: props.heading + }, props.heading), + figure: headerIcon[_this.props.variant], + verticalCenter: true + })) + }; + var header = null; + + if (hasDefinedHeader && props.variant !== 'walkthrough-action' && props.variant !== 'feature') { + header = headerVariants[hasThemedHeader ? 'themed' : 'base']; + } // BODY SUB-RENDERS + + + var body = null; + + if (props.variant === 'error' || props.variant === 'warning') { + body = + /*#__PURE__*/ + // THIS WRAPPING DIV IS NOT IN SLDS MARKUP + external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", null, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + id: "".concat(_this.getId(), "-dialog-body"), + className: classnames_default()('slds-popover__body', _this.props.classNameBody) // REMOVE IN THE FUTURE: SLDS OVERRIDE + // Possible solution in future is to use .slds-popover__body_small + , + style: { + borderBottom: 'none' + } + }, props.body), /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + // GRADIENT FOOTER - SLDS OVERRIDE + // REMOVE IN THE FUTURE (HOPEFULLY) + style: { + position: 'absolute', + bottom: 0, + left: 0, + width: '100%', + textAlign: 'center', + margin: 0, + padding: '5px 0', + + /* "transparent" only works here because == rgba(0,0,0,0) */ + backgroundImage: 'linear-gradient(to bottom, transparent, rgba(255,255,255,100)' + } + })); + } else if (props.variant === 'walkthrough-action' || props.variant === 'feature') { + body = /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: classnames_default()('slds-popover__body', _this.props.classNameBody), + id: "".concat(_this.getId(), "-dialog-body") + }, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: "slds-media" + }, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: "slds-media__figure" + }, props.variant === 'walkthrough-action' ? /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(components_icon, { + category: "utility", + name: "touch_action", + size: "small", + inverse: true + }) : _this.props.icon), /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: "slds-media__body" + }, props.heading ? /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("h2", { + id: _this.props.ariaLabelledby || "".concat(_this.getId(), "-dialog-heading"), + className: "slds-text-heading_small" + }, props.heading) : null, props.body, props.stepText ? /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("p", { + className: "slds-m-top_medium slds-text-title" + }, props.stepText) : null))); + } else { + body = + /*#__PURE__*/ + // DEFAULT - NOT SCROLLABLE + external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + id: "".concat(_this.getId(), "-dialog-body"), + className: classnames_default()('slds-popover__body', _this.props.classNameBody) + }, props.body); + } // FOOTER SUB-RENDERS + + + var footer = null; + + if (props.footer) { + footer = /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("footer", { + className: classnames_default()('slds-popover__footer', _this.props.classNameFooter, _this.props.footerClassName), + style: _this.props.footerStyle + }, _this.props.footer); + } else if (props.variant !== 'walkthrough-action' && (props.footerWalkthroughActions || props.stepText)) { + footer = /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("footer", { + className: "slds-popover__footer" + }, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: "slds-grid slds-grid_vertical-align-center" + }, props.stepText ? /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("span", { + className: "slds-text-title" + }, props.stepText) : null, props.footerWalkthroughActions ? /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: "slds-col_bump-left", + style: { + display: 'inline-block' + } + }, props.footerWalkthroughActions) : null)); + } // MAIN RENDER + + + return isOpen ? /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(dialog, { + hasNubbin: !_this.props.hasNoNubbin, + align: props.align, + contentsClassName: classnames_default()(_this.props.contentsClassName, 'ignore-react-onclickoutside', 'slds-popover', { + 'slds-popover_error': props.variant === 'error' + }, { + 'slds-popover_walkthrough': props.variant === 'walkthrough' || props.variant === 'walkthrough-action' || props.variant === 'feature' + }, { + 'slds-popover_walkthrough-alt': props.variant === 'walkthrough-action' + }, { + 'slds-popover_feature': props.variant === 'feature' + }, { + 'slds-popover_warning': props.variant === 'warning' + }, props.className), + context: _this.context, + hasStaticAlignment: props.hasStaticAlignment, + offset: offset, + onCancel: _this.handleClose, + onClose: _this.handleDialogClose, + onOpen: _this.props.onOpen, + onKeyDown: _this.handleKeyDown, + onMouseEnter: props.openOn === 'hover' ? _this.handleMouseEnter : null, + onMouseLeave: props.openOn === 'hover' ? _this.handleMouseLeave : null, + outsideClickIgnoreClass: outsideClickIgnoreClass, + onRequestTargetElement: function onRequestTargetElement() { + return _this.getTargetElement(); + }, + position: _this.props.position, + style: _this.props.style, + variant: "popover", + ref: _this.setMenuRef, + containerProps: { + id: "".concat(_this.getId(), "-popover"), + 'aria-labelledby': _this.props.ariaLabelledby || "".concat(_this.getId(), "-dialog-heading"), + 'aria-describedby': "".concat(_this.getId(), "-dialog-body") + } + }, !_this.props.hasNoCloseButton && /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(components_button, { + assistiveText: { + icon: closeButtonAssistiveText + }, + iconCategory: "utility", + iconName: "close", + className: classnames_default()('slds-button slds-button_icon-small slds-float_right slds-popover__close slds-button_icon', { + 'slds-button_icon-inverse': props.variant === 'walkthrough' || props.variant === 'walkthrough-action' || props.variant === 'feature' + }), + onClick: _this.handleCancel, + variant: "icon", + inverse: _this.props.variant === 'error' || _this.props.variant === 'warning' + }), header, body, footer) : null; + }); + + popover_defineProperty(popover_assertThisInitialized(_this), "renderOverlay", function (isOpen) { + if (lodash_isfunction_default()(popover_overlay) && popover_documentDefined) { + popover_overlay(isOpen, popover_overlay); + } else if (_this.props.overlay && isOpen && !_this.overlay && popover_documentDefined) { + _this.overlay = popover_overlay; + document.querySelector('body').appendChild(_this.overlay); + } else if (!isOpen && _this.overlay && _this.overlay.parentNode) { + _this.overlay.parentNode.removeChild(_this.overlay); + + _this.overlay = undefined; + } + }); + + _this.generatedId = shortid_default.a.generate(); // `checkProps` issues warnings to developers about properties (similar to React's built in development tools) + + popover_check_props(POPOVER, _props, popover_component); + return _this; + } + + popover_createClass(Popover, [{ + key: "componentWillUnmount", + value: function componentWillUnmount() { + if (currentOpenPopover === this) { + currentOpenPopover = undefined; + } + + this.isUnmounting = true; + this.renderOverlay(false); + } + }, { + key: "render", + value: function render() { + var _this2 = this; + + var otherChildren = []; + var outsideClickIgnoreClass = "ignore-click-".concat(this.getId()); + var clonedTrigger = null; + external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.Children.forEach(this.props.children, function (child, index) { + if (index === 0) { + clonedTrigger = /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.cloneElement(child, popover_objectSpread({ + 'aria-haspopup': 'dialog', + id: _this2.getId(), + onClick: _this2.props.openOn === 'click' || _this2.props.openOn === 'hybrid' ? function (event) { + _this2.handleClick(event, { + triggerOnClickCallback: child.props.onClick + }); + } : child.props.onClick, + onFocus: _this2.props.openOn === 'hover' ? _this2.handleFocus : null, + onMouseDown: _this2.props.onMouseDown, + onMouseEnter: _this2.props.openOn === 'hover' || _this2.props.openOn === 'hybrid' ? _this2.handleMouseEnter : null, + onMouseLeave: _this2.props.openOn === 'hover' || _this2.props.openOn === 'hybrid' ? _this2.handleMouseLeave : null, + tabIndex: child.props.tabIndex || '0' + }, child.props)); + } else { + // eslint-disable-next-line fp/no-mutating-methods + otherChildren.push(child); + } + }); + this.renderOverlay(this.getIsOpen()); + var containerStyles = { + display: this.props.hasNoTriggerStyles ? undefined : 'inline-block' + }; + return /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: this.props.triggerClassName, + style: containerStyles, + ref: this.setContainerRef + }, clonedTrigger, otherChildren.length > 0 ? otherChildren : null, this.renderDialog(this.getIsOpen(), outsideClickIgnoreClass)); + } + }]); + + return Popover; +}(external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.Component); + +popover_defineProperty(popover_Popover, "displayName", POPOVER); + +popover_defineProperty(popover_Popover, "propTypes", { + /** + * Aligns the popover with the respective side of the trigger. That is `top` will place the `Popover` above the trigger. + */ + align: prop_types_default.a.oneOf(['top', 'top left', 'top right', 'right', 'right top', 'right bottom', 'bottom', 'bottom left', 'bottom right', 'left', 'left top', 'left bottom']), + + /** + * **Assistive text for accessibility.** + * This object is merged with the default props object on every render. + * * `closeButton`: This is a visually hidden label for the close button. + */ + assistiveText: prop_types_default.a.shape({ + closeButton: prop_types_default.a.string + }), + + /** + * HTML `id` of heading for popover. Only use if your header is within your popover body. + */ + ariaLabelledby: prop_types_default.a.string, + + /** + * Multiple children of any kind are allowed, but the first child must serve as the trigger component. Many props will be passed into this trigger related to popover interactions. The trigger needs to be a clickable element, such as a `Button` or an anchor tag (`a`). + */ + children: prop_types_default.a.node.isRequired, + + /** + * The contents of the popover. This should also accept arrays. + */ + body: prop_types_default.a.oneOfType([prop_types_default.a.node, prop_types_default.a.array]).isRequired, + + /** + * CSS classes to be added to the popover footer. That is the element with `.slds-popover__body` on it. + */ + classNameBody: prop_types_default.a.oneOfType([prop_types_default.a.array, prop_types_default.a.object, prop_types_default.a.string]), + + /** + * CSS classes to be added to the popover footer. That is the element with `.slds-popover__footer` on it. + */ + classNameFooter: prop_types_default.a.oneOfType([prop_types_default.a.array, prop_types_default.a.object, prop_types_default.a.string]), + + /** + * This prop is passed onto the triggering `Button`. Prevent popover from opening. Also applies disabled styling to trigger button. + */ + disabled: prop_types_default.a.bool, + + /** + * A footer is an optional. Buttons are often placed here. + */ + footer: prop_types_default.a.node, + + /** + * An object of CSS styles that are applied to the `slds-popover__footer` DOM element. + */ + footerStyle: prop_types_default.a.object, + + /** + * Used with `walkthrough` variant to provide action buttons (ex: "Next" / "Skip" / etc) for a walkthrough popover footer. Accepts either a single node or array of nodes for multiple buttons. + */ + footerWalkthroughActions: prop_types_default.a.oneOfType([prop_types_default.a.node, prop_types_default.a.arrayOf(prop_types_default.a.node)]), + + /** + * Determines if the popover has a close button or not. Default is `false` + */ + hasNoCloseButton: prop_types_default.a.bool, + + /** + * Determines if the popover has a nubbin or not. Default is `false` + */ + hasNoNubbin: prop_types_default.a.bool, + + /** + * Prevents the Popover from changing position based on the viewport/window. If set to true your popover can extend outside the viewport _and_ overflow outside of a scrolling parent. If this happens, you might want to consider making the popover contents scrollable to fit the menu on the screen. When enabled, `position` `absolute` is used. + */ + hasStaticAlignment: prop_types_default.a.bool, + + /** + * Removes `display:inline-block` from the trigger button. + */ + hasNoTriggerStyles: prop_types_default.a.bool, + + /** + * All popovers require a heading that labels the popover for assistive technology users. This text will be placed within a heading HTML tag, or in an h2 within the popover body if used with `variant="walkthrough-action"`. A heading is **highly recommended for accessibility reasons.** Please see `ariaLabelledby` prop. + */ + heading: prop_types_default.a.oneOfType([prop_types_default.a.string, prop_types_default.a.node]), + + /** + * Icon displayed in the `feature` variant + */ + icon: prop_types_default.a.node, + + /** + * By default, a unique ID will be created at render to support keyboard navigation, ARIA roles, and connect the popover to the triggering button. This ID will be applied to the triggering element. `${id}-popover`, `${id}-dialog-heading`, `${id}-dialog-body` are also created. + */ + id: prop_types_default.a.string, + + /** + * Forces the popover to be open or closed. See controlled/uncontrolled callback/prop pattern for more on suggested use [](https://github.com/salesforce-ux/design-system-react/blob/master/CONTRIBUTING.md#concepts-and-best-practices) You will want this if Popover is to be a controlled component. + */ + isOpen: prop_types_default.a.bool, + + /** + * This function is passed onto the triggering `Button`. Triggered when the trigger button is clicked. You will want this if Popover is to be a controlled component. + */ + onClick: prop_types_default.a.func, + + /** + * This function is triggered when the dialog is closed. This occurs when the Dialog child component (that is the actual popover) is unmounted and removed from the DOM. This function returns `{event, { trigger, componentWillUnmount }`. Trigger can have the values `cancel`, `clickOutside`, or `newPopover`. + */ + onClose: prop_types_default.a.func, + + /** + * Called when a key is pressed. + */ + onKeyDown: prop_types_default.a.func, + + /** + * Called when mouse clicks down on the trigger button. + */ + onMouseDown: prop_types_default.a.func, + + /** + * This function is triggered when the Dialog child component (that is the actual popover) is mounted and added to the DOM. The parameters are `event, { portal: }`. `portal` can be used as a React tree root node. + */ + onOpen: prop_types_default.a.func, + + /** + * This function is triggered when the user clicks outside the Popover or clicks the close button. You will want to define this if Popover is to be a controlled component. Most of the time you will want to set `isOpen` to `false` when this is triggered unless you need to validate something. + */ + onRequestClose: prop_types_default.a.func, + + /** + * Callback that returns an element or React `ref` to align the Popover with. If the target element has not been rendered yet, the popover will use the triggering element as the attachment target instead. NOTE: `position="relative"` is not compatible with custom targets that are not the triggering element. + */ + onRequestTargetElement: prop_types_default.a.func, + + /** + * Please select one of the following: + * * `absolute` - (default) The dialog will use `position: absolute` and style attributes to position itself. This allows inverted placement or flipping of the dialog. + * * `overflowBoundaryElement` - The dialog will overflow scrolling parents. Use on elements that are aligned to the left or right of their target and don't care about the target being within a scrolling parent. Typically this is a popover or tooltip. Dropdown menus can usually open up and down if no room exists. In order to achieve this a portal element will be created and attached to `body`. This element will render into that detached render tree. + * * `relative` - No styling or portals will be used. Menus will be positioned relative to their triggers. This is a great choice for HTML snapshot testing. NOTE: this setting is not compatible with custom targets outside the trigger + */ + position: prop_types_default.a.oneOf(['absolute', 'overflowBoundaryElement', 'relative']), + + /** + * Used with `walkthrough` variant to provide the step text (ex: "Step 1 of 4") for a walkthrough popover footer. If used with `variant="walkthrough-action"`, it will be placed in the popover body. + */ + stepText: prop_types_default.a.string, + + /** + * An object of CSS styles that are applied to the `slds-popover` DOM element. + */ + style: prop_types_default.a.object, + + /** + * If `true`, adds a transparent overlay when the menu is open to handle outside clicks. Allows clicks on iframes to be captured, but also forces a double-click to interact with other elements. If a function is passed, custom overlay logic may be defined by the app. + */ + overlay: prop_types_default.a.oneOfType([prop_types_default.a.bool, prop_types_default.a.func]), + + /** + * CSS classes to be added to wrapping trigger `div` around the button. + */ + triggerClassName: prop_types_default.a.oneOfType([prop_types_default.a.array, prop_types_default.a.object, prop_types_default.a.string]), + + /** + * Determines the type of the popover. `error` and `warning` allows the content body to scroll. Default is `base` _Tested with snaphots._ + */ + variant: prop_types_default.a.oneOf(['base', 'error', 'feature', 'walkthrough', 'walkthrough-action', 'warning']) +}); + +popover_defineProperty(popover_Popover, "defaultProps", popover_defaultProps); + +popover_Popover.contextTypes = { + iconPath: prop_types_default.a.string +}; +/* harmony default export */ var popover = (popover_Popover); + +// CONCATENATED MODULE: ./components/popover/index.jsx +/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */ + +/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */ +// ### onClickOutside +// Listen for clicks that occur somewhere in the document, outside of the element itself + + +/* harmony default export */ var components_popover = (react_onclickoutside_es(popover)); +// EXTERNAL MODULE: ./components/color-picker/component.json +var color_picker_component = __webpack_require__(44); + +// CONCATENATED MODULE: ./components/color-picker/index.jsx +function color_picker_typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { color_picker_typeof = function _typeof(obj) { return typeof obj; }; } else { color_picker_typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return color_picker_typeof(obj); } + +function color_picker_classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function color_picker_defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function color_picker_createClass(Constructor, protoProps, staticProps) { if (protoProps) color_picker_defineProperties(Constructor.prototype, protoProps); if (staticProps) color_picker_defineProperties(Constructor, staticProps); return Constructor; } + +function color_picker_inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) color_picker_setPrototypeOf(subClass, superClass); } + +function color_picker_setPrototypeOf(o, p) { color_picker_setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return color_picker_setPrototypeOf(o, p); } + +function color_picker_createSuper(Derived) { var hasNativeReflectConstruct = color_picker_isNativeReflectConstruct(); return function _createSuperInternal() { var Super = color_picker_getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = color_picker_getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return color_picker_possibleConstructorReturn(this, result); }; } + +function color_picker_possibleConstructorReturn(self, call) { if (call && (color_picker_typeof(call) === "object" || typeof call === "function")) { return call; } return color_picker_assertThisInitialized(self); } + +function color_picker_assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +function color_picker_isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } } + +function color_picker_getPrototypeOf(o) { color_picker_getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return color_picker_getPrototypeOf(o); } + +function color_picker_defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +/* eslint-disable max-lines */ + +/* eslint-disable react/sort-comp */ + + + + + + + + + + + + + + + + + +var color_picker_propTypes = { + /** + * **Assistive text for accessibility** + * * `label`: Visually hidden label but read out loud by screen readers. + * * `hueSlider`: Instructions for hue selection input + * * `saturationValueGrid`: Instructions for using the grid for saturation + * and value selection + */ + assistiveText: prop_types_default.a.shape({ + label: prop_types_default.a.string, + hueSlider: prop_types_default.a.string, + saturationValueGrid: prop_types_default.a.string + }), + + /** + * CSS classes to be added to tag with `.slds-color-picker`. Uses `classNames` [API](https://github.com/JedWatson/classnames). _Tested with snapshot testing._ + */ + className: prop_types_default.a.oneOfType([prop_types_default.a.array, prop_types_default.a.object, prop_types_default.a.string]), + + /** + * CSS classes to be added to tag with `.slds-popover`. Uses `classNames` [API](https://github.com/JedWatson/classnames). _Tested with snapshot testing._ + */ + classNameMenu: prop_types_default.a.oneOfType([prop_types_default.a.array, prop_types_default.a.object, prop_types_default.a.string]), + + /** + * Unique ID for component. + */ + id: prop_types_default.a.string, + + /** + * Disables the input and button. + */ + disabled: prop_types_default.a.bool, + + /** + * Message to display when the outer input is in an error state. When this is present, also visually highlights the component as in error. + */ + errorText: prop_types_default.a.string, + + /** + * Message to display when the custom tab input is in an error state. When this is present, also visually highlights the component as in error. + */ + errorTextWorkingColor: prop_types_default.a.string, + + /** + * Event Callbacks + * * `onChange`: This function is triggered when done is clicked. This function returns `{event, { color: [string] }}`, which is a hex representation of the color. + * * `onClose`: This function is triggered when the menu is closed. This function returns `{event, { trigger, componentWillUnmount }}`. Trigger can have the values `cancel`, `clickOutside`, or `newPopover`. + * * `onOpen`: This function is triggered when the color-picker menu is mounted and added to the DOM. The parameters are `event, { portal: }`. `portal` can be used as a React tree root node. + * * `onRequestClose`: This function is triggered when the user clicks outside the menu or clicks the close button. You will want to define this if color-picker is to be a controlled component. Most of the time you will want to set `isOpen` to `false` when this is triggered unless you need to validate something. + * This function returns `{event, {trigger: [string]}}` where `trigger` is either `cancel` or `clickOutside`. + * * `onRequestOpen`: Function called when the color-picker menu would like show. + * * `onValidateColor`: Function that overwrites default color validator and called when validating HEX color on outer input change. If callback returns false, errorText is shown if set. + * * `onValidateWorkingColor`: Function that overwrites default color validator and called when validating HEX color on custom tab inner input change. If callback returns false, errorTextWorkingColor is shown if set. + * * `onWorkingColorChange`: This function is triggered when working color changes (color inside the custom tab). This function returns `{event, { color: [string] }}`, which is a hex representation of the color. + * _Tested with Mocha framework._ + */ + events: prop_types_default.a.shape({ + onChange: prop_types_default.a.func, + onClose: prop_types_default.a.func, + onOpen: prop_types_default.a.func, + onRequestClose: prop_types_default.a.func, + onRequestOpen: prop_types_default.a.func, + onValidateColor: prop_types_default.a.func, + onValidateWorkingColor: prop_types_default.a.func, + onWorkingColorChange: prop_types_default.a.func + }), + + /** + * By default, dialogs will flip their alignment (such as bottom to top) if they extend beyond a boundary element such as a scrolling parent or a window/viewpoint. `hasStaticAlignment` disables this behavior and allows this component to extend beyond boundary elements. _Not tested._ + */ + hasStaticAlignment: prop_types_default.a.bool, + + /** + * Hides the text input + */ + hideInput: prop_types_default.a.bool, + + /** + * Popover open state + */ + isOpen: prop_types_default.a.bool, + + /** + * **Text labels for internationalization** + * * `blueAbbreviated`: One letter abbreviation of blue color component + * * `cancelButton`: Text for cancel button on popover + * * `customTab`: Text for custom tab of popover + * * `customTabActiveWorkingColorSwatch`: Label for custom tab active working color swatch + * * `customTabTransparentSwatch`: Label for custom tab active transparent swatch + * * `greenAbbreviated`: One letter abbreviation of green color component + * * `hexLabel`: Label for input of hexadecimal color + * * `invalidColor`: Error message when hex color input is invalid + * * `invalidComponent`: Error message when a component input is invalid + * * `label`: An `input` label as for a `form` + * * `redAbbreviated`: One letter abbreviation of red color component + * * `swatchTab`: Label for swatch tab of popover + * * `submitButton`: Text for submit/done button of popover + */ + labels: prop_types_default.a.shape({ + blueAbbreviated: prop_types_default.a.string, + cancelButton: prop_types_default.a.string, + customTab: prop_types_default.a.string, + customTabActiveWorkingColorSwatch: prop_types_default.a.string, + customTabTransparentSwatch: prop_types_default.a.string, + greenAbbreviated: prop_types_default.a.string, + hexLabel: prop_types_default.a.string, + invalidColor: prop_types_default.a.string, + invalidComponent: prop_types_default.a.string, + label: prop_types_default.a.string, + redAbbreviated: prop_types_default.a.string, + swatchTab: prop_types_default.a.string, + swatchTabTransparentSwatch: prop_types_default.a.string, + submitButton: prop_types_default.a.string + }), + + /** + * Please select one of the following: + * * `absolute` - (default) The dialog will use `position: absolute` and style attributes to position itself. This allows inverted placement or flipping of the dialog. + * * `overflowBoundaryElement` - The dialog will overflow scrolling parents. Use on elements that are aligned to the left or right of their target and don't care about the target being within a scrolling parent. Typically this is a popover or tooltip. Dropdown menus can usually open up and down if no room exists. In order to achieve this a portal element will be created and attached to `body`. This element will render into that detached render tree. + * * `relative` - No styling or portals will be used. Menus will be positioned relative to their triggers. This is a great choice for HTML snapshot testing. + */ + menuPosition: prop_types_default.a.oneOf(['absolute', 'overflowBoundaryElement', 'relative']), + + /** + * An array of hex color values which is used to set the options of the + * swatch tab of the colorpicker popover. + * To specify transparent, use empty string as a value. + */ + swatchColors: prop_types_default.a.arrayOf(prop_types_default.a.string), + + /** + * Determines which tab is visible when dialog opens. Use this prop with `base` variant only. + * Defaults to `swatch` tab. + */ + defaultSelectedTab: prop_types_default.a.oneOf(['swatches', 'custom']), + + /** + * Selects which tabs are present for the colorpicker. + * * `base`: both swatches and custom tabs are present + * * `swatches`: only swatch tab is present + * * `custom`: only custom tab is present + * _Tested with snapshot testing._ + */ + variant: prop_types_default.a.oneOf(['base', 'swatches', 'custom']), + + /** + * Current color in hexadecimal string, including # sign (eg: "#000000") + */ + value: prop_types_default.a.string, + + /** + * Current working color in hexadecimal string, including # sign (eg: "#000000") + */ + valueWorking: prop_types_default.a.string +}; +var color_picker_defaultProps = { + assistiveText: { + saturationValueGrid: 'Use arrow keys to select a saturation and brightness, on an x and y axis.', + hueSlider: 'Select Hue' + }, + events: {}, + labels: { + blueAbbreviated: 'B', + cancelButton: 'Cancel', + customTab: 'Custom', + customTabActiveWorkingColorSwatch: 'Working Color', + customTabTransparentSwatch: 'Transparent Swatch', + greenAbbreviated: 'G', + hexLabel: 'Hex', + invalidColor: 'The color entered is invalid', + invalidComponent: 'The value needs to be an integer from 0-255', + redAbbreviated: 'R', + submitButton: 'Done', + swatchTab: 'Default', + swatchTabTransparentSwatch: 'Transparent Swatch' + }, + menuPosition: 'absolute', + swatchColors: ['#e3abec', '#c2dbf7', '#9fd6ff', '#9de7da', '#9df0c0', '#fff099', '#fed49a', '#d073e0', '#86baf3', '#5ebbff', '#44d8be', '#3be282', '#ffe654', '#ffb758', '#bd35bd', '#5779c1', '#5679c0', '#00aea9', '#3cba4c', '#f5bc25', '#f99221', '#580d8c', '#001970', '#0a2399', '#0b7477', '#0b6b50', '#b67e11', '#b85d0d', ''], + defaultSelectedTab: 'swatches', + variant: 'base' +}; +/** + * The Unified Color Picker component allows for a fully accessible and configurable color picker, allowing the user to pick from a set of predefined colors (swatches), or to pick a custom color using a HSB selection interface. It can be configured to show one or both of those color selection interfaces. View [component blueprint guidelines](https://lightningdesignsystem.com/components/color-picker/). + */ + +var color_picker_ColorPicker = /*#__PURE__*/function (_React$Component) { + color_picker_inherits(ColorPicker, _React$Component); + + var _super = color_picker_createSuper(ColorPicker); + + function ColorPicker(props) { + var _this; + + color_picker_classCallCheck(this, ColorPicker); + + _this = _super.call(this, props); + + color_picker_defineProperty(color_picker_assertThisInitialized(_this), "handleSwatchChange", function (event) { + _this.setWorkingColor(event, { + hex: event.target.value + }); + }); + + color_picker_defineProperty(color_picker_assertThisInitialized(_this), "handleOnRequestClose", function (event, _ref) { + var trigger = _ref.trigger; + + if (trigger === 'clickOutside' || trigger === 'cancel') { + _this.handleCancelState(); + } + + if (_this.props.onRequestClose) { + _this.props.onRequestClose(event, { + trigger: trigger + }); + } + }); + + color_picker_defineProperty(color_picker_assertThisInitialized(_this), "handleClickOutside", function (event) { + _this.handleCancelButtonClick(event); + }); + + color_picker_defineProperty(color_picker_assertThisInitialized(_this), "handleCancel", function (event) { + _this.handleCancelState(); + + if (_this.props.onRequestClose) { + _this.props.onRequestClose(event, { + trigger: 'cancel' + }); + } + }); + + color_picker_defineProperty(color_picker_assertThisInitialized(_this), "handleCancelState", function () { + var workingColor = utilities_color.getNewColor({ + // eslint-disable-next-line react/no-access-state-in-setstate + hex: _this.state.currentColor + }, _this.props.events.onValidateWorkingColor); + + _this.setState({ + isOpen: false, + workingColor: workingColor, + previousWorkingColor: workingColor + }); + }); + + color_picker_defineProperty(color_picker_assertThisInitialized(_this), "handleHexInputChange", function (event, _ref2) { + var labels = _ref2.labels; + var currentColor = event.target.value; + var namedColorHex = utilities_color.getHexFromNamedColor(currentColor); + var isValid = false; + + if (_this.props.events.onValidateColor) { + isValid = _this.props.events.onValidateColor(currentColor); + } else { + isValid = namedColorHex ? true : utilities_color.isValidHex(currentColor); + } + + _this.setState({ + currentColor: currentColor, + workingColor: utilities_color.getNewColor({ + hex: namedColorHex || currentColor, + name: namedColorHex ? currentColor.toLowerCase() : null + }, _this.props.events.onValidateWorkingColor), + colorErrorMessage: isValid ? '' : labels.invalidColor + }); + + if (_this.props.events.onChange) { + _this.props.events.onChange(event, { + color: currentColor, + isValid: isValid + }); + } + }); + + color_picker_defineProperty(color_picker_assertThisInitialized(_this), "handleSaturationValueChange", function (event, _ref3) { + var saturation = _ref3.saturation, + value = _ref3.value; + + _this.setWorkingColor(event, { + saturation: saturation, + value: value + }); + }); + + color_picker_defineProperty(color_picker_assertThisInitialized(_this), "handleSubmitButtonClick", function (event) { + _this.setState({ + isOpen: false, + // eslint-disable-next-line react/no-access-state-in-setstate + currentColor: _this.state.workingColor.hex, + colorErrorMessage: '' + }); + + if (_this.props.events.onChange) { + _this.props.events.onChange(event, { + color: _this.state.workingColor.hex, + isValid: true + }); + } + }); + + color_picker_defineProperty(color_picker_assertThisInitialized(_this), "handleSwatchButtonClick", function () { + var workingColor = utilities_color.getNewColor({ + // eslint-disable-next-line react/no-access-state-in-setstate + hex: _this.state.workingColor.hex + }, _this.props.events.onValidateWorkingColor); + + _this.setState({ + // eslint-disable-next-line react/no-access-state-in-setstate + isOpen: !_this.state.isOpen, + workingColor: workingColor, + // eslint-disable-next-line react/no-access-state-in-setstate + previousWorkingColor: _this.state.previousWorkingColor + }); + + if (_this.props.onRequestOpen) { + _this.props.onRequestOpen(); + } + }); + + color_picker_defineProperty(color_picker_assertThisInitialized(_this), "handleSwatchSelect", function (event, _ref4) { + var hex = _ref4.hex; + + _this.setWorkingColor(event, { + hex: hex + }); + }); + + _this.generatedId = props.id || shortid_default.a.generate(); + + var _workingColor = utilities_color.getNewColor({ + hex: props.valueWorking || props.value + }, props.events.onValidateWorkingColor); + + _this.state = { + currentColor: props.value != null ? props.value : '', + disabled: props.disabled, + isOpen: props.isOpen, + workingColor: _workingColor, + previousWorkingColor: _workingColor, + colorErrorMessage: props.errorText + }; + color_picker_check_props(COLOR_PICKER, props, color_picker_component); + return _this; + } + + color_picker_createClass(ColorPicker, [{ + key: "componentDidUpdate", + value: function componentDidUpdate(prevProps) { + // The following are only present to allow props to update the state if they get out of sync (for instance, the external store is updated). + var nextState = {}; + + if (this.props.value !== prevProps.value) { + nextState.currentColor = this.props.value; + } + + if (this.props.valueWorking !== prevProps.valueWorking) { + nextState.workingColor = utilities_color.getNewColor({ + hex: this.props.valueWorking + }, this.props.events.onValidateWorkingColor); + } + + if (this.props.disabled !== prevProps.disabled) { + nextState.disabled = this.props.disabled; + } + + if (Object.entries(nextState).length !== 0) { + // eslint-disable-next-line react/no-did-update-set-state + this.setState(nextState); + } + } + }, { + key: "getInput", + value: function getInput(_ref5) { + var _this2 = this; + + var labels = _ref5.labels; + return this.props.hideInput ? null : /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(input, { + "aria-describedby": !this.state.isOpen && this.state.colorErrorMessage ? "color-picker-summary-error-".concat(this.generatedId) : undefined, + className: classnames_default()('slds-color-picker__summary-input', 'slds-align-top', { + 'slds-has-error': !!this.state.colorErrorMessage + }), + disabled: this.props.disabled, + id: "color-picker-summary-input-".concat(this.generatedId), + onChange: function onChange(event) { + _this2.handleHexInputChange(event, { + labels: labels + }); + }, + value: this.state.currentColor + }); + } + }, { + key: "getDefaultTab", + value: function getDefaultTab(_ref6) { + var labels = _ref6.labels; + return (this.props.variant === 'base' || this.props.variant === 'swatches') && /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(tabs_panel, { + label: labels.swatchTab + }, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(swatch_picker, { + color: this.state.workingColor, + labels: labels, + onSelect: this.handleSwatchSelect, + swatchColors: this.props.swatchColors + })); + } + }, { + key: "getCustomTab", + value: function getCustomTab(_ref7) { + var labels = _ref7.labels; + return (this.props.variant === 'base' || this.props.variant === 'custom') && /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(tabs_panel, { + label: labels.customTab + }, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(custom_color, { + assistiveText: this.props.assistiveText, + id: this.generatedId, + color: this.state.workingColor, + errorTextWorkingColor: this.props.errorTextWorkingColor, + previousColor: this.state.previousWorkingColor, + labels: labels, + onBlueChange: this.handleColorChange('blue'), + onGreenChange: this.handleColorChange('green'), + onHexChange: this.handleColorChange('hex'), + onHueChange: this.handleColorChange('hue'), + onRedChange: this.handleColorChange('red'), + onSwatchChange: this.handleSwatchChange, + onSaturationValueChange: this.handleSaturationValueChange, + onSaturationNavigate: this.handleNavigate('saturation'), + onValueNavigate: this.handleNavigate('value') + })); + } + }, { + key: "getPopover", + value: function getPopover(_ref8) { + var labels = _ref8.labels; + var popoverBody = /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(tabs, { + id: "color-picker-tabs-".concat(this.generatedId), + defaultSelectedIndex: this.props.defaultSelectedTab === 'custom' ? 1 : 0 + }, this.getDefaultTab({ + labels: labels + }), this.getCustomTab({ + labels: labels + })); + var popoverFooter = /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: "slds-color-picker__selector-footer" + }, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(components_button, { + className: "slds-color-picker__selector-cancel", + id: "color-picker-footer-cancel-".concat(this.generatedId), + label: labels.cancelButton, + onClick: this.handleCancel, + variant: "neutral" + }), /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(components_button, { + className: "slds-color-picker__selector-submit", + disabled: Object.keys(this.state.workingColor.errors || {}).length > 0, + id: "color-picker-footer-submit-".concat(this.generatedId), + label: labels.submitButton, + onClick: this.handleSubmitButtonClick, + variant: "brand" + })); + return /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(components_popover, { + ariaLabelledby: "color-picker-label-".concat(this.generatedId), + align: "bottom left", + body: popoverBody, + className: classnames_default()('slds-color-picker__selector', this.props.classNameMenu), + footer: popoverFooter, + hasNoCloseButton: true, + hasNoNubbin: true, + hasStaticAlignment: this.props.hasStaticAlignment, + id: "slds-color-picker__selector-".concat(this.generatedId), + isOpen: this.state.isOpen, + onClose: this.props.onClose, + onOpen: this.props.onOpen, + onRequestClose: this.handleOnRequestClose, + position: this.props.menuPosition + }, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(components_button, { + className: "slds-color-picker__summary-button", + disabled: this.props.disabled, + iconClassName: "slds-m-left_xx-small", + iconPosition: "right", + iconVariant: "more", + id: "slds-color-picker__summary-button-".concat(this.generatedId), + label: /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(swatch, { + color: this.state.currentColor, + labels: labels + }), + onClick: this.handleSwatchButtonClick, + variant: "icon" + })); + } + }, { + key: "setWorkingColor", + value: function setWorkingColor(event, color) { + var newColor = utilities_color.getNewColor(color, this.props.events.onValidateWorkingColor, // eslint-disable-next-line react/no-access-state-in-setstate + this.state.workingColor); + this.setState({ + workingColor: newColor, + // eslint-disable-next-line react/no-access-state-in-setstate + previousWorkingColor: this.state.workingColor + }); + + if (this.props.events.onWorkingColorChange) { + this.props.events.onWorkingColorChange(event, { + color: newColor + }); + } + } + }, { + key: "handleColorChange", + value: function handleColorChange(property) { + var _this3 = this; + + return function (event) { + var colorProperties = {}; + colorProperties[property] = event.target.value; + + _this3.setWorkingColor(event, colorProperties); + }; + } + }, { + key: "handleNavigate", + value: function handleNavigate(property) { + var _this4 = this; + + return function (event, _ref9) { + var delta = _ref9.delta; + var colorProperties = {}; + colorProperties[property] = delta; + var newColor = utilities_color.getDeltaColor(colorProperties, _this4.props.events.onValidateWorkingColor, // eslint-disable-next-line react/no-access-state-in-setstate + _this4.state.workingColor); + + _this4.setState({ + workingColor: newColor, + // eslint-disable-next-line react/no-access-state-in-setstate + previousWorkingColor: _this4.state.workingColor + }); + + if (_this4.props.events.onWorkingColorChange) { + _this4.props.events.onWorkingColorChange(event, { + color: newColor + }); + } + }; + } + }, { + key: "render", + value: function render() { + var _this5 = this; + + var labels = lodash_assign_default()({}, color_picker_defaultProps.labels, this.props.labels); + return /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: classnames_default()('slds-color-picker', this.props.className), + ref: function ref(node) { + _this5.wrapper = node; + } + }, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: "slds-color-picker__summary" + }, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("label", { + className: classnames_default()('slds-color-picker__summary-label', this.props.assistiveText.label ? 'slds-assistive-text' : ''), + htmlFor: !this.props.hideInput ? "color-picker-summary-input-".concat(this.generatedId) : undefined, + id: "color-picker-label-".concat(this.generatedId) + }, this.props.assistiveText.label ? this.props.assistiveText.label : labels.label), this.getPopover({ + labels: labels + }), this.getInput({ + labels: labels + }), !this.state.isOpen && this.state.colorErrorMessage ? /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("p", { + className: "slds-form-error", + id: "color-picker-summary-error-".concat(this.generatedId) + }, this.state.colorErrorMessage) : '')); + } + }]); + + return ColorPicker; +}(external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.Component); + +color_picker_defineProperty(color_picker_ColorPicker, "displayName", COLOR_PICKER); + +color_picker_defineProperty(color_picker_ColorPicker, "propTypes", color_picker_propTypes); + +color_picker_defineProperty(color_picker_ColorPicker, "defaultProps", color_picker_defaultProps); + +/* harmony default export */ var color_picker = (color_picker_ColorPicker); +// EXTERNAL MODULE: ./node_modules/lodash.find/index.js +var lodash_find = __webpack_require__(12); +var lodash_find_default = /*#__PURE__*/__webpack_require__.n(lodash_find); + +// EXTERNAL MODULE: ./node_modules/lodash.reject/index.js +var lodash_reject = __webpack_require__(15); +var lodash_reject_default = /*#__PURE__*/__webpack_require__.n(lodash_reject); + +// CONCATENATED MODULE: ./components/combobox/private/menu.jsx +function menu_objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = menu_objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; } + +function menu_objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; } + +function menu_extends() { menu_extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return menu_extends.apply(this, arguments); } + +function menu_toConsumableArray(arr) { return menu_arrayWithoutHoles(arr) || menu_iterableToArray(arr) || menu_unsupportedIterableToArray(arr) || menu_nonIterableSpread(); } + +function menu_nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } + +function menu_unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return menu_arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return menu_arrayLikeToArray(o, minLen); } + +function menu_iterableToArray(iter) { if (typeof Symbol !== "undefined" && Symbol.iterator in Object(iter)) return Array.from(iter); } + +function menu_arrayWithoutHoles(arr) { if (Array.isArray(arr)) return menu_arrayLikeToArray(arr); } + +function menu_arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; } + +function menu_ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; } + +function menu_objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { menu_ownKeys(Object(source), true).forEach(function (key) { menu_defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { menu_ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; } + +function menu_defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */ + +/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */ + +/* eslint-disable jsx-a11y/interactive-supports-focus */ + + + + + + +var menu_propTypes = { + /* + * Active descendant in menu + */ + activeOption: prop_types_default.a.object, + + /* + * Index of active descendant in menu + */ + activeOptionIndex: prop_types_default.a.number, + + /** + * CSS classes to be added to container `div` tag. Uses `classNames` [API](https://github.com/JedWatson/classnames). + */ + className: prop_types_default.a.oneOfType([prop_types_default.a.array, prop_types_default.a.object, prop_types_default.a.string]), + + /** + * CSS classes to be added to tag with `.slds-dropdown`. Uses `classNames` [API](https://github.com/JedWatson/classnames). + */ + classNameMenu: prop_types_default.a.oneOfType([prop_types_default.a.array, prop_types_default.a.object, prop_types_default.a.string]), + + /** + * CSS classes to be added to menu sub header `span` tag. Uses `classNames` [API](https://github.com/JedWatson/classnames). + */ + classNameMenuSubHeader: prop_types_default.a.oneOfType([prop_types_default.a.array, prop_types_default.a.object, prop_types_default.a.string]), + + /** + * Sets the dialog width to the width of one of the following: + * `target`: (Menus attached to `input` typically follow this UX pattern), + * `menu`: Consider setting a menuMaxWidth if using this value. If not, width will be set to width of largest menu item. + * 'none' + */ + inheritWidthOf: prop_types_default.a.oneOf(['target', 'menu', 'none']), + + /* + * Id used for assistive technology + */ + inputId: prop_types_default.a.string, + + /** + * Determines the height of the menu based on SLDS CSS classes. + */ + itemVisibleLength: prop_types_default.a.oneOf([5, 7, 10]), + + /** + * **Text labels for internationalization** + * This object is merged with the default props object on every render. + * * `noOptionsFound`: Custom message that renders when no matches found. The default empty state is just text that says, 'No matches found.'. + */ + labels: prop_types_default.a.shape({ + noOptionsFound: prop_types_default.a.oneOfType([prop_types_default.a.node, prop_types_default.a.string]).isRequired + }), + + /** + * Accepts a custom menu item rendering function that becomes a custom component and is passed in the following props: + * * `assistiveText`: Object, `assistiveText` prop that is passed into Combobox + * * `option`: Object, option data for item being rendered that is passed into Combobox + * * `selected`: Boolean, allows rendering of `assistiveText.optionSelectedInMenu` in Readonly Combobox + * + * _Tested with snapshot testing._ + */ + onRenderMenuItem: prop_types_default.a.func, + + /** + * Accepts a ref function or object (React.createRef() or otherwise) to store the menu DOM reference once available + */ + menuRef: prop_types_default.a.oneOfType([prop_types_default.a.func, prop_types_default.a.object]), + + /* + * Sets a maximum width that the menu will be if `inheritWidthOf` is menu. + */ + maxWidth: prop_types_default.a.string, + + /* + * Callback when option is selected with keyboard or mouse + */ + onSelect: prop_types_default.a.func, + + /* + * Menu options + */ + options: prop_types_default.a.array, + + /* + * Callback to remove active descendent + */ + resetActiveOption: prop_types_default.a.func, + + /* + * Selected options + */ + selection: prop_types_default.a.array, + + /* + * Adds loading spinner below the options + */ + hasMenuSpinner: prop_types_default.a.bool, + + /* + * Object for creating Add item below the options + */ + optionsAddItem: prop_types_default.a.arrayOf(prop_types_default.a.shape({ + id: prop_types_default.a.string, + icon: prop_types_default.a.node, + label: prop_types_default.a.oneOfType([prop_types_default.a.string, prop_types_default.a.func]) + })), + + /* + * Object for creating Search item on top of the options + */ + optionsSearchEntity: prop_types_default.a.arrayOf(prop_types_default.a.shape({ + id: prop_types_default.a.string, + icon: prop_types_default.a.node, + label: prop_types_default.a.oneOfType([prop_types_default.a.string, prop_types_default.a.func]) + })), + + /** + * Accepts a tooltip that is displayed when hovering on disabled menu items. + */ + tooltipMenuItemDisabled: prop_types_default.a.element, + + /** + * Changes styles of the menu option + */ + variant: prop_types_default.a.oneOf(['icon-title-subtitle', 'checkbox']), + isSelected: prop_types_default.a.func, + assistiveText: prop_types_default.a.object +}; +var menu_defaultProps = { + inputValue: '', + menuRef: function menuRef() {}, + optionsAddItem: [], + optionsSearchEntity: [] +}; + +var getOptions = function getOptions(props) { + // use of array.push() is OK, because the array is created on each render + var options = []; + + if (props.optionsSearchEntity.length > 0) { + var localOptionsSearchEntity = props.optionsSearchEntity.map(function (entity) { + return menu_objectSpread(menu_objectSpread({}, entity), {}, { + type: 'header' + }); + }); // eslint-disable-next-line fp/no-mutating-methods + + options.push.apply(options, menu_toConsumableArray(localOptionsSearchEntity)); + } // eslint-disable-next-line fp/no-mutating-methods + + + options.push.apply(options, menu_toConsumableArray(props.options)); + + if (props.optionsAddItem.length > 0) { + var localOptionsAddItem = props.optionsAddItem.map(function (entity) { + return menu_objectSpread(menu_objectSpread({}, entity), {}, { + type: 'footer' + }); + }); // eslint-disable-next-line fp/no-mutating-methods + + options.push.apply(options, menu_toConsumableArray(localOptionsAddItem)); + } + + return options; +}; + +var menu_setBold = function setBold(label, searchTerm) { + if (!label || label.length === 0 || !searchTerm || searchTerm.length === 0) { + return label; + } + + var position = label.toLowerCase().indexOf(searchTerm.toLowerCase()); + + if (position > -1) { + return /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.Fragment, null, label.substr(0, position), /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("span", { + key: "bold", + className: "slds-text-title_bold" + }, "".concat(label.substr(position, searchTerm.length))), label.substr(position + searchTerm.length)); + } + + return label; +}; + +var menu_renderLabel = function renderLabel(labelProp, searchTerm) { + if (labelProp == null || typeof labelProp === 'string') { + return labelProp; + } + + return labelProp(searchTerm); +}; + +var menu_Menu = function Menu(props) { + var maxWidth = props.inheritWidthOf === 'menu' ? 'inherit' : undefined; + maxWidth = props.inheritWidthOf === 'menu' && props.maxWidth ? props.maxWidth : maxWidth; // .slds-dropdown sets the menu to absolute positioning, since it has a relative parent. Absolute positioning removes clientHeight and clientWidth which Popper.js needs to absolute position the menu's wrapping div. Absolute positioning an already absolute positioned element doesn't work. Setting the menu's position to relative allows PopperJS to work it's magic. + + var menuOptions = getOptions(props).map(function (optionData, index) { + var active = index === props.activeOptionIndex && props.activeOption && lodash_isequal_default()(optionData.id, props.activeOption.id); + var selected = props.isSelected({ + selection: props.selection, + option: optionData + }) && (optionData.type !== 'header' || optionData.type === 'footer'); + var MenuItem = props.onRenderMenuItem; + + if (optionData.type === 'separator') { + return optionData.label ? /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("li", { + className: "slds-dropdown__header slds-truncate", + title: optionData.label, + role: "separator", + key: "menu-separator-".concat(optionData.id) + }, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("span", { + className: classnames_default()('slds-listbox__option-header', props.classNameMenuSubHeader) + }, optionData.label)) : /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("li", { + className: "slds-has-divider_top-space", + role: "separator", + key: "menu-separator-".concat(optionData.id) + }); + } + + if (optionData.type === 'header') { + return /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("li", { + key: "menu-header-".concat(optionData.id, "}"), + role: "presentation", + className: "slds-listbox__item" + }, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + onClick: optionData.disabled ? null : function (event) { + props.onSelect(event, { + option: optionData + }); + }, + "aria-selected": active, + id: "".concat(props.inputId, "-listbox-option-").concat(optionData.id), + className: classnames_default()('slds-media slds-listbox__option', 'slds-listbox__option_entity slds-listbox__option_term', { + 'slds-has-focus': active + }), + role: "option" + }, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("span", { + className: "slds-media__figure slds-listbox__option-icon" + }, optionData.icon), /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("span", { + className: "slds-media__body" + }, menu_renderLabel(optionData.label, props.inputValue)))); + } + + if (optionData.type === 'footer') { + return /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("li", { + key: "menu-footer-".concat(optionData.id, "}"), + role: "presentation", + className: "slds-listbox__item" + }, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + "aria-selected": active, + onClick: optionData.disabled ? null : function (event) { + props.onSelect(event, { + option: optionData + }); + }, + id: "".concat(props.inputId, "-listbox-option-").concat(optionData.id), + className: classnames_default()('slds-media slds-listbox__option', 'slds-listbox__option_entity slds-listbox__option_term', { + 'slds-has-focus': active + }), + role: "option" + }, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("span", { + className: "slds-media__figure slds-listbox__option-icon" + }, optionData.icon), /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("span", { + className: "slds-media__body" + }, menu_renderLabel(optionData.label, props.inputValue)))); + } + + var disabledProps = {}; + var tooltipId = "".concat(props.inputId, "-listbox-option-help-").concat(optionData.id); + + if (optionData.disabled && props.tooltipMenuItemDisabled && active) { + disabledProps['aria-describedby'] = tooltipId; + } + + if (optionData.disabled) { + disabledProps['aria-disabled'] = !!optionData.disabled; + disabledProps.style = { + cursor: 'default' + }; // Replace this with a css class name once SLDS has it. + } + + var menuItem = { + 'icon-title-subtitle': /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("span", menu_extends({ + "aria-selected": active + }, disabledProps, { + id: "".concat(props.inputId, "-listbox-option-").concat(optionData.id), + key: "menu-subtitle-".concat(optionData.id), + className: classnames_default()('slds-media slds-listbox__option', 'slds-listbox__option_entity slds-listbox__option_has-meta', { + 'slds-has-focus': active + }), + onClick: optionData.disabled ? null : function (event) { + props.onSelect(event, { + option: optionData + }); + }, + role: "option" + }), optionData.icon && !props.onRenderMenuItem ? /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("span", { + className: "slds-media__figure" + }, optionData.icon) : null, props.onRenderMenuItem ? /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(MenuItem, { + assistiveText: props.assistiveText, + selected: selected, + option: optionData + }) : /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("span", { + className: "slds-media__body" + }, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("span", { + className: classnames_default()('slds-listbox__option-text', 'slds-listbox__option-text_entity', { + 'slds-disabled-text': optionData.disabled + }) + }, menu_setBold(optionData.label, props.inputValue)), /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("span", { + className: classnames_default()('slds-listbox__option-meta slds-listbox__option-meta_entity', { + 'slds-disabled-text': optionData.disabled + }) + }, menu_setBold(optionData.subTitle, props.inputValue)))), + checkbox: /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("span", menu_extends({ + // eslint-disable-line jsx-a11y/no-static-element-interactions + "aria-selected": active + }, disabledProps, { + id: "".concat(props.inputId, "-listbox-option-").concat(optionData.id), + key: "menu-checkbox-".concat(optionData.id), + className: classnames_default()('slds-media slds-listbox__option', ' slds-listbox__option_plain slds-media_small slds-media_center', { + 'slds-has-focus': active, + 'slds-is-selected': selected + }), + onClick: optionData.disabled ? null : function (event) { + props.onSelect(event, { + selection: props.selection, + option: optionData + }); + }, + role: "option" + }), /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("span", { + className: "slds-media__figure" + }, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(components_icon, { + className: "slds-listbox__icon-selected", + category: "utility", + name: "check", + size: "x-small" + })), /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("span", { + className: "slds-media__body" + }, props.onRenderMenuItem ? /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(MenuItem, { + assistiveText: props.assistiveText, + selected: selected, + option: optionData + }) : /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("span", { + className: classnames_default()('slds-truncate', { + 'slds-disabled-text': optionData.disabled + }), + title: optionData.label + }, selected ? /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("span", { + className: "slds-assistive-text" + }, props.assistiveText.optionSelectedInMenu) : null, ' ', optionData.label))) + }; + var item; + + if (optionData.disabled && props.tooltipMenuItemDisabled) { + var _props$tooltipMenuIte = props.tooltipMenuItemDisabled.props, + content = _props$tooltipMenuIte.content, + userDefinedTooltipProps = menu_objectWithoutProperties(_props$tooltipMenuIte, ["content"]); + + var tooltipProps = menu_objectSpread({ + align: 'top', + content: optionData.tooltipContent || content, + // either use specific content defined on option or content defined on tooltip component. + id: tooltipId, + position: 'absolute', + silenceTriggerTabbableWarning: true, + triggerStyle: { + width: '100%' + } + }, userDefinedTooltipProps); + + if (active) { + // allows showing the tooltip on keyboard navigation to disabled menu item + tooltipProps.isOpen = true; + } + + item = /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.cloneElement(props.tooltipMenuItemDisabled, tooltipProps, menuItem[props.variant]); + } else { + item = menuItem[props.variant]; + } + + return /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("li", { + className: "slds-listbox__item", + key: "menu-option-".concat(optionData.id), + role: "presentation" + }, item); + }); + return /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("ul", { + className: classnames_default()('slds-listbox slds-listbox_vertical slds-dropdown slds-dropdown_fluid', { + 'slds-dropdown_length-with-icon-5': props.itemVisibleLength === 5, + 'slds-dropdown_length-with-icon-7': props.itemVisibleLength === 7, + 'slds-dropdown_length-with-icon-10': props.itemVisibleLength === 10 + }, props.classNameMenu), + ref: props.menuRef, + role: "presentation", + style: { + width: props.inheritWidthOf === 'menu' ? 'auto' : undefined, + maxWidth: maxWidth, + position: props.menuPosition !== 'relative' ? 'relative' : undefined + } + }, menuOptions.length ? menuOptions : /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("li", { + className: "slds-listbox__item slds-listbox__status", + role: "status", + "aria-live": "polite" + }, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("span", { + className: "slds-m-left_x-large slds-p-vertical_medium" + }, props.labels.noOptionsFound)), props.hasMenuSpinner && /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("li", { + role: "presentation", + className: "slds-listbox__item" + }, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: "slds-align_absolute-center slds-p-top_medium" + }, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(components_spinner, { + assistiveText: { + label: props.assistiveText.loadingMenuItems + }, + hasContainer: false, + isInline: true, + size: "x-small" + })))); +}; + +menu_Menu.displayName = 'Menu'; +menu_Menu.propTypes = menu_propTypes; +menu_Menu.defaultProps = menu_defaultProps; +/* harmony default export */ var private_menu = (menu_Menu); +// CONCATENATED MODULE: ./components/forms/private/label.jsx +/* eslint-disable react/jsx-curly-brace-presence */ + +/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */ + +/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */ + + + +var private_label_propTypes = { + /* + * Assistive Text to use instead of a visible label + */ + assistiveText: prop_types_default.a.object, + + /* + * Id of the input associated with this label + */ + htmlFor: prop_types_default.a.string, + + /* + * Input Label or inner node for formatting purposes + */ + label: prop_types_default.a.oneOfType([prop_types_default.a.node, prop_types_default.a.string]), + + /* + * Applies label styling for a required form element + */ + required: prop_types_default.a.bool, + + /** + * Changes markup of label. + */ + variant: prop_types_default.a.oneOf(['base', 'static']) +}; +var private_label_defaultProps = { + variant: 'base' +}; +/* + * Form label. This returns null if there is no label text (hidden or shown) + */ + +var private_label_Label = function Label(props) { + var labelText = props.label || props.assistiveText && props.assistiveText.label; // One of these is required to pass accessibility tests + + var subRenders = { + base: /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("label", { + className: classnames_default()('slds-form-element__label', { + 'slds-assistive-text': props.assistiveText && !props.label + }), + htmlFor: props.htmlFor + }, props.required && /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("abbr", { + className: "slds-required", + title: "required" + }, '*'), labelText), + static: /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("span", { + className: "slds-form-element__label" + }, labelText) + }; + return labelText ? subRenders[props.variant] : null; +}; + +private_label_Label.displayName = 'Label'; +private_label_Label.propTypes = private_label_propTypes; +private_label_Label.defaultProps = private_label_defaultProps; +/* harmony default export */ var private_label = (private_label_Label); +// CONCATENATED MODULE: ./utilities/key-callbacks.js +/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */ + +/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */ + +/* + * Helper function that has callbacks passed into it with the key + * being the keycode of the event. This allows an object literal to + * control key event callback mapping and avoids a long conditional + * if statement and uses an enumeration pattern instead. + */ + +var key_callbacks_mapKeyEventCallbacks = function mapKeyEventCallbacks(event, _ref) { + var _ref$callbacks = _ref.callbacks, + callbacks = _ref$callbacks === void 0 ? {} : _ref$callbacks, + _ref$shiftCallbacks = _ref.shiftCallbacks, + shiftCallbacks = _ref$shiftCallbacks === void 0 ? {} : _ref$shiftCallbacks, + _ref$stopPropagation = _ref.stopPropagation, + stopPropagation = _ref$stopPropagation === void 0 ? true : _ref$stopPropagation; + + if (event.shiftKey && event.keyCode && shiftCallbacks[event.keyCode]) { + if (stopPropagation) { + utilities_event.trapEvent(event); + } + + shiftCallbacks[event.keyCode].callback(event, shiftCallbacks[event.keyCode].data); + } else if (event.keyCode && callbacks[event.keyCode]) { + if (stopPropagation) { + utilities_event.trapEvent(event); + } + + callbacks[event.keyCode].callback(event, callbacks[event.keyCode].data); + } else if (event.keyCode && callbacks.other) { + // You will likely NOT want to stop propagation of all key presses! + if (callbacks.other.stopPropagation) { + utilities_event.trapEvent(event); + } + + callbacks.other.callback(event, callbacks.other.data); + } +}; + +/* harmony default export */ var key_callbacks = (key_callbacks_mapKeyEventCallbacks); +// CONCATENATED MODULE: ./components/pill/index.jsx +function pill_typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { pill_typeof = function _typeof(obj) { return typeof obj; }; } else { pill_typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return pill_typeof(obj); } + +function pill_extends() { pill_extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return pill_extends.apply(this, arguments); } + +function pill_objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = pill_objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; } + +function pill_objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; } + +function pill_classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function pill_defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function pill_createClass(Constructor, protoProps, staticProps) { if (protoProps) pill_defineProperties(Constructor.prototype, protoProps); if (staticProps) pill_defineProperties(Constructor, staticProps); return Constructor; } + +function pill_inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) pill_setPrototypeOf(subClass, superClass); } + +function pill_setPrototypeOf(o, p) { pill_setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return pill_setPrototypeOf(o, p); } + +function pill_createSuper(Derived) { var hasNativeReflectConstruct = pill_isNativeReflectConstruct(); return function _createSuperInternal() { var Super = pill_getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = pill_getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return pill_possibleConstructorReturn(this, result); }; } + +function pill_possibleConstructorReturn(self, call) { if (call && (pill_typeof(call) === "object" || typeof call === "function")) { return call; } return pill_assertThisInitialized(self); } + +function pill_assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +function pill_isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } } + +function pill_getPrototypeOf(o) { pill_getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return pill_getPrototypeOf(o); } + +function pill_defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */ + +/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */ +// # Pill Component +// Implements the [Pill design pattern](https://lightningdesignsystem.com/components/pills/) in React. + + + + + + + +var pill_propTypes = { + /** + * **Assistive text for accessibility** + * This object is merged with the default props object on every render. + * * `remove`: This is a visually hidden label for the close button. + * _Tested with snapshot testing._ + */ + assistiveText: prop_types_default.a.shape({ + remove: prop_types_default.a.string + }), + + /** + * SLDSAvatar component to show on the left of the pill. + * _Tested with Mocha framework._ + */ + avatar: prop_types_default.a.element, + + /** + * Applies the bare style to the component. + * _Tested with Mocha framework._ + */ + bare: prop_types_default.a.bool, + + /** + * This is a way to specify custom contents for the pill in the case a simple text label is not enough. + * _Tested with Mocha framework._ + */ + children: prop_types_default.a.node, + + /** + * CSS classes to be added to tag with `.slds-pill`. Uses `classNames` [API](https://github.com/JedWatson/classnames). + * _Tested with Mocha framework._ + */ + className: prop_types_default.a.oneOfType([prop_types_default.a.array, prop_types_default.a.object, prop_types_default.a.string]), + + /** + * Applies the error style to the component. + * _Tested with Mocha framework._ + */ + hasError: prop_types_default.a.bool, + + /** + * An href to use if the pill is shown as a link. + * _Tested with Mocha framework._ + */ + href: prop_types_default.a.string, + + /** + * SLDSIcon component to show on the left of the pill. + * _Tested with Mocha framework._ + */ + icon: prop_types_default.a.element, + + /** + * **Text labels for internationalization** + * This object is merged with the default props object on every render. + * * `label`: Pill's label. + * * `title`: Pill's title. + * * `removeTitle`: A title to use for the remove icon. + * + * _Tested with snapshot testing._ + */ + labels: prop_types_default.a.shape({ + label: prop_types_default.a.string, + title: prop_types_default.a.string, + removeTitle: prop_types_default.a.string + }), + + /** + * `onBlur` callback executes when the component loses focus. + * _Tested with Mocha framework._ + */ + onBlur: prop_types_default.a.func, + + /** + * `onClick` callback executes when a user clicks on the pill or presses the Enter key. + * _Tested with Mocha framework._ + */ + onClick: prop_types_default.a.func, + + /** + * `onFocus` callback executes when the component receives focus. + * _Tested with Mocha framework._ + */ + onFocus: prop_types_default.a.func, + + /** + * `onKeyDown` callback executes when a user presses a key. + * _Tested with Mocha framework._ + */ + onKeyDown: prop_types_default.a.func, + + /** + * `onRemove` callback executes when a user clicks on the pill's remove icon or presses the delete or the backspace keys. + * _Tested with Mocha framework._ + */ + onRemove: prop_types_default.a.func, + + /** + * A variant of a pill + * _Tested with Mocha framework._ + */ + variant: prop_types_default.a.oneOf(['link', 'option']) +}; +/** + * A pill displays a label that can contain links and can be removed from view. Use `PillContainer` for a list of pills in a container that resembles an `input` form field. A pill is useful for displaying read-only text that can be added and removed on demand. + */ + +var pill_Pill = /*#__PURE__*/function (_React$Component) { + pill_inherits(Pill, _React$Component); + + var _super = pill_createSuper(Pill); + + function Pill() { + var _this; + + pill_classCallCheck(this, Pill); + + for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { + args[_key] = arguments[_key]; + } + + _this = _super.call.apply(_super, [this].concat(args)); + + pill_defineProperty(pill_assertThisInitialized(_this), "getHref", function () { + return typeof _this.props.href === 'string' ? _this.props.href : 'javascript:void(0);'; + }); + + pill_defineProperty(pill_assertThisInitialized(_this), "blur", function () { + _this.root.blur(); + }); + + pill_defineProperty(pill_assertThisInitialized(_this), "focus", function () { + _this.root.focus(); + }); + + pill_defineProperty(pill_assertThisInitialized(_this), "handleKeyDown", function (event) { + if (typeof _this.props.onKeyDown === 'function') { + var _this$props$onKeyDown; + + for (var _len2 = arguments.length, rest = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) { + rest[_key2 - 1] = arguments[_key2]; + } + + // Make a callback to onKeyDown. + (_this$props$onKeyDown = _this.props.onKeyDown).call.apply(_this$props$onKeyDown, [null, event].concat(rest)); // Cancel further handling if the default handling for the event was prevented. + + + if (event.defaultPrevented) { + return; + } + } + + switch (event.keyCode) { + case key_code.ENTER: + if (typeof _this.props.onClick === 'function') { + utilities_event.trap(event); + + _this.props.onClick(); + } + + break; + + case key_code.BACKSPACE: + case key_code.DELETE: + if (typeof _this.props.onRemove === 'function') { + utilities_event.trap(event); + + _this.props.onRemove(); + } + + break; + + default: + break; + } + }); + + pill_defineProperty(pill_assertThisInitialized(_this), "handleRef", function (root) { + // Keeping the top-most element to support focus() and blur() + _this.root = root; + }); + + pill_defineProperty(pill_assertThisInitialized(_this), "restProps", function () { + var _this$props = _this.props, + bare = _this$props.bare, + hasError = _this$props.hasError, + variant = _this$props.variant, + className = _this$props.className, + onClick = _this$props.onClick, + onRemove = _this$props.onRemove, + labels = _this$props.labels, + assistiveText = _this$props.assistiveText, + children = _this$props.children, + href = _this$props.href, + icon = _this$props.icon, + avatar = _this$props.avatar, + onKeyDown = _this$props.onKeyDown, + other = pill_objectWithoutProperties(_this$props, ["bare", "hasError", "variant", "className", "onClick", "onRemove", "labels", "assistiveText", "children", "href", "icon", "avatar", "onKeyDown"]); + + return other; + }); + + pill_defineProperty(pill_assertThisInitialized(_this), "renderIcon", function () { + var icon = _this.props.icon || _this.props.avatar; + + if (icon) { + return /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("span", { + className: "slds-pill__icon_container" + }, icon); + } + + return null; + }); + + pill_defineProperty(pill_assertThisInitialized(_this), "renderLabel", function () { + if (_this.props.labels.label) { + if (_this.props.variant === 'link') { + return /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("a", { + href: _this.getHref(), + className: "slds-pill__action", + title: _this.props.labels.title || _this.props.labels.label, + onClick: _this.props.onClick + }, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("span", { + className: "slds-pill__label" + }, _this.props.labels.label)); + } + + return /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("span", { + className: "slds-pill__label", + title: _this.props.labels.title || _this.props.labels.label + }, _this.props.labels.label); + } + + return _this.props.children; + }); + + pill_defineProperty(pill_assertThisInitialized(_this), "renderRemoveIcon", function () { + if (typeof _this.props.onRemove === 'function') { + return /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("span", { + // eslint-disable-line jsx-a11y/interactive-supports-focus + className: "slds-icon_container slds-pill__remove", + title: _this.props.labels.removeTitle, + role: "button", + onClick: _this.props.onRemove + }, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(utility_icon, { + style: { + cursor: 'pointer' + } // remove when fixed by SLDS CSS + , + category: "utility", + className: "slds-icon slds-icon_x-small slds-icon-text-default", + name: "close" + }), /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("span", { + className: "slds-assistive-text" + }, _this.props.assistiveText.remove || _this.props.labels.removeTitle)); + } + + return null; + }); + + return _this; + } + + pill_createClass(Pill, [{ + key: "render", + value: function render() { + var role; + + switch (this.props.variant) { + case 'link': + role = 'button'; + break; + + case 'option': + role = 'option'; + break; + + default: + } + + return ( + /*#__PURE__*/ + + /* eslint-disable jsx-a11y/no-static-element-interactions */ + external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("span", pill_extends({}, this.restProps(), { + role: role, + className: classnames_default()('slds-pill', { + 'slds-pill_link': this.props.variant === 'link', + 'slds-has-error': this.props.hasError, + 'slds-pill_bare': this.props.bare + }, this.props.className), + onClick: !this.props.labels.label || this.props.variant !== 'link' ? this.props.onClick : null, + onKeyDown: typeof this.props.onRemove === 'function' ? this.handleKeyDown : null, + ref: this.handleRef + }), this.renderIcon(), this.renderLabel(), this.renderRemoveIcon()) + ); + } + }]); + + return Pill; +}(external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.Component); + +pill_Pill.displayName = PILL; +pill_Pill.defaultProps = { + variant: 'link', + labels: {}, + assistiveText: {} +}; +pill_Pill.propTypes = pill_propTypes; +/* harmony default export */ var pill = (pill_Pill); +// CONCATENATED MODULE: ./components/utilities/pill/index.jsx +function pill_ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; } + +function pill_objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { pill_ownKeys(Object(source), true).forEach(function (key) { utilities_pill_defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { pill_ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; } + +function utilities_pill_defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */ + +/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */ + +/** + * This Pill component should be used within a listbox and differs from the standalone Pill component which is typically used for actions (such as a link) and not form fields. This component should be used in conjuction with `PillContainer`. + */ + + + + + + + +var utilities_pill_propTypes = { + /** + * Pill is the actively focused pill within a pill container. This will request focus on the DOM node. + */ + active: prop_types_default.a.bool, + + /** + * **Assistive text for accessibility** + * This object is merged with the default props object on every render. + * * `pressDeleteOrBackspace`: Informs user of keyboard keys to press in order to remove a pill + */ + assistiveText: prop_types_default.a.shape({ + remove: prop_types_default.a.string + }), + + /** + * SLDSAvatar component to show on the left of the pill. + * _Tested with Mocha framework._ + */ + avatar: prop_types_default.a.element, + + /** + * Applies the bare style to the component. + * _Tested with Mocha framework._ + */ + bare: prop_types_default.a.bool, + + /* + * Pills are often used for selection of a type of entity such as days in a daypicker. This prop allows you to pass in data that will be passed back to the event handler. + */ + eventData: prop_types_default.a.object, + + /* + * Callbacks for various pill events such as click, focus, etc + */ + events: prop_types_default.a.shape({ + onClick: prop_types_default.a.func, + onFocus: prop_types_default.a.func, + onRequestFocus: prop_types_default.a.func.isRequired, + onRequestFocusOnNextPill: prop_types_default.a.func.isRequired, + onRequestFocusOnPreviousPill: prop_types_default.a.func.isRequired, + onRequestRemove: prop_types_default.a.func.isRequired + }), + + /** + * Applies the error style to the component. + * _Tested with Mocha framework._ + */ + hasError: prop_types_default.a.bool, + + /* + * The icon next to the pill label. + */ + icon: prop_types_default.a.element, + + /* + * Pill Label + */ + labels: prop_types_default.a.shape({ + label: prop_types_default.a.string.isRequired, + removeTitle: prop_types_default.a.string + }), + + /* + * If true and is active pill in listbox, will trigger `events.onRequestFocus` + */ + requestFocus: prop_types_default.a.bool, + + /* + * Pill Title + */ + title: prop_types_default.a.string, + + /* + * Allows the user to tab to the node + */ + tabIndex: prop_types_default.a.number +}; +var pill_defaultProps = { + assistiveText: prop_types_default.a.shape({ + remove: ', Press delete or backspace to remove' + }), + labels: { + remove: 'Remove' + }, + events: {} +}; + +var pill_handleKeyDown = function handleKeyDown(event, _ref) { + var _callbacks; + + var events = _ref.events, + data = _ref.data; + // Helper function that takes an object literal of callbacks that are triggered with a key event + key_callbacks(event, { + callbacks: (_callbacks = {}, utilities_pill_defineProperty(_callbacks, key_code.BACKSPACE, { + callback: events.onRequestRemove, + data: data + }), utilities_pill_defineProperty(_callbacks, key_code.DELETE, { + callback: events.onRequestRemove, + data: data + }), utilities_pill_defineProperty(_callbacks, key_code.LEFT, { + callback: events.onRequestFocusOnPreviousPill, + data: pill_objectSpread(pill_objectSpread({}, data), {}, { + direction: 'previous' + }) + }), utilities_pill_defineProperty(_callbacks, key_code.RIGHT, { + callback: events.onRequestFocusOnNextPill, + data: pill_objectSpread(pill_objectSpread({}, data), {}, { + direction: 'next' + }) + }), _callbacks) + }); +}; + +var pill_handleClickRemove = function handleClickRemove(event, _ref2) { + var events = _ref2.events, + data = _ref2.data; + utilities_event.trap(event); + events.onRequestRemove(event, data); +}; + +var utilities_pill_Pill = function Pill(props) { + var assistiveText = lodash_assign_default()({}, pill_defaultProps.assistiveText, props.assistiveText); + var labels = lodash_assign_default()({}, pill_defaultProps.labels, props.labels); + return /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(pill, { + avatar: props.avatar, + bare: props.bare, + hasError: props.hasError, + tabIndex: props.tabIndex || '0', + icon: props.icon, + variant: "option", + labels: labels, + assistiveText: { + remove: assistiveText.remove + }, + "aria-selected": "true", + onBlur: props.events.onBlur, + onClick: typeof props.events.onClick === 'function' ? function (event) { + if (props.events.onClick) { + props.events.onClick(event, pill_objectSpread({}, props.eventData)); + } + } : null, + onFocus: function onFocus(event) { + if (props.events.onFocus) { + props.events.onFocus(event, pill_objectSpread({}, props.eventData)); + } + }, + onRemove: function onRemove(event) { + utilities_event.trap(event); + pill_handleClickRemove(event, { + events: props.events, + data: props.eventData + }); + }, + onKeyDown: function onKeyDown(event) { + pill_handleKeyDown(event, { + events: props.events, + data: props.eventData + }); + }, + ref: function ref(component) { + if (props.requestFocus && props.active) { + props.events.onRequestFocus(undefined, { + ref: component + }); + } + } + }); +}; + +utilities_pill_Pill.displayName = 'Pill'; +utilities_pill_Pill.propTypes = utilities_pill_propTypes; +utilities_pill_Pill.defaultProps = pill_defaultProps; +/* harmony default export */ var utilities_pill = (utilities_pill_Pill); +// CONCATENATED MODULE: ./utilities/is-react-component.js +/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */ + +/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */ +function isReactComponent(object) { + return object.$$typeof && object.$$typeof.toString() === 'Symbol(react.element)' || object.type && typeof object.type === 'function'; +} + +/* harmony default export */ var is_react_component = (isReactComponent); +// CONCATENATED MODULE: ./components/pill-container/private/selected-listbox.jsx +function selected_listbox_ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; } + +function selected_listbox_objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { selected_listbox_ownKeys(Object(source), true).forEach(function (key) { selected_listbox_defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { selected_listbox_ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; } + +function selected_listbox_defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */ + +/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */ + + + + + + + +var selected_listbox_propTypes = { + /* + * The option object within the selection prop that should have focus. + */ + activeOption: prop_types_default.a.object, + + /* + * The index of the option object within the selection prop that should have focus. + */ + activeOptionIndex: prop_types_default.a.number, + + /** + * **Assistive text for accessibility** + * This object is merged with the default props object on every render. + * * `label`: This is used as a visually hidden label if, no `labels.label` is provided. + * * `removePill`: Aids in keyboard interaction with Pills. + * * `selectedListboxLabel`: Used to identify the listbox + */ + assistiveText: prop_types_default.a.shape({ + label: prop_types_default.a.string, + removePill: prop_types_default.a.string, + selectedListboxLabel: prop_types_default.a.string + }), + + /** + * CSS classes to be added to the top-level `div` tag. + */ + className: prop_types_default.a.oneOfType([prop_types_default.a.array, prop_types_default.a.object, prop_types_default.a.string]), + + /* + * Callbacks for various pill events such as click, focus, etc + */ + events: prop_types_default.a.shape({ + onClickPill: prop_types_default.a.func, + onPillFocus: prop_types_default.a.func.isRequired, + onRequestFocus: prop_types_default.a.func.isRequired, + onRequestFocusOnNextPill: prop_types_default.a.func.isRequired, + onRequestFocusOnPreviousPill: prop_types_default.a.func.isRequired, + onRequestRemove: prop_types_default.a.func.isRequired + }), + + /** + * HTML id for component main container + */ + id: prop_types_default.a.string, + + /** + * Determines whether component renders as a bare pill container with associated styling for child pills + */ + isBare: prop_types_default.a.bool, + + /** + * Adds inline (inside of input) styling + */ + isInline: prop_types_default.a.bool, + + /** + * Determines whether component renders as a pill container with associated styling and behavior + */ + isPillContainer: prop_types_default.a.bool, + + /** + * The value of `aria-orientation` to use on the listbox element + */ + listboxAriaOrientation: prop_types_default.a.string, + + /** + * The value of `role` to use on the listbox element + */ + listboxRole: prop_types_default.a.string, + + /** + * The value of `aria-orientation` to use on the container element + */ + containerAriaOrientation: prop_types_default.a.string, + + /** + * The value of `role` to use on the container element + */ + containerRole: prop_types_default.a.string, + + /* + * Pill Label + */ + labels: prop_types_default.a.shape({ + label: prop_types_default.a.string, + remove: prop_types_default.a.string, + title: prop_types_default.a.string + }), + + /** + * Changes styles of the input. Currently `entity` is not supported. + */ + renderAtSelectionLength: prop_types_default.a.number, + + /** + * This callback exposes the selected listbox reference / DOM node to parent components. + */ + selectedListboxRef: prop_types_default.a.func, + + /** + * Accepts an array of item objects. + */ + selection: prop_types_default.a.array, + + /** + * Custom styles to be passed to the top-level `div` tag + */ + style: prop_types_default.a.object, + + /** + * Requests that the active option set focus on render + */ + listboxHasFocus: prop_types_default.a.bool, + + /** + * Changes styles of the input. Currently `entity` is not supported. + */ + variant: prop_types_default.a.oneOf(['base', 'inline-listbox', 'readonly']) +}; +var selected_listbox_defaultProps = { + listboxAriaOrientation: 'horizontal', + listboxRole: 'listbox', + renderAtSelectionLength: 1 +}; + +var selected_listbox_getAvatar = function getAvatar(option) { + var avatarObject = option.avatar; + var avatar = null; + + if (avatarObject) { + if (is_react_component(avatarObject) || avatarObject instanceof HTMLElement) { + avatar = avatarObject; + } else if (avatarObject.imgSrc) { + avatar = /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(components_avatar, { + imgSrc: avatarObject.imgSrc, + title: avatarObject.title || option.label, + variant: avatarObject.variant || 'user' + }); + } + } + + return avatar; +}; + +var selected_listbox_getIcon = function getIcon(option) { + var iconObject = option.icon; + var icon = null; + + if (iconObject) { + if (is_react_component(iconObject) || iconObject instanceof HTMLElement) { + icon = iconObject; + } else if (iconObject.category && iconObject.name) { + icon = /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(components_icon, { + category: iconObject.category, + name: iconObject.name, + title: iconObject.title || option.label + }); + } + } + + return icon; +}; + +var selected_listbox_SelectedListBox = function SelectedListBox(props) { + return props.selection.length >= props.renderAtSelectionLength ? /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + // eslint-disable-line jsx-a11y/role-supports-aria-props + className: classnames_default()({ + 'slds-pill_container': props.isPillContainer + }, props.className) || undefined, + id: props.id, + ref: function ref(_ref) { + if (props.selectedListboxRef) { + props.selectedListboxRef(_ref); + } + }, + style: props.style // Remove role and aria-orientation after slds-has-inline-listbox is deprecated in Combobox + , + role: props.containerRole, + "aria-orientation": props.containerAriaOrientation + }, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("ul", { + className: classnames_default()('slds-listbox', { + 'slds-listbox_inline': props.isInline, + 'slds-listbox_horizontal': !props.isInline, + 'slds-p-top_xxx-small': !props.isInline + }), + "aria-label": props.assistiveText.selectedListboxLabel, + role: props.listboxRole, + "aria-orientation": props.listboxAriaOrientation + }, props.selection.map(function (option, renderIndex) { + var hasTabIndex = renderIndex === props.activeOptionIndex; + var icon = selected_listbox_getIcon(option); + var avatar = !icon ? selected_listbox_getAvatar(option) : null; + return /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("li", { + role: "presentation", + className: "slds-listbox__item", + key: "".concat(props.id, "-list-item-").concat(option.id) + }, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(utilities_pill, { + active: hasTabIndex && props.listboxHasFocus, + assistiveText: { + remove: props.assistiveText.removePill + }, + avatar: avatar, + bare: option.bare || props.isBare, + error: option.error, + events: { + onBlur: props.events.onBlurPill, + onClick: typeof props.events.onClickPill === 'function' ? function (event, data) { + props.events.onClickPill(event, selected_listbox_objectSpread(selected_listbox_objectSpread({}, data), {}, { + index: renderIndex + })); + } : null, + onFocus: function onFocus(event, data) { + props.events.onPillFocus(event, selected_listbox_objectSpread(selected_listbox_objectSpread({}, data), {}, { + index: renderIndex + })); + }, + onRequestFocusOnNextPill: props.events.onRequestFocusOnNextPill, + onRequestFocusOnPreviousPill: props.events.onRequestFocusOnPreviousPill, + onRequestRemove: function onRequestRemove(event, data) { + props.events.onRequestRemove(event, selected_listbox_objectSpread(selected_listbox_objectSpread({}, data), {}, { + index: renderIndex + })); + }, + onRequestFocus: props.events.onRequestFocus + }, + eventData: { + option: option + }, + hasError: option.error, + icon: icon, + labels: { + label: option.label, + removeTitle: props.labels.removePillTitle + }, + requestFocus: props.listboxHasFocus, + tabIndex: hasTabIndex ? 0 : -1 + })); + }))) : null; +}; + +selected_listbox_SelectedListBox.displayName = 'SelectedListBox'; +selected_listbox_SelectedListBox.propTypes = selected_listbox_propTypes; +selected_listbox_SelectedListBox.defaultProps = selected_listbox_defaultProps; +/* harmony default export */ var selected_listbox = (selected_listbox_SelectedListBox); +// CONCATENATED MODULE: ./utilities/key-letter-menu-item-select.js +/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */ + +/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */ + // Determines the focusedIndex of a menu item following keyboard letter presses + +var key_letter_menu_item_select_keyLetterMenuItemSelect = function keyLetterMenuItemSelect(_ref) { + var key = _ref.key, + keyBuffer = _ref.keyBuffer, + keyCode = _ref.keyCode, + options = _ref.options; + var ch = key || String.fromCharCode(keyCode); + + if (/^[ -~]$/.test(ch)) { + ch = ch.toLowerCase(); + } else { + ch = null; + } + + var pattern = keyBuffer(ch); + var consecutive = 0; + var focusedIndex; // Support for navigating to the next option of the same letter with repeated presses of the same key + + if (pattern.length > 1 && new RegExp("^[".concat(lodash_escaperegexp_default()(ch), "]+$")).test(pattern)) { + consecutive = pattern.length; + } + + options.forEach(function (item, index) { + var itemLabel = String(item.label).toLowerCase(); + + if (focusedIndex === undefined && itemLabel.substr(0, pattern.length) === pattern || consecutive > 0 && itemLabel.substr(0, 1) === ch) { + consecutive -= 1; + focusedIndex = index; + } + }); + return focusedIndex; +}; + +/* harmony default export */ var key_letter_menu_item_select = (key_letter_menu_item_select_keyLetterMenuItemSelect); +// CONCATENATED MODULE: ./utilities/menu-item-select-scroll.js +/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */ + +/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */ +// Scrolls a menu container to the appropriate focused item. Assumes container is positioned (absolute, relative, etc) +var menuItemSelectScroll = function menuItemSelectScroll(_ref) { + var container = _ref.container, + focusedIndex = _ref.focusedIndex, + _ref$itemTag = _ref.itemTag, + itemTag = _ref$itemTag === void 0 ? 'li' : _ref$itemTag, + _ref$scrollPadding = _ref.scrollPadding, + scrollPadding = _ref$scrollPadding === void 0 ? 4 : _ref$scrollPadding; + var domItem = container.querySelector("".concat(itemTag, ":nth-child(").concat(focusedIndex + 1, ")")); + + if (domItem) { + if (domItem.offsetHeight - container.scrollTop + domItem.offsetTop >= container.offsetHeight) { + // eslint-disable-next-line no-param-reassign + container.scrollTop = domItem.offsetHeight + domItem.offsetTop - container.offsetHeight + scrollPadding; + } else if (domItem.offsetTop <= container.scrollTop) { + // eslint-disable-next-line no-param-reassign + container.scrollTop = domItem.offsetTop - scrollPadding; + } + } +}; + +/* harmony default export */ var menu_item_select_scroll = (menuItemSelectScroll); +// CONCATENATED MODULE: ./components/combobox/check-props.js +/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */ + +/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */ + +/* eslint-disable import/no-mutable-exports */ + + + + +var combobox_check_props_checkProps = function checkPropsFunction() {}; + +if (false) {} + +/* harmony default export */ var combobox_check_props = (combobox_check_props_checkProps); +// EXTERNAL MODULE: ./components/combobox/component.json +var combobox_component = __webpack_require__(45); + +// CONCATENATED MODULE: ./components/combobox/combobox.jsx +function combobox_typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { combobox_typeof = function _typeof(obj) { return typeof obj; }; } else { combobox_typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return combobox_typeof(obj); } + +function combobox_extends() { combobox_extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return combobox_extends.apply(this, arguments); } + +function combobox_toConsumableArray(arr) { return combobox_arrayWithoutHoles(arr) || combobox_iterableToArray(arr) || combobox_unsupportedIterableToArray(arr) || combobox_nonIterableSpread(); } + +function combobox_nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } + +function combobox_unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return combobox_arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return combobox_arrayLikeToArray(o, minLen); } + +function combobox_iterableToArray(iter) { if (typeof Symbol !== "undefined" && Symbol.iterator in Object(iter)) return Array.from(iter); } + +function combobox_arrayWithoutHoles(arr) { if (Array.isArray(arr)) return combobox_arrayLikeToArray(arr); } + +function combobox_arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; } + +function combobox_classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function combobox_defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function combobox_createClass(Constructor, protoProps, staticProps) { if (protoProps) combobox_defineProperties(Constructor.prototype, protoProps); if (staticProps) combobox_defineProperties(Constructor, staticProps); return Constructor; } + +function combobox_inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) combobox_setPrototypeOf(subClass, superClass); } + +function combobox_setPrototypeOf(o, p) { combobox_setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return combobox_setPrototypeOf(o, p); } + +function combobox_createSuper(Derived) { var hasNativeReflectConstruct = combobox_isNativeReflectConstruct(); return function _createSuperInternal() { var Super = combobox_getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = combobox_getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return combobox_possibleConstructorReturn(this, result); }; } + +function combobox_possibleConstructorReturn(self, call) { if (call && (combobox_typeof(call) === "object" || typeof call === "function")) { return call; } return combobox_assertThisInitialized(self); } + +function combobox_assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +function combobox_isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } } + +function combobox_getPrototypeOf(o) { combobox_getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return combobox_getPrototypeOf(o); } + +function combobox_defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +/* eslint-disable max-lines */ + +/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */ + +/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */ + +/* eslint-disable max-lines */ + + + + + + + + + + + + + + + + + + + + + + + + + + + +var combobox_currentOpenDropdown; +var combobox_documentDefined = typeof document !== 'undefined'; +var combobox_propTypes = { + /** + * **Assistive text for accessibility** + * This object is merged with the default props object on every render. + * * `label`: This is used as a visually hidden label if, no `labels.label` is provided. + * * `loading`: Text added to loading spinner. + * * `optionSelectedInMenu`: Added before selected menu items in Read-only variants (Picklists). The default is `Current Selection:`. + * * `popoverLabel`: Used by popover variant, assistive text for the Popover aria-label. + * * `removeSingleSelectedOption`: Used by inline-listbox, single-select variant to remove the selected item (pill). This is a button with focus. The default is `Remove selected option`. + * * `removePill`: Used by multiple selection Comboboxes to remove a selected item (pill). Focus is on the pill. This is not a button. The default is `, Press delete or backspace to remove`. + * * `selectedListboxLabel`: This is a label for the selected listbox. The grouping of pills for multiple selection Comboboxes. The default is `Selected Options:`. + * _Tested with snapshot testing._ + */ + assistiveText: prop_types_default.a.shape({ + label: prop_types_default.a.string, + loadingMenuItems: prop_types_default.a.string, + optionSelectedInMenu: prop_types_default.a.string, + popoverLabel: prop_types_default.a.string, + removeSingleSelectedOption: prop_types_default.a.string, + removePill: prop_types_default.a.string, + selectedListboxLabel: prop_types_default.a.string + }), + + /** + * The `aria-describedby` attribute is used to indicate the IDs of the elements that describe the object. It is used to establish a relationship between widgets or groups and text that described them. + * This is very similar to aria-labelledby: a label describes the essence of an object, while a description provides more information that the user might need. _Tested with snapshot testing._ + */ + 'aria-describedby': prop_types_default.a.string, + + /** + * CSS classes to be added to tag with `.slds-combobox`. Uses `classNames` [API](https://github.com/JedWatson/classnames). _Tested with snapshot testing._ + */ + className: prop_types_default.a.oneOfType([prop_types_default.a.array, prop_types_default.a.object, prop_types_default.a.string]), + + /** + * CSS classes to be added to top level tag with `.slds-form-element` and not on `.slds-combobox_container`. Uses `classNames` [API](https://github.com/JedWatson/classnames). _Tested with snapshot testing._ + */ + classNameContainer: prop_types_default.a.oneOfType([prop_types_default.a.array, prop_types_default.a.object, prop_types_default.a.string]), + + /** + * CSS classes to be added to tag with `.slds-dropdown`. Uses `classNames` [API](https://github.com/JedWatson/classnames). Autocomplete/bass variant menu height should not scroll and should be determined by number items which should be no more than 10. _Tested with snapshot testing._ + */ + classNameMenu: prop_types_default.a.oneOfType([prop_types_default.a.array, prop_types_default.a.object, prop_types_default.a.string]), + + /** + * CSS classes to be added to tag with `.slds-dropdown__header`. Uses `classNames` [API](https://github.com/JedWatson/classnames). + */ + classNameMenuSubHeader: prop_types_default.a.oneOfType([prop_types_default.a.array, prop_types_default.a.object, prop_types_default.a.string]), + + /** + * Event Callbacks + * * `onBlur`: Called when `input` removes focus. + * * `onChange`: Called when keyboard events occur within `input` + * * `onClose`: Triggered when the menu has closed. + * * `onFocus`: Called when `input` receives focus. + * * `onOpen`: Triggered when the menu has opened. + * * `onRequestClose`: Function called when the menu would like to hide. Please use with `isOpen`. + * * `onRequestOpen`: Function called when the menu would like to show. Please use with `isOpen`. + * * `onRequestRemoveSelectedOption`: Function called when a single selection option is to be removed. + * * `onSelect`: Function called when a menu item is selected. This includes header and footer items. + * * `onSubmit`: Function called when user presses enter or submits the `input` + * _Tested with Mocha testing._ + */ + events: prop_types_default.a.shape({ + onBlur: prop_types_default.a.func, + onChange: prop_types_default.a.func, + onClose: prop_types_default.a.func, + onFocus: prop_types_default.a.func, + onOpen: prop_types_default.a.func, + onRequestClose: prop_types_default.a.func, + onRequestOpen: prop_types_default.a.func, + onRequestRemoveSelectedOption: prop_types_default.a.func, + onSelect: prop_types_default.a.func, + onSubmit: prop_types_default.a.func + }), + + /** + * Message to display when the input is in an error state. When this is present, also visually highlights the component as in error. _Tested with snapshot testing._ + */ + errorText: prop_types_default.a.string, + + /** + * A [Tooltip](https://react.lightningdesignsystem.com/components/tooltips/) component that is displayed next to the `labels.label`. The props from the component will be merged and override any default props. + */ + fieldLevelHelpTooltip: prop_types_default.a.node, + + /** + * If true, loading spinner appears inside input on right hand side. + */ + hasInputSpinner: prop_types_default.a.bool, + + /** + * Add loading spinner below the options + */ + hasMenuSpinner: prop_types_default.a.bool, + + /** + * By default, dialogs will flip their alignment (such as bottom to top) if they extend beyond a boundary element such as a scrolling parent or a window/viewpoint. `hasStaticAlignment` disables this behavior and allows this component to extend beyond boundary elements. _Not tested._ + */ + hasStaticAlignment: prop_types_default.a.bool, + + /** + * HTML id for component. _Tested with snapshot testing._ + */ + id: prop_types_default.a.string, + + /** + * An [Input](https://react.lightningdesignsystem.com/components/inputs) component. + * The props from this component will override any default props. + */ + input: prop_types_default.a.node, + + /** + * **Text labels for internationalization** + * This object is merged with the default props object on every render. + * * `label`: This label appears above the input. + * * `cancelButton`: This label is only used by the dialog variant for the cancel button in the footer of the dialog. The default is `Cancel` + * * `doneButton`: This label is only used by the dialog variant for the done button in the footer of the dialog. The default is `Done` + * * `multipleOptionsSelected`: This label is used by the readonly variant when multiple options are selected. The default is `${props.selection.length} options selected`. This will override the entire string. + * * `noOptionsFound`: Custom message that renders when no matches found. The default empty state is just text that says, 'No matches found.'. + * * `placeholder`: Input placeholder + * * `placeholderReadOnly`: Placeholder for Picklist-like Combobox + * * `removePillTitle`: Title on `X` icon + * _Tested with snapshot testing._ + */ + labels: prop_types_default.a.shape({ + label: prop_types_default.a.oneOfType([prop_types_default.a.node, prop_types_default.a.string]), + multipleOptionsSelected: prop_types_default.a.string, + noOptionsFound: prop_types_default.a.oneOfType([prop_types_default.a.node, prop_types_default.a.string]), + placeholder: prop_types_default.a.string, + placeholderReadOnly: prop_types_default.a.string, + removePillTitle: prop_types_default.a.string + }), + + /** + * Forces the dropdown to be open or closed. See controlled/uncontrolled callback/prop pattern for more on suggested use view [Concepts and Best Practices](https://github.com/salesforce-ux/design-system-react/blob/master/CONTRIBUTING.md#concepts-and-best-practices) _Tested with snapshot testing._ + */ + isOpen: prop_types_default.a.bool, + + /** + * Sets the dialog width to the width of one of the following: + * * `target`: Sets the dialog width to the width of the target. (Menus attached to `input` typically follow this UX pattern), + * * `menu`: Consider setting a `menuMaxWidth` if using this value. If not, width will be set to width of largest menu item. + * * `none`: Does not set a width on the dialog. _Tested with snapshot testing._ + */ + inheritWidthOf: prop_types_default.a.oneOf(['target', 'menu', 'none']), + + /** + * Accepts a custom menu item rendering function that becomes a custom component. It should return a React node. The checkmark is still rendered in readonly variants. This function is passed the following props: + * * `assistiveText`: Object, `assistiveText` prop that is passed into Combobox + * * `option`: Object, option data for item being rendered that is passed into Combobox + * * `selected`: Boolean, allows rendering of `assistiveText.optionSelectedInMenu` in Readonly Combobox + * + * _Tested with snapshot testing._ + */ + onRenderMenuItem: prop_types_default.a.func, + + /** + * Please select one of the following: + * * `absolute` - (default) The dialog will use `position: absolute` and style attributes to position itself. This allows inverted placement or flipping of the dialog. + * * `overflowBoundaryElement` - The dialog will overflow scrolling parents. Use on elements that are aligned to the left or right of their target and don't care about the target being within a scrolling parent. Typically this is a popover or tooltip. Dropdown menus can usually open up and down if no room exists. In order to achieve this a portal element will be created and attached to `body`. This element will render into that detached render tree. + * * `relative` - No styling or portals will be used. Menus will be positioned relative to their triggers. This is a great choice for HTML snapshot testing. + */ + menuPosition: prop_types_default.a.oneOf(['absolute', 'overflowBoundaryElement', 'relative']), + + /** + * Sets a maximum width that the menu will be used if `inheritWidthOf` is set to `menu`. (Example: 500px) _Tested with snapshot testing._ + * + */ + menuMaxWidth: prop_types_default.a.string, + + /** + * Allows multiple selections _Tested with mocha testing._ + */ + multiple: prop_types_default.a.bool, + + /** + * **Array of item objects in the dropdown menu.** + * Each object can contain: + * * `icon`: An `Icon` component. (not used in read-only variant) + * * `id`: A unique identifier string. + * * `label`: A primary string of text for a menu item or group separator. + * * `subTitle`: A secondary string of text added for clarity. (optional) + * * `type`: 'separator' is the only type currently used + * * `disabled`: Set to true to disable this menu item. + * * `tooltipContent`: Content that is displayed in tooltip when item is disabled + * ``` + * { + * id: '2', + * label: 'Salesforce.com, Inc.', + * subTitle: 'Account • San Francisco', + * type: 'account', + * disabled: true, + * tooltipContent: "You don't have permission to select this item." + * }, + * ``` + * Note: At the moment, Combobox does not support two consecutive separators. _Tested with snapshot testing._ + */ + options: prop_types_default.a.arrayOf(prop_types_default.a.PropTypes.shape({ + id: prop_types_default.a.string.isRequired, + icon: prop_types_default.a.node, + label: prop_types_default.a.string, + subTitle: prop_types_default.a.string, + type: prop_types_default.a.string, + disabled: prop_types_default.a.boolean, + tooltipContent: prop_types_default.a.node + })), + + /** + * Determines the height of the menu based on SLDS CSS classes. This is a `number`. The default for a `readonly` variant is `5`. + */ + menuItemVisibleLength: prop_types_default.a.oneOf([5, 7, 10]), + + /** + * Limits auto-complete input submission to one of the provided options. _Tested with mocha testing._ + */ + predefinedOptionsOnly: prop_types_default.a.bool, + + /** + * A `Popover` component. The props from this popover will be merged and override any default props. This also allows a Combobox's Popover dialog to be a controlled component. _Tested with snapshot testing._ + */ + popover: prop_types_default.a.node, + + /** + * Applies label styling for a required form element. _Tested with snapshot testing._ + */ + required: prop_types_default.a.bool, + + /** + * Accepts an array of item objects. For single selection, pass in an array of one object. For item object keys, see `options` prop. _Tested with snapshot testing._ + */ + selection: prop_types_default.a.arrayOf(prop_types_default.a.PropTypes.shape({ + id: prop_types_default.a.string.isRequired, + icon: prop_types_default.a.node, + label: prop_types_default.a.string, + subTitle: prop_types_default.a.string, + type: prop_types_default.a.string + })).isRequired, + + /** + * This callback exposes the selected listbox reference / DOM node to parent components. + */ + selectedListboxRef: prop_types_default.a.func, + + /** + * Disables the input and prevents editing the contents. This only applies for single readonly and inline-listbox variants. + */ + singleInputDisabled: prop_types_default.a.bool, + + /** + * Accepts a tooltip that is displayed when hovering on disabled menu items. + */ + tooltipMenuItemDisabled: prop_types_default.a.element, + + /** + * Value of input. _This is a controlled component,_ so you will need to control the input value by passing the `value` from `onChange` to a parent component or state manager, and then pass it back into the componet with this prop. Please see examples for more clarification. _Tested with snapshot testing._ + */ + value: prop_types_default.a.string, + + /** + * Changes styles of the input and menu. Currently `entity` is not supported. + * The options are: + * * `base`: An autocomplete Combobox also allows a user to select an option from a list, but that list can be affected by what the user types into the input of the Combobox. The SLDS website used to call the autocomplete Combobox its `base` variant. + * * `inline-listbox`: An Entity Autocomplete Combobox or Lookup, is used to search for and select Salesforce Entities. + * * `popover`: A dialog Combobox is best used when a listbox, tree, grid, or tree-grid is not the best solution. This variant allows custom content. + * * `readonly`: A readonly text input that allows a user to select an option from a pre-defined list of options. It does not allow free form user input, nor does it allow the user to modify the selected value. + * + * _Tested with snapshot testing._ + */ + + /** + * Default value of input. Provide uncontroled behaviour + */ + defaultValue: prop_types_default.a.string, + + /** + * **Array of item objects in the dropdown menu that is displayed below the list of `options`. `onSelect` fires when selected.** + * Each object can contain: + * * `id`: A unique identifier string. + * * `icon`: An [Icon](/components/icons/) component to be displayed to the left of the menu item `label`. + * * `label`: A primary string of text for a menu item or a function that receives `inputValue` as function parameter and returns text to be displayed in for a menu item. + * ``` + * { + * id: '1', + * icon: ( + * <Icon + * assistiveText={{ label: 'add' }} + * category="utility" + * size="x-small" + * name="add" + * /> + * ), + * label: 'New Entity' + * } + * ``` + * _Tested with snapshot testing._ + */ + optionsAddItem: prop_types_default.a.arrayOf(prop_types_default.a.shape({ + id: prop_types_default.a.string, + icon: prop_types_default.a.node, + label: prop_types_default.a.oneOfType([prop_types_default.a.string, prop_types_default.a.func]) + })), + + /** + * **Array of item objects in the dropdown menu that is displayed above the list of `options`. `onSelect` fires when selected. ** + * Each object can contain: + * * `id`: A unique identifier string. + * * `icon`: An [Icon](/components/icons/) component to be displayed to the left of the menu item `label`. + * * `label`: A primary string of text for a menu item or a function that receives `inputValue` as function parameter and returns text to be displayed in for a menu item. + * ``` + * { + * id: '1', + * icon: ( + * <Icon + * assistiveText={{ label: 'Add in Accounts' }} + * size="x-small" + * category="utility" + * name="search" + * /> + * ), + * label: (searchTerm) => { + * return `${searchTerm} in Accounts`; + * }, + * } + * ``` + * _Tested with snapshot testing._ + */ + optionsSearchEntity: prop_types_default.a.arrayOf(prop_types_default.a.shape({ + id: prop_types_default.a.string, + icon: prop_types_default.a.node, + label: prop_types_default.a.oneOfType([prop_types_default.a.string, prop_types_default.a.func]) + })), + + /** + * Node of type [Combobox](/components/comboboxes/) for creating grouped comboboxes. + */ + entityCombobox: prop_types_default.a.node, + + /** + * Defines Combobox variant styling and functionality + */ + variant: prop_types_default.a.oneOf(['base', 'inline-listbox', 'popover', 'readonly']) +}; +var combobox_defaultProps = { + assistiveText: { + loadingMenuItems: 'Loading', + optionSelectedInMenu: 'Current Selection:', + removeSingleSelectedOption: 'Remove selected option', + removePill: ', Press delete or backspace to remove', + selectedListboxLabel: 'Selected Options:' + }, + events: {}, + labels: { + cancelButton: 'Cancel', + doneButton: "Done", + noOptionsFound: 'No matches found.', + optionDisabledTooltipLabel: 'This option is disabled.', + placeholderReadOnly: 'Select an Option', + removePillTitle: 'Remove' + }, + inheritWidthOf: 'target', + menuPosition: 'absolute', + optionsSearchEntity: [], + optionsAddItem: [], + required: false, + selection: [], + singleInputDisabled: false, + variant: 'base' +}; +/** + * A widget that provides a user with an input field that is either an autocomplete or readonly, accompanied with a listbox of pre-definfined options. + */ + +var combobox_Combobox = /*#__PURE__*/function (_React$Component) { + combobox_inherits(Combobox, _React$Component); + + var _super = combobox_createSuper(Combobox); + + function Combobox(_props) { + var _this; + + combobox_classCallCheck(this, Combobox); + + _this = _super.call(this, _props); + + combobox_defineProperty(combobox_assertThisInitialized(_this), "getCustomPopoverProps", function (body, _ref) { + var assistiveText = _ref.assistiveText, + labels = _ref.labels; + + /* + * Generate the popover props based on passed in popover props. Using the default behavior if not provided by passed in popover + */ + var popoverBody = /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", null, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: "slds-assistive-text", + id: "".concat(_this.getId(), "-label") + }, assistiveText.popoverLabel), body); + var popoverFooter = /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", null, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(components_button, { + label: labels.cancelButton, + onClick: function onClick(e) { + _this.handleClose(e, { + trigger: 'cancel' + }); + } + }), /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(components_button, { + label: labels.doneButton, + variant: "brand", + onClick: _this.handleClose + })); + var defaultPopoverProps = { + ariaLabelledby: "".concat(_this.getId(), "-label"), + align: 'bottom', + body: popoverBody, + className: 'slds-popover_full-width', + footer: popoverFooter, + footerClassName: 'slds-popover__footer_form', + hasNoNubbin: true, + id: _this.getId(), + isOpen: _this.state.isOpen, + hasNoTriggerStyles: true, + onOpen: _this.handleOpen, + onClose: _this.handleClose, + onRequestClose: _this.handleClose + }; + /* Merge in passed popover's props if there is any to override the default popover props */ + + var popoverProps = lodash_assign_default()(defaultPopoverProps, _this.props.popover ? _this.props.popover.props : {}); + popoverProps.body = popoverBody; // eslint-disable-next-line fp/no-delete + + delete popoverProps.children; + return popoverProps; + }); + + combobox_defineProperty(combobox_assertThisInitialized(_this), "getId", function () { + return _this.props.id || _this.generatedId; + }); + + combobox_defineProperty(combobox_assertThisInitialized(_this), "getIsActiveOption", function () { + return _this.state.activeOption && _this.state.activeOptionIndex !== -1; + }); + + combobox_defineProperty(combobox_assertThisInitialized(_this), "getIsOpen", function () { + return !!(typeof _this.props.isOpen === 'boolean' ? _this.props.isOpen : _this.state.isOpen); + }); + + combobox_defineProperty(combobox_assertThisInitialized(_this), "getNewActiveOptionIndex", function (_ref2) { + var activeOptionIndex = _ref2.activeOptionIndex, + offset = _ref2.offset, + options = _ref2.options; + // used by menu listbox and selected options listbox + var nextIndex = activeOptionIndex + offset; + var skipIndex = options.length > nextIndex && nextIndex >= 0 && options[nextIndex].type === 'separator'; + var newIndex = skipIndex ? nextIndex + offset : nextIndex; + var hasNewIndex = options.length > nextIndex && nextIndex >= 0; + return hasNewIndex ? newIndex : activeOptionIndex; + }); + + combobox_defineProperty(combobox_assertThisInitialized(_this), "getOptions", function () { + var props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : _this.props; + var localProps = props; + var options = []; + + if (localProps.optionsSearchEntity.length > 0) { + // eslint-disable-next-line fp/no-mutating-methods + options.push.apply(options, combobox_toConsumableArray(localProps.optionsSearchEntity)); + } + + if (localProps.options) { + // eslint-disable-next-line fp/no-mutating-methods + options.push.apply(options, combobox_toConsumableArray(localProps.options)); + } + + if (localProps.optionsAddItem.length > 0) { + // eslint-disable-next-line fp/no-mutating-methods + options.push.apply(options, combobox_toConsumableArray(localProps.optionsAddItem)); + } + + return options; + }); + + combobox_defineProperty(combobox_assertThisInitialized(_this), "getTargetElement", function () { + return _this.inputRef; + }); + + combobox_defineProperty(combobox_assertThisInitialized(_this), "setInputRef", function (component) { + _this.inputRef = component; // yes, this is a render triggered by a render. + // Dialog/Popper.js cannot place the menu until + // the trigger/target DOM node is mounted. This + // way `findDOMNode` is not called and parent + // DOM nodes are not queried. + + if (!_this.state.inputRendered) { + _this.setState({ + inputRendered: true + }); + } + }); + + combobox_defineProperty(combobox_assertThisInitialized(_this), "setSelectedListboxRef", function (ref) { + _this.selectedListboxRef = ref; + + if (_this.props.selectedListboxRef) { + _this.props.selectedListboxRef(ref); + } + }); + + combobox_defineProperty(combobox_assertThisInitialized(_this), "handleBlurPill", function () { + _this.setState({ + listboxHasFocus: false + }); + }); + + combobox_defineProperty(combobox_assertThisInitialized(_this), "handleClickOutside", function (event) { + _this.handleRequestClose(event, {}); + }); + + combobox_defineProperty(combobox_assertThisInitialized(_this), "handleClose", function (event) { + var _ref3 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}, + trigger = _ref3.trigger; + + var isOpen = _this.getIsOpen(); + + if (isOpen) { + if (combobox_currentOpenDropdown === combobox_assertThisInitialized(_this)) { + combobox_currentOpenDropdown = undefined; + } + + _this.setState({ + activeOption: undefined, + activeOptionIndex: -1, + isOpen: false + }); + + if (_this.props.variant === 'popover' && trigger === 'cancel') { + if (_this.props.popover.props.onClose) { + _this.props.popover.props.onClose(event, { + trigger: trigger + }); + } + } + + if (_this.props.events.onClose) { + _this.props.events.onClose(event, {}); + } + } + }); + + combobox_defineProperty(combobox_assertThisInitialized(_this), "handleInputBlur", function (event) { + // If menu is open when the input's onBlur event fires, it will close before the onClick of the menu item can fire. + setTimeout(function () { + var activeElement = combobox_documentDefined ? document.activeElement : false; // detect if the scrollbar of the combobox-autocomplete/lookup menu is clicked in IE11. If it is, return focus to input, and do not close menu. + + if (activeElement && activeElement.tagName === 'DIV' && activeElement.id === "".concat(_this.getId(), "-listbox")) { + if (_this.inputRef) { + _this.inputRef.focus(); + } + } else if (!_this.props.popover) { + _this.handleClose(event); + } + }, 200); + + if (_this.props.events.onBlur) { + _this.props.events.onBlur(event); + } + }); + + combobox_defineProperty(combobox_assertThisInitialized(_this), "handleInputChange", function (event) { + _this.requestOpenMenu(); + + if (_this.props.events && _this.props.events.onChange) { + _this.props.events.onChange(event, { + value: event.target.value + }); + } + }); + + combobox_defineProperty(combobox_assertThisInitialized(_this), "handleInputFocus", function (event) { + if (_this.props.events.onFocus) { + _this.props.events.onFocus(event, {}); + } + }); + + combobox_defineProperty(combobox_assertThisInitialized(_this), "handleInputSubmit", function (event) { + if (_this.state.activeOption && _this.state.activeOption.disabled) { + return; + } + + if (_this.state.activeOption && (_this.state.activeOption.type === 'header' || _this.state.activeOption.type === 'footer')) { + _this.state.activeOption.onClick(event); + + return; + } // use menu options + + + if (_this.getIsActiveOption()) { + _this.handleSelect(event, { + option: _this.state.activeOption, + selection: _this.props.selection + }); // use input value, if not limited to predefined options (in the menu) + + } else if (!_this.props.predefinedOptionsOnly && event.target.value !== '' && _this.props.events.onSubmit) { + _this.props.events.onSubmit(event, { + value: event.target.value + }); + } + }); + + combobox_defineProperty(combobox_assertThisInitialized(_this), "handleKeyDown", function (event) { + var _callbacks; + + var callbacks = (_callbacks = {}, combobox_defineProperty(_callbacks, key_code.DOWN, { + callback: _this.handleKeyDownDown + }), combobox_defineProperty(_callbacks, key_code.ENTER, { + callback: _this.handleInputSubmit + }), combobox_defineProperty(_callbacks, key_code.ESCAPE, { + callback: _this.handleClose + }), combobox_defineProperty(_callbacks, key_code.UP, { + callback: _this.handleKeyDownUp + }), _callbacks); + + if (_this.props.variant === 'readonly') { + if (_this.props.selection.length > 2) { + callbacks[key_code.TAB] = { + callback: _this.handleKeyDownTab + }; + } else { + callbacks[key_code.TAB] = undefined; + } + + callbacks.other = { + callback: _this.handleKeyDownOther, + stopPropagation: false + }; + } // Helper function that takes an object literal of callbacks that are triggered with a key event + + + key_callbacks(event, { + callbacks: callbacks + }); + }); + + combobox_defineProperty(combobox_assertThisInitialized(_this), "handleKeyDownDown", function (event) { + // Don't open if user is selecting text + if (!event.shiftKey) { + _this.openDialog(); + } + + if (_this.props.variant !== 'popover') { + _this.handleNavigateListboxMenu(event, { + direction: 'next' + }); + } + }); + + combobox_defineProperty(combobox_assertThisInitialized(_this), "handleKeyDownTab", function () { + if (_this.selectedListboxRef) { + _this.setState({ + listboxHasFocus: true + }); + } + }); + + combobox_defineProperty(combobox_assertThisInitialized(_this), "handleKeyDownUp", function (event) { + // Don't open if user is selecting text + if (!event.shiftKey && _this.getIsOpen()) { + _this.handleNavigateListboxMenu(event, { + direction: 'previous' + }); + } + }); + + combobox_defineProperty(combobox_assertThisInitialized(_this), "handleKeyDownOther", function (event) { + var activeOptionIndex = key_letter_menu_item_select({ + key: event.key, + keyBuffer: _this.menuKeyBuffer, + keyCode: event.keyCode, + options: _this.getOptions() + }); + + if (activeOptionIndex !== undefined) { + if (_this.getIsOpen()) { + menu_item_select_scroll({ + container: _this.menuRef, + focusedIndex: activeOptionIndex + }); + } + + _this.setState({ + activeOption: _this.getOptions()[activeOptionIndex], + activeOptionIndex: activeOptionIndex + }); + } + }); + + combobox_defineProperty(combobox_assertThisInitialized(_this), "handleNavigateListboxMenu", function (event, _ref4) { + var direction = _ref4.direction; + var offsets = { + next: 1, + previous: -1 + }; // takes current/previous state and returns an object with the new state + + _this.setState(function (prevState) { + var newIndex = _this.getNewActiveOptionIndex({ + activeOptionIndex: prevState.activeOptionIndex, + offset: offsets[direction], + options: _this.getOptions() + }); // eslint-disable-next-line react/no-access-state-in-setstate + + + if (_this.getIsOpen()) { + menu_item_select_scroll({ + container: _this.menuRef, + focusedIndex: newIndex + }); + } + + return { + activeOption: _this.getOptions()[newIndex], + activeOptionIndex: newIndex + }; + }); + }); + + combobox_defineProperty(combobox_assertThisInitialized(_this), "handleNavigateSelectedListbox", function (event, _ref5) { + var direction = _ref5.direction; + var offsets = { + next: 1, + previous: -1 + }; + + _this.setState(function (prevState) { + var isLastOptionAndRightIsPressed = prevState.activeSelectedOptionIndex + 1 === _this.props.selection.length && direction === 'next'; + var isFirstOptionAndLeftIsPressed = prevState.activeSelectedOptionIndex === 0 && direction === 'previous'; + var newState; + + if (isLastOptionAndRightIsPressed) { + newState = { + activeSelectedOption: _this.props.selection[0], + activeSelectedOptionIndex: 0, + listboxHasFocus: true + }; + } else if (isFirstOptionAndLeftIsPressed) { + newState = { + activeSelectedOption: _this.props.selection[_this.props.selection.length - 1], + activeSelectedOptionIndex: _this.props.selection.length - 1, + listboxHasFocus: true + }; + } else { + var newIndex = _this.getNewActiveOptionIndex({ + activeOptionIndex: prevState.activeSelectedOptionIndex, + offset: offsets[direction], + options: _this.props.selection + }); + + newState = { + activeSelectedOption: _this.props.selection[newIndex], + activeSelectedOptionIndex: newIndex, + listboxHasFocus: true + }; + } + + return newState; + }); + }); + + combobox_defineProperty(combobox_assertThisInitialized(_this), "handleOpen", function (event, data) { + var isOpen = _this.getIsOpen(); + + if (!isOpen) { + if (combobox_currentOpenDropdown && lodash_isfunction_default()(combobox_currentOpenDropdown.handleClose)) { + combobox_currentOpenDropdown.handleClose(); + } + } else { + combobox_currentOpenDropdown = combobox_assertThisInitialized(_this); + + _this.setState({ + isOpen: true + }); + + if (_this.props.events.onOpen) { + _this.props.events.onOpen(event, data); + } + + if (_this.props.variant === 'readonly' && _this.menuRef !== null) { + var activeOptionIndex = lodash_findindex_default()(_this.getOptions(), function (item) { + return lodash_isequal_default()(item, _this.props.selection[0]); + }); + + _this.setState({ + activeOptionIndex: activeOptionIndex + }); + + menu_item_select_scroll({ + container: _this.menuRef, + focusedIndex: activeOptionIndex + }); + } + } + }); + + combobox_defineProperty(combobox_assertThisInitialized(_this), "handlePillFocus", function (event, _ref6) { + var option = _ref6.option, + index = _ref6.index; + + if (!_this.state.listboxHasFocus) { + _this.setState({ + activeSelectedOption: option, + activeSelectedOptionIndex: index, + listboxHasFocus: true + }); + } + }); + + combobox_defineProperty(combobox_assertThisInitialized(_this), "handleRemoveSelectedOption", function (event, _ref7) { + var option = _ref7.option, + index = _ref7.index; + event.preventDefault(); + var onlyOnePillAndInputExists = _this.props.selection.length === 1; + var isReadOnlyAndTwoPillsExists = _this.props.selection.length === 2 && _this.props.variant === 'readonly' && _this.props.multiple; + var lastPillWasRemoved = index + 1 === _this.props.selection.length; + + if ((onlyOnePillAndInputExists || isReadOnlyAndTwoPillsExists) && _this.inputRef) { + _this.inputRef.focus(); + } else if (lastPillWasRemoved) { + // set focus to previous option and index + _this.setState({ + activeSelectedOption: _this.props.selection[index - 1], + activeSelectedOptionIndex: index - 1, + listboxHasFocus: true + }); + } else { + // set focus to next option, but same index + _this.setState({ + activeSelectedOption: _this.props.selection[index + 1], + activeSelectedOptionIndex: index, + listboxHasFocus: true + }); + } + + if (_this.props.events.onRequestRemoveSelectedOption) { + _this.props.events.onRequestRemoveSelectedOption(event, { + selection: lodash_reject_default()(_this.props.selection, option) + }); + } + }); + + combobox_defineProperty(combobox_assertThisInitialized(_this), "handleRequestClose", function (event, data) { + if (_this.props.events.onRequestClose) { + _this.props.events.onRequestClose(event, data); + } + + if (_this.getIsOpen()) { + _this.handleClose(event, { + trigger: 'cancel' + }); + } + }); + + combobox_defineProperty(combobox_assertThisInitialized(_this), "handleRequestFocusSelectedListbox", function (event, _ref8) { + var ref = _ref8.ref; + + if (ref) { + _this.activeSelectedOptionRef = ref; + + _this.activeSelectedOptionRef.focus(); + } + }); + + combobox_defineProperty(combobox_assertThisInitialized(_this), "handleSelect", function (event, _ref9) { + var selection = _ref9.selection, + option = _ref9.option; + var newSelection; + + var isSelected = _this.isSelected({ + selection: selection, + option: option + }); + + var singleSelectAndSelectedWasNotClicked = !_this.props.multiple && !isSelected; + var multiSelectAndSelectedWasNotClicked = _this.props.multiple && !isSelected; + + if (singleSelectAndSelectedWasNotClicked) { + newSelection = [option]; + } else if (multiSelectAndSelectedWasNotClicked) { + newSelection = [].concat(combobox_toConsumableArray(_this.props.selection), [option]); + } else { + newSelection = lodash_reject_default()(_this.props.selection, option); + } + + if (_this.props.events.onSelect) { + _this.props.events.onSelect(event, { + selection: newSelection + }); + } + + _this.handleClose(); // if (this.inputRef) { + // this.inputRef.focus(); + // } + + }); + + combobox_defineProperty(combobox_assertThisInitialized(_this), "isSelected", function (_ref10) { + var selection = _ref10.selection, + option = _ref10.option; + return !!lodash_find_default()(selection, option); + }); + + combobox_defineProperty(combobox_assertThisInitialized(_this), "openDialog", function () { + if (_this.props.events.onRequestOpen) { + _this.props.events.onRequestOpen(); + } else { + _this.setState({ + isOpen: true + }); + } + }); + + combobox_defineProperty(combobox_assertThisInitialized(_this), "requestOpenMenu", function () { + var isInlineSingleSelectionAndIsNotSelected = !_this.props.multiple && _this.props.selection.length === 0 && _this.props.variant === 'inline-listbox'; + + if (isInlineSingleSelectionAndIsNotSelected || _this.props.multiple || _this.props.variant === 'readonly') { + _this.openDialog(); + } + }); + + combobox_defineProperty(combobox_assertThisInitialized(_this), "renderBase", function (_ref11) { + var assistiveText = _ref11.assistiveText, + labels = _ref11.labels, + props = _ref11.props, + userDefinedProps = _ref11.userDefinedProps; + return /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: "slds-form-element__control" + }, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: "slds-combobox_container" + }, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: classnames_default()('slds-combobox', 'slds-dropdown-trigger', 'slds-dropdown-trigger_click', 'ignore-react-onclickoutside', { + 'slds-is-open': _this.getIsOpen() + }, { + 'slds-has-error': props.errorText + }, props.className) // Not in ARIA 1.2 spec, temporary for SLDS styles + , + role: "combobox" // eslint-disable-line jsx-a11y/role-supports-aria-props, jsx-a11y/role-has-required-aria-props + + }, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(inner_input, combobox_extends({ + "aria-autocomplete": "list", + "aria-controls": _this.getIsOpen() ? "".concat(_this.getId(), "-listbox") : undefined, + "aria-activedescendant": _this.state.activeOption ? "".concat(_this.getId(), "-listbox-option-").concat(_this.state.activeOption.id) : null, + "aria-describedby": _this.getErrorId(), + "aria-expanded": _this.getIsOpen(), + "aria-haspopup": "listbox", + role: "combobox", + autoComplete: "off", + className: "slds-combobox__input", + containerProps: { + className: 'slds-combobox__form-element', + role: 'none' + }, + hasSpinner: _this.props.hasInputSpinner, + iconRight: /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(input_icon, { + category: "utility", + name: "search", + title: labels.inputIconTitle + }), + id: _this.getId(), + onFocus: _this.handleInputFocus, + onBlur: _this.handleInputBlur, + onKeyDown: _this.handleKeyDown, + inputRef: _this.setInputRef, + onClick: function onClick() { + _this.openDialog(); + }, + onChange: _this.handleInputChange, + placeholder: labels.placeholder, + defaultValue: props.defaultValue, + readOnly: !!(props.predefinedOptionsOnly && _this.state.activeOption), + required: props.required, + value: props.predefinedOptionsOnly ? _this.state.activeOption && _this.state.activeOption.label || props.value : props.value + }, userDefinedProps.input)), _this.getDialog({ + menuRenderer: _this.renderMenu({ + assistiveText: assistiveText, + labels: labels + }) + }))), /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(selected_listbox, { + activeOption: _this.state.activeSelectedOption, + activeOptionIndex: _this.state.activeSelectedOptionIndex, + assistiveText: assistiveText, + events: { + onBlurPill: _this.handleBlurPill, + onPillFocus: _this.handlePillFocus, + onRequestFocus: _this.handleRequestFocusSelectedListbox, + onRequestFocusOnNextPill: _this.handleNavigateSelectedListbox, + onRequestFocusOnPreviousPill: _this.handleNavigateSelectedListbox, + onRequestRemove: _this.handleRemoveSelectedOption + }, + id: "".concat(_this.getId(), "-selected-listbox"), + labels: labels, + selectedListboxRef: _this.setSelectedListboxRef, + selection: props.selection, + listboxHasFocus: _this.state.listboxHasFocus + }), props.errorText && /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: "slds-has-error" + }, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + id: _this.getErrorId(), + className: "slds-form-element__help slds-has-error" + }, props.errorText))); + }); + + combobox_defineProperty(combobox_assertThisInitialized(_this), "renderInlineMultiple", function (_ref12) { + var assistiveText = _ref12.assistiveText, + labels = _ref12.labels, + props = _ref12.props, + userDefinedProps = _ref12.userDefinedProps; + return /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: "slds-form-element__control" + }, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: classnames_default()('slds-combobox_container', { + 'slds-has-inline-listbox': props.selection.length + }) + }, props.selection.length ? /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(selected_listbox, { + activeOption: _this.state.activeSelectedOption, + activeOptionIndex: _this.state.activeSelectedOptionIndex, + assistiveText: assistiveText, + containerRole: "listbox", + containerAriaOrientation: "horizontal", + listboxRole: "group", + listboxAriaOrientation: null, + events: { + onBlurPill: _this.handleBlurPill, + onPillFocus: _this.handlePillFocus, + onRequestFocus: _this.handleRequestFocusSelectedListbox, + onRequestFocusOnNextPill: _this.handleNavigateSelectedListbox, + onRequestFocusOnPreviousPill: _this.handleNavigateSelectedListbox, + onRequestRemove: _this.handleRemoveSelectedOption + }, + id: "".concat(_this.getId(), "-selected-listbox"), + labels: labels, + selectedListboxRef: _this.setSelectedListboxRef, + selection: props.selection, + listboxHasFocus: _this.state.listboxHasFocus + }) : null, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: classnames_default()('slds-combobox', 'slds-dropdown-trigger', 'slds-dropdown-trigger_click', 'ignore-react-onclickoutside', { + 'slds-is-open': _this.getIsOpen() + }, { + 'slds-has-error': props.errorText + }, props.className) // Not in ARIA 1.2 spec, temporary for SLDS styles + , + role: "combobox" // eslint-disable-line jsx-a11y/role-supports-aria-props, jsx-a11y/role-has-required-aria-props + + }, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(inner_input, combobox_extends({ + "aria-autocomplete": "list", + "aria-controls": _this.getIsOpen() ? "".concat(_this.getId(), "-listbox") : undefined, + "aria-activedescendant": _this.state.activeOption ? "".concat(_this.getId(), "-listbox-option-").concat(_this.state.activeOption.id) : null, + "aria-describedby": _this.getErrorId(), + "aria-expanded": _this.getIsOpen(), + "aria-haspopup": "listbox" // eslint-disable-line jsx-a11y/aria-proptypes + , + role: "combobox", + defaultValue: props.defaultValue, + autoComplete: "off", + className: "slds-combobox__input", + containerProps: { + className: 'slds-combobox__form-element', + role: 'none' + }, + hasSpinner: _this.props.hasInputSpinner, + iconRight: /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(input_icon, { + category: "utility", + name: "search", + title: labels.inputIconTitle + }), + id: _this.getId(), + onFocus: _this.handleInputFocus, + onBlur: _this.handleInputBlur, + onKeyDown: _this.handleKeyDown, + inputRef: _this.setInputRef, + onClick: function onClick() { + _this.openDialog(); + }, + onChange: _this.handleInputChange, + placeholder: labels.placeholder, + readOnly: !!(props.predefinedOptionsOnly && _this.state.activeOption), + required: props.required, + value: props.predefinedOptionsOnly ? _this.state.activeOption && _this.state.activeOption.label || props.value : props.value + }, userDefinedProps.input)), _this.getDialog({ + menuRenderer: _this.renderMenu({ + assistiveText: assistiveText, + labels: labels + }) + }), props.errorText && /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + id: _this.getErrorId(), + className: "slds-form-element__help" + }, props.errorText)))); + }); + + combobox_defineProperty(combobox_assertThisInitialized(_this), "renderInlineSingle", function (_ref13) { + var assistiveText = _ref13.assistiveText, + labels = _ref13.labels, + props = _ref13.props, + userDefinedProps = _ref13.userDefinedProps; + var iconLeft = props.selection[0] && props.selection[0].icon ? /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.cloneElement(props.selection[0].icon, { + containerClassName: 'slds-combobox__input-entity-icon' + }) : null; + var value = props.selection[0] && props.selection[0].label ? props.selection[0].label : props.value; + return /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: "slds-form-element__control" + }, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: classnames_default()('slds-combobox_container', { + 'slds-has-inline-listbox': props.selection.length + }) + }, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: classnames_default()('slds-combobox', 'slds-dropdown-trigger', 'slds-dropdown-trigger_click', 'ignore-react-onclickoutside', { + 'slds-is-open': _this.getIsOpen() + }, { + 'slds-has-error': props.errorText + }, props.className) // Not in ARIA 1.2 spec, temporary for SLDS styles + , + role: "combobox" // eslint-disable-line jsx-a11y/role-supports-aria-props, jsx-a11y/role-has-required-aria-props + + }, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(inner_input, combobox_extends({ + defaultValue: props.defaultValue, + "aria-autocomplete": "list", + "aria-controls": _this.getIsOpen() ? "".concat(_this.getId(), "-listbox") : undefined, + "aria-activedescendant": _this.state.activeOption ? "".concat(_this.getId(), "-listbox-option-").concat(_this.state.activeOption.id) : null, + "aria-describedby": _this.getErrorId(), + "aria-expanded": _this.getIsOpen(), + "aria-haspopup": "listbox" // eslint-disable-line jsx-a11y/aria-proptypes + , + role: "combobox", + autoComplete: "off", + className: "slds-combobox__input", + containerProps: { + className: 'slds-combobox__form-element', + role: 'none' + }, + disabled: _this.props.singleInputDisabled, + hasSpinner: _this.props.hasInputSpinner, + iconRight: props.selection.length ? /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(input_icon, { + assistiveText: { + icon: assistiveText.removeSingleSelectedOption + }, + buttonRef: function buttonRef(component) { + _this.buttonRef = component; + }, + category: "utility", + iconPosition: "right", + name: "close", + onClick: function onClick(event) { + _this.handleRemoveSelectedOption(event, { + option: props.selection[0] + }); + } + }) : /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(input_icon, { + category: "utility", + name: "search" + }), + iconLeft: iconLeft, + id: _this.getId(), + onFocus: _this.handleInputFocus, + onBlur: _this.handleInputBlur, + onKeyDown: _this.handleKeyDown, + inputRef: _this.setInputRef, + onClick: function onClick() { + _this.requestOpenMenu(); + }, + onChange: function onChange(event) { + if (!props.selection.length) { + _this.handleInputChange(event); + } + }, + placeholder: labels.placeholder, + readOnly: !!(props.predefinedOptionsOnly && _this.state.activeOption) || !!props.selection.length, + required: props.required, + value: props.predefinedOptionsOnly ? _this.state.activeOption && _this.state.activeOption.label || props.value : value + }, userDefinedProps.input)), _this.getDialog({ + menuRenderer: _this.renderMenu({ + assistiveText: assistiveText, + labels: labels + }) + }), props.errorText && /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + id: _this.getErrorId(), + className: "slds-form-element__help" + }, props.errorText)))); + }); + + combobox_defineProperty(combobox_assertThisInitialized(_this), "renderMenu", function (_ref14) { + var assistiveText = _ref14.assistiveText, + labels = _ref14.labels; + var menuVariant = { + base: 'icon-title-subtitle', + 'inline-listbox': 'icon-title-subtitle', + readonly: 'checkbox' + }; + var readonlyItemVisibleLength = _this.props.variant === 'readonly' ? 5 : null; + return /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(private_menu, { + assistiveText: assistiveText, + activeOption: _this.state.activeOption, + activeOptionIndex: _this.state.activeOptionIndex, + classNameMenu: _this.props.classNameMenu, + classNameMenuSubHeader: _this.props.classNameMenuSubHeader, + clearActiveOption: _this.clearActiveOption, + inheritWidthOf: _this.props.inheritWidthOf, + inputId: _this.getId(), + inputValue: _this.props.value, + isSelected: _this.isSelected, + itemVisibleLength: _this.props.menuItemVisibleLength || readonlyItemVisibleLength, + labels: labels, + hasMenuSpinner: _this.props.hasMenuSpinner, + menuItem: _this.props.menuItem, + menuPosition: _this.props.menuPosition, + menuRef: function menuRef(ref) { + _this.menuRef = ref; + }, + maxWidth: _this.props.menuMaxWidth, + options: _this.props.options, + optionsAddItem: _this.props.optionsAddItem, + optionsSearchEntity: _this.props.optionsSearchEntity, + onSelect: _this.handleSelect // For backward compatibility, 'menuItem' prop will be deprecated soon + , + onRenderMenuItem: _this.props.onRenderMenuItem ? _this.props.onRenderMenuItem : _this.props.menuItem, + selection: _this.props.selection, + tooltipMenuItemDisabled: _this.props.tooltipMenuItemDisabled, + variant: menuVariant[_this.props.variant] + }); + }); + + combobox_defineProperty(combobox_assertThisInitialized(_this), "renderPopover", function (_ref15) { + var assistiveText = _ref15.assistiveText, + labels = _ref15.labels, + props = _ref15.props; + + var popoverProps = _this.getCustomPopoverProps(_this.props.popover.props.body, { + assistiveText: assistiveText, + labels: labels + }); + + return /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: "slds-form-element__control" + }, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: "slds-combobox_container" + }, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: classnames_default()('slds-combobox', 'slds-dropdown-trigger', 'slds-dropdown-trigger_click', 'ignore-react-onclickoutside', { + 'slds-is-open': _this.getIsOpen() + }, { + 'slds-has-error': props.errorText + }, props.className) // Not in ARIA 1.2 spec, temporary for SLDS styles + , + role: "combobox" // eslint-disable-line jsx-a11y/role-supports-aria-props, jsx-a11y/role-has-required-aria-props + + }, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(components_popover, popoverProps, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(inner_input, { + "aria-autocomplete": "none", + "aria-controls": _this.getIsOpen() ? "".concat(_this.getId(), "-popover") : undefined, + "aria-describedby": _this.getErrorId(), + "aria-expanded": _this.getIsOpen(), + "aria-haspopup": "dialog" // eslint-disable-line jsx-a11y/aria-proptypes + , + role: "combobox", + autoComplete: "off", + className: "slds-combobox__input", + containerProps: { + className: 'slds-combobox__form-element', + role: 'none' + }, + iconRight: /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(input_icon, { + category: "utility", + name: "down", + variant: "combobox" + }), + id: _this.getId(), + onFocus: _this.handleInputFocus, + onBlur: _this.handleInputBlur, + onKeyDown: _this.handleKeyDown, + inputRef: _this.setInputRef, + onClick: function onClick() { + _this.openDialog(); + }, + onChange: _this.handleInputChange, + placeholder: labels.placeholder, + readOnly: true, + required: props.required, + value: props.value + })))), props.errorText && /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: "slds-has-error" + }, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + id: _this.getErrorId(), + className: "slds-form-element__help slds-has-error" + }, props.errorText))); + }); + + combobox_defineProperty(combobox_assertThisInitialized(_this), "renderReadOnlyMultiple", function (_ref16) { + var assistiveText = _ref16.assistiveText, + labels = _ref16.labels, + props = _ref16.props, + userDefinedProps = _ref16.userDefinedProps; + var value = props.selection.length > 1 ? labels.multipleOptionsSelected || "".concat(props.selection.length, " options selected") : props.selection[0] && props.selection[0].label || ''; + return /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: "slds-form-element__control" + }, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: "slds-combobox_container" + }, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: classnames_default()('slds-combobox', 'slds-dropdown-trigger', 'slds-dropdown-trigger_click', 'ignore-react-onclickoutside', { + 'slds-is-open': _this.getIsOpen() + }, { + 'slds-has-error': props.errorText + }, props.className) // Not in ARIA 1.2 spec, temporary for SLDS styles + , + role: "combobox" // eslint-disable-line jsx-a11y/role-supports-aria-props, jsx-a11y/role-has-required-aria-props + + }, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(inner_input, combobox_extends({ + defaultValue: props.defaultValue, + "aria-autocomplete": "list", + "aria-controls": _this.getIsOpen() ? "".concat(_this.getId(), "-listbox") : undefined, + "aria-activedescendant": _this.state.activeOption ? "".concat(_this.getId(), "-listbox-option-").concat(_this.state.activeOption.id) : null, + "aria-describedby": _this.getErrorId(), + "aria-expanded": _this.getIsOpen(), + "aria-haspopup": "listbox" // eslint-disable-line jsx-a11y/aria-proptypes + , + role: "combobox", + autoComplete: "off", + className: "slds-combobox__input", + containerProps: { + className: 'slds-combobox__form-element', + role: 'none' + }, + iconRight: /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(input_icon, { + category: "utility", + name: "down", + variant: "combobox" + }), + id: _this.getId(), + onFocus: _this.handleInputFocus, + onBlur: _this.handleInputBlur, + onKeyDown: _this.handleKeyDown, + inputRef: _this.setInputRef, + onClick: function onClick() { + _this.requestOpenMenu(); + }, + onChange: function onChange(event) { + if (!props.selection.length) { + _this.handleInputChange(event); + } + }, + placeholder: labels.placeholderReadOnly, + readOnly: true, + required: props.required, + value: value + }, userDefinedProps.input)), _this.getDialog({ + menuRenderer: _this.renderMenu({ + assistiveText: assistiveText, + labels: labels + }) + }))), /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(selected_listbox, { + activeOption: _this.state.activeSelectedOption, + activeOptionIndex: _this.state.activeSelectedOptionIndex, + assistiveText: assistiveText, + events: { + onBlurPill: _this.handleBlurPill, + onPillFocus: _this.handlePillFocus, + onRequestFocus: _this.handleRequestFocusSelectedListbox, + onRequestFocusOnNextPill: _this.handleNavigateSelectedListbox, + onRequestFocusOnPreviousPill: _this.handleNavigateSelectedListbox, + onRequestRemove: _this.handleRemoveSelectedOption + }, + id: "".concat(_this.getId(), "-selected-listbox"), + labels: labels, + selectedListboxRef: _this.setSelectedListboxRef, + selection: props.selection, + listboxHasFocus: _this.state.listboxHasFocus, + variant: _this.props.variant, + renderAtSelectionLength: 2 + }), props.errorText && /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: "slds-has-error" + }, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + id: _this.getErrorId(), + className: "slds-form-element__help slds-has-error" + }, props.errorText))); + }); + + combobox_defineProperty(combobox_assertThisInitialized(_this), "renderReadOnlySingle", function (_ref17) { + var assistiveText = _ref17.assistiveText, + labels = _ref17.labels, + props = _ref17.props, + userDefinedProps = _ref17.userDefinedProps; + var value = props.selection[0] && props.selection[0].label || ''; + return /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: "slds-form-element__control" + }, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: "slds-combobox_container" + }, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + // aria attributes have been moved to the `div` wrapping `input` to comply with ARIA 1.1. + className: classnames_default()('slds-combobox', 'slds-dropdown-trigger', 'slds-dropdown-trigger_click', 'ignore-react-onclickoutside', { + 'slds-is-open': _this.getIsOpen() + }, { + 'slds-has-error': props.errorText + }, props.className) // Not in ARIA 1.2 spec, temporary for SLDS styles + , + role: "combobox" // eslint-disable-line jsx-a11y/role-supports-aria-props, jsx-a11y/role-has-required-aria-props + + }, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(inner_input, combobox_extends({ + defaultValue: props.defaultValue, + "aria-autocomplete": "list", + "aria-controls": _this.getIsOpen() ? "".concat(_this.getId(), "-listbox") : undefined, + "aria-activedescendant": _this.state.activeOption ? "".concat(_this.getId(), "-listbox-option-").concat(_this.state.activeOption.id) : null, + "aria-describedby": _this.getErrorId(), + "aria-expanded": _this.getIsOpen(), + "aria-haspopup": "listbox" // eslint-disable-line jsx-a11y/aria-proptypes + , + role: "combobox", + autoComplete: "off", + className: "slds-combobox__input", + containerProps: { + className: 'slds-combobox__form-element', + role: 'none' + }, + disabled: _this.props.singleInputDisabled, + iconRight: /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(input_icon, { + category: "utility", + name: "down", + variant: "combobox" + }), + id: _this.getId(), + onFocus: _this.handleInputFocus, + onBlur: _this.handleInputBlur, + onKeyDown: _this.handleKeyDown, + inputRef: _this.setInputRef, + onClick: function onClick() { + _this.requestOpenMenu(); + }, + onChange: function onChange(event) { + if (!props.selection.length) { + _this.handleInputChange(event); + } + }, + placeholder: labels.placeholderReadOnly, + readOnly: true, + required: props.required, + value: _this.state.activeOption && _this.state.activeOption.label || value + }, userDefinedProps.input)), _this.getDialog({ + menuRenderer: _this.renderMenu({ + assistiveText: assistiveText, + labels: labels + }) + }), props.errorText && /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + id: _this.getErrorId(), + className: "slds-form-element__help" + }, props.errorText)))); + }); + + _this.state = { + activeOption: undefined, + activeOptionIndex: -1, + // seeding initial state with this.props.selection[0] + activeSelectedOption: _this.props.selection && _this.props.selection[0] || undefined, + activeSelectedOptionIndex: 0, + listboxHasFocus: false, + isOpen: typeof _props.isOpen === 'boolean' ? _props.isOpen : false + }; + _this.menuKeyBuffer = new key_buffer(); + _this.menuRef = undefined; + _this.selectedListboxRef = null; // `checkProps` issues warnings to developers about properties (similar to React's built in development tools) + + combobox_check_props(COMBOBOX, _props, combobox_component); + _this.generatedId = shortid_default.a.generate(); + _this.generatedErrorId = shortid_default.a.generate(); + return _this; + } + /** + * Lifecycle methods + */ + + + combobox_createClass(Combobox, [{ + key: "componentDidUpdate", + value: function componentDidUpdate(nextProps) { + var _this2 = this; + + // This logic will maintain the active highlight even when the + // option order changes. One example would be the server pushes + // data out as the user has the menu open. This logic clears + // `activeOption` if the active option is no longer in the options + // list. If it's in the options list, then find the new index and + // set `activeOptionIndex` + if (!lodash_isequal_default()(this.getOptions(), this.getOptions(nextProps))) { + var index = lodash_findindex_default()(this.getOptions(nextProps), function (item) { + return lodash_isequal_default()(item, _this2.state.activeOption); + }); + + if (index !== -1) { + // eslint-disable-next-line react/no-did-update-set-state + this.setState({ + activeOptionIndex: index + }); + } else { + // eslint-disable-next-line react/no-did-update-set-state + this.setState({ + activeOption: undefined, + activeOptionIndex: -1 + }); + } + } else if (this.props.isOpen !== nextProps.isOpen) { + // eslint-disable-next-line react/no-did-update-set-state + this.setState({ + activeOption: undefined, + activeOptionIndex: -1, + isOpen: nextProps.isOpen + }); + } // there may be issues with tabindex/focus if the app removes an item + // from selection while the user is using the listbox + + + var selectedOptionsRenderIsInitialRender = this.props.selection && this.props.selection.length === 0 && nextProps.selection.length > 0; + + if (selectedOptionsRenderIsInitialRender) { + // eslint-disable-next-line react/no-did-update-set-state + this.setState({ + activeSelectedOption: nextProps.selection[0], + activeSelectedOptionIndex: 0 + }); + } + } + }, { + key: "componentWillUnmount", + value: function componentWillUnmount() { + if (combobox_currentOpenDropdown === this) { + combobox_currentOpenDropdown = undefined; + } + } + }, { + key: "getDialog", + value: function getDialog(_ref18) { + var menuRenderer = _ref18.menuRenderer; + // FOR BACKWARDS COMPATIBILITY + var menuPosition = this.props.isInline ? 'relative' : this.props.menuPosition; // eslint-disable-line react/prop-types + + return !this.props.disabled && this.getIsOpen() ? /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(dialog, { + align: "bottom left", + context: this.context, + hasStaticAlignment: this.props.hasStaticAlignment, + inheritWidthOf: this.props.inheritWidthOf, + onClose: this.handleClose, + onMouseDown: function onMouseDown(event) { + // prevent onBlur + event.preventDefault(); + }, + onOpen: this.handleOpen, + onRequestTargetElement: this.getTargetElement, + position: menuPosition, + containerProps: { + id: "".concat(this.getId(), "-listbox"), + role: 'listbox' + } + }, menuRenderer) : null; + } + }, { + key: "getErrorId", + value: function getErrorId() { + return this.props['aria-describedby'] || this.props.errorText && this.generatedErrorId; + } + /** + * Shared class property getter methods + */ + + }, { + key: "render", + value: function render() { + var props = this.props; // Merge objects of strings with their default object + + var assistiveText = lodash_assign_default()({}, combobox_defaultProps.assistiveText, props.assistiveText); + var labels = lodash_assign_default()({}, combobox_defaultProps.labels, this.props.labels); + var hasRenderedLabel = labels.label || assistiveText && assistiveText.label; // declare user defined props + + var userDefinedProps = {}; + + if (props.input) { + // at the moment we only support overriding the input props + userDefinedProps.input = props.input.props; + } + + var subRenderParameters = { + assistiveText: assistiveText, + labels: labels, + props: this.props, + userDefinedProps: userDefinedProps + }; + var multipleOrSingle = this.props.multiple ? 'multiple' : 'single'; + var subRenders = { + base: { + multiple: this.renderBase, + // same + single: this.renderBase + }, + 'inline-listbox': { + multiple: this.renderInlineMultiple, + single: this.renderInlineSingle + }, + popover: { + multiple: this.renderPopover, + // same + single: this.renderPopover + }, + readonly: { + multiple: this.renderReadOnlyMultiple, + single: this.renderReadOnlySingle + } + }; + var variantExists = subRenders[this.props.variant][multipleOrSingle]; + var mainCombobox = /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: classnames_default()('slds-form-element', props.classNameContainer) + }, props.entityCombobox ? null : /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(private_label, { + assistiveText: this.props.assistiveText, + htmlFor: this.getId(), + label: labels.label, + required: props.required + }), this.props.fieldLevelHelpTooltip && hasRenderedLabel ? /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(field_level_help_tooltip, { + fieldLevelHelpTooltip: this.props.fieldLevelHelpTooltip + }) : null, variantExists ? subRenders[this.props.variant][multipleOrSingle](subRenderParameters) : subRenders.base.multiple(subRenderParameters)); + return props.entityCombobox ? /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: "slds-form-element" + }, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(private_label, { + assistiveText: props.assistiveText, + htmlFor: this.getId(), + label: labels.label, + required: props.required + }), /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: "slds-form-element__control" + }, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: "slds-combobox-group" + }, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: "slds-combobox_object-switcher slds-combobox-addon_start" + }, props.entityCombobox), /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: "slds-combobox_container slds-combobox-addon_end" + }, mainCombobox)))) : mainCombobox; + } + }]); + + return Combobox; +}(external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.Component); + +combobox_Combobox.contextTypes = { + iconPath: prop_types_default.a.string +}; +combobox_Combobox.displayName = COMBOBOX; +combobox_Combobox.propTypes = combobox_propTypes; +combobox_Combobox.defaultProps = combobox_defaultProps; +/* harmony default export */ var combobox = (combobox_Combobox); +// CONCATENATED MODULE: ./components/combobox/index.jsx +/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */ + +/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */ +// ### onClickOutside +// Listen for clicks that occur somewhere in the document, outside of the element itself + + + +/* harmony default export */ var components_combobox = (language_direction(react_onclickoutside_es(combobox, { + excludeScrollbar: true +}))); +// CONCATENATED MODULE: ./components/combobox/filter.js +/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */ + +/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */ + +/** + * SLDS recommends auto-complete/search inputs menus have a limit of 10 items. + */ + +var filter_filter = function filter(_ref) { + var inputValue = _ref.inputValue, + _ref$limit = _ref.limit, + limit = _ref$limit === void 0 ? 10 : _ref$limit, + options = _ref.options, + selection = _ref.selection; + var inputValueRegExp = new RegExp(lodash_escaperegexp_default()(inputValue), 'ig'); // eslint-disable-next-line fp/no-mutating-methods + + return options.filter(function (option) { + var searchTermFoundInLabel = option.label ? option.label.match(inputValueRegExp) : false; + var searchTermFoundInSubtitle = option.subTitle ? option.subTitle.match(inputValueRegExp) : false; + var isSeparator = option.type === 'separator'; + var notAlreadySelected = !selection.some(function (sel) { + return sel.id === option.id; + }); + return (!inputValue || isSeparator || searchTermFoundInLabel || searchTermFoundInSubtitle) && notAlreadySelected; + }).splice(0, limit); +}; + +/* harmony default export */ var combobox_filter = (filter_filter); +// CONCATENATED MODULE: ./components/data-table/check-props.js +/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */ + +/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */ + +/* eslint-disable import/no-mutable-exports */ + + + + +var data_table_check_props_checkProps = function checkPropsFunction() {}; + +if (false) {} + +/* harmony default export */ var data_table_check_props = (data_table_check_props_checkProps); +// EXTERNAL MODULE: ./components/data-table/component.json +var data_table_component = __webpack_require__(46); + +// EXTERNAL MODULE: ./utilities/design-tokens/dist/palette-colors.common.js +var palette_colors_common = __webpack_require__(47); + +// EXTERNAL MODULE: ./utilities/design-tokens/dist/salesforce-skin.common.js +var salesforce_skin_common = __webpack_require__(14); +var salesforce_skin_common_default = /*#__PURE__*/__webpack_require__.n(salesforce_skin_common); + +// CONCATENATED MODULE: ./components/data-table/cell.jsx +/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */ + +/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */ +// ### React + + // ### classNames + + // ## Constants + + +/** + * The default Cell renderer for the DataTable. Pass in any React component with the same `displayName` which takes the same props to provide custom rendering. + */ + +var cell_DataTableCell = function DataTableCell(props) { + var childText = /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.isValidElement(props.children) ? props.children.props.children : props.children; + var contents = /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: classnames_default()({ + 'slds-truncate': props.fixedLayout + }), + title: props.title || childText + }, props.children); + var cell = /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("td", { + className: props.className, + "data-label": props.label, + role: props.fixedLayout ? 'gridcell' : null, + style: props.width ? { + width: props.width + } : null, + headers: props.headerId + }, contents); + + if (props.primaryColumn) { + cell = /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("th", { + className: props.className, + "data-label": props.label, + role: props.fixedLayout ? 'gridcell' : null, + style: props.width ? { + width: props.width + } : null + }, contents); + } + + return cell; +}; // ### Display Name +// Always use the canonical component name as the React display name. + + +cell_DataTableCell.displayName = DATA_TABLE_CELL; // ### Prop Types + +cell_DataTableCell.propTypes = { + /** + * The contents of the cell. This can be simple text or DOM nodes. Equivalent to `props.item[props.property]` + */ + children: prop_types_default.a.oneOfType([prop_types_default.a.node, prop_types_default.a.string]), + + /** + * Class names to be added to the cell. + */ + className: prop_types_default.a.oneOfType([prop_types_default.a.array, prop_types_default.a.object, prop_types_default.a.string]), + + /** + * Use this if you are creating an advanced table (selectable, sortable, or resizable rows) + */ + fixedLayout: prop_types_default.a.bool, + + /** + * The item from the items which represents this row. + */ + item: prop_types_default.a.object, + + /** + * The primary column for a row. This is almost always the first column. + */ + primaryColumn: prop_types_default.a.bool, + + /** + * The property of this item to display. + */ + property: prop_types_default.a.string, + + /** + * Shows on hover. Useful for truncated cells. + */ + title: prop_types_default.a.string, + + /** + * Width of column. This is required for advanced/fixed layout tables. Please provide units. (`rems` are recommended) + */ + width: prop_types_default.a.string +}; +/* harmony default export */ var data_table_cell = (cell_DataTableCell); +// CONCATENATED MODULE: ./components/data-table/column.jsx +function column_typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { column_typeof = function _typeof(obj) { return typeof obj; }; } else { column_typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return column_typeof(obj); } + +function column_classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function column_inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) column_setPrototypeOf(subClass, superClass); } + +function column_setPrototypeOf(o, p) { column_setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return column_setPrototypeOf(o, p); } + +function column_createSuper(Derived) { var hasNativeReflectConstruct = column_isNativeReflectConstruct(); return function _createSuperInternal() { var Super = column_getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = column_getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return column_possibleConstructorReturn(this, result); }; } + +function column_possibleConstructorReturn(self, call) { if (call && (column_typeof(call) === "object" || typeof call === "function")) { return call; } return column_assertThisInitialized(self); } + +function column_assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +function column_isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } } + +function column_getPrototypeOf(o) { column_getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return column_getPrototypeOf(o); } + +/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */ + +/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */ + +/* eslint-disable react/no-unused-prop-types */ + +/* deepscan-disable REACT_USELESS_PROP_TYPES */ +// ### React + + // ## Constants + + // extends is used below so that react-docgen can detect the component + +/** + * Columns define the structure of the data displayed in the DataTable. + */ + +var DataTableColumn = /*#__PURE__*/function (_React$Component) { + column_inherits(DataTableColumn, _React$Component); + + var _super = column_createSuper(DataTableColumn); + + function DataTableColumn() { + column_classCallCheck(this, DataTableColumn); + + return _super.apply(this, arguments); + } + + return DataTableColumn; +}(external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.Component); // ### Display Name +// Always use the canonical component name as the React display name. + + +DataTableColumn.displayName = DATA_TABLE_COLUMN; // ### Prop Types + +DataTableColumn.propTypes = { + /** + * Use a _higher-order component_ to customize a data table cell that will override the default cell rendering. `CustomDataTableCell` must have the same `displayName` as `DataTableCell` or it will be ignored. If you want complete control of the HTML, including the wrapping `td`, you don't have to use `DataTableCell`. + * ``` + * import DataTableCell from 'design-system-react/data-table/cell'; + * const CustomDataTableCell = ({ children, ...props }) => ( + * <DataTableCell {...props} > + * <a href="javascript:void(0);">{children}</a> + * </DataTableCell> + * ); + * CustomDataTableCell.displayName = DataTableCell.displayName; + * + * <DataTable> + * <DataTableColumn /> + * <DataTableColumn> + * <DataTableCustomCell /> + * </DataTableColumn> + * <DataTableRowActions /> + * </DataTable> + * ``` + */ + children: prop_types_default.a.element, + + /** + * Some columns, such as "date last viewed" or "date recently updated," should sort descending first, since that is what the user probably wants. How often does one want to see their oldest files first in a table? If sortable and the `DataTable`'s parent has not defined the sort order, then ascending (A at the top to Z at the bottom) is the default sort order on first click. + */ + isDefaultSortDescending: prop_types_default.a.bool, + + /** + * Selects this column as the currently sorted column. + */ + isSorted: prop_types_default.a.bool, + + /** + * The column label. If a `string` is not passed in, no `title` attribute will be rendered. + */ + label: prop_types_default.a.oneOfType([prop_types_default.a.string, prop_types_default.a.node]), + + /** + * The primary column for a row. This is almost always the first column. + */ + primaryColumn: prop_types_default.a.bool, + + /** + * The property which corresponds to this column. + */ + property: prop_types_default.a.string, + + /** + * Whether or not the column is sortable. + */ + sortable: prop_types_default.a.bool, + + /** + * The current sort direction. If left out the component will track this internally. Required if `isSorted` is true. + */ + sortDirection: prop_types_default.a.oneOf(['desc', 'asc']), + + /** + * Title used for truncation div within the cell. + */ + title: prop_types_default.a.string, + + /** + * Adds truncate to cell node. + */ + truncate: prop_types_default.a.bool, + + /** + * Width of column. This is required for advanced/fixed layout tables. Please provide units. (`rems` are recommended) + */ + width: prop_types_default.a.string +}; +/* harmony default export */ var data_table_column = (DataTableColumn); +// CONCATENATED MODULE: ./components/data-table/private/cell-fixed.jsx +/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */ + +/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */ +// ### React + +/** + * Used internally, provides fixed cell rendering + */ + +var cell_fixed_CellFixed = function CellFixed(props) { + return /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: "slds-cell-fixed", + style: { + display: 'flex', + flexDirection: 'row', + flexWrap: 'nowrap' + } + }, props.children); +}; + +/* harmony default export */ var cell_fixed = (cell_fixed_CellFixed); +// CONCATENATED MODULE: ./components/data-table/column-check-props.js +/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */ + +/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */ + +/* eslint-disable import/no-mutable-exports */ + + +var column_check_props_checkProps = function checkPropsFunction() {}; + +if (false) {} + +/* harmony default export */ var column_check_props = (column_check_props_checkProps); +// CONCATENATED MODULE: ./components/data-table/private/header-cell.jsx +function header_cell_typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { header_cell_typeof = function _typeof(obj) { return typeof obj; }; } else { header_cell_typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return header_cell_typeof(obj); } + +function header_cell_classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function header_cell_defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function header_cell_createClass(Constructor, protoProps, staticProps) { if (protoProps) header_cell_defineProperties(Constructor.prototype, protoProps); if (staticProps) header_cell_defineProperties(Constructor, staticProps); return Constructor; } + +function header_cell_inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) header_cell_setPrototypeOf(subClass, superClass); } + +function header_cell_setPrototypeOf(o, p) { header_cell_setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return header_cell_setPrototypeOf(o, p); } + +function header_cell_createSuper(Derived) { var hasNativeReflectConstruct = header_cell_isNativeReflectConstruct(); return function _createSuperInternal() { var Super = header_cell_getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = header_cell_getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return header_cell_possibleConstructorReturn(this, result); }; } + +function header_cell_possibleConstructorReturn(self, call) { if (call && (header_cell_typeof(call) === "object" || typeof call === "function")) { return call; } return header_cell_assertThisInitialized(self); } + +function header_cell_assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +function header_cell_isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } } + +function header_cell_getPrototypeOf(o) { header_cell_getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return header_cell_getPrototypeOf(o); } + +function header_cell_defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */ + +/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */ +// ### React + + // ### classNames + + // ### isFunction + + // ## Children + + + // This component's `checkProps` which issues warnings to developers about properties when in development mode (similar to React's built in development tools) + + // ## Constants + + +/** + * Used internally, renders each individual column heading. + */ + +var header_cell_DataTableHeaderCell = /*#__PURE__*/function (_React$Component) { + header_cell_inherits(DataTableHeaderCell, _React$Component); + + var _super = header_cell_createSuper(DataTableHeaderCell); + + function DataTableHeaderCell() { + var _this; + + header_cell_classCallCheck(this, DataTableHeaderCell); + + for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { + args[_key] = arguments[_key]; + } + + _this = _super.call.apply(_super, [this].concat(args)); + + header_cell_defineProperty(header_cell_assertThisInitialized(_this), "state", { + sortDirection: null + }); + + header_cell_defineProperty(header_cell_assertThisInitialized(_this), "handleSort", function (e) { + var oldSortDirection = _this.props.sortDirection || _this.state.sortDirection; // UX pattern: If sortable, and the DataTable's parent has not defined the sort order, then ascending (that is A->Z) is the default sort order on first click. Some columns, such as "last viewed" or "recently updated," should sort descending first, since that is what the user probably wants. Who wants to see the oldest files first? + + var sortDirection = function sortDirectionFunction(direction, isDefaultSortDescending) { + switch (direction) { + case 'asc': + return 'desc'; + + case 'desc': + return 'asc'; + + case null: + return isDefaultSortDescending ? 'desc' : 'asc'; + + default: + return 'asc'; + } + }(oldSortDirection, _this.props.isDefaultSortDescending); + + var data = { + property: _this.props.property, + sortDirection: sortDirection + }; + + _this.setState({ + sortDirection: sortDirection + }); + + if (lodash_isfunction_default()(_this.props.onSort)) { + _this.props.onSort(data, e); + } + }); + + return _this; + } + + header_cell_createClass(DataTableHeaderCell, [{ + key: "componentDidMount", + value: function componentDidMount() { + column_check_props(DATA_TABLE_COLUMN, this.props); + } + }, { + key: "componentDidUpdate", + value: function componentDidUpdate(prevProps) { + // reset sort state when another column is sorted + if (prevProps.isSorted === true && this.props.isSorted === false) { + this.setState({ + sortDirection: null + }); // eslint-disable-line react/no-did-update-set-state + } + } + }, { + key: "render", + // ### Render + value: function render() { + var _classNames, + _this2 = this; + + var _this$props = this.props, + fixedHeader = _this$props.fixedHeader, + isSorted = _this$props.isSorted, + label = _this$props.label, + sortable = _this$props.sortable, + width = _this$props.width; + + var labelType = header_cell_typeof(label); // This decides which arrow to render--which is current sort order if the column is sorted OR the future sort order if the arrow is clicked in the future. + + + var sortDirection = this.props.sortDirection || this.state.sortDirection || this.props.isDefaultSortDescending && 'desc'; + var expandedSortDirection = sortDirection === 'desc' ? 'descending' : 'ascending'; + var ariaSort = isSorted ? expandedSortDirection : 'none'; + var fixedLayoutSubRenders = { + sortable: /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("a", { + href: "javascript:void(0)" // eslint-disable-line no-script-url + , + className: "slds-th__action slds-text-link_reset", + onClick: this.handleSort, + role: "button", + tabIndex: "0" + }, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("span", { + className: "slds-assistive-text" + }, this.props.assistiveTextForColumnSort || this.props.assistiveText.columnSort, ' '), /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("span", { + className: "slds-truncate", + title: labelType === 'string' ? label : undefined + }, label), /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(components_icon, { + className: "slds-is-sortable__icon", + category: "utility", + name: sortDirection === 'desc' ? 'arrowdown' : 'arrowup', + size: "x-small" + }), sortDirection ? /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("span", { + className: "slds-assistive-text", + "aria-atomic": "true" + }, sortDirection === 'asc' ? this.props.assistiveTextForColumnSortedAscending || this.props.assistiveText.columnSortedAscending : this.props.assistiveTextForColumnSortedDescending || this.props.assistiveText.columnSortedDescending) : null), + notSortable: /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("span", { + className: "slds-p-horizontal_x-small", + style: { + display: 'flex' + } + }, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("span", { + className: "slds-truncate", + title: labelType === 'string' ? label : undefined + }, label)) + }; + var headerCellContent = this.props.fixedLayout ? fixedLayoutSubRenders[sortable ? 'sortable' : 'notSortable'] : /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: "slds-truncate", + title: labelType === 'string' ? label : undefined + }, label); + return /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("th", { + "aria-label": labelType === 'string' ? label : undefined, + "aria-sort": ariaSort, + className: classnames_default()((_classNames = { + 'slds-is-sortable': sortable, + 'slds-is-sorted': isSorted + }, header_cell_defineProperty(_classNames, "slds-is-sorted_".concat(sortDirection), sortDirection), header_cell_defineProperty(_classNames, 'slds-is-sorted_asc', isSorted && !sortDirection), _classNames)), + ref: function ref(_ref) { + if (_this2.props.cellRef) { + _this2.props.cellRef(_ref); + } + }, + scope: "col", + style: fixedHeader || width ? { + height: fixedHeader ? 0 : null, + lineHeight: fixedHeader ? 0 : null, + width: width || null + } : null + }, fixedHeader ? /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.cloneElement(headerCellContent, { + style: { + display: 'flex', + height: 0, + overflow: 'hidden', + paddingBottom: 0, + paddingTop: 0, + visibility: 'hidden' + } + }) : headerCellContent, fixedHeader ? /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(cell_fixed, null, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.cloneElement(headerCellContent, { + style: { + alignItems: 'center', + display: 'flex', + flex: '1 1 auto', + lineHeight: 1.25, + width: '100%' + }, + tabIndex: sortable ? 0 : null + })) : null); + } + }]); + + return DataTableHeaderCell; +}(external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.Component); + +header_cell_defineProperty(header_cell_DataTableHeaderCell, "displayName", DATA_TABLE_HEADER_CELL); + +header_cell_defineProperty(header_cell_DataTableHeaderCell, "propTypes", { + assistiveText: prop_types_default.a.shape({ + actionsHeader: prop_types_default.a.string, + columnSort: prop_types_default.a.string, + columnSortedAscending: prop_types_default.a.string, + columnSortedDescending: prop_types_default.a.string, + selectAllRows: prop_types_default.a.string, + selectRow: prop_types_default.a.string + }), + cellRef: prop_types_default.a.func, + fixedHeader: prop_types_default.a.bool, + id: prop_types_default.a.string.isRequired, + + /** + * Some columns, such as "date last viewed" or "date recently updated," should sort descending first, since that is what the user probably wants. How often does one want to see their oldest files first in a table? If sortable and the `DataTable`'s parent has not defined the sort order, then ascending (A at the top to Z at the bottom) is the default sort order on first click. + */ + isDefaultSortDescending: prop_types_default.a.bool, + + /** + * Indicates if column is sorted. + */ + isSorted: prop_types_default.a.bool, + + /** + * The column label. + */ + label: prop_types_default.a.oneOfType([prop_types_default.a.string, prop_types_default.a.node]), + + /** + * The function to execute on sort. + */ + onSort: prop_types_default.a.func, + + /** + * The property which corresponds to this column. + */ + property: prop_types_default.a.string, + + /** + * Whether or not the column is sortable. + */ + sortable: prop_types_default.a.bool, + + /** + * The current sort direction. + */ + sortDirection: prop_types_default.a.oneOf(['desc', 'asc']), + + /** + * Width of column. This is required for advanced/fixed layout tables. Please provide units. (`rems` are recommended) + */ + width: prop_types_default.a.string +}); + +/* harmony default export */ var header_cell = (header_cell_DataTableHeaderCell); +// CONCATENATED MODULE: ./components/data-table/private/head.jsx +function head_typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { head_typeof = function _typeof(obj) { return typeof obj; }; } else { head_typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return head_typeof(obj); } + +function head_extends() { head_extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return head_extends.apply(this, arguments); } + +function head_classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function head_defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function head_createClass(Constructor, protoProps, staticProps) { if (protoProps) head_defineProperties(Constructor.prototype, protoProps); if (staticProps) head_defineProperties(Constructor, staticProps); return Constructor; } + +function head_inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) head_setPrototypeOf(subClass, superClass); } + +function head_setPrototypeOf(o, p) { head_setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return head_setPrototypeOf(o, p); } + +function head_createSuper(Derived) { var hasNativeReflectConstruct = head_isNativeReflectConstruct(); return function _createSuperInternal() { var Super = head_getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = head_getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return head_possibleConstructorReturn(this, result); }; } + +function head_possibleConstructorReturn(self, call) { if (call && (head_typeof(call) === "object" || typeof call === "function")) { return call; } return head_assertThisInitialized(self); } + +function head_assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +function head_isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } } + +function head_getPrototypeOf(o) { head_getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return head_getPrototypeOf(o); } + +function head_defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */ + +/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */ +// ### React + + // ## Children + + + + // ## Constants + + +/** + * Used internally, provides header row rendering to the DataTable. + */ + +var head_DataTableHead = /*#__PURE__*/function (_React$Component) { + head_inherits(DataTableHead, _React$Component); + + var _super = head_createSuper(DataTableHead); + + function DataTableHead() { + var _this; + + head_classCallCheck(this, DataTableHead); + + for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { + args[_key] = arguments[_key]; + } + + _this = _super.call.apply(_super, [this].concat(args)); + + head_defineProperty(head_assertThisInitialized(_this), "getActionsHeader", function () { + var fixedHeader = _this.props.fixedHeader; + + var getContent = function getContent(style) { + return /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: "slds-th__action", + style: style + }, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("span", { + className: "slds-assistive-text" + }, _this.props.assistiveText.actionsHeader)); + }; + + var actionsHeader = null; + + if (_this.props.showRowActions) { + actionsHeader = /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("th", { + ref: function ref(_ref) { + if (_this.props.headerRefs) { + _this.props.headerRefs(_ref, 'action'); + } + }, + scope: "col", + style: { + height: fixedHeader ? 0 : null, + lineHeight: fixedHeader ? 0 : null, + width: '3.25rem' + } + }, getContent(fixedHeader ? { + height: 0, + overflow: 'hidden', + paddingBottom: 0, + paddingTop: 0, + visibility: 'hidden' + } : null), fixedHeader ? /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(cell_fixed, null, getContent({ + lineHeight: 1, + width: '100%' + })) : null); + } + + return actionsHeader; + }); + + head_defineProperty(head_assertThisInitialized(_this), "getSelectHeader", function () { + var _this$props = _this.props, + canSelectRows = _this$props.canSelectRows, + fixedHeader = _this$props.fixedHeader; + + var getContent = function getContent(idSuffix, style, ariaHidden) { + var render = null; + + if (canSelectRows === 'radio') { + render = /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: "slds-truncate slds-assistive-text", + id: "".concat(_this.props.id, "-column-group-header-row-select"), + title: _this.props.assistiveText.selectRowGroup + }, _this.props.assistiveText.selectRowGroup); + } else if (canSelectRows === true || canSelectRows === 'checkbox') { + render = /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: "slds-th__action slds-th__action_form", + "aria-hidden": ariaHidden && true, + style: style + }, !ariaHidden ? /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("span", { + id: "".concat(_this.props.id, "-column-group-header-row-select"), + className: "slds-assistive-text" + }, _this.props.assistiveText.selectAllRows) : null, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(components_checkbox, { + assistiveText: { + label: _this.props.assistiveText.selectAllRows + }, + checked: _this.props.allSelected, + indeterminate: _this.props.indeterminateSelected, + id: "".concat(_this.props.id, "-").concat(idSuffix) // There is a checkbox for user interaction and a checkbox for positioning. ariaHidden is for the checkbox for positioning and it should be removed from the accessibility tree. + , + name: !ariaHidden ? 'SelectAll' : undefined, + onChange: _this.props.onToggleAll + })); + } + + return render; + }; + + var selectHeader = null; + + if (canSelectRows) { + selectHeader = /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("th", { + className: "slds-text-align_right", + ref: function ref(_ref2) { + if (_this.props.headerRefs) { + _this.props.headerRefs(_ref2, 'select'); + } + }, + scope: "col", + style: { + height: fixedHeader ? 0 : null, + lineHeight: fixedHeader ? 0 : null, + width: '3.25rem' + } + }, getContent('SelectAll-fixed-header', fixedHeader ? { + display: 'flex', + height: 0, + overflow: 'hidden', + paddingBottom: 0, + paddingTop: 0, + visibility: 'hidden' + } : null, fixedHeader && 'ariaHidden'), fixedHeader ? /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(cell_fixed, null, getContent('SelectAll', { + display: 'flex', + justifyContent: 'flex-end', + lineHeight: 1, + width: '100%' + })) : null); + } + + return selectHeader; + }); + + return _this; + } + + head_createClass(DataTableHead, [{ + key: "render", + // ### Render + value: function render() { + var _this2 = this; + + var actionsHeader = this.getActionsHeader(); + var selectHeader = this.getSelectHeader(); + return /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("thead", null, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("tr", { + className: "slds-line-height_reset" + }, selectHeader, this.props.columns.map(function (column, index) { + return /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(header_cell, head_extends({ + assistiveText: _this2.props.assistiveText, + cellRef: function cellRef(ref) { + if (_this2.props.headerRefs) { + _this2.props.headerRefs(ref, index); + } + }, + fixedHeader: _this2.props.fixedHeader, + id: "".concat(_this2.props.id, "-").concat(column.props.property), + key: "".concat(_this2.props.id, "-").concat(column.props.property), + onSort: _this2.props.onSort + }, column.props)); + }), actionsHeader)); + } + }]); + + return DataTableHead; +}(external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.Component); + +head_defineProperty(head_DataTableHead, "displayName", DATA_TABLE_HEAD); + +head_defineProperty(head_DataTableHead, "propTypes", { + assistiveText: prop_types_default.a.shape({ + actionsHeader: prop_types_default.a.string, + columnSort: prop_types_default.a.string, + columnSortedAscending: prop_types_default.a.string, + columnSortedDescending: prop_types_default.a.string, + selectAllRows: prop_types_default.a.string, + selectRow: prop_types_default.a.string + }), + allSelected: prop_types_default.a.bool, + headerRefs: prop_types_default.a.func, + indeterminateSelected: prop_types_default.a.bool, + canSelectRows: prop_types_default.a.oneOfType([prop_types_default.a.bool, prop_types_default.a.oneOf(['checkbox', 'radio'])]), + columns: prop_types_default.a.arrayOf(prop_types_default.a.shape({ + Cell: prop_types_default.a.func, + props: prop_types_default.a.object + })), + fixedHeader: prop_types_default.a.bool, + id: prop_types_default.a.string, + onToggleAll: prop_types_default.a.func, + onSort: prop_types_default.a.func, + showRowActions: prop_types_default.a.bool +}); + +/* harmony default export */ var head = (head_DataTableHead); +// CONCATENATED MODULE: ./components/data-table/private/row.jsx +function row_typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { row_typeof = function _typeof(obj) { return typeof obj; }; } else { row_typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return row_typeof(obj); } + +function row_extends() { row_extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return row_extends.apply(this, arguments); } + +function row_classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function row_defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function row_createClass(Constructor, protoProps, staticProps) { if (protoProps) row_defineProperties(Constructor.prototype, protoProps); if (staticProps) row_defineProperties(Constructor, staticProps); return Constructor; } + +function row_inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) row_setPrototypeOf(subClass, superClass); } + +function row_setPrototypeOf(o, p) { row_setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return row_setPrototypeOf(o, p); } + +function row_createSuper(Derived) { var hasNativeReflectConstruct = row_isNativeReflectConstruct(); return function _createSuperInternal() { var Super = row_getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = row_getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return row_possibleConstructorReturn(this, result); }; } + +function row_possibleConstructorReturn(self, call) { if (call && (row_typeof(call) === "object" || typeof call === "function")) { return call; } return row_assertThisInitialized(self); } + +function row_assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +function row_isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } } + +function row_getPrototypeOf(o) { row_getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return row_getPrototypeOf(o); } + +function row_defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */ + +/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */ +// ### React + + // ### classNames + + // ### find + + // ## Children + + + // ## Constants + + +/** + * Used internally, provides row rendering to the DataTable. + */ + +var row_DataTableRow = /*#__PURE__*/function (_React$Component) { + row_inherits(DataTableRow, _React$Component); + + var _super = row_createSuper(DataTableRow); + + function DataTableRow() { + var _this; + + row_classCallCheck(this, DataTableRow); + + for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { + args[_key] = arguments[_key]; + } + + _this = _super.call.apply(_super, [this].concat(args)); + + row_defineProperty(row_assertThisInitialized(_this), "isSelected", function () { + return !!lodash_find_default()(_this.props.selection, _this.props.item); + }); + + row_defineProperty(row_assertThisInitialized(_this), "handleToggle", function (e, _ref) { + var checked = _ref.checked; + return _this.props.onToggle(_this.props.item, checked, e); + }); + + return _this; + } + + row_createClass(DataTableRow, [{ + key: "render", + // ### Render + value: function render() { + var _this2 = this; + + var ariaProps = {}; + var isSelected = this.isSelected(); + + if (this.props.canSelectRows) { + ariaProps['aria-selected'] = isSelected ? 'true' : 'false'; + } // i18n + + + return /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("tr", row_extends({}, ariaProps, { + className: classnames_default()(this.props.className, { + 'slds-hint-parent': this.props.rowActions, + 'slds-is-selected': this.props.canSelectRows && isSelected + }) + }), this.props.canSelectRows ? /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("td", { + role: this.props.fixedLayout ? 'gridcell' : null, + className: "slds-text-align_right", + "data-label": this.props.stacked ? 'Select Row' : undefined, + style: { + width: '3.25rem' + } + }, this.props.canSelectRows === 'radio' ? /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(components_radio, { + assistiveText: { + label: "".concat(this.props.assistiveText.selectRow, " ").concat(Number(this.props.index) + 1) + }, + "aria-labelledby": "".concat(this.props.id, "-SelectRow-label ").concat(this.props.tableId, "-SLDSDataTableHead-column-group-header-row-select"), + checked: isSelected, + className: "slds-m-right_x-small", + id: "".concat(this.props.id, "-SelectRow"), + labelId: "".concat(this.props.id, "-SelectRow-label"), + name: "".concat(this.props.tableId, "-SelectRow"), + onChange: this.handleToggle + }) : /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(components_checkbox, { + assistiveText: { + label: "".concat(this.props.assistiveText.selectRow, " ").concat(Number(this.props.index) + 1) + }, + "aria-labelledby": "".concat(this.props.id, "-SelectRow-label ").concat(this.props.tableId, "-SLDSDataTableHead-column-group-header-row-select"), + checked: isSelected, + id: "".concat(this.props.id, "-SelectRow"), + labelId: "".concat(this.props.id, "-SelectRow-label"), + name: "SelectRow".concat(this.props.index + 1), + onChange: this.handleToggle + })) : null, this.props.columns.map(function (column) { + var Cell = column.Cell; + var cellId = "".concat(_this2.props.id, "-").concat(DATA_TABLE_CELL, "-").concat(column.props.property); + return /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(Cell, row_extends({}, column.props, { + className: column.props.truncate ? 'slds-truncate' : null, + fixedLayout: _this2.props.fixedLayout, + rowHeader: column.props.primaryColumn, + id: cellId, + item: _this2.props.item, + key: cellId, + width: column.props.width, + headerId: _this2.props.item.headerId, + columns: _this2.props.columns + }), _this2.props.item[column.props.property]); + }), this.props.rowActions ? /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.cloneElement(this.props.rowActions, { + id: "".concat(this.props.id, "-").concat(DATA_TABLE_ROW_ACTIONS), + item: this.props.item + }) : null); + } + }]); + + return DataTableRow; +}(external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.Component); + +row_defineProperty(row_DataTableRow, "displayName", DATA_TABLE_ROW); + +row_defineProperty(row_DataTableRow, "propTypes", { + assistiveText: prop_types_default.a.shape({ + actionsHeader: prop_types_default.a.string, + columnSort: prop_types_default.a.string, + columnSortedAscending: prop_types_default.a.string, + columnSortedDescending: prop_types_default.a.string, + selectAllRows: prop_types_default.a.string, + selectRow: prop_types_default.a.string + }), + canSelectRows: prop_types_default.a.oneOfType([prop_types_default.a.bool, prop_types_default.a.oneOf(['checkbox', 'radio'])]), + className: prop_types_default.a.string, + columns: prop_types_default.a.arrayOf(prop_types_default.a.shape({ + Cell: prop_types_default.a.func, + props: prop_types_default.a.object + })), + + /** + * Use this if you are creating an advanced table (selectable, sortable, or resizable rows) + */ + fixedLayout: prop_types_default.a.bool, + id: prop_types_default.a.string.isRequired, + item: prop_types_default.a.object.isRequired, + onToggle: prop_types_default.a.func, + rowActions: prop_types_default.a.element, + selection: prop_types_default.a.array, + tableId: prop_types_default.a.string +}); + +/* harmony default export */ var row = (row_DataTableRow); +// CONCATENATED MODULE: ./components/data-table/row-actions.jsx +function row_actions_typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { row_actions_typeof = function _typeof(obj) { return typeof obj; }; } else { row_actions_typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return row_actions_typeof(obj); } + +function row_actions_ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; } + +function row_actions_objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { row_actions_ownKeys(Object(source), true).forEach(function (key) { row_actions_defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { row_actions_ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; } + +function row_actions_classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function row_actions_defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function row_actions_createClass(Constructor, protoProps, staticProps) { if (protoProps) row_actions_defineProperties(Constructor.prototype, protoProps); if (staticProps) row_actions_defineProperties(Constructor, staticProps); return Constructor; } + +function row_actions_inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) row_actions_setPrototypeOf(subClass, superClass); } + +function row_actions_setPrototypeOf(o, p) { row_actions_setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return row_actions_setPrototypeOf(o, p); } + +function row_actions_createSuper(Derived) { var hasNativeReflectConstruct = row_actions_isNativeReflectConstruct(); return function _createSuperInternal() { var Super = row_actions_getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = row_actions_getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return row_actions_possibleConstructorReturn(this, result); }; } + +function row_actions_possibleConstructorReturn(self, call) { if (call && (row_actions_typeof(call) === "object" || typeof call === "function")) { return call; } return row_actions_assertThisInitialized(self); } + +function row_actions_assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +function row_actions_isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } } + +function row_actions_getPrototypeOf(o) { row_actions_getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return row_actions_getPrototypeOf(o); } + +function row_actions_defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */ + +/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */ + +/* eslint-disable jsx-a11y/no-noninteractive-element-interactions */ +// ### React + + // ### isFunction + + // ## Children + + // ### Event Helpers + + // ## Constants + + +/** + * RowActions provide a mechanism for defining a menu to display alongside each row in the DataTable. + */ + +var row_actions_DataTableRowActions = /*#__PURE__*/function (_React$Component) { + row_actions_inherits(DataTableRowActions, _React$Component); + + var _super = row_actions_createSuper(DataTableRowActions); + + function DataTableRowActions() { + var _this; + + row_actions_classCallCheck(this, DataTableRowActions); + + for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { + args[_key] = arguments[_key]; + } + + _this = _super.call.apply(_super, [this].concat(args)); + + row_actions_defineProperty(row_actions_assertThisInitialized(_this), "handleClick", function (e) { + utilities_event.trap(e); + }); + + row_actions_defineProperty(row_actions_assertThisInitialized(_this), "handleSelect", function (selection) { + if (lodash_isfunction_default()(_this.props.onAction)) { + _this.props.onAction(_this.props.item, selection); + } + + if (_this.props.dropdown && lodash_isfunction_default()(_this.props.dropdown.props.onSelect)) { + _this.props.dropdown.props.onSelect(selection); + } + }); + + return _this; + } + + row_actions_createClass(DataTableRowActions, [{ + key: "render", + // ### Render + value: function render() { + // i18n + var defaultDropdownProps = { + align: 'right', + buttonClassName: 'slds-button_icon-x-small', + buttonVariant: 'icon', + iconCategory: 'utility', + iconName: 'down', + iconSize: 'small', + iconVariant: 'border-filled', + assistiveText: this.props.assistiveText, + className: this.props.className, + options: this.props.options, + hint: !this.props.noHint, + id: this.props.id + }; + var props = this.props.dropdown ? this.props.dropdown.props : {}; + + var dropdownProps = row_actions_objectSpread(row_actions_objectSpread(row_actions_objectSpread({}, defaultDropdownProps), props), {}, { + onSelect: this.handleSelect + }); + + return ( + /*#__PURE__*/ + + /* eslint-disable jsx-a11y/no-static-element-interactions */ + external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("td", { + className: "", + "data-label": "Actions", + onClick: this.handleClick, + style: { + width: '3.25rem' + } + }, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(components_menu_dropdown, dropdownProps)) + ); + } + }]); + + return DataTableRowActions; +}(external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.Component); + +row_actions_defineProperty(row_actions_DataTableRowActions, "displayName", DATA_TABLE_ROW_ACTIONS); + +row_actions_defineProperty(row_actions_DataTableRowActions, "propTypes", { + /** + * Description of the menu for screenreaders. + */ + assistiveText: prop_types_default.a.object, + + /** + * Class names to be added to the actions menu. + */ + className: prop_types_default.a.string, + + /** + * HTML ID to be added to the actions menu. + */ + id: prop_types_default.a.string, + + /** + * `DataTable` row item + */ + item: prop_types_default.a.object, + + /** + * Disable hint styling which changes the color of the dropdown svg on hover over. + */ + noHint: prop_types_default.a.bool, + + /** + * Triggered when an item is selected. + */ + onAction: prop_types_default.a.func, + + /** + * `Dropdown` options. See `Dropdown`. + */ + options: prop_types_default.a.array, + + /** + * A [Dropdown](http://react.lightningdesignsystem.com/components/dropdown-menus/) component. The props from this drop will be merged and override any default props. + * **Note:** onAction will not be overridden, both `DropDown`'s onSelect(dropDownActionOption) and onAction(rowItem, dropdownActionOption) will be called with appropriate parameters + */ + dropdown: prop_types_default.a.node +}); + +row_actions_defineProperty(row_actions_DataTableRowActions, "defaultProps", { + assistiveText: { + icon: 'Actions' + }, + noHint: false, + options: [] +}); + +/* harmony default export */ var row_actions = (row_actions_DataTableRowActions); +// CONCATENATED MODULE: ./components/data-table/index.jsx +function data_table_typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { data_table_typeof = function _typeof(obj) { return typeof obj; }; } else { data_table_typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return data_table_typeof(obj); } + +function data_table_extends() { data_table_extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return data_table_extends.apply(this, arguments); } + +function data_table_ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; } + +function data_table_objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { data_table_ownKeys(Object(source), true).forEach(function (key) { data_table_defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { data_table_ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; } + +function data_table_objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = data_table_objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; } + +function data_table_objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; } + +function data_table_toConsumableArray(arr) { return data_table_arrayWithoutHoles(arr) || data_table_iterableToArray(arr) || data_table_unsupportedIterableToArray(arr) || data_table_nonIterableSpread(); } + +function data_table_nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } + +function data_table_unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return data_table_arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return data_table_arrayLikeToArray(o, minLen); } + +function data_table_iterableToArray(iter) { if (typeof Symbol !== "undefined" && Symbol.iterator in Object(iter)) return Array.from(iter); } + +function data_table_arrayWithoutHoles(arr) { if (Array.isArray(arr)) return data_table_arrayLikeToArray(arr); } + +function data_table_arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; } + +function data_table_classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function data_table_defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function data_table_createClass(Constructor, protoProps, staticProps) { if (protoProps) data_table_defineProperties(Constructor.prototype, protoProps); if (staticProps) data_table_defineProperties(Constructor, staticProps); return Constructor; } + +function data_table_inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) data_table_setPrototypeOf(subClass, superClass); } + +function data_table_setPrototypeOf(o, p) { data_table_setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return data_table_setPrototypeOf(o, p); } + +function data_table_createSuper(Derived) { var hasNativeReflectConstruct = data_table_isNativeReflectConstruct(); return function _createSuperInternal() { var Super = data_table_getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = data_table_getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return data_table_possibleConstructorReturn(this, result); }; } + +function data_table_possibleConstructorReturn(self, call) { if (call && (data_table_typeof(call) === "object" || typeof call === "function")) { return call; } return data_table_assertThisInitialized(self); } + +function data_table_assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +function data_table_isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } } + +function data_table_getPrototypeOf(o) { data_table_getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return data_table_getPrototypeOf(o); } + +function data_table_defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +/* eslint-disable max-lines */ + +/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */ + +/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */ +// # Data Table Component +// Implements the [Data Table design pattern](https://www.lightningdesignsystem.com/components/data-tables) in React. + + // ### shortid +// [npmjs.com/package/shortid](https://www.npmjs.com/package/shortid) +// shortid is a short, non-sequential, url-friendly, unique id generator + + + + + // This component's `checkProps` which issues warnings to developers about properties when in development mode (similar to React's built in development tools) + + + + + + // ## Children + + + + + + + + // Safely get the length of an array, returning 0 for invalid input. + +var data_table_count = function count(array) { + return Array.isArray(array) ? array.length : 0; +}; + +var data_table_defaultProps = { + assistiveText: { + actionsHeader: 'Actions', + columnSort: 'Sort by: ', + columnSortedAscending: 'Sorted Ascending', + columnSortedDescending: 'Sorted Descending', + selectAllRows: 'Select all rows', + selectRow: 'Select row', + selectRowGroup: 'Choose a row to select', + loadingMore: 'Loading more' + }, + selection: [], + hasMore: false, + loadMoreOffset: 20 +}; +/** + * DataTables support the display of structured data in rows and columns with an HTML table. To sort, filter or paginate the table, simply update the data passed in the items to the table and it will re-render itself appropriately. The table will throw a sort event as needed, and helper components for paging and filtering are coming soon. + * + * NOTE: for horizontal scrolling with `fixedHeader`-enabled DataTables, see the `style` property description + */ + +var data_table_DataTable = /*#__PURE__*/function (_React$Component) { + data_table_inherits(DataTable, _React$Component); + + var _super = data_table_createSuper(DataTable); + + // ### Display Name + // Always use the canonical component name as the React display name. + // ### Prop Types + function DataTable(props) { + var _this; + + data_table_classCallCheck(this, DataTable); + + _this = _super.call(this, props); + + data_table_defineProperty(data_table_assertThisInitialized(_this), "handleToggleAll", function (e, _ref) { + var checked = _ref.checked; + + // REMOVE AT NEXT BREAKING CHANGE + // `onChange` is deprecated and replaced with `onRowChange` + if (typeof _this.props.onChange === 'function') { + var selection = (checked ? data_table_toConsumableArray(_this.props.items) : []).filter(function (item) { + return item.type !== 'header-row'; + }); + + _this.props.onChange(selection, e); + } + + if (typeof _this.props.onRowChange === 'function') { + var _selection = (checked ? data_table_toConsumableArray(_this.props.items) : []).filter(function (item) { + return item.type !== 'header-row'; + }); + + _this.props.onRowChange(e, { + selection: _selection + }); + } + }); + + data_table_defineProperty(data_table_assertThisInitialized(_this), "handleRowToggle", function (item, selected, e) { + // REMOVE AT NEXT BREAKING CHANGE + // `onChange` is deprecated and replaced with `onRowChange` + if (typeof _this.props.onChange === 'function') { + var selection; + + if (selected) { + selection = _this.props.selectRows === 'radio' ? [item] : [].concat(data_table_toConsumableArray(_this.props.selection), [item]); + } else { + selection = lodash_reject_default()(_this.props.selection, item); + } + + _this.props.onChange(selection, e); + } // DEPRECATED CODE ENDS HERE + + + if (typeof _this.props.onRowChange === 'function') { + var _selection2; + + if (selected) { + _selection2 = _this.props.selectRows === 'radio' ? [item] : [].concat(data_table_toConsumableArray(_this.props.selection), [item]); + } else { + _selection2 = lodash_reject_default()(_this.props.selection, item); + } + + _this.props.onRowChange(e, { + selection: _selection2 + }); + } + }); + + data_table_defineProperty(data_table_assertThisInitialized(_this), "resizeFixedHeaders", function (event) { + var headerRefs = [].concat(_this.headerRefs.select, _this.headerRefs.column, _this.headerRefs.action); + + if (_this.props.onFixedHeaderResize) { + _this.props.onFixedHeaderResize(event, { + headerRefs: headerRefs, + scrollerRef: _this.scrollerRef + }); + } else if (headerRefs.length > 0) { + var documentScrollLeft = 0; + + if (canUseDOM) { + documentScrollLeft = document.documentElement.scrollLeft; + } + + headerRefs.forEach(function (column) { + if (column && canUseDOM) { + var columnLeft = column.getBoundingClientRect().left + documentScrollLeft; + var wrapperLeft = 0; + + if (_this.scrollerRef) { + wrapperLeft = _this.scrollerRef.getBoundingClientRect().left + documentScrollLeft; + } + + var cellFixed = column.querySelector('.slds-cell-fixed'); + + if (cellFixed) { + cellFixed.style.left = "".concat(columnLeft - wrapperLeft, "px"); + cellFixed.style.width = "".concat(column.offsetWidth, "px"); + } + } + }); + } + }); + + data_table_defineProperty(data_table_assertThisInitialized(_this), "onScrollerScroll", function () { + if (_this.props.hasMore && _this.props.onLoadMore) { + var _this$scrollerRef = _this.scrollerRef, + scrollTop = _this$scrollerRef.scrollTop, + offsetHeight = _this$scrollerRef.offsetHeight, + scrollHeight = _this$scrollerRef.scrollHeight; + + if (scrollTop + offsetHeight > scrollHeight - _this.props.loadMoreOffset) { + _this.props.onLoadMore(); + } + } + }); + + data_table_defineProperty(data_table_assertThisInitialized(_this), "toggleFixedHeaderListeners", function (attach) { + if (_this.props.onToggleFixedHeaderListeners) { + _this.props.onToggleFixedHeaderListeners({}, { + attach: attach, + resizeHandler: _this.resizeFixedHeaders, + scrollerRef: _this.scrollerRef + }); + } else { + var action = ["".concat(attach ? 'add' : 'remove', "EventListener")]; + + if (canUseEventListeners) { + window[action]('resize', _this.resizeFixedHeaders); + window[action]('resize', _this.onScrollerScroll); + } + + if (canUseEventListeners && _this.scrollerRef) { + _this.scrollerRef[action]('scroll', _this.resizeFixedHeaders); + + _this.scrollerRef[action]('scroll', _this.onScrollerScroll); + } + } + }); + + _this.generatedId = shortid_default.a.generate(); + _this.headerRefs = { + action: [], + column: [], + select: [] + }; + _this.scrollerRef = null; // `checkProps` issues warnings to developers about properties (similar to React's built in development tools) + + data_table_check_props(DATA_TABLE, props, data_table_component); + return _this; + } + + data_table_createClass(DataTable, [{ + key: "componentDidMount", + value: function componentDidMount() { + if (this.props.fixedHeader) { + this.toggleFixedHeaderListeners(true); + this.resizeFixedHeaders(); + } + } + }, { + key: "componentDidUpdate", + value: function componentDidUpdate() { + if (this.props.fixedHeader) { + this.resizeFixedHeaders(); + } + } + }, { + key: "componentWillUnmount", + value: function componentWillUnmount() { + this.toggleFixedHeaderListeners(false); + } + }, { + key: "getId", + value: function getId() { + return this.props.id || this.generatedId; + } + }, { + key: "render", + // ### Render + value: function render() { + var _this2 = this; + + var ariaProps = {}; + var numRows = data_table_count(this.props.items); + var numSelected = data_table_count(this.props.selection); + var numNonHeaderRows = data_table_count(this.props.items.filter(function (item) { + return item.type !== 'header-row'; + })); + var canSelectRows = this.props.selectRows && numNonHeaderRows > 0 ? this.props.selectRows : false; + var allSelected = canSelectRows && numNonHeaderRows === numSelected; + var indeterminateSelected = canSelectRows && numNonHeaderRows !== numSelected && numSelected !== 0; + var columns = []; + var RowActions = null; + external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.Children.forEach(this.props.children, function (child) { + if (child && child.type.displayName === data_table_column.displayName) { + var _child$props = child.props, + children = _child$props.children, + columnProps = data_table_objectWithoutProperties(_child$props, ["children"]); + + var props = lodash_assign_default()({}, _this2.props); // eslint-disable-next-line fp/no-delete + + delete props.children; + lodash_assign_default()(props, columnProps); + var Cell; + + if (children && children.type.displayName === DATA_TABLE_CELL) { + Cell = children.type; + lodash_assign_default()(props, children.props); + } else { + Cell = data_table_cell; + } // eslint-disable-next-line fp/no-mutating-methods + + + columns.push({ + Cell: Cell, + props: props, + dataTableProps: _this2.props + }); + } else if (child && child.type.displayName === row_actions.displayName) { + var dropdown = child.props.dropdown; + var dropdownPropOverrides = {}; + + if (_this2.props.fixedHeader) { + dropdownPropOverrides.menuPosition = 'overflowBoundaryElement'; + } + + RowActions = /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.cloneElement(child, { + dropdown: dropdown ? /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.cloneElement(dropdown, dropdownPropOverrides) : null + }); + } + }); + + var assistiveText = data_table_objectSpread(data_table_objectSpread({}, data_table_defaultProps.assistiveText), this.props.assistiveText); + + if (this.props.assistiveTextForActionsHeader) { + assistiveText.actionsHeader = this.props.assistiveTextForActionsHeader; + } + + if (this.props.assistiveTextForSelectAllRows) { + assistiveText.selectAllRows = this.props.assistiveTextForSelectAllRows; + } + + if (this.props.assistiveTextForColumnSortedAscending) { + assistiveText.columnSortedAscending = this.props.assistiveTextForColumnSortedAscending; + } + + if (this.props.assistiveTextForColumnSortedDescending) { + assistiveText.columnSortedDescending = this.props.assistiveTextForColumnSortedDescending; + } + + if (this.props.assistiveTextForColumnSort) { + assistiveText.columnSort = this.props.assistiveTextForColumnSort; + } + + if (this.props.assistiveTextForSelectRow) { + assistiveText.selectRow = this.props.assistiveTextForSelectRow; + } + + if (this.props.selectRows && this.props.selectRows !== 'radio') { + ariaProps['aria-multiselectable'] = 'true'; + } // This guarantees there are never any old header references if props change + + + this.headerRefs = { + action: RowActions ? this.headerRefs.action : [], + column: this.headerRefs.column.slice(0, columns.length), + select: canSelectRows ? this.headerRefs.select : [] + }; + var component = /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.Fragment, null, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("table", data_table_extends({}, ariaProps, { + className: classnames_default()('slds-table', { + 'slds-table_fixed-layout': this.props.fixedLayout, + 'slds-table_header-fixed': this.props.fixedHeader, + 'slds-table_resizable-cols': this.props.fixedLayout, + 'slds-table_bordered': !this.props.unborderedRow, + 'slds-table_cell-buffer': !this.props.fixedLayout && !this.props.unbufferedCell, + 'slds-max-medium-table_stacked': this.props.stacked, + 'slds-max-medium-table_stacked-horizontal': this.props.stackedHorizontal, + 'slds-table_striped': this.props.striped, + 'slds-table_col-bordered': this.props.columnBordered, + 'slds-no-row-hover': this.props.noRowHover + }, this.props.className), + id: this.getId(), + role: this.props.fixedLayout ? 'grid' : null, + style: this.props.style + }), /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(head, { + assistiveText: assistiveText, + allSelected: allSelected, + fixedHeader: this.props.fixedHeader, + headerRefs: function headerRefs(ref, index) { + if (index === 'action' || index === 'select') { + if (ref) { + _this2.headerRefs[index][0] = ref; + } else { + _this2.headerRefs[index] = []; + } + } else { + _this2.headerRefs.column[index] = ref; + } + }, + indeterminateSelected: indeterminateSelected, + canSelectRows: canSelectRows, + columns: columns, + id: "".concat(this.getId(), "-").concat(DATA_TABLE_HEAD), + onToggleAll: this.handleToggleAll, + onSort: this.props.onSort, + showRowActions: !!RowActions + }), /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("tbody", null, numRows > 0 ? this.props.items.map(function (item, index) { + var rowId = _this2.getId() && item.id ? "".concat(_this2.getId(), "-").concat(DATA_TABLE_ROW, "-").concat(item.id) : shortid_default.a.generate(); + return _this2.props.onRenderSubHeadingRow && item.type === 'header-row' ? _this2.props.onRenderSubHeadingRow({ + assistiveText: assistiveText, + classNameRow: item.classNameRow, + columns: columns, + key: rowId, + id: rowId, + tableId: _this2.getId(), + item: item + }) : /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(row, { + assistiveText: assistiveText, + canSelectRows: canSelectRows, + className: item.classNameRow, + columns: columns, + fixedLayout: _this2.props.fixedLayout, + id: rowId, + index: index, + item: item, + key: rowId, + onToggle: _this2.handleRowToggle, + selection: _this2.props.selection, + rowActions: RowActions, + tableId: _this2.getId() + }); + }) : // Someday this should be an element to render when the table is empty + null)), this.props.fixedHeader && this.props.hasMore && /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: "slds-is-relative slds-p-around_large" + }, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(components_spinner, { + assistiveText: { + label: this.props.assistiveText.loadingMore + }, + hasContainer: false, + size: "small", + variant: "brand" + }))); + + if (this.props.fixedHeader) { + var border = "1px solid ".concat(palette_colors_common["colorGray5"]); + var styles = { + borderTop: border, + height: '100%' + }; + + if (this.props.joined) { + styles.borderBottom = border; + styles.borderLeft = border; + styles.borderRight = border; + styles.borderTop = 'none'; + styles.borderRadius = salesforce_skin_common["tableBorderRadius"]; + } + + component = /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: "slds-table_header-fixed_container", + style: styles, + onScroll: function onScroll(e) { + var containerScrollLeft = e.target.scrollLeft; + + if (containerScrollLeft > 0) { + e.target.scrollLeft = 0; + + if (_this2.scrollerRef) { + _this2.scrollerRef.scrollLeft = containerScrollLeft; + } + } + } + }, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: "slds-table_header-fixed_scroller", + ref: function ref(_ref2) { + _this2.scrollerRef = _ref2; + }, + style: { + height: '100%', + overflow: 'auto' + } + }, component)); + } + + return component; + } + }]); + + return DataTable; +}(external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.Component); + +data_table_defineProperty(data_table_DataTable, "displayName", DATA_TABLE); + +data_table_defineProperty(data_table_DataTable, "propTypes", { + /** + * **Assistive text for accessibility.** + * This object is merged with the default props object on every render. + * * `actionsHeader`: Text for heading of actions column + * * `columnSort`: Text for sort action on table column header + * * `columnSortedAscending`: Text announced once a column is sorted in ascending order + * * `columnSortedDescending`: Text announced once a column is sorted in descending order + * * `selectAllRows`: Text for select all checkbox within the table header + * * `selectRow`: Text for select row. Default: "Select row 1" + * * `selectRowGroup`: This is an input group label and is attached to each checkbox or radio. Default is "Choose a row to select" + */ + assistiveText: prop_types_default.a.shape({ + actionsHeader: prop_types_default.a.string, + columnSort: prop_types_default.a.string, + columnSortedAscending: prop_types_default.a.string, + columnSortedDescending: prop_types_default.a.string, + selectAllRows: prop_types_default.a.string, + selectRow: prop_types_default.a.string, + selectRowGroup: prop_types_default.a.string, + loadingMore: prop_types_default.a.string + }), + + /** + * Provide children of the type `<DataTableColumn />` to define the structure of the data being represented and children of the type `<DataTableRowActions />` to define a menu which will be rendered for each item in the grid. Use a _higher-order component_ to customize a data table cell that will override the default cell rendering. `CustomDataTableCell` must have the same `displayName` as `DataTableCell` or it will be ignored. If you want complete control of the HTML, including the wrapping `td`, you don't have to use `DataTableCell`. + * ``` + * import DataTableCell from 'design-system-react/data-table/cell'; + * const CustomDataTableCell = ({ children, ...props }) => ( + * <DataTableCell {...props} > + * <a href="javascript:void(0);">{children}</a> + * </DataTableCell> + * ); + * CustomDataTableCell.displayName = DataTableCell.displayName; + * + * <DataTable> + * <DataTableColumn /> + * <DataTableColumn> + * <DataTableCustomCell /> + * </DataTableColumn> + * <DataTableRowActions /> + * </DataTable> + * ``` + */ + children: prop_types_default.a.node, + + /** + * Class names to be added to the table. + */ + className: prop_types_default.a.oneOfType([prop_types_default.a.array, prop_types_default.a.object, prop_types_default.a.string]), + + /** + * A variant which adds border to the vertical columns. + */ + columnBordered: prop_types_default.a.bool, + + /** + * Use this to enable fixed headers and scrolling columns / rows. Appearance / behavior is consistent only if used in combination with `fixedLayout`. Since scrolling is enabled, columns are not truncated unless a width is set. Due to `overflow:hidden` elements, any dialog components will need a separate render tree (portal) such as with `menuPosition: overflowBoundaryElement` in order to break out of the container. + */ + fixedHeader: prop_types_default.a.bool, + + /** + * Use this if you are creating an advanced table (selectable, sortable, or resizable rows). Columns widths will be truncate based on width and DOM ancestors. See `fixedHeader` to enable horizontal and vertical scrolling. + */ + fixedLayout: prop_types_default.a.bool, + + /** + * When fixedHeader is true, specifies whether there's more data to be loaded and displays a spinner at the bottom of the table if so. + */ + hasMore: prop_types_default.a.bool, + + /** + * A render prop for subheadings to describe what the next section of the table is about. This is often a heirarchical data structure and semantic heading levels should be used, but not visually differ. This is not a `role=rowheader` which provides a heading for a row. Basic sorting of columns is not recommended, since this pattern assumes top level groupings. Headings should be visually aligned with selection column when selection pattern is present, so not to be grouped with the previous row. + * ``` + * const CustomHeaderRow = ({ columns, item } ) => ( + * <tr> + * <th id={item.id} colSpan={columns.length+1} scope="colgroup"> + * <p role="heading" aria-level={item.ariaLevel}> + * {item.heading} + * </p> + * </th> + * </tr>); + *CustomHeaderRow.displayName = DataTableCell.displayName; + * + * <DataTable items=[{ + type: 'header-row', + id: 'header-row-example-id-3', + heading: 'Argentina > Autonomous City of Buenos Aires > Belgrano', + ariaLevel: 3, + * }], + * /> + * ``` + */ + onRenderSubHeadingRow: prop_types_default.a.func, + + /** + * A unique ID is needed in order to support keyboard navigation and ARIA support. + */ + id: prop_types_default.a.string, + + /** + * The collection of items to render in the table. This is an array of objects with each object having keys that correspond with the `property` prop of each `DataTableColumn`. + * + * Use the key `classNameRow` to add a custom class to the item's `<tr>` element. + */ + items: prop_types_default.a.arrayOf(prop_types_default.a.shape({ + id: prop_types_default.a.string.isRequired, + classNameRow: prop_types_default.a.string + })).isRequired, + + /** + * Makes DataTable joinable with PageHeader by adding appropriate classes/styling + */ + joined: prop_types_default.a.bool, + + /** + * Determines when to trigger infinite loading based on how many pixels the table's scroll position is from the bottom of the table. + */ + loadMoreOffset: prop_types_default.a.number, + + /** + * A variant which removes hover style on rows + */ + noRowHover: prop_types_default.a.bool, + + /** + * By default this function resizes the display headers when fixedHeader is `true`, but this behavior can be overridden. Passes an event and a data object with properties `headerRefs`, an array of DOM nodes referencing the `thead th` elements and `scrollerRef`, a DOM node referencing `.slds-table_header-fixed_scroller` + */ + onFixedHeaderResize: prop_types_default.a.func, + + /** + * This function fires when infinite loading loads more data. + * + * This will be called multiple times while the table is being scrolled within the `loadMoreOffset`. Please track whether or not loading is in progress and check it at the start of this function to avoid executing your callback too many times. + */ + onLoadMore: prop_types_default.a.func, + + /** + * This function fires when the selection of rows changes. This component passes in `event, { selection }` to the function. `selection` is an array of objects from the `items` prop. + * + * This used to be `onChange` which is deprecated now, so that the parameters can be consistent with other components. `onChange` passed in the selection first and the event wtihout a data object. + */ + onRowChange: prop_types_default.a.func, + + /** + * This function fires when the table should be sorted. + */ + onSort: prop_types_default.a.func, + + /** + * By default this function attaches/detaches listeners for window resize and tbody scrolling when fixedHeader is `true`, but this behavior can be overridden. Passes an event and a data object with an `attach` boolean property to determine whether listeners should be attached, a `resizeHandler` function property that can be called as-needed, and a `scrollerRef` DOM node property that serves as a reference to `.slds-table_header-fixed_scroller` + */ + onToggleFixedHeaderListeners: prop_types_default.a.func, + + /** + * An array of objects of selected rows. See `items` prop for shape of objects. + */ + selection: prop_types_default.a.array, + + /** + * Specifies a row selection UX pattern. + * * `checkbox`: Multiple row selection. + * * `radio`: _Required_ single row selection. + * _This prop used to be a `boolean`, a `true` value will be considered `checkbox` for backwards compatibility._ + */ + selectRows: prop_types_default.a.oneOfType([prop_types_default.a.bool, prop_types_default.a.oneOf(['checkbox', 'radio'])]), + + /** + * A variant which modifies table layout by stacking cells to accommodate smaller viewports. Should not be used at the same time as `stackedHorizontal`. + */ + stacked: prop_types_default.a.bool, + + /** + * A variant which modifies table layout by displaying the header and row data side by side for smaller viewports. Should not be used at the same time as `stacked`. + */ + stackedHorizontal: prop_types_default.a.bool, + + /** + * A variant which adds stripes to alternating rows. + */ + striped: prop_types_default.a.bool, + + /** + * Custom styles to be passed to the table. + * NOTE: for horizontal scrolling in `fixedHeader`-enabled DataTables, apply a `minWidth` style here. If the containing element width is less than the `minWidth` value, horizontal scrolling will occur + */ + style: prop_types_default.a.object, + + /** + * Tables have horizontal borders by default. This removes them. + */ + unborderedRow: prop_types_default.a.bool, + + /** + * A variant which removes horizontal padding. CSS class will be removed if `fixedLayout==true`. + */ + unbufferedCell: prop_types_default.a.bool +}); + +data_table_defineProperty(data_table_DataTable, "defaultProps", data_table_defaultProps); + +/* harmony default export */ var data_table = (data_table_DataTable); +// CONCATENATED MODULE: ./components/data-table/highlight-cell.jsx +/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */ + +/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */ +// ### React + + // ## Children + + + // ## Constants + + +/** + * A Cell renderer for the DataTable that automatically highlights search text. + */ + +var highlight_cell_DataTableHighlightCell = function DataTableHighlightCell(props) { + return /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(data_table_cell, props, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(utilities_highlighter, { + search: props.search + }, props.children)); +}; // ### Display Name +// The DataTable looks for components with this name to determine what it should use to render a given column's cells. + + +highlight_cell_DataTableHighlightCell.displayName = DATA_TABLE_CELL; // ### Prop Types + +highlight_cell_DataTableHighlightCell.propTypes = { + /** + * The contents of the cell. Equivalent to `props.item[props.property]` + */ + children: prop_types_default.a.oneOfType([prop_types_default.a.node, prop_types_default.a.string]), + + /** + * The string of text (or Regular Expression) to highlight. + */ + search: prop_types_default.a.any +}; +/* harmony default export */ var highlight_cell = (highlight_cell_DataTableHighlightCell); +// CONCATENATED MODULE: ./utilities/date.js +/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */ + +/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */ +var DateUtil = { + firstDayOfMonth: function firstDayOfMonth(date) { + var newDate = new Date(date); + newDate.setDate(1); + return newDate; + }, + isFirstDayOfMonth: function isFirstDayOfMonth(date) { + return date.getDate() === 1; + }, + isLastDayOfMonth: function isLastDayOfMonth(date) { + return !DateUtil.isSameMonth(date, DateUtil.addDays(date, 1)); + }, + isSameMonth: function isSameMonth(d1, d2) { + if (!d1 || !d2) { + return false; + } + + return d1.getFullYear() === d2.getFullYear() && d1.getMonth() === d2.getMonth(); + }, + isSameDay: function isSameDay(d1, d2) { + if (!d1 || !d2) { + return false; + } + + return d1.getFullYear() === d2.getFullYear() && d1.getMonth() === d2.getMonth() && d1.getDate() === d2.getDate(); + }, + isCurrentMonth: function isCurrentMonth(date) { + if (!date) { + return false; + } + + return DateUtil.isSameMonth(date, new Date()); + }, + isToday: function isToday(date) { + if (!date) { + return false; + } + + return DateUtil.isSameDay(date, new Date()); + }, + isEqual: function isEqual(d1, d2) { + return d1.getTime() === d2.getTime(); + }, + addDays: function addDays(date, deltaDays) { + var newDate = new Date(date); + newDate.setDate(newDate.getDate() + parseInt(deltaDays, 10)); + return newDate; + }, + addWeeks: function addWeeks(date, deltaWeeks) { + return DateUtil.addDays(date, parseInt(deltaWeeks, 10) * 7); + }, + nearestWeekDay: function nearestWeekDay(date, weekDayIndex) { + var delta = weekDayIndex - date.getDay(); + + if (delta < 0) { + delta += 7; + } + + return DateUtil.addDays(date, delta); + }, + isLeapYear: function isLeapYear(year) { + return year % 4 === 0 && year % 100 !== 0 || year % 400 === 0; + }, + getDaysInMonth: function getDaysInMonth(year, month) { + return [31, DateUtil.isLeapYear(year) ? 29 : 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31][month]; + }, + addMonths: function addMonths(date, value) { + var newDate = new Date(date); + var dateOfNewDate = newDate.getDate(); + newDate.setDate(1); + newDate.setMonth(newDate.getMonth() + value); + newDate.setDate(Math.min(dateOfNewDate, DateUtil.getDaysInMonth(newDate.getFullYear(), newDate.getMonth()))); + return newDate; + } +}; +/* harmony default export */ var utilities_date = (DateUtil); +// CONCATENATED MODULE: ./components/date-picker/private/day.jsx +function day_ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; } + +function day_objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { day_ownKeys(Object(source), true).forEach(function (key) { day_defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { day_ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; } + +function day_defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */ + +/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */ + + // ### classNames +// [github.com/JedWatson/classnames](https://github.com/JedWatson/classnames) +// This project uses `classnames`, "a simple javascript utility for conditionally +// joining classNames together." + + + + + + + + +var day_handleClick = function handleClick(event, _ref) { + var date = _ref.date, + onSelectDate = _ref.onSelectDate; + onSelectDate(event, { + date: date + }); +}; + +var day_handleKeyDown = function handleKeyDown(event, _ref2) { + var _keyDownCallbacks; + + var date = _ref2.date, + onCalendarBlur = _ref2.onCalendarBlur, + onSelectDate = _ref2.onSelectDate, + onKeyboardNavigateToPreviousDay = _ref2.onKeyboardNavigateToPreviousDay, + onKeyboardNavigateToNextDay = _ref2.onKeyboardNavigateToNextDay, + onKeyboardNavigateToPreviousWeek = _ref2.onKeyboardNavigateToPreviousWeek, + onKeyboardNavigateToNextWeek = _ref2.onKeyboardNavigateToNextWeek, + direction = _ref2.direction; + var keyDownCallbacks = (_keyDownCallbacks = {}, day_defineProperty(_keyDownCallbacks, key_code.SPACE, function () { + onSelectDate(event, { + date: date + }); + }), day_defineProperty(_keyDownCallbacks, key_code.ENTER, function () { + onSelectDate(event, { + date: date + }); + }), day_defineProperty(_keyDownCallbacks, key_code.TAB, function () { + onCalendarBlur(event, { + direction: 'next' + }); + }), day_defineProperty(_keyDownCallbacks, key_code.LEFT, function () { + if (direction === DIRECTIONS.RTL) { + onKeyboardNavigateToNextDay(event, { + date: date + }); + } else { + onKeyboardNavigateToPreviousDay(event, { + date: date + }); + } + }), day_defineProperty(_keyDownCallbacks, key_code.RIGHT, function () { + if (direction === DIRECTIONS.RTL) { + onKeyboardNavigateToPreviousDay(event, { + date: date + }); + } else { + onKeyboardNavigateToNextDay(event, { + date: date + }); + } + }), day_defineProperty(_keyDownCallbacks, key_code.UP, function () { + onKeyboardNavigateToPreviousWeek(event, { + date: date + }); + }), day_defineProperty(_keyDownCallbacks, key_code.DOWN, function () { + onKeyboardNavigateToNextWeek(event, { + date: date + }); + }), _keyDownCallbacks); + + var shiftKeyDownCallbacks = day_defineProperty({}, key_code.TAB, function () { + onCalendarBlur(event, { + direction: 'previous' + }); + }); + + if (event.keyCode) { + if (event.shiftKey && keyDownCallbacks[event.keyCode]) { + utilities_event.trapEvent(event); + shiftKeyDownCallbacks[event.keyCode](); + } else if (keyDownCallbacks[event.keyCode]) { + utilities_event.trapEvent(event); + keyDownCallbacks[event.keyCode](); + } + } +}; + +var day_DatepickerCalendarDay = function DatepickerCalendarDay(props) { + var isCurrentMonth = utilities_date.isSameMonth(props.date, props.initialDateForCalendarRender); + var isToday = utilities_date.isToday(props.date); + var isSelectedDay = utilities_date.isSameDay(props.date, props.selectedDate); + var isFirstDayOfMonth = utilities_date.isFirstDayOfMonth(props.date); + var isDisabled = !isCurrentMonth || props.disabled; + return ( + /*#__PURE__*/ + + /* eslint-disable jsx-a11y/no-static-element-interactions */ + external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("td", { + "aria-disabled": isDisabled, + "aria-selected": isSelectedDay, + className: classnames_default()({ + 'slds-is-today': isToday, + 'slds-disabled-text': isDisabled, + 'slds-is-selected': isSelectedDay + }), + onClick: function onClick(event) { + day_handleClick(event, { + date: props.date, + onSelectDate: props.onSelectDate + }); + }, + onKeyDown: function onKeyDown(event) { + day_handleKeyDown(event, day_objectSpread({}, props)); + }, + ref: function ref(component) { + if (isSelectedDay) { + props.selectedDateRef(component); + } + + if (props.calendarHasFocus && utilities_date.isSameDay(props.focusedDate, props.date) && isCurrentMonth) { + props.onRequestInternalFocusDate(undefined, { + date: props.date, + ref: component + }); + } + }, + role: "gridcell", + tabIndex: !props.calendarHasFocus && isFirstDayOfMonth && isCurrentMonth ? 0 : -1 + }, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("span", { + className: "slds-day" + }, isToday ? /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("span", { + className: "slds-assistive-text" + }, "".concat(props.todayLabel, ": ")) : null, props.date.getDate())) + ); +}; + +day_DatepickerCalendarDay.displayName = 'SLDSDatepickerCalendarDay'; +day_DatepickerCalendarDay.propTypes = { + /** + * If elements within the calendar have focus. This is helpful for keyboard event trapping. + */ + calendarHasFocus: prop_types_default.a.bool.isRequired, + + /** + * Date of day + */ + date: prop_types_default.a.instanceOf(Date).isRequired, + + /** + * If date is disabled + */ + disabled: prop_types_default.a.bool, + + /** + * Date used to create calendar that is displayed. This is typically the initial day focused when using the keyboard navigation. Focus will be set to this date if available. + */ + initialDateForCalendarRender: prop_types_default.a.instanceOf(Date).isRequired, + + /** + * Triggered when the keyboard moves focus off the calendar. + */ + onCalendarBlur: prop_types_default.a.func.isRequired, + + /** + * For keyboard navigation. Changes the focus to the next day on the calendar. Triggered when right arrow button is pressed. + */ + onKeyboardNavigateToNextDay: prop_types_default.a.func.isRequired, + + /** + * For keyboard navigation. Changes the focus to the same day in the next week on the calendar. Triggered when down arrow button is pressed. + */ + onKeyboardNavigateToNextWeek: prop_types_default.a.func.isRequired, + + /** + * For keyboard navigation. Changes the focus to the previous day on the calendar. Triggered when left arrow button is pressed. + */ + onKeyboardNavigateToPreviousDay: prop_types_default.a.func.isRequired, + + /** + * For keyboard navigation. Changes the focus to the same day in the previous week on the calendar. Triggered when up arrow button is pressed. + */ + onKeyboardNavigateToPreviousWeek: prop_types_default.a.func.isRequired, + + /** + * Triggered when a date on the calendar is clicked. + */ + onSelectDate: prop_types_default.a.func.isRequired, + + /** + * Currently selected date. This should be present in the input field. + */ + selectedDate: prop_types_default.a.instanceOf(Date).isRequired, + + /** + * Component reference / DOM node for selected day. + */ + selectedDateRef: prop_types_default.a.func.isRequired, + + /** + * Label of shortcut to jump to today within the calendar. Also used for assistive text for the current day. + */ + todayLabel: prop_types_default.a.string.isRequired, + focusedDate: prop_types_default.a.instanceOf(Date), + onRequestInternalFocusDate: prop_types_default.a.func +}; +/* harmony default export */ var day = (language_direction(day_DatepickerCalendarDay)); +// CONCATENATED MODULE: ./components/date-picker/private/week.jsx +/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */ + +/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */ + + + + + +var week_DatepickerWeek = function DatepickerWeek(props) { + var days = []; + var date = props.firstDayOfWeek; // eslint-disable-next-line fp/no-loops + + for (var i = 0; i < 7; i += 1) { + // eslint-disable-next-line fp/no-mutating-methods + days.push( /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(day, { + calendarHasFocus: props.calendarHasFocus, + date: date, + disabled: props.dateDisabled({ + date: date + }), + focusedDate: props.focusedDate, + initialDateForCalendarRender: props.initialDateForCalendarRender, + key: date.toString(), + onKeyboardNavigateToNextDay: props.onKeyboardNavigateToNextDay, + onKeyboardNavigateToNextWeek: props.onKeyboardNavigateToNextWeek, + onKeyboardNavigateToPreviousDay: props.onKeyboardNavigateToPreviousDay, + onKeyboardNavigateToPreviousWeek: props.onKeyboardNavigateToPreviousWeek, + onCalendarBlur: props.onCalendarBlur, + onRequestInternalFocusDate: props.onRequestInternalFocusDate, + onSelectDate: props.onSelectDate, + selectedDate: props.selectedDate, + selectedDateRef: props.selectedDateRef, + todayLabel: props.todayLabel + })); + date = utilities_date.addDays(date, 1); + } + + return /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("tr", { + className: "week", + key: days[0].toString() + }, days); +}; + +week_DatepickerWeek.propTypes = { + /** + * Date used to create calendar that is displayed. This is typically the initial day focused when using the keyboard navigation. Focus will be set to this date if available. + */ + initialDateForCalendarRender: prop_types_default.a.instanceOf(Date).isRequired, + + /** + * Is true if calendar day has focus. + */ + calendarHasFocus: prop_types_default.a.bool.isRequired, + + /** + * dateDisabled() takes a date as input argument, returns true if given date should be disabled, otherwise returns false. + */ + dateDisabled: prop_types_default.a.func, + + /** + * First day of week. + */ + firstDayOfWeek: prop_types_default.a.instanceOf(Date).isRequired, + + /** + * Date that has focus. + */ + focusedDate: prop_types_default.a.instanceOf(Date).isRequired, + + /** + * Triggered when the keyboard moves focus off the calendar. + */ + onCalendarBlur: prop_types_default.a.func.isRequired, + + /** + * For keyboard navigation. Changes the focus to the next day on the calendar. Triggered when right arrow button is pressed. + */ + onKeyboardNavigateToNextDay: prop_types_default.a.func.isRequired, + + /** + * For keyboard navigation. Changes the focus to the same day in the next week on the calendar. Triggered when down arrow button is pressed. + */ + onKeyboardNavigateToNextWeek: prop_types_default.a.func.isRequired, + + /** + * For keyboard navigation. Changes the focus to the previous day on the calendar. Triggered when left arrow button is pressed. + */ + onKeyboardNavigateToPreviousDay: prop_types_default.a.func.isRequired, + + /** + * For keyboard navigation. Changes the focus to the same day in the previous week on the calendar. Triggered when up arrow button is pressed. + */ + onKeyboardNavigateToPreviousWeek: prop_types_default.a.func.isRequired, + + /** + * Triggered when the user wants to focus on a new day witht he keyboard. It returns the keyboard event a data object with the shape: `{date: [Date object]}`. Keyboard event is ommited if a new month is rendered. _Tested with Mocha framework._ + */ + onRequestInternalFocusDate: prop_types_default.a.func.isRequired, + + /** + * Triggered when a date on the calendar is clicked. + */ + onSelectDate: prop_types_default.a.func.isRequired, + + /** + * Currently selected date. This should be present in the input field. + */ + selectedDate: prop_types_default.a.instanceOf(Date).isRequired, + + /** + * Component reference / DOM node for selected day. + */ + selectedDateRef: prop_types_default.a.func.isRequired, + + /** + * Label of shortcut to jump to today within the calendar. Also used for assistive text for the current day. + */ + todayLabel: prop_types_default.a.string.isRequired +}; +week_DatepickerWeek.displayName = 'SLDSDatepickerWeek'; +/* harmony default export */ var week = (week_DatepickerWeek); +// CONCATENATED MODULE: ./components/date-picker/private/calendar.jsx +function calendar_typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { calendar_typeof = function _typeof(obj) { return typeof obj; }; } else { calendar_typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return calendar_typeof(obj); } + +function calendar_classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function calendar_defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function calendar_createClass(Constructor, protoProps, staticProps) { if (protoProps) calendar_defineProperties(Constructor.prototype, protoProps); if (staticProps) calendar_defineProperties(Constructor, staticProps); return Constructor; } + +function calendar_inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) calendar_setPrototypeOf(subClass, superClass); } + +function calendar_setPrototypeOf(o, p) { calendar_setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return calendar_setPrototypeOf(o, p); } + +function calendar_createSuper(Derived) { var hasNativeReflectConstruct = calendar_isNativeReflectConstruct(); return function _createSuperInternal() { var Super = calendar_getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = calendar_getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return calendar_possibleConstructorReturn(this, result); }; } + +function calendar_possibleConstructorReturn(self, call) { if (call && (calendar_typeof(call) === "object" || typeof call === "function")) { return call; } return calendar_assertThisInitialized(self); } + +function calendar_assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +function calendar_isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } } + +function calendar_getPrototypeOf(o) { calendar_getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return calendar_getPrototypeOf(o); } + +function calendar_defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */ + +/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */ + + + + + +var calendar_DatepickerCalendar = /*#__PURE__*/function (_React$Component) { + calendar_inherits(DatepickerCalendar, _React$Component); + + var _super = calendar_createSuper(DatepickerCalendar); + + function DatepickerCalendar() { + var _this; + + calendar_classCallCheck(this, DatepickerCalendar); + + for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { + args[_key] = arguments[_key]; + } + + _this = _super.call.apply(_super, [this].concat(args)); + + calendar_defineProperty(calendar_assertThisInitialized(_this), "state", { + focusedDate: _this.props.initialDateForCalendarRender, + calendarHasFocus: true, + todayFocus: false + }); + + calendar_defineProperty(calendar_assertThisInitialized(_this), "setCalendarRenderSeedDate", function (prevProps) { + // Set prop that sets focus in child component once it is rendered. This occurs when the month DOM has changed. This will trigger a re-render, but no DOM change will occur, just a DOM focus. + if (!utilities_date.isEqual(_this.props.initialDateForCalendarRender, prevProps.initialDateForCalendarRender)) { + _this.setState({ + focusedDate: _this.props.initialDateForCalendarRender + }); + + _this.props.onRequestInternalFocusDate(undefined, { + date: _this.props.initialDateForCalendarRender, + triggerCallback: true + }); + } + }); + + calendar_defineProperty(calendar_assertThisInitialized(_this), "handleSelectDate", function (event, _ref) { + var date = _ref.date; + + if (!_this.props.dateDisabled({ + date: date + })) { + _this.setState({ + selected: date + }); + + _this.props.onSelectDate(event, { + date: date + }); + } + }); + + calendar_defineProperty(calendar_assertThisInitialized(_this), "handleRequestClose", function (event) { + if (_this.props.onRequestClose) { + _this.props.onRequestClose(event, {}); + } + }); + + calendar_defineProperty(calendar_assertThisInitialized(_this), "handleKeyboardNavigateToPreviousDay", function (event, _ref2) { + var date = _ref2.date; + var prevDate = utilities_date.addDays(date, -1); + + if (!utilities_date.isSameMonth(prevDate, date)) { + _this.props.onChangeMonth(event, prevDate); + } else { + _this.setState({ + focusedDate: prevDate + }); + + _this.props.onRequestInternalFocusDate(event, { + date: prevDate, + triggerCallback: true + }); + } + }); + + calendar_defineProperty(calendar_assertThisInitialized(_this), "handleKeyboardNavigateToNextDay", function (event, _ref3) { + var date = _ref3.date; + var nextDate = utilities_date.addDays(date, 1); + + if (!utilities_date.isSameMonth(nextDate, date)) { + _this.props.onChangeMonth(event, nextDate); + } else { + _this.setState({ + focusedDate: nextDate + }); + + _this.props.onRequestInternalFocusDate(event, { + date: nextDate, + triggerCallback: true + }); + } + }); + + calendar_defineProperty(calendar_assertThisInitialized(_this), "handleKeyboardNavigateToPreviousWeek", function (event, _ref4) { + var date = _ref4.date; + var prevDate = utilities_date.addDays(date, -7); + + if (!utilities_date.isSameMonth(prevDate, date)) { + _this.props.onChangeMonth(event, prevDate); + } else { + _this.setState({ + focusedDate: prevDate + }); + + _this.props.onRequestInternalFocusDate(event, { + date: prevDate, + triggerCallback: true + }); + } + }); + + calendar_defineProperty(calendar_assertThisInitialized(_this), "handleKeyboardNavigateToNextWeek", function (event, _ref5) { + var date = _ref5.date; + var nextDate = utilities_date.addDays(date, 7); + + if (!utilities_date.isSameMonth(nextDate, date)) { + _this.props.onChangeMonth(event, nextDate); + } else { + _this.setState({ + focusedDate: nextDate + }); + + _this.props.onRequestInternalFocusDate(event, { + date: nextDate, + triggerCallback: true + }); + } + }); + + calendar_defineProperty(calendar_assertThisInitialized(_this), "renderWeeks", function () { + var firstDayOfWeekOffset = _this.props.isIsoWeekday ? 1 : 0; + var firstDayOfMonth = utilities_date.firstDayOfMonth(_this.props.initialDateForCalendarRender); + var firstDayOfWeek; + + if (firstDayOfMonth.getDay() > firstDayOfWeekOffset || firstDayOfMonth.getDay() < firstDayOfWeekOffset) { + var prevWeek = utilities_date.addWeeks(firstDayOfMonth, -1); + firstDayOfWeek = utilities_date.nearestWeekDay(prevWeek, firstDayOfWeekOffset); + } else { + firstDayOfWeek = firstDayOfMonth; + } + + var weeks = []; + var done = false; + var monthIndex = firstDayOfWeek.getMonth(); + var count = 0; // eslint-disable-next-line fp/no-loops + + while (!done) { + // eslint-disable-next-line fp/no-mutating-methods + weeks.push( /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(week, { + calendarHasFocus: _this.state.calendarHasFocus, + dateDisabled: _this.props.dateDisabled, + firstDayOfWeek: firstDayOfWeek, + key: firstDayOfWeek.toString(), + focusedDate: _this.state.focusedDate, + initialDateForCalendarRender: _this.props.initialDateForCalendarRender, + onCalendarBlur: _this.props.onCalendarBlur, + onKeyboardNavigateToPreviousDay: _this.handleKeyboardNavigateToPreviousDay, + onKeyboardNavigateToNextDay: _this.handleKeyboardNavigateToNextDay, + onKeyboardNavigateToPreviousWeek: _this.handleKeyboardNavigateToPreviousWeek, + onKeyboardNavigateToNextWeek: _this.handleKeyboardNavigateToNextWeek, + onRequestClose: _this.handleRequestClose, + onRequestInternalFocusDate: _this.props.onRequestInternalFocusDate, + onSelectDate: _this.handleSelectDate, + selectedDate: _this.props.selectedDate, + selectedDateRef: _this.props.selectedDateRef, + todayLabel: _this.props.todayLabel + })); // create new weeks + + firstDayOfWeek = utilities_date.addWeeks(firstDayOfWeek, 1); + done = count > 2 && monthIndex !== firstDayOfWeek.getMonth(); + count += 1; + monthIndex = firstDayOfWeek.getMonth(); + } + + var extraWeeks = 0; // eslint-disable-next-line fp/no-loops + + while (weeks.length < 6) { + extraWeeks += 1; // eslint-disable-next-line fp/no-mutating-methods + + weeks.push( /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("tr", { + key: "extra_".concat(extraWeeks), + className: "week" + }, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("td", { + "aria-disabled": "true", + "aria-selected": "false", + className: "slds-disabled-text" + }, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("span", { + className: "slds-day " + }, "\xA0")))); + } + + return weeks; + }); + + return _this; + } + + calendar_createClass(DatepickerCalendar, [{ + key: "componentDidUpdate", + value: function componentDidUpdate(prevProps) { + this.setCalendarRenderSeedDate(prevProps); + } + }, { + key: "render", + value: function render() { + var _this2 = this; + + var sunday = /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("th", null, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("abbr", { + title: this.props.weekDayLabels[0] + }, this.props.abbreviatedWeekDayLabels[0])); + return /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: "calendar" + }, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("table", { + className: "datepicker__month", + role: "grid", + "aria-labelledby": "".concat(this.props.id, "-month") + }, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("thead", null, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("tr", null, this.props.isIsoWeekday ? null : sunday, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("th", { + scope: "col" + }, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("abbr", { + title: this.props.weekDayLabels[1] + }, this.props.abbreviatedWeekDayLabels[1])), /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("th", { + scope: "col" + }, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("abbr", { + title: this.props.weekDayLabels[2] + }, this.props.abbreviatedWeekDayLabels[2])), /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("th", { + scope: "col" + }, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("abbr", { + title: this.props.weekDayLabels[3] + }, this.props.abbreviatedWeekDayLabels[3])), /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("th", { + scope: "col" + }, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("abbr", { + title: this.props.weekDayLabels[4] + }, this.props.abbreviatedWeekDayLabels[4])), /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("th", { + scope: "col" + }, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("abbr", { + title: this.props.weekDayLabels[5] + }, this.props.abbreviatedWeekDayLabels[5])), /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("th", { + scope: "col" + }, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("abbr", { + title: this.props.weekDayLabels[6] + }, this.props.abbreviatedWeekDayLabels[6])), this.props.isIsoWeekday && sunday)), /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("tbody", null, this.renderWeeks(), /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("tr", null, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("td", { + colSpan: "7", + role: "gridcell" + }, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("a", { + href: "javascript:void(0)" // eslint-disable-line no-script-url + , + tabIndex: "0", + className: "slds-show_inline-block slds-p-bottom_x-small", + onClick: function onClick(event) { + _this2.handleSelectDate(event, { + date: new Date() + }); + }, + onKeyDown: this.props.onLastFocusableNodeKeyDown, + ref: this.props.todayRef + }, this.props.todayLabel)))))); + } + }]); + + return DatepickerCalendar; +}(external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.Component); + +calendar_defineProperty(calendar_DatepickerCalendar, "displayName", 'SLDSDatepickerCalendar'); + +calendar_defineProperty(calendar_DatepickerCalendar, "propTypes", { + /** + * Three letter abbreviations of the days of the week, starting on Sunday. + */ + abbreviatedWeekDayLabels: prop_types_default.a.array.isRequired, + + /** + * dateDisabled() takes a date as input argument, returns true if given date should be disabled, otherwise returns false. + */ + dateDisabled: prop_types_default.a.func, + + /** + * HTML id for component + */ + id: prop_types_default.a.string.isRequired, + + /** + * Date used to create calendar that is displayed. This is typically the initial day focused when using the keyboard navigation. Focus will be set to this date if available. + */ + initialDateForCalendarRender: prop_types_default.a.instanceOf(Date).isRequired, + + /** + * Makes Monday the first day of the week + */ + isIsoWeekday: prop_types_default.a.bool, + + /** + * Triggered when the keyboard moves focus off the calendar. + */ + onCalendarBlur: prop_types_default.a.func.isRequired, + + /** + * Displayed calendar has changed or re-rendered + */ + onChangeMonth: prop_types_default.a.func.isRequired, + + /** + * Internal callback that will eventually trigger when the keyboard moves focus on the calendar. `{date: [Date object], formattedDate: [string]}`. + */ + onRequestInternalFocusDate: prop_types_default.a.func, + + /** + * Triggered when the calendar is cancelled. + */ + onRequestClose: prop_types_default.a.func.isRequired, + + /** + * Triggered when a date on the calendar is clicked. + */ + onSelectDate: prop_types_default.a.func.isRequired, + + /** + * Currently selected date. This should be present in the input field. + */ + selectedDate: prop_types_default.a.instanceOf(Date), + + /** + * Component reference / DOM node for selected day. + */ + selectedDateRef: prop_types_default.a.func, + + /** + * Label of shortcut to jump to today within the calendar. This is also used for assistive text on today's date. + */ + todayLabel: prop_types_default.a.string.isRequired, + + /** + * For keyboard navigation. Listens for key presses on the last focusable DOM Node, the "Today" link, so that dialog focus can be trapped. + */ + onLastFocusableNodeKeyDown: prop_types_default.a.func, + + /** + * Callback that passes in the DOM reference of the Today `a` DOM node within this component. Primary use is to allow `focus` to be called. You should still test if the node exists, since rendering is asynchronous. `buttonRef={(component) => { if(component) console.log(component); }}` + */ + todayRef: prop_types_default.a.func, + + /** + * Names of the seven days of the week, starting on Sunday. + */ + weekDayLabels: prop_types_default.a.array.isRequired +}); + +/* harmony default export */ var calendar = (calendar_DatepickerCalendar); +// CONCATENATED MODULE: ./components/date-picker/private/year-picklist.jsx +function year_picklist_typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { year_picklist_typeof = function _typeof(obj) { return typeof obj; }; } else { year_picklist_typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return year_picklist_typeof(obj); } + +function year_picklist_classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function year_picklist_defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function year_picklist_createClass(Constructor, protoProps, staticProps) { if (protoProps) year_picklist_defineProperties(Constructor.prototype, protoProps); if (staticProps) year_picklist_defineProperties(Constructor, staticProps); return Constructor; } + +function year_picklist_inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) year_picklist_setPrototypeOf(subClass, superClass); } + +function year_picklist_setPrototypeOf(o, p) { year_picklist_setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return year_picklist_setPrototypeOf(o, p); } + +function year_picklist_createSuper(Derived) { var hasNativeReflectConstruct = year_picklist_isNativeReflectConstruct(); return function _createSuperInternal() { var Super = year_picklist_getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = year_picklist_getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return year_picklist_possibleConstructorReturn(this, result); }; } + +function year_picklist_possibleConstructorReturn(self, call) { if (call && (year_picklist_typeof(call) === "object" || typeof call === "function")) { return call; } return year_picklist_assertThisInitialized(self); } + +function year_picklist_assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +function year_picklist_isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } } + +function year_picklist_getPrototypeOf(o) { year_picklist_getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return year_picklist_getPrototypeOf(o); } + +function year_picklist_defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */ + +/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */ + + + + +var year_picklist_DatepickerYearSelector = /*#__PURE__*/function (_React$Component) { + year_picklist_inherits(DatepickerYearSelector, _React$Component); + + var _super = year_picklist_createSuper(DatepickerYearSelector); + + function DatepickerYearSelector() { + var _this; + + year_picklist_classCallCheck(this, DatepickerYearSelector); + + for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { + args[_key] = arguments[_key]; + } + + _this = _super.call.apply(_super, [this].concat(args)); + + year_picklist_defineProperty(year_picklist_assertThisInitialized(_this), "getOptions", function () { + var now = new Date(); + + var fromYear = now.getFullYear() + _this.props.relativeYearFrom; + + var toYear = now.getFullYear() + _this.props.relativeYearTo; + + var opts = []; // eslint-disable-next-line fp/no-loops + + for (var year = fromYear; year < toYear; year += 1) { + // eslint-disable-next-line fp/no-mutating-methods + opts.push({ + label: "".concat(year), + value: year, + id: String(opts.length) + }); + } + + return opts; + }); + + year_picklist_defineProperty(year_picklist_assertThisInitialized(_this), "getSelectedValueOption", function () { + var selectedYear = _this.props.initialDateForCalendarRender.getFullYear(); + + return _this.getOptions().filter(function (option) { + return option.value === selectedYear; + }); + }); + + year_picklist_defineProperty(year_picklist_assertThisInitialized(_this), "handleSelect", function (event, _ref) { + var selectedValues = _ref.selection; + var selectedValue = selectedValues[0]; // safe since we are working with a single selection + + if (selectedValue) { + _this.props.onChangeMonth(new Date(_this.props.initialDateForCalendarRender.setFullYear(parseInt(selectedValue.value, 10)))); + } + }); + + return _this; + } + + year_picklist_createClass(DatepickerYearSelector, [{ + key: "render", + value: function render() { + var selection = this.getSelectedValueOption(); + return /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: "slds-form-element slds-align-content-center" + }, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(combobox, { + assistiveText: { + label: this.props.assistiveTextYear + }, + className: "slds-shrink-none", + classNameMenu: "slds-datepicker", + events: { + onSelect: this.handleSelect + }, + id: "".concat(this.props.id, "-year-picklist"), + inheritWidthOf: "target", + menuPosition: "relative", + multiple: false, + options: this.getOptions(), + labels: { + placeholder: 'Year' + }, + selection: selection, + value: selection.value, + variant: "readonly" + })); + } + }]); + + return DatepickerYearSelector; +}(external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.Component); + +year_picklist_defineProperty(year_picklist_DatepickerYearSelector, "displayName", 'SLDSDatepickerYearSelector'); + +year_picklist_defineProperty(year_picklist_DatepickerYearSelector, "propTypes", { + /** + * Label for year picklist/combobox + */ + assistiveTextYear: prop_types_default.a.string.isRequired, + + /** + * HTML id for component + */ + id: prop_types_default.a.string, + + /** + * Date used to create calendar that is displayed. This is typically the initial day focused when using the keyboard navigation. Focus will be set to this date if available. + */ + initialDateForCalendarRender: prop_types_default.a.instanceOf(Date).isRequired, + + /** + * Displayed calendar has changed or re-rendered + */ + onChangeMonth: prop_types_default.a.func.isRequired, + + /** + * Offset of year from current year that can be selected in the year selection dropdown. (2017 - 5 = 2012). + */ + relativeYearFrom: prop_types_default.a.number, + + /** + * Offset of year from current year that can be selected in the year selection dropdown. (2017 + 5 = 2012). + */ + relativeYearTo: prop_types_default.a.number +}); + +/* harmony default export */ var year_picklist = (year_picklist_DatepickerYearSelector); +// CONCATENATED MODULE: ./components/date-picker/private/navigation.jsx +function navigation_typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { navigation_typeof = function _typeof(obj) { return typeof obj; }; } else { navigation_typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return navigation_typeof(obj); } + +function navigation_classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function navigation_defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function navigation_createClass(Constructor, protoProps, staticProps) { if (protoProps) navigation_defineProperties(Constructor.prototype, protoProps); if (staticProps) navigation_defineProperties(Constructor, staticProps); return Constructor; } + +function navigation_inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) navigation_setPrototypeOf(subClass, superClass); } + +function navigation_setPrototypeOf(o, p) { navigation_setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return navigation_setPrototypeOf(o, p); } + +function navigation_createSuper(Derived) { var hasNativeReflectConstruct = navigation_isNativeReflectConstruct(); return function _createSuperInternal() { var Super = navigation_getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = navigation_getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return navigation_possibleConstructorReturn(this, result); }; } + +function navigation_possibleConstructorReturn(self, call) { if (call && (navigation_typeof(call) === "object" || typeof call === "function")) { return call; } return navigation_assertThisInitialized(self); } + +function navigation_assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +function navigation_isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } } + +function navigation_getPrototypeOf(o) { navigation_getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return navigation_getPrototypeOf(o); } + +function navigation_defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */ + +/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */ + + + + + + +var navigation_DatepickerMonthNavigation = /*#__PURE__*/function (_React$Component) { + navigation_inherits(DatepickerMonthNavigation, _React$Component); + + var _super = navigation_createSuper(DatepickerMonthNavigation); + + function DatepickerMonthNavigation() { + var _this; + + navigation_classCallCheck(this, DatepickerMonthNavigation); + + for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { + args[_key] = arguments[_key]; + } + + _this = _super.call.apply(_super, [this].concat(args)); + + navigation_defineProperty(navigation_assertThisInitialized(_this), "getMonthLabel", function () { + return _this.props.monthLabels[new Date(_this.props.initialDateForCalendarRender).getMonth()]; + }); + + navigation_defineProperty(navigation_assertThisInitialized(_this), "getYearLabel", function () { + return new Date(_this.props.initialDateForCalendarRender).getFullYear(); + }); + + navigation_defineProperty(navigation_assertThisInitialized(_this), "handleClick", function (event) { + event.preventDefault(); + event.stopPropagation(); + }); + + navigation_defineProperty(navigation_assertThisInitialized(_this), "handleYearSelect", function (initialDateForCalendarRender) { + _this.props.onChangeMonth(undefined, initialDateForCalendarRender); + }); + + navigation_defineProperty(navigation_assertThisInitialized(_this), "previousMonthClicked", function () { + _this.props.onChangeMonth(undefined, utilities_date.addMonths(_this.props.initialDateForCalendarRender, -1)); + }); + + navigation_defineProperty(navigation_assertThisInitialized(_this), "nextMonthClicked", function () { + _this.props.onChangeMonth(undefined, utilities_date.addMonths(_this.props.initialDateForCalendarRender, 1)); + }); + + return _this; + } + + navigation_createClass(DatepickerMonthNavigation, [{ + key: "render", + value: function render() { + var _this2 = this; + + return /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: "slds-datepicker__filter slds-grid" + }, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: "slds-datepicker__filter_month slds-grid slds-grid_align-spread slds-grow", + style: { + flex: 1.75 + } + }, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: "slds-align-middle" + }, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(components_button, { + assistiveText: { + icon: this.props.assistiveTextPreviousMonth + }, + iconCategory: "utility", + iconName: "left", + iconVariant: "container", + onKeyDown: this.props.onPreviousMonthKeyDown, + onClick: this.previousMonthClicked, + buttonRef: function buttonRef(component) { + _this2.props.previousMonthRef(component); + }, + variant: "icon", + type: "button" + })), /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("h2", { + id: "".concat(this.props.id, "-month"), + className: "slds-align-middle", + "aria-live": "assertive", + "aria-atomic": true + }, this.getMonthLabel(), ' ', /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("span", { + className: "slds-assistive-text" + }, this.getYearLabel())), /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: "slds-align-middle" + }, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(components_button, { + assistiveText: { + icon: this.props.assistiveTextNextMonth + }, + iconCategory: "utility", + iconName: "right", + iconVariant: "container", + onClick: this.nextMonthClicked, + variant: "icon", + type: "button" + }))), /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(year_picklist, { + assistiveTextYear: this.props.assistiveTextYear, + id: this.props.id, + initialDateForCalendarRender: this.props.initialDateForCalendarRender, + onChangeMonth: this.handleYearSelect, + relativeYearFrom: this.props.relativeYearFrom, + relativeYearTo: this.props.relativeYearTo + })); + } + }]); + + return DatepickerMonthNavigation; +}(external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.Component); + +navigation_defineProperty(navigation_DatepickerMonthNavigation, "displayName", 'SLDSDatepickerMonthNavigation'); + +navigation_defineProperty(navigation_DatepickerMonthNavigation, "propTypes", { + /** + * Label for button to go to the next month + */ + assistiveTextNextMonth: prop_types_default.a.string.isRequired, + + /** + * Label for button to go to the previous month + */ + assistiveTextPreviousMonth: prop_types_default.a.string.isRequired, + + /** + * Label for year picklist/combobox + */ + assistiveTextYear: prop_types_default.a.string.isRequired, + + /** + * HTML id for component + */ + id: prop_types_default.a.string, + + /** + * Date used to create calendar that is displayed. This is typically the initial day focused when using the keyboard navigation. Focus will be set to this date if available. + */ + initialDateForCalendarRender: prop_types_default.a.instanceOf(Date).isRequired, + + /** + * Displayed calendar has changed or re-rendered + */ + onChangeMonth: prop_types_default.a.func.isRequired, + + /** + * Names of the months + */ + monthLabels: prop_types_default.a.array.isRequired, + + /** + * For keyboard navigation. In order to trap focus within the dialog, the first DOM node with a tab index should be listened to. + */ + onPreviousMonthKeyDown: prop_types_default.a.func, + + /** + * Callback that passes in the DOM reference of the `<button>` DOM node within this component. Primary use is to allow `focus` to be called. You should still test if the node exists, since rendering is asynchronous. + */ + previousMonthRef: prop_types_default.a.func.isRequired, + + /** + * Offset of year from current year that can be selected in the year selection dropdown. (2017 - 5 = 2012). + */ + relativeYearFrom: prop_types_default.a.number, + + /** + * Offset of year from current year that can be selected in the year selection dropdown. (2017 + 5 = 2012). + */ + relativeYearTo: prop_types_default.a.number +}); + +/* harmony default export */ var private_navigation = (navigation_DatepickerMonthNavigation); +// CONCATENATED MODULE: ./components/date-picker/private/calendar-wrapper.jsx +function calendar_wrapper_typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { calendar_wrapper_typeof = function _typeof(obj) { return typeof obj; }; } else { calendar_wrapper_typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return calendar_wrapper_typeof(obj); } + +function calendar_wrapper_objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = calendar_wrapper_objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; } + +function calendar_wrapper_objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; } + +function calendar_wrapper_classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function calendar_wrapper_defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function calendar_wrapper_createClass(Constructor, protoProps, staticProps) { if (protoProps) calendar_wrapper_defineProperties(Constructor.prototype, protoProps); if (staticProps) calendar_wrapper_defineProperties(Constructor, staticProps); return Constructor; } + +function calendar_wrapper_inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) calendar_wrapper_setPrototypeOf(subClass, superClass); } + +function calendar_wrapper_setPrototypeOf(o, p) { calendar_wrapper_setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return calendar_wrapper_setPrototypeOf(o, p); } + +function calendar_wrapper_createSuper(Derived) { var hasNativeReflectConstruct = calendar_wrapper_isNativeReflectConstruct(); return function _createSuperInternal() { var Super = calendar_wrapper_getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = calendar_wrapper_getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return calendar_wrapper_possibleConstructorReturn(this, result); }; } + +function calendar_wrapper_possibleConstructorReturn(self, call) { if (call && (calendar_wrapper_typeof(call) === "object" || typeof call === "function")) { return call; } return calendar_wrapper_assertThisInitialized(self); } + +function calendar_wrapper_assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +function calendar_wrapper_isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } } + +function calendar_wrapper_getPrototypeOf(o) { calendar_wrapper_getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return calendar_wrapper_getPrototypeOf(o); } + +function calendar_wrapper_defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */ + +/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */ + + // ### classNames +// [github.com/JedWatson/classnames](https://github.com/JedWatson/classnames) +// This project uses `classnames`, "a simple javascript utility for conditionally +// joining classNames together." + + + + + + + +var calendar_wrapper_DatepickerCalendarWrapper = /*#__PURE__*/function (_React$Component) { + calendar_wrapper_inherits(DatepickerCalendarWrapper, _React$Component); + + var _super = calendar_wrapper_createSuper(DatepickerCalendarWrapper); + + function DatepickerCalendarWrapper() { + var _this; + + calendar_wrapper_classCallCheck(this, DatepickerCalendarWrapper); + + for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { + args[_key] = arguments[_key]; + } + + _this = _super.call.apply(_super, [this].concat(args)); + + calendar_wrapper_defineProperty(calendar_wrapper_assertThisInitialized(_this), "state", { + initialDateForCalendarRender: _this.props.selectedDate + }); + + calendar_wrapper_defineProperty(calendar_wrapper_assertThisInitialized(_this), "handleCalendarBlur", function (event, _ref) { + var direction = _ref.direction; + + if (direction === 'next' && _this.previousMonthRef) { + if (_this.props.onCalendarFocus) { + _this.props.onCalendarFocus(event, { + direction: direction, + ref: _this.previousMonthRef + }); + } + + _this.previousMonthRef.focus(); + } else if (direction === 'previous' && _this.todayRef) { + if (_this.props.onCalendarFocus) { + _this.props.onCalendarFocus(event, { + direction: direction, + ref: _this.todayRef + }); + } + + _this.todayRef.focus(); + } + }); + + calendar_wrapper_defineProperty(calendar_wrapper_assertThisInitialized(_this), "handleFirstFocusableNodeKeyDown", function (event) { + if (event.shiftKey && event.keyCode === key_code.TAB) { + utilities_event.trapEvent(event); + } + }); + + calendar_wrapper_defineProperty(calendar_wrapper_assertThisInitialized(_this), "handleInitialDateForCalendarRenderChange", function (event, initialDateForCalendarRender) { + _this.setState({ + initialDateForCalendarRender: initialDateForCalendarRender + }); + }); + + calendar_wrapper_defineProperty(calendar_wrapper_assertThisInitialized(_this), "handleKeyDown", function (event) { + if (event.keyCode === key_code.ESCAPE) { + utilities_event.trapEvent(event); + + _this.props.onRequestClose(event, {}); + } + }); + + calendar_wrapper_defineProperty(calendar_wrapper_assertThisInitialized(_this), "handleLastFocusableNodeKeyDown", function (event) { + if (!event.shiftKey && event.keyCode === key_code.TAB) { + utilities_event.trapEvent(event); + } + }); + + calendar_wrapper_defineProperty(calendar_wrapper_assertThisInitialized(_this), "handleRequestClose", function (event) { + if (_this.props.onRequestClose) { + _this.props.onRequestClose(event, {}); + } + }); + + calendar_wrapper_defineProperty(calendar_wrapper_assertThisInitialized(_this), "handleRequestFocusDate", function (event, data) { + // will be called three times, due to re-render + if (data.ref && _this.props.canFocusCalendar) { + data.ref.focus(); + } // only call on actual DOM event and not on re-render + + + if (_this.props.onCalendarFocus && data.triggerCallback) { + var triggerCallback = data.triggerCallback, + modifiedData = calendar_wrapper_objectWithoutProperties(data, ["triggerCallback"]); // eslint-disable-line no-unused-vars + + + _this.props.onCalendarFocus(event, modifiedData); + } + }); + + return _this; + } + + calendar_wrapper_createClass(DatepickerCalendarWrapper, [{ + key: "render", + value: function render() { + var _this2 = this; + + return /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + // eslint-disable-line jsx-a11y/no-static-element-interactions + className: classnames_default()({ + 'slds-datepicker': this.props.isolated + }, this.props.className), + "aria-hidden": "false", + "data-selection": "single", + onKeyDown: this.handleKeyDown + }, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(private_navigation, { + assistiveTextNextMonth: this.props.assistiveTextNextMonth, + assistiveTextPreviousMonth: this.props.assistiveTextPreviousMonth, + assistiveTextYear: this.props.assistiveTextYear, + id: this.props.id, + initialDateForCalendarRender: this.state.initialDateForCalendarRender, + monthLabels: this.props.monthLabels, + onChangeMonth: this.handleInitialDateForCalendarRenderChange, + previousMonthRef: function previousMonthRef(component) { + _this2.previousMonthRef = component; + }, + onPreviousMonthKeyDown: this.handleFirstFocusableNodeKeyDown, + relativeYearFrom: this.props.relativeYearFrom, + relativeYearTo: this.props.relativeYearTo + }), /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(calendar, { + abbreviatedWeekDayLabels: this.props.abbreviatedWeekDayLabels, + dateDisabled: this.props.dateDisabled, + id: this.props.id, + initialDateForCalendarRender: this.state.initialDateForCalendarRender, + isIsoWeekday: this.props.isIsoWeekday, + onCalendarBlur: this.handleCalendarBlur, + onChangeMonth: this.handleInitialDateForCalendarRenderChange, + onRequestClose: this.handleRequestClose, + onRequestInternalFocusDate: this.handleRequestFocusDate, + onSelectDate: this.props.onSelectDate, + selectedDate: this.props.selectedDate, + selectedDateRef: this.props.selectedDateRef, + todayLabel: this.props.todayLabel, + todayRef: function todayRef(component) { + _this2.todayRef = component; + }, + onLastFocusableNodeKeyDown: this.handleLastFocusableNodeKeyDown, + weekDayLabels: this.props.weekDayLabels + })); + } + }]); + + return DatepickerCalendarWrapper; +}(external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.Component); + +calendar_wrapper_defineProperty(calendar_wrapper_DatepickerCalendarWrapper, "displayName", 'DatepickerCalendarWrapper'); + +calendar_wrapper_defineProperty(calendar_wrapper_DatepickerCalendarWrapper, "propTypes", { + /** + * Label for button to go to the next month + */ + assistiveTextNextMonth: prop_types_default.a.string.isRequired, + + /** + * Label for button to go to the previous month + */ + assistiveTextPreviousMonth: prop_types_default.a.string.isRequired, + + /** + * Label for year picklist/combobox + */ + assistiveTextYear: prop_types_default.a.string.isRequired, + + /** + * One letter abbreviations of the days of the week, starting on Sunday. + */ + abbreviatedWeekDayLabels: prop_types_default.a.array.isRequired, + + /** + * Whether or not the `CalendarWrapper` can steal focus from the main `Input` + */ + canFocusCalendar: prop_types_default.a.bool.isRequired, + + /** + * CSS classes to be added to tag with `slds-datepicker`. + */ + className: prop_types_default.a.oneOfType([prop_types_default.a.array, prop_types_default.a.object, prop_types_default.a.string]), + + /** + * dateDisabled() takes a date as input argument, returns true if given date should be disabled, otherwise returns false. + */ + dateDisabled: prop_types_default.a.func, + + /** + * HTML id for component + */ + id: prop_types_default.a.string, + + /** + * Makes Monday the first day of the week + */ + isIsoWeekday: prop_types_default.a.bool, + + /** + * For use of datepicker outside of dropdown. + */ + isolated: prop_types_default.a.bool, + + /** + * Names of the months + */ + monthLabels: prop_types_default.a.array.isRequired, + + /** + * Triggered when the keyboard moves focus on the calendar. {date: [Date object], formattedDate: [string]} _Tested with Mocha framework._ + */ + onCalendarFocus: prop_types_default.a.func, + + /** + * Triggered when the calendar is supposed to close. + */ + onRequestClose: prop_types_default.a.func.isRequired, + + /** + * Triggered when a date on the calendar is clicked. + */ + onSelectDate: prop_types_default.a.func.isRequired, + + /** + * The earliest year that can be selected in the year selection dropdown. + */ + relativeYearFrom: prop_types_default.a.number.isRequired, + + /** + * The maximum year that can be selected in the year selection dropdown. + */ + relativeYearTo: prop_types_default.a.number.isRequired, + + /** + * Currently selected date + */ + selectedDate: prop_types_default.a.instanceOf(Date), + + /** + * Component reference / DOM node for selected day. + */ + selectedDateRef: prop_types_default.a.func, + + /** + * Label of shortcut to jump to today within the calendar. Also used for assistive text for the current day. + */ + todayLabel: prop_types_default.a.string.isRequired, + + /** + * Names of the seven days of the week, starting on Sunday. + */ + weekDayLabels: prop_types_default.a.array.isRequired +}); + +calendar_wrapper_defineProperty(calendar_wrapper_DatepickerCalendarWrapper, "defaultProps", { + selectedDate: new Date(), + value: new Date() +}); + +/* harmony default export */ var calendar_wrapper = (calendar_wrapper_DatepickerCalendarWrapper); +// CONCATENATED MODULE: ./components/date-picker/check-props.js +/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */ + +/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */ + +/* eslint-disable import/no-mutable-exports */ + +/* eslint-disable max-len */ + + + +var date_picker_check_props_checkProps = function checkPropsFunction() {}; + +if (false) {} + +/* harmony default export */ var date_picker_check_props = (date_picker_check_props_checkProps); +// EXTERNAL MODULE: ./components/date-picker/component.json +var date_picker_component = __webpack_require__(48); + +// CONCATENATED MODULE: ./components/date-picker/date-picker.jsx +function date_picker_typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { date_picker_typeof = function _typeof(obj) { return typeof obj; }; } else { date_picker_typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return date_picker_typeof(obj); } + +function date_picker_ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; } + +function date_picker_objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { date_picker_ownKeys(Object(source), true).forEach(function (key) { date_picker_defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { date_picker_ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; } + +function date_picker_classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function date_picker_defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function date_picker_createClass(Constructor, protoProps, staticProps) { if (protoProps) date_picker_defineProperties(Constructor.prototype, protoProps); if (staticProps) date_picker_defineProperties(Constructor, staticProps); return Constructor; } + +function date_picker_inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) date_picker_setPrototypeOf(subClass, superClass); } + +function date_picker_setPrototypeOf(o, p) { date_picker_setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return date_picker_setPrototypeOf(o, p); } + +function date_picker_createSuper(Derived) { var hasNativeReflectConstruct = date_picker_isNativeReflectConstruct(); return function _createSuperInternal() { var Super = date_picker_getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = date_picker_getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return date_picker_possibleConstructorReturn(this, result); }; } + +function date_picker_possibleConstructorReturn(self, call) { if (call && (date_picker_typeof(call) === "object" || typeof call === "function")) { return call; } return date_picker_assertThisInitialized(self); } + +function date_picker_assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +function date_picker_isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } } + +function date_picker_getPrototypeOf(o) { date_picker_getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return date_picker_getPrototypeOf(o); } + +function date_picker_defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +/* eslint-disable max-lines */ + +/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */ + +/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */ + + + // ### classNames +// [github.com/JedWatson/classnames](https://github.com/JedWatson/classnames) +// This project uses `classnames`, "a simple javascript utility for conditionally +// joining classNames together." + + // ### shortid +// [npmjs.com/package/shortid](https://www.npmjs.com/package/shortid) +// shortid is a short, non-sequential, url-friendly, unique id generator + + + + + + // This component's `checkProps` which issues warnings to developers about properties +// when in development mode (similar to React's built in development tools) + + + + + + + +var date_picker_propTypes = { + /** + * **Assistive text for accessibility** + * This object is merged with the default props object on every render. + * * `nextMonth`: Label for button to go to the next month _Tested with snapshot testing._ + * * `openCalendar`: Call to action label for calendar dialog trigger _Tested with snapshot testing._ + * * `previousMonth`: Label for button to go to the previous month _Tested with snapshot testing._ + */ + assistiveText: prop_types_default.a.shape({ + nextMonth: prop_types_default.a.string, + openCalendar: prop_types_default.a.string, + previousMonth: prop_types_default.a.string, + year: prop_types_default.a.string + }), + + /** + * Aligns the right or left side of the menu with the respective side of the trigger. _Tested with snapshot testing._ + */ + align: prop_types_default.a.oneOf(['left', 'right']), + + /** + * CSS classes to be added to tag with `slds-datepicker`. If you are looking for the outer DOM node (slds-dropdown-trigger), please review `triggerClassName`. _Tested with snapshot testing._ + */ + className: prop_types_default.a.oneOfType([prop_types_default.a.array, prop_types_default.a.object, prop_types_default.a.string]), + + /** + * Disable input and calendar. _Tested with Mocha framework._ + */ + disabled: prop_types_default.a.bool, + + /** + * This function callback receives a data object with a key of `date`. Write your own validation and return `true` if the date should be disabled, otherwise please return `false`. The value of `date` is the day rendered in the calendar with the current local time and timezone. + */ + dateDisabled: prop_types_default.a.func, + + /** + * Date formatting function that formats the `value` prop (`value` is an ECMAScript `Date()` object) and returns a string to be rendered as the `input` value. Please use an external library such as [MomentJS](https://github.com/moment/moment/) for date formatting and internationalization. _Tested with snapshot testing._ + * The default `formatter` function is: + * ``` + * formatter(date) { + * return date + * ? `${date.getMonth() + 1}/${date.getDate()}/${date.getFullYear()}` + * : ''; + * } + * ``` + */ + formatter: prop_types_default.a.func, + + /** + * Value of input that gets passed to `parser` prop on initial render. This prop is only present for uncontrolled use of Datepicker which is _highly discouraged_. A better name for this prop would be `defaultFormatedValue`. Please use the `value` prop instead. _Not tested._ + */ + formattedValue: prop_types_default.a.string, + + /** + * Prevents the dropdown from changing position based on the viewport/window. If set to true your dropdowns can extend outside the viewport _and_ overflow outside of a scrolling parent. If this happens, you might want to consider making the dropdowns contents scrollable to fit the menu on the screen. `hasStaticAlignment` disables this behavior and allows this component to extend beyond boundary elements. _Not tested._ + */ + hasStaticAlignment: prop_types_default.a.bool, + + /** + * HTML id for component _Tested with snapshot testing._ + */ + id: prop_types_default.a.string, + + /** + * **Text labels for internationalization** + * This object is merged with the default props object on every render. + * * `abbreviatedWeekDays`: Three letter abbreviations of the days of the week, starting on Sunday. _Tested with snapshot testing._ + * * `months`: Names of the months. _Tested with snapshot testing._ + * * `label`: This label appears above the input. + * * `placeholder`: Placeholder text for input. _Tested with snapshot testing._ + * * `today`: Label of shortcut to jump to today within the calendar. This is also used for assistive text on today's date. _Tested with snapshot testing._ + * * `weekDays`: Full names of the seven days of the week, starting on Sunday. _Tested with snapshot testing._ + */ + labels: prop_types_default.a.shape({ + abbreviatedWeekDays: prop_types_default.a.array, + label: prop_types_default.a.string, + months: prop_types_default.a.array, + placeholder: prop_types_default.a.string, + today: prop_types_default.a.string, + weekDays: prop_types_default.a.array + }), + + /** + * An [Input](http://react.lightningdesignsystem.com/components/inputs/) component. The props from this `Input` component will be merged and override any default props. See [Component composition with prop spread](https://github.com/salesforce/design-system-react/blob/master/docs/codebase-overview.md#component-composition-with-prop-spread) for more information on this methodology. + */ + input: prop_types_default.a.node, + + /** + * Forces the dropdown to be open or closed. See controlled/uncontrolled callback/prop pattern for more on suggested use view [Concepts and Best Practices](https://github.com/salesforce-ux/design-system-react/blob/master/CONTRIBUTING.md#concepts-and-best-practices) + */ + isOpen: prop_types_default.a.bool, + + /** + * Makes Monday the first day of the week. _Tested with snapshot testing._ + */ + isIsoWeekday: prop_types_default.a.bool, + + /** + * Please select one of the following: + * * `absolute` - (default) The dialog will use `position: absolute` and style attributes to position itself. This allows inverted placement or flipping of the dialog. + * * `overflowBoundaryElement` - The dialog will overflow scrolling parents. Use on elements that are aligned to the left or right of their target and don't care about the target being within a scrolling parent. Typically this is a popover or tooltip. Dropdown menus can usually open up and down if no room exists. In order to achieve this a portal element will be created and attached to `body`. This element will render into that detached render tree. + * * `relative` - No styling or portals will be used. Menus will be positioned relative to their triggers. This is a great choice for HTML snapshot testing. + */ + menuPosition: prop_types_default.a.oneOf(['absolute', 'overflowBoundaryElement', 'relative']), + + /** + * Triggered when the user wants to focus on a new day with the keyboard. If the target node is a day it will return the keyboard event a data object with the shape: `{date: [Date object]}`. Event will be `null` when new month is re-rendered. _Tested with Mocha framework._ + */ + onCalendarFocus: prop_types_default.a.func, + + /** + * Triggered when the date changes. `onChange` can be used for form validation if needed. It receives an event and a data object in the shape: `{date: [Date object], formattedDate: [string], timezoneOffset: [number]}`. `data.date` is Coordinated Universal Time (UTC), but the days of the calendar are in local time of the user. The `timezoneOffset` is the difference, in minutes, between UTC and the local time. Please note that this means that the offset is positive if the local timezone is behind UTC and negative if it is ahead. `timezoneOffset` is in minutes, for hours divide by `60`. _Tested with Mocha framework._ + */ + onChange: prop_types_default.a.func, + + /** + * Triggered when the calendar is closed. _Tested with Mocha framework._ + */ + onClose: prop_types_default.a.func, + + /** + * Triggered when the calendar has opened. _Tested with Mocha framework._ + */ + onOpen: prop_types_default.a.func, + + /** + * Function called when the calendar dialog would like hide. This will turn the calendar dialog into into a controlled component. Please use with `isOpen`. _Tested with Mocha framework._ + */ + onRequestClose: prop_types_default.a.func, + + /** + * Function called when the calendar dialog would like show. This will turn the calendar dialog into into a controlled component. Please use with `isOpen`. _Tested with Mocha framework._ + */ + onRequestOpen: prop_types_default.a.func, + + /** + * Custom function to parse date string from the `input` value, which must return an ECMAScript `Date()` object. Please use an external library such as [MomentJS](https://github.com/moment/moment/) for date parsing and internationalization. The default `parser` passes the input value to ECMAScript `Date()` and _prays_ for a miracle. **Do not use the default parsing function in production.** _Tested with snapshot testing._ + * The default `parser function is: + * ``` + * parser(str) { + * return new Date(str); + * } + * ``` + */ + parser: prop_types_default.a.func, + + /** + * Offset of year from current year that can be selected in the year selection dropdown. (2017 - 5 = 2012). _Tested with snapshot testing._ + */ + relativeYearFrom: prop_types_default.a.number, + + /** + * Offset of year from current year that can be selected in the year selection dropdown. (2017 + 5 = 2012). _Tested with snapshot testing._ + */ + relativeYearTo: prop_types_default.a.number, + + /** + * CSS classes to be added to tag with `slds-datepicker-trigger`. This is typically a wrapping `div` around the input. _Tested with snapshot testing._ + */ + triggerClassName: prop_types_default.a.oneOfType([prop_types_default.a.array, prop_types_default.a.object, prop_types_default.a.string]), + + /** + * Sets date with a `Date` ECMAScript object. _Tested with snapshot testing._ + */ + value: prop_types_default.a.instanceOf(Date) +}; +var date_picker_defaultProps = { + align: 'left', + assistiveText: { + nextMonth: 'Next month', + openCalendar: 'Open Calendar', + previousMonth: 'Previous month', + year: 'Year' + }, + formatter: function formatter(date) { + return date ? "".concat(date.getMonth() + 1, "/").concat(date.getDate(), "/").concat(date.getFullYear()) : ''; + }, + labels: { + abbreviatedWeekDays: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'], + months: ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'], + placeholder: 'Pick a Date', + today: 'Today', + weekDays: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'] + }, + menuPosition: 'absolute', + parser: function parser(str) { + low_priority_warning(false, "Please use an external library for date parsing and internationalization like MomentJS (https://github.com/moment/moment/) instead of the default parser."); + return new Date(str); + }, + relativeYearFrom: -10, + relativeYearTo: 10, + dateDisabled: function dateDisabled() { + return false; + } +}; +/** + * A date picker is a non-text input form element. You can select a single date from a popup calendar. Please use an external library such as [MomentJS](https://github.com/moment/moment/) for date formatting and parsing and internationalization. You will want to use your date library within the `parser` and `formatter` callbacks. + * + * The calendar is rendered with time/dates based on local browser time of the client browser. All dates are in the local user's timezones and time. Another way to put it is if a user selects a date, they are actually selecting midnight in their current time on their current day and not mightnight in UTC. If `Datepicker` is paired with a time and timezone input, you may want to convert dates provided by this component to UTC and then combine the date with your time and timezone input. + * + * Pairing with any other component besides an `input` is untested. + * + * This component is wrapped in a [higher order component to listen for clicks outside itself](https://github.com/kentor/react-click-outside) and thus requires use of `ReactDOM`. + */ + +var date_picker_Datepicker = /*#__PURE__*/function (_React$Component) { + date_picker_inherits(Datepicker, _React$Component); + + var _super = date_picker_createSuper(Datepicker); + + function Datepicker(props) { + var _this; + + date_picker_classCallCheck(this, Datepicker); + + _this = _super.call(this, props); // Please remove `strValue` on the next breaking change. + + date_picker_defineProperty(date_picker_assertThisInitialized(_this), "getDatePicker", function (_ref) { + var labels = _ref.labels, + assistiveText = _ref.assistiveText; + var date; // Use props if present. Otherwise, use state. + + if (_this.props.value) { + date = _this.props.formatter(_this.props.value) ? _this.parseDate(_this.props.formatter(_this.props.value)) : _this.props.value; + } else { + date = _this.state.formattedValue ? _this.parseDate(_this.state.formattedValue) : _this.state.value; + } + + return /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(calendar_wrapper // Please remove `abbrWeekDayLabels` on the next breaking change. + , { + abbreviatedWeekDayLabels: _this.props.abbreviatedWeekDayLabels || // eslint-disable-line react/prop-types + _this.props.abbrWeekDayLabels || // eslint-disable-line react/prop-types + labels.abbreviatedWeekDays + /* Remove || for assistiveText at next breaking change */ + , + assistiveTextNextMonth: _this.props.assistiveTextNextMonth || assistiveText.nextMonth // eslint-disable-line react/prop-types + , + assistiveTextPreviousMonth: _this.props.assistiveTextPreviousMonth || assistiveText.previousMonth // eslint-disable-line react/prop-types + , + assistiveTextYear: assistiveText.year, + canFocusCalendar: _this.state.isOpenFromIcon, + id: _this.getId(), + isIsoWeekday: _this.props.isIsoWeekday, + monthLabels: _this.props.monthLabels || labels.months // eslint-disable-line react/prop-types + , + onCalendarFocus: _this.props.onCalendarFocus, + dateDisabled: _this.props.dateDisabled, + onRequestClose: _this.handleRequestClose, + onSelectDate: _this.handleCalendarChange, + relativeYearFrom: _this.props.relativeYearFrom, + relativeYearTo: _this.props.relativeYearTo, + selectedDate: date || new Date(), + selectedDateRef: function selectedDateRef(component) { + _this.selectedDateCell = component; + }, + todayLabel: _this.props.todayLabel || labels.today // eslint-disable-line react/prop-types + , + weekDayLabels: _this.props.weekDayLabels || labels.weekDays // eslint-disable-line react/prop-types + + }); + }); + + date_picker_defineProperty(date_picker_assertThisInitialized(_this), "getDialog", function (_ref2) { + var labels = _ref2.labels, + assistiveText = _ref2.assistiveText; + // FOR BACKWARDS COMPATIBILITY + var menuPosition = _this.props.isInline ? 'relative' : _this.props.menuPosition; // eslint-disable-line react/prop-types + // SLDS override + + var style = _this.props.menuPosition !== 'relative' ? { + transform: 'none' + } : {}; + return !_this.props.disabled && _this.getIsOpen() ? /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(dialog, { + align: "bottom ".concat(_this.props.align), + contentsClassName: classnames_default()('slds-datepicker slds-dropdown', { + 'slds-dropdown_right': _this.props.menuPosition === 'relative' && _this.props.align === 'right', + 'slds-dropdown_left': _this.props.menuPosition === 'relative' && _this.props.align === 'left' + }, _this.props.className), + context: _this.context, + hasStaticAlignment: _this.props.hasStaticAlignment, + style: style, + onClose: _this.handleClose, + onOpen: _this.handleOpen, + onRequestTargetElement: function onRequestTargetElement() { + return _this.inputRef; + }, + position: menuPosition, + portalMount: _this.props.portalMount + }, _this.getDatePicker({ + labels: labels, + assistiveText: assistiveText + })) : null; + }); + + date_picker_defineProperty(date_picker_assertThisInitialized(_this), "getId", function () { + return _this.props.id || _this.generatedId; + }); + + date_picker_defineProperty(date_picker_assertThisInitialized(_this), "getIsOpen", function () { + return !!(typeof _this.props.isOpen === 'boolean' ? _this.props.isOpen : _this.state.isOpen); + }); + + date_picker_defineProperty(date_picker_assertThisInitialized(_this), "getInputProps", function (_ref3) { + var assistiveText = _ref3.assistiveText, + labels = _ref3.labels; + + /** + * 1. DEFAULT: Use default props or state if present. + * 2. DEPRECATED API: Use old "first-level" props that have been deprecated. + * 3. DEPRECATED API: If `children` is present, use props from single child which should be an `<Input/>` + * 4. CURRENT API: Use composition with props spread merge from `input` prop. + * */ + var defaultInputProps = { + iconRight: /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(input_icon // Remove || for assistiveText at next breaking change + , { + assistiveText: { + icon: _this.props.assistiveTextOpenCalendar || assistiveText.openCalendar // eslint-disable-line react/prop-types + + }, + "aria-haspopup": true, + "aria-expanded": _this.getIsOpen(), + category: "utility", + name: "event", + onClick: function onClick() { + _this.openDialogFromIcon(); + }, + type: "button" + }), + inputRef: function inputRef(component) { + _this.setInputRef(component); + }, + id: _this.getId(), + onChange: _this.handleInputChange, + onClick: function onClick() { + _this.openDialog(); + }, + onKeyDown: _this.handleKeyDown, + value: _this.props.value ? _this.props.formatter(_this.props.value) : _this.state.inputValue + }; // eslint-disable react/prop-types + + var topLevelDeprecatedComponentProps = { + disabled: _this.props.disabled, + label: _this.props.label || labels.label, + onBlur: _this.props.onBlur, + onFocus: _this.props.onFocus, + placeholder: _this.props.placeholder || labels.placeholder, + required: _this.props.required + }; // eslint-enable react/prop-types + + var childrenProps = _this.props.children && _this.props.children.props; + + var childrenPropInputProps = date_picker_objectSpread(date_picker_objectSpread({}, childrenProps), {}, { + onClick: function onClick() { + _this.openDialog(); + + if (childrenProps && childrenProps.onClick) { + childrenProps.onClick(); + } + } + }); + + var inputRenderProps = _this.props.input && _this.props.input.props; + return date_picker_objectSpread(date_picker_objectSpread(date_picker_objectSpread(date_picker_objectSpread({}, defaultInputProps), topLevelDeprecatedComponentProps), childrenPropInputProps), inputRenderProps); + }); + + date_picker_defineProperty(date_picker_assertThisInitialized(_this), "setInputRef", function (component) { + _this.inputRef = component; // yes, this is a re-render triggered by a render. + // Dialog/Popper.js cannot place the popover until + // the trigger/target DOM node is mounted. This + // way `findDOMNode` is not called and parent + // DOM nodes are not queried. + + if (!_this.state.inputRendered) { + _this.setState({ + inputRendered: true + }); + } + }); + + date_picker_defineProperty(date_picker_assertThisInitialized(_this), "handleCalendarChange", function (event, _ref4) { + var date = _ref4.date; + + if (!_this.props.value) { + _this.setState({ + value: date, + formattedValue: _this.props.formatter(date), + inputValue: _this.props.formatter(date) + }); + } + + _this.handleRequestClose(); + + if (_this.props.onChange) { + _this.props.onChange(event, { + date: date, + formattedDate: _this.props.formatter(date), + timezoneOffset: date.getTimezoneOffset() + }); + } // Please remove `onDateChange` on the next breaking change. + + /* eslint-disable react/prop-types */ + + + if (_this.props.onDateChange) { + _this.props.onDateChange(date, _this.props.formatter(date)); + } + /* eslint-enable react/prop-types */ + + }); + + date_picker_defineProperty(date_picker_assertThisInitialized(_this), "handleClickOutside", function () { + _this.handleRequestClose(); + }); + + date_picker_defineProperty(date_picker_assertThisInitialized(_this), "handleClose", function () { + if (_this.props.onClose) { + _this.props.onClose(); + } + }); + + date_picker_defineProperty(date_picker_assertThisInitialized(_this), "handleInputChange", function (event) { + // Typing in the input closes the calendar when it's used as an uncontrolled component + if (typeof _this.props.isOpen !== 'boolean' && _this.state.isOpen) { + _this.setState({ + isOpen: false + }); + } + + _this.setState({ + formattedValue: event.target.value, + inputValue: event.target.value + }); + + var date = _this.props.parser(event.target.value); + + if (_this.props.onChange) { + _this.props.onChange(event, { + date: date, + formattedDate: event.target.value, + timezoneOffset: date.getTimezoneOffset() + }); + } + }); + + date_picker_defineProperty(date_picker_assertThisInitialized(_this), "handleKeyDown", function (event) { + // Don't open if user is selecting text + if (event.keyCode && !event.shiftKey && (event.keyCode === key_code.DOWN || event.keyCode === key_code.UP)) { + utilities_event.trapEvent(event); + + _this.setState({ + isOpen: true + }); + } + + if (event.keyCode === key_code.ESCAPE || event.keyCode === key_code.ENTER) { + utilities_event.trapEvent(event); + + _this.setState({ + isOpen: false + }); + } // Please remove `onKeyDown` on the next breaking change. + + /* eslint-disable react/prop-types */ + + + if (_this.props.onKeyDown) { + _this.props.onKeyDown(event, {}); + } + /* eslint-enable react/prop-types */ + + }); + + date_picker_defineProperty(date_picker_assertThisInitialized(_this), "handleOpen", function (event, _ref5) { + var portal = _ref5.portal; + + if (_this.props.onOpen) { + _this.props.onOpen(event, { + portal: portal + }); + } + + if (_this.selectedDateCell && _this.state.isOpenFromIcon) { + _this.selectedDateCell.focus(); + } + }); + + date_picker_defineProperty(date_picker_assertThisInitialized(_this), "handleRequestClose", function () { + if (_this.props.onRequestClose) { + _this.props.onRequestClose(); + } + + if (_this.getIsOpen()) { + _this.setState({ + isOpen: false, + isOpenFromIcon: false + }); + + if (_this.inputRef) { + _this.inputRef.focus(); + } + } + }); + + date_picker_defineProperty(date_picker_assertThisInitialized(_this), "openDialogFromIcon", function () { + _this.setState({ + isOpenFromIcon: true + }); + + _this.openDialog(true); + }); + + date_picker_defineProperty(date_picker_assertThisInitialized(_this), "openDialog", function () { + var isRequestFromIcon = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false; + + if (!isRequestFromIcon) { + _this.setState({ + isOpenFromIcon: false + }); + } + + if (_this.props.onRequestOpen) { + _this.props.onRequestOpen(); + } else { + _this.setState({ + isOpen: true + }); + } + }); + + date_picker_defineProperty(date_picker_assertThisInitialized(_this), "parseDate", function (formattedValue) { + var parsedDate = _this.props.parser(formattedValue); + + if (Object.prototype.toString.call(parsedDate) !== '[object Date]' || isNaN(parsedDate.getTime())) { + parsedDate = new Date(); + } + + return parsedDate; + }); + + var _formattedValue = props.formattedValue || props.strValue; // eslint-disable-line react/prop-types + + + var dateString = props.formatter(props.value); + var initDate = props.value ? dateString : _formattedValue; + _this.state = { + isOpen: false, + isOpenFromIcon: false, + value: props.value, + formattedValue: initDate || '', + inputValue: initDate || '' + }; + _this.generatedId = shortid_default.a.generate(); // `checkProps` issues warnings to developers about properties (similar to React's built in development tools) + + date_picker_check_props(DATE_PICKER, props, date_picker_component); + return _this; + } + + date_picker_createClass(Datepicker, [{ + key: "render", + value: function render() { + // Merge objects of strings with their default object + var labels = lodash_assign_default()({}, date_picker_defaultProps.labels, this.props.labels); + var assistiveText = lodash_assign_default()({}, date_picker_defaultProps.assistiveText, this.props.assistiveText); + var inputProps = this.getInputProps({ + assistiveText: assistiveText, + labels: labels + }); // `children` prop is a deprecated API. Future breaking change should limit Datepicker to only `Input` usage and not a random child node. + + var inputToRender = this.props.children ? /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.cloneElement(this.props.children, date_picker_objectSpread({}, inputProps)) : /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(input, inputProps); + return /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: classnames_default()('slds-dropdown-trigger', 'slds-dropdown-trigger_click', 'ignore-react-onclickoutside', { + 'slds-is-open': this.getIsOpen() + }, this.props.triggerClassName) + }, inputToRender, this.getDialog({ + labels: labels, + assistiveText: assistiveText + })); + } + }]); + + return Datepicker; +}(external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.Component); + +date_picker_Datepicker.contextTypes = { + iconPath: prop_types_default.a.string +}; +date_picker_Datepicker.displayName = DATE_PICKER; +date_picker_Datepicker.propTypes = date_picker_propTypes; +date_picker_Datepicker.defaultProps = date_picker_defaultProps; +/* harmony default export */ var date_picker = (date_picker_Datepicker); +// CONCATENATED MODULE: ./components/date-picker/index.jsx +/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */ + +/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */ +// ### onClickOutside +// Listen for clicks that occur somewhere in the document, outside of the element itself + + +/* harmony default export */ var components_date_picker = (react_onclickoutside_es(date_picker)); +// CONCATENATED MODULE: ./components/dynamic-icon/index.jsx +function dynamic_icon_typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { dynamic_icon_typeof = function _typeof(obj) { return typeof obj; }; } else { dynamic_icon_typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return dynamic_icon_typeof(obj); } + +function dynamic_icon_toConsumableArray(arr) { return dynamic_icon_arrayWithoutHoles(arr) || dynamic_icon_iterableToArray(arr) || dynamic_icon_unsupportedIterableToArray(arr) || dynamic_icon_nonIterableSpread(); } + +function dynamic_icon_nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } + +function dynamic_icon_unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return dynamic_icon_arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return dynamic_icon_arrayLikeToArray(o, minLen); } + +function dynamic_icon_iterableToArray(iter) { if (typeof Symbol !== "undefined" && Symbol.iterator in Object(iter)) return Array.from(iter); } + +function dynamic_icon_arrayWithoutHoles(arr) { if (Array.isArray(arr)) return dynamic_icon_arrayLikeToArray(arr); } + +function dynamic_icon_arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; } + +function dynamic_icon_classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function dynamic_icon_defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function dynamic_icon_createClass(Constructor, protoProps, staticProps) { if (protoProps) dynamic_icon_defineProperties(Constructor.prototype, protoProps); if (staticProps) dynamic_icon_defineProperties(Constructor, staticProps); return Constructor; } + +function dynamic_icon_inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) dynamic_icon_setPrototypeOf(subClass, superClass); } + +function dynamic_icon_setPrototypeOf(o, p) { dynamic_icon_setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return dynamic_icon_setPrototypeOf(o, p); } + +function dynamic_icon_createSuper(Derived) { var hasNativeReflectConstruct = dynamic_icon_isNativeReflectConstruct(); return function _createSuperInternal() { var Super = dynamic_icon_getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = dynamic_icon_getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return dynamic_icon_possibleConstructorReturn(this, result); }; } + +function dynamic_icon_possibleConstructorReturn(self, call) { if (call && (dynamic_icon_typeof(call) === "object" || typeof call === "function")) { return call; } return dynamic_icon_assertThisInitialized(self); } + +function dynamic_icon_assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +function dynamic_icon_isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } } + +function dynamic_icon_getPrototypeOf(o) { dynamic_icon_getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return dynamic_icon_getPrototypeOf(o); } + +/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */ + +/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */ +// # Dynamic Icons Component +// Implements the [Dynamic Icons design pattern](https://www.lightningdesignsystem.com/components/dynamic-icons/) in React. + + + + // PropTypes for the component + +var dynamic_icon_propTypes = { + /** + * **Assistive text for accessibility** + * * `label`: Used as a visually hidden label to describe the dynamic icon. + */ + assistiveText: prop_types_default.a.shape({ + label: prop_types_default.a.string + }), + + /** + * CSS class names to be added to the icon. + */ + className: prop_types_default.a.oneOfType([prop_types_default.a.array, prop_types_default.a.object, prop_types_default.a.string]), + + /** + * Pauses the icon animation if the value is true. + */ + isPaused: prop_types_default.a.bool, + + /** + * Disables icon animation if set to true + */ + isStatic: prop_types_default.a.bool, + + /** + * Polarity values for the 'score' variant. Defaults to 'positive' + */ + scorePolarity: prop_types_default.a.oneOf(['positive', 'negative']), + + /** + * Range of strength values for the 'strength' variant. Defaults to '0'. + */ + strengthLevel: prop_types_default.a.oneOf(['-3', '-2', '-1', '0', '1', '2', '3', -3, -2, -1, 0, 1, 2, 3]), + + /** + * HTML title attribute. + */ + title: prop_types_default.a.string.isRequired, + + /** + * Signals direction for the 'trend' variant. The default value 'neutral' points to the east. + */ + trendDirection: prop_types_default.a.oneOf(['down', 'up', 'neutral']), + + /** + * Different types of dynamic icons. Possible variants: + * + * `ellie` - Displays a pulsing blue circle, which pulses and stops after one animation cycle. + * `eq` - Displays an animated graph with three bars that rise and fall randomly. + * `score` - Displays a green filled circle or a red unfilled circle. + * `strength` - Displays three animated horizontal circles that are colored green or red. + * `trend` - Displays animated arrows that point up, down, or straight. + * `waffle` - Displays a 3x3 grid of dots that animates on hover. + */ + variant: prop_types_default.a.oneOf(['ellie', 'eq', 'score', 'strength', 'trend', 'typing', 'waffle']).isRequired +}; +/** + * A set of delightful animated icons. + */ + +var dynamic_icon_DynamicIcon = /*#__PURE__*/function (_React$Component) { + dynamic_icon_inherits(DynamicIcon, _React$Component); + + var _super = dynamic_icon_createSuper(DynamicIcon); + + function DynamicIcon() { + dynamic_icon_classCallCheck(this, DynamicIcon); + + return _super.apply(this, arguments); + } + + dynamic_icon_createClass(DynamicIcon, [{ + key: "getIconChildren", + value: function getIconChildren() { + var children = []; + var defaultAssistiveText = this.props.title ? this.props.title : "".concat(this.props.variant.charAt(0).toUpperCase()).concat(this.props.variant.slice(1)); + + if (this.props.variant === 'ellie') { + children = [/*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("svg", { + viewBox: "0 0 280 14", + "aria-hidden": "true" + }, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("circle", { + cx: "7", + cy: "7", + r: "4" + }), /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("circle", { + cx: "7", + cy: "7", + r: "3" + }), /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("circle", { + cx: "21", + cy: "7", + r: "4" + }), /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("circle", { + cx: "21", + cy: "7", + r: "3" + }), /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("circle", { + cx: "35", + cy: "7", + r: "4" + }), /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("circle", { + cx: "35", + cy: "7", + r: "3" + }), /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("circle", { + cx: "49", + cy: "7", + r: "4" + }), /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("circle", { + cx: "49", + cy: "7", + r: "3" + }), /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("circle", { + cx: "63", + cy: "7", + r: "4" + }), /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("circle", { + cx: "63", + cy: "7", + r: "3" + }), /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("circle", { + cx: "77", + cy: "7", + r: "4" + }), /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("circle", { + cx: "77", + cy: "7", + r: "3" + }), /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("circle", { + cx: "91", + cy: "7", + r: "4" + }), /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("circle", { + cx: "91", + cy: "7", + r: "3" + }), /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("circle", { + cx: "105", + cy: "7", + r: "4" + }), /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("circle", { + cx: "105", + cy: "7", + r: "3" + }), /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("circle", { + cx: "119", + cy: "7", + r: "4" + }), /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("circle", { + cx: "119", + cy: "7", + r: "3" + }), /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("circle", { + cx: "133", + cy: "7", + r: "4" + }), /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("circle", { + cx: "133", + cy: "7", + r: "3" + }), /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("circle", { + cx: "147", + cy: "7", + r: "4" + }), /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("circle", { + cx: "147", + cy: "7", + r: "3" + }), /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("circle", { + cx: "161", + cy: "7", + r: "4" + }), /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("circle", { + cx: "161", + cy: "7", + r: "3" + }), /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("circle", { + cx: "175", + cy: "7", + r: "4" + }), /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("circle", { + cx: "175", + cy: "7", + r: "3" + }), /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("circle", { + cx: "189", + cy: "7", + r: "4" + }), /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("circle", { + cx: "189", + cy: "7", + r: "3" + }), /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("circle", { + cx: "203", + cy: "7", + r: "4" + }), /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("circle", { + cx: "203", + cy: "7", + r: "3" + }), /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("circle", { + cx: "217", + cy: "7", + r: "4" + }), /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("circle", { + cx: "217", + cy: "7", + r: "3" + }), /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("circle", { + cx: "231", + cy: "7", + r: "4" + }), /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("circle", { + cx: "231", + cy: "7", + r: "3" + }), /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("circle", { + cx: "245", + cy: "7", + r: "4" + }), /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("circle", { + cx: "245", + cy: "7", + r: "3" + }), /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("circle", { + cx: "259", + cy: "7", + r: "4" + }), /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("circle", { + cx: "259", + cy: "7", + r: "3" + }), /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("circle", { + cx: "273", + cy: "7", + r: "4" + }), /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("circle", { + cx: "273", + cy: "7", + r: "3" + }))]; + } else if (this.props.variant === 'eq') { + children = [/*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: "slds-icon-eq__bar" + }), /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: "slds-icon-eq__bar" + }), /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: "slds-icon-eq__bar" + })]; + } else if (this.props.variant === 'score') { + children = [/*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("svg", { + viewBox: "0 0 5 5", + className: "slds-icon-score__positive", + "aria-hidden": "true" + }, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("circle", { + cx: "50%", + cy: "50%", + r: "1.875" + })), /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("svg", { + viewBox: "0 0 5 5", + className: "slds-icon-score__negative", + "aria-hidden": "true" + }, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("circle", { + cx: "50%", + cy: "50%", + r: "1.875" + }))]; + } else if (this.props.variant === 'strength') { + children = [/*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("svg", { + viewBox: "0 0 27 7", + "aria-hidden": "true" + }, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("circle", { + r: "3.025", + cx: "3.5", + cy: "3.5" + }), /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("circle", { + r: "3.025", + cx: "13.5", + cy: "3.5" + }), /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("circle", { + r: "3.025", + cx: "23.5", + cy: "3.5" + }))]; + } else if (this.props.variant === 'trend') { + children = [/*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("svg", { + viewBox: "0 0 16 16", + "aria-hidden": "true" + }, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("path", { + className: "slds-icon-trend__arrow", + d: "M.75 8H11M8 4.5L11.5 8 8 11.5" + }), /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("circle", { + className: "slds-icon-trend__circle", + cy: "8", + cx: "8", + r: "7.375", + transform: "rotate(-28 8 8) scale(-1 1) translate(-16 0)" + }))]; + } else if (this.props.variant === 'typing') { + children = [/*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("span", { + className: "slds-icon-typing__dot" + }), /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("span", { + className: "slds-icon-typing__dot" + }), /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("span", { + className: "slds-icon-typing__dot" + })]; + + if (!this.props.title) { + defaultAssistiveText = 'User is typing'; + } + } else if (this.props.variant === 'waffle') { + children = [/*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("span", { + className: "slds-icon-waffle" + }, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("span", { + className: "slds-r1" + }), /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("span", { + className: "slds-r2" + }), /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("span", { + className: "slds-r3" + }), /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("span", { + className: "slds-r4" + }), /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("span", { + className: "slds-r5" + }), /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("span", { + className: "slds-r6" + }), /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("span", { + className: "slds-r7" + }), /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("span", { + className: "slds-r8" + }), /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("span", { + className: "slds-r9" + }))]; + + if (!this.props.title) { + defaultAssistiveText = 'Open App Launcher'; + } + } // eslint-disable-next-line fp/no-mutating-methods + + + children.push( /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("span", { + className: "slds-assistive-text" + }, this.props.assistiveText && this.props.assistiveText.label ? this.props.assistiveText.label : defaultAssistiveText)); + return children; + } + }, { + key: "render", + value: function render() { + var children = this.getIconChildren(); + var classes = [{ + 'slds-is-animated': !this.props.isStatic, + 'slds-is-paused': this.props.isPaused + }]; + var iconProps = { + title: this.props.title + }; + var element = 'span'; + + if (this.props.variant === 'waffle') { + // eslint-disable-next-line fp/no-mutating-methods + classes.unshift('slds-button', 'slds-icon-waffle_container'); + element = 'button'; + } else { + // eslint-disable-next-line fp/no-mutating-methods + classes.unshift("slds-icon-".concat(this.props.variant)); + + if (this.props.variant === 'eq') { + element = 'div'; + } else if (this.props.variant === 'score') { + iconProps['data-slds-state'] = this.props.scorePolarity ? this.props.scorePolarity : 'positive'; + } else if (this.props.variant === 'strength') { + iconProps['data-slds-strength'] = this.props.strengthLevel !== undefined ? "".concat(this.props.strengthLevel) : '0'; + } else if (this.props.variant === 'trend') { + iconProps['data-slds-trend'] = this.props.trendDirection ? this.props.trendDirection : 'neutral'; + } + } + + iconProps.className = class_names(classes, this.props.className); + return /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement.apply(external_amd_react_commonjs_react_commonjs2_react_root_React_default.a, [element, iconProps].concat(dynamic_icon_toConsumableArray(children))); + } + }]); + + return DynamicIcon; +}(external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.Component); + +dynamic_icon_DynamicIcon.displayName = DYNAMIC_ICON; +dynamic_icon_DynamicIcon.propTypes = dynamic_icon_propTypes; +/* harmony default export */ var dynamic_icon = (dynamic_icon_DynamicIcon); +// CONCATENATED MODULE: ./components/popover/edit-dialog.jsx +function edit_dialog_typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { edit_dialog_typeof = function _typeof(obj) { return typeof obj; }; } else { edit_dialog_typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return edit_dialog_typeof(obj); } + +function edit_dialog_extends() { edit_dialog_extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return edit_dialog_extends.apply(this, arguments); } + +function edit_dialog_objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = edit_dialog_objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; } + +function edit_dialog_objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; } + +function edit_dialog_classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function edit_dialog_defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function edit_dialog_createClass(Constructor, protoProps, staticProps) { if (protoProps) edit_dialog_defineProperties(Constructor.prototype, protoProps); if (staticProps) edit_dialog_defineProperties(Constructor, staticProps); return Constructor; } + +function edit_dialog_inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) edit_dialog_setPrototypeOf(subClass, superClass); } + +function edit_dialog_setPrototypeOf(o, p) { edit_dialog_setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return edit_dialog_setPrototypeOf(o, p); } + +function edit_dialog_createSuper(Derived) { var hasNativeReflectConstruct = edit_dialog_isNativeReflectConstruct(); return function _createSuperInternal() { var Super = edit_dialog_getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = edit_dialog_getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return edit_dialog_possibleConstructorReturn(this, result); }; } + +function edit_dialog_possibleConstructorReturn(self, call) { if (call && (edit_dialog_typeof(call) === "object" || typeof call === "function")) { return call; } return edit_dialog_assertThisInitialized(self); } + +function edit_dialog_assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +function edit_dialog_isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } } + +function edit_dialog_getPrototypeOf(o) { edit_dialog_getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return edit_dialog_getPrototypeOf(o); } + +function edit_dialog_defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */ + +/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */ +// # Edit Dialog Popver Component +// ### React + + + + + + +var edit_dialog_defaultProps = { + labels: { + cancel: 'Cancel', + save: 'Save' + } +}; + +var edit_dialog_EditDialog = /*#__PURE__*/function (_React$Component) { + edit_dialog_inherits(EditDialog, _React$Component); + + var _super = edit_dialog_createSuper(EditDialog); + + function EditDialog() { + var _this; + + edit_dialog_classCallCheck(this, EditDialog); + + for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { + args[_key] = arguments[_key]; + } + + _this = _super.call.apply(_super, [this].concat(args)); + + edit_dialog_defineProperty(edit_dialog_assertThisInitialized(_this), "handleOpen", function () { + _this.setState({ + isOpen: true + }); + }); + + edit_dialog_defineProperty(edit_dialog_assertThisInitialized(_this), "handleClose", function () { + _this.setState({ + isOpen: false + }); + }); + + return _this; + } + + edit_dialog_createClass(EditDialog, [{ + key: "render", + value: function render() { + var _this$props = this.props, + onCancel = _this$props.onCancel, + onSave = _this$props.onSave, + restProps = edit_dialog_objectWithoutProperties(_this$props, ["onCancel", "onSave"]); // trigger button will either be passed in children or defaults to an edit button. + + + var children = this.props.children ? this.props.children : /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(components_button, { + assistiveText: { + icon: 'Edit: Status' + }, + className: "slds-button_reset", + disabled: this.props.disabled, + iconCategory: "utility", + iconClassName: "slds-button__icon slds-button__icon_hint", + iconName: "edit", + onClick: this.props.handleOpen, + variant: "icon", + style: { + verticalAlign: 'middle' + } + }); + var labels = lodash_assign_default()({}, edit_dialog_defaultProps.labels, this.props.labels); + return /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(components_popover, edit_dialog_extends({ + classNameFooter: ['slds-p-top_xxx-small', 'slds-p-bottom_xx-small', 'slds-p-right_large'], + classNameBody: ['slds-p-bottom_xx-small'], + footer: /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: "slds-text-align_right slds-text-align_right slds-p-bottom_x-small slds-p-right_xx-small" + }, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(components_button, { + label: labels.cancel, + onClick: onCancel + }), /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(components_button, { + disabled: !this.props.isModified, + variant: "brand", + label: labels.save, + onClick: onSave + })), + footerStyle: { + borderTop: '0px' + }, + onClose: this.handleClose, + onRequestClose: this.handleClose, + onOpen: this.handleOpen + }, restProps), children); + } + }]); + + return EditDialog; +}(external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.Component); + +edit_dialog_defineProperty(edit_dialog_EditDialog, "displayName", POPOVER_EDIT_DIALOG); + +edit_dialog_defineProperty(edit_dialog_EditDialog, "propTypes", { + /** + * Disables the edit dialog and prevents clicking it. + */ + disabled: prop_types_default.a.bool, + + /** + * By default, a unique ID will be created at render to support keyboard navigation, ARIA roles, and connect the popover to the triggering button. This ID will be applied to the triggering element. `${id}-popover`, `${id}-dialog-heading`, `${id}-dialog-body` are also created. + */ + id: prop_types_default.a.string, + + /** + * Set to true when inputs within the popover are modified. + */ + isModified: prop_types_default.a.bool, + + /** + * **Text labels for internationalization** + * This object is merged with the default props object on every render. + * * `cancel`: text for Cancel button + * * `save`: text for Save button + * + * _Tested with snapshot testing._ + */ + labels: prop_types_default.a.shape({ + cancel: prop_types_default.a.oneOfType([prop_types_default.a.string, prop_types_default.a.node]), + save: prop_types_default.a.oneOfType([prop_types_default.a.string, prop_types_default.a.node]) + }), + + /** + * This function is passed onto the cancel `Button`. Triggered when the trigger button is clicked. + */ + onCancel: prop_types_default.a.func, + + /** + * This function is passed onto the save `Button`. Triggered when the trigger button is clicked. + */ + onSave: prop_types_default.a.func, + + /** + * Popover of type `~/components/popover`. This popover will be cloned and additional props appended, if passed in. + */ + popover: prop_types_default.a.node +}); + +edit_dialog_EditDialog.defaultProps = edit_dialog_defaultProps; +/* harmony default export */ var edit_dialog = (edit_dialog_EditDialog); +// CONCATENATED MODULE: ./components/expression/group.jsx +function group_typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { group_typeof = function _typeof(obj) { return typeof obj; }; } else { group_typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return group_typeof(obj); } + +function group_classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function group_defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function group_createClass(Constructor, protoProps, staticProps) { if (protoProps) group_defineProperties(Constructor.prototype, protoProps); if (staticProps) group_defineProperties(Constructor, staticProps); return Constructor; } + +function group_inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) group_setPrototypeOf(subClass, superClass); } + +function group_setPrototypeOf(o, p) { group_setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return group_setPrototypeOf(o, p); } + +function group_createSuper(Derived) { var hasNativeReflectConstruct = group_isNativeReflectConstruct(); return function _createSuperInternal() { var Super = group_getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = group_getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return group_possibleConstructorReturn(this, result); }; } + +function group_possibleConstructorReturn(self, call) { if (call && (group_typeof(call) === "object" || typeof call === "function")) { return call; } return group_assertThisInitialized(self); } + +function group_assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +function group_isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } } + +function group_getPrototypeOf(o) { group_getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return group_getPrototypeOf(o); } + +/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */ + +/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */ +// Implements the [Expression Group design pattern](https://lightningdesignsystem.com/components/expression/) in React. + + + + // ### shortid +// [npmjs.com/package/shortid](https://www.npmjs.com/package/shortid) +// shortid is a short, non-sequential, url-friendly, unique id generator + + + + + + +var group_propTypes = { + /** + * **Assistive text for accessibility.** + * * `label`: For users of assistive technology, assistive text for the expression group's label. + * * `addCondition`: For users of assistive technology, assistive text for the Add Condition button's icon. + * * `addGroup`: For users of assistive technology, assistive text for the Add Group button's icon. + */ + assistiveText: prop_types_default.a.shape({ + label: prop_types_default.a.string, + addCondition: prop_types_default.a.string, + addGroup: prop_types_default.a.string + }), + + /** + * HTML id for ExpressionGroup component. + */ + id: prop_types_default.a.string, + + /** + * `ExpressionGroup` children, accepts `ExpressionCondition`. (Also accepts sub-`ExpressionGroup` if `isRoot`) + */ + children: prop_types_default.a.node, + + /** + * CSS classes to be added to the element with class `.slds-expression__group`. Uses `classNames` [API](https://github.com/JedWatson/classnames). + */ + className: prop_types_default.a.oneOfType([prop_types_default.a.array, prop_types_default.a.object, prop_types_default.a.string]), + + /** + * Callbacks for various expression group events such as trigger change, add condition etc + */ + events: prop_types_default.a.shape({ + onChangeTrigger: prop_types_default.a.func, + onChangeCustomLogicValue: prop_types_default.a.func, + onAddCondition: prop_types_default.a.func, + onAddGroup: prop_types_default.a.func + }), + + /** + * If set to true, the component will focus on the first focusable input upon mounting. This is useful for accessibility when adding new groups. + */ + focusOnMount: prop_types_default.a.bool, + + /** + * **Text labels for internationalization** + * This object is merged with the default props object on every render. + * * `addCondition`: Label for the Add Condition Button. Defaults to "Add Condition" + * * `addGroup`: Label for the Add Group Button. Defaults to "Add Group" + * * `customLogic`: Label for the text box for inputting `customLogicValue`, if the `triggerType` is `custom`. Defaults to "Custom Logic" + * * `label`: Label for the expression group, to indicate condition connectors based on the parent's trigger-type chosen. Defaults to "" + * * `takeAction`: Label for the `triggerType` selector. Defaults to "Take Action When" + * * `triggerAll`: Label for the `all` value within the trigger selector + * * `triggerAlways`: Label for the `always` value within the trigger selector + * * `triggerAny`: Label for the `any` value within the trigger selector + * * `triggerCustom`: Label for the `custom` value within the trigger selector + * * `triggerFormula`: Label for the `formula` value within the trigger selector + */ + labels: prop_types_default.a.shape({ + addCondition: prop_types_default.a.string, + addGroup: prop_types_default.a.string, + customLogic: prop_types_default.a.string, + label: prop_types_default.a.string, + takeAction: prop_types_default.a.string, + triggerAll: prop_types_default.a.string, + triggerAlways: prop_types_default.a.string, + triggerAny: prop_types_default.a.string, + triggerCustom: prop_types_default.a.string, + triggerFormula: prop_types_default.a.string + }), + + /** + * Whether the group is at root level + */ + isRoot: prop_types_default.a.bool, + + /** + * Trigger type for the Group + */ + triggerType: prop_types_default.a.oneOf(['all', 'any', 'custom', 'always', 'formula']), + + /** + * Sets the input for the custom logic value input box, shown if the `triggerType` is set to `custom`. + */ + customLogicValue: prop_types_default.a.string +}; +var group_defaultProps = { + triggerType: 'all', + customLogicValue: '', + labels: { + label: '', + takeAction: 'Take Action When', + customLogic: 'Custom Logic', + addCondition: 'Add Condition', + addGroup: 'Add Group', + triggerAll: 'All Conditions Are Met', + triggerAny: 'Any Condition Is Met', + triggerCustom: 'Custom Logic Is Met', + triggerAlways: 'Always (No Criteria)', + triggerFormula: 'Formula Evaluates To True' + } +}; +/** + * Expression Group Component + */ + +var group_ExpressionGroup = /*#__PURE__*/function (_React$Component) { + group_inherits(ExpressionGroup, _React$Component); + + var _super = group_createSuper(ExpressionGroup); + + group_createClass(ExpressionGroup, null, [{ + key: "triggerChange", + + /** + * Return triggerType selected, processing the triggerType objects generated + */ + value: function triggerChange(event, data) { + var selection = data.selection[0].id; + var trigger = ''; + + if (selection === '1') { + trigger = 'all'; + } else if (selection === '2') { + trigger = 'any'; + } else if (selection === '3') { + trigger = 'custom'; + } else if (selection === '4') { + trigger = 'always'; + } else if (selection === '5') { + trigger = 'formula'; + } + + return trigger; + } + }]); + + function ExpressionGroup(props) { + var _this; + + group_classCallCheck(this, ExpressionGroup); + + _this = _super.call(this, props); + _this.generatedId = shortid_default.a.generate(); + return _this; + } + + group_createClass(ExpressionGroup, [{ + key: "componentDidMount", + value: function componentDidMount() { + if (this.props.focusOnMount && this.rootNode) { + var input = this.rootNode.querySelector('input'); + + if (input) { + input.focus(); + } + } + } + /** + * Get the Expression Group's HTML id. Generate a new one if no ID present. + */ + + }, { + key: "getId", + value: function getId() { + return this.props.id || this.generatedId; + } + /** + * Generate and return trigger type objects, with labels either sent as props or using default props. + */ + + }, { + key: "getTriggers", + value: function getTriggers() { + var labels = lodash_assign_default()({}, group_defaultProps.labels, this.props.labels); + return [{ + id: '1', + label: labels.triggerAll + }, { + id: '2', + label: labels.triggerAny + }, { + id: '3', + label: labels.triggerCustom + }, { + id: '4', + label: labels.triggerAlways + }, { + id: '5', + label: labels.triggerFormula + }]; + } + /** + * Returns object of trigger from trigger passed as prop + */ + + }, { + key: "getTriggerSelection", + value: function getTriggerSelection() { + var selection = this.props.triggerType; + var Triggers = this.getTriggers(); + var t = []; + + if (selection === 'all') { + // eslint-disable-next-line fp/no-mutating-methods + t.push(Triggers[0]); + } else if (selection === 'any') { + // eslint-disable-next-line fp/no-mutating-methods + t.push(Triggers[1]); + } else if (selection === 'custom') { + // eslint-disable-next-line fp/no-mutating-methods + t.push(Triggers[2]); + } else if (selection === 'always') { + // eslint-disable-next-line fp/no-mutating-methods + t.push(Triggers[3]); + } else if (selection === 'formula') { + // eslint-disable-next-line fp/no-mutating-methods + t.push(Triggers[4]); + } + + return t; + } + }, { + key: "render", + value: function render() { + var _this2 = this; + + var assistiveText = lodash_assign_default()({}, group_defaultProps.assistiveText, this.props.assistiveText); + var labels = lodash_assign_default()({}, group_defaultProps.labels, this.props.labels); + var triggerCombobox = /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(components_combobox, { + events: { + onSelect: function onSelect(event, data) { + return _this2.props.events.onChangeTrigger(event, { + triggerType: ExpressionGroup.triggerChange(event, data) + }); + } + }, + id: "".concat(this.getId(), "-take-action-trigger"), + multiple: false, + options: this.getTriggers(), + variant: "readonly", + labels: { + label: labels.takeAction + }, + selection: this.getTriggerSelection() + }); + var buttons = this.props.triggerType !== 'always' && this.props.triggerType !== 'formula' ? /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: "slds-expression__buttons" + }, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(components_button, { + iconCategory: "utility", + iconName: "add", + iconPosition: "left", + id: "".concat(this.getId(), "-add-condition-button"), + label: labels.addCondition, + assistiveText: { + icon: assistiveText.addCondition + }, + onClick: this.props.events.onAddCondition + }), this.props.isRoot ? /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(components_button, { + iconCategory: "utility", + iconName: "add", + iconPosition: "left", + id: "".concat(this.getId(), "-add-group-button"), + label: labels.addGroup, + assistiveText: { + icon: assistiveText.addGroup + }, + onClick: this.props.events.onAddGroup + }) : null) : null; + var body = null; + + if (this.props.triggerType !== 'always') { + if (this.props.isRoot && this.props.triggerType === 'formula') { + body = this.props.children; + } else { + body = /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.Fragment, null, this.props.triggerType === 'custom' ? /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(input, { + label: labels.customLogic, + className: "slds-expression__custom-logic", + id: "".concat(this.getId(), "-custom-logic-input"), + value: this.props.customLogicValue, + variant: "base", + onChange: this.props.events.onChangeCustomLogicValue + }) : null, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("ul", null, this.props.children)); + } + } + + if (this.props.isRoot) { + if (this.props.triggerType === 'formula') { + return /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.Fragment, null, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: "slds-expression__options" + }, triggerCombobox), body); + } + + return /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: classnames_default()(this.props.className), + id: this.getId() + }, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: "slds-expression__options" + }, triggerCombobox), body, buttons); + } + + return /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("li", { + className: classnames_default()('slds-expression__group', this.props.className), + id: this.getId(), + ref: function ref(rootNode) { + _this2.rootNode = rootNode; + } + }, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("fieldset", null, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("legend", { + className: "slds-expression__legend slds-expression__legend_group" + }, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("span", null, labels.label), /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("span", { + className: "slds-assistive-text" + }, assistiveText.label)), /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: "slds-expression__options" + }, triggerCombobox), body, buttons)); + } + }]); + + return ExpressionGroup; +}(external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.Component); + +group_ExpressionGroup.displayName = EXPRESSION_GROUP; +group_ExpressionGroup.propTypes = group_propTypes; +group_ExpressionGroup.defaultProps = group_defaultProps; +/* harmony default export */ var group = (group_ExpressionGroup); +// CONCATENATED MODULE: ./components/expression/index.jsx +function expression_typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { expression_typeof = function _typeof(obj) { return typeof obj; }; } else { expression_typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return expression_typeof(obj); } + +function expression_classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function expression_defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function expression_createClass(Constructor, protoProps, staticProps) { if (protoProps) expression_defineProperties(Constructor.prototype, protoProps); if (staticProps) expression_defineProperties(Constructor, staticProps); return Constructor; } + +function expression_inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) expression_setPrototypeOf(subClass, superClass); } + +function expression_setPrototypeOf(o, p) { expression_setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return expression_setPrototypeOf(o, p); } + +function expression_createSuper(Derived) { var hasNativeReflectConstruct = expression_isNativeReflectConstruct(); return function _createSuperInternal() { var Super = expression_getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = expression_getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return expression_possibleConstructorReturn(this, result); }; } + +function expression_possibleConstructorReturn(self, call) { if (call && (expression_typeof(call) === "object" || typeof call === "function")) { return call; } return expression_assertThisInitialized(self); } + +function expression_assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +function expression_isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } } + +function expression_getPrototypeOf(o) { expression_getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return expression_getPrototypeOf(o); } + +/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */ + +/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */ +// Implements the [Expression design pattern](https://lightningdesignsystem.com/components/expression/) in React. + + + // ### shortid +// [npmjs.com/package/shortid](https://www.npmjs.com/package/shortid) +// shortid is a short, non-sequential, url-friendly, unique id generator + + + + + +var expression_propTypes = { + /** + * HTML id for component. + */ + id: prop_types_default.a.string, + + /** + * `Expression` children, accepts `ExpressionCondition` & `ExpressionGroup` + */ + children: prop_types_default.a.node, + + /** + * Callbacks for various expression events such as trigger change, add group etc + */ + events: prop_types_default.a.shape({ + onChangeTrigger: prop_types_default.a.func, + onAddGroup: prop_types_default.a.func, + onAddCondition: prop_types_default.a.func, + onChangeCustomLogicValue: prop_types_default.a.func + }), + + /** + * **Text labels for internationalization** + * This object is merged with the default props object on every render. + * * `addCondition`: Label for the Add Condition Button. Defaults to "Add Condition" + * * `addGroup`: Label for the Add Group Button. Defaults to "Add Group" + * * `customLogic`: Label for the text box for inputting `customLogicValue`, if the `triggerType` is `custom`. Defaults to "Custom Logic" + * * `takeAction`: Label for the `triggerType` selector. Defaults to "Take Action When" + * * `title` : Title for the Expression. Defaults to "Conditions" + * * `triggerAll`: Label for the `all` value within the trigger selector + * * `triggerAlways`: Label for the `always` value within the trigger selector + * * `triggerAny`: Label for the `any` value within the trigger selector + * * `triggerCustom`: Label for the `custom` value within the trigger selector + * * `triggerFormula`: Label for the `formula` value within the trigger selector + */ + labels: prop_types_default.a.shape({ + addCondition: prop_types_default.a.string, + addGroup: prop_types_default.a.string, + customLogic: prop_types_default.a.string, + takeAction: prop_types_default.a.string, + title: prop_types_default.a.string, + triggerAll: prop_types_default.a.string, + triggerAlways: prop_types_default.a.string, + triggerAny: prop_types_default.a.string, + triggerCustom: prop_types_default.a.string, + triggerFormula: prop_types_default.a.string + }), + + /** + * CSS classes to be added to the element with class `.slds-expression`. Uses `classNames` [API](https://github.com/JedWatson/classnames). + */ + className: prop_types_default.a.oneOfType([prop_types_default.a.array, prop_types_default.a.object, prop_types_default.a.string]), + + /** + * Sets the trigger type for the expression. + */ + triggerType: prop_types_default.a.oneOf(['all', 'any', 'custom', 'always', 'formula']), + + /** + * Sets the input for the custom logic value input box, shown if the `triggerType` is set to `custom`. + */ + customLogicValue: prop_types_default.a.string +}; +var expression_defaultProps = { + labels: { + title: 'Conditions' + } +}; +/** + * Expression builders help users declaratively construct logical expressions. + * These expressions can be used when querying for a filtered set of records, + * creating rules to control when something executes, or any other conditional logic. + */ + +var expression_Expression = /*#__PURE__*/function (_React$Component) { + expression_inherits(Expression, _React$Component); + + var _super = expression_createSuper(Expression); + + function Expression() { + expression_classCallCheck(this, Expression); + + return _super.apply(this, arguments); + } + + expression_createClass(Expression, [{ + key: "UNSAFE_componentWillMount", + // eslint-disable-next-line camelcase, react/sort-comp + value: function UNSAFE_componentWillMount() { + this.generatedId = shortid_default.a.generate(); + } + /** + * Get the Expression Group's HTML id. Generate a new one if no ID present. + */ + + }, { + key: "getId", + value: function getId() { + return this.props.id || this.generatedId; + } + }, { + key: "render", + value: function render() { + var labels = lodash_assign_default()({}, expression_defaultProps.labels, this.props.labels); + return /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: classnames_default()('slds-expression', this.props.className), + id: this.getId() + }, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("h2", { + className: "slds-expression__title" + }, labels.title), /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(group, { + isRoot: true, + id: "".concat(this.getId(), "-group"), + events: this.props.events, + labels: labels, + customLogicValue: this.props.customLogicValue, + triggerType: this.props.triggerType + }, this.props.children)); + } + }]); + + return Expression; +}(external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.Component); + +expression_Expression.displayName = EXPRESSION; +expression_Expression.propTypes = expression_propTypes; +expression_Expression.defaultProps = expression_defaultProps; +/* harmony default export */ var expression = (expression_Expression); +// CONCATENATED MODULE: ./components/expression/condition.jsx +function condition_typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { condition_typeof = function _typeof(obj) { return typeof obj; }; } else { condition_typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return condition_typeof(obj); } + +function condition_classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function condition_defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function condition_createClass(Constructor, protoProps, staticProps) { if (protoProps) condition_defineProperties(Constructor.prototype, protoProps); if (staticProps) condition_defineProperties(Constructor, staticProps); return Constructor; } + +function condition_inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) condition_setPrototypeOf(subClass, superClass); } + +function condition_setPrototypeOf(o, p) { condition_setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return condition_setPrototypeOf(o, p); } + +function condition_createSuper(Derived) { var hasNativeReflectConstruct = condition_isNativeReflectConstruct(); return function _createSuperInternal() { var Super = condition_getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = condition_getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return condition_possibleConstructorReturn(this, result); }; } + +function condition_possibleConstructorReturn(self, call) { if (call && (condition_typeof(call) === "object" || typeof call === "function")) { return call; } return condition_assertThisInitialized(self); } + +function condition_assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +function condition_isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } } + +function condition_getPrototypeOf(o) { condition_getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return condition_getPrototypeOf(o); } + +/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */ + +/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */ +// Implements the [Expression Condition design pattern](https://lightningdesignsystem.com/components/expression/) in React. + + + + // ### shortid +// [npmjs.com/package/shortid](https://www.npmjs.com/package/shortid) +// shortid is a short, non-sequential, url-friendly, unique id generator + + + + + + +var condition_propTypes = { + /** + * **Assistive text for accessibility.** + * * `title`: For users of assistive technology, title for the condition fieldset. Defaults to 'Condition' + * * `deleteIcon`: For users of assistive technology, assistive text for the Delete Condition button's icon. Defaults to 'Delete Condition' + */ + assistiveText: prop_types_default.a.shape({ + title: prop_types_default.a.string, + deleteIcon: prop_types_default.a.string + }), + + /** + * HTML id for component. + */ + id: prop_types_default.a.string, + + /** + * CSS classes to be added to the element with class `.slds-expression__row`. Uses `classNames` [API](https://github.com/JedWatson/classnames). + */ + className: prop_types_default.a.oneOfType([prop_types_default.a.array, prop_types_default.a.object, prop_types_default.a.string]), + + /** + * Callbacks for various expression condition events such as value change, delete etc + */ + events: prop_types_default.a.shape({ + onChangeResource: prop_types_default.a.func, + onChangeOperator: prop_types_default.a.func, + onChangeValue: prop_types_default.a.func, + onDelete: prop_types_default.a.func + }).isRequired, + + /** + * If set to true, the component will focus on the first focusable input upon mounting. This is useful for accessibility when adding new conditions. + */ + focusOnMount: prop_types_default.a.bool, + + /** + * **Text labels for internationalization** + * This object is merged with the default props object on every + * * `deleteCondition`: Title for the delete condition button. Defaults to "Delete Condition". + * * `label`: Label for the condition, shown left-most in the row. Left empty on default. + * * `operator`: Label for the operator selection dropdown. Defaults to "Operator" + * * `resource`: Label for the resource selection dropdown. Defaults to "Resource" + * * `value`: Label for the value input box. Defaults to "Value" + */ + labels: prop_types_default.a.shape({ + deleteCondition: prop_types_default.a.string, + label: prop_types_default.a.string, + operator: prop_types_default.a.string, + resource: prop_types_default.a.string, + value: prop_types_default.a.string + }), + + /** + * Controls whether the condition is a sub-condition inside a ExpressionGroup + */ + isSubCondition: prop_types_default.a.bool, + + /** + * **Array of item objects that are options in the resource selection dropdown menu.** + * Each object can contain: + * * `id`: A unique identifier string. + * * `label`: A primary string of text for a menu item. + * ``` + * { + * id: '1', + * label: 'Resource 1', + * }, + * ``` + * Note: The dropdown uses the Combobox Component, and `resourcesList` is + * passed as `options` props to it, and hence shall also support more + * custom objects. Please refer to the Combobox documentation. + */ + resourcesList: prop_types_default.a.arrayOf(prop_types_default.a.object), + + /** + * Accepts an object from the `resourcesList` which needs to be selected + * for the resource dropdown menu, + */ + resourceSelected: prop_types_default.a.object, + + /** + * **Array of item objects that are options in the operator selection dropdown menu.** + * Each object can contain: + * * `id`: A unique identifier string. + * * `label`: A primary string of text for a menu item. + * ``` + * { + * id: '1', + * label: 'Operator 1', + * }, + * ``` + * Note: The dropdown uses the Combobox Component, and `operatorList` is + * passed as `options` props to it, and hence shall also support more + * custom objects. Please refer to the Combobox documentation. + */ + operatorsList: prop_types_default.a.arrayOf(prop_types_default.a.object), + + /** + * Accepts an object from the `operatorSelected` which needs to be selected + * for the operator dropdown menu, + */ + operatorSelected: prop_types_default.a.object, + + /** + * Sets the input value for the Value input field. + */ + value: prop_types_default.a.string +}; +var condition_defaultProps = { + assistiveText: { + title: 'Condition', + deleteIcon: 'Delete Condition' + }, + labels: { + label: '', + operator: 'Operator', + resource: 'Resource', + value: 'Value', + deleteCondition: 'Delete Condition' + }, + value: '' +}; +/** + * Expression Condition Component + */ + +var condition_ExpressionCondition = /*#__PURE__*/function (_React$Component) { + condition_inherits(ExpressionCondition, _React$Component); + + var _super = condition_createSuper(ExpressionCondition); + + function ExpressionCondition(props) { + var _this; + + condition_classCallCheck(this, ExpressionCondition); + + _this = _super.call(this, props); + _this.generatedId = shortid_default.a.generate(); + return _this; + } + + condition_createClass(ExpressionCondition, [{ + key: "componentDidMount", + value: function componentDidMount() { + if (this.props.focusOnMount && this.rootNode) { + var input = this.rootNode.querySelector('input'); + + if (input) { + input.focus(); + } + } + } + /** + * Get the Expression Condition's HTML id. Generate a new one if no ID present. + */ + + }, { + key: "getId", + value: function getId() { + return this.props.id || this.generatedId; + } + }, { + key: "render", + value: function render() { + var _this2 = this; + + var assistiveText = lodash_assign_default()({}, condition_defaultProps.assistiveText, this.props.assistiveText); + var labels = lodash_assign_default()({}, condition_defaultProps.labels, this.props.labels); + return /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("li", { + className: classnames_default()("slds-expression__row", { + 'slds-expression__row_group': this.props.isSubCondition + }, this.props.className), + id: this.getId(), + ref: function ref(rootNode) { + _this2.rootNode = rootNode; + } + }, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("fieldset", null, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("legend", { + className: "slds-expression__legend" + }, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("span", null, labels.label), /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("span", { + className: "slds-assistive-text" + }, assistiveText.title)), /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: "slds-grid slds-gutters_xx-small" + }, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: "slds-col" + }, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(components_combobox, { + events: { + onSelect: this.props.events.onChangeResource + }, + id: "".concat(this.getId(), "-resource-selector"), + multiple: false, + variant: "readonly", + labels: { + label: labels.resource + }, + options: this.props.resourcesList, + selection: [this.props.resourceSelected] + })), /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: "slds-col slds-grow-none" + }, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(components_combobox, { + events: { + onSelect: this.props.events.onChangeOperator + }, + id: "".concat(this.getId(), "-operator-selector"), + multiple: false, + variant: "readonly", + labels: { + label: labels.operator + }, + options: this.props.operatorsList, + selection: [this.props.operatorSelected], + singleInputDisabled: !this.props.resourceSelected + })), /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: "slds-col" + }, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(input, { + id: "".concat(this.getId(), "-input"), + label: labels.value, + value: this.props.value, + onChange: this.props.events.onChangeValue, + disabled: !this.props.resourceSelected + })), /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: "slds-col slds-grow-none" + }, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: "slds-form-element" + }, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("span", { + className: "slds-form-element__label" + }, "\xA0"), /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: "slds-form-element__control" + }, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(components_button, { + id: "".concat(this.getId(), "-delete-button"), + variant: "outline-brand", + iconCategory: "utility", + iconName: "delete", + iconVariant: "border-filled", + onClick: this.props.events.onDelete, + assistiveText: { + icon: assistiveText.deleteIcon + }, + title: labels.deleteCondition + }))))))); + } + }]); + + return ExpressionCondition; +}(external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.Component); + +condition_ExpressionCondition.displayName = EXPRESSION_CONDITION; +condition_ExpressionCondition.propTypes = condition_propTypes; +condition_ExpressionCondition.defaultProps = condition_defaultProps; +/* harmony default export */ var condition = (condition_ExpressionCondition); +// EXTERNAL MODULE: ./node_modules/react-contenteditable/lib/react-contenteditable.js +var react_contenteditable = __webpack_require__(49); +var react_contenteditable_default = /*#__PURE__*/__webpack_require__.n(react_contenteditable); + +// CONCATENATED MODULE: ./components/expression/formula.jsx +function formula_typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { formula_typeof = function _typeof(obj) { return typeof obj; }; } else { formula_typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return formula_typeof(obj); } + +function formula_classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function formula_defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function formula_createClass(Constructor, protoProps, staticProps) { if (protoProps) formula_defineProperties(Constructor.prototype, protoProps); if (staticProps) formula_defineProperties(Constructor, staticProps); return Constructor; } + +function formula_inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) formula_setPrototypeOf(subClass, superClass); } + +function formula_setPrototypeOf(o, p) { formula_setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return formula_setPrototypeOf(o, p); } + +function formula_createSuper(Derived) { var hasNativeReflectConstruct = formula_isNativeReflectConstruct(); return function _createSuperInternal() { var Super = formula_getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = formula_getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return formula_possibleConstructorReturn(this, result); }; } + +function formula_possibleConstructorReturn(self, call) { if (call && (formula_typeof(call) === "object" || typeof call === "function")) { return call; } return formula_assertThisInitialized(self); } + +function formula_assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +function formula_isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } } + +function formula_getPrototypeOf(o) { formula_getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return formula_getPrototypeOf(o); } + +function formula_defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */ + +/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */ +// Implements the [Expression Formula design pattern](https://lightningdesignsystem.com/components/expression/) in React. + + + + + // ### shortid +// [npmjs.com/package/shortid](https://www.npmjs.com/package/shortid) +// shortid is a short, non-sequential, url-friendly, unique id generator + + + + +var formula_propTypes = { + /** + * **Assistive text for accessibility.** + * * `help`: Assistive text for help icon + */ + assistiveText: prop_types_default.a.shape({ + help: prop_types_default.a.string + }), + + /** + * HTML id for component. + */ + id: prop_types_default.a.string, + + /** + * CSS classes to be added to the element with class `.slds-form-element`. Uses `classNames` [API](https://github.com/JedWatson/classnames). + */ + className: prop_types_default.a.oneOfType([prop_types_default.a.array, prop_types_default.a.object, prop_types_default.a.string]), + + /** + * Callbacks for various expression formula events such as text editor change, check syntax etc + */ + events: prop_types_default.a.shape({ + onChangeTextEditor: prop_types_default.a.func, + onClickHelp: prop_types_default.a.func, + onClickCheckSyntax: prop_types_default.a.func + }), + + /** + * **Text labels for internationalization** + * This object is merged with the default props object on every render. + * * `label`: Label for the Expression Formula group.Defaults to "Formula" + * * `checkSyntax`: Label for the Check Syntax Button. Defaults to "Check Syntax" + * * `textArea`: Label for the `triggerType` selector. Defaults to "Take Action When" + */ + labels: prop_types_default.a.shape({ + label: prop_types_default.a.string, + checkSyntax: prop_types_default.a.string, + textArea: prop_types_default.a.string + }), + + /** + * Accepts a single combobox component, to select resource in the expression formula editor + */ + resourceCombobox: prop_types_default.a.node, + + /** + * Accepts a single combobox component, to select function in the expression formula editor + */ + functionCombobox: prop_types_default.a.node, + + /** + * Accepts a single input component, to enter operator in the expression formula editor + */ + operatorInput: prop_types_default.a.node, + + /** + * Value for the text editor in expression formula editor + */ + textEditorValue: prop_types_default.a.node +}; +var formula_defaultProps = { + assistiveText: { + help: 'Help' + }, + labels: { + label: 'Formula', + checkSyntax: 'Check Syntax', + textArea: 'Text Area' + } +}; +/** + * Expression Formula Component + */ + +var formula_ExpressionFormula = /*#__PURE__*/function (_React$Component) { + formula_inherits(ExpressionFormula, _React$Component); + + var _super = formula_createSuper(ExpressionFormula); + + function ExpressionFormula() { + var _this; + + formula_classCallCheck(this, ExpressionFormula); + + _this = _super.call(this); + + formula_defineProperty(formula_assertThisInitialized(_this), "handleTextEditorChange", function (event) { + var textEditorValue = event.target.value; + + if (_this.props.textEditorValue === undefined) { + _this.setState({ + textEditorValue: textEditorValue + }); + } + + if (_this.props.events && _this.props.events.onChangeTextEditor) { + _this.props.events.onChangeTextEditor(event, { + textEditorValue: textEditorValue + }); + } + }); + + _this.textEditorRef = /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createRef(); + _this.state = { + textEditorValue: 'Compose formula...' // default is set here to preserve functionality if not controlled by props.textEditorValue + + }; + _this.generatedId = shortid_default.a.generate(); + return _this; + } + /** + * Get the Expression Condition's HTML id. Generate a new one if no ID present. + */ + + + formula_createClass(ExpressionFormula, [{ + key: "getId", + value: function getId() { + return this.props.id || this.generatedId; + } + }, { + key: "render", + value: function render() { + var assistiveText = lodash_assign_default()({}, formula_defaultProps.assistiveText, this.props.assistiveText); + var labels = lodash_assign_default()({}, formula_defaultProps.labels, this.props.labels); + return /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.Fragment, null, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + id: this.getId(), + className: classnames_default()("slds-expression_formula__rte", this.props.className) + }, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: "slds-form-element" + }, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("span", { + className: "slds-form-element__label" + }, labels.label), /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: "slds-form-element__control" + }, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: "slds-rich-text-editor slds-grid slds-grid_vertical slds-nowrap" + }, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + role: "toolbar", + className: "slds-rich-text-editor__toolbar slds-shrink-none" + }, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: "slds-rich-text-editor__col slds-rich-text-editor__col_grow" + }, this.props.resourceCombobox), /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: "slds-rich-text-editor__col slds-rich-text-editor__col_grow" + }, this.props.functionCombobox), /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: "slds-rich-text-editor__col slds-rich-text-editor__col_grow" + }, this.props.operatorInput), /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: "slds-rich-text-editor__col" + }, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(components_button, { + assistiveText: { + icon: assistiveText.help + }, + className: "slds-button_icon-container", + id: "".concat(this.getId(), "-help-button"), + variant: "icon", + iconCategory: "utility", + iconName: "help", + onClick: this.props.events.onClickHelp, + title: assistiveText.help + }))), /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: "slds-rich-text-editor__textarea slds-grid" + }, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(react_contenteditable_default.a, { + id: "".concat(this.getId(), "-content-editor"), + "aria-label": this.props.labels.textArea, + className: "slds-rich-text-area__content slds-text-color_weak slds-grow", + innerRef: this.textEditorRef, + html: this.props.textEditorValue !== undefined ? this.props.textEditorValue : this.state.textEditorValue, + onChange: this.handleTextEditorChange, + disabled: false + })))))), /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: "slds-m-top_small" + }, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(components_button, { + id: "".concat(this.getId(), "-check-syntax-button"), + variant: "neutral", + label: labels.checkSyntax, + onClick: this.props.events.onClickCheckSyntax + }))); + } + }]); + + return ExpressionFormula; +}(external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.Component); + +formula_ExpressionFormula.displayName = EXPRESSION_FORMULA; +formula_ExpressionFormula.propTypes = formula_propTypes; +formula_ExpressionFormula.defaultProps = formula_defaultProps; +/* harmony default export */ var formula = (formula_ExpressionFormula); +// CONCATENATED MODULE: ./components/files/private/file-figure.jsx +/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */ + +/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */ +// # FileFigure Component +// Implements the [FileFigure design pattern](https://www.lightningdesignsystem.com/components/files/) in React. + + + + +/** + * A file can have a image, an icon or a loading animation as its thumbnail + */ + +var file_figure_FileFigure = function FileFigure(props) { + if (props.isLoading) { + return /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.Fragment, null, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("span", { + className: "slds-assistive-text" + }, props.assistiveText.link), /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(components_spinner, { + size: "medium", + variant: "base", + assistiveText: { + label: props.assistiveText.loading + }, + containerStyle: { + zIndex: '1' + } + })); + } + + if (props.image) { + return /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.Fragment, null, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("span", { + className: "slds-assistive-text" + }, props.assistiveText.link), /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("img", { + alt: props.assistiveText.image || props.labels.title, + src: props.image + })); + } + + return /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.Fragment, null, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("span", { + className: "slds-assistive-text" + }, props.assistiveText.link), /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("span", { + className: "slds-file__icon slds-icon_container", + title: props.labels.title + }, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.cloneElement(props.icon, { + size: null + }))); +}; + +file_figure_FileFigure.displayName = FILES_FIGURE; +file_figure_FileFigure.propTypes = { + assistiveText: prop_types_default.a.shape({ + image: prop_types_default.a.string + }), + + /** + * Whether the file figure is loading + */ + isLoading: prop_types_default.a.bool, + + /** + * Image/Figure for the file + */ + image: prop_types_default.a.string, + + /** + * Labels for the file figure component + */ + labels: prop_types_default.a.shape({ + title: prop_types_default.a.string.isRequired + }) +}; +file_figure_FileFigure.defaultProps = { + isLoading: false +}; +/* harmony default export */ var file_figure = (file_figure_FileFigure); +// CONCATENATED MODULE: ./components/files/private/file-actions.jsx +/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */ + +/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */ +// # FileActions Component +// Implements the [FileActions design pattern](https://www.lightningdesignsystem.com/components/files/) in React. + + + + + +/** + * A carousel allows multiple pieces of featured content to occupy an allocated amount of space. + */ + +var file_actions_FileActions = function FileActions(props) { + var actions = /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: "slds-file__actions-menu" + }, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: "slds-button-group", + role: "group" + }, typeof props.onClickDownload === 'function' ? /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(components_button, { + type: "button", + variant: "icon", + iconSize: "x-small", + onClick: props.onClickDownload, + title: "Download", + className: "slds-button_icon-inverse" + }, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(components_icon, { + assistiveText: { + label: props.assistiveText.download + }, + category: "utility", + name: "download", + size: "xx-small", + inverse: props.hasNoVisibleTitle + })) : null, props.moreActionsDropdown ? /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.cloneElement(props.moreActionsDropdown, { + assistiveText: { + icon: props.assistiveText.moreActions + }, + overlay: false, + buttonVariant: 'icon', + buttonInverse: props.hasNoVisibleTitle, + className: 'dsr-file__more-actions-dropdown ', + triggerClassName: 'dsr-file__more-actions' + }) : null)); + + if (typeof props.onClickDownload === 'function' || props.moreActionsDropdown) { + if (!props.hasNoVisibleTitle) { + return actions; + } + + return /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: "slds-file__title slds-file__title_scrim" + }, actions); + } + + return null; +}; + +file_actions_FileActions.displayName = FILES_ACTIONS; +file_actions_FileActions.propTypes = { + /** + * Action to be done on clicking download button; doesnt show download button if empty + */ + onClickDownload: prop_types_default.a.func, + + /** + * Dropdown for More Actions; doesn't show More actions button if empty + */ + moreActionsDropdown: prop_types_default.a.node, + + /** + * Labels for the file component + */ + hasNoVisibleTitle: prop_types_default.a.bool +}; +/* harmony default export */ var file_actions = (file_actions_FileActions); +// CONCATENATED MODULE: ./components/files/file.jsx +function file_typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { file_typeof = function _typeof(obj) { return typeof obj; }; } else { file_typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return file_typeof(obj); } + +function file_ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; } + +function file_objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { file_ownKeys(Object(source), true).forEach(function (key) { file_defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { file_ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; } + +function file_defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +function file_classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function file_defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function file_createClass(Constructor, protoProps, staticProps) { if (protoProps) file_defineProperties(Constructor.prototype, protoProps); if (staticProps) file_defineProperties(Constructor, staticProps); return Constructor; } + +function file_inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) file_setPrototypeOf(subClass, superClass); } + +function file_setPrototypeOf(o, p) { file_setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return file_setPrototypeOf(o, p); } + +function file_createSuper(Derived) { var hasNativeReflectConstruct = file_isNativeReflectConstruct(); return function _createSuperInternal() { var Super = file_getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = file_getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return file_possibleConstructorReturn(this, result); }; } + +function file_possibleConstructorReturn(self, call) { if (call && (file_typeof(call) === "object" || typeof call === "function")) { return call; } return file_assertThisInitialized(self); } + +function file_assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +function file_isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } } + +function file_getPrototypeOf(o) { file_getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return file_getPrototypeOf(o); } + +/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */ + +/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */ +// Implements the [Files design pattern](https://lightningdesignsystem.com/components/files/) in React. +// Based on SLDS v2.4.0 + + + // ### shortid +// [npmjs.com/package/shortid](https://www.npmjs.com/package/shortid) +// shortid is a short, non-sequential, url-friendly, unique id generator + + + + + +var file_displayName = FILES_FILE; +var file_propTypes = { + /** + * **Assistive text for accessibility** + * * download - description for the download button if present + * * image - description for the file image + * * link - description for the file link + * * loading - description for the loading spinner if present + * * moreActions - description for the more actions dropdown if present + */ + assistiveText: prop_types_default.a.shape({ + download: prop_types_default.a.string, + image: prop_types_default.a.string, + link: prop_types_default.a.string, + loading: prop_types_default.a.string, + moreActions: prop_types_default.a.string + }), + + /** + * CSS class names to be added to the container element. `array`, `object`, or `string` are accepted. + */ + className: prop_types_default.a.oneOfType([prop_types_default.a.array, prop_types_default.a.object, prop_types_default.a.string]), + + /** + * Controls different cropping aspect ratios for the component + */ + crop: prop_types_default.a.oneOf(['16-by-9', '4-by-3', '1-by-1']), + + /** + * HTML id for component. + */ + id: prop_types_default.a.string, + + /** + * Action to be done on clicking download button; doesn't show download button if empty + */ + onClickDownload: prop_types_default.a.func, + + /** + * Function that is called when image is clicked; can be used instead of href for more advanced event handling + */ + onClickImage: prop_types_default.a.func, + + /** + * Dropdown for more actions button; doesn't show more actions button if empty + */ + moreActionsDropdown: prop_types_default.a.node, + + /** + * Icon associated with the file. Accepts an Icon component + */ + icon: prop_types_default.a.node, + + /** + * Icon to be shown in top left corner of File component. Accepts an Icon component + */ + externalIcon: prop_types_default.a.node, + + /** + * Link to thumbnail image + */ + image: prop_types_default.a.string, + + /** + * Controls whether file preview is loading + */ + isLoading: prop_types_default.a.bool, + + /** + * Href attribute for image + */ + href: prop_types_default.a.string, + + /** + * Labels for the File Component + * * image - title for the file. Required. + */ + labels: prop_types_default.a.shape({ + title: prop_types_default.a.string.isRequired + }), + + /** + * Controls whether the file's title should be visible + */ + hasNoVisibleTitle: prop_types_default.a.bool +}; +var file_defaultProps = { + assistiveText: { + download: 'download', + link: 'Preview:', + loading: 'loading', + moreActions: 'more actions' + }, + crop: '16-by-9', + href: 'javascript:void(0);', + isLoading: false, + hasNoVisibleTitle: false +}; +/** + * File is a component that represents content uploaded as an attachment. + */ + +var file_File = /*#__PURE__*/function (_React$Component) { + file_inherits(File, _React$Component); + + var _super = file_createSuper(File); + + function File() { + file_classCallCheck(this, File); + + return _super.apply(this, arguments); + } + + file_createClass(File, [{ + key: "UNSAFE_componentWillMount", + // eslint-disable-next-line camelcase, react/sort-comp + value: function UNSAFE_componentWillMount() { + this.generatedId = shortid_default.a.generate(); + } + /** + * Get the File's HTML id. Generate a new one if no ID present. + */ + + }, { + key: "getId", + value: function getId() { + return this.props.id || this.generatedId; + } + }, { + key: "render", + value: function render() { + var assistiveText = file_objectSpread(file_objectSpread({}, file_defaultProps.assistiveText), this.props.assistiveText); + + return /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + id: this.getId(), + className: classnames_default()('slds-file', 'slds-file_card', !this.props.hasNoVisibleTitle ? 'slds-has-title' : null, this.props.className) + }, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("figure", null, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("a", { + href: this.props.href, + className: classnames_default()('slds-file__crop', this.props.crop ? "slds-file__crop_".concat(this.props.crop) : null), + onClick: this.props.onClickImage + }, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(file_figure, { + assistiveText: assistiveText, + labels: { + title: this.props.labels.title + }, + isLoading: this.props.isLoading, + image: this.props.image, + icon: this.props.icon + })), !this.props.hasNoVisibleTitle ? /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("figcaption", { + className: "slds-file__title slds-file__title_card" + }, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: "slds-media__figure slds-line-height_reset" + }, this.props.icon ? /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.cloneElement(this.props.icon, { + size: 'x-small' + }) : null), /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: "slds-media__body" + }, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("span", { + className: "slds-file__text slds-truncate", + title: this.props.labels.title + }, this.props.labels.title))) : null), this.props.externalIcon ? /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: "slds-file__external-icon" + }, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.cloneElement(this.props.externalIcon, { + containerClassName: 'slds-file__icon slds-icon_container' + })) : null, this.props.moreActionsDropdown ? File.injectMoreActionsStyles() : null, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(file_actions, { + assistiveText: assistiveText, + hasNoVisibleTitle: this.props.hasNoVisibleTitle, + onClickDownload: this.props.onClickDownload, + moreActionsDropdown: this.props.moreActionsDropdown + })); + } + }], [{ + key: "injectMoreActionsStyles", + value: function injectMoreActionsStyles() { + return /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("style", null, "\n\t\t\t\t\t.dsr-file__more-actions-dropdown ul.dropdown__list li.slds-dropdown__item > a:before\n\t\t\t\t\t{ background: none; }\n\t\t\t\t\t.dsr-file__more-actions-dropdown ul.dropdown__list li.slds-dropdown__item > a:after\n\t\t\t\t\t{ background: none; }\n\t\t\t\t\t.dsr-file__more-actions > button:first-child\n\t\t\t\t\t{ border-radius: 0 0.25rem 0.25rem 0!important;}\n\t\t\t"); + } + }]); + + return File; +}(external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.Component); + +file_File.displayName = file_displayName; +file_File.propTypes = file_propTypes; +file_File.defaultProps = file_defaultProps; +/* harmony default export */ var file = (file_File); +// CONCATENATED MODULE: ./components/files/index.jsx +function files_typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { files_typeof = function _typeof(obj) { return typeof obj; }; } else { files_typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return files_typeof(obj); } + +function files_classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function files_defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function files_createClass(Constructor, protoProps, staticProps) { if (protoProps) files_defineProperties(Constructor.prototype, protoProps); if (staticProps) files_defineProperties(Constructor, staticProps); return Constructor; } + +function files_inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) files_setPrototypeOf(subClass, superClass); } + +function files_setPrototypeOf(o, p) { files_setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return files_setPrototypeOf(o, p); } + +function files_createSuper(Derived) { var hasNativeReflectConstruct = files_isNativeReflectConstruct(); return function _createSuperInternal() { var Super = files_getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = files_getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return files_possibleConstructorReturn(this, result); }; } + +function files_possibleConstructorReturn(self, call) { if (call && (files_typeof(call) === "object" || typeof call === "function")) { return call; } return files_assertThisInitialized(self); } + +function files_assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +function files_isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } } + +function files_getPrototypeOf(o) { files_getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return files_getPrototypeOf(o); } + +/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */ + +/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */ +// Implements the [Files design pattern](https://lightningdesignsystem.com/components/files/) in React. +// Based on SLDS v2.4.0 + + + // ### shortid +// [npmjs.com/package/shortid](https://www.npmjs.com/package/shortid) +// shortid is a short, non-sequential, url-friendly, unique id generator + + + +var files_displayName = FILES; +var files_propTypes = { + /** + * CSS class names to be added to the container element. `array`, `object`, or `string` are accepted. + */ + className: prop_types_default.a.oneOfType([prop_types_default.a.array, prop_types_default.a.object, prop_types_default.a.string]), + + /** + * HTML id for component. + */ + id: prop_types_default.a.string, + + /** + * Crop ratio for the file preview image + */ + crop: prop_types_default.a.oneOf(['16-by-9', '4-by-3', '1-by-1']), + + /** + * Column class names to be added each file in the grid + */ + columnClassName: prop_types_default.a.string +}; +var files_defaultProps = { + crop: '4-by-3' +}; +/** + * Files is a component that wraps multiple file components that represent an attachment + */ + +var files_Files = /*#__PURE__*/function (_React$Component) { + files_inherits(Files, _React$Component); + + var _super = files_createSuper(Files); + + function Files() { + files_classCallCheck(this, Files); + + return _super.apply(this, arguments); + } + + files_createClass(Files, [{ + key: "UNSAFE_componentWillMount", + // eslint-disable-next-line camelcase, react/sort-comp + value: function UNSAFE_componentWillMount() { + this.generatedId = shortid_default.a.generate(); + } + /** + * Get the File's HTML id. Generate a new one if no ID present. + */ + + }, { + key: "getId", + value: function getId() { + return this.props.id || this.generatedId; + } + }, { + key: "render", + value: function render() { + var _this = this; + + var files = external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.Children.map(this.props.children, function (option) { + return /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("li", { + className: classnames_default()("slds-p-horizontal_xx-small slds-size_1-of-3 slds-medium-size_1-of-4", _this.props.columnClassName) + }, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.cloneElement(option, { + crop: option.props.crop ? option.props.crop : _this.props.crop + })); + }); + return /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("ul", { + className: classnames_default()('slds-grid slds-grid_pull-padded', this.props.className), + id: this.getId() + }, files); + } + }]); + + return Files; +}(external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.Component); + +files_Files.displayName = files_displayName; +files_Files.propTypes = files_propTypes; +files_Files.defaultProps = files_defaultProps; +/* harmony default export */ var components_files = (files_Files); +// CONCATENATED MODULE: ./components/files/more-files.jsx +function more_files_typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { more_files_typeof = function _typeof(obj) { return typeof obj; }; } else { more_files_typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return more_files_typeof(obj); } + +function more_files_ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; } + +function more_files_objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { more_files_ownKeys(Object(source), true).forEach(function (key) { more_files_defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { more_files_ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; } + +function more_files_defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +function more_files_classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function more_files_defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function more_files_createClass(Constructor, protoProps, staticProps) { if (protoProps) more_files_defineProperties(Constructor.prototype, protoProps); if (staticProps) more_files_defineProperties(Constructor, staticProps); return Constructor; } + +function more_files_inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) more_files_setPrototypeOf(subClass, superClass); } + +function more_files_setPrototypeOf(o, p) { more_files_setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return more_files_setPrototypeOf(o, p); } + +function more_files_createSuper(Derived) { var hasNativeReflectConstruct = more_files_isNativeReflectConstruct(); return function _createSuperInternal() { var Super = more_files_getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = more_files_getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return more_files_possibleConstructorReturn(this, result); }; } + +function more_files_possibleConstructorReturn(self, call) { if (call && (more_files_typeof(call) === "object" || typeof call === "function")) { return call; } return more_files_assertThisInitialized(self); } + +function more_files_assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +function more_files_isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } } + +function more_files_getPrototypeOf(o) { more_files_getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return more_files_getPrototypeOf(o); } + +/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */ + +/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */ +// Implements the [Files design pattern](https://lightningdesignsystem.com/components/files/) in React. +// Based on SLDS v2.4.0 + + + // ### shortid +// [npmjs.com/package/shortid](https://www.npmjs.com/package/shortid) +// shortid is a short, non-sequential, url-friendly, unique id generator + + + +var more_files_displayName = FILES_MORE; +var more_files_propTypes = { + /** + * **Assistive text for accessibility** + * * count - description for the more files count + * * image - description for the image + * * link - description for the more files link + */ + assistiveText: prop_types_default.a.shape({ + count: prop_types_default.a.string, + image: prop_types_default.a.string, + link: prop_types_default.a.string + }), + + /** + * CSS class names to be added to the container element. `array`, `object`, or `string` are accepted. + */ + className: prop_types_default.a.oneOfType([prop_types_default.a.array, prop_types_default.a.object, prop_types_default.a.string]), + + /** + * HTML id for component. + */ + id: prop_types_default.a.string, + + /** + * Controls different cropping aspect ratios for the component + */ + crop: prop_types_default.a.oneOf(['16-by-9', '4-by-3', '1-by-1']), + + /** + * Link to thumbnail image + */ + image: prop_types_default.a.string, + + /** + * Controls the number of additional files that is displayed + */ + count: prop_types_default.a.string, + + /** + * Href attribute for image + */ + href: prop_types_default.a.string +}; +var more_files_defaultProps = { + assistiveText: { + count: 'more files', + image: 'Show more files', + link: 'Preview:' + }, + crop: '16-by-9', + href: 'javascript:void(0);' +}; +/** + * MoreFiles is a component that represents a number of file contents uploaded as an attachment. + */ + +var more_files_MoreFiles = /*#__PURE__*/function (_React$Component) { + more_files_inherits(MoreFiles, _React$Component); + + var _super = more_files_createSuper(MoreFiles); + + function MoreFiles() { + more_files_classCallCheck(this, MoreFiles); + + return _super.apply(this, arguments); + } + + more_files_createClass(MoreFiles, [{ + key: "UNSAFE_componentWillMount", + // eslint-disable-next-line camelcase, react/sort-comp + value: function UNSAFE_componentWillMount() { + this.generatedId = shortid_default.a.generate(); + } + }, { + key: "getId", + value: function getId() { + return this.props.id || this.generatedId; + } + }, { + key: "render", + value: function render() { + var assistiveText = more_files_objectSpread(more_files_objectSpread({}, more_files_defaultProps.assistiveText), this.props.assistiveText); + + return /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: classnames_default()("slds-file slds-file_card", this.props.className), + id: this.getId() + }, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("figure", null, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("a", { + href: this.props.href, + className: classnames_default()('slds-file__crop', this.props.crop ? "slds-file__crop_".concat(this.props.crop) : null) + }, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: "slds-file_overlay" + }), /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("span", { + className: "slds-assistive-text" + }, assistiveText.link), /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("img", { + src: this.props.image, + alt: assistiveText.image + })), /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("figcaption", { + className: "slds-file__title slds-file__title_overlay slds-align_absolute-center slds-text-heading_large" + }, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: "slds-media slds-media_small slds-media_center" + }, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: "slds-media__figure slds-line-height_reset" + }), /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: "slds-media__body" + }, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("span", { + className: "slds-file__text slds-truncate", + title: this.props.count + }, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("span", null, this.props.count), /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("span", { + className: "slds-assistive-text" + }, assistiveText.count))))))); + } + }]); + + return MoreFiles; +}(external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.Component); + +more_files_MoreFiles.displayName = more_files_displayName; +more_files_MoreFiles.propTypes = more_files_propTypes; +more_files_MoreFiles.defaultProps = more_files_defaultProps; +/* harmony default export */ var more_files = (more_files_MoreFiles); +// CONCATENATED MODULE: ./components/filter/index.jsx +function filter_typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { filter_typeof = function _typeof(obj) { return typeof obj; }; } else { filter_typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return filter_typeof(obj); } + +function components_filter_extends() { components_filter_extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return components_filter_extends.apply(this, arguments); } + +function filter_classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function filter_defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function filter_createClass(Constructor, protoProps, staticProps) { if (protoProps) filter_defineProperties(Constructor.prototype, protoProps); if (staticProps) filter_defineProperties(Constructor, staticProps); return Constructor; } + +function filter_inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) filter_setPrototypeOf(subClass, superClass); } + +function filter_setPrototypeOf(o, p) { filter_setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return filter_setPrototypeOf(o, p); } + +function filter_createSuper(Derived) { var hasNativeReflectConstruct = filter_isNativeReflectConstruct(); return function _createSuperInternal() { var Super = filter_getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = filter_getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return filter_possibleConstructorReturn(this, result); }; } + +function filter_possibleConstructorReturn(self, call) { if (call && (filter_typeof(call) === "object" || typeof call === "function")) { return call; } return filter_assertThisInitialized(self); } + +function filter_assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +function filter_isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } } + +function filter_getPrototypeOf(o) { filter_getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return filter_getPrototypeOf(o); } + +function filter_defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */ + +/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */ + +/* eslint-disable no-script-url */ +// # Filter +// Implements part of the [Panel design pattern](https://www.lightningdesignsystem.com/components/panels) in React. +// Based on SLDS v2.2.0-rc.1 +// ## Dependencies +// ### React + + // ### assign + + // ### classNames + + // ### shortid +// [npmjs.com/package/shortid](https://www.npmjs.com/package/shortid) +// shortid is a short, non-sequential, url-friendly, unique id generator + + + + // ## Constants + + +/** + * A Filter is a popover with custom trigger. It can be used by [Panel Filtering](/components/panels/). Menus within a Filter Popover will need to not have "portal mounts" and be inline. + */ + +var components_filter_Filter = /*#__PURE__*/function (_React$Component) { + filter_inherits(Filter, _React$Component); + + var _super = filter_createSuper(Filter); + + function Filter(props) { + var _this; + + filter_classCallCheck(this, Filter); + + _this = _super.call(this, props); + + filter_defineProperty(filter_assertThisInitialized(_this), "state", { + popoverIsOpen: _this.props.popover ? _this.props.popover.props.isOpen : false + }); + + filter_defineProperty(filter_assertThisInitialized(_this), "getId", function () { + return _this.props.id || _this.generatedId; + }); + + filter_defineProperty(filter_assertThisInitialized(_this), "getCustomPopoverProps", function (_ref) { + var assistiveText = _ref.assistiveText; + + /* + * Generate the popover props based on passed in popover props. Using the default behavior if not provided by passed in popover + */ + var popoverBody = /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", null, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("h4", { + className: "slds-assistive-text", + id: "".concat(_this.getId(), "-popover-heading") + }, assistiveText.editFilterHeading), _this.props.children, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: "slds-m-top_small slds-text-align_right" + }, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(components_button, { + className: "slds-col_bump-left", + label: "Done", + onClick: _this.handleChange + }))); + var defaultPopoverProps = { + ariaLabelledby: "".concat(_this.getId(), "-popover-heading"), + align: _this.props.align, + body: popoverBody, + heading: '', + id: _this.getId(), + isOpen: _this.state.popoverIsOpen, + // MAGIC NUMBERS - REMOVE/REDESIGN WHEN DESIGN FOR RIGHT-ALIGNED FILTERS ARE ADDED TO SLDS + offset: _this.props.align === 'right' ? '0px -35px' : undefined, + onClose: _this.handleClose, + onRequestClose: _this.handleClose, + position: 'overflowBoundaryElement', + triggerClassName: 'slds-grow' + }; + /* Mixin passed popover's props if there is any to override the default popover props */ + + var popoverProps = lodash_assign_default()(defaultPopoverProps, _this.props.popover ? _this.props.popover.props : {}); // eslint-disable-next-line fp/no-delete + + delete popoverProps.children; + return popoverProps; + }); + + filter_defineProperty(filter_assertThisInitialized(_this), "handleFilterClick", function () { + _this.setState({ + popoverIsOpen: true + }); + + if (_this.props.onClick) { + _this.props.onClick(); + } + }); + + filter_defineProperty(filter_assertThisInitialized(_this), "handleClose", function () { + _this.setState({ + popoverIsOpen: false + }); + }); + + filter_defineProperty(filter_assertThisInitialized(_this), "handleChange", function (event) { + _this.setState({ + popoverIsOpen: false + }); + + if (_this.props.onChange) { + _this.props.onChange(event, { + id: _this.getId() + }); + } + }); + + filter_defineProperty(filter_assertThisInitialized(_this), "handleRemove", function (event) { + if (_this.props.onRemove) { + _this.props.onRemove(event, { + id: _this.getId() + }); + } + }); + + _this.generatedId = shortid_default.a.generate(); + return _this; + } + + filter_createClass(Filter, [{ + key: "render", + value: function render() { + /* Remove at next breaking change */ + var assistiveText = { + editFilter: this.props.assistiveTextEditFilter || // eslint-disable-line react/prop-types + this.props.assistiveText.editFilter, + editFilterHeading: this.props.assistiveTextEditFilterHeading || // eslint-disable-line react/prop-types + this.props.assistiveText.editFilterHeading, + removeFilter: this.props.assistiveTextRemoveFilter || // eslint-disable-line react/prop-types + this.props.assistiveText.removeFilter || "Remove Filter: ".concat(this.props.property, " ").concat(this.props.predicate) + }; + /* TODO: Button wrapper for property and predictate should be transitioned to `Button` component. `Button` needs to take custom children first though. */ + + var popoverProps = this.getCustomPopoverProps({ + assistiveText: assistiveText + }); + return /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: classnames_default()('slds-filters__item', 'slds-grid', 'slds-grid_vertical-align-center', { + 'slds-is-locked': this.props.isLocked, + 'slds-is-new': this.props.isNew, + 'slds-has-error': this.props.isError + }, this.props.className) + }, !this.props.isLocked && (this.props.children || this.props.popover) ? /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(components_popover, components_filter_extends({}, popoverProps, { + silenceDeprecatedPropertyWarning: true + }), /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("button", { + className: "slds-button_reset slds-grow slds-has-blur-focus", + onClick: this.handleFilterClick, + "aria-describedby": this.props.isError ? "".concat(this.getId(), "-error") : undefined, + type: "button" + }, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("span", { + className: "slds-assistive-text" + }, assistiveText.editFilter), this.props.property ? /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("span", { + className: "slds-show slds-text-body_small" + }, this.props.property) : null, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("span", { + className: "slds-show" + }, this.props.predicate))) : /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("button", { + "aria-describedby": this.props.isError ? "".concat(this.getId(), "-error") : undefined, + className: "slds-button_reset slds-grow slds-has-blur-focus", + disabled: true, + type: "button" + }, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("span", { + className: "slds-show slds-text-body_small" + }, this.props.property), /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("span", { + className: "slds-show" + }, this.props.predicate)), // Remove button + !this.props.isPermanent && !this.props.isLocked ? /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(components_button, { + assistiveText: { + icon: assistiveText.removeFilter + }, + hint: true, + iconCategory: "utility", + iconName: "delete", + iconSize: "small", + iconVariant: "bare", + onClick: this.handleRemove, + title: assistiveText.removeFilter, + variant: "icon" + }) : null); + } + }]); + + return Filter; +}(external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.Component); + +filter_defineProperty(components_filter_Filter, "displayName", FILTER); + +filter_defineProperty(components_filter_Filter, "propTypes", { + /** + * Aligns the popover with the respective side of the trigger. That is `left` will place the `Popover` to the left of the Filter. + */ + align: prop_types_default.a.oneOf(['left', 'right']), + + /** + * **Assistive text for accessibility** + * * `removeFilter`: Assistive text for removing a filter. The default is `Remove Filter: this.props.property this.props.predicate`. + * * `editFilter`: Assistive text for changing a filter. + * * `editFilterHeading`: Assistive text for Popover heading. + */ + assistiveText: prop_types_default.a.shape({ + editFilter: prop_types_default.a.string, + editFilterHeading: prop_types_default.a.string, + removeFilter: prop_types_default.a.string + }), + + /** + * Contents of popover. That is the dropdowns and inputs that set the filter criteria. + */ + children: prop_types_default.a.node, + + /** + * Custom CSS classes for `slds-filters__item` node. Uses `classNames` [API](https://github.com/JedWatson/classnames). + */ + className: prop_types_default.a.oneOfType([prop_types_default.a.array, prop_types_default.a.object, prop_types_default.a.string]), + + /** + * Applies error state styling. Per filter error messages are outside this components. + */ + isError: prop_types_default.a.bool, + + /** + * A unique ID is needed in order to support keyboard navigation, ARIA support, and connect the dropdown to the triggering button. An `id` will be generated if none is supplied. + */ + id: prop_types_default.a.string, + + /** + * If true, the filter will not display an editing popover when clicked. + */ + isLocked: prop_types_default.a.bool, + + /** + * Applies new filter styling. + */ + isNew: prop_types_default.a.bool, + + /** + * If true, the filter will not include a remove button. + */ + isPermanent: prop_types_default.a.bool, + + /** + * Will be triggered when Done within the Popover is clicked. This is the place to update the filter props displayed. Callback will recieve parameters: `clickEvent, { id }`. An index into your store may be a good setting for `id`, so that it will be passed back here. + */ + onChange: prop_types_default.a.func, + + /** + * Will be triggered when "Remove Filter" button is clicked. Callback will recieve parameters: `clickEvent, { id }`. An index into your store may be a good setting for `id`, so that it will be passed back here. + */ + onRemove: prop_types_default.a.func, + + /** + * Will be triggered when Filter is clicked. This is the place to close/open popover if a custom popover is passed in + */ + onClick: prop_types_default.a.func, + + /** + * A `Popover` component. The props from this popover will be merged and override any default props. This also allows a Filter's Popover dialog to be a controlled component. _Tested with Mocha framework._ + */ + popover: prop_types_default.a.node, + + /** + * The criteria you are filtering for. For instance, if "Hair Color is PURPLE" is your filter, "is PURPLE" is your filter predicate. + */ + predicate: prop_types_default.a.node, + + /** + * The property you are filtering. For instance, if "Hair Color is PURPLE" is your filter, "Hair Color" is your filter property. + */ + property: prop_types_default.a.node +}); + +filter_defineProperty(components_filter_Filter, "defaultProps", { + align: 'left', + assistiveText: { + editFilter: 'Edit filter:', + editFilterHeading: 'Choose filter criteria' + }, + predicate: 'New Filter' +}); + +/* harmony default export */ var components_filter = (components_filter_Filter); +// CONCATENATED MODULE: ./components/global-header/check-props.js +/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */ + +/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */ + +/* eslint-disable import/no-mutable-exports */ + + + + // ## Constants + + + +var global_header_check_props_checkProps = function checkPropsFunction() {}; + +if (false) {} + +/* harmony default export */ var global_header_check_props = (global_header_check_props_checkProps); +// EXTERNAL MODULE: ./components/global-header/component.json +var global_header_component = __webpack_require__(50); + +// CONCATENATED MODULE: ./components/global-header/index.jsx +function global_header_typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { global_header_typeof = function _typeof(obj) { return typeof obj; }; } else { global_header_typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return global_header_typeof(obj); } + +function global_header_ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; } + +function global_header_objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { global_header_ownKeys(Object(source), true).forEach(function (key) { global_header_defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { global_header_ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; } + +function global_header_classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function global_header_defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function global_header_createClass(Constructor, protoProps, staticProps) { if (protoProps) global_header_defineProperties(Constructor.prototype, protoProps); if (staticProps) global_header_defineProperties(Constructor, staticProps); return Constructor; } + +function global_header_inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) global_header_setPrototypeOf(subClass, superClass); } + +function global_header_setPrototypeOf(o, p) { global_header_setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return global_header_setPrototypeOf(o, p); } + +function global_header_createSuper(Derived) { var hasNativeReflectConstruct = global_header_isNativeReflectConstruct(); return function _createSuperInternal() { var Super = global_header_getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = global_header_getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return global_header_possibleConstructorReturn(this, result); }; } + +function global_header_possibleConstructorReturn(self, call) { if (call && (global_header_typeof(call) === "object" || typeof call === "function")) { return call; } return global_header_assertThisInitialized(self); } + +function global_header_assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +function global_header_isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } } + +function global_header_getPrototypeOf(o) { global_header_getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return global_header_getPrototypeOf(o); } + +function global_header_defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */ + +/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */ +// # Global Header Component +// Implements the [Global Header design pattern](https://www.lightningdesignsystem.com/components/global-header) in React. +// Based on SLDS v2.1.0-rc.2 +// ## Dependencies +// ### React + + // This component's `checkProps` which issues warnings to developers about properties when in development mode (similar to React's built in development tools) + + + // ### Event Helpers + + // ## Constants + + +var global_header_defaultProps = { + assistiveText: { + skipToNav: 'Skip to Navigation', + skipToContent: 'Skip to Main Content' + }, + logoSrc: '/assets/images/logo-noname.svg' +}; +/** + * The global header is the anchor for the Salesforce platform and spans all other parts of the UI. It accepts children to define the items displayed within. + * + * Example: + * ``` + * <SLDSGlobalHeader> + * <SLDSGlobalHeaderSearch /> + * <SLDSGlobalHeaderButton /> + * <SLDSGlobalHeaderDropdown /> + * <SLDSGlobalHeaderDropdown /> + * <SLDSGlobalHeaderProfile /> + * </SLDSGlobalHeader> + * ``` + */ + +var global_header_GlobalHeader = /*#__PURE__*/function (_React$Component) { + global_header_inherits(GlobalHeader, _React$Component); + + var _super = global_header_createSuper(GlobalHeader); + + function GlobalHeader(props) { + var _this; + + global_header_classCallCheck(this, GlobalHeader); + + _this = _super.call(this, props); + + global_header_defineProperty(global_header_assertThisInitialized(_this), "handleSkipToContent", function (e) { + utilities_event.trap(e); + + _this.props.onSkipToContent(e); + }); + + global_header_defineProperty(global_header_assertThisInitialized(_this), "handleSkipToNav", function (e) { + utilities_event.trap(e); + + _this.props.onSkipToNav(e); + }); + + global_header_check_props(GLOBAL_HEADER, props, global_header_component); + return _this; + } + + global_header_createClass(GlobalHeader, [{ + key: "render", + value: function render() { + var _actions; + + var assistiveText = global_header_objectSpread(global_header_objectSpread({}, global_header_defaultProps.assistiveText), this.props.assistiveText); + + var actions = (_actions = {}, global_header_defineProperty(_actions, GLOBAL_HEADER_FAVORITES, []), global_header_defineProperty(_actions, GLOBAL_HEADER_HELP, []), global_header_defineProperty(_actions, GLOBAL_HEADER_NOTIFICATIONS, []), global_header_defineProperty(_actions, GLOBAL_HEADER_PROFILE, []), global_header_defineProperty(_actions, GLOBAL_HEADER_SETUP, []), global_header_defineProperty(_actions, GLOBAL_HEADER_TASK, []), global_header_defineProperty(_actions, GLOBAL_HEADER_TOOL, []), _actions); + var search; + external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.Children.forEach(this.props.children, function (child) { + if (child) { + if (child.type.displayName === GLOBAL_HEADER_SEARCH) { + search = child; + } else if (actions[child.type.displayName]) { + // eslint-disable-next-line fp/no-mutating-methods + actions[child.type.displayName].push(child); + } + } + }); + actions = [].concat(actions[GLOBAL_HEADER_FAVORITES], actions[GLOBAL_HEADER_TASK], actions[GLOBAL_HEADER_HELP], actions[GLOBAL_HEADER_SETUP], actions[GLOBAL_HEADER_NOTIFICATIONS], actions[GLOBAL_HEADER_TOOL], // support for deprecated GlobalHeaderButton and GlobalHeaderDropdown + actions[GLOBAL_HEADER_PROFILE]); + /* eslint-disable max-len, no-script-url */ + + return /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("header", { + className: "slds-global-header_container" + }, this.props.onSkipToNav ? /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("a", { + href: "javascript:void(0);", + className: "slds-assistive-text slds-assistive-text_focus", + onClick: this.handleSkipToNav + }, this.props.skipToNavAssistiveText || assistiveText.skipToNav) : null, this.props.onSkipToContent ? /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("a", { + href: "javascript:void(0);", + className: "slds-assistive-text slds-assistive-text_focus", + onClick: this.handleSkipToContent + }, this.props.skipToContentAssistiveText || assistiveText.skipToContent) : null, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: "slds-global-header slds-grid slds-grid_align-spread" + }, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: "slds-global-header__item" + }, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: "slds-global-header__logo", + style: { + backgroundImage: "url(".concat(this.props.logoSrc, ")") + } + })), search, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: "slds-global-header__item" + }, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("ul", { + className: "slds-global-actions" + }, actions.map(function (actionItem, index) { + return /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("li", { + className: "slds-global-actions__item", + key: "actions-item-".concat(index) + /* eslint-disable-line react/no-array-index-key */ + + }, actionItem); + })))), this.props.navigation); + /* eslint-enable max-len, no-script-url */ + } + }]); + + return GlobalHeader; +}(external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.Component); + +global_header_defineProperty(global_header_GlobalHeader, "displayName", GLOBAL_HEADER); + +global_header_defineProperty(global_header_GlobalHeader, "propTypes", { + /** + * **Assistive text for accessibility.** + * This object is merged with the default props object on every render. + * * `skipToNav`: The localized text that will be read back for the "Skip to Navigation" accessibility link. + * * `skipToContent`: The localized text that will be read back for the "Skip to Main Content" accessibility link. + */ + assistiveText: prop_types_default.a.shape({ + skipToNav: prop_types_default.a.string, + skipToContent: prop_types_default.a.string + }), + + /** + * See the component description, this accepts some combination of `SLDSGlobalHeaderSearch`, `SLDSGlobalHeaderButton`, `SLDSGlobalHeaderDropdown`, and `SLDSGlobalHeaderProfile` components. + */ + children: prop_types_default.a.node, + + /** + * The Salesforce logo to display in the header. + */ + logoSrc: prop_types_default.a.string, + + /** + * Pass in the Global Navigation Bar component + */ + navigation: prop_types_default.a.node, + + /** + * Required for accessibility. Should jump the user to the primary content area. + */ + onSkipToContent: prop_types_default.a.func, + + /** + * Required for accessibility. Should jump the user to the primary navigation. + */ + onSkipToNav: prop_types_default.a.func +}); + +global_header_defineProperty(global_header_GlobalHeader, "defaultProps", global_header_defaultProps); + +/* harmony default export */ var global_header = (global_header_GlobalHeader); +// CONCATENATED MODULE: ./components/global-header/button.jsx +function global_header_button_extends() { global_header_button_extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return global_header_button_extends.apply(this, arguments); } + +function button_objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = button_objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; } + +function button_objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; } + +/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */ + +/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */ +// # Global Header Button Component +// NOTE: THIS COMPONENT HAS BEEN DEPRECATED AND WILL BE REMOVED IN FUTURE MAJOR RELEASES +// ## Dependencies +// ### React + // ### Button + + // This component's `checkProps` which issues warnings to developers about properties +// when in development mode (similar to React's built in development tools) + + // ## Constants + + +/** + * A helper component that renders a Button in the tools area of the Global Header. Currently defaults to a bare icon, but this can be overriden if text-based buttons are required. + */ + +var button_GlobalHeaderButton = function GlobalHeaderButton(props) { + global_header_check_props(GLOBAL_HEADER_BUTTON, props); + + var buttonVariant = props.buttonVariant, + rest = button_objectWithoutProperties(props, ["buttonVariant"]); + + var btn = /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(components_button, global_header_button_extends({ + iconVariant: "global-header", + variant: "icon" + }, rest)); + return buttonVariant === 'dropdown' ? btn : /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("li", null, btn); +}; + +button_GlobalHeaderButton.displayName = GLOBAL_HEADER_TOOL; +/* harmony default export */ var global_header_button = (button_GlobalHeaderButton); +// CONCATENATED MODULE: ./components/global-header/private/dropdown-trigger.jsx +function dropdown_trigger_typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { dropdown_trigger_typeof = function _typeof(obj) { return typeof obj; }; } else { dropdown_trigger_typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return dropdown_trigger_typeof(obj); } + +function dropdown_trigger_extends() { dropdown_trigger_extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return dropdown_trigger_extends.apply(this, arguments); } + +function dropdown_trigger_objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = dropdown_trigger_objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; } + +function dropdown_trigger_objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; } + +function dropdown_trigger_classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function dropdown_trigger_defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function dropdown_trigger_createClass(Constructor, protoProps, staticProps) { if (protoProps) dropdown_trigger_defineProperties(Constructor.prototype, protoProps); if (staticProps) dropdown_trigger_defineProperties(Constructor, staticProps); return Constructor; } + +function dropdown_trigger_inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) dropdown_trigger_setPrototypeOf(subClass, superClass); } + +function dropdown_trigger_setPrototypeOf(o, p) { dropdown_trigger_setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return dropdown_trigger_setPrototypeOf(o, p); } + +function dropdown_trigger_createSuper(Derived) { var hasNativeReflectConstruct = dropdown_trigger_isNativeReflectConstruct(); return function _createSuperInternal() { var Super = dropdown_trigger_getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = dropdown_trigger_getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return dropdown_trigger_possibleConstructorReturn(this, result); }; } + +function dropdown_trigger_possibleConstructorReturn(self, call) { if (call && (dropdown_trigger_typeof(call) === "object" || typeof call === "function")) { return call; } return dropdown_trigger_assertThisInitialized(self); } + +function dropdown_trigger_assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +function dropdown_trigger_isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } } + +function dropdown_trigger_getPrototypeOf(o) { dropdown_trigger_getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return dropdown_trigger_getPrototypeOf(o); } + +function dropdown_trigger_defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */ + +/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */ + +/* eslint-disable jsx-a11y/no-noninteractive-element-interactions */ +// # Global Header Dropdown Component +// ## Dependencies +// ### React + + // ### classNames +// [github.com/JedWatson/classnames](https://github.com/JedWatson/classnames) +// This project uses `classnames`, "a simple javascript utility for conditionally +// joining classNames together." + + // ### Dropdown + + // ### Children + + +/** + * The Dropdown Button Trigger renders the default trigger button for the dropdown menu. If this component has children, it does not render itself to the DOM. Instead, it renders its child element, `Button`, and all that child's properties. This component may be used as a template to create custom triggers that do not use `Button`. + */ + +var dropdown_trigger_GlobalHeaderDropdownTrigger = /*#__PURE__*/function (_React$Component) { + dropdown_trigger_inherits(GlobalHeaderDropdownTrigger, _React$Component); + + var _super = dropdown_trigger_createSuper(GlobalHeaderDropdownTrigger); + + function GlobalHeaderDropdownTrigger() { + var _this; + + dropdown_trigger_classCallCheck(this, GlobalHeaderDropdownTrigger); + + for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { + args[_key] = arguments[_key]; + } + + _this = _super.call.apply(_super, [this].concat(args)); + + dropdown_trigger_defineProperty(dropdown_trigger_assertThisInitialized(_this), "renderAvatar", function () { + var avatar = _this.props.avatar; + + if (typeof avatar === 'string') { + return /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("span", { + className: "slds-avatar slds-avatar_circle slds-avatar_medium" + }, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("img", { + src: avatar, + alt: "" + })); + } + + return avatar || null; + }); + + return _this; + } + + dropdown_trigger_createClass(GlobalHeaderDropdownTrigger, [{ + key: "render", + // ### Render + value: function render() { + // The following props are provided to the `li`, all others are passed into the `Button` + var _this$props = this.props, + className = _this$props.className, + id = _this$props.id, + isOpen = _this$props.isOpen, + globalAction = _this$props.globalAction, + menu = _this$props.menu, + onBlur = _this$props.onBlur, + onClick = _this$props.onClick, + onFocus = _this$props.onFocus, + onKeyDown = _this$props.onKeyDown, + onMouseDown = _this$props.onMouseDown, + onMouseEnter = _this$props.onMouseEnter, + onMouseLeave = _this$props.onMouseLeave, + triggerRef = _this$props.triggerRef, + rest = dropdown_trigger_objectWithoutProperties(_this$props, ["className", "id", "isOpen", "globalAction", "menu", "onBlur", "onClick", "onFocus", "onKeyDown", "onMouseDown", "onMouseEnter", "onMouseLeave", "triggerRef"]); + + return ( + /*#__PURE__*/ + + /* eslint-disable jsx-a11y/no-static-element-interactions */ + // eslint-disable-next-line jsx-a11y/role-supports-aria-props + external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("li", { + "aria-haspopup": "true", + className: classnames_default()('slds-dropdown-trigger slds-dropdown-trigger_click', { + 'slds-is-open': isOpen, + 'slds-p-around_xx-small': globalAction + }, className), + id: id, + onBlur: onBlur, + onClick: onClick, + onFocus: onFocus, + onKeyDown: onKeyDown, + onMouseDown: onMouseDown, + onMouseEnter: onMouseEnter, + onMouseLeave: onMouseLeave, + ref: triggerRef + }, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(global_header_button, dropdown_trigger_extends({ + className: classnames_default()({ + 'slds-global-header__button_icon-actions': globalAction + }), + iconClassName: classnames_default()({ + 'slds-global-header__icon-actions': globalAction + }), + "aria-haspopup": "true", + buttonVariant: "dropdown" + }, rest), this.renderAvatar()), menu) + ); + } + }]); + + return GlobalHeaderDropdownTrigger; +}(external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.Component); + +dropdown_trigger_defineProperty(dropdown_trigger_GlobalHeaderDropdownTrigger, "displayName", MENU_DROPDOWN_TRIGGER); + +dropdown_trigger_defineProperty(dropdown_trigger_GlobalHeaderDropdownTrigger, "propTypes", { + /** + * An image URL or avatar node to display for the user profile. + */ + avatar: prop_types_default.a.oneOfType([prop_types_default.a.string, prop_types_default.a.node]), + + /** + * CSS classes to be added to `li` element. + */ + className: prop_types_default.a.oneOfType([prop_types_default.a.array, prop_types_default.a.object, prop_types_default.a.string]), + + /** + * A unique ID is needed in order to support keyboard navigation, ARIA support, and connect the dropdown to the triggering button. + */ + id: prop_types_default.a.string, + + /** + * Informs the trigger on the open/close state of the dropdown menu + */ + isOpen: prop_types_default.a.bool, + + /** + * Adds custom styling such as inverse fill and special sizing/spacing + */ + globalAction: prop_types_default.a.bool, + + /** + * The dropdown menu. + */ + menu: prop_types_default.a.node, + + /** + * Is only called when `openOn` is set to `hover` and when the triggering li loses focus. + */ + onBlur: prop_types_default.a.func, + + /** + * This prop is passed onto the triggering `li`. Triggered when the trigger li is clicked. + */ + onClick: prop_types_default.a.func, + + /** + * Is only called when `openOn` is set to `hover` and when the triggering li gains focus. + */ + onFocus: prop_types_default.a.func, + + /** + * Called when a key pressed. + */ + onKeyDown: prop_types_default.a.func, + + /** + * Called when mouse clicks down on the trigger li. + */ + onMouseDown: prop_types_default.a.func, + + /** + * Called when mouse hovers over the trigger `li`. + */ + onMouseEnter: prop_types_default.a.func, + + /** + * Called when mouse leaves trigger `li` or the menu. + */ + onMouseLeave: prop_types_default.a.func, + + /** + * Determines if mouse hover or click opens the dropdown menu. The default of `click` is highly recommended to comply with accessibility standards. If you are planning on using hover, please pause a moment and reconsider. + */ + openOn: prop_types_default.a.oneOf(['hover', 'click', 'hybrid']), + + /** + * Set to true if menu is inline and relatively positioned with CSS. This is the typical use case for menus with nubbins. + */ + positioned: prop_types_default.a.bool, + + /** + * The ref of the actual triggering button. + */ + triggerRef: prop_types_default.a.func +}); + +/* harmony default export */ var dropdown_trigger = (dropdown_trigger_GlobalHeaderDropdownTrigger); +// CONCATENATED MODULE: ./components/global-header/dropdown.jsx +function dropdown_extends() { dropdown_extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return dropdown_extends.apply(this, arguments); } + +function dropdown_objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = dropdown_objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; } + +function dropdown_objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; } + +/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */ + +/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */ +// # Global Header Dropdown Component +// NOTE: THIS COMPONENT HAS BEEN DEPRECATED AND WILL BE REMOVED IN FUTURE MAJOR RELEASES +// ## Dependencies +// ### React + + // ### Dropdown + + + // This component's `checkProps` which issues warnings to developers about properties +// when in development mode (similar to React's built in development tools) + + // ## Constants + + +/** + * This component is an implementation of `MenuDropdown` with a custom trigger. All the properties listed below are provided to the `MenuDropdown` component. Any additional properties are provided to the Custom Trigger (that is the `Button` or `li` tag). + */ + +var dropdown_GlobalHeaderDropdown = function GlobalHeaderDropdown(props) { + global_header_check_props(GLOBAL_HEADER_DROPDOWN, props); + + var globalAction = props.globalAction, + iconVariant = props.iconVariant, + rest = dropdown_objectWithoutProperties(props, ["globalAction", "iconVariant"]); + + var iconVariantOverride; + + if (globalAction) { + iconVariantOverride = 'container'; + } + + return /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(components_menu_dropdown, dropdown_extends({ + nubbinPosition: "top right" + }, rest), /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(dropdown_trigger, { + globalAction: globalAction, + iconSize: globalAction && 'small', + iconVariant: iconVariantOverride || iconVariant + })); +}; // ### Display Name +// Always use the canonical component name (set in the core) as the React +// display name. + + +dropdown_GlobalHeaderDropdown.displayName = GLOBAL_HEADER_TOOL; // ### Prop Types + +dropdown_GlobalHeaderDropdown.propTypes = { + /** + * Aligns the right or left side of the menu with the respective side of the trigger. This is not intended for use with `nubbinPosition`. + */ + align: prop_types_default.a.oneOf(['left', 'right']), + + /** + * Extra classnames to apply to the dropdown menu. + */ + className: prop_types_default.a.string, + + /** + * CSS classes to be added to `li` element. + */ + buttonClassName: prop_types_default.a.oneOfType([prop_types_default.a.array, prop_types_default.a.object, prop_types_default.a.string]), + + /** + * Name of the icon. Visit <a href="http://www.lightningdesignsystem.com/resources/icons">Lightning Design System Icons</a> to reference icon names. + */ + iconName: prop_types_default.a.string, + + /** + * For icon variants, please reference <a href="http://www.lightningdesignsystem.com/components/buttons/#icon">Lightning Design System Icons</a>. + */ + iconVariant: prop_types_default.a.oneOf(['bare', 'container', 'border', 'border-filled', 'more', 'global-header']), + + /** + * A unique ID is needed in order to support keyboard navigation, ARIA support, and connect the dropdown to the triggering button. + */ + id: prop_types_default.a.string, + + /** + * Adds custom styling such as inverse fill and special sizing/spacing + */ + globalAction: prop_types_default.a.bool, + + /** + * Positions dropdown menu with a nubbin--that is the arrow notch. The placement options correspond to the placement of the nubbin. This is implemeted with CSS classes and is best used with a `Button` with "icon container" styling. Dropdown menus will still be contained to the closest scrolling parent. + */ + nubbinPosition: prop_types_default.a.oneOf(['top left', 'top', 'top right', 'bottom left', 'bottom', 'bottom right']), + + /** + * Offset adds pixels to the absolutely positioned dropdown menu in the format: ([vertical]px [horizontal]px). + */ + offset: prop_types_default.a.string, + + /** + * Triggered when an item in the menu is clicked. + */ + onSelect: prop_types_default.a.func, + + /** + * An array of menu item. + */ + options: prop_types_default.a.array.isRequired +}; // ### Default Props + +dropdown_GlobalHeaderDropdown.defaultProps = { + align: 'right', + buttonVariant: 'icon', + iconVariant: 'global-header', + nubbinPosition: 'top right' +}; +/* harmony default export */ var global_header_dropdown = (dropdown_GlobalHeaderDropdown); +// CONCATENATED MODULE: ./components/global-header/favorites.jsx +function favorites_typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { favorites_typeof = function _typeof(obj) { return typeof obj; }; } else { favorites_typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return favorites_typeof(obj); } + +function favorites_extends() { favorites_extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return favorites_extends.apply(this, arguments); } + +function favorites_classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function favorites_defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function favorites_createClass(Constructor, protoProps, staticProps) { if (protoProps) favorites_defineProperties(Constructor.prototype, protoProps); if (staticProps) favorites_defineProperties(Constructor, staticProps); return Constructor; } + +function favorites_inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) favorites_setPrototypeOf(subClass, superClass); } + +function favorites_setPrototypeOf(o, p) { favorites_setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return favorites_setPrototypeOf(o, p); } + +function favorites_createSuper(Derived) { var hasNativeReflectConstruct = favorites_isNativeReflectConstruct(); return function _createSuperInternal() { var Super = favorites_getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = favorites_getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return favorites_possibleConstructorReturn(this, result); }; } + +function favorites_possibleConstructorReturn(self, call) { if (call && (favorites_typeof(call) === "object" || typeof call === "function")) { return call; } return favorites_assertThisInitialized(self); } + +function favorites_assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +function favorites_isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } } + +function favorites_getPrototypeOf(o) { favorites_getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return favorites_getPrototypeOf(o); } + +function favorites_defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */ + +/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */ +// # Global Header Favorites Component +// Implements the [Global Header Help design pattern](https://www.lightningdesignsystem.com/components/global-header/#Help) in React. + + + + + + + + + +var favorites_propTypes = { + /** + * **Assistive text for accessibility** + * * `action`: Description of star button. Default is "Toggle Favorite." + * * `more`: Description of dropdown menu. Default is "View Favorites." + */ + assistiveText: prop_types_default.a.shape({ + action: prop_types_default.a.string, + more: prop_types_default.a.string + }), + + /** + * Disables the favorites action (star) button and not the related Popover." + */ + actionDisabled: prop_types_default.a.bool, + + /** + * Controls whether the favorites action (star) button is selected or not + */ + actionSelected: prop_types_default.a.bool, + + /** + * This event fires when the favorites action (star) button is toggled. Passes in `event, { actionSelected }`. + */ + onToggleActionSelected: prop_types_default.a.func, + + /** + * A `Popover` component applied to the favorites more button. The props from this popover will be merged and override any default props. The `children` prop will be ignored. + */ + popover: prop_types_default.a.node +}; +/** + * A GlobalHeaderFavorites component. The favorites action is used to "favorite" a commonly used page within a user's experience. When a user "favorites" a page by pressing the favorites action, the button icon changes color with a small animation to confirm your selection. + */ + +var favorites_GlobalHeaderFavorites = /*#__PURE__*/function (_React$Component) { + favorites_inherits(GlobalHeaderFavorites, _React$Component); + + var _super = favorites_createSuper(GlobalHeaderFavorites); + + function GlobalHeaderFavorites() { + var _this; + + favorites_classCallCheck(this, GlobalHeaderFavorites); + + for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { + args[_key] = arguments[_key]; + } + + _this = _super.call.apply(_super, [this].concat(args)); + + favorites_defineProperty(favorites_assertThisInitialized(_this), "toggleActionSelected", function (event) { + if (_this.props.onToggleActionSelected) { + _this.props.onToggleActionSelected(event, { + actionSelected: _this.props.actionSelected || false + }); + } + }); + + return _this; + } + + favorites_createClass(GlobalHeaderFavorites, [{ + key: "render", + value: function render() { + var _this2 = this; + + var actionAriaProps = {}; + var popoverProps = lodash_assign_default()({ + align: 'bottom', + body: /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("span", null), + triggerClassName: 'slds-dropdown-trigger slds-dropdown-trigger_click' + }, this.props.popover ? this.props.popover.props : {}); // eslint-disable-next-line fp/no-delete + + delete popoverProps.children; + + if (this.props.actionSelected) { + actionAriaProps['aria-pressed'] = true; + } + + return /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: "slds-global-actions__favorites slds-dropdown-trigger slds-dropdown-trigger_click" + }, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: "slds-button-group" + }, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(components_button, favorites_extends({ + assistiveText: { + icon: this.props.assistiveText.action + }, + className: classnames_default()('slds-button_icon slds-global-actions__favorites-action', { + 'slds-is-disabled': this.props.actionDisabled, + 'slds-is-selected': this.props.actionSelected + }), + disabled: this.props.actionDisabled, + iconCategory: "utility", + iconName: "favorite", + iconSize: "small", + iconVariant: "border", + onClick: this.toggleActionSelected, + onKeyDown: function onKeyDown(event) { + if (event.keyCode === key_code.ENTER) { + utilities_event.trapImmediate(event); + + _this2.toggleActionSelected(event); + } + }, + title: this.props.assistiveText.action, + variant: "icon" + }, actionAriaProps)), /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(components_popover, popoverProps, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(components_button, { + assistiveText: { + icon: this.props.assistiveText.more + }, + className: "slds-button_icon slds-global-actions__favorites-more", + iconCategory: "utility", + iconName: "down", + iconSize: "small", + iconVariant: "border", + style: { + // this is needed because the popover trigger wrapper janks up the default styles + borderLeft: '0', + borderRadius: '0 .25rem .25rem 0' + }, + title: this.props.assistiveText.more, + variant: "icon" + })))); + } + }]); + + return GlobalHeaderFavorites; +}(external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.Component); + +favorites_GlobalHeaderFavorites.displayName = GLOBAL_HEADER_FAVORITES; +favorites_GlobalHeaderFavorites.defaultProps = { + assistiveText: { + action: 'Toggle Favorite', + more: 'View Favorites' + } +}; +favorites_GlobalHeaderFavorites.propTypes = favorites_propTypes; +/* harmony default export */ var favorites = (favorites_GlobalHeaderFavorites); +// CONCATENATED MODULE: ./components/global-header/help.jsx +function help_typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { help_typeof = function _typeof(obj) { return typeof obj; }; } else { help_typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return help_typeof(obj); } + +function help_extends() { help_extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return help_extends.apply(this, arguments); } + +function help_classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function help_defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function help_createClass(Constructor, protoProps, staticProps) { if (protoProps) help_defineProperties(Constructor.prototype, protoProps); if (staticProps) help_defineProperties(Constructor, staticProps); return Constructor; } + +function help_inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) help_setPrototypeOf(subClass, superClass); } + +function help_setPrototypeOf(o, p) { help_setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return help_setPrototypeOf(o, p); } + +function help_createSuper(Derived) { var hasNativeReflectConstruct = help_isNativeReflectConstruct(); return function _createSuperInternal() { var Super = help_getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = help_getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return help_possibleConstructorReturn(this, result); }; } + +function help_possibleConstructorReturn(self, call) { if (call && (help_typeof(call) === "object" || typeof call === "function")) { return call; } return help_assertThisInitialized(self); } + +function help_assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +function help_isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } } + +function help_getPrototypeOf(o) { help_getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return help_getPrototypeOf(o); } + +/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */ + +/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */ +// # Global Header Help Component +// Implements the [Global Header Help design pattern](https://www.lightningdesignsystem.com/components/global-header/#Help) in React. + + + + + + +var help_propTypes = { + /** + * **Assistive text for accessibility** + * * `triggerButton`: Assistive text for the GlobalHeaderHelp trigger button. The default is `Help and Training`. + */ + assistiveText: prop_types_default.a.shape({ + triggerButton: prop_types_default.a.string + }), + + /** + * A `Popover` component. The props from this popover will be merged and override any default props. The `children` prop will be ignored. + */ + popover: prop_types_default.a.node +}; +/** + * A GlobalHeaderHelp component. + */ + +var help_GlobalHeaderHelp = /*#__PURE__*/function (_React$Component) { + help_inherits(GlobalHeaderHelp, _React$Component); + + var _super = help_createSuper(GlobalHeaderHelp); + + function GlobalHeaderHelp() { + help_classCallCheck(this, GlobalHeaderHelp); + + return _super.apply(this, arguments); + } + + help_createClass(GlobalHeaderHelp, [{ + key: "render", + value: function render() { + var buttonAriaProps = { + 'aria-haspopup': true + }; + var popoverProps = lodash_assign_default()({ + align: 'bottom', + body: /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("span", null), + triggerClassName: 'slds-dropdown-trigger slds-dropdown-trigger_click' + }, this.props.popover ? this.props.popover.props : {}); // eslint-disable-next-line fp/no-delete + + delete popoverProps.children; + return /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(components_popover, popoverProps, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(components_button, help_extends({ + assistiveText: { + icon: this.props.assistiveText.triggerButton + }, + className: "slds-button_icon slds-global-actions__help slds-global-actions__item-action", + iconCategory: "utility", + iconClassName: "slds-global-header__icon", + iconName: "question", + iconSize: "small", + iconVariant: "container", + title: this.props.assistiveText.triggerButton, + variant: "icon" + }, buttonAriaProps))); + } + }]); + + return GlobalHeaderHelp; +}(external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.Component); + +help_GlobalHeaderHelp.displayName = GLOBAL_HEADER_HELP; +help_GlobalHeaderHelp.defaultProps = { + assistiveText: { + triggerButton: 'Help and Training' + } +}; +help_GlobalHeaderHelp.propTypes = help_propTypes; +/* harmony default export */ var help = (help_GlobalHeaderHelp); +// CONCATENATED MODULE: ./components/global-header/notifications.jsx +function notifications_typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { notifications_typeof = function _typeof(obj) { return typeof obj; }; } else { notifications_typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return notifications_typeof(obj); } + +function notifications_extends() { notifications_extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return notifications_extends.apply(this, arguments); } + +function notifications_classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function notifications_defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function notifications_createClass(Constructor, protoProps, staticProps) { if (protoProps) notifications_defineProperties(Constructor.prototype, protoProps); if (staticProps) notifications_defineProperties(Constructor, staticProps); return Constructor; } + +function notifications_inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) notifications_setPrototypeOf(subClass, superClass); } + +function notifications_setPrototypeOf(o, p) { notifications_setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return notifications_setPrototypeOf(o, p); } + +function notifications_createSuper(Derived) { var hasNativeReflectConstruct = notifications_isNativeReflectConstruct(); return function _createSuperInternal() { var Super = notifications_getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = notifications_getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return notifications_possibleConstructorReturn(this, result); }; } + +function notifications_possibleConstructorReturn(self, call) { if (call && (notifications_typeof(call) === "object" || typeof call === "function")) { return call; } return notifications_assertThisInitialized(self); } + +function notifications_assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +function notifications_isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } } + +function notifications_getPrototypeOf(o) { notifications_getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return notifications_getPrototypeOf(o); } + +/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */ + +/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */ +// # Global Header Notifications Component +// Implements the [Global Header Notifications design pattern](https://www.lightningdesignsystem.com/components/global-header/#Notifications) in React. + + + + + + +var notifications_propTypes = { + /** + * **Assistive text for accessibility** + * * `newNotificationsAfter`: Assistive text for when there are new notifications, after the notificationCount. The default is ' new notifications'. + * * `newNotificationsBefore`: Assistive text for when there are new notifications, before the notificationCount. The default is ''. + * * `noNotifications`: Assistive text for when there are no new notifications. + */ + assistiveText: prop_types_default.a.shape({ + newNotificationsAfter: prop_types_default.a.string, + newNotificationsBefore: prop_types_default.a.string, + noNotifications: prop_types_default.a.string + }), + + /** + * Dictates the number of notifications shown in the new notifications badge. + */ + notificationCount: prop_types_default.a.number, + + /** + * A `Popover` component. The props from this popover will be merged and override any default props. The `children` prop will be ignored. + */ + popover: prop_types_default.a.node +}; +/** + * A GlobalHeaderNotifications component. Notifications are a way to notify a user about a global change within the application. + */ + +var notifications_GlobalHeaderNotifications = /*#__PURE__*/function (_React$Component) { + notifications_inherits(GlobalHeaderNotifications, _React$Component); + + var _super = notifications_createSuper(GlobalHeaderNotifications); + + function GlobalHeaderNotifications() { + notifications_classCallCheck(this, GlobalHeaderNotifications); + + return _super.apply(this, arguments); + } + + notifications_createClass(GlobalHeaderNotifications, [{ + key: "render", + value: function render() { + var buttonAriaProps = { + 'aria-live': 'assertive' + }; + var notificationCount = this.props.notificationCount; + var popoverProps = lodash_assign_default()({ + align: 'bottom right', + body: /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("span", null), + triggerClassName: 'slds-dropdown-trigger slds-dropdown-trigger_click' + }, this.props.popover ? this.props.popover.props : {}); + var notificationsAssistiveText = this.props.assistiveText.noNotifications; // eslint-disable-next-line fp/no-delete + + delete popoverProps.children; + + if (notificationCount > 0) { + notificationsAssistiveText = "".concat(this.props.assistiveText.newNotificationsBefore).concat(notificationCount).concat(this.props.assistiveText.newNotificationsAfter); + } else { + buttonAriaProps['aria-atomic'] = true; + } + + return /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(components_popover, popoverProps, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(components_button, notifications_extends({ + assistiveText: { + icon: notificationsAssistiveText + }, + className: "slds-button_icon slds-global-actions__notifications slds-global-actions__item-action", + iconCategory: "utility", + iconClassName: "slds-global-header__icon", + iconName: "notification", + iconSize: "small", + iconVariant: "container", + title: notificationsAssistiveText, + variant: "icon" + }, buttonAriaProps)), notificationCount > 0 ? /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("span", { + "aria-hidden": "true", + className: "slds-notification-badge slds-incoming-notification slds-show-notification" + }, notificationCount) : /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("span", { + "aria-hidden": "true", + className: "slds-notification-badge" + })); + } + }]); + + return GlobalHeaderNotifications; +}(external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.Component); + +notifications_GlobalHeaderNotifications.displayName = GLOBAL_HEADER_NOTIFICATIONS; +notifications_GlobalHeaderNotifications.defaultProps = { + assistiveText: { + newNotificationsAfter: ' new notifications', + newNotificationsBefore: '', + noNotifications: 'No new notifications' + }, + notificationCount: 0 +}; +notifications_GlobalHeaderNotifications.propTypes = notifications_propTypes; +/* harmony default export */ var notifications = (notifications_GlobalHeaderNotifications); +// CONCATENATED MODULE: ./components/global-header/profile.jsx +function profile_typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { profile_typeof = function _typeof(obj) { return typeof obj; }; } else { profile_typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return profile_typeof(obj); } + +function profile_extends() { profile_extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return profile_extends.apply(this, arguments); } + +function profile_classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function profile_defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function profile_createClass(Constructor, protoProps, staticProps) { if (protoProps) profile_defineProperties(Constructor.prototype, protoProps); if (staticProps) profile_defineProperties(Constructor, staticProps); return Constructor; } + +function profile_inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) profile_setPrototypeOf(subClass, superClass); } + +function profile_setPrototypeOf(o, p) { profile_setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return profile_setPrototypeOf(o, p); } + +function profile_createSuper(Derived) { var hasNativeReflectConstruct = profile_isNativeReflectConstruct(); return function _createSuperInternal() { var Super = profile_getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = profile_getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return profile_possibleConstructorReturn(this, result); }; } + +function profile_possibleConstructorReturn(self, call) { if (call && (profile_typeof(call) === "object" || typeof call === "function")) { return call; } return profile_assertThisInitialized(self); } + +function profile_assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +function profile_isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } } + +function profile_getPrototypeOf(o) { profile_getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return profile_getPrototypeOf(o); } + +/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */ + +/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */ +// # Global Header Button Component +// ## Dependencies +// ### React + + + + + + + // ## Constants + + +/** + * This component is an `Avatar` component that opens a `Popover` component when clicked. + */ + +var profile_GlobalHeaderProfile = /*#__PURE__*/function (_React$Component) { + profile_inherits(GlobalHeaderProfile, _React$Component); + + var _super = profile_createSuper(GlobalHeaderProfile); + + function GlobalHeaderProfile(props) { + var _this; + + profile_classCallCheck(this, GlobalHeaderProfile); + + _this = _super.call(this, props); + global_header_check_props(GLOBAL_HEADER_PROFILE, props); + return _this; + } + + profile_createClass(GlobalHeaderProfile, [{ + key: "render", + value: function render() { + var buttonAriaProps = { + 'aria-haspopup': true + }; + var popoverProps = lodash_assign_default()({ + align: 'bottom right', + body: /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("span", null), + className: this.props.className, + heading: this.props.userName, + id: this.props.id, + triggerClassName: 'slds-dropdown-trigger slds-dropdown-trigger_click' + }, this.props.popover ? this.props.popover.props : {}); // Note: the default avatar is done this way to prevent documentation from showing this giant string + + /* eslint-disable max-len */ + + var avatar = 'data:image/jpeg;base64,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'; + /* eslint-enable max-len */ + // eslint-disable-next-line fp/no-delete + + delete popoverProps.children; + avatar = this.props.avatar ? this.props.avatar : avatar; + return /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(components_popover, popoverProps, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(components_button, profile_extends({ + className: classnames_default()('slds-global-actions__avatar slds-global-actions__item-action', this.props.buttonClassName), + title: this.props.userName, + variant: "icon" + }, buttonAriaProps), typeof avatar === 'string' ? /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("span", { + className: "slds-avatar slds-avatar_circle slds-avatar_medium" + }, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("img", { + alt: this.props.userName, + src: avatar, + title: "User avatar" + })) : avatar || null)); + } + }]); + + return GlobalHeaderProfile; +}(external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.Component); // ### Display Name + + +profile_GlobalHeaderProfile.displayName = GLOBAL_HEADER_PROFILE; // ### Prop Types + +profile_GlobalHeaderProfile.propTypes = { + /** + * Extra classnames to apply to the popover. + */ + className: prop_types_default.a.string, + + /** + * An image URL or avatar node to display for the user profile. Defaults to a base64 encoded generic user avatar image string + */ + avatar: prop_types_default.a.oneOfType([prop_types_default.a.string, prop_types_default.a.node]), + + /** + * CSS classes to be added to the `button` element. + */ + buttonClassName: prop_types_default.a.oneOfType([prop_types_default.a.array, prop_types_default.a.object, prop_types_default.a.string]), + + /** + * A unique ID is needed in order to support keyboard navigation, ARIA support, and connect the popover to the triggering button. If an id is not provided, it will be automatically generated. + */ + id: prop_types_default.a.string, + + /** + * A `Popover` component. The props from this popover will be merged and override any default props. + */ + popover: prop_types_default.a.node, + + /** + * The user name of the profile. Defaults to "User Name" + */ + userName: prop_types_default.a.string +}; // ### Default Props + +profile_GlobalHeaderProfile.defaultProps = { + userName: 'User Name' +}; +/* harmony default export */ var profile = (profile_GlobalHeaderProfile); +// CONCATENATED MODULE: ./components/global-header/search.jsx +/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */ + +/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */ +// # Global Header Search Component +// ## Dependencies +// ### React + + // ## Constants + + +/** + * The GlobalHeaderSearch component is used for application wide search. The form element is implemented as a `Combobox`. + */ + +var search_GlobalHeaderSearch = function GlobalHeaderSearch(props) { + return /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: "slds-global-header__item slds-global-header__item_search" + }, props.combobox); +}; + +search_GlobalHeaderSearch.displayName = GLOBAL_HEADER_SEARCH; +search_GlobalHeaderSearch.propTypes = { + /** + * A required `Combobox` component. The props from this combobox will be merged and override any default props. + */ + combobox: prop_types_default.a.node.isRequired +}; +/* harmony default export */ var global_header_search = (search_GlobalHeaderSearch); +// CONCATENATED MODULE: ./components/global-header/setup.jsx +function setup_typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { setup_typeof = function _typeof(obj) { return typeof obj; }; } else { setup_typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return setup_typeof(obj); } + +function setup_extends() { setup_extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return setup_extends.apply(this, arguments); } + +function setup_classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function setup_defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function setup_createClass(Constructor, protoProps, staticProps) { if (protoProps) setup_defineProperties(Constructor.prototype, protoProps); if (staticProps) setup_defineProperties(Constructor, staticProps); return Constructor; } + +function setup_inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) setup_setPrototypeOf(subClass, superClass); } + +function setup_setPrototypeOf(o, p) { setup_setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return setup_setPrototypeOf(o, p); } + +function setup_createSuper(Derived) { var hasNativeReflectConstruct = setup_isNativeReflectConstruct(); return function _createSuperInternal() { var Super = setup_getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = setup_getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return setup_possibleConstructorReturn(this, result); }; } + +function setup_possibleConstructorReturn(self, call) { if (call && (setup_typeof(call) === "object" || typeof call === "function")) { return call; } return setup_assertThisInitialized(self); } + +function setup_assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +function setup_isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } } + +function setup_getPrototypeOf(o) { setup_getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return setup_getPrototypeOf(o); } + +/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */ + +/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */ +// # Global Header Setup Component +// Implements the [Global Header Setup design pattern](https://www.lightningdesignsystem.com/components/global-header/#Setup) in React. + + + + + + + +var setup_propTypes = { + /** + * **Assistive text for accessibility** + * * `triggerButton`: Assistive text for the GlobalHeaderSetup trigger button. The default is `Setup`. + */ + assistiveText: prop_types_default.a.shape({ + triggerButton: prop_types_default.a.string + }), + + /** + * A `Dropdown` component. The props from this dropdown will be merged and override any default props. This also allows custom content to be passed as children and rendered in the dropdown. + */ + dropdown: prop_types_default.a.node +}; +/** + * A GlobalHeaderSetup component. + */ + +var setup_GlobalHeaderSetup = /*#__PURE__*/function (_React$Component) { + setup_inherits(GlobalHeaderSetup, _React$Component); + + var _super = setup_createSuper(GlobalHeaderSetup); + + function GlobalHeaderSetup() { + setup_classCallCheck(this, GlobalHeaderSetup); + + return _super.apply(this, arguments); + } + + setup_createClass(GlobalHeaderSetup, [{ + key: "render", + value: function render() { + var buttonAriaProps = { + 'aria-haspopup': true + }; + var dropdownProps = lodash_assign_default()({ + align: 'right', + nubbinPosition: 'top right' + }, this.props.dropdown ? this.props.dropdown.props : {}); + var dropdownChildren = dropdownProps.children || null; // eslint-disable-next-line fp/no-delete + + delete dropdownProps.children; + return /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(components_menu_dropdown, dropdownProps, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(button_trigger, null, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(components_button, setup_extends({ + assistiveText: { + icon: this.props.assistiveText.triggerButton + }, + className: "slds-button_icon slds-global-actions__setup slds-global-actions__item-action", + iconCategory: "utility", + iconClassName: "slds-global-header__icon", + iconName: "setup", + iconSize: "small", + iconVariant: "container", + title: this.props.assistiveText.triggerButton, + variant: "icon" + }, buttonAriaProps))), dropdownChildren); + } + }]); + + return GlobalHeaderSetup; +}(external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.Component); + +setup_GlobalHeaderSetup.displayName = GLOBAL_HEADER_SETUP; +setup_GlobalHeaderSetup.defaultProps = { + assistiveText: { + triggerButton: 'Setup' + } +}; +setup_GlobalHeaderSetup.propTypes = setup_propTypes; +/* harmony default export */ var setup = (setup_GlobalHeaderSetup); +// CONCATENATED MODULE: ./components/global-header/task.jsx +function task_typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { task_typeof = function _typeof(obj) { return typeof obj; }; } else { task_typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return task_typeof(obj); } + +function task_extends() { task_extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return task_extends.apply(this, arguments); } + +function task_classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function task_defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function task_createClass(Constructor, protoProps, staticProps) { if (protoProps) task_defineProperties(Constructor.prototype, protoProps); if (staticProps) task_defineProperties(Constructor, staticProps); return Constructor; } + +function task_inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) task_setPrototypeOf(subClass, superClass); } + +function task_setPrototypeOf(o, p) { task_setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return task_setPrototypeOf(o, p); } + +function task_createSuper(Derived) { var hasNativeReflectConstruct = task_isNativeReflectConstruct(); return function _createSuperInternal() { var Super = task_getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = task_getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return task_possibleConstructorReturn(this, result); }; } + +function task_possibleConstructorReturn(self, call) { if (call && (task_typeof(call) === "object" || typeof call === "function")) { return call; } return task_assertThisInitialized(self); } + +function task_assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +function task_isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } } + +function task_getPrototypeOf(o) { task_getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return task_getPrototypeOf(o); } + +/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */ + +/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */ +// # Global Header Task Component +// Implements the [Global Header Task design pattern](https://www.lightningdesignsystem.com/components/global-header/#Task) in React. + + + + + + + +var task_propTypes = { + /** + * **Assistive text for accessibility** + * * `triggerButton`: Assistive text for the GlobalHeaderTask trigger button. The default is `Global Actions`. + */ + assistiveText: prop_types_default.a.shape({ + triggerButton: prop_types_default.a.string + }), + + /** + * A `Dropdown` component. The props from this dropdown will be merged and override any default props. This also allows custom content to be passed as children and rendered in the dropdown. + */ + dropdown: prop_types_default.a.node +}; +/** + * A GlobalHeaderTask component. + */ + +var task_GlobalHeaderTask = /*#__PURE__*/function (_React$Component) { + task_inherits(GlobalHeaderTask, _React$Component); + + var _super = task_createSuper(GlobalHeaderTask); + + function GlobalHeaderTask() { + task_classCallCheck(this, GlobalHeaderTask); + + return _super.apply(this, arguments); + } + + task_createClass(GlobalHeaderTask, [{ + key: "render", + value: function render() { + var buttonAriaProps = { + 'aria-haspopup': true + }; + var dropdownProps = lodash_assign_default()({ + align: 'right', + nubbinPosition: 'top right' + }, this.props.dropdown ? this.props.dropdown.props : {}); + var dropdownChildren = dropdownProps.children || null; // eslint-disable-next-line fp/no-delete + + delete dropdownProps.children; + return /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(components_menu_dropdown, dropdownProps, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(button_trigger, null, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(components_button, task_extends({ + assistiveText: { + icon: this.props.assistiveText.triggerButton + }, + className: "slds-button_icon slds-global-actions__task slds-global-actions__item-action", + iconCategory: "utility", + iconName: "add", + iconSize: "small", + iconVariant: "container", + title: this.props.assistiveText.triggerButton, + variant: "icon" + }, buttonAriaProps))), dropdownChildren); + } + }]); + + return GlobalHeaderTask; +}(external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.Component); + +task_GlobalHeaderTask.displayName = GLOBAL_HEADER_TASK; +task_GlobalHeaderTask.defaultProps = { + assistiveText: { + triggerButton: 'Global Actions' + } +}; +task_GlobalHeaderTask.propTypes = task_propTypes; +/* harmony default export */ var task = (task_GlobalHeaderTask); +// CONCATENATED MODULE: ./components/global-navigation-bar/index.jsx +function global_navigation_bar_defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */ + +/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */ +// # Global Navigation Bar Component +// Implements the [Global Navigation Bar design pattern](https://www.lightningdesignsystem.com/components/global-navigation#flavor-navigation-bar) in React. +// Based on SLDS v2.1.0-rc.2 +// ## Dependencies +// ### React + + // ### classNames + + // ## Constants + + + +var global_navigation_bar_auditChildren = function auditChildren(children) { + var primaryRegion; // there can be multiple secondary navigation regions + + var secondaryRegions = []; + var tertiaryRegion; + external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.Children.forEach(children, function (child) { + if (child && child.type.displayName === GLOBAL_NAVIGATION_BAR_REGION) { + if (child.props.region === 'primary') { + primaryRegion = child; + } else if (child.props.region === 'secondary') { + // eslint-disable-next-line fp/no-mutating-methods + secondaryRegions.push(child); + } else if (child.props.region === 'tertiary') { + tertiaryRegion = child; + } + } + }); + return [primaryRegion].concat(secondaryRegions, [tertiaryRegion]); +}; +/** + * Global Navigation Bar represents a list of links that either take the user to another page or parts of the page the user is in. + */ + + +var global_navigation_bar_GlobalNavigationBar = function GlobalNavigationBar(props) { + var _classNames; + + return /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: classnames_default()('slds-context-bar', (_classNames = {}, global_navigation_bar_defineProperty(_classNames, "slds-context-bar_theme-".concat(props.cloud), props.cloud), global_navigation_bar_defineProperty(_classNames, "slds-context-bar_theme-".concat(props.theme), props.theme), _classNames), props.className) + }, global_navigation_bar_auditChildren(props.children)); +}; // ### Prop Types + + +global_navigation_bar_GlobalNavigationBar.propTypes = { + /** + * The items to be displayed in the Global Navigation Bar. + */ + children: prop_types_default.a.node, + + /** + * CSS class names to be added to the container element. + */ + className: prop_types_default.a.oneOfType([prop_types_default.a.array, prop_types_default.a.object, prop_types_default.a.string]), + + /** + * Typically the cloud name (e.g.- "sales" or "marketing"). This primarily changes the background color. + */ + cloud: prop_types_default.a.string, + + /** + * Transforms text and interactions (such as hover) to be more visually accessible. + */ + theme: prop_types_default.a.oneOf(['light', 'dark']) +}; +global_navigation_bar_GlobalNavigationBar.defaultProps = {}; +global_navigation_bar_GlobalNavigationBar.displayName = GLOBAL_NAVIGATION_BAR; +/* harmony default export */ var global_navigation_bar = (global_navigation_bar_GlobalNavigationBar); +// CONCATENATED MODULE: ./components/global-navigation-bar/button.jsx +function global_navigation_bar_button_defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +function global_navigation_bar_button_objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = global_navigation_bar_button_objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; } + +function global_navigation_bar_button_objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; } + +/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */ + +/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */ +// # Global Navigation Bar Button Component +// ## Dependencies +// ### React + + // ### classNames + + // ### Button + + // ## Constants + + +/** + * A helper component that renders a Button as an item in the Global Navigation Bar. All props are passed onto `Button` except `active` and `dividerPosition`. + */ + +var button_GlobalNavigationButton = function GlobalNavigationButton(_ref) { + var active = _ref.active, + dividerPosition = _ref.dividerPosition, + props = global_navigation_bar_button_objectWithoutProperties(_ref, ["active", "dividerPosition"]); + + return /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("li", { + className: classnames_default()('slds-context-bar__item', global_navigation_bar_button_defineProperty({ + 'slds-is-active': active + }, "slds-context-bar__item_divider-".concat(dividerPosition), dividerPosition)) + }, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(components_button, props)); +}; + +button_GlobalNavigationButton.displayName = GLOBAL_NAVIGATION_BAR_BUTTON; // ### Prop Types + +button_GlobalNavigationButton.propTypes = { + /** + * Whether the item is active or not. + */ + active: prop_types_default.a.bool, + + /** + * Determines position of separating bar. + */ + dividerPosition: prop_types_default.a.oneOf(['left', 'right']) +}; // ### Default Props + +button_GlobalNavigationButton.defaultProps = { + className: 'slds-context-bar__label-action slds-text-body_regular', + // This is a hack since buttons are not supported by Global Navigation + // Bar and have different `font-size` and `line-height` than links or + // dropdowns. + style: { + lineHeight: 'inherit' + }, + variant: 'base' +}; +/* harmony default export */ var global_navigation_bar_button = (button_GlobalNavigationButton); +// CONCATENATED MODULE: ./components/global-navigation-bar/check-props.js +/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */ + +/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */ + +/* eslint-disable import/no-mutable-exports */ + + + +var global_navigation_bar_check_props_checkProps = function checkPropsFunction() {}; + +if (false) {} + +/* harmony default export */ var global_navigation_bar_check_props = (global_navigation_bar_check_props_checkProps); +// EXTERNAL MODULE: ./components/global-navigation-bar/component.json +var global_navigation_bar_component = __webpack_require__(22); + +// CONCATENATED MODULE: ./components/global-navigation-bar/dropdown-trigger.jsx +function global_navigation_bar_dropdown_trigger_typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { global_navigation_bar_dropdown_trigger_typeof = function _typeof(obj) { return typeof obj; }; } else { global_navigation_bar_dropdown_trigger_typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return global_navigation_bar_dropdown_trigger_typeof(obj); } + +function global_navigation_bar_dropdown_trigger_extends() { global_navigation_bar_dropdown_trigger_extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return global_navigation_bar_dropdown_trigger_extends.apply(this, arguments); } + +function global_navigation_bar_dropdown_trigger_objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = global_navigation_bar_dropdown_trigger_objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; } + +function global_navigation_bar_dropdown_trigger_objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; } + +function global_navigation_bar_dropdown_trigger_classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function global_navigation_bar_dropdown_trigger_defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function global_navigation_bar_dropdown_trigger_createClass(Constructor, protoProps, staticProps) { if (protoProps) global_navigation_bar_dropdown_trigger_defineProperties(Constructor.prototype, protoProps); if (staticProps) global_navigation_bar_dropdown_trigger_defineProperties(Constructor, staticProps); return Constructor; } + +function global_navigation_bar_dropdown_trigger_inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) global_navigation_bar_dropdown_trigger_setPrototypeOf(subClass, superClass); } + +function global_navigation_bar_dropdown_trigger_setPrototypeOf(o, p) { global_navigation_bar_dropdown_trigger_setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return global_navigation_bar_dropdown_trigger_setPrototypeOf(o, p); } + +function global_navigation_bar_dropdown_trigger_createSuper(Derived) { var hasNativeReflectConstruct = global_navigation_bar_dropdown_trigger_isNativeReflectConstruct(); return function _createSuperInternal() { var Super = global_navigation_bar_dropdown_trigger_getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = global_navigation_bar_dropdown_trigger_getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return global_navigation_bar_dropdown_trigger_possibleConstructorReturn(this, result); }; } + +function global_navigation_bar_dropdown_trigger_possibleConstructorReturn(self, call) { if (call && (global_navigation_bar_dropdown_trigger_typeof(call) === "object" || typeof call === "function")) { return call; } return global_navigation_bar_dropdown_trigger_assertThisInitialized(self); } + +function global_navigation_bar_dropdown_trigger_assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +function global_navigation_bar_dropdown_trigger_isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } } + +function global_navigation_bar_dropdown_trigger_getPrototypeOf(o) { global_navigation_bar_dropdown_trigger_getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return global_navigation_bar_dropdown_trigger_getPrototypeOf(o); } + +function global_navigation_bar_dropdown_trigger_defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */ + +/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */ + +/* eslint-disable jsx-a11y/no-noninteractive-element-interactions */ +// # Global Navigation Dropdown Component +// ## Dependencies +// ### React + + // ### classNames + + + + + + // ## Constants + + +/** + * The Dropdown Button Trigger renders the default trigger button for the dropdown menu. If this component has children, it does not render itself to the DOM. Instead, it renders its child element, `Button`, and all that child's properties. This component may be used as a template to create custom triggers that do not use `Button`. + */ + +var dropdown_trigger_GlobalNavigationDropdownTrigger = /*#__PURE__*/function (_React$Component) { + global_navigation_bar_dropdown_trigger_inherits(GlobalNavigationDropdownTrigger, _React$Component); + + var _super = global_navigation_bar_dropdown_trigger_createSuper(GlobalNavigationDropdownTrigger); + + // ### Display Name + // Always use the canonical component name (set in the core) as the React + // display name. + // ### Prop Types + function GlobalNavigationDropdownTrigger(props) { + var _this; + + global_navigation_bar_dropdown_trigger_classCallCheck(this, GlobalNavigationDropdownTrigger); + + _this = _super.call(this, props); + global_navigation_bar_check_props(MENU_DROPDOWN_TRIGGER, _this.props, global_navigation_bar_component); + return _this; + } // ### Render + + + global_navigation_bar_dropdown_trigger_createClass(GlobalNavigationDropdownTrigger, [{ + key: "render", + value: function render() { + var _this$props = this.props, + active = _this$props.active, + activeBackgroundColor = _this$props.activeBackgroundColor, + className = _this$props.className, + dividerPosition = _this$props.dividerPosition, + id = _this$props.id, + isOpen = _this$props.isOpen, + label = _this$props.label, + menu = _this$props.menu, + onBlur = _this$props.onBlur, + onClick = _this$props.onClick, + onFocus = _this$props.onFocus, + onKeyDown = _this$props.onKeyDown, + onMouseDown = _this$props.onMouseDown, + onMouseEnter = _this$props.onMouseEnter, + onMouseLeave = _this$props.onMouseLeave, + triggerRef = _this$props.triggerRef, + rest = global_navigation_bar_dropdown_trigger_objectWithoutProperties(_this$props, ["active", "activeBackgroundColor", "className", "dividerPosition", "id", "isOpen", "label", "menu", "onBlur", "onClick", "onFocus", "onKeyDown", "onMouseDown", "onMouseEnter", "onMouseLeave", "triggerRef"]); + + var listItemstyle = {}; // Uses design token to get correct color + + var hoverBackgroundColor = salesforce_skin_common_default.a.brandPrimaryTransparent10; + + if (active) { + listItemstyle.backgroundColor = activeBackgroundColor; + listItemstyle.borderBottomColor = activeBackgroundColor; + } // Per SLDS pattern, set trigger style like hover style, so that hover visuals and menu being open and closed are in same state + + + if (isOpen) { + listItemstyle.backgroundColor = hoverBackgroundColor; + } + + return ( + /*#__PURE__*/ + // eslint-disable-next-line jsx-a11y/role-supports-aria-props + external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("li", { + "aria-haspopup": "true", + className: classnames_default()('slds-context-bar__item slds-context-bar__dropdown-trigger slds-dropdown-trigger slds-dropdown-trigger_click', global_navigation_bar_dropdown_trigger_defineProperty({ + 'slds-is-open': isOpen, + 'slds-is-active': active + }, "slds-context-bar__item_divider-".concat(dividerPosition), dividerPosition), className), + id: id, + onBlur: onBlur, + onClick: onClick, + onFocus: onFocus, + onKeyDown: onKeyDown, + onMouseDown: onMouseDown, + onMouseEnter: onMouseEnter, + onMouseLeave: onMouseLeave, + ref: triggerRef, + style: listItemstyle + }, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("a", { + className: "slds-context-bar__label-action", + title: label + }, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("span", { + className: "slds-truncate", + title: label + }, label)), /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: "slds-context-bar__icon-action slds-p-left_none" + }, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(components_button, global_navigation_bar_dropdown_trigger_extends({ + assistiveText: this.props.assistiveText + }, rest, { + className: "slds-context-bar__button", + "aria-haspopup": "true", + iconCategory: "utility", + iconName: "chevrondown", + iconVariant: "bare", + variant: "icon" + }))), menu) + ); + } + }]); + + return GlobalNavigationDropdownTrigger; +}(external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.Component); + +global_navigation_bar_dropdown_trigger_defineProperty(dropdown_trigger_GlobalNavigationDropdownTrigger, "displayName", MENU_DROPDOWN_TRIGGER); + +global_navigation_bar_dropdown_trigger_defineProperty(dropdown_trigger_GlobalNavigationDropdownTrigger, "propTypes", { + /** + * Whether the item is active or not. + */ + active: prop_types_default.a.bool, + + /** + * Allows alignment of active item with active application background color. + */ + activeBackgroundColor: prop_types_default.a.string, + + /** + * **Assistive text for accessibility.** + * This object is merged with the default props object on every render. + * * `icon`: Text that is visually hidden but read aloud by screenreaders to tell the user what the icon means. If the button has an icon and a visible label, you can omit the <code>assistiveText.icon</code> prop and use the <code>label</code> prop. + */ + assistiveText: prop_types_default.a.shape({ + icon: prop_types_default.a.string + }), + + /** + * CSS classes to be added to the 'li'. + */ + className: prop_types_default.a.oneOfType([prop_types_default.a.array, prop_types_default.a.object, prop_types_default.a.string]), + + /** + * Determines position of separating bar. + */ + dividerPosition: prop_types_default.a.oneOf(['left', 'right']), + + /** + * A unique ID is needed in order to support keyboard navigation, ARIA support, and connect the dropdown to the triggering button. + */ + id: prop_types_default.a.string, + + /** + * Allows the dropdown menu to style itself accordingly when open since CSS hover rules cannot take effect if the menu is not inline. + */ + isOpen: prop_types_default.a.bool, + + /** + * Visible label on the dropdown menu trigger button. + */ + label: prop_types_default.a.string, + + /** + * The dropdown menu. + */ + menu: prop_types_default.a.node, + + /** + * Is only called when `openOn` is set to `hover` and when the triggering li loses focus. + */ + onBlur: prop_types_default.a.func, + + /** + * This prop is passed onto the triggering `li`. Triggered when the trigger li is clicked. + */ + onClick: prop_types_default.a.func, + + /** + * Is only called when `openOn` is set to `hover` and when the triggering li gains focus. + */ + onFocus: prop_types_default.a.func, + + /** + * Called when a key pressed. + */ + onKeyDown: prop_types_default.a.func, + + /** + * Called when mouse clicks down on the trigger `li`. + */ + onMouseDown: prop_types_default.a.func, + + /** + * Called when mouse hovers over the trigger `li`. + */ + onMouseEnter: prop_types_default.a.func, + + /** + * Called when mouse leaves trigger `li` or the menu. + */ + onMouseLeave: prop_types_default.a.func, + + /** + * The ref of the actual triggering button. + */ + triggerRef: prop_types_default.a.func +}); + +global_navigation_bar_dropdown_trigger_defineProperty(dropdown_trigger_GlobalNavigationDropdownTrigger, "defaultProps", { + assistiveText: { + icon: 'Open menu item submenu' + } +}); + +/* harmony default export */ var global_navigation_bar_dropdown_trigger = (dropdown_trigger_GlobalNavigationDropdownTrigger); +// CONCATENATED MODULE: ./components/global-navigation-bar/dropdown.jsx +function global_navigation_bar_dropdown_extends() { global_navigation_bar_dropdown_extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return global_navigation_bar_dropdown_extends.apply(this, arguments); } + +function global_navigation_bar_dropdown_objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = global_navigation_bar_dropdown_objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; } + +function global_navigation_bar_dropdown_objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; } + +/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */ + +/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */ +// # Global Navigation Dropdown Component +// ## Dependencies +// ### React + + + + // ### Dropdown + + + // ## Constants + + +/** + * This component is an implementation of `MenuDropdown` with a custom trigger. All the properties listed below are provided to the `MenuDropdown` component. Any additional properties are provided to the Custom Trigger (that is the `Button` or `li` tag). + */ + +var dropdown_GlobalNavigationBarDropdown = function GlobalNavigationBarDropdown(props) { + global_navigation_bar_check_props(GLOBAL_NAVIGATION_BAR_DROPDOWN, props, global_navigation_bar_component); // Separate props we care about in order to pass others along passively to the dropdown component + + var active = props.active, + activeBackgroundColor = props.activeBackgroundColor, + assistiveText = props.assistiveText, + dividerPosition = props.dividerPosition, + rest = global_navigation_bar_dropdown_objectWithoutProperties(props, ["active", "activeBackgroundColor", "assistiveText", "dividerPosition"]); + + return /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(components_menu_dropdown, global_navigation_bar_dropdown_extends({ + align: "right", + hasStaticAlignment: true // only need if using hybrid or hover + , + hoverCloseDelay: 400, + length: props.length, + menuPosition: "relative" + }, rest), /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(global_navigation_bar_dropdown_trigger, { + active: active, + assistiveText: assistiveText, + activeBackgroundColor: activeBackgroundColor, + dividerPosition: dividerPosition + })); +}; // ### Display Name +// Always use the canonical component name (set in the core) as the React +// display name. + + +dropdown_GlobalNavigationBarDropdown.displayName = GLOBAL_NAVIGATION_BAR_DROPDOWN; // ### Prop Types + +dropdown_GlobalNavigationBarDropdown.propTypes = { + /** + * Whether the item is active or not. + */ + active: prop_types_default.a.bool, + + /** + * Allows alignment of active item with active application background color. + */ + activeBackgroundColor: prop_types_default.a.string, + + /** + * **Assistive text for accessibility.** + * This object is merged with the default props object on every render. + * * `icon`: Text that is visually hidden but read aloud by screenreaders to tell the user what the icon means. If the button has an icon and a visible label, you can omit the <code>assistiveText.icon</code> prop and use the <code>label</code> prop. + */ + assistiveText: prop_types_default.a.shape({ + icon: prop_types_default.a.string + }), + + /** + * Aligns the right or left side of the menu with the respective side of the trigger. This is not intended for use with `nubbinPosition`. + */ + align: prop_types_default.a.oneOf(['left', 'right']), + + /** + * Extra classnames to apply to the dropdown menu. + */ + className: prop_types_default.a.string, + + /** + * Determines position of separating bar. + */ + dividerPosition: prop_types_default.a.oneOf(['left', 'right']), + + /** + * CSS classes to be added to `li` element. + */ + buttonClassName: prop_types_default.a.oneOfType([prop_types_default.a.array, prop_types_default.a.object, prop_types_default.a.string]), + + /** + * A unique ID is needed in order to support keyboard navigation, ARIA support, and connect the dropdown to the triggering button. + */ + id: prop_types_default.a.string, + + /** + * Provided to List to indicate number of items visible in the List. Pass `null` to display all items, or a string containing one of the numeric option values listed under [Dropdown Height](https://www.lightningdesignsystem.com/components/menus/#flavor-dropdown-height) at the right (eg. '5'). + */ + length: prop_types_default.a.oneOf([null, '5', '7', '10']), + + /** + * Offset adds pixels to the absolutely positioned dropdown menu in the format: ([vertical]px [horizontal]px). + */ + offset: prop_types_default.a.string, + + /** + * Triggered when an item in the menu is clicked. + */ + onSelect: prop_types_default.a.func, + + /** + * An array of menu item. + */ + options: prop_types_default.a.array.isRequired +}; // ### Default Props + +dropdown_GlobalNavigationBarDropdown.defaultProps = { + align: 'right', + length: null +}; +/* harmony default export */ var global_navigation_bar_dropdown = (dropdown_GlobalNavigationBarDropdown); +// CONCATENATED MODULE: ./components/global-navigation-bar/label.jsx +function label_defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */ + +/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */ +// # GlobalNavigationBar Label Component +// ## Dependencies +// ### React + + // ### classNames + + + // ## Constants + + +/** + * Wraps text in the proper markup and removes link styling to support use in the GlobalNavigationBar. + */ + +var label_GlobalNavigationBarLabel = function GlobalNavigationBarLabel(props) { + // Separate props we care about in order to pass others along passively to the `span` tag + var className = props.className, + dividerPosition = props.dividerPosition, + id = props.id, + label = props.label; + return /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("li", { + className: "slds-context-bar__item slds-no-hover" + }, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("span", { + id: id // inline style override + , + style: { + color: salesforce_skin_common_default.a.colorTextLinkDisabled + }, + className: classnames_default()('slds-context-bar__label-action', label_defineProperty({}, "slds-context-bar__item_divider-".concat(dividerPosition), dividerPosition), className) + }, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("span", { + className: "slds-truncate" + }, label))); +}; + +label_GlobalNavigationBarLabel.displayName = GLOBAL_NAVIGATION_BAR_LABEL; // ### Prop Types + +label_GlobalNavigationBarLabel.propTypes = { + /** + * Class names to be added to the `span` element + */ + className: prop_types_default.a.oneOfType([prop_types_default.a.array, prop_types_default.a.object, prop_types_default.a.string]), + + /** + * Determines position of separating bar. + */ + dividerPosition: prop_types_default.a.oneOf(['left', 'right']), + + /** + * Id string applied to first <span> inside of <li> + */ + id: prop_types_default.a.string, + + /** + * Text to show + */ + label: prop_types_default.a.string +}; +/* harmony default export */ var global_navigation_bar_label = (label_GlobalNavigationBarLabel); +// CONCATENATED MODULE: ./components/global-navigation-bar/link.jsx +function global_navigation_bar_link_defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */ + +/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */ +// # GlobalNavigationBar Link Component +// ## Dependencies +// ### React + + // ### classNames + + // ### isFunction + + // ## Constants + + + +function link_handleClick(event, href, onClick) { + event.preventDefault(); + onClick(event, { + href: href + }); +} +/** + * Wraps a link in the proper markup to support use in the GlobalNavigationBar. + */ + + +var link_GlobalNavigationBarLink = function GlobalNavigationBarLink(props) { + // Separate props we care about in order to pass others along passively to the `a` tag + var active = props.active, + activeBackgroundColor = props.activeBackgroundColor, + assistiveText = props.assistiveText, + className = props.className, + dividerPosition = props.dividerPosition, + href = props.href, + id = props.id, + label = props.label, + onBlur = props.onBlur, + onClick = props.onClick, + onFocus = props.onFocus, + onKeyDown = props.onKeyDown, + onKeyPress = props.onKeyPress, + onKeyUp = props.onKeyUp, + onMouseEnter = props.onMouseEnter, + onMouseLeave = props.onMouseLeave, + tabIndex = props.tabIndex; + var listItemstyle = active ? { + backgroundColor: activeBackgroundColor, + borderBottomColor: activeBackgroundColor + } : null; + return /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("li", { + className: classnames_default()('slds-context-bar__item', global_navigation_bar_link_defineProperty({ + 'slds-is-active': active + }, "slds-context-bar__item_divider-".concat(dividerPosition), dividerPosition)), + id: id, + style: listItemstyle + }, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("a", { + href: href, + className: classnames_default()('slds-context-bar__label-action', className), + onBlur: onBlur, + onClick: lodash_isfunction_default()(onClick) ? function (event) { + return link_handleClick(event, href, onClick); + } : null, + onFocus: onFocus, + onKeyDown: onKeyDown, + onKeyPress: onKeyPress, + onKeyUp: onKeyUp, + onMouseEnter: onMouseEnter, + onMouseLeave: onMouseLeave, + tabIndex: tabIndex, + title: label + }, active ? /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("span", { + className: "slds-assistive-text" + }, assistiveText.activeDescriptor) : null, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("span", { + className: "slds-truncate", + title: label + }, label))); +}; + +link_GlobalNavigationBarLink.displayName = GLOBAL_NAVIGATION_BAR_LINK; // ### Prop Types + +link_GlobalNavigationBarLink.propTypes = { + /** + * Whether the item is active or not. + */ + active: prop_types_default.a.bool, + + /** + * Allows alignment of active item with active application background color. If application background is dark, text color may need to be `#fff`. This can be done with the style prop. + */ + activeBackgroundColor: prop_types_default.a.string, + + /** + * **Assistive text for accessibility.** + * * `activeDescriptor`: The text that appears alongside a link that is currently active. + */ + assistiveText: prop_types_default.a.shape({ + activeDescriptor: prop_types_default.a.string + }), + + /** + * Class names to be added to the anchor element + */ + className: prop_types_default.a.oneOfType([prop_types_default.a.array, prop_types_default.a.object, prop_types_default.a.string]), + + /** + * Determines position of separating bar. + */ + dividerPosition: prop_types_default.a.oneOf(['left', 'right']), + + /** + * The `href` attribute of the link. Please pass in bookmarkable URLs from your routing library. Use `GlobalNavigationBarButton` if a "real URL" is not desired. If the `onClick` callback is specified this URL will still be prevented from changing the browser's location. + */ + href: prop_types_default.a.string, + + /** + * The `id` attribute is applied to the `li` tag. _This was recently changed from being on the anchor tag._ + */ + id: prop_types_default.a.string, + + /** + * Text to show for link item. + */ + label: prop_types_default.a.string, + + /** + * Triggered when focus is removed. + */ + onBlur: prop_types_default.a.func, + + /** + * `function (event, href)` - fires when the link is clicked. If set, the browser location change to the `href` specified will be ignored, but the `href` will be included in an additional parameter passed to the callback. + */ + onClick: prop_types_default.a.func, + + /** + * Triggered when component is focused. + */ + onFocus: prop_types_default.a.func, + + /** + * Triggered when a key is pressed down + */ + onKeyDown: prop_types_default.a.func, + + /** + * Triggered when a key is pressed and released + */ + onKeyPress: prop_types_default.a.func, + + /** + * Triggered when a key is released + */ + onKeyUp: prop_types_default.a.func, + + /** + * Triggered when a mouse arrow hovers + */ + onMouseEnter: prop_types_default.a.func, + + /** + * Triggered when a mouse arrow no longer hovers + */ + onMouseLeave: prop_types_default.a.func, + + /** + * Write "-1" if you don't want the user to tab to the button. + */ + tabIndex: prop_types_default.a.string +}; +link_GlobalNavigationBarLink.defaultProps = { + assistiveText: { + activeDescriptor: 'Current page:' + }, + href: 'javascript:void(0);' // eslint-disable-line no-script-url + +}; +/* harmony default export */ var global_navigation_bar_link = (link_GlobalNavigationBarLink); +// CONCATENATED MODULE: ./components/global-navigation-bar/region.jsx +function region_typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { region_typeof = function _typeof(obj) { return typeof obj; }; } else { region_typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return region_typeof(obj); } + +function region_classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function region_defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function region_createClass(Constructor, protoProps, staticProps) { if (protoProps) region_defineProperties(Constructor.prototype, protoProps); if (staticProps) region_defineProperties(Constructor, staticProps); return Constructor; } + +function region_inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) region_setPrototypeOf(subClass, superClass); } + +function region_setPrototypeOf(o, p) { region_setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return region_setPrototypeOf(o, p); } + +function region_createSuper(Derived) { var hasNativeReflectConstruct = region_isNativeReflectConstruct(); return function _createSuperInternal() { var Super = region_getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = region_getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return region_possibleConstructorReturn(this, result); }; } + +function region_possibleConstructorReturn(self, call) { if (call && (region_typeof(call) === "object" || typeof call === "function")) { return call; } return region_assertThisInitialized(self); } + +function region_assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +function region_isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } } + +function region_getPrototypeOf(o) { region_getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return region_getPrototypeOf(o); } + +function region_defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */ + +/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */ + +/* eslint-disable jsx-a11y/no-redundant-roles */ +// # Global Navigation Bar Region Component +// ## Dependencies +// ### React + + // ### classNames + + // ## Constants + + // List regions for export + +var regions = ['primary', 'secondary', 'tertiary']; +/* eslint-disable react/display-name */ + +var region_renderPrimary = function renderPrimary(dividerClass, className, children) { + return /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: classnames_default()('slds-context-bar__primary', dividerClass, className) + }, children); +}; + +var region_renderSecondary = function renderSecondary(dividerClass, className, children, navigation) { + var region; + + if (navigation) { + region = /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("nav", { + className: classnames_default()('slds-context-bar__secondary', dividerClass, className), + role: "navigation" + }, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("ul", { + className: "slds-grid" + }, children)); + } else { + region = /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: classnames_default()('slds-context-bar__secondary', dividerClass, className) + }, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("ul", { + className: "slds-grid" + }, children)); + } + + return region; +}; + +var region_renderTertiary = function renderTertiary(dividerClass, className, children) { + return /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: classnames_default()('slds-context-bar__tertiary', 'slds-col_bump-left', dividerClass, className) + }, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("ul", { + className: "slds-grid" + }, children)); +}; +/* eslint-enable react/display-name */ + +/** + * Regions make up a GlobalNavigation Bar and typically contain links and dropdowns. The Primary region contains the AppSwitcher, Application Name, and Object Switcher. The secondary region typically has navigation betweens sections of the application. The tertiary region is aligned to the right side of the screen and contains shortcuts or actions. + */ + + +var Region = /*#__PURE__*/function (_React$Component) { + region_inherits(Region, _React$Component); + + var _super = region_createSuper(Region); + + function Region() { + region_classCallCheck(this, Region); + + return _super.apply(this, arguments); + } + + region_createClass(Region, [{ + key: "render", + value: function render() { + var region; + var dividerClass = this.props.dividerPosition ? "slds-context-bar__item_divider-".concat(this.props.dividerPosition) : null; + + switch (this.props.region) { + case 'primary': + region = region_renderPrimary(dividerClass, this.props.className, this.props.children); + break; + + case 'secondary': + region = region_renderSecondary(dividerClass, this.props.className, this.props.children, this.props.navigation); + break; + + case 'tertiary': + region = region_renderTertiary(dividerClass, this.props.className, this.props.children); + break; + + default: // do nothing + + } + + return region; + } + }]); + + return Region; +}(external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.Component); + +region_defineProperty(Region, "displayName", GLOBAL_NAVIGATION_BAR_REGION); + +region_defineProperty(Region, "propTypes", { + /** + * Contents of region. Expects `GlobalNavigationBarLink`, `GlobalNavigationBarDropdown`, `GlobalNavigationBarApplicationName`, `AppSwitcher`, but could be any component. This is the place to pass in an Object Switcher until that is supported. + */ + children: prop_types_default.a.node, + + /** + * Determines position of separating bar. + */ + dividerPosition: prop_types_default.a.oneOf(['left', 'right']), + + /** + * CSS classes to be added to the region + */ + className: prop_types_default.a.oneOfType([prop_types_default.a.array, prop_types_default.a.object, prop_types_default.a.string]), + + /** + * Wraps the `secondary` region in a `nav` and adds a role attribute + */ + navigation: prop_types_default.a.bool, + + /** + * Region wrap children in styling specific to that region. When `tertiary` + * region is used, secondary region only supports four list items. + */ + region: prop_types_default.a.oneOf(['primary', 'secondary', 'tertiary']).isRequired +}); + +/* harmony default export */ var global_navigation_bar_region = (Region); + +// CONCATENATED MODULE: ./components/illustration/check-props.js +/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */ + +/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */ + +/* eslint-disable import/no-mutable-exports */ + + +var illustration_check_props_checkProps = function checkPropsFunction() {}; + +if (false) {} + +/* harmony default export */ var illustration_check_props = (illustration_check_props_checkProps); +// EXTERNAL MODULE: ./components/illustration/component.json +var illustration_component = __webpack_require__(51); + +// CONCATENATED MODULE: ./components/illustration/index.jsx +function illustration_ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; } + +function illustration_objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { illustration_ownKeys(Object(source), true).forEach(function (key) { illustration_defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { illustration_ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; } + +function illustration_defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */ + +/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */ +// # Illustration Component +// Based on SLDS v2.6.2 +// ## Dependencies +// ### React + + // This component's `checkProps` which issues warnings to developers about properties +// when in development mode (similar to React's built in development tools) + + // ### classNames +// [github.com/JedWatson/classnames](https://github.com/JedWatson/classnames) +// A simple javascript utility for conditionally joining classNames together. + + // ## SVG + + // ## Constants + + + +/** + * An illustration is an image and inline text that work in tandem to communicate a state in a more friendly way. + */ + +var illustration_Illustration = function Illustration(props) { + var className = props.className, + illustration = props.illustration, + heading = props.heading, + messageBody = props.messageBody, + name = props.name, + path = props.path, + size = props.size, + style = props.style; + illustration_check_props('Illustration', props, illustration_component); + var kababCaseName = name ? name.replace(/_| /g, '-').toLowerCase() : ''; + + var styles = illustration_objectSpread({}, style); + + var illustrationSvg; // large illustration svg should have a default height of 400px if not already specified + + if (size === 'large' && !styles.height) { + styles.height = '400px'; + } + + if (illustration) { + // Use SVG data passed in with `illustration` prop + illustrationSvg = /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(svg, { + className: "slds-illustration__svg", + "aria-hidden": "true", + data: illustration, + name: kababCaseName, + style: styles + }); + } else if (path) { + illustrationSvg = /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("svg", { + className: "slds-illustration__svg", + "aria-hidden": "true", + name: kababCaseName, + style: styles + }, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("use", { + xlinkHref: path + })); + } + + return /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: class_names(className, 'slds-illustration', { + 'slds-illustration_small': size === 'small', + 'slds-illustration_large': size === 'large' + }) + }, illustrationSvg, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: "slds-text-longform" + }, heading ? /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("h3", { + className: "slds-text-heading_medium" + }, heading) : null, messageBody ? /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("p", { + className: "slds-text-body_regular" + }, messageBody) : null)); +}; // ### Display Name +// Always use the canonical component name as the React display name. + + +illustration_Illustration.displayName = ILLUSTRATION; // ### Prop Types + +illustration_Illustration.propTypes = { + /** + * CSS classes that are applied to the SVG. _Tested with Mocha testing._ + */ + className: prop_types_default.a.oneOfType([prop_types_default.a.array, prop_types_default.a.object, prop_types_default.a.string]), + + /** + * A heading text. It is required if illustration is present. _Tested with snapshot testing._ _Tested with Mocha testing._ + */ + heading: prop_types_default.a.string, + + /** + * A custom SVG object to use instead of the supplied SLDS illustrations, look in `design-system-react/icons` for examples and syntax. _Tested with snapshot testing._ _Tested with Mocha testing._ + */ + illustration: prop_types_default.a.object, + + /** + * Indicates whether the illustration SVGs are from the design-system-react repo. If yes, set to true. + */ + internalIllustration: prop_types_default.a.bool.isRequired, + + /** + * A message body below the heading to further communicate the state of the component. _Tested with snapshot testing._ _Tested with Mocha testing._ + */ + messageBody: prop_types_default.a.oneOfType([prop_types_default.a.string, prop_types_default.a.node]), + + /** + * Name of the illustration. Visit <a href='https://lightningdesignsystem.com/components/illustration/'>Lightning Design System Illustration</a> to reference illustration names. _Tested with snapshot testing._ _Tested with Mocha testing._ + */ + name: prop_types_default.a.string, + + /** + * Path to the illustration SVG image. _Tested with snapshot testing._ + */ + path: prop_types_default.a.string, + + /** + * Size of the illustration. _Tested with snapshot testing._ _Tested with Mocha testing._ + */ + size: prop_types_default.a.oneOf(['small', 'large']), + + /** + * Custom styles to be passed to the illustration SVG. _Tested with Mocha testing._ + */ + style: prop_types_default.a.object +}; +illustration_Illustration.defaultProps = { + internalIllustration: true, + size: 'small', + style: {} +}; +/* harmony default export */ var components_illustration = (illustration_Illustration); +// CONCATENATED MODULE: ./components/forms/input/inline-check-props.js +/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */ + +/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */ + +/* eslint-disable import/no-mutable-exports */ + +/* eslint-disable max-len */ + + +var inline_check_props_checkProps = function checkPropsFunction() {}; + +if (false) {} + +/* harmony default export */ var inline_check_props = (inline_check_props_checkProps); +// CONCATENATED MODULE: ./components/forms/input/inline.jsx +function inline_typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { inline_typeof = function _typeof(obj) { return typeof obj; }; } else { inline_typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return inline_typeof(obj); } + +function inline_extends() { inline_extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return inline_extends.apply(this, arguments); } + +function inline_objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = inline_objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; } + +function inline_objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; } + +function inline_classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function inline_defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function inline_createClass(Constructor, protoProps, staticProps) { if (protoProps) inline_defineProperties(Constructor.prototype, protoProps); if (staticProps) inline_defineProperties(Constructor, staticProps); return Constructor; } + +function inline_inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) inline_setPrototypeOf(subClass, superClass); } + +function inline_setPrototypeOf(o, p) { inline_setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return inline_setPrototypeOf(o, p); } + +function inline_createSuper(Derived) { var hasNativeReflectConstruct = inline_isNativeReflectConstruct(); return function _createSuperInternal() { var Super = inline_getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = inline_getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return inline_possibleConstructorReturn(this, result); }; } + +function inline_possibleConstructorReturn(self, call) { if (call && (inline_typeof(call) === "object" || typeof call === "function")) { return call; } return inline_assertThisInitialized(self); } + +function inline_assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +function inline_isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } } + +function inline_getPrototypeOf(o) { inline_getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return inline_getPrototypeOf(o); } + +function inline_defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */ + +/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */ +// # Inline Edit Component +// Implements an inline edit component based on the [Input design pattern](https://www.lightningdesignsystem.com/components/forms/#input) in React. +// ## Dependencies +// ### React + + // ### isFunction + + // ## Children + + + + // ### Event Helpers + + // This component's `checkProps` which issues warnings to developers about properties when in development mode (similar to React's built in development tools) + + // ## Constants + + // ### Prop Types + +var inline_propTypes = { + /** + * Class names to be added to the outer container of the input. + */ + className: prop_types_default.a.oneOfType([prop_types_default.a.array, prop_types_default.a.object, prop_types_default.a.string]), + + /** + * Name of the submitted form parameter. + */ + name: prop_types_default.a.string, + + /** + * Disables the Inline Edit component and prevents editing the contents. + */ + disabled: prop_types_default.a.bool, + + /** + * Every Inline Edit component must have a unique ID in order to support keyboard navigation and ARIA support. + */ + id: prop_types_default.a.string.isRequired, + + /** + * This event fires when the input changes. + */ + onChange: prop_types_default.a.func, + + /** + * Function will run when keyup during text edit + */ + onKeyUp: prop_types_default.a.func, + + /** + * Function will run when we enter edit mode + */ + onEnterEditMode: prop_types_default.a.func, + + /** + * Function will run when we leave edit mode + */ + onLeaveEditMode: prop_types_default.a.func, + + /** + * Typically an Inline Edit component will be of the type text, but like the Input element it includes support for all HTML5 types. + */ + type: prop_types_default.a.oneOf(['text', 'password', 'datetime', 'datetime-local', 'date', 'month', 'time', 'week', 'number', 'email', 'url', 'search', 'tel', 'color']), + + /** + * Inline Edit is a controlled component, and will always display this value. + */ + value: prop_types_default.a.string.isRequired +}; +var inline_defaultProps = { + assistiveText: 'Edit text', + type: 'text' +}; +/** + * An inline input is rendered as a label by default. When clicked (or tabbed in), it's rendered as an input. When the focus is lost, the current input value is saved and the input is rendered as a label again. + */ + +var inline_InlineEdit = /*#__PURE__*/function (_React$Component) { + inline_inherits(InlineEdit, _React$Component); + + var _super = inline_createSuper(InlineEdit); + + function InlineEdit(props) { + var _this; + + inline_classCallCheck(this, InlineEdit); + + _this = _super.call(this, props); + + inline_defineProperty(inline_assertThisInitialized(_this), "endEditMode", function (option) { + if (_this.willSave) { + clearTimeout(_this.willSave); // eslint-disable-next-line fp/no-delete + + delete _this.willSave; + } + + _this.setState({ + isEditing: false, + value: null + }); + + if (_this.props.onLeaveEditMode && lodash_isfunction_default()(_this.props.onLeaveEditMode)) { + _this.props.onLeaveEditMode(undefined, option); + } + }); + + inline_defineProperty(inline_assertThisInitialized(_this), "handleBlur", function () { + if (!_this.willSave) { + _this.willSave = setTimeout(_this.saveEdits, 200); + } + + if (_this.props.onLeaveEditMode && lodash_isfunction_default()(_this.props.onLeaveEditMode)) { + _this.props.onLeaveEditMode(); + } + }); + + inline_defineProperty(inline_assertThisInitialized(_this), "handleChange", function (event) { + _this.setState({ + value: event.target.value + }); + }); + + inline_defineProperty(inline_assertThisInitialized(_this), "handleKeyDown", function (event) { + if (event.keyCode) { + if (event.keyCode === key_code.ESCAPE) { + _this.saveEdits({ + cancel: true + }); + } else if (event.keyCode === key_code.ENTER) { + _this.saveEdits(); + } + } + }); + + inline_defineProperty(inline_assertThisInitialized(_this), "handleKeyUp", function (event) { + if (event.keyCode) { + if (_this.props.onKeyUp && lodash_isfunction_default()(_this.props.onKeyUp)) { + _this.props.onKeyUp(event, { + value: _this.state.value + }); + } + } + }); + + inline_defineProperty(inline_assertThisInitialized(_this), "saveEdits", function (option) { + if (!(option && option.cancel === true)) { + if (lodash_isfunction_default()(_this.props.onChange)) { + _this.props.onChange({ + value: _this.state.value + }); + } + } + + _this.endEditMode(option); + }); + + inline_defineProperty(inline_assertThisInitialized(_this), "triggerEditMode", function () { + if (!_this.props.disabled) { + _this.autoFocus = true; + + _this.setState({ + isEditing: true, + value: _this.props.value + }); + + if (lodash_isfunction_default()(_this.props.onEnterEditMode)) { + _this.props.onEnterEditMode(); + } + } + }); + + _this.state = { + isEditing: false, + value: null + }; + inline_check_props(FORMS_INLINE_EDIT, props); + return _this; + } + + inline_createClass(InlineEdit, [{ + key: "componentDidUpdate", + value: function componentDidUpdate() { + if (this.autoFocus) { + if (this.inputNode) { + this.inputNode.focus(); + this.inputNode.select(); + } + + this.autoFocus = false; + } + } + }, { + key: "render", + // ### Render + value: function render() { + var _this2 = this; + + var _this$props = this.props, + assistiveText = _this$props.assistiveText, + disabled = _this$props.disabled, + value = _this$props.value, + name = _this$props.name, + rest = inline_objectWithoutProperties(_this$props, ["assistiveText", "disabled", "value", "name"]); + + return /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(input, inline_extends({}, rest, { + iconRight: this.state.isEditing ? /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(input_icon, { + category: "utility", + name: "close", + position: "right", + onClick: this.endEditMode, + tabIndex: "-1" + }) : null, + disabled: disabled, + inlineEditTrigger: /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(components_button, { + assistiveText: { + icon: assistiveText + }, + className: "slds-m-left_x-small", + disabled: disabled, + iconCategory: "utility", + iconName: "edit", + iconPosition: "right", + iconSize: "small", + variant: "icon" + }), + onBlur: this.handleBlur, + onChange: this.handleChange, + onClick: !this.state.isEditing ? this.triggerEditMode : null, + onKeyDown: this.handleKeyDown, + onKeyUp: this.handleKeyUp, + isStatic: !this.state.isEditing, + name: name, + value: this.state.isEditing ? this.state.value : value, + inputRef: function inputRef(input) { + _this2.inputNode = input; + } + })); + } + }]); + + return InlineEdit; +}(external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.Component); + +inline_InlineEdit.displayName = FORMS_INLINE_EDIT; +inline_InlineEdit.propTypes = inline_propTypes; +inline_InlineEdit.defaultProps = inline_defaultProps; +/* harmony default export */ var inline = (inline_InlineEdit); +// CONCATENATED MODULE: ./components/input/search.jsx +function search_extends() { search_extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return search_extends.apply(this, arguments); } + +function search_ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; } + +function search_objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { search_ownKeys(Object(source), true).forEach(function (key) { search_defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { search_ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; } + +function search_defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +function search_objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = search_objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; } + +function search_objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; } + +/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */ + +/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */ +// # Search Component +// Wraps the input to default to a search style. +// ## Dependencies +// ### React + + // ## Children + + + + + // ### Event Helpers + + + // ## Constants + + + +var search_handleKeyDown = function handleKeyDown(event, onSearch) { + if (event.keyCode === key_code.ENTER) { + utilities_event.trapImmediate(event); + onSearch(event); + } +}; + +var search_defaultProps = { + assistiveText: {} +}; +/** + * A `Search` is an `Input` which renders the search icon by default. It can be cleared, too. All `Input` props not specified as props already may be used with this component and will override defaults. + */ + +var search_Search = function Search(_ref) { + var clearable = _ref.clearable, + onClear = _ref.onClear, + onSearch = _ref.onSearch, + placeholder = _ref.placeholder, + props = search_objectWithoutProperties(_ref, ["clearable", "onClear", "onSearch", "placeholder"]); + + input_check_props(SEARCH, props, input_component); + var assistiveText = typeof props.assistiveText === 'string' ? props.assistiveText : search_objectSpread(search_objectSpread({}, search_defaultProps.assistiveText), props.assistiveText).label; + return /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(input, search_extends({ + assistiveText: { + label: assistiveText + }, + iconLeft: /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(input_icon, { + assistiveText: { + icon: 'Search' + }, + category: "utility", + name: "search", + onClick: onSearch + }), + iconRight: clearable ? /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(input_icon, { + assistiveText: { + icon: 'Clear' + }, + category: "utility", + name: "clear", + onClick: onClear + }) : null, + onKeyDown: onSearch ? function (event) { + return search_handleKeyDown(event, onSearch); + } : null, + placeholder: placeholder + }, props)); +}; + +search_Search.displayName = SEARCH; +search_Search.propTypes = { + /** + * **Assistive text for accessibility.** + * This object is merged with the default props object on every render. + * * `label`: Assistive text to search input + */ + assistiveText: prop_types_default.a.shape({ + label: prop_types_default.a.string + }), + + /** + * Adds a clear button to right side of the input + */ + clearable: prop_types_default.a.bool, + + /** + * Triggers when the clear button is clicked + */ + onClear: prop_types_default.a.func, + + /** + * This event fires when enter is pressed in the `input` or the search button is clicked. + */ + onSearch: prop_types_default.a.func, + + /** + * Placeholder for the input + */ + placeholder: prop_types_default.a.string +}; +search_Search.defaultProps = search_defaultProps; +/* harmony default export */ var input_search = (search_Search); +// CONCATENATED MODULE: ./components/location-map/index.jsx +function location_map_typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { location_map_typeof = function _typeof(obj) { return typeof obj; }; } else { location_map_typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return location_map_typeof(obj); } + +function location_map_ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; } + +function location_map_objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { location_map_ownKeys(Object(source), true).forEach(function (key) { location_map_defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { location_map_ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; } + +function location_map_classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function location_map_defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function location_map_createClass(Constructor, protoProps, staticProps) { if (protoProps) location_map_defineProperties(Constructor.prototype, protoProps); if (staticProps) location_map_defineProperties(Constructor, staticProps); return Constructor; } + +function location_map_inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) location_map_setPrototypeOf(subClass, superClass); } + +function location_map_setPrototypeOf(o, p) { location_map_setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return location_map_setPrototypeOf(o, p); } + +function location_map_createSuper(Derived) { var hasNativeReflectConstruct = location_map_isNativeReflectConstruct(); return function _createSuperInternal() { var Super = location_map_getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = location_map_getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return location_map_possibleConstructorReturn(this, result); }; } + +function location_map_possibleConstructorReturn(self, call) { if (call && (location_map_typeof(call) === "object" || typeof call === "function")) { return call; } return location_map_assertThisInitialized(self); } + +function location_map_assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +function location_map_isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } } + +function location_map_getPrototypeOf(o) { location_map_getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return location_map_getPrototypeOf(o); } + +function location_map_defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */ + +/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */ +// Implements the [Map design pattern](https://lightningdesignsystem.com/components/map/) in React. +// Based on SLDS v2.4.0 + + + // ### shortid +// [npmjs.com/package/shortid](https://www.npmjs.com/package/shortid) +// shortid is a short, non-sequential, url-friendly, unique id generator + + + + +var location_map_displayName = LOCATION_MAP; +var location_map_propTypes = { + /** + * CSS class names to be added with `slds-map` class. `array`, `object`, or `string` are accepted. + */ + className: prop_types_default.a.oneOfType([prop_types_default.a.array, prop_types_default.a.object, prop_types_default.a.string]), + + /** + * CSS class names to be added to the container element. `array`, `object`, or `string` are accepted. + */ + classNameContainer: prop_types_default.a.oneOfType([prop_types_default.a.array, prop_types_default.a.object, prop_types_default.a.string]), + + /** + * Accepts location object that will be shown if no location has been selected. Required + * * `id` : A unique identifier string for the location + * * `name` : Name of the location + * * `address` : Address of the location + */ + defaultLocation: prop_types_default.a.shape({ + id: prop_types_default.a.string.isRequired, + name: prop_types_default.a.string.isRequired, + address: prop_types_default.a.string.isRequired + }).isRequired, + + /** + * HTML id for component. + */ + id: prop_types_default.a.string, + + /** + * Labels + * * `title` - Title for the LocationMap component. + */ + labels: prop_types_default.a.shape({ + title: prop_types_default.a.string + }), + + /** + * Array of locations objects for the LocationMap component.** + * Each location object can contain: + * * `id` : A unique identifier string for the location + * * `name` : Name of the location + * * `address` : Address of the location + */ + locations: prop_types_default.a.arrayOf(prop_types_default.a.shape({ + id: prop_types_default.a.string.isRequired, + name: prop_types_default.a.string.isRequired, + address: prop_types_default.a.string.isRequired + })).isRequired, + + /** + * Callback function triggered when a location is selected + */ + onClickLocation: prop_types_default.a.func, + + /** + * Accepts a Google Map API Key that will be used for showing the map + */ + googleAPIKey: prop_types_default.a.string.isRequired, + + /** + * Accepts location object that will be shown when selected + * * `id` : A unique identifier string for the location + * * `name` : Name of the location + * * `address` : Address of the location + */ + selection: prop_types_default.a.shape({ + id: prop_types_default.a.string.isRequired, + name: prop_types_default.a.string.isRequired, + address: prop_types_default.a.string.isRequired + }) +}; +var location_map_defaultProps = { + labels: { + title: 'Interactive Map' + } +}; +/** + * A location map component is used to find and show locations + */ + +var location_map_LocationMap = /*#__PURE__*/function (_React$Component) { + location_map_inherits(LocationMap, _React$Component); + + var _super = location_map_createSuper(LocationMap); + + function LocationMap(props) { + var _this; + + location_map_classCallCheck(this, LocationMap); + + _this = _super.call(this, props); + + location_map_defineProperty(location_map_assertThisInitialized(_this), "handleClick", function (event, i) { + if (typeof _this.props.onClickLocation === 'function') _this.props.onClickLocation(event, _this.props.locations[i]); + + if (_this.map) { + _this.map.focus(); + } + }); + + _this.generatedId = shortid_default.a.generate(); + return _this; + } + /** + * Get the LocationMap's HTML id. Generate a new one if no ID present. + */ + + + location_map_createClass(LocationMap, [{ + key: "getId", + value: function getId() { + return this.props.id || this.generatedId; + } + /** + * Handles clicking of a location + */ + + }, { + key: "render", + value: function render() { + var _this2 = this; + + var labels = location_map_objectSpread(location_map_objectSpread({}, location_map_defaultProps.labels), this.props.labels); + + return /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + id: this.getId(), + className: classnames_default()("slds-grid", { + 'slds-has-coordinates': this.props.locations + }, this.props.classNameContainer) + }, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: "slds-map_container", + style: { + padding: '4px' + } + }, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: classnames_default()("slds-map", this.props.className), + ref: function ref(map) { + _this2.map = map; + }, + tabIndex: 0 // eslint-disable-line jsx-a11y/no-noninteractive-tabindex + , + title: labels.title + }, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("iframe", { + id: "".concat(this.getId(), "-google-map"), + src: "https://www.google.com/maps/embed/v1/place?key=".concat(this.props.googleAPIKey, "&q=").concat(encodeURIComponent(this.props.selection ? this.props.selection.address : this.props.defaultLocation.address)), + title: labels.title + }))), this.props.locations.length > 1 ? /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: "slds-coordinates" + }, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: "slds-coordinates__header" + }, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("h2", { + className: "slds-coordinates__title" + }, "".concat(labels.title, " (").concat(this.props.locations.length, ")"))), /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("ul", { + className: "slds-coordinates__list" + }, this.props.locations.map(function (location, i) { + return /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("li", { + key: location.id, + className: "slds-coordinates__item" + }, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("span", { + className: "slds-assistive-text", + "aria-live": "polite" + }, "".concat(location.name, " is currently selected")), /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("button", { + type: "button", + onClick: function onClick(event) { + return _this2.handleClick(event, i); + }, + className: "slds-coordinates__item-action slds-button_reset slds-media", + "aria-pressed": _this2.props.selection && _this2.props.selection.id === location.id + }, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("span", { + className: "slds-media__figure" + }, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(components_icon, { + category: "standard", + name: "account" + })), /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("span", { + className: "slds-media__body" + }, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("span", { + className: "slds-text-link" + }, location.name), /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("span", null, location.address)))); + }))) : null); + } + }]); + + return LocationMap; +}(external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.Component); + +location_map_LocationMap.displayName = location_map_displayName; +location_map_LocationMap.propTypes = location_map_propTypes; +/* harmony default export */ var location_map = (location_map_LocationMap); +// CONCATENATED MODULE: ./components/lookup/header.jsx +function header_typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { header_typeof = function _typeof(obj) { return typeof obj; }; } else { header_typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return header_typeof(obj); } + +function header_classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function header_defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function header_createClass(Constructor, protoProps, staticProps) { if (protoProps) header_defineProperties(Constructor.prototype, protoProps); if (staticProps) header_defineProperties(Constructor, staticProps); return Constructor; } + +function header_inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) header_setPrototypeOf(subClass, superClass); } + +function header_setPrototypeOf(o, p) { header_setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return header_setPrototypeOf(o, p); } + +function header_createSuper(Derived) { var hasNativeReflectConstruct = header_isNativeReflectConstruct(); return function _createSuperInternal() { var Super = header_getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = header_getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return header_possibleConstructorReturn(this, result); }; } + +function header_possibleConstructorReturn(self, call) { if (call && (header_typeof(call) === "object" || typeof call === "function")) { return call; } return header_assertThisInitialized(self); } + +function header_assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +function header_isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } } + +function header_getPrototypeOf(o) { header_getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return header_getPrototypeOf(o); } + +function lookup_header_defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */ + +/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */ +// Implements the [Lookup design pattern](https://latest-204.lightningdesignsystem.com/components/lookups) in React. +// Based on SLDS v2.1.0-dev + + + +var header_displayName = 'LookupDefaultHeader'; +var header_propTypes = {}; +var header_defaultProps = {}; + +var header_DefaultHeader = /*#__PURE__*/function (_React$Component) { + header_inherits(DefaultHeader, _React$Component); + + var _super = header_createSuper(DefaultHeader); + + function DefaultHeader() { + var _this; + + header_classCallCheck(this, DefaultHeader); + + for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { + args[_key] = arguments[_key]; + } + + _this = _super.call.apply(_super, [this].concat(args)); + + lookup_header_defineProperty(header_assertThisInitialized(_this), "handleClick", function () { + if (_this.props.onClose) { + _this.props.onClose(); + } + }); + + return _this; + } + + header_createClass(DefaultHeader, [{ + key: "UNSAFE_componentWillReceiveProps", + // eslint-disable-next-line camelcase, react/sort-comp + value: function UNSAFE_componentWillReceiveProps(nextProps) { + if (nextProps.isActive !== this.props.isActive && nextProps.isActive === true) { + this.props.setFocus('searchRecords'); + } + } + }, { + key: "render", + value: function render() { + var className = 'slds-lookup__item-action slds-lookup__item-action_label'; + if (this.props.isActive) className += ' slds-theme_shade'; + return ( + /*#__PURE__*/ + + /* eslint-disable jsx-a11y/no-static-element-interactions */ + external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: "js-slds-lookup__item", + onMouseDown: utilities_event.trapImmediate, + onClick: this.handleClick + }, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("a", { + id: "searchRecords", + href: "javascript:void(0);", + className: className + }, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("span", { + className: "lookup__item-action-label" + }, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(components_icon, { + name: "search", + category: "utility", + size: "x-small", + className: "slds-icon-text-default" + }), /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("span", { + className: "slds-truncate" + }, this.props.searchTerm)))) + ); + } + }]); + + return DefaultHeader; +}(external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.Component); + +header_DefaultHeader.displayName = header_displayName; +header_DefaultHeader.propTypes = header_propTypes; +header_DefaultHeader.defaultProps = header_defaultProps; +/* harmony default export */ var lookup_header = (header_DefaultHeader); +// CONCATENATED MODULE: ./components/lookup/menu/default-footer/index.jsx +// Alias + +/* harmony default export */ var default_footer = (lookup_header); +// CONCATENATED MODULE: ./components/lookup/footer.jsx +function footer_typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { footer_typeof = function _typeof(obj) { return typeof obj; }; } else { footer_typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return footer_typeof(obj); } + +function footer_classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function footer_defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function footer_createClass(Constructor, protoProps, staticProps) { if (protoProps) footer_defineProperties(Constructor.prototype, protoProps); if (staticProps) footer_defineProperties(Constructor, staticProps); return Constructor; } + +function footer_inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) footer_setPrototypeOf(subClass, superClass); } + +function footer_setPrototypeOf(o, p) { footer_setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return footer_setPrototypeOf(o, p); } + +function footer_createSuper(Derived) { var hasNativeReflectConstruct = footer_isNativeReflectConstruct(); return function _createSuperInternal() { var Super = footer_getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = footer_getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return footer_possibleConstructorReturn(this, result); }; } + +function footer_possibleConstructorReturn(self, call) { if (call && (footer_typeof(call) === "object" || typeof call === "function")) { return call; } return footer_assertThisInitialized(self); } + +function footer_assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +function footer_isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } } + +function footer_getPrototypeOf(o) { footer_getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return footer_getPrototypeOf(o); } + +function footer_defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */ + +/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */ +// Implements the [Lookup design pattern](https://latest-204.lightningdesignsystem.com/components/lookups) in React. +// Based on SLDS v2.1.0-dev + + + +var footer_displayName = 'LookupDefaultFooter'; +var footer_propTypes = {}; +var footer_defaultProps = {}; + +var footer_DefaultFooter = /*#__PURE__*/function (_React$Component) { + footer_inherits(DefaultFooter, _React$Component); + + var _super = footer_createSuper(DefaultFooter); + + function DefaultFooter() { + var _this; + + footer_classCallCheck(this, DefaultFooter); + + for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { + args[_key] = arguments[_key]; + } + + _this = _super.call.apply(_super, [this].concat(args)); + + footer_defineProperty(footer_assertThisInitialized(_this), "handleClick", function () { + if (_this.props.onClose) { + _this.props.onClose(); + } + }); + + return _this; + } + + footer_createClass(DefaultFooter, [{ + key: "UNSAFE_componentWillReceiveProps", + // eslint-disable-next-line react/sort-comp, camelcase + value: function UNSAFE_componentWillReceiveProps(nextProps) { + if (nextProps.isActive !== this.props.isActive && nextProps.isActive === true) { + this.props.setFocus('newItem'); + } + } + }, { + key: "render", + value: function render() { + var className = 'slds-lookup__item-action slds-lookup__item-action_label'; + if (this.props.isActive) className += ' slds-theme_shade'; + return ( + /*#__PURE__*/ + + /* eslint-disable jsx-a11y/no-static-element-interactions */ + external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: "js-slds-lookup__item", + onClick: this.handleClick, + onMouseDown: utilities_event.trapImmediate + }, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("a", { + id: "newItem", + href: "javascript:void(0);", + className: className + }, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("span", { + className: "lookup__item-action-label" + }, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(components_icon, { + name: "add", + category: "utility", + size: "x-small", + className: "slds-icon-text-default" + }), /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("span", { + className: "slds-truncate" + }, this.props.newItemLabel ? this.props.newItemLabel : 'Add New Item')))) + ); + } + }]); + + return DefaultFooter; +}(external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.Component); + +footer_DefaultFooter.displayName = footer_displayName; +footer_DefaultFooter.propTypes = footer_propTypes; +footer_DefaultFooter.defaultProps = footer_defaultProps; +/* harmony default export */ var lookup_footer = (footer_DefaultFooter); +// CONCATENATED MODULE: ./components/lookup/menu/default-header/index.jsx +// Alias + +/* harmony default export */ var default_header = (lookup_footer); +// CONCATENATED MODULE: ./components/lookup/section-divider.jsx +/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */ + +/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */ + + +var section_divider_displayName = 'LookupDefaultSectionDivider'; +var section_divider_propTypes = { + data: prop_types_default.a.object +}; + +var section_divider_DefaultSectionDivider = function DefaultSectionDivider(props) { + return /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("li", { + className: "slds-p-around_x-small slds-lookup__divider", + tabIndex: "-1" + }, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("span", { + className: "slds-m-left_x-small" + }, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("strong", null, props.data.label))); +}; + +section_divider_DefaultSectionDivider.displayName = section_divider_displayName; +section_divider_DefaultSectionDivider.propTypes = section_divider_propTypes; +/* harmony default export */ var section_divider = (section_divider_DefaultSectionDivider); +// CONCATENATED MODULE: ./components/lookup/menu/default-section-divider/index.jsx +// Alias + +/* harmony default export */ var default_section_divider = (section_divider); +// CONCATENATED MODULE: ./components/lookup/check-props.js +/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */ + +/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */ + +/* eslint-disable import/no-mutable-exports */ + + +var lookup_check_props_checkProps = function checkPropsFunction() {}; + +if (false) {} + +/* harmony default export */ var lookup_check_props = (lookup_check_props_checkProps); +// CONCATENATED MODULE: ./components/lookup/private/item.jsx +function private_item_typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { private_item_typeof = function _typeof(obj) { return typeof obj; }; } else { private_item_typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return private_item_typeof(obj); } + +function private_item_classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function private_item_defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function private_item_createClass(Constructor, protoProps, staticProps) { if (protoProps) private_item_defineProperties(Constructor.prototype, protoProps); if (staticProps) private_item_defineProperties(Constructor, staticProps); return Constructor; } + +function private_item_inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) private_item_setPrototypeOf(subClass, superClass); } + +function private_item_setPrototypeOf(o, p) { private_item_setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return private_item_setPrototypeOf(o, p); } + +function private_item_createSuper(Derived) { var hasNativeReflectConstruct = private_item_isNativeReflectConstruct(); return function _createSuperInternal() { var Super = private_item_getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = private_item_getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return private_item_possibleConstructorReturn(this, result); }; } + +function private_item_possibleConstructorReturn(self, call) { if (call && (private_item_typeof(call) === "object" || typeof call === "function")) { return call; } return private_item_assertThisInitialized(self); } + +function private_item_assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +function private_item_isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } } + +function private_item_getPrototypeOf(o) { private_item_getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return private_item_getPrototypeOf(o); } + +function private_item_defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +/* eslint-disable prefer-destructuring */ + +/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */ + +/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */ + +/* eslint-disable jsx-a11y/role-has-required-aria-props */ + + + + + +var item_displayName = 'Lookup-Menu-Item'; +var item_propTypes = { + data: prop_types_default.a.object, + handleItemFocus: prop_types_default.a.func, + href: prop_types_default.a.string, + iconCategory: prop_types_default.a.string, + id: prop_types_default.a.string, + index: prop_types_default.a.number, + isActive: prop_types_default.a.bool, + isDisabled: prop_types_default.a.bool, + listItemLabelRenderer: prop_types_default.a.func, + onSelect: prop_types_default.a.func, + searchTerm: prop_types_default.a.string, + setFocus: prop_types_default.a.func +}; + +var item_Item = /*#__PURE__*/function (_React$Component) { + private_item_inherits(Item, _React$Component); + + var _super = private_item_createSuper(Item); + + function Item() { + var _this; + + private_item_classCallCheck(this, Item); + + for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { + args[_key] = arguments[_key]; + } + + _this = _super.call.apply(_super, [this].concat(args)); + + private_item_defineProperty(private_item_assertThisInitialized(_this), "handleClick", function () { + return _this.props.onSelect(_this.props.id, _this.props.data); + }); + + return _this; + } + + private_item_createClass(Item, [{ + key: "UNSAFE_componentWillReceiveProps", + // eslint-disable-next-line camelcase, react/sort-comp + value: function UNSAFE_componentWillReceiveProps(nextProps) { + if (nextProps.isActive !== this.props.isActive && nextProps.isActive === true) { + this.scrollFocus(); + this.props.setFocus(this.props.id); + } + } + }, { + key: "getCustomLabel", + value: function getCustomLabel() { + var ListItemLabel = this.props.listItemLabelRenderer; + return /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(ListItemLabel, this.props); + } + }, { + key: "getIcon", + value: function getIcon() { + if (this.props.iconName && !this.props.listItemLabelRenderer) { + return /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("span", { + className: "slds-media__figure" + }, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(components_icon, { + category: this.props.iconCategory, + inverse: this.props.iconInverse, + key: this.props.iconName, + name: this.props.iconName, + size: "small" + })); + } + + return null; + } + }, { + key: "getLabel", + value: function getLabel() { + var label; + + if (this.props.children.data.subTitle) { + label = /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: "slds-media__body" + }, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: "slds-lookup__result-text" + }, this.props.children.label), /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("span", { + className: "slds-lookup__result-meta slds-text-body_small" + }, this.props.children.data.subTitle)); + } else { + var labelClassName = classnames_default()('slds-lookup__result-text', { + 'slds-m-left_x-small': !this.props.iconName + }); + label = /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: "slds-media__body" + }, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: labelClassName + }, this.props.children.label)); + } + + return label; + } + }, { + key: "scrollFocus", + // Scroll menu item based on up/down mouse keys (assumes all items are the same height) + value: function scrollFocus() { + var height = this.itemRef.offsetHeight; + + if (height && this.props.handleItemFocus) { + this.props.handleItemFocus(this.props.index, height); + } + } + }, { + key: "render", + value: function render() { + var _this2 = this; + + var itemClassName = 'js-slds-lookup__item'; + var id = this.props.id; + if (this.props.isActive) itemClassName += ' slds-theme_shade'; + return ( + /*#__PURE__*/ + // IMPORTANT: anchor id is used to set lookup's input's aria-activedescendant + external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("li", { + className: itemClassName, + ref: function ref(li) { + _this2.itemRef = li; + } + }, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("a", { + "aria-disabled": this.props.isDisabled, + className: "slds-lookup__item-action slds-media slds-media_center", + href: this.props.href, + id: id, + onClick: this.handleClick, + onMouseDown: utilities_event.trapImmediate, + ref: id, + role: "option", + tabIndex: "-1" + }, this.getIcon(), this.props.listItemLabelRenderer ? this.getCustomLabel() : this.getLabel())) + ); + } + }]); + + return Item; +}(external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.Component); + +item_Item.displayName = item_displayName; +item_Item.propTypes = item_propTypes; +/* harmony default export */ var private_item = (item_Item); +// CONCATENATED MODULE: ./components/lookup/private/menu.jsx +function menu_typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { menu_typeof = function _typeof(obj) { return typeof obj; }; } else { menu_typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return menu_typeof(obj); } + +function private_menu_extends() { private_menu_extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return private_menu_extends.apply(this, arguments); } + +function menu_classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function menu_defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function menu_createClass(Constructor, protoProps, staticProps) { if (protoProps) menu_defineProperties(Constructor.prototype, protoProps); if (staticProps) menu_defineProperties(Constructor, staticProps); return Constructor; } + +function menu_inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) menu_setPrototypeOf(subClass, superClass); } + +function menu_setPrototypeOf(o, p) { menu_setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return menu_setPrototypeOf(o, p); } + +function menu_createSuper(Derived) { var hasNativeReflectConstruct = menu_isNativeReflectConstruct(); return function _createSuperInternal() { var Super = menu_getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = menu_getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return menu_possibleConstructorReturn(this, result); }; } + +function menu_possibleConstructorReturn(self, call) { if (call && (menu_typeof(call) === "object" || typeof call === "function")) { return call; } return menu_assertThisInitialized(self); } + +function menu_assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +function menu_isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } } + +function menu_getPrototypeOf(o) { menu_getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return menu_getPrototypeOf(o); } + +function private_menu_defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +/* eslint-disable react/sort-comp */ + +/* eslint-disable prefer-destructuring */ + +/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */ + +/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */ + + + +/* eslint-disable react/no-did-update-set-state */ + +var menu_displayName = 'Lookup-Menu'; +var private_menu_propTypes = { + boldRegex: prop_types_default.a.instanceOf(RegExp), + emptyMessage: prop_types_default.a.oneOfType([prop_types_default.a.string, prop_types_default.a.element]), + filterWith: prop_types_default.a.func, + focusIndex: prop_types_default.a.number, + getListLength: prop_types_default.a.func, + iconCategory: prop_types_default.a.string, + items: prop_types_default.a.array, + label: prop_types_default.a.string, + listLength: prop_types_default.a.number, + searchTerm: prop_types_default.a.string, + setFocus: prop_types_default.a.func +}; +var private_menu_defaultProps = { + emptyMessage: 'No matches found.' +}; + +var private_menu_Menu = /*#__PURE__*/function (_React$Component) { + menu_inherits(Menu, _React$Component); + + var _super = menu_createSuper(Menu); + + function Menu(props) { + var _this; + + menu_classCallCheck(this, Menu); + + _this = _super.call(this, props); + + private_menu_defineProperty(menu_assertThisInitialized(_this), "handleItemFocus", function (itemIndex, itemHeight) { + if (_this.listRef) { + _this.listRef.scrollTop = itemIndex * itemHeight; + } + }); + + _this.state = { + filteredItems: _this.filteredItems() + }; + return _this; + } // Set filtered list length in parent to determine active indexes for aria-activedescendent + + + menu_createClass(Menu, [{ + key: "componentDidUpdate", + value: function componentDidUpdate(prevProps) { + // make an array of the children of the list but only count the actual items (but include section dividers) + var childFilter = function childFilter(child) { + return child.className.indexOf('js-slds-lookup__item') > -1 || child.className.indexOf('slds-lookup__divider') > -1; + }; + + var list = [].slice.call(this.listRef.children).filter(childFilter).length; + this.props.getListLength(list); + + if (prevProps.items !== this.props.items || prevProps.filter !== this.props.filter || prevProps.searchTerm !== this.props.searchTerm) { + // eslint-disable-next-line class-methods-use-this + this.setState({ + filteredItems: this.filteredItems() + }); + } + } + }, { + key: "getFilteredItemForIndex", + value: function getFilteredItemForIndex(i) { + if (i > -1 && this.state.filteredItems && i < this.state.filteredItems.length) { + return this.state.filteredItems[i]; + } + + return null; + } + }, { + key: "filter", + value: function filter(item) { + return this.props.filterWith(this.props.searchTerm, item); + } // eslint-disable-next-line class-methods-use-this + + }, { + key: "filterEmptySections", + value: function filterEmptySections(items) { + var result = []; + items.forEach(function (item, index) { + if (item && item.data && item.data.type === 'section') { + if (index + 1 < items.length) { + var nextItem = items[index + 1]; + + if (nextItem.data && nextItem.data.type !== 'section') { + // eslint-disable-next-line fp/no-mutating-methods + result.push(item); + } + } + } else { + // eslint-disable-next-line fp/no-mutating-methods + result.push(item); + } + }); + return result; + } + }, { + key: "filteredItems", + value: function filteredItems() { + return this.filterEmptySections(this.props.items.filter(this.filter, this)); + } // Scroll menu up/down when using mouse keys + + }, { + key: "renderContent", + value: function renderContent() { + if (this.state.filteredItems.length === 0) { + return /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("li", { + className: "slds-lookup__message", + "aria-live": "polite" + }, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("span", { + className: "slds-m-left_x-large slds-p-vertical_medium" + }, this.props.emptyMessage)); + } + + return this.renderItems(); + } + }, { + key: "renderFooter", + value: function renderFooter() { + return this.props.footer; + } + }, { + key: "renderHeader", + value: function renderHeader() { + return this.props.header; + } + }, { + key: "renderItems", + value: function renderItems() { + var _this2 = this; + + var focusIndex = this.props.focusIndex; + return this.state.filteredItems.map(function (component, i) { + // isActive means it is aria-activedescendant + var id = component.id; + var isActive = false; + + if (_this2.props.header) { + isActive = focusIndex === i + 1; + } else { + isActive = focusIndex === i; + } + + if (component.data.type === 'section') { + if (_this2.props.sectionDividerRenderer) { + var SectionDivider = _this2.props.sectionDividerRenderer; + return /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(SectionDivider, private_menu_extends({ + data: component.data, + key: "section_header_".concat(id) + }, _this2.props)); + } + } + + return /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(private_item, { + boldRegex: _this2.props.boldRegex, + data: component.data, + handleItemFocus: _this2.handleItemFocus, + iconCategory: _this2.props.iconCategory, + iconInverse: _this2.props.iconInverse, + iconName: _this2.props.iconName, + id: id, + index: i, + isActive: isActive, + key: id, + listItemLabelRenderer: _this2.props.listItemLabelRenderer, + onSelect: _this2.props.onSelect, + searchTerm: _this2.props.searchTerm, + setFocus: _this2.props.setFocus + }, component); + }); + } + }, { + key: "renderSectionDivider", + value: function renderSectionDivider() { + return this.props.sectionDivider; + } + }, { + key: "render", + value: function render() { + var _this3 = this; + + return /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("section", { + id: "menuContainer", + className: "ignore-react-onclickoutside" + }, this.renderHeader(), /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("ul", { + id: "list", + className: "slds-lookup__list", + role: "presentation", + ref: function ref(list) { + if (list) { + _this3.listRef = list; + } + } + }, this.renderContent()), this.renderFooter()); + } + }]); + + return Menu; +}(external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.Component); + +private_menu_Menu.displayName = menu_displayName; +private_menu_Menu.propTypes = private_menu_propTypes; +private_menu_Menu.defaultProps = private_menu_defaultProps; +/* harmony default export */ var lookup_private_menu = (private_menu_Menu); +// CONCATENATED MODULE: ./components/lookup/menu/index.js +// Alias + +/* harmony default export */ var lookup_menu = (lookup_private_menu); +// CONCATENATED MODULE: ./components/lookup/lookup.jsx +function lookup_typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { lookup_typeof = function _typeof(obj) { return typeof obj; }; } else { lookup_typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return lookup_typeof(obj); } + +var lookup_class, lookup_temp; + +function lookup_extends() { lookup_extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return lookup_extends.apply(this, arguments); } + +function lookup_classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function lookup_defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function lookup_createClass(Constructor, protoProps, staticProps) { if (protoProps) lookup_defineProperties(Constructor.prototype, protoProps); if (staticProps) lookup_defineProperties(Constructor, staticProps); return Constructor; } + +function lookup_inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) lookup_setPrototypeOf(subClass, superClass); } + +function lookup_setPrototypeOf(o, p) { lookup_setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return lookup_setPrototypeOf(o, p); } + +function lookup_createSuper(Derived) { var hasNativeReflectConstruct = lookup_isNativeReflectConstruct(); return function _createSuperInternal() { var Super = lookup_getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = lookup_getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return lookup_possibleConstructorReturn(this, result); }; } + +function lookup_possibleConstructorReturn(self, call) { if (call && (lookup_typeof(call) === "object" || typeof call === "function")) { return call; } return lookup_assertThisInitialized(self); } + +function lookup_assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +function lookup_isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } } + +function lookup_getPrototypeOf(o) { lookup_getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return lookup_getPrototypeOf(o); } + +function lookup_defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +/* eslint-disable max-lines */ + +/* eslint-disable react/no-access-state-in-setstate */ + +/* eslint-disable prefer-destructuring */ + +/* eslint-disable max-lines */ + +/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */ + +/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */ + +/* eslint-disable jsx-a11y/role-has-required-aria-props */ +// # Lookup Component +// Implements the [Lookup design pattern](https://latest-204.lightningdesignsystem.com/components/lookups) in React. +// Based on SLDS v2.1.0-dev +// ## Dependencies +// ### React + + + + + // This component's `checkProps` which issues warnings to developers about properties +// when in development mode (similar to React's built in development tools) + + // Children + + + + + + // ### Event Helpers + + + + + +/** + * A function that takes a term string and an item and returns a truthy value if the item should be kept. + */ + +var lookup_defaultFilter = function defaultFilter(term, item) { + if (!term) return true; + return item.data && item.data.type === 'section' || item.label.match(new RegExp(lodash_escaperegexp_default()(term), 'ig')); +}; + +var normalizeSearchTerm = function normalizeSearchTerm(string) { + return (string || '').toString().replace(/^\s+/, ''); +}; +/** + * ** Lookup is deprecated. Please use an auto-complete Combobox instead.** + * + * Lookup is an advanced inline search form. The lookup can parse through single or multi scoped datasets. The parsed dataset can be filtered by single or multi option selects. + * + * This component is wrapped in a [higher order component to listen for clicks outside itself](https://github.com/kentor/react-click-outside) and thus requires use of `ReactDOM`. + */ + + +var lookup_Lookup = (lookup_temp = lookup_class = /*#__PURE__*/function (_React$Component) { + lookup_inherits(Lookup, _React$Component); + + var _super = lookup_createSuper(Lookup); + + function Lookup(props) { + var _this; + + lookup_classCallCheck(this, Lookup); + + _this = _super.call(this, props); // `checkProps` issues warnings to developers about properties (similar to React's built in development tools) + + lookup_defineProperty(lookup_assertThisInitialized(_this), "state", { + currentFocus: null, + focusIndex: null, + items: [], + listLength: _this.props.options.length, + searchTerm: normalizeSearchTerm(_this.props.searchTerm), + selectedIndex: _this.props.selectedItem + }); + + lookup_defineProperty(lookup_assertThisInitialized(_this), "getClassName", function () { + return classnames_default()(_this.props.className, 'slds-form-element slds-lookup', { + 'slds-has-selection': _this.isSelected(), + 'slds-is-open': _this.getIsOpen() + }); + }); + + lookup_defineProperty(lookup_assertThisInitialized(_this), "setFirstIndex", function () { + var nextFocusIndex = 0; + var filteredItem = _this.state.items[0]; + + if (_this.menuComponent && _this.menuComponent.getFilteredItemForIndex) { + filteredItem = _this.menuComponent.getFilteredItemForIndex(nextFocusIndex); + } + + if (filteredItem && filteredItem.data.type === 'section') { + nextFocusIndex += 1; + } + + _this.setState({ + focusIndex: nextFocusIndex + }); + }); + + lookup_defineProperty(lookup_assertThisInitialized(_this), "getHeader", function () { + var Header = _this.props.headerRenderer; + var headerActive = _this.state.focusIndex === 0; + return /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(Header, lookup_extends({ + ref: function ref(header) { + _this.headerComponent = header; + } + }, _this.props, { + focusIndex: _this.state.focusIndex, + isActive: headerActive, + onClose: _this.handleClose, + searchTerm: _this.state.searchTerm, + setFocus: _this.setFocus + })); + }); + + lookup_defineProperty(lookup_assertThisInitialized(_this), "getFooter", function () { + var Footer = _this.props.footerRenderer; + + var numFocusable = _this.getNumFocusableItems(); + + var footerActive = _this.state.focusIndex === numFocusable; + return /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(Footer, lookup_extends({ + ref: function ref(footer) { + _this.footerComponent = footer; + } + }, _this.props, { + focusIndex: _this.state.focusIndex, + isActive: footerActive, + onClose: _this.handleClose, + setFocus: _this.setFocus + })); + }); + + lookup_defineProperty(lookup_assertThisInitialized(_this), "setFocus", function (id) { + _this.setState({ + currentFocus: id + }); + }); + + lookup_defineProperty(lookup_assertThisInitialized(_this), "getIsOpen", function () { + return !!(typeof _this.props.isOpen === 'boolean' ? _this.props.isOpen : _this.state.isOpen); + }); + + lookup_defineProperty(lookup_assertThisInitialized(_this), "getListLength", function (qty) { + if (qty !== _this.state.listLength) { + _this.setState({ + listLength: qty + }); + } + }); + + lookup_defineProperty(lookup_assertThisInitialized(_this), "getNumFocusableItems", function () { + var offset = 0; + + if (_this.footerComponent) { + offset += 1; + } + + if (_this.headerComponent) { + offset += 1; + } + + return _this.state.listLength - 1 + offset; + }); + + lookup_defineProperty(lookup_assertThisInitialized(_this), "increaseIndex", function () { + var numFocusable = _this.getNumFocusableItems(); + + var nextFocusIndex = _this.state.focusIndex < numFocusable ? _this.state.focusIndex + 1 : 0; + + var filteredItem = _this.menuComponent.getFilteredItemForIndex(nextFocusIndex); + + if (filteredItem && filteredItem.data.type === 'section') { + nextFocusIndex += 1; + } + + _this.setState({ + focusIndex: nextFocusIndex + }); + }); + + lookup_defineProperty(lookup_assertThisInitialized(_this), "decreaseIndex", function () { + var numFocusable = _this.getNumFocusableItems(); + + var prevFocusIndex = _this.state.focusIndex > 0 ? _this.state.focusIndex - 1 : numFocusable; + + var filteredItem = _this.menuComponent.getFilteredItemForIndex(prevFocusIndex); + + if (filteredItem && filteredItem.data.type === 'section') { + prevFocusIndex = prevFocusIndex === 0 ? numFocusable : prevFocusIndex - 1; + } + + _this.setState({ + focusIndex: prevFocusIndex + }); + }); + + lookup_defineProperty(lookup_assertThisInitialized(_this), "selectItem", function (itemId) { + if (itemId) { + var index = itemId.replace('item-', ''); + + _this.selectItemByIndex(index); + } + }); + + lookup_defineProperty(lookup_assertThisInitialized(_this), "selectItemByIndex", function (index) { + if (index >= 0 && index < _this.state.items.length) { + if (_this.props.onRequestClose) { + _this.props.onRequestClose(); + } + + _this.setState({ + isOpen: false, + selectedIndex: index, + searchTerm: '' + }); + + var data = _this.state.items[index].data; + + if (_this.props.onSelect) { + _this.props.onSelect(data); + } + } + }); + + lookup_defineProperty(lookup_assertThisInitialized(_this), "handleDeleteSelected", function () { + if (_this.props.onRequestOpen) { + _this.props.onRequestOpen(); + } + + _this.setState({ + selectedIndex: null, + isOpen: true + }); + + _this.focusInput(); + + if (_this.props.onUnselect) { + _this.props.onUnselect(); + } + }); + + lookup_defineProperty(lookup_assertThisInitialized(_this), "handleClose", function () { + if (_this.props.onRequestClose) { + _this.props.onRequestClose(); + } + + _this.setState({ + isOpen: false, + focusIndex: null, + currentFocus: null + }); + }); + + lookup_defineProperty(lookup_assertThisInitialized(_this), "handleClickOutside", function () { + _this.handleClose(); + }); + + lookup_defineProperty(lookup_assertThisInitialized(_this), "handleEscape", function (event) { + if (_this.getIsOpen() && event) { + utilities_event.trap(event); + } + + _this.handleClose(); + }); + + lookup_defineProperty(lookup_assertThisInitialized(_this), "handleCancel", function () { + _this.handleClose(); + }); + + lookup_defineProperty(lookup_assertThisInitialized(_this), "handleClick", function () { + if (_this.props.onRequestOpen) { + _this.props.onRequestOpen(); + } + + _this.setState({ + isOpen: true + }); + }); + + lookup_defineProperty(lookup_assertThisInitialized(_this), "handleBlur", function (event) { + if (_this.props.onBlur) { + var target = event.target || event.currentTarget; + + _this.props.onBlur(target.value); + } + }); + + lookup_defineProperty(lookup_assertThisInitialized(_this), "handleFocus", function (event) { + if (_this.props.onFocus) { + var target = event.target || event.currentTarget; + + _this.props.onFocus(target.value); + } + + if (_this.props.onRequestOpen) { + _this.props.onRequestOpen(); + } + + _this.setState({ + isOpen: true + }); + }); + + lookup_defineProperty(lookup_assertThisInitialized(_this), "handleChange", function (event) { + var target = event.target || event.currentTarget; + + _this.setState({ + searchTerm: normalizeSearchTerm(target.value) + }); + + if (_this.props.onChange) { + _this.props.onChange(target.value); + } + }); + + lookup_defineProperty(lookup_assertThisInitialized(_this), "handleKeyDown", function (event) { + if (event.keyCode) { + // If user hits esc key or tab key, close menu + if (event.keyCode === key_code.ESCAPE) { + _this.handleEscape(event); + } else if (event.keyCode === key_code.TAB) { + // remove the focus on input, tab focus shoud move to next tabbale elemnt + setTimeout(function () { + _this.handleClose(); + }, 200); + + _this.handleBlur(event); + } else { + _this.handleClick(); + } // If user hits down key, advance aria activedescendant to next item + + + if (event.keyCode === key_code.DOWN) { + utilities_event.trapImmediate(event); + + if (_this.state.focusIndex === null) { + _this.setFirstIndex(); + } else { + _this.increaseIndex(); + } + } else if (event.keyCode === key_code.UP) { + // If user hits up key, advance aria activedescendant to previous item + utilities_event.trapImmediate(event); + + var numFocusable = _this.getNumFocusableItems(); + + if (_this.state.focusIndex === null) { + _this.setState({ + focusIndex: numFocusable + }); + } else { + _this.decreaseIndex(); + } + } else if (event.keyCode === key_code.ENTER && _this.state.focusIndex !== null) { + // If user hits enter, select current activedescendant item + utilities_event.trapImmediate(event); // If the focus is on the first fixed Action Item in Menu, click it + + if (_this.headerComponent && _this.state.focusIndex === 0) { + _this.headerComponent.handleClick(); + } else if (_this.footerComponent && _this.state.focusIndex === _this.state.listLength + 1) { + // If the focus is on the last fixed Action Item in Menu, click it + _this.footerComponent.handleClick(); + } else { + // If not, then select menu item + _this.selectItem(_this.state.currentFocus); + } + } + } + }); + + lookup_defineProperty(lookup_assertThisInitialized(_this), "handlePillKeyDown", function (event) { + if (event.keyCode) { + if (event.keyCode === key_code.DELETE || event.keyCode === key_code.BACKSPACE) { + utilities_event.trapImmediate(event); + + _this.handleDeleteSelected(); + } + } + }); + + lookup_defineProperty(lookup_assertThisInitialized(_this), "inputRefId", function () { + return "".concat(_this.props.label, "Lookup"); + }); + + lookup_defineProperty(lookup_assertThisInitialized(_this), "focusInput", function () { + _this.focusOnRender = true; + }); + + lookup_defineProperty(lookup_assertThisInitialized(_this), "isSelected", function () { + var hasSelection = !isNaN(parseInt(_this.state.selectedIndex, 10)) && _this.state.selectedIndex >= 0; + return hasSelection; + }); + + lookup_defineProperty(lookup_assertThisInitialized(_this), "modifyItems", function (itemsToModify) { + var items = itemsToModify.map(function (item, index) { + return { + id: "item-".concat(index), + label: item.label, + data: item + }; + }); + + _this.setState({ + items: items + }); + }); + + lookup_defineProperty(lookup_assertThisInitialized(_this), "renderMenuContent", function () { + return /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(lookup_menu, { + ref: function ref(menu) { + _this.menuComponent = menu; + }, + emptyMessage: _this.props.emptyMessage, + filterWith: _this.props.filterWith, + focusIndex: _this.state.focusIndex, + footer: _this.props.footerRenderer ? _this.getFooter() : null, + getListLength: _this.getListLength, + header: _this.props.headerRenderer ? _this.getHeader() : null, + iconCategory: _this.props.iconCategory, + iconInverse: _this.props.iconInverse, + iconName: _this.props.iconName, + items: _this.state.items, + label: _this.props.label, + listItemLabelRenderer: _this.props.listItemLabelRenderer, + listLength: _this.state.listLength, + onSelect: _this.selectItem, + searchTerm: _this.state.searchTerm, + sectionDividerRenderer: _this.props.sectionDividerRenderer, + setFocus: _this.setFocus + }); + }); + + lookup_defineProperty(lookup_assertThisInitialized(_this), "renderInlineMenu", function () { + return _this.getIsOpen() ? /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: "ignore-react-onclickoutside slds-lookup__menu", + role: "listbox" + }, _this.renderMenuContent()) : null; + }); + + lookup_defineProperty(lookup_assertThisInitialized(_this), "renderSeparateMenu", function () { + // FOR BACKWARDS COMPATIBILITY + var menuPosition = _this.props.isInline ? 'relative' : _this.props.menuPosition; // eslint-disable-line react/prop-types + + return _this.getIsOpen() ? /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(dialog, { + align: "bottom", + className: "slds-lookup__menu slds-show", + closeOnTabKey: true, + contentsClassName: "slds-lookup__menu slds-show", + context: _this.context, + inheritWidthOf: "target", + onClose: _this.handleCancel, + hasStaticAlignement: !_this.props.flippable, + constrainToScrollParent: _this.props.constrainToScrollParent, + onRequestTargetElement: function onRequestTargetElement() { + return _this.input; + }, + position: menuPosition + }, _this.renderMenuContent()) : null; + }); + + lookup_defineProperty(lookup_assertThisInitialized(_this), "renderInput", function () { + return /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(input, { + "aria-activedescendant": _this.state.currentFocus ? _this.state.currentFocus : '', + "aria-autocomplete": "list", + "aria-describedby": _this.props.describedById, + "aria-expanded": !!_this.getIsOpen(), + assistiveText: _this.props.assistiveText, + className: "slds-lookup__search-input", + disabled: _this.props.disabled, + iconRight: /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(input_icon, { + assistiveText: { + icon: 'Search' + }, + category: "utility", + name: "search" + }), + id: _this.inputRefId(), + onBlur: _this.handleBlur, + onChange: _this.handleChange, + onClick: _this.handleClick, + onFocus: _this.handleFocus, + onKeyDown: _this.handleKeyDown, + inputRef: function inputRef(component) { + _this.input = component; + + if (_this.focusOnRender) { + _this.input.focus(); + + _this.focusOnRender = false; + } + }, + placeholder: _this.props.placeholder, + role: "combobox", + type: "text", + value: _this.state.searchTerm + }); + }); + + lookup_defineProperty(lookup_assertThisInitialized(_this), "renderSelectedItem", function () { + var selectedItem = _this.props.options[_this.state.selectedIndex].label; + var renderIcon = _this.props.iconName ? /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(components_icon, { + category: _this.props.iconCategory, + className: "slds-icon slds-pill__icon", + inverse: _this.props.iconInverse, + name: _this.props.iconName + }) : null; + var labelClassName = _this.props.iconName ? 'slds-pill__label' : 'slds-pill__label slds-m-left_x-small'; // i18n + + return /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: "slds-pill__container" + }, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("a", { + href: "javascript:void(0)", + className: "slds-pill", + ref: function ref(pill) { + _this.pills[_this.state.selectedIndex] = pill; + }, + onKeyDown: _this.handlePillKeyDown + }, renderIcon, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("span", { + className: labelClassName + }, selectedItem), /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(components_button, { + assistiveText: { + icon: 'Press delete to remove' + }, + className: "slds-pill__remove slds-button_icon-bare", + iconCategory: "utility", + iconName: "close", + onClick: _this.handleDeleteSelected, + tabIndex: "-1", + variant: "icon" + }))); + }); + + lookup_defineProperty(lookup_assertThisInitialized(_this), "renderLabel", function () { + var inputLabel; + var required = _this.props.required ? + /*#__PURE__*/ + // eslint-disable-next-line react/jsx-curly-brace-presence + external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("span", { + className: "slds-required" + }, '*') : null; + + if (_this.isSelected()) { + // inline style override + inputLabel = /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("span", { + className: "slds-form-element__label", + style: { + width: '100%' + } + }, required, _this.props.label); + } else { + inputLabel = /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("label", { + className: "slds-form-element__label", + htmlFor: _this.inputRefId(), + style: { + width: '100%' + } + }, required, _this.props.label); + } + + return inputLabel; + }); + + lookup_check_props(LOOKUP, props); // Keeps track of references of children for keyboard navigation + + _this.pills = []; + return _this; + } + + lookup_createClass(Lookup, [{ + key: "componentDidMount", + value: function componentDidMount() { + this.modifyItems(this.props.options); + } // eslint-disable-next-line camelcase, react/sort-comp + + }, { + key: "UNSAFE_componentWillReceiveProps", + value: function UNSAFE_componentWillReceiveProps(newProps) { + if (newProps.options) { + this.modifyItems(newProps.options); + } + + if (newProps.selectedItem !== this.props.selectedItem || !lodash_isequal_default()(newProps.options, this.props.options)) { + this.setState({ + selectedIndex: newProps.selectedItem + }); + } + } + }, { + key: "componentDidUpdate", + value: function componentDidUpdate(prevProps, prevState) { + if (!isNaN(parseInt(prevState.selectedIndex, 10)) && isNaN(parseInt(this.state.selectedIndex, 10))) { + if (this.input) { + this.input.focus(); + } + } else if (isNaN(parseInt(prevState.selectedIndex, 10)) && !isNaN(parseInt(this.state.selectedIndex, 10))) { + if (this.pills[this.state.selectedIndex]) { + this.pills[this.state.selectedIndex].focus(); + } + } + } + }, { + key: "render", + value: function render() { + var isInline; + /* eslint-disable react/prop-types */ + + if (this.props.isInline) { + isInline = true; + } else if (this.props.modal !== undefined) { + isInline = !this.props.modal; + } + /* eslint-enable react/prop-types */ + + + var formElementControlClasses = lookup_defineProperty({ + 'slds-form-element__control': true + }, "slds-input-has-icon slds-input-has-icon_".concat(this.props.iconPosition), !this.isSelected()); + + return /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: this.getClassName(), + "data-select": "single", + "data-scope": "single", + onScroll: this.props.onScroll + }, this.props.label ? this.renderLabel() : null, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: classnames_default()(formElementControlClasses) + }, this.isSelected() ? this.renderSelectedItem() : null, !this.isSelected() ? this.renderInput() : null), isInline ? this.renderInlineMenu() : this.renderSeparateMenu()); + } + }]); + + return Lookup; +}(external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.Component), lookup_defineProperty(lookup_class, "displayName", LOOKUP), lookup_defineProperty(lookup_class, "propTypes", { + /** + * If present, the label associated with this `input` is overwritten + * by this text and is visually not shown. + */ + assistiveText: prop_types_default.a.oneOfType([prop_types_default.a.object, prop_types_default.a.string]), + + /** + * Class names to be added to the tag classed with `slds-lookup`. + */ + className: prop_types_default.a.oneOfType([prop_types_default.a.array, prop_types_default.a.object, prop_types_default.a.string]), + + /** + * If true, constrains the menu to the scroll parent. Has no effect if `isInline` is `true`. + */ + constrainToScrollParent: prop_types_default.a.bool, + + /** + * ID for aria-describedby (e.g. for an error message or a description) + */ + describedById: prop_types_default.a.string, + + /** + * Please select one of the following: + * * `absolute` - (default) The dialog will use `position: absolute` and style attributes to position itself. This allows inverted placement or flipping of the dialog. + * * `overflowBoundaryElement` - The dialog will overflow scrolling parents. Use on elements that are aligned to the left or right of their target and don't care about the target being within a scrolling parent. Typically this is a popover or tooltip. Dropdown menus can usually open up and down if no room exists. In order to achieve this a portal element will be created and attached to `body`. This element will render into that detached render tree. + * * `relative` - No styling or portals will be used. Menus will be positioned relative to their triggers. This is a great choice for HTML snapshot testing. + */ + menuPosition: prop_types_default.a.string, + + /** + * This prop is passed onto the `input`. Prevents dropdown menu from opening. Also applies disabled styling to input. + */ + disabled: prop_types_default.a.bool, + + /** + * Custom message that renders when no matches found. The default empty state is just text that says, 'No matches found.'. + */ + emptyMessage: prop_types_default.a.oneOfType([prop_types_default.a.string, prop_types_default.a.element]), + + /** + * Custom function to filter the Lookup items when typing into input field. The default function is case-insensitive and uses the searchTerm to filter Lookup items on their labels. + */ + filterWith: prop_types_default.a.func, + + /** + * If true, the menu is constrained to the window and may be flipped up. Has no effect if `isInline` is `true`. In other components, its opposite is used `hasStaticAlignment`. + */ + flippable: prop_types_default.a.bool, + + /** + * Custom component for Lookup footer. The default footer allows user to add new item - see <a href='http://www.lightningdesignsystem.com/components/lookups/#base'>Lightning Design System Lookup > Base</a>. To use the default footer, pass in <code>Lookup.DefaultFooter</code>. + */ + footerRenderer: prop_types_default.a.func, + + /** + * Custom component for Lookup header. The default header has a search icon and shows the search term - see <a href='http://www.lightningdesignsystem.com/components/lookups/#base'>Lightning Design System Lookup > Base</a>. To use the default header, pass in <code>Lookup.DefaultHeader</code>. + */ + headerRenderer: prop_types_default.a.func, + + /** + * Please refer to <a href='http://www.lightningdesignsystem.com/resources/icons'>Lightning Design System Icons</a> to view categories. + */ + iconCategory: prop_types_default.a.string, + + /** + * If true, icon color is white. If false, icon color is the default text color. + */ + iconInverse: prop_types_default.a.bool, + + /** + * Name of icon. Please refer to <a href='http://www.lightningdesignsystem.com/resources/icons'>Lightning Design System Icons</a> to view icon names. + */ + iconName: prop_types_default.a.string, + + /** + * Determines whether the input's icon will display that icon on the left or the right. + */ + iconPosition: prop_types_default.a.oneOf(['left', 'right']), + + /** + * Renders menu within the wrapping trigger as a sibling of the button. By default, you will have an absolutely positioned container at an elevated z-index. + */ + isInline: prop_types_default.a.bool, + + /** + * Whether or not the dropdown menu is open. This overrides the default behavior. + */ + isOpen: prop_types_default.a.bool, + + /** + * Form label for input. + */ + label: prop_types_default.a.string, + + /** + * Custom component that overrides the default Lookup Item component. + */ + listItemLabelRenderer: prop_types_default.a.func, + + /** + * Triggered when input focus is removed. + */ + onBlur: prop_types_default.a.func, + + /** + * Triggered when the contents of the input changes. + */ + onChange: prop_types_default.a.func, + + /** + * Triggered when input is focused. + */ + onFocus: prop_types_default.a.func, + + /** + * Function called when the lookup dropdown would like hide. This will turn the Lookup into into a controlled component. Please use with `isOpen`. + */ + onRequestClose: prop_types_default.a.func, + + /** + * Function called when the lookup dropdown would like show. This will turn the Lookup into into a controlled component. Please use with `isOpen`. + */ + onRequestOpen: prop_types_default.a.func, + + /** + * Triggered when the user scrolls in the dropdown menu. + */ + onScroll: prop_types_default.a.func, + + /** + * Triggered when an item is selected from the dropdown menu. + */ + onSelect: prop_types_default.a.func, + + /** + * Triggered when an item is an item is removed from the input. + */ + onUnselect: prop_types_default.a.func, + + /** + * Item added to the dropdown menu. + */ + options: prop_types_default.a.array.isRequired, + + /** + * Text that will appear in an empty input. + */ + placeholder: prop_types_default.a.string, + + /** + * If true, adds asterisk next to input label to indicate it is a required field. + */ + required: prop_types_default.a.bool, + + /** + * Text passed on to header search input of dropdown menu. + */ + searchTerm: prop_types_default.a.string, + + /** + * Custom component that overrides the default section divider + */ + sectionDividerRenderer: prop_types_default.a.func, + + /** + * Index of current selected item. To clear the selection, pass in -1. + */ + selectedItem: prop_types_default.a.number +}), lookup_defineProperty(lookup_class, "defaultProps", { + constrainToScrollParent: true, + filterWith: lookup_defaultFilter, + iconPosition: 'right', + searchTerm: '', + menuPosition: 'absolute' +}), lookup_temp); +lookup_Lookup.contextTypes = { + iconPath: prop_types_default.a.string +}; +/* harmony default export */ var lookup = (lookup_Lookup); +// CONCATENATED MODULE: ./components/lookup/index.jsx +/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */ + +/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */ +// ### onClickOutside +// Listen for clicks that occur somewhere in the document, outside of the element itself + + + + + +/* harmony default export */ var components_lookup = (react_onclickoutside_es(lookup, { + excludeScrollbar: true +})); + + + +// EXTERNAL MODULE: ./node_modules/create-react-class/index.js +var create_react_class = __webpack_require__(24); +var create_react_class_default = /*#__PURE__*/__webpack_require__.n(create_react_class); + +// CONCATENATED MODULE: ./components/menu-picklist/check-props.js +/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */ + +/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */ + +/* eslint-disable import/no-mutable-exports */ + + +var menu_picklist_check_props_checkProps = function checkPropsFunction() {}; + +if (false) {} + +/* harmony default export */ var menu_picklist_check_props = (menu_picklist_check_props_checkProps); +// CONCATENATED MODULE: ./components/menu-picklist/index.jsx +/* eslint-disable max-lines */ + +/* eslint-disable react/no-access-state-in-setstate */ + +/* eslint-disable no-param-reassign */ + +/* eslint-disable prefer-destructuring */ + +/* eslint-disable max-lines */ + +/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */ + +/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */ + +/* eslint-disable react/prefer-es6-class */ +// # Picklist Component [DEPRECATED] +// Implements the [Picklist design pattern](https://www.lightningdesignsystem.com/components/menus/#flavor-picklist) in React. +// Based on SLDS v2.1.0-rc.2 + + + + + // ### classNames +// [github.com/JedWatson/classnames](https://github.com/JedWatson/classnames) +// This project uses `classnames`, "a simple javascript utility for conditionally +// joining classNames together." + + // ### shortid +// [npmjs.com/package/shortid](https://www.npmjs.com/package/shortid) +// shortid is a short, non-sequential, url-friendly, unique id generator + + // This component's `checkProps` which issues warnings to developers about properties +// when in development mode (similar to React's built in development tools) + + // ### Children + + + + + + + + + + + + +var menu_picklist_noop = function noop() {}; + +var menu_picklist_itemIsSelectable = function itemIsSelectable(item) { + return item.type !== 'header' && item.type !== 'divider' && !item.disabled; +}; + +var menu_picklist_getNavigableItems = function getNavigableItems(items) { + var navigableItems = []; + navigableItems.indexes = []; + navigableItems.keyBuffer = new key_buffer(); + + if (Array.isArray(items)) { + items.forEach(function (item, index) { + if (menu_picklist_itemIsSelectable(item)) { + // eslint-disable-next-line fp/no-mutating-methods + navigableItems.push({ + index: index, + text: "".concat(item.label).toLowerCase() + }); // eslint-disable-next-line fp/no-mutating-methods + + navigableItems.indexes.push(index); + } + }); + } + + return navigableItems; +}; + +function menu_picklist_getMenuItem(menuItemId) { + var context = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : document; + var menuItem; + + if (menuItemId) { + menuItem = context.getElementById(menuItemId); + } + + return menuItem; +} + +function menu_picklist_getMenu(componentRef) { + return external_amd_react_dom_commonjs_react_dom_commonjs2_react_dom_root_ReactDOM_default.a.findDOMNode(componentRef).querySelector('ul.dropdown__list'); // eslint-disable-line react/no-find-dom-node +} +/** + * ** MenuPicklist is deprecated. Please use a read-only Combobox instead.** + * + * The MenuPicklist component is a variant of the Lightning Design System Menu component. + */ + + +var MenuPicklist = create_react_class_default()({ + // ### Display Name + // Always use the canonical component name as the React display name. + displayName: MENU_PICKLIST, + // ### Prop Types + propTypes: { + /** + * Callback that passes in the DOM reference of the `<button>` DOM node within this component. Primary use is to allow `focus` to be called. You should still test if the node exists, since rendering is asynchronous. `buttonRef={(component) => { if(component) console.log(component); }}` + */ + buttonRef: prop_types_default.a.func, + className: prop_types_default.a.string, + + /** + * If true, renders checkmark icon on the selected Menu Item. + */ + checkmark: prop_types_default.a.bool, + disabled: prop_types_default.a.bool, + + /** + * Message to display when the input is in an error state. When this is present, also visually highlights the component as in error. + */ + errorText: prop_types_default.a.string, + + /** + * A unique ID is needed in order to support keyboard navigation, ARIA support, and connect the dropdown to the triggering button. + */ + id: prop_types_default.a.string, + + /** + * Renders menu within the wrapping trigger as a sibling of the button. By default, you will have an absolutely positioned container at an elevated z-index. + */ + isInline: prop_types_default.a.bool, + + /** + * Form element label + */ + label: prop_types_default.a.string, + + /** + * **Text labels for internationalization** + * This object is merged with the default props object on every render. + * * `multipleOptionsSelected`: Text to be used when multiple items are selected. "2 Options Selected" is a good pattern to use. + */ + labels: prop_types_default.a.shape({ + multipleOptionsSelected: prop_types_default.a.string + }), + + /** + * Custom element that overrides the default Menu Item component. + */ + listItemRenderer: prop_types_default.a.func, + + /** + * Triggered when the trigger button is clicked to open. + */ + onClick: prop_types_default.a.func, + + /** + * Triggered when an item is selected. Passes in the option object that has been selected and a data object in the format: `{ option, optionIndex }`. The first parameter may be deprecated in the future and changed to an event for consistency. Please use the data object. + */ + onSelect: prop_types_default.a.func, + + /** + * Triggered when a pill is removed. Passes in the option object that has been removed and a data object in the format: `{ option, optionIndex }`. The first parameter may be deprecated in the future and changed to an event for consistency. Please use the data object. + */ + onPillRemove: prop_types_default.a.func, + + /** + * Menu item data. + */ + options: prop_types_default.a.array.isRequired, + + /** + * Text present in trigger button if no items are selected. + */ + placeholder: prop_types_default.a.string, + + /** + * Add styling of a required form element. + */ + required: prop_types_default.a.bool, + + /** + * Current selected item. + */ + value: prop_types_default.a.node, + + /** + * Initial selected item index. + */ + initValueIndex: prop_types_default.a.number + }, + getDefaultProps: function getDefaultProps() { + return { + inheritTargetWidth: true, + placeholder: 'Select an Option', + checkmark: true, + labels: { + multipleOptionsSelected: 'Multiple Options Selected' + }, + menuPosition: 'absolute' + }; + }, + getInitialState: function getInitialState() { + return { + focusedIndex: this.props.initValueIndex ? this.props.initValueIndex : -1, + selectedIndex: this.props.initValueIndex ? this.props.initValueIndex : -1, + selectedIndices: [], + currentPillLabel: '' + }; + }, + // eslint-disable-next-line camelcase, react/sort-comp + UNSAFE_componentWillMount: function UNSAFE_componentWillMount() { + // `checkProps` issues warnings to developers about properties (similar to React's built in development tools) + menu_picklist_check_props(MENU_PICKLIST, this.props); + this.generatedId = shortid_default.a.generate(); + + if (this.props.errorText) { + this.generatedErrorId = shortid_default.a.generate(); + } + + if (typeof window !== 'undefined') { + window.addEventListener('click', this.closeOnClick, false); + } + + if (!this.props.multiple) { + this.setState({ + selectedIndex: this.getIndexByValue(this.props) + }); + } else { + var currentSelectedIndex = this.getIndexByValue(this.props); + var currentIndices = this.state.selectedIndices; + + if (currentSelectedIndex !== -1) { + // eslint-disable-next-line fp/no-mutating-methods + currentIndices.push(currentSelectedIndex); + } + + this.setState({ + selectedIndices: currentIndices + }); + } + + this.navigableItems = menu_picklist_getNavigableItems(this.props.options); + }, + // eslint-disable-next-line camelcase, react/sort-comp + UNSAFE_componentWillReceiveProps: function UNSAFE_componentWillReceiveProps(nextProps) { + if (this.props.value !== nextProps.value || this.props.options.length !== nextProps.length) { + if (this.props.multiple !== true) { + this.setState({ + selectedIndex: this.getIndexByValue(nextProps) + }); + } else { + var currentSelectedIndex = this.getIndexByValue(nextProps); + + if (currentSelectedIndex !== -1) { + var currentIndices = this.state.selectedIndices.concat(currentSelectedIndex); + this.setState({ + selectedIndices: currentIndices + }); + } + } + } + + if (nextProps.options) { + this.navigableItems = menu_picklist_getNavigableItems(nextProps.options); + } + }, + componentWillUnmount: function componentWillUnmount() { + this.isUnmounting = true; + window.removeEventListener('click', this.closeOnClick, false); + }, + getListItemId: function getListItemId(index) { + var menuItemId; + + if (index !== undefined) { + var menuId = lodash_isfunction_default()(this.getId) ? this.getId() : this.props.id; + menuItemId = "".concat(menuId, "-item-").concat(index); + } + + return menuItemId; + }, + getId: function getId() { + return this.props.id || this.generatedId; + }, + getErrorId: function getErrorId() { + return this.props['aria-describedby'] || this.generatedErrorId; + }, + getClickEventName: function getClickEventName() { + return "SLDS".concat(this.getId(), "ClickEvent"); + }, + getIndexByValue: function getIndexByValue() { + var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : this.props, + value = _ref.value, + options = _ref.options; + + var foundIndex = -1; + + if (options && options.length) { + options.some(function (element, index) { + if (element && element.value === value) { + foundIndex = index; + return true; + } + + return false; + }); + } + + return foundIndex; + }, + getValueByIndex: function getValueByIndex(index) { + return this.props.options[index]; + }, + getListItemRenderer: function getListItemRenderer() { + return this.props.listItemRenderer ? this.props.listItemRenderer : item_label; + }, + setFocus: function setFocus() { + if (!this.isUnmounting && this.button) { + this.button.focus(); + } + }, + handleSelect: function handleSelect(index) { + if (!this.props.multiple) { + this.setState({ + selectedIndex: index + }); + this.handleClose(); + this.setFocus(); + } else { + var currentIndices; + + if (this.state.selectedIndices.indexOf(index) === -1) { + currentIndices = this.state.selectedIndices.concat(index); + } else { + var deselectIndex = this.state.selectedIndices.indexOf(index); + currentIndices = this.state.selectedIndices; // eslint-disable-next-line fp/no-mutating-methods + + currentIndices.splice(deselectIndex, 1); + } + + this.setState({ + selectedIndices: currentIndices + }); + } + + if (this.props.onSelect) { + var option = this.getValueByIndex(index); + this.props.onSelect(option, { + option: option, + optionIndex: index + }); + } + }, + handleClose: function handleClose() { + this.setState({ + isOpen: false + }); + }, + handleClick: function handleClick(event) { + if (event) { + event.nativeEvent[this.getClickEventName()] = true; + } + + if (!this.state.isOpen) { + this.setState({ + isOpen: true + }); + this.setFocus(); + + if (this.props.onClick) { + this.props.onClick(event); + } + } else { + this.handleClose(); + } + }, + handleMouseDown: function handleMouseDown(event) { + if (event) { + utilities_event.trapImmediate(event); + event.nativeEvent[this.getClickEventName()] = true; + } + }, + handleKeyDown: function handleKeyDown(event) { + if (event.keyCode) { + if (event.keyCode === key_code.ENTER || event.keyCode === key_code.SPACE || event.keyCode === key_code.DOWN || event.keyCode === key_code.UP) { + utilities_event.trap(event); + } + + if (event.keyCode !== key_code.TAB) { + // The outer div with onKeyDown is overriding button onClick so we need to add it here. + var openMenuKeys = event.keyCode === key_code.ENTER || event.keyCode === key_code.DOWN || event.keyCode === key_code.UP; + var isTrigger = event.target.tagName === 'BUTTON'; + + if (openMenuKeys && isTrigger && this.props.onClick) { + this.props.onClick(event); + } + + this.handleKeyboardNavigate({ + isOpen: this.state.isOpen || false, + keyCode: event.keyCode, + onSelect: this.handleSelect, + toggleOpen: this.toggleOpen + }); + } else { + this.handleCancel(); + } + } + }, + handleCancel: function handleCancel() { + this.setFocus(); + this.handleClose(); + }, + // Handling open / close toggling is optional, and a default implementation is provided for handling focus, but selection _must_ be handled + handleKeyboardNavigate: function handleKeyboardNavigate(_ref2) { + var event = _ref2.event, + _ref2$isOpen = _ref2.isOpen, + isOpen = _ref2$isOpen === void 0 ? true : _ref2$isOpen, + keyCode = _ref2.keyCode, + _ref2$onFocus = _ref2.onFocus, + onFocus = _ref2$onFocus === void 0 ? this.handleKeyboardFocus : _ref2$onFocus, + onSelect = _ref2.onSelect, + target = _ref2.target, + _ref2$toggleOpen = _ref2.toggleOpen, + toggleOpen = _ref2$toggleOpen === void 0 ? menu_picklist_noop : _ref2$toggleOpen; + keyboard_navigate({ + componentContext: this, + currentFocusedIndex: this.state.focusedIndex, + event: event, + isOpen: isOpen, + keyCode: keyCode, + navigableItems: this.navigableItems, + onFocus: onFocus, + onSelect: onSelect, + target: target, + toggleOpen: toggleOpen + }); + }, + // This is a bit of an anti-pattern, but it has the upside of being a nice default. Component authors can always override to only set state and do their own focusing in their subcomponents. + handleKeyboardFocus: function handleKeyboardFocus(focusedIndex) { + if (this.state.focusedIndex !== focusedIndex) { + this.setState({ + focusedIndex: focusedIndex + }); + } + + var menu = lodash_isfunction_default()(this.getMenu) ? this.getMenu() : menu_picklist_getMenu(this); + var menuItem = lodash_isfunction_default()(this.getMenuItem) ? this.getMenuItem(focusedIndex, menu) : menu_picklist_getMenuItem(this.getListItemId(focusedIndex)); + + if (menuItem) { + this.focusMenuItem(menuItem); + this.scrollToMenuItem(menu, menuItem); + } + }, + focusMenuItem: function focusMenuItem(menuItem) { + menuItem.getElementsByTagName('a')[0].focus(); + }, + scrollToMenuItem: function scrollToMenuItem(menu, menuItem) { + if (menu && menuItem) { + var menuHeight = menu.offsetHeight; + var menuTop = menu.scrollTop; + var menuItemTop = menuItem.offsetTop - menu.offsetTop; + + if (menuItemTop < menuTop) { + menu.scrollTop = menuItemTop; + } else { + var menuBottom = menuTop + menuHeight + menu.offsetTop; + var menuItemBottom = menuItemTop + menuItem.offsetHeight + menu.offsetTop; + + if (menuItemBottom > menuBottom) { + menu.scrollTop = menuItemBottom - menuHeight - menu.offsetTop; + } + } + } + }, + closeOnClick: function closeOnClick(event) { + if (!event[this.getClickEventName()] && this.state.isOpen) { + this.handleClose(); + } + }, + toggleOpen: function toggleOpen() { + this.setState({ + isOpen: !this.state.isOpen + }); + }, + saveRefToList: function saveRefToList(list) { + this.list = list; + }, + saveRefToListItem: function saveRefToListItem(listItem, index) { + if (!this.listItems) { + this.listItems = {}; + } + + this.listItems[index] = listItem; + + if (index === this.state.focusedIndex) { + this.handleKeyboardFocus(this.state.focusedIndex); + } + }, + // Trigger opens, closes, and recieves focus on close + saveRefToTrigger: function saveRefToTrigger(trigger) { + this.button = trigger; + + if (this.props.buttonRef) { + this.props.buttonRef(this.button); + } + + if (!this.state.triggerRendered) { + this.setState({ + triggerRendered: true + }); + } + }, + renderMenuContent: function renderMenuContent() { + return /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(menu_list, { + checkmark: this.props.checkmark, + getListItemId: this.getListItemId, + itemRefs: this.saveRefToListItem, + itemRenderer: this.getListItemRenderer(), + onCancel: this.handleCancel, + onSelect: this.handleSelect, + options: this.props.options, + ref: this.saveRefToList, + selectedIndex: !this.props.multiple ? this.state.selectedIndex : undefined, + selectedIndices: this.props.multiple ? this.state.selectedIndices : undefined, + triggerId: this.getId() + }); + }, + renderInlineMenu: function renderInlineMenu() { + return !this.props.disabled && this.state.isOpen ? /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: "slds-dropdown slds-dropdown_left" // inline style override + , + style: { + maxHeight: '20em', + overflowX: 'hidden', + minWidth: '100%' + } + }, this.renderMenuContent()) : null; + }, + renderDialog: function renderDialog() { + var _this = this; + + return !this.props.disabled && this.state.isOpen ? /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(dialog, { + closeOnTabKey: true, + constrainToScrollParent: this.props.constrainToScrollParent, + contentsClassName: "slds-dropdown slds-dropdown_left", + context: this.context, + flippable: true, + onClose: this.handleCancel, + onKeyDown: this.handleKeyDown, + onRequestTargetElement: function onRequestTargetElement() { + return _this.button; + }, + inheritWidthOf: this.props.inheritTargetWidth ? 'target' : 'none', + position: this.props.menuPosition + }, this.renderMenuContent()) : null; + }, + renderTrigger: function renderTrigger() { + var isInline; + /* eslint-disable react/prop-types */ + + if (this.props.isInline) { + isInline = true; + } else if (this.props.modal !== undefined) { + isInline = !this.props.modal; + } + /* eslint-enable react/prop-types */ + + + var inputValue; + + if (this.props.multiple && this.state.selectedIndices.length === 0) { + inputValue = this.props.placeholder; + } else if (this.props.multiple && this.state.selectedIndices.length === 1) { + var option = this.props.options[this.state.selectedIndices]; + inputValue = option.label; + } else if (this.props.multiple && this.state.selectedIndices.length > 1) { + inputValue = this.props.labels.multipleOptionsSelected; + } else { + var _option = this.props.options[this.state.selectedIndex]; + inputValue = _option && _option.label ? _option.label : this.props.placeholder; + } // TODO: make use of <Button> + + + return ( + /*#__PURE__*/ + // eslint-disable-next-line jsx-a11y/no-static-element-interactions + external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: classnames_default()('slds-picklist slds-dropdown-trigger slds-dropdown-trigger_click', { + 'slds-is-open': this.state.isOpen + }, this.props.className), + onKeyDown: this.handleKeyDown, + onMouseDown: this.handleMouseDown + }, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("button", { + "aria-describedby": this.getErrorId(), + "aria-expanded": this.state.isOpen, + "aria-haspopup": "true", + className: "slds-button slds-button_neutral slds-picklist__label", + disabled: this.props.disabled, + id: this.getId(), + onClick: !this.props.disabled ? this.handleClick : undefined, + ref: this.saveRefToTrigger, + tabIndex: this.state.isOpen ? -1 : 0, + type: "button" + }, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("span", { + className: "slds-truncate" + }, inputValue), /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(components_icon, { + name: "down", + category: "utility" + })), isInline ? this.renderInlineMenu() : this.renderDialog()) + ); + }, + renderPills: function renderPills() { + var _this2 = this; + + var selectedPills = this.state.selectedIndices.map(function (selectedPill) { + var pillLabel = _this2.getValueByIndex(selectedPill).label; + + return /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("li", { + className: "slds-listbox__item", + key: "pill-".concat(selectedPill), + role: "presentation" + }, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(utilities_pill, { + eventData: { + item: _this2.props.options[selectedPill], + index: selectedPill + }, + events: { + onRequestFocus: function onRequestFocus() {}, + onRequestFocusOnNextPill: function onRequestFocusOnNextPill() {}, + onRequestFocusOnPreviousPill: function onRequestFocusOnPreviousPill() {}, + onRequestRemove: function onRequestRemove(event, data) { + var newData = _this2.state.selectedIndices; + var index = data.index; // eslint-disable-next-line fp/no-mutating-methods + + newData.splice(_this2.state.selectedIndices.indexOf(index), 1); + + _this2.setState({ + selectedIndices: newData + }); + + if (_this2.props.onPillRemove) { + var option = _this2.getValueByIndex(index); + + _this2.props.onPillRemove(option, { + option: option, + optionIndex: index + }); + } + } + }, + labels: { + label: pillLabel + } + })); + }); + return /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + id: "listbox-selections-unique-id", + orientation: "horizontal", + role: "listbox" + }, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("ul", { + className: "slds-listbox slds-listbox_inline slds-p-top_xxx-small", + role: "group", + "aria-label": "Selected Options:" + }, selectedPills)); + }, + render: function render() { + var _this$props = this.props, + className = _this$props.className, + errorText = _this$props.errorText, + label = _this$props.label, + required = _this$props.required; + var requiredElem = required ? + /*#__PURE__*/ + // eslint-disable-next-line react/jsx-curly-brace-presence + external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("span", { + style: { + color: 'red' + } + }, '* ') : null; + return /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: classnames_default()('slds-form-element', { + 'slds-has-error': errorText + }, className) + }, this.props.label ? /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("label", { + className: "slds-form-element__label", + htmlFor: this.getId() // inline style override + , + style: { + width: '100%' + } + }, requiredElem, label) : null, this.renderTrigger(), this.renderPills(), errorText && /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + id: this.getErrorId(), + className: "slds-form-element__help" + }, errorText)); + } +}); +MenuPicklist.contextTypes = { + iconPath: prop_types_default.a.string +}; +/* harmony default export */ var menu_picklist = (MenuPicklist); + +// CONCATENATED MODULE: ./components/modal/trigger.jsx +/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */ + +/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */ + + + + + // This component should be deprecated and appears to have +// been created in order to do modals in portals. + +var ModalTrigger = { + open: function open(cfg) { + component_is_deprecated('components/modal/trigger.jsx', 'This component is deprecated and appears to have been created in order to do modals in portals which is what current Modal has done for years.'); + var el; + + if (canUseDOM) { + el = document.createElement('span'); + el.setAttribute('data-slds-modal', true); + document.body.appendChild(el); + } + + var comp = /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(modal, { + heading: cfg.title, + footer: cfg.footer, + isOpen: true + }, cfg.content); + external_amd_react_dom_commonjs_react_dom_commonjs2_react_dom_root_ReactDOM_default.a.render(comp, el); // deepscan-disable-line REACT_ASYNC_RENDER_RETURN_VALUE + } +}; +/* harmony default export */ var modal_trigger = (ModalTrigger); +// EXTERNAL MODULE: ./components/vertical-navigation/component.json +var vertical_navigation_component = __webpack_require__(52); + +// CONCATENATED MODULE: ./components/vertical-navigation/check-props.js +/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */ + +/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */ + +/* eslint-disable import/no-mutable-exports */ + + +var vertical_navigation_check_props_checkProps = function checkPropsFunction() {}; + +if (false) {} + +/* harmony default export */ var vertical_navigation_check_props = (vertical_navigation_check_props_checkProps); +// CONCATENATED MODULE: ./components/vertical-navigation/private/item.jsx +/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */ + +/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */ + + // ### classNames +// [github.com/JedWatson/classnames](https://github.com/JedWatson/classnames) +// This project uses `classnames`, 'a simple javascript utility for conditionally +// joining classNames together.' + + // ### isFunction + + + + +var item_handleClick = function handleClick(event, props) { + if (lodash_isfunction_default()(props.onSelect)) { + props.onSelect(event, { + item: props.item + }); + } +}; + +var private_item_Item = function Item(props) { + return /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("li", { + className: classnames_default()('slds-nav-vertical__item', { + 'slds-is-active': props.isSelected + }) + }, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("a", { + "data-id": props.item.id, + href: props.item.url || 'javascript:void(0);' // eslint-disable-line no-script-url + , + className: "slds-nav-vertical__action", + "aria-describedby": props.categoryId, + "aria-current": props.isSelected ? true : undefined, + onClick: function onClick(event) { + item_handleClick(event, props); + } + }, props.item.label)); +}; // ### Display Name +// Always use the canonical component name as the React display name. + + +private_item_Item.displayName = VERTICAL_NAVIGATION_ITEM; // ### Prop Types + +private_item_Item.propTypes = { + /** + * Item to be rendered. + */ + item: prop_types_default.a.shape({ + id: prop_types_default.a.string.isRequired, + label: prop_types_default.a.string.isRequired, + url: prop_types_default.a.string + }), + + /** + * Whether item is selected or not. + */ + isSelected: prop_types_default.a.bool, + + /** + * ID of the category this item belongs to. + */ + categoryId: prop_types_default.a.string.isRequired, + + /** + * Function that will run whenever an item is selected. + */ + onSelect: prop_types_default.a.func +}; +private_item_Item.defaultProps = { + isSelected: false +}; +/* harmony default export */ var vertical_navigation_private_item = (private_item_Item); +// CONCATENATED MODULE: ./components/vertical-navigation/index.jsx +function vertical_navigation_typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { vertical_navigation_typeof = function _typeof(obj) { return typeof obj; }; } else { vertical_navigation_typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return vertical_navigation_typeof(obj); } + +function vertical_navigation_classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function vertical_navigation_defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function vertical_navigation_createClass(Constructor, protoProps, staticProps) { if (protoProps) vertical_navigation_defineProperties(Constructor.prototype, protoProps); if (staticProps) vertical_navigation_defineProperties(Constructor, staticProps); return Constructor; } + +function vertical_navigation_inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) vertical_navigation_setPrototypeOf(subClass, superClass); } + +function vertical_navigation_setPrototypeOf(o, p) { vertical_navigation_setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return vertical_navigation_setPrototypeOf(o, p); } + +function vertical_navigation_createSuper(Derived) { var hasNativeReflectConstruct = vertical_navigation_isNativeReflectConstruct(); return function _createSuperInternal() { var Super = vertical_navigation_getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = vertical_navigation_getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return vertical_navigation_possibleConstructorReturn(this, result); }; } + +function vertical_navigation_possibleConstructorReturn(self, call) { if (call && (vertical_navigation_typeof(call) === "object" || typeof call === "function")) { return call; } return vertical_navigation_assertThisInitialized(self); } + +function vertical_navigation_assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +function vertical_navigation_isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } } + +function vertical_navigation_getPrototypeOf(o) { vertical_navigation_getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return vertical_navigation_getPrototypeOf(o); } + +function vertical_navigation_defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */ + +/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */ +// Implements the [Vertical Navigation design pattern](https://lightningdesignsystem.com/components/vertical-navigation/) in React. +// Based on SLDS v2.2.1 + + // ### classNames +// [github.com/JedWatson/classnames](https://github.com/JedWatson/classnames) +// This project uses `classnames`, 'a simple javascript utility for conditionally +// joining classNames together.' + + // ### shortid +// [npmjs.com/package/shortid](https://www.npmjs.com/package/shortid) +// shortid is a short, non-sequential, url-friendly, unique id generator + + + + + // Child components + + +/** + * Vertical Navigation represents a list of links that either take the user to another page or parts of the page the user is in. + */ + +var vertical_navigation_VerticalNavigation = /*#__PURE__*/function (_React$Component) { + vertical_navigation_inherits(VerticalNavigation, _React$Component); + + var _super = vertical_navigation_createSuper(VerticalNavigation); + + function VerticalNavigation(props) { + var _this; + + vertical_navigation_classCallCheck(this, VerticalNavigation); + + _this = _super.call(this, props); + + vertical_navigation_defineProperty(vertical_navigation_assertThisInitialized(_this), "getId", function () { + return _this.props.id || _this.generatedId; + }); + + vertical_navigation_defineProperty(vertical_navigation_assertThisInitialized(_this), "getSelectedId", function () { + var categories = _this.props.categories; + var selectedId; + + if (_this.props.selectedId) { + // eslint-disable-next-line prefer-destructuring + selectedId = _this.props.selectedId; + } else if (categories.length > 0 && categories[0].items && categories[0].items.length > 0) { + selectedId = categories[0].items[0].id; + } + + return selectedId; + }); + + _this.generatedId = shortid_default.a.generate(); + vertical_navigation_check_props(VERTICAL_NAVIGATION, props, vertical_navigation_component); + return _this; + } + + vertical_navigation_createClass(VerticalNavigation, [{ + key: "render", + value: function render() { + var _this2 = this; + + var rootId = this.getId(); + return /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("nav", { + id: rootId, + className: classnames_default()('slds-nav-vertical', this.props.className) + }, this.props.categories.map(function (category) { + var categoryId = "".concat(rootId, "-").concat(category.id); + + var selectedId = _this2.getSelectedId(); + + return /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + key: "".concat(categoryId, "-header"), + className: "slds-nav-vertical__section" + }, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("h2", { + id: categoryId, + className: "slds-nav-vertical__title" + }, category.label), /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("ul", { + key: categoryId + }, category.items.map(function (item) { + return /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(vertical_navigation_private_item, { + key: item.id, + item: item, + isSelected: item.id === selectedId, + categoryId: categoryId, + onSelect: _this2.props.onSelect + }); + }))); + })); + } + }]); + + return VerticalNavigation; +}(external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.Component); + +vertical_navigation_defineProperty(vertical_navigation_VerticalNavigation, "displayName", VERTICAL_NAVIGATION); + +vertical_navigation_defineProperty(vertical_navigation_VerticalNavigation, "propTypes", { + /** + * HTML id for component. _Tested with snapshot testing._ + */ + id: prop_types_default.a.string, + + /** + * CSS class names to be added to the container element. _Tested with snapshot testing._ + */ + className: prop_types_default.a.oneOfType([prop_types_default.a.array, prop_types_default.a.object, prop_types_default.a.string]), + + /** + * Array of categories. The required shape is: `{id: string, label: string, items: array}`. The required shape of an item is `{id: string, label: string, url: string}`. All item ids are expected to be unique. _Tested with snapshot testing._ + */ + categories: prop_types_default.a.array, + + /** + * The ID of the item that is currently selected. Defaults to the ID of the first item. _Tested with Mocha framework._ + */ + selectedId: prop_types_default.a.string, + + /** + * Triggered when the selection changes. It receives an event and an item object in the shape: `event, {item: [object] }`. _Tested with Mocha framework._ + */ + onSelect: prop_types_default.a.func +}); + +vertical_navigation_defineProperty(vertical_navigation_VerticalNavigation, "defaultProps", {}); + +/* harmony default export */ var vertical_navigation = (vertical_navigation_VerticalNavigation); +// CONCATENATED MODULE: ./components/notification/check-props.js +/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */ + +/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */ + +/* eslint-disable import/no-mutable-exports */ + + +var notification_check_props_checkProps = function checkPropsFunction() {}; + +if (false) {} + +/* harmony default export */ var notification_check_props = (notification_check_props_checkProps); +// CONCATENATED MODULE: ./components/notification/index.jsx +function notification_typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { notification_typeof = function _typeof(obj) { return typeof obj; }; } else { notification_typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return notification_typeof(obj); } + +function notification_classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function notification_defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function notification_createClass(Constructor, protoProps, staticProps) { if (protoProps) notification_defineProperties(Constructor.prototype, protoProps); if (staticProps) notification_defineProperties(Constructor, staticProps); return Constructor; } + +function notification_inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) notification_setPrototypeOf(subClass, superClass); } + +function notification_setPrototypeOf(o, p) { notification_setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return notification_setPrototypeOf(o, p); } + +function notification_createSuper(Derived) { var hasNativeReflectConstruct = notification_isNativeReflectConstruct(); return function _createSuperInternal() { var Super = notification_getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = notification_getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return notification_possibleConstructorReturn(this, result); }; } + +function notification_possibleConstructorReturn(self, call) { if (call && (notification_typeof(call) === "object" || typeof call === "function")) { return call; } return notification_assertThisInitialized(self); } + +function notification_assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +function notification_isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } } + +function notification_getPrototypeOf(o) { notification_getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return notification_getPrototypeOf(o); } + +function notification_defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */ + +/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */ + + + + + + +var notification_displayName = 'Notification'; +var notification_propTypes = { + iconCategory: prop_types_default.a.string, + + /** + * Custom classes applied to Notification element. + */ + className: prop_types_default.a.string, + + /** + * Message for Notification. + */ + content: prop_types_default.a.node.isRequired, + + /** + * If true, close button appears for users to dismiss Notification. + */ + dismissible: prop_types_default.a.bool, + + /** + * If duration exists, the Notification will disappear after that amount of time. + */ + duration: prop_types_default.a.number, + + /** + * Name of the icon. Visit <a href='http://www.lightningdesignsystem.com/resources/icons'>Lighning Design System Icons</a> to reference icon names. + */ + iconName: prop_types_default.a.string, + isOpen: prop_types_default.a.bool.isRequired, + onDismiss: prop_types_default.a.func, + + /** + * Styling for Notification background. + */ + texture: prop_types_default.a.bool, + + /** + * Styling for Notification background color. Please reference <a href='http://www.lightningdesignsystem.com/components/utilities/themes/#color'>Lighning Design System Themes > Color</a>. + */ + theme: prop_types_default.a.oneOf(['success', 'warning', 'error', 'offline']), + variant: prop_types_default.a.oneOf(['alert', 'toast']).isRequired +}; +var notification_defaultProps = { + iconCategory: 'utility', + dismissible: true, + isOpen: false, + texture: false +}; +/** + * The Notification component is the Alert and Toast variants of the Lightning Design System Notification component. For prompt notifications, use the <a href='#/modal'>Modal</a> component with <code>prompt={true}</code>. + * The Notification opens from a state change outside of the component itself (pass this state to the <code>isOpen</code> prop). + */ + +var notification_Notification = /*#__PURE__*/function (_React$Component) { + notification_inherits(Notification, _React$Component); + + var _super = notification_createSuper(Notification); + + function Notification(props) { + var _this; + + notification_classCallCheck(this, Notification); + + _this = _super.call(this, props); + + notification_defineProperty(notification_assertThisInitialized(_this), "onDismiss", function () { + if (_this.timeout) { + clearTimeout(_this.timeout); + _this.timeout = null; + } + + if (_this.props.onDismiss) _this.props.onDismiss(); + + if (_this.state.returnFocusTo && _this.state.returnFocusTo.focus) { + _this.state.returnFocusTo.focus(); + } + }); + + _this.state = {}; + _this.timeout = null; + return _this; + } + + notification_createClass(Notification, [{ + key: "componentDidMount", + value: function componentDidMount() { + var _this2 = this; + + notification_check_props('Notification', this.props); + + if (this.props.duration) { + this.timeout = setTimeout(function () { + _this2.onDismiss(); + }, this.props.duration); + } + } // eslint-disable-next-line camelcase, react/sort-comp + + }, { + key: "UNSAFE_componentWillReceiveProps", + value: function UNSAFE_componentWillReceiveProps(nextProps) { + var _this3 = this; + + if (nextProps.duration) { + if (this.timeout) { + clearTimeout(this.timeout); + } + + if (nextProps.isOpen) { + this.timeout = setTimeout(function () { + _this3.onDismiss(); + }, this.props.duration); + } + } + + if (nextProps.isOpen !== this.props.isOpen) { + this.setState({ + returnFocusTo: document.activeElement + }); + } + } + }, { + key: "componentDidUpdate", + value: function componentDidUpdate(prevProps) { + if (prevProps.isOpen !== this.props.isOpen) { + var btn = this.dismissBtnRef; + if (btn) btn.focus(); + } + } + }, { + key: "getClassName", + value: function getClassName() { + var _classNames; + + return classnames_default()(this.props.className, 'slds-notify', (_classNames = {}, notification_defineProperty(_classNames, "slds-notify_".concat(this.props.variant), this.props.variant), notification_defineProperty(_classNames, "slds-theme_".concat(this.props.theme), this.props.theme), notification_defineProperty(_classNames, 'slds-theme_alert-texture', this.props.texture), _classNames)); + } + /* + * The parent container with role='alert' only announces its content if there is a change inside of it. + * Because React renders the entire element to the DOM, we must switch out a blank div for the real content. + * Bummer, I know. + */ + // eslint-disable-next-line class-methods-use-this + + }, { + key: "blankContent", + value: function blankContent() { + return /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", null); + } + }, { + key: "renderAlertContent", + value: function renderAlertContent() { + return /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("h2", { + id: "dialogTitle" + }, this.renderIcon(), this.props.content); + } + }, { + key: "renderClose", + value: function renderClose() { + var _this4 = this; + + if (this.props.dismissible) { + var size = null; + if (this.props.variant === 'toast') size = 'large'; // i18n + + return /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(components_button, { + assistiveText: { + icon: 'Dismiss Notification' + }, + iconCategory: "utility", + iconName: "close", + iconSize: size, + inverse: true, + className: "slds-notify__close", + onClick: this.onDismiss, + buttonRef: function buttonRef(dismissBtn) { + _this4.dismissBtnRef = dismissBtn; + }, + variant: "icon" + }); + } + + return null; + } + }, { + key: "renderContent", + value: function renderContent() { + return /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", null, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("span", { + className: "slds-assistive-text" + }, this.props.theme), this.renderClose(), this.props.variant === 'toast' ? this.renderToastContent() : null, this.props.variant === 'alert' ? this.renderAlertContent() : null); + } + }, { + key: "renderIcon", + value: function renderIcon() { + if (this.props.iconName) { + var classes = ''; + + if (this.props.variant === 'alert') { + classes = 'slds-m-right_x-small'; + } else if (this.props.variant === 'toast') { + classes = 'slds-m-right_small slds-col slds-no-flex'; + } + + return /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(components_icon, { + category: this.props.iconCategory, + className: classes, + inverse: true, + name: this.props.iconName, + size: "small" + }); + } + + return null; + } + }, { + key: "renderToastContent", + value: function renderToastContent() { + return /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("section", { + className: "notify__content slds-grid" + }, this.renderIcon(), /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: "slds-col slds-align-middle" + }, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("h2", { + id: "dialogTitle", + className: "slds-text-heading_small" + }, this.props.content))); + } + }, { + key: "render", + value: function render() { + // TODO: If there are multiple notifications on a page, we must 'hide' the ones that aren't open. + // Need to find a better way to do this than using width:0 to override slds-notify-container. + var styles; + + if (!this.props.isOpen) { + styles = { + width: '0px' + }; + } else { + styles = this.props.variant === 'toast' ? { + width: 'auto', + left: '50%', + transform: 'translateX(-50%)' + } : { + width: '100%' + }; + } + + var alertStyles = !this.props.isOpen ? { + display: 'none' + } : null; + return /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: "slds-notify-container", + style: styles + }, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: this.getClassName(), + role: "alertdialog", + "aria-labelledby": "dialogTitle", + style: alertStyles + }, this.props.isOpen ? this.renderContent() : this.blankContent())); + } + }]); + + return Notification; +}(external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.Component); + +notification_Notification.displayName = notification_displayName; +notification_Notification.propTypes = notification_propTypes; +notification_Notification.defaultProps = notification_defaultProps; +/* harmony default export */ var notification = (notification_Notification); +// CONCATENATED MODULE: ./utilities/warning/render-function-return-contents-lack-display-name.js +/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */ + +/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */ + +/* eslint-disable import/no-mutable-exports */ + // This function will deliver an error message to the browser console when all of the props passed in are undefined (falsey). + + + +var renderFunctionReturnContentsLackDisplayName = function renderFunctionReturnContentsLackDisplayNameFunction() {}; + +if (false) { var render_function_return_contents_lack_display_name_hasWarned; } + +/* harmony default export */ var render_function_return_contents_lack_display_name = (renderFunctionReturnContentsLackDisplayName); +// CONCATENATED MODULE: ./components/page-header/check-props.js +/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */ + +/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */ + +/* eslint-disable import/no-mutable-exports */ + + + + + + +var page_header_check_props_checkProps = function checkPropsFunction() {}; + +if (false) {} + +/* harmony default export */ var page_header_check_props = (page_header_check_props_checkProps); +// EXTERNAL MODULE: ./components/page-header/component.json +var page_header_component = __webpack_require__(53); + +// CONCATENATED MODULE: ./components/page-header/private/info.jsx +/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */ + +/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */ + + + +var info_displayName = 'PageHeaderInfo'; +var info_propTypes = { + /** + * Optional class name + */ + className: prop_types_default.a.oneOfType([prop_types_default.a.array, prop_types_default.a.object, prop_types_default.a.string]), + + /** + * Contents of info section + */ + content: prop_types_default.a.node, + + /** + * Variant passed down from page header + */ + variant: prop_types_default.a.string +}; + +var info_Info = function Info(props) { + if (!props.content) return null; + var classes = classnames_default()({ + 'slds-page-header__name-meta': props.variant === 'base', + 'slds-page-header__meta-text': props.variant === 'object-home' || props.variant === 'objectHome' || props.variant === 'related-list' || props.variant === 'relatedList' + }, props.className); + + if (typeof props.content === 'string') { + return /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("p", { + className: classes + }, props.content); + } + + return /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: classes + }, props.content); +}; + +info_Info.displayName = info_displayName; +info_Info.propTypes = info_propTypes; +/* harmony default export */ var info = (info_Info); +// CONCATENATED MODULE: ./components/page-header/private/label.jsx +/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */ + +/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */ + + + +var label_displayName = 'PageHeaderLabel'; +var page_header_private_label_propTypes = { + /** + * Contents of label section + */ + content: prop_types_default.a.node, + + /** + * An array of react elements, presumably anchor <a> elements. + */ + trail: prop_types_default.a.array +}; + +var page_header_private_label_Label = function Label(props) { + if (props.trail && props.trail.length > 0) { + return /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(breadcrumb, { + styleContainer: props.style, + trail: props.trail + }); + } + + if (props.content) { + if (typeof props.content === 'string') { + return /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("span", null, props.content); + } + + return props.content; + } + + return null; +}; + +page_header_private_label_Label.displayName = label_displayName; +page_header_private_label_Label.propTypes = page_header_private_label_propTypes; +/* harmony default export */ var page_header_private_label = (page_header_private_label_Label); +// CONCATENATED MODULE: ./components/page-header/private/title.jsx +function title_typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { title_typeof = function _typeof(obj) { return typeof obj; }; } else { title_typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return title_typeof(obj); } + +function title_defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +function title_classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function title_defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function title_createClass(Constructor, protoProps, staticProps) { if (protoProps) title_defineProperties(Constructor.prototype, protoProps); if (staticProps) title_defineProperties(Constructor, staticProps); return Constructor; } + +function title_inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) title_setPrototypeOf(subClass, superClass); } + +function title_setPrototypeOf(o, p) { title_setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return title_setPrototypeOf(o, p); } + +function title_createSuper(Derived) { var hasNativeReflectConstruct = title_isNativeReflectConstruct(); return function _createSuperInternal() { var Super = title_getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = title_getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return title_possibleConstructorReturn(this, result); }; } + +function title_possibleConstructorReturn(self, call) { if (call && (title_typeof(call) === "object" || typeof call === "function")) { return call; } return title_assertThisInitialized(self); } + +function title_assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +function title_isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } } + +function title_getPrototypeOf(o) { title_getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return title_getPrototypeOf(o); } + +/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */ + +/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */ + + + + +var title_displayName = 'PageHeaderTitle'; +var title_propTypes = { + /** + * Sets the vertical alignment on the title + */ + align: prop_types_default.a.oneOf(['top', 'middle', 'bottom']), + + /** + * Optional class name + */ + className: prop_types_default.a.oneOfType([prop_types_default.a.array, prop_types_default.a.object, prop_types_default.a.string]), + + /** + * The title content + */ + content: prop_types_default.a.node, + + /** + * Label node, for variants that require a label within the title + */ + label: prop_types_default.a.node, + + /** + * Sets whether the title will truncate its content responsively. + */ + truncate: prop_types_default.a.bool +}; +var title_defaultProps = { + // align: 'middle', + title: 'Page Header Title', + truncate: true +}; + +var title_Title = /*#__PURE__*/function (_Component) { + title_inherits(Title, _Component); + + var _super = title_createSuper(Title); + + function Title() { + title_classCallCheck(this, Title); + + return _super.apply(this, arguments); + } + + title_createClass(Title, [{ + key: "render", + value: function render() { + if (!this.props.content) return null; + var classes = classnames_default()('slds-page-header__title', this.props.className, title_defineProperty({ + 'slds-truncate': this.props.truncate + }, "slds-align-".concat(this.props.align), this.props.align)); + return /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: "slds-page-header__name-title" + }, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("h1", null, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(page_header_private_label, { + content: this.props.label + }), /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("span", { + className: classes, + title: typeof this.props.content === 'string' ? this.props.content : undefined + }, this.props.content))); + } + }]); + + return Title; +}(external_amd_react_commonjs_react_commonjs2_react_root_React_["Component"]); + +title_Title.displayName = title_displayName; +title_Title.propTypes = title_propTypes; +title_Title.defaultProps = title_defaultProps; +/* harmony default export */ var private_title = (title_Title); +// CONCATENATED MODULE: ./components/page-header/private/detail-block.jsx +function detail_block_typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { detail_block_typeof = function _typeof(obj) { return typeof obj; }; } else { detail_block_typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return detail_block_typeof(obj); } + +function detail_block_defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +function detail_block_classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function detail_block_defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function detail_block_createClass(Constructor, protoProps, staticProps) { if (protoProps) detail_block_defineProperties(Constructor.prototype, protoProps); if (staticProps) detail_block_defineProperties(Constructor, staticProps); return Constructor; } + +function detail_block_inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) detail_block_setPrototypeOf(subClass, superClass); } + +function detail_block_setPrototypeOf(o, p) { detail_block_setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return detail_block_setPrototypeOf(o, p); } + +function detail_block_createSuper(Derived) { var hasNativeReflectConstruct = detail_block_isNativeReflectConstruct(); return function _createSuperInternal() { var Super = detail_block_getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = detail_block_getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return detail_block_possibleConstructorReturn(this, result); }; } + +function detail_block_possibleConstructorReturn(self, call) { if (call && (detail_block_typeof(call) === "object" || typeof call === "function")) { return call; } return detail_block_assertThisInitialized(self); } + +function detail_block_assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +function detail_block_isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } } + +function detail_block_getPrototypeOf(o) { detail_block_getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return detail_block_getPrototypeOf(o); } + +/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */ + +/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */ + +/* eslint-disable jsx-a11y/no-noninteractive-tabindex */ + + + + +var detail_block_displayName = 'PageHeaderDetailRow'; +var detail_block_propTypes = { + /** + * Optional class name + */ + className: prop_types_default.a.oneOfType([prop_types_default.a.array, prop_types_default.a.object, prop_types_default.a.string]), + + /** + * The content property can be a string or a React element + */ + content: prop_types_default.a.node, + + /** + * Sets the 'flavor' of a block, which adds the following sizing class: `slds-size_${flavor}` + */ + flavor: prop_types_default.a.string, + + /** + * Sets the label of a detail block + */ + label: prop_types_default.a.node, + + /** + * Sets whether the fields truncate + */ + truncate: prop_types_default.a.bool +}; +var detail_block_defaultProps = { + content: '', + label: '', + truncate: true +}; + +var detail_block_DetailBlock = /*#__PURE__*/function (_Component) { + detail_block_inherits(DetailBlock, _Component); + + var _super = detail_block_createSuper(DetailBlock); + + function DetailBlock(props) { + var _this; + + detail_block_classCallCheck(this, DetailBlock); + + _this = _super.call(this, props); + _this.state = { + showTooltip: false + }; + return _this; + } + + detail_block_createClass(DetailBlock, [{ + key: "componentDidMount", + value: function componentDidMount() { + this.renderFieldTruncation(); + } + }, { + key: "componentDidUpdate", + value: function componentDidUpdate(prevProps) { + if (this.props.content !== prevProps.content) { + this.renderFieldTruncation(); + } + } + }, { + key: "renderContent", + value: function renderContent() { + var _this2 = this; + + var _this$props = this.props, + content = _this$props.content, + truncate = _this$props.truncate; + + if (typeof content === 'string') { + var labelClasses = classnames_default()({ + 'slds-truncate': truncate + }); + return /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: labelClasses, + ref: function ref(field) { + _this2.fieldContentRef = field; + }, + title: content + }, content); + } + + return content; + } + }, { + key: "renderContentWithTooltip", + value: function renderContentWithTooltip() { + var _this$props2 = this.props, + content = _this$props2.content, + truncate = _this$props2.truncate; + var labelClasses = classnames_default()({ + 'slds-truncate': truncate + }); + return /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(tooltip, { + align: "top", + title: content, + triggerStyle: { + display: 'inline' + } + }, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: labelClasses, + tabIndex: "0", + title: content + }, content)); + } + }, { + key: "renderFieldTruncation", + value: function renderFieldTruncation() { + var fieldContent = this.fieldContentRef; + var isTruncated = fieldContent && fieldContent.scrollWidth > fieldContent.offsetWidth; + + if (isTruncated) { + this.setState({ + showTooltip: true + }); + } else { + this.setState({ + showTooltip: false + }); + } + } + }, { + key: "renderLabel", + value: function renderLabel() { + var _this$props3 = this.props, + label = _this$props3.label, + truncate = _this$props3.truncate; + + if (typeof label === 'string') { + var labelClasses = classnames_default()('slds-text-title', { + 'slds-truncate': truncate + }); + return /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: labelClasses, + title: label + }, label); + } + + return label; + } + }, { + key: "render", + value: function render() { + var _this$props4 = this.props, + className = _this$props4.className, + flavor = _this$props4.flavor; + var classes = classnames_default()('slds-page-header__detail-block', className, detail_block_defineProperty({}, "slds-size_".concat(flavor), flavor)); + return /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("li", { + className: classes + }, this.renderLabel(), this.state.showTooltip ? this.renderContentWithTooltip() : this.renderContent()); + } + }]); + + return DetailBlock; +}(external_amd_react_commonjs_react_commonjs2_react_root_React_["Component"]); + +detail_block_DetailBlock.displayName = detail_block_displayName; +detail_block_DetailBlock.propTypes = detail_block_propTypes; +detail_block_DetailBlock.defaultProps = detail_block_defaultProps; +/* harmony default export */ var detail_block = (detail_block_DetailBlock); +// CONCATENATED MODULE: ./components/page-header/private/detail-row.jsx +function detail_row_typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { detail_row_typeof = function _typeof(obj) { return typeof obj; }; } else { detail_row_typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return detail_row_typeof(obj); } + +function detail_row_classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function detail_row_defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function detail_row_createClass(Constructor, protoProps, staticProps) { if (protoProps) detail_row_defineProperties(Constructor.prototype, protoProps); if (staticProps) detail_row_defineProperties(Constructor, staticProps); return Constructor; } + +function detail_row_inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) detail_row_setPrototypeOf(subClass, superClass); } + +function detail_row_setPrototypeOf(o, p) { detail_row_setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return detail_row_setPrototypeOf(o, p); } + +function detail_row_createSuper(Derived) { var hasNativeReflectConstruct = detail_row_isNativeReflectConstruct(); return function _createSuperInternal() { var Super = detail_row_getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = detail_row_getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return detail_row_possibleConstructorReturn(this, result); }; } + +function detail_row_possibleConstructorReturn(self, call) { if (call && (detail_row_typeof(call) === "object" || typeof call === "function")) { return call; } return detail_row_assertThisInitialized(self); } + +function detail_row_assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +function detail_row_isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } } + +function detail_row_getPrototypeOf(o) { detail_row_getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return detail_row_getPrototypeOf(o); } + +/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */ + +/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */ + + + + +var detail_row_displayName = 'PageHeaderDetailRow'; +var detail_row_propTypes = { + children: prop_types_default.a.node, + + /** + * Optional class name + */ + className: prop_types_default.a.oneOfType([prop_types_default.a.array, prop_types_default.a.object, prop_types_default.a.string]), + + /** + * An array of detail blocks + */ + details: prop_types_default.a.array +}; +var detail_row_defaultProps = {}; + +var detail_row_DetailRow = /*#__PURE__*/function (_Component) { + detail_row_inherits(DetailRow, _Component); + + var _super = detail_row_createSuper(DetailRow); + + function DetailRow() { + detail_row_classCallCheck(this, DetailRow); + + return _super.apply(this, arguments); + } + + detail_row_createClass(DetailRow, [{ + key: "renderDetails", + value: function renderDetails() { + if (this.props.children !== undefined) { + return this.props.children; + } + + if (this.props.details) { + return this.props.details.map(function (detail, i) { + var key = "page-header-detail-block-".concat(i); + return /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(detail_block, { + key: key, + flavor: detail.flavor, + label: detail.label, + content: detail.content, + truncate: detail.truncate + }); + }); + } + + return null; + } + }, { + key: "render", + value: function render() { + var classes = classnames_default()('slds-page-header__detail-row', this.props.className); + return /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("ul", { + className: classes + }, this.renderDetails()); + } + }]); + + return DetailRow; +}(external_amd_react_commonjs_react_commonjs2_react_root_React_["Component"]); + +detail_row_DetailRow.displayName = detail_row_displayName; +detail_row_DetailRow.propTypes = detail_row_propTypes; +detail_row_DetailRow.defaultProps = detail_row_defaultProps; +/* harmony default export */ var detail_row = (detail_row_DetailRow); +// CONCATENATED MODULE: ./components/page-header/private/controls.jsx +function controls_typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { controls_typeof = function _typeof(obj) { return typeof obj; }; } else { controls_typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return controls_typeof(obj); } + +function controls_extends() { controls_extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return controls_extends.apply(this, arguments); } + +function controls_classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function controls_defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function controls_createClass(Constructor, protoProps, staticProps) { if (protoProps) controls_defineProperties(Constructor.prototype, protoProps); if (staticProps) controls_defineProperties(Constructor, staticProps); return Constructor; } + +function controls_inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) controls_setPrototypeOf(subClass, superClass); } + +function controls_setPrototypeOf(o, p) { controls_setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return controls_setPrototypeOf(o, p); } + +function controls_createSuper(Derived) { var hasNativeReflectConstruct = controls_isNativeReflectConstruct(); return function _createSuperInternal() { var Super = controls_getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = controls_getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return controls_possibleConstructorReturn(this, result); }; } + +function controls_possibleConstructorReturn(self, call) { if (call && (controls_typeof(call) === "object" || typeof call === "function")) { return call; } return controls_assertThisInitialized(self); } + +function controls_assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +function controls_isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } } + +function controls_getPrototypeOf(o) { controls_getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return controls_getPrototypeOf(o); } + +/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */ + +/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */ + + + // ## Constants + + +var controls_displayName = 'PageHeaderControls'; +var controls_propTypes = { + /** + * Optional class name + */ + className: prop_types_default.a.oneOfType([prop_types_default.a.array, prop_types_default.a.object, prop_types_default.a.string]), + + /** + * Type of this controls component ('actions' or 'controls') + */ + type: prop_types_default.a.oneOf(['actions', 'controls']) +}; +var controls_defaultProps = {}; + +var controls_Controls = /*#__PURE__*/function (_Component) { + controls_inherits(Controls, _Component); + + var _super = controls_createSuper(Controls); + + function Controls() { + controls_classCallCheck(this, Controls); + + return _super.apply(this, arguments); + } + + controls_createClass(Controls, [{ + key: "render", + value: function render() { + var controls; + var isUsingLegacyProp; + var legacyControls; + var vettedControls; + + if (this.props.type === 'actions') { + if (this.props.onRenderActions) { + controls = this.props.onRenderActions(); + } else if (this.props.contentRight) { + controls = this.props.contentRight; + isUsingLegacyProp = true; + } + } else if (this.props.onRenderControls) { + controls = this.props.onRenderControls(); + } else if (this.props.navRight) { + controls = this.props.navRight; + isUsingLegacyProp = true; + } + + if (controls) { + if (controls.type && controls.type.displayName === PAGE_HEADER_CONTROL) { + vettedControls = controls; + } else if (controls.props && controls.props.children) { + vettedControls = []; + external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.Children.forEach(controls.props.children, function (child) { + if (child && child.type && child.type.displayName === PAGE_HEADER_CONTROL) { + // eslint-disable-next-line fp/no-mutating-methods + vettedControls.push(child); + } + }); + } // Backward compatibility for older 'contentRight' & 'navRight' structures. + + + if (isUsingLegacyProp && (!vettedControls || vettedControls.length < 1)) { + if (typeof controls !== 'string') { + legacyControls = /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", controls_extends({ + className: "slds-page-header__controls" + }, controls.props)); + } else { + legacyControls = /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: "slds-page-header__controls" + }, controls); + } + } + + return /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: classnames_default()("slds-page-header__col-".concat(this.props.type), this.props.className) + }, legacyControls || /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: "slds-page-header__controls" + }, vettedControls)); + } + + return null; + } + }]); + + return Controls; +}(external_amd_react_commonjs_react_commonjs2_react_root_React_["Component"]); + +controls_Controls.displayName = controls_displayName; +controls_Controls.propTypes = controls_propTypes; +controls_Controls.defaultProps = controls_defaultProps; +/* harmony default export */ var private_controls = (controls_Controls); +// CONCATENATED MODULE: ./components/page-header/private/base/index.jsx +/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */ + +/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */ + + + + + + + + +var base_displayName = 'PageHeaderBase'; +var base_propTypes = { + /** + * The page header icon + */ + icon: prop_types_default.a.node, + + /** + * The info property can be a string or a React element + */ + info: prop_types_default.a.node, + + /** + * Nav content which appears in the upper right hand corner. + * prop 'navRight' will be deprecated soon, use 'onRenderControls' instead + */ + onRenderControls: prop_types_default.a.func, + + /** + * The title property can be a string or a React element + */ + title: prop_types_default.a.node, + + /** + * The type of component + */ + variant: prop_types_default.a.string +}; + +var base_Base = function Base(props) { + var icon; // Backwards compatibility + + if (props.iconName) { + icon = /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(components_icon, { + category: props.iconCategory, + className: "slds-page-header__icon", + name: props.iconName, + position: props.iconPosition, + size: props.iconSize, + variant: props.iconVariant + }); + } else if (props.icon) { + var iconClasses = 'slds-page-header__icon'; + + if (props.icon.props) { + iconClasses = classnames_default()(props.icon.props.className, iconClasses); + } + + icon = /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.cloneElement(props.icon, { + className: iconClasses + }); + } + + return /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: "slds-page-header__row" + }, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: "slds-page-header__col-title" + }, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(media_object, { + body: /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.Fragment, null, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: "slds-page-header__name" + }, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(private_title, { + content: props.title + })), /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(info, { + content: props.info, + variant: props.variant + })), + figure: icon + })), /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(private_controls, { + className: "slds-align-middle", + navRight: props.navRight, + onRenderControls: props.onRenderControls, + type: "controls" + })); +}; + +base_Base.displayName = base_displayName; +base_Base.propTypes = base_propTypes; +/* harmony default export */ var base = (base_Base); +// CONCATENATED MODULE: ./components/page-header/private/record-home/index.jsx +/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */ + +/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */ + + + + + + + + +var record_home_displayName = 'PageHeaderRecordHome'; +var record_home_propTypes = { + /** + * An array of detail blocks (used in "recordHome" variant) + */ + details: prop_types_default.a.array, + + /** + * The label property can be a string or a React element + */ + label: prop_types_default.a.node, + + /** + * The page header icon + */ + icon: prop_types_default.a.element, + + /** + * Content to appear on the right hand side of the page header + * prop 'contentRight' will be deprecated soon, use 'onRenderActions' instead + */ + onRenderActions: prop_types_default.a.func, + + /** + * The title property can be a string or a React element + */ + title: prop_types_default.a.node +}; + +var record_home_RecordHome = function RecordHome(props) { + var icon; // Backwards compatibility + + if (props.iconName) { + icon = /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(components_icon, { + category: props.iconCategory, + className: "slds-page-header__icon", + name: props.iconName, + position: props.iconPosition, + size: props.iconSize, + variant: props.iconVariant + }); + } else if (props.icon) { + var iconClasses = 'slds-page-header__icon'; + + if (props.icon.props) { + iconClasses = classnames_default()(props.icon.props.className, iconClasses); + } + + icon = /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.cloneElement(props.icon, { + className: iconClasses + }); + } + + return /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.Fragment, null, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: "slds-page-header__row" + }, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: "slds-page-header__col-title" + }, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(media_object, { + body: /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.Fragment, null, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: "slds-page-header__name" + }, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(private_title, { + content: props.title, + label: props.label + }))), + figure: icon + })), /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(private_controls, { + contentRight: props.contentRight, + onRenderActions: props.onRenderActions, + type: "actions" + })), props.details ? /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: "slds-page-header__row slds-page-header__row_gutters" + }, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: "slds-page-header__col-details" + }, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(detail_row, { + details: props.details + }))) : null); +}; + +record_home_RecordHome.displayName = record_home_displayName; +record_home_RecordHome.propTypes = record_home_propTypes; +/* harmony default export */ var record_home = (record_home_RecordHome); +// CONCATENATED MODULE: ./components/page-header/private/object-home/index.jsx +/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */ + +/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */ + + + + + + + + + +var object_home_displayName = 'PageHeaderObjectHome'; +var object_home_propTypes = { + /** + * The label property can be a string or a React element + */ + label: prop_types_default.a.node, + + /** + * The page header icon + */ + icon: prop_types_default.a.element, + + /** + * The info property can be a string or a React element + */ + info: prop_types_default.a.node, + + /** + * Used with the `object-home` variant. Accepts a node, typically a Dropdown component + */ + nameSwitcherDropdown: prop_types_default.a.node, + + /** + * Content to appear on the right hand side of the page header + * prop 'contentRight' will be deprecated soon, use 'onRenderActions' instead + */ + onRenderActions: prop_types_default.a.func, + + /** + * Nav content which appears in the upper right hand corner. + * prop 'navRight' will be deprecated soon, use 'onRenderControls' instead + */ + onRenderControls: prop_types_default.a.func, + + /** + * The title property can be a string or a React element + */ + title: prop_types_default.a.node, + + /** + * An array of react elements presumably anchor <a> elements. + */ + trail: prop_types_default.a.array, + + /** + * The type of component + * Note: Extra options are added to make the version backward compatible + */ + variant: prop_types_default.a.string +}; + +var object_home_ObjectHome = function ObjectHome(props) { + var icon; // Backwards compatibility + + if (props.iconName) { + icon = /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(components_icon, { + category: props.iconCategory, + className: "slds-page-header__icon", + name: props.iconName, + position: props.iconPosition, + size: props.iconSize, + variant: props.iconVariant + }); + } else if (props.icon) { + var iconClasses = 'slds-page-header__icon'; + + if (props.icon.props) { + iconClasses = classnames_default()(props.icon.props.className, iconClasses); + } + + icon = /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.cloneElement(props.icon, { + className: iconClasses + }); + } + + return /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.Fragment, null, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: "slds-page-header__row" + }, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: "slds-page-header__col-title" + }, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(media_object, { + body: /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.Fragment, null, props.trail ? /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(page_header_private_label, { + style: { + lineHeight: '1.3' + }, + trail: props.trail + }) : null, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: "slds-page-header__name" + }, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(private_title, { + content: props.title, + label: !props.trail ? props.label : null + }), props.nameSwitcherDropdown ? /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: "slds-page-header__name-switcher" + }, props.nameSwitcherDropdown) : null)), + figure: icon + })), /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(private_controls, { + className: classnames_default()({ + 'slds-align-middle slds-p-bottom_none': !props.onRenderControls && !props.navRight + }), + contentRight: props.contentRight, + onRenderActions: props.onRenderActions, + type: "actions" + })), /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: "slds-page-header__row" + }, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: "slds-page-header__col-meta" + }, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(info, { + content: props.info, + variant: props.variant + })), /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(private_controls, { + className: classnames_default()({ + 'slds-align-middle': !props.onRenderActions && !props.comntentRight + }), + navRight: props.navRight, + onRenderControls: props.onRenderControls, + type: "controls" + }))); +}; + +object_home_ObjectHome.displayName = object_home_displayName; +object_home_ObjectHome.propTypes = object_home_propTypes; +/* harmony default export */ var object_home = (object_home_ObjectHome); +// CONCATENATED MODULE: ./components/page-header/private/related-list/index.jsx +/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */ + +/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */ + + + + + + + +var related_list_displayName = 'PageHeaderRelatedList'; +var related_list_propTypes = { + /** + * The label property can be a string or a React element + */ + label: prop_types_default.a.node, + + /** + * The info property can be a string or a React element + */ + info: prop_types_default.a.node, + + /** + * Content to appear on the right hand side of the page header + * prop 'contentRight' will be deprecated soon, use 'onRenderActions' instead + */ + onRenderActions: prop_types_default.a.func, + + /** + * Nav content which appears in the upper right hand corner. + * prop 'navRight' will be deprecated soon, use 'onRenderControls' instead + */ + onRenderControls: prop_types_default.a.func, + + /** + * The title property can be a string or a React element + */ + title: prop_types_default.a.node, + + /** + * An array of react elements presumably anchor <a> elements. + */ + trail: prop_types_default.a.array, + + /** + * The type of component + * Note: Extra options are added to make the version backward compatible + */ + variant: prop_types_default.a.string +}; +var related_list_defaultProps = {}; + +var related_list_RelatedList = function RelatedList(props) { + return /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.Fragment, null, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: "slds-page-header__row" + }, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: "slds-page-header__col-title" + }, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(page_header_private_label, { + content: props.label, + trail: props.trail + }), /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(media_object, { + body: /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: "slds-page-header__name" + }, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(private_title, { + content: props.title, + label: props.label + })) + })), /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(private_controls, { + contentRight: props.contentRight, + onRenderActions: props.onRenderActions, + type: "actions" + })), /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: "slds-page-header__row" + }, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: "slds-page-header__col-meta" + }, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(info, { + content: props.info, + variant: props.variant + })), /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(private_controls, { + navRight: props.navRight, + onRenderControls: props.onRenderControls, + type: "controls" + }))); +}; + +related_list_RelatedList.displayName = related_list_displayName; +related_list_RelatedList.propTypes = related_list_propTypes; +related_list_RelatedList.defaultProps = related_list_defaultProps; +/* harmony default export */ var related_list = (related_list_RelatedList); +// CONCATENATED MODULE: ./components/page-header/index.jsx +function page_header_typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { page_header_typeof = function _typeof(obj) { return typeof obj; }; } else { page_header_typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return page_header_typeof(obj); } + +function page_header_classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function page_header_defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function page_header_createClass(Constructor, protoProps, staticProps) { if (protoProps) page_header_defineProperties(Constructor.prototype, protoProps); if (staticProps) page_header_defineProperties(Constructor, staticProps); return Constructor; } + +function page_header_inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) page_header_setPrototypeOf(subClass, superClass); } + +function page_header_setPrototypeOf(o, p) { page_header_setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return page_header_setPrototypeOf(o, p); } + +function page_header_createSuper(Derived) { var hasNativeReflectConstruct = page_header_isNativeReflectConstruct(); return function _createSuperInternal() { var Super = page_header_getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = page_header_getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return page_header_possibleConstructorReturn(this, result); }; } + +function page_header_possibleConstructorReturn(self, call) { if (call && (page_header_typeof(call) === "object" || typeof call === "function")) { return call; } return page_header_assertThisInitialized(self); } + +function page_header_assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +function page_header_isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } } + +function page_header_getPrototypeOf(o) { page_header_getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return page_header_getPrototypeOf(o); } + +/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */ + +/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */ + +/* eslint-disable jsx-a11y/no-redundant-roles */ +// # Page Header Component +// Implements the [Page Header design pattern](https://www.lightningdesignsystem.com/components/page-headers) in React. +// Based on SLDS v2.2.1 +// ## Dependencies + + + // This component's `checkProps` which issues warnings to developers about properties when in development mode (similar to React's built in development tools) + + + + + + + + + + + // ## Constants + + +var page_header_displayName = PAGE_HEADER; +var page_header_propTypes = { + /** + * Optional class name + */ + className: prop_types_default.a.oneOfType([prop_types_default.a.array, prop_types_default.a.object, prop_types_default.a.string]), + + /** + * An array of detail blocks (used in "recordHome" variant) + */ + details: prop_types_default.a.array, + + /** + * The label property can be a string or a React element + */ + label: prop_types_default.a.oneOfType([prop_types_default.a.string, prop_types_default.a.element]), + + /** + * The page header icon. Expects an Icon component + */ + icon: prop_types_default.a.element, + + /** + * The info property can be a string or a React element + */ + info: prop_types_default.a.oneOfType([prop_types_default.a.string, prop_types_default.a.element]), + + /** + * Makes PageHeader joinable with DataTable by adding appropriate classes/styling + */ + joined: prop_types_default.a.bool, + + /** + * Used with the `object-home` variant. Accepts a node, typically a Dropdown component + */ + nameSwitcherDropdown: prop_types_default.a.node, + + /** + * Actions content to appear on the upper right side of the page header. + * Returned content must be either a SLDSPageHeaderControl component or an element/fragment with children that are all SLDSPageHeaderControl components. + * Prop 'contentRight' will be deprecated soon, use 'onRenderActions' instead. + */ + onRenderActions: prop_types_default.a.func, + + /** + * Controls content to appear on the lower right side of the page header. + * Returned content must be either a SLDSPageHeaderControl component or an element/fragment with children that are all SLDSPageHeaderControl components. + * Prop 'navRight' will be deprecated soon, use 'onRenderControls' instead. + */ + onRenderControls: prop_types_default.a.func, + + /** + * The title property can be a string or a React element + */ + title: prop_types_default.a.oneOfType([prop_types_default.a.string, prop_types_default.a.element]), + + /** + * An array of react elements presumably anchor <a> elements. + */ + trail: prop_types_default.a.array, + + /** + * The type of component + * Note: Extra options are added to make the version backward compatible + */ + variant: prop_types_default.a.oneOf(['base', 'object-home', 'record-home', 'related-list']) +}; +var page_header_defaultProps = { + variant: 'base' +}; +/** + * The PageHeader component adds PageHeader, PageHeader.Info, PageHeader.Title, PageHeader.DetailRow, and PageHeader.DetailBlock. + */ + +var page_header_PageHeader = /*#__PURE__*/function (_Component) { + page_header_inherits(PageHeader, _Component); + + var _super = page_header_createSuper(PageHeader); + + function PageHeader() { + page_header_classCallCheck(this, PageHeader); + + return _super.apply(this, arguments); + } + + page_header_createClass(PageHeader, [{ + key: "componentDidMount", + value: function componentDidMount() { + page_header_check_props(PAGE_HEADER, this.props, page_header_component); + } + }, { + key: "render", + value: function render() { + var _this$props = this.props, + className = _this$props.className, + variant = _this$props.variant; + var classes = classnames_default()('slds-page-header', { + 'slds-page-header_record-home': variant === 'record-home' || variant === 'recordHome', + 'slds-page-header_related-list': variant === 'related-list' || variant === 'relatedList', + 'slds-page-header_joined': this.props.joined + }, className); + var Variant; + + switch (variant) { + case 'object-home': + case 'objectHome': + // For backward compatibility + Variant = object_home; + break; + + case 'record-home': + case 'recordHome': + // For backward compatibility + Variant = record_home; + break; + + case 'related-list': + case 'relatedList': + // For backward compatibility + Variant = related_list; + break; + + default: + Variant = base; + } + + return /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: classes + }, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(Variant, this.props)); + } + }]); + + return PageHeader; +}(external_amd_react_commonjs_react_commonjs2_react_root_React_["Component"]); + +page_header_PageHeader.displayName = page_header_displayName; +page_header_PageHeader.propTypes = page_header_propTypes; +page_header_PageHeader.defaultProps = page_header_defaultProps; +/* harmony default export */ var page_header = (page_header_PageHeader); // NOTE: these are private components and are prone to breaking changes. +// Do not use these in your app! These exports are for legacy use only. + + +// CONCATENATED MODULE: ./components/page-header/control.jsx +/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */ + +/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */ + + + // ## Constants + + +var control_propTypes = { + /** + * Optional class name + */ + className: prop_types_default.a.oneOfType([prop_types_default.a.array, prop_types_default.a.object, prop_types_default.a.string]) +}; +/** + * The PageHeaderControl component is used to wrap individual controls within PageHeader 'actions' and 'controls' sections. + */ + +var control_Control = function Control(props) { + return /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: classnames_default()('slds-page-header__control', props.className) + }, props.children); +}; + +control_Control.displayName = PAGE_HEADER_CONTROL; +control_Control.propTypes = control_propTypes; +/* harmony default export */ var control = (control_Control); +// CONCATENATED MODULE: ./components/panel/index.jsx +function panel_typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { panel_typeof = function _typeof(obj) { return typeof obj; }; } else { panel_typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return panel_typeof(obj); } + +function panel_classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function panel_defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function panel_createClass(Constructor, protoProps, staticProps) { if (protoProps) panel_defineProperties(Constructor.prototype, protoProps); if (staticProps) panel_defineProperties(Constructor, staticProps); return Constructor; } + +function panel_inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) panel_setPrototypeOf(subClass, superClass); } + +function panel_setPrototypeOf(o, p) { panel_setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return panel_setPrototypeOf(o, p); } + +function panel_createSuper(Derived) { var hasNativeReflectConstruct = panel_isNativeReflectConstruct(); return function _createSuperInternal() { var Super = panel_getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = panel_getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return panel_possibleConstructorReturn(this, result); }; } + +function panel_possibleConstructorReturn(self, call) { if (call && (panel_typeof(call) === "object" || typeof call === "function")) { return call; } return panel_assertThisInitialized(self); } + +function panel_assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +function panel_isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } } + +function panel_getPrototypeOf(o) { panel_getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return panel_getPrototypeOf(o); } + +/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */ + +/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */ +// # Panel - Filter variant +// Implements the [Panel design pattern](https://www.lightningdesignsystem.com/components/panels) in React. +// Based on SLDS v2.2.0-rc.1 +// ## Dependencies +// ### React + + // ### classNames + + // ## Constants + + +/** + * A panel provides detailed contextual information or contextual filtering options. [Filter](/components/filters/) component should be used as children. Menus within a Filter Popover will need to not have "portal mounts" and be inline. */ + +var components_panel_Panel = /*#__PURE__*/function (_React$Component) { + panel_inherits(Panel, _React$Component); + + var _super = panel_createSuper(Panel); + + function Panel() { + panel_classCallCheck(this, Panel); + + return _super.apply(this, arguments); + } + + panel_createClass(Panel, [{ + key: "render", + value: function render() { + return /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: classnames_default()('slds-panel', 'slds-grid', 'slds-grid_vertical', 'slds-nowrap', { + 'slds-panel_filters': this.props.variant === 'filters' + }, this.props.className) + }, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: "slds-form_stacked slds-grow slds-scrollable_y slds-grid slds-grid_vertical" + }, this.props.children)); + } + }]); + + return Panel; +}(external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.Component); + +components_panel_Panel.displayName = PANEL; +components_panel_Panel.propTypes = { + /** + * The contents of the panel + */ + children: prop_types_default.a.node, + + /** + * CSS classes to be added to `slds-panel`. + */ + className: prop_types_default.a.oneOfType([prop_types_default.a.array, prop_types_default.a.object, prop_types_default.a.string]), + + /** + * The type of panel + */ + variant: prop_types_default.a.oneOf(['filters']) +}; +/* harmony default export */ var components_panel = (components_panel_Panel); +// CONCATENATED MODULE: ./components/panel/filtering/check-props.js +/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */ + +/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */ + +/* eslint-disable import/no-mutable-exports */ + + +var filtering_check_props_checkProps = function checkPropsFunction() {}; + +if (false) {} + +/* harmony default export */ var filtering_check_props = (filtering_check_props_checkProps); +// CONCATENATED MODULE: ./components/panel/filtering/private/panel-footer.jsx +/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */ + +/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */ +// # Panel Filter Group Footer +// Implements the [Panel design pattern](https://www.lightningdesignsystem.com/components/panels) in React. +// Based on SLDS v2.2.0-rc.1 +// ## Dependencies +// ### React + + + +/** + * A filtering panel contextual filtering options. + */ + +var panel_footer_PanelFilterFooter = function PanelFilterFooter(_ref) { + var addFilterLabel = _ref.addFilterLabel, + onClickAdd = _ref.onClickAdd, + onClickRemoveAll = _ref.onClickRemoveAll, + removeAllLabel = _ref.removeAllLabel; + return /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: "slds-filters__footer slds-grid slds-shrink-none" + }, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(components_button, { + label: addFilterLabel, + onClick: onClickAdd, + variant: "link" + }), /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(components_button, { + className: "slds-col_bump-left", + label: removeAllLabel, + onClick: onClickRemoveAll, + variant: "link" + })); +}; + +panel_footer_PanelFilterFooter.displayName = 'SLDSPanelFilterFooter'; +panel_footer_PanelFilterFooter.propTypes = { + /** + * Localized description of the "Add Filter" button in the footer + */ + addFilterLabel: prop_types_default.a.node.isRequired, + + /** + * Callback triggered when "Add Filter" is clicked. Recieves an `event`. + */ + onClickAdd: prop_types_default.a.func.isRequired, + + /** + * Callback triggered when "Remove All" is clicked. Recieves an `event`. + */ + onClickRemoveAll: prop_types_default.a.func.isRequired, + + /** + * Localized description of the "Remove All" button in the footer + */ + removeAllLabel: prop_types_default.a.node.isRequired +}; +/* harmony default export */ var panel_footer = (panel_footer_PanelFilterFooter); +// CONCATENATED MODULE: ./components/panel/filtering/private/panel-header.jsx +/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */ + +/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */ +// # Panel Filter Group Header +// Implements the [Panel design pattern](https://www.lightningdesignsystem.com/components/panels) in React. +// Based on SLDS v2.2.0-rc.1 +// ## Dependencies +// ### React + + + +/** + * Header for a Filter Group within a Panel. + */ + +var panel_header_PanelFilterHeader = function PanelFilterHeader(_ref) { + var assistiveText = _ref.assistiveText, + cancelLabel = _ref.cancelLabel, + heading = _ref.heading, + modified = _ref.modified, + onRequestCancel = _ref.onRequestCancel, + onRequestClose = _ref.onRequestClose, + onRequestSave = _ref.onRequestSave, + saveLabel = _ref.saveLabel; + return modified ? /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: "slds-filters__header slds-grid slds-has-divider_bottom-space slds-grid_align-spread" + }, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(components_button, { + label: cancelLabel, + onClick: onRequestCancel, + variant: "neutral" + }), /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(components_button, { + label: saveLabel, + onClick: onRequestSave, + variant: "brand" + })) : /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: "slds-filters__header slds-grid slds-has-divider_bottom-space" + }, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("h2", { + className: "slds-align-middle slds-text-heading_small" + }, heading), /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(components_button, { + className: "slds-col_bump-left", + assistiveText: { + icon: assistiveText.closeButton + }, + iconCategory: "utility", + iconName: "forward", + iconVariant: "bare", + iconSize: "small", + onClick: onRequestClose, + title: assistiveText.closeButton, + variant: "icon" + })); +}; + +panel_header_PanelFilterHeader.displayName = 'SLDSPanelFilterHeader'; +panel_header_PanelFilterHeader.propTypes = { + /** + * **Assistive text for accessibility.** + * This object is merged with the default props object on every render. + * * `closeButton`: Localized description of the close button for the panel for screen readers + */ + assistiveText: prop_types_default.a.shape({ + closeButton: prop_types_default.a.string + }), + + /** + * Label for button that cancels modified filters + */ + cancelLabel: prop_types_default.a.string, + + /** + * The heading of the filtering panel + */ + heading: prop_types_default.a.node, + + /** + * Shows confirmation heading. Please see `onRequestCancel` and `onRequestSave`. + */ + modified: prop_types_default.a.bool, + + /** + * When the panel's cancel button is clicked in order to reset filter panel to previous state. + */ + onRequestCancel: prop_types_default.a.func, + + /** + * When the panel's close button is clicked. Please place Panel within another element to control position and visibility. + */ + onRequestClose: prop_types_default.a.func, + + /** + * When the panel's save button is clicked in order to confirm filter panel state. + */ + onRequestSave: prop_types_default.a.func, + + /** + * Label for button that saves modified filters + */ + saveLabel: prop_types_default.a.string +}; +/* harmony default export */ var panel_header = (panel_header_PanelFilterHeader); +// CONCATENATED MODULE: ./components/panel/filtering/group.jsx +function group_ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; } + +function group_objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { group_ownKeys(Object(source), true).forEach(function (key) { group_defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { group_ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; } + +function group_defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */ + +/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */ +// # Panel Filter Group +// Implements the Filter part of [Panel design pattern](https://www.lightningdesignsystem.com/components/panels) in React. +// Based on SLDS v2.2.0-rc.1 +// ## Dependencies +// ### React + + + + + // ## Constants + + +var filtering_group_defaultProps = { + addFilterLabel: 'Add Filter', + cancelLabel: 'Cancel', + assistiveText: { + closeButton: 'Close Filter Panel' + }, + heading: 'Filter', + saveLabel: 'Save', + removeAllLabel: 'Remove All' +}; +/** + * A filtering panel contextual filtering options. + */ + +var group_PanelFilterGroup = function PanelFilterGroup(props) { + filtering_check_props(PANEL_FILTER_GROUP, props); + var children = props.children, + errorLabel = props.errorLabel, + footer = props.footer, + header = props.header, + variant = props.variant, + addFilterLabel = props.addFilterLabel, + onClickAdd = props.onClickAdd, + onClickRemoveAll = props.onClickRemoveAll, + removeAllLabel = props.removeAllLabel, + cancelLabel = props.cancelLabel, + heading = props.heading, + modified = props.modified, + onRequestCancel = props.onRequestCancel, + onRequestClose = props.onRequestClose, + onRequestSave = props.onRequestSave, + saveLabel = props.saveLabel; + + var assistiveText = group_objectSpread(group_objectSpread({}, filtering_group_defaultProps.assistiveText), props.assistiveText); + + if (props.assistiveTextCloseFilterPanel) { + assistiveText.closeButton = props.assistiveTextCloseFilterPanel; + } + + return /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: "slds-filters" + }, variant === 'panel' ? /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(panel_header, { + assistiveText: assistiveText, + cancelLabel: cancelLabel, + heading: heading, + modified: modified, + onRequestCancel: onRequestCancel, + onRequestClose: onRequestClose, + onRequestSave: onRequestSave, + saveLabel: saveLabel + }) : header || null, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: "slds-filters__body" + }, errorLabel ? /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: "slds-text-color_error slds-m-bottom_x-small", + role: "alert" + }, errorLabel) : null, children), variant === 'panel' ? /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(panel_footer, { + addFilterLabel: addFilterLabel, + onClickAdd: onClickAdd, + onClickRemoveAll: onClickRemoveAll, + removeAllLabel: removeAllLabel + }) : footer || null); +}; + +group_PanelFilterGroup.displayName = PANEL_FILTER_GROUP; +group_PanelFilterGroup.propTypes = { + /** + * **Assistive text for accessibility.** + * This object is merged with the default props object on every render. + * * `closeButton`: Localized description of the close button for the panel for screen readers + */ + assistiveText: prop_types_default.a.shape({ + closeButton: prop_types_default.a.string + }), + + /** + * Localized description of the "Add Filter" button in the footer + */ + addFilterLabel: prop_types_default.a.node, + + /** + * Label for button that cancels modified filters + */ + cancelLabel: prop_types_default.a.string, + + /** + * Pass in `FilterList`'s of `Filters`: + * + * ``` + * <FilterGroup + * variant="panel" + * > + * <FilterList> + * <Filter + * property="Show Me" + * predicate="All Wackamoles" + * > + * {popoverContents} + * </Filter> + * </FilterList> + * </FilterGroup> + * ``` + */ + children: prop_types_default.a.node, + + /** + * Label for the error message at the top of the panel. + */ + errorLabel: prop_types_default.a.string, + + /** + * Allows for customization of footer. This will be added after any `FilterList`'s in the DOM. If using Panel Filter Group outside of a panel, do not set the variant to `panel` and header and footer will be removed. + */ + footer: prop_types_default.a.node, + + /** + * Allows for customization of header. This will be added before any `FilterList`'s in the DOM. If using Panel Filter Group outside of a panel, do not set the variant to `panel` and header and footer will be removed. + */ + header: prop_types_default.a.node, + + /** + * The heading within the header of the filtering panel + */ + heading: prop_types_default.a.oneOfType([prop_types_default.a.node, prop_types_default.a.string]), + + /** + * Shows confirmation heading. Please see `onRequestCancel` and `onRequestSave`. + */ + modified: prop_types_default.a.bool, + + /** + * Callback triggered when "Add Filter" is clicked. Recieves an `event`. + */ + onClickAdd: prop_types_default.a.func, + + /** + * Callback triggered when "Remove All" is clicked. Recieves an `event`. + */ + onClickRemoveAll: prop_types_default.a.func, + + /** + * When the panel's cancel button is clicked in order to reset filter panel to previous state. + */ + onRequestCancel: prop_types_default.a.func, + + /** + * When the panel's close button is clicked. Please place Panel within another element to control position and visibility. + */ + onRequestClose: prop_types_default.a.func, + + /** + * When the panel's save button is clicked in order to confirm filter panel state. + */ + onRequestSave: prop_types_default.a.func, + + /** + * Localized description of the "Remove All" button in the footer + */ + removeAllLabel: prop_types_default.a.node, + + /** + * Label for button that saves modified filters + */ + saveLabel: prop_types_default.a.string, + + /** + * Adds in default Panel header and footer + */ + variant: prop_types_default.a.oneOf(['panel']) +}; +group_PanelFilterGroup.defaultProps = filtering_group_defaultProps; +/* harmony default export */ var filtering_group = (group_PanelFilterGroup); +// CONCATENATED MODULE: ./components/panel/filtering/list.jsx +function list_typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { list_typeof = function _typeof(obj) { return typeof obj; }; } else { list_typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return list_typeof(obj); } + +function list_classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function list_defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function list_createClass(Constructor, protoProps, staticProps) { if (protoProps) list_defineProperties(Constructor.prototype, protoProps); if (staticProps) list_defineProperties(Constructor, staticProps); return Constructor; } + +function list_inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) list_setPrototypeOf(subClass, superClass); } + +function list_setPrototypeOf(o, p) { list_setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return list_setPrototypeOf(o, p); } + +function list_createSuper(Derived) { var hasNativeReflectConstruct = list_isNativeReflectConstruct(); return function _createSuperInternal() { var Super = list_getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = list_getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return list_possibleConstructorReturn(this, result); }; } + +function list_possibleConstructorReturn(self, call) { if (call && (list_typeof(call) === "object" || typeof call === "function")) { return call; } return list_assertThisInitialized(self); } + +function list_assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +function list_isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } } + +function list_getPrototypeOf(o) { list_getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return list_getPrototypeOf(o); } + +function list_defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */ + +/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */ +// # Filter List +// Implements the [Panel design pattern](https://www.lightningdesignsystem.com/components/panels) in React. +// Based on SLDS v2.2.0-rc.1 +// ## Dependencies +// ### React + + // ### shortid +// [npmjs.com/package/shortid](https://www.npmjs.com/package/shortid) +// shortid is a short, non-sequential, url-friendly, unique id generator + + // ## Constants + + +/** + * A list of Filters. This is a higher order component for filters that decorates the filter to work within a Filtering Panel. It also adds support for a Filter error label. + */ + +var list_PanelFilterList = /*#__PURE__*/function (_React$Component) { + list_inherits(PanelFilterList, _React$Component); + + var _super = list_createSuper(PanelFilterList); + + list_createClass(PanelFilterList, null, [{ + key: "propTypes", + value: function propTypes() { + return { + /** + * Pass in `Filter` components + */ + children: prop_types_default.a.node + }; + } + }]); + + function PanelFilterList(props) { + var _this; + + list_classCallCheck(this, PanelFilterList); + + _this = _super.call(this, props); + _this.generatedId = shortid_default.a.generate(); + return _this; + } + + list_createClass(PanelFilterList, [{ + key: "render", + value: function render() { + var _this2 = this; + + var children = external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.Children.map(this.props.children, function (child, index) { + var id = child && child.props.id ? child.props.id : "".concat(_this2.generatedId, "-").concat(index); + var clonedChild; + + if (child && child.props.errorLabel) { + clonedChild = /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.cloneElement(child, { + isError: true + }); + } + + return child ? /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("li", { + className: "slds-item slds-hint-parent" + }, clonedChild || child, child.props.errorLabel ? /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("p", { + id: "".concat(id, "-error"), + className: "slds-text-color_error slds-m-top_xx-small" + }, child.props.errorLabel) : null) : null; + }); + return /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("ol", { + className: "slds-list_vertical slds-list_vertical-space" + }, children); + } + }]); + + return PanelFilterList; +}(external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.Component); + +list_defineProperty(list_PanelFilterList, "displayName", PANEL_FILTER_LIST); + +/* harmony default export */ var filtering_list = (list_PanelFilterList); +// CONCATENATED MODULE: ./components/panel/filtering/list-heading.jsx +/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */ + +/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */ +// # FIlter List Heading +// Implements the [Panel design pattern](https://www.lightningdesignsystem.com/components/panels) in React. +// Based on SLDS v2.2.0-rc.1 +// ## Dependencies +// ### React + + // ### classNames + + + // ## Constants + + +/** + * A filtering panel contextual filtering options. + */ + +var list_heading_PanelFilterListHeading = function PanelFilterListHeading(_ref) { + var heading = _ref.heading, + isLocked = _ref.isLocked, + lockedHeading = _ref.lockedHeading; + return /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("h3", { + className: classnames_default()('slds-text-body_small', 'slds-m-vertical_x-small', { + 'slds-grid': isLocked + }) + }, isLocked ? lockedHeading : heading, isLocked ? /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(components_icon, { + className: "slds-m-left_x-small", + assistiveText: { + label: 'locked' + }, + category: "utility", + name: "lock", + size: "x-small" + }) : null); +}; + +list_heading_PanelFilterListHeading.displayName = PANEL_FILTER_LIST_HEADING; +list_heading_PanelFilterListHeading.propTypes = { + /** + * Heading for following PanelFilterList + */ + heading: prop_types_default.a.oneOfType([prop_types_default.a.node, prop_types_default.a.string]), + + /** + * Displayed a heading for a locked list of filters + */ + isLocked: prop_types_default.a.bool, + + /** + * Heading for a group of filters that are locked + */ + lockedHeading: prop_types_default.a.string +}; +list_heading_PanelFilterListHeading.defaultProps = { + heading: 'Matching all these filters', + lockedHeading: 'Locked filters' +}; +/* harmony default export */ var list_heading = (list_heading_PanelFilterListHeading); +// CONCATENATED MODULE: ./components/pill-container/index.jsx +function pill_container_typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { pill_container_typeof = function _typeof(obj) { return typeof obj; }; } else { pill_container_typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return pill_container_typeof(obj); } + +function pill_container_classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function pill_container_defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function pill_container_createClass(Constructor, protoProps, staticProps) { if (protoProps) pill_container_defineProperties(Constructor.prototype, protoProps); if (staticProps) pill_container_defineProperties(Constructor, staticProps); return Constructor; } + +function pill_container_inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) pill_container_setPrototypeOf(subClass, superClass); } + +function pill_container_setPrototypeOf(o, p) { pill_container_setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return pill_container_setPrototypeOf(o, p); } + +function pill_container_createSuper(Derived) { var hasNativeReflectConstruct = pill_container_isNativeReflectConstruct(); return function _createSuperInternal() { var Super = pill_container_getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = pill_container_getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return pill_container_possibleConstructorReturn(this, result); }; } + +function pill_container_possibleConstructorReturn(self, call) { if (call && (pill_container_typeof(call) === "object" || typeof call === "function")) { return call; } return pill_container_assertThisInitialized(self); } + +function pill_container_assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +function pill_container_isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } } + +function pill_container_getPrototypeOf(o) { pill_container_getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return pill_container_getPrototypeOf(o); } + +function pill_container_defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */ + +/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */ +// # Pill Container Component +// Implements the [Listbox of Pill Options design pattern](https://www.lightningdesignsystem.com/components/pills/?variant=listbox-of-pill-options) in React. + + + + + +var pill_container_propTypes = { + /** + * **Assistive text for accessibility** + * * `listboxLabel`: This is a label for the listbox. The default is `Selected Options:`. + * * `removePill`: Used to remove a selected item (pill). Focus is on the pill. This is not a button. The default is `Press delete or backspace to remove`. + */ + assistiveText: prop_types_default.a.shape({ + listboxLabel: prop_types_default.a.string, + removePill: prop_types_default.a.string + }), + + /** + * CSS classes to be added to the pill container + */ + className: prop_types_default.a.oneOfType([prop_types_default.a.array, prop_types_default.a.object, prop_types_default.a.string]), + + /** + * HTML id for pill container + */ + id: prop_types_default.a.string, + + /** + * **Text labels for internationalization** + * * `removePillTitle`: Title on `X` icon + */ + labels: prop_types_default.a.shape({ + removePillTitle: prop_types_default.a.string + }), + + /** + * **Array of pill objects.** + * Each object can contain: + * * `avatar`: An `Avatar` component. + * * `error`: Adds error styling + * * `icon`: An `Icon` component. + * * `id`: A unique identifier string. + * * `label`: A primary string of text. + * * `title`: Text that appears on mouse hover. Most helpful for long labels. + * ``` + * { + * id: '2', + * label: 'Salesforce.com, Inc.', + * title: 'Salesforce.com, Inc. - Want to work here?', + * }, + * ``` + * `options` with array length of zero will remove this component from the DOM. + */ + options: prop_types_default.a.arrayOf(prop_types_default.a.shape({ + avatar: prop_types_default.a.oneOfType([prop_types_default.a.node, prop_types_default.a.shape({ + imgSrc: prop_types_default.a.string, + title: prop_types_default.a.string, + variant: prop_types_default.a.string + })]), + bare: prop_types_default.a.bool, + error: prop_types_default.a.bool, + icon: prop_types_default.a.oneOfType([prop_types_default.a.node, prop_types_default.a.shape({ + category: prop_types_default.a.string, + name: prop_types_default.a.string + })]), + id: prop_types_default.a.string, + label: prop_types_default.a.oneOfType([prop_types_default.a.node, prop_types_default.a.string]), + title: prop_types_default.a.string + })), + + /** + * Function called when a pill is clicked + */ + onClickPill: prop_types_default.a.func, + + /** + * Function called when a pill is requested to be 'removed' via the delete key or 'X' icon click. + */ + onRequestRemovePill: prop_types_default.a.func, + + /** + * Custom style object to be passed to the pill container + */ + style: prop_types_default.a.object, + + /** + * Specifies the pill styling at the container level. `bare` removes border styling from all pills. + */ + variant: prop_types_default.a.oneOf(['base', 'bare']) +}; +/** + * A `PillContainer` is a container that holds one or more pills. Use it for a list of pills in a container that resembles an `input` form field. It is not intended for navigation. + */ + +var pill_container_PillContainer = /*#__PURE__*/function (_React$Component) { + pill_container_inherits(PillContainer, _React$Component); + + var _super = pill_container_createSuper(PillContainer); + + function PillContainer(props) { + var _this; + + pill_container_classCallCheck(this, PillContainer); + + _this = _super.call(this, props); + + pill_container_defineProperty(pill_container_assertThisInitialized(_this), "getId", function () { + return _this.props.id || _this.generatedId; + }); + + pill_container_defineProperty(pill_container_assertThisInitialized(_this), "getNewActiveOptionIndex", function (_ref) { + var activeOptionIndex = _ref.activeOptionIndex, + offset = _ref.offset, + options = _ref.options; + var nextIndex = activeOptionIndex + offset; + return options.length > nextIndex && nextIndex >= 0 ? nextIndex : activeOptionIndex; + }); + + pill_container_defineProperty(pill_container_assertThisInitialized(_this), "handleBlurPill", function () { + if (!_this.preserveFocus) { + _this.setState({ + listboxHasFocus: false + }); + } else { + _this.preserveFocus = false; + } + }); + + pill_container_defineProperty(pill_container_assertThisInitialized(_this), "handleClickPill", function (event, data) { + if (_this.props.onClickPill) { + _this.props.onClickPill(event, { + index: data.index, + option: data.option + }); + } + }); + + pill_container_defineProperty(pill_container_assertThisInitialized(_this), "handlePillFocus", function (event, data) { + if (!_this.state.listboxHasFocus) { + _this.setState({ + activeSelectedOption: data.option, + activeSelectedOptionIndex: data.index, + listboxHasFocus: true + }); + } + }); + + pill_container_defineProperty(pill_container_assertThisInitialized(_this), "handleNavigatePillContainer", function (event, _ref2) { + var direction = _ref2.direction; + var offsets = { + next: 1, + previous: -1 + }; + + _this.setState(function (prevState) { + var options = _this.props.options; + var isLastOptionAndRightIsPressed = prevState.activeSelectedOptionIndex + 1 === options.length && direction === 'next'; + var isFirstOptionAndLeftIsPressed = prevState.activeSelectedOptionIndex === 0 && direction === 'previous'; + var newState; + + if (isLastOptionAndRightIsPressed) { + newState = { + activeSelectedOption: options[0], + activeSelectedOptionIndex: 0, + listboxHasFocus: true + }; + } else if (isFirstOptionAndLeftIsPressed) { + newState = { + activeSelectedOption: options[options.length - 1], + activeSelectedOptionIndex: options.length - 1, + listboxHasFocus: true + }; + } else { + var newIndex = _this.getNewActiveOptionIndex({ + activeOptionIndex: prevState.activeSelectedOptionIndex, + offset: offsets[direction], + options: options + }); + + newState = { + activeSelectedOption: options[newIndex], + activeSelectedOptionIndex: newIndex, + listboxHasFocus: true + }; + } + + _this.preserveFocus = true; + return newState; + }); + }); + + pill_container_defineProperty(pill_container_assertThisInitialized(_this), "handleRequestFocusPillContainer", function (event, _ref3) { + var ref = _ref3.ref; + + if (ref) { + _this.activeSelectedOptionRef = ref; + + _this.activeSelectedOptionRef.focus(); + } + }); + + pill_container_defineProperty(pill_container_assertThisInitialized(_this), "handleRequestRemove", function (event, data) { + if (_this.props.onRequestRemovePill) { + _this.preserveFocus = true; + + _this.props.onRequestRemovePill(event, { + index: data.index, + option: data.option + }); + } + }); + + pill_container_defineProperty(pill_container_assertThisInitialized(_this), "resetActiveSelectedOption", function () { + var options = _this.props.options; + var activeSelectedOptionIndex = _this.state.activeSelectedOptionIndex; + + if (!options[activeSelectedOptionIndex]) { + if (options.length > 0 && activeSelectedOptionIndex >= options.length) { + activeSelectedOptionIndex = options.length - 1; + } else { + activeSelectedOptionIndex = 0; + } + } + + _this.setState({ + activeSelectedOption: options[activeSelectedOptionIndex] || undefined, + activeSelectedOptionIndex: activeSelectedOptionIndex, + listboxHasFocus: !!options[activeSelectedOptionIndex] + }); + }); + + _this.state = { + // seeding initial state with this.props.options[0] + activeSelectedOption: _this.props.options && _this.props.options[0] || undefined, + activeSelectedOptionIndex: 0, + listboxHasFocus: false + }; + _this.activeSelectedOptionRef = null; + _this.generatedId = shortid_default.a.generate(); + _this.preserveFocus = false; + return _this; + } + + pill_container_createClass(PillContainer, [{ + key: "componentDidUpdate", + value: function componentDidUpdate() { + if (this.props.options && this.props.options.length > 0 && !this.props.options[this.state.activeSelectedOptionIndex] || this.preserveFocus) { + this.resetActiveSelectedOption(); + this.preserveFocus = false; + } + } + }, { + key: "render", + value: function render() { + return this.props.options.length > 0 ? /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(selected_listbox, { + activeOption: this.state.activeSelectedOption, + activeOptionIndex: this.state.activeSelectedOptionIndex, + assistiveText: { + removePill: this.props.assistiveText.removePill, + selectedListboxLabel: this.props.assistiveText.listboxLabel + }, + className: this.props.className, + events: { + onBlurPill: this.handleBlurPill, + onClickPill: this.handleClickPill, + onPillFocus: this.handlePillFocus, + onRequestFocus: this.handleRequestFocusPillContainer, + onRequestFocusOnNextPill: this.handleNavigatePillContainer, + onRequestFocusOnPreviousPill: this.handleNavigatePillContainer, + onRequestRemove: this.handleRequestRemove + }, + id: "".concat(this.getId(), "-listbox-of-pill-options"), + isBare: this.props.variant === 'bare', + isPillContainer: true, + labels: this.props.labels, + listboxHasFocus: this.state.listboxHasFocus, + renderAtSelectionLength: 0, + selection: this.props.options, + style: this.props.style + }) : null; + } + }]); + + return PillContainer; +}(external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.Component); + +pill_container_PillContainer.displayName = PILL_CONTAINER; +pill_container_PillContainer.defaultProps = { + assistiveText: { + listboxLabel: 'Selected Options:', + removePill: 'Press delete or backspace to remove' + }, + labels: { + removePillTitle: 'Remove' + } +}; +pill_container_PillContainer.propTypes = pill_container_propTypes; +/* harmony default export */ var pill_container = (pill_container_PillContainer); +// CONCATENATED MODULE: ./components/progress-bar/index.jsx +function progress_bar_typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { progress_bar_typeof = function _typeof(obj) { return typeof obj; }; } else { progress_bar_typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return progress_bar_typeof(obj); } + +function progress_bar_classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function progress_bar_defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function progress_bar_createClass(Constructor, protoProps, staticProps) { if (protoProps) progress_bar_defineProperties(Constructor.prototype, protoProps); if (staticProps) progress_bar_defineProperties(Constructor, staticProps); return Constructor; } + +function progress_bar_inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) progress_bar_setPrototypeOf(subClass, superClass); } + +function progress_bar_setPrototypeOf(o, p) { progress_bar_setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return progress_bar_setPrototypeOf(o, p); } + +function progress_bar_createSuper(Derived) { var hasNativeReflectConstruct = progress_bar_isNativeReflectConstruct(); return function _createSuperInternal() { var Super = progress_bar_getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = progress_bar_getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return progress_bar_possibleConstructorReturn(this, result); }; } + +function progress_bar_possibleConstructorReturn(self, call) { if (call && (progress_bar_typeof(call) === "object" || typeof call === "function")) { return call; } return progress_bar_assertThisInitialized(self); } + +function progress_bar_assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +function progress_bar_isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } } + +function progress_bar_getPrototypeOf(o) { progress_bar_getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return progress_bar_getPrototypeOf(o); } + +/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */ + +/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */ +// Implements the [Progress Bar design pattern](https://lightningdesignsystem.com/components/progress-ring/) in React. +// Based on SLDS v2.4.5 + + + + // ### shortid +// [npmjs.com/package/shortid](https://www.npmjs.com/package/shortid) +// shortid is a short, non-sequential, url-friendly, unique id generator + + + +var progress_bar_propTypes = { + /** + * **Assistive text for accessibility** + * This object is merged with the default props object on every render. + * * `progress`: This is a visually hidden label for the percent of progress. + * _Tested with snapshot testing._ + */ + assistiveText: prop_types_default.a.shape({ + progress: prop_types_default.a.string + }), + + /** + * HTML id for component. + */ + id: prop_types_default.a.string, + + /** + * CSS classes to be added to tag with `.slds-progress-bar`. Uses `classNames` [API](https://github.com/JedWatson/classnames). + */ + className: prop_types_default.a.oneOfType([prop_types_default.a.array, prop_types_default.a.object, prop_types_default.a.string]), + + /** + * Label for the progress bar + */ + labels: prop_types_default.a.shape({ + label: prop_types_default.a.oneOfType([prop_types_default.a.string, prop_types_default.a.node]), + complete: prop_types_default.a.oneOfType([prop_types_default.a.string, prop_types_default.a.node]) + }), + + /** + * Set radius of progress bar + */ + radius: prop_types_default.a.oneOf(['circular']), + + /** + * Set fill of progress bar + */ + color: prop_types_default.a.oneOf(['success']), + + /** + * Set progress bar thickness + */ + thickness: prop_types_default.a.oneOf(['x-small', 'small', 'medium', 'large']), + + /** + * Percentage of progress completion, ranging [0, 100]. + */ + value: prop_types_default.a.number.isRequired, + + /** + * Orientation of the progress bar to be used + */ + orientation: prop_types_default.a.oneOf(['horizontal', 'vertical']), + + /** + * Custom styles to be passed to the component + */ + style: prop_types_default.a.object +}; +var progress_bar_defaultProps = { + assistiveText: { + progress: 'Progress' + }, + labels: { + complete: 'Complete' + }, + orientation: 'horizontal', + style: { + height: '100%' + } +}; +/** + * A progress bar component communicates to the user the progress of a particular process + */ + +var progress_bar_ProgressBar = /*#__PURE__*/function (_React$Component) { + progress_bar_inherits(ProgressBar, _React$Component); + + var _super = progress_bar_createSuper(ProgressBar); + + function ProgressBar(props) { + var _this; + + progress_bar_classCallCheck(this, ProgressBar); + + _this = _super.call(this, props); + _this.generatedId = shortid_default.a.generate(); + return _this; + } + /** + * ID as a string + * @returns {string} id + */ + + + progress_bar_createClass(ProgressBar, [{ + key: "getId", + value: function getId() { + return this.props.id || this.generatedId; + } + /** + * Enables Descriptive Progress Bar if label is provided + * @returns {string} description + */ + + }, { + key: "getDescription", + value: function getDescription(_ref) { + var labels = _ref.labels; + + if (labels.label) { + return /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: "slds-grid slds-grid_align-spread slds-p-bottom_x-small", + id: "progress-bar-label-".concat(this.getId()) + }, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("span", null, labels.label), /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("span", null, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("strong", null, this.props.value, '% ', labels.complete))); + } + + return ''; + } + }, { + key: "render", + value: function render() { + var labels = lodash_assign_default()({}, progress_bar_defaultProps.labels, this.props.labels); + var assistiveText = lodash_assign_default()({}, progress_bar_defaultProps.assistiveText, this.props.assistiveText); + var style = lodash_assign_default()({}, progress_bar_defaultProps.style, this.props.style); + return /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + id: this.getId(), + style: style + }, this.props.orientation === 'horizontal' && this.getDescription({ + labels: labels + }), /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + "aria-labelledby": this.props.orientation === 'horizontal' && labels.label ? "progress-bar-label-".concat(this.getId()) : undefined, + "aria-valuemin": "0", + "aria-valuemax": "100", + "aria-valuenow": this.props.value, + "aria-valuetext": "".concat(assistiveText.progress, ": ").concat(this.props.value, "%"), + role: "progressbar", + className: classnames_default()('slds-progress-bar', this.props.radius ? "slds-progress-bar_".concat(this.props.radius) : null, this.props.thickness ? "slds-progress-bar_".concat(this.props.thickness) : null, this.props.className, { + 'slds-progress-bar_vertical': this.props.orientation === 'vertical' + }) + }, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("span", { + className: classnames_default()("slds-progress-bar__value", this.props.color ? "slds-progress-bar__value_".concat(this.props.color) : null), + style: this.props.orientation === 'vertical' ? { + height: "".concat(this.props.value, "%") + } : { + width: "".concat(this.props.value, "%") + } + }, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("span", { + className: "slds-assistive-text" + }, "".concat(assistiveText.progress, ": "), "".concat(this.props.value, "%"))))); + } + }]); + + return ProgressBar; +}(external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.Component); + +progress_bar_ProgressBar.displayName = PROGRESS_BAR; +progress_bar_ProgressBar.propTypes = progress_bar_propTypes; +progress_bar_ProgressBar.defaultProps = progress_bar_defaultProps; +/* harmony default export */ var progress_bar = (progress_bar_ProgressBar); +// CONCATENATED MODULE: ./components/progress-indicator/private/step.jsx +function step_typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { step_typeof = function _typeof(obj) { return typeof obj; }; } else { step_typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return step_typeof(obj); } + +function step_classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function step_defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function step_createClass(Constructor, protoProps, staticProps) { if (protoProps) step_defineProperties(Constructor.prototype, protoProps); if (staticProps) step_defineProperties(Constructor, staticProps); return Constructor; } + +function step_inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) step_setPrototypeOf(subClass, superClass); } + +function step_setPrototypeOf(o, p) { step_setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return step_setPrototypeOf(o, p); } + +function step_createSuper(Derived) { var hasNativeReflectConstruct = step_isNativeReflectConstruct(); return function _createSuperInternal() { var Super = step_getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = step_getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return step_possibleConstructorReturn(this, result); }; } + +function step_possibleConstructorReturn(self, call) { if (call && (step_typeof(call) === "object" || typeof call === "function")) { return call; } return step_assertThisInitialized(self); } + +function step_assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +function step_isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } } + +function step_getPrototypeOf(o) { step_getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return step_getPrototypeOf(o); } + +/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */ + +/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */ + + // ### classNames +// [github.com/JedWatson/classnames](https://github.com/JedWatson/classnames) +// This project uses `classnames`, 'a simple javascript utility for conditionally +// joining classNames together.' + + // Child component + + + + // ### Display Name + +var step_displayName = PROGRESS_INDICATOR_STEP; // ### Prop Types + +var step_propTypes = { + /** + * **Assistive text for accessibility** + * This object is merged with the default props object on every render. + * * `completedStep`: Label for a completed step. The default is `Completed Step` + * * `disabledStep`: Label for disabled step. The default is `Disabled Step` + * * `errorStep`: Label for a step with an error. The default is `Error Step` + * * `percentage`: Label for Progress Bar. The default is `Progress: [this.props.value]%`. You will need to calculate the percentage yourself if changing this string. + * * `step`: Label for a step. It will be typically followed by the number of the step such as "Step 1". + */ + assistiveText: prop_types_default.a.shape({ + completedStep: prop_types_default.a.string, + disabledStep: prop_types_default.a.string, + percentage: prop_types_default.a.string, + step: prop_types_default.a.string + }), + + /** + * Id for Steps, ranging in [0, steps.length). + */ + id: prop_types_default.a.oneOfType([prop_types_default.a.number, prop_types_default.a.string]), + + /** + * Index of step. Used for id's if no step ID exists + */ + index: prop_types_default.a.number, + + /** + * Determines if the step has been completed + */ + isCompleted: prop_types_default.a.bool, + + /** + * Determines if the step has been disabled + */ + isDisabled: prop_types_default.a.bool, + + /** + * Determines if the step contains an error + */ + isError: prop_types_default.a.bool, + + /** + * Determines if the step is currently selected (active) + */ + isSelected: prop_types_default.a.bool, + + /** + * Label of tooltip attached to the step if applicable. + */ + label: prop_types_default.a.node, + + /** + * Triggered when click on individual steps. By default, it receives an event and returns all info passed to that step. + * users are able to re-define it by passing a function as a prop + */ + onClick: prop_types_default.a.func, + + /** + * Triggered when focus on individual steps. By default, it receives an event and returns all info passed to that step. + * users are able to re-define it by passing a function as a prop + */ + onFocus: prop_types_default.a.func, + + /** + * Step object. This is passed into event callbacks. + */ + step: prop_types_default.a.object, + + /** + * Determines if the tooltip attached to step is always open. + * This is mainly for dev test purpose. + * Usually the tooltip should only show when hover. + */ + tooltipIsOpen: prop_types_default.a.bool, + + /** + * Please select one of the following: + * * `absolute` - (default if `variant` is `modal`) The dialog will use `position: absolute` and style attributes to position itself. This allows inverted placement or flipping of the dialog. + * * `overflowBoundaryElement` - (default if `variant` is `base`) The dialog will overflow scrolling parents. Use on elements that are aligned to the left or right of their target and don't care about the target being within a scrolling parent. Typically this is a popover or tooltip. Dropdown menus can usually open up and down if no room exists. In order to achieve this a portal element will be created and attached to `body`. This element will render into that detached render tree. + * * `relative` - No styling or portals will be used. Menus will be positioned relative to their triggers. This is a great choice for HTML snapshot testing. + */ + tooltipPosition: prop_types_default.a.oneOf(['absolute', 'overflowBoundaryElement', 'relative']) +}; +/** + * Step renders a button icon and its tooltip if applied. + * The button is applied with different css classes under different conditions. + * Button icons have 4 types of status: completed (success), active (in progress), error (warning) and uncompleted (not approached) + */ + +var step_Step = /*#__PURE__*/function (_React$Component) { + step_inherits(Step, _React$Component); + + var _super = step_createSuper(Step); + + function Step() { + step_classCallCheck(this, Step); + + return _super.apply(this, arguments); + } + + step_createClass(Step, [{ + key: "buttonIcon", + + /** + * buttonIcon represents the button icon used for each step. + * the button is applied with different css classes under different conditions. + */ + value: function buttonIcon(renderIcon, status, props) { + var data = { + isSelected: props.isSelected, + isError: props.isError, + isCompleted: props.isCompleted, + isDisabled: props.isDisabled, + step: props.step + }; + var icon = renderIcon ? /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(button_icon, { + category: "utility", + name: this.props.isError ? 'error' : 'success' + }) : null; + + var handleClick = function handleClick(event) { + return props.onClick(event, data); + }; + + var handleFocus = function handleFocus(event) { + return props.onFocus(event, data); + }; + + var stepButton = props.isDisabled ? /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("a", { + className: classnames_default()('slds-button', { + 'slds-button_icon': renderIcon + }, 'slds-progress__marker', { + 'slds-progress__marker_icon': renderIcon + }, 'slds-is-disabled'), + "aria-disabled": true, + "aria-describedby": "progress-indicator-tooltip-".concat(this.props.step.id || this.props.index), + style: { + cursor: 'not-allowed' + }, + tabIndex: 0, + role: "button" + }, icon, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("span", { + className: "slds-assistive-text" + }, this.props.step.assistiveText || /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.Fragment, null, "".concat(props.assistiveText.step, " ").concat(props.index + 1, ": "), props.step.label, "- ".concat(status)))) : /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("button", { + className: classnames_default()('slds-button', { + 'slds-button_icon': renderIcon + }, 'slds-progress__marker', { + 'slds-progress__marker_icon': renderIcon + }), + onClick: handleClick, + onFocus: handleFocus, + "aria-describedby": "progress-indicator-tooltip-".concat(this.props.step.id || this.props.index), + "aria-current": this.props.isSelected ? 'step' : null, + type: "button" + }, icon, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("span", { + className: "slds-assistive-text" + }, this.props.step.assistiveText || /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.Fragment, null, "".concat(props.assistiveText.step, " ").concat(props.index + 1, ": "), props.step.label, status ? " - ".concat(status) : ''))); + return stepButton; + } + }, { + key: "render", + value: function render() { + var renderIcon = this.props.isCompleted || this.props.isError; + var status = ''; + + if (this.props.isError) { + status = this.props.assistiveText.errorStep; + } else if (this.props.isCompleted) { + status = this.props.assistiveText.completedStep; + } else if (this.props.isDisabled) { + status = this.props.assistiveText.disabledStep; + } + + var tooltipProps = { + align: 'top', + id: "progress-indicator-tooltip-".concat(this.props.step.id || this.props.index), + content: this.props.step.label, + theme: 'info', + position: this.props.tooltipPosition, + triggerStyle: { + display: !renderIcon ? 'flex' : '' + } + }; // This is mainly for dev test purpose. + // `isOpen` is only set to true if tooltip is specified to be open + // Do not set isOpen to false or undefined otherwise, because that will + // disable any interaction with tooltips + + if (this.props.tooltipIsOpen) { + tooltipProps.isOpen = true; + } + + return /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("li", { + className: classnames_default()('slds-progress__item', { + 'slds-is-completed': this.props.isCompleted, + 'slds-is-active': this.props.isSelected && !this.props.isError, + 'slds-has-error': this.props.isError + }) + }, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(tooltip, tooltipProps, this.buttonIcon(renderIcon, status, this.props))); + } + }]); + + return Step; +}(external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.Component); + +step_Step.propTypes = step_propTypes; +step_Step.displayName = step_displayName; +/* harmony default export */ var private_step = (step_Step); // export is replaced with `ReactDOM.render(<Example />, mountNode);` at runtime +// CONCATENATED MODULE: ./components/progress-indicator/private/progress-bar.jsx +function private_progress_bar_typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { private_progress_bar_typeof = function _typeof(obj) { return typeof obj; }; } else { private_progress_bar_typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return private_progress_bar_typeof(obj); } + +function private_progress_bar_classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function private_progress_bar_defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function private_progress_bar_createClass(Constructor, protoProps, staticProps) { if (protoProps) private_progress_bar_defineProperties(Constructor.prototype, protoProps); if (staticProps) private_progress_bar_defineProperties(Constructor, staticProps); return Constructor; } + +function private_progress_bar_inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) private_progress_bar_setPrototypeOf(subClass, superClass); } + +function private_progress_bar_setPrototypeOf(o, p) { private_progress_bar_setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return private_progress_bar_setPrototypeOf(o, p); } + +function private_progress_bar_createSuper(Derived) { var hasNativeReflectConstruct = private_progress_bar_isNativeReflectConstruct(); return function _createSuperInternal() { var Super = private_progress_bar_getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = private_progress_bar_getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return private_progress_bar_possibleConstructorReturn(this, result); }; } + +function private_progress_bar_possibleConstructorReturn(self, call) { if (call && (private_progress_bar_typeof(call) === "object" || typeof call === "function")) { return call; } return private_progress_bar_assertThisInitialized(self); } + +function private_progress_bar_assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +function private_progress_bar_isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } } + +function private_progress_bar_getPrototypeOf(o) { private_progress_bar_getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return private_progress_bar_getPrototypeOf(o); } + +/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */ + +/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */ + + + +var private_progress_bar_propTypes = { + /** + * Assistive text for percentage + */ + assistiveText: prop_types_default.a.shape({ + percentage: prop_types_default.a.string + }), + + /** + * Percentage of progress completion, with range of [0, 100] + */ + value: prop_types_default.a.string.isRequired +}; +/** + * ProgressBar renders the blue/gray progress bar and dynamically updates its completion percentage + */ + +var private_progress_bar_ProgressBar = /*#__PURE__*/function (_React$Component) { + private_progress_bar_inherits(ProgressBar, _React$Component); + + var _super = private_progress_bar_createSuper(ProgressBar); + + function ProgressBar() { + private_progress_bar_classCallCheck(this, ProgressBar); + + return _super.apply(this, arguments); + } + + private_progress_bar_createClass(ProgressBar, [{ + key: "render", + value: function render() { + return /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: classnames_default()('slds-progress-bar slds-progress-bar_x-small', { + 'slds-progress-bar_vertical': this.props.orientation === 'vertical' + }), + "aria-valuemin": "0", + "aria-valuemax": "100", + "aria-valuenow": this.props.value, + role: "progressbar" + }, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("span", { + className: "slds-progress-bar__value", + style: this.props.orientation === 'vertical' ? { + height: "".concat(this.props.value, "%") + } : { + width: "".concat(this.props.value, "%") + } + }, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("span", { + className: "slds-assistive-text" + }, this.props.assistiveText.percentage || "Progress: ".concat(this.props.value, "%")))); + } + }]); + + return ProgressBar; +}(external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.Component); + +private_progress_bar_ProgressBar.displayName = 'ProgressBar'; +private_progress_bar_ProgressBar.propTypes = private_progress_bar_propTypes; +/* harmony default export */ var private_progress_bar = (private_progress_bar_ProgressBar); +// CONCATENATED MODULE: ./components/progress-indicator/private/progress.jsx +function progress_typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { progress_typeof = function _typeof(obj) { return typeof obj; }; } else { progress_typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return progress_typeof(obj); } + +function progress_classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function progress_defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function progress_createClass(Constructor, protoProps, staticProps) { if (protoProps) progress_defineProperties(Constructor.prototype, protoProps); if (staticProps) progress_defineProperties(Constructor, staticProps); return Constructor; } + +function progress_inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) progress_setPrototypeOf(subClass, superClass); } + +function progress_setPrototypeOf(o, p) { progress_setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return progress_setPrototypeOf(o, p); } + +function progress_createSuper(Derived) { var hasNativeReflectConstruct = progress_isNativeReflectConstruct(); return function _createSuperInternal() { var Super = progress_getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = progress_getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return progress_possibleConstructorReturn(this, result); }; } + +function progress_possibleConstructorReturn(self, call) { if (call && (progress_typeof(call) === "object" || typeof call === "function")) { return call; } return progress_assertThisInitialized(self); } + +function progress_assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +function progress_isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } } + +function progress_getPrototypeOf(o) { progress_getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return progress_getPrototypeOf(o); } + +/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */ + +/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */ + + // ### classNames +// [github.com/JedWatson/classnames](https://github.com/JedWatson/classnames) +// This project uses `classnames`, 'a simple javascript utility for conditionally +// joining classNames together.' + + + + // ### Prop Types + +var progress_propTypes = { + /** + * Assistive text for percentage + */ + assistiveText: prop_types_default.a.shape({ + percentage: prop_types_default.a.string + }), + + /** + * Steps in the component + */ + children: prop_types_default.a.node, + + /** + * CSS class names to be added to the container element. + */ + className: prop_types_default.a.oneOfType([prop_types_default.a.array, prop_types_default.a.object, prop_types_default.a.string]), + + /** + * HTML id for component. + */ + id: prop_types_default.a.string.isRequired, + + /** + * Determines the orientation of the progress indicator + */ + orientation: prop_types_default.a.oneOf(['horizontal', 'vertical']), + + /** + * Percentage of progress completion, ranging [0, 100] + */ + value: prop_types_default.a.string.isRequired, + + /** + * Determines component style + */ + variant: prop_types_default.a.oneOf(['base', 'modal', 'setup-assistant']) +}; +/** + * Progress renders all step buttons and a container wrapping these buttongs and a progress bar + */ + +var progress_Progress = /*#__PURE__*/function (_React$Component) { + progress_inherits(Progress, _React$Component); + + var _super = progress_createSuper(Progress); + + function Progress() { + progress_classCallCheck(this, Progress); + + return _super.apply(this, arguments); + } + + progress_createClass(Progress, [{ + key: "getId", + + /** + * Get the progress's HTML id. Generate a new one if no ID present. + */ + value: function getId() { + return this.props.id; + } + }, { + key: "render", + value: function render() { + return /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + id: this.getId(), + className: classnames_default()('slds-progress', { + 'slds-progress_shade': this.props.variant === 'modal' + }, { + 'slds-progress_vertical': this.props.orientation === 'vertical' + }, { + 'slds-progress_success': this.props.variant === 'setup-assistant' + }, this.props.className) + }, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("ol", { + className: classnames_default()('slds-progress__list', { + 'slds-progress__list-bordered': this.props.variant === 'setup-assistant' + }) + }, this.props.children), this.props.orientation !== 'vertical' && /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(private_progress_bar, { + value: this.props.value, + orientation: this.props.orientation, + assistiveText: this.props.assistiveText + })); + } + }]); + + return Progress; +}(external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.Component); + +progress_Progress.propTypes = progress_propTypes; +progress_Progress.displayName = PROGRESS_INDICATOR_PROGRESS; +/* harmony default export */ var private_progress = (progress_Progress); +// CONCATENATED MODULE: ./components/progress-indicator/private/step-vertical.jsx +function step_vertical_typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { step_vertical_typeof = function _typeof(obj) { return typeof obj; }; } else { step_vertical_typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return step_vertical_typeof(obj); } + +function step_vertical_classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function step_vertical_defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function step_vertical_createClass(Constructor, protoProps, staticProps) { if (protoProps) step_vertical_defineProperties(Constructor.prototype, protoProps); if (staticProps) step_vertical_defineProperties(Constructor, staticProps); return Constructor; } + +function step_vertical_inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) step_vertical_setPrototypeOf(subClass, superClass); } + +function step_vertical_setPrototypeOf(o, p) { step_vertical_setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return step_vertical_setPrototypeOf(o, p); } + +function step_vertical_createSuper(Derived) { var hasNativeReflectConstruct = step_vertical_isNativeReflectConstruct(); return function _createSuperInternal() { var Super = step_vertical_getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = step_vertical_getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return step_vertical_possibleConstructorReturn(this, result); }; } + +function step_vertical_possibleConstructorReturn(self, call) { if (call && (step_vertical_typeof(call) === "object" || typeof call === "function")) { return call; } return step_vertical_assertThisInitialized(self); } + +function step_vertical_assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +function step_vertical_isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } } + +function step_vertical_getPrototypeOf(o) { step_vertical_getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return step_vertical_getPrototypeOf(o); } + +function step_vertical_defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */ + +/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */ + + // ### classNames +// [github.com/JedWatson/classnames](https://github.com/JedWatson/classnames) +// This project uses `classnames`, 'a simple javascript utility for conditionally +// joining classNames together.' + + // Child component + + + // ### Display Name + +var step_vertical_displayName = PROGRESS_INDICATOR_STEP_VERTICAL; // ### Prop Types + +var step_vertical_propTypes = { + /** + * Index of step. Used for id's if no step ID exists + */ + index: prop_types_default.a.number, + + /** + * Determines if the step has been completed + */ + isCompleted: prop_types_default.a.bool, + + /** + * Determines if the step contains an error + */ + isError: prop_types_default.a.bool, + + /** + * Determines if the step is currently selected (active) + */ + isSelected: prop_types_default.a.bool, + + /** + * Triggered when click on individual steps. By default, it receives an event and returns all info passed to that step. + * users are able to re-define it by passing a function as a prop + */ + onClick: prop_types_default.a.func, + + /** + * Step object. This is passed into event callbacks. + */ + step: prop_types_default.a.object, + + /** + * The variant of the parent progress indicator + */ + variant: prop_types_default.a.string +}; +/** + * StepVertical renders a step icon and its step label if applied + */ + +var step_vertical_StepVertical = /*#__PURE__*/function (_React$Component) { + step_vertical_inherits(StepVertical, _React$Component); + + var _super = step_vertical_createSuper(StepVertical); + + function StepVertical() { + var _this; + + step_vertical_classCallCheck(this, StepVertical); + + for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { + args[_key] = arguments[_key]; + } + + _this = _super.call.apply(_super, [this].concat(args)); + + step_vertical_defineProperty(step_vertical_assertThisInitialized(_this), "stepIcon", function (renderIcon) { + var data = { + isSelected: _this.props.isSelected, + isError: _this.props.isError, + isCompleted: _this.props.isCompleted, + step: _this.props.step + }; + var icon = renderIcon ? /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(components_icon, { + category: "utility", + size: "x-small", + name: _this.props.isError ? 'error' : 'success' + }) : null; + + var handleClick = function handleClick(event) { + return _this.props.onClick(event, data); + }; + + return _this.props.onClick ? /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("button", { + className: classnames_default()('slds-button slds-progress__marker', { + 'slds-progress__marker_icon': renderIcon, + 'slds-progress__marker_icon-success': _this.props.variant === 'setup-assistant' && renderIcon && !_this.props.isError + }), + type: "button", + onClick: handleClick + }, icon) : /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("span", { + className: classnames_default()('slds-progress__marker', { + 'slds-progress__marker_icon': renderIcon, + 'slds-progress__marker_icon-success': _this.props.variant === 'setup-assistant' && renderIcon && !_this.props.isError + }) + }, icon); + }); + + step_vertical_defineProperty(step_vertical_assertThisInitialized(_this), "renderStepContent", function () { + if (_this.props.step.onRenderSetupAssistantAction || _this.props.step.setupAssistantEstimatedTime) { + return /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + id: "progress-indicator-vertical-label-".concat(_this.props.step.id || _this.props.index), + className: "slds-progress__item_content slds-grid slds-grid_align-spread" + }, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: "slds-size_3-of-4" + }, _this.props.step.label), /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: "slds-grid slds-grid_align-end slds-size_1-of-4" + }, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: "slds-media__figure slds-media__figure_reverse" + }, _this.props.step.onRenderSetupAssistantAction, _this.props.step.setupAssistantEstimatedTime && /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("p", { + className: "slds-text-align_right slds-text-color_weak slds-p-top_medium" + }, _this.props.step.setupAssistantEstimatedTime)))); + } + + return /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + id: "progress-indicator-vertical-label-".concat(_this.props.step.id || _this.props.index), + className: "slds-progress__item_content slds-grid slds-grid_align-spread" + }, _this.props.step.label); + }); + + return _this; + } + + step_vertical_createClass(StepVertical, [{ + key: "render", + value: function render() { + var renderIcon = this.props.isCompleted || this.props.isError; + return /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("li", { + className: classnames_default()('slds-progress__item', { + 'slds-is-completed': this.props.isCompleted, + 'slds-is-active': this.props.isSelected && !this.props.isError, + 'slds-has-error': this.props.isError + }) + }, this.stepIcon(renderIcon), this.renderStepContent()); + } + }]); + + return StepVertical; +}(external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.Component); + +step_vertical_StepVertical.propTypes = step_vertical_propTypes; +step_vertical_StepVertical.displayName = step_vertical_displayName; +/* harmony default export */ var step_vertical = (step_vertical_StepVertical); // export is replaced with `ReactDOM.render(<Example />, mountNode);` at runtime +// CONCATENATED MODULE: ./components/progress-indicator/index.jsx +function progress_indicator_typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { progress_indicator_typeof = function _typeof(obj) { return typeof obj; }; } else { progress_indicator_typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return progress_indicator_typeof(obj); } + +function progress_indicator_ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; } + +function progress_indicator_objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { progress_indicator_ownKeys(Object(source), true).forEach(function (key) { progress_indicator_defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { progress_indicator_ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; } + +function progress_indicator_defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +function progress_indicator_classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function progress_indicator_defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function progress_indicator_createClass(Constructor, protoProps, staticProps) { if (protoProps) progress_indicator_defineProperties(Constructor.prototype, protoProps); if (staticProps) progress_indicator_defineProperties(Constructor, staticProps); return Constructor; } + +function progress_indicator_inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) progress_indicator_setPrototypeOf(subClass, superClass); } + +function progress_indicator_setPrototypeOf(o, p) { progress_indicator_setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return progress_indicator_setPrototypeOf(o, p); } + +function progress_indicator_createSuper(Derived) { var hasNativeReflectConstruct = progress_indicator_isNativeReflectConstruct(); return function _createSuperInternal() { var Super = progress_indicator_getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = progress_indicator_getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return progress_indicator_possibleConstructorReturn(this, result); }; } + +function progress_indicator_possibleConstructorReturn(self, call) { if (call && (progress_indicator_typeof(call) === "object" || typeof call === "function")) { return call; } return progress_indicator_assertThisInitialized(self); } + +function progress_indicator_assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +function progress_indicator_isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } } + +function progress_indicator_getPrototypeOf(o) { progress_indicator_getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return progress_indicator_getPrototypeOf(o); } + +/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */ + +/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */ +// Implements the [Progress Indicator design pattern](https://lightningdesignsystem.com/components/progress-indicator/) in React. +// Based on SLDS v2.4.0 + + + // ### shortid +// [npmjs.com/package/shortid](https://www.npmjs.com/package/shortid) +// shortid is a short, non-sequential, url-friendly, unique id generator + + + // Child components + + + + +var progress_indicator_displayName = PROGRESS_INDICATOR; +var progress_indicator_propTypes = { + /** + * **Assistive text for accessibility** + * This object is merged with the default props object on every render. + * * `completedStep`: Label for a completed step. The default is `Completed Step` + * * `disabledStep`: Label for disabled step. The default is `Disabled Step` + * * `errorStep`: Label for a step with an error. The default is `Error Step` + * * `percentage`: Label for Progress Bar. The default is `Progress: [this.props.value]%`. You will need to calculate the percentage yourself if changing this string. + * * `step`: Label for a step. It will be typically followed by the number of the step such as "Step 1". + */ + assistiveText: prop_types_default.a.shape({ + completedStep: prop_types_default.a.string, + disabledStep: prop_types_default.a.string, + percentage: prop_types_default.a.string, + step: prop_types_default.a.string + }), + + /** + * CSS class names to be added to the container element. `array`, `object`, or `string` are accepted. + */ + className: prop_types_default.a.oneOfType([prop_types_default.a.array, prop_types_default.a.object, prop_types_default.a.string]), + + /** + * Stores all completed steps. It is an array of step objects. + */ + completedSteps: prop_types_default.a.array, + + /** + * Stores all disabled steps. It is an array of step objects. Steps are still clickable/focusable, + * this only disables cursor change and removes onClick and onFocus event callbacks. + */ + disabledSteps: prop_types_default.a.array, + + /** + * Stores all error steps. It is an array of step objects and usually there is only one error step, the current step. If an error occurs a second error icon should be placed to the left of related confirmation buttons (e.g. Cancel, Save) and an Error Popover should appear indicating there are errors. These additional items are NOT part of this component. This note was included for visibility purposes. Please refer to [SLDS website](https://www.lightningdesignsystem.com/components/progress-indicator/) for full details ** + */ + errorSteps: prop_types_default.a.array, + + /** + * HTML id for component. + */ + id: prop_types_default.a.string, + + /** + * Determines the orientation of the progress indicator + */ + orientation: prop_types_default.a.oneOf(['horizontal', 'vertical']), + + /** + * Triggered when an individual step is clicked. By default, it receives an event and returns step state and the step object clicked: `{ isCompleted, isDisabled, isError, isSelected, step }`. Users are able to pass a callback handleClick function in forms of: <function name>(event, data) where data is the callback result. + * ``` + * const handleStepClick = function(event, data) { console.log(data); }; + * <ProgressIndicator onStepClick={handleStepClick} /> + * ``` + */ + onStepClick: prop_types_default.a.func, + + /** + * Triggered when an individual step is focused. By default, it receives an event and returns step state and the step object clicked: `{ isCompleted, isDisabled, isError, isSelected, step }`. Users are able to pass a callback handleClick function in forms of: <function name>(event, data) where data is the callback result. + * ``` + * const handleStepFocus = function(event, data) { console.log(data); }; + * <ProgressIndicator onStepFocus={handleStepFocus} /> + * ``` + */ + onStepFocus: prop_types_default.a.func, + + /** + * Represents the currently selected or active step. It is a step object. + */ + selectedStep: prop_types_default.a.object.isRequired, + + /** + * It is an array of step objects in the following form: + * ``` + * [{ + * id: <PropTypes.number> or <PropTypes.string>, has to be unique + * label: <PropTypes.string>, representing the tooltip content + * assistiveText: <PropTypes.string>, The default is `[Step props.index + 1]: [status]`. Status is if the step has been completed or in an error state. + * }], + * ``` + */ + steps: prop_types_default.a.array.isRequired, + + /** + * Stores all steps with opened tooltips. This property is mainly for development purposes. The tooltip should only show on hover for the user. + */ + tooltipIsOpenSteps: prop_types_default.a.array, + + /** + * Determines component style. + */ + variant: prop_types_default.a.oneOf(['base', 'modal', 'setup-assistant']), + + /** + * Please select one of the following: + * * `absolute` - (default if `variant` is `modal`) The dialog will use `position: absolute` and style attributes to position itself. This allows inverted placement or flipping of the dialog. + * * `overflowBoundaryElement` - (default if `variant` is `base`) The dialog will overflow scrolling parents. Use on elements that are aligned to the left or right of their target and don't care about the target being within a scrolling parent. Typically this is a popover or tooltip. Dropdown menus can usually open up and down if no room exists. In order to achieve this a portal element will be created and attached to `body`. This element will render into that detached render tree. + * * `relative` - No styling or portals will be used. Menus will be positioned relative to their triggers. This is a great choice for HTML snapshot testing. + */ + tooltipPosition: prop_types_default.a.oneOf(['absolute', 'overflowBoundaryElement', 'relative']) +}; +var defaultSteps = [{ + id: 0, + label: 'tooltip label #1' +}, { + id: 1, + label: 'tooltip label #2' +}, { + id: 2, + label: 'tooltip label #3' +}, { + id: 3, + label: 'tooltip label #4' +}, { + id: 4, + label: 'tooltip label #5' +}]; +var progress_indicator_defaultProps = { + assistiveText: { + completedStep: 'Completed', + disabledStep: 'Disabled', + errorStep: 'Error', + step: 'Step' + }, + errorSteps: [], + completedSteps: [], + disabledSteps: [], + orientation: 'horizontal', + selectedStep: defaultSteps[0], + variant: 'base', + // click/focus callbacks by default do nothing + onStepClick: function onStepClick() {}, + onStepFocus: function onStepFocus() {} +}; +/** + * Check if `steps` prop is valid + */ + +function checkSteps(steps) { + var isStepsDefined = steps !== undefined; + + var isLabelDefined = function isLabelDefined(step) { + return step.label !== undefined; + }; + + var stepLabelsDefined = Array.isArray(steps) && steps.every(isLabelDefined); + return isStepsDefined && stepLabelsDefined; +} +/** + * Check if an item is from an array of items. + * If items argument is not an array, it will be treated as an object comparison between item & items. + */ + + +function findStep(item, items) { + if (!item || !items) return false; + var itemsArray = !Array.isArray(items) ? [items] : items; + return !!lodash_find_default()(itemsArray, function (arrayItem) { + if (arrayItem === item) { + return true; + } + + if (arrayItem.id !== undefined && item.id !== undefined) { + return arrayItem.id === item.id; + } + + return JSON.stringify(arrayItem) === JSON.stringify(item); + }); +} +/** + * Progress Indicator is a component that communicates to the user the progress of a particular process. + */ + + +var progress_indicator_ProgressIndicator = /*#__PURE__*/function (_React$Component) { + progress_indicator_inherits(ProgressIndicator, _React$Component); + + var _super = progress_indicator_createSuper(ProgressIndicator); + + function ProgressIndicator(props) { + var _this; + + progress_indicator_classCallCheck(this, ProgressIndicator); + + _this = _super.call(this, props); + _this.generatedId = shortid_default.a.generate(); + return _this; + } + + progress_indicator_createClass(ProgressIndicator, [{ + key: "componentWillUnmount", + value: function componentWillUnmount() { + this.isUnmounting = true; + } + /** + * Get the progress indicator's HTML id. Generate a new one if no ID present. + */ + + }, { + key: "getId", + value: function getId() { + return this.props.id || this.generatedId; + } + }, { + key: "getSteps", + value: function getSteps() { + // check if passed steps are valid + return checkSteps(this.props.steps) ? this.props.steps : defaultSteps; + } + }, { + key: "render", + value: function render() { + var _this2 = this; + + // Merge objects of strings with their default object + var assistiveText = progress_indicator_objectSpread(progress_indicator_objectSpread({}, progress_indicator_defaultProps.assistiveText), this.props.assistiveText); + + var _this$props = this.props, + selectedStep = _this$props.selectedStep, + disabledSteps = _this$props.disabledSteps, + errorSteps = _this$props.errorSteps, + completedSteps = _this$props.completedSteps; + /** 1. preparing data */ + + var allSteps = this.getSteps(); + var currentStep = 0; // find index for the current step + // eslint-disable-next-line fp/no-loops + + for (var i = 0; i < allSteps.length; i += 1) { + // assign step an id if it does not have one + if (allSteps[i].id === undefined) { + allSteps[i].id = i; + } + + if (findStep(allSteps[i], this.props.selectedStep)) { + currentStep = i; + } + } + + var orientation = this.props.variant === 'setup-assistant' ? 'vertical' : this.props.orientation; // Set default tooltipPosition + + var tooltipPosition = this.props.tooltipPosition || (this.props.variant === 'modal' ? 'absolute' : 'overflowBoundaryElement'); + var StepComponent = orientation === 'vertical' ? step_vertical : private_step; + /** 2. return DOM */ + + return /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(private_progress, { + assistiveText: assistiveText, + id: this.getId(), + orientation: orientation, + value: currentStep === 0 ? '0' : "".concat(100 * (currentStep / (allSteps.length - 1))), + variant: this.props.variant, + className: this.props.className + }, allSteps.map(function (step, i) { + return /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(StepComponent, { + assistiveText: assistiveText, + key: "".concat(_this2.getId(), "-").concat(step.id), + id: _this2.getId(), + index: i, + isSelected: findStep(step, selectedStep), + isDisabled: findStep(step, disabledSteps), + isError: findStep(step, errorSteps), + isCompleted: findStep(step, completedSteps), + onClick: _this2.props.onStepClick, + onFocus: _this2.props.onStepFocus, + step: step, + tooltipIsOpen: findStep(step, _this2.props.tooltipIsOpenSteps), + tooltipPosition: tooltipPosition, + variant: _this2.props.variant + }); + })); + } + }]); + + return ProgressIndicator; +}(external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.Component); + +progress_indicator_ProgressIndicator.displayName = progress_indicator_displayName; +progress_indicator_ProgressIndicator.propTypes = progress_indicator_propTypes; +progress_indicator_ProgressIndicator.defaultProps = progress_indicator_defaultProps; +/* harmony default export */ var progress_indicator = (progress_indicator_ProgressIndicator); +// CONCATENATED MODULE: ./components/progress-ring/private/ring-shape.jsx +/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */ + +/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */ +// Implements the [Progress Ring design pattern](https://lightningdesignsystem.com/components/progress-ring/) in React. +// Based on SLDS v2.4.5 + + + +var PROGRESS_RING_SHAPE = 'SLDSProgressRingShape'; +var ring_shape_propTypes = { + /** + * HTML id for component. + */ + id: prop_types_default.a.string, + + /** + * CSS class names to be added to the container element. `array`, `object`, or `string` are accepted. + */ + className: prop_types_default.a.oneOfType([prop_types_default.a.array, prop_types_default.a.object, prop_types_default.a.string]), + + /** + * Decimal percentage drain of the ring [0.0 - 1.0] + */ + fillPercentDecimal: prop_types_default.a.number, + + /** + * Direction that the progress ring "flows." Default is counter-clockwise, or `drain`. For clockwise flow, use `fill` + */ + flowDirection: prop_types_default.a.oneOf(['drain', 'fill']), + + /** + * Size of the progress ring. Default is 'medium' + */ + size: prop_types_default.a.oneOf(['medium', 'large']) +}; +var ring_shape_defaultProps = { + fillPercentDecimal: 0 +}; +/** + * Generates the string for the D value of the SVG path + * @param isLong {number} a binary flag if the arc should 'take the long path' (used for > 50% fill) + * @param arcX {decimal} the arc's x position + * @param arcY {decimal} the arc's y position + */ + +var getD = function getD(isLong, arcX, arcY) { + return "M 1 0 A 1 1 0 ".concat(isLong, " 1 ").concat(arcX, " ").concat(arcY, " L 0 0"); +}; +/** + * Calculates the fill part of the ring + * @param fillPercent {decimal} Decimal percentage that represents the amount of the ring which is filled with color. + */ + + +var calculateD = function calculateD(fillPercent) { + var isLong = fillPercent > 0.5 ? 1 : 0; + var arcX = Math.cos(2 * Math.PI * fillPercent); + var arcY = Math.sin(2 * Math.PI * fillPercent); + return getD(isLong, arcX, arcY); +}; +/** + * Displays the progress ring shape. + */ + + +var ring_shape_ProgressRingShape = function ProgressRingShape(props) { + var progressStyles = { + height: props.size === 'large' ? '2rem' : '1.5rem' + }; + + if (props.flowDirection === 'fill') { + progressStyles.transform = 'scaleX(1) rotate(-90deg)'; + } + + return /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + id: props.id, + className: classnames_default()('slds-progress-ring', props.className) + }, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + "aria-valuemin": "0", + "aria-valuemax": "100", + "aria-valuenow": props.fillPercentDecimal * 100, + className: "slds-progress-ring__progress", + role: "progressbar", + style: progressStyles + }, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("svg", { + viewBox: "-1 -1 2 2" + }, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("path", { + className: "slds-progress-ring__path", + d: calculateD(props.fillPercentDecimal) + }))), /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: "slds-progress-ring__content" + }, props.children)); +}; + +ring_shape_ProgressRingShape.displayName = PROGRESS_RING_SHAPE; +ring_shape_ProgressRingShape.propTypes = ring_shape_propTypes; +ring_shape_ProgressRingShape.defaultProps = ring_shape_defaultProps; +/* harmony default export */ var ring_shape = (ring_shape_ProgressRingShape); +// CONCATENATED MODULE: ./components/progress-ring/index.jsx +function progress_ring_typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { progress_ring_typeof = function _typeof(obj) { return typeof obj; }; } else { progress_ring_typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return progress_ring_typeof(obj); } + +var _THEME_CLASSES; + +function progress_ring_classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function progress_ring_defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function progress_ring_createClass(Constructor, protoProps, staticProps) { if (protoProps) progress_ring_defineProperties(Constructor.prototype, protoProps); if (staticProps) progress_ring_defineProperties(Constructor, staticProps); return Constructor; } + +function progress_ring_inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) progress_ring_setPrototypeOf(subClass, superClass); } + +function progress_ring_setPrototypeOf(o, p) { progress_ring_setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return progress_ring_setPrototypeOf(o, p); } + +function progress_ring_createSuper(Derived) { var hasNativeReflectConstruct = progress_ring_isNativeReflectConstruct(); return function _createSuperInternal() { var Super = progress_ring_getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = progress_ring_getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return progress_ring_possibleConstructorReturn(this, result); }; } + +function progress_ring_possibleConstructorReturn(self, call) { if (call && (progress_ring_typeof(call) === "object" || typeof call === "function")) { return call; } return progress_ring_assertThisInitialized(self); } + +function progress_ring_assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +function progress_ring_isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } } + +function progress_ring_getPrototypeOf(o) { progress_ring_getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return progress_ring_getPrototypeOf(o); } + +function progress_ring_defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */ + +/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */ +// Implements the [Progress Ring design pattern](https://lightningdesignsystem.com/components/progress-ring/) in React. +// Based on SLDS v2.4.5 + + + + + + +/** + * The themes available for the progress ring + */ + +var THEME_OPTIONS = Object.freeze({ + ACTIVE: 'active', + WARNING: 'warning', + EXPIRED: 'expired', + COMPLETE: 'complete' +}); +/** + * The CSS classes associated with each theme + */ + +var THEME_CLASSES = (_THEME_CLASSES = {}, progress_ring_defineProperty(_THEME_CLASSES, THEME_OPTIONS.ACTIVE, 'slds-progress-ring_active-step'), progress_ring_defineProperty(_THEME_CLASSES, THEME_OPTIONS.WARNING, 'slds-progress-ring_warning'), progress_ring_defineProperty(_THEME_CLASSES, THEME_OPTIONS.EXPIRED, 'slds-progress-ring_expired'), progress_ring_defineProperty(_THEME_CLASSES, THEME_OPTIONS.COMPLETE, 'slds-progress-ring_complete'), _THEME_CLASSES); +var progress_ring_propTypes = { + /** + * HTML id for component. + */ + id: prop_types_default.a.string, + + /** + * CSS classes to be added to tag with `.slds-progress-ring`. Uses `classNames` [API](https://github.com/JedWatson/classnames). + */ + className: prop_types_default.a.oneOfType([prop_types_default.a.array, prop_types_default.a.object, prop_types_default.a.string]), + + /** + * The theme applied to the ring. + */ + theme: prop_types_default.a.oneOf(['active', 'warning', 'expired', 'complete']), + + /** + * Overrides the icon to be displayed. + */ + icon: prop_types_default.a.node, + + /** + * Display the icon associated with the theme. + */ + hasIcon: prop_types_default.a.bool, + + /** + * Percentage of progress completion, ranging [0, 100]. + */ + value: prop_types_default.a.number.isRequired, + + /** + * Direction that the progress ring "flows." Default is counter-clockwise, or `drain`. For clockwise flow, use `fill` + */ + flowDirection: prop_types_default.a.oneOf(['drain', 'fill']), + + /** + * Size of the progress ring. Default is 'medium' + */ + size: prop_types_default.a.oneOf(['medium', 'large']) +}; +var progress_ring_defaultProps = { + flowDirection: 'drain', + size: 'medium' +}; +/** + * Customizable and configurable progress ring. Will display progress in a circular progress bar factor, and is capable of displaying iconography inside of the ring structure. + */ + +var progress_ring_ProgressRing = /*#__PURE__*/function (_React$Component) { + progress_ring_inherits(ProgressRing, _React$Component); + + var _super = progress_ring_createSuper(ProgressRing); + + function ProgressRing() { + progress_ring_classCallCheck(this, ProgressRing); + + return _super.apply(this, arguments); + } + + progress_ring_createClass(ProgressRing, [{ + key: "icon", + + /** + * Gets the icon to display + * @returns {node} Icon + */ + value: function icon() { + var icon = ''; + + if (this.props.hasIcon) { + if (this.props.icon) { + // eslint-disable-next-line prefer-destructuring + icon = this.props.icon; + } else if (this.props.theme === THEME_OPTIONS.WARNING) { + icon = /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(components_icon, { + category: "utility", + name: "warning", + title: "Warning" + }); + } else if (this.props.theme === THEME_OPTIONS.EXPIRED) { + icon = /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(components_icon, { + category: "utility", + name: "error", + title: "Expired" + }); + } else if (this.props.theme === THEME_OPTIONS.COMPLETE) { + icon = /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(components_icon, { + category: "utility", + name: "check", + title: "Complete" + }); + } + } + + return icon; + } + /** + * Percentage as a decimal + * @returns {decimal} Percentage + */ + + }, { + key: "percentDecimal", + value: function percentDecimal() { + return this.props.value / 100; + } + /** + * Gets the theme CSS class + * @returns {string} Class name + */ + + }, { + key: "themeClass", + value: function themeClass() { + return THEME_CLASSES[this.props.theme] || ''; + } + }, { + key: "render", + value: function render() { + return /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(ring_shape, { + id: this.props.id, + size: this.props.size, + className: classnames_default()(this.props.className, this.themeClass(), { + 'slds-progress-ring_large': this.props.size === 'large' + }), + fillPercentDecimal: this.percentDecimal(), + flowDirection: this.props.flowDirection + }, this.icon()); + } + }]); + + return ProgressRing; +}(external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.Component); + +progress_ring_ProgressRing.displayName = PROGRESS_RING; +progress_ring_ProgressRing.propTypes = progress_ring_propTypes; +progress_ring_ProgressRing.defaultProps = progress_ring_defaultProps; +/* harmony default export */ var progress_ring = (progress_ring_ProgressRing); +// EXTERNAL MODULE: ./components/scoped-notification/component.json +var scoped_notification_component = __webpack_require__(54); + +// CONCATENATED MODULE: ./components/scoped-notification/check-props.js +/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */ + +/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */ + +/* eslint-disable import/no-mutable-exports */ + + + +var scoped_notification_check_props_checkProps = function checkPropsFunction() {}; + +if (false) {} + +/* harmony default export */ var scoped_notification_check_props = (scoped_notification_check_props_checkProps); +// CONCATENATED MODULE: ./components/scoped-notification/index.jsx +function scoped_notification_typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { scoped_notification_typeof = function _typeof(obj) { return typeof obj; }; } else { scoped_notification_typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return scoped_notification_typeof(obj); } + +function scoped_notification_ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; } + +function scoped_notification_objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { scoped_notification_ownKeys(Object(source), true).forEach(function (key) { scoped_notification_defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { scoped_notification_ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; } + +function scoped_notification_defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +function scoped_notification_classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function scoped_notification_defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function scoped_notification_createClass(Constructor, protoProps, staticProps) { if (protoProps) scoped_notification_defineProperties(Constructor.prototype, protoProps); if (staticProps) scoped_notification_defineProperties(Constructor, staticProps); return Constructor; } + +function scoped_notification_inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) scoped_notification_setPrototypeOf(subClass, superClass); } + +function scoped_notification_setPrototypeOf(o, p) { scoped_notification_setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return scoped_notification_setPrototypeOf(o, p); } + +function scoped_notification_createSuper(Derived) { var hasNativeReflectConstruct = scoped_notification_isNativeReflectConstruct(); return function _createSuperInternal() { var Super = scoped_notification_getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = scoped_notification_getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return scoped_notification_possibleConstructorReturn(this, result); }; } + +function scoped_notification_possibleConstructorReturn(self, call) { if (call && (scoped_notification_typeof(call) === "object" || typeof call === "function")) { return call; } return scoped_notification_assertThisInitialized(self); } + +function scoped_notification_assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +function scoped_notification_isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } } + +function scoped_notification_getPrototypeOf(o) { scoped_notification_getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return scoped_notification_getPrototypeOf(o); } + +/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */ + +/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */ +// Implements the [Scoped Notification design pattern](https://lightningdesignsystem.com/components/scoped-notifications/) in React. +// Based on SLDS v2.4.5 + + + + + + + +var scoped_notification_propTypes = { + /** + * **Assistive text for accessibility.** + * * `icon`: The assistive text for the icon. Is overridden by `label` assistive text passed directly to an `Icon` component via the `icon` prop + */ + assistiveText: prop_types_default.a.shape({ + icon: prop_types_default.a.string + }), + + /** + * CSS classes to be added to tag with `.slds-scoped-notification`. Uses `classNames` [API](https://github.com/JedWatson/classnames). + */ + className: prop_types_default.a.oneOfType([prop_types_default.a.array, prop_types_default.a.object, prop_types_default.a.string]), + + /** + * The icon to be displayed in the scoped notification. Accepts an `Icon` component + */ + icon: prop_types_default.a.node, + + /** + * Theme for the scoped notification + */ + theme: prop_types_default.a.oneOf(['dark', 'light']) +}; +var scoped_notification_defaultProps = {}; +/** + * A Scoped Notification Component serve advisory information for the user that is not important enough to justify an alert. + */ + +var scoped_notification_ScopedNotification = /*#__PURE__*/function (_React$Component) { + scoped_notification_inherits(ScopedNotification, _React$Component); + + var _super = scoped_notification_createSuper(ScopedNotification); + + function ScopedNotification(props) { + var _this; + + scoped_notification_classCallCheck(this, ScopedNotification); + + _this = _super.call(this, props); + scoped_notification_check_props(SCOPED_NOTIFICATION, props, scoped_notification_component); + return _this; + } + + scoped_notification_createClass(ScopedNotification, [{ + key: "render", + value: function render() { + var icon; + + if (this.props.icon) { + var iconAssistiveText = {}; + + if (this.props.assistiveText && this.props.assistiveText.icon) { + iconAssistiveText.label = this.props.assistiveText.icon; + } + + if (this.props.icon.props.assistiveText) { + iconAssistiveText = scoped_notification_objectSpread(scoped_notification_objectSpread({}, iconAssistiveText), this.props.icon.props.assistiveText); + } + + icon = /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.cloneElement(this.props.icon, scoped_notification_objectSpread(scoped_notification_objectSpread({}, this.props.icon.props), {}, { + assistiveText: iconAssistiveText + })); + } else { + icon = /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(components_icon, { + assistiveText: { + label: this.props.assistiveText && this.props.assistiveText.icon || 'Info' + }, + category: "utility", + name: this.props.iconName || 'info', + colorVariant: this.props.theme === 'dark' ? 'base' : undefined, + size: "small" + }); + } + + return /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: classnames_default()("slds-scoped-notification", "slds-media", "slds-media_center", { + 'slds-scoped-notification_light': this.props.theme === 'light', + 'slds-scoped-notification_dark': this.props.theme === 'dark' + }, this.props.className), + role: "status" + }, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: "slds-media__figure" + }, icon), /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: "slds-media__body" + }, this.props.children)); + } + }]); + + return ScopedNotification; +}(external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.Component); + +scoped_notification_ScopedNotification.displayName = SCOPED_NOTIFICATION; +scoped_notification_ScopedNotification.propTypes = scoped_notification_propTypes; +scoped_notification_ScopedNotification.defaultProps = scoped_notification_defaultProps; +/* harmony default export */ var scoped_notification = (scoped_notification_ScopedNotification); +// CONCATENATED MODULE: ./utilities/warning/has-children-without-display-name-of.js +/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */ + +/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */ + +/* eslint-disable import/no-mutable-exports */ + // This function will deliver an error message to the browser console when all of the props passed in are undefined (falsey). + + + +var hasChildrenWithoutDisplayNameOf = function hasChildrenWithoutDisplayNameOfFunction() {}; + +if (false) { var has_children_without_display_name_of_hasWarned; } + +/* harmony default export */ var has_children_without_display_name_of = (hasChildrenWithoutDisplayNameOf); +// CONCATENATED MODULE: ./components/setup-assistant/check-props.js +/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */ + +/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */ + +/* eslint-disable import/no-mutable-exports */ + + + + + +var setup_assistant_check_props_checkProps = function checkProps() {}; + +if (false) {} + +/* harmony default export */ var setup_assistant_check_props = (setup_assistant_check_props_checkProps); +// EXTERNAL MODULE: ./components/setup-assistant/component.json +var setup_assistant_component = __webpack_require__(17); + +// CONCATENATED MODULE: ./components/setup-assistant/index.jsx +function setup_assistant_typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { setup_assistant_typeof = function _typeof(obj) { return typeof obj; }; } else { setup_assistant_typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return setup_assistant_typeof(obj); } + +function setup_assistant_ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; } + +function setup_assistant_objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { setup_assistant_ownKeys(Object(source), true).forEach(function (key) { setup_assistant_defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { setup_assistant_ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; } + +function setup_assistant_defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +function setup_assistant_classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function setup_assistant_defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function setup_assistant_createClass(Constructor, protoProps, staticProps) { if (protoProps) setup_assistant_defineProperties(Constructor.prototype, protoProps); if (staticProps) setup_assistant_defineProperties(Constructor, staticProps); return Constructor; } + +function setup_assistant_inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) setup_assistant_setPrototypeOf(subClass, superClass); } + +function setup_assistant_setPrototypeOf(o, p) { setup_assistant_setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return setup_assistant_setPrototypeOf(o, p); } + +function setup_assistant_createSuper(Derived) { var hasNativeReflectConstruct = setup_assistant_isNativeReflectConstruct(); return function _createSuperInternal() { var Super = setup_assistant_getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = setup_assistant_getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return setup_assistant_possibleConstructorReturn(this, result); }; } + +function setup_assistant_possibleConstructorReturn(self, call) { if (call && (setup_assistant_typeof(call) === "object" || typeof call === "function")) { return call; } return setup_assistant_assertThisInitialized(self); } + +function setup_assistant_assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +function setup_assistant_isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } } + +function setup_assistant_getPrototypeOf(o) { setup_assistant_getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return setup_assistant_getPrototypeOf(o); } + +/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */ + +/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */ +// Implements the [Setup Assistant design pattern](https://lightningdesignsystem.com/components/progress-ring/) in React. +// Based on SLDS v2.4.5 + + + // ### shortid +// [npmjs.com/package/shortid](https://www.npmjs.com/package/shortid) +// shortid is a short, non-sequential, url-friendly, unique id generator + + // This component's `checkProps` which issues warnings to developers about properties +// when in development mode (similar to React's built in development tools) + + + + +var setup_assistant_propTypes = { + /** + * Accepts SetupAssistantStep components only as children. + */ + children: prop_types_default.a.node, + + /** + * CSS classes to be added to tag with `.slds-progress-bar`. Uses `classNames` [API](https://github.com/JedWatson/classnames). + */ + className: prop_types_default.a.oneOfType([prop_types_default.a.array, prop_types_default.a.object, prop_types_default.a.string]), + + /** + * HTML id for component. + */ + id: prop_types_default.a.string, + + /** + * Dictates whether this setup assistant has card wrappings and styling + */ + isCard: prop_types_default.a.bool, + + /** + * Function to handle opening / closing of steps when the step is expandable. Passes event object and step `index`, `isOpen`, and `step` props as data. + */ + onStepToggleIsOpen: prop_types_default.a.func, + + /** + * Accepts a progress bar component, which will only be visible if `isCard` is enabled + */ + progressBar: prop_types_default.a.node +}; +var setup_assistant_defaultProps = { + isCard: false +}; +/** + * Setup Assistant provides Administrators with a centralized list of tasks for + * onboarding organizations, clouds, or features within the Salesforce Platform. + */ + +var setup_assistant_SetupAssistant = /*#__PURE__*/function (_React$Component) { + setup_assistant_inherits(SetupAssistant, _React$Component); + + var _super = setup_assistant_createSuper(SetupAssistant); + + function SetupAssistant(props) { + var _this; + + setup_assistant_classCallCheck(this, SetupAssistant); + + _this = _super.call(this, props); + _this.generatedId = shortid_default.a.generate(); + return _this; + } + + setup_assistant_createClass(SetupAssistant, [{ + key: "componentDidMount", + value: function componentDidMount() { + setup_assistant_check_props(SETUP_ASSISTANT, this.props, setup_assistant_component); + } + }, { + key: "componentDidUpdate", + value: function componentDidUpdate() { + setup_assistant_check_props(SETUP_ASSISTANT, this.props, setup_assistant_component); + } + /** + * ID as a string + * @returns {string} id + */ + + }, { + key: "getId", + value: function getId() { + return this.props.id || this.generatedId; + } + }, { + key: "render", + value: function render() { + var _this2 = this; + + var steps = /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("ol", { + id: this.getId(), + className: classnames_default()('slds-setup-assistant', this.props.className) + }, external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.Children.map(this.props.children, function (child, i) { + if (child.type.displayName !== SETUP_ASSISTANT_STEP) return null; + return /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.cloneElement(child, setup_assistant_objectSpread({ + index: i, + onToggleIsOpen: _this2.props.onStepToggleIsOpen, + stepNumber: i + 1 + }, child.props)); + })); + return this.props.isCard ? /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("section", { + className: "slds-card" + }, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("header", { + className: "slds-theme_shade slds-p-around_medium slds-m-bottom_small" + }, this.props.progressBar), steps) : /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.Fragment, null, steps); + } + }]); + + return SetupAssistant; +}(external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.Component); + +setup_assistant_SetupAssistant.displayName = SETUP_ASSISTANT; +setup_assistant_SetupAssistant.propTypes = setup_assistant_propTypes; +setup_assistant_SetupAssistant.defaultProps = setup_assistant_defaultProps; +/* harmony default export */ var setup_assistant = (setup_assistant_SetupAssistant); +// CONCATENATED MODULE: ./components/setup-assistant/step.jsx +function setup_assistant_step_typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { setup_assistant_step_typeof = function _typeof(obj) { return typeof obj; }; } else { setup_assistant_step_typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return setup_assistant_step_typeof(obj); } + +function step_ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; } + +function step_objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { step_ownKeys(Object(source), true).forEach(function (key) { step_defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { step_ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; } + +function setup_assistant_step_classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function setup_assistant_step_defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function setup_assistant_step_createClass(Constructor, protoProps, staticProps) { if (protoProps) setup_assistant_step_defineProperties(Constructor.prototype, protoProps); if (staticProps) setup_assistant_step_defineProperties(Constructor, staticProps); return Constructor; } + +function setup_assistant_step_inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) setup_assistant_step_setPrototypeOf(subClass, superClass); } + +function setup_assistant_step_setPrototypeOf(o, p) { setup_assistant_step_setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return setup_assistant_step_setPrototypeOf(o, p); } + +function setup_assistant_step_createSuper(Derived) { var hasNativeReflectConstruct = setup_assistant_step_isNativeReflectConstruct(); return function _createSuperInternal() { var Super = setup_assistant_step_getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = setup_assistant_step_getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return setup_assistant_step_possibleConstructorReturn(this, result); }; } + +function setup_assistant_step_possibleConstructorReturn(self, call) { if (call && (setup_assistant_step_typeof(call) === "object" || typeof call === "function")) { return call; } return setup_assistant_step_assertThisInitialized(self); } + +function setup_assistant_step_assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +function setup_assistant_step_isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } } + +function setup_assistant_step_getPrototypeOf(o) { setup_assistant_step_getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return setup_assistant_step_getPrototypeOf(o); } + +function step_defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */ + +/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */ + + + // ### shortid +// [npmjs.com/package/shortid](https://www.npmjs.com/package/shortid) +// shortid is a short, non-sequential, url-friendly, unique id generator + + + // This component's `checkProps` which issues warnings to developers about properties +// when in development mode (similar to React's built in development tools) + + + + + + +var setup_assistant_step_propTypes = { + /** + * **Assistive text for accessibility** + * This object is merged with the default props object on every render. + * * `expandStep`: Button that examples a step + * _Tested with snapshot testing._ + */ + assistiveText: prop_types_default.a.shape({ + expandStep: prop_types_default.a.string + }), + + /** + * CSS class names to be added to the container element. `array`, `object`, or `string` are accepted. + */ + className: prop_types_default.a.oneOfType([prop_types_default.a.array, prop_types_default.a.object, prop_types_default.a.string]), + + /** + * Detailed description of the step + */ + description: prop_types_default.a.oneOfType([prop_types_default.a.string, prop_types_default.a.node]), + + /** + * Estimated time for completing the step + */ + estimatedTime: prop_types_default.a.oneOfType([prop_types_default.a.string, prop_types_default.a.node]), + + /** + * Heading for the step + */ + heading: prop_types_default.a.oneOfType([prop_types_default.a.string, prop_types_default.a.node]), + + /** + * HTML id for component. + */ + id: prop_types_default.a.string, + + /** + * Index of the step within the step array + */ + index: prop_types_default.a.number, + + /** + * Dictates whether the step can be expanded / collapsed + */ + isExpandable: prop_types_default.a.bool, + + /** + * If `isExpandable` is true, this prop can be used to control the expanded state. If not provided state will be used instead + */ + isOpen: prop_types_default.a.bool, + + /** + * Function that is called to render a step's available action(s). Typically returns a Button, Button of variant "link," or Checkbox of variant "toggle" + */ + onRenderAction: prop_types_default.a.func, + + /** + * Function that is called to render step content. Typically returns a ProgressIndicator and/or ScopedNotification component + */ + onRenderContent: prop_types_default.a.func, + + /** + * Function that is called to render content within the media figure. Expects to be returned an Icon or ProgressRing component + */ + onRenderFigure: prop_types_default.a.func, + + /** + * Function to handle requests to expand / collapse the step + */ + onToggleIsOpen: prop_types_default.a.func, + + /** + * Percentage of step completed. No progress indicator will be shown for the step unless this is provided + */ + progress: prop_types_default.a.number, + + /** + * Display number for the step. Only appears if progress indicator is enabled. Determined automatically by parent if not provided. + */ + stepNumber: prop_types_default.a.number +}; +var step_defaultProps = { + assistiveText: { + expandStep: 'Expand Step' + } +}; +/** + * Setup Assistant Step component is used to specify individual items within the Setup Assistant + * filled with learning and task links along with a recommended sequence that may have progress tracking + */ + +var setup_assistant_step_Step = /*#__PURE__*/function (_React$Component) { + setup_assistant_step_inherits(Step, _React$Component); + + var _super = setup_assistant_step_createSuper(Step); + + function Step(props) { + var _this; + + setup_assistant_step_classCallCheck(this, Step); + + _this = _super.call(this, props); + + step_defineProperty(setup_assistant_step_assertThisInitialized(_this), "toggleIsOpen", function (event) { + if (_this.props.onToggleIsOpen) { + _this.props.onToggleIsOpen(event, { + index: _this.props.index, + isOpen: _this.getIsOpen(), + step: _this.props + }); + } else { + _this.setState({ + isOpen: !_this.getIsOpen() + }); + } + }); + + _this.generatedId = shortid_default.a.generate(); + _this.state = { + isOpen: props.isOpen || false + }; + setup_assistant_check_props(SETUP_ASSISTANT_STEP, _this.props, setup_assistant_component); + return _this; + } + + setup_assistant_step_createClass(Step, [{ + key: "getId", + value: function getId() { + return this.props.id || this.generatedId; + } + }, { + key: "getIsOpen", + value: function getIsOpen() { + return this.props.isOpen !== undefined ? this.props.isOpen : this.state.isOpen; + } + }, { + key: "renderMediaContent", + value: function renderMediaContent() { + return /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.Fragment, null, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: "slds-setup-assistant__step-summary-content slds-media__body" + }, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("h3", { + className: "slds-setup-assistant__step-summary-title slds-text-heading_small" + }, this.props.isExpandable ? /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(components_button, { + "aria-controls": "".concat(this.getId(), "-detail-content"), + className: "slds-button_reset", + label: this.props.heading, + onClick: this.toggleIsOpen, + variant: "base" + }) : this.props.heading), /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("p", null, this.props.description)), /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: "slds-media__figure slds-media__figure_reverse" + }, this.props.onRenderAction ? this.props.onRenderAction() : null, this.props.estimatedTime ? /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("p", { + className: classnames_default()('slds-text-align_right', 'slds-text-color_weak', { + 'slds-p-top_medium': this.props.onRenderAction !== undefined + }) + }, this.props.estimatedTime) : null)); + } + }, { + key: "renderSummary", + value: function renderSummary() { + var figure; + var progressRingTheme; + + if (this.props.progress > 0 && this.props.progress < 100) { + progressRingTheme = 'active'; + } else if (this.props.progress === 100) { + progressRingTheme = 'complete'; + } + + if (this.props.onRenderFigure) { + figure = this.props.onRenderFigure(); + + if (figure && figure.type && figure.type.displayName === ICON) { + var containerStyle = { + position: 'relative', + top: this.props.isExpandable ? '5px' : '-3px' + }; + + if (figure.props.containerStyle) { + containerStyle = step_objectSpread(step_objectSpread({}, containerStyle), figure.props.containerStyle); + } + + figure = /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.cloneElement(figure, step_objectSpread(step_objectSpread({}, figure.props), {}, { + containerStyle: containerStyle, + size: 'small' + })); + figure = /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: "slds-media__figure" + }, figure); + } + } else if (this.props.progress !== undefined) { + figure = /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: "slds-media__figure" + }, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(progress_ring, { + hasIcon: true, + icon: this.props.progress === 100 ? null : this.props.stepNumber, + flowDirection: "fill", + size: "large", + theme: progressRingTheme, + value: this.props.progress + })); + } + + return /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: "slds-setup-assistant__step-summary" + }, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: "slds-media" + }, figure, this.props.isExpandable || this.props.progress !== undefined ? /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: "slds-media__body slds-m-top_x-small" + }, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: "slds-media" + }, this.renderMediaContent())) : this.renderMediaContent())); + } + }, { + key: "render", + value: function render() { + var assistiveText = lodash_assign_default()({}, step_defaultProps.assistiveText, this.props.assistiveText); + return /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("li", { + className: classnames_default()('slds-setup-assistant__item', this.props.className), + id: this.getId() + }, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("article", { + className: "slds-setup-assistant__step" + }, this.props.isExpandable ? /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: classnames_default()('slds-summary-detail', { + 'slds-is-open': this.getIsOpen() + }) + }, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(components_button, { + assistiveText: { + icon: assistiveText.expandStep + }, + "aria-controls": "".concat(this.getId(), "-detail-content"), + className: "slds-m-right_x-small slds-m-top_x-small", + iconCategory: "utility", + iconClassName: "slds-summary-detail__action-icon", + iconName: "switch", + onClick: this.toggleIsOpen, + variant: "icon" + }), /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: "slds-container_fluid" + }, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: "slds-summary-detail__title" + }, this.renderSummary()), /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: "slds-summary-detail__content", + id: "".concat(this.getId(), "-detail-content") + }, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: "slds-setup-assistant__step-detail" + }, this.props.onRenderContent ? this.props.onRenderContent() : null)))) : this.renderSummary())); + } + }]); + + return Step; +}(external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.Component); + +setup_assistant_step_Step.displayName = SETUP_ASSISTANT_STEP; +setup_assistant_step_Step.propTypes = setup_assistant_step_propTypes; +setup_assistant_step_Step.defaultProps = step_defaultProps; +/* harmony default export */ var setup_assistant_step = (setup_assistant_step_Step); +// CONCATENATED MODULE: ./components/slider/index.jsx +function slider_typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { slider_typeof = function _typeof(obj) { return typeof obj; }; } else { slider_typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return slider_typeof(obj); } + +function slider_extends() { slider_extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return slider_extends.apply(this, arguments); } + +function slider_ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; } + +function slider_objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { slider_ownKeys(Object(source), true).forEach(function (key) { slider_defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { slider_ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; } + +function slider_classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function slider_defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function slider_createClass(Constructor, protoProps, staticProps) { if (protoProps) slider_defineProperties(Constructor.prototype, protoProps); if (staticProps) slider_defineProperties(Constructor, staticProps); return Constructor; } + +function slider_inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) slider_setPrototypeOf(subClass, superClass); } + +function slider_setPrototypeOf(o, p) { slider_setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return slider_setPrototypeOf(o, p); } + +function slider_createSuper(Derived) { var hasNativeReflectConstruct = slider_isNativeReflectConstruct(); return function _createSuperInternal() { var Super = slider_getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = slider_getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return slider_possibleConstructorReturn(this, result); }; } + +function slider_possibleConstructorReturn(self, call) { if (call && (slider_typeof(call) === "object" || typeof call === "function")) { return call; } return slider_assertThisInitialized(self); } + +function slider_assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +function slider_isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } } + +function slider_getPrototypeOf(o) { slider_getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return slider_getPrototypeOf(o); } + +function slider_defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */ + +/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */ +// # Slider Component +// Implements the [Slider design pattern](https://www.lightningdesignsystem.com/components/slider/) in React. +// ### React + + // ### isFunction + + // ### classNames + + // ### shortid +// [npmjs.com/package/shortid](https://www.npmjs.com/package/shortid) +// shortid is a short, non-sequential, url-friendly, unique id generator + + + + +var slider_propTypes = { + /** + * The `aria-describedby` attribute is used to indicate the IDs of the elements that describe the object. It is used to establish a relationship between widgets or groups and text that described them. This is very similar to aria-labelledby: a label describes the essence of an object, while a description provides more information that the user might need. + */ + 'aria-describedby': prop_types_default.a.string, + + /** + * Assistive text for accessibility** + * `disabled`: Read by screen readers to indicate a disabled slider + * `label`: Visually hidden label but read out loud by screen readers. + */ + assistiveText: prop_types_default.a.shape({ + disabled: prop_types_default.a.string, + label: prop_types_default.a.string + }), + + /** + * Class names to be added to the outer container of the Slider. + */ + classNameContainer: prop_types_default.a.oneOfType([prop_types_default.a.array, prop_types_default.a.object, prop_types_default.a.string]), + + /** + * This is the initial value of an uncontrolled form element and is present + * only to provide compatibility with hybrid framework applications that + * are not entirely React. It should only be used in an application without + * centralized state (Redux, Flux). "Controlled components" with centralized + * state is highly recommended. See [Code Overview](https://github.com/salesforce/design-system-react/blob/master/docs/codebase-overview.md#controlled-and-uncontrolled-components) for more information. + */ + defaultValue: prop_types_default.a.number, + + /** + * Disables the Slider and prevents clicking it. Only available on the horizontal view. + */ + disabled: prop_types_default.a.bool, + + /** + * Message to display when the Slider is in an error state. When this is present, also visually highlights the component as in error. + */ + errorText: prop_types_default.a.string, + + /** + * Set the HTML `id` of the slider. + */ + id: prop_types_default.a.string, + + /** + * This label appears above the Slider. + */ + label: prop_types_default.a.string, + + /** + * Maximum value of a specified range. Defaults to 100. + */ + max: prop_types_default.a.number, + + /** + * Minimum value of a specified range. Defaults to 0. + */ + min: prop_types_default.a.number, + + /** + * Name of the submitted form parameter. + */ + name: prop_types_default.a.string, + + /** + * This event fires whenever the user has modified the data of the control. This callback recieves the following parameters `event, { value: [string] }`. + */ + onChange: prop_types_default.a.func, + + /** + * This event fires when the value is committed. This callback recieves the following parameters `event, { value: [string] }`. + */ + onInput: prop_types_default.a.func, + + /** + * Size of the slider. + */ + size: prop_types_default.a.oneOf(['x-small', 'small', 'medium', 'large']), + + /** + * By default, the granularity is 1 and the value is always an integer. For example, If you need a value between 5 and 10, accurate to two decimal places, you should set the value of step to 0.01 + */ + step: prop_types_default.a.number, + + /** + * The Slider should be a controlled component, and will always display this value. This should always be used if you are using a Flux/Redux framework. + */ + value: prop_types_default.a.number, + + /** + * Modifier that makes the slider vertical + */ + vertical: prop_types_default.a.bool +}; +var slider_defaultProps = { + assistiveText: { + disabled: 'Disabled' + }, + min: 0, + max: 100, + step: 1 +}; +/** + * The ability to style sliders with CSS varies across browsers. Using this component ensures sliders look the same everywhere. + */ + +var slider_Slider = /*#__PURE__*/function (_React$Component) { + slider_inherits(Slider, _React$Component); + + var _super = slider_createSuper(Slider); + + function Slider(props) { + var _this; + + slider_classCallCheck(this, Slider); + + _this = _super.call(this, props); + + slider_defineProperty(slider_assertThisInitialized(_this), "handleChange", function (event) { + if (lodash_isfunction_default()(_this.props.onChange)) { + _this.props.onChange(event, { + value: Number(event.target.value) + }); + } + }); + + slider_defineProperty(slider_assertThisInitialized(_this), "handleInput", function (event) { + if (lodash_isfunction_default()(_this.props.onInput)) { + _this.props.onInput(event, { + value: Number(event.target.value) + }); + } + }); + + _this.generatedId = shortid_default.a.generate(); + + if (_this.props.errorText) { + _this.generatedErrorId = shortid_default.a.generate(); + } + + return _this; + } + + slider_createClass(Slider, [{ + key: "getId", + value: function getId() { + return this.props.id || this.generatedId; + } + }, { + key: "getErrorId", + value: function getErrorId() { + return this.props['aria-describedby'] || this.generatedErrorId; + } + }, { + key: "render", + value: function render() { + var ariaProps = getAriaProps(this.props); + ariaProps['aria-describedby'] = this.getErrorId(); + + var assistiveText = slider_objectSpread(slider_objectSpread({}, slider_defaultProps.assistiveText), this.props.assistiveText); + + var labelText = this.props.label || this.props.assistiveText && this.props.assistiveText.label; + return /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: classnames_default()('slds-form-element', { + 'slds-has-error': this.props.errorText + }, this.props.classNameContainer) + }, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("label", { + className: classnames_default()('slds-form-element__label', { + 'slds-assistive-text': this.props.assistiveText && !this.props.label + }), + htmlFor: this.getId() + }, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("span", { + className: "slds-slider-label" + }, labelText ? /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("span", { + className: "slds-slider-label__label" + }, labelText) : null, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("span", { + className: "slds-slider-label__range" + }, this.props.min, ' - ', this.props.max), this.props.disabled ? /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("span", { + className: "slds-assistive-text" + }, ' ', assistiveText.disabled) : null)), /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: "slds-form-element__control" + }, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: classnames_default()('slds-slider', { + 'slds-slider_vertical': this.props.vertical, + 'slds-size_x-small': this.props.size === 'x-small', + 'slds-size_small': this.props.size === 'small', + 'slds-size_medium': this.props.size === 'medium', + 'slds-size_large': this.props.size === 'large' + }) + }, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("input", slider_extends({ + type: "range", + id: this.getId(), + name: this.props.name, + className: "slds-slider__range", + min: this.props.min, + max: this.props.max, + step: this.props.step, + disabled: this.props.disabled, + onChange: this.handleChange, + onInput: this.handleInput + }, ariaProps, this.props.value !== undefined ? { + value: this.props.value + } : { + defaultValue: this.props.defaultValue + })), /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("span", { + className: "slds-slider__value", + "aria-hidden": "true" + }, this.props.value || this.props.defaultValue || '0')), this.props.errorText ? /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + id: this.getErrorId(), + className: "slds-form-element__help" + }, this.props.errorText) : null)); + } + }]); + + return Slider; +}(external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.Component); + +slider_defineProperty(slider_Slider, "displayName", SLIDER); + +slider_defineProperty(slider_Slider, "propTypes", slider_propTypes); + +slider_defineProperty(slider_Slider, "defaultProps", slider_defaultProps); + +/* harmony default export */ var slider = (slider_Slider); +// CONCATENATED MODULE: ./components/split-view/private/toggle-button.jsx +/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */ + +/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */ + + + + +var DISPLAY_NAME = 'SLDSSplitViewToggleButton'; +var TOGGLE_BUTTON_WIDTH = '0.75rem'; +var propsTypes = { + /** + * **Assistive text for accessibility** + * * `toggleButtonOpen`: The button used to open the split view. + * * `toggleButtonClose`: The button used to close the split view. + */ + assistiveText: prop_types_default.a.shape({ + toggleButtonOpen: prop_types_default.a.string.isRequired, + toggleButtonClose: prop_types_default.a.string.isRequired + }), + + /** + * Unique html id placed on the button for aria-controls + */ + ariaControls: prop_types_default.a.string.isRequired, + + /** + * Determines if the panel is open + */ + isOpen: prop_types_default.a.bool.isRequired, + + /** + * **Event Callbacks** + * * `onClick`: Called when the button is clicked. + */ + events: prop_types_default.a.shape({ + onClick: prop_types_default.a.func.isRequired + }) +}; +var toggle_button_defaultProps = {}; + +var toggle_button_SplitViewToggleButton = function SplitViewToggleButton(_ref) { + var isOpen = _ref.isOpen, + assistiveText = _ref.assistiveText, + ariaControls = _ref.ariaControls, + events = _ref.events; + var toggleAssistiveText = isOpen ? assistiveText.toggleButtonOpen : assistiveText.toggleButtonClose; + return /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(components_button, { + className: classnames_default()('slds-button slds-button_icon slds-split-view__toggle-button', { + 'slds-is-open': isOpen + }), + "aria-expanded": isOpen, + "aria-controls": ariaControls, + title: toggleAssistiveText, + variant: "base", + iconName: "left", + iconCategory: "utility", + iconSize: "x-small", + onClick: events.onClick, + assistiveText: { + icon: toggleAssistiveText + } + }); +}; + +toggle_button_SplitViewToggleButton.displayName = DISPLAY_NAME; +toggle_button_SplitViewToggleButton.propTypes = propsTypes; +toggle_button_SplitViewToggleButton.defaultProps = toggle_button_defaultProps; +/* harmony default export */ var toggle_button = (toggle_button_SplitViewToggleButton); +// CONCATENATED MODULE: ./components/split-view/index.jsx +function split_view_typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { split_view_typeof = function _typeof(obj) { return typeof obj; }; } else { split_view_typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return split_view_typeof(obj); } + +function split_view_classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function split_view_defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function split_view_createClass(Constructor, protoProps, staticProps) { if (protoProps) split_view_defineProperties(Constructor.prototype, protoProps); if (staticProps) split_view_defineProperties(Constructor, staticProps); return Constructor; } + +function split_view_inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) split_view_setPrototypeOf(subClass, superClass); } + +function split_view_setPrototypeOf(o, p) { split_view_setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return split_view_setPrototypeOf(o, p); } + +function split_view_createSuper(Derived) { var hasNativeReflectConstruct = split_view_isNativeReflectConstruct(); return function _createSuperInternal() { var Super = split_view_getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = split_view_getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return split_view_possibleConstructorReturn(this, result); }; } + +function split_view_possibleConstructorReturn(self, call) { if (call && (split_view_typeof(call) === "object" || typeof call === "function")) { return call; } return split_view_assertThisInitialized(self); } + +function split_view_assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +function split_view_isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } } + +function split_view_getPrototypeOf(o) { split_view_getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return split_view_getPrototypeOf(o); } + +function split_view_defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */ + +/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */ + + + + + + +var split_view_propTypes = { + /** + * **Assistive text for accessibility** + * * `toggleButtonOpen`: The button used to open the split view. + * * `toggleButtonClose`: The button used to close the split view. + */ + assistiveText: prop_types_default.a.shape({ + toggleButtonOpen: prop_types_default.a.string, + toggleButtonClose: prop_types_default.a.string + }), + + /** + * HTML Id for the component. + */ + id: prop_types_default.a.string, + + /** + * CSS classes to be added to the root `div` tag. Uses `classNames` [API](https://github.com/JedWatson/classnames). + */ + className: prop_types_default.a.oneOfType([prop_types_default.a.array, prop_types_default.a.object, prop_types_default.a.string]), + + /** + * Sets the split view to be open or closed. + */ + isOpen: prop_types_default.a.bool, + + /** + * Event Callbacks + * * `onClose`: Triggered when the split view has closed. + * * `onOpen`: Triggered when the split view has opened. + */ + events: prop_types_default.a.shape({ + onClose: prop_types_default.a.func, + onOpen: prop_types_default.a.func + }), + + /** + * The React component that is rendered in the master section. + * You need to pass in an array of elements in order for the scrolling to in the SplitViewList to work correctly. + * React requires that you also supply a unique `key` for each element [React Lists and Keys](https://reactjs.org/docs/lists-and-keys.html#keys). + */ + master: prop_types_default.a.oneOfType([prop_types_default.a.arrayOf(prop_types_default.a.element), prop_types_default.a.element]).isRequired, + + /** + * The width of the master section. + */ + masterWidth: prop_types_default.a.string, + + /** + * The React component that is rendered in the detail section. + */ + detail: prop_types_default.a.oneOfType([prop_types_default.a.arrayOf(prop_types_default.a.element), prop_types_default.a.element]).isRequired +}; +var split_view_defaultProps = { + assistiveText: { + toggleButtonOpen: 'Close split view', + toggleButtonClose: 'Open split view' + }, + events: {}, + masterWidth: '20rem' +}; +/** + * Split view is used to navigate between records in a list while staying on the same screen. + */ + +var split_view_SplitView = /*#__PURE__*/function (_React$Component) { + split_view_inherits(SplitView, _React$Component); + + var _super = split_view_createSuper(SplitView); + + function SplitView(props) { + var _this; + + split_view_classCallCheck(this, SplitView); + + _this = _super.call(this, props); + _this.state = { + isOpen: typeof props.isOpen === 'boolean' ? props.isOpen : true + }; + _this.generatedId = shortid_default.a.generate(); + return _this; + } + + split_view_createClass(SplitView, [{ + key: "getId", + value: function getId() { + return this.props.id || this.generatedId; + } + }, { + key: "getIsOpen", + value: function getIsOpen() { + return typeof this.props.isOpen === 'boolean' ? this.props.isOpen : this.state.isOpen; + } + }, { + key: "getMasterViewId", + value: function getMasterViewId() { + return "master_view_".concat(this.getId()); + } + }, { + key: "toggle", + value: function toggle(event) { + if (typeof this.props.isOpen !== 'boolean') { + this.setState(function (prevState) { + return { + isOpen: !prevState.isOpen + }; + }); + } + + var isOpen = this.getIsOpen(); + + if (isOpen && this.props.events.onClose) { + this.props.events.onClose(event); + } else if (!isOpen && this.props.events.onOpen) { + this.props.events.onOpen(event); + } + } + }, { + key: "render", + value: function render() { + var _this2 = this; + + return /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + id: this.getId(), + className: classnames_default()('slds-grid', this.props.className), + style: { + height: '100%' + } + }, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + style: { + maxWidth: this.getIsOpen() ? this.props.masterWidth : '0', + minWidth: this.getIsOpen() ? this.props.masterWidth : '0' + }, + className: classnames_default()('slds-split-view_container', { + 'slds-is-open': this.getIsOpen() + }, { + 'slds-is-closed': !this.getIsOpen() + }) + }, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(toggle_button, { + assistiveText: this.props.assistiveText, + ariaControls: this.getMasterViewId(), + isOpen: this.getIsOpen(), + events: { + onClick: function onClick(event) { + return _this2.toggle(event); + } + } + }), /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("article", { + id: this.getMasterViewId(), + className: "slds-split-view slds-grid slds-grid_vertical slds-grow slds-scrollable_none" + }, this.getIsOpen() ? this.props.master : null)), /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + style: { + marginLeft: TOGGLE_BUTTON_WIDTH + }, + className: "slds-grow slds-scrollable_y" + }, this.props.detail)); + } + }]); + + return SplitView; +}(external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.Component); + +split_view_defineProperty(split_view_SplitView, "displayName", SPLIT_VIEW); + +split_view_defineProperty(split_view_SplitView, "propTypes", split_view_propTypes); + +split_view_defineProperty(split_view_SplitView, "defaultProps", split_view_defaultProps); + +/* harmony default export */ var split_view = (split_view_SplitView); +// CONCATENATED MODULE: ./components/split-view/header.jsx +function header_extends() { header_extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return header_extends.apply(this, arguments); } + +function header_objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = header_objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; } + +function header_objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; } + +/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */ + +/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */ + + + + +var split_view_header_propTypes = {}; +var split_view_header_defaultProps = {}; +/** + * The Split View Header takes the same properties as the [PageHeader](https://react.lightningdesignsystem.com/components/page-headers/) component. + */ + +var header_SplitViewHeader = function SplitViewHeader(_ref) { + var className = _ref.className, + rest = header_objectWithoutProperties(_ref, ["className"]); + + return /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(page_header, header_extends({ + className: classnames_default()('slds-split-view__header slds-has-bottom-magnet', className) + }, rest)); +}; + +header_SplitViewHeader.displayName = SPLIT_VIEW_HEADER; +header_SplitViewHeader.propTypes = split_view_header_propTypes; +header_SplitViewHeader.defaultProps = split_view_header_defaultProps; +/* harmony default export */ var split_view_header = (header_SplitViewHeader); +// CONCATENATED MODULE: ./components/split-view/private/list-item-content.jsx +/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */ + +/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */ + + +var list_item_content_DISPLAY_NAME = 'SLDSSplitViewListItemContent'; +var list_item_content_propTypes = { + /** + * **Item to be displayed** + * * `label`: The main label displayed on the top left. + * * `topRightText`: The text displayed on the top right. + * * `bottomLeftText`: The text displayed on the bottom left. + * * `bottomRightText`: The text displayed on the bottom right. + */ + item: prop_types_default.a.shape({ + label: prop_types_default.a.string, + topRightText: prop_types_default.a.string, + bottomLeftText: prop_types_default.a.string, + bottomRightText: prop_types_default.a.string + }) +}; +var list_item_content_defaultProps = {}; + +var list_item_content_SplitViewListItemContent = function SplitViewListItemContent(_ref) { + var item = _ref.item; + return /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", null, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: "slds-grid slds-wrap" + }, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("span", { + className: "slds-truncate slds-text-body_regular slds-text-color_default", + title: item.label + }, item.label), /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("span", { + className: "slds-truncate slds-col_bump-left", + title: item.topRightText + }, item.topRightText)), /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: "slds-grid slds-wrap" + }, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("span", { + className: "slds-truncate", + title: item.bottomLeftText + }, item.bottomLeftText), /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("span", { + className: "slds-truncate slds-col_bump-left", + title: item.bottomLeftText + }, item.bottomRightText))); +}; + +list_item_content_SplitViewListItemContent.displayName = list_item_content_DISPLAY_NAME; +list_item_content_SplitViewListItemContent.propTypes = list_item_content_propTypes; +list_item_content_SplitViewListItemContent.defaultProps = list_item_content_defaultProps; +/* harmony default export */ var list_item_content = (list_item_content_SplitViewListItemContent); +// CONCATENATED MODULE: ./components/split-view/private/list-item-with-content.jsx +function list_item_with_content_typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { list_item_with_content_typeof = function _typeof(obj) { return typeof obj; }; } else { list_item_with_content_typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return list_item_with_content_typeof(obj); } + +function list_item_with_content_classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function list_item_with_content_defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function list_item_with_content_createClass(Constructor, protoProps, staticProps) { if (protoProps) list_item_with_content_defineProperties(Constructor.prototype, protoProps); if (staticProps) list_item_with_content_defineProperties(Constructor, staticProps); return Constructor; } + +function list_item_with_content_inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) list_item_with_content_setPrototypeOf(subClass, superClass); } + +function list_item_with_content_setPrototypeOf(o, p) { list_item_with_content_setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return list_item_with_content_setPrototypeOf(o, p); } + +function list_item_with_content_createSuper(Derived) { var hasNativeReflectConstruct = list_item_with_content_isNativeReflectConstruct(); return function _createSuperInternal() { var Super = list_item_with_content_getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = list_item_with_content_getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return list_item_with_content_possibleConstructorReturn(this, result); }; } + +function list_item_with_content_possibleConstructorReturn(self, call) { if (call && (list_item_with_content_typeof(call) === "object" || typeof call === "function")) { return call; } return list_item_with_content_assertThisInitialized(self); } + +function list_item_with_content_assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +function list_item_with_content_isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } } + +function list_item_with_content_getPrototypeOf(o) { list_item_with_content_getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return list_item_with_content_getPrototypeOf(o); } + +function list_item_with_content_defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */ + +/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */ + +/* eslint-disable class-methods-use-this */ + + + +var list_item_with_content_DISPLAY_NAME = 'SLDSSplitViewListItemWithContent'; +var list_item_with_content_propsTypes = { + /** + * **Assistive text for accessibility** + * * `unreadItem`: The unread indicator. + */ + assistiveText: prop_types_default.a.shape({ + unreadItem: prop_types_default.a.string + }), + + /** + * Item to be displayed + */ + item: prop_types_default.a.object.isRequired, + + /** + * Allows multiple item to be selection + */ + multiple: prop_types_default.a.bool, + + /** + * Shows the item as `focused`. + */ + isFocused: prop_types_default.a.bool.isRequired, + + /** + * Shows the item as `selected`. + */ + isSelected: prop_types_default.a.bool.isRequired, + + /** + * Shows the item as `unread`. + */ + isUnread: prop_types_default.a.bool, + + /** + * **Event Callbacks** + * * `onClick`: Called when the item is clicked. + * * * Event + * * * Meta data + * * * * `item`: The original item. + * * * * `isSelected`: Is the item selected. + * * * * `isUnread`: Is the item unread. + */ + events: prop_types_default.a.shape({ + onClick: prop_types_default.a.func.isRequired + }), + + /** + * Reference to the list item component + */ + listItemRef: prop_types_default.a.func +}; +var list_item_with_content_defaultProps = { + assistiveText: { + unreadItem: 'Unread Item' + }, + events: {} +}; +/** + * HOC that wraps the list item content with selection and unread functionality. + * @param ListItemContent {node} A React component + * @returns {ListItemWithContent} A React component + */ + +var list_item_with_content_listItemWithContent = function listItemWithContent(ListItemContent) { + var ListItemWithContent = /*#__PURE__*/function (_React$Component) { + list_item_with_content_inherits(ListItemWithContent, _React$Component); + + var _super = list_item_with_content_createSuper(ListItemWithContent); + + function ListItemWithContent() { + list_item_with_content_classCallCheck(this, ListItemWithContent); + + return _super.apply(this, arguments); + } + + list_item_with_content_createClass(ListItemWithContent, [{ + key: "onClick", + value: function onClick(event) { + this.props.events.onClick(event, { + item: this.props.item, + isSelected: this.props.isSelected, + isUnread: this.props.isUnread + }); + } + }, { + key: "unread", + value: function unread() { + return this.props.isUnread ? /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("abbr", { + className: "slds-indicator_unread", + title: this.props.assistiveText.unreadItem, + "aria-label": this.props.assistiveText.unreadItem + }, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("span", { + className: "slds-assistive-text" + }, '●')) : null; + } + }, { + key: "render", + value: function render() { + var _this = this; + + return /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("li", { + className: classnames_default()('slds-split-view__list-item', { + 'slds-is-unread': this.props.isUnread + }), + role: "presentation" + }, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("a", { + className: "slds-split-view__list-item-action slds-grow slds-has-flexi-truncate", + role: "option", + ref: this.props.listItemRef, + "aria-selected": this.props.multiple ? !!this.props.isSelected : this.props.isSelected, + tabIndex: this.props.isFocused ? 0 : -1, + href: "javascript:void(0);" // eslint-disable-line no-script-url + , + onClick: function onClick(e) { + return _this.onClick(e); + } + }, this.unread(), /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(ListItemContent, this.props))); + } + }]); + + return ListItemWithContent; + }(external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.Component); + + list_item_with_content_defineProperty(ListItemWithContent, "displayName", "".concat(list_item_with_content_DISPLAY_NAME, "(").concat(ListItemContent.displayName || ListItemContent.name || 'Component', ")")); + + list_item_with_content_defineProperty(ListItemWithContent, "propTypes", list_item_with_content_propsTypes); + + list_item_with_content_defineProperty(ListItemWithContent, "defaultProps", list_item_with_content_defaultProps); + + return ListItemWithContent; +}; + +/* harmony default export */ var list_item_with_content = (list_item_with_content_listItemWithContent); +// CONCATENATED MODULE: ./components/split-view/listbox.jsx +function listbox_typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { listbox_typeof = function _typeof(obj) { return typeof obj; }; } else { listbox_typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return listbox_typeof(obj); } + +function listbox_slicedToArray(arr, i) { return listbox_arrayWithHoles(arr) || listbox_iterableToArrayLimit(arr, i) || listbox_unsupportedIterableToArray(arr, i) || listbox_nonIterableRest(); } + +function listbox_nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } + +function listbox_iterableToArrayLimit(arr, i) { if (typeof Symbol === "undefined" || !(Symbol.iterator in Object(arr))) return; var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; } + +function listbox_arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; } + +function listbox_toConsumableArray(arr) { return listbox_arrayWithoutHoles(arr) || listbox_iterableToArray(arr) || listbox_unsupportedIterableToArray(arr) || listbox_nonIterableSpread(); } + +function listbox_nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } + +function listbox_unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return listbox_arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return listbox_arrayLikeToArray(o, minLen); } + +function listbox_iterableToArray(iter) { if (typeof Symbol !== "undefined" && Symbol.iterator in Object(iter)) return Array.from(iter); } + +function listbox_arrayWithoutHoles(arr) { if (Array.isArray(arr)) return listbox_arrayLikeToArray(arr); } + +function listbox_arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; } + +function listbox_classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function listbox_defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function listbox_createClass(Constructor, protoProps, staticProps) { if (protoProps) listbox_defineProperties(Constructor.prototype, protoProps); if (staticProps) listbox_defineProperties(Constructor, staticProps); return Constructor; } + +function listbox_inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) listbox_setPrototypeOf(subClass, superClass); } + +function listbox_setPrototypeOf(o, p) { listbox_setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return listbox_setPrototypeOf(o, p); } + +function listbox_createSuper(Derived) { var hasNativeReflectConstruct = listbox_isNativeReflectConstruct(); return function _createSuperInternal() { var Super = listbox_getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = listbox_getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return listbox_possibleConstructorReturn(this, result); }; } + +function listbox_possibleConstructorReturn(self, call) { if (call && (listbox_typeof(call) === "object" || typeof call === "function")) { return call; } return listbox_assertThisInitialized(self); } + +function listbox_assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +function listbox_isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } } + +function listbox_getPrototypeOf(o) { listbox_getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return listbox_getPrototypeOf(o); } + +function listbox_defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */ + +/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */ + +/* eslint-disable class-methods-use-this */ + + + + + + + + +var SORT_OPTIONS = Object.freeze({ + UP: 'up', + DOWN: 'down' +}); +var listbox_propTypes = { + /** + * **Assistive text for accessibility** + * * `list`: aria label for the list + * * `sort` + * * `sortedBy`: Clickable sort header for the list. + * * `descending`: Descending sorting. + * * `ascending`: Ascending sorting. + */ + assistiveText: prop_types_default.a.shape({ + list: prop_types_default.a.string, + sort: prop_types_default.a.shape({ + sortedBy: prop_types_default.a.string, + descending: prop_types_default.a.string, + ascending: prop_types_default.a.string + }), + unreadItem: prop_types_default.a.string + }), + + /** + * CSS classes to be added to the parent `div` tag. + */ + className: prop_types_default.a.oneOfType([prop_types_default.a.array, prop_types_default.a.object, prop_types_default.a.string]), + + /** + * Event Callbacks + * * `onSelect`: Called when a list item is selected. Previously, this event was called when an item was focused. The UX pattern has changed and this event is now called on pressing enter or mouse click. + * * event {object} List item click event + * * Meta {object} + * * selectedItems {array} List of selected items. + * * item {object} Last selected item. + * * `onSort`: Called when the list is sorted. + * * event {object} Sort click event + */ + events: prop_types_default.a.shape({ + onSelect: prop_types_default.a.func.isRequired, + onSort: prop_types_default.a.func + }), + + /** + * HTML id for component. + */ + id: prop_types_default.a.string, + + /** + * **Text labels for internationalization** + * * `header`: This is the header of the list. + */ + labels: prop_types_default.a.shape({ + header: prop_types_default.a.string + }), + + /** + * The direction of the sort arrow. Option are: + * * SORT_OPTIONS.UP: `up` + * * SORT_OPTIONS.DOWN: `down` + */ + sortDirection: prop_types_default.a.oneOf([SORT_OPTIONS.UP, SORT_OPTIONS.DOWN]), + + /** + * Allows multiple item to be selection + */ + multiple: prop_types_default.a.bool, + + /** + * The list of items. + * It is recommended that you have a unique `id` for each item. + */ + options: prop_types_default.a.array.isRequired, + + /** + * Accepts an array of item objects. For single selection, pass in an array of one object. + */ + selection: prop_types_default.a.array, + + /** + * Accepts an array of item objects. For single unread, pass in an array of one object. + */ + unread: prop_types_default.a.array, + + /** + * Custom list item template for the list item content. The select and unread functionality wraps the custom list item. + * This should be a React component that accepts props. + */ + listItem: prop_types_default.a.func +}; +var listbox_defaultProps = { + assistiveText: { + list: 'Select an item to open it in a new workspace tab.', + sort: { + sortedBy: 'Sorted by', + descending: 'Descending', + ascending: 'Ascending' + } + }, + events: {}, + labels: {}, + selection: [], + unread: [] +}; +/** + * The menu with the ARIA role of a listbox. + */ + +var listbox_SplitViewListbox = /*#__PURE__*/function (_React$Component) { + listbox_inherits(SplitViewListbox, _React$Component); + + var _super = listbox_createSuper(SplitViewListbox); + + function SplitViewListbox(props) { + var _this; + + listbox_classCallCheck(this, SplitViewListbox); + + _this = _super.call(this, props); + _this.listItemComponents = {}; + _this.state = { + currentSelectedItem: null, + currentFocusedListItem: { + index: 0, + item: null + } + }; // Generates the list item template + + _this.ListItemWithContent = list_item_with_content(props.listItem || list_item_content); + return _this; + } + + listbox_createClass(SplitViewListbox, [{ + key: "componentDidMount", + value: function componentDidMount() { + this.focusFirstItem(); + } + }, { + key: "isListItemFocused", + value: function isListItemFocused(item) { + return this.state.currentFocusedListItem.item === item; + } + }, { + key: "isSelected", + value: function isSelected(item) { + return this.props.selection.includes(item); + } + }, { + key: "isUnread", + value: function isUnread(item) { + return this.props.unread.includes(item); + } + }, { + key: "handleKeyDown", + value: function handleKeyDown(event) { + if (this.props.multiple && event.key === 'a' && event.ctrlKey) { + // select / deselect all + utilities_event.trap(event); + + if (this.props.options === this.props.selection) { + this.deselectAllListItems(event); + } else { + this.selectAllListItems(event); + } + } else if (event.key === 'ArrowUp') { + utilities_event.trap(event); + this.moveToPreviousItem(event); + } else if (event.key === 'ArrowDown') { + utilities_event.trap(event); + this.moveToNextItem(event); + } + } + }, { + key: "moveToNextItem", + value: function moveToNextItem(event) { + var nextFocusIndex = this.state.currentFocusedListItem.index === this.props.options.length - 1 ? 0 : this.state.currentFocusedListItem.index + 1; + this.moveToIndex(event, nextFocusIndex); + } + }, { + key: "moveToPreviousItem", + value: function moveToPreviousItem(event) { + var previousFocusIndex = this.state.currentFocusedListItem.index === 0 ? this.props.options.length - 1 : this.state.currentFocusedListItem.index - 1; + this.moveToIndex(event, previousFocusIndex); + } + }, { + key: "moveToIndex", + value: function moveToIndex(event, index) { + var item = this.props.options[index]; + this.focusItem(item); + } + }, { + key: "focusFirstItem", + value: function focusFirstItem() { + var _this2 = this; + + var firstSelectedItem = this.props.options.find(function (item) { + return _this2.props.selection.includes(item); + }) || this.props.options[0]; + + if (firstSelectedItem) { + this.focusItem(firstSelectedItem, true); + } + } + }, { + key: "focusItem", + value: function focusItem(item, setDataOnly) { + var index = this.props.options.indexOf(item); + + if (!setDataOnly) { + this.listItemComponents[index].focus(); + } + + this.setState({ + currentFocusedListItem: { + index: index, + item: item + } + }); + } + }, { + key: "deselectAllListItems", + value: function deselectAllListItems(event) { + this.setState({ + currentSelectedItem: null + }); + this.props.events.onSelect(event, { + selectedItems: [], + item: null + }); + } + }, { + key: "selectAllListItems", + value: function selectAllListItems(event) { + this.props.events.onSelect(event, { + selectedItems: this.props.options, + item: this.state.currentSelectedItem + }); + } + }, { + key: "selectListItem", + value: function selectListItem(item, event) { + var selectedItems = [item]; + + if (this.props.multiple) { + if (event.metaKey) { + selectedItems = this.props.selection.includes(item) ? this.props.selection.filter(function (i) { + return i !== item; + }) : [item].concat(listbox_toConsumableArray(this.props.selection)); + } else if (event.shiftKey) { + /* eslint-disable fp/no-mutating-methods */ + var _sort = [this.props.options.indexOf(this.state.currentSelectedItem), this.props.options.indexOf(item)].sort(), + _sort2 = listbox_slicedToArray(_sort, 2), + begin = _sort2[0], + end = _sort2[1]; + /* eslint-enable fp/no-mutating-methods */ + + + var addToSelection = this.props.options.slice(begin, end + 1); + selectedItems = [].concat(listbox_toConsumableArray(addToSelection), listbox_toConsumableArray(this.props.selection.filter(function (i) { + return !addToSelection.includes(i); + }))); + } + } + + this.setState({ + currentSelectedItem: item + }); + this.props.events.onSelect(event, { + selectedItems: selectedItems, + item: item + }); + } + }, { + key: "handleOnSelect", + value: function handleOnSelect(event, _ref) { + var item = _ref.item; + this.selectListItem(item, event); + this.focusItem(item); + } + }, { + key: "sortDirection", + value: function sortDirection() { + return this.props.sortDirection ? /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(components_icon, { + category: "utility", + name: this.props.sortDirection === SORT_OPTIONS.DOWN ? 'arrowdown' : 'arrowup', + size: "xx-small", + className: "slds-align-top" + }) : null; + } + }, { + key: "headerWrapper", + value: function headerWrapper(children) { + return this.props.events.onSort ? /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("a", { + "aria-live": "polite", + style: { + borderTop: '0' + }, + href: "javascript:void(0);" // eslint-disable-line no-script-url + , + role: "button", + className: "slds-split-view__list-header slds-grid slds-text-link_reset", + onClick: this.props.events.onSort + }, children) : /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + style: { + borderTop: '0' + }, + className: "slds-split-view__list-header slds-grid" + }, children); + } + }, { + key: "header", + value: function header() { + return this.props.labels.header ? this.headerWrapper( /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("span", { + "aria-sort": this.props.sortDirection === SORT_OPTIONS.DOWN ? this.props.assistiveText.sort.descending : this.props.assistiveText.sort.ascending + }, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("span", { + className: "slds-assistive-text" + }, this.props.assistiveText.sort.sortedBy, ': '), /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("span", null, this.props.labels.header, this.sortDirection()), /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("span", { + className: "slds-assistive-text" + }, '- ', this.props.sortDirection === SORT_OPTIONS.DOWN ? this.props.assistiveText.sort.descending : this.props.assistiveText.sort.ascending))) : null; + } + }, { + key: "addListItemComponent", + value: function addListItemComponent(component, index) { + this.listItemComponents[index] = component; + } + }, { + key: "listItems", + value: function listItems() { + var _this3 = this; + + var ListItemWithContent = this.ListItemWithContent; + return this.props.options.map(function (item, index) { + return /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(ListItemWithContent, { + key: item.id || index, + assistiveText: { + unreadItem: _this3.props.assistiveText.unreadItem + }, + listItemRef: function listItemRef(component) { + _this3.addListItemComponent(component, index); + }, + item: item, + isFocused: _this3.isListItemFocused(item), + isSelected: _this3.isSelected(item), + isUnread: _this3.isUnread(item), + events: { + onClick: function onClick(event, meta) { + return _this3.handleOnSelect(event, meta); + } + }, + multiple: _this3.props.multiple + }); + }); + } + }, { + key: "render", + value: function render() { + var _this4 = this; + + return /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + id: this.props.id, + className: classnames_default()('slds-grid slds-grid_vertical slds-scrollable_none', this.props.className) + }, this.header(), /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("ul", { + className: "slds-scrollable_y", + "aria-label": this.props.assistiveText.list, + "aria-multiselectable": this.props.multiple, + role: "listbox", + onKeyDown: function onKeyDown(event) { + return _this4.handleKeyDown(event); + } + }, this.listItems())); + } + }]); + + return SplitViewListbox; +}(external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.Component); + +listbox_defineProperty(listbox_SplitViewListbox, "displayName", SPLIT_VIEW_LISTBOX); + +listbox_defineProperty(listbox_SplitViewListbox, "propTypes", listbox_propTypes); + +listbox_defineProperty(listbox_SplitViewListbox, "defaultProps", listbox_defaultProps); + +/* harmony default export */ var listbox = (listbox_SplitViewListbox); +// CONCATENATED MODULE: ./components/textarea/check-props.js +/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */ + +/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */ + +/* eslint-disable import/no-mutable-exports */ + +/* eslint-disable max-len */ + + + + +var textarea_check_props_checkProps = function checkPropsFunction() {}; + +if (false) {} + +/* harmony default export */ var textarea_check_props = (textarea_check_props_checkProps); +// EXTERNAL MODULE: ./components/textarea/component.json +var textarea_component = __webpack_require__(55); + +// CONCATENATED MODULE: ./components/textarea/index.jsx +function textarea_typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { textarea_typeof = function _typeof(obj) { return typeof obj; }; } else { textarea_typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return textarea_typeof(obj); } + +function textarea_extends() { textarea_extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return textarea_extends.apply(this, arguments); } + +function textarea_ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; } + +function textarea_objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { textarea_ownKeys(Object(source), true).forEach(function (key) { textarea_defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { textarea_ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; } + +function textarea_classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function textarea_defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function textarea_createClass(Constructor, protoProps, staticProps) { if (protoProps) textarea_defineProperties(Constructor.prototype, protoProps); if (staticProps) textarea_defineProperties(Constructor, staticProps); return Constructor; } + +function textarea_inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) textarea_setPrototypeOf(subClass, superClass); } + +function textarea_setPrototypeOf(o, p) { textarea_setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return textarea_setPrototypeOf(o, p); } + +function textarea_createSuper(Derived) { var hasNativeReflectConstruct = textarea_isNativeReflectConstruct(); return function _createSuperInternal() { var Super = textarea_getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = textarea_getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return textarea_possibleConstructorReturn(this, result); }; } + +function textarea_possibleConstructorReturn(self, call) { if (call && (textarea_typeof(call) === "object" || typeof call === "function")) { return call; } return textarea_assertThisInitialized(self); } + +function textarea_assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +function textarea_isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } } + +function textarea_getPrototypeOf(o) { textarea_getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return textarea_getPrototypeOf(o); } + +function textarea_defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +/* eslint-disable react/jsx-curly-brace-presence */ + +/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */ + +/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */ + +/* eslint-disable jsx-a11y/no-autofocus */ +// # Textarea Component +// Implements the [Textarea design pattern](https://lightningdesignsystem.com/components/textarea). +// Based on SLDS v2.4.0 +// +// ### React + + // ### classNames +// [github.com/JedWatson/classnames](https://github.com/JedWatson/classnames) +// This project uses `classnames`, "a simple javascript utility for conditionally +// joining classNames together." + + // ### shortid +// [npmjs.com/package/shortid](https://www.npmjs.com/package/shortid) +// shortid is a short, non-sequential, url-friendly, unique id generator + + // ## Children +// This component's `checkProps` which issues warnings to developers about properties when in development mode (similar to React's built in development tools) + + + + + +/** + * A multi-line plain-text editing control. + */ + +var textarea_Textarea = /*#__PURE__*/function (_React$Component) { + textarea_inherits(Textarea, _React$Component); + + var _super = textarea_createSuper(Textarea); + + function Textarea(props) { + var _this; + + textarea_classCallCheck(this, Textarea); + + _this = _super.call(this, props); // `checkProps` issues warnings to developers about properties (similar to React's built in development tools) + + textarea_defineProperty(textarea_assertThisInitialized(_this), "getId", function () { + return _this.props.id || _this.generatedId; + }); + + textarea_defineProperty(textarea_assertThisInitialized(_this), "getErrorId", function () { + return _this.props['aria-describedby'] || _this.generatedErrorId; + }); + + textarea_check_props(TEXTAREA, props, textarea_component); + _this.generatedId = shortid_default.a.generate(); + + if (props.errorText) { + _this.generatedErrorId = shortid_default.a.generate(); + } + + return _this; + } + + textarea_createClass(Textarea, [{ + key: "render", + // ### Render + value: function render() { + var _this$props = this.props, + autoFocus = _this$props.autoFocus, + children = _this$props.children, + className = _this$props.className, + classNameContainer = _this$props.classNameContainer, + disabled = _this$props.disabled, + errorText = _this$props.errorText, + textareaRef = _this$props.textareaRef, + label = _this$props.label, + onBlur = _this$props.onBlur, + onChange = _this$props.onChange, + onClick = _this$props.onClick, + onFocus = _this$props.onFocus, + onInput = _this$props.onInput, + onInvalid = _this$props.onInvalid, + onKeyDown = _this$props.onKeyDown, + onKeyPress = _this$props.onKeyPress, + onKeyUp = _this$props.onKeyUp, + onSelect = _this$props.onSelect, + onSubmit = _this$props.onSubmit, + maxLength = _this$props.maxLength, + name = _this$props.name, + placeholder = _this$props.placeholder, + required = _this$props.required, + role = _this$props.role, + value = _this$props.value, + defaultValue = _this$props.defaultValue, + wrap = _this$props.wrap; + var ariaProps = getAriaProps(this.props); + var assistiveTextLabel = typeof this.props.assistiveText === 'string' ? this.props.assistiveText : textarea_objectSpread({}, this.props.assistiveText).label; + var labelText = label || assistiveTextLabel; // One of these is required to pass accessibility tests + + return /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: classnames_default()('slds-form-element', { + 'slds-has-error': errorText + }, classNameContainer) + }, labelText && /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("label", { + className: classnames_default()('slds-form-element__label', { + 'slds-assistive-text': assistiveTextLabel && !label + }), + htmlFor: this.getId() + }, required && /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("abbr", { + className: "slds-required", + title: "required" + }, '*'), labelText), /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: classnames_default()('slds-form-element__control') + }, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("textarea", textarea_extends({ + className: classnames_default()('slds-textarea', className), + autoFocus: autoFocus, + disabled: disabled, + id: this.getId(), + maxLength: maxLength, + name: name, + onBlur: onBlur, + onChange: onChange, + onClick: onClick, + onFocus: onFocus, + onInput: onInput, + onInvalid: onInvalid, + onKeyDown: onKeyDown, + onKeyPress: onKeyPress, + onKeyUp: onKeyUp, + onSelect: onSelect, + onSubmit: onSubmit, + placeholder: placeholder, + ref: textareaRef, + role: role, + required: required, + wrap: wrap, + value: value, + defaultValue: defaultValue + }, ariaProps))), errorText && /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + id: this.getErrorId(), + className: "slds-form-element__help" + }, errorText), children); + } + }]); + + return Textarea; +}(external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.Component); + +textarea_defineProperty(textarea_Textarea, "displayName", TEXTAREA); + +textarea_defineProperty(textarea_Textarea, "propTypes", { + /** + * **Assistive text for accessibility.** + * * `label`: If present, the label associated with this `textarea` is overwritten by this text and is visually not shown. + */ + assistiveText: prop_types_default.a.shape({ + label: prop_types_default.a.string + }), + + /** + * The aria-activedescendant attribute contains the ID of the currently active child object that is part of a composite widget within the Document Object Model. It makes do with the overhead of having all or more than one child focusable. As the name specifies, it helps in managing the current active child of the composite widget. + */ + 'aria-activedescendant': prop_types_default.a.string, + + /** + * Indicates if the suggestions in a composite widget are values that complete the current textbox input. + */ + 'aria-autocomplete': prop_types_default.a.string, + + /** + * An HTML ID that is shared with ARIA-supported devices with the + * `aria-controls` attribute in order to relate the input with + * another region of the page. An example would be a select box + * that shows or hides a panel. + */ + 'aria-controls': prop_types_default.a.string, + + /** + * The `aria-describedby` attribute is used to indicate the IDs of the elements that describe the object. It is used to establish a relationship between widgets or groups and text that described them. This is very similar to aria-labelledby: a label describes the essence of an object, while a description provides more information that the user might need. + */ + 'aria-describedby': prop_types_default.a.string, + + /** + * Use the `aria-expanded` state to indicate whether regions of the content are collapsible, and to expose whether a region is currently expanded or collapsed. + */ + 'aria-expanded': prop_types_default.a.bool, + + /** + * Indicates that the element has a popup context menu or sub-level menu. + */ + 'aria-haspopup': prop_types_default.a.bool, + + /** + * The aria-labelledby attribute contains the element IDs of labels in objects such as input elements, widgets, and groups. The attribute establishes relationships between objects and their labels. Assistive technology, such as screen readers, use this attribute to catalog the objects in a document so that users can navigate between them. Without an element ID, the assistive technology cannot catalog the object. + */ + 'aria-labelledby': prop_types_default.a.string, + + /** + * An HTML ID that is shared with ARIA-supported devices with the + * `aria-controls` attribute in order to relate the input with + * another region of the page. An example would be a search field + * that shows search results. + */ + 'aria-owns': prop_types_default.a.string, + + /** + * The `aria-required` attribute is used to indicate that user input is required on an element before a form can be submitted. + */ + 'aria-required': prop_types_default.a.bool, + + /** + * Specifies is the textarea should automatically get focus when the page loads. This is typically a poor user experience. + */ + autoFocus: prop_types_default.a.bool, + + /** + * Elements are added after the `textarea`. + */ + children: prop_types_default.a.node, + + /** + * Class names to be added to the textarea component. + */ + className: prop_types_default.a.oneOfType([prop_types_default.a.array, prop_types_default.a.object, prop_types_default.a.string]), + + /** Allows for ability to apply classNames to outer textarea div. + */ + classNameContainer: prop_types_default.a.oneOfType([prop_types_default.a.array, prop_types_default.a.object, prop_types_default.a.string]), + + /** + * Disables the textarea and prevents editing the contents. + */ + disabled: prop_types_default.a.bool, + + /** + * Message to display when the textarea is in an error state. When this is present, also visually highlights the component as in error. + */ + errorText: prop_types_default.a.string, + + /** + * Every textarea must have a unique ID in order to support keyboard navigation and ARIA support. + */ + id: prop_types_default.a.string, + + /** + * This callback exposes the textarea reference / DOM node to parent components. `<Parent textareaRef={(textareaComponent) => this.textarea = textareaComponent} /> + */ + textareaRef: prop_types_default.a.func, + + /** + * This label appears above the textarea. + */ + label: prop_types_default.a.string, + + /** + * Triggered when focus is removed. + */ + onBlur: prop_types_default.a.func, + + /** + * This callback fires when the textarea changes. The synthetic React event will be the first parameter to the callback. You will probably want to reference `event.target.value` in your callback. No custom data object is provided. + */ + onChange: prop_types_default.a.func, + + /** + * This event fires when the textarea is clicked. + */ + onClick: prop_types_default.a.func, + + /** + * Triggered when component is focused. + */ + onFocus: prop_types_default.a.func, + + /** + * Similar to `onchange`. Triggered when an element gets user input. + */ + onInput: prop_types_default.a.func, + + /** + * Triggered when a submittable <input> element is invalid. + */ + onInvalid: prop_types_default.a.func, + + /** + * Triggered when a key is pressed down + */ + onKeyDown: prop_types_default.a.func, + + /** + * Triggered when a key is pressed and released + */ + onKeyPress: prop_types_default.a.func, + + /** + * Triggered when a key is released + */ + onKeyUp: prop_types_default.a.func, + + /** + * Triggered after some text has been selected in an element. + */ + onSelect: prop_types_default.a.func, + + /** + * Fires when a form is submitted. + */ + onSubmit: prop_types_default.a.func, + + /** + * Maximum number of characters allowed. + */ + maxLength: prop_types_default.a.string, + + /** + * Name of the submitted form parameter. + */ + name: prop_types_default.a.string, + + /** + * Text that will appear in an empty textarea. + */ + placeholder: prop_types_default.a.string, + + /** + * Highlights the textarea as a required field (does not perform any validation). + */ + required: prop_types_default.a.bool, + + /** + * The textarea is a controlled component, and will always display this value. + */ + value: prop_types_default.a.string, + + /** + * The textarea is a uncontrolled component, and this will be the initial value. + */ + defaultValue: prop_types_default.a.string, + + /** + * Specifies how the text in a text area is to be wrapped when submitted in a form. + */ + wrap: prop_types_default.a.oneOf(['soft', 'hard']) +}); + +/* harmony default export */ var components_textarea = (textarea_Textarea); +// EXTERNAL MODULE: ./node_modules/lodash.isdate/index.js +var lodash_isdate = __webpack_require__(56); +var lodash_isdate_default = /*#__PURE__*/__webpack_require__.n(lodash_isdate); + +// CONCATENATED MODULE: ./components/time-picker/check-props.js +/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */ + +/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */ + +/* eslint-disable import/no-mutable-exports */ + + + +var time_picker_check_props_checkProps = function checkPropsFunction() {}; + +if (false) {} + +/* harmony default export */ var time_picker_check_props = (time_picker_check_props_checkProps); +// CONCATENATED MODULE: ./components/time-picker/private/dropdown-trigger.jsx +function private_dropdown_trigger_typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { private_dropdown_trigger_typeof = function _typeof(obj) { return typeof obj; }; } else { private_dropdown_trigger_typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return private_dropdown_trigger_typeof(obj); } + +function private_dropdown_trigger_extends() { private_dropdown_trigger_extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return private_dropdown_trigger_extends.apply(this, arguments); } + +function private_dropdown_trigger_objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = private_dropdown_trigger_objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; } + +function private_dropdown_trigger_objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; } + +function private_dropdown_trigger_classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function private_dropdown_trigger_defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function private_dropdown_trigger_createClass(Constructor, protoProps, staticProps) { if (protoProps) private_dropdown_trigger_defineProperties(Constructor.prototype, protoProps); if (staticProps) private_dropdown_trigger_defineProperties(Constructor, staticProps); return Constructor; } + +function private_dropdown_trigger_inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) private_dropdown_trigger_setPrototypeOf(subClass, superClass); } + +function private_dropdown_trigger_setPrototypeOf(o, p) { private_dropdown_trigger_setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return private_dropdown_trigger_setPrototypeOf(o, p); } + +function private_dropdown_trigger_createSuper(Derived) { var hasNativeReflectConstruct = private_dropdown_trigger_isNativeReflectConstruct(); return function _createSuperInternal() { var Super = private_dropdown_trigger_getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = private_dropdown_trigger_getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return private_dropdown_trigger_possibleConstructorReturn(this, result); }; } + +function private_dropdown_trigger_possibleConstructorReturn(self, call) { if (call && (private_dropdown_trigger_typeof(call) === "object" || typeof call === "function")) { return call; } return private_dropdown_trigger_assertThisInitialized(self); } + +function private_dropdown_trigger_assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +function private_dropdown_trigger_isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } } + +function private_dropdown_trigger_getPrototypeOf(o) { private_dropdown_trigger_getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return private_dropdown_trigger_getPrototypeOf(o); } + +function private_dropdown_trigger_defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */ + +/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */ +// # Timepicker Dropdown Trigger +// ## Dependencies +// ### React + + // ### Children + + // ### Event Helpers + + // ## Constants + + +/** + * Component description. + */ + +var dropdown_trigger_TimepickerDropdownTrigger = /*#__PURE__*/function (_React$Component) { + private_dropdown_trigger_inherits(TimepickerDropdownTrigger, _React$Component); + + var _super = private_dropdown_trigger_createSuper(TimepickerDropdownTrigger); + + function TimepickerDropdownTrigger() { + var _this; + + private_dropdown_trigger_classCallCheck(this, TimepickerDropdownTrigger); + + for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { + args[_key] = arguments[_key]; + } + + _this = _super.call.apply(_super, [this].concat(args)); + + private_dropdown_trigger_defineProperty(private_dropdown_trigger_assertThisInitialized(_this), "handleKeyDown", function (event) { + if (_this.props.onKeyDown && event.keyCode) { + if (event.keyCode === key_code.ENTER || event.keyCode === key_code.DOWN || event.keyCode === key_code.UP || event.keyCode === key_code.ESCAPE) { + _this.props.onKeyDown(event); + } + } + }); + + return _this; + } + + private_dropdown_trigger_createClass(TimepickerDropdownTrigger, [{ + key: "render", + // ### Render + value: function render() { + var _this$props = this.props, + iconRight = _this$props.iconRight, + menu = _this$props.menu, + onBlur = _this$props.onBlur, + onFocus = _this$props.onFocus, + onKeyDown = _this$props.onKeyDown, + onMouseDown = _this$props.onMouseDown, + triggerRef = _this$props.triggerRef, + props = private_dropdown_trigger_objectWithoutProperties(_this$props, ["iconRight", "menu", "onBlur", "onFocus", "onKeyDown", "onMouseDown", "triggerRef"]); + + return ( + /*#__PURE__*/ + + /* eslint-disable jsx-a11y/no-static-element-interactions */ + external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + onBlur: onBlur, + onFocus: onFocus, + onKeyDown: this.handleKeyDown, + onMouseDown: onMouseDown + }, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(input, private_dropdown_trigger_extends({ + iconRight: iconRight + }, props, { + inputRef: triggerRef + }), menu)) + ); + } + }]); + + return TimepickerDropdownTrigger; +}(external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.Component); + +private_dropdown_trigger_defineProperty(dropdown_trigger_TimepickerDropdownTrigger, "displayName", MENU_DROPDOWN_TRIGGER); + +private_dropdown_trigger_defineProperty(dropdown_trigger_TimepickerDropdownTrigger, "propTypes", { + /** + * Icon for right side of trigger + */ + iconRight: prop_types_default.a.node, + + /** + * A unique ID is needed in order to support keyboard navigation, ARIA support, and connect the dropdown to the triggering input. + */ + id: prop_types_default.a.string, + + /** + * This label appears above the input. + */ + label: prop_types_default.a.string, + + /** + * The dropdown menu. + */ + menu: prop_types_default.a.node, + + /** + * Is only called when `openOn` is set to `hover` and when the triggering input loses focus. + */ + onBlur: prop_types_default.a.func, + + /** + * This prop is passed onto the triggering `Input`. Triggered when the trigger input is clicked. + */ + onClick: prop_types_default.a.func, + + /** + * Is only called when `openOn` is set to `hover` and when the triggering input gains focus. + */ + onFocus: prop_types_default.a.func, + + /** + * Called when a key pressed. + */ + onKeyDown: prop_types_default.a.func, + + /** + * Called when mouse clicks down on the trigger input. + */ + onMouseDown: prop_types_default.a.func, + + /** + * The ref of the actual triggering input. + */ + triggerRef: prop_types_default.a.func, + + /** + * Date + */ + value: prop_types_default.a.string +}); + +/* harmony default export */ var private_dropdown_trigger = (dropdown_trigger_TimepickerDropdownTrigger); +// EXTERNAL MODULE: ./components/time-picker/component.json +var time_picker_component = __webpack_require__(57); + +// CONCATENATED MODULE: ./components/time-picker/index.jsx +function time_picker_typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { time_picker_typeof = function _typeof(obj) { return typeof obj; }; } else { time_picker_typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return time_picker_typeof(obj); } + +function time_picker_classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function time_picker_defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function time_picker_createClass(Constructor, protoProps, staticProps) { if (protoProps) time_picker_defineProperties(Constructor.prototype, protoProps); if (staticProps) time_picker_defineProperties(Constructor, staticProps); return Constructor; } + +function time_picker_inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) time_picker_setPrototypeOf(subClass, superClass); } + +function time_picker_setPrototypeOf(o, p) { time_picker_setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return time_picker_setPrototypeOf(o, p); } + +function time_picker_createSuper(Derived) { var hasNativeReflectConstruct = time_picker_isNativeReflectConstruct(); return function _createSuperInternal() { var Super = time_picker_getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = time_picker_getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return time_picker_possibleConstructorReturn(this, result); }; } + +function time_picker_possibleConstructorReturn(self, call) { if (call && (time_picker_typeof(call) === "object" || typeof call === "function")) { return call; } return time_picker_assertThisInitialized(self); } + +function time_picker_assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +function time_picker_isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } } + +function time_picker_getPrototypeOf(o) { time_picker_getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return time_picker_getPrototypeOf(o); } + +function time_picker_defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */ + +/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */ +// # Timepicker Component +// ## Dependencies +// ### React + + // ### isDate + + // This component's `checkProps` which issues warnings to developers about properties when in development mode (similar to React's built in development tools) + + // ### Dropdown + + + + // ## Constants + + + + +var time_picker_getOptions = function getOptions(_ref) { + var props = _ref.props; + var baseDate = new Date(); + var options = []; + baseDate.setHours(0); + baseDate.setMinutes(0); + baseDate.setSeconds(0); + baseDate.setMilliseconds(0); + var curDate = new Date(baseDate); // eslint-disable-next-line fp/no-loops + + while (baseDate.getDate() === curDate.getDate()) { + var formatted = props.formatter(curDate); // eslint-disable-next-line fp/no-mutating-methods + + options.push({ + label: formatted, + value: new Date(curDate) + }); + curDate.setMinutes(curDate.getMinutes() + props.stepInMinutes); + } + + return options; +}; +/** + * Component description. + */ + + +var time_picker_Timepicker = /*#__PURE__*/function (_React$Component) { + time_picker_inherits(Timepicker, _React$Component); + + var _super = time_picker_createSuper(Timepicker); + + // ### Display Name + // Always use the canonical component name as the React display name. + // ### Prop Types + function Timepicker(props) { + var _this; + + time_picker_classCallCheck(this, Timepicker); + + _this = _super.call(this, props); // `checkProps` issues warnings to developers about properties (similar to React's built in development tools) + + time_picker_defineProperty(time_picker_assertThisInitialized(_this), "state", { + value: _this.props.value, + strValue: _this.props.strValue, + options: time_picker_getOptions({ + props: _this.props + }) + }); + + time_picker_defineProperty(time_picker_assertThisInitialized(_this), "parseDate", function (strValue) { + var newDate = _this.props.parser(strValue); + + if (lodash_isdate_default()(newDate)) { + if (!isNaN(newDate.getTime())) { + return newDate; + } + } + + return new Date(); + }); + + time_picker_defineProperty(time_picker_assertThisInitialized(_this), "handleChange", function (date, strValue) { + _this.setState({ + value: date, + strValue: strValue + }); + + if (_this.props.onDateChange) { + _this.props.onDateChange(date, strValue); + } + }); + + time_picker_defineProperty(time_picker_assertThisInitialized(_this), "handleSelect", function (val) { + if (val && val.value) { + _this.handleChange(val.value, val.label); + } + }); + + time_picker_defineProperty(time_picker_assertThisInitialized(_this), "handleInputChange", function (event) { + var strValue = event.target.value; + + _this.setState({ + strValue: strValue + }); + + if (_this.props.onDateChange) { + var parsedDate = _this.props.parser(strValue); + + _this.props.onDateChange(parsedDate, strValue); + } + }); + + time_picker_check_props(TIME_PICKER, props, time_picker_component); + return _this; + } // eslint-disable-next-line camelcase, react/sort-comp + + + time_picker_createClass(Timepicker, [{ + key: "UNSAFE_componentWillReceiveProps", + value: function UNSAFE_componentWillReceiveProps(nextProps) { + if (nextProps.value && this.props.value) { + var currentTime = this.props.value.getTime(); + var nextTime = nextProps.value.getTime(); + + if (currentTime !== nextTime) { + this.setState({ + value: nextProps.value, + strValue: this.props.formatter(nextProps.value) + }); + } + } + + if (nextProps.strValue !== this.props.value) { + this.setState({ + strValue: nextProps.strValue + }); + } + } + }, { + key: "render", + // ### Render + value: function render() { + return /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(components_menu_dropdown, { + checkmark: false, + constrainToScrollParent: this.props.constrainToScrollParent, + disabled: this.props.disabled, + inheritTargetWidth: this.props.inheritTargetWidth, + label: this.props.label, + listItemRenderer: this.props.listItemRenderer // inline style override + , + menuStyle: { + maxHeight: '20em', + overflowX: 'hidden', + minWidth: '100%' + }, + menuPosition: this.props.menuPosition, + onSelect: this.handleSelect, + options: this.state.options + }, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(private_dropdown_trigger, { + iconRight: /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(input_icon, { + category: "utility", + name: "clock" + }), + onChange: this.handleInputChange, + placeholder: this.props.placeholder, + required: this.props.required, + type: "text", + value: this.state.strValue + })); + } + }]); + + return Timepicker; +}(external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.Component); + +time_picker_defineProperty(time_picker_Timepicker, "displayName", TIME_PICKER); + +time_picker_defineProperty(time_picker_Timepicker, "propTypes", { + /** + * If true, constrains the menu to the scroll parent. See `Dropdown`. + */ + constrainToScrollParent: prop_types_default.a.bool, + + /** + * Disables the input and prevents editing the contents. + */ + disabled: prop_types_default.a.bool, + + /** + * Time formatting function + */ + formatter: prop_types_default.a.func, + + /** + * Sets the dialog width to the width of the target. Menus attached to `input` typically follow this UX pattern. + */ + inheritTargetWidth: prop_types_default.a.bool, + + /** + * This label appears above the input. + */ + label: prop_types_default.a.string, + + /** + * Custom element that overrides the default Menu Item component. + */ + listItemRenderer: prop_types_default.a.func, + + /** + * Please select one of the following: + * * `absolute` - (default) The dialog will use `position: absolute` and style attributes to position itself. This allows inverted placement or flipping of the dialog. + * * `overflowBoundaryElement` - The dialog will overflow scrolling parents. Use on elements that are aligned to the left or right of their target and don't care about the target being within a scrolling parent. Typically this is a popover or tooltip. Dropdown menus can usually open up and down if no room exists. In order to achieve this a portal element will be created and attached to `body`. This element will render into that detached render tree. + * * `relative` - No styling or portals will be used. Menus will be positioned relative to their triggers. This is a great choice for HTML snapshot testing. + */ + menuPosition: prop_types_default.a.oneOf(['absolute', 'overflowBoundaryElement', 'relative']), + + /** + * Receives the props `(dateValue, stringValue)` + */ + onDateChange: prop_types_default.a.func, + + /** + * Parsing date string into Date + */ + parser: prop_types_default.a.func, + + /** + * Text that will appear in an empty input. + */ + placeholder: prop_types_default.a.string, + + /** + * If true, adds asterisk next to input label to indicate it is a required field. + */ + required: prop_types_default.a.bool, + + /** + * Frequency of options + */ + stepInMinutes: prop_types_default.a.number, + + /** + * Value for input that is parsed to create an internal state in the `date` format. + */ + strValue: prop_types_default.a.string, + + /** + * Instance an internal state in the `date` format. + */ + value: prop_types_default.a.instanceOf(Date) +}); + +time_picker_defineProperty(time_picker_Timepicker, "defaultProps", { + formatter: function formatter(date) { + if (date) { + return date.toLocaleTimeString(navigator.language, { + hour: '2-digit', + minute: '2-digit' + }); + } + + return null; + }, + parser: function parser(timeStr) { + var date = new Date(); + var dateStr = date.toLocaleString(navigator.language, { + year: 'numeric', + month: 'numeric', + day: 'numeric' + }); + return new Date("".concat(dateStr, " ").concat(timeStr)); + }, + menuPosition: 'absolute', + value: null, + stepInMinutes: 30 +}); + +/* harmony default export */ var time_picker = (time_picker_Timepicker); +// CONCATENATED MODULE: ./components/toast/check-props.js +/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */ + +/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */ + +/* eslint-disable import/no-mutable-exports */ + + + +var toast_check_props_checkProps = function checkPropsFunction() {}; + +if (false) {} + +/* harmony default export */ var toast_check_props = (toast_check_props_checkProps); +// EXTERNAL MODULE: ./components/toast/component.json +var toast_component = __webpack_require__(58); + +// CONCATENATED MODULE: ./components/toast/index.jsx +function toast_typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { toast_typeof = function _typeof(obj) { return typeof obj; }; } else { toast_typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return toast_typeof(obj); } + +function toast_classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function toast_defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function toast_createClass(Constructor, protoProps, staticProps) { if (protoProps) toast_defineProperties(Constructor.prototype, protoProps); if (staticProps) toast_defineProperties(Constructor, staticProps); return Constructor; } + +function toast_inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) toast_setPrototypeOf(subClass, superClass); } + +function toast_setPrototypeOf(o, p) { toast_setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return toast_setPrototypeOf(o, p); } + +function toast_createSuper(Derived) { var hasNativeReflectConstruct = toast_isNativeReflectConstruct(); return function _createSuperInternal() { var Super = toast_getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = toast_getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return toast_possibleConstructorReturn(this, result); }; } + +function toast_possibleConstructorReturn(self, call) { if (call && (toast_typeof(call) === "object" || typeof call === "function")) { return call; } return toast_assertThisInitialized(self); } + +function toast_assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +function toast_isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } } + +function toast_getPrototypeOf(o) { toast_getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return toast_getPrototypeOf(o); } + +function toast_defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */ + +/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */ +// # Toast Component +// Implements the [Toast design pattern](https://lightningdesignsystem.com/components/toasts/) in React. + + + + + + + + + + +var toast_propTypes = { + /** + * **Assistive text for accessibility** + * This object is merged with the default props object on every render. + * * `closeButton`: This is a visually hidden label for the close button. + * * `error`: This is a visually hidden label to mark the toast as an error variant + * * `info`: This is a visually hidden label to mark the toast as an info variant + * * `success`: This is a visually hidden label to mark the toast as an success variant + * * `warning`: This is a visually hidden label to mark the toast as an warning variant + * _Tested with snapshot testing._ + */ + assistiveText: prop_types_default.a.shape({ + closeButton: prop_types_default.a.oneOfType([prop_types_default.a.string, prop_types_default.a.node]) + }), + + /** + * CSS classes to be added to tag with `.slds-notify_toast`. Uses `classNames` [API](https://github.com/JedWatson/classnames). + * _Tested with snapshot testing._ + */ + className: prop_types_default.a.oneOfType([prop_types_default.a.array, prop_types_default.a.object, prop_types_default.a.string]), + + /** + * If duration exists, the Toast will disappear after that amount of time. Time in milliseconds. _Tested with Mocha testing._ + */ + duration: prop_types_default.a.number, + + /** + * **Text labels for internationalization** + * This object is merged with the default props object on every render. + * * `details`: Secondary text below heading + * * `heading`: text within heading tag + * * `headingLink`: Text of link that triggers `onClickHeadingLink`. Inline links should pass a keyed array of React components into `labels.heading`. + * + * _Tested with snapshot testing._ + */ + labels: prop_types_default.a.shape({ + details: prop_types_default.a.oneOfType([prop_types_default.a.string, prop_types_default.a.node]), + heading: prop_types_default.a.oneOfType([prop_types_default.a.string, prop_types_default.a.node]), + headingLink: prop_types_default.a.oneOfType([prop_types_default.a.string, prop_types_default.a.node]) + }), + + /** + * Triggered by link. _Tested with Mocha testing._ + */ + onClickHeadingLink: prop_types_default.a.func, + + /** + * Icon of type `~/components/icon`. This icon will be cloned and additional props appended. The default icons are: + * * info variant: `utility:info` + * * error variant: `utility:error` + * * success variant: `utility:success` + * * warning variant: `utility:warning` + * + * _Tested with snapshot testing._ + */ + icon: prop_types_default.a.node, + + /** + * Triggered by close button. _Tested with Mocha testing._ + */ + onRequestClose: prop_types_default.a.func, + + /** + * Custom styles to be passed to the component. _Tested with Mocha testing._ + */ + style: prop_types_default.a.object, + + /** + * The type of Toast. _Tested with snapshot testing._ + */ + variant: prop_types_default.a.oneOf(['error', 'info', 'success', 'warning']).isRequired +}; +var toast_defaultProps = { + assistiveText: { + closeButton: 'Close', + error: 'error', + info: 'info', + success: 'success', + warning: 'warning' + }, + variant: 'info' +}; +/** + * Toast serves as a feedback & confirmation mechanism after the user takes an action. View [banner guidelines](https://www.lightningdesignsystem.com/guidelines/messaging/components/banners/). + */ + +var toast_Toast = /*#__PURE__*/function (_React$Component) { + toast_inherits(Toast, _React$Component); + + var _super = toast_createSuper(Toast); + + function Toast(props) { + var _this; + + toast_classCallCheck(this, Toast); + + _this = _super.call(this, props); + + toast_defineProperty(toast_assertThisInitialized(_this), "onClose", function () { + _this.clearTimeout(); + + if (_this.props.onRequestClose) { + _this.props.onRequestClose(); + } + }); + + toast_defineProperty(toast_assertThisInitialized(_this), "clearTimeout", function () { + if (_this.timeout) { + clearTimeout(_this.timeout); + _this.timeout = null; + } + }); + + toast_defineProperty(toast_assertThisInitialized(_this), "saveToastRef", function (toast) { + _this.toast = toast; + + if (_this.state.isInitialRender) { + dom_element_focus.storeActiveElement(); + + if (_this.toast) { + _this.toast.focus(); + } + + _this.setState({ + isInitialRender: false + }); + } + }); + + _this.state = { + isInitialRender: true + }; + _this.timeout = null; + _this.toast = null; // `checkProps` issues warnings to developers about properties (similar to React's built in development tools) + + toast_check_props(TOAST, props, toast_component); + return _this; + } + + toast_createClass(Toast, [{ + key: "componentDidMount", + value: function componentDidMount() { + var _this2 = this; + + if (this.props.duration) { + this.timeout = setTimeout(function () { + _this2.onClose(); + }, this.props.duration); + } + } + }, { + key: "componentWillUnmount", + value: function componentWillUnmount() { + this.clearTimeout(); + dom_element_focus.returnFocusToStoredElement(); + } + }, { + key: "render", + value: function render() { + // Merge objects of strings with their default object + var assistiveText = lodash_assign_default()({}, toast_defaultProps.assistiveText, this.props.assistiveText); + var labels = lodash_assign_default()({}, toast_defaultProps.labels, this.props.labels); + var heading = labels.heading || this.props.content; // eslint-disable-line react/prop-types + + var assistiveTextVariant = { + info: assistiveText.info, + success: assistiveText.success, + warning: assistiveText.warning, + error: assistiveText.error + }; + var defaultIcons = { + info: /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(components_icon, { + category: "utility", + name: "info" + }), + success: /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(components_icon, { + category: "utility", + name: "success" + }), + warning: /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(components_icon, { + category: "utility", + name: "warning" + }), + error: /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(components_icon, { + category: "utility", + name: "error" + }) + }; + var icon = this.props.icon ? this.props.icon : defaultIcons[this.props.variant]; + var clonedIcon = /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.cloneElement(icon, { + containerClassName: 'slds-m-right_small slds-no-flex slds-align-top', + inverse: true, + size: 'small' + }); + /* eslint-disable no-script-url */ + + return /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: class_names('slds-notify slds-notify_toast', { + 'slds-theme_info': this.props.variant === 'info', + 'slds-theme_success': this.props.variant === 'success', + 'slds-theme_warning': this.props.variant === 'warning', + 'slds-theme_error': this.props.variant === 'error' + }, this.props.className), + ref: this.saveToastRef, + role: "status", + style: this.props.style, + tabIndex: 0 // eslint-disable-line jsx-a11y/no-noninteractive-tabindex + + }, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("span", { + className: "slds-assistive-text" + }, assistiveTextVariant[this.props.variant]), clonedIcon, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: "slds-notify__content" + }, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("h2", { + className: "slds-text-heading_small" + }, heading, ' ', labels.headingLink ? /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("a", { + onClick: this.props.onClickHeadingLink, + href: "javascript:void(0);" + }, labels.headingLink) : null), labels.details ? /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("p", null, labels.details) : null), /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(components_button, { + assistiveText: { + icon: assistiveText.closeButton + }, + className: "slds-notify__close", + iconCategory: "utility", + iconName: "close", + iconSize: "large", + inverse: true, + onClick: this.props.onRequestClose, + title: assistiveText.closeButton, + variant: "icon" + })); + } + }]); + + return Toast; +}(external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.Component); + +toast_Toast.defaultProps = toast_defaultProps; +toast_Toast.displayName = TOAST; +toast_Toast.propTypes = toast_propTypes; +/* harmony default export */ var components_toast = (toast_Toast); +// CONCATENATED MODULE: ./components/toast/container.jsx +function toast_container_typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { toast_container_typeof = function _typeof(obj) { return typeof obj; }; } else { toast_container_typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return toast_container_typeof(obj); } + +function toast_container_classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function toast_container_defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function toast_container_createClass(Constructor, protoProps, staticProps) { if (protoProps) toast_container_defineProperties(Constructor.prototype, protoProps); if (staticProps) toast_container_defineProperties(Constructor, staticProps); return Constructor; } + +function toast_container_inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) toast_container_setPrototypeOf(subClass, superClass); } + +function toast_container_setPrototypeOf(o, p) { toast_container_setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return toast_container_setPrototypeOf(o, p); } + +function toast_container_createSuper(Derived) { var hasNativeReflectConstruct = toast_container_isNativeReflectConstruct(); return function _createSuperInternal() { var Super = toast_container_getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = toast_container_getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return toast_container_possibleConstructorReturn(this, result); }; } + +function toast_container_possibleConstructorReturn(self, call) { if (call && (toast_container_typeof(call) === "object" || typeof call === "function")) { return call; } return toast_container_assertThisInitialized(self); } + +function toast_container_assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +function toast_container_isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } } + +function toast_container_getPrototypeOf(o) { toast_container_getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return toast_container_getPrototypeOf(o); } + +/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */ + +/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */ +// # Toast Container Component + + + + +var toast_container_propTypes = { + /** + * CSS classes to be added to tag with `.slds-notify-container`. Uses `classNames` [API](https://github.com/JedWatson/classnames). + */ + className: prop_types_default.a.oneOfType([prop_types_default.a.array, prop_types_default.a.object, prop_types_default.a.string]), + + /** + * Toast components + */ + children: prop_types_default.a.node +}; +/** + * A fixed container for toast banners. + */ + +var container_ToastContainer = /*#__PURE__*/function (_React$Component) { + toast_container_inherits(ToastContainer, _React$Component); + + var _super = toast_container_createSuper(ToastContainer); + + function ToastContainer() { + toast_container_classCallCheck(this, ToastContainer); + + return _super.apply(this, arguments); + } + + toast_container_createClass(ToastContainer, [{ + key: "render", + value: function render() { + return /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: class_names('slds-notify-container', this.props.className) + }, this.props.children); + } + }]); + + return ToastContainer; +}(external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.Component); + +container_ToastContainer.displayName = TOAST_CONTAINER; +container_ToastContainer.propTypes = toast_container_propTypes; +/* harmony default export */ var toast_container = (container_ToastContainer); +// CONCATENATED MODULE: ./components/tree/private/item.jsx +function tree_private_item_defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */ + +/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */ +// # Tree Item Component +// Implements the [Tree design pattern](https://www.lightningdesignsystem.com/components/tree/) in React. +// ### React + + + + + + + + + + + + +var item_handleSelect = function handleSelect(_ref) { + var event = _ref.event, + props = _ref.props, + fromFocus = _ref.fromFocus; + utilities_event.trap(event); + + if (lodash_isfunction_default()(props.onSelect)) { + props.onSelect({ + event: event, + data: { + node: props.node, + select: !props.node.selected, + treeIndex: props.treeIndex + }, + fromFocus: fromFocus + }); + } +}; + +var item_findNextNode = function findNextNode(flattenedNodes, node) { + var nodes = flattenedNodes.map(function (flattenedNode) { + return flattenedNode.node; + }); + var index = lodash_findindex_default()(nodes, { + id: node.id + }); + return flattenedNodes[(index + 1) % flattenedNodes.length]; +}; + +var item_findPreviousNode = function findPreviousNode(flattenedNodes, node) { + var nodes = flattenedNodes.map(function (flattenedNode) { + return flattenedNode.node; + }); + var index = lodash_findindex_default()(nodes, { + id: node.id + }) - 1; + + if (index < 0) { + index += flattenedNodes.length; + } + + return flattenedNodes[index]; +}; + +var handleKeyDownDown = function handleKeyDownDown(event, props) { + if (props.focusedNodeIndex === props.treeIndex) { + // Select the next visible node + var flattenedNode = item_findNextNode(props.flattenedNodes, props.node); + props.onSelect({ + event: event, + data: { + node: flattenedNode.node, + select: true, + treeIndex: flattenedNode.treeIndex + }, + clearSelectedNodes: true + }); + } +}; + +var handleKeyDownUp = function handleKeyDownUp(event, props) { + if (props.focusedNodeIndex === props.treeIndex) { + // Go to the previous visible node + var flattenedNode = item_findPreviousNode(props.flattenedNodes, props.node); + props.onSelect({ + event: event, + data: { + node: flattenedNode.node, + select: true, + treeIndex: flattenedNode.treeIndex + }, + clearSelectedNodes: true + }); + } +}; + +var item_handleKeyDownLeft = function handleKeyDownLeft(event, props) { + var nodes = props.flattenedNodes.map(function (flattenedNode) { + return flattenedNode.node; + }); + var index = lodash_findindex_default()(nodes, { + id: props.parent.id + }); + + if (index !== -1) { + props.onExpand({ + event: event, + data: { + node: props.parent, + select: true, + expand: !props.parent.expanded, + treeIndex: props.flattenedNodes[index].treeIndex + } + }); + } +}; + +var handleKeyDownEnter = function handleKeyDownEnter(event, props) { + item_handleSelect({ + event: event, + props: props + }); +}; + +var item_handleKeyDown = function handleKeyDown(event, props) { + var _callbacks; + + key_callbacks(event, { + callbacks: (_callbacks = {}, tree_private_item_defineProperty(_callbacks, key_code.DOWN, { + callback: function callback(evt) { + return handleKeyDownDown(evt, props); + } + }), tree_private_item_defineProperty(_callbacks, key_code.UP, { + callback: function callback(evt) { + return handleKeyDownUp(evt, props); + } + }), tree_private_item_defineProperty(_callbacks, key_code.LEFT, { + callback: function callback(evt) { + return item_handleKeyDownLeft(evt, props); + } + }), tree_private_item_defineProperty(_callbacks, key_code.ENTER, { + callback: function callback(evt) { + return handleKeyDownEnter(evt, props); + } + }), _callbacks) + }); +}; + +var item_handleFocus = function handleFocus(event, props) { + if (!props.treeHasFocus && !props.focusedNodeIndex && event.target === event.currentTarget) { + item_handleSelect({ + event: event, + props: props + }); + } +}; + +var getTabIndex = function getTabIndex(props) { + var initialFocus = props.selectedNodeIndexes.length === 0 && props.treeIndex === props.flattenedNodes[0].treeIndex; + return props.treeIndex === props.focusedNodeIndex || initialFocus ? 0 : -1; +}; +/** + * A Tree Item is a non-branching node in a hierarchical list. + */ + + +var tree_private_item_Item = function Item(props) { + var isSelected = props.node.selected; + var isFocused = props.treeIndex === props.focusedNodeIndex; + return /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("li", { + id: "".concat(props.treeId, "-").concat(props.node.id), + role: "treeitem", + "aria-level": props.level, + "aria-selected": isSelected ? 'true' : 'false', + tabIndex: getTabIndex(props), + onKeyDown: function onKeyDown(event) { + return item_handleKeyDown(event, props); + }, + onFocus: function onFocus(event) { + return item_handleFocus(event, props); + }, + onBlur: props.onNodeBlur, + ref: function ref(component) { + if (props.treeHasFocus && component && isFocused) { + component.focus(); + } + } + }, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: classnames_default()('slds-tree__item', { + 'slds-is-selected': isSelected + }), + onClick: function onClick(event) { + item_handleSelect({ + event: event, + props: props + }); + } + }, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(components_button, { + tabIndex: "-1", + "aria-hidden": true, + assistiveText: { + icon: '' + }, + role: "presentation", + iconCategory: "utility", + iconName: "chevronright", + iconSize: "small", + variant: "icon", + className: "slds-m-right_small slds-is-disabled", + disabled: true + }), /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("span", { + className: "slds-size_1-of-1" + }, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(utilities_highlighter, { + search: props.searchTerm, + className: "slds-tree__item-label slds-truncate" + }, props.label)))); +}; // ### Display Name +// Always use the canonical component name as the React display name. + + +tree_private_item_Item.displayName = TREE_ITEM; // ### Prop Types + +tree_private_item_Item.propTypes = { + /** + * HTML `id` of the wrapping container element joined with the `id` of the node. This will recursively increase as the tree depth increases. + */ + htmlId: prop_types_default.a.string.isRequired, + + /** + * The text of the tree item. + */ + label: prop_types_default.a.oneOfType([prop_types_default.a.node, prop_types_default.a.string]).isRequired, + + /** + * The number of nestings. Determines the ARIA level and style alignment. + */ + level: prop_types_default.a.number.isRequired, + + /** + * The current node that is being rendered. + */ + node: prop_types_default.a.object.isRequired, + + /** + * This function triggers when the expand or collapse icon is clicked or due to keyboard navigation. + */ + onExpand: prop_types_default.a.func.isRequired, + + /** + * Function that will run whenever an item or branch is selected (click or keyboard). + */ + onSelect: prop_types_default.a.func, + + /** + * Highlights term if found in node label + */ + searchTerm: prop_types_default.a.string, + + /** + * Unique id used for a prefix of all tree nodes + */ + treeId: prop_types_default.a.string, + + /** + * Location of node (zero index). First node is `0`. It's first child is `0-0`. This can be used to modify your nodes without searching for the node. This index is only valid if the `nodes` prop is the same as at the time of the event. + */ + treeIndex: prop_types_default.a.string, + + /** + * Flattened tree structure. + */ + flattenedNodes: prop_types_default.a.arrayOf(prop_types_default.a.object), + + /** + * Tree indexes of nodes that are currently selected. + */ + selectedNodeIndexes: prop_types_default.a.arrayOf(prop_types_default.a.string), + + /** + * Tree index of the node that is currently focused. + */ + focusedNodeIndex: prop_types_default.a.string, + + /** + * Callback for when a node is blurred. + */ + onNodeBlur: prop_types_default.a.func, + + /** + * Sets focus on render. + */ + treeHasFocus: prop_types_default.a.bool, + + /** + * This node's parent. + */ + parent: prop_types_default.a.object +}; +tree_private_item_Item.defaultProps = { + selected: false, + selectedNodeIndexes: [] +}; +/* harmony default export */ var tree_private_item = (tree_private_item_Item); +// CONCATENATED MODULE: ./components/tree/private/render-initial-branch.jsx +/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */ + +/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */ +// # Tree Initial Branch + + + + +var render_initial_branch_propTypes = { + /** + * HTML `id` of the wrapping container element. + */ + htmlId: prop_types_default.a.oneOfType([prop_types_default.a.number, prop_types_default.a.string]).isRequired, + + /* + * Class names to be added to the top-level `ul` element. + */ + initalClassName: prop_types_default.a.oneOfType([prop_types_default.a.array, prop_types_default.a.object, prop_types_default.a.string]), + + /* + * Styles to be added to the top-level `ul` element. Useful for `overflow:hidden`. + */ + initialStyle: prop_types_default.a.object +}; + +var render_initial_branch_handleScroll = function handleScroll(event, props) { + var percentage = event.target.scrollTop / (event.target.scrollHeight - event.target.clientHeight) * 100; + + if (lodash_isfunction_default()(props.onScroll)) { + props.onScroll(event, { + percentage: percentage + }); + } +}; + +var render_initial_branch_renderInitialNode = function renderInitialNode(children, props) { + return ( + /*#__PURE__*/ + // id intentionally not rendered here, and is present on + // container that includes the header + external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("ul", { + "aria-labelledby": "".concat(props.htmlId, "__heading"), + className: classnames_default()('slds-tree', props.initalClassName), + onScroll: function onScroll(event) { + render_initial_branch_handleScroll(event, props); + }, + role: "tree", + style: props.initialStyle + }, children) + ); +}; + +render_initial_branch_renderInitialNode.displayName = 'TreeInitialNode'; +render_initial_branch_renderInitialNode.propTypes = render_initial_branch_propTypes; +/* harmony default export */ var render_initial_branch = (render_initial_branch_renderInitialNode); +// CONCATENATED MODULE: ./components/tree/private/render-branch.jsx +function render_branch_defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */ + +/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */ +// # Tree Branch Component +// Implements the [Tree design pattern](https://www.lightningdesignsystem.com/components/tree/) in React. +// ## Dependencies + + + + + // Child components + + + + + + +var render_branch_propTypes = { + /** + * HTML `id` of primary element that has `.slds-tree` on it. This component has a wrapping container element outside of `.slds-tree`. + */ + htmlId: prop_types_default.a.oneOfType([prop_types_default.a.number, prop_types_default.a.string]).isRequired, + + /** + * The text of the tree item. + */ + label: prop_types_default.a.oneOfType([prop_types_default.a.node, prop_types_default.a.string]), + + /** + * The number of nestings. Determines the ARIA level and style alignment. + */ + level: prop_types_default.a.number.isRequired, + + /** + * The current node that is being rendered. + */ + node: prop_types_default.a.object.isRequired, + + /** + * This function triggers when the expand or collapse icon is clicked or due to keyboard navigation. + */ + onExpand: prop_types_default.a.func.isRequired, + + /** + * Function that will run whenever an item or branch is clicked. + */ + onSelect: prop_types_default.a.func, + + /** + * Highlights term if found in node label + */ + searchTerm: prop_types_default.a.string, + + /** + * Location of node (zero index). First node is `0`. It's first child is `0-0`. This can be used to modify your nodes without searching for the node. This index is only valid if the `nodes` prop is the same as at the time of the event. + */ + treeIndex: prop_types_default.a.string, + + /** + * Flattened tree structure. + */ + flattenedNodes: prop_types_default.a.arrayOf(prop_types_default.a.object), + + /** + * Tree indexes of nodes that are currently selected. + */ + selectedNodeIndexes: prop_types_default.a.arrayOf(prop_types_default.a.string), + + /** + * Tree index of the node that is currently focused. + */ + focusedNodeIndex: prop_types_default.a.string, + + /** + * Callback for when a node is blurred. + */ + onNodeBlur: prop_types_default.a.func, + + /** + * Sets focus on render. + */ + treeHasFocus: prop_types_default.a.bool, + + /** + * This node's parent. + */ + parent: prop_types_default.a.object +}; + +var render_branch_handleExpand = function handleExpand(event, props) { + utilities_event.trap(event); + + if (lodash_isfunction_default()(props.onExpand)) { + props.onExpand({ + event: event, + data: { + node: props.node, + expand: !props.node.expanded, + treeIndex: props.treeIndex + } + }); + } +}; + +var render_branch_handleSelect = function handleSelect(_ref) { + var event = _ref.event, + props = _ref.props, + fromFocus = _ref.fromFocus; + utilities_event.trap(event); + + if (lodash_isfunction_default()(props.onSelect)) { + props.onSelect({ + event: event, + data: { + node: props.node, + select: !props.node.selected, + treeIndex: props.treeIndex + }, + fromFocus: fromFocus + }); + } +}; + +var render_branch_findNextNode = function findNextNode(flattenedNodes, node) { + var nodes = flattenedNodes.map(function (flattenedNode) { + return flattenedNode.node; + }); + var index = lodash_findindex_default()(nodes, { + id: node.id + }); + return flattenedNodes[(index + 1) % flattenedNodes.length]; +}; + +var render_branch_findPreviousNode = function findPreviousNode(flattenedNodes, node) { + var nodes = flattenedNodes.map(function (flattenedNode) { + return flattenedNode.node; + }); + var index = lodash_findindex_default()(nodes, { + id: node.id + }) - 1; + + if (index < 0) { + index += flattenedNodes.length; + } + + return flattenedNodes[index]; +}; + +var render_branch_handleKeyDownDown = function handleKeyDownDown(event, props) { + if (props.focusedNodeIndex === props.treeIndex) { + // Select the next visible node + var flattenedNode = render_branch_findNextNode(props.flattenedNodes, props.node); + props.onSelect({ + event: event, + data: { + node: flattenedNode.node, + select: true, + treeIndex: flattenedNode.treeIndex + }, + clearSelectedNodes: true + }); + } +}; + +var render_branch_handleKeyDownUp = function handleKeyDownUp(event, props) { + if (props.focusedNodeIndex === props.treeIndex) { + // Go to the previous visible node + var flattenedNode = render_branch_findPreviousNode(props.flattenedNodes, props.node); + props.onSelect({ + event: event, + data: { + node: flattenedNode.node, + select: true, + treeIndex: flattenedNode.treeIndex + }, + clearSelectedNodes: true + }); + } +}; + +var handleKeyDownRight = function handleKeyDownRight(event, props) { + if (props.node.expanded) { + if (props.getNodes(props.node) && props.getNodes(props.node).length > 0) { + render_branch_handleKeyDownDown(event, props); + } + } else { + render_branch_handleExpand(event, props); + } +}; + +var render_branch_handleKeyDownLeft = function handleKeyDownLeft(event, props) { + if (props.node.expanded) { + render_branch_handleExpand(event, props); + } else { + var nodes = props.flattenedNodes.map(function (flattenedNode) { + return flattenedNode.node; + }); + var index = lodash_findindex_default()(nodes, { + id: props.parent.id + }); + + if (index !== -1) { + props.onExpand({ + event: event, + data: { + node: props.parent, + select: true, + expand: !props.parent.expanded, + treeIndex: props.flattenedNodes[index].treeIndex + } + }); + } + } +}; + +var render_branch_handleKeyDownEnter = function handleKeyDownEnter(event, props) { + render_branch_handleSelect({ + event: event, + props: props + }); +}; + +var render_branch_handleKeyDown = function handleKeyDown(event, props) { + var _callbacks; + + key_callbacks(event, { + callbacks: (_callbacks = {}, render_branch_defineProperty(_callbacks, key_code.DOWN, { + callback: function callback(evt) { + return render_branch_handleKeyDownDown(evt, props); + } + }), render_branch_defineProperty(_callbacks, key_code.UP, { + callback: function callback(evt) { + return render_branch_handleKeyDownUp(evt, props); + } + }), render_branch_defineProperty(_callbacks, key_code.RIGHT, { + callback: function callback(evt) { + return handleKeyDownRight(evt, props); + } + }), render_branch_defineProperty(_callbacks, key_code.LEFT, { + callback: function callback(evt) { + return render_branch_handleKeyDownLeft(evt, props); + } + }), render_branch_defineProperty(_callbacks, key_code.ENTER, { + callback: function callback(evt) { + return render_branch_handleKeyDownEnter(evt, props); + } + }), _callbacks) + }); +}; + +var render_branch_handleFocus = function handleFocus(event, props) { + if (!props.treeHasFocus && !props.focusedNodeIndex && event.target === event.currentTarget) { + // did it happen by mouse? + render_branch_handleSelect({ + event: event, + props: props, + fromFocus: true + }); + } +}; + +var render_branch_getTabIndex = function getTabIndex(props) { + var initialFocus = props.selectedNodeIndexes.length === 0 && props.treeIndex === props.flattenedNodes[0].treeIndex; + return props.treeIndex === props.focusedNodeIndex || initialFocus ? 0 : -1; +}; // Most of these props come from the nodes array, not from the Tree props + + +var render_branch_RenderBranch = function RenderBranch(children, props) { + var isExpanded = props.node.expanded; + var isSelected = props.node.selected; + var isFocused = props.treeIndex === props.focusedNodeIndex; + var isLoading = props.node.loading; + var loader = /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + style: { + display: 'block', + paddingLeft: "".concat(1.5 * props.level + 1.5, "rem"), + marginTop: '.5rem' + } + }, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + style: { + borderRadius: '15rem', + display: 'block', + marginBottom: '.75rem', + height: '.5rem', + backgroundColor: 'rgb(224, 229, 238)', + width: '40%' + } + }), /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + style: { + borderRadius: '15rem', + display: 'block', + marginBottom: '.75rem', + height: '.5rem', + backgroundColor: 'rgb(224, 229, 238)', + width: '80%' + } + }), /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + style: { + borderRadius: '15rem', + display: 'block', + marginBottom: '.75rem', + height: '.5rem', + backgroundColor: 'rgb(224, 229, 238)', + width: '60%' + } + })); + var label = props.node.assistiveText || (typeof props.node.label === 'string' ? props.node.label : null); + return /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("li", { + id: props.htmlId, + role: "treeitem", + "aria-level": props.level, + "aria-expanded": isExpanded ? 'true' : 'false', + "aria-label": props.node.nodes && props.node.nodes.length > 0 ? label : null, + tabIndex: render_branch_getTabIndex(props), + onKeyDown: function onKeyDown(event) { + return render_branch_handleKeyDown(event, props); + }, + onFocus: function onFocus(event) { + return render_branch_handleFocus(event, props); + }, + onBlur: props.onNodeBlur, + ref: function ref(component) { + if (props.treeHasFocus && component && isFocused) { + component.focus(); + } + } + }, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: classnames_default()('slds-tree__item', { + 'slds-is-selected': isSelected + }), + onClick: function onClick(event) { + render_branch_handleSelect({ + event: event, + props: props + }); + } + }, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(components_button, { + "aria-hidden": true, + assistiveText: { + icon: 'Expand Tree Branch' + }, + iconCategory: "utility", + iconName: "chevronright", + iconSize: "small", + variant: "icon", + className: "slds-m-right_small", + role: "presentation", + "aria-controls": props.htmlId, + onClick: function onClick(event) { + render_branch_handleExpand(event, props); + }, + tabIndex: "-1" + }), /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("span", { + className: "slds-size_1-of-1", + id: "".concat(props.htmlId, "__label") + }, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(utilities_highlighter, { + search: props.searchTerm, + className: "slds-tree__item-label slds-truncate" + }, props.label))), isLoading ? loader : null, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("ul", { + className: classnames_default()({ + 'slds-is-expanded': isExpanded, + 'slds-is-collapsed': !isExpanded + }), + role: "group", + "aria-labelledby": "".concat(props.htmlId, "__label") + }, isExpanded && !isLoading ? children : null)); +}; + +render_branch_RenderBranch.displayName = 'Branch'; +render_branch_RenderBranch.propTypes = render_branch_propTypes; +/* harmony default export */ var render_branch = (render_branch_RenderBranch); +// CONCATENATED MODULE: ./components/tree/private/branch.jsx +/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */ + +/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */ +// # Tree Branch Component + + + // Child components + + + + + +/** + * A Tree Item is a non-branching node in a hierarchical list. + */ + +var branch_Branch = function Branch(props) { + var treeIndex = ''; + var children; + var treeId = props.treeId, + level = props.level, + onExpand = props.onExpand, + searchTerm = props.searchTerm; + + if (Array.isArray(props.getNodes(props.node))) { + children = props.getNodes(props.node).map(function (node, index) { + var child; + var htmlId = "".concat(props.treeId, "-").concat(node.id); + treeIndex = "".concat(index); + + if (props.treeIndex) { + treeIndex = "".concat(props.treeIndex, "-").concat(treeIndex); + } + + if (node.type === 'branch') { + child = /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(Branch, { + getNodes: props.getNodes, + htmlId: htmlId, + key: node.id, + label: node.label, + level: level + 1, + node: node, + flattenedNodes: props.flattenedNodes, + selectedNodeIndexes: props.selectedNodeIndexes, + focusedNodeIndex: props.focusedNodeIndex, + treeHasFocus: props.treeHasFocus, + onNodeBlur: props.onNodeBlur, + nodes: node.nodes, + onSelect: props.onSelect, + onExpand: onExpand, + searchTerm: searchTerm, + treeId: treeId, + treeIndex: treeIndex, + parent: props.node + }); + } else { + child = /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(tree_private_item, { + label: node.label, + htmlId: htmlId, + key: shortid_default.a.generate(), + level: level + 1, + node: node, + flattenedNodes: props.flattenedNodes, + selectedNodeIndexes: props.selectedNodeIndexes, + focusedNodeIndex: props.focusedNodeIndex, + treeHasFocus: props.treeHasFocus, + onNodeBlur: props.onNodeBlur, + onSelect: props.onSelect, + onExpand: onExpand, + searchTerm: searchTerm, + treeIndex: treeIndex, + treeId: treeId, + parent: props.node + }); + } + + return child; + }); + } + + var branch = props.level === 0 ? render_initial_branch(children, props) : render_branch(children, props); + return branch; +}; // ### Display Name +// Always use the canonical component name as the React display name. + + +branch_Branch.displayName = TREE_BRANCH; // ### Prop Types + +branch_Branch.propTypes = { + /** + * A function that will be called by every branch to receive its child nodes. The parent `node` object with the branch data is passed into this function: `getNodes(node)`. If your state engine is Flux or Redux, then your tree data structure will probably be flattened or normalized within the store. This will allow you to build out your tree without transversing an actual tree of data and may be more performant. + */ + getNodes: prop_types_default.a.func, + + /** + * HTML `id` of the wrapping container element joined with the `id` of the node. This will recursively increase as the tree depth increases. + */ + htmlId: prop_types_default.a.oneOfType([prop_types_default.a.number, prop_types_default.a.string]).isRequired, + + /** + * All tree nodes must have a unique HTML `id` for users of assistive technology. If no `id` key is present in the is provided, one will be generated. + */ + index: prop_types_default.a.number, + + /** + * Determines if nodes in the top-level of the tree. + */ + initial: prop_types_default.a.bool, + + /* + * Class names to be added to the top-level `ul` element. + */ + initalClassName: prop_types_default.a.oneOfType([prop_types_default.a.array, prop_types_default.a.object, prop_types_default.a.string]), + initialStyle: prop_types_default.a.object, + + /** + * The text of the tree item. + */ + label: prop_types_default.a.oneOfType([prop_types_default.a.node, prop_types_default.a.string]), + + /** + * The number of nestings. Determines the ARIA level and style alignment. + */ + level: prop_types_default.a.number.isRequired, + + /** + * The current node that is being rendered. + */ + node: prop_types_default.a.object.isRequired, + + /** + * Function that will run whenever an item or branch is selected (click or keyboard). + */ + onSelect: prop_types_default.a.func, + + /** + * This function triggers when the expand or collapse icon is clicked. + */ + onExpand: prop_types_default.a.func.isRequired, + + /** + * Highlights term if found in node label + */ + searchTerm: prop_types_default.a.string, + + /** + * Unique id used for a prefix of all tree nodes. This is the prefix for subsequent `htmlId` props. + */ + treeId: prop_types_default.a.string, + + /** + * Location of node (zero index). First node is `0`. It's first child is `0-0`. This can be used to modify your nodes without searching for the node. This index is only valid if the `nodes` prop is the same as at the time of the event. + */ + treeIndex: prop_types_default.a.string, + + /** + * Flattened tree structure. + */ + flattenedNodes: prop_types_default.a.arrayOf(prop_types_default.a.object), + + /** + * Tree indexes of nodes that are currently selected. + */ + selectedNodeIndexes: prop_types_default.a.arrayOf(prop_types_default.a.string), + + /** + * Tree index of the node that is currently focused. + */ + focusedNodeIndex: prop_types_default.a.string, + + /** + * Callback for when a node is blurred. + */ + onNodeBlur: prop_types_default.a.func, + + /** + * Sets focus on render. + */ + treeHasFocus: prop_types_default.a.bool, + + /** + * This node's parent. + */ + parent: prop_types_default.a.object +}; +branch_Branch.defaultProps = { + level: 0, + label: '', + treeIndex: '', + selectedNodeIndexes: [] +}; +/* harmony default export */ var private_branch = (branch_Branch); +// CONCATENATED MODULE: ./components/tree/check-props.js +/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */ + +/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */ + +/* eslint-disable import/no-mutable-exports */ + + + + +var tree_check_props_checkProps = function checkPropsFunction() {}; + +if (false) {} + +/* harmony default export */ var tree_check_props = (tree_check_props_checkProps); +// EXTERNAL MODULE: ./components/tree/component.json +var tree_component = __webpack_require__(59); + +// CONCATENATED MODULE: ./components/tree/index.jsx +function tree_typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { tree_typeof = function _typeof(obj) { return typeof obj; }; } else { tree_typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return tree_typeof(obj); } + +function tree_ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; } + +function tree_objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { tree_ownKeys(Object(source), true).forEach(function (key) { tree_defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { tree_ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; } + +function tree_classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function tree_defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function tree_createClass(Constructor, protoProps, staticProps) { if (protoProps) tree_defineProperties(Constructor.prototype, protoProps); if (staticProps) tree_defineProperties(Constructor, staticProps); return Constructor; } + +function tree_inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) tree_setPrototypeOf(subClass, superClass); } + +function tree_setPrototypeOf(o, p) { tree_setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return tree_setPrototypeOf(o, p); } + +function tree_createSuper(Derived) { var hasNativeReflectConstruct = tree_isNativeReflectConstruct(); return function _createSuperInternal() { var Super = tree_getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = tree_getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return tree_possibleConstructorReturn(this, result); }; } + +function tree_possibleConstructorReturn(self, call) { if (call && (tree_typeof(call) === "object" || typeof call === "function")) { return call; } return tree_assertThisInitialized(self); } + +function tree_assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +function tree_isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } } + +function tree_getPrototypeOf(o) { tree_getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return tree_getPrototypeOf(o); } + +function tree_defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */ + +/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */ + + + + // Child components + + // Similar to React's PropTypes check. When in development mode, it issues errors in the console about properties. + + + // ## Constants + + // ### Prop Types + +var tree_propTypes = { + /** + * **Assistive text for accessibility.** + * This object is merged with the default props object on every render. + * * `label`: For users of assistive technology, if set the heading will be hidden. One of `heading` or `assistiveText.label` must be set in order to label the tree. + */ + assistiveText: prop_types_default.a.shape({ + label: prop_types_default.a.string + }), + + /** + * Class names to be added to the container element which has the heading and the `ul.slds-tree` element as children. + */ + className: prop_types_default.a.oneOfType([prop_types_default.a.array, prop_types_default.a.object, prop_types_default.a.string]), + + /** + * Class names to be added to the top-level `ul` element of the tree. + */ + listClassName: prop_types_default.a.oneOfType([prop_types_default.a.array, prop_types_default.a.object, prop_types_default.a.string]), + + /** + * A function that will be called by every branch to receive its child nodes. The parent `node` object with the branch data is passed into this function: `getNodes(node)`. If your state engine is Flux or Redux, then your tree data structure will probably be flattened or normalized within the store. This will allow you to build out your tree without transversing an actual tree of data and may be more performant. + */ + getNodes: prop_types_default.a.func, + + /** + * This is the tree's heading and describes its contents. It can be hidden, see `assistiveText`. + * */ + heading: prop_types_default.a.oneOfType([prop_types_default.a.node, prop_types_default.a.string]), + + /** + * HTML `id` of primary element that has `.slds-tree` on it. This component has a wrapping container element outside of `.slds-tree`. + */ + id: prop_types_default.a.string.isRequired, + + /** + * Array of items starting at the top of the tree. The shape each node in the array is: + * ``` + * { + * expanded: boolean, + * id: string, + * label: string or node, + * selected: boolean, + * type: string, + * nodes: array + * } + * ``` + * `assistiveText: string` is optional and helpful if the label is not a string. Only `id` and `label` are required. Use `type: 'branch'` for folder and categories. + */ + nodes: prop_types_default.a.arrayOf(prop_types_default.a.oneOfType([prop_types_default.a.number, prop_types_default.a.string, prop_types_default.a.shape({ + id: prop_types_default.a.oneOfType([prop_types_default.a.number, prop_types_default.a.string]).isRequired, + label: prop_types_default.a.oneOfType([prop_types_default.a.node, prop_types_default.a.string]).isRequired, + type: prop_types_default.a.string.isRequired + })])).isRequired, + + /** + * Function that will run whenever an item or branch is selected due to click or keyboard navigation. + */ + onClick: prop_types_default.a.func.isRequired, + + /** + * This function triggers when the expand or collapse icon is clicked or due to keyboard navigation. + */ + onExpandClick: prop_types_default.a.func.isRequired, + + /** + * This function triggers when the top-level `ul` element scrolls. This can be used to implement an "infinite scroll" pattern and update the `nodes` prop accordingly. + */ + onScroll: prop_types_default.a.func, + + /** + * Highlights term if found in node label. This does not auto-expand branches. + */ + searchTerm: prop_types_default.a.string, + + /** + * Styles to be added to the top-level `ul` element. Useful for `overflow:hidden`. + */ + listStyle: prop_types_default.a.object +}; +var tree_defaultProps = { + assistiveText: {}, + getNodes: function getNodes(node) { + return node.nodes; + } +}; +/* Flattens hierarchical tree structure into a flat array. The + * first item in the array is the whole tree and therefore should be + * removed with `slice(1)`.` This means that root cannot call `getNodes()` + * and should directly reference the `nodes` key. All level after that + * should use `getNodes()` to access the correct nodes. + */ + +var flattenTree = function flattenTree(root, getNodes) { + var treeIndex = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : ''; + var firstLevel = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : true; + + if (!root.nodes) { + return [{ + node: root, + treeIndex: treeIndex + }]; + } + + var nodes = [{ + node: root, + treeIndex: treeIndex + }]; + + if (root.expanded) { + // eslint-disable-next-line fp/no-loops + for (var index = 0; index < root.nodes.length; index += 1) { + var curNode = firstLevel ? root.nodes[index] : getNodes(root)[index]; + nodes = nodes.concat(flattenTree(curNode, getNodes, treeIndex ? "".concat(treeIndex, "-").concat(index) : "".concat(index), false)); + } + } + + return nodes; +}; +/** + * A tree is visualization of a structure hierarchy. A branch can be expanded or collapsed. This is a controlled component, since visual state is present in the `nodes` data. + */ + + +var tree_Tree = /*#__PURE__*/function (_React$Component) { + tree_inherits(Tree, _React$Component); + + var _super = tree_createSuper(Tree); + + function Tree(props) { + var _this; + + tree_classCallCheck(this, Tree); + + _this = _super.call(this, props); // Find the first selected node and initialize it properly so that can be tabbed to. If no node is selected, it will be selected upon first focus. + + tree_defineProperty(tree_assertThisInitialized(_this), "handleSelect", function (_ref) { + var event = _ref.event, + data = _ref.data, + clearSelectedNodes = _ref.clearSelectedNodes, + fromFocus = _ref.fromFocus; + + // When triggered by a key event, other nodes should be deselected. + if (clearSelectedNodes) { + // TODO: This bad design. This is state modfication. State should be changed via setState only. + _this.state.flattenedNodes.forEach(function (flattenedNode) { + if (flattenedNode.node.selected) { + // eslint-disable-next-line no-param-reassign + flattenedNode.node.selected = false; + } + }); + } // Prevent firing twice on first click, due to the handleSelect + // triggered by a focus event + + + if (!fromFocus) { + _this.props.onClick(event, data); + } // Keep track of the currently selected and focused nodes. + + + var selectedNodeIndexes; + + if (data.select) { + selectedNodeIndexes = _this.state.selectedNodeIndexes.concat([data.treeIndex]); + } else { + selectedNodeIndexes = _this.state.selectedNodeIndexes.filter(function (treeIndex) { + return treeIndex !== data.treeIndex; + }); + } + + _this.treeHasFocus = true; + + _this.setState({ + focusedNodeIndex: data.treeIndex, + selectedNodeIndexes: selectedNodeIndexes + }); + }); + + tree_defineProperty(tree_assertThisInitialized(_this), "handleNodeBlur", function () { + // There is no need to render when blurring a node because focus is either: + // - outside of the tree, or + // - focused on another node in the tree, which triggers its own render + _this.treeHasFocus = false; + }); + + tree_defineProperty(tree_assertThisInitialized(_this), "handleExpand", function (_ref2) { + var event = _ref2.event, + data = _ref2.data; + _this.treeHasFocus = true; + + _this.props.onExpandClick(event, data); + + if (data.select) { + _this.setState({ + focusedNodeIndex: data.treeIndex + }); + } + }); + + var flattenedNodes = flattenTree({ + nodes: _this.props.getNodes({ + nodes: _this.props.nodes + }), + expanded: true + }, _this.props.getNodes).slice(1); + var selectedNode = lodash_find_default()(flattenedNodes, function (curNode) { + return curNode.node.selected; + }); + var _selectedNodeIndexes = []; + var focusedNodeIndex; + + if (selectedNode) { + // eslint-disable-next-line fp/no-mutating-methods + _selectedNodeIndexes.push(selectedNode.treeIndex); + + focusedNodeIndex = selectedNode.treeIndex; + } + + _this.state = { + flattenedNodes: flattenedNodes, + selectedNodeIndexes: _selectedNodeIndexes, + focusedNodeIndex: focusedNodeIndex + }; + tree_check_props(TREE, props, tree_component); + return _this; + } + + tree_createClass(Tree, [{ + key: "render", + value: function render() { + // One of these is required to pass accessibility tests + var assistiveText = typeof this.props.assistiveText === 'string' ? this.props.assistiveText : tree_objectSpread(tree_objectSpread({}, tree_defaultProps.assistiveText), this.props.assistiveText).label; + var headingText = assistiveText || this.props.heading; // Start the zero level branch--that is the tree root. There is no label for + // the tree root, but is required by all other nodes + + return /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + id: this.props.id, + className: classnames_default()('slds-tree_container', this.props.className) + /* role="application" */ + + }, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("h4", { + className: classnames_default()('slds-tree__group-header', { + 'slds-assistive-text': assistiveText + }), + id: "".concat(this.props.id, "__heading") + }, headingText), /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(private_branch, { + getNodes: this.props.getNodes, + initalClassName: this.props.listClassName, + htmlId: this.props.id, + initialStyle: this.props.listStyle, + level: 0, + node: { + nodes: this.props.nodes + }, + flattenedNodes: this.state.flattenedNodes, + selectedNodeIndexes: this.state.selectedNodeIndexes, + focusedNodeIndex: this.state.focusedNodeIndex, + treeHasFocus: this.treeHasFocus, + onNodeBlur: this.handleNodeBlur, + onSelect: this.handleSelect, + onExpand: this.handleExpand, + onScroll: this.props.onScroll, + searchTerm: this.props.searchTerm, + treeId: this.props.id + })); + } + }], [{ + key: "getDerivedStateFromProps", + value: function getDerivedStateFromProps(nextProps) { + return { + flattenedNodes: flattenTree({ + nodes: nextProps.getNodes({ + nodes: nextProps.nodes + }), + expanded: true + }, nextProps.getNodes).slice(1) + }; + } + }]); + + return Tree; +}(external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.Component); + +tree_Tree.displayName = TREE; +tree_Tree.propTypes = tree_propTypes; +tree_Tree.defaultProps = tree_defaultProps; +/* harmony default export */ var tree = (tree_Tree); +// CONCATENATED MODULE: ./components/trial-bar/index.jsx +/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */ + +/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */ +// Implements the [Trial Bar design pattern](https://lightningdesignsystem.com/components/trial-bar/) in React. +// Based on SLDS v2.4.5 + + + + + +var trial_bar_propTypes = { + /** + * Provide children of the types `<TrialBarButton />` or `<TrialBarDropdown />` to define the structure of the trial bar. + * ``` + * <TrialBar> + * <TrialBarButton /> + * <TrialBarDropdown /> + * </TrialBar> + * ``` + */ + children: prop_types_default.a.node, + + /** + * CSS classes to be added to the component. Uses `classNames` [API](https://github.com/JedWatson/classnames). + */ + className: prop_types_default.a.oneOfType([prop_types_default.a.array, prop_types_default.a.object, prop_types_default.a.string]), + + /** + * **Text labels for internationalization** + * This object is merged with the default props object on every render. + * * `learnMoreAfter`: Amount of time left in trial, e.g. `30` + * * `learnMoreBefore`: Unit of the amount of time left, e.g. `days` + * * `timeLeftUnitAfter`: String after `timeLeftUnit` + */ + labels: prop_types_default.a.shape({ + timeLeft: prop_types_default.a.string, + timeLeftUnit: prop_types_default.a.string, + timeLeftUnitAfter: prop_types_default.a.string + }), + + /** + * Renders the actions section of the trial bar. + */ + onRenderActions: prop_types_default.a.func, + + /** + * Customs styles to be applied to the component. + */ + style: prop_types_default.a.object +}; +var trial_bar_defaultProps = { + labels: { + timeLeftUnitAfter: 'left in trial' + } +}; +/** + * Trial bar components are used to provide an interactive and educational prospect experience for setup. + */ + +var trial_bar_TrialBar = function TrialBar(props) { + var labels = lodash_assign_default()({}, trial_bar_defaultProps.labels, props.labels); + return /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: classnames_default()('slds-trial-header slds-grid', props.className), + style: props.style + }, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: "slds-grid" + }, props.children), /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: "slds-grid slds-grid_vertical-align-center slds-col_bump-left" + }, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("span", { + className: "slds-box slds-box_xx-small slds-theme_default" + }, labels.timeLeft), /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("span", { + className: "slds-m-horizontal_x-small" + }, labels.timeLeftUnit, " ".concat(labels.timeLeftUnitAfter)), props.onRenderActions())); +}; + +trial_bar_TrialBar.displayName = TRIAL_BAR; +trial_bar_TrialBar.propTypes = trial_bar_propTypes; +trial_bar_TrialBar.defaultProps = trial_bar_defaultProps; +/* harmony default export */ var trial_bar = (trial_bar_TrialBar); +// CONCATENATED MODULE: ./components/trial-bar/button.jsx +function trial_bar_button_extends() { trial_bar_button_extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return trial_bar_button_extends.apply(this, arguments); } + + + + // This component accepts the same props as Button. +// eslint-disable-next-line react/forbid-foreign-prop-types + +var button_propTypes = components_button.propTypes; +/** + * A [Button](/components/buttons/) within the Trial Bar. + */ + +var button_TrialBarButton = function TrialBarButton(props) { + return /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(components_button, trial_bar_button_extends({}, props, { + inverse: true, + style: { + border: 0, + padding: 0 + }, + className: "slds-m-right_small" + })); +}; + +button_TrialBarButton.propTypes = button_propTypes; +button_TrialBarButton.displayName = TRIAL_BAR_BUTTON; +/* harmony default export */ var trial_bar_button = (button_TrialBarButton); +// CONCATENATED MODULE: ./components/trial-bar/dropdown.jsx +function trial_bar_dropdown_extends() { trial_bar_dropdown_extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return trial_bar_dropdown_extends.apply(this, arguments); } + +function trial_bar_dropdown_objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = trial_bar_dropdown_objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; } + +function trial_bar_dropdown_objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; } + + + + + + + // This component accepts the same props as MenuDropdown. +// eslint-disable-next-line react/forbid-foreign-prop-types + +var dropdown_propTypes = menu_dropdown.propTypes; +/** + * A [Dropdown](/components/menu-dropdowns/) within the Trial Bar. + */ + +var dropdown_TrialBarDropdown = function TrialBarDropdown(props) { + var label = props.label, + rest = trial_bar_dropdown_objectWithoutProperties(props, ["label"]); + + return /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(components_menu_dropdown, trial_bar_dropdown_extends({}, rest, { + inverse: true + }), /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(button_trigger, { + triggerClassName: "slds-grid" + }, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(components_button, { + inverse: true, + style: { + border: 0, + height: '100%', + padding: 0 + }, + iconCategory: "utility", + iconName: "right", + iconPosition: "left", + label: label + }))); +}; + +dropdown_TrialBarDropdown.propTypes = dropdown_propTypes; +dropdown_TrialBarDropdown.displayName = TRIAL_BAR_DROPDOWN; +/* harmony default export */ var trial_bar_dropdown = (dropdown_TrialBarDropdown); +// CONCATENATED MODULE: ./components/visual-picker/index.jsx +function visual_picker_typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { visual_picker_typeof = function _typeof(obj) { return typeof obj; }; } else { visual_picker_typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return visual_picker_typeof(obj); } + +function visual_picker_classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function visual_picker_defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function visual_picker_createClass(Constructor, protoProps, staticProps) { if (protoProps) visual_picker_defineProperties(Constructor.prototype, protoProps); if (staticProps) visual_picker_defineProperties(Constructor, staticProps); return Constructor; } + +function visual_picker_inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) visual_picker_setPrototypeOf(subClass, superClass); } + +function visual_picker_setPrototypeOf(o, p) { visual_picker_setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return visual_picker_setPrototypeOf(o, p); } + +function visual_picker_createSuper(Derived) { var hasNativeReflectConstruct = visual_picker_isNativeReflectConstruct(); return function _createSuperInternal() { var Super = visual_picker_getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = visual_picker_getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return visual_picker_possibleConstructorReturn(this, result); }; } + +function visual_picker_possibleConstructorReturn(self, call) { if (call && (visual_picker_typeof(call) === "object" || typeof call === "function")) { return call; } return visual_picker_assertThisInitialized(self); } + +function visual_picker_assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +function visual_picker_isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } } + +function visual_picker_getPrototypeOf(o) { visual_picker_getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return visual_picker_getPrototypeOf(o); } + +/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */ + +/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */ +// Implements the [Visual Picker design pattern](https://lightningdesignsystem.com/components/visual-picker/) in React. + + + // ### shortid +// [npmjs.com/package/shortid](https://www.npmjs.com/package/shortid) +// shortid is a short, non-sequential, url-friendly, unique id generator + + + +var visual_picker_propTypes = { + /** + * HTML id for component. + */ + id: prop_types_default.a.string, + + /** + * Visual Picker accepts `Checkbox`, `Radio` and `VisualPickerLink` components as children. Please see `Checkbox`, `Radio` and `VisualPickerLink` for props. + */ + children: prop_types_default.a.node, + + /** + * CSS classes to be added to tag with `.slds-form-element`. Uses `classNames` [API](https://github.com/JedWatson/classnames). + */ + className: prop_types_default.a.oneOfType([prop_types_default.a.array, prop_types_default.a.object, prop_types_default.a.string]), + + /** + * Label for the visual picker + */ + label: prop_types_default.a.string, + + /** + * Whether the visual picker is coverable on selection + */ + coverable: prop_types_default.a.bool, + + /** + * Whether the visual picker has a vertical layout + */ + vertical: prop_types_default.a.bool, + + /** + * Whether the visual picker has links as children + */ + links: prop_types_default.a.bool, + + /** + * Size for visual picker + */ + size: prop_types_default.a.oneOf(['medium', 'large']) +}; +var visual_picker_defaultProps = { + size: 'medium', + vertical: false, + links: false +}; +/** + * Visual Picker Component + */ + +var visual_picker_VisualPicker = /*#__PURE__*/function (_React$Component) { + visual_picker_inherits(VisualPicker, _React$Component); + + var _super = visual_picker_createSuper(VisualPicker); + + function VisualPicker() { + visual_picker_classCallCheck(this, VisualPicker); + + return _super.apply(this, arguments); + } + + visual_picker_createClass(VisualPicker, [{ + key: "UNSAFE_componentWillMount", + // eslint-disable-next-line camelcase + value: function UNSAFE_componentWillMount() { + this.generatedId = shortid_default.a.generate(); + } + }, { + key: "render", + value: function render() { + var _this = this; + + var options = external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.Children.map(this.props.children, function (option, index) { + return /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.cloneElement(option, { + index: "".concat(_this.props.id || _this.generatedId, "-").concat(index), + coverable: _this.props.coverable, + variant: 'visual-picker', + name: "".concat(_this.props.id || _this.generatedId, "_options"), + size: _this.props.size, + vertical: !!_this.props.vertical + }); + }); + return this.props.links ? /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: "slds-form-element__control" + }, this.props.children) : /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("fieldset", { + id: this.props.id, + className: classnames_default()("slds-form-element", this.props.className) + }, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("legend", { + className: "slds-form-element__legend slds-form-element__label" + }, this.props.label), /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: "slds-form-element__control" + }, options)); + } + }]); + + return VisualPicker; +}(external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.Component); + +visual_picker_VisualPicker.displayName = VISUAL_PICKER; +visual_picker_VisualPicker.propTypes = visual_picker_propTypes; +visual_picker_VisualPicker.defaultProps = visual_picker_defaultProps; +/* harmony default export */ var visual_picker = (visual_picker_VisualPicker); +// CONCATENATED MODULE: ./components/visual-picker/link.jsx +function visual_picker_link_typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { visual_picker_link_typeof = function _typeof(obj) { return typeof obj; }; } else { visual_picker_link_typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return visual_picker_link_typeof(obj); } + +function visual_picker_link_classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function visual_picker_link_defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function visual_picker_link_createClass(Constructor, protoProps, staticProps) { if (protoProps) visual_picker_link_defineProperties(Constructor.prototype, protoProps); if (staticProps) visual_picker_link_defineProperties(Constructor, staticProps); return Constructor; } + +function visual_picker_link_inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) visual_picker_link_setPrototypeOf(subClass, superClass); } + +function visual_picker_link_setPrototypeOf(o, p) { visual_picker_link_setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return visual_picker_link_setPrototypeOf(o, p); } + +function visual_picker_link_createSuper(Derived) { var hasNativeReflectConstruct = visual_picker_link_isNativeReflectConstruct(); return function _createSuperInternal() { var Super = visual_picker_link_getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = visual_picker_link_getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return visual_picker_link_possibleConstructorReturn(this, result); }; } + +function visual_picker_link_possibleConstructorReturn(self, call) { if (call && (visual_picker_link_typeof(call) === "object" || typeof call === "function")) { return call; } return visual_picker_link_assertThisInitialized(self); } + +function visual_picker_link_assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +function visual_picker_link_isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } } + +function visual_picker_link_getPrototypeOf(o) { visual_picker_link_getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return visual_picker_link_getPrototypeOf(o); } + +/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */ + +/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */ +// Implements the [Visual Picker Link design pattern](https://lightningdesignsystem.com/components/visual-picker/) in React. +// Based on SLDS v2.4.5 + + + + +var link_propTypes = { + /** + * HTML id for component. + */ + id: prop_types_default.a.string, + + /** + * CSS classes to be added to tag with `.slds-form-element`. Uses `classNames` [API](https://github.com/JedWatson/classnames). + */ + className: prop_types_default.a.oneOfType([prop_types_default.a.array, prop_types_default.a.object, prop_types_default.a.string]), + + /** + * URL for the Link + */ + href: prop_types_default.a.string, + + /** + * Icon node for the Link + */ + icon: prop_types_default.a.node, + + /** + * Title for the Link + */ + title: prop_types_default.a.string, + + /** + * Description for the Link + */ + description: prop_types_default.a.string +}; +/** + * Visual Picker Link Component + */ + +var link_VisualPickerLink = /*#__PURE__*/function (_React$Component) { + visual_picker_link_inherits(VisualPickerLink, _React$Component); + + var _super = visual_picker_link_createSuper(VisualPickerLink); + + function VisualPickerLink() { + visual_picker_link_classCallCheck(this, VisualPickerLink); + + return _super.apply(this, arguments); + } + + visual_picker_link_createClass(VisualPickerLink, [{ + key: "render", + value: function render() { + return /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("a", { + href: this.props.href, + id: this.props.id, + className: classnames_default()('slds-box', 'slds-box_link', 'slds-theme_default', 'slds-box_x-small', 'slds-media', 'slds-visual-picker_vertical', this.props.className) + }, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: "slds-media__figure slds-media__figure_fixed-width slds-align_absolute-center slds-m-left_xx-small" + }, this.props.icon), /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: "slds-media__body slds-border_left slds-p-around_small" + }, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("h2", { + className: "slds-truncate slds-text-heading_small", + title: this.props.title + }, this.props.title), /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("p", { + className: "slds-m-top_small" + }, this.props.description))); + } + }]); + + return VisualPickerLink; +}(external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.Component); + +link_VisualPickerLink.displayName = VISUAL_PICKER_LINK; +link_VisualPickerLink.propTypes = link_propTypes; +/* harmony default export */ var visual_picker_link = (link_VisualPickerLink); +// CONCATENATED MODULE: ./components/welcome-mat/index.jsx +function welcome_mat_typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { welcome_mat_typeof = function _typeof(obj) { return typeof obj; }; } else { welcome_mat_typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return welcome_mat_typeof(obj); } + +function welcome_mat_classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function welcome_mat_defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function welcome_mat_createClass(Constructor, protoProps, staticProps) { if (protoProps) welcome_mat_defineProperties(Constructor.prototype, protoProps); if (staticProps) welcome_mat_defineProperties(Constructor, staticProps); return Constructor; } + +function welcome_mat_inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) welcome_mat_setPrototypeOf(subClass, superClass); } + +function welcome_mat_setPrototypeOf(o, p) { welcome_mat_setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return welcome_mat_setPrototypeOf(o, p); } + +function welcome_mat_createSuper(Derived) { var hasNativeReflectConstruct = welcome_mat_isNativeReflectConstruct(); return function _createSuperInternal() { var Super = welcome_mat_getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = welcome_mat_getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return welcome_mat_possibleConstructorReturn(this, result); }; } + +function welcome_mat_possibleConstructorReturn(self, call) { if (call && (welcome_mat_typeof(call) === "object" || typeof call === "function")) { return call; } return welcome_mat_assertThisInitialized(self); } + +function welcome_mat_assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +function welcome_mat_isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } } + +function welcome_mat_getPrototypeOf(o) { welcome_mat_getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return welcome_mat_getPrototypeOf(o); } + +/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */ + +/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */ +// Implements the [Welcome Mat design pattern](https://lightningdesignsystem.com/components/welcome-mat/) in React. +// Based on SLDS v2.4.0 + + + // ### shortid +// [npmjs.com/package/shortid](https://www.npmjs.com/package/shortid) +// shortid is a short, non-sequential, url-friendly, unique id generator + + + + + + +var welcome_mat_displayName = WELCOME_MAT; +var welcome_mat_propTypes = { + /** + * CSS class names to be added to the container element. `array`, `object`, or `string` are accepted. + */ + className: prop_types_default.a.oneOfType([prop_types_default.a.array, prop_types_default.a.object, prop_types_default.a.string]), + + /** + * HTML id for component. + */ + id: prop_types_default.a.string, + + /** + * Whether the modal is open + */ + isOpen: prop_types_default.a.bool, + + /** + * **Weclome Mat labels for internationalization** + * This object is merged with the default props object on every render. + * * `title`: Title for the Welcome Mat + * * `description`: Label for the radio input + * * `unitsCompletedAfter`: Label for the radio input + */ + labels: prop_types_default.a.shape({ + title: prop_types_default.a.string, + description: prop_types_default.a.string, + unitsCompletedAfter: prop_types_default.a.string + }), + + /** + * Variant of the WelcomeMat + */ + variant: prop_types_default.a.oneOf(['steps', 'info-only', 'splash', 'trailhead-connected']), + + /** + * Link to learn more button + */ + onRenderInfoActions: prop_types_default.a.func, + + /** + * Callback to fire when modal is dismissed + */ + onRequestClose: prop_types_default.a.func, + + /** + * Accepts a single WelcomeMatInfoBadge component, to be used with the trailhead variant + */ + infoBadge: prop_types_default.a.node, + + /** + * Do not show again checkbox for info-only variant + */ + doNotShowAgainCheckbox: prop_types_default.a.node +}; +var welcome_mat_defaultProps = { + labels: { + unitsCompletedAfter: 'units completed' + }, + variant: 'steps', + isOpen: true +}; +/** + * A Welcome Mat provides a series of unordered items a user can click to learn about a thematic topic. + */ + +var welcome_mat_WelcomeMat = /*#__PURE__*/function (_React$Component) { + welcome_mat_inherits(WelcomeMat, _React$Component); + + var _super = welcome_mat_createSuper(WelcomeMat); + + function WelcomeMat(props) { + var _this; + + welcome_mat_classCallCheck(this, WelcomeMat); + + _this = _super.call(this, props); + _this.state = { + completedSteps: 0, + totalSteps: 0, + progress: 0 + }; + return _this; + } // eslint-disable-next-line camelcase, react/sort-comp + + + welcome_mat_createClass(WelcomeMat, [{ + key: "UNSAFE_componentWillMount", + value: function UNSAFE_componentWillMount() { + this.generatedId = shortid_default.a.generate(); + this.getCount(); + } + /** + * Get the WelcomeMat's HTML id. Generate a new one if no ID present. + */ + + }, { + key: "getId", + value: function getId() { + return this.props.id || this.generatedId; + } + }, { + key: "getCount", + value: function getCount() { + var totalSteps = external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.Children.count(this.props.children); + var completedSteps = external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.Children.toArray(this.props.children).filter(function (c) { + return c.props.isComplete; + }).length; + var progress = completedSteps / totalSteps * 100; + this.setState({ + totalSteps: totalSteps, + completedSteps: completedSteps, + progress: progress + }); + } + }, { + key: "render", + value: function render() { + var _this2 = this; + + var labels = lodash_assign_default()({}, welcome_mat_defaultProps.labels, this.props.labels); + var splash = /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: classnames_default()('slds-welcome-mat__info-content', this.props.className), + id: "".concat(this.getId(), "-content") + }, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("h2", { + className: "slds-welcome-mat__info-title", + id: "".concat(this.getId(), "-label") + }, labels.title), /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: "slds-welcome-mat__info-description slds-text-longform" + }, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("p", null, labels.description)), this.props.variant === 'info-only' || this.props.variant === 'splash' ? /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: "slds-welcome-mat__info-actions" + }, this.props.onRenderInfoActions() ? this.props.onRenderInfoActions() : null, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: "slds-m-top_large" + }, this.props.doNotShowAgainCheckbox ? this.props.doNotShowAgainCheckbox : null)) : null, (this.props.variant === 'steps' || this.props.variant === 'trailhead-connected') && this.props.children ? /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.Fragment, null, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: classnames_default()('slds-welcome-mat__info-progress', this.state.completedSteps === this.state.totalSteps ? 'slds-welcome-mat__info-progress_complete' : null) + }, this.props.variant === 'trailhead-connected' ? external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.Children.map(this.props.infoBadge, function (child) { + return /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.cloneElement(child, { + isComplete: _this2.state.completedSteps === _this2.state.totalSteps ? true : null + }); + }) : null, this.state.completedSteps !== this.state.totalSteps || this.props.variant !== 'trailhead-connected' ? /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.Fragment, null, this.props.variant === 'trailhead-connected' ? /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("p", null, this.state.completedSteps, "/", this.state.totalSteps, " ".concat(labels.unitsCompletedAfter)) : /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("p", null, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("strong", null, this.state.completedSteps, "/", this.state.totalSteps, " ".concat(labels.unitsCompletedAfter))), /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(progress_bar, { + value: this.state.progress, + radius: "circular" + })) : null)) : null); + return /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(modal, { + assistiveText: { + dialogLabelledBy: "".concat(this.getId(), "-label") + }, + isOpen: this.props.isOpen, + onRequestClose: this.props.onRequestClose, + size: "small", + id: "".concat(this.getId(), "-modal") + }, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: classnames_default()('slds-welcome-mat', { + 'slds-welcome-mat_info-only': this.props.variant === 'info-only' + }, this.props.children ? null : 'slds-welcome-mat_splash'), + id: this.getId() + }, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: "slds-welcome-mat__content slds-grid" + }, this.props.children ? /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.Fragment, null, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: "slds-welcome-mat__info slds-size_1-of-2" + }, splash), /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: classnames_default()('slds-welcome-mat__tiles', 'slds-size_1-of-2', this.props.variant === 'info-only' ? 'slds-welcome-mat__tiles_info-only' : null) + }, external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.Children.map(this.props.children, function (child) { + return /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.cloneElement(child, { + variant: _this2.props.variant + }); + }))) : /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: "slds-welcome-mat__info slds-size_1-of-1" + }, splash)))); + } + }]); + + return WelcomeMat; +}(external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.Component); + +welcome_mat_WelcomeMat.displayName = welcome_mat_displayName; +welcome_mat_WelcomeMat.propTypes = welcome_mat_propTypes; +welcome_mat_WelcomeMat.defaultProps = welcome_mat_defaultProps; +/* harmony default export */ var welcome_mat = (welcome_mat_WelcomeMat); +// CONCATENATED MODULE: ./components/welcome-mat/info-badge.jsx +function info_badge_typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { info_badge_typeof = function _typeof(obj) { return typeof obj; }; } else { info_badge_typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return info_badge_typeof(obj); } + +function info_badge_classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function info_badge_defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function info_badge_createClass(Constructor, protoProps, staticProps) { if (protoProps) info_badge_defineProperties(Constructor.prototype, protoProps); if (staticProps) info_badge_defineProperties(Constructor, staticProps); return Constructor; } + +function info_badge_inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) info_badge_setPrototypeOf(subClass, superClass); } + +function info_badge_setPrototypeOf(o, p) { info_badge_setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return info_badge_setPrototypeOf(o, p); } + +function info_badge_createSuper(Derived) { var hasNativeReflectConstruct = info_badge_isNativeReflectConstruct(); return function _createSuperInternal() { var Super = info_badge_getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = info_badge_getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return info_badge_possibleConstructorReturn(this, result); }; } + +function info_badge_possibleConstructorReturn(self, call) { if (call && (info_badge_typeof(call) === "object" || typeof call === "function")) { return call; } return info_badge_assertThisInitialized(self); } + +function info_badge_assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +function info_badge_isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } } + +function info_badge_getPrototypeOf(o) { info_badge_getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return info_badge_getPrototypeOf(o); } + +/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */ + +/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */ +// Implements the [Welcome Mat InfoBadge design pattern](https://lightningdesignsystem.com/components/welcome-mat/) in React. +// Based on SLDS v2.4.0 + + // ### shortid +// [npmjs.com/package/shortid](https://www.npmjs.com/package/shortid) +// shortid is a short, non-sequential, url-friendly, unique id generator + + + + +var info_badge_displayName = WELCOME_MAT_BADGE; +var info_badge_propTypes = { + /** + * **Assistive text for accessibility.** + * * `completed` : For users of assistive technology, assistive text for completed icon. + */ + assistiveText: prop_types_default.a.shape({ + completed: prop_types_default.a.string + }), + + /** + * CSS class names to be added to the container element. `array`, `object`, or `string` are accepted. + */ + className: prop_types_default.a.oneOfType([prop_types_default.a.array, prop_types_default.a.object, prop_types_default.a.string]), + + /** + * HTML id for component. + */ + id: prop_types_default.a.string, + + /** + * Icon for the tile + */ + image: prop_types_default.a.string, + + /** + * Whether the trail is completed + */ + isComplete: prop_types_default.a.bool, + + /** + * Actions to be rendered on completion of the trail + */ + onCompleteRenderActions: prop_types_default.a.func +}; +var info_badge_defaultProps = { + isComplete: false, + variant: 'steps' +}; +/** + * InfoBadge component item represents a tile in a Welcome Mat + */ + +var info_badge_InfoBadge = /*#__PURE__*/function (_React$Component) { + info_badge_inherits(InfoBadge, _React$Component); + + var _super = info_badge_createSuper(InfoBadge); + + function InfoBadge() { + info_badge_classCallCheck(this, InfoBadge); + + return _super.apply(this, arguments); + } + + info_badge_createClass(InfoBadge, [{ + key: "UNSAFE_componentWillMount", + // eslint-disable-next-line camelcase, react/sort-comp + value: function UNSAFE_componentWillMount() { + this.generatedId = shortid_default.a.generate(); + } + /** + * Get the Welcome Mat Info Badge's HTML id. Generate a new one if no ID present. + */ + + }, { + key: "getId", + value: function getId() { + return this.props.id || this.generatedId; + } + }, { + key: "getCompletedText", + value: function getCompletedText() { + return this.props.assistiveText && this.props.assistiveText.completed ? this.props.assistiveText.completed : 'Completed'; + } + }, { + key: "render", + value: function render() { + return /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + id: this.getId(), + className: this.props.className + }, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: "slds-welcome-mat__info-badge-container" + }, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("img", { + className: "slds-welcome-mat__info-badge", + src: this.props.image, + width: "50", + height: "50", + alt: "" + }), /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(components_icon, { + category: "action", + name: "check", + assistiveText: { + label: this.getCompletedText() + } + })), this.props.children, this.props.isComplete ? this.props.onCompleteRenderActions() : null); + } + }]); + + return InfoBadge; +}(external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.Component); + +info_badge_InfoBadge.displayName = info_badge_displayName; +info_badge_InfoBadge.propTypes = info_badge_propTypes; +info_badge_InfoBadge.defaultProps = info_badge_defaultProps; +/* harmony default export */ var info_badge = (info_badge_InfoBadge); +// CONCATENATED MODULE: ./components/welcome-mat/tile.jsx +function welcome_mat_tile_typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { welcome_mat_tile_typeof = function _typeof(obj) { return typeof obj; }; } else { welcome_mat_tile_typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return welcome_mat_tile_typeof(obj); } + +function tile_ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; } + +function tile_objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { tile_ownKeys(Object(source), true).forEach(function (key) { welcome_mat_tile_defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { tile_ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; } + +function welcome_mat_tile_defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + +function welcome_mat_tile_classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function welcome_mat_tile_defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } + +function welcome_mat_tile_createClass(Constructor, protoProps, staticProps) { if (protoProps) welcome_mat_tile_defineProperties(Constructor.prototype, protoProps); if (staticProps) welcome_mat_tile_defineProperties(Constructor, staticProps); return Constructor; } + +function welcome_mat_tile_inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) welcome_mat_tile_setPrototypeOf(subClass, superClass); } + +function welcome_mat_tile_setPrototypeOf(o, p) { welcome_mat_tile_setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return welcome_mat_tile_setPrototypeOf(o, p); } + +function welcome_mat_tile_createSuper(Derived) { var hasNativeReflectConstruct = welcome_mat_tile_isNativeReflectConstruct(); return function _createSuperInternal() { var Super = welcome_mat_tile_getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = welcome_mat_tile_getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return welcome_mat_tile_possibleConstructorReturn(this, result); }; } + +function welcome_mat_tile_possibleConstructorReturn(self, call) { if (call && (welcome_mat_tile_typeof(call) === "object" || typeof call === "function")) { return call; } return welcome_mat_tile_assertThisInitialized(self); } + +function welcome_mat_tile_assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } + +function welcome_mat_tile_isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } } + +function welcome_mat_tile_getPrototypeOf(o) { welcome_mat_tile_getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return welcome_mat_tile_getPrototypeOf(o); } + +/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */ + +/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */ +// Implements the [Welcome Mat Tile design pattern](https://lightningdesignsystem.com/components/welcome-mat/) in React. +// Based on SLDS v2.4.0 + + + // ### shortid +// [npmjs.com/package/shortid](https://www.npmjs.com/package/shortid) +// shortid is a short, non-sequential, url-friendly, unique id generator + + + + +var tile_displayName = WELCOME_MAT_TILE; +var welcome_mat_tile_propTypes = { + /** + * **Assistive text for accessibility.** + * This object is merged with the default props object on every render. + * * `completeIcon`: Text that is visually hidden but read aloud by screenreaders to tell the user what the complete icon means. + */ + assistiveText: prop_types_default.a.shape({ + completedIcon: prop_types_default.a.string + }), + + /** + * CSS class names to be added to the container element. `array`, `object`, or `string` are accepted. + */ + className: prop_types_default.a.oneOfType([prop_types_default.a.array, prop_types_default.a.object, prop_types_default.a.string]), + + /** + * HTML id for component. + */ + id: prop_types_default.a.string, + + /** + * Title for the tile component. + */ + title: prop_types_default.a.string, + + /** + * Description for the tile component. + */ + description: prop_types_default.a.string, + + /** + * Href for the tile link + */ + href: prop_types_default.a.string, + + /** + * Icon for the tile + */ + icon: prop_types_default.a.node, + + /** + * Whether the tile is completed + */ + isComplete: prop_types_default.a.bool, + + /** + * Variant of the Welcome Mat Tile + */ + variant: prop_types_default.a.oneOf(['steps', 'info-only', 'splash', 'trailhead-connected']) +}; +var welcome_mat_tile_defaultProps = { + assistiveText: { + completedIcon: 'Completed' + }, + isComplete: false, + variant: 'steps' +}; +/** + * Tile component item represents a tile in a Welcome Mat + */ + +var tile_Tile = /*#__PURE__*/function (_React$Component) { + welcome_mat_tile_inherits(Tile, _React$Component); + + var _super = welcome_mat_tile_createSuper(Tile); + + function Tile() { + welcome_mat_tile_classCallCheck(this, Tile); + + return _super.apply(this, arguments); + } + + welcome_mat_tile_createClass(Tile, [{ + key: "UNSAFE_componentWillMount", + // eslint-disable-next-line camelcase, react/sort-comp + value: function UNSAFE_componentWillMount() { + this.generatedId = shortid_default.a.generate(); + } + /** + * Get the Welcome Mat Tile's HTML id. Generate a new one if no ID present. + */ + + }, { + key: "getId", + value: function getId() { + return this.props.id || this.generatedId; + } + }, { + key: "render", + value: function render() { + var assistiveText = tile_objectSpread(tile_objectSpread({}, welcome_mat_tile_defaultProps.assistiveText), this.props.assistiveText); + + var body = /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.Fragment, null, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: classnames_default()('slds-media__figure', 'slds-media__figure_fixed-width', 'slds-align_absolute-center') + }, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: "slds-welcome-mat__tile-figure" + }, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: "slds-welcome-mat__tile-icon-container" + }, this.props.icon, this.props.isComplete && this.props.variant !== 'info-only' ? /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement(components_icon, { + assistiveText: { + label: assistiveText.completedIcon + }, + category: "action", + name: "check", + title: assistiveText.completedIcon + }) : null))), /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: "slds-media__body" + }, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: "slds-welcome-mat__tile-body" + }, /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("h3", { + className: "slds-welcome-mat__tile-title" + }, this.props.title), /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("p", { + className: "slds-welcome-mat__tile-description" + }, this.props.description)))); + return /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + id: this.getId(), + className: classnames_default()('slds-welcome-mat__tile', this.props.variant === 'info-only' ? 'slds-welcome-mat__tile_info-only' : null, this.props.isComplete && this.props.variant !== 'info-only' ? 'slds-welcome-mat__tile_complete' : null, this.props.className) + }, this.props.variant === 'info-only' ? /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("div", { + className: "slds-media" + }, body) : /*#__PURE__*/external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.createElement("a", { + href: this.props.href, + className: "slds-box slds-box_link slds-media" + }, body)); + } + }]); + + return Tile; +}(external_amd_react_commonjs_react_commonjs2_react_root_React_default.a.Component); + +tile_Tile.displayName = tile_displayName; +tile_Tile.propTypes = welcome_mat_tile_propTypes; +tile_Tile.defaultProps = welcome_mat_tile_defaultProps; +/* harmony default export */ var welcome_mat_tile = (tile_Tile); +// CONCATENATED MODULE: ./components/combobox/add-subheadings.js +function add_subheadings_toConsumableArray(arr) { return add_subheadings_arrayWithoutHoles(arr) || add_subheadings_iterableToArray(arr) || add_subheadings_unsupportedIterableToArray(arr) || add_subheadings_nonIterableSpread(); } + +function add_subheadings_nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } + +function add_subheadings_unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return add_subheadings_arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return add_subheadings_arrayLikeToArray(o, minLen); } + +function add_subheadings_iterableToArray(iter) { if (typeof Symbol !== "undefined" && Symbol.iterator in Object(iter)) return Array.from(iter); } + +function add_subheadings_arrayWithoutHoles(arr) { if (Array.isArray(arr)) return add_subheadings_arrayLikeToArray(arr); } + +function add_subheadings_arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; } + +/* eslint-disable fp/no-mutating-methods */ + +/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */ + +/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */ + +/** + * This is a UX pattern recommendation for auto-complete search results that can contain multiple subheadings within the results. It inserts a subheading object based on `option.type === subheading.id` directly before a found option object and only inserts the subheading at the first occurence of that type of option. + */ +var addSubheadings = function addSubheadings(_ref) { + var _ref2; + + var subheadings = _ref.subheadings, + filteredOptions = _ref.filteredOptions; + + // Let's not mutate things we don't own. + var subheadingsCopy = add_subheadings_toConsumableArray(subheadings); + + var sortedOptions = { + noSubHeaderType: [] + }; // populate an object with subheader ID as the keys + + subheadingsCopy.forEach(function (subH) { + if (subH.id) { + sortedOptions[subH.id] = [subH]; + } + }); // sort options into arrays using option type + // if option type and subheader ID are equal, add to array, if no option type, add to noSubHeaderType array + + filteredOptions.forEach(function (option) { + if (sortedOptions[option.type]) { + sortedOptions[option.type].push(option); + } else { + sortedOptions.noSubHeaderType.push(option); + } + }); // get object values by dropping keys + // flatten and remove child arrays, so that we have one array + // `...` operates on each array item, not the array + + return (_ref2 = []).concat.apply(_ref2, add_subheadings_toConsumableArray(Object.values(sortedOptions))); +}; + +/* harmony default export */ var add_subheadings = (addSubheadings); +// CONCATENATED MODULE: ./utilities/log.js +/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */ + +/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */ + +/* eslint-disable no-console */ + +/** + * This is a wrapper utility for logging messages to the + user. This is helpful in using the same examples + for the documentation site as for the Storybook examples. + * @param {Function} options.action function that outputs + * messages to Storybook + * @param {Event} options.event the browser event + * @param {String} options.eventName the name of the event + * @param {Object} options.data callback payload and data object + * @param {Function} options.customLog Custom logging function. This + * is helpful for Node debugging and removing console log from tests. + */ +var log = function log(_ref) { + var action = _ref.action, + event = _ref.event, + eventName = _ref.eventName, + data = _ref.data, + customLog = _ref.customLog; + + if (customLog && event) { + customLog({ + eventName: eventName, + event: event, + data: data + }); + } else if (action && event) { + // https://github.com/storybooks/storybook/tree/master/addons/actions + action(eventName)(event, data); + } else if (console && console.log) { + console.log(eventName, event, data); + } +}; + +/* harmony default export */ var utilities_log = (log); +// CONCATENATED MODULE: ./components/index.js +/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */ + +/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */ + +/* eslint-disable camelcase */ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +/***/ }) +/******/ ]); +}); +//# sourceMappingURL=design-system-react.js.map \ No newline at end of file diff --git a/design-system-react.js.map b/design-system-react.js.map new file mode 100644 index 0000000000..40fdfdedde --- /dev/null +++ b/design-system-react.js.map @@ -0,0 +1 @@ +{"version":3,"sources":["webpack://[name]/webpack/universalModuleDefinition","webpack://[name]/webpack/bootstrap","webpack://[name]/./node_modules/prop-types/index.js","webpack://[name]/external {\"amd\":\"react\",\"commonjs\":\"react\",\"commonjs2\":\"react\",\"root\":\"React\"}","webpack://[name]/./node_modules/classnames/index.js","webpack://[name]/./node_modules/shortid/index.js","webpack://[name]/./node_modules/lodash.assign/index.js","webpack://[name]/./node_modules/lodash.isfunction/index.js","webpack://[name]/external {\"amd\":\"react-dom\",\"commonjs\":\"react-dom\",\"commonjs2\":\"react-dom\",\"root\":\"ReactDOM\"}","webpack://[name]/./node_modules/lodash.findindex/index.js","webpack://[name]/./node_modules/warning/warning.js","webpack://[name]/./node_modules/lodash.isequal/index.js","webpack://[name]/(webpack)/buildin/global.js","webpack://[name]/./node_modules/lodash.escaperegexp/index.js","webpack://[name]/./node_modules/lodash.find/index.js","webpack://[name]/./utilities/design-tokens/dist/salesforce-skin.common.js","webpack://[name]/./node_modules/lodash.reject/index.js","webpack://[name]/(webpack)/buildin/module.js","webpack://[name]/./node_modules/shortid/lib/alphabet.js","webpack://[name]/./node_modules/react-required-if/index.js","webpack://[name]/./node_modules/react-modal/lib/index.js","webpack://[name]/./node_modules/react-modal/lib/helpers/safeHTMLElement.js","webpack://[name]/./node_modules/create-react-class/index.js","webpack://[name]/./node_modules/react-highlighter/lib/highlighter.js","webpack://[name]/./node_modules/react-modal/lib/helpers/tabbable.js","webpack://[name]/./node_modules/react-modal/lib/helpers/ariaAppHider.js","webpack://[name]/./node_modules/popper.js/dist/esm/popper.js","webpack://[name]/./utilities/product-tokens/icon-backgrounds.js","webpack://[name]/./node_modules/lodash.memoize/index.js","webpack://[name]/./utilities/design-tokens/dist/palette-colors.common.js","webpack://[name]/./node_modules/react-contenteditable/lib/react-contenteditable.js","webpack://[name]/./node_modules/lodash.isdate/index.js","webpack://[name]/./node_modules/prop-types/factoryWithThrowingShims.js","webpack://[name]/./node_modules/prop-types/lib/ReactPropTypesSecret.js","webpack://[name]/./node_modules/shortid/lib/index.js","webpack://[name]/./node_modules/shortid/lib/random/random-from-seed.js","webpack://[name]/./node_modules/shortid/lib/build.js","webpack://[name]/./node_modules/shortid/lib/generate.js","webpack://[name]/./node_modules/shortid/lib/random/random-byte-browser.js","webpack://[name]/./node_modules/nanoid/format.browser.js","webpack://[name]/./node_modules/shortid/lib/is-valid.js","webpack://[name]/./node_modules/shortid/lib/util/cluster-worker-id-browser.js","webpack://[name]/./node_modules/react-modal/lib/components/Modal.js","webpack://[name]/./node_modules/react-modal/lib/components/ModalPortal.js","webpack://[name]/./node_modules/react-modal/lib/helpers/focusManager.js","webpack://[name]/./node_modules/react-modal/lib/helpers/scopeTab.js","webpack://[name]/./node_modules/react-modal/node_modules/warning/browser.js","webpack://[name]/./node_modules/exenv/index.js","webpack://[name]/./node_modules/react-modal/lib/helpers/classList.js","webpack://[name]/./node_modules/react-lifecycles-compat/react-lifecycles-compat.es.js","webpack://[name]/./node_modules/react-highlighter/lib/regExpPropType.js","webpack://[name]/./node_modules/escape-string-regexp/index.js","webpack://[name]/./node_modules/blacklist/index.js","webpack://[name]/./node_modules/create-react-class/factory.js","webpack://[name]/./node_modules/object-assign/index.js","webpack://[name]/./node_modules/react-contenteditable/node_modules/fast-deep-equal/index.js","webpack://[name]/./utilities/constants.js","webpack://[name]/./components/accordion/index.jsx","webpack://[name]/./utilities/warning/sunset-property.js","webpack://[name]/./components/icon/button-icon/check-props.js","webpack://[name]/./utilities/warning/url-exists.js","webpack://[name]/./components/utilities/UNSAFE_direction/index.jsx","webpack://[name]/./components/utilities/utility-icon/check-props.js","webpack://[name]/./components/utilities/utility-icon/svg.jsx","webpack://[name]/./icons/utility/index.js","webpack://[name]/./icons/action/index.js","webpack://[name]/./icons/custom/index.js","webpack://[name]/./icons/doctype/index.js","webpack://[name]/./icons/standard/index.js","webpack://[name]/./components/utilities/UNSAFE_direction/private/language-direction.jsx","webpack://[name]/./components/utilities/utility-icon/index.jsx","webpack://[name]/./components/icon/button-icon/index.jsx","webpack://[name]/./utilities/get-component-doc.js","webpack://[name]/./utilities/warning/if-one-then-both-required-property.js","webpack://[name]/./components/button/check-props.js","webpack://[name]/./components/utilities/dialog/portal.jsx","webpack://[name]/./utilities/event.js","webpack://[name]/./utilities/key-code.js","webpack://[name]/./utilities/tabbable.js","webpack://[name]/./utilities/execution-environment.js","webpack://[name]/./utilities/dom-element-focus.js","webpack://[name]/./utilities/dialog-helpers.js","webpack://[name]/./components/icon-settings/index.jsx","webpack://[name]/./components/utilities/dialog/index.jsx","webpack://[name]/./components/icon/check-props.js","webpack://[name]/./utilities/class-names.js","webpack://[name]/./components/icon/index.jsx","webpack://[name]/./utilities/warning/deprecated-property.js","webpack://[name]/./utilities/warning/deprecated-property-value.js","webpack://[name]/./utilities/warning/is-trigger-tabbable.js","webpack://[name]/./components/tooltip/check-props.js","webpack://[name]/./components/tooltip/index.jsx","webpack://[name]/./utilities/get-aria-props.js","webpack://[name]/./utilities/get-data-props.js","webpack://[name]/./utilities/get-form-props.js","webpack://[name]/./components/button/index.jsx","webpack://[name]/./components/accordion/panel.jsx","webpack://[name]/./components/alert/check-props.js","webpack://[name]/./components/alert/index.jsx","webpack://[name]/./components/alert/container.jsx","webpack://[name]/./utilities/warning/low-priority-warning.js","webpack://[name]/./utilities/warning/component-is-deprecated.js","webpack://[name]/./utilities/warning/one-of-component.js","webpack://[name]/./components/app-launcher/check-props.js","webpack://[name]/./components/modal/check-props.js","webpack://[name]/./components/settings.js","webpack://[name]/./utilities/warning/check-app-element-set.js","webpack://[name]/./components/modal/index.jsx","webpack://[name]/./components/app-launcher/index.jsx","webpack://[name]/./components/expandable-section/index.jsx","webpack://[name]/./components/app-launcher/expandable-section.jsx","webpack://[name]/./components/utilities/highlighter/index.jsx","webpack://[name]/./components/app-launcher/link.jsx","webpack://[name]/./components/utilities/truncate/index.jsx","webpack://[name]/./components/app-launcher/tile.jsx","webpack://[name]/./components/avatar/check-props.js","webpack://[name]/./components/avatar/index.jsx","webpack://[name]/./components/badge/index.jsx","webpack://[name]/./components/brand-band/index.jsx","webpack://[name]/./components/breadcrumb/check-props.js","webpack://[name]/./node_modules/react-onclickoutside/dist/react-onclickoutside.es.js","webpack://[name]/./components/utilities/menu-list/item-label.jsx","webpack://[name]/./components/utilities/menu-list/item.jsx","webpack://[name]/./components/utilities/menu-list/index.jsx","webpack://[name]/./components/menu-dropdown/button-trigger.jsx","webpack://[name]/./utilities/warning/one-of-required-property.js","webpack://[name]/./components/menu-dropdown/check-props.js","webpack://[name]/./utilities/key-buffer.js","webpack://[name]/./utilities/keyboard-navigate.js","webpack://[name]/./components/menu-dropdown/menu-dropdown.jsx","webpack://[name]/./components/menu-dropdown/index.jsx","webpack://[name]/./components/breadcrumb/index.jsx","webpack://[name]/./components/builder-header/index.jsx","webpack://[name]/./components/builder-header/misc.jsx","webpack://[name]/./components/builder-header/nav.jsx","webpack://[name]/./components/builder-header/nav-dropdown.jsx","webpack://[name]/./components/builder-header/nav-link.jsx","webpack://[name]/./components/builder-header/toolbar.jsx","webpack://[name]/./components/button-group/index.jsx","webpack://[name]/./components/button-stateful/check-props.js","webpack://[name]/./components/button-stateful/index.jsx","webpack://[name]/./components/media-object/index.jsx","webpack://[name]/./components/card/private/header.jsx","webpack://[name]/./components/card/private/body.jsx","webpack://[name]/./components/card/private/footer.jsx","webpack://[name]/./components/card/empty.jsx","webpack://[name]/./components/card/index.jsx","webpack://[name]/./components/icon/input-icon/index.jsx","webpack://[name]/./components/spinner/check-props.js","webpack://[name]/./components/spinner/index.jsx","webpack://[name]/./components/input/private/inner-input.jsx","webpack://[name]/./components/utilities/label/index.jsx","webpack://[name]/./utilities/warning/only-one-of-properties.js","webpack://[name]/./components/input/check-props.js","webpack://[name]/./utilities/object.js","webpack://[name]/./components/tooltip/private/field-level-help-tooltip.jsx","webpack://[name]/./components/input/index.jsx","webpack://[name]/./components/card/filter.jsx","webpack://[name]/./components/carousel/private/carousel-indicators.jsx","webpack://[name]/./components/carousel/private/previous-next-carousel-navigator.jsx","webpack://[name]/./components/carousel/private/carousel-item.jsx","webpack://[name]/./components/carousel/private/auto-play-button.jsx","webpack://[name]/./components/carousel/index.jsx","webpack://[name]/./utilities/warning/deprecated-event-parameter.js","webpack://[name]/./components/checkbox/check-props.js","webpack://[name]/./components/checkbox/index.jsx","webpack://[name]/./components/color-picker/check-props.js","webpack://[name]/./components/color-picker/private/custom-color-form.jsx","webpack://[name]/./components/radio-group/index.jsx","webpack://[name]/./components/radio-button-group/index.jsx","webpack://[name]/./components/color-picker/private/swatch.jsx","webpack://[name]/./components/radio/check-props.js","webpack://[name]/./components/radio/index.jsx","webpack://[name]/./components/radio-button-group/radio.jsx","webpack://[name]/./utilities/color.js","webpack://[name]/./components/color-picker/private/hsv-color.jsx","webpack://[name]/./components/color-picker/private/custom-color.jsx","webpack://[name]/./components/color-picker/private/swatch-option.jsx","webpack://[name]/./components/color-picker/private/swatch-picker.jsx","webpack://[name]/./components/tabs/private/tabs-list.jsx","webpack://[name]/./components/tabs/private/tab.jsx","webpack://[name]/./components/tabs/private/tab-panel.jsx","webpack://[name]/./components/tabs/index.jsx","webpack://[name]/./components/tabs/panel.jsx","webpack://[name]/./utilities/warning/incompatible-props.js","webpack://[name]/./components/popover/check-props.js","webpack://[name]/./utilities/keyboard-navigable-dialog.js","webpack://[name]/./components/popover/popover.jsx","webpack://[name]/./components/popover/index.jsx","webpack://[name]/./components/color-picker/index.jsx","webpack://[name]/./components/combobox/private/menu.jsx","webpack://[name]/./components/forms/private/label.jsx","webpack://[name]/./utilities/key-callbacks.js","webpack://[name]/./components/pill/index.jsx","webpack://[name]/./components/utilities/pill/index.jsx","webpack://[name]/./utilities/is-react-component.js","webpack://[name]/./components/pill-container/private/selected-listbox.jsx","webpack://[name]/./utilities/key-letter-menu-item-select.js","webpack://[name]/./utilities/menu-item-select-scroll.js","webpack://[name]/./components/combobox/check-props.js","webpack://[name]/./components/combobox/combobox.jsx","webpack://[name]/./components/combobox/index.jsx","webpack://[name]/./components/combobox/filter.js","webpack://[name]/./components/data-table/check-props.js","webpack://[name]/./components/data-table/cell.jsx","webpack://[name]/./components/data-table/column.jsx","webpack://[name]/./components/data-table/private/cell-fixed.jsx","webpack://[name]/./components/data-table/column-check-props.js","webpack://[name]/./components/data-table/private/header-cell.jsx","webpack://[name]/./components/data-table/private/head.jsx","webpack://[name]/./components/data-table/private/row.jsx","webpack://[name]/./components/data-table/row-actions.jsx","webpack://[name]/./components/data-table/index.jsx","webpack://[name]/./components/data-table/highlight-cell.jsx","webpack://[name]/./utilities/date.js","webpack://[name]/./components/date-picker/private/day.jsx","webpack://[name]/./components/date-picker/private/week.jsx","webpack://[name]/./components/date-picker/private/calendar.jsx","webpack://[name]/./components/date-picker/private/year-picklist.jsx","webpack://[name]/./components/date-picker/private/navigation.jsx","webpack://[name]/./components/date-picker/private/calendar-wrapper.jsx","webpack://[name]/./components/date-picker/check-props.js","webpack://[name]/./components/date-picker/date-picker.jsx","webpack://[name]/./components/date-picker/index.jsx","webpack://[name]/./components/dynamic-icon/index.jsx","webpack://[name]/./components/popover/edit-dialog.jsx","webpack://[name]/./components/expression/group.jsx","webpack://[name]/./components/expression/index.jsx","webpack://[name]/./components/expression/condition.jsx","webpack://[name]/./components/expression/formula.jsx","webpack://[name]/./components/files/private/file-figure.jsx","webpack://[name]/./components/files/private/file-actions.jsx","webpack://[name]/./components/files/file.jsx","webpack://[name]/./components/files/index.jsx","webpack://[name]/./components/files/more-files.jsx","webpack://[name]/./components/filter/index.jsx","webpack://[name]/./components/global-header/check-props.js","webpack://[name]/./components/global-header/index.jsx","webpack://[name]/./components/global-header/button.jsx","webpack://[name]/./components/global-header/private/dropdown-trigger.jsx","webpack://[name]/./components/global-header/dropdown.jsx","webpack://[name]/./components/global-header/favorites.jsx","webpack://[name]/./components/global-header/help.jsx","webpack://[name]/./components/global-header/notifications.jsx","webpack://[name]/./components/global-header/profile.jsx","webpack://[name]/./components/global-header/search.jsx","webpack://[name]/./components/global-header/setup.jsx","webpack://[name]/./components/global-header/task.jsx","webpack://[name]/./components/global-navigation-bar/index.jsx","webpack://[name]/./components/global-navigation-bar/button.jsx","webpack://[name]/./components/global-navigation-bar/check-props.js","webpack://[name]/./components/global-navigation-bar/dropdown-trigger.jsx","webpack://[name]/./components/global-navigation-bar/dropdown.jsx","webpack://[name]/./components/global-navigation-bar/label.jsx","webpack://[name]/./components/global-navigation-bar/link.jsx","webpack://[name]/./components/global-navigation-bar/region.jsx","webpack://[name]/./components/illustration/check-props.js","webpack://[name]/./components/illustration/index.jsx","webpack://[name]/./components/forms/input/inline-check-props.js","webpack://[name]/./components/forms/input/inline.jsx","webpack://[name]/./components/input/search.jsx","webpack://[name]/./components/location-map/index.jsx","webpack://[name]/./components/lookup/header.jsx","webpack://[name]/./components/lookup/menu/default-footer/index.jsx","webpack://[name]/./components/lookup/footer.jsx","webpack://[name]/./components/lookup/menu/default-header/index.jsx","webpack://[name]/./components/lookup/section-divider.jsx","webpack://[name]/./components/lookup/menu/default-section-divider/index.jsx","webpack://[name]/./components/lookup/check-props.js","webpack://[name]/./components/lookup/private/item.jsx","webpack://[name]/./components/lookup/private/menu.jsx","webpack://[name]/./components/lookup/menu/index.js","webpack://[name]/./components/lookup/lookup.jsx","webpack://[name]/./components/lookup/index.jsx","webpack://[name]/./components/menu-picklist/check-props.js","webpack://[name]/./components/menu-picklist/index.jsx","webpack://[name]/./components/modal/trigger.jsx","webpack://[name]/./components/vertical-navigation/check-props.js","webpack://[name]/./components/vertical-navigation/private/item.jsx","webpack://[name]/./components/vertical-navigation/index.jsx","webpack://[name]/./components/notification/check-props.js","webpack://[name]/./components/notification/index.jsx","webpack://[name]/./utilities/warning/render-function-return-contents-lack-display-name.js","webpack://[name]/./components/page-header/check-props.js","webpack://[name]/./components/page-header/private/info.jsx","webpack://[name]/./components/page-header/private/label.jsx","webpack://[name]/./components/page-header/private/title.jsx","webpack://[name]/./components/page-header/private/detail-block.jsx","webpack://[name]/./components/page-header/private/detail-row.jsx","webpack://[name]/./components/page-header/private/controls.jsx","webpack://[name]/./components/page-header/private/base/index.jsx","webpack://[name]/./components/page-header/private/record-home/index.jsx","webpack://[name]/./components/page-header/private/object-home/index.jsx","webpack://[name]/./components/page-header/private/related-list/index.jsx","webpack://[name]/./components/page-header/index.jsx","webpack://[name]/./components/page-header/control.jsx","webpack://[name]/./components/panel/index.jsx","webpack://[name]/./components/panel/filtering/check-props.js","webpack://[name]/./components/panel/filtering/private/panel-footer.jsx","webpack://[name]/./components/panel/filtering/private/panel-header.jsx","webpack://[name]/./components/panel/filtering/group.jsx","webpack://[name]/./components/panel/filtering/list.jsx","webpack://[name]/./components/panel/filtering/list-heading.jsx","webpack://[name]/./components/pill-container/index.jsx","webpack://[name]/./components/progress-bar/index.jsx","webpack://[name]/./components/progress-indicator/private/step.jsx","webpack://[name]/./components/progress-indicator/private/progress-bar.jsx","webpack://[name]/./components/progress-indicator/private/progress.jsx","webpack://[name]/./components/progress-indicator/private/step-vertical.jsx","webpack://[name]/./components/progress-indicator/index.jsx","webpack://[name]/./components/progress-ring/private/ring-shape.jsx","webpack://[name]/./components/progress-ring/index.jsx","webpack://[name]/./components/scoped-notification/check-props.js","webpack://[name]/./components/scoped-notification/index.jsx","webpack://[name]/./utilities/warning/has-children-without-display-name-of.js","webpack://[name]/./components/setup-assistant/check-props.js","webpack://[name]/./components/setup-assistant/index.jsx","webpack://[name]/./components/setup-assistant/step.jsx","webpack://[name]/./components/slider/index.jsx","webpack://[name]/./components/split-view/private/toggle-button.jsx","webpack://[name]/./components/split-view/index.jsx","webpack://[name]/./components/split-view/header.jsx","webpack://[name]/./components/split-view/private/list-item-content.jsx","webpack://[name]/./components/split-view/private/list-item-with-content.jsx","webpack://[name]/./components/split-view/listbox.jsx","webpack://[name]/./components/textarea/check-props.js","webpack://[name]/./components/textarea/index.jsx","webpack://[name]/./components/time-picker/check-props.js","webpack://[name]/./components/time-picker/private/dropdown-trigger.jsx","webpack://[name]/./components/time-picker/index.jsx","webpack://[name]/./components/toast/check-props.js","webpack://[name]/./components/toast/index.jsx","webpack://[name]/./components/toast/container.jsx","webpack://[name]/./components/tree/private/item.jsx","webpack://[name]/./components/tree/private/render-initial-branch.jsx","webpack://[name]/./components/tree/private/render-branch.jsx","webpack://[name]/./components/tree/private/branch.jsx","webpack://[name]/./components/tree/check-props.js","webpack://[name]/./components/tree/index.jsx","webpack://[name]/./components/trial-bar/index.jsx","webpack://[name]/./components/trial-bar/button.jsx","webpack://[name]/./components/trial-bar/dropdown.jsx","webpack://[name]/./components/visual-picker/index.jsx","webpack://[name]/./components/visual-picker/link.jsx","webpack://[name]/./components/welcome-mat/index.jsx","webpack://[name]/./components/welcome-mat/info-badge.jsx","webpack://[name]/./components/welcome-mat/tile.jsx","webpack://[name]/./components/combobox/add-subheadings.js","webpack://[name]/./utilities/log.js","webpack://[name]/./components/index.js"],"names":["module","exports","colorBackgroundRowActive","colorBackgroundModalBrand","colorBackgroundNotification","colorBackgroundNotificationNew","colorBackgroundNotificationBadgeActive","colorBackgroundNotificationBadgeHover","colorContrastPrimary","colorBackgroundRowHover","colorForegroundPrimary","colorBackgroundErrorDark","colorBackgroundInfo","colorBackgroundTempModalTint","colorBackgroundReminderHover","brandBandColorBackgroundSecondaryTransparent","colorBackgroundNotificationBadge","colorBackgroundIndicatorDot","cardWrapperColorBackground","colorBackgroundAltInverse","popoverWalkthroughHeaderImage","colorBackgroundInputDisabled","colorBackgroundRowNew","colorBackgroundToggleHover","popoverWalkthroughColorBackground","colorBackgroundSuccessDark","colorBackgroundReminder","colorBackgroundStencil","colorBackgroundAlt2","colorBackgroundWarning","colorBackgroundButtonSuccessHover","popoverWalkthroughAltImage","colorBackgroundUtilityBarHover","progressColorBorderShade","colorBackgroundHighlightSearch","colorBackgroundToggle","colorBackgroundAnchor","popoverWalkthroughAltNubbinColorBackground","colorBackgroundDestructiveHover","progressColorBackgroundShade","colorBackground","colorBrandDark","colorBackgroundButtonSuccess","colorBackgroundBackdrop","colorBrand","colorBackgroundChromeDesktop","pageHeaderColorBackground","colorBackgroundModalButtonActive","colorBackgroundDestructive","colorBackgroundInputCheckboxSelected","colorBackgroundInputCheckbox","colorBackgroundPrimary","colorBackgroundSuccess","colorBackgroundInputCheckboxDisabled","colorBackgroundPill","colorBackgroundSpinnerDot","colorBackgroundBrandPrimaryFocus","colorBackgroundOffline","tableColorBackgroundHeaderHover","colorBackgroundBackdropTint","colorBackgroundBrandPrimaryActive","colorBackgroundInputActive","popoverWalkthroughColorBackgroundAlt","brandBandColorBackgroundSecondary","tableColorBackgroundHeader","colorBackgroundStencilAlt","colorBackgroundScrollbar","colorBackgroundToggleDisabled","colorBackgroundToast","colorBackgroundBrandPrimaryHover","colorBackgroundChromeMobile","brandBandColorBackgroundPrimaryTransparent","colorBackgroundCustomer","colorBackgroundError","colorContrastSecondary","colorBackgroundBrowser","colorBackgroundAlt","colorBackgroundPost","colorBackgroundBrandPrimary","colorBackgroundRowSelected","colorBackgroundInput","colorBackgroundToastSuccess","colorBackgroundImageOverlay","colorBrandDarker","colorBackgroundTempModal","colorBackgroundSelection","colorBackgroundShade","colorBackgroundModal","colorBackgroundDestructiveActive","colorBackgroundToggleActiveHover","colorBackgroundPayload","colorBackgroundModalButton","colorBackgroundUtilityBarActive","colorBackgroundButtonSuccessActive","buttonColorBackgroundPrimary","colorBackgroundToastError","colorBackgroundOrgSwitcherArrow","colorBackgroundInverse","colorBackgroundToggleActive","colorPickerSliderThumbColorBackground","pageColorBackgroundPrimary","colorBackgroundShadeDark","colorBackgroundNotificationBadgeFocus","colorBackgroundActionbarIconUtility","colorBackgroundScrollbarTrack","colorBackgroundInputError","brandBandColorBackgroundPrimary","colorBackgroundHighlight","colorBackgroundSecondary","popoverWalkthroughHeaderColorBackground","brandBandDefaultImage","bannerUserDefaultImage","bannerGroupDefaultImage","colorBorderInputCheckboxSelectedCheckmark","colorBorderButtonInverseDisabled","colorBorderIconInverseHintHover","colorBorderErrorDark","colorBorderIconInverseHint","colorBorderBrandDark","colorBorderInfo","colorBorderWarning","colorBorderTabActive","colorStrokeDisabled","colorBorderDestructiveHover","colorBorder","colorBorderInputDisabled","colorBorderSuccessDark","colorBorderReminder","colorStrokeBrandActive","colorBorderButtonBrandDisabled","pageHeaderColorBorder","colorBorderDestructive","colorBorderPrimary","colorBorderButtonDefault","colorBorderSeparatorAlt2","colorBorderOffline","colorBorderBrandPrimaryFocus","colorBorderSuccess","colorBorderSeparator","colorBorderBrand","colorBorderBrandPrimaryHover","colorBorderSelectionActive","colorBorderButtonBrand","colorBorderError","colorBorderSelectionHover","colorBorderBrandPrimaryActive","colorBorderInputActive","colorBorderInput","colorBorderBrandPrimary","colorBorderToggleChecked","colorBorderRowSelectedHover","colorBorderCustomer","colorBorderSelection","colorBorderCanvasElementSelectionHover","cardColorBorder","colorBorderRowSelected","buttonColorBorderPrimary","colorBorderSeparatorAlt","colorBorderCanvasElementSelection","colorStrokeBrandHover","colorBorderInverse","colorStrokeHeaderButton","colorBorderDestructiveActive","colorBorderErrorAlt","pageHeaderJoinedColorBorder","colorStrokeBrand","colorBorderTabSelected","cardFooterColorBorder","colorBorderSeparatorInverse","pageHeaderBorderRadius","tableBorderRadius","pageHeaderShadow","shadowSoftPrimaryHover","shadowButtonFocus","shadowHeader","shadowSoftPrimary","shadowHardPrimary","shadowActionOverflowFooter","cardShadow","shadowReminder","shadowDocked","shadowInlineEdit","shadowDrag","shadowDropDown","shadowFocusInset","shadowSoftPrimaryActive","shadowButtonFocusInverse","shadowImage","formLabelFontSize","inputStaticFontSize","inputStaticFontWeight","tabsFontWeight","cardFontWeight","pageHeaderTitleFontWeight","componentSpacingMargin","componentSpacingPadding","templateGutters","templateProfileGutters","tableCellSpacing","cardSpacingMargin","cardFooterPadding","cardFooterTextAlign","colorTextIconInverse","colorTextActionLabel","colorTextLinkInverse","colorTextButtonInverseDisabled","colorTextIconInverseHintHover","colorTextInputIcon","colorTextLinkInverseActive","colorTextActionLabelActive","colorTextIconInverseActive","colorTextTabLabelSelected","colorTextWarning","colorTextIconInverseHint","colorTextTabLabelDisabled","colorTextButtonDefaultHover","colorTextInputDisabled","colorTextTertiary","colorTextLinkFocus","colorTextButtonDefault","colorTextIconDefaultDisabled","colorTextLinkDisabled","colorTextDefault","colorTextInverseActive","colorTextButtonBrandDisabled","colorTextPrimary","colorTextLinkPrimaryFocus","colorTextButtonBrandHover","colorTextLinkHover","colorTextTabLabelFocus","colorTextSuccess","colorTextWeak","colorTextPlaceholderInverse","colorTextIconDefaultHover","colorTextIconDefaultHintBorderless","colorTextPill","colorTextLinkPrimaryHover","colorTextLink","colorTextWarningAlt","colorTextButtonBrand","colorTextTabLabelActive","colorTextIconDefault","colorTextBrand","colorTextTabLabelHover","colorTextButtonDefaultDisabled","colorTextToast","colorTextToggleDisabled","colorTextBrowser","colorTextLinkPrimaryActive","colorTextError","colorTextLinkPrimary","colorTextBrowserActive","colorTextTabLabel","colorTextCustomer","colorTextIconDefaultActive","colorTextBrandPrimary","colorTextLinkActive","colorTextIconDefaultHint","colorTextButtonBrandActive","colorTextRequired","colorTextIconBrand","colorTextInverseHover","colorTextModal","colorTextButtonInverse","buttonColorTextPrimary","colorTextModalButton","colorTextLinkInverseDisabled","colorTextInverse","colorTextButtonDefaultActive","colorTextIconInverseDisabled","colorTextButtonDefaultHint","colorTextIconUtility","colorTextIconInverseHover","colorTextPlaceholder","colorTextInverseWeak","colorTextSecondary","colorTextInputFocusInverse","colorTextStageLeft","colorTextLinkInverseHover","colorTextSuccessInverse","colorTextLabel","quip","brandHeaderContrastWeakDisabled","colorGray11","brandPrimaryTransparent10","colorGray12","brandBackgroundDarkTransparent","brandHeader","brandLightActive","brandHeaderContrastWarm","brandHeaderIconDisabled","brandHeaderContrastActive","brandBackgroundPrimary","brandPrimary","brandHeaderContrastWeakActive","brandContrastActive","brandHeaderContrastCool","brandHeaderContrastInverse","brandDark","brandAccessible","brandBackgroundDark","brandTextLinkActive","colorGray1","colorGray2","brandHeaderIconActive","colorGray3","brandHeaderIcon","brandDisabled","brandTextLink","colorGray4","colorGray5","colorGray6","brandAccessibleActive","colorGray7","brandDarkActive","colorGray8","brandHeaderContrastInverseActive","brandHeaderContrastCoolActive","colorGray9","brandContrast","brandHeaderContrastWeak","brandPrimaryActive","brandBackgroundPrimaryTransparent","brandHeaderContrast","brandPrimaryTransparent","brandHeaderContrastWarmActive","brandPrimaryTransparent40","brandLight","colorGray10","ACCORDION","ACCORDION_PANEL","ALERT","ALERT_CONTAINER","APP_LAUNCHER","APP_LAUNCHER_EXPANDABLE_SECTION","APP_LAUNCHER_SECTION","APP_LAUNCHER_LINK","APP_LAUNCHER_TILE","APP_LAUNCHER_HEADER","AVATAR","BADGE","BRAND_BAND","BREAD_CRUMB","BREADCRUMB","BUILDER_HEADER","BUILDER_HEADER_MISC","BUILDER_HEADER_NAV","BUILDER_HEADER_NAV_DROPDOWN","BUILDER_HEADER_NAV_LINK","BUILDER_HEADER_TOOLBAR","BUTTON","BUTTON_GROUP","BUTTON_STATEFUL","BUTTON_ICON","CARD","CARD_BODY","CARD_EMPTY","CARD_FILTER","CARD_FOOTER","CARD_HEADER","CAROUSEL","CAROUSEL_INDICATORS","CAROUSEL_ITEM","CAROUSEL_NAVIGATORS","CAROUSEL_AUTOPLAY_BUTTON","COLOR_PICKER","COMBOBOX","DATA_TABLE","DATA_TABLE_CELL","DATA_TABLE_COLUMN","DATA_TABLE_HEAD","DATA_TABLE_HEADER_CELL","DATA_TABLE_ROW_ACTIONS","DATA_TABLE_ROW","DATE_PICKER","DEPRECATED_WARNING","DYNAMIC_ICON","DIALOG","FILES","FILES_FILE","FILES_MORE","FILES_FIGURE","FILES_ACTIONS","EXPANDABLE_SECTION","EXPRESSION","EXPRESSION_GROUP","EXPRESSION_CONDITION","EXPRESSION_FORMULA","FILTER","CHECKBOX","FORMS_INLINE_EDIT","INPUT","TEXTAREA","SEARCH","GLOBAL_HEADER","GLOBAL_HEADER_BUTTON","GLOBAL_HEADER_DROPDOWN","GLOBAL_HEADER_FAVORITES","GLOBAL_HEADER_HELP","GLOBAL_HEADER_NOTIFICATIONS","GLOBAL_HEADER_PROFILE","GLOBAL_HEADER_SEARCH","GLOBAL_HEADER_SETUP","GLOBAL_HEADER_TASK","GLOBAL_HEADER_TOOL","GLOBAL_NAVIGATION_BAR","GLOBAL_NAVIGATION_BAR_BUTTON","GLOBAL_NAVIGATION_BAR_DROPDOWN","GLOBAL_NAVIGATION_BAR_LABEL","GLOBAL_NAVIGATION_BAR_LINK","GLOBAL_NAVIGATION_BAR_REGION","GLOBAL_NAVIGATION_BAR_APP_LAUNCHER","GRID","HIGHLIGHTER","ICON","ICON_SETTINGS","ICON_INPUT","ILLUSTRATION","LIST","LIST_ITEM","LIST_ITEM_LABEL","LISTBOX_OF_PILL_OPTIONS","LOCATION_MAP","LOOKUP","MEDIA_OBJECT","MENU_DROPDOWN","MENU_DROPDOWN_TRIGGER","MENU_PICKLIST","MODAL","NOTIFICATION","PANEL","PANEL_FILTER_GROUP","PANEL_FILTER_LIST","PANEL_FILTER_LIST_HEADING","PAGE_HEADER","PAGE_HEADER_CONTROL","PILL","PILL_CONTAINER","POPOVER","POPOVER_EDIT_DIALOG","POPOVER_TOOLTIP","PROGRESS_INDICATOR","PROGRESS_INDICATOR_PROGRESS","PROGRESS_INDICATOR_STEP","PROGRESS_INDICATOR_STEP_VERTICAL","PROGRESS_RING","PROGRESS_BAR","SETUP_ASSISTANT","SETUP_ASSISTANT_STEP","SCOPED_NOTIFICATION","SLIDER","SPINNER","SPLIT_VIEW","SPLIT_VIEW_HEADER","SPLIT_VIEW_LISTBOX","RADIO","RADIO_GROUP","RADIO_BUTTON_GROUP","TAB","TAB_ITEM","TAB_PANEL","TABS","TABS_LIST","TABS_PANEL","TIME_PICKER","TOAST","TOAST_CONTAINER","TREE","TREE_BRANCH","TREE_ITEM","TRIAL_BAR","TRIAL_BAR_DROPDOWN","TRIAL_BAR_BUTTON","VERTICAL_NAVIGATION","VERTICAL_NAVIGATION_ITEM","VISUAL_PICKER","VISUAL_PICKER_LINK","WELCOME_MAT","WELCOME_MAT_TILE","WELCOME_MAT_BADGE","propTypes","className","PropTypes","oneOfType","array","object","string","id","number","children","node","isRequired","Accordion","props","state","currButtonIndex","summaryButtons","generatedId","shortid","generate","prevProps","prevState","focus","setState","e","buttonIndex","findIndex","el","target","key","preventDefault","length","button","btnInArr","find","undefined","push","classNames","React","Children","map","child","cloneElement","refs","summaryButton","addSummaryButton","bind","onClickSummary","onKeyDownSummary","Component","displayName","sunset","sunsetFunction","process","checkProps","checkPropsFunction","urlExists","urlExistsFunction","DIRECTIONS","LTR","RTL","UNSAFE_DirectionSettings","createContext","Svg","paths","Array","item","circles","ellipses","groups","getShapes","data","shapes","g","getGroups","ellipse","getEllipses","circle","getCircles","path","getPaths","viewBox","rest","name","style","getSVG","icons","activity","ad_set","add","adduser","adjust_value","advanced_function","advertising","agent_home","agent_session","aggregation_policy","alert","all","anchor","animal_and_nature","announcement","answer","answered_twice","anywhere_alert","anywhere_chat","apex","apex_plugin","approval","apps","archive","arrow_bottom","arrow_left","arrow_right","arrow_top","arrowdown","arrowup","asset_warranty","assignment","attach","automate","away","back","ban","block_visitor","bold","bookmark","bottom_align","breadcrumbs","broadcast","brush","bucket","bug","builder","bundle_config","bundle_policy","button_choice","calculated_insights","call","campaign","cancel_file_request","cancel_transfer","capacity_plan","capslock","cart","case","cases","center_align","center_align_text","change_owner","change_record_type","chart","chat","check","checkin","checkout","chevrondown","chevronleft","chevronright","chevronup","choice","classic_interface","clear","clock","close","collapse_all","collection","collection_variable","color_swatch","comments","company","component_customization","connected_apps","constant","contact_request","contract","contract_alt","copy","copy_to_clipboard","crossfilter","currency","currency_input","custom_apps","cut","dash","data_mapping","database","datadotcom","date_input","date_time","dayview","delete","deprecate","description","desktop","desktop_and_phone","desktop_console","dialing","diamond","dislike","display_rich_text","display_text","dock_panel","down","download","drag","drag_and_drop","duration_downscale","dynamic_record_choice","edit","edit_form","education","einstein","email","email_open","emoji","end_call","end_chat","end_messaging_session","engage","enter","erect_window","error","event","event_ext","events","expand","expand_all","expand_alt","fallback","favorite","feed","file","filter","filterlist","filter_criteria","filter_criteria_rule","flow","flow_alt","food_and_drink","form","formula","forward","forward_up","freeze_column","frozen","fulfillment_order","full_width_view","global_constant","graph","help","help_center","help_doc_ext","hide","hide_mobile","hierarchy","high_velocity_sales","holiday_operating_hours","home","identity","image","in_app_assistant","inbox","incoming_call","info","info_alt","insert_tag_field","insert_template","inspector_panel","internal_share","italic","jump_to_bottom","jump_to_left","jump_to_right","jump_to_top","justify_text","kanban","key_dates","keyboard_dismiss","keypad","knowledge_base","layers","layout","leave_conference","left","left_align","left_align_text","level_down","level_up","light_bulb","lightning_extension","lightning_inspector","like","link","linked","list","listen","live_message","location","location_permit","lock","locker_service_api_viewer","locker_service_console","log_a_call","logout","loop","lower_flag","macros","magicwand","mark_all_as_read","matrix","meet_content_source","meet_focus_content","meet_focus_equal","meet_focus_presenter","meet_present_panel","merge","merge_field","metrics","middle_align","minimize_window","missed_call","money","moneybag","monthlyview","move","multi_picklist","multi_select_checkbox","muted","new","new_direct_message","new_window","news","note","notebook","notification","number_input","office365","offline","offline_briefcase","offline_cached","omni_channel","open","open_folder","opened_folder","orchestrator","org_chart","outbound_call","outcome","overflow","package","package_org","package_org_beta","page","palette","password","paste","pause","pause_alt","payment_gateway","pdf_ext","people","percent","phone_landscape","phone_portrait","photo","picklist","picklist_choice","picklist_type","pin","pinned","planning_poker","play","podcast_webinar","pop_in","power","preview","price_book_entries","price_books","pricing_workspace","print","priority","privately_shared","product_quantity_rules","product_service_campaign","product_service_campaign_item","product_warranty_term","product_workspace","products","profile","promotions","prompt","prompt_edit","propagation_policy","puzzle","question","question_mark","questions_and_answers","quick_text","quotation_marks","quote","radio_button","rating","reassign","recipe","record","record_create","record_delete","record_lookup","record_update","recurring_exception","recycle_bin_empty","recycle_bin_full","redo","refresh","relate","reminder","remove_formatting","remove_link","replace","reply","reply_all","report_issue","reset_password","resource_absence","resource_capacity","resource_territory","restriction_policy","retail_execution","retweet","ribbon","richtextbulletedlist","richtextindent","richtextnumberedlist","richtextoutdent","right","right_align","right_align_text","rotate","routing_offline","rows","rules","salesforce1","salesforce_page","save","screen","search","section","send","sentiment_negative","sentiment_neutral","serialized_product","serialized_product_transaction","service_territory_policy","settings","setup","setup_assistant_guide","setup_modal","share","share_file","share_mobile","share_post","shield","shift_pattern","shift_pattern_entry","shift_scheduling_operation","shift_ui","shopping_bag","shortcuts","side_list","signpost","skip","skip_back","skip_forward","slider","smiley_and_people","sms","snippet","sobject","sobject_collection","socialshare","sort","sort_policy","spinner","stage","stage_collection","standard_objects","steps","stop","store","strategy","strikethrough","success","summary","summarydetail","survey","swarm_request","swarm_session","switch","symbols","sync","system_and_global_variable","table","table_settings","tablet_landscape","tablet_portrait","tabset","talent_development","target_mode","task","text","text_background_color","text_color","text_template","textarea","textbox","threedots","threedots_vertical","thunder","tile_card_list","toggle","toggle_panel_bottom","toggle_panel_left","toggle_panel_right","toggle_panel_top","top_align","topic","topic2","touch_action","tracker","trail","trailblazer_ext","trailhead","trailhead_alt","trailhead_ext","transparent","travel_and_places","trending","turn_off_notifications","type","type_tool","undelete","undeprecate","underline","undo","unlinked","unlock","unmuted","up","upload","user","user_role","variable","variation_attribute_setup","variation_products","video","voicemail_drop","volume_high","volume_low","volume_off","waits","warning","warranty_term","watchlist","weeklyview","wellness","wifi","work_forecast","work_order_type","world","yubi_key","zoomin","zoomout","add_contact","add_file","add_photo_video","add_relationship","canvas","clone","defer","dial_in","edit_groups","edit_relationship","follow","following","freeze_user","goal","google_news","join_group","lead_convert","leave_group","log_event","manage_perm_sets","more","new_account","new_campaign","new_case","new_child_case","new_contact","new_custom1","new_custom10","new_custom100","new_custom11","new_custom12","new_custom13","new_custom14","new_custom15","new_custom16","new_custom17","new_custom18","new_custom19","new_custom2","new_custom20","new_custom21","new_custom22","new_custom23","new_custom24","new_custom25","new_custom26","new_custom27","new_custom28","new_custom29","new_custom3","new_custom30","new_custom31","new_custom32","new_custom33","new_custom34","new_custom35","new_custom36","new_custom37","new_custom38","new_custom39","new_custom4","new_custom40","new_custom41","new_custom42","new_custom43","new_custom44","new_custom45","new_custom46","new_custom47","new_custom48","new_custom49","new_custom5","new_custom50","new_custom51","new_custom52","new_custom53","new_custom54","new_custom55","new_custom56","new_custom57","new_custom58","new_custom59","new_custom6","new_custom60","new_custom61","new_custom62","new_custom63","new_custom64","new_custom65","new_custom66","new_custom67","new_custom68","new_custom69","new_custom7","new_custom70","new_custom71","new_custom72","new_custom73","new_custom74","new_custom75","new_custom76","new_custom77","new_custom78","new_custom79","new_custom8","new_custom80","new_custom81","new_custom82","new_custom83","new_custom84","new_custom85","new_custom86","new_custom87","new_custom88","new_custom89","new_custom9","new_custom90","new_custom91","new_custom92","new_custom93","new_custom94","new_custom95","new_custom96","new_custom97","new_custom98","new_custom99","new_event","new_group","new_lead","new_note","new_notebook","new_opportunity","new_person_account","new_task","password_unlock","question_post_action","recall","reject","remove","remove_relationship","script","share_link","share_poll","share_thanks","submit_for_approval","update","update_status","user_activation","view_relationship","web_link","custom1","custom10","custom100","custom101","custom102","custom103","custom104","custom105","custom106","custom107","custom108","custom109","custom11","custom110","custom111","custom112","custom113","custom12","custom13","custom14","custom15","custom16","custom17","custom18","custom19","custom2","custom20","custom21","custom22","custom23","custom24","custom25","custom26","custom27","custom28","custom29","custom3","custom30","custom31","custom32","custom33","custom34","custom35","custom36","custom37","custom38","custom39","custom4","custom40","custom41","custom42","custom43","custom44","custom45","custom46","custom47","custom48","custom49","custom5","custom50","custom51","custom52","custom53","custom54","custom55","custom56","custom57","custom58","custom59","custom6","custom60","custom61","custom62","custom63","custom64","custom65","custom66","custom67","custom68","custom69","custom7","custom70","custom71","custom72","custom73","custom74","custom75","custom76","custom77","custom78","custom79","custom8","custom80","custom81","custom82","custom83","custom84","custom85","custom86","custom87","custom88","custom89","custom9","custom90","custom91","custom92","custom93","custom94","custom95","custom96","custom97","custom98","custom99","ai","attachment","audio","box_notes","csv","eps","excel","exe","flash","folder","gdoc","gdocs","gform","gpres","gsheet","html","keynote","library_folder","mp4","overlay","pack","pages","pdf","ppt","psd","quip_doc","quip_sheet","quip_slide","rtf","slide","stypi","txt","unknown","visio","webex","word","xml","zip","account","action_list_component","actions_and_buttons","activation_target","activations","address","answer_best","answer_private","answer_public","app","apps_admin","article","asset_action","asset_action_source","asset_downtime_period","asset_object","asset_relationship","asset_state_period","assigned_resource","avatar","avatar_loading","bot","bot_training","branch_merge","brand","business_hours","buyer_account","buyer_group","calibration","call_coaching","call_history","campaign_members","cancel_checkout","care_request_reviewer","carousel","case_change_status","case_comment","case_email","case_log_a_call","case_milestone","case_transcript","case_wrap_up","catalog","category","channel_program_history","channel_program_levels","channel_program_members","channel_programs","client","cms","coaching","code_playground","contact","contact_list","contract_line_item","custom","custom_component_task","custom_notification","customer_360","customer_lifecycle_analytics","customer_portal_users","customers","dashboard","dashboard_ea","data_integration_hub","data_model","data_streams","dataset","decision","default","delegated_account","device","document","document_reference","drafts","einstein_replies","email_chatter","employee","employee_asset","employee_contact","employee_job","employee_job_position","employee_organization","empty","endorsement","entitlement","entitlement_policy","entitlement_process","entitlement_template","entity","entity_milestone","environment_hub","expense","expense_report","expense_report_entry","feedback","filiter_criteria_rule","first_non_empty","forecasts","generic_loading","goals","group_loading","guidance_center","household","immunization","individual","insights","instore_locations","investment_account","invocable_action","iot_context","iot_orchestrations","javascript_button","job_family","job_position","job_profile","knowledge","lead","lead_insights","lead_list","letterhead","lightning_component","lightning_usage","list_email","live_chat","live_chat_visitor","logging","maintenance_asset","maintenance_plan","maintenance_work_rule","marketing_actions","medication_ingredient","messaging_conversation","messaging_session","messaging_user","observation_component","omni_supervisor","operating_hours","opportunity","opportunity_contact_role","opportunity_splits","order_item","orders","output","partner_fund_allocation","partner_fund_claim","partner_fund_request","partner_marketing_budget","partners","past_chat","performance","person_account","planogram","poll","portal","portal_roles","portal_roles_and_subordinates","post","practitioner_role","pricebook","procedure","procedure_detail","process_exception","product","product_consumed","product_item","product_item_transaction","product_request","product_request_line_item","product_required","product_transfer","proposition","question_best","question_feed","queue","quotes","read_receipts","recent","record_signature_task","recycle_bin","related_list","relationship","reply_text","report","resource_preference","resource_skill","return_order","return_order_line_item","reward","rtc_presence","sales_cadence","sales_cadence_target","sales_channel","sales_path","sales_value","salesforce_cms","scan_card","schedule_objective","scheduling_constraint","scheduling_policy","segments","selling_model","service_appointment","service_appointment_capacity_usage","service_contract","service_crew","service_crew_member","service_report","service_request","service_request_detail","service_resource","service_territory","service_territory_location","service_territory_member","shift","shift_preference","shift_template","shift_type","shipment","skill","skill_entity","skill_requirement","snippets","social","solution","sossession","store_group","story","task2","team_member","template","thanks","thanks_loading","timesheet","timesheet_entry","timeslot","today","travel_mode","unmatched","visit_templates","visits","visualforce_page","voice_call","webcart","work_capacity_limit","work_capacity_usage","work_contract","work_order","work_order_item","work_plan","work_plan_rule","work_plan_template","work_plan_template_entry","work_queue","work_step","work_step_template","work_type","work_type_group","LanguageDirectionHOC","WrappedComponent","componentName","value","getWrappedComponent","UtilityIcon","context","assistiveText","icon","direction","inlineIcons","action","SLDS_ICONS_ACTION","SLDS_ICONS_CUSTOM","doctype","SLDS_ICONS_DOCTYPE","standard","SLDS_ICONS_STANDARD","utility","SLDS_ICONS_UTILITY","inlineData","Object","keys","toLowerCase","modifiedPath","onRequestIconPath","svgAssetName","iconPath","oneOf","defaultProps","contextTypes","func","actionSprite","customSprite","doctypeSprite","standardSprite","utilitySprite","LanguageDirection","ButtonIcon","size","inverse","hint","position","bool","getComponentDocFn","getComponentDocFnEmpty","baseURL","ifOneThenBothRequiredProperty","ifOneThenBothRequiredPropertyFunction","documentDefined","Portal","portalNode","isOpen","renderPortal","unmountPortal","only","element","renderTo","querySelector","body","parentParentNode","getPortalParentNode","createElement","renderTag","setAttribute","appendChild","portalNodeInstance","onMount","ReactDOM","unmountComponentAtNode","parentNode","removeChild","forEach","onUpdate","getChildren","setupPortalNode","portalMount","instance","reactElement","domContainerNode","updateCallback","updatePortal","unstable_renderSubtreeIntoContainer","onOpen","any","onUnmount","EventUtil","trapEvent","stopPropagation","nativeEvent","trap","trapImmediate","stopImmediatePropagation","ENTER","ESCAPE","SPACE","LEFT","UP","RIGHT","DOWN","DELETE","BACKSPACE","keyObjects","keyCode","which","focusable","isTabIndexNotNaN","nodeName","test","disabled","href","tabbable","tabIndex","getAttribute","isTabIndexNaN","isNaN","findTabbableDescendants","slice","querySelectorAll","canUseDOM","window","canUseEventListeners","Boolean","addEventListener","attachEvent","canUseViewport","ancestor","focusLaterElement","handleScopedKeyDown","KEYS","tabbableElements","findTabbableElement","finalTabbable","shiftKey","leavingFinalTabbable","activeElement","ElementFocus","focusAncestor","isPortal","offset","pageYOffset","preventScroll","scrollTo","pageXOffset","hasOrAncestorHasFocus","contains","returnFocusToStoredElement","console","warn","setupScopedFocus","ancestorElement","storeActiveElement","teardownScopedFocus","removeEventListener","mapPropToPopperPlacement","align","placement","indexOf","getNubbinClassName","popperData","flipped","DISTANCE_OFFSET","NUBBIN_SIZE","ROTATED_HEIGHT","Math","sqrt","getNubbinMargins","top","DISTANCE_OFFSET_PX","ROTATED_HEIGHT_PX","halfWidth","offsets","reference","width","halfHeight","height","IconSettings","childContextTypes","Dialog","triggerPopperJS","offsetString","offsetArray","split","vertical","parseInt","horizontal","popper","pointerEvents","propOffsets","getPropOffsetsInPixels","nubbinOffsets","hasNubbin","component","dialogContent","handleClose","componentWillUnmount","onClose","closeOnTabKey","onKeyDown","variant","DOMElementFocus","onRequestTargetElement","eventsEnabled","modifiers","applyStyle","enabled","preventOverflow","hasStaticAlignment","boundariesElement","flip","removeOnDestroy","updateState","order","fn","isEqual","Popper","scheduleUpdate","destroy","handleOpen","createPopper","destroyPopper","role","outline","getPopperStyles","inheritWidthOf","getBoundingClientRect","outerTag","contents","outsideClickIgnoreClass","contentsClassName","onMouseDown","handleKeyDown","onMouseEnter","onMouseLeave","ref","setDialogContent","containerProps","subRenders","absolute","relative","overflowBoundaryElement","truthyIconSettingsContext","reduce","accumulatedContext","wrapped","classNamesWrapper","colorVariant","Icon","componentDoc","containerClassName","containerStyle","title","productTheme","backgroundColor","IconBackgrounds","label","kababCaseName","shape","deprecated","deprecatedFunction","isTriggerTabbable","isTriggerTabbableFunction","tooltipTipLearnMoreIcon","triggerLearnMoreIcon","content","dialogClassName","hasAnchoredNubbin","hoverCloseDelay","hoverOpenDelay","labels","learnMoreAfter","learnMoreBefore","triggerClassName","triggerStyle","theme","Tooltip","clearTimeout","tooltipTimeout","setTimeout","isUnmounting","trigger","triggerRendered","alignment","nubbinContainerStyles","nubbinStyles","transform","triggerDimensions","getId","getIsOpen","noChildrenProvided","count","onClickTrigger","i","onBlur","handleMouseLeave","onFocus","handleMouseEnter","deprecatedWay","handleCancel","getTooltipTarget","getTooltipContent","containerStyles","display","lineHeight","saveTriggerRef","getAnchoredNubbinStyles","getContent","getTooltip","getAriaProps","prev","substr","getDataProps","formPropsSet","Set","getFormProps","has","iconSize","responsive","Button","isIcon","iconVariant","iconMore","iconBorder","iconGlobalHeader","showButtonVariant","plainInverseBtn","plainInverseIcon","moreInverseIcon","borderInverseIcon","onClick","iconCategory","iconClassName","iconPosition","iconOnly","iconName","assistiveTextIcon","ariaProps","dataProps","formProps","getClassName","handleClick","onKeyPress","onKeyUp","onMouseUp","buttonRef","renderLabel","renderIcon","tooltip","renderButton","renderTooltip","requiredIf","expanded","panelContentActions","onTogglePanel","AccordionPanel","closeButton","dismissible","heading","headingLink","onClickHeadingLink","onRequestClose","Alert","isInitialRender","assign","onDismiss","assistiveTextVariant","defaultIcons","clonedIcon","saveButtonRef","AlertContainer","lowPriorityWarning","printWarningFunction","isPrototype","isPrototypeFunction","oneOfComponent","oneOfComponentFunction","assetsPath","appRoot","setAssetsPath","getAssetsPath","String","setAppElement","Modal","getAppElement","checkAppElementIsSet","checkAppElementIsSetFunction","windowDefined","ariaHideApp","dialogLabel","dialogLabelledBy","contentClassName","contentStyle","directional","disableClose","dismissOnClickOutside","footer","header","headerClassName","parentSelector","portalClassName","tagline","toast","isClosing","handleModalClick","closeModal","dismissModalOnClickOutside","setReturnFocus","updateBodyScroll","findDOMNode","clearBodyScroll","borderRadiusValue","borderTopRadius","borderTopLeftRadius","borderTopRightRadius","borderBottomRadius","borderBottomLeftRadius","borderBottomRightRadius","modalStyle","justifyContent","borderRadius","getBorderRadius","contentStyleFromProps","isPrompt","headerComponent","footerComponent","returnFocusTo","dismissModal","hasFooter","footerClass","footerClassNames","headerContent","headerEmpty","closeButtonAssistiveText","customStyles","bottom","border","background","WebkitOverflowScrolling","padding","zIndex","getModal","AppLauncher","isFunction","triggerOnClick","returnVal","focusedOnSearch","input","noTruncate","maxWidth","customModalHeader","renderSearch","modalHeaderButton","modalContentStaticHeight","triggerAssistiveText","openAppLauncher","modalClassName","minHeight","closeAppLauncher","triggerName","toggleSection","nonCollapsible","onToggleOpen","ExpandableSection","contentId","buttonAriaProps","titleNode","toggleOpen","AppLauncherExpandableSection","expandableSectionProps","ulChildrenType","ulContent","liClasses","Highlighter","findString","nodeArr","newElement","AppLauncherLink","docFragment","canvasContext","measureWidth","getContext","createDocumentFragment","memoize","font","measureText","TextTruncate","nextProps","scope","propsToRender","line","prefix","suffix","textTruncateChild","truncateText","wrapper","scopeWidth","getComputedStyle","join","renderText","outputText","currentPos","maxTextLength","truncatedText","splitPos","startPos","displayLine","lastIsEng","lastSpaceIndex","ext","extraWidthDueToPrefixStyle","lastWidth","lastIndexOf","getRenderText","onResize","dragIconText","descriptionHeading","iconBackgroundColor","iconNode","iconText","isOpenTooltip","moreLabel","AppLauncherTile","dragButtonAriaProps","iconStyles","toUpperCase","letterSpacing","imgAlt","imgSrc","initials","Avatar","imgLoadError","trim","nameParts","charAt","handleImageError","iconAssistiveText","buildInitials","renderAvatar","renderBaseAvatar","renderInitialsAvatar","renderIconAvatar","Badge","iconAlignment","color","BrandBand","styleContainer","injectLightningBlueStyles","backgroundSize","ListItemLabel","index","inverted","isSelected","ListItem","Label","labelRenderer","checkmark","getIcon","classnames","iconProps","onSelect","divider","handleMouseDown","itemContents","getLabel","tooltipContent","tooltipTemplate","tooltipTemplateProps","tooltipProps","leftIcon","rightIcon","ListItemLabelRenderer","List","lengthClassName","triggerId","options","option","getListItemId","isSingleSelected","selectedIndex","isMultipleSelected","selectedIndices","itemRenderer","listItem","itemRefs","tooltipMenuItem","__html","Trigger","isInline","menu","triggerRef","deprecatedPropsFromMenuDropdown","openOn","propsFromGrandchildButton","oneOfRequired","oneOfRequiredFunction","KeyBuffer","buffer","timeout","keyboardNavigate","componentContext","currentFocusedIndex","navigableItems","indexes","lastIndex","focusedIndex","ch","fromCharCode","openMenuKeys","navigableIndex","newNavigableIndex","pattern","keyBuffer","consecutive","RegExp","escapeRegExp","currentOpenDropdown","DropdownNubbinPositions","noop","itemIsSelectable","getNavigableItems","items","isArray","getMenu","componentRef","getMenuItem","menuItemId","menuItem","getElementById","DropdownToDialogNubbinMapping","buttonClassName","buttonInverse","buttonVariant","listItemRenderer","menuPosition","menuStyle","nubbinPosition","multiple","MenuDropdown","foundIndex","some","menuId","isHover","listItems","values","currentIndices","getIndexByValue","triggerContainer","handleKeyboardFocus","handleOpenForHover","handleCloseForHover","setFocus","concat","deselectIndex","currentSelected","splice","getValueByIndex","optionIndex","handleKeyboardNavigate","handleSelect","focusMenuItem","scrollToMenuItem","getElementsByTagName","menuHeight","offsetHeight","menuTop","scrollTop","menuItemTop","offsetTop","menuBottom","menuItemBottom","customListProps","saveRefToListItem","getListItemRenderer","saveRefToList","customContent","customContentWithListPropInjection","renderDefaultMenuContent","clonedCustomContent","handleClickCustomContent","positionClassName","positions","menuStylesBase","inheritTargetWidth","renderMenuContent","currentSelectedIndices","getCurrentSelectedIndices","nextState","renderOverlay","CurrentTrigger","DefaultTrigger","CustomTriggerChildProps","renderDialog","handleFocus","saveRefToTriggerContainer","saveRefToTrigger","onClickOutside","overflowDropdownMenu","getBreadcrumbDropdown","overflowDropdownMenuProps","Breadcrumb","crumb","backIcon","helpIcon","onClickBack","onClickHelp","pageType","BuilderHeader","nav","toolbar","misc","BuilderHeaderMisc","BuilderHeaderNav","BuilderHeaderNavDropdown","BuilderHeaderNavLink","actions","onRenderActions","BuilderHeaderToolbar","classNameContainer","ButtonGroup","zeroIndexLength","newChild","cloneProps","active","stateOne","stateTwo","stateThree","ButtonStateful","currentTarget","blur","defaultIconProps","isActive","handleBlur","cssClasses","base","figure","MediaObject","verticalCenter","canTruncate","idSuffixes","headerActions","renderFilter","clonedFilter","CardHeader","headingId","Header","hasFilter","filterId","headerActionsId","CardBody","CardFooter","CardEmpty","Card","bodyId","hasNoHeader","bodyClassName","InputIcon","variants","combobox","hasContainer","isDelayed","isInput","Spinner","spinnerClassName","COUNTER","autoComplete","fixedTextLeft","fixedTextRight","hasSpinner","iconLeft","iconRight","inputRef","isStatic","onChange","onInput","onInvalid","onSubmit","placeholder","minLength","minValue","maxLength","maxValue","readOnly","required","step","defaultValue","InnerInput","inlineEditTrigger","htmlFor","labelText","static","onlyOneOf","onlyOneOfFunction","removeUndefined","obj","newObj","prop","helpers","fieldLevelHelpTooltip","FieldLevelHelpTooltip","objectHelpers","DECREMENT","INCREMENT","decrement","increment","Input","generatedErrorId","Number","getValueAsNumber","performStep","stopStepping","iconPositionProp","deprecatedProps","onIconClick","stepping","valueChanged","decimalPlaces","minOverflow","toFixed","forceUpdate","currentDelay","speedDelay","initialDelay","errorText","setInputRef","hasRenderedLabel","getIconRender","getCounterButtonIcon","fieldLevelHelpButton","getErrorId","handleChange","styleInput","inlineHelpText","Filter","CarouselIndicators","currentIndex","hasFocus","noOfIndicators","isSelectedPanel","indicatorActionClassName","startItemIndex","itemsPerPanel","autoIndicatorText","margin","carouselId","getPanelId","itemId","previousNextCarouselNavigator","inlineStyle","isDisabled","CarouselItem","panelIndex","itemWidth","onRenderItem","isInCurrentPanel","src","imageAssistiveText","buttonLabel","AutoplayButton","isAutoplayOn","autoplayButton","nextPanel","previousPanel","autoplayInterval","hasAutoplay","hasPreviousNextPanelNavigation","isInfinite","Carousel","next","getCurrentPanel","nrOfPanels","setCurrentPanel","changeTranslationAutomatically","indicatorsHaveFocus","panel","getIsAutoplayOn","stopAutoplay","onRequestAutoplayToggle","actionToTake","startAutoplay","stageItem","current","offsetWidth","stageWidth","amount","cb","translateX","onRequestPanelChange","currentPanel","requestedPanel","autoplayId","setInterval","canGoToNext","onNextPanelHandler","ignoreCallbacksAndStateUpdates","clearInterval","setTranslationAmount","keyDownCallbacks","canGoToPrevious","onPreviousPanelHandler","ceil","createRef","setDimensions","mountAutoplayEvent","updateAutoplayEvent","unmountAutoplayEvent","isPreviousBtnDisabled","isNextBtnDisabled","carouselMargins","marginLeft","marginRight","onAutoplayBtnClick","onItemClick","onIndicatorBlur","onIndicatorClickHandler","onIndicatorFocus","checked","defaultChecked","indeterminate","toggleDisabled","toggleEnabled","coverable","onRenderVisualPicker","onRenderVisualPickerSelected","onRenderVisualPickerNotSelected","Checkbox","idArray","oldEventParameterOrder","getAriaDescribedBy","labelId","renderBaseVariant","renderButtonGroupVariant","renderToggleVariant","renderVisualPickerVariant","variantExists","CustomColorForm","describedBy","errorTextWorkingColor","errors","hex","hexLabel","onHexChange","red","redAbbreviated","onRedChange","rgb","green","greenAbbreviated","onGreenChange","blue","blueAbbreviated","onBlueChange","errorId","RadioGroup","generatedName","hasError","getName","RadioButtonGroup","Swatch","innerStyle","backgroundImage","swatchTabTransparentSwatch","Radio","preventDuplicateChangeEvent","radio","deselectable","charCode","COLOR_NAMES","aliceblue","antiquewhite","aqua","aquamarine","azure","beige","bisque","black","blanchedalmond","blueviolet","brown","burlywood","cadetblue","chartreuse","chocolate","coral","cornflowerblue","cornsilk","crimson","cyan","darkblue","darkcyan","darkgoldenrod","darkgray","darkgreen","darkkhaki","darkmagenta","darkolivegreen","darkorange","darkorchid","darkred","darksalmon","darkseagreen","darkslateblue","darkslategray","darkturquoise","darkviolet","deeppink","deepskyblue","dimgray","dodgerblue","firebrick","floralwhite","forestgreen","fuchsia","gainsboro","ghostwhite","gold","goldenrod","gray","greenyellow","honeydew","hotpink","indianred","indigo","ivory","khaki","lavender","lavenderblush","lawngreen","lemonchiffon","lightblue","lightcoral","lightcyan","lightgoldenrodyellow","lightgrey","lightgreen","lightpink","lightsalmon","lightseagreen","lightskyblue","lightslategray","lightsteelblue","lightyellow","lime","limegreen","linen","magenta","maroon","mediumaquamarine","mediumblue","mediumorchid","mediumpurple","mediumseagreen","mediumslateblue","mediumspringgreen","mediumturquoise","mediumvioletred","midnightblue","mintcream","mistyrose","moccasin","navajowhite","navy","oldlace","olive","olivedrab","orange","orangered","orchid","palegoldenrod","palegreen","paleturquoise","palevioletred","papayawhip","peachpuff","peru","pink","plum","powderblue","purple","rebeccapurple","rosybrown","royalblue","saddlebrown","salmon","sandybrown","seagreen","seashell","sienna","silver","skyblue","slateblue","slategray","snow","springgreen","steelblue","tan","teal","thistle","tomato","turquoise","violet","wheat","white","whitesmoke","yellow","yellowgreen","HEX_REGEX","ColorUtils","getNewColor","customHexValidator","oldColor","isValidHex","hsv","hue","saturation","returnColor","getHsvFromHex","getRgbFromHex","getRgbErrors","includes","getHexFromRgb","getHsvFromRgb","getHexFromHsv","getRgbFromHsv","getDeltaColor","limitValue","min","max","toSixDigitHex","floor","entries","keyValue","getHexFromNamedColor","redRatio","greenRatio","blueRatio","delta","hueRatio","satRatio","valRatio","f","p","q","t","round","getHex","toString","result","exec","shortHandHex","match","rangeIndicator","onSaturationValueChange","rect","clientX","clientY","onSaturationNavigate","onValueNavigate","multiplier","selectedStyle","boxShadow","unselectedStyle","HsvColor","isTransparentSelected","onSwatchChange","swatchStyle","isTransparent","transparentSwatchStyle","fallbackWorkingColor","previousColor","workingColor","saturationValueGrid","hueSlider","onHueChange","handleSwatchChange","customTabActiveWorkingColorSwatch","customTabTransparentSwatch","CustomColor","invalidColor","invalidComponent","selectedInnerStyle","SwatchOption","swatchOptionRef","SwatchPicker","swatchColors","nextIndex","prevColor","swatchColorRefs","prevIndex","nextColor","selectNextColor","selectPreviousColor","isSelectedColorInSwatch","addRef","TabsList","Tab","selected","checkFocus","panelId","activeTabClassName","disabledTabClassName","withErrorIcon","TabPanel","tabId","attributes","isTabNode","classList","isTabDisabled","arrayOf","defaultSelectedIndex","Tabs","isTabFromContainer","setSelected","getSelectedIndex","getPrevTab","getNextTab","tabs","flavor","getVariant","getTabsCount","tab","getTab","isInteger","last","shouldContinue","nodeAncestor","parentElement","tabsNode","parentId","toArray","renderTabsList","renderTabPanels","Panel","incompatibleProps","incompatiblePropsFunction","internalHandleClick","eventTarget","KeyboardNavigableDialog","currentOpenPopover","PopoverNubbinPositions","hasNoCloseButton","hasNoNubbin","Popover","dialog","inputRendered","triggerOnClickCallback","keyboardNavigableDialog","targetTarget","toggleOpenFromKeyboard","hasThemedHeader","hasDefinedHeader","headerIcon","headerVariants","ariaLabelledby","themed","classNameBody","borderBottom","textAlign","stepText","classNameFooter","footerClassName","footerStyle","footerWalkthroughActions","handleDialogClose","getTargetElement","setMenuRef","otherChildren","clonedTrigger","hasNoTriggerStyles","setContainerRef","classNameMenu","onRequestOpen","onValidateColor","onValidateWorkingColor","onWorkingColorChange","hideInput","cancelButton","customTab","swatchTab","submitButton","defaultSelectedTab","valueWorking","ColorPicker","setWorkingColor","handleCancelState","handleCancelButtonClick","currentColor","previousWorkingColor","namedColorHex","isValid","colorErrorMessage","handleHexInputChange","handleSwatchSelect","handleColorChange","handleSaturationValueChange","handleNavigate","popoverBody","getDefaultTab","getCustomTab","popoverFooter","handleSubmitButtonClick","handleOnRequestClose","handleSwatchButtonClick","newColor","property","colorProperties","getPopover","getInput","activeOption","activeOptionIndex","classNameMenuSubHeader","inputId","itemVisibleLength","noOptionsFound","onRenderMenuItem","menuRef","resetActiveOption","selection","hasMenuSpinner","optionsAddItem","optionsSearchEntity","tooltipMenuItemDisabled","inputValue","getOptions","localOptionsSearchEntity","localOptionsAddItem","setBold","searchTerm","labelProp","Menu","menuOptions","optionData","MenuItem","disabledProps","tooltipId","cursor","subTitle","checkbox","optionSelectedInMenu","userDefinedTooltipProps","silenceTriggerTabbableWarning","loadingMenuItems","mapKeyEventCallbacks","callbacks","shiftCallbacks","callback","other","bare","removeTitle","onRemove","Pill","root","defaultPrevented","getHref","restProps","handleRef","renderRemoveIcon","eventData","onRequestFocus","onRequestFocusOnNextPill","onRequestFocusOnPreviousPill","onRequestRemove","requestFocus","handleClickRemove","isReactComponent","$$typeof","removePill","selectedListboxLabel","onClickPill","onPillFocus","isBare","isPillContainer","listboxAriaOrientation","listboxRole","containerAriaOrientation","containerRole","renderAtSelectionLength","selectedListboxRef","listboxHasFocus","getAvatar","avatarObject","HTMLElement","iconObject","SelectedListBox","renderIndex","hasTabIndex","onBlurPill","removePillTitle","keyLetterMenuItemSelect","itemLabel","menuItemSelectScroll","container","itemTag","scrollPadding","domItem","popoverLabel","removeSingleSelectedOption","onRequestRemoveSelectedOption","hasInputSpinner","multipleOptionsSelected","placeholderReadOnly","menuMaxWidth","boolean","menuItemVisibleLength","predefinedOptionsOnly","popover","singleInputDisabled","entityCombobox","doneButton","optionDisabledTooltipLabel","Combobox","defaultPopoverProps","popoverProps","skipIndex","newIndex","hasNewIndex","localProps","handleRequestClose","tagName","requestOpenMenu","getIsActiveOption","handleKeyDownDown","handleInputSubmit","handleKeyDownUp","handleKeyDownTab","handleKeyDownOther","openDialog","handleNavigateListboxMenu","menuKeyBuffer","previous","getNewActiveOptionIndex","isLastOptionAndRightIsPressed","activeSelectedOptionIndex","isFirstOptionAndLeftIsPressed","newState","activeSelectedOption","onlyOnePillAndInputExists","isReadOnlyAndTwoPillsExists","lastPillWasRemoved","activeSelectedOptionRef","newSelection","singleSelectAndSelectedWasNotClicked","multiSelectAndSelectedWasNotClicked","isInlineSingleSelectionAndIsNotSelected","userDefinedProps","inputIconTitle","handleInputFocus","handleInputBlur","handleInputChange","getDialog","menuRenderer","renderMenu","handleBlurPill","handlePillFocus","handleRequestFocusSelectedListbox","handleNavigateSelectedListbox","handleRemoveSelectedOption","setSelectedListboxRef","menuVariant","readonly","readonlyItemVisibleLength","clearActiveOption","getCustomPopoverProps","selectedOptionsRenderIsInitialRender","subRenderParameters","multipleOrSingle","renderBase","single","renderInlineMultiple","renderInlineSingle","renderPopover","renderReadOnlyMultiple","renderReadOnlySingle","mainCombobox","excludeScrollbar","limit","inputValueRegExp","searchTermFoundInLabel","searchTermFoundInSubtitle","isSeparator","notAlreadySelected","sel","DataTableCell","childText","isValidElement","fixedLayout","cell","headerId","primaryColumn","DataTableColumn","isDefaultSortDescending","isSorted","sortable","sortDirection","truncate","CellFixed","flexDirection","flexWrap","DataTableHeaderCell","oldSortDirection","sortDirectionFunction","onSort","fixedHeader","labelType","expandedSortDirection","ariaSort","fixedLayoutSubRenders","handleSort","assistiveTextForColumnSort","columnSort","assistiveTextForColumnSortedAscending","columnSortedAscending","assistiveTextForColumnSortedDescending","columnSortedDescending","notSortable","headerCellContent","cellRef","paddingBottom","paddingTop","visibility","alignItems","flex","actionsHeader","selectAllRows","selectRow","DataTableHead","showRowActions","headerRefs","canSelectRows","idSuffix","ariaHidden","render","selectRowGroup","allSelected","indeterminateSelected","onToggleAll","selectHeader","getActionsHeader","getSelectHeader","columns","column","Cell","DataTableRow","onToggle","rowActions","stacked","tableId","handleToggle","cellId","DataTableRowActions","onAction","dropdown","defaultDropdownProps","noHint","dropdownProps","loadingMore","hasMore","loadMoreOffset","DataTable","onRowChange","selectRows","select","onFixedHeaderResize","scrollerRef","documentScrollLeft","documentElement","scrollLeft","columnLeft","wrapperLeft","cellFixed","onLoadMore","scrollHeight","onToggleFixedHeaderListeners","resizeHandler","resizeFixedHeaders","onScrollerScroll","toggleFixedHeaderListeners","numRows","numSelected","numNonHeaderRows","RowActions","columnProps","dataTableProps","dropdownPropOverrides","assistiveTextForActionsHeader","assistiveTextForSelectAllRows","assistiveTextForSelectRow","unborderedRow","unbufferedCell","stackedHorizontal","striped","columnBordered","noRowHover","handleToggleAll","rowId","onRenderSubHeadingRow","classNameRow","handleRowToggle","styles","borderTop","joined","borderLeft","borderRight","containerScrollLeft","DataTableHighlightCell","DateUtil","firstDayOfMonth","date","newDate","Date","setDate","isFirstDayOfMonth","getDate","isLastDayOfMonth","isSameMonth","addDays","d1","d2","getFullYear","getMonth","isSameDay","isCurrentMonth","isToday","getTime","deltaDays","addWeeks","deltaWeeks","nearestWeekDay","weekDayIndex","getDay","isLeapYear","year","getDaysInMonth","month","addMonths","dateOfNewDate","setMonth","onSelectDate","onCalendarBlur","onKeyboardNavigateToPreviousDay","onKeyboardNavigateToNextDay","onKeyboardNavigateToPreviousWeek","onKeyboardNavigateToNextWeek","shiftKeyDownCallbacks","DatepickerCalendarDay","initialDateForCalendarRender","isSelectedDay","selectedDate","selectedDateRef","calendarHasFocus","focusedDate","onRequestInternalFocusDate","todayLabel","instanceOf","DatepickerWeek","days","firstDayOfWeek","dateDisabled","DatepickerCalendar","todayFocus","triggerCallback","prevDate","onChangeMonth","nextDate","firstDayOfWeekOffset","isIsoWeekday","prevWeek","weeks","done","monthIndex","handleKeyboardNavigateToPreviousDay","handleKeyboardNavigateToNextDay","handleKeyboardNavigateToPreviousWeek","handleKeyboardNavigateToNextWeek","handleSelectDate","extraWeeks","setCalendarRenderSeedDate","sunday","weekDayLabels","abbreviatedWeekDayLabels","renderWeeks","onLastFocusableNodeKeyDown","todayRef","DatepickerYearSelector","now","fromYear","relativeYearFrom","toYear","relativeYearTo","opts","selectedYear","selectedValues","selectedValue","setFullYear","getSelectedValueOption","assistiveTextYear","DatepickerMonthNavigation","monthLabels","assistiveTextPreviousMonth","onPreviousMonthKeyDown","previousMonthClicked","previousMonthRef","getMonthLabel","getYearLabel","assistiveTextNextMonth","nextMonthClicked","handleYearSelect","DatepickerCalendarWrapper","onCalendarFocus","canFocusCalendar","modifiedData","isolated","handleInitialDateForCalendarRenderChange","handleFirstFocusableNodeKeyDown","handleCalendarBlur","handleRequestFocusDate","handleLastFocusableNodeKeyDown","nextMonth","openCalendar","previousMonth","formatter","formattedValue","abbreviatedWeekDays","months","weekDays","parser","str","Datepicker","parseDate","abbrWeekDayLabels","isOpenFromIcon","handleCalendarChange","selectedDateCell","getDatePicker","defaultInputProps","assistiveTextOpenCalendar","openDialogFromIcon","topLevelDeprecatedComponentProps","childrenProps","childrenPropInputProps","inputRenderProps","formattedDate","timezoneOffset","getTimezoneOffset","onDateChange","isRequestFromIcon","parsedDate","prototype","strValue","dateString","initDate","inputProps","getInputProps","inputToRender","isPaused","scorePolarity","strengthLevel","trendDirection","DynamicIcon","defaultAssistiveText","getIconChildren","classes","unshift","cancel","EditDialog","onCancel","onSave","verticalAlign","isModified","addCondition","addGroup","onChangeTrigger","onChangeCustomLogicValue","onAddCondition","onAddGroup","focusOnMount","customLogic","takeAction","triggerAll","triggerAlways","triggerAny","triggerCustom","triggerFormula","isRoot","triggerType","customLogicValue","ExpressionGroup","rootNode","Triggers","getTriggers","triggerCombobox","triggerChange","getTriggerSelection","buttons","Expression","deleteIcon","onChangeResource","onChangeOperator","onChangeValue","onDelete","deleteCondition","operator","resource","isSubCondition","resourcesList","resourceSelected","operatorsList","operatorSelected","ExpressionCondition","onChangeTextEditor","onClickCheckSyntax","checkSyntax","textArea","resourceCombobox","functionCombobox","operatorInput","textEditorValue","ExpressionFormula","textEditorRef","handleTextEditorChange","FileFigure","isLoading","loading","FileActions","onClickDownload","hasNoVisibleTitle","moreActionsDropdown","moreActions","crop","onClickImage","externalIcon","File","injectMoreActionsStyles","columnClassName","Files","files","MoreFiles","popoverIsOpen","editFilterHeading","editFilter","assistiveTextEditFilter","assistiveTextEditFilterHeading","removeFilter","assistiveTextRemoveFilter","predicate","isLocked","isNew","isError","handleFilterClick","isPermanent","handleRemove","skipToNav","skipToContent","logoSrc","GlobalHeader","onSkipToContent","onSkipToNav","handleSkipToNav","skipToNavAssistiveText","handleSkipToContent","skipToContentAssistiveText","actionItem","navigation","GlobalHeaderButton","btn","GlobalHeaderDropdownTrigger","globalAction","positioned","GlobalHeaderDropdown","iconVariantOverride","actionDisabled","actionSelected","onToggleActionSelected","GlobalHeaderFavorites","actionAriaProps","toggleActionSelected","triggerButton","GlobalHeaderHelp","newNotificationsAfter","newNotificationsBefore","noNotifications","notificationCount","GlobalHeaderNotifications","notificationsAssistiveText","GlobalHeaderProfile","userName","GlobalHeaderSearch","GlobalHeaderSetup","dropdownChildren","GlobalHeaderTask","auditChildren","primaryRegion","secondaryRegions","tertiaryRegion","region","GlobalNavigationBar","cloud","GlobalNavigationButton","dividerPosition","GlobalNavigationDropdownTrigger","activeBackgroundColor","listItemstyle","hoverBackgroundColor","colors","borderBottomColor","GlobalNavigationBarDropdown","GlobalNavigationBarLabel","GlobalNavigationBarLink","activeDescriptor","regions","renderPrimary","dividerClass","renderSecondary","renderTertiary","Region","Illustration","illustration","messageBody","illustrationSvg","internalIllustration","onEnterEditMode","onLeaveEditMode","InlineEdit","willSave","isEditing","saveEdits","endEditMode","autoFocus","inputNode","triggerEditMode","handleKeyUp","onSearch","Search","clearable","onClear","defaultLocation","locations","onClickLocation","googleAPIKey","LocationMap","encodeURIComponent","DefaultHeader","DefaultFooter","newItemLabel","DefaultSectionDivider","handleItemFocus","listItemLabelRenderer","Item","scrollFocus","iconInverse","labelClassName","cx","itemRef","itemClassName","li","getCustomLabel","boldRegex","emptyMessage","filterWith","focusIndex","getListLength","listLength","itemIndex","itemHeight","listRef","filteredItems","childFilter","nextItem","filterEmptySections","renderItems","sectionDividerRenderer","SectionDivider","sectionDivider","renderHeader","renderContent","renderFooter","defaultFilter","term","normalizeSearchTerm","Lookup","currentFocus","selectedItem","nextFocusIndex","filteredItem","menuComponent","getFilteredItemForIndex","headerRenderer","headerActive","Footer","footerRenderer","numFocusable","getNumFocusableItems","footerActive","qty","prevFocusIndex","selectItemByIndex","focusInput","onUnselect","handleEscape","setFirstIndex","increaseIndex","decreaseIndex","selectItem","handleDeleteSelected","focusOnRender","hasSelection","itemsToModify","getFooter","getHeader","flippable","constrainToScrollParent","describedById","inputRefId","pill","pills","handlePillKeyDown","inputLabel","modifyItems","newProps","modal","formElementControlClasses","onScroll","renderSelectedItem","renderInput","renderInlineMenu","renderSeparateMenu","MenuPicklist","createReactClass","onPillRemove","initValueIndex","getDefaultProps","getInitialState","currentPillLabel","UNSAFE_componentWillMount","closeOnClick","currentSelectedIndex","UNSAFE_componentWillReceiveProps","getClickEventName","isTrigger","maxHeight","overflowX","minWidth","renderTrigger","renderPills","selectedPills","selectedPill","pillLabel","newData","requiredElem","ModalTrigger","cfg","componentIsDeprecated","comp","url","categoryId","VerticalNavigation","categories","selectedId","rootId","getSelectedId","duration","texture","Notification","dismissBtnRef","dismissBtn","renderClose","renderToastContent","renderAlertContent","alertStyles","blankContent","renderFunctionReturnContentsLackDisplayName","renderFunctionReturnContentsLackDisplayNameFunction","Info","Title","DetailBlock","showTooltip","renderFieldTruncation","labelClasses","field","fieldContentRef","fieldContent","isTruncated","scrollWidth","renderContentWithTooltip","details","DetailRow","detail","renderDetails","Controls","controls","isUsingLegacyProp","legacyControls","vettedControls","contentRight","onRenderControls","navRight","Base","iconClasses","RecordHome","nameSwitcherDropdown","ObjectHome","comntentRight","RelatedList","PageHeader","Variant","Control","PanelFilterFooter","addFilterLabel","onClickAdd","onClickRemoveAll","removeAllLabel","PanelFilterHeader","cancelLabel","modified","onRequestCancel","onRequestSave","saveLabel","PanelFilterGroup","errorLabel","assistiveTextCloseFilterPanel","PanelFilterList","clonedChild","PanelFilterListHeading","lockedHeading","listboxLabel","onRequestRemovePill","PillContainer","preserveFocus","resetActiveSelectedOption","handleClickPill","handleRequestFocusPillContainer","handleNavigatePillContainer","handleRequestRemove","progress","complete","radius","thickness","orientation","ProgressBar","getDescription","completedStep","disabledStep","percentage","isCompleted","tooltipIsOpen","tooltipPosition","Step","status","stepButton","errorStep","buttonIcon","Progress","StepVertical","onRenderSetupAssistantAction","setupAssistantEstimatedTime","stepIcon","renderStepContent","completedSteps","disabledSteps","errorSteps","onStepClick","onStepFocus","selectedStep","tooltipIsOpenSteps","defaultSteps","checkSteps","isStepsDefined","isLabelDefined","stepLabelsDefined","every","findStep","itemsArray","arrayItem","JSON","stringify","ProgressIndicator","allSteps","getSteps","currentStep","StepComponent","PROGRESS_RING_SHAPE","fillPercentDecimal","flowDirection","getD","isLong","arcX","arcY","calculateD","fillPercent","cos","PI","sin","ProgressRingShape","progressStyles","THEME_OPTIONS","freeze","ACTIVE","WARNING","EXPIRED","COMPLETE","THEME_CLASSES","hasIcon","ProgressRing","themeClass","percentDecimal","ScopedNotification","hasChildrenWithoutDisplayNameOf","hasChildrenWithoutDisplayNameOfFunction","isCard","onStepToggleIsOpen","progressBar","SetupAssistant","onToggleIsOpen","stepNumber","expandStep","estimatedTime","isExpandable","onRenderAction","onRenderContent","onRenderFigure","toggleIsOpen","progressRingTheme","renderMediaContent","renderSummary","Slider","handleInput","DISPLAY_NAME","TOGGLE_BUTTON_WIDTH","propsTypes","toggleButtonOpen","toggleButtonClose","ariaControls","SplitViewToggleButton","toggleAssistiveText","master","masterWidth","SplitView","getMasterViewId","SplitViewHeader","topRightText","bottomLeftText","bottomRightText","SplitViewListItemContent","unreadItem","isFocused","isUnread","listItemRef","listItemWithContent","ListItemContent","ListItemWithContent","unread","SORT_OPTIONS","sortedBy","descending","ascending","SplitViewListbox","listItemComponents","currentSelectedItem","currentFocusedListItem","focusFirstItem","ctrlKey","eventUtil","deselectAllListItems","selectAllListItems","moveToPreviousItem","moveToNextItem","moveToIndex","previousFocusIndex","focusItem","firstSelectedItem","setDataOnly","selectedItems","metaKey","begin","end","addToSelection","selectListItem","headerWrapper","addListItemComponent","isListItemFocused","meta","handleOnSelect","Textarea","textareaRef","wrap","assistiveTextLabel","TimepickerDropdownTrigger","baseDate","setHours","setMinutes","setSeconds","setMilliseconds","curDate","formatted","getMinutes","stepInMinutes","Timepicker","isDate","val","currentTime","nextTime","toLocaleTimeString","navigator","language","hour","minute","timeStr","dateStr","toLocaleString","day","Toast","saveToastRef","ToastContainer","fromFocus","treeIndex","findNextNode","flattenedNodes","nodes","flattenedNode","findPreviousNode","focusedNodeIndex","clearSelectedNodes","handleKeyDownLeft","parent","onExpand","handleKeyDownEnter","evt","treeHasFocus","getTabIndex","initialFocus","selectedNodeIndexes","treeId","level","onNodeBlur","htmlId","initalClassName","initialStyle","handleScroll","clientHeight","renderInitialNode","handleExpand","handleKeyDownRight","getNodes","RenderBranch","isExpanded","loader","paddingLeft","marginTop","marginBottom","Branch","branch","RenderInitialBranch","initial","listClassName","onExpandClick","listStyle","flattenTree","firstLevel","curNode","Tree","selectedNode","headingText","handleNodeBlur","timeLeft","timeLeftUnit","timeLeftUnitAfter","TrialBar","TrialBarButton","TrialBarDropdown","links","VisualPicker","VisualPickerLink","unitsCompletedAfter","onRenderInfoActions","infoBadge","doNotShowAgainCheckbox","WelcomeMat","totalSteps","getCount","c","isComplete","splash","completed","onCompleteRenderActions","InfoBadge","getCompletedText","completedIcon","Tile","addSubheadings","subheadings","filteredOptions","subheadingsCopy","sortedOptions","noSubHeaderType","subH","log","eventName","customLog"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,O;QCVA;QACA;;QAEA;QACA;;QAEA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;;QAEA;QACA;;QAEA;QACA;;QAEA;QACA;QACA;;;QAGA;QACA;;QAEA;QACA;;QAEA;QACA;QACA;QACA,0CAA0C,gCAAgC;QAC1E;QACA;;QAEA;QACA;QACA;QACA,wDAAwD,kBAAkB;QAC1E;QACA,iDAAiD,cAAc;QAC/D;;QAEA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA,yCAAyC,iCAAiC;QAC1E,gHAAgH,mBAAmB,EAAE;QACrI;QACA;;QAEA;QACA;QACA;QACA,2BAA2B,0BAA0B,EAAE;QACvD,iCAAiC,eAAe;QAChD;QACA;QACA;;QAEA;QACA,sDAAsD,+DAA+D;;QAErH;QACA;;;QAGA;QACA;;;;;;;AClFA;AACA;AACA;AACA;AACA;AACA;;AAEA,IAAI,KAAqC,EAAE,qCAO1C;AACD;AACA;AACA,mBAAmB,mBAAO,CAAC,EAA4B;AACvD;;;;;;;AClBA,gD;;;;;;ACAA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,gBAAgB;;AAEhB;AACA;;AAEA,iBAAiB,sBAAsB;AACvC;AACA;;AAEA;;AAEA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,KAAK,KAA6B;AAClC;AACA;AACA,EAAE,UAAU,IAA4E;AACxF;AACA,EAAE,iCAAqB,EAAE,mCAAE;AAC3B;AACA,GAAG;AAAA,oGAAC;AACJ,EAAE,MAAM,EAEN;AACF,CAAC;;;;;;;;ACnDY;AACb,iBAAiB,mBAAO,CAAC,EAAa;;;;;;;ACDtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB,WAAW,EAAE;AACb,WAAW,MAAM;AACjB,aAAa,EAAE;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,SAAS;AACpB,aAAa,MAAM;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB,WAAW,SAAS;AACpB,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,iDAAiD,eAAe;;AAEhE;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,WAAW,QAAQ;AACnB,aAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,EAAE;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB,WAAW,OAAO;AAClB,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,MAAM;AACjB,WAAW,OAAO,WAAW;AAC7B,WAAW,SAAS;AACpB,aAAa,OAAO;AACpB;AACA;AACA,wBAAwB;;AAExB;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,WAAW,EAAE;AACb,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA,iBAAiB;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA;AACA,6BAA6B,kBAAkB,EAAE;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA,oBAAoB;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,UAAU;AACrB,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,SAAS;AACtB,UAAU;AACV;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AC5nBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,OAAO;AACpB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,OAAO;AACpB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;AC1JA,gD;;;;;;ACAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,oCAAoC;;AAEpC;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA,kBAAkB,KAA0B;;AAE5C;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH,CAAC;;AAED;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,MAAM;AACjB,WAAW,SAAS;AACpB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,MAAM;AACjB,WAAW,SAAS;AACpB,WAAW,OAAO;AAClB,WAAW,QAAQ;AACnB,aAAa,OAAO;AACpB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,SAAS;AACpB,aAAa,MAAM;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,aAAa,EAAE;AACf;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,MAAM;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB,WAAW,SAAS;AACpB,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,MAAM;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,MAAM;AACjB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,EAAE;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,EAAE;AACb,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,MAAM;AACjB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,EAAE;AACf;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,EAAE;AACb,aAAa,OAAO;AACpB;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,MAAM;AACjB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,EAAE;AACf;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,EAAE;AACb,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,MAAM;AACjB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,OAAO;AACpB;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,MAAM;AACjB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,EAAE;AACf;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,EAAE;AACb,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,WAAW,QAAQ;AACnB,aAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,MAAM;AACjB,WAAW,EAAE;AACb,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,aAAa;AACxB,aAAa,EAAE;AACf;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,OAAO;AACpB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,aAAa;AACxB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,WAAW,EAAE;AACb,WAAW,SAAS;AACpB,WAAW,QAAQ;AACnB;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,SAAS;AACpB,WAAW,SAAS;AACpB,WAAW,OAAO;AAClB;AACA,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,MAAM;AACjB,WAAW,SAAS;AACpB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,EAAE;AACb,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,aAAa;AACxB,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,MAAM;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,MAAM;AACjB,WAAW,MAAM;AACjB,WAAW,SAAS;AACpB,WAAW,SAAS;AACpB,WAAW,OAAO;AAClB;AACA,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,SAAS;AACpB,WAAW,SAAS;AACpB,WAAW,OAAO;AAClB;AACA,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,SAAS;AACpB,WAAW,SAAS;AACpB,WAAW,OAAO;AAClB;AACA,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,aAAa,EAAE;AACf;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,MAAM;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,aAAa,EAAE;AACf;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,OAAO;AACpB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,aAAa;AACxB,WAAW,SAAS;AACpB,aAAa,QAAQ;AACrB;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,EAAE;AACb,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,MAAM;AACnB;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,cAAc;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,MAAM;AACjB,WAAW,SAAS;AACpB;AACA,WAAW,OAAO;AAClB,aAAa,OAAO;AACpB;AACA;AACA;AACA,MAAM,qCAAqC;AAC3C,MAAM,qCAAqC;AAC3C,MAAM;AACN;AACA;AACA,mCAAmC,2BAA2B,EAAE;AAChE;AACA;AACA;AACA,uBAAuB,kCAAkC;AACzD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB,WAAW,SAAS;AACpB,aAAa,SAAS;AACtB;AACA;AACA,iBAAiB;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA,iBAAiB;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA;AACA,6BAA6B,kBAAkB,EAAE;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA,oBAAoB;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,aAAa;AACxB,WAAW,EAAE;AACb,aAAa,EAAE;AACf;AACA;AACA,iBAAiB,QAAQ,OAAO,SAAS,EAAE;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,aAAa;AACxB,aAAa,QAAQ;AACrB;AACA;AACA,0BAA0B,gBAAgB,SAAS,GAAG;AACtD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,EAAE;AACf;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,aAAa;AACxB,aAAa,SAAS;AACtB;AACA;AACA;AACA,MAAM,OAAO,SAAS,EAAE;AACxB,MAAM,OAAO,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;ACz1EA;AACA;AACA;AACA;AACA;AACA;;AAEa;;AAEb;AACA;AACA;AACA;AACA;AACA;;AAEA,cAAc,YAAoB;;AAElC;;AAEA;AACA;AACA;AACA;AACA,qBAAqB,WAAW;AAChC;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA,qBAAqB,WAAW;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AC7DA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,oCAAoC;;AAEpC;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA,kBAAkB,KAA0B;;AAE5C;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH,CAAC;;AAED;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,MAAM;AACjB,WAAW,SAAS;AACpB,aAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,MAAM;AACjB,WAAW,MAAM;AACjB,aAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,MAAM;AACjB,WAAW,SAAS;AACpB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,SAAS;AACpB,aAAa,MAAM;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,aAAa,EAAE;AACf;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,MAAM;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB,WAAW,SAAS;AACpB,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,MAAM;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,MAAM;AACjB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,EAAE;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,EAAE;AACb,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,MAAM;AACjB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,EAAE;AACf;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,EAAE;AACb,aAAa,OAAO;AACpB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,MAAM;AACjB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,EAAE;AACf;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,EAAE;AACb,aAAa,OAAO;AACpB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,MAAM;AACjB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,OAAO;AACpB;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,MAAM;AACjB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,EAAE;AACf;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,EAAE;AACb,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,WAAW,QAAQ;AACnB,aAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,MAAM;AACjB,WAAW,EAAE;AACb,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,SAAS;AACpB,WAAW,SAAS;AACpB,aAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,WAAW,EAAE;AACb,WAAW,QAAQ;AACnB;AACA;AACA,WAAW,SAAS;AACpB,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,SAAS;AACpB,WAAW,SAAS;AACpB,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,MAAM;AACjB,WAAW,MAAM;AACjB,WAAW,OAAO;AAClB,WAAW,SAAS;AACpB,WAAW,SAAS;AACpB,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,SAAS;AACpB,WAAW,SAAS;AACpB,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,SAAS;AACpB,WAAW,SAAS;AACpB,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,MAAM;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,aAAa,EAAE;AACf;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,aAAa,EAAE;AACf;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,OAAO;AACpB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,OAAO;AACpB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,OAAO;AACpB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA,iBAAiB;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA;AACA,6BAA6B,kBAAkB,EAAE;AACjD;AACA;AACA;AACA;AACA;AACA,8CAA8C,kBAAkB,EAAE;AAClE;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA,iBAAiB;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA,oBAAoB;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;ACvzDA;;AAEA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;;AAEA;AACA;AACA,4CAA4C;;AAE5C;;;;;;;ACnBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,oCAAoC;AACpC;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA,oBAAoB;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,8BAA8B,KAAK;AACnC;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;ACrKA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,oCAAoC;;AAEpC;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA,kBAAkB,KAA0B;;AAE5C;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH,CAAC;;AAED;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,MAAM;AACjB,WAAW,SAAS;AACpB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,MAAM;AACjB,WAAW,SAAS;AACpB,WAAW,OAAO;AAClB,WAAW,QAAQ;AACnB,aAAa,OAAO;AACpB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,SAAS;AACpB,aAAa,MAAM;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,aAAa,EAAE;AACf;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,MAAM;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB,WAAW,SAAS;AACpB,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,MAAM;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,MAAM;AACjB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,EAAE;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,EAAE;AACb,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,MAAM;AACjB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,EAAE;AACf;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,EAAE;AACb,aAAa,OAAO;AACpB;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,MAAM;AACjB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,EAAE;AACf;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,EAAE;AACb,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,MAAM;AACjB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,OAAO;AACpB;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,MAAM;AACjB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,EAAE;AACf;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,EAAE;AACb,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,WAAW,QAAQ;AACnB,aAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,MAAM;AACjB,WAAW,EAAE;AACb,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,aAAa;AACxB,aAAa,EAAE;AACf;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,OAAO;AACpB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,aAAa;AACxB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,WAAW,EAAE;AACb,WAAW,SAAS;AACpB,WAAW,QAAQ;AACnB;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,SAAS;AACpB,WAAW,SAAS;AACpB,WAAW,OAAO;AAClB;AACA,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,MAAM;AACjB,WAAW,SAAS;AACpB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,EAAE;AACb,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,aAAa;AACxB,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,MAAM;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC,+CAA+C;AAChF;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,MAAM;AACjB,WAAW,MAAM;AACjB,WAAW,SAAS;AACpB,WAAW,SAAS;AACpB,WAAW,OAAO;AAClB;AACA,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,SAAS;AACpB,WAAW,SAAS;AACpB,WAAW,OAAO;AAClB;AACA,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,SAAS;AACpB,WAAW,SAAS;AACpB,WAAW,OAAO;AAClB;AACA,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,aAAa,EAAE;AACf;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,MAAM;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,aAAa,EAAE;AACf;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,OAAO;AACpB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,aAAa;AACxB,WAAW,SAAS;AACpB,aAAa,QAAQ;AACrB;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,EAAE;AACb,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,MAAM;AACnB;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,cAAc;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,MAAM;AACjB,WAAW,SAAS;AACpB;AACA,WAAW,OAAO;AAClB,aAAa,OAAO;AACpB;AACA;AACA;AACA,MAAM,qCAAqC;AAC3C,MAAM,qCAAqC;AAC3C,MAAM;AACN;AACA;AACA,mCAAmC,2BAA2B,EAAE;AAChE;AACA;AACA;AACA,uBAAuB,kCAAkC;AACzD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,aAAa;AACxB,WAAW,SAAS;AACpB;AACA,WAAW,OAAO;AAClB,aAAa,EAAE;AACf;AACA;AACA;AACA,MAAM,+CAA+C;AACrD,MAAM,gDAAgD;AACtD,MAAM;AACN;AACA;AACA,8BAA8B,mBAAmB,EAAE;AACnD;AACA;AACA;AACA,kBAAkB,2BAA2B;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB,WAAW,SAAS;AACpB,aAAa,SAAS;AACtB;AACA;AACA,iBAAiB;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA,iBAAiB;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA;AACA,6BAA6B,kBAAkB,EAAE;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA,oBAAoB;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,aAAa;AACxB,WAAW,EAAE;AACb,aAAa,EAAE;AACf;AACA;AACA,iBAAiB,QAAQ,OAAO,SAAS,EAAE;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,aAAa;AACxB,aAAa,QAAQ;AACrB;AACA;AACA,0BAA0B,gBAAgB,SAAS,GAAG;AACtD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,EAAE;AACf;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,aAAa;AACxB,aAAa,SAAS;AACtB;AACA;AACA;AACA,MAAM,OAAO,SAAS,EAAE;AACxB,MAAM,OAAO,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;;;ACp5EAA,MAAM,CAACC,OAAP,GAAiB;AAChB;AACAC,0BAAwB,EAAE,oBAFV;AAGhB;AACAC,2BAAyB,EAAE,kBAJX;AAKhB;AACAC,6BAA2B,EAAE,oBANb;AAOhB;AACAC,gCAA8B,EAAE,oBARhB;AAShB;AACAC,wCAAsC,EAAE,iBAVxB;AAWhB;AACAC,uCAAqC,EAAE,iBAZvB;AAahBC,sBAAoB,EAAE,oBAbN;AAchB;AACAC,yBAAuB,EAAE,oBAfT;AAgBhBC,wBAAsB,EAAE,oBAhBR;AAiBhB;AACAC,0BAAwB,EAAE,kBAlBV;AAmBhB;AACAC,qBAAmB,EAAE,oBApBL;AAqBhB;AACAC,8BAA4B,EAAE,uBAtBd;AAuBhB;AACAC,8BAA4B,EAAE,oBAxBd;AAyBhB;AACAC,8CAA4C,EAAE,wBA1B9B;AA2BhB;AACAC,kCAAgC,EAAE,kBA5BlB;AA6BhB;AACAC,6BAA2B,EAAE,iBA9Bb;AA+BhBC,4BAA0B,EAAE,oBA/BZ;AAgChB;AACAC,2BAAyB,EAAE,iBAjCX;AAkChBC,+BAA6B,EAAE,4CAlCf;AAmChB;AACAC,8BAA4B,EAAE,oBApCd;AAqChB;AACAC,uBAAqB,EAAE,oBAtCP;AAuChB;AACAC,4BAA0B,EAAE,oBAxCZ;AAyChBC,mCAAiC,EAAE,gBAzCnB;AA0ChB;AACAC,4BAA0B,EAAE,iBA3CZ;AA4ChB;AACAC,yBAAuB,EAAE,oBA7CT;AA8ChB;AACAC,wBAAsB,EAAE,oBA/CR;AAgDhB;AACAC,qBAAmB,EAAE,oBAjDL;AAkDhB;AACAC,wBAAsB,EAAE,mBAnDR;AAoDhB;AACAC,mCAAiC,EAAE,iBArDnB;AAsDhBC,4BAA0B,EAAE,4CAtDZ;AAuDhB;AACAC,gCAA8B,EAAE,oBAxDhB;AAyDhBC,0BAAwB,EAAE,oBAzDV;AA0DhB;AACAC,gCAA8B,EAAE,mBA3DhB;AA4DhB;AACAC,uBAAqB,EAAE,oBA7DP;AA8DhB;AACAC,uBAAqB,EAAE,oBA/DP;AAgEhBC,4CAA0C,EAAE,kBAhE5B;AAiEhB;AACAC,iCAA+B,EAAE,kBAlEjB;AAmEhBC,8BAA4B,EAAE,oBAnEd;AAoEhB;AACAC,iBAAe,EAAE,oBArED;AAsEhB;AACAC,gBAAc,EAAE,kBAvEA;AAwEhB;AACAC,8BAA4B,EAAE,mBAzEd;AA0EhB;AACAC,yBAAuB,EAAE,2BA3ET;AA4EhB;AACAC,YAAU,EAAE,mBA7EI;AA8EhB;AACAC,8BAA4B,EAAE,oBA/Ed;AAgFhB;AACAC,2BAAyB,EAAE,oBAjFX;AAkFhB;AACAC,kCAAgC,EAAE,qBAnFlB;AAoFhB;AACAC,4BAA0B,EAAE,kBArFZ;AAsFhB;AACAC,sCAAoC,EAAE,mBAvFtB;AAwFhB;AACAC,8BAA4B,EAAE,oBAzFd;AA0FhBC,wBAAsB,EAAE,oBA1FR;AA2FhB;AACAC,wBAAsB,EAAE,mBA5FR;AA6FhB;AACAC,sCAAoC,EAAE,oBA9FtB;AA+FhB;AACAC,qBAAmB,EAAE,oBAhGL;AAiGhB;AACAC,2BAAyB,EAAE,oBAlGX;AAmGhBC,kCAAgC,EAAE,iBAnGlB;AAoGhB;AACAC,wBAAsB,EAAE,iBArGR;AAsGhBC,iCAA+B,EAAE,oBAtGjB;AAuGhB;AACAC,6BAA2B,EAAE,oBAxGb;AAyGhBC,mCAAiC,EAAE,iBAzGnB;AA0GhB;AACAC,4BAA0B,EAAE,oBA3GZ;AA4GhBC,sCAAoC,EAAE,kBA5GtB;AA6GhB;AACAC,mCAAiC,EAAE,oBA9GnB;AA+GhBC,4BAA0B,EAAE,oBA/GZ;AAgHhB;AACAC,2BAAyB,EAAE,oBAjHX;AAkHhB;AACAC,0BAAwB,EAAE,oBAnHV;AAoHhB;AACAC,+BAA6B,EAAE,oBArHf;AAsHhB;AACAC,sBAAoB,EAAE,oBAvHN;AAwHhBC,kCAAgC,EAAE,iBAxHlB;AAyHhB;AACAC,6BAA2B,EAAE,kBA1Hb;AA2HhB;AACAC,4CAA0C,EAAE,wBA5H5B;AA6HhB;AACAC,yBAAuB,EAAE,mBA9HT;AA+HhB;AACAC,sBAAoB,EAAE,kBAhIN;AAiIhBC,wBAAsB,EAAE,oBAjIR;AAkIhB;AACAC,wBAAsB,EAAE,oBAnIR;AAoIhB;AACAC,oBAAkB,EAAE,oBArIJ;AAsIhB;AACAC,qBAAmB,EAAE,oBAvIL;AAwIhBC,6BAA2B,EAAE,kBAxIb;AAyIhB;AACAC,4BAA0B,EAAE,oBA1IZ;AA2IhB;AACAC,sBAAoB,EAAE,oBA5IN;AA6IhB;AACAC,6BAA2B,EAAE,iBA9Ib;AA+IhB;AACAC,6BAA2B,EAAE,oBAhJb;AAiJhB;AACAC,kBAAgB,EAAE,iBAlJF;AAmJhB;AACAC,0BAAwB,EAAE,oBApJV;AAqJhB;AACAC,0BAAwB,EAAE,oBAtJV;AAuJhB;AACAC,sBAAoB,EAAE,oBAxJN;AAyJhB;AACAC,sBAAoB,EAAE,oBA1JN;AA2JhB;AACAC,kCAAgC,EAAE,gBA5JlB;AA6JhB;AACAC,kCAAgC,EAAE,iBA9JlB;AA+JhB;AACAC,wBAAsB,EAAE,oBAhKR;AAiKhB;AACAC,4BAA0B,EAAE,qBAlKZ;AAmKhB;AACAC,iCAA+B,EAAE,mBApKjB;AAqKhB;AACAC,oCAAkC,EAAE,iBAtKpB;AAuKhBC,8BAA4B,EAAE,oBAvKd;AAwKhB;AACAC,2BAAyB,EAAE,kBAzKX;AA0KhB;AACAC,iCAA+B,EAAE,gBA3KjB;AA4KhB;AACAC,wBAAsB,EAAE,gBA7KR;AA8KhB;AACAC,6BAA2B,EAAE,kBA/Kb;AAgLhBC,uCAAqC,EAAE,oBAhLvB;AAiLhB;AACAC,4BAA0B,EAAE,oBAlLZ;AAmLhB;AACAC,0BAAwB,EAAE,oBApLV;AAqLhB;AACAC,uCAAqC,EAAE,iBAtLvB;AAuLhB;AACAC,qCAAmC,EAAE,oBAxLrB;AAyLhB;AACAC,+BAA6B,EAAE,oBA1Lf;AA2LhB;AACAC,2BAAyB,EAAE,oBA5LX;AA6LhB;AACAC,iCAA+B,EAAE,oBA9LjB;AA+LhB;AACAC,0BAAwB,EAAE,oBAhMV;AAiMhBC,0BAAwB,EAAE,oBAjMV;AAkMhBC,yCAAuC,EAAE,kBAlMzB;AAmMhBC,uBAAqB,EACpB,8DApMe;AAqMhBC,wBAAsB,EACrB,6DAtMe;AAuMhBC,yBAAuB,EACtB,qEAxMe;AAyMhB;AACAC,2CAAyC,EAAE,oBA1M3B;AA2MhB;AACAC,kCAAgC,EAAE,2BA5MlB;AA6MhB;AACAC,iCAA+B,EAAE,2BA9MjB;AA+MhB;AACAC,sBAAoB,EAAE,oBAhNN;AAiNhB;AACAC,4BAA0B,EAAE,0BAlNZ;AAmNhB;AACAC,sBAAoB,EAAE,kBApNN;AAqNhB;AACAC,iBAAe,EAAE,oBAtND;AAuNhB;AACAC,oBAAkB,EAAE,mBAxNJ;AAyNhB;AACAC,sBAAoB,EAAE,oBA1NN;AA2NhB;AACAC,qBAAmB,EAAE,oBA5NL;AA6NhB;AACAC,6BAA2B,EAAE,kBA9Nb;AA+NhB;AACAC,aAAW,EAAE,oBAhOG;AAiOhB;AACAC,0BAAwB,EAAE,oBAlOV;AAmOhB;AACAC,wBAAsB,EAAE,iBApOR;AAqOhB;AACAC,qBAAmB,EAAE,oBAtOL;AAuOhB;AACAC,wBAAsB,EAAE,iBAxOR;AAyOhB;AACAC,gCAA8B,EAAE,kBA1OhB;AA2OhBC,uBAAqB,EAAE,oBA3OP;AA4OhB;AACAC,wBAAsB,EAAE,kBA7OR;AA8OhBC,oBAAkB,EAAE,oBA9OJ;AA+OhB;AACAC,0BAAwB,EAAE,oBAhPV;AAiPhB;AACAC,0BAAwB,EAAE,oBAlPV;AAmPhB;AACAC,oBAAkB,EAAE,iBApPJ;AAqPhBC,8BAA4B,EAAE,iBArPd;AAsPhB;AACAC,oBAAkB,EAAE,mBAvPJ;AAwPhB;AACAC,sBAAoB,EAAE,oBAzPN;AA0PhB;AACAC,kBAAgB,EAAE,mBA3PF;AA4PhBC,8BAA4B,EAAE,iBA5Pd;AA6PhB;AACAC,4BAA0B,EAAE,oBA9PZ;AA+PhB;AACAC,wBAAsB,EAAE,kBAhQR;AAiQhB;AACAC,kBAAgB,EAAE,kBAlQF;AAmQhB;AACAC,2BAAyB,EAAE,mBApQX;AAqQhBC,+BAA6B,EAAE,iBArQf;AAsQhB;AACAC,wBAAsB,EAAE,mBAvQR;AAwQhB;AACAC,kBAAgB,EAAE,oBAzQF;AA0QhBC,yBAAuB,EAAE,kBA1QT;AA2QhB;AACAC,0BAAwB,EAAE,oBA5QV;AA6QhB;AACAC,6BAA2B,EAAE,mBA9Qb;AA+QhB;AACAC,qBAAmB,EAAE,mBAhRL;AAiRhB;AACAC,sBAAoB,EAAE,kBAlRN;AAmRhB;AACAC,wCAAsC,EAAE,iBApRxB;AAqRhBC,iBAAe,EAAE,oBArRD;AAsRhB;AACAC,wBAAsB,EAAE,kBAvRR;AAwRhBC,0BAAwB,EAAE,oBAxRV;AAyRhB;AACAC,yBAAuB,EAAE,oBA1RT;AA2RhB;AACAC,mCAAiC,EAAE,mBA5RnB;AA6RhB;AACAC,uBAAqB,EAAE,kBA9RP;AA+RhB;AACAC,oBAAkB,EAAE,gBAhSJ;AAiShB;AACAC,yBAAuB,EAAE,oBAlST;AAmShB;AACAC,8BAA4B,EAAE,gBApSd;AAqShB;AACAC,qBAAmB,EAAE,oBAtSL;AAuShBC,6BAA2B,EAAE,oBAvSb;AAwShB;AACAC,kBAAgB,EAAE,kBAzSF;AA0ShB;AACAC,wBAAsB,EAAE,kBA3SR;AA4ShBC,uBAAqB,EAAE,oBA5SP;AA6ShB;AACAC,6BAA2B,EAAE,kBA9Sb;AA+ShBC,wBAAsB,EAAE,SA/SR;AAgThBC,mBAAiB,EAAE,qBAhTH;AAiThB;AACAC,kBAAgB,EAAE,gCAlTF;AAmThBC,wBAAsB,EAAE,+BAnTR;AAoThB;AACAC,mBAAiB,EAAE,iBArTH;AAsThB;AACAC,cAAY,EAAE,+BAvTE;AAwThB;AACAC,mBAAiB,EAAE,8BAzTH;AA0ThB;AACAC,mBAAiB,EAAE,4BA3TH;AA4ThB;AACAC,4BAA0B,EAAE,oBA7TZ;AA8ThB;AACAC,YAAU,EAAE,gCA/TI;AAgUhB;AACAC,gBAAc,EAAE,iCAjUA;AAkUhB;AACAC,cAAY,EAAE,kCAnUE;AAoUhB;AACAC,kBAAgB,EAAE,mCArUF;AAsUhB;AACAC,YAAU,EAAE,iCAvUI;AAwUhB;AACAC,gBAAc,EAAE,iCAzUA;AA0UhB;AACAC,kBAAgB,EAAE,2BA3UF;AA4UhBC,yBAAuB,EAAE,+BA5UT;AA6UhB;AACAC,0BAAwB,EAAE,iBA9UV;AA+UhB;AACAC,aAAW,EAAE,+BAhVG;AAiVhBC,mBAAiB,EAAE,QAjVH;AAkVhBC,qBAAmB,EAAE,UAlVL;AAmVhBC,uBAAqB,EAAE,KAnVP;AAoVhB;AACAC,gBAAc,EAAE,KArVA;AAsVhB;AACAC,gBAAc,EAAE,KAvVA;AAwVhBC,2BAAyB,EAAE,KAxVX;AAyVhB;AACAC,wBAAsB,EAAE,SA1VR;AA2VhB;AACAC,yBAAuB,EAAE,MA5VT;AA6VhB;AACAC,iBAAe,EAAE,SA9VD;AA+VhB;AACAC,wBAAsB,EAAE,sBAhWR;AAiWhB;AACAC,kBAAgB,EAAE,gBAlWF;AAmWhB;AACAC,mBAAiB,EAAE,SApWH;AAqWhB;AACAC,mBAAiB,EAAE,cAtWH;AAuWhBC,qBAAmB,EAAE,QAvWL;AAwWhB;AACAC,sBAAoB,EAAE,oBAzWN;AA0WhB;AACAC,sBAAoB,EAAE,oBA3WN;AA4WhB;AACAC,sBAAoB,EAAE,oBA7WN;AA8WhB;AACAC,gCAA8B,EAAE,2BA/WhB;AAgXhB;AACAC,+BAA6B,EAAE,2BAjXf;AAkXhB;AACAC,oBAAkB,EAAE,oBAnXJ;AAoXhB;AACAC,4BAA0B,EAAE,0BArXZ;AAsXhB;AACAC,4BAA0B,EAAE,iBAvXZ;AAwXhB;AACAC,4BAA0B,EAAE,oBAzXZ;AA0XhB;AACAC,2BAAyB,EAAE,kBA3XX;AA4XhB;AACAC,kBAAgB,EAAE,mBA7XF;AA8XhB;AACAC,0BAAwB,EAAE,0BA/XV;AAgYhB;AACAC,2BAAyB,EAAE,oBAjYX;AAkYhB;AACAC,6BAA2B,EAAE,kBAnYb;AAoYhB;AACAC,wBAAsB,EAAE,oBArYR;AAsYhB;AACAC,mBAAiB,EAAE,oBAvYH;AAwYhB;AACAC,oBAAkB,EAAE,iBAzYJ;AA0YhB;AACAC,wBAAsB,EAAE,kBA3YR;AA4YhB;AACAC,8BAA4B,EAAE,oBA7Yd;AA8YhB;AACAC,uBAAqB,EAAE,iBA/YP;AAgZhB;AACAC,kBAAgB,EAAE,iBAjZF;AAkZhB;AACAC,wBAAsB,EAAE,mBAnZR;AAoZhB;AACAC,8BAA4B,EAAE,oBArZd;AAsZhB;AACAC,kBAAgB,EAAE,iBAvZF;AAwZhBC,2BAAyB,EAAE,iBAxZX;AAyZhB;AACAC,2BAAyB,EAAE,oBA1ZX;AA2ZhB;AACAC,oBAAkB,EAAE,iBA5ZJ;AA6ZhB;AACAC,wBAAsB,EAAE,iBA9ZR;AA+ZhB;AACAC,kBAAgB,EAAE,iBAhaF;AAiahB;AACAC,eAAa,EAAE,oBAlaC;AAmahB;AACAC,6BAA2B,EAAE,oBApab;AAqahB;AACAC,2BAAyB,EAAE,kBAtaX;AAuahB;AACAC,oCAAkC,EAAE,oBAxapB;AAyahB;AACAC,eAAa,EAAE,kBA1aC;AA2ahBC,2BAAyB,EAAE,iBA3aX;AA4ahB;AACAC,eAAa,EAAE,kBA7aC;AA8ahB;AACAC,qBAAmB,EAAE,iBA/aL;AAgbhB;AACAC,sBAAoB,EAAE,oBAjbN;AAkbhB;AACAC,yBAAuB,EAAE,iBAnbT;AAobhB;AACAC,sBAAoB,EAAE,oBArbN;AAsbhB;AACAC,gBAAc,EAAE,mBAvbA;AAwbhB;AACAC,wBAAsB,EAAE,iBAzbR;AA0bhB;AACAC,gCAA8B,EAAE,oBA3bhB;AA4bhB;AACAC,gBAAc,EAAE,oBA7bA;AA8bhB;AACAC,yBAAuB,EAAE,oBA/bT;AAgchB;AACAC,kBAAgB,EAAE,oBAjcF;AAkchBC,4BAA0B,EAAE,iBAlcZ;AAmchB;AACAC,gBAAc,EAAE,kBApcA;AAqchBC,sBAAoB,EAAE,kBArcN;AAschB;AACAC,wBAAsB,EAAE,oBAvcR;AAwchB;AACAC,mBAAiB,EAAE,iBAzcH;AA0chB;AACAC,mBAAiB,EAAE,mBA3cH;AA4chB;AACAC,4BAA0B,EAAE,iBA7cZ;AA8chB;AACAC,uBAAqB,EAAE,oBA/cP;AAgdhB;AACAC,qBAAmB,EAAE,iBAjdL;AAkdhB;AACAC,0BAAwB,EAAE,oBAndV;AAodhB;AACAC,4BAA0B,EAAE,oBArdZ;AAsdhB;AACAC,mBAAiB,EAAE,kBAvdH;AAwdhB;AACAC,oBAAkB,EAAE,kBAzdJ;AA0dhB;AACAC,uBAAqB,EAAE,oBA3dP;AA4dhB;AACAC,gBAAc,EAAE,oBA7dA;AA8dhB;AACAC,wBAAsB,EAAE,oBA/dR;AAgehBC,wBAAsB,EAAE,oBAheR;AAiehB;AACAC,sBAAoB,EAAE,oBAleN;AAmehB;AACAC,8BAA4B,EAAE,2BAped;AAqehB;AACAC,kBAAgB,EAAE,oBAteF;AAuehB;AACAC,8BAA4B,EAAE,kBAxed;AAyehB;AACAC,8BAA4B,EAAE,2BA1ed;AA2ehB;AACAC,4BAA0B,EAAE,oBA5eZ;AA6ehB;AACAC,sBAAoB,EAAE,oBA9eN;AA+ehB;AACAC,2BAAyB,EAAE,oBAhfX;AAifhB;AACAC,sBAAoB,EAAE,oBAlfN;AAmfhB;AACAC,sBAAoB,EAAE,oBApfN;AAqfhB;AACAC,oBAAkB,EAAE,oBAtfJ;AAufhB;AACAC,4BAA0B,EAAE,iBAxfZ;AAyfhB;AACAC,oBAAkB,EAAE,oBA1fJ;AA2fhB;AACAC,2BAAyB,EAAE,2BA5fX;AA6fhB;AACAC,yBAAuB,EAAE,mBA9fT;AA+fhB;AACAC,gBAAc,EAAE;AAhgBA,CAAjB,C;;;;;;ACAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,oCAAoC;;AAEpC;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA,kBAAkB,KAA0B;;AAE5C;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH,CAAC;;AAED;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,MAAM;AACjB,WAAW,SAAS;AACpB,aAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,MAAM;AACjB,WAAW,SAAS;AACpB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,SAAS;AACpB,aAAa,MAAM;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,aAAa,EAAE;AACf;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,MAAM;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB,WAAW,SAAS;AACpB,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,MAAM;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,MAAM;AACjB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,EAAE;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,EAAE;AACb,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,MAAM;AACjB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,EAAE;AACf;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,EAAE;AACb,aAAa,OAAO;AACpB;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,MAAM;AACjB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,EAAE;AACf;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,EAAE;AACb,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,MAAM;AACjB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,OAAO;AACpB;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,MAAM;AACjB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,EAAE;AACf;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,EAAE;AACb,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,WAAW,QAAQ;AACnB,aAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,MAAM;AACjB,WAAW,EAAE;AACb,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,aAAa;AACxB,WAAW,SAAS;AACpB,aAAa,aAAa;AAC1B;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,aAAa;AACxB,WAAW,SAAS;AACpB,aAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,SAAS;AACpB,WAAW,SAAS;AACpB,aAAa,OAAO;AACpB;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,SAAS;AACpB,aAAa,OAAO;AACpB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,aAAa;AACxB,aAAa,EAAE;AACf;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,OAAO;AACpB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,aAAa;AACxB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,WAAW,EAAE;AACb,WAAW,SAAS;AACpB,WAAW,QAAQ;AACnB;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,SAAS;AACpB,WAAW,SAAS;AACpB,WAAW,OAAO;AAClB;AACA,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,MAAM;AACjB,WAAW,SAAS;AACpB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,EAAE;AACb,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,aAAa;AACxB,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,MAAM;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB,WAAW,QAAQ;AACnB,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,MAAM;AACjB,WAAW,MAAM;AACjB,WAAW,SAAS;AACpB,WAAW,SAAS;AACpB,WAAW,OAAO;AAClB;AACA,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,SAAS;AACpB,WAAW,SAAS;AACpB,WAAW,OAAO;AAClB;AACA,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,SAAS;AACpB,WAAW,SAAS;AACpB,WAAW,OAAO;AAClB;AACA,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,aAAa,EAAE;AACf;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,MAAM;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,aAAa,EAAE;AACf;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,OAAO;AACpB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,aAAa;AACxB,WAAW,SAAS;AACpB,aAAa,QAAQ;AACrB;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,EAAE;AACb,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,MAAM;AACnB;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,cAAc;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA,8BAA8B;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,aAAa;AACxB,WAAW,SAAS;AACpB,aAAa,MAAM;AACnB;AACA;AACA;AACA;AACA,MAAM,+CAA+C;AACrD,MAAM;AACN;AACA;AACA,gCAAgC,kBAAkB,EAAE;AACpD;AACA;AACA;AACA,oBAAoB,4BAA4B;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB,WAAW,SAAS;AACpB,aAAa,SAAS;AACtB;AACA;AACA,iBAAiB;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA,iBAAiB;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA;AACA,6BAA6B,kBAAkB,EAAE;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA,oBAAoB;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,aAAa;AACxB,WAAW,EAAE;AACb,aAAa,EAAE;AACf;AACA;AACA,iBAAiB,QAAQ,OAAO,SAAS,EAAE;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,aAAa;AACxB,aAAa,QAAQ;AACrB;AACA;AACA,0BAA0B,gBAAgB,SAAS,GAAG;AACtD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,MAAM;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,EAAE;AACf;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,aAAa;AACxB,aAAa,SAAS;AACtB;AACA;AACA;AACA,MAAM,OAAO,SAAS,EAAE;AACxB,MAAM,OAAO,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;AC71EA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;;;;;;;;;;;;;ACrBa;;AAEb,qBAAqB,mBAAO,CAAC,EAA2B;;AAExD;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,KAAK;;AAEL;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACtGA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;;;;;;;ACjBa;;AAEb;AACA;AACA,CAAC;;AAED,aAAa,mBAAO,CAAC,EAAoB;;AAEzC;;AAEA,sCAAsC,uCAAuC,gBAAgB;;AAE7F;AACA,oC;;;;;;;;;;;;;;;;;;;ACba;;AAEb;AACA;AACA,CAAC;AACD;;AAEA,aAAa,mBAAO,CAAC,EAAO;;AAE5B;;AAEA,sCAAsC,uCAAuC,gBAAgB;;AAE7F;;AAEA;;AAEA;;AAEA,kC;;;;;;;ACnBA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEa;;AAEb,YAAY,mBAAO,CAAC,CAAO;AAC3B,cAAc,mBAAO,CAAC,EAAW;;AAEjC;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;;;;;;AC3BA,YAAY,mBAAO,CAAC,CAAO;AAC3B,qBAAqB,mBAAO,CAAC,EAAkB;AAC/C,yBAAyB,mBAAO,CAAC,EAAsB;AACvD,gBAAgB,mBAAO,CAAC,EAAW;AACnC,uBAAuB,mBAAO,CAAC,EAAoB;AACnD,gBAAgB,mBAAO,CAAC,CAAY;;AAEpC;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA,cAAc,OAAO;AACrB;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,GAAG;;AAEH;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,GAAG;;AAEH;AACA;AACA;AACA,cAAc,OAAO;AACrB;AACA;AACA,cAAc,OAAO;AACrB;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA,cAAc,OAAO;AACrB;AACA,cAAc,OAAO;AACrB;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA,GAAG;;AAEH;AACA;AACA;AACA,cAAc,OAAO;AACrB;AACA;AACA,cAAc;AACd;AACA;AACA;AACA,wCAAwC,oCAAoC;AAC5E,GAAG;;AAEH;AACA;AACA;AACA,cAAc,OAAO;AACrB;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;ACnPa;;AAEb;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,oC;;;;;;;ACzDa;;AAEb;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,eAAe,mBAAO,CAAC,EAAS;;AAEhC;;AAEA,uBAAuB,mBAAO,CAAC,EAAmB;;AAElD,sCAAsC,uCAAuC,gBAAgB;;AAE7F;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,yIAAyI,GAAG,8JAA8J,MAAM;;AAEhT;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,C;;;;;;;;;;;;;ACpEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,kCAAkC;AACjD;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,SAAS;AACtB,YAAY;AACZ;AACA;;AAEA;AACA;AACA;AACA;AACA,cAAc,IAAI;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,cAAc,OAAO;AACrB,cAAc,OAAO;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,cAAc,QAAQ;AACtB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,cAAc,QAAQ;AACtB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,cAAc,QAAQ;AACtB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,cAAc,QAAQ;AACtB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,cAAc,QAAQ;AACtB,cAAc,QAAQ;AACtB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,cAAc,QAAQ;AACtB,cAAc,OAAO;AACrB,aAAa,OAAO;AACpB;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,YAAY;AACvB,WAAW,QAAQ;AACnB,YAAY,OAAO;AACnB;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,oBAAoB;AAC/B;AACA,WAAW,OAAO;AAClB,YAAY,OAAO;AACnB;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,aAAa,QAAQ;AACrB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,mBAAmB,kBAAkB;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,CAAC;;;;;;AAMD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,GAAG;AACH;AACA;;AAEA;AACA;;AAEA;AACA,iBAAiB,sBAAsB;AACvC;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,cAAc,OAAO;AACrB,aAAa,OAAO;AACpB;AACA;AACA,oBAAoB;AACpB;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA,WAAW,YAAY;AACvB,YAAY,OAAO;AACnB;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,cAAc,QAAQ;AACtB,cAAc,QAAQ;AACtB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,YAAY;AACvB,WAAW,YAAY;AACvB,WAAW,OAAO;AAClB,WAAW,YAAY;AACvB,aAAa,OAAO;AACpB;AACA;AACA;AACA,oBAAoB;AACpB;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,cAAc,OAAO;AACrB,cAAc,OAAO;AACrB,aAAa,OAAO;AACpB;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL,GAAG;AACH;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA,GAAG;;AAEH;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,cAAc,QAAQ;AACtB,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,cAAc,OAAO;AACrB,aAAa,OAAO;AACpB;AACA;AACA,cAAc;AACd;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,YAAY;AACvB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,aAAa,OAAO;AACpB;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,cAAc,MAAM;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,cAAc,MAAM;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,WAAW;AACtB,WAAW,MAAM;AACjB,WAAW,OAAO;AAClB,aAAa;AACb;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,iDAAiD;AACjD;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;;AAEH;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,cAAc;AACd,mBAAmB;AACnB,kBAAkB;AAClB;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA,cAAc,OAAO;AACrB,aAAa,OAAO;AACpB;AACA;AACA;AACA;;AAEA,iBAAiB,yBAAyB;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,cAAc,QAAQ;AACtB,aAAa;AACb;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,4CAA4C,gBAAgB;;AAE5D;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sEAAsE,gBAAgB;;AAEtF;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,cAAc,QAAQ;AACtB,cAAc,OAAO;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA,cAAc,QAAQ;AACtB,cAAc,OAAO;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA,cAAc,OAAO;AACrB,cAAc,OAAO;AACrB,cAAc,OAAO;AACrB,cAAc,OAAO;AACrB,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,YAAY;AACvB,WAAW,YAAY;AACvB,WAAW,OAAO;AAClB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,qBAAqB,uBAAuB;;AAE5C;AACA;;AAEA;AACA;AACA;AACA,cAAc,OAAO;AACrB,cAAc,OAAO;AACrB,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,+BAA+B;AAC/B,2BAA2B;AAC3B,gCAAgC;;AAEhC;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,MAAM;AACjB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,aAAa;AACb;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,cAAc,OAAO;AACrB,cAAc,OAAO;AACrB,aAAa,OAAO;AACpB;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,gDAAgD;;AAEhD;AACA;;AAEA;AACA;AACA;AACA;AACA,cAAc,OAAO;AACrB,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV,UAAU;AACV;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,OAAO;AACrB,cAAc,QAAQ;AACtB,aAAa,MAAM;AACnB;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,cAAc,OAAO;AACrB,cAAc,OAAO;AACrB,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,uCAAuC;;AAEvC;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA,cAAc,OAAO;AACrB,cAAc,OAAO;AACrB,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,cAAc;AACd;AACA,cAAc,OAAO;AACrB,cAAc,OAAO;AACrB,cAAc,OAAO;AACrB,cAAc,OAAO;AACrB,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,cAAc;AACd;AACA,cAAc,OAAO;AACrB,cAAc,OAAO;AACrB,cAAc,OAAO;AACrB,cAAc,OAAO;AACrB,aAAa,MAAM;AACnB;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA,cAAc,OAAO;AACrB,cAAc,OAAO;AACrB,cAAc,cAAc;AAC5B;AACA,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,cAAc,OAAO;AACrB,cAAc,OAAO;AACrB,aAAa,OAAO;AACpB;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,8BAA8B;AAC9B,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,8BAA8B;AAC9B;AACA;;AAEA;AACA;AACA,wBAAwB;AACxB,GAAG;;AAEH;;AAEA;AACA;;AAEA;AACA;AACA;AACA,cAAc,OAAO;AACrB,cAAc,OAAO;AACrB,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,8BAA8B;AAC9B,4BAA4B;AAC5B;;AAEA,qCAAqC;AACrC;;AAEA;AACA;;AAEA;AACA;AACA;AACA,cAAc,OAAO;AACrB,cAAc,OAAO;AACrB,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,cAAc,OAAO;AACrB,cAAc,OAAO;AACrB,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,WAAW;AACzB,cAAc,OAAO;AACrB,aAAa,WAAW;AACxB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB;AACA,eAAe,QAAQ;AACvB;AACA,eAAe,WAAW;AAC1B;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB;AACA,eAAe,QAAQ;AACvB;AACA,eAAe,WAAW;AAC1B;AACA,eAAe,cAAc;AAC7B;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB;AACA,eAAe,QAAQ;AACvB;AACA,eAAe,WAAW;AAC1B;AACA;AACA,cAAc,MAAM;AACpB;AACA;AACA;AACA;AACA;AACA,cAAc,OAAO;AACrB;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,mBAAmB;AACjC;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB;AACA,eAAe,QAAQ;AACvB;AACA,eAAe,WAAW;AAC1B;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB;AACA,eAAe,QAAQ;AACvB;AACA,eAAe,WAAW;AAC1B;AACA,eAAe,mBAAmB;AAClC;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB;AACA,eAAe,QAAQ;AACvB;AACA,eAAe,WAAW;AAC1B;AACA;AACA,cAAc,aAAa;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,OAAO;AACrB;AACA;AACA;AACA;AACA,cAAc,mBAAmB;AACjC;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB;AACA,eAAe,QAAQ;AACvB;AACA,eAAe,WAAW;AAC1B;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB;AACA,eAAe,QAAQ;AACvB;AACA,eAAe,WAAW;AAC1B;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB;AACA,eAAe,QAAQ;AACvB;AACA,eAAe,WAAW;AAC1B;AACA;AACA,cAAc,QAAQ;AACtB;AACA;AACA;AACA;AACA;AACA,cAAc,OAAO;AACrB;AACA;AACA;AACA;AACA;AACA,cAAc,OAAO;AACrB;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB;AACA,eAAe,QAAQ;AACvB;AACA,eAAe,WAAW;AAC1B;AACA,eAAe,SAAS;AACxB;AACA;AACA;AACA,cAAc,QAAQ;AACtB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,cAAc,OAAO;AACrB,cAAc,OAAO;AACrB,cAAc,OAAO;AACrB,cAAc,QAAQ;AACtB,cAAc,QAAQ;AACtB,cAAc,YAAY;AAC1B,cAAc,OAAO;AACrB,cAAc,OAAO;AACrB,cAAc,OAAO;AACrB,cAAc,OAAO;AACrB,cAAc,OAAO;AACrB,cAAc,OAAO;AACrB,cAAc,OAAO;AACrB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA,IAAI;AACJ;AACA,UAAU;AACV;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,kBAAkB;AAC9B;AACA;;AAEA;AACA;AACA,YAAY,QAAQ;AACpB;AACA;;AAEA;AACA;AACA;AACA,YAAY,QAAQ;AACpB;AACA;;AAEA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA,kCAAkC;;AAElC;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA,kCAAkC;;AAElC;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;;AAEA;AACA;AACA,WAAW,WAAW;AACtB;;AAEA;AACA;AACA,WAAW,WAAW;AACtB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,4BAA4B;AACzC,aAAa,YAAY;AACzB,aAAa,OAAO;AACpB,cAAc,OAAO;AACrB;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA,cAAc;AACd,8BAA8B;;AAE9B;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,2BAA2B;AAC3B,iDAAiD,uCAAuC,kDAAkD;AAC1I,KAAK;;AAEL;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;;AAEA,GAAG;AACH;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,SAAS;AACvB;AACA,cAAc,OAAO;AACrB;AACA,cAAc,OAAO;AACrB;AACA;;;AAGA;AACA;AACA;;AAEe,+DAAM,EAAC;AACtB;;;;;;;;;;;;;;ACp4EA;AACA;AACAxR,MAAM,CAACC,OAAP,GAAiB;AAChB,kBAAgB,SADA;AAEhB,mBAAiB,SAFD;AAGhB,oBAAkB,SAHF;AAIhB,iBAAe,SAJC;AAKhB,oBAAkB,SALF;AAMhB,qBAAmB,SANH;AAOhB,qBAAmB,SAPH;AAQhBwR,MAAI,EAAE;AARU,CAAjB,C;;;;;;;;;;;;;;;;;;;;;;;;ACFA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,oCAAoC;;AAEpC;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,aAAa,EAAE;AACf;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,MAAM;AACjB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,EAAE;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,EAAE;AACb,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,MAAM;AACjB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,EAAE;AACf;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,EAAE;AACb,aAAa,OAAO;AACpB;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,MAAM;AACjB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,EAAE;AACf;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,EAAE;AACb,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,MAAM;AACjB,WAAW,EAAE;AACb,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,aAAa,EAAE;AACf;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,aAAa,EAAE;AACf;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB,WAAW,SAAS;AACpB,aAAa,SAAS;AACtB;AACA;AACA,iBAAiB;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA,iBAAiB;AACjB,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACnqBAzR,MAAM,CAACC,OAAP,GAAiB;AAChB;AACAyR,iCAA+B,EAAE,2BAFjB;AAGhB;AACAC,aAAW,EAAE,iBAJG;AAKhB;AACAC,2BAAyB,EAAE,yBANX;AAOhB;AACAC,aAAW,EAAE,iBARG;AAShB;AACAC,gCAA8B,EAAE,wBAVhB;AAWhB;AACAC,aAAW,EAAE,oBAZG;AAahB;AACAC,kBAAgB,EAAE,oBAdF;AAehB;AACAC,yBAAuB,EAAE,gBAhBT;AAiBhB;AACAC,yBAAuB,EAAE,2BAlBT;AAmBhB;AACAC,2BAAyB,EAAE,iBApBX;AAqBhB;AACAC,wBAAsB,EAAE,oBAtBR;AAuBhB;AACAC,cAAY,EAAE,mBAxBE;AAyBhB;AACAC,+BAA6B,EAAE,oBA1Bf;AA2BhB;AACAC,qBAAmB,EAAE,iBA5BL;AA6BhB;AACAC,yBAAuB,EAAE,iBA9BT;AA+BhB;AACAC,4BAA0B,EAAE,oBAhCZ;AAiChB;AACAC,WAAS,EAAE,iBAlCK;AAmChB;AACAC,iBAAe,EAAE,kBApCD;AAqChB;AACAC,qBAAmB,EAAE,oBAtCL;AAuChB;AACAC,qBAAmB,EAAE,iBAxCL;AAyChB;AACAC,YAAU,EAAE,oBA1CI;AA2ChB;AACAC,YAAU,EAAE,oBA5CI;AA6ChB;AACAC,uBAAqB,EAAE,oBA9CP;AA+ChB;AACAC,YAAU,EAAE,oBAhDI;AAiDhB;AACAC,iBAAe,EAAE,oBAlDD;AAmDhB;AACAC,eAAa,EAAE,oBApDC;AAqDhB;AACAC,eAAa,EAAE,kBAtDC;AAuDhB;AACAC,YAAU,EAAE,oBAxDI;AAyDhB;AACAC,YAAU,EAAE,oBA1DI;AA2DhB;AACAC,YAAU,EAAE,oBA5DI;AA6DhB;AACAC,uBAAqB,EAAE,iBA9DP;AA+DhB;AACAC,YAAU,EAAE,oBAhEI;AAiEhB;AACAC,iBAAe,EAAE,iBAlED;AAmEhB;AACAC,YAAU,EAAE,oBApEI;AAqEhB;AACAC,kCAAgC,EAAE,oBAtElB;AAuEhB;AACAC,+BAA6B,EAAE,iBAxEf;AAyEhB;AACAC,YAAU,EAAE,oBA1EI;AA2EhB;AACAC,eAAa,EAAE,iBA5EC;AA6EhB;AACAC,yBAAuB,EAAE,oBA9ET;AA+EhB;AACAC,oBAAkB,EAAE,kBAhFJ;AAiFhB;AACAC,mCAAiC,EAAE,wBAlFnB;AAmFhB;AACAC,qBAAmB,EAAE,iBApFL;AAqFhB;AACAC,yBAAuB,EAAE,yBAtFT;AAuFhB;AACAC,+BAA6B,EAAE,gBAxFf;AAyFhB;AACAC,2BAAyB,EAAE,yBA1FX;AA2FhB;AACAC,YAAU,EAAE,oBA5FI;AA6FhB;AACAC,aAAW,EAAE;AA9FG,CAAjB,C;;;;;;;;;;;;;ACAa;AACb;AACA;AACA;AACA,cAAc,gBAAgB,sCAAsC,iBAAiB,EAAE;AACvF,6BAA6B,uDAAuD;AACpF;AACA;AACA;AACA;AACA,uBAAuB,sBAAsB;AAC7C;AACA;AACA,CAAC;AACD;AACA;AACA,gDAAgD,OAAO;AACvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC,oCAAoC,aAAa,EAAE,EAAE;AACvF,CAAC;AACD;AACA;AACA,CAAC;AACD;AACA,yCAAyC,6BAA6B;AACtE,CAAC;AACD;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4DAA4D,cAAc;AAC1E;AACA;AACA;AACA;AACA;AACA;AACA,4CAA4C;AAC5C;AACA,8CAA8C,cAAc;AAC5D,yBAAyB,mBAAO,CAAC,CAAO;AACxC,wCAAwC,mBAAO,CAAC,EAAiB;AACjE,6BAA6B,mBAAO,CAAC,CAAY;AACjD;AACA,qCAAqC;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iEAAiE,gBAAgB;AACjF,mCAAmC,uHAAuH;AAC1J;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0CAA0C;AAC1C;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yEAAyE,WAAW;AACpF;AACA;AACA,aAAa,qQAAqQ,eAAe,EAAE;AACnS;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACtKA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA,kBAAkB,KAA0B;;AAE5C;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH,CAAC;;AAED;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA,oBAAoB;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACtHA;AACA;AACA;AACA;AACA;AACA;;AAEa;;AAEb,2BAA2B,mBAAO,CAAC,EAA4B;;AAE/D;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;;;;;;;;AC/DA;AACA;AACA;AACA;AACA;AACA;;AAEa;;AAEb;;AAEA;;;;;;;;ACXa;;AAEb,eAAe,mBAAO,CAAC,EAAY;AACnC,YAAY,mBAAO,CAAC,EAAS;AAC7B,cAAc,mBAAO,CAAC,EAAY;;AAElC;AACA;AACA;AACA;AACA,sBAAsB,mBAAO,CAAC,EAA0B;;AAExD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC7Da;;AAEb;AACA;;AAEA;;AAEA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;;;;;;;ACxBa;;AAEb,eAAe,mBAAO,CAAC,EAAY;AACnC,eAAe,mBAAO,CAAC,EAAY;;AAEnC;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;AC7Ca;;AAEb,eAAe,mBAAO,CAAC,EAAY;AACnC,aAAa,mBAAO,CAAC,EAAsB;AAC3C,aAAa,mBAAO,CAAC,EAAe;;AAEpC;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;ACpBa;;AAEb,8EAA8E;;AAE9E;;AAEA;AACA;AACA;AACA,uBAAuB,UAAU;AACjC;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;;AAEA;;;;;;;ACpBA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,+CAA+C,UAAU;AACzD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACvCa;AACb,eAAe,mBAAO,CAAC,EAAY;;AAEnC;AACA;AACA;AACA;;AAEA;AACA,oCAAoC;AACpC;AACA;AACA;;AAEA;;;;;;;;ACda;;AAEb;;;;;;;;ACFa;;AAEb;AACA;AACA,CAAC;AACD;;AAEA,mDAAmD,gBAAgB,sBAAsB,OAAO,2BAA2B,0BAA0B,yDAAyD,2BAA2B,EAAE,EAAE,EAAE,eAAe;;AAE9P,gCAAgC,2CAA2C,gBAAgB,kBAAkB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uF;;AAE9O,0CAA0C,+DAA+D,qGAAqG,EAAE,yEAAyE,eAAe,yEAAyE,EAAE,EAAE,uHAAuH;;AAE5e;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,wBAAwB,qBAAqB;AAC7C,OAAO;AACP;AACA;AACA;AACA;;AAEA,wBAAwB,eAAe;AACvC,0BAA0B,kBAAkB;;AAE5C;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,sBAAsB,wCAAwC;AAC9D;AACA,OAAO;AACP;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,OAAO,IAAI;AACX;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,UAAU,KAAqC,EAAE,EAS1C;;AAEP;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;;AAEA,wCAAwC;AACxC,+CAA+C;;AAE/C;AACA;AACA;AACA;AACA;AACA,4BAA4B;AAC5B;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,8BAA8B;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,yDAAyD,0DAA0D;AAC9H;AACA,WAAW;AACX;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA,CAAC;;AAED;AACA;AACA,eAAe;AACf;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oC;;;;;;;ACpZa;;AAEb;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,gBAAgB,mBAAO,CAAC,EAAqB;;AAE7C;;AAEA,sCAAsC,uCAAuC,gBAAgB;;AAE7F;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,C;;;;;;;AC7Fa;;AAEb;AACA;AACA,CAAC;AACD;;AAEA,gBAAgB,mBAAO,CAAC,EAAY;;AAEpC;;AAEA,sCAAsC,uCAAuC,gBAAgB;;AAE7F;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,oC;;;;;;;ACrFA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEa;;AAEb;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA,IAAI,KAAqC,EAAE,EAqC1C;;AAED;;;;;;;AC3DA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;;AAEA,KAAK,IAA4E;AACjF,EAAE,mCAAO;AACT;AACA,GAAG;AAAA,oGAAC;AACJ,EAAE,MAAM,EAIN;;AAEF,CAAC;;;;;;;;ACvCY;;AAEb;AACA;AACA,CAAC;AACD;AACA;AACA;;AAEA;AACA,MAAM,KAAqC,EAAE,+BAqB1C;AACH;;AAEA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,MAAM;AACjB;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,MAAM;AACjB;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA,E;;;;;;;AC1GA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEoB;;;;;;;AC7JpB;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;ACXa;;AAEb,8BAA8B;;AAE9B;AACA;AACA;AACA;;AAEA;AACA;;;;;;;ACVA;AACA;AACA;;AAEA;AACA;AACA,mBAAmB,sBAAsB;AACzC;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;;;;;;;ACnBA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEa;;AAEb,cAAc,mBAAO,CAAC,EAAe;;AAErC;;AAEA;;AAEA,IAAI,KAAqC,EAAE,EAE1C;;AAED;;AAEA,IAAI,KAAqC,EAAE,EAM1C;;AAED;AACA;;AAEA;AACA;AACA;AACA,qDAAqD;AACrD,KAAK;AACL;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;;AAEA,0BAA0B;AAC1B;AACA;AACA;;AAEA;;AAEA,IAAI,KAAqC,EAAE,qBAsC1C;;AAED;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,IAAI,KAAqC,EAAE,EAM1C;AACD;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;;AAEA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;;AAEA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;;AAEA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;;AAEA;AACA,gBAAgB;AAChB;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B,KAAK;AACpC;AACA;AACA,gBAAgB;AAChB;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,WAAW;AAC1B;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,QAAQ;AACvB,eAAe,QAAQ;AACvB,gBAAgB,QAAQ;AACxB;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,QAAQ;AACvB,eAAe,QAAQ;AACvB,eAAe,0BAA0B;AACzC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,QAAQ;AACvB,eAAe,QAAQ;AACvB,eAAe,WAAW;AAC1B;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,0BAA0B;AACzC;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,uBAAuB,mBAAmB;AAC1C;AACA;AACA;AACA,KAAK;AACL;AACA,UAAU,KAAqC,EAAE,EAE1C;AACP;AACA,UAAU;AACV;AACA;AACA;AACA,KAAK;AACL;AACA,UAAU,KAAqC,EAAE,EAE1C;AACP;AACA,UAAU;AACV;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,KAAK;AACL;AACA,UAAU,KAAqC,EAAE,EAE1C;AACP,wCAAwC;AACxC,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,YAAY,KAAqC,EAAE,EAS1C;AACT;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU,KAAqC,EAAE,iCAe1C;;AAEP;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,WAAW;AACX;AACA,gBAAgB,KAAqC,EAAE,EAM1C;AACb;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,2CAA2C;AAC3C;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAa,OAAO;AACpB,aAAa,OAAO;AACpB,cAAc,OAAO;AACrB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,mCAAmC;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAa,SAAS;AACtB,aAAa,SAAS;AACtB,cAAc,SAAS;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAa,SAAS;AACtB,aAAa,SAAS;AACtB,cAAc,SAAS;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAa,OAAO;AACpB,aAAa,SAAS;AACtB,cAAc,SAAS;AACvB;AACA;AACA;AACA,QAAQ,KAAqC,EAAE,6BA+C1C;AACL;AACA;;AAEA;AACA;AACA;AACA,aAAa,OAAO;AACpB;AACA;AACA;AACA,mBAAmB,kBAAkB;AACrC;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA,gBAAgB,QAAQ;AACxB;AACA;AACA;AACA;AACA,UAAU,KAAqC,EAAE,EAW1C;AACP;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,aAAa,OAAO;AACpB,cAAc,SAAS;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,UAAU,KAAqC,EAAE,EAM1C;;AAEP;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA,UAAU,KAAqC,EAAE,EAU1C;AACP;AACA;AACA;AACA;AACA;;AAEA;AACA,KAAK;AACL;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,QAAQ,KAAqC,EAAE,EAW1C;;AAEL;AACA;AACA;AACA;;AAEA,QAAQ,KAAqC,EAAE,EAqB1C;;AAEL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;;;;;;;ACz+BA;AACA;AACA;AACA;AACA;;AAEa;AACb;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA,gCAAgC;AAChC;AACA;AACA;AACA;;AAEA;AACA;AACA,iBAAiB,QAAQ;AACzB;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH,kCAAkC;AAClC;AACA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;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,wCAAwC;AACxC;AACA;AACA;AACA,GAAG;;AAEH;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,eAAe,mGAAW;AAC1B;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,SAAS;AACT;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,WAAW;AACX;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;;AAGA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,qDAAqD;;AAErD;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;;AAGA;A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","file":"design-system-react.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"react\"), require(\"react-dom\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"react\", \"react-dom\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"design-system-react\"] = factory(require(\"react\"), require(\"react-dom\"));\n\telse\n\t\troot[\"design-system-react\"] = factory(root[\"React\"], root[\"ReactDOM\"]);\n})(window, function(__WEBPACK_EXTERNAL_MODULE__1__, __WEBPACK_EXTERNAL_MODULE__6__) {\nreturn "," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"/\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 60);\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nif (process.env.NODE_ENV !== 'production') {\n var ReactIs = require('react-is');\n\n // By explicitly using `prop-types` you are opting into new development behavior.\n // http://fb.me/prop-types-in-prod\n var throwOnDirectAccess = true;\n module.exports = require('./factoryWithTypeCheckers')(ReactIs.isElement, throwOnDirectAccess);\n} else {\n // By explicitly using `prop-types` you are opting into new production behavior.\n // http://fb.me/prop-types-in-prod\n module.exports = require('./factoryWithThrowingShims')();\n}\n","module.exports = __WEBPACK_EXTERNAL_MODULE__1__;","/*!\n Copyright (c) 2017 Jed Watson.\n Licensed under the MIT License (MIT), see\n http://jedwatson.github.io/classnames\n*/\n/* global define */\n\n(function () {\n\t'use strict';\n\n\tvar hasOwn = {}.hasOwnProperty;\n\n\tfunction classNames () {\n\t\tvar classes = [];\n\n\t\tfor (var i = 0; i < arguments.length; i++) {\n\t\t\tvar arg = arguments[i];\n\t\t\tif (!arg) continue;\n\n\t\t\tvar argType = typeof arg;\n\n\t\t\tif (argType === 'string' || argType === 'number') {\n\t\t\t\tclasses.push(arg);\n\t\t\t} else if (Array.isArray(arg) && arg.length) {\n\t\t\t\tvar inner = classNames.apply(null, arg);\n\t\t\t\tif (inner) {\n\t\t\t\t\tclasses.push(inner);\n\t\t\t\t}\n\t\t\t} else if (argType === 'object') {\n\t\t\t\tfor (var key in arg) {\n\t\t\t\t\tif (hasOwn.call(arg, key) && arg[key]) {\n\t\t\t\t\t\tclasses.push(key);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn classes.join(' ');\n\t}\n\n\tif (typeof module !== 'undefined' && module.exports) {\n\t\tclassNames.default = classNames;\n\t\tmodule.exports = classNames;\n\t} else if (typeof define === 'function' && typeof define.amd === 'object' && define.amd) {\n\t\t// register as 'classnames', consistent with npm package name\n\t\tdefine('classnames', [], function () {\n\t\t\treturn classNames;\n\t\t});\n\t} else {\n\t\twindow.classNames = classNames;\n\t}\n}());\n","'use strict';\nmodule.exports = require('./lib/index');\n","/**\n * lodash (Custom Build) <https://lodash.com/>\n * Build: `lodash modularize exports=\"npm\" -o ./`\n * Copyright jQuery Foundation and other contributors <https://jquery.org/>\n * Released under MIT license <https://lodash.com/license>\n * Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>\n * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n */\n\n/** Used as references for various `Number` constants. */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n funcTag = '[object Function]',\n genTag = '[object GeneratorFunction]';\n\n/** Used to detect unsigned integer values. */\nvar reIsUint = /^(?:0|[1-9]\\d*)$/;\n\n/**\n * A faster alternative to `Function#apply`, this function invokes `func`\n * with the `this` binding of `thisArg` and the arguments of `args`.\n *\n * @private\n * @param {Function} func The function to invoke.\n * @param {*} thisArg The `this` binding of `func`.\n * @param {Array} args The arguments to invoke `func` with.\n * @returns {*} Returns the result of `func`.\n */\nfunction apply(func, thisArg, args) {\n switch (args.length) {\n case 0: return func.call(thisArg);\n case 1: return func.call(thisArg, args[0]);\n case 2: return func.call(thisArg, args[0], args[1]);\n case 3: return func.call(thisArg, args[0], args[1], args[2]);\n }\n return func.apply(thisArg, args);\n}\n\n/**\n * The base implementation of `_.times` without support for iteratee shorthands\n * or max array length checks.\n *\n * @private\n * @param {number} n The number of times to invoke `iteratee`.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns the array of results.\n */\nfunction baseTimes(n, iteratee) {\n var index = -1,\n result = Array(n);\n\n while (++index < n) {\n result[index] = iteratee(index);\n }\n return result;\n}\n\n/**\n * Creates a unary function that invokes `func` with its argument transformed.\n *\n * @private\n * @param {Function} func The function to wrap.\n * @param {Function} transform The argument transform.\n * @returns {Function} Returns the new function.\n */\nfunction overArg(func, transform) {\n return function(arg) {\n return func(transform(arg));\n };\n}\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objectToString = objectProto.toString;\n\n/** Built-in value references. */\nvar propertyIsEnumerable = objectProto.propertyIsEnumerable;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeKeys = overArg(Object.keys, Object),\n nativeMax = Math.max;\n\n/** Detect if properties shadowing those on `Object.prototype` are non-enumerable. */\nvar nonEnumShadows = !propertyIsEnumerable.call({ 'valueOf': 1 }, 'valueOf');\n\n/**\n * Creates an array of the enumerable property names of the array-like `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @param {boolean} inherited Specify returning inherited property names.\n * @returns {Array} Returns the array of property names.\n */\nfunction arrayLikeKeys(value, inherited) {\n // Safari 8.1 makes `arguments.callee` enumerable in strict mode.\n // Safari 9 makes `arguments.length` enumerable in strict mode.\n var result = (isArray(value) || isArguments(value))\n ? baseTimes(value.length, String)\n : [];\n\n var length = result.length,\n skipIndexes = !!length;\n\n for (var key in value) {\n if ((inherited || hasOwnProperty.call(value, key)) &&\n !(skipIndexes && (key == 'length' || isIndex(key, length)))) {\n result.push(key);\n }\n }\n return result;\n}\n\n/**\n * Assigns `value` to `key` of `object` if the existing value is not equivalent\n * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * for equality comparisons.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {string} key The key of the property to assign.\n * @param {*} value The value to assign.\n */\nfunction assignValue(object, key, value) {\n var objValue = object[key];\n if (!(hasOwnProperty.call(object, key) && eq(objValue, value)) ||\n (value === undefined && !(key in object))) {\n object[key] = value;\n }\n}\n\n/**\n * The base implementation of `_.keys` which doesn't treat sparse arrays as dense.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction baseKeys(object) {\n if (!isPrototype(object)) {\n return nativeKeys(object);\n }\n var result = [];\n for (var key in Object(object)) {\n if (hasOwnProperty.call(object, key) && key != 'constructor') {\n result.push(key);\n }\n }\n return result;\n}\n\n/**\n * The base implementation of `_.rest` which doesn't validate or coerce arguments.\n *\n * @private\n * @param {Function} func The function to apply a rest parameter to.\n * @param {number} [start=func.length-1] The start position of the rest parameter.\n * @returns {Function} Returns the new function.\n */\nfunction baseRest(func, start) {\n start = nativeMax(start === undefined ? (func.length - 1) : start, 0);\n return function() {\n var args = arguments,\n index = -1,\n length = nativeMax(args.length - start, 0),\n array = Array(length);\n\n while (++index < length) {\n array[index] = args[start + index];\n }\n index = -1;\n var otherArgs = Array(start + 1);\n while (++index < start) {\n otherArgs[index] = args[index];\n }\n otherArgs[start] = array;\n return apply(func, this, otherArgs);\n };\n}\n\n/**\n * Copies properties of `source` to `object`.\n *\n * @private\n * @param {Object} source The object to copy properties from.\n * @param {Array} props The property identifiers to copy.\n * @param {Object} [object={}] The object to copy properties to.\n * @param {Function} [customizer] The function to customize copied values.\n * @returns {Object} Returns `object`.\n */\nfunction copyObject(source, props, object, customizer) {\n object || (object = {});\n\n var index = -1,\n length = props.length;\n\n while (++index < length) {\n var key = props[index];\n\n var newValue = customizer\n ? customizer(object[key], source[key], key, object, source)\n : undefined;\n\n assignValue(object, key, newValue === undefined ? source[key] : newValue);\n }\n return object;\n}\n\n/**\n * Creates a function like `_.assign`.\n *\n * @private\n * @param {Function} assigner The function to assign values.\n * @returns {Function} Returns the new assigner function.\n */\nfunction createAssigner(assigner) {\n return baseRest(function(object, sources) {\n var index = -1,\n length = sources.length,\n customizer = length > 1 ? sources[length - 1] : undefined,\n guard = length > 2 ? sources[2] : undefined;\n\n customizer = (assigner.length > 3 && typeof customizer == 'function')\n ? (length--, customizer)\n : undefined;\n\n if (guard && isIterateeCall(sources[0], sources[1], guard)) {\n customizer = length < 3 ? undefined : customizer;\n length = 1;\n }\n object = Object(object);\n while (++index < length) {\n var source = sources[index];\n if (source) {\n assigner(object, source, index, customizer);\n }\n }\n return object;\n });\n}\n\n/**\n * Checks if `value` is a valid array-like index.\n *\n * @private\n * @param {*} value The value to check.\n * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index.\n * @returns {boolean} Returns `true` if `value` is a valid index, else `false`.\n */\nfunction isIndex(value, length) {\n length = length == null ? MAX_SAFE_INTEGER : length;\n return !!length &&\n (typeof value == 'number' || reIsUint.test(value)) &&\n (value > -1 && value % 1 == 0 && value < length);\n}\n\n/**\n * Checks if the given arguments are from an iteratee call.\n *\n * @private\n * @param {*} value The potential iteratee value argument.\n * @param {*} index The potential iteratee index or key argument.\n * @param {*} object The potential iteratee object argument.\n * @returns {boolean} Returns `true` if the arguments are from an iteratee call,\n * else `false`.\n */\nfunction isIterateeCall(value, index, object) {\n if (!isObject(object)) {\n return false;\n }\n var type = typeof index;\n if (type == 'number'\n ? (isArrayLike(object) && isIndex(index, object.length))\n : (type == 'string' && index in object)\n ) {\n return eq(object[index], value);\n }\n return false;\n}\n\n/**\n * Checks if `value` is likely a prototype object.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a prototype, else `false`.\n */\nfunction isPrototype(value) {\n var Ctor = value && value.constructor,\n proto = (typeof Ctor == 'function' && Ctor.prototype) || objectProto;\n\n return value === proto;\n}\n\n/**\n * Performs a\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * comparison between two values to determine if they are equivalent.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'a': 1 };\n * var other = { 'a': 1 };\n *\n * _.eq(object, object);\n * // => true\n *\n * _.eq(object, other);\n * // => false\n *\n * _.eq('a', 'a');\n * // => true\n *\n * _.eq('a', Object('a'));\n * // => false\n *\n * _.eq(NaN, NaN);\n * // => true\n */\nfunction eq(value, other) {\n return value === other || (value !== value && other !== other);\n}\n\n/**\n * Checks if `value` is likely an `arguments` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n * else `false`.\n * @example\n *\n * _.isArguments(function() { return arguments; }());\n * // => true\n *\n * _.isArguments([1, 2, 3]);\n * // => false\n */\nfunction isArguments(value) {\n // Safari 8.1 makes `arguments.callee` enumerable in strict mode.\n return isArrayLikeObject(value) && hasOwnProperty.call(value, 'callee') &&\n (!propertyIsEnumerable.call(value, 'callee') || objectToString.call(value) == argsTag);\n}\n\n/**\n * Checks if `value` is classified as an `Array` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array, else `false`.\n * @example\n *\n * _.isArray([1, 2, 3]);\n * // => true\n *\n * _.isArray(document.body.children);\n * // => false\n *\n * _.isArray('abc');\n * // => false\n *\n * _.isArray(_.noop);\n * // => false\n */\nvar isArray = Array.isArray;\n\n/**\n * Checks if `value` is array-like. A value is considered array-like if it's\n * not a function and has a `value.length` that's an integer greater than or\n * equal to `0` and less than or equal to `Number.MAX_SAFE_INTEGER`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is array-like, else `false`.\n * @example\n *\n * _.isArrayLike([1, 2, 3]);\n * // => true\n *\n * _.isArrayLike(document.body.children);\n * // => true\n *\n * _.isArrayLike('abc');\n * // => true\n *\n * _.isArrayLike(_.noop);\n * // => false\n */\nfunction isArrayLike(value) {\n return value != null && isLength(value.length) && !isFunction(value);\n}\n\n/**\n * This method is like `_.isArrayLike` except that it also checks if `value`\n * is an object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array-like object,\n * else `false`.\n * @example\n *\n * _.isArrayLikeObject([1, 2, 3]);\n * // => true\n *\n * _.isArrayLikeObject(document.body.children);\n * // => true\n *\n * _.isArrayLikeObject('abc');\n * // => false\n *\n * _.isArrayLikeObject(_.noop);\n * // => false\n */\nfunction isArrayLikeObject(value) {\n return isObjectLike(value) && isArrayLike(value);\n}\n\n/**\n * Checks if `value` is classified as a `Function` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a function, else `false`.\n * @example\n *\n * _.isFunction(_);\n * // => true\n *\n * _.isFunction(/abc/);\n * // => false\n */\nfunction isFunction(value) {\n // The use of `Object#toString` avoids issues with the `typeof` operator\n // in Safari 8-9 which returns 'object' for typed array and other constructors.\n var tag = isObject(value) ? objectToString.call(value) : '';\n return tag == funcTag || tag == genTag;\n}\n\n/**\n * Checks if `value` is a valid array-like length.\n *\n * **Note:** This method is loosely based on\n * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.\n * @example\n *\n * _.isLength(3);\n * // => true\n *\n * _.isLength(Number.MIN_VALUE);\n * // => false\n *\n * _.isLength(Infinity);\n * // => false\n *\n * _.isLength('3');\n * // => false\n */\nfunction isLength(value) {\n return typeof value == 'number' &&\n value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;\n}\n\n/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n var type = typeof value;\n return !!value && (type == 'object' || type == 'function');\n}\n\n/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return !!value && typeof value == 'object';\n}\n\n/**\n * Assigns own enumerable string keyed properties of source objects to the\n * destination object. Source objects are applied from left to right.\n * Subsequent sources overwrite property assignments of previous sources.\n *\n * **Note:** This method mutates `object` and is loosely based on\n * [`Object.assign`](https://mdn.io/Object/assign).\n *\n * @static\n * @memberOf _\n * @since 0.10.0\n * @category Object\n * @param {Object} object The destination object.\n * @param {...Object} [sources] The source objects.\n * @returns {Object} Returns `object`.\n * @see _.assignIn\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * }\n *\n * function Bar() {\n * this.c = 3;\n * }\n *\n * Foo.prototype.b = 2;\n * Bar.prototype.d = 4;\n *\n * _.assign({ 'a': 0 }, new Foo, new Bar);\n * // => { 'a': 1, 'c': 3 }\n */\nvar assign = createAssigner(function(object, source) {\n if (nonEnumShadows || isPrototype(source) || isArrayLike(source)) {\n copyObject(source, keys(source), object);\n return;\n }\n for (var key in source) {\n if (hasOwnProperty.call(source, key)) {\n assignValue(object, key, source[key]);\n }\n }\n});\n\n/**\n * Creates an array of the own enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects. See the\n * [ES spec](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)\n * for more details.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keys(new Foo);\n * // => ['a', 'b'] (iteration order is not guaranteed)\n *\n * _.keys('hi');\n * // => ['0', '1']\n */\nfunction keys(object) {\n return isArrayLike(object) ? arrayLikeKeys(object) : baseKeys(object);\n}\n\nmodule.exports = assign;\n","/**\n * Lodash (Custom Build) <https://lodash.com/>\n * Build: `lodash modularize exports=\"npm\" -o ./`\n * Copyright JS Foundation and other contributors <https://js.foundation/>\n * Released under MIT license <https://lodash.com/license>\n * Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>\n * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n */\n\n/** `Object#toString` result references. */\nvar asyncTag = '[object AsyncFunction]',\n funcTag = '[object Function]',\n genTag = '[object GeneratorFunction]',\n nullTag = '[object Null]',\n proxyTag = '[object Proxy]',\n undefinedTag = '[object Undefined]';\n\n/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/** Built-in value references. */\nvar Symbol = root.Symbol,\n symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * The base implementation of `getTag` without fallbacks for buggy environments.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nfunction baseGetTag(value) {\n if (value == null) {\n return value === undefined ? undefinedTag : nullTag;\n }\n return (symToStringTag && symToStringTag in Object(value))\n ? getRawTag(value)\n : objectToString(value);\n}\n\n/**\n * A specialized version of `baseGetTag` which ignores `Symbol.toStringTag` values.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the raw `toStringTag`.\n */\nfunction getRawTag(value) {\n var isOwn = hasOwnProperty.call(value, symToStringTag),\n tag = value[symToStringTag];\n\n try {\n value[symToStringTag] = undefined;\n var unmasked = true;\n } catch (e) {}\n\n var result = nativeObjectToString.call(value);\n if (unmasked) {\n if (isOwn) {\n value[symToStringTag] = tag;\n } else {\n delete value[symToStringTag];\n }\n }\n return result;\n}\n\n/**\n * Converts `value` to a string using `Object.prototype.toString`.\n *\n * @private\n * @param {*} value The value to convert.\n * @returns {string} Returns the converted string.\n */\nfunction objectToString(value) {\n return nativeObjectToString.call(value);\n}\n\n/**\n * Checks if `value` is classified as a `Function` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a function, else `false`.\n * @example\n *\n * _.isFunction(_);\n * // => true\n *\n * _.isFunction(/abc/);\n * // => false\n */\nfunction isFunction(value) {\n if (!isObject(value)) {\n return false;\n }\n // The use of `Object#toString` avoids issues with the `typeof` operator\n // in Safari 9 which returns 'object' for typed arrays and other constructors.\n var tag = baseGetTag(value);\n return tag == funcTag || tag == genTag || tag == asyncTag || tag == proxyTag;\n}\n\n/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n var type = typeof value;\n return value != null && (type == 'object' || type == 'function');\n}\n\nmodule.exports = isFunction;\n","module.exports = __WEBPACK_EXTERNAL_MODULE__6__;","/**\n * lodash (Custom Build) <https://lodash.com/>\n * Build: `lodash modularize exports=\"npm\" -o ./`\n * Copyright jQuery Foundation and other contributors <https://jquery.org/>\n * Released under MIT license <https://lodash.com/license>\n * Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>\n * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n */\n\n/** Used as the size to enable large array optimizations. */\nvar LARGE_ARRAY_SIZE = 200;\n\n/** Used as the `TypeError` message for \"Functions\" methods. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/** Used to compose bitmasks for comparison styles. */\nvar UNORDERED_COMPARE_FLAG = 1,\n PARTIAL_COMPARE_FLAG = 2;\n\n/** Used as references for various `Number` constants. */\nvar INFINITY = 1 / 0,\n MAX_SAFE_INTEGER = 9007199254740991,\n MAX_INTEGER = 1.7976931348623157e+308,\n NAN = 0 / 0;\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n funcTag = '[object Function]',\n genTag = '[object GeneratorFunction]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n objectTag = '[object Object]',\n promiseTag = '[object Promise]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n symbolTag = '[object Symbol]',\n weakMapTag = '[object WeakMap]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n dataViewTag = '[object DataView]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/** Used to match property names within property paths. */\nvar reIsDeepProp = /\\.|\\[(?:[^[\\]]*|([\"'])(?:(?!\\1)[^\\\\]|\\\\.)*?\\1)\\]/,\n reIsPlainProp = /^\\w*$/,\n reLeadingDot = /^\\./,\n rePropName = /[^.[\\]]+|\\[(?:(-?\\d+(?:\\.\\d+)?)|([\"'])((?:(?!\\2)[^\\\\]|\\\\.)*?)\\2)\\]|(?=(?:\\.|\\[\\])(?:\\.|\\[\\]|$))/g;\n\n/**\n * Used to match `RegExp`\n * [syntax characters](http://ecma-international.org/ecma-262/7.0/#sec-patterns).\n */\nvar reRegExpChar = /[\\\\^$.*+?()[\\]{}|]/g;\n\n/** Used to match leading and trailing whitespace. */\nvar reTrim = /^\\s+|\\s+$/g;\n\n/** Used to match backslashes in property paths. */\nvar reEscapeChar = /\\\\(\\\\)?/g;\n\n/** Used to detect bad signed hexadecimal string values. */\nvar reIsBadHex = /^[-+]0x[0-9a-f]+$/i;\n\n/** Used to detect binary string values. */\nvar reIsBinary = /^0b[01]+$/i;\n\n/** Used to detect host constructors (Safari). */\nvar reIsHostCtor = /^\\[object .+?Constructor\\]$/;\n\n/** Used to detect octal string values. */\nvar reIsOctal = /^0o[0-7]+$/i;\n\n/** Used to detect unsigned integer values. */\nvar reIsUint = /^(?:0|[1-9]\\d*)$/;\n\n/** Used to identify `toStringTag` values of typed arrays. */\nvar typedArrayTags = {};\ntypedArrayTags[float32Tag] = typedArrayTags[float64Tag] =\ntypedArrayTags[int8Tag] = typedArrayTags[int16Tag] =\ntypedArrayTags[int32Tag] = typedArrayTags[uint8Tag] =\ntypedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] =\ntypedArrayTags[uint32Tag] = true;\ntypedArrayTags[argsTag] = typedArrayTags[arrayTag] =\ntypedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] =\ntypedArrayTags[dataViewTag] = typedArrayTags[dateTag] =\ntypedArrayTags[errorTag] = typedArrayTags[funcTag] =\ntypedArrayTags[mapTag] = typedArrayTags[numberTag] =\ntypedArrayTags[objectTag] = typedArrayTags[regexpTag] =\ntypedArrayTags[setTag] = typedArrayTags[stringTag] =\ntypedArrayTags[weakMapTag] = false;\n\n/** Built-in method references without a dependency on `root`. */\nvar freeParseInt = parseInt;\n\n/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\n/** Detect free variable `exports`. */\nvar freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;\n\n/** Detect free variable `module`. */\nvar freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;\n\n/** Detect the popular CommonJS extension `module.exports`. */\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n\n/** Detect free variable `process` from Node.js. */\nvar freeProcess = moduleExports && freeGlobal.process;\n\n/** Used to access faster Node.js helpers. */\nvar nodeUtil = (function() {\n try {\n return freeProcess && freeProcess.binding('util');\n } catch (e) {}\n}());\n\n/* Node.js helper references. */\nvar nodeIsTypedArray = nodeUtil && nodeUtil.isTypedArray;\n\n/**\n * A specialized version of `_.some` for arrays without support for iteratee\n * shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {boolean} Returns `true` if any element passes the predicate check,\n * else `false`.\n */\nfunction arraySome(array, predicate) {\n var index = -1,\n length = array ? array.length : 0;\n\n while (++index < length) {\n if (predicate(array[index], index, array)) {\n return true;\n }\n }\n return false;\n}\n\n/**\n * The base implementation of `_.findIndex` and `_.findLastIndex` without\n * support for iteratee shorthands.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {Function} predicate The function invoked per iteration.\n * @param {number} fromIndex The index to search from.\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction baseFindIndex(array, predicate, fromIndex, fromRight) {\n var length = array.length,\n index = fromIndex + (fromRight ? 1 : -1);\n\n while ((fromRight ? index-- : ++index < length)) {\n if (predicate(array[index], index, array)) {\n return index;\n }\n }\n return -1;\n}\n\n/**\n * The base implementation of `_.property` without support for deep paths.\n *\n * @private\n * @param {string} key The key of the property to get.\n * @returns {Function} Returns the new accessor function.\n */\nfunction baseProperty(key) {\n return function(object) {\n return object == null ? undefined : object[key];\n };\n}\n\n/**\n * The base implementation of `_.times` without support for iteratee shorthands\n * or max array length checks.\n *\n * @private\n * @param {number} n The number of times to invoke `iteratee`.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns the array of results.\n */\nfunction baseTimes(n, iteratee) {\n var index = -1,\n result = Array(n);\n\n while (++index < n) {\n result[index] = iteratee(index);\n }\n return result;\n}\n\n/**\n * The base implementation of `_.unary` without support for storing metadata.\n *\n * @private\n * @param {Function} func The function to cap arguments for.\n * @returns {Function} Returns the new capped function.\n */\nfunction baseUnary(func) {\n return function(value) {\n return func(value);\n };\n}\n\n/**\n * Gets the value at `key` of `object`.\n *\n * @private\n * @param {Object} [object] The object to query.\n * @param {string} key The key of the property to get.\n * @returns {*} Returns the property value.\n */\nfunction getValue(object, key) {\n return object == null ? undefined : object[key];\n}\n\n/**\n * Checks if `value` is a host object in IE < 9.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a host object, else `false`.\n */\nfunction isHostObject(value) {\n // Many host objects are `Object` objects that can coerce to strings\n // despite having improperly defined `toString` methods.\n var result = false;\n if (value != null && typeof value.toString != 'function') {\n try {\n result = !!(value + '');\n } catch (e) {}\n }\n return result;\n}\n\n/**\n * Converts `map` to its key-value pairs.\n *\n * @private\n * @param {Object} map The map to convert.\n * @returns {Array} Returns the key-value pairs.\n */\nfunction mapToArray(map) {\n var index = -1,\n result = Array(map.size);\n\n map.forEach(function(value, key) {\n result[++index] = [key, value];\n });\n return result;\n}\n\n/**\n * Creates a unary function that invokes `func` with its argument transformed.\n *\n * @private\n * @param {Function} func The function to wrap.\n * @param {Function} transform The argument transform.\n * @returns {Function} Returns the new function.\n */\nfunction overArg(func, transform) {\n return function(arg) {\n return func(transform(arg));\n };\n}\n\n/**\n * Converts `set` to an array of its values.\n *\n * @private\n * @param {Object} set The set to convert.\n * @returns {Array} Returns the values.\n */\nfunction setToArray(set) {\n var index = -1,\n result = Array(set.size);\n\n set.forEach(function(value) {\n result[++index] = value;\n });\n return result;\n}\n\n/** Used for built-in method references. */\nvar arrayProto = Array.prototype,\n funcProto = Function.prototype,\n objectProto = Object.prototype;\n\n/** Used to detect overreaching core-js shims. */\nvar coreJsData = root['__core-js_shared__'];\n\n/** Used to detect methods masquerading as native. */\nvar maskSrcKey = (function() {\n var uid = /[^.]+$/.exec(coreJsData && coreJsData.keys && coreJsData.keys.IE_PROTO || '');\n return uid ? ('Symbol(src)_1.' + uid) : '';\n}());\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objectToString = objectProto.toString;\n\n/** Used to detect if a method is native. */\nvar reIsNative = RegExp('^' +\n funcToString.call(hasOwnProperty).replace(reRegExpChar, '\\\\$&')\n .replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g, '$1.*?') + '$'\n);\n\n/** Built-in value references. */\nvar Symbol = root.Symbol,\n Uint8Array = root.Uint8Array,\n propertyIsEnumerable = objectProto.propertyIsEnumerable,\n splice = arrayProto.splice;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeKeys = overArg(Object.keys, Object),\n nativeMax = Math.max;\n\n/* Built-in method references that are verified to be native. */\nvar DataView = getNative(root, 'DataView'),\n Map = getNative(root, 'Map'),\n Promise = getNative(root, 'Promise'),\n Set = getNative(root, 'Set'),\n WeakMap = getNative(root, 'WeakMap'),\n nativeCreate = getNative(Object, 'create');\n\n/** Used to detect maps, sets, and weakmaps. */\nvar dataViewCtorString = toSource(DataView),\n mapCtorString = toSource(Map),\n promiseCtorString = toSource(Promise),\n setCtorString = toSource(Set),\n weakMapCtorString = toSource(WeakMap);\n\n/** Used to convert symbols to primitives and strings. */\nvar symbolProto = Symbol ? Symbol.prototype : undefined,\n symbolValueOf = symbolProto ? symbolProto.valueOf : undefined,\n symbolToString = symbolProto ? symbolProto.toString : undefined;\n\n/**\n * Creates a hash object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Hash(entries) {\n var index = -1,\n length = entries ? entries.length : 0;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n/**\n * Removes all key-value entries from the hash.\n *\n * @private\n * @name clear\n * @memberOf Hash\n */\nfunction hashClear() {\n this.__data__ = nativeCreate ? nativeCreate(null) : {};\n}\n\n/**\n * Removes `key` and its value from the hash.\n *\n * @private\n * @name delete\n * @memberOf Hash\n * @param {Object} hash The hash to modify.\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction hashDelete(key) {\n return this.has(key) && delete this.__data__[key];\n}\n\n/**\n * Gets the hash value for `key`.\n *\n * @private\n * @name get\n * @memberOf Hash\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction hashGet(key) {\n var data = this.__data__;\n if (nativeCreate) {\n var result = data[key];\n return result === HASH_UNDEFINED ? undefined : result;\n }\n return hasOwnProperty.call(data, key) ? data[key] : undefined;\n}\n\n/**\n * Checks if a hash value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Hash\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction hashHas(key) {\n var data = this.__data__;\n return nativeCreate ? data[key] !== undefined : hasOwnProperty.call(data, key);\n}\n\n/**\n * Sets the hash `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Hash\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the hash instance.\n */\nfunction hashSet(key, value) {\n var data = this.__data__;\n data[key] = (nativeCreate && value === undefined) ? HASH_UNDEFINED : value;\n return this;\n}\n\n// Add methods to `Hash`.\nHash.prototype.clear = hashClear;\nHash.prototype['delete'] = hashDelete;\nHash.prototype.get = hashGet;\nHash.prototype.has = hashHas;\nHash.prototype.set = hashSet;\n\n/**\n * Creates an list cache object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction ListCache(entries) {\n var index = -1,\n length = entries ? entries.length : 0;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n/**\n * Removes all key-value entries from the list cache.\n *\n * @private\n * @name clear\n * @memberOf ListCache\n */\nfunction listCacheClear() {\n this.__data__ = [];\n}\n\n/**\n * Removes `key` and its value from the list cache.\n *\n * @private\n * @name delete\n * @memberOf ListCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction listCacheDelete(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n return false;\n }\n var lastIndex = data.length - 1;\n if (index == lastIndex) {\n data.pop();\n } else {\n splice.call(data, index, 1);\n }\n return true;\n}\n\n/**\n * Gets the list cache value for `key`.\n *\n * @private\n * @name get\n * @memberOf ListCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction listCacheGet(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n return index < 0 ? undefined : data[index][1];\n}\n\n/**\n * Checks if a list cache value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf ListCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction listCacheHas(key) {\n return assocIndexOf(this.__data__, key) > -1;\n}\n\n/**\n * Sets the list cache `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf ListCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the list cache instance.\n */\nfunction listCacheSet(key, value) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n data.push([key, value]);\n } else {\n data[index][1] = value;\n }\n return this;\n}\n\n// Add methods to `ListCache`.\nListCache.prototype.clear = listCacheClear;\nListCache.prototype['delete'] = listCacheDelete;\nListCache.prototype.get = listCacheGet;\nListCache.prototype.has = listCacheHas;\nListCache.prototype.set = listCacheSet;\n\n/**\n * Creates a map cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction MapCache(entries) {\n var index = -1,\n length = entries ? entries.length : 0;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n/**\n * Removes all key-value entries from the map.\n *\n * @private\n * @name clear\n * @memberOf MapCache\n */\nfunction mapCacheClear() {\n this.__data__ = {\n 'hash': new Hash,\n 'map': new (Map || ListCache),\n 'string': new Hash\n };\n}\n\n/**\n * Removes `key` and its value from the map.\n *\n * @private\n * @name delete\n * @memberOf MapCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction mapCacheDelete(key) {\n return getMapData(this, key)['delete'](key);\n}\n\n/**\n * Gets the map value for `key`.\n *\n * @private\n * @name get\n * @memberOf MapCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction mapCacheGet(key) {\n return getMapData(this, key).get(key);\n}\n\n/**\n * Checks if a map value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf MapCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction mapCacheHas(key) {\n return getMapData(this, key).has(key);\n}\n\n/**\n * Sets the map `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf MapCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the map cache instance.\n */\nfunction mapCacheSet(key, value) {\n getMapData(this, key).set(key, value);\n return this;\n}\n\n// Add methods to `MapCache`.\nMapCache.prototype.clear = mapCacheClear;\nMapCache.prototype['delete'] = mapCacheDelete;\nMapCache.prototype.get = mapCacheGet;\nMapCache.prototype.has = mapCacheHas;\nMapCache.prototype.set = mapCacheSet;\n\n/**\n *\n * Creates an array cache object to store unique values.\n *\n * @private\n * @constructor\n * @param {Array} [values] The values to cache.\n */\nfunction SetCache(values) {\n var index = -1,\n length = values ? values.length : 0;\n\n this.__data__ = new MapCache;\n while (++index < length) {\n this.add(values[index]);\n }\n}\n\n/**\n * Adds `value` to the array cache.\n *\n * @private\n * @name add\n * @memberOf SetCache\n * @alias push\n * @param {*} value The value to cache.\n * @returns {Object} Returns the cache instance.\n */\nfunction setCacheAdd(value) {\n this.__data__.set(value, HASH_UNDEFINED);\n return this;\n}\n\n/**\n * Checks if `value` is in the array cache.\n *\n * @private\n * @name has\n * @memberOf SetCache\n * @param {*} value The value to search for.\n * @returns {number} Returns `true` if `value` is found, else `false`.\n */\nfunction setCacheHas(value) {\n return this.__data__.has(value);\n}\n\n// Add methods to `SetCache`.\nSetCache.prototype.add = SetCache.prototype.push = setCacheAdd;\nSetCache.prototype.has = setCacheHas;\n\n/**\n * Creates a stack cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Stack(entries) {\n this.__data__ = new ListCache(entries);\n}\n\n/**\n * Removes all key-value entries from the stack.\n *\n * @private\n * @name clear\n * @memberOf Stack\n */\nfunction stackClear() {\n this.__data__ = new ListCache;\n}\n\n/**\n * Removes `key` and its value from the stack.\n *\n * @private\n * @name delete\n * @memberOf Stack\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction stackDelete(key) {\n return this.__data__['delete'](key);\n}\n\n/**\n * Gets the stack value for `key`.\n *\n * @private\n * @name get\n * @memberOf Stack\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction stackGet(key) {\n return this.__data__.get(key);\n}\n\n/**\n * Checks if a stack value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Stack\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction stackHas(key) {\n return this.__data__.has(key);\n}\n\n/**\n * Sets the stack `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Stack\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the stack cache instance.\n */\nfunction stackSet(key, value) {\n var cache = this.__data__;\n if (cache instanceof ListCache) {\n var pairs = cache.__data__;\n if (!Map || (pairs.length < LARGE_ARRAY_SIZE - 1)) {\n pairs.push([key, value]);\n return this;\n }\n cache = this.__data__ = new MapCache(pairs);\n }\n cache.set(key, value);\n return this;\n}\n\n// Add methods to `Stack`.\nStack.prototype.clear = stackClear;\nStack.prototype['delete'] = stackDelete;\nStack.prototype.get = stackGet;\nStack.prototype.has = stackHas;\nStack.prototype.set = stackSet;\n\n/**\n * Creates an array of the enumerable property names of the array-like `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @param {boolean} inherited Specify returning inherited property names.\n * @returns {Array} Returns the array of property names.\n */\nfunction arrayLikeKeys(value, inherited) {\n // Safari 8.1 makes `arguments.callee` enumerable in strict mode.\n // Safari 9 makes `arguments.length` enumerable in strict mode.\n var result = (isArray(value) || isArguments(value))\n ? baseTimes(value.length, String)\n : [];\n\n var length = result.length,\n skipIndexes = !!length;\n\n for (var key in value) {\n if ((inherited || hasOwnProperty.call(value, key)) &&\n !(skipIndexes && (key == 'length' || isIndex(key, length)))) {\n result.push(key);\n }\n }\n return result;\n}\n\n/**\n * Gets the index at which the `key` is found in `array` of key-value pairs.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} key The key to search for.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction assocIndexOf(array, key) {\n var length = array.length;\n while (length--) {\n if (eq(array[length][0], key)) {\n return length;\n }\n }\n return -1;\n}\n\n/**\n * The base implementation of `_.get` without support for default values.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Array|string} path The path of the property to get.\n * @returns {*} Returns the resolved value.\n */\nfunction baseGet(object, path) {\n path = isKey(path, object) ? [path] : castPath(path);\n\n var index = 0,\n length = path.length;\n\n while (object != null && index < length) {\n object = object[toKey(path[index++])];\n }\n return (index && index == length) ? object : undefined;\n}\n\n/**\n * The base implementation of `getTag`.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nfunction baseGetTag(value) {\n return objectToString.call(value);\n}\n\n/**\n * The base implementation of `_.hasIn` without support for deep paths.\n *\n * @private\n * @param {Object} [object] The object to query.\n * @param {Array|string} key The key to check.\n * @returns {boolean} Returns `true` if `key` exists, else `false`.\n */\nfunction baseHasIn(object, key) {\n return object != null && key in Object(object);\n}\n\n/**\n * The base implementation of `_.isEqual` which supports partial comparisons\n * and tracks traversed objects.\n *\n * @private\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @param {Function} [customizer] The function to customize comparisons.\n * @param {boolean} [bitmask] The bitmask of comparison flags.\n * The bitmask may be composed of the following flags:\n * 1 - Unordered comparison\n * 2 - Partial comparison\n * @param {Object} [stack] Tracks traversed `value` and `other` objects.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n */\nfunction baseIsEqual(value, other, customizer, bitmask, stack) {\n if (value === other) {\n return true;\n }\n if (value == null || other == null || (!isObject(value) && !isObjectLike(other))) {\n return value !== value && other !== other;\n }\n return baseIsEqualDeep(value, other, baseIsEqual, customizer, bitmask, stack);\n}\n\n/**\n * A specialized version of `baseIsEqual` for arrays and objects which performs\n * deep comparisons and tracks traversed objects enabling objects with circular\n * references to be compared.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Function} [customizer] The function to customize comparisons.\n * @param {number} [bitmask] The bitmask of comparison flags. See `baseIsEqual`\n * for more details.\n * @param {Object} [stack] Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction baseIsEqualDeep(object, other, equalFunc, customizer, bitmask, stack) {\n var objIsArr = isArray(object),\n othIsArr = isArray(other),\n objTag = arrayTag,\n othTag = arrayTag;\n\n if (!objIsArr) {\n objTag = getTag(object);\n objTag = objTag == argsTag ? objectTag : objTag;\n }\n if (!othIsArr) {\n othTag = getTag(other);\n othTag = othTag == argsTag ? objectTag : othTag;\n }\n var objIsObj = objTag == objectTag && !isHostObject(object),\n othIsObj = othTag == objectTag && !isHostObject(other),\n isSameTag = objTag == othTag;\n\n if (isSameTag && !objIsObj) {\n stack || (stack = new Stack);\n return (objIsArr || isTypedArray(object))\n ? equalArrays(object, other, equalFunc, customizer, bitmask, stack)\n : equalByTag(object, other, objTag, equalFunc, customizer, bitmask, stack);\n }\n if (!(bitmask & PARTIAL_COMPARE_FLAG)) {\n var objIsWrapped = objIsObj && hasOwnProperty.call(object, '__wrapped__'),\n othIsWrapped = othIsObj && hasOwnProperty.call(other, '__wrapped__');\n\n if (objIsWrapped || othIsWrapped) {\n var objUnwrapped = objIsWrapped ? object.value() : object,\n othUnwrapped = othIsWrapped ? other.value() : other;\n\n stack || (stack = new Stack);\n return equalFunc(objUnwrapped, othUnwrapped, customizer, bitmask, stack);\n }\n }\n if (!isSameTag) {\n return false;\n }\n stack || (stack = new Stack);\n return equalObjects(object, other, equalFunc, customizer, bitmask, stack);\n}\n\n/**\n * The base implementation of `_.isMatch` without support for iteratee shorthands.\n *\n * @private\n * @param {Object} object The object to inspect.\n * @param {Object} source The object of property values to match.\n * @param {Array} matchData The property names, values, and compare flags to match.\n * @param {Function} [customizer] The function to customize comparisons.\n * @returns {boolean} Returns `true` if `object` is a match, else `false`.\n */\nfunction baseIsMatch(object, source, matchData, customizer) {\n var index = matchData.length,\n length = index,\n noCustomizer = !customizer;\n\n if (object == null) {\n return !length;\n }\n object = Object(object);\n while (index--) {\n var data = matchData[index];\n if ((noCustomizer && data[2])\n ? data[1] !== object[data[0]]\n : !(data[0] in object)\n ) {\n return false;\n }\n }\n while (++index < length) {\n data = matchData[index];\n var key = data[0],\n objValue = object[key],\n srcValue = data[1];\n\n if (noCustomizer && data[2]) {\n if (objValue === undefined && !(key in object)) {\n return false;\n }\n } else {\n var stack = new Stack;\n if (customizer) {\n var result = customizer(objValue, srcValue, key, object, source, stack);\n }\n if (!(result === undefined\n ? baseIsEqual(srcValue, objValue, customizer, UNORDERED_COMPARE_FLAG | PARTIAL_COMPARE_FLAG, stack)\n : result\n )) {\n return false;\n }\n }\n }\n return true;\n}\n\n/**\n * The base implementation of `_.isNative` without bad shim checks.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a native function,\n * else `false`.\n */\nfunction baseIsNative(value) {\n if (!isObject(value) || isMasked(value)) {\n return false;\n }\n var pattern = (isFunction(value) || isHostObject(value)) ? reIsNative : reIsHostCtor;\n return pattern.test(toSource(value));\n}\n\n/**\n * The base implementation of `_.isTypedArray` without Node.js optimizations.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n */\nfunction baseIsTypedArray(value) {\n return isObjectLike(value) &&\n isLength(value.length) && !!typedArrayTags[objectToString.call(value)];\n}\n\n/**\n * The base implementation of `_.iteratee`.\n *\n * @private\n * @param {*} [value=_.identity] The value to convert to an iteratee.\n * @returns {Function} Returns the iteratee.\n */\nfunction baseIteratee(value) {\n // Don't store the `typeof` result in a variable to avoid a JIT bug in Safari 9.\n // See https://bugs.webkit.org/show_bug.cgi?id=156034 for more details.\n if (typeof value == 'function') {\n return value;\n }\n if (value == null) {\n return identity;\n }\n if (typeof value == 'object') {\n return isArray(value)\n ? baseMatchesProperty(value[0], value[1])\n : baseMatches(value);\n }\n return property(value);\n}\n\n/**\n * The base implementation of `_.keys` which doesn't treat sparse arrays as dense.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction baseKeys(object) {\n if (!isPrototype(object)) {\n return nativeKeys(object);\n }\n var result = [];\n for (var key in Object(object)) {\n if (hasOwnProperty.call(object, key) && key != 'constructor') {\n result.push(key);\n }\n }\n return result;\n}\n\n/**\n * The base implementation of `_.matches` which doesn't clone `source`.\n *\n * @private\n * @param {Object} source The object of property values to match.\n * @returns {Function} Returns the new spec function.\n */\nfunction baseMatches(source) {\n var matchData = getMatchData(source);\n if (matchData.length == 1 && matchData[0][2]) {\n return matchesStrictComparable(matchData[0][0], matchData[0][1]);\n }\n return function(object) {\n return object === source || baseIsMatch(object, source, matchData);\n };\n}\n\n/**\n * The base implementation of `_.matchesProperty` which doesn't clone `srcValue`.\n *\n * @private\n * @param {string} path The path of the property to get.\n * @param {*} srcValue The value to match.\n * @returns {Function} Returns the new spec function.\n */\nfunction baseMatchesProperty(path, srcValue) {\n if (isKey(path) && isStrictComparable(srcValue)) {\n return matchesStrictComparable(toKey(path), srcValue);\n }\n return function(object) {\n var objValue = get(object, path);\n return (objValue === undefined && objValue === srcValue)\n ? hasIn(object, path)\n : baseIsEqual(srcValue, objValue, undefined, UNORDERED_COMPARE_FLAG | PARTIAL_COMPARE_FLAG);\n };\n}\n\n/**\n * A specialized version of `baseProperty` which supports deep paths.\n *\n * @private\n * @param {Array|string} path The path of the property to get.\n * @returns {Function} Returns the new accessor function.\n */\nfunction basePropertyDeep(path) {\n return function(object) {\n return baseGet(object, path);\n };\n}\n\n/**\n * The base implementation of `_.toString` which doesn't convert nullish\n * values to empty strings.\n *\n * @private\n * @param {*} value The value to process.\n * @returns {string} Returns the string.\n */\nfunction baseToString(value) {\n // Exit early for strings to avoid a performance hit in some environments.\n if (typeof value == 'string') {\n return value;\n }\n if (isSymbol(value)) {\n return symbolToString ? symbolToString.call(value) : '';\n }\n var result = (value + '');\n return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result;\n}\n\n/**\n * Casts `value` to a path array if it's not one.\n *\n * @private\n * @param {*} value The value to inspect.\n * @returns {Array} Returns the cast property path array.\n */\nfunction castPath(value) {\n return isArray(value) ? value : stringToPath(value);\n}\n\n/**\n * A specialized version of `baseIsEqualDeep` for arrays with support for\n * partial deep comparisons.\n *\n * @private\n * @param {Array} array The array to compare.\n * @param {Array} other The other array to compare.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Function} customizer The function to customize comparisons.\n * @param {number} bitmask The bitmask of comparison flags. See `baseIsEqual`\n * for more details.\n * @param {Object} stack Tracks traversed `array` and `other` objects.\n * @returns {boolean} Returns `true` if the arrays are equivalent, else `false`.\n */\nfunction equalArrays(array, other, equalFunc, customizer, bitmask, stack) {\n var isPartial = bitmask & PARTIAL_COMPARE_FLAG,\n arrLength = array.length,\n othLength = other.length;\n\n if (arrLength != othLength && !(isPartial && othLength > arrLength)) {\n return false;\n }\n // Assume cyclic values are equal.\n var stacked = stack.get(array);\n if (stacked && stack.get(other)) {\n return stacked == other;\n }\n var index = -1,\n result = true,\n seen = (bitmask & UNORDERED_COMPARE_FLAG) ? new SetCache : undefined;\n\n stack.set(array, other);\n stack.set(other, array);\n\n // Ignore non-index properties.\n while (++index < arrLength) {\n var arrValue = array[index],\n othValue = other[index];\n\n if (customizer) {\n var compared = isPartial\n ? customizer(othValue, arrValue, index, other, array, stack)\n : customizer(arrValue, othValue, index, array, other, stack);\n }\n if (compared !== undefined) {\n if (compared) {\n continue;\n }\n result = false;\n break;\n }\n // Recursively compare arrays (susceptible to call stack limits).\n if (seen) {\n if (!arraySome(other, function(othValue, othIndex) {\n if (!seen.has(othIndex) &&\n (arrValue === othValue || equalFunc(arrValue, othValue, customizer, bitmask, stack))) {\n return seen.add(othIndex);\n }\n })) {\n result = false;\n break;\n }\n } else if (!(\n arrValue === othValue ||\n equalFunc(arrValue, othValue, customizer, bitmask, stack)\n )) {\n result = false;\n break;\n }\n }\n stack['delete'](array);\n stack['delete'](other);\n return result;\n}\n\n/**\n * A specialized version of `baseIsEqualDeep` for comparing objects of\n * the same `toStringTag`.\n *\n * **Note:** This function only supports comparing values with tags of\n * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {string} tag The `toStringTag` of the objects to compare.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Function} customizer The function to customize comparisons.\n * @param {number} bitmask The bitmask of comparison flags. See `baseIsEqual`\n * for more details.\n * @param {Object} stack Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction equalByTag(object, other, tag, equalFunc, customizer, bitmask, stack) {\n switch (tag) {\n case dataViewTag:\n if ((object.byteLength != other.byteLength) ||\n (object.byteOffset != other.byteOffset)) {\n return false;\n }\n object = object.buffer;\n other = other.buffer;\n\n case arrayBufferTag:\n if ((object.byteLength != other.byteLength) ||\n !equalFunc(new Uint8Array(object), new Uint8Array(other))) {\n return false;\n }\n return true;\n\n case boolTag:\n case dateTag:\n case numberTag:\n // Coerce booleans to `1` or `0` and dates to milliseconds.\n // Invalid dates are coerced to `NaN`.\n return eq(+object, +other);\n\n case errorTag:\n return object.name == other.name && object.message == other.message;\n\n case regexpTag:\n case stringTag:\n // Coerce regexes to strings and treat strings, primitives and objects,\n // as equal. See http://www.ecma-international.org/ecma-262/7.0/#sec-regexp.prototype.tostring\n // for more details.\n return object == (other + '');\n\n case mapTag:\n var convert = mapToArray;\n\n case setTag:\n var isPartial = bitmask & PARTIAL_COMPARE_FLAG;\n convert || (convert = setToArray);\n\n if (object.size != other.size && !isPartial) {\n return false;\n }\n // Assume cyclic values are equal.\n var stacked = stack.get(object);\n if (stacked) {\n return stacked == other;\n }\n bitmask |= UNORDERED_COMPARE_FLAG;\n\n // Recursively compare objects (susceptible to call stack limits).\n stack.set(object, other);\n var result = equalArrays(convert(object), convert(other), equalFunc, customizer, bitmask, stack);\n stack['delete'](object);\n return result;\n\n case symbolTag:\n if (symbolValueOf) {\n return symbolValueOf.call(object) == symbolValueOf.call(other);\n }\n }\n return false;\n}\n\n/**\n * A specialized version of `baseIsEqualDeep` for objects with support for\n * partial deep comparisons.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Function} customizer The function to customize comparisons.\n * @param {number} bitmask The bitmask of comparison flags. See `baseIsEqual`\n * for more details.\n * @param {Object} stack Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction equalObjects(object, other, equalFunc, customizer, bitmask, stack) {\n var isPartial = bitmask & PARTIAL_COMPARE_FLAG,\n objProps = keys(object),\n objLength = objProps.length,\n othProps = keys(other),\n othLength = othProps.length;\n\n if (objLength != othLength && !isPartial) {\n return false;\n }\n var index = objLength;\n while (index--) {\n var key = objProps[index];\n if (!(isPartial ? key in other : hasOwnProperty.call(other, key))) {\n return false;\n }\n }\n // Assume cyclic values are equal.\n var stacked = stack.get(object);\n if (stacked && stack.get(other)) {\n return stacked == other;\n }\n var result = true;\n stack.set(object, other);\n stack.set(other, object);\n\n var skipCtor = isPartial;\n while (++index < objLength) {\n key = objProps[index];\n var objValue = object[key],\n othValue = other[key];\n\n if (customizer) {\n var compared = isPartial\n ? customizer(othValue, objValue, key, other, object, stack)\n : customizer(objValue, othValue, key, object, other, stack);\n }\n // Recursively compare objects (susceptible to call stack limits).\n if (!(compared === undefined\n ? (objValue === othValue || equalFunc(objValue, othValue, customizer, bitmask, stack))\n : compared\n )) {\n result = false;\n break;\n }\n skipCtor || (skipCtor = key == 'constructor');\n }\n if (result && !skipCtor) {\n var objCtor = object.constructor,\n othCtor = other.constructor;\n\n // Non `Object` object instances with different constructors are not equal.\n if (objCtor != othCtor &&\n ('constructor' in object && 'constructor' in other) &&\n !(typeof objCtor == 'function' && objCtor instanceof objCtor &&\n typeof othCtor == 'function' && othCtor instanceof othCtor)) {\n result = false;\n }\n }\n stack['delete'](object);\n stack['delete'](other);\n return result;\n}\n\n/**\n * Gets the data for `map`.\n *\n * @private\n * @param {Object} map The map to query.\n * @param {string} key The reference key.\n * @returns {*} Returns the map data.\n */\nfunction getMapData(map, key) {\n var data = map.__data__;\n return isKeyable(key)\n ? data[typeof key == 'string' ? 'string' : 'hash']\n : data.map;\n}\n\n/**\n * Gets the property names, values, and compare flags of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the match data of `object`.\n */\nfunction getMatchData(object) {\n var result = keys(object),\n length = result.length;\n\n while (length--) {\n var key = result[length],\n value = object[key];\n\n result[length] = [key, value, isStrictComparable(value)];\n }\n return result;\n}\n\n/**\n * Gets the native function at `key` of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the method to get.\n * @returns {*} Returns the function if it's native, else `undefined`.\n */\nfunction getNative(object, key) {\n var value = getValue(object, key);\n return baseIsNative(value) ? value : undefined;\n}\n\n/**\n * Gets the `toStringTag` of `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nvar getTag = baseGetTag;\n\n// Fallback for data views, maps, sets, and weak maps in IE 11,\n// for data views in Edge < 14, and promises in Node.js.\nif ((DataView && getTag(new DataView(new ArrayBuffer(1))) != dataViewTag) ||\n (Map && getTag(new Map) != mapTag) ||\n (Promise && getTag(Promise.resolve()) != promiseTag) ||\n (Set && getTag(new Set) != setTag) ||\n (WeakMap && getTag(new WeakMap) != weakMapTag)) {\n getTag = function(value) {\n var result = objectToString.call(value),\n Ctor = result == objectTag ? value.constructor : undefined,\n ctorString = Ctor ? toSource(Ctor) : undefined;\n\n if (ctorString) {\n switch (ctorString) {\n case dataViewCtorString: return dataViewTag;\n case mapCtorString: return mapTag;\n case promiseCtorString: return promiseTag;\n case setCtorString: return setTag;\n case weakMapCtorString: return weakMapTag;\n }\n }\n return result;\n };\n}\n\n/**\n * Checks if `path` exists on `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Array|string} path The path to check.\n * @param {Function} hasFunc The function to check properties.\n * @returns {boolean} Returns `true` if `path` exists, else `false`.\n */\nfunction hasPath(object, path, hasFunc) {\n path = isKey(path, object) ? [path] : castPath(path);\n\n var result,\n index = -1,\n length = path.length;\n\n while (++index < length) {\n var key = toKey(path[index]);\n if (!(result = object != null && hasFunc(object, key))) {\n break;\n }\n object = object[key];\n }\n if (result) {\n return result;\n }\n var length = object ? object.length : 0;\n return !!length && isLength(length) && isIndex(key, length) &&\n (isArray(object) || isArguments(object));\n}\n\n/**\n * Checks if `value` is a valid array-like index.\n *\n * @private\n * @param {*} value The value to check.\n * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index.\n * @returns {boolean} Returns `true` if `value` is a valid index, else `false`.\n */\nfunction isIndex(value, length) {\n length = length == null ? MAX_SAFE_INTEGER : length;\n return !!length &&\n (typeof value == 'number' || reIsUint.test(value)) &&\n (value > -1 && value % 1 == 0 && value < length);\n}\n\n/**\n * Checks if `value` is a property name and not a property path.\n *\n * @private\n * @param {*} value The value to check.\n * @param {Object} [object] The object to query keys on.\n * @returns {boolean} Returns `true` if `value` is a property name, else `false`.\n */\nfunction isKey(value, object) {\n if (isArray(value)) {\n return false;\n }\n var type = typeof value;\n if (type == 'number' || type == 'symbol' || type == 'boolean' ||\n value == null || isSymbol(value)) {\n return true;\n }\n return reIsPlainProp.test(value) || !reIsDeepProp.test(value) ||\n (object != null && value in Object(object));\n}\n\n/**\n * Checks if `value` is suitable for use as unique object key.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is suitable, else `false`.\n */\nfunction isKeyable(value) {\n var type = typeof value;\n return (type == 'string' || type == 'number' || type == 'symbol' || type == 'boolean')\n ? (value !== '__proto__')\n : (value === null);\n}\n\n/**\n * Checks if `func` has its source masked.\n *\n * @private\n * @param {Function} func The function to check.\n * @returns {boolean} Returns `true` if `func` is masked, else `false`.\n */\nfunction isMasked(func) {\n return !!maskSrcKey && (maskSrcKey in func);\n}\n\n/**\n * Checks if `value` is likely a prototype object.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a prototype, else `false`.\n */\nfunction isPrototype(value) {\n var Ctor = value && value.constructor,\n proto = (typeof Ctor == 'function' && Ctor.prototype) || objectProto;\n\n return value === proto;\n}\n\n/**\n * Checks if `value` is suitable for strict equality comparisons, i.e. `===`.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` if suitable for strict\n * equality comparisons, else `false`.\n */\nfunction isStrictComparable(value) {\n return value === value && !isObject(value);\n}\n\n/**\n * A specialized version of `matchesProperty` for source values suitable\n * for strict equality comparisons, i.e. `===`.\n *\n * @private\n * @param {string} key The key of the property to get.\n * @param {*} srcValue The value to match.\n * @returns {Function} Returns the new spec function.\n */\nfunction matchesStrictComparable(key, srcValue) {\n return function(object) {\n if (object == null) {\n return false;\n }\n return object[key] === srcValue &&\n (srcValue !== undefined || (key in Object(object)));\n };\n}\n\n/**\n * Converts `string` to a property path array.\n *\n * @private\n * @param {string} string The string to convert.\n * @returns {Array} Returns the property path array.\n */\nvar stringToPath = memoize(function(string) {\n string = toString(string);\n\n var result = [];\n if (reLeadingDot.test(string)) {\n result.push('');\n }\n string.replace(rePropName, function(match, number, quote, string) {\n result.push(quote ? string.replace(reEscapeChar, '$1') : (number || match));\n });\n return result;\n});\n\n/**\n * Converts `value` to a string key if it's not a string or symbol.\n *\n * @private\n * @param {*} value The value to inspect.\n * @returns {string|symbol} Returns the key.\n */\nfunction toKey(value) {\n if (typeof value == 'string' || isSymbol(value)) {\n return value;\n }\n var result = (value + '');\n return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result;\n}\n\n/**\n * Converts `func` to its source code.\n *\n * @private\n * @param {Function} func The function to process.\n * @returns {string} Returns the source code.\n */\nfunction toSource(func) {\n if (func != null) {\n try {\n return funcToString.call(func);\n } catch (e) {}\n try {\n return (func + '');\n } catch (e) {}\n }\n return '';\n}\n\n/**\n * This method is like `_.find` except that it returns the index of the first\n * element `predicate` returns truthy for instead of the element itself.\n *\n * @static\n * @memberOf _\n * @since 1.1.0\n * @category Array\n * @param {Array} array The array to inspect.\n * @param {Function} [predicate=_.identity]\n * The function invoked per iteration.\n * @param {number} [fromIndex=0] The index to search from.\n * @returns {number} Returns the index of the found element, else `-1`.\n * @example\n *\n * var users = [\n * { 'user': 'barney', 'active': false },\n * { 'user': 'fred', 'active': false },\n * { 'user': 'pebbles', 'active': true }\n * ];\n *\n * _.findIndex(users, function(o) { return o.user == 'barney'; });\n * // => 0\n *\n * // The `_.matches` iteratee shorthand.\n * _.findIndex(users, { 'user': 'fred', 'active': false });\n * // => 1\n *\n * // The `_.matchesProperty` iteratee shorthand.\n * _.findIndex(users, ['active', false]);\n * // => 0\n *\n * // The `_.property` iteratee shorthand.\n * _.findIndex(users, 'active');\n * // => 2\n */\nfunction findIndex(array, predicate, fromIndex) {\n var length = array ? array.length : 0;\n if (!length) {\n return -1;\n }\n var index = fromIndex == null ? 0 : toInteger(fromIndex);\n if (index < 0) {\n index = nativeMax(length + index, 0);\n }\n return baseFindIndex(array, baseIteratee(predicate, 3), index);\n}\n\n/**\n * Creates a function that memoizes the result of `func`. If `resolver` is\n * provided, it determines the cache key for storing the result based on the\n * arguments provided to the memoized function. By default, the first argument\n * provided to the memoized function is used as the map cache key. The `func`\n * is invoked with the `this` binding of the memoized function.\n *\n * **Note:** The cache is exposed as the `cache` property on the memoized\n * function. Its creation may be customized by replacing the `_.memoize.Cache`\n * constructor with one whose instances implement the\n * [`Map`](http://ecma-international.org/ecma-262/7.0/#sec-properties-of-the-map-prototype-object)\n * method interface of `delete`, `get`, `has`, and `set`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to have its output memoized.\n * @param {Function} [resolver] The function to resolve the cache key.\n * @returns {Function} Returns the new memoized function.\n * @example\n *\n * var object = { 'a': 1, 'b': 2 };\n * var other = { 'c': 3, 'd': 4 };\n *\n * var values = _.memoize(_.values);\n * values(object);\n * // => [1, 2]\n *\n * values(other);\n * // => [3, 4]\n *\n * object.a = 2;\n * values(object);\n * // => [1, 2]\n *\n * // Modify the result cache.\n * values.cache.set(object, ['a', 'b']);\n * values(object);\n * // => ['a', 'b']\n *\n * // Replace `_.memoize.Cache`.\n * _.memoize.Cache = WeakMap;\n */\nfunction memoize(func, resolver) {\n if (typeof func != 'function' || (resolver && typeof resolver != 'function')) {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n var memoized = function() {\n var args = arguments,\n key = resolver ? resolver.apply(this, args) : args[0],\n cache = memoized.cache;\n\n if (cache.has(key)) {\n return cache.get(key);\n }\n var result = func.apply(this, args);\n memoized.cache = cache.set(key, result);\n return result;\n };\n memoized.cache = new (memoize.Cache || MapCache);\n return memoized;\n}\n\n// Assign cache to `_.memoize`.\nmemoize.Cache = MapCache;\n\n/**\n * Performs a\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * comparison between two values to determine if they are equivalent.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'a': 1 };\n * var other = { 'a': 1 };\n *\n * _.eq(object, object);\n * // => true\n *\n * _.eq(object, other);\n * // => false\n *\n * _.eq('a', 'a');\n * // => true\n *\n * _.eq('a', Object('a'));\n * // => false\n *\n * _.eq(NaN, NaN);\n * // => true\n */\nfunction eq(value, other) {\n return value === other || (value !== value && other !== other);\n}\n\n/**\n * Checks if `value` is likely an `arguments` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n * else `false`.\n * @example\n *\n * _.isArguments(function() { return arguments; }());\n * // => true\n *\n * _.isArguments([1, 2, 3]);\n * // => false\n */\nfunction isArguments(value) {\n // Safari 8.1 makes `arguments.callee` enumerable in strict mode.\n return isArrayLikeObject(value) && hasOwnProperty.call(value, 'callee') &&\n (!propertyIsEnumerable.call(value, 'callee') || objectToString.call(value) == argsTag);\n}\n\n/**\n * Checks if `value` is classified as an `Array` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array, else `false`.\n * @example\n *\n * _.isArray([1, 2, 3]);\n * // => true\n *\n * _.isArray(document.body.children);\n * // => false\n *\n * _.isArray('abc');\n * // => false\n *\n * _.isArray(_.noop);\n * // => false\n */\nvar isArray = Array.isArray;\n\n/**\n * Checks if `value` is array-like. A value is considered array-like if it's\n * not a function and has a `value.length` that's an integer greater than or\n * equal to `0` and less than or equal to `Number.MAX_SAFE_INTEGER`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is array-like, else `false`.\n * @example\n *\n * _.isArrayLike([1, 2, 3]);\n * // => true\n *\n * _.isArrayLike(document.body.children);\n * // => true\n *\n * _.isArrayLike('abc');\n * // => true\n *\n * _.isArrayLike(_.noop);\n * // => false\n */\nfunction isArrayLike(value) {\n return value != null && isLength(value.length) && !isFunction(value);\n}\n\n/**\n * This method is like `_.isArrayLike` except that it also checks if `value`\n * is an object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array-like object,\n * else `false`.\n * @example\n *\n * _.isArrayLikeObject([1, 2, 3]);\n * // => true\n *\n * _.isArrayLikeObject(document.body.children);\n * // => true\n *\n * _.isArrayLikeObject('abc');\n * // => false\n *\n * _.isArrayLikeObject(_.noop);\n * // => false\n */\nfunction isArrayLikeObject(value) {\n return isObjectLike(value) && isArrayLike(value);\n}\n\n/**\n * Checks if `value` is classified as a `Function` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a function, else `false`.\n * @example\n *\n * _.isFunction(_);\n * // => true\n *\n * _.isFunction(/abc/);\n * // => false\n */\nfunction isFunction(value) {\n // The use of `Object#toString` avoids issues with the `typeof` operator\n // in Safari 8-9 which returns 'object' for typed array and other constructors.\n var tag = isObject(value) ? objectToString.call(value) : '';\n return tag == funcTag || tag == genTag;\n}\n\n/**\n * Checks if `value` is a valid array-like length.\n *\n * **Note:** This method is loosely based on\n * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.\n * @example\n *\n * _.isLength(3);\n * // => true\n *\n * _.isLength(Number.MIN_VALUE);\n * // => false\n *\n * _.isLength(Infinity);\n * // => false\n *\n * _.isLength('3');\n * // => false\n */\nfunction isLength(value) {\n return typeof value == 'number' &&\n value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;\n}\n\n/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n var type = typeof value;\n return !!value && (type == 'object' || type == 'function');\n}\n\n/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return !!value && typeof value == 'object';\n}\n\n/**\n * Checks if `value` is classified as a `Symbol` primitive or object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a symbol, else `false`.\n * @example\n *\n * _.isSymbol(Symbol.iterator);\n * // => true\n *\n * _.isSymbol('abc');\n * // => false\n */\nfunction isSymbol(value) {\n return typeof value == 'symbol' ||\n (isObjectLike(value) && objectToString.call(value) == symbolTag);\n}\n\n/**\n * Checks if `value` is classified as a typed array.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n * @example\n *\n * _.isTypedArray(new Uint8Array);\n * // => true\n *\n * _.isTypedArray([]);\n * // => false\n */\nvar isTypedArray = nodeIsTypedArray ? baseUnary(nodeIsTypedArray) : baseIsTypedArray;\n\n/**\n * Converts `value` to a finite number.\n *\n * @static\n * @memberOf _\n * @since 4.12.0\n * @category Lang\n * @param {*} value The value to convert.\n * @returns {number} Returns the converted number.\n * @example\n *\n * _.toFinite(3.2);\n * // => 3.2\n *\n * _.toFinite(Number.MIN_VALUE);\n * // => 5e-324\n *\n * _.toFinite(Infinity);\n * // => 1.7976931348623157e+308\n *\n * _.toFinite('3.2');\n * // => 3.2\n */\nfunction toFinite(value) {\n if (!value) {\n return value === 0 ? value : 0;\n }\n value = toNumber(value);\n if (value === INFINITY || value === -INFINITY) {\n var sign = (value < 0 ? -1 : 1);\n return sign * MAX_INTEGER;\n }\n return value === value ? value : 0;\n}\n\n/**\n * Converts `value` to an integer.\n *\n * **Note:** This method is loosely based on\n * [`ToInteger`](http://www.ecma-international.org/ecma-262/7.0/#sec-tointeger).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to convert.\n * @returns {number} Returns the converted integer.\n * @example\n *\n * _.toInteger(3.2);\n * // => 3\n *\n * _.toInteger(Number.MIN_VALUE);\n * // => 0\n *\n * _.toInteger(Infinity);\n * // => 1.7976931348623157e+308\n *\n * _.toInteger('3.2');\n * // => 3\n */\nfunction toInteger(value) {\n var result = toFinite(value),\n remainder = result % 1;\n\n return result === result ? (remainder ? result - remainder : result) : 0;\n}\n\n/**\n * Converts `value` to a number.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to process.\n * @returns {number} Returns the number.\n * @example\n *\n * _.toNumber(3.2);\n * // => 3.2\n *\n * _.toNumber(Number.MIN_VALUE);\n * // => 5e-324\n *\n * _.toNumber(Infinity);\n * // => Infinity\n *\n * _.toNumber('3.2');\n * // => 3.2\n */\nfunction toNumber(value) {\n if (typeof value == 'number') {\n return value;\n }\n if (isSymbol(value)) {\n return NAN;\n }\n if (isObject(value)) {\n var other = typeof value.valueOf == 'function' ? value.valueOf() : value;\n value = isObject(other) ? (other + '') : other;\n }\n if (typeof value != 'string') {\n return value === 0 ? value : +value;\n }\n value = value.replace(reTrim, '');\n var isBinary = reIsBinary.test(value);\n return (isBinary || reIsOctal.test(value))\n ? freeParseInt(value.slice(2), isBinary ? 2 : 8)\n : (reIsBadHex.test(value) ? NAN : +value);\n}\n\n/**\n * Converts `value` to a string. An empty string is returned for `null`\n * and `undefined` values. The sign of `-0` is preserved.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to process.\n * @returns {string} Returns the string.\n * @example\n *\n * _.toString(null);\n * // => ''\n *\n * _.toString(-0);\n * // => '-0'\n *\n * _.toString([1, 2, 3]);\n * // => '1,2,3'\n */\nfunction toString(value) {\n return value == null ? '' : baseToString(value);\n}\n\n/**\n * Gets the value at `path` of `object`. If the resolved value is\n * `undefined`, the `defaultValue` is returned in its place.\n *\n * @static\n * @memberOf _\n * @since 3.7.0\n * @category Object\n * @param {Object} object The object to query.\n * @param {Array|string} path The path of the property to get.\n * @param {*} [defaultValue] The value returned for `undefined` resolved values.\n * @returns {*} Returns the resolved value.\n * @example\n *\n * var object = { 'a': [{ 'b': { 'c': 3 } }] };\n *\n * _.get(object, 'a[0].b.c');\n * // => 3\n *\n * _.get(object, ['a', '0', 'b', 'c']);\n * // => 3\n *\n * _.get(object, 'a.b.c', 'default');\n * // => 'default'\n */\nfunction get(object, path, defaultValue) {\n var result = object == null ? undefined : baseGet(object, path);\n return result === undefined ? defaultValue : result;\n}\n\n/**\n * Checks if `path` is a direct or inherited property of `object`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Object\n * @param {Object} object The object to query.\n * @param {Array|string} path The path to check.\n * @returns {boolean} Returns `true` if `path` exists, else `false`.\n * @example\n *\n * var object = _.create({ 'a': _.create({ 'b': 2 }) });\n *\n * _.hasIn(object, 'a');\n * // => true\n *\n * _.hasIn(object, 'a.b');\n * // => true\n *\n * _.hasIn(object, ['a', 'b']);\n * // => true\n *\n * _.hasIn(object, 'b');\n * // => false\n */\nfunction hasIn(object, path) {\n return object != null && hasPath(object, path, baseHasIn);\n}\n\n/**\n * Creates an array of the own enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects. See the\n * [ES spec](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)\n * for more details.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keys(new Foo);\n * // => ['a', 'b'] (iteration order is not guaranteed)\n *\n * _.keys('hi');\n * // => ['0', '1']\n */\nfunction keys(object) {\n return isArrayLike(object) ? arrayLikeKeys(object) : baseKeys(object);\n}\n\n/**\n * This method returns the first argument it receives.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Util\n * @param {*} value Any value.\n * @returns {*} Returns `value`.\n * @example\n *\n * var object = { 'a': 1 };\n *\n * console.log(_.identity(object) === object);\n * // => true\n */\nfunction identity(value) {\n return value;\n}\n\n/**\n * Creates a function that returns the value at `path` of a given object.\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Util\n * @param {Array|string} path The path of the property to get.\n * @returns {Function} Returns the new accessor function.\n * @example\n *\n * var objects = [\n * { 'a': { 'b': 2 } },\n * { 'a': { 'b': 1 } }\n * ];\n *\n * _.map(objects, _.property('a.b'));\n * // => [2, 1]\n *\n * _.map(_.sortBy(objects, _.property(['a', 'b'])), 'a.b');\n * // => [1, 2]\n */\nfunction property(path) {\n return isKey(path) ? baseProperty(toKey(path)) : basePropertyDeep(path);\n}\n\nmodule.exports = findIndex;\n","/**\n * Copyright (c) 2014-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\n/**\n * Similar to invariant but only logs a warning if the condition is not met.\n * This can be used to log issues in development environments in critical\n * paths. Removing the logging code for production environments will keep the\n * same logic and follow the same code paths.\n */\n\nvar __DEV__ = process.env.NODE_ENV !== 'production';\n\nvar warning = function() {};\n\nif (__DEV__) {\n var printWarning = function printWarning(format, args) {\n var len = arguments.length;\n args = new Array(len > 1 ? len - 1 : 0);\n for (var key = 1; key < len; key++) {\n args[key - 1] = arguments[key];\n }\n var argIndex = 0;\n var message = 'Warning: ' +\n format.replace(/%s/g, function() {\n return args[argIndex++];\n });\n if (typeof console !== 'undefined') {\n console.error(message);\n }\n try {\n // --- Welcome to debugging React ---\n // This error was thrown as a convenience so that you can use this stack\n // to find the callsite that caused this warning to fire.\n throw new Error(message);\n } catch (x) {}\n }\n\n warning = function(condition, format, args) {\n var len = arguments.length;\n args = new Array(len > 2 ? len - 2 : 0);\n for (var key = 2; key < len; key++) {\n args[key - 2] = arguments[key];\n }\n if (format === undefined) {\n throw new Error(\n '`warning(condition, format, ...args)` requires a warning ' +\n 'message argument'\n );\n }\n if (!condition) {\n printWarning.apply(null, [format].concat(args));\n }\n };\n}\n\nmodule.exports = warning;\n","/**\n * Lodash (Custom Build) <https://lodash.com/>\n * Build: `lodash modularize exports=\"npm\" -o ./`\n * Copyright JS Foundation and other contributors <https://js.foundation/>\n * Released under MIT license <https://lodash.com/license>\n * Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>\n * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n */\n\n/** Used as the size to enable large array optimizations. */\nvar LARGE_ARRAY_SIZE = 200;\n\n/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1,\n COMPARE_UNORDERED_FLAG = 2;\n\n/** Used as references for various `Number` constants. */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n asyncTag = '[object AsyncFunction]',\n boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n funcTag = '[object Function]',\n genTag = '[object GeneratorFunction]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n nullTag = '[object Null]',\n objectTag = '[object Object]',\n promiseTag = '[object Promise]',\n proxyTag = '[object Proxy]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n symbolTag = '[object Symbol]',\n undefinedTag = '[object Undefined]',\n weakMapTag = '[object WeakMap]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n dataViewTag = '[object DataView]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/**\n * Used to match `RegExp`\n * [syntax characters](http://ecma-international.org/ecma-262/7.0/#sec-patterns).\n */\nvar reRegExpChar = /[\\\\^$.*+?()[\\]{}|]/g;\n\n/** Used to detect host constructors (Safari). */\nvar reIsHostCtor = /^\\[object .+?Constructor\\]$/;\n\n/** Used to detect unsigned integer values. */\nvar reIsUint = /^(?:0|[1-9]\\d*)$/;\n\n/** Used to identify `toStringTag` values of typed arrays. */\nvar typedArrayTags = {};\ntypedArrayTags[float32Tag] = typedArrayTags[float64Tag] =\ntypedArrayTags[int8Tag] = typedArrayTags[int16Tag] =\ntypedArrayTags[int32Tag] = typedArrayTags[uint8Tag] =\ntypedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] =\ntypedArrayTags[uint32Tag] = true;\ntypedArrayTags[argsTag] = typedArrayTags[arrayTag] =\ntypedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] =\ntypedArrayTags[dataViewTag] = typedArrayTags[dateTag] =\ntypedArrayTags[errorTag] = typedArrayTags[funcTag] =\ntypedArrayTags[mapTag] = typedArrayTags[numberTag] =\ntypedArrayTags[objectTag] = typedArrayTags[regexpTag] =\ntypedArrayTags[setTag] = typedArrayTags[stringTag] =\ntypedArrayTags[weakMapTag] = false;\n\n/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\n/** Detect free variable `exports`. */\nvar freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;\n\n/** Detect free variable `module`. */\nvar freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;\n\n/** Detect the popular CommonJS extension `module.exports`. */\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n\n/** Detect free variable `process` from Node.js. */\nvar freeProcess = moduleExports && freeGlobal.process;\n\n/** Used to access faster Node.js helpers. */\nvar nodeUtil = (function() {\n try {\n return freeProcess && freeProcess.binding && freeProcess.binding('util');\n } catch (e) {}\n}());\n\n/* Node.js helper references. */\nvar nodeIsTypedArray = nodeUtil && nodeUtil.isTypedArray;\n\n/**\n * A specialized version of `_.filter` for arrays without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {Array} Returns the new filtered array.\n */\nfunction arrayFilter(array, predicate) {\n var index = -1,\n length = array == null ? 0 : array.length,\n resIndex = 0,\n result = [];\n\n while (++index < length) {\n var value = array[index];\n if (predicate(value, index, array)) {\n result[resIndex++] = value;\n }\n }\n return result;\n}\n\n/**\n * Appends the elements of `values` to `array`.\n *\n * @private\n * @param {Array} array The array to modify.\n * @param {Array} values The values to append.\n * @returns {Array} Returns `array`.\n */\nfunction arrayPush(array, values) {\n var index = -1,\n length = values.length,\n offset = array.length;\n\n while (++index < length) {\n array[offset + index] = values[index];\n }\n return array;\n}\n\n/**\n * A specialized version of `_.some` for arrays without support for iteratee\n * shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {boolean} Returns `true` if any element passes the predicate check,\n * else `false`.\n */\nfunction arraySome(array, predicate) {\n var index = -1,\n length = array == null ? 0 : array.length;\n\n while (++index < length) {\n if (predicate(array[index], index, array)) {\n return true;\n }\n }\n return false;\n}\n\n/**\n * The base implementation of `_.times` without support for iteratee shorthands\n * or max array length checks.\n *\n * @private\n * @param {number} n The number of times to invoke `iteratee`.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns the array of results.\n */\nfunction baseTimes(n, iteratee) {\n var index = -1,\n result = Array(n);\n\n while (++index < n) {\n result[index] = iteratee(index);\n }\n return result;\n}\n\n/**\n * The base implementation of `_.unary` without support for storing metadata.\n *\n * @private\n * @param {Function} func The function to cap arguments for.\n * @returns {Function} Returns the new capped function.\n */\nfunction baseUnary(func) {\n return function(value) {\n return func(value);\n };\n}\n\n/**\n * Checks if a `cache` value for `key` exists.\n *\n * @private\n * @param {Object} cache The cache to query.\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction cacheHas(cache, key) {\n return cache.has(key);\n}\n\n/**\n * Gets the value at `key` of `object`.\n *\n * @private\n * @param {Object} [object] The object to query.\n * @param {string} key The key of the property to get.\n * @returns {*} Returns the property value.\n */\nfunction getValue(object, key) {\n return object == null ? undefined : object[key];\n}\n\n/**\n * Converts `map` to its key-value pairs.\n *\n * @private\n * @param {Object} map The map to convert.\n * @returns {Array} Returns the key-value pairs.\n */\nfunction mapToArray(map) {\n var index = -1,\n result = Array(map.size);\n\n map.forEach(function(value, key) {\n result[++index] = [key, value];\n });\n return result;\n}\n\n/**\n * Creates a unary function that invokes `func` with its argument transformed.\n *\n * @private\n * @param {Function} func The function to wrap.\n * @param {Function} transform The argument transform.\n * @returns {Function} Returns the new function.\n */\nfunction overArg(func, transform) {\n return function(arg) {\n return func(transform(arg));\n };\n}\n\n/**\n * Converts `set` to an array of its values.\n *\n * @private\n * @param {Object} set The set to convert.\n * @returns {Array} Returns the values.\n */\nfunction setToArray(set) {\n var index = -1,\n result = Array(set.size);\n\n set.forEach(function(value) {\n result[++index] = value;\n });\n return result;\n}\n\n/** Used for built-in method references. */\nvar arrayProto = Array.prototype,\n funcProto = Function.prototype,\n objectProto = Object.prototype;\n\n/** Used to detect overreaching core-js shims. */\nvar coreJsData = root['__core-js_shared__'];\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Used to detect methods masquerading as native. */\nvar maskSrcKey = (function() {\n var uid = /[^.]+$/.exec(coreJsData && coreJsData.keys && coreJsData.keys.IE_PROTO || '');\n return uid ? ('Symbol(src)_1.' + uid) : '';\n}());\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/** Used to detect if a method is native. */\nvar reIsNative = RegExp('^' +\n funcToString.call(hasOwnProperty).replace(reRegExpChar, '\\\\$&')\n .replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g, '$1.*?') + '$'\n);\n\n/** Built-in value references. */\nvar Buffer = moduleExports ? root.Buffer : undefined,\n Symbol = root.Symbol,\n Uint8Array = root.Uint8Array,\n propertyIsEnumerable = objectProto.propertyIsEnumerable,\n splice = arrayProto.splice,\n symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeGetSymbols = Object.getOwnPropertySymbols,\n nativeIsBuffer = Buffer ? Buffer.isBuffer : undefined,\n nativeKeys = overArg(Object.keys, Object);\n\n/* Built-in method references that are verified to be native. */\nvar DataView = getNative(root, 'DataView'),\n Map = getNative(root, 'Map'),\n Promise = getNative(root, 'Promise'),\n Set = getNative(root, 'Set'),\n WeakMap = getNative(root, 'WeakMap'),\n nativeCreate = getNative(Object, 'create');\n\n/** Used to detect maps, sets, and weakmaps. */\nvar dataViewCtorString = toSource(DataView),\n mapCtorString = toSource(Map),\n promiseCtorString = toSource(Promise),\n setCtorString = toSource(Set),\n weakMapCtorString = toSource(WeakMap);\n\n/** Used to convert symbols to primitives and strings. */\nvar symbolProto = Symbol ? Symbol.prototype : undefined,\n symbolValueOf = symbolProto ? symbolProto.valueOf : undefined;\n\n/**\n * Creates a hash object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Hash(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n/**\n * Removes all key-value entries from the hash.\n *\n * @private\n * @name clear\n * @memberOf Hash\n */\nfunction hashClear() {\n this.__data__ = nativeCreate ? nativeCreate(null) : {};\n this.size = 0;\n}\n\n/**\n * Removes `key` and its value from the hash.\n *\n * @private\n * @name delete\n * @memberOf Hash\n * @param {Object} hash The hash to modify.\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction hashDelete(key) {\n var result = this.has(key) && delete this.__data__[key];\n this.size -= result ? 1 : 0;\n return result;\n}\n\n/**\n * Gets the hash value for `key`.\n *\n * @private\n * @name get\n * @memberOf Hash\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction hashGet(key) {\n var data = this.__data__;\n if (nativeCreate) {\n var result = data[key];\n return result === HASH_UNDEFINED ? undefined : result;\n }\n return hasOwnProperty.call(data, key) ? data[key] : undefined;\n}\n\n/**\n * Checks if a hash value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Hash\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction hashHas(key) {\n var data = this.__data__;\n return nativeCreate ? (data[key] !== undefined) : hasOwnProperty.call(data, key);\n}\n\n/**\n * Sets the hash `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Hash\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the hash instance.\n */\nfunction hashSet(key, value) {\n var data = this.__data__;\n this.size += this.has(key) ? 0 : 1;\n data[key] = (nativeCreate && value === undefined) ? HASH_UNDEFINED : value;\n return this;\n}\n\n// Add methods to `Hash`.\nHash.prototype.clear = hashClear;\nHash.prototype['delete'] = hashDelete;\nHash.prototype.get = hashGet;\nHash.prototype.has = hashHas;\nHash.prototype.set = hashSet;\n\n/**\n * Creates an list cache object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction ListCache(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n/**\n * Removes all key-value entries from the list cache.\n *\n * @private\n * @name clear\n * @memberOf ListCache\n */\nfunction listCacheClear() {\n this.__data__ = [];\n this.size = 0;\n}\n\n/**\n * Removes `key` and its value from the list cache.\n *\n * @private\n * @name delete\n * @memberOf ListCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction listCacheDelete(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n return false;\n }\n var lastIndex = data.length - 1;\n if (index == lastIndex) {\n data.pop();\n } else {\n splice.call(data, index, 1);\n }\n --this.size;\n return true;\n}\n\n/**\n * Gets the list cache value for `key`.\n *\n * @private\n * @name get\n * @memberOf ListCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction listCacheGet(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n return index < 0 ? undefined : data[index][1];\n}\n\n/**\n * Checks if a list cache value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf ListCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction listCacheHas(key) {\n return assocIndexOf(this.__data__, key) > -1;\n}\n\n/**\n * Sets the list cache `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf ListCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the list cache instance.\n */\nfunction listCacheSet(key, value) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n ++this.size;\n data.push([key, value]);\n } else {\n data[index][1] = value;\n }\n return this;\n}\n\n// Add methods to `ListCache`.\nListCache.prototype.clear = listCacheClear;\nListCache.prototype['delete'] = listCacheDelete;\nListCache.prototype.get = listCacheGet;\nListCache.prototype.has = listCacheHas;\nListCache.prototype.set = listCacheSet;\n\n/**\n * Creates a map cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction MapCache(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n/**\n * Removes all key-value entries from the map.\n *\n * @private\n * @name clear\n * @memberOf MapCache\n */\nfunction mapCacheClear() {\n this.size = 0;\n this.__data__ = {\n 'hash': new Hash,\n 'map': new (Map || ListCache),\n 'string': new Hash\n };\n}\n\n/**\n * Removes `key` and its value from the map.\n *\n * @private\n * @name delete\n * @memberOf MapCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction mapCacheDelete(key) {\n var result = getMapData(this, key)['delete'](key);\n this.size -= result ? 1 : 0;\n return result;\n}\n\n/**\n * Gets the map value for `key`.\n *\n * @private\n * @name get\n * @memberOf MapCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction mapCacheGet(key) {\n return getMapData(this, key).get(key);\n}\n\n/**\n * Checks if a map value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf MapCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction mapCacheHas(key) {\n return getMapData(this, key).has(key);\n}\n\n/**\n * Sets the map `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf MapCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the map cache instance.\n */\nfunction mapCacheSet(key, value) {\n var data = getMapData(this, key),\n size = data.size;\n\n data.set(key, value);\n this.size += data.size == size ? 0 : 1;\n return this;\n}\n\n// Add methods to `MapCache`.\nMapCache.prototype.clear = mapCacheClear;\nMapCache.prototype['delete'] = mapCacheDelete;\nMapCache.prototype.get = mapCacheGet;\nMapCache.prototype.has = mapCacheHas;\nMapCache.prototype.set = mapCacheSet;\n\n/**\n *\n * Creates an array cache object to store unique values.\n *\n * @private\n * @constructor\n * @param {Array} [values] The values to cache.\n */\nfunction SetCache(values) {\n var index = -1,\n length = values == null ? 0 : values.length;\n\n this.__data__ = new MapCache;\n while (++index < length) {\n this.add(values[index]);\n }\n}\n\n/**\n * Adds `value` to the array cache.\n *\n * @private\n * @name add\n * @memberOf SetCache\n * @alias push\n * @param {*} value The value to cache.\n * @returns {Object} Returns the cache instance.\n */\nfunction setCacheAdd(value) {\n this.__data__.set(value, HASH_UNDEFINED);\n return this;\n}\n\n/**\n * Checks if `value` is in the array cache.\n *\n * @private\n * @name has\n * @memberOf SetCache\n * @param {*} value The value to search for.\n * @returns {number} Returns `true` if `value` is found, else `false`.\n */\nfunction setCacheHas(value) {\n return this.__data__.has(value);\n}\n\n// Add methods to `SetCache`.\nSetCache.prototype.add = SetCache.prototype.push = setCacheAdd;\nSetCache.prototype.has = setCacheHas;\n\n/**\n * Creates a stack cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Stack(entries) {\n var data = this.__data__ = new ListCache(entries);\n this.size = data.size;\n}\n\n/**\n * Removes all key-value entries from the stack.\n *\n * @private\n * @name clear\n * @memberOf Stack\n */\nfunction stackClear() {\n this.__data__ = new ListCache;\n this.size = 0;\n}\n\n/**\n * Removes `key` and its value from the stack.\n *\n * @private\n * @name delete\n * @memberOf Stack\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction stackDelete(key) {\n var data = this.__data__,\n result = data['delete'](key);\n\n this.size = data.size;\n return result;\n}\n\n/**\n * Gets the stack value for `key`.\n *\n * @private\n * @name get\n * @memberOf Stack\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction stackGet(key) {\n return this.__data__.get(key);\n}\n\n/**\n * Checks if a stack value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Stack\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction stackHas(key) {\n return this.__data__.has(key);\n}\n\n/**\n * Sets the stack `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Stack\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the stack cache instance.\n */\nfunction stackSet(key, value) {\n var data = this.__data__;\n if (data instanceof ListCache) {\n var pairs = data.__data__;\n if (!Map || (pairs.length < LARGE_ARRAY_SIZE - 1)) {\n pairs.push([key, value]);\n this.size = ++data.size;\n return this;\n }\n data = this.__data__ = new MapCache(pairs);\n }\n data.set(key, value);\n this.size = data.size;\n return this;\n}\n\n// Add methods to `Stack`.\nStack.prototype.clear = stackClear;\nStack.prototype['delete'] = stackDelete;\nStack.prototype.get = stackGet;\nStack.prototype.has = stackHas;\nStack.prototype.set = stackSet;\n\n/**\n * Creates an array of the enumerable property names of the array-like `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @param {boolean} inherited Specify returning inherited property names.\n * @returns {Array} Returns the array of property names.\n */\nfunction arrayLikeKeys(value, inherited) {\n var isArr = isArray(value),\n isArg = !isArr && isArguments(value),\n isBuff = !isArr && !isArg && isBuffer(value),\n isType = !isArr && !isArg && !isBuff && isTypedArray(value),\n skipIndexes = isArr || isArg || isBuff || isType,\n result = skipIndexes ? baseTimes(value.length, String) : [],\n length = result.length;\n\n for (var key in value) {\n if ((inherited || hasOwnProperty.call(value, key)) &&\n !(skipIndexes && (\n // Safari 9 has enumerable `arguments.length` in strict mode.\n key == 'length' ||\n // Node.js 0.10 has enumerable non-index properties on buffers.\n (isBuff && (key == 'offset' || key == 'parent')) ||\n // PhantomJS 2 has enumerable non-index properties on typed arrays.\n (isType && (key == 'buffer' || key == 'byteLength' || key == 'byteOffset')) ||\n // Skip index properties.\n isIndex(key, length)\n ))) {\n result.push(key);\n }\n }\n return result;\n}\n\n/**\n * Gets the index at which the `key` is found in `array` of key-value pairs.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} key The key to search for.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction assocIndexOf(array, key) {\n var length = array.length;\n while (length--) {\n if (eq(array[length][0], key)) {\n return length;\n }\n }\n return -1;\n}\n\n/**\n * The base implementation of `getAllKeys` and `getAllKeysIn` which uses\n * `keysFunc` and `symbolsFunc` to get the enumerable property names and\n * symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Function} keysFunc The function to get the keys of `object`.\n * @param {Function} symbolsFunc The function to get the symbols of `object`.\n * @returns {Array} Returns the array of property names and symbols.\n */\nfunction baseGetAllKeys(object, keysFunc, symbolsFunc) {\n var result = keysFunc(object);\n return isArray(object) ? result : arrayPush(result, symbolsFunc(object));\n}\n\n/**\n * The base implementation of `getTag` without fallbacks for buggy environments.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nfunction baseGetTag(value) {\n if (value == null) {\n return value === undefined ? undefinedTag : nullTag;\n }\n return (symToStringTag && symToStringTag in Object(value))\n ? getRawTag(value)\n : objectToString(value);\n}\n\n/**\n * The base implementation of `_.isArguments`.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n */\nfunction baseIsArguments(value) {\n return isObjectLike(value) && baseGetTag(value) == argsTag;\n}\n\n/**\n * The base implementation of `_.isEqual` which supports partial comparisons\n * and tracks traversed objects.\n *\n * @private\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @param {boolean} bitmask The bitmask flags.\n * 1 - Unordered comparison\n * 2 - Partial comparison\n * @param {Function} [customizer] The function to customize comparisons.\n * @param {Object} [stack] Tracks traversed `value` and `other` objects.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n */\nfunction baseIsEqual(value, other, bitmask, customizer, stack) {\n if (value === other) {\n return true;\n }\n if (value == null || other == null || (!isObjectLike(value) && !isObjectLike(other))) {\n return value !== value && other !== other;\n }\n return baseIsEqualDeep(value, other, bitmask, customizer, baseIsEqual, stack);\n}\n\n/**\n * A specialized version of `baseIsEqual` for arrays and objects which performs\n * deep comparisons and tracks traversed objects enabling objects with circular\n * references to be compared.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} [stack] Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction baseIsEqualDeep(object, other, bitmask, customizer, equalFunc, stack) {\n var objIsArr = isArray(object),\n othIsArr = isArray(other),\n objTag = objIsArr ? arrayTag : getTag(object),\n othTag = othIsArr ? arrayTag : getTag(other);\n\n objTag = objTag == argsTag ? objectTag : objTag;\n othTag = othTag == argsTag ? objectTag : othTag;\n\n var objIsObj = objTag == objectTag,\n othIsObj = othTag == objectTag,\n isSameTag = objTag == othTag;\n\n if (isSameTag && isBuffer(object)) {\n if (!isBuffer(other)) {\n return false;\n }\n objIsArr = true;\n objIsObj = false;\n }\n if (isSameTag && !objIsObj) {\n stack || (stack = new Stack);\n return (objIsArr || isTypedArray(object))\n ? equalArrays(object, other, bitmask, customizer, equalFunc, stack)\n : equalByTag(object, other, objTag, bitmask, customizer, equalFunc, stack);\n }\n if (!(bitmask & COMPARE_PARTIAL_FLAG)) {\n var objIsWrapped = objIsObj && hasOwnProperty.call(object, '__wrapped__'),\n othIsWrapped = othIsObj && hasOwnProperty.call(other, '__wrapped__');\n\n if (objIsWrapped || othIsWrapped) {\n var objUnwrapped = objIsWrapped ? object.value() : object,\n othUnwrapped = othIsWrapped ? other.value() : other;\n\n stack || (stack = new Stack);\n return equalFunc(objUnwrapped, othUnwrapped, bitmask, customizer, stack);\n }\n }\n if (!isSameTag) {\n return false;\n }\n stack || (stack = new Stack);\n return equalObjects(object, other, bitmask, customizer, equalFunc, stack);\n}\n\n/**\n * The base implementation of `_.isNative` without bad shim checks.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a native function,\n * else `false`.\n */\nfunction baseIsNative(value) {\n if (!isObject(value) || isMasked(value)) {\n return false;\n }\n var pattern = isFunction(value) ? reIsNative : reIsHostCtor;\n return pattern.test(toSource(value));\n}\n\n/**\n * The base implementation of `_.isTypedArray` without Node.js optimizations.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n */\nfunction baseIsTypedArray(value) {\n return isObjectLike(value) &&\n isLength(value.length) && !!typedArrayTags[baseGetTag(value)];\n}\n\n/**\n * The base implementation of `_.keys` which doesn't treat sparse arrays as dense.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction baseKeys(object) {\n if (!isPrototype(object)) {\n return nativeKeys(object);\n }\n var result = [];\n for (var key in Object(object)) {\n if (hasOwnProperty.call(object, key) && key != 'constructor') {\n result.push(key);\n }\n }\n return result;\n}\n\n/**\n * A specialized version of `baseIsEqualDeep` for arrays with support for\n * partial deep comparisons.\n *\n * @private\n * @param {Array} array The array to compare.\n * @param {Array} other The other array to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} stack Tracks traversed `array` and `other` objects.\n * @returns {boolean} Returns `true` if the arrays are equivalent, else `false`.\n */\nfunction equalArrays(array, other, bitmask, customizer, equalFunc, stack) {\n var isPartial = bitmask & COMPARE_PARTIAL_FLAG,\n arrLength = array.length,\n othLength = other.length;\n\n if (arrLength != othLength && !(isPartial && othLength > arrLength)) {\n return false;\n }\n // Assume cyclic values are equal.\n var stacked = stack.get(array);\n if (stacked && stack.get(other)) {\n return stacked == other;\n }\n var index = -1,\n result = true,\n seen = (bitmask & COMPARE_UNORDERED_FLAG) ? new SetCache : undefined;\n\n stack.set(array, other);\n stack.set(other, array);\n\n // Ignore non-index properties.\n while (++index < arrLength) {\n var arrValue = array[index],\n othValue = other[index];\n\n if (customizer) {\n var compared = isPartial\n ? customizer(othValue, arrValue, index, other, array, stack)\n : customizer(arrValue, othValue, index, array, other, stack);\n }\n if (compared !== undefined) {\n if (compared) {\n continue;\n }\n result = false;\n break;\n }\n // Recursively compare arrays (susceptible to call stack limits).\n if (seen) {\n if (!arraySome(other, function(othValue, othIndex) {\n if (!cacheHas(seen, othIndex) &&\n (arrValue === othValue || equalFunc(arrValue, othValue, bitmask, customizer, stack))) {\n return seen.push(othIndex);\n }\n })) {\n result = false;\n break;\n }\n } else if (!(\n arrValue === othValue ||\n equalFunc(arrValue, othValue, bitmask, customizer, stack)\n )) {\n result = false;\n break;\n }\n }\n stack['delete'](array);\n stack['delete'](other);\n return result;\n}\n\n/**\n * A specialized version of `baseIsEqualDeep` for comparing objects of\n * the same `toStringTag`.\n *\n * **Note:** This function only supports comparing values with tags of\n * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {string} tag The `toStringTag` of the objects to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} stack Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction equalByTag(object, other, tag, bitmask, customizer, equalFunc, stack) {\n switch (tag) {\n case dataViewTag:\n if ((object.byteLength != other.byteLength) ||\n (object.byteOffset != other.byteOffset)) {\n return false;\n }\n object = object.buffer;\n other = other.buffer;\n\n case arrayBufferTag:\n if ((object.byteLength != other.byteLength) ||\n !equalFunc(new Uint8Array(object), new Uint8Array(other))) {\n return false;\n }\n return true;\n\n case boolTag:\n case dateTag:\n case numberTag:\n // Coerce booleans to `1` or `0` and dates to milliseconds.\n // Invalid dates are coerced to `NaN`.\n return eq(+object, +other);\n\n case errorTag:\n return object.name == other.name && object.message == other.message;\n\n case regexpTag:\n case stringTag:\n // Coerce regexes to strings and treat strings, primitives and objects,\n // as equal. See http://www.ecma-international.org/ecma-262/7.0/#sec-regexp.prototype.tostring\n // for more details.\n return object == (other + '');\n\n case mapTag:\n var convert = mapToArray;\n\n case setTag:\n var isPartial = bitmask & COMPARE_PARTIAL_FLAG;\n convert || (convert = setToArray);\n\n if (object.size != other.size && !isPartial) {\n return false;\n }\n // Assume cyclic values are equal.\n var stacked = stack.get(object);\n if (stacked) {\n return stacked == other;\n }\n bitmask |= COMPARE_UNORDERED_FLAG;\n\n // Recursively compare objects (susceptible to call stack limits).\n stack.set(object, other);\n var result = equalArrays(convert(object), convert(other), bitmask, customizer, equalFunc, stack);\n stack['delete'](object);\n return result;\n\n case symbolTag:\n if (symbolValueOf) {\n return symbolValueOf.call(object) == symbolValueOf.call(other);\n }\n }\n return false;\n}\n\n/**\n * A specialized version of `baseIsEqualDeep` for objects with support for\n * partial deep comparisons.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} stack Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction equalObjects(object, other, bitmask, customizer, equalFunc, stack) {\n var isPartial = bitmask & COMPARE_PARTIAL_FLAG,\n objProps = getAllKeys(object),\n objLength = objProps.length,\n othProps = getAllKeys(other),\n othLength = othProps.length;\n\n if (objLength != othLength && !isPartial) {\n return false;\n }\n var index = objLength;\n while (index--) {\n var key = objProps[index];\n if (!(isPartial ? key in other : hasOwnProperty.call(other, key))) {\n return false;\n }\n }\n // Assume cyclic values are equal.\n var stacked = stack.get(object);\n if (stacked && stack.get(other)) {\n return stacked == other;\n }\n var result = true;\n stack.set(object, other);\n stack.set(other, object);\n\n var skipCtor = isPartial;\n while (++index < objLength) {\n key = objProps[index];\n var objValue = object[key],\n othValue = other[key];\n\n if (customizer) {\n var compared = isPartial\n ? customizer(othValue, objValue, key, other, object, stack)\n : customizer(objValue, othValue, key, object, other, stack);\n }\n // Recursively compare objects (susceptible to call stack limits).\n if (!(compared === undefined\n ? (objValue === othValue || equalFunc(objValue, othValue, bitmask, customizer, stack))\n : compared\n )) {\n result = false;\n break;\n }\n skipCtor || (skipCtor = key == 'constructor');\n }\n if (result && !skipCtor) {\n var objCtor = object.constructor,\n othCtor = other.constructor;\n\n // Non `Object` object instances with different constructors are not equal.\n if (objCtor != othCtor &&\n ('constructor' in object && 'constructor' in other) &&\n !(typeof objCtor == 'function' && objCtor instanceof objCtor &&\n typeof othCtor == 'function' && othCtor instanceof othCtor)) {\n result = false;\n }\n }\n stack['delete'](object);\n stack['delete'](other);\n return result;\n}\n\n/**\n * Creates an array of own enumerable property names and symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names and symbols.\n */\nfunction getAllKeys(object) {\n return baseGetAllKeys(object, keys, getSymbols);\n}\n\n/**\n * Gets the data for `map`.\n *\n * @private\n * @param {Object} map The map to query.\n * @param {string} key The reference key.\n * @returns {*} Returns the map data.\n */\nfunction getMapData(map, key) {\n var data = map.__data__;\n return isKeyable(key)\n ? data[typeof key == 'string' ? 'string' : 'hash']\n : data.map;\n}\n\n/**\n * Gets the native function at `key` of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the method to get.\n * @returns {*} Returns the function if it's native, else `undefined`.\n */\nfunction getNative(object, key) {\n var value = getValue(object, key);\n return baseIsNative(value) ? value : undefined;\n}\n\n/**\n * A specialized version of `baseGetTag` which ignores `Symbol.toStringTag` values.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the raw `toStringTag`.\n */\nfunction getRawTag(value) {\n var isOwn = hasOwnProperty.call(value, symToStringTag),\n tag = value[symToStringTag];\n\n try {\n value[symToStringTag] = undefined;\n var unmasked = true;\n } catch (e) {}\n\n var result = nativeObjectToString.call(value);\n if (unmasked) {\n if (isOwn) {\n value[symToStringTag] = tag;\n } else {\n delete value[symToStringTag];\n }\n }\n return result;\n}\n\n/**\n * Creates an array of the own enumerable symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of symbols.\n */\nvar getSymbols = !nativeGetSymbols ? stubArray : function(object) {\n if (object == null) {\n return [];\n }\n object = Object(object);\n return arrayFilter(nativeGetSymbols(object), function(symbol) {\n return propertyIsEnumerable.call(object, symbol);\n });\n};\n\n/**\n * Gets the `toStringTag` of `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nvar getTag = baseGetTag;\n\n// Fallback for data views, maps, sets, and weak maps in IE 11 and promises in Node.js < 6.\nif ((DataView && getTag(new DataView(new ArrayBuffer(1))) != dataViewTag) ||\n (Map && getTag(new Map) != mapTag) ||\n (Promise && getTag(Promise.resolve()) != promiseTag) ||\n (Set && getTag(new Set) != setTag) ||\n (WeakMap && getTag(new WeakMap) != weakMapTag)) {\n getTag = function(value) {\n var result = baseGetTag(value),\n Ctor = result == objectTag ? value.constructor : undefined,\n ctorString = Ctor ? toSource(Ctor) : '';\n\n if (ctorString) {\n switch (ctorString) {\n case dataViewCtorString: return dataViewTag;\n case mapCtorString: return mapTag;\n case promiseCtorString: return promiseTag;\n case setCtorString: return setTag;\n case weakMapCtorString: return weakMapTag;\n }\n }\n return result;\n };\n}\n\n/**\n * Checks if `value` is a valid array-like index.\n *\n * @private\n * @param {*} value The value to check.\n * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index.\n * @returns {boolean} Returns `true` if `value` is a valid index, else `false`.\n */\nfunction isIndex(value, length) {\n length = length == null ? MAX_SAFE_INTEGER : length;\n return !!length &&\n (typeof value == 'number' || reIsUint.test(value)) &&\n (value > -1 && value % 1 == 0 && value < length);\n}\n\n/**\n * Checks if `value` is suitable for use as unique object key.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is suitable, else `false`.\n */\nfunction isKeyable(value) {\n var type = typeof value;\n return (type == 'string' || type == 'number' || type == 'symbol' || type == 'boolean')\n ? (value !== '__proto__')\n : (value === null);\n}\n\n/**\n * Checks if `func` has its source masked.\n *\n * @private\n * @param {Function} func The function to check.\n * @returns {boolean} Returns `true` if `func` is masked, else `false`.\n */\nfunction isMasked(func) {\n return !!maskSrcKey && (maskSrcKey in func);\n}\n\n/**\n * Checks if `value` is likely a prototype object.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a prototype, else `false`.\n */\nfunction isPrototype(value) {\n var Ctor = value && value.constructor,\n proto = (typeof Ctor == 'function' && Ctor.prototype) || objectProto;\n\n return value === proto;\n}\n\n/**\n * Converts `value` to a string using `Object.prototype.toString`.\n *\n * @private\n * @param {*} value The value to convert.\n * @returns {string} Returns the converted string.\n */\nfunction objectToString(value) {\n return nativeObjectToString.call(value);\n}\n\n/**\n * Converts `func` to its source code.\n *\n * @private\n * @param {Function} func The function to convert.\n * @returns {string} Returns the source code.\n */\nfunction toSource(func) {\n if (func != null) {\n try {\n return funcToString.call(func);\n } catch (e) {}\n try {\n return (func + '');\n } catch (e) {}\n }\n return '';\n}\n\n/**\n * Performs a\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * comparison between two values to determine if they are equivalent.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'a': 1 };\n * var other = { 'a': 1 };\n *\n * _.eq(object, object);\n * // => true\n *\n * _.eq(object, other);\n * // => false\n *\n * _.eq('a', 'a');\n * // => true\n *\n * _.eq('a', Object('a'));\n * // => false\n *\n * _.eq(NaN, NaN);\n * // => true\n */\nfunction eq(value, other) {\n return value === other || (value !== value && other !== other);\n}\n\n/**\n * Checks if `value` is likely an `arguments` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n * else `false`.\n * @example\n *\n * _.isArguments(function() { return arguments; }());\n * // => true\n *\n * _.isArguments([1, 2, 3]);\n * // => false\n */\nvar isArguments = baseIsArguments(function() { return arguments; }()) ? baseIsArguments : function(value) {\n return isObjectLike(value) && hasOwnProperty.call(value, 'callee') &&\n !propertyIsEnumerable.call(value, 'callee');\n};\n\n/**\n * Checks if `value` is classified as an `Array` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array, else `false`.\n * @example\n *\n * _.isArray([1, 2, 3]);\n * // => true\n *\n * _.isArray(document.body.children);\n * // => false\n *\n * _.isArray('abc');\n * // => false\n *\n * _.isArray(_.noop);\n * // => false\n */\nvar isArray = Array.isArray;\n\n/**\n * Checks if `value` is array-like. A value is considered array-like if it's\n * not a function and has a `value.length` that's an integer greater than or\n * equal to `0` and less than or equal to `Number.MAX_SAFE_INTEGER`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is array-like, else `false`.\n * @example\n *\n * _.isArrayLike([1, 2, 3]);\n * // => true\n *\n * _.isArrayLike(document.body.children);\n * // => true\n *\n * _.isArrayLike('abc');\n * // => true\n *\n * _.isArrayLike(_.noop);\n * // => false\n */\nfunction isArrayLike(value) {\n return value != null && isLength(value.length) && !isFunction(value);\n}\n\n/**\n * Checks if `value` is a buffer.\n *\n * @static\n * @memberOf _\n * @since 4.3.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a buffer, else `false`.\n * @example\n *\n * _.isBuffer(new Buffer(2));\n * // => true\n *\n * _.isBuffer(new Uint8Array(2));\n * // => false\n */\nvar isBuffer = nativeIsBuffer || stubFalse;\n\n/**\n * Performs a deep comparison between two values to determine if they are\n * equivalent.\n *\n * **Note:** This method supports comparing arrays, array buffers, booleans,\n * date objects, error objects, maps, numbers, `Object` objects, regexes,\n * sets, strings, symbols, and typed arrays. `Object` objects are compared\n * by their own, not inherited, enumerable properties. Functions and DOM\n * nodes are compared by strict equality, i.e. `===`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'a': 1 };\n * var other = { 'a': 1 };\n *\n * _.isEqual(object, other);\n * // => true\n *\n * object === other;\n * // => false\n */\nfunction isEqual(value, other) {\n return baseIsEqual(value, other);\n}\n\n/**\n * Checks if `value` is classified as a `Function` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a function, else `false`.\n * @example\n *\n * _.isFunction(_);\n * // => true\n *\n * _.isFunction(/abc/);\n * // => false\n */\nfunction isFunction(value) {\n if (!isObject(value)) {\n return false;\n }\n // The use of `Object#toString` avoids issues with the `typeof` operator\n // in Safari 9 which returns 'object' for typed arrays and other constructors.\n var tag = baseGetTag(value);\n return tag == funcTag || tag == genTag || tag == asyncTag || tag == proxyTag;\n}\n\n/**\n * Checks if `value` is a valid array-like length.\n *\n * **Note:** This method is loosely based on\n * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.\n * @example\n *\n * _.isLength(3);\n * // => true\n *\n * _.isLength(Number.MIN_VALUE);\n * // => false\n *\n * _.isLength(Infinity);\n * // => false\n *\n * _.isLength('3');\n * // => false\n */\nfunction isLength(value) {\n return typeof value == 'number' &&\n value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;\n}\n\n/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n var type = typeof value;\n return value != null && (type == 'object' || type == 'function');\n}\n\n/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return value != null && typeof value == 'object';\n}\n\n/**\n * Checks if `value` is classified as a typed array.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n * @example\n *\n * _.isTypedArray(new Uint8Array);\n * // => true\n *\n * _.isTypedArray([]);\n * // => false\n */\nvar isTypedArray = nodeIsTypedArray ? baseUnary(nodeIsTypedArray) : baseIsTypedArray;\n\n/**\n * Creates an array of the own enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects. See the\n * [ES spec](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)\n * for more details.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keys(new Foo);\n * // => ['a', 'b'] (iteration order is not guaranteed)\n *\n * _.keys('hi');\n * // => ['0', '1']\n */\nfunction keys(object) {\n return isArrayLike(object) ? arrayLikeKeys(object) : baseKeys(object);\n}\n\n/**\n * This method returns a new empty array.\n *\n * @static\n * @memberOf _\n * @since 4.13.0\n * @category Util\n * @returns {Array} Returns the new empty array.\n * @example\n *\n * var arrays = _.times(2, _.stubArray);\n *\n * console.log(arrays);\n * // => [[], []]\n *\n * console.log(arrays[0] === arrays[1]);\n * // => false\n */\nfunction stubArray() {\n return [];\n}\n\n/**\n * This method returns `false`.\n *\n * @static\n * @memberOf _\n * @since 4.13.0\n * @category Util\n * @returns {boolean} Returns `false`.\n * @example\n *\n * _.times(2, _.stubFalse);\n * // => [false, false]\n */\nfunction stubFalse() {\n return false;\n}\n\nmodule.exports = isEqual;\n","var g;\n\n// This works in non-strict mode\ng = (function() {\n\treturn this;\n})();\n\ntry {\n\t// This works if eval is allowed (see CSP)\n\tg = g || new Function(\"return this\")();\n} catch (e) {\n\t// This works if the window reference is available\n\tif (typeof window === \"object\") g = window;\n}\n\n// g can still be undefined, but nothing to do about it...\n// We return undefined, instead of nothing here, so it's\n// easier to handle this case. if(!global) { ...}\n\nmodule.exports = g;\n","/**\n * lodash (Custom Build) <https://lodash.com/>\n * Build: `lodash modularize exports=\"npm\" -o ./`\n * Copyright jQuery Foundation and other contributors <https://jquery.org/>\n * Released under MIT license <https://lodash.com/license>\n * Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>\n * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n */\n\n/** Used as references for various `Number` constants. */\nvar INFINITY = 1 / 0;\n\n/** `Object#toString` result references. */\nvar symbolTag = '[object Symbol]';\n\n/**\n * Used to match `RegExp`\n * [syntax characters](http://ecma-international.org/ecma-262/6.0/#sec-patterns).\n */\nvar reRegExpChar = /[\\\\^$.*+?()[\\]{}|]/g,\n reHasRegExpChar = RegExp(reRegExpChar.source);\n\n/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objectToString = objectProto.toString;\n\n/** Built-in value references. */\nvar Symbol = root.Symbol;\n\n/** Used to convert symbols to primitives and strings. */\nvar symbolProto = Symbol ? Symbol.prototype : undefined,\n symbolToString = symbolProto ? symbolProto.toString : undefined;\n\n/**\n * The base implementation of `_.toString` which doesn't convert nullish\n * values to empty strings.\n *\n * @private\n * @param {*} value The value to process.\n * @returns {string} Returns the string.\n */\nfunction baseToString(value) {\n // Exit early for strings to avoid a performance hit in some environments.\n if (typeof value == 'string') {\n return value;\n }\n if (isSymbol(value)) {\n return symbolToString ? symbolToString.call(value) : '';\n }\n var result = (value + '');\n return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result;\n}\n\n/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return !!value && typeof value == 'object';\n}\n\n/**\n * Checks if `value` is classified as a `Symbol` primitive or object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a symbol, else `false`.\n * @example\n *\n * _.isSymbol(Symbol.iterator);\n * // => true\n *\n * _.isSymbol('abc');\n * // => false\n */\nfunction isSymbol(value) {\n return typeof value == 'symbol' ||\n (isObjectLike(value) && objectToString.call(value) == symbolTag);\n}\n\n/**\n * Converts `value` to a string. An empty string is returned for `null`\n * and `undefined` values. The sign of `-0` is preserved.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to process.\n * @returns {string} Returns the string.\n * @example\n *\n * _.toString(null);\n * // => ''\n *\n * _.toString(-0);\n * // => '-0'\n *\n * _.toString([1, 2, 3]);\n * // => '1,2,3'\n */\nfunction toString(value) {\n return value == null ? '' : baseToString(value);\n}\n\n/**\n * Escapes the `RegExp` special characters \"^\", \"$\", \"\\\", \".\", \"*\", \"+\",\n * \"?\", \"(\", \")\", \"[\", \"]\", \"{\", \"}\", and \"|\" in `string`.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category String\n * @param {string} [string=''] The string to escape.\n * @returns {string} Returns the escaped string.\n * @example\n *\n * _.escapeRegExp('[lodash](https://lodash.com/)');\n * // => '\\[lodash\\]\\(https://lodash\\.com/\\)'\n */\nfunction escapeRegExp(string) {\n string = toString(string);\n return (string && reHasRegExpChar.test(string))\n ? string.replace(reRegExpChar, '\\\\$&')\n : string;\n}\n\nmodule.exports = escapeRegExp;\n","/**\n * lodash (Custom Build) <https://lodash.com/>\n * Build: `lodash modularize exports=\"npm\" -o ./`\n * Copyright jQuery Foundation and other contributors <https://jquery.org/>\n * Released under MIT license <https://lodash.com/license>\n * Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>\n * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n */\n\n/** Used as the size to enable large array optimizations. */\nvar LARGE_ARRAY_SIZE = 200;\n\n/** Used as the `TypeError` message for \"Functions\" methods. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/** Used to compose bitmasks for comparison styles. */\nvar UNORDERED_COMPARE_FLAG = 1,\n PARTIAL_COMPARE_FLAG = 2;\n\n/** Used as references for various `Number` constants. */\nvar INFINITY = 1 / 0,\n MAX_SAFE_INTEGER = 9007199254740991,\n MAX_INTEGER = 1.7976931348623157e+308,\n NAN = 0 / 0;\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n funcTag = '[object Function]',\n genTag = '[object GeneratorFunction]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n objectTag = '[object Object]',\n promiseTag = '[object Promise]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n symbolTag = '[object Symbol]',\n weakMapTag = '[object WeakMap]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n dataViewTag = '[object DataView]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/** Used to match property names within property paths. */\nvar reIsDeepProp = /\\.|\\[(?:[^[\\]]*|([\"'])(?:(?!\\1)[^\\\\]|\\\\.)*?\\1)\\]/,\n reIsPlainProp = /^\\w*$/,\n reLeadingDot = /^\\./,\n rePropName = /[^.[\\]]+|\\[(?:(-?\\d+(?:\\.\\d+)?)|([\"'])((?:(?!\\2)[^\\\\]|\\\\.)*?)\\2)\\]|(?=(?:\\.|\\[\\])(?:\\.|\\[\\]|$))/g;\n\n/**\n * Used to match `RegExp`\n * [syntax characters](http://ecma-international.org/ecma-262/7.0/#sec-patterns).\n */\nvar reRegExpChar = /[\\\\^$.*+?()[\\]{}|]/g;\n\n/** Used to match leading and trailing whitespace. */\nvar reTrim = /^\\s+|\\s+$/g;\n\n/** Used to match backslashes in property paths. */\nvar reEscapeChar = /\\\\(\\\\)?/g;\n\n/** Used to detect bad signed hexadecimal string values. */\nvar reIsBadHex = /^[-+]0x[0-9a-f]+$/i;\n\n/** Used to detect binary string values. */\nvar reIsBinary = /^0b[01]+$/i;\n\n/** Used to detect host constructors (Safari). */\nvar reIsHostCtor = /^\\[object .+?Constructor\\]$/;\n\n/** Used to detect octal string values. */\nvar reIsOctal = /^0o[0-7]+$/i;\n\n/** Used to detect unsigned integer values. */\nvar reIsUint = /^(?:0|[1-9]\\d*)$/;\n\n/** Used to identify `toStringTag` values of typed arrays. */\nvar typedArrayTags = {};\ntypedArrayTags[float32Tag] = typedArrayTags[float64Tag] =\ntypedArrayTags[int8Tag] = typedArrayTags[int16Tag] =\ntypedArrayTags[int32Tag] = typedArrayTags[uint8Tag] =\ntypedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] =\ntypedArrayTags[uint32Tag] = true;\ntypedArrayTags[argsTag] = typedArrayTags[arrayTag] =\ntypedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] =\ntypedArrayTags[dataViewTag] = typedArrayTags[dateTag] =\ntypedArrayTags[errorTag] = typedArrayTags[funcTag] =\ntypedArrayTags[mapTag] = typedArrayTags[numberTag] =\ntypedArrayTags[objectTag] = typedArrayTags[regexpTag] =\ntypedArrayTags[setTag] = typedArrayTags[stringTag] =\ntypedArrayTags[weakMapTag] = false;\n\n/** Built-in method references without a dependency on `root`. */\nvar freeParseInt = parseInt;\n\n/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\n/** Detect free variable `exports`. */\nvar freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;\n\n/** Detect free variable `module`. */\nvar freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;\n\n/** Detect the popular CommonJS extension `module.exports`. */\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n\n/** Detect free variable `process` from Node.js. */\nvar freeProcess = moduleExports && freeGlobal.process;\n\n/** Used to access faster Node.js helpers. */\nvar nodeUtil = (function() {\n try {\n return freeProcess && freeProcess.binding('util');\n } catch (e) {}\n}());\n\n/* Node.js helper references. */\nvar nodeIsTypedArray = nodeUtil && nodeUtil.isTypedArray;\n\n/**\n * A specialized version of `_.some` for arrays without support for iteratee\n * shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {boolean} Returns `true` if any element passes the predicate check,\n * else `false`.\n */\nfunction arraySome(array, predicate) {\n var index = -1,\n length = array ? array.length : 0;\n\n while (++index < length) {\n if (predicate(array[index], index, array)) {\n return true;\n }\n }\n return false;\n}\n\n/**\n * The base implementation of `_.findIndex` and `_.findLastIndex` without\n * support for iteratee shorthands.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {Function} predicate The function invoked per iteration.\n * @param {number} fromIndex The index to search from.\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction baseFindIndex(array, predicate, fromIndex, fromRight) {\n var length = array.length,\n index = fromIndex + (fromRight ? 1 : -1);\n\n while ((fromRight ? index-- : ++index < length)) {\n if (predicate(array[index], index, array)) {\n return index;\n }\n }\n return -1;\n}\n\n/**\n * The base implementation of `_.property` without support for deep paths.\n *\n * @private\n * @param {string} key The key of the property to get.\n * @returns {Function} Returns the new accessor function.\n */\nfunction baseProperty(key) {\n return function(object) {\n return object == null ? undefined : object[key];\n };\n}\n\n/**\n * The base implementation of `_.times` without support for iteratee shorthands\n * or max array length checks.\n *\n * @private\n * @param {number} n The number of times to invoke `iteratee`.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns the array of results.\n */\nfunction baseTimes(n, iteratee) {\n var index = -1,\n result = Array(n);\n\n while (++index < n) {\n result[index] = iteratee(index);\n }\n return result;\n}\n\n/**\n * The base implementation of `_.unary` without support for storing metadata.\n *\n * @private\n * @param {Function} func The function to cap arguments for.\n * @returns {Function} Returns the new capped function.\n */\nfunction baseUnary(func) {\n return function(value) {\n return func(value);\n };\n}\n\n/**\n * Gets the value at `key` of `object`.\n *\n * @private\n * @param {Object} [object] The object to query.\n * @param {string} key The key of the property to get.\n * @returns {*} Returns the property value.\n */\nfunction getValue(object, key) {\n return object == null ? undefined : object[key];\n}\n\n/**\n * Checks if `value` is a host object in IE < 9.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a host object, else `false`.\n */\nfunction isHostObject(value) {\n // Many host objects are `Object` objects that can coerce to strings\n // despite having improperly defined `toString` methods.\n var result = false;\n if (value != null && typeof value.toString != 'function') {\n try {\n result = !!(value + '');\n } catch (e) {}\n }\n return result;\n}\n\n/**\n * Converts `map` to its key-value pairs.\n *\n * @private\n * @param {Object} map The map to convert.\n * @returns {Array} Returns the key-value pairs.\n */\nfunction mapToArray(map) {\n var index = -1,\n result = Array(map.size);\n\n map.forEach(function(value, key) {\n result[++index] = [key, value];\n });\n return result;\n}\n\n/**\n * Creates a unary function that invokes `func` with its argument transformed.\n *\n * @private\n * @param {Function} func The function to wrap.\n * @param {Function} transform The argument transform.\n * @returns {Function} Returns the new function.\n */\nfunction overArg(func, transform) {\n return function(arg) {\n return func(transform(arg));\n };\n}\n\n/**\n * Converts `set` to an array of its values.\n *\n * @private\n * @param {Object} set The set to convert.\n * @returns {Array} Returns the values.\n */\nfunction setToArray(set) {\n var index = -1,\n result = Array(set.size);\n\n set.forEach(function(value) {\n result[++index] = value;\n });\n return result;\n}\n\n/** Used for built-in method references. */\nvar arrayProto = Array.prototype,\n funcProto = Function.prototype,\n objectProto = Object.prototype;\n\n/** Used to detect overreaching core-js shims. */\nvar coreJsData = root['__core-js_shared__'];\n\n/** Used to detect methods masquerading as native. */\nvar maskSrcKey = (function() {\n var uid = /[^.]+$/.exec(coreJsData && coreJsData.keys && coreJsData.keys.IE_PROTO || '');\n return uid ? ('Symbol(src)_1.' + uid) : '';\n}());\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objectToString = objectProto.toString;\n\n/** Used to detect if a method is native. */\nvar reIsNative = RegExp('^' +\n funcToString.call(hasOwnProperty).replace(reRegExpChar, '\\\\$&')\n .replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g, '$1.*?') + '$'\n);\n\n/** Built-in value references. */\nvar Symbol = root.Symbol,\n Uint8Array = root.Uint8Array,\n propertyIsEnumerable = objectProto.propertyIsEnumerable,\n splice = arrayProto.splice;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeKeys = overArg(Object.keys, Object),\n nativeMax = Math.max;\n\n/* Built-in method references that are verified to be native. */\nvar DataView = getNative(root, 'DataView'),\n Map = getNative(root, 'Map'),\n Promise = getNative(root, 'Promise'),\n Set = getNative(root, 'Set'),\n WeakMap = getNative(root, 'WeakMap'),\n nativeCreate = getNative(Object, 'create');\n\n/** Used to detect maps, sets, and weakmaps. */\nvar dataViewCtorString = toSource(DataView),\n mapCtorString = toSource(Map),\n promiseCtorString = toSource(Promise),\n setCtorString = toSource(Set),\n weakMapCtorString = toSource(WeakMap);\n\n/** Used to convert symbols to primitives and strings. */\nvar symbolProto = Symbol ? Symbol.prototype : undefined,\n symbolValueOf = symbolProto ? symbolProto.valueOf : undefined,\n symbolToString = symbolProto ? symbolProto.toString : undefined;\n\n/**\n * Creates a hash object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Hash(entries) {\n var index = -1,\n length = entries ? entries.length : 0;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n/**\n * Removes all key-value entries from the hash.\n *\n * @private\n * @name clear\n * @memberOf Hash\n */\nfunction hashClear() {\n this.__data__ = nativeCreate ? nativeCreate(null) : {};\n}\n\n/**\n * Removes `key` and its value from the hash.\n *\n * @private\n * @name delete\n * @memberOf Hash\n * @param {Object} hash The hash to modify.\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction hashDelete(key) {\n return this.has(key) && delete this.__data__[key];\n}\n\n/**\n * Gets the hash value for `key`.\n *\n * @private\n * @name get\n * @memberOf Hash\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction hashGet(key) {\n var data = this.__data__;\n if (nativeCreate) {\n var result = data[key];\n return result === HASH_UNDEFINED ? undefined : result;\n }\n return hasOwnProperty.call(data, key) ? data[key] : undefined;\n}\n\n/**\n * Checks if a hash value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Hash\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction hashHas(key) {\n var data = this.__data__;\n return nativeCreate ? data[key] !== undefined : hasOwnProperty.call(data, key);\n}\n\n/**\n * Sets the hash `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Hash\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the hash instance.\n */\nfunction hashSet(key, value) {\n var data = this.__data__;\n data[key] = (nativeCreate && value === undefined) ? HASH_UNDEFINED : value;\n return this;\n}\n\n// Add methods to `Hash`.\nHash.prototype.clear = hashClear;\nHash.prototype['delete'] = hashDelete;\nHash.prototype.get = hashGet;\nHash.prototype.has = hashHas;\nHash.prototype.set = hashSet;\n\n/**\n * Creates an list cache object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction ListCache(entries) {\n var index = -1,\n length = entries ? entries.length : 0;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n/**\n * Removes all key-value entries from the list cache.\n *\n * @private\n * @name clear\n * @memberOf ListCache\n */\nfunction listCacheClear() {\n this.__data__ = [];\n}\n\n/**\n * Removes `key` and its value from the list cache.\n *\n * @private\n * @name delete\n * @memberOf ListCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction listCacheDelete(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n return false;\n }\n var lastIndex = data.length - 1;\n if (index == lastIndex) {\n data.pop();\n } else {\n splice.call(data, index, 1);\n }\n return true;\n}\n\n/**\n * Gets the list cache value for `key`.\n *\n * @private\n * @name get\n * @memberOf ListCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction listCacheGet(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n return index < 0 ? undefined : data[index][1];\n}\n\n/**\n * Checks if a list cache value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf ListCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction listCacheHas(key) {\n return assocIndexOf(this.__data__, key) > -1;\n}\n\n/**\n * Sets the list cache `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf ListCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the list cache instance.\n */\nfunction listCacheSet(key, value) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n data.push([key, value]);\n } else {\n data[index][1] = value;\n }\n return this;\n}\n\n// Add methods to `ListCache`.\nListCache.prototype.clear = listCacheClear;\nListCache.prototype['delete'] = listCacheDelete;\nListCache.prototype.get = listCacheGet;\nListCache.prototype.has = listCacheHas;\nListCache.prototype.set = listCacheSet;\n\n/**\n * Creates a map cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction MapCache(entries) {\n var index = -1,\n length = entries ? entries.length : 0;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n/**\n * Removes all key-value entries from the map.\n *\n * @private\n * @name clear\n * @memberOf MapCache\n */\nfunction mapCacheClear() {\n this.__data__ = {\n 'hash': new Hash,\n 'map': new (Map || ListCache),\n 'string': new Hash\n };\n}\n\n/**\n * Removes `key` and its value from the map.\n *\n * @private\n * @name delete\n * @memberOf MapCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction mapCacheDelete(key) {\n return getMapData(this, key)['delete'](key);\n}\n\n/**\n * Gets the map value for `key`.\n *\n * @private\n * @name get\n * @memberOf MapCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction mapCacheGet(key) {\n return getMapData(this, key).get(key);\n}\n\n/**\n * Checks if a map value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf MapCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction mapCacheHas(key) {\n return getMapData(this, key).has(key);\n}\n\n/**\n * Sets the map `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf MapCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the map cache instance.\n */\nfunction mapCacheSet(key, value) {\n getMapData(this, key).set(key, value);\n return this;\n}\n\n// Add methods to `MapCache`.\nMapCache.prototype.clear = mapCacheClear;\nMapCache.prototype['delete'] = mapCacheDelete;\nMapCache.prototype.get = mapCacheGet;\nMapCache.prototype.has = mapCacheHas;\nMapCache.prototype.set = mapCacheSet;\n\n/**\n *\n * Creates an array cache object to store unique values.\n *\n * @private\n * @constructor\n * @param {Array} [values] The values to cache.\n */\nfunction SetCache(values) {\n var index = -1,\n length = values ? values.length : 0;\n\n this.__data__ = new MapCache;\n while (++index < length) {\n this.add(values[index]);\n }\n}\n\n/**\n * Adds `value` to the array cache.\n *\n * @private\n * @name add\n * @memberOf SetCache\n * @alias push\n * @param {*} value The value to cache.\n * @returns {Object} Returns the cache instance.\n */\nfunction setCacheAdd(value) {\n this.__data__.set(value, HASH_UNDEFINED);\n return this;\n}\n\n/**\n * Checks if `value` is in the array cache.\n *\n * @private\n * @name has\n * @memberOf SetCache\n * @param {*} value The value to search for.\n * @returns {number} Returns `true` if `value` is found, else `false`.\n */\nfunction setCacheHas(value) {\n return this.__data__.has(value);\n}\n\n// Add methods to `SetCache`.\nSetCache.prototype.add = SetCache.prototype.push = setCacheAdd;\nSetCache.prototype.has = setCacheHas;\n\n/**\n * Creates a stack cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Stack(entries) {\n this.__data__ = new ListCache(entries);\n}\n\n/**\n * Removes all key-value entries from the stack.\n *\n * @private\n * @name clear\n * @memberOf Stack\n */\nfunction stackClear() {\n this.__data__ = new ListCache;\n}\n\n/**\n * Removes `key` and its value from the stack.\n *\n * @private\n * @name delete\n * @memberOf Stack\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction stackDelete(key) {\n return this.__data__['delete'](key);\n}\n\n/**\n * Gets the stack value for `key`.\n *\n * @private\n * @name get\n * @memberOf Stack\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction stackGet(key) {\n return this.__data__.get(key);\n}\n\n/**\n * Checks if a stack value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Stack\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction stackHas(key) {\n return this.__data__.has(key);\n}\n\n/**\n * Sets the stack `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Stack\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the stack cache instance.\n */\nfunction stackSet(key, value) {\n var cache = this.__data__;\n if (cache instanceof ListCache) {\n var pairs = cache.__data__;\n if (!Map || (pairs.length < LARGE_ARRAY_SIZE - 1)) {\n pairs.push([key, value]);\n return this;\n }\n cache = this.__data__ = new MapCache(pairs);\n }\n cache.set(key, value);\n return this;\n}\n\n// Add methods to `Stack`.\nStack.prototype.clear = stackClear;\nStack.prototype['delete'] = stackDelete;\nStack.prototype.get = stackGet;\nStack.prototype.has = stackHas;\nStack.prototype.set = stackSet;\n\n/**\n * Creates an array of the enumerable property names of the array-like `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @param {boolean} inherited Specify returning inherited property names.\n * @returns {Array} Returns the array of property names.\n */\nfunction arrayLikeKeys(value, inherited) {\n // Safari 8.1 makes `arguments.callee` enumerable in strict mode.\n // Safari 9 makes `arguments.length` enumerable in strict mode.\n var result = (isArray(value) || isArguments(value))\n ? baseTimes(value.length, String)\n : [];\n\n var length = result.length,\n skipIndexes = !!length;\n\n for (var key in value) {\n if ((inherited || hasOwnProperty.call(value, key)) &&\n !(skipIndexes && (key == 'length' || isIndex(key, length)))) {\n result.push(key);\n }\n }\n return result;\n}\n\n/**\n * Gets the index at which the `key` is found in `array` of key-value pairs.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} key The key to search for.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction assocIndexOf(array, key) {\n var length = array.length;\n while (length--) {\n if (eq(array[length][0], key)) {\n return length;\n }\n }\n return -1;\n}\n\n/**\n * The base implementation of `_.get` without support for default values.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Array|string} path The path of the property to get.\n * @returns {*} Returns the resolved value.\n */\nfunction baseGet(object, path) {\n path = isKey(path, object) ? [path] : castPath(path);\n\n var index = 0,\n length = path.length;\n\n while (object != null && index < length) {\n object = object[toKey(path[index++])];\n }\n return (index && index == length) ? object : undefined;\n}\n\n/**\n * The base implementation of `getTag`.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nfunction baseGetTag(value) {\n return objectToString.call(value);\n}\n\n/**\n * The base implementation of `_.hasIn` without support for deep paths.\n *\n * @private\n * @param {Object} [object] The object to query.\n * @param {Array|string} key The key to check.\n * @returns {boolean} Returns `true` if `key` exists, else `false`.\n */\nfunction baseHasIn(object, key) {\n return object != null && key in Object(object);\n}\n\n/**\n * The base implementation of `_.isEqual` which supports partial comparisons\n * and tracks traversed objects.\n *\n * @private\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @param {Function} [customizer] The function to customize comparisons.\n * @param {boolean} [bitmask] The bitmask of comparison flags.\n * The bitmask may be composed of the following flags:\n * 1 - Unordered comparison\n * 2 - Partial comparison\n * @param {Object} [stack] Tracks traversed `value` and `other` objects.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n */\nfunction baseIsEqual(value, other, customizer, bitmask, stack) {\n if (value === other) {\n return true;\n }\n if (value == null || other == null || (!isObject(value) && !isObjectLike(other))) {\n return value !== value && other !== other;\n }\n return baseIsEqualDeep(value, other, baseIsEqual, customizer, bitmask, stack);\n}\n\n/**\n * A specialized version of `baseIsEqual` for arrays and objects which performs\n * deep comparisons and tracks traversed objects enabling objects with circular\n * references to be compared.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Function} [customizer] The function to customize comparisons.\n * @param {number} [bitmask] The bitmask of comparison flags. See `baseIsEqual`\n * for more details.\n * @param {Object} [stack] Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction baseIsEqualDeep(object, other, equalFunc, customizer, bitmask, stack) {\n var objIsArr = isArray(object),\n othIsArr = isArray(other),\n objTag = arrayTag,\n othTag = arrayTag;\n\n if (!objIsArr) {\n objTag = getTag(object);\n objTag = objTag == argsTag ? objectTag : objTag;\n }\n if (!othIsArr) {\n othTag = getTag(other);\n othTag = othTag == argsTag ? objectTag : othTag;\n }\n var objIsObj = objTag == objectTag && !isHostObject(object),\n othIsObj = othTag == objectTag && !isHostObject(other),\n isSameTag = objTag == othTag;\n\n if (isSameTag && !objIsObj) {\n stack || (stack = new Stack);\n return (objIsArr || isTypedArray(object))\n ? equalArrays(object, other, equalFunc, customizer, bitmask, stack)\n : equalByTag(object, other, objTag, equalFunc, customizer, bitmask, stack);\n }\n if (!(bitmask & PARTIAL_COMPARE_FLAG)) {\n var objIsWrapped = objIsObj && hasOwnProperty.call(object, '__wrapped__'),\n othIsWrapped = othIsObj && hasOwnProperty.call(other, '__wrapped__');\n\n if (objIsWrapped || othIsWrapped) {\n var objUnwrapped = objIsWrapped ? object.value() : object,\n othUnwrapped = othIsWrapped ? other.value() : other;\n\n stack || (stack = new Stack);\n return equalFunc(objUnwrapped, othUnwrapped, customizer, bitmask, stack);\n }\n }\n if (!isSameTag) {\n return false;\n }\n stack || (stack = new Stack);\n return equalObjects(object, other, equalFunc, customizer, bitmask, stack);\n}\n\n/**\n * The base implementation of `_.isMatch` without support for iteratee shorthands.\n *\n * @private\n * @param {Object} object The object to inspect.\n * @param {Object} source The object of property values to match.\n * @param {Array} matchData The property names, values, and compare flags to match.\n * @param {Function} [customizer] The function to customize comparisons.\n * @returns {boolean} Returns `true` if `object` is a match, else `false`.\n */\nfunction baseIsMatch(object, source, matchData, customizer) {\n var index = matchData.length,\n length = index,\n noCustomizer = !customizer;\n\n if (object == null) {\n return !length;\n }\n object = Object(object);\n while (index--) {\n var data = matchData[index];\n if ((noCustomizer && data[2])\n ? data[1] !== object[data[0]]\n : !(data[0] in object)\n ) {\n return false;\n }\n }\n while (++index < length) {\n data = matchData[index];\n var key = data[0],\n objValue = object[key],\n srcValue = data[1];\n\n if (noCustomizer && data[2]) {\n if (objValue === undefined && !(key in object)) {\n return false;\n }\n } else {\n var stack = new Stack;\n if (customizer) {\n var result = customizer(objValue, srcValue, key, object, source, stack);\n }\n if (!(result === undefined\n ? baseIsEqual(srcValue, objValue, customizer, UNORDERED_COMPARE_FLAG | PARTIAL_COMPARE_FLAG, stack)\n : result\n )) {\n return false;\n }\n }\n }\n return true;\n}\n\n/**\n * The base implementation of `_.isNative` without bad shim checks.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a native function,\n * else `false`.\n */\nfunction baseIsNative(value) {\n if (!isObject(value) || isMasked(value)) {\n return false;\n }\n var pattern = (isFunction(value) || isHostObject(value)) ? reIsNative : reIsHostCtor;\n return pattern.test(toSource(value));\n}\n\n/**\n * The base implementation of `_.isTypedArray` without Node.js optimizations.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n */\nfunction baseIsTypedArray(value) {\n return isObjectLike(value) &&\n isLength(value.length) && !!typedArrayTags[objectToString.call(value)];\n}\n\n/**\n * The base implementation of `_.iteratee`.\n *\n * @private\n * @param {*} [value=_.identity] The value to convert to an iteratee.\n * @returns {Function} Returns the iteratee.\n */\nfunction baseIteratee(value) {\n // Don't store the `typeof` result in a variable to avoid a JIT bug in Safari 9.\n // See https://bugs.webkit.org/show_bug.cgi?id=156034 for more details.\n if (typeof value == 'function') {\n return value;\n }\n if (value == null) {\n return identity;\n }\n if (typeof value == 'object') {\n return isArray(value)\n ? baseMatchesProperty(value[0], value[1])\n : baseMatches(value);\n }\n return property(value);\n}\n\n/**\n * The base implementation of `_.keys` which doesn't treat sparse arrays as dense.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction baseKeys(object) {\n if (!isPrototype(object)) {\n return nativeKeys(object);\n }\n var result = [];\n for (var key in Object(object)) {\n if (hasOwnProperty.call(object, key) && key != 'constructor') {\n result.push(key);\n }\n }\n return result;\n}\n\n/**\n * The base implementation of `_.matches` which doesn't clone `source`.\n *\n * @private\n * @param {Object} source The object of property values to match.\n * @returns {Function} Returns the new spec function.\n */\nfunction baseMatches(source) {\n var matchData = getMatchData(source);\n if (matchData.length == 1 && matchData[0][2]) {\n return matchesStrictComparable(matchData[0][0], matchData[0][1]);\n }\n return function(object) {\n return object === source || baseIsMatch(object, source, matchData);\n };\n}\n\n/**\n * The base implementation of `_.matchesProperty` which doesn't clone `srcValue`.\n *\n * @private\n * @param {string} path The path of the property to get.\n * @param {*} srcValue The value to match.\n * @returns {Function} Returns the new spec function.\n */\nfunction baseMatchesProperty(path, srcValue) {\n if (isKey(path) && isStrictComparable(srcValue)) {\n return matchesStrictComparable(toKey(path), srcValue);\n }\n return function(object) {\n var objValue = get(object, path);\n return (objValue === undefined && objValue === srcValue)\n ? hasIn(object, path)\n : baseIsEqual(srcValue, objValue, undefined, UNORDERED_COMPARE_FLAG | PARTIAL_COMPARE_FLAG);\n };\n}\n\n/**\n * A specialized version of `baseProperty` which supports deep paths.\n *\n * @private\n * @param {Array|string} path The path of the property to get.\n * @returns {Function} Returns the new accessor function.\n */\nfunction basePropertyDeep(path) {\n return function(object) {\n return baseGet(object, path);\n };\n}\n\n/**\n * The base implementation of `_.toString` which doesn't convert nullish\n * values to empty strings.\n *\n * @private\n * @param {*} value The value to process.\n * @returns {string} Returns the string.\n */\nfunction baseToString(value) {\n // Exit early for strings to avoid a performance hit in some environments.\n if (typeof value == 'string') {\n return value;\n }\n if (isSymbol(value)) {\n return symbolToString ? symbolToString.call(value) : '';\n }\n var result = (value + '');\n return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result;\n}\n\n/**\n * Casts `value` to a path array if it's not one.\n *\n * @private\n * @param {*} value The value to inspect.\n * @returns {Array} Returns the cast property path array.\n */\nfunction castPath(value) {\n return isArray(value) ? value : stringToPath(value);\n}\n\n/**\n * Creates a `_.find` or `_.findLast` function.\n *\n * @private\n * @param {Function} findIndexFunc The function to find the collection index.\n * @returns {Function} Returns the new find function.\n */\nfunction createFind(findIndexFunc) {\n return function(collection, predicate, fromIndex) {\n var iterable = Object(collection);\n if (!isArrayLike(collection)) {\n var iteratee = baseIteratee(predicate, 3);\n collection = keys(collection);\n predicate = function(key) { return iteratee(iterable[key], key, iterable); };\n }\n var index = findIndexFunc(collection, predicate, fromIndex);\n return index > -1 ? iterable[iteratee ? collection[index] : index] : undefined;\n };\n}\n\n/**\n * A specialized version of `baseIsEqualDeep` for arrays with support for\n * partial deep comparisons.\n *\n * @private\n * @param {Array} array The array to compare.\n * @param {Array} other The other array to compare.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Function} customizer The function to customize comparisons.\n * @param {number} bitmask The bitmask of comparison flags. See `baseIsEqual`\n * for more details.\n * @param {Object} stack Tracks traversed `array` and `other` objects.\n * @returns {boolean} Returns `true` if the arrays are equivalent, else `false`.\n */\nfunction equalArrays(array, other, equalFunc, customizer, bitmask, stack) {\n var isPartial = bitmask & PARTIAL_COMPARE_FLAG,\n arrLength = array.length,\n othLength = other.length;\n\n if (arrLength != othLength && !(isPartial && othLength > arrLength)) {\n return false;\n }\n // Assume cyclic values are equal.\n var stacked = stack.get(array);\n if (stacked && stack.get(other)) {\n return stacked == other;\n }\n var index = -1,\n result = true,\n seen = (bitmask & UNORDERED_COMPARE_FLAG) ? new SetCache : undefined;\n\n stack.set(array, other);\n stack.set(other, array);\n\n // Ignore non-index properties.\n while (++index < arrLength) {\n var arrValue = array[index],\n othValue = other[index];\n\n if (customizer) {\n var compared = isPartial\n ? customizer(othValue, arrValue, index, other, array, stack)\n : customizer(arrValue, othValue, index, array, other, stack);\n }\n if (compared !== undefined) {\n if (compared) {\n continue;\n }\n result = false;\n break;\n }\n // Recursively compare arrays (susceptible to call stack limits).\n if (seen) {\n if (!arraySome(other, function(othValue, othIndex) {\n if (!seen.has(othIndex) &&\n (arrValue === othValue || equalFunc(arrValue, othValue, customizer, bitmask, stack))) {\n return seen.add(othIndex);\n }\n })) {\n result = false;\n break;\n }\n } else if (!(\n arrValue === othValue ||\n equalFunc(arrValue, othValue, customizer, bitmask, stack)\n )) {\n result = false;\n break;\n }\n }\n stack['delete'](array);\n stack['delete'](other);\n return result;\n}\n\n/**\n * A specialized version of `baseIsEqualDeep` for comparing objects of\n * the same `toStringTag`.\n *\n * **Note:** This function only supports comparing values with tags of\n * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {string} tag The `toStringTag` of the objects to compare.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Function} customizer The function to customize comparisons.\n * @param {number} bitmask The bitmask of comparison flags. See `baseIsEqual`\n * for more details.\n * @param {Object} stack Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction equalByTag(object, other, tag, equalFunc, customizer, bitmask, stack) {\n switch (tag) {\n case dataViewTag:\n if ((object.byteLength != other.byteLength) ||\n (object.byteOffset != other.byteOffset)) {\n return false;\n }\n object = object.buffer;\n other = other.buffer;\n\n case arrayBufferTag:\n if ((object.byteLength != other.byteLength) ||\n !equalFunc(new Uint8Array(object), new Uint8Array(other))) {\n return false;\n }\n return true;\n\n case boolTag:\n case dateTag:\n case numberTag:\n // Coerce booleans to `1` or `0` and dates to milliseconds.\n // Invalid dates are coerced to `NaN`.\n return eq(+object, +other);\n\n case errorTag:\n return object.name == other.name && object.message == other.message;\n\n case regexpTag:\n case stringTag:\n // Coerce regexes to strings and treat strings, primitives and objects,\n // as equal. See http://www.ecma-international.org/ecma-262/7.0/#sec-regexp.prototype.tostring\n // for more details.\n return object == (other + '');\n\n case mapTag:\n var convert = mapToArray;\n\n case setTag:\n var isPartial = bitmask & PARTIAL_COMPARE_FLAG;\n convert || (convert = setToArray);\n\n if (object.size != other.size && !isPartial) {\n return false;\n }\n // Assume cyclic values are equal.\n var stacked = stack.get(object);\n if (stacked) {\n return stacked == other;\n }\n bitmask |= UNORDERED_COMPARE_FLAG;\n\n // Recursively compare objects (susceptible to call stack limits).\n stack.set(object, other);\n var result = equalArrays(convert(object), convert(other), equalFunc, customizer, bitmask, stack);\n stack['delete'](object);\n return result;\n\n case symbolTag:\n if (symbolValueOf) {\n return symbolValueOf.call(object) == symbolValueOf.call(other);\n }\n }\n return false;\n}\n\n/**\n * A specialized version of `baseIsEqualDeep` for objects with support for\n * partial deep comparisons.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Function} customizer The function to customize comparisons.\n * @param {number} bitmask The bitmask of comparison flags. See `baseIsEqual`\n * for more details.\n * @param {Object} stack Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction equalObjects(object, other, equalFunc, customizer, bitmask, stack) {\n var isPartial = bitmask & PARTIAL_COMPARE_FLAG,\n objProps = keys(object),\n objLength = objProps.length,\n othProps = keys(other),\n othLength = othProps.length;\n\n if (objLength != othLength && !isPartial) {\n return false;\n }\n var index = objLength;\n while (index--) {\n var key = objProps[index];\n if (!(isPartial ? key in other : hasOwnProperty.call(other, key))) {\n return false;\n }\n }\n // Assume cyclic values are equal.\n var stacked = stack.get(object);\n if (stacked && stack.get(other)) {\n return stacked == other;\n }\n var result = true;\n stack.set(object, other);\n stack.set(other, object);\n\n var skipCtor = isPartial;\n while (++index < objLength) {\n key = objProps[index];\n var objValue = object[key],\n othValue = other[key];\n\n if (customizer) {\n var compared = isPartial\n ? customizer(othValue, objValue, key, other, object, stack)\n : customizer(objValue, othValue, key, object, other, stack);\n }\n // Recursively compare objects (susceptible to call stack limits).\n if (!(compared === undefined\n ? (objValue === othValue || equalFunc(objValue, othValue, customizer, bitmask, stack))\n : compared\n )) {\n result = false;\n break;\n }\n skipCtor || (skipCtor = key == 'constructor');\n }\n if (result && !skipCtor) {\n var objCtor = object.constructor,\n othCtor = other.constructor;\n\n // Non `Object` object instances with different constructors are not equal.\n if (objCtor != othCtor &&\n ('constructor' in object && 'constructor' in other) &&\n !(typeof objCtor == 'function' && objCtor instanceof objCtor &&\n typeof othCtor == 'function' && othCtor instanceof othCtor)) {\n result = false;\n }\n }\n stack['delete'](object);\n stack['delete'](other);\n return result;\n}\n\n/**\n * Gets the data for `map`.\n *\n * @private\n * @param {Object} map The map to query.\n * @param {string} key The reference key.\n * @returns {*} Returns the map data.\n */\nfunction getMapData(map, key) {\n var data = map.__data__;\n return isKeyable(key)\n ? data[typeof key == 'string' ? 'string' : 'hash']\n : data.map;\n}\n\n/**\n * Gets the property names, values, and compare flags of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the match data of `object`.\n */\nfunction getMatchData(object) {\n var result = keys(object),\n length = result.length;\n\n while (length--) {\n var key = result[length],\n value = object[key];\n\n result[length] = [key, value, isStrictComparable(value)];\n }\n return result;\n}\n\n/**\n * Gets the native function at `key` of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the method to get.\n * @returns {*} Returns the function if it's native, else `undefined`.\n */\nfunction getNative(object, key) {\n var value = getValue(object, key);\n return baseIsNative(value) ? value : undefined;\n}\n\n/**\n * Gets the `toStringTag` of `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nvar getTag = baseGetTag;\n\n// Fallback for data views, maps, sets, and weak maps in IE 11,\n// for data views in Edge < 14, and promises in Node.js.\nif ((DataView && getTag(new DataView(new ArrayBuffer(1))) != dataViewTag) ||\n (Map && getTag(new Map) != mapTag) ||\n (Promise && getTag(Promise.resolve()) != promiseTag) ||\n (Set && getTag(new Set) != setTag) ||\n (WeakMap && getTag(new WeakMap) != weakMapTag)) {\n getTag = function(value) {\n var result = objectToString.call(value),\n Ctor = result == objectTag ? value.constructor : undefined,\n ctorString = Ctor ? toSource(Ctor) : undefined;\n\n if (ctorString) {\n switch (ctorString) {\n case dataViewCtorString: return dataViewTag;\n case mapCtorString: return mapTag;\n case promiseCtorString: return promiseTag;\n case setCtorString: return setTag;\n case weakMapCtorString: return weakMapTag;\n }\n }\n return result;\n };\n}\n\n/**\n * Checks if `path` exists on `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Array|string} path The path to check.\n * @param {Function} hasFunc The function to check properties.\n * @returns {boolean} Returns `true` if `path` exists, else `false`.\n */\nfunction hasPath(object, path, hasFunc) {\n path = isKey(path, object) ? [path] : castPath(path);\n\n var result,\n index = -1,\n length = path.length;\n\n while (++index < length) {\n var key = toKey(path[index]);\n if (!(result = object != null && hasFunc(object, key))) {\n break;\n }\n object = object[key];\n }\n if (result) {\n return result;\n }\n var length = object ? object.length : 0;\n return !!length && isLength(length) && isIndex(key, length) &&\n (isArray(object) || isArguments(object));\n}\n\n/**\n * Checks if `value` is a valid array-like index.\n *\n * @private\n * @param {*} value The value to check.\n * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index.\n * @returns {boolean} Returns `true` if `value` is a valid index, else `false`.\n */\nfunction isIndex(value, length) {\n length = length == null ? MAX_SAFE_INTEGER : length;\n return !!length &&\n (typeof value == 'number' || reIsUint.test(value)) &&\n (value > -1 && value % 1 == 0 && value < length);\n}\n\n/**\n * Checks if `value` is a property name and not a property path.\n *\n * @private\n * @param {*} value The value to check.\n * @param {Object} [object] The object to query keys on.\n * @returns {boolean} Returns `true` if `value` is a property name, else `false`.\n */\nfunction isKey(value, object) {\n if (isArray(value)) {\n return false;\n }\n var type = typeof value;\n if (type == 'number' || type == 'symbol' || type == 'boolean' ||\n value == null || isSymbol(value)) {\n return true;\n }\n return reIsPlainProp.test(value) || !reIsDeepProp.test(value) ||\n (object != null && value in Object(object));\n}\n\n/**\n * Checks if `value` is suitable for use as unique object key.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is suitable, else `false`.\n */\nfunction isKeyable(value) {\n var type = typeof value;\n return (type == 'string' || type == 'number' || type == 'symbol' || type == 'boolean')\n ? (value !== '__proto__')\n : (value === null);\n}\n\n/**\n * Checks if `func` has its source masked.\n *\n * @private\n * @param {Function} func The function to check.\n * @returns {boolean} Returns `true` if `func` is masked, else `false`.\n */\nfunction isMasked(func) {\n return !!maskSrcKey && (maskSrcKey in func);\n}\n\n/**\n * Checks if `value` is likely a prototype object.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a prototype, else `false`.\n */\nfunction isPrototype(value) {\n var Ctor = value && value.constructor,\n proto = (typeof Ctor == 'function' && Ctor.prototype) || objectProto;\n\n return value === proto;\n}\n\n/**\n * Checks if `value` is suitable for strict equality comparisons, i.e. `===`.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` if suitable for strict\n * equality comparisons, else `false`.\n */\nfunction isStrictComparable(value) {\n return value === value && !isObject(value);\n}\n\n/**\n * A specialized version of `matchesProperty` for source values suitable\n * for strict equality comparisons, i.e. `===`.\n *\n * @private\n * @param {string} key The key of the property to get.\n * @param {*} srcValue The value to match.\n * @returns {Function} Returns the new spec function.\n */\nfunction matchesStrictComparable(key, srcValue) {\n return function(object) {\n if (object == null) {\n return false;\n }\n return object[key] === srcValue &&\n (srcValue !== undefined || (key in Object(object)));\n };\n}\n\n/**\n * Converts `string` to a property path array.\n *\n * @private\n * @param {string} string The string to convert.\n * @returns {Array} Returns the property path array.\n */\nvar stringToPath = memoize(function(string) {\n string = toString(string);\n\n var result = [];\n if (reLeadingDot.test(string)) {\n result.push('');\n }\n string.replace(rePropName, function(match, number, quote, string) {\n result.push(quote ? string.replace(reEscapeChar, '$1') : (number || match));\n });\n return result;\n});\n\n/**\n * Converts `value` to a string key if it's not a string or symbol.\n *\n * @private\n * @param {*} value The value to inspect.\n * @returns {string|symbol} Returns the key.\n */\nfunction toKey(value) {\n if (typeof value == 'string' || isSymbol(value)) {\n return value;\n }\n var result = (value + '');\n return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result;\n}\n\n/**\n * Converts `func` to its source code.\n *\n * @private\n * @param {Function} func The function to process.\n * @returns {string} Returns the source code.\n */\nfunction toSource(func) {\n if (func != null) {\n try {\n return funcToString.call(func);\n } catch (e) {}\n try {\n return (func + '');\n } catch (e) {}\n }\n return '';\n}\n\n/**\n * This method is like `_.find` except that it returns the index of the first\n * element `predicate` returns truthy for instead of the element itself.\n *\n * @static\n * @memberOf _\n * @since 1.1.0\n * @category Array\n * @param {Array} array The array to inspect.\n * @param {Function} [predicate=_.identity]\n * The function invoked per iteration.\n * @param {number} [fromIndex=0] The index to search from.\n * @returns {number} Returns the index of the found element, else `-1`.\n * @example\n *\n * var users = [\n * { 'user': 'barney', 'active': false },\n * { 'user': 'fred', 'active': false },\n * { 'user': 'pebbles', 'active': true }\n * ];\n *\n * _.findIndex(users, function(o) { return o.user == 'barney'; });\n * // => 0\n *\n * // The `_.matches` iteratee shorthand.\n * _.findIndex(users, { 'user': 'fred', 'active': false });\n * // => 1\n *\n * // The `_.matchesProperty` iteratee shorthand.\n * _.findIndex(users, ['active', false]);\n * // => 0\n *\n * // The `_.property` iteratee shorthand.\n * _.findIndex(users, 'active');\n * // => 2\n */\nfunction findIndex(array, predicate, fromIndex) {\n var length = array ? array.length : 0;\n if (!length) {\n return -1;\n }\n var index = fromIndex == null ? 0 : toInteger(fromIndex);\n if (index < 0) {\n index = nativeMax(length + index, 0);\n }\n return baseFindIndex(array, baseIteratee(predicate, 3), index);\n}\n\n/**\n * Iterates over elements of `collection`, returning the first element\n * `predicate` returns truthy for. The predicate is invoked with three\n * arguments: (value, index|key, collection).\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Collection\n * @param {Array|Object} collection The collection to inspect.\n * @param {Function} [predicate=_.identity]\n * The function invoked per iteration.\n * @param {number} [fromIndex=0] The index to search from.\n * @returns {*} Returns the matched element, else `undefined`.\n * @example\n *\n * var users = [\n * { 'user': 'barney', 'age': 36, 'active': true },\n * { 'user': 'fred', 'age': 40, 'active': false },\n * { 'user': 'pebbles', 'age': 1, 'active': true }\n * ];\n *\n * _.find(users, function(o) { return o.age < 40; });\n * // => object for 'barney'\n *\n * // The `_.matches` iteratee shorthand.\n * _.find(users, { 'age': 1, 'active': true });\n * // => object for 'pebbles'\n *\n * // The `_.matchesProperty` iteratee shorthand.\n * _.find(users, ['active', false]);\n * // => object for 'fred'\n *\n * // The `_.property` iteratee shorthand.\n * _.find(users, 'active');\n * // => object for 'barney'\n */\nvar find = createFind(findIndex);\n\n/**\n * Creates a function that memoizes the result of `func`. If `resolver` is\n * provided, it determines the cache key for storing the result based on the\n * arguments provided to the memoized function. By default, the first argument\n * provided to the memoized function is used as the map cache key. The `func`\n * is invoked with the `this` binding of the memoized function.\n *\n * **Note:** The cache is exposed as the `cache` property on the memoized\n * function. Its creation may be customized by replacing the `_.memoize.Cache`\n * constructor with one whose instances implement the\n * [`Map`](http://ecma-international.org/ecma-262/7.0/#sec-properties-of-the-map-prototype-object)\n * method interface of `delete`, `get`, `has`, and `set`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to have its output memoized.\n * @param {Function} [resolver] The function to resolve the cache key.\n * @returns {Function} Returns the new memoized function.\n * @example\n *\n * var object = { 'a': 1, 'b': 2 };\n * var other = { 'c': 3, 'd': 4 };\n *\n * var values = _.memoize(_.values);\n * values(object);\n * // => [1, 2]\n *\n * values(other);\n * // => [3, 4]\n *\n * object.a = 2;\n * values(object);\n * // => [1, 2]\n *\n * // Modify the result cache.\n * values.cache.set(object, ['a', 'b']);\n * values(object);\n * // => ['a', 'b']\n *\n * // Replace `_.memoize.Cache`.\n * _.memoize.Cache = WeakMap;\n */\nfunction memoize(func, resolver) {\n if (typeof func != 'function' || (resolver && typeof resolver != 'function')) {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n var memoized = function() {\n var args = arguments,\n key = resolver ? resolver.apply(this, args) : args[0],\n cache = memoized.cache;\n\n if (cache.has(key)) {\n return cache.get(key);\n }\n var result = func.apply(this, args);\n memoized.cache = cache.set(key, result);\n return result;\n };\n memoized.cache = new (memoize.Cache || MapCache);\n return memoized;\n}\n\n// Assign cache to `_.memoize`.\nmemoize.Cache = MapCache;\n\n/**\n * Performs a\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * comparison between two values to determine if they are equivalent.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'a': 1 };\n * var other = { 'a': 1 };\n *\n * _.eq(object, object);\n * // => true\n *\n * _.eq(object, other);\n * // => false\n *\n * _.eq('a', 'a');\n * // => true\n *\n * _.eq('a', Object('a'));\n * // => false\n *\n * _.eq(NaN, NaN);\n * // => true\n */\nfunction eq(value, other) {\n return value === other || (value !== value && other !== other);\n}\n\n/**\n * Checks if `value` is likely an `arguments` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n * else `false`.\n * @example\n *\n * _.isArguments(function() { return arguments; }());\n * // => true\n *\n * _.isArguments([1, 2, 3]);\n * // => false\n */\nfunction isArguments(value) {\n // Safari 8.1 makes `arguments.callee` enumerable in strict mode.\n return isArrayLikeObject(value) && hasOwnProperty.call(value, 'callee') &&\n (!propertyIsEnumerable.call(value, 'callee') || objectToString.call(value) == argsTag);\n}\n\n/**\n * Checks if `value` is classified as an `Array` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array, else `false`.\n * @example\n *\n * _.isArray([1, 2, 3]);\n * // => true\n *\n * _.isArray(document.body.children);\n * // => false\n *\n * _.isArray('abc');\n * // => false\n *\n * _.isArray(_.noop);\n * // => false\n */\nvar isArray = Array.isArray;\n\n/**\n * Checks if `value` is array-like. A value is considered array-like if it's\n * not a function and has a `value.length` that's an integer greater than or\n * equal to `0` and less than or equal to `Number.MAX_SAFE_INTEGER`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is array-like, else `false`.\n * @example\n *\n * _.isArrayLike([1, 2, 3]);\n * // => true\n *\n * _.isArrayLike(document.body.children);\n * // => true\n *\n * _.isArrayLike('abc');\n * // => true\n *\n * _.isArrayLike(_.noop);\n * // => false\n */\nfunction isArrayLike(value) {\n return value != null && isLength(value.length) && !isFunction(value);\n}\n\n/**\n * This method is like `_.isArrayLike` except that it also checks if `value`\n * is an object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array-like object,\n * else `false`.\n * @example\n *\n * _.isArrayLikeObject([1, 2, 3]);\n * // => true\n *\n * _.isArrayLikeObject(document.body.children);\n * // => true\n *\n * _.isArrayLikeObject('abc');\n * // => false\n *\n * _.isArrayLikeObject(_.noop);\n * // => false\n */\nfunction isArrayLikeObject(value) {\n return isObjectLike(value) && isArrayLike(value);\n}\n\n/**\n * Checks if `value` is classified as a `Function` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a function, else `false`.\n * @example\n *\n * _.isFunction(_);\n * // => true\n *\n * _.isFunction(/abc/);\n * // => false\n */\nfunction isFunction(value) {\n // The use of `Object#toString` avoids issues with the `typeof` operator\n // in Safari 8-9 which returns 'object' for typed array and other constructors.\n var tag = isObject(value) ? objectToString.call(value) : '';\n return tag == funcTag || tag == genTag;\n}\n\n/**\n * Checks if `value` is a valid array-like length.\n *\n * **Note:** This method is loosely based on\n * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.\n * @example\n *\n * _.isLength(3);\n * // => true\n *\n * _.isLength(Number.MIN_VALUE);\n * // => false\n *\n * _.isLength(Infinity);\n * // => false\n *\n * _.isLength('3');\n * // => false\n */\nfunction isLength(value) {\n return typeof value == 'number' &&\n value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;\n}\n\n/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n var type = typeof value;\n return !!value && (type == 'object' || type == 'function');\n}\n\n/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return !!value && typeof value == 'object';\n}\n\n/**\n * Checks if `value` is classified as a `Symbol` primitive or object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a symbol, else `false`.\n * @example\n *\n * _.isSymbol(Symbol.iterator);\n * // => true\n *\n * _.isSymbol('abc');\n * // => false\n */\nfunction isSymbol(value) {\n return typeof value == 'symbol' ||\n (isObjectLike(value) && objectToString.call(value) == symbolTag);\n}\n\n/**\n * Checks if `value` is classified as a typed array.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n * @example\n *\n * _.isTypedArray(new Uint8Array);\n * // => true\n *\n * _.isTypedArray([]);\n * // => false\n */\nvar isTypedArray = nodeIsTypedArray ? baseUnary(nodeIsTypedArray) : baseIsTypedArray;\n\n/**\n * Converts `value` to a finite number.\n *\n * @static\n * @memberOf _\n * @since 4.12.0\n * @category Lang\n * @param {*} value The value to convert.\n * @returns {number} Returns the converted number.\n * @example\n *\n * _.toFinite(3.2);\n * // => 3.2\n *\n * _.toFinite(Number.MIN_VALUE);\n * // => 5e-324\n *\n * _.toFinite(Infinity);\n * // => 1.7976931348623157e+308\n *\n * _.toFinite('3.2');\n * // => 3.2\n */\nfunction toFinite(value) {\n if (!value) {\n return value === 0 ? value : 0;\n }\n value = toNumber(value);\n if (value === INFINITY || value === -INFINITY) {\n var sign = (value < 0 ? -1 : 1);\n return sign * MAX_INTEGER;\n }\n return value === value ? value : 0;\n}\n\n/**\n * Converts `value` to an integer.\n *\n * **Note:** This method is loosely based on\n * [`ToInteger`](http://www.ecma-international.org/ecma-262/7.0/#sec-tointeger).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to convert.\n * @returns {number} Returns the converted integer.\n * @example\n *\n * _.toInteger(3.2);\n * // => 3\n *\n * _.toInteger(Number.MIN_VALUE);\n * // => 0\n *\n * _.toInteger(Infinity);\n * // => 1.7976931348623157e+308\n *\n * _.toInteger('3.2');\n * // => 3\n */\nfunction toInteger(value) {\n var result = toFinite(value),\n remainder = result % 1;\n\n return result === result ? (remainder ? result - remainder : result) : 0;\n}\n\n/**\n * Converts `value` to a number.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to process.\n * @returns {number} Returns the number.\n * @example\n *\n * _.toNumber(3.2);\n * // => 3.2\n *\n * _.toNumber(Number.MIN_VALUE);\n * // => 5e-324\n *\n * _.toNumber(Infinity);\n * // => Infinity\n *\n * _.toNumber('3.2');\n * // => 3.2\n */\nfunction toNumber(value) {\n if (typeof value == 'number') {\n return value;\n }\n if (isSymbol(value)) {\n return NAN;\n }\n if (isObject(value)) {\n var other = typeof value.valueOf == 'function' ? value.valueOf() : value;\n value = isObject(other) ? (other + '') : other;\n }\n if (typeof value != 'string') {\n return value === 0 ? value : +value;\n }\n value = value.replace(reTrim, '');\n var isBinary = reIsBinary.test(value);\n return (isBinary || reIsOctal.test(value))\n ? freeParseInt(value.slice(2), isBinary ? 2 : 8)\n : (reIsBadHex.test(value) ? NAN : +value);\n}\n\n/**\n * Converts `value` to a string. An empty string is returned for `null`\n * and `undefined` values. The sign of `-0` is preserved.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to process.\n * @returns {string} Returns the string.\n * @example\n *\n * _.toString(null);\n * // => ''\n *\n * _.toString(-0);\n * // => '-0'\n *\n * _.toString([1, 2, 3]);\n * // => '1,2,3'\n */\nfunction toString(value) {\n return value == null ? '' : baseToString(value);\n}\n\n/**\n * Gets the value at `path` of `object`. If the resolved value is\n * `undefined`, the `defaultValue` is returned in its place.\n *\n * @static\n * @memberOf _\n * @since 3.7.0\n * @category Object\n * @param {Object} object The object to query.\n * @param {Array|string} path The path of the property to get.\n * @param {*} [defaultValue] The value returned for `undefined` resolved values.\n * @returns {*} Returns the resolved value.\n * @example\n *\n * var object = { 'a': [{ 'b': { 'c': 3 } }] };\n *\n * _.get(object, 'a[0].b.c');\n * // => 3\n *\n * _.get(object, ['a', '0', 'b', 'c']);\n * // => 3\n *\n * _.get(object, 'a.b.c', 'default');\n * // => 'default'\n */\nfunction get(object, path, defaultValue) {\n var result = object == null ? undefined : baseGet(object, path);\n return result === undefined ? defaultValue : result;\n}\n\n/**\n * Checks if `path` is a direct or inherited property of `object`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Object\n * @param {Object} object The object to query.\n * @param {Array|string} path The path to check.\n * @returns {boolean} Returns `true` if `path` exists, else `false`.\n * @example\n *\n * var object = _.create({ 'a': _.create({ 'b': 2 }) });\n *\n * _.hasIn(object, 'a');\n * // => true\n *\n * _.hasIn(object, 'a.b');\n * // => true\n *\n * _.hasIn(object, ['a', 'b']);\n * // => true\n *\n * _.hasIn(object, 'b');\n * // => false\n */\nfunction hasIn(object, path) {\n return object != null && hasPath(object, path, baseHasIn);\n}\n\n/**\n * Creates an array of the own enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects. See the\n * [ES spec](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)\n * for more details.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keys(new Foo);\n * // => ['a', 'b'] (iteration order is not guaranteed)\n *\n * _.keys('hi');\n * // => ['0', '1']\n */\nfunction keys(object) {\n return isArrayLike(object) ? arrayLikeKeys(object) : baseKeys(object);\n}\n\n/**\n * This method returns the first argument it receives.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Util\n * @param {*} value Any value.\n * @returns {*} Returns `value`.\n * @example\n *\n * var object = { 'a': 1 };\n *\n * console.log(_.identity(object) === object);\n * // => true\n */\nfunction identity(value) {\n return value;\n}\n\n/**\n * Creates a function that returns the value at `path` of a given object.\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Util\n * @param {Array|string} path The path of the property to get.\n * @returns {Function} Returns the new accessor function.\n * @example\n *\n * var objects = [\n * { 'a': { 'b': 2 } },\n * { 'a': { 'b': 1 } }\n * ];\n *\n * _.map(objects, _.property('a.b'));\n * // => [2, 1]\n *\n * _.map(_.sortBy(objects, _.property(['a', 'b'])), 'a.b');\n * // => [1, 2]\n */\nfunction property(path) {\n return isKey(path) ? baseProperty(toKey(path)) : basePropertyDeep(path);\n}\n\nmodule.exports = find;\n","module.exports = {\n\t// Used as the background color for the active state on rows or items on list-like components.\n\tcolorBackgroundRowActive: 'rgb(236, 235, 234)',\n\t// Brandable modal header\n\tcolorBackgroundModalBrand: 'rgb(0, 112, 210)',\n\t// Background color for notification list item.\n\tcolorBackgroundNotification: 'rgb(255, 255, 255)',\n\t// Background color for a new notification list item.\n\tcolorBackgroundNotificationNew: 'rgb(243, 242, 242)',\n\t// Notifications badge background color.\n\tcolorBackgroundNotificationBadgeActive: 'rgb(0, 57, 107)',\n\t// Notifications badge background color.\n\tcolorBackgroundNotificationBadgeHover: 'rgb(0, 95, 178)',\n\tcolorContrastPrimary: 'rgb(243, 242, 242)',\n\t// Used as the background color for the hover state on rows or items on list-like components.\n\tcolorBackgroundRowHover: 'rgb(243, 242, 242)',\n\tcolorForegroundPrimary: 'rgb(255, 255, 255)',\n\t// Dark color for UI elements related to errors. Accessible with white text.\n\tcolorBackgroundErrorDark: 'rgb(194, 57, 52)',\n\t// Background color for UI elements related to providing neutral information (not error, success, or warning).\n\tcolorBackgroundInfo: 'rgb(112, 110, 107)',\n\t// The color of the mask overlay that appears when you enter a modal state.\n\tcolorBackgroundTempModalTint: 'rgba(43, 40, 38, 0.6)',\n\t// Background color for reminder notification on hover\n\tcolorBackgroundReminderHover: 'rgb(255, 255, 255)',\n\t// Winter 18 token, this has been deprecated. Please use BRAND_BACKGROUND_DARK_TRANSPARENT instead. These RGBA values need to be updated if BRAND_BAND_COLOR_BACKGROUND_PRIMARY changes, solves webkit bug\n\tbrandBandColorBackgroundSecondaryTransparent: 'rgba(253, 253, 253, 0)',\n\t// Notifications badge background color.\n\tcolorBackgroundNotificationBadge: 'rgb(194, 57, 52)',\n\t// Color of the indicator dot.\n\tcolorBackgroundIndicatorDot: 'rgb(22, 50, 92)',\n\tcardWrapperColorBackground: 'rgb(255, 255, 255)',\n\t// Alternative background color for dark portions of the app.\n\tcolorBackgroundAltInverse: 'rgb(22, 50, 92)',\n\tpopoverWalkthroughHeaderImage: '/assets/images/popovers/popover-header.png',\n\t// Disabled input\n\tcolorBackgroundInputDisabled: 'rgb(236, 235, 234)',\n\t// Used as the background color for the new state on rows or items on list-like components.\n\tcolorBackgroundRowNew: 'rgb(217, 255, 223)',\n\t// Hovered toggle background color.\n\tcolorBackgroundToggleHover: 'rgb(150, 148, 146)',\n\tpopoverWalkthroughColorBackground: 'rgb(3, 46, 97)',\n\t// Dark color for UI elements that have to do with success. Accessible with white text.\n\tcolorBackgroundSuccessDark: 'rgb(4, 132, 75)',\n\t// Background color for reminder notification\n\tcolorBackgroundReminder: 'rgb(244, 246, 249)',\n\t// Used as background for loading stencils on white background.\n\tcolorBackgroundStencil: 'rgb(243, 242, 242)',\n\t// Used when further differentiation is needed because colorBackground and colorBackgroundAlt are both being used in close proximity.\n\tcolorBackgroundAlt2: 'rgb(243, 242, 242)',\n\t// Color for UI elements that have to do with warning.\n\tcolorBackgroundWarning: 'rgb(255, 183, 93)',\n\t// Hovered background color for success buttons\n\tcolorBackgroundButtonSuccessHover: 'rgb(4, 132, 75)',\n\tpopoverWalkthroughAltImage: '/assets/images/popovers/popover-action.png',\n\t// Hover color for utility bar item.\n\tcolorBackgroundUtilityBarHover: 'rgb(236, 235, 234)',\n\tprogressColorBorderShade: 'rgb(243, 242, 242)',\n\t// Background color for highlighting text in search results.\n\tcolorBackgroundHighlightSearch: 'rgb(255, 240, 63)',\n\t// Toggle background color.\n\tcolorBackgroundToggle: 'rgb(176, 173, 171)',\n\t// Use COLOR_BACKGROUND_PAGE_HEADER instead.\n\tcolorBackgroundAnchor: 'rgb(243, 242, 242)',\n\tpopoverWalkthroughAltNubbinColorBackground: 'rgb(33, 92, 160)',\n\t// Hover color for UI elements related to destructive actions.\n\tcolorBackgroundDestructiveHover: 'rgb(166, 26, 20)',\n\tprogressColorBackgroundShade: 'rgb(243, 242, 242)',\n\t// Default background color for the whole app.\n\tcolorBackground: 'rgb(243, 242, 242)',\n\t// Our product brand blue, darkened to meet accessibility color contrast ratios with white text.\n\tcolorBrandDark: 'rgb(0, 112, 210)',\n\t// Background color for success buttons\n\tcolorBackgroundButtonSuccess: 'rgb(75, 202, 129)',\n\t// The color of the mask overlay that appears when you enter a modal state.\n\tcolorBackgroundBackdrop: 'rgba(255, 255, 255, 0.75)',\n\t// Our product brand blue.\n\tcolorBrand: 'rgb(21, 137, 238)',\n\t// Background color for default desktop chrome (ex. global header)\n\tcolorBackgroundChromeDesktop: 'rgb(255, 255, 255)',\n\t// Default Page Header background color\n\tpageHeaderColorBackground: 'rgb(243, 242, 242)',\n\t// Active button backgrounds on modal headers\n\tcolorBackgroundModalButtonActive: 'rgba(0, 0, 0, 0.16)',\n\t// Color for UI elements related to destructive actions.\n\tcolorBackgroundDestructive: 'rgb(194, 57, 52)',\n\t// Selected checkboxes\n\tcolorBackgroundInputCheckboxSelected: 'rgb(21, 137, 238)',\n\t// Default checkboxes\n\tcolorBackgroundInputCheckbox: 'rgb(255, 255, 255)',\n\tcolorBackgroundPrimary: 'rgb(243, 242, 242)',\n\t// Color for UI elements that have to do with success.\n\tcolorBackgroundSuccess: 'rgb(75, 202, 129)',\n\t// Disabled checkboxes\n\tcolorBackgroundInputCheckboxDisabled: 'rgb(221, 219, 218)',\n\t// Background color for pills.\n\tcolorBackgroundPill: 'rgb(255, 255, 255)',\n\t// Color of the spinner dot.\n\tcolorBackgroundSpinnerDot: 'rgb(176, 173, 171)',\n\tcolorBackgroundBrandPrimaryFocus: 'rgb(0, 95, 178)',\n\t// Color for UI elements related to the offline state.\n\tcolorBackgroundOffline: 'rgb(62, 62, 60)',\n\ttableColorBackgroundHeaderHover: 'rgb(255, 255, 255)',\n\t// The color of the mask overlay that provides user feedback on interaction.\n\tcolorBackgroundBackdropTint: 'rgb(250, 250, 249)',\n\tcolorBackgroundBrandPrimaryActive: 'rgb(0, 95, 178)',\n\t// Selected input field (when user has clicked or tabbed into field)\n\tcolorBackgroundInputActive: 'rgb(255, 255, 255)',\n\tpopoverWalkthroughColorBackgroundAlt: 'rgb(22, 74, 133)',\n\t// Winter 18 token, this has been deprecated. Please use BRAND_BACKGROUND_PRIMARY_DARK instead.\n\tbrandBandColorBackgroundSecondary: 'rgb(253, 253, 253)',\n\ttableColorBackgroundHeader: 'rgb(250, 250, 249)',\n\t// Used as an alternate background for loading stencils on gray backgrounds.\n\tcolorBackgroundStencilAlt: 'rgb(236, 235, 234)',\n\t// The background color of an internal scrollbar.\n\tcolorBackgroundScrollbar: 'rgb(236, 235, 234)',\n\t// Disabled toggle background color.\n\tcolorBackgroundToggleDisabled: 'rgb(176, 173, 171)',\n\t// Background color for toast messaging.\n\tcolorBackgroundToast: 'rgb(112, 110, 107)',\n\tcolorBackgroundBrandPrimaryHover: 'rgb(0, 95, 178)',\n\t// Background color for default mobile chrome (ex. global header)\n\tcolorBackgroundChromeMobile: 'rgb(0, 112, 210)',\n\t// Winter 18 token, this has been deprecated. Please use BRAND_BACKGROUND_PRIMARY_TRANSPARENT instead. These RGBA values need to be updated if BRAND_BAND_COLOR_BACKGROUND_PRIMARY changes, solves webkit bug\n\tbrandBandColorBackgroundPrimaryTransparent: 'rgba(253, 253, 253, 0)',\n\t// Background color for UI elements related to the concept of an external user or customer.\n\tcolorBackgroundCustomer: 'rgb(255, 154, 60)',\n\t// Color for UI elements related to errors.\n\tcolorBackgroundError: 'rgb(212, 80, 76)',\n\tcolorContrastSecondary: 'rgb(243, 242, 242)',\n\t// Secondary top bar background color (child browser, file preview, etc.)\n\tcolorBackgroundBrowser: 'rgb(112, 110, 107)',\n\t// Second default background color for the app.\n\tcolorBackgroundAlt: 'rgb(255, 255, 255)',\n\t// Background color of comment posts in the feed.\n\tcolorBackgroundPost: 'rgb(250, 250, 249)',\n\tcolorBackgroundBrandPrimary: 'rgb(0, 112, 210)',\n\t// Used as the background color for selected rows or items on list-like components.\n\tcolorBackgroundRowSelected: 'rgb(236, 235, 234)',\n\t// Default input field\n\tcolorBackgroundInput: 'rgb(255, 255, 255)',\n\t// Background color for success toast messaging.\n\tcolorBackgroundToastSuccess: 'rgb(4, 132, 75)',\n\t// Color of mask overlay that sits on top of an image when text is present.\n\tcolorBackgroundImageOverlay: 'rgba(0, 0, 0, 0.4)',\n\t// Our product brand blue, darkened even further.\n\tcolorBrandDarker: 'rgb(0, 95, 178)',\n\t// Used as the default background color for temporary dialog elements, such as the progress spinner background.\n\tcolorBackgroundTempModal: 'rgb(150, 148, 146)',\n\t// Background color for text selected with a mouse.\n\tcolorBackgroundSelection: 'rgb(216, 237, 255)',\n\t// Used as gray background when more contrast is desired.\n\tcolorBackgroundShade: 'rgb(236, 235, 234)',\n\t// Standard modal header\n\tcolorBackgroundModal: 'rgb(255, 255, 255)',\n\t// Active color for UI elements related to destructive actions.\n\tcolorBackgroundDestructiveActive: 'rgb(135, 5, 0)',\n\t// Hovered active toggle background color.\n\tcolorBackgroundToggleActiveHover: 'rgb(0, 95, 178)',\n\t// Background color for payloads in the feed.\n\tcolorBackgroundPayload: 'rgb(250, 250, 249)',\n\t// Button backgrounds on modal headers\n\tcolorBackgroundModalButton: 'rgba(0, 0, 0, 0.07)',\n\t// Active color for utility bar item.\n\tcolorBackgroundUtilityBarActive: 'rgb(21, 137, 238)',\n\t// Active background color for success buttons\n\tcolorBackgroundButtonSuccessActive: 'rgb(4, 132, 75)',\n\tbuttonColorBackgroundPrimary: 'rgb(255, 255, 255)',\n\t// Background color for error toast messaging.\n\tcolorBackgroundToastError: 'rgb(194, 57, 52)',\n\t// Stage left org switcher dropdown arrow background color.\n\tcolorBackgroundOrgSwitcherArrow: 'rgb(6, 28, 63)',\n\t// Default background color for dark portions of the app (like Stage Left or tooltips).\n\tcolorBackgroundInverse: 'rgb(6, 28, 63)',\n\t// Active toggle background color.\n\tcolorBackgroundToggleActive: 'rgb(0, 112, 210)',\n\tcolorPickerSliderThumbColorBackground: 'rgb(243, 242, 242)',\n\t// Winter 18 token, this has been deprecated. Please use BRAND_BACKGROUND_PRIMARY instead.\n\tpageColorBackgroundPrimary: 'rgb(253, 253, 253)',\n\t// Used as gray background in conjunction with Shade when more contrast is desired.\n\tcolorBackgroundShadeDark: 'rgb(221, 219, 218)',\n\t// Notifications badge background color.\n\tcolorBackgroundNotificationBadgeFocus: 'rgb(0, 95, 178)',\n\t// Background for utility icons that live in the action bar on mobile.\n\tcolorBackgroundActionbarIconUtility: 'rgb(112, 110, 107)',\n\t// The background color of an internal scrollbar track.\n\tcolorBackgroundScrollbarTrack: 'rgb(201, 199, 197)',\n\t// Background color for input field that has encountered an error.\n\tcolorBackgroundInputError: 'rgb(255, 221, 225)',\n\t// Winter 18 token, this has been deprecated. Please use BRAND_BACKGROUND_PRIMARY instead.\n\tbrandBandColorBackgroundPrimary: 'rgb(253, 253, 253)',\n\t// Background color for highlighting UI elements.\n\tcolorBackgroundHighlight: 'rgb(250, 255, 189)',\n\tcolorBackgroundSecondary: 'rgb(255, 255, 255)',\n\tpopoverWalkthroughHeaderColorBackground: 'rgb(22, 74, 133)',\n\tbrandBandDefaultImage:\n\t\t'/assets/images/themes/oneSalesforce/banner-brand-default.png',\n\tbannerUserDefaultImage:\n\t\t'/assets/images/themes/oneSalesforce/banner-user-default.png',\n\tbannerGroupDefaultImage:\n\t\t'/assets/images/themes/oneSalesforce/banner-group-public-default.png',\n\t// The borders to create the checkmark\n\tcolorBorderInputCheckboxSelectedCheckmark: 'rgb(255, 255, 255)',\n\t// Border color for disabled inverse button.\n\tcolorBorderButtonInverseDisabled: 'rgba(255, 255, 255, 0.15)',\n\t// Hovered border color for a button with an icon that has a parent element that has a hover state\n\tcolorBorderIconInverseHintHover: 'rgba(255, 255, 255, 0.75)',\n\t// Dark alternative border color for UI elements related to errors.\n\tcolorBorderErrorDark: 'rgb(234, 130, 136)',\n\t// Border color for a button with an icon that has a parent element that has a hover state\n\tcolorBorderIconInverseHint: 'rgba(255, 255, 255, 0.5)',\n\t// Our product brand blue, darkened to meet accessibility color contrast ratios with white text.\n\tcolorBorderBrandDark: 'rgb(0, 112, 210)',\n\t// Border color for UI elements related to providing neutral information (not error, success, or warning).\n\tcolorBorderInfo: 'rgb(112, 110, 107)',\n\t// Border color for UI elements that have to do with warnings.\n\tcolorBorderWarning: 'rgb(255, 183, 93)',\n\t// Border color for an active tab.\n\tcolorBorderTabActive: 'rgb(255, 255, 255)',\n\t// Disabled stroke color.\n\tcolorStrokeDisabled: 'rgb(236, 235, 234)',\n\t// Hover border color for UI elements that have to do with destructive actions.\n\tcolorBorderDestructiveHover: 'rgb(166, 26, 20)',\n\t// Default border color for UI elements.\n\tcolorBorder: 'rgb(221, 219, 218)',\n\t// Border color on disabled form elements.\n\tcolorBorderInputDisabled: 'rgb(201, 199, 197)',\n\t// Dark alternative border color for UI elements that have to do with success.\n\tcolorBorderSuccessDark: 'rgb(4, 132, 75)',\n\t// Border color on notification reminders.\n\tcolorBorderReminder: 'rgb(236, 235, 234)',\n\t// Active stroke color for our product brand blue.\n\tcolorStrokeBrandActive: 'rgb(22, 50, 92)',\n\t// Border color for brandable primary button - disabled state\n\tcolorBorderButtonBrandDisabled: 'rgba(0, 0, 0, 0)',\n\tpageHeaderColorBorder: 'rgb(221, 219, 218)',\n\t// Border color for UI elements that have to do with destructive actions.\n\tcolorBorderDestructive: 'rgb(194, 57, 52)',\n\tcolorBorderPrimary: 'rgb(221, 219, 218)',\n\t// Border color for default secondary button\n\tcolorBorderButtonDefault: 'rgb(221, 219, 218)',\n\t// Darkest separator color - used as an alternate separator color when more differentiation is desired.\n\tcolorBorderSeparatorAlt2: 'rgb(201, 199, 197)',\n\t// Border color for UI elements related to the offline state.\n\tcolorBorderOffline: 'rgb(62, 62, 60)',\n\tcolorBorderBrandPrimaryFocus: 'rgb(0, 95, 178)',\n\t// Border color for UI elements that have to do with success.\n\tcolorBorderSuccess: 'rgb(75, 202, 129)',\n\t// Lightest separator color - used as default separator on white backgrounds.\n\tcolorBorderSeparator: 'rgb(243, 242, 242)',\n\t// Our product brand blue.\n\tcolorBorderBrand: 'rgb(21, 137, 238)',\n\tcolorBorderBrandPrimaryHover: 'rgb(0, 95, 178)',\n\t// Used to delineate the boundary of a component that is being clicked. Specific to builders.\n\tcolorBorderSelectionActive: 'rgb(243, 242, 242)',\n\t// Border color for brandable primary button\n\tcolorBorderButtonBrand: 'rgb(0, 112, 210)',\n\t// Border color for UI elements that have to do with errors.\n\tcolorBorderError: 'rgb(194, 57, 52)',\n\t// Used to delineate the boundary of a component that is being hovered over. Specific to builders.\n\tcolorBorderSelectionHover: 'rgb(21, 137, 238)',\n\tcolorBorderBrandPrimaryActive: 'rgb(0, 95, 178)',\n\t// Border color on active form elements.\n\tcolorBorderInputActive: 'rgb(21, 137, 238)',\n\t// Border color on form elements.\n\tcolorBorderInput: 'rgb(221, 219, 218)',\n\tcolorBorderBrandPrimary: 'rgb(0, 112, 210)',\n\t// These borders create the faux checkmark when the checkbox toggle is in the checked state.\n\tcolorBorderToggleChecked: 'rgb(255, 255, 255)',\n\t// Used as the border color for the hover state on selected rows or items on list-like components.\n\tcolorBorderRowSelectedHover: 'rgb(21, 137, 238)',\n\t// Border color for UI elements related to the concept of an external user or customer.\n\tcolorBorderCustomer: 'rgb(255, 154, 60)',\n\t// Used to delineate the boundary of a selected component. Specific to builders.\n\tcolorBorderSelection: 'rgb(0, 112, 210)',\n\t// Used to delineate the boundary of a selected canvas element that is being hovered over. Specific to builders.\n\tcolorBorderCanvasElementSelectionHover: 'rgb(0, 95, 178)',\n\tcardColorBorder: 'rgb(221, 219, 218)',\n\t// Used as the border color for selected rows or items on list-like components.\n\tcolorBorderRowSelected: 'rgb(0, 112, 210)',\n\tbuttonColorBorderPrimary: 'rgb(221, 219, 218)',\n\t// Medium separator color - used as default separator on light gray backgrounds.\n\tcolorBorderSeparatorAlt: 'rgb(221, 219, 218)',\n\t// Used to delineate the boundary of a selected canvas element. Specific to builders.\n\tcolorBorderCanvasElementSelection: 'rgb(94, 180, 255)',\n\t// Hover stroke color for our product brand blue.\n\tcolorStrokeBrandHover: 'rgb(0, 112, 210)',\n\t// Border color to match UI elements using color-background-inverse.\n\tcolorBorderInverse: 'rgb(6, 28, 63)',\n\t// Stroke color for our global header buttons.\n\tcolorStrokeHeaderButton: 'rgb(176, 173, 171)',\n\t// Active border color for UI elements that have to do with destructive actions.\n\tcolorBorderDestructiveActive: 'rgb(135, 5, 0)',\n\t// Alternative border color for UI elements related to errors.\n\tcolorBorderErrorAlt: 'rgb(234, 130, 136)',\n\tpageHeaderJoinedColorBorder: 'rgb(221, 219, 218)',\n\t// Our product brand blue.\n\tcolorStrokeBrand: 'rgb(0, 112, 210)',\n\t// Border color for a selected tab in a tab group.\n\tcolorBorderTabSelected: 'rgb(0, 112, 210)',\n\tcardFooterColorBorder: 'rgb(221, 219, 218)',\n\t// Used as a separator on dark backgrounds, such as stage left navigation.\n\tcolorBorderSeparatorInverse: 'rgb(42, 66, 108)',\n\tpageHeaderBorderRadius: '0.25rem',\n\ttableBorderRadius: '0 0 0.25rem 0.25rem',\n\t// Hard dropshadow on page header\n\tpageHeaderShadow: '0 2px 2px 0 rgba(0, 0, 0, 0.1)',\n\tshadowSoftPrimaryHover: 'rgba(0, 0, 0, 0.20) 0 3px 6px',\n\t// Custom glow for focus states on UI elements with explicit containers.\n\tshadowButtonFocus: '0 0 3px #0070D2',\n\t// Shadow for header.\n\tshadowHeader: '0 2px 4px rgba(0, 0, 0, 0.07)',\n\t// Soft dropshadow found on general UI elements such as containers\n\tshadowSoftPrimary: 'rgba(0, 0, 0, 0.1) 0 2px 2px',\n\t// Hard dropshadow found on general UI elements such as containers\n\tshadowHardPrimary: 'rgba(0, 0, 0, 0.1) 0 2px 0',\n\t// Shadow above overflow menu close bar.\n\tshadowActionOverflowFooter: '0 -2px 4px #fafaf9',\n\t// Hard dropshadow found on outer cards\n\tcardShadow: '0 2px 2px 0 rgba(0, 0, 0, 0.1)',\n\t// Shadow for notifications that should be elevated above other components but under modals.\n\tshadowReminder: '0 2px 3px 0 rgba(0, 0, 0, 0.20)',\n\t// Shadow on elements that are docked to the bottom of the viewport.\n\tshadowDocked: '0 -2px 2px 0 rgba(0, 0, 0, 0.16)',\n\t// Shadow to make inline edit card pop out.\n\tshadowInlineEdit: '0 2px 4px 4px rgba(0, 0, 0, 0.16)',\n\t// Shadow for drag-n-drop.\n\tshadowDrag: '0 2px 4px 0 rgba(0, 0, 0, 0.40)',\n\t// Shadow for drop down.\n\tshadowDropDown: '0 2px 3px 0 rgba(0, 0, 0, 0.16)',\n\t// Inset shadow for editable grid\n\tshadowFocusInset: '0 0 2px 2px #1589EE inset',\n\tshadowSoftPrimaryActive: 'rgba(0, 0, 0, 0.20) 0 1px 1px',\n\t// Custom glow for focus states on UI elements with explicit containers on dark or vibrantly colored backgrounds.\n\tshadowButtonFocusInverse: '0 0 3px #ecebea',\n\t// Shadow on images.\n\tshadowImage: '0 1px 1px rgba(0, 0, 0, 0.16)',\n\tformLabelFontSize: '.75rem',\n\tinputStaticFontSize: '0.875rem',\n\tinputStaticFontWeight: '400',\n\t// Use for active tab.\n\ttabsFontWeight: '700',\n\t// Use for active tab.\n\tcardFontWeight: '700',\n\tpageHeaderTitleFontWeight: '700',\n\t//\n\tcomponentSpacingMargin: '0.75rem',\n\t//\n\tcomponentSpacingPadding: '1rem',\n\t//\n\ttemplateGutters: '0.75rem',\n\t//\n\ttemplateProfileGutters: '8rem 0.75rem 0.75rem',\n\t//\n\ttableCellSpacing: '0.25rem 0.5rem',\n\t//\n\tcardSpacingMargin: '0.75rem',\n\t//\n\tcardFooterPadding: '0.75rem 1rem',\n\tcardFooterTextAlign: 'center',\n\t// Icon color on dark background\n\tcolorTextIconInverse: 'rgb(255, 255, 255)',\n\t// Action label text color\n\tcolorTextActionLabel: 'rgb(112, 110, 107)',\n\t// Link color on dark background\n\tcolorTextLinkInverse: 'rgb(255, 255, 255)',\n\t// Text color for a button that has a parent element that has a hover state. This is the default text/icon color for that button before its parent has been hovered over.\n\tcolorTextButtonInverseDisabled: 'rgba(255, 255, 255, 0.15)',\n\t// Hovered icon color for a button that has a parent element that has a hover state\n\tcolorTextIconInverseHintHover: 'rgba(255, 255, 255, 0.75)',\n\t// Input icon\n\tcolorTextInputIcon: 'rgb(176, 173, 171)',\n\t// Link color on dark background - active state\n\tcolorTextLinkInverseActive: 'rgba(255, 255, 255, 0.5)',\n\t// Action label active text color\n\tcolorTextActionLabelActive: 'rgb(62, 62, 60)',\n\t// Icon color on dark background - active state\n\tcolorTextIconInverseActive: 'rgb(255, 255, 255)',\n\t// Color for text on a selected tab in a tab group.\n\tcolorTextTabLabelSelected: 'rgb(0, 112, 210)',\n\t// Color for texts or icons that are related to warnings on a dark background.\n\tcolorTextWarning: 'rgb(255, 183, 93)',\n\t// Icon color for a button that has a parent element that has a hover state on a dark background. This is the default text/icon color for that button before its parent has been hovered over.\n\tcolorTextIconInverseHint: 'rgba(255, 255, 255, 0.5)',\n\t// Color for disabled text in a tab group.\n\tcolorTextTabLabelDisabled: 'rgb(236, 235, 234)',\n\t// Text color for default secondary button - hover state\n\tcolorTextButtonDefaultHover: 'rgb(0, 112, 210)',\n\t// Input disabled text\n\tcolorTextInputDisabled: 'rgb(112, 110, 107)',\n\t// Tertiary body text color\n\tcolorTextTertiary: 'rgb(150, 148, 146)',\n\t// Focus link text\n\tcolorTextLinkFocus: 'rgb(0, 95, 178)',\n\t// Text color for default secondary button\n\tcolorTextButtonDefault: 'rgb(0, 112, 210)',\n\t// Default icon color - disabled state\n\tcolorTextIconDefaultDisabled: 'rgb(221, 219, 218)',\n\t// Disabled link text\n\tcolorTextLinkDisabled: 'rgb(22, 50, 92)',\n\t// Body text color\n\tcolorTextDefault: 'rgb(62, 62, 60)',\n\t// Active state on a standalone link on a dark background.\n\tcolorTextInverseActive: 'rgb(94, 180, 255)',\n\t// Text color for brandable primary button - disabled state\n\tcolorTextButtonBrandDisabled: 'rgb(255, 255, 255)',\n\t// Primary body text color\n\tcolorTextPrimary: 'rgb(62, 62, 60)',\n\tcolorTextLinkPrimaryFocus: 'rgb(0, 95, 178)',\n\t// Text color for brandable primary button - hover state\n\tcolorTextButtonBrandHover: 'rgb(255, 255, 255)',\n\t// Hover link text\n\tcolorTextLinkHover: 'rgb(0, 95, 178)',\n\t// Color for text in focus state in a tab group.\n\tcolorTextTabLabelFocus: 'rgb(0, 95, 178)',\n\t// Text color for success text.\n\tcolorTextSuccess: 'rgb(2, 126, 70)',\n\t// Color for text that is purposefully de-emphasized to create visual hierarchy.\n\tcolorTextWeak: 'rgb(112, 110, 107)',\n\t// Input placeholder text on dark backgrounds.\n\tcolorTextPlaceholderInverse: 'rgb(236, 235, 234)',\n\t// Default icon color - hover state.\n\tcolorTextIconDefaultHover: 'rgb(0, 112, 210)',\n\t// Icon color for a button that has a parent element that has a hover state. This is the default text/icon color for that button before its parent has been hovered over.\n\tcolorTextIconDefaultHintBorderless: 'rgb(236, 235, 234)',\n\t// Text color for pills.\n\tcolorTextPill: 'rgb(0, 112, 210)',\n\tcolorTextLinkPrimaryHover: 'rgb(0, 95, 178)',\n\t// Link text (508)\n\tcolorTextLink: 'rgb(0, 109, 204)',\n\t// Color for texts that are related to warnings on a light background.\n\tcolorTextWarningAlt: 'rgb(132, 72, 0)',\n\t// Text color for brandable primary button\n\tcolorTextButtonBrand: 'rgb(255, 255, 255)',\n\t// Color for text in active state in a tab group.\n\tcolorTextTabLabelActive: 'rgb(0, 57, 107)',\n\t// Default icon color.\n\tcolorTextIconDefault: 'rgb(112, 110, 107)',\n\t// Our product brand blue.\n\tcolorTextBrand: 'rgb(21, 137, 238)',\n\t// Color for text in hover state in a tab group.\n\tcolorTextTabLabelHover: 'rgb(0, 95, 178)',\n\t// Text color for default secondary button - disabled state\n\tcolorTextButtonDefaultDisabled: 'rgb(221, 219, 218)',\n\t// Color for text on toast messages.\n\tcolorTextToast: 'rgb(236, 235, 234)',\n\t// Color for disabled toggles\n\tcolorTextToggleDisabled: 'rgb(221, 219, 218)',\n\t// Top bar icon color\n\tcolorTextBrowser: 'rgb(255, 255, 255)',\n\tcolorTextLinkPrimaryActive: 'rgb(0, 95, 178)',\n\t// Error text for inputs and error misc\n\tcolorTextError: 'rgb(194, 57, 52)',\n\tcolorTextLinkPrimary: 'rgb(0, 112, 210)',\n\t// Top bar active icon color\n\tcolorTextBrowserActive: 'rgba(0, 0, 0, 0.4)',\n\t// Color for default text in a tab group.\n\tcolorTextTabLabel: 'rgb(22, 50, 92)',\n\t// Customer text used in anchor subtitle\n\tcolorTextCustomer: 'rgb(255, 154, 60)',\n\t// Default icon color - active state.\n\tcolorTextIconDefaultActive: 'rgb(0, 57, 107)',\n\t// Text color found on any primary brand color\n\tcolorTextBrandPrimary: 'rgb(255, 255, 255)',\n\t// Active link text\n\tcolorTextLinkActive: 'rgb(0, 57, 107)',\n\t// Icon color for a button that has a parent element that has a hover state. This is the default text/icon color for that button before its parent has been hovered over.\n\tcolorTextIconDefaultHint: 'rgb(176, 173, 171)',\n\t// Text color for brandable primary button - active state\n\tcolorTextButtonBrandActive: 'rgb(255, 255, 255)',\n\t// Color of required field marker.\n\tcolorTextRequired: 'rgb(194, 57, 52)',\n\t// Color for non-interactive icons that represent a selected item in a list\n\tcolorTextIconBrand: 'rgb(0, 112, 210)',\n\t// Hover state on a standalone link on a dark background.\n\tcolorTextInverseHover: 'rgb(176, 173, 171)',\n\t// Modal header title\n\tcolorTextModal: 'rgb(255, 255, 255)',\n\t// Text color for a button that has a parent element that has a hover state. This is the default text/icon color for that button before its parent has been hovered over.\n\tcolorTextButtonInverse: 'rgb(236, 235, 234)',\n\tbuttonColorTextPrimary: 'rgb(255, 255, 255)',\n\t// Modal header button text color\n\tcolorTextModalButton: 'rgb(112, 110, 107)',\n\t// Link color on dark background - disabled state\n\tcolorTextLinkInverseDisabled: 'rgba(255, 255, 255, 0.15)',\n\t// Inverse text color for dark backgrounds\n\tcolorTextInverse: 'rgb(255, 255, 255)',\n\t// Text color for default secondary button - active state\n\tcolorTextButtonDefaultActive: 'rgb(0, 112, 210)',\n\t// Icon color on dark background - disabled state\n\tcolorTextIconInverseDisabled: 'rgba(255, 255, 255, 0.15)',\n\t// Text color for a button that has a parent element that has a hover state. This is the default text/icon color for that button before its parent has been hovered over.\n\tcolorTextButtonDefaultHint: 'rgb(176, 173, 171)',\n\t// Color for interactive utility icons\n\tcolorTextIconUtility: 'rgb(176, 173, 171)',\n\t// Icon color on dark background - hover state\n\tcolorTextIconInverseHover: 'rgb(255, 255, 255)',\n\t// Input placeholder text.\n\tcolorTextPlaceholder: 'rgb(112, 110, 107)',\n\t// Weak inverse text color for dark backgrounds\n\tcolorTextInverseWeak: 'rgb(176, 173, 171)',\n\t// Secondary body text color\n\tcolorTextSecondary: 'rgb(112, 110, 107)',\n\t// Typed input text\n\tcolorTextInputFocusInverse: 'rgb(22, 50, 92)',\n\t// Text in stage left navigation.\n\tcolorTextStageLeft: 'rgb(236, 235, 234)',\n\t// Link color on dark background - hover state\n\tcolorTextLinkInverseHover: 'rgba(255, 255, 255, 0.75)',\n\t// Text color for success text on dark backgrounds.\n\tcolorTextSuccessInverse: 'rgb(75, 202, 129)',\n\t// Text color for field labels.\n\tcolorTextLabel: 'rgb(112, 110, 107)',\n};\n","/**\n * lodash (Custom Build) <https://lodash.com/>\n * Build: `lodash modularize exports=\"npm\" -o ./`\n * Copyright jQuery Foundation and other contributors <https://jquery.org/>\n * Released under MIT license <https://lodash.com/license>\n * Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>\n * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n */\n\n/** Used as the size to enable large array optimizations. */\nvar LARGE_ARRAY_SIZE = 200;\n\n/** Used as the `TypeError` message for \"Functions\" methods. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/** Used to compose bitmasks for comparison styles. */\nvar UNORDERED_COMPARE_FLAG = 1,\n PARTIAL_COMPARE_FLAG = 2;\n\n/** Used as references for various `Number` constants. */\nvar INFINITY = 1 / 0,\n MAX_SAFE_INTEGER = 9007199254740991;\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n funcTag = '[object Function]',\n genTag = '[object GeneratorFunction]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n objectTag = '[object Object]',\n promiseTag = '[object Promise]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n symbolTag = '[object Symbol]',\n weakMapTag = '[object WeakMap]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n dataViewTag = '[object DataView]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/** Used to match property names within property paths. */\nvar reIsDeepProp = /\\.|\\[(?:[^[\\]]*|([\"'])(?:(?!\\1)[^\\\\]|\\\\.)*?\\1)\\]/,\n reIsPlainProp = /^\\w*$/,\n reLeadingDot = /^\\./,\n rePropName = /[^.[\\]]+|\\[(?:(-?\\d+(?:\\.\\d+)?)|([\"'])((?:(?!\\2)[^\\\\]|\\\\.)*?)\\2)\\]|(?=(?:\\.|\\[\\])(?:\\.|\\[\\]|$))/g;\n\n/**\n * Used to match `RegExp`\n * [syntax characters](http://ecma-international.org/ecma-262/7.0/#sec-patterns).\n */\nvar reRegExpChar = /[\\\\^$.*+?()[\\]{}|]/g;\n\n/** Used to match backslashes in property paths. */\nvar reEscapeChar = /\\\\(\\\\)?/g;\n\n/** Used to detect host constructors (Safari). */\nvar reIsHostCtor = /^\\[object .+?Constructor\\]$/;\n\n/** Used to detect unsigned integer values. */\nvar reIsUint = /^(?:0|[1-9]\\d*)$/;\n\n/** Used to identify `toStringTag` values of typed arrays. */\nvar typedArrayTags = {};\ntypedArrayTags[float32Tag] = typedArrayTags[float64Tag] =\ntypedArrayTags[int8Tag] = typedArrayTags[int16Tag] =\ntypedArrayTags[int32Tag] = typedArrayTags[uint8Tag] =\ntypedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] =\ntypedArrayTags[uint32Tag] = true;\ntypedArrayTags[argsTag] = typedArrayTags[arrayTag] =\ntypedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] =\ntypedArrayTags[dataViewTag] = typedArrayTags[dateTag] =\ntypedArrayTags[errorTag] = typedArrayTags[funcTag] =\ntypedArrayTags[mapTag] = typedArrayTags[numberTag] =\ntypedArrayTags[objectTag] = typedArrayTags[regexpTag] =\ntypedArrayTags[setTag] = typedArrayTags[stringTag] =\ntypedArrayTags[weakMapTag] = false;\n\n/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\n/** Detect free variable `exports`. */\nvar freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;\n\n/** Detect free variable `module`. */\nvar freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;\n\n/** Detect the popular CommonJS extension `module.exports`. */\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n\n/** Detect free variable `process` from Node.js. */\nvar freeProcess = moduleExports && freeGlobal.process;\n\n/** Used to access faster Node.js helpers. */\nvar nodeUtil = (function() {\n try {\n return freeProcess && freeProcess.binding('util');\n } catch (e) {}\n}());\n\n/* Node.js helper references. */\nvar nodeIsTypedArray = nodeUtil && nodeUtil.isTypedArray;\n\n/**\n * A specialized version of `_.filter` for arrays without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {Array} Returns the new filtered array.\n */\nfunction arrayFilter(array, predicate) {\n var index = -1,\n length = array ? array.length : 0,\n resIndex = 0,\n result = [];\n\n while (++index < length) {\n var value = array[index];\n if (predicate(value, index, array)) {\n result[resIndex++] = value;\n }\n }\n return result;\n}\n\n/**\n * A specialized version of `_.some` for arrays without support for iteratee\n * shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {boolean} Returns `true` if any element passes the predicate check,\n * else `false`.\n */\nfunction arraySome(array, predicate) {\n var index = -1,\n length = array ? array.length : 0;\n\n while (++index < length) {\n if (predicate(array[index], index, array)) {\n return true;\n }\n }\n return false;\n}\n\n/**\n * The base implementation of `_.property` without support for deep paths.\n *\n * @private\n * @param {string} key The key of the property to get.\n * @returns {Function} Returns the new accessor function.\n */\nfunction baseProperty(key) {\n return function(object) {\n return object == null ? undefined : object[key];\n };\n}\n\n/**\n * The base implementation of `_.times` without support for iteratee shorthands\n * or max array length checks.\n *\n * @private\n * @param {number} n The number of times to invoke `iteratee`.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns the array of results.\n */\nfunction baseTimes(n, iteratee) {\n var index = -1,\n result = Array(n);\n\n while (++index < n) {\n result[index] = iteratee(index);\n }\n return result;\n}\n\n/**\n * The base implementation of `_.unary` without support for storing metadata.\n *\n * @private\n * @param {Function} func The function to cap arguments for.\n * @returns {Function} Returns the new capped function.\n */\nfunction baseUnary(func) {\n return function(value) {\n return func(value);\n };\n}\n\n/**\n * Gets the value at `key` of `object`.\n *\n * @private\n * @param {Object} [object] The object to query.\n * @param {string} key The key of the property to get.\n * @returns {*} Returns the property value.\n */\nfunction getValue(object, key) {\n return object == null ? undefined : object[key];\n}\n\n/**\n * Checks if `value` is a host object in IE < 9.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a host object, else `false`.\n */\nfunction isHostObject(value) {\n // Many host objects are `Object` objects that can coerce to strings\n // despite having improperly defined `toString` methods.\n var result = false;\n if (value != null && typeof value.toString != 'function') {\n try {\n result = !!(value + '');\n } catch (e) {}\n }\n return result;\n}\n\n/**\n * Converts `map` to its key-value pairs.\n *\n * @private\n * @param {Object} map The map to convert.\n * @returns {Array} Returns the key-value pairs.\n */\nfunction mapToArray(map) {\n var index = -1,\n result = Array(map.size);\n\n map.forEach(function(value, key) {\n result[++index] = [key, value];\n });\n return result;\n}\n\n/**\n * Creates a unary function that invokes `func` with its argument transformed.\n *\n * @private\n * @param {Function} func The function to wrap.\n * @param {Function} transform The argument transform.\n * @returns {Function} Returns the new function.\n */\nfunction overArg(func, transform) {\n return function(arg) {\n return func(transform(arg));\n };\n}\n\n/**\n * Converts `set` to an array of its values.\n *\n * @private\n * @param {Object} set The set to convert.\n * @returns {Array} Returns the values.\n */\nfunction setToArray(set) {\n var index = -1,\n result = Array(set.size);\n\n set.forEach(function(value) {\n result[++index] = value;\n });\n return result;\n}\n\n/** Used for built-in method references. */\nvar arrayProto = Array.prototype,\n funcProto = Function.prototype,\n objectProto = Object.prototype;\n\n/** Used to detect overreaching core-js shims. */\nvar coreJsData = root['__core-js_shared__'];\n\n/** Used to detect methods masquerading as native. */\nvar maskSrcKey = (function() {\n var uid = /[^.]+$/.exec(coreJsData && coreJsData.keys && coreJsData.keys.IE_PROTO || '');\n return uid ? ('Symbol(src)_1.' + uid) : '';\n}());\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objectToString = objectProto.toString;\n\n/** Used to detect if a method is native. */\nvar reIsNative = RegExp('^' +\n funcToString.call(hasOwnProperty).replace(reRegExpChar, '\\\\$&')\n .replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g, '$1.*?') + '$'\n);\n\n/** Built-in value references. */\nvar Symbol = root.Symbol,\n Uint8Array = root.Uint8Array,\n propertyIsEnumerable = objectProto.propertyIsEnumerable,\n splice = arrayProto.splice;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeKeys = overArg(Object.keys, Object);\n\n/* Built-in method references that are verified to be native. */\nvar DataView = getNative(root, 'DataView'),\n Map = getNative(root, 'Map'),\n Promise = getNative(root, 'Promise'),\n Set = getNative(root, 'Set'),\n WeakMap = getNative(root, 'WeakMap'),\n nativeCreate = getNative(Object, 'create');\n\n/** Used to detect maps, sets, and weakmaps. */\nvar dataViewCtorString = toSource(DataView),\n mapCtorString = toSource(Map),\n promiseCtorString = toSource(Promise),\n setCtorString = toSource(Set),\n weakMapCtorString = toSource(WeakMap);\n\n/** Used to convert symbols to primitives and strings. */\nvar symbolProto = Symbol ? Symbol.prototype : undefined,\n symbolValueOf = symbolProto ? symbolProto.valueOf : undefined,\n symbolToString = symbolProto ? symbolProto.toString : undefined;\n\n/**\n * Creates a hash object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Hash(entries) {\n var index = -1,\n length = entries ? entries.length : 0;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n/**\n * Removes all key-value entries from the hash.\n *\n * @private\n * @name clear\n * @memberOf Hash\n */\nfunction hashClear() {\n this.__data__ = nativeCreate ? nativeCreate(null) : {};\n}\n\n/**\n * Removes `key` and its value from the hash.\n *\n * @private\n * @name delete\n * @memberOf Hash\n * @param {Object} hash The hash to modify.\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction hashDelete(key) {\n return this.has(key) && delete this.__data__[key];\n}\n\n/**\n * Gets the hash value for `key`.\n *\n * @private\n * @name get\n * @memberOf Hash\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction hashGet(key) {\n var data = this.__data__;\n if (nativeCreate) {\n var result = data[key];\n return result === HASH_UNDEFINED ? undefined : result;\n }\n return hasOwnProperty.call(data, key) ? data[key] : undefined;\n}\n\n/**\n * Checks if a hash value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Hash\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction hashHas(key) {\n var data = this.__data__;\n return nativeCreate ? data[key] !== undefined : hasOwnProperty.call(data, key);\n}\n\n/**\n * Sets the hash `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Hash\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the hash instance.\n */\nfunction hashSet(key, value) {\n var data = this.__data__;\n data[key] = (nativeCreate && value === undefined) ? HASH_UNDEFINED : value;\n return this;\n}\n\n// Add methods to `Hash`.\nHash.prototype.clear = hashClear;\nHash.prototype['delete'] = hashDelete;\nHash.prototype.get = hashGet;\nHash.prototype.has = hashHas;\nHash.prototype.set = hashSet;\n\n/**\n * Creates an list cache object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction ListCache(entries) {\n var index = -1,\n length = entries ? entries.length : 0;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n/**\n * Removes all key-value entries from the list cache.\n *\n * @private\n * @name clear\n * @memberOf ListCache\n */\nfunction listCacheClear() {\n this.__data__ = [];\n}\n\n/**\n * Removes `key` and its value from the list cache.\n *\n * @private\n * @name delete\n * @memberOf ListCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction listCacheDelete(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n return false;\n }\n var lastIndex = data.length - 1;\n if (index == lastIndex) {\n data.pop();\n } else {\n splice.call(data, index, 1);\n }\n return true;\n}\n\n/**\n * Gets the list cache value for `key`.\n *\n * @private\n * @name get\n * @memberOf ListCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction listCacheGet(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n return index < 0 ? undefined : data[index][1];\n}\n\n/**\n * Checks if a list cache value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf ListCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction listCacheHas(key) {\n return assocIndexOf(this.__data__, key) > -1;\n}\n\n/**\n * Sets the list cache `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf ListCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the list cache instance.\n */\nfunction listCacheSet(key, value) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n data.push([key, value]);\n } else {\n data[index][1] = value;\n }\n return this;\n}\n\n// Add methods to `ListCache`.\nListCache.prototype.clear = listCacheClear;\nListCache.prototype['delete'] = listCacheDelete;\nListCache.prototype.get = listCacheGet;\nListCache.prototype.has = listCacheHas;\nListCache.prototype.set = listCacheSet;\n\n/**\n * Creates a map cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction MapCache(entries) {\n var index = -1,\n length = entries ? entries.length : 0;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n/**\n * Removes all key-value entries from the map.\n *\n * @private\n * @name clear\n * @memberOf MapCache\n */\nfunction mapCacheClear() {\n this.__data__ = {\n 'hash': new Hash,\n 'map': new (Map || ListCache),\n 'string': new Hash\n };\n}\n\n/**\n * Removes `key` and its value from the map.\n *\n * @private\n * @name delete\n * @memberOf MapCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction mapCacheDelete(key) {\n return getMapData(this, key)['delete'](key);\n}\n\n/**\n * Gets the map value for `key`.\n *\n * @private\n * @name get\n * @memberOf MapCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction mapCacheGet(key) {\n return getMapData(this, key).get(key);\n}\n\n/**\n * Checks if a map value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf MapCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction mapCacheHas(key) {\n return getMapData(this, key).has(key);\n}\n\n/**\n * Sets the map `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf MapCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the map cache instance.\n */\nfunction mapCacheSet(key, value) {\n getMapData(this, key).set(key, value);\n return this;\n}\n\n// Add methods to `MapCache`.\nMapCache.prototype.clear = mapCacheClear;\nMapCache.prototype['delete'] = mapCacheDelete;\nMapCache.prototype.get = mapCacheGet;\nMapCache.prototype.has = mapCacheHas;\nMapCache.prototype.set = mapCacheSet;\n\n/**\n *\n * Creates an array cache object to store unique values.\n *\n * @private\n * @constructor\n * @param {Array} [values] The values to cache.\n */\nfunction SetCache(values) {\n var index = -1,\n length = values ? values.length : 0;\n\n this.__data__ = new MapCache;\n while (++index < length) {\n this.add(values[index]);\n }\n}\n\n/**\n * Adds `value` to the array cache.\n *\n * @private\n * @name add\n * @memberOf SetCache\n * @alias push\n * @param {*} value The value to cache.\n * @returns {Object} Returns the cache instance.\n */\nfunction setCacheAdd(value) {\n this.__data__.set(value, HASH_UNDEFINED);\n return this;\n}\n\n/**\n * Checks if `value` is in the array cache.\n *\n * @private\n * @name has\n * @memberOf SetCache\n * @param {*} value The value to search for.\n * @returns {number} Returns `true` if `value` is found, else `false`.\n */\nfunction setCacheHas(value) {\n return this.__data__.has(value);\n}\n\n// Add methods to `SetCache`.\nSetCache.prototype.add = SetCache.prototype.push = setCacheAdd;\nSetCache.prototype.has = setCacheHas;\n\n/**\n * Creates a stack cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Stack(entries) {\n this.__data__ = new ListCache(entries);\n}\n\n/**\n * Removes all key-value entries from the stack.\n *\n * @private\n * @name clear\n * @memberOf Stack\n */\nfunction stackClear() {\n this.__data__ = new ListCache;\n}\n\n/**\n * Removes `key` and its value from the stack.\n *\n * @private\n * @name delete\n * @memberOf Stack\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction stackDelete(key) {\n return this.__data__['delete'](key);\n}\n\n/**\n * Gets the stack value for `key`.\n *\n * @private\n * @name get\n * @memberOf Stack\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction stackGet(key) {\n return this.__data__.get(key);\n}\n\n/**\n * Checks if a stack value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Stack\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction stackHas(key) {\n return this.__data__.has(key);\n}\n\n/**\n * Sets the stack `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Stack\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the stack cache instance.\n */\nfunction stackSet(key, value) {\n var cache = this.__data__;\n if (cache instanceof ListCache) {\n var pairs = cache.__data__;\n if (!Map || (pairs.length < LARGE_ARRAY_SIZE - 1)) {\n pairs.push([key, value]);\n return this;\n }\n cache = this.__data__ = new MapCache(pairs);\n }\n cache.set(key, value);\n return this;\n}\n\n// Add methods to `Stack`.\nStack.prototype.clear = stackClear;\nStack.prototype['delete'] = stackDelete;\nStack.prototype.get = stackGet;\nStack.prototype.has = stackHas;\nStack.prototype.set = stackSet;\n\n/**\n * Creates an array of the enumerable property names of the array-like `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @param {boolean} inherited Specify returning inherited property names.\n * @returns {Array} Returns the array of property names.\n */\nfunction arrayLikeKeys(value, inherited) {\n // Safari 8.1 makes `arguments.callee` enumerable in strict mode.\n // Safari 9 makes `arguments.length` enumerable in strict mode.\n var result = (isArray(value) || isArguments(value))\n ? baseTimes(value.length, String)\n : [];\n\n var length = result.length,\n skipIndexes = !!length;\n\n for (var key in value) {\n if ((inherited || hasOwnProperty.call(value, key)) &&\n !(skipIndexes && (key == 'length' || isIndex(key, length)))) {\n result.push(key);\n }\n }\n return result;\n}\n\n/**\n * Gets the index at which the `key` is found in `array` of key-value pairs.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} key The key to search for.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction assocIndexOf(array, key) {\n var length = array.length;\n while (length--) {\n if (eq(array[length][0], key)) {\n return length;\n }\n }\n return -1;\n}\n\n/**\n * The base implementation of `_.forEach` without support for iteratee shorthands.\n *\n * @private\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array|Object} Returns `collection`.\n */\nvar baseEach = createBaseEach(baseForOwn);\n\n/**\n * The base implementation of `_.filter` without support for iteratee shorthands.\n *\n * @private\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {Array} Returns the new filtered array.\n */\nfunction baseFilter(collection, predicate) {\n var result = [];\n baseEach(collection, function(value, index, collection) {\n if (predicate(value, index, collection)) {\n result.push(value);\n }\n });\n return result;\n}\n\n/**\n * The base implementation of `baseForOwn` which iterates over `object`\n * properties returned by `keysFunc` and invokes `iteratee` for each property.\n * Iteratee functions may exit iteration early by explicitly returning `false`.\n *\n * @private\n * @param {Object} object The object to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @param {Function} keysFunc The function to get the keys of `object`.\n * @returns {Object} Returns `object`.\n */\nvar baseFor = createBaseFor();\n\n/**\n * The base implementation of `_.forOwn` without support for iteratee shorthands.\n *\n * @private\n * @param {Object} object The object to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Object} Returns `object`.\n */\nfunction baseForOwn(object, iteratee) {\n return object && baseFor(object, iteratee, keys);\n}\n\n/**\n * The base implementation of `_.get` without support for default values.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Array|string} path The path of the property to get.\n * @returns {*} Returns the resolved value.\n */\nfunction baseGet(object, path) {\n path = isKey(path, object) ? [path] : castPath(path);\n\n var index = 0,\n length = path.length;\n\n while (object != null && index < length) {\n object = object[toKey(path[index++])];\n }\n return (index && index == length) ? object : undefined;\n}\n\n/**\n * The base implementation of `getTag`.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nfunction baseGetTag(value) {\n return objectToString.call(value);\n}\n\n/**\n * The base implementation of `_.hasIn` without support for deep paths.\n *\n * @private\n * @param {Object} [object] The object to query.\n * @param {Array|string} key The key to check.\n * @returns {boolean} Returns `true` if `key` exists, else `false`.\n */\nfunction baseHasIn(object, key) {\n return object != null && key in Object(object);\n}\n\n/**\n * The base implementation of `_.isEqual` which supports partial comparisons\n * and tracks traversed objects.\n *\n * @private\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @param {Function} [customizer] The function to customize comparisons.\n * @param {boolean} [bitmask] The bitmask of comparison flags.\n * The bitmask may be composed of the following flags:\n * 1 - Unordered comparison\n * 2 - Partial comparison\n * @param {Object} [stack] Tracks traversed `value` and `other` objects.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n */\nfunction baseIsEqual(value, other, customizer, bitmask, stack) {\n if (value === other) {\n return true;\n }\n if (value == null || other == null || (!isObject(value) && !isObjectLike(other))) {\n return value !== value && other !== other;\n }\n return baseIsEqualDeep(value, other, baseIsEqual, customizer, bitmask, stack);\n}\n\n/**\n * A specialized version of `baseIsEqual` for arrays and objects which performs\n * deep comparisons and tracks traversed objects enabling objects with circular\n * references to be compared.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Function} [customizer] The function to customize comparisons.\n * @param {number} [bitmask] The bitmask of comparison flags. See `baseIsEqual`\n * for more details.\n * @param {Object} [stack] Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction baseIsEqualDeep(object, other, equalFunc, customizer, bitmask, stack) {\n var objIsArr = isArray(object),\n othIsArr = isArray(other),\n objTag = arrayTag,\n othTag = arrayTag;\n\n if (!objIsArr) {\n objTag = getTag(object);\n objTag = objTag == argsTag ? objectTag : objTag;\n }\n if (!othIsArr) {\n othTag = getTag(other);\n othTag = othTag == argsTag ? objectTag : othTag;\n }\n var objIsObj = objTag == objectTag && !isHostObject(object),\n othIsObj = othTag == objectTag && !isHostObject(other),\n isSameTag = objTag == othTag;\n\n if (isSameTag && !objIsObj) {\n stack || (stack = new Stack);\n return (objIsArr || isTypedArray(object))\n ? equalArrays(object, other, equalFunc, customizer, bitmask, stack)\n : equalByTag(object, other, objTag, equalFunc, customizer, bitmask, stack);\n }\n if (!(bitmask & PARTIAL_COMPARE_FLAG)) {\n var objIsWrapped = objIsObj && hasOwnProperty.call(object, '__wrapped__'),\n othIsWrapped = othIsObj && hasOwnProperty.call(other, '__wrapped__');\n\n if (objIsWrapped || othIsWrapped) {\n var objUnwrapped = objIsWrapped ? object.value() : object,\n othUnwrapped = othIsWrapped ? other.value() : other;\n\n stack || (stack = new Stack);\n return equalFunc(objUnwrapped, othUnwrapped, customizer, bitmask, stack);\n }\n }\n if (!isSameTag) {\n return false;\n }\n stack || (stack = new Stack);\n return equalObjects(object, other, equalFunc, customizer, bitmask, stack);\n}\n\n/**\n * The base implementation of `_.isMatch` without support for iteratee shorthands.\n *\n * @private\n * @param {Object} object The object to inspect.\n * @param {Object} source The object of property values to match.\n * @param {Array} matchData The property names, values, and compare flags to match.\n * @param {Function} [customizer] The function to customize comparisons.\n * @returns {boolean} Returns `true` if `object` is a match, else `false`.\n */\nfunction baseIsMatch(object, source, matchData, customizer) {\n var index = matchData.length,\n length = index,\n noCustomizer = !customizer;\n\n if (object == null) {\n return !length;\n }\n object = Object(object);\n while (index--) {\n var data = matchData[index];\n if ((noCustomizer && data[2])\n ? data[1] !== object[data[0]]\n : !(data[0] in object)\n ) {\n return false;\n }\n }\n while (++index < length) {\n data = matchData[index];\n var key = data[0],\n objValue = object[key],\n srcValue = data[1];\n\n if (noCustomizer && data[2]) {\n if (objValue === undefined && !(key in object)) {\n return false;\n }\n } else {\n var stack = new Stack;\n if (customizer) {\n var result = customizer(objValue, srcValue, key, object, source, stack);\n }\n if (!(result === undefined\n ? baseIsEqual(srcValue, objValue, customizer, UNORDERED_COMPARE_FLAG | PARTIAL_COMPARE_FLAG, stack)\n : result\n )) {\n return false;\n }\n }\n }\n return true;\n}\n\n/**\n * The base implementation of `_.isNative` without bad shim checks.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a native function,\n * else `false`.\n */\nfunction baseIsNative(value) {\n if (!isObject(value) || isMasked(value)) {\n return false;\n }\n var pattern = (isFunction(value) || isHostObject(value)) ? reIsNative : reIsHostCtor;\n return pattern.test(toSource(value));\n}\n\n/**\n * The base implementation of `_.isTypedArray` without Node.js optimizations.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n */\nfunction baseIsTypedArray(value) {\n return isObjectLike(value) &&\n isLength(value.length) && !!typedArrayTags[objectToString.call(value)];\n}\n\n/**\n * The base implementation of `_.iteratee`.\n *\n * @private\n * @param {*} [value=_.identity] The value to convert to an iteratee.\n * @returns {Function} Returns the iteratee.\n */\nfunction baseIteratee(value) {\n // Don't store the `typeof` result in a variable to avoid a JIT bug in Safari 9.\n // See https://bugs.webkit.org/show_bug.cgi?id=156034 for more details.\n if (typeof value == 'function') {\n return value;\n }\n if (value == null) {\n return identity;\n }\n if (typeof value == 'object') {\n return isArray(value)\n ? baseMatchesProperty(value[0], value[1])\n : baseMatches(value);\n }\n return property(value);\n}\n\n/**\n * The base implementation of `_.keys` which doesn't treat sparse arrays as dense.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction baseKeys(object) {\n if (!isPrototype(object)) {\n return nativeKeys(object);\n }\n var result = [];\n for (var key in Object(object)) {\n if (hasOwnProperty.call(object, key) && key != 'constructor') {\n result.push(key);\n }\n }\n return result;\n}\n\n/**\n * The base implementation of `_.matches` which doesn't clone `source`.\n *\n * @private\n * @param {Object} source The object of property values to match.\n * @returns {Function} Returns the new spec function.\n */\nfunction baseMatches(source) {\n var matchData = getMatchData(source);\n if (matchData.length == 1 && matchData[0][2]) {\n return matchesStrictComparable(matchData[0][0], matchData[0][1]);\n }\n return function(object) {\n return object === source || baseIsMatch(object, source, matchData);\n };\n}\n\n/**\n * The base implementation of `_.matchesProperty` which doesn't clone `srcValue`.\n *\n * @private\n * @param {string} path The path of the property to get.\n * @param {*} srcValue The value to match.\n * @returns {Function} Returns the new spec function.\n */\nfunction baseMatchesProperty(path, srcValue) {\n if (isKey(path) && isStrictComparable(srcValue)) {\n return matchesStrictComparable(toKey(path), srcValue);\n }\n return function(object) {\n var objValue = get(object, path);\n return (objValue === undefined && objValue === srcValue)\n ? hasIn(object, path)\n : baseIsEqual(srcValue, objValue, undefined, UNORDERED_COMPARE_FLAG | PARTIAL_COMPARE_FLAG);\n };\n}\n\n/**\n * A specialized version of `baseProperty` which supports deep paths.\n *\n * @private\n * @param {Array|string} path The path of the property to get.\n * @returns {Function} Returns the new accessor function.\n */\nfunction basePropertyDeep(path) {\n return function(object) {\n return baseGet(object, path);\n };\n}\n\n/**\n * The base implementation of `_.toString` which doesn't convert nullish\n * values to empty strings.\n *\n * @private\n * @param {*} value The value to process.\n * @returns {string} Returns the string.\n */\nfunction baseToString(value) {\n // Exit early for strings to avoid a performance hit in some environments.\n if (typeof value == 'string') {\n return value;\n }\n if (isSymbol(value)) {\n return symbolToString ? symbolToString.call(value) : '';\n }\n var result = (value + '');\n return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result;\n}\n\n/**\n * Casts `value` to a path array if it's not one.\n *\n * @private\n * @param {*} value The value to inspect.\n * @returns {Array} Returns the cast property path array.\n */\nfunction castPath(value) {\n return isArray(value) ? value : stringToPath(value);\n}\n\n/**\n * Creates a `baseEach` or `baseEachRight` function.\n *\n * @private\n * @param {Function} eachFunc The function to iterate over a collection.\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {Function} Returns the new base function.\n */\nfunction createBaseEach(eachFunc, fromRight) {\n return function(collection, iteratee) {\n if (collection == null) {\n return collection;\n }\n if (!isArrayLike(collection)) {\n return eachFunc(collection, iteratee);\n }\n var length = collection.length,\n index = fromRight ? length : -1,\n iterable = Object(collection);\n\n while ((fromRight ? index-- : ++index < length)) {\n if (iteratee(iterable[index], index, iterable) === false) {\n break;\n }\n }\n return collection;\n };\n}\n\n/**\n * Creates a base function for methods like `_.forIn` and `_.forOwn`.\n *\n * @private\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {Function} Returns the new base function.\n */\nfunction createBaseFor(fromRight) {\n return function(object, iteratee, keysFunc) {\n var index = -1,\n iterable = Object(object),\n props = keysFunc(object),\n length = props.length;\n\n while (length--) {\n var key = props[fromRight ? length : ++index];\n if (iteratee(iterable[key], key, iterable) === false) {\n break;\n }\n }\n return object;\n };\n}\n\n/**\n * A specialized version of `baseIsEqualDeep` for arrays with support for\n * partial deep comparisons.\n *\n * @private\n * @param {Array} array The array to compare.\n * @param {Array} other The other array to compare.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Function} customizer The function to customize comparisons.\n * @param {number} bitmask The bitmask of comparison flags. See `baseIsEqual`\n * for more details.\n * @param {Object} stack Tracks traversed `array` and `other` objects.\n * @returns {boolean} Returns `true` if the arrays are equivalent, else `false`.\n */\nfunction equalArrays(array, other, equalFunc, customizer, bitmask, stack) {\n var isPartial = bitmask & PARTIAL_COMPARE_FLAG,\n arrLength = array.length,\n othLength = other.length;\n\n if (arrLength != othLength && !(isPartial && othLength > arrLength)) {\n return false;\n }\n // Assume cyclic values are equal.\n var stacked = stack.get(array);\n if (stacked && stack.get(other)) {\n return stacked == other;\n }\n var index = -1,\n result = true,\n seen = (bitmask & UNORDERED_COMPARE_FLAG) ? new SetCache : undefined;\n\n stack.set(array, other);\n stack.set(other, array);\n\n // Ignore non-index properties.\n while (++index < arrLength) {\n var arrValue = array[index],\n othValue = other[index];\n\n if (customizer) {\n var compared = isPartial\n ? customizer(othValue, arrValue, index, other, array, stack)\n : customizer(arrValue, othValue, index, array, other, stack);\n }\n if (compared !== undefined) {\n if (compared) {\n continue;\n }\n result = false;\n break;\n }\n // Recursively compare arrays (susceptible to call stack limits).\n if (seen) {\n if (!arraySome(other, function(othValue, othIndex) {\n if (!seen.has(othIndex) &&\n (arrValue === othValue || equalFunc(arrValue, othValue, customizer, bitmask, stack))) {\n return seen.add(othIndex);\n }\n })) {\n result = false;\n break;\n }\n } else if (!(\n arrValue === othValue ||\n equalFunc(arrValue, othValue, customizer, bitmask, stack)\n )) {\n result = false;\n break;\n }\n }\n stack['delete'](array);\n stack['delete'](other);\n return result;\n}\n\n/**\n * A specialized version of `baseIsEqualDeep` for comparing objects of\n * the same `toStringTag`.\n *\n * **Note:** This function only supports comparing values with tags of\n * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {string} tag The `toStringTag` of the objects to compare.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Function} customizer The function to customize comparisons.\n * @param {number} bitmask The bitmask of comparison flags. See `baseIsEqual`\n * for more details.\n * @param {Object} stack Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction equalByTag(object, other, tag, equalFunc, customizer, bitmask, stack) {\n switch (tag) {\n case dataViewTag:\n if ((object.byteLength != other.byteLength) ||\n (object.byteOffset != other.byteOffset)) {\n return false;\n }\n object = object.buffer;\n other = other.buffer;\n\n case arrayBufferTag:\n if ((object.byteLength != other.byteLength) ||\n !equalFunc(new Uint8Array(object), new Uint8Array(other))) {\n return false;\n }\n return true;\n\n case boolTag:\n case dateTag:\n case numberTag:\n // Coerce booleans to `1` or `0` and dates to milliseconds.\n // Invalid dates are coerced to `NaN`.\n return eq(+object, +other);\n\n case errorTag:\n return object.name == other.name && object.message == other.message;\n\n case regexpTag:\n case stringTag:\n // Coerce regexes to strings and treat strings, primitives and objects,\n // as equal. See http://www.ecma-international.org/ecma-262/7.0/#sec-regexp.prototype.tostring\n // for more details.\n return object == (other + '');\n\n case mapTag:\n var convert = mapToArray;\n\n case setTag:\n var isPartial = bitmask & PARTIAL_COMPARE_FLAG;\n convert || (convert = setToArray);\n\n if (object.size != other.size && !isPartial) {\n return false;\n }\n // Assume cyclic values are equal.\n var stacked = stack.get(object);\n if (stacked) {\n return stacked == other;\n }\n bitmask |= UNORDERED_COMPARE_FLAG;\n\n // Recursively compare objects (susceptible to call stack limits).\n stack.set(object, other);\n var result = equalArrays(convert(object), convert(other), equalFunc, customizer, bitmask, stack);\n stack['delete'](object);\n return result;\n\n case symbolTag:\n if (symbolValueOf) {\n return symbolValueOf.call(object) == symbolValueOf.call(other);\n }\n }\n return false;\n}\n\n/**\n * A specialized version of `baseIsEqualDeep` for objects with support for\n * partial deep comparisons.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Function} customizer The function to customize comparisons.\n * @param {number} bitmask The bitmask of comparison flags. See `baseIsEqual`\n * for more details.\n * @param {Object} stack Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction equalObjects(object, other, equalFunc, customizer, bitmask, stack) {\n var isPartial = bitmask & PARTIAL_COMPARE_FLAG,\n objProps = keys(object),\n objLength = objProps.length,\n othProps = keys(other),\n othLength = othProps.length;\n\n if (objLength != othLength && !isPartial) {\n return false;\n }\n var index = objLength;\n while (index--) {\n var key = objProps[index];\n if (!(isPartial ? key in other : hasOwnProperty.call(other, key))) {\n return false;\n }\n }\n // Assume cyclic values are equal.\n var stacked = stack.get(object);\n if (stacked && stack.get(other)) {\n return stacked == other;\n }\n var result = true;\n stack.set(object, other);\n stack.set(other, object);\n\n var skipCtor = isPartial;\n while (++index < objLength) {\n key = objProps[index];\n var objValue = object[key],\n othValue = other[key];\n\n if (customizer) {\n var compared = isPartial\n ? customizer(othValue, objValue, key, other, object, stack)\n : customizer(objValue, othValue, key, object, other, stack);\n }\n // Recursively compare objects (susceptible to call stack limits).\n if (!(compared === undefined\n ? (objValue === othValue || equalFunc(objValue, othValue, customizer, bitmask, stack))\n : compared\n )) {\n result = false;\n break;\n }\n skipCtor || (skipCtor = key == 'constructor');\n }\n if (result && !skipCtor) {\n var objCtor = object.constructor,\n othCtor = other.constructor;\n\n // Non `Object` object instances with different constructors are not equal.\n if (objCtor != othCtor &&\n ('constructor' in object && 'constructor' in other) &&\n !(typeof objCtor == 'function' && objCtor instanceof objCtor &&\n typeof othCtor == 'function' && othCtor instanceof othCtor)) {\n result = false;\n }\n }\n stack['delete'](object);\n stack['delete'](other);\n return result;\n}\n\n/**\n * Gets the data for `map`.\n *\n * @private\n * @param {Object} map The map to query.\n * @param {string} key The reference key.\n * @returns {*} Returns the map data.\n */\nfunction getMapData(map, key) {\n var data = map.__data__;\n return isKeyable(key)\n ? data[typeof key == 'string' ? 'string' : 'hash']\n : data.map;\n}\n\n/**\n * Gets the property names, values, and compare flags of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the match data of `object`.\n */\nfunction getMatchData(object) {\n var result = keys(object),\n length = result.length;\n\n while (length--) {\n var key = result[length],\n value = object[key];\n\n result[length] = [key, value, isStrictComparable(value)];\n }\n return result;\n}\n\n/**\n * Gets the native function at `key` of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the method to get.\n * @returns {*} Returns the function if it's native, else `undefined`.\n */\nfunction getNative(object, key) {\n var value = getValue(object, key);\n return baseIsNative(value) ? value : undefined;\n}\n\n/**\n * Gets the `toStringTag` of `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nvar getTag = baseGetTag;\n\n// Fallback for data views, maps, sets, and weak maps in IE 11,\n// for data views in Edge < 14, and promises in Node.js.\nif ((DataView && getTag(new DataView(new ArrayBuffer(1))) != dataViewTag) ||\n (Map && getTag(new Map) != mapTag) ||\n (Promise && getTag(Promise.resolve()) != promiseTag) ||\n (Set && getTag(new Set) != setTag) ||\n (WeakMap && getTag(new WeakMap) != weakMapTag)) {\n getTag = function(value) {\n var result = objectToString.call(value),\n Ctor = result == objectTag ? value.constructor : undefined,\n ctorString = Ctor ? toSource(Ctor) : undefined;\n\n if (ctorString) {\n switch (ctorString) {\n case dataViewCtorString: return dataViewTag;\n case mapCtorString: return mapTag;\n case promiseCtorString: return promiseTag;\n case setCtorString: return setTag;\n case weakMapCtorString: return weakMapTag;\n }\n }\n return result;\n };\n}\n\n/**\n * Checks if `path` exists on `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Array|string} path The path to check.\n * @param {Function} hasFunc The function to check properties.\n * @returns {boolean} Returns `true` if `path` exists, else `false`.\n */\nfunction hasPath(object, path, hasFunc) {\n path = isKey(path, object) ? [path] : castPath(path);\n\n var result,\n index = -1,\n length = path.length;\n\n while (++index < length) {\n var key = toKey(path[index]);\n if (!(result = object != null && hasFunc(object, key))) {\n break;\n }\n object = object[key];\n }\n if (result) {\n return result;\n }\n var length = object ? object.length : 0;\n return !!length && isLength(length) && isIndex(key, length) &&\n (isArray(object) || isArguments(object));\n}\n\n/**\n * Checks if `value` is a valid array-like index.\n *\n * @private\n * @param {*} value The value to check.\n * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index.\n * @returns {boolean} Returns `true` if `value` is a valid index, else `false`.\n */\nfunction isIndex(value, length) {\n length = length == null ? MAX_SAFE_INTEGER : length;\n return !!length &&\n (typeof value == 'number' || reIsUint.test(value)) &&\n (value > -1 && value % 1 == 0 && value < length);\n}\n\n/**\n * Checks if `value` is a property name and not a property path.\n *\n * @private\n * @param {*} value The value to check.\n * @param {Object} [object] The object to query keys on.\n * @returns {boolean} Returns `true` if `value` is a property name, else `false`.\n */\nfunction isKey(value, object) {\n if (isArray(value)) {\n return false;\n }\n var type = typeof value;\n if (type == 'number' || type == 'symbol' || type == 'boolean' ||\n value == null || isSymbol(value)) {\n return true;\n }\n return reIsPlainProp.test(value) || !reIsDeepProp.test(value) ||\n (object != null && value in Object(object));\n}\n\n/**\n * Checks if `value` is suitable for use as unique object key.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is suitable, else `false`.\n */\nfunction isKeyable(value) {\n var type = typeof value;\n return (type == 'string' || type == 'number' || type == 'symbol' || type == 'boolean')\n ? (value !== '__proto__')\n : (value === null);\n}\n\n/**\n * Checks if `func` has its source masked.\n *\n * @private\n * @param {Function} func The function to check.\n * @returns {boolean} Returns `true` if `func` is masked, else `false`.\n */\nfunction isMasked(func) {\n return !!maskSrcKey && (maskSrcKey in func);\n}\n\n/**\n * Checks if `value` is likely a prototype object.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a prototype, else `false`.\n */\nfunction isPrototype(value) {\n var Ctor = value && value.constructor,\n proto = (typeof Ctor == 'function' && Ctor.prototype) || objectProto;\n\n return value === proto;\n}\n\n/**\n * Checks if `value` is suitable for strict equality comparisons, i.e. `===`.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` if suitable for strict\n * equality comparisons, else `false`.\n */\nfunction isStrictComparable(value) {\n return value === value && !isObject(value);\n}\n\n/**\n * A specialized version of `matchesProperty` for source values suitable\n * for strict equality comparisons, i.e. `===`.\n *\n * @private\n * @param {string} key The key of the property to get.\n * @param {*} srcValue The value to match.\n * @returns {Function} Returns the new spec function.\n */\nfunction matchesStrictComparable(key, srcValue) {\n return function(object) {\n if (object == null) {\n return false;\n }\n return object[key] === srcValue &&\n (srcValue !== undefined || (key in Object(object)));\n };\n}\n\n/**\n * Converts `string` to a property path array.\n *\n * @private\n * @param {string} string The string to convert.\n * @returns {Array} Returns the property path array.\n */\nvar stringToPath = memoize(function(string) {\n string = toString(string);\n\n var result = [];\n if (reLeadingDot.test(string)) {\n result.push('');\n }\n string.replace(rePropName, function(match, number, quote, string) {\n result.push(quote ? string.replace(reEscapeChar, '$1') : (number || match));\n });\n return result;\n});\n\n/**\n * Converts `value` to a string key if it's not a string or symbol.\n *\n * @private\n * @param {*} value The value to inspect.\n * @returns {string|symbol} Returns the key.\n */\nfunction toKey(value) {\n if (typeof value == 'string' || isSymbol(value)) {\n return value;\n }\n var result = (value + '');\n return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result;\n}\n\n/**\n * Converts `func` to its source code.\n *\n * @private\n * @param {Function} func The function to process.\n * @returns {string} Returns the source code.\n */\nfunction toSource(func) {\n if (func != null) {\n try {\n return funcToString.call(func);\n } catch (e) {}\n try {\n return (func + '');\n } catch (e) {}\n }\n return '';\n}\n\n/**\n * The opposite of `_.filter`; this method returns the elements of `collection`\n * that `predicate` does **not** return truthy for.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} [predicate=_.identity] The function invoked per iteration.\n * @returns {Array} Returns the new filtered array.\n * @see _.filter\n * @example\n *\n * var users = [\n * { 'user': 'barney', 'age': 36, 'active': false },\n * { 'user': 'fred', 'age': 40, 'active': true }\n * ];\n *\n * _.reject(users, function(o) { return !o.active; });\n * // => objects for ['fred']\n *\n * // The `_.matches` iteratee shorthand.\n * _.reject(users, { 'age': 40, 'active': true });\n * // => objects for ['barney']\n *\n * // The `_.matchesProperty` iteratee shorthand.\n * _.reject(users, ['active', false]);\n * // => objects for ['fred']\n *\n * // The `_.property` iteratee shorthand.\n * _.reject(users, 'active');\n * // => objects for ['barney']\n */\nfunction reject(collection, predicate) {\n var func = isArray(collection) ? arrayFilter : baseFilter;\n return func(collection, negate(baseIteratee(predicate, 3)));\n}\n\n/**\n * Creates a function that memoizes the result of `func`. If `resolver` is\n * provided, it determines the cache key for storing the result based on the\n * arguments provided to the memoized function. By default, the first argument\n * provided to the memoized function is used as the map cache key. The `func`\n * is invoked with the `this` binding of the memoized function.\n *\n * **Note:** The cache is exposed as the `cache` property on the memoized\n * function. Its creation may be customized by replacing the `_.memoize.Cache`\n * constructor with one whose instances implement the\n * [`Map`](http://ecma-international.org/ecma-262/7.0/#sec-properties-of-the-map-prototype-object)\n * method interface of `delete`, `get`, `has`, and `set`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to have its output memoized.\n * @param {Function} [resolver] The function to resolve the cache key.\n * @returns {Function} Returns the new memoized function.\n * @example\n *\n * var object = { 'a': 1, 'b': 2 };\n * var other = { 'c': 3, 'd': 4 };\n *\n * var values = _.memoize(_.values);\n * values(object);\n * // => [1, 2]\n *\n * values(other);\n * // => [3, 4]\n *\n * object.a = 2;\n * values(object);\n * // => [1, 2]\n *\n * // Modify the result cache.\n * values.cache.set(object, ['a', 'b']);\n * values(object);\n * // => ['a', 'b']\n *\n * // Replace `_.memoize.Cache`.\n * _.memoize.Cache = WeakMap;\n */\nfunction memoize(func, resolver) {\n if (typeof func != 'function' || (resolver && typeof resolver != 'function')) {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n var memoized = function() {\n var args = arguments,\n key = resolver ? resolver.apply(this, args) : args[0],\n cache = memoized.cache;\n\n if (cache.has(key)) {\n return cache.get(key);\n }\n var result = func.apply(this, args);\n memoized.cache = cache.set(key, result);\n return result;\n };\n memoized.cache = new (memoize.Cache || MapCache);\n return memoized;\n}\n\n// Assign cache to `_.memoize`.\nmemoize.Cache = MapCache;\n\n/**\n * Creates a function that negates the result of the predicate `func`. The\n * `func` predicate is invoked with the `this` binding and arguments of the\n * created function.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Function\n * @param {Function} predicate The predicate to negate.\n * @returns {Function} Returns the new negated function.\n * @example\n *\n * function isEven(n) {\n * return n % 2 == 0;\n * }\n *\n * _.filter([1, 2, 3, 4, 5, 6], _.negate(isEven));\n * // => [1, 3, 5]\n */\nfunction negate(predicate) {\n if (typeof predicate != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n return function() {\n var args = arguments;\n switch (args.length) {\n case 0: return !predicate.call(this);\n case 1: return !predicate.call(this, args[0]);\n case 2: return !predicate.call(this, args[0], args[1]);\n case 3: return !predicate.call(this, args[0], args[1], args[2]);\n }\n return !predicate.apply(this, args);\n };\n}\n\n/**\n * Performs a\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * comparison between two values to determine if they are equivalent.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'a': 1 };\n * var other = { 'a': 1 };\n *\n * _.eq(object, object);\n * // => true\n *\n * _.eq(object, other);\n * // => false\n *\n * _.eq('a', 'a');\n * // => true\n *\n * _.eq('a', Object('a'));\n * // => false\n *\n * _.eq(NaN, NaN);\n * // => true\n */\nfunction eq(value, other) {\n return value === other || (value !== value && other !== other);\n}\n\n/**\n * Checks if `value` is likely an `arguments` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n * else `false`.\n * @example\n *\n * _.isArguments(function() { return arguments; }());\n * // => true\n *\n * _.isArguments([1, 2, 3]);\n * // => false\n */\nfunction isArguments(value) {\n // Safari 8.1 makes `arguments.callee` enumerable in strict mode.\n return isArrayLikeObject(value) && hasOwnProperty.call(value, 'callee') &&\n (!propertyIsEnumerable.call(value, 'callee') || objectToString.call(value) == argsTag);\n}\n\n/**\n * Checks if `value` is classified as an `Array` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array, else `false`.\n * @example\n *\n * _.isArray([1, 2, 3]);\n * // => true\n *\n * _.isArray(document.body.children);\n * // => false\n *\n * _.isArray('abc');\n * // => false\n *\n * _.isArray(_.noop);\n * // => false\n */\nvar isArray = Array.isArray;\n\n/**\n * Checks if `value` is array-like. A value is considered array-like if it's\n * not a function and has a `value.length` that's an integer greater than or\n * equal to `0` and less than or equal to `Number.MAX_SAFE_INTEGER`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is array-like, else `false`.\n * @example\n *\n * _.isArrayLike([1, 2, 3]);\n * // => true\n *\n * _.isArrayLike(document.body.children);\n * // => true\n *\n * _.isArrayLike('abc');\n * // => true\n *\n * _.isArrayLike(_.noop);\n * // => false\n */\nfunction isArrayLike(value) {\n return value != null && isLength(value.length) && !isFunction(value);\n}\n\n/**\n * This method is like `_.isArrayLike` except that it also checks if `value`\n * is an object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array-like object,\n * else `false`.\n * @example\n *\n * _.isArrayLikeObject([1, 2, 3]);\n * // => true\n *\n * _.isArrayLikeObject(document.body.children);\n * // => true\n *\n * _.isArrayLikeObject('abc');\n * // => false\n *\n * _.isArrayLikeObject(_.noop);\n * // => false\n */\nfunction isArrayLikeObject(value) {\n return isObjectLike(value) && isArrayLike(value);\n}\n\n/**\n * Checks if `value` is classified as a `Function` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a function, else `false`.\n * @example\n *\n * _.isFunction(_);\n * // => true\n *\n * _.isFunction(/abc/);\n * // => false\n */\nfunction isFunction(value) {\n // The use of `Object#toString` avoids issues with the `typeof` operator\n // in Safari 8-9 which returns 'object' for typed array and other constructors.\n var tag = isObject(value) ? objectToString.call(value) : '';\n return tag == funcTag || tag == genTag;\n}\n\n/**\n * Checks if `value` is a valid array-like length.\n *\n * **Note:** This method is loosely based on\n * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.\n * @example\n *\n * _.isLength(3);\n * // => true\n *\n * _.isLength(Number.MIN_VALUE);\n * // => false\n *\n * _.isLength(Infinity);\n * // => false\n *\n * _.isLength('3');\n * // => false\n */\nfunction isLength(value) {\n return typeof value == 'number' &&\n value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;\n}\n\n/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n var type = typeof value;\n return !!value && (type == 'object' || type == 'function');\n}\n\n/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return !!value && typeof value == 'object';\n}\n\n/**\n * Checks if `value` is classified as a `Symbol` primitive or object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a symbol, else `false`.\n * @example\n *\n * _.isSymbol(Symbol.iterator);\n * // => true\n *\n * _.isSymbol('abc');\n * // => false\n */\nfunction isSymbol(value) {\n return typeof value == 'symbol' ||\n (isObjectLike(value) && objectToString.call(value) == symbolTag);\n}\n\n/**\n * Checks if `value` is classified as a typed array.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n * @example\n *\n * _.isTypedArray(new Uint8Array);\n * // => true\n *\n * _.isTypedArray([]);\n * // => false\n */\nvar isTypedArray = nodeIsTypedArray ? baseUnary(nodeIsTypedArray) : baseIsTypedArray;\n\n/**\n * Converts `value` to a string. An empty string is returned for `null`\n * and `undefined` values. The sign of `-0` is preserved.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to process.\n * @returns {string} Returns the string.\n * @example\n *\n * _.toString(null);\n * // => ''\n *\n * _.toString(-0);\n * // => '-0'\n *\n * _.toString([1, 2, 3]);\n * // => '1,2,3'\n */\nfunction toString(value) {\n return value == null ? '' : baseToString(value);\n}\n\n/**\n * Gets the value at `path` of `object`. If the resolved value is\n * `undefined`, the `defaultValue` is returned in its place.\n *\n * @static\n * @memberOf _\n * @since 3.7.0\n * @category Object\n * @param {Object} object The object to query.\n * @param {Array|string} path The path of the property to get.\n * @param {*} [defaultValue] The value returned for `undefined` resolved values.\n * @returns {*} Returns the resolved value.\n * @example\n *\n * var object = { 'a': [{ 'b': { 'c': 3 } }] };\n *\n * _.get(object, 'a[0].b.c');\n * // => 3\n *\n * _.get(object, ['a', '0', 'b', 'c']);\n * // => 3\n *\n * _.get(object, 'a.b.c', 'default');\n * // => 'default'\n */\nfunction get(object, path, defaultValue) {\n var result = object == null ? undefined : baseGet(object, path);\n return result === undefined ? defaultValue : result;\n}\n\n/**\n * Checks if `path` is a direct or inherited property of `object`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Object\n * @param {Object} object The object to query.\n * @param {Array|string} path The path to check.\n * @returns {boolean} Returns `true` if `path` exists, else `false`.\n * @example\n *\n * var object = _.create({ 'a': _.create({ 'b': 2 }) });\n *\n * _.hasIn(object, 'a');\n * // => true\n *\n * _.hasIn(object, 'a.b');\n * // => true\n *\n * _.hasIn(object, ['a', 'b']);\n * // => true\n *\n * _.hasIn(object, 'b');\n * // => false\n */\nfunction hasIn(object, path) {\n return object != null && hasPath(object, path, baseHasIn);\n}\n\n/**\n * Creates an array of the own enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects. See the\n * [ES spec](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)\n * for more details.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keys(new Foo);\n * // => ['a', 'b'] (iteration order is not guaranteed)\n *\n * _.keys('hi');\n * // => ['0', '1']\n */\nfunction keys(object) {\n return isArrayLike(object) ? arrayLikeKeys(object) : baseKeys(object);\n}\n\n/**\n * This method returns the first argument it receives.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Util\n * @param {*} value Any value.\n * @returns {*} Returns `value`.\n * @example\n *\n * var object = { 'a': 1 };\n *\n * console.log(_.identity(object) === object);\n * // => true\n */\nfunction identity(value) {\n return value;\n}\n\n/**\n * Creates a function that returns the value at `path` of a given object.\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Util\n * @param {Array|string} path The path of the property to get.\n * @returns {Function} Returns the new accessor function.\n * @example\n *\n * var objects = [\n * { 'a': { 'b': 2 } },\n * { 'a': { 'b': 1 } }\n * ];\n *\n * _.map(objects, _.property('a.b'));\n * // => [2, 1]\n *\n * _.map(_.sortBy(objects, _.property(['a', 'b'])), 'a.b');\n * // => [1, 2]\n */\nfunction property(path) {\n return isKey(path) ? baseProperty(toKey(path)) : basePropertyDeep(path);\n}\n\nmodule.exports = reject;\n","module.exports = function(module) {\n\tif (!module.webpackPolyfill) {\n\t\tmodule.deprecate = function() {};\n\t\tmodule.paths = [];\n\t\t// module.parent = undefined by default\n\t\tif (!module.children) module.children = [];\n\t\tObject.defineProperty(module, \"loaded\", {\n\t\t\tenumerable: true,\n\t\t\tget: function() {\n\t\t\t\treturn module.l;\n\t\t\t}\n\t\t});\n\t\tObject.defineProperty(module, \"id\", {\n\t\t\tenumerable: true,\n\t\t\tget: function() {\n\t\t\t\treturn module.i;\n\t\t\t}\n\t\t});\n\t\tmodule.webpackPolyfill = 1;\n\t}\n\treturn module;\n};\n","'use strict';\n\nvar randomFromSeed = require('./random/random-from-seed');\n\nvar ORIGINAL = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_-';\nvar alphabet;\nvar previousSeed;\n\nvar shuffled;\n\nfunction reset() {\n shuffled = false;\n}\n\nfunction setCharacters(_alphabet_) {\n if (!_alphabet_) {\n if (alphabet !== ORIGINAL) {\n alphabet = ORIGINAL;\n reset();\n }\n return;\n }\n\n if (_alphabet_ === alphabet) {\n return;\n }\n\n if (_alphabet_.length !== ORIGINAL.length) {\n throw new Error('Custom alphabet for shortid must be ' + ORIGINAL.length + ' unique characters. You submitted ' + _alphabet_.length + ' characters: ' + _alphabet_);\n }\n\n var unique = _alphabet_.split('').filter(function(item, ind, arr){\n return ind !== arr.lastIndexOf(item);\n });\n\n if (unique.length) {\n throw new Error('Custom alphabet for shortid must be ' + ORIGINAL.length + ' unique characters. These characters were not unique: ' + unique.join(', '));\n }\n\n alphabet = _alphabet_;\n reset();\n}\n\nfunction characters(_alphabet_) {\n setCharacters(_alphabet_);\n return alphabet;\n}\n\nfunction setSeed(seed) {\n randomFromSeed.seed(seed);\n if (previousSeed !== seed) {\n reset();\n previousSeed = seed;\n }\n}\n\nfunction shuffle() {\n if (!alphabet) {\n setCharacters(ORIGINAL);\n }\n\n var sourceArray = alphabet.split('');\n var targetArray = [];\n var r = randomFromSeed.nextValue();\n var characterIndex;\n\n while (sourceArray.length > 0) {\n r = randomFromSeed.nextValue();\n characterIndex = Math.floor(r * sourceArray.length);\n targetArray.push(sourceArray.splice(characterIndex, 1)[0]);\n }\n return targetArray.join('');\n}\n\nfunction getShuffled() {\n if (shuffled) {\n return shuffled;\n }\n shuffled = shuffle();\n return shuffled;\n}\n\n/**\n * lookup shuffled letter\n * @param index\n * @returns {string}\n */\nfunction lookup(index) {\n var alphabetShuffled = getShuffled();\n return alphabetShuffled[index];\n}\n\nfunction get () {\n return alphabet || ORIGINAL;\n}\n\nmodule.exports = {\n get: get,\n characters: characters,\n seed: setSeed,\n lookup: lookup,\n shuffled: getShuffled\n};\n","module.exports = function requiredIf(type, condition) {\n return function(props, propName, componentName) {\n if (typeof type !== \"function\") {\n return new Error(\n 'Invalid react-required-if prop type supplied to ' + componentName + '. Validation failed.'\n );\n }\n\n if (typeof condition !== \"function\") {\n return new Error(\n 'Invalid react-required-if condition supplied to ' + componentName + '. Validation failed.'\n );\n }\n\n var test = condition(props) ? type.isRequired : type;\n return test.apply(this, arguments);\n };\n};\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _Modal = require(\"./components/Modal\");\n\nvar _Modal2 = _interopRequireDefault(_Modal);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = _Modal2.default;\nmodule.exports = exports[\"default\"];","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.canUseDOM = undefined;\n\nvar _exenv = require(\"exenv\");\n\nvar _exenv2 = _interopRequireDefault(_exenv);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar EE = _exenv2.default;\n\nvar SafeHTMLElement = EE.canUseDOM ? window.HTMLElement : {};\n\nvar canUseDOM = exports.canUseDOM = EE.canUseDOM;\n\nexports.default = SafeHTMLElement;","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\n'use strict';\n\nvar React = require('react');\nvar factory = require('./factory');\n\nif (typeof React === 'undefined') {\n throw Error(\n 'create-react-class could not find the React object. If you are using script tags, ' +\n 'make sure that React is being loaded before create-react-class.'\n );\n}\n\n// Hack to grab NoopUpdateQueue from isomorphic React\nvar ReactNoopUpdateQueue = new React.Component().updater;\n\nmodule.exports = factory(\n React.Component,\n React.isValidElement,\n ReactNoopUpdateQueue\n);\n","var React = require('react');\nvar RegExpPropType = require('./regExpPropType');\nvar escapeStringRegexp = require('escape-string-regexp');\nvar blacklist = require('blacklist');\nvar createReactClass = require('create-react-class');\nvar PropTypes = require('prop-types');\n\nfunction removeDiacritics(str, blacklist) {\n if (!String.prototype.normalize) {\n // Fall back to original string\n return str;\n }\n\n if (!blacklist) {\n // No blacklist, just remove all\n return str.normalize('NFD').replace(/[\\u0300-\\u036f]/g, '');\n }\n else {\n var blacklistChars = blacklist.split('');\n\n // Remove all diacritics that are not a part of a blacklisted character\n // First char cannot be a diacritic\n return str.normalize('NFD').replace(/.[\\u0300-\\u036f]+/g, function(m) {\n return blacklistChars.indexOf(m.normalize()) > -1 ? m.normalize() : m[0];\n });\n }\n}\n\nvar Highlighter = createReactClass({\n displayName: 'Highlighter',\n count: 0,\n propTypes: {\n search: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.number,\n PropTypes.bool,\n RegExpPropType\n ]).isRequired,\n caseSensitive: PropTypes.bool,\n ignoreDiacritics: PropTypes.bool,\n diacriticsBlacklist: PropTypes.string,\n matchElement: PropTypes.oneOfType([PropTypes.string, PropTypes.func]),\n matchClass: PropTypes.string,\n matchStyle: PropTypes.object\n },\n\n render: function() {\n var props = blacklist(\n this.props,\n 'search',\n 'caseSensitive',\n 'ignoreDiacritics',\n 'diacriticsBlacklist',\n 'matchElement',\n 'matchClass',\n 'matchStyle'\n );\n\n return React.createElement('span', props, this.renderElement(this.props.children));\n },\n\n /**\n * A wrapper to the highlight method to determine when the highlighting\n * process should occur.\n *\n * @param {string} subject\n * The body of text that will be searched for highlighted words.\n *\n * @return {Array}\n * An array of ReactElements\n */\n renderElement: function(subject) {\n if (this.isScalar() && this.hasSearch()) {\n var search = this.getSearch();\n return this.highlightChildren(subject, search);\n }\n\n return this.props.children;\n },\n\n /**\n * Determine if props are valid types for processing.\n *\n * @return {Boolean}\n */\n isScalar: function() {\n return (/string|number|boolean/).test(typeof this.props.children);\n },\n\n /**\n * Determine if required search prop is defined and valid.\n *\n * @return {Boolean}\n */\n hasSearch: function() {\n return (typeof this.props.search !== 'undefined') && this.props.search;\n },\n\n /**\n * Get the search prop, but always in the form of a regular expression. Use\n * this as a proxy to this.props.search for consistency.\n *\n * @return {RegExp}\n */\n getSearch: function() {\n if (this.props.search instanceof RegExp) {\n return this.props.search;\n }\n\n var flags = '';\n if (!this.props.caseSensitive) {\n flags +='i';\n }\n\n var search = this.props.search;\n if (typeof this.props.search === 'string') {\n search = escapeStringRegexp(search);\n }\n\n if (this.props.ignoreDiacritics) {\n search = removeDiacritics(search, this.props.diacriticsBlacklist);\n }\n\n return new RegExp(search, flags);\n },\n\n /**\n * Get the indexes of the first and last characters of the matched string.\n *\n * @param {string} subject\n * The string to search against.\n *\n * @param {RegExp} search\n * The regex search query.\n *\n * @return {Object}\n * An object consisting of \"first\" and \"last\" properties representing the\n * indexes of the first and last characters of a matching string.\n */\n getMatchBoundaries: function(subject, search) {\n var matches = search.exec(subject);\n if (matches) {\n return {\n first: matches.index,\n last: matches.index + matches[0].length\n };\n }\n },\n\n /**\n * Determines which strings of text should be highlighted or not.\n *\n * @param {string} subject\n * The body of text that will be searched for highlighted words.\n * @param {string} search\n * The search used to search for highlighted words.\n *\n * @return {Array}\n * An array of ReactElements\n */\n highlightChildren: function(subject, search) {\n var children = [];\n var remaining = subject;\n\n while (remaining) {\n var remainingCleaned = (this.props.ignoreDiacritics\n ? removeDiacritics(remaining, this.props.diacriticsBlacklist)\n : remaining\n );\n\n if (!search.test(remainingCleaned)) {\n children.push(this.renderPlain(remaining));\n return children;\n }\n\n var boundaries = this.getMatchBoundaries(remainingCleaned, search);\n\n if (boundaries.first === 0 && boundaries.last === 0) {\n // Regex zero-width match\n return children;\n }\n\n // Capture the string that leads up to a match...\n var nonMatch = remaining.slice(0, boundaries.first);\n if (nonMatch) {\n children.push(this.renderPlain(nonMatch));\n }\n\n // Now, capture the matching string...\n var match = remaining.slice(boundaries.first, boundaries.last);\n if (match) {\n children.push(this.renderHighlight(match));\n }\n\n // And if there's anything left over, recursively run this method again.\n remaining = remaining.slice(boundaries.last);\n\n }\n\n return children;\n },\n\n /**\n * Responsible for rending a non-highlighted element.\n *\n * @param {string} string\n * A string value to wrap an element around.\n *\n * @return {ReactElement}\n */\n renderPlain: function(string) {\n this.count++;\n return React.createElement('span', { key: this.count, children: string });\n },\n\n /**\n * Responsible for rending a highlighted element.\n *\n * @param {string} string\n * A string value to wrap an element around.\n *\n * @return {ReactElement}\n */\n renderHighlight: function(string) {\n this.count++;\n return React.createElement(this.props.matchElement, {\n key: this.count,\n className: this.props.matchClass,\n style: this.props.matchStyle,\n children: string\n });\n }\n});\n\nHighlighter.defaultProps = {\n caseSensitive: false,\n ignoreDiacritics: false,\n diacriticsBlacklist: '',\n matchElement: 'mark',\n matchClass: 'highlight',\n matchStyle: {}\n};\n\nmodule.exports = Highlighter;\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = findTabbableDescendants;\n/*!\n * Adapted from jQuery UI core\n *\n * http://jqueryui.com\n *\n * Copyright 2014 jQuery Foundation and other contributors\n * Released under the MIT license.\n * http://jquery.org/license\n *\n * http://api.jqueryui.com/category/ui-core/\n */\n\nvar tabbableNode = /input|select|textarea|button|object/;\n\nfunction hidesContents(element) {\n var zeroSize = element.offsetWidth <= 0 && element.offsetHeight <= 0;\n\n // If the node is empty, this is good enough\n if (zeroSize && !element.innerHTML) return true;\n\n // Otherwise we need to check some styles\n var style = window.getComputedStyle(element);\n return zeroSize ? style.getPropertyValue(\"overflow\") !== \"visible\" : style.getPropertyValue(\"display\") == \"none\";\n}\n\nfunction visible(element) {\n var parentElement = element;\n while (parentElement) {\n if (parentElement === document.body) break;\n if (hidesContents(parentElement)) return false;\n parentElement = parentElement.parentNode;\n }\n return true;\n}\n\nfunction focusable(element, isTabIndexNotNaN) {\n var nodeName = element.nodeName.toLowerCase();\n var res = tabbableNode.test(nodeName) && !element.disabled || (nodeName === \"a\" ? element.href || isTabIndexNotNaN : isTabIndexNotNaN);\n return res && visible(element);\n}\n\nfunction tabbable(element) {\n var tabIndex = element.getAttribute(\"tabindex\");\n if (tabIndex === null) tabIndex = undefined;\n var isTabIndexNaN = isNaN(tabIndex);\n return (isTabIndexNaN || tabIndex >= 0) && focusable(element, !isTabIndexNaN);\n}\n\nfunction findTabbableDescendants(element) {\n return [].slice.call(element.querySelectorAll(\"*\"), 0).filter(tabbable);\n}\nmodule.exports = exports[\"default\"];","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.assertNodeList = assertNodeList;\nexports.setElement = setElement;\nexports.validateElement = validateElement;\nexports.hide = hide;\nexports.show = show;\nexports.documentNotReadyOrSSRTesting = documentNotReadyOrSSRTesting;\nexports.resetForTesting = resetForTesting;\n\nvar _warning = require(\"warning\");\n\nvar _warning2 = _interopRequireDefault(_warning);\n\nvar _safeHTMLElement = require(\"./safeHTMLElement\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar globalElement = null;\n\nfunction assertNodeList(nodeList, selector) {\n if (!nodeList || !nodeList.length) {\n throw new Error(\"react-modal: No elements were found for selector \" + selector + \".\");\n }\n}\n\nfunction setElement(element) {\n var useElement = element;\n if (typeof useElement === \"string\" && _safeHTMLElement.canUseDOM) {\n var el = document.querySelectorAll(useElement);\n assertNodeList(el, useElement);\n useElement = \"length\" in el ? el[0] : el;\n }\n globalElement = useElement || globalElement;\n return globalElement;\n}\n\nfunction validateElement(appElement) {\n if (!appElement && !globalElement) {\n (0, _warning2.default)(false, [\"react-modal: App element is not defined.\", \"Please use `Modal.setAppElement(el)` or set `appElement={el}`.\", \"This is needed so screen readers don't see main content\", \"when modal is opened. It is not recommended, but you can opt-out\", \"by setting `ariaHideApp={false}`.\"].join(\" \"));\n\n return false;\n }\n\n return true;\n}\n\nfunction hide(appElement) {\n if (validateElement(appElement)) {\n (appElement || globalElement).setAttribute(\"aria-hidden\", \"true\");\n }\n}\n\nfunction show(appElement) {\n if (validateElement(appElement)) {\n (appElement || globalElement).removeAttribute(\"aria-hidden\");\n }\n}\n\nfunction documentNotReadyOrSSRTesting() {\n globalElement = null;\n}\n\nfunction resetForTesting() {\n globalElement = null;\n}","/**!\n * @fileOverview Kickass library to create and place poppers near their reference elements.\n * @version 1.12.9\n * @license\n * Copyright (c) 2016 Federico Zivolo and contributors\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 all\n * 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 THE\n * SOFTWARE.\n */\nvar isBrowser = typeof window !== 'undefined' && typeof document !== 'undefined';\nvar longerTimeoutBrowsers = ['Edge', 'Trident', 'Firefox'];\nvar timeoutDuration = 0;\nfor (var i = 0; i < longerTimeoutBrowsers.length; i += 1) {\n if (isBrowser && navigator.userAgent.indexOf(longerTimeoutBrowsers[i]) >= 0) {\n timeoutDuration = 1;\n break;\n }\n}\n\nfunction microtaskDebounce(fn) {\n var called = false;\n return function () {\n if (called) {\n return;\n }\n called = true;\n window.Promise.resolve().then(function () {\n called = false;\n fn();\n });\n };\n}\n\nfunction taskDebounce(fn) {\n var scheduled = false;\n return function () {\n if (!scheduled) {\n scheduled = true;\n setTimeout(function () {\n scheduled = false;\n fn();\n }, timeoutDuration);\n }\n };\n}\n\nvar supportsMicroTasks = isBrowser && window.Promise;\n\n/**\n* Create a debounced version of a method, that's asynchronously deferred\n* but called in the minimum time possible.\n*\n* @method\n* @memberof Popper.Utils\n* @argument {Function} fn\n* @returns {Function}\n*/\nvar debounce = supportsMicroTasks ? microtaskDebounce : taskDebounce;\n\n/**\n * Check if the given variable is a function\n * @method\n * @memberof Popper.Utils\n * @argument {Any} functionToCheck - variable to check\n * @returns {Boolean} answer to: is a function?\n */\nfunction isFunction(functionToCheck) {\n var getType = {};\n return functionToCheck && getType.toString.call(functionToCheck) === '[object Function]';\n}\n\n/**\n * Get CSS computed property of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Eement} element\n * @argument {String} property\n */\nfunction getStyleComputedProperty(element, property) {\n if (element.nodeType !== 1) {\n return [];\n }\n // NOTE: 1 DOM access here\n var css = getComputedStyle(element, null);\n return property ? css[property] : css;\n}\n\n/**\n * Returns the parentNode or the host of the element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} parent\n */\nfunction getParentNode(element) {\n if (element.nodeName === 'HTML') {\n return element;\n }\n return element.parentNode || element.host;\n}\n\n/**\n * Returns the scrolling parent of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} scroll parent\n */\nfunction getScrollParent(element) {\n // Return body, `getScroll` will take care to get the correct `scrollTop` from it\n if (!element) {\n return document.body;\n }\n\n switch (element.nodeName) {\n case 'HTML':\n case 'BODY':\n return element.ownerDocument.body;\n case '#document':\n return element.body;\n }\n\n // Firefox want us to check `-x` and `-y` variations as well\n\n var _getStyleComputedProp = getStyleComputedProperty(element),\n overflow = _getStyleComputedProp.overflow,\n overflowX = _getStyleComputedProp.overflowX,\n overflowY = _getStyleComputedProp.overflowY;\n\n if (/(auto|scroll)/.test(overflow + overflowY + overflowX)) {\n return element;\n }\n\n return getScrollParent(getParentNode(element));\n}\n\n/**\n * Returns the offset parent of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} offset parent\n */\nfunction getOffsetParent(element) {\n // NOTE: 1 DOM access here\n var offsetParent = element && element.offsetParent;\n var nodeName = offsetParent && offsetParent.nodeName;\n\n if (!nodeName || nodeName === 'BODY' || nodeName === 'HTML') {\n if (element) {\n return element.ownerDocument.documentElement;\n }\n\n return document.documentElement;\n }\n\n // .offsetParent will return the closest TD or TABLE in case\n // no offsetParent is present, I hate this job...\n if (['TD', 'TABLE'].indexOf(offsetParent.nodeName) !== -1 && getStyleComputedProperty(offsetParent, 'position') === 'static') {\n return getOffsetParent(offsetParent);\n }\n\n return offsetParent;\n}\n\nfunction isOffsetContainer(element) {\n var nodeName = element.nodeName;\n\n if (nodeName === 'BODY') {\n return false;\n }\n return nodeName === 'HTML' || getOffsetParent(element.firstElementChild) === element;\n}\n\n/**\n * Finds the root node (document, shadowDOM root) of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} node\n * @returns {Element} root node\n */\nfunction getRoot(node) {\n if (node.parentNode !== null) {\n return getRoot(node.parentNode);\n }\n\n return node;\n}\n\n/**\n * Finds the offset parent common to the two provided nodes\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element1\n * @argument {Element} element2\n * @returns {Element} common offset parent\n */\nfunction findCommonOffsetParent(element1, element2) {\n // This check is needed to avoid errors in case one of the elements isn't defined for any reason\n if (!element1 || !element1.nodeType || !element2 || !element2.nodeType) {\n return document.documentElement;\n }\n\n // Here we make sure to give as \"start\" the element that comes first in the DOM\n var order = element1.compareDocumentPosition(element2) & Node.DOCUMENT_POSITION_FOLLOWING;\n var start = order ? element1 : element2;\n var end = order ? element2 : element1;\n\n // Get common ancestor container\n var range = document.createRange();\n range.setStart(start, 0);\n range.setEnd(end, 0);\n var commonAncestorContainer = range.commonAncestorContainer;\n\n // Both nodes are inside #document\n\n if (element1 !== commonAncestorContainer && element2 !== commonAncestorContainer || start.contains(end)) {\n if (isOffsetContainer(commonAncestorContainer)) {\n return commonAncestorContainer;\n }\n\n return getOffsetParent(commonAncestorContainer);\n }\n\n // one of the nodes is inside shadowDOM, find which one\n var element1root = getRoot(element1);\n if (element1root.host) {\n return findCommonOffsetParent(element1root.host, element2);\n } else {\n return findCommonOffsetParent(element1, getRoot(element2).host);\n }\n}\n\n/**\n * Gets the scroll value of the given element in the given side (top and left)\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @argument {String} side `top` or `left`\n * @returns {number} amount of scrolled pixels\n */\nfunction getScroll(element) {\n var side = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'top';\n\n var upperSide = side === 'top' ? 'scrollTop' : 'scrollLeft';\n var nodeName = element.nodeName;\n\n if (nodeName === 'BODY' || nodeName === 'HTML') {\n var html = element.ownerDocument.documentElement;\n var scrollingElement = element.ownerDocument.scrollingElement || html;\n return scrollingElement[upperSide];\n }\n\n return element[upperSide];\n}\n\n/*\n * Sum or subtract the element scroll values (left and top) from a given rect object\n * @method\n * @memberof Popper.Utils\n * @param {Object} rect - Rect object you want to change\n * @param {HTMLElement} element - The element from the function reads the scroll values\n * @param {Boolean} subtract - set to true if you want to subtract the scroll values\n * @return {Object} rect - The modifier rect object\n */\nfunction includeScroll(rect, element) {\n var subtract = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n\n var scrollTop = getScroll(element, 'top');\n var scrollLeft = getScroll(element, 'left');\n var modifier = subtract ? -1 : 1;\n rect.top += scrollTop * modifier;\n rect.bottom += scrollTop * modifier;\n rect.left += scrollLeft * modifier;\n rect.right += scrollLeft * modifier;\n return rect;\n}\n\n/*\n * Helper to detect borders of a given element\n * @method\n * @memberof Popper.Utils\n * @param {CSSStyleDeclaration} styles\n * Result of `getStyleComputedProperty` on the given element\n * @param {String} axis - `x` or `y`\n * @return {number} borders - The borders size of the given axis\n */\n\nfunction getBordersSize(styles, axis) {\n var sideA = axis === 'x' ? 'Left' : 'Top';\n var sideB = sideA === 'Left' ? 'Right' : 'Bottom';\n\n return parseFloat(styles['border' + sideA + 'Width'], 10) + parseFloat(styles['border' + sideB + 'Width'], 10);\n}\n\n/**\n * Tells if you are running Internet Explorer 10\n * @method\n * @memberof Popper.Utils\n * @returns {Boolean} isIE10\n */\nvar isIE10 = undefined;\n\nvar isIE10$1 = function () {\n if (isIE10 === undefined) {\n isIE10 = navigator.appVersion.indexOf('MSIE 10') !== -1;\n }\n return isIE10;\n};\n\nfunction getSize(axis, body, html, computedStyle) {\n return Math.max(body['offset' + axis], body['scroll' + axis], html['client' + axis], html['offset' + axis], html['scroll' + axis], isIE10$1() ? html['offset' + axis] + computedStyle['margin' + (axis === 'Height' ? 'Top' : 'Left')] + computedStyle['margin' + (axis === 'Height' ? 'Bottom' : 'Right')] : 0);\n}\n\nfunction getWindowSizes() {\n var body = document.body;\n var html = document.documentElement;\n var computedStyle = isIE10$1() && getComputedStyle(html);\n\n return {\n height: getSize('Height', body, html, computedStyle),\n width: getSize('Width', body, html, computedStyle)\n };\n}\n\nvar classCallCheck = function (instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n};\n\nvar createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\n\n\n\n\n\nvar defineProperty = function (obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n};\n\nvar _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n};\n\n/**\n * Given element offsets, generate an output similar to getBoundingClientRect\n * @method\n * @memberof Popper.Utils\n * @argument {Object} offsets\n * @returns {Object} ClientRect like output\n */\nfunction getClientRect(offsets) {\n return _extends({}, offsets, {\n right: offsets.left + offsets.width,\n bottom: offsets.top + offsets.height\n });\n}\n\n/**\n * Get bounding client rect of given element\n * @method\n * @memberof Popper.Utils\n * @param {HTMLElement} element\n * @return {Object} client rect\n */\nfunction getBoundingClientRect(element) {\n var rect = {};\n\n // IE10 10 FIX: Please, don't ask, the element isn't\n // considered in DOM in some circumstances...\n // This isn't reproducible in IE10 compatibility mode of IE11\n if (isIE10$1()) {\n try {\n rect = element.getBoundingClientRect();\n var scrollTop = getScroll(element, 'top');\n var scrollLeft = getScroll(element, 'left');\n rect.top += scrollTop;\n rect.left += scrollLeft;\n rect.bottom += scrollTop;\n rect.right += scrollLeft;\n } catch (err) {}\n } else {\n rect = element.getBoundingClientRect();\n }\n\n var result = {\n left: rect.left,\n top: rect.top,\n width: rect.right - rect.left,\n height: rect.bottom - rect.top\n };\n\n // subtract scrollbar size from sizes\n var sizes = element.nodeName === 'HTML' ? getWindowSizes() : {};\n var width = sizes.width || element.clientWidth || result.right - result.left;\n var height = sizes.height || element.clientHeight || result.bottom - result.top;\n\n var horizScrollbar = element.offsetWidth - width;\n var vertScrollbar = element.offsetHeight - height;\n\n // if an hypothetical scrollbar is detected, we must be sure it's not a `border`\n // we make this check conditional for performance reasons\n if (horizScrollbar || vertScrollbar) {\n var styles = getStyleComputedProperty(element);\n horizScrollbar -= getBordersSize(styles, 'x');\n vertScrollbar -= getBordersSize(styles, 'y');\n\n result.width -= horizScrollbar;\n result.height -= vertScrollbar;\n }\n\n return getClientRect(result);\n}\n\nfunction getOffsetRectRelativeToArbitraryNode(children, parent) {\n var isIE10 = isIE10$1();\n var isHTML = parent.nodeName === 'HTML';\n var childrenRect = getBoundingClientRect(children);\n var parentRect = getBoundingClientRect(parent);\n var scrollParent = getScrollParent(children);\n\n var styles = getStyleComputedProperty(parent);\n var borderTopWidth = parseFloat(styles.borderTopWidth, 10);\n var borderLeftWidth = parseFloat(styles.borderLeftWidth, 10);\n\n var offsets = getClientRect({\n top: childrenRect.top - parentRect.top - borderTopWidth,\n left: childrenRect.left - parentRect.left - borderLeftWidth,\n width: childrenRect.width,\n height: childrenRect.height\n });\n offsets.marginTop = 0;\n offsets.marginLeft = 0;\n\n // Subtract margins of documentElement in case it's being used as parent\n // we do this only on HTML because it's the only element that behaves\n // differently when margins are applied to it. The margins are included in\n // the box of the documentElement, in the other cases not.\n if (!isIE10 && isHTML) {\n var marginTop = parseFloat(styles.marginTop, 10);\n var marginLeft = parseFloat(styles.marginLeft, 10);\n\n offsets.top -= borderTopWidth - marginTop;\n offsets.bottom -= borderTopWidth - marginTop;\n offsets.left -= borderLeftWidth - marginLeft;\n offsets.right -= borderLeftWidth - marginLeft;\n\n // Attach marginTop and marginLeft because in some circumstances we may need them\n offsets.marginTop = marginTop;\n offsets.marginLeft = marginLeft;\n }\n\n if (isIE10 ? parent.contains(scrollParent) : parent === scrollParent && scrollParent.nodeName !== 'BODY') {\n offsets = includeScroll(offsets, parent);\n }\n\n return offsets;\n}\n\nfunction getViewportOffsetRectRelativeToArtbitraryNode(element) {\n var html = element.ownerDocument.documentElement;\n var relativeOffset = getOffsetRectRelativeToArbitraryNode(element, html);\n var width = Math.max(html.clientWidth, window.innerWidth || 0);\n var height = Math.max(html.clientHeight, window.innerHeight || 0);\n\n var scrollTop = getScroll(html);\n var scrollLeft = getScroll(html, 'left');\n\n var offset = {\n top: scrollTop - relativeOffset.top + relativeOffset.marginTop,\n left: scrollLeft - relativeOffset.left + relativeOffset.marginLeft,\n width: width,\n height: height\n };\n\n return getClientRect(offset);\n}\n\n/**\n * Check if the given element is fixed or is inside a fixed parent\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @argument {Element} customContainer\n * @returns {Boolean} answer to \"isFixed?\"\n */\nfunction isFixed(element) {\n var nodeName = element.nodeName;\n if (nodeName === 'BODY' || nodeName === 'HTML') {\n return false;\n }\n if (getStyleComputedProperty(element, 'position') === 'fixed') {\n return true;\n }\n return isFixed(getParentNode(element));\n}\n\n/**\n * Computed the boundaries limits and return them\n * @method\n * @memberof Popper.Utils\n * @param {HTMLElement} popper\n * @param {HTMLElement} reference\n * @param {number} padding\n * @param {HTMLElement} boundariesElement - Element used to define the boundaries\n * @returns {Object} Coordinates of the boundaries\n */\nfunction getBoundaries(popper, reference, padding, boundariesElement) {\n // NOTE: 1 DOM access here\n var boundaries = { top: 0, left: 0 };\n var offsetParent = findCommonOffsetParent(popper, reference);\n\n // Handle viewport case\n if (boundariesElement === 'viewport') {\n boundaries = getViewportOffsetRectRelativeToArtbitraryNode(offsetParent);\n } else {\n // Handle other cases based on DOM element used as boundaries\n var boundariesNode = void 0;\n if (boundariesElement === 'scrollParent') {\n boundariesNode = getScrollParent(getParentNode(reference));\n if (boundariesNode.nodeName === 'BODY') {\n boundariesNode = popper.ownerDocument.documentElement;\n }\n } else if (boundariesElement === 'window') {\n boundariesNode = popper.ownerDocument.documentElement;\n } else {\n boundariesNode = boundariesElement;\n }\n\n var offsets = getOffsetRectRelativeToArbitraryNode(boundariesNode, offsetParent);\n\n // In case of HTML, we need a different computation\n if (boundariesNode.nodeName === 'HTML' && !isFixed(offsetParent)) {\n var _getWindowSizes = getWindowSizes(),\n height = _getWindowSizes.height,\n width = _getWindowSizes.width;\n\n boundaries.top += offsets.top - offsets.marginTop;\n boundaries.bottom = height + offsets.top;\n boundaries.left += offsets.left - offsets.marginLeft;\n boundaries.right = width + offsets.left;\n } else {\n // for all the other DOM elements, this one is good\n boundaries = offsets;\n }\n }\n\n // Add paddings\n boundaries.left += padding;\n boundaries.top += padding;\n boundaries.right -= padding;\n boundaries.bottom -= padding;\n\n return boundaries;\n}\n\nfunction getArea(_ref) {\n var width = _ref.width,\n height = _ref.height;\n\n return width * height;\n}\n\n/**\n * Utility used to transform the `auto` placement to the placement with more\n * available space.\n * @method\n * @memberof Popper.Utils\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction computeAutoPlacement(placement, refRect, popper, reference, boundariesElement) {\n var padding = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : 0;\n\n if (placement.indexOf('auto') === -1) {\n return placement;\n }\n\n var boundaries = getBoundaries(popper, reference, padding, boundariesElement);\n\n var rects = {\n top: {\n width: boundaries.width,\n height: refRect.top - boundaries.top\n },\n right: {\n width: boundaries.right - refRect.right,\n height: boundaries.height\n },\n bottom: {\n width: boundaries.width,\n height: boundaries.bottom - refRect.bottom\n },\n left: {\n width: refRect.left - boundaries.left,\n height: boundaries.height\n }\n };\n\n var sortedAreas = Object.keys(rects).map(function (key) {\n return _extends({\n key: key\n }, rects[key], {\n area: getArea(rects[key])\n });\n }).sort(function (a, b) {\n return b.area - a.area;\n });\n\n var filteredAreas = sortedAreas.filter(function (_ref2) {\n var width = _ref2.width,\n height = _ref2.height;\n return width >= popper.clientWidth && height >= popper.clientHeight;\n });\n\n var computedPlacement = filteredAreas.length > 0 ? filteredAreas[0].key : sortedAreas[0].key;\n\n var variation = placement.split('-')[1];\n\n return computedPlacement + (variation ? '-' + variation : '');\n}\n\n/**\n * Get offsets to the reference element\n * @method\n * @memberof Popper.Utils\n * @param {Object} state\n * @param {Element} popper - the popper element\n * @param {Element} reference - the reference element (the popper will be relative to this)\n * @returns {Object} An object containing the offsets which will be applied to the popper\n */\nfunction getReferenceOffsets(state, popper, reference) {\n var commonOffsetParent = findCommonOffsetParent(popper, reference);\n return getOffsetRectRelativeToArbitraryNode(reference, commonOffsetParent);\n}\n\n/**\n * Get the outer sizes of the given element (offset size + margins)\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Object} object containing width and height properties\n */\nfunction getOuterSizes(element) {\n var styles = getComputedStyle(element);\n var x = parseFloat(styles.marginTop) + parseFloat(styles.marginBottom);\n var y = parseFloat(styles.marginLeft) + parseFloat(styles.marginRight);\n var result = {\n width: element.offsetWidth + y,\n height: element.offsetHeight + x\n };\n return result;\n}\n\n/**\n * Get the opposite placement of the given one\n * @method\n * @memberof Popper.Utils\n * @argument {String} placement\n * @returns {String} flipped placement\n */\nfunction getOppositePlacement(placement) {\n var hash = { left: 'right', right: 'left', bottom: 'top', top: 'bottom' };\n return placement.replace(/left|right|bottom|top/g, function (matched) {\n return hash[matched];\n });\n}\n\n/**\n * Get offsets to the popper\n * @method\n * @memberof Popper.Utils\n * @param {Object} position - CSS position the Popper will get applied\n * @param {HTMLElement} popper - the popper element\n * @param {Object} referenceOffsets - the reference offsets (the popper will be relative to this)\n * @param {String} placement - one of the valid placement options\n * @returns {Object} popperOffsets - An object containing the offsets which will be applied to the popper\n */\nfunction getPopperOffsets(popper, referenceOffsets, placement) {\n placement = placement.split('-')[0];\n\n // Get popper node sizes\n var popperRect = getOuterSizes(popper);\n\n // Add position, width and height to our offsets object\n var popperOffsets = {\n width: popperRect.width,\n height: popperRect.height\n };\n\n // depending by the popper placement we have to compute its offsets slightly differently\n var isHoriz = ['right', 'left'].indexOf(placement) !== -1;\n var mainSide = isHoriz ? 'top' : 'left';\n var secondarySide = isHoriz ? 'left' : 'top';\n var measurement = isHoriz ? 'height' : 'width';\n var secondaryMeasurement = !isHoriz ? 'height' : 'width';\n\n popperOffsets[mainSide] = referenceOffsets[mainSide] + referenceOffsets[measurement] / 2 - popperRect[measurement] / 2;\n if (placement === secondarySide) {\n popperOffsets[secondarySide] = referenceOffsets[secondarySide] - popperRect[secondaryMeasurement];\n } else {\n popperOffsets[secondarySide] = referenceOffsets[getOppositePlacement(secondarySide)];\n }\n\n return popperOffsets;\n}\n\n/**\n * Mimics the `find` method of Array\n * @method\n * @memberof Popper.Utils\n * @argument {Array} arr\n * @argument prop\n * @argument value\n * @returns index or -1\n */\nfunction find(arr, check) {\n // use native find if supported\n if (Array.prototype.find) {\n return arr.find(check);\n }\n\n // use `filter` to obtain the same behavior of `find`\n return arr.filter(check)[0];\n}\n\n/**\n * Return the index of the matching object\n * @method\n * @memberof Popper.Utils\n * @argument {Array} arr\n * @argument prop\n * @argument value\n * @returns index or -1\n */\nfunction findIndex(arr, prop, value) {\n // use native findIndex if supported\n if (Array.prototype.findIndex) {\n return arr.findIndex(function (cur) {\n return cur[prop] === value;\n });\n }\n\n // use `find` + `indexOf` if `findIndex` isn't supported\n var match = find(arr, function (obj) {\n return obj[prop] === value;\n });\n return arr.indexOf(match);\n}\n\n/**\n * Loop trough the list of modifiers and run them in order,\n * each of them will then edit the data object.\n * @method\n * @memberof Popper.Utils\n * @param {dataObject} data\n * @param {Array} modifiers\n * @param {String} ends - Optional modifier name used as stopper\n * @returns {dataObject}\n */\nfunction runModifiers(modifiers, data, ends) {\n var modifiersToRun = ends === undefined ? modifiers : modifiers.slice(0, findIndex(modifiers, 'name', ends));\n\n modifiersToRun.forEach(function (modifier) {\n if (modifier['function']) {\n // eslint-disable-line dot-notation\n console.warn('`modifier.function` is deprecated, use `modifier.fn`!');\n }\n var fn = modifier['function'] || modifier.fn; // eslint-disable-line dot-notation\n if (modifier.enabled && isFunction(fn)) {\n // Add properties to offsets to make them a complete clientRect object\n // we do this before each modifier to make sure the previous one doesn't\n // mess with these values\n data.offsets.popper = getClientRect(data.offsets.popper);\n data.offsets.reference = getClientRect(data.offsets.reference);\n\n data = fn(data, modifier);\n }\n });\n\n return data;\n}\n\n/**\n * Updates the position of the popper, computing the new offsets and applying\n * the new style.<br />\n * Prefer `scheduleUpdate` over `update` because of performance reasons.\n * @method\n * @memberof Popper\n */\nfunction update() {\n // if popper is destroyed, don't perform any further update\n if (this.state.isDestroyed) {\n return;\n }\n\n var data = {\n instance: this,\n styles: {},\n arrowStyles: {},\n attributes: {},\n flipped: false,\n offsets: {}\n };\n\n // compute reference element offsets\n data.offsets.reference = getReferenceOffsets(this.state, this.popper, this.reference);\n\n // compute auto placement, store placement inside the data object,\n // modifiers will be able to edit `placement` if needed\n // and refer to originalPlacement to know the original value\n data.placement = computeAutoPlacement(this.options.placement, data.offsets.reference, this.popper, this.reference, this.options.modifiers.flip.boundariesElement, this.options.modifiers.flip.padding);\n\n // store the computed placement inside `originalPlacement`\n data.originalPlacement = data.placement;\n\n // compute the popper offsets\n data.offsets.popper = getPopperOffsets(this.popper, data.offsets.reference, data.placement);\n data.offsets.popper.position = 'absolute';\n\n // run the modifiers\n data = runModifiers(this.modifiers, data);\n\n // the first `update` will call `onCreate` callback\n // the other ones will call `onUpdate` callback\n if (!this.state.isCreated) {\n this.state.isCreated = true;\n this.options.onCreate(data);\n } else {\n this.options.onUpdate(data);\n }\n}\n\n/**\n * Helper used to know if the given modifier is enabled.\n * @method\n * @memberof Popper.Utils\n * @returns {Boolean}\n */\nfunction isModifierEnabled(modifiers, modifierName) {\n return modifiers.some(function (_ref) {\n var name = _ref.name,\n enabled = _ref.enabled;\n return enabled && name === modifierName;\n });\n}\n\n/**\n * Get the prefixed supported property name\n * @method\n * @memberof Popper.Utils\n * @argument {String} property (camelCase)\n * @returns {String} prefixed property (camelCase or PascalCase, depending on the vendor prefix)\n */\nfunction getSupportedPropertyName(property) {\n var prefixes = [false, 'ms', 'Webkit', 'Moz', 'O'];\n var upperProp = property.charAt(0).toUpperCase() + property.slice(1);\n\n for (var i = 0; i < prefixes.length - 1; i++) {\n var prefix = prefixes[i];\n var toCheck = prefix ? '' + prefix + upperProp : property;\n if (typeof document.body.style[toCheck] !== 'undefined') {\n return toCheck;\n }\n }\n return null;\n}\n\n/**\n * Destroy the popper\n * @method\n * @memberof Popper\n */\nfunction destroy() {\n this.state.isDestroyed = true;\n\n // touch DOM only if `applyStyle` modifier is enabled\n if (isModifierEnabled(this.modifiers, 'applyStyle')) {\n this.popper.removeAttribute('x-placement');\n this.popper.style.left = '';\n this.popper.style.position = '';\n this.popper.style.top = '';\n this.popper.style[getSupportedPropertyName('transform')] = '';\n }\n\n this.disableEventListeners();\n\n // remove the popper if user explicity asked for the deletion on destroy\n // do not use `remove` because IE11 doesn't support it\n if (this.options.removeOnDestroy) {\n this.popper.parentNode.removeChild(this.popper);\n }\n return this;\n}\n\n/**\n * Get the window associated with the element\n * @argument {Element} element\n * @returns {Window}\n */\nfunction getWindow(element) {\n var ownerDocument = element.ownerDocument;\n return ownerDocument ? ownerDocument.defaultView : window;\n}\n\nfunction attachToScrollParents(scrollParent, event, callback, scrollParents) {\n var isBody = scrollParent.nodeName === 'BODY';\n var target = isBody ? scrollParent.ownerDocument.defaultView : scrollParent;\n target.addEventListener(event, callback, { passive: true });\n\n if (!isBody) {\n attachToScrollParents(getScrollParent(target.parentNode), event, callback, scrollParents);\n }\n scrollParents.push(target);\n}\n\n/**\n * Setup needed event listeners used to update the popper position\n * @method\n * @memberof Popper.Utils\n * @private\n */\nfunction setupEventListeners(reference, options, state, updateBound) {\n // Resize event listener on window\n state.updateBound = updateBound;\n getWindow(reference).addEventListener('resize', state.updateBound, { passive: true });\n\n // Scroll event listener on scroll parents\n var scrollElement = getScrollParent(reference);\n attachToScrollParents(scrollElement, 'scroll', state.updateBound, state.scrollParents);\n state.scrollElement = scrollElement;\n state.eventsEnabled = true;\n\n return state;\n}\n\n/**\n * It will add resize/scroll events and start recalculating\n * position of the popper element when they are triggered.\n * @method\n * @memberof Popper\n */\nfunction enableEventListeners() {\n if (!this.state.eventsEnabled) {\n this.state = setupEventListeners(this.reference, this.options, this.state, this.scheduleUpdate);\n }\n}\n\n/**\n * Remove event listeners used to update the popper position\n * @method\n * @memberof Popper.Utils\n * @private\n */\nfunction removeEventListeners(reference, state) {\n // Remove resize event listener on window\n getWindow(reference).removeEventListener('resize', state.updateBound);\n\n // Remove scroll event listener on scroll parents\n state.scrollParents.forEach(function (target) {\n target.removeEventListener('scroll', state.updateBound);\n });\n\n // Reset state\n state.updateBound = null;\n state.scrollParents = [];\n state.scrollElement = null;\n state.eventsEnabled = false;\n return state;\n}\n\n/**\n * It will remove resize/scroll events and won't recalculate popper position\n * when they are triggered. It also won't trigger onUpdate callback anymore,\n * unless you call `update` method manually.\n * @method\n * @memberof Popper\n */\nfunction disableEventListeners() {\n if (this.state.eventsEnabled) {\n cancelAnimationFrame(this.scheduleUpdate);\n this.state = removeEventListeners(this.reference, this.state);\n }\n}\n\n/**\n * Tells if a given input is a number\n * @method\n * @memberof Popper.Utils\n * @param {*} input to check\n * @return {Boolean}\n */\nfunction isNumeric(n) {\n return n !== '' && !isNaN(parseFloat(n)) && isFinite(n);\n}\n\n/**\n * Set the style to the given popper\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element - Element to apply the style to\n * @argument {Object} styles\n * Object with a list of properties and values which will be applied to the element\n */\nfunction setStyles(element, styles) {\n Object.keys(styles).forEach(function (prop) {\n var unit = '';\n // add unit if the value is numeric and is one of the following\n if (['width', 'height', 'top', 'right', 'bottom', 'left'].indexOf(prop) !== -1 && isNumeric(styles[prop])) {\n unit = 'px';\n }\n element.style[prop] = styles[prop] + unit;\n });\n}\n\n/**\n * Set the attributes to the given popper\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element - Element to apply the attributes to\n * @argument {Object} styles\n * Object with a list of properties and values which will be applied to the element\n */\nfunction setAttributes(element, attributes) {\n Object.keys(attributes).forEach(function (prop) {\n var value = attributes[prop];\n if (value !== false) {\n element.setAttribute(prop, attributes[prop]);\n } else {\n element.removeAttribute(prop);\n }\n });\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} data.styles - List of style properties - values to apply to popper element\n * @argument {Object} data.attributes - List of attribute properties - values to apply to popper element\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The same data object\n */\nfunction applyStyle(data) {\n // any property present in `data.styles` will be applied to the popper,\n // in this way we can make the 3rd party modifiers add custom styles to it\n // Be aware, modifiers could override the properties defined in the previous\n // lines of this modifier!\n setStyles(data.instance.popper, data.styles);\n\n // any property present in `data.attributes` will be applied to the popper,\n // they will be set as HTML attributes of the element\n setAttributes(data.instance.popper, data.attributes);\n\n // if arrowElement is defined and arrowStyles has some properties\n if (data.arrowElement && Object.keys(data.arrowStyles).length) {\n setStyles(data.arrowElement, data.arrowStyles);\n }\n\n return data;\n}\n\n/**\n * Set the x-placement attribute before everything else because it could be used\n * to add margins to the popper margins needs to be calculated to get the\n * correct popper offsets.\n * @method\n * @memberof Popper.modifiers\n * @param {HTMLElement} reference - The reference element used to position the popper\n * @param {HTMLElement} popper - The HTML element used as popper.\n * @param {Object} options - Popper.js options\n */\nfunction applyStyleOnLoad(reference, popper, options, modifierOptions, state) {\n // compute reference element offsets\n var referenceOffsets = getReferenceOffsets(state, popper, reference);\n\n // compute auto placement, store placement inside the data object,\n // modifiers will be able to edit `placement` if needed\n // and refer to originalPlacement to know the original value\n var placement = computeAutoPlacement(options.placement, referenceOffsets, popper, reference, options.modifiers.flip.boundariesElement, options.modifiers.flip.padding);\n\n popper.setAttribute('x-placement', placement);\n\n // Apply `position` to popper before anything else because\n // without the position applied we can't guarantee correct computations\n setStyles(popper, { position: 'absolute' });\n\n return options;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction computeStyle(data, options) {\n var x = options.x,\n y = options.y;\n var popper = data.offsets.popper;\n\n // Remove this legacy support in Popper.js v2\n\n var legacyGpuAccelerationOption = find(data.instance.modifiers, function (modifier) {\n return modifier.name === 'applyStyle';\n }).gpuAcceleration;\n if (legacyGpuAccelerationOption !== undefined) {\n console.warn('WARNING: `gpuAcceleration` option moved to `computeStyle` modifier and will not be supported in future versions of Popper.js!');\n }\n var gpuAcceleration = legacyGpuAccelerationOption !== undefined ? legacyGpuAccelerationOption : options.gpuAcceleration;\n\n var offsetParent = getOffsetParent(data.instance.popper);\n var offsetParentRect = getBoundingClientRect(offsetParent);\n\n // Styles\n var styles = {\n position: popper.position\n };\n\n // floor sides to avoid blurry text\n var offsets = {\n left: Math.floor(popper.left),\n top: Math.floor(popper.top),\n bottom: Math.floor(popper.bottom),\n right: Math.floor(popper.right)\n };\n\n var sideA = x === 'bottom' ? 'top' : 'bottom';\n var sideB = y === 'right' ? 'left' : 'right';\n\n // if gpuAcceleration is set to `true` and transform is supported,\n // we use `translate3d` to apply the position to the popper we\n // automatically use the supported prefixed version if needed\n var prefixedProperty = getSupportedPropertyName('transform');\n\n // now, let's make a step back and look at this code closely (wtf?)\n // If the content of the popper grows once it's been positioned, it\n // may happen that the popper gets misplaced because of the new content\n // overflowing its reference element\n // To avoid this problem, we provide two options (x and y), which allow\n // the consumer to define the offset origin.\n // If we position a popper on top of a reference element, we can set\n // `x` to `top` to make the popper grow towards its top instead of\n // its bottom.\n var left = void 0,\n top = void 0;\n if (sideA === 'bottom') {\n top = -offsetParentRect.height + offsets.bottom;\n } else {\n top = offsets.top;\n }\n if (sideB === 'right') {\n left = -offsetParentRect.width + offsets.right;\n } else {\n left = offsets.left;\n }\n if (gpuAcceleration && prefixedProperty) {\n styles[prefixedProperty] = 'translate3d(' + left + 'px, ' + top + 'px, 0)';\n styles[sideA] = 0;\n styles[sideB] = 0;\n styles.willChange = 'transform';\n } else {\n // othwerise, we use the standard `top`, `left`, `bottom` and `right` properties\n var invertTop = sideA === 'bottom' ? -1 : 1;\n var invertLeft = sideB === 'right' ? -1 : 1;\n styles[sideA] = top * invertTop;\n styles[sideB] = left * invertLeft;\n styles.willChange = sideA + ', ' + sideB;\n }\n\n // Attributes\n var attributes = {\n 'x-placement': data.placement\n };\n\n // Update `data` attributes, styles and arrowStyles\n data.attributes = _extends({}, attributes, data.attributes);\n data.styles = _extends({}, styles, data.styles);\n data.arrowStyles = _extends({}, data.offsets.arrow, data.arrowStyles);\n\n return data;\n}\n\n/**\n * Helper used to know if the given modifier depends from another one.<br />\n * It checks if the needed modifier is listed and enabled.\n * @method\n * @memberof Popper.Utils\n * @param {Array} modifiers - list of modifiers\n * @param {String} requestingName - name of requesting modifier\n * @param {String} requestedName - name of requested modifier\n * @returns {Boolean}\n */\nfunction isModifierRequired(modifiers, requestingName, requestedName) {\n var requesting = find(modifiers, function (_ref) {\n var name = _ref.name;\n return name === requestingName;\n });\n\n var isRequired = !!requesting && modifiers.some(function (modifier) {\n return modifier.name === requestedName && modifier.enabled && modifier.order < requesting.order;\n });\n\n if (!isRequired) {\n var _requesting = '`' + requestingName + '`';\n var requested = '`' + requestedName + '`';\n console.warn(requested + ' modifier is required by ' + _requesting + ' modifier in order to work, be sure to include it before ' + _requesting + '!');\n }\n return isRequired;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction arrow(data, options) {\n var _data$offsets$arrow;\n\n // arrow depends on keepTogether in order to work\n if (!isModifierRequired(data.instance.modifiers, 'arrow', 'keepTogether')) {\n return data;\n }\n\n var arrowElement = options.element;\n\n // if arrowElement is a string, suppose it's a CSS selector\n if (typeof arrowElement === 'string') {\n arrowElement = data.instance.popper.querySelector(arrowElement);\n\n // if arrowElement is not found, don't run the modifier\n if (!arrowElement) {\n return data;\n }\n } else {\n // if the arrowElement isn't a query selector we must check that the\n // provided DOM node is child of its popper node\n if (!data.instance.popper.contains(arrowElement)) {\n console.warn('WARNING: `arrow.element` must be child of its popper element!');\n return data;\n }\n }\n\n var placement = data.placement.split('-')[0];\n var _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n\n var isVertical = ['left', 'right'].indexOf(placement) !== -1;\n\n var len = isVertical ? 'height' : 'width';\n var sideCapitalized = isVertical ? 'Top' : 'Left';\n var side = sideCapitalized.toLowerCase();\n var altSide = isVertical ? 'left' : 'top';\n var opSide = isVertical ? 'bottom' : 'right';\n var arrowElementSize = getOuterSizes(arrowElement)[len];\n\n //\n // extends keepTogether behavior making sure the popper and its\n // reference have enough pixels in conjuction\n //\n\n // top/left side\n if (reference[opSide] - arrowElementSize < popper[side]) {\n data.offsets.popper[side] -= popper[side] - (reference[opSide] - arrowElementSize);\n }\n // bottom/right side\n if (reference[side] + arrowElementSize > popper[opSide]) {\n data.offsets.popper[side] += reference[side] + arrowElementSize - popper[opSide];\n }\n data.offsets.popper = getClientRect(data.offsets.popper);\n\n // compute center of the popper\n var center = reference[side] + reference[len] / 2 - arrowElementSize / 2;\n\n // Compute the sideValue using the updated popper offsets\n // take popper margin in account because we don't have this info available\n var css = getStyleComputedProperty(data.instance.popper);\n var popperMarginSide = parseFloat(css['margin' + sideCapitalized], 10);\n var popperBorderSide = parseFloat(css['border' + sideCapitalized + 'Width'], 10);\n var sideValue = center - data.offsets.popper[side] - popperMarginSide - popperBorderSide;\n\n // prevent arrowElement from being placed not contiguously to its popper\n sideValue = Math.max(Math.min(popper[len] - arrowElementSize, sideValue), 0);\n\n data.arrowElement = arrowElement;\n data.offsets.arrow = (_data$offsets$arrow = {}, defineProperty(_data$offsets$arrow, side, Math.round(sideValue)), defineProperty(_data$offsets$arrow, altSide, ''), _data$offsets$arrow);\n\n return data;\n}\n\n/**\n * Get the opposite placement variation of the given one\n * @method\n * @memberof Popper.Utils\n * @argument {String} placement variation\n * @returns {String} flipped placement variation\n */\nfunction getOppositeVariation(variation) {\n if (variation === 'end') {\n return 'start';\n } else if (variation === 'start') {\n return 'end';\n }\n return variation;\n}\n\n/**\n * List of accepted placements to use as values of the `placement` option.<br />\n * Valid placements are:\n * - `auto`\n * - `top`\n * - `right`\n * - `bottom`\n * - `left`\n *\n * Each placement can have a variation from this list:\n * - `-start`\n * - `-end`\n *\n * Variations are interpreted easily if you think of them as the left to right\n * written languages. Horizontally (`top` and `bottom`), `start` is left and `end`\n * is right.<br />\n * Vertically (`left` and `right`), `start` is top and `end` is bottom.\n *\n * Some valid examples are:\n * - `top-end` (on top of reference, right aligned)\n * - `right-start` (on right of reference, top aligned)\n * - `bottom` (on bottom, centered)\n * - `auto-right` (on the side with more space available, alignment depends by placement)\n *\n * @static\n * @type {Array}\n * @enum {String}\n * @readonly\n * @method placements\n * @memberof Popper\n */\nvar placements = ['auto-start', 'auto', 'auto-end', 'top-start', 'top', 'top-end', 'right-start', 'right', 'right-end', 'bottom-end', 'bottom', 'bottom-start', 'left-end', 'left', 'left-start'];\n\n// Get rid of `auto` `auto-start` and `auto-end`\nvar validPlacements = placements.slice(3);\n\n/**\n * Given an initial placement, returns all the subsequent placements\n * clockwise (or counter-clockwise).\n *\n * @method\n * @memberof Popper.Utils\n * @argument {String} placement - A valid placement (it accepts variations)\n * @argument {Boolean} counter - Set to true to walk the placements counterclockwise\n * @returns {Array} placements including their variations\n */\nfunction clockwise(placement) {\n var counter = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n var index = validPlacements.indexOf(placement);\n var arr = validPlacements.slice(index + 1).concat(validPlacements.slice(0, index));\n return counter ? arr.reverse() : arr;\n}\n\nvar BEHAVIORS = {\n FLIP: 'flip',\n CLOCKWISE: 'clockwise',\n COUNTERCLOCKWISE: 'counterclockwise'\n};\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction flip(data, options) {\n // if `inner` modifier is enabled, we can't use the `flip` modifier\n if (isModifierEnabled(data.instance.modifiers, 'inner')) {\n return data;\n }\n\n if (data.flipped && data.placement === data.originalPlacement) {\n // seems like flip is trying to loop, probably there's not enough space on any of the flippable sides\n return data;\n }\n\n var boundaries = getBoundaries(data.instance.popper, data.instance.reference, options.padding, options.boundariesElement);\n\n var placement = data.placement.split('-')[0];\n var placementOpposite = getOppositePlacement(placement);\n var variation = data.placement.split('-')[1] || '';\n\n var flipOrder = [];\n\n switch (options.behavior) {\n case BEHAVIORS.FLIP:\n flipOrder = [placement, placementOpposite];\n break;\n case BEHAVIORS.CLOCKWISE:\n flipOrder = clockwise(placement);\n break;\n case BEHAVIORS.COUNTERCLOCKWISE:\n flipOrder = clockwise(placement, true);\n break;\n default:\n flipOrder = options.behavior;\n }\n\n flipOrder.forEach(function (step, index) {\n if (placement !== step || flipOrder.length === index + 1) {\n return data;\n }\n\n placement = data.placement.split('-')[0];\n placementOpposite = getOppositePlacement(placement);\n\n var popperOffsets = data.offsets.popper;\n var refOffsets = data.offsets.reference;\n\n // using floor because the reference offsets may contain decimals we are not going to consider here\n var floor = Math.floor;\n var overlapsRef = placement === 'left' && floor(popperOffsets.right) > floor(refOffsets.left) || placement === 'right' && floor(popperOffsets.left) < floor(refOffsets.right) || placement === 'top' && floor(popperOffsets.bottom) > floor(refOffsets.top) || placement === 'bottom' && floor(popperOffsets.top) < floor(refOffsets.bottom);\n\n var overflowsLeft = floor(popperOffsets.left) < floor(boundaries.left);\n var overflowsRight = floor(popperOffsets.right) > floor(boundaries.right);\n var overflowsTop = floor(popperOffsets.top) < floor(boundaries.top);\n var overflowsBottom = floor(popperOffsets.bottom) > floor(boundaries.bottom);\n\n var overflowsBoundaries = placement === 'left' && overflowsLeft || placement === 'right' && overflowsRight || placement === 'top' && overflowsTop || placement === 'bottom' && overflowsBottom;\n\n // flip the variation if required\n var isVertical = ['top', 'bottom'].indexOf(placement) !== -1;\n var flippedVariation = !!options.flipVariations && (isVertical && variation === 'start' && overflowsLeft || isVertical && variation === 'end' && overflowsRight || !isVertical && variation === 'start' && overflowsTop || !isVertical && variation === 'end' && overflowsBottom);\n\n if (overlapsRef || overflowsBoundaries || flippedVariation) {\n // this boolean to detect any flip loop\n data.flipped = true;\n\n if (overlapsRef || overflowsBoundaries) {\n placement = flipOrder[index + 1];\n }\n\n if (flippedVariation) {\n variation = getOppositeVariation(variation);\n }\n\n data.placement = placement + (variation ? '-' + variation : '');\n\n // this object contains `position`, we want to preserve it along with\n // any additional property we may add in the future\n data.offsets.popper = _extends({}, data.offsets.popper, getPopperOffsets(data.instance.popper, data.offsets.reference, data.placement));\n\n data = runModifiers(data.instance.modifiers, data, 'flip');\n }\n });\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction keepTogether(data) {\n var _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n\n var placement = data.placement.split('-')[0];\n var floor = Math.floor;\n var isVertical = ['top', 'bottom'].indexOf(placement) !== -1;\n var side = isVertical ? 'right' : 'bottom';\n var opSide = isVertical ? 'left' : 'top';\n var measurement = isVertical ? 'width' : 'height';\n\n if (popper[side] < floor(reference[opSide])) {\n data.offsets.popper[opSide] = floor(reference[opSide]) - popper[measurement];\n }\n if (popper[opSide] > floor(reference[side])) {\n data.offsets.popper[opSide] = floor(reference[side]);\n }\n\n return data;\n}\n\n/**\n * Converts a string containing value + unit into a px value number\n * @function\n * @memberof {modifiers~offset}\n * @private\n * @argument {String} str - Value + unit string\n * @argument {String} measurement - `height` or `width`\n * @argument {Object} popperOffsets\n * @argument {Object} referenceOffsets\n * @returns {Number|String}\n * Value in pixels, or original string if no values were extracted\n */\nfunction toValue(str, measurement, popperOffsets, referenceOffsets) {\n // separate value from unit\n var split = str.match(/((?:\\-|\\+)?\\d*\\.?\\d*)(.*)/);\n var value = +split[1];\n var unit = split[2];\n\n // If it's not a number it's an operator, I guess\n if (!value) {\n return str;\n }\n\n if (unit.indexOf('%') === 0) {\n var element = void 0;\n switch (unit) {\n case '%p':\n element = popperOffsets;\n break;\n case '%':\n case '%r':\n default:\n element = referenceOffsets;\n }\n\n var rect = getClientRect(element);\n return rect[measurement] / 100 * value;\n } else if (unit === 'vh' || unit === 'vw') {\n // if is a vh or vw, we calculate the size based on the viewport\n var size = void 0;\n if (unit === 'vh') {\n size = Math.max(document.documentElement.clientHeight, window.innerHeight || 0);\n } else {\n size = Math.max(document.documentElement.clientWidth, window.innerWidth || 0);\n }\n return size / 100 * value;\n } else {\n // if is an explicit pixel unit, we get rid of the unit and keep the value\n // if is an implicit unit, it's px, and we return just the value\n return value;\n }\n}\n\n/**\n * Parse an `offset` string to extrapolate `x` and `y` numeric offsets.\n * @function\n * @memberof {modifiers~offset}\n * @private\n * @argument {String} offset\n * @argument {Object} popperOffsets\n * @argument {Object} referenceOffsets\n * @argument {String} basePlacement\n * @returns {Array} a two cells array with x and y offsets in numbers\n */\nfunction parseOffset(offset, popperOffsets, referenceOffsets, basePlacement) {\n var offsets = [0, 0];\n\n // Use height if placement is left or right and index is 0 otherwise use width\n // in this way the first offset will use an axis and the second one\n // will use the other one\n var useHeight = ['right', 'left'].indexOf(basePlacement) !== -1;\n\n // Split the offset string to obtain a list of values and operands\n // The regex addresses values with the plus or minus sign in front (+10, -20, etc)\n var fragments = offset.split(/(\\+|\\-)/).map(function (frag) {\n return frag.trim();\n });\n\n // Detect if the offset string contains a pair of values or a single one\n // they could be separated by comma or space\n var divider = fragments.indexOf(find(fragments, function (frag) {\n return frag.search(/,|\\s/) !== -1;\n }));\n\n if (fragments[divider] && fragments[divider].indexOf(',') === -1) {\n console.warn('Offsets separated by white space(s) are deprecated, use a comma (,) instead.');\n }\n\n // If divider is found, we divide the list of values and operands to divide\n // them by ofset X and Y.\n var splitRegex = /\\s*,\\s*|\\s+/;\n var ops = divider !== -1 ? [fragments.slice(0, divider).concat([fragments[divider].split(splitRegex)[0]]), [fragments[divider].split(splitRegex)[1]].concat(fragments.slice(divider + 1))] : [fragments];\n\n // Convert the values with units to absolute pixels to allow our computations\n ops = ops.map(function (op, index) {\n // Most of the units rely on the orientation of the popper\n var measurement = (index === 1 ? !useHeight : useHeight) ? 'height' : 'width';\n var mergeWithPrevious = false;\n return op\n // This aggregates any `+` or `-` sign that aren't considered operators\n // e.g.: 10 + +5 => [10, +, +5]\n .reduce(function (a, b) {\n if (a[a.length - 1] === '' && ['+', '-'].indexOf(b) !== -1) {\n a[a.length - 1] = b;\n mergeWithPrevious = true;\n return a;\n } else if (mergeWithPrevious) {\n a[a.length - 1] += b;\n mergeWithPrevious = false;\n return a;\n } else {\n return a.concat(b);\n }\n }, [])\n // Here we convert the string values into number values (in px)\n .map(function (str) {\n return toValue(str, measurement, popperOffsets, referenceOffsets);\n });\n });\n\n // Loop trough the offsets arrays and execute the operations\n ops.forEach(function (op, index) {\n op.forEach(function (frag, index2) {\n if (isNumeric(frag)) {\n offsets[index] += frag * (op[index2 - 1] === '-' ? -1 : 1);\n }\n });\n });\n return offsets;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @argument {Number|String} options.offset=0\n * The offset value as described in the modifier description\n * @returns {Object} The data object, properly modified\n */\nfunction offset(data, _ref) {\n var offset = _ref.offset;\n var placement = data.placement,\n _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n\n var basePlacement = placement.split('-')[0];\n\n var offsets = void 0;\n if (isNumeric(+offset)) {\n offsets = [+offset, 0];\n } else {\n offsets = parseOffset(offset, popper, reference, basePlacement);\n }\n\n if (basePlacement === 'left') {\n popper.top += offsets[0];\n popper.left -= offsets[1];\n } else if (basePlacement === 'right') {\n popper.top += offsets[0];\n popper.left += offsets[1];\n } else if (basePlacement === 'top') {\n popper.left += offsets[0];\n popper.top -= offsets[1];\n } else if (basePlacement === 'bottom') {\n popper.left += offsets[0];\n popper.top += offsets[1];\n }\n\n data.popper = popper;\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction preventOverflow(data, options) {\n var boundariesElement = options.boundariesElement || getOffsetParent(data.instance.popper);\n\n // If offsetParent is the reference element, we really want to\n // go one step up and use the next offsetParent as reference to\n // avoid to make this modifier completely useless and look like broken\n if (data.instance.reference === boundariesElement) {\n boundariesElement = getOffsetParent(boundariesElement);\n }\n\n var boundaries = getBoundaries(data.instance.popper, data.instance.reference, options.padding, boundariesElement);\n options.boundaries = boundaries;\n\n var order = options.priority;\n var popper = data.offsets.popper;\n\n var check = {\n primary: function primary(placement) {\n var value = popper[placement];\n if (popper[placement] < boundaries[placement] && !options.escapeWithReference) {\n value = Math.max(popper[placement], boundaries[placement]);\n }\n return defineProperty({}, placement, value);\n },\n secondary: function secondary(placement) {\n var mainSide = placement === 'right' ? 'left' : 'top';\n var value = popper[mainSide];\n if (popper[placement] > boundaries[placement] && !options.escapeWithReference) {\n value = Math.min(popper[mainSide], boundaries[placement] - (placement === 'right' ? popper.width : popper.height));\n }\n return defineProperty({}, mainSide, value);\n }\n };\n\n order.forEach(function (placement) {\n var side = ['left', 'top'].indexOf(placement) !== -1 ? 'primary' : 'secondary';\n popper = _extends({}, popper, check[side](placement));\n });\n\n data.offsets.popper = popper;\n\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction shift(data) {\n var placement = data.placement;\n var basePlacement = placement.split('-')[0];\n var shiftvariation = placement.split('-')[1];\n\n // if shift shiftvariation is specified, run the modifier\n if (shiftvariation) {\n var _data$offsets = data.offsets,\n reference = _data$offsets.reference,\n popper = _data$offsets.popper;\n\n var isVertical = ['bottom', 'top'].indexOf(basePlacement) !== -1;\n var side = isVertical ? 'left' : 'top';\n var measurement = isVertical ? 'width' : 'height';\n\n var shiftOffsets = {\n start: defineProperty({}, side, reference[side]),\n end: defineProperty({}, side, reference[side] + reference[measurement] - popper[measurement])\n };\n\n data.offsets.popper = _extends({}, popper, shiftOffsets[shiftvariation]);\n }\n\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction hide(data) {\n if (!isModifierRequired(data.instance.modifiers, 'hide', 'preventOverflow')) {\n return data;\n }\n\n var refRect = data.offsets.reference;\n var bound = find(data.instance.modifiers, function (modifier) {\n return modifier.name === 'preventOverflow';\n }).boundaries;\n\n if (refRect.bottom < bound.top || refRect.left > bound.right || refRect.top > bound.bottom || refRect.right < bound.left) {\n // Avoid unnecessary DOM access if visibility hasn't changed\n if (data.hide === true) {\n return data;\n }\n\n data.hide = true;\n data.attributes['x-out-of-boundaries'] = '';\n } else {\n // Avoid unnecessary DOM access if visibility hasn't changed\n if (data.hide === false) {\n return data;\n }\n\n data.hide = false;\n data.attributes['x-out-of-boundaries'] = false;\n }\n\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction inner(data) {\n var placement = data.placement;\n var basePlacement = placement.split('-')[0];\n var _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n\n var isHoriz = ['left', 'right'].indexOf(basePlacement) !== -1;\n\n var subtractLength = ['top', 'left'].indexOf(basePlacement) === -1;\n\n popper[isHoriz ? 'left' : 'top'] = reference[basePlacement] - (subtractLength ? popper[isHoriz ? 'width' : 'height'] : 0);\n\n data.placement = getOppositePlacement(placement);\n data.offsets.popper = getClientRect(popper);\n\n return data;\n}\n\n/**\n * Modifier function, each modifier can have a function of this type assigned\n * to its `fn` property.<br />\n * These functions will be called on each update, this means that you must\n * make sure they are performant enough to avoid performance bottlenecks.\n *\n * @function ModifierFn\n * @argument {dataObject} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {dataObject} The data object, properly modified\n */\n\n/**\n * Modifiers are plugins used to alter the behavior of your poppers.<br />\n * Popper.js uses a set of 9 modifiers to provide all the basic functionalities\n * needed by the library.\n *\n * Usually you don't want to override the `order`, `fn` and `onLoad` props.\n * All the other properties are configurations that could be tweaked.\n * @namespace modifiers\n */\nvar modifiers = {\n /**\n * Modifier used to shift the popper on the start or end of its reference\n * element.<br />\n * It will read the variation of the `placement` property.<br />\n * It can be one either `-end` or `-start`.\n * @memberof modifiers\n * @inner\n */\n shift: {\n /** @prop {number} order=100 - Index used to define the order of execution */\n order: 100,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: shift\n },\n\n /**\n * The `offset` modifier can shift your popper on both its axis.\n *\n * It accepts the following units:\n * - `px` or unitless, interpreted as pixels\n * - `%` or `%r`, percentage relative to the length of the reference element\n * - `%p`, percentage relative to the length of the popper element\n * - `vw`, CSS viewport width unit\n * - `vh`, CSS viewport height unit\n *\n * For length is intended the main axis relative to the placement of the popper.<br />\n * This means that if the placement is `top` or `bottom`, the length will be the\n * `width`. In case of `left` or `right`, it will be the height.\n *\n * You can provide a single value (as `Number` or `String`), or a pair of values\n * as `String` divided by a comma or one (or more) white spaces.<br />\n * The latter is a deprecated method because it leads to confusion and will be\n * removed in v2.<br />\n * Additionally, it accepts additions and subtractions between different units.\n * Note that multiplications and divisions aren't supported.\n *\n * Valid examples are:\n * ```\n * 10\n * '10%'\n * '10, 10'\n * '10%, 10'\n * '10 + 10%'\n * '10 - 5vh + 3%'\n * '-10px + 5vh, 5px - 6%'\n * ```\n * > **NB**: If you desire to apply offsets to your poppers in a way that may make them overlap\n * > with their reference element, unfortunately, you will have to disable the `flip` modifier.\n * > More on this [reading this issue](https://github.com/FezVrasta/popper.js/issues/373)\n *\n * @memberof modifiers\n * @inner\n */\n offset: {\n /** @prop {number} order=200 - Index used to define the order of execution */\n order: 200,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: offset,\n /** @prop {Number|String} offset=0\n * The offset value as described in the modifier description\n */\n offset: 0\n },\n\n /**\n * Modifier used to prevent the popper from being positioned outside the boundary.\n *\n * An scenario exists where the reference itself is not within the boundaries.<br />\n * We can say it has \"escaped the boundaries\" — or just \"escaped\".<br />\n * In this case we need to decide whether the popper should either:\n *\n * - detach from the reference and remain \"trapped\" in the boundaries, or\n * - if it should ignore the boundary and \"escape with its reference\"\n *\n * When `escapeWithReference` is set to`true` and reference is completely\n * outside its boundaries, the popper will overflow (or completely leave)\n * the boundaries in order to remain attached to the edge of the reference.\n *\n * @memberof modifiers\n * @inner\n */\n preventOverflow: {\n /** @prop {number} order=300 - Index used to define the order of execution */\n order: 300,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: preventOverflow,\n /**\n * @prop {Array} [priority=['left','right','top','bottom']]\n * Popper will try to prevent overflow following these priorities by default,\n * then, it could overflow on the left and on top of the `boundariesElement`\n */\n priority: ['left', 'right', 'top', 'bottom'],\n /**\n * @prop {number} padding=5\n * Amount of pixel used to define a minimum distance between the boundaries\n * and the popper this makes sure the popper has always a little padding\n * between the edges of its container\n */\n padding: 5,\n /**\n * @prop {String|HTMLElement} boundariesElement='scrollParent'\n * Boundaries used by the modifier, can be `scrollParent`, `window`,\n * `viewport` or any DOM element.\n */\n boundariesElement: 'scrollParent'\n },\n\n /**\n * Modifier used to make sure the reference and its popper stay near eachothers\n * without leaving any gap between the two. Expecially useful when the arrow is\n * enabled and you want to assure it to point to its reference element.\n * It cares only about the first axis, you can still have poppers with margin\n * between the popper and its reference element.\n * @memberof modifiers\n * @inner\n */\n keepTogether: {\n /** @prop {number} order=400 - Index used to define the order of execution */\n order: 400,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: keepTogether\n },\n\n /**\n * This modifier is used to move the `arrowElement` of the popper to make\n * sure it is positioned between the reference element and its popper element.\n * It will read the outer size of the `arrowElement` node to detect how many\n * pixels of conjuction are needed.\n *\n * It has no effect if no `arrowElement` is provided.\n * @memberof modifiers\n * @inner\n */\n arrow: {\n /** @prop {number} order=500 - Index used to define the order of execution */\n order: 500,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: arrow,\n /** @prop {String|HTMLElement} element='[x-arrow]' - Selector or node used as arrow */\n element: '[x-arrow]'\n },\n\n /**\n * Modifier used to flip the popper's placement when it starts to overlap its\n * reference element.\n *\n * Requires the `preventOverflow` modifier before it in order to work.\n *\n * **NOTE:** this modifier will interrupt the current update cycle and will\n * restart it if it detects the need to flip the placement.\n * @memberof modifiers\n * @inner\n */\n flip: {\n /** @prop {number} order=600 - Index used to define the order of execution */\n order: 600,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: flip,\n /**\n * @prop {String|Array} behavior='flip'\n * The behavior used to change the popper's placement. It can be one of\n * `flip`, `clockwise`, `counterclockwise` or an array with a list of valid\n * placements (with optional variations).\n */\n behavior: 'flip',\n /**\n * @prop {number} padding=5\n * The popper will flip if it hits the edges of the `boundariesElement`\n */\n padding: 5,\n /**\n * @prop {String|HTMLElement} boundariesElement='viewport'\n * The element which will define the boundaries of the popper position,\n * the popper will never be placed outside of the defined boundaries\n * (except if keepTogether is enabled)\n */\n boundariesElement: 'viewport'\n },\n\n /**\n * Modifier used to make the popper flow toward the inner of the reference element.\n * By default, when this modifier is disabled, the popper will be placed outside\n * the reference element.\n * @memberof modifiers\n * @inner\n */\n inner: {\n /** @prop {number} order=700 - Index used to define the order of execution */\n order: 700,\n /** @prop {Boolean} enabled=false - Whether the modifier is enabled or not */\n enabled: false,\n /** @prop {ModifierFn} */\n fn: inner\n },\n\n /**\n * Modifier used to hide the popper when its reference element is outside of the\n * popper boundaries. It will set a `x-out-of-boundaries` attribute which can\n * be used to hide with a CSS selector the popper when its reference is\n * out of boundaries.\n *\n * Requires the `preventOverflow` modifier before it in order to work.\n * @memberof modifiers\n * @inner\n */\n hide: {\n /** @prop {number} order=800 - Index used to define the order of execution */\n order: 800,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: hide\n },\n\n /**\n * Computes the style that will be applied to the popper element to gets\n * properly positioned.\n *\n * Note that this modifier will not touch the DOM, it just prepares the styles\n * so that `applyStyle` modifier can apply it. This separation is useful\n * in case you need to replace `applyStyle` with a custom implementation.\n *\n * This modifier has `850` as `order` value to maintain backward compatibility\n * with previous versions of Popper.js. Expect the modifiers ordering method\n * to change in future major versions of the library.\n *\n * @memberof modifiers\n * @inner\n */\n computeStyle: {\n /** @prop {number} order=850 - Index used to define the order of execution */\n order: 850,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: computeStyle,\n /**\n * @prop {Boolean} gpuAcceleration=true\n * If true, it uses the CSS 3d transformation to position the popper.\n * Otherwise, it will use the `top` and `left` properties.\n */\n gpuAcceleration: true,\n /**\n * @prop {string} [x='bottom']\n * Where to anchor the X axis (`bottom` or `top`). AKA X offset origin.\n * Change this if your popper should grow in a direction different from `bottom`\n */\n x: 'bottom',\n /**\n * @prop {string} [x='left']\n * Where to anchor the Y axis (`left` or `right`). AKA Y offset origin.\n * Change this if your popper should grow in a direction different from `right`\n */\n y: 'right'\n },\n\n /**\n * Applies the computed styles to the popper element.\n *\n * All the DOM manipulations are limited to this modifier. This is useful in case\n * you want to integrate Popper.js inside a framework or view library and you\n * want to delegate all the DOM manipulations to it.\n *\n * Note that if you disable this modifier, you must make sure the popper element\n * has its position set to `absolute` before Popper.js can do its work!\n *\n * Just disable this modifier and define you own to achieve the desired effect.\n *\n * @memberof modifiers\n * @inner\n */\n applyStyle: {\n /** @prop {number} order=900 - Index used to define the order of execution */\n order: 900,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: applyStyle,\n /** @prop {Function} */\n onLoad: applyStyleOnLoad,\n /**\n * @deprecated since version 1.10.0, the property moved to `computeStyle` modifier\n * @prop {Boolean} gpuAcceleration=true\n * If true, it uses the CSS 3d transformation to position the popper.\n * Otherwise, it will use the `top` and `left` properties.\n */\n gpuAcceleration: undefined\n }\n};\n\n/**\n * The `dataObject` is an object containing all the informations used by Popper.js\n * this object get passed to modifiers and to the `onCreate` and `onUpdate` callbacks.\n * @name dataObject\n * @property {Object} data.instance The Popper.js instance\n * @property {String} data.placement Placement applied to popper\n * @property {String} data.originalPlacement Placement originally defined on init\n * @property {Boolean} data.flipped True if popper has been flipped by flip modifier\n * @property {Boolean} data.hide True if the reference element is out of boundaries, useful to know when to hide the popper.\n * @property {HTMLElement} data.arrowElement Node used as arrow by arrow modifier\n * @property {Object} data.styles Any CSS property defined here will be applied to the popper, it expects the JavaScript nomenclature (eg. `marginBottom`)\n * @property {Object} data.arrowStyles Any CSS property defined here will be applied to the popper arrow, it expects the JavaScript nomenclature (eg. `marginBottom`)\n * @property {Object} data.boundaries Offsets of the popper boundaries\n * @property {Object} data.offsets The measurements of popper, reference and arrow elements.\n * @property {Object} data.offsets.popper `top`, `left`, `width`, `height` values\n * @property {Object} data.offsets.reference `top`, `left`, `width`, `height` values\n * @property {Object} data.offsets.arrow] `top` and `left` offsets, only one of them will be different from 0\n */\n\n/**\n * Default options provided to Popper.js constructor.<br />\n * These can be overriden using the `options` argument of Popper.js.<br />\n * To override an option, simply pass as 3rd argument an object with the same\n * structure of this object, example:\n * ```\n * new Popper(ref, pop, {\n * modifiers: {\n * preventOverflow: { enabled: false }\n * }\n * })\n * ```\n * @type {Object}\n * @static\n * @memberof Popper\n */\nvar Defaults = {\n /**\n * Popper's placement\n * @prop {Popper.placements} placement='bottom'\n */\n placement: 'bottom',\n\n /**\n * Whether events (resize, scroll) are initially enabled\n * @prop {Boolean} eventsEnabled=true\n */\n eventsEnabled: true,\n\n /**\n * Set to true if you want to automatically remove the popper when\n * you call the `destroy` method.\n * @prop {Boolean} removeOnDestroy=false\n */\n removeOnDestroy: false,\n\n /**\n * Callback called when the popper is created.<br />\n * By default, is set to no-op.<br />\n * Access Popper.js instance with `data.instance`.\n * @prop {onCreate}\n */\n onCreate: function onCreate() {},\n\n /**\n * Callback called when the popper is updated, this callback is not called\n * on the initialization/creation of the popper, but only on subsequent\n * updates.<br />\n * By default, is set to no-op.<br />\n * Access Popper.js instance with `data.instance`.\n * @prop {onUpdate}\n */\n onUpdate: function onUpdate() {},\n\n /**\n * List of modifiers used to modify the offsets before they are applied to the popper.\n * They provide most of the functionalities of Popper.js\n * @prop {modifiers}\n */\n modifiers: modifiers\n};\n\n/**\n * @callback onCreate\n * @param {dataObject} data\n */\n\n/**\n * @callback onUpdate\n * @param {dataObject} data\n */\n\n// Utils\n// Methods\nvar Popper = function () {\n /**\n * Create a new Popper.js instance\n * @class Popper\n * @param {HTMLElement|referenceObject} reference - The reference element used to position the popper\n * @param {HTMLElement} popper - The HTML element used as popper.\n * @param {Object} options - Your custom options to override the ones defined in [Defaults](#defaults)\n * @return {Object} instance - The generated Popper.js instance\n */\n function Popper(reference, popper) {\n var _this = this;\n\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n classCallCheck(this, Popper);\n\n this.scheduleUpdate = function () {\n return requestAnimationFrame(_this.update);\n };\n\n // make update() debounced, so that it only runs at most once-per-tick\n this.update = debounce(this.update.bind(this));\n\n // with {} we create a new object with the options inside it\n this.options = _extends({}, Popper.Defaults, options);\n\n // init state\n this.state = {\n isDestroyed: false,\n isCreated: false,\n scrollParents: []\n };\n\n // get reference and popper elements (allow jQuery wrappers)\n this.reference = reference && reference.jquery ? reference[0] : reference;\n this.popper = popper && popper.jquery ? popper[0] : popper;\n\n // Deep merge modifiers options\n this.options.modifiers = {};\n Object.keys(_extends({}, Popper.Defaults.modifiers, options.modifiers)).forEach(function (name) {\n _this.options.modifiers[name] = _extends({}, Popper.Defaults.modifiers[name] || {}, options.modifiers ? options.modifiers[name] : {});\n });\n\n // Refactoring modifiers' list (Object => Array)\n this.modifiers = Object.keys(this.options.modifiers).map(function (name) {\n return _extends({\n name: name\n }, _this.options.modifiers[name]);\n })\n // sort the modifiers by order\n .sort(function (a, b) {\n return a.order - b.order;\n });\n\n // modifiers have the ability to execute arbitrary code when Popper.js get inited\n // such code is executed in the same order of its modifier\n // they could add new properties to their options configuration\n // BE AWARE: don't add options to `options.modifiers.name` but to `modifierOptions`!\n this.modifiers.forEach(function (modifierOptions) {\n if (modifierOptions.enabled && isFunction(modifierOptions.onLoad)) {\n modifierOptions.onLoad(_this.reference, _this.popper, _this.options, modifierOptions, _this.state);\n }\n });\n\n // fire the first update to position the popper in the right place\n this.update();\n\n var eventsEnabled = this.options.eventsEnabled;\n if (eventsEnabled) {\n // setup event listeners, they will take care of update the position in specific situations\n this.enableEventListeners();\n }\n\n this.state.eventsEnabled = eventsEnabled;\n }\n\n // We can't use class properties because they don't get listed in the\n // class prototype and break stuff like Sinon stubs\n\n\n createClass(Popper, [{\n key: 'update',\n value: function update$$1() {\n return update.call(this);\n }\n }, {\n key: 'destroy',\n value: function destroy$$1() {\n return destroy.call(this);\n }\n }, {\n key: 'enableEventListeners',\n value: function enableEventListeners$$1() {\n return enableEventListeners.call(this);\n }\n }, {\n key: 'disableEventListeners',\n value: function disableEventListeners$$1() {\n return disableEventListeners.call(this);\n }\n\n /**\n * Schedule an update, it will run on the next UI update available\n * @method scheduleUpdate\n * @memberof Popper\n */\n\n\n /**\n * Collection of utilities useful when writing custom modifiers.\n * Starting from version 1.7, this method is available only if you\n * include `popper-utils.js` before `popper.js`.\n *\n * **DEPRECATION**: This way to access PopperUtils is deprecated\n * and will be removed in v2! Use the PopperUtils module directly instead.\n * Due to the high instability of the methods contained in Utils, we can't\n * guarantee them to follow semver. Use them at your own risk!\n * @static\n * @private\n * @type {Object}\n * @deprecated since version 1.8\n * @member Utils\n * @memberof Popper\n */\n\n }]);\n return Popper;\n}();\n\n/**\n * The `referenceObject` is an object that provides an interface compatible with Popper.js\n * and lets you use it as replacement of a real DOM node.<br />\n * You can use this method to position a popper relatively to a set of coordinates\n * in case you don't have a DOM node to use as reference.\n *\n * ```\n * new Popper(referenceObject, popperNode);\n * ```\n *\n * NB: This feature isn't supported in Internet Explorer 10\n * @name referenceObject\n * @property {Function} data.getBoundingClientRect\n * A function that returns a set of coordinates compatible with the native `getBoundingClientRect` method.\n * @property {number} data.clientWidth\n * An ES6 getter that will return the width of the virtual reference element.\n * @property {number} data.clientHeight\n * An ES6 getter that will return the height of the virtual reference element.\n */\n\n\nPopper.Utils = (typeof window !== 'undefined' ? window : global).PopperUtils;\nPopper.placements = placements;\nPopper.Defaults = Defaults;\n\nexport default Popper;\n//# sourceMappingURL=popper.js.map\n","// The following colors may not be accessible with text color or inverse white on this background color. They do not all pass WCAG AA Color Contrast Ratios.\n// https://webaim.org/resources/contrastchecker/?fcolor=FFFFFF&bcolor=FFC20E\nmodule.exports = {\n\t'global-setup': '#2A739E',\n\t'service-cloud': '#7f2443',\n\t'industry-cloud': '#4c2248',\n\t'sales-cloud': '#00857d',\n\t'commerce-cloud': '#41693d',\n\t'community-cloud': '#ffc20e',\n\t'marketing-cloud': '#ea7600',\n\tquip: '#cf451d',\n};\n","/**\n * lodash (Custom Build) <https://lodash.com/>\n * Build: `lodash modularize exports=\"npm\" -o ./`\n * Copyright jQuery Foundation and other contributors <https://jquery.org/>\n * Released under MIT license <https://lodash.com/license>\n * Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>\n * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n */\n\n/** Used as the `TypeError` message for \"Functions\" methods. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/** `Object#toString` result references. */\nvar funcTag = '[object Function]',\n genTag = '[object GeneratorFunction]';\n\n/**\n * Used to match `RegExp`\n * [syntax characters](http://ecma-international.org/ecma-262/7.0/#sec-patterns).\n */\nvar reRegExpChar = /[\\\\^$.*+?()[\\]{}|]/g;\n\n/** Used to detect host constructors (Safari). */\nvar reIsHostCtor = /^\\[object .+?Constructor\\]$/;\n\n/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\n/**\n * Gets the value at `key` of `object`.\n *\n * @private\n * @param {Object} [object] The object to query.\n * @param {string} key The key of the property to get.\n * @returns {*} Returns the property value.\n */\nfunction getValue(object, key) {\n return object == null ? undefined : object[key];\n}\n\n/**\n * Checks if `value` is a host object in IE < 9.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a host object, else `false`.\n */\nfunction isHostObject(value) {\n // Many host objects are `Object` objects that can coerce to strings\n // despite having improperly defined `toString` methods.\n var result = false;\n if (value != null && typeof value.toString != 'function') {\n try {\n result = !!(value + '');\n } catch (e) {}\n }\n return result;\n}\n\n/** Used for built-in method references. */\nvar arrayProto = Array.prototype,\n funcProto = Function.prototype,\n objectProto = Object.prototype;\n\n/** Used to detect overreaching core-js shims. */\nvar coreJsData = root['__core-js_shared__'];\n\n/** Used to detect methods masquerading as native. */\nvar maskSrcKey = (function() {\n var uid = /[^.]+$/.exec(coreJsData && coreJsData.keys && coreJsData.keys.IE_PROTO || '');\n return uid ? ('Symbol(src)_1.' + uid) : '';\n}());\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objectToString = objectProto.toString;\n\n/** Used to detect if a method is native. */\nvar reIsNative = RegExp('^' +\n funcToString.call(hasOwnProperty).replace(reRegExpChar, '\\\\$&')\n .replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g, '$1.*?') + '$'\n);\n\n/** Built-in value references. */\nvar splice = arrayProto.splice;\n\n/* Built-in method references that are verified to be native. */\nvar Map = getNative(root, 'Map'),\n nativeCreate = getNative(Object, 'create');\n\n/**\n * Creates a hash object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Hash(entries) {\n var index = -1,\n length = entries ? entries.length : 0;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n/**\n * Removes all key-value entries from the hash.\n *\n * @private\n * @name clear\n * @memberOf Hash\n */\nfunction hashClear() {\n this.__data__ = nativeCreate ? nativeCreate(null) : {};\n}\n\n/**\n * Removes `key` and its value from the hash.\n *\n * @private\n * @name delete\n * @memberOf Hash\n * @param {Object} hash The hash to modify.\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction hashDelete(key) {\n return this.has(key) && delete this.__data__[key];\n}\n\n/**\n * Gets the hash value for `key`.\n *\n * @private\n * @name get\n * @memberOf Hash\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction hashGet(key) {\n var data = this.__data__;\n if (nativeCreate) {\n var result = data[key];\n return result === HASH_UNDEFINED ? undefined : result;\n }\n return hasOwnProperty.call(data, key) ? data[key] : undefined;\n}\n\n/**\n * Checks if a hash value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Hash\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction hashHas(key) {\n var data = this.__data__;\n return nativeCreate ? data[key] !== undefined : hasOwnProperty.call(data, key);\n}\n\n/**\n * Sets the hash `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Hash\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the hash instance.\n */\nfunction hashSet(key, value) {\n var data = this.__data__;\n data[key] = (nativeCreate && value === undefined) ? HASH_UNDEFINED : value;\n return this;\n}\n\n// Add methods to `Hash`.\nHash.prototype.clear = hashClear;\nHash.prototype['delete'] = hashDelete;\nHash.prototype.get = hashGet;\nHash.prototype.has = hashHas;\nHash.prototype.set = hashSet;\n\n/**\n * Creates an list cache object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction ListCache(entries) {\n var index = -1,\n length = entries ? entries.length : 0;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n/**\n * Removes all key-value entries from the list cache.\n *\n * @private\n * @name clear\n * @memberOf ListCache\n */\nfunction listCacheClear() {\n this.__data__ = [];\n}\n\n/**\n * Removes `key` and its value from the list cache.\n *\n * @private\n * @name delete\n * @memberOf ListCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction listCacheDelete(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n return false;\n }\n var lastIndex = data.length - 1;\n if (index == lastIndex) {\n data.pop();\n } else {\n splice.call(data, index, 1);\n }\n return true;\n}\n\n/**\n * Gets the list cache value for `key`.\n *\n * @private\n * @name get\n * @memberOf ListCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction listCacheGet(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n return index < 0 ? undefined : data[index][1];\n}\n\n/**\n * Checks if a list cache value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf ListCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction listCacheHas(key) {\n return assocIndexOf(this.__data__, key) > -1;\n}\n\n/**\n * Sets the list cache `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf ListCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the list cache instance.\n */\nfunction listCacheSet(key, value) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n data.push([key, value]);\n } else {\n data[index][1] = value;\n }\n return this;\n}\n\n// Add methods to `ListCache`.\nListCache.prototype.clear = listCacheClear;\nListCache.prototype['delete'] = listCacheDelete;\nListCache.prototype.get = listCacheGet;\nListCache.prototype.has = listCacheHas;\nListCache.prototype.set = listCacheSet;\n\n/**\n * Creates a map cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction MapCache(entries) {\n var index = -1,\n length = entries ? entries.length : 0;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n/**\n * Removes all key-value entries from the map.\n *\n * @private\n * @name clear\n * @memberOf MapCache\n */\nfunction mapCacheClear() {\n this.__data__ = {\n 'hash': new Hash,\n 'map': new (Map || ListCache),\n 'string': new Hash\n };\n}\n\n/**\n * Removes `key` and its value from the map.\n *\n * @private\n * @name delete\n * @memberOf MapCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction mapCacheDelete(key) {\n return getMapData(this, key)['delete'](key);\n}\n\n/**\n * Gets the map value for `key`.\n *\n * @private\n * @name get\n * @memberOf MapCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction mapCacheGet(key) {\n return getMapData(this, key).get(key);\n}\n\n/**\n * Checks if a map value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf MapCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction mapCacheHas(key) {\n return getMapData(this, key).has(key);\n}\n\n/**\n * Sets the map `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf MapCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the map cache instance.\n */\nfunction mapCacheSet(key, value) {\n getMapData(this, key).set(key, value);\n return this;\n}\n\n// Add methods to `MapCache`.\nMapCache.prototype.clear = mapCacheClear;\nMapCache.prototype['delete'] = mapCacheDelete;\nMapCache.prototype.get = mapCacheGet;\nMapCache.prototype.has = mapCacheHas;\nMapCache.prototype.set = mapCacheSet;\n\n/**\n * Gets the index at which the `key` is found in `array` of key-value pairs.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} key The key to search for.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction assocIndexOf(array, key) {\n var length = array.length;\n while (length--) {\n if (eq(array[length][0], key)) {\n return length;\n }\n }\n return -1;\n}\n\n/**\n * The base implementation of `_.isNative` without bad shim checks.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a native function,\n * else `false`.\n */\nfunction baseIsNative(value) {\n if (!isObject(value) || isMasked(value)) {\n return false;\n }\n var pattern = (isFunction(value) || isHostObject(value)) ? reIsNative : reIsHostCtor;\n return pattern.test(toSource(value));\n}\n\n/**\n * Gets the data for `map`.\n *\n * @private\n * @param {Object} map The map to query.\n * @param {string} key The reference key.\n * @returns {*} Returns the map data.\n */\nfunction getMapData(map, key) {\n var data = map.__data__;\n return isKeyable(key)\n ? data[typeof key == 'string' ? 'string' : 'hash']\n : data.map;\n}\n\n/**\n * Gets the native function at `key` of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the method to get.\n * @returns {*} Returns the function if it's native, else `undefined`.\n */\nfunction getNative(object, key) {\n var value = getValue(object, key);\n return baseIsNative(value) ? value : undefined;\n}\n\n/**\n * Checks if `value` is suitable for use as unique object key.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is suitable, else `false`.\n */\nfunction isKeyable(value) {\n var type = typeof value;\n return (type == 'string' || type == 'number' || type == 'symbol' || type == 'boolean')\n ? (value !== '__proto__')\n : (value === null);\n}\n\n/**\n * Checks if `func` has its source masked.\n *\n * @private\n * @param {Function} func The function to check.\n * @returns {boolean} Returns `true` if `func` is masked, else `false`.\n */\nfunction isMasked(func) {\n return !!maskSrcKey && (maskSrcKey in func);\n}\n\n/**\n * Converts `func` to its source code.\n *\n * @private\n * @param {Function} func The function to process.\n * @returns {string} Returns the source code.\n */\nfunction toSource(func) {\n if (func != null) {\n try {\n return funcToString.call(func);\n } catch (e) {}\n try {\n return (func + '');\n } catch (e) {}\n }\n return '';\n}\n\n/**\n * Creates a function that memoizes the result of `func`. If `resolver` is\n * provided, it determines the cache key for storing the result based on the\n * arguments provided to the memoized function. By default, the first argument\n * provided to the memoized function is used as the map cache key. The `func`\n * is invoked with the `this` binding of the memoized function.\n *\n * **Note:** The cache is exposed as the `cache` property on the memoized\n * function. Its creation may be customized by replacing the `_.memoize.Cache`\n * constructor with one whose instances implement the\n * [`Map`](http://ecma-international.org/ecma-262/7.0/#sec-properties-of-the-map-prototype-object)\n * method interface of `delete`, `get`, `has`, and `set`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to have its output memoized.\n * @param {Function} [resolver] The function to resolve the cache key.\n * @returns {Function} Returns the new memoized function.\n * @example\n *\n * var object = { 'a': 1, 'b': 2 };\n * var other = { 'c': 3, 'd': 4 };\n *\n * var values = _.memoize(_.values);\n * values(object);\n * // => [1, 2]\n *\n * values(other);\n * // => [3, 4]\n *\n * object.a = 2;\n * values(object);\n * // => [1, 2]\n *\n * // Modify the result cache.\n * values.cache.set(object, ['a', 'b']);\n * values(object);\n * // => ['a', 'b']\n *\n * // Replace `_.memoize.Cache`.\n * _.memoize.Cache = WeakMap;\n */\nfunction memoize(func, resolver) {\n if (typeof func != 'function' || (resolver && typeof resolver != 'function')) {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n var memoized = function() {\n var args = arguments,\n key = resolver ? resolver.apply(this, args) : args[0],\n cache = memoized.cache;\n\n if (cache.has(key)) {\n return cache.get(key);\n }\n var result = func.apply(this, args);\n memoized.cache = cache.set(key, result);\n return result;\n };\n memoized.cache = new (memoize.Cache || MapCache);\n return memoized;\n}\n\n// Assign cache to `_.memoize`.\nmemoize.Cache = MapCache;\n\n/**\n * Performs a\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * comparison between two values to determine if they are equivalent.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'a': 1 };\n * var other = { 'a': 1 };\n *\n * _.eq(object, object);\n * // => true\n *\n * _.eq(object, other);\n * // => false\n *\n * _.eq('a', 'a');\n * // => true\n *\n * _.eq('a', Object('a'));\n * // => false\n *\n * _.eq(NaN, NaN);\n * // => true\n */\nfunction eq(value, other) {\n return value === other || (value !== value && other !== other);\n}\n\n/**\n * Checks if `value` is classified as a `Function` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a function, else `false`.\n * @example\n *\n * _.isFunction(_);\n * // => true\n *\n * _.isFunction(/abc/);\n * // => false\n */\nfunction isFunction(value) {\n // The use of `Object#toString` avoids issues with the `typeof` operator\n // in Safari 8-9 which returns 'object' for typed array and other constructors.\n var tag = isObject(value) ? objectToString.call(value) : '';\n return tag == funcTag || tag == genTag;\n}\n\n/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n var type = typeof value;\n return !!value && (type == 'object' || type == 'function');\n}\n\nmodule.exports = memoize;\n","module.exports = {\n\t// Disabled state of BRAND_HEADER_CONTRAST_WEAK\n\tbrandHeaderContrastWeakDisabled: 'rgba(166, 166, 166, 0.25)',\n\t// Gray Color 11\n\tcolorGray11: 'rgb(62, 62, 60)',\n\t// Transparent value of BRAND_PRIMARY at 10%\n\tbrandPrimaryTransparent10: 'rgba(21, 137, 238, 0.1)',\n\t// Gray Color 12\n\tcolorGray12: 'rgb(43, 40, 38)',\n\t// These RGBA values need to be updated if BRAND_BACKGROUND_DARK changes, solves webkit bug\n\tbrandBackgroundDarkTransparent: 'rgba(221, 219, 218, 0)',\n\t// Background color a branded app header\n\tbrandHeader: 'rgb(255, 255, 255)',\n\t// Active / Hover state of BRAND_LIGHT\n\tbrandLightActive: 'rgb(227, 229, 237)',\n\t// Variant of BRAND_HEADER_CONTRAST that provides a warm color\n\tbrandHeaderContrastWarm: 'rgb(191, 2, 1)',\n\t// Disabled state of BRAND_HEADER_ICON\n\tbrandHeaderIconDisabled: 'rgba(145, 145, 145, 0.25)',\n\t// Active / Hover state of BRAND_HEADER_CONTRAST\n\tbrandHeaderContrastActive: 'rgb(80, 80, 80)',\n\t// Primary page background color\n\tbrandBackgroundPrimary: 'rgb(250, 250, 249)',\n\t// Primary brand color\n\tbrandPrimary: 'rgb(21, 137, 238)',\n\t// Active / Hover state of BRAND_HEADER_CONTRAST_WEAK\n\tbrandHeaderContrastWeakActive: 'rgb(129, 129, 129)',\n\t// Active / Hover state of BRAND_CONTRAST\n\tbrandContrastActive: 'rgb(13, 14, 18)',\n\t// Variant of BRAND_HEADER_CONTRAST that provides a cool color\n\tbrandHeaderContrastCool: 'rgb(0, 85, 131)',\n\t// Variant of BRAND_HEADER that is accessible with BRAND_HEADER\n\tbrandHeaderContrastInverse: 'rgb(255, 255, 255)',\n\t// Dark variant of BRAND that is accessible with light colors\n\tbrandDark: 'rgb(24, 35, 55)',\n\t// Dark variant of BRAND that is accessible with white\n\tbrandAccessible: 'rgb(0, 112, 210)',\n\t// Dark variant of BRAND_BACKGROUND_PRIMARY, used within gradient of background color\n\tbrandBackgroundDark: 'rgb(232, 232, 232)',\n\t// Active / Hover state of BRAND_TEXT_LINK\n\tbrandTextLinkActive: 'rgb(0, 95, 178)',\n\t// Gray Color 1\n\tcolorGray1: 'rgb(255, 255, 255)',\n\t// Gray Color 2\n\tcolorGray2: 'rgb(250, 250, 249)',\n\t// Active / Hover state of BRAND_HEADER_ICON\n\tbrandHeaderIconActive: 'rgb(129, 129, 129)',\n\t// Gray Color 3\n\tcolorGray3: 'rgb(243, 242, 242)',\n\t// Icons of BRAND_HEADER that is accessible with BRAND_HEADER\n\tbrandHeaderIcon: 'rgb(145, 145, 145)',\n\t// Disabled state of BRAND_A11Y\n\tbrandDisabled: 'rgb(201, 199, 197)',\n\t// Primary text link brand color\n\tbrandTextLink: 'rgb(0, 109, 204)',\n\t// Gray Color 4\n\tcolorGray4: 'rgb(236, 235, 234)',\n\t// Gray Color 5\n\tcolorGray5: 'rgb(221, 219, 218)',\n\t// Gray Color 6\n\tcolorGray6: 'rgb(201, 199, 197)',\n\t// Active / Hover state of BRAND_A11Y\n\tbrandAccessibleActive: 'rgb(0, 95, 178)',\n\t// Gray Color 7\n\tcolorGray7: 'rgb(176, 173, 171)',\n\t// Active / Hover state of BRAND_DARK\n\tbrandDarkActive: 'rgb(37, 48, 69)',\n\t// Gray Color 8\n\tcolorGray8: 'rgb(150, 148, 146)',\n\t// Active / Hover state of BRAND_HEADER_CONTRAST\n\tbrandHeaderContrastInverseActive: 'rgb(238, 238, 238)',\n\t// Active / Hover state of BRAND_HEADER_CONTRAST_COOL\n\tbrandHeaderContrastCoolActive: 'rgb(0, 85, 131)',\n\t// Gray Color 9\n\tcolorGray9: 'rgb(112, 110, 107)',\n\t// Variant of BRAND that is accessible with BRAND\n\tbrandContrast: 'rgb(26, 27, 30)',\n\t// Weak contrast ratio, useful for iconography\n\tbrandHeaderContrastWeak: 'rgb(145, 145, 145)',\n\t// Active / Hover state of BRAND_PRIMARY\n\tbrandPrimaryActive: 'rgb(0, 122, 221)',\n\t// These RGBA values need to be updated if BRAND_BACKGROUND_PRIMARY changes, solves webkit bug\n\tbrandBackgroundPrimaryTransparent: 'rgba(250, 250, 249, 0)',\n\t// Variant of BRAND_HEADER that is accessible with BRAND_HEADER\n\tbrandHeaderContrast: 'rgb(94, 94, 94)',\n\t// Transparent value of BRAND_PRIMARY\n\tbrandPrimaryTransparent: 'rgba(21, 137, 238, 0.1)',\n\t// Active / Hover state of BRAND_HEADER_CONTRAST_WARM\n\tbrandHeaderContrastWarmActive: 'rgb(172, 0, 0)',\n\t// Transparent value of BRAND_PRIMARY at 40%\n\tbrandPrimaryTransparent40: 'rgba(21, 137, 238, 0.4)',\n\t// Light variant of BRAND that is accessible with dark colors\n\tbrandLight: 'rgb(244, 246, 254)',\n\t// Gray Color 10\n\tcolorGray10: 'rgb(81, 79, 77)',\n};\n","\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nvar __rest = (this && this.__rest) || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n t[p[i]] = s[p[i]];\n }\n return t;\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar React = __importStar(require(\"react\"));\nvar fast_deep_equal_1 = __importDefault(require(\"fast-deep-equal\"));\nvar PropTypes = __importStar(require(\"prop-types\"));\nfunction normalizeHtml(str) {\n return str && str.replace(/ |\\u202F|\\u00A0/g, ' ');\n}\nfunction replaceCaret(el) {\n // Place the caret at the end of the element\n var target = document.createTextNode('');\n el.appendChild(target);\n // do not move caret if element was not focused\n var isTargetFocused = document.activeElement === el;\n if (target !== null && target.nodeValue !== null && isTargetFocused) {\n var sel = window.getSelection();\n if (sel !== null) {\n var range = document.createRange();\n range.setStart(target, target.nodeValue.length);\n range.collapse(true);\n sel.removeAllRanges();\n sel.addRange(range);\n }\n if (el instanceof HTMLElement)\n el.focus();\n }\n}\n/**\n * A simple component for an html element with editable contents.\n */\nvar ContentEditable = /** @class */ (function (_super) {\n __extends(ContentEditable, _super);\n function ContentEditable() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.lastHtml = _this.props.html;\n _this.el = typeof _this.props.innerRef === 'function' ? { current: null } : React.createRef();\n _this.getEl = function () { return (_this.props.innerRef && typeof _this.props.innerRef !== 'function' ? _this.props.innerRef : _this.el).current; };\n _this.emitChange = function (originalEvt) {\n var el = _this.getEl();\n if (!el)\n return;\n var html = el.innerHTML;\n if (_this.props.onChange && html !== _this.lastHtml) {\n // Clone event with Object.assign to avoid\n // \"Cannot assign to read only property 'target' of object\"\n var evt = Object.assign({}, originalEvt, {\n target: {\n value: html\n }\n });\n _this.props.onChange(evt);\n }\n _this.lastHtml = html;\n };\n return _this;\n }\n ContentEditable.prototype.render = function () {\n var _this = this;\n var _a = this.props, tagName = _a.tagName, html = _a.html, innerRef = _a.innerRef, props = __rest(_a, [\"tagName\", \"html\", \"innerRef\"]);\n return React.createElement(tagName || 'div', __assign(__assign({}, props), { ref: typeof innerRef === 'function' ? function (current) {\n innerRef(current);\n _this.el.current = current;\n } : innerRef || this.el, onInput: this.emitChange, onBlur: this.props.onBlur || this.emitChange, onKeyUp: this.props.onKeyUp || this.emitChange, onKeyDown: this.props.onKeyDown || this.emitChange, contentEditable: !this.props.disabled, dangerouslySetInnerHTML: { __html: html } }), this.props.children);\n };\n ContentEditable.prototype.shouldComponentUpdate = function (nextProps) {\n var props = this.props;\n var el = this.getEl();\n // We need not rerender if the change of props simply reflects the user's edits.\n // Rerendering in this case would make the cursor/caret jump\n // Rerender if there is no element yet... (somehow?)\n if (!el)\n return true;\n // ...or if html really changed... (programmatically, not by user edit)\n if (normalizeHtml(nextProps.html) !== normalizeHtml(el.innerHTML)) {\n return true;\n }\n // Handle additional properties\n return props.disabled !== nextProps.disabled ||\n props.tagName !== nextProps.tagName ||\n props.className !== nextProps.className ||\n props.innerRef !== nextProps.innerRef ||\n !fast_deep_equal_1.default(props.style, nextProps.style);\n };\n ContentEditable.prototype.componentDidUpdate = function () {\n var el = this.getEl();\n if (!el)\n return;\n // Perhaps React (whose VDOM gets outdated because we often prevent\n // rerendering) did not update the DOM. So we update it manually now.\n if (this.props.html !== el.innerHTML) {\n el.innerHTML = this.props.html;\n }\n this.lastHtml = this.props.html;\n replaceCaret(el);\n };\n ContentEditable.propTypes = {\n html: PropTypes.string.isRequired,\n onChange: PropTypes.func,\n disabled: PropTypes.bool,\n tagName: PropTypes.string,\n className: PropTypes.string,\n style: PropTypes.object,\n innerRef: PropTypes.oneOfType([\n PropTypes.object,\n PropTypes.func,\n ])\n };\n return ContentEditable;\n}(React.Component));\nexports.default = ContentEditable;\n","/**\n * lodash (Custom Build) <https://lodash.com/>\n * Build: `lodash modularize exports=\"npm\" -o ./`\n * Copyright jQuery Foundation and other contributors <https://jquery.org/>\n * Released under MIT license <https://lodash.com/license>\n * Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>\n * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n */\n\n/** `Object#toString` result references. */\nvar dateTag = '[object Date]';\n\n/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\n/** Detect free variable `exports`. */\nvar freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;\n\n/** Detect free variable `module`. */\nvar freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;\n\n/** Detect the popular CommonJS extension `module.exports`. */\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n\n/** Detect free variable `process` from Node.js. */\nvar freeProcess = moduleExports && freeGlobal.process;\n\n/** Used to access faster Node.js helpers. */\nvar nodeUtil = (function() {\n try {\n return freeProcess && freeProcess.binding('util');\n } catch (e) {}\n}());\n\n/* Node.js helper references. */\nvar nodeIsDate = nodeUtil && nodeUtil.isDate;\n\n/**\n * The base implementation of `_.unary` without support for storing metadata.\n *\n * @private\n * @param {Function} func The function to cap arguments for.\n * @returns {Function} Returns the new capped function.\n */\nfunction baseUnary(func) {\n return function(value) {\n return func(value);\n };\n}\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objectToString = objectProto.toString;\n\n/**\n * The base implementation of `_.isDate` without Node.js optimizations.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a date object, else `false`.\n */\nfunction baseIsDate(value) {\n return isObjectLike(value) && objectToString.call(value) == dateTag;\n}\n\n/**\n * Checks if `value` is classified as a `Date` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a date object, else `false`.\n * @example\n *\n * _.isDate(new Date);\n * // => true\n *\n * _.isDate('Mon April 23 2012');\n * // => false\n */\nvar isDate = nodeIsDate ? baseUnary(nodeIsDate) : baseIsDate;\n\n/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return !!value && typeof value == 'object';\n}\n\nmodule.exports = isDate;\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactPropTypesSecret = require('./lib/ReactPropTypesSecret');\n\nfunction emptyFunction() {}\nfunction emptyFunctionWithReset() {}\nemptyFunctionWithReset.resetWarningCache = emptyFunction;\n\nmodule.exports = function() {\n function shim(props, propName, componentName, location, propFullName, secret) {\n if (secret === ReactPropTypesSecret) {\n // It is still safe when called from React.\n return;\n }\n var err = new Error(\n 'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +\n 'Use PropTypes.checkPropTypes() to call them. ' +\n 'Read more at http://fb.me/use-check-prop-types'\n );\n err.name = 'Invariant Violation';\n throw err;\n };\n shim.isRequired = shim;\n function getShim() {\n return shim;\n };\n // Important!\n // Keep this list in sync with production version in `./factoryWithTypeCheckers.js`.\n var ReactPropTypes = {\n array: shim,\n bool: shim,\n func: shim,\n number: shim,\n object: shim,\n string: shim,\n symbol: shim,\n\n any: shim,\n arrayOf: getShim,\n element: shim,\n elementType: shim,\n instanceOf: getShim,\n node: shim,\n objectOf: getShim,\n oneOf: getShim,\n oneOfType: getShim,\n shape: getShim,\n exact: getShim,\n\n checkPropTypes: emptyFunctionWithReset,\n resetWarningCache: emptyFunction\n };\n\n ReactPropTypes.PropTypes = ReactPropTypes;\n\n return ReactPropTypes;\n};\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED';\n\nmodule.exports = ReactPropTypesSecret;\n","'use strict';\n\nvar alphabet = require('./alphabet');\nvar build = require('./build');\nvar isValid = require('./is-valid');\n\n// if you are using cluster or multiple servers use this to make each instance\n// has a unique value for worker\n// Note: I don't know if this is automatically set when using third\n// party cluster solutions such as pm2.\nvar clusterWorkerId = require('./util/cluster-worker-id') || 0;\n\n/**\n * Set the seed.\n * Highly recommended if you don't want people to try to figure out your id schema.\n * exposed as shortid.seed(int)\n * @param seed Integer value to seed the random alphabet. ALWAYS USE THE SAME SEED or you might get overlaps.\n */\nfunction seed(seedValue) {\n alphabet.seed(seedValue);\n return module.exports;\n}\n\n/**\n * Set the cluster worker or machine id\n * exposed as shortid.worker(int)\n * @param workerId worker must be positive integer. Number less than 16 is recommended.\n * returns shortid module so it can be chained.\n */\nfunction worker(workerId) {\n clusterWorkerId = workerId;\n return module.exports;\n}\n\n/**\n *\n * sets new characters to use in the alphabet\n * returns the shuffled alphabet\n */\nfunction characters(newCharacters) {\n if (newCharacters !== undefined) {\n alphabet.characters(newCharacters);\n }\n\n return alphabet.shuffled();\n}\n\n/**\n * Generate unique id\n * Returns string id\n */\nfunction generate() {\n return build(clusterWorkerId);\n}\n\n// Export all other functions as properties of the generate function\nmodule.exports = generate;\nmodule.exports.generate = generate;\nmodule.exports.seed = seed;\nmodule.exports.worker = worker;\nmodule.exports.characters = characters;\nmodule.exports.isValid = isValid;\n","'use strict';\n\n// Found this seed-based random generator somewhere\n// Based on The Central Randomizer 1.3 (C) 1997 by Paul Houle (houle@msc.cornell.edu)\n\nvar seed = 1;\n\n/**\n * return a random number based on a seed\n * @param seed\n * @returns {number}\n */\nfunction getNextValue() {\n seed = (seed * 9301 + 49297) % 233280;\n return seed/(233280.0);\n}\n\nfunction setSeed(_seed_) {\n seed = _seed_;\n}\n\nmodule.exports = {\n nextValue: getNextValue,\n seed: setSeed\n};\n","'use strict';\n\nvar generate = require('./generate');\nvar alphabet = require('./alphabet');\n\n// Ignore all milliseconds before a certain time to reduce the size of the date entropy without sacrificing uniqueness.\n// This number should be updated every year or so to keep the generated id short.\n// To regenerate `new Date() - 0` and bump the version. Always bump the version!\nvar REDUCE_TIME = 1567752802062;\n\n// don't change unless we change the algos or REDUCE_TIME\n// must be an integer and less than 16\nvar version = 7;\n\n// Counter is used when shortid is called multiple times in one second.\nvar counter;\n\n// Remember the last time shortid was called in case counter is needed.\nvar previousSeconds;\n\n/**\n * Generate unique id\n * Returns string id\n */\nfunction build(clusterWorkerId) {\n var str = '';\n\n var seconds = Math.floor((Date.now() - REDUCE_TIME) * 0.001);\n\n if (seconds === previousSeconds) {\n counter++;\n } else {\n counter = 0;\n previousSeconds = seconds;\n }\n\n str = str + generate(version);\n str = str + generate(clusterWorkerId);\n if (counter > 0) {\n str = str + generate(counter);\n }\n str = str + generate(seconds);\n return str;\n}\n\nmodule.exports = build;\n","'use strict';\n\nvar alphabet = require('./alphabet');\nvar random = require('./random/random-byte');\nvar format = require('nanoid/format');\n\nfunction generate(number) {\n var loopCounter = 0;\n var done;\n\n var str = '';\n\n while (!done) {\n str = str + format(random, alphabet.get(), 1);\n done = number < (Math.pow(16, loopCounter + 1 ) );\n loopCounter++;\n }\n return str;\n}\n\nmodule.exports = generate;\n","'use strict';\n\nvar crypto = typeof window === 'object' && (window.crypto || window.msCrypto); // IE 11 uses window.msCrypto\n\nvar randomByte;\n\nif (!crypto || !crypto.getRandomValues) {\n randomByte = function(size) {\n var bytes = [];\n for (var i = 0; i < size; i++) {\n bytes.push(Math.floor(Math.random() * 256));\n }\n return bytes;\n };\n} else {\n randomByte = function(size) {\n return crypto.getRandomValues(new Uint8Array(size));\n };\n}\n\nmodule.exports = randomByte;\n","// This file replaces `format.js` in bundlers like webpack or Rollup,\n// according to `browser` config in `package.json`.\n\nmodule.exports = function (random, alphabet, size) {\n // We can’t use bytes bigger than the alphabet. To make bytes values closer\n // to the alphabet, we apply bitmask on them. We look for the closest\n // `2 ** x - 1` number, which will be bigger than alphabet size. If we have\n // 30 symbols in the alphabet, we will take 31 (00011111).\n // We do not use faster Math.clz32, because it is not available in browsers.\n var mask = (2 << Math.log(alphabet.length - 1) / Math.LN2) - 1\n // Bitmask is not a perfect solution (in our example it will pass 31 bytes,\n // which is bigger than the alphabet). As a result, we will need more bytes,\n // than ID size, because we will refuse bytes bigger than the alphabet.\n\n // Every hardware random generator call is costly,\n // because we need to wait for entropy collection. This is why often it will\n // be faster to ask for few extra bytes in advance, to avoid additional calls.\n\n // Here we calculate how many random bytes should we call in advance.\n // It depends on ID length, mask / alphabet size and magic number 1.6\n // (which was selected according benchmarks).\n\n // -~f => Math.ceil(f) if n is float number\n // -~i => i + 1 if n is integer number\n var step = -~(1.6 * mask * size / alphabet.length)\n var id = ''\n\n while (true) {\n var bytes = random(step)\n // Compact alternative for `for (var i = 0; i < step; i++)`\n var i = step\n while (i--) {\n // If random byte is bigger than alphabet even after bitmask,\n // we refuse it by `|| ''`.\n id += alphabet[bytes[i] & mask] || ''\n // More compact than `id.length + 1 === size`\n if (id.length === +size) return id\n }\n }\n}\n","'use strict';\nvar alphabet = require('./alphabet');\n\nfunction isShortId(id) {\n if (!id || typeof id !== 'string' || id.length < 6 ) {\n return false;\n }\n\n var nonAlphabetic = new RegExp('[^' +\n alphabet.get().replace(/[|\\\\{}()[\\]^$+*?.-]/g, '\\\\$&') +\n ']');\n return !nonAlphabetic.test(id);\n}\n\nmodule.exports = isShortId;\n","'use strict';\n\nmodule.exports = 0;\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.bodyOpenClassName = exports.portalClassName = undefined;\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _react = require(\"react\");\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _reactDom = require(\"react-dom\");\n\nvar _reactDom2 = _interopRequireDefault(_reactDom);\n\nvar _propTypes = require(\"prop-types\");\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar _ModalPortal = require(\"./ModalPortal\");\n\nvar _ModalPortal2 = _interopRequireDefault(_ModalPortal);\n\nvar _ariaAppHider = require(\"../helpers/ariaAppHider\");\n\nvar ariaAppHider = _interopRequireWildcard(_ariaAppHider);\n\nvar _safeHTMLElement = require(\"../helpers/safeHTMLElement\");\n\nvar _safeHTMLElement2 = _interopRequireDefault(_safeHTMLElement);\n\nvar _reactLifecyclesCompat = require(\"react-lifecycles-compat\");\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar portalClassName = exports.portalClassName = \"ReactModalPortal\";\nvar bodyOpenClassName = exports.bodyOpenClassName = \"ReactModal__Body--open\";\n\nvar isReact16 = _reactDom2.default.createPortal !== undefined;\n\nvar getCreatePortal = function getCreatePortal() {\n return isReact16 ? _reactDom2.default.createPortal : _reactDom2.default.unstable_renderSubtreeIntoContainer;\n};\n\nfunction getParentElement(parentSelector) {\n return parentSelector();\n}\n\nvar Modal = function (_Component) {\n _inherits(Modal, _Component);\n\n function Modal() {\n var _ref;\n\n var _temp, _this, _ret;\n\n _classCallCheck(this, Modal);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, (_ref = Modal.__proto__ || Object.getPrototypeOf(Modal)).call.apply(_ref, [this].concat(args))), _this), _this.removePortal = function () {\n !isReact16 && _reactDom2.default.unmountComponentAtNode(_this.node);\n var parent = getParentElement(_this.props.parentSelector);\n parent.removeChild(_this.node);\n }, _this.portalRef = function (ref) {\n _this.portal = ref;\n }, _this.renderPortal = function (props) {\n var createPortal = getCreatePortal();\n var portal = createPortal(_this, _react2.default.createElement(_ModalPortal2.default, _extends({ defaultStyles: Modal.defaultStyles }, props)), _this.node);\n _this.portalRef(portal);\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n _createClass(Modal, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n if (!_safeHTMLElement.canUseDOM) return;\n\n if (!isReact16) {\n this.node = document.createElement(\"div\");\n }\n this.node.className = this.props.portalClassName;\n\n var parent = getParentElement(this.props.parentSelector);\n parent.appendChild(this.node);\n\n !isReact16 && this.renderPortal(this.props);\n }\n }, {\n key: \"getSnapshotBeforeUpdate\",\n value: function getSnapshotBeforeUpdate(prevProps) {\n var prevParent = getParentElement(prevProps.parentSelector);\n var nextParent = getParentElement(this.props.parentSelector);\n return { prevParent: prevParent, nextParent: nextParent };\n }\n }, {\n key: \"componentDidUpdate\",\n value: function componentDidUpdate(prevProps, _, snapshot) {\n if (!_safeHTMLElement.canUseDOM) return;\n var _props = this.props,\n isOpen = _props.isOpen,\n portalClassName = _props.portalClassName;\n\n\n if (prevProps.portalClassName !== portalClassName) {\n this.node.className = portalClassName;\n }\n\n var prevParent = snapshot.prevParent,\n nextParent = snapshot.nextParent;\n\n if (nextParent !== prevParent) {\n prevParent.removeChild(this.node);\n nextParent.appendChild(this.node);\n }\n\n // Stop unnecessary renders if modal is remaining closed\n if (!prevProps.isOpen && !isOpen) return;\n\n !isReact16 && this.renderPortal(this.props);\n }\n }, {\n key: \"componentWillUnmount\",\n value: function componentWillUnmount() {\n if (!_safeHTMLElement.canUseDOM || !this.node || !this.portal) return;\n\n var state = this.portal.state;\n var now = Date.now();\n var closesAt = state.isOpen && this.props.closeTimeoutMS && (state.closesAt || now + this.props.closeTimeoutMS);\n\n if (closesAt) {\n if (!state.beforeClose) {\n this.portal.closeWithTimeout();\n }\n\n setTimeout(this.removePortal, closesAt - now);\n } else {\n this.removePortal();\n }\n }\n }, {\n key: \"render\",\n value: function render() {\n if (!_safeHTMLElement.canUseDOM || !isReact16) {\n return null;\n }\n\n if (!this.node && isReact16) {\n this.node = document.createElement(\"div\");\n }\n\n var createPortal = getCreatePortal();\n return createPortal(_react2.default.createElement(_ModalPortal2.default, _extends({\n ref: this.portalRef,\n defaultStyles: Modal.defaultStyles\n }, this.props)), this.node);\n }\n }], [{\n key: \"setAppElement\",\n value: function setAppElement(element) {\n ariaAppHider.setElement(element);\n }\n\n /* eslint-disable react/no-unused-prop-types */\n\n /* eslint-enable react/no-unused-prop-types */\n\n }]);\n\n return Modal;\n}(_react.Component);\n\nModal.propTypes = {\n isOpen: _propTypes2.default.bool.isRequired,\n style: _propTypes2.default.shape({\n content: _propTypes2.default.object,\n overlay: _propTypes2.default.object\n }),\n portalClassName: _propTypes2.default.string,\n bodyOpenClassName: _propTypes2.default.string,\n htmlOpenClassName: _propTypes2.default.string,\n className: _propTypes2.default.oneOfType([_propTypes2.default.string, _propTypes2.default.shape({\n base: _propTypes2.default.string.isRequired,\n afterOpen: _propTypes2.default.string.isRequired,\n beforeClose: _propTypes2.default.string.isRequired\n })]),\n overlayClassName: _propTypes2.default.oneOfType([_propTypes2.default.string, _propTypes2.default.shape({\n base: _propTypes2.default.string.isRequired,\n afterOpen: _propTypes2.default.string.isRequired,\n beforeClose: _propTypes2.default.string.isRequired\n })]),\n appElement: _propTypes2.default.instanceOf(_safeHTMLElement2.default),\n onAfterOpen: _propTypes2.default.func,\n onRequestClose: _propTypes2.default.func,\n closeTimeoutMS: _propTypes2.default.number,\n ariaHideApp: _propTypes2.default.bool,\n shouldFocusAfterRender: _propTypes2.default.bool,\n shouldCloseOnOverlayClick: _propTypes2.default.bool,\n shouldReturnFocusAfterClose: _propTypes2.default.bool,\n parentSelector: _propTypes2.default.func,\n aria: _propTypes2.default.object,\n data: _propTypes2.default.object,\n role: _propTypes2.default.string,\n contentLabel: _propTypes2.default.string,\n shouldCloseOnEsc: _propTypes2.default.bool,\n overlayRef: _propTypes2.default.func,\n contentRef: _propTypes2.default.func\n};\nModal.defaultProps = {\n isOpen: false,\n portalClassName: portalClassName,\n bodyOpenClassName: bodyOpenClassName,\n role: \"dialog\",\n ariaHideApp: true,\n closeTimeoutMS: 0,\n shouldFocusAfterRender: true,\n shouldCloseOnEsc: true,\n shouldCloseOnOverlayClick: true,\n shouldReturnFocusAfterClose: true,\n parentSelector: function parentSelector() {\n return document.body;\n }\n};\nModal.defaultStyles = {\n overlay: {\n position: \"fixed\",\n top: 0,\n left: 0,\n right: 0,\n bottom: 0,\n backgroundColor: \"rgba(255, 255, 255, 0.75)\"\n },\n content: {\n position: \"absolute\",\n top: \"40px\",\n left: \"40px\",\n right: \"40px\",\n bottom: \"40px\",\n border: \"1px solid #ccc\",\n background: \"#fff\",\n overflow: \"auto\",\n WebkitOverflowScrolling: \"touch\",\n borderRadius: \"4px\",\n outline: \"none\",\n padding: \"20px\"\n }\n};\n\n\n(0, _reactLifecyclesCompat.polyfill)(Modal);\n\nexports.default = Modal;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _react = require(\"react\");\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _propTypes = require(\"prop-types\");\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar _focusManager = require(\"../helpers/focusManager\");\n\nvar focusManager = _interopRequireWildcard(_focusManager);\n\nvar _scopeTab = require(\"../helpers/scopeTab\");\n\nvar _scopeTab2 = _interopRequireDefault(_scopeTab);\n\nvar _ariaAppHider = require(\"../helpers/ariaAppHider\");\n\nvar ariaAppHider = _interopRequireWildcard(_ariaAppHider);\n\nvar _classList = require(\"../helpers/classList\");\n\nvar classList = _interopRequireWildcard(_classList);\n\nvar _safeHTMLElement = require(\"../helpers/safeHTMLElement\");\n\nvar _safeHTMLElement2 = _interopRequireDefault(_safeHTMLElement);\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\n// so that our CSS is statically analyzable\nvar CLASS_NAMES = {\n overlay: \"ReactModal__Overlay\",\n content: \"ReactModal__Content\"\n};\n\nvar TAB_KEY = 9;\nvar ESC_KEY = 27;\n\nvar ariaHiddenInstances = 0;\n\nvar ModalPortal = function (_Component) {\n _inherits(ModalPortal, _Component);\n\n function ModalPortal(props) {\n _classCallCheck(this, ModalPortal);\n\n var _this = _possibleConstructorReturn(this, (ModalPortal.__proto__ || Object.getPrototypeOf(ModalPortal)).call(this, props));\n\n _this.setOverlayRef = function (overlay) {\n _this.overlay = overlay;\n _this.props.overlayRef && _this.props.overlayRef(overlay);\n };\n\n _this.setContentRef = function (content) {\n _this.content = content;\n _this.props.contentRef && _this.props.contentRef(content);\n };\n\n _this.afterClose = function () {\n var _this$props = _this.props,\n appElement = _this$props.appElement,\n ariaHideApp = _this$props.ariaHideApp,\n htmlOpenClassName = _this$props.htmlOpenClassName,\n bodyOpenClassName = _this$props.bodyOpenClassName;\n\n // Remove classes.\n\n bodyOpenClassName && classList.remove(document.body, bodyOpenClassName);\n\n htmlOpenClassName && classList.remove(document.getElementsByTagName(\"html\")[0], htmlOpenClassName);\n\n // Reset aria-hidden attribute if all modals have been removed\n if (ariaHideApp && ariaHiddenInstances > 0) {\n ariaHiddenInstances -= 1;\n\n if (ariaHiddenInstances === 0) {\n ariaAppHider.show(appElement);\n }\n }\n\n if (_this.props.shouldFocusAfterRender) {\n if (_this.props.shouldReturnFocusAfterClose) {\n focusManager.returnFocus();\n focusManager.teardownScopedFocus();\n } else {\n focusManager.popWithoutFocus();\n }\n }\n\n if (_this.props.onAfterClose) {\n _this.props.onAfterClose();\n }\n };\n\n _this.open = function () {\n _this.beforeOpen();\n if (_this.state.afterOpen && _this.state.beforeClose) {\n clearTimeout(_this.closeTimer);\n _this.setState({ beforeClose: false });\n } else {\n if (_this.props.shouldFocusAfterRender) {\n focusManager.setupScopedFocus(_this.node);\n focusManager.markForFocusLater();\n }\n\n _this.setState({ isOpen: true }, function () {\n _this.setState({ afterOpen: true });\n\n if (_this.props.isOpen && _this.props.onAfterOpen) {\n _this.props.onAfterOpen();\n }\n });\n }\n };\n\n _this.close = function () {\n if (_this.props.closeTimeoutMS > 0) {\n _this.closeWithTimeout();\n } else {\n _this.closeWithoutTimeout();\n }\n };\n\n _this.focusContent = function () {\n return _this.content && !_this.contentHasFocus() && _this.content.focus();\n };\n\n _this.closeWithTimeout = function () {\n var closesAt = Date.now() + _this.props.closeTimeoutMS;\n _this.setState({ beforeClose: true, closesAt: closesAt }, function () {\n _this.closeTimer = setTimeout(_this.closeWithoutTimeout, _this.state.closesAt - Date.now());\n });\n };\n\n _this.closeWithoutTimeout = function () {\n _this.setState({\n beforeClose: false,\n isOpen: false,\n afterOpen: false,\n closesAt: null\n }, _this.afterClose);\n };\n\n _this.handleKeyDown = function (event) {\n if (event.keyCode === TAB_KEY) {\n (0, _scopeTab2.default)(_this.content, event);\n }\n\n if (_this.props.shouldCloseOnEsc && event.keyCode === ESC_KEY) {\n event.stopPropagation();\n _this.requestClose(event);\n }\n };\n\n _this.handleOverlayOnClick = function (event) {\n if (_this.shouldClose === null) {\n _this.shouldClose = true;\n }\n\n if (_this.shouldClose && _this.props.shouldCloseOnOverlayClick) {\n if (_this.ownerHandlesClose()) {\n _this.requestClose(event);\n } else {\n _this.focusContent();\n }\n }\n _this.shouldClose = null;\n };\n\n _this.handleContentOnMouseUp = function () {\n _this.shouldClose = false;\n };\n\n _this.handleOverlayOnMouseDown = function (event) {\n if (!_this.props.shouldCloseOnOverlayClick && event.target == _this.overlay) {\n event.preventDefault();\n }\n };\n\n _this.handleContentOnClick = function () {\n _this.shouldClose = false;\n };\n\n _this.handleContentOnMouseDown = function () {\n _this.shouldClose = false;\n };\n\n _this.requestClose = function (event) {\n return _this.ownerHandlesClose() && _this.props.onRequestClose(event);\n };\n\n _this.ownerHandlesClose = function () {\n return _this.props.onRequestClose;\n };\n\n _this.shouldBeClosed = function () {\n return !_this.state.isOpen && !_this.state.beforeClose;\n };\n\n _this.contentHasFocus = function () {\n return document.activeElement === _this.content || _this.content.contains(document.activeElement);\n };\n\n _this.buildClassName = function (which, additional) {\n var classNames = (typeof additional === \"undefined\" ? \"undefined\" : _typeof(additional)) === \"object\" ? additional : {\n base: CLASS_NAMES[which],\n afterOpen: CLASS_NAMES[which] + \"--after-open\",\n beforeClose: CLASS_NAMES[which] + \"--before-close\"\n };\n var className = classNames.base;\n if (_this.state.afterOpen) {\n className = className + \" \" + classNames.afterOpen;\n }\n if (_this.state.beforeClose) {\n className = className + \" \" + classNames.beforeClose;\n }\n return typeof additional === \"string\" && additional ? className + \" \" + additional : className;\n };\n\n _this.attributesFromObject = function (prefix, items) {\n return Object.keys(items).reduce(function (acc, name) {\n acc[prefix + \"-\" + name] = items[name];\n return acc;\n }, {});\n };\n\n _this.state = {\n afterOpen: false,\n beforeClose: false\n };\n\n _this.shouldClose = null;\n _this.moveFromContentToOverlay = null;\n return _this;\n }\n\n _createClass(ModalPortal, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n if (this.props.isOpen) {\n this.open();\n }\n }\n }, {\n key: \"componentDidUpdate\",\n value: function componentDidUpdate(prevProps, prevState) {\n if (process.env.NODE_ENV !== \"production\") {\n if (prevProps.bodyOpenClassName !== this.props.bodyOpenClassName) {\n // eslint-disable-next-line no-console\n console.warn('React-Modal: \"bodyOpenClassName\" prop has been modified. ' + \"This may cause unexpected behavior when multiple modals are open.\");\n }\n if (prevProps.htmlOpenClassName !== this.props.htmlOpenClassName) {\n // eslint-disable-next-line no-console\n console.warn('React-Modal: \"htmlOpenClassName\" prop has been modified. ' + \"This may cause unexpected behavior when multiple modals are open.\");\n }\n }\n\n if (this.props.isOpen && !prevProps.isOpen) {\n this.open();\n } else if (!this.props.isOpen && prevProps.isOpen) {\n this.close();\n }\n\n // Focus only needs to be set once when the modal is being opened\n if (this.props.shouldFocusAfterRender && this.state.isOpen && !prevState.isOpen) {\n this.focusContent();\n }\n }\n }, {\n key: \"componentWillUnmount\",\n value: function componentWillUnmount() {\n this.afterClose();\n clearTimeout(this.closeTimer);\n }\n }, {\n key: \"beforeOpen\",\n value: function beforeOpen() {\n var _props = this.props,\n appElement = _props.appElement,\n ariaHideApp = _props.ariaHideApp,\n htmlOpenClassName = _props.htmlOpenClassName,\n bodyOpenClassName = _props.bodyOpenClassName;\n\n // Add classes.\n\n bodyOpenClassName && classList.add(document.body, bodyOpenClassName);\n\n htmlOpenClassName && classList.add(document.getElementsByTagName(\"html\")[0], htmlOpenClassName);\n\n if (ariaHideApp) {\n ariaHiddenInstances += 1;\n ariaAppHider.hide(appElement);\n }\n }\n\n // Don't steal focus from inner elements\n\n }, {\n key: \"render\",\n value: function render() {\n var _props2 = this.props,\n className = _props2.className,\n overlayClassName = _props2.overlayClassName,\n defaultStyles = _props2.defaultStyles;\n\n var contentStyles = className ? {} : defaultStyles.content;\n var overlayStyles = overlayClassName ? {} : defaultStyles.overlay;\n\n return this.shouldBeClosed() ? null : _react2.default.createElement(\n \"div\",\n {\n ref: this.setOverlayRef,\n className: this.buildClassName(\"overlay\", overlayClassName),\n style: _extends({}, overlayStyles, this.props.style.overlay),\n onClick: this.handleOverlayOnClick,\n onMouseDown: this.handleOverlayOnMouseDown\n },\n _react2.default.createElement(\n \"div\",\n _extends({\n ref: this.setContentRef,\n style: _extends({}, contentStyles, this.props.style.content),\n className: this.buildClassName(\"content\", className),\n tabIndex: \"-1\",\n onKeyDown: this.handleKeyDown,\n onMouseDown: this.handleContentOnMouseDown,\n onMouseUp: this.handleContentOnMouseUp,\n onClick: this.handleContentOnClick,\n role: this.props.role,\n \"aria-label\": this.props.contentLabel\n }, this.attributesFromObject(\"aria\", this.props.aria || {}), this.attributesFromObject(\"data\", this.props.data || {}), {\n \"data-testid\": this.props.testId\n }),\n this.props.children\n )\n );\n }\n }]);\n\n return ModalPortal;\n}(_react.Component);\n\nModalPortal.defaultProps = {\n style: {\n overlay: {},\n content: {}\n },\n defaultStyles: {}\n};\nModalPortal.propTypes = {\n isOpen: _propTypes2.default.bool.isRequired,\n defaultStyles: _propTypes2.default.shape({\n content: _propTypes2.default.object,\n overlay: _propTypes2.default.object\n }),\n style: _propTypes2.default.shape({\n content: _propTypes2.default.object,\n overlay: _propTypes2.default.object\n }),\n className: _propTypes2.default.oneOfType([_propTypes2.default.string, _propTypes2.default.object]),\n overlayClassName: _propTypes2.default.oneOfType([_propTypes2.default.string, _propTypes2.default.object]),\n bodyOpenClassName: _propTypes2.default.string,\n htmlOpenClassName: _propTypes2.default.string,\n ariaHideApp: _propTypes2.default.bool,\n appElement: _propTypes2.default.instanceOf(_safeHTMLElement2.default),\n onAfterOpen: _propTypes2.default.func,\n onAfterClose: _propTypes2.default.func,\n onRequestClose: _propTypes2.default.func,\n closeTimeoutMS: _propTypes2.default.number,\n shouldFocusAfterRender: _propTypes2.default.bool,\n shouldCloseOnOverlayClick: _propTypes2.default.bool,\n shouldReturnFocusAfterClose: _propTypes2.default.bool,\n role: _propTypes2.default.string,\n contentLabel: _propTypes2.default.string,\n aria: _propTypes2.default.object,\n data: _propTypes2.default.object,\n children: _propTypes2.default.node,\n shouldCloseOnEsc: _propTypes2.default.bool,\n overlayRef: _propTypes2.default.func,\n contentRef: _propTypes2.default.func,\n testId: _propTypes2.default.string\n};\nexports.default = ModalPortal;\nmodule.exports = exports[\"default\"];","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.handleBlur = handleBlur;\nexports.handleFocus = handleFocus;\nexports.markForFocusLater = markForFocusLater;\nexports.returnFocus = returnFocus;\nexports.popWithoutFocus = popWithoutFocus;\nexports.setupScopedFocus = setupScopedFocus;\nexports.teardownScopedFocus = teardownScopedFocus;\n\nvar _tabbable = require(\"../helpers/tabbable\");\n\nvar _tabbable2 = _interopRequireDefault(_tabbable);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar focusLaterElements = [];\nvar modalElement = null;\nvar needToFocus = false;\n\nfunction handleBlur() {\n needToFocus = true;\n}\n\nfunction handleFocus() {\n if (needToFocus) {\n needToFocus = false;\n if (!modalElement) {\n return;\n }\n // need to see how jQuery shims document.on('focusin') so we don't need the\n // setTimeout, firefox doesn't support focusin, if it did, we could focus\n // the element outside of a setTimeout. Side-effect of this implementation\n // is that the document.body gets focus, and then we focus our element right\n // after, seems fine.\n setTimeout(function () {\n if (modalElement.contains(document.activeElement)) {\n return;\n }\n var el = (0, _tabbable2.default)(modalElement)[0] || modalElement;\n el.focus();\n }, 0);\n }\n}\n\nfunction markForFocusLater() {\n focusLaterElements.push(document.activeElement);\n}\n\n/* eslint-disable no-console */\nfunction returnFocus() {\n var toFocus = null;\n try {\n if (focusLaterElements.length !== 0) {\n toFocus = focusLaterElements.pop();\n toFocus.focus();\n }\n return;\n } catch (e) {\n console.warn([\"You tried to return focus to\", toFocus, \"but it is not in the DOM anymore\"].join(\" \"));\n }\n}\n/* eslint-enable no-console */\n\nfunction popWithoutFocus() {\n focusLaterElements.length > 0 && focusLaterElements.pop();\n}\n\nfunction setupScopedFocus(element) {\n modalElement = element;\n\n if (window.addEventListener) {\n window.addEventListener(\"blur\", handleBlur, false);\n document.addEventListener(\"focus\", handleFocus, true);\n } else {\n window.attachEvent(\"onBlur\", handleBlur);\n document.attachEvent(\"onFocus\", handleFocus);\n }\n}\n\nfunction teardownScopedFocus() {\n modalElement = null;\n\n if (window.addEventListener) {\n window.removeEventListener(\"blur\", handleBlur);\n document.removeEventListener(\"focus\", handleFocus);\n } else {\n window.detachEvent(\"onBlur\", handleBlur);\n document.detachEvent(\"onFocus\", handleFocus);\n }\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = scopeTab;\n\nvar _tabbable = require(\"./tabbable\");\n\nvar _tabbable2 = _interopRequireDefault(_tabbable);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction scopeTab(node, event) {\n var tabbable = (0, _tabbable2.default)(node);\n\n if (!tabbable.length) {\n // Do nothing, since there are no elements that can receive focus.\n event.preventDefault();\n return;\n }\n\n var shiftKey = event.shiftKey;\n var head = tabbable[0];\n var tail = tabbable[tabbable.length - 1];\n\n // proceed with default browser behavior on tab.\n // Focus on last element on shift + tab.\n if (node === document.activeElement) {\n if (!shiftKey) return;\n target = tail;\n }\n\n var target;\n if (tail === document.activeElement && !shiftKey) {\n target = head;\n }\n\n if (head === document.activeElement && shiftKey) {\n target = tail;\n }\n\n if (target) {\n event.preventDefault();\n target.focus();\n return;\n }\n\n // Safari radio issue.\n //\n // Safari does not move the focus to the radio button,\n // so we need to force it to really walk through all elements.\n //\n // This is very error prone, since we are trying to guess\n // if it is a safari browser from the first occurence between\n // chrome or safari.\n //\n // The chrome user agent contains the first ocurrence\n // as the 'chrome/version' and later the 'safari/version'.\n var checkSafari = /(\\bChrome\\b|\\bSafari\\b)\\//.exec(navigator.userAgent);\n var isSafariDesktop = checkSafari != null && checkSafari[1] != \"Chrome\" && /\\biPod\\b|\\biPad\\b/g.exec(navigator.userAgent) == null;\n\n // If we are not in safari desktop, let the browser control\n // the focus\n if (!isSafariDesktop) return;\n\n var x = tabbable.indexOf(document.activeElement);\n\n if (x > -1) {\n x += shiftKey ? -1 : 1;\n }\n\n // If the tabbable element does not exist,\n // focus head/tail based on shiftKey\n if (typeof tabbable[x] === \"undefined\") {\n event.preventDefault();\n target = shiftKey ? tail : head;\n target.focus();\n return;\n }\n\n event.preventDefault();\n\n tabbable[x].focus();\n}\nmodule.exports = exports[\"default\"];","/**\n * Copyright 2014-2015, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n */\n\n'use strict';\n\n/**\n * Similar to invariant but only logs a warning if the condition is not met.\n * This can be used to log issues in development environments in critical\n * paths. Removing the logging code for production environments will keep the\n * same logic and follow the same code paths.\n */\n\nvar warning = function() {};\n\nif (process.env.NODE_ENV !== 'production') {\n warning = function(condition, format, args) {\n var len = arguments.length;\n args = new Array(len > 2 ? len - 2 : 0);\n for (var key = 2; key < len; key++) {\n args[key - 2] = arguments[key];\n }\n if (format === undefined) {\n throw new Error(\n '`warning(condition, format, ...args)` requires a warning ' +\n 'message argument'\n );\n }\n\n if (format.length < 10 || (/^[s\\W]*$/).test(format)) {\n throw new Error(\n 'The warning format should be able to uniquely identify this ' +\n 'warning. Please, use a more descriptive format than: ' + format\n );\n }\n\n if (!condition) {\n var argIndex = 0;\n var message = 'Warning: ' +\n format.replace(/%s/g, function() {\n return args[argIndex++];\n });\n if (typeof console !== 'undefined') {\n console.error(message);\n }\n try {\n // This error was thrown as a convenience so that you can use this stack\n // to find the callsite that caused this warning to fire.\n throw new Error(message);\n } catch(x) {}\n }\n };\n}\n\nmodule.exports = warning;\n","/*!\n Copyright (c) 2015 Jed Watson.\n Based on code that is Copyright 2013-2015, Facebook, Inc.\n All rights reserved.\n*/\n/* global define */\n\n(function () {\n\t'use strict';\n\n\tvar canUseDOM = !!(\n\t\ttypeof window !== 'undefined' &&\n\t\twindow.document &&\n\t\twindow.document.createElement\n\t);\n\n\tvar ExecutionEnvironment = {\n\n\t\tcanUseDOM: canUseDOM,\n\n\t\tcanUseWorkers: typeof Worker !== 'undefined',\n\n\t\tcanUseEventListeners:\n\t\t\tcanUseDOM && !!(window.addEventListener || window.attachEvent),\n\n\t\tcanUseViewport: canUseDOM && !!window.screen\n\n\t};\n\n\tif (typeof define === 'function' && typeof define.amd === 'object' && define.amd) {\n\t\tdefine(function () {\n\t\t\treturn ExecutionEnvironment;\n\t\t});\n\t} else if (typeof module !== 'undefined' && module.exports) {\n\t\tmodule.exports = ExecutionEnvironment;\n\t} else {\n\t\twindow.ExecutionEnvironment = ExecutionEnvironment;\n\t}\n\n}());\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.dumpClassLists = dumpClassLists;\nvar htmlClassList = {};\nvar docBodyClassList = {};\n\nfunction dumpClassLists() {\n if (process.env.NODE_ENV !== \"production\") {\n var classes = document.getElementsByTagName(\"html\")[0].className;\n var buffer = \"Show tracked classes:\\n\\n\";\n\n buffer += \"<html /> (\" + classes + \"):\\n\";\n for (var x in htmlClassList) {\n buffer += \" \" + x + \" \" + htmlClassList[x] + \"\\n\";\n }\n\n classes = document.body.className;\n\n // eslint-disable-next-line max-len\n buffer += \"\\n\\ndoc.body (\" + classes + \"):\\n\";\n for (var _x in docBodyClassList) {\n buffer += \" \" + _x + \" \" + docBodyClassList[_x] + \"\\n\";\n }\n\n buffer += \"\\n\";\n\n // eslint-disable-next-line no-console\n console.log(buffer);\n }\n}\n\n/**\n * Track the number of reference of a class.\n * @param {object} poll The poll to receive the reference.\n * @param {string} className The class name.\n * @return {string}\n */\nvar incrementReference = function incrementReference(poll, className) {\n if (!poll[className]) {\n poll[className] = 0;\n }\n poll[className] += 1;\n return className;\n};\n\n/**\n * Drop the reference of a class.\n * @param {object} poll The poll to receive the reference.\n * @param {string} className The class name.\n * @return {string}\n */\nvar decrementReference = function decrementReference(poll, className) {\n if (poll[className]) {\n poll[className] -= 1;\n }\n return className;\n};\n\n/**\n * Track a class and add to the given class list.\n * @param {Object} classListRef A class list of an element.\n * @param {Object} poll The poll to be used.\n * @param {Array} classes The list of classes to be tracked.\n */\nvar trackClass = function trackClass(classListRef, poll, classes) {\n classes.forEach(function (className) {\n incrementReference(poll, className);\n classListRef.add(className);\n });\n};\n\n/**\n * Untrack a class and remove from the given class list if the reference\n * reaches 0.\n * @param {Object} classListRef A class list of an element.\n * @param {Object} poll The poll to be used.\n * @param {Array} classes The list of classes to be untracked.\n */\nvar untrackClass = function untrackClass(classListRef, poll, classes) {\n classes.forEach(function (className) {\n decrementReference(poll, className);\n poll[className] === 0 && classListRef.remove(className);\n });\n};\n\n/**\n * Public inferface to add classes to the document.body.\n * @param {string} bodyClass The class string to be added.\n * It may contain more then one class\n * with ' ' as separator.\n */\nvar add = exports.add = function add(element, classString) {\n return trackClass(element.classList, element.nodeName.toLowerCase() == \"html\" ? htmlClassList : docBodyClassList, classString.split(\" \"));\n};\n\n/**\n * Public inferface to remove classes from the document.body.\n * @param {string} bodyClass The class string to be added.\n * It may contain more then one class\n * with ' ' as separator.\n */\nvar remove = exports.remove = function remove(element, classString) {\n return untrackClass(element.classList, element.nodeName.toLowerCase() == \"html\" ? htmlClassList : docBodyClassList, classString.split(\" \"));\n};","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nfunction componentWillMount() {\n // Call this.constructor.gDSFP to support sub-classes.\n var state = this.constructor.getDerivedStateFromProps(this.props, this.state);\n if (state !== null && state !== undefined) {\n this.setState(state);\n }\n}\n\nfunction componentWillReceiveProps(nextProps) {\n // Call this.constructor.gDSFP to support sub-classes.\n // Use the setState() updater to ensure state isn't stale in certain edge cases.\n function updater(prevState) {\n var state = this.constructor.getDerivedStateFromProps(nextProps, prevState);\n return state !== null && state !== undefined ? state : null;\n }\n // Binding \"this\" is important for shallow renderer support.\n this.setState(updater.bind(this));\n}\n\nfunction componentWillUpdate(nextProps, nextState) {\n try {\n var prevProps = this.props;\n var prevState = this.state;\n this.props = nextProps;\n this.state = nextState;\n this.__reactInternalSnapshotFlag = true;\n this.__reactInternalSnapshot = this.getSnapshotBeforeUpdate(\n prevProps,\n prevState\n );\n } finally {\n this.props = prevProps;\n this.state = prevState;\n }\n}\n\n// React may warn about cWM/cWRP/cWU methods being deprecated.\n// Add a flag to suppress these warnings for this special case.\ncomponentWillMount.__suppressDeprecationWarning = true;\ncomponentWillReceiveProps.__suppressDeprecationWarning = true;\ncomponentWillUpdate.__suppressDeprecationWarning = true;\n\nfunction polyfill(Component) {\n var prototype = Component.prototype;\n\n if (!prototype || !prototype.isReactComponent) {\n throw new Error('Can only polyfill class components');\n }\n\n if (\n typeof Component.getDerivedStateFromProps !== 'function' &&\n typeof prototype.getSnapshotBeforeUpdate !== 'function'\n ) {\n return Component;\n }\n\n // If new component APIs are defined, \"unsafe\" lifecycles won't be called.\n // Error if any of these lifecycles are present,\n // Because they would work differently between older and newer (16.3+) versions of React.\n var foundWillMountName = null;\n var foundWillReceivePropsName = null;\n var foundWillUpdateName = null;\n if (typeof prototype.componentWillMount === 'function') {\n foundWillMountName = 'componentWillMount';\n } else if (typeof prototype.UNSAFE_componentWillMount === 'function') {\n foundWillMountName = 'UNSAFE_componentWillMount';\n }\n if (typeof prototype.componentWillReceiveProps === 'function') {\n foundWillReceivePropsName = 'componentWillReceiveProps';\n } else if (typeof prototype.UNSAFE_componentWillReceiveProps === 'function') {\n foundWillReceivePropsName = 'UNSAFE_componentWillReceiveProps';\n }\n if (typeof prototype.componentWillUpdate === 'function') {\n foundWillUpdateName = 'componentWillUpdate';\n } else if (typeof prototype.UNSAFE_componentWillUpdate === 'function') {\n foundWillUpdateName = 'UNSAFE_componentWillUpdate';\n }\n if (\n foundWillMountName !== null ||\n foundWillReceivePropsName !== null ||\n foundWillUpdateName !== null\n ) {\n var componentName = Component.displayName || Component.name;\n var newApiName =\n typeof Component.getDerivedStateFromProps === 'function'\n ? 'getDerivedStateFromProps()'\n : 'getSnapshotBeforeUpdate()';\n\n throw Error(\n 'Unsafe legacy lifecycles will not be called for components using new component APIs.\\n\\n' +\n componentName +\n ' uses ' +\n newApiName +\n ' but also contains the following legacy lifecycles:' +\n (foundWillMountName !== null ? '\\n ' + foundWillMountName : '') +\n (foundWillReceivePropsName !== null\n ? '\\n ' + foundWillReceivePropsName\n : '') +\n (foundWillUpdateName !== null ? '\\n ' + foundWillUpdateName : '') +\n '\\n\\nThe above lifecycles should be removed. Learn more about this warning here:\\n' +\n 'https://fb.me/react-async-component-lifecycle-hooks'\n );\n }\n\n // React <= 16.2 does not support static getDerivedStateFromProps.\n // As a workaround, use cWM and cWRP to invoke the new static lifecycle.\n // Newer versions of React will ignore these lifecycles if gDSFP exists.\n if (typeof Component.getDerivedStateFromProps === 'function') {\n prototype.componentWillMount = componentWillMount;\n prototype.componentWillReceiveProps = componentWillReceiveProps;\n }\n\n // React <= 16.2 does not support getSnapshotBeforeUpdate.\n // As a workaround, use cWU to invoke the new lifecycle.\n // Newer versions of React will ignore that lifecycle if gSBU exists.\n if (typeof prototype.getSnapshotBeforeUpdate === 'function') {\n if (typeof prototype.componentDidUpdate !== 'function') {\n throw new Error(\n 'Cannot polyfill getSnapshotBeforeUpdate() for components that do not define componentDidUpdate() on the prototype'\n );\n }\n\n prototype.componentWillUpdate = componentWillUpdate;\n\n var componentDidUpdate = prototype.componentDidUpdate;\n\n prototype.componentDidUpdate = function componentDidUpdatePolyfill(\n prevProps,\n prevState,\n maybeSnapshot\n ) {\n // 16.3+ will not execute our will-update method;\n // It will pass a snapshot value to did-update though.\n // Older versions will require our polyfilled will-update value.\n // We need to handle both cases, but can't just check for the presence of \"maybeSnapshot\",\n // Because for <= 15.x versions this might be a \"prevContext\" object.\n // We also can't just check \"__reactInternalSnapshot\",\n // Because get-snapshot might return a falsy value.\n // So check for the explicit __reactInternalSnapshotFlag flag to determine behavior.\n var snapshot = this.__reactInternalSnapshotFlag\n ? this.__reactInternalSnapshot\n : maybeSnapshot;\n\n componentDidUpdate.call(this, prevProps, prevState, snapshot);\n };\n }\n\n return Component;\n}\n\nexport { polyfill };\n","var regExpPropType = function (props, propName, componentName, location) {\n if (!(props[propName] instanceof RegExp)) {\n var propType = typeof props[propName];\n\n return new Error(\n (\"Invalid \" + location + \" `\" + propName + \"` of type `\" + propType + \"` \") +\n (\"supplied to `\" + componentName + \"`, expected `RegExp`.\")\n );\n }\n};\n\nmodule.exports = regExpPropType;\n","'use strict';\n\nvar matchOperatorsRe = /[|\\\\{}()[\\]^$+*?.]/g;\n\nmodule.exports = function (str) {\n\tif (typeof str !== 'string') {\n\t\tthrow new TypeError('Expected a string');\n\t}\n\n\treturn str.replace(matchOperatorsRe, '\\\\$&');\n};\n","module.exports = function blacklist (src) {\n var copy = {}\n var filter = arguments[1]\n\n if (typeof filter === 'string') {\n filter = {}\n for (var i = 1; i < arguments.length; i++) {\n filter[arguments[i]] = true\n }\n }\n\n for (var key in src) {\n // blacklist?\n if (filter[key]) continue\n\n copy[key] = src[key]\n }\n\n return copy\n}\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\n'use strict';\n\nvar _assign = require('object-assign');\n\n// -- Inlined from fbjs --\n\nvar emptyObject = {};\n\nif (process.env.NODE_ENV !== 'production') {\n Object.freeze(emptyObject);\n}\n\nvar validateFormat = function validateFormat(format) {};\n\nif (process.env.NODE_ENV !== 'production') {\n validateFormat = function validateFormat(format) {\n if (format === undefined) {\n throw new Error('invariant requires an error message argument');\n }\n };\n}\n\nfunction _invariant(condition, format, a, b, c, d, e, f) {\n validateFormat(format);\n\n if (!condition) {\n var error;\n if (format === undefined) {\n error = new Error('Minified exception occurred; use the non-minified dev environment ' + 'for the full error message and additional helpful warnings.');\n } else {\n var args = [a, b, c, d, e, f];\n var argIndex = 0;\n error = new Error(format.replace(/%s/g, function () {\n return args[argIndex++];\n }));\n error.name = 'Invariant Violation';\n }\n\n error.framesToPop = 1; // we don't care about invariant's own frame\n throw error;\n }\n}\n\nvar warning = function(){};\n\nif (process.env.NODE_ENV !== 'production') {\n var printWarning = function printWarning(format) {\n for (var _len = arguments.length, args = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n var argIndex = 0;\n var message = 'Warning: ' + format.replace(/%s/g, function () {\n return args[argIndex++];\n });\n if (typeof console !== 'undefined') {\n console.error(message);\n }\n try {\n // --- Welcome to debugging React ---\n // This error was thrown as a convenience so that you can use this stack\n // to find the callsite that caused this warning to fire.\n throw new Error(message);\n } catch (x) {}\n };\n\n warning = function warning(condition, format) {\n if (format === undefined) {\n throw new Error('`warning(condition, format, ...args)` requires a warning ' + 'message argument');\n }\n\n if (format.indexOf('Failed Composite propType: ') === 0) {\n return; // Ignore CompositeComponent proptype check.\n }\n\n if (!condition) {\n for (var _len2 = arguments.length, args = Array(_len2 > 2 ? _len2 - 2 : 0), _key2 = 2; _key2 < _len2; _key2++) {\n args[_key2 - 2] = arguments[_key2];\n }\n\n printWarning.apply(undefined, [format].concat(args));\n }\n };\n}\n\n// /-- Inlined from fbjs --\n\nvar MIXINS_KEY = 'mixins';\n\n// Helper function to allow the creation of anonymous functions which do not\n// have .name set to the name of the variable being assigned to.\nfunction identity(fn) {\n return fn;\n}\n\nvar ReactPropTypeLocationNames;\nif (process.env.NODE_ENV !== 'production') {\n ReactPropTypeLocationNames = {\n prop: 'prop',\n context: 'context',\n childContext: 'child context'\n };\n} else {\n ReactPropTypeLocationNames = {};\n}\n\nfunction factory(ReactComponent, isValidElement, ReactNoopUpdateQueue) {\n /**\n * Policies that describe methods in `ReactClassInterface`.\n */\n\n var injectedMixins = [];\n\n /**\n * Composite components are higher-level components that compose other composite\n * or host components.\n *\n * To create a new type of `ReactClass`, pass a specification of\n * your new class to `React.createClass`. The only requirement of your class\n * specification is that you implement a `render` method.\n *\n * var MyComponent = React.createClass({\n * render: function() {\n * return <div>Hello World</div>;\n * }\n * });\n *\n * The class specification supports a specific protocol of methods that have\n * special meaning (e.g. `render`). See `ReactClassInterface` for\n * more the comprehensive protocol. Any other properties and methods in the\n * class specification will be available on the prototype.\n *\n * @interface ReactClassInterface\n * @internal\n */\n var ReactClassInterface = {\n /**\n * An array of Mixin objects to include when defining your component.\n *\n * @type {array}\n * @optional\n */\n mixins: 'DEFINE_MANY',\n\n /**\n * An object containing properties and methods that should be defined on\n * the component's constructor instead of its prototype (static methods).\n *\n * @type {object}\n * @optional\n */\n statics: 'DEFINE_MANY',\n\n /**\n * Definition of prop types for this component.\n *\n * @type {object}\n * @optional\n */\n propTypes: 'DEFINE_MANY',\n\n /**\n * Definition of context types for this component.\n *\n * @type {object}\n * @optional\n */\n contextTypes: 'DEFINE_MANY',\n\n /**\n * Definition of context types this component sets for its children.\n *\n * @type {object}\n * @optional\n */\n childContextTypes: 'DEFINE_MANY',\n\n // ==== Definition methods ====\n\n /**\n * Invoked when the component is mounted. Values in the mapping will be set on\n * `this.props` if that prop is not specified (i.e. using an `in` check).\n *\n * This method is invoked before `getInitialState` and therefore cannot rely\n * on `this.state` or use `this.setState`.\n *\n * @return {object}\n * @optional\n */\n getDefaultProps: 'DEFINE_MANY_MERGED',\n\n /**\n * Invoked once before the component is mounted. The return value will be used\n * as the initial value of `this.state`.\n *\n * getInitialState: function() {\n * return {\n * isOn: false,\n * fooBaz: new BazFoo()\n * }\n * }\n *\n * @return {object}\n * @optional\n */\n getInitialState: 'DEFINE_MANY_MERGED',\n\n /**\n * @return {object}\n * @optional\n */\n getChildContext: 'DEFINE_MANY_MERGED',\n\n /**\n * Uses props from `this.props` and state from `this.state` to render the\n * structure of the component.\n *\n * No guarantees are made about when or how often this method is invoked, so\n * it must not have side effects.\n *\n * render: function() {\n * var name = this.props.name;\n * return <div>Hello, {name}!</div>;\n * }\n *\n * @return {ReactComponent}\n * @required\n */\n render: 'DEFINE_ONCE',\n\n // ==== Delegate methods ====\n\n /**\n * Invoked when the component is initially created and about to be mounted.\n * This may have side effects, but any external subscriptions or data created\n * by this method must be cleaned up in `componentWillUnmount`.\n *\n * @optional\n */\n componentWillMount: 'DEFINE_MANY',\n\n /**\n * Invoked when the component has been mounted and has a DOM representation.\n * However, there is no guarantee that the DOM node is in the document.\n *\n * Use this as an opportunity to operate on the DOM when the component has\n * been mounted (initialized and rendered) for the first time.\n *\n * @param {DOMElement} rootNode DOM element representing the component.\n * @optional\n */\n componentDidMount: 'DEFINE_MANY',\n\n /**\n * Invoked before the component receives new props.\n *\n * Use this as an opportunity to react to a prop transition by updating the\n * state using `this.setState`. Current props are accessed via `this.props`.\n *\n * componentWillReceiveProps: function(nextProps, nextContext) {\n * this.setState({\n * likesIncreasing: nextProps.likeCount > this.props.likeCount\n * });\n * }\n *\n * NOTE: There is no equivalent `componentWillReceiveState`. An incoming prop\n * transition may cause a state change, but the opposite is not true. If you\n * need it, you are probably looking for `componentWillUpdate`.\n *\n * @param {object} nextProps\n * @optional\n */\n componentWillReceiveProps: 'DEFINE_MANY',\n\n /**\n * Invoked while deciding if the component should be updated as a result of\n * receiving new props, state and/or context.\n *\n * Use this as an opportunity to `return false` when you're certain that the\n * transition to the new props/state/context will not require a component\n * update.\n *\n * shouldComponentUpdate: function(nextProps, nextState, nextContext) {\n * return !equal(nextProps, this.props) ||\n * !equal(nextState, this.state) ||\n * !equal(nextContext, this.context);\n * }\n *\n * @param {object} nextProps\n * @param {?object} nextState\n * @param {?object} nextContext\n * @return {boolean} True if the component should update.\n * @optional\n */\n shouldComponentUpdate: 'DEFINE_ONCE',\n\n /**\n * Invoked when the component is about to update due to a transition from\n * `this.props`, `this.state` and `this.context` to `nextProps`, `nextState`\n * and `nextContext`.\n *\n * Use this as an opportunity to perform preparation before an update occurs.\n *\n * NOTE: You **cannot** use `this.setState()` in this method.\n *\n * @param {object} nextProps\n * @param {?object} nextState\n * @param {?object} nextContext\n * @param {ReactReconcileTransaction} transaction\n * @optional\n */\n componentWillUpdate: 'DEFINE_MANY',\n\n /**\n * Invoked when the component's DOM representation has been updated.\n *\n * Use this as an opportunity to operate on the DOM when the component has\n * been updated.\n *\n * @param {object} prevProps\n * @param {?object} prevState\n * @param {?object} prevContext\n * @param {DOMElement} rootNode DOM element representing the component.\n * @optional\n */\n componentDidUpdate: 'DEFINE_MANY',\n\n /**\n * Invoked when the component is about to be removed from its parent and have\n * its DOM representation destroyed.\n *\n * Use this as an opportunity to deallocate any external resources.\n *\n * NOTE: There is no `componentDidUnmount` since your component will have been\n * destroyed by that point.\n *\n * @optional\n */\n componentWillUnmount: 'DEFINE_MANY',\n\n /**\n * Replacement for (deprecated) `componentWillMount`.\n *\n * @optional\n */\n UNSAFE_componentWillMount: 'DEFINE_MANY',\n\n /**\n * Replacement for (deprecated) `componentWillReceiveProps`.\n *\n * @optional\n */\n UNSAFE_componentWillReceiveProps: 'DEFINE_MANY',\n\n /**\n * Replacement for (deprecated) `componentWillUpdate`.\n *\n * @optional\n */\n UNSAFE_componentWillUpdate: 'DEFINE_MANY',\n\n // ==== Advanced methods ====\n\n /**\n * Updates the component's currently mounted DOM representation.\n *\n * By default, this implements React's rendering and reconciliation algorithm.\n * Sophisticated clients may wish to override this.\n *\n * @param {ReactReconcileTransaction} transaction\n * @internal\n * @overridable\n */\n updateComponent: 'OVERRIDE_BASE'\n };\n\n /**\n * Similar to ReactClassInterface but for static methods.\n */\n var ReactClassStaticInterface = {\n /**\n * This method is invoked after a component is instantiated and when it\n * receives new props. Return an object to update state in response to\n * prop changes. Return null to indicate no change to state.\n *\n * If an object is returned, its keys will be merged into the existing state.\n *\n * @return {object || null}\n * @optional\n */\n getDerivedStateFromProps: 'DEFINE_MANY_MERGED'\n };\n\n /**\n * Mapping from class specification keys to special processing functions.\n *\n * Although these are declared like instance properties in the specification\n * when defining classes using `React.createClass`, they are actually static\n * and are accessible on the constructor instead of the prototype. Despite\n * being static, they must be defined outside of the \"statics\" key under\n * which all other static methods are defined.\n */\n var RESERVED_SPEC_KEYS = {\n displayName: function(Constructor, displayName) {\n Constructor.displayName = displayName;\n },\n mixins: function(Constructor, mixins) {\n if (mixins) {\n for (var i = 0; i < mixins.length; i++) {\n mixSpecIntoComponent(Constructor, mixins[i]);\n }\n }\n },\n childContextTypes: function(Constructor, childContextTypes) {\n if (process.env.NODE_ENV !== 'production') {\n validateTypeDef(Constructor, childContextTypes, 'childContext');\n }\n Constructor.childContextTypes = _assign(\n {},\n Constructor.childContextTypes,\n childContextTypes\n );\n },\n contextTypes: function(Constructor, contextTypes) {\n if (process.env.NODE_ENV !== 'production') {\n validateTypeDef(Constructor, contextTypes, 'context');\n }\n Constructor.contextTypes = _assign(\n {},\n Constructor.contextTypes,\n contextTypes\n );\n },\n /**\n * Special case getDefaultProps which should move into statics but requires\n * automatic merging.\n */\n getDefaultProps: function(Constructor, getDefaultProps) {\n if (Constructor.getDefaultProps) {\n Constructor.getDefaultProps = createMergedResultFunction(\n Constructor.getDefaultProps,\n getDefaultProps\n );\n } else {\n Constructor.getDefaultProps = getDefaultProps;\n }\n },\n propTypes: function(Constructor, propTypes) {\n if (process.env.NODE_ENV !== 'production') {\n validateTypeDef(Constructor, propTypes, 'prop');\n }\n Constructor.propTypes = _assign({}, Constructor.propTypes, propTypes);\n },\n statics: function(Constructor, statics) {\n mixStaticSpecIntoComponent(Constructor, statics);\n },\n autobind: function() {}\n };\n\n function validateTypeDef(Constructor, typeDef, location) {\n for (var propName in typeDef) {\n if (typeDef.hasOwnProperty(propName)) {\n // use a warning instead of an _invariant so components\n // don't show up in prod but only in __DEV__\n if (process.env.NODE_ENV !== 'production') {\n warning(\n typeof typeDef[propName] === 'function',\n '%s: %s type `%s` is invalid; it must be a function, usually from ' +\n 'React.PropTypes.',\n Constructor.displayName || 'ReactClass',\n ReactPropTypeLocationNames[location],\n propName\n );\n }\n }\n }\n }\n\n function validateMethodOverride(isAlreadyDefined, name) {\n var specPolicy = ReactClassInterface.hasOwnProperty(name)\n ? ReactClassInterface[name]\n : null;\n\n // Disallow overriding of base class methods unless explicitly allowed.\n if (ReactClassMixin.hasOwnProperty(name)) {\n _invariant(\n specPolicy === 'OVERRIDE_BASE',\n 'ReactClassInterface: You are attempting to override ' +\n '`%s` from your class specification. Ensure that your method names ' +\n 'do not overlap with React methods.',\n name\n );\n }\n\n // Disallow defining methods more than once unless explicitly allowed.\n if (isAlreadyDefined) {\n _invariant(\n specPolicy === 'DEFINE_MANY' || specPolicy === 'DEFINE_MANY_MERGED',\n 'ReactClassInterface: You are attempting to define ' +\n '`%s` on your component more than once. This conflict may be due ' +\n 'to a mixin.',\n name\n );\n }\n }\n\n /**\n * Mixin helper which handles policy validation and reserved\n * specification keys when building React classes.\n */\n function mixSpecIntoComponent(Constructor, spec) {\n if (!spec) {\n if (process.env.NODE_ENV !== 'production') {\n var typeofSpec = typeof spec;\n var isMixinValid = typeofSpec === 'object' && spec !== null;\n\n if (process.env.NODE_ENV !== 'production') {\n warning(\n isMixinValid,\n \"%s: You're attempting to include a mixin that is either null \" +\n 'or not an object. Check the mixins included by the component, ' +\n 'as well as any mixins they include themselves. ' +\n 'Expected object but got %s.',\n Constructor.displayName || 'ReactClass',\n spec === null ? null : typeofSpec\n );\n }\n }\n\n return;\n }\n\n _invariant(\n typeof spec !== 'function',\n \"ReactClass: You're attempting to \" +\n 'use a component class or function as a mixin. Instead, just use a ' +\n 'regular object.'\n );\n _invariant(\n !isValidElement(spec),\n \"ReactClass: You're attempting to \" +\n 'use a component as a mixin. Instead, just use a regular object.'\n );\n\n var proto = Constructor.prototype;\n var autoBindPairs = proto.__reactAutoBindPairs;\n\n // By handling mixins before any other properties, we ensure the same\n // chaining order is applied to methods with DEFINE_MANY policy, whether\n // mixins are listed before or after these methods in the spec.\n if (spec.hasOwnProperty(MIXINS_KEY)) {\n RESERVED_SPEC_KEYS.mixins(Constructor, spec.mixins);\n }\n\n for (var name in spec) {\n if (!spec.hasOwnProperty(name)) {\n continue;\n }\n\n if (name === MIXINS_KEY) {\n // We have already handled mixins in a special case above.\n continue;\n }\n\n var property = spec[name];\n var isAlreadyDefined = proto.hasOwnProperty(name);\n validateMethodOverride(isAlreadyDefined, name);\n\n if (RESERVED_SPEC_KEYS.hasOwnProperty(name)) {\n RESERVED_SPEC_KEYS[name](Constructor, property);\n } else {\n // Setup methods on prototype:\n // The following member methods should not be automatically bound:\n // 1. Expected ReactClass methods (in the \"interface\").\n // 2. Overridden methods (that were mixed in).\n var isReactClassMethod = ReactClassInterface.hasOwnProperty(name);\n var isFunction = typeof property === 'function';\n var shouldAutoBind =\n isFunction &&\n !isReactClassMethod &&\n !isAlreadyDefined &&\n spec.autobind !== false;\n\n if (shouldAutoBind) {\n autoBindPairs.push(name, property);\n proto[name] = property;\n } else {\n if (isAlreadyDefined) {\n var specPolicy = ReactClassInterface[name];\n\n // These cases should already be caught by validateMethodOverride.\n _invariant(\n isReactClassMethod &&\n (specPolicy === 'DEFINE_MANY_MERGED' ||\n specPolicy === 'DEFINE_MANY'),\n 'ReactClass: Unexpected spec policy %s for key %s ' +\n 'when mixing in component specs.',\n specPolicy,\n name\n );\n\n // For methods which are defined more than once, call the existing\n // methods before calling the new property, merging if appropriate.\n if (specPolicy === 'DEFINE_MANY_MERGED') {\n proto[name] = createMergedResultFunction(proto[name], property);\n } else if (specPolicy === 'DEFINE_MANY') {\n proto[name] = createChainedFunction(proto[name], property);\n }\n } else {\n proto[name] = property;\n if (process.env.NODE_ENV !== 'production') {\n // Add verbose displayName to the function, which helps when looking\n // at profiling tools.\n if (typeof property === 'function' && spec.displayName) {\n proto[name].displayName = spec.displayName + '_' + name;\n }\n }\n }\n }\n }\n }\n }\n\n function mixStaticSpecIntoComponent(Constructor, statics) {\n if (!statics) {\n return;\n }\n\n for (var name in statics) {\n var property = statics[name];\n if (!statics.hasOwnProperty(name)) {\n continue;\n }\n\n var isReserved = name in RESERVED_SPEC_KEYS;\n _invariant(\n !isReserved,\n 'ReactClass: You are attempting to define a reserved ' +\n 'property, `%s`, that shouldn\\'t be on the \"statics\" key. Define it ' +\n 'as an instance property instead; it will still be accessible on the ' +\n 'constructor.',\n name\n );\n\n var isAlreadyDefined = name in Constructor;\n if (isAlreadyDefined) {\n var specPolicy = ReactClassStaticInterface.hasOwnProperty(name)\n ? ReactClassStaticInterface[name]\n : null;\n\n _invariant(\n specPolicy === 'DEFINE_MANY_MERGED',\n 'ReactClass: You are attempting to define ' +\n '`%s` on your component more than once. This conflict may be ' +\n 'due to a mixin.',\n name\n );\n\n Constructor[name] = createMergedResultFunction(Constructor[name], property);\n\n return;\n }\n\n Constructor[name] = property;\n }\n }\n\n /**\n * Merge two objects, but throw if both contain the same key.\n *\n * @param {object} one The first object, which is mutated.\n * @param {object} two The second object\n * @return {object} one after it has been mutated to contain everything in two.\n */\n function mergeIntoWithNoDuplicateKeys(one, two) {\n _invariant(\n one && two && typeof one === 'object' && typeof two === 'object',\n 'mergeIntoWithNoDuplicateKeys(): Cannot merge non-objects.'\n );\n\n for (var key in two) {\n if (two.hasOwnProperty(key)) {\n _invariant(\n one[key] === undefined,\n 'mergeIntoWithNoDuplicateKeys(): ' +\n 'Tried to merge two objects with the same key: `%s`. This conflict ' +\n 'may be due to a mixin; in particular, this may be caused by two ' +\n 'getInitialState() or getDefaultProps() methods returning objects ' +\n 'with clashing keys.',\n key\n );\n one[key] = two[key];\n }\n }\n return one;\n }\n\n /**\n * Creates a function that invokes two functions and merges their return values.\n *\n * @param {function} one Function to invoke first.\n * @param {function} two Function to invoke second.\n * @return {function} Function that invokes the two argument functions.\n * @private\n */\n function createMergedResultFunction(one, two) {\n return function mergedResult() {\n var a = one.apply(this, arguments);\n var b = two.apply(this, arguments);\n if (a == null) {\n return b;\n } else if (b == null) {\n return a;\n }\n var c = {};\n mergeIntoWithNoDuplicateKeys(c, a);\n mergeIntoWithNoDuplicateKeys(c, b);\n return c;\n };\n }\n\n /**\n * Creates a function that invokes two functions and ignores their return vales.\n *\n * @param {function} one Function to invoke first.\n * @param {function} two Function to invoke second.\n * @return {function} Function that invokes the two argument functions.\n * @private\n */\n function createChainedFunction(one, two) {\n return function chainedFunction() {\n one.apply(this, arguments);\n two.apply(this, arguments);\n };\n }\n\n /**\n * Binds a method to the component.\n *\n * @param {object} component Component whose method is going to be bound.\n * @param {function} method Method to be bound.\n * @return {function} The bound method.\n */\n function bindAutoBindMethod(component, method) {\n var boundMethod = method.bind(component);\n if (process.env.NODE_ENV !== 'production') {\n boundMethod.__reactBoundContext = component;\n boundMethod.__reactBoundMethod = method;\n boundMethod.__reactBoundArguments = null;\n var componentName = component.constructor.displayName;\n var _bind = boundMethod.bind;\n boundMethod.bind = function(newThis) {\n for (\n var _len = arguments.length,\n args = Array(_len > 1 ? _len - 1 : 0),\n _key = 1;\n _key < _len;\n _key++\n ) {\n args[_key - 1] = arguments[_key];\n }\n\n // User is trying to bind() an autobound method; we effectively will\n // ignore the value of \"this\" that the user is trying to use, so\n // let's warn.\n if (newThis !== component && newThis !== null) {\n if (process.env.NODE_ENV !== 'production') {\n warning(\n false,\n 'bind(): React component methods may only be bound to the ' +\n 'component instance. See %s',\n componentName\n );\n }\n } else if (!args.length) {\n if (process.env.NODE_ENV !== 'production') {\n warning(\n false,\n 'bind(): You are binding a component method to the component. ' +\n 'React does this for you automatically in a high-performance ' +\n 'way, so you can safely remove this call. See %s',\n componentName\n );\n }\n return boundMethod;\n }\n var reboundMethod = _bind.apply(boundMethod, arguments);\n reboundMethod.__reactBoundContext = component;\n reboundMethod.__reactBoundMethod = method;\n reboundMethod.__reactBoundArguments = args;\n return reboundMethod;\n };\n }\n return boundMethod;\n }\n\n /**\n * Binds all auto-bound methods in a component.\n *\n * @param {object} component Component whose method is going to be bound.\n */\n function bindAutoBindMethods(component) {\n var pairs = component.__reactAutoBindPairs;\n for (var i = 0; i < pairs.length; i += 2) {\n var autoBindKey = pairs[i];\n var method = pairs[i + 1];\n component[autoBindKey] = bindAutoBindMethod(component, method);\n }\n }\n\n var IsMountedPreMixin = {\n componentDidMount: function() {\n this.__isMounted = true;\n }\n };\n\n var IsMountedPostMixin = {\n componentWillUnmount: function() {\n this.__isMounted = false;\n }\n };\n\n /**\n * Add more to the ReactClass base class. These are all legacy features and\n * therefore not already part of the modern ReactComponent.\n */\n var ReactClassMixin = {\n /**\n * TODO: This will be deprecated because state should always keep a consistent\n * type signature and the only use case for this, is to avoid that.\n */\n replaceState: function(newState, callback) {\n this.updater.enqueueReplaceState(this, newState, callback);\n },\n\n /**\n * Checks whether or not this composite component is mounted.\n * @return {boolean} True if mounted, false otherwise.\n * @protected\n * @final\n */\n isMounted: function() {\n if (process.env.NODE_ENV !== 'production') {\n warning(\n this.__didWarnIsMounted,\n '%s: isMounted is deprecated. Instead, make sure to clean up ' +\n 'subscriptions and pending requests in componentWillUnmount to ' +\n 'prevent memory leaks.',\n (this.constructor && this.constructor.displayName) ||\n this.name ||\n 'Component'\n );\n this.__didWarnIsMounted = true;\n }\n return !!this.__isMounted;\n }\n };\n\n var ReactClassComponent = function() {};\n _assign(\n ReactClassComponent.prototype,\n ReactComponent.prototype,\n ReactClassMixin\n );\n\n /**\n * Creates a composite component class given a class specification.\n * See https://facebook.github.io/react/docs/top-level-api.html#react.createclass\n *\n * @param {object} spec Class specification (which must define `render`).\n * @return {function} Component constructor function.\n * @public\n */\n function createClass(spec) {\n // To keep our warnings more understandable, we'll use a little hack here to\n // ensure that Constructor.name !== 'Constructor'. This makes sure we don't\n // unnecessarily identify a class without displayName as 'Constructor'.\n var Constructor = identity(function(props, context, updater) {\n // This constructor gets overridden by mocks. The argument is used\n // by mocks to assert on what gets mounted.\n\n if (process.env.NODE_ENV !== 'production') {\n warning(\n this instanceof Constructor,\n 'Something is calling a React component directly. Use a factory or ' +\n 'JSX instead. See: https://fb.me/react-legacyfactory'\n );\n }\n\n // Wire up auto-binding\n if (this.__reactAutoBindPairs.length) {\n bindAutoBindMethods(this);\n }\n\n this.props = props;\n this.context = context;\n this.refs = emptyObject;\n this.updater = updater || ReactNoopUpdateQueue;\n\n this.state = null;\n\n // ReactClasses doesn't have constructors. Instead, they use the\n // getInitialState and componentWillMount methods for initialization.\n\n var initialState = this.getInitialState ? this.getInitialState() : null;\n if (process.env.NODE_ENV !== 'production') {\n // We allow auto-mocks to proceed as if they're returning null.\n if (\n initialState === undefined &&\n this.getInitialState._isMockFunction\n ) {\n // This is probably bad practice. Consider warning here and\n // deprecating this convenience.\n initialState = null;\n }\n }\n _invariant(\n typeof initialState === 'object' && !Array.isArray(initialState),\n '%s.getInitialState(): must return an object or null',\n Constructor.displayName || 'ReactCompositeComponent'\n );\n\n this.state = initialState;\n });\n Constructor.prototype = new ReactClassComponent();\n Constructor.prototype.constructor = Constructor;\n Constructor.prototype.__reactAutoBindPairs = [];\n\n injectedMixins.forEach(mixSpecIntoComponent.bind(null, Constructor));\n\n mixSpecIntoComponent(Constructor, IsMountedPreMixin);\n mixSpecIntoComponent(Constructor, spec);\n mixSpecIntoComponent(Constructor, IsMountedPostMixin);\n\n // Initialize the defaultProps property after all mixins have been merged.\n if (Constructor.getDefaultProps) {\n Constructor.defaultProps = Constructor.getDefaultProps();\n }\n\n if (process.env.NODE_ENV !== 'production') {\n // This is a tag to indicate that the use of these method names is ok,\n // since it's used with createClass. If it's not, then it's likely a\n // mistake so we'll warn you to use the static property, property\n // initializer or constructor respectively.\n if (Constructor.getDefaultProps) {\n Constructor.getDefaultProps.isReactClassApproved = {};\n }\n if (Constructor.prototype.getInitialState) {\n Constructor.prototype.getInitialState.isReactClassApproved = {};\n }\n }\n\n _invariant(\n Constructor.prototype.render,\n 'createClass(...): Class specification must implement a `render` method.'\n );\n\n if (process.env.NODE_ENV !== 'production') {\n warning(\n !Constructor.prototype.componentShouldUpdate,\n '%s has a method called ' +\n 'componentShouldUpdate(). Did you mean shouldComponentUpdate()? ' +\n 'The name is phrased as a question because the function is ' +\n 'expected to return a value.',\n spec.displayName || 'A component'\n );\n warning(\n !Constructor.prototype.componentWillRecieveProps,\n '%s has a method called ' +\n 'componentWillRecieveProps(). Did you mean componentWillReceiveProps()?',\n spec.displayName || 'A component'\n );\n warning(\n !Constructor.prototype.UNSAFE_componentWillRecieveProps,\n '%s has a method called UNSAFE_componentWillRecieveProps(). ' +\n 'Did you mean UNSAFE_componentWillReceiveProps()?',\n spec.displayName || 'A component'\n );\n }\n\n // Reduce time spent doing lookups by setting these on the prototype.\n for (var methodName in ReactClassInterface) {\n if (!Constructor.prototype[methodName]) {\n Constructor.prototype[methodName] = null;\n }\n }\n\n return Constructor;\n }\n\n return createClass;\n}\n\nmodule.exports = factory;\n","/*\nobject-assign\n(c) Sindre Sorhus\n@license MIT\n*/\n\n'use strict';\n/* eslint-disable no-unused-vars */\nvar getOwnPropertySymbols = Object.getOwnPropertySymbols;\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\nvar propIsEnumerable = Object.prototype.propertyIsEnumerable;\n\nfunction toObject(val) {\n\tif (val === null || val === undefined) {\n\t\tthrow new TypeError('Object.assign cannot be called with null or undefined');\n\t}\n\n\treturn Object(val);\n}\n\nfunction shouldUseNative() {\n\ttry {\n\t\tif (!Object.assign) {\n\t\t\treturn false;\n\t\t}\n\n\t\t// Detect buggy property enumeration order in older V8 versions.\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=4118\n\t\tvar test1 = new String('abc'); // eslint-disable-line no-new-wrappers\n\t\ttest1[5] = 'de';\n\t\tif (Object.getOwnPropertyNames(test1)[0] === '5') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test2 = {};\n\t\tfor (var i = 0; i < 10; i++) {\n\t\t\ttest2['_' + String.fromCharCode(i)] = i;\n\t\t}\n\t\tvar order2 = Object.getOwnPropertyNames(test2).map(function (n) {\n\t\t\treturn test2[n];\n\t\t});\n\t\tif (order2.join('') !== '0123456789') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test3 = {};\n\t\t'abcdefghijklmnopqrst'.split('').forEach(function (letter) {\n\t\t\ttest3[letter] = letter;\n\t\t});\n\t\tif (Object.keys(Object.assign({}, test3)).join('') !==\n\t\t\t\t'abcdefghijklmnopqrst') {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn true;\n\t} catch (err) {\n\t\t// We don't expect any of the above to throw, but better to be safe.\n\t\treturn false;\n\t}\n}\n\nmodule.exports = shouldUseNative() ? Object.assign : function (target, source) {\n\tvar from;\n\tvar to = toObject(target);\n\tvar symbols;\n\n\tfor (var s = 1; s < arguments.length; s++) {\n\t\tfrom = Object(arguments[s]);\n\n\t\tfor (var key in from) {\n\t\t\tif (hasOwnProperty.call(from, key)) {\n\t\t\t\tto[key] = from[key];\n\t\t\t}\n\t\t}\n\n\t\tif (getOwnPropertySymbols) {\n\t\t\tsymbols = getOwnPropertySymbols(from);\n\t\t\tfor (var i = 0; i < symbols.length; i++) {\n\t\t\t\tif (propIsEnumerable.call(from, symbols[i])) {\n\t\t\t\t\tto[symbols[i]] = from[symbols[i]];\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\treturn to;\n};\n","'use strict';\n\nvar isArray = Array.isArray;\nvar keyList = Object.keys;\nvar hasProp = Object.prototype.hasOwnProperty;\n\nmodule.exports = function equal(a, b) {\n if (a === b) return true;\n\n if (a && b && typeof a == 'object' && typeof b == 'object') {\n var arrA = isArray(a)\n , arrB = isArray(b)\n , i\n , length\n , key;\n\n if (arrA && arrB) {\n length = a.length;\n if (length != b.length) return false;\n for (i = length; i-- !== 0;)\n if (!equal(a[i], b[i])) return false;\n return true;\n }\n\n if (arrA != arrB) return false;\n\n var dateA = a instanceof Date\n , dateB = b instanceof Date;\n if (dateA != dateB) return false;\n if (dateA && dateB) return a.getTime() == b.getTime();\n\n var regexpA = a instanceof RegExp\n , regexpB = b instanceof RegExp;\n if (regexpA != regexpB) return false;\n if (regexpA && regexpB) return a.toString() == b.toString();\n\n var keys = keyList(a);\n length = keys.length;\n\n if (length !== keyList(b).length)\n return false;\n\n for (i = length; i-- !== 0;)\n if (!hasProp.call(b, keys[i])) return false;\n\n for (i = length; i-- !== 0;) {\n key = keys[i];\n if (!equal(a[key], b[key])) return false;\n }\n\n return true;\n }\n\n return a!==a && b!==b;\n};\n","// ## Components\nexport const ACCORDION = 'SLDSAccordion';\nexport const ACCORDION_PANEL = 'SLDSAccordionPanel';\nexport const ALERT = 'SLDSAlert';\nexport const ALERT_CONTAINER = 'SLDSAlertContainer';\nexport const APP_LAUNCHER = 'SLDSAppLauncher';\nexport const APP_LAUNCHER_EXPANDABLE_SECTION =\n\t'SLDSAppLauncherExpandableSection';\n/* Remove at next breaking change */\nexport const APP_LAUNCHER_SECTION = 'SLDSAppLauncherSection';\nexport const APP_LAUNCHER_LINK = 'SLDSAppLauncherLink';\nexport const APP_LAUNCHER_TILE = 'SLDSAppLauncherTile';\nexport const APP_LAUNCHER_HEADER = 'SLDSAppLauncherHeader';\nexport const AVATAR = 'SLDSAvatar';\nexport const BADGE = 'SLDSBadge';\n\nexport const BRAND_BAND = 'SLDSBrandBand';\n\n/* Remove at next breaking change */\nexport const BREAD_CRUMB = 'SLDSBreadcrumb';\n\nexport const BREADCRUMB = 'SLDSBreadcrumb';\nexport const BUILDER_HEADER = 'SLDSBuilderHeader';\nexport const BUILDER_HEADER_MISC = 'SLDSBuilderHeaderMisc';\nexport const BUILDER_HEADER_NAV = 'SLDSBuilderHeaderNav';\nexport const BUILDER_HEADER_NAV_DROPDOWN = 'SLDSBuilderHeaderNavDropdown';\nexport const BUILDER_HEADER_NAV_LINK = 'SLDSBuilderHeaderNavLink';\nexport const BUILDER_HEADER_TOOLBAR = 'SLDSBuilderHeaderToolbar';\nexport const BUTTON = 'SLDSButton';\nexport const BUTTON_GROUP = 'SLDSButtonGroup';\nexport const BUTTON_STATEFUL = 'SLDSButtonStateful';\nexport const BUTTON_ICON = 'SLDSButtonIcon'; // a non-interctive icon wrapper for SLDSUtilityIcon\nexport const CARD = 'SLDSCard';\nexport const CARD_BODY = 'SLDSCardBody';\nexport const CARD_EMPTY = 'SLDSCardEmpty';\nexport const CARD_FILTER = 'SLDSCardFilter';\nexport const CARD_FOOTER = 'SLDSCardFooter';\nexport const CARD_HEADER = 'SLDSCardHeader';\nexport const CAROUSEL = 'SLDSCarousel';\nexport const CAROUSEL_INDICATORS = 'SLDSCarouselIndicators';\nexport const CAROUSEL_ITEM = 'SLDSCarouselItem';\nexport const CAROUSEL_NAVIGATORS = 'SLDSCarouselNavigators';\nexport const CAROUSEL_AUTOPLAY_BUTTON = 'SLDSCarouselAutoplayButton';\nexport const COLOR_PICKER = 'SLDSColorPicker';\nexport const COMBOBOX = 'SLDSCombobox';\nexport const DATA_TABLE = 'SLDSDataTable';\nexport const DATA_TABLE_CELL = 'SLDSDataTableCell';\nexport const DATA_TABLE_COLUMN = 'SLDSDataTableColumn';\nexport const DATA_TABLE_HEAD = 'SLDSDataTableHead';\nexport const DATA_TABLE_HEADER_CELL = 'SLDSDataTableHeaderCell';\nexport const DATA_TABLE_ROW_ACTIONS = 'SLDSDataTableRowActions';\nexport const DATA_TABLE_ROW = 'SLDSDataTableRow';\nexport const DATE_PICKER = 'SLDSDatePicker';\nexport const DEPRECATED_WARNING = 'SLDSDeprecatedWarning';\nexport const DYNAMIC_ICON = 'SLDSDynamicIcon';\nexport const DIALOG = 'SLDSDialog';\nexport const FILES = 'SLDSFiles';\nexport const FILES_FILE = `SLDSFilesFile`;\nexport const FILES_MORE = `SLDSFilesMore`;\nexport const FILES_FIGURE = 'SLDSFilesFigure';\nexport const FILES_ACTIONS = 'SLDSFilesActions';\nexport const EXPANDABLE_SECTION = 'SLDSExpandableSection';\nexport const EXPRESSION = 'SLDSExpression';\nexport const EXPRESSION_GROUP = 'SLDSExpressionGroup';\nexport const EXPRESSION_CONDITION = 'SLDSExpressionCondition';\nexport const EXPRESSION_FORMULA = 'SLDSExpressionFormula';\nexport const FILTER = 'SLDSFilter';\nexport const CHECKBOX = 'SLDSCheckbox';\nexport const FORMS_INLINE_EDIT = 'SLDSInlineEdit';\nexport const INPUT = 'SLDSInput';\nexport const TEXTAREA = 'SLDSTextarea';\nexport const SEARCH = 'SLDSSearch';\nexport const GLOBAL_HEADER = 'SLDSGlobalHeader';\nexport const GLOBAL_HEADER_BUTTON = 'SLDSGlobalHeaderButton';\nexport const GLOBAL_HEADER_DROPDOWN = 'SLDSGlobalHeaderDropdown';\nexport const GLOBAL_HEADER_FAVORITES = 'SLDSGlobalHeaderFavorites';\nexport const GLOBAL_HEADER_HELP = 'SLDSGlobalHeaderHelp';\nexport const GLOBAL_HEADER_NOTIFICATIONS = 'SLDSGlobalHeaderNotifications';\nexport const GLOBAL_HEADER_PROFILE = 'SLDSGlobalHeaderProfile';\nexport const GLOBAL_HEADER_SEARCH = 'SLDSGlobalHeaderSearch';\nexport const GLOBAL_HEADER_SETUP = 'SLDSGlobalHeaderSetup';\nexport const GLOBAL_HEADER_TASK = 'SLDSGlobalHeaderTask';\nexport const GLOBAL_HEADER_TOOL = 'SLDSGlobalHeaderTool';\nexport const GLOBAL_NAVIGATION_BAR = 'SLDSGlobalNavigationBar';\nexport const GLOBAL_NAVIGATION_BAR_BUTTON = 'SLDSGlobalNavigationBarButton';\nexport const GLOBAL_NAVIGATION_BAR_DROPDOWN = 'SLDSGlobalNavigationBarDropdown';\nexport const GLOBAL_NAVIGATION_BAR_LABEL = 'SLDSGlobalNavigationBarLabel';\nexport const GLOBAL_NAVIGATION_BAR_LINK = 'SLDSGlobalNavigationBarLink';\nexport const GLOBAL_NAVIGATION_BAR_REGION = 'SLDSGlobalNavigationBarRegion';\nexport const GLOBAL_NAVIGATION_BAR_APP_LAUNCHER =\n\t'SLDSGlobalNavigationBarAppLauncher';\nexport const GRID = 'SLDSGrid';\nexport const HIGHLIGHTER = 'SLDSHighlighter';\nexport const ICON = 'SLDSIcon';\nexport const ICON_SETTINGS = 'SLDSIconSettings';\nexport const ICON_INPUT = 'SLDSIconInput';\nexport const ILLUSTRATION = 'SLDSIllustration';\nexport const LIST = 'SLDSList';\nexport const LIST_ITEM = 'SLDSListItem';\nexport const LIST_ITEM_LABEL = 'SLDSListItemLabel';\nexport const LISTBOX_OF_PILL_OPTIONS = 'SLDSListboxOfPillOptions';\nexport const LOCATION_MAP = 'SLDSLocationMap';\nexport const LOOKUP = 'SLDSLookup';\nexport const MEDIA_OBJECT = 'SLDSMediaObject';\nexport const MENU_DROPDOWN = 'SLDSMenuDropdown';\nexport const MENU_DROPDOWN_TRIGGER = 'SLDSMenuDropdownTrigger';\nexport const MENU_PICKLIST = 'SLDSMenuPicklist';\nexport const MODAL = 'SLDSModal';\nexport const NOTIFICATION = 'SLDSNotification';\nexport const PANEL = 'SLDSPanel';\nexport const PANEL_FILTER_GROUP = 'SLDSFilterGroup';\nexport const PANEL_FILTER_LIST = 'SLDSFilterList';\nexport const PANEL_FILTER_LIST_HEADING = 'SLDSPanelFilterListHeading';\nexport const PAGE_HEADER = 'SLDSPageHeader';\nexport const PAGE_HEADER_CONTROL = 'SLDSPageHeaderControl';\nexport const PILL = 'SLDSPill';\nexport const PILL_CONTAINER = 'SLDSPillContainer';\nexport const POPOVER = 'SLDSPopover';\nexport const POPOVER_EDIT_DIALOG = 'SLDSPopoverEditDialog';\nexport const POPOVER_TOOLTIP = 'SLDSPopoverTooltip';\nexport const PROGRESS_INDICATOR = 'SLDSProgressIndicator';\nexport const PROGRESS_INDICATOR_PROGRESS = 'SLDSProgressIndicatorProgress';\nexport const PROGRESS_INDICATOR_STEP = 'SLDSProgressIndicatorStep';\nexport const PROGRESS_INDICATOR_STEP_VERTICAL =\n\t'SLDSProgressIndicatorStepVertical';\nexport const PROGRESS_RING = 'SLDSProgressRing';\nexport const PROGRESS_BAR = 'SLDSProgressBar';\nexport const SETUP_ASSISTANT = 'SLDSSetupAssistant';\nexport const SETUP_ASSISTANT_STEP = 'SLDSSetupAssistantStep';\nexport const SCOPED_NOTIFICATION = 'SLDSScopedNotification';\nexport const SLIDER = 'SLDSSlider';\nexport const SPINNER = 'SLDSSpinner';\nexport const SPLIT_VIEW = 'SLDSSplitView';\nexport const SPLIT_VIEW_HEADER = 'SLDSSplitViewHeader';\nexport const SPLIT_VIEW_LISTBOX = 'SLDSSplitViewListbox';\nexport const RADIO = 'SLDSRadio';\nexport const RADIO_GROUP = 'SLDSRadioGroup';\nexport const RADIO_BUTTON_GROUP = 'SLDSRadioButtonGroup';\nexport const TAB = 'SLDSTab';\nexport const TAB_ITEM = 'SLDSTabItem';\nexport const TAB_PANEL = 'SLDSTabPanel';\nexport const TABS = 'SLDSTabs';\nexport const TABS_LIST = 'SLDSTabsList';\nexport const TABS_PANEL = 'SLDSTabsPanel';\nexport const TIME_PICKER = 'SLDSTimepicker';\nexport const TOAST = 'SLDSToast';\nexport const TOAST_CONTAINER = 'SLDSToastContainer';\nexport const TREE = 'SLDSTree';\nexport const TREE_BRANCH = 'SLDSTreeBranch';\nexport const TREE_ITEM = 'SLDSTreeItem';\nexport const TRIAL_BAR = 'SLDSTrialBar';\nexport const TRIAL_BAR_DROPDOWN = 'SLDSTrialBarDropdown';\nexport const TRIAL_BAR_BUTTON = 'SLDSTrialBarButton';\nexport const VERTICAL_NAVIGATION = 'SLDSVerticalNavigation';\nexport const VERTICAL_NAVIGATION_ITEM = 'SLDSVerticalNavigationItem';\nexport const VISUAL_PICKER = 'SLDSVisualPicker';\nexport const VISUAL_PICKER_LINK = 'SLDSVisualPickerLink';\nexport const WELCOME_MAT = 'SLDSWelcomeMat';\nexport const WELCOME_MAT_TILE = 'SLDSWelcomeMatTile';\nexport const WELCOME_MAT_BADGE = 'SLDSWelcomeMatBadge';\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// Implements the [Accordion design\n// pattern](https://www.lightningdesignsystem.com/components/accordion/) in\n// React. Based on SLDS v2.4.3\n\nimport React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport shortid from 'shortid';\n\nimport { ACCORDION } from '../../utilities/constants';\n\nconst propTypes = {\n\t/**\n\t * CSS class names to be added to the accordion component. _Tested with snapshot testing._\n\t */\n\tclassName: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\t/**\n\t * HTML id for accordion component. _Tested with snapshot testing._\n\t */\n\tid: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n\t/**\n\t * The panel content for the Accordion component. Accordion panels should be added as <AccordionPanel />. Event handler for the accordion panels should be added to `<AccordionPanel />`. Optional `panelContentActions` component may be passed as prop. _Tested with Mocha framework and snapshot testing._\n\t *\n\t * Example:\n\t * ```\n\t * <SLDSAccordion>\n\t * <SLDSAccordionpanel />\n\t * <SLDSAccordionpanel />\n\t * <SLDSAccordionpanel />\n\t * </SLDSAccordion>\n\t * ```\n\t */\n\tchildren: PropTypes.node.isRequired,\n};\n\n/**\n * An accordion allows a user to toggle the display of sections of content.\n * The accordion component wraps accordion panels that can be selected and expanded. It accepts children to define the content displayed within.\n */\nclass Accordion extends Component {\n\tconstructor(props) {\n\t\tsuper(props);\n\t\tthis.state = { currButtonIndex: 0 };\n\t\tthis.summaryButtons = [];\n\t\tthis.generatedId = shortid.generate();\n\t}\n\n\tcomponentDidUpdate(prevProps, prevState) {\n\t\tif (\n\t\t\tthis.state.currButtonIndex !== null &&\n\t\t\tthis.state.currButtonIndex !== prevState.currButtonIndex\n\t\t) {\n\t\t\tthis.summaryButtons[this.state.currButtonIndex].focus();\n\t\t}\n\t}\n\n\tonClickSummary() {\n\t\tthis.setState({ currButtonIndex: null });\n\t}\n\n\tonKeyDownSummary(e) {\n\t\tlet buttonIndex = this.state.currButtonIndex;\n\t\tif (buttonIndex === null) {\n\t\t\tbuttonIndex = this.summaryButtons.findIndex(\n\t\t\t\t(el) => el.id === e.target.id\n\t\t\t);\n\t\t}\n\n\t\tif (e.key === 'ArrowDown') {\n\t\t\te.preventDefault();\n\t\t\tif (buttonIndex < this.props.children.length - 1) {\n\t\t\t\tthis.setState({\n\t\t\t\t\tcurrButtonIndex: buttonIndex + 1,\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\tthis.setState({ currButtonIndex: 0 });\n\t\t\t}\n\t\t} else if (e.key === 'ArrowUp') {\n\t\t\te.preventDefault();\n\t\t\tif (buttonIndex > 0) {\n\t\t\t\tthis.setState({\n\t\t\t\t\tcurrButtonIndex: buttonIndex - 1,\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\tthis.setState({ currButtonIndex: this.props.children.length - 1 });\n\t\t\t}\n\t\t}\n\t}\n\n\taddSummaryButton(button) {\n\t\tconst btnInArr = this.summaryButtons.find((el) => button === el);\n\t\tif (button !== null && btnInArr === undefined) {\n\t\t\t// eslint-disable-next-line fp/no-mutating-methods\n\t\t\tthis.summaryButtons.push(button);\n\t\t}\n\t}\n\n\trender() {\n\t\treturn (\n\t\t\t<ul\n\t\t\t\tname={this.props.id || this.generatedId}\n\t\t\t\tclassName={classNames('slds-accordion', this.props.className)}\n\t\t\t>\n\t\t\t\t{React.Children.map(this.props.children, (child) =>\n\t\t\t\t\tReact.cloneElement(child, {\n\t\t\t\t\t\trefs: { summaryButton: this.addSummaryButton.bind(this) },\n\t\t\t\t\t\tonClickSummary: this.onClickSummary.bind(this),\n\t\t\t\t\t\tonKeyDownSummary: this.onKeyDownSummary.bind(this),\n\t\t\t\t\t})\n\t\t\t\t)}\n\t\t\t</ul>\n\t\t);\n\t}\n}\n\nAccordion.displayName = ACCORDION;\nAccordion.propTypes = propTypes;\n\nexport default Accordion;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n/* eslint-disable import/no-mutable-exports */\n\n// This function will deliver an error message to the browser console about the removal of a property.\nimport warning from 'warning';\n\nlet sunset = function sunsetFunction() {};\n\nif (process.env.NODE_ENV !== 'production') {\n\tconst hasWarned = {};\n\n\tsunset = function sunsetFunction(control, propValue, oldProp, comment) {\n\t\tconst additionalComment = comment ? ` ${comment}` : '';\n\t\tif (!hasWarned[control + oldProp]) {\n\t\t\t/* eslint-disable max-len */\n\t\t\twarning(\n\t\t\t\t!propValue,\n\t\t\t\t`[Design System React] \\`${oldProp}\\` has reached End-of-Life and has been removed from the API of ${control}. Please update your API.${additionalComment}`\n\t\t\t);\n\t\t\t/* eslint-enable max-len */\n\t\t\thasWarned[control + oldProp] = !!propValue;\n\t\t}\n\t};\n}\n\nexport default sunset;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n/* eslint-disable import/no-mutable-exports */\n\nimport sunsetProperty from '../../../utilities/warning/sunset-property';\n\nlet checkProps = function checkPropsFunction() {};\n\nif (process.env.NODE_ENV !== 'production') {\n\tcheckProps = function checkPropsFunction(COMPONENT, props) {\n\t\t/* eslint-disable max-len */\n\t\tsunsetProperty(\n\t\t\tCOMPONENT,\n\t\t\tprops.assistiveText,\n\t\t\t'assistiveText',\n\t\t\t'The wrapping span and assistive text has been removed from this component in order to make it a more pure \"higher-level component\" of `UtilityIcon`.'\n\t\t);\n\t};\n}\n\nexport default checkProps;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n/* eslint-disable import/no-mutable-exports */\n/* global XMLHttpRequest, window */\n\n// This function does an \"AJAX\" request to warn users on how to setup their icon path.\nimport warning from 'warning';\n\nlet urlExists = function urlExistsFunction() {};\n\nif (process.env.NODE_ENV !== 'production') {\n\tconst hasWarned = {};\n\tlet hasExecuted;\n\n\tconst warn = (control, url, comment) => (res) => {\n\t\thasExecuted = true;\n\t\tif (res.status === 404) {\n\t\t\tconst additionalComment = comment ? ` ${comment}` : '';\n\t\t\t/* eslint-disable max-len */\n\t\t\twarning(\n\t\t\t\t!url,\n\t\t\t\t`The icon asset was not found at ${url}. Make sure the path to the icon asset is correct. You can set the icon path by importing the IconSettings component, \\`<IconSettings iconPath=[/assets/icons]>\\` from \\`components/iconSettings\\`, and wrap that component around your entire app or around individual components using icons. If you are using the \\`<Icon>\\` component, you can also pass the url to \\`this.props.path\\`.${additionalComment}`\n\t\t\t);\n\t\t\t/* eslint-enable max-len */\n\t\t\thasWarned[`${control}-path`] = !!url;\n\t\t}\n\t};\n\n\tconst shouldWarn = (control) =>\n\t\t!hasExecuted &&\n\t\t!hasWarned[`${control}-path`] &&\n\t\ttypeof window !== 'undefined' &&\n\t\tprocess.env.NODE_ENV !== 'test';\n\n\tif (typeof fetch === 'function') {\n\t\turlExists = function urlExistsFunction(control, url, comment) {\n\t\t\tif (shouldWarn(control)) {\n\t\t\t\tfetch(url).then(warn(control, url, comment));\n\t\t\t}\n\t\t};\n\t} else {\n\t\t// Using XMLHttpRequest can cause problems in non-browser environments. This should be completely removed in production environment and should not execute in a testing environment.\n\t\turlExists = function urlExistsFunction(control, url, comment) {\n\t\t\tif (shouldWarn(control) && XMLHttpRequest) {\n\t\t\t\tconst http = new XMLHttpRequest();\n\t\t\t\thttp.open('GET', url, false);\n\t\t\t\thttp.send();\n\t\t\t\twarn(control, url, comment)(http);\n\t\t\t}\n\t\t};\n\t}\n}\n\nexport default urlExists;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\nimport React from 'react';\n\n// Constants to specify directions: Left-to-Right (ltr) or Right-to-Left (rtl)\nconst DIRECTIONS = {};\nDIRECTIONS.LTR = 'ltr';\nDIRECTIONS.RTL = 'rtl';\n\n/*\n * Use this React context to wrap your component(s) to specify direction. Use either `DIRECTIONS.LTR` (ltr) or `DIRECTIONS.LTR` (rtl).\n * It's also expected that the `HTML` document of your markup has `dir='ltr'` or `dir='rtl'` attribute set.\n * The dir attribute is essential to set the direction of text to display and enable HTML in right-to-left.\n * For instance, setting `dir='rtl'` will cause block elements and table columns to start on the right and flow from right to left.\n *\n * Note: (1) This context is prefixed with UNSAFE because it is not a publicly supported feature.\n * (2) When testing this feature in the storybooks, styles consumed from `salesforce-lightning-design-system.css` may appear broken.\n * This is expected since Design System React loads only the LTR version since SLDS doesn't ship a static version of RTL.\n * Example on how to use the context to set your component right-to-left:\n * <UNSAFE_DirectionSettings.Provider value=\"rtl\">\n * <Combobox ... />\n * </UNSAFE_DirectionSettings.Provider>\n */\n// eslint-disable-next-line camelcase\nconst UNSAFE_DirectionSettings = React.createContext('ltr');\n\n// eslint-disable-next-line camelcase\nexport { UNSAFE_DirectionSettings as default, DIRECTIONS };\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n/* eslint-disable import/no-mutable-exports */\n\nimport urlExists from '../../../utilities/warning/url-exists';\nimport { DIRECTIONS } from '../UNSAFE_direction';\n\nlet checkProps = function checkPropsFunction() {};\n\nif (process.env.NODE_ENV !== 'production') {\n\tcheckProps = function checkPropsFunction(COMPONENT, props) {\n\t\tif (\n\t\t\t!props.context[`${props.category}Sprite`] &&\n\t\t\t!props.context.onRequestIconPath\n\t\t) {\n\t\t\tconst modifiedPath = props.path || props.context.iconPath;\n\t\t\tconst svgAssetName =\n\t\t\t\tprops.direction === DIRECTIONS.RTL ? 'symbols-rtl.svg' : 'symbols.svg';\n\t\t\turlExists(\n\t\t\t\tCOMPONENT,\n\t\t\t\t`${modifiedPath}/${props.category}-sprite/svg/${svgAssetName}#${props.name}`\n\t\t\t);\n\t\t}\n\t};\n}\n\nexport default checkProps;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\nimport React from 'react';\n\nclass Svg extends React.Component {\n\tstatic displayName = 'Svg';\n\n\tgetPaths = (paths) => {\n\t\tif (paths instanceof Array) {\n\t\t\treturn paths.map((item) => <path {...item} />);\n\t\t}\n\t\treturn <path key=\"pathSVG\" {...paths} />;\n\t};\n\n\tgetCircles = (circles) => {\n\t\tif (circles instanceof Array) {\n\t\t\treturn circles.map((item) => <circle {...item} />);\n\t\t}\n\t\treturn <circle key=\"circleSVG\" {...circles} />;\n\t};\n\n\tgetEllipses = (ellipses) => {\n\t\tif (ellipses instanceof Array) {\n\t\t\treturn ellipses.map((item) => <ellipse {...item} />);\n\t\t}\n\t\treturn <ellipse key=\"ellipseSVG\" {...ellipses} />;\n\t};\n\n\tgetGroups = (groups) => {\n\t\tif (groups instanceof Array) {\n\t\t\treturn groups.map((item) => <g>{this.getShapes(item)}</g>);\n\t\t}\n\n\t\treturn <g key=\"groupsSVG\">{this.getShapes(groups)}</g>;\n\t};\n\n\tgetShapes = (data) => {\n\t\tconst shapes = [];\n\n\t\tif (data) {\n\t\t\tif (data.g) {\n\t\t\t\t// eslint-disable-next-line fp/no-mutating-methods\n\t\t\t\tshapes.push(this.getGroups(data.g));\n\t\t\t}\n\n\t\t\tif (data.ellipse) {\n\t\t\t\t// eslint-disable-next-line fp/no-mutating-methods\n\t\t\t\tshapes.push(this.getEllipses(data.ellipse));\n\t\t\t}\n\n\t\t\tif (data.circle) {\n\t\t\t\t// eslint-disable-next-line fp/no-mutating-methods\n\t\t\t\tshapes.push(this.getCircles(data.circle));\n\t\t\t}\n\n\t\t\tif (data.path) {\n\t\t\t\t// eslint-disable-next-line fp/no-mutating-methods\n\t\t\t\tshapes.push(this.getPaths(data.path));\n\t\t\t}\n\t\t}\n\t\treturn shapes;\n\t};\n\n\tgetSVG = ({ viewBox, ...rest }, props) => (\n\t\t<svg\n\t\t\taria-hidden={props['aria-hidden']}\n\t\t\tclassName={props.className}\n\t\t\tviewBox={viewBox}\n\t\t\tname={props.name}\n\t\t\tstyle={props.style}\n\t\t>\n\t\t\t{this.getShapes(rest)}\n\t\t</svg>\n\t);\n\n\trender() {\n\t\tconst { data, ...props } = this.props;\n\n\t\treturn data ? this.getSVG(data, props) : null;\n\t}\n}\n\nexport default Svg;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n\nlet icons = {}; if ('__INCLUDE_SLDS_ICONS__' === '__INCLUDE_SLDS_ICONS__') { icons = {\nactivity:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M37.618 11.67c-1.54.5-2.783.98-3.723 1.438-.747.364-1.687.901-2.814 1.61.086 1.882.084 3.463-.009 4.754-.094 1.304-.342 3.173-.746 5.63l-.001.003c2.815 2.028 4.848 3.56 6.11 4.604.163.135.633.584.856.783l4.344-1.82.028-.074c.627-1.347 1.145-3.186 1.54-5.507.322-1.899.376-3.99.159-6.276l-5.744-5.144zm-1.51-2.66l-.085-.302A19.816 19.816 0 0026 6c-1.963 0-3.86.285-5.653.816l-.032.77c-.002.548.006 1.172.025 1.871 1.69.237 3.111.549 4.273.941 1.167.395 2.652 1.07 4.478 2.029 1.39-.887 2.55-1.558 3.49-2.016.946-.461 2.12-.927 3.526-1.4zM22.165 42.95c3.618-.378 6.074-.736 7.317-1.06 1.421-.371 2.7-.724 3.83-1.054.86-2.042 1.409-3.576 1.648-4.6.192-.82.397-1.923.616-3.31-.383-.338-.735-.64-1.056-.906-1.257-1.04-3.382-2.637-6.362-4.777-1.382.809-2.58 1.367-3.62 1.675-1.12.332-2.855.604-5.256.835-.88 1.877-1.447 3.354-1.697 4.414-.254 1.078-.492 2.575-.71 4.482.879 1.017 1.622 1.774 2.23 2.271.628.514 1.648 1.19 3.06 2.03zM9.433 37.355h4.577c.2-1.58.419-2.87.657-3.877.273-1.16.817-2.63 1.634-4.424-1.055-1.218-2.377-2.756-2.987-3.701-.524-.811-1.314-1.703-2.217-3.899a5.903 5.903 0 00-1.272.288c-1.127.393-2.356 1.045-3.684 1.958A20.36 20.36 0 006 26.1c0 4.169 1.266 8.043 3.433 11.255zm35.895-6.076a20.187 20.187 0 00.625-6.562c-.333 1.675-.74 3.122-1.225 4.344.15.253.274.536.37.848.101.33.178.787.23 1.37zM10.57 18.5l.13-.214c1.413-2.31 2.502-3.924 3.305-4.882.739-.883 1.853-1.95 3.356-3.226a73.318 73.318 0 01-.045-2.184A20.155 20.155 0 007.04 19.696a15.17 15.17 0 011.852-.795 8.697 8.697 0 011.678-.403zM37.154 42.78c-1.708.587-4.01 1.253-6.913 2.011-1.408.368-3.925.738-7.601 1.125 1.092.186 2.215.283 3.36.283 4.127 0 7.966-1.26 11.154-3.42zM50 26.1c0 13.3-10.755 24.1-24 24.1S2 39.4 2 26.1 12.755 2 26 2s24 10.8 24 24.1z\"}},\nad_set:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":[{\"path\":{\"d\":\"M22.5 5.1h-17c-.8 0-1.5.7-1.5 1.5v15.9c0 .8.7 1.5 1.5 1.5h17c.8 0 1.5-.7 1.5-1.5V6.6c0-.8-.7-1.5-1.5-1.5zm-2.6 8.2H8.1V9.2h11.8v4.1zM46.5 5.1h-17c-.8 0-1.5.7-1.5 1.5v15.9c0 .8.7 1.5 1.5 1.5h17c.8 0 1.5-.7 1.5-1.5V6.6c0-.8-.7-1.5-1.5-1.5zm-2.6 8.2H32.1V9.2h11.8v4.1z\"}},{\"path\":{\"d\":\"M22.5 28h-17c-.8 0-1.5.7-1.5 1.5v15.9c0 .8.7 1.5 1.5 1.5h17c.8 0 1.5-.7 1.5-1.5V29.5c0-.8-.7-1.5-1.5-1.5zm-2.6 8.2H8.1v-4.1h11.8v4.1zM46.5 28h-17c-.8 0-1.5.7-1.5 1.5v15.9c0 .8.7 1.5 1.5 1.5h17c.8 0 1.5-.7 1.5-1.5V29.5c0-.8-.7-1.5-1.5-1.5zm-2.6 8.2H32.1v-4.1h11.8v4.1z\"}}]},\nadd:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M30 29h16.5c.8 0 1.5-.7 1.5-1.5v-3c0-.8-.7-1.5-1.5-1.5H30c-.6 0-1-.4-1-1V5.5c0-.8-.7-1.5-1.5-1.5h-3c-.8 0-1.5.7-1.5 1.5V22c0 .6-.4 1-1 1H5.5c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5H22c.6 0 1 .4 1 1v16.5c0 .8.7 1.5 1.5 1.5h3c.8 0 1.5-.7 1.5-1.5V30c0-.6.4-1 1-1z\"}},\nadduser:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M21.9 37c0-2.7.9-5.8 2.3-8.2 1.7-3 3.6-4.2 5.1-6.4 2.5-3.7 3-9 1.4-13-1.6-4.1-5.4-6.5-9.8-6.4s-8 2.8-9.4 6.9c-1.6 4.5-.9 9.9 2.7 13.3 1.5 1.4 2.9 3.6 2.1 5.7-.7 2-3.1 2.9-4.8 3.7-3.9 1.7-8.6 4.1-9.4 8.7C1.3 45.1 3.9 49 8 49h17c.8 0 1.3-1 .8-1.6-2.5-2.9-3.9-6.6-3.9-10.4z\"},{\"d\":\"M37.9 25c-6.6 0-12 5.4-12 12s5.4 12 12 12 12-5.4 12-12-5.4-12-12-12zM44 38c0 .6-.5 1-1.1 1H40v3c0 .6-.5 1-1.1 1h-2c-.6 0-.9-.4-.9-1v-3h-3.1c-.6 0-.9-.4-.9-1v-2c0-.6.3-1 .9-1H36v-3c0-.6.3-1 .9-1h2c.6 0 1.1.4 1.1 1v3h2.9c.6 0 1.1.4 1.1 1v2z\"}]}},\nadjust_value:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M23 14.91a6.55 6.55 0 11-6.52 6.55A6.53 6.53 0 0123 14.91zm20.7 15.72a.58.58 0 000-.84l-4.12-4.12a.59.59 0 00-.42-.18.61.61 0 00-.43.18L27.39 37.05l-1.7 5.69a.8.8 0 00.79 1 .55.55 0 00.18 0L32.35 42zm-1.45-7.75L46.4 27a.63.63 0 00.43.18.59.59 0 00.42-.18c.73-.73 2.06-1.94 2.06-1.94a2 2 0 000-2.91L47.13 20a2 2 0 00-1.41-.54 2.34 2.34 0 00-1.5.54s-1.33 1.31-1.93 2a.58.58 0 000 .88zM40.1 8.27H6a4 4 0 00-3.93 4v19.07A4 4 0 006 35.28h18.84l3.95-3.94H10.54A4.53 4.53 0 006 26.76v-9.88a4.53 4.53 0 004.56-4.57h25a4.53 4.53 0 004.56 4.57v3L44 15.91v-3.6a4 4 0 00-3.9-4.04z\"}},\nadvanced_function:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M43 6.9V4c0-.8-.7-1.5-1.5-1.5H11.8c-.8 0-1.5.7-1.5 1.5v3.1c0 .3 0 .7.3 1L25.2 26 10.6 43.9c-.2.3-.3.6-.3 1V48c0 .8.7 1.5 1.5 1.5h29.7c.8 0 1.5-.7 1.5-1.5v-2.9c0-.8-.7-1.5-1.5-1.5H18.4l13.3-16.3c.3-.4.4-.8.4-1.4 0-.5-.2-1-.5-1.4L18.4 8.4h23.1c.8 0 1.5-.7 1.5-1.5z\"}},\nadvertising:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M23 27.2h.4c.2-2.7 1.2-5.1 2.7-7-.8-.8-1.8-1.3-3.1-1.3-2.4 0-4.2 1.8-4.2 4.2 0 2.3 1.8 4.1 4.2 4.1z\"},{\"d\":\"M24.2 35.2c.5 0 1-.1 1.2-.1-.8-1.3-1.4-2.7-1.7-4H23c-4.5 0-8.4-3.6-8.4-8.4 0-4.5 3.6-8.4 8.4-8.4 2.5 0 4.9 1.1 6.4 2.9 1.2-.7 2.5-1.1 3.9-1.3-2.3-3.3-6.1-5.4-10.4-5.4-7.2 0-12.6 5.7-12.6 12.6S16 35.7 23.2 35.4c.4-.1.7-.1 1-.2z\"},{\"d\":\"M49.9 45.5v1.4c0 1.6-1.4 3-3 3H22.8c-1.6 0-3-1.4-3-3v-1.4c0-3.6 4.3-5.9 8.3-7.7l.4-.2c.3-.1.6-.1.9.1 1.6 1.1 3.5 1.6 5.4 1.6 1.9 0 3.8-.6 5.4-1.6.3-.2.6-.2.9-.1l.4.2c4.2 1.8 8.4 4 8.4 7.7zM34.8 19.8c4.2 0 7.5 3.7 7.5 8.3s-3.3 8.3-7.5 8.3-7.5-3.7-7.5-8.3 3.4-8.3 7.5-8.3z\"},{\"d\":\"M18.5 39.2c-6.9-2-12.2-8.5-12.2-16.1 0-9.3 7.5-16.8 16.8-16.8 6.9 0 13.1 4.1 15.6 10.2 2 .8 3.8 2.1 5.1 3.8C42.3 9.8 33.6 2.1 23 2.1 11.3 2.1 2.1 11.3 2.1 23c0 9.2 5.8 17 14.2 19.7.4-1.4 1.2-2.5 2.2-3.5z\"}]}},\nagent_home:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M26.71 2.32l23 23a1.15 1.15 0 01.29 1.11c-.08.4-.64.64-1 .64h-5V49a.92.92 0 01-1 1H9a1 1 0 01-1-.88V27H3a.77.77 0 01-.87-.64.87.87 0 01.23-1.11l23-23a1 1 0 011.35.07zM18.29 38h-4.24a.88.88 0 00-.88.88v5.43a.88.88 0 00.88.88h4.24a.89.89 0 00.88-.88v-5.43a.89.89 0 00-.88-.88zm9.59-7.2h-4.24a.9.9 0 00-.88.88v12.63a.89.89 0 00.88.88h4.24a.89.89 0 00.88-.88V31.68a.9.9 0 00-.88-.88zm9.59-7.19h-4.23a.87.87 0 00-.88.88v19.82a.87.87 0 00.88.88h4.23a.87.87 0 00.88-.88V24.49a.87.87 0 00-.88-.88z\",\"fill-rule\":\"evenodd\"}},\nagent_session:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M26 4C12.7 4 2.1 13.8 2.1 25.9c0 3.8 1.1 7.4 2.9 10.6.3.5.4 1.1.2 1.7l-3.1 8.5c-.3.8.5 1.5 1.3 1.3l8.6-3.3c.5-.2 1.1-.1 1.7.2 3.6 2 7.9 3.2 12.5 3.2C39.3 48 50 38.3 50 26.1 49.9 13.8 39.2 4 26 4zm-6.5 32c0 .5-.4.9-.9.9h-4.2c-.5 0-.9-.4-.9-.9v-5.4c0-.5.4-.9.9-.9h4.2c.5 0 .9.4.9.9V36zm9.6 0c0 .5-.4.9-.9.9H24c-.5 0-.9-.4-.9-.9V23.3c0-.5.4-.9.9-.9h4.2c.5 0 .9.4.9.9V36zm9.6 0c0 .5-.4.9-.9.9h-4.2c-.5 0-.9-.4-.9-.9V16.1c0-.5.4-.9.9-.9h4.2c.5 0 .9.4.9.9V36z\"}},\naggregation_policy:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M49.29 43.08l-7.4-7.35a2 2 0 00-.23-.18v-3.18h3.48a1 1 0 00.65-.23 1 1 0 00.14-1.4l-5.9-7-.12-.14a1 1 0 00-1.4.17l-5.89 7a1 1 0 00-.23.63 1 1 0 001 1h3.47v2.88a2.3 2.3 0 00-.68.45l-7.48 7.32a2.4 2.4 0 000 3.39 2.45 2.45 0 003.39 0l4.7-4.67v5.86a2.42 2.42 0 004.84 0v-5.4l4.24 4.22a2.45 2.45 0 003.39 0 2.38 2.38 0 00.03-3.37zM14.38 2H8.14A6.07 6.07 0 002 8v4.8a6.07 6.07 0 006.14 6h6.24a6.07 6.07 0 006.14-6V8a6.07 6.07 0 00-6.14-6zM12 14h-1.48a3.6 3.6 0 010-7.2H12a3.6 3.6 0 010 7.2zM37.74 18.8a6.07 6.07 0 006.14-6V8a6.07 6.07 0 00-6.14-6H31.5a6.07 6.07 0 00-6.14 6v4.8a6.07 6.07 0 006.14 6zm-7.47-8.4a3.6 3.6 0 013.6-3.6h1.49a3.6 3.6 0 110 7.2h-1.49a3.6 3.6 0 01-3.6-3.6zM14.38 23.6H8.14a6.07 6.07 0 00-6.14 6v4.8a6.07 6.07 0 006.14 6h6.24a6.07 6.07 0 006.14-6v-4.8a6.07 6.07 0 00-6.14-6zM12 35.6h-1.48a3.6 3.6 0 110-7.2H12a3.6 3.6 0 010 7.2z\",\"fill-rule\":\"evenodd\"}},\nalert:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M34.7 31l-.4.1c-1.5.5-3.1-.2-3.7-1.7l-3.3-8.8c-2.6-7-10.5-10.4-17.4-7.5C3.4 15.8.5 23.4 2.9 30L6 38.5c.5 1.5-.3 3.1-1.7 3.6l-.4.1c-1.7.6-2.5 2.6-1.9 4.3l.4 1.1c.2.5.9.9 1.5.6l34.4-12.7c.6-.2.9-1 .7-1.6l-.4-1.1c-.3-1.6-2.2-2.5-3.9-1.8zm-8.4 12.6l-7.5 2.8c-.5.2-.7.8-.4 1.2 1.2 2 3.7 2.8 5.9 2 2.2-.8 3.5-3.1 3.2-5.3-.2-.5-.8-.8-1.2-.7zM49.2 28.6c1.7-5.7.8-11.8-2.3-16.8-3.1-5.1-8.2-8.6-14-9.7-.5-.1-.9.2-.9.6l-.5 2.8c-.1.4.2.7.6.8 4.5.9 8.5 3.7 11 7.7s3.1 8.8 1.9 13.3c-.1.4.1.8.5.9l2.7.9c.5 0 .9-.1 1-.5zM38.2 17c-1.6-2.6-4.2-4.3-7.2-4.9-.4-.1-.8.2-.9.6l-.3 2.9c0 .4.2.7.6.8 1.7.4 3.2 1.4 4.1 2.9.9 1.5 1.2 3.3.7 4.9-.1.3.1.7.4.8l2.7 1.1c.4.2.8-.1 1-.5.9-2.9.5-6-1.1-8.6z\"}},\nall:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M31.6 21.6c-1.2 0-2.2-1-2.2-2.2V5.5c0-1.2 1-2.2 2.2-2.2h14.2c1.2 0 2.2 1 2.2 2.2v13.9c0 1.2-1 2.2-2.2 2.2H31.6zM37.7 29.8l-8.2 8.9c-.5.5-.5 1.3 0 1.9l8.2 8.9c.5.6 1.5.6 2 0l8.2-8.9c.5-.5.5-1.3 0-1.9l-8.2-8.9c-.5-.6-1.4-.6-2 0z\"},{\"d\":\"M4.8 6.5L12 2.4c.7-.4 1.5-.4 2.1 0l7.1 4.1c.7.4 1.1 1.1 1.1 1.9v8.2c0 .8-.4 1.5-1.1 1.9l-7.1 4.1c-.7.4-1.5.4-2.1 0l-7.2-4.1c-.7-.4-1.1-1.1-1.1-1.9V8.4c0-.8.4-1.5 1.1-1.9z\"}],\"circle\":{\"cx\":\"13\",\"cy\":\"39.4\",\"r\":\"9.3\"}},\nanchor:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M48 35.7l-2.4-10.2c-.3-1.1-1.7-1.5-2.5-.8l-7.7 7.1c-.9.8-.5 2.2.6 2.5l3.3 1c-.3.7-.6 1.4-1 2-1.8 3-4.7 4.9-9.3 5.5v-25c2.6-1.1 4.4-3.7 4.4-6.7 0-4-3.3-7.3-7.3-7.3-4.1 0-7.3 3.3-7.3 7.3 0 3 1.8 5.5 4.4 6.7v25c-4.6-.6-7.5-2.5-9.3-5.5-.4-.7-.7-1.3-1-2l3.3-1c1.1-.3 1.4-1.8.6-2.5l-7.8-7c-.9-.8-2.2-.4-2.5.8L4 35.7c-.3 1.1.8 2.1 1.9 1.8l2.6-.8c.4 1.1.8 2.1 1.4 3.1 2.9 4.9 8.2 7.8 16 7.8s13-2.9 16-7.8c.6-1 1.1-2.1 1.4-3.1l2.6.8c1.3.3 2.3-.7 2.1-1.8zM26 14.2c-1.6 0-2.9-1.3-2.9-2.9s1.3-2.9 2.9-2.9 2.9 1.3 2.9 2.9-1.3 2.9-2.9 2.9z\"}},\nanimal_and_nature:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M17.39 4.603c2.698-1.014 5.568-1.52 8.61-1.52s5.912.506 8.61 1.52a5 5 0 018.84 4.678C44.69 10.32 45.54 13.56 46 19c.394 3.008 2.987 12.067 3 14 .052 7.96-7.614 13.626-23 17-15.333-3.294-23-8.96-23-17 .047-2.053 2.5-10.9 3-14 .603-5.289 1.47-8.495 2.602-9.619a5 5 0 018.787-4.778zm3.578 18.092a4 4 0 00-2.795 4.066l.39 6.253a7.451 7.451 0 0014.874 0l.382-6.119A4 4 0 0031 22.822 18.168 18.168 0 0025.646 22c-1.641 0-3.2.232-4.678.695zM36 23c1.657 0 3-1.79 3-4s-1.343-4-3-4-3 1.79-3 4 1.343 4 3 4zm-20 0c1.657 0 3-1.79 3-4s-1.343-4-3-4-3 1.79-3 4 1.343 4 3 4zm13.074 4.709c-1.768 2.03-4.624 2.022-6.347-.018-1.723-2.04-.277-3.7 3.214-3.691 3.49.01 4.9 1.679 3.133 3.709z\"}},\nannouncement:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M22.7 45.4l-1.3-1c-1.4-1-1.4-3-1.4-4v-2.9c0-.8-.7-1.5-1.5-1.5h-6c-.8 0-1.5.7-1.5 1.5v7.7c0 2.7 1.6 4.8 4.1 4.8H20c2.9 0 3.1-2 3.1-2s.5-1.8-.4-2.6zM45 18V4.4v-.1c0-2.4-3-3.1-4.6-1.5l-8.9 8.4c-1.4 1.2-3.2 1.7-5 1.7H11.3C6.1 13 2 17.5 2 22.7v.2c0 5.2 4.1 9.1 9.3 9.1h15.2c1.9 0 3.7.8 5.1 2l8.8 8.6c1.6 1.6 4.6 1 4.6-1.4V27.6c3 0 4.8-2.1 4.8-4.8 0-2.7-1.8-4.8-4.8-4.8z\"}}},\nanswer:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M26 4C12.7 4 2 13.8 2 26c0 3.9 1.1 7.5 3 10.8.2.4.3.9.2 1.3L3 45c-.4 1.3.8 2.4 2.1 2l7-2.4c.5-.2 1-.1 1.4.2 3.7 2.1 8 3.3 12.6 3.3 13.3 0 24-9.8 24-22C49.9 13.8 39.2 4 26 4zm11.5 17.1l-12.2 12c-.5.5-1 .7-1.7.7-.6 0-1.2-.2-1.7-.7L16 27.3c-.5-.5-.5-1.2 0-1.6l1.7-1.6c.5-.5 1.2-.5 1.7 0l4.2 4.2 10.5-10.4c.5-.5 1.2-.5 1.7 0l1.7 1.6c.4.4.4 1.2 0 1.6z\"}},\nanswered_twice:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M17.6 11.4c-8.9 0-16 6.5-16 14.7 0 2.6.7 5 2 7.2.1.3.2.6.1.9l-1.5 4.6c-.3.9.5 1.6 1.4 1.3l4.7-1.6c.3-.1.7-.1.9.1 2.5 1.4 5.3 2.2 8.4 2.2 8.9 0 16-6.5 16-14.7s-7.2-14.7-16-14.7zm7.7 11.4l-8.1 8c-.3.3-.7.5-1.1.5-.4 0-.8-.1-1.1-.5l-4-3.9c-.3-.3-.3-.8 0-1.1l1.1-1.1c.3-.3.8-.3 1.1 0l2.8 2.8 7-6.9c.3-.3.8-.3 1.1 0l1.1 1.1c.4.3.4.8.1 1.1z\"},{\"d\":\"M34.3 11.4h-4.2c4.7 3.4 8.2 8.8 8.2 14.7 0 5.9-3.7 11.5-8.2 14.7h4.2c8.9 0 16-6.5 16-14.7-.1-8.2-7.2-14.7-16-14.7z\"}]},\nanywhere_alert:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M50 47.33A45.34 45.34 0 004.67 2a2.67 2.67 0 100 5.33 40 40 0 0140 40 2.67 2.67 0 105.33 0z\"},{\"d\":\"M32.67 47.33a28 28 0 00-28-28 2.67 2.67 0 100 5.34 22.65 22.65 0 0122.66 22.66 2.67 2.67 0 005.34 0zM4.67 36.67a10.66 10.66 0 0110.66 10.66 2.67 2.67 0 11-5.33 0v-.39A5.34 5.34 0 004.67 42a2.67 2.67 0 110-5.33z\"}]}},\nanywhere_chat:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M26 2.7c-13.21 0-24 9.62-24 21.59v.42a20.64 20.64 0 007.71 15.43l.32.27v.08a11.05 11.05 0 01-3.1 4.67 1.79 1.79 0 001.45 3.12l1.17-.17.53-.08c4.76-.73 8.13-1.59 10.23-2.66l.15-.08.5.11a27.38 27.38 0 005.06.48c13.21 0 24-9.62 24-21.59S39.21 2.7 26 2.7z\"}},\napex:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M48.5 40h-27c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h27c.8 0 1.5-.7 1.5-1.5v-3c0-.8-.7-1.5-1.5-1.5zM25.4 21.8L6 6.3c-.6-.5-1.5-.4-2 .3L2.3 9c-.5.7-.3 1.6.3 2.1l13.8 11c.5.4.5 1.2 0 1.6l-13.8 11c-.6.5-.8 1.5-.3 2.1L4 39.4c.5.7 1.4.8 2 .3l19.4-15.5c.8-.6.8-1.8 0-2.4z\"}},\napex_plugin:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M26.2 18.1L37.3 7c.6-.6.6-1.5 0-2.1l-2.4-2.4c-.6-.6-1.5-.6-2.1 0L21.7 13.6l4.5 4.5zM38.4 30.7l11.1-11.1c.6-.6.6-1.5 0-2.1l-2.4-2.4c-.6-.6-1.5-.6-2.1 0L33.9 26.2l4.5 4.5zM36.8 39.9c.2-.2.3-.5.4-.8.1-.4 0-.8-.2-1.1-.1-.1-.1-.2-.2-.2L14.3 15.3c-.2-.3-.7-.4-1.1-.4-.4 0-.8.2-1.1.5-.2.2-.4.3-.6.5-.1.1-.2.3-.3.4-.1.2-.3.3-.4.5-.1.2-.3.4-.4.6-.2.2-.3.5-.4.8-.2.3-.3.6-.4.9-.2.3-.3.7-.4 1.1-.2.4-.3.8-.4 1.2-.1.5-.3.9-.4 1.4-.1.5-.2 1-.3 1.6-.1.6-.2 1.2-.3 1.7-.1.6-.2 1.3-.2 1.9-.1.7-.1 1.4-.1 2.2v2.4c0 .9 0 1.7.1 2.6 0 .9.1 1.9.2 2.8 0 .3.1.5.1.8H8L2.8 44c-.8.4-.8 1.4-.3 2l3.7 3.7c.6.6 1.5.6 2.1 0l5.2-5.2c1.9.2 3.7.3 5.6.3 1.6 0 3.1 0 4.7-.1 1.3-.1 2.6-.2 3.8-.5 1-.2 2-.4 3-.7.8-.2 1.6-.5 2.3-.9.6-.3 1.2-.6 1.7-.9.7-.4 1.4-1 2-1.6l.2-.2z\"}},\napproval:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M45.2 29.2h-8.8c-2.6 0-4.8-2.2-4.8-4.8.4-7.1 3.7-7.5 4-12.1.3-4.8-2.7-9.1-7.4-10.1C22 .9 16.4 5.6 16.4 11.6c0 5.3 3.6 5.3 4 12.8 0 2.6-2.2 4.8-4.8 4.8H6.8C4.2 29.2 2 31.3 2 34v3.2c0 .9.7 1.6 1.6 1.6h44.8c.9 0 1.6-.7 1.6-1.6V34c0-2.7-2.2-4.8-4.8-4.8zm.1 14.4H6.7c-.9 0-1.5.7-1.5 1.5v.1c0 2.6 2.2 4.8 4.8 4.8h32.1c2.6 0 4.7-2.2 4.7-4.8v-.1c0-.8-.7-1.5-1.5-1.5z\"}},\napps:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M13 4H7C5.3 4 4 5.3 4 7v6c0 1.7 1.3 3 3 3h6c1.7 0 3-1.3 3-3V7c0-1.7-1.3-3-3-3zM13 36H7c-1.7 0-3 1.3-3 3v6c0 1.7 1.3 3 3 3h6c1.7 0 3-1.3 3-3v-6c0-1.7-1.3-3-3-3zM13 20H7c-1.7 0-3 1.3-3 3v6c0 1.7 1.3 3 3 3h6c1.7 0 3-1.3 3-3v-6c0-1.7-1.3-3-3-3zM29 4h-6c-1.7 0-3 1.3-3 3v6c0 1.7 1.3 3 3 3h6c1.7 0 3-1.3 3-3V7c0-1.7-1.3-3-3-3zM29 36h-6c-1.7 0-3 1.3-3 3v6c0 1.7 1.3 3 3 3h6c1.7 0 3-1.3 3-3v-6c0-1.7-1.3-3-3-3zM29 20h-6c-1.7 0-3 1.3-3 3v6c0 1.7 1.3 3 3 3h6c1.7 0 3-1.3 3-3v-6c0-1.7-1.3-3-3-3zM45 4h-6c-1.7 0-3 1.3-3 3v6c0 1.7 1.3 3 3 3h6c1.7 0 3-1.3 3-3V7c0-1.7-1.3-3-3-3zM45 36h-6c-1.7 0-3 1.3-3 3v6c0 1.7 1.3 3 3 3h6c1.7 0 3-1.3 3-3v-6c0-1.7-1.3-3-3-3zM45 20h-6c-1.7 0-3 1.3-3 3v6c0 1.7 1.3 3 3 3h6c1.7 0 3-1.3 3-3v-6c0-1.7-1.3-3-3-3z\"}},\narchive:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M45.2 2.3H6.8C4.2 2.3 2 4.5 2 7.1v4.8c0 .9.7 1.6 1.6 1.6h44.8c.9 0 1.6-.7 1.6-1.6V7.1c0-2.6-2.2-4.8-4.8-4.8zM46.6 17.5H5.5c-.9 0-1.6.7-1.6 1.6v26.4c0 2.6 2.2 4.8 4.8 4.8h34.8c2.6 0 4.8-2.2 4.8-4.8V19.1c-.1-.9-.8-1.6-1.7-1.6zm-13.8 8H19.2c-1.1 0-2-.9-2-2s.9-2 2-2h13.6c1.1 0 2 .9 2 2s-.9 2-2 2z\"}},\narrow_bottom:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M42.34 41.83a2 2 0 012 2V48a2 2 0 01-2 2H9.66a2 2 0 01-2-2v-4.13a2 2 0 012-2zM28 2a2.12 2.12 0 012.05 2v17.4a1.3 1.3 0 002.24.92l4.8-4.69a2 2 0 012.86 0l2.86 2.75a1.86 1.86 0 010 2.76l-15.42 15a2 2 0 01-2.86 0l-15.32-15a1.86 1.86 0 010-2.76L12 17.63a2 2 0 012.86 0l4.8 4.69a1.3 1.3 0 002.24-.92V4A2.19 2.19 0 0124 2h4z\"}},\narrow_left:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M10.17 42.34a2 2 0 01-2 2H4a2 2 0 01-2-2V9.66a2 2 0 012-2h4.13a2 2 0 012 2zM50 28a2.11 2.11 0 01-2 2.05H30.6a1.3 1.3 0 00-.92 2.24l4.69 4.8a2 2 0 010 2.86l-2.75 2.86a1.87 1.87 0 01-2.76 0l-15-15.42a2 2 0 010-2.86l15-15.32a1.87 1.87 0 012.76 0L34.37 12a2 2 0 010 2.86l-4.69 4.8a1.3 1.3 0 00.92 2.24H48a2.2 2.2 0 012 2.1z\",\"fill-rule\":\"evenodd\"}},\narrow_right:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M41.83 9.66a2 2 0 012-2H48a2 2 0 012 2v32.68a2 2 0 01-2 2h-4.13a2 2 0 01-2-2zM2 24a2.11 2.11 0 012-2h17.4a1.3 1.3 0 00.92-2.24l-4.69-4.8a2 2 0 010-2.86l2.75-2.9a1.87 1.87 0 012.76 0l15 15.42a2 2 0 010 2.86l-15 15.32a1.87 1.87 0 01-2.76 0L17.63 40a2 2 0 010-2.86l4.69-4.8a1.3 1.3 0 00-.92-2.24H4A2.2 2.2 0 012 28z\",\"fill-rule\":\"evenodd\"}},\narrow_top:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M9.66 10.17a2 2 0 01-2-2V4a2 2 0 012-2h32.68a2 2 0 012 2v4.13a2 2 0 01-2 2zM24 50a2.12 2.12 0 01-2.05-2V30.6a1.3 1.3 0 00-2.24-.92l-4.8 4.69a2 2 0 01-2.86 0l-2.9-2.75a1.86 1.86 0 010-2.76l15.42-15a2 2 0 012.86 0l15.32 15a1.86 1.86 0 010 2.76L40 34.37a2 2 0 01-2.86 0l-4.8-4.69a1.3 1.3 0 00-2.24.92V48a2.19 2.19 0 01-2.1 2h-4z\"}},\narrowdown:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M9.6 31c-.8.8-.8 1.9 0 2.7l15 14.7c.8.8 2 .8 2.8 0l15.1-14.7c.8-.8.8-1.9 0-2.7l-2.8-2.7c-.8-.8-2-.8-2.8 0l-4.7 4.6c-.8.8-2.2.3-2.2-.9V5c0-1-.9-2-2-2h-4c-1.1 0-2 1.1-2 2v27c0 1.2-1.4 1.7-2.2.9l-4.7-4.6c-.8-.8-2-.8-2.8 0L9.6 31z\"}},\narrowup:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M41.4 21c.8-.8.8-1.9 0-2.7l-15-14.7c-.8-.8-2-.8-2.8 0l-15 14.7c-.8.8-.8 1.9 0 2.7l2.8 2.7c.8.8 2 .8 2.8 0l4.7-4.6c.8-.8 2.2-.2 2.2.9v27c0 1 .9 2 2 2h4c1.1 0 2-1.1 2-2V20c0-1.2 1.4-1.7 2.2-.9l4.7 4.6c.8.8 2 .8 2.8 0l2.6-2.7z\"}},\nasset_warranty:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M38.78 26.78c1.41 0 2.53 1.53 3.78 2.06s3.18.23 4.14 1.24.7 2.84 1.23 4.14S50 36.58 50 38s-1.53 2.54-2.07 3.78-.24 3.22-1.23 4.14-2.85.7-4.14 1.24-2.37 2.06-3.78 2.06-2.54-1.53-3.78-2.06-3.18-.23-4.13-1.24-.72-2.84-1.24-4.14-2.08-2.36-2.08-3.78 1.53-2.54 2.07-3.78.23-3.19 1.24-4.14 2.83-.7 4.13-1.24 2.36-2.06 3.79-2.06zm2.86-24a2.23 2.23 0 012.17 2.16V26.4l-.21-.09c-1.58-.67-3-2.64-4.82-2.64-1.35 0-2.5 1.1-3.64 1.93v-7.81a.77.77 0 00-.21-.56.79.79 0 00-.57-.21h-1.64a.68.68 0 00-.47.21.73.73 0 00-.21.56v9a12.29 12.29 0 00-2.25.45v-9.45A.76.76 0 0029 17a.78.78 0 00-.78.77v10.67a9.1 9.1 0 00-.77 3.21H11.23a.73.73 0 00-.48.21.69.69 0 00-.2.56v.87a.74.74 0 00.2.47.82.82 0 00.56.22h15.34c-.85 1.25-2.2 2.52-2.2 4 0 1.85 2 3.24 2.64 4.83a7 7 0 01.41 1.63H15.78v2.25a2.22 2.22 0 01-2.17 2.17h-2.47A2.22 2.22 0 019 46.71v-2.13H4.17A2.21 2.21 0 012 42.41V4.94a2.21 2.21 0 012.17-2.16zM43 34.31a.57.57 0 00-.81 0l-4.37 5-2-2a.56.56 0 00-.79 0l-.81.77a.52.52 0 00-.06.72l.06.06L37 41.63a1.21 1.21 0 00.82.36 1 1 0 00.81-.36l5.2-5.76a.63.63 0 000-.78zM14.48 17h-3.25a.73.73 0 00-.48.21.69.69 0 00-.2.56V29.5a.7.7 0 00.76.68h3.11a.73.73 0 00.77-.68V17.79a.72.72 0 00-.67-.77zm4.62 0h-1.7a.73.73 0 00-.48.21.7.7 0 00-.21.56V29.5a.82.82 0 00.22.47.77.77 0 00.56.21H19a.73.73 0 00.6-.18.74.74 0 00.22-.56V17.79a.74.74 0 00-.22-.56.72.72 0 00-.6-.23zm7 0h-3.28a.73.73 0 00-.48.21.7.7 0 00-.21.56V29.5a.72.72 0 00.76.68H26a.74.74 0 00.78-.68V17.79a.74.74 0 00-.67-.79zm8.52-3.87H11.23a.78.78 0 00-.48.21.71.71 0 00-.2.57v.85a.71.71 0 00.73.69h23.24a.77.77 0 00.56-.21.72.72 0 00.21-.57v-.76a.72.72 0 00-.21-.57.77.77 0 00-.56-.21z\"}},\nassignment:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M3.6 29.8h44.6c.9 0 1.6.7 1.6 1.6v3.2c0 .9-.7 1.6-1.6 1.6H3.6c-.9 0-1.6-.7-1.6-1.6v-3.2c0-.9.7-1.6 1.6-1.6zM3.6 15.6h44.6c.9 0 1.6.7 1.6 1.6v3.2c0 .9-.7 1.6-1.6 1.6H3.6c-.9 0-1.6-.7-1.6-1.6v-3.2c0-.8.7-1.6 1.6-1.6z\"}},\nattach:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M17.6 36.7c.6.6 1.5.5 2.1 0l10-10c.7-.7 1.9-.8 2.8 0 .9.8.8 2.2 0 3L20.2 41.8c-2.7 2.7-7.2 2.7-9.9 0l-.1-.1c-2.7-2.7-2.7-7.2 0-9.9l21.7-21.7c2.7-2.7 7.2-2.7 9.9 0l.1.1c2.7 2.7 2.7 7.2 0 9.9l-.1.1c-.5.5-.6 1.2-.2 1.8.6 1.1 1.1 2.3 1.4 3.5.2.8 1.1 1 1.7.5.8-.8 1.5-1.6 1.5-1.6 5.1-5.1 5.1-13.4 0-18.5H46C40.9.8 32.6.8 27.5 5.9L5.8 27.5C.7 32.6.7 40.9 5.8 46l.2.2c5.1 5.1 13.3 5.1 18.4 0l12.4-12.3c3.2-3.2 3.1-8.4-.2-11.6-3.2-3.1-8.4-2.9-11.5.3l-9.8 9.8c-.6.6-.6 1.6 0 2.2l2.3 2.1z\"}},\nautomate:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M26.1 16.4c-5.3 0-9.7 4.3-9.7 9.7s4.3 9.7 9.7 9.7c5.3 0 9.7-4.3 9.7-9.7s-4.4-9.7-9.7-9.7zm0 16.7c-3.9 0-7.1-3.2-7.1-7.1 0-3.9 3.2-7.1 7.1-7.1 3.9 0 7.1 3.2 7.1 7.1-.1 3.9-3.3 7.1-7.1 7.1z\"},{\"d\":\"M49.3 32.1c.5-1.9.8-4 .8-6.1 0-2.1-.3-4.1-.8-6.1h-2.7c-.4-1.5-1-2.9-1.7-4.2l1.9-1.9c-2.1-3.5-5-6.5-8.6-8.6l-1.9 1.9c-1.3-.7-2.7-1.3-4.2-1.7V2.8c-1.9-.5-4-.8-6.1-.8-2.1 0-4.1.3-6.1.8v2.7c-1.4.4-2.8 1-4.1 1.7l-2-1.9c-3.6 2.1-6.5 5.1-8.6 8.6l1.9 1.9c-.7 1.3-1.3 2.7-1.7 4.2H2.8c-.5 1.9-.8 3.9-.8 6s.3 4.1.8 6.1h2.7c.4 1.5 1 2.9 1.7 4.2l-1.9 1.9c2.1 3.5 5 6.5 8.6 8.6l1.9-1.9c1.3.7 2.7 1.3 4.2 1.7v2.7c1.9.5 4 .8 6.1.8 2.1 0 4.1-.3 6.1-.8v-2.7c1.5-.4 2.9-1 4.2-1.7l1.9 1.9c3.5-2.1 6.5-5 8.6-8.6L45 36.3c.7-1.3 1.3-2.7 1.7-4.2h2.6zm-5.8 6.5c-.7.9-1.4 1.8-2.3 2.6-.8.8-1.7 1.6-2.6 2.3l-1.9-1.9c-2.1 1.5-4.6 2.5-7.2 3v2.6c-1.1.2-2.3.3-3.5.3-1.2 0-2.3-.1-3.5-.3v-2.6c-2.6-.5-5.1-1.5-7.2-3l-1.9 1.9a28.482 28.482 0 01-4.9-4.9l1.9-1.9c-1.5-2.1-2.5-4.6-3-7.2H4.8c-.2-1.1-.3-2.3-.3-3.5 0-1.2.1-2.3.3-3.5h2.7c.5-2.6 1.5-5.1 3-7.2l-1.9-1.9a28.482 28.482 0 014.9-4.9l1.9 1.9c2.1-1.5 4.6-2.5 7.2-3V4.8c1.1-.2 2.3-.3 3.5-.3 1.2 0 2.3.1 3.5.3v2.7c2.6.5 5.1 1.5 7.2 3l1.9-1.9c.9.7 1.8 1.4 2.6 2.3.8.8 1.6 1.7 2.3 2.6l-1.9 1.9c1.5 2.1 2.5 4.6 3 7.2h2.7c.2 1.1.3 2.3.3 3.5 0 1.2-.1 2.3-.3 3.5h-2.7c-.5 2.6-1.5 5.1-3 7.2l1.8 1.8z\"}]}},\naway:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M43 9C33.6-.3 18.4-.3 9 9S-.3 33.6 9 43s24.6 9.3 34 0 9.3-24.6 0-34zm-29.7 4.3c7-7 18.5-7 25.5 0 2.8 2.8 4.5 6.2 5 9.7H8.2c.6-3.6 2.3-7 5.1-9.7z\"}},\nback:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M48.6 23H15.4c-.9 0-1.3-1.1-.7-1.7l9.6-9.6c.6-.6.6-1.5 0-2.1l-2.2-2.2c-.6-.6-1.5-.6-2.1 0L2.5 25c-.6.6-.6 1.5 0 2.1L20 44.6c.6.6 1.5.6 2.1 0l2.1-2.1c.6-.6.6-1.5 0-2.1l-9.6-9.6c-.6-.7-.2-1.8.7-1.8h33.2c.8 0 1.5-.6 1.5-1.4v-3c0-.8-.6-1.6-1.4-1.6z\"}},\nban:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M26 2C12.8 2 2 12.8 2 26s10.8 24 24 24 24-10.8 24-24S39.2 2 26 2zm11.9 25.7c-.1.7-.7 1.3-1.5 1.3H15.6c-.8 0-1.4-.5-1.5-1.3-.1-1.2-.1-2.3 0-3.4.1-.7.7-1.3 1.5-1.3h20.8c.8 0 1.4.6 1.5 1.3.1 1.2.1 2.3 0 3.4z\"}},\nblock_visitor:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M64.7 19.1v.4-.4z\"},{\"d\":\"M22 37c0-2.7.9-5.8 2.3-8.2 1.7-3 3.6-4.2 5.1-6.4 2.5-3.7 3-9 1.4-13C29.2 5.3 25.4 2.9 21 3s-8 2.8-9.4 6.9c-1.6 4.5-.9 9.9 2.7 13.3 1.5 1.4 2.9 3.6 2.1 5.7-.7 2-3.1 2.9-4.8 3.7-3.9 1.7-8.6 4.1-9.4 8.7C1.4 45.1 4 49 8.1 49h17c.8 0 1.3-1 .8-1.6C23.4 44.5 22 40.8 22 37z\"},{\"d\":\"M46.5 28.5c-4.7-4.7-12.3-4.7-17 0s-4.7 12.3 0 17 12.3 4.7 17 0 4.7-12.3 0-17zm-14.2 2.8c2.7-2.7 6.7-3.1 9.8-1.2l-11 11c-1.9-3.1-1.5-7.1 1.2-9.8zm11.4 11.4c-2.7 2.6-6.7 3-9.8 1.3l11-11c1.8 3 1.4 7-1.2 9.7z\"}]},\nbold:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M41 19c0-6-4.8-11-10.5-11H14c-1.1 0-2 .9-2 2v33c0 1.1.9 2 2 2h16.5C36.2 45 41 40 41 34c0-2.9-1.1-5.5-2.9-7.5 1.8-2 2.9-4.6 2.9-7.5zM30.5 38H19v-8h11.5c1.9 0 3.6 1.9 3.6 4s-1.7 4-3.6 4zm0-15H19v-8h11.5c1.9 0 3.6 1.9 3.6 4s-1.7 4-3.6 4z\"}},\nbookmark:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M37.3 49.6l-9.9-9.9c-.6-.6-1.5-.6-2.1 0l-10.6 10c-.7.6-1.7.2-1.7-.7V6c0-2.2 1.8-4 4-4h18c2.2 0 4 1.8 4 4v42.9c0 .9-1.1 1.4-1.7.7z\"}},\nbottom_align:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"rect\":[{\"x\":\"2\",\"y\":\"43.6\",\"width\":\"48\",\"height\":\"6.4\",\"rx\":\"1.6\"},{\"data-name\":\"Rectangle\",\"x\":\"18.8\",\"y\":\"2\",\"width\":\"14.4\",\"height\":\"37.6\",\"rx\":\"3.2\"}]},\nbreadcrumbs:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M8.4 42c-.6 0-1-.4-1-1V10.9c0-.6.4-1 1-1h8.1c.4 0 .9.2 1.2.5L29.3 25c.4.5.4 1.3 0 1.9L17.6 41.5c-.3.4-.8.6-1.3.6L8.4 42z\"},{\"d\":\"M44.3 25L32.6 10.5c-.5-.6-1.4-.8-2.1-.2l-2.3 1.9c-.7.5-.8 1.5-.2 2.1L37.5 26 28 37.8c-.5.6-.4 1.6.2 2.1l2.3 1.9c.7.5 1.5.4 2.1-.2L44.3 27c.4-.8.4-1.5 0-2z\"}]},\nbroadcast:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":[{\"path\":[{\"d\":\"M2 18.992c0 5.832 2.28 11.292 6.362 15.374.902.899 2.28.899 3.181 0 .902-.9.902-2.279 0-3.183-3.233-3.231-5.036-7.58-5.088-12.19.053-4.612 1.855-8.959 5.088-12.193.902-.901.902-2.279 0-3.181-.901-.9-2.28-.901-3.181 0A21.61 21.61 0 002 18.992z\"},{\"d\":\"M14.723 28.004c.902.902 2.28.902 3.182 0 .9-.9.9-2.278 0-3.181-1.538-1.537-2.438-3.605-2.438-5.831-.001-2.227.847-4.241 2.438-5.832.9-.901.9-2.279 0-3.181-.902-.9-2.28-.901-3.182 0a12.715 12.715 0 00-3.71 9.012c0 3.394 1.325 6.628 3.71 9.013z\"}]},{\"path\":[{\"d\":\"M43.499 3.618c-.901-.901-2.28-.9-3.181 0-.901.902-.901 2.28 0 3.181 3.232 3.234 5.035 7.581 5.089 12.193-.054 4.611-1.855 8.959-5.089 12.191-.901.901-.901 2.28 0 3.182.899.9 2.277.9 3.181 0a21.614 21.614 0 006.36-15.374c0-5.83-2.277-11.29-6.36-15.373z\"},{\"d\":\"M40.85 18.992c-.002-3.392-1.326-6.627-3.713-9.012-.9-.901-2.279-.9-3.181 0-.901.902-.899 2.28 0 3.181 1.591 1.59 2.438 3.604 2.438 5.832 0 2.226-.9 4.294-2.438 5.831-.901.902-.899 2.279 0 3.181.901.902 2.28.902 3.181 0a12.724 12.724 0 003.713-9.013z\"}]}],\"path\":{\"d\":\"M23.662 24.349a5.858 5.858 0 012.247-11.268 5.856 5.856 0 012.28 11.253l-.03 2.759v20.844c0 .601-.524 1.125-1.125 1.052h-2.249c-.599 0-1.125-.525-1.125-1.125V27.02l.002-2.671z\"}},\nbrush:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M49.4 2.7C46-.8 27 10 15.4 28.6c-.5.9-.2 2 .7 2.4 2.6 1.2 4.7 3.4 5.8 6.1.4 1 1.5 1.3 2.4.7 18-11.9 28.5-31.6 25.1-35.1zM11.9 35.2C10.4 35.2 9 36 8 37h-.1c-.5 0-1 .8-1.4 1.5-1.6 2.7-1.9 5.9-4.3 9.4-.4.6-.3 1.5.4 1.7 3.4 1.1 9.5.1 12.5-2.1v.1c1-.2.7-.6 1-.6 1.1-2 2-3 2-4.9-.1-3.7-2.7-6.9-6.2-6.9z\"}}},\nbucket:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M49 11c0-6.2-9.8-9-19-9s-19 2.8-19 9v.4C2.4 14 1 19.5 1 22.6c0 3 1.5 6.1 4.1 8.3 2.3 1.9 5.1 3 7.9 3.1h.8c6.5-.2 12.9-2.3 14.7-5.9-.9-.7-1.5-1.9-1.5-3.1 0-2.2 1.8-4 4-4s4 1.8 4 4c0 1.7-1 3.1-2.5 3.7-2 5.6-10 9.3-19.5 9.3v6c0 3.3 7.6 6 17 6s17-2.7 17-6V15.3c1.3-1.2 2-2.6 2-4.3zM30 8c6.6 0 10.8 1.5 12.4 2.6.3.2.3.6 0 .8C40.8 12.5 36.6 14 30 14s-10.8-1.5-12.4-2.6c-.3-.2-.3-.6 0-.8C19.2 9.5 23.4 8 30 8zM7.7 27.8C6 26.4 5 24.5 5 22.6c0-4.5 4.1-6.6 7.7-7.5l.3.3V30c-1.9-.1-3.8-.9-5.3-2.2z\"}},\nbug:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M19.6 10h12.8a1.51 1.51 0 001.43-1.75A8 8 0 0026 2a8.05 8.05 0 00-7.83 6.24A1.51 1.51 0 0019.6 10z\"},{\"d\":\"M47.59 30.8A2.4 2.4 0 0050 28.24 2.47 2.47 0 0047.43 26h-7v-4c4.64-1.84 7.91-6.8 8-12.71a2.48 2.48 0 00-2-2.48 2.39 2.39 0 00-2.8 2.4 9.14 9.14 0 01-3.92 7.83 4.87 4.87 0 00-4.08-2.24H16.41a4.87 4.87 0 00-4.08 2.24 9 9 0 01-3.92-7.66 2.53 2.53 0 00-2.24-2.56 2.39 2.39 0 00-2.55 2.4c0 5.91 3.35 11 8 12.79v4h-7A2.53 2.53 0 002 28.24a2.44 2.44 0 002.41 2.56h7.2v4C7 36.64 3.7 41.59 3.62 47.51a2.48 2.48 0 002 2.48 2.39 2.39 0 002.8-2.4 9 9 0 013.84-7.76 14.4 14.4 0 009.27 9.44 1.61 1.61 0 002.08-1.52V28.56A2.53 2.53 0 0125.84 26a2.44 2.44 0 012.56 2.4v19.35a1.58 1.58 0 002.08 1.52 14.4 14.4 0 009.27-9.44 9.25 9.25 0 013.84 7.6A2.53 2.53 0 0045.83 50a2.4 2.4 0 002.56-2.4c0-5.92-3.36-11-8-12.79v-4z\"}]}},\nbuilder:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M11.5 17h-8c-.8 0-1.5.7-1.5 1.5V44c0 2.2 1.8 4 4 4h5.5c.8 0 1.5-.7 1.5-1.5v-28c0-.8-.7-1.5-1.5-1.5zM48.5 17h-30c-.8 0-1.5.7-1.5 1.5v28c0 .8.7 1.5 1.5 1.5H46c2.2 0 4-1.8 4-4V18.5c0-.8-.7-1.5-1.5-1.5zM46 4H6C3.8 4 2 5.8 2 8v3.5c0 .8.7 1.5 1.5 1.5h45c.8 0 1.5-.7 1.5-1.5V8c0-2.2-1.8-4-4-4z\"}}},\nbundle_config:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M14.4 2H8a6 6 0 00-6 6v6a6 6 0 006 6h6.4a6 6 0 006-6V8a6 6 0 00-6-6zm-2.87 13.1h-.66a4.1 4.1 0 010-8.19h.66a4.1 4.1 0 010 8.19zM31.2 20h6.4a6 6 0 006-6V8a6 6 0 00-6-6h-6.4a6 6 0 00-6 6v6a6 6 0 006 6zm2.87-13.09h.66a4.1 4.1 0 010 8.19h-.66a4.1 4.1 0 010-8.19zM14.4 24.93L8 25a6 6 0 00-6 6v5.87a6 6 0 006 6h6.4a6 6 0 006-6v-5.94a6 6 0 00-6-6zM11.53 38h-.66a4.1 4.1 0 010-8.19h.66a4.1 4.1 0 010 8.19zM49.27 35.07a14.83 14.83 0 01-1.88-.22.22.22 0 01-.2-.21 18.39 18.39 0 00-.84-2v-.32c.32-.53.84-1.06 1.15-1.6a.82.82 0 00-.11-1.06l-2.08-2.14a.78.78 0 00-.52-.21 2.36 2.36 0 00-.52.21c-.52.32-1 .86-1.56 1.18a.1.1 0 00-.11.09h-.1c-.73-.21-1.25-.64-2-.85a.23.23 0 01-.21-.21c-.1-.64-.1-1.18-.21-1.82a.89.89 0 00-.52-.85.33.33 0 00-.21-.11h-3a.86.86 0 00-.52.11c-.21.21-.52.53-.52.85a11.15 11.15 0 01-.21 1.82.23.23 0 01-.21.21c-.73.21-1.25.64-2 .85h-.1c-.11 0-.11 0-.21-.1-.52-.32-.94-.86-1.56-1.18a.62.62 0 00-.53-.21c-.31 0-.31.11-.62.21l-2.08 2.14a.82.82 0 00-.11 1.06c.31.54.83 1 1.15 1.6a.21.21 0 010 .3c-.21.75-.63 1.28-.84 2a.22.22 0 01-.2.21c-.63.11-1.15.11-1.78.22a.87.87 0 00-.83.64v3.62a1.59 1.59 0 00.82.7 9.73 9.73 0 011.78.22.22.22 0 01.2.21c.21.75.63 1.28.84 2 0 .1.1.21 0 .32-.32.53-.84 1.06-1.15 1.6a.82.82 0 00.11 1.06l2.08 2.14c.21.21.31.21.62.21a1.63 1.63 0 00.53-.21c.5-.42 1-.81 1.56-1.18.1 0 .1-.1.21-.1h.1c.73.21 1.25.64 2 .85a.23.23 0 01.21.21c.1.64.1 1.28.21 1.92s.31.75.83.75h3c.52 0 .73-.21.84-.75s.1-1.28.21-1.92a.22.22 0 01.2-.21 18.46 18.46 0 002-.85h.11a.09.09 0 01.1.1c.52.32 1 .86 1.56 1.18a.86.86 0 00.53.21c.2 0 .31-.11.62-.21l2.08-2.14a.82.82 0 00.11-1.06c-.31-.54-.83-1-1.15-1.6a.21.21 0 010-.3c.21-.75.63-1.28.84-2a.22.22 0 01.2-.21c.63-.11 1.26-.11 1.88-.22s.73-.32.73-.85v-3c.01-.78-.2-1-.72-1.1zm-6.9 2.45a4.93 4.93 0 01-4.67 4.8 4.65 4.65 0 01-4.7-4.6v-.2a4.69 4.69 0 019.37-.43 3.09 3.09 0 010 .43z\"}},\nbundle_policy:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M37.55 22.55a2 2 0 00-2.83 0L30.43 27a2.11 2.11 0 000 2.92l9.62 9.94a2 2 0 002.83 0l4.29-4.44a2.11 2.11 0 000-2.92l-9.62-9.94zM31.8 39a2.37 2.37 0 00-3.35 0l-6.22 6.27h-.06a2.42 2.42 0 00.06 3.34 2.37 2.37 0 003.35 0l6.22-6.22h.06a2.42 2.42 0 00-.02-3.39zM47.68 45.2h-9.76a2.4 2.4 0 100 4.8h9.76A2.36 2.36 0 0050 47.6a2.36 2.36 0 00-2.32-2.4zM13.6 2H8a6.11 6.11 0 00-6 6.2V11a6.11 6.11 0 006 6.2h5.6a6.11 6.11 0 006-6.2V8.2a6.11 6.11 0 00-6-6.2zm-1.51 10.4H9.5a2.75 2.75 0 01-2.7-2.8 2.75 2.75 0 012.71-2.8h2.59a2.75 2.75 0 012.7 2.8 2.75 2.75 0 01-2.71 2.8zM30.4 17.2H36a6.11 6.11 0 006-6.2V8.2A6.11 6.11 0 0036 2h-5.6a6.11 6.11 0 00-6 6.2V11a6.11 6.11 0 006 6.2zm1.51-10.4h2.59a2.75 2.75 0 012.7 2.8 2.75 2.75 0 01-2.71 2.79H31.9a2.75 2.75 0 01-2.7-2.8 2.75 2.75 0 012.71-2.79zM13.6 22H8a6.11 6.11 0 00-6 6.2V31a6.11 6.11 0 006 6.2h5.6a6.11 6.11 0 006-6.2v-2.8a6.11 6.11 0 00-6-6.2zm-1.51 10.4H9.51a2.8 2.8 0 010-5.6h2.58a2.8 2.8 0 110 5.6z\",\"fill-rule\":\"evenodd\"}},\nbutton_choice:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M31.998 12c1.468-.001 3 1.133 3 4.135V26c0 1.513 1.38 2.111 1.98 2.311L43.8 30.8c2.9 1.1 4.7 4.2 3.9 7.4l-3.2 10.4c-.2.8-.9 1.4-1.8 1.4H26.6c-.8 0-1.5-.4-1.8-1.1L18.365 33.96c-.421-.978-.143-1.765.835-2.361 1.8-1.3 4.5.04 5.6 1.94l1.616 2.203c.636 1.208 2.584 1.208 2.584-.592V16.135C29 13.133 30.53 12 31.998 12zM46 2c2.2 0 4 1.8 4 4v15c0 1.882-1.819 4.003-4 4h-5.99C39 25 39 24.188 39 24.06V15.5c0-3.845-1.981-7.5-7-7.5s-7 3.188-7 7.5v8.56a.96.96 0 01-1.012.94H6c-2.2 0-4-1.8-4-4V6c0-2.2 1.8-4 4-4z\"}},\ncalculated_insights:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M44 6.81a6 6 0 00-4.77 9.56l-5 8.82h-.63a6 6 0 00-3 .81l-6.35-4.67A5.9 5.9 0 0024.4 20a6 6 0 10-10.73 3.67L8.52 33.2H8a5.94 5.94 0 00-3.69 1.25 6 6 0 108.41 1.08L17.89 26h.51a5.94 5.94 0 003-.8l6.35 4.67a5.9 5.9 0 00-.15 1.33 6 6 0 1010.78-3.58l5-8.82H44a6 6 0 100-12z\",\"fill-rule\":\"evenodd\"}},\ncall:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M48.5 37.9L42.4 33c-1.4-1.1-3.4-1.2-4.8-.1l-5.2 3.8c-.6.5-1.5.4-2.1-.2l-7.8-7-7-7.8c-.6-.6-.6-1.4-.2-2.1l3.8-5.2c1.1-1.4 1-3.4-.1-4.8l-4.9-6.1c-1.5-1.8-4.2-2-5.9-.3L3 8.4c-.8.8-1.2 1.9-1.2 3 .5 10.2 5.1 19.9 11.9 26.7S30.2 49.5 40.4 50c1.1.1 2.2-.4 3-1.2l5.2-5.2c1.9-1.5 1.8-4.3-.1-5.7z\"}},\ncampaign:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M26 .8C12.1.8.8 12.1.8 26S12.1 51.2 26 51.2 51.2 39.9 51.2 26 39.9.8 26 .8zm0 45.4C14.9 46.2 5.8 37.1 5.8 26S14.9 5.8 26 5.8 46.2 14.9 46.2 26 37.1 46.2 26 46.2zm0-35.3c-8.3 0-15.1 6.8-15.1 15.1S17.7 41.1 26 41.1 41.1 34.3 41.1 26 34.3 10.9 26 10.9zm0 25.2c-5.5 0-10.1-4.5-10.1-10.1S20.5 15.9 26 15.9 36.1 20.5 36.1 26 31.5 36.1 26 36.1zM26 21c-2.8 0-5 2.3-5 5s2.3 5 5 5 5-2.3 5-5-2.2-5-5-5z\"}},\ncancel_file_request:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M28.6 11.4h5.1c.6 0 1.1-.5 1.1-1.1 0-.3-.1-.5-.3-.8l-7.2-7.1c-.2-.2-.4-.3-.7-.3-.6 0-1.1.5-1.1 1.1v5.1c0 1.7 1.4 3.1 3.1 3.1z\"},{\"d\":\"M24.6 40.6c0-6.8 4.2-12.6 10.2-14.9v-8.1c0-.9-.7-1.6-1.6-1.6h-7.8c-2.6 0-4.7-2.1-4.7-4.6V3.6c.1-.8-.6-1.5-1.5-1.5H6.8c-2.6 0-4.7 2.1-4.7 4.6v29.4c0 2.6 2.1 4.6 4.7 4.6h17.8v-.1zM31.8 34.6l6 6-6 6c-.6.6-.6 1.6 0 2.1l.7.7c.6.6 1.6.6 2.1 0l6-6 6 6c.6.6 1.6.6 2.1 0l.7-.7c.6-.6.6-1.6 0-2.1l-6-6 6-6c.6-.6.6-1.6 0-2.1l-.7-.7c-.6-.6-1.6-.6-2.1 0l-6 6-6-6c-.6-.6-1.6-.6-2.1 0l-.7.7c-.6.5-.6 1.5 0 2.1z\"}]}},\ncancel_transfer:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M25.1 12.3v-3c4 0 7.2 3.2 7.2 7.2h-3l4.6 5.7c.3.3.7.3.9 0l4.6-5.7h-3c0-6.3-5.2-11.4-11.4-11.4v-3l-5.7 4.6c-.3.3-.2.7.1.9l5.7 4.7zM26.3 33.6c-1.2-1.6-3.5-2.7-5.8-3.8-2.4-1-2.7-2-2.7-3s.6-2.1 1.4-2.8c1.3-1.3 2.1-3.2 2.1-5.3 0-4-2.4-7.5-6.5-7.5h-.4c-4.1 0-6.5 3.5-6.5 7.5 0 2.2.7 4 2.1 5.3.8.7 1.4 1.7 1.4 2.8 0 1-.3 2-2.7 3-3.4 1.5-6.6 3.1-6.7 6.3.3 2.3 1.8 3.9 3.8 3.9h17.9c.3 0 .7-.1 1-.2.1-2.2.6-4.3 1.6-6.2zM31.8 34.6l6 6-6 6c-.6.6-.6 1.6 0 2.1l.7.7c.6.6 1.6.6 2.1 0l6-6 6 6c.6.6 1.6.6 2.1 0l.7-.7c.6-.6.6-1.6 0-2.1l-6-6 6-6c.6-.6.6-1.6 0-2.1l-.7-.7c-.6-.6-1.6-.6-2.1 0l-6 6-6-6c-.6-.6-1.6-.6-2.1 0l-.7.7c-.6.5-.6 1.5 0 2.1z\"}},\ncapacity_plan:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M43.3 6h-1.73a.74.74 0 00-.67.8V10a6.37 6.37 0 01-6.3 6.4H17.4a6.37 6.37 0 01-6.3-6.4V6.67a.74.74 0 00-.8-.67H8.7A4.77 4.77 0 004 10.8v34.4A4.77 4.77 0 008.7 50h34.6a4.77 4.77 0 004.7-4.8V10.8A4.77 4.77 0 0043.3 6zM25.92 45a12 12 0 01.16-24 12 12 0 01-.16 24z\"},{\"d\":\"M16.91 11.6h17.86a1.59 1.59 0 001.63-1.55V6.8A4.81 4.81 0 0031.6 2H20.4a4.82 4.82 0 00-4.8 4.8V10a1.47 1.47 0 001.31 1.6zM32.23 27.2A9.09 9.09 0 0026 24.4v8.8h8.77a7.32 7.32 0 00-2.54-6z\"}]},\ncapslock:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M43.6 21.1L27.2 2.5c-.6-.7-1.8-.7-2.4 0L8.4 21.1c-.6.7-.1 1.9.9 1.9H17v12.5c0 .8.7 1.5 1.5 1.5h15c.8 0 1.5-.7 1.5-1.5V23h7.7c1 0 1.5-1.2.9-1.9zM33.5 43h-15c-.8 0-1.5.7-1.5 1.5v4c0 .8.7 1.5 1.5 1.5h15c.8 0 1.5-.7 1.5-1.5v-4c0-.8-.7-1.5-1.5-1.5z\"}}},\ncart:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M20.1 26H44c.7 0 1.4-.5 1.5-1.2l4.4-15.4c.3-1.1-.5-2-1.5-2H11.5l-.6-2.3C10.6 4 9.6 3.3 8.6 3.3h-4c-1.3 0-2.5 1-2.6 2.3C1.9 7 3.1 8.2 4.4 8.2h2.3l7.6 25.7c.3 1.1 1.2 1.8 2.3 1.8h28.2c1.3 0 2.5-1 2.6-2.3.1-1.4-1.1-2.6-2.4-2.6H20.2c-1.1 0-2-.7-2.3-1.7V29c-.5-1.5.7-3 2.2-3z\"},\"circle\":[{\"cx\":\"20.6\",\"cy\":\"44.6\",\"r\":\"4\"},{\"cx\":\"40.1\",\"cy\":\"44.6\",\"r\":\"4\"}]}},\ncase:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M17.2 11.3h2.9c.4 0 .7-.3.7-.7V8.4h10.3v2.2c0 .4.3.7.7.7h2.9c.4 0 .7-.3.7-.7V8.4C35.4 6 33.4 4 31 4H20.9c-2.4 0-4.4 2-4.4 4.4v2.2c0 .4.2.7.7.7zm26.4 4.4H8.4c-2.4 0-4.4 2-4.4 4.4v23.5C4 46 6 48 8.4 48h35.2c2.4 0 4.4-2 4.4-4.4V20.1c0-2.4-2-4.4-4.4-4.4z\"}},\ncases:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M9 3.5C9 2.7 8.3 2 7.5 2h-4C2.7 2 2 2.7 2 3.5v31c0 .8.7 1.5 1.5 1.5h4c.8 0 1.5-.7 1.5-1.5v-31zM50 3.5c0-.8-.7-1.5-1.5-1.5h-4c-.8 0-1.5.7-1.5 1.5v31c0 .8.7 1.5 1.5 1.5h4c.8 0 1.5-.7 1.5-1.5v-31zM37.5 2h-3c-.8 0-1.5.8-1.5 1.6V16c0 .4.2.7.6.9 1.7.9 3.2 2 4.5 3.3.3.3.9.1.9-.3V3.6c0-.8-.7-1.6-1.5-1.6zM24.1 15.2c.6-.1 1.3-.1 1.9-.1s1.3 0 1.9.1 1.1-.4 1.1-1V3.6c0-.8-.7-1.6-1.5-1.6h-3c-.8 0-1.5.8-1.5 1.6v10.6c0 .6.5 1.1 1.1 1zM13.9 20.2c1.3-1.4 2.9-2.5 4.6-3.3.3-.2.5-.5.5-.9V3.6c0-.8-.7-1.6-1.5-1.6h-3c-.8 0-1.5.8-1.5 1.6v16.3c0 .4.5.6.9.3zM26 19.1c-7.2 0-13 5.8-13 13 0 2.2.6 4.4 1.6 6.2l-7.1 7.1c-.6.6-.6 1.5 0 2.1l2.1 2.1c.6.6 1.5.6 2.1 0l6.9-6.9c2.1 1.5 4.7 2.4 7.4 2.4 7.2 0 13-5.8 13-13s-5.8-13-13-13zm0 20c-3.9 0-7-3.1-7-7s3.1-7 7-7 7 3.1 7 7-3.1 7-7 7z\"}}},\ncenter_align:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"rect\":[{\"x\":\"2\",\"y\":\"23.6\",\"width\":\"48\",\"height\":\"6.4\",\"rx\":\"1.6\"},{\"data-name\":\"Rectangle\",\"x\":\"19\",\"y\":\"2\",\"width\":\"14.4\",\"height\":\"48\",\"rx\":\"3.2\"}]},\ncenter_align_text:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M48 6.5c0-.8-.7-1.5-1.5-1.5h-41C4.7 5 4 5.7 4 6.5v3c0 .8.7 1.5 1.5 1.5h41c.8 0 1.5-.7 1.5-1.5v-3zM42 18.5c0-.8-.7-1.5-1.5-1.5h-29c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h29c.8 0 1.5-.7 1.5-1.5v-3zM40 42.5c0-.8-.7-1.5-1.5-1.5h-25c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h25c.8 0 1.5-.7 1.5-1.5v-3zM48 30.5c0-.8-.7-1.5-1.5-1.5h-41c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h41c.8 0 1.5-.7 1.5-1.5v-3z\"}},\nchange_owner:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M27.3 37.6c-3-1.2-3.5-2.3-3.5-3.5 0-1.2.8-2.3 1.8-3.2 1.8-1.5 2.6-3.9 2.6-6.4 0-4.7-2.9-8.5-8.3-8.5s-8.3 3.8-8.3 8.5c0 2.5.8 4.9 2.6 6.4 1 .9 1.8 2 1.8 3.2 0 1.2-.5 2.3-3.5 3.5-4.4 1.8-8.6 3.8-8.7 7.6C4 47.8 6 50 8.5 50h23c2.5 0 4.5-2.2 4.5-4.7-.1-3.8-4.3-5.9-8.7-7.7zM44.5 19c0-7.4-6.1-13.5-13.5-13.5V2l-6.8 5.5c-.3.3-.2.8.1 1.1L31 14v-3.5c4.7 0 8.5 3.8 8.5 8.5H36l5.5 6.8c.3.3.8.3 1.1 0L48 19h-3.5z\"}},\nchange_record_type:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M20 37.5c0-.8-.7-1.5-1.5-1.5h-15c-.8 0-1.5.7-1.5 1.5v11c0 .8.7 1.5 1.5 1.5h15c.8 0 1.5-.7 1.5-1.5v-11zM8.1 22H3.2c-1 0-1.5.9-.9 1.4l8 8.3c.4.3 1 .3 1.4 0l8-8.3c.6-.6.1-1.4-.9-1.4h-4.7c0-5 4.9-10 9.9-10V6C15 6 8.1 13 8.1 22zM41.8 20.3c-.4-.3-1-.3-1.4 0l-8 8.3c-.6.6-.1 1.4.9 1.4h4.8c0 6-4.1 10-10.1 10v6c9 0 16.1-7 16.1-16H49c1 0 1.5-.9.9-1.4l-8.1-8.3zM50 3.5c0-.8-.7-1.5-1.5-1.5h-15c-.8 0-1.5.7-1.5 1.5v11c0 .8.7 1.5 1.5 1.5h15c.8 0 1.5-.7 1.5-1.5v-11z\"}},\nchart:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M45.5 23.4L25 34.7c-1.4.7-3-.3-3-1.8V8.4c0-1-1-1.8-1.9-1.5-10 2.8-17.2 12.5-16 23.6 1.1 10.1 9.2 18.3 19.4 19.4C36.8 51.3 48 41 48 28c0-1.2-.1-2.4-.3-3.6-.2-1-1.3-1.5-2.2-1z\"},{\"d\":\"M27.7 28l19.7-10.5c1.2-.6 1.6-2.2.8-3.3C43.7 8 36.7 3.5 28.7 2.2 27.3 1.9 26 3 26 4.4V27c0 .9.9 1.4 1.7 1z\"}]}},\nchat:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M26 4C12.7 4 2.1 13.8 2.1 25.9c0 3.8 1.1 7.4 2.9 10.6.3.5.4 1.1.2 1.7l-3.1 8.5c-.3.8.5 1.5 1.3 1.3l8.6-3.3c.5-.2 1.1-.1 1.7.2 3.6 2 7.9 3.2 12.5 3.2C39.3 48 50 38.3 50 26.1 49.9 13.8 39.2 4 26 4zM14 30c-2.2 0-4-1.8-4-4s1.8-4 4-4 4 1.8 4 4-1.8 4-4 4zm12 0c-2.2 0-4-1.8-4-4s1.8-4 4-4 4 1.8 4 4-1.8 4-4 4zm12 0c-2.2 0-4-1.8-4-4s1.8-4 4-4 4 1.8 4 4-1.8 4-4 4z\"}},\ncheck:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M19.1 42.5L2.6 25.9c-.6-.6-.6-1.6 0-2.2l2.2-2.2c.6-.6 1.6-.6 2.2 0L19.4 34c.4.4 1.1.4 1.5 0L45.2 9.5c.6-.6 1.6-.6 2.2 0l2.2 2.2c.6.6.6 1.6 0 2.2L21.3 42.5c-.6.7-1.6.7-2.2 0z\"}},\ncheckin:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M26 2C15.5 2 7 10.5 7 21.1c0 13.2 13.6 25.3 17.8 28.5.7.6 1.7.6 2.5 0C31.5 46.3 45 34.3 45 21.1 45 10.5 36.5 2 26 2zm0 27c-4.4 0-8-3.6-8-8s3.6-8 8-8 8 3.6 8 8-3.6 8-8 8z\"}},\ncheckout:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M38.67 27.35a11.33 11.33 0 11-11.32 11.32 11.34 11.34 0 0111.32-11.32zM20.36 37.63a4 4 0 11-4 4 4 4 0 014-4zm22.44-3.56l-6.06 6.79L34 38.09a.79.79 0 00-1.11 0l-1.11 1.07a.7.7 0 00-.07 1l.07.08L35.6 44a1.62 1.62 0 001.14.48 1.47 1.47 0 001.13-.48l7.19-7.87a.83.83 0 000-1l-1.12-1.05a.79.79 0 00-1.11 0zM8.2 2a2.42 2.42 0 012.25 1.7l.62 2.16h35.29a1.5 1.5 0 011.54 1.45 1.24 1.24 0 01-.06.47l-4.18 14.65a1.42 1.42 0 01-.52.82 16.42 16.42 0 00-4.47-.64 16 16 0 00-5.47 1H19.36a2.2 2.2 0 00-2.22 2.18 2.11 2.11 0 00.13.75v.08a2.26 2.26 0 002.17 1.62h7.1a16 16 0 00-2.77 4.61H16a2.32 2.32 0 01-2.25-1.7L6.5 6.62H4.33A2.37 2.37 0 012 4.22v-.06A2.46 2.46 0 014.48 2H8.2z\"}},\nchevrondown:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M47.6 17.8L27.1 38.5c-.6.6-1.6.6-2.2 0L4.4 17.8c-.6-.6-.6-1.6 0-2.2l2.2-2.2c.6-.6 1.6-.6 2.2 0l16.1 16.3c.6.6 1.6.6 2.2 0l16.1-16.2c.6-.6 1.6-.6 2.2 0l2.2 2.2c.5.6.5 1.5 0 2.1z\"}},\nchevronleft:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M34.2 47.7L13.4 27.2c-.6-.6-.6-1.6 0-2.2L34.2 4.5c.6-.6 1.6-.6 2.2 0l2.2 2.2c.6.6.6 1.6 0 2.2L22.1 25c-.6.6-.6 1.6 0 2.2l16.3 16.1c.6.6.6 1.6 0 2.2l-2.2 2.2c-.5.5-1.4.5-2 0z\"}},\nchevronright:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M17.9 4.4l20.7 20.5c.6.6.6 1.6 0 2.2L17.9 47.6c-.6.6-1.6.6-2.2 0l-2.2-2.2c-.6-.6-.6-1.6 0-2.2l16.3-16.1c.6-.6.6-1.6 0-2.2L13.6 8.8c-.6-.6-.6-1.6 0-2.2l2.2-2.2c.6-.5 1.5-.5 2.1 0z\"}},\nchevronup:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M4.4 34.2l20.5-20.7c.6-.6 1.6-.6 2.2 0l20.5 20.7c.6.6.6 1.6 0 2.2l-2.2 2.2c-.6.6-1.6.6-2.2 0L27.1 22.2c-.6-.6-1.6-.6-2.2 0L8.8 38.5c-.6.6-1.6.6-2.2 0l-2.2-2.2c-.5-.6-.5-1.5 0-2.1z\"}},\nchoice:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"circle\":{\"cx\":\"26\",\"cy\":\"26\",\"r\":\"11.2\"},\"path\":{\"d\":\"M26 2C12.8 2 2 12.8 2 26s10.8 24 24 24 24-10.8 24-24S39.2 2 26 2zm0 41.6c-9.7 0-17.6-7.9-17.6-17.6S16.3 8.4 26 8.4 43.6 16.3 43.6 26 35.7 43.6 26 43.6z\"}}},\nclassic_interface:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M25.5 35.7v-8.5s-3.8 5.7-6.2 9.6-2.1 7-2.1 7c0 3.1 2.3 5.7 5.1 5.7 1.7 0 3.2-.9 4.1-2.4.9 1.3 2.3 2 3.9 2 2.8 0 5.1-2.5 5.1-5.7 0-.3-.1-.6-.1-.9 0-4.2-9.2-15.5-9.2-15.5V35.7l1.2 2.9c0 .1.1.2.1.4 0 .7-.6 1.3-1.3 1.3-.7 0-1.3-.6-1.3-1.3 0-.1 0-.3.1-.4l.6-2.9M15.9 28.3l8-3s-6.6-1.6-11.2-2.5c-4.6-.9-7.3.5-7.3.5C2.5 24.4.9 27.4 1.8 30c.6 1.6 2 2.7 3.7 3.1-.9 1.3-1.1 2.9-.6 4.4 1 2.6 4.1 3.9 7.1 2.8.3-.1.6-.3.8-.4 4-1.4 11.3-14 11.3-14l-7.8 2.9-.3.1-2.3 2.1c-.1.1-.2.1-.3.2-.7.3-1.5-.1-1.7-.8-.3-.7.1-1.5.8-1.7.1 0 .3-.1.4-.1l3-.3M19.9 16.4l5.1 6.9s-.4-6.8-.8-11.4C23.8 7.3 21.7 5 21.7 5c-1.9-2.5-5.2-3.2-7.4-1.5-1.4 1-2 2.7-1.9 4.4-1.5-.5-3.1-.3-4.4.6-2.2 1.7-2.5 5.1-.7 7.6.2.2.4.5.6.7 2.5 3.4 16.7 6.9 16.7 6.9l-5-6.7-.2-.2-2.7-1.6-.3-.3c-.4-.6-.3-1.4.3-1.9.6-.4 1.4-.3 1.9.3.1.1.1.2.2.3l1.1 2.8M36.1 28.3l-8-3s6.6-1.6 11.2-2.5c4.6-.9 7.3.5 7.3.5 2.9 1.1 4.5 4.1 3.6 6.7-.6 1.6-2 2.7-3.7 3.1.9 1.3 1.1 2.9.6 4.4-1 2.6-4.1 3.9-7.1 2.8-.3-.1-.6-.3-.8-.4-4-1.4-11.3-14-11.3-14l7.8 2.9.3.1 2.3 2.1c.1.1.2.1.3.2.7.3 1.5-.1 1.7-.8.3-.7-.1-1.5-.8-1.7-.1 0-.3-.1-.4-.1l-3-.3M31.7 16.4l-5.1 6.9s.4-6.8.8-11.4S29.9 5 29.9 5c1.9-2.5 5.2-3.2 7.4-1.5 1.4 1 2 2.7 1.9 4.4 1.5-.4 3.1-.2 4.3.7 2.2 1.7 2.5 5.1.7 7.6-.2.2-.4.5-.6.7-2.4 3.3-16.6 6.7-16.6 6.7l5-6.7.2-.2 2.7-1.6.3-.3c.4-.6.3-1.4-.3-1.9-.6-.4-1.4-.3-1.9.3-.1.1-.1.2-.2.3l-1.1 2.9\"}}},\nclear:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M26 2C12.7 2 2 12.7 2 26s10.7 24 24 24 24-10.7 24-24S39.3 2 26 2zm4.9 24.8l7.8 7.8c.4.4.4 1 0 1.4l-2.8 2.8c-.4.4-1 .4-1.4 0L26.7 31c-.4-.4-1-.4-1.4 0l-7.8 7.8c-.4.4-1 .4-1.4 0L13.3 36c-.4-.4-.4-1 0-1.4l7.8-7.8c.4-.4.4-1 0-1.4l-7.9-7.9c-.4-.4-.4-1 0-1.4l2.8-2.8c.4-.4 1-.4 1.4 0l7.9 7.9c.4.4 1 .4 1.4 0l7.8-7.8c.4-.4 1-.4 1.4 0l2.8 2.8c.4.4.4 1 0 1.4l-7.8 7.8c-.3.4-.3 1 0 1.4z\"}},\nclock:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M26 2C12.8 2 2 12.8 2 26s10.8 24 24 24 24-10.8 24-24S39.2 2 26 2zm0 42c-9.9 0-18-8.1-18-18S16.1 8 26 8s18 8.1 18 18-8.1 18-18 18z\"},{\"d\":\"M29.4 26.2c-.3-.3-.4-.7-.4-1.1v-9.6c0-.8-.7-1.5-1.5-1.5h-3c-.8 0-1.5.7-1.5 1.5v12.1c0 .4.2.8.4 1.1l7.4 7.4c.6.6 1.5.6 2.1 0L35 34c.6-.6.6-1.5 0-2.1l-5.6-5.7z\"}]}},\nclose:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M31 25.4l13-13.1c.6-.6.6-1.5 0-2.1l-2-2.1c-.6-.6-1.5-.6-2.1 0L26.8 21.2c-.4.4-1 .4-1.4 0L12.3 8c-.6-.6-1.5-.6-2.1 0l-2.1 2.1c-.6.6-.6 1.5 0 2.1l13.1 13.1c.4.4.4 1 0 1.4L8 39.9c-.6.6-.6 1.5 0 2.1l2.1 2.1c.6.6 1.5.6 2.1 0L25.3 31c.4-.4 1-.4 1.4 0l13.1 13.1c.6.6 1.5.6 2.1 0L44 42c.6-.6.6-1.5 0-2.1L31 26.8c-.4-.4-.4-1 0-1.4z\"}},\ncollapse_all:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M48 9.5c0-.8-.7-1.5-1.5-1.5h-41C4.7 8 4 8.7 4 9.5v3c0 .8.7 1.5 1.5 1.5h41c.8 0 1.5-.7 1.5-1.5v-3zM48 39.5c0-.8-.7-1.5-1.5-1.5h-41c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h41c.8 0 1.5-.7 1.5-1.5v-3zM34.5 29c.8 0 1.5-.7 1.5-1.5v-3c0-.8-.7-1.5-1.5-1.5h-17c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h17z\"}},\ncollection:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M12 2.17h14v23.5l.31.46.57-.1 5.66-5.14.39-.12.42.11L38.6 26l.6.1.28-.46V2h3.28a6 6 0 013 1.12 5.22 5.22 0 011.57 2.74v39.43a4.2 4.2 0 01-.88 3.15A4.58 4.58 0 0142.81 50H12.32c-.24 0-1.52.27-3.38-1.54a5.28 5.28 0 01-1.48-3.56v-1.29H5.87a3.15 3.15 0 01-3.19-3.34c.06-3 3.14-3 3.14-3h1.64v-8H5.87a3.09 3.09 0 01-3.19-3.19 3.24 3.24 0 013.19-3.34h1.59v-7.83H5.87a3.11 3.11 0 01-3.19-3.1 3.15 3.15 0 013.19-3.28h1.59v-1.9a4.78 4.78 0 011.19-2.92A5.14 5.14 0 0112 2.17z\"}},\ncollection_variable:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M45 2H7C4.2 2 2 4.2 2 7v38c0 2.7 2.2 5 5 5h38c2.7 0 5-2.2 5-5V7c0-2.8-2.2-5-5-5zm-2.4 39.4c-.1.6-.7 1.1-1.4 1.1h-31c-.6 0-1.1-.6-1.1-1.3V10.6c0-.6.6-1.1 1.3-1.1h31c.6 0 1.1.6 1.1 1.3v30.6z\"},{\"d\":\"M33 22.4c1 0 3.1-.8 3.1-3.6s-2-2.9-2.6-2.9c-1.2 0-2.4.9-3.5 2.7-1.1 1.9-2.3 3.9-2.3 3.9-.3-1.3-.5-2.4-.6-2.9-.2-1.1-1.5-3.6-4.3-3.6-2.7 0-5.2 1.6-5.2 1.6-.5.3-.8.8-.8 1.4 0 .9.7 1.7 1.7 1.7.3 0 .5-.1.7-.2 0 0 2.1-1.2 2.5 0 .1.3.2.7.4 1.1.5 1.8 1 3.9 1.4 5.8L21.7 30s-2-.7-3.1-.7-3.1.8-3.1 3.6 2 2.9 2.6 2.9c1.2 0 2.4-.9 3.5-2.7 1.1-1.9 2.3-3.9 2.3-3.9.4 1.7.6 3.1.8 3.6.7 1.9 2.2 3.1 4.3 3.1 0 0 2.1 0 4.7-1.4.6-.2 1-.8 1-1.5 0-.9-.7-1.7-1.7-1.7-.3 0-.5.1-.7.2 0 0-1.8 1-2.4.2-.4-.8-.8-2-1.1-3.3-.3-1.2-.6-2.7-.8-4.1l1.8-2.6c.2 0 2.2.7 3.2.7z\"}]},\ncolor_swatch:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M35.435 9.494l7.071 7.071.002-.002a4 4 0 010 5.657l-.002.002L24 40.703V15.264l5.777-5.771h.001a4 4 0 015.656.002l.001-.001zM50 36v10a4 4 0 01-4 4H21l18-18h7a4 4 0 014 4zM2 41.046V6a4 4 0 014-4h10a4 4 0 014 4v35.046a9 9 0 01-18 0zM11 45a4 4 0 100-8 4 4 0 000 8z\"}},\ncomments:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M47.8 31c-.1-.4-.1-.8.1-1.2 1.3-2.3 2.1-4.9 2.1-7.7 0-8.8-7.6-16-17-16-4.4 0-8.4 1.6-11.4 4.2C31.9 11.5 40 19.9 40 30.1c0 2.5-.5 4.9-1.4 7.1 1.1-.4 2.2-.9 3.2-1.4.4-.2.8-.3 1.2-.1l6.1 2.4c.6.2 1.1-.3.9-.9L47.8 31z\"},{\"d\":\"M19 14.1c-9.4 0-17 7.2-17 16 0 2.8.8 5.4 2.1 7.7.2.4.3.8.1 1.2L2 45.1c-.2.6.3 1.1.9.9L9 43.6c.4-.1.8-.1 1.2.1 2.6 1.5 5.6 2.3 8.8 2.3 9.4 0 17-7.2 17-16 0-8.7-7.6-15.9-17-15.9z\"}]},\ncompany:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M21 4H7C5.3 4 4 5.3 4 7v40c0 .5.5 1 1 1h4c.6 0 1-.4 1-1v-6c0-.6.4-1 1-1h6c.6 0 1 .4 1 1v6c0 .6.4 1 1 1h3c1.1 0 2-.9 2-2V7c0-1.7-1.3-3-3-3zm-9 31.5c0 .3-.2.5-.5.5h-3c-.3 0-.5-.2-.5-.5v-5c0-.3.2-.5.5-.5h3c.3 0 .5.2.5.5v5zm0-10c0 .3-.2.5-.5.5h-3c-.3 0-.5-.2-.5-.5v-5c0-.3.2-.5.5-.5h3c.3 0 .5.2.5.5v5zm0-10c0 .3-.2.5-.5.5h-3c-.3 0-.5-.2-.5-.5v-5c0-.3.2-.5.5-.5h3c.3 0 .5.2.5.5v5zm8 20c0 .3-.2.5-.5.5h-3c-.3 0-.5-.2-.5-.5v-5c0-.3.2-.5.5-.5h3c.3 0 .5.2.5.5v5zm0-10c0 .3-.2.5-.5.5h-3c-.3 0-.5-.2-.5-.5v-5c0-.3.2-.5.5-.5h3c.3 0 .5.2.5.5v5zm0-10c0 .3-.2.5-.5.5h-3c-.3 0-.5-.2-.5-.5v-5c0-.3.2-.5.5-.5h3c.3 0 .5.2.5.5v5zM45 14H31c-1.7 0-3 1.3-3 3v30c0 .5.5 1 1 1h4c.6 0 1-.4 1-1v-6c0-.6.4-1 1-1h6c.6 0 1 .4 1 1v6c0 .6.4 1 1 1h3c1.1 0 2-.9 2-2V17c0-1.7-1.3-3-3-3zm-9 21.5c0 .3-.2.5-.5.5h-3c-.3 0-.5-.2-.5-.5v-5c0-.3.2-.5.5-.5h3c.3 0 .5.2.5.5v5zm0-10c0 .3-.2.5-.5.5h-3c-.3 0-.5-.2-.5-.5v-5c0-.3.2-.5.5-.5h3c.3 0 .5.2.5.5v5zm8 10c0 .3-.2.5-.5.5h-3c-.3 0-.5-.2-.5-.5v-5c0-.3.2-.5.5-.5h3c.3 0 .5.2.5.5v5zm0-10c0 .3-.2.5-.5.5h-3c-.3 0-.5-.2-.5-.5v-5c0-.3.2-.5.5-.5h3c.3 0 .5.2.5.5v5z\"}},\ncomponent_customization:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M50 5.4C50 2 47.2 2 47.2 2H4.9c-.5.1-2.9.3-2.9 3v14.2c.1.6.6 2.8 3 2.8h42.2c3.1 0 2.8-2.7 2.8-2.7V5.4zM49.1 35.3c-.6-.1-1.2-.1-1.8-.2-.1 0-.2-.1-.2-.2-.2-.7-.6-1.4-.8-1.9v-.3c.3-.5.8-1 1.1-1.5.2-.3.2-.7-.1-1l-2-2c-.1-.1-.3-.2-.5-.2-.1 0-.3.1-.5.2-.5.3-1 .8-1.5 1.1-.1 0-.1.1-.1.1h-.1c-.7-.2-1.2-.6-1.9-.8-.1 0-.2-.1-.2-.2-.1-.6-.1-1.1-.2-1.7 0-.3-.1-.6-.5-.8-.1-.1-.2-.1-.2-.1h-2.9c-.2 0-.3 0-.5.1-.2.2-.5.5-.5.8 0 .6-.1 1.1-.2 1.7 0 .1-.1.2-.2.2-.7.2-1.2.6-1.9.8h-.1c-.1 0-.1 0-.2-.1-.5-.3-.9-.8-1.5-1.1-.1-.1-.2-.2-.5-.2s-.3.1-.6.2l-2 2c-.3.3-.3.7-.1 1 .3.5.8.9 1.1 1.5.1.1.1.2 0 .3-.2.7-.6 1.2-.8 1.9 0 .1-.1.2-.2.2-.6.1-1.1.1-1.7.2-.3 0-.7.2-.8.6v3.4c.2.3.5.5.8.6.6 0 1.1.1 1.7.2.1 0 .2.1.2.2.2.7.6 1.2.8 1.9 0 .1.1.2 0 .3-.3.5-.8 1-1.1 1.5-.2.3-.2.7.1 1l2 2c.2.2.3.2.6.2.1 0 .3-.1.5-.2.5-.3.9-.8 1.5-1.1.1 0 .1-.1.2-.1h.1c.7.2 1.2.6 1.9.8.1 0 .2.1.2.2.1.6.1 1.2.2 1.8 0 .5.3.7.8.7h2.9c.5 0 .7-.2.8-.7.1-.6.1-1.2.2-1.8 0-.1.1-.2.2-.2.7-.2 1.4-.6 1.9-.8h.1s.1 0 .1.1c.5.3 1 .8 1.5 1.1.1.1.3.2.5.2s.3-.1.6-.2l2-2c.3-.3.3-.7.1-1-.3-.5-.8-.9-1.1-1.5-.1-.1-.1-.2 0-.3.2-.7.6-1.2.8-1.9 0-.1.1-.2.2-.2.6-.1 1.2-.1 1.8-.2.5 0 .7-.3.7-.8v-2.8c0-.7-.2-.9-.7-1zM38 42.1c-2.6 0-4.5-2-4.5-4.5s2-4.5 4.5-4.5 4.5 2 4.5 4.5c-.1 2.4-2.1 4.5-4.5 4.5zM23.4 27.8c-.1-1.6-1.5-1.8-1.9-1.8H3.8c-.5 0-1.8.2-1.8 2v20.6c.1.5.4 1.4 2 1.4h17.5c2 0 2-2.3 2-2.3v-2.4c0-1 .2-2.1-.4-3.1-.1-.2-.2-.3-.3-.5s-.2-.3-.3-.5c-.6-.9-.5-2-.5-3.1 0-1 0-2.1.5-3 .2-.4.5-.8.7-1.2.4-.6.4-1.4.4-2.1l-.2-4z\"}}},\nconnected_apps:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M23.8 31.2L20 48.8c-.2 1 1.1 1.7 1.7.9l21-26c.6-.7.1-1.7-.7-1.7H30.8c-.8 0-1.3-.9-.9-1.5l9.9-16.2c.6-1-.1-2.3-1.3-2.3H20.8c-1.1 0-2 .7-2.4 1.7L10.1 28c-.3 1 .4 2 1.4 2h11.4c.6 0 1.1.6.9 1.2z\"}},\nconstant:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M49.1 7.7c-.3-.3-.6-.4-1-.4-3.8-.2-7.7.1-11.5.2H23.1c-4.1 0-7.4.9-10.5 3.7-2 1.8-3.9 4.4-5.4 6.7-.1.3-.2.5-.2.9 0 .8.7 1.5 1.5 1.5.9 0 1.1-.6 1.5-1.2.4-.7.9-1.3 1.5-1.8 2.1-1.9 4.9-3 7.7-2.7-2.4 6.6-5.7 14.2-10.5 19.4-2 2.2-5.4 4.4-6.1 7.4-.8 3.1 2.4 3.9 4.7 3 3-1.2 4.9-4.3 6.4-7 1.9-3.3 3.6-6.8 5-10.3 1.5-3.5 2.9-6.9 4.4-10.4.9-2.1 1.1-2.1 3.3-2.1h5.9c-2.2 4.8-4.3 9.7-6.2 14.6-1.5 3.7-4.2 9.2-2.3 13.2 1.9 4 7.2 2.5 10.1.5 2.9-2.1 4.9-5.4 6.5-8.6.3-.6.6-1.2.4-1.9-.2-.6-.8-.9-1.4-.9-1.4 0-1.6 1.6-2.1 2.6-.8 1.7-2.6 3.2-4.5 2.9-4.4-.6-.5-8.6.3-10.7.8-2.2 1.7-4.4 2.7-6.5.5-1.2 1-2.5 1.7-3.7.8-1.5.8-1.5 2.6-1.6 1.5-.1 5.9.7 7.2-.1 1.1-.7 1.7-3.3 2.2-5.2.1-.6-.1-1.1-.4-1.5z\"}},\ncontact_request:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M25.4 27c-.6.2-.9.9-.4 1.4l4.4 4.5c.5.5.5 1.2 0 1.7l-1.7 1.7c-.5.5-1.2.5-1.7 0L15.3 25.5c-.5-.5-.5-1.2 0-1.7L26 13.1c.5-.5 1.2-.5 1.7 0l1.7 1.7c.5.5.5 1.2 0 1.7L24.9 21c-.5.5.4 1.4.4 1.4 10.2.3 18.1 7 20.5 16.1C48.4 34.9 50 30.6 50 26 49.9 13.7 39.2 4 26 4S2.2 13.8 2.2 25.8c0 3.8 1.1 7.4 2.9 10.6.3.5.4 1.1.2 1.7l-3.1 8.5c-.3.8.5 1.5 1.3 1.3l8.7-3.3c.5-.2 1.1-.1 1.7.2 3.6 2 7.9 3.2 12.5 3.2 5.9-.1 11.4-2.1 15.5-5.5-1.1-8.5-8-15.1-16.5-15.5z\"}},\ncontract:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M29.6 24H45c1 0 1.3-1.1.5-1.9l-4.9-5 9-9.1c.5-.5.5-1.4 0-1.9l-3.7-3.7c-.5-.4-1.3-.4-1.9.1l-9 9-5.1-4.9c-.8-.8-1.9-.5-1.9.5v15.4c0 .7.9 1.5 1.6 1.5zM22.4 28H7c-1 0-1.3 1.1-.5 1.9l4.9 5-9 9.1c-.5.5-.5 1.4 0 1.9l3.7 3.7c.5.5 1.3.5 1.9 0l9.1-9.1 5.1 4.9c.7.9 1.8.6 1.8-.4V29.7c0-.7-.9-1.7-1.6-1.7zM28 29.6V45c0 1 1.1 1.3 1.9.5l5-4.9 9.1 9c.5.5 1.4.5 1.9 0l3.7-3.7c.4-.5.4-1.3-.1-1.9l-9-9 4.9-5.1c.8-.8.5-1.9-.5-1.9H29.5c-.7 0-1.5.9-1.5 1.6zM24 22.4V7c0-1-1.1-1.3-1.9-.5l-5 4.9-9.1-9c-.5-.5-1.4-.5-1.9 0L2.4 6.1c-.5.5-.5 1.3 0 1.9l9.1 9.1-4.9 5.1c-.9.7-.6 1.8.4 1.8h15.3c.7 0 1.7-.9 1.7-1.6z\"}},\ncontract_alt:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M29.6 23.9H45c1 0 1.3-1.1.5-1.9l-4.9-5 9-9.1c.5-.5.5-1.4 0-1.9l-3.7-3.7c-.5-.4-1.3-.4-1.9.1l-9 9-5.1-4.9C29.1 5.7 28 6 28 7v15.4c0 .7.9 1.5 1.6 1.5zM22.4 28H7c-1 0-1.3 1.1-.5 1.9l4.9 5-9 9.1c-.5.5-.5 1.4 0 1.9l3.7 3.7c.5.5 1.3.5 1.9 0l9.1-9.1 5.1 4.9c.7.9 1.8.6 1.8-.4V29.7c0-.7-.9-1.7-1.6-1.7z\"}},\ncopy:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M44 2H18c-2.2 0-4 1.8-4 4v2h24c2.2 0 4 1.8 4 4v28h2c2.2 0 4-1.8 4-4V6c0-2.2-1.8-4-4-4z\"},{\"d\":\"M38 16c0-2.2-1.8-4-4-4H8c-2.2 0-4 1.8-4 4v30c0 2.2 1.8 4 4 4h26c2.2 0 4-1.8 4-4V16zm-18 7c0 .6-.4 1-1 1h-8c-.6 0-1-.4-1-1v-2c0-.6.4-1 1-1h8c.6 0 1 .4 1 1v2zm8 16c0 .6-.4 1-1 1H11c-.6 0-1-.4-1-1v-2c0-.6.4-1 1-1h16c.6 0 1 .4 1 1v2zm4-8c0 .6-.4 1-1 1H11c-.6 0-1-.4-1-1v-2c0-.6.4-1 1-1h20c.6 0 1 .4 1 1v2z\"}]},\ncopy_to_clipboard:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M17.4 11.6h17.3c.9 0 1.6-.7 1.6-1.6V6.8c0-2.6-2.1-4.8-4.7-4.8h-11c-2.6 0-4.7 2.2-4.7 4.8V10c-.1.9.6 1.6 1.5 1.6z\"},{\"d\":\"M43.3 6h-1.6c-.5 0-.8.3-.8.8V10c0 3.5-2.8 6.4-6.3 6.4H17.4c-3.5 0-6.3-2.9-6.3-6.4V6.8c0-.5-.3-.8-.8-.8H8.7C6.1 6 4 8.2 4 10.8v34.4C4 47.8 6.1 50 8.7 50h34.6c2.6 0 4.7-2.2 4.7-4.8V10.8C48 8.2 45.9 6 43.3 6z\"}]}},\ncrossfilter:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M35 9c-1.7 0-3.3.2-4.8.7 1.8 1.5 3.4 3.3 4.7 5.3h.1c6.1 0 11 4.9 11 11s-4.9 11-11 11c-1.5 0-3-.3-4.3-.9.8-1.1 1.5-2.3 2-3.5.2-.5.4-.9.5-1.4.5-1.6.8-3.4.8-5.2 0-9.4-7.6-17-17-17S0 16.6 0 26s7.6 17 17 17c1.7 0 3.3-.2 4.8-.7-1.8-1.5-3.4-3.3-4.7-5.3H17c-6.1 0-11-4.9-11-11s4.9-11 11-11c1.5 0 3 .3 4.4.9C19.3 18.7 18 22.2 18 26c0 9.4 7.6 17 17 17s17-7.6 17-17S44.4 9 35 9z\"}},\ncurrency:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M45.1 10.9H6.9c-2.4 0-4.4 2-4.4 4.4v21.3c0 2.4 2 4.4 4.4 4.4h38.2c2.4 0 4.4-2 4.4-4.4V15.4c0-2.5-2-4.5-4.4-4.5zM12 36.6c0-2.9-2.3-5.1-5.1-5.1v-11c2.9 0 5.1-2.3 5.1-5.1h28c0 2.9 2.3 5.1 5.1 5.1v11c-2.9 0-5.1 2.3-5.1 5.1H12z\"},\"circle\":{\"cx\":\"26\",\"cy\":\"25.6\",\"r\":\"7.3\"}}},\ncurrency_input:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M35.9 37.6c2.7-4.5 2.2-10.4-1.7-14.3-4.5-4.5-11.9-4.5-16.4 0-3.9 3.9-4.4 9.8-1.7 14.3h19.8z\"},{\"d\":\"M49.5 7.2v37.6c0 2.6-2.1 4.7-4.7 4.7H7.2c-2.6 0-4.7-2.1-4.7-4.7V7.2c0-2.6 2.1-4.7 4.7-4.7h37.6c2.6 0 4.7 2.1 4.7 4.7zm-39.2 36h31.3c.9 0 1.6-.7 1.6-1.6V10.3c0-.9-.7-1.6-1.6-1.6H10.3c-.9 0-1.6.7-1.6 1.6v31.3c.1.9.8 1.6 1.6 1.6z\"}]},\ncustom_apps:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M49.4 12.2c-.2-.6-.9-.7-1.4-.3L39.9 20c-.6.6-1.6.6-2.2 0L32 14.3c-.6-.6-.6-1.6 0-2.2L40.2 4c.4-.4.2-1.1-.3-1.4-1.4-.4-2.9-.6-4.3-.6-8.5 0-15.3 7.3-14.3 16 .2 1.4.5 2.6 1 3.8L3.6 40.4c-2.2 2.2-2.2 5.8 0 7.9 1.1 1.1 2.6 1.7 4 1.7s2.9-.6 4-1.7l18.6-18.6c1.2.5 2.5.8 3.8 1 8.7 1 16-5.8 16-14.3 0-1.5-.2-2.9-.6-4.2z\"}},\ncut:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M40.7 31.4c-1.7-.4-3.3-.2-4.7.3L13.9 2.4c-.3-.4-1-.5-1.4-.2l-.8.6c-1.7 1.3-2 3.8-.7 5.6l10.6 14c.4.5.4 1.3 0 1.8l-5.7 7.5c-1.4-.5-3.1-.6-4.7-.3-3.7.8-6.6 3.8-7.1 7.5-.8 5.9 4.4 11 10.5 10 3.6-.6 6.5-3.4 7.3-6.9.5-2.5 0-4.8-1.2-6.5l4.2-5.6c.6-.8 1.8-.8 2.4 0l4.2 5.6c-1.2 1.9-1.7 4.2-1.2 6.5.7 3.6 3.7 6.3 7.3 6.9 6.1 1 11.3-4.1 10.5-10-.9-3.8-3.8-6.8-7.4-7.5zM12.9 43.1c-1.7 0-3-1.3-3-3s1.3-3 3-3 3 1.3 3 3-1.3 3-3 3zm26 0c-1.7 0-3-1.3-3-3s1.3-3 3-3 3 1.3 3 3c-.1 1.7-1.4 3-3 3zM31.3 18.9c.4.5 1.2.5 1.6 0l8-10.5c1.1-1.5 1-3.5-.1-4.9l.1-.1-.1.1c-.2-.3-1.5-1.3-1.5-1.3-.4-.3-1.1-.2-1.4.2l-8.8 11.7c-.4.5-.4 1.3 0 1.8l2.2 3z\"}}},\ndash:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M50 27.5c0 .8-.7 1.5-1.5 1.5h-45c-.8 0-1.5-.7-1.5-1.5v-3c0-.8.7-1.5 1.5-1.5h45c.8 0 1.5.7 1.5 1.5v3z\"}},\ndata_mapping:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M44.5 21a5.5 5.5 0 11-4.9 8h-.91c-5.39.06-7.29 1.7-10.31 7.34l-.17.33-.2.38c-1.8 3.37-2.82 4.9-4.66 6.52C20.76 45.84 17.42 47 13 47h-.6a5.5 5.5 0 110-5h.91c5.49-.06 7.36-1.76 10.48-7.67L24 34a27.18 27.18 0 013.11-5H12.4a5.5 5.5 0 110-5h27.2a5.53 5.53 0 014.68-3zm0-19a5.5 5.5 0 11-4.9 8H12.4a5.5 5.5 0 110-5h27.2a5.5 5.5 0 014.9-3z\"}},\ndatabase:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M45.4 9c0-3.8-8.7-6.9-19.4-6.9S6.6 5.2 6.6 9v2.4c0 3.8 8.7 6.9 19.4 6.9s19.4-3.1 19.4-6.9V9z\"},{\"d\":\"M6.6 17c0 3 8.7 5.4 19.4 5.4S45.4 20 45.4 17v4.9c0 3.8-8.7 6.9-19.4 6.9S6.6 25.7 6.6 21.9V17z\"},{\"d\":\"M6.6 17c0 3 8.7 5.4 19.4 5.4S45.4 20 45.4 17v4.9c0 3.8-8.7 6.9-19.4 6.9S6.6 25.7 6.6 21.9V17z\"},{\"d\":\"M6.6 27.5c0 3 8.7 5.4 19.4 5.4s19.4-2.4 19.4-5.4v4.9c0 3.8-8.7 6.9-19.4 6.9s-19.4-3-19.4-6.8v-5z\"},{\"d\":\"M6.6 38.1c0 3 8.7 5.4 19.4 5.4s19.4-2.4 19.4-5.4V43c0 3.8-8.7 6.9-19.4 6.9S6.6 46.8 6.6 43v-4.9z\"}]},\ndatadotcom:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M42.5 49.1h-5.3c-.3-1.9-.5-3.6-.5-5.1h-.1c-2.5 4-6.6 6-12.2 6-4.8 0-8.5-1.6-11.1-4.9-2.6-3.3-3.8-7.6-3.8-12.8 0-3.4.6-6.4 1.9-9.1s3.1-4.9 5.5-6.4c2.4-1.6 5.2-2.4 8.4-2.4 4.6 0 8.3 1.5 11.1 4.4V2.1H42v39.6c0 2.4.2 4.9.5 7.4zm-6.2-14.5V23.9c-1.3-1.7-2.8-2.9-4.5-3.8-1.7-.8-3.6-1.2-5.8-1.2-3.3 0-5.9 1.2-7.8 3.7-1.9 2.5-2.8 5.7-2.8 9.6 0 4.1.9 7.3 2.7 9.7 1.8 2.4 4.4 3.6 7.6 3.6 3.2 0 5.8-1 7.7-3.1 2-2 2.9-4.6 2.9-7.8z\"}},\ndate_input:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M46.3 19.7H5.7c-.9 0-1.6.7-1.6 1.6v23.5c0 2.6 2.1 4.7 4.7 4.7h34.4c2.6 0 4.7-2.1 4.7-4.7V21.3c0-.9-.7-1.6-1.6-1.6zM18.2 41.6c0 .9-.7 1.6-1.6 1.6h-3.1c-.9 0-1.6-.7-1.6-1.6v-3.1c0-.9.7-1.6 1.6-1.6h3.1c.9 0 1.6.7 1.6 1.6v3.1zm10.9 0c0 .9-.7 1.6-1.6 1.6h-3.1c-.9 0-1.6-.7-1.6-1.6v-3.1c0-.9.7-1.6 1.6-1.6h3.1c.9 0 1.6.7 1.6 1.6v3.1zm0-10.9c0 .9-.7 1.6-1.6 1.6h-3.1c-.9 0-1.6-.7-1.6-1.6v-3.1c0-.9.7-1.6 1.6-1.6h3.1c.9 0 1.6.7 1.6 1.6v3.1zm11 0c0 .9-.7 1.6-1.6 1.6h-3.1c-.9 0-1.6-.7-1.6-1.6v-3.1c0-.9.7-1.6 1.6-1.6h3.1c.9 0 1.6.7 1.6 1.6v3.1zm3.1-23.5h-3.9V5.6c0-1.7-1.4-3.1-3.1-3.1-1.7 0-3.1 1.4-3.1 3.1v1.6H19V5.6c0-1.7-1.4-3.1-3.1-3.1s-3.1 1.4-3.1 3.1v1.6h-4c-2.6 0-4.7 2.1-4.7 4.7v1.6c0 .9.7 1.6 1.6 1.6h40.7c.9 0 1.6-.7 1.6-1.6v-1.6c-.1-2.6-2.2-4.7-4.8-4.7z\"}},\ndate_time:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M43.6 6.8h-4V5.2c0-1.8-1.4-3.2-3.2-3.2-1.8 0-3.2 1.4-3.2 3.2v1.6H18.8V5.2c0-1.8-1.4-3.2-3.2-3.2s-3.2 1.4-3.2 3.2v1.6h-4c-2.6 0-4.8 2.2-4.8 4.8v1.6c0 .9.7 1.6 1.6 1.6h41.6c.9 0 1.6-.7 1.6-1.6v-1.6c0-2.6-2.2-4.8-4.8-4.8zM46.8 19.6H5.2c-.9 0-1.6.7-1.6 1.6v24c0 2.6 2.2 4.8 4.8 4.8h35.2c2.6 0 4.8-2.2 4.8-4.8v-24c0-.9-.7-1.6-1.6-1.6zM26 46.7c-6.6 0-11.9-5.4-11.9-11.9 0-6.6 5.4-11.9 11.9-11.9s11.9 5.4 11.9 11.9c0 6.6-5.3 11.9-11.9 11.9z\"},{\"d\":\"M27.2 34.3v-5.1c0-.4-.4-.8-.8-.8h-.8c-.4 0-.8.4-.8.8v5.6c0 .3.1.6.4.8l3.8 3.8c.3.3.8.3 1.1 0l.6-.6c.3-.3.3-.8 0-1.1l-3.5-3.4z\"}]},\ndayview:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M44 7h-5V5c0-1.6-1.3-3-3-3-1.6 0-3 1.3-3 3v2H19V5c0-1.6-1.3-3-3-3-1.6 0-3 1.3-3 3v2H8c-2.2 0-4 1.8-4 4v2.5c0 .8.7 1.5 1.5 1.5h41c.8 0 1.5-.7 1.5-1.5V11c0-2.2-1.8-4-4-4zM46.5 20h-41c-.8 0-1.5.7-1.5 1.5V46c0 2.2 1.8 4 4 4h36c2.2 0 4-1.8 4-4V21.5c0-.8-.7-1.5-1.5-1.5zM29 42v.2c0 .8-1 1.8-2 1.8s-2-1-2-2V32l-1.5 1.6c-.3.3-.6.4-1 .4-.8 0-1.5-.7-1.5-1.5 0-.4.2-.8.5-1.1l3.9-3.9c.4-.4.9-.6 1.5-.6 1.1 0 2.1.9 2.1 2V42z\"}},\ndelete:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M45.5 10H33V6c0-2.2-1.8-4-4-4h-6c-2.2 0-4 1.8-4 4v4H6.5c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h39c.8 0 1.5-.7 1.5-1.5v-3c0-.8-.7-1.5-1.5-1.5zM23 7c0-.6.4-1 1-1h4c.6 0 1 .4 1 1v3h-6V7zM41.5 20h-31c-.8 0-1.5.7-1.5 1.5V45c0 2.8 2.2 5 5 5h24c2.8 0 5-2.2 5-5V21.5c0-.8-.7-1.5-1.5-1.5zM23 42c0 .6-.4 1-1 1h-2c-.6 0-1-.4-1-1V28c0-.6.4-1 1-1h2c.6 0 1 .4 1 1v14zm10 0c0 .6-.4 1-1 1h-2c-.6 0-1-.4-1-1V28c0-.6.4-1 1-1h2c.6 0 1 .4 1 1v14z\"}}},\ndeprecate:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M48 7H4c-1.1 0-2 .9-2 2v26c0 1.1.9 2 2 2h16.2c1 5.7 5.9 10 11.8 10s10.9-4.3 11.8-10H48c1.1 0 2-.9 2-2V9c0-1.1-.9-2-2-2zm-8.6 32.6l-2.8 2.8-4.6-4.6-4.6 4.6-2.8-2.8 4.6-4.6-4.6-4.6 2.8-2.8 4.6 4.6 4.6-4.6 2.8 2.8-4.6 4.6 4.6 4.6zM46 33h-2.2c-1-5.7-5.9-10-11.8-10s-10.9 4.3-11.8 10H6V11h40v22z\"}},\ndescription:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M44 4H8C5.8 4 4 5.8 4 8v36c0 2.2 1.8 4 4 4h36c2.2 0 4-1.8 4-4V8c0-2.2-1.8-4-4-4zM12 14c0-.6.4-1 1-1h10c.6 0 1 .4 1 1v10c0 .6-.4 1-1 1H13c-.6 0-1-.4-1-1V14zm24 26c0 .6-.4 1-1 1H13c-.6 0-1-.4-1-1v-2c0-.6.4-1 1-1h22c.6 0 1 .4 1 1v2zm4-8c0 .6-.4 1-1 1H13c-.6 0-1-.4-1-1v-2c0-.6.4-1 1-1h26c.6 0 1 .4 1 1v2zm0-8c0 .6-.4 1-1 1H29c-.6 0-1-.4-1-1v-2c0-.6.4-1 1-1h10c.6 0 1 .4 1 1v2zm0-8c0 .6-.4 1-1 1H29c-.6 0-1-.4-1-1v-2c0-.6.4-1 1-1h10c.6 0 1 .4 1 1v2z\"}},\ndesktop:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M50 6c0-2.2-1.8-4-4-4H6C3.8 2 2 3.8 2 6v26c0 2.2 1.8 4 4 4h40c2.2 0 4-1.8 4-4V6zm-6 22.5c0 .8-.7 1.5-1.5 1.5h-33c-.8 0-1.5-.7-1.5-1.5v-19C8 8.7 8.7 8 9.5 8h33c.8 0 1.5.7 1.5 1.5v19zM33 44h-3c-.6 0-1-.4-1-1v-2c0-.6-.4-1-1-1h-4c-.6 0-1 .4-1 1v2c0 .6-.4 1-1 1h-3c-2.2 0-4 1.8-4 4v.5c0 .8.7 1.5 1.5 1.5h19c.8 0 1.5-.7 1.5-1.5V48c0-2.2-1.8-4-4-4z\"}}},\ndesktop_and_phone:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M50 20.5c0-1.2-1-2.2-2.2-2.2H33.7c-1.2 0-2.2 1-2.2 2.2v23.7c0 1.2 1 2.2 2.2 2.2h14.1c1.2 0 2.2-1 2.2-2.2V20.5z\"},{\"d\":\"M46.7 40.2c0 .4-.4.9-.9.9H35.6c-.4 0-.9-.4-.9-.9V23.5c0-.4.4-.9.9-.9h10.2c.4 0 .9.4.9.9v16.7z\"}],\"g\":{\"path\":{\"d\":\"M27.7 29.4H8.4c-.7 0-1.3-.7-1.3-1.3V11.9c0-.7.7-1.3 1.3-1.3h28.1c.7 0 1.3.7 1.3 1.3v2.5h5.1V9c0-1.8-1.6-3.4-3.4-3.4H5.4C3.6 5.6 2 7.2 2 9v22.2c0 1.8 1.6 3.4 3.4 3.4h22.3v-5.2zM27.7 44.2v-3h-1.9c-.5 0-.9-.4-.9-.9v-1.7c0-.5-.4-.9-.9-.9h-3.4c-.5 0-.9.4-.9.9v1.7c0 .5-.4.9-.9.9h-2.6c-1.8 0-3.4 1.6-3.4 3.4v.4c0 .7.7 1.3 1.3 1.3h14.1c-.4-.6-.5-1.3-.5-2.1z\"}},\"circle\":{\"cx\":\"40.8\",\"cy\":\"43.8\",\"r\":\"1.6\"}},\ndesktop_console:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M33 44h-3c-.6 0-1-.4-1-1v-2c0-.6-.4-1-1-1h-4c-.6 0-1 .4-1 1v2c0 .6-.4 1-1 1h-3c-2.2 0-4 1.8-4 4v.5c0 .8.7 1.5 1.5 1.5h19c.8 0 1.5-.7 1.5-1.5V48c0-2.2-1.8-4-4-4zM46 2H6C3.8 2 2 3.8 2 6v26c0 2.2 1.8 4 4 4h40c2.2 0 4-1.8 4-4V6c0-2.2-1.8-4-4-4zM8 28.5v-19C8 8.7 8.7 8 9.5 8h6v22h-6c-.8 0-1.5-.7-1.5-1.5zm36 0c0 .8-.7 1.5-1.5 1.5h-21V8h21c.8 0 1.5.7 1.5 1.5v19z\"}}},\ndialing:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M48.5 37.9L42.4 33c-1.4-1.1-3.4-1.2-4.8-.1l-5.2 3.8c-.6.5-1.5.4-2.1-.2l-7.8-7-7-7.8c-.6-.6-.6-1.4-.2-2.1l3.8-5.2c1.1-1.4 1-3.4-.1-4.8l-4.9-6.1c-1.5-1.8-4.2-2-5.9-.3L3 8.4c-.8.8-1.2 1.9-1.2 3 .5 10.2 5.1 19.9 11.9 26.7S30.2 49.5 40.4 50c1.1.1 2.2-.4 3-1.2l5.2-5.2c1.9-1.5 1.8-4.3-.1-5.7z\"},{\"d\":\"M42 24.5c1.2-1.7 1.9-3.8 1.9-6C43.8 12.7 39.1 8 33.3 8c-2.2 0-4.3.7-6 1.9L23 5.5C25.8 3.3 29.4 2 33.3 2c9.1 0 16.6 7.4 16.6 16.6 0 3.9-1.3 7.5-3.6 10.3L42 24.5z\"}],\"circle\":{\"cx\":\"33.4\",\"cy\":\"18.4\",\"r\":\"4.5\"}}},\ndiamond:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",\"d\":\"M24.4 49.2c.9.9 2.2.9 3.1 0l21.9-21.9c.9-.9.9-2.2 0-3.1L27.6 2.4c-.9-.9-2.2-.9-3.1 0L2.6 24.3c-.9.9-.9 2.2 0 3.1l21.8 21.8z\"}},\ndislike:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M12 29.5V9c0-2.2-1.8-4-4-4H5.5C4.7 5 4 5.7 4 6.5v23c0 .8.7 1.5 1.5 1.5h5c.8 0 1.5-.7 1.5-1.5zM48 26V13.5C48 4.8 41.1 4 33.6 4c-7.1 0-9.4 2.7-16.2 3-.8 0-1.4.7-1.4 1.5v20c0 .8.7 1.5 1.5 1.5 4.8 0 8.5 5.2 8.5 10.5v6c0 .8.7 1.5 1.5 1.5H30c2.2 0 4-1.8 4-4V34c0-2.2 1.8-4 4-4h6c2.2 0 4-1.8 4-4z\"}},\ndisplay_rich_text:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M4.1 43.1H48c.9 0 1.6.7 1.6 1.6v3.1c0 .9-.7 1.6-1.6 1.6H4.1c-.9 0-1.6-.7-1.6-1.6v-3.1c0-.9.7-1.6 1.6-1.6zM4.1 29H48c.9 0 1.6.7 1.6 1.6v3.1c0 .9-.7 1.6-1.6 1.6H4.1c-.9 0-1.6-.7-1.6-1.6v-3.1c0-.9.7-1.6 1.6-1.6zM32 14.9h16c.9 0 1.6.7 1.6 1.6v3.1c0 .9-.7 1.6-1.6 1.6H32c-.9 0-1.6-.7-1.6-1.6v-3.1c0-.9.7-1.6 1.6-1.6zM24.1 21.6L16.7 3.3c-.2-.3-.5-.6-.9-.6h-5.7c-.3 0-.7.2-.8.6L2.5 21.6c-.1.3.1.8.5.8h3.6c.3 0 .7-.3.8-.6l1.4-3.9h8.7l1.5 3.9c.1.3.5.6.8.6h3.6c.5 0 .8-.4.7-.8zm-13.6-8.5l2.3-5.8h.5l2.5 5.8h-5.3z\"}},\ndisplay_text:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M43.5 2.5H8.6c-3.4 0-6.1 2.7-6.1 6.1v34.7c0 3.4 2.7 6.1 6.1 6.1h34.8c3.4 0 6.1-2.7 6.1-6.1V8.6c.1-3.4-2.7-6.1-6-6.1zM10.6 12.7c0-1.1.9-2 2-2h22.9c1.1 0 2 .9 2 2v2.1c0 1.1-.9 2-2 2h-23c-1.1 0-2-.9-2-2v-2.1zm24.1 26.6c0 1.1-.9 2-2 2h-20c-1.1 0-2-.9-2-2v-2c0-1.1.9-2 2-2h20c1.1 0 2 .9 2 2v2zM41.4 27c0 1.1-.9 2-2 2H12.7c-1.1 0-2-.9-2-2v-2c0-1.1.9-2 2-2h26.6c1.1 0 2 .9 2 2v2z\"}},\ndock_panel:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M1.908 35V9c0-3.9 3.1-7 7-7h26c3.9 0 7 3.1 7 7v3h-6V9c0-.601-.4-1-1-1h-26c-.6 0-1 .399-1 1v26c0 .6.4 1 1 1h3v6h-3c-3.9 0-7-3.1-7-7z\"},{\"d\":\"M45.908 16h-26c-2.2 0-4 1.799-4 4v26c0 2.199 1.8 4 4 4h26c2.199 0 4-1.801 4-4V20c0-2.201-1.801-4-4-4zm-4.015 25.184c0 .49-.307.795-.857.795H29.41c-.488 0-1.039-.428-1.039-.918v-1.773c0-.49.551-.979 1.039-.979h4.834c.551 0 .795-.613.428-.979l-10.4-10.403a.888.888 0 010-1.285l1.285-1.284a.887.887 0 011.285 0l10.4 10.4c.367.43.979.123.979-.426v-4.835c0-.552.551-.979 1.041-.979h1.836c.488 0 .795.488.795.979v11.687z\"}]},\ndown:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M8.3 14h35.4c1 0 1.7 1.3.9 2.2L27.3 37.4c-.6.8-1.9.8-2.5 0L7.3 16.2c-.7-.9-.1-2.2 1-2.2z\"}},\ndownload:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M48.5 31h-3c-.8 0-1.5.7-1.5 1.5v10c0 .8-.7 1.5-1.5 1.5h-33c-.8 0-1.5-.7-1.5-1.5v-10c0-.8-.7-1.5-1.5-1.5h-3c-.8 0-1.5.7-1.5 1.5V46c0 2.2 1.8 4 4 4h40c2.2 0 4-1.8 4-4V32.5c0-.8-.7-1.5-1.5-1.5z\"},{\"d\":\"M25 37.6c.6.6 1.5.6 2.1 0l13.5-13.5c.6-.6.6-1.5 0-2.1l-2.1-2.1c-.6-.6-1.5-.6-2.1 0l-5.6 5.6c-.6.6-1.7.2-1.7-.7V3.5C29 2.7 28.2 2 27.5 2h-3c-.8 0-1.5.7-1.5 1.5v21.2c0 .9-1.1 1.3-1.7.7l-5.6-5.6c-.6-.6-1.5-.6-2.1 0L11.5 22c-.6.6-.6 1.5 0 2.1L25 37.6z\"}]}},\ndrag:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M30.9 34.3c0 1.8-2.2 2.5-3.2 1l-2-4.3c-1.1-1.9-3.5-2.3-5.3-1.1l-1.3 1 6.7 15.9c.3.7 1 1.1 1.8 1.1h17.6c.9 0 1.6-.6 1.8-1.4l3.1-11.1c.8-3.1-1-6.1-3.8-7.2l-8-2.7c-11.3-4.1-7.6 8.4-7.4 8.8zM1.8 28.5h5.8v5.8H1.8zM14.4 4h5.8v5.8h-5.8zM14.4 42h5.8v5.8h-5.8zM1.8 15.8h5.8v5.8H1.8zM1.8 4.1h5.8v5.8H1.8zM27.1 4h5.8v5.8h-5.8zM39.8 4h5.8v5.8h-5.8zM1.8 42.1h5.8v5.8H1.8zM39.8 16.8h5.8v5.8h-5.8z\"}},\ndrag_and_drop:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M20 4c2.2 0 4 1.8 4 4s-1.8 4-4 4-4-1.8-4-4 1.8-4 4-4zm12 0c2.2 0 4 1.8 4 4s-1.8 4-4 4-4-1.8-4-4 1.8-4 4-4zM20 16c2.2 0 4 1.8 4 4s-1.8 4-4 4-4-1.8-4-4 1.8-4 4-4zm12 0c2.2 0 4 1.8 4 4s-1.8 4-4 4-4-1.8-4-4 1.8-4 4-4zM20 28c2.2 0 4 1.8 4 4s-1.8 4-4 4-4-1.8-4-4 1.8-4 4-4zm12 0c2.2 0 4 1.8 4 4s-1.8 4-4 4-4-1.8-4-4 1.8-4 4-4zM20 40c2.2 0 4 1.8 4 4s-1.8 4-4 4-4-1.8-4-4 1.8-4 4-4zm12 0c2.2 0 4 1.8 4 4s-1.8 4-4 4-4-1.8-4-4 1.8-4 4-4z\"}},\nduration_downscale:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M17.08 2H8a6 6 0 00-6 6v5.68a6 6 0 006.08 5.92h9.06a6 6 0 006-6V7.94A6 6 0 0017.08 2zm-3.26 12.8h-2.5a4 4 0 010-8h2.5a4 4 0 010 8zM34.5 19.6h9.06a6 6 0 006-6V7.94A6 6 0 0043.5 2h-9.06a6 6 0 00-6 6v5.66a6 6 0 006.06 5.94zm3.24-12.8h2.5a4 4 0 010 8h-2.5a4 4 0 010-8zM17.08 24.4H8a6 6 0 00-6 6v5.68A6 6 0 008.08 42h9.06a6 6 0 006-6v-5.66a6 6 0 00-6.06-5.94zm-3.26 12.8h-2.5a4 4 0 110-8h2.5a4 4 0 010 8zM49.83 40.12a.84.84 0 00-.23-.23l-1.84-1.52a1.42 1.42 0 00-1.84 0L42.82 41c-.53.45-1.45.17-1.45-.5v-15a1.27 1.27 0 00-1.32-1.12h-2.63a1.33 1.33 0 00-1.32 1.12v14.95c0 .67-.92.95-1.45.5l-3.09-2.58a1.44 1.44 0 00-1.85 0l-1.77 1.52a.92.92 0 00-.23 1.28.84.84 0 00.23.23l9.88 8.26a1.42 1.42 0 001.84 0l9.94-8.26a.92.92 0 00.23-1.28z\"}},\ndynamic_record_choice:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M20.8 43v-.3C13.7 40.4 8.5 33.9 8.5 26c0-9.6 7.9-17.5 17.5-17.5S43.5 16.4 43.5 26c0 1.6-.2 3.2-.6 4.7.2.2.5.3.7.5.3 0 .6-.1.9-.1 1.6 0 3.2.5 4.4 1.2.6-2 .9-4.1.9-6.3C49.7 12.8 39 2.1 25.9 2.1S2.1 12.8 2.1 25.9c0 12.6 9.8 22.9 22.2 23.7-2-1.4-3.5-3.9-3.5-6.6z\"},{\"d\":\"M31.3 28.8c1.5 0 2.9.4 4.2 1 .3-.1.6-.2 1-.2.4-1.1.6-2.3.6-3.6 0-6.1-4.9-11-11-11s-11 4.9-11 11c0 4.9 3.2 9 7.6 10.5.4-4.4 4.1-7.7 8.6-7.7z\"},{\"d\":\"M35.2 34.6c.8-.8 1.9-1.3 3.2-1.3 1.7 0 3.1.9 3.9 2.2.6-.2 1.4-.5 2.2-.5 2.9 0 5.4 2.5 5.4 5.3 0 2.9-2.5 5.3-5.4 5.3-.3 0-.7 0-1-.1-.6 1.2-2 2-3.4 2-.6 0-1.2-.2-1.7-.4-.7 1.6-2.3 2.7-4.1 2.7-2 0-3.6-1.2-4.2-2.9-.2 0-.6.1-.9.1-2.3 0-4.2-1.8-4.2-4.1 0-1.5.8-2.9 2.1-3.6-.2-.6-.4-1.2-.4-1.9 0-2.6 2.2-4.8 4.8-4.8 1.4.1 2.8.9 3.7 2z\"}]},\nedit:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M9.5 33.4l8.9 8.9c.4.4 1 .4 1.4 0L42 20c.4-.4.4-1 0-1.4l-8.8-8.8c-.4-.4-1-.4-1.4 0L9.5 32.1c-.4.4-.4 1 0 1.3zM36.1 5.7c-.4.4-.4 1 0 1.4l8.8 8.8c.4.4 1 .4 1.4 0l2.5-2.5c1.6-1.5 1.6-3.9 0-5.5l-4.7-4.7c-1.6-1.6-4.1-1.6-5.7 0l-2.3 2.5zM2.1 48.2c-.2 1 .7 1.9 1.7 1.7l10.9-2.6c.4-.1.7-.3.9-.5l.2-.2c.2-.2.3-.9-.1-1.3l-9-9c-.4-.4-1.1-.3-1.3-.1l-.2.2c-.3.3-.4.6-.5.9L2.1 48.2z\"}}},\nedit_form:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M31.4 15.3h8.2c.6 0 1.1-.5 1.1-1.1 0-.3-.1-.5-.3-.8L30.2 3.3c-.3-.2-.5-.3-.8-.3-.6 0-1.1.5-1.1 1.1v8.1c0 1.7 1.4 3.1 3.1 3.1zM49.5 25.7l-.9-.9c-.6-.6-1.5-.6-2.2 0L34.5 36.7c-.1.1 0 .2 0 .3v2.5c0 .2 0 .4.2.4h2.6c.1 0 .2-.1.3-.1L49.5 28c.7-.8.7-1.7 0-2.3z\"},{\"d\":\"M39.9 44.4H32.8c-1.6 0-2.9-1.3-2.9-2.9v-5.4c0-.8.2-1.6.9-2.1l9.5-9.5c.3-.3.5-.7.5-1.1v-2c0-.8-.7-1.5-1.5-1.5h-11c-2.6 0-4.6-2.1-4.6-4.6V4.5c0-.8-.7-1.5-1.6-1.5H6.6C4.1 3 2 5.1 2 7.6v36.8C2 46.9 4.1 49 6.6 49H36c2.2 0 4.2-1.6 4.6-3.7.1-.4-.3-.9-.7-.9zM8.2 16.8c0-.8.7-1.5 1.5-1.5h6.2c.9 0 1.5.7 1.5 1.5v1.5c0 .8-.7 1.5-1.5 1.5H9.7c-.9 0-1.5-.7-1.5-1.5v-1.5zm15.5 19.9c0 .8-.7 1.5-1.5 1.5H9.7c-.9 0-1.5-.7-1.5-1.5v-1.5c0-.8.7-1.5 1.5-1.5h12.4c.9 0 1.5.7 1.5 1.5v1.5zm3.1-9.2c0 .8-.7 1.5-1.5 1.5H9.7c-.9 0-1.5-.7-1.5-1.5V26c0-.8.7-1.5 1.5-1.5h15.5c.9 0 1.5.7 1.5 1.5v1.5z\"}]}},\neducation:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M25.8 26.7c-1.2.1-2.3-.4-3.5-.8-6.3-2.1-12.7-4.2-19-6.3-.4-.2-.7-.3-1-.6-.4-.3-.4-.7 0-1 .3-.2.7-.5 1.1-.6 6.8-2 13.5-4 20.3-6.1 1.5-.5 3.1-.5 4.7 0l20.1 6c.4.2.8.3 1.2.6.5.3.5.8 0 1.1-.3.2-.6.4-1 .5-6.7 2.2-13.4 4.5-20.2 6.7-.9.4-1.7.5-2.7.5zM12.5 27c-1-.2-1.2.4-1.2.9v7.6c0 .9.3 1.4.9 2 .2.2.5.4.7.6 1.6 1.1 3.5 1.8 5.4 2.3 3.8 1 7.6 1.2 11.5.7 2.5-.3 5-1 7.3-2 1-.5 2-1 2.7-1.8.5-.5.7-1 .6-1.7.1-2.4.1-4.9.1-7.4 0-1.4-1-1.2-1.4-1.1-3.5 1.2-7.2 2.3-10.7 3.5-1.8.6-3.5.6-5.2 0L12.5 27zM45.9 24.7c-.3.1-.4.2-.4.6v6.8c0 .2-.1.5-.2.7-.5 1.2-1 2.4-1.4 3.6-.4 1.1-.2 2.3.6 3.1.2.3.6.6.9.8.3.3.8.4 1.2.5.7.1 1.3-.3 1.8-.7.2-.2.5-.4.7-.7.6-.8.7-1.8.5-2.7-.3-1.4-.9-2.6-1.5-3.8-.2-.2-.2-.6-.2-.8v-7.4c0-.5-.4-.4-.6-.3l-1.4.3z\"}}},\neinstein:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M28.7 42.1c7.2.2 7.4 1.6 7.4 7.2v.7c-2.8 0-2.8-2.3-4-2.3 0 .8-.7 1.5-2 2.3-.8-1.5-1.4-2.3-2-2.3 0 .7-.6 1.4-1.8 2.2l-.3.1c-1.3-.8-2-1.5-2-2.3-.6 0-1.3.8-2 2.3-1.3-.8-2-1.5-2-2.3-1.3 0-1.3 2.3-4 2.3v-.9c0-5.3.4-6.7 6.9-7v.4a3 3 0 006 0 .41.41 0 01-.2-.4zm1.5-35.3c3 3.6 2.4 5.3 2.5 6.4a11.91 11.91 0 017.8.8c1.8.9 2.9 2.3 3 3.3a4.69 4.69 0 00-3 1.5 14.94 14.94 0 016.1 3.9 17.05 17.05 0 013.3 5.6.77.77 0 010 .8 22.86 22.86 0 01-3.1 2.8 41.42 41.42 0 01-4.1 2.7c1.6 1 2.4 1.9 2.5 2.9-1.7.5-2.7.9-3.8 1.3-.5.2-1.5.5-2.6.9 1.6-10.5-5-11.5-8-11.5-2.1 0-3.3 1.7-5.1 1.7s-2.9-1.7-5.1-1.7S12.2 30 13.3 39a12.66 12.66 0 01-1.8-.7 21.17 21.17 0 00-5-.9.53.53 0 01-.6-.4.38.38 0 010-.15v-.3a10 10 0 012.4-4.3c.7-.7 2-1.6 2.5-1.5a8.68 8.68 0 00-3.4-3.1 19.5 19.5 0 00-4.8-1.3c-.5-.1-.8-.1-.5-1 1.7-4.3 3.7-7 6.1-8.2a11.26 11.26 0 016-1.5 9 9 0 00-1-2.5A12.94 12.94 0 0012 11.2a.76.76 0 01.1-1c.1 0 .2-.1.3-.1a6.64 6.64 0 013.1.2 8.08 8.08 0 013.9 2.7A36.29 36.29 0 0018 2.8c-.1-2.2 9.2.4 12.2 4zm-7.5 27.3c.8 0 1.5 1.1 1.5 2.5s-.7 2.5-1.5 2.5-1.5-1.1-1.5-2.5.7-2.5 1.5-2.5zm6.6 0c.8 0 1.5 1.1 1.5 2.5s-.7 2.5-1.5 2.5-1.5-1.1-1.5-2.5.6-2.5 1.5-2.5z\"}},\nemail:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M24.9 30.1c.6.6 1.5.6 2.1 0l22.6-21c.4-.8.3-2.1-1.3-2.1l-44.7.1c-1.2 0-2.2 1.1-1.3 2.1l22.6 20.9z\"},{\"d\":\"M50 17.3c0-1-1.2-1.6-2-.9L30.3 32.7c-1.2 1.1-2.7 1.7-4.3 1.7s-3.1-.6-4.3-1.6L4.1 16.4c-.8-.7-2-.2-2 .9C2 17 2 40 2 40c0 2.2 1.8 4 4 4h40c2.2 0 4-1.8 4-4V17.3z\"}]}},\nemail_open:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M45.8 28.1c0-.8-1-1.3-1.7-.7L29.5 40.9c-1 .9-2.2 1.4-3.6 1.4s-2.6-.5-3.6-1.3L7.8 27.4c-.7-.6-1.7-.2-1.7.7-.1-.2-.1 18-.1 18 0 1.8 1.5 3.3 3.3 3.3h33.1c1.8 0 3.3-1.5 3.3-3.3v-18z\"},{\"d\":\"M45.6 20.6c.2-.2.3-.4.3-.6 0-.3-.1-.5-.3-.7L26.8 2c-.5-.5-1.2-.5-1.7 0L6.5 19.2c-.1.1-.1.2-.2.2v.1c0 .1-.1.2-.1.3 0 .3.1.5.3.7L25 37.7c.5.5 1.2.5 1.7 0l18.9-17.1c0 .1 0 0 0 0z\"}]},\nemoji:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M50.1 26c0 13.3-10.8 24.1-24.1 24.1S1.9 39.3 1.9 26 12.7 1.9 26 1.9 50.1 12.7 50.1 26zM18.3 15.8c-2.4 0-4.3 1.9-4.3 4.3s1.9 4.3 4.3 4.3 4.3-1.9 4.3-4.3-1.9-4.3-4.3-4.3zm15.5 0c-2.4 0-4.3 1.9-4.3 4.3s1.9 4.3 4.3 4.3 4.3-1.9 4.3-4.3-1.9-4.3-4.3-4.3zm-.2 16.7c-2 1.8-4.7 2.8-7.6 2.8-2.8 0-5.4-1-7.5-2.7l-.9-.8c-.3-.2-.5-.3-1.1-.3-1.1 0-1.9.9-1.9 1.9 0 .5.2 1 .6 1.4l.7.6c2.7 2.4 6.3 3.8 10.1 3.8 3.9 0 7.5-1.5 10.2-3.9l.5-.5c.4-.4.6-.9.6-1.4 0-1.1-.9-1.9-1.9-1.9-.5 0-.9.2-1.2.4l-.6.6z\"}},\nend_call:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M48.5 5.6l-2.1-2.1c-.6-.6-1.7-.5-2.4.3L20.5 27.3l-5-5.6c-.6-.6-.6-1.4-.2-2.1l3.8-5.2c1.1-1.4 1-3.4-.1-4.8l-4.9-6.1c-1.5-1.8-4.2-2-5.9-.3L3 8.4c-.8.8-1.2 1.9-1.2 3 .5 9.2 4.2 18 10 24.6l-8 8c-.7.7-.8 1.8-.3 2.4l2.1 2.1c.6.6 1.7.5 2.4-.3L48.2 8c.8-.7.9-1.8.3-2.4zM48.5 37.9L42.4 33c-1.4-1.1-3.4-1.2-4.8-.1l-5.2 3.8c-.6.5-1.5.4-2.1-.2l-2.4-2.2-8.5 8.5c6.1 4.1 13.4 6.8 21 7.2 1.1.1 2.2-.4 3-1.2l5.2-5.2c1.9-1.5 1.8-4.3-.1-5.7z\"}},\nend_chat:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M24.6 40.6c0-8.8 7.2-16 16-16 1.5 0 2.9.2 4.2.6.2-1.1.3-2.1.3-3.2C45 11 35.4 2.2 23.6 2.2 11.7 2.2 2.2 11 2.2 21.8c0 3.4 1 6.6 2.6 9.5.3.4.4 1 .2 1.5l-2.8 7.6c-.3.7.4 1.3 1.2 1.2l7.7-3c.4-.2 1-.1 1.5.2 3.2 1.8 7.1 2.9 11.2 2.9h.8v-1.1zm9.8-22.3c2 0 3.6 1.6 3.6 3.6s-1.6 3.6-3.6 3.6-3.6-1.6-3.6-3.6 1.6-3.6 3.6-3.6zm-21.5 7.1c-2 0-3.6-1.6-3.6-3.6s1.6-3.6 3.6-3.6 3.6 1.6 3.6 3.6-1.7 3.6-3.6 3.6zm10.7 0c-2 0-3.6-1.6-3.6-3.6s1.6-3.6 3.6-3.6 3.6 1.6 3.6 3.6-1.6 3.6-3.6 3.6z\"},{\"d\":\"M31.7 34.6l6 6-6 6c-.6.6-.6 1.6 0 2.1l.7.7c.6.6 1.6.6 2.1 0l6-6 6 6c.6.6 1.6.6 2.1 0l.7-.7c.6-.6.6-1.6 0-2.1l-6-6 6-6c.6-.6.6-1.6 0-2.1l-.7-.7c-.6-.6-1.6-.6-2.1 0l-6 6-6-6c-.6-.6-1.6-.6-2.1 0l-.7.7c-.5.5-.5 1.5 0 2.1z\"}]},\nend_messaging_session:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M24.6 40.6c0-2.8.7-5.4 2-7.7h-2.3c-.5 0-.8-.3-.8-.8v-9.2c0-.5.3-.8.8-.8h9.2c.5 0 .8.3.8.8v3c1.9-.8 4.1-1.3 6.3-1.3 1.5 0 2.9.2 4.2.6.2-1.1.3-2.2.3-3.3-.1-11-9.6-19.8-21.5-19.8S2.2 10.9 2.2 21.7c0 3.4 1 6.6 2.6 9.5.3.4.4 1 .2 1.5l-2.8 7.6c-.3.7.4 1.3 1.2 1.2l7.7-3c.4-.2 1-.1 1.5.2 3.2 1.8 7.1 2.9 11.2 2.9h.8v-1zM12.8 12.2c0-.5.3-.8.8-.8h19.9c.5 0 .8.3.8.8v4.6c0 .5-.4.8-.9.8H13.6c-.5 0-.8-.3-.8-.8v-4.6zM19 32.1c0 .5-.4.8-.9.8h-4.6c-.5 0-.8-.3-.8-.8v-9.2c0-.5.3-.8.8-.8h4.7c.5 0 .8.3.8.8v9.2z\"},{\"d\":\"M31.8 34.6l6 6-6 6c-.6.6-.6 1.6 0 2.1l.7.7c.6.6 1.6.6 2.1 0l6-6 6 6c.6.6 1.6.6 2.1 0l.7-.7c.6-.6.6-1.6 0-2.1l-6-6 6-6c.6-.6.6-1.6 0-2.1l-.7-.7c-.6-.6-1.6-.6-2.1 0l-6 6-6-6c-.6-.6-1.6-.6-2.1 0l-.7.7c-.6.6-.6 1.6 0 2.1z\"}]},\nengage:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"fill-rule\":\"evenodd\",\"d\":\"M26.5 4.25c12.801 0 23.25 9.388 23.25 21.068 0 11.68-10.449 21.069-23.25 21.069-1.662 0-3.303-.158-4.9-.469l-.487-.101-.143.076c-2.032 1.04-5.305 1.882-9.913 2.597l-.517.08-1.128.162c-1.725.25-2.714-1.901-1.403-3.049 1.315-1.15 2.314-2.66 2.998-4.555l.025-.077-.317-.26c-4.595-3.848-7.338-9.241-7.46-15.066l-.005-.407C3.25 13.638 13.699 4.25 26.5 4.25zm7 26.75h-14a2 2 0 100 4h14a2 2 0 100-4zm4-7.5h-22a2 2 0 100 4h22a2 2 0 100-4zm-4-7.5h-14a2 2 0 100 4h14a2 2 0 100-4z\"}},\nenter:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M44 30.5s.1 1.6-1.5 1.6H15.2c-.9 0-1.3-1.2-.7-1.8l5.6-5.6c.6-.6.6-1.5 0-2.1L18 20.5c-.6-.6-1.5-.6-2.1 0L2.4 34c-.6.6-.6 1.5 0 2.1L16 49.6c.6.6 1.5.6 2.1 0l2.1-2.1c.6-.6.6-1.5 0-2.1l-5.6-5.6c-.6-.7-.2-1.7.7-1.7h33.2c.7 0 1.5-.8 1.5-1.6v-33c0-.7-.7-1.5-1.5-1.5h-3c-.8 0-1.5.8-1.5 1.5v27z\"}},\nerect_window:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M50 6.5c0 .8-.7 1.5-1.5 1.5h-45C2.7 8 2 7.3 2 6.5v-3C2 2.7 2.7 2 3.5 2h45c.8 0 1.5.7 1.5 1.5v3z\"}},\nerror:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M26 2C12.8 2 2 12.8 2 26s10.8 24 24 24 24-10.8 24-24S39.2 2 26 2zM8 26c0-9.9 8.1-18 18-18 3.9 0 7.5 1.2 10.4 3.3L11.3 36.4C9.2 33.5 8 29.9 8 26zm18 18c-3.9 0-7.5-1.2-10.4-3.3l25.1-25.1C42.8 18.5 44 22.1 44 26c0 9.9-8.1 18-18 18z\"}},\nevent:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M46.5 20h-41c-.8 0-1.5.7-1.5 1.5V46c0 2.2 1.8 4 4 4h36c2.2 0 4-1.8 4-4V21.5c0-.8-.7-1.5-1.5-1.5zM19 42c0 .6-.4 1-1 1h-4c-.6 0-1-.4-1-1v-4c0-.6.4-1 1-1h4c.6 0 1 .4 1 1v4zm0-10c0 .6-.4 1-1 1h-4c-.6 0-1-.4-1-1v-4c0-.6.4-1 1-1h4c.6 0 1 .4 1 1v4zm10 10c0 .6-.4 1-1 1h-4c-.6 0-1-.4-1-1v-4c0-.6.4-1 1-1h4c.6 0 1 .4 1 1v4zm0-10c0 .6-.4 1-1 1h-4c-.6 0-1-.4-1-1v-4c0-.6.4-1 1-1h4c.6 0 1 .4 1 1v4zm10 10c0 .6-.4 1-1 1h-4c-.6 0-1-.4-1-1v-4c0-.6.4-1 1-1h4c.6 0 1 .4 1 1v4zm0-10c0 .6-.4 1-1 1h-4c-.6 0-1-.4-1-1v-4c0-.6.4-1 1-1h4c.6 0 1 .4 1 1v4zM44 7h-5V5c0-1.6-1.3-3-3-3-1.6 0-3 1.3-3 3v2H19V5c0-1.6-1.3-3-3-3-1.6 0-3 1.3-3 3v2H8c-2.2 0-4 1.8-4 4v2.5c0 .8.7 1.5 1.5 1.5h41c.8 0 1.5-.7 1.5-1.5V11c0-2.2-1.8-4-4-4z\"}}},\nevent_ext:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M49.83 32.45A1.43 1.43 0 0048.44 31h-12A1.43 1.43 0 0035 32.44v1.44a1.43 1.43 0 001.4 1.44h6.14l-11 11a1.42 1.42 0 000 2l1 1a1.54 1.54 0 001.09.45 1.32 1.32 0 00.94-.38l11-11v6A1.43 1.43 0 0047 45.83h1.53a1.43 1.43 0 001.47-1.4zM3.45 12.48h31.91a1.24 1.24 0 001.25-1.23V10a3.8 3.8 0 00-3.76-3.69h-3.06V5a2.43 2.43 0 00-4.86 0v1.28H13.87V5A2.44 2.44 0 009 5v1.28H5.88A3.69 3.69 0 002.19 10v1.28a1.24 1.24 0 001.25 1.23zM36.53 25.13v-7.79a1.25 1.25 0 00-1.22-1.26H3.45a1.24 1.24 0 00-1.26 1.22v18.46a3.69 3.69 0 003.69 3.69h18.5a16.82 16.82 0 0112.15-14.32zm-11-2.85a1.24 1.24 0 011.2-1.28h2.43a1.24 1.24 0 011.26 1.22v2.47A1.24 1.24 0 0129.25 26h-2.52a1.25 1.25 0 01-1.25-1.23zm-12.23 11a1.23 1.23 0 01-1.25 1.23H9.56a1.24 1.24 0 01-1.25-1.23v-2.46a1.25 1.25 0 011.23-1.25H12a1.25 1.25 0 011.26 1.22zm0-8.54A1.24 1.24 0 0112.08 26H9.56a1.25 1.25 0 01-1.25-1.23v-2.49A1.24 1.24 0 019.51 21H12a1.24 1.24 0 011.26 1.22zm8.54 8.54a1.25 1.25 0 01-1.22 1.26h-2.51a1.24 1.24 0 01-1.26-1.22v-2.5a1.24 1.24 0 011.23-1.25h2.46a1.25 1.25 0 011.25 1.23zM20.54 26h-2.43a1.25 1.25 0 01-1.26-1.22v-2.5a1.24 1.24 0 011.2-1.28h2.49a1.24 1.24 0 011.25 1.23v2.46A1.24 1.24 0 0120.62 26z\"}}},\nevents:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M8.8 9C4.4 13.5 2 19.4 2 25.6 2 27 3.1 28 4.4 28s2.4-1.1 2.4-2.4c-.1-4.9 1.9-9.6 5.4-13.1s8.3-5.4 13.1-5.4c1.4 0 2.4-1.1 2.4-2.4 0-1.4-1.1-2.4-2.4-2.4C19.2 2.2 13.2 4.6 8.8 9zm2.9 16.6c0 1.4 1 2.4 2.4 2.4s2.4-1.1 2.4-2.4c0-2.3.9-4.6 2.6-6.2 1.7-1.7 3.9-2.5 6.2-2.6 1.4 0 2.4-1.1 2.4-2.4 0-1.4-1-2.4-2.4-2.4-3.6 0-7.1 1.4-9.7 3.9-.4.5-4.1 4.2-3.9 9.7zM45.5 15.2c-.9-1.2-2.1-2.6-2.3-2.8-.3-.2-.7-.4-1.1-.4-.4 0-.8.1-1 .4L31 22.4c-2.4-2-6-1.9-8.3.4-2.3 2.3-2.4 5.9-.4 8.3l-9.7 9.7c-.3.3-.5.7-.5 1.1 0 .5.2 1 .6 1.3l2.7 2c3.7 2.9 8.3 4.5 13.2 4.5 11.8 0 21.4-9.6 21.4-21.4 0-4.8-1.7-9.4-4.5-13.1z\"}},\nexpand:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M48.8 2H33.3c-1 0-1.3.9-.5 1.7l4.9 4.9-9 9c-.5.5-.5 1.3 0 1.9l3.7 3.7c.5.5 1.3.5 1.9 0l9.1-9.1 4.9 4.9c.8.8 1.7.5 1.7-.5V3.1c0-.6-.6-1.1-1.2-1.1zM3.5 50h15.4c1 0 1.3-1.1.5-1.9l-4.9-5 9-9.1c.5-.5.5-1.4 0-1.9l-3.7-3.7c-.5-.5-1.3-.5-1.9 0l-9 9-5-4.9C3 31.7 2 32 2 33v15.4c0 .7.8 1.6 1.5 1.6zM50 48.8V33.3c0-1-.9-1.3-1.7-.5l-4.9 4.9-9-9c-.5-.5-1.3-.5-1.9 0l-3.7 3.7c-.5.5-.5 1.3 0 1.9l9.1 9.1-4.9 4.9c-.8.8-.5 1.7.5 1.7h15.4c.6 0 1.1-.6 1.1-1.2zM2 3.5v15.4c0 1 1.1 1.3 1.9.5l5-4.9 9.1 9c.5.5 1.4.5 1.9 0l3.7-3.7c.5-.5.5-1.3 0-1.9l-9-9 4.9-5C20.3 3 20 2 19 2H3.6C2.9 2 2 2.8 2 3.5z\"}},\nexpand_all:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M48 9.5c0-.8-.7-1.5-1.5-1.5h-41C4.7 8 4 8.7 4 9.5v3c0 .8.7 1.5 1.5 1.5h41c.8 0 1.5-.7 1.5-1.5v-3zM48 39.5c0-.8-.7-1.5-1.5-1.5h-41c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h41c.8 0 1.5-.7 1.5-1.5v-3zM30 29h4.5c.8 0 1.5-.7 1.5-1.5v-3c0-.8-.7-1.5-1.5-1.5H30c-.6 0-1-.4-1-1v-4.5c0-.8-.7-1.5-1.5-1.5h-3c-.8 0-1.5.7-1.5 1.5V22c0 .6-.4 1-1 1h-4.5c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5H22c.6 0 1 .4 1 1v4.5c0 .8.7 1.5 1.5 1.5h3c.8 0 1.5-.7 1.5-1.5V30c0-.6.4-1 1-1z\"}},\nexpand_alt:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M48.8 2H33.3c-1 0-1.3.9-.5 1.7l4.9 4.9-9 9c-.5.5-.5 1.3 0 1.9l3.7 3.7c.5.5 1.3.5 1.9 0l9.1-9.1 4.9 4.9c.8.8 1.7.5 1.7-.5V3.1c0-.6-.6-1.1-1.2-1.1zM3.5 50h15.4c1 0 1.3-1.1.5-1.9l-4.9-5 9-9.1c.5-.5.5-1.4 0-1.9l-3.7-3.7c-.5-.5-1.3-.5-1.9 0l-9 9-5-4.9C3 31.7 2 32 2 33v15.4c0 .7.8 1.6 1.5 1.6z\"}},\nfallback:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M28 3.5l-3 14.6c0 .6.4.9.9.9h15.6c1.1 0 1.8 1.3 1.3 2.3l-17 27.9c-.7 1.4-2.8.9-2.8-.7l3-17.2c0-.6-.5-.4-1.1-.4H8.5c-1.1 0-1.9-1.6-1.3-2.6l18-25.5c.7-1.3 2.8-.9 2.8.7z\"}},\nfavorite:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M27.4 3.1l4.6 15c.2.6.8.9 1.4.9h15c1.5 0 2.1 2 .9 2.9l-12.2 9c-.5.4-.7 1.1-.5 1.7L42.4 48c.4 1.4-1.1 2.6-2.3 1.7L27 39.9c-.5-.4-1.2-.4-1.8 0L12 49.7c-1.2.9-2.8-.3-2.3-1.7l5.6-15.4c.2-.6 0-1.3-.5-1.7l-12.2-9c-1.2-.9-.5-2.9.9-2.9h15c.7 0 1.2-.2 1.4-.9L24.6 3c.4-1.4 2.4-1.3 2.8.1z\"}},\nfeed:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M25.2 43c-.3 0-.7-.1-1.1-.3-.6-.3-1.1-1-1.2-1.6L17.2 18l-4.9 11c-.3.9-1.1 1.4-2 1.4H3.5c-.8 0-1.5-.6-1.5-1.4v-1.5c0-.8.7-1.5 1.5-1.5h5.2l6.9-15.7c.4-.8 1.3-1.4 2.3-1.3 1 .1 1.8.7 2 1.7l5.9 23.4L33.7 17c.4-.9 1.3-1.4 2.2-1.3.8.1 1.6.7 2 1.5l3.9 8.9h6.8c.8 0 1.5.7 1.5 1.5V29c0 .8-.7 1.5-1.5 1.5h-8.2c-.9 0-1.7-.5-2.1-1.3l-2.5-5.7-8.4 18.3c-.5.7-1.2 1.2-2.2 1.2z\"}},\nfile:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M9.7 36.1V11.3c-2.6 0-4.7 2.1-4.7 4.6v29.4C5 47.9 7.1 50 9.7 50H33c2.6 0 4.7-2.1 4.7-4.6H19c-5.1 0-9.3 0-9.3-9.3z\"},{\"d\":\"M45.4 15.9h-7.8c-2.6 0-4.7-2.1-4.7-4.6V3.5c.1-.8-.6-1.5-1.5-1.5H19c-2.6 0-4.7 2.1-4.7 4.6V36c0 2.6 2.1 4.6 4.7 4.6h23.3c2.6 0 4.7-2.1 4.7-4.6V17.5c0-.9-.7-1.6-1.6-1.6z\"},{\"d\":\"M46.7 9.4l-7.2-7.1c-.2-.2-.4-.3-.7-.3-.6 0-1.1.5-1.1 1.1v5.1c0 1.7 1.4 3.1 3.1 3.1h5.1c.6 0 1.1-.5 1.1-1.1 0-.3-.1-.5-.3-.8z\"}]}},\nfilter:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M24.4 31.8c-.6-.6-1.5-.6-2.1 0l-3.6 3.6c-.6.6-1.7.2-1.7-.7V21.5c0-.8-.7-1.5-1.5-1.5h-3c-.8 0-1.5.7-1.5 1.5v13.2c0 .9-1.1 1.3-1.7.7l-3.6-3.6c-.6-.6-1.5-.6-2.1 0L1.4 34c-.6.6-.6 1.5 0 2.1l11.5 11.5c.6.6 1.5.6 2.1 0L26.6 36c.6-.6.6-1.5 0-2.1l-2.2-2.1zM51 9.5c0-.8-.7-1.5-1.5-1.5h-37c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h37c.8 0 1.5-.7 1.5-1.5v-3zM51 21.5c0-.8-.7-1.5-1.5-1.5h-27c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h27c.8 0 1.5-.7 1.5-1.5v-3zM51 33.5c0-.8-.7-1.5-1.5-1.5h-17c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h17c.8 0 1.5-.7 1.5-1.5v-3z\"}}},\nfilterlist:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M48.3 4H3.9C2.4 4 1.7 5.7 2.6 6.8L22 29.5c.6.7.9 1.7.9 2.6v14.4c0 .8.8 1.5 1.6 1.5h3c.8 0 1.4-.7 1.4-1.5V32.1c0-1 .4-1.9 1.1-2.6L49.6 6.8c.9-1.1.2-2.8-1.3-2.8z\"}},\nfilter_criteria:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M16.35 10.4h18.89A1.74 1.74 0 0037 8.67V5.2A5.22 5.22 0 0031.77 0h-12a5.22 5.22 0 00-5.2 5.2v3.47a1.87 1.87 0 001.78 1.73z\"},{\"d\":\"M8.55 4.33a.82.82 0 01.86.87v3.47a6.94 6.94 0 006.85 6.93h18.89A6.88 6.88 0 0042 8.67V5.2a.82.82 0 01.87-.87h1.73a5.22 5.22 0 015.2 5.2V46.8a5.22 5.22 0 01-5.2 5.2H6.81a5.2 5.2 0 01-5.11-5.2V9.53a5.2 5.2 0 015.11-5.2h1.74zm27 19.94h-19.2a.75.75 0 00-.61 1.21l8.41 9.88a2 2 0 01.43 1.13v6.24a.75.75 0 00.69.69h1.3a.67.67 0 00.61-.69v-6.24a1.39 1.39 0 01.52-1.13l8.49-9.88a.73.73 0 00-.6-1.21z\"}]},\nfilter_criteria_rule:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M27.4 2A1.58 1.58 0 0129 3.6v11.2a3.89 3.89 0 004.2 4.2h11.2a1.58 1.58 0 011.6 1.6v24.6a4.87 4.87 0 01-4.8 4.8H10.8A4.87 4.87 0 016 45.2V6.8A4.87 4.87 0 0110.8 2h16.6zm7.52 24H17.08a.68.68 0 00-.52 1.12l7.79 9.12a1.65 1.65 0 01.36 1v5.78a.66.66 0 00.65.6h1.2a.58.58 0 00.56-.6v-5.73a1.47 1.47 0 01.45-1l7.87-9.12a.68.68 0 00-.52-1.17zM34.2 2a1.4 1.4 0 01.9.3l10.6 10.6a1.4 1.4 0 01.3.9 1.2 1.2 0 01-1.1 1.2h-8.5a3.5 3.5 0 01-3.4-3.4V3.1A1.2 1.2 0 0134.2 2z\"}},\nflow:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M49.9 10.6c-2.1-4.1-7.4-11.7-17.2-7.2-6.1 2.8-9.5 4.4-9.5 4.4l-8.8 3.8c-2.5 1.2-7.9-.5-11-1.6-.9-.3-1.7.6-1.3 1.5 2.1 4.1 7.4 11.7 17.2 7.2 6.1-2.8 18.3-8.1 18.3-8.1 2.5-1.2 7.9.5 11 1.6.9.2 1.7-.7 1.3-1.6zM28.8 23.4c-1.1.6-5.5 2.6-5.5 2.6l-4.4 1.9c-2.2 1.2-6.9-.4-9.7-1.5-.8-.4-1.5.6-1.1 1.4 1.8 4 6.5 11.2 15.1 6.8 5.4-2.7 9.9-4.5 9.9-4.5 2.2-1.2 6.9.4 9.7 1.5.8.3 1.5-.6 1.1-1.5-1.8-3.9-6.5-11.1-15.1-6.7zm-3.2 17.7c-.9.5-2.4 1.4-2.4 1.4-1.7 1.1-5.2-.3-7.3-1.3-.6-.3-1.1.6-.8 1.4 1.3 3.6 4.8 10.1 11.3 6.1 2.4-1.5 2.4-1.4 2.4-1.4 1.8-.9 5.2.3 7.3 1.3.6.3 1.1-.6.8-1.4-1.3-3.6-4.6-9.8-11.3-6.1z\"}},\nflow_alt:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M42.3 4.9H30.4C29.6 3.2 27.9 2 26 2c-2.6 0-4.8 2.2-4.8 4.8s2.2 4.8 4.8 4.8c2 0 3.7-1.2 4.4-2.9h11.9c2.1 0 3.8 1.7 3.8 3.8v7.7c0 2.1-1.7 3.8-3.8 3.8h-5.8v-5.8c0-1.6-1.3-2.9-2.9-2.9H18.3c-1.6 0-2.9 1.3-2.9 2.9V24H9.7C5.5 24 2 27.4 2 31.7v7.7c0 4.2 3.4 7.7 7.7 7.7h11.9C22.3 48.8 24 50 26 50c2.6 0 4.8-2.2 4.8-4.8 0-2.6-2.2-4.8-4.8-4.8-2 0-3.7 1.2-4.4 2.9H9.7c-2.1 0-3.8-1.7-3.8-3.8v-7.7c0-2.1 1.7-3.8 3.8-3.8h5.8v5.8c0 1.6 1.3 2.9 2.9 2.9h15.4c1.6 0 2.9-1.3 2.9-2.9V28h5.8c4.2 0 7.7-3.4 7.7-7.7v-7.7c-.2-4.3-3.7-7.7-7.9-7.7z\"}},\nfood_and_drink:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M40.881 24C39.937 31.865 33.526 37 28 37H16.002c-5.997 0-13-5.99-13-15V8a2 2 0 012-2H44a6 6 0 016 6v6a6 6 0 01-6 6h-3.119zM39 6zm1.593 34c.74 0 1.407.675 1.407 1.425v.075c0 2.475-2 4.5-4.444 4.5H6.444C4 46 2 43.975 2 41.5v-.075C2 40.675 2.667 40 3.407 40h37.186zM41 11v8h2a2 2 0 002-2v-4a2 2 0 00-2-2h-2z\"}},\nform:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"rect\":[{\"fill\":\"none\",\"height\":\"4.8\",\"rx\":\"1.6\",\"width\":\"27.2\",\"x\":\"12.4\",\"y\":\"26\"},{\"fill\":\"none\",\"height\":\"4.8\",\"rx\":\"1.6\",\"width\":\"24\",\"x\":\"12.4\",\"y\":\"35.6\"}],\"g\":{\"path\":[{\"d\":\"M36.4 14.8h8.48A1.09 1.09 0 0046 13.68a1 1 0 00-.32-.8L35.12 2.32a1 1 0 00-.8-.32 1.09 1.09 0 00-1.12 1.12v8.48a3.21 3.21 0 003.2 3.2z\"},{\"d\":\"M44.4 19.6H33.2a4.81 4.81 0 01-4.8-4.8V3.6A1.6 1.6 0 0026.8 2h-16A4.81 4.81 0 006 6.8v38.4a4.81 4.81 0 004.8 4.8h30.4a4.81 4.81 0 004.8-4.8v-24a1.6 1.6 0 00-1.6-1.6zm-32-1.6a1.62 1.62 0 011.6-1.55h6.55A1.56 1.56 0 0122.12 18v1.59a1.63 1.63 0 01-1.59 1.58H14a1.55 1.55 0 01-1.58-1.58zm24 20.77a1.6 1.6 0 01-1.6 1.6H14a1.6 1.6 0 01-1.6-1.6V37.2a1.6 1.6 0 011.6-1.6h20.8a1.6 1.6 0 011.6 1.6zm3.2-9.6A1.6 1.6 0 0138 30.8H14a1.6 1.6 0 01-1.6-1.6v-1.6A1.6 1.6 0 0114 26h24a1.6 1.6 0 011.6 1.6z\"}]}},\nformula:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M30.2 3.2c-.8-.6-1.9-.9-3.2-.9-.3 0-.6 0-.9.1-3.5.5-5.8 3.8-7.2 6.8-.6 1.4-1.2 2.9-1.7 4.4-.3.7-.5 1.4-.8 2.1 0 .1-.4 1.5-.5 1.5h-3.6c-.5 0-.9.4-.9.9s.4.9.9.9h3.1l-1.8 7.5C12 34.7 9.7 44.2 9.1 45.9c-.6 1.7-1.4 2.6-2.5 2.6-.2 0-.4 0-.5-.1-.1-.1-.2-.2-.2-.4 0-.1.1-.4.3-.7.2-.3.3-.7.3-1 0-.7-.2-1.2-.7-1.6-.4-.4-.9-.6-1.5-.6s-1.1.2-1.6.6c-.5.4-.7 1-.7 1.7 0 1 .4 1.8 1.2 2.5.8.7 1.8 1 3.1 1 2.1 0 4.1-1 5.5-2.6.9-1 1.5-2.2 2.1-3.5 1.8-3.9 2.7-8.2 3.7-12.3 1-4.2 2-8.4 2.9-12.7H24c.5 0 .9-.4.9-.9s-.4-.9-.9-.9h-3.1c1.7-6.6 3.7-11.1 4.1-11.8.7-1.1 1.4-1.7 2.1-1.7.3 0 .5.1.6.2.1.2.1.3.1.4 0 .1-.1.3-.3.7-.2.4-.3.8-.3 1.2 0 .6.2 1 .6 1.4.4.4.9.6 1.5.6s1.1-.2 1.5-.6c.4-.4.6-1 .6-1.7.1-1.1-.3-1.9-1.2-2.5zM46.1 23.2c1.3 0 3.8-1 3.8-4.4 0-3.3-2.4-3.5-3.1-3.5-1.5 0-2.9 1.1-4.2 3.3-1.3 2.3-2.7 4.7-2.7 4.7-.3-1.6-.6-2.9-.7-3.5-.3-1.4-1.9-4.4-5.2-4.4-3.3 0-6.3 1.9-6.3 1.9-.6.4-.9 1-.9 1.7 0 1.1.9 2 2 2 .3 0 .6-.1.9-.2 0 0 2.5-1.4 3 0 .2.4.3.9.4 1.4.6 2.2 1.2 4.7 1.7 7l-2.2 3.1s-2.4-.9-3.7-.9-3.8 1-3.8 4.4 2.4 3.5 3.1 3.5c1.5 0 2.9-1.1 4.2-3.3 1.3-2.3 2.7-4.7 2.7-4.7.4 2 .8 3.7 1 4.4.8 2.3 2.7 3.7 5.3 3.7 0 0 2.6 0 5.7-1.7.7-.3 1.3-1 1.3-1.9 0-1.1-.9-2-2-2-.3 0-.6.1-.9.2 0 0-2.2 1.2-2.9.3-.5-1-1-2.4-1.3-4-.3-1.5-.7-3.2-1-4.9l2.2-3.2c-.1.1 2.4 1 3.6 1z\"}},\nforward:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M3.4 29h33.2c.9 0 1.3 1.1.7 1.7l-9.6 9.6c-.6.6-.6 1.5 0 2.1l2.2 2.2c.6.6 1.5.6 2.1 0L49.5 27c.6-.6.6-1.5 0-2.1L32 7.4c-.6-.6-1.5-.6-2.1 0l-2.1 2.1c-.6.6-.6 1.5 0 2.1l9.6 9.6c.6.7.2 1.8-.7 1.8H3.5c-.8 0-1.5.6-1.5 1.4v3c0 .8.6 1.6 1.4 1.6z\"}},\nforward_up:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M8.2 49.6l31.5-31.5c.9-.9 2.3-.2 2.3.9v18.2c0 1.1.9 2 2 2h4.2c1.1 0 2-.9 2-2L50 4.1c0-1.1-.9-2-2-2H14.8c-1.1 0-2 .9-2 2v4c0 1.1.9 2 2 2H33c1.2.1 1.9 1.5 1 2.4L2.6 43.9c-.8.8-.9 2-.1 2.7l2.8 2.8c.8.8 2.1 1 2.9.2z\"}},\nfreeze_column:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M14.5 44a1.54 1.54 0 011.5 1.5v3a1.54 1.54 0 01-1.5 1.5h-9A1.54 1.54 0 014 48.5v-3A1.54 1.54 0 015.5 44zm19.6 0c.59 0 1.1.7 1.1 1.5v3c0 .8-.51 1.5-1.1 1.5h-6.6c-.59 0-1.1-.7-1.1-1.5v-3c0-.8.51-1.5 1.1-1.5zm12.8 0c.59 0 1.1.7 1.1 1.5v3c0 .8-.51 1.5-1.1 1.5h-6.6c-.59 0-1.1-.7-1.1-1.5v-3c0-.8.51-1.5 1.1-1.5zM21.6 14a.8.8 0 01.8.8v34.4a.8.8 0 01-.8.8h-.8a.8.8 0 01-.8-.8V14.8a.8.8 0 01.8-.8zm-7.1 20a1.54 1.54 0 011.5 1.5v3a1.54 1.54 0 01-1.5 1.5h-9A1.54 1.54 0 014 38.5v-3A1.54 1.54 0 015.5 34zm19.6 0c.59 0 1.1.7 1.1 1.5v3c0 .8-.51 1.5-1.1 1.5h-6.6c-.59 0-1.1-.7-1.1-1.5v-3c0-.8.51-1.5 1.1-1.5zm12.8 0c.59 0 1.1.7 1.1 1.5v3c0 .8-.51 1.5-1.1 1.5h-6.6c-.59 0-1.1-.7-1.1-1.5v-3c0-.8.51-1.5 1.1-1.5zM14.5 24a1.54 1.54 0 011.5 1.5v3a1.54 1.54 0 01-1.5 1.5h-9A1.54 1.54 0 014 28.5v-3A1.54 1.54 0 015.5 24zm19.6 0c.59 0 1.1.7 1.1 1.5v3c0 .8-.51 1.5-1.1 1.5h-6.6c-.59 0-1.1-.7-1.1-1.5v-3c0-.8.51-1.5 1.1-1.5zm12.8 0c.59 0 1.1.7 1.1 1.5v3c0 .8-.51 1.5-1.1 1.5h-6.6c-.59 0-1.1-.7-1.1-1.5v-3c0-.8.51-1.5 1.1-1.5zM14.5 14a1.54 1.54 0 011.5 1.5v3a1.54 1.54 0 01-1.5 1.5h-9A1.54 1.54 0 014 18.5v-3A1.54 1.54 0 015.5 14zm19.6 0c.59 0 1.1.7 1.1 1.5v3c0 .8-.51 1.5-1.1 1.5h-6.6c-.59 0-1.1-.7-1.1-1.5v-3c0-.8.51-1.5 1.1-1.5zm12.8 0c.59 0 1.1.7 1.1 1.5v3c0 .8-.51 1.5-1.1 1.5h-6.6c-.59 0-1.1-.7-1.1-1.5v-3c0-.8.51-1.5 1.1-1.5zm-.4-12A1.54 1.54 0 0148 3.5v5a1.54 1.54 0 01-1.5 1.5h-41A1.54 1.54 0 014 8.5v-5A1.54 1.54 0 015.5 2z\"}},\nfrozen:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M27 3c.6 0 1 .4 1 1v45.9c0 .6-.4 1-1 1h-2c-.6 0-1-.4-1-1V4c0-.6.4-1 1-1h2z\"},{\"d\":\"M26 17.2l-8.1-8.1c-.4-.4-.4-1 0-1.4l1.4-1.4c.4-.4 1-.4 1.4 0l5.3 5.3 5.3-5.3c.4-.4 1-.4 1.4 0l1.4 1.4c.4.4.4 1 0 1.4L26 17.2M26 36.7l8.1 8.1c.4.4.4 1 0 1.4l-1.4 1.4c-.4.4-1 .4-1.4 0L26 42.3l-5.3 5.3c-.4.4-1 .4-1.4 0l-1.4-1.4c-.4-.4-.4-1 0-1.4l8.1-8.1M47.1 15.6c.3.5.2 1.1-.4 1.4L7.2 40.3c-.5.3-1.1.2-1.4-.4l-1-1.7c-.3-.5-.2-1.1.4-1.4l39.5-23.4c.5-.3 1.1-.2 1.4.4l1 1.8z\"},{\"d\":\"M34.4 22l2.8-11.1c.1-.6.6-.9 1.2-.7l1.9.5c.6.1.9.6.7 1.2l-1.9 7.3 7.3 1.9c.6.1.9.6.7 1.2l-.5 1.9c-.1.6-.6.9-1.2.7l-11-2.9M17.6 31.9L14.8 43c-.1.6-.6.9-1.2.7l-1.9-.5c-.6-.1-.9-.6-.7-1.2l1.9-7.3-7.3-1.9c-.6-.1-.9-.6-.7-1.2l.5-1.9c.1-.6.6-.9 1.2-.7l11 2.9M5.9 13.9c.3-.5.9-.7 1.4-.4l39.5 23.4c.5.3.7.9.4 1.4l-1 1.7c-.3.5-.9.7-1.4.4L5.2 17c-.5-.3-.7-.9-.4-1.4l1.1-1.7z\"},{\"d\":\"M17.6 22L6.5 24.9c-.6.1-1.1-.1-1.2-.7l-.5-1.9c-.1-.6.1-1.1.7-1.2l7.3-1.9-1.9-7.3c-.1-.6.1-1.1.7-1.2l1.9-.5c.6-.1 1.1.1 1.2.7L17.6 22M34.3 31.9L45.4 29c.6-.1 1.1.1 1.2.7l.5 1.9c.1.6-.1 1.1-.7 1.2l-7.3 1.9L41 42c.1.6-.1 1.1-.7 1.2l-1.9.5c-.6.1-1.1-.1-1.2-.7l-2.9-11.1\"}]},\nfulfillment_order:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M24.3 36.5c.7 0 1.4.1 2 .3L15.5 6.2l-1-3c-.3-.9-1.2-1.3-2-1L3.1 5.3c-.9.3-1.3 1.2-1 2l1 3c.3.9 1.2 1.3 2 1L10 9.7l9.9 28.1c1.3-.8 2.8-1.3 4.4-1.3zM41.2 29.2l-9.9 3.5c-1 .4-2.2-.2-2.5-1.2l-3.5-9.9c-.4-1 .2-2.2 1.2-2.5l9.9-3.5c1-.4 2.2.2 2.5 1.2l3.5 9.9c.4 1-.2 2.1-1.2 2.5zM31.8 12.9l-6.7 2.3c-1 .4-2.2-.2-2.5-1.2l-2.3-6.7c-.4-1 .2-2.2 1.2-2.5l6.7-2.3c1-.4 2.2.2 2.5 1.2l2.3 6.7c.4.9-.1 2.1-1.2 2.5zM49.9 35.5l-1-3c-.3-.9-1.2-1.3-2-1l-18.2 6.3c1.9 1.2 3.2 3.2 3.6 5.5L49 37.6c.8-.3 1.2-1.2.9-2.1zM24.3 39.1c-3 0-5.5 2.5-5.5 5.5s2.5 5.5 5.5 5.5 5.5-2.5 5.5-5.5c0-3.1-2.5-5.5-5.5-5.5z\"}}},\nfull_width_view:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M48.5 4h-45C2.7 4 2 4.7 2 5.5v5c0 .8.7 1.5 1.5 1.5h45c.8 0 1.5-.7 1.5-1.5v-5c-.1-.8-.7-1.5-1.5-1.5zM10.7 16h-7c-.8 0-1.5.7-1.5 1.5v29.8c0 .8.7 1.5 1.5 1.5h7c.8 0 1.5-.7 1.5-1.5V17.5c0-.8-.7-1.5-1.5-1.5zM48.5 16h-7c-.8 0-1.5.7-1.5 1.5v29.8c0 .8.7 1.5 1.5 1.5h7c.8 0 1.5-.7 1.5-1.5V17.5c0-.8-.7-1.5-1.5-1.5zM34.5 16H17.7c-.8 0-1.5.7-1.5 1.5v29.8c0 .8.7 1.5 1.5 1.5h16.8c.8 0 1.5-.7 1.5-1.5V17.5c0-.8-.7-1.5-1.5-1.5z\"}}},\nglobal_constant:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M28.6 28.2c2.6-2 5.4-2.3 7.3-2.3l7.1-.1c.7 0 1.4 0 2.1-.1.9 0 1.8-.1 2.6-.1h2.1C49.9 12.5 39.1 1.8 26 1.8S2.1 12.5 2.1 25.6c0 11.5 8.2 21.1 19 23.4-.2-.8-.1-1.6.1-2.4.3-1.4 1.1-2.5 1.9-3.3-2.5-2.5-4.6-8.2-5-15.2h5.5v6.4c.2-.5.3-1 .6-1.4 1-1.4 2.1-2.9 3.4-4.2.2-.2.5-.4.6-.6l.4-.1zm16.3-4.8h-6.3c-.2-5.7-1.5-10.6-3.4-14.3 5.3 2.9 8.9 8.2 9.7 14.3zM28.4 7.7c2.7 2.3 5.1 8.2 5.5 15.7h-5.5V7.7zm-4.8 0v15.7h-5.5c.4-7.5 2.8-13.4 5.5-15.7zM7.1 28.2h6.3c.2 5.7 1.5 10.6 3.4 14.3-5.3-2.9-8.9-8.2-9.7-14.3zm6.2-4.8H7.1c.8-6.1 4.5-11.4 9.7-14.3-1.9 3.7-3.1 8.7-3.5 14.3z\"},{\"d\":\"M24.6 41.9c.3-.2.6-.6.8-.7.2-.3.6-.6.8-1-1.3-.6-2.2-1.7-2.6-3v5.7c.4-.5.7-.8 1-1z\"}]},\"path\":{\"d\":\"M49.6 29.9c-.2-.2-.3-.2-.5-.2-2-.1-4.1.1-6 .1l-7.1.1c-2.1 0-3.9.5-5.6 2-1 1-2.1 2.3-2.9 3.5-.1.2-.2.3-.2.5 0 .5.4.8.8.8.5 0 .6-.3.8-.6s.5-.6.8-1c1.1-1 2.6-1.6 4.1-1.4-1.3 3.5-3 7.5-5.6 10.3-1 1.1-2.9 2.3-3.3 3.9-.4 1.7 1.3 2.1 2.5 1.6 1.6-.6 2.5-2.3 3.4-3.7 1-1.8 1.9-3.6 2.6-5.4.8-1.8 1.6-3.7 2.3-5.5.5-1.1.6-1.1 1.8-1.1h3.1c-1.1 2.5-2.2 5.1-3.3 7.7-.8 2-2.2 4.9-1.2 7 1 2.1 3.8 1.4 5.3.2 1.6-1.1 2.5-2.9 3.4-4.5.2-.3.3-.6.2-1-.2-.3-.4-.5-.7-.5-.7 0-.9.9-1.1 1.4-.4.9-1.4 1.7-2.4 1.5-2.3-.3-.2-4.5.2-5.7.4-1.2.9-2.3 1.4-3.4.3-.6.6-1.4.9-2 .4-.8.4-.8 1.4-.9.8 0 3.1.4 3.8-.1.6-.4.9-1.8 1.2-2.8.2-.3.2-.5-.1-.8z\"}},\ngraph:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M2 45.5c0 2.2 1.8 4 4 4h42.4c.9 0 1.6-.7 1.6-1.6v-2.8c0-.9-.7-1.6-1.6-1.6H9.5c-.8 0-1.5-.7-1.5-1.5V4.1c0-.9-.7-1.6-1.6-1.6H3.6c-.9 0-1.6.7-1.6 1.6v41.4z\"},{\"d\":\"M49.7 14.1c0-1.7-1.3-3-3-3-.9 0-1.6.4-2.2.9l-8.6 8.6L30 15l-.1-.1-.2-.2c-.1 0-.1-.1-.2-.1-.1-.1-.2-.1-.3-.2-.1 0-.1-.1-.2-.1s-.2-.1-.4-.1c-.1 0-.1 0-.2-.1-.2 0-.4-.1-.6-.1-.2 0-.4 0-.6.1-.1 0-.1 0-.2.1-.1 0-.3.1-.4.1-.1 0-.1.1-.2.1-.1.1-.2.1-.3.2-.1 0-.1.1-.2.2s-.2.1-.3.2L14.2 26.5c-.6.6-1 1.3-1 2.2 0 1.7 1.3 3 3 3 .7 0 1.4-.3 1.9-.7l9.8-9.7 5.7 5.6c.1.1.2.1.3.2l.2.2c.1.1.2.1.3.2.1 0 .1.1.2.1.1.1.3.1.4.1.1 0 .1 0 .2.1.2 0 .4.1.6.1.2 0 .4 0 .6-.1h.2c.1 0 .2-.1.4-.1.1 0 .1-.1.2-.1s.2-.1.3-.2c.1 0 .1-.1.2-.1l.1-.1.1-.1.1-.1 10.8-10.7c.5-.6.9-1.3.9-2.2z\"}]},\ngroups:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M15.9 28c-1.4-2.1-2.1-4.5-2.1-7.2 0-4.6 1.9-8.4 4.9-10.7-1-1.8-3-3.1-5.6-3.1-4.4 0-6.9 3.6-6.9 7.7 0 2.2.7 4.1 2.2 5.4.8.8 1.5 1.8 1.5 2.8s-.4 2-2.9 3.1c-3.6 1.6-6.9 3.8-7 7.1.1 2.2 1.5 3.9 3.6 3.9h3.3c.5 0 1-.3 1.3-.8 1.6-2.9 4.6-4.7 7.1-6 .9-.4 1.1-1.5.6-2.2zM45.1 26c-2.5-1.1-2.9-2-2.9-3.1s.7-2.1 1.5-2.8c1.5-1.4 2.2-3.2 2.2-5.4 0-4.1-2.4-7.7-6.9-7.7-2.6 0-4.6 1.3-5.7 3.1 3 2.3 4.9 6.1 4.9 10.7 0 2.7-.7 5.1-2.1 7.2-.5.8-.2 1.8.6 2.2 2.5 1.2 5.5 3.1 7.1 6 .3.5.8.8 1.3.8h3.3c2.1 0 3.5-1.7 3.5-3.9.1-3.3-3.2-5.5-6.8-7.1z\"},{\"d\":\"M32.7 33.3c-2.7-1.2-3.2-2.3-3.2-3.4 0-1.2.8-2.3 1.7-3.1 1.6-1.5 2.5-3.6 2.5-6 0-4.5-2.7-8.4-7.6-8.4s-7.6 3.9-7.6 8.4c0 2.4.9 4.5 2.5 6 .9.9 1.7 2 1.7 3.1 0 1.2-.4 2.2-3.2 3.4-4 1.7-7.8 3.6-7.9 7.2 0 2.4 1.8 4.4 4.1 4.4h20.8c2.3 0 4.1-2 4.1-4.4-.1-3.5-3.9-5.4-7.9-7.2z\"}]}},\nhelp:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M28.4 38h-5c-.8 0-1.4-.6-1.4-1.4v-1.5c0-4.2 2.7-8 6.7-9.4 1.2-.4 2.3-1.1 3.2-2.1 5-6 .4-13.2-5.6-13.4-2.2-.1-4.3.7-5.9 2.2-1.3 1.2-2.1 2.7-2.3 4.4-.1.6-.7 1.1-1.5 1.1h-5c-.9 0-1.6-.7-1.5-1.6.4-3.8 2.1-7.2 4.8-9.9 3.2-3 7.3-4.6 11.7-4.5C34.9 2.2 41.7 9 42 17.3c.3 7-4 13.3-10.5 15.7-.9.4-1.5 1.1-1.5 2v1.5c0 .9-.8 1.5-1.6 1.5zM30 48.5c0 .8-.7 1.5-1.5 1.5h-5c-.8 0-1.5-.7-1.5-1.5v-5c0-.8.7-1.5 1.5-1.5h5c.8 0 1.5.7 1.5 1.5v5z\"}},\nhelp_center:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M25.7 2C12.4 2.2 1.9 13.1 2 26.3 2.2 39.6 13.1 50.1 26.3 50c13.3-.2 23.8-11.1 23.7-24.3C49.8 12.4 38.9 1.9 25.7 2zm0 3.2c3.6-.1 7 .8 9.9 2.3l-3.2 5.4c-1.9-1-4.1-1.5-6.4-1.5s-4.5.5-6.4 1.5l-3.2-5.4c2.8-1.4 5.9-2.3 9.3-2.3zM12.9 32.4l-5.4 3.2c-1.4-2.8-2.3-6-2.3-9.4-.1-3.6.8-7 2.3-9.9l5.4 3.2c-1 1.9-1.5 4.1-1.5 6.4s.5 4.6 1.5 6.5zm13.4 14.4c-3.6.1-7-.8-9.9-2.3l3.2-5.4c1.9 1 4.1 1.5 6.4 1.5s4.5-.5 6.4-1.5l3.2 5.4c-2.8 1.4-5.9 2.3-9.3 2.3zm-.3-9.3c-6.4 0-11.5-5.2-11.5-11.5 0-6.4 5.2-11.5 11.5-11.5 6.4 0 11.5 5.2 11.5 11.5 0 6.4-5.1 11.5-11.5 11.5zm13.1-5.1c1-1.9 1.5-4.1 1.5-6.4s-.5-4.5-1.5-6.4l5.4-3.2c1.4 2.8 2.3 6 2.3 9.4.1 3.6-.8 7-2.3 9.9l-5.4-3.3z\"}},\nhelp_doc_ext:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M49.83 32.45A1.43 1.43 0 0048.44 31h-12A1.43 1.43 0 0035 32.44v1.44a1.43 1.43 0 001.4 1.44h6.14l-11 11a1.42 1.42 0 000 2l1 1a1.54 1.54 0 001.09.45 1.32 1.32 0 00.94-.38l11-11v6A1.43 1.43 0 0047 45.83h1.53a1.43 1.43 0 001.47-1.4zM19.91 32.07h-4.08A1.12 1.12 0 0114.68 31v-1.3a8.18 8.18 0 015.47-7.7 6.16 6.16 0 002.61-1.71 6.56 6.56 0 00-9.38-9.15 5.77 5.77 0 00-1.88 3.6 1.17 1.17 0 01-1.23.89H6.19A1.17 1.17 0 015 14.46v-.1a13.31 13.31 0 013.89-8.08 13.38 13.38 0 019.55-3.68 13.1 13.1 0 014 25.39 1.83 1.83 0 00-1.23 1.63v1.23a1.27 1.27 0 01-1.3 1.22zm1.3 8.57A1.24 1.24 0 0120 41.87h-4.09a1.27 1.27 0 01-1.23-1.23v-4.08a1.25 1.25 0 011.23-1.22H20a1.25 1.25 0 011.22 1.22z\"}}},\nhide:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M51.8 25.1c-1.6-3.2-3.7-6.1-6.3-8.4L37 25.1v.9c0 6.1-4.9 11-11 11h-.9l-5.4 5.4c2 .4 4.1.7 6.2.7 11.3 0 21.1-6.6 25.8-16.1.4-.7.4-1.3.1-1.9zM48.5 5.6l-2.1-2.1c-.6-.6-1.7-.5-2.4.3l-7.3 7.3C33.4 9.7 29.8 9 26 9 14.7 9 4.9 15.6.2 25.1c-.3.6-.3 1.3 0 1.8 2.2 4.5 5.5 8.2 9.6 11l-6 6.1c-.7.7-.8 1.8-.3 2.4l2.1 2.1c.6.6 1.7.5 2.4-.3L48.2 8c.8-.7.9-1.8.3-2.4zM15 26c0-6.1 4.9-11 11-11 2 0 3.8.5 5.4 1.4l-3 3c-.8-.2-1.6-.4-2.4-.4-3.9 0-7 3.1-7 7 0 .8.2 1.6.4 2.4l-3 3C15.5 29.8 15 28 15 26z\"}}},\nhide_mobile:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M36.1 25.3v14.1c0 .7-.6 1.4-1.4 1.4H20.6L12 49.4c.6.4 1.3.6 2 .6h24c2 0 3.7-1.7 3.7-3.7V19.7l-5.6 5.6zM26 48.1c-1.6 0-2.8-1.2-2.8-2.8s1.2-2.8 2.8-2.8 2.8 1.2 2.8 2.8-1.2 2.8-2.8 2.8zM10.3 45.6l5.7-5.7v-.1l20.2-20.2v.1l5.5-5.5v-.1l7-7c.7-.6.8-1.7.3-2.2L47 3c-.6-.6-1.6-.5-2.2.3l-3.1 3.1v-.7C41.7 3.7 40 2 38 2H14c-2 0-3.7 1.7-3.7 3.7v32.1l-7.1 7.1c-.6.6-.7 1.6-.2 2.1l1.9 2c.6.6 1.6.5 2.2-.3l3.2-3.1zm5.5-34.8c0-.7.6-1.4 1.4-1.4h17.5c.7 0 1.4.6 1.4 1.4V12L15.8 32.2V10.8z\"}}},\nhierarchy:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M23.1 23H10.8c-.7 0-1.4.6-1.4 1.3v10.5H5.3c-.7 0-1.4.7-1.4 1.4v10c0 .7.7 1.4 1.4 1.4H19c.7 0 1.4-.7 1.4-1.4v-10c0-.7-.7-1.4-1.4-1.4h-4.1v-6.4h21.9v6.4h-4.1c-.7 0-1.4.7-1.4 1.4v10c0 .7.7 1.4 1.4 1.4h13.7c.7 0 1.3-.7 1.3-1.4v-10c0-.7-.6-1.4-1.3-1.4h-4.2V24.3c0-.7-.7-1.3-1.4-1.3H28.6v-6.4h4.1c.7 0 1.3-.7 1.3-1.4v-10c0-.7-.6-1.4-1.3-1.4H19c-.7 0-1.4.7-1.4 1.4v10c0 .7.7 1.4 1.4 1.4h4.2V23z\"}},\nhigh_velocity_sales:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M50 3.2c0-1-.6-1.2-.9-1.2H28.4c-1.5 0-1.5 1.5-1.5 1.5v2.9c0 1.3.8 1.6 1.2 1.6h14.4c.6.1 1.5.5 1.5 2.1v13.6c.1.4.3 1.3 1.5 1.3h3.2s1.3 0 1.3-1.5V3.2z\"},{\"d\":\"M37.5 15.7c.1-1-.6-1.2-.9-1.2H15.9c-1.5 0-1.5 1.5-1.5 1.5v2.9c0 1.3.8 1.6 1.2 1.6H30c.6.1 1.5.5 1.5 2.1v13.6c.1.4.3 1.3 1.5 1.3h3.2s1.3 0 1.3-1.5V15.7z\"},{\"d\":\"M5.3 48.8c.2.2 1 .8 2.1-.3l10.4-10.4c.3-.3 1.2-1 1.2.4v10.2c.1.4.3 1.3 1.5 1.3h3.2s1.3 0 1.3-1.5V28.2c0-1-.6-1.1-.9-1.2H3.4c-1.5 0-1.5 1.5-1.5 1.5v2.9c0 1.3.8 1.6 1.2 1.6h9.6c.4 0 1.6.1.5 1.2l-10 10.2S2 45.5 3 46.5l2.3 2.3z\"}]}},\nholiday_operating_hours:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M38.71 25.59a11.3 11.3 0 0111.29 11v.29a11.29 11.29 0 01-11 11.29h-.29a11.3 11.3 0 01-.3-22.59zm-.45 3.08v.1l-1.66 5.32a.4.4 0 01-.4.32h-5.43a.58.58 0 00-.39 1l.07.06 4.31 3.18a.55.55 0 01.2.51v.09l-2 5.43a.53.53 0 00.74.65h.07l4.67-3.45a.53.53 0 01.55-.06l.08.06 4.63 3.45a.52.52 0 00.83-.51v-.09l-2-5.43a.56.56 0 01.11-.53l.07-.07L47 35.43a.57.57 0 00-.23-1h-5.44a.52.52 0 01-.45-.23v-.09l-1.67-5.31a.52.52 0 00-.95-.13zM21.84 3a19.89 19.89 0 0119.84 19.84v.24a14.26 14.26 0 00-2.47-.31h-.9v-.25a16.47 16.47 0 10-16.47 16.79 16.32 16.32 0 002.91-.26 14.19 14.19 0 00.92 3.26 19.36 19.36 0 01-3.83.37 19.84 19.84 0 010-39.68zM22 14.3a1.06 1.06 0 011 1V22a1.06 1.06 0 00.27.76l3.81 3.93a1 1 0 010 1.45l-1.43 1.44a1 1 0 01-1.43 0l-5-5.1a1.4 1.4 0 01-.28-.76v-8.38a1.06 1.06 0 011-1H22z\"}},\nhome:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M49 27h-5v22c0 .6-.4 1-1 1H33c-.6 0-1-.4-1-1V32H20v17c0 .6-.4 1-1 1H9c-.6 0-1-.4-1-1V27H3c-.4 0-.8-.2-.9-.6-.2-.4-.1-.8.2-1.1l23-23c.4-.4 1.1-.4 1.4 0l23 23c.3.3.3.7.2 1.1s-.5.6-.9.6z\"}},\nidentity:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M46 8H34.9s.1.7.1 1c0 3.9-3.1 7-7 7h-6c-3.9 0-7-3.1-7-7 0-.3 0-1 .1-1H6c-2.2 0-4 1.8-4 4v30c0 2.2 1.8 4 4 4h40c2.2 0 4-1.8 4-4V12c0-2.2-1.8-4-4-4zM21.7 38H10.3C9 38 8 36.8 8 35.5c0-2 2.1-3.1 4.3-4 1.5-.6 1.7-1.2 1.7-1.9 0-.6-.4-1.2-.9-1.7-.9-.8-1.4-2-1.4-3.3 0-2.5 1.5-4.6 4.2-4.6s4.2 2.1 4.2 4.6c0 1.3-.5 2.5-1.4 3.3-.5.5-.9 1.1-.9 1.7 0 .6.2 1.2 1.7 1.9 2.2.9 4.3 2 4.3 4 .2 1.3-.8 2.5-2.1 2.5zM44 34c0 .6-.4 1-1 1H29c-.6 0-1-.4-1-1v-2c0-.6.4-1 1-1h14c.6 0 1 .4 1 1v2zm2-8c0 .6-.4 1-1 1H29c-.6 0-1-.4-1-1v-2c0-.6.4-1 1-1h16c.6 0 1 .4 1 1v2z\"},{\"d\":\"M22 12h6c1.7 0 3-1.3 3-3s-1.3-3-3-3h-6c-1.7 0-3 1.3-3 3s1.3 3 3 3z\"}]}},\nimage:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M50 10c0-2.2-1.8-4-4-4H6c-2.2 0-4 1.8-4 4v32c0 2.2 1.8 4 4 4h40c2.2 0 4-1.8 4-4V10zM39.6 38h-29c-1.2 0-1.9-1.3-1.3-2.3l8.8-15.3c.4-.7 1.3-.7 1.7 0l5.3 9.1c.4.6 1.3.7 1.7.1l4.3-6.2c.4-.6 1.3-.6 1.7 0L40.7 36c.6.9 0 2-1.1 2zM37 20c-2.2 0-4-1.8-4-4s1.8-4 4-4 4 1.8 4 4-1.8 4-4 4z\"}},\nin_app_assistant:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M49.9 33.6l-2-4.2 2-4.2c.2-.3 0-.8-.3-.9-.1 0-.2-.1-.3-.1h-6.5c-.5-1.3-1.8-4.5-3-6.3-1.5-2.4-3.2-4.4-5.2-6-2.3-1.9-4.9-3.5-7.9-4.7l-.7-.1-.7.2c-.1 0-1.2.4-2.9 1.2-1.4.7-3 1.7-4.6 3-3.1 2.5-5.5 5.5-7.2 9-.5 1.1-1.1 2.4-1.6 3.8H2.7c-.1 0-.2 0-.3.1-.3.1-.5.6-.4.9l1.8 4.2L2 33.7v.2c0 .4.3.7.7.7h4.5V36.4c0 .7 0 1.5.1 2v1.3l1.2.7c.1 0 2 1.1 5.1 2.2 2.8 1 7.3 2.2 12.7 2.2 4.7 0 9.3-.9 13.7-2.7 1.3-.5 2.5-1.1 3.6-1.7l1-.5.2-.8.1-.7v-2.1c0-.4 0-.6-.1-.8 0-.2-.1-.4-.1-1h4.6c.4 0 .7-.3.7-.7 0 0 0-.1-.1-.2zm-8.5 3.6c0 .2 0 .4-.1.6-.9.5-1.8.9-2.7 1.3-4 1.6-8.1 2.4-12.4 2.4-4.9 0-9-1.1-11.6-2-1.9-.7-3.3-1.3-4-1.7v-1.3-.8c0-.3 0-.5.1-2.6.2-2.9.9-5.6 1.4-7.1.5-1.5 1.1-2.9 1.6-4 1.5-3.1 3.6-5.6 6.3-7.8 1.7-1.4 3.1-2.2 3.9-2.6.9-.4 1.6-.7 2-.9 2.4 1 4.5 2.3 6.4 3.9 1.7 1.4 3.2 3.1 4.5 5.3 1 1.6 2.4 5 2.8 6 0 0 1.3 4.2 1.4 7 .1 2.2.1 2.6.2 3.1 0 .2 0 .3.1.5v.7z\"},{\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",\"d\":\"M25.8 38c-.6 0-1-.2-1.4-.5-.4-.4-.6-.9-.6-1.5s.2-1.1.6-1.4c.4-.4.9-.6 1.5-.6s1.1.2 1.4.6c.4.4.6.9.6 1.4 0 .6-.2 1.1-.6 1.5-.5.4-1 .5-1.5.5zM19.1 23.2c0-.9.3-1.7.8-2.6.6-.9 1.4-1.6 2.4-2.2 1.1-.6 2.3-.9 3.7-.9 1.3 0 2.5.2 3.5.7 1 .5 1.8 1.1 2.3 2 .5.8.8 1.7.8 2.7 0 .8-.2 1.4-.5 2-.3.6-.7 1.1-1.1 1.5-.4.4-1.2 1.1-2.3 2.1-.3.3-.6.5-.7.7-.2.2-.3.4-.4.6-.1.2-.2.4-.2.5 0 .2-.1.5-.2.9-.2.9-.7 1.4-1.6 1.4-.5 0-.9-.2-1.2-.5-.3-.1-.4-.6-.4-1.2 0-.8.1-1.4.4-2 .2-.6.5-1 .9-1.5.4-.4.9-.9 1.6-1.5.6-.5 1-.9 1.3-1.1.3-.3.5-.5.7-.9.2-.3.3-.7.3-1 0-.7-.3-1.3-.8-1.8s-1.2-.7-2.1-.7c-1 0-1.7.3-2.2.8-.5.5-.9 1.2-1.2 2.2-.3 1-.9 1.5-1.8 1.5-.5 0-.9-.2-1.3-.5-.5-.4-.7-.8-.7-1.2z\"}]},\ninbox:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M50 8c0-2.2-1.8-4-4-4H6C3.8 4 2 5.8 2 8v36c0 2.2 1.8 4 4 4h40c2.2 0 4-1.8 4-4V8zM19 35c0 .6-.4 1-1 1H9c-.6 0-1-.4-1-1v-4c0-.6.4-1 1-1h9c.6 0 1 .4 1 1v4zm0-10c0 .6-.4 1-1 1H9c-.6 0-1-.4-1-1v-4c0-.6.4-1 1-1h9c.6 0 1 .4 1 1v4zm0-10c0 .6-.4 1-1 1H9c-.6 0-1-.4-1-1v-4c0-.6.4-1 1-1h9c.6 0 1 .4 1 1v4zm25 26c0 .6-.4 1-1 1H24c-.6 0-1-.4-1-1V11c0-.6.4-1 1-1h19c.6 0 1 .4 1 1v30z\"}},\nincoming_call:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M48.5 37.9L42.4 33c-1.4-1.1-3.4-1.2-4.8-.1l-5.2 3.8c-.6.5-1.5.4-2.1-.2l-7.8-7-7-7.8c-.6-.6-.6-1.4-.2-2.1l3.8-5.2c1.1-1.4 1-3.4-.1-4.8l-4.9-6.1c-1.5-1.8-4.2-2-5.9-.3L3 8.4c-.8.8-1.2 1.9-1.2 3 .5 10.2 5.1 19.9 11.9 26.7S30.2 49.5 40.4 50c1.1.1 2.2-.4 3-1.2l5.2-5.2c1.9-1.5 1.8-4.3-.1-5.7z\"},{\"d\":\"M29.6 24H45c1 0 1.3-1.1.5-1.9l-4.9-5 9-9.1c.5-.5.5-1.4 0-1.9l-3.7-3.7c-.5-.5-1.3-.5-1.9 0l-9.1 9.1-5.1-4.9C29.1 5.7 28 6 28 7v15.3c0 .7.9 1.7 1.6 1.7z\"}]},\ninfo:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M26 2C12.7 2 2 12.7 2 26s10.7 24 24 24 24-10.7 24-24S39.3 2 26 2zm0 12.1c1.7 0 3 1.3 3 3s-1.3 3-3 3-3-1.3-3-3 1.3-3 3-3zm5 21c0 .5-.4.9-1 .9h-8c-.5 0-1-.3-1-.9v-2c0-.5.4-1.1 1-1.1.5 0 1-.3 1-.9v-4c0-.5-.4-1.1-1-1.1-.5 0-1-.3-1-.9v-2c0-.5.4-1.1 1-1.1h6c.5 0 1 .5 1 1.1v8c0 .5.4.9 1 .9.5 0 1 .5 1 1.1v2z\"}},\ninfo_alt:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M26 2C12.7 2 2 12.7 2 26s10.7 24 24 24 24-10.7 24-24S39.3 2 26 2zm0 42C16 44 8 36 8 26S16 8 26 8s18 8 18 18-8 18-18 18z\"},{\"d\":\"M26 14.1c1.7 0 3 1.3 3 3s-1.3 3-3 3-3-1.3-3-3 1.3-3 3-3zM31 35.1c0 .5-.4.9-1 .9h-8c-.5 0-1-.3-1-.9v-2c0-.5.4-1.1 1-1.1.5 0 1-.3 1-.9v-4c0-.5-.4-1.1-1-1.1-.5 0-1-.3-1-.9v-2c0-.5.4-1.1 1-1.1h6c.5 0 1 .5 1 1.1v8c0 .5.4.9 1 .9.5 0 1 .5 1 1.1v2z\"}]},\ninsert_tag_field:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M16.3 12.2L14 10.3c-.7-.5-1.5-.4-2.1.2L.3 25.1c-.4.5-.4 1.3 0 1.9L12 41.5c.5.6 1.4.8 2.1.2l2.3-1.9c.7-.5.8-1.5.2-2.1L7.2 26l9.5-11.7c.4-.6.3-1.5-.4-2.1zM51.7 25.1L40 10.6c-.5-.6-1.4-.8-2.1-.2l-2.3 1.9c-.7.5-.8 1.5-.2 2.1l9.5 11.7-9.5 11.7c-.5.6-.4 1.6.2 2.1l2.3 1.9c.7.5 1.5.4 2.1-.2L51.7 27c.4-.7.4-1.4 0-1.9zM31.6 10.8l-3-.7c-.8-.2-1.7.3-1.9 1.1l-7.4 28.4c-.2.8.3 1.6 1.1 1.8l3 .7c.8.2 1.7-.3 1.9-1.1l7.4-28.4c.2-.9-.3-1.6-1.1-1.8z\"}},\ninsert_template:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M48.5 38H44v-4.5c0-.8-.7-1.5-1.5-1.5h-3c-.8 0-1.5.7-1.5 1.5V38h-4.5c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5H38v4.5c0 .8.7 1.5 1.5 1.5h3c.8 0 1.5-.7 1.5-1.5V44h4.5c.8 0 1.5-.7 1.5-1.5v-3c0-.8-.7-1.5-1.5-1.5zM34 29.5c0-.8.7-1.5 1.5-1.5H38V6c0-2.2-1.8-4-4-4H6C3.8 2 2 3.8 2 6v28c0 2.2 1.8 4 4 4h22v-2.5c0-.8.7-1.5 1.5-1.5H34v-4.5zM16 11c0 .6-.4 1-1 1H9c-.6 0-1-.4-1-1V9c0-.6.4-1 1-1h6c.6 0 1 .4 1 1v2zm12 16c0 .6-.4 1-1 1H9c-.6 0-1-.4-1-1v-2c0-.6.4-1 1-1h18c.6 0 1 .4 1 1v2zm4-8c0 .6-.4 1-1 1H9c-.6 0-1-.4-1-1v-2c0-.6.4-1 1-1h22c.6 0 1 .4 1 1v2z\"}},\ninspector_panel:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M3.8 45.3h45c.8 0 1.5-.7 1.5-1.5v-8.3c0-.8-.7-1.5-1.5-1.5h-45c-.8 0-1.5.7-1.5 1.5v8.3c0 .8.7 1.5 1.5 1.5zm0-38.6c-.8 0-1.6.7-1.6 1.5v20.4c0 .7.8 1.4 1.6 1.4h44.8c.8 0 1.5-.7 1.5-1.5V8.2c0-.8-.7-1.5-1.5-1.5H3.8z\"}},\ninternal_share:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",\"d\":\"M2.3 37.9v.2c0 .8.6 1.4 1.4 1.4.4 0 .7-.1 1-.4 0 0 10.1-10.9 22.5-7.6v11c0 .8.6 1.4 1.4 1.4.3 0 .5-.1.7-.2l20.1-17.1c.3-.3.5-.7.5-1.1 0-.4-.2-.8-.4-1L29.4 8.2c-.2-.1-.5-.2-.8-.2-.8 0-1.4.6-1.4 1.4v10.3c-.1 0-19.9-3-24.9 18.2z\"}},\nitalic:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M38 12.3V11c0-1.1-.9-2-2-2H22c-1.1 0-2 .9-2 2v2c0 1.1.9 2 2 2 1.7 0 3 1.6 2.6 3.2L21 35.8c-.3 1.3-1.4 2.2-2.6 2.2H16c-1.1 0-2 .9-2 2v2c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2v-2c0-1.1-.9-2-2-2-1.7 0-3-1.6-2.6-3.2L31 17.2c.3-1.3 1.4-2.2 2.6-2.2h1.7c1.5 0 2.7-1.2 2.7-2.7z\"}},\njump_to_bottom:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M40.6 30.4L27.1 44c-.6.6-1.6.6-2.2 0L11.4 30.4c-.6-.6-.6-1.6 0-2.2l2.2-2.2c.6-.6 1.6-.6 2.2 0l9.1 9.4c.6.6 1.6.6 2.2 0l9.1-9.3c.6-.6 1.6-.6 2.2 0l2.2 2.2c.5.6.5 1.5 0 2.1z\"},{\"d\":\"M40.6 12.3L27.1 26.1c-.6.6-1.6.6-2.2 0L11.4 12.3c-.6-.6-.6-1.6 0-2.2l2.2-2.2c.6-.6 1.6-.6 2.2 0l9.1 9.4c.6.6 1.6.6 2.2 0L36.2 8c.6-.6 1.6-.6 2.2 0l2.2 2.2c.5.6.5 1.6 0 2.1z\"}]}},\njump_to_left:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M21.5 40.6L7.9 27.1a1.57 1.57 0 010-2.2l13.6-13.5a1.57 1.57 0 012.2 0l2.2 2.2a1.57 1.57 0 010 2.2l-9.4 9.1a1.57 1.57 0 000 2.2l9.3 9.1a1.57 1.57 0 010 2.2l-2.2 2.2a1.66 1.66 0 01-2.1 0z\"},{\"d\":\"M39.6 40.6L25.8 27.1a1.57 1.57 0 010-2.2l13.8-13.5a1.57 1.57 0 012.2 0l2.2 2.2a1.57 1.57 0 010 2.2l-9.4 9.1a1.57 1.57 0 000 2.2l9.3 9.1a1.57 1.57 0 010 2.2l-2.2 2.2a1.66 1.66 0 01-2.1 0z\"}]},\njump_to_right:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M30.4 11.3L44 24.8a1.57 1.57 0 010 2.2L30.4 40.5a1.57 1.57 0 01-2.2 0L26 38.3a1.57 1.57 0 010-2.2l9.4-9.1a1.57 1.57 0 000-2.2l-9.3-9.1a1.57 1.57 0 010-2.2l2.2-2.2a1.66 1.66 0 012.1 0z\"},{\"d\":\"M12.3 11.3l13.8 13.5a1.57 1.57 0 010 2.2L12.3 40.5a1.57 1.57 0 01-2.2 0l-2.2-2.2a1.57 1.57 0 010-2.2l9.4-9.1a1.57 1.57 0 000-2.2L8 15.7a1.57 1.57 0 010-2.2l2.2-2.2a1.66 1.66 0 012.1 0z\"}]},\njump_to_top:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M11.4 21.6L24.9 7.9c.6-.6 1.6-.6 2.2 0l13.5 13.7c.6.6.6 1.6 0 2.2L38.4 26c-.6.6-1.6.6-2.2 0l-9.1-9.4c-.6-.6-1.6-.6-2.2 0l-9.1 9.3c-.6.6-1.6.6-2.2 0l-2.2-2.2c-.5-.6-.5-1.5 0-2.1z\"},{\"d\":\"M11.4 39.7L24.9 26c.6-.6 1.6-.6 2.2 0l13.5 13.7c.6.6.6 1.6 0 2.2l-2.2 2.2c-.6.6-1.6.6-2.2 0l-9.1-9.4c-.6-.6-1.6-.6-2.2 0L15.8 44c-.6.6-1.6.6-2.2 0l-2.2-2.2c-.5-.6-.5-1.6 0-2.1z\"}]}},\njustify_text:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M48 6.5c0-.8-.7-1.5-1.5-1.5h-41C4.7 5 4 5.7 4 6.5v3c0 .8.7 1.5 1.5 1.5h41c.8 0 1.5-.7 1.5-1.5v-3zM48 18.5c0-.8-.7-1.5-1.5-1.5h-41c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h41c.8 0 1.5-.7 1.5-1.5v-3zM48 42.5c0-.8-.7-1.5-1.5-1.5h-41c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h41c.8 0 1.5-.7 1.5-1.5v-3zM48 30.5c0-.8-.7-1.5-1.5-1.5h-41c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h41c.8 0 1.5-.7 1.5-1.5v-3z\"}},\nkanban:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M32 17.5c0-.8-.7-1.5-1.5-1.5h-9c-.8 0-1.5.7-1.5 1.5v27c0 .8.7 1.5 1.5 1.5h9c.8 0 1.5-.7 1.5-1.5v-27zM14 17.5c0-.8-.7-1.5-1.5-1.5h-9c-.8 0-1.5.7-1.5 1.5v31c0 .8.7 1.5 1.5 1.5h9c.8 0 1.5-.7 1.5-1.5v-31zM50 17.5c0-.8-.7-1.5-1.5-1.5h-9c-.8 0-1.5.7-1.5 1.5v23c0 .8.7 1.5 1.5 1.5h9c.8 0 1.5-.7 1.5-1.5v-23zM50 3.5c0-.8-.7-1.5-1.5-1.5h-45C2.7 2 2 2.7 2 3.5v5c0 .8.7 1.5 1.5 1.5h45c.8 0 1.5-.7 1.5-1.5v-5z\"}},\nkey:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M6.51 12a.77.77 0 011.41.48v.41c0 9 7.09 16.27 15.74 16.27h.71a1.53 1.53 0 011.57 1.06l4.41 12.69a2.13 2.13 0 01-.08 1.22l-2.36 5.45a.77.77 0 01-1 .41l-5.35-2.52a.84.84 0 01-.48-1l.63-2.52a.82.82 0 00-.39-1.06l-1.81-.81a.9.9 0 01-.39-1l.7-2.52a.82.82 0 00-.39-1.06l-1.26-.57a.79.79 0 01-.39-1l.79-2.36a.82.82 0 00-.4-1.06l-2.36-1.06a.8.8 0 01-.41-.45l-.55-1.54a11.11 11.11 0 01-5.43-2.12 11.74 11.74 0 01-4.17-12.55A10.21 10.21 0 016.51 12zm5.55 2.54A11.28 11.28 0 0123.8 2a11.38 11.38 0 0110 7.6 10.64 10.64 0 01.2 6.49l12.7 13.27a1.4 1.4 0 01.48 1.2v5.84a.76.76 0 01-.8.8h-6a.78.78 0 01-.8-.64L39.21 34a.75.75 0 00-.79-.8h-2a.78.78 0 01-.8-.64l-.4-2.56a.76.76 0 00-.8-.8h-1.35a.79.79 0 01-.8-.72L32 26a.76.76 0 00-.8-.8h-2.69A.73.73 0 0128 25l-1.11-1.19a11.17 11.17 0 01-14.78-9.28zM21.6 7.6a4 4 0 000 8 4 4 0 004-4 4 4 0 00-4-4z\"}},\nkey_dates:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M46.8 19.6a1.6 1.6 0 011.59 1.45V45.2a4.82 4.82 0 01-4.58 4.8H8.4a4.82 4.82 0 01-4.8-4.59V21.2a1.6 1.6 0 011.45-1.59H46.8zm-21.38 4.63v.11l-2.18 6.86a.53.53 0 01-.54.41h-6.93a.75.75 0 00-.49 1.25l.08.07L20.92 37a.72.72 0 01.25.67v.11l-2.55 7a.68.68 0 001 .83l.08-.06 6-4.45a.7.7 0 01.73-.06l.09.06 6 4.45a.68.68 0 001.07-.67v-.1l-2.64-7a.72.72 0 01.15-.7l.08-.08 5.56-4.09a.74.74 0 00-.31-1.31h-7.04a.67.67 0 01-.6-.31v-.1l-2.1-6.82a.67.67 0 00-1.27-.14zM36.4 2a3.21 3.21 0 013.2 3.2v1.6h4a4.81 4.81 0 014.8 4.8v1.6a1.6 1.6 0 01-1.6 1.6H5.2a1.6 1.6 0 01-1.6-1.6v-1.6a4.81 4.81 0 014.8-4.8h4V5.2a3.2 3.2 0 016.4 0v1.6h14.4V5.2A3.21 3.21 0 0136.4 2z\"}},\nkeyboard_dismiss:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M48 34.066c1.1 0 2-.9 2-2v-26c0-1.1-.9-2-2-2H4c-1.1 0-2 .9-2 2v26c0 1.1.9 2 2 2h44zm-42-4v-22h40v22H6z\"},{\"d\":\"M13.665 13.398c0 .8-.7 1.5-1.5 1.5h-.998c-.8 0-1.5-.7-1.5-1.5V12.4c0-.8.7-1.5 1.5-1.5h.998c.8 0 1.5.7 1.5 1.5v.998zM19.402 12.4c0-.801-.7-1.5-1.5-1.5h-.998c-.8 0-1.5.699-1.5 1.5v.998c0 .799.7 1.5 1.5 1.5h.998c.8 0 1.5-.701 1.5-1.5V12.4zM30.878 13.398c0 .8-.698 1.5-1.5 1.5h-.998c-.799 0-1.5-.7-1.5-1.5V12.4c0-.8.701-1.5 1.5-1.5h.998c.802 0 1.5.7 1.5 1.5v.998zM25.14 13.398c0 .8-.699 1.5-1.5 1.5h-.998c-.799 0-1.5-.7-1.5-1.5V12.4c0-.8.701-1.5 1.5-1.5h.998c.801 0 1.5.7 1.5 1.5v.998zM42.354 12.4c0-.801-.699-1.5-1.5-1.5h-.998c-.799 0-1.5.699-1.5 1.5v.998c0 .799.701 1.5 1.5 1.5h.998c.801 0 1.5-.701 1.5-1.5V12.4zM36.615 12.4c0-.801-.699-1.5-1.5-1.5h-.998c-.799 0-1.5.699-1.5 1.5v.998c0 .799.701 1.5 1.5 1.5h.998c.801 0 1.5-.701 1.5-1.5V12.4zM13.665 19.402c0 .8-.7 1.5-1.5 1.5h-.998c-.8 0-1.5-.7-1.5-1.5v-.998c0-.8.7-1.5 1.5-1.5h.998c.8 0 1.5.7 1.5 1.5v.998zM19.402 18.404c0-.801-.7-1.5-1.5-1.5h-.998c-.8 0-1.5.699-1.5 1.5v.998c0 .799.7 1.5 1.5 1.5h.998c.8 0 1.5-.701 1.5-1.5v-.998zM30.878 19.402c0 .8-.698 1.5-1.5 1.5h-.998c-.799 0-1.5-.7-1.5-1.5v-.998c0-.8.701-1.5 1.5-1.5h.998c.802 0 1.5.7 1.5 1.5v.998zM25.14 19.402c0 .8-.699 1.5-1.5 1.5h-.998c-.799 0-1.5-.7-1.5-1.5v-.998c0-.8.701-1.5 1.5-1.5h.998c.801 0 1.5.7 1.5 1.5v.998zM42.354 18.404c0-.801-.699-1.5-1.5-1.5h-.998c-.799 0-1.5.699-1.5 1.5v.998c0 .799.701 1.5 1.5 1.5h.998c.801 0 1.5-.701 1.5-1.5v-.998zM36.615 18.404c0-.801-.699-1.5-1.5-1.5h-.998c-.799 0-1.5.699-1.5 1.5v.998c0 .799.701 1.5 1.5 1.5h.998c.801 0 1.5-.701 1.5-1.5v-.998zM13.665 25.408c0 .801-.7 1.5-1.5 1.5h-.998c-.8 0-1.5-.7-1.5-1.5v-.998c0-.8.7-1.5 1.5-1.5h.998c.8 0 1.5.7 1.5 1.5v.998zM36.615 24.41c0-.801-.7-1.5-1.5-1.5H16.904c-.8 0-1.5.699-1.5 1.5v.998c0 .8.7 1.5 1.5 1.5h18.211c.8 0 1.5-.701 1.5-1.5v-.998zM42.354 24.41c0-.801-.699-1.5-1.5-1.5h-.998c-.799 0-1.5.699-1.5 1.5v.998c0 .8.701 1.5 1.5 1.5h.998c.801 0 1.5-.701 1.5-1.5v-.998zM18.116 37.227h15.792c.447 0 .759.58.4.981l-7.718 9.457c-.266.356-.847.356-1.115 0l-7.807-9.457c-.311-.401-.043-.981.448-.981z\"}]},\nkeypad:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M8.55 36.91A6.55 6.55 0 112 43.45a6.54 6.54 0 016.55-6.54zm17.45 0a6.55 6.55 0 11-6.55 6.54A6.55 6.55 0 0126 36.91zm17.45 0a6.55 6.55 0 11-6.54 6.54 6.54 6.54 0 016.54-6.54zM8.55 19.45A6.55 6.55 0 112 26a6.55 6.55 0 016.55-6.55zm17.45 0A6.55 6.55 0 1119.45 26 6.56 6.56 0 0126 19.45zm17.45 0A6.55 6.55 0 1136.91 26a6.55 6.55 0 016.54-6.55zM8.55 2A6.55 6.55 0 112 8.55 6.54 6.54 0 018.55 2zM26 2a6.55 6.55 0 11-6.55 6.55A6.55 6.55 0 0126 2zm17.45 0a6.55 6.55 0 11-6.54 6.55A6.55 6.55 0 0143.45 2z\",\"fill-rule\":\"evenodd\"}},\nknowledge_base:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M9.5 35h13c.8 0 1.5-.7 1.5-1.5V10c0-1.7-1.8-3-3.2-3H9.5C8.7 7 8 7.7 8 8.5v25c0 .8.7 1.5 1.5 1.5z\"},{\"d\":\"M49.2 11.6c-.6-.2-1.2.3-1.2 1v24.9c0 .8-.7 1.5-1.5 1.5h-41c-.8 0-1.5-.7-1.5-1.5V12.7c0-.7-.8-1.2-1.4-.9C1.1 12.5 0 14.1 0 16v23c0 2.2 1.8 4 4 4h16.5c.8 0 1.5.7 1.5 1.5s.7 1.5 1.5 1.5h5c.8 0 1.5-.7 1.5-1.5s.7-1.5 1.5-1.5H48c2.2 0 4-1.8 4-4V16c0-2.1-.7-3.9-2.8-4.4z\"},{\"d\":\"M29.5 35h13c.8 0 1.5-.7 1.5-1.5v-25c0-.8-.7-1.5-1.5-1.5H31.2C29.7 7 28 8.3 28 10v23.5c0 .8.7 1.5 1.5 1.5z\"}]}},\nlayers:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M36 20c0-2.2-1.8-4-4-4H6c-2.2 0-4 1.8-4 4v26c0 2.2 1.8 4 4 4h26c2.2 0 4-1.8 4-4V20z\"},{\"d\":\"M43 2H17c-3.9 0-7 3.1-7 7v3h26c2.2 0 4 1.8 4 4v26h3c3.9 0 7-3.1 7-7V9c0-3.9-3.1-7-7-7z\"}]},\nlayout:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M48 50H4c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h44c1.1 0 2 .9 2 2v44c0 1.1-.9 2-2 2zM6 46h40V6H6v40z\"},{\"d\":\"M39 20H13c-.6 0-1-.4-1-1v-6c0-.6.4-1 1-1h26c.6 0 1 .4 1 1v6c0 .6-.4 1-1 1zM19 40h-6c-.6 0-1-.4-1-1V27c0-.6.4-1 1-1h6c.6 0 1 .4 1 1v12c0 .6-.4 1-1 1zM39 40H27c-.6 0-1-.4-1-1V27c0-.6.4-1 1-1h12c.6 0 1 .4 1 1v12c0 .6-.4 1-1 1z\"}]},\nleave_conference:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M25.7 22.4c-.5.7-.2 1.7.6 2.2 1.6.9 3.4 1.9 4.9 3.3 2.5-1.9 5.5-3 8.8-3.2-1.1-1.9-3.4-3.2-5.8-4.3-2.3-1-2.8-1.9-2.8-3 0-1 .7-1.9 1.4-2.8 1.4-1.3 2.1-3.1 2.1-5.3.1-4-2.2-7.5-6.4-7.5-2.5 0-4.2 1.3-5.4 3.1 2.9 2.2 4.6 6 4.6 10.3-.1 2.8-.8 5.2-2 7.2zM31.8 34.7l6 6-6 6c-.6.6-.6 1.6 0 2.1l.7.7c.6.6 1.6.6 2.1 0l6-6 6 6c.6.6 1.6.6 2.1 0l.7-.7c.6-.6.6-1.6 0-2.1l-6-6 6-6c.6-.6.6-1.6 0-2.1l-.7-.7c-.6-.6-1.6-.6-2.1 0l-6 6-6-6c-.6-.6-1.6-.6-2.1 0l-.7.7c-.5.5-.5 1.5 0 2.1z\"},{\"d\":\"M28.2 30.7c-1.4-1.4-3.5-2.3-5.6-3.3-2.6-1.1-3-2.2-3-3.3 0-1.1.7-2.3 1.6-3.1 1.5-1.5 2.3-3.6 2.3-6 0-4.5-2.6-8.4-7.2-8.4h-.5c-4.6 0-7.2 3.9-7.2 8.4 0 2.4.8 4.5 2.3 6 .9.8 1.6 1.9 1.6 3.1 0 1.1-.3 2.2-3 3.3-3.8 1.7-7.3 3.4-7.5 7 .2 2.5 1.9 4.4 4.1 4.4h18.6c.5-3.1 1.7-5.9 3.5-8.1z\"}]}},\nleft:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M38 8.3v35.4c0 1-1.3 1.7-2.2.9L14.6 27.3c-.8-.6-.8-1.9 0-2.5L35.8 7.3c.9-.7 2.2-.1 2.2 1z\"}},\nleft_align:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"rect\":[{\"x\":\"2\",\"y\":\"2\",\"width\":\"6.4\",\"height\":\"48\",\"rx\":\"1.6\"},{\"data-name\":\"Rectangle\",\"x\":\"11.6\",\"y\":\"18.8\",\"width\":\"38.4\",\"height\":\"14.16\",\"rx\":\"3.2\"}]},\nleft_align_text:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M48 6.5c0-.8-.7-1.5-1.5-1.5h-41C4.7 5 4 5.7 4 6.5v3c0 .8.7 1.5 1.5 1.5h41c.8 0 1.5-.7 1.5-1.5v-3zM40 18.5c0-.8-.7-1.5-1.5-1.5h-33c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h33c.8 0 1.5-.7 1.5-1.5v-3zM40 42.5c0-.8-.7-1.5-1.5-1.5h-33c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h33c.8 0 1.5-.7 1.5-1.5v-3zM48 30.5c0-.8-.7-1.5-1.5-1.5h-41c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h41c.8 0 1.5-.7 1.5-1.5v-3z\"}},\nlevel_down:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M8 11.9c0-.7-.7-1.5-1.5-1.5h-3c-.8 0-1.5.8-1.5 1.5v16.2c0 .8.8 1.6 1.5 1.6h33.2c.9 0 1.3 1 .7 1.7L31.8 37c-.6.6-.6 1.5 0 2.1l2.1 2.1c.6.6 1.5.6 2.1 0l13.6-13.5c.6-.6.6-1.5 0-2.1L36.1 12.1c-.6-.6-1.5-.6-2.1 0l-2.1 2.1c-.6.6-.6 1.5 0 2.1l5.6 5.6c.6.6.2 1.8-.7 1.8H9.5c-1.6 0-1.5-1.6-1.5-1.6V11.9z\"}},\nlevel_up:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M3.5 44c-.7 0-1.5.7-1.5 1.5v3c0 .8.8 1.5 1.5 1.5h23.9c.8 0 1.6-.8 1.6-1.5V15.3c0-.9 1-1.3 1.7-.7l5.6 5.6c.6.6 1.5.6 2.1 0l2.1-2.1c.6-.6.6-1.5 0-2.1L27 2.4c-.6-.6-1.5-.6-2.1 0L11.4 15.9c-.6.6-.6 1.5 0 2.1l2.1 2.1c.6.6 1.5.6 2.1 0l5.6-5.6c.6-.6 1.8-.2 1.8.7v27.3c0 1.6-1.6 1.5-1.6 1.5H3.5z\"}},\nlight_bulb:{\"path\":{\"d\":\"M24.12 2.69A16.11 16.11 0 009.69 17a15.9 15.9 0 005.85 13.65 4.92 4.92 0 011.87 3.82v.08a4 4 0 004.05 4h9a4 4 0 004.05-4v-.08a4.92 4.92 0 011.87-3.82 15.88 15.88 0 005.93-12.24C42.36 9.09 34 1.68 24.12 2.69zM33 43.16H19a1.56 1.56 0 00-1.56 1.56 4.69 4.69 0 004.68 4.68h7.8a4.69 4.69 0 004.68-4.68 1.56 1.56 0 00-1.6-1.56z\"}},\nlightning_extension:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M47.6 37.6c-.5-.1-1.1-.1-1.6-.2-.1 0-.2-.1-.2-.2-.2-.6-.5-1.2-.7-1.7v-.3c.3-.4.7-.9 1-1.3.2-.3.2-.6-.1-.9l-1.8-1.8c-.1-.1-.3-.2-.4-.2s-.3.1-.4.2c-.4.3-.9.7-1.3 1-.1 0-.1.1-.1.1h-.1c-.6-.2-1.1-.5-1.7-.7-.1 0-.2-.1-.2-.2-.1-.5-.1-1-.2-1.5 0-.3-.1-.5-.4-.7-.1-.1-.2-.1-.2-.1h-2.6c-.2 0-.3 0-.4.1-.2.2-.4.4-.4.7 0 .5-.1 1-.2 1.5 0 .1-.1.2-.2.2-.6.2-1.1.5-1.7.7h-.1c-.1 0-.1 0-.2-.1-.4-.3-.8-.7-1.3-1-.1-.1-.2-.2-.4-.2s-.3.1-.5.2L29.4 33c-.3.3-.3.6-.1.9.3.4.7.8 1 1.3.1.1.1.2 0 .3-.2.6-.5 1.1-.7 1.7 0 .1-.1.2-.2.2-.5.1-1 .1-1.5.2-.3 0-.6.2-.7.5v3c.2.3.4.4.7.5.5 0 1 .1 1.5.2.1 0 .2.1.2.2.2.6.5 1.1.7 1.7 0 .1.1.2 0 .3-.3.4-.7.9-1 1.3-.2.3-.2.6.1.9l1.8 1.8c.2.2.3.2.5.2.1 0 .3-.1.4-.2.4-.3.8-.7 1.3-1 .1 0 .1-.1.2-.1h.1c.6.2 1.1.5 1.7.7.1 0 .2.1.2.2.1.5.1 1.1.2 1.6 0 .4.3.6.7.6H39c.4 0 .6-.2.7-.6.1-.5.1-1.1.2-1.6 0-.1.1-.2.2-.2.6-.2 1.2-.5 1.7-.7h.1s.1 0 .1.1c.4.3.9.7 1.3 1 .1.1.3.2.4.2.2 0 .3-.1.5-.2l1.8-1.8c.3-.3.3-.6.1-.9-.3-.4-.7-.8-1-1.3-.1-.1-.1-.2 0-.3.2-.6.5-1.1.7-1.7 0-.1.1-.2.2-.2.5-.1 1.1-.1 1.6-.2.4 0 .6-.3.6-.7v-2.5c0-.5-.2-.7-.6-.8zm-9.8 6s-.1 0 0 0c-2.3 0-4-1.8-4-4s1.8-4 4-4 4 1.8 4 4c-.1 2.2-1.9 4-4 4zM38.7 20.7c-.2-.8-.8-1.3-1.6-1.3h-9.6c-1.2 0-.6-1-.6-1 .2-.4.4-.7.5-1.1 2.2-4.3 4.3-8.6 6.5-12.9.8-1.2 0-2.4-1.4-2.4H14.6c-.9 0-1.3.3-1.7 1.1-3 7.6-6 15.1-8.9 22.7 0 .2-.1.4-.1.5-.1 1 .6 1.7 1.7 1.7h9.7c.7.1 2.1.4 1.4 2.2-1.2 3.1-2.4 6.1-3.6 9.2-1.2 2.8-2.3 5.6-3.4 8.4-.4 1 0 1.9 1 2.2.7.2 1.2-.1 1.7-.6 4-4.2 8-8.4 12-12.7.5-.5.9-1 1.4-1.5.6-.6.5-1.6.5-1.6 0-1 .3-1.9 1.1-2.7l1.8-1.8c.7-.7 1.6-1.1 2.6-1.1.7 0 1.1-.3 1.3-.4l.1-.1c1.7-1.8 3.5-3.7 5.2-5.5.3-.3.5-.8.3-1.3z\"}},\nlightning_inspector:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M40.9 23.6h-.5v-.8c0-5-4.1-9.1-9.1-9.1-2.4 0-4.5.9-6.1 2.4-1.3-3.4-4.6-5.9-8.5-5.9-5 0-9.1 4.1-9.1 9.1 0 1.7.5 3.2 1.2 4.6-4 1-6.9 4.5-6.9 8.8 0 4.9 3.8 8.8 8.7 9h30.2c5 0 9.1-4.1 9.1-9.1s-4-9-9-9zm-24.6.8l7.8-3.7c.3-.2.8-.2 1.1 0l7.8 3.7c.5.2.5.8 0 1.1l-7.8 3.7c-.3.2-.8.2-1.1 0l-7.8-3.7c-.4-.2-.4-.9 0-1.1zm16.8 9.2l-7.8 3.7c-.3.2-.8.2-1.1 0l-7.8-3.7c-.5-.2-.5-.8 0-1.1l1-.5c.1-.1.3-.1.5 0l6.3 3c.3.2.8.2 1.1 0l6.2-3c.1-.1.3-.1.5 0l1 .5c.5.2.5.9.1 1.1zm0-4l-7.8 3.7c-.3.2-.8.2-1.1 0l-7.8-3.7c-.5-.2-.5-.8 0-1.1l1.1-.5c.1-.1.3-.1.5 0l6.2 3c.3.2.8.2 1.1 0l6.2-3c.1-.1.3-.1.5 0l1.1.5c.4.2.4.8 0 1.1z\"}},\nlike:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M10.5 21h-5c-.8 0-1.5.7-1.5 1.5v23c0 .8.7 1.5 1.5 1.5H8c2.2 0 4-1.8 4-4V22.5c0-.8-.7-1.5-1.5-1.5zM44 22h-6c-2.2 0-4-1.8-4-4V8c0-2.2-1.8-4-4-4h-2.5c-.8 0-1.5.7-1.5 1.5v6c0 5.3-3.7 10.5-8.5 10.5-.8 0-1.5.7-1.5 1.5v20c0 .8.6 1.5 1.4 1.5 6.8.3 9.1 3 16.2 3 7.5 0 14.4-.8 14.4-9.5V26c0-2.2-1.8-4-4-4z\"}}},\nlink:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M27.2 41.7l-2.1-.3c-.7-.1-1.4-.3-2.1-.6-.4-.1-.9 0-1.2.3l-.5.5c-2.9 2.9-7.6 3.2-10.6.6-3.4-2.9-3.5-8.1-.4-11.2l7.6-7.6c1-1 2.2-1.6 3.4-2 1.6-.4 3.3-.3 4.8.3.9.4 1.8.9 2.6 1.7.4.4.7.8 1 1.3.4.7 1.3.8 1.8.2l2.8-2.8c.4-.4.4-1 .1-1.5-.4-.6-.9-1.1-1.4-1.6-.7-.7-1.5-1.4-2.4-1.9-1.4-.9-3-1.5-4.7-1.8-3.1-.6-6.5-.1-9.3 1.4-1.1.6-2.2 1.4-3.1 2.3l-7.3 7.3C.9 31.6.5 40.2 5.6 45.6c5.3 5.8 14.3 5.9 19.8.4l2.5-2.5c.7-.5.2-1.7-.7-1.8z\"},{\"d\":\"M45.6 5.8c-5.5-5.1-14.1-4.7-19.3.6L24 8.6c-.7.7-.2 1.9.7 2 1.4.1 2.8.4 4.2.8.4.1.9 0 1.2-.3l.5-.5c2.9-2.9 7.6-3.2 10.6-.6 3.4 2.9 3.5 8.1.4 11.2L34 28.8c-1 1-2.2 1.6-3.4 2-1.6.4-3.3.3-4.8-.3-.9-.4-1.8-.9-2.6-1.7-.4-.4-.7-.8-1-1.3-.4-.7-1.3-.8-1.8-.2l-2.8 2.8c-.4.4-.4 1-.1 1.5.4.6.9 1.1 1.4 1.6.7.7 1.6 1.4 2.4 1.9 1.4.9 3 1.5 4.6 1.8 3.1.6 6.5.1 9.3-1.4 1.1-.6 2.2-1.4 3.1-2.3l7.6-7.6c5.6-5.5 5.4-14.5-.3-19.8z\"}]}},\nlinked:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M17.3 36.1l-1.1-1.4s-.7-1-.9-1.6c-.2-.3-.5-.5-.9-.5h-.6c-3.5 0-6.5-2.6-6.7-6-.3-3.8 2.8-6.9 6.5-6.9h9.1c1.2 0 2.3.4 3.2.8 1.2.7 2.2 1.8 2.7 3.1.3.8.5 1.6.5 2.6 0 .5-.1.9-.2 1.4-.2.7.3 1.3 1 1.2h3.4c.5 0 .8-.4 1-.8.1-.6.1-1.2.1-1.8 0-.8-.1-1.7-.3-2.6-.3-1.4-.9-2.7-1.7-3.9-1.5-2.2-3.8-4-6.4-4.7-1-.3-2.2-.5-3.2-.5H14c-6.3 0-11.7 4.9-11.9 11.2-.3 6.6 5 12.1 11.6 12.1h3c.7-.1 1.1-1.1.6-1.7zm32.6-10.5c-.2-6.3-5.6-11.3-11.9-11.2l-2.7-.1c-.8 0-1.3 1-.8 1.6.8.9 1.4 1.9 2 3 .2.3.5.5.9.5h.6c3.5 0 6.5 2.6 6.7 6 .3 3.8-2.8 6.9-6.5 6.9h-9.1c-1.2 0-2.3-.4-3.2-.8-1.2-.7-2.2-1.8-2.7-3.1-.3-.8-.5-1.6-.5-2.6 0-.5.1-.9.2-1.4.2-.7-.3-1.3-1-1.2h-3.4c-.5 0-.8.4-1 .8-.1.6-.1 1.2-.1 1.8 0 .8.1 1.8.3 2.6.3 1.4.9 2.7 1.7 3.8 1.5 2.2 3.8 4 6.4 4.7 1 .3 2.2.5 3.2.5h9.1c6.7.3 12-5.2 11.8-11.8z\"}},\nlist:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M8 10.5C8 9.7 7.3 9 6.5 9h-3C2.7 9 2 9.7 2 10.5v3c0 .8.7 1.5 1.5 1.5h3c.8 0 1.5-.7 1.5-1.5v-3zM50 10.5c0-.8-.7-1.5-1.5-1.5h-35c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h35c.8 0 1.5-.7 1.5-1.5v-3zM8 24.5c0-.8-.7-1.5-1.5-1.5h-3c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h3c.8 0 1.5-.7 1.5-1.5v-3zM46 24.5c0-.8-.7-1.5-1.5-1.5h-31c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h31c.8 0 1.5-.7 1.5-1.5v-3zM8 38.5c0-.8-.7-1.5-1.5-1.5h-3c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h3c.8 0 1.5-.7 1.5-1.5v-3zM50 38.5c0-.8-.7-1.5-1.5-1.5h-35c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h35c.8 0 1.5-.7 1.5-1.5v-3z\"}}},\nlisten:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M50.6 30.2C50.6 15.8 39.7 4 26.2 4S1.7 15.8 1.7 30.2c0 3.4.6 6.8 1.8 10 1.4 3.9 4.9 6.7 9.1 6.8 1.2 0 2.2-1 2.2-2.2V32.3c0-1.2-1-2.2-2.2-2.2-2.2 0-4.3.8-5.9 2-.1-.7-.1-1.3-.1-2 0-11.8 8.8-21.3 19.6-21.3s19.6 9.6 19.6 21.3c0 .7 0 1.4-.1 2-1.6-1.3-3.6-2.1-5.9-2.1-1.2 0-2.2 1-2.2 2.2v12.4c0 1.2 1 2.2 2.2 2.2 2.4 0 4.9-.9 6.5-2.7 1.7-1.8 2.5-3.8 3.2-6.2.7-2.4 1.1-5 1.1-7.7z\"}},\nlive_message:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M46 2H22c-2.2 0-4 1.8-4 4v.1c3.6.4 6.9 1.7 9.6 3.8h14.8c.8 0 1.6.8 1.6 1.6v27c0 .8-.8 1.4-1.6 1.4h-17c-.8 0-1.4-.6-1.4-1.4v-.1c0-.1-.1-.3-.2-.3-1.7.8-3.6 1.3-5.5 1.5-.2.2-.3.4-.3.9v5.4c0 2.2 1.7 4 3.9 4h24c2.2 0 4.1-1.8 4.1-4V6c0-2.2-1.8-4-4-4zM34 48c-1.7 0-3-1.3-3-3s1.3-3 3-3 3 1.3 3 3-1.3 3-3 3z\"},{\"d\":\"M2 22.9C2 30 8.3 35.7 15.9 35.8c2.7 0 5.2-.7 7.3-1.9.4-.2.7-.2 1-.1l5 1.9c.5.1.9-.3.8-.8l-1.8-5c-.1-.4-.1-.7.1-1 1.1-1.9 1.7-4 1.7-6.2 0-7-6.2-12.7-14-12.7-7.7 0-13.9 5.7-14 12.9z\"}]},\nlocation:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M48.8 9.5L34.4 2.3c-.7-.3-1.5-.3-2.1 0L19 9 5.6 2.3c-.8-.4-1.8-.4-2.5.1-.7.4-1.1 1.2-1.1 2v36c0 .9.5 1.7 1.3 2.1l14.4 7.2c.7.3 1.5.3 2.1 0L33.2 43l13.3 6.7c.3.2.7.3 1.1.3.4 0 .9-.1 1.3-.4.7-.4 1.1-1.2 1.1-2v-36c0-.9-.4-1.7-1.2-2.1zM45 14.1v19c0 1.1-1 1.9-2 1.5-3.7-1.4-.7-7.6-3.4-11-2.5-3.1-5.7.1-8.8-4.8-2.9-4.7 1-8.1 4.6-9.9.5-.2 1-.2 1.4 0l7.4 3.7c.6.3.8.9.8 1.5zM24.9 41.9c-.6.3-1.3.2-1.8-.2-1-.9-1.8-2.3-1.8-3.7 0-2.4-4-1.6-4-6.4 0-3.9-4.6-4.9-8.5-4.5-1 .1-1.7-.6-1.7-1.6V10.9c0-1.2 1.2-2 2.2-1.4l8.6 4.3c.1 0 .2.1.2.1l.3.2c3.6 2.1 2.9 3.8 1.4 6.4-1.7 2.9-2.4 0-4.8-.8s-4.8.8-4 2.4 3.2 0 4.8 1.6 1.6 4 6.4 2.4 5.6-.8 7.2.8c1.6 1.6 2.4 4.8 0 7.2-1.4 1.4-2 4.4-2.6 6.4-.1.4-.4.8-.8 1l-1.1.4z\"}},\nlocation_permit:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M39.18 11.4l-9.12-9.12a1.1 1.1 0 00-.71-.28 1 1 0 00-1 1v7.26A2.71 2.71 0 0031.06 13h7.26a1 1 0 001-1c.14-.17.14-.31-.14-.6zm.28 7.26A1.42 1.42 0 0038 17.24h-9.65a4.13 4.13 0 01-4.13-4.13V3.42A1.42 1.42 0 0022.8 2H9a4.13 4.13 0 00-4.15 4.13v33.19A4.13 4.13 0 009 43.45h14.1c1.14 0 1.42-.71 1.28-2a13.94 13.94 0 013-10.25c3.42-4 9.12-4.27 10-4.27s2.28 0 2.14-1.29zm-29.77-8l3.42-.43a.14.14 0 00.14-.14L14.82 7a.42.42 0 01.57 0L17 10.12l.14.14 3.42.43a.28.28 0 01.14.43l-2.57 2.56V14l.57 3.42c0 .15-.14.43-.42.29l-3-1.57H15l-3 1.57c-.14.14-.43 0-.43-.29L12 14v-.28l-2.59-2.46a1.09 1.09 0 01.28-.57zm12.54 23.25a1.43 1.43 0 01-1.43 1.42h-9a1.43 1.43 0 01-1.43-1.42v-1.43a1.43 1.43 0 011.43-1.42h9a1.43 1.43 0 011.43 1.42zm7.54-8.41a1.43 1.43 0 01-1.42 1.43H11.83a1.43 1.43 0 01-1.43-1.43v-1.42a1.43 1.43 0 011.43-1.43h16.66a1.43 1.43 0 011.43 1.43v1.42zM37.32 37a2 2 0 102 2 2.14 2.14 0 00-2-2z\"},{\"data-name\":\"Shape\",\"d\":\"M37.32 30.34a9.83 9.83 0 109.83 9.83 10 10 0 00-9.83-9.83zM37.61 46a.44.44 0 01-.61 0c-1-.85-4.42-3.7-4.42-7A4.7 4.7 0 0142 39c-.12 3.31-3.39 6.16-4.39 7z\"}]},\nlock:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M11 19h4c.6 0 1-.3 1-.9V18c0-5.7 4.9-10.4 10.7-10 5.3.4 9.3 5 9.3 10.4v-.3c0 .6.4.9 1 .9h4c.6 0 1-.3 1-.9V18c0-9.1-7.6-16.4-16.8-16-8.5.4-15 7.6-15.2 16.1.1.5.5.9 1 .9zM10 18.1v0zM46 27c0-2.2-1.8-4-4-4H10c-2.2 0-4 1.8-4 4v19c0 2.2 1.8 4 4 4h32c2.2 0 4-1.8 4-4V27zM30.6 42.7c.2.6-.3 1.3-1 1.3h-7.3c-.7 0-1.1-.6-1-1.3l1.8-6c-1.5-1-2.4-2.8-2.1-4.8.4-1.9 1.9-3.4 3.9-3.8 3.2-.6 6 1.7 6 4.7 0 1.6-.8 3.1-2.1 3.9l1.8 6z\"}}},\nlocker_service_api_viewer:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M18 38.5c0 .8.7 1.5 1.5 1.5h2.6c-.1-.7-.1-1.3-.1-2 0-1.4.2-2.7.5-4h-3c-.8 0-1.5.7-1.5 1.5v3zM28.5 14h-9c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h9c.8 0 1.5-.7 1.5-1.5v-3c0-.8-.7-1.5-1.5-1.5zM3.5 10h41c.8 0 1.5-.7 1.5-1.5v-5c0-.8-.7-1.5-1.5-1.5h-41C2.7 2 2 2.7 2 3.5v5c0 .8.7 1.5 1.5 1.5zM44.5 20c.8 0 1.5-.7 1.5-1.5v-3c0-.8-.7-1.5-1.5-1.5h-9c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h9zM18 28.5c0 .8.7 1.5 1.5 1.5h4.6c1.3-2.3 3.2-4.2 5.4-5.6-.3-.3-.6-.4-1-.4h-9c-.8 0-1.5.7-1.5 1.5v3zM12.5 14h-9c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h9c.8 0 1.5-.7 1.5-1.5v-3c0-.8-.7-1.5-1.5-1.5zM23.1 44h-3.6c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h7.9c-1.9-1.6-3.3-3.7-4.3-6zM12.5 34h-9c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h9c.8 0 1.5-.7 1.5-1.5v-3c0-.8-.7-1.5-1.5-1.5zM12.5 44h-9c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h9c.8 0 1.5-.7 1.5-1.5v-3c0-.8-.7-1.5-1.5-1.5zM12.5 24h-9c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h9c.8 0 1.5-.7 1.5-1.5v-3c0-.8-.7-1.5-1.5-1.5zM37.9 26.1c-6.6 0-12 5.4-12 12s5.4 12 12 12 12-5.4 12-12-5.4-12-12-12zm7.9 8.5l-9.6 9.7c-.2.2-.5.2-.7 0l-5.6-5.6c-.2-.2-.2-.5 0-.7l2.1-2.1c.2-.2.5-.2.7 0l2.9 2.9c.1.1.4.1.5 0l6.9-7c.2-.2.5-.2.7 0l2.1 2.1c.3.2.3.5 0 .7z\"}}},\nlocker_service_console:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M47.7 9.1c-.9-2.2-2-4.2-3.3-6.1-.6-.8-1.7-.9-2.3-.2-1.9 1.8-4.6 2.8-7.4 2.8-3 0-5.7-1.2-7.7-3.2-.6-.6-1.6-.6-2.2 0-2 2-4.7 3.2-7.7 3.2-2.8 0-5.4-1-7.4-2.8-.7-.6-1.8-.5-2.3.2C6.1 4.8 5 6.9 4.1 9.1c0 0-2.4 4.9-2 13V22.9c0 .4.1.8.1 1.2v.1C3.6 37.6 13.5 48.3 26 50c12.6-1.8 22.4-12.5 23.8-25.9v-.3c0-.2 0-.5.1-.8.7-8.6-2.2-13.9-2.2-13.9zm-6.8 10.3L24.3 36.3c-.4.4-.9.4-1.3 0l-9.7-9.8c-.4-.4-.4-.9 0-1.3l1.3-1.3c.4-.4.9-.4 1.3 0l7.3 7.4c.2.2.6.2.9 0l14.3-14.4c.4-.4.9-.4 1.3 0l1.3 1.3c.3.3.3.9-.1 1.2z\"}},\nlog_a_call:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M43 2H13.5c-2.6 0-4.8 2.4-4.8 4.8v1.6H7.1C5.4 8.4 4 9.8 4 11.6s1.4 3.2 3.1 3.2h1.6v8H7.1C5.4 22.8 4 24.2 4 26s1.4 3.2 3.1 3.2h1.6v8H7.1c-1.7 0-3.1 1.4-3.1 3.2 0 1.8 1.4 3.2 3.1 3.2h1.6v1.6c0 2.4 2.2 4.8 4.8 4.8H43c2.6 0 5-2.4 5-5V6.6C48 3.9 45.6 2 43 2zm-2.8 32.2L38 36.5c-.5.5-1.2.8-1.8.7-5.2-.3-10-2.7-13.5-6.2s-5.8-8.5-6.1-13.8c0-.7.2-1.4.7-1.8l2.2-2.2c1-1 2.7-1 3.6.2l2 2.6c.7.9.7 2.1.1 3l-1.7 2.5c-.2.3-.2.8.1 1l3.6 4.1 4 3.7c.3.3.7.3 1 .1l2.4-1.8c.9-.6 2.1-.6 3 .1l2.5 2.1c1.1.6 1.1 2.4.1 3.4z\"}},\nlogout:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M21 48.5v-3c0-.8-.7-1.5-1.5-1.5h-10c-.8 0-1.5-.7-1.5-1.5v-33C8 8.7 8.7 8 9.5 8h10c.8 0 1.5-.7 1.5-1.5v-3c0-.8-.7-1.5-1.5-1.5H6C3.8 2 2 3.8 2 6v40c0 2.2 1.8 4 4 4h13.5c.8 0 1.5-.7 1.5-1.5z\"},{\"d\":\"M49.6 27c.6-.6.6-1.5 0-2.1L36.1 11.4c-.6-.6-1.5-.6-2.1 0l-2.1 2.1c-.6.6-.6 1.5 0 2.1l5.6 5.6c.6.6.2 1.7-.7 1.7H15.5c-.8 0-1.5.6-1.5 1.4v3c0 .8.7 1.6 1.5 1.6h21.2c.9 0 1.3 1.1.7 1.7l-5.6 5.6c-.6.6-.6 1.5 0 2.1l2.1 2.1c.6.6 1.5.6 2.1 0L49.6 27z\"}]}},\nloop:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M47.2 32.6c0 .1 0 .1-.1.2-.3.9-.5 1.8-.9 2.6-.4.9-.8 1.9-1.3 2.7-1 1.8-2.2 3.4-3.6 4.8s-3 2.7-4.7 3.7c-1.7 1-3.6 1.9-5.6 2.4-2 .6-4.1.8-6.2.8C12.3 50 2 39.7 2 27.1S12.3 4.2 24.9 4.2c4.3 0 8.3 1.2 11.7 3.2 1.7 1 3.2 2.2 4.5 3.5.4.3.7.6 1 1 .8.6 1.3.2 1.3-.8V3.6c0-.8.8-1.6 1.6-1.6h3.2c.9 0 1.6.8 1.7 1.6v19.6c0 .8-.6 1.4-1.4 1.4H28.9c-.9 0-1.5-.6-1.5-1.5v-3.3c0-.9.8-1.6 1.6-1.6h7.5c.6 0 1.2-.2 1.4-.5-2.9-4-7.6-6.6-13-6.6-8.9 0-16 7.2-16 16s7.2 16 16 16c7 0 12.9-4.4 15.1-10.6 0 0 .3-1.4 1.4-1.4H46c.7 0 1.3.5 1.3 1.2-.1.1-.1.2-.1.3z\"}},\nlower_flag:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M6.6 2h-3c-.8 0-1.5.7-1.5 1.5v45c0 .8.7 1.5 1.5 1.5h3c.8 0 1.5-.7 1.5-1.5v-45c0-.8-.7-1.5-1.5-1.5zM40.6 24.6c2.7 0 5.2.7 7.5 1.9V6.6c0-.7-.8-1.2-1.5-.8-16 8.4-14.2-8.8-33.5-2.1-.6.2-1 .8-1 1.4v23.3c0 .7.7 1.2 1.3.9 7.7-2.6 11.9-1.3 15.4.6 2.9-3.3 7.1-5.3 11.8-5.3zM31.8 34.6l6 6-6 6c-.6.6-.6 1.6 0 2.1l.7.7c.6.6 1.6.6 2.1 0l6-6 6 6c.6.6 1.6.6 2.1 0l.7-.7c.6-.6.6-1.6 0-2.1l-6-6 6-6c.6-.6.6-1.6 0-2.1l-.7-.7c-.6-.6-1.6-.6-2.1 0l-6 6-6-6c-.6-.6-1.6-.6-2.1 0l-.7.7c-.6.5-.6 1.5 0 2.1z\"}},\nmacros:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M37.2 40.2c-.2.4-.6.5-1 .5h-4.7c-.4 0-.7-.3-.7-.7 0-.1.1-.3.1-.4l.1-.1.2-.2 10.3-12.5c.3-.4.4-1 .2-1.4 0-.1-.1-.2-.1-.2L30.9 12.5c-.1-.1-.1-.3-.1-.4 0-.4.4-.7.7-.7h4.7c.4 0 .8.1 1 .5l11.1 13.4c.2.2.2.5.2.7 0 .3-.1.6-.2.8L37.2 40.2z\"},{\"d\":\"M25.6 40.2c-.2.4-.6.5-1 .5h-4.7c-.4 0-.7-.3-.7-.7 0-.1.1-.3.1-.4l.1-.1.2-.2 10.3-12.5c.3-.4.4-1 .2-1.4 0-.1-.1-.2-.1-.2L19.3 12.5c-.1-.1-.1-.3-.1-.4 0-.4.4-.7.7-.7h4.7c.4 0 .8.1 1 .5l11.1 13.4c.2.2.2.5.2.7 0 .3-.1.6-.2.8L25.6 40.2z\"},{\"d\":\"M14 40.2c-.2.4-.6.5-1 .5H4.2c-.4 0-.7-.3-.7-.7 0-.1.1-.3.1-.4l.1-.1.2-.2 10.3-12.5c.3-.4.4-1 .2-1.4 0-.1-.1-.2-.1-.2L3.6 12.5c-.1-.1-.1-.3-.1-.4 0-.4.4-.7.7-.7h8.7c.4 0 .8.1 1 .5L25 25.3c.2.2.2.5.2.7 0 .3-.1.6-.2.8L14 40.2z\"}]},\nmagicwand:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M28.2 21c-.4-.4-1-.4-1.4 0L2.9 44.9c-1.2 1.2-1.2 3 0 4.2 1.2 1.2 3 1.2 4.2 0L31 25.2c.4-.4.4-1 0-1.4L28.2 21zM35.2 21l3.2-3.2c.6-.6.6-1.5 0-2.1l-2.1-2.1c-.6-.6-1.5-.6-2.1 0L31 16.8c-.4.4-.4 1 0 1.4l2.8 2.8c.4.4 1 .4 1.4 0zM10.4 11.6c3.8 1.2 6.8 4.1 8 8 .2.6 1 .6 1.2 0 1.2-3.8 4.1-6.8 8-8 .6-.2.6-1 0-1.2-3.8-1.2-6.8-4.1-8-8-.2-.6-1-.6-1.2 0-1.2 3.8-4.1 6.8-8 8-.5.2-.5 1 0 1.2zM49.6 30.5c-3.4-1.1-6-3.7-7.1-7.1-.2-.5-.9-.5-1.1 0-1.1 3.4-3.7 6-7.1 7.1-.5.2-.5.9 0 1.1 3.4 1.1 6 3.7 7.1 7.1.2.5.9.5 1.1 0 1.1-3.4 3.7-6 7.1-7.1.5-.2.5-1 0-1.1zM38.3 8.4c2.6.8 4.5 2.7 5.3 5.3.1.4.7.4.8 0 .8-2.6 2.7-4.5 5.3-5.3.4-.1.4-.7 0-.8-2.6-.8-4.5-2.7-5.3-5.3-.1-.4-.7-.4-.8 0-.8 2.6-2.7 4.5-5.3 5.3-.4.1-.4.7 0 .8z\"}}},\nmark_all_as_read:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M24 7l-1.7-1.7c-.5-.5-1.2-.5-1.7 0L10 15.8l-4.3-4.2c-.5-.5-1.2-.5-1.7 0l-1.7 1.7c-.5.5-.5 1.2 0 1.7l5.9 5.9c.5.5 1.1.7 1.7.7.6 0 1.2-.2 1.7-.7L24 8.7c.4-.4.4-1.2 0-1.7zM48.4 18.4H27.5c-.9 0-1.6-.7-1.6-1.6v-3.2c0-.9.7-1.6 1.6-1.6h20.9c.9 0 1.6.7 1.6 1.6v3.2c0 .9-.7 1.6-1.6 1.6zM48.4 32.7H9.8c-.9 0-1.6-.7-1.6-1.6v-3.2c0-.9.7-1.6 1.6-1.6h38.6c.9 0 1.6.7 1.6 1.6v3.2c0 .9-.7 1.6-1.6 1.6zM48.4 47H9.8c-.9 0-1.6-.7-1.6-1.6v-3.2c0-.9.7-1.6 1.6-1.6h38.6c.9 0 1.6.7 1.6 1.6v3.2c0 .9-.7 1.6-1.6 1.6z\"}},\nmatrix:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M48 3.5c0-.8-.7-1.5-1.5-1.5h-31c-.8 0-1.5.7-1.5 1.5v5c0 .8.7 1.5 1.5 1.5h31c.8 0 1.5-.7 1.5-1.5v-5zM10 15.5c0-.8-.7-1.5-1.5-1.5h-3c-.8 0-1.5.7-1.5 1.5v13c0 .8.7 1.5 1.5 1.5h3c.8 0 1.5-.7 1.5-1.5v-13zM10 35.5c0-.8-.7-1.5-1.5-1.5h-3c-.8 0-1.5.7-1.5 1.5v13c0 .8.7 1.5 1.5 1.5h3c.8 0 1.5-.7 1.5-1.5v-13zM29 15.5c0-.8-.7-1.5-1.5-1.5h-12c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h12c.8 0 1.5-.7 1.5-1.5v-3zM48 15.5c0-.8-.7-1.5-1.5-1.5h-12c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h12c.8 0 1.5-.7 1.5-1.5v-3zM29 25.5c0-.8-.7-1.5-1.5-1.5h-12c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h12c.8 0 1.5-.7 1.5-1.5v-3zM48 25.5c0-.8-.7-1.5-1.5-1.5h-12c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h12c.8 0 1.5-.7 1.5-1.5v-3zM29 35.5c0-.8-.7-1.5-1.5-1.5h-12c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h12c.8 0 1.5-.7 1.5-1.5v-3zM48 35.5c0-.8-.7-1.5-1.5-1.5h-12c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h12c.8 0 1.5-.7 1.5-1.5v-3zM29 45.5c0-.8-.7-1.5-1.5-1.5h-12c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h12c.8 0 1.5-.7 1.5-1.5v-3zM48 45.5c0-.8-.7-1.5-1.5-1.5h-12c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h12c.8 0 1.5-.7 1.5-1.5v-3z\"}},\nmeet_content_source:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M46.31 7.54H5.69A3.69 3.69 0 002 11.23v29.54a3.69 3.69 0 003.69 3.69h40.62A3.69 3.69 0 0050 40.77V11.23a3.69 3.69 0 00-3.69-3.69zm0 32.31a.93.93 0 01-.93.92H6.62a.93.93 0 01-.93-.92V14a.93.93 0 01.93-.92h38.76a.93.93 0 01.93.92z\"},{\"d\":\"M26.52 17a.7.7 0 00-1-.1.47.47 0 00-.1.1l-6.57 7.12a.88.88 0 000 1.19L20 26.52a.71.71 0 001 .1l.1-.1 2.42-2.61a.57.57 0 01.81 0 .56.56 0 01.15.37v10.16a.8.8 0 00.72.85h1.59a.87.87 0 00.83-.85V24.26a.53.53 0 01.9-.4l2.42 2.66a.87.87 0 001.15 0l1.1-1.18a.88.88 0 000-1.19z\"}]}},\nmeet_focus_content:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M9.9 27.41a4.29 4.29 0 014.29 4.29v.38a4.47 4.47 0 01-1.42 3.35 2.48 2.48 0 00-.94 1.81c0 .58.24 1.16 1.5 1.81l1.29.58c1.81.89 3.39 1.81 3.44 3.62A2.39 2.39 0 0116 45.52H4.05a2.39 2.39 0 01-2.3-2.45c0-1.72 1.59-2.73 3.44-3.62l.67-.29.33-.16C7.76 38.35 8 37.78 8 37.2a2.73 2.73 0 00-.94-1.81A4.46 4.46 0 015.64 32a4.3 4.3 0 013.94-4.62zM46.13 7.48a3.62 3.62 0 013.62 3.62v27.17a3.63 3.63 0 01-3.62 3.63H20.64A5.43 5.43 0 0018 38.27h27.15a.9.9 0 00.9-.9V13.82a.9.9 0 00-.9-.9H8.92a.9.9 0 00-.9.9H8v11.09a6.51 6.51 0 00-3.63 2.37V11.1A3.63 3.63 0 018 7.48z\",\"fill-rule\":\"evenodd\"}},\nmeet_focus_equal:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M46.31 11.23A3.69 3.69 0 0150 14.92v22.16a3.69 3.69 0 01-3.69 3.69H19.43a5.65 5.65 0 005.28-3.69h20.67a.93.93 0 00.93-.93V17.69a.93.93 0 00-.93-.92H19a7.75 7.75 0 00-6.8-3.69h-.42a3.7 3.7 0 013.19-1.85zm-34.16 4.62a5.28 5.28 0 015.34 5.22 4.18 4.18 0 010 .5 5.44 5.44 0 01-1.75 4.1 2.94 2.94 0 00-1.18 2.18c0 .7.31 1.4 1.84 2.16l1.07.48.7.33.69.33c1.84 1 3.36 2.16 3.41 3.93a2.93 2.93 0 01-2.6 3H4.88a2.92 2.92 0 01-2.88-3V35c0-2 1.74-3.18 3.82-4.17l.67-.3 1-.44c2-.83 2.23-1.52 2.23-2.33a3.25 3.25 0 00-1.18-2.1 5.41 5.41 0 01-1.84-4.1 5.28 5.28 0 014.81-5.71 5.86 5.86 0 01.64 0z\",\"fill-rule\":\"evenodd\"}},\nmeet_focus_presenter:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"fill-rule\":\"evenodd\",\"path\":{\"d\":\"M47.6 27.92H32.27a2.86 2.86 0 00-2.87 2.87v11.5a2.87 2.87 0 002.87 2.88H47.6a2.88 2.88 0 002.88-2.88v-11.5a2.87 2.87 0 00-2.88-2.87zm1 14.37a1 1 0 01-1 1H32.27a1 1 0 01-1-1v-9.58a1 1 0 011-1H47.6a1 1 0 011 1zM27.48 16.74c0-5.31-3.13-9.91-8.63-9.91s-8.62 4.6-8.62 9.91a9.71 9.71 0 002.82 7.08A5.71 5.71 0 0115 27.48c0 1.41-.46 2.58-3.6 4-4.49 2-8.76 4.26-8.87 8.49a4.91 4.91 0 004.64 5.19h20.12a5.73 5.73 0 01-.77-2.88V31.6l-.25-.12c-3-1.42-3.6-2.7-3.6-4a5.27 5.27 0 011.91-3.66 9.75 9.75 0 002.9-7.08z\"}}},\nmeet_present_panel:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M31.54 4H10.17a4.15 4.15 0 00-4 3.93H4.82a2.69 2.69 0 00-2.69 2.68 2.62 2.62 0 002.67 2.53h1.34v5.33H4.82a2.62 2.62 0 10-.44 5.23 1.62 1.62 0 00.44 0h1.32V29H4.82a2.68 2.68 0 00-2.69 2.65 2.63 2.63 0 002.63 2.63h1.38a3.67 3.67 0 003.39 3.94 3.42 3.42 0 00.64 0H26V37a13.46 13.46 0 019.56-13V7.88A4 4 0 0031.54 4zm-8.62 25.68A1.35 1.35 0 0121.53 31H13.6a1.36 1.36 0 01-1.43-1.29v-1.34a1.37 1.37 0 011.41-1.31h7.91a1.35 1.35 0 011.43 1.28v1.33zm5.14-7.94c0 .73-.77 1.3-1.83 1.3h-12.3c-1 0-1.83-.57-1.83-1.3v-1.25c0-.74.77-1.31 1.83-1.31H26.3c1 0 1.84.57 1.84 1.31zm3.15-7.94a1.45 1.45 0 01-1.58 1.3H13.75a1.45 1.45 0 01-1.58-1.3v-1.31a1.45 1.45 0 011.57-1.32h16a1.45 1.45 0 011.58 1.31zM49.77 32.23a1.3 1.3 0 00-1.23-1.32H37.9a1.3 1.3 0 00-.9.36 1.34 1.34 0 00-.37.74v1.52a1.27 1.27 0 001.23 1.31h5.51l-9.74 10a1.34 1.34 0 000 1.84l.89.92a1.34 1.34 0 001 .4 1.18 1.18 0 00.83-.35l9.74-10.05v5.51a1.3 1.3 0 00.36.94 1.24 1.24 0 00.9.39h1.36a1.21 1.21 0 00.92-.37 1.36 1.36 0 00.37-.7v-.17z\"}}},\nmerge:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M42.3 44c-5.6-2.7-9.6-7.5-11.6-13-.8-2-1.3-4.3-1.5-6.3v-3.5H40c.8 0 1.4-.9.8-1.8l-14.2-17c-.5-.6-1.6-.6-2 0l-13.8 17c-.5.6 0 1.8.8 1.8h10.9v3.5c-.3 2.1-.8 4.4-1.5 6.3-2 5.5-6 10.3-11.6 13-.8.3-1.1 1.3-.8 2l1.3 3.1c.4.8 1.3 1.1 2.1.6 6-2.9 10.8-7.5 13.7-13 3 5.5 7.7 10.1 13.8 13 .8.4 1.8.3 2.1-.6l1.3-3.1c.6-.7.2-1.6-.6-2z\"}},\nmerge_field:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M16.5 39.9h-.7c-2.3 0-3.2-1.3-3.2-3.5 0-1 .1-1.9.3-2.9.2-1 .3-2 .3-3.1 0-2.6-1.1-4-2.9-4.4 1.8-.5 2.9-1.8 2.9-4.4 0-1.1-.1-2.1-.3-3.1-.2-1-.3-1.9-.3-2.9 0-2.2.8-3.5 3.2-3.5h.7c.6 0 1.1-.5 1.1-1.1 0-.6-.5-1.1-1.1-1.1h-3.8c-3.4 0-5.9 1.6-5.9 5.3 0 1.1.2 2.2.3 3.4.2 1.1.3 2.3.3 3.4 0 1.3-.3 2.7-2.5 2.9h-.1c-.6 0-1.1.5-1.1 1.1s.5 1 1.1 1.1H5c2.2.3 2.5 1.8 2.5 2.9 0 1.1-.2 2.2-.3 3.3s-.3 2.2-.3 3.3c0 4.1 2.5 5.5 5.9 5.5h3.8c.6 0 1.1-.5 1.1-1.1-.1-.6-.6-1.1-1.2-1.1zM35.5 39.9h.7c2.3 0 3.2-1.3 3.2-3.5 0-1-.1-1.9-.3-2.9-.2-1-.3-2-.3-3.1 0-2.6 1.1-4 2.9-4.4-1.8-.5-2.9-1.8-2.9-4.4 0-1.1.1-2.1.3-3.1.2-1 .3-1.9.3-2.9 0-2.2-.8-3.5-3.2-3.5h-.7c-.6 0-1.1-.5-1.1-1.1 0-.6.5-1.1 1.1-1.1h3.8c3.4 0 5.9 1.6 5.9 5.3 0 1.1-.2 2.2-.3 3.4-.2 1.1-.3 2.3-.3 3.4 0 1.3.3 2.7 2.5 2.9h.1c.6 0 1.1.5 1.1 1.1s-.5 1-1.1 1.1H47c-2.2.3-2.5 1.8-2.5 2.9 0 1.1.2 2.2.3 3.3s.3 2.2.3 3.3c0 4.1-2.5 5.5-5.9 5.5h-3.8c-.6 0-1.1-.5-1.1-1.1.1-.6.6-1.1 1.2-1.1z\"}},\nmetrics:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M44.9 2H7.1C4.3 2 2 4.3 2 7.1v37.7C2 47.7 4.3 50 7.1 50h37.7c2.8 0 5.1-2.3 5.1-5.1V7.1c.1-2.8-2.2-5.1-5-5.1zM15.7 39.7c0 .9-.8 1.7-1.7 1.7h-1.7c-.9 0-1.7-.8-1.7-1.7v-9.4c0-.9.8-1.7 1.7-1.7H14c.9 0 1.7.8 1.7 1.7v9.4zm8.6 0c0 .9-.8 1.7-1.7 1.7h-1.7c-.9 0-1.7-.8-1.7-1.7V17.4c0-.9.8-1.7 1.7-1.7h1.7c.9 0 1.7.8 1.7 1.7v22.3zm8.6 0c0 .9-.8 1.7-1.7 1.7h-1.7c-.9 0-1.7-.8-1.7-1.7V12.3c0-.9.8-1.7 1.7-1.7h1.7c.9 0 1.7.8 1.7 1.7v27.4zm8.5 0c0 .9-.8 1.7-1.7 1.7H38c-.9 0-1.7-.8-1.7-1.7V23.4c0-.9.8-1.7 1.7-1.7h1.7c.9 0 1.7.8 1.7 1.7v16.3z\"}},\nmiddle_align:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"rect\":[{\"x\":\"22\",\"y\":\"2\",\"width\":\"6.4\",\"height\":\"48\",\"rx\":\"1.6\"},{\"data-name\":\"Rectangle\",\"x\":\"2\",\"y\":\"19\",\"width\":\"48\",\"height\":\"14.4\",\"rx\":\"3.2\"}]},\nminimize_window:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M50 48.5c0 .8-.7 1.5-1.5 1.5h-45c-.8 0-1.5-.7-1.5-1.5v-3c0-.8.7-1.5 1.5-1.5h45c.8 0 1.5.7 1.5 1.5v3z\"}},\nmissed_call:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M34.7 40.3c.7 0 1.2.5 1.4 1.1l.8 5.4c.2 1.5 1.4 2.6 2.9 2.8l6.5.7c2 .2 3.7-1.3 3.7-3.3v-6.2c0-1-.4-1.8-1.1-2.5-6.4-5.8-14.9-8.8-23-8.8s-16.6 3-23 8.8c-.6.6-.9 1.6-.9 2.5V47c-.2 2 1.5 3.6 3.5 3.3l6.5-.7c1.5-.2 2.7-1.3 2.9-2.8l.8-5.4c.1-.7.7-1.1 1.4-1.1 0 0 8.4-.7 17.6 0zM39.7 12.6c.5-.5 1.4-.1 1.4.6v6.7c0 .7.5 1.2 1.2 1.2h2.5c.7 0 1.2-.5 1.2-1.2l.1-16.1c0-.7-.5-1.2-1.2-1.2h-16c-.7 0-1.2.5-1.2 1.2v2.5c0 .7.5 1.2 1.2 1.2h6.7c.7 0 1.1.9.6 1.4l-9.4 9.4c-.3.3-.9.3-1.3 0L10.1 3c-.5-.5-1.3-.5-1.8 0L6.4 4.8c-.5.5-.5 1.3 0 1.9l18.8 18.9c.5.6 1.3.6 1.9 0l12.6-13z\"}},\nmoney:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M30.1 26.1c0-2.3 1.4-4.3 3.3-5.3-.3-3.9-3.5-6.9-7.5-6.9-4.1 0-7.5 3.4-7.5 7.5s3.4 7.5 7.5 7.5c1.5 0 3-.5 4.1-1.3v-1.5z\"},{\"d\":\"M30.1 36.4v-1.9c0-.7.1-1.3.3-1.9H12.8c0-2.9-2.3-5.3-5.3-5.3V16.1c2.9 0 5.3-2.3 5.3-5.3h26.3c0 2.9 2.3 5.3 5.3 5.3v4h3.8c.7 0 1.3.1 1.9.3V9.7c0-2.5-2-4.5-4.5-4.5H6.5C4 5.2 2 7.2 2 9.7v24.2c0 2.5 2 4.5 4.5 4.5h24c-.2-.6-.4-1.3-.4-2zM50 44.9c0 1-1 1.9-2 1.9H36c-1 0-1.9-.9-1.9-1.9V43c0-1 .9-1.9 1.9-1.9h12.1c1 0 1.9.9 1.9 1.9v1.9z\"},{\"d\":\"M50 36.5c0 1-1 1.9-2 1.9H36c-1 0-1.9-.9-1.9-1.9v-1.9c0-1 .9-1.9 1.9-1.9h12.1c1 0 1.9.9 1.9 1.9v1.9zM50 28c0 1-1 1.9-2 1.9H36c-1 0-1.9-.9-1.9-1.9v-1.9c0-1 .9-1.9 1.9-1.9h12.1c1 0 1.9.9 1.9 1.9V28z\"}]},\nmoneybag:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M20.5 9.1c.2.6.8.9 1.4.9H30c.6 0 1.2-.3 1.4-.9l3.2-5.9c.2-.6-.2-1.2-.8-1.2H18.2c-.6 0-1 .6-.7 1.1l3 6zM30.7 14.7h-9.4C13.4 14.7 7 21.2 7 29.2v16c0 2.6 2.1 4.8 4.8 4.8h28.4c2.6 0 4.8-2.2 4.8-4.8v-16c0-8-6.5-14.5-14.3-14.5zm-2.3 27v2.7c0 .5-.5.8-1 .8h-3.2c-.5 0-.6-.3-.6-.8v-2.6c-2.4-.5-4.4-1.5-4.9-2-.6-.6-.8-1.1-.3-1.8l1-1.6c.2-.4.7-.6 1.2-.6.3 0 .6.1.8.2h.1c1.6 1 3 1.4 4 1.4 1.1 0 2-.6 2-1.2 0-.5-.3-1.3-3.3-2.3-2.7-1-6-2.6-6-6.3 0-2.2 1.4-4.7 5.4-5.5v-2.4c0-.5.2-.8.6-.8h3.2c.5 0 1 .3 1 .8V22c1.6.4 3.3 1.2 3.9 1.6.3.2.5.6.6 1 .1.4-.1.8-.3 1L31.2 27c-.3.4-.9.7-1.3.7-.2 0-.5-.1-.7-.2-1.6-.9-2.9-1.4-3.8-1.4-1.3 0-1.9.6-1.9 1 0 .6.3 1.2 3 2.2 3.3 1.1 7 2.9 7 6.7.1 2.6-2 4.9-5.1 5.7z\"}},\nmonthlyview:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M44 7h-5V5c0-1.6-1.3-3-3-3-1.6 0-3 1.3-3 3v2H19V5c0-1.6-1.3-3-3-3-1.6 0-3 1.3-3 3v2H8c-2.2 0-4 1.8-4 4v2.5c0 .8.7 1.5 1.5 1.5h41c.8 0 1.5-.7 1.5-1.5V11c0-2.2-1.8-4-4-4zM46.5 20h-41c-.8 0-1.5.7-1.5 1.5V46c0 2.2 1.8 4 4 4h36c2.2 0 4-1.8 4-4V21.5c0-.8-.7-1.5-1.5-1.5zM21.1 44c-2.4 0-5.1-.9-5.9-2.2-.1-.2-.2-.4-.2-.7 0-.9.8-1.6 1.6-1.6.3 0 .6.1.9.2 1.1.6 2.4 1 3.5 1 2 0 3.1-.9 3.1-2.1 0-1.3-1-1.9-3.3-1.9-1.3.2-2.2-.4-2.2-1.6 0-.9.6-1.5 1.6-1.5 2.1.1 3.6-.4 3.6-1.8 0-1.3-1.3-1.9-3-1.9-1.1 0-2.2.3-3.2.9-.2.2-.5.2-.8.2-.8 0-1.5-.6-1.5-1.5 0-.4.2-.8.5-1.1 1.3-1.1 3.1-1.8 5.4-1.8 3.8 0 6.2 1.7 6.2 4.5 0 2.1-1.8 3.4-3.6 3.8 1.7.2 3.8 1.5 3.8 3.9C27.5 42 25 44 21.1 44zM37 42.1c0 .9-.5 1.9-1.5 1.9-.9 0-1.5-.9-1.5-1.9V31.8l-2.1 1.9c-.3.3-.7.4-1.1.4-.8 0-1.5-.6-1.5-1.5 0-.4.1-.7.4-1l3.8-3.8c.4-.4.9-.7 1.5-.7 1.1 0 2 1 2 2.1v12.9z\"}},\nmove:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M49.7 25.3l-8.3-9c-.6-.6-1.4-.1-1.4.9V23H30c-.6 0-1-.4-1-1V12h5.9c1 0 1.5-.9.9-1.4l-9-8.3c-.4-.3-1-.3-1.4 0l-9 8.3c-.6.6-.1 1.4.9 1.4H23v10c0 .6-.4 1-1 1H12v-5.9c0-1-.9-1.5-1.4-.9l-8.3 9c-.3.4-.3 1 0 1.4l8.3 9c.6.6 1.4.1 1.4-.9V29h10c.6 0 1 .4 1 1v10h-5.9c-1 0-1.5.9-.9 1.4l9 8.3c.4.3 1 .3 1.4 0l9-8.3c.6-.6.1-1.4-.9-1.4H29V30c0-.6.4-1 1-1h10v5.9c0 1 .9 1.5 1.4.9l8.3-9c.4-.5.4-1.1 0-1.5z\"}},\nmulti_picklist:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M44.4 2H18.8C16.2 2 14 4.2 14 6.8v.8c0 .5.3.8.8.8H38c2.6 0 4.8 2.2 4.8 4.8V38c0 .5.3.8.8.8h.8c2.6 0 4.8-2.2 4.8-4.8V6.8C49.2 4.2 47 2 44.4 2z\"},{\"d\":\"M33.2 13.2H7.6c-2.6 0-4.8 2.2-4.8 4.8v27.2C2.8 47.8 5 50 7.6 50h25.6c2.6 0 4.8-2.2 4.8-4.8V18c0-2.6-2.2-4.8-4.8-4.8zM14 42c0 .9-.7 1.6-1.6 1.6h-1.6c-.9 0-1.6-.7-1.6-1.6v-1.6c0-.9.7-1.6 1.6-1.6h1.6c.9 0 1.6.7 1.6 1.6V42zm0-9.6c0 .9-.7 1.6-1.6 1.6h-1.6c-.9 0-1.6-.7-1.6-1.6v-1.6c0-.9.7-1.6 1.6-1.6h1.6c.9 0 1.6.7 1.6 1.6v1.6zm0-9.6c0 .9-.7 1.6-1.6 1.6h-1.6c-.9 0-1.6-.7-1.6-1.6v-1.6c0-.9.7-1.6 1.6-1.6h1.6c.9 0 1.6.7 1.6 1.6v1.6zM31.6 42c0 .9-.7 1.6-1.6 1.6H18.9c-.9 0-1.6-.7-1.6-1.6v-1.6c0-.9.7-1.6 1.6-1.6H30c.9 0 1.6.7 1.6 1.6V42zm0-9.6c0 .9-.7 1.6-1.6 1.6H18.9c-.9 0-1.6-.7-1.6-1.6v-1.6c0-.9.7-1.6 1.6-1.6H30c.9 0 1.6.7 1.6 1.6v1.6zm0-9.6c0 .9-.7 1.6-1.6 1.6H18.9c-.9 0-1.6-.7-1.6-1.6v-1.6c0-.9.7-1.6 1.6-1.6H30c.9 0 1.6.7 1.6 1.6v1.6z\"}]},\nmulti_select_checkbox:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M44 2.5H19c-2.6 0-4.7 2.1-4.7 4.7V8c0 .5.3.8.8.8h22.7c2.6 0 4.7 2.1 4.7 4.7v24.3c0 .5.3.8.8.8h.7c2.6 0 4.7-2.1 4.7-4.7V7.2c0-2.6-2.1-4.7-4.7-4.7z\"},{\"d\":\"M33 13.5H8c-2.6 0-4.7 2.1-4.7 4.7v26.6c0 2.6 2.1 4.7 4.7 4.7h25c2.6 0 4.7-2.1 4.7-4.7V18.2c.1-2.6-2.1-4.7-4.7-4.7zm-2 13.3l-12 12c-.5.5-1 .7-1.6.7-.5 0-1.2-.2-1.6-.7L10 33c-.5-.5-.5-1.2 0-1.6l1.6-1.6c.5-.5 1.2-.5 1.6 0l4.2 4.2 10.3-10.3c.5-.5 1.2-.5 1.6 0l1.6 1.6c.5.3.5 1.1.1 1.5z\"}]},\nmuted:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M48.5 5.6l-2.1-2.1c-.6-.6-1.7-.5-2.4.3l-10 10V9.9C34 5.5 30.5 2 26.1 2h-.2C21.5 2 18 5.5 18 9.9v14.5c0 1.5.4 3 1.2 4.2l-3.5 3.5C14 30 13 27.3 13 24.4v-4c0-1.4-1.1-2.4-2.5-2.4S8 19 8 20.4v4c0 4.3 1.6 8.2 4.2 11.2L3.8 44c-.7.7-.8 1.8-.3 2.4l2.1 2.1c.6.6 1.7.5 2.4-.3L48.2 8c.8-.7.9-1.8.3-2.4zM39 23.2v1.2c0 7-5.8 12.8-13 12.8h-.9l-3.9 4.1c.8.2 1.8.4 2.8.6V45h-4.5c-1.4 0-2.5 1.1-2.5 2.5s1.1 2.5 2.5 2.5h13.1c1.4 0 2.5-1.1 2.5-2.5S33.9 45 32.5 45H28v-3.2c9-1.2 16-8.6 16-17.4v-4c0-.6-.3-1.2-.6-1.6L39 23.2z\"}},\nnew:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M43 9C33.6-.3 18.4-.3 9 9-.3 18.4-.3 33.6 9 43c9.4 9.4 24.6 9.4 33.9 0 9.4-9.4 9.4-24.6.1-34zm-1 19c0 .6-.4 1-1 1H30c-.5 0-1 .5-1 1v11c0 .5-.5 1-1 1h-4c-.6 0-1-.4-1-1V30c0-.6-.4-1-1-1H11c-.6 0-1-.4-1-1v-4c0-.5.5-1 1-1h11c.6 0 1-.4 1-1V11c0-.5.5-1 1-1h4c.5 0 1 .4 1 1v11c0 .6.4 1 1 1h11c.5 0 1 .5 1 1v4z\"}},\nnew_direct_message:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M45.5 17l-3.4 3.5c-.6.6-.9 1.3-.9 2.1V40c0 .8-.7 1.5-1.5 1.5h-27c-.8 0-1.5-.7-1.5-1.5V13c0-.8.7-1.5 1.5-1.5h17.5c.8 0 1.6-.3 2.1-.9l3.4-3.4c.6-.6.2-1.7-.7-1.7H9.2c-2.2 0-4 1.8-4 4v34c0 2.2 1.8 4 4 4h34c2.2 0 4-1.8 4-4V17.7c0-.9-1.1-1.3-1.7-.7z\"},{\"d\":\"M18.9 30.7l3.7 3.7c.2.2.4.2.6 0l19.4-19.9c.2-.2.2-.4 0-.6L39 10.3c-.2-.2-.4-.2-.6 0L18.9 30.1c-.2.2-.2.4 0 .6zM40.1 8.6c-.2.2-.2.4 0 .6l3.6 3.6c.2.2.4.2.6 0l2.5-2.5c.7-.6.7-1.6 0-2.3L45 6.2c-.7-.7-1.7-.7-2.4 0-.1 0-2.5 2.4-2.5 2.4zM15.6 36.9c-.1.4.3.8.7.7.6-.2 1.3-.3 1.9-.5.5-.1 1-.2 1.5-.4.5-.1 1-.2 1.4-.4.2-.1.6-.5.3-.8l-3.8-3.8c-.3-.3-.6 0-.7.2-.3.4-.4 1-.5 1.4-.1.5-.3 1-.4 1.5-.1.9-.2 1.5-.4 2.1z\"}]},\nnew_window:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M48.7 2H29.6c-.8 0-1.6.5-1.6 1.3v3c0 .8.7 1.7 1.6 1.7h7.9c.9 0 1.4 1 .7 1.6l-17 17c-.6.6-.6 1.5 0 2.1l2.1 2.1c.6.6 1.5.6 2.1 0l17-17c.6-.6 1.6-.2 1.6.7v7.9c0 .8.8 1.7 1.6 1.7h2.9c.8 0 1.5-.9 1.5-1.7v-19c0-.9-.5-1.4-1.3-1.4z\"},{\"d\":\"M36.3 25.5L32.9 29c-.6.6-.9 1.3-.9 2.1v11.4c0 .8-.7 1.5-1.5 1.5h-21c-.8 0-1.5-.7-1.5-1.5v-21c0-.8.7-1.5 1.5-1.5H21c.8 0 1.6-.3 2.1-.9l3.4-3.4c.6-.6.2-1.7-.7-1.7H6c-2.2 0-4 1.8-4 4v28c0 2.2 1.8 4 4 4h28c2.2 0 4-1.8 4-4V26.2c0-.9-1.1-1.3-1.7-.7z\"}]}},\nnews:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M50.5 6h-41C8.7 6 8 6.7 8 7.5V38c0 1.2-1.1 2.2-2.3 2-1-.2-1.7-1.1-1.7-2.1V16c0-.6-.4-1-1-1H1.5c-.8 0-1.5.7-1.5 1.5V42c0 2.2 1.8 4 4 4h44c2.2 0 4-1.8 4-4V7.5c0-.8-.7-1.5-1.5-1.5zM28 35c0 .6-.4 1-1 1H15c-.6 0-1-.4-1-1v-2c0-.6.4-1 1-1h12c.6 0 1 .4 1 1v2zm0-8c0 .6-.4 1-1 1H15c-.6 0-1-.4-1-1v-2c0-.6.4-1 1-1h12c.6 0 1 .4 1 1v2zm18 8c0 .6-.4 1-1 1H33c-.6 0-1-.4-1-1v-2c0-.6.4-1 1-1h12c.6 0 1 .4 1 1v2zm0-8c0 .6-.4 1-1 1H33c-.6 0-1-.4-1-1v-2c0-.6.4-1 1-1h12c.6 0 1 .4 1 1v2zm0-8c0 .6-.4 1-1 1H15c-.6 0-1-.4-1-1v-6c0-.6.4-1 1-1h30c.6 0 1 .4 1 1v6z\"}},\nnote:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M41.4 39.7l-.9.9c-1 1-2.3 1.5-3.7 1.5h-2.6c-2.4 0-5-1.9-5-5.2v-2.5c0-2 .9-3.2 1.4-3.9l10.8-11c.3-.3.6-1 .6-1.4V9.8C42 7.2 39.8 5 37.2 5H11.6C9 5 6.8 7.4 6.8 9.8H5.2C3.4 9.8 2 11.3 2 13.1s1.4 3.2 3.2 3.2h1.6v6.5H5.2C3.4 22.8 2 24.2 2 26s1.4 3.2 3.2 3.2h1.6v6.5H5.2c-1.8 0-3.2 1.5-3.2 3.2 0 1.8 1.4 3.2 3.2 3.2h1.6c0 3.2 2.2 4.8 4.8 4.8H37.2c2.6 0 4.8-2.2 4.8-4.8V40c0-.5-.2-.6-.6-.3zm-8.2-22.6c0 .9-.7 1.6-1.6 1.6h-16c-.9 0-1.6-.7-1.6-1.6v-1.6c0-.9.7-1.6 1.6-1.6h16c.9 0 1.6.7 1.6 1.6v1.6zM26 36.5c0 .9-.7 1.6-1.6 1.6h-8.8c-.9 0-1.6-.7-1.6-1.6v-1.6c0-.9.7-1.6 1.6-1.6h8.8c.9 0 1.6.7 1.6 1.6v1.6zm2.4-9.7c0 .9-.7 1.6-1.6 1.6H15.6c-.9 0-1.6-.7-1.6-1.6v-1.6c0-.9.7-1.6 1.6-1.6h11.2c.9 0 1.6.7 1.6 1.6v1.6z\"},{\"d\":\"M49.5 22.4l-1-1c-.6-.6-1.6-.6-2.2 0L34.1 34c-.1 0-.1.2-.1.2v2.7c0 .2 0 .4.2.4h2.6c.1 0 .2-.1.3-.1l12.3-12.4c.8-.7.8-1.7.1-2.4z\"}]},\nnotebook:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M44 2H14c-2.2 0-4 1.8-4 4v3H7c-1.7 0-3 1.3-3 3s1.3 3 3 3h3v8H7c-1.7 0-3 1.3-3 3s1.3 3 3 3h3v8H7c-1.7 0-3 1.3-3 3s1.3 3 3 3h3v3c0 2.2 1.8 4 4 4h30c2.2 0 4-1.8 4-4V6c0-2.2-1.8-4-4-4zm-7 34c0 .6-.4 1-1 1H22c-.6 0-1-.4-1-1v-2c0-.6.4-1 1-1h14c.6 0 1 .4 1 1v2zm2-8c0 .6-.4 1-1 1H20c-.6 0-1-.4-1-1v-2c0-.6.4-1 1-1h18c.6 0 1 .4 1 1v2zm2-10c0 .6-.4 1-1 1H18c-.6 0-1-.4-1-1v-6c0-.6.4-1 1-1h22c.6 0 1 .4 1 1v6z\"}},\nnotification:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M46 33h-.5c-1.9 0-3.5-1.6-3.5-3.5V18c0-9.1-7.6-16.4-16.8-16C16.6 2.4 10 9.8 10 18.5v11.1c0 1.9-1.6 3.4-3.5 3.4H6c-2.2 0-4 1.9-4 4.1v1.5c0 .7.7 1.4 1.5 1.4h45c.8 0 1.5-.7 1.5-1.5V37c0-2.2-1.8-4-4-4zM30.9 44h-9.8c-.6 0-1.1.6-1 1.2.5 2.8 3 4.8 5.9 4.8s5.4-2.1 5.9-4.8c.1-.6-.4-1.2-1-1.2z\"}}},\nnumber_input:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M44.8 49.5H7.2c-2.6 0-4.7-2.1-4.7-4.7V7.2c0-2.6 2.1-4.7 4.7-4.7h37.6c2.6 0 4.7 2.1 4.7 4.7v37.6c0 2.6-2.1 4.7-4.7 4.7zm-36-39.2v31.3c0 .9.7 1.6 1.6 1.6h31.3c.9 0 1.6-.7 1.6-1.6V10.3c0-.9-.7-1.6-1.6-1.6H10.4c-.9.1-1.6.8-1.6 1.6z\"},{\"d\":\"M36.2 20.3h-2.9l1.2-4.8v-.1c0-.2-.1-.4-.4-.4h-2.3c-.2 0-.3.1-.4.3l-1.2 4.9h-5.8l1.2-4.8v-.1c0-.2-.1-.4-.4-.4h-2.3c-.2 0-.3.1-.4.3l-1.3 4.9H18c-.2 0-.3.1-.4.3l-.6 2.2v.1c0 .2.1.4.4.4h3L19 28.7h-3.1c-.2 0-.3.1-.4.3l-.6 2.2v.1c0 .2.1.4.4.4h2.9L17 36.5v.1c0 .2.1.4.4.4h2.3c.2 0 .3-.1.4-.3l1.3-5h5.7L26 36.4v.1c0 .2.1.4.4.4h2.3c.2 0 .3-.1.4-.3l1.3-5h3.2c.2 0 .3-.1.4-.3l.6-2.2V29c0-.2-.1-.4-.4-.4h-3l1.4-5.6h3.1c.2 0 .3-.1.4-.3l.6-2.2v-.1c-.1.1-.3-.1-.5-.1zm-8.1 8.5h-5.8l1.4-5.6h5.7l-1.3 5.6z\"}]},\noffice365:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M6 40.6z\"},\"g\":{\"path\":{\"d\":\"M30.8 49.5c.6.2 1.3.2 1.9 0l11.9-3.9c.8-.3 1.4-1 1.4-1.9v-36c0-.6-.4-1.2-1-1.4L32.9 2.2c-.7-.2-1.4-.2-2 0L7 11.4c-.6.2-1 .8-1 1.4v27.1c0 .6.4 1.2 1 1.4l23.8 8.2zm1.2-6.7c0 .6-.5 1.1-1 1l-20-2.7c-.5-.1-.9-.5-.9-1v-.4c0-.4.2-.7.7-.9l3.8-1.8c.4-.2.6-.5.6-.9V14.8c0-.5.3-.9.8-1l15-3.4c.6-.1 1.2.3 1.2 1v31.4z\"}}},\noffline:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M34.7 36.1c.5-.5.5-1.3 0-1.8l-1.8-1.8c-.5-.5-1.3-.5-1.8 0l-4.4 4.4c-.3.3-.9.3-1.2 0l-4.4-4.4c-.5-.5-1.3-.5-1.8 0l-1.8 1.8c-.5.5-.5 1.3 0 1.8l4.4 4.4c.3.3.3.9 0 1.2l-4.4 4.4c-.5.5-.5 1.3 0 1.8l1.8 1.8c.5.5 1.3.5 1.8 0l4.4-4.4c.3-.3.9-.3 1.2 0l4.4 4.4c.5.5 1.3.5 1.8 0l1.8-1.8c.5-.5.5-1.3 0-1.8l-4.4-4.4c-.3-.3-.3-.9 0-1.2l4.4-4.4zM47.7 11.6c-5.5-6.1-13.3-9.5-21.6-9.5S10 5.5 4.5 11.6c-.4.4-.3 1.1.1 1.4l3 2.6c.4.4 1 .3 1.4-.1 4.4-4.7 10.6-7.4 17.1-7.4s12.7 2.7 17.1 7.4c.4.4 1 .4 1.4.1l3-2.6c.4-.4.5-1 .1-1.4zM26.1 16.1c-4.2 0-8.2 1.8-11 5-.4.4-.3 1.1.1 1.5l3.2 2.4c.4.3 1 .3 1.3-.1 1.7-1.8 4-2.8 6.4-2.8s4.7 1 6.3 2.7c.3.4.9.4 1.3.1l3.2-2.4c.5-.4.5-1 .1-1.5-2.7-3.1-6.7-4.9-10.9-4.9z\"}}},\noffline_briefcase:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M45.2 14.9H6.8A4.77 4.77 0 002 19.6v25.6A4.87 4.87 0 006.8 50h38.4a4.87 4.87 0 004.8-4.8V19.6a4.77 4.77 0 00-4.8-4.7zM17.4 29.8l1.4-1.4a1 1 0 011.4 0l2.4 2.4a.63.63 0 00.9 0 .61.61 0 00.2-.52V21.6a1.08 1.08 0 011-1H27a1 1 0 011 1v8.7a.65.65 0 001.1.5l2.4-2.4a1 1 0 011.4 0l1.4 1.4a1 1 0 010 1.4l-7.8 7.6a1 1 0 01-1.4 0l-7.7-7.6a1 1 0 010-1.4zm17.8 14a1 1 0 01-1 1H17.8a1 1 0 01-1-1v-2.1a1 1 0 011-1h16.4a1 1 0 011 1zM15.7 10h3.2a.74.74 0 00.8-.67V6.8h12.7v2.4a.74.74 0 00.67.8h3.33a.74.74 0 00.8-.67V6.8A4.87 4.87 0 0032.4 2H19.7a4.8 4.8 0 00-4.8 4.8v2.4a.74.74 0 00.67.8z\"}},\noffline_cached:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M38.6 20.4c-1-6.5-6.7-11.5-13.5-11.5-7.6 0-13.7 6.1-13.7 13.7 0 .3 0 .7.1 1-5 .4-8.9 4.6-8.9 9.6 0 5.4 4.3 9.7 9.7 9.7h11.5l-8.1-8.1c-.4-.4-.4-.9 0-1.3l1.3-1.3c.4-.4.9-.4 1.3 0l3.5 3.5c.4.4 1.1.1 1.1-.4V21.8c0-.4.5-.9 1-.9h1.9c.5 0 .9.4.9.9v13.4c0 .6.8.8 1.1.4l3.5-3.5c.4-.4.9-.4 1.3 0l1.3 1.3c.4.4.4.9 0 1.3L26 42.9h12.3c6.1-.1 11-5.1 11-11.3.1-6.1-4.7-11-10.7-11.2z\"}},\nomni_channel:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M47.2 2.7H34.6c-.8 0-1.1.7-.4 1.4l4 4 .5.5-7.5 7.4c-.6.6-.6 1.6-.1 2.2 0 0 5.1 5.2 4.6 11.1 0 8.4-6.1 15.1-14.5 15.1-6.2.6-11.1-5.1-11.1-5.1-.6-.6-1.5-.6-2.1 0L4.3 43c-.6.6-.6 1.5 0 2.1l1.2 1.2c.6.6 1.5.6 2.1 0L9 45c3.4 2.7 7.7 4.2 12.3 4.2 11 0 19.9-8.9 19.9-19.9 0-4.6-1.6-8.9-4.2-12.3l5.1-5.1.7.7 4 4c.6.7 1.4.4 1.4-.4V3.6c-.1-.5-.5-.9-1-.9z\"},\"circle\":{\"cx\":\"21.1\",\"cy\":\"29.5\",\"r\":\"9.9\"}},\nopen:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M8 35v-.6.6z\"},\"g\":{\"path\":[{\"d\":\"M46 2H6C3.8 2 2 3.8 2 6v36c0 2.2 1.8 4 4 4h12c.6 0 1-.4 1-1v-4c0-.6-.4-1-1-1H9.5c-.8 0-1.5-.7-1.5-1.5v-25c0-.8.7-1.5 1.5-1.5h33c.8 0 1.5.7 1.5 1.5v25c0 .8-.7 1.5-1.5 1.5H34c-.6 0-1 .4-1 1v4c0 .6.4 1 1 1h12c2.2 0 4-1.8 4-4V6c0-2.2-1.8-4-4-4z\"},{\"d\":\"M37.5 34.6l2.1-2.1c.6-.6.6-1.5 0-2.1L27 17.8c-.6-.6-1.5-.6-2.1 0L12.4 30.3c-.6.6-.6 1.5 0 2.1l2.1 2.1c.6.6 1.5.6 2.1 0l4.6-4.6c.6-.6 1.8-.2 1.8.7v17.9c0 .8.6 1.5 1.4 1.5h3c.8 0 1.6-.7 1.6-1.5V30.6c0-.9 1-1.3 1.7-.7l4.6 4.7c.6.5 1.6.5 2.2 0z\"}]}},\nopen_folder:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M46 14H23.3c-1.4 0-2.7-.8-3.5-2l-3.5-6c-.7-1.2-2-2-3.5-2H6C3.8 4 2 5.8 2 8v36c0 2.2 1.8 4 4 4h40c2.2 0 4-1.8 4-4V18c0-2.2-1.8-4-4-4z\"},{\"d\":\"M46 6H21.9c-.4 0-.6.4-.4.7l1.6 2.7c.2.4.5.6.9.6h22c1.1 0 2.2.2 3.1.6.4.2.9-.1.9-.6 0-2.2-1.8-4-4-4z\"}]}},\nopened_folder:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M44 15c0-2.2-1.8-4-4-4H25.3c-1.8 0-3.5-2-3.5-2l-2.5-3s-1.2-2-3.5-2H12C9.8 4 8 5.8 8 8v9h36v-2zM46.9 21H5.1c-2 0-3.5 1.9-3 3.8l5.7 21c.4 1.3 1.6 2.2 3 2.2h30.5c1.4 0 2.7-.9 3-2.2l5.7-21c.4-1.9-1.1-3.8-3.1-3.8z\"}}},\norchestrator:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M36.4 3.14a1.62 1.62 0 00-2.24-1 1.65 1.65 0 00-.59 2.38l7.28 18.18c.45.95 1.28 1.51 2.21 1.06a1.76 1.76 0 00.63-2.47zM26.2 15.75c4.11 0 7.41 3.74 7.41 8.37s-3.3 8.37-7.41 8.37-7.41-3.74-7.41-8.37 3.3-8.37 7.41-8.37zM9.11 34.34l10.67 1.2L22.24 50h-3a1.87 1.87 0 01-1.79-1.39l-2.18-7.84-9.09-1a4.77 4.77 0 01-3.88-6.3L7 19.79A2.79 2.79 0 0110.52 18a2.86 2.86 0 011.73 3.63L8.33 33.09a.94.94 0 00.78 1.25zM33.36 50h-3.2l2.43-14.29 10.09 1.91a.94.94 0 001.08-1.14l-1.42-6.4a2.85 2.85 0 012.07-3.44 2.8 2.8 0 013.38 2.1L49.87 38a4.73 4.73 0 01-5.38 5.8l-7.7-1.46-1.62 6.27A1.87 1.87 0 0133.36 50zM23.31 37.29a1.1 1.1 0 01-1.68-.95v-1.77a1.1 1.1 0 011.68-1l2.89 1.83zM26.2 35.45l2.88-1.83a1.1 1.1 0 011.69 1v1.77a1.11 1.11 0 01-1.69.95z\"}},\norg_chart:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"rect\":[{\"x\":\"34.78\",\"y\":\"2.83\",\"width\":\"13.16\",\"height\":\"13.15\",\"rx\":\"1.21\"},{\"x\":\"34.78\",\"y\":\"35.52\",\"width\":\"13.16\",\"height\":\"13.15\",\"rx\":\"1.21\"}],\"path\":{\"d\":\"M46.73 19.18H36a1.2 1.2 0 00-1.2 1.2v3.71h-7.38l-.16-14.65A1.5 1.5 0 0025.76 8H15.65V4a1.22 1.22 0 00-1.2-1.21H3.71A1.21 1.21 0 002.5 4v10.78A1.21 1.21 0 003.7 16h10.75a1.22 1.22 0 001.2-1.21V11h8.62l.17 14.64a1.51 1.51 0 001.5 1.49h8.84v4a1.21 1.21 0 001.22 1.2h10.73a1.22 1.22 0 001.2-1.21V20.38a1.2 1.2 0 00-1.2-1.2z\"}},\noutbound_call:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M48.5 37.9L42.4 33c-1.4-1.1-3.4-1.2-4.8-.1l-5.2 3.8c-.6.5-1.5.4-2.1-.2l-7.8-7-7-7.8c-.6-.6-.6-1.4-.2-2.1l3.8-5.2c1.1-1.4 1-3.4-.1-4.8l-4.9-6.1c-1.5-1.8-4.2-2-5.9-.3L3 8.4c-.8.8-1.2 1.9-1.2 3 .5 10.2 5.1 19.9 11.9 26.7S30.2 49.5 40.4 50c1.1.1 2.2-.4 3-1.2l5.2-5.2c1.9-1.5 1.8-4.3-.1-5.7z\"},{\"d\":\"M48.4 2H33c-1 0-1.3 1.1-.5 1.9l4.9 5-9 9.1c-.5.5-.5 1.4 0 1.9l3.7 3.7c.5.5 1.3.5 1.9 0l9.1-9.1 5.1 4.9c.7.9 1.8.6 1.8-.4V3.7C50 3 49.1 2 48.4 2z\"}]}},\noutcome:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M36.2 11.6l-.1-.1c-.6-.5-1.5-.5-2 .1l-2.2 2.1c-.6.6-.5 1.5 0 2l5.6 5.6c.2.2.3.4.3.7 0 .6-.4 1.1-1 1.1H15.6c-.8 0-1.5.6-1.5 1.4v3c.1.8.7 1.5 1.5 1.6h21.3c.2 0 .4.1.5.2.5.4.5 1 .2 1.5L32 36.5c-.6.6-.5 1.5 0 2l2.1 2.2c.6.6 1.5.5 2 0l13.5-13.5c.6-.6.5-1.5 0-2L36.2 11.6z\"},{\"d\":\"M21.1 17.2h3c.8 0 1.5-.7 1.5-1.5V6.1c0-2.2-1.8-4-4-4H6.1c-2.2 0-4 1.8-4 4v40c0 2.2 1.8 4 4 4h15.4c2.2 0 4-1.8 4-4v-9.5c0-.8-.7-1.5-1.5-1.5h-3c-.8 0-1.5.7-1.5 1.5v5.9c0 .8-.7 1.5-1.5 1.5H9.6c-.8 0-1.5-.7-1.5-1.5v-33c0-.8.7-1.5 1.5-1.5H18c.8 0 1.5.7 1.5 1.5v6.1c.1.9.7 1.6 1.6 1.6z\"}]},\noverflow:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M37.3 9.9H15.8c-2.1 0-3.7 1.7-3.7 3.7v.6c0 .3.3.6.6.6h19.6c2.1 0 3.7 1.7 3.7 3.7v22.1c0 .3.3.6.6.6h.6c2.1 0 3.7-1.7 3.7-3.7V13.6c.1-2-1.6-3.7-3.6-3.7z\"},{\"d\":\"M45.3 2H23.8c-2.1 0-3.7 1.7-3.7 3.7v.6c0 .3.3.6.6.6h19.6c2.1 0 3.7 1.7 3.7 3.7v22.1c0 .3.3.6.6.6h.6c2.1 0 3.7-1.7 3.7-3.7V5.7c.1-2-1.6-3.7-3.6-3.7z\"},{\"d\":\"M32.6 21.8c0-2-1.7-3.7-3.7-3.7H6.7c-2.1 0-3.7 1.7-3.7 3.7v24.5c0 2 1.7 3.7 3.7 3.7h22.2c2.1 0 3.7-1.7 3.7-3.7V21.8z\"}]},\npackage:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M44.4 24h-7.9l-3.3 4H44v6H8v-6h10.7l-3.3-4H7.6c-2 0-3.6 1.6-3.6 3.6V47c0 1.7 1.3 3 3 3h38c1.7 0 3-1.3 3-3V27.6c0-2-1.6-3.6-3.6-3.6z\"},{\"d\":\"M23 3.5V16h-6.9c-1 0-1.5.9-.9 1.4l10 12.3c.4.3 1 .3 1.4 0l10-12.3c.6-.6.1-1.4-.9-1.4H29V3.5c0-.8-.7-1.5-1.5-1.5h-3c-.8 0-1.5.7-1.5 1.5z\"}]},\npackage_org:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M44.4 23H31.9l-4 4H44v6H8v-6h8.1l-4-4H7.6c-2 0-3.6 1.6-3.6 3.6V46c0 1.7 1.3 3 3 3h38c1.7 0 3-1.3 3-3V26.6c0-2-1.6-3.6-3.6-3.6z\"},{\"d\":\"M20.6 25.8c.8.8 2 .8 2.8 0l19-19c.4-.4.4-1 0-1.4l-2.8-2.8c-.4-.4-1-.4-1.4 0L22 18.8l-6.7-6.7c-.4-.4-1-.4-1.4 0l-2.8 2.8c-.4.4-.4 1 0 1.4l9.5 9.5z\"}]},\npackage_org_beta:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M44.4 23h-5.8c-.4 1.5-1.1 2.8-2.1 4H44v6H8v-6h6v-4H7.6c-2 0-3.6 1.6-3.6 3.6V46c0 1.7 1.3 3 3 3h38c1.7 0 3-1.3 3-3V26.6c0-2-1.6-3.6-3.6-3.6z\"},{\"d\":\"M35 9.9C35 6 31.6 3 27.8 3h-8.3c-.8 0-1.5.7-1.5 1.5v21c0 .8.7 1.5 1.5 1.5H28c3.9 0 7-3.2 6.9-7.1 0-1.9-.8-3.6-2.1-4.8 1.4-1.4 2.2-3.2 2.2-5.2zM22 7h6c1.6 0 3 1.3 3 3 0 1.6-1.3 3-3 3h-6V7zm9 13c0 1.6-1.3 3-3 3h-6v-6h6c1.7 0 3 1.3 3 3z\"}]},\npage:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M44.4 19H33.2c-2.6 0-4.2-1.6-4.2-4.2V3.6c0-.9-.7-1.6-1.6-1.6H10.8C8.2 2 6 4.2 6 6.8v38.4c0 2.6 2.2 4.8 4.8 4.8h30.4c2.6 0 4.8-2.2 4.8-4.8V20.6c0-.9-.7-1.6-1.6-1.6z\"},{\"d\":\"M45.7 12.9L35.1 2.3c-.2-.2-.6-.3-.9-.3-.6 0-1.2.5-1.2 1.1v8.5c0 1.8 1.6 3.4 3.4 3.4h8.5c.6 0 1.1-.6 1.1-1.2 0-.3-.1-.7-.3-.9z\"}]},\npalette:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M49.5 17.3C47.2 7.8 37.2 2 26.2 2 12.8 2 2 12.7 2 26s10.8 24 24.2 24c18.6 0 17.1-9.4 11.2-13.1-3.5-2.2-5.4-7.3-1.9-10.9 6.5-6.7 17 4 14-8.7zM13 34c-2.8 0-5-2.2-5-5s2.2-5 5-5 5 2.2 5 5-2.2 5-5 5zm1-19c0-2.8 2.2-5 5-5s5 2.2 5 5-2.2 5-5 5-5-2.2-5-5zm11 29c-2.8 0-5-2.2-5-5s2.2-5 5-5 5 2.2 5 5-2.2 5-5 5zm9-26c-2.8 0-5-2.2-5-5s2.2-5 5-5 5 2.2 5 5-2.2 5-5 5z\"}},\npassword:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M44.8 49.5H7.2c-2.6 0-4.7-2.1-4.7-4.7V7.2c0-2.6 2.1-4.7 4.7-4.7h37.6c2.6 0 4.7 2.1 4.7 4.7v37.6c0 2.5-2.1 4.7-4.7 4.7zM8.9 10.3v31.3c0 .9.7 1.6 1.6 1.6h31.2c.9 0 1.6-.7 1.6-1.6V10.3c0-.9-.7-1.6-1.6-1.6H10.4c-.8.1-1.5.8-1.5 1.6z\"},{\"d\":\"M38.8 23.8l-.9-3c-.3-.8-1.1-1.3-2-1L29.1 22v-6.7c0-.9-.7-1.6-1.6-1.6h-3.1c-.9 0-1.6.7-1.6 1.6V22l-6.6-2.2c-.8-.3-1.7.2-2 1l-.9 3c-.3.8.2 1.7 1 2l6.2 2-4.5 6.1c-.5.7-.3 1.7.4 2.2l2.6 1.8c.7.5 1.7.3 2.2-.4l4.9-6.8 4.9 6.8c.5.7 1.5.9 2.2.4l2.6-1.8c.7-.5.9-1.5.4-2.2l-4.5-6.2 6.1-2c.8-.2 1.2-1 1-1.9z\"}]},\npaste:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M17.5 12h17c.8 0 1.5-.7 1.5-1.5V6c0-2.2-1.8-4-4-4H20c-2.2 0-4 1.8-4 4v4.5c0 .8.7 1.5 1.5 1.5z\"},{\"d\":\"M44 6h-2.5c-.8 0-1.5.7-1.5 1.5V12c0 2.2-1.8 4-4 4H16c-2.2 0-4-1.8-4-4V7.5c0-.8-.7-1.5-1.5-1.5H8c-2.2 0-4 1.8-4 4v36c0 2.2 1.8 4 4 4h36c2.2 0 4-1.8 4-4V10c0-2.2-1.8-4-4-4zm-6 35c0 .6-.4 1-1 1H15c-.6 0-1-.4-1-1v-2c0-.6.4-1 1-1h22c.6 0 1 .4 1 1v2zm0-8c0 .6-.4 1-1 1H15c-.6 0-1-.4-1-1v-2c0-.6.4-1 1-1h22c.6 0 1 .4 1 1v2zm0-8c0 .6-.4 1-1 1H15c-.6 0-1-.4-1-1v-2c0-.6.4-1 1-1h22c.6 0 1 .4 1 1v2z\"}]}},\npause:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M30 43c0 1 .9 2 2 2h4c1.1 0 2-1.1 2-2V9c0-1-.9-2-2-2h-4c-1.1 0-2 1.1-2 2v34zM14 43c0 1 .9 2 2 2h4c1.1 0 2-1.1 2-2V9c0-1-.9-2-2-2h-4c-1.1 0-2 1.1-2 2v34z\"}},\npause_alt:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M9.009 8.977c9.395-9.303 24.587-9.303 33.982 0 9.295 9.402 9.395 24.706 0 34.009s-24.687 9.402-33.982 0c-9.295-9.403-9.395-24.707 0-34.01zm16.991-1c-9.895 0-17.99 8.102-17.99 18.004 0 9.903 8.095 18.005 17.99 18.005 9.995 0 17.99-8.002 17.99-18.005S35.896 7.977 26 7.977zM21.75 15c.966 0 1.75.895 1.75 2v18c0 1.105-.784 2-1.75 2h-3.5c-.966 0-1.75-.895-1.75-2V17c0-1.105.784-2 1.75-2zm12 0c.966 0 1.75.895 1.75 2v18c0 1.105-.784 2-1.75 2h-3.5c-.966 0-1.75-.895-1.75-2V17c0-1.105.784-2 1.75-2z\",\"fill-rule\":\"evenodd\"}},\npayment_gateway:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M19.56 6.29a17.94 17.94 0 000 35.87h.8V27.94c0-1.06.81-2.42 1.88-2.42h15.2c0-.59.06-1 .06-1.32A18 18 0 0019.56 6.29zm14.32 16.4h-4.62a26.74 26.74 0 00-2.54-10.76 14.52 14.52 0 017.16 10.76zM17.51 10.9v11.79h-4.1c.31-5.62 2.08-10.06 4.1-11.79zm0 14.86v11.78c-2-1.73-3.79-6.15-4.1-11.78zm4.1-3.07V10.9c2 1.73 3.8 6.17 4.1 11.79zm-9.22-10.76a27.62 27.62 0 00-2.53 10.76H5.21a14.48 14.48 0 017.18-10.76zM5.22 26.27h4.65A26.74 26.74 0 0012.39 37a14.5 14.5 0 01-7.17-10.73z\",\"fill-rule\":\"evenodd\"},{\"d\":\"M47.5 28.56H25.73a2.5 2.5 0 00-2.5 2.5v12.15a2.5 2.5 0 002.5 2.5H47.5a2.5 2.5 0 002.5-2.5V31.06a2.5 2.5 0 00-2.5-2.5zM28.66 43.21a2.92 2.92 0 00-2.84-3h-.08V34a2.93 2.93 0 003-2.84v-.07h15.81A2.91 2.91 0 0047.42 34h.08v6.25a2.93 2.93 0 00-3 2.86v.09z\",\"fill-rule\":\"evenodd\"}],\"circle\":{\"cx\":\"36.61\",\"cy\":\"36.92\",\"r\":\"4.2\"}}},\npdf_ext:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M28.6 11.4h5.1a1.11 1.11 0 001.1-1.1 1.32 1.32 0 00-.3-.8l-7.2-7.1a.89.89 0 00-.7-.3 1.11 1.11 0 00-1.1 1.1v5.1a3.12 3.12 0 003.1 3.1zM49.83 32.45A1.43 1.43 0 0048.44 31h-12A1.43 1.43 0 0035 32.44v1.44a1.43 1.43 0 001.4 1.44h6.14l-11 11a1.42 1.42 0 000 2l1 1a1.54 1.54 0 001.09.45 1.32 1.32 0 00.94-.38l11-11v6A1.43 1.43 0 0047 45.83h1.53a1.43 1.43 0 001.47-1.4zM18.35 20.68h-1.46v4.93h1.46a1.56 1.56 0 001.56-1.1 3.93 3.93 0 00.24-1.44 3.61 3.61 0 00-.36-1.77 1.53 1.53 0 00-1.44-.62zM11.29 20.93a1.27 1.27 0 00-.84-.25H9v2.23h1.46a1.18 1.18 0 00.84-.28 1.09 1.09 0 00.3-.86 1 1 0 00-.33-.84z\"},{\"d\":\"M33.24 16H25.4a4.67 4.67 0 01-4.7-4.6V3.6a1.42 1.42 0 00-1.34-1.5H6.8a4.67 4.67 0 00-4.7 4.6v29.4a4.6 4.6 0 004.62 4.6H24.6v-.1a15.92 15.92 0 0110.2-14.9v-8.1a1.58 1.58 0 00-1.56-1.6zm-20.75 7.65a2.93 2.93 0 01-1.89.56H9v2.71H7.49v-7.55h3.24a2.64 2.64 0 011.76.63 2.3 2.3 0 01.66 1.8 2.35 2.35 0 01-.66 1.85zm8.66 1.9A2.73 2.73 0 0118.62 27h-3.26v-7.63h3.26a3.85 3.85 0 011.17.17 2.49 2.49 0 011.28.95 3.43 3.43 0 01.54 1.22 5.6 5.6 0 01.14 1.29 5 5 0 01-.6 2.55zm7.92-4.84h-3.81v1.74h3.34v1.31h-3.34v3.16h-1.57v-7.54h5.38z\"}]}},\npeople:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M42 22.3c-2.8-1.1-3.2-2.2-3.2-3.3s.8-2.2 1.8-3c1.7-1.4 2.6-3.5 2.6-5.8 0-4.4-2.9-8.2-8-8.2-4.7 0-7.5 3.2-7.9 7.1 0 .4.2.7.5.9 3.8 2.4 6.1 6.6 6.1 11.7 0 3.8-1.5 7.2-4.2 9.6-.2.2-.2.6 0 .8.7.5 2.3 1.2 3.3 1.7.3.1.5.2.8.2h12.1c2.3 0 4.1-1.9 4.1-4v-.6c0-3.5-3.8-5.4-8-7.1z\"},{\"d\":\"M28.6 36.2c-3.4-1.4-3.9-2.6-3.9-3.9 0-1.3 1-2.6 2.1-3.6 2-1.7 3.1-4.1 3.1-6.9 0-5.2-3.4-9.7-9.6-9.7-6.1 0-9.6 4.5-9.6 9.7 0 2.8 1.1 5.2 3.1 6.9 1.1 1 2.1 2.3 2.1 3.6 0 1.3-.5 2.6-4 3.9-5 2-9.9 4.3-9.9 8.5V46c0 2.2 1.8 4 4.1 4h27.7c2.3 0 4.2-1.8 4.2-4v-1.4c0-4.1-4.4-6.4-9.4-8.4z\"}]}},\npercent:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M39.55 26A10.5 10.5 0 1050 36.5 10.5 10.5 0 0039.55 26zm0 16.14a5.65 5.65 0 115.6-5.64 5.64 5.64 0 01-5.6 5.64zM23 15.5a10.48 10.48 0 10-3.07 7.43A10.5 10.5 0 0023 15.5zm-10.5 5.64a5.65 5.65 0 114-1.65 5.63 5.63 0 01-4.01 1.65zm26.71-15A.8.8 0 0038.49 5h-3a.83.83 0 00-.64.4l-22 40.41a.78.78 0 000 .78.79.79 0 00.68.39h3a.8.8 0 00.64-.4l22-40.41z\"}},\nphone_landscape:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M52 13c0-2.2-1.8-4-4-4H4c-2.2 0-4 1.8-4 4v26c0 2.2 1.8 4 4 4h44c2.2 0 4-1.8 4-4V13zM5 29c-1.7 0-3-1.3-3-3s1.3-3 3-3 3 1.3 3 3-1.3 3-3 3zm39 6.5c0 .8-.7 1.5-1.5 1.5h-31c-.8 0-1.5-.7-1.5-1.5v-19c0-.8.7-1.5 1.5-1.5h31c.8 0 1.5.7 1.5 1.5v19z\"}},\nphone_portrait:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M43 4c0-2.2-1.8-4-4-4H13c-2.2 0-4 1.8-4 4v44c0 2.2 1.8 4 4 4h26c2.2 0 4-1.8 4-4V4zM26 50c-1.7 0-3-1.3-3-3s1.3-3 3-3 3 1.3 3 3-1.3 3-3 3zm11-9.5c0 .8-.7 1.5-1.5 1.5h-19c-.8 0-1.5-.7-1.5-1.5v-31c0-.8.7-1.5 1.5-1.5h19c.8 0 1.5.7 1.5 1.5v31z\"}},\nphoto:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M26 20c-4.4 0-8 3.6-8 8s3.6 8 8 8 8-3.6 8-8-3.6-8-8-8z\"},{\"d\":\"M46 14h-5.2c-1.4 0-2.6-.7-3.4-1.8l-2.3-3.5C34.4 7 32.7 6 30.9 6h-9.8c-1.8 0-3.5 1-4.3 2.7l-2.3 3.5c-.7 1.1-2 1.8-3.4 1.8H6c-2.2 0-4 1.8-4 4v24c0 2.2 1.8 4 4 4h40c2.2 0 4-1.8 4-4V18c0-2.2-1.8-4-4-4zM26 40c-6.6 0-12-5.4-12-12s5.4-12 12-12 12 5.4 12 12-5.4 12-12 12z\"}]}},\npicklist:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M48 41c1.1 0 2-.9 2-2V13c0-1.1-.9-2-2-2H4c-1.1 0-2 .9-2 2v26c0 1.1.9 2 2 2h44zM6 37V15h40v22H6z\"},{\"d\":\"M32.5 23h9.3c.3 0 .4.3.2.5l-4.6 5.3c-.2.2-.5.2-.7 0l-4.6-5.3c-.1-.2.1-.5.4-.5z\"}]},\npicklist_choice:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M6.9 33.7H3.7c-.9 0-1.6.7-1.6 1.6v3.2c0 .9.7 1.6 1.6 1.6H7c.9-.1 1.5-.8 1.4-1.6v-3.2c.1-.9-.6-1.6-1.5-1.6zM16.5 11.8h31.6c.9 0 1.6-.7 1.6-1.6V7c0-.9-.7-1.6-1.6-1.6H16.5c-.9 0-1.6.7-1.6 1.6v3.2c0 .9.7 1.6 1.6 1.6zM16.5 26h31.6c.9 0 1.6-.7 1.6-1.6v-3.2c0-.9-.7-1.6-1.6-1.6H16.5c-.9 0-1.6.7-1.6 1.6v3.2c0 .8.7 1.6 1.6 1.6zM6.9 5.4H3.7c-.9 0-1.6.7-1.6 1.6v3.2c0 .9.7 1.6 1.6 1.6H7c.9-.1 1.5-.8 1.4-1.6V6.9c.1-.8-.6-1.5-1.5-1.5zM6.9 19.5H3.7c-.9 0-1.6.7-1.6 1.6v3.2c0 .9.7 1.6 1.6 1.6H7c.9-.1 1.5-.8 1.4-1.6v-3.2c.1-.8-.6-1.6-1.5-1.6zM20.9 39.7c0-1.8.6-3.6 1.7-5v-.5-.6h-6.1c-.9 0-1.6.7-1.6 1.6v3.2c0 .9.7 1.6 1.6 1.6h4.4v-.3zM35.2 31.4c.8-.8 1.9-1.3 3.2-1.3 1.7 0 3.1.9 3.9 2.2.6-.2 1.4-.5 2.2-.5 2.9 0 5.4 2.5 5.4 5.3 0 2.9-2.5 5.3-5.4 5.3-.3 0-.7 0-1-.1-.6 1.2-2 2-3.4 2-.6 0-1.2-.2-1.7-.4-.7 1.6-2.3 2.7-4.1 2.7-2 0-3.6-1.2-4.2-2.9-.2 0-.6.1-.9.1-2.3 0-4.2-1.8-4.2-4.1 0-1.5.8-2.9 2.1-3.6-.2-.6-.4-1.2-.4-1.9 0-2.6 2.2-4.8 4.8-4.8 1.4.1 2.9.8 3.7 2z\"}},\npicklist_type:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M48.3 14.9H16.4c-.9 0-1.6-.7-1.6-1.6v-3.2c0-.9.7-1.6 1.6-1.6h31.9c.9 0 1.6.7 1.6 1.6v3.2c0 .9-.7 1.6-1.6 1.6zM48.3 29.2H16.4c-.9 0-1.6-.7-1.6-1.6v-3.2c0-.9.7-1.6 1.6-1.6h31.9c.9 0 1.6.7 1.6 1.6v3.2c0 .9-.7 1.6-1.6 1.6zM6.9 29.2H3.7c-.9 0-1.6-.7-1.6-1.6v-3.2c0-.9.7-1.6 1.6-1.6h3.2c.9 0 1.6.7 1.6 1.6v3.2c0 .9-.7 1.6-1.6 1.6zM6.9 14.9H3.7c-.9 0-1.6-.7-1.6-1.6v-3.2c0-.9.7-1.6 1.6-1.6h3.2c.9 0 1.6.7 1.6 1.6v3.2c0 .9-.7 1.6-1.6 1.6zM6.9 43.5H3.7c-.9 0-1.6-.7-1.6-1.6v-3.2c0-.9.7-1.6 1.6-1.6h3.2c.9 0 1.6.7 1.6 1.6v3.2c0 .9-.7 1.6-1.6 1.6zM48.3 43.5H16.4c-.9 0-1.6-.7-1.6-1.6v-3.2c0-.9.7-1.6 1.6-1.6h31.9c.9 0 1.6.7 1.6 1.6v3.2c0 .9-.7 1.6-1.6 1.6z\"}},\npin:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M49.5 15.4L36 1.9c-1.4-1.4-3.6-1.4-5 0s-1.4 3.6 0 5l.7.7-16.2 10.7-.5-.5c-1.4-1.4-3.6-1.4-5 0s-1.4 3.6 0 5l7.2 7.2L2.4 44.8c-1.4 1.4-1.4 3.7 0 5.1 1.4 1.4 3.7 1.4 5.1 0L22.3 35l6.3 6.3c1.4 1.4 3.6 1.4 5 0s1.4-3.6 0-5l-.5-.5 10.6-16.3.7.7c1.4 1.4 3.6 1.4 5 0 1.4-1.2 1.4-3.4.1-4.8z\"}},\npinned:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M36.9 23.7h-.5L33 7.9h.9c1.6 0 2.9-1.3 2.9-2.9s-1.3-2.9-2.9-2.9H18.1c-1.6 0-2.9 1.3-2.9 2.9s1.3 2.9 2.9 2.9h.9l-3.3 15.8h-.5c-1.6 0-2.9 1.3-2.9 2.9s1.3 2.9 2.9 2.9h8.4v17.4c0 1.6 1.3 3 3 3s3-1.3 3-3V29.6H37c1.6 0 2.9-1.3 2.9-2.9s-1.4-3-3-3z\"}},\nplanning_poker:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M48.34 10l-6.27-2v29.12L49.88 13a2.41 2.41 0 00-1.53-3zM20.52 5.59L16.81 6.8 3.66 11.08a2.42 2.42 0 00-1.55 3l10.18 31.35a2.41 2.41 0 003 1.57l14-4.56 2.85-.94a2.39 2.39 0 001.56-3L23.59 7.14a2.4 2.4 0 00-3-1.57zM37.34 34.06V7.3a2.41 2.41 0 00-2.41-2.41H27.8a6.07 6.07 0 01.32.8l9.05 27.75a5.24 5.24 0 01.17.62z\"}}},\nplay:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M8 43.7V8.3c0-1 1.3-1.7 2.2-.9l33.2 17.3c.8.6.8 1.9 0 2.5L10.2 44.7c-.9.7-2.2.1-2.2-1z\"}},\npodcast_webinar:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M48 22.8c0-4.9-1.8-9.6-5-13.2l-.4-.4C38.6 4.8 32.6 2 26 2 19.7 2 13.9 4.6 9.9 8.6h-.1C6.1 12.4 4 17.5 4 22.8 4 28.1 6.1 33.2 9.9 37c.8.8 2 .8 2.8 0s.8-2.1 0-2.9c-2.9-2.9-4.6-7-4.6-11.2 0-3.7 1.3-7.1 3.4-9.9.4-.5.7-.9 1.2-1.3.1-.1.2-.2.2-.3C16.2 8 20.9 6 26 6c9.8 0 17.8 7.6 17.9 16.9 0 4.2-1.7 8.3-4.7 11.2-.8.8-.8 2.1 0 2.9s2.1.8 2.9 0c3.8-3.8 5.9-8.8 5.9-14.2z\"},{\"d\":\"M39.6 22.9c0-.1 0-.1 0 0 0-.1 0-.1 0 0 0-.1 0-.1 0 0 0-7.2-6.1-13-13.6-13-6.2 0-11.4 3.9-13.1 9.2-.4 1.2-.6 2.4-.6 3.7 0 3.1 1.2 6.1 3.4 8.3.8.8 2.1.8 2.9 0 .8-.8.8-2.1 0-2.9-1.4-1.4-2.2-3.3-2.2-5.3 0-4.9 4.5-8.8 9.6-8.8s9.6 4 9.6 8.8c0 2-.8 3.9-2.2 5.3-.8.8-.8 2.1 0 2.9.8.8 2 .8 2.8 0 2.2-2.2 3.4-5.1 3.4-8.2zM28.2 32.4h-4.4c-1.7 0-3.2 1.4-3.2 3.2v11.3c0 1.7 1.4 3.2 3.2 3.2h4.4c1.7 0 3.2-1.4 3.2-3.2V35.5c0-1.7-1.5-3.1-3.2-3.1z\"}],\"circle\":{\"cx\":\"26\",\"cy\":\"23.2\",\"r\":\"5.4\"}}},\npop_in:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M22 31.3h19.1c.8 0 1.6-.5 1.6-1.3v-3c0-.8-.7-1.7-1.6-1.7h-7.9c-.9 0-1.4-1-.7-1.6l17-17c.6-.6.6-1.5 0-2.1l-2.1-2.1c-.6-.6-1.5-.6-2.1 0l-17 17c-.6.6-1.6.2-1.6-.7v-7.9c0-.8-.8-1.7-1.6-1.7h-2.9c-.8 0-1.5.9-1.5 1.7v19c.1.9.5 1.3 1.3 1.4z\"},{\"d\":\"M37 35.3h-4c-.6 0-1 .4-1 1v6.2c0 .8-.7 1.5-1.5 1.5h-21c-.8 0-1.5-.7-1.5-1.5v-21c0-.8.7-1.5 1.4-1.5h6.3c.6 0 1-.4 1-1v-4c0-.6-.4-1-1-1H6c-2.2 0-4 1.8-4 4v28c0 2.2 1.8 4 4 4h28c2.2 0 4-1.8 4-4v-9.7c0-.6-.4-1-1-1z\"}]},\npower:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M34.4 7.7c-.7-.3-1.4.2-1.4.9v3.8c0 .7.4 1.4 1 1.7 5.3 3 8.7 9 7.9 15.7-.8 7.3-6.7 13.3-14.1 14.1C18.2 45 10 37.4 10 28c0-5.9 3.2-11.1 8-13.9.6-.3 1-1 1-1.7V8.6c0-.7-.7-1.2-1.4-.9C9.1 11.2 3.2 20 4.1 30c.9 10.3 9.1 18.7 19.4 19.9C36.7 51.3 48 41 48 28c0-9.2-5.6-17-13.6-20.3z\"},{\"d\":\"M29 3.5c0-.8-.7-1.5-1.5-1.5h-3c-.8 0-1.5.7-1.5 1.5v17c0 .8.7 1.5 1.5 1.5h3c.8 0 1.5-.7 1.5-1.5v-17z\"}]}},\npreview:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M51.8 25.1C47.1 15.6 37.3 9 26 9S4.9 15.6.2 25.1c-.3.6-.3 1.3 0 1.8C4.9 36.4 14.7 43 26 43s21.1-6.6 25.8-16.1c.3-.6.3-1.2 0-1.8zM26 37c-6.1 0-11-4.9-11-11s4.9-11 11-11 11 4.9 11 11-4.9 11-11 11z\"},{\"d\":\"M26 19c-3.9 0-7 3.1-7 7s3.1 7 7 7 7-3.1 7-7-3.1-7-7-7z\"}]}},\nprice_book_entries:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M25 2.3l11.7.2a5.51 5.51 0 012.5 1l4.6 4.6 4.6 4.6a3.55 3.55 0 011 2.5l.3 11.8a3.55 3.55 0 01-1 2.5L29.5 48.7a3.69 3.69 0 01-5 0L13.9 38.1 3.3 27.5a3.69 3.69 0 010-5L22.5 3.3a3.55 3.55 0 012.5-1zM18.6 21l-1.9 1.8a.85.85 0 000 1.3l11.2 11.2a.85.85 0 001.3 0l1.9-1.9a.85.85 0 000-1.3L19.7 21a.65.65 0 00-1.1 0zm5.3-5.4L22 17.5a.85.85 0 000 1.3L33.2 30a.85.85 0 001.3 0l1.9-1.9a.85.85 0 000-1.3L25.1 15.6a.91.91 0 00-1.2 0zM42 10a3.69 3.69 0 00-5 0 3.69 3.69 0 000 5 3.69 3.69 0 005 0 3.69 3.69 0 000-5z\"}},\nprice_books:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M8.6 36.9V29H7a3.22 3.22 0 01-3.2-3.2 3.26 3.26 0 013-3.2h1.8v-7.9H7a3.22 3.22 0 01-3.2-3.2 3.26 3.26 0 013-3.2h1.8V6.8a4.79 4.79 0 014.6-4.6h30c2.6 0 4.9 1.65 5 4.15V44.6a5.39 5.39 0 01-4.8 5.2h-30A5.26 5.26 0 018.5 45v-1.7H7a3.22 3.22 0 01-3.2-3.2 3.26 3.26 0 013-3.2zm18.9-23.2a2 2 0 00-1.5.6L14.8 25.4a2.05 2.05 0 000 2.9l12.3 12.3a2.05 2.05 0 002.9 0l11.2-11.2a2 2 0 00.6-1.5l-.2-6.8a1.68 1.68 0 00-.6-1.4l-5.3-5.4a2.25 2.25 0 00-1.4-.6zm-3.9 10.8a.48.48 0 01.7 0l6.5 6.5a.48.48 0 010 .7l-1.1 1.1a.48.48 0 01-.7 0l-6.5-6.5a.48.48 0 010-.7zm3.2-3a.48.48 0 01.7 0L34 28a.48.48 0 010 .7l-1 1a.48.48 0 01-.7 0l-6.5-6.5a.48.48 0 010-.7zm10.5-3.3a2.05 2.05 0 11-2.9 0 2.05 2.05 0 012.9 0z\"}},\npricing_workspace:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M15.1 2.1a1.63 1.63 0 011.7 1.7v1.1a1.63 1.63 0 01-1.7 1.7H10a3.4 3.4 0 00-3.4 3.2V42a3.4 3.4 0 003.2 3.4H42a3.4 3.4 0 003.4-3.2v-5.3a1.63 1.63 0 011.7-1.7h1.1a1.63 1.63 0 011.7 1.7v6.2a6.81 6.81 0 01-6.8 6.8H8.9a6.81 6.81 0 01-6.8-6.8V8.9a6.81 6.81 0 016.8-6.8z\",\"fill-rule\":\"evenodd\"},{\"d\":\"M29.7 4.9l8.4.2a4 4 0 011.8.7l3.3 3.3 3.3 3.3a2.41 2.41 0 01.7 1.8l.2 8.4a2.64 2.64 0 01-.7 1.9L32.9 38.4a2.53 2.53 0 01-3.6 0l-7.6-7.6-7.6-7.6a2.53 2.53 0 010-3.6L27.9 5.7a2.34 2.34 0 011.8-.8zM25 18.4l-1.4 1.4a.75.75 0 000 .9l8.1 8.1a.75.75 0 00.9 0l1.4-1.4a.75.75 0 000-.9l-8.1-8.1a.56.56 0 00-.9 0zm3.8-3.8L27.5 16a.75.75 0 000 .9l8.1 8.1a.75.75 0 00.9 0l1.4-1.4a.75.75 0 000-.9l-8.1-8.1c-.3-.3-.6-.3-1 0zm13.1-4.1a2.55 2.55 0 100 3.6 2.54 2.54 0 000-3.6z\"}]},\nprint:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M46.5 17.4h-41c-2.2 0-4 1.8-4 4v14c0 2.2 1.8 4 4 4h5.9v5.8c0 2.2 1.8 4 4 4h21.3c2.2 0 4-1.8 4-4v-5.8h5.9c2.2 0 4-1.8 4-4v-14c-.1-2.2-1.9-4-4.1-4zM8.3 27.7c-1.7 0-3-1.3-3-3s1.3-3 3-3 3 1.3 3 3-1.3 3-3 3zm27.6 15.4c0 .8-.7 1.5-1.5 1.5h-17c-.8 0-1.5-.7-1.5-1.5v-9.8c0-.8.7-1.5 1.5-1.5h17c.8 0 1.5.7 1.5 1.5v9.8zM40.5 11.1c0 .8-.7 1.5-1.5 1.5H12.8c-.8 0-1.5-.7-1.5-1.5V4.3c0-.8.7-1.5 1.5-1.5H39c.8 0 1.5.7 1.5 1.5v6.8z\"}}},\npriority:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M9 3.5C9 2.7 8.3 2 7.5 2h-3C3.7 2 3 2.7 3 3.5v45c0 .8.7 1.5 1.5 1.5h3c.8 0 1.5-.7 1.5-1.5v-45zM47.5 7.7c-16 8.4-14.2-8.8-33.5-2.1-.6.2-1 .8-1 1.4v23.3c0 .7.7 1.2 1.3.9 19.2-6.4 17.2 11.2 33.9 1.8.5-.3.8-.8.8-1.3V8.5c0-.7-.8-1.2-1.5-.8z\"}}},\nprivately_shared:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M35.6 39.5c-.7-4.1-4.9-6.2-8.3-7.7-1.5-.7-3.6-1.5-4.2-3.3-.4-1-.2-2 .3-2.9.9-.9 1.7-1.7 2.4-2.8.2-.3.3-.5.5-.8 2-2.9 2.3-6.9 1.1-10.2-1.2-3.6-4.4-6-8.3-6.1h-.6c-3.9.1-7.1 2.5-8.3 6.1-1.2 3.4-.9 7.3 1.1 10.2.1.3.3.5.5.8.7 1.1 1.6 1.9 2.4 2.8.4.9.6 1.9.3 2.9-.6 1.8-2.7 2.6-4.2 3.3-3.4 1.5-7.6 3.6-8.3 7.7-.7 3.4 1.6 6.8 5.2 6.8h23.6c3.2 0 5.5-3.4 4.8-6.8zM41.3 9.9c4.1-.2 7.4 3 7.4 7.1 0 .3-.2.4-.4.4h-1.8c-.3 0-.4-.1-.4-.4v.1c0-2.4-1.8-4.4-4.1-4.6-2.6-.2-4.7 1.9-4.7 4.4 0 .3-.2.4-.4.4h-1.8c-.2 0-.4-.2-.4-.4 0-3.6 2.9-6.8 6.6-7z\"},{\"d\":\"M48.7 19.2H34.6c-1 0-1.8.8-1.8 1.8v8.4c0 1 .8 1.8 1.8 1.8h14.1c1 0 1.8-.8 1.8-1.8V21c0-1-.8-1.8-1.8-1.8zm-5 8.7c.1.3-.1.6-.4.6H40c-.3 0-.5-.3-.4-.6l.8-2.6c-.7-.4-1.1-1.2-.9-2.1.2-.8.8-1.5 1.7-1.7 1.4-.3 2.6.7 2.6 2.1 0 .7-.4 1.4-.9 1.7l.8 2.6z\"}]},\nprocess:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M16.2 23.2l8.5-10.6c.6-.8 1.8-.8 2.4 0l8.5 10.7c.3.4.7.7 1.2.7h9.6c.8 0 1.6-.7 1.6-1.5V8c0-2.2-1.9-4-4.1-4H8C5.8 4 4 5.8 4 8v14.5c0 .8.7 1.5 1.5 1.5H15c.5 0 .9-.4 1.2-.8zM35.7 28.8l-8.5 10.6c-.6.8-1.8.8-2.4 0l-8.5-10.7c-.4-.3-.8-.7-1.3-.7H5.5c-.8 0-1.5.7-1.5 1.5V44c0 2.2 1.8 4 4 4h36c2.2 0 4-1.8 4-4V29.5c0-.8-.7-1.5-1.5-1.5h-9.6c-.5 0-.9.4-1.2.8z\"}},\nproduct_quantity_rules:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M21.45 32.64H5.36a1.29 1.29 0 00-1.28 1.29v1.28a1.28 1.28 0 001.28 1.28h16.09a1.28 1.28 0 001.28-1.28v-1.28a1.29 1.29 0 00-1.28-1.29zM21.45 41.66H5.36A1.29 1.29 0 004.08 43v1.32a1.28 1.28 0 001.28 1.28h16.09a1.28 1.28 0 001.28-1.28V43a1.29 1.29 0 00-1.24-1.34zM46.65 32.64H30.57a1.29 1.29 0 00-1.28 1.29v1.28a1.28 1.28 0 001.28 1.28h16.08a1.28 1.28 0 001.29-1.27v-1.29a1.29 1.29 0 00-1.29-1.29zM46.65 41.66H30.57A1.29 1.29 0 0029.29 43v1.32a1.28 1.28 0 001.28 1.28h16.08a1.28 1.28 0 001.29-1.27V43a1.29 1.29 0 00-1.24-1.34zM38.61 6.52a10.17 10.17 0 1010.17 10.17A10.19 10.19 0 0038.61 6.52zm5 10.88a.63.63 0 01-.61.6h-8.79a.6.6 0 01-.64-.55 8.66 8.66 0 010-1.44.66.66 0 01.64-.55H43a.64.64 0 01.63.55 9.22 9.22 0 010 1.39zM20.63 9.45a10.21 10.21 0 100 14.44 10.21 10.21 0 000-14.44zm-.43 8.07a.4.4 0 01-.38.42h-4.71a.45.45 0 00-.43.43V23a.44.44 0 01-.42.42h-1.7a.4.4 0 01-.43-.37v-4.68a.4.4 0 00-.37-.43H7a.4.4 0 01-.43-.37v-1.75a.45.45 0 01.43-.43h4.67a.4.4 0 00.42-.38V10.3a.47.47 0 01.43-.43h1.7a.42.42 0 01.42.42V15a.4.4 0 00.38.42h4.72a.45.45 0 01.42.43z\"}},\nproduct_service_campaign:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M24 35.33a.81.81 0 01.81.71v11.52A2.44 2.44 0 0122.49 50H6.07a2.45 2.45 0 01-2.44-2.28V36.15a.81.81 0 01.71-.81H24zm23.61 0a.82.82 0 01.81.71v11.52A2.44 2.44 0 0146.09 50H29.67a2.44 2.44 0 01-2.43-2.28V36.15a.81.81 0 01.71-.81h19.61zM17.69 38.7l-.09.07-4.6 5.06-2.11-2a.62.62 0 00-.79-.07l-.08.07-.87.78a.49.49 0 00-.07.71l.07.08 3 2.83a1.25 1.25 0 00.87.36 1.15 1.15 0 00.87-.36l5.52-5.84a.63.63 0 00.06-.72l-.06-.07-.87-.78a.61.61 0 00-.85-.12zm23.61 0l-.09.07-4.66 5.06-2.11-2a.61.61 0 00-.78-.07l-.09.07-.87.78a.49.49 0 00-.06.71l.06.08 3 2.83a1.25 1.25 0 00.87.36 1.14 1.14 0 00.87-.36L43 40.34a.65.65 0 000-.72v-.07l-.87-.78a.61.61 0 00-.83-.07zM22.54 27.18a2.36 2.36 0 012.27 2.28v2.61a.81.81 0 01-.66.81H2.76a.78.78 0 01-.76-.7v-2.55a2.38 2.38 0 012.13-2.44h18.41zm25.18 0A2.36 2.36 0 0150 29.46v2.61a.81.81 0 01-.66.81h-21.4a.78.78 0 01-.75-.71v-2.54a2.38 2.38 0 012.13-2.44h18.4zm-12-17a.81.81 0 01.8.71v11.48a2.44 2.44 0 01-2.28 2.44H17.87a2.46 2.46 0 01-2.44-2.29V11a.81.81 0 01.71-.8h19.62zm-6.27 3.37l-.08.07-4.66 5.06-2.11-2a.61.61 0 00-.78-.07l-.09.07-.87.78a.5.5 0 00-.07.71l.07.08 3 2.82a1.22 1.22 0 00.87.37 1.13 1.13 0 00.87-.37l5.53-5.83a.65.65 0 00.05-.72l-.05-.07-.87-.78a.62.62 0 00-.77-.15zM35.76 2a2.44 2.44 0 012.43 2.28v2.61a.83.83 0 01-.71.81H14.62a.81.81 0 01-.81-.7V4.44A2.44 2.44 0 0116.08 2z\"}},\nproduct_service_campaign_item:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M45.2 19.6a1.6 1.6 0 011.59 1.45V43.6a4.82 4.82 0 01-4.59 4.8H10a4.82 4.82 0 01-4.8-4.59V21.2a1.6 1.6 0 011.45-1.59H45.2zm-12.39 6.67l-.11.08-9.16 9.93-4.15-4a1.2 1.2 0 00-1.61-.08l-.1.08L16 33.8a1 1 0 00-.09 1.44l.09.1 5.86 5.55a2.47 2.47 0 001.71.71 2.27 2.27 0 001.71-.71l4.9-5.16.39-.41.52-.55 5-5.3A1.25 1.25 0 0036.2 28l-.07-.09-1.72-1.54a1.19 1.19 0 00-1.6-.1zM45.2 3.6A4.81 4.81 0 0150 8.4v4.8a1.6 1.6 0 01-1.6 1.6H3.6A1.6 1.6 0 012 13.2V8.4a4.81 4.81 0 014.8-4.8z\"}},\nproduct_warranty_term:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M38.77 25.61c1.42 0 2.54 1.54 3.79 2.07s3.19.24 4.13 1.24.71 2.84 1.24 4.14S50 35.42 50 36.84s-1.54 2.54-2.07 3.78-.23 3.19-1.24 4.14-2.83.7-4.13 1.24-2.37 2.06-3.79 2.06S36.23 46.53 35 46s-3.19-.24-4.13-1.24-.71-2.84-1.24-4.14-2.07-2.36-2.07-3.78 1.53-2.54 2.07-3.78.23-3.19 1.24-4.14 2.83-.71 4.13-1.24 2.36-2.07 3.77-2.07zM26.71 41a4.82 4.82 0 01.38.7c.5 1.22.47 2.83.89 4.08H3.39A1.5 1.5 0 012 44.15v-1.59A1.51 1.51 0 013.39 41h23.32zM43 33.18a.55.55 0 00-.81 0l-4.38 5-2-2a.55.55 0 00-.81 0l-.82.77a.52.52 0 000 .77l2.8 2.8a1.13 1.13 0 00.82.35 1.05 1.05 0 00.82-.35l5.19-5.77a.62.62 0 000-.77zM6.65 12.3A1.38 1.38 0 018 13.73V36a1.38 1.38 0 01-1.32 1.43H3.33A1.39 1.39 0 012 36V13.73a1.39 1.39 0 011.33-1.43h3.32zm19 0a1.43 1.43 0 011.43 1.43V32c-.68 1.57-2.63 3-2.63 4.81a2.48 2.48 0 00.06.54h-3.16A1.43 1.43 0 0119.92 36V13.73a1.43 1.43 0 011.43-1.43h4.3zm-9.71 0a1.52 1.52 0 011.59 1.43V36a1.52 1.52 0 01-1.59 1.43h-1.6A1.52 1.52 0 0112.75 36V13.73a1.52 1.52 0 011.59-1.43h1.6zm17.91 0a1.52 1.52 0 011.6 1.43v10.48a7 7 0 01-1.5.94 19.63 19.63 0 01-3.28.69V13.73a1.52 1.52 0 011.59-1.43h1.59zm8.63 0a1.39 1.39 0 011.33 1.43v11.5l-.21-.08c-1.58-.67-3-2.63-4.83-2.63a2.79 2.79 0 00-.94.17v-9a1.39 1.39 0 011.33-1.43h3.32zm-.07-8.36a1.51 1.51 0 011.4 1.59v1.59a1.51 1.51 0 01-1.4 1.59h-39A1.5 1.5 0 012 7.12V5.53a1.5 1.5 0 011.39-1.59h39z\"}},\nproduct_workspace:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M15.2 2.2a1.63 1.63 0 011.7 1.7V5a1.63 1.63 0 01-1.7 1.7h-5.1a3.4 3.4 0 00-3.4 3.2v32a3.4 3.4 0 003.2 3.4h32a3.4 3.4 0 003.4-3.2v-5.3a1.63 1.63 0 011.7-1.7h1.1a1.63 1.63 0 011.7 1.7V43a6.81 6.81 0 01-6.8 6.8H9A6.81 6.81 0 012.2 43V9A6.81 6.81 0 019 2.2z\",\"fill-rule\":\"evenodd\"},{\"d\":\"M40.4 25.4l3.1-3.1a1 1 0 000-1.5L31 8.2a1 1 0 00-1.5 0l-3.1 3.1a1 1 0 000 1.5l12.5 12.5a1 1 0 001.5.1zM47.4 18.3l1.5-1.5a1 1 0 000-1.5L36.5 2.7a1 1 0 00-1.5 0l-1.5 1.5a1 1 0 000 1.5L46 18.3a1 1 0 001.4 0zM36.8 28.9c.6-.6.5-1.1.1-1.5L24.4 14.9a1 1 0 00-1.5 0l-.1.1a1 1 0 000 1.5L35.3 29a1 1 0 001.5-.1zM32.4 33.3l.7-.7a1 1 0 000-1.5L20.7 18.5a1 1 0 00-1.5 0l-.7.7a1 1 0 000 1.5L31 33.2c.3.6.9.6 1.4.1zM25.7 40.1l3.1-3.1a1 1 0 000-1.5L16.3 22.9a1 1 0 00-1.5 0L11.7 26a1 1 0 000 1.5L24.2 40a1 1 0 001.5.1z\"}]},\nproducts:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M31.9 39.5h6a1.42 1.42 0 001.5-1.5V14a1.42 1.42 0 00-1.5-1.5h-6a1.42 1.42 0 00-1.5 1.5v24a1.42 1.42 0 001.5 1.5zM45.4 39.5h3a1.42 1.42 0 001.5-1.5V14a1.42 1.42 0 00-1.5-1.5h-3a1.42 1.42 0 00-1.5 1.5v24a1.42 1.42 0 001.5 1.5zM25 39.5a1.37 1.37 0 001.5-1.5V14a1.42 1.42 0 00-1.5-1.5 1.42 1.42 0 00-1.5 1.5v24a1.37 1.37 0 001.5 1.5zM16.6 39.5H18a1.42 1.42 0 001.5-1.5V14a1.42 1.42 0 00-1.5-1.5h-1.5A1.42 1.42 0 0015 14v24a1.45 1.45 0 001.6 1.5zM3.6 39.5h6a1.42 1.42 0 001.5-1.5V14a1.42 1.42 0 00-1.5-1.5h-6A1.42 1.42 0 002.1 14v24a1.47 1.47 0 001.5 1.5z\"}}},\nprofile:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"circle\":{\"cx\":\"26\",\"cy\":\"20.7\",\"r\":\"6.15\"},\"path\":{\"d\":\"M27.14 2.72a1.89 1.89 0 00-2.28 0c-8.42 6.34-16.37 12.33-16.37 24A16.92 16.92 0 0013.19 39c.24.24.48.47.74.7a17.9 17.9 0 0010.53 4.19L22.74 47s-2 2.68 2.69 2.68h1.14c4.72 0 2.68-2.68 2.68-2.68l-1.71-3.06a17.9 17.9 0 0010.53-4.19c3.56-3.13 5.44-7.64 5.44-13 0-11.7-7.95-17.69-16.37-24.03zm10.1 32.37a9.74 9.74 0 01-1 1.13A10.77 10.77 0 0016 35.67 10.17 10.17 0 0114.53 34a15 15 0 01-1.94-10.84c1.24-6.62 6.07-11 13.41-16.56 8.57 6.52 13.73 11.4 13.73 20.08a13.73 13.73 0 01-2.49 8.41z\"}},\npromotions:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M33.39 28.66a3.12 3.12 0 103.15 3.13 3.12 3.12 0 00-3.15-3.13zM18.52 17.08a3.12 3.12 0 103.12 3.13 3.12 3.12 0 00-3.12-3.13z\"},{\"d\":\"M48.77 22.84l-2.61-3.13a5.61 5.61 0 01-1.31-3.24l-.3-4a5.13 5.13 0 00-4.69-4.78l-3.49-.28a7.36 7.36 0 01-4.2-1.79l-2.65-2.33a5.15 5.15 0 00-6.7-.06l-2.88 2.43a6.64 6.64 0 01-3.79 1.54l-3.74.26a5.14 5.14 0 00-4.78 4.7l-.27 3.41a7.49 7.49 0 01-1.8 4.24l-2.29 2.64a5.14 5.14 0 00-.06 6.69l2.49 3a6.21 6.21 0 011.42 3.56l.28 3.85a5.15 5.15 0 004.69 4.78l3.5.31a7.23 7.23 0 014.18 1.78l2.66 2.3a5.17 5.17 0 006.7.05l3.05-2.55a5.9 5.9 0 013.4-1.36l4-.29a5.13 5.13 0 004.78-4.69l.29-3.24a8.18 8.18 0 012-4.64l2.13-2.43a5.12 5.12 0 00-.01-6.73zm-36-2.63A5.8 5.8 0 1118.58 26a5.79 5.79 0 01-5.82-5.76zm8.39 17.11a.46.46 0 01-.35.23h-1.73a.45.45 0 01-.37-.22.42.42 0 010-.43l12.12-22.25a.51.51 0 01.36-.22H33a.43.43 0 01.21.58zm18.13-5.54a4.51 4.51 0 10-.08 0z\"}]},\nprompt:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",\"d\":\"M47 4.5H5c-1.7 0-3 1.3-3 3v30.6c0 1.7 1.3 3 3 3h14.5l3.6 5.2c1 1.4 2.8 1.7 4.2.7l.6-.6 4.2-5.3H47c1.7 0 3-1.3 3-3V7.5c0-1.7-1.3-3-3-3z\"}},\nprompt_edit:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",\"d\":\"M47 4.5H5c-1.7 0-3 1.3-3 3v30.6c0 1.7 1.3 3 3 3h14.5l3.6 5.2c1 1.4 2.8 1.7 4.2.7l.6-.6 4.2-5.3H47c1.7 0 3-1.3 3-3V7.5c0-1.7-1.3-3-3-3zM21.3 32c-.2.2-.3.3-.5.3l-5 1.2c-.5.1-.9-.3-.8-.8l1.2-5c0-.1.1-.3.2-.4l.1-.1c.1-.1.4-.1.6 0l4.2 4.2c.1.2.1.5 0 .6zm12.1-12.3L23.1 30c-.2.2-.5.2-.6 0l-4.1-4.1c-.2-.1-.2-.4 0-.6L28.6 15c.2-.2.5-.2.6 0l4.1 4.1c.2.2.2.4.1.6zm3.1-3l-1.2 1.2c-.2.2-.5.2-.6 0l-4.1-4.1c-.2-.2-.2-.5 0-.6l1.1-1.2c.7-.7 1.9-.7 2.6 0l2.2 2.2c.7.7.7 1.8 0 2.5z\"}},\npropagation_policy:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M13.6 2H8a6 6 0 00-6 6v4a6 6 0 006 6h5.6a6 6 0 006-6V8a6 6 0 00-6-6zm-2 11.2H10a3.2 3.2 0 010-6.4h1.6a3.2 3.2 0 010 6.4zM30.4 18H36a6 6 0 006-6V8a6 6 0 00-6-6h-5.6a6 6 0 00-6 6v4a6 6 0 006 6zm2-11.2H34a3.2 3.2 0 110 6.4h-1.6a3.2 3.2 0 110-6.4zM13.6 22.8H8a6 6 0 00-6 6v4a6 6 0 006 6h5.6a6 6 0 006-6v-4a6 6 0 00-6-6zm-2 11.2H10a3.2 3.2 0 110-6.4h1.6a3.2 3.2 0 110 6.4zM47.6 39.6h-8v-2.82a7.2 7.2 0 10-4.8 0v2.82h-8a2.39 2.39 0 00-2.4 2.4v5.62A2.39 2.39 0 0026.8 50a2.39 2.39 0 002.38-2.4v-3.2h5.6v3.22A2.39 2.39 0 0037.2 50a2.39 2.39 0 002.38-2.4v-3.2h5.6v3.22A2.39 2.39 0 0047.6 50a2.39 2.39 0 002.4-2.4V42a2.39 2.39 0 00-2.4-2.4zm-10.4-12a2.4 2.4 0 11-2.4 2.4 2.39 2.39 0 012.42-2.4z\",\"fill-rule\":\"evenodd\"}},\npush:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M44 2H20c-2.2 0-4 1.8-4 4v.1c0 .7.4 1.4 1 1.8.3.2 4.1 4 4.1 4 .3.3.8 0 .8-.4 0-.8.7-1.6 1.5-1.6h17c.8 0 1.6.8 1.6 1.6v27c0 .8-.8 1.4-1.6 1.4h-17c-.8 0-1.4-.6-1.4-1.4v-.1c0-.4-.5-.6-.8-.3 0 0-3.8 3.8-4.2 4-.6.4-1 1-1 1.8v2c0 2.2 1.7 4 3.9 4h24c2.2 0 4.1-1.8 4.1-4V6c0-2.2-1.8-4-4-4zM32 48c-1.7 0-3-1.3-3-3s1.3-3 3-3 3 1.3 3 3-1.3 3-3 3z\"},{\"d\":\"M27.6 23.9L15.1 11.4c-.6-.6-1.5-.6-2.1 0l-2.1 2.1c-.6.6-.6 1.5 0 2.1l4.6 4.6c.6.6.2 1.7-.7 1.7H1.5c-.8.1-1.5.8-1.5 1.6v3c0 .8.7 1.5 1.5 1.5h13.2c.9 0 1.3 1.1.7 1.7l-4.6 4.6c-.6.6-.6 1.5 0 2.1l2.1 2.1c.6.6 1.5.6 2.1 0L27.6 26c.5-.5.5-1.5 0-2.1z\"}]}},\npuzzle:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M45 38.4c-.2 2.7-.5 5.6-1 8.4-.1.8-1 1.7-1.8 1.8-5.4.6-10.7 1-16.1 1-5.3 0-10.7-.3-16-1-.8-.1-1.7-.9-1.8-1.8-.7-4.4-1.1-8.9-1.1-13.4s.4-9 1.1-13.4c.1-.8 1-1.6 1.8-1.8 3.3-.4 6.5-.6 9.7-.8 0 0 2.6-.1 2.4-2.6-.2-2.2-4-3.7-4-7.4 0-3 3-5.4 7.9-5.4 4.8 0 7.8 2.4 7.8 5.4 0 3.8-3.7 5.2-3.9 7.4-.2 2.4 2.4 2.6 2.4 2.6 3.3.1 6.6.4 9.8.8.8.1 1.7.9 1.8 1.8.5 3.1.8 6 1 9.1 0 .9-.7 1.8-1.6 1.8h-.9c-.9 0-2.3-.7-2.9-1.4 0 0-2.1-2.2-4.4-2.3-3.7-.1-6.5 3.1-6.5 6.6s2.8 6.8 6.4 6.7c2.2-.1 4.4-2.3 4.4-2.3.7-.6 2-1.2 2.9-1.2h.9c1.1 0 1.8.6 1.7 1.4z\"}},\nquestion:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M28.4 38h-5c-.8 0-1.4-.6-1.4-1.4v-1.5c0-4.2 2.7-8 6.7-9.4 1.2-.4 2.3-1.1 3.2-2.1 5-6 .4-13.2-5.6-13.4-2.2-.1-4.3.7-5.9 2.2-1.3 1.2-2.1 2.7-2.3 4.4-.1.6-.7 1.1-1.5 1.1h-5c-.9 0-1.6-.7-1.5-1.6.4-3.8 2.1-7.2 4.8-9.9 3.2-3 7.3-4.6 11.7-4.5C34.9 2.2 41.7 9 42 17.3c.3 7-4 13.3-10.5 15.7-.9.4-1.5 1.1-1.5 2v1.5c0 .9-.8 1.5-1.6 1.5zM30 48.5c0 .8-.7 1.5-1.5 1.5h-5c-.8 0-1.5-.7-1.5-1.5v-5c0-.8.7-1.5 1.5-1.5h5c.8 0 1.5.7 1.5 1.5v5z\"}},\nquestion_mark:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M26.7 42.8c.8 0 1.5.7 1.5 1.5v3.2c0 .8-.7 1.5-1.5 1.5h-3.2c-.8 0-1.5-.7-1.5-1.5v-3.2c0-.8.7-1.5 1.5-1.5h3.2zM28.2 35.1c0-2.1 1.3-4 3.1-4.8h.1c5.2-2.1 8.8-7.2 8.8-13.2 0-7.8-6.4-14.2-14.2-14.2-7.2 0-13.2 5.3-14.2 12.2v.1c-.1.9.6 1.6 1.5 1.6h3.2c.8 0 1.4-.5 1.5-1.1v-.2c.7-3.7 4-6.5 7.9-6.5 4.5 0 8.1 3.6 8.1 8.1 0 2.1-.8 4-2.1 5.5l-.1.1c-.9 1-2.1 1.6-3.3 2-4 1.4-6.7 5.2-6.7 9.4v1.5c0 .8.6 1.4 1.4 1.4h3.2c.8 0 1.6-.6 1.6-1.5l.2-.4z\"}}},\nquestions_and_answers:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M50 28c0-3.9-2.5-7.3-6-8.5C43.7 9.8 35.8 2 26 2S8.3 9.8 8 19.5c-3.5 1.2-6 4.6-6 8.5 0 4.2 2.9 7.7 6.7 8.7C10.9 44.4 17.8 50 26 50s15.1-5.6 17.3-13.3c3.8-1 6.7-4.5 6.7-8.7zm-10-9l-.1-.1.4.1H40zM26 46c-7.7 0-14-6.5-14-14.4 0-2 .4-5 1.2-6.8.1-.3.3-.6.4-.9 3-1.2 5.6-3.3 7.3-6 3.5 4.4 9 7.4 15.1 7.4 2.1 0 2.7.1 2.9 0 .4 1.3.8 2.9.9 4.5-.6 2.5-4.5 4.9-10 5.2-.2-.5-.8-1-1.4-1h-5c-.8 0-1.4.8-1.4 1.6v3c0 .8.6 1.4 1.4 1.4h5c.7 0 1.2-.3 1.4-.9 3.6-.1 6.8-1.1 9.3-2.6C37.2 42 32.1 46 26 46z\"}},\nquick_text:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M26.1 3.3C12.5 3.3 1.5 13.4 1.5 25.8c0 3.9 1.1 7.6 3 10.9.3.5.4 1.1.2 1.7l-3.2 8.7c-.3.8.5 1.5 1.3 1.3l8.8-3.4c.5-.2 1.1-.1 1.7.2 3.7 2.1 8.1 3.3 12.9 3.3 13.5-.1 24.5-10.1 24.5-22.6 0-12.5-11-22.6-24.6-22.6zM14.7 25c0-.5.4-1 1-1h15.9c.5 0 1 .4 1 1v2c0 .5-.4 1-1 1h-16c-.5 0-1-.4-1-1v-2zm22.9 9.6c0 .5-.4 1-1 1h-21c-.5 0-1-.4-1-1v-1.9c0-.5.4-1 1-1h21c.5 0 1 .4 1 1v1.9zm0-15.3c0 .5-.4 1-1 1h-21c-.5 0-1-.4-1-1v-1.9c0-.5.4-1 1-1h21c.5 0 1 .4 1 1v1.9z\"}},\nquip:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M24.5 2.1c-12 .7-21.7 10.4-22.4 22.4C1.1 38.3 12.2 50 26 50h24V26C50 12.2 38.3 1.1 24.5 2.1zm-9.9 13.4c0-.9.7-1.6 1.6-1.6h19.6c.9 0 1.6.7 1.6 1.6v1.6c0 .9-.7 1.6-1.6 1.6H16.1c-.9 0-1.6-.7-1.6-1.6.1.1.1-1.6.1-1.6zm22.8 20.8c0 .9-.7 1.6-1.6 1.6H16.1c-.9 0-1.6-.7-1.6-1.6v-1.6c0-.9.7-1.6 1.6-1.6h19.6c.9 0 1.6.7 1.6 1.6v1.6h.1zm6-9.5c0 .9-.7 1.6-1.6 1.6H10.1c-.9 0-1.6-.7-1.6-1.6v-1.6c0-.9.7-1.6 1.6-1.6h31.7c.9 0 1.6.7 1.6 1.6v1.6z\"}},\nquotation_marks:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M44.3 6.5c-9 0-15.9 7-15.9 16V44c0 .8.7 1.5 1.5 1.5h17c.8 0 1.5-.7 1.5-1.5V27c0-.8-.7-1.5-1.5-1.5H34.4v-3c0-5 4.9-10 9.9-10h2.6c.8 0 1.5-.7 1.5-1.5V8c0-.8-.7-1.5-1.5-1.5h-2.6zM19.5 6.5c-9 0-15.9 7-15.9 16V44c0 .8.7 1.5 1.5 1.5h17c.8 0 1.5-.7 1.5-1.5V27c0-.8-.7-1.5-1.5-1.5H9.6v-3c0-5 4.9-10 9.9-10h2.6c.8 0 1.5-.7 1.5-1.5V8c0-.8-.7-1.5-1.5-1.5h-2.6z\"}}},\nquote:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M45.2 2.1H27.7c-1.1-.1-2.1.5-2.9 1.3L3.4 24.9c-1.8 1.8-1.8 4.9 0 6.8l17 17c1.8 1.8 4.9 1.8 6.8 0l21.7-21.8c.8-.8 1.3-2.1 1.2-3.2V6.9c-.1-2.6-2.3-4.8-4.9-4.8zM27.9 37.3l-1.1 1.1c-.6.6-1.6.6-2.2 0L13.7 27.6c-.6-.6-.6-1.6 0-2.2l1.1-1.1c.6-.6 1.6-.6 2.2 0l10.9 10.9c.7.5.7 1.5 0 2.1zm6.4-6.4L33.2 32c-.6.6-1.6.6-2.2 0L20.1 21.2c-.6-.6-.6-1.6 0-2.2l1.1-1.1c.6-.6 1.6-.6 2.2 0l10.9 10.9c.7.5.7 1.5 0 2.1zm4.5-13.6c-2.2 0-4-1.8-4-4s1.8-4 4-4 4 1.8 4 4-1.8 4-4 4z\"}},\nradio_button:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M13.1 28.5C7.2 28.5 2.5 33.2 2.5 39s4.7 10.6 10.6 10.6c5.8 0 10.6-4.7 10.6-10.6-.1-5.8-4.8-10.5-10.6-10.5zm0 16.4c-3.2 0-5.9-2.6-5.9-5.9s2.6-5.9 5.9-5.9S19 35.7 19 39s-2.7 5.9-5.9 5.9zM38.9 28.5c-5.8 0-10.6 4.7-10.6 10.6 0 5.8 4.7 10.6 10.6 10.6 5.8 0 10.6-4.7 10.6-10.6 0-5.9-4.7-10.6-10.6-10.6zM13.1 2.5C7.2 2.5 2.5 7.2 2.5 13.1c0 5.8 4.7 10.6 10.6 10.6 5.8 0 10.6-4.7 10.6-10.6-.1-5.9-4.8-10.6-10.6-10.6zm0 16.4c-3.2 0-5.9-2.6-5.9-5.9s2.6-5.9 5.9-5.9S19 9.7 19 13s-2.7 5.9-5.9 5.9zM38.9 2.5c-5.8 0-10.6 4.7-10.6 10.6 0 5.8 4.7 10.6 10.6 10.6 5.8 0 10.6-4.7 10.6-10.6 0-5.9-4.7-10.6-10.6-10.6z\"}},\nrating:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M27.413 3.101l4.6 15c.2.6.8.9 1.4.9h15c1.5 0 2.1 2 .9 2.9l-12.2 9c-.5.4-.7 1.1-.5 1.7l5.8 15.4c.4 1.4-1.1 2.6-2.3 1.7l-13.1-9.8c-.5-.4-1.2-.4-1.8 0l-13.2 9.8c-1.2.9-2.8-.3-2.3-1.7l5.6-15.4c.2-.6 0-1.3-.5-1.7l-12.2-9c-1.2-.9-.5-2.9.9-2.9h15c.7 0 1.2-.2 1.4-.9l4.7-15.1c.4-1.4 2.4-1.3 2.8.1zm-1.4 9.701C26 14.17 26 33.542 26 34.495c.187.153 2.933 2.194 8.24 6.125.7.525 1.574-.175 1.34-.992L32.31 31.02c-.35-.77 0-1.271.43-1.535l6.866-4.789c.7-.525.35-1.691-.525-1.691h-8.06c-.35 0-1.268-.117-1.517-1.016l-2.67-8.545a.89.89 0 00-.82-.642z\"}},\nreassign:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M23.2 10.2C18.1 5.1 10 3.5 2.9 5.7c-.3 0-.7.5-.7 1.3v3.9c0 .8.7 1 1.1.9 5.4-2.2 12-1.2 16.3 3.3l1.1 1.1c.6.6.1 1.7-.7 1.7h-7.8c-.8 0-1.5.6-1.5 1.5v3c0 .8.6 1.5 1.5 1.5l19.2.2c.8 0 1.5-.6 1.5-1.5L33 3.5c0-.8-.6-1.5-1.5-1.5h-3c-.8 0-1.6.6-1.6 1.4l-.1 7.9c0 .8-1.1 1.3-1.7.7.1.1-1.9-1.8-1.9-1.8z\"},{\"d\":\"M3.5 27.8h3c.8 0 1.5.7 1.5 1.5v13.2c0 .8.7 1.5 1.5 1.5h33c.8 0 1.5-.7 1.5-1.5V16.9c0-.8-.7-1.5-1.5-1.5h-4c-.8 0-1.5-.7-1.5-1.5v-3c0-.8.7-1.5 1.5-1.5H46c2.2 0 4 1.8 4 4V46c0 2.2-1.8 4-4 4H6c-2.2 0-4-1.8-4-4V29.3c0-.8.7-1.5 1.5-1.5z\"}]},\nrecipe:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M31.2 4.24A2.24 2.24 0 1129 2a2.24 2.24 0 012.2 2.24zM23 12.56a3 3 0 10-3-3 3 3 0 003 3zm19.44 31l-10-15.36V20a2.14 2.14 0 002.4-2.24A2 2 0 0033 15.6H19.2a2 2 0 00-2 2 2.09 2.09 0 000 .25 2.16 2.16 0 002.4 2.24v8.31l-10 15.2a4.26 4.26 0 00-.24 4.24A3.91 3.91 0 0012.88 50H39a3.9 3.9 0 003.52-2.16 4 4 0 00-.16-4.24zm-18.8-14V20.4h4.8v9.28l4.72 7.52H18.88z\",\"fill-rule\":\"evenodd\"}},\nrecord:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M26 8c9.9 0 18 8.1 18 18s-8.1 18-18 18S8 35.9 8 26 16.1 8 26 8z\"}},\nrecord_create:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M40.8 7.7\"},\"g\":{\"path\":[{\"d\":\"M17.2 11.6h17.6c.9 0 1.6-.7 1.6-1.6V6.8c0-2.6-2.2-4.8-4.8-4.8H20.4c-2.6 0-4.8 2.2-4.8 4.8V10c0 .9.7 1.6 1.6 1.6z\"},{\"d\":\"M43.6 6H42c-.5 0-.8.3-.8.8V10c0 3.5-2.9 6.4-6.4 6.4H17.2c-3.5 0-6.4-2.9-6.4-6.4V6.8c0-.5-.3-.8-.8-.8H8.4c-2.6 0-4.8 2.2-4.8 4.8v34.4c0 2.6 2.2 4.8 4.8 4.8h35.2c2.6 0 4.8-2.2 4.8-4.8V10.8c0-2.6-2.2-4.8-4.8-4.8zm-5.9 28.2c0 .4-.4.8-.8.8h-8.8c-.3 0-.5.2-.5.5v8.8c0 .4-.4.8-.8.8h-1.6c-.4 0-.8-.4-.8-.8v-8.8c0-.3-.2-.5-.5-.5h-8.8c-.4 0-.8-.4-.8-.8v-1.6c0-.4.4-.8.8-.8h8.8c.3 0 .5-.2.5-.5v-8.8c0-.4.4-.8.8-.8h1.6c.4 0 .8.4.8.8v8.8c0 .3.2.5.5.5h8.8c.4 0 .8.4.8.8v1.6z\"}]}},\nrecord_delete:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M17.2 11.6h17.6c.9 0 1.6-.7 1.6-1.6V6.8c0-2.6-2.2-4.8-4.8-4.8H20.4c-2.6 0-4.8 2.2-4.8 4.8V10c0 .9.7 1.6 1.6 1.6z\"},{\"d\":\"M43.6 6H42c-.5 0-.8.3-.8.8V10c0 3.5-2.9 6.4-6.4 6.4H17.2c-3.5 0-6.4-2.9-6.4-6.4V6.8c0-.5-.3-.8-.8-.8H8.4c-2.6 0-4.8 2.2-4.8 4.8v34.4c0 2.6 2.2 4.8 4.8 4.8h35.2c2.6 0 4.8-2.2 4.8-4.8V10.8c0-2.6-2.2-4.8-4.8-4.8zm-9.3 36.4c0 1.4-1.1 2.4-2.4 2.4H20.1c-1.4 0-2.4-1.1-2.4-2.4V32.1c0-.4.3-.7.7-.7h15.2c.4 0 .7.3.7.7v10.3zm2-14.9c0 .4-.3.7-.7.7H16.5c-.4 0-.7-.3-.7-.7V26c0-.4.3-.7.7-.7h6.1v-2c0-1.1.9-2 2-2h2.9c1.1 0 2 .9 2 2v2h6.1c.4 0 .7.3.7.7v1.5z\"},{\"d\":\"M24 34.8h-1c-.3 0-.5.2-.5.5V41c0 .3.2.5.5.5h1c.3 0 .5-.2.5-.5v-5.7c0-.3-.2-.5-.5-.5zM28.9 34.8h-1c-.3 0-.5.2-.5.5V41c0 .3.2.5.5.5h1c.3 0 .5-.2.5-.5v-5.7c0-.3-.2-.5-.5-.5zM27 23.4h-2c-.3 0-.5.2-.5.5v1.5h2.9v-1.5c.1-.3-.1-.5-.4-.5z\"}]}},\nrecord_lookup:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M17.2 11.6h17.6c.9 0 1.6-.7 1.6-1.6V6.8c0-2.6-2.2-4.8-4.8-4.8H20.4c-2.6 0-4.8 2.2-4.8 4.8V10c0 .9.7 1.6 1.6 1.6z\"},{\"d\":\"M43.6 6H42c-.5 0-.8.3-.8.8V10c0 3.5-2.9 6.4-6.4 6.4H17.2c-3.5 0-6.4-2.9-6.4-6.4V6.8c0-.5-.3-.8-.8-.8H8.4c-2.6 0-4.8 2.2-4.8 4.8v34.4c0 2.6 2.2 4.8 4.8 4.8h35.2c2.6 0 4.8-2.2 4.8-4.8V10.8c0-2.6-2.2-4.8-4.8-4.8zm-6.1 38.1l-1 1c-.3.3-.7.3-1 0L29 38.6c-1.9 1.3-4.2 2-6.7 1.6-4.2-.6-7.5-4.1-7.9-8.3-.6-5.8 4.3-10.7 10.1-10.1 4.3.4 7.7 3.7 8.3 7.9.4 2.5-.3 4.9-1.6 6.7l6.5 6.5c.1.4.1.8-.2 1.2z\"},{\"d\":\"M23.5 24.8c-3.5 0-6.3 2.9-6.3 6.3 0 3.5 2.8 6.3 6.3 6.3s6.3-2.8 6.3-6.3-2.8-6.3-6.3-6.3z\"}]}},\nrecord_update:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M40.8 7.7\"},\"g\":{\"path\":[{\"d\":\"M17.2 11.6h17.6c.9 0 1.6-.7 1.6-1.6V6.8c0-2.6-2.2-4.8-4.8-4.8H20.4c-2.6 0-4.8 2.2-4.8 4.8V10c0 .9.7 1.6 1.6 1.6z\"},{\"d\":\"M43.6 6H42c-.5 0-.8.3-.8.8V10c0 3.5-2.9 6.4-6.4 6.4H17.2c-3.5 0-6.4-2.9-6.4-6.4V6.8c0-.5-.3-.8-.8-.8H8.4c-2.6 0-4.8 2.2-4.8 4.8v34.4c0 2.6 2.2 4.8 4.8 4.8h35.2c2.6 0 4.8-2.2 4.8-4.8V10.8c0-2.6-2.2-4.8-4.8-4.8zM34 30.4L21.2 43.2l-5.6 1.6c-.5.1-1-.4-.9-.9l1.6-5.5 12.8-12.8c.2-.2.5-.2.7 0l4.1 4.2c.3.1.3.4.1.6zm3.7-3.7l-1.6 1.6c-.2.2-.5.2-.7 0l-4.2-4.2c-.2-.2-.2-.5 0-.7l1.6-1.6c.7-.8 2-.8 2.7 0l2.1 2.1c.9.8.9 2 .1 2.8z\"}]}},\nrecurring_exception:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M39 35L27.8 23.9l-.8-.8-9.9-9.9-4.4-4.4L7.9 4c-.7-.8-1.8-.9-2.4-.3L3.4 5.8c-.5.5-.5 1.3-.1 2l40.5 40.6.1.1c.7.7 1.8.8 2.4.3l2.1-2.1c.6-.6.5-1.7-.3-2.4l-4.7-4.7L39 35zM24.9 11c4 0 7.8 1.6 10.6 4.4.5.4.9.9 1.2 1.4.3.8-.4 1.2-1.3 1.2h-7.3l6 6h12.6c.7 0 1.3-.6 1.3-1.3V4.5c-.2-.8-.9-1.5-1.7-1.5h-3c-.8 0-1.5.7-1.5 1.5v7c0 .9-.5 1.3-1.2.7-.3-.4-.6-.7-1-1-5-5-12-7.1-19.2-5.7-1.3.3-2.5.6-3.7 1.2l4.8 4.8c1-.4 2.2-.5 3.4-.5zM26.9 41.4c-4 0-7.8-1.6-10.6-4.4-.5-.4-.9-.9-1.2-1.4-.3-.8.4-1.2 1.3-1.2h7c.1 0 .2 0 .4-.1l-5.9-5.9H5.2c-.7 0-1.3.6-1.3 1.3v18.2c.1.8.8 1.5 1.6 1.5h3c.8 0 1.5-.7 1.5-1.5v-7c0-.9.5-1.3 1.2-.7.3.4.6.7 1 1 5 5 12 7.1 19.2 5.7 1.3-.3 2.5-.6 3.7-1.2l-4.8-4.8c-1.1.3-2.2.5-3.4.5z\"}},\nrecycle_bin_empty:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M45.5 10H32.9V6c0-2.2-1.8-4-4-4h-6c-2.2 0-4 1.8-4 4v4H6.4c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h39c.8 0 1.5-.7 1.5-1.5v-3c0-.8-.6-1.5-1.4-1.5zm-16.7 0h-5.9V7c0-.6.4-1 1-1h4c.6 0 1 .4 1 1v3zM41.5 20h-31c-.8 0-1.5.7-1.5 1.5V45c0 2.8 2.2 5 5 5h24c2.8 0 5-2.2 5-5V21.5c-.1-.8-.7-1.5-1.5-1.5zM23.2 44.9l-5 .1c-.2 0-2.1 0-3.4-2-1.4-2.2-.3-4 1.2-6.6l-1.4-1c-.2-.1-.2-.2-.2-.4s.1-.2.3-.3l3.9-1 .3-.1c.2 0 .3 0 .5.3l.1.3.9 4c0 .2 0 .3-.2.4-.2.1-.3.1-.5 0l-1.3-.8c-1.4 2.3-1.6 3-1.2 3.6.4.6 1 .7 1 .7l5-.1c.5 0 1 .2 1.2.6.2.2.2.5.2.7.1.9-.6 1.6-1.4 1.6zm3.6-14.6c0-.2.1-.3.2-.4l1.4-.6c-1.2-2.4-1.7-3-2.4-3-.8 0-1 .4-1.1.5L22.3 31c-.2.4-.7.6-1.2.6-.2 0-.5-.1-.7-.2-.6-.4-.9-1.3-.4-1.9l2.6-4.2c.1-.2 1.1-1.8 3.4-1.8 2.6 0 3.5 1.9 5 4.6l1.6-.7c.2-.1.3 0 .4.1.1.1.2.2.1.4L31.7 32c0 .1-.1.2-.2.2-.2.1-.3 0-.3 0l-4.1-1.5c-.2-.1-.3-.2-.3-.4zm10.5 12.3c-1.2 2.2-3.4 2.2-6.4 2.2l-.1 1.8c0 .2-.1.3-.2.3s-.2.1-.4-.1l-3-3.1c-.2-.2 0-.5 0-.5l.2-.2 3.2-2.8c.2-.1.2-.2.4-.1s.2.2.2.4V42c2.6 0 3.4-.1 3.8-.7.3-.6.2-1.1.1-1.2l-2.5-4.3c-.2-.4-.2-1 0-1.4.2-.2.3-.4.6-.6.6-.4 1.5-.2 1.9.6l2.5 4.3c0 .2.8 1.8-.3 3.9z\"}}},\nrecycle_bin_full:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M44.2 7.1L32.2 9l-.6-3.8c-.3-2.1-2.3-3.5-4.4-3.2l-5.8 1c-2.1.3-3.5 2.3-3.2 4.4l.6 3.8L7 13.1c-.8.1-1.3.9-1.2 1.7l.5 2.8c.1.8.9 1.3 1.7 1.2l37.1-6c.8-.1 1.3-.9 1.2-1.7l-.5-2.8c-.1-.7-.9-1.3-1.6-1.2zM28.3 9.7l-5.6.9-.5-2.8c-.1-.5.2-1 .8-1.1l3.8-.6c.5-.1 1 .2 1.1.8l.4 2.8zM41.4 21h-30c-.8 0-1.5.7-1.5 1.5v22.7c0 2.7 2.1 4.8 4.8 4.8h23.2c2.7 0 4.8-2.1 4.8-4.8V22.5c.1-.8-.5-1.5-1.3-1.5zM23.8 45.1l-4.9.1c-.2 0-2 0-3.2-1.9-1.3-2.1-.3-3.9 1.2-6.4l-1.4-.9c-.2-.1-.2-.2-.2-.4s.1-.2.3-.3l3.8-.9.3-.1c.2 0 .3 0 .5.3l.1.3.8 3.9c0 .2 0 .3-.2.4-.2.1-.3.1-.5 0l-1.2-.8c-1.3 2.2-1.5 2.9-1.2 3.5.4.6.9.7.9.7l4.8-.1c.5 0 .9.2 1.2.6.2.2.2.5.2.7.1.6-.5 1.3-1.3 1.3zM27.3 31c0-.2.1-.3.2-.4l1.3-.6c-1.2-2.3-1.6-2.9-2.3-2.9-.8 0-1 .4-1.1.5l-2.5 4.1c-.2.4-.7.6-1.2.6-.2 0-.5-.1-.7-.2-.6-.4-.8-1.2-.4-1.9l2.5-4.1c.1-.2 1.1-1.7 3.3-1.7 2.5 0 3.4 1.9 4.8 4.5l1.5-.7c.2-.1.3 0 .4.1.1.1.2.2.1.4L32 32.6c0 .1-.1.2-.2.2h-.3l-3.9-1.5c-.3 0-.3-.1-.3-.3zm10.1 11.8c-1.2 2.2-3.2 2.2-6.2 2.1l-.1 1.7c0 .2-.1.3-.2.3s-.2.1-.4-.1l-2.9-3c-.2-.2 0-.5 0-.5l.2-.2 3.1-2.7c.2-.1.2-.2.4-.1s.2.2.2.4l-.1 1.5c2.5 0 3.3-.1 3.6-.7s.2-1.1.1-1.2l-2.4-4.2c-.2-.4-.2-.9 0-1.3.2-.2.3-.4.5-.5.6-.4 1.5-.2 1.9.5l2.4 4.2c.1.3 1 1.8-.1 3.8zM21.4 18.9L38.9 16l.1 2.9z\"}},\nredo:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M35.5 12.5h.7c1 0 1-.7.4-1.3l-4.9-4.9c-.6-.5-.6-1.5 0-2.1l2.1-2.1c.5-.6 1.5-.6 2.1 0L48.8 15c.5.5.5 1.3 0 1.8l-13 13c-.6.5-1.3.5-1.9-.1l-2.2-2.2c-.6-.6-.7-1.5-.1-2.1l4.9-4.9c.7-.7.9-1.3.1-1.7-.3-.1-1.1-.1-1.1-.1H21.6c-7.1 0-12.8 5.7-12.8 12.8s5.7 12.8 12.8 12.8h8.1c.8 0 1.4.7 1.4 1.5V49c0 .8-.5 1.4-1.3 1.4h-8.2C11.2 50.4 2.7 42 2.7 31.5s8.5-18.9 18.9-18.9l13.9-.1z\"}},\nrefresh:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M46.5 4h-3c-.8 0-1.5.7-1.5 1.5v7c0 .9-.5 1.3-1.2.7-.3-.4-.6-.7-1-1-5-5-12-7.1-19.2-5.7-2.5.5-4.9 1.5-7 2.9-6.1 4-9.6 10.5-9.7 17.5-.1 5.4 2 10.8 5.8 14.7 4 4.2 9.4 6.5 15.2 6.5 5.1 0 9.9-1.8 13.7-5 .7-.6.7-1.6.1-2.2l-2.1-2.1c-.5-.5-1.4-.6-2-.1-3.6 3-8.5 4.2-13.4 3-1.3-.3-2.6-.9-3.8-1.6C11.7 36.6 9 30 10.6 23.4c.3-1.3.9-2.6 1.6-3.8C15 14.7 19.9 12 25.1 12c4 0 7.8 1.6 10.6 4.4.5.4.9.9 1.2 1.4.3.8-.4 1.2-1.3 1.2h-7c-.8 0-1.5.7-1.5 1.5v3.1c0 .8.6 1.4 1.4 1.4h18.3c.7 0 1.3-.6 1.3-1.3V5.5C48 4.7 47.3 4 46.5 4z\"}},\nrelate:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M36 20c0-2.2-1.8-4-4-4H6c-2.2 0-4 1.8-4 4v26c0 2.2 1.8 4 4 4h26c2.2 0 4-1.8 4-4V20zm-8 14c0 .5-.5 1-1 1h-6v6c0 .5-.5 1-1 1h-2c-.5 0-1-.5-1-1v-6h-6c-.5 0-1-.5-1-1v-2c0-.5.5-1 1-1h6v-6c0-.5.5-1 1-1h2c.5 0 1 .5 1 1v6h6c.5 0 1 .5 1 1v2z\"},{\"d\":\"M43 42h-3v-6h3c.6 0 1-.4 1-1V9c0-.6-.4-1-1-1H17c-.6 0-1 .4-1 1v3h-6V9c0-3.9 3.1-7 7-7h26c3.9 0 7 3.1 7 7v26c0 3.9-3.1 7-7 7z\"}]},\nreminder:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M64.7 19.1v.4-.4z\"},{\"d\":\"M50.3 7.5c-.6-3-3.1-5.5-6.2-5.9-2.2-.3-4.2.4-5.8 1.6-.5.4-.4 1.1.2 1.4 3.7 2 6.9 4.8 9.4 8.2.3.5 1.1.5 1.4 0 1-1.5 1.4-3.3 1-5.3zM13.5 4.7c.5-.2.6-1 .2-1.4-1.5-1.3-3.6-2-5.8-1.6-3.1.4-5.7 2.8-6.2 5.8-.3 2 .1 3.8 1.1 5.3.3.5 1.1.5 1.4 0 2.4-3.3 5.5-6.2 9.3-8.1zM26 6.5c-12.1 0-22 9.9-22 22 0 4.9 1.6 9.4 4.3 13L5 44.8c-1.3 1.3-1.3 3.3 0 4.6.7.7 1.5 1 2.3 1 .8 0 1.6-.3 2.3-1l3.3-3.3c3.7 2.7 8.2 4.3 13.1 4.3s9.4-1.6 13-4.3l3.3 3.3c.7.7 1.5 1 2.4 1 .8 0 1.6-.3 2.3-1 1.3-1.3 1.3-3.3 0-4.6l-3.3-3.3c2.7-3.6 4.3-8.1 4.3-13 0-12.2-9.8-22-22-22zM10.5 28.4c0-8.5 7-15.4 15.5-15.4s15.5 6.9 15.5 15.5S34.6 43.9 26 43.9 10.5 37 10.5 28.4zm18-.9v-6.4c0-1.4-1.1-2.4-2.4-2.4s-2.4 1.1-2.4 2.4v7.3c0 .7.2 1.3.7 1.7l5.7 5.7c.5.5 1.1.7 1.7.7.6 0 1.2-.2 1.7-.7 1-1 1-2.5 0-3.4l-5-4.9z\"}]},\nremove_formatting:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M45.1 40.9l4.6-4.6c.4-.4.4-1 0-1.4l-2.8-2.8c-.4-.4-1-.4-1.4 0L41 36.8l-4.3-4.3c-.4-.4-1-.4-1.4 0l-2.8 2.8c-.4.4-.4 1 0 1.4l4.3 4.3-4.2 4.2c-.4.4-.4 1 0 1.4l2.8 2.8c.4.4 1 .4 1.4 0l4.2-4.2 4.5 4.5c.4.4 1 .4 1.4 0l2.8-2.8c.4-.4.4-1 0-1.4l-4.6-4.6zM4.8 8h10.8l-4.1 23.2c-.2 1 .5 1.8 1.4 1.8H18c.7 0 1.4-.5 1.5-1.2L23.7 8h11c.7 0 1.4-.5 1.5-1.3l.5-3c.2-.9-.5-1.7-1.5-1.7h-30c-.7 0-1.3.5-1.4 1.3l-.5 3c-.2.9.5 1.7 1.5 1.7zM28 38.5c0-.8-.7-1.5-1.5-1.5h-23c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h23c.8 0 1.5-.7 1.5-1.5v-3z\"}},\nremove_link:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M24 36.6c-.6 0-1.2-.1-1.8-.3-.6-.1-1.3-.3-1.9-.5-.4-.1-.8 0-1 .2l-.4.4c-2.5 2.5-6.6 2.8-9.3.5-2.9-2.6-3.1-7.1-.3-9.8l6.6-6.6c.9-.9 1.9-1.4 3-1.7 1.4-.4 2.9-.3 4.2.3.8.3 1.6.8 2.2 1.5.3.3.6.7.9 1.2.3.6 1.1.7 1.6.2l2.5-2.5c.4-.4.4-.9.1-1.3-.4-.5-.8-.9-1.2-1.4-.6-.6-1.4-1.2-2.1-1.7-1.3-.8-2.6-1.3-4.1-1.6-2.7-.5-5.6-.1-8.2 1.3-1 .5-1.9 1.2-2.7 2l-6.4 6.4c-4.6 4.6-5 12.1-.5 16.9 4.7 5 12.6 5.2 17.4.3l2.2-2.2c.5-.5.1-1.5-.8-1.6z\"},{\"d\":\"M40.5 22.5c4.8-4.8 4.7-12.7-.3-17.4C35.4.7 27.9 1 23.3 5.6l-2 2c-.6.6-.2 1.6.6 1.7 1.2.1 2.5.3 3.7.7.4.1.8 0 1-.2l.4-.4c2.5-2.5 6.6-2.8 9.3-.5 2.9 2.6 3.1 7.1.3 9.8L30 25.3c-.9.9-1.9 1.4-3 1.7-1.4.4-2.9.3-4.2-.3-.8-.3-1.6-.8-2.2-1.5-.3-.3-.6-.7-.8-1.1-.3-.6-1.1-.7-1.6-.2l-2.4 2.4c-.4.4-.4.9-.1 1.3.4.5.7.9 1.2 1.4.7.7 1.4 1.2 2.1 1.7 1.3.8 2.6 1.3 4.1 1.6 2.7.5 5.6.1 8.2-1.3 1-.5 1.9-1.2 2.7-2l6.5-6.5zM45.1 41l4.6-4.6c.4-.4.4-1 0-1.4l-2.8-2.8c-.4-.4-1-.4-1.4 0L41 36.9l-4.3-4.3c-.4-.4-1-.4-1.4 0l-2.8 2.8c-.4.4-.4 1 0 1.4l4.3 4.3-4.2 4.2c-.4.4-.4 1 0 1.4l2.8 2.8c.4.4 1 .4 1.4 0l4.2-4.2 4.5 4.5c.4.4 1 .4 1.4 0l2.8-2.8c.4-.4.4-1 0-1.4L45.1 41z\"}]},\nreplace:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M20 37.5c0-.8-.7-1.5-1.5-1.5h-15c-.8 0-1.5.7-1.5 1.5v11c0 .8.7 1.5 1.5 1.5h15c.8 0 1.5-.7 1.5-1.5v-11zM8.1 22H3.2c-1 0-1.5.9-.9 1.4l8 8.3c.4.3 1 .3 1.4 0l8-8.3c.6-.6.1-1.4-.9-1.4h-4.7c0-5 4.9-10 9.9-10V6C15 6 8.1 13 8.1 22zM41.8 20.3c-.4-.3-1-.3-1.4 0l-8 8.3c-.6.6-.1 1.4.9 1.4h4.8c0 6-4.1 10-10.1 10v6c9 0 16.1-7 16.1-16H49c1 0 1.5-.9.9-1.4l-8.1-8.3zM50 3.5c0-.8-.7-1.5-1.5-1.5h-15c-.8 0-1.5.7-1.5 1.5v11c0 .8.7 1.5 1.5 1.5h15c.8 0 1.5-.7 1.5-1.5v-11z\"}},\nreply:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M19.2 18.1s-1.1-1.1-.5-1.7l5.6-5.6c.6-.6.6-1.5 0-2.1l-2.1-2.2c-.6-.6-1.5-.6-2.1 0L6.6 20c-.6.6-.6 1.5 0 2.1l13.5 13.5c.6.6 1.5.6 2.1 0l2.1-2.1c.6-.6.6-1.5 0-2.1l-5.5-5.6c-.6-.6-.2-1.5.5-1.7 11.1.4 20.1 9.3 20.8 20.6 0 .8.7 1.4 1.5 1.4h3c.9 0 1.4-.7 1.3-1.6-.7-14.5-11.7-25.9-26.7-26.4z\"}},\nreply_all:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M24.4 18.1s-1.1-1.1-.5-1.7l5.6-5.6c.6-.6.6-1.5 0-2.1l-2.1-2.2c-.6-.6-1.5-.6-2.1 0L11.8 20c-.6.6-.6 1.5 0 2.1l13.5 13.5c.6.6 1.5.6 2.1 0l2.1-2.1c.6-.6.6-1.5 0-2.1L24 25.8c-.6-.6-.2-1.5.5-1.7 11.1.4 20.1 9.3 20.8 20.6 0 .8.7 1.4 1.5 1.4h3c.9 0 1.4-.7 1.3-1.6-.7-14.5-11.7-25.9-26.7-26.4z\"},{\"d\":\"M5.4 20.4L17 8.8c.6-.6.6-1.5 0-2.1l-.1-.2c-.6-.6-1.5-.6-2.1 0L1.3 20c-.6.6-.6 1.5 0 2.1l13.5 13.5c.6.6 1.5.6 2.1 0l.1-.1c.6-.6.6-1.5 0-2.1L5.5 21.8s-.7-.6-.1-1.4z\"}]},\nreport_issue:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M22.8 45.7v1c0 1.2-.9 2.1-2.1 2.1H4.1c-1.2 0-2.1-.9-2.1-2.1v-1c0-2.5 3-4.1 5.7-5.3.1 0 .2-.1.3-.2.2-.1.5-.1.7 0 1.1.7 2.4 1.1 3.8 1.1 1.3 0 2.6-.4 3.8-1.1.2-.1.4-.1.6 0 .1 0 .2.1.3.2 2.7 1.3 5.6 2.8 5.6 5.3z\"},{\"d\":\"M34.8 3.2c-8.5 0-15.3 6.5-15.3 14.5 0 2.5.7 5 2 7.2.1.2.2.5.2.8L20 30.3c-.2.6.2 1.1.7 1.3.2.1.4.1.6 0l4.5-1.6c.3-.1.6-.1.8.1 2.4 1.4 5.2 2.2 8 2.2 8.5 0 15.3-6.6 15.3-14.6.1-8-6.8-14.5-15.1-14.5zm-1.1 5.7h3v7l-.3 4.6H34l-.2-4.6v-7zm1.5 17.3c-1.4 0-1.8-.8-1.8-1.8s.4-1.8 1.8-1.8 1.8.8 1.8 1.8c.1 1-.4 1.8-1.8 1.8z\"}],\"ellipse\":{\"cx\":\"12.4\",\"cy\":\"33.7\",\"rx\":\"5.2\",\"ry\":\"5.7\"}}},\nreset_password:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M42 23H10c-2.2 0-4 1.8-4 4v19c0 2.2 1.8 4 4 4h32c2.2 0 4-1.8 4-4V27c0-2.2-1.8-4-4-4zM31 44.5c-1.5 1-3.2 1.5-5 1.5-.6 0-1.2-.1-1.8-.2-2.4-.5-4.4-1.8-5.7-3.8l3.3-2.2c.7 1.1 1.9 1.9 3.2 2.1 1.3.3 2.6 0 3.8-.8 2.3-1.5 2.9-4.7 1.4-6.9-.7-1.1-1.9-1.9-3.2-2.1-1.3-.3-2.6 0-3.8.8-.3.2-.5.4-.7.6L26 37h-9v-9l2.6 2.6c.4-.4.9-.8 1.3-1.1 2-1.3 4.4-1.8 6.8-1.4 2.4.5 4.4 1.8 5.7 3.8 2.8 4.2 1.7 9.8-2.4 12.6zM10 18.1v0zM11 19h4c.6 0 1-.3 1-.9V18c0-5.7 4.9-10.4 10.7-10 5.3.4 9.3 5 9.3 10.4v-.3c0 .6.4.9 1 .9h4c.6 0 1-.3 1-.9V18c0-9.1-7.6-16.4-16.8-16-8.5.4-15 7.6-15.2 16.1.1.5.5.9 1 .9z\"}}},\nresource_absence:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M21.9 37c0-2.7.9-5.8 2.3-8.2 1.7-3 3.6-4.2 5.1-6.4 2.5-3.7 3-9 1.4-13-1.6-4.1-5.4-6.5-9.8-6.4s-8 2.8-9.4 6.9c-1.6 4.5-.9 9.9 2.7 13.3 1.5 1.4 2.9 3.6 2.1 5.7-.7 2-3.1 2.9-4.8 3.7-3.9 1.7-8.6 4.1-9.4 8.7C1.3 45.1 3.9 49 8 49h17c.8 0 1.3-1 .8-1.6-2.5-2.9-3.9-6.6-3.9-10.4z\"},{\"d\":\"M46.4 28.5c-4.7-4.7-12.3-4.7-17 0-4.7 4.7-4.7 12.3 0 17 4.7 4.7 12.3 4.7 17 0 4.7-4.7 4.7-12.3 0-17zm-3.5 10.6c.4.4.4 1.1-.1 1.5L41.4 42c-.4.4-.9.4-1.3-.1L38 39.8 35.8 42c-.4.4-.9.4-1.3-.1L33 40.5c-.4-.4-.5-.9-.1-1.3l2.2-2.2-2.1-2.2c-.4-.4-.5-.9-.1-1.3l1.4-1.4c.4-.4 1.1-.5 1.5-.1l2.1 2.1L40 32c.4-.4 1.1-.5 1.5-.1l1.4 1.4c.4.4.4 1.1-.1 1.5l-2.1 2.1 2.2 2.2z\"}]},\nresource_capacity:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M37.9 25c-6.7 0-12.1 5.5-12.1 12.2s5.4 12.1 12.1 12.1S50 43.8 50 37.2 44.6 25 37.9 25zm8.5 13.4h-8.8v-9.3s3.3-.2 6.3 2.9 2.5 6.4 2.5 6.4z\"},{\"d\":\"M22.2 37.3c0-2.7.9-5.9 2.3-8.3 1.7-3 3.6-4.2 5.1-6.5 2.5-3.7 3-9.1 1.4-13.1-1.6-4.1-5.4-6.5-9.9-6.4-4.4.1-8.1 2.8-9.5 7-1.6 4.5-.9 10 2.7 13.4 1.5 1.4 2.9 3.6 2.1 5.8-.7 2-3.1 2.9-4.8 3.7-3.9 1.7-8.7 4.1-9.5 8.8-.8 3.8 1.8 7.8 5.9 7.8h17.1c.8 0 1.3-1 .8-1.6-2.3-3-3.7-6.7-3.7-10.6z\"}]},\nresource_territory:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M26.7 29c2-2.9 4.1-4.3 5.5-6.5 2.5-3.7 3-9 1.4-13C32 5.4 28.2 3 23.8 3.1s-8 2.8-9.4 6.9c-1.6 4.5-.9 9.9 2.7 13.3 1.5 1.4 2.9 3.6 2.1 5.7-.7 2-3.1 2.9-4.8 3.7-3.9 1.7-8.6 4.1-9.4 8.7-.8 3.8 1.8 7.7 5.9 7.7h18c.8 0 1.5-.9 1-1.5-2.5-2.9-5.1-6.7-5.1-10.5-.2-2.7.6-5.7 1.9-8.1z\"},{\"d\":\"M37.7 39.4c-2.1 0-3.9-1.7-3.9-3.8s1.7-3.8 3.9-3.8c2.1 0 3.9 1.7 3.9 3.8 0 2.1-1.8 3.8-3.9 3.8zm0-13c-5.1 0-9.2 4.1-9.2 9.2 0 6.3 6.6 12.2 8.6 13.7.3.3.8.3 1.2 0 2-1.6 8.6-7.4 8.6-13.7 0-5.1-4.1-9.2-9.2-9.2z\"}]},\nrestriction_policy:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M37.2 24.4A12.8 12.8 0 1050 37.2a12.8 12.8 0 00-12.8-12.8zm5.6 15.2H31.6a2.4 2.4 0 010-4.8h11.2a2.4 2.4 0 110 4.8zM13.6 2H8a6 6 0 00-6 6v4.8a6 6 0 006 6h5.6a6 6 0 006-6V8a6 6 0 00-6-6zm-2.4 12h-.8a3.6 3.6 0 010-7.2h.8a3.6 3.6 0 110 7.2zM30.4 18.8H36a6 6 0 006-6V8a6 6 0 00-6-6h-5.6a6 6 0 00-6 6v4.8a6 6 0 006 6zm2.4-12h.8a3.6 3.6 0 110 7.2h-.8a3.6 3.6 0 110-7.2zM13.6 23.6H8a6 6 0 00-6 6v4.8a6 6 0 006 6h5.6a6 6 0 006-6v-4.8a6 6 0 00-6-6zm-2.4 12h-.8a3.6 3.6 0 110-7.2h.8a3.6 3.6 0 110 7.2z\",\"fill-rule\":\"evenodd\"}},\nretail_execution:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M17.4 11.6h17.3c.9 0 1.6-.7 1.6-1.6V6.8c0-2.6-2.1-4.8-4.7-4.8h-11c-2.6 0-4.7 2.2-4.7 4.8V10c-.1.9.6 1.6 1.5 1.6z\"},{\"d\":\"M43.3 6h-1.6c-.5 0-.8.3-.8.8V10c0 3.5-2.8 6.4-6.3 6.4H17.4c-3.5 0-6.3-2.9-6.3-6.4V6.8c0-.5-.3-.8-.8-.8H8.7C6.1 6 4 8.2 4 10.8v34.4C4 47.8 6.1 50 8.7 50h34.6c2.6 0 4.7-2.2 4.7-4.8V10.8C48 8.2 45.9 6 43.3 6zm-6.6 21.1l-12 12c-.5.5-1 .7-1.6.7-.5 0-1.2-.2-1.6-.7l-5.8-5.8c-.5-.5-.5-1.2 0-1.6l1.6-1.6c.5-.5 1.2-.5 1.6 0l4.2 4.2L33.4 24c.5-.5 1.2-.5 1.6 0l1.6 1.6c.5.3.5 1.1.1 1.5z\"}]}},\nretweet:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M51.6 28.8l-2.1-2.1c-.6-.6-1.5-.6-2.1 0l-2.7 2.7c-.7.7-1.7.2-1.7-.7V12c0-2.2-1.8-4-4-4H24.5c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h11c.8 0 1.5.7 1.5 1.5v13.2c0 .9-1.1 1.3-1.8.7l-2.6-2.6c-.6-.6-1.6-.6-2.1 0L28.4 29c-.6.6-.6 1.5 0 2.1l10.5 10.5c.6.6 1.5.6 2.1 0L51.6 31c.5-.6.5-1.6 0-2.2zM27.5 38h-11c-.8 0-1.5-.7-1.5-1.5V23.3c0-.9 1.1-1.3 1.8-.7l2.6 2.6c.6.6 1.6.6 2.1 0l2.1-2.1c.6-.6.6-1.5 0-2.1L13.2 10.4c-.6-.6-1.5-.6-2.1 0L.4 21c-.6.6-.6 1.5 0 2.1l2.1 2.1c.6.6 1.5.6 2.1 0l2.7-2.7c.6-.6 1.7-.2 1.7.7V40c0 2.2 1.9 4 4.1 4h14.5c.8 0 1.5-.7 1.5-1.5v-3c-.1-.8-.8-1.5-1.6-1.5z\"}}},\nribbon:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M24.1 36.7L14.7 50l-2.4-6.4H5.9l8.2-11.1c1.6 1 3.3 1.1 4.5 1.4.4.1.9.2 1.1.2.2.1.6.4.8.6.9.6 2.1 1.5 3.6 2zm15.2-4.2c-1.6 1-3.3 1.1-4.5 1.4-.4.1-1 .2-1.2.2-.2.1-.6.4-.8.6-.9.6-2 1.6-3.5 2.1L38.7 50l2.4-6.4h6.4l-8.2-11.1zM26.7 11.6c-3.1 0-5.6 2.5-5.6 5.6s2.5 5.6 5.6 5.6 5.6-2.5 5.6-5.6-2.5-5.6-5.6-5.6zm15.2 5.6c0 1.9-2.1 3.4-2.8 5.1-.7 1.8-.3 4.3-1.7 5.6-1.3 1.3-3.8 1-5.6 1.7-1.7.7-3.2 2.8-5.1 2.8s-3.4-2.1-5.1-2.8c-1.8-.7-4.3-.3-5.6-1.7-1.3-1.3-1-3.8-1.7-5.6-.7-1.7-2.8-3.2-2.8-5.1s2.1-3.4 2.8-5.1c.7-1.8.3-4.3 1.7-5.6 1.3-1.3 3.8-1 5.6-1.7 1.7-.7 3.2-2.8 5.1-2.8s3.4 2.1 5.1 2.8c1.8.7 4.3.3 5.6 1.7 1.3 1.3 1 3.8 1.7 5.6.7 1.7 2.8 3.2 2.8 5.1zm-4.8 0c0-5.8-4.6-10.4-10.4-10.4s-10.4 4.6-10.4 10.4 4.6 10.4 10.4 10.4S37.1 23 37.1 17.2z\"}},\nrichtextbulletedlist:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M8 13.5c0 .8-.7 1.5-1.5 1.5h-3c-.8 0-1.5-.7-1.5-1.5v-3C2 9.7 2.7 9 3.5 9h3c.8 0 1.5.7 1.5 1.5v3zm42-3c0-.8-.7-1.5-1.5-1.5h-35c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h35c.8 0 1.5-.7 1.5-1.5v-3zm-42 14c0-.8-.7-1.5-1.5-1.5h-3c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h3c.8 0 1.5-.7 1.5-1.5v-3zm38 0c0-.8-.7-1.5-1.5-1.5h-31c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h31c.8 0 1.5-.7 1.5-1.5v-3zm-38 14c0-.8-.7-1.5-1.5-1.5h-3c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h3c.8 0 1.5-.7 1.5-1.5v-3zm42 0c0-.8-.7-1.5-1.5-1.5h-35c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h35c.8 0 1.5-.7 1.5-1.5v-3z\"}},\nrichtextindent:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M52 11.5c0-.8-.7-1.5-1.5-1.5h-17c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h17c.8 0 1.5-.7 1.5-1.5v-3zM48 35.5c0-.8-.7-1.5-1.5-1.5h-13c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h13c.8 0 1.5-.7 1.5-1.5v-3zM52 23.5c0-.8-.7-1.5-1.5-1.5h-17c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h17c.8 0 1.5-.7 1.5-1.5v-3zM28 5.5c0-.8-.7-1.5-1.5-1.5h-3c-.8 0-1.5.7-1.5 1.5v41c0 .8.7 1.5 1.5 1.5h3c.8 0 1.5-.7 1.5-1.5v-41zM9.4 15.3c-.6-.6-1.4-.1-1.4.9V22H1.5c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5H8v5.9c0 1 .9 1.5 1.4.9l8.3-9c.3-.4.3-1 0-1.4l-8.3-9.1z\"}},\nrichtextnumberedlist:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M50 6.5v3c0 .8-.7 1.5-1.5 1.5h-27c-.8 0-1.5-.7-1.5-1.5v-3c0-.8.7-1.5 1.5-1.5h27c.8 0 1.5.7 1.5 1.5zM21.5 21h18c.8 0 1.5-.7 1.5-1.5v-3c0-.8-.7-1.5-1.5-1.5h-18c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5zm27 9h-27c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h27c.8 0 1.5-.7 1.5-1.5v-3c0-.8-.7-1.5-1.5-1.5zm-9 10h-18c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h18c.8 0 1.5-.7 1.5-1.5v-3c0-.8-.7-1.5-1.5-1.5zM3.5 8H6v12.5c0 .8.7 1.5 1.5 1.5h1c.8 0 1.5-.7 1.5-1.5V6c0-1.1-.9-2-2-2H3.5C2.7 4 2 4.7 2 5.5v1C2 7.3 2.7 8 3.5 8zM12 28H3.5c-.8 0-1.5.7-1.5 1.5v1c0 .8.7 1.5 1.5 1.5H10v4H4c-1.1 0-2 .9-2 2v8c0 1.1.9 2 2 2h8.5c.8 0 1.5-.7 1.5-1.5v-1c0-.8-.7-1.5-1.5-1.5H6v-4h6c1.1 0 2-.9 2-2v-8c0-1.1-.9-2-2-2z\"}},\nrichtextoutdent:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M16.4 22H10v-5.9c0-1-.9-1.5-1.4-.9l-8.3 9c-.3.4-.3 1 0 1.4l8.3 9c.6.6 1.4.1 1.4-.9V28h6.4c.8 0 1.6-.7 1.6-1.5v-3c0-.8-.8-1.5-1.6-1.5zM52 11.5c0-.8-.7-1.5-1.5-1.5h-17c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h17c.8 0 1.5-.7 1.5-1.5v-3zM48 35.5c0-.8-.7-1.5-1.5-1.5h-13c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h13c.8 0 1.5-.7 1.5-1.5v-3zM52 23.5c0-.8-.7-1.5-1.5-1.5h-17c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h17c.8 0 1.5-.7 1.5-1.5v-3zM28 5.5c0-.8-.7-1.5-1.5-1.5h-3c-.8 0-1.5.7-1.5 1.5v41c0 .8.7 1.5 1.5 1.5h3c.8 0 1.5-.7 1.5-1.5v-41z\"}},\nright:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M14 43.7V8.3c0-1 1.3-1.7 2.2-.9l21.2 17.3c.8.6.8 1.9 0 2.5L16.2 44.7c-.9.7-2.2.1-2.2-1z\"}},\nright_align:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"rect\":[{\"x\":\"43.6\",\"y\":\"2\",\"width\":\"6.4\",\"height\":\"48\",\"rx\":\"1.6\"},{\"data-name\":\"Rectangle\",\"x\":\"2\",\"y\":\"18.8\",\"width\":\"37.6\",\"height\":\"14.4\",\"rx\":\"3.2\"}]},\nright_align_text:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M46.5 5h-41C4.7 5 4 5.7 4 6.5v3c0 .8.7 1.5 1.5 1.5h41c.8 0 1.5-.7 1.5-1.5v-3c0-.8-.7-1.5-1.5-1.5zM46.5 17h-33c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h33c.8 0 1.5-.7 1.5-1.5v-3c0-.8-.7-1.5-1.5-1.5zM46.5 41h-33c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h33c.8 0 1.5-.7 1.5-1.5v-3c0-.8-.7-1.5-1.5-1.5zM46.5 29h-41c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h41c.8 0 1.5-.7 1.5-1.5v-3c0-.8-.7-1.5-1.5-1.5z\"}},\nrotate:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M48.5 2h-3c-.8 0-1.5.7-1.5 1.5v7c0 .9-1 1.5-1.6.8C37.7 6.1 31 3.4 23.7 4.1c-2.6.2-5.1 1-7.4 2.2-1.2.6-2.4 1.3-3.4 2.1-.7.5-.8 1.6-.2 2.3l2.1 2.1c.5.5 1.3.6 1.9.2 1.2-.8 2.5-1.5 3.9-2.1.6-.2 1.3-.4 2-.6 6.3-1.2 12.3 1.3 15.7 5.4 1.2 1.4.3 2.3-.7 2.3h-7c-.8 0-1.6.7-1.6 1.5v3c0 .8.8 1.5 1.6 1.5h18.2c.7 0 1.2-.6 1.2-1.3V3.5c0-.8-.7-1.5-1.5-1.5zM39.4 37.4c-.6-.6-1.5-.6-2.1 0-1.6 1.6-3.6 2.9-5.8 3.7-.6.2-1.3.4-2 .6-6.3 1.2-12.3-1.3-15.7-5.4-1.2-1.4-.3-2.3.7-2.3h7c.8 0 1.5-.7 1.5-1.5v-3c0-.8-.7-1.5-1.5-1.5H3.3c-.7 0-1.3.6-1.3 1.3v19.2c0 .8.7 1.5 1.5 1.5h3c.8 0 1.5-.7 1.5-1.5v-7c0-.9 1-1.5 1.6-.8 4.6 5.2 11.4 7.9 18.7 7.2 2.6-.2 5.1-1 7.4-2.2 2.2-1.1 4.1-2.5 5.7-4.1.6-.6.6-1.6 0-2.1l-2-2.1z\"}}},\nrouting_offline:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M43 9C33.6-.3 18.4-.3 9 9S-.3 33.6 9 43s24.6 9.3 34 0 9.3-24.6 0-34zM26 44c-9.9 0-18-8.1-18-18S16.1 8 26 8s18 8 18 18-8 18-18 18z\"}},\nrows:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M46.5 14h-41c-.8 0-1.5-.7-1.5-1.5v-3C4 8.7 4.7 8 5.5 8h41c.8 0 1.5.7 1.5 1.5v3c0 .8-.7 1.5-1.5 1.5zM46.5 28.9h-41c-.8 0-1.5-.7-1.5-1.5v-3c0-.7.7-1.4 1.5-1.4h41c.8 0 1.5.7 1.5 1.5v3c0 .7-.7 1.4-1.5 1.4zM46.5 44h-41c-.8 0-1.5-.7-1.5-1.5v-3c0-.8.7-1.5 1.5-1.5h41c.8 0 1.5.7 1.5 1.5v3c0 .8-.7 1.5-1.5 1.5z\"}},\nrules:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M50.1 25.4L42 17.3c-.4-.4-1.1-.4-1.5 0L39 18.8c-.4.4-.4 1.1 0 1.5l2.5 2.5c.4.4.1 1.2-.5 1.2H18.9l13.2-13.1c.4-.4 1.2-.1 1.2.5V15c0 .6.4 1 1 1h2.1c.6 0 1-.4 1-1V3.4c0-.6-.4-1-1-1H25c-.5 0-1 .5-1 1.1v2c0 .6.4 1 1 1h3.6c.6 0 .9.7.5 1.2L12.9 23.9H3c-.6 0-1 .5-1 1.1v2.1c0 .6.6 1.1 1.1 1.1h10l16.1 16.1c.4.4.1 1.2-.5 1.2h-3.6c-.6 0-1 .4-1 1v2c0 .5.4 1 1 1.1h11.4c.6 0 1-.4 1-1V37.1c0-.6-.4-1-1-1h-2.1c-.6 0-1 .4-1 1v3.6c0 .6-.7.9-1.2.5L19 28.2h22.1c.6 0 .9.8.5 1.2L39 31.9c-.4.4-.4 1.1 0 1.5l1.5 1.5c.4.4 1.1.4 1.5 0l8.1-8c.4-.5.4-1.1 0-1.5z\"}},\nsalesforce1:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M21.7 11.9c1.7-1.7 4-2.8 6.6-2.8 3.4 0 6.4 1.9 8 4.7 1.4-.6 2.9-1 4.5-1C47 12.8 52 17.8 52 24s-5 11.2-11.2 11.2c-.8 0-1.5-.1-2.2-.2-1.4 2.5-4.1 4.2-7.2 4.2-1.3 0-2.5-.3-3.6-.8-1.4 3.3-4.7 5.6-8.6 5.6-4 0-7.5-2.5-8.8-6.1-.6.1-1.2.2-1.8.2-4.8 0-8.7-3.9-8.7-8.7 0-3.2 1.7-6 4.3-7.5-.5-1.2-.8-2.6-.8-4 0-5.5 4.5-10 10.1-10 3.5.1 6.4 1.6 8.2 4\"}},\nsalesforce_page:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M44.44 19H33.2a3.89 3.89 0 01-4.2-3.55 3.53 3.53 0 010-.65V3.6A1.58 1.58 0 0027.44 2H10.8A4.87 4.87 0 006 6.8v38.4a4.87 4.87 0 004.8 4.8h30.4a4.87 4.87 0 004.8-4.8V20.6a1.58 1.58 0 00-1.56-1.6zM33.59 39.35a3.92 3.92 0 01-1.08-.1 4.19 4.19 0 01-3.68 2.16A5.24 5.24 0 0127 41a4.88 4.88 0 01-4.43 2.91A4.72 4.72 0 0118 40.78c-.22 0-.65.11-1 .11a4.49 4.49 0 01-4.54-4.42 4.39 4.39 0 012.27-3.89 6.33 6.33 0 01-.44-2.06 5.26 5.26 0 015.19-5.18 5.92 5.92 0 014.06 2.14A4.79 4.79 0 0127 26.06a4.91 4.91 0 014.21 2.38 7.49 7.49 0 012.38-.54 5.93 5.93 0 015.83 5.73 5.85 5.85 0 01-5.83 5.72z\"},{\"d\":\"M36.4 15h8.5a1.2 1.2 0 001.1-1.2 1.4 1.4 0 00-.3-.9L35.1 2.3a1.4 1.4 0 00-.9-.3A1.2 1.2 0 0033 3.1v8.5a3.49 3.49 0 003.4 3.4z\"}]}},\nsave:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M37.1 4v13.6c0 1-.8 1.9-1.9 1.9H13.9c-1 0-1.9-.8-1.9-1.9V4H8C5.8 4 4 5.8 4 8v36c0 2.2 1.8 4 4 4h36c2.2 0 4-1.8 4-4V11.2L40.8 4h-3.7zm7 38.1c0 1-.8 1.9-1.9 1.9H9.9c-1 0-1.9-.8-1.9-1.9V25.4c0-1 .8-1.9 1.9-1.9h32.3c1 0 1.9.8 1.9 1.9v16.7z\"},{\"d\":\"M24.8 13.6c0 1 .8 1.9 1.9 1.9h4.6c1 0 1.9-.8 1.9-1.9V4h-8.3l-.1 9.6z\"}]},\nscreen:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M50 6c0-2.2-1.8-4-4-4H6C3.8 2 2 3.8 2 6v27.7c0 2.2 1.8 4 4 4h40c2.2 0 4-1.8 4-4V6zm-6 24.2c0 .8-.7 1.5-1.5 1.5h-33c-.8 0-1.5-.7-1.5-1.5V9.5C8 8.7 8.7 8 9.5 8h33c.8 0 1.5.7 1.5 1.5v20.7zM19 44c-2.2 0-4 1.8-4 4v.5c0 .8.7 1.5 1.5 1.5h19c.8 0 1.5-.7 1.5-1.5V48c0-2.2-1.8-4-4-4H19z\"},{\"d\":\"M18 26.7h-4.1c-.6 0-1-.5-1-1V14c0-.6.4-1 1-1H18c.5 0 1 .4 1 1v11.7c0 .6-.5 1-1 1zM38.1 26.7H24.8c-.6 0-1-.4-1-1V14c0-.6.4-1 1-1h13.3c.5 0 1 .4 1 1v11.7c0 .6-.5 1-1 1z\"}]},\nsearch:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M49.598 45.298l-13.4-13.3c2.7-3.8 4.1-8.6 3.4-13.7-1.2-8.6-8.2-15.4-16.9-16.2-11.8-1.2-21.8 8.8-20.6 20.7.8 8.6 7.6 15.7 16.2 16.9 5.1.7 9.9-.7 13.7-3.4l13.3 13.3c.6.6 1.5.6 2.1 0l2.1-2.1c.6-.6.6-1.6.1-2.2zm-41.6-24.4c0-7.1 5.8-12.9 12.9-12.9 7.1 0 12.9 5.8 12.9 12.9 0 7.1-5.8 12.9-12.9 12.9-7.1 0-12.9-5.7-12.9-12.9z\",\"fill-rule\":\"evenodd\"}},\nsection:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",\"d\":\"M47.6 29.2h-8c-1.3 0-2.4-1.1-2.4-2.4v-1.6c0-1.3 1.1-2.4 2.4-2.4h8c1.3 0 2.4 1.1 2.4 2.4v1.6c0 1.3-1.1 2.4-2.4 2.4M30 29.2h-8c-1.3 0-2.4-1.1-2.4-2.4v-1.6c0-1.3 1.1-2.4 2.4-2.4h8c1.3 0 2.4 1.1 2.4 2.4v1.6c0 1.3-1.1 2.4-2.4 2.4M12.4 29.2h-8C3 29.2 2 28.1 2 26.8v-1.6c0-1.3 1.1-2.4 2.4-2.4h8c1.3 0 2.4 1.1 2.4 2.4v1.6c0 1.3-1.1 2.4-2.4 2.4M43.6 34H8.4c-1.8 0-3.2 1.4-3.2 3.2v8c0 1.8 1.4 3.2 3.2 3.2h35.2c1.8 0 3.2-1.4 3.2-3.2v-8c0-1.8-1.5-3.2-3.2-3.2zM42 42.8c0 .4-.4.8-.8.8H10.8c-.4 0-.8-.4-.8-.8v-3.2c0-.4.4-.8.8-.8h30.4c.4 0 .8.4.8.8v3.2zM43.6 3.6H8.4C6.6 3.6 5.2 5 5.2 6.8v8c0 1.8 1.4 3.2 3.2 3.2h35.2c1.8 0 3.2-1.4 3.2-3.2v-8c0-1.8-1.5-3.2-3.2-3.2zM42 12.4c0 .4-.4.8-.8.8H10.8c-.4 0-.8-.4-.8-.8V9.2c0-.4.4-.8.8-.8h30.4c.4 0 .8.4.8.8v3.2z\"}},\nsend:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M2.1 44.5l4.4-16.3h18.6c.5 0 1-.5 1-1v-2c0-.5-.5-1-1-1H6.5l-4.3-16C2.1 8 2 7.7 2 7.4c0-.7.7-1.4 1.5-1.3.2 0 .3.1.5.1l45 18.5c.6.2 1 .8 1 1.4s-.4 1.1-.9 1.3L4 46.4c-.2.1-.4.1-.6.1-.8-.1-1.4-.7-1.4-1.5 0-.2 0-.3.1-.5z\"}},\nsentiment_negative:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M26 2C12.8 2 2 12.8 2 26.1s10.8 24.1 24 24.1 24-10.8 24-24.1S39.2 2 26 2zm-9 13c1.7 0 3 1.8 3 4s-1.3 4-3 4-3-1.8-3-4 1.3-4 3-4zm-3 23.7c.5-6.1 5-11.2 12.1-11.2 7 0 11.4 5.1 11.9 11.2H14zM35 23c-1.7 0-3-1.8-3-4s1.3-4 3-4 3 1.8 3 4-1.3 4-3 4z\"}},\nsentiment_neutral:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M26 2C12.8 2 2 12.8 2 26.1s10.8 24.1 24 24.1 24-10.8 24-24.1S39.2 2 26 2zm-9 13c1.7 0 3 1.8 3 4s-1.3 4-3 4-3-1.8-3-4 1.3-4 3-4zm21 19.1c0 1.1-.9 1.9-1.9 1.9H15.9c-1.1 0-1.9-.9-1.9-1.9V34c0-1.1.9-1.9 1.9-1.9H36c1.1 0 2 .9 2 2zM35 23c-1.7 0-3-1.8-3-4s1.3-4 3-4 3 1.8 3 4-1.3 4-3 4z\"}},\nserialized_product:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M45.06 19.3a1.6 1.6 0 011.58 1.47v22.72a4.81 4.81 0 01-4.55 4.83h-32a4.82 4.82 0 01-4.74-4.62V20.92a1.61 1.61 0 011.44-1.61h38.27zm-8.59 22.93H15.53a.74.74 0 00-.74.73v.74a.74.74 0 00.74.73h20.94a.74.74 0 00.74-.73V43a.74.74 0 00-.74-.77zM17.4 27.14h-1.87a.74.74 0 00-.74.74v11.4a.74.74 0 00.74.74h1.87a.75.75 0 00.75-.74v-11.4a.75.75 0 00-.75-.74zm19.07 0H34.6a.75.75 0 00-.75.74v11.4a.75.75 0 00.75.74h1.87a.74.74 0 00.74-.74v-11.4a.74.74 0 00-.74-.74zm-9.35 0h-2.24a.75.75 0 00-.75.74v11.4a.75.75 0 00.75.74h2.24a.75.75 0 00.75-.74v-11.4a.75.75 0 00-.75-.74zm4.49 0h-.75a.75.75 0 00-.75.74v11.4a.75.75 0 00.75.74h.75a.74.74 0 00.74-.74v-11.4a.74.74 0 00-.74-.74zm-9.72 0h-.75a.75.75 0 00-.75.74v11.4a.75.75 0 00.75.74h.75a.75.75 0 00.75-.74v-11.4a.75.75 0 00-.75-.74zm14.58-4H15.53a.74.74 0 00-.74.73v.74a.74.74 0 00.74.73h20.94a.74.74 0 00.74-.73v-.74a.74.74 0 00-.74-.77zM45.2 3.67A4.81 4.81 0 0150 8.46v4.78a1.6 1.6 0 01-1.6 1.6H3.6a1.6 1.6 0 01-1.6-1.6V8.46a4.81 4.81 0 014.8-4.79z\"}},\nserialized_product_transaction:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M43.76 42a1.53 1.53 0 011.44 1.6v1.6a1.53 1.53 0 01-1.44 1.6H3.44A1.53 1.53 0 012 45.2v-1.6A1.53 1.53 0 013.44 42zM7 13.2a1.45 1.45 0 011.4 1.46v22.68A1.45 1.45 0 017 38.8H3.42A1.45 1.45 0 012 37.34V14.66a1.45 1.45 0 011.42-1.46zm19 0a1.54 1.54 0 011.6 1.46v22.68A1.54 1.54 0 0126 38.8h-4.8a1.54 1.54 0 01-1.6-1.46V14.66a1.54 1.54 0 011.6-1.46zm-9.6 0a1.54 1.54 0 011.6 1.46v22.68a1.54 1.54 0 01-1.6 1.46h-1.6a1.54 1.54 0 01-1.6-1.46V14.66a1.54 1.54 0 011.6-1.46zm22.9 0a1.13 1.13 0 01.86.42l9.47 10.65a1.44 1.44 0 01.37 1 1.41 1.41 0 01-.37 1L40.2 36.78a1.12 1.12 0 01-.86.42 1.1 1.1 0 01-.86-.42l-1.72-1.93a1.44 1.44 0 01-.37-1 1.41 1.41 0 01.37-1l3-3.34a1 1 0 00.17-1 .82.82 0 00-.75-.57h-7a1.5 1.5 0 01-1.31-1.4v-2.73a1.41 1.41 0 011.31-1.39h7a.84.84 0 00.75-.57 1 1 0 00-.17-1l-3-3.33a1.45 1.45 0 01-.36-1 1.48 1.48 0 01.36-1l1.73-1.94a1.1 1.1 0 01.81-.38zm4.46-8a1.53 1.53 0 011.44 1.6v1.6a1.53 1.53 0 01-1.44 1.6H3.44A1.53 1.53 0 012 8.4V6.8a1.53 1.53 0 011.44-1.6z\"}},\nservice_territory_policy:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M17.05 2H8a6.08 6.08 0 00-6 6.09v5.68a6 6 0 006 6.09h9.05a6 6 0 006-6.09V8.09a6 6 0 00-6-6.09zm-3.26 13H11.3a4.06 4.06 0 010-8.12h2.49a4.06 4.06 0 110 8.12zM34.42 19.86h9a6 6 0 006-6.09V8.09a6 6 0 00-6-6.09h-9a6 6 0 00-6 6.09v5.68a6 6 0 006 6.09zm3.25-13h2.49a4.06 4.06 0 110 8.12h-2.49a4.06 4.06 0 010-8.12zM17.05 24.73H8a6.08 6.08 0 00-6 6.09v5.69a6.06 6.06 0 006 6.08h9.05a6.06 6.06 0 006-6.08v-5.69a6 6 0 00-6-6.09zm-3.26 13H11.3a4.06 4.06 0 010-8.12h2.49a4.06 4.06 0 110 8.12zM39.18 24.73c-6 0-10.81 4.47-10.81 10.05 0 6.94 7.74 13.3 10.13 15a1.17 1.17 0 001.42 0C42.31 48 50 41.72 50 34.78c0-5.58-4.84-10.05-10.82-10.05zm0 14.2a4.4 4.4 0 01-4.55-4.21 4.57 4.57 0 019.11 0 4.4 4.4 0 01-4.56 4.21z\"}},\nsettings:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M26.1 19.1c-3.9 0-7 3.1-7 7s3.1 7 7 7 7-3.1 7-7-3.1-7-7-7z\"},{\"d\":\"M47.1 32.4l-3.7-3.1c.2-1.1.3-2.3.3-3.4s-.1-2.3-.3-3.4l3.7-3.1c1.2-1 1.6-2.8.8-4.2l-1.6-2.8c-.6-1-1.7-1.6-2.9-1.6-.4 0-.8.1-1.1.2l-4.6 1.7c-1.8-1.6-3.8-2.7-5.9-3.4L31 4.6c-.3-1.6-1.7-2.5-3.3-2.5h-3.2c-1.6 0-3 .9-3.3 2.5l-.8 4.6c-2.2.7-4.2 1.9-6 3.4l-4.6-1.7c-.4-.1-.7-.2-1.1-.2-1.2 0-2.3.6-2.9 1.6l-1.6 2.8c-.8 1.4-.5 3.2.8 4.2l3.7 3.1c-.2 1.1-.3 2.3-.3 3.4 0 1.2.1 2.3.3 3.4L5 32.3c-1.2 1-1.6 2.8-.8 4.2l1.6 2.8c.6 1 1.7 1.6 2.9 1.6.4 0 .8-.1 1.1-.2l4.6-1.7c1.8 1.6 3.8 2.7 5.9 3.4l.8 4.8c.3 1.6 1.6 2.7 3.3 2.7h3.2c1.6 0 3-1.2 3.3-2.8l.8-4.8c2.3-.8 4.4-2 6.2-3.7l4.3 1.7c.4.1.8.2 1.2.2 1.2 0 2.3-.6 2.9-1.6l1.5-2.6c.9-1.1.5-2.9-.7-3.9zm-21 4.7c-6.1 0-11-4.9-11-11s4.9-11 11-11 11 4.9 11 11-4.9 11-11 11z\"}]}},\nsetup:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M46.8 32.4l-3.7-3.1c.2-1.1.3-2.3.3-3.4s-.1-2.3-.3-3.4l3.7-3.1c1.2-1 1.6-2.8.8-4.2L46 12.3c-.6-1-1.7-1.6-2.9-1.6-.4 0-.8.1-1.1.2l-4.5 1.7c-1.8-1.6-3.8-2.7-5.8-3.4l-.8-4.7C30.6 2.9 29.2 2 27.6 2h-3.2c-1.6 0-3 .9-3.3 2.5l-.8 4.6c-2.2.7-4.1 1.9-5.9 3.4L10 10.8c-.4-.1-.7-.2-1.1-.2-1.2 0-2.3.6-2.9 1.6L4.4 15c-.8 1.4-.5 3.2.8 4.2l3.7 3.1c-.2 1.1-.3 2.3-.3 3.4 0 1.2.1 2.3.3 3.4l-3.7 3.1c-1.2 1-1.6 2.8-.8 4.2l1.6 3c.6 1 1.7 1.6 2.9 1.6.4 0 .8-.1 1.1-.2l4.5-1.7c1.8 1.6 3.8 2.7 5.8 3.4l.8 4.8c.3 1.6 1.6 2.7 3.3 2.7h3.2c1.6 0 3-1.2 3.3-2.8l.8-4.8c2.3-.8 4.3-2 6.1-3.7l4.2 1.7c.4.1.8.2 1.2.2 1.2 0 2.3-.6 2.9-1.6l1.5-2.6c.8-1.2.4-3-.8-4zm-20.7 4.7c-6 0-10.9-4.9-10.9-11s4.8-11 10.9-11S37 20 37 26.1s-4.9 11-10.9 11z\"},{\"d\":\"M29 18h-4.6c-.7 0-1.3.4-1.5 1l-2.8 7.2c-.2.5.2 1.1.8 1.1h4.7l-1.7 6c-.2.6.5.9.9.5l7.1-8.3c.5-.5.1-1.3-.6-1.3h-3.5l3.1-4.9c.3-.5-.1-1.2-.7-1.2H29z\"}]},\nsetup_assistant_guide:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M11.5 24.9c0-.4-.5-.6-.8-.4l-4.5 3.7c-.2.2-.2.5-.2.8v15.9c0 1 1.4 1.5 2.3.8l7.3-5.7c.2-.2.3-.4.1-.7-1.8-2.7-3.6-7.2-4.2-14.4zM21.2 39.8c.2.1.4.2.6.2h8.3c.2 0 .4-.1.6-.2 1.2-.8 6-4.8 6-18.4 0-6.3-1.8-10.7-3.9-13.7C29.7 3.3 26 2 26 2s-3.8 1.3-6.9 5.8c-2.1 3-3.8 7.3-3.8 13.6C15.3 35 20 39 21.2 39.8zM25.9 13c3.3 0 6 2.7 6 6s-2.7 6-6 6-6-2.7-6-6 2.7-6 6-6zM45.7 28.2l-4.4-3.7c-.3-.3-.8-.1-.8.4-.6 7.2-2.4 11.7-4.1 14.5-.1.2-.1.5.1.7l7.3 5.7c.9.7 2.2.2 2.2-.8V29c0-.3 0-.6-.3-.8zM32.2 44.5c-.2-.3-.5-.5-.8-.5h-11c-.3 0-.7.2-.8.5-.4.6-1 1.7-1.4 3.1-.3 1.2.7 2.4 2 2.4h11.4c1.3 0 2.3-1.2 2-2.4-.4-1.5-1-2.6-1.4-3.1z\"}}},\nsetup_modal:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M48.5 2h-45C2.7 2 2 2.7 2 3.5v32.4c0 .8.7 1.5 1.5 1.5h45c.8 0 1.5-.7 1.5-1.5V3.5c0-.8-.7-1.5-1.5-1.5z\"},{\"d\":\"M32 44c1.1 0 2 .9 2 2s-.9 2-2 2-2-.9-2-2 .9-2 2-2m0-2c-2.2 0-4 1.8-4 4s1.8 4 4 4 4-1.8 4-4-1.8-4-4-4z\"}],\"circle\":[{\"cx\":\"20\",\"cy\":\"46\",\"r\":\"4\"},{\"cx\":\"8\",\"cy\":\"46\",\"r\":\"4\"},{\"cx\":\"44\",\"cy\":\"46\",\"r\":\"4\"}]},\nshare:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M48.5 30h-3c-.8 0-1.5.7-1.5 1.5v11c0 .8-.7 1.5-1.5 1.5h-33c-.8 0-1.5-.7-1.5-1.5v-21c0-.8.7-1.5 1.5-1.5h4c.8 0 1.5-.7 1.5-1.5v-3c0-.8-.7-1.5-1.5-1.5H6c-2.2 0-4 1.8-4 4v28c0 2.2 1.8 4 4 4h40c2.2 0 4-1.8 4-4V31.5c0-.8-.7-1.5-1.5-1.5zM34 14c-10 0-19.1 8.9-19.9 19.4-.1.8.6 1.6 1.5 1.6h3c.8 0 1.4-.6 1.5-1.3C20.8 26.2 27.2 20 35 20h1.6c.9 0 1.3 1.1.7 1.7l-5.5 5.6c-.6.6-.6 1.5 0 2.1l2.1 2.1c.6.6 1.5.6 2.1 0L49.6 18c.6-.6.6-1.5 0-2.1L36.1 2.4c-.6-.6-1.5-.6-2.1 0l-2.1 2.1c-.6.6-.7 1.5-.1 2.1l5.6 5.6c.6.6.2 1.7-.7 1.7L34 14z\"}},\nshare_file:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M41 15.9h7.8c.4 0 .7-.5.4-.9l-8.3-8.3c-.4-.3-.9 0-.9.4v7.8c0 .6.4 1 1 1zm8 4H38c-1.1 0-2-.9-2-2v-11c0-.6-.4-1-1-1H21.5c-.8 0-1.5.7-1.5 1.5v4c0 .4.2.8.4 1.1l5.6 5.6c.8.8 1.4 1.9 1.6 3.1.2 1.6-.3 3.1-1.4 4.3L24.6 27c-.5.5-1 .8-1.6 1.1.7.3 1.5.5 2.3.6 2.6.2 4.7 2.4 4.7 5.1V36c0 1.4-.7 2.8-1.7 3.7-1 1-2.5 1.4-3.9 1.3-1.1-.1-2.1-.3-3.2-.5-.6-.2-1.2.3-1.2 1v3.1c0 .8.7 1.5 1.5 1.5h27c.8 0 1.5-.7 1.5-1.5V21c0-.6-.4-1-1-1.1zM26 35.8v-2.2c0-.6-.5-1-1.1-1.1-5.4-.5-9.9-5.1-9.9-10.8v-1.2c0-.6.8-1 1.2-.5l4 4c.4.4 1.1.4 1.5 0l1.5-1.5c.4-.4.4-1.1 0-1.5l-9.7-9.7c-.4-.4-1.1-.4-1.5 0L2.3 21c-.4.4-.4 1.1 0 1.5L3.8 24c.4.4 1.1.5 1.5.1l4.2-4c.5-.5 1.4-.1 1.4.5v1.9c0 7.2 6.3 13.8 13.9 14.4.7 0 1.2-.5 1.2-1.1z\"}},\nshare_mobile:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M41.957 50.438c2.2 0 4-1.799 4-4V19.512c0-2.2-1.8-4-4-4h-7.5c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h4c.801 0 1.5.7 1.5 1.501v19.924c0 .799-.699 1.5-1.5 1.5H13.465c-.8 0-1.5-.701-1.5-1.5V23.013c0-.801.7-1.501 1.5-1.501h4c.8 0 1.5-.699 1.5-1.5v-3c0-.8-.7-1.5-1.5-1.5h-7.5c-2.2 0-4 1.8-4 4v26.925c0 2.198 1.8 4 4 4h31.992v.001z\"},{\"d\":\"M28.952 30.898V11.487h5.899c1 0 1.5-.9.899-1.4l-9-8.3c-.399-.3-1-.3-1.399 0l-9 8.3c-.601.6-.101 1.4.899 1.4h5.7v19.412c0 .802.7 1.602 1.5 1.602h3c.802-.001 1.502-.801 1.502-1.603z\"}]}},\nshare_post:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M26 4C12.7 4 2 13.8 2 26c0 3.9 1.1 7.5 3 10.8.2.4.3.9.2 1.3L3 45c-.4 1.3.8 2.4 2.1 2l7-2.4c.5-.2 1-.1 1.4.2 3.7 2.1 8 3.3 12.6 3.3 13.3 0 24-9.8 24-22C49.8 13.8 39.1 4 26 4z\"}},\nshield:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M4.8 14h42.4c1 0 1.8-1 1.5-2-1-3.3-2.4-6.3-4.3-9-.6-.8-1.7-.9-2.3-.2-1.9 1.8-4.6 2.8-7.4 2.8-3 0-5.7-1.2-7.7-3.2-.6-.6-1.6-.6-2.2 0-2 2-4.7 3.2-7.7 3.2-2.8 0-5.4-1-7.4-2.8-.7-.6-1.8-.5-2.3.2C5.5 5.6 4 8.7 3.1 12c-.1 1 .7 2 1.7 2zM50 20.4c0-.9-.7-1.4-1.6-1.4H3.6c-.9 0-1.6.5-1.6 1.4v.3c0 15 10.4 27.4 24 29.3 13.6-1.9 24-14.3 24-29.2v-.4z\"}}},\nshift_pattern:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M43.6 6.8h-4V5.2a3.2 3.2 0 00-6.4 0v1.6H18.8V5.2a3.2 3.2 0 00-6.4 0v1.6h-4a4.81 4.81 0 00-4.8 4.8v1.6a1.6 1.6 0 001.6 1.6h41.6a1.6 1.6 0 001.6-1.6v-1.6a4.81 4.81 0 00-4.8-4.8zm3.2 12.8a1.6 1.6 0 011.6 1.6v24a4.81 4.81 0 01-4.8 4.8H8.4a4.81 4.81 0 01-4.8-4.8v-24a1.6 1.6 0 011.6-1.6h41.6zM36 41.46h-9.39a.93.93 0 00-.93.93V45a.93.93 0 00.93.93H36a.93.93 0 00.93-.93v-2.61a.93.93 0 00-.93-.93zm0-10.79H15.54a.93.93 0 00-.93.93v6.32a.93.93 0 00.93.93H36a.93.93 0 00.93-.93V31.6a.93.93 0 00-.93-.93zM24.93 23.6h-9.39a.93.93 0 00-.93.93v2.65a.93.93 0 00.93.93h9.39a.93.93 0 00.93-.93v-2.65a.93.93 0 00-.93-.93z\"}},\nshift_pattern_entry:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M27.4 2A1.58 1.58 0 0129 3.6v11.2a3.89 3.89 0 004.2 4.2h11.2a1.58 1.58 0 011.6 1.6v24.6a4.87 4.87 0 01-4.8 4.8H10.8A4.87 4.87 0 016 45.2V6.8A4.87 4.87 0 0110.8 2h16.6zm8.79 38.66H26.8a.93.93 0 00-.93.93v2.65a.93.93 0 00.93.93h9.39a.93.93 0 00.93-.93v-2.65a.93.93 0 00-.93-.93zm0-10.79H15.73a.93.93 0 00-.93.93v6.32a.93.93 0 00.93.93h20.46a.93.93 0 00.93-.93V30.8a.93.93 0 00-.93-.93zM25.12 22.8h-9.39a.93.93 0 00-.93.93v2.65a.93.93 0 00.93.93h9.39a.93.93 0 00.93-.93v-2.65a.93.93 0 00-.93-.93zM34.2 2a1.4 1.4 0 01.9.3l10.6 10.6a1.4 1.4 0 01.3.9 1.2 1.2 0 01-1.1 1.2h-8.5a3.5 3.5 0 01-3.4-3.4V3.1A1.2 1.2 0 0134.2 2z\"}},\nshift_scheduling_operation:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M46.8 19.6a1.6 1.6 0 011.6 1.6v24a4.81 4.81 0 01-4.8 4.8H8.4a4.81 4.81 0 01-4.8-4.8v-24a1.6 1.6 0 011.6-1.6h41.6zM26 22.8a12 12 0 1012 12 12 12 0 00-12-12zm2.3 5.73l4.3 4.2a.62.62 0 010 .73l-4.3 4.15c-.31.31-.73 0-.73-.47v-2.49a4.93 4.93 0 00-5.18 4.68 5.23 5.23 0 000 .56h-3.11a8.23 8.23 0 018.11-8.35h.18V29c0-.52.43-.78.73-.47zM36.4 2a3.21 3.21 0 013.2 3.2v1.6h4a4.81 4.81 0 014.8 4.8v1.6a1.6 1.6 0 01-1.6 1.6H5.2a1.6 1.6 0 01-1.6-1.6v-1.6a4.81 4.81 0 014.8-4.8h4V5.2a3.2 3.2 0 016.4 0v1.6h14.4V5.2A3.21 3.21 0 0136.4 2z\"}},\nshift_ui:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M27.8 40.7H48c1.1 0 2 .9 2 2v5.7c0 1.1-.9 2-2 2H27.8c-1.1 0-2-.9-2-2v-5.7c0-1.1.9-2 2-2zM4 17.5h44c1.1 0 2 .9 2 2v13.6c0 1.1-.9 2-2 2H4c-1.1 0-2-.9-2-2V19.5c0-1.1.9-2 2-2zM4 2.3h20.2c1.1 0 2 .9 2 2V10c0 1.1-.9 2-2 2H4c-1.1 0-2-.9-2-2V4.3c0-1.1.9-2 2-2z\"}}},\nshopping_bag:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M64.7 19.1v.4-.4z\"},{\"d\":\"M44 19.6c0-2.2-1.8-4-4-4h-.7c-.5-6.8-6.2-12.2-13.2-12.2S13.5 8.8 12.9 15.6H12c-2.2 0-4 1.8-4 4l-2 25c0 2.2 1.8 4 4 4h32c2.2 0 4-1.8 4-4l-2-25zM26.1 9.4c3.7 0 6.7 2.7 7.2 6.2H18.9c.6-3.5 3.6-6.2 7.2-6.2zm5.7 18.2H20.2c-1.7 0-3-1.4-3-3s1.4-3 3-3h11.7c1.7 0 3 1.4 3 3s-1.4 3-3.1 3z\"}]},\nshortcuts:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M12.1 2.7h26.5c.9 0 1.6.7 1.6 1.6 0 .5-.2.9-.5 1.2l-7.2 7.2c4.4 3.9 16.7 17.5 2.3 34.9l-.2.2c0 .1-.1.1-.2.2-.3.4-.8.7-1.4.7-.9 0-1.6-.7-1.6-1.6v-.2-.1c0-.1 0-.2.1-.2.5-2.2 3.6-17.2-9.6-23.4l-8.7 8.7c-.3.3-.7.5-1.1.5-.9 0-1.6-.7-1.6-1.6V4.4c-.1-.9.7-1.7 1.6-1.7z\"}},\nside_list:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M48.5 4h-27c-.8 0-1.5.7-1.5 1.5v41c0 .8.7 1.5 1.5 1.5h27c.8 0 1.5-.7 1.5-1.5v-41c0-.8-.7-1.5-1.5-1.5zM14.5 4h-11C2.7 4 2 4.7 2 5.5v5c0 .8.7 1.5 1.5 1.5h11c.8 0 1.5-.7 1.5-1.5v-5c0-.8-.7-1.5-1.5-1.5zM14.5 16h-11c-.8 0-1.5.7-1.5 1.5v5c0 .8.7 1.5 1.5 1.5h11c.8 0 1.5-.7 1.5-1.5v-5c0-.8-.7-1.5-1.5-1.5zM14.5 28h-11c-.8 0-1.5.7-1.5 1.5v5c0 .8.7 1.5 1.5 1.5h11c.8 0 1.5-.7 1.5-1.5v-5c0-.8-.7-1.5-1.5-1.5zM14.5 40h-11c-.8 0-1.5.7-1.5 1.5v5c0 .8.7 1.5 1.5 1.5h11c.8 0 1.5-.7 1.5-1.5v-5c0-.8-.7-1.5-1.5-1.5z\"}},\nsignpost:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M49.5 9l-4.2-3.1c-.6-.4-1.2-.6-1.9-.6H29.2V3.6c0-.9-.7-1.6-1.6-1.6h-3.2c-.9 0-1.6.7-1.6 1.6v1.6h-16c-.9 0-1.6.7-1.6 1.6v6.4c0 .9.7 1.6 1.6 1.6H43.4c.7 0 1.4-.2 1.9-.6l4.2-3.1c.7-.6.7-1.6 0-2.1zM45.2 22.8h-16v-2.4c0-.5-.3-.8-.8-.8h-4.8c-.5 0-.8.3-.8.8v2.4H8.6c-.7 0-1.4.2-1.9.6l-4.2 3.1c-.7.5-.7 1.5 0 2.1l4.2 3.1c.6.4 1.2.6 1.9.6h36.6c.9 0 1.6-.7 1.6-1.6v-6.4c0-.8-.7-1.5-1.6-1.5zM29.2 43.3V38c0-.5-.3-.8-.8-.8h-4.8c-.5 0-.8.3-.8.8v5.3c-3.2.9-5 2.8-5.5 5.2-.2.7.4 1.5 1.2 1.5h15.1c.8 0 1.4-.7 1.2-1.5-.6-2.4-2.4-4.3-5.6-5.2z\"}}},\nskip:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M39.5 32.3v.7c0 1 .7 1 1.3.4l4.9-4.9c.5-.6 1.5-.6 2.1 0l2.1 2.1c.6.5.6 1.5 0 2.1L37 45.6c-.5.5-1.3.5-1.8 0l-13-13c-.5-.6-.5-1.3.1-1.9l2.2-2.2c.6-.6 1.5-.7 2.1-.1l4.9 4.9c.7.7 1.3.9 1.7.1.1-.3.1-1.1.1-1.1V25c0-7.1-5.7-12.8-12.8-12.8S7.7 17.8 7.7 24.9v13.3c0 .8-.7 1.4-1.5 1.4H3c-.8 0-1.4-.5-1.4-1.3V24.9C1.6 14.5 10 6 20.5 6s18.9 8.5 18.9 18.9l.1 7.4z\"}},\nskip_back:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M26 7.9V2.6c0-.5-.6-.8-1.1-.5l-10.3 8.5c-.4.3-.4.9 0 1.2l10.3 8.4c.4.4 1.1 0 1.1-.4v-5.4c8 0 14.6 6.5 14.6 14.6S34 43.5 26 43.5 11.4 37 11.4 28.9c0-2.3.5-4.5 1.5-6.5 0 0 0-.1.1-.2.2-.4.4-.9.6-1.2.3-.5.6-1.3 0-1.8s-3.1-2.6-3.3-2.7c-.2-.1-.9-.8-1.6.2-.4.6-.9 1.5-1.3 2.2 0 .1-.1.1-.1.2-.2.3-.3.6-.4.7-1.3 2.7-2 5.8-2 9.1 0 11.6 9.4 21 21 21s21-9.4 21-21-9.3-21-20.9-21z\"}},\nskip_forward:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M26 7.9V2.6c0-.5.6-.8 1.1-.5l10.3 8.5c.4.3.4.9 0 1.2l-10.3 8.4c-.4.4-1.1 0-1.1-.4v-5.4c-8 0-14.6 6.5-14.6 14.6S18 43.5 26 43.5 40.6 37 40.6 28.9c0-2.3-.5-4.5-1.5-6.5 0 0 0-.1-.1-.2-.2-.4-.4-.9-.6-1.2-.3-.5-.6-1.3 0-1.8s3.1-2.6 3.3-2.7c.2-.1.9-.8 1.6.2.4.6.9 1.5 1.3 2.2 0 .1.1.1.1.2.2.3.3.6.4.7 1.3 2.7 2 5.8 2 9.1 0 11.6-9.4 21-21 21S5 40.6 5 29 14.4 7.9 26 7.9z\"}},\nslider:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M43 23.1h5c1.1 0 2 .9 2 2v2c0 1.1-.9 2-2 2h-5c-.6 0-.9-.5-.8-1 0 0 .3-1 .3-2s-.3-2.1-.3-2.1c-.1-.6.3-1 .8-.9zM10.8 41H4c-1.1 0-2 .9-2 2v2c0 1.1.9 2 2 2h6.8c1 1.8 3 3 5.2 3 3.3 0 6-2.7 6-6s-2.7-6-6-6c-2.2 0-4.2 1.2-5.2 3zM26.2 42s.3 1.1.3 2.1-.3 2-.3 2c-.1.5.2 1 .8 1h21c1.1 0 2-.9 2-2v-2c0-1.1-.9-2-2-2H27c-.6-.1-.9.3-.8.9zM30.2 6s.3 1.1.3 2.1-.3 2-.3 2c-.1.5.2 1 .8 1h17c1.1 0 2-.9 2-2v-2c0-1.1-.9-2-2-2H31c-.5-.1-.9.3-.8.9zM14.8 5H4c-1.1 0-2 .9-2 2v2c0 1.1.9 2 2 2h10.8c1 1.8 3 3 5.2 3 3.3 0 6-2.7 6-6s-2.7-6-6-6c-2.2 0-4.2 1.2-5.2 3zM26.8 23H4c-1.1 0-2 .9-2 2v2c0 1.1.9 2 2 2h22.8c1 1.8 3 3 5.2 3 3.3 0 6-2.7 6-6s-2.7-6-6-6c-2.2 0-4.2 1.2-5.2 3z\"}}},\nsmiley_and_people:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M50 26.1c0 13.3-10.755 24.1-24 24.1S2 39.4 2 26.1 12.755 2 26 2s24 10.8 24 24.1zM17 15c-1.674 0-3 1.767-3 4s1.326 4 3 4 3-1.767 3-4-1.326-4-3-4zm18 0c-1.674 0-3 1.767-3 4s1.326 4 3 4 3-1.767 3-4-1.326-4-3-4zM11 29c.632 7.644 6.158 14 14.921 14C34.685 43 40.368 36.644 41 29H11z\"}},\nsms:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M26 4C12.7 4 2.1 13.8 2.1 25.9c0 3.8 1.1 7.4 2.9 10.6.3.5.4 1.1.2 1.7l-3.1 8.5c-.3.8.5 1.5 1.3 1.3l8.6-3.3c.5-.2 1.1-.1 1.7.2 3.6 2 7.9 3.2 12.5 3.2C39.3 48 50 38.2 50 26.1 49.9 13.8 39.2 4 26 4zm-9.6 25.6c-.3.5-.6 1-1 1.3s-.9.6-1.5.8c-.5.2-1.1.2-1.7.2-.8 0-1.5-.1-2.2-.4-.7-.3-1.4-.7-1.9-1.3l-.2-.2c-.1-.1 0-.3.2-.5L9.7 28c.2-.2.4-.2.5-.1s.2.3.2.3c.2.3.5.5.8.7.5.3 1 .3 1.6.2.2 0 .3-.1.5-.2l.3-.3c.1-.1.1-.3.1-.4 0-.4-.1-.5-.2-.6-.2-.2-.5-.4-.9-.5s-.8-.3-1.3-.4c-.5-.2-1-.4-1.4-.6-.5-.3-.8-.7-1.1-1.1-.3-.5-.5-1.1-.5-1.9 0-.7.1-1.3.4-1.8.3-.5.6-.9 1.1-1.2.4-.3.9-.6 1.5-.7 1.2-.3 2.4-.3 3.6.1.6.2 1.2.6 1.5.8l.3.2c.2.1.1.4-.1.6l-1.5 1.5c-.2.2-.5.2-.7 0-.2-.1-.3-.3-.4-.3-.5-.3-1.2-.4-1.8-.3-.2 0-.3.1-.4.2l-.3.3c-.1.1-.1.2-.1.4 0 .3.1.4.2.5.2.2.5.3.9.5.4.1.8.3 1.3.4.5.2 1 .4 1.4.6.5.3.8.7 1.1 1.1.3.5.5 1.1.5 1.9 0 .6-.1 1.2-.4 1.7zM33 31c0 .6-.5 1-1.1 1h-1c-.6 0-.9-.4-.9-1v-5.9c0-.6-.8-.7-1-.2l-1.7 4.5c-.1.4-.5.6-.9.6h-.7c-.4 0-.8-.3-.9-.6L23 24.9c-.2-.5-1-.4-1 .2V31c0 .6-.5 1-1.1 1h-1c-.6 0-.9-.4-.9-1V20c0-.6.4-1 .9-1h2.6c.4 0 .8.3.9.6l2 5.2c.2.4.8.4.9 0l2-5.2c.1-.4.5-.6.9-.6h2.7c.6 0 1.1.4 1.1 1v11zm10.5-1.3c-.3.5-.6 1-1.1 1.3-.4.3-.9.6-1.5.8s-1.1.2-1.7.2c-.8 0-1.5-.1-2.2-.4-.7-.3-1.4-.7-1.9-1.3l-.2-.2c-.1-.1 0-.3.2-.5l1.6-1.5c.2-.2.4-.2.5-.1s.2.3.2.3c.2.3.5.5.8.7.5.3 1.1.3 1.6.2.2-.1.4-.1.5-.2l.3-.3c.1-.1.1-.3.1-.4 0-.4-.1-.5-.2-.6-.2-.2-.5-.4-.9-.5s-.8-.3-1.3-.4c-.5-.2-1-.4-1.4-.6-.5-.3-.9-.7-1.2-1.1-.3-.5-.5-1.1-.5-1.9 0-.7.1-1.3.4-1.8.3-.5.6-.9 1.1-1.2.4-.3 1-.6 1.5-.7 1.2-.3 2.4-.3 3.6.1.6.2 1.2.6 1.5.9l.3.3c.2.1.1.4-.1.6L42 22.9c-.2.2-.5.2-.7 0-.2-.1-.3-.3-.4-.3-.5-.3-1.2-.4-1.8-.3-.2 0-.3.1-.4.2l-.3.3c-.1.1-.1.3-.1.4 0 .3.1.4.2.5.2.2.5.3.9.5.4.1.8.3 1.3.4.5.2 1 .4 1.4.6.5.3.8.7 1.2 1.1.3.5.5 1.1.5 1.9.1.3 0 1-.3 1.5z\"}},\nsnippet:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M14.5 6h-11C2.7 6 2 6.7 2 7.5v13c0 .8.7 1.5 1.5 1.5h11c.8 0 1.5-.7 1.5-1.5v-13c0-.8-.7-1.5-1.5-1.5zM48.5 6h-27c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h27c.8 0 1.5-.7 1.5-1.5v-3c0-.8-.7-1.5-1.5-1.5zM21.5 22h17c.8 0 1.5-.7 1.5-1.5v-3c0-.8-.7-1.5-1.5-1.5h-17c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5zM14.5 30h-11c-.8 0-1.5.7-1.5 1.5v13c0 .8.7 1.5 1.5 1.5h11c.8 0 1.5-.7 1.5-1.5v-13c0-.8-.7-1.5-1.5-1.5zM48.5 30h-27c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h27c.8 0 1.5-.7 1.5-1.5v-3c0-.8-.7-1.5-1.5-1.5zM38.5 40h-17c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h17c.8 0 1.5-.7 1.5-1.5v-3c0-.8-.7-1.5-1.5-1.5z\"}},\nsobject:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M6.3 4.3h4c-4.8 10.6-4.8 18.6 0 29.2h-4C.7 21.3.8 16.5 6.3 4.3zM23.7 22.4c.4 1.8.7 3.3.9 3.9.3.9.8 1.6 1.4 2.1 1.5-1.2 3.4-1.9 5.4-1.9 1.3 0 2.5.3 3.6.8.2-.3.3-.6.3-.9 0-1-.8-1.8-1.8-1.8-.3 0-.5.1-.8.2 0 0-1.9 1.1-2.6.2-.5-.9-.9-2.1-1.2-3.5-.3-1.3-.6-2.8-.9-4.3l1.9-2.8s2.2.8 3.3.8 3.3-.9 3.3-3.8-2.1-3.1-2.8-3.1c-1.3 0-2.6.9-3.7 2.9s-2.4 4.2-2.4 4.2c-.3-1.4-.5-2.5-.6-3-.2-1.2-1.6-3.9-4.5-3.9s-5.6 1.7-5.6 1.7c-.5.3-.8.9-.8 1.5 0 1 .8 1.8 1.8 1.8.3 0 .5-.1.8-.2 0 0 2.2-1.2 2.7 0 .1.4.3.8.4 1.2.6 1.9 1.1 4.1 1.5 6.2l-1.9 2.7s-2.2-.8-3.3-.8c-1.1 0-3.3.9-3.3 3.8s2.1 3.1 2.8 3.1c1.3 0 2.6-.9 3.7-2.9s2.4-4.2 2.4-4.2zM43.5 28.8c.1 0 .1.1.2.1h.9c1 0 2 .2 2.9.5 3.6-9.4 3-14.4-1.9-25.1h-4c4.1 9 4.7 16.1 1.9 24.5zM35.3 32.4c.8-.8 1.9-1.3 3.2-1.3 1.6 0 3.1.9 3.9 2.2.7-.3 1.4-.5 2.2-.5 3 0 5.4 2.4 5.4 5.4 0 3-2.4 5.4-5.4 5.4-.4 0-.7 0-1.1-.1-.7 1.2-2 2-3.4 2-.6 0-1.2-.2-1.7-.4-.7 1.6-2.3 2.7-4.1 2.7-2 0-3.6-1.2-4.2-2.9-.3 0-.5.1-.9.1-2.3 0-4.2-1.8-4.2-4.1 0-1.5.8-2.9 2.1-3.6-.3-.6-.4-1.2-.4-1.9 0-2.6 2.2-4.8 4.8-4.8 1.5-.1 2.9.7 3.8 1.8z\"}},\nsobject_collection:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M13.6 15.1c-3.4 7.5-3.4 10.5 0 18.1h2.5c-3-6.6-3-11.5-.1-18.1h-2.4zM36.9 29.4c.5-.1 1-.2 1.5-.2.4 0 .7 0 1.1.1 1.7-5.1 1.3-8.1-1.5-14.3h-2.5c2.4 5.4 2.9 9.6 1.4 14.4z\"},{\"d\":\"M22.3 38.4H8.1c-1.1 0-2-.9-2-2V10.2h39.4v20.9c1.5.2 2.8.7 4 1.4V6.1c0-2.2-1.8-4-4-4H6.2c-2.2 0-4 1.8-4 4v32.3c0 2.2 1.8 4 4 4H21c.1-1.4.5-2.8 1.3-4z\"},{\"d\":\"M35.3 34.6c.8-.8 1.9-1.3 3.2-1.3 1.7 0 3.1.9 3.9 2.2.6-.2 1.4-.5 2.2-.5 2.9 0 5.4 2.4 5.4 5.3s-2.4 5.3-5.4 5.3c-.3 0-.7 0-1-.1-.6 1.2-2 2-3.4 2-.6 0-1.2-.2-1.7-.4-.7 1.6-2.3 2.7-4.1 2.7-2 0-3.6-1.2-4.2-2.8-.2 0-.6.1-.9.1-2.3 0-4.2-1.8-4.2-4.1 0-1.5.8-2.8 2.1-3.6-.2-.6-.4-1.2-.4-1.9 0-2.6 2.2-4.7 4.8-4.7 1.5-.1 2.8.7 3.7 1.8zM23 28.9c.7-1.2 1.5-2.5 1.5-2.5.2 1.1.4 2 .6 2.4.2.7.7 1.3 1.3 1.7 1.4-1 3.2-1.6 5.1-1.6h.2c0-.6-.5-1.1-1.1-1.1-.2 0-.3.1-.5.1 0 0-1.2.6-1.6.2-.3-.6-.6-1.3-.7-2.2-.2-.8-.4-1.7-.6-2.7l1.2-1.7s1.3.5 2 .5 2.1-.6 2.1-2.4-1.3-1.9-1.7-1.9c-.8 0-1.6.6-2.3 1.7-.7 1.2-1.5 2.5-1.5 2.5-.2-.9-.3-1.6-.4-1.9-.2-.7-1-2.4-2.8-2.4-1.8 0-3.4 1-3.4 1-.3.2-.5.6-.5.9 0 .6.5 1.1 1.1 1.1.2 0 .3-.1.5-.1 0 0 1.3-.8 1.7 0 .1.2.2.5.2.8.3 1.2.6 2.5.9 3.8l-1.2 1.7s-1.3-.5-2-.5-2.1.6-2.1 2.4 1.3 1.9 1.7 1.9c.9.1 1.7-.5 2.3-1.7z\"}]},\nsocialshare:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M40.9 32c-2.6 0-4.9 1.1-6.5 2.8l-14.6-7.3c.1-.5.1-1 .1-1.6 0-.5-.1-1.1-.1-1.6L34.4 17c1.6 1.8 4 2.9 6.6 2.9 5 0 9-4 9-9s-4-9-9-9-9 4-9 9v.6l-15.1 7.6c-1.7-1.3-3.7-2.1-6-2.1-5 0-9 4-9 9s4 9 9 9c2.3 0 4.3-.8 5.9-2.2l15.1 7.5v.7c0 5 4 9 9 9s9-4 9-9-4-9-9-9z\"}},\nsort:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M27.5 16c.6-.6.6-1.5 0-2.1L16.1 2.4c-.6-.6-1.5-.6-2.1 0L2.5 13.9c-.6.6-.6 1.5 0 2.1l2.1 2.1c.6.6 1.5.6 2.1 0l3.6-3.6c.6-.6 1.7-.2 1.7.7v21.2c0 .8.7 1.5 1.5 1.5h3c.8 0 1.5-.8 1.5-1.5V15.2c0-.9 1.1-1.3 1.7-.7l3.6 3.6c.6.6 1.5.6 2.1 0l2.1-2.1zM49.5 36l-2.1-2c-.6-.6-1.5-.6-2.1 0l-3.6 3.6c-.6.6-1.7.2-1.7-.7V15.5c0-.8-.7-1.5-1.5-1.5h-3c-.8 0-1.5.8-1.5 1.5v21.2c0 .9-1.1 1.3-1.7.7l-3.6-3.6c-.6-.6-1.5-.6-2.1 0L24.5 36c-.6.6-.6 1.5 0 2.1L36 49.6c.6.6 1.5.6 2.1 0l11.5-11.5c.5-.6.5-1.6-.1-2.1z\"}}},\nsort_policy:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M12.84 2H8a6 6 0 00-6 6v3.2a6 6 0 006 6h4.84a6 6 0 006-6V8a6 6 0 00-6-6zm-1.61 10.4h-1.6a2.8 2.8 0 010-5.6h1.6a2.8 2.8 0 010 5.6zM29.7 17.2h4.81a6 6 0 006-6V8a6 6 0 00-6-6H29.7a6 6 0 00-6 6v3.2a6 6 0 006 6zm1.6-10.4h1.61a2.8 2.8 0 110 5.6H31.3a2.8 2.8 0 010-5.6zM12.84 22H8a6 6 0 00-6 6v3.2a6 6 0 006 6h4.84a6 6 0 006-6V28a6 6 0 00-6-6zm-1.61 10.4h-1.6a2.8 2.8 0 010-5.6h1.6a2.8 2.8 0 010 5.6zM49.83 42.54l-1.17-1.13a.82.82 0 00-1.17 0l-2 1.92a.54.54 0 01-.76 0 .55.55 0 01-.16-.38V34a.87.87 0 00-.83-.83H42a.89.89 0 00-.84.83v8.9a.53.53 0 01-.51.55.54.54 0 01-.41-.17l-2-1.92a.82.82 0 00-1.16 0L36 42.49a.74.74 0 00-.08 1 .6.6 0 00.08.08l6.28 6.14a.82.82 0 001.16 0l6.33-6.14a.76.76 0 00.06-1.03zM36.63 30.65l1-1.13a.74.74 0 00.08-1l-.08-.08-6.28-6.14a.82.82 0 00-1.16 0l-6.28 6.14a.74.74 0 00-.08 1l.08.08 1.17 1.13a.82.82 0 001.16 0l2-1.92a.55.55 0 01.78 0 .58.58 0 01.14.34V38a.88.88 0 00.84.83h1.68a.88.88 0 00.83-.83v-8.9a.54.54 0 01.92-.38l2 1.92a.82.82 0 001.2.01z\"}},\nspinner:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M16 27.5v-3c0-.8-.7-1.5-1.5-1.5h-11c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h11c.8 0 1.5-.7 1.5-1.5zM17.9 32c-.6-.6-1.5-.6-2.1 0L8 39.8c-.6.6-.6 1.5 0 2.1l2.1 2.1c.6.6 1.5.6 2.1 0l7.8-7.8c.6-.6.6-1.5 0-2.1L17.9 32zM34.1 20c.6.6 1.5.6 2.1 0l7.8-7.8c.6-.6.6-1.5 0-2.1L41.9 8c-.6-.6-1.5-.6-2.1 0L32 15.7c-.6.6-.6 1.5 0 2.1l2.1 2.2zM12.2 8c-.6-.6-1.5-.6-2.1 0L8 10.1c-.6.6-.6 1.5 0 2.1l7.8 7.8c.6.6 1.5.6 2.1 0l2.1-2.1c.6-.6.6-1.5 0-2.1L12.2 8zM36.3 32c-.6-.6-1.5-.6-2.1 0L32 34.1c-.6.6-.6 1.5 0 2.1l7.8 7.8c.6.6 1.5.6 2.1 0l2.1-2.1c.6-.6.6-1.5 0-2.1L36.3 32zM27.5 36h-3c-.8 0-1.5.7-1.5 1.5v11c0 .8.7 1.5 1.5 1.5h3c.8 0 1.5-.7 1.5-1.5v-11c0-.8-.7-1.5-1.5-1.5zM48.5 23h-11c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h11c.8 0 1.5-.7 1.5-1.5v-3c0-.8-.7-1.5-1.5-1.5zM27.5 2h-3c-.8 0-1.5.7-1.5 1.5v11c0 .8.7 1.5 1.5 1.5h3c.8 0 1.5-.7 1.5-1.5v-11c0-.8-.7-1.5-1.5-1.5z\"}}},\nstage:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"circle\":[{\"cx\":\"46.7\",\"cy\":\"26\",\"r\":\"3.4\"},{\"cx\":\"25.9\",\"cy\":\"26\",\"r\":\"3.4\"},{\"cx\":\"5.4\",\"cy\":\"26\",\"r\":\"3.4\"}],\"path\":{\"d\":\"M11.6 26c0 7.9 6.5 14.4 14.4 14.4S40.3 33.9 40.3 26 33.9 11.6 26 11.6 11.6 18.1 11.6 26zm23.9 0c0 5.3-4.3 9.6-9.6 9.6s-9.6-4.3-9.6-9.6 4.3-9.6 9.6-9.6 9.6 4.3 9.6 9.6z\"}},\nstage_collection:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"circle\":{\"cx\":\"25.9\",\"cy\":\"26\",\"r\":\"3.4\"},\"path\":{\"d\":\"M46.7 22.6c-1.2 0-2.3.7-2.9 1.6h-3.6c-.9-7.1-6.9-12.6-14.3-12.6s-13.4 5.5-14.3 12.6H8.3c-.6-1-1.7-1.6-2.9-1.6C3.5 22.6 2 24.1 2 26s1.5 3.4 3.4 3.4c1.2 0 2.2-.6 2.8-1.6h3.5c.9 7.1 7 12.6 14.3 12.6 7.3 0 13.3-5.5 14.3-12.6h3.6c.6.9 1.6 1.6 2.8 1.6 1.9 0 3.4-1.5 3.4-3.4s-1.5-3.4-3.4-3.4zM26 35.6c-5.3 0-9.6-4.3-9.6-9.6s4.3-9.6 9.6-9.6 9.6 4.3 9.6 9.6-4.4 9.6-9.6 9.6z\"}},\nstandard_objects:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M46.2 38.9L27.4 49.6c-1 .6-2.3.6-3.3 0L5.4 38.9c-.8-.4-.8-1.4 0-1.8l4.4-2.5c.3-.2.7-.2 1 0l11.4 6.5c1.1.6 2.3.9 3.6.9s2.5-.3 3.6-.9l11.4-6.5c.3-.2.7-.2 1 0l4.4 2.5c.8.4.8 1.4 0 1.8z\"},{\"d\":\"M46.2 26.9L27.4 37.6c-1 .6-2.3.6-3.3 0L5.4 26.9c-.8-.4-.8-1.4 0-1.8l4.4-2.5c.3-.2.7-.2 1 0l11.4 6.5c1.1.6 2.3.9 3.6.9s2.5-.3 3.6-.9l11.4-6.5c.3-.2.7-.2 1 0l4.4 2.5c.8.4.8 1.4 0 1.8z\"},{\"d\":\"M24.3 25.6L5.5 14.9c-.8-.4-.8-1.4 0-1.8L24.3 2.4c1-.6 2.3-.6 3.3 0l18.8 10.7c.8.4.8 1.4 0 1.8L27.6 25.6c-1 .5-2.3.5-3.3 0z\"}]},\nsteps:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M44.4 50.2h-7v-4.8h7v4.8zm0-2.3zm-14.1 2.3h-7v-4.8h7v4.8zm-14 0h-7v-4.8h7v4.8zm-9.4-5.9H2.1v-7h4.8v7zm43-1.7h-4.8v-7h4.8v7zm-43-12.3H2.1v-7h4.8v7zm43-1.7h-4.8v-7h4.8v7zm-43-12.3H2.1v-7h4.8v7zm43-1.6h-4.8v-7h4.8v7zm-7.3-8.1h-7V1.8h7v4.8zm-14 0h-7V1.8h7v4.8zm-13.9 0h-7V1.8h7v4.8z\"}},\nstop:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M8 8h36v36H8V8z\"}},\nstore:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M43.1 29.5h-.2c-1.6-.2-2.9-.6-4.1-1.5-.1-.1-.1-.1-.2-.1-.6-.5-1.1-.2-1.4-.1l-.1.1c-1.5 1.1-3.2 1.7-5.2 1.7-2.1 0-3.8-.6-5.4-1.8-.6-.4-1 0-1 0-1.6 1.3-3.4 1.9-5.5 1.9-2 0-3.8-.6-5.3-1.8-.1-.1-.2-.1-.2-.2-.5-.4-1 0-1 0-1.5 1.2-3.2 1.8-5.1 1.9 0 0-.6 0-.6.7v14.9c0 .3.2 1 1.1 1.2h18.5c1-.2 1.1-.9 1.1-1.2v-2.9-7.7c.1-.3.2-.6 1-.6h8.9c.3.1.6.3.6 1v10c0 1.1.8 1.3 1 1.3h2.8c.2 0 1-.2 1-1.3V30.6c.1-.8-.3-1-.7-1.1zM23.2 41v.3c0 .4-.2 1-1.2 1h-8.1c-.9 0-1.1-.4-1.2-.8v-.4-5.7c0-1.4.8-1.5 1.1-1.5h8.5c.3 0 1 .2 1 1.3-.1 2-.1 3.9-.1 5.8zM42.3 25.5c2.2.6 4.1.2 5.7-1.4 1-1 1.7-2.2 1.9-3.5v-.2c-.2-.5-.4-1-.6-1.4-2.4-4.3-4.7-8.6-7-12.9-.3-.6-1-.6-1.2-.6H10.6s-.9 0-1.2.6C7 10.4 4.7 14.8 2.4 19c-.2.4-.4 1-.4 1.6v.2c.2 1.4.8 2.6 1.8 3.5 1.8 1.6 3.8 2 6.2 1.2 1.3-.5 2.2-1.3 3-2.5l.3-.3c.5-.3 1.1-.2 1.5.3.4.6.9 1.2 1.5 1.6 1.7 1.3 3.6 1.5 5.6.9 1.3-.4 2.3-1.3 3-2.5.4-.6 1.4-.7 1.8 0 .2.2.3.5.5.7 1 1.2 2.3 1.9 3.8 2.1 1.4.2 2.8-.2 4.1-1 .7-.5 1.3-1.1 1.7-1.8.5-.6 1.4-.6 1.8 0 .8 1.3 1.8 2.1 3.3 2.5h.4z\"}}},\nstrategy:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M46.9 18.7h-8.1c-1.8 0-3.2 1.4-3.2 3.2v2h-7.5V8.1c0-.5-.5-1-1-1H16.6V5.2c0-1.8-1.4-3.2-3.2-3.2H5.3C3.6 2 2.1 3.4 2.1 5.2v8.1c0 1.8 1.4 3.2 3.2 3.2h8.1c1.8 0 3.2-1.4 3.2-3.2v-1.9H24v12.5h-7.4V22c0-1.8-1.4-3.2-3.2-3.2H5.3c-1.8 0-3.2 1.4-3.2 3.2v8c0 1.8 1.4 3.2 3.2 3.2h8.1c1.8 0 3.2-1.4 3.2-3.2v-1.9H24v12.5h-7.4v-1.8c0-1.8-1.4-3.2-3.2-3.2H5.3c-1.8 0-3.2 1.4-3.2 3.2v8.1c0 1.8 1.4 3.2 3.2 3.2h8.1c1.8 0 3.2-1.4 3.2-3.2V45h10.6c.6 0 1-.6 1-1V28.2h7.5V30c0 1.8 1.4 3.2 3.2 3.2H47c1.8 0 3.2-1.4 3.2-3.2v-8.1c-.1-1.8-1.5-3.2-3.3-3.2zm-34.4-6.3H6.2V6h6.3v6.4zm0 10.4v6.3H6.2v-6.3h6.3zm0 23.2H6.2v-6.3h6.3V46zm33.6-23.2v6.3h-6.3v-6.3h6.3z\"}},\nstrikethrough:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M12.1 18.1c-.2-1-.3-2.2-.3-3.4 0-1.3.3-2.8.9-4.2.6-1.5 1.5-2.9 2.8-4.1 1.2-1.2 2.9-2.3 4.8-3.1 2-.8 4.3-1.3 7.1-1.3 2.5 0 4.9.3 7.2 1 1.8.6 3.5 1.6 5 3 .6.6.6 1.6-.1 2.2l-2.7 2.5c-.6.5-1.5.6-2.1 0-.7-.7-1.5-1.3-2.4-1.8-1.4-.7-3-1.1-4.9-1.1-1.7 0-3.2.2-4.3.7s-2.1 1-2.8 1.8-1.2 1.5-1.5 2.3-.4 1.6-.4 2.2c0 1.1.2 2 .5 2.8.3.7-.2 1.4-.9 1.4h-4.9c-.5 0-.9-.5-1-.9zM39.9 33h-5c-.7 0-1.2.7-.9 1.3.3.6.4 1.4.4 2.2 0 1.2-.3 2.3-.8 3.3-.6 1-1.3 1.7-2.2 2.4-.9.6-1.9 1.1-3 1.4-1.1.3-2.1.5-3.2.5-1.9 0-3.7-.4-5.4-1.2-1.3-.6-2.4-1.4-3.4-2.5-.5-.6-1.5-.7-2.1-.2l-2.8 2.4c-.6.5-.7 1.5-.1 2.1 1.4 1.6 3.2 2.8 5.3 3.6 2.6 1 5.4 1.5 8.4 1.5 2.2 0 4.3-.3 6.2-1 1.9-.6 3.6-1.6 5.1-2.8 1.4-1.2 2.6-2.7 3.4-4.5.8-1.8 1.3-3.7 1.3-5.9 0-.8 0-1.3-.1-2-.2-.2-.6-.6-1.1-.6zM49.9 23.9c-.2-.6-.8-.9-1.4-.9h-45c-.7 0-1.2.3-1.4.9-.1.2-.1.3-.1.5v3c0 .8.7 1.6 1.5 1.6h45c.8 0 1.5-.8 1.5-1.6v-3c0-.2 0-.3-.1-.5z\"}},\nsuccess:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M26 2C12.7 2 2 12.7 2 26s10.7 24 24 24 24-10.7 24-24S39.3 2 26 2zm13.4 18L24.1 35.5c-.6.6-1.6.6-2.2 0L13.5 27c-.6-.6-.6-1.6 0-2.2l2.2-2.2c.6-.6 1.6-.6 2.2 0l4.4 4.5c.4.4 1.1.4 1.5 0L35 15.5c.6-.6 1.6-.6 2.2 0l2.2 2.2c.7.6.7 1.6 0 2.3z\"}},\nsummary:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M48.5 2h-45C2.7 2 2 2.7 2 3.5v5c0 .8.7 1.5 1.5 1.5h45c.8 0 1.5-.7 1.5-1.5v-5c0-.8-.7-1.5-1.5-1.5zM48.5 14h-35c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h35c.8 0 1.5-.7 1.5-1.5v-3c0-.8-.7-1.5-1.5-1.5zM48.5 34h-35c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h35c.8 0 1.5-.7 1.5-1.5v-3c0-.8-.7-1.5-1.5-1.5z\"},{\"d\":\"M48.5 44h-39c-.8 0-1.5-.7-1.5-1.5v-7c0-.8-.7-1.5-1.5-1.5h-3c-.8 0-1.5.7-1.5 1.5v13c0 .8.7 1.5 1.5 1.5h45c.8 0 1.5-.7 1.5-1.5v-3c0-.8-.7-1.5-1.5-1.5zM48.5 24h-39c-.8 0-1.5-.7-1.5-1.5v-7c0-.8-.7-1.5-1.5-1.5h-3c-.8 0-1.5.7-1.5 1.5v13c0 .8.7 1.5 1.5 1.5h45c.8 0 1.5-.7 1.5-1.5v-3c0-.8-.7-1.5-1.5-1.5z\"}]},\nsummarydetail:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M48.5 2h-45C2.7 2 2 2.7 2 3.5v5c0 .8.7 1.5 1.5 1.5h45c.8 0 1.5-.7 1.5-1.5v-5c0-.8-.7-1.5-1.5-1.5zM20.5 14h-7c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h7c.8 0 1.5-.7 1.5-1.5v-3c0-.8-.7-1.5-1.5-1.5zM34.5 14h-7c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h7c.8 0 1.5-.7 1.5-1.5v-3c0-.8-.7-1.5-1.5-1.5zM48.5 14h-7c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h7c.8 0 1.5-.7 1.5-1.5v-3c0-.8-.7-1.5-1.5-1.5zM20.5 34h-7c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h7c.8 0 1.5-.7 1.5-1.5v-3c0-.8-.7-1.5-1.5-1.5zM34.5 34h-7c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h7c.8 0 1.5-.7 1.5-1.5v-3c0-.8-.7-1.5-1.5-1.5zM48.5 34h-7c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h7c.8 0 1.5-.7 1.5-1.5v-3c0-.8-.7-1.5-1.5-1.5z\"},{\"d\":\"M48.5 44h-39c-.8 0-1.5-.7-1.5-1.5v-7c0-.8-.7-1.5-1.5-1.5h-3c-.8 0-1.5.7-1.5 1.5v13c0 .8.7 1.5 1.5 1.5h45c.8 0 1.5-.7 1.5-1.5v-3c0-.8-.7-1.5-1.5-1.5zM48.5 24h-39c-.8 0-1.5-.7-1.5-1.5v-7c0-.8-.7-1.5-1.5-1.5h-3c-.8 0-1.5.7-1.5 1.5v13c0 .8.7 1.5 1.5 1.5h45c.8 0 1.5-.7 1.5-1.5v-3c0-.8-.7-1.5-1.5-1.5z\"}]},\nsurvey:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M5.23 3h35.54A3.29 3.29 0 0144 6.33v3.34A3.29 3.29 0 0140.77 13H5.23A3.29 3.29 0 012 9.67V6.33A3.29 3.29 0 015.23 3zm-.08 15h19.7A3.26 3.26 0 0128 21.33v3.34A3.26 3.26 0 0124.85 28H5.15A3.26 3.26 0 012 24.67v-3.34A3.26 3.26 0 015.15 18zM39 28a11 11 0 11-11 11 11 11 0 0111-11zm7 7.92a.84.84 0 000-1l-1.12-1a.77.77 0 00-1.12 0l-6 6.72-2.72-2.72a.77.77 0 00-1.12 0l-1.12 1a.68.68 0 000 1l3.84 3.76a1.58 1.58 0 001.12.48 1.45 1.45 0 001.12-.48zM5.2 33h18.56a16.14 16.14 0 00-1 5 17.11 17.11 0 00.48 5H5.2A3.28 3.28 0 012 39.67v-3.34A3.28 3.28 0 015.2 33z\"}},\nswarm_request:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"circle\":[{\"cx\":\"20.15\",\"cy\":\"9.99\",\"r\":\"4.28\"},{\"cx\":\"31.84\",\"cy\":\"9.99\",\"r\":\"4.28\"},{\"cx\":\"11.36\",\"cy\":\"19.96\",\"r\":\"5.42\"},{\"cx\":\"40.78\",\"cy\":\"19.96\",\"r\":\"5.42\"},{\"cx\":\"26.07\",\"cy\":\"23.06\",\"r\":\"5.42\"}],\"path\":{\"d\":\"M32.19 46.29a2.79 2.79 0 002.17-.93 3.1 3.1 0 00.93-2.17v-7a4.66 4.66 0 00-4.64-4.64h-9.3a4.66 4.66 0 00-4.64 4.64v7a3.18 3.18 0 003.1 3.1zM12 43.19v-7a9.13 9.13 0 012.63-6.42.81.81 0 00-.08-1.13.79.79 0 00-.46-.19H6.65A4.66 4.66 0 002 33.12v7a3.18 3.18 0 003.1 3.1zM46.9 43.19a2.84 2.84 0 002.17-.93 3.1 3.1 0 00.93-2.17v-7a4.66 4.66 0 00-4.65-4.65h-7.43a.77.77 0 00-.54 1.32A9.28 9.28 0 0140 36.22v7z\"}}},\nswarm_session:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M19 11.48c0 .08.08.16.08.24a.29.29 0 00-.08-.24z\",\"fill-rule\":\"evenodd\"},{\"d\":\"M19.05 11.48c0 .08.08.16.08.24a4.29 4.29 0 00.4.88 6.88 6.88 0 0012.06.47 16.4 16.4 0 0110.69 12.38c.32 0 .64-.08.88-.08A12.35 12.35 0 0147 26 20.84 20.84 0 0032.55 8.6a6.5 6.5 0 00-.72-2.31 7 7 0 00-9.34-3 6.86 6.86 0 00-3.76 7.42 5.52 5.52 0 01.32.77zM15.14 33.75A6.86 6.86 0 009.71 30a8.23 8.23 0 01-.08-1.44 16.84 16.84 0 016.23-12.93 10 10 0 00-.64-1 13.25 13.25 0 01-1.12-3.43 21.13 21.13 0 00-9.18 17.36c0 .88.08 1.68.16 2.56a7 7 0 1010.06 2.63zM49.23 33.75a6.94 6.94 0 00-12.37 6.31c.08.16.24.4.32.56A16.36 16.36 0 0126 45a16.65 16.65 0 01-7.42-1.84 10.24 10.24 0 01-3.36 3.35 20.67 20.67 0 0010.86 3 21.14 21.14 0 0014.85-6.15 6.31 6.31 0 005.35-.4 6.75 6.75 0 002.95-9.21zM19.13 34.15a.32.32 0 00.4.4l2.64-1a.49.49 0 01.56.08 6.34 6.34 0 003.67 1 7.13 7.13 0 007.34-6.87 7.13 7.13 0 00-7.34-6.86 7.12 7.12 0 00-7.27 6.86A7.41 7.41 0 0020 31a.7.7 0 01.08.56z\",\"fill-rule\":\"evenodd\"}]},\nswitch:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M47.6 17.8L27.1 38.5c-.6.6-1.6.6-2.2 0L4.4 17.8c-.6-.6-.6-1.6 0-2.2l2.2-2.2c.6-.6 1.6-.6 2.2 0l16.1 16.3c.6.6 1.6.6 2.2 0l16.1-16.3c.6-.6 1.6-.6 2.2 0l2.2 2.2c.5.7.5 1.6 0 2.2z\"}},\nsymbols:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M33.5 28l1-4h3l-1 4h-3zm-.75 3h3L35 34h3l.75-3H42v-3h-2.5l1-4h3v-3h-2.25l.75-3h-3l-.75 3h-3l.75-3h-3l-.75 3H29v3h2.5l-1 4H27v3h2.75L29 34h3l.75-3zM4 6h44a2 2 0 012 2v36a2 2 0 01-2 2H4a2 2 0 01-2-2V8a2 2 0 012-2zm19.837 20.81c.609-.446 1.096-.84 1.464-1.186.38-.357.708-.797.985-1.319.284-.536.425-1.156.425-1.855 0-.897-.226-1.703-.677-2.411-.45-.707-1.087-1.262-1.905-1.663-.813-.4-1.745-.598-2.794-.598-1.24 0-2.32.232-3.237.698-.913.464-1.726 1.144-2.437 2.036l-.149.187 2.084 1.817.165-.187c.51-.58 1.022-1.009 1.537-1.287.504-.273 1.109-.41 1.817-.41.674 0 1.197.177 1.58.528.38.347.568.808.568 1.4 0 .483-.144.882-.432 1.21-.316.357-.805.775-1.466 1.249-.746.522-1.315 1.008-1.704 1.459-.415.48-.622 1.084-.622 1.802V29h3.14v-.28c0-.316.114-.592.35-.84.265-.28.701-.637 1.308-1.07zM10 18v11h3V18h-3zm1.5 16.5a2 2 0 100-4 2 2 0 000 4zm9 0a2 2 0 100-4 2 2 0 000 4z\"}},\nsync:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M47.9 29.3c0-.8-.7-1.5-1.5-1.5h-3.5c-.8 0-1.4.6-1.4 1.4 0 .2 0 .5-.1.7-.3 1.3-.8 2.5-1.5 3.7-2.8 4.9-7.7 7.6-12.9 7.6-4 0-7.8-1.6-10.6-4.4-.5-.4-.9-.9-1.2-1.4-.3-.8.4-1.2 1.3-1.2h7c.8 0 1.5-.7 1.5-1.5v-3.1c0-.8-.6-1.4-1.4-1.4H5.3c-.7 0-1.3.6-1.3 1.3v18.2c.1.8.8 1.5 1.6 1.5h3c.8 0 1.5-.7 1.5-1.5v-7c0-.9.5-1.3 1.2-.7.3.4.6.7 1 1 5 5 12 7.1 19.2 5.7 2.5-.5 4.9-1.5 7-2.9 5.2-3.4 8.5-8.6 9.4-14.3v-.2zM4.1 22.7c0 .8.7 1.5 1.5 1.5h3.5c.8 0 1.4-.6 1.4-1.4 0-.2 0-.5.1-.7.3-1.3.8-2.5 1.5-3.7 2.8-4.9 7.7-7.6 12.9-7.6 4 0 7.8 1.6 10.6 4.4.5.4.9.9 1.2 1.4.3.8-.4 1.2-1.3 1.2h-7c-.8 0-1.5.7-1.5 1.5v3.1c0 .8.6 1.4 1.4 1.4h18.3c.7 0 1.3-.6 1.3-1.3V4.3c-.1-.8-.8-1.5-1.6-1.5h-3c-.8 0-1.5.7-1.5 1.5v7c0 .9-.5 1.3-1.2.7-.3-.4-.6-.7-1-1-5-5-12-7.1-19.2-5.7-2.5.5-4.9 1.5-7 2.9-5.2 3.4-8.5 8.6-9.4 14.3v.2z\"}},\nsystem_and_global_variable:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M25 46.5c0-3 1.4-5.2 3.4-6.5v-3c-1-.7-1.8-1.8-2.2-3-.4-1.7.2-3.6 1.2-5 .2-.3.6-.6.9-1 .3-.3.7-.6 1.1-.7 2.1-1.1 4.5-1.9 6.9-1.9 2.2 0 4.1.9 5.4 2.2 1.9-1.9 3.9-2.3 5.1-2.3 1.1 0 2.2.2 3.1.7v-.2C50 12.8 39.2 2 26 2S2 12.8 2 26s10.7 24 23.8 24c-.5-1-.8-2.1-.8-3.5zm20-22.9h-6.3C38.5 18 37.2 13 35.3 9.2c5.3 3 8.9 8.3 9.7 14.4zM28.4 7.9c2.7 2.3 5.1 8.2 5.5 15.8h-5.5V7.9zM7 28.4h6.3c.2 5.7 1.5 10.6 3.4 14.4-5.3-2.9-8.9-8.2-9.7-14.4zm6.3-4.8H7c.8-6.2 4.5-11.4 9.8-14.4-2 3.8-3.2 8.8-3.5 14.4zm10.3 20.6c-2.7-2.3-5.1-8.2-5.5-15.8h5.5v15.8zm0-20.6h-5.5c.4-7.5 2.8-13.4 5.5-15.8v15.8z\"},{\"d\":\"M46.4 36c1 0 3.1-.9 3.1-3.6s-2-2.9-2.6-2.9c-1.2 0-2.4.9-3.4 2.7-1.1 1.8-2.3 3.9-2.3 3.9h-.1c-.2-1.3-.5-2.4-.6-2.9-.2-1.1-1.5-3.6-4.2-3.6s-5.2 1.6-5.2 1.6c-.5.3-.8.8-.8 1.4 0 .9.7 1.7 1.7 1.7.2 0 .5-.1.7-.2 0 0 2.1-1.1 2.5 0 .2.3.2.7.4 1.1.6 1.8 1 3.9 1.4 5.8l-1.8 2.5s-2-.7-3-.7-3.1.9-3.1 3.6 2 2.9 2.6 2.9c1.2 0 2.4-.9 3.4-2.7 1-1.8 2.2-3.9 2.2-3.9.3 1.7.6 3 .8 3.6.7 1.9 2.2 3.1 4.3 3.1 0 0 2.2 0 4.6-1.4.6-.2 1-.9 1-1.5 0-.9-.7-1.7-1.7-1.7-.2 0-.5.1-.7.2 0 0-1.8 1-2.4.2-.5-.8-.8-1.9-1.1-3.4-.2-1.2-.6-2.6-.9-4.1l1.8-2.6c.4.1 2.4.9 3.4.9z\"}]},\ntable:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M46.5 2h-41C4.7 2 4 2.7 4 3.5v5c0 .8.7 1.5 1.5 1.5h41c.8 0 1.5-.7 1.5-1.5v-5c0-.8-.7-1.5-1.5-1.5zM14.5 14h-9c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h9c.8 0 1.5-.7 1.5-1.5v-3c0-.8-.7-1.5-1.5-1.5zM30.5 14h-9c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h9c.8 0 1.5-.7 1.5-1.5v-3c0-.8-.7-1.5-1.5-1.5zM46.5 14h-9c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h9c.8 0 1.5-.7 1.5-1.5v-3c0-.8-.7-1.5-1.5-1.5zM14.5 24h-9c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h9c.8 0 1.5-.7 1.5-1.5v-3c0-.8-.7-1.5-1.5-1.5zM30.5 24h-9c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h9c.8 0 1.5-.7 1.5-1.5v-3c0-.8-.7-1.5-1.5-1.5zM46.5 24h-9c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h9c.8 0 1.5-.7 1.5-1.5v-3c0-.8-.7-1.5-1.5-1.5zM14.5 34h-9c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h9c.8 0 1.5-.7 1.5-1.5v-3c0-.8-.7-1.5-1.5-1.5zM30.5 34h-9c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h9c.8 0 1.5-.7 1.5-1.5v-3c0-.8-.7-1.5-1.5-1.5zM46.5 34h-9c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h9c.8 0 1.5-.7 1.5-1.5v-3c0-.8-.7-1.5-1.5-1.5zM14.5 44h-9c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h9c.8 0 1.5-.7 1.5-1.5v-3c0-.8-.7-1.5-1.5-1.5zM30.5 44h-9c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h9c.8 0 1.5-.7 1.5-1.5v-3c0-.8-.7-1.5-1.5-1.5zM46.5 44h-9c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h9c.8 0 1.5-.7 1.5-1.5v-3c0-.8-.7-1.5-1.5-1.5z\"}},\ntable_settings:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M21.5 20h9c.8 0 1.5-.7 1.5-1.5v-3c0-.8-.7-1.5-1.5-1.5h-9c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5zM46.5 14h-9c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h9c.8 0 1.5-.7 1.5-1.5v-3c0-.8-.7-1.5-1.5-1.5zM5.5 10h41c.8 0 1.5-.7 1.5-1.5v-5c0-.8-.7-1.5-1.5-1.5h-41C4.7 2 4 2.7 4 3.5v5c0 .8.7 1.5 1.5 1.5zM48 27.4v-1.9c0-.8-.7-1.5-1.5-1.5h-2.7c1.3.7 2.5 1.6 3.5 2.7.3.2.5.5.7.7zM20 25.5v3c0 .8.7 1.5 1.5 1.5h.7c.7-1.2 1.5-2.3 2.5-3.3 1.1-1.1 2.3-2 3.5-2.7h-6.7c-.8 0-1.5.7-1.5 1.5zM24.7 49.3c-1.5-1.5-2.7-3.3-3.5-5.2-.7.1-1.2.8-1.2 1.5v3c0 .8.7 1.5 1.5 1.5h4c-.3-.3-.5-.6-.8-.8zM14.5 14h-9c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h9c.8 0 1.5-.7 1.5-1.5v-3c0-.8-.7-1.5-1.5-1.5zM14.5 24h-9c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h9c.8 0 1.5-.7 1.5-1.5v-3c0-.8-.7-1.5-1.5-1.5zM14.5 44h-9c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h9c.8 0 1.5-.7 1.5-1.5v-3c0-.8-.7-1.5-1.5-1.5zM14.5 34h-9c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h9c.8 0 1.5-.7 1.5-1.5v-3c0-.8-.7-1.5-1.5-1.5z\"},\"g\":{\"path\":[{\"d\":\"M36.1 35c-1.7 0-3 1.3-3 3s1.3 3 3 3c1.6 0 2.9-1.4 3-3-.1-1.7-1.4-3-3-3z\"},{\"d\":\"M44.5 29.5c-4.7-4.7-12.3-4.7-17 0-4.7 4.7-4.7 12.3 0 17 4.7 4.7 12.3 4.7 17 0 4.7-4.7 4.7-12.3 0-17zm-.6 9.5c0 .3-.1.5-.5.5-.4.1-.8.1-1.2.1-.1 0-.1.1-.1.1-.1.5-.4.8-.5 1.3-.1.1-.1.1 0 .2.2.4.5.7.7 1 .1.2.1.5-.1.7l-1.3 1.3c-.2.1-.3.1-.4.1s-.3-.1-.3-.1c-.3-.2-.7-.5-1-.7 0-.1-.1-.1-.1-.1H39c-.3.1-.8.4-1.3.5-.1 0-.1.1-.1.1-.1.4-.1.8-.1 1.2-.1.3-.5.5-.5.5h-1.9c-.3 0-.5-.1-.5-.5-.1-.4-.1-.8-.1-1.2 0-.1-.1-.1-.1-.1-.5-.1-.8-.4-1.3-.5H33c-.1 0-.1.1-.1.1-.4.2-.7.5-1 .7-.1.1-.3.1-.3.1-.2 0-.3 0-.4-.1l-1.3-1.3c-.2-.2-.2-.5-.1-.7.2-.3.5-.7.7-1 .1-.1 0-.1 0-.2-.1-.5-.4-.8-.5-1.3 0-.1-.1-.1-.1-.1-.4-.1-.7-.1-1.1-.1-.2-.1-.4-.2-.5-.4v-2.2c.1-.3.3-.4.5-.4.4-.1.7-.1 1.1-.1.1 0 .1-.1.1-.1.1-.5.4-.8.5-1.3.1-.1.1-.1 0-.2-.2-.4-.5-.7-.7-1-.1-.2-.1-.5.1-.7l1.3-1.3c.2-.1.2-.1.4-.1s.3.1.3.1c.4.2.7.5 1 .7l.1.1c.5-.1.8-.4 1.3-.5.1 0 .1-.1.1-.1.1-.4.1-.7.1-1.1 0-.2.2-.4.3-.5.1-.1.2-.1.3-.1H37s.1 0 .1.1c.3.1.3.3.3.5.1.4.1.7.1 1.1 0 .1.1.1.1.1.5.1.8.4 1.3.5h.1s0-.1.1-.1c.3-.2.7-.5 1-.7.1-.1.3-.1.3-.1.1 0 .3.1.3.1l1.3 1.3c.2.2.2.5.1.7-.2.3-.5.7-.7 1v.2c.1.3.4.8.5 1.3 0 .1.1.1.1.1.4.1.8.1 1.2.1.3.1.5.2.5.7V39z\"}]}}},\ntablet_landscape:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M50 10c0-2.2-1.8-4-4-4H6c-2.2 0-4 1.8-4 4v32c0 2.2 1.8 4 4 4h40c2.2 0 4-1.8 4-4V10zM6.9 29c-1.7 0-3-1.3-3-3s1.3-3 3-3 3 1.3 3 3-1.4 3-3 3zM44 38.5c0 .8-.7 1.5-1.5 1.5h-29c-.8 0-1.5-.7-1.5-1.5v-25c0-.8.7-1.5 1.5-1.5h29c.8 0 1.5.7 1.5 1.5v25z\"}},\ntablet_portrait:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M46 6c0-2.2-1.8-4-4-4H10C7.8 2 6 3.8 6 6v40c0 2.2 1.8 4 4 4h32c2.2 0 4-1.8 4-4V6zM25.9 48c-1.7 0-3-1.3-3-3s1.3-3 3-3 3 1.3 3 3-1.4 3-3 3zM40 38.5c0 .8-.7 1.5-1.5 1.5h-25c-.8 0-1.5-.7-1.5-1.5v-29c0-.8.7-1.5 1.5-1.5h25c.8 0 1.5.7 1.5 1.5v29z\"}},\ntabset:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M31.6 2H20.4c-.7 0-1.2.6-1.2 1.3v2.5c0 .7.6 1.3 1.2 1.3h11.2c.7 0 1.2-.6 1.2-1.3V3.3c.1-.7-.5-1.3-1.2-1.3zM48.7 2H37.5c-.7 0-1.3.6-1.3 1.3v2.5c0 .7.6 1.3 1.3 1.3h11.2c.7-.1 1.3-.6 1.3-1.3V3.3c0-.7-.6-1.3-1.3-1.3z\"},{\"d\":\"M48.7 10.4H17c-.7 0-1.3-.6-1.3-1.3V3.3c0-.7-.6-1.3-1.3-1.3H3.3C2.6 2 2 2.6 2 3.3v45.5c0 .6.6 1.2 1.3 1.2H48.7c.7 0 1.3-.6 1.3-1.3v-37c0-.7-.6-1.3-1.3-1.3z\"}]},\ntalent_development:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"circle\":{\"cx\":\"16.35\",\"cy\":\"20.81\",\"r\":\"7.21\"},\"path\":[{\"d\":\"M16.35 29.62h-.17A10.76 10.76 0 005.85 40.5v2.58a1.29 1.29 0 001.29 1.29H25.6a1.27 1.27 0 001.26-1.25v-3a10.51 10.51 0 00-10.51-10.5zM31.34 27.77l-4.12 4.39a13.4 13.4 0 012.62 8v3a4.42 4.42 0 01-.21 1.25h.13a18.28 18.28 0 0012.44-4.9L31.36 27.77z\"},{\"d\":\"M41.12 11.54A18.36 18.36 0 0019.19 11a10.2 10.2 0 013.94 17.44 14.64 14.64 0 012.08 1.5l4.67-5v-7.65a1.5 1.5 0 011.5-1.5h6.09a1.5 1.5 0 011.5 1.5v4.19a1.5 1.5 0 01-1.5 1.5h-4.59v2L44.24 37.3a18.35 18.35 0 00-3.12-25.76z\"}]},\ntarget:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M26.2 2.3H26A18.74 18.74 0 007.3 21v.2c0 13 13.4 25 17.6 28.1a2 2 0 002.5 0c4.2-3.3 17.5-15.1 17.5-28.1A19 19 0 0026.2 2.3zM26 7.5a13.53 13.53 0 0110.6 21.9c-1.1-1.6-3.4-2.8-5.6-3.7a.37.37 0 00-.3-.1.85.85 0 00-.7 0 8.12 8.12 0 01-4 1.2 7 7 0 01-4-1.2.85.85 0 00-.7 0 .37.37 0 01-.3.1c-2.2 1-4.5 2.1-5.6 3.8A13.6 13.6 0 0126 7.5z\"},\"ellipse\":{\"cx\":\"26\",\"cy\":\"18.3\",\"rx\":\"5.6\",\"ry\":\"6.2\"}},\ntarget_mode:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M24.56 45.75A1.45 1.45 0 0026 44.3l.08-16.77A1.5 1.5 0 0024.81 26H7.72a1.49 1.49 0 00-1.53 1.29v3.3a1.49 1.49 0 001.29 1.53H13a1.08 1.08 0 011.05 1.05 1.1 1.1 0 01-.25.73L2.56 45.18a1.65 1.65 0 00-.08 2.26l2.18 2.17a1.7 1.7 0 002.25-.08l11.37-11.36a1 1 0 011.45 0 .75.75 0 01.24.73v5.31a1.51 1.51 0 001.29 1.54h3.3z\"},{\"d\":\"M30.53 48.33a24 24 0 0012.57-6.45 23.37 23.37 0 10-33-33.05 23.09 23.09 0 00-6.49 12.49h4.75a18.65 18.65 0 0131.44-9.18 18.66 18.66 0 01-9.11 31.43zm.24-9.6a13.14 13.14 0 005.72-3.46 14 14 0 00-19.82-19.83 13.86 13.86 0 00-3.47 5.8h5a9.21 9.21 0 011.8-2.58 9.35 9.35 0 0113.19 13.22 10.49 10.49 0 01-2.42 1.78z\"}]},\ntask:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M24 7l-1.7-1.7c-.5-.5-1.2-.5-1.7 0L10 15.8l-4.3-4.2c-.5-.5-1.2-.5-1.7 0l-1.7 1.7c-.5.5-.5 1.2 0 1.7l5.9 5.9c.5.5 1.1.7 1.7.7.6 0 1.2-.2 1.7-.7L24 8.7c.4-.4.4-1.2 0-1.7zM48.4 18.4H27.5c-.9 0-1.6-.7-1.6-1.6v-3.2c0-.9.7-1.6 1.6-1.6h20.9c.9 0 1.6.7 1.6 1.6v3.2c0 .9-.7 1.6-1.6 1.6zM48.4 32.7H22.7c-.9 0-1.6-.7-1.6-1.6v-3.2c0-.9.7-1.6 1.6-1.6h25.7c.9 0 1.6.7 1.6 1.6v3.2c0 .9-.7 1.6-1.6 1.6zM13 32.7H9.8c-.9 0-1.6-.7-1.6-1.6v-3.2c0-.9.7-1.6 1.6-1.6H13c.9 0 1.6.7 1.6 1.6v3.2c.1.9-.7 1.6-1.6 1.6zM13 47H9.8c-.9 0-1.6-.7-1.6-1.6v-3.2c0-.9.7-1.6 1.6-1.6H13c.9 0 1.6.7 1.6 1.6v3.2c.1.9-.7 1.6-1.6 1.6zM48.4 47H22.7c-.9 0-1.6-.7-1.6-1.6v-3.2c0-.9.7-1.6 1.6-1.6h25.7c.9 0 1.6.7 1.6 1.6v3.2c0 .9-.7 1.6-1.6 1.6z\"}},\ntext:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M49.4 47.9c-.2-3.2-.3-6.5-.3-9.7 0-1.6 0-3.2.1-4.9 0-1.5.2-3-.4-4.4-1.3-3.2-5.5-3.8-8.5-3.8-1.5 0-3.1.2-4.7.6-1.1.3-2.2.7-3.1 1.2l1 2.5c.2.5.3 1 .4 1.5 2-1 4-1.5 6.1-1.5 3.2 0 4.8 1.3 4.8 3.8v1.2h-2.2c-4.1 0-7.2.6-9.3 1.8-2.3 1.1-3.3 3.2-3.3 6.3 0 2.3.7 4.1 2.1 5.3 1.4 1.2 3.2 1.9 5.4 1.9 1.9 0 3.4-.3 4.6-.8 1.2-.5 2.2-1.4 3-2.5h.1c.1.5.2 1.4.4 2.6 0 .1 3.6 0 3.9 0 0-.4-.1-.7-.1-1.1zM44.8 40c0 .6-.1 1.1-.3 1.6-.1.4-.3.8-.6 1.1-1 1.4-2.6 2.1-4.2 2.3-1 .2-2 .1-3-.1-.8-.1-1.5-.5-2-1.2-.7-1.1-.5-2.8.2-3.8.5-.6 1.2-1 1.9-1.3C38.7 38 41 38 43 38h1.7v2zM29.9 31L18.7 3.4c-.2-.5-.6-.9-1.2-.9H14c-.5 0-1.1.4-1.3.9L2.6 31c-.3.5.2 1.2.7 1.2h3.9c.5 0 1.1-.4 1.3-1L11 24h10l2.9 7.2c.2.5.7 1 1.3 1h3.9c.6 0 1-.7.8-1.2zM13.1 18.5L16 11l3.2 7.5h-6.1z\"}},\ntext_background_color:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M25.9 16l4.3 10h-9l3.9-10h.8zM48 8v36c0 2.2-1.8 4-4 4H8c-2.2 0-4-1.8-4-4V8c0-2.2 1.8-4 4-4h36c2.2 0 4 1.8 4 4zm-5.5 32.7L30.5 11c-.3-.6-.8-1-1.5-1h-7.1c-.6 0-1.2.4-1.4 1l-11 29.7c-.2.6.2 1.3.9 1.3h4.1c.6 0 1.2-.5 1.4-1.1l3.2-8.9h13.4l3.5 8.9c.2.6.8 1.1 1.4 1.1h4.1c.7 0 1.2-.7 1-1.3z\"}},\ntext_color:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M10.4 36h4.1c.6 0 1.2-.5 1.4-1.1l3.2-8.9h13.4l3.5 8.9c.2.6.8 1.1 1.4 1.1h4.1c.7 0 1.2-.7.9-1.3L30.4 5c-.2-.6-.7-1-1.3-1H22c-.6 0-1.2.4-1.4 1l-11 29.7c-.3.6.2 1.3.8 1.3zm14.7-26h.9l4.3 10h-9l3.8-10zM48.5 42h-45c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h45c.8 0 1.5-.7 1.5-1.5v-3c0-.8-.7-1.5-1.5-1.5z\"}},\ntext_template:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M20.1 37.2V37c.2-2.7 2.4-4.9 5.2-4.9H32c-1.1-1.9-.9-4.4.7-6.2l.2-.2 1.6-1.5c.9-1 2.2-1.5 3.4-1.6V6.1c0-2.2-1.8-4-4-4H6.1c-2.2 0-4 1.8-4 4V34c0 2.2 1.8 4 4 4H20v-.8zM8.1 8.3c0-.6.4-1 1-1h6c.6 0 1 .4 1 1v2.8c0 .6-.4 1-1 1h-6c-.6 0-1-.4-1-1V8.3zm0 8.7c0-.6.4-1 1-1H31c.6 0 1 .4 1 1v2.8c0 .6-.4 1-1 1H9.2c-.6 0-1-.4-1-1L8.1 17zm0 11.6v-2.8c0-.6.4-1 1-1h18c.6 0 1 .4 1 1v2.8c0 .6-.4 1-1 1H9.2c-.7 0-1.1-.4-1.1-1z\"},{\"d\":\"M39.2 27c-.6-.5-1.3-.5-1.7 0l-1.7 1.6c-.4.5-.4 1.2 0 1.6l4.4 4.4c.2.2.2.3.2.6 0 .5-.3.8-.8.8H25.3c-.6 0-1.1.5-1.2 1.1v2.4c.1.6.6 1.1 1.2 1.3h14.3c.2 0 .3.1.4.2.3.2.4.8.2 1.1l-4.4 4.4c-.4.5-.4 1.2 0 1.6l1.6 1.7c.5.4 1.2.4 1.6 0l10.6-10.6c.4-.5.4-1.2 0-1.6L39.2 27z\"}]},\ntextarea:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M44.8 49.5H7.2c-2.6 0-4.7-2.1-4.7-4.7V7.2c0-2.6 2.1-4.7 4.7-4.7h37.6c2.6 0 4.7 2.1 4.7 4.7v37.6c0 2.6-2.1 4.7-4.7 4.7zm-36-39.2v31.3c0 .9.7 1.6 1.6 1.6h31.3c.9 0 1.6-.7 1.6-1.6V10.3c0-.9-.7-1.6-1.6-1.6H10.4c-.9.1-1.6.8-1.6 1.6z\"},{\"d\":\"M35.3 27c.8 0 1.6.7 1.6 1.6v6.8c0 .9-.7 1.6-1.6 1.6h-7.2c-.9 0-1.5-.7-1.6-1.6 0-.6.3-1 .6-1.4l1.5-1.5c1-1 2.1-1.9 3.1-2.8.7-.7 1.4-1.3 2.2-2 .2-.2.4-.4.6-.5.4-.2.6-.2.8-.2z\"}]},\ntextbox:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M44.7 49.4H7.3c-2.6 0-4.7-2.1-4.7-4.7V7.3c0-2.6 2.1-4.7 4.7-4.7h37.5c2.6 0 4.7 2.1 4.7 4.7v37.5c-.1 2.5-2.2 4.6-4.8 4.6zm-35.8-39v31.2c0 .9.7 1.6 1.6 1.6h31.2c.9 0 1.6-.7 1.6-1.6V10.4c0-.9-.7-1.6-1.6-1.6H10.5c-.9 0-1.6.7-1.6 1.6z\"},{\"d\":\"M15.2 35.3V16.7c0-.9.7-1.6 1.6-1.6h3.1c.9 0 1.6.7 1.6 1.6v18.6c0 .9-.7 1.6-1.6 1.6h-3.1c-.9 0-1.6-.7-1.6-1.6z\"}]},\nthreedots:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M8 20c3.3 0 6 2.7 6 6s-2.7 6-6 6-6-2.7-6-6 2.7-6 6-6zm18 0c3.3 0 6 2.7 6 6s-2.7 6-6 6-6-2.7-6-6 2.7-6 6-6zm18 0c3.3 0 6 2.7 6 6s-2.7 6-6 6-6-2.7-6-6 2.7-6 6-6z\"}},\nthreedots_vertical:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M20 44c0-3.3 2.7-6 6-6s6 2.7 6 6-2.7 6-6 6-6-2.7-6-6zm0-18c0-3.3 2.7-6 6-6s6 2.7 6 6-2.7 6-6 6-6-2.7-6-6zm0-18c0-3.3 2.7-6 6-6s6 2.7 6 6-2.7 6-6 6-6-2.7-6-6z\"}},\nthunder:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M30.349 3.077a3.704 3.704 0 00-5.222 0l-22.05 22.05a3.702 3.702 0 000 5.221L14.82 42.092a3.703 3.703 0 005.222 0l22.05-22.05a3.706 3.706 0 000-5.222L30.349 3.077zM12.177 5.009c-.522-.522-1.436-.522-1.958 0l-5.204 5.204c-.522.522-.522 1.437 0 1.958l1.958 1.958c.522.521 1.436.521 1.958 0l5.205-5.205c.522-.522.522-1.436 0-1.958l-1.959-1.957zM31.062 36.261c-.522.522-.521 1.437 0 1.958l11.363 11.389c.522.522 1.436.522 1.959 0l5.225-5.225c.521-.521.522-1.436 0-1.959L38.245 31.036c-.522-.522-1.438-.521-1.96 0l-5.223 5.225z\"}}},\ntile_card_list:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M14.5 4h-9C4.7 4 4 4.7 4 5.5v17c0 .8.7 1.5 1.5 1.5h9c.8 0 1.5-.7 1.5-1.5v-17c0-.8-.7-1.5-1.5-1.5zM30.5 4h-9c-.8 0-1.5.7-1.5 1.5v17c0 .8.7 1.5 1.5 1.5h9c.8 0 1.5-.7 1.5-1.5v-17c0-.8-.7-1.5-1.5-1.5zM46.5 4h-9c-.8 0-1.5.7-1.5 1.5v17c0 .8.7 1.5 1.5 1.5h9c.8 0 1.5-.7 1.5-1.5v-17c0-.8-.7-1.5-1.5-1.5zM14.5 28h-9c-.8 0-1.5.7-1.5 1.5v17c0 .8.7 1.5 1.5 1.5h9c.8 0 1.5-.7 1.5-1.5v-17c0-.8-.7-1.5-1.5-1.5zM30.5 28h-9c-.8 0-1.5.7-1.5 1.5v17c0 .8.7 1.5 1.5 1.5h9c.8 0 1.5-.7 1.5-1.5v-17c0-.8-.7-1.5-1.5-1.5zM46.5 28h-9c-.8 0-1.5.7-1.5 1.5v17c0 .8.7 1.5 1.5 1.5h9c.8 0 1.5-.7 1.5-1.5v-17c0-.8-.7-1.5-1.5-1.5z\"}},\ntoggle:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M39.2 2H12.4C6.6 2.2 2 6.9 2 12.8s4.6 10.6 10.4 10.8h26.8c5.9 0 10.8-4.8 10.8-10.8S45.2 2 39.2 2zM12.7 18.8c-3.3 0-6-2.7-6-6s2.7-6 6-6 6 2.7 6 6-2.7 6-6 6zM39.2 28.5H12.4C6.6 28.7 2 33.4 2 39.2S6.6 49.8 12.4 50h26.8c6 0 10.8-4.8 10.8-10.8s-4.8-10.7-10.8-10.7zm.4 18.4H12.3c-4-.2-7.2-3.5-7.2-7.6s3.2-7.4 7.2-7.6h27.3c4 .2 7.2 3.5 7.2 7.6s-3.2 7.4-7.2 7.6z\"},\"circle\":{\"cx\":\"39.2\",\"cy\":\"39.2\",\"r\":\"5.2\"}}},\ntoggle_panel_bottom:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M46 8H6c-1.1 0-2 .9-2 2v32c0 1.1.9 2 2 2h40c1.1 0 2-.9 2-2V10c0-1.1-.9-2-2-2zm-2 32H8V12h36v28z\"},{\"d\":\"M41 38H11.1c-.6 0-1-.4-1-1V27c0-.6.4-1 1-1H41c.6 0 1 .4 1 1v10c0 .6-.4 1-1 1z\"}]},\ntoggle_panel_left:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M46 8H6c-1.1 0-2 .9-2 2v32c0 1.1.9 2 2 2h40c1.1 0 2-.9 2-2V10c0-1.1-.9-2-2-2zm-2 32H8V12h36v28z\"},{\"d\":\"M21 38h-9.9c-.6 0-1-.4-1-1V15c0-.6.4-1 1-1H21c.6 0 1 .4 1 1v22c0 .6-.4 1-1 1z\"}]},\ntoggle_panel_right:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M4 8h44v36H4V8zm4 4v28h36V12H8zm22 2h12v24H30V14z\",\"fill-rule\":\"evenodd\"}},\ntoggle_panel_top:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M46 8H6c-1.1 0-2 .9-2 2v32c0 1.1.9 2 2 2h40c1.1 0 2-.9 2-2V10c0-1.1-.9-2-2-2zm-2 32H8V12h36v28z\"},{\"d\":\"M41 26H11.1c-.6 0-1-.4-1-1V15c0-.6.4-1 1-1H41c.6 0 1 .4 1 1v10c0 .6-.4 1-1 1z\"}]},\ntop_align:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"rect\":[{\"x\":\"2\",\"y\":\"2\",\"width\":\"48\",\"height\":\"6.4\",\"rx\":\"1.6\"},{\"data-name\":\"Rectangle\",\"x\":\"18.8\",\"y\":\"12.4\",\"width\":\"14.4\",\"height\":\"37.6\",\"rx\":\"3.2\"}]},\ntopic:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M17.4 35.3c-.1-.3-.4-.6-.7-.7l-2.2-.6c-.4-.1-.9.1-1.1.5L9.6 41c-1 1.8-.4 2.4 1.4 1.4l6.6-3.8c.4-.2.6-.7.5-1.1l-.7-2.2zM34.6 16.7c.1.3.4.6.7.7l2.2.6c.4.1.9-.1 1.1-.5l3.8-6.6c1-1.8.4-2.4-1.4-1.4l-6.6 3.8c-.4.2-.6.7-.5 1.1l.7 2.3zM13.4 17.6c.2.4.7.6 1.1.5l2.2-.6c.3-.1.6-.4.7-.7l.6-2.2c.1-.4-.1-.9-.5-1.1L11 9.6c-1.8-1-2.4-.4-1.4 1.4l3.8 6.6zM38.6 34.4c-.2-.4-.7-.6-1.1-.5l-2.2.6c-.3.1-.6.4-.7.7l-.6 2.3c-.1.4.1.9.5 1.1l6.6 3.8c1.8 1 2.4.4 1.4-1.4l-3.9-6.6z\"},{\"d\":\"M48.7 25.2l-16.4-4.4c-.6-.1-1-.6-1.1-1.1L26.8 3.3c-.5-1.7-1.2-1.7-1.7 0l-4.4 16.4c-.1.6-.6 1-1.1 1.1L3.3 25.2c-1.7.5-1.7 1.2 0 1.7l16.4 4.4c.6.1 1 .6 1.1 1.1l4.4 16.4c.5 1.7 1.2 1.7 1.7 0l4.4-16.4c.1-.6.6-1 1.1-1.1l16.4-4.4c1.6-.5 1.6-1.3-.1-1.7zM26 30c-2.2 0-4-1.8-4-4s1.8-4 4-4 4 1.8 4 4-1.8 4-4 4z\"}]}},\ntopic2:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M49.2 13.3h-6.5l2.8-10.7v-.2c0-.4-.3-.8-.8-.8h-5.2c-.4 0-.7.3-.8.7l-2.8 11.1h-13l2.8-10.7v-.3c0-.4-.3-.8-.8-.8h-5.2c-.4 0-.7.3-.8.7l-2.9 11H8.8c-.4 0-.7.2-.8.6l-1.3 4.9v.2c0 .4.3.8.8.8h6.8l-3.2 12.5h-7c-.4 0-.7.2-.8.6L2 37.6v.2c0 .4.3.8.8.8h6.6L6.6 49.5v.2c0 .4.3.8.8.8h5.2c.4 0 .7-.2.8-.7l2.9-11.2h12.9l-2.8 10.8v.2c0 .4.3.8.8.8h5.2c.4 0 .7-.2.8-.7L36 38.5h7.1c.4 0 .7-.2.8-.7l1.3-4.9v-.2c0-.4-.3-.8-.8-.8h-6.7L41 19.4h6.9c.4 0 .7-.2.8-.7l1.3-4.9v-.2s-.4-.3-.8-.3zm-18.3 19H18l3.2-12.5h12.9l-3.2 12.5z\"}},\ntouch_action:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M37.8 29.8L29.6 27c-.6-.2-1.1-.8-1.1-1.5V14.6c0-1.7-1.4-3-3.1-3h-.3c-1.7 0-3.1 1.4-3.1 3v21.5c0 1.8-2.3 2.6-3.3 1l-2.1-4.4c-1.1-1.9-3.6-2.4-5.4-1.1l-1.3 1 6.9 16.3c.3.7 1 1.1 1.8 1.1h18.1c.9 0 1.6-.6 1.8-1.4l3.2-11.4c.8-3.2-1-6.3-3.9-7.4z\"},{\"d\":\"M17.2 23v-8.2-.4c.2-4.1 3.5-7.4 7.6-7.6h.8c4.1.2 7.4 3.5 7.6 7.6V23c0 .7.9 1 1.4.6 2.2-2.3 3.5-5.4 3.5-8.7 0-7.4-6.4-13.4-14-12.7-5.8.6-10.6 5-11.5 10.7-.6 4 .6 7.9 3.3 10.7.4.4 1.3.1 1.3-.6z\"}]},\ntracker:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M15.2 28.4V24c5.1-.9 9-5.4 9-10.8 0-6.1-4.9-11-11-11s-11 4.9-11 11c0 5.4 3.9 9.9 9 10.8v4.4c-5.1.9-9 5.4-9 10.8 0 6.1 4.9 11 11 11s11-4.9 11-11c0-5.4-3.9-9.8-9-10.8zm-9-15.2c0-3.9 3.1-7 7-7s7 3.1 7 7-3.1 7-7 7-7-3-7-7zM30.3 9.2h17.9c1.1 0 2 .9 2 2v4c0 1.1-.9 2-2 2H30.3c-1.1 0-2-.9-2-2v-4c0-1.1.9-2 2-2zM30.3 35.2h17.9c1.1 0 2 .9 2 2v4c0 1.1-.9 2-2 2H30.3c-1.1 0-2-.9-2-2v-4c0-1 .9-2 2-2z\"}}},\ntrail:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M27.8 2c3.3 0 5.9 2.6 5.9 5.9s-2.7 5.9-5.9 5.9-5.9-2.6-5.9-5.9S24.5 2 27.8 2zM43 18.1c-1.2-.1-2.3.7-2.4 1.8l-.6 5.8c-.2 0-.3.3-.5.3H34l-3.8-6.7c-.3-.6-.9-1.1-1.6-1.2l-5.8-.8c-1-.1-2 .4-2.4 1.4L16 30c-.3.9.1 1.8.9 2.3l10.8 7.4.9 8.4c.1 1.1 1.1 1.9 2.2 1.9 1.3 0 2.3-1 2.2-2.2l-1-10.3c0-.5-.3-1-.8-1.4l-5.9-6.6 2.2-5.4 2.6 4.5c.4.6 1.1 1.3 1.9 1.3h7.6l-2.2 18c-.1 1.1.7 2 1.9 2.1.1 0 .2-.1.2-.1 1.1 0 2-.8 2.2-1.9L45 20.2c.1-1-.8-2-2-2.1zM12.2 27.7l3.7-9.5c.2-.6.5-1.2.9-1.8l-.5-.1c-3.2-.4-6.2 1.5-7.2 4.4l-2 5.2c-.4 1.1.2 2.4 1.4 2.7l.9.2c1.2.5 2.4-.1 2.8-1.1zM13.6 35.2L9.1 48.6c-.2.7.3 1.3 1 1.3h2.5c.9 0 1.8-.6 2.1-1.4l4.4-9.7-5-3.1c-.1-.2-.3-.4-.5-.5z\"}},\ntrailblazer_ext:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M49.83 32.45A1.43 1.43 0 0048.44 31h-12A1.43 1.43 0 0035 32.44v1.44a1.43 1.43 0 001.4 1.44h6.14l-11 11a1.42 1.42 0 000 2l1 1a1.54 1.54 0 001.09.45 1.32 1.32 0 00.94-.38l11-11v6A1.43 1.43 0 0047 45.83h1.53a1.43 1.43 0 001.47-1.4zM21.94 8.83a10.27 10.27 0 014.67 9 9.7 9.7 0 01-3.21 7.35.46.46 0 000 .62 27.28 27.28 0 002.52 1.3 2.25 2.25 0 00.62.15h5.39a19.84 19.84 0 016.42-2.55l.54-.09a2.94 2.94 0 000-.42v-.46c0-2.68-2.91-4.13-6.13-5.44-2.14-.84-2.45-1.68-2.45-2.52a3.25 3.25 0 011.38-2.3 5.64 5.64 0 002-4.44 5.94 5.94 0 00-5.54-6.32h-.54a5.81 5.81 0 00-6.05 5.44.79.79 0 00.38.68z\"},{\"d\":\"M24.66 38.84a15.42 15.42 0 012.8-7.44 22.49 22.49 0 00-4.9-2.52c-2.61-1.07-3-2-3-3a4.18 4.18 0 011.61-2.76 6.76 6.76 0 002.37-5.28c0-4-2.6-7.42-7.35-7.42a7.09 7.09 0 00-7.35 6.82v.6a6.73 6.73 0 002.38 5.28 4.16 4.16 0 011.6 2.76c0 1-.38 2-3.06 3-3.83 1.54-7.58 3.3-7.58 6.51v1a3.09 3.09 0 003.12 3.06h19.48z\"}]}},\ntrailhead:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M12.3 37l-2.6 3h5.1zM14.7 43.1h5.1l-2.6-2.9zM35.2 41l2.5-2.9 2.6 2.9z\"},{\"d\":\"M26.8 2.2c-.4-.2-.9-.2-1.4 0C11.1 8.2 1.9 22.4 2.2 38v3.4c0 .5.2 1 .7 1.4 6.9 4.6 15 7.1 23.3 7.2h.9c7.9-.3 15.7-2.7 22.3-7.2.4-.3.7-.8.7-1.4V38c.3-15.6-8.9-29.8-23.3-35.8zM13.9 14.8c5.8-6.9 12.3-9.2 12.3-9.2 1.4.6 16.9 6.7 20.2 26.4h-4.1l-7.8-11.3c-.5-.7-1.6-.9-2.4-.4-.2.1-.3.3-.4.4l-2 2.8-5.5-7.9c-.5-.7-1.6-.9-2.4-.4-.2.1-.3.3-.4.4L10.2 31.9l-4.1.1c1.2-7.5 4.3-13 7.8-17.2zM38.1 32H28l2.6-3.8 2.4-3.6 5.1 7.4zM23.7 20.9l4 5.7-3.8 5.3h-9.6l4.1-6.1 4.3-6.4 1 1.5zM27.5 44L26 46.6c-2.9 0-5.6-.4-8.8-1.1-4.1-1-8-2.7-11.6-4.9v-2.5c0-.8 0-1.7.1-2.6h17.6c-1.4 2.1-.7 4.9 1.5 6.2.2.1.4.2.5.3l1.6.7c.6.2.8.8.6 1.3zm19.3-3.5c-2.6 1.6-5.3 2.9-8.1 3.9 0 0-.5.2-.7.2-1.6.5-3.2.9-4.9 1.3-.9.2-1.9.3-2.8.4l.3-.5c1.3-2.2.5-4.9-1.7-6.2-.1-.1-.3-.1-.4-.2l-1.6-.7c-.5-.2-.8-.8-.5-1.4 0-.1.1-.2.1-.2l1.5-1.7h18.7c0 .8.1 1.7.1 2.6v2.5z\"}]},\ntrailhead_alt:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M22.21 36.21a2.72 2.72 0 01-.11.25 6.89 6.89 0 002.42 7.85c1.58 1.24 1.89 1.76 1.73 2.92a7.59 7.59 0 01-1.1 2.77A44.87 44.87 0 012 42.64v-3.7c0-.93 0-1.83.1-2.73h20.11zm27.69 0c.05.9.1 1.8.1 2.73v3.69a45 45 0 01-20.31 7.2 10 10 0 00.54-2c.53-3.73-1.83-5.57-3.24-6.67a2.83 2.83 0 01-1.12-3.25 8.24 8.24 0 01.89-1.67H49.9zM22.5 19.59l4.4 6.47-4.16 6.13h-8.8zM26 2a39.25 39.25 0 0123.48 30.19H43.6l-8.77-12.9a2.08 2.08 0 00-3.33 0l-2.17 3.19-5.17-7.6a2.09 2.09 0 00-3.33 0L9.08 32.19H2.52A39.25 39.25 0 0126 2zm7.17 22l5.56 8.19H27.61z\",\"fill-rule\":\"evenodd\"}},\ntrailhead_ext:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M49.8 32.5a1.37 1.37 0 00-1.4-1.4h-12a1.43 1.43 0 00-1.4 1.4v1.4a1.37 1.37 0 001.4 1.4h6.1l-11 11a1.52 1.52 0 000 2l1 1a1.61 1.61 0 001.1.5 1 1 0 00.9-.4l11-11v6a1.37 1.37 0 001.4 1.4h1.5a1.37 1.37 0 001.4-1.4zM21.8 25.1h7.7l-3.9-5.7z\"},{\"d\":\"M16.8 12.5l.3-.3a1.38 1.38 0 011.8.3l4.2 6 1.5-2.1.3-.3a1.38 1.38 0 011.8.3l6 8.6h3.9a10.46 10.46 0 011.7-.4A28.91 28.91 0 0020.8 2.3a1.08 1.08 0 00-1.1 0A29 29 0 002.3 25h5.8z\"},{\"d\":\"M17.8 15.4l-3.3 4.9-3.1 4.7h7.3l2.9-4.1zM2.1 32.2a1.61 1.61 0 00.5 1.1 32.87 32.87 0 0016 5.4l1.6-2.5 1.1-2a.64.64 0 00-.3-1l-1.2-.5-.4-.2a3.42 3.42 0 01-1.3-4.6c0-.1.1-.1.1-.2H2.1z\"},{\"d\":\"M23.6 35.9c-.5.9-1.1 2.2-1.4 2.8l2.5-.3a15.58 15.58 0 016.5-10.8h-9.5l-1.1 1.6a.73.73 0 00.4 1l1.14.45.36.15a3.42 3.42 0 011.3 4.7z\"}]}},\ntransparent:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M48.5 5.6l-2.1-2.1a1.67 1.67 0 00-2.4.3L32.59 15.21c-.77-1.3-1.51-2.61-2.21-4a36.5 36.5 0 01-3.15-8.36c-.13-.53-.39-.91-1-.89s-.86.4-1 .93c-.06.26-.11.51-.17.76A48.3 48.3 0 0121 13.7 97.47 97.47 0 0114.13 25a16 16 0 00-3 11.12c0 .14 0 .29.06.43L3.8 44a1.87 1.87 0 00-.3 2.4l2.1 2.1a1.67 1.67 0 002.4-.3L48.2 8a1.67 1.67 0 00.3-2.4zM38.42 23.79l-22 22.31a14.47 14.47 0 009.8 3.9 15.48 15.48 0 007-1.44c4.94-2.51 8.11-6.4 8.94-12A15.22 15.22 0 0039 24.66c-.13-.22-.42-.66-.58-.87z\"}},\ntravel_and_places:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M47 21L42.48 8.84C41.76 6.52 39.6 5 37.2 5H14.8c-2.4 0-4.56 1.52-5.36 3.84L5 21c-2.08.56-3 2.56-3 4.8v11.6c0 2.08 2.16 3.88 4 4.6v4.033C6 47.344 6.674 48 8.023 48h5.027c1.3 0 1.95-.656 1.95-1.967V42h22v4.033c0 1.311.663 1.967 1.988 1.967h5.033c1.32 0 1.979-.656 1.979-1.967V41.96c1.84-.64 4-2.4 4-4.56V25.8c0-2.24-.92-4.24-3-4.8zM11 34c-2.24 0-4-1.76-4-4s1.76-4 4-4 4 1.76 4 4-1.76 4-4 4zm16.6-13H11.76c-.56 0-.92-.52-.76-1l3-9c.08-.32.29-1 1-1h22c.78 0 .92.76 1 1l3 9c.2.642-.12 1-.92 1H27.6zM41 34c-2.24 0-4-1.76-4-4s1.76-4 4-4 4 1.76 4 4-1.76 4-4 4z\"}},\ntrending:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M50.1 30.56a1.16 1.16 0 01-2 .82L42.73 26 30.32 36.65a3.39 3.39 0 01-4.92 0l-7.49-8.54-13.34 11.7a1.13 1.13 0 01-1.64 0l-.59-.59a1.13 1.13 0 010-1.64l13.12-17.9a3.39 3.39 0 014.92 0l7.49 7.49 7.61-8.78-4.92-4.45a1.26 1.26 0 01.82-2.11h16.38A2.35 2.35 0 0150 14.3z\"}},\nturn_off_notifications:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M23.4 26.6c.6.6 1.4.6 2 0L46.8 6.9c.4-.7.3-1.9-1.2-1.9H3.4c-1.1 0-2 1.1-1.2 2l21.2 19.6z\"},{\"d\":\"M30.1 37.6c.5-5.6 5-10.2 10.7-10.8.5 0 1-.1 1.4-.1 1.8 0 3.4.4 4.9 1V15.3c0-1-1.2-1.5-1.9-.8L28.6 29.9c-1.1 1-2.6 1.6-4.1 1.6s-3-.6-4.1-1.6L3.8 14.5c-.8-.7-1.9-.2-1.9.8v19.6c0 2.5 2.1 4.6 4.6 4.6h23.7c-.1-.6-.1-1.3-.1-1.9z\"},{\"d\":\"M42.1 31c-4.4 0-8 3.6-8 8s3.6 8 8 8 8-3.6 8-8-3.6-8-8-8zm6 9.6c0 .2-.2.4-.5.4h-11c-.3 0-.5-.2-.5-.4v-3.2c0-.2.2-.4.5-.4h11c.3 0 .5.2.5.4v3.2z\"}]},\ntype:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M48 11H4c-1.1 0-2 .9-2 2v26c0 1.1.9 2 2 2h44c1.1 0 2-.9 2-2V13c0-1.1-.9-2-2-2zm-2 26H6V15h40v22z\"},{\"d\":\"M11.2 21.8h1c.8 0 1.5-.7 1.5-1.5v-1c0-.8-.7-1.5-1.5-1.5h-1c-.8 0-1.5.7-1.5 1.5v1c0 .8.7 1.5 1.5 1.5zM16.9 21.8h1c.8 0 1.5-.7 1.5-1.5v-1c0-.8-.7-1.5-1.5-1.5h-1c-.8 0-1.5.7-1.5 1.5v1c0 .8.7 1.5 1.5 1.5zM28.4 21.8h1c.8 0 1.5-.7 1.5-1.5v-1c0-.8-.7-1.5-1.5-1.5h-1c-.8 0-1.5.7-1.5 1.5v1c0 .8.7 1.5 1.5 1.5zM22.6 21.8h1c.8 0 1.5-.7 1.5-1.5v-1c0-.8-.7-1.5-1.5-1.5h-1c-.8 0-1.5.7-1.5 1.5v1c0 .8.7 1.5 1.5 1.5zM39.9 21.8h1c.8 0 1.5-.7 1.5-1.5v-1c0-.8-.7-1.5-1.5-1.5h-1c-.8 0-1.5.7-1.5 1.5v1c0 .8.7 1.5 1.5 1.5zM34.1 21.8h1c.8 0 1.5-.7 1.5-1.5v-1c0-.8-.7-1.5-1.5-1.5h-1c-.8 0-1.5.7-1.5 1.5v1c0 .8.7 1.5 1.5 1.5zM11.2 27.8h1c.8 0 1.5-.7 1.5-1.5v-1c0-.8-.7-1.5-1.5-1.5h-1c-.8 0-1.5.7-1.5 1.5v1c0 .8.7 1.5 1.5 1.5zM16.9 27.8h1c.8 0 1.5-.7 1.5-1.5v-1c0-.8-.7-1.5-1.5-1.5h-1c-.8 0-1.5.7-1.5 1.5v1c0 .8.7 1.5 1.5 1.5zM28.4 27.8h1c.8 0 1.5-.7 1.5-1.5v-1c0-.8-.7-1.5-1.5-1.5h-1c-.8 0-1.5.7-1.5 1.5v1c0 .8.7 1.5 1.5 1.5zM22.6 27.8h1c.8 0 1.5-.7 1.5-1.5v-1c0-.8-.7-1.5-1.5-1.5h-1c-.8 0-1.5.7-1.5 1.5v1c0 .8.7 1.5 1.5 1.5zM39.9 27.8h1c.8 0 1.5-.7 1.5-1.5v-1c0-.8-.7-1.5-1.5-1.5h-1c-.8 0-1.5.7-1.5 1.5v1c0 .8.7 1.5 1.5 1.5zM34.1 27.8h1c.8 0 1.5-.7 1.5-1.5v-1c0-.8-.7-1.5-1.5-1.5h-1c-.8 0-1.5.7-1.5 1.5v1c0 .8.7 1.5 1.5 1.5zM11.2 33.8h1c.8 0 1.5-.7 1.5-1.5v-1c0-.8-.7-1.5-1.5-1.5h-1c-.8 0-1.5.7-1.5 1.5v1c0 .8.7 1.5 1.5 1.5zM16.9 33.8h18.2c.8 0 1.5-.7 1.5-1.5v-1c0-.8-.7-1.5-1.5-1.5H16.9c-.8 0-1.5.7-1.5 1.5v1c0 .8.7 1.5 1.5 1.5zM39.9 33.8h1c.8 0 1.5-.7 1.5-1.5v-1c0-.8-.7-1.5-1.5-1.5h-1c-.8 0-1.5.7-1.5 1.5v1c0 .8.7 1.5 1.5 1.5z\"}]}},\ntype_tool:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M50.37 47.59L32.74 4a2.41 2.41 0 00-2.2-1.47H20.11A2.21 2.21 0 0018.06 4L1.9 47.59a1.43 1.43 0 001.32 1.91h6a2.36 2.36 0 002.06-1.62L16 34.81h19.68l5.14 13.07a2.36 2.36 0 002.06 1.62h6a1.52 1.52 0 001.49-1.91zM19.08 26l5.73-14.69H26L32.3 26z\"}},\nundelete:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M41.5 20h-31c-.8 0-1.5.7-1.5 1.5V45c0 2.8 2.2 5 5 5h24c2.8 0 5-2.2 5-5V21.5c0-.8-.7-1.5-1.5-1.5zM26 46v-4c3.3 0 6-2.7 6-6s-2.7-6-6-6c-1.6 0-3.1.7-4.2 1.8l2.4 2.4c.3.3.1.9-.4.9h-7.3c-.3 0-.5-.2-.5-.5v-7.3c0-.4.5-.7.9-.4L19 29c1.9-1.8 4.4-2.9 7.1-2.9 5.5 0 10 4.5 10 10S31.5 46 26 46zM45.5 10H33V6c0-2.2-1.8-4-4-4h-6c-2.2 0-4 1.8-4 4v4H6.5c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h39c.8 0 1.5-.7 1.5-1.5v-3c0-.8-.7-1.5-1.5-1.5zM29 10h-6V7c0-.6.4-1 1-1h4c.6 0 1 .4 1 1v3z\"}}},\nundeprecate:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M48 7H4c-1.1 0-2 .9-2 2v26c0 1.1.9 2 2 2h16.2c1 5.7 5.9 10 11.8 10s10.9-4.3 11.8-10H48c1.1 0 2-.9 2-2V9c0-1.1-.9-2-2-2zM30.5 41.3l-5.9-5.9 2.8-2.8 3.1 3.1 7.1-7.1 2.8 2.8-9.9 9.9zM46 33h-2.2c-1-5.7-5.9-10-11.8-10s-10.9 4.3-11.8 10H6V11h40v22z\"}},\nunderline:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M44.5 42h-37c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h37c.8 0 1.5-.7 1.5-1.5v-3c0-.8-.7-1.5-1.5-1.5zM25.3 38C17.8 37.6 12 31.1 12 23.6V10c0-1.1.9-2 2-2h2c1.1 0 2 .9 2 2v13.7c0 4.3 3.2 8 7.5 8.3 4.7.3 8.5-3.4 8.5-8V10c0-1.1.9-2 2-2h2c1.1 0 2 .9 2 2v14c0 8-6.7 14.4-14.7 14z\"}},\nundo:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M30.3 12.6c10.4 0 18.9 8.4 18.9 18.9s-8.5 18.9-18.9 18.9h-8.2c-.8 0-1.3-.6-1.3-1.4v-3.2c0-.8.6-1.5 1.4-1.5h8.1c7.1 0 12.8-5.7 12.8-12.8s-5.7-12.8-12.8-12.8H16.4s-.8 0-1.1.1c-.8.4-.6 1 .1 1.7l4.9 4.9c.6.6.5 1.5-.1 2.1L18 29.7c-.6.6-1.3.6-1.9.1l-13-13c-.5-.5-.5-1.3 0-1.8L16 2.1c.6-.6 1.6-.6 2.1 0l2.1 2.1c.6.6.6 1.6 0 2.1l-4.9 4.9c-.6.6-.6 1.3.4 1.3h.7l13.9.1z\"}},\nunlinked:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M18.1 36.9l9.4-9.5.7-.7 8.4-8.4 3.7-3.7 4.1-4.1c.7-.6.8-1.5.3-2l-1.8-1.8c-.4-.4-1.1-.4-1.7-.1L6.7 40.9v.1c-.6.6-.7 1.5-.3 2l1.8 1.8c.5.5 1.4.4 2-.3l4-4c0 .1 3.9-3.6 3.9-3.6zM18.4 23.1c-.5 0-.8.4-1 .8-.1.6-.1 1.2-.1 1.8 0 .4 0 .8.1 1.2l3.8-3.8h-2.8z\"},{\"d\":\"M8.3 36l4-4c-2.8-.6-5-3-5.2-5.8-.3-3.8 2.8-6.9 6.5-6.9h9.1c.7 0 1.4.1 2.1.4l3.9-3.9c-.9-.5-1.8-1-2.7-1.2-1-.3-2.2-.5-3.2-.5h-8.7c-6.6-.1-12 4.8-12.2 11.1C1.7 29.9 4.3 34 8.3 36zM43.1 15.3l-4 4c2.9.5 5.2 2.9 5.4 5.9.3 3.8-2.8 6.9-6.5 6.9h-9c-.8 0-1.6-.2-2.3-.4l-3.9 3.9c.9.6 1.8 1 2.8 1.3 1 .3 2.2.5 3.2.5H38c6.6.1 11.9-5.4 11.7-12-.2-4.6-2.9-8.3-6.6-10.1z\"},{\"d\":\"M30.1 28.3h3c.5 0 .8-.4 1-.8.1-.6.1-1.2.1-1.8 0-.5 0-.9-.1-1.4l-4 4z\"}]},\nunlock:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M10 18.1v0zM42 23H16v-4.7c0-5.3 4-10 9.3-10.3 4.9-.3 9 2.8 10.3 7.2.1.4.5.8 1 .8h4.1c.6 0 1.1-.6 1-1.2C40.1 7.2 33.3 1.6 25.2 2c-8.5.4-15 7.7-15.2 16.1V23c-2.2 0-4 1.8-4 4v19c0 2.2 1.8 4 4 4h32c2.2 0 4-1.8 4-4V27c0-2.2-1.8-4-4-4zM30.6 42.7c.2.6-.3 1.3-1 1.3h-7.3c-.7 0-1.2-.6-1-1.3l1.8-6c-1.5-1-2.4-2.8-2-4.8.4-1.9 1.9-3.4 3.9-3.8 3.2-.6 6 1.7 6 4.7 0 1.6-.8 3.1-2.1 3.9l1.7 6z\"}}},\nunmuted:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M41.5 18c-1.4 0-2.5 1-2.5 2.4v4c0 7-5.9 12.8-13.1 12.8s-13.1-5.8-13.1-12.8v-4c0-1.4-1.1-2.4-2.5-2.4S8 19 8 20.4v4c0 8.9 6.8 16.2 15.5 17.4v3.4h-4.1c-1.4 0-2.5 1-2.5 2.4S18 50 19.4 50h13.1c1.4 0 2.5-1 2.5-2.4s-1.1-2.4-2.5-2.4h-4.1v-3.4C37.2 40.6 44 33.3 44 24.4v-4c0-1.4-1.1-2.4-2.5-2.4z\"},{\"d\":\"M26 32.4c4.4 0 8-3.6 8-8V9.9C34 5.5 30.5 2 26.1 2h-.2C21.5 2 18 5.5 18 9.9v14.5c0 4.4 3.6 8 8 8z\"}]}},\nup:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M43.7 38H8.3c-1 0-1.7-1.3-.9-2.2l17.3-21.2c.6-.8 1.9-.8 2.5 0l17.5 21.2c.7.9.1 2.2-1 2.2z\"}},\nupload:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M48.5 31h-3c-.8 0-1.5.8-1.5 1.5v10c0 .8-.7 1.5-1.5 1.5h-33c-.8 0-1.5-.7-1.5-1.5v-10c0-.7-.7-1.5-1.5-1.5h-3c-.8 0-1.5.8-1.5 1.5V46c0 2.2 1.8 4 4 4h40c2.2 0 4-1.8 4-4V32.5c0-.7-.7-1.5-1.5-1.5z\"},{\"d\":\"M27 2.4c-.6-.6-1.5-.6-2.1 0L11.4 15.9c-.6.6-.6 1.5 0 2.1l2.1 2.1c.6.6 1.5.6 2.1 0l5.6-5.6c.6-.6 1.8-.2 1.8.7v21.2c0 .8.6 1.5 1.4 1.5h3c.8 0 1.6-.8 1.6-1.5V15.3c0-.9 1-1.3 1.7-.7l5.6 5.6c.6.6 1.5.6 2.1 0l2.1-2.1c.6-.6.6-1.5 0-2.1L27 2.4z\"}]}},\nuser:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M50 43v2.2c0 2.6-2.2 4.8-4.8 4.8H6.8C4.2 50 2 47.8 2 45.2V43c0-5.8 6.8-9.4 13.2-12.2l.6-.3c.5-.2 1-.2 1.5.1 2.6 1.7 5.5 2.6 8.6 2.6s6.1-1 8.6-2.6c.5-.3 1-.3 1.5-.1l.6.3C43.2 33.6 50 37.1 50 43zM26 2c6.6 0 11.9 5.9 11.9 13.2S32.6 28.4 26 28.4s-11.9-5.9-11.9-13.2S19.4 2 26 2z\"}},\nuser_role:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M38.3 27.2a11.4 11.4 0 1011.4 11.4 11.46 11.46 0 00-11.4-11.4zm2 12.4a2.39 2.39 0 01-.9-.2l-4.3 4.3a1.39 1.39 0 01-.9.4 1 1 0 01-.9-.4 1.39 1.39 0 010-1.9l4.3-4.3a2.92 2.92 0 01-.2-.9 3.47 3.47 0 013.4-3.8 2.39 2.39 0 01.9.2c.2 0 .2.2.1.3l-2 1.9a.28.28 0 000 .5l1.3 1.3a.38.38 0 00.6 0l1.9-1.9c.1-.1.4-.1.4.1a3.71 3.71 0 01.2.9 3.57 3.57 0 01-3.9 3.5z\"},{\"d\":\"M25.2 49.8c2.2 0 1-1.5 1-1.5a15.44 15.44 0 01-3.4-9.7 15 15 0 011.4-6.4.77.77 0 01.2-.3c.7-1.4-.7-1.5-.7-1.5a12.1 12.1 0 00-1.9-.1A19.69 19.69 0 002.4 47.1c0 1 .3 2.8 3.4 2.8h19.1c.2-.1.2-.1.3-.1z\"}],\"circle\":{\"cx\":\"21.7\",\"cy\":\"14.9\",\"r\":\"12.9\"}},\nvariable:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M42.6 17.8c2.4 0 7.2-2 7.2-8.4s-4.6-6.8-6.1-6.8c-2.8 0-5.6 2-8.1 6.3-2.5 4.4-5.3 9.1-5.3 9.1h-.1c-.6-3.1-1.1-5.6-1.3-6.7-.5-2.7-3.6-8.4-9.9-8.4-6.4 0-12.2 3.7-12.2 3.7-1 .7-1.7 1.9-1.7 3.3 0 2.1 1.7 3.9 3.9 3.9.6 0 1.2-.2 1.7-.4 0 0 4.8-2.7 5.9 0 .3.8.6 1.7.9 2.7 1.2 4.2 2.4 9.1 3.3 13.5l-4.2 6s-4.7-1.7-7.1-1.7-7.2 2-7.2 8.4 4.6 6.8 6.1 6.8c2.8 0 5.6-2 8.1-6.3 2.5-4.4 5.3-9.1 5.3-9.1.8 4 1.5 7.1 1.9 8.5 1.6 4.5 5.3 7.2 10.1 7.2 0 0 5 0 10.9-3.3 1.4-.6 2.4-2 2.4-3.6 0-2.1-1.7-3.9-3.9-3.9-.6 0-1.2.2-1.7.4 0 0-4.2 2.4-5.6.5-1-2-1.9-4.6-2.6-7.8-.6-2.8-1.3-6.2-2-9.5l4.3-6.2c-.1.1 4.6 1.8 7 1.8z\"}},\nvariation_attribute_setup:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M23.6 3.6A1.39 1.39 0 0022.1 5v22.6a1.26 1.26 0 001.4 1.4h.1a1.31 1.31 0 001.4-1.4V4.9a1.29 1.29 0 00-1.4-1.3zM9.1 3.6H3.5A1.31 1.31 0 002.1 5v22.6A1.37 1.37 0 003.5 29h5.6a1.31 1.31 0 001.4-1.4V4.9a1.41 1.41 0 00-1.4-1.3zM16.9 3.6h-1.4A1.31 1.31 0 0014.1 5v22.6a1.26 1.26 0 001.4 1.4h1.4a1.31 1.31 0 001.4-1.4V4.9a1.24 1.24 0 00-1.4-1.3zM44.4 24.4v.2l.1.7c.2.1.3.2.5.3l.7-.5.6-.2.5-.2V4.9a1.31 1.31 0 00-1.4-1.4h-2.8a1.31 1.31 0 00-1.4 1.4v15.8a4.67 4.67 0 013.2 3.7zM31.7 25l.5.2a3.33 3.33 0 01.6-.3l.1-.6v-.2a4.9 4.9 0 014.1-3.8V4.9a1.34 1.34 0 00-1.4-1.3H30A1.31 1.31 0 0028.6 5v19.9a4.3 4.3 0 011.2-.2 4.9 4.9 0 011.9.3zM47.4 37.8a11.14 11.14 0 00.2-1.7 8.81 8.81 0 00-.2-1.7l1.9-1.6a1.8 1.8 0 00.4-2.2l-.8-1.5a1.76 1.76 0 00-1.5-.8c-.2 0-.4.1-.6.1l-2.3.9a8.26 8.26 0 00-3-1.7l-.4-2.4a1.63 1.63 0 00-1.7-1.2h-1.7a1.66 1.66 0 00-1.7 1.2l-.4 2.3a8.51 8.51 0 00-3.1 1.7l-2.2-.9a1.08 1.08 0 00-.6-.1 1.76 1.76 0 00-1.5.8l-.8 1.4a1.83 1.83 0 00.4 2.2l1.9 1.6a11.14 11.14 0 00-.2 1.7 8.81 8.81 0 00.2 1.7l-1.9 1.7a1.8 1.8 0 00-.4 2.2l.8 1.6a1.76 1.76 0 001.5.8c.2 0 .4-.1.6-.1l2.3-.9a8.26 8.26 0 003 1.7l.4 2.5a1.72 1.72 0 001.7 1.4h1.7a1.72 1.72 0 001.7-1.4l.4-2.5a8.77 8.77 0 003.2-1.9l2.2.9a1.27 1.27 0 00.6.1 1.76 1.76 0 001.5-.8l.7-1.3a1.83 1.83 0 00-.4-2.2zm-8.8 4.1a5.6 5.6 0 115.6-5.6 5.59 5.59 0 01-5.6 5.6z\"},{\"d\":\"M38.5 33.1a3.1 3.1 0 103.1 3.1 3.1 3.1 0 00-3.1-3.1z\"}]},\nvariation_products:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M45 28.2a1.13 1.13 0 00.7-1.2V5a1.31 1.31 0 00-1.4-1.4h-2.8A1.31 1.31 0 0040.1 5v16.8a7.33 7.33 0 014.9 6.4zM29.3 28.3h1.1a7.36 7.36 0 015.7-6.8V5a1.31 1.31 0 00-1.4-1.4h-5.4A1.31 1.31 0 0027.9 5v22a1.24 1.24 0 001.4 1.3zM16.6 3.7h-1.4a1.31 1.31 0 00-1.4 1.4v22a1.26 1.26 0 001.4 1.4h1.4a1.31 1.31 0 001.4-1.4V5a1.41 1.41 0 00-1.4-1.3zM8.9 3.7H3.5A1.24 1.24 0 002.1 5v22a1.37 1.37 0 001.4 1.4h5.4a1.31 1.31 0 001.4-1.4V5a1.34 1.34 0 00-1.4-1.3zM23.1 3.6H23A1.31 1.31 0 0021.6 5v22c-.1.8.5 1.3 1.5 1.3a1.31 1.31 0 001.4-1.4V5a1.31 1.31 0 00-1.4-1.4zM45.9 39.4a4.07 4.07 0 00-4 3.3h-5.4a.46.46 0 00-.4.5v.4a4.25 4.25 0 01-.2 1.1c-.1.2.2.5.4.5h5.8a3.84 3.84 0 003.7 2.4 4.19 4.19 0 004.1-4.1 4.1 4.1 0 00-4-4.1zM33.6 28.8a4 4 0 005.3 3.8l2.8 5.2c.2.2.4.3.6.2a2.85 2.85 0 011.4-.6.48.48 0 00.2-.6l-3-5.5a3.66 3.66 0 00.9-2.5 4.1 4.1 0 10-8.2 0zM35.1 34.6a10 10 0 01-1.4-.8c-.2-.2-.5-.1-.6.2l-2.8 5.4a1.27 1.27 0 00-.6-.1 4.09 4.09 0 102.8 1.1l2.8-5.2a.85.85 0 00-.2-.6z\"}},\nvideo:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M46.9 13.1l-11 7.9v-5.6c0-1.5-1.2-2.7-2.7-2.7H4.7c-1.5 0-2.7 1.2-2.7 2.7v21.3c0 1.5 1.2 2.7 2.7 2.7h28.6c1.5 0 2.7-1.2 2.7-2.7v-5.5L46.9 39c.7.7 1.9.2 1.9-.8V13.9c0-1-1.2-1.5-1.9-.8z\"}},\nvoicemail_drop:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M39 14.8c-6.1 0-11.2 5-11.2 11.2 0 2.2.7 4.3 1.8 6.1h-7.2c1.2-1.8 1.8-3.8 1.8-6.1 0-6.1-5-11.2-11.2-11.2-6.1 0-11.2 5-11.2 11.2 0 6.1 5 11.2 11.2 11.2h25.9c6.1 0 11.2-5 11.2-11.2.1-6.2-4.9-11.2-11.1-11.2zM7.2 25.9c0-3.3 2.7-6 5.9-6 3.3 0 5.9 2.7 5.9 6s-2.7 6-5.9 6-5.9-2.6-5.9-6zM39 32c-3.3 0-5.9-2.7-5.9-6s2.7-6 5.9-6c3.3 0 5.9 2.7 5.9 6 .1 3.3-2.6 6-5.9 6z\"}},\nvolume_high:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M24.6 2.6L12 18H6c-2.2 0-4 1.8-4 4v8c0 2.2 1.8 4 4 4h6l12.6 15.4c1.3 1.3 3.4.4 3.4-1.4V4c0-1.8-2.2-2.7-3.4-1.4zM42.6 8.7c-.4-.4-1-.4-1.4 0l-1.4 1.4c-.4.4-.4 1.1 0 1.4C43.6 15.2 46 20.3 46 26c0 5.7-2.4 10.8-6.2 14.5-.4.4-.4 1 0 1.4l1.4 1.4c.4.4 1 .4 1.4 0C47.1 39 50 32.8 50 26c0-6.8-2.8-13-7.4-17.3z\"},{\"d\":\"M36.3 15.1c-.4-.4-1-.4-1.4 0l-1.4 1.4c-.4.4-.4 1 0 1.4 2.2 2 3.5 4.9 3.5 8.1 0 3.2-1.4 6.1-3.6 8.1-.4.4-.4 1 0 1.4l1.4 1.4c.4.4 1 .4 1.4 0 2.9-2.7 4.8-6.6 4.8-11 0-4.2-1.8-8.1-4.7-10.8z\"}]}},\nvolume_low:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M24.6 2.6L12 18H6c-2.2 0-4 1.8-4 4v8c0 2.2 1.8 4 4 4h6l12.6 15.4c1.3 1.3 3.4.4 3.4-1.4V4c0-1.8-2.2-2.7-3.4-1.4zM36.3 15.1c-.4-.4-1-.4-1.4 0l-1.4 1.4c-.4.4-.4 1 0 1.4 2.2 2 3.5 4.9 3.5 8.1s-1.4 6.1-3.6 8.1c-.4.4-.4 1 0 1.4l1.4 1.4c.4.4 1 .4 1.4 0 2.9-2.7 4.8-6.6 4.8-11 0-4.2-1.8-8.1-4.7-10.8z\"}}},\nvolume_off:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M24.6 2.6L12 18H6c-2.2 0-4 1.8-4 4v8c0 2.2 1.8 4 4 4h6l12.6 15.4c1.3 1.3 3.4.4 3.4-1.4V4c0-1.8-2.2-2.7-3.4-1.4zM44.8 26l4.9-4.9c.4-.4.4-1 0-1.4l-1.4-1.4c-.4-.4-1-.4-1.4 0L42 23.2l-4.9-4.9c-.4-.4-1-.4-1.4 0l-1.4 1.4c-.4.4-.4 1 0 1.4l4.9 4.9-4.9 4.9c-.4.4-.4 1 0 1.4l1.4 1.4c.4.4 1 .4 1.4 0l4.9-4.9 4.9 4.9c.4.4 1 .4 1.4 0l1.4-1.4c.4-.4.4-1 0-1.4L44.8 26z\"}}},\nwaits:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M50 18.4c0-.8-.7-1.5-1.5-1.5h-21c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h14.3L26.3 41.8v.1c-.2.2-.3.5-.3.8v3c0 .8.7 1.5 1.5 1.5h21c.8 0 1.5-.7 1.5-1.5v-3c0-.8-.7-1.5-1.5-1.5h-14l15.2-18.6c.2-.3.3-.7.3-1v-3.2zM26 6.3c0-.8-.7-1.5-1.5-1.5h-21c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h14.3L2.3 29.7v.1c-.2.2-.3.5-.3.8v3c0 .8.7 1.5 1.5 1.5h21c.8 0 1.5-.7 1.5-1.5v-3c0-.8-.7-1.5-1.5-1.5h-14l15.2-18.6c.2-.3.3-.7.3-1V6.3z\"}},\nwarning:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M51.4 42.5l-22.9-37c-1.2-2-3.8-2-5 0L.6 42.5C-.8 44.8.6 48 3.1 48h45.8c2.5 0 4-3.2 2.5-5.5zM26 40c-1.7 0-3-1.3-3-3s1.3-3 3-3 3 1.3 3 3-1.3 3-3 3zm3-9c0 .6-.4 1-1 1h-4c-.6 0-1-.4-1-1V18c0-.6.4-1 1-1h4c.6 0 1 .4 1 1v13z\"}},\nwarranty_term:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M26 2c3 0 5.43 3.29 8.09 4.42s6.82.51 8.84 2.65 1.51 6.07 2.65 8.84S50 23 50 26s-3.29 5.43-4.42 8.09-.51 6.82-2.65 8.84-6.07 1.53-8.84 2.65S29 50 26 50s-5.43-3.29-8.09-4.42-6.82-.51-8.84-2.65-1.53-6.07-2.65-8.84S2 29 2 26s3.29-5.43 4.42-8.09.51-6.82 2.65-8.84 6.07-1.53 8.84-2.65S23 2 26 2zm0 7.58A16.42 16.42 0 1042.42 26 16.47 16.47 0 0026 9.58zm7.62 9.15l1.61 1.52a1.25 1.25 0 010 1.51L25.08 33.07a2.07 2.07 0 01-1.61.7 2.23 2.23 0 01-1.61-.7l-5.49-5.47a1 1 0 01-.1-1.42l.1-.11L18 24.56a1.1 1.1 0 011.54-.07l.07.07 3.89 4 8.59-9.8a1.1 1.1 0 011.53-.03z\"}},\nwatchlist:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M42.9 7h.2l.3.1a2.45 2.45 0 011.4 1l.2.3 4.2 7.4c1.5 2.7.2 3.4-1.1 4.2s-2.5 1.1-3.9-.8l-.1-.2-.7-1.3-6.4 25a3 3 0 01-5.3 1.1l-.1-.1-10.7-16.5-5.5 12a3 3 0 01-2.7 1.8H3.6c-.4 0-1.5-.4-1.5-1.4a4.06 4.06 0 00-.1-1.3v-1.8a1.52 1.52 0 011.44-1.6h7.36l7-15.2a2.94 2.94 0 013.86-1.55A3 3 0 0123 19.3l9.9 15.3 4.6-18.1-.9.5c-1.9 1.3-2.7.7-3.9-.8l-.2-.3c-.8-1.3-1.1-2.6.1-3.5l1-.7L41 7.4a3.14 3.14 0 011.9-.4z\"}},\nweeklyview:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M44 7h-5V5c0-1.6-1.3-3-3-3-1.6 0-3 1.3-3 3v2H19V5c0-1.6-1.3-3-3-3-1.6 0-3 1.3-3 3v2H8c-2.2 0-4 1.8-4 4v2.5c0 .8.7 1.5 1.5 1.5h41c.8 0 1.5-.7 1.5-1.5V11c0-2.2-1.8-4-4-4zM46.5 20h-41c-.8 0-1.5.7-1.5 1.5V46c0 2.2 1.8 4 4 4h36c2.2 0 4-1.8 4-4V21.5c0-.8-.7-1.5-1.5-1.5zm-13.7 9.5l-6.3 13.4c-.3.7-1 1.1-1.8 1.1-1.1 0-1.9-.9-1.9-1.8 0-.2.1-.5.2-.8L28.3 30h-7.6c-.9 0-1.7-.6-1.7-1.5 0-.8.8-1.5 1.7-1.5h10.4c1 0 1.9.8 1.9 1.8 0 .3-.1.5-.2.7z\"}},\nwellness:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M27.42 10.57a1.66 1.66 0 00-1.25-.57 1.66 1.66 0 00-1.25.56c-11.76 13.39-5 24 0 29.07a1.66 1.66 0 001.19.49 1.77 1.77 0 001.24-.54c4.95-5.1 11.48-15.65.07-29.01zM15.66 28.3c-2.66-1.51-6.29-2.38-11.1-2.06a1.27 1.27 0 00-1 .53 1.34 1.34 0 00-.24 1.08c3 14 13 14.75 18.77 13.94a1.35 1.35 0 00.64-.3 23.14 23.14 0 01-7.07-13.19zM36.34 28.3c2.69-1.51 6.29-2.38 11.1-2.06a1.27 1.27 0 011 .53 1.34 1.34 0 01.24 1.08c-3 14-13 14.75-18.77 13.94a1.35 1.35 0 01-.64-.3 23.14 23.14 0 007.07-13.19zM15.38 25c.32-4.56 1.2-6.62 1.61-7.35a22.71 22.71 0 00-6.43-3.46 1.28 1.28 0 00-1.08.09 1.34 1.34 0 00-.64.88 21.65 21.65 0 00-.25 8.41A22.93 22.93 0 0115.38 25zM43.31 15.13a1.29 1.29 0 00-.64-.88 1.28 1.28 0 00-1.08-.09 22.79 22.79 0 00-6.42 3.46c.4.73 1.29 2.79 1.6 7.35a22.93 22.93 0 016.8-1.43 21.27 21.27 0 00-.26-8.41z\"}},\nwifi:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M47.7 15.8c-5.5-6.1-13.3-9.5-21.6-9.5S10 9.7 4.5 15.8c-.4.4-.3 1.1.1 1.4l3 2.6c.4.4 1 .3 1.4-.1 4.4-4.7 10.6-7.4 17.1-7.4s12.7 2.7 17.1 7.4c.4.4 1 .4 1.4.1l3-2.6c.4-.4.5-1 .1-1.4zM26.1 20.3c-4.2 0-8.2 1.8-11 5-.4.4-.3 1.1.1 1.5l3.2 2.4c.4.3 1 .3 1.3-.1 1.7-1.8 4-2.8 6.4-2.8s4.7 1 6.3 2.7c.3.4.9.4 1.3.1l3.2-2.4c.5-.4.5-1 .1-1.5-2.7-3.1-6.7-4.9-10.9-4.9zM26.2 34.2c2.7 0 5 2.2 5 5s-2.2 5-5 5-5-2.2-5-5 2.3-5 5-5z\"}},\nwork_forecast:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M44.88 11.82s-2.38-4.91-7.7-4.91S29.34 12 29.34 12a7.94 7.94 0 00-6.75 0s-2.45-5.05-7.77-5.05-7.7 4.91-7.7 4.91S2.14 22.93 2 32.89s6.48 12.2 9.61 12.2c3.41 0 11.46-1.43 11.05-12.61a3.26 3.26 0 013.07-1.84 4.06 4.06 0 013.68 1.84C29 43.66 37 45.09 40.39 45.09c3.06 0 9.74-2.39 9.61-12.2s-5.12-21.07-5.12-21.07zM12.23 40.73a5.94 5.94 0 115.93-5.94 5.94 5.94 0 01-5.93 5.94zm27.54 0a5.94 5.94 0 115.93-5.94 5.94 5.94 0 01-5.93 5.94z\"}},\nwork_order_type:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M39.3 26.9c0 1-.9 1.9-1.9 1.9H14.6c-1 0-1.9-.9-1.9-1.9V25c0-1 .9-1.9 1.9-1.9h22.9c1 0 1.9.9 1.9 1.9v1.9h-.1zm-3.8 11.4c0 1-.9 1.9-1.9 1.9h-19c-1 0-1.9-.9-1.9-1.9v-1.9c0-1 .9-1.9 1.9-1.9h19.1c1 0 1.9.9 1.9 1.9v1.9h-.1zM12.7 13.5c0-1 .9-1.9 1.9-1.9h19.1c1 0 1.9.9 1.9 1.9v1.9c0 1-.9 1.9-1.9 1.9H14.6c-1 0-1.9-.9-1.9-1.9v-1.9zM41.2 4H10.8C7.6 4 5 6.6 5 9.7v32.4c0 3.1 2.6 5.7 5.7 5.7h30.5c3.1 0 5.7-2.6 5.7-5.7V9.7C47 6.6 44.4 4 41.2 4z\"}},\nworld:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M26 2C12.7 2 2 12.7 2 26s10.7 24 24 24 24-10.7 24-24S39.3 2 26 2zm0 5zm2 .1h-.2.2zM26 45C15.5 45 7 36.5 7 26c0-1 .1-2.1.3-3 1.3.2 2.9.7 3.7 1.5 1.7 1.8 3.6 3.9 5.4 4.3 0 0-.2.1-.4.4-.2.3-.4.9-.4 1.9 0 4.7 4.4 1.9 4.4 6.6 0 4.7 5.3 6.6 5.3 2.8s3.5-5.6 3.5-8.5-2.7-2.8-4.4-3.8c-1.8-.9-2.7-2.4-6.1-1.9-1.8-1.7-2.8-3.1-2-4.7.9-1.7 4.6-2 4.6-4.6s-2.5-3.1-4.3-3.1c-.8 0-2.5-.6-3.9-1.3 1.7-1.7 3.8-3.1 6-4.1 1.6.7 4.3 1.8 6.6 1.8 2.7 0 4.1-1.9 3.7-3.1 4.5.7 8.5 3 11.4 6.2-1.5.9-3.5 1.9-7 1.9-4.6 0-4.6 4.7-1.9 5.6 2.8.9 5.6-1.8 6.5 0 .9 1.8-6.5 1.8-4.6 6.4 1.9 4.6 3.7-.1 5.6 4.5 1.9 4.6 5.6-.7 2.8-4.3-1.2-1.6-.9-6.5 1.9-6.5h.9c.4 1.6.7 3.3.7 5C45 36.5 36.5 45 26 45z\"}},\nyubi_key:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M38.5 14.1h-37c-.8 0-1.5.7-1.5 1.5v21c0 .8.7 1.5 1.5 1.5h37c.8 0 1.5-.7 1.5-1.5v-21c0-.8-.7-1.5-1.5-1.5zM21 32.2c-3.4 0-6.1-2.7-6.1-6.1S17.6 20 21 20s6.1 2.7 6.1 6.1-2.7 6.1-6.1 6.1z\"},{\"d\":\"M50.5 18H36c-.8 0-1.5.7-1.5 1.5v13c0 .8.7 1.5 1.5 1.5h14.5c.8 0 1.5-.7 1.5-1.5v-13c0-.8-.7-1.5-1.5-1.5zm-3.4 4c.6 0 1 .4 1 1v1.9H40V22h7.1zm0 8H40v-2.7h8.1V29c0 .6-.4 1-1 1z\"}],\"circle\":{\"cx\":\"21\",\"cy\":\"26.1\",\"r\":\"1.2\"}}},\nzoomin:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M31 19h-6v-6c0-.6-.4-1-1-1h-4c-.6 0-1 .4-1 1v6h-6c-.6 0-1 .4-1 1v4c0 .6.4 1 1 1h6v6c0 .6.4 1 1 1h4c.6 0 1-.4 1-1v-6h6c.6 0 1-.4 1-1v-4c0-.6-.4-1-1-1z\"},{\"d\":\"M49.6 45.2L38.1 33.8C40.5 30.5 42 26.4 42 22c0-11-9-20-20-20S2 11 2 22s9 20 20 20c4.4 0 8.5-1.5 11.8-3.9l11.5 11.5c.6.6 1.5.6 2.1 0l2.1-2.1c.6-.6.6-1.6.1-2.3zM22 36c-7.7 0-14-6.3-14-14S14.3 8 22 8s14 6.3 14 14-6.3 14-14 14z\"}]},\nzoomout:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M19 25h12c.6 0 1-.4 1-1v-4c0-.6-.4-1-1-1H19M19 19h-6c-.6 0-1 .4-1 1v4c0 .6.4 1 1 1h6\"},{\"d\":\"M49.6 45.3L38.1 33.8C40.5 30.5 42 26.4 42 22c0-11-9-20-20-20S2 11 2 22s9 20 20 20c4.4 0 8.5-1.5 11.8-3.9l11.5 11.5c.6.6 1.5.6 2.1 0l2.1-2.1c.6-.6.6-1.6.1-2.2zM22 36c-7.7 0-14-6.3-14-14S14.3 8 22 8s14 6.3 14 14-6.3 14-14 14z\"}]},\nviewBox:'0 0 52 52'\n}; } export default icons;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n\nlet icons = {}; if ('__INCLUDE_SLDS_ICONS__' === '__INCLUDE_SLDS_ICONS__') { icons = {\nadd_contact:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M46 9H6c-2.7 0-5 2.2-5 5v24c0 2.7 2.3 5 5 5h40c2.8 0 5-2.2 5-5V14c0-2.8-2.2-5-5-5zM24.8 37.2H10.4c-1.6 0-2.8-1.7-2.8-3.4.1-2.5 2.7-4 5.4-5.2 1.9-.8 2.2-1.6 2.2-2.4 0-.8-.5-1.6-1.2-2.2-1.1-1-1.7-2.5-1.7-4.1 0-3.2 1.9-5.8 5.2-5.8s5.2 2.7 5.2 5.8c0 1.7-.6 3.2-1.7 4.1-.7.6-1.2 1.3-1.2 2.2 0 .8.2 1.6 2.2 2.3 2.7 1.2 5.3 2.8 5.4 5.3.3 1.7-1 3.4-2.6 3.4zm19.5-5.8c0 .9-.8 1.7-1.7 1.7h-7.5c-.9 0-1.7-.7-1.7-1.7v-2.5c0-.9.8-1.7 1.7-1.7h7.5c.9 0 1.7.7 1.7 1.7v2.5zm0-9.1c0 .9-.8 1.7-1.7 1.7H30.2c-.9 0-1.7-.7-1.7-1.7v-2.5c0-.9.8-1.7 1.7-1.7h12.5c.9 0 1.7.7 1.7 1.7v2.5z\"}},\nadd_file:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M9.7 36.1V11.3c-2.6 0-4.7 2.1-4.7 4.6v29.4C5 47.9 7.1 50 9.7 50H33c2.6 0 4.7-2.1 4.7-4.6H19c-5.1 0-9.3 0-9.3-9.3zm35.7-20.2h-7.8c-2.6 0-4.7-2.1-4.7-4.6V3.5c.1-.8-.6-1.5-1.5-1.5H19c-2.6 0-4.7 2.1-4.7 4.6V36c0 2.6 2.1 4.6 4.7 4.6h23.3c2.6 0 4.7-2.1 4.7-4.6V17.5c0-.9-.7-1.6-1.6-1.6zm1.3-6.5l-7.2-7.1c-.2-.2-.4-.3-.7-.3-.6 0-1.1.5-1.1 1.1v5.1c0 1.7 1.4 3.1 3.1 3.1h5.1c.6 0 1.1-.5 1.1-1.1 0-.3-.1-.5-.3-.8z\"}},\nadd_photo_video:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M26 20c-4.4 0-8 3.6-8 8s3.6 8 8 8 8-3.6 8-8-3.6-8-8-8zm20-6h-5.2c-1.4 0-2.6-.7-3.4-1.8l-2.3-3.5C34.4 7 32.7 6 30.9 6h-9.8c-1.8 0-3.5 1-4.3 2.7l-2.3 3.5c-.7 1.1-2 1.8-3.4 1.8H6c-2.2 0-4 1.8-4 4v24c0 2.2 1.8 4 4 4h40c2.2 0 4-1.8 4-4V18c0-2.2-1.8-4-4-4zM26 40c-6.6 0-12-5.4-12-12s5.4-12 12-12 12 5.4 12 12-5.4 12-12 12z\"}},\nadd_relationship:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M36 20c0-2.2-1.8-4-4-4H6c-2.2 0-4 1.8-4 4v26c0 2.2 1.8 4 4 4h26c2.2 0 4-1.8 4-4V20zm-8 14c0 .5-.5 1-1 1h-6v6c0 .5-.5 1-1 1h-2c-.5 0-1-.5-1-1v-6h-6c-.5 0-1-.5-1-1v-2c0-.5.5-1 1-1h6v-6c0-.5.5-1 1-1h2c.5 0 1 .5 1 1v6h6c.5 0 1 .5 1 1v2zm15 8h-3v-6h3c.6 0 1-.4 1-1V9c0-.6-.4-1-1-1H17c-.6 0-1 .4-1 1v3h-6V9c0-3.9 3.1-7 7-7h26c3.9 0 7 3.1 7 7v26c0 3.9-3.1 7-7 7z\"}},\nadjust_value:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M23 14.91a6.55 6.55 0 11-6.52 6.55A6.53 6.53 0 0123 14.91zm20.7 15.72a.58.58 0 000-.84l-4.12-4.12a.59.59 0 00-.42-.18.61.61 0 00-.43.18L27.39 37.05l-1.7 5.69a.8.8 0 00.79 1 .55.55 0 00.18 0L32.35 42zm-1.45-7.75L46.4 27a.63.63 0 00.43.18.59.59 0 00.42-.18c.73-.73 2.06-1.94 2.06-1.94a2 2 0 000-2.91L47.13 20a2 2 0 00-1.41-.54 2.34 2.34 0 00-1.5.54s-1.33 1.31-1.93 2a.58.58 0 000 .88zM40.1 8.27H6a4 4 0 00-3.93 4v19.07A4 4 0 006 35.28h18.84l3.95-3.94H10.54A4.53 4.53 0 006 26.76v-9.88a4.53 4.53 0 004.56-4.57h25a4.53 4.53 0 004.56 4.57v3L44 15.91v-3.6a4 4 0 00-3.9-4.04z\"}},\nannouncement:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M22.7 45.4l-1.3-1c-1.4-1-1.4-3-1.4-4v-2.9c0-.8-.7-1.5-1.5-1.5h-6c-.8 0-1.5.7-1.5 1.5v7.7c0 2.7 1.6 4.8 4.1 4.8H20c2.9 0 3.1-2 3.1-2s.5-1.8-.4-2.6zM45 18V4.4v-.1c0-2.4-3-3.1-4.6-1.5l-8.9 8.4c-1.4 1.2-3.2 1.7-5 1.7H11.3C6.1 13 2 17.5 2 22.7v.2c0 5.2 4.1 9.1 9.3 9.1h15.2c1.9 0 3.7.8 5.1 2l8.8 8.6c1.6 1.6 4.6 1 4.6-1.4V27.6c3 0 4.8-2.1 4.8-4.8 0-2.7-1.8-4.8-4.8-4.8z\"}}},\napex:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M48.5 40h-27c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h27c.8 0 1.5-.7 1.5-1.5v-3c0-.8-.7-1.5-1.5-1.5zM25.4 21.8L6 6.3c-.6-.5-1.5-.4-2 .3L2.3 9c-.5.7-.3 1.6.3 2.1l13.8 11c.5.4.5 1.2 0 1.6l-13.8 11c-.6.5-.8 1.5-.3 2.1L4 39.4c.5.7 1.4.8 2 .3l19.4-15.5c.8-.6.8-1.8 0-2.4z\"}}},\napproval:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M19 43.6L2.5 27c-.6-.6-.6-1.6 0-2.2l2.2-2.2c.6-.6 1.6-.6 2.2 0l12.4 12.5c.4.4 1.1.4 1.5 0l24.3-24.5c.6-.6 1.6-.6 2.2 0l2.2 2.2c.6.6.6 1.6 0 2.2L21.2 43.6c-.6.7-1.6.7-2.2 0z\"}},\nback:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M48.5 22H15.3c-.9 0-1.3-1.1-.7-1.7l9.6-9.6c.6-.6.6-1.5 0-2.1L22 6.4c-.6-.6-1.5-.6-2.1 0L2.4 23.9c-.6.6-.6 1.5 0 2.1l17.5 17.5c.6.6 1.5.6 2.1 0l2.1-2.1c.6-.6.6-1.5 0-2.1l-9.6-9.6c-.6-.6-.2-1.7.7-1.7h33.2c.8 0 1.5-.7 1.5-1.5v-3c.1-.8-.6-1.5-1.4-1.5z\"}},\nbug:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M19.7 10.1h12.7c.9 0 1.6-.9 1.4-1.7-.8-3.6-4-6.2-7.8-6.2s-7 2.7-7.8 6.2c-.1.8.6 1.7 1.5 1.7zm27.8 20.7c1.4 0 2.5-1.1 2.4-2.5-.1-1.3-1.2-2.3-2.6-2.3h-7v-4c4.6-1.8 7.9-6.8 7.9-12.6 0-1.2-.8-2.2-2-2.5-1.5-.2-2.8.9-2.8 2.4 0 3.4-1.6 6.4-3.9 7.8-.9-1.4-2.4-2.2-4.1-2.2H16.5c-1.7 0-3.2.9-4.1 2.2-2.3-1.4-3.9-4.3-3.9-7.6 0-1.3-1-2.5-2.2-2.5-1.4-.1-2.5 1-2.5 2.3 0 5.9 3.3 10.9 7.9 12.7v4h-7c-1.3 0-2.5 1-2.5 2.2-.1 1.4 1 2.5 2.4 2.5h7.2v4c-4.6 1.8-7.9 6.8-7.9 12.6 0 1.2.8 2.2 2 2.5 1.5.2 2.8-.9 2.8-2.4 0-3.3 1.5-6.3 3.8-7.7 1.4 4.5 4.8 7.9 9.2 9.4 1 .3 2.1-.5 2.1-1.5V28.5c0-1.3 1-2.5 2.2-2.5 1.4-.1 2.5 1 2.5 2.4v19.2c0 1.1 1 1.8 2.1 1.5 4.4-1.4 7.9-4.9 9.2-9.4 2.2 1.4 3.7 4.3 3.8 7.5 0 1.3 1 2.5 2.2 2.5 1.4.1 2.5-1 2.5-2.4 0-5.9-3.3-10.9-7.9-12.7v-4h7.1v.2z\"}},\ncall:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M48.5 37.8l-6.1-4.9c-1.4-1.1-3.4-1.2-4.8-.1l-5.2 3.8c-.6.5-1.5.4-2.1-.2l-7.8-7-7-7.8c-.6-.6-.6-1.4-.2-2.1l3.8-5.2c1.1-1.4 1-3.4-.1-4.8l-4.9-6.1c-1.5-1.8-4.2-2-5.9-.3l-5 5.2c-.8.8-1.2 2-1.2 3.1.5 10.2 5.1 19.9 11.9 26.7 6.8 6.8 16.5 11.4 26.7 11.9 1.1.1 2.2-.4 3-1.2l5.2-5.2c1.7-1.6 1.6-4.4-.3-5.8z\"}},\ncanvas:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M45 38.4c-.2 2.7-.5 5.6-1 8.4-.1.8-1 1.7-1.8 1.8-5.4.6-10.7 1-16.1 1-5.3 0-10.7-.3-16-1-.8-.1-1.7-.9-1.8-1.8-.7-4.4-1.1-8.9-1.1-13.4s.4-9 1.1-13.4c.1-.8 1-1.6 1.8-1.8 3.3-.4 6.5-.6 9.7-.8 0 0 2.6-.1 2.4-2.6-.2-2.2-4-3.7-4-7.4 0-3 3-5.4 7.9-5.4 4.8 0 7.8 2.4 7.8 5.4 0 3.8-3.7 5.2-3.9 7.4-.2 2.4 2.4 2.6 2.4 2.6 3.3.1 6.6.4 9.8.8.8.1 1.7.9 1.8 1.8.5 3.1.8 6 1 9.1 0 .9-.7 1.8-1.6 1.8h-.9c-.9 0-2.3-.7-2.9-1.4 0 0-2.1-2.2-4.4-2.3-3.7-.1-6.5 3.1-6.5 6.6s2.8 6.8 6.4 6.7c2.2-.1 4.4-2.3 4.4-2.3.7-.6 2-1.2 2.9-1.2h.9c1.1 0 1.8.6 1.7 1.4z\"}},\nchange_owner:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M27.3 37.6c-3-1.2-3.5-2.3-3.5-3.5 0-1.2.8-2.3 1.8-3.2 1.8-1.5 2.6-3.9 2.6-6.4 0-4.7-2.9-8.5-8.3-8.5s-8.3 3.8-8.3 8.5c0 2.5.8 4.9 2.6 6.4 1 .9 1.8 2 1.8 3.2 0 1.2-.5 2.3-3.5 3.5-4.4 1.8-8.6 3.8-8.7 7.6C4 47.8 6 50 8.5 50h23c2.5 0 4.5-2.2 4.5-4.7-.1-3.8-4.3-5.9-8.7-7.7zM44.5 19c0-7.4-6.1-13.5-13.5-13.5V2l-6.8 5.5c-.3.3-.2.8.1 1.1L31 14v-3.5c4.7 0 8.5 3.8 8.5 8.5H36l5.5 6.8c.3.3.8.3 1.1 0L48 19h-3.5z\"}},\nchange_record_type:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M20 37.5c0-.8-.7-1.5-1.5-1.5h-15c-.8 0-1.5.7-1.5 1.5v11c0 .8.7 1.5 1.5 1.5h15c.8 0 1.5-.7 1.5-1.5v-11zM8.1 22H3.2c-1 0-1.5.9-.9 1.4l8 8.3c.4.3 1 .3 1.4 0l8-8.3c.6-.6.1-1.4-.9-1.4h-4.7c0-5 4.9-10 9.9-10V6C15 6 8.1 13 8.1 22zM41.8 20.3c-.4-.3-1-.3-1.4 0l-8 8.3c-.6.6-.1 1.4.9 1.4h4.8c0 6-4.1 10-10.1 10v6c9 0 16.1-7 16.1-16H49c1 0 1.5-.9.9-1.4l-8.1-8.3zM50 3.5c0-.8-.7-1.5-1.5-1.5h-15c-.8 0-1.5.7-1.5 1.5v11c0 .8.7 1.5 1.5 1.5h15c.8 0 1.5-.7 1.5-1.5v-11z\"}},\ncheck:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M19.1 42.5L2.6 25.9c-.6-.6-.6-1.6 0-2.2l2.2-2.2c.6-.6 1.6-.6 2.2 0L19.4 34c.4.4 1.1.4 1.5 0L45.2 9.5c.6-.6 1.6-.6 2.2 0l2.2 2.2c.6.6.6 1.6 0 2.2L21.3 42.5c-.6.7-1.6.7-2.2 0z\"}},\nclone:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M46 2H18c-2.2 0-4 1.8-4 4v2.5c0 .8.7 1.5 1.5 1.5H34c4.4 0 8 3.6 8 8v18.5c0 .8.7 1.5 1.5 1.5H46c2.2 0 4-1.8 4-4V6c0-2.2-1.8-4-4-4z\"},{\"d\":\"M34 14H6c-2.2 0-4 1.8-4 4v28c0 2.2 1.8 4 4 4h28c2.2 0 4-1.8 4-4V18c0-2.2-1.8-4-4-4zm-4 27c0 .6-.4 1-1 1H11c-.6 0-1-.4-1-1v-2c0-.6.4-1 1-1h18c.6 0 1 .4 1 1v2zm0-8c0 .6-.4 1-1 1H11c-.6 0-1-.4-1-1v-2c0-.6.4-1 1-1h18c.6 0 1 .4 1 1v2zm0-8c0 .6-.4 1-1 1H11c-.6 0-1-.4-1-1v-2c0-.6.4-1 1-1h18c.6 0 1 .4 1 1v2z\"}]}},\nclose:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M31.6 25.8l13.1-13.1c.6-.6.6-1.5 0-2.1l-2.1-2.1c-.6-.6-1.5-.6-2.1 0L27.4 21.6c-.4.4-1 .4-1.4 0L12.9 8.4c-.6-.6-1.5-.6-2.1 0l-2.1 2.1c-.6.6-.6 1.5 0 2.1l13.1 13.1c.4.4.4 1 0 1.4L8.6 40.3c-.6.6-.6 1.5 0 2.1l2.1 2.1c.6.6 1.5.6 2.1 0L26 31.4c.4-.4 1-.4 1.4 0l13.1 13.1c.6.6 1.5.6 2.1 0l2.1-2.1c.6-.6.6-1.5 0-2.1L31.6 27.2c-.3-.4-.3-1 0-1.4z\"}},\ndefer:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M26 2C12.8 2 2 12.8 2 26s10.8 24 24 24 24-10.8 24-24S39.2 2 26 2zm0 42c-9.9 0-18-8.1-18-18S16.1 8 26 8s18 8.1 18 18-8.1 18-18 18z\"},{\"d\":\"M29.4 26.2c-.3-.3-.4-.7-.4-1.1v-9.6c0-.8-.7-1.5-1.5-1.5h-3c-.8 0-1.5.7-1.5 1.5v12.1c0 .4.2.8.4 1.1l7.4 7.4c.6.6 1.5.6 2.1 0L35 34c.6-.6.6-1.5 0-2.1l-5.6-5.7z\"}]}},\ndelete:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M45.5 10H33V6c0-2.2-1.8-4-4-4h-6c-2.2 0-4 1.8-4 4v4H6.5c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h39c.8 0 1.5-.7 1.5-1.5v-3c0-.8-.7-1.5-1.5-1.5zM23 7c0-.6.4-1 1-1h4c.6 0 1 .4 1 1v3h-6V7zM41.5 20h-31c-.8 0-1.5.7-1.5 1.5V45c0 2.8 2.2 5 5 5h24c2.8 0 5-2.2 5-5V21.5c0-.8-.7-1.5-1.5-1.5zM23 42c0 .6-.4 1-1 1h-2c-.6 0-1-.4-1-1V28c0-.6.4-1 1-1h2c.6 0 1 .4 1 1v14zm10 0c0 .6-.4 1-1 1h-2c-.6 0-1-.4-1-1V28c0-.6.4-1 1-1h2c.6 0 1 .4 1 1v14z\"}}},\ndescription:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M44 4H8C5.8 4 4 5.8 4 8v36c0 2.2 1.8 4 4 4h36c2.2 0 4-1.8 4-4V8c0-2.2-1.8-4-4-4zM12 14c0-.6.4-1 1-1h10c.6 0 1 .4 1 1v10c0 .6-.4 1-1 1H13c-.6 0-1-.4-1-1V14zm24 26c0 .6-.4 1-1 1H13c-.6 0-1-.4-1-1v-2c0-.6.4-1 1-1h22c.6 0 1 .4 1 1v2zm4-8c0 .6-.4 1-1 1H13c-.6 0-1-.4-1-1v-2c0-.6.4-1 1-1h26c.6 0 1 .4 1 1v2zm0-8c0 .6-.4 1-1 1H29c-.6 0-1-.4-1-1v-2c0-.6.4-1 1-1h10c.6 0 1 .4 1 1v2zm0-8c0 .6-.4 1-1 1H29c-.6 0-1-.4-1-1v-2c0-.6.4-1 1-1h10c.6 0 1 .4 1 1v2z\"}},\ndial_in:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"circle\":[{\"cx\":\"10\",\"cy\":\"10\",\"r\":\"6\"},{\"cx\":\"10\",\"cy\":\"26\",\"r\":\"6\"},{\"cx\":\"26\",\"cy\":\"10\",\"r\":\"6\"},{\"cx\":\"42\",\"cy\":\"10\",\"r\":\"6\"},{\"cx\":\"26\",\"cy\":\"26\",\"r\":\"6\"},{\"cx\":\"42\",\"cy\":\"26\",\"r\":\"6\"},{\"cx\":\"10\",\"cy\":\"42\",\"r\":\"6\"},{\"cx\":\"26\",\"cy\":\"42\",\"r\":\"6\"},{\"cx\":\"42\",\"cy\":\"42\",\"r\":\"6\"}]}},\ndownload:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M48.5 31h-3c-.8 0-1.5.7-1.5 1.5v10c0 .8-.7 1.5-1.5 1.5h-33c-.8 0-1.5-.7-1.5-1.5v-10c0-.8-.7-1.5-1.5-1.5h-3c-.8 0-1.5.7-1.5 1.5V46c0 2.2 1.8 4 4 4h40c2.2 0 4-1.8 4-4V32.5c0-.8-.7-1.5-1.5-1.5z\"},{\"d\":\"M25 37.6c.6.6 1.5.6 2.1 0l13.5-13.5c.6-.6.6-1.5 0-2.1l-2.1-2.1c-.6-.6-1.5-.6-2.1 0l-5.6 5.6c-.6.6-1.7.2-1.7-.7V3.5C29 2.7 28.2 2 27.5 2h-3c-.8 0-1.5.7-1.5 1.5v21.2c0 .9-1.1 1.3-1.7.7l-5.6-5.6c-.6-.6-1.5-.6-2.1 0L11.5 22c-.6.6-.6 1.5 0 2.1L25 37.6z\"}]}},\nedit:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M48.8 7.4l-4.2-4.2c-1.6-1.6-4.1-1.6-5.6 0l-3.3 3.3c-.4.4-.4 1 0 1.4l8.5 8.5c.4.4 1 .4 1.4 0l3.3-3.3c1.5-1.6 1.5-4.1-.1-5.7zM32.9 10.7c-.4-.4-1-.4-1.4 0L5.4 36.8 2.1 48.1c-.3 1.1.7 2.2 1.8 1.9l11.4-3.2h-.1l26.1-26.1c.4-.4.4-1 0-1.4l-8.4-8.6z\"}}},\nedit_groups:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M39.4 31.5c-.2-.2-.6-.2-.8 0L26.9 43.2 25.2 49c-.2.6.4 1.1 1 1l5.9-1.7 11.7-11.7c.2-.2.2-.6 0-.8l-4.4-4.3zM49.4 28l-2.2-2.2c-.8-.8-2.1-.8-2.9 0 0 0-1.3 1.3-2 2.1-.2.2-.2.6 0 .8l4.2 4.2c.2.2.6.2.8 0 .7-.7 2.1-2 2.1-2 .8-.8.8-2.1 0-2.9zM26 13.7c0 2.2-.6 4.3-1.8 6.1-.4.6-.2 1.5.5 1.9 2.2 1.1 4.7 2.5 6.1 4.9.2.4.7.5 1.1.5h2.8c1.8 0 3-1.2 3-3.1-.1-2.8-2.9-4.5-5.9-5.8-2.1-.9-2.4-1.7-2.4-2.6 0-.9.6-1.7 1.3-2.4 1.2-1.1 1.9-2.7 1.9-4.6C32.5 5 30.4 2 26.7 2c-2.2 0-3.9 1.1-4.8 2.7 2.5 1.9 4.1 5.1 4.1 9z\"},{\"d\":\"M27.5 30.3c-.1-3.2-3.3-4.6-6.7-6.1-2.3-1-2.7-1.9-2.7-2.9s.6-2 1.4-2.7c1.4-1.3 2.1-3.1 2.1-5.2 0-3.9-2.3-7.3-6.5-7.3h-.4c-4.2 0-6.5 3.4-6.5 7.3 0 2.1.7 3.9 2.1 5.2.8.7 1.4 1.7 1.4 2.7 0 1-.4 1.9-2.7 2.9-3.4 1.5-6.6 3-6.7 6.1C2.5 32.4 4 34 6 34h18c2 0 3.5-1.6 3.5-3.7z\"}]}},\nedit_relationship:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M43 42h-3v-6h3c.6 0 1-.4 1-1V9c0-.6-.4-1-1-1H17c-.6 0-1 .4-1 1v3h-6V9c0-3.9 3.1-7 7-7h26c3.9 0 7 3.1 7 7v26c0 3.9-3.1 7-7 7z\"},{\"d\":\"M32 16H6c-2.2 0-4 1.8-4 4v26c0 2.2 1.8 4 4 4h26c2.2 0 4-1.8 4-4V20c0-2.2-1.8-4-4-4zM14.8 41.5c-.2.2-.3.2-.5.3l-4.5 1.1c-.4.1-.8-.3-.7-.7l1.1-4.5c0-.1.1-.2.2-.4l.1-.1c.1-.1.4-.1.5 0l3.7 3.7c.2.3.2.6.1.6zm10.9-11l-9.2 9.3c-.2.2-.4.2-.6 0l-3.7-3.7c-.2-.1-.2-.4 0-.5l9.3-9.3c.2-.2.4-.2.6 0l3.7 3.7c0 .1 0 .3-.1.5zm2.8-2.8l-1 1c-.2.2-.4.2-.6 0L23.2 25c-.2-.2-.2-.4 0-.6l1-1c.7-.7 1.7-.7 2.4 0l2 2c.6.7.6 1.7-.1 2.3z\"}]},\nemail:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M24.9 30.1c.6.6 1.5.6 2.1 0l22.6-21c.5-.8.4-2.1-1.2-2.1l-44.8.1c-1.2 0-2.2 1.1-1.3 2.1l22.6 20.9z\"},{\"d\":\"M50 17.3c0-1-1.2-1.6-2-.9L30.3 32.7c-1.2 1.1-2.7 1.7-4.3 1.7s-3.1-.6-4.3-1.6L4.1 16.4c-.8-.7-2-.2-2 .9C2 21.8 2 34 2 40c0 2.2 1.8 4 4 4h40c2.2 0 4-1.8 4-4V17.3z\"}]}},\nfallback:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M28 3.5l-3 14.6c0 .6.4.9.9.9h15.6c1.1 0 1.8 1.3 1.3 2.3l-17 27.9c-.7 1.4-2.8.9-2.8-.7l3-17.2c0-.6-.5-.4-1.1-.4H8.5c-1.1 0-1.9-1.6-1.3-2.6l18-25.5c.7-1.3 2.8-.9 2.8.7z\"}},\nfilter:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M48.2 4H3.8C2.4 4 1.6 5.7 2.5 6.8L22 29.5c.6.7 1 1.7 1 2.6v14.4c0 .8.7 1.5 1.5 1.5h3c.8 0 1.5-.7 1.5-1.5V32.1c0-1 .3-1.9 1-2.6L49.5 6.8c.9-1.1.2-2.8-1.3-2.8z\"}},\nflow:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M49.9 10.6c-2.1-4.1-7.4-11.7-17.2-7.2-6.1 2.8-9.5 4.4-9.5 4.4l-8.8 3.8c-2.5 1.2-7.9-.5-11-1.6-.9-.3-1.7.6-1.3 1.5 2.1 4.1 7.4 11.7 17.2 7.2 6.1-2.8 18.3-8.1 18.3-8.1 2.5-1.2 7.9.5 11 1.6.9.2 1.7-.7 1.3-1.6zM28.8 23.4c-1.1.6-5.5 2.6-5.5 2.6l-4.4 1.9c-2.2 1.2-6.9-.4-9.7-1.5-.8-.4-1.5.6-1.1 1.4 1.8 4 6.5 11.2 15.1 6.8 5.4-2.7 9.9-4.5 9.9-4.5 2.2-1.2 6.9.4 9.7 1.5.8.3 1.5-.6 1.1-1.5-1.8-3.9-6.5-11.1-15.1-6.7zM25.6 41.1c-.9.5-2.4 1.4-2.4 1.4-1.7 1.1-5.2-.3-7.3-1.3-.6-.3-1.1.6-.8 1.4 1.3 3.6 4.8 10.1 11.3 6.1 2.4-1.5 2.4-1.4 2.4-1.4 1.8-.9 5.2.3 7.3 1.3.6.3 1.1-.6.8-1.4-1.3-3.6-4.6-9.8-11.3-6.1z\"}}},\nfollow:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M50.5 38H46v-4.5c0-.8-.7-1.5-1.5-1.5h-3c-.8 0-1.5.7-1.5 1.5V38h-4.5c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5H40v4.5c0 .8.7 1.5 1.5 1.5h3c.8 0 1.5-.7 1.5-1.5V44h4.5c.8 0 1.5-.7 1.5-1.5v-3c0-.8-.7-1.5-1.5-1.5z\"},{\"d\":\"M34 34h1c.6 0 1-.4 1-1v-1c0-2.2 1.8-4 4-4h4.5c.8 0 1.5-.7 1.5-1.5V6c0-2.2-1.8-4-4-4H6C3.8 2 2 3.8 2 6v36c0 2.2 1.8 4 4 4h22.5c.9 0 1.6-.7 1.5-1.6V38c0-2.2 1.8-4 4-4zm-8-23c0-.6.4-1 1-1h10c.6 0 1 .4 1 1v2c0 .6-.4 1-1 1H27c-.6 0-1-.4-1-1v-2zm0 8c0-.6.4-1 1-1h10c.6 0 1 .4 1 1v2c0 .6-.4 1-1 1H27c-.6 0-1-.4-1-1v-2zm-16-8c0-.6.4-1 1-1h10c.6 0 1 .4 1 1v10c0 .6-.4 1-1 1H11c-.6 0-1-.4-1-1V11zm16 26c0 .6-.4 1-1 1H11c-.6 0-1-.4-1-1v-2c0-.6.4-1 1-1h14c.6 0 1 .4 1 1v2zm-15-7c-.6 0-1-.4-1-1v-2c0-.6.4-1 1-1h20c.6 0 1 .4 1 1v2c0 .6-.4 1-1 1H11z\"}]}},\nfollowing:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M49.5 33.6l-2.2-2.2c-.6-.6-1.6-.6-2.2 0L35.7 41c-.4.4-1.1.4-1.5 0l-4.4-4.5c-.6-.6-1.6-.6-2.2 0l-2.2 2.2c-.6.6-.6 1.6 0 2.2l8.4 8.6c.6.6 1.6.6 2.2 0l13.4-13.7c.7-.5.7-1.5.1-2.2z\"},{\"d\":\"M24.7 33.8c1-1 2.2-1.6 3.6-1.8 1.7-.1 3.3.4 4.5 1.6L35 36l7.2-7.4c.8-.8 1.8-1.4 2.9-1.6.5-.1.8-.5.8-1V6c0-2.2-1.8-4-4-4H6C3.8 2 2 3.8 2 6v36c0 2.2 1.8 4 4 4h16.4c.9 0 1.3-1.1.7-1.7l-.5-.5c-2.1-2.2-2.1-5.7 0-7.9l2.1-2.1zM26 11c0-.6.4-1 1-1h10c.6 0 1 .4 1 1v2c0 .6-.4 1-1 1H27c-.6 0-1-.4-1-1v-2zm0 8c0-.6.4-1 1-1h10c.6 0 1 .4 1 1v2c0 .6-.4 1-1 1H27c-.6 0-1-.4-1-1v-2zm-16-8c0-.6.4-1 1-1h10c.6 0 1 .4 1 1v10c0 .6-.4 1-1 1H11c-.6 0-1-.4-1-1V11zm8 26c0 .6-.4 1-.9 1H11c-.5 0-.9-.4-.9-1v-2c0-.6.4-1 .9-1h6.1c.5 0 .9.4.9 1v2zm-7-7c-.6 0-1-.4-1-1v-2c0-.6.4-1 1-1h20c.6 0 1 .4 1 1v2c0 .6-.4 1-1 1H11z\"}]}},\nfreeze_user:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M27 3c.6 0 1 .4 1 1v45.9c0 .6-.4 1-1 1h-2c-.6 0-1-.4-1-1V4c0-.6.4-1 1-1h2z\"},{\"d\":\"M26 17.2l-8.1-8.1c-.4-.4-.4-1 0-1.4l1.4-1.4c.4-.4 1-.4 1.4 0l5.3 5.3 5.3-5.3c.4-.4 1-.4 1.4 0l1.4 1.4c.4.4.4 1 0 1.4L26 17.2M26 36.7l8.1 8.1c.4.4.4 1 0 1.4l-1.4 1.4c-.4.4-1 .4-1.4 0L26 42.3l-5.3 5.3c-.4.4-1 .4-1.4 0l-1.4-1.4c-.4-.4-.4-1 0-1.4l8.1-8.1M47.1 15.6c.3.5.2 1.1-.4 1.4L7.2 40.3c-.5.3-1.1.2-1.4-.4l-1-1.7c-.3-.5-.2-1.1.4-1.4l39.5-23.4c.5-.3 1.1-.2 1.4.4l1 1.8z\"},{\"d\":\"M34.4 22l2.8-11.1c.1-.6.6-.9 1.2-.7l1.9.5c.6.1.9.6.7 1.2l-1.9 7.3 7.3 1.9c.6.1.9.6.7 1.2l-.5 1.9c-.1.6-.6.9-1.2.7l-11-2.9M17.6 31.9L14.8 43c-.1.6-.6.9-1.2.7l-1.9-.5c-.6-.1-.9-.6-.7-1.2l1.9-7.3-7.3-1.9c-.6-.1-.9-.6-.7-1.2l.5-1.9c.1-.6.6-.9 1.2-.7l11 2.9M5.9 13.9c.3-.5.9-.7 1.4-.4l39.5 23.4c.5.3.7.9.4 1.4l-1 1.7c-.3.5-.9.7-1.4.4L5.2 17c-.5-.3-.7-.9-.4-1.4l1.1-1.7z\"},{\"d\":\"M17.6 22L6.5 24.9c-.6.1-1.1-.1-1.2-.7l-.5-1.9c-.1-.6.1-1.1.7-1.2l7.3-1.9-1.9-7.3c-.1-.6.1-1.1.7-1.2l1.9-.5c.6-.1 1.1.1 1.2.7L17.6 22M34.3 31.9L45.4 29c.6-.1 1.1.1 1.2.7l.5 1.9c.1.6-.1 1.1-.7 1.2l-7.3 1.9L41 42c.1.6-.1 1.1-.7 1.2l-1.9.5c-.6.1-1.1-.1-1.2-.7l-2.9-11.1\"}]},\ngoal:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M5 2C3.3 2 2 3.3 2 5v42c0 1.6 1.3 3 3 3 1.6 0 3-1.3 3-3V5c0-1.7-1.3-3-3-3zM48.8 6.5c-13 6.8-23.3-4.9-35.6-.4-.6.2-1.2.8-1.2 1.5V30c0 1.1 1.2 1.9 2.3 1.6 11.8-3.5 22 7.6 34.8.6.5-.3.9-.8.9-1.4V7.2c0-.6-.7-1-1.2-.7zM46 29.2l-.5.2c-1 .5-2.6.6-5.3.6H40v-5c-1.5 0-4.2-.3-6-.7v5.3c-1.7-.3-3.3-.6-4.6-.9-.5-.1-1-.3-1.4-.4v-5.5c-1.7-.5-4.3-1-6-1.4v5.7c-1.2-.2-1.5-.3-2.8-.3-.5 0-.9 0-1.6.1L16 27v-5.8c1-.2 2.2-.2 3.5-.2 1.3 0 1.4.1 2.5.3v-6c-1.1-.2-5-.2-6 .1V9.2l.9-.1c1-.1 4 .1 5.1.4v5.8c1.4.3 3.8.8 5.6 1.3.1 0 .3.1.4.1v-5.8c1.8.5 3.9 1.1 6 1.4V18c1.7.3 4.4.5 6 .5V13h.2c1.6 0 2.7-.4 4.7-.7l1.2-.4v6c-1.8.5-3.7.7-5.6.7h-.4V25h.2c1.9 0 4-.7 5.8-1.5v5.7z\"},{\"d\":\"M28 16.7v6c.4.1.8.2 1.2.4 1.5.4 3.1.9 4.8 1.2v-6.2c-2.1-.4-4.2-.9-6-1.4z\"}]}},\ngoogle_news:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M50.3 5.3l-3.6 3.6c-.4.4-1 .4-1.4 0l-4.6-4.6c-.4-.4-1-.4-1.4 0l-3.6 3.6c-.4.4-1 .4-1.4 0l-3.6-3.6c-.4-.4-1-.4-1.4 0l-3.6 3.6c-.4.4-1 .4-1.4 0l-3.6-3.6c-.4-.4-1-.4-1.4 0l-3.6 3.6c-.4.4-1 .4-1.4 0l-3.6-3.6c-.4-.4-1-.4-1.4 0L5.7 7.9c-.4.4-1 .4-1.4 0L1.7 5.3C1.1 4.7 0 5.1 0 6v38c0 2.2 1.8 4 4 4h44c2.2 0 4-1.8 4-4V6c0-.9-1.1-1.3-1.7-.7zM21 41c0 .6-.4 1-1 1H8c-.6 0-1-.4-1-1V23c0-.6.4-1 1-1h12c.6 0 1 .4 1 1v18zm24 0c0 .6-.4 1-1 1H26c-.6 0-1-.4-1-1v-2c0-.6.4-1 1-1h18c.6 0 1 .4 1 1v2zm0-7H25v-4h20v4zm0-9c0 .6-.4 1-1 1H26c-.6 0-1-.4-1-1v-2c0-.6.4-1 1-1h18c.6 0 1 .4 1 1v2zm0-8c0 .6-.4 1-1 1H8c-.6 0-1-.4-1-1v-2c0-.6.4-1 1-1h36c.6 0 1 .4 1 1v2z\"}},\ninfo:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M26 2C12.7 2 2 12.7 2 26s10.7 24 24 24 24-10.7 24-24S39.3 2 26 2zm0 12.1c1.7 0 3 1.3 3 3s-1.3 3-3 3-3-1.3-3-3 1.3-3 3-3zm5 21c0 .5-.4.9-1 .9h-8c-.5 0-1-.3-1-.9v-2c0-.5.4-1.1 1-1.1.5 0 1-.3 1-.9v-4c0-.5-.4-1.1-1-1.1-.5 0-1-.3-1-.9v-2c0-.5.4-1.1 1-1.1h6c.5 0 1 .5 1 1.1v8c0 .5.4.9 1 .9.5 0 1 .5 1 1.1v2z\"}},\njoin_group:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M36 23.9c-.1-2.8-2.8-4.5-5.7-5.8-2-.9-2.4-1.7-2.4-2.6 0-.9.6-1.7 1.2-2.4C30.4 12 31 10.4 31 8.5 31 5 29 2 25.3 2c-2.2 0-3.7 1.1-4.7 2.7 2.5 1.9 4 5.2 4 9 0 2.2-.6 4.3-1.7 6.1-.4.6-.2 1.5.5 1.9 2.1 1.1 4.5 2.5 5.9 4.9.2.4.6.5 1.1.5h2.7c1.7-.1 2.9-1.3 2.9-3.2z\"},{\"d\":\"M19.7 24.1c-2.3-1-2.6-1.9-2.6-2.9s.6-2 1.4-2.7c1.3-1.3 2-3.1 2-5.2 0-3.9-2.3-7.3-6.3-7.3H14h-.1c-4 0-6.3 3.4-6.3 7.3 0 2.1.7 3.9 2 5.2.8.7 1.4 1.7 1.4 2.7 0 1-.3 1.9-2.6 2.9-3.3 1.5-6.4 3-6.5 6.1C2 32.4 3.5 34 5.4 34h17.4c1.9 0 3.4-1.6 3.4-3.7-.1-3.2-3.3-4.7-6.5-6.2zM48.5 34H44v-4.5c0-.8-.7-1.5-1.5-1.5h-3c-.8 0-1.5.7-1.5 1.5V34h-4.5c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5H38v4.5c0 .8.7 1.5 1.5 1.5h3c.8 0 1.5-.7 1.5-1.5V40h4.5c.8 0 1.5-.7 1.5-1.5v-3c0-.8-.7-1.5-1.5-1.5z\"}]}},\nlead_convert:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M27.6 28.3c-.6.6-.6 1.5 0 2.1l2.1 2.1c.6.6 1.5.6 2.1 0L45.3 19c.6-.6.6-1.5 0-2.1L31.9 3.4c-.6-.6-1.5-.6-2.1 0l-2.1 2.1c-.6.6-.6 1.5 0 2.1l5.7 5.6c1.6 1.8-1 1.7-1 1.7h-8C14.9 15 6.8 22.8 7 32.3 7.2 41.5 14.7 49 24 49h3.5c.8 0 1.5-.7 1.5-1.5v-3c0-.8-.7-1.5-1.5-1.5h-3.2c-5.7 0-10.7-4.2-11.3-9.9-.6-6.6 4.6-12.1 11-12.1h8.6c.7.2 1 1.1.5 1.7l-5.5 5.6z\"}},\nleave_group:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M30.3 22.1c-2-.9-2.4-1.7-2.4-2.6 0-.9.6-1.7 1.2-2.4 1.2-1.1 1.8-2.7 1.8-4.6C31 9 29 6 25.3 6c-2.2 0-3.7 1.1-4.7 2.7 2.5 1.9 4 5.2 4 9 0 2.2-.6 4.3-1.7 6.1-.4.6-.2 1.5.5 1.9 2.1 1.1 4.5 2.5 5.9 4.9.2.4.6.5 1.1.5h2.7c1.7 0 2.9-1.2 2.9-3.1-.1-2.9-2.8-4.6-5.7-5.9z\"},{\"d\":\"M19.7 28.1c-2.3-1-2.6-1.9-2.6-2.9s.6-2 1.4-2.7c1.3-1.3 2-3.1 2-5.2 0-3.9-2.3-7.3-6.3-7.3h-.4c-4 0-6.3 3.4-6.3 7.3 0 2.1.7 3.9 2 5.2.8.7 1.4 1.7 1.4 2.7 0 1-.3 1.9-2.6 2.9-3.3 1.5-6.4 3-6.5 6.1C2 36.4 3.5 38 5.4 38h17.4c1.9 0 3.4-1.6 3.4-3.7-.1-3.2-3.3-4.7-6.5-6.2z\"}]},\"path\":{\"d\":\"M32 42.5v-3c0-.8.7-1.5 1.5-1.5h15c.8 0 1.5.7 1.5 1.5v3c0 .8-.7 1.5-1.5 1.5h-15c-.8 0-1.5-.7-1.5-1.5z\"}},\nlog_a_call:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M42.9 2H12.7C10 2 7.8 4.4 7.8 6.8v1.6H6.2C4.4 8.4 3 9.8 3 11.6s1.4 3.2 3.2 3.2h1.6v8H6.2C4.4 22.8 3 24.2 3 26s1.4 3.2 3.2 3.2h1.6v8H6.2c-1.8 0-3.2 1.4-3.2 3.2 0 1.8 1.4 3.2 3.2 3.2h1.6v1.6c0 2.4 2.2 4.8 4.9 4.8h30.2c2.7 0 5.1-2.4 5.1-5V6.6C48 3.9 45.6 2 42.9 2zM40 34.2l-2.2 2.2c-.5.5-1.2.8-1.8.7-5.3-.3-10.3-2.7-13.8-6.2s-5.9-8.5-6.2-13.8c0-.7.2-1.4.7-1.8l2.2-2.2c1-1 2.8-1 3.7.2l2.1 2.6c.7.9.7 2.1.1 3L23 21.5c-.2.3-.2.8.1 1l3.7 4.1 4.1 3.7c.3.3.7.3 1 .1l2.5-1.8c.9-.6 2.2-.6 3.1.1l2.6 2.1c.9.6 1 2.4-.1 3.4z\"}},\nlog_event:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M38.7 40.2l-4.8 1.6c-.4.1-.9.2-1.3.2-1.4 0-2.8-.7-3.7-1.8-.9-1.1-1.1-2.7-.8-4.1l1.6-5.7 7.5-7.5c.3-.3.1-.9-.4-.9H5.5c-.8 0-1.5.7-1.5 1.5V42c0 2.2 1.8 4 4 4h28c2.2 0 4-1.8 4-4v-.8c0-.7-.7-1.2-1.3-1zM5.5 18h33c.8 0 1.5-.7 1.5-1.5V14c0-2.2-1.8-4-4-4h-3V9c0-1.6-1.3-3-3-3-1.6 0-3 1.3-3 3v1H17V9c0-1.6-1.3-3-3-3-1.6 0-3 1.3-3 3v1H8c-2.2 0-4 1.8-4 4v2.5c0 .8.7 1.5 1.5 1.5z\"},{\"d\":\"M43.5 23.1c-.2-.2-.5-.2-.7 0l-9.4 9.4-1.4 4.7c-.1.5.3.9.8.8l4.7-1.4 9.4-9.4c.2-.2.2-.5 0-.7l-3.4-3.4zM51.5 20.2l-1.8-1.8c-.6-.6-1.7-.6-2.4 0 0 0-1.1 1.1-1.6 1.7-.2.2-.2.5 0 .7l3.4 3.4c.2.2.5.2.7 0 .6-.6 1.7-1.6 1.7-1.6.7-.6.7-1.7 0-2.4z\"}]}},\nmanage_perm_sets:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M45 2H7C4.2 2 2 4.2 2 7v38c0 2.7 2.2 5 5 5h38c2.7 0 5-2.2 5-5V7c0-2.8-2.2-5-5-5zm-1.6 43H8.6c-.9 0-1.6-.7-1.6-1.6V8.6C7 7.7 7.7 7 8.6 7h34.8c.9 0 1.6.7 1.6 1.6v34.8c0 .9-.7 1.6-1.6 1.6z\"},{\"d\":\"M21.9 11.9h-8.3c-.9 0-1.7.7-1.7 1.7v8.3c0 .9.7 1.7 1.7 1.7h8.3c.9 0 1.7-.7 1.7-1.7v-8.3c-.1-.9-.8-1.7-1.7-1.7zM38.4 11.9h-8.3c-.9 0-1.7.7-1.7 1.7v8.3c0 .9.7 1.7 1.7 1.7h8.3c.9 0 1.7-.7 1.7-1.7v-8.3c0-.9-.8-1.7-1.7-1.7zM21.9 28.5h-8.3c-.9 0-1.7.7-1.7 1.7v8.3c0 .9.7 1.7 1.7 1.7h8.3c.9 0 1.7-.7 1.7-1.7v-8.3c-.1-1-.8-1.7-1.7-1.7zM38.4 28.5h-8.3c-.9 0-1.7.7-1.7 1.7v8.3c0 .9.7 1.7 1.7 1.7h8.3c.9 0 1.7-.7 1.7-1.7v-8.3c0-1-.8-1.7-1.7-1.7z\"}]},\nmap:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M48.8 9.5L34.4 2.3c-.7-.3-1.5-.3-2.1 0L19 9 5.6 2.3c-.8-.4-1.8-.4-2.5.1-.7.4-1.1 1.2-1.1 2v36c0 .9.5 1.7 1.3 2.1l14.4 7.2c.7.3 1.5.3 2.1 0L33.2 43l13.3 6.7c.3.2.7.3 1.1.3.4 0 .9-.1 1.3-.4.7-.4 1.1-1.2 1.1-2v-36c0-.9-.4-1.7-1.2-2.1zM45 14.1v19c0 1.1-1 1.9-2 1.5-3.7-1.4-.7-7.6-3.4-11-2.5-3.1-5.7.1-8.8-4.8-2.9-4.7 1-8.1 4.6-9.9.5-.2 1-.2 1.4 0l7.4 3.7c.6.3.8.9.8 1.5zM24.9 41.9c-.6.3-1.3.2-1.8-.2-1-.9-1.8-2.3-1.8-3.7 0-2.4-4-1.6-4-6.4 0-3.9-4.6-4.9-8.5-4.5-1 .1-1.7-.6-1.7-1.6V10.9c0-1.2 1.2-2 2.2-1.4l8.6 4.3c.1 0 .2.1.2.1l.3.2c3.6 2.1 2.9 3.8 1.4 6.4-1.7 2.9-2.4 0-4.8-.8s-4.8.8-4 2.4 3.2 0 4.8 1.6 1.6 4 6.4 2.4 5.6-.8 7.2.8c1.6 1.6 2.4 4.8 0 7.2-1.4 1.4-2 4.4-2.6 6.4-.1.4-.4.8-.8 1l-1.1.4z\"}},\nmore:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M8 20c3.3 0 6 2.7 6 6s-2.7 6-6 6-6-2.7-6-6 2.7-6 6-6zm18 0c3.3 0 6 2.7 6 6s-2.7 6-6 6-6-2.7-6-6 2.7-6 6-6zm18 0c3.3 0 6 2.7 6 6s-2.7 6-6 6-6-2.7-6-6 2.7-6 6-6z\"}},\nnew:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M30 29h16.5c.8 0 1.5-.7 1.5-1.5v-3c0-.8-.7-1.5-1.5-1.5H30c-.6 0-1-.4-1-1V5.5c0-.8-.7-1.5-1.5-1.5h-3c-.8 0-1.5.7-1.5 1.5V22c0 .6-.4 1-1 1H5.5c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5H22c.6 0 1 .4 1 1v16.5c0 .8.7 1.5 1.5 1.5h3c.8 0 1.5-.7 1.5-1.5V30c0-.6.4-1 1-1z\"}},\nnew_account:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M50 26.9c.1-1.7-1.2-2.2-1.7-2.2h-18c-1.6 0-1.8 1.7-1.8 1.8V46H50V26.9zm-12.4 14c0 .9-.7 1.7-1.7 1.7h-1.7c-.9 0-1.7-.8-1.7-1.7v-1.7c0-.9.7-1.7 1.7-1.7h1.7c.9 0 1.7.8 1.7 1.7v1.7zm0-8.5c0 .9-.7 1.7-1.7 1.7h-1.7c-.9 0-1.7-.8-1.7-1.7v-1.7c0-.9.7-1.7 1.7-1.7h1.7c.9 0 1.7.8 1.7 1.7v1.7zm8.3 8.5c0 .9-.7 1.7-1.7 1.7h-1.7c-.9 0-1.7-.8-1.7-1.7v-1.7c0-.9.7-1.7 1.7-1.7h1.7c.9 0 1.7.8 1.7 1.7v1.7zm0-8.5c0 .9-.7 1.7-1.7 1.7h-1.7c-.9 0-1.7-.8-1.7-1.7v-1.7c0-.9.7-1.7 1.7-1.7h1.7c.9 0 1.7.8 1.7 1.7v1.7z\"},{\"d\":\"M33.4 17.9V8.2c.1-1.7-1.1-2.2-1.6-2.2h-28C2.2 6 2 7.7 2 7.8V46h21.5V21.6s0-2 1.8-2h6.5c1 0 1.6-1 1.6-1.7zM11.1 40.1c0 .9-.7 1.7-1.7 1.7H7.8c-.9 0-1.7-.8-1.7-1.7v-1.7c0-.9.7-1.7 1.7-1.7h1.7c.9 0 1.7.8 1.7 1.7v1.7zm0-8.6c0 .9-.7 1.7-1.7 1.7H7.8c-.9 0-1.7-.8-1.7-1.7v-1.7c0-.9.7-1.7 1.7-1.7h1.7c.9 0 1.7.8 1.7 1.7v1.7zm0-8.5c0 .9-.7 1.7-1.7 1.7H7.8c-.9 0-1.7-.8-1.7-1.7v-1.7c0-.9.7-1.7 1.7-1.7h1.7c.9 0 1.7.8 1.7 1.7V23zm0-8.5c0 .9-.7 1.7-1.7 1.7H7.8c-.9 0-1.7-.8-1.7-1.7v-1.7c0-.9.7-1.7 1.7-1.7h1.7c.9 0 1.7.8 1.7 1.7v1.7zm9.1 25.6c0 .9-.7 1.7-1.7 1.7h-1.7c-.9 0-1.7-.8-1.7-1.7v-1.7c0-.9.7-1.7 1.7-1.7h1.7c.9 0 1.7.8 1.7 1.7v1.7zm0-8.6c0 .9-.7 1.7-1.7 1.7h-1.7c-.9 0-1.7-.8-1.7-1.7v-1.7c0-.9.7-1.7 1.7-1.7h1.7c.9 0 1.7.8 1.7 1.7v1.7zm0-8.5c0 .9-.7 1.7-1.7 1.7h-1.7c-.9 0-1.7-.8-1.7-1.7v-1.7c0-.9.7-1.7 1.7-1.7h1.7c.9 0 1.7.8 1.7 1.7V23zm0-8.5c0 .9-.7 1.7-1.7 1.7h-1.7c-.9 0-1.7-.8-1.7-1.7v-1.7c0-.9.7-1.7 1.7-1.7h1.7c.9 0 1.7.8 1.7 1.7v1.7zm9.1 0c0 .9-.7 1.7-1.7 1.7H26c-.9 0-1.7-.8-1.7-1.7v-1.7c0-.9.7-1.7 1.7-1.7h1.7c.9 0 1.7.8 1.7 1.7v1.7z\"}]}},\nnew_campaign:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M26 2C12.8 2 2 12.8 2 26s10.8 24 24 24 24-10.8 24-24S39.2 2 26 2zm0 42c-9.9 0-18-8.1-18-18S16.1 8 26 8s18 8.1 18 18-8.1 18-18 18z\"},{\"d\":\"M26 12c-7.7 0-14 6.3-14 14s6.3 14 14 14 14-6.3 14-14-6.3-14-14-14zm0 22c-4.4 0-8-3.6-8-8s3.6-8 8-8 8 3.6 8 8-3.6 8-8 8z\"},{\"d\":\"M26 22c-2.2 0-4 1.8-4 4s1.8 4 4 4 4-1.8 4-4-1.8-4-4-4z\"}]}},\nnew_case:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M15 13h4c.6 0 1-.4 1-1v-2h12v2c0 .6.4 1 1 1h4c.6 0 1-.4 1-1V9.5c0-3-2.5-5.5-5.5-5.5H19.4c-3 0-5.4 2.4-5.4 5.4V12c0 .6.4 1 1 1zM46 17H6c-2.2 0-4 1.8-4 4v23c0 2.2 1.8 4 4 4h40c2.2 0 4-1.8 4-4V21c0-2.2-1.8-4-4-4z\"}}},\nnew_child_case:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M15 11h4c.6 0 1-.4 1-1V8h10v2c0 .6.4 1 1 1h4c.6 0 1-.4 1-1V7.5c0-3-2.5-5.5-5.5-5.5H19.4c-3 0-5.4 2.4-5.4 5.4V10c0 .6.4 1 1 1zM32 34h2v-2c0-2.2 1.8-4 4-4h6c1.3 0 2.4.6 3.1 1.5.3.4.9.1.9-.3V19c0-2.2-1.8-4-4-4H6c-2.2 0-4 1.8-4 4v23c0 2.2 1.8 4 4 4h21.8c.4 0 .6-.3.5-.7-.2-.4-.3-.8-.3-1.3v-6c0-2.2 1.8-4 4-4z\"},{\"d\":\"M48.5 38H44v-4.5c0-.8-.7-1.5-1.5-1.5h-3c-.8 0-1.5.7-1.5 1.5V38h-4.5c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5H38v4.5c0 .8.7 1.5 1.5 1.5h3c.8 0 1.5-.7 1.5-1.5V44h4.5c.8 0 1.5-.7 1.5-1.5v-3c0-.8-.7-1.5-1.5-1.5z\"}]}},\nnew_contact:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M46 9H6c-2.7 0-5 2.2-5 5v24c0 2.7 2.3 5 5 5h40c2.8 0 5-2.2 5-5V14c0-2.8-2.2-5-5-5zM24.8 37.2H10.4c-1.6 0-2.8-1.7-2.8-3.4.1-2.5 2.7-4 5.4-5.2 1.9-.8 2.2-1.6 2.2-2.4 0-.8-.5-1.6-1.2-2.2-1.1-1-1.7-2.5-1.7-4.1 0-3.2 1.9-5.8 5.2-5.8s5.2 2.7 5.2 5.8c0 1.7-.6 3.2-1.7 4.1-.7.6-1.2 1.3-1.2 2.2 0 .8.2 1.6 2.2 2.3 2.7 1.2 5.3 2.8 5.4 5.3.3 1.7-1 3.4-2.6 3.4zm19.5-5.8c0 .9-.8 1.7-1.7 1.7h-7.5c-.9 0-1.7-.7-1.7-1.7v-2.5c0-.9.8-1.7 1.7-1.7h7.5c.9 0 1.7.7 1.7 1.7v2.5zm0-9.1c0 .9-.8 1.7-1.7 1.7H30.2c-.9 0-1.7-.7-1.7-1.7v-2.5c0-.9.8-1.7 1.7-1.7h12.5c.9 0 1.7.7 1.7 1.7v2.5z\"}},\nnew_custom1:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M29.4 45.5c-1.9 2-5 2-6.9 0-5.8-6.1-16.8-17.7-16.8-17.8-5-5.1-5-13.6 0-18.8 2.4-2.5 5.6-3.9 9-3.9s6.6 1.3 9 3.9l1 1.2c.6.8 1.9.8 2.6 0l.8-1 .1-.1c2.5-2.6 5.7-4 9-4 3.4 0 6.6 1.3 9 3.9 5 5.1 5 13.6 0 18.8 0 .1-10.9 11.7-16.8 17.8z\"}},\nnew_custom10:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M42 48.3c-7.6 3-19.6 2.2-26.1-4.8C.1 26.6 13.9 2 32.9 2c3.2 0 6.2.6 9.1 1.8 1.2.5 1.3 2.1.3 2.8C36.2 10.9 32.1 18 32.1 26c0 8.1 4 15.2 10.1 19.5 1.1.7.9 2.3-.2 2.8z\"}},\nnew_custom100:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M35.5 41.5h-19c-.6 0-.9.5-.8 1.1.8 3.1 5.1 5.5 10.2 5.5 5.2 0 9.5-2.4 10.2-5.5.3-.6-.1-1.1-.6-1.1zM45.2 4H6.8C4.2 4 2 6.2 2 8.9v22.8c0 2.7 2.2 4.9 4.8 4.9h38.4c2.6 0 4.8-2.2 4.8-4.9V8.9C50 6.2 47.8 4 45.2 4zm0 26.1c0 .9-.7 1.6-1.6 1.6H8.4c-.9 0-1.6-.7-1.6-1.6V10.5c0-.9.7-1.6 1.6-1.6h35.2c.9 0 1.6.7 1.6 1.6v19.6z\"}}},\nnew_custom11:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M27.8 3.1l6.4 13.5 14.2 2.2c1.6.2 2.2 2.3 1 3.4L39.1 32.8l2.4 14.8c.2 1.7-1.4 3-2.8 2.2l-12.7-7-12.7 7c-1.4.8-3.1-.5-2.8-2.2l2.4-14.8L2.6 22.2c-1.1-1.2-.5-3.2 1-3.4l14.2-2.2 6.4-13.5c.8-1.5 2.9-1.5 3.6 0z\"}},\nnew_custom12:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"circle\":{\"cx\":\"26\",\"cy\":\"26\",\"r\":\"24\"}},\nnew_custom13:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M45.2 4H6.8C4.2 4 2 6.1 2 8.7v4.7c0 .9.7 1.6 1.6 1.6h44.8c.9 0 1.6-.7 1.6-1.6V8.7C50 6.1 47.8 4 45.2 4zM45.2 19.7H6.8c-.9 0-1.6.7-1.6 1.6v22c0 2.6 2.2 4.7 4.8 4.7h32c2.6 0 4.8-2.1 4.8-4.7v-22c0-.9-.7-1.6-1.6-1.6zm-10.4 7.1c0 1.3-1 2.4-2.4 2.4H19.6c-1.3 0-2.4-1-2.4-2.4 0-1.3 1-2.4 2.4-2.4h12.8c1.4 0 2.4 1 2.4 2.4z\"}}},\nnew_custom14:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M48.4 11.7h-4.8c-1 0-2.1-.5-2.9-1.2l-3.8-3.3C36.1 6.5 35 6 34 6h-9.4c-1.2 0-2.3.5-3.2 1.4l-5 4.1c-.4.3-.4 1-.1 1.4l1.5 1.5c1 .8 2.4 1 3.4.2l4.4-2.7c.6-.4 1.4-.2 1.8.2l13.8 13.6c.3.3.6.8.6 1.3v3.6c0 1 .7 2 1.6 2h4.8c.9 0 1.6-.7 1.6-1.7V13.3c.2-1-.5-1.6-1.4-1.6z\"},{\"d\":\"M34.8 26.2l-8.6-8.5-2.4 1.5c-1.2.7-2.6 1.1-3.9 1.1-1.7 0-3.4-.6-4.8-1.8L11.9 16c-.7-.6-1.1-1.2-1.2-2.1-.2-.9-.8-1.4-1.6-1.4H3.6c-.9 0-1.6.5-1.6 1.4v14.7c0 1 .7 1.6 1.6 1.6h3.2c.2 0 .6-.9.9-1.3 1.2-1.6 3-2.5 4.9-2.8 1.9-.2 3.8.5 5.3 1.9l10 9.2c.9.8 1.5 1.7 1.9 2.8.2.6.9.7 1.3.3l3.8-3.8c1.9-1.9 3.4-6.5 1.6-8.6l-1.7-1.7z\"},{\"d\":\"M14.7 32.2c-1-1-2.6-.8-3.4.3-.9 1.1-.7 2.8.3 3.7l10 9.1c.5.5 1.1.6 1.8.6.6-.1 1.2-.4 1.6-1 .9-1.1.7-2.8-.3-3.7l-10-9z\"}]}},\nnew_custom15:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M42 22.9c-2.8-1.2-3.2-2.2-3.2-3.4 0-1.2.8-2.2 1.8-3.1 1.7-1.5 2.6-3.6 2.6-6 0-4.5-2.8-8.4-7.9-8.4-4.3 0-7 2.9-7.7 6.6-.1.3.1.6.3.8 3.6 2.6 5.8 6.9 5.8 12.1 0 3.6-1.2 6.9-3.4 9.4-.3.4-.2 1 .3 1.3 1.4.6 3 1.4 4.6 2.2.5.3 1 .5 1.6.5H46c2.2 0 4-1.8 4-3.9v-.6c0-3.8-3.9-5.8-8-7.5z\"},{\"d\":\"M27.7 36.1c-3.4-1.4-3.8-2.6-3.8-4s1-2.6 2.1-3.7c1.9-1.8 3-4.2 3-7 0-5.3-3.4-9.8-9.3-9.8s-9.3 4.6-9.3 9.8c0 2.9 1 5.3 3 7 1.1 1 2.1 2.3 2.1 3.7 0 1.4-.5 2.6-3.8 4-4.9 2-9.5 4.3-9.6 8.6v.7C2 47.9 4.2 50 6.9 50h25.6c2.6 0 4.8-2.1 4.8-4.6v-.7c-.1-4.3-4.7-6.6-9.6-8.6z\"}]}},\nnew_custom16:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M43.3 42h-.8V24.4c0-.9-.7-1.6-1.6-1.6h-1.6c-.9 0-1.6.7-1.6 1.6V42H33V24.4c0-.9-.7-1.6-1.6-1.6h-1.6c-.9 0-1.6.7-1.6 1.6V42h-4.7V24.4c0-.9-.7-1.6-1.6-1.6h-1.6c-.9 0-1.6.7-1.6 1.6V42H14V24.4c0-.9-.7-1.6-1.6-1.6h-1.6c-.9 0-1.6.7-1.6 1.6V42h-.5C6.1 42 4 44.2 4 46.8v1.6c0 .9.7 1.6 1.6 1.6h40.9c.9 0 1.6-.7 1.6-1.6v-1.6c-.1-2.6-2.2-4.8-4.8-4.8zM47.2 13.5L27.8 2.6c-.5-.4-1.2-.6-1.8-.6-.6 0-1.3.2-1.8.6L4.8 13.5c-.5.3-.8.8-.8 1.4v1.5c0 .9.7 1.6 1.6 1.6h40.9c.9 0 1.6-.7 1.6-1.6V15c-.1-.6-.4-1.2-.9-1.5zM26 14.8c-2.2 0-3.9-1.8-3.9-4s1.7-4 3.9-4 3.9 1.8 3.9 4-1.7 4-3.9 4z\"}}},\nnew_custom17:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M20.5 9.1c.2.6.8.9 1.4.9H30c.6 0 1.2-.3 1.4-.9l3.2-5.9c.2-.6-.2-1.1-.7-1.1H18.2c-.6 0-1 .6-.7 1.1l3 5.9zM30.7 14.8h-9.4C13.4 14.8 7 21.3 7 29.2v16c0 2.6 2.1 4.8 4.8 4.8h28.4c2.6 0 4.8-2.2 4.8-4.8v-16c0-7.9-6.5-14.4-14.3-14.4zm-2.3 26.9v2.7c0 .5-.5.8-1 .8h-3.2c-.5 0-.6-.3-.6-.8v-2.6c-2.4-.5-4.4-1.5-4.9-2-.6-.6-.8-1.1-.3-1.8l1-1.6c.2-.4.7-.6 1.2-.6.3 0 .6.1.8.2h.1c1.6 1 3 1.4 4 1.4 1.1 0 2-.6 2-1.2 0-.5-.3-1.3-3.3-2.3-2.7-1-6-2.6-6-6.3 0-2.2 1.4-4.7 5.4-5.5v-2.4c0-.5.2-.8.6-.8h3.2c.5 0 1 .3 1 .8V22c1.6.4 3.3 1.2 3.9 1.6.3.2.5.6.6 1 .1.4-.1.8-.3 1L31.4 27c-.3.4-.9.7-1.3.7-.2 0-.5-.1-.7-.2-1.6-.9-2.9-1.4-3.8-1.4-1.3 0-1.9.6-1.9 1 0 .6.3 1.2 3 2.2 3.3 1.1 7 2.9 7 6.7-.1 2.7-2.2 5-5.3 5.7z\"}}},\nnew_custom18:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M31.4 15.3h8.2c.6 0 1.1-.5 1.1-1.1 0-.3-.1-.5-.3-.8L30.2 3.3c-.3-.2-.5-.3-.8-.3-.6 0-1.1.5-1.1 1.1v8.1c0 1.7 1.4 3.1 3.1 3.1zM49.5 25.7l-.9-.9c-.6-.6-1.5-.6-2.2 0L34.5 36.7c-.1.1 0 .2 0 .3v2.5c0 .2 0 .4.2.4h2.6c.1 0 .2-.1.3-.1L49.5 28c.7-.8.7-1.7 0-2.3z\"},{\"d\":\"M39.9 44.4H32.8c-1.6 0-2.9-1.3-2.9-2.9v-5.4c0-.8.2-1.6.9-2.1l9.5-9.5c.3-.3.5-.7.5-1.1v-2c0-.8-.7-1.5-1.5-1.5h-11c-2.6 0-4.6-2.1-4.6-4.6V4.5c0-.8-.7-1.5-1.6-1.5H6.6C4.1 3 2 5.1 2 7.6v36.8C2 46.9 4.1 49 6.6 49H36c2.2 0 4.2-1.6 4.6-3.7.1-.4-.3-.9-.7-.9zM8.2 16.8c0-.8.7-1.5 1.5-1.5h6.2c.9 0 1.5.7 1.5 1.5v1.5c0 .8-.7 1.5-1.5 1.5H9.7c-.9 0-1.5-.7-1.5-1.5v-1.5zm15.5 19.9c0 .8-.7 1.5-1.5 1.5H9.7c-.9 0-1.5-.7-1.5-1.5v-1.5c0-.8.7-1.5 1.5-1.5h12.4c.9 0 1.5.7 1.5 1.5v1.5zm3.1-9.2c0 .8-.7 1.5-1.5 1.5H9.7c-.9 0-1.5-.7-1.5-1.5V26c0-.8.7-1.5 1.5-1.5h15.5c.9 0 1.5.7 1.5 1.5v1.5z\"}]}},\nnew_custom19:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M49.4 12.2c-.2-.6-.9-.7-1.4-.3L39.9 20c-.6.6-1.6.6-2.2 0L32 14.3c-.6-.6-.6-1.6 0-2.2L40.2 4c.4-.4.2-1.1-.3-1.4-1.4-.4-2.9-.6-4.3-.6-8.5 0-15.3 7.3-14.3 16 .2 1.4.5 2.6 1 3.8L3.6 40.4c-2.2 2.2-2.2 5.8 0 7.9 1.1 1.1 2.6 1.7 4 1.7s2.9-.6 4-1.7l18.6-18.6c1.2.5 2.5.8 3.8 1 8.7 1 16-5.8 16-14.3 0-1.5-.2-2.9-.6-4.2z\"}},\nnew_custom2:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M33.3 3.5C30.9 1.9 22.2.4 18.9 5.9c-1.6 2.6.3 7.3 1.8 10.3.4.7 1.2 1.1 2 .8 1-.4 2.2-.6 3.5-.6.8 0 1.6.1 2.4.3.7.2 1.4-.2 1.8-.8.6-1 1.5-2.2 3.1-3.5 3.8-3.3 2.2-7.3-.2-8.9zM29.1 35.1c-1 .3-2 .5-3.1.5-1 0-1.9-.2-2.8-.4-.7-.2-1.5.2-1.8.8-.6 1-1.5 2.3-3.1 3.6-4 3.2-2.4 7.3 0 8.9s11.2 3.1 14.4-2.4c1.5-2.6-.2-7.2-1.7-10.2-.4-.7-1.2-1-1.9-.8zM46.1 18.7c-2.6-1.6-7.3.3-10.3 1.8-.7.4-1.1 1.2-.8 2 .4 1 .6 2.2.6 3.5 0 .8-.1 1.6-.3 2.4-.2.7.2 1.4.8 1.8 1 .6 2.2 1.5 3.5 3.1 3.2 4 7.2 2.4 8.8 0s3.2-11.3-2.3-14.6zM16.9 29c-.3-1-.5-2-.5-3.1 0-1 .2-1.9.4-2.8.2-.7-.2-1.5-.8-1.8-1-.6-2.3-1.5-3.6-3.1-3.2-4-7.3-2.4-8.9 0S.4 29.3 5.9 32.6c2.6 1.5 7.2-.2 10.2-1.7.7-.4 1-1.2.8-1.9z\"},\"circle\":{\"cx\":\"26\",\"cy\":\"26\",\"r\":\"4.8\"}}},\nnew_custom20:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M16.4 24.2c0-.6-.8-1-1.3-.6L3.9 32.1C2.7 33 2 34.5 2 36v3.3c0 .6.6 1 1 .7l12.3-4.6c.6-.2 1-.8 1-1.5.1-.1.1-9.7.1-9.7zM34.1 46.5l-3.3-2.2V8.1c0-2.2-2.3-4.6-3.8-5.8-.6-.5-1.4-.5-2 0-1.4 1.2-3.8 3.6-3.8 5.8V44.4l-3.7 2.4c-.6.5-1.1 1.2-1.1 2v.5c0 .4.3.7.7.7h17.7c.4 0 .9-.3.9-.7-.1-1.2-.7-2.1-1.6-2.8zM48.1 32.1l-11.2-8.6c-.6-.4-1.3 0-1.3.6v9.8c0 .6.4 1.3 1 1.5L49 40.1c.6.2 1-.2 1-.7v-3.3c0-1.6-.7-3.1-1.9-4z\"}}},\nnew_custom21:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M32.1 42.9c-.2-.6-.8-.9-1.4-.9h-9.3c-.6 0-1.2.3-1.4.9l-2.2 5.9c-.2.6.2 1.1.7 1.1h15c.6 0 1-.6.7-1.1l-2.1-5.9zM45.2 2H6.8C4.2 2 2 4.1 2 6.8v25.6c0 2.6 2.2 4.8 4.8 4.8h38.4c2.6 0 4.8-2.2 4.8-4.8V6.8C50 4.1 47.8 2 45.2 2zM26 35.6c-1.4 0-2.4-1-2.4-2.4s1-2.4 2.4-2.4 2.4 1 2.4 2.4-1 2.4-2.4 2.4zm19.2-8c0 .9-.7 1.6-1.6 1.6H8.4c-.9 0-1.6-.7-1.6-1.6V8.4c0-.9.7-1.6 1.6-1.6h35.2c.9 0 1.6.7 1.6 1.6v19.2z\"}}},\nnew_custom22:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M48.1 37.1l-5-4c-1.7-1.4-4.1-1.4-5.8-.2l-4.7 3.4c-.6.5-1.5.4-2.1-.2l-7.8-7-7.1-7.8c-.6-.6-.6-1.4-.2-2.1l3.4-4.7c1.3-1.8 1.2-4.2-.2-5.8l-4-5C13 1.5 9.7 1.3 7.7 3.3L3.4 7.7C2.4 8.7 2 10 2 11.3 2.6 21.5 7.2 31.2 14 38s16.4 11.4 26.6 12c1.4.1 2.6-.5 3.6-1.4l4.3-4.3c2.1-2.1 1.9-5.4-.4-7.2z\"}},\nnew_custom23:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M25 30.6c.6.6 1.5.6 2.2 0L49.8 10c.4-.8.3-2-1.3-2H3.7c-1.2 0-2.2 1.2-1.3 2.1L25 30.6z\"},{\"d\":\"M50 18.8c0-1-1.3-1.6-2-.9L30.4 34c-1.2 1.1-2.7 1.7-4.3 1.7-1.6 0-3.1-.6-4.3-1.7L4.1 18c-.8-.7-2-.2-2 .9v20.4c0 2.6 2.2 4.7 4.8 4.7h38.4c2.6 0 4.8-2.1 4.8-4.7-.1 0-.1-14.2-.1-20.5z\"}]}},\nnew_custom24:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M40.3 2H11.7C9.1 2 7 4.2 7 6.7v.1c0 .9.7 1.6 1.6 1.6h34.8c.9 0 1.6-.7 1.6-1.6v-.1C45 4.2 42.9 2 40.3 2zM40.2 13.2H11.8c-.9 0-1.6.7-1.6 1.6v33.6c0 .9.7 1.6 1.6 1.6h8.8c.9 0 1.5-.7 1.5-1.6V42c0-.9.8-1.6 1.7-1.6h4.6c.9 0 1.7.7 1.7 1.6v6.4c0 .9.6 1.6 1.5 1.6h8.8c.9 0 1.6-.7 1.6-1.6V14.8c-.2-.9-.9-1.6-1.8-1.6zM23.6 34.8c0 .9-.7 1.6-1.6 1.6h-3.2c-.9 0-1.6-.7-1.6-1.6v-3.2c0-.9.7-1.6 1.6-1.6H22c.9 0 1.6.7 1.6 1.6v3.2zm0-11.2c0 .9-.7 1.6-1.6 1.6h-3.2c-.9 0-1.6-.7-1.6-1.6v-3.2c0-.9.7-1.6 1.6-1.6H22c.9 0 1.6.7 1.6 1.6v3.2zm11.1 11.2c0 .9-.7 1.6-1.6 1.6H30c-.9 0-1.6-.7-1.6-1.6v-3.2c0-.9.7-1.6 1.6-1.6h3.2c.9 0 1.6.7 1.6 1.6v3.2zm0-11.2c0 .9-.7 1.6-1.6 1.6H30c-.9 0-1.6-.7-1.6-1.6v-3.2c0-.9.7-1.6 1.6-1.6h3.2c.9 0 1.6.7 1.6 1.6v3.2z\"}}},\nnew_custom25:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M49.8 7.8c-.6-3-3-5.4-6.1-5.8-2.2-.3-4.2.4-5.7 1.6-.5.4-.4 1 .2 1.4 3.7 1.9 6.8 4.7 9.2 8.1.3.5 1 .5 1.4 0 1-1.5 1.4-3.3 1-5.3zM13.7 5c.5-.2.6-1 .2-1.4-1.5-1.3-3.5-1.9-5.7-1.6-3 .4-5.5 2.8-6.1 5.8-.3 1.9.1 3.8 1 5.2.3.5 1 .5 1.4 0 2.4-3.2 5.5-6 9.2-8zM26 6.8c-11.9 0-21.6 9.7-21.6 21.6 0 4.8 1.6 9.3 4.2 12.8l-3.3 3.3c-1.3 1.3-1.3 3.3 0 4.6.6.6 1.4 1 2.2 1s1.6-.3 2.2-1l3.3-3.3c3.7 2.6 8.2 4.2 13 4.2s9.3-1.6 12.8-4.2l3.3 3.3c.7.6 1.5 1 2.3 1s1.6-.3 2.2-1c1.3-1.3 1.3-3.3 0-4.6l-3.3-3.3c2.6-3.5 4.2-8 4.2-12.8.1-11.9-9.6-21.6-21.5-21.6zM10.8 28.4c0-8.4 6.8-15.2 15.2-15.2S41.2 20 41.2 28.4 34.4 43.6 26 43.6s-15.2-6.8-15.2-15.2z\"},{\"d\":\"M28.4 27.4v-6.2c0-1.4-1-2.4-2.4-2.4s-2.4 1-2.4 2.4v7.2c0 .6.2 1.3.7 1.7l5.6 5.6c.5.5 1.1.7 1.7.7s1.2-.2 1.7-.7c1-1 1-2.5 0-3.4l-4.9-4.9z\"}]}},\nnew_custom26:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M6.8 2C4.2 2 2 4.2 2 6.8c0 1.4.6 2.7 1.6 3.6v36.4C3.6 48.6 5 50 6.8 50c1.8 0 3.2-1.4 3.2-3.2V10.4c1-.9 1.6-2.2 1.6-3.6C11.6 4.2 9.4 2 6.8 2zM48.8 10.6c-12.6 6.6-21.1-4.7-33-.4-.6.2-1 .8-1 1.5v20.6c0 1 1 1.8 2.1 1.5 11.4-3.4 19.9 7.3 32.3.5.5-.2.8-.8.8-1.4V11.4c0-.7-.6-1.1-1.2-.8z\"}}},\nnew_custom27:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M6.5 35.6h39c.8 0 1.5-.7 1.5-1.5V10.4C47 8 45 6 42.5 6h-33C7 6 5 8 5 10.4v23.7c0 .9.7 1.5 1.5 1.5zm3-23.7c0-.8.7-1.5 1.5-1.5h30c.8 0 1.5.7 1.5 1.5v17.8c0 .8-.7 1.5-1.5 1.5H11c-.8 0-1.5-.7-1.5-1.5V11.9zM48.5 40.1H32c-.8 0-1.5.7-1.5 1.5s-.7 1.5-1.5 1.5h-6c-.8 0-1.5-.7-1.5-1.5s-.7-1.5-1.5-1.5H3.5c-.8 0-1.5.7-1.5 1.5C2 44 4 46 6.5 46h39c2.5 0 4.5-2 4.5-4.4 0-.9-.7-1.5-1.5-1.5z\"}}},\nnew_custom28:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M37.2 2H14.8C12.2 2 10 4.2 10 6.8v38.4c0 2.6 2.2 4.8 4.8 4.8h22.4c2.6 0 4.8-2.2 4.8-4.8V6.8C42 4.2 39.8 2 37.2 2zM26 48.4c-1.4 0-2.4-1-2.4-2.4s1-2.4 2.4-2.4 2.4 1 2.4 2.4-1 2.4-2.4 2.4zm11.2-8c0 .9-.7 1.6-1.6 1.6H16.4c-.9 0-1.6-.7-1.6-1.6V10c0-.9.7-1.6 1.6-1.6h19.2c.9 0 1.6.7 1.6 1.6v30.4z\"}},\nnew_custom29:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M45.3 8.4h-1.5c-1 0-1.7.8-1.7 1.8V42c0 .1 0 .2.1.3l2 2.8c.2.2.4.2.6 0l2-2.8c.2-.1.2-.1.2-.3V10.2c0-1-.7-1.8-1.7-1.8zM32.5 2H9.8C7.2 2 5 4.2 5 6.8v38.4C5 47.8 7.2 50 9.8 50h22.6c2.7 0 4.8-2.2 4.8-4.8V6.8c.1-2.6-2.1-4.8-4.7-4.8zM21.2 48.4c-1.4 0-2.4-1-2.4-2.4s1-2.4 2.4-2.4 2.4 1 2.4 2.4-1.1 2.4-2.4 2.4zm11.3-8c0 .9-.7 1.6-1.6 1.6H11.5c-.9 0-1.6-.7-1.6-1.6V10c0-.9.7-1.6 1.6-1.6h19.4c.9 0 1.6.7 1.6 1.6v30.4z\"}}},\nnew_custom3:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M26 16.4c-5.3 0-9.6 4.3-9.6 9.6s4.3 9.6 9.6 9.6 9.6-4.3 9.6-9.6-4.3-9.6-9.6-9.6z\"},{\"d\":\"M50 26c0-2.8-6.7-4.2-7.8-6.7-1-2.6 2.7-8.3.8-10.3s-7.7 1.8-10.2.7c-2.6-1-4-7.7-6.8-7.7s-4.2 6.7-6.7 7.8C16.7 10.8 11 7.1 9 9s1.8 7.7.7 10.2c-1 2.6-7.7 4-7.7 6.8s6.7 4.2 7.8 6.7c1 2.6-2.7 8.3-.8 10.3 1.9 1.9 7.7-1.8 10.2-.7 2.5 1 3.9 7.8 6.7 7.8s4.2-6.7 6.7-7.8c2.6-1 8.3 2.6 10.2.7 1.9-1.9-1.8-7.7-.7-10.2 1.2-2.6 7.9-4 7.9-6.8zM26 40.4c-7.9 0-14.4-6.5-14.4-14.4S18.1 11.6 26 11.6 40.4 18.1 40.4 26 33.9 40.4 26 40.4z\"}]}},\nnew_custom30:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M43.2 8.8C38.8 4.4 32.9 2 26.8 2c-1.4 0-2.4 1-2.4 2.4s1 2.4 2.4 2.4c4.9 0 9.5 1.9 13.1 5.4 3.4 3.5 5.4 8.2 5.4 13.1 0 1.4 1 2.4 2.4 2.4s2.4-1 2.4-2.4c-.1-6.2-2.5-12.1-6.9-16.5z\"},{\"d\":\"M26.8 11.6c-1.4 0-2.4 1-2.4 2.4s1 2.4 2.4 2.4c2.3 0 4.6.9 6.3 2.6 1.7 1.7 2.6 3.8 2.6 6.3 0 1.4 1 2.4 2.4 2.4s2.4-1 2.4-2.4c0-3.6-1.4-7.1-4-9.6-2.7-2.6-6.1-4.1-9.7-4.1zM23.3 34.6l2.1-5.6c1.4.6 3 .2 4.2-.9 1.6-1.6 1.6-4.1 0-5.7-1.6-1.6-4.1-1.6-5.7 0-1.2 1.2-1.4 3-.8 4.5l-5.2 2.3-9.4-9.4c-.6-.6-1.8-.6-2.3.1-6 7.2-5.6 18 1.2 24.7 6.7 6.7 17.5 7.1 24.7 1.2.7-.6.7-1.7.1-2.3l-8.9-8.9z\"}]}},\nnew_custom31:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M46.4 20.7l-3.9-12C41.8 6.5 39.6 5 37.2 5H14.8c-2.4 0-4.6 1.5-5.4 3.7l-3.8 12C3.5 21.3 2 23 2 25.2v9.3c0 2 1.4 3.7 3.2 4.4v6.5c0 .9.7 1.6 1.6 1.6h6.4c.9 0 1.6-.7 1.6-1.6v-6.2h22.4v6.2c0 .9.7 1.6 1.6 1.6h6.4c.9 0 1.6-.7 1.6-1.6V39c1.8-.6 3.2-2.3 3.2-4.4v-9.3c0-2.3-1.5-4-3.6-4.6zM10 33.8c-2.2 0-4-1.7-4-3.9S7.8 26 10 26s4 1.7 4 3.9-1.8 3.9-4 3.9zm17.6-13.2H11.8c-.6 0-1-.5-.8-1l3-9.3c.1-.3.4-.5.7-.5h22.4c.3 0 .6.2.7.5l3 9.4c.2.5-.2 1-.8 1H27.6zm13.6 13.2c-2.2 0-4-1.7-4-3.9s1.8-3.9 4-3.9 4 1.7 4 3.9-1.8 3.9-4 3.9z\"}},\nnew_custom32:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M48.8 14.2L30.1 24.9c-.4.2-.8.3-1.2.3-.9 0-1.8-.5-2.2-1.4-.6-1.1 0-2.6 1.1-3.2l6.2-3.5V11c0-.6-.6-1-1.2-.7L10 23.3c-.4.2-.8.3-1.2.3-.8 0-1.7-.4-2.1-1.2-.6-1.1-.2-2.6.9-3.3l3.9-2.2V3.6c.1-.9-.6-1.6-1.5-1.6H3.6C2.7 2 2 2.7 2 3.6v41.6C2 47.8 4.2 50 6.8 50H20.4c.9 0 1.6-.7 1.6-1.6v-5.6c0-.9.7-1.6 1.6-1.6h4.8c.9 0 1.6.7 1.6 1.6v5.6c0 .9.7 1.6 1.6 1.6h13.6c2.6 0 4.8-2.2 4.8-4.8V15c0-.7-.6-1.1-1.2-.8zM14 36.4c0 .9-.7 1.6-1.6 1.6h-1.6c-.9 0-1.6-.7-1.6-1.6v-4.8c0-.9.7-1.6 1.6-1.6h1.6c.9 0 1.6.7 1.6 1.6v4.8zm9.6 0c0 .9-.7 1.6-1.6 1.6h-1.6c-.9 0-1.6-.7-1.6-1.6v-4.8c0-.9.7-1.6 1.6-1.6H22c.9 0 1.6.7 1.6 1.6v4.8zm9.6 0c0 .9-.7 1.6-1.6 1.6H30c-.9 0-1.6-.7-1.6-1.6v-4.8c0-.9.7-1.6 1.6-1.6h1.6c.9 0 1.6.7 1.6 1.6v4.8zm9.6 0c0 .9-.7 1.6-1.6 1.6h-1.6c-.9 0-1.6-.7-1.6-1.6v-4.8c0-.9.7-1.6 1.6-1.6h1.6c.9 0 1.6.7 1.6 1.6v4.8z\"}},\nnew_custom33:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M37.2 19.3H15.5c-.8 0-1.5.7-1.5 1.5v5.9c0 .8.7 1.5 1.5 1.5h21.8c.8 0 1.5-.7 1.5-1.5v-5.9c0-.8-.7-1.5-1.6-1.5zM26.8 26c-1.3 0-2.2-1-2.2-2.2 0-1.3 1-2.2 2.2-2.2s2.2 1 2.2 2.2c0 1.2-1 2.2-2.2 2.2z\"},{\"d\":\"M48.5 9h-45C2.7 9 2 9.7 2 10.5V12c0 1.6 1.3 3 3 3v26.6c0 .7.7 1.4 1.5 1.4H8c.8 0 1.5-.7 1.5-1.5V14.9h33.8v26.6c0 .8.7 1.5 1.5 1.5h1.5c.8 0 1.5-.7 1.5-1.5V14.9H47c1.6 0 3-1.3 3-3v-1.5c0-.7-.7-1.4-1.5-1.4z\"}]}},\nnew_custom34:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M19.6 10h12.8c.9 0 1.6-.9 1.4-1.8C33 4.7 29.8 2 26 2s-7 2.7-7.8 6.2c-.2.9.5 1.8 1.4 1.8z\"},{\"d\":\"M47.6 30.8c1.4 0 2.5-1.1 2.4-2.6-.1-1.2-1.2-2.2-2.6-2.2h-7v-4c4.6-1.8 7.9-6.8 8-12.7 0-1.2-.8-2.2-2-2.5-1.5-.2-2.8.9-2.8 2.4 0 3.4-1.6 6.4-3.9 7.8-.9-1.4-2.4-2.2-4.1-2.2H16.4c-1.7 0-3.2.9-4.1 2.2-2.3-1.4-3.9-4.3-3.9-7.7 0-1.3-1-2.5-2.2-2.6-1.4-.1-2.6 1-2.6 2.4 0 5.9 3.4 11 8 12.8v4h-7c-1.3 0-2.5 1-2.6 2.2-.1 1.4 1 2.6 2.4 2.6h7.2v4c-4.6 1.8-7.9 6.8-8 12.7 0 1.2.8 2.2 2 2.5 1.5.2 2.8-.9 2.8-2.4 0-3.4 1.5-6.3 3.8-7.8 1.4 4.5 4.9 8 9.3 9.4 1 .3 2.1-.5 2.1-1.5v-19c0-1.3 1-2.5 2.2-2.6 1.4-.1 2.6 1 2.6 2.4v19.3c0 1.1 1 1.8 2.1 1.5 4.4-1.4 7.9-5 9.3-9.4 2.2 1.4 3.8 4.3 3.8 7.6 0 1.3 1 2.5 2.2 2.6 1.4.1 2.6-1 2.6-2.4 0-5.9-3.4-11-8-12.8v-4h7.2z\"}]}},\nnew_custom35:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M41.5 18c-1.4 0-2.5 1-2.5 2.4v4c0 7-5.9 12.8-13.1 12.8s-13.1-5.8-13.1-12.8v-4c0-1.4-1.1-2.4-2.5-2.4S8 19 8 20.4v4c0 8.9 6.8 16.2 15.5 17.4v3.4h-4.1c-1.4 0-2.5 1-2.5 2.4S18 50 19.4 50h13.1c1.4 0 2.5-1 2.5-2.4s-1.1-2.4-2.5-2.4h-4.1v-3.4C37.2 40.6 44 33.3 44 24.4v-4c0-1.4-1.1-2.4-2.5-2.4z\"},{\"d\":\"M26 32.4c4.5 0 8.2-3.6 8.2-8V9.9c0-4.4-3.6-7.9-8.1-7.9h-.2c-4.5 0-8.1 3.5-8.1 7.9v14.5c0 4.4 3.7 8 8.2 8z\"}]}},\nnew_custom36:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M17.2 43.6H14c-.5 0-1.1.3-1.3.8l-1.1 1.9c-.6 1.1-.4 2.6.6 3.3.4.3.9.4 1.3.4.8 0 1.6-.4 2-1.2l2.3-4c.4-.6 0-1.2-.6-1.2zM39.4 44.4c-.3-.5-.8-.8-1.3-.8h-3.2c-.6 0-1 .6-.7 1.2l2.3 4c.5.8 1.3 1.2 2 1.2.5 0 .9-.2 1.3-.4 1-.7 1.3-2.2.6-3.3l-1-1.9zM39.3 2H12.7C10.1 2 8 4.2 8 6.8V34c0 2.6 2.1 4.8 4.7 4.8h26.6c2.6 0 4.7-2.2 4.7-4.8V6.8C44 4.2 41.9 2 39.3 2zM15 35.6c-1.3 0-2.3-1-2.3-2.4s1-2.4 2.3-2.4 2.3 1 2.3 2.4-.9 2.4-2.3 2.4zm22 0c-1.3 0-2.3-1-2.3-2.4s1-2.4 2.3-2.4 2.3 1 2.3 2.4-1 2.4-2.3 2.4zm2.3-9.6c0 .9-.7 1.6-1.6 1.6H14.3c-.9 0-1.6-.7-1.6-1.6V10c0-.9.7-1.6 1.6-1.6h23.5c.9 0 1.6.7 1.6 1.6v16z\"}}},\nnew_custom37:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M48.5 30.5h-9.7v-8.8c2 1.7 4.6 2.8 7.5 2.8 1.3 0 2.2-1 2.2-2.2s-1-2.2-2.2-2.2c-4.1 0-7.5-3.7-7.5-8.2V9.5c.8 0 1.5-.7 1.5-1.5V6.5c0-.8-.7-1.5-1.5-1.5h-4.5c-.8 0-1.5.7-1.5 1.5V8c0 .8.7 1.5 1.5 1.5v2.2c0 4.6-3.7 8.2-8.2 8.2s-8.2-3.7-8.2-8.2V9.5c.8 0 1.5-.7 1.5-1.5V6.5c0-.8-.7-1.5-1.5-1.5h-4.5c-.8 0-1.5.7-1.5 1.5V8c0 .8.7 1.5 1.5 1.5v2.2c0 4.6-3.4 8.2-7.5 8.2-1.3 0-2.2 1-2.2 2.2s1 2.2 2.2 2.2c2.8 0 5.5-1.1 7.5-2.8v8.8H3.5c-.8.2-1.5.9-1.5 1.7v3.6c0 .8.7 1.7 1.5 1.7h3v8.1c0 .8.7 1.6 1.5 1.6h4.5c.8 0 1.5-.8 1.5-1.6v-3c0-2.5 2-4.4 4.5-4.4h15c2.5 0 4.5 1.9 4.5 4.4v3c0 .8.7 1.6 1.5 1.6H44c.8 0 1.5-.8 1.5-1.6v-8.1h3c.8 0 1.5-.8 1.5-1.7V32c0-.8-.7-1.5-1.5-1.5zm-30.7-9.1c2.2 1.9 5.1 3.1 8.2 3.1s6-1.1 8.2-3.1v9.1H17.8v-9.1z\"}},\nnew_custom38:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M26 22c-3.5 0-6.4 2.9-6.4 6.4s2.9 6.4 6.4 6.4 6.4-2.9 6.4-6.4S29.5 22 26 22z\"},{\"d\":\"M45.2 14h-6.5c-.6 0-1.2-.3-1.4-1l-2.1-4.4C34.4 7 32.7 6 30.9 6h-9.8c-1.8 0-3.5 1-4.3 2.6L14.7 13c-.2.6-.8 1-1.4 1H6.8C4.2 14 2 16.2 2 18.8v22.4C2 43.8 4.2 46 6.8 46h38.4c2.6 0 4.8-2.2 4.8-4.8V18.8c0-2.6-2.2-4.8-4.8-4.8zM26 39.8c-6.2 0-11.2-5-11.2-11.2s5-11.2 11.2-11.2 11.2 5 11.2 11.2-5 11.2-11.2 11.2z\"}]}},\nnew_custom39:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M36.9 8.9c-.2-.6-.9-1-1.5-.9L3.1 18.4c-.8.2-1.2 1.1-1 1.9l1.3 5c.2.8 1 1.4 1.8 1.2l8.2-1.1c.2.9.6 1.8 1.2 2.5l-7 18.9c-.5 1.2.1 2.6 1.4 3 .2.1.6.2.8.2 1 0 1.9-.6 2.2-1.6l6.6-17.9c.6.2 1 .2 1.6.2s1.1-.1 1.6-.2l6.6 17.9c.3 1 1.3 1.6 2.2 1.6.2 0 .6-.1.8-.2 1.3-.5 1.9-1.8 1.4-3.1l-7-19c.9-1.2 1.4-2.7 1.4-4.3v-.1l11.3-1.6c.7-.1 1.2-.8 1-1.5L36.9 8.9zM49.9 20.2L45.5 3.8c-.3-1.3-1.7-2.1-3-1.8-1.3.3-2.1 1.7-1.8 3l4.4 16.3c.3 1.3 1.7 2.1 3 1.8 1.3-.3 2.1-1.7 1.8-2.9z\"}}},\nnew_custom4:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M6.6 12.2l16.9-9.5c1.5-.9 3.5-.9 5.1 0l16.9 9.5c1.5.9 2.5 2.6 2.5 4.3v19c0 1.8-.9 3.4-2.5 4.3l-16.9 9.5c-1.5.9-3.5.9-5.1 0L6.6 39.8C5.1 38.9 4 37.3 4 35.5v-19c0-1.8 1.1-3.4 2.6-4.3z\"}},\nnew_custom40:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M45.2 8H6.8C4.2 8 2 10.1 2 12.7v26.6C2 41.9 4.2 44 6.8 44h38.4c2.6 0 4.8-2.1 4.8-4.7V12.7c0-2.6-2.2-4.7-4.8-4.7zm0 4.7v4.7H6.8v-4.7h38.4zM6.8 39.3V25.2h38.4v14.1H6.8z\"},{\"d\":\"M20.5 29.1c-1.1 0-2.1.5-2.6 1.4-.1.2-.3.2-.4 0-.6-.9-1.5-1.4-2.6-1.4-1.8 0-3.2 1.4-3.2 3.1 0 1.7 1.4 3.1 3.2 3.1 1.1 0 2.1-.5 2.6-1.4.1-.2.3-.2.4 0 .6.9 1.5 1.4 2.6 1.4h.1c1.7 0 3.1-1.3 3.1-3.1V32c-.1-1.5-1.5-2.9-3.2-2.9zM38.8 29.9h-9.6c-.9 0-1.6.7-1.6 1.6V33c0 .9.7 1.6 1.6 1.6h9.6c.9 0 1.6-.7 1.6-1.6v-1.6c0-.8-.7-1.5-1.6-1.5z\"}]}},\nnew_custom41:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M45.5 11h-39C4 11 2 13 2 15.4v21.2C2 39 4 41 6.5 41h39c2.5 0 4.5-2 4.5-4.4V15.4c0-2.4-2-4.4-4.5-4.4zM11.8 36.6c0-2.9-2.3-5.1-5.2-5.1v-11c2.9 0 5.2-2.3 5.2-5.1h28.5c0 2.9 2.3 5.1 5.2 5.1v11c-2.9 0-5.2 2.3-5.2 5.1H11.8z\"},\"ellipse\":{\"cx\":\"26\",\"cy\":\"25.6\",\"rx\":\"7.5\",\"ry\":\"7.3\"}},\nnew_custom42:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M45.2 4H6.8C4.2 4 2 6.1 2 8.7v4.7c0 .9.7 1.6 1.6 1.6h44.8c.9 0 1.6-.7 1.6-1.6V8.7C50 6.1 47.8 4 45.2 4zM45.2 19.7H6.8c-.9 0-1.6.7-1.6 1.6v22c0 2.6 2.2 4.7 4.8 4.7h32c2.6 0 4.8-2.1 4.8-4.7v-22c0-.9-.7-1.6-1.6-1.6zm-10.4 7.1c0 1.3-1 2.4-2.4 2.4H19.6c-1.3 0-2.4-1-2.4-2.4 0-1.3 1-2.4 2.4-2.4h12.8c1.4 0 2.4 1 2.4 2.4z\"}}},\nnew_custom43:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M49.8 21.2s.1 0 0 0c.1-.2.1-.3.1-.4v-.1-.5-.3-.1s-.1-.1-.1-.2 0-.1-.1-.1c0-.1-.1-.1-.1-.2s-.1-.1-.1-.1L40.8 6.9c-.4-.5-1-.9-1.7-.9H12.9c-.7 0-1.4.4-1.8.9L2.3 19.1c0 .1-.1.1-.1.1-.1.1-.1.1-.1.2s0 .1-.1.1c0 .1-.1.1-.1.2V20.7c0 .1.1.3.1.4v.1c.1.1.1.2.1.3 0 .1.1.1.1.1l.1.1 21.9 23.6.1.1.1.1.1.1s.1 0 .1.1c.1 0 .1.1.1.1s.1 0 .1.1c0 0 .1 0 .1.1 0 0 .1 0 .1.1H26.6s.1 0 .1-.1c0 0 .1 0 .1-.1 0 0 .1 0 .1-.1 0 0 .1 0 .1-.1.1 0 .1-.1.1-.1s.1 0 .1-.1l.1-.1.1-.1.1-.1 21.9-23.6.1-.1c0-.1.1-.1.1-.1.1 0 .2-.1.2-.2zm-23.8-3h-3.5l3.5-5.8 3.5 5.8H26zm0 4.3h4.4L26 36.6l-4.4-14.1H26zm3.8-12.2h5.5l-2 5.7-3.5-5.7zm-11 5.7l-2-5.7h5.5L18.8 16zm-1.7 6.5l4 13-12-13h8zm17.8 0h8l-12 13 4-13zm8.7-4.3H37l2.2-6.1 4.4 6.1zm-30.9-6.1l2.2 6.1H8.4l4.3-6.1z\"}},\nnew_custom44:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M40.7 9.1C36.6 3.8 33.2 2 26 2c-3.2 0-7.1 1.3-8.7 1.6 0-.9-.7-1.6-1.6-1.6h-3.2c-.9 0-1.6.7-1.6 1.6V10c0 .9.7 1.6 1.6 1.6h3.1c.9 0 1.6-.7 1.6-1.6H19c1.3 0 2.3 1 2.3 2.3v.1c0 1.4 1 2.4 2.4 2.4v12.8c-1.7 0-3.1 1.4-3.1 3.2v14.4c0 2.6 2.1 4.8 4.7 4.8h1.6c2.6 0 4.7-2.2 4.7-4.8V30.8c0-1.8-1.4-3.2-3.1-3.2V14.8c1.3 0 2.4-1.8 2.4-3.1v-.1c0-1.2.9-2.2 2.1-2.2 3.1-.2 4.9 1.1 5.7 1.8.5.4 1.3.5 1.7.1.7-.5.9-1.5.3-2.2z\"}},\nnew_custom45:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M13.2 20.8h25.5v10.5H13.2z\"},{\"d\":\"M50 19.5v-4c0-2.5-2-4.5-4.5-4.5h-39C4 11 2 13 2 15.5v4c0 .5.3 1.1.8 1.3 1.8 1.1 3 3 3 5.2s-1.2 4.1-3 5.2c-.5.2-.8.7-.8 1.2v4.1C2 39 4 41 6.5 41h39c2.5 0 4.5-2 4.5-4.5v-4c0-.5-.3-1.1-.8-1.3-1.8-1.1-3-3-3-5.2s1.2-4.1 3-5.2c.5-.3.8-.7.8-1.3zm-8.2 16.3H10.2c-.8 0-1.5-.7-1.5-1.5V17.8c0-.8.7-1.5 1.5-1.5h31.5c.8 0 1.5.7 1.5 1.5v16.5c0 .8-.6 1.5-1.4 1.5z\"}]}},\nnew_custom46:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M34.8 15.6H17.2c-.9 0-1.6.7-1.6 1.6v17.6c0 .9.7 1.6 1.6 1.6h17.6c.9 0 1.6-.7 1.6-1.6V17.2c0-.9-.7-1.6-1.6-1.6z\"},{\"d\":\"M48.8 7.8c.7-.3 1.2-.8 1.2-1.6V3.6c0-.9-.7-1.6-1.6-1.6h-2.6c-.7 0-1.3.5-1.5 1.2-.5 1.6-2 2.8-3.8 2.8s-3.3-1.2-3.8-2.8C36.3 2.5 35.8 2 35 2h-3.7c-.7 0-1.3.5-1.5 1.2-.4 1.6-2 2.8-3.8 2.8-1.8 0-3.3-1.2-3.8-2.8-.3-.7-.8-1.2-1.6-1.2H17c-.7 0-1.3.5-1.5 1.2C15 4.8 13.4 6 11.6 6 9.8 6 8.3 4.8 7.8 3.2 7.5 2.5 7 2 6.2 2H3.6C2.7 2 2 2.7 2 3.6v2.6c0 .8.5 1.3 1.2 1.6 1.6.4 2.8 2 2.8 3.8s-1.2 3.3-2.8 3.8c-.7.3-1.2.8-1.2 1.6v3.7c0 .7.5 1.3 1.2 1.5 1.6.4 2.8 2 2.8 3.8s-1.2 3.3-2.8 3.8c-.7.3-1.2.8-1.2 1.6V35c0 .7.5 1.3 1.2 1.5C4.8 37 6 38.6 6 40.4c0 1.8-1.2 3.3-2.8 3.8-.7.3-1.2.8-1.2 1.6v2.6c0 .9.7 1.6 1.6 1.6h2.6c.7 0 1.3-.5 1.5-1.2.5-1.6 2-2.8 3.8-2.8 1.8 0 3.3 1.2 3.8 2.8.2.7.8 1.2 1.5 1.2h3.7c.7 0 1.3-.5 1.5-1.2.5-1.6 2-2.8 3.8-2.8s3.3 1.2 3.8 2.8c.2.7.8 1.2 1.5 1.2H35c.7 0 1.3-.5 1.5-1.2.5-1.6 2-2.8 3.8-2.8 1.8 0 3.3 1.2 3.8 2.8.2.7.8 1.2 1.5 1.2h2.6c.9 0 1.6-.7 1.6-1.6v-2.6c0-.7-.5-1.3-1.2-1.5-1.6-.5-2.8-2-2.8-3.8s1.2-3.3 2.8-3.8c.7-.2 1.2-.8 1.2-1.5v-3.7c0-.7-.5-1.3-1.2-1.5-1.6-.5-2.8-2-2.8-3.8 0-1.8 1.2-3.3 2.8-3.8.7-.2 1.2-.8 1.2-1.5V17c0-.7-.5-1.3-1.2-1.5-1.6-.5-2.8-2-2.8-3.8s1.4-3.4 3-3.9zm-7.6 28.6c0 2.6-2.2 4.8-4.8 4.8H15.6c-2.6 0-4.8-2.2-4.8-4.8V15.6c0-2.6 2.2-4.8 4.8-4.8h20.8c2.6 0 4.8 2.2 4.8 4.8v20.8z\"}]}},\nnew_custom47:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M36.6 43.6H8.9c-2.7 0-4.9 2.2-4.9 4.8v.1c0 .8.7 1.5 1.5 1.5h34.4c.8 0 1.5-.7 1.5-1.5v-.1c.1-2.6-2.1-4.8-4.8-4.8zM47.5 18.3l-13-11.8 2.1-3.1c.3-.5.1-1.1-.5-1.2-4-.8-6.4 1.9-6.4 1.9-25.1 0-21 27.1-19.8 33.4.2.7.8 1.3 1.6 1.3h22.1c.7 0 1.1-.8.7-1.3-4.5-5.4-6.8-11.4-8.3-15.2-.2-.6.4-1.4 1.1-1 5.9 3 8.4-.2 12.4 2.2 2 1.2 4.4.9 6-.7l2.2-2.2c.4-.6.4-1.6-.2-2.3zm-16.6-2.7c-1.4 0-2.4-1-2.4-2.4s1.1-2.4 2.4-2.4 2.4 1 2.4 2.4-1 2.4-2.4 2.4z\"}}},\nnew_custom48:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M48.4 5.2h-8V3.6c0-.9-.7-1.6-1.6-1.6H13.2c-.9 0-1.6.7-1.6 1.6v1.6h-8c-.9 0-1.6.7-1.6 1.6v10.4c0 4 3.2 7.2 7.2 7.2h3.7c2.2 5.1 7.1 8.7 13 8.8 6.1.1 11.2-3.6 13.4-8.8h3.5c4 0 7.2-3.2 7.2-7.2V6.8c0-.9-.7-1.6-1.6-1.6zM9.2 19.6c-1.4 0-2.4-1-2.4-2.4V10h4.8v8.5c0 .4 0 .7.1 1.1H9.2zm36-2.4c0 1.4-1 2.4-2.4 2.4h-2.5c0-.3.1-.7.1-1V10h4.8v7.2zM34 45.2h-.8c-2.6 0-4.8-2.2-4.8-4.8v-1.6c0-.5-.3-.8-.8-.8h-3.2c-.5 0-.8.3-.8.8v1.6c0 2.6-2.2 4.8-4.8 4.8H18c-.9 0-1.6.7-1.6 1.6v1.6c0 .9.7 1.6 1.6 1.6h16c.9 0 1.6-.7 1.6-1.6v-1.6c0-.9-.7-1.6-1.6-1.6z\"}}},\nnew_custom49:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M26 18.8c-4 0-7.2 3.2-7.2 7.2s3.2 7.2 7.2 7.2 7.2-3.2 7.2-7.2-3.2-7.2-7.2-7.2zM26 30c-2.2 0-4-1.8-4-4s1.8-4 4-4 4 1.8 4 4-1.8 4-4 4z\"},{\"d\":\"M26 2C12.7 2 2 12.7 2 26s10.7 24 24 24 24-10.7 24-24S39.3 2 26 2zm0 42.3c0 1-.8 1.7-1.8 1.6-9.6-.8-17.3-8.5-18.2-18.2 0-.9.7-1.7 1.7-1.7h1.6c.8 0 1.5.6 1.6 1.4.7 7.2 6.5 13 13.7 13.7.8.1 1.4.8 1.4 1.6v1.6zm0-6.3c-6.6 0-12-5.4-12-12s5.4-12 12-12 12 5.4 12 12-5.4 12-12 12zm18.3-12h-1.6c-.8 0-1.5-.6-1.6-1.4-.7-7.2-6.5-13-13.7-13.7-.8-.1-1.4-.8-1.4-1.6V7.7c0-1 .8-1.7 1.8-1.6 9.7.8 17.4 8.6 18.2 18.2 0 .9-.7 1.7-1.7 1.7z\"}]}},\nnew_custom5:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M49.1 5.8C40.9 2.7 31.4 2 23 4.7 15.6 7.1 8 12.6 6.9 20.8c-.2 1.7-.2 3.6.2 5.2.2.9.5 1.7.8 2.6.2.5.3.9.6 1.3-.3.5-.6 1-1 1.4-2.3 3.6-3.9 7.7-4.9 11.8-.4 1.7-1.4 4.3.5 5.5.7.5 1.8.5 2.5.1 1-.6 1.1-1.5 1.3-2.5.7-4.2 2.2-8.4 4.5-12 1.1-1.7 2.3-3.5 3.7-5.1 1.2-1.3 3-3.7 5-3 2 .7 1.9 3 .6 4.2s-2.5 2.5-2.5 4.4c0 1.4.6 2.9 1.8 3.8 1.6 1.3 4.8 1.6 6.7 1.4 4.2-.2 7.7-1.5 11.1-4 4.5-3.1 6.2-8.5 7.1-13.6.6-3.2 1-6.3 2.1-9.3.5-1.3 1.1-2.5 1.8-3.6.3-.6 1-1.2 1.1-1.8.3-.9-.2-1.6-.8-1.8z\"}},\nnew_custom50:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M47.5 31.3c-1.8.9-3.9 1.4-6.1 1.4-2.6 0-5.1-.7-7.2-1.9-.2-.2-.6-.2-.8 0-2.1 1.3-4.6 1.9-7.2 1.9s-5.1-.7-7.2-1.9c-.2-.2-.6-.2-.8 0-2.1 1.3-4.6 1.9-7.2 1.9-2.2 0-4.3-.5-6.1-1.4-.6-.3-1.2.1-1.2.7v9.8c0 1.9 1.1 3.6 2.9 4.5 4 1.8 8.3 3.1 12.9 3.7 1 .2 1.8-.6 1.8-1.6v-6.1c0-2.7 2.2-4.8 4.7-4.8h.1c2.6 0 4.7 2.2 4.7 4.8v6.1c0 1 .9 1.7 1.8 1.6 4.5-.6 8.8-1.9 12.9-3.7 1.8-.8 2.9-2.5 2.9-4.5V32c.2-.6-.4-1-.9-.7zM10.9 27.8c2.9 0 5.4-1.2 7-3.2.3-.4.9-.4 1.2 0 1.6 1.9 4.2 3.2 7 3.2 2.9 0 5.4-1.2 7-3.2.3-.4.9-.4 1.2 0 1.6 1.9 4.2 3.2 7 3.2 4.5 0 8.3-3.2 8.7-7.1.1-.6-.2-1.1-.6-1.5L29 3c-1.8-1.4-4.3-1.4-5.9 0L2.6 19.2c-.4.3-.6.9-.6 1.5.6 4 4.4 7.1 8.9 7.1z\"}}},\nnew_custom51:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M18.5 6.5c2 1.4 3.9 4.6 4.7 7.1.2.6.6 1 1.2 1 .6.2 1 .2 1.6.2.9 0 1.6 0 2.3-.3 2-.7 3.8-1.6 5.3-3.1 2.4-2.5 3.3-6 2.4-8.9-2.9-.9-6.4-.1-8.8 2.4-.7.7-1.3 1.5-1.7 2.4-1.3-2-2.8-3.8-4.5-4.9-1.2-.7-2.7-.3-3.4.9-.6 1.1-.1 2.5.9 3.2zM42.7 18.2c-8.1-4.6-9.8 1.6-16.7 1.6s-8.6-6.2-16.7-1.6C1.5 22.7 3.8 37.4 6.9 43c2.8 4.9 7.9 9.9 18.4 5.1.4-.2.9-.2 1.3 0 10.5 4.8 15.7-.3 18.4-5.1 3.2-5.6 5.5-20.3-2.3-24.8z\"}}},\nnew_custom52:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M49.9 14.1c.2-2.6 0-5.1-.4-7.6-.3-2.1-1.9-3.7-4-4-2.6-.4-5-.6-7.6-.4-.7 0-1 .9-.6 1.4l11.2 11.2c.6.4 1.4 0 1.4-.6zM31 3.8c-.4-.4-1-.6-1.5-.4-6 1.7-11.8 4.9-16.5 9.7-4.6 4.6-7.8 10.2-9.5 16-.2.6 0 1.2.4 1.6l17.4 17.4c.4.4 1 .6 1.6.4 5.8-1.8 11.4-4.9 16-9.5 4.7-4.7 8-10.4 9.7-16.5.2-.6 0-1.1-.4-1.5L31 3.8zm-6.7 31.4c-1 1-2.5 1-3.4 0l-4.5-4.5c-1-1-1-2.5 0-3.4 1-1 2.5-1 3.4 0l4.5 4.5c1 1 1 2.5 0 3.4zm5.6-5.6c-1 1-2.5 1-3.4 0L22 25.1c-1-1-1-2.5 0-3.4 1-1 2.5-1 3.4 0l4.5 4.5c1 1 1 2.5 0 3.4zm5.6-5.6c-1 1-2.5 1-3.4 0l-4.5-4.5c-1-1-1-2.5 0-3.4 1-1 2.5-1 3.4 0l4.5 4.5c1 1 1 2.5 0 3.4zM2.1 37.4c-.2 2.7-.1 5.4.4 8.2.3 2.1 1.9 3.7 4 4 2.7.4 5.4.6 8.2.4.7-.1 1-.9.6-1.4L3.4 36.8c-.4-.4-1.3-.1-1.3.6z\"}}},\nnew_custom53:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M45.4 31.6h-.5c-1.8 0-3.2-1.4-3.2-3.3V17.7c0-9.3-8.2-16.7-17.5-15.6-8 .9-13.9 8-13.9 16.3v9.5c0 2-1.7 3.7-3.6 3.7h-.1c-1.4 0-2.6 1.2-2.6 2.6v1.9c0 1.4 1.2 2.6 2.6 2.6h38.8c1.4 0 2.6-1.2 2.6-2.6v-1.9c0-1.4-1.2-2.6-2.6-2.6zM31.2 43.6H20.8c-.6 0-1.2.5-1 1.1.6 3 3.1 5.3 6.3 5.3s5.7-2.2 6.3-5.3c0-.6-.5-1.1-1.2-1.1z\"}}},\nnew_custom54:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M7.8 26.9c5.2-.9 9.8-3 14.7-5.3 1.6-.7 4.6-2.1 6-2.7.5-.2.8-.7.6-1.3-.4-2.3-2.3-4.2-4.7-4.2h-1.6v-3c0-.9-.8-1.6-1.6-1.6V5.6c0-.9-.7-1.6-1.6-1.6h-3.2c-.9 0-1.6.7-1.6 1.6v3.2c-.8 0-1.6.7-1.6 1.6v3h-1.6c-2.6 0-4.8 2.4-4.8 5.1V26c0 .6.5 1 1 .9zM43.6 42.7s5.8-9 6.4-21.6c0-.9-.7-1.7-1.7-1.7-19 .7-27.9 12.2-44.8 12.9-.9 0-1.5.8-1.5 1.6v6c0 2.6 2 4.6 4.5 4.8 8.4.5 26.4 1.7 36.7 3.4 1 .2 2-.8 1.8-1.8-.2-1.3-.6-2.7-1.4-3.6zm-.8-14.3c-1.4 0-2.4-1-2.4-2.4s1-2.4 2.4-2.4 2.4 1 2.4 2.4-1 2.4-2.4 2.4z\"}}},\nnew_custom55:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M12.5 33.3h9.8c.8 0 1.5-.7 1.5-1.5V9.9c0-1.6-1.5-2.9-3-2.9h-8c-1 0-1.7.7-1.7 1.7v23.2c-.1.7.6 1.4 1.4 1.4z\"},{\"d\":\"M45.5 11.4v23.4c0 1.6-1.4 2.9-3 2.9h-33c-1.7 0-3-1.3-3-2.9V11.4c-2.5 0-4.5 2-4.5 4.4v21.9c0 2.4 2 4.4 4.5 4.4h14.2c.8 0 1.5.7 1.5 1.5s.7 1.5 1.5 1.5h4.5c.8 0 1.5-.7 1.5-1.5s.7-1.5 1.5-1.5h14.2c2.5 0 4.5-2 4.5-4.4V15.8c.1-2.4-1.9-4.4-4.4-4.4z\"},{\"d\":\"M29.8 33.3h9.5c1 0 1.7-.7 1.7-1.7V8.5c0-.8-.7-1.5-1.5-1.5h-8.2c-1.5 0-3 1.3-3 2.9v21.9c-.1.8.6 1.5 1.5 1.5z\"}]}},\nnew_custom56:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M36.2 10.3c-5 5-11.1-1.1-16.7 4.5l-16.1 16c-1.8 1.8-1.8 4.8 0 6.6L9 43l5.6 5.6c1.8 1.8 4.8 1.8 6.6 0l16.2-16.1c5.6-5.6-.6-11.7 4.5-16.7l1.3-1.3c.3-.3.3-.8 0-1.1L38.7 9c-.3-.3-.8-.3-1.1 0l-1.4 1.3zm-3.9 20.5l-5.6 5.6c-.6.6-1.6.6-2.2 0L20 31.9l-4.5-4.5c-.6-.6-.6-1.6 0-2.2l5.6-5.6c.6-.6 1.6-.6 2.2 0l4.5 4.5 4.5 4.5c.7.6.7 1.6 0 2.2zM49.5 5.8l-1.7-1.7-1.7-1.7c-.6-.6-1.6-.6-2.2 0l-2.1 2.1c-.3.3-.3.8 0 1.1l4.4 4.4c.3.3.8.3 1.1 0l2.1-2c.8-.5.8-1.5.1-2.2z\"}}},\nnew_custom57:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M28.4 29v20.2c0 .7.7 1 1.2.7 3.9-2.2 15.8-9.1 15.8-9.1 1.5-.9 2.5-2.6 2.5-4.4V18.3c0-.7-.7-1-1.2-.7l-17.5 10c-.4.3-.8.8-.8 1.4zM26.8 23.3l17.6-10c.6-.3.6-1.1 0-1.4-3.9-2.2-15.9-9.2-15.9-9.2-1.5-.9-3.5-.9-5.1 0 0 0-12 6.9-15.9 9.2-.5.3-.5 1.1.1 1.4l17.6 10c.5.3 1.1.3 1.6 0zM22.7 27.5l-17.5-10c-.5-.3-1.2.1-1.2.8v18.1c0 1.8 1 3.5 2.5 4.4 0 0 11.9 6.9 15.8 9.1.6.3 1.2-.1 1.2-.7V29c.1-.6-.3-1.1-.8-1.5z\"}}},\nnew_custom58:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M39.5 22.8c-1.4 0-2.5-1.1-2.4-2.6.1-1.3 1.2-2.2 2.6-2.2h6.9c.3 0 .6-.2.7-.4.6-1.1 1.1-2.2 1.5-3.3.2-.6-.2-1.1-.7-1.1H43c-1.3 0-2.5-1-2.6-2.2-.1-1.4 1-2.6 2.4-2.6h6.4c.5 0 .8-.3.8-.8V5.2c0-.9-.7-1.6-1.6-1.6h-8.5c-2.4 0-4.3 1.9-4.3 4.3V8c0 4.5-3 8.5-7.2 9.6V11c1.7-1 2.7-2.8 2.4-4.9-.3-2.1-2.1-3.8-4.2-4-2.9-.3-5.4 1.9-5.4 4.8 0 1.8 1 3.3 2.4 4.2v6.7c-4.2-1.1-7.2-5.1-7.2-9.6V8c0-2.4-1.9-4.3-4.3-4.3H3.6c-.9 0-1.6.7-1.6 1.6v2.4c0 .5.3.8.8.8H9c1.3 0 2.5 1 2.6 2.2.1 1.4-1 2.6-2.4 2.6H4c-.6 0-1 .6-.7 1.1.4 1 .9 2.2 1.5 3.3.2.2.4.4.7.4h6.9c1.3 0 2.5 1 2.6 2.2.1 1.4-1 2.6-2.4 2.6h-1.9c-.7 0-1.1 1-.5 1.4 3.4 2.9 7.8 4.9 13.6 4.9v18.2c0 1.3 1 2.5 2.2 2.6 1.4.1 2.6-1 2.6-2.4V29.2c5.8 0 10.2-2.1 13.6-4.9.6-.5.2-1.4-.5-1.4h-2.2z\"}},\nnew_custom59:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M39.7 10.8c.8 0 1.3-.6 1.3-1.4 0-.6-.3-1.1-.9-1.4-1-.6-2.6-3.3-3.2-5-.2-.6-.8-1-1.4-1H16.3c-.6 0-1.3.4-1.4 1-.5 1.6-2.1 4.4-3.1 5-.5.3-.8.8-.8 1.4 0 .8.6 1.4 1.3 1.4h27.4zM11 45.1c0 2.7 2.1 4.9 4.7 4.9h20.5c2.6 0 4.7-2.2 4.7-4.8v-.1c0-.9-.7-1.5-1.5-1.5h-27c-.7 0-1.4.7-1.4 1.5zM41 37.2v-20c0-.9-.7-1.6-1.6-1.6H12.6c-.9 0-1.6.7-1.6 1.6v20c0 .9.7 1.6 1.6 1.6h26.8c.9 0 1.6-.7 1.6-1.6z\"}}},\nnew_custom6:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M26 47H5.2c-2.5 0-4-2.7-2.7-4.9L23.2 6.6c1.2-2.1 4.2-2.1 5.5 0l20.8 35.6c1.3 2.2-.3 4.9-2.7 4.9H26z\"}},\nnew_custom60:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M50 22.2C48.1 10.8 38.1 2 26 2S3.9 10.8 2 22.2c-.1.8.7 1.3 1.3.8 1.2-1 2.7-1.6 4.5-1.6 2.2 0 4.2 1 5.4 2.6.3.4 1 .4 1.3 0 1.3-1.6 3.2-2.6 5.4-2.6s4.2 1 5.4 2.6c.3.4 1 .4 1.3 0 1.3-1.6 3.2-2.6 5.4-2.6s4.2 1 5.4 2.6c.3.4 1 .4 1.3 0 1.3-1.6 3.2-2.6 5.4-2.6 1.7 0 3.3.6 4.5 1.6.7.5 1.5 0 1.4-.8zM35.6 40.4c-1.4 0-2.4 1-2.4 2.4s-1 2.4-2.4 2.4-2.4-1-2.4-2.4V31.6c0-1.4-1-2.4-2.4-2.4s-2.4 1-2.4 2.4v11.2c0 4 3.2 7.2 7.2 7.2s7.2-3.2 7.2-7.2c0-1.4-1-2.4-2.4-2.4z\"}}},\nnew_custom61:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M44.4 2h-3.2c-.9 0-1.6.7-1.6 1.6v3.2c0 .9-.7 1.6-1.6 1.6h-1.6c-.9 0-1.6-.7-1.6-1.6V3.6c0-.9-.6-1.6-1.6-1.6H30c-.9 0-1.6.7-1.6 1.6v3.2c0 .9-.7 1.6-1.6 1.6h-1.6c-.9 0-1.6-.7-1.6-1.6V3.6c0-.9-.7-1.6-1.6-1.6h-3.2c-.9 0-1.6.7-1.6 1.6v3.2c0 .9-.7 1.6-1.6 1.6H14c-.9 0-1.6-.7-1.6-1.6V3.6c0-.9-.7-1.6-1.6-1.6H7.6C6.7 2 6 2.7 6 3.6v8c0 2.6 2.2 4.8 4.8 4.8h30.4c2.6 0 4.8-2.2 4.8-4.8v-8c0-.9-.7-1.6-1.6-1.6zM40.8 22.5c-.1-.8-.8-1.4-1.6-1.4H12.8c-.8 0-1.5.6-1.6 1.4L7.6 48.1c-.2 1 .6 1.8 1.6 1.8h10.3c.9 0 1.7-.7 1.7-1.6v-7.7c0-2.6 2-5 4.6-5 2.7-.1 5 2.1 5 4.8v8c0 .9.8 1.6 1.7 1.6h10.3c1 0 1.8-.9 1.6-1.8l-3.6-25.7z\"}}},\nnew_custom62:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M47.6 41.2H4.4c-1.3 0-2.4 1-2.4 2.4C2 44.9 3 46 4.4 46h43.2c1.3 0 2.4-1 2.4-2.4s-1-2.4-2.4-2.4zM5.2 36.4h27.2v-3.2c0-.9.7-1.6 1.6-1.6h8c.9 0 1.6.7 1.6 1.6v3.2h3.2c.9 0 1.6-.7 1.6-1.6V7.6c0-.9-.7-1.6-1.6-1.6H5.2c-.9 0-1.6.7-1.6 1.6v27.2c0 .9.7 1.6 1.6 1.6zm7.2-20.8c0-.9.7-1.6 1.6-1.6h23.2c.9 0 1.6.7 1.6 1.6v1.6c0 .9-.7 1.6-1.6 1.6H14c-.9 0-1.6-.7-1.6-1.6v-1.6zm0 9.6c0-.9.7-1.6 1.6-1.6h15.2c.9 0 1.6.7 1.6 1.6v1.6c0 .9-.7 1.6-1.6 1.6H14c-.9 0-1.6-.7-1.6-1.6v-1.6z\"}}},\nnew_custom63:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M19.6 34h12.8c.9 0 1.6-.7 1.6-1.6V19.6c0-.9-.7-1.6-1.6-1.6H19.6c-.9 0-1.6.7-1.6 1.6v12.8c0 .9.7 1.6 1.6 1.6z\"},{\"d\":\"M47.6 28.4c1.4 0 2.4-1 2.4-2.4s-1-2.4-2.4-2.4h-4v-4.8h4c1.4 0 2.4-1 2.4-2.4S49 14 47.6 14h-4v-.8c0-2.6-2.2-4.8-4.8-4.8H38v-4C38 3 37 2 35.6 2s-2.4 1-2.4 2.4v4h-4.8v-4C28.4 3 27.4 2 26 2s-2.4 1-2.4 2.4v4h-4.8v-4c0-1.4-1-2.4-2.4-2.4S14 3 14 4.4v4h-.8c-2.6 0-4.8 2.2-4.8 4.8v.8h-4C3 14 2 15 2 16.4s1 2.4 2.4 2.4h4v4.8h-4C3 23.6 2 24.6 2 26s1 2.4 2.4 2.4h4v4.8h-4c-1.4 0-2.4 1-2.4 2.4S3 38 4.4 38h4v.8c0 2.6 2.2 4.8 4.8 4.8h.8v4c0 1.4 1 2.4 2.4 2.4s2.4-1 2.4-2.4v-4h4.8v4c0 1.4 1 2.4 2.4 2.4s2.4-1 2.4-2.4v-4h4.8v4c0 1.4 1 2.4 2.4 2.4s2.4-1 2.4-2.4v-4h.8c2.6 0 4.8-2.2 4.8-4.8V38h4c1.4 0 2.4-1 2.4-2.4s-1-2.4-2.4-2.4h-4v-4.8h4zm-8.8 8c0 1.4-1 2.4-2.4 2.4H15.6c-1.4 0-2.4-1-2.4-2.4V15.6c0-1.4 1-2.4 2.4-2.4h20.8c1.4 0 2.4 1 2.4 2.4v20.8z\"}]}},\nnew_custom64:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M26 2C12.8 2 2 12.8 2 26s10.8 24 24 24 24-10.8 24-24S39.2 2 26 2zm0 41.6c-9.7 0-17.6-7.9-17.6-17.6S16.3 8.4 26 8.4 43.6 16.3 43.6 26 35.7 43.6 26 43.6z\"},{\"d\":\"M35.3 15.7L22 20.5c-.7.2-1.3.8-1.5 1.5l-4.8 13.3c-.2.6.4 1.3 1 1L30 31.5c.7-.2 1.3-.8 1.5-1.5l4.8-13.3c.3-.6-.4-1.3-1-1zM26 29.2c-1.8 0-3.2-1.4-3.2-3.2s1.4-3.2 3.2-3.2 3.2 1.4 3.2 3.2-1.4 3.2-3.2 3.2z\"}]}},\nnew_custom65:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M42.4 38.7H3.5c-.8 0-1.5.7-1.5 1.5v.1C2 42.9 4.1 45 6.7 45h32.6c2.6 0 4.7-2.1 4.7-4.8v-.1c-.1-.7-.8-1.4-1.6-1.4zM40.8 7H3.6c-.7 0-1.4.7-1.4 1.6-.2 2.1-.2 5.9.1 8.2 1 7.4 4.9 13.6 10.2 16.9.2.2.5.2.8.2h16.2c.3 0 .5-.1.8-.2 3-1.9 5.7-4.8 7.4-8.2.9.3 1.9.5 3 .5 5.1 0 9.3-4.3 9.3-9.5S45.9 7 40.8 7zm0 14.2c-.4 0-.8-.1-1.2-.2.8-2.5 1.2-5.2 1.2-8.1v-1.3c2.6 0 4.7 2.1 4.7 4.8s-2.2 4.8-4.7 4.8z\"}}},\nnew_custom66:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M48.6 30.3L37 18.6c-1.8-1.8-4.8-1.8-6.6 0L18.6 30.3c-1.8 1.8-1.8 4.8 0 6.6l11.7 11.7c1.8 1.8 4.8 1.8 6.6 0l11.7-11.7c1.9-1.7 1.9-4.8 0-6.6zm-22 5.3c-1.1 1.1-2.9 1.1-3.9 0-1.1-1.1-1.1-2.9 0-3.9 1.1-1.1 2.9-1.1 3.9 0s1 2.8 0 3.9zm9 9.1c-1.1 1.1-2.9 1.1-3.9 0-1.1-1.1-1.1-2.9 0-3.9 1.1-1.1 2.9-1.1 3.9 0 1 1 1 2.8 0 3.9zm0-18.1c-1.1 1.1-2.9 1.1-3.9 0-1.1-1.1-1.1-2.9 0-3.9 1.1-1.1 2.9-1.1 3.9 0 1 1 1 2.8 0 3.9zm9 9c-1.1 1.1-2.9 1.1-3.9 0-1.1-1.1-1.1-2.9 0-3.9 1.1-1.1 2.9-1.1 3.9 0 1.2 1.1 1.2 2.8 0 3.9zM28.4 12.8v-6c0-2.6-2.2-4.8-4.8-4.8H6.8C4.2 2 2 4.2 2 6.8v16.8c0 2.6 2.2 4.8 4.8 4.8h6c.5 0 1-.2 1.3-.6.2-.3.6-.6.9-1L26.8 15c.3-.3.6-.6 1-.9.4-.3.6-.8.6-1.3zM8.8 24.4c-1.5 0-2.8-1.3-2.8-2.8s1.3-2.8 2.8-2.8 2.8 1.3 2.8 2.8-1.3 2.8-2.8 2.8zm6.4-6.4c-1.5 0-2.8-1.3-2.8-2.8s1.3-2.8 2.8-2.8 2.8 1.3 2.8 2.8-1.3 2.8-2.8 2.8zm6.4-6.4c-1.5 0-2.8-1.3-2.8-2.8S20.1 6 21.6 6c1.5 0 2.8 1.3 2.8 2.8s-1.3 2.8-2.8 2.8z\"}}},\nnew_custom67:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M29.2 28.4l-1-1.7c-.4-.6-1-1-1.8-1-.2 0-.5.1-.7.2l-2.8 1c-1.1-1-2.3-1.6-3.7-2.1l-.5-2.9c-.2-1-1-1.5-2-1.5h-2c-1 0-1.8.6-2 1.6l-.5 2.8c-1.3.5-2.5 1.2-3.7 2.2l-2.8-1c-.2-.1-.5-.2-.7-.2-.7 0-1.4.4-1.8 1l-1 1.7c-.5.9-.3 1.9.5 2.6L5.1 33c-.2.7-.2 1.4-.2 2.1 0 .6.1 1.4.2 2.2l-2.3 1.9c-.8.6-1 1.8-.5 2.6l1 1.7c.4.6 1 1 1.8 1 .2 0 .5-.1.7-.2l2.8-1c1.1 1 2.3 1.7 3.7 2.1l.5 3c.2 1 1 1.7 2 1.7h2c1 0 1.8-.7 2-1.7l.5-3c1.4-.5 2.7-1.3 3.9-2.2l2.6 1c.2.1.5.2.7.2.7 0 1.4-.4 1.8-1l1-1.6c.5-.9.3-2-.5-2.6l-2.3-1.9c.2-.7.2-1.4.2-2.1 0-.7-.1-1.4-.2-2.2l2.3-1.9c.6-.8.8-1.9.4-2.7zM15.7 40.6c-3 0-5.5-2.4-5.5-5.5s2.4-5.5 5.5-5.5c3 0 5.5 2.4 5.5 5.5s-2.6 5.5-5.5 5.5zM49.4 17.1l-1.8-1.5c.1-.6.2-1.1.2-1.7 0-.6-.1-1.2-.2-1.7l1.8-1.5c.6-.5.8-1.4.4-2.1L49 7.2c-.3-.5-.9-.8-1.4-.8-.2 0-.4.1-.6.1l-2.3.9c-.9-.8-1.9-1.4-3-1.7l-.4-2.4c-.2-.8-.8-1.3-1.6-1.3h-1.6c-.8 0-1.5.5-1.6 1.3l-.4 2.3c-1.1.4-2.1 1-3 1.8l-2.3-1c-.2-.1-.4-.1-.6-.1-.6 0-1.1.3-1.4.8L28 8.4c-.4.7-.2 1.6.4 2.1l1.8 1.5c-.1.6-.2 1.1-.2 1.7 0 .6.1 1.2.2 1.7l-1.8 1.5c-.6.5-.8 1.4-.4 2.1l.8 1.4c.3.5.9.8 1.4.8.2 0 .4 0 .6-.1l2.3-.9c.9.8 1.9 1.4 3 1.7l.4 2.3c.2.8.8 1.4 1.6 1.4h1.6c.8 0 1.5-.6 1.6-1.4l.4-2.4c1.1-.4 2.2-1 3.1-1.8l2.2.9c.2.1.4.1.6.1.6 0 1.1-.3 1.4-.8l.8-1.3c.4-.4.2-1.2-.4-1.8zm-10.5 1.3c-2.4 0-4.4-2-4.4-4.4s2-4.4 4.4-4.4 4.4 2 4.4 4.4-1.9 4.4-4.4 4.4z\"}}},\nnew_custom68:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M26 2C12.8 2 2 12.8 2 26s10.8 24 24 24 24-10.8 24-24S39.2 2 26 2zm19 21.6h-6.3c-.2-5.7-1.5-10.6-3.4-14.4 5.3 3 8.9 8.2 9.7 14.4zM23.6 7.8v15.8h-5.5c.4-7.5 2.8-13.4 5.5-15.8zm0 20.6v15.8c-2.7-2.3-5.1-8.2-5.5-15.8h5.5zm4.8 15.8V28.4h5.5c-.4 7.5-2.8 13.4-5.5 15.8zm0-20.6V7.8c2.7 2.3 5.1 8.2 5.5 15.8h-5.5zM16.7 9.2c-1.9 3.8-3.1 8.7-3.4 14.4H7c.8-6.2 4.4-11.4 9.7-14.4zM7 28.4h6.3c.2 5.7 1.5 10.6 3.4 14.4-5.3-3-8.9-8.2-9.7-14.4zm28.3 14.4c1.9-3.8 3.1-8.7 3.4-14.4H45c-.8 6.2-4.4 11.4-9.7 14.4z\"}},\nnew_custom69:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M28.1 22.1c-4.6-3.4-9.2-1.8-12.2 1.1-1.1 1-2.9 1.7-4.8 2.2-2.2.7-4.6 1.4-6.2 3.1-4.6 4.5-3.7 9.8 2.5 16l.1.1.1.1c3.7 3.6 7 5.4 10.1 5.4 2.2 0 4.2-.9 6.2-2.7 1.7-1.6 2.5-3.9 3.2-6.1.6-1.8 1.3-3.7 2.3-4.7 1.8-1.8 2.9-3.8 3.1-5.9.2-1.5-.2-3.7-1.9-5.9 0-.2-1-1.5-2.5-2.7zm-9.9 19.3c-.4.4-1 .6-1.6.6-.6 0-1.1-.2-1.5-.6L10.6 37c-.9-.9-.9-2.2 0-3.1.9-.9 2.2-.9 3.1 0l4.4 4.4c.9.9.9 2.2.1 3.1zm3.8-6.5c-2.2 0-4-1.8-4-4s1.8-4 4-4 4 1.8 4 4-1.8 4-4 4zM49.5 6.2l-3.7-3.7c-.6-.6-1.8-.6-2.5 0l-4.1 4.1c-.6.6-.6 1.8 0 2.5l.2.2-8.2 8.3c-.3.3-.3.9 0 1.2.6.6 1.7 1.5 2.3 2.2.3.3.8.3 1.1 0l8.2-8.2.2.2c.6.6 1.8.6 2.5 0l4.1-4.1c.6-.9.6-2-.1-2.7z\"}}},\nnew_custom7:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M7.1 50C4.3 50 2 47.7 2 44.9V7.1C2 4.3 4.3 2 7.1 2h37.7C47.7 2 50 4.3 50 7.1v37.7c0 2.8-2.3 5.1-5.1 5.1H7.1z\"}},\nnew_custom70:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M24.4 37l-9.2-9.1c-1.9-1.8-5-1.8-6.9 0l-5.8 5.7c-.6.6-.6 1.7 0 2.2L3.6 37l1.1 1.1 9.3 9.1.6.6 1.8 1.7c.6.6 1.7.6 2.3 0l5.8-5.7c1.8-1.8 1.8-4.9-.1-6.8zm-15-3.4l1.2-1.1c.6-.6 1.6-.6 2.2 0l7 6.8c.6.6.6 1.7 0 2.2l-1.2 1.1c-.6.6-1.6.6-2.2 0l-7-6.8c-.7-.6-.7-1.6 0-2.2zM19.4 25.3l7.5 7.3c.2.2.3.2.6.2l3.4-.1c.4 0 .7-.3.7-.7l.1-3c0-.4.3-.7.7-.7l3-.1c.4 0 .7-.3.7-.7l.1-3c0-.4.3-.7.7-.7l3-.1c.4 0 .7-.3.7-.7l.1-3c0-.4.3-.7.7-.7l3-.1c.4 0 .7-.3.7-.7l.1-3c0-.4.3-.6.6-.7l3.3-.5c.6-.1.9-.7.6-1.2L42.8 2.7c-.6-.8-1.7-.9-2.4-.2L19.3 23.3c-.5.5-.5 1.4.1 2z\"}}},\nnew_custom71:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M43 10.9C38.3 6.3 32 3.8 25.3 4 12.5 4.4 2 15.2 2 28v7.4c0 2.6 2.2 4.7 4.8 4.7H10v3.8c0 2 1.5 3.8 3.6 4.1 2.4.2 4.4-1.6 4.4-3.9v-14c0-2-1.5-3.8-3.6-4.1-2.4-.2-4.4 1.6-4.4 3.9v5.5H8.4c-.9 0-1.6-.7-1.6-1.6V28c0-10.4 8.4-19 18.6-19.3 5.3-.2 10.2 1.7 13.9 5.3 3.8 3.6 5.8 8.4 5.8 13.5v6.3c0 .9-.7 1.6-1.6 1.6H42v-5.3c0-2-1.5-3.8-3.6-4.1-2.4-.2-4.4 1.6-4.4 3.9v14c0 2 1.5 3.8 3.6 4.1 2.4.2 4.4-1.6 4.4-3.9v-3.9h3.2c2.6 0 4.8-2.1 4.8-4.7V28c0-6.3-2.4-12.5-7-17.1z\"}},\nnew_custom72:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M47.6 2H4.4C3 2 2 3 2 4.4s1 2.4 2.4 2.4h19.2v5C15 12.9 8.4 20.2 8.4 29.1v5.5c0 5.8 4.6 10.6 10.6 10.6h14.2c5.8 0 10.5-4.7 10.5-10.6V29c0-8.9-6.6-16.2-15.2-17.4V6.8h19.2c1.4 0 2.4-1 2.4-2.4S49 2 47.6 2zM37.2 29c0 .1 0 0 0 0 0 2.3-1.8 4.2-4.2 4.2H19c-2.3 0-4.1-1.8-4.2-4.2v.1-.1.1c.1-6.2 5-11.1 11-11.1h.3c6.1 0 11 5 11.1 11z\"},\"circle\":[{\"cx\":\"6.8\",\"cy\":\"46.8\",\"r\":\"3.2\"},{\"cx\":\"45.2\",\"cy\":\"46.8\",\"r\":\"3.2\"}]}},\nnew_custom73:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M4.8 14h42.4c1 0 1.8-1 1.5-2-1-3.3-2.4-6.3-4.3-9-.6-.8-1.7-.9-2.3-.2-1.9 1.8-4.6 2.8-7.4 2.8-3 0-5.7-1.2-7.7-3.2-.6-.6-1.6-.6-2.2 0-2 2-4.7 3.2-7.7 3.2-2.8 0-5.4-1-7.4-2.8-.6-.6-1.6-.5-2.2.3-1.9 2.6-3.4 5.7-4.3 9-.2.9.6 1.9 1.6 1.9zM50 20.4c0-.9-.7-1.6-1.6-1.6H3.6c-.9 0-1.6.7-1.6 1.6v.3c0 15 10.4 27.4 24 29.3 13.6-1.9 24-14.3 24-29.2v-.4z\"}}},\nnew_custom74:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M30.1 44.4h-8.2c-.9 0-1.6.7-1.6 1.6v2.4c0 .9.7 1.6 1.6 1.6h8.2c.9 0 1.6-.7 1.6-1.6V46c0-.9-.7-1.6-1.6-1.6zM26 2C16 2 8 9.5 8 18.8c0 6 3.4 11.3 8.5 14.2 2 1.1 3.3 3 3.7 5.2.2.7.8 1.3 1.6 1.3h8.5c.8 0 1.5-.6 1.6-1.3.4-2.2 1.7-4.1 3.7-5.2 5-3 8.3-8.2 8.3-14.2C44 9.5 36 2 26 2zm-5.6 7.5c-1.6 3-2.5 6.6-2.6 9.5 0 3 .6 5.8 1.6 8.6.3.7-.4 1.4-1.1 1-7.5-3.8-7-17.6 1.1-20.3.7-.1 1.4.6 1 1.2zm6.3 19.1c-.2.6-1.2.6-1.5 0-1.3-3.1-1.6-6.8-1.7-10.2.1-3.4.4-7 1.7-10.2.2-.6 1.2-.6 1.5 0 1.3 3.1 1.6 6.8 1.7 10.2 0 3.4-.4 7-1.7 10.2zm6.7.1c-.7.3-1.4-.3-1.1-1 1.1-2.9 1.6-6.1 1.7-9.1-.1-2.6-1-6.1-2.6-9-.3-.6.3-1.4 1-1.1 8.1 2.6 8.6 16.5 1 20.2z\"}}},\nnew_custom75:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M26 2c-1.4 0-2.4 1-2.4 2.4v43.2c0 1.4 1 2.4 2.4 2.4 13.2 0 24-10.8 24-24S39.2 2 26 2zm19 21.6h-6.3c-.2-5.7-1.5-10.6-3.4-14.4 5.3 3 8.9 8.2 9.7 14.4zM28.4 44.2V28.4h5.5c-.4 7.5-2.8 13.4-5.5 15.8zm0-20.6V7.8c2.7 2.3 5.1 8.2 5.5 15.8h-5.5zm6.9 19.2c1.9-3.8 3.1-8.7 3.4-14.4H45c-.8 6.2-4.4 11.4-9.7 14.4zM12.8 17.9c.6.5 1.6.4 2.2-.2l4.4-5c.6-.6.6-1.6-.1-2.2l-4.4-4.4c-.6-.6-1.4-.6-2-.2l-.9.6C6 10.8 2 17.9 2 26s4 15.2 10 19.5l.9.6c.6.4 1.4.3 2-.2l4.4-4.4c.6-.6.6-1.6.1-2.2l-4.4-5c-.6-.6-1.5-.7-2.2-.2l-1.7 1.3c-1.8-2.7-2.7-5.9-2.7-9.4s1-6.6 2.7-9.4l1.7 1.3z\"}}},\nnew_custom76:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M25.9 30.4c-.2-.6-.9-1.1-1.6-1h-.7c-9 0-16.3-7.2-16.3-16.1v-.4c0-.8-1.1-1.1-1.5-.5-.6.8-1 1.8-1.3 2.8-1.4 4.6.4 9.6 4.3 12.4 1.8 1.3 3.7 1.9 5.6 2.1l.6 1.5c.1.2.2.4.4.5l2.4 1c.4.2.6.6.4 1l-.8 2.3c-.2.4.1.8.4 1l1.3.6c.4.2.6.6.4 1l-.7 2.5c-.1.4.1.8.4 1l1.9.8c.4.2.6.6.4 1l-.7 2.5c-.1.4.1.8.5 1l5.5 2.5c.4.2.9 0 1.1-.4l2.4-5.4c.2-.4.2-.8.1-1.2l-4.5-12.5z\"},{\"d\":\"M47.5 29.6l-13-13.4c.6-2 .6-4.2-.2-6.5-1.5-4.3-5.5-7.4-10.2-7.7-7-.3-12.7 5.6-12 12.6.6 4.8 4.2 8.8 9 9.7 2.1.4 4.2.2 6-.4l1.1 1.2c.2.2.3.2.6.2h2.8c.5 0 .8.3.8.8l.2 2.5c0 .4.4.7.8.7H35c.5 0 .8.3.8.8l.4 2.6c.1.4.4.6.8.6h2c.5 0 .8.3.8.8l.4 2.6c.1.4.4.6.8.6h6.1c.5 0 .8-.3.8-.8v-5.9c.1-.4-.1-.8-.4-1zm-25.6-14c-2.3 0-4.1-1.8-4.1-4s1.8-4 4.1-4 4.1 1.8 4.1 4-1.8 4-4.1 4z\"}]}},\nnew_custom77:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M11.5 19.6h3.1c.5 0 .8-.3.8-.8v-1.2c0-6.1 4.5-10.8 10.2-10.8s10.2 4.7 10.2 10.8v1.2c0 .5.3.8.8.8h3.1c.5 0 .8-.3.8-.8v-1.2C40.5 8.9 34 2 25.6 2S10.7 8.9 10.7 17.6v1.2c0 .5.3.8.8.8zM41.3 24.4H10.7c-2.6 0-4.7 2.2-4.7 4.8v16c0 2.6 2.1 4.8 4.7 4.8h30.6c2.6 0 4.7-2.2 4.7-4.8v-16c0-2.6-2.1-4.8-4.7-4.8zM29.8 37.3c-.7 1.1-1.1 2.4-.8 3.7l.5 2.4c.2.9-.5 1.8-1.4 1.8h-5c-.9 0-1.6-1-1.4-1.8l.5-2.5c.3-1.3-.1-2.6-.8-3.6-.7-1-1-2.3-.8-3.6.4-1.9 2-3.4 3.9-3.8 3.2-.6 6 1.8 6 4.7 0 1-.3 1.9-.7 2.7z\"}}},\nnew_custom78:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M48.6 9.5L34.2 2.3c-.6-.3-1.4-.3-2.2 0L18.8 8.9 5.4 2.3c-.7-.4-1.6-.4-2.3 0C2.4 2.8 2 3.6 2 4.4v36c0 .9.5 1.8 1.4 2.2l14.4 7.2c.6.3 1.4.3 2.2 0l13.3-6.6 13.4 6.6c.3.2.7.2 1 .2.4 0 .9-.2 1.3-.3.7-.5 1.1-1.3 1.1-2.1v-36c-.1-.9-.6-1.7-1.5-2.1zm-3.4 4.6v19c0 1.1-1.1 1.9-2.2 1.5-3.7-1.4-.8-7.6-3.4-11-2.5-3.1-5.8.1-8.8-4.8-3-4.7 1-8.1 4.6-9.9.5-.2 1-.2 1.4 0l7.4 3.8c.7.2 1 .8 1 1.4zM24.8 41.9c-.6.3-1.3.2-1.8-.2-1-.9-1.8-2.3-1.8-3.7 0-2.4-4-1.6-4-6.4 0-3.8-4.7-5-8.6-4.6-1 .1-1.8-.6-1.8-1.6V10.9c0-1.2 1.3-2 2.3-1.4l8.6 4.3c.1 0 .2.1.2.1l.3.2c3.6 2.1 2.9 3.8 1.4 6.4-1.7 2.9-2.4 0-4.8-.8s-4.8.8-4 2.4 3.2 0 4.8 1.6c1.6 1.6 1.6 4 6.4 2.4 4.8-1.6 5.6-.8 7.2.8 1.6 1.6 2.4 4.8 0 7.2-1.4 1.4-2 4.3-2.6 6.4-.2.4-.4.8-.8 1l-1 .4z\"}},\nnew_custom79:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M17.8 19.3c-2.9 0-5.2 2.3-5.2 5.2s2.3 5.2 5.2 5.2 5.2-2.3 5.2-5.2-2.3-5.2-5.2-5.2z\"},{\"d\":\"M47.8 35.6H33.5v-5.9H35c.8 0 1.5-.7 1.5-1.5v-4.4c0-.8-.7-1.5-1.5-1.5h-1.7C32.1 14.9 25.8 9.2 18 9 9.1 8.9 1.9 16 2 24.7 2.2 33.3 9.4 40 18.1 40h27.4v1.5c0 .8.7 1.5 1.5 1.5h1.5c.8 0 1.5-.7 1.5-1.5v-3.7c0-1.2-1-2.2-2.2-2.2zm-30-1.5c-5.4 0-9.7-4.3-9.7-9.6s4.3-9.6 9.7-9.6 9.7 4.3 9.7 9.6-4.3 9.6-9.7 9.6z\"}]}},\nnew_custom8:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M23.7 3L4.8 23.8c-1.1 1.2-1.1 3.1 0 4.3L23.7 49c1.3 1.4 3.4 1.4 4.6 0l18.9-20.8c1.1-1.2 1.1-3.1 0-4.3L28.3 3c-1.2-1.3-3.4-1.3-4.6 0z\"}},\nnew_custom80:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M9.7 33.7c-4.3 0-7.7 3.4-7.7 7.7S5.5 49 9.7 49s7.7-3.4 7.7-7.7-3.4-7.6-7.7-7.6zm0 10.7c-1.7 0-3.1-1.4-3.1-3.1 0-1.7 1.4-3.1 3.1-3.1s3.1 1.4 3.1 3.1c0 1.7-1.4 3.1-3.1 3.1zM42.3 33.7c-4.3 0-7.7 3.4-7.7 7.7S38 49 42.3 49s7.7-3.4 7.7-7.7-3.5-7.6-7.7-7.6zm0 10.7c-1.7 0-3.1-1.4-3.1-3.1 0-1.7 1.4-3.1 3.1-3.1s3.1 1.4 3.1 3.1c0 1.7-1.4 3.1-3.1 3.1z\"},{\"d\":\"M41.8 29.1c1.7-.1 3.3.2 4.9.8.8.3 1.6-.1 2-.8 3.9-7.4-2.4-10.9-6.4-12.9-1.1-.5-2.3.2-2.3 1.4V22c0 .9-.6 1.8-1.5 1.7-5.7-.9-10.8-6.9-17-6.9s-7 6.1-7 6.1c-4.3 0-8.6-.3-10.5-.8-1.1-.1-2 .6-2 1.6 0 0 0 5.4 7.7 5.4C16 29.1 21.3 33.7 22 40c.2 1.7 0 3.4-.5 4.8-.2.5.2 1.1.9 1.1h7.1c.6 0 1-.5.9-1.1-.5-1.5-.6-3-.5-4.6.6-6 5.7-10.9 11.9-11.1zM2 23.7zM22.4 11.8c.1.6.5 1.1 1.1 1.3l8.2 2.8c.8.2 1.5-.1 1.9-.8l.7-1.3c.3-.5-.1-1.1-.6-1.2-2.4-.2-7.4-1.1-6-3.8 1.3-2.3 4-1.7 5.8-.9.7.3 1.4-.5 1.1-1.1-1.2-2.5-3.9-4-6.7-3.7-3.6.4-6.2 3.9-5.7 7.5l.2 1.2z\"}]}},\nnew_custom81:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M47.5 2c-.8 0-3.1.1-3.9.1-12.3.6-26.5 3.7-27.2 3.9-1 .3-1.6 1.3-1.6 2.2v26.2c-.8-.3-2.1-.5-3.2-.5-5.3 0-9.6 3.6-9.6 8s4.3 8 9.6 8 9.6-3.6 9.6-8V25.6c0-.7.5-1.4 1.2-1.5 3.9-1 9.4-2 19.5-2.6 1-.1 1.7.6 1.7 1.6v8.3c-.8-.3-2.1-.5-3.2-.5-5.3 0-9.6 3.6-9.6 8s4.3 8 9.6 8 9.6-3.6 9.6-8V4.4C50 3 48.9 1.9 47.5 2zm-5.4 12.7c-9.8.6-14.7 1.5-19 2.5-1 .2-1.9-.6-1.9-1.6v-2.5c0-.7.5-1.4 1.3-1.6 4.2-1 9.2-2 19.4-2.6 1-.1 1.7.6 1.7 1.6V13c0 1-.6 1.7-1.5 1.7z\"}},\nnew_custom82:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M48.5 21.5H32.7c-.8 0-1.5.7-1.5 1.5v.7c0 1.2-1 2.2-2.3 2.2-1.2 0-2.3-1-2.3-2.2V23c0-.8-.7-1.5-1.5-1.5h-3.8.1c-4.4.2-8.3 2.8-10.4 6.4-.8-.3-1.6-.4-2.4-.4-3.8 0-6.8 3-6.8 6.7S5 41 8.8 41c.8 0 1.7-.1 2.4-.4 2.1 3.7 6 6.2 10.4 6.4 7.3.4 13.4-5.5 13.4-12.8 0-.4 0-.9-.1-1.3-.1-.7.5-1.5 1.2-1.6l12.7-2.8c.7-.1 1.2-.7 1.2-1.5v-4c0-.8-.7-1.5-1.5-1.5zm-39.8 15c-1.3 0-2.3-1-2.3-2.2s1-2.2 2.3-2.2c.3 0 .7.1.9.2-.2.9-.2 1.9-.2 2.8 0 .5.1.8.2 1.2-.3.1-.6.2-.9.2zM29 16.2c1.3 0 2.3-1 2.3-2.2V7.2C31.2 6 30.2 5 29 5c-1.3 0-2.3 1-2.3 2.2V14c0 1.3 1 2.2 2.3 2.2zM18.2 17c.5.5 1.1.7 1.7.7.5 0 1.1-.1 1.5-.5 1-.8 1.1-2.2.2-3.1l-4.5-5.2c-.8-1-2.3-1-3.2-.2-1 .8-1.1 2.2-.2 3.1l4.5 5.2zM38 17.7c.6 0 1.3-.3 1.7-.7l4.5-5.2c.8-1 .7-2.4-.2-3.1-1-.8-2.4-.7-3.2.2l-4.5 5.2c-.8 1-.7 2.4.2 3.1.4.4 1 .5 1.5.5z\"}}},\nnew_custom83:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M45.7 17.4c.3.3.8.3 1.1 0l1.1-1.1c2.7-2.7 2.8-6.9.2-9.5 0 0-3.4-3.5-3.5-3.5-2.7-2.2-6.5-1.2-8.6 1l-1.1 1.1c-.3.3-.3.8 0 1.1l10.8 10.9zM31.3 9.8c-.3-.3-.8-.3-1.1 0l-22 21.9C7 32.9 6.1 34.3 5.6 36L2.1 46.8c-.2.6-.2 1.4.2 2 .5.8 1.3 1.2 2.1 1.2.2 0 .5 0 .7-.1 0 0 7.4-2.3 11-3.4 1.6-.5 3-1.4 4.2-2.6L42.2 22c.3-.3.3-.8 0-1.1L31.3 9.8zM14.6 41.9c-1.7.6-4.3 1.4-6.6 2.1l2.1-6.6c.2-.9.7-1.6 1.4-2.2l5.4 5.4c-.7.6-1.5 1.1-2.3 1.3z\"}}},\nnew_custom84:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M45.6 37.2H6.4c-1.3 0-2.4 1-2.4 2.4S5 42 6.4 42h3.1l1.3 6.8c.2.7.8 1.2 1.5 1.2h25.8c.7 0 1.3-.5 1.5-1.2l1.3-6.8h4.7c1.3 0 2.4-1 2.4-2.4s-1-2.4-2.4-2.4zM12.6 32.4h11v-4.5c-.9-.6-1.6-1.6-1.6-2.7 0-1.8 1.4-3.2 3.1-3.2 1.7 0 3.1 1.4 3.1 3.2 0 1.2-.6 2.2-1.6 2.7v4.5h11c.9 0 1.6-.7 1.6-1.6v-2.4c0-4.9-4.6-6.6-8.2-8.1-2.4-1-2.8-2-2.8-3s.7-2 1.5-2.7c1.4-1.3 2.3-3.1 2.3-5.3 0-3.9-2.5-7.4-6.9-7.4s-6.9 3.4-6.9 7.4c0 2.2.8 3.9 2.3 5.3.8.7 1.5 1.7 1.5 2.7 0 1-.4 1.9-2.8 3-3.6 1.5-8.2 3.4-8.2 8.1v2.4c.1.9.8 1.6 1.6 1.6z\"}}},\nnew_custom85:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M48.4 5.2h-40V3.6c0-.9-.7-1.6-1.6-1.6H3.6C2.7 2 2 2.7 2 3.6v44.8c0 .9.7 1.6 1.6 1.6h3.2c.9 0 1.6-.7 1.6-1.6V11.6h40c.9 0 1.6-.7 1.6-1.6V6.8c0-.9-.7-1.6-1.6-1.6z\"},{\"d\":\"M45.2 16.4H18c-2.6 0-4.8 2.2-4.8 4.8v17.6c0 2.6 2.2 4.8 4.8 4.8h27.2c2.6 0 4.8-2.2 4.8-4.8V21.2c0-2.6-2.2-4.8-4.8-4.8zM40.8 30h-2v8c0 .5-.3.8-.8.8h-3.2c-.5 0-.8-.3-.8-.8v-4.8c0-.5-.3-.8-.8-.8H30c-.5 0-.8.3-.8.8V38c0 .5-.3.8-.8.8h-3.2c-.5 0-.8-.3-.8-.8v-8h-2c-.4 0-.6-.5-.2-.7l9-8.7c.3-.2.7-.2 1 0l9 8.7c.2.2 0 .7-.4.7z\"}]}},\nnew_custom86:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M16.4 10h3.2c.5 0 .8-.3.8-.8V6.8h11.2v2.4c0 .5.3.8.8.8h3.2c.5 0 .8-.3.8-.8V6.8c0-2.6-2.2-4.8-4.8-4.8H20.4c-2.6 0-4.8 2.2-4.8 4.8v2.4c0 .5.3.8.8.8zM45.2 14.8H6.8C4.2 14.8 2 17 2 19.6v25.6C2 47.8 4.2 50 6.8 50h38.4c2.6 0 4.8-2.2 4.8-4.8V19.6c0-2.6-2.2-4.8-4.8-4.8zM26 43.6c-6.2 0-11.2-5-11.2-11.2s5-11.2 11.2-11.2 11.2 5 11.2 11.2-5 11.2-11.2 11.2z\"},{\"d\":\"M30.8 30h-2.4v-2.4c0-.9-.7-1.6-1.6-1.6h-1.6c-.9 0-1.6.7-1.6 1.6V30h-2.4c-.9 0-1.6.7-1.6 1.6v1.6c0 .9.7 1.6 1.6 1.6h2.4v2.4c0 .9.7 1.6 1.6 1.6h1.6c.9 0 1.6-.7 1.6-1.6v-2.4h2.4c.9 0 1.6-.7 1.6-1.6v-1.6c0-.9-.7-1.6-1.6-1.6z\"}]}},\nnew_custom87:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M45.6 2H6.4C5 2 4 3 4 4.4v38.4c0 1.4 1 2.4 2.4 2.4h.8v2.4c0 1.4 1 2.4 2.4 2.4h1.6c1.3 0 2.4-1 2.4-2.4v-2.4h25.1v2.4c0 1.4 1 2.4 2.4 2.4h1.6c1.3 0 2.4-1 2.4-2.4v-2.4h.8c1.3 0 2.4-1 2.4-2.4V4.4C48 3 47 2 45.6 2zM11.1 40.4c-1.3 0-2.4-1-2.4-2.4V9.2c0-1.4 1-2.4 2.4-2.4H41c1.3 0 2.4 1 2.4 2.4V38c0 1.4-1 2.4-2.4 2.4H11.1z\"},{\"d\":\"M37 11.6H15c-.9 0-1.6.7-1.6 1.6V34c0 .9.7 1.6 1.6 1.6h22c.9 0 1.6-.7 1.6-1.6V13.2c0-.9-.7-1.6-1.6-1.6zM33.3 26h-6.5c-.9 1.6-2.7 3.2-4.9 3.2-3 0-5.3-2.6-5.3-5.6S19 18 21.9 18c2.2 0 4.1 1.6 4.9 3.2h6.4c1.2 0 2.1 1.2 2.1 2.4.1 1.2-.8 2.4-2 2.4z\"}]}},\nnew_custom88:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M48.5 42h-45c-.8 0-1.5.6-1.5 1.4v.1c0 3.6 4.5 6.5 8 6.5h32c3.5 0 8-2.9 8-6.5v-.1c0-.8-.7-1.4-1.5-1.4zM4.4 37.2h14.4c.9 0 1.6-.9 1.6-1.8V7.9c0-.4-.6-.6-.7-.2l-16 28.2c-.3.6.1 1.3.7 1.3zM26.8 37.2h20c1 0 1.7-.9 1.6-1.8-.7-5.8-1.7-23.7-22.1-33.3-.5-.2-1.1.1-1.1.7v32.6c0 .9.7 1.8 1.6 1.8z\"}}},\nnew_custom89:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M32.3 20.7c-.3-.4-1-.3-1.2.2-1 1.4-1.9 3.4-1.9 5.9v8.8c0 1.3-1 2.4-2.4 2.4-1.3 0-2.4-1-2.4-2.4v-2.5V8.3c0-6.1-5.4-7.1-9.3-5.6-1 .3-2 1-2.7 1.8-.5.6-1 1-1.8 1.3-1.4.3-3.9-1-5.2-1.8-.7-.4-1.7-.2-2.1.4l-1 1.4c-.6.7-.3 1.8.4 2.3 1.5 1 3.9 2.5 5.8 2.8 2.8.5 5.4-.4 7.4-2.3l-.1.1c.6-.5 1.5-1.3 2.2-.4 1.6 2.4-4.8 12.9-4.8 28.1v1.3c0 6.5 6.6 12.1 13 12.4 6.9.3 12.6-5.2 12.6-12 0-3.4 1.3-5.7 2.6-7 .3-.3.3-.8 0-1.1l-9.1-9.3zM47.6 28.3c-.6 0-1.2-.2-1.7-.7L33.1 14.9c-1-1-1-2.5 0-3.4 1-1 2.5-1 3.4 0l12.8 12.8c1 1 1 2.5 0 3.4-.5.4-1.1.6-1.7.6z\"}}},\nnew_custom9:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M49.5 17.3C47.2 7.8 37.2 2 26.2 2 12.8 2 2 12.7 2 26s10.8 24 24.2 24c18.6 0 17.1-9.4 11.2-13.1-3.5-2.2-5.4-7.3-1.9-10.9 6.5-6.7 17 4 14-8.7zM13 34c-2.8 0-5-2.2-5-5s2.2-5 5-5 5 2.2 5 5-2.2 5-5 5zm1-19c0-2.8 2.2-5 5-5s5 2.2 5 5-2.2 5-5 5-5-2.2-5-5zm11 29c-2.8 0-5-2.2-5-5s2.2-5 5-5 5 2.2 5 5-2.2 5-5 5zm9-26c-2.8 0-5-2.2-5-5s2.2-5 5-5 5 2.2 5 5-2.2 5-5 5z\"}},\nnew_custom90:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M47.9 6.9L28.4 9.7v27.5c0 .5-.3.8-.8.8h-3.2c-.5 0-.8-.3-.8-.8V10.5L4.8 13.3h-.3c-1.2 0-2.2-.9-2.4-2.1-.2-1.3.7-2.6 1.9-2.7l14.9-2.2c1.4-2.5 4-4.2 7-4.2 2.2 0 4.2.9 5.6 2.3l15.7-2.2c1.3-.2 2.6.7 2.7 2 .2 1.2-.6 2.4-2 2.7z\"},{\"d\":\"M19.1 36.3c.6-.7.7-1.6.3-2.5L13 18.7c-.3-.9-1.2-1.4-2.2-1.4s-1.8.5-2.2 1.4L2.2 33.9c-.3.7-.2 1.5.2 2.2.2.2 3.3 5 8.3 5 2.9 0 5.8-1.6 8.4-4.8zm-8.3-10.5l3.4 8.2H7.4l3.4-8.2zM43.4 13.9c-.4-.9-1.3-1.4-2.2-1.4-1 0-1.8.6-2.2 1.4l-6.4 15.2c-.3.7-.2 1.5.2 2.2.2.2 3.3 5 8.3 5 3 0 5.8-1.6 8.4-4.8.6-.7.7-1.6.3-2.5l-6.4-15.1zM41.2 21l3.4 8.2h-6.9l3.5-8.2zM26 42.8c-4.5 0-9 1.6-12.2 4.3-.3.3-.6.7-.6 1.2v.1c0 .9.7 1.6 1.6 1.6h22.4c.9 0 1.6-.7 1.6-1.6v-.1c0-.5-.2-.9-.6-1.2-3.2-2.7-7.7-4.3-12.2-4.3z\"}]}},\nnew_custom91:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M48.3 12.1c-2.4-.7-4.5-2.4-5.9-4.6-1-1.7-1.1-5.5-3.7-5.5H13.3c-2.6 0-2.6 3.8-3.7 5.5-1.7 2.6-3.8 3.3-6.4 4.8-2.6 1.5-.2 7.9.4 10.2 2.5 8.9 7.2 17.1 14.6 23 2.1 1.7 4.3 3.1 6.7 4.3 2.2 1.1 5.8-2 7.4-3.2 4.2-3 7.6-6.7 10.3-11 2.3-3.7 4.1-7.7 5.4-11.8.5-1.7 1-3.4 1.3-5.1.3-1.4 1-3.7.6-5.1-.2-.7-.9-1.3-1.6-1.5-3.7-1.1 1.1.3 0 0zm-3.5 5.6c-2.2 10.7-7.9 20.7-17.5 26.6L26 45l-1.3-.8c-11.5-7-15.9-18.3-17.5-26.6L7 16l1.4-.9c2.5-1.5 4.8-4.2 6.2-7l.6-1.4h21.6l.4 1c1.4 3 3.8 5.9 6.8 7.6l1 .6v.1l-.2 1.7z\"},{\"d\":\"M25.2 11.6c-1.8 0-6.3 0-7.2.8-1.5 1.4-2.4 3.4-4 4.7-1.7 1.4-.9 2.9-.3 4.8 1.1 3.4 2.6 6.6 4.7 9.6 1 1.5 2.2 3 3.6 4.2.4.4 4.1 4.1 4.1 1.8V13.2c-.1-.9-.1-1.6-.9-1.6z\"}]}},\nnew_custom92:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M45 31.1l-18.2-8.3c-.5-.2-1-.2-1.4 0L7 31.1c-1 .5-1.4 1.7-.7 2.6 1.9 2.7 3.1 6.2 3.6 7.8.2.6.7 1 1.3 1.2 6.3 1.5 11.5 5.1 13.7 6.8.6.5 1.5.5 2.2 0 2.2-1.7 7.4-5.3 13.7-6.8.6-.2 1.1-.6 1.3-1.2.5-1.7 1.7-5.2 3.6-7.8.6-.8.3-2.1-.7-2.6zm-23.8 4.5c-1.4 0-2.4-1.4-2.4-3.2 0-1.8 1-3.2 2.4-3.2s2.4 1.4 2.4 3.2c0 1.8-1 3.2-2.4 3.2zm9.6 0c-1.4 0-2.4-1.4-2.4-3.2 0-1.8 1-3.2 2.4-3.2s2.4 1.4 2.4 3.2c0 1.8-1 3.2-2.4 3.2z\"},{\"d\":\"M13.5 22.9l9.8-4.5c1.2-.6 2.5-.7 3.8-.5.6.1 1.1.3 1.7.6l9.7 4.5c.6.2 1.1-.2 1.1-.7v-3.6c0-.4-.2-.8-.5-1.1-.6-.7-1.9-1.9-4.3-1.9V11c0-.6-.3-1.1-.8-1.4-.9-.5-2.4-1.2-4.8-1.6V3.6c0-.9-.7-1.6-1.6-1.6h-3.2c-.9 0-1.6.7-1.6 1.6v4.3c-2.4.4-3.9 1.1-4.8 1.6-.5.2-.8.8-.8 1.4v4.7c-2.4 0-3.7 1.2-4.3 1.8-.3.3-.5.7-.5 1.1v3.6c0 .6.6 1 1.1.8z\"}]}},\nnew_custom93:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M20.1 26H44c.7 0 1.4-.5 1.5-1.2l4.4-14.9c.3-1-.5-2-1.5-2H11.5l-.6-2.2C10.5 4.7 9.5 4 8.5 4H4.6C3.3 4 2.1 4.9 2 6.2c-.1 1.3 1.1 2.5 2.4 2.5h2.3l7.6 25c.3 1 1.2 1.7 2.3 1.7h28.2c1.3 0 2.5-.9 2.6-2.2.1-1.3-1.1-2.5-2.4-2.5H20.2c-1.1 0-2-.7-2.3-1.6V29c-.5-1.5.7-3 2.2-3z\"},\"ellipse\":[{\"cx\":\"20.6\",\"cy\":\"44.1\",\"rx\":\"4\",\"ry\":\"3.9\"},{\"cx\":\"40.1\",\"cy\":\"44.1\",\"rx\":\"4\",\"ry\":\"3.9\"}]}},\nnew_custom94:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M30.8 16.4v-12c0-1.4-1-2.4-2.4-2.4h-3.2c-1.4 0-2.4 1-2.4 2.4s1 2.4 2.4 2.4h.8v9.6c0 5.3-4.3 9.6-9.6 9.6s-9.6-4.3-9.6-9.6V6.8h.8c1.4 0 2.4-1 2.4-2.4S9 2 7.6 2H4.4C3 2 2 3 2 4.4v12c0 7.9 6.5 14.4 14.4 14.4s14.4-6.5 14.4-14.4z\"},{\"d\":\"M50 26c0-4-3.2-7.2-7.2-7.2S35.6 22 35.6 26c0 3.1 2 5.8 4.8 6.8v1.8c0 5.8-4.8 10.6-10.6 10.6h-.2c-5 0-9.3-3.6-10.4-8.3-.2-.7-.8-1.3-1.6-1.3H16c-1 0-1.8 1-1.6 1.9C15.7 44.6 22 50 29.4 50h.2c8.6 0 15.5-7 15.5-15.4v-1.8c2.9-1 4.9-3.7 4.9-6.8zm-7.2 2.4c-1.4 0-2.4-1-2.4-2.4s1-2.4 2.4-2.4 2.4 1 2.4 2.4-1 2.4-2.4 2.4z\"}]}},\nnew_custom95:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M28.4 10.2V6.8h.8c1.3 0 2.4-1 2.4-2.4 0-1.3-1-2.4-2.4-2.4h-6.4c-1.3 0-2.4 1-2.4 2.4 0 1.3 1 2.4 2.4 2.4h.8v3.4C13.7 11.4 6 19.8 6 30c0 11 9 20 20 20s20-9 20-20c0-10.2-7.7-18.6-17.6-19.8zm-2.4 35c-8.4 0-15.2-6.8-15.2-15.2S17.6 14.8 26 14.8 41.2 21.6 41.2 30 34.4 45.2 26 45.2z\"},{\"d\":\"M31.3 21.8l-3.7 3.7c-.5-.2-1-.3-1.6-.3-2.6 0-4.8 2.2-4.8 4.8s2.2 4.8 4.8 4.8 4.8-2.2 4.8-4.8c0-.6-.1-1.1-.3-1.6l3.7-3.7c.8-.8.8-2.1 0-2.9-.8-.8-2.1-.8-2.9 0z\"}]}},\nnew_custom96:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M49.5 9l-4.2-3.1c-.6-.4-1.2-.6-1.9-.6H29.2V3.6c0-.9-.7-1.6-1.6-1.6h-3.2c-.9 0-1.6.7-1.6 1.6v1.6h-16c-.9 0-1.6.7-1.6 1.6v6.4c0 .9.7 1.6 1.6 1.6H43.4c.7 0 1.4-.2 1.9-.6l4.2-3.1c.7-.6.7-1.6 0-2.1zM45.2 22.8h-16v-2.4c0-.5-.3-.8-.8-.8h-4.8c-.5 0-.8.3-.8.8v2.4H8.6c-.7 0-1.4.2-1.9.6l-4.2 3.1c-.7.5-.7 1.5 0 2.1l4.2 3.1c.6.4 1.2.6 1.9.6h36.6c.9 0 1.6-.7 1.6-1.6v-6.4c0-.8-.7-1.5-1.6-1.5zM29.2 43.3V38c0-.5-.3-.8-.8-.8h-4.8c-.5 0-.8.3-.8.8v5.3c-3.2.9-5 2.8-5.5 5.2-.2.7.4 1.5 1.2 1.5h15.1c.8 0 1.4-.7 1.2-1.5-.6-2.4-2.4-4.3-5.6-5.2z\"}}},\nnew_custom97:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M34.2 29.3v-19C34.2 5.6 30.6 2 26 2h-.1c-4.6 0-8.2 3.7-8.2 8.3v19C15.3 31.6 14 34.7 14 38c0 6.6 5.4 12 12 12s12-5.4 12-12c0-3.4-1.3-6.4-3.8-8.7zM32.3 38H19.7c-.7 0-1.2-.7-1.1-1.4.3-1.8 1.3-3.4 2.7-4.5.5-.5.9-1.1.9-1.8v-20c0-2.2 1.6-3.8 3.7-3.8h.1c2.1 0 3.7 1.7 3.7 3.8v.7h-2.2c-1.3 0-2.2 1-2.2 2.2s1 2.2 2.2 2.2h2.2v3h-2.2c-1.3 0-2.2 1-2.2 2.2s1 2.2 2.2 2.2h2.2v3h-2.2c-1.3 0-2.2 1-2.2 2.2s1 2.2 2.2 2.2h2.2c.1.7.4 1.2.9 1.7 1.4 1.1 2.4 2.8 2.7 4.5.2.9-.3 1.6-1 1.6z\"}},\nnew_custom98:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M49.6 22.1l-5.9-5.9c-.3-.3-.7-.5-1-.5h-6.1c-.8 0-1.5.7-1.5 1.5v12.1c0 .5.5.9 1.1.7 1-.5 2.2-.7 3.4-.7 3.4 0 6.3 1.9 7.9 4.7.2.4.8.5 1.1.2.9-.8 1.5-2 1.5-3.4v-7.7c-.1-.3-.2-.7-.5-1z\"},{\"d\":\"M29 9H3.5C2.7 9 2 9.7 2 10.5v20.4c0 1.4.6 2.6 1.5 3.4.4.3.9.2 1.1-.2 1.5-2.8 4.5-4.7 7.9-4.7 3.8 0 6.9 2.3 8.3 5.6.1.3.4.5.7.5H26c2.5 0 4.5-2 4.5-4.5V10.5c0-.8-.7-1.5-1.5-1.5z\"}],\"circle\":[{\"cx\":\"39.5\",\"cy\":\"38.5\",\"r\":\"4.5\"},{\"cx\":\"12.5\",\"cy\":\"38.5\",\"r\":\"4.5\"}]}},\nnew_custom99:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M45.2 16.6H31.8c-.4-.9-1-1.7-1.7-2.4l5-6.4c.8-1 .6-2.5-.4-3.3-1-.8-2.6-.6-3.4.4L25.8 12c-.5 0-.9-.1-1.4-.1-.5 0-.9.1-1.3.1l-5.6-7.1c-.8-1-2.3-1.2-3.4-.4s-1.1 2.3-.3 3.3l5 6.4c-.7.7-1.3 1.5-1.7 2.4H6.8c-2.6 0-4.8 2.1-4.8 4.7v22C2 45.9 4.2 48 6.8 48h38.4c2.6 0 4.8-2.1 4.8-4.7v-22c0-2.6-2.2-4.7-4.8-4.7zm-6.4 25.1c0 .9-.7 1.6-1.6 1.6H8.4c-.9 0-1.6-.7-1.6-1.6V22.9c0-.9.7-1.6 1.6-1.6h28.8c.9 0 1.6.7 1.6 1.6v18.8zm5.6-7.8c-1.4 0-2.4-1-2.4-2.4s1-2.4 2.4-2.4 2.4 1 2.4 2.4-1 2.4-2.4 2.4zm0-7.9C43 26 42 25 42 23.7c0-1.3 1-2.4 2.4-2.4s2.4 1 2.4 2.4c0 1.3-1 2.3-2.4 2.3z\"}},\nnew_event:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M46.5 20h-41c-.8 0-1.5.7-1.5 1.5V46c0 2.2 1.8 4 4 4h36c2.2 0 4-1.8 4-4V21.5c0-.8-.7-1.5-1.5-1.5zM19 42c0 .6-.4 1-1 1h-4c-.6 0-1-.4-1-1v-4c0-.6.4-1 1-1h4c.6 0 1 .4 1 1v4zm0-10c0 .6-.4 1-1 1h-4c-.6 0-1-.4-1-1v-4c0-.6.4-1 1-1h4c.6 0 1 .4 1 1v4zm10 10c0 .6-.4 1-1 1h-4c-.6 0-1-.4-1-1v-4c0-.6.4-1 1-1h4c.6 0 1 .4 1 1v4zm0-10c0 .6-.4 1-1 1h-4c-.6 0-1-.4-1-1v-4c0-.6.4-1 1-1h4c.6 0 1 .4 1 1v4zm10 10c0 .6-.4 1-1 1h-4c-.6 0-1-.4-1-1v-4c0-.6.4-1 1-1h4c.6 0 1 .4 1 1v4zm0-10c0 .6-.4 1-1 1h-4c-.6 0-1-.4-1-1v-4c0-.6.4-1 1-1h4c.6 0 1 .4 1 1v4zM44 7h-5V5c0-1.6-1.3-3-3-3-1.6 0-3 1.3-3 3v2H19V5c0-1.6-1.3-3-3-3-1.6 0-3 1.3-3 3v2H8c-2.2 0-4 1.8-4 4v2.5c0 .8.7 1.5 1.5 1.5h41c.8 0 1.5-.7 1.5-1.5V11c0-2.2-1.8-4-4-4z\"}}},\nnew_group:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M15.8 28c-1.4-2.1-2.1-4.5-2.1-7.2 0-4.6 1.9-8.4 4.9-10.7-1-1.8-3-3.1-5.6-3.1-4.4 0-6.9 3.6-6.9 7.7 0 2.2.7 4.1 2.2 5.4.8.8 1.5 1.8 1.5 2.8 0 1-.4 2-2.9 3.1-3.6 1.6-6.9 3.8-7 7.1C0 35.3 1.4 37 3.5 37h3.3c.5 0 1-.3 1.3-.8 1.6-2.9 4.6-4.7 7.1-6 .9-.4 1.1-1.5.6-2.2zM45 26c-2.5-1.1-2.9-2-2.9-3.1s.7-2.1 1.5-2.8c1.5-1.4 2.2-3.2 2.2-5.4 0-4.1-2.4-7.7-6.9-7.7-2.6 0-4.6 1.3-5.7 3.1 3 2.3 4.9 6.1 4.9 10.7 0 2.7-.7 5.1-2.1 7.2-.5.8-.2 1.8.6 2.2 2.5 1.2 5.5 3.1 7.1 6 .3.5.8.8 1.3.8h3.3c2.1 0 3.5-1.7 3.5-3.9.1-3.3-3.2-5.5-6.8-7.1z\"},{\"d\":\"M32.6 33.3c-2.7-1.2-3.2-2.3-3.2-3.4 0-1.2.8-2.3 1.7-3.1 1.6-1.5 2.5-3.6 2.5-6 0-4.5-2.7-8.4-7.6-8.4-4.9 0-7.6 3.9-7.6 8.4 0 2.4.9 4.5 2.5 6 .9.9 1.7 2 1.7 3.1 0 1.2-.4 2.2-3.2 3.4-4 1.7-7.8 3.6-7.9 7.2 0 2.4 1.8 4.4 4.1 4.4h20.8c2.3 0 4.1-2 4.1-4.4-.1-3.6-3.9-5.4-7.9-7.2z\"}]}},\nnew_lead:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"circle\":{\"cx\":\"26\",\"cy\":\"9.2\",\"r\":\"7.2\"},\"path\":{\"d\":\"M48.4 21.2H3.6c-1.6 0-2.2 2-.9 2.9l11.7 7.5c.6.4.9 1.1.6 1.8L10.7 48c-.5 1.6 1.6 2.7 2.8 1.5l11.4-12c.6-.7 1.8-.7 2.4 0l11.4 12c1.1 1.2 3.2.1 2.8-1.5L37 33.3c-.2-.6.1-1.4.6-1.8L49.3 24c1.3-.8.7-2.8-.9-2.8z\"}},\nnew_note:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M41.4 39.7l-.9.9c-1 1-2.3 1.5-3.7 1.5h-2.6c-2.4 0-5-1.9-5-5.2v-2.5c0-2 .9-3.2 1.4-3.9l10.8-11c.3-.3.6-1 .6-1.4V9.8C42 7.2 39.8 5 37.2 5H11.6C9 5 6.8 7.4 6.8 9.8H5.2C3.4 9.8 2 11.3 2 13.1s1.4 3.2 3.2 3.2h1.6v6.5H5.2C3.4 22.8 2 24.2 2 26s1.4 3.2 3.2 3.2h1.6v6.5H5.2c-1.8 0-3.2 1.5-3.2 3.2 0 1.8 1.4 3.2 3.2 3.2h1.6c0 3.2 2.2 4.8 4.8 4.8H37.2c2.6 0 4.8-2.2 4.8-4.8V40c0-.5-.2-.6-.6-.3zm-8.2-22.6c0 .9-.7 1.6-1.6 1.6h-16c-.9 0-1.6-.7-1.6-1.6v-1.6c0-.9.7-1.6 1.6-1.6h16c.9 0 1.6.7 1.6 1.6v1.6zM26 36.5c0 .9-.7 1.6-1.6 1.6h-8.8c-.9 0-1.6-.7-1.6-1.6v-1.6c0-.9.7-1.6 1.6-1.6h8.8c.9 0 1.6.7 1.6 1.6v1.6zm2.4-9.7c0 .9-.7 1.6-1.6 1.6H15.6c-.9 0-1.6-.7-1.6-1.6v-1.6c0-.9.7-1.6 1.6-1.6h11.2c.9 0 1.6.7 1.6 1.6v1.6z\"},{\"d\":\"M49.5 22.4l-1-1c-.6-.6-1.6-.6-2.2 0L34.1 34c-.1 0-.1.2-.1.2v2.7c0 .2 0 .4.2.4h2.6c.1 0 .2-.1.3-.1l12.3-12.4c.8-.7.8-1.7.1-2.4z\"}]}},\nnew_notebook:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M44 2H14c-2.2 0-4 1.8-4 4v3H7c-1.7 0-3 1.3-3 3s1.3 3 3 3h3v8H7c-1.7 0-3 1.3-3 3s1.3 3 3 3h3v8H7c-1.7 0-3 1.3-3 3s1.3 3 3 3h3v3c0 2.2 1.8 4 4 4h30c2.2 0 4-1.8 4-4V6c0-2.2-1.8-4-4-4zm-7 34c0 .6-.4 1-1 1H22c-.6 0-1-.4-1-1v-2c0-.6.4-1 1-1h14c.6 0 1 .4 1 1v2zm2-8c0 .6-.4 1-1 1H20c-.6 0-1-.4-1-1v-2c0-.6.4-1 1-1h18c.6 0 1 .4 1 1v2zm2-10c0 .6-.4 1-1 1H18c-.6 0-1-.4-1-1v-6c0-.6.4-1 1-1h22c.6 0 1 .4 1 1v6z\"}},\nnew_opportunity:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M41.8 41H10.2c-.8 0-1.4.7-1.4 1.4v.1c0 2.5 2 4.5 4.5 4.5h25.5c2.5 0 4.5-2 4.5-4.5v-.1c-.1-.7-.7-1.4-1.5-1.4zM45.5 10.2c-2.5 0-4.5 2-4.5 4.5 0 1.4.6 2.6 1.6 3.4-1.3 2.9-4.2 4.9-7.6 4.8-4-.2-7.2-3.4-7.4-7.4 0-.7 0-1.3.1-1.9 1.7-.7 2.9-2.2 2.9-4.2C30.5 7 28.5 5 26 5s-4.5 2-4.5 4.5c0 1.9 1.2 3.5 2.8 4.2.2.6.2 1.2.2 1.9-.2 4-3.4 7.2-7.4 7.4-3.4.2-6.4-1.9-7.7-4.8 1-.8 1.6-2.1 1.6-3.4 0-2.5-2-4.5-4.5-4.5S2 12.3 2 14.8s2 4.5 4.5 4.5l2.1 16c.1.7.7 1.2 1.4 1.2h32c.7 0 1.3-.5 1.4-1.2l2.1-16c2.5 0 4.5-2 4.5-4.5s-2-4.6-4.5-4.6z\"}},\nnew_person_account:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M41.7 33.2c-2.9-1.2-3.4-2.3-3.4-3.5 0-1.2.8-2.3 1.8-3.2 1.7-1.5 2.6-3.7 2.6-6.2 0-4.6-3-8.7-8.2-8.7s-8.2 4-8.2 8.7c0 2.6 1 4.6 2.6 6.2 1 .9 1.8 2 1.8 3.2 0 1.2-.5 2.3-3.4 3.5-4.3 1.8-8.3 4-8.4 7.8 0 2.5 1.9 5 4.3 5h22.4c2.5 0 4.3-2.5 4.3-5 .2-3.7-3.9-6-8.2-7.8z\"},{\"d\":\"M23.4 27.1c-.3-.4-1.9-2.4-1.8-7.8.1-5.3 2.4-6.6 2.4-6.6V7.5c0-.9-.9-1.5-1.5-1.5h-19C2.8 6 2 6.7 2 7.6v34.9h10.8C13.1 33.6 23.3 30 23.3 30c1.5-.8.4-2.5.1-2.9zm-12.8 11c0 .9-.7 1.6-1.6 1.6H7.4c-.9 0-1.6-.7-1.6-1.6v-1.6c0-.9.7-1.6 1.6-1.6H9c.9 0 1.6.7 1.6 1.6v1.6zm0-7.9c0 .9-.7 1.6-1.6 1.6H7.4c-.9 0-1.6-.7-1.6-1.6v-1.6c0-.9.7-1.6 1.6-1.6H9c.9 0 1.6.7 1.6 1.6v1.6zm0-8c0 .9-.7 1.6-1.6 1.6H7.4c-.9 0-1.6-.7-1.6-1.6v-1.6c0-.9.7-1.6 1.6-1.6H9c.9 0 1.6.7 1.6 1.6v1.6zm0-7.9c0 .9-.7 1.6-1.6 1.6H7.4c-.9 0-1.6-.7-1.6-1.6v-1.6c0-.9.7-1.6 1.6-1.6H9c.9 0 1.6.7 1.6 1.6v1.6zm9 15.9c0 .9-.7 1.6-1.6 1.6h-1.6c-.9 0-1.6-.7-1.6-1.6v-1.6c0-.9.7-1.6 1.6-1.6H18c.9 0 1.6.7 1.6 1.6v1.6zm0-8c0 .9-.7 1.6-1.6 1.6h-1.6c-.9 0-1.6-.7-1.6-1.6v-1.6c0-.9.7-1.6 1.6-1.6H18c.9 0 1.6.7 1.6 1.6v1.6zm0-7.9c0 .9-.7 1.6-1.6 1.6h-1.6c-.9 0-1.6-.7-1.6-1.6v-1.6c0-.9.7-1.6 1.6-1.6H18c.9 0 1.6.7 1.6 1.6v1.6z\"}]},\nnew_task:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M24 7l-1.7-1.7c-.5-.5-1.2-.5-1.7 0L10 15.8l-4.3-4.2c-.5-.5-1.2-.5-1.7 0l-1.7 1.7c-.5.5-.5 1.2 0 1.7l5.9 5.9c.5.5 1.1.7 1.7.7.6 0 1.2-.2 1.7-.7L24 8.7c.4-.4.4-1.2 0-1.7zM48.4 18.4H27.5c-.9 0-1.6-.7-1.6-1.6v-3.2c0-.9.7-1.6 1.6-1.6h20.9c.9 0 1.6.7 1.6 1.6v3.2c0 .9-.7 1.6-1.6 1.6zM48.4 32.7H22.7c-.9 0-1.6-.7-1.6-1.6v-3.2c0-.9.7-1.6 1.6-1.6h25.7c.9 0 1.6.7 1.6 1.6v3.2c0 .9-.7 1.6-1.6 1.6zM13 32.7H9.8c-.9 0-1.6-.7-1.6-1.6v-3.2c0-.9.7-1.6 1.6-1.6H13c.9 0 1.6.7 1.6 1.6v3.2c.1.9-.7 1.6-1.6 1.6zM13 47H9.8c-.9 0-1.6-.7-1.6-1.6v-3.2c0-.9.7-1.6 1.6-1.6H13c.9 0 1.6.7 1.6 1.6v3.2c.1.9-.7 1.6-1.6 1.6zM48.4 47H22.7c-.9 0-1.6-.7-1.6-1.6v-3.2c0-.9.7-1.6 1.6-1.6h25.7c.9 0 1.6.7 1.6 1.6v3.2c0 .9-.7 1.6-1.6 1.6z\"}},\npassword_unlock:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M10 18.1v0zM42 23H16v-4.7c0-5.3 4-10 9.3-10.3 4.9-.3 9 2.8 10.3 7.2.1.4.5.8 1 .8h4.1c.6 0 1.1-.6 1-1.2C40.1 7.2 33.3 1.6 25.2 2c-8.5.4-15 7.7-15.2 16.1V23c-2.2 0-4 1.8-4 4v19c0 2.2 1.8 4 4 4h32c2.2 0 4-1.8 4-4V27c0-2.2-1.8-4-4-4zM30.6 42.7c.2.6-.3 1.3-1 1.3h-7.3c-.7 0-1.2-.6-1-1.3l1.8-6c-1.5-1-2.4-2.8-2-4.8.4-1.9 1.9-3.4 3.9-3.8 3.2-.6 6 1.7 6 4.7 0 1.6-.8 3.1-2.1 3.9l1.7 6z\"}}},\npreview:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M51.8 25.1C47.1 15.6 37.3 9 26 9S4.9 15.6.2 25.1c-.3.6-.3 1.3 0 1.8C4.9 36.4 14.7 43 26 43s21.1-6.6 25.8-16.1c.3-.6.3-1.2 0-1.8zM26 37c-6.1 0-11-4.9-11-11s4.9-11 11-11 11 4.9 11 11-4.9 11-11 11z\"},{\"d\":\"M26 19c-3.9 0-7 3.1-7 7s3.1 7 7 7 7-3.1 7-7-3.1-7-7-7z\"}]}},\npriority:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M9 3.5C9 2.7 8.3 2 7.5 2h-3C3.7 2 3 2.7 3 3.5v45c0 .8.7 1.5 1.5 1.5h3c.8 0 1.5-.7 1.5-1.5v-45zM47.5 7.7c-16 8.4-14.2-8.8-33.5-2.1-.6.2-1 .8-1 1.4v23.3c0 .7.7 1.2 1.3.9 19.2-6.4 17.2 11.2 33.9 1.8.5-.3.8-.8.8-1.3V8.5c0-.7-.8-1.2-1.5-.8z\"}}},\nquestion_post_action:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M28.4 38h-5c-.8 0-1.4-.6-1.4-1.4v-1.5c0-4.2 2.7-8 6.7-9.4 1.2-.4 2.3-1.1 3.2-2.1 5-6 .4-13.2-5.6-13.4-2.2-.1-4.3.7-5.9 2.2-1.3 1.2-2.1 2.7-2.3 4.4-.1.6-.7 1.1-1.5 1.1h-5c-.9 0-1.6-.7-1.5-1.6.4-3.8 2.1-7.2 4.8-9.9 3.2-3 7.3-4.6 11.7-4.5C34.9 2.2 41.7 9 42 17.3c.3 7-4 13.3-10.5 15.7-.9.4-1.5 1.1-1.5 2v1.5c0 .9-.8 1.5-1.6 1.5zM30 48.5c0 .8-.7 1.5-1.5 1.5h-5c-.8 0-1.5-.7-1.5-1.5v-5c0-.8.7-1.5 1.5-1.5h5c.8 0 1.5.7 1.5 1.5v5z\"}},\nquote:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M35 23H17c-.6 0-1 .4-1 1v3c0 .6.4 1 1 1h18c.6 0 1-.4 1-1v-3c0-.6-.4-1-1-1zM33 32H19c-.6 0-1 .4-1 1v3c0 .6.4 1 1 1h14c.6 0 1-.4 1-1v-3c0-.6-.4-1-1-1z\"},{\"d\":\"M45.8 12.3l-9.6-9.2c-.8-.7-1.8-1.1-2.8-1.1H18.6c-1 0-2 .4-2.8 1.1l-9.6 9.2c-.8.8-1.2 1.8-1.2 2.9V46c0 2.2 1.8 4 4 4h34c2.2 0 4-1.8 4-4V15.2c0-1.1-.4-2.1-1.2-2.9zM26 5c2.2 0 4 1.8 4 4s-1.8 4-4 4-4-1.8-4-4 1.8-4 4-4zm15 37.5c0 .8-.7 1.5-1.5 1.5h-27c-.8 0-1.5-.7-1.5-1.5v-25c0-.8.7-1.5 1.5-1.5h27c.8 0 1.5.7 1.5 1.5v25z\"}]}},\nrecall:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M18.2 22.6c-.5-.6-.2-1.6.5-1.8h9c6.7 0 12.1 5.7 11.5 12.6-.6 5.9-5.8 10.3-11.8 10.3H24c-.8 0-1.6.7-1.6 1.6v3.1c0 .8.7 1.6 1.6 1.6h3.6c9.7 0 17.5-7.8 17.7-17.4.2-9.9-8.2-18-18.1-18.1h-8.3s-2.7.1-1-1.8l5.9-5.8c.6-.6.6-1.6 0-2.2l-2.2-2.2c-.6-.6-1.6-.6-2.2 0l-14 14.1c-.6.6-.6 1.6 0 2.2l14.1 14.1c.6.6 1.6.6 2.2 0l2.2-2.2c.6-.6.6-1.6 0-2.2l-5.7-5.9z\"}},\nrecord:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M17.4 11.6h17.3c.9 0 1.6-.7 1.6-1.6V6.8c0-2.6-2.1-4.8-4.7-4.8h-11c-2.6 0-4.7 2.2-4.7 4.8V10c-.1.9.6 1.6 1.5 1.6z\"},{\"d\":\"M43.3 6h-1.6c-.5 0-.8.3-.8.8V10c0 3.5-2.8 6.4-6.3 6.4H17.4c-3.5 0-6.3-2.9-6.3-6.4V6.8c0-.5-.3-.8-.8-.8H8.7C6.1 6 4 8.2 4 10.8v34.4C4 47.8 6.1 50 8.7 50h34.6c2.6 0 4.7-2.2 4.7-4.8V10.8C48 8.2 45.9 6 43.3 6zM17.4 40.4c0 .9-.7 1.6-1.6 1.6h-1.6c-.9 0-1.6-.7-1.6-1.6v-1.6c0-.9.7-1.6 1.6-1.6h1.6c.9 0 1.6.7 1.6 1.6v1.6zm0-8c0 .9-.7 1.6-1.6 1.6h-1.6c-.9 0-1.6-.7-1.6-1.6v-1.6c0-.9.7-1.6 1.6-1.6h1.6c.9 0 1.6.7 1.6 1.6v1.6zm0-8c0 .9-.7 1.6-1.6 1.6h-1.6c-.9 0-1.6-.7-1.6-1.6v-1.6c0-.9.7-1.6 1.6-1.6h1.6c.9 0 1.6.7 1.6 1.6v1.6zm22 16c0 .9-.7 1.6-1.6 1.6H22.1c-.9 0-1.6-.7-1.6-1.6v-1.6c0-.9.7-1.6 1.6-1.6h15.7c.9 0 1.6.7 1.6 1.6v1.6zm0-8c0 .9-.7 1.6-1.6 1.6H22.1c-.9 0-1.6-.7-1.6-1.6v-1.6c0-.9.7-1.6 1.6-1.6h15.7c.9 0 1.6.7 1.6 1.6v1.6zm0-8c0 .9-.7 1.6-1.6 1.6H22.1c-.9 0-1.6-.7-1.6-1.6v-1.6c0-.9.7-1.6 1.6-1.6h15.7c.9 0 1.6.7 1.6 1.6v1.6z\"}]},\nrefresh:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M46.5 4h-3c-.8 0-1.5.7-1.5 1.5v7c0 .9-.5 1.3-1.2.7-.3-.4-.6-.7-1-1-5-5-12-7.1-19.2-5.7-2.5.5-4.9 1.5-7 2.9-6.1 4-9.6 10.5-9.7 17.5-.1 5.4 2 10.8 5.8 14.7 4 4.2 9.4 6.5 15.2 6.5 5.1 0 9.9-1.8 13.7-5 .7-.6.7-1.6.1-2.2l-2.1-2.1c-.5-.5-1.4-.6-2-.1-3.6 3-8.5 4.2-13.4 3-1.3-.3-2.6-.9-3.8-1.6C11.7 36.6 9 30 10.6 23.4c.3-1.3.9-2.6 1.6-3.8C15 14.7 19.9 12 25.1 12c4 0 7.8 1.6 10.6 4.4.5.4.9.9 1.2 1.4.3.8-.4 1.2-1.3 1.2h-7c-.8 0-1.5.7-1.5 1.5v3.1c0 .8.6 1.4 1.4 1.4h18.3c.7 0 1.3-.6 1.3-1.3V5.5C48 4.7 47.3 4 46.5 4z\"}},\nreject:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M31.6 25.8l13.1-13.1c.6-.6.6-1.5 0-2.1l-2.1-2.1c-.6-.6-1.5-.6-2.1 0L27.4 21.6c-.4.4-1 .4-1.4 0L12.9 8.4c-.6-.6-1.5-.6-2.1 0l-2.1 2.1c-.6.6-.6 1.5 0 2.1l13.1 13.1c.4.4.4 1 0 1.4L8.6 40.3c-.6.6-.6 1.5 0 2.1l2.1 2.1c.6.6 1.5.6 2.1 0L26 31.4c.4-.4 1-.4 1.4 0l13.1 13.1c.6.6 1.5.6 2.1 0l2.1-2.1c.6-.6.6-1.5 0-2.1L31.6 27.2c-.3-.4-.3-1 0-1.4z\"}},\nremove:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M31.6 25.8l13.1-13.1c.6-.6.6-1.5 0-2.1l-2.1-2.1c-.6-.6-1.5-.6-2.1 0L27.4 21.6c-.4.4-1 .4-1.4 0L12.9 8.4c-.6-.6-1.5-.6-2.1 0l-2.1 2.1c-.6.6-.6 1.5 0 2.1l13.1 13.1c.4.4.4 1 0 1.4L8.6 40.3c-.6.6-.6 1.5 0 2.1l2.1 2.1c.6.6 1.5.6 2.1 0L26 31.4c.4-.4 1-.4 1.4 0l13.1 13.1c.6.6 1.5.6 2.1 0l2.1-2.1c.6-.6.6-1.5 0-2.1L31.6 27.2c-.3-.4-.3-1 0-1.4z\"}},\nremove_relationship:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M36.001 20c0-2.2-1.799-4-4-4H6c-2.199 0-4 1.8-4 4v26c0 2.2 1.801 4 4 4h26.001c2.201 0 4-1.8 4-4V20zM11 35c-.5 0-1-.5-1-1v-2c0-.5.5-1 1-1h16.001c.5 0 1 .5 1 1v2c0 .5-.5 1-1 1H11zm32.001 7h-3v-6h3c.6 0 1-.4 1-1V9c0-.6-.4-1-1-1H17c-.6 0-1 .4-1 1v3h-6V9c0-3.9 3.102-7 7-7h26.001c3.9 0 7 3.1 7 7v26c0 3.9-3.1 7-7 7z\"}},\nreset_password:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M46.5 4h-3c-.8 0-1.5.7-1.5 1.5v7c0 .9-.5 1.3-1.2.7-.3-.4-.6-.7-1-1-5-5-12-7.1-19.2-5.7-2.5.5-4.9 1.5-7 2.9-6.1 4-9.6 10.5-9.7 17.5-.1 5.4 2 10.8 5.8 14.7 4 4.2 9.4 6.5 15.2 6.5 5.1 0 9.9-1.8 13.7-5 .7-.6.7-1.6.1-2.2l-2.1-2.1c-.5-.5-1.4-.6-2-.1-3.6 3-8.5 4.2-13.4 3-1.3-.3-2.6-.9-3.8-1.6C11.7 36.6 9 30 10.6 23.4c.3-1.3.9-2.6 1.6-3.8C15 14.7 19.9 12 25.1 12c4 0 7.8 1.6 10.6 4.4.5.4.9.9 1.2 1.4.3.8-.4 1.2-1.3 1.2h-7c-.8 0-1.5.7-1.5 1.5v3.1c0 .8.6 1.4 1.4 1.4h18.3c.7 0 1.3-.6 1.3-1.3V5.5C48 4.7 47.3 4 46.5 4z\"}},\nscript:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M44 6.8c-8.8 0-15.6 6.9-15.6 15.7v21.1c0 .8.7 1.5 1.5 1.5h16.7c.8 0 1.5-.7 1.5-1.5V27c0-.8-.7-1.5-1.5-1.5H34.2v-2.9c0-4.9 4.8-9.8 9.7-9.8h2.6c.8 0 1.5-.7 1.5-1.5v-3c0-.8-.7-1.5-1.5-1.5H44zm-24.4 0C10.8 6.8 4 13.7 4 22.6v21.1c0 .8.7 1.5 1.5 1.5h16.7c.8 0 1.5-.7 1.5-1.5V27c0-.8-.7-1.5-1.5-1.5H9.9v-2.9c0-4.9 4.8-9.8 9.7-9.8h2.6c.8 0 1.5-.7 1.5-1.5v-3c0-.8-.7-1.5-1.5-1.5h-2.6z\"}},\nshare:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M48.5 30h-3c-.8 0-1.5.7-1.5 1.5v11c0 .8-.7 1.5-1.5 1.5h-33c-.8 0-1.5-.7-1.5-1.5v-21c0-.8.7-1.5 1.5-1.5h4c.8 0 1.5-.7 1.5-1.5v-3c0-.8-.7-1.5-1.5-1.5H6c-2.2 0-4 1.8-4 4v28c0 2.2 1.8 4 4 4h40c2.2 0 4-1.8 4-4V31.5c0-.8-.7-1.5-1.5-1.5z\"},{\"d\":\"M34 14c-10 0-19.1 8.9-19.9 19.4-.1.8.6 1.6 1.5 1.6h3c.8 0 1.4-.6 1.5-1.3C20.8 26.2 27.2 20 35 20h1.6c.9 0 1.3 1.1.7 1.7l-5.5 5.6c-.6.6-.6 1.5 0 2.1l2.1 2.1c.6.6 1.5.6 2.1 0L49.6 18c.6-.6.6-1.5 0-2.1L36.1 2.4c-.6-.6-1.5-.6-2.1 0l-2.1 2.1c-.6.6-.7 1.5-.1 2.1l5.6 5.6c.6.6.2 1.7-.7 1.7L34 14z\"}]}},\nshare_file:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M41 16h7.8c.4 0 .7-.5.4-.9l-8.3-8.3c-.4-.3-.9 0-.9.4V15c0 .6.4 1 1 1z\"},{\"d\":\"M49 20H38c-1.1 0-2-.9-2-2V7c0-.6-.4-1-1-1H21.5c-.8 0-1.5.7-1.5 1.5v4c0 .4.2.8.4 1.1l5.6 5.6c.8.8 1.4 1.9 1.6 3.1.2 1.6-.3 3.1-1.4 4.3L24.6 27c-.5.5-1 .8-1.6 1.1.7.3 1.5.5 2.3.6 2.6.2 4.7 2.4 4.7 5.1V36c0 1.4-.7 2.8-1.7 3.7-1 1-2.5 1.4-3.9 1.3-1.1-.1-2.1-.3-3.2-.5-.6-.2-1.2.3-1.2 1v3.1c0 .8.7 1.5 1.5 1.5h27c.8 0 1.5-.7 1.5-1.5V21c0-.6-.4-1-1-1z\"},{\"d\":\"M26 35.9v-2.2c0-.6-.5-1-1.1-1.1-5.4-.5-9.9-5.1-9.9-10.8v-1.2c0-.6.8-1 1.2-.5l4 4c.4.4 1.1.4 1.5 0l1.5-1.5c.4-.4.4-1.1 0-1.5l-9.7-9.7c-.4-.4-1.1-.4-1.5 0l-9.7 9.7c-.4.4-.4 1.1 0 1.5l1.5 1.5c.4.4 1.1.5 1.5.1l4.2-4c.5-.5 1.4-.1 1.4.5v1.9c0 7.2 6.3 13.8 13.9 14.4.7 0 1.2-.5 1.2-1.1z\"}]}},\nshare_link:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M27.2 41.7l-2.1-.3c-.7-.1-1.4-.3-2.1-.6-.4-.1-.9 0-1.2.3l-.5.5c-2.9 2.9-7.6 3.2-10.6.6-3.4-2.9-3.5-8.1-.4-11.2l7.6-7.6c1-1 2.2-1.6 3.4-2 1.6-.4 3.3-.3 4.8.3.9.4 1.8.9 2.6 1.7.4.4.7.8 1 1.3.4.7 1.3.8 1.8.2l2.8-2.8c.4-.4.4-1 .1-1.5-.4-.6-.9-1.1-1.4-1.6-.7-.7-1.5-1.4-2.4-1.9-1.4-.9-3-1.5-4.7-1.8-3.1-.6-6.5-.1-9.3 1.4-1.1.6-2.2 1.4-3.1 2.3l-7.3 7.3C.9 31.6.5 40.2 5.6 45.6c5.3 5.8 14.3 5.9 19.8.4l2.5-2.5c.7-.5.2-1.7-.7-1.8z\"},{\"d\":\"M45.6 5.8c-5.5-5.1-14.1-4.7-19.3.6L24 8.6c-.7.7-.2 1.9.7 2 1.4.1 2.8.4 4.2.8.4.1.9 0 1.2-.3l.5-.5c2.9-2.9 7.6-3.2 10.6-.6 3.4 2.9 3.5 8.1.4 11.2L34 28.8c-1 1-2.2 1.6-3.4 2-1.6.4-3.3.3-4.8-.3-.9-.4-1.8-.9-2.6-1.7-.4-.4-.7-.8-1-1.3-.4-.7-1.3-.8-1.8-.2l-2.8 2.8c-.4.4-.4 1-.1 1.5.4.6.9 1.1 1.4 1.6.7.7 1.6 1.4 2.4 1.9 1.4.9 3 1.5 4.6 1.8 3.1.6 6.5.1 9.3-1.4 1.1-.6 2.2-1.4 3.1-2.3l7.6-7.6c5.6-5.5 5.4-14.5-.3-19.8z\"}]}},\nshare_poll:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M46.8 2H5.2C3.4 2 2 3.4 2 5.2v6.4c0 1.8 1.4 3.2 3.2 3.2h41.6c1.8 0 3.2-1.4 3.2-3.2V5.2C50 3.4 48.6 2 46.8 2zm-20 9.6V5.2h20v6.4h-20zM46.8 19.6H5.2C3.4 19.6 2 21 2 22.8v6.4c0 1.8 1.4 3.2 3.2 3.2h41.6c1.8 0 3.2-1.4 3.2-3.2v-6.4c0-1.8-1.4-3.2-3.2-3.2zm-27.2 9.6v-6.4h27.2v6.4H19.6zM46.8 37.2H5.2c-1.8 0-3.2 1.4-3.2 3.2v6.4C2 48.6 3.4 50 5.2 50h41.6c1.8 0 3.2-1.4 3.2-3.2v-6.4c0-1.8-1.4-3.2-3.2-3.2zM34 46.8v-6.4h12.8v6.4H34z\"}},\nshare_post:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M26 4C12.7 4 2 13.8 2 26c0 3.9 1.1 7.5 3 10.8.2.4.3.9.2 1.3L3 45c-.4 1.3.8 2.4 2.1 2l7-2.4c.5-.2 1-.1 1.4.2 3.7 2.1 8 3.3 12.6 3.3 13.3 0 24-9.8 24-22C49.8 13.8 39.1 4 26 4z\"}},\nshare_thanks:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M45.2 14h-7c2-3.1 1.8-7.3-.6-9.8C36.2 2.8 34.4 2 32.5 2c-2.1 0-4.2 1-5.7 2.6-.3.3-.6.6-.8 1-.2-.4-.5-.7-.8-1A7.62 7.62 0 0019.5 2c-1.9 0-3.7.8-5 2.2-2.5 2.6-2.6 6.7-.6 9.8h-7C4.2 14 2 16.2 2 18.8V22c0 .9.7 1.6 1.6 1.6h44.8c.9 0 1.6-.7 1.6-1.6v-3.2c0-2.6-2.2-4.8-4.8-4.8zm-21.6 0c-1.7 0-4.1-.6-5.4-2.1-1.2-1.3-1.4-3.4-.2-4.4.5-.5 1-.6 1.5-.6.8 0 1.6.4 2.2 1 1.4 1.5 1.9 4.1 1.9 5.7v.4zm10.2-2.1C32.4 13.3 30 14 28.4 14v-.5c0-1.6.6-4.2 1.9-5.7.6-.6 1.4-1 2.2-1 .4 0 1 .1 1.6.6 1 1.2.9 3.2-.3 4.5zM45.2 28.4H28.4V50h13.8c2.6 0 4.6-2.1 4.6-4.6V30c0-.9-.7-1.6-1.6-1.6zM5.2 30v15.2c0 2.6 2.2 4.8 4.8 4.8h13.6V28.4H6.8c-.9 0-1.6.7-1.6 1.6z\"}},\nsort:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M27.5 16c.6-.6.6-1.5 0-2.1L16.1 2.4c-.6-.6-1.5-.6-2.1 0L2.5 13.9c-.6.6-.6 1.5 0 2.1l2.1 2.1c.6.6 1.5.6 2.1 0l3.6-3.6c.6-.6 1.7-.2 1.7.7v21.2c0 .8.7 1.5 1.5 1.5h3c.8 0 1.5-.8 1.5-1.5V15.2c0-.9 1.1-1.3 1.7-.7l3.6 3.6c.6.6 1.5.6 2.1 0l2.1-2.1zM49.5 36l-2.1-2c-.6-.6-1.5-.6-2.1 0l-3.6 3.6c-.6.6-1.7.2-1.7-.7V15.5c0-.8-.7-1.5-1.5-1.5h-3c-.8 0-1.5.8-1.5 1.5v21.2c0 .9-1.1 1.3-1.7.7l-3.6-3.6c-.6-.6-1.5-.6-2.1 0L24.5 36c-.6.6-.6 1.5 0 2.1L36 49.6c.6.6 1.5.6 2.1 0l11.5-11.5c.5-.6.5-1.6-.1-2.1z\"}}},\nsubmit_for_approval:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M45.2 29.2h-8.8c-2.6 0-4.8-2.2-4.8-4.8.4-7.1 3.7-7.5 4-12.1.3-4.8-2.7-9.1-7.4-10.1C22 .9 16.4 5.6 16.4 11.6c0 5.3 3.6 5.3 4 12.8 0 2.6-2.2 4.8-4.8 4.8H6.8C4.2 29.2 2 31.3 2 34v3.2c0 .9.7 1.6 1.6 1.6h44.8c.9 0 1.6-.7 1.6-1.6V34c0-2.7-2.2-4.8-4.8-4.8zM45.3 43.6H6.7c-.9 0-1.5.7-1.5 1.5v.1c0 2.6 2.2 4.8 4.8 4.8h32.1c2.6 0 4.7-2.2 4.7-4.8v-.1c0-.8-.7-1.5-1.5-1.5z\"}},\nupdate:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M26 2C12.7 2 2 12.7 2 26s10.7 24 24 24 24-10.7 24-24S39.3 2 26 2zm9 15.5c0 .8-.7 1.5-1.5 1.5H24c-.6 0-1 .4-1 1v2c0 .6.4 1 1 1h4c3.9 0 7 3.1 7 7v2c0 3.9-3.1 7-7 7h1v2c0 1.1-.9 2-2 2s-2-.9-2-2v-2h-6.5c-.8 0-1.5-.7-1.5-1.5v-3c0-.8.7-1.5 1.5-1.5H28c.6 0 1-.4 1-1v-2c0-.6-.4-1-1-1h-4c-3.9 0-7-3.1-7-7v-2c0-3.9 3.1-7 7-7h1v-2c0-1.1.9-2 2-2s2 .9 2 2v2h4.5c.8 0 1.5.7 1.5 1.5v3z\"}},\nupdate_status:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M29.8 30.6l1.6 1.6c.4.4 1 .4 1.4 0l4.6-4.7c.4-.4.6-.9.6-1.4V8c0-1.7-1.3-3-3-3H5C3.3 5 2 6.3 2 8v22c0 1.7 1.3 3 3 3h13.7c.5 0 1-.2 1.4-.6l1.7-1.7c.8-.8 1.8-1.4 2.9-1.6 1.8-.4 3.7.2 5.1 1.5zM10 14c0-.6.4-1 1-1h18c.6 0 1 .4 1 1v2c0 .6-.4 1-1 1H11c-.6 0-1-.4-1-1v-2zm1 11c-.6 0-1-.4-1-1v-2c0-.6.4-1 1-1h14c.6 0 1 .4 1 1v2c0 .6-.4 1-1 1H11z\"},{\"d\":\"M49.5 27.7l-2.2-2.2c-.6-.6-1.6-.6-2.2 0L32.8 37.9c-.4.4-1.1.4-1.5 0l-4.4-4.5c-.6-.6-1.6-.6-2.2 0l-2.2 2.2c-.6.6-.6 1.6 0 2.2l8.5 8.6c.6.6 1.6.6 2.2 0L49.5 30c.7-.7.7-1.7 0-2.3z\"}]}},\nupload:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M48.5 31h-3c-.8 0-1.5.8-1.5 1.5v10c0 .8-.7 1.5-1.5 1.5h-33c-.8 0-1.5-.7-1.5-1.5v-10c0-.7-.7-1.5-1.5-1.5h-3c-.8 0-1.5.8-1.5 1.5V46c0 2.2 1.8 4 4 4h40c2.2 0 4-1.8 4-4V32.5c0-.7-.7-1.5-1.5-1.5z\"},{\"d\":\"M27 2.4c-.6-.6-1.5-.6-2.1 0L11.4 15.9c-.6.6-.6 1.5 0 2.1l2.1 2.1c.6.6 1.5.6 2.1 0l5.6-5.6c.6-.6 1.8-.2 1.8.7v21.2c0 .8.6 1.5 1.4 1.5h3c.8 0 1.6-.8 1.6-1.5V15.3c0-.9 1-1.3 1.7-.7l5.6 5.6c.6.6 1.5.6 2.1 0l2.1-2.1c.6-.6.6-1.5 0-2.1L27 2.4z\"}]}},\nuser:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M50 43v2.2c0 2.6-2.2 4.8-4.8 4.8H6.8C4.2 50 2 47.8 2 45.2V43c0-5.8 6.8-9.4 13.2-12.2l.6-.3c.5-.2 1-.2 1.5.1 2.6 1.7 5.5 2.6 8.6 2.6s6.1-1 8.6-2.6c.5-.3 1-.3 1.5-.1l.6.3C43.2 33.6 50 37.1 50 43zM26 2c6.6 0 11.9 5.9 11.9 13.2S32.6 28.4 26 28.4s-11.9-5.9-11.9-13.2S19.4 2 26 2z\"}},\nuser_activation:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M27.5 16c.6-.6.6-1.5 0-2.1L16.1 2.4c-.6-.6-1.5-.6-2.1 0L2.5 13.9c-.6.6-.6 1.5 0 2.1l2.1 2.1c.6.6 1.5.6 2.1 0l3.6-3.6c.6-.6 1.7-.2 1.7.7v21.2c0 .8.7 1.6 1.5 1.6h3c.8 0 1.5-.9 1.5-1.6V15.2c0-.9 1.1-1.3 1.7-.7l3.6 3.6c.6.6 1.5.6 2.1 0l2.1-2.1zM49.5 36l-2.1-2c-.6-.6-1.5-.6-2.1 0l-3.6 3.6c-.6.6-1.7.2-1.7-.7V15.5c0-.8-.7-1.5-1.5-1.5h-3c-.8 0-1.5.8-1.5 1.5v21.2c0 .9-1.1 1.3-1.7.7l-3.6-3.6c-.6-.6-1.5-.6-2.1 0L24.5 36c-.6.6-.6 1.5 0 2.1L36 49.6c.6.6 1.5.6 2.1 0l11.5-11.5c.5-.6.5-1.6-.1-2.1z\"}},\"path\":{\"d\":\"M16 46h-2c-1.1 0-2-.9-2-2v-2c0-1.1.9-2 2-2h2c1.1 0 2 .9 2 2v2c0 1.1-.9 2-2 2zM38 12h-2c-1.1 0-2-.9-2-2V8c0-1.1.9-2 2-2h2c1.1 0 2 .9 2 2v2c0 1.1-.9 2-2 2z\"}},\nview_relationship:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M36 20c0-2.2-1.8-4-4-4H6c-2.2 0-4 1.8-4 4v26c0 2.2 1.8 4 4 4h26c2.2 0 4-1.8 4-4V20z\"},{\"d\":\"M43 42h-3v-6h3c.6 0 1-.4 1-1V9c0-.6-.4-1-1-1H17c-.6 0-1 .4-1 1v3h-6V9c0-3.9 3.1-7 7-7h26c3.9 0 7 3.1 7 7v26c0 3.9-3.1 7-7 7z\"}]},\nweb_link:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M27 2C13.7 2 3 12.7 3 26s10.7 24 24 24 24-10.7 24-24S40.3 2 27 2zm3 34.3c-1.5 1.5-2 4.4-2.6 6.4-.1.4-.4.8-.8 1l-1 .5c-.6.3-1.3.2-1.8-.3-1-.9-1.8-2.3-1.8-3.7 0-2.4-4-1.6-4-6.4 0-3.9-5-6.2-8.6-4.5-.3.1-.6.3-.9.3-.6.2-1.2-.2-1.3-.8C7.1 27.9 7 27 7 26c0-4.8 1.7-9.2 4.5-12.6 0-.1.1-.1.2-.1 2.4-2.8 5.5-5 9.1-6.2.9-.3 1.7.7 1.2 1.5-.4.6-.6 1.2-.6 1.7.1 2.1-1.9 3.4-2.8 3.1-.8-.3-3 1.1-1 2.1l1.1.5c.1 0 .2.1.2.1l.3.2c3.6 2.1 2.9 3.8 1.4 6.4-1.7 2.8-2.4 0-4.8-.8s-4.8.8-4 2.4c.8 1.6 3.2 0 4.8 1.6 1.6 1.6 1.6 4 6.4 2.4 4.8-1.6 5.6-.8 7.2.8 1.4 1.6 2.2 4.8-.2 7.2zm12.7-.2c-1.9-2.2 0-7.3-2.3-10.2-2.5-3.1-5.7.1-8.8-4.8-2.9-4.7.8-8.6 4.6-9.9 1-.4 2.1-.5 3.2-.5.2 0 .5.1.7.3 4.2 3.6 6.9 9 6.9 15 0 3.6-1 7-2.6 9.9-.4.6-1.2.7-1.7.2z\"}},\nviewBox:'0 0 52 52'\n}; } export default icons;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n\nlet icons = {}; if ('__INCLUDE_SLDS_ICONS__' === '__INCLUDE_SLDS_ICONS__') { icons = {\ncustom1:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M54.3 74.1a5.983 5.983 0 01-8.7 0c-7.2-7.699-21-22.399-21-22.5-6.2-6.5-6.2-17.2 0-23.7 3-3.2 7-4.9 11.3-4.9 4.3 0 8.3 1.7 11.3 4.9l1.2 1.5c.8 1 2.4 1 3.2 0l1-1.3.2-.2c3.101-3.3 7.101-5 11.3-5 4.301 0 8.301 1.7 11.301 4.9 6.199 6.5 6.199 17.2 0 23.7C75.3 51.7 61.6 66.4 54.3 74.1z\"}},\ncustom10:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M69.8 77.9c-9.399 3.8-24.2 2.8-32.3-6C18 50.8 35.1 20 58.6 20c3.9 0 7.7.8 11.2 2.2 1.5.6 1.601 2.6.4 3.5C62.6 31.1 57.6 40 57.6 50c0 10.1 4.9 19 12.5 24.4 1.3.9 1.1 2.9-.3 3.5z\"}},\ncustom100:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M61.9 72H38.1c-.7 0-1.1.6-1 1.3 1 3.8 6.4 6.7 12.8 6.7 6.5 0 11.9-2.9 12.8-6.7.3-.7-.2-1.3-.8-1.3zM74 26H26c-3.3 0-6 2.7-6 6v28c0 3.3 2.7 6 6 6h48c3.3 0 6-2.7 6-6V32c0-3.3-2.7-6-6-6zm0 32c0 1.1-.9 2-2 2H28c-1.1 0-2-.9-2-2V34c0-1.1.9-2 2-2h44c1.1 0 2 .9 2 2v24z\"}}},\ncustom101:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M44.885 38.655a7.47 7.47 0 11-.066 14.938 7.47 7.47 0 01.066-14.938zm.505 31.491c.538-.239 1.168-.598 1.939-1.016a36.418 36.418 0 015.889-2.835 39.1 39.1 0 01-1.64-3.765c0-.086-.06-.205-.093-.298a17.263 17.263 0 01-6.6 1.328c-9.46.01-17.2-7.53-17.437-16.986-.237-9.457 7.116-17.375 16.564-17.838 9.449-.463 17.54 6.698 18.23 16.133 3.916.418 6.12 2.357 7.303 4.515.155-1.08.235-2.169.239-3.26.026-13.608-10.881-24.716-24.488-24.936-13.607-.221-24.869 10.526-25.284 24.128-.416 13.602 10.17 25.017 23.764 25.627a26.026 26.026 0 011.614-.81v.013zm29.878 2.238c-2.33-1.05-5.77-3.705-10.876-4.602 1.328-1.4 2.298-3.585 3.32-6.181.598-1.494.478-2.782.478-4.601 0-1.328.24-3.5-.086-4.688C66.968 48.328 64.12 47.2 60.8 47.2c-3.32 0-6.181 1.108-7.303 5.139-.326 1.195-.087 3.32-.087 4.687 0 1.826-.093 3.108.478 4.601 1.016 2.603 1.992 4.78 3.32 6.188-5.125.93-8.538 3.586-10.862 4.602-4.78 2.118-4.807 4.455-4.807 4.455v3.944h38.45v-3.944c.06 0 .06-2.357-4.754-4.482l.033-.006z\",\"fill-rule\":\"evenodd\"}},\ncustom102:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M31.179 60.7h-8.75a1.157 1.157 0 00-1.179 1.143V79.57a1.157 1.157 0 001.179 1.158h8.75a1.157 1.157 0 001.178-1.158V61.836a1.136 1.136 0 00-1.178-1.143v.007zm16.142-5.464h-8.75a1.157 1.157 0 00-1.142 1.135v23.25a1.157 1.157 0 001.178 1.143h8.714a1.157 1.157 0 001.179-1.143v-23.25a1.157 1.157 0 00-1.179-1.142v.007zM63.43 35.157h-8.75A1.157 1.157 0 0053.5 36.3v43.321a1.157 1.157 0 001.179 1.143h8.75a1.157 1.157 0 001.178-1.143V36.3a1.114 1.114 0 00-1.178-1.143zM79.57 21.23h-8.75a1.157 1.157 0 00-1.178 1.142v57.25a1.157 1.157 0 001.178 1.143h8.75a1.157 1.157 0 001.179-1.143v-57.25a1.157 1.157 0 00-1.179-1.142z\",\"fill-rule\":\"evenodd\"}},\ncustom103:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M76.14 54.901c-1.625-.77-4.012-2.713-7.553-3.365.913-1.03 1.591-2.609 2.302-4.513a8.824 8.824 0 00.352-3.365c0-.972.176-2.57-.058-3.45-.796-2.948-2.772-3.75-5.074-3.75s-4.311.828-5.074 3.776c-.235.854-.059 2.445-.059 3.424a9.046 9.046 0 00.352 3.39c.711 1.918 1.39 3.51 2.302 4.514a16.435 16.435 0 00-4.865 1.891 39.241 39.241 0 015.048 2.609c.796.47 1.507.887 2.067 1.148 2.713 1.272 4.22 2.654 5.107 3.913h8.543V58.2s-.058-1.741-3.39-3.306v.006zm-42.014 2.29c.561-.268 1.272-.653 2.067-1.149a38.074 38.074 0 015.074-2.608 16.52 16.52 0 00-4.95-1.898c.913-1.03 1.592-2.609 2.303-4.513a8.824 8.824 0 00.352-3.365c0-.972.176-2.57-.059-3.45-.796-2.948-2.772-3.75-5.074-3.75s-4.304.828-5.074 3.75c-.267.854-.091 2.445-.091 3.424a9.046 9.046 0 00.352 3.39c.711 1.918 1.39 3.51 2.302 4.514-3.508.652-5.87 2.609-7.493 3.365-3.333 1.565-3.365 3.261-3.365 3.261v2.89h8.582a13.096 13.096 0 015.074-3.862zm30.887 1.956c-2.42-1.122-6.02-4.044-11.328-5.048 1.356-1.533 2.387-3.913 3.45-6.757.652-1.65.502-3.039.502-5.047 0-1.474.267-3.835-.091-5.133-1.18-4.396-4.129-5.609-7.611-5.609-3.483 0-6.444 1.246-7.605 5.674-.326 1.272-.058 3.626-.058 5.107 0 2.008-.092 3.424.502 5.048 1.063 2.863 2.067 5.25 3.424 6.782-5.283 1.03-8.824 3.913-11.244 5.048-4.989 2.328-4.989 4.898-4.989 4.898v4.337h40.037v-4.344s0-2.57-4.989-4.924v-.032z\",\"fill-rule\":\"evenodd\"}},\ncustom104:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M72.72 20.574H27.28a3.088 3.088 0 00-3.045 3.088v15.485h51.486V23.706a3.088 3.088 0 00-3-3.132zM45.457 42.279v37.147H72.72a3.088 3.088 0 003.044-3.088V42.28h-30.31zm-21.177 0v34.06a3.062 3.062 0 003.045 3.087h15.132V42.28H24.279z\",\"fill-rule\":\"evenodd\"}},\ncustom105:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M76.053 26.316H23.947a3.6 3.6 0 00-3.552 3.623v2.558a.892.892 0 00.316.71l26.273 21.53a4.263 4.263 0 005.93 0l26.273-21.553a.892.892 0 00.316-.71V29.97a3.576 3.576 0 00-3.45-3.655zM20.418 37.929a.868.868 0 01.498-.79.79.79 0 01.955.143l12.75 11.297a.79.79 0 01.284.64.94.94 0 01-.244.67L21.91 61.93a.79.79 0 01-.956.213.86.86 0 01-.529-.853V37.93h-.008zm0 29.21a.971.971 0 01.285-.67l16.05-14.977a.837.837 0 011.168 0l6.782 6.04a7.697 7.697 0 0010.547 0l6.782-6.04a.868.868 0 011.168 0l16.058 14.945a.908.908 0 01.284.67v2.914a3.608 3.608 0 01-3.553 3.663H23.947a3.608 3.608 0 01-3.552-3.655v-2.913l.023.023zm59.156-5.857a.908.908 0 01-.53.852.868.868 0 01-.955-.213L65.34 49.858a.94.94 0 01-.244-.671.79.79 0 01.316-.64l12.75-11.329a.79.79 0 01.923-.102.9.9 0 01.53.79v23.352l-.04.024z\",\"fill-rule\":\"evenodd\"}},\ncustom106:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M49.643 20.543c-11.905.079-21.496 9.787-21.429 21.693 0 17.585 21.429 37.221 21.429 37.221S71.07 59.05 71.07 42.236c.056-11.9-9.528-21.603-21.428-21.693zm0 31.021a9.286 9.286 0 119.193-9.328 9.286 9.286 0 01-9.193 9.321v.007z\",\"fill-rule\":\"evenodd\"}},\ncustom107:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M77.734 51.48h-5.968v26.188a1.221 1.221 0 01-1.295 1.27H58.545a1.189 1.189 0 01-1.04-1.295V57.447H42.987v20.221c.049.63-.405 1.19-1.033 1.27H30.029a1.221 1.221 0 01-1.295-1.295V51.48h-5.968c-.516 0-1.04-.263-1.04-.78-.263-.516-.263-1.04.262-1.294L49.47 21.922c.517-.516 1.295-.516 1.558 0L78.512 49.43c.517.263.517.779.263 1.295-.255.517-.517.78-1.041.78v-.025z\",\"fill-rule\":\"evenodd\"}},\ncustom108:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"fill-rule\":\"evenodd\",\"path\":[{\"d\":\"M47.9 60.35l.42-2.82 3.96-2.73-.87-3.72h-.54l-4.2-.33-1.62-2.28.93-4.8-3.12-2.01-.39.39-3.15 2.79-2.7-.42-2.64-4.08-3.57.9v.57l-.3 4.29-2.22 1.68-4.68-.99-1.92 3.27.36.42 2.7 3.27-.39 2.82-3.96 2.7.87 3.69.54.06 4.14.33 1.65 2.25-.96 4.8 3.15 1.98.42-.36 3.15-2.82 2.7.42 2.61 4.08 3.6-.9v-.6l.27-4.2 2.22-1.68 4.62.99 1.92-3.27-.36-.42-2.64-3.24v-.03zm-5.49.66a7.2 7.2 0 01-10.08 2.55 7.8 7.8 0 01-2.49-10.44 7.2 7.2 0 0110.08-2.58 7.8 7.8 0 012.49 10.47z\"},{\"d\":\"M75.65 46.28l.42-2.82 3.93-2.7-.87-3.69h-.54l-4.14-.33-1.65-2.34.93-4.8-3.15-1.98-.42.36-3.15 2.79-2.7-.42-2.58-4.08-3.6.9-.06.6L57.8 32l-2.22 1.68-4.62-.96-1.92 3.27.36.45 2.7 3.27-.42 2.82-3.93 2.67.87 3.72h.54l4.14.33 1.62 2.31-.96 4.8 3.15 2.04.42-.36 3.15-2.82 2.7.42 2.61 4.08 3.57-.9.03-.57.3-4.29 2.22-1.68 4.65.96 1.92-3.27-.36-.42-2.67-3.27zm-5.52.66a7.2 7.2 0 01-10.08 2.55 7.752 7.752 0 01-2.46-10.44 7.2 7.2 0 0110.08-2.58 7.8 7.8 0 012.46 10.47z\"}]}},\ncustom109:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M79.651 46.442l-1.395-2.093-4.06 1.751c-5.247-8.449-14.854-14.651-24.88-14.651-14.881-.007-28.967 13.716-28.967 28.249v.893l.063 1.186h7.116l-.09-1.186a8.33 8.33 0 010-.858c0-11.742 9.815-21.321 21.885-21.321a22.019 22.019 0 0118.768 10.381l-13.905 6.042a8.135 8.135 0 00-8.923-.977 7.674 7.674 0 00-3.349 10.528 8.1 8.1 0 0010.793 3.293 7.744 7.744 0 004.242-7.71l12.9-7.674a20.623 20.623 0 011.395 7.445v.858l-.09 1.186h7.116l.063-1.186a8.623 8.623 0 000-.893 25.165 25.165 0 00-2.652-10.891l3.97-2.372z\",\"fill-rule\":\"evenodd\"}},\ncustom11:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M52.2 21.4l8 16.9L77.9 41c2 .3 2.8 2.9 1.3 4.3L66.4 58.5l3 18.5c.3 2.1-1.7 3.7-3.5 2.7L50 70.9l-15.9 8.8c-1.8 1-3.9-.601-3.5-2.7l3-18.5-12.9-13.2c-1.4-1.5-.6-4 1.3-4.3l17.8-2.7 8-16.9c.9-1.9 3.5-1.9 4.4 0z\"}},\ncustom110:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M61.714 20.229H38.286a5.986 5.986 0 00-6.143 5.928v47.536a6.129 6.129 0 006.143 6.071h23.428a6.129 6.129 0 006.143-6.071V26.157a5.986 5.986 0 00-6.143-5.928zm-16.071 3.428h8.714a.55.55 0 01.536.536.607.607 0 01-.536.536h-8.714a.536.536 0 110-1.072zm7.75 51.857a.643.643 0 01-.714.536h-5.536a.55.55 0 01-.536-.536v-2.5c0-.25.286-.643.536-.643h5.571a.714.714 0 01.715.643v2.5h-.036zm10.928-7.357a.629.629 0 01-.678.643H36.357a.629.629 0 01-.714-.643v-39.5a.75.75 0 01.714-.786h27.25c.4.038.7.385.679.786v39.5h.035z\",\"fill-rule\":\"evenodd\"}},\ncustom111:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"fill-rule\":\"evenodd\",\"path\":{\"d\":\"M53.373 45.053c-.06 0-.093 0-.12-.06-2.306-.993-5.7-3.66-10.74-4.566 1.287-1.334 2.28-3.507 3.267-6.087.573-1.473.48-2.733.48-4.533 0-1.334.24-3.447-.093-4.62-1.107-4-3.9-5.074-7.2-5.074-3.3 0-6.12 1.114-7.234 5.074-.326 1.166-.06 3.3-.06 4.62 0 1.8-.093 3.06.48 4.56 1.02 2.553 2 4.713 3.24 6.086-4.98.934-8.373 3.54-10.666 4.534C20.047 47.12 20 49.4 20 49.4v7.593h23.653a20.1 20.1 0 019.72-11.94zM62.827 70.46a7.767 7.767 0 117.766-7.793 7.773 7.773 0 01-7.766 7.793zM80 64.547v-3.88l-.54-.18-4.2-1.334-1.107-2.666 2.127-4.527-2.76-2.76-.513.267-3.9 2-2.667-1.114-1.68-4.706h-3.947l-.146.486-1.38 4.167-2.667 1.113L52 49.28l-2.733 2.76.266.513 2 3.927-1.113 2.667-4.707 1.68v3.9l.54.18 4.174 1.38 1.113 2.666-2.207 4.6 2.76 2.76.507-.266 3.933-2L59.2 75.16l1.68 4.707h3.9l.18-.54 1.38-4.167 2.667-1.113 4.533 2.126 2.76-2.76-.267-.506-2-3.9 1.107-2.667L80 64.547z\"}}},\ncustom112:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M51.121 50.166a56.676 56.676 0 00-25.737 0 7.271 7.271 0 00-4.973 6.513v5.25a7.192 7.192 0 004.973 6.513c.79.197 1.58.316 2.369.474l6.67 9.552c1.224 1.737 2.211 1.421 2.211-.71v-7.895c4.87.16 9.74-.318 14.487-1.42a7.271 7.271 0 004.974-6.514v-5.25a7.16 7.16 0 00-4.974-6.513zm23.526-27.632a72.15 72.15 0 00-35.052 0 7.279 7.279 0 00-4.974 6.553v9.316a7.279 7.279 0 004.974 6.552 71.424 71.424 0 0019.579 2.092v10.974c0 2.092.987 2.447 2.17.71l8.961-12.789a75.61 75.61 0 004.303-.947 7.279 7.279 0 004.974-6.553v-9.316a7.184 7.184 0 00-4.935-6.552v-.04z\",\"fill-rule\":\"evenodd\"}},\ncustom113:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"fill-rule\":\"evenodd\",\"path\":{\"d\":\"M27.16 59.042h45.735a.64.64 0 00.592-.631V26.816c0-.671-.513-.987-1.184-.987h-44.55c-.632 0-1.303.316-1.303.987v31.579c0 .316.395.631.71.631v.016zm3.893-27.947a.608.608 0 01.592-.592H68.3a.608.608 0 01.592.592v22.697a.608.608 0 01-.592.592H31.621a.608.608 0 01-.592-.592V31.095h.024zM79.463 73.34l-5.842-11.843a.663.663 0 00-.513-.355H26.884a.663.663 0 00-.513.355L20.53 73.34a1.255 1.255 0 001.05 1.856H78.42a1.263 1.263 0 001.026-1.856h.016zm-23.479-.735h-11.92a.387.387 0 01-.277-.552l1.697-3.237a.663.663 0 01.513-.355h8.014c.204.009.393.11.513.276l1.697 3.316c.118.197 0 .552-.237.552z\"}}},\ncustom12:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"circle\":{\"cx\":\"50\",\"cy\":\"50\",\"r\":\"30\"}},\ncustom13:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M74 22H26c-3.3 0-6 2.7-6 6v6c0 1.1.9 2 2 2h56c1.1 0 2-.9 2-2v-6c0-3.3-2.7-6-6-6zM74 42H26c-1.1 0-2 .9-2 2v28c0 3.3 2.7 6 6 6h40c3.3 0 6-2.7 6-6V44c0-1.1-.9-2-2-2zm-13 9c0 1.6-1.3 3-3 3H42c-1.6 0-3-1.3-3-3 0-1.6 1.3-3 3-3h16c1.7 0 3 1.3 3 3z\"}}},\ncustom14:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M78 33h-6c-1.3 0-2.6-.6-3.6-1.5l-4.8-4.1c-1-.8-2.3-1.4-3.6-1.4H48.3c-1.5 0-2.9.6-4 1.7l-6.2 5.1c-.5.4-.5 1.2-.1 1.7l1.9 1.8c1.3 1 3 1.2 4.3.3l5.5-3.3c.7-.5 1.7-.3 2.3.3l17.3 16.8c.4.4.7 1 .7 1.6v4.5c0 1.2.9 2.5 2 2.5h6c1.1 0 2-.9 2-2.1V35c0-1.2-.9-2-2-2z\"},{\"d\":\"M61 51L50.2 40.5l-3 1.8c-1.5.9-3.2 1.4-4.9 1.4-2.1 0-4.3-.8-6-2.2l-3.9-3.2c-.9-.7-1.4-1.5-1.5-2.6-.2-1.1-1-1.7-2-1.7H22c-1.1 0-2 .6-2 1.8V54c0 1.2.9 2 2 2h4c.3 0 .7-1.1 1.1-1.6 1.5-2 3.7-3.101 6.1-3.4 2.4-.2 4.7.6 6.6 2.3l12.5 11.4c1.101 1 1.9 2.1 2.4 3.5.3.7 1.1.899 1.6.399L61 63.9c2.4-2.4 4.2-8 2-10.601L61 51z\"},{\"d\":\"M35.9 58.4c-1.3-1.2-3.2-1-4.2.399-1.1 1.4-.9 3.4.4 4.601l12.5 11.3c.6.6 1.4.8 2.2.7.8-.101 1.5-.5 2-1.2 1.1-1.4.9-3.4-.4-4.601L35.9 58.4z\"}]}},\ncustom15:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M70 46.1c-3.5-1.5-4-2.8-4-4.2 0-1.5 1-2.8 2.2-3.9 2.1-1.9 3.2-4.5 3.2-7.5 0-5.6-3.5-10.5-9.801-10.5C56.2 20 52.9 23.6 52 28.2c-.1.4.1.8.4 1 4.5 3.2 7.3 8.6 7.3 15.1 0 4.5-1.5 8.601-4.3 11.7-.4.5-.3 1.3.4 1.6 1.7.7 3.7 1.7 5.7 2.801.6.399 1.3.6 2 .6H75c2.8 0 5-2.2 5-4.9v-.8C80 50.8 75.1 48.3 70 46.1z\"},{\"d\":\"M52.1 62.6c-4.2-1.699-4.8-3.3-4.8-5 0-1.699 1.2-3.3 2.6-4.6 2.4-2.2 3.8-5.2 3.8-8.8 0-6.6-4.2-12.3-11.6-12.3s-11.6 5.7-11.6 12.3c0 3.6 1.3 6.6 3.8 8.8 1.4 1.2 2.6 2.9 2.6 4.6 0 1.7-.6 3.2-4.8 5-6.1 2.5-11.9 5.4-12 10.7v.9c0 3.2 2.7 5.8 6 5.8H58c3.3 0 6-2.6 6-5.8v-.9c0-5.3-5.8-8.2-11.9-10.7z\"}]}},\ncustom16:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M72 70h-1V48c0-1.1-.9-2-2-2h-2c-1.1 0-2 .9-2 2v22h-6V48c0-1.1-.9-2-2-2h-2c-1.1 0-2 .9-2 2v22h-6V48c0-1.1-.9-2-2-2h-2c-1.1 0-2 .9-2 2v22h-6V48c0-1.1-.9-2-2-2h-2c-1.1 0-2 .9-2 2v22h-1c-3.3 0-6 2.7-6 6v2c0 1.1.9 2 2 2h52c1.1 0 2-.9 2-2v-2c0-3.3-2.7-6-6-6zM77 34.4L52.3 20.8c-.7-.5-1.5-.8-2.3-.8-.8 0-1.6.3-2.3.8L23 34.4c-.6.4-1 1-1 1.7V38c0 1.1.9 2 2 2h52c1.1 0 2-.9 2-2v-1.8c0-.7-.4-1.4-1-1.8zM50 36c-2.8 0-5-2.2-5-5s2.2-5 5-5 5 2.2 5 5-2.2 5-5 5z\"}}},\ncustom17:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M43 28.9c.3.7 1 1.1 1.8 1.1H55c.8 0 1.5-.4 1.8-1.1l4-7.4c.3-.7-.2-1.4-.899-1.4H40.1c-.7 0-1.2.8-.9 1.4l3.8 7.4zM55.9 36H44c-9.9 0-18 8.1-18 18v20c0 3.3 2.7 6 6 6h35.9c3.3 0 6.1-2.7 6.1-6V54c0-9.9-8.2-18-18.1-18zM53 69.6V73c0 .6-.6 1-1.2 1h-4c-.6 0-.8-.4-.8-1v-3.3c-3-.601-5.5-1.9-6.2-2.5-.8-.7-1-1.4-.4-2.3l1.3-2c.3-.5.9-.801 1.5-.801.4 0 .7.101 1 .301h.1c2 1.199 3.8 1.8 5.1 1.8 1.4 0 2.5-.7 2.5-1.5 0-.601-.4-1.601-4.2-2.9-3.4-1.2-7.6-3.3-7.6-7.899 0-2.7 1.8-5.9 6.8-6.9v-3c0-.6.3-1 .8-1h4c.6 0 1.2.4 1.2 1v3c2 .5 4.199 1.5 4.899 2 .4.2.601.7.7 1.2s-.1 1-.4 1.3l-1.5 1.8c-.399.5-1.1.9-1.699.9-.3-.001-.6-.101-.9-.201-2-1.1-3.7-1.7-4.8-1.7-1.7 0-2.4.8-2.4 1.3 0 .7.4 1.5 3.8 2.7 4.2 1.4 8.9 3.601 8.9 8.3.1 3.2-2.5 6.1-6.5 7z\"}}},\ncustom18:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M60 36h10.6c.801 0 1.4-.6 1.4-1.4 0-.4-.1-.7-.4-1L58.4 20.4c-.3-.3-.6-.4-1-.4-.8 0-1.4.6-1.4 1.4V32c0 2.2 1.8 4 4 4zM83.4 49.6l-1.2-1.2c-.8-.8-2-.8-2.8 0L64 63.9c-.1.1 0 .2 0 .4v3.3c0 .301 0 .5.3.5h3.3c.1 0 .3-.1.4-.1l15.4-15.4c.8-1 .8-2.2 0-3z\"},{\"d\":\"M70.9 74h-9.1c-2.1 0-3.8-1.7-3.8-3.8v-7c0-1.101.3-2.101 1.1-2.8L71.4 48c.399-.4.6-.9.6-1.4V44c0-1.1-.9-2-2-2H56c-3.3 0-6-2.7-6-6V22c0-1.1-.9-2-2-2H28c-3.3 0-6 2.7-6 6v48c0 3.3 2.7 6 6 6h38c2.9 0 5.4-2.1 5.9-4.8.1-.6-.4-1.2-1-1.2zM30 38c0-1.1.9-2 2-2h8c1.1 0 2 .9 2 2v2c0 1.1-.9 2-2 2h-8c-1.1 0-2-.9-2-2v-2zm20 26c0 1.1-.9 2-2 2H32c-1.1 0-2-.9-2-2v-2c0-1.1.9-2 2-2h16c1.1 0 2 .9 2 2v2zm4-12c0 1.1-.9 2-2 2H32c-1.1 0-2-.9-2-2v-2c0-1.1.9-2 2-2h20c1.1 0 2 .9 2 2v2z\"}]}},\ncustom19:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M79.2 32.8c-.2-.7-1.101-.9-1.7-.4L67.4 42.5c-.801.8-2 .8-2.801 0l-7.1-7.1c-.8-.8-.8-2 0-2.8l10.2-10.2c.5-.5.3-1.4-.4-1.7C65.6 20.3 63.8 20 62 20c-10.6 0-19.1 9.2-17.9 20 .2 1.7.6 3.2 1.2 4.7L22 68.1c-2.7 2.7-2.7 7.2 0 9.9 1.4 1.4 3.2 2.1 5 2.1s3.6-.699 5-2.1l23.3-23.3c1.5.6 3.101 1 4.7 1.2 10.9 1.2 20-7.3 20-17.9 0-1.8-.3-3.6-.8-5.2z\"}},\ncustom2:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M59 22c-3-2-13.8-3.9-18 3-2 3.3.4 9.1 2.2 12.8.5.9 1.5 1.4 2.5 1 1.3-.5 2.8-.8 4.3-.8 1 0 2 .1 3 .4.9.2 1.8-.2 2.2-1 .7-1.3 1.899-2.8 3.8-4.4 5-4 3-9 0-11zM53.8 61.4c-1.2.4-2.5.6-3.8.6-1.2 0-2.4-.2-3.5-.5-.9-.3-1.9.2-2.3 1-.7 1.3-1.9 2.9-3.9 4.5-5 4-3 9.1 0 11.1s13.9 3.9 18-3c1.9-3.199-.3-9-2.1-12.699-.5-.901-1.5-1.301-2.4-1.001zM75 41c-3.3-2-9.1.4-12.8 2.2-.9.5-1.4 1.5-1 2.5.5 1.3.8 2.8.8 4.3 0 1-.1 2-.4 3-.199.9.2 1.8 1 2.2 1.3.7 2.8 1.9 4.4 3.8 4 5 9 3 11 0s3.9-13.9-3-18zM38.6 53.8c-.4-1.2-.6-2.5-.6-3.8 0-1.2.2-2.4.5-3.5.3-.9-.2-1.9-1-2.3-1.3-.7-2.9-1.9-4.5-3.9-4-5-9.1-3-11.1 0s-3.9 13.8 3 18c3.2 1.9 9-.3 12.7-2.1.9-.5 1.3-1.5 1-2.4z\"},\"circle\":{\"cx\":\"50\",\"cy\":\"50\",\"r\":\"6\"}}},\ncustom20:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M38 47.7c0-.8-1-1.3-1.6-.8l-14 10.8c-1.5 1.1-2.4 2.9-2.4 4.8v4.1c0 .7.7 1.2 1.3.9l15.4-5.8c.8-.3 1.3-1 1.3-1.9V47.7zM60.1 75.7L56 73V27.6c0-2.7-2.9-5.7-4.8-7.2-.7-.6-1.8-.6-2.5 0-1.8 1.5-4.8 4.5-4.8 7.2V73l-4.6 3c-.8.6-1.4 1.5-1.4 2.5v.6c0 .5.4.9.9.9h22.1c.5 0 1.1-.4 1.1-.9 0-1.4-.8-2.6-1.9-3.4zM77.6 57.7l-14-10.8a1 1 0 00-1.6.8v12.2c0 .8.5 1.6 1.3 1.899l15.4 5.8c.7.201 1.3-.199 1.3-.899v-4.1c0-2-.9-3.8-2.4-4.9z\"}}},\ncustom21:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M57.6 71.1c-.3-.699-1-1.1-1.8-1.1H44.2c-.8 0-1.5.4-1.8 1.1l-2.7 7.4c-.3.7.2 1.4.9 1.4h18.8c.699 0 1.199-.801.899-1.4L57.6 71.1zM74 20H26c-3.3 0-6 2.7-6 6v32c0 3.3 2.7 6 6 6h48c3.3 0 6-2.7 6-6V26c0-3.3-2.7-6-6-6zM50 62c-1.7 0-3-1.3-3-3s1.3-3 3-3 3 1.3 3 3-1.3 3-3 3zm24-10c0 1.1-.9 2-2 2H28c-1.1 0-2-.9-2-2V28c0-1.1.9-2 2-2h44c1.1 0 2 .9 2 2v24z\"}}},\ncustom22:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M77.7 63.9l-6.2-5a6.002 6.002 0 00-7.3-.2L58.3 63c-.8.6-1.899.5-2.6-.2L46 54l-8.9-9.8c-.7-.7-.8-1.8-.2-2.6l4.3-5.9c1.6-2.2 1.5-5.2-.2-7.3l-5-6.2c-2.2-2.8-6.4-3-8.9-.5l-5.4 5.4c-1.2 1.2-1.8 2.9-1.8 4.5.7 12.7 6.5 24.8 15 33.3s20.5 14.3 33.3 15c1.7.1 3.3-.601 4.5-1.801l5.4-5.399c2.7-2.4 2.4-6.6-.4-8.8z\"}},\ncustom23:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M48.7 56c.8.7 1.899.7 2.7 0l28.3-26.2c.5-1 .399-2.6-1.601-2.6l-56 .1c-1.5 0-2.7 1.4-1.6 2.6L48.7 56z\"},{\"d\":\"M80 41c0-1.3-1.6-2-2.5-1.1l-22 20.4c-1.5 1.4-3.4 2.1-5.4 2.1-2 0-3.9-.7-5.4-2.101L22.6 39.9c-1-.9-2.5-.2-2.5 1.1v26c0 3.3 2.7 6 6 6h48c3.301 0 6-2.7 6-6-.1 0-.1-18-.1-26z\"}]}},\ncustom24:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M68.1 20H31.9c-3.3 0-5.9 2.7-5.9 5.9v.1c0 1.1.9 2 2 2h44c1.1 0 2-.9 2-2v-.1c0-3.2-2.7-5.9-5.9-5.9zM68 34H32c-1.1 0-2 .9-2 2v42c0 1.1.9 2 2 2h11.1c1.1 0 1.9-.9 1.9-2v-8c0-1.1 1-2 2.1-2h5.8c1.1 0 2.1.9 2.1 2v8c0 1.1.8 2 1.9 2H68c1.1 0 2-.9 2-2V36c0-1.1-.9-2-2-2zM47 61c0 1.1-.9 2-2 2h-4c-1.1 0-2-.9-2-2v-4c0-1.1.9-2 2-2h4c1.1 0 2 .9 2 2v4zm0-14c0 1.1-.9 2-2 2h-4c-1.1 0-2-.9-2-2v-4c0-1.1.9-2 2-2h4c1.1 0 2 .9 2 2v4zm14 14c0 1.1-.9 2-2 2h-4c-1.1 0-2-.9-2-2v-4c0-1.1.9-2 2-2h4c1.1 0 2 .9 2 2v4zm0-14c0 1.1-.9 2-2 2h-4c-1.1 0-2-.9-2-2v-4c0-1.1.9-2 2-2h4c1.1 0 2 .9 2 2v4z\"}}},\ncustom25:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M79.8 27.3c-.7-3.7-3.8-6.7-7.6-7.2-2.7-.4-5.2.5-7.101 2-.6.5-.5 1.3.2 1.7 4.601 2.4 8.5 5.9 11.5 10.1.4.6 1.3.6 1.7 0C79.8 32 80.3 29.7 79.8 27.3zM34.6 23.8c.6-.3.7-1.2.2-1.7-1.9-1.6-4.4-2.4-7.1-2-3.8.5-6.9 3.5-7.6 7.2-.4 2.4.1 4.7 1.3 6.5.4.6 1.3.6 1.7 0 3-4.1 6.9-7.6 11.5-10zM50 26c-14.9 0-27 12.1-27 27 0 6 2 11.6 5.3 16l-4.1 4.1c-1.6 1.601-1.6 4.101 0 5.7.8.8 1.8 1.2 2.8 1.2s2-.4 2.8-1.2l4.1-4.1C38.4 78 44 80 50 80s11.6-2 16-5.3l4.1 4.1C71 79.6 72 80 73 80s2-.4 2.8-1.2c1.601-1.6 1.601-4.1 0-5.7L71.7 69C75 64.6 77 59 77 53c0-14.9-12.1-27-27-27zM31 53c0-10.5 8.5-19 19-19s19 8.5 19 19-8.5 19-19 19-19-8.5-19-19z\"},{\"d\":\"M53 51.8V44c0-1.7-1.3-3-3-3s-3 1.3-3 3v9c0 .8.3 1.6.9 2.1l7 7c.6.6 1.4.9 2.1.9s1.5-.3 2.1-.9c1.2-1.199 1.2-3.1 0-4.199L53 51.8z\"}]}},\ncustom26:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M26 20c-3.3 0-6 2.7-6 6 0 1.8.8 3.4 2 4.5V76c0 2.2 1.8 4 4 4s4-1.8 4-4V30.5c1.2-1.1 2-2.7 2-4.5 0-3.3-2.7-6-6-6zM78.5 30.8c-15.7 8.2-26.4-5.9-41.2-.5-.8.3-1.3 1-1.3 1.9V58c0 1.3 1.3 2.3 2.6 1.9 14.2-4.3 24.9 9.1 40.4.6.6-.3 1-1 1-1.7V31.7c0-.8-.8-1.3-1.5-.9z\"}}},\ncustom27:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M24 63h52c1.1 0 2-.9 2-2V29c0-3.3-2.7-6-6-6H28c-3.3 0-6 2.7-6 6v32c0 1.1.9 2 2 2zm4-32c0-1.1.9-2 2-2h40c1.1 0 2 .9 2 2v24c0 1.1-.9 2-2 2H30c-1.1 0-2-.9-2-2V31zM80 69H58c-1.1 0-2 .9-2 2s-.9 2-2 2h-8c-1.1 0-2-.9-2-2s-.9-2-2-2H20c-1.1 0-2 .9-2 2 0 3.3 2.7 6 6 6h52c3.3 0 6-2.7 6-6 0-1.1-.9-2-2-2z\"}}},\ncustom28:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M64 20H36c-3.3 0-6 2.7-6 6v48c0 3.3 2.7 6 6 6h28c3.3 0 6-2.7 6-6V26c0-3.3-2.7-6-6-6zM50 78c-1.7 0-3-1.3-3-3s1.3-3 3-3 3 1.3 3 3-1.3 3-3 3zm14-10c0 1.1-.9 2-2 2H38c-1.1 0-2-.9-2-2V30c0-1.1.9-2 2-2h24c1.1 0 2 .9 2 2v38z\"}},\ncustom29:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M73.9 28h-1.8c-1.2 0-2.1 1-2.1 2.2V70c0 .1 0 .3.1.4l2.5 3.5c.2.199.5.199.801 0l2.5-3.5c.099-.1.099-.2.099-.4V30.2c0-1.2-.9-2.2-2.1-2.2zM58 20H30c-3.3 0-6 2.7-6 6v48c0 3.3 2.7 6 6 6h28c3.3 0 6-2.7 6-6V26c0-3.3-2.7-6-6-6zM44 78c-1.7 0-3-1.3-3-3s1.3-3 3-3 3 1.3 3 3-1.3 3-3 3zm14-10c0 1.1-.9 2-2 2H32c-1.1 0-2-.9-2-2V30c0-1.1.9-2 2-2h24c1.1 0 2 .9 2 2v38z\"}}},\ncustom3:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M50 38c-6.6 0-12 5.4-12 12s5.4 12 12 12 12-5.4 12-12-5.4-12-12-12z\"},{\"d\":\"M80 50c0-3.5-8.4-5.3-9.7-8.4-1.3-3.2 3.3-10.4.9-12.8-2.4-2.4-9.601 2.2-12.8.9-3.1-1.3-4.9-9.7-8.4-9.7s-5.3 8.4-8.4 9.7c-3.2 1.3-10.4-3.3-12.8-.9-2.4 2.4 2.2 9.6.9 12.8-1.3 3.1-9.7 4.9-9.7 8.4s8.4 5.3 9.7 8.4c1.3 3.2-3.3 10.4-.9 12.8 2.4 2.399 9.6-2.2 12.8-.9 3.1 1.3 4.9 9.7 8.4 9.7s5.3-8.4 8.4-9.7c3.2-1.3 10.4 3.3 12.8.9 2.4-2.4-2.2-9.6-.9-12.8 1.3-3.1 9.7-4.9 9.7-8.4zM50 68c-9.9 0-18-8.1-18-18s8.1-18 18-18 18 8.1 18 18-8.1 18-18 18z\"}]}},\ncustom30:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M71.5 28.5C66 23 58.7 20 51 20c-1.7 0-3 1.3-3 3s1.3 3 3 3c6.1 0 11.9 2.4 16.3 6.7C71.6 37.1 74 42.9 74 49c0 1.7 1.3 3 3 3s3-1.3 3-3c0-7.7-3-15-8.5-20.5z\"},{\"d\":\"M51 32c-1.7 0-3 1.3-3 3s1.3 3 3 3c2.9 0 5.7 1.1 7.8 3.2C60.9 43.3 62 46 62 49c0 1.7 1.3 3 3 3s3-1.3 3-3c0-4.5-1.8-8.8-5-12s-7.5-5-12-5zM46.7 60.7l2.6-7c1.8.7 3.8.3 5.3-1.101 2-2 2-5.1 0-7.1s-5.1-2-7.1 0c-1.5 1.5-1.8 3.7-1 5.6L40 54 28.3 42.3c-.8-.8-2.2-.8-2.9.1-7.5 9-7 22.4 1.5 30.8 8.4 8.399 21.8 8.899 30.8 1.5.9-.7.9-2.1.1-2.9L46.7 60.7z\"}]}},\ncustom31:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M75.5 43.2l-4.9-15.4C69.7 24.9 67 23 64 23H36c-3 0-5.7 1.9-6.7 4.8l-4.8 15.4c-2.6.7-4.5 3-4.5 5.8v12c0 2.6 1.7 4.8 4 5.7V75c0 1.1.9 2 2 2h8c1.1 0 2-.9 2-2v-8h28v8c0 1.1.9 2 2 2h8c1.1 0 2-.9 2-2v-8.3c2.3-.8 4-3 4-5.7V49c0-2.8-1.9-5.1-4.5-5.8zM30 60c-2.8 0-5-2.2-5-5s2.2-5 5-5 5 2.2 5 5-2.2 5-5 5zm22-17H32.2c-.7 0-1.2-.7-1-1.3l3.8-12c.1-.4.5-.7.9-.7h28c.399 0 .8.3.899.6l3.8 12.1c.2.6-.3 1.3-1 1.3H52zm17 17c-2.8 0-5-2.2-5-5s2.2-5 5-5 5 2.2 5 5-2.2 5-5 5z\"}},\ncustom32:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M78.5 35.3L55.1 48.6c-.5.3-1 .4-1.5.4-1.1 0-2.199-.6-2.699-1.7-.7-1.4 0-3.2 1.399-4l7.8-4.4v-7.7c0-.8-.8-1.2-1.5-.9L30.1 46.6c-.5.3-1 .4-1.5.4-1 0-2.1-.5-2.6-1.5-.8-1.4-.3-3.3 1.1-4.1l4.9-2.8V22c0-1.1-.9-2-2-2h-8c-1.1 0-2 .9-2 2v52c0 3.3 2.7 6 6 6h17c1.1 0 2-.9 2-2v-7c0-1.1.9-2 2-2h6c1.1 0 2 .9 2 2v7c0 1.1.9 2 2 2h17c3.3 0 6-2.7 6-6V36.2c0-.8-.8-1.3-1.5-.9zM35 63c0 1.1-.9 2-2 2h-2c-1.1 0-2-.9-2-2v-6c0-1.1.9-2 2-2h2c1.1 0 2 .9 2 2v6zm12 0c0 1.1-.9 2-2 2h-2c-1.1 0-2-.9-2-2v-6c0-1.1.9-2 2-2h2c1.1 0 2 .9 2 2v6zm12 0c0 1.1-.9 2-2 2h-2c-1.1 0-2-.9-2-2v-6c0-1.1.9-2 2-2h2c1.1 0 2 .9 2 2v6zm12 0c0 1.1-.9 2-2 2h-2c-1.1 0-2-.9-2-2v-6c0-1.1.9-2 2-2h2c1.1 0 2 .9 2 2v6z\"}},\ncustom33:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M65 42H36c-1.1 0-2 .9-2 2v8c0 1.1.9 2 2 2h29c1.1 0 2-.9 2-2v-8c0-1.1-.9-2-2-2zm-14 9c-1.7 0-3-1.3-3-3s1.3-3 3-3 3 1.3 3 3-1.3 3-3 3z\"},{\"d\":\"M80 28H20c-1.1 0-2 .9-2 2v2c0 2.2 1.8 4 4 4v36c0 1.1.9 2 2 2h2c1.1 0 2-.9 2-2V36h45v36c0 1.1.9 2 2 2h2c1.1 0 2-.9 2-2V36h-1c2.2 0 4-1.8 4-4v-2c0-1.1-.9-2-2-2z\"}]}},\ncustom34:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M42 30h16c1.1 0 2-1.1 1.8-2.2-1-4.5-5-7.8-9.8-7.8s-8.8 3.4-9.8 7.8c-.2 1.1.7 2.2 1.8 2.2z\"},{\"d\":\"M77 56c1.7 0 3.1-1.4 3-3.2-.1-1.6-1.5-2.8-3.2-2.8H68v-5c5.8-2.3 9.9-8.5 10-15.9 0-1.5-1-2.8-2.5-3.1-1.9-.3-3.5 1.1-3.5 3 0 4.3-2 8-4.9 9.8-1.1-1.7-3-2.8-5.1-2.8H38c-2.1 0-4 1.1-5.1 2.8C30 37 28 33.4 28 29.2c0-1.6-1.2-3.1-2.8-3.2-1.8-.1-3.2 1.3-3.2 3 0 7.4 4.2 13.7 10 16v5h-8.8c-1.6 0-3.1 1.2-3.2 2.8-.1 1.7 1.3 3.2 3 3.2h9v5c-5.8 2.3-9.9 8.5-10 15.9 0 1.5 1 2.8 2.5 3.1 1.9.3 3.5-1.1 3.5-3 0-4.2 1.9-7.9 4.8-9.7 1.7 5.601 6.1 10 11.6 11.8 1.3.4 2.6-.6 2.6-1.899v-24c0-1.601 1.2-3.1 2.8-3.2 1.7-.1 3.2 1.3 3.2 3v24.2c0 1.399 1.3 2.3 2.6 1.899 5.5-1.8 9.9-6.199 11.601-11.8 2.8 1.8 4.7 5.4 4.8 9.5 0 1.601 1.2 3.101 2.8 3.2 1.8.1 3.2-1.3 3.2-3 0-7.4-4.2-13.7-10-16v-5H77z\"}]}},\ncustom35:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M69 40c-1.7 0-3 1.3-3 3v5c0 8.8-7.2 16-16 16s-16-7.2-16-16v-5c0-1.7-1.3-3-3-3s-3 1.3-3 3v5c0 11.1 8.3 20.3 19 21.8V74h-5c-1.7 0-3 1.3-3 3s1.3 3 3 3h16c1.7 0 3-1.3 3-3s-1.3-3-3-3h-5v-4.2C63.7 68.3 72 59.1 72 48v-5c0-1.7-1.3-3-3-3z\"},{\"d\":\"M50 58c5.5 0 10-4.5 10-10V29.9c0-5.5-4.4-9.9-9.9-9.9h-.2c-5.5 0-9.9 4.4-9.9 9.9V48c0 5.5 4.5 10 10 10z\"}]}},\ncustom36:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M38.7 72h-4.1c-.7 0-1.4.4-1.7 1l-1.4 2.4c-.8 1.4-.5 3.2.8 4.1.5.4 1.1.5 1.7.5 1 0 2-.5 2.6-1.5l3-5c.4-.7-.1-1.5-.9-1.5zM67.1 73c-.399-.6-1-1-1.699-1H61.3c-.8 0-1.3.8-.899 1.5l3 5C64 79.5 65 80 66 80c.6 0 1.2-.2 1.7-.5 1.3-.9 1.6-2.8.8-4.1L67.1 73zM67 20H33c-3.3 0-6 2.7-6 6v34c0 3.3 2.7 6 6 6h34c3.3 0 6-2.7 6-6V26c0-3.3-2.7-6-6-6zM36 62c-1.7 0-3-1.3-3-3s1.3-3 3-3 3 1.3 3 3-1.3 3-3 3zm28 0c-1.7 0-3-1.3-3-3s1.3-3 3-3 3 1.3 3 3-1.3 3-3 3zm3-12c0 1.1-.9 2-2 2H35c-1.1 0-2-.9-2-2V30c0-1.1.9-2 2-2h30c1.1 0 2 .9 2 2v20z\"}}},\ncustom37:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M80 56H67V44.2c2.7 2.3 6.2 3.8 10 3.8 1.7 0 3-1.3 3-3s-1.3-3-3-3c-5.5 0-10-4.9-10-11v-3c1.1 0 2-.9 2-2v-2c0-1.1-.9-2-2-2h-6c-1.1 0-2 .9-2 2v2c0 1.1.9 2 2 2v3c0 6.1-4.9 11-11 11s-11-4.9-11-11v-3c1.1 0 2-.9 2-2v-2c0-1.1-.9-2-2-2h-6c-1.1 0-2 .9-2 2v2c0 1.1.9 2 2 2v3c0 6.1-4.5 11-10 11-1.7 0-3 1.3-3 3s1.3 3 3 3c3.8 0 7.3-1.4 10-3.8V56H20c-1.1 0-2 .9-2 2v4.8c0 1.101.9 2.2 2 2.2h4v10.8c0 1.101.9 2.2 2 2.2h6c1.1 0 2-1.1 2-2.2v-4c0-3.3 2.7-5.8 6-5.8h20c3.3 0 6 2.5 6 5.8v4c0 1.101.9 2.2 2 2.2h6c1.1 0 2-1.1 2-2.2V65h4c1.1 0 2-1.1 2-2.2V58c0-1.1-.9-2-2-2zM39 43.9c3 2.5 6.8 4.1 11 4.1s8-1.5 11-4.1V56H39V43.9z\"}},\ncustom38:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M50 45c-4.4 0-8 3.6-8 8s3.6 8 8 8 8-3.6 8-8-3.6-8-8-8z\"},{\"d\":\"M74 35h-8.1c-.801 0-1.5-.4-1.801-1.2l-2.6-5.5c-1-2-3.1-3.3-5.4-3.3H43.9c-2.3 0-4.4 1.3-5.4 3.3l-2.6 5.5c-.3.7-1 1.2-1.8 1.2H26c-3.3 0-6 2.7-6 6v28c0 3.3 2.7 6 6 6h48c3.3 0 6-2.7 6-6V41c0-3.3-2.7-6-6-6zM50 67.2c-7.7 0-14-6.3-14-14s6.3-14 14-14 14 6.3 14 14-6.3 14-14 14z\"}]}},\ncustom39:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M63.6 28.6c-.199-.8-1.1-1.3-1.899-1.1l-40.3 13c-1 .3-1.5 1.4-1.3 2.4l1.6 6.2c.3 1 1.3 1.7 2.3 1.5L34.2 49.2c.3 1.1.8 2.2 1.5 3.1L27 75.9c-.6 1.6.2 3.3 1.8 3.899.3.101.7.2 1 .2 1.2 0 2.4-.8 2.8-2l8.2-22.4c.7.2 1.3.2 2 .2s1.4-.1 2-.2L53.1 78c.4 1.2 1.601 2 2.801 2 .3 0 .699-.1 1-.2 1.6-.6 2.399-2.3 1.8-3.899L50 52.2c1.1-1.5 1.8-3.4 1.8-5.4v-.1l14.101-2c.899-.1 1.5-1 1.199-1.9l-3.5-14.2zM79.9 42.7l-5.5-20.4c-.4-1.6-2.101-2.6-3.7-2.2-1.601.4-2.601 2.1-2.2 3.7L74 44.2c.4 1.6 2.1 2.6 3.7 2.2 1.6-.4 2.6-2.1 2.2-3.7z\"}}},\ncustom4:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M26.2 32.7L47 20.8c1.9-1.1 4.3-1.1 6.2 0l20.7 11.9c1.899 1.1 3.1 3.2 3.1 5.4v23.8c0 2.199-1.1 4.3-3.1 5.399L53.2 79.2c-1.9 1.1-4.3 1.1-6.2 0L26.2 67.3c-1.9-1.1-3.2-3.2-3.2-5.4V38.1c0-2.2 1.3-4.3 3.2-5.4z\"}},\ncustom40:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M74 28H26c-3.3 0-6 2.7-6 6v34c0 3.3 2.7 6 6 6h48c3.3 0 6-2.7 6-6V34c0-3.3-2.7-6-6-6zm0 6v6H26v-6h48zM26 68V50h48v18H26z\"},{\"d\":\"M43.1 55c-1.4 0-2.6.7-3.3 1.8-.1.2-.4.2-.5 0-.7-1.1-1.9-1.8-3.3-1.8-2.2 0-4 1.8-4 4s1.8 4 4 4c1.4 0 2.6-.7 3.3-1.8.1-.2.4-.2.5 0 .7 1.1 1.9 1.8 3.3 1.8h.1c2.1 0 3.9-1.7 3.9-3.9v-.2c-.1-2.2-1.8-3.9-4-3.9zM66 56H54c-1.1 0-2 .9-2 2v2c0 1.1.9 2 2 2h12c1.1 0 2-.9 2-2v-2c0-1.1-.9-2-2-2z\"}]}},\ncustom41:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M76 29H24c-3.3 0-6 2.7-6 6v29c0 3.3 2.7 6 6 6h52c3.3 0 6-2.7 6-6V35c0-3.3-2.7-6-6-6zM31 64c0-3.9-3.1-7-7-7V42c3.9 0 7-3.1 7-7h38c0 3.9 3.1 7 7 7v15c-3.9 0-7 3.1-7 7H31z\"},\"circle\":{\"cx\":\"50\",\"cy\":\"49\",\"r\":\"10\"}}},\ncustom42:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M74 22H26c-3.3 0-6 2.7-6 6v6c0 1.1.9 2 2 2h56c1.1 0 2-.9 2-2v-6c0-3.3-2.7-6-6-6zM74 42H26c-1.1 0-2 .9-2 2v28c0 3.3 2.7 6 6 6h40c3.3 0 6-2.7 6-6V44c0-1.1-.9-2-2-2zm-13 9c0 1.6-1.3 3-3 3H42c-1.6 0-3-1.3-3-3 0-1.6 1.3-3 3-3h16c1.7 0 3 1.3 3 3z\"}}},\ncustom43:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M81.7 43.2s.1 0 0 0c.1-.3.2-.4.2-.6v-.2-.6-.4-.2c0-.1-.101-.2-.101-.3s0-.1-.1-.2c0-.1-.101-.2-.2-.3 0-.1-.1-.1-.1-.2l-12-17C68.9 22.5 68 22 67 22H31c-1 0-1.9.5-2.5 1.3l-12 17c0 .1-.1.1-.1.2-.1.1-.1.2-.2.3 0 .1 0 .1-.1.2 0 .1-.1.2-.1.3V42.7c0 .2.1.4.2.5v.1c.1.1.1.3.2.4 0 .1.1.1.1.2l.2.2 30 33 .1.101.1.1.1.099s.1 0 .1.1c.1 0 .1.1.2.1 0 0 .1 0 .1.101 0 0 .1 0 .1.1 0 0 .1 0 .1.101H49.7s.1 0 .1-.101c0 0 .1 0 .1-.1 0 0 .1 0 .1-.101 0 0 .1 0 .1-.1.1 0 .1-.1.2-.1 0 0 .1 0 .1-.101l.1-.1.1-.101.1-.098 30-33 .2-.2c0-.1.1-.1.1-.2.6-.1.7-.2.7-.4zM49 39h-4.8l4.8-8.1 4.8 8.1H49zm0 6h6l-6 19.7L43 45h6zm5.2-17h7.5l-2.8 8-4.7-8zm-15.1 8l-2.8-8h7.5l-4.7 8zm-2.3 9l5.5 18.1L25.8 45h11zm24.4 0h11L55.7 63.1 61.2 45zm12-6h-9l3-8.5 6 8.5zm-42.4-8.5l3 8.5h-9l6-8.5z\"}},\ncustom44:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M69.7 28.9C64.4 22.3 60.1 20 51 20c-4.1 0-9 1.6-11 2 0-1.1-.9-2-2-2h-4c-1.1 0-2 .9-2 2v8c0 1.1.9 2 2 2h4c1.1 0 2-.9 2-2h2.1c1.6 0 2.9 1.3 2.9 2.9v.1c0 1.7 1.3 3 3 3v16c-2.2 0-4 1.8-4 4v18c0 3.3 2.7 6 6 6h2c3.3 0 6-2.7 6-6V56c0-2.2-1.8-4-4-4V36c1.7 0 3-2.2 3-3.9V32c0-1.5 1.2-2.7 2.7-2.8 4-.2 6.2 1.4 7.3 2.3.6.5 1.6.6 2.2.1 1-.6 1.2-1.8.5-2.7z\"}},\ncustom45:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M33 43h34v14H33z\"},{\"d\":\"M82 41.3V36c0-3.3-2.7-6-6-6H24c-3.3 0-6 2.7-6 6v5.3c0 .7.4 1.4 1 1.7 2.4 1.4 4 4 4 6.9 0 3-1.6 5.5-4 6.9-.6.4-1 1-1 1.7V64c0 3.3 2.7 6 6 6h52c3.3 0 6-2.7 6-6v-5.3c0-.7-.4-1.4-1-1.7-2.4-1.4-4-4-4-6.9 0-3 1.6-5.5 4-6.9.6-.5 1-1.1 1-1.9zM71 63H29c-1.1 0-2-.9-2-2V39c0-1.1.9-2 2-2h42c1.1 0 2 .9 2 2v22c0 1.1-.9 2-2 2z\"}]}},\ncustom46:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M61 37H39c-1.1 0-2 .9-2 2v22c0 1.1.9 2 2 2h22c1.1 0 2-.9 2-2V39c0-1.1-.9-2-2-2z\"},{\"d\":\"M78.5 27.2c.9-.3 1.5-1 1.5-1.9V22c0-1.1-.9-2-2-2h-3.3c-.9 0-1.601.6-1.9 1.5-.6 2-2.5 3.5-4.8 3.5s-4.1-1.5-4.8-3.5c-.3-.9-1-1.5-1.9-1.5h-4.6c-.9 0-1.601.6-1.9 1.5-.6 2-2.5 3.5-4.8 3.5s-4.1-1.5-4.8-3.5c-.3-.9-1-1.5-1.9-1.5h-4.6c-.9 0-1.6.6-1.9 1.5-.6 2-2.5 3.5-4.8 3.5-2.2 0-4.1-1.5-4.8-3.5-.3-.9-1-1.5-1.9-1.5H22c-1.1 0-2 .9-2 2v3.3c0 .9.6 1.6 1.5 1.9 2 .6 3.5 2.5 3.5 4.8s-1.5 4.1-3.5 4.8c-.9.3-1.5 1-1.5 1.9v4.6c0 .9.6 1.6 1.5 1.9 2 .6 3.5 2.5 3.5 4.8s-1.5 4.1-3.5 4.8c-.9.3-1.5 1-1.5 1.9v4.6c0 .9.6 1.601 1.5 1.9 2 .6 3.5 2.5 3.5 4.8s-1.5 4.1-3.5 4.8c-.9.3-1.5 1-1.5 1.9V78c0 1.1.9 2 2 2h3.3c.9 0 1.6-.6 1.9-1.5.6-2 2.5-3.5 4.8-3.5 2.2 0 4.1 1.5 4.8 3.5.3.9 1 1.5 1.9 1.5h4.6c.9 0 1.6-.6 1.9-1.5.6-2 2.5-3.5 4.8-3.5s4.1 1.5 4.8 3.5c.3.9 1 1.5 1.9 1.5h4.6c.9 0 1.601-.6 1.9-1.5.6-2 2.5-3.5 4.8-3.5s4.1 1.5 4.8 3.5c.3.9 1 1.5 1.9 1.5H78c1.1 0 2-.9 2-2v-3.3c0-.9-.6-1.601-1.5-1.9-2-.6-3.5-2.5-3.5-4.8s1.5-4.1 3.5-4.8c.9-.3 1.5-1 1.5-1.9v-4.6c0-.9-.6-1.601-1.5-1.9-2-.6-3.5-2.5-3.5-4.8s1.5-4.1 3.5-4.8c.9-.3 1.5-1 1.5-1.9v-4.6c0-.9-.6-1.6-1.5-1.9-2-.6-3.5-2.5-3.5-4.8s1.5-4.1 3.5-4.8zM69 63c0 3.3-2.7 6-6 6H37c-3.3 0-6-2.7-6-6V37c0-3.3 2.7-6 6-6h26c3.3 0 6 2.7 6 6v26z\"}]}},\ncustom47:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M64 72H30c-3.3 0-6 2.7-6 6v.1c0 1 .9 1.9 1.9 1.9h42.2c1 0 1.9-.9 1.9-1.9V78c0-3.3-2.7-6-6-6zM77.4 40.4L61.5 25.6l2.6-3.9c.4-.6.101-1.4-.6-1.5-4.9-1-7.9 2.4-7.9 2.4-30.8 0-25.8 33.9-24.3 41.8.2.899 1 1.6 2 1.6h27.1c.8 0 1.3-1 .8-1.6-5.5-6.7-8.4-14.2-10.2-19-.3-.8.5-1.7 1.3-1.3 7.3 3.7 10.3-.3 15.2 2.8 2.4 1.5 5.4 1.1 7.4-.9l2.699-2.7c.601-.8.601-2.1-.199-2.9zM57 37c-1.7 0-3-1.3-3-3s1.3-3 3-3 3 1.3 3 3-1.3 3-3 3z\"}}},\ncustom48:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M78 24H68v-2c0-1.1-.9-2-2-2H34c-1.1 0-2 .9-2 2v2H22c-1.1 0-2 .9-2 2v13c0 5 4 9 9 9h4.6c2.8 6.4 8.9 10.9 16.3 11 7.6.1 14-4.5 16.7-11H71c5 0 9-4 9-9V26c0-1.1-.9-2-2-2zM29 42c-1.7 0-3-1.3-3-3v-9h6v10.6c0 .5 0 .9.1 1.4H29zm45-3c0 1.7-1.3 3-3 3h-3.1c0-.4.1-.9.1-1.3V30h6v9zM60 74h-1c-3.3 0-6-2.7-6-6v-2c0-.6-.4-1-1-1h-4c-.6 0-1 .4-1 1v2c0 3.3-2.7 6-6 6h-1c-1.1 0-2 .9-2 2v2c0 1.1.9 2 2 2h20c1.1 0 2-.9 2-2v-2c0-1.1-.9-2-2-2z\"}}},\ncustom49:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M50 41c-5 0-9 4-9 9s4 9 9 9 9-4 9-9-4-9-9-9zm0 14c-2.8 0-5-2.2-5-5s2.2-5 5-5 5 2.2 5 5-2.2 5-5 5z\"},{\"d\":\"M50 20c-16.6 0-30 13.4-30 30s13.4 30 30 30 30-13.4 30-30-13.4-30-30-30zm0 52.9c0 1.199-1 2.1-2.2 2-12.1-1-21.7-10.7-22.8-22.8 0-1.1.9-2.1 2.1-2.1h2c1 0 1.9.8 2 1.8.9 9 8.1 16.2 17.1 17.1 1 .1 1.8 1 1.8 2v2zm0-7.9c-8.3 0-15-6.7-15-15s6.7-15 15-15 15 6.7 15 15-6.7 15-15 15zm22.9-15h-2c-1 0-1.9-.8-2-1.8-.9-9-8.1-16.2-17.1-17.1-1-.1-1.8-1-1.8-2v-2c0-1.2 1-2.1 2.2-2 12.1 1 21.7 10.7 22.8 22.8 0 1.1-.9 2.1-2.1 2.1z\"}]}},\ncustom5:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M78.8 25.5c-10.2-3.9-22.1-4.8-32.5-1.4-9.3 3.1-18.8 10-20.2 20.4-.3 2.2-.2 4.5.3 6.6.2 1.101.6 2.2 1 3.301.2.6.4 1.1.7 1.6l-1.2 1.8C24 62.3 22 67.4 20.8 72.6c-.5 2.2-1.7 5.4.6 7 .9.601 2.2.601 3.1.101 1.2-.7 1.4-1.9 1.6-3.2.9-5.3 2.7-10.6 5.6-15.1 1.4-2.2 2.9-4.4 4.6-6.4 1.5-1.6 3.7-4.7 6.2-3.8 2.5.899 2.4 3.8.7 5.3s-3.1 3.1-3.1 5.5c0 1.8.8 3.6 2.3 4.8 2 1.601 6 2 8.4 1.8 5.3-.3 9.601-1.899 13.9-5C70.3 59.7 72.5 52.9 73.6 46.4c.7-4 1.2-8 2.601-11.8.6-1.6 1.399-3.2 2.3-4.6.4-.7 1.2-1.5 1.4-2.3.299-1-.301-1.9-1.101-2.2z\"}},\ncustom50:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M76.6 56.3C74.3 57.4 71.7 58 69 58c-3.3 0-6.3-.9-9-2.4a.912.912 0 00-1 0c-2.6 1.6-5.7 2.4-9 2.4s-6.3-.9-9-2.4a.912.912 0 00-1 0c-2.6 1.6-5.7 2.4-9 2.4-2.7 0-5.3-.6-7.6-1.7-.6-.3-1.4.2-1.4.9v12.1c0 2.4 1.4 4.5 3.6 5.5 5 2.2 10.4 3.8 16.1 4.601 1.2.199 2.3-.801 2.3-2v-7.5c0-3.301 2.7-5.9 5.9-5.9h.1c3.3 0 5.9 2.7 5.9 5.9v7.5c0 1.199 1.1 2.1 2.3 2 5.6-.801 11-2.4 16.1-4.601 2.2-1 3.601-3.1 3.601-5.5V57.2c.099-.7-.701-1.2-1.301-.9zM31 52c3.6 0 6.7-1.5 8.7-3.9.4-.5 1.1-.5 1.5 0 2 2.4 5.2 3.9 8.7 3.9 3.6 0 6.7-1.5 8.7-3.9.4-.5 1.101-.5 1.5 0 2 2.4 5.2 3.9 8.7 3.9 5.601 0 10.3-3.9 10.9-8.8.1-.7-.2-1.4-.8-1.8l-25.3-20c-2.199-1.7-5.3-1.7-7.399 0l-25.5 20c-.6.4-.8 1.1-.8 1.8C20.7 48.2 25.4 52 31 52z\"}}},\ncustom51:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M40.5 25.6c2.5 1.7 5 5.8 6 8.9.2.7.8 1.2 1.5 1.3.7.2 1.3.2 2 .2 1.1 0 2 0 2.9-.4 2.6-.9 4.8-2 6.699-3.9 3.101-3.1 4.2-7.5 3-11.2-3.699-1.1-8.1-.1-11.199 3-.9.9-1.601 1.9-2.2 3-1.6-2.5-3.5-4.7-5.7-6.1-1.5-.9-3.4-.4-4.3 1.1-.6 1.5 0 3.2 1.3 4.1zM71.2 40.2c-10.3-5.8-12.5 2-21.2 2s-10.9-7.8-21.2-2c-10 5.7-7.1 24.1-3.1 31 3.6 6.1 10.1 12.4 23.4 6.4.5-.199 1.2-.199 1.7 0 13.3 6 19.9-.3 23.4-6.399 4.1-6.901 7-25.401-3-31.001z\"}}},\ncustom52:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M79.9 35.1c.199-3.2 0-6.4-.5-9.5-.4-2.6-2.4-4.6-5-5-3.2-.5-6.301-.7-9.5-.5-.9 0-1.301 1.1-.7 1.7l14 14c.6.6 1.7.1 1.7-.7zM56.3 22.3c-.5-.5-1.3-.7-1.899-.5-7.5 2.1-14.7 6.1-20.601 12.1-5.8 5.8-9.7 12.7-11.9 20-.2.699 0 1.5.5 2l21.8 21.8c.5.5 1.3.7 2 .5 7.3-2.2 14.2-6.101 20-11.9 5.899-5.899 10-13 12.1-20.6.2-.7 0-1.4-.5-1.9L56.3 22.3zm-8.4 39.3c-1.2 1.2-3.1 1.2-4.2 0L38.1 56c-1.2-1.2-1.2-3.1 0-4.2 1.2-1.2 3.1-1.2 4.2 0l5.6 5.601c1.2 1.099 1.2 2.999 0 4.199zm7-7c-1.2 1.2-3.101 1.2-4.2 0L45.1 49c-1.2-1.2-1.2-3.1 0-4.2 1.2-1.2 3.1-1.2 4.2 0l5.601 5.6c1.199 1.1 1.199 3-.001 4.2zm7-7.1c-1.2 1.2-3.101 1.2-4.2 0l-5.6-5.6c-1.199-1.2-1.199-3.1 0-4.2 1.2-1.2 3.101-1.2 4.2 0l5.601 5.6c1.199 1.2 1.199 3.1-.001 4.2zM20.1 64.3c-.2 3.4-.1 6.8.5 10.2.4 2.6 2.4 4.6 5 5 3.4.5 6.8.7 10.2.5.9-.1 1.3-1.1.7-1.7L21.8 63.6c-.6-.6-1.7-.2-1.7.7z\"}}},\ncustom53:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M74.7 57h-.6c-2.3 0-4.1-1.8-4.1-4.1V39.7c0-11.6-10.4-20.9-22.3-19.5C37.5 21.3 30 30.2 30 40.5v11.9c0 2.5-2.1 4.6-4.6 4.6h-.1c-1.8 0-3.3 1.5-3.3 3.3v2.4c0 1.8 1.5 3.3 3.3 3.3h49.4c1.8 0 3.3-1.5 3.3-3.3v-2.4c0-1.8-1.5-3.3-3.3-3.3zM56.6 72H43.4c-.8 0-1.5.6-1.3 1.4.7 3.8 4 6.6 8 6.6s7.2-2.7 8-6.6c0-.8-.6-1.4-1.5-1.4z\"}}},\ncustom54:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M27.2 49.1c6.5-1.2 12.2-3.8 18.4-6.7 2-.9 5.7-2.7 7.5-3.5.601-.3 1-.9.801-1.6C53.4 34.4 51 32 48 32h-2v-3.8c0-1.1-1-2.1-2-2.1V22c0-1.1-.9-2.1-2-2.1h-4c-1.1 0-2 .9-2 2.1v4.1c-1 0-2 .9-2 2.1V32h-2c-3.3 0-6 3.1-6 6.5v9.6c0 .6.6 1.1 1.2 1zM72 69.2s7.3-11.4 8-27.5c0-1.2-.9-2.2-2.1-2.2-23.8.9-34.9 15.5-56 16.4-1.1 0-1.9 1-1.9 2v7.6c0 3.3 2.5 5.9 5.6 6.1 10.5.7 33 2.2 45.9 4.301 1.3.199 2.5-1 2.3-2.301-.3-1.5-.8-3.3-1.8-4.4zM71 51c-1.7 0-3-1.3-3-3s1.3-3 3-3 3 1.3 3 3-1.3 3-3 3z\"}}},\ncustom55:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M32 61h13c1.1 0 2-.9 2-2V29c0-2.2-2-4-4-4H32.3C31 25 30 26 30 27.3V59c0 1.1.9 2 2 2z\"},{\"d\":\"M76 31v32c0 2.2-1.8 4-4 4H28c-2.2 0-4-1.8-4-4V31c-3.3 0-6 2.7-6 6v30c0 3.3 2.7 6 6 6h19c1.1 0 2 .9 2 2s.9 2 2 2h6c1.1 0 2-.9 2-2s.9-2 2-2h19c3.3 0 6-2.7 6-6V37c0-3.3-2.7-6-6-6z\"},{\"d\":\"M55 61h12.7c1.3 0 2.3-1 2.3-2.3V27c0-1.1-.9-2-2-2H57c-2 0-4 1.8-4 4v30c0 1.1.9 2 2 2z\"}]}},\ncustom56:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M62.7 30.3c-6.3 6.3-13.9-1.4-20.9 5.6L21.7 56c-2.3 2.3-2.3 6 0 8.3l7 7 7 7c2.3 2.3 6 2.3 8.3 0l20.2-20.2c7-7-.7-14.6 5.6-20.899l1.601-1.6c.399-.4.399-1 0-1.4l-5.5-5.5c-.4-.4-1-.4-1.4 0L62.7 30.3zM57.9 56l-7 7c-.8.8-2 .8-2.8 0l-5.6-5.6-5.6-5.6c-.8-.8-.8-2 0-2.8l7-7c.8-.8 2-.8 2.8 0l5.6 5.6 5.601 5.6c.799.8.799 2-.001 2.8zM79.4 24.7l-2.1-2.1-2.1-2.1c-.8-.8-2-.8-2.8 0l-2.6 2.6c-.399.4-.399 1 0 1.4l5.5 5.5c.4.4 1 .4 1.4 0l2.6-2.6c.9-.6.9-1.9.1-2.7z\"}}},\ncustom57:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M53 52.6V77c0 .8.8 1.2 1.5.9 4.8-2.7 19.4-11 19.4-11 1.9-1.1 3.1-3.1 3.1-5.3V39.7c0-.8-.8-1.2-1.5-.9L54 50.9c-.6.4-1 1-1 1.7zM51 45.8l21.6-12.1c.7-.4.7-1.3 0-1.7-4.8-2.7-19.5-11.1-19.5-11.1a6.237 6.237 0 00-6.2 0S32.2 29.2 27.4 32c-.7.4-.7 1.3 0 1.7L49 45.8c.6.3 1.4.3 2 0zM46 50.9L24.5 38.8c-.7-.4-1.5.1-1.5.9v21.8c0 2.2 1.2 4.2 3.1 5.3 0 0 14.6 8.3 19.4 11 .7.4 1.5-.1 1.5-.899V52.6c0-.7-.4-1.3-1-1.7z\"}}},\ncustom58:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M67 46c-1.7 0-3.1-1.4-3-3.2.1-1.6 1.5-2.8 3.2-2.8h8.6c.4 0 .7-.2.9-.5.8-1.4 1.399-2.8 1.899-4.1.201-.7-.199-1.4-.899-1.4h-6.4c-1.6 0-3.1-1.2-3.2-2.8-.1-1.7 1.3-3.2 3-3.2h8c.601 0 1-.4 1-1v-3c0-1.1-.899-2-2-2H67.4c-3 0-5.4 2.4-5.4 5.4v.1c0 5.6-3.7 10.6-9 12v-8.3c2.1-1.2 3.4-3.5 3-6.2-.4-2.6-2.6-4.7-5.2-5-3.6-.4-6.7 2.4-6.7 6 0 2.2 1.2 4.1 3 5.2v8.4c-5.3-1.4-9-6.4-9-12v-.1c0-3-2.4-5.4-5.4-5.4H22c-1.1 0-2 .9-2 2v3c0 .6.4 1 1 1h7.8c1.6 0 3.1 1.2 3.2 2.8.1 1.7-1.3 3.2-3 3.2h-6.5c-.7 0-1.2.7-.9 1.4.5 1.3 1.1 2.7 1.9 4.1.2.3.5.5.9.5H33c1.6 0 3.1 1.2 3.2 2.8.1 1.7-1.3 3.2-3 3.2h-2.4c-.9 0-1.4 1.2-.6 1.8 4.2 3.6 9.8 6.2 17 6.2v22.8c0 1.6 1.2 3.1 2.8 3.199 1.7.101 3.2-1.3 3.2-3V54c7.2 0 12.8-2.6 17-6.2.7-.6.3-1.8-.601-1.8H67z\"}},\ncustom59:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M68.3 31c1 0 1.7-.8 1.7-1.7 0-.7-.4-1.4-1.1-1.8-1.301-.7-3.301-4.1-4-6.2-.2-.8-1-1.3-1.801-1.3H38.8c-.8 0-1.6.5-1.8 1.3-.6 2-2.7 5.5-3.9 6.2-.6.4-1 1-1 1.8 0 1 .8 1.7 1.7 1.7h34.5zM32 73.9c0 3.399 2.7 6.1 6 6.1h26c3.3 0 6-2.7 6-6v-.1c0-1.101-.9-1.9-1.9-1.9H33.9c-1 0-1.9.9-1.9 1.9zM70 64V39c0-1.1-.9-2-2-2H34c-1.1 0-2 .9-2 2v25c0 1.1.9 2 2 2h34c1.1 0 2-.9 2-2z\"}}},\ncustom6:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M50 76H24c-3.1 0-5-3.4-3.4-6l26-44c1.5-2.6 5.3-2.6 6.9 0l26 44c1.6 2.7-.4 6-3.4 6H50z\"}},\ncustom60:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M80 45.3C77.6 31 65.1 20 50 20S22.4 31 20 45.3c-.2.9.9 1.6 1.6 1 1.5-1.3 3.4-2 5.6-2 2.8 0 5.2 1.3 6.8 3.3.4.5 1.2.5 1.6 0 1.6-2 4-3.3 6.8-3.3s5.2 1.3 6.8 3.3c.4.5 1.2.5 1.6 0 1.601-2 4-3.3 6.8-3.3 2.801 0 5.2 1.3 6.801 3.3.399.5 1.199.5 1.6 0 1.6-2 4-3.3 6.8-3.3 2.101 0 4.101.8 5.601 2 .698.6 1.698 0 1.598-1zM62 68c-1.7 0-3 1.3-3 3s-1.3 3-3 3-3-1.3-3-3V57c0-1.7-1.3-3-3-3s-3 1.3-3 3v14c0 5 4 9 9 9s9-4 9-9c0-1.7-1.3-3-3-3z\"}}},\ncustom61:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M73 20h-4c-1.1 0-2 .9-2 2v4c0 1.1-.9 2-2 2h-2c-1.1 0-2-.9-2-2v-4c0-1.1-.8-2-2-2h-4c-1.1 0-2 .9-2 2v4c0 1.1-.9 2-2 2h-2c-1.1 0-2-.9-2-2v-4c0-1.1-.9-2-2-2h-4c-1.1 0-2 .9-2 2v4c0 1.1-.9 2-2 2h-2c-1.1 0-2-.9-2-2v-4c0-1.1-.9-2-2-2h-4c-1.1 0-2 .9-2 2v10c0 3.3 2.7 6 6 6h38c3.3 0 6-2.7 6-6V22c0-1.1-.9-2-2-2zM68.5 45.7c-.1-1-1-1.7-2-1.7h-33c-1 0-1.9.7-2 1.7l-4.5 32c-.2 1.2.8 2.3 2 2.3h12.9c1.1 0 2.1-.9 2.1-2v-9.7c0-3.3 2.5-6.2 5.8-6.2 3.4-.1 6.2 2.601 6.2 6v10c0 1.101 1 2 2.1 2H71c1.2 0 2.2-1.1 2-2.3l-4.5-32.1z\"}}},\ncustom62:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M77 70H23c-1.6 0-3 1.3-3 3 0 1.6 1.3 3 3 3h54c1.6 0 3-1.3 3-3s-1.3-3-3-3zM24 64h34v-4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2v4h4c1.1 0 2-.9 2-2V28c0-1.1-.9-2-2-2H24c-1.1 0-2 .9-2 2v34c0 1.1.9 2 2 2zm9-26c0-1.1.9-2 2-2h29c1.1 0 2 .9 2 2v2c0 1.1-.9 2-2 2H35c-1.1 0-2-.9-2-2v-2zm0 12c0-1.1.9-2 2-2h19c1.1 0 2 .9 2 2v2c0 1.1-.9 2-2 2H35c-1.1 0-2-.9-2-2v-2z\"}}},\ncustom63:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M42 60h16c1.1 0 2-.9 2-2V42c0-1.1-.9-2-2-2H42c-1.1 0-2 .9-2 2v16c0 1.1.9 2 2 2z\"},{\"d\":\"M77 53c1.7 0 3-1.3 3-3s-1.3-3-3-3h-5v-6h5c1.7 0 3-1.3 3-3s-1.3-3-3-3h-5v-1c0-3.3-2.7-6-6-6h-1v-5c0-1.7-1.3-3-3-3s-3 1.3-3 3v5h-6v-5c0-1.7-1.3-3-3-3s-3 1.3-3 3v5h-6v-5c0-1.7-1.3-3-3-3s-3 1.3-3 3v5h-1c-3.3 0-6 2.7-6 6v1h-5c-1.7 0-3 1.3-3 3s1.3 3 3 3h5v6h-5c-1.7 0-3 1.3-3 3s1.3 3 3 3h5v6h-5c-1.7 0-3 1.3-3 3s1.3 3 3 3h5v1c0 3.3 2.7 6 6 6h1v5c0 1.7 1.3 3 3 3s3-1.3 3-3v-5h6v5c0 1.7 1.3 3 3 3s3-1.3 3-3v-5h6v5c0 1.7 1.3 3 3 3s3-1.3 3-3v-5h1c3.3 0 6-2.7 6-6v-1h5c1.7 0 3-1.3 3-3s-1.3-3-3-3h-5v-6h5zM66 63c0 1.7-1.3 3-3 3H37c-1.7 0-3-1.3-3-3V37c0-1.7 1.3-3 3-3h26c1.7 0 3 1.3 3 3v26z\"}]}},\ncustom64:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M50 20c-16.5 0-30 13.5-30 30s13.5 30 30 30 30-13.5 30-30-13.5-30-30-30zm0 52c-12.1 0-22-9.9-22-22s9.9-22 22-22 22 9.9 22 22-9.9 22-22 22z\"},{\"d\":\"M61.6 37.1l-16.6 6c-.9.3-1.6 1-1.9 1.9l-6 16.6c-.3.8.5 1.6 1.3 1.3l16.6-6c.9-.301 1.6-1 1.9-1.9l6-16.6c.3-.8-.5-1.6-1.3-1.3zM50 54c-2.2 0-4-1.8-4-4s1.8-4 4-4 4 1.8 4 4-1.8 4-4 4z\"}]}},\ncustom65:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M72.1 67H21.9c-1 0-1.9.9-1.9 1.9v.1c0 3.3 2.7 6 6 6h42c3.3 0 6-2.7 6-6v-.1c0-1-.9-1.9-1.9-1.9zM70 27H22.1c-1 0-1.8.9-1.9 2-.3 2.7-.3 7.5.1 10.4 1.3 9.3 6.3 17.2 13.2 21.4.3.2.7.3 1 .3h20.9c.399 0 .699-.1 1-.3 3.899-2.399 7.3-6 9.6-10.4 1.2.4 2.5.6 3.9.6 6.6 0 12-5.4 12-12S76.6 27 70 27zm0 18c-.5 0-1-.1-1.5-.2 1-3.2 1.5-6.6 1.5-10.2V33c3.3 0 6 2.7 6 6s-2.7 6-6 6z\"}}},\ncustom66:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M78.3 55.3L63.7 40.7c-2.3-2.3-6-2.3-8.3 0L40.7 55.3c-2.3 2.3-2.3 6 0 8.3l14.6 14.6c2.3 2.3 6 2.3 8.3 0l14.6-14.6c2.4-2.2 2.4-6 .1-8.3zM50.7 62c-1.4 1.4-3.6 1.4-4.9 0-1.4-1.4-1.4-3.6 0-4.9 1.4-1.399 3.6-1.399 4.9 0 1.3 1.3 1.3 3.5 0 4.9zM62 73.3c-1.4 1.4-3.6 1.4-4.9 0-1.4-1.4-1.4-3.6 0-4.9 1.4-1.4 3.601-1.4 4.9 0 1.3 1.3 1.3 3.5 0 4.9zm0-22.6c-1.4 1.399-3.6 1.399-4.9 0-1.399-1.4-1.399-3.6 0-4.9 1.4-1.4 3.601-1.4 4.9 0 1.3 1.3 1.3 3.5 0 4.9zM73.3 62c-1.399 1.4-3.6 1.4-4.899 0-1.4-1.4-1.4-3.6 0-4.9 1.399-1.4 3.599-1.4 4.899 0 1.4 1.3 1.4 3.5 0 4.9zM53 33.5V26c0-3.3-2.7-6-6-6H26c-3.3 0-6 2.7-6 6v21c0 3.3 2.7 6 6 6h7.5c.6 0 1.2-.3 1.6-.7.3-.399.7-.8 1.1-1.2L51 36.2c.4-.4.8-.7 1.2-1.1.5-.4.8-1 .8-1.6zM28.5 48c-1.9 0-3.5-1.6-3.5-3.5s1.6-3.5 3.5-3.5 3.5 1.6 3.5 3.5-1.6 3.5-3.5 3.5zm8-8c-1.9 0-3.5-1.6-3.5-3.5s1.6-3.5 3.5-3.5 3.5 1.6 3.5 3.5-1.6 3.5-3.5 3.5zm8-8c-1.9 0-3.5-1.6-3.5-3.5s1.6-3.5 3.5-3.5 3.5 1.6 3.5 3.5-1.6 3.5-3.5 3.5z\"}}},\ncustom67:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M54 53.1L52.8 51c-.5-.8-1.3-1.3-2.2-1.3-.3 0-.6.1-.899.2l-3.5 1.3c-1.4-1.2-2.9-2-4.6-2.6L41 45c-.2-1.2-1.3-1.9-2.5-1.9H36c-1.2 0-2.3.7-2.5 2l-.6 3.5c-1.7.6-3.2 1.5-4.6 2.7L24.8 50c-.3-.1-.6-.2-.9-.2-.9 0-1.8.5-2.2 1.3l-1.2 2.1c-.6 1.1-.4 2.399.6 3.2l2.9 2.4c-.2.9-.3 1.8-.3 2.601 0 .8.1 1.8.3 2.699l-2.9 2.4c-1 .8-1.2 2.2-.6 3.2l1.2 2.1c.5.8 1.3 1.3 2.2 1.3.3 0 .6-.1.9-.199l3.5-1.301c1.4 1.2 2.9 2.101 4.6 2.601l.6 3.7C33.7 79.1 34.8 80 36 80h2.5c1.2 0 2.3-.9 2.5-2.1l.6-3.7c1.8-.601 3.4-1.601 4.8-2.8l3.3 1.3c.3.1.6.2.899.2.9 0 1.7-.5 2.2-1.2l1.2-2c.6-1.101.4-2.5-.6-3.3L50.5 64c.2-.9.3-1.8.3-2.6 0-.9-.1-1.801-.3-2.7l2.9-2.4c.9-.8 1.2-2.2.6-3.2zM37.2 68.3c-3.7 0-6.8-3-6.8-6.8s3-6.8 6.8-6.8c3.7 0 6.8 3 6.8 6.8s-3.1 6.8-6.8 6.8zM79.2 39l-2.3-1.9c.1-.7.2-1.4.2-2.1s-.1-1.5-.2-2.1l2.3-1.9c.8-.6 1-1.7.5-2.6l-1-1.7c-.4-.6-1.101-1-1.8-1-.2 0-.5.1-.7.1l-2.9 1.1c-1.1-1-2.399-1.7-3.7-2.1l-.5-3c-.199-1-1-1.6-2-1.6h-2c-1 0-1.899.6-2 1.6l-.5 2.9c-1.4.5-2.6 1.2-3.7 2.2L56 25.6c-.2-.1-.5-.1-.7-.1-.7 0-1.399.4-1.8 1l-1 1.7c-.5.9-.3 2 .5 2.6l2.3 1.9c-.1.7-.2 1.4-.2 2.1 0 .7.101 1.5.2 2.1L53 38.8c-.8.6-1 1.7-.5 2.6l1 1.7c.4.6 1.1 1 1.8 1 .2 0 .5 0 .7-.1l2.9-1.1c1.1 1 2.399 1.7 3.699 2.1l.5 2.9c.2 1 1 1.7 2 1.7h2c1 0 1.9-.7 2-1.7l.5-3c1.4-.5 2.801-1.3 3.9-2.3l2.7 1.1c.2.1.5.1.7.1.699 0 1.399-.4 1.8-1l1-1.6c.501-.4.301-1.5-.499-2.2zm-13.1 1.6c-3 0-5.5-2.5-5.5-5.5s2.5-5.5 5.5-5.5 5.5 2.5 5.5 5.5-2.4 5.5-5.5 5.5z\"}}},\ncustom68:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M50 20c-16.5 0-30 13.5-30 30s13.5 30 30 30 30-13.5 30-30-13.5-30-30-30zm23.8 27h-7.9c-.3-7.1-1.9-13.3-4.3-18 6.6 3.7 11.2 10.3 12.2 18zM47 27.3V47h-6.9c.5-9.4 3.5-16.8 6.9-19.7zM47 53v19.7c-3.4-2.9-6.4-10.3-6.9-19.7H47zm6 19.7V53h6.9c-.5 9.4-3.5 16.8-6.9 19.7zM53 47V27.3c3.4 2.9 6.4 10.3 6.9 19.7H53zM38.4 29c-2.4 4.7-3.9 10.9-4.3 18h-7.9c1-7.7 5.6-14.3 12.2-18zM26.2 53h7.9c.3 7.1 1.9 13.3 4.3 18-6.6-3.7-11.2-10.3-12.2-18zm35.4 18c2.4-4.7 3.9-10.9 4.301-18H73.8c-1 7.7-5.6 14.3-12.2 18z\"}},\ncustom69:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M52.6 45.1c-5.7-4.3-11.5-2.2-15.3 1.4-1.4 1.3-3.6 2.1-6 2.8-2.8.9-5.7 1.8-7.8 3.9-5.6 5.5-4.5 12.1 3.3 19.8l.1.1.1.1c4.6 4.5 8.8 6.7 12.6 6.7 2.8 0 5.3-1.101 7.7-3.4 2.1-2 3.1-4.9 4-7.6.8-2.3 1.6-4.6 2.9-5.9 2.3-2.2 3.6-4.8 3.899-7.4.201-1.9-.199-4.6-2.399-7.4 0 0-1.2-1.6-3.1-3.1zM40.2 69.2c-.5.5-1.2.8-2 .8s-1.4-.3-1.9-.8l-5.5-5.5c-1.1-1.101-1.1-2.8 0-3.9s2.8-1.1 3.9 0l5.5 5.5c1.1 1.1 1.1 2.8 0 3.9zM45 61c-2.8 0-5-2.2-5-5s2.2-5 5-5 5 2.2 5 5-2.2 5-5 5zM79.4 25.2l-4.6-4.6c-.8-.8-2.2-.8-3.1 0l-5.1 5.1c-.8.8-.8 2.2 0 3.1l.2.2-10.3 10.3c-.4.4-.4 1.1 0 1.5.8.7 2.1 1.9 2.9 2.7.399.4 1 .4 1.399 0L71 33.3l.2.2c.8.8 2.2.8 3.1 0l5.101-5.1c.799-.9.799-2.3-.001-3.2z\"}}},\ncustom7:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M28 78c-3.3 0-6-2.7-6-6V28c0-3.3 2.7-6 6-6h44c3.3 0 6 2.7 6 6v44c0 3.3-2.7 6-6 6H28z\"}},\ncustom70:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M47.9 63.8L36.4 52.5c-2.4-2.3-6.2-2.3-8.6 0l-7.2 7.1c-.8.801-.8 2.101 0 2.801L22 63.8l1.4 1.4L35 76.6l.7.7 2.2 2.101c.8.8 2.1.8 2.9 0L48 72.3c2.3-2.3 2.3-6.1-.1-8.5zm-18.7-4.2l1.5-1.399c.8-.8 2-.8 2.8 0l8.7 8.5c.8.8.8 2.1 0 2.8l-1.5 1.4c-.8.8-2 .8-2.8 0l-8.7-8.5c-.8-.801-.8-2.101 0-2.801zM41.7 49.2l9.3 9.1c.2.2.4.3.7.3l4.3-.1c.5 0 .9-.4.9-.9l.1-3.7c0-.5.4-.9.9-.9l3.8-.1c.5 0 .899-.4.899-.9l.101-3.7c0-.5.399-.9.899-.9l3.801-.1c.5 0 .899-.4.899-.9l.101-3.7c0-.5.399-.9.899-.9l3.8-.1c.5 0 .9-.4.9-.9l.1-3.8c0-.5.4-.8.801-.9l4.1-.6c.7-.1 1.1-.9.7-1.5l-8.8-13c-.7-1-2.101-1.1-3-.3l-26.3 26c-.6.6-.6 1.8.1 2.5z\"}}},\ncustom71:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M71.2 30.8c-5.9-5.9-13.8-9-22.1-8.8-16 .5-29.1 14.2-29.1 30.6V62c0 3.3 2.7 6 6 6h4v4.8c0 2.601 1.9 4.9 4.5 5.2 3 .3 5.5-2.1 5.5-5V55.2c0-2.601-1.9-4.9-4.5-5.2-3-.3-5.5 2.1-5.5 5v7h-2c-1.1 0-2-.9-2-2v-7.4C26 39.4 36.5 28.4 49.3 28c6.601-.2 12.7 2.2 17.4 6.8C71.4 39.4 74 45.5 74 52v8c0 1.1-.9 2-2 2h-2v-6.8c0-2.601-1.9-4.9-4.5-5.2-3-.3-5.5 2.1-5.5 5v17.8c0 2.601 1.9 4.9 4.5 5.2 3 .3 5.5-2.1 5.5-5v-5h4c3.3 0 6-2.7 6-6v-9.4c0-8.1-3-16-8.8-21.8z\"}},\ncustom72:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M77 20H23c-1.7 0-3 1.3-3 3s1.3 3 3 3h24v6.2c-10.8 1.4-19 10.6-19 21.7v6.9C28 68.1 33.8 74 41.2 74h17.7C66.2 74 72 68.1 72 60.7v-6.9c0-11.1-8.2-20.3-19-21.7V26h24c1.7 0 3-1.3 3-3s-1.3-3-3-3zM64 53.8c0 .1 0 0 0 0 0 2.9-2.3 5.2-5.2 5.2H41.2c-2.9 0-5.1-2.3-5.2-5.2v.1-.1.101C36.1 46.2 42.2 40 49.8 40h.4c7.6 0 13.7 6.2 13.8 13.8z\"},\"circle\":[{\"cx\":\"26\",\"cy\":\"76\",\"r\":\"4\"},{\"cx\":\"74\",\"cy\":\"76\",\"r\":\"4\"}]}},\ncustom73:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M23.5 35h53c1.3 0 2.3-1.3 1.9-2.5-1.2-4.1-3-7.9-5.4-11.2-.7-1-2.1-1.1-2.9-.3-2.4 2.2-5.7 3.5-9.2 3.5-3.7 0-7.101-1.5-9.601-4-.8-.7-2-.7-2.7 0-2.5 2.5-5.9 4-9.6 4-3.5 0-6.7-1.3-9.2-3.5-.9-.8-2.2-.6-2.9.3-2.4 3.3-4.2 7.1-5.4 11.2C21.2 33.7 22.2 35 23.5 35zM80 43c0-1.1-.9-2-2-2H22c-1.1 0-2 .9-2 2v.4C20 62 33 77.5 50 79.9 67 77.5 80 62 80 43.4V43z\"}}},\ncustom74:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M56 73H46c-1.1 0-2 .9-2 2v3c0 1.1.9 2 2 2h10c1.1 0 2-.9 2-2v-3c0-1.1-.9-2-2-2zM51 20c-12.2 0-22 9.4-22 21 0 7.5 4.1 14.1 10.4 17.8 2.4 1.4 4 3.8 4.5 6.5.2.9 1 1.601 2 1.601h10.4c1 0 1.8-.7 2-1.601.5-2.7 2.101-5.1 4.5-6.5C68.9 55.1 73 48.5 73 41c0-11.6-9.8-21-22-21zm-6.8 9.4c-2 3.8-3.1 8.3-3.2 11.9 0 3.7.7 7.3 2 10.8.4.9-.5 1.7-1.4 1.301C32.4 48.7 33 31.4 43 28c.8-.3 1.6.6 1.2 1.4zm7.7 23.8c-.301.8-1.5.8-1.8 0-1.6-3.9-2-8.5-2.1-12.7.1-4.2.5-8.8 2.1-12.7.3-.8 1.5-.8 1.8 0 1.6 3.9 2 8.5 2.1 12.7-.1 4.2-.5 8.8-2.1 12.7zm8.1.2c-.8.4-1.7-.4-1.4-1.3 1.4-3.6 2-7.6 2.101-11.399-.101-3.2-1.2-7.6-3.2-11.3-.4-.8.4-1.7 1.2-1.4C68.7 31.4 69.3 48.7 60 53.4z\"}}},\ncustom75:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M50 20c-1.7 0-3 1.3-3 3v54c0 1.7 1.3 3 3 3 16.5 0 30-13.5 30-30S66.5 20 50 20zm23.8 27h-7.9c-.3-7.1-1.9-13.3-4.3-18 6.6 3.7 11.2 10.3 12.2 18zM53 72.7V53h6.9c-.5 9.4-3.5 16.8-6.9 19.7zM53 47V27.3c3.4 2.9 6.4 10.3 6.9 19.7H53zm8.6 24c2.4-4.7 3.9-10.9 4.301-18H73.8c-1 7.7-5.6 14.3-12.2 18zM33.5 39.9c.8.6 2 .5 2.7-.3l5.5-6.2c.7-.8.7-2-.1-2.7l-5.5-5.5c-.7-.7-1.7-.8-2.5-.3-.4.2-.7.5-1.1.7C25 31 20 39.9 20 50c0 10.1 5 19 12.5 24.4.4.3.7.5 1.1.699.8.5 1.8.4 2.5-.3l5.5-5.5c.7-.7.8-2 .1-2.7L36.2 60.4c-.7-.801-1.9-.9-2.7-.301L31.4 61.7C29.2 58.3 28 54.3 28 50s1.2-8.3 3.4-11.7l2.1 1.6z\"}}},\ncustom76:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M52.9 55.3c-.3-.8-1.1-1.4-2-1.3H50c-11 0-20-9-20-20v-.5c0-1-1.3-1.4-1.8-.6-.7 1-1.2 2.2-1.6 3.5-1.7 5.7.5 11.9 5.3 15.4 2.2 1.601 4.5 2.3 6.9 2.601l.7 1.899c.1.3.3.5.5.601l3 1.3c.5.2.7.8.5 1.3l-1 2.9c-.2.5.1 1 .5 1.199l1.6.7c.5.2.7.8.5 1.3l-.9 3.1c-.1.5.1 1 .5 1.2l2.3 1c.5.199.7.8.5 1.3l-.8 3.1c-.1.5.1 1 .6 1.2l6.8 3.1c.5.2 1.101 0 1.301-.5l3-6.699c.199-.5.199-1 .1-1.5L52.9 55.3z\"},{\"d\":\"M79.4 54.3L63.5 37.7c.7-2.5.7-5.2-.3-8.1-1.9-5.3-6.8-9.2-12.5-9.5-8.6-.4-15.6 6.9-14.7 15.6.7 6 5.2 10.9 11.1 12.1 2.6.5 5.1.3 7.4-.5l1.4 1.5c.2.2.4.3.7.3H60c.6 0 1 .4 1 1l.3 3.1c0 .5.5.899 1 .899H64c.6 0 1 .4 1 1l.5 3.2c.1.5.5.8 1 .8H69c.6 0 1 .4 1 1l.5 3.2c.1.5.5.8 1 .8H79c.6 0 1-.399 1-1v-7.3c0-.699-.2-1.199-.6-1.499zM48 37c-2.8 0-5-2.2-5-5s2.2-5 5-5 5 2.2 5 5c0 2.7-2.2 5-5 5z\"}]}},\ncustom77:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M32 42h4c.6 0 1-.4 1-1v-1.5C37 31.9 42.7 26 50 26s13 5.9 13 13.5V41c0 .6.4 1 1 1h4c.6 0 1-.4 1-1v-1.5C69 28.6 60.7 20 50 20s-19 8.6-19 19.5V41c0 .6.4 1 1 1zM70 48H31c-3.3 0-6 2.7-6 6v20c0 3.3 2.7 6 6 6h39c3.3 0 6-2.7 6-6V54c0-3.3-2.7-6-6-6zM55.3 64.1c-.899 1.4-1.399 3-1 4.601l.7 3c.2 1.1-.6 2.3-1.8 2.3h-6.4c-1.2 0-2-1.2-1.8-2.3l.7-3.101c.4-1.6-.1-3.199-1-4.5-.9-1.3-1.3-2.899-1-4.5.5-2.399 2.5-4.3 5-4.8 4.1-.8 7.6 2.2 7.6 5.9 0 1.3-.4 2.4-1 3.4z\"}}},\ncustom78:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M78.3 29.3l-18-9c-.8-.4-1.8-.4-2.7 0L41 28.6l-16.7-8.3c-.9-.5-2-.4-2.9.1C20.5 21 20 22 20 23v45c0 1.1.6 2.2 1.7 2.7l18 9c.8.399 1.8.399 2.7 0L59 71.4l16.7 8.3c.4.2.9.3 1.3.3.5 0 1.1-.2 1.6-.4C79.5 79 80 78 80 77V32c0-1.1-.6-2.2-1.7-2.7zM74 35.1v23.7c0 1.4-1.4 2.4-2.7 1.9-4.6-1.8-1-9.5-4.3-13.7-3.1-3.9-7.2.1-11-6-3.7-5.9 1.3-10.1 5.7-12.4.6-.3 1.2-.3 1.8 0l9.3 4.7c.8.3 1.2 1 1.2 1.8zM48.5 69.9c-.7.399-1.6.3-2.2-.301C45 68.5 44 66.7 44 65c0-3-5-2-5-8 0-4.8-5.9-6.2-10.8-5.7-1.2.1-2.2-.8-2.2-2V31.1c0-1.5 1.6-2.5 2.9-1.8l10.8 5.4c.1 0 .2.1.3.1l.4.2c4.5 2.6 3.6 4.8 1.7 8-2.1 3.6-3 0-6-1s-6 1-5 3 4 0 6 2 2 5 8 3 7-1 9 1 3 6 0 9c-1.8 1.8-2.5 5.4-3.3 8-.2.5-.5 1-1 1.3l-1.3.6z\"}},\ncustom79:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M39 41c-3.9 0-7 3.1-7 7s3.1 7 7 7 7-3.1 7-7-3.1-7-7-7z\"},{\"d\":\"M79 63H60v-8h2c1.1 0 2-.9 2-2v-6c0-1.1-.9-2-2-2h-2.3c-1.601-10-10-17.8-20.4-18-11.8-.2-21.5 9.5-21.3 21.3.2 11.6 9.9 20.7 21.5 20.7H76v2c0 1.1.9 2 2 2h2c1.1 0 2-.9 2-2v-5c0-1.7-1.3-3-3-3zm-40-2c-7.2 0-13-5.8-13-13s5.8-13 13-13 13 5.8 13 13-5.8 13-13 13z\"}]}},\ncustom8:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M47 21.3l-24 26c-1.4 1.5-1.4 3.9 0 5.4l24 26c1.6 1.7 4.3 1.7 5.9 0l24-26c1.399-1.5 1.399-3.9 0-5.4l-24-26a4.05 4.05 0 00-5.9 0z\"}},\ncustom80:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M29 60c-5.5 0-10 4.5-10 10s4.5 10 10 10 10-4.5 10-10-4.5-10-10-10zm0 14c-2.2 0-4-1.8-4-4s1.8-4 4-4 4 1.8 4 4-1.8 4-4 4zM71 60c-5.5 0-10 4.5-10 10s4.5 10 10 10 10-4.5 10-10-4.5-10-10-10zm0 14c-2.2 0-4-1.8-4-4s1.8-4 4-4 4 1.8 4 4-1.8 4-4 4z\"},{\"d\":\"M70.4 54c2.199-.1 4.3.3 6.3 1 1 .4 2.1-.1 2.6-1 5.101-9.7-3.1-14.2-8.3-16.8-1.4-.6-3 .3-3 1.8v5.8c0 1.2-.8 2.4-2 2.2-7.4-1.2-14-9-22-9s-9 8-9 8c-5.6 0-11.1-.4-13.6-1-1.2-.3-2.4.7-2.4 2 0 0 0 7 10 7 8.2 0 15 6 15.9 14.2.2 2.2 0 4.399-.6 6.3-.2.7.3 1.4 1.1 1.4h9.2c.801 0 1.301-.7 1.101-1.4-.601-1.9-.8-3.9-.601-6 .7-7.8 7.3-14.2 15.3-14.5zM19 47zM45.3 31.5c.1.8.7 1.5 1.4 1.7l10.6 3.6c1 .3 2-.1 2.5-1l.9-1.7c.399-.7-.101-1.5-.8-1.6-3.101-.3-9.601-1.5-7.7-5 1.7-3 5.2-2.2 7.5-1.2.899.4 1.8-.6 1.399-1.5-1.5-3.2-5-5.2-8.699-4.8-4.7.5-8 5.1-7.4 9.8l.3 1.7z\"}]}},\ncustom81:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M76.9 20c-1 0-3.9.1-4.9.1-15.4.8-33.1 4.6-34 4.9-1.2.4-2 1.6-2 2.8v32.6c-1-.4-2.6-.6-4-.6-6.6 0-12 4.5-12 10s5.4 10 12 10 12-4.5 12-10V49.4c0-.9.6-1.7 1.5-1.9 4.9-1.2 11.7-2.5 24.4-3.3 1.199-.1 2.1.8 2.1 2v10.3c-1-.4-2.6-.6-4-.6-6.6 0-12 4.5-12 10s5.4 10 12 10 12-4.5 12-10V23c0-1.7-1.4-3.1-3.1-3zm-6.8 15.8c-12.2.7-18.4 1.9-23.7 3.1-1.3.3-2.4-.7-2.4-2v-3.1c0-.9.6-1.7 1.6-2 5.2-1.2 11.5-2.5 24.3-3.3 1.199-.1 2.1.8 2.1 2v3.2c0 1.2-.8 2.1-1.9 2.1z\"}},\ncustom82:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M80 44H59c-1.1 0-2 .9-2 2v1c0 1.6-1.3 3-3 3-1.6 0-3-1.3-3-3v-1c0-1.1-.9-2-2-2h-5 .1c-5.9.3-11 3.7-13.8 8.6-1-.399-2.1-.6-3.2-.6-5 0-9 4-9 9s4 9 9 9c1.1 0 2.2-.2 3.2-.6 2.8 4.899 8 8.3 13.8 8.6 9.8.5 17.9-7.3 17.9-17 0-.6 0-1.2-.1-1.8-.101-1 .6-2 1.6-2.2l16.9-3.7c.899-.2 1.6-1 1.6-2V46c0-1.1-.9-2-2-2zM27 64c-1.7 0-3-1.3-3-3s1.3-3 3-3c.4 0 .9.1 1.2.3-.2 1.2-.2 2.5-.2 3.8 0 .601.1 1.101.2 1.601-.4.199-.8.299-1.2.299zM54 37c1.7 0 3-1.3 3-3v-9c0-1.7-1.3-3-3-3s-3 1.3-3 3v9c0 1.7 1.3 3 3 3zM39.7 38c.6.7 1.4 1 2.3 1 .7 0 1.4-.2 2-.7 1.3-1.1 1.4-3 .3-4.2l-6-7c-1.1-1.3-3-1.4-4.2-.3-1.3 1.1-1.4 3-.3 4.2l5.9 7zM66 39c.8 0 1.7-.4 2.3-1l6-7c1.101-1.3.9-3.2-.3-4.2-1.3-1.1-3.2-.9-4.2.3l-6 7c-1.1 1.3-.899 3.2.3 4.2.5.5 1.2.7 1.9.7z\"}}},\ncustom83:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M74.6 39.3c.4.4 1 .4 1.4 0l1.4-1.4c3.4-3.4 3.5-8.6.2-11.9 0 0-4.3-4.4-4.399-4.4-3.4-2.8-8.101-1.5-10.8 1.2L61 24.2c-.4.4-.4 1 0 1.4l13.6 13.7zM56.6 29.8c-.399-.4-1-.4-1.399 0L27.7 57.1c-1.5 1.5-2.6 3.301-3.3 5.4L20.2 76c-.3.8-.2 1.8.2 2.5.6 1 1.6 1.5 2.6 1.5.3 0 .6 0 .9-.1 0 0 9.2-2.9 13.7-4.301 2-.6 3.8-1.699 5.3-3.199L70.3 45c.4-.4.4-1 0-1.4L56.6 29.8zM35.8 69.9c-2.1.699-5.4 1.699-8.2 2.6l2.6-8.2c.3-1.1.9-2 1.7-2.8l6.7 6.7c-.8.8-1.8 1.4-2.8 1.7z\"}}},\ncustom84:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M75 64H25c-1.7 0-3 1.3-3 3s1.3 3 3 3h4l1.7 8.5c.2.9 1 1.5 1.9 1.5h32.9c.9 0 1.7-.6 1.9-1.5L69 70h6c1.7 0 3-1.3 3-3s-1.3-3-3-3zM33 58h14v-5.6c-1.2-.7-2-2-2-3.4 0-2.2 1.8-4 4-4s4 1.8 4 4c0 1.5-.8 2.8-2 3.4V58h14c1.1 0 2-.9 2-2v-3c0-6.1-5.8-8.2-10.4-10.1-3.1-1.3-3.6-2.5-3.6-3.7 0-1.3.9-2.5 1.9-3.4 1.8-1.6 2.899-3.9 2.899-6.6 0-4.9-3.2-9.2-8.8-9.2-5.6 0-8.8 4.3-8.8 9.2 0 2.7 1 4.9 2.9 6.6 1 .9 1.9 2.1 1.9 3.4 0 1.3-.5 2.4-3.6 3.7C36.8 44.8 31 47.2 31 53v3c0 1.1.9 2 2 2z\"}}},\ncustom85:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M78 24H28v-2c0-1.1-.9-2-2-2h-4c-1.1 0-2 .9-2 2v56c0 1.1.9 2 2 2h4c1.1 0 2-.9 2-2V32h50c1.1 0 2-.9 2-2v-4c0-1.1-.9-2-2-2z\"},{\"d\":\"M74 38H40c-3.3 0-6 2.7-6 6v22c0 3.3 2.7 6 6 6h34c3.3 0 6-2.7 6-6V44c0-3.3-2.7-6-6-6zm-5.5 17H66v10c0 .6-.4 1-1 1h-4c-.6 0-1-.4-1-1v-6c0-.6-.4-1-1-1h-4c-.6 0-1 .4-1 1v6c0 .6-.4 1-1 1h-4c-.6 0-1-.4-1-1V55h-2.5c-.5 0-.7-.6-.3-.9l11.2-10.9c.399-.3.899-.3 1.3 0l11.2 10.9c.3.3.1.9-.4.9z\"}]}},\ncustom86:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M38 30h4c.6 0 1-.4 1-1v-3h14v3c0 .6.4 1 1 1h4c.6 0 1-.4 1-1v-3c0-3.3-2.7-6-6-6H43c-3.3 0-6 2.7-6 6v3c0 .6.4 1 1 1zM74 36H26c-3.3 0-6 2.7-6 6v32c0 3.3 2.7 6 6 6h48c3.3 0 6-2.7 6-6V42c0-3.3-2.7-6-6-6zM50 72c-7.7 0-14-6.3-14-14s6.3-14 14-14 14 6.3 14 14-6.3 14-14 14z\"},{\"d\":\"M56 55h-3v-3c0-1.1-.9-2-2-2h-2c-1.1 0-2 .9-2 2v3h-3c-1.1 0-2 .9-2 2v2c0 1.1.9 2 2 2h3v3c0 1.1.9 2 2 2h2c1.1 0 2-.9 2-2v-3h3c1.1 0 2-.9 2-2v-2c0-1.1-.9-2-2-2z\"}]}},\ncustom87:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M75 20H25c-1.7 0-3 1.3-3 3v48c0 1.7 1.3 3 3 3h1v3c0 1.7 1.3 3 3 3h2c1.7 0 3-1.3 3-3v-3h32v3c0 1.7 1.3 3 3 3h2c1.7 0 3-1.3 3-3v-3h1c1.7 0 3-1.3 3-3V23c0-1.7-1.3-3-3-3zM31 68c-1.7 0-3-1.3-3-3V29c0-1.7 1.3-3 3-3h38c1.7 0 3 1.3 3 3v36c0 1.7-1.3 3-3 3H31z\"},{\"d\":\"M64 32H36c-1.1 0-2 .9-2 2v26c0 1.1.9 2 2 2h28c1.1 0 2-.9 2-2V34c0-1.1-.9-2-2-2zm-4.7 18H51c-1.1 2-3.4 4-6.2 4-3.8 0-6.8-3.2-6.8-7s3-7 6.8-7c2.8 0 5.2 2 6.2 4h8.2c1.5 0 2.7 1.5 2.7 3s-1.1 3-2.6 3z\"}]}},\ncustom88:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M78.1 70H21.9c-1 0-1.9.8-1.9 1.8v.1c0 4.5 5.6 8.1 10 8.1h40c4.4 0 10-3.6 10-8.1v-.1c0-1-.9-1.8-1.9-1.8zM23 64h18c1.1 0 2-1.1 2-2.2V27.4c0-.5-.7-.7-.9-.2l-20 35.2c-.3.7.1 1.6.9 1.6zM51 64h25c1.2 0 2.1-1.1 2-2.3-.9-7.2-2.1-29.6-27.6-41.6-.6-.3-1.4.1-1.4.9v40.8c0 1.1.9 2.2 2 2.2z\"}}},\ncustom89:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M57.9 43.4c-.4-.5-1.2-.4-1.5.2-1.2 1.7-2.4 4.3-2.4 7.4v11c0 1.6-1.3 3-3 3-1.6 0-3-1.3-3-3v-3.1-31.101c0-7.7-6.7-8.9-11.6-7C35.1 21.2 33.9 22 33 23c-.6.7-1.3 1.3-2.2 1.6-1.8.6-4.9-1.1-6.5-2.1-.9-.5-2.1-.3-2.7.5l-1.2 1.7c-.7.9-.4 2.3.5 2.9 1.9 1.2 4.9 3.1 7.2 3.5 3.5.6 6.7-.5 9.3-2.9l-.1.1c.7-.6 1.9-1.6 2.7-.5 2 3-6 16.1-6 35.2v1.6c0 8.1 8.2 15.1 16.3 15.5 8.6.4 15.7-6.5 15.7-15 0-4.3 1.6-7.1 3.2-8.8a.967.967 0 000-1.399L57.9 43.4zM77 53c-.8 0-1.5-.3-2.1-.9l-16-16c-1.2-1.2-1.2-3.1 0-4.2 1.199-1.2 3.1-1.2 4.199 0l16 16c1.2 1.2 1.2 3.1 0 4.2-.599.6-1.299.9-2.099.9z\"}}},\ncustom9:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M62 20H45.1c-2.5 0-4.7 1.5-5.6 3.8L29 50.9c-.8 2 .7 4.1 2.8 4.1H49l-6.4 22.4c-.6 2.1 2 3.5 3.4 1.8L72.3 48c1.7-1.9.3-5-2.3-5H57l11.4-18.4c1.199-2-.2-4.6-2.601-4.6H62z\"}},\ncustom90:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M77.4 26L53 29.6V64c0 .6-.4 1-1 1h-4c-.6 0-1-.4-1-1V30.5L23.4 34H23c-1.5 0-2.8-1.1-3-2.6-.2-1.6.9-3.2 2.5-3.4l18.6-2.8c1.7-3.1 5-5.3 8.8-5.3 2.8 0 5.2 1.1 7 2.9L76.6 20c1.601-.2 3.2.9 3.4 2.5.2 1.7-.9 3.2-2.6 3.5z\"},{\"d\":\"M41.3 62.9c.7-.9.9-2 .4-3.101l-8-19C33.3 39.7 32.2 39 31 39s-2.3.7-2.8 1.8l-8 19c-.4.9-.3 1.9.2 2.8.2.3 4.1 6.3 10.4 6.3 3.7 0 7.3-2 10.5-6zM31 49.7L35.3 60h-8.6L31 49.7zM71.8 34.8a3.077 3.077 0 00-5.6 0l-8 19c-.4.9-.3 1.9.2 2.8.2.3 4.1 6.3 10.4 6.3 3.7 0 7.2-2 10.5-6 .7-.9.9-2 .4-3.101L71.8 34.8zM69 43.7L73.3 54h-8.6L69 43.7zM50 71c-5.6 0-11.3 2-15.3 5.4-.4.4-.7.9-.7 1.5v.1c0 1.1.9 2 2 2h28c1.1 0 2-.9 2-2v-.1c0-.601-.2-1.101-.7-1.5C61.3 73 55.6 71 50 71z\"}]}},\ncustom91:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M77.8 32.6c-3-.9-5.6-3-7.3-5.7-1.3-2.1-1.4-6.9-4.6-6.9H34.1c-3.3 0-3.3 4.8-4.6 6.9-2.1 3.3-4.8 4.1-8 6-3.3 1.9-.2 9.9.5 12.7 3.1 11.1 9 21.4 18.2 28.7 2.6 2.101 5.4 3.9 8.4 5.4 2.7 1.399 7.2-2.5 9.2-4C63 72 67.3 67.3 70.7 62c2.899-4.6 5.1-9.6 6.7-14.8.6-2.1 1.2-4.2 1.6-6.4.4-1.8 1.3-4.6.7-6.4-.2-.8-1-1.5-1.9-1.8-4.6-1.4 1.4.4 0 0zm-4.4 7C70.7 53 63.5 65.5 51.6 72.8l-1.6 1-1.6-1C34 64 28.6 49.9 26.6 39.6l-.4-2.1 1.8-1.1c3.1-1.9 6-5.2 7.7-8.7l.8-1.8h27l.5 1.3c1.7 3.8 4.8 7.4 8.5 9.5l1.3.7v.1l-.4 2.1z\"},{\"d\":\"M48.9 32c-2.3 0-7.9 0-9 1-1.9 1.7-3 4.2-5 5.9-2.1 1.8-1.1 3.6-.4 6 1.4 4.2 3.3 8.3 5.9 12 1.3 1.899 2.8 3.699 4.5 5.3.5.5 5.1 5.1 5.1 2.2V34c0-1.1 0-2-1.1-2z\"}]}},\ncustom92:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M73.7 56.4L50.9 46c-.601-.3-1.2-.3-1.8 0L26.3 56.4c-1.3.6-1.7 2.1-.9 3.3 2.4 3.399 3.9 7.8 4.5 9.8.2.8.9 1.3 1.6 1.5 7.9 1.9 14.4 6.4 17.1 8.5.8.6 1.9.6 2.7 0 2.7-2.1 9.3-6.6 17.1-8.5.8-.2 1.399-.7 1.6-1.5.6-2.1 2.1-6.5 4.5-9.8.9-1.1.5-2.7-.8-3.3zM44 62c-1.7 0-3-1.8-3-4s1.3-4 3-4 3 1.8 3 4-1.3 4-3 4zm12 0c-1.7 0-3-1.8-3-4s1.3-4 3-4 3 1.8 3 4-1.3 4-3 4z\"},{\"d\":\"M34.4 46.1l12.2-5.6c1.5-.7 3.1-.9 4.8-.6.699.1 1.399.4 2.1.7l12.1 5.6c.7.3 1.4-.2 1.4-.9v-4.5c0-.5-.2-1-.6-1.4-.8-.9-2.4-2.4-5.4-2.4v-5.9c0-.7-.4-1.4-1-1.7-1.1-.6-3-1.5-6-2V22c0-1.1-.9-2-2-2h-4c-1.1 0-2 .9-2 2v5.4c-3 .5-4.9 1.4-6 2-.6.3-1 1-1 1.7V37c-3 0-4.6 1.5-5.4 2.3-.4.4-.6.9-.6 1.4v4.5c0 .7.7 1.2 1.4.9z\"}]}},\ncustom93:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M42.4 50h29.5c.899 0 1.699-.6 1.899-1.5l5.4-19C79.6 28.2 78.6 27 77.3 27H31.7l-.8-2.8c-.4-1.3-1.6-2.2-2.9-2.2h-4.8c-1.6 0-3.1 1.2-3.2 2.8-.1 1.7 1.3 3.2 3 3.2h2.8l9.4 31.8c.4 1.3 1.5 2.2 2.9 2.2h34.8c1.6 0 3.1-1.2 3.199-2.8.101-1.7-1.3-3.2-3-3.2H42.5c-1.3 0-2.5-.9-2.8-2.1v-.1c-.7-1.9.8-3.8 2.7-3.8z\"},\"circle\":[{\"cx\":\"43\",\"cy\":\"73\",\"r\":\"5\"},{\"cx\":\"67\",\"cy\":\"73\",\"r\":\"5\"}]}},\ncustom94:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M56 38V23c0-1.7-1.3-3-3-3h-4c-1.7 0-3 1.3-3 3s1.3 3 3 3h1v12c0 6.6-5.4 12-12 12s-12-5.4-12-12V26h1c1.7 0 3-1.3 3-3s-1.3-3-3-3h-4c-1.7 0-3 1.3-3 3v15c0 9.9 8.1 18 18 18s18-8.1 18-18z\"},{\"d\":\"M80 50c0-5-4-9-9-9s-9 4-9 9c0 3.9 2.5 7.2 6 8.5v2.2C68 68 62 74 54.7 74h-.3c-6.3 0-11.601-4.5-13-10.4-.2-.899-1-1.6-2-1.6h-2c-1.3 0-2.2 1.2-2 2.4C37.1 73.3 45 80 54.3 80h.3C65.3 80 74 71.3 74 60.7v-2.2c3.5-1.3 6-4.6 6-8.5zm-9 3c-1.7 0-3-1.3-3-3s1.3-3 3-3 3 1.3 3 3-1.3 3-3 3z\"}]}},\ncustom95:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M53 30.2V26h1c1.6 0 3-1.3 3-3 0-1.6-1.3-3-3-3h-8c-1.6 0-3 1.3-3 3 0 1.6 1.3 3 3 3h1v4.2c-12.4 1.5-22 12-22 24.8 0 13.8 11.2 25 25 25s25-11.2 25-25c0-12.8-9.6-23.3-22-24.8zM50 74c-10.5 0-19-8.5-19-19s8.5-19 19-19 19 8.5 19 19-8.5 19-19 19z\"},{\"d\":\"M56.6 44.8L52 49.4c-.6-.2-1.3-.4-2-.4-3.3 0-6 2.7-6 6s2.7 6 6 6 6-2.7 6-6c0-.7-.1-1.4-.4-2l4.601-4.6c1-1 1-2.6 0-3.6-1.001-1.1-2.601-1.1-3.601 0z\"}]}},\ncustom96:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M79.4 28.7l-5.2-3.9c-.7-.5-1.5-.8-2.4-.8H54v-2c0-1.1-.9-2-2-2h-4c-1.1 0-2 .9-2 2v2H26c-1.1 0-2 .9-2 2v8c0 1.1.9 2 2 2h45.7c.899 0 1.7-.3 2.399-.8l5.2-3.9c.901-.7.901-1.9.101-2.6zM74 46H54v-3c0-.6-.4-1-1-1h-6c-.6 0-1 .4-1 1v3H28.3c-.9 0-1.7.3-2.4.8l-5.2 3.9c-.9.6-.9 1.899 0 2.6l5.2 3.9c.7.5 1.5.8 2.4.8H74c1.1 0 2-.9 2-2v-8c0-1.1-.9-2-2-2zM54 71.6V65c0-.6-.4-1-1-1h-6c-.6 0-1 .4-1 1v6.6c-4 1.101-6.2 3.5-6.9 6.5-.2.9.5 1.9 1.5 1.9h18.9c1 0 1.7-.9 1.5-1.9-.8-3-3-5.4-7-6.5z\"}}},\ncustom97:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M60 54.4V29.1C60 22.9 55.2 18 49.1 18h-.2C42.8 18 38 22.9 38 29.1v25.3c-3.2 3-5 7.199-5 11.6 0 8.8 7.2 16 16 16s16-7.2 16-16c0-4.5-1.8-8.6-5-11.6zM57.4 66H40.6c-.9 0-1.6-.9-1.5-1.8.4-2.4 1.7-4.5 3.6-6 .7-.601 1.2-1.5 1.2-2.4V29.1c0-2.9 2.2-5.1 4.9-5.1h.2c2.8 0 4.9 2.2 4.9 5.1v.9h-3c-1.7 0-3 1.3-3 3s1.3 3 3 3h3v4h-3c-1.7 0-3 1.3-3 3s1.3 3 3 3h3v4h-3c-1.7 0-3 1.3-3 3s1.3 3 3 3h3c.1.9.5 1.6 1.199 2.2 1.9 1.5 3.2 3.7 3.601 6 .3.9-.4 1.8-1.3 1.8z\"}},\ncustom98:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M81.4 46.4l-7.8-7.8c-.4-.4-.9-.6-1.4-.6H64c-1.1 0-2 .9-2 2v16c0 .7.7 1.2 1.4.9 1.4-.6 3-.9 4.6-.9 4.5 0 8.4 2.5 10.5 6.2.3.5 1 .7 1.5.3 1.2-1.1 2-2.7 2-4.5V47.8c0-.5-.2-1-.6-1.4z\"},{\"d\":\"M54 29H20c-1.1 0-2 .9-2 2v27c0 1.8.8 3.4 2 4.5.5.4 1.2.3 1.5-.3 2-3.7 6-6.2 10.5-6.2 5 0 9.2 3 11.1 7.4.2.4.5.6.9.6h6c3.3 0 6-2.7 6-6V31c0-1.1-.9-2-2-2z\"}],\"circle\":[{\"cx\":\"68\",\"cy\":\"68\",\"r\":\"6\"},{\"cx\":\"32\",\"cy\":\"68\",\"r\":\"6\"}]}},\ncustom99:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M74 36H57.2c-.5-1.2-1.2-2.2-2.101-3.1l6.301-8.1c1-1.3.8-3.2-.5-4.2-1.301-1-3.2-.8-4.2.5l-7 9c-.6 0-1.1-.1-1.7-.1s-1.1.1-1.6.1l-7-9c-1-1.3-2.9-1.5-4.2-.5-1.3 1-1.5 2.9-.5 4.2l6.3 8.1c-.9.9-1.6 1.9-2.1 3.1H26c-3.3 0-6 2.7-6 6v28c0 3.3 2.7 6 6 6h48c3.3 0 6-2.7 6-6V42c0-3.3-2.7-6-6-6zm-8 32c0 1.1-.9 2-2 2H28c-1.1 0-2-.9-2-2V44c0-1.1.9-2 2-2h36c1.1 0 2 .9 2 2v24zm7-10c-1.7 0-3-1.3-3-3s1.3-3 3-3 3 1.3 3 3-1.3 3-3 3zm0-10c-1.7 0-3-1.3-3-3s1.3-3 3-3 3 1.3 3 3-1.3 3-3 3z\"}},\nviewBox:'0 0 100 100'\n}; } export default icons;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n\nlet icons = {}; if ('__INCLUDE_SLDS_ICONS__' === '__INCLUDE_SLDS_ICONS__') { icons = {\nai:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M5.075.006A5.074 5.074 0 00.002 5.08v53.841a5.073 5.073 0 005.073 5.074h45.774a5.074 5.074 0 005.074-5.074V20.316L37.02.006H5.075z\",\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",\"fill\":\"#FFC35E\"},{\"d\":\"M55.923 20.357v.999h-12.8s-6.312-1.26-6.128-6.707c0 0 .253 5.708 6.003 5.708h12.925z\",\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",\"fill\":\"#FFB446\"},{\"d\":\"M37.02.006v14.56c0 1.656 1.104 5.792 6.104 5.792h12.8L37.02.006z\",\"opacity\":\".5\",\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",\"fill\":\"#fff\"},{\"d\":\"M20.136 53.923a.776.776 0 01-.72-.486l-.9-2.287h-5.978l-.9 2.287a.776.776 0 01-.72.486.804.804 0 01-.811-.792c0-.09.018-.198.054-.288l4.141-10.335a1.304 1.304 0 011.225-.811c.522 0 .99.324 1.188.811l4.177 10.335c.036.09.054.198.054.288 0 .36-.324.792-.81.792zm-4.61-10.569l-2.557 6.463h5.095l-2.538-6.463zm8.513 10.569a.73.73 0 01-.738-.738V42.417c0-.396.324-.72.774-.72.396 0 .72.324.72.72v10.767a.734.734 0 01-.756.739z\",\"fill\":\"#fff\"}]},\nattachment:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",\"path\":[{\"d\":\"M5.113-.026A5.074 5.074 0 00.039 5.048v53.841a5.073 5.073 0 005.074 5.074h45.773a5.074 5.074 0 005.074-5.074V20.284L37.059-.026H5.113z\",\"fill\":\"#8199AF\"},{\"d\":\"M55.977 20.352v1H43.178s-6.312-1.26-6.129-6.707c0 0 .208 5.707 6.004 5.707h12.924z\",\"fill\":\"#617F9B\"},{\"d\":\"M37.074 0v14.561c0 1.656 1.104 5.791 6.104 5.791h12.799L37.074 0z\",\"opacity\":\".5\",\"fill\":\"#fff\"}]},\"path\":{\"d\":\"M26.6 41.467c1.134-1.134 1.134-2.986 0-4.12s-2.986-1.134-4.12 0l-9.167 9.167c-1.134 1.134-1.134 2.986 0 4.12s2.986 1.134 4.12 0l5.625-5.602c.324-.324.324-.856 0-1.181s-.856-.324-1.181 0l-3.542 3.519a1.204 1.204 0 01-1.759 0 1.204 1.204 0 010-1.759l3.519-3.542c1.319-1.296 3.426-1.296 4.722 0 1.296 1.319 1.296 3.426 0 4.722l-5.625 5.625c-2.106 2.106-5.532 2.106-7.662 0-2.106-2.129-2.106-5.555 0-7.662l9.166-9.167c2.13-2.129 5.556-2.129 7.662 0 2.129 2.106 2.129 5.532 0 7.662l-.903.902a4.968 4.968 0 00-.926-2.616l.071-.068z\",\"fill\":\"#fff\"}},\naudio:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",\"path\":[{\"d\":\"M5.151.012A5.073 5.073 0 00.078 5.085v53.842A5.073 5.073 0 005.151 64h45.774A5.074 5.074 0 0056 58.927V20.321L37.097.012H5.151z\",\"fill\":\"#379FD3\"},{\"d\":\"M56 20.357v1H43.2s-6.312-1.26-6.128-6.707c0 0 .208 5.707 6.003 5.707H56z\",\"fill\":\"#2987C8\"},{\"d\":\"M37.097.006v14.561c0 1.656 1.104 5.791 6.104 5.791h12.8L37.097.006z\",\"opacity\":\".5\",\"fill\":\"#fff\"},{\"d\":\"M29.798 34.036L15.633 35.85v13.438c-.738-.205-1.628-.243-2.531-.064-2.009.394-3.325 1.702-2.938 2.918.386 1.215 2.325 1.88 4.333 1.48 1.764-.348 2.994-1.397 3.005-2.473h.002v-10.74l10.422-1.288v8.306c-.75-.212-1.655-.251-2.572-.068-2.03.399-3.357 1.718-2.969 2.947.389 1.229 2.35 1.897 4.379 1.499 1.849-.366 3.116-1.494 3.031-2.621V34.036z\",\"fill\":\"#fff\"}]}},\nbox_notes:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"fill\":\"#277A84\",\"d\":\"M5.112.011A5.074 5.074 0 00.039 5.085v53.841A5.074 5.074 0 005.112 64h45.775a5.074 5.074 0 005.074-5.074V20.321L37.057.011H5.112z\"},{\"fill\":\"#1E5B60\",\"d\":\"M55.96 20.377v1H43.161s-6.312-1.26-6.129-6.707c0 0 .208 5.707 6.004 5.707H55.96z\"},{\"opacity\":\".5\",\"fill\":\"#FFF\",\"d\":\"M37.059.025v14.561c0 1.656 1.104 5.791 6.104 5.791h12.799L37.059.025z\"},{\"fill\":\"#FFF\",\"d\":\"M27.094 39.334l2.105-2.104H10.495s-.361.016-.362.401 0 1.159 0 1.347c0 .187.182.355.375.355l16.586.001zM19.768 46.602l2.104-2.104H10.495s-.361.016-.362.401v1.347c0 .187.182.356.375.356h9.26zM14.708 53.904l.268-2.104h-4.48s-.361.017-.362.402 0 1.16 0 1.346c0 .187.182.356.375.356h4.199zM15.588 53.873s1.672-.03 2.015-.112c.342-.082.406-.146.531-.271l13.104-13.104s-.494.42-1.592-.682c-.869-.87-.487-1.402-.487-1.402s-12.75 12.729-12.99 12.988c-.24.26-.252.404-.274.509-.021.105-.307 2.074-.307 2.074z\"},{\"fill\":\"#FFF\",\"d\":\"M30.742 36.714c-.201.201-.96.938-1.059 1.058-.097.121-.184.227-.104.58.079.353.682 1.354 1.656 1.629 0 0 .299.107.541-.133.24-.242 1.092-1.093 1.092-1.093s.204-.172.042-.621c-.163-.448-.81-1.247-1.582-1.539-.387-.148-.586.119-.586.119z\"}]},\ncsv:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M5.106 0A5.074 5.074 0 00.033 5.074v53.841a5.073 5.073 0 005.073 5.074H50.88a5.074 5.074 0 005.074-5.074V20.31L37.051 0H5.106z\",\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",\"fill\":\"#45B058\"},{\"d\":\"M20.306 43.197a.784.784 0 01.198.522c0 .378-.306.72-.703.72a.638.638 0 01-.504-.234c-.702-.846-1.891-1.387-3.007-1.387-2.629 0-4.627 2.017-4.627 4.88 0 2.845 1.999 4.879 4.627 4.879a3.97 3.97 0 003.007-1.369.697.697 0 01.504-.233c.415 0 .703.359.703.738 0 .18-.072.36-.198.504-.937.972-2.215 1.693-4.015 1.693-3.457 0-6.176-2.521-6.176-6.212s2.719-6.212 6.176-6.212c1.8.001 3.096.721 4.015 1.711zm6.802 10.714c-1.782 0-3.187-.594-4.213-1.495a.71.71 0 01-.234-.54c0-.361.27-.757.702-.757.144 0 .306.036.432.144.828.739 1.98 1.314 3.367 1.314 2.143 0 2.827-1.152 2.827-2.071 0-3.097-7.112-1.386-7.112-5.672 0-1.98 1.764-3.331 4.123-3.331 1.548 0 2.881.467 3.853 1.278a.73.73 0 01.252.54c0 .36-.306.72-.703.72a.68.68 0 01-.432-.162c-.882-.72-1.98-1.044-3.079-1.044-1.44 0-2.467.774-2.467 1.909 0 2.701 7.112 1.152 7.112 5.636.001 1.748-1.187 3.531-4.428 3.531zm16.994-11.254l-4.159 10.335a1.31 1.31 0 01-1.188.81h-.036a1.316 1.316 0 01-1.207-.81L33.37 42.657a.746.746 0 01-.054-.288c0-.36.323-.793.81-.793.306 0 .594.18.72.486l3.889 9.992 3.889-9.992a.767.767 0 01.72-.486.803.803 0 01.758 1.081z\",\"fill\":\"#fff\"}],\"g\":{\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",\"path\":[{\"d\":\"M56.001 20.357v1h-12.8s-6.312-1.26-6.128-6.707c0 0 .208 5.707 6.003 5.707h12.925z\",\"fill\":\"#349C42\"},{\"d\":\"M37.098.006v14.561c0 1.656 1.104 5.791 6.104 5.791h12.8L37.098.006z\",\"opacity\":\".5\",\"fill\":\"#fff\"}]}},\neps:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M5.106.009A5.074 5.074 0 00.033 5.083v53.841a5.073 5.073 0 005.073 5.074H50.88a5.074 5.074 0 005.074-5.074V20.319L37.052.009H5.106z\",\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",\"fill\":\"#FFC35E\"},{\"d\":\"M17.45 53.912h-6.248a1.085 1.085 0 01-1.081-1.081v-9.849c0-.595.486-1.081 1.081-1.081h6.248c.36 0 .648.288.648.685a.645.645 0 01-.648.647h-5.833v3.871h5.708c.36 0 .648.288.648.685 0 .36-.288.648-.648.648h-5.708v4.141h5.833c.36 0 .648.288.648.648 0 .397-.288.686-.648.686zm8.189-4.772h-3.331v4.141a.734.734 0 01-.756.738.73.73 0 01-.738-.738V42.982c0-.595.486-1.081 1.081-1.081h3.745c2.413 0 3.763 1.657 3.763 3.619-.001 1.963-1.387 3.62-3.764 3.62zm-.18-5.906h-3.151v4.573h3.151c1.422 0 2.395-.936 2.395-2.287 0-1.35-.973-2.286-2.395-2.286zm10.259 10.893c-1.782 0-3.187-.594-4.213-1.495a.71.71 0 01-.234-.54c0-.361.27-.757.702-.757.144 0 .306.036.432.144.829.739 1.981 1.314 3.367 1.314 2.143 0 2.827-1.152 2.827-2.071 0-3.097-7.112-1.386-7.112-5.672 0-1.98 1.764-3.331 4.123-3.331 1.548 0 2.881.468 3.853 1.279a.73.73 0 01.252.54c0 .36-.306.72-.702.72a.68.68 0 01-.432-.162c-.882-.72-1.98-1.044-3.079-1.044-1.44 0-2.467.774-2.467 1.909 0 2.701 7.112 1.152 7.112 5.636.001 1.748-1.188 3.53-4.429 3.53z\",\"fill\":\"#fff\"}],\"g\":{\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",\"path\":[{\"d\":\"M56 20.357v1H43.201c-2.438 0-6.312-1.26-6.128-6.707 0 0 .208 5.707 6.003 5.707H56z\",\"fill\":\"#FFB446\"},{\"d\":\"M37.097.006v14.561c0 1.656 1.104 5.791 6.104 5.791H56L37.097.006z\",\"opacity\":\".5\",\"fill\":\"#fff\"}]}},\nexcel:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M5.112.006A5.074 5.074 0 00.039 5.08v53.841a5.073 5.073 0 005.073 5.074h45.774a5.074 5.074 0 005.074-5.074V20.316L37.058.006H5.112z\",\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",\"fill\":\"#45B058\"},{\"d\":\"M19.429 53.938a.64.64 0 01-.54-.27l-3.728-4.97-3.745 4.97a.641.641 0 01-.54.27.71.71 0 01-.72-.72c0-.144.035-.306.144-.432l3.89-5.131-3.619-4.826a.722.722 0 01-.145-.414c0-.342.288-.72.721-.72.216 0 .432.108.576.288l3.438 4.628 3.438-4.646a.643.643 0 01.541-.27c.378 0 .738.306.738.72a.695.695 0 01-.127.414l-3.619 4.808 3.891 5.149a.7.7 0 01.125.414c0 .396-.324.738-.719.738zm9.989-.126h-5.455a1.083 1.083 0 01-1.081-1.08V42.415c0-.396.324-.72.774-.72.396 0 .721.324.721.72V52.48h5.041c.359 0 .648.288.648.648 0 .396-.289.684-.648.684zm6.982.216c-1.782 0-3.188-.594-4.213-1.495a.71.71 0 01-.234-.54c0-.36.27-.756.702-.756.144 0 .306.036.433.144.828.738 1.98 1.314 3.367 1.314 2.143 0 2.826-1.152 2.826-2.071 0-3.097-7.111-1.386-7.111-5.672 0-1.98 1.764-3.331 4.123-3.331 1.548 0 2.881.468 3.853 1.278a.73.73 0 01.253.54c0 .36-.307.72-.703.72a.676.676 0 01-.432-.162c-.883-.72-1.98-1.044-3.079-1.044-1.44 0-2.467.774-2.467 1.909 0 2.701 7.112 1.152 7.112 5.636 0 1.748-1.188 3.53-4.43 3.53z\",\"fill\":\"#fff\"},{\"d\":\"M55.953 20.352v1H43.152s-6.312-1.26-6.127-6.707c0 0 .207 5.707 6.002 5.707h12.926z\",\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",\"fill\":\"#349C42\"},{\"d\":\"M37.049 0v14.561c0 1.656 1.104 5.791 6.104 5.791h12.801L37.049 0z\",\"opacity\":\".5\",\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",\"fill\":\"#fff\"}]},\nexe:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M5.112.025A5.074 5.074 0 00.039 5.099V58.94a5.073 5.073 0 005.073 5.074h45.774a5.074 5.074 0 005.074-5.074V20.335L37.058.025H5.112z\",\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",\"fill\":\"#8199AF\"},{\"d\":\"M17.455 53.919h-6.247a1.084 1.084 0 01-1.081-1.081V42.99c0-.594.486-1.08 1.081-1.08h6.247c.361 0 .648.288.648.684 0 .36-.287.648-.648.648h-5.833v3.871h5.708c.359 0 .648.288.648.685 0 .36-.289.648-.648.648h-5.708v4.141h5.833c.361 0 .648.288.648.648.001.396-.287.684-.648.684zm12.098.126a.643.643 0 01-.541-.27l-3.727-4.97-3.746 4.97a.64.64 0 01-.539.27.712.712 0 01-.721-.72c0-.144.036-.306.145-.432l3.889-5.131-3.619-4.825a.725.725 0 01-.145-.415c0-.342.289-.72.721-.72a.75.75 0 01.576.288l3.439 4.627 3.438-4.646a.641.641 0 01.54-.27c.379 0 .738.306.738.72a.694.694 0 01-.126.415l-3.618 4.808 3.889 5.149a.7.7 0 01.126.414c0 .396-.324.738-.719.738zm10.78-.126h-6.247a1.084 1.084 0 01-1.081-1.081V42.99c0-.594.486-1.08 1.081-1.08h6.247c.36 0 .648.288.648.684 0 .36-.288.648-.648.648H34.5v3.871h5.707c.36 0 .648.288.648.685 0 .36-.288.648-.648.648H34.5v4.141h5.833c.36 0 .648.288.648.648 0 .396-.288.684-.648.684z\",\"fill\":\"#fff\"}],\"g\":{\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",\"path\":[{\"d\":\"M55.961 20.377v1H43.162s-6.312-1.26-6.129-6.708c0 0 .208 5.708 6.004 5.708h12.924z\",\"fill\":\"#617F9B\"},{\"d\":\"M37.059.025v14.561c0 1.656 1.104 5.792 6.104 5.792h12.799L37.059.025z\",\"opacity\":\".5\",\"fill\":\"#fff\"}]}},\nflash:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M5.112.009A5.074 5.074 0 00.039 5.083v53.841a5.073 5.073 0 005.073 5.074h45.775a5.074 5.074 0 005.074-5.074V20.319L37.057.009H5.112z\",\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",\"fill\":\"#E53C3C\"},{\"d\":\"M17.466 43.105h-5.833v3.871h5.708c.36 0 .648.288.648.685 0 .36-.288.648-.648.648h-5.708v4.843a.734.734 0 01-.756.738.73.73 0 01-.738-.738V42.854c0-.594.486-1.081 1.081-1.081h6.248c.36 0 .648.288.648.685a.648.648 0 01-.65.647zm9.558 10.678h-5.456a1.085 1.085 0 01-1.081-1.081V42.385c0-.396.324-.72.774-.72.396 0 .72.324.72.72V52.45h5.042c.36 0 .648.288.648.648.001.397-.287.685-.647.685zm12.222.108a.776.776 0 01-.72-.486l-.9-2.287h-5.978l-.9 2.287a.776.776 0 01-.72.486.804.804 0 01-.811-.792c0-.09.018-.198.054-.288l4.141-10.335a1.304 1.304 0 011.225-.811c.522 0 .99.324 1.188.811l4.177 10.335c.036.09.054.198.054.288 0 .359-.324.792-.81.792zm-4.609-10.569l-2.557 6.464h5.095l-2.538-6.464z\",\"fill\":\"#fff\"}],\"g\":{\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",\"path\":[{\"d\":\"M55.961 20.346v1H43.162s-6.312-1.26-6.129-6.707c0 0 .208 5.707 6.004 5.707h12.924z\",\"fill\":\"#DE2D2D\"},{\"d\":\"M37.059-.006v14.561c0 1.656 1.104 5.791 6.104 5.791h12.799L37.059-.006z\",\"opacity\":\".5\",\"fill\":\"#fff\"}]}},\nfolder:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M51.48 15.46A4.52 4.52 0 0156 20v31a4.52 4.52 0 01-4.52 4.52h-47A4.52 4.52 0 010 51V13a4.52 4.52 0 014.52-4.48H16c3.82 0 4.23 1.14 6.74 4.45 2.07 2.74 7.11 2.49 10.39 2.49z\",\"fill\":\"#003462\"},{\"d\":\"M51.48 18.12H9.24a4.52 4.52 0 00-4.52 4.52v2.84L9.19 19h42.35L56 25.49v-2.85a4.52 4.52 0 00-4.52-4.52z\",\"fill\":\"#87c8f2\"},{\"d\":\"M4.57 55.48h46.91A4.52 4.52 0 0056 51V23.48A4.52 4.52 0 0051.48 19H9.25a4.52 4.52 0 00-4.52 4.52V51a4.65 4.65 0 01-.06.72 2.33 2.33 0 01-4.6 0 4.5 4.5 0 004.5 3.76z\",\"fill\":\"#00a1e0\"}]},\ngdoc:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M5.112.011A5.074 5.074 0 00.039 5.085v53.841A5.074 5.074 0 005.112 64h45.775a5.074 5.074 0 005.074-5.074V20.321L37.057.011H5.112z\",\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",\"fill\":\"#3C8CEA\"},{\"d\":\"M10.133 37.439h21.564v2.059H10.133zm0 4.801h21.564v2.057H10.133zm0 4.801h21.564v2.057H10.133zm0 4.8h12.233v2.058H10.133z\",\"fill\":\"#fff\"}],\"g\":{\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",\"path\":[{\"d\":\"M55.96 20.377v1H43.161s-6.312-1.26-6.129-6.707c0 0 .208 5.707 6.004 5.707H55.96z\",\"fill\":\"#2D6FE4\"},{\"d\":\"M37.058.025v14.561c0 1.656 1.104 5.791 6.104 5.791h12.799L37.058.025z\",\"opacity\":\".5\",\"fill\":\"#fff\"}]}},\ngdocs:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"fill\":\"#3C8CEA\",\"d\":\"M5.1 0C2.3 0 0 2.3 0 5.1v53.8C0 61.7 2.3 64 5.1 64h45.8c2.8 0 5.1-2.3 5.1-5.1V20.3L37.1 0h-32z\"},{\"fill\":\"#2D6FE4\",\"d\":\"M56 20.4v1H43.2s-6.4-1.3-6.2-6.7c0 0 .2 5.7 6 5.7h13z\"},{\"opacity\":\".5\",\"fill\":\"#FFF\",\"d\":\"M37.1 0v14.6c0 1.6 1.1 5.8 6.1 5.8H56L37.1 0z\"},{\"fill\":\"#FFF\",\"d\":\"M25.9 45.1h-7.6v2.2h5.4c-.3 3.2-2.9 4.5-5.4 4.5-3.2 0-5.9-2.5-5.9-6 0-3.4 2.6-6 5.9-6 2.5 0 4.1 1.6 4.1 1.6l1.6-1.6s-2-2.2-5.7-2.2c-4.7 0-8.3 4-8.3 8.2 0 4.2 3.4 8.3 8.4 8.3 4.4 0 7.7-3 7.7-7.5-.1-.9-.2-1.5-.2-1.5z\"}]},\ngform:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"fill\":\"#673AB7\",\"d\":\"M5.113-.026A5.074 5.074 0 00.039 5.048v53.841a5.073 5.073 0 005.074 5.074h45.773a5.074 5.074 0 005.074-5.074V20.284L37.059-.026H5.113z\"},{\"fill\":\"#45317C\",\"d\":\"M55.977 20.352v1H43.178s-6.312-1.26-6.129-6.707c0 0 .208 5.707 6.004 5.707h12.924z\"},{\"opacity\":\".5\",\"fill\":\"#FFF\",\"d\":\"M37.074 0v14.561c0 1.656 1.104 5.791 6.104 5.791h12.799L37.074 0z\"},{\"fill\":\"#FFF\",\"d\":\"M12.739 39.41c0-.4-.3-.7-.7-.7h-1.3c-.4 0-.7.3-.7.7v1.3c0 .4.3.7.7.7h1.3c.4 0 .7-.3.7-.7v-1.3zm18.8 0c0-.4-.3-.7-.7-.7h-15.7c-.4 0-.7.3-.7.7v1.3c0 .4.3.7.7.7h15.7c.4 0 .7-.3.7-.7v-1.3zm-18.8 6.3c0-.4-.3-.7-.7-.7h-1.3c-.4 0-.7.3-.7.7v1.3c0 .4.3.7.7.7h1.3c.4 0 .7-.3.7-.7v-1.3zm18.8 0c0-.4-.4-.7-.8-.7h-15.5c-.4 0-.8.3-.8.7v1.3c0 .4.4.7.8.7h15.5c.4 0 .8-.3.8-.7v-1.3zm-18.8 6.2c0-.4-.3-.7-.7-.7h-1.3c-.4 0-.7.3-.7.7v1.3c0 .4.3.7.7.7h1.3c.4 0 .7-.3.7-.7v-1.3zm18.8 0c0-.4-.3-.7-.7-.7h-15.7c-.4 0-.7.3-.7.7v1.3c0 .4.3.7.7.7h15.7c.4 0 .7-.3.7-.7v-1.3z\"}]},\ngpres:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M5.111.009A5.073 5.073 0 00.039 5.083v53.841a5.073 5.073 0 005.072 5.074h45.775a5.074 5.074 0 005.074-5.074V20.318L37.057.009H5.111z\",\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",\"fill\":\"#F8BE46\"},{\"d\":\"M10.123 37.465v11.9H22.54v-11.9H10.123zm11.289 9.642h-10.16v-7.386h10.16v7.386zm.674-5.128v2.259h8.386v7.385h-10.16v-2.846h-1.129v5.104h12.419V41.979h-9.516z\",\"fill\":\"#fff\"}],\"g\":{\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",\"path\":[{\"d\":\"M55.96 20.377v1H43.161s-6.312-1.26-6.129-6.707c0 0 .208 5.707 6.004 5.707H55.96z\",\"fill\":\"#F6AD34\"},{\"d\":\"M37.058.025v14.561c0 1.656 1.104 5.791 6.104 5.791h12.799L37.058.025z\",\"opacity\":\".5\",\"fill\":\"#fff\"}]}},\ngsheet:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M5.131-.001A5.073 5.073 0 00.059 5.073v53.841a5.073 5.073 0 005.072 5.074h45.775a5.074 5.074 0 005.074-5.074V20.309L37.076-.001H5.131z\",\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",\"fill\":\"#20A971\"},{\"d\":\"M10.107 37.466v16.419h21.521V37.466H10.107zm6.458 15.078h-4.967v-3.58h4.967v3.58zm0-5.012h-4.967v-3.579h4.967v3.579zm0-5.011h-4.967v-3.58h4.967v3.58zm13.632 10.023H18.042v-3.58h12.155v3.58zm0-5.012H18.042v-3.579h12.155v3.579zm0-5.011H18.042v-3.58h12.155v3.58z\",\"fill\":\"#fff\"}],\"g\":{\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",\"path\":[{\"d\":\"M55.98 20.32v1H43.179s-6.312-1.26-6.127-6.707c0 0 .207 5.707 6.002 5.707H55.98z\",\"fill\":\"#189355\"},{\"d\":\"M37.076-.031V14.53c0 1.656 1.104 5.791 6.104 5.791h12.801L37.076-.031z\",\"opacity\":\".5\",\"fill\":\"#fff\"}]}},\nhtml:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M5.135.008A5.074 5.074 0 00.061 5.082v53.84a5.073 5.073 0 005.074 5.074H50.91a5.074 5.074 0 005.074-5.074V20.317L37.081.008H5.135z\",\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",\"fill\":\"#F7622C\"},{\"d\":\"M18.942 50.841a.87.87 0 01-.336-.063l-7.58-3.38c-.483-.21-.798-.714-.798-1.28 0-.504.315-1.008.798-1.219l7.58-3.4a.89.89 0 011.218.84.89.89 0 01-.525.818l-7.034 3.002 7.034 2.982a.868.868 0 01.525.818c0 .546-.462.882-.882.882zm8.464-11.044l-4.43 13.291c-.126.398-.504.629-.903.629-.525 0-.924-.398-.924-.881a.75.75 0 01.063-.295l4.43-13.29a.934.934 0 01.903-.63c.525 0 .903.42.903.902l-.042.274zm10.184 7.6l-7.58 3.38a.886.886 0 01-1.218-.819c0-.357.189-.672.525-.818l7.034-2.982-7.034-3.002a.876.876 0 01-.546-.818c-.021-.547.441-.903.903-.903.105 0 .231.021.336.063l7.58 3.4c.483.211.798.715.798 1.219 0 .567-.315 1.071-.798 1.28z\",\"fill\":\"#fff\"}],\"g\":{\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",\"path\":[{\"d\":\"M55.976 20.352v1H43.177s-6.312-1.26-6.129-6.707c0 0 .208 5.707 6.004 5.707h12.924z\",\"fill\":\"#F54921\"},{\"d\":\"M37.074 0v14.561c0 1.656 1.104 5.791 6.104 5.791h12.799L37.074 0z\",\"opacity\":\".5\",\"fill\":\"#fff\"}]}},\nimage:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",\"path\":[{\"d\":\"M5.125.042A5.074 5.074 0 00.053 5.116v53.841a5.072 5.072 0 005.072 5.073H50.9a5.074 5.074 0 005.074-5.073V20.353L37.07.042H5.125z\",\"fill\":\"#49C9A7\"},{\"d\":\"M55.977 20.352v1H43.178s-6.312-1.26-6.129-6.707c0 0 .208 5.707 6.004 5.707h12.924z\",\"fill\":\"#37BB91\"},{\"d\":\"M37.074 0v14.561c0 1.656 1.104 5.791 6.104 5.791h12.799L37.074 0z\",\"opacity\":\".5\",\"fill\":\"#fff\"}]},\"path\":{\"d\":\"M10.119 53.739V32.835h20.906v20.904H10.119zm18.799-18.843H12.227v12.6h16.691v-12.6zm-9.583 8.384l3.909-5.256 1.207 2.123 1.395-.434.984 5.631H13.748l3.496-3.32 2.091 1.256zm-3.856-3.64c-.91 0-1.649-.688-1.649-1.538 0-.849.739-1.538 1.649-1.538.912 0 1.65.689 1.65 1.538 0 .85-.738 1.538-1.65 1.538z\",\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",\"fill\":\"#fff\"}},\nkeynote:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M5.143.005A5.073 5.073 0 00.071 5.079V58.92a5.073 5.073 0 005.072 5.074h45.775a5.075 5.075 0 005.075-5.074V20.314L37.088.005H5.143z\",\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",\"fill\":\"#DB7A2A\"},{\"d\":\"M17.819 54.013a.73.73 0 01-.54-.252l-4.429-5.275-1.207 1.368v3.403a.734.734 0 01-.756.738.73.73 0 01-.738-.738V42.489c0-.396.324-.72.774-.72.396 0 .72.323.72.72v5.6l5.186-6.067a.674.674 0 01.522-.234c.396 0 .738.306.738.702a.597.597 0 01-.162.414l-4.105 4.682 4.555 5.275a.648.648 0 01.162.433c.001.341-.288.719-.72.719zm10.926-.126h-6.248a1.084 1.084 0 01-1.081-1.08v-9.85c0-.594.486-1.08 1.081-1.08h6.248c.36 0 .648.288.648.685 0 .36-.288.648-.648.648h-5.833v3.871h5.708c.36 0 .648.288.648.684 0 .36-.288.648-.648.648h-5.708v4.142h5.833c.36 0 .648.288.648.647.001.397-.288.685-.648.685zm12.384-11.02l-4.033 5.942v4.447a.734.734 0 01-.756.738.73.73 0 01-.739-.738V48.81l-4.051-5.942a.674.674 0 01-.126-.378c0-.342.27-.72.72-.72.216 0 .468.107.612.306l3.583 5.384 3.583-5.384a.725.725 0 01.576-.288c.396 0 .738.324.738.702a.695.695 0 01-.107.377z\",\"fill\":\"#fff\"}],\"g\":{\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",\"path\":[{\"d\":\"M55.976 20.352v1H43.177s-6.312-1.26-6.129-6.707c0 0 .208 5.707 6.004 5.707h12.924z\",\"fill\":\"#D25B1F\"},{\"d\":\"M37.074 0v14.561c0 1.656 1.104 5.791 6.104 5.791h12.799L37.074 0z\",\"opacity\":\".5\",\"fill\":\"#fff\"}]}},\nlibrary_folder:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"fill\":\"#003462\",\"d\":\"M51.5 15.5c2.5 0 4.5 2 4.5 4.5v31c0 2.5-2 4.5-4.5 4.5h-47C2 55.5 0 53.5 0 51V13c0-2.5 2-4.5 4.5-4.5H16c3.8 0 4.2 1.2 6.7 4.5 2.1 2.7 7.2 2.5 10.4 2.5h18.4z\"},{\"fill\":\"#87C8F2\",\"d\":\"M51.5 18.1H9.2c-2.5 0-4.5 2-4.5 4.5v2.9L9.2 19h42.3l4.5 6.5v-2.9c0-2.5-2-4.5-4.5-4.5z\"},{\"fill\":\"#00A1E0\",\"d\":\"M4.6 55.5h46.9c2.5 0 4.5-2 4.5-4.5V23.5c0-2.5-2-4.5-4.5-4.5H9.3c-2.5-.1-4.5 1.9-4.6 4.4v28.3c0 1.3-1 2.3-2.3 2.3-1.3 0-2.3-1-2.3-2.3.3 2.2 2.3 3.8 4.5 3.8z\"}],\"g\":{\"fill\":\"#FFF\",\"path\":[{\"d\":\"M25.5 37.8h3.6v11.5h-3.6zM31.6 37.8h3.6v11.5h-3.6z\"},{\"d\":\"M46.4 31.8l-15-6.2c-.4-.2-.7-.3-1.1-.3-.1 0-.5 0-1.1.3l-15 6.2c-.3.2-.5.5-.5.8v.9c0 .5.4.9.9.9h2.9v14c0 .5.4.9.9.9h4.5V37.8h-1.8c-.4 0-.6-.2-.6-.6V36c0-.4.2-.6.6-.6H39.4c.4 0 .6.2.6.6v1.2c0 .4-.2.6-.6.6h-1.8v11.5h4.5c.5 0 .9-.4.9-.9V34.5v-.1h2.9c.5 0 .9-.4.9-.9v-.8c.1-.4-.1-.7-.4-.9zm-16.1.5c-1.1 0-1.9-.9-1.9-1.9 0-1.1.9-1.9 1.9-1.9 1.1 0 1.9.9 1.9 1.9 0 1-.8 1.9-1.9 1.9z\"}]}},\nlink:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M5.15.006A5.074 5.074 0 00.078 5.08v53.841a5.072 5.072 0 005.072 5.073h45.775a5.074 5.074 0 005.074-5.073V20.316L37.096.006H5.15z\",\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",\"fill\":\"#0C8FE8\"},{\"d\":\"M28.25 35.611c-2.074-2.097-5.448-2.097-7.545 0l-3.055 3.055c-2.073 2.073-2.073 5.447 0 7.545a1.226 1.226 0 001.734 0 1.19 1.19 0 000-1.732 2.9 2.9 0 010-4.079l3.076-3.055a2.874 2.874 0 014.056 0 2.875 2.875 0 010 4.057l-1.458 1.482c.363.979.502 2.006.41 3.053l2.781-2.781c2.097-2.096 2.097-5.471.001-7.545zm-7.704 5.951a1.251 1.251 0 000 1.755 2.838 2.838 0 010 4.059l-3.055 3.053a2.874 2.874 0 01-4.058 0 2.875 2.875 0 010-4.057l1.459-1.459a7.036 7.036 0 01-.411-3.077l-2.802 2.803c-2.075 2.075-2.075 5.447 0 7.546 2.094 2.074 5.47 2.074 7.544 0l3.076-3.077c2.075-2.075 2.075-5.449 0-7.545a1.246 1.246 0 00-1.753-.001z\",\"fill\":\"#fff\"}],\"g\":{\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",\"path\":[{\"d\":\"M55.977 20.352v1H43.178s-6.312-1.26-6.129-6.707c0 0 .208 5.707 6.004 5.707h12.924z\",\"fill\":\"#0973E2\"},{\"d\":\"M37.074 0v14.561c0 1.656 1.104 5.791 6.104 5.791h12.799L37.074 0z\",\"opacity\":\".5\",\"fill\":\"#fff\"}]}},\nmp4:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",\"path\":[{\"d\":\"M5.116.006A5.073 5.073 0 00.044 5.08v53.841a5.073 5.073 0 005.072 5.074h45.775a5.074 5.074 0 005.074-5.074V20.316L37.062.006H5.116z\",\"fill\":\"#9B64B2\"},{\"d\":\"M55.977 20.352v1H43.178s-6.312-1.26-6.129-6.707c0 0 .208 5.707 6.004 5.707h12.924z\",\"fill\":\"#824B9E\"},{\"d\":\"M37.074 0v14.561c0 1.656 1.104 5.791 6.104 5.791h12.799L37.074 0z\",\"opacity\":\".5\",\"fill\":\"#fff\"}]},\"path\":{\"d\":\"M21.13 53.879a.73.73 0 01-.738-.738v-9.254l-4.033 9.759c-.054.144-.198.233-.378.233a.37.37 0 01-.342-.233l-4.015-9.759v9.254a.734.734 0 01-.756.738.73.73 0 01-.738-.738V42.878c0-.648.558-1.206 1.243-1.206.486 0 .99.288 1.188.756L16 50.8l3.457-8.372c.198-.468.684-.756 1.188-.756.684 0 1.243.558 1.243 1.206v10.263a.737.737 0 01-.758.738zM29.966 49h-3.331v4.141a.734.734 0 01-.756.738.73.73 0 01-.738-.738V42.842c0-.594.486-1.081 1.081-1.081h3.745c2.413 0 3.763 1.657 3.763 3.619-.001 1.964-1.387 3.62-3.764 3.62zm-.18-5.906h-3.151v4.573h3.151c1.422 0 2.395-.936 2.395-2.287 0-1.349-.973-2.286-2.395-2.286zm13.915 7.635h-1.17v2.413a.734.734 0 01-.757.738.73.73 0 01-.738-.738v-2.413h-5.077c-.378 0-.738-.324-.738-.81 0-.162.053-.342.144-.486l4.807-7.22a1.322 1.322 0 011.081-.558c.684 0 1.278.594 1.278 1.26v6.5h1.17c.342 0 .63.288.63.667a.643.643 0 01-.63.647zm-2.665-7.581l-4.213 6.266h4.213v-6.266z\",\"fill\":\"#fff\"}},\noverlay:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M5.15.008A5.073 5.073 0 00.078 5.082v53.841a5.073 5.073 0 005.072 5.074h45.775a5.074 5.074 0 005.074-5.074V20.317L37.096.008H5.15z\",\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",\"fill\":\"#A382D8\"},{\"d\":\"M10.123 34.515v14.081h14.694V34.515H10.123zm5.344 5.343v14.081h14.694V39.858H15.467z\",\"fill\":\"#fff\"},{\"fill\":\"#CBBBEF\",\"d\":\"M15.467 39.858h9.351v8.737h-9.351z\"}],\"g\":{\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",\"path\":[{\"d\":\"M55.977 20.352v1H43.178s-6.312-1.26-6.129-6.707c0 0 .208 5.707 6.004 5.707h12.924z\",\"fill\":\"#8C62CE\"},{\"d\":\"M37.074 0v14.561c0 1.656 1.104 5.791 6.104 5.791h12.799L37.074 0z\",\"opacity\":\".5\",\"fill\":\"#fff\"}]}},\npack:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M5.15.012A5.073 5.073 0 00.078 5.086v53.841A5.073 5.073 0 005.15 64h45.775A5.074 5.074 0 0056 58.927V20.321L37.096.012H5.15z\",\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",\"fill\":\"#4E74B7\"},{\"d\":\"M29.187 40.872v11.917c0 .662-.529 1.191-1.191 1.191H11.311a1.186 1.186 0 01-1.191-1.191V40.872c0-.133.021-.265.065-.375l1.59-4.768a1.184 1.184 0 011.125-.816h13.507c.508 0 .971.331 1.125.816l1.59 4.768c.043.11.065.242.065.375zm-2.45 0l-1.191-3.575H13.76l-1.191 3.575h14.168z\",\"fill\":\"#fff\"}],\"g\":{\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",\"path\":[{\"d\":\"M55.977 20.352v1H43.178s-6.312-1.26-6.129-6.707c0 0 .208 5.707 6.004 5.707h12.924z\",\"fill\":\"#3A57A5\"},{\"d\":\"M37.074 0v14.561c0 1.656 1.104 5.791 6.104 5.791h12.799L37.074 0z\",\"opacity\":\".5\",\"fill\":\"#fff\"}]}},\npages:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M5.111-.006A5.073 5.073 0 00.039 5.068v53.841a5.073 5.073 0 005.072 5.074h45.775a5.074 5.074 0 005.074-5.074V20.304L37.057-.006H5.111z\",\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",\"fill\":\"#6A6AE2\"},{\"d\":\"M14.959 49.006h-3.331v4.142a.734.734 0 01-.756.738.73.73 0 01-.738-.738v-10.3c0-.594.486-1.08 1.081-1.08h3.745c2.413 0 3.763 1.656 3.763 3.619s-1.388 3.619-3.764 3.619zm-.18-5.905h-3.151v4.573h3.151c1.422 0 2.395-.937 2.395-2.287s-.973-2.286-2.395-2.286zm12.06 10.911c-3.421 0-6.176-2.503-6.176-6.23 0-3.727 2.754-6.212 6.176-6.212 1.8 0 3.169.685 4.123 1.639.144.126.198.324.198.504 0 .396-.288.703-.684.703a.669.669 0 01-.486-.217c-.756-.81-1.963-1.296-3.151-1.296-2.629 0-4.627 2.017-4.627 4.879 0 2.845 1.999 4.897 4.627 4.897 1.44 0 2.628-.702 3.223-1.296v-2.449h-3.583c-.36 0-.648-.288-.648-.684 0-.36.288-.648.648-.648h3.998c.594 0 1.08.486 1.08 1.08v2.377c-.001 1.854-2.594 2.953-4.718 2.953zm11.483-.019c-1.782 0-3.187-.594-4.213-1.494a.712.712 0 01-.234-.54c0-.36.27-.757.702-.757.144 0 .306.036.432.145.828.738 1.98 1.314 3.367 1.314 2.143 0 2.827-1.152 2.827-2.07 0-3.098-7.112-1.387-7.112-5.672 0-1.98 1.764-3.331 4.123-3.331 1.548 0 2.881.468 3.853 1.278a.73.73 0 01.252.54c0 .36-.306.72-.703.72a.684.684 0 01-.432-.161c-.882-.721-1.98-1.045-3.079-1.045-1.44 0-2.467.774-2.467 1.909 0 2.7 7.112 1.152 7.112 5.635.001 1.747-1.187 3.529-4.428 3.529z\",\"fill\":\"#fff\"}],\"g\":{\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",\"path\":[{\"d\":\"M55.976 20.352v1H43.177s-6.312-1.26-6.129-6.707c0 0 .208 5.707 6.004 5.707h12.924z\",\"fill\":\"#4F4FDA\"},{\"d\":\"M37.074 0v14.561c0 1.656 1.104 5.791 6.104 5.791h12.799L37.074 0z\",\"opacity\":\".5\",\"fill\":\"#fff\"}]}},\npdf:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"fill\":\"#8C181A\",\"d\":\"M5.1 0C2.3 0 0 2.3 0 5.1v53.8C0 61.7 2.3 64 5.1 64h45.8c2.8 0 5.1-2.3 5.1-5.1V20.3L37.1 0h-32z\"},{\"fill\":\"#6B0D12\",\"d\":\"M56 20.4v1H43.2s-6.3-1.3-6.1-6.7c0 0 .2 5.7 6 5.7H56z\"},{\"opacity\":\".5\",\"fill\":\"#FFF\",\"d\":\"M37.1 0v14.6c0 1.7 1.1 5.8 6.1 5.8H56L37.1 0z\"},{\"fill\":\"#FFF\",\"d\":\"M14.9 49h-3.3v4.1c0 .4-.3.7-.8.7-.4 0-.7-.3-.7-.7V42.9c0-.6.5-1.1 1.1-1.1h3.7c2.4 0 3.8 1.7 3.8 3.6 0 2-1.4 3.6-3.8 3.6zm-.1-5.9h-3.2v4.6h3.2c1.4 0 2.4-.9 2.4-2.3s-1-2.3-2.4-2.3zm10.4 10.7h-3c-.6 0-1.1-.5-1.1-1.1v-9.8c0-.6.5-1.1 1.1-1.1h3c3.7 0 6.2 2.6 6.2 6s-2.4 6-6.2 6zm0-10.7h-2.6v9.3h2.6c2.9 0 4.6-2.1 4.6-4.7.1-2.5-1.6-4.6-4.6-4.6zm16.3 0h-5.8V47h5.7c.4 0 .6.3.6.7s-.3.6-.6.6h-5.7v4.8c0 .4-.3.7-.8.7-.4 0-.7-.3-.7-.7V42.9c0-.6.5-1.1 1.1-1.1h6.2c.4 0 .6.3.6.7.1.3-.2.6-.6.6z\"}]},\nppt:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M5.112-.004A5.074 5.074 0 00.039 5.07v53.841a5.073 5.073 0 005.073 5.074h45.774a5.074 5.074 0 005.074-5.074V20.306L37.058-.004H5.112z\",\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",\"fill\":\"#E34221\"},{\"d\":\"M14.964 49.011h-3.331v4.141a.734.734 0 01-.756.738.73.73 0 01-.738-.738V42.854c0-.594.486-1.081 1.08-1.081h3.745c2.413 0 3.763 1.657 3.763 3.619 0 1.963-1.387 3.619-3.763 3.619zm-.181-5.906h-3.15v4.573h3.15c1.423 0 2.395-.936 2.395-2.287 0-1.349-.972-2.286-2.395-2.286zm11.197 5.906h-3.332v4.141a.734.734 0 01-.756.738.73.73 0 01-.738-.738V42.854c0-.594.486-1.081 1.08-1.081h3.746c2.412 0 3.763 1.657 3.763 3.619 0 1.963-1.387 3.619-3.763 3.619zm-.18-5.906h-3.151v4.573H25.8c1.423 0 2.395-.936 2.395-2.287-.001-1.349-.972-2.286-2.395-2.286zm14.112 0h-3.277v10.047a.734.734 0 01-.756.738.73.73 0 01-.738-.738V43.105h-3.259c-.36 0-.647-.288-.647-.684 0-.361.287-.648.647-.648h8.03c.36 0 .648.288.648.685a.644.644 0 01-.648.647z\",\"fill\":\"#fff\"}],\"g\":{\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",\"path\":[{\"d\":\"M55.977 20.352v1H43.178s-6.312-1.26-6.129-6.707c0 0 .208 5.707 6.004 5.707h12.924z\",\"fill\":\"#DC3119\"},{\"d\":\"M37.074 0v14.561c0 1.656 1.104 5.791 6.104 5.791h12.799L37.074 0z\",\"opacity\":\".5\",\"fill\":\"#fff\"}]}},\npsd:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M5.112.051A5.074 5.074 0 00.039 5.126v53.841a5.073 5.073 0 005.073 5.073h45.775a5.074 5.074 0 005.074-5.073V20.361L37.058.051H5.112z\",\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",\"fill\":\"#0C77C6\"},{\"d\":\"M14.952 49.011h-3.331v4.141a.734.734 0 01-.756.738.73.73 0 01-.738-.738V42.854c0-.594.486-1.081 1.08-1.081h3.745c2.413 0 3.763 1.657 3.763 3.619 0 1.963-1.387 3.619-3.763 3.619zm-.181-5.906h-3.15v4.573h3.15c1.423 0 2.395-.936 2.395-2.287 0-1.349-.972-2.286-2.395-2.286zm10.26 10.894c-1.781 0-3.187-.594-4.213-1.495a.71.71 0 01-.234-.54c0-.36.271-.756.703-.756.144 0 .306.036.432.144.828.739 1.98 1.314 3.367 1.314 2.143 0 2.826-1.152 2.826-2.071 0-3.097-7.111-1.386-7.111-5.672 0-1.98 1.764-3.331 4.123-3.331 1.549 0 2.881.467 3.854 1.278a.73.73 0 01.252.54c0 .36-.307.72-.703.72a.682.682 0 01-.432-.162c-.883-.72-1.98-1.044-3.078-1.044-1.441 0-2.467.774-2.467 1.909 0 2.701 7.111 1.152 7.111 5.636 0 1.748-1.188 3.53-4.43 3.53zm11.215-.216h-3.025c-.594 0-1.08-.487-1.08-1.081v-9.849c0-.594.486-1.081 1.08-1.081h3.025c3.727 0 6.157 2.611 6.157 6.014 0 3.422-2.43 5.997-6.157 5.997zm0-10.678h-2.611v9.345h2.611c2.916 0 4.609-2.088 4.609-4.663 0-2.593-1.638-4.682-4.609-4.682z\",\"fill\":\"#fff\"}],\"g\":{\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",\"path\":[{\"d\":\"M55.977 20.352v1H43.178s-6.312-1.26-6.129-6.707c0 0 .208 5.707 6.004 5.707h12.924z\",\"fill\":\"#0959B7\"},{\"d\":\"M37.074 0v14.561c0 1.656 1.104 5.791 6.104 5.791h12.799L37.074 0z\",\"opacity\":\".5\",\"fill\":\"#fff\"}]}},\nquip_doc:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",\"fill\":\"#3D87F5\",\"d\":\"M0 5.1v53.7C0 61.7 2.3 64 5.1 64h45.7c2.8 0 5.1-2.3 5.1-5.1V21L37 0H5.1C2.3 0 0 2.3 0 5.1z\"},{\"opacity\":\".5\",\"fill\":\"#FFF\",\"d\":\"M37 0l19 21H42.1c-2.8 0-5.2-2.3-5.2-5.2L37 0z\"},{\"opacity\":\".5\",\"fill\":\"#216AC1\",\"d\":\"M37 15.9v1c0 2.8 2.3 5.2 5.2 5.2H56v-1H42.1c-2.8-.1-5.1-2.4-5.1-5.2z\"},{\"fill\":\"#FFF\",\"d\":\"M23.5 46.7h-6.9c-.4 0-.8.3-.8.8s.3.8.8.8h6.9c.4 0 .8-.3.8-.8s-.4-.8-.8-.8zM16.5 41.3h6.9c.4 0 .8-.3.8-.8 0-.4-.3-.8-.8-.8h-6.9c-.4 0-.8.3-.8.8.1.5.4.8.8.8zM14.2 43.2c-.4 0-.8.3-.8.8 0 .4.3.8.8.8h11.5c.4 0 .8-.3.8-.8 0-.4-.3-.8-.8-.8H14.2z\"},{\"fill\":\"#FFF\",\"d\":\"M26.8 36.7c-3.9-3.7-10.1-3.6-13.9.2-3.8 3.8-3.9 10-.2 13.9 1.9 2 4.5 3.2 7.3 3.2h9.2c.4 0 .8-.3.8-.8V44c0-2.8-1.1-5.4-3.2-7.3zm1.6 15.8H20c-2.3 0-4.6-1-6.2-2.7-1.6-1.7-2.4-4-2.3-6.3.3-4.3 3.7-7.7 7.9-7.9h.5c4.7 0 8.5 3.8 8.5 8.5v8.4z\"}]},\nquip_sheet:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",\"fill\":\"#2CAB21\",\"d\":\"M0 5.1v53.7C0 61.7 2.3 64 5.1 64h45.7c2.8 0 5.1-2.3 5.1-5.1V21L37 0H5.1C2.3 0 0 2.3 0 5.1z\"},{\"opacity\":\".5\",\"fill\":\"#FFF\",\"d\":\"M37 0l19 21H42.1c-2.8 0-5.2-2.3-5.2-5.2L37 0z\"},{\"opacity\":\".5\",\"fill\":\"#189355\",\"d\":\"M37 15.9v1c0 2.8 2.3 5.2 5.2 5.2H56v-1H42.1c-2.8-.1-5.1-2.4-5.1-5.2z\"},{\"fill\":\"#FFF\",\"d\":\"M23.5 46.7h-6.9c-.4 0-.8.3-.8.8s.3.8.8.8h6.9c.4 0 .8-.3.8-.8s-.4-.8-.8-.8zM16.5 41.3h6.9c.4 0 .8-.3.8-.8 0-.4-.3-.8-.8-.8h-6.9c-.4 0-.8.3-.8.8.1.5.4.8.8.8zM14.2 43.2c-.4 0-.8.3-.8.8 0 .4.3.8.8.8h11.5c.4 0 .8-.3.8-.8 0-.4-.3-.8-.8-.8H14.2z\"},{\"fill\":\"#FFF\",\"d\":\"M26.8 36.7c-3.9-3.7-10.1-3.6-13.9.2-3.8 3.8-3.9 10-.2 13.9 1.9 2 4.5 3.2 7.3 3.2h9.2c.4 0 .8-.3.8-.8V44c0-2.8-1.1-5.4-3.2-7.3zM20 52.5c-2.3 0-4.6-1-6.2-2.7-1.6-1.7-2.4-4-2.3-6.3.3-4.3 3.7-7.7 7.9-7.9h.5c4.7 0 8.5 3.8 8.5 8.5v8.4H20z\"}]},\nquip_slide:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",\"fill\":\"#8D3DF5\",\"d\":\"M0 5.1v53.7C0 61.7 2.3 64 5.1 64h45.7c2.8 0 5.1-2.3 5.1-5.1V21L37 0H5.1C2.3 0 0 2.3 0 5.1z\"},{\"opacity\":\".5\",\"fill\":\"#FFF\",\"d\":\"M37 0l19 21H42.1c-2.8 0-5.2-2.3-5.2-5.2L37 0z\"},{\"opacity\":\".5\",\"fill\":\"#6D2BD6\",\"d\":\"M37 15.9v1c0 2.8 2.3 5.2 5.2 5.2H56v-1H42.1c-2.8-.1-5.1-2.4-5.1-5.2z\"},{\"fill\":\"#FFF\",\"d\":\"M23.5 46.7h-6.9c-.4 0-.8.3-.8.8s.3.8.8.8h6.9c.4 0 .8-.3.8-.8s-.4-.8-.8-.8zM16.5 41.3h6.9c.4 0 .8-.3.8-.8 0-.4-.3-.8-.8-.8h-6.9c-.4 0-.8.3-.8.8.1.5.4.8.8.8zM14.2 43.2c-.4 0-.8.3-.8.8 0 .4.3.8.8.8h11.5c.4 0 .8-.3.8-.8 0-.4-.3-.8-.8-.8H14.2z\"},{\"fill\":\"#FFF\",\"d\":\"M26.8 36.7c-3.9-3.7-10.1-3.6-13.9.2-3.8 3.8-3.9 10-.2 13.9 1.9 2 4.5 3.2 7.3 3.2h9.2c.4 0 .8-.3.8-.8V44c0-2.8-1.1-5.4-3.2-7.3zM20 52.5c-2.3 0-4.6-1-6.2-2.7-1.6-1.7-2.4-4-2.3-6.3.3-4.3 3.7-7.7 7.9-7.9h.5c4.7 0 8.5 3.8 8.5 8.5v8.4H20z\"}]},\nrtf:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M5.113.006A5.074 5.074 0 00.039 5.08v53.841a5.073 5.073 0 005.074 5.074h45.774a5.074 5.074 0 005.074-5.074V20.316L37.058.006H5.113z\",\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",\"fill\":\"#00A1EE\"},{\"d\":\"M15.611 48.825l2.575 3.907a.756.756 0 01.108.378c0 .36-.306.72-.738.72a.699.699 0 01-.594-.324l-2.935-4.555h-2.395v4.141a.734.734 0 01-.756.738.73.73 0 01-.738-.738V42.793c0-.594.486-1.081 1.081-1.081h3.745c2.197 0 3.763 1.405 3.763 3.619 0 2.161-1.477 3.35-3.116 3.494zm-3.979-5.78v4.591h3.151c1.422 0 2.395-.954 2.395-2.305 0-1.35-.972-2.287-2.395-2.287h-3.151zm17.463 0h-3.277v10.047a.734.734 0 01-.756.738.73.73 0 01-.738-.738V43.045h-3.259c-.36 0-.648-.288-.648-.684 0-.36.288-.648.648-.648h8.031c.36 0 .648.288.648.685a.647.647 0 01-.649.647zm10.295 0h-5.833v3.871h5.708c.36 0 .648.288.648.685 0 .36-.288.648-.648.648h-5.708v4.843a.734.734 0 01-.756.738.73.73 0 01-.738-.738V42.793c0-.594.486-1.081 1.081-1.081h6.248c.36 0 .648.288.648.685a.648.648 0 01-.65.648z\",\"fill\":\"#fff\"}],\"g\":{\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",\"path\":[{\"d\":\"M55.977 20.352v1H43.178s-6.312-1.26-6.129-6.707c0 0 .208 5.707 6.004 5.707h12.924z\",\"fill\":\"#0089E9\"},{\"d\":\"M37.074 0v14.561c0 1.656 1.104 5.791 6.104 5.791h12.799L37.074 0z\",\"opacity\":\".5\",\"fill\":\"#fff\"}]}},\nslide:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M5.15.008A5.074 5.074 0 00.078 5.082v53.842a5.072 5.072 0 005.072 5.073h45.775a5.074 5.074 0 005.074-5.073V20.318L37.096.008H5.15z\",\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",\"fill\":\"#1AB6D9\"},{\"d\":\"M10.121 34.772v19.09h19.918v-19.09H10.121zM28.226 50.24H11.931V38.396h16.295V50.24z\",\"fill\":\"#fff\"},{\"d\":\"M55.977 20.352v1H43.178s-6.312-1.26-6.129-6.707c0 0 .208 5.707 6.004 5.707h12.924z\",\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",\"fill\":\"#13A3CF\"},{\"d\":\"M37.074 0v14.561c0 1.656 1.104 5.791 6.104 5.791h12.799L37.074 0z\",\"opacity\":\".5\",\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",\"fill\":\"#fff\"}]},\nstypi:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",\"path\":[{\"d\":\"M5.072.006A5.073 5.073 0 000 5.08v53.841a5.073 5.073 0 005.072 5.074h45.775a5.074 5.074 0 005.074-5.074V20.315L37.018.006H5.072z\",\"fill\":\"#DDD965\"},{\"d\":\"M55.977 20.352v1H43.178s-6.312-1.26-6.129-6.707c0 0 .208 5.707 6.004 5.707h12.924z\",\"fill\":\"#C1BC45\"},{\"d\":\"M37.074 0v14.561c0 1.656 1.104 5.791 6.104 5.791h12.799L37.074 0z\",\"opacity\":\".5\",\"fill\":\"#fff\"},{\"d\":\"M29.399 34.802H11.768c-.872 0-1.577.706-1.577 1.577v15.99c0 .871.706 1.577 1.577 1.577h13.167l6.04-6.017v-11.55c0-.871-.705-1.577-1.576-1.577z\",\"fill\":\"#fff\"},{\"fill\":\"#DBD75D\",\"d\":\"M13.741 43.553h13.675v1.643H13.741zm0-3.555h13.675v1.641H13.741zm0 7.109h8.867v1.643h-8.867z\"}]}},\ntxt:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M5.151-.036A5.074 5.074 0 00.077 5.038v53.841a5.073 5.073 0 005.074 5.074h45.774a5.074 5.074 0 005.074-5.074V20.274L37.097-.036H5.151z\",\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",\"fill\":\"#F9CA06\"},{\"d\":\"M18.763 43.045h-3.277v10.047a.734.734 0 01-.756.738.73.73 0 01-.738-.738V43.045h-3.259c-.36 0-.648-.288-.648-.684 0-.36.288-.648.648-.648h8.03c.36 0 .648.288.648.685a.645.645 0 01-.648.647zm11.7 10.803a.64.64 0 01-.541-.27l-3.727-4.97-3.745 4.97a.639.639 0 01-.54.27.71.71 0 01-.72-.72c0-.144.036-.306.144-.432l3.889-5.131-3.619-4.826a.721.721 0 01-.144-.414c0-.343.288-.721.72-.721.216 0 .432.108.576.288l3.439 4.627 3.439-4.646a.642.642 0 01.541-.27c.378 0 .738.306.738.721a.7.7 0 01-.126.414l-3.619 4.808 3.89 5.149c.09.126.126.27.126.415a.739.739 0 01-.721.738zm11.195-10.803h-3.277v10.047a.734.734 0 01-.756.738.73.73 0 01-.738-.738V43.045h-3.259c-.36 0-.648-.288-.648-.684 0-.36.288-.648.648-.648h8.03c.36 0 .648.288.648.685a.644.644 0 01-.648.647z\",\"fill\":\"#fff\"}],\"g\":{\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",\"path\":[{\"d\":\"M56.008 20.316v1H43.209s-6.312-1.26-6.129-6.708c0 0 .208 5.708 6.004 5.708h12.924z\",\"fill\":\"#F7BC04\"},{\"d\":\"M37.106-.036v14.561c0 1.656 1.104 5.792 6.104 5.792h12.799L37.106-.036z\",\"opacity\":\".5\",\"fill\":\"#fff\"}]}},\nunknown:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",\"path\":[{\"d\":\"M5.113.007A5.073 5.073 0 00.039 5.081v53.84a5.073 5.073 0 005.074 5.074h45.774a5.074 5.074 0 005.074-5.074V20.315L37.058.007H5.113z\",\"fill\":\"#8199AF\"},{\"d\":\"M55.976 20.352v1H43.177s-6.312-1.26-6.129-6.707c0 0 .208 5.707 6.004 5.707h12.924z\",\"fill\":\"#617F9B\"},{\"d\":\"M37.074 0v14.561c0 1.656 1.104 5.791 6.104 5.791h12.799L37.074 0z\",\"opacity\":\".5\",\"fill\":\"#fff\"}]}},\nvideo:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M5.15.011A5.073 5.073 0 00.078 5.085v53.841A5.073 5.073 0 005.15 64h45.775A5.075 5.075 0 0056 58.926V20.32L37.096.011H5.15z\",\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",\"fill\":\"#8E4C9E\"},{\"d\":\"M24.531 45.529c0 .368-.163.736-.449.981-.205.163-5.255 4.417-11.839 7.095a1.411 1.411 0 01-.511.103 1.35 1.35 0 01-.675-.184 1.229 1.229 0 01-.613-.981c-.021-.144-.307-3.456-.307-7.014s.286-6.87.307-6.993c.021-.408.266-.776.613-1.002.205-.122.43-.184.675-.184.164 0 .348.041.511.103 6.584 2.678 11.634 6.932 11.839 7.115.286.225.449.593.449.961z\",\"fill\":\"#fff\"}],\"g\":{\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",\"path\":[{\"d\":\"M55.977 20.352v1H43.178s-6.312-1.26-6.129-6.707c0 0 .208 5.707 6.004 5.707h12.924z\",\"fill\":\"#713985\"},{\"d\":\"M37.074 0v14.561c0 1.656 1.104 5.791 6.104 5.791h12.799L37.074 0z\",\"opacity\":\".5\",\"fill\":\"#fff\"}]}},\nvisio:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M5.111.006A5.073 5.073 0 00.039 5.08v53.841a5.073 5.073 0 005.072 5.074h45.775a5.074 5.074 0 005.074-5.074V20.315L37.057.006H5.111z\",\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",\"fill\":\"#496AB3\"},{\"d\":\"M20.915 42.686l-4.16 10.334c-.198.486-.684.81-1.188.81h-.036a1.316 1.316 0 01-1.207-.81l-4.141-10.334a.755.755 0 01-.054-.289c0-.36.324-.792.811-.792.306 0 .594.181.72.486l3.889 9.993 3.889-9.993a.767.767 0 01.72-.486c.468 0 .81.378.81.792 0 .09-.018.198-.053.289zm3.147 11.144a.73.73 0 01-.738-.738V42.325c0-.396.324-.721.774-.721.396 0 .72.324.72.721v10.767a.734.734 0 01-.756.738zm7.902.108c-1.782 0-3.187-.594-4.213-1.495a.71.71 0 01-.234-.54c0-.36.27-.756.702-.756.144 0 .306.036.432.145.829.738 1.981 1.314 3.367 1.314 2.143 0 2.827-1.152 2.827-2.071 0-3.097-7.112-1.386-7.112-5.672 0-1.98 1.764-3.33 4.123-3.33 1.548 0 2.881.467 3.853 1.277a.731.731 0 01.252.541c0 .359-.306.72-.702.72a.68.68 0 01-.432-.162c-.882-.72-1.98-1.044-3.079-1.044-1.44 0-2.467.774-2.467 1.909 0 2.701 7.112 1.152 7.112 5.636.001 1.746-1.188 3.528-4.429 3.528z\",\"fill\":\"#fff\"}],\"g\":{\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",\"path\":[{\"d\":\"M55.977 20.352v1H43.178s-6.312-1.26-6.129-6.707c0 0 .208 5.707 6.004 5.707h12.924z\",\"fill\":\"#374FA0\"},{\"d\":\"M37.074 0v14.561c0 1.656 1.104 5.791 6.104 5.791h12.799L37.074 0z\",\"opacity\":\".5\",\"fill\":\"#fff\"}]}},\nwebex:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",\"path\":[{\"d\":\"M5.152.011A5.074 5.074 0 00.078 5.085v53.841A5.074 5.074 0 005.152 64h45.773A5.075 5.075 0 0056 58.926V20.32L37.098.011H5.152z\",\"fill\":\"#80BC4B\"},{\"d\":\"M55.977 20.352v1H43.178s-6.312-1.26-6.129-6.707c0 0 .208 5.707 6.004 5.707h12.924z\",\"fill\":\"#60AB38\"},{\"d\":\"M37.074 0v14.561c0 1.656 1.104 5.791 6.104 5.791h12.799L37.074 0z\",\"opacity\":\".5\",\"fill\":\"#fff\"}]},\"path\":[{\"d\":\"M20.463 53.854c5.161-.271 9.261-4.538 9.261-9.767a9.78 9.78 0 00-9.26-9.767l-.001 19.534z\",\"fill\":\"#CFE8AF\"},{\"d\":\"M19.338 53.852c-5.119-.316-9.174-4.565-9.174-9.764s4.056-9.447 9.174-9.763v19.527z\",\"fill\":\"#fff\"}]},\nword:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"fill-rule\":\"evenodd\",\"path\":[{\"d\":\"M5.11 0A5.07 5.07 0 000 5v53.88A5.07 5.07 0 005.11 64h45.78A5.07 5.07 0 0056 58.88v-38.6L37.06 0z\",\"fill\":\"#107cad\"},{\"d\":\"M56 20.35v1H43.18s-6.31-1.26-6.13-6.71c0 0 .21 5.71 6 5.71z\",\"fill\":\"#084968\"},{\"d\":\"M37.07 0v14.56a5.78 5.78 0 006.11 5.79H56z\",\"fill\":\"#90d0fe\",\"opacity\":\".5\"}]},\"path\":{\"d\":\"M14.24 53.86h-3a1.08 1.08 0 01-1.08-1.08v-9.85a1.08 1.08 0 011.08-1.08h3a6 6 0 110 12zm0-10.67h-2.61v9.34h2.61a4.41 4.41 0 004.61-4.66 4.38 4.38 0 00-4.61-4.68zm14.42 10.89a5.86 5.86 0 01-6-6.21 6 6 0 1111.92 0 5.87 5.87 0 01-5.92 6.21zm0-11.09c-2.7 0-4.41 2.07-4.41 4.88s1.71 4.88 4.41 4.88 4.41-2.09 4.41-4.88S31.35 43 28.66 43zm18.45.38a.75.75 0 01.2.52.71.71 0 01-.7.72.64.64 0 01-.51-.24 4.06 4.06 0 00-3-1.38 4.61 4.61 0 00-4.63 4.88 4.63 4.63 0 004.63 4.88 4 4 0 003-1.37.7.7 0 01.51-.24.72.72 0 01.7.74.78.78 0 01-.2.51 5.33 5.33 0 01-4 1.69 6.22 6.22 0 010-12.43 5.26 5.26 0 014 1.72z\",\"fill\":\"#fff\"}},\nxml:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M5.112-.024A5.074 5.074 0 00.038 5.05v53.841a5.073 5.073 0 005.074 5.074h45.774a5.074 5.074 0 005.074-5.074V20.285L37.058-.024H5.112z\",\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",\"fill\":\"#FC7B24\"},{\"d\":\"M19.371 53.848a.64.64 0 01-.541-.27l-3.727-4.97-3.745 4.97a.638.638 0 01-.54.27.712.712 0 01-.721-.72.66.66 0 01.145-.432l3.889-5.131-3.619-4.826a.721.721 0 01-.144-.414c0-.343.288-.721.72-.721.217 0 .433.108.576.288l3.439 4.627 3.439-4.646a.64.64 0 01.54-.27c.378 0 .737.306.737.721a.7.7 0 01-.125.414l-3.619 4.808 3.889 5.149c.09.126.127.27.127.415a.736.736 0 01-.72.738zm14.455-.018a.73.73 0 01-.738-.738v-9.254l-4.033 9.759c-.055.143-.2.233-.379.233a.37.37 0 01-.342-.234l-4.016-9.759v9.254a.734.734 0 01-.756.738.73.73 0 01-.738-.738V42.829c0-.648.559-1.207 1.242-1.207.486 0 .99.288 1.188.756l3.438 8.373 3.457-8.373c.199-.468.686-.756 1.189-.756.684 0 1.242.558 1.242 1.207v10.263c.002.414-.322.738-.754.738zm10.546-.108h-5.456c-.594 0-1.08-.486-1.08-1.081V42.325c0-.396.324-.721.774-.721.396 0 .72.324.72.721V52.39h5.042c.36 0 .647.288.647.648.001.396-.287.684-.647.684z\",\"fill\":\"#fff\"}],\"g\":{\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",\"path\":[{\"d\":\"M55.977 20.352v1H43.178s-6.312-1.26-6.129-6.707c0 0 .208 5.707 6.004 5.707h12.924z\",\"fill\":\"#FB5C1B\"},{\"d\":\"M37.074 0v14.561c0 1.656 1.104 5.791 6.104 5.791h12.799L37.074 0z\",\"opacity\":\".5\",\"fill\":\"#fff\"}]}},\nzip:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M5.113-.026A5.074 5.074 0 00.039 5.048v53.841a5.073 5.073 0 005.074 5.074h45.773a5.074 5.074 0 005.074-5.074V20.284L37.059-.026H5.113z\",\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",\"fill\":\"#8199AF\"},{\"d\":\"M18.438 53.906h-7.581c-.378 0-.756-.342-.756-.828 0-.18.054-.36.162-.504l6.68-9.345h-6.212c-.36 0-.648-.288-.648-.684 0-.36.288-.648.648-.648h7.454c.378 0 .756.342.756.829 0 .18-.054.36-.162.504l-6.68 9.345h6.338c.36 0 .648.288.648.648.001.395-.287.683-.647.683zm4.012.108a.73.73 0 01-.738-.738V42.509c0-.396.324-.721.774-.721.396 0 .72.324.72.721v10.767a.735.735 0 01-.756.738zm8.839-4.879h-3.331v4.141a.734.734 0 01-.756.738.73.73 0 01-.738-.738V42.977c0-.594.486-1.081 1.081-1.081h3.745c2.413 0 3.763 1.657 3.763 3.619s-1.387 3.62-3.764 3.62zm-.18-5.906h-3.151v4.573h3.151c1.422 0 2.395-.936 2.395-2.287-.001-1.35-.973-2.286-2.395-2.286z\",\"fill\":\"#fff\"}],\"g\":{\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",\"path\":[{\"d\":\"M55.977 20.352v1H43.178s-6.312-1.26-6.129-6.707c0 0 .208 5.707 6.004 5.707h12.924z\",\"fill\":\"#617F9B\"},{\"d\":\"M37.074 0v14.561c0 1.656 1.104 5.791 6.104 5.791h12.799L37.074 0z\",\"opacity\":\".5\",\"fill\":\"#fff\"}]}},\nviewBox:'0 0 56 64'\n}; } export default icons;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n\nlet icons = {}; if ('__INCLUDE_SLDS_ICONS__' === '__INCLUDE_SLDS_ICONS__') { icons = {\naccount:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M79 51.1c.1-2.1-1.4-2.7-2-2.7H55.2c-1.9 0-2.2 2-2.2 2.2V74h26V51.1zM64 67.9c0 1.1-.9 2-2 2h-2c-1.1 0-2-.9-2-2v-2c0-1.1.9-2 2-2h2c1.1 0 2 .9 2 2v2zm0-10.2c0 1.1-.9 2-2 2h-2c-1.1 0-2-.9-2-2v-2c0-1.1.9-2 2-2h2c1.1 0 2 .9 2 2v2zm10 10.2c0 1.1-.9 2-2 2h-2c-1.1 0-2-.9-2-2v-2c0-1.1.9-2 2-2h2c1.1 0 2 .9 2 2v2zm0-10.2c0 1.1-.9 2-2 2h-2c-1.1 0-2-.9-2-2v-2c0-1.1.9-2 2-2h2c1.1 0 2 .9 2 2v2z\"},{\"d\":\"M59 40.3V28.7c.1-2.1-1.4-2.7-2-2.7H23.2c-1.9 0-2.2 2-2.2 2.2V74h26V44.7s0-2.4 2.2-2.4h7.9c1.1 0 1.9-1.2 1.9-2zM32 66.9c0 1.1-.9 2-2 2h-2c-1.1 0-2-.9-2-2v-2c0-1.1.9-2 2-2h2c1.1 0 2 .9 2 2v2zm0-10.3c0 1.1-.9 2-2 2h-2c-1.1 0-2-.9-2-2v-2c0-1.1.9-2 2-2h2c1.1 0 2 .9 2 2v2zm0-10.2c0 1.1-.9 2-2 2h-2c-1.1 0-2-.9-2-2v-2c0-1.1.9-2 2-2h2c1.1 0 2 .9 2 2v2zm0-10.2c0 1.1-.9 2-2 2h-2c-1.1 0-2-.9-2-2v-2c0-1.1.9-2 2-2h2c1.1 0 2 .9 2 2v2zm11 30.7c0 1.1-.9 2-2 2h-2c-1.1 0-2-.9-2-2v-2c0-1.1.9-2 2-2h2c1.1 0 2 .9 2 2v2zm0-10.3c0 1.1-.9 2-2 2h-2c-1.1 0-2-.9-2-2v-2c0-1.1.9-2 2-2h2c1.1 0 2 .9 2 2v2zm0-10.2c0 1.1-.9 2-2 2h-2c-1.1 0-2-.9-2-2v-2c0-1.1.9-2 2-2h2c1.1 0 2 .9 2 2v2zm0-10.2c0 1.1-.9 2-2 2h-2c-1.1 0-2-.9-2-2v-2c0-1.1.9-2 2-2h2c1.1 0 2 .9 2 2v2zm11 0c0 1.1-.9 2-2 2h-2c-1.1 0-2-.9-2-2v-2c0-1.1.9-2 2-2h2c1.1 0 2 .9 2 2v2z\"}]},\naction_list_component:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M48.2 63.9h29.9c1.1 0 2 .9 2 2v4c0 1.1-.9 2-2 2H48.2c-1.1 0-2-.9-2-2v-4c0-1.1.9-2 2-2zM48.2 46h29.9c1.1 0 2 .9 2 2v4c0 1.1-.9 2-2 2H48.2c-1.1 0-2-.9-2-2v-4c0-1.1.9-2 2-2zM48.2 28.2h29.9c1.1 0 2 .9 2 2v4c0 1.1-.9 2-2 2H48.2c-1.1 0-2-.9-2-2v-4c0-1.1.9-2 2-2zM29 28.2c-2.2 0-4 1.8-4 4s1.8 4 4 4 4-1.8 4-4-1.8-4-4-4zM29 63.9c-2.2 0-4 1.8-4 4s1.8 4 4 4 4-1.8 4-4-1.8-4-4-4zM29 41c-5 0-9 4-9 9s4 9 9 9 9-4 9-9-4-9-9-9zm0 12c-1.7 0-3-1.4-3-3 0-1.7 1.4-3 3-3s3 1.4 3 3c0 1.7-1.3 3-3 3z\"}},\nactions_and_buttons:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M48.3 74.5c1 0 1.8-.8 1.8-1.8l.1-20.8c.1-1-.8-1.8-1.6-1.9H27.4c-1-.1-1.8.8-1.9 1.6v4.1c-.1 1 .8 1.8 1.6 1.9H34c.7 0 1.3.6 1.3 1.3 0 .3-.1.7-.3.9l-14 14c-.8.8-.8 2.1-.1 2.8l2.7 2.7c.8.7 2 .6 2.8-.1l14.1-14.1c.5-.5 1.3-.5 1.8 0 .2.2.4.5.3.9v6.6c-.1 1 .8 1.8 1.6 1.9h4.1z\"},{\"d\":\"M55.7 77.7c5.7-1 11.2-3.7 15.6-8 11.3-11.3 11.3-29.7 0-41s-29.7-11.3-41 0c-4.4 4.4-7 9.8-8 15.5h5.9c.9-4.2 3-8.1 6.2-11.4 9-9 23.8-9 32.8 0s9 23.8 0 32.8c-3.2 3.2-7.2 5.3-11.3 6.2l-.2 5.9zm.3-11.9c2.6-.8 5.1-2.2 7.1-4.3 6.8-6.8 6.8-17.8 0-24.6s-17.8-6.8-24.6 0c-2.1 2.1-3.5 4.6-4.3 7.2h6.2c.5-1.2 1.3-2.2 2.2-3.2 4.5-4.5 11.9-4.5 16.4 0s4.5 11.9 0 16.4c-.9.9-1.9 1.6-3 2.2v6.3z\"}]},\nactivation_target:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M75 20.37H57.81a5 5 0 00-5 5v17a5 5 0 005 5H75a5 5 0 005-5v-17a5 5 0 00-5-5zm-1 6v15H58.82v-15zM28 51a1.64 1.64 0 00-1.56 1.71l-.08 3.51A1.64 1.64 0 0028 57.83h6.2a1.08 1.08 0 01.82.33 1.18 1.18 0 01.08 1.71L20.54 74.34a1.68 1.68 0 00-.09 2.37l2.47 2.45a2.12 2.12 0 002.55.08l14.68-14.55a.88.88 0 01.58-.25 1.28 1.28 0 011.4 1.06l.08 5.22a1.64 1.64 0 001.64 1.63l3.54.09A1.65 1.65 0 0049 70.8v-18a1.65 1.65 0 00-1.65-1.64z\"}}},\nactivations:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M78 60a2 2 0 012 2v16a2 2 0 01-2 2H62a2 2 0 01-2-2V62a2 2 0 012-2zM40.2 26.9l12.9.2a1.16 1.16 0 011.2 1.2l.2 12.9a1.16 1.16 0 01-1.2 1.2H51a1.16 1.16 0 01-1.2-1.2l-.1-4a.77.77 0 00-1.3-.6l-7.9 7.9A10.32 10.32 0 0142 50a11.07 11.07 0 01-1.9 6.2l8.3 8.3a.77.77 0 001.3-.6l.1-4a1.16 1.16 0 011.2-1.2l2.4-.1a1.16 1.16 0 011.2 1.2l-.2 12.9a1.16 1.16 0 01-1.2 1.2l-12.9.2a1.16 1.16 0 01-1.2-1.2v-2.3a1.16 1.16 0 011.2-1.2l4-.1a.77.77 0 00.6-1.3l-8.4-8.4A11.24 11.24 0 0131 61a11 11 0 116.2-20.1l7.8-7.8a.77.77 0 00-.6-1.3l-4-.1a1.16 1.16 0 01-1.2-1.2l-.1-2.4a1.08 1.08 0 011.1-1.2zM74 66h-8v8h8zM31 45a5 5 0 105 5 5 5 0 00-5-5zm47-25a2 2 0 012 2v16a2 2 0 01-2 2H62a2 2 0 01-2-2V22a2 2 0 012-2zm-4 6h-8v8h8z\"}},\naddress:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M49 18.92a23.74 23.74 0 00-23.73 23.85c0 16.48 17 31.59 22.23 35.59a2.45 2.45 0 003.12 0c5.24-4.12 22.1-19.11 22.1-35.59A23.74 23.74 0 0049 18.92zm0 33.71a10 10 0 1110-10 10 10 0 01-10 10z\"}},\nagent_home:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M50.93 20.37l28.71 28.77a1.48 1.48 0 01.29 1.4c-.1.5-.79.8-1.29.8h-6.28v27.45c0 .8-.5 1.2-1.3 1.2H28.81a1.18 1.18 0 01-1.29-1V51.34h-6.29a1 1 0 01-1.09-.8 1.09 1.09 0 01.3-1.4l28.7-28.77a1.27 1.27 0 011.79 0zM40.39 65h-5.3A1.11 1.11 0 0034 66.09v6.8a1.11 1.11 0 001.1 1.1h5.3a1.1 1.1 0 001.1-1.1v-6.8A1.09 1.09 0 0040.39 65zm12-9h-5.3A1.11 1.11 0 0046 57.1v15.79a1.11 1.11 0 001.1 1.1h5.3a1.1 1.1 0 001.1-1.1V57.1a1.1 1.1 0 00-1.11-1.1zm12-9h-5.3A1.11 1.11 0 0058 48.1v24.79a1.11 1.11 0 001.1 1.1h5.3a1.1 1.1 0 001.1-1.1V48.1a1.1 1.1 0 00-1.11-1.1z\",\"fill-rule\":\"evenodd\"}},\nagent_session:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M49.2 21.7c-16.6 0-30 12.5-30 28 0 5 1.4 9.6 3.8 13.7.3.5.4 1.1.2 1.6l-2.8 8.9c-.5 1.6 1 3 2.6 2.5l8.8-3.1c.6-.2 1.2-.1 1.7.2 4.6 2.7 10 4.2 15.8 4.2 16.6 0 30-12.5 30-28-.2-15.5-13.6-28-30.1-28zM41 62.1c0 .6-.5 1.1-1.1 1.1h-5.3c-.6 0-1.1-.5-1.1-1.1v-6.8c0-.6.5-1.1 1.1-1.1h5.3c.6 0 1.1.5 1.1 1.1v6.8zm12 0c0 .6-.5 1.1-1.1 1.1h-5.3c-.6 0-1.1-.5-1.1-1.1V46.3c0-.6.5-1.1 1.1-1.1h5.3c.6 0 1.1.5 1.1 1.1v15.8zm12 0c0 .6-.5 1.1-1.1 1.1h-5.3c-.6 0-1.1-.5-1.1-1.1V37.3c0-.6.5-1.1 1.1-1.1h5.3c.6 0 1.1.5 1.1 1.1v24.8z\"}},\naggregation_policy:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M79.13 71.32l-9.26-9.19a4.19 4.19 0 00-.34-.28V58h4.91a1 1 0 00.78-1.64l-7.93-9.44-.13-.13a1 1 0 00-1.41.14l-7.91 9.44a1 1 0 00-.23.65 1 1 0 001 1h4.92v3.49a2.85 2.85 0 00-.92.63l-9.25 9.19a3 3 0 000 4.24 3 3 0 004.24 0l5.9-5.87V77a3 3 0 006 0v-6.73l5.32 5.29a3 3 0 004.24 0 3 3 0 00.07-4.24zM37.12 20H26a6 6 0 00-6 6v9a6 6 0 006 6h11.12a6 6 0 006-6v-9a6 6 0 00-6-6zm-4.54 15h-2a4.5 4.5 0 010-9h2a4.5 4.5 0 010 9zM66.31 41a6 6 0 006-6v-9a6 6 0 00-6-6H55.24a6 6 0 00-6 6v9a6 6 0 006 6zm-6.53-15h2a4.5 4.5 0 010 9h-2a4.5 4.5 0 010-9zM37.12 47H26a6 6 0 00-6 6v9a6 6 0 006 6h11.12a6 6 0 006-6v-9a6 6 0 00-6-6zm-4.54 15h-2a4.5 4.5 0 010-9h2a4.5 4.5 0 010 9z\",\"fill-rule\":\"evenodd\"}},\nall:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M57 44.5c-1.5 0-2.7-1.2-2.7-2.7V24.5c0-1.5 1.2-2.7 2.7-2.7h17.6c1.5 0 2.7 1.2 2.7 2.7v17.3c0 1.5-1.2 2.7-2.7 2.7H57zM64.6 54.7L54.3 65.8c-.6.6-.6 1.7 0 2.3l10.3 11.1c.7.7 1.8.7 2.5 0l10.3-11.1c.6-.6.6-1.7 0-2.3L67.1 54.7c-.7-.7-1.9-.7-2.5 0z\"},{\"d\":\"M23.6 25.7l8.9-5.1c.8-.5 1.8-.5 2.7 0l8.9 5.1c.8.5 1.3 1.4 1.3 2.3v10.2c0 .9-.5 1.8-1.3 2.3l-8.9 5.1c-.8.5-1.8.5-2.7 0l-8.9-5.1c-.8-.5-1.4-1.4-1.4-2.3V28c0-1 .6-1.9 1.4-2.3z\"}],\"circle\":{\"cx\":\"33.8\",\"cy\":\"66.6\",\"r\":\"11.6\"}},\nannouncement:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M46 74.3L44.4 73c-1.8-1.2-1.8-3.7-1.8-5v-3.6c0-1-.9-1.9-1.9-1.9h-7.5c-1 0-1.9.9-1.9 1.9V74c0 3.4 2 6 5.1 6h6.2c3.6 0 3.9-2.5 3.9-2.5s.6-2.2-.5-3.2zM74 40.1v-17-.1c0-3-3.8-3.9-5.8-1.9L57 31.6c-1.8 1.5-4 2.1-6.3 2.1h-19c-6.6.1-11.7 5.7-11.7 12.2v.2c0 6.5 5.1 11.4 11.7 11.4h19.1c2.4 0 4.6 1 6.4 2.5l11 10.7c2 2 5.8 1.2 5.8-1.7V52c3.8 0 6-2.6 6-6 0-3.3-2.3-5.9-6-5.9z\"}}},\nanswer_best:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M49.5 21.5c-16.6 0-30 12.5-30 28 0 5 1.4 9.6 3.8 13.7.3.5.4 1.1.2 1.6l-2.8 8.9c-.5 1.6 1 3 2.6 2.5l8.8-3.1c.6-.2 1.2-.1 1.7.2 4.6 2.7 10 4.2 15.8 4.2 16.6 0 30-12.5 30-28-.1-15.5-13.5-28-30.1-28zm14.4 21.8L48.6 58.6c-.6.6-1.3.9-2.1.9s-1.5-.3-2.1-.9L37 51.2c-.6-.6-.6-1.5 0-2.1l2.1-2.1c.6-.6 1.5-.6 2.1 0l5.3 5.3 13.2-13.2c.6-.6 1.5-.6 2.1 0l2.1 2.1c.6.6.6 1.6 0 2.1z\"},{\"fill-opacity\":\".65\",\"d\":\"M100 100V62l-38 38h38zm-4.2-13.5l-3.1 3.2c-.1.1-.1.2-.1.3l.7 4.5c.1.3-.3.6-.5.4L89 92.8c-.1-.1-.2-.1-.3 0l-4 2.1c-.3.1-.6-.1-.5-.4l.7-4.5c0-.1 0-.3-.1-.3l-3.1-3.2c-.2-.3-.1-.6.2-.7l4.3-.7c.1 0 .2-.1.3-.2l1.9-4.1c.1-.3.5-.3.7 0l1.9 4.1c.1.1.2.2.3.2l4.3.7c.4 0 .4.4.2.7z\"}]},\nanswer_private:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"fill-opacity\":\".65\",\"d\":\"M89 84c-1.1 0-2 .9-2 2v1h4v-1c0-1.1-.9-2-2-2z\"},{\"fill-opacity\":\".65\",\"d\":\"M100 100V62l-38 38h38zm-5-6.5c0 .8-.7 1.5-1.5 1.5h-9c-.8 0-1.5-.7-1.5-1.5v-5c0-.8.7-1.5 1.5-1.5h.5v-1c0-2.2 1.8-4 4-4s4 1.8 4 4v1h.5c.8 0 1.5.7 1.5 1.5v5z\"},{\"d\":\"M49.9 22c-16.6 0-30 12.5-30 28 0 5 1.4 9.6 3.8 13.7.3.5.4 1.1.2 1.6l-2.8 8.9c-.5 1.6 1 3 2.6 2.5l8.8-3.1c.6-.2 1.2-.1 1.7.2 4.6 2.7 10 4.2 15.8 4.2 16.6 0 30-12.5 30-28-.1-15.5-13.4-28-30.1-28zm14.5 21.8L49.1 59.1c-.6.6-1.3.9-2.1.9s-1.5-.3-2.1-.9l-7.4-7.4c-.6-.6-.6-1.5 0-2.1l2.1-2.1c.6-.6 1.5-.6 2.1 0l5.3 5.3 13.2-13.2c.6-.6 1.5-.6 2.1 0l2.1 2.1c.5.6.5 1.6 0 2.1z\"}]},\nanswer_public:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M50 22c-16.6 0-30 12.5-30 28 0 5 1.4 9.6 3.8 13.7.3.5.4 1.1.2 1.6l-2.8 8.9c-.5 1.6 1 3 2.6 2.5l8.8-3.1c.6-.2 1.2-.1 1.7.2 4.6 2.7 10 4.2 15.8 4.2 16.6 0 30-12.5 30-28C80 34.5 66.6 22 50 22zm14.4 21.8L49.1 59.1c-.6.6-1.3.9-2.1.9s-1.5-.3-2.1-.9l-7.4-7.4c-.6-.6-.6-1.5 0-2.1l2.1-2.1c.6-.6 1.5-.6 2.1 0l5.3 5.3 13.2-13.2c.6-.6 1.5-.6 2.1 0l2.1 2.1c.6.6.6 1.6 0 2.1z\"}},\napex:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M78 67.5H44.4c-1 0-1.9.9-1.9 1.9v3.7c0 1 .9 1.9 1.9 1.9H78c1 0 1.9-.9 1.9-1.9v-3.7c0-1.1-.9-1.9-1.9-1.9zM49.2 44.8L25.1 25.4c-.7-.6-1.9-.5-2.5.4l-2.1 3c-.6.9-.4 2 .4 2.6L38 45.1c.6.5.6 1.5 0 2L20.8 60.9c-.7.6-1 1.9-.4 2.6l2.1 3.2c.6.9 1.7 1 2.5.4l24.2-19.3c1-.8 1-2.3 0-3z\"}},\napex_plugin:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M50.2 40l14-14c.7-.7.7-1.9 0-2.6l-3-3c-.7-.7-1.9-.7-2.6 0l-14 14 5.6 5.6zM65.6 55.8l14-14c.7-.7.7-1.9 0-2.6l-3-3c-.7-.7-1.9-.7-2.6 0l-14 14 5.6 5.6zM63.6 67.4c.2-.3.4-.6.5-1 .1-.5 0-1-.3-1.4-.1-.1-.1-.2-.2-.3l-.1-.1-28.2-28.2-.1-.1c-.3-.4-.9-.5-1.3-.5-.6 0-1 .3-1.4.6-.3.2-.5.4-.7.7-.2.2-.3.3-.4.5-.2.2-.3.4-.5.6-.2.3-.4.5-.5.8-.2.3-.4.6-.5 1-.2.4-.4.8-.6 1.1-.2.4-.4.9-.5 1.3-.2.5-.4 1-.5 1.5-.2.6-.3 1.2-.5 1.7-.2.7-.3 1.3-.4 2-.1.7-.3 1.5-.4 2.2l-.3 2.4c-.1.9-.1 1.8-.2 2.7v3c0 1.1 0 2.2.1 3.3.1 1.2.1 2.4.2 3.6 0 .3.1.7.1 1h.2l-6.5 6.5c-.7.7-.7 1.9 0 2.6l4.6 4.6c.7.7 1.9.7 2.6 0l6.5-6.5c2.3.2 4.7.4 7.1.4 2 0 3.9 0 5.9-.2 1.6-.1 3.2-.3 4.8-.6 1.3-.2 2.6-.5 3.8-.9 1-.3 2-.7 2.9-1.1.7-.3 1.5-.7 2.1-1.1.9-.6 1.8-1.2 2.5-2 0 .1.1 0 .2-.1z\"}},\napp:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M62 28H31.5c-1.7 0-3.1 1.4-3.1 3.1v30.5h-4.6c-2.1 0-3.8-1.7-3.8-3.8V23.3c0-2.1 1.7-3.8 3.8-3.8h34.5c2.1 0 3.8 1.7 3.8 3.8V28z\"},{\"d\":\"M41.8 37.6h34.5c2.1 0 3.8 1.7 3.8 3.8v34.5c0 2.1-1.7 3.8-3.8 3.8H41.8c-2.1 0-3.8-1.7-3.8-3.8V41.3c0-2 1.7-3.7 3.8-3.7z\"}]},\napproval:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M74 54H63c-3.3 0-6-2.7-6-6 .5-8.9 4.6-9.4 5-15.1.4-6-3.4-11.4-9.3-12.7C44.9 18.6 38 24.5 38 32c0 6.6 4.5 6.6 5 16 0 3.3-2.7 6-6 6H26c-3.3 0-6 2.7-6 6v4c0 1.1.9 2 2 2h56c1.1 0 2-.9 2-2v-4c0-3.3-2.7-6-6-6zM74.1 72H25.9c-1.1 0-1.9.9-1.9 1.9v.1c0 3.3 2.7 6 6 6h40.1c3.3 0 5.9-2.7 5.9-6v-.1c0-1-.9-1.9-1.9-1.9z\"}},\napps:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M32 20h-8c-2.2 0-4 1.8-4 4v8c0 2.2 1.8 4 4 4h8c2.2 0 4-1.8 4-4v-8c0-2.2-1.8-4-4-4zM54 20h-8c-2.2 0-4 1.8-4 4v8c0 2.2 1.8 4 4 4h8c2.2 0 4-1.8 4-4v-8c0-2.2-1.8-4-4-4zM76 20h-8c-2.2 0-4 1.8-4 4v8c0 2.2 1.8 4 4 4h8c2.2 0 4-1.8 4-4v-8c0-2.2-1.8-4-4-4zM32 42h-8c-2.2 0-4 1.8-4 4v8c0 2.2 1.8 4 4 4h8c2.2 0 4-1.8 4-4v-8c0-2.2-1.8-4-4-4zM54 42h-8c-2.2 0-4 1.8-4 4v8c0 2.2 1.8 4 4 4h8c2.2 0 4-1.8 4-4v-8c0-2.2-1.8-4-4-4zM76 42h-8c-2.2 0-4 1.8-4 4v8c0 2.2 1.8 4 4 4h8c2.2 0 4-1.8 4-4v-8c0-2.2-1.8-4-4-4zM32 64h-8c-2.2 0-4 1.8-4 4v8c0 2.2 1.8 4 4 4h8c2.2 0 4-1.8 4-4v-8c0-2.2-1.8-4-4-4zM54 64h-8c-2.2 0-4 1.8-4 4v8c0 2.2 1.8 4 4 4h8c2.2 0 4-1.8 4-4v-8c0-2.2-1.8-4-4-4zM76 64h-8c-2.2 0-4 1.8-4 4v8c0 2.2 1.8 4 4 4h8c2.2 0 4-1.8 4-4v-8c0-2.2-1.8-4-4-4z\"}},\napps_admin:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M73 21H27c-3.3 0-6 2.7-6 6v46c0 3.3 2.7 6 6 6h46c3.3 0 6-2.7 6-6V27c0-3.3-2.7-6-6-6zm-2 52H29c-1.1 0-2-.9-2-2V29c0-1.1.9-2 2-2h42c1.1 0 2 .9 2 2v42c0 1.1-.9 2-2 2z\"},{\"d\":\"M45 33H35c-1.1 0-2 .9-2 2v10c0 1.1.9 2 2 2h10c1.1 0 2-.9 2-2V35c0-1.1-.9-2-2-2zM65 33H55c-1.1 0-2 .9-2 2v10c0 1.1.9 2 2 2h10c1.1 0 2-.9 2-2V35c0-1.1-.9-2-2-2zM45 53H35c-1.1 0-2 .9-2 2v10c0 1.1.9 2 2 2h10c1.1 0 2-.9 2-2V55c0-1.1-.9-2-2-2zM65 53H55c-1.1 0-2 .9-2 2v10c0 1.1.9 2 2 2h10c1.1 0 2-.9 2-2V55c0-1.1-.9-2-2-2z\"}]},\narticle:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M32 59h13c1.1 0 2-.9 2-2V27c0-2.2-2-4-4-4H32.3C31 23 30 24 30 25.3V57c0 1.1.9 2 2 2z\"},{\"d\":\"M76 29v32c0 2.2-1.8 4-4 4H28c-2.2 0-4-1.8-4-4V29c-3.3 0-6 2.7-6 6v30c0 3.3 2.7 6 6 6h19c1.1 0 2 .9 2 2s.9 2 2 2h6c1.1 0 2-.9 2-2s.9-2 2-2h19c3.3 0 6-2.7 6-6V35c0-3.3-2.7-6-6-6z\"},{\"d\":\"M55 59h12.7c1.3 0 2.3-1 2.3-2.3V25c0-1.1-.9-2-2-2H57c-2 0-4 1.8-4 4v30c0 1.1.9 2 2 2z\"}]},\nasset_action:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M64.2 72.4a3.74 3.74 0 01-3.7-3.9v-2.1a3.49 3.49 0 011-3.1l11.6-11.6V26.8a2.43 2.43 0 00-2.4-2.4H29.3a2.43 2.43 0 00-2.4 2.4v41.5a2.43 2.43 0 002.4 2.4h5.3v2.5a2.43 2.43 0 002.4 2.4h2.8a2.43 2.43 0 002.4-2.4v-2.5H58v2.5a2.43 2.43 0 002.4 2.4h2.8a2.43 2.43 0 002.4-2.4v-.8zM36.3 36.8a.84.84 0 01.9-.9h25.7a.84.84 0 01.9.9v.9a.84.84 0 01-.9.9H37.1a.84.84 0 01-.9-.9v-.9zm27.2 4.3V54a.84.84 0 01-.9.9h-1.7a.84.84 0 01-.9-.9V41.1a.84.84 0 01.9-.9h1.7q.9.15.9.9zm-5.9 0V54a.9.9 0 01-1.8 0V41.1a.84.84 0 01.9-.9q.9.15.9.9zm-3.3 0V54a.84.84 0 01-.9.9H50a.84.84 0 01-.9-.9V41.1a.84.84 0 01.9-.9h3.4c.5.1.9.4.9.9zm-7.7 0V54a.84.84 0 01-.9.9H44a.84.84 0 01-.9-.9V41.1a.84.84 0 01.9-.9h1.7c.5.1.9.4.9.9zm-10.3 0a.84.84 0 01.9-.9h3.4a.84.84 0 01.9.9V54a.84.84 0 01-.9.9h-3.4a.84.84 0 01-.9-.9zm.8 17.9a.84.84 0 01-.9-.9v-.9a.84.84 0 01.9-.9h25.7a.84.84 0 01.9.9v.9a.84.84 0 01-.9.9z\"},{\"d\":\"M79 54.7l-.9-.9a1.57 1.57 0 00-2.2 0L64 65.7c-.1.1 0 .2 0 .3v2.5c0 .2 0 .4.2.4h2.6c.1 0 .2-.1.3-.1L79 57a1.52 1.52 0 000-2.3z\"}]},\nasset_action_source:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M52.1 67.9A15.27 15.27 0 0155 59H37.1a.84.84 0 01-.9-.9v-.9a.84.84 0 01.9-.9h20.2a15.35 15.35 0 012.9-2.1c-.1-.1-.1-.2-.1-.4V41.1a.84.84 0 01.9-.9h1.7a.84.84 0 01.9.9V53a14.3 14.3 0 019.6.5V26.8a2.43 2.43 0 00-2.4-2.4H29.3a2.43 2.43 0 00-2.4 2.4v41.5a2.43 2.43 0 002.4 2.4h5.3v2.5a2.43 2.43 0 002.4 2.4h2.8a2.43 2.43 0 002.4-2.4v-2.5h10.3a8.63 8.63 0 01-.4-2.8zM46.6 54a.84.84 0 01-.9.9H44a.84.84 0 01-.9-.9V41.1a.84.84 0 01.9-.9h1.7a.84.84 0 01.9.9zm7.7 0a.84.84 0 01-.9.9H50a.84.84 0 01-.9-.9V41.1a.84.84 0 01.9-.9h3.4a.84.84 0 01.9.9zm3.3 0a.9.9 0 01-1.8 0V41.1a.9.9 0 111.8 0zM36.3 36.8a.84.84 0 01.9-.9h25.7a.84.84 0 01.9.9v.9a.84.84 0 01-.9.9H37.1a.84.84 0 01-.9-.9v-.9zm0 4.3a.84.84 0 01.9-.9h3.4a.84.84 0 01.9.9V54a.84.84 0 01-.9.9h-3.4a.84.84 0 01-.9-.9z\"},{\"d\":\"M67.6 55.9a12.12 12.12 0 00-12.1 12 12 12 0 0011.9 12 12 12 0 10.2-24zm8 12.5l-5.3 5.4a.67.67 0 01-1 0 11 11 0 01-1-1.1.67.67 0 010-1l1.6-1.7a.45.45 0 00-.3-.8h-9.7a.75.75 0 01-.7-.7V67a.68.68 0 01.7-.7h9.7a.46.46 0 00.3-.8L68.3 64a.67.67 0 010-1l1-1a.67.67 0 011 0l5.3 5.5a.56.56 0 010 .9z\"}]},\nasset_downtime_period:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M50.4 67.8a15.55 15.55 0 012.1-8.8H37.1a.84.84 0 01-.9-.9v-.9a.84.84 0 01.9-.9h17.3a15.37 15.37 0 011.9-1.7.84.84 0 01-.4-.7V41.1a.9.9 0 111.8 0v12.7a11.51 11.51 0 012.5-1.2V41.1a.84.84 0 01.9-.9h1.7a.84.84 0 01.9.9v10.7c.2 0 .5-.1.7-.1a15.88 15.88 0 018.9 2.1v-27a2.43 2.43 0 00-2.4-2.4H29.3a2.43 2.43 0 00-2.4 2.4v41.5a2.43 2.43 0 002.4 2.4h5.3v2.5a2.43 2.43 0 002.4 2.4h2.8a2.43 2.43 0 002.4-2.4v-2.5h8.7a9.29 9.29 0 01-.5-2.9zM46.6 54a.84.84 0 01-.9.9H44a.84.84 0 01-.9-.9V41.1a.84.84 0 01.9-.9h1.7a.84.84 0 01.9.9zm7.7 0a.84.84 0 01-.9.9H50a.84.84 0 01-.9-.9V41.1a.84.84 0 01.9-.9h3.4a.84.84 0 01.9.9zm-18-17.2a.84.84 0 01.9-.9h25.7a.84.84 0 01.9.9v.9a.84.84 0 01-.9.9H37.1a.84.84 0 01-.9-.9v-.9zm0 4.3a.84.84 0 01.9-.9h3.4a.84.84 0 01.9.9V54a.84.84 0 01-.9.9h-3.4a.84.84 0 01-.9-.9z\"},{\"d\":\"M64.7 60.9h1.2a.65.65 0 01.6.6v5.4c0 .2-.1.3-.2.5l-3.5 3.5a.75.75 0 01-.9 0l-.7-.9a.75.75 0 010-.9l2.9-2.9v-4.7a.58.58 0 01.6-.6zm14.1 5.4H77v-.4a11.58 11.58 0 10-11.7 12.4 11.47 11.47 0 008.6-3.6c.2-.2.4-.4.2-.6l-1-1.2a.56.56 0 00-.9 0 9.17 9.17 0 01-7.7 2.9 9.55 9.55 0 01-8.1-8 9.1 9.1 0 0118.1-1.9v.4h-1.8a.65.65 0 00-.6.6c0 .2 0 .3.1.4l3.1 3.8a.67.67 0 001 0l3.1-3.8a.75.75 0 000-.9 1.49 1.49 0 00-.6-.1z\"}]},\nasset_object:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M74.2 20.2H25.8A2.86 2.86 0 0023 23v48.4a2.86 2.86 0 002.8 2.8H32V77a2.86 2.86 0 002.8 2.8H38a2.86 2.86 0 002.8-2.8v-2.9h18.4V77a2.86 2.86 0 002.8 2.8h3.2A2.86 2.86 0 0068 77v-2.9h6.2a2.86 2.86 0 002.8-2.8V23a2.86 2.86 0 00-2.8-2.8zM34 39.6a.94.94 0 011-1h4a.94.94 0 011 1v15a.94.94 0 01-1 1h-4a.94.94 0 01-1-1zm32 19.9a.94.94 0 01-1 1H35a.94.94 0 01-1-1v-1a.94.94 0 011-1h30a.94.94 0 011 1zm-24-4.9v-15a.94.94 0 011-1h2a.94.94 0 011 1v15a.94.94 0 01-1 1h-2a.94.94 0 01-1-1zm7 0v-15a.94.94 0 011-1h4a.94.94 0 011 1v15a.94.94 0 01-1 1h-4a.94.94 0 01-1-1zm7.9 0v-15a1 1 0 012 0v15a1 1 0 01-2 0zm4.9 0v-15a.94.94 0 011-1h2a.94.94 0 011 1v15a.94.94 0 01-1 1h-2a.94.94 0 01-1-1zm4.2-19a.94.94 0 01-1 1H35a.94.94 0 01-1-1v-1a.94.94 0 011-1h30a.94.94 0 011 1z\"}},\nasset_relationship:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M72.8 54.7v-.4c0-9-5.3-16.8-12.9-20.6v-.9c0-5.5-4.5-10-10-10s-10 4.5-10 10v.9C32.3 37.4 27 45.3 27 54.3v.4c-4.1 1.2-7.2 5-7.2 9.6 0 5.5 4.5 10 10 10 2.2 0 4.3-.7 6-2 3.9 3 8.8 4.9 14 4.9s10.1-1.8 14-4.9c1.7 1.2 3.7 2 6 2 5.5 0 10-4.5 10-10 .2-4.5-2.8-8.4-7-9.6zM38.9 68.8c.7-1.4 1.1-2.9 1.1-4.5 0-4.9-3.6-9-8.3-9.8v-.2c0-7 4-13.1 9.8-16.2 1.8 2.8 4.9 4.7 8.5 4.7s6.7-1.9 8.5-4.7c5.8 3.1 9.8 9.2 9.8 16.2v.2c-4.7.8-8.3 4.9-8.3 9.8 0 1.6.4 3.1 1.1 4.5-3.1 2.4-6.9 3.8-11.1 3.8s-8-1.5-11.1-3.8z\"}},\nasset_state_period:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M52.1 67.9A15.27 15.27 0 0155 59H37.1a.84.84 0 01-.9-.9v-.9a.84.84 0 01.9-.9h20.2a15.35 15.35 0 012.9-2.1c-.1-.1-.1-.2-.1-.4V41.1a.84.84 0 01.9-.9h1.7a.84.84 0 01.9.9V53a14.3 14.3 0 019.6.5V26.8a2.43 2.43 0 00-2.4-2.4H29.3a2.43 2.43 0 00-2.4 2.4v41.5a2.43 2.43 0 002.4 2.4h5.3v2.5a2.43 2.43 0 002.4 2.4h2.8a2.43 2.43 0 002.4-2.4v-2.5h10.3a8.63 8.63 0 01-.4-2.8zM46.6 54a.84.84 0 01-.9.9H44a.84.84 0 01-.9-.9V41.1a.84.84 0 01.9-.9h1.7a.84.84 0 01.9.9zm7.7 0a.84.84 0 01-.9.9H50a.84.84 0 01-.9-.9V41.1a.84.84 0 01.9-.9h3.4a.84.84 0 01.9.9zm3.3 0a.9.9 0 01-1.8 0V41.1a.9.9 0 111.8 0zM36.3 36.8a.84.84 0 01.9-.9h25.7a.84.84 0 01.9.9v.9a.84.84 0 01-.9.9H37.1a.84.84 0 01-.9-.9v-.9zm0 4.3a.84.84 0 01.9-.9h3.4a.84.84 0 01.9.9V54a.84.84 0 01-.9.9h-3.4a.84.84 0 01-.9-.9z\"},{\"d\":\"M69.1 68.1a1.42 1.42 0 01-.2-.6v-4.8a.77.77 0 00-.7-.8h-1.5a.77.77 0 00-.7.8v6a1.42 1.42 0 00.2.6l3.7 3.7a.67.67 0 001 0l1.1-1.1a.78.78 0 000-1.1zm-1.6-12.2a12 12 0 00.2 24 12 12 0 0011.9-12 12.12 12.12 0 00-12.1-12zm0 21a9 9 0 119-9 8.94 8.94 0 01-9 9z\"}]},\nasset_warranty:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M66 51c1.77 0 3.17 1.92 4.72 2.58s4 .3 5.17 1.55.89 3.55 1.56 5.17S80 63.23 80 65s-1.92 3.18-2.58 4.73-.3 4-1.56 5.17-3.54.88-5.17 1.55S67.74 79 66 79s-3.18-1.92-4.73-2.58-4-.3-5.17-1.55-.88-3.55-1.55-5.17-2.58-3-2.58-4.73 1.92-3.18 2.58-4.73.3-4 1.55-5.17 3.55-.88 5.17-1.55S64.2 51 66 51zm3.58-30a2.77 2.77 0 012.71 2.71v26.78l-.26-.1c-2-.84-3.77-3.29-6-3.29-1.69 0-3.11 1.36-4.55 2.41v-9.77a.88.88 0 00-.27-.7.91.91 0 00-.7-.27H58.4a1 1 0 00-.59.27.9.9 0 00-.26.7V51a16.06 16.06 0 00-2.81.58V39.74a1 1 0 10-1.93 0v13.31a11.63 11.63 0 00-1 4H31.5a1 1 0 00-.59.27.87.87 0 00-.26.7v1.08a1 1 0 00.27.59.91.91 0 00.7.27h19.2c-1.06 1.6-2.75 3.15-2.75 5 0 2.26 2.45 4 3.3 6a9.64 9.64 0 01.53 2.1H37.23v2.81a2.77 2.77 0 01-2.71 2.7h-3.1a2.76 2.76 0 01-2.71-2.7v-2.64h-6A2.78 2.78 0 0120 70.52V23.68A2.77 2.77 0 0122.71 21h46.84zm1.62 39.42a.71.71 0 00-1 0l-5.47 6.24-2.48-2.52a.69.69 0 00-1 0l-1 1a.63.63 0 000 1l3.5 3.49a1.42 1.42 0 001 .45 1.3 1.3 0 001-.45l6.5-7.21a.78.78 0 000-1zM35.6 38.77h-4.1a1 1 0 00-.59.27.87.87 0 00-.26.7v14.63a1 1 0 00.27.59.91.91 0 00.7.27h3.87a.93.93 0 00.71-.27.9.9 0 00.26-.7V39.74a.9.9 0 00-.26-.7.93.93 0 00-.71-.27zm5.8 0h-2.16a1 1 0 00-.59.27.9.9 0 00-.26.7v14.63a.89.89 0 00.26.59.93.93 0 00.7.27h1.94A.91.91 0 0042 55a.88.88 0 00.27-.7V39.74A.88.88 0 0042 39a.91.91 0 00-.7-.27zm8.71 0H46a.93.93 0 00-.59.27.88.88 0 00-.27.7v14.63a.9.9 0 00.27.59.91.91 0 00.7.27H50a.93.93 0 001-1V39.74a.93.93 0 00-1-1zm10.65-4.84H31.5a1 1 0 00-.59.27.88.88 0 00-.26.7V36a.93.93 0 00.27.59.88.88 0 00.7.27h29a.91.91 0 001-1v-1a.92.92 0 00-.26-.7.89.89 0 00-.71-.26z\"}},\nassigned_resource:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M49.91 20a25.4 25.4 0 1025.18 25.5c0-13.79-11.24-25.5-25.18-25.5zm16.54 23.24L55.93 53.38c-.76.76-1.77.13-1.77-1.14v-6.08c-7.6 0-12.67 5.19-12.67 12.8h-7.6a20.12 20.12 0 0120.27-20.4v-6.21c0-1.27 1.14-1.9 1.77-1.14l10.52 10.26a1.52 1.52 0 010 1.77z\",\"fill-rule\":\"evenodd\"},{\"d\":\"M26 64.21h-1.27A4.75 4.75 0 0020 68.95v6.31A4.74 4.74 0 0024.73 80h50.54A4.75 4.75 0 0080 75.26v-6.31a4.74 4.74 0 00-4.73-4.74h-1.54a30.15 30.15 0 01-47.72 0z\",\"fill-rule\":\"evenodd\"}]},\nassignment:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M22 54.9h56c1.1 0 2 .9 2 2v4c0 1.1-.9 2-2 2H22c-1.1 0-2-.9-2-2v-4c0-1.1.9-2 2-2zM22 37.1h56c1.1 0 2 .9 2 2v4c0 1.1-.9 2-2 2H22c-1.1 0-2-.9-2-2v-4c0-1.1.9-2 2-2z\"}},\navatar:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M80 71.2V74c0 3.3-2.7 6-6 6H26c-3.3 0-6-2.7-6-6v-2.8c0-7.3 8.5-11.7 16.5-15.2.3-.1.5-.2.8-.4.6-.3 1.3-.3 1.9.1C42.4 57.8 46.1 59 50 59c3.9 0 7.6-1.2 10.8-3.2.6-.4 1.3-.4 1.9-.1.3.1.5.2.8.4 8 3.4 16.5 7.8 16.5 15.1z\"},\"ellipse\":{\"cx\":\"50\",\"cy\":\"36.5\",\"rx\":\"14.9\",\"ry\":\"16.5\"}},\navatar_loading:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"opacity\":\".5\",\"path\":{\"d\":\"M80 71.2V74c0 3.3-2.7 6-6 6H26c-3.3 0-6-2.7-6-6v-2.8c0-7.3 8.5-11.7 16.5-15.2.3-.1.5-.2.8-.4.6-.3 1.3-.3 1.9.1C42.4 57.8 46.1 59 50 59s7.6-1.2 10.8-3.2c.6-.4 1.3-.4 1.9-.1.3.1.5.2.8.4 8 3.4 16.5 7.8 16.5 15.1z\"},\"ellipse\":{\"cx\":\"50\",\"cy\":\"36.5\",\"rx\":\"14.9\",\"ry\":\"16.5\"}}},\nbot:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M49.6 25.8c7.2 0 13 5.8 13 13v3.3c-4.3-.5-8.7-.7-13-.7-4.3 0-8.7.2-13 .7v-3.3c0-7.1 5.8-13 13-13zM73.2 63.8l1.3-11.4c2.9.5 5.1 2.9 5.1 5.6 0 3.2-2.9 5.8-6.4 5.8zM25.9 63.8c-3.5 0-6.4-2.6-6.4-5.8 0-2.8 2.2-5.1 5.1-5.6l1.3 11.4zM68.7 44.9c-6.6-.7-12.9-1-19-1s-12.5.3-19 1c-2.2.2-3.8 2.2-3.5 4.3l2 19.4c.2 1.8 1.6 3.3 3.5 3.5 5.6.7 11.3 1 17.1 1s11.5-.3 17.1-1c1.8-.2 3.3-1.7 3.5-3.5l2-19.4c0-2.2-1.5-4.1-3.7-4.3zM38.6 62.5c-1.6 0-2.8-1.6-2.8-3.7s1.3-3.7 2.8-3.7 2.8 1.6 2.8 3.7-1.2 3.7-2.8 3.7zm16.7 4.1c0 .2-.1.4-.2.5-.1.1-.3.2-.5.2h-9.9c-.2 0-.4-.1-.5-.2-.1-.1-.2-.3-.2-.5v-1.8c0-.4.3-.7.7-.7h.2c.4 0 .7.3.7.7v.9h8.1v-.9c0-.4.3-.7.7-.7h.2c.4 0 .7.3.7.7v1.8zm5.3-4.1c-1.6 0-2.8-1.6-2.8-3.7s1.3-3.7 2.8-3.7 2.8 1.6 2.8 3.7-1.2 3.7-2.8 3.7z\"}},\nbot_training:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M54.6 61c-1 .4-2 .7-3.2.8-7.3.8-13.4-4.9-13.4-12 0-1.2.2-2.4.5-3.6.2-.5.8-.6 1.1-.3l6.8 6.8c.5.5 1.3.5 1.9 0l4.8-4.8c.5-.5.5-1.3 0-1.9l-6.8-6.8c-.3-.4-.2-1 .3-1.1 1.1-.3 2.3-.5 3.5-.5 7.1 0 12.8 6.1 12 13.4-.1 1.1-.4 2.1-.8 3.2l12.6 12.6c3.9-4.6 6.2-10.5 6.2-16.8C80 34.5 66.6 22.3 50 22.3c-16.7 0-30 12.3-30 27.4 0 4.8 1.4 9.3 3.6 13.3.4.6.5 1.4.3 2.1L20 75.8c-.4 1 .6 1.9 1.6 1.6l10.9-4.1c.6-.3 1.4-.1 2.1.3 4.5 2.5 9.9 4 15.7 4 6-.1 11.6-1.8 16.3-4.6l-12-12z\"}},\nbranch_merge:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M26.5 70.5c3.4-7 9.4-12 16.3-14.5 2.6-1 5.3-1.6 7.9-1.9h4.4v13.6c0 1.1 1.2 1.7 2.2 1L78.5 51c.8-.6.8-2 0-2.5L57.3 31.2c-.8-.6-2.2 0-2.2 1v13.7h-4.4c-2.7-.3-5.5-1-7.9-1.9-6.8-2.6-12.9-7.5-16.3-14.5-.4-1-1.6-1.4-2.6-1l-3.8 1.6c-1.1.5-1.4 1.6-.8 2.7 3.6 7.6 9.4 13.5 16.2 17.2-6.9 3.7-12.6 9.6-16.2 17.3-.5 1.1-.4 2.2.8 2.7l3.8 1.6c1 .4 2.2-.1 2.6-1.1z\"}},\nbrand:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M79.4 39.1C76.5 27.2 64 20 50.2 20 33.5 20 20 33.4 20 50s13.5 30 30.3 30c23.2 0 21.4-11.8 14-16.4-4.4-2.8-6.8-9.1-2.4-13.6 8.1-8.4 21.2 5 17.5-10.9zM33.7 60c-3.5 0-6.3-2.8-6.3-6.2s2.8-6.2 6.3-6.2 6.2 2.8 6.2 6.2-2.7 6.2-6.2 6.2zM35 36.2c0-3.5 2.8-6.2 6.2-6.2 3.5 0 6.2 2.8 6.2 6.2s-2.8 6.2-6.2 6.2c-3.5.1-6.2-2.6-6.2-6.2zm13.7 36.3c-3.5 0-6.2-2.8-6.2-6.2s2.8-6.2 6.2-6.2c3.5 0 6.2 2.8 6.2 6.2s-2.7 6.2-6.2 6.2zM60 40c-3.5 0-6.2-2.8-6.2-6.2s2.8-6.2 6.2-6.2c3.5 0 6.2 2.8 6.2 6.2S63.5 40 60 40z\"}},\nbundle_config:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M37 20H26a6.07 6.07 0 00-6 6.14v10.24a6.07 6.07 0 006 6.14h11a6.07 6.07 0 006-6.14V26.13A6.07 6.07 0 0037 20zm-5 16.38h-1a5.13 5.13 0 010-10.25h1a5.13 5.13 0 110 10.25zM55 42.52h11a6.07 6.07 0 006-6.14V26.13A6.08 6.08 0 0066 20H55a6.07 6.07 0 00-6 6.14v10.24a6.07 6.07 0 006 6.14zm5-16.39h1a5.13 5.13 0 010 10.25h-1a5.13 5.13 0 010-10.25zM37 48.66H26a6.08 6.08 0 00-6 6.15V65a6.09 6.09 0 006 6.16h11A6.09 6.09 0 0043 65V54.81a6.08 6.08 0 00-6-6.15zM32 65h-1a5.12 5.12 0 010-10.19h1A5.12 5.12 0 0132 65zM79.1 61.33c-.78-.13-1.56-.13-2.35-.26a.29.29 0 01-.26-.27 26.06 26.06 0 00-1-2.53v-.4c.39-.67 1-1.34 1.43-2a1 1 0 00-.13-1.33l-2.6-2.67a1 1 0 00-.65-.26 2.16 2.16 0 00-.65.26c-.66.4-1.31 1.07-2 1.47a.13.13 0 00-.13.13h-.13c-.91-.26-1.56-.8-2.47-1.06a.27.27 0 01-.26-.27c-.13-.8-.13-1.47-.26-2.27A1.1 1.1 0 0067 48.8a.4.4 0 00-.26-.14h-3.8a1.15 1.15 0 00-.65.14c-.26.26-.66.66-.66 1.06a13.38 13.38 0 01-.26 2.27.29.29 0 01-.26.27c-.91.26-1.56.8-2.47 1.06h-.13c-.13 0-.13 0-.26-.13-.64-.52-1.31-1-2-1.47a.76.76 0 00-.65-.26c-.39 0-.39.13-.78.26l-2.6 2.67a1 1 0 00-.13 1.33c.39.67 1 1.21 1.43 2a.25.25 0 010 .35c-.26.93-.78 1.6-1 2.53a.29.29 0 01-.26.27c-.79.13-1.44.13-2.22.26a1.11 1.11 0 00-1 .8v4.55a2.13 2.13 0 001 .8 12.69 12.69 0 012.22.26.28.28 0 01.26.27c.26.93.78 1.6 1 2.53 0 .14.13.27 0 .4-.39.67-1 1.34-1.43 2a1 1 0 00.13 1.34l2.6 2.66c.26.27.39.27.78.27a2 2 0 00.65-.27 21.65 21.65 0 012-1.46c.13 0 .13-.14.26-.14h.13c.91.27 1.56.8 2.47 1.07a.27.27 0 01.26.27c.13.8.13 1.6.26 2.4s.4.93 1 .93h3.78c.66 0 .92-.27 1-.93s.13-1.6.26-2.4a.27.27 0 01.33-.22 25.57 25.57 0 002.47-1.07h.13a.13.13 0 01.13.13c.65.4 1.3 1.06 2 1.46a1 1 0 00.65.27c.26 0 .39-.13.78-.27l2.6-2.66a1.06 1.06 0 00.13-1.34c-.39-.66-1-1.2-1.43-2a.25.25 0 010-.35c.26-.93.78-1.6 1-2.53a.28.28 0 01.26-.27c.79-.13 1.57-.13 2.35-.26s.91-.4.91-1.07v-3.77c.02-.94-.23-1.2-.88-1.34zm-14.47 9.08a5.84 5.84 0 01-5.86-5.8v-.21a5.87 5.87 0 0111.73 0 6.18 6.18 0 01-5.87 6.01z\"}},\nbundle_policy:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"rect\":{\"x\":\"59.5\",\"y\":\"45.5\",\"width\":\"13\",\"height\":\"22\",\"rx\":\"2\",\"transform\":\"rotate(-45 66.003 56.5)\"},\"path\":{\"d\":\"M53.06 66.2L45.28 74a3 3 0 000 4.24 3 3 0 004.24 0l7.77-7.78a3 3 0 10-4.24-4.24zM77 74H65a3 3 0 000 6h12a3 3 0 000-6zM36 20H26a6 6 0 00-6 6v7a6 6 0 006 6h10a6 6 0 006-6v-7a6 6 0 00-6-6zm-3.5 13h-3a3.5 3.5 0 010-7h3a3.5 3.5 0 010 7zM54 39h10a6 6 0 006-6v-7a6 6 0 00-6-6H54a6 6 0 00-6 6v7a6 6 0 006 6zm3.5-13h3a3.5 3.5 0 010 7h-3a3.5 3.5 0 010-7zM36 45H26a6 6 0 00-6 6v7a6 6 0 006 6h10a6 6 0 006-6v-7a6 6 0 00-6-6zm-3.5 13h-3a3.5 3.5 0 010-7h3a3.5 3.5 0 010 7z\",\"fill-rule\":\"evenodd\"}},\nbusiness_hours:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M48.1 35.3h3.2c.9 0 1.6.7 1.6 1.6v14c0 .4-.2.8-.4 1.2l-9 9c-.6.6-1.6.6-2.2 0l-2.2-2.2c-.6-.6-.6-1.6 0-2.2l7.5-7.6V37c-.1-.8.5-1.6 1.4-1.7h.1z\"},{\"d\":\"M84.5 49.2h-4.8c0-.3-.1-.7-.1-1.1-1.3-16.4-15.6-28.7-32-27.5-16.4 1.3-28.7 15.6-27.5 32C21.3 68.1 34 80 49.5 80.2c8.4.2 16.5-3.3 22.2-9.4.5-.5 1-1 .4-1.6l-2.6-3.1c-.9-1.1-1.7-.6-2.4.1-5 5.5-12.4 8.3-19.8 7.5-10.3-1-19.9-10.6-21-20.7-1.3-12.9 8.1-24.5 21-25.8s24.5 8.1 25.8 21H73c.1.4.1.7.1 1.1h-4.7c-.9 0-1.6.7-1.6 1.6 0 .4.1.7.3 1l8 9.7c.7.7 1.8.7 2.5 0l8-9.7c.6-.6.6-1.6 0-2.2-.3-.3-.7-.5-1.1-.5z\"}]},\nbuyer_account:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M61.8 65.5h13.3c.4 0 .8-.3.8-.7l2.4-8.6c.2-.6-.3-1.1-.8-1.1H57l-.3-1.3c-.2-.6-.7-1-1.3-1h-2.2c-.7 0-1.4.6-1.4 1.3-.1.8.6 1.4 1.3 1.4h1.3l1.2 4 3 10.3c.2.6.7 1 1.3 1h15.6c.7 0 1.4-.6 1.4-1.3.1-.8-.6-1.4-1.3-1.4H61.8c-.6 0-1.1-.4-1.3-.9v-.1c-.2-.8.4-1.6 1.3-1.6z\"},{\"d\":\"M61.1 19.9h-39c-2.2 0-2.5 2.3-2.5 2.5v49.5c.1 1.3.9 3.3 4.4 3.3h28.3c3.2 0 3-2.1 2.8-2.9L55 72l-.3-1.1-.2-.6L51.4 60c-.2-.7-1-1-1-1-.5-.3-1-.6-1.3-1-1-1.1-1.5-2.6-1.4-4 .2-2.8 2.6-5 5.4-5h2.2c1.5 0 2.8.6 3.8 1.6l.1.1c.2.2.6.5 1.2.5h1.4c1.3 0 1.4-1.4 1.5-1.8l.1-10.5V23c.1-2.4-1.6-3.1-2.3-3.1zM32.4 67.1c0 1.3-1 2.3-2.3 2.3h-2.3c-1.3 0-2.3-1-2.3-2.3v-2.3c0-1.3 1-2.3 2.3-2.3h2.3c1.3 0 2.3 1 2.3 2.3v2.3zm0-11.9c0 1.3-1 2.3-2.3 2.3h-2.3c-1.3 0-2.3-1-2.3-2.3v-2.3c0-1.3 1-2.3 2.3-2.3h2.3c1.3 0 2.3 1 2.3 2.3v2.3zm0-11.7c0 1.3-1 2.3-2.3 2.3h-2.3c-1.3 0-2.3-1-2.3-2.3v-2.3c0-1.3 1-2.3 2.3-2.3h2.3c1.3 0 2.3 1 2.3 2.3v2.3zm0-11.8c0 1.3-1 2.3-2.3 2.3h-2.3c-1.3 0-2.3-1-2.3-2.3v-2.3c0-1.3 1-2.3 2.3-2.3h2.3c1.3 0 2.3 1 2.3 2.3v2.3zm12.7 35.4c0 1.3-1 2.3-2.3 2.3h-2.3c-1.3 0-2.3-1-2.3-2.3v-2.3c0-1.3 1-2.3 2.3-2.3h2.3c1.3 0 2.3 1 2.3 2.3v2.3zm0-11.9c0 1.3-1 2.3-2.3 2.3h-2.3c-1.3 0-2.3-1-2.3-2.3v-2.3c0-1.3 1-2.3 2.3-2.3h2.3c1.3 0 2.3 1 2.3 2.3v2.3zm0-11.7c0 1.3-1 2.3-2.3 2.3h-2.3c-1.3 0-2.3-1-2.3-2.3v-2.3c0-1.3 1-2.3 2.3-2.3h2.3c1.3 0 2.3 1 2.3 2.3v2.3zm0-11.8c0 1.3-1 2.3-2.3 2.3h-2.3c-1.3 0-2.3-1-2.3-2.3v-2.3c0-1.3 1-2.3 2.3-2.3h2.3c1.3 0 2.3 1 2.3 2.3v2.3zm12.7 11.8c0 1.3-1 2.3-2.3 2.3h-2.3c-1.3 0-2.3-1-2.3-2.3v-2.3c0-1.3 1-2.3 2.3-2.3h2.3c1.3 0 2.3 1 2.3 2.3v2.3zm0-11.8c0 1.3-1 2.3-2.3 2.3h-2.3c-1.3 0-2.3-1-2.3-2.3v-2.3c0-1.3 1-2.3 2.3-2.3h2.3c1.3 0 2.3 1 2.3 2.3v2.3z\"}],\"circle\":[{\"cx\":\"62.1\",\"cy\":\"75.8\",\"r\":\"2.2\"},{\"cx\":\"72.9\",\"cy\":\"75.8\",\"r\":\"2.2\"}]}},\nbuyer_group:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"circle\":[{\"cx\":\"58.7\",\"cy\":\"76.7\",\"r\":\"2.2\"},{\"cx\":\"69.5\",\"cy\":\"76.7\",\"r\":\"2.2\"}],\"path\":[{\"d\":\"M37.3 43.1c-1.5-2.4-2.4-5.2-2.4-8.3 0-5.2 2.2-9.6 5.7-12.2-1.3-2.2-3.5-3.6-6.6-3.6-5.1 0-7.9 4.1-7.9 8.8 0 2.6.9 4.7 2.6 6.3 1 .9 1.8 2 1.8 3.3 0 1.2-.4 2.3-3.3 3.5-4.1 1.9-7.9 4.2-8 8.1 0 2.6 1.7 4.4 4.1 4.4h3.8c.6 0 1.2-.4 1.5-.9 1.9-3.3 5.3-5.5 8.2-6.9.7-.5 1.1-1.7.5-2.5zM58.4 66.4h13.3c.4 0 .8-.3.8-.7l2.4-8.6c.2-.6-.3-1.1-.8-1.1H53.6l-.3-1.3c-.2-.6-.7-1-1.3-1h-2.2c-.7 0-1.4.6-1.4 1.3-.1.8.6 1.4 1.3 1.4H51l1.2 4 3 10.3c.2.6.7 1 1.3 1h15.6c.7 0 1.4-.6 1.4-1.3.1-.8-.6-1.4-1.3-1.4H58.4c-.6 0-1.1-.4-1.3-.9V68c-.2-.8.4-1.6 1.3-1.6z\"},{\"d\":\"M48.4 61.6l-.4-1.5c-.9-.3-1.6-.8-2.2-1.5-.9-1.1-1.4-2.4-1.3-3.8.1-2.8 2.6-5 5.4-5H52c1.8 0 3.4.9 4.4 2.3h5.7c-1.6-1.1-3.5-2-5.4-2.8-3.2-1.3-3.6-2.6-3.6-3.9 0-1.3.9-2.6 1.9-3.6 1.9-1.7 2.9-4.1 2.9-7 0-5.2-3.2-9.7-8.8-9.7s-8.8 4.5-8.8 9.7c0 2.8 1.1 5.2 2.9 7 1.1 1 1.9 2.3 1.9 3.6 0 1.3-.5 2.6-3.6 3.9-4.8 1.9-9.2 4.2-9.3 8.5 0 2.8 2 5.3 4.7 5.3h11.8l-.3-1.5z\"},{\"d\":\"M63.1 34.8c0 3.1-.8 5.9-2.4 8.3-.6.9-.3 2 .7 2.6 2.8 1.3 6 3.3 7.9 6.4h4.8c1 0 1.9.3 2.7.9 1.3-.7 2.1-2.1 2.1-3.9-.1-3.9-3.9-6.3-8-8.2-2.9-1.2-3.3-2.4-3.3-3.5 0-1.2.8-2.4 1.8-3.3 1.7-1.6 2.6-3.7 2.6-6.3 0-4.8-2.8-8.8-7.9-8.8-3.1 0-5.3 1.4-6.6 3.6 3.4 2.6 5.6 6.9 5.6 12.2z\"}]}},\ncalculated_insights:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M72.51 26a7.5 7.5 0 00-6 12l-6.24 11a5 5 0 00-.77 0 7.5 7.5 0 00-3.76 1l-7.93-5.84A7.1 7.1 0 0048 42.5a7.5 7.5 0 10-13.41 4.59L28.14 59h-.64a7.5 7.5 0 105.91 2.88L39.86 50h.64a7.47 7.47 0 003.75-1l7.93 5.84A7.67 7.67 0 0052 56.5 7.5 7.5 0 1065.49 52l6.24-11h.77a7.5 7.5 0 000-15zM72.5 26h.01-.01z\"}},\ncalibration:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M31.9 49.7c-.6.1-1.2.1-1.9.1-.6 0-1.2 0-1.9-.1-.6-.1-1.1.4-1.1 1V78c0 1.1.9 2 2 2h2c1.1 0 2-.9 2-2V50.7c0-.7-.5-1.1-1.1-1zM51.9 70.7c-.6.1-1.2.1-1.9.1-.6 0-1.2 0-1.9-.1-.6-.1-1.1.4-1.1 1V78c0 1.1.9 2 2 2h2c1.1 0 2-.9 2-2v-6.3c0-.7-.5-1.1-1.1-1zM71.9 55.7c-.6.1-1.2.1-1.9.1-.6 0-1.2 0-1.9-.1-.6-.1-1.1.4-1.1 1V78c0 1.1.9 2 2 2h2c1.1 0 2-.9 2-2V56.7c0-.7-.5-1.1-1.1-1zM33 30.7V22c0-1.1-.9-2-2-2h-2c-1.1 0-2 .9-2 2v8.7c-2.4 1.1-4 3.5-4 6.3 0 3.9 3.1 7 7 7s7-3.1 7-7c0-2.8-1.6-5.2-4-6.3zM53 51.7V22c0-1.1-.9-2-2-2h-2c-1.1 0-2 .9-2 2v29.7c-2.4 1.1-4 3.5-4 6.3 0 3.9 3.1 7 7 7s7-3.1 7-7c0-2.8-1.6-5.2-4-6.3zM73 36.7V22c0-1.1-.9-2-2-2h-2c-1.1 0-2 .9-2 2v14.7c-2.4 1.1-4 3.5-4 6.3 0 3.9 3.1 7 7 7s7-3.1 7-7c0-2.8-1.6-5.2-4-6.3z\"}},\ncall:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M77.7 63.9l-6.2-5a6.002 6.002 0 00-7.3-.2L58.3 63c-.8.6-1.899.5-2.6-.2L46 54l-8.9-9.8c-.7-.7-.8-1.8-.2-2.6l4.3-5.9c1.6-2.2 1.5-5.2-.2-7.3l-5-6.2c-2.2-2.8-6.4-3-8.9-.5l-5.4 5.4c-1.2 1.2-1.8 2.9-1.8 4.5.7 12.7 6.5 24.8 15 33.3s20.5 14.3 33.3 15c1.7.1 3.3-.601 4.5-1.801l5.4-5.399c2.7-2.4 2.4-6.6-.4-8.8z\"}},\ncall_coaching:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M41.8 20c2.9 0 5.3 2.6 4.9 5.5l-.7 6.6c-.3 2.2-2 4-4.2 4.4l-6 .9c-.8.1-1.4.8-1.4 1.6v21.9c0 .8.6 1.5 1.4 1.7l6 .9c2.3.3 4 2.2 4.2 4.4l.8 6.6c.4 2.9-1.9 5.6-4.9 5.4h-6.4c-1.4 0-2.8-.5-3.7-1.6C24.6 70.4 21 59.9 21 49.9s3.7-20.5 10.7-28.3c.9-1 2.3-1.6 3.7-1.6zm18.5 12.9c1.1 0 1.9.8 1.9 1.9v30.8c0 1.1-.9 1.9-1.9 1.9-1 0-1.9-.8-1.9-1.9V34.8c0-1 .8-1.9 1.9-1.9zm-8.5 7.3c1.1 0 1.9.8 1.9 1.9v16.2c0 1-.9 1.9-1.9 1.9-1 0-1.9-.8-1.9-1.9V42.1c0-1 .8-1.9 1.9-1.9zm17.2 0c1.1 0 1.9.8 1.9 1.9v15.7c0 1-.9 1.8-1.9 1.8-1 0-1.9-.8-1.9-1.9V42.1c0-1 .8-1.9 1.9-1.9zm8.9 5.6c1.1 0 1.9.8 1.9 1.9v3.6c0 1.1-.8 1.9-1.9 1.9-1 0-1.9-.8-1.9-1.9v-3.6c0-1 .8-1.9 1.9-1.9z\"}},\ncall_history:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M28.1 48c-.1.7-.1 1.3-.1 2h-6c0-.7 0-1.3.1-2h6z\"},{\"d\":\"M50 22c-14.8 0-26.9 11.5-27.9 26 0 .3-.1.7-.1 1h-4.5c-1.3 0-2 1.5-1.2 2.4l7.5 9.1c.6.7 1.7.7 2.3 0l7.5-9.1c.8-1 .1-2.4-1.2-2.4H28v-1c1-11.2 10.5-20 21.9-20 13 0 23.3 11.3 21.9 24.5-1 9.5-10 18.5-19.6 19.4-7.1.7-13.8-1.9-18.5-7-.6-.7-1.4-1.1-2.2-.1l-2.4 2.9c-.5.6-.1 1 .4 1.5 5.4 5.7 12.8 8.9 20.8 8.8 14.4-.2 26.5-11.6 27.5-26C79.1 35.7 66.1 22 50 22z\"},{\"d\":\"M47.2 42.8c.7-.9.7-2.2-.1-3.2L45 37c-1-1.2-2.8-1.3-3.9-.2l-2.4 2.4c-.5.5-.8 1.2-.8 2 .3 5.5 2.8 10.8 6.5 14.4s8.9 6.2 14.4 6.5c.7 0 1.5-.2 2-.8l2.4-2.4c1.1-1.1 1-2.9-.2-3.9l-2.7-2.1c-.9-.7-2.2-.8-3.2-.1l-2.6 1.9c-.3.3-.8.2-1.1-.1l-4.2-3.8-3.8-4.2c-.3-.3-.3-.8-.1-1.1l1.9-2.7z\"}]},\ncampaign:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M50 20c-16.5 0-30 13.5-30 30s13.5 30 30 30 30-13.5 30-30-13.5-30-30-30zm0 54c-13.2 0-24-10.8-24-24s10.8-24 24-24 24 10.8 24 24-10.8 24-24 24z\"},{\"d\":\"M50 32c-9.9 0-18 8.1-18 18s8.1 18 18 18 18-8.1 18-18-8.1-18-18-18zm0 30c-6.6 0-12-5.4-12-12s5.4-12 12-12 12 5.4 12 12-5.4 12-12 12z\"},{\"d\":\"M50 44c-3.3 0-6 2.7-6 6s2.7 6 6 6 6-2.7 6-6-2.7-6-6-6z\"}]},\ncampaign_members:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"fill-opacity\":\".65\",\"d\":\"M100 62v38H62l38-38zm-7.8 27.6c-1.3-.5-1.5-1-1.5-1.6 0-.5.4-1 .8-1.4.8-.7 1.2-1.6 1.2-2.7 0-2.1-1.3-3.8-3.7-3.8s-3.7 1.8-3.7 3.8c0 1.1.4 2.1 1.2 2.7.4.4.8.9.8 1.4s-.2 1-1.5 1.6c-1.9.8-3.8 1.7-3.8 3.4 0 1.1.9 2.1 2 2.1h10c1.1 0 2-1 2-2.1 0-1.8-1.9-2.7-3.8-3.4z\"},{\"d\":\"M50 20c-16.5 0-30 13.5-30 30s13.5 30 30 30 30-13.5 30-30-13.5-30-30-30zm0 54c-13.2 0-24-10.8-24-24s10.8-24 24-24 24 10.8 24 24-10.8 24-24 24z\"},{\"d\":\"M50 32c-9.9 0-18 8.1-18 18s8.1 18 18 18 18-8.1 18-18-8.1-18-18-18zm0 30c-6.6 0-12-5.4-12-12s5.4-12 12-12 12 5.4 12 12-5.4 12-12 12z\"},{\"d\":\"M50 44c-3.3 0-6 2.7-6 6s2.7 6 6 6 6-2.7 6-6-2.7-6-6-6z\"}]},\ncancel_checkout:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M67.643 52C76.698 52 84 59.608 84 68.566a16.5 16.5 0 11-16.357-16.564zm8.457 6.346a1 1 0 00-1.414 0l-7.29 7.296-6.893-6.91v-.002l-.095-.083a1 1 0 00-1.32.083L57.43 60.39a1 1 0 00-.001 1.413l6.895 6.913-6.854 6.848-.084.094a1 1 0 00.083 1.32l1.665 1.665a1 1 0 001.414 0l6.855-6.855 7.25 7.263v.001l.095.084a.999.999 0 001.32-.084l1.658-1.658c.39-.391.39-1.024 0-1.415l-7.25-7.263 7.289-7.29a1 1 0 000-1.414L76.1 58.346zM40.8 67a5.8 5.8 0 110 11.6 5.8 5.8 0 010-11.6zM23.045 15c1.47 0 2.825 1.012 3.277 2.475l.904 3.15h51.527c1.469 0 2.599 1.35 2.146 2.813l-6.102 21.375c-.11.496-.385.912-.755 1.206a23.176 23.176 0 00-6.514-.929c-2.801 0-5.491.498-7.987 1.41H39.317c-2.147 0-3.842 2.138-3.05 4.275v.113c.338 1.35 1.694 2.362 3.163 2.362h10.36A23.535 23.535 0 0045.705 60H34.458c-1.582 0-2.825-1.013-3.277-2.475L20.56 21.75h-3.164c-1.921 0-3.503-1.688-3.39-3.6.113-1.8 1.808-3.15 3.616-3.15z\"}},\ncanvas:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M73.9 65.9c-.2 3.4-.6 7.1-1.2 10.6-.2 1.1-1.2 2.1-2.3 2.2-6.8.9-13.6 1.3-20.4 1.3-6.7 0-13.5-.4-20.2-1.3-1.1-.1-2.1-1.2-2.3-2.2-1-5.6-1.5-11.3-1.5-16.9 0-5.7.5-11.4 1.4-16.9.2-1.1 1.2-2.1 2.3-2.3 4.1-.5 8.2-.8 12.2-1 0 0 3.3-.2 3.1-3.2-.2-2.8-5-4.6-5-9.4 0-3.8 3.8-6.8 9.9-6.8 6.1 0 9.9 3.1 9.9 6.8 0 4.7-4.7 6.6-4.9 9.4-.2 3.1 3 3.2 3 3.2 4.1.2 8.3.5 12.4 1 1.1.2 2.1 1.2 2.3 2.3.7 3.9 1.1 7.4 1.3 11.2.1 1.1-.9 2-2.1 2-.4 0-.7-.1-1.1-.1-1.2 0-2.9-.7-3.7-1.6 0 0-2.7-2.7-5.5-2.7-4.6-.1-8.2 4.1-8.2 8.5s3.5 8.6 8.1 8.5c2.8-.1 5.5-2.9 5.5-2.9.9-.8 2.5-1.6 3.7-1.6.4-.1.7-.1 1.1-.1 1.4.1 2.3 1 2.2 2z\"}},\ncapacity_plan:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M39 32h22a2 2 0 002-2v-4a6 6 0 00-6-6H43a6 6 0 00-6 6v4a2 2 0 002 2zM49.8 48.4v11.4h10.7a9.88 9.88 0 00-3.1-7.8c-3.7-3.8-7.6-3.6-7.6-3.6z\"},{\"d\":\"M72 25h-2a.94.94 0 00-1 1v4a8 8 0 01-8 8H39a8 8 0 01-8-8v-4a.94.94 0 00-1-1h-2a6 6 0 00-6 6v43a6 6 0 006 6h44a6 6 0 006-6V31a6 6 0 00-6-6zm-7.1 34.3a14.9 14.9 0 11-14.8-15 14.94 14.94 0 0114.8 15z\"}]},\ncare_request_reviewer:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M73.3 69.4c-2.3-.9-2.6-1.8-2.6-2.8a3.59 3.59 0 011.4-2.6 6.42 6.42 0 002.1-5c0-3.8-2.3-7-6.3-7s-6.3 3.2-6.3 7a6.78 6.78 0 002.1 5 3.59 3.59 0 011.4 2.6c0 1-.3 1.9-2.6 2.9-3.3 1.5-6.4 3.3-6.5 6.3 0 2 1.5 4.1 3.4 4.1h17.2c1.9 0 3.4-2.1 3.2-4.1-.1-3-3.2-5-6.5-6.4z\"},{\"d\":\"M52 75.8v-.2c.2-5.4 5.2-8.1 8.2-9.5a10.53 10.53 0 01-2.6-7.1 12.59 12.59 0 01.84-4.6H50.1a1.22 1.22 0 01-1.2-1.2v-2.3a1.22 1.22 0 011.2-1.2h12a10.58 10.58 0 0111.15-.22V25.6A5.59 5.59 0 0067.7 20H32.3a5.59 5.59 0 00-5.6 5.6v44.8a5.59 5.59 0 005.6 5.6H52v-.2zm-3.1-40.9a1.22 1.22 0 011.2-1.2h15.2a1.22 1.22 0 011.2 1.2v2.3a1.13 1.13 0 01-1.1 1.2H50.1a1.22 1.22 0 01-1.2-1.2zm-4.1 20.5a.91.91 0 010 1.2l-1.2 1.2a.91.91 0 01-1.2 0L39 54.4l-3.3 3.3a.91.91 0 01-1.2 0l-1.2-1.2a.91.91 0 010-1.2l3.3-3.3-3.3-3.3a.91.91 0 010-1.2l1.2-1.2a.91.91 0 011.2 0l3.3 3.3 3.4-3.4a.91.91 0 011.2 0l1.2 1.2a.91.91 0 010 1.2L41.4 52zm2.8-24.3l-9 9a1.66 1.66 0 01-1.2.5 1.58 1.58 0 01-1.2-.5l-4.3-4.3a.75.75 0 010-1.2l1.2-1.2a.75.75 0 011.2 0l3.1 3.1 7.7-7.7a.75.75 0 011.2 0l1.2 1.2c.3.4.3 1 .1 1.1z\"}]},\ncarousel:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M76.26 37.7h-2.69v26.93h2.69A3.75 3.75 0 0080 60.89V41.44a3.75 3.75 0 00-3.74-3.74zM20 41.44v19.45a3.75 3.75 0 003.74 3.74h2.69V37.7h-2.69A3.75 3.75 0 0020 41.44zM66.46 34.33H33.54a3.75 3.75 0 00-3.74 3.74v26.19A3.75 3.75 0 0033.54 68h32.92a3.75 3.75 0 003.74-3.74V38.07a3.75 3.75 0 00-3.74-3.74zm-5.57 26.94H37.77a1.21 1.21 0 01-1-1.83l7-12.19a.75.75 0 011.35 0l4.23 7.26a.81.81 0 001.35.07l3.44-4.94a.8.8 0 011.35 0l6.28 10a1 1 0 01-.88 1.63zm-.6-14.36a3.18 3.18 0 113.18-3.18 3.18 3.18 0 01-3.18 3.17z\"}},\ncase:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M38 29h4c.6 0 1-.4 1-1v-3h14v3c0 .6.4 1 1 1h4c.6 0 1-.4 1-1v-3c0-3.3-2.7-6-6-6H43c-3.3 0-6 2.7-6 6v3c0 .6.4 1 1 1zM74 35H26c-3.3 0-6 2.7-6 6v32c0 3.3 2.7 6 6 6h48c3.3 0 6-2.7 6-6V41c0-3.3-2.7-6-6-6z\"}},\ncase_change_status:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M38 30h4c.6 0 1-.4 1-1v-3h14v3c0 .6.4 1 1 1h4c.6 0 1-.4 1-1v-3c0-3.3-2.7-6-6-6H43c-3.3 0-6 2.7-6 6v3c0 .6.4 1 1 1zM74 36H26c-3.3 0-6 2.7-6 6v32c0 3.3 2.7 6 6 6h48c3.3 0 6-2.7 6-6V42c0-3.3-2.7-6-6-6zM58.5 58.1L48 70.7c-.6.6-1.6.1-1.4-.7l2.6-9h-6.9c-.8 0-1.4-.8-1.1-1.6l4.2-10.8c.4-.9 1.2-1.5 2.2-1.5h8.3c.9 0 1.5.9 1 1.7L52.4 56h5.2c1 0 1.6 1.3.9 2.1z\"}},\ncase_comment:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M38 30h4c.6 0 1-.4 1-1v-3h14v3c0 .6.4 1 1 1h4c.6 0 1-.4 1-1v-3c0-3.3-2.7-6-6-6H43c-3.3 0-6 2.7-6 6v3c0 .6.4 1 1 1zM74 36H26c-3.3 0-6 2.7-6 6v32c0 3.3 2.7 6 6 6h48c3.3 0 6-2.7 6-6V42c0-3.3-2.7-6-6-6zM50.9 68c-2.3 0-4.4-.6-6.2-1.6-.2-.1-.4-.1-.7-.1L40 68c-.6.2-1.2-.4-1-1l1.7-4.1c.1-.2 0-.5-.1-.6-1-1.6-1.5-3.4-1.5-5.4 0-6.1 5.3-11 11.8-11s11.8 4.9 11.8 11c0 6.2-5.3 11.1-11.8 11.1z\"}},\ncase_email:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M38 30h4c.6 0 1-.4 1-1v-3h14v3c0 .6.4 1 1 1h4c.6 0 1-.4 1-1v-3c0-3.3-2.7-6-6-6H43c-3.3 0-6 2.7-6 6v3c0 .6.4 1 1 1zM74 36H26c-3.3 0-6 2.7-6 6v32c0 3.3 2.7 6 6 6h48c3.3 0 6-2.7 6-6V42c0-3.3-2.7-6-6-6zM37.9 47.1h24.3c.8 0 .9.7.7 1.1L50.6 59.6c-.3.3-.8.3-1.2 0L37.2 48.3c-.5-.6 0-1.2.7-1.2zM63 64c0 1.4-1.6 3-3 3H40c-1.4 0-3-1.6-3-3V53.1c0-.6.7-.9 1.1-.5l9.6 8.9c.6.6 1.5.9 2.3.9s1.7-.3 2.3-.9l9.5-8.9c.4-.4 1.1-.2 1.1.3.1.9.1 10.8.1 11.1z\"}},\ncase_log_a_call:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M38 30h4c.6 0 1-.4 1-1v-3h14v3c0 .6.4 1 1 1h4c.6 0 1-.4 1-1v-3c0-3.3-2.7-6-6-6H43c-3.3 0-6 2.7-6 6v3c0 .6.4 1 1 1zM74 36H26c-3.3 0-6 2.7-6 6v32c0 3.3 2.7 6 6 6h48c3.3 0 6-2.7 6-6V42c0-3.3-2.7-6-6-6zM62.3 66.1l-2.2 2.2c-.5.5-1.1.7-1.8.7-5.1-.3-9.9-2.6-13.3-6-3.4-3.4-5.7-8.2-6-13.3 0-.7.2-1.3.7-1.8l2.2-2.2c1-1 2.7-.9 3.6.2l2 2.5c.7.8.7 2 .1 2.9l-1.7 2.4c-.2.3-.2.8.1 1l3.5 3.9 3.9 3.5c.3.3.7.3 1 .1l2.4-1.7c.9-.6 2.1-.6 2.9.1l2.5 2c1 .8 1.1 2.5.1 3.5z\"}},\ncase_milestone:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M73 36H25.1c-3.3 0-6 2.7-6 6v32c0 3.3 2.7 6 6 6H73c3.3 0 6-2.7 6-6V42c0-3.3-2.7-6-6-6zM40.9 48.6v22c0 1-.7 1.9-1.7 1.9h-.1c-1 0-1.8-.9-1.8-1.9v-22c-.6-.6-.9-1.4-.9-2.2-.1-1.5 1-2.8 2.5-2.9s2.8 1 2.9 2.5v.5c0 .7-.3 1.5-.9 2.1zm21.5 13.8c0 .3-.2.6-.4.8-6.9 4.1-10.8-2.4-17.2-.3-.5.1-1-.1-1.2-.6V49.5c0-.4.2-.8.6-.9 6.6-2.6 10.5 4.2 17.5.2.2-.1.5-.1.6.1.1.1.1.2.1.3v13.2zM37.1 30h4c.5 0 1-.4 1-.9V26h14v3c0 .5.4 1 .9 1h4.1c.5 0 1-.4 1-.9V26c0-3.3-2.7-6-6-6h-14c-3.3 0-6 2.7-6 6v3c0 .5.4 1 .9 1h.1z\"}},\ncase_transcript:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M38 30h4c.6 0 1-.4 1-1v-3h14v3c0 .6.4 1 1 1h4c.6 0 1-.4 1-1v-3c0-3.3-2.7-6-6-6H43c-3.3 0-6 2.7-6 6v3c0 .6.4 1 1 1zM74 36H26c-3.3 0-6 2.7-6 6v32c0 3.3 2.7 6 6 6h48c3.3 0 6-2.7 6-6V42c0-3.3-2.7-6-6-6zM61 67c0 1.7-1.3 3-3 3H44c-1.7 0-3-1.3-3-3V48c0-1.7 1.3-3 3-3h7c.6 0 1 .4 1 1v6c0 1.1.9 2 2 2h6c.6 0 1 .4 1 1v12zm0-15.7c0 .4-.3.7-.7.7H56c-1.1 0-2-.9-2-2v-4.3c0-.4.3-.7.7-.7.2 0 .4.1.5.2l5.6 5.6c.1.1.2.3.2.5z\"}},\ncase_wrap_up:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M37.2 30.1h4a.94.94 0 001-1v-3H58v3a.94.94 0 001 1h4a.94.94 0 001-1v-3a6 6 0 00-6-6H42.2a6 6 0 00-6 6v3a.94.94 0 001 1zM74 36.1H26.2a6 6 0 00-6 6v31.8a6 6 0 006 6H74a6 6 0 006-6V42.1a6.15 6.15 0 00-6-6zm-8.7 16.1L47.9 69.6a3.38 3.38 0 01-4.8 0l-8.4-8.4a1.63 1.63 0 010-2.4l2.4-2.4a1.63 1.63 0 012.4 0l6 6 15-15a1.63 1.63 0 012.4 0l2.4 2.4a1.82 1.82 0 010 2.4z\"}},\ncatalog:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M61.8 29.4l8.9 8.9c2 1.9 2 5.1 0 7L47.5 68.4V36.6l7.2-7.2c1.9-2 5.2-2 7.1 0zM80 62.5V75c0 2.8-2.2 5-5 5H43.8l22.5-22.5H75c2.8 0 5 2.3 5 5zm-60 6.3V25c0-2.8 2.2-5 5-5h12.5c2.8 0 5 2.2 5 5v43.8c0 6.2-5 11.2-11.2 11.2S20 75 20 68.8zm11.2 5c2.8 0 5-2.2 5-5s-2.2-5-5-5-5 2.2-5 5 2.3 5 5 5z\"}},\ncategory:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M61.8 29.4l8.9 8.9c2 1.9 2 5.1 0 7L47.5 68.4V36.6l7.2-7.3c1.9-1.9 5.2-1.9 7.1.1zM37.5 20H25c-2.8 0-5 2.2-5 5v43.8C20 75 25 80 31.2 80s11.2-5 11.2-11.2V25c.1-2.8-2.2-5-4.9-5zm-6.3 53.8c-2.8 0-5-2.2-5-5s2.2-5 5-5 5 2.2 5 5-2.2 5-5 5zM75 57.5h-8.8l-6 6H74L73.9 74H49.8l-6 6H75c2.8 0 5-2.2 5-5V62.5c0-2.7-2.2-5-5-5z\"}},\nchannel_program_history:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M30.7 48.1c1-10.9 10.2-19.4 21.2-19.4 12.6 0 22.6 10.9 21.2 23.7-1 9.2-9.7 17.9-19 18.8-6.9.7-13.4-1.8-17.9-6.8-.6-.7-1.4-1.1-2.1-.1l-2.3 2.8c-.5.6-.1 1 .4 1.5 5.2 5.5 12.4 8.6 20.2 8.5 14-.2 25.7-11.2 26.6-25.2 1.2-15.8-11.4-29-27-29-14.3 0-26.1 11.1-27 25.2 0 .3-.1.7-.1 1h-4.4c-1.3 0-1.9 1.5-1.2 2.3l7.3 8.8c.6.7 1.6.7 2.2 0l7.3-8.8c.8-1 .1-2.3-1.2-2.3h-4.3l.1-1z\"},{\"d\":\"M52.1 38.1c-6.5 0-11.9 5.4-11.9 11.9s5.4 11.9 11.9 11.9S64 56.5 64 50s-5.3-11.9-11.9-11.9zm9.5 10.7h-3.1c-.1-2.8-.8-5.3-1.7-7.1 2.6 1.4 4.4 4.1 4.8 7.1zM51 41v7.8h-2.7c.1-3.7 1.3-6.6 2.7-7.8zm0 10.2V59c-1.3-1.1-2.5-4.1-2.7-7.8H51zm2.3 7.8v-7.8H56c-.1 3.7-1.3 6.6-2.7 7.8zm0-10.2V41c1.3 1.1 2.5 4.1 2.7 7.8h-2.7zm-5.7-7.1c-1 1.9-1.5 4.3-1.7 7.1h-3.1c.3-3 2.1-5.7 4.8-7.1zm-4.9 9.5h3.1c.1 2.8.8 5.3 1.7 7.1-2.6-1.4-4.4-4.1-4.8-7.1zm14 7.1c1-1.9 1.5-4.3 1.7-7.1h3.1c-.3 3-2.1 5.7-4.8 7.1z\"}]},\nchannel_program_levels:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M77.9 47.2l-3.7-1.7c-.5-.3-1.2-.3-1.7 0l-11 5.3c1.8-.6 3.7-.9 5.6-.9 3.1 0 6 .8 8.6 2.2l2.1-1c1.7-.9 1.7-3.1.1-3.9zM20.2 36.9L47 49.6c1.2.6 2.7.6 3.9 0l26.9-12.7c1.6-.8 1.6-2.9 0-3.7L50.9 20.5c-1.2-.6-2.7-.6-3.9 0L20.2 33.3c-1.7.7-1.7 2.9 0 3.6zM20.2 50.9L47 63.7c.7.4 1.5.5 2.3.4 1-4.8 3.9-8.8 7.9-11.4l-6.2 3c-1.2.6-2.7.6-3.9 0L25.6 45.5c-.5-.3-1.2-.3-1.7 0l-3.7 1.7c-1.7.8-1.7 2.9 0 3.7zM49 70.2c-.7 0-1.3-.2-1.9-.4L25.5 59.5c-.5-.3-1.2-.3-1.7 0l-3.6 1.7c-1.6.8-1.6 2.9 0 3.7L47 77.7c1.2.6 2.7.6 3.9 0l.6-.3c-1.3-2.2-2.2-4.6-2.5-7.2z\"}},\"path\":{\"d\":\"M67.2 56.2c-6.5 0-11.9 5.3-11.9 11.9S60.6 80 67.2 80s11.9-5.3 11.9-11.9-5.4-11.9-11.9-11.9zm9.4 10.7h-3.1c-.1-2.8-.8-5.3-1.7-7.1 2.6 1.5 4.4 4.1 4.8 7.1zM66 59.1v7.8h-2.7c.2-3.7 1.3-6.6 2.7-7.8zm0 10.2v7.8c-1.3-1.1-2.5-4.1-2.7-7.8H66zm2.4 7.8v-7.8h2.7c-.2 3.7-1.4 6.7-2.7 7.8zm0-10.2v-7.8c1.3 1.1 2.5 4.1 2.7 7.8h-2.7zm-5.8-7.1c-1 1.9-1.5 4.3-1.7 7.1h-3.1c.3-3 2.2-5.6 4.8-7.1zm-4.8 9.5h3.1c.1 2.8.8 5.3 1.7 7.1-2.6-1.4-4.5-4-4.8-7.1zm14 7.1c1-1.9 1.5-4.3 1.7-7.1h3.1c-.4 3.1-2.2 5.7-4.8 7.1z\"}},\nchannel_program_members:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M48.7 68.1c0-5.9 2.8-11.2 7.2-14.5-1.3-.6-2.6-1.2-4-1.8-4.3-1.8-4.9-3.4-4.9-5.2 0-1.8 1.2-3.4 2.6-4.7 2.5-2.3 3.9-5.4 3.9-9.1 0-6.9-4.3-12.8-11.9-12.8-7.6 0-11.9 5.9-11.9 12.8 0 3.7 1.4 6.9 3.9 9.1 1.4 1.3 2.6 3 2.6 4.7 0 1.7-.7 3.4-4.9 5.2-6.2 2.6-12.1 5.6-12.2 11.2 0 3.7 2.8 7 6.3 7h22.7c.3 0 .5-.1.7-.1 0-.6-.1-1.2-.1-1.8zM67 56.3c-6.5 0-11.9 5.3-11.9 11.9S60.5 80.1 67 80.1s11.9-5.3 11.9-11.9S73.6 56.3 67 56.3zM76.5 67h-3.1c-.1-2.8-.8-5.3-1.7-7.1 2.5 1.4 4.4 4.1 4.8 7.1zm-10.6-7.8V67h-2.7c.1-3.7 1.3-6.6 2.7-7.8zm0 10.2v7.8c-1.3-1.1-2.5-4.1-2.7-7.8h2.7zm2.3 7.8v-7.8H71c-.2 3.7-1.4 6.6-2.8 7.8zm0-10.2v-7.8c1.3 1.1 2.5 4.1 2.7 7.8h-2.7zm-5.8-7.1c-1 1.9-1.5 4.3-1.7 7.1h-3.1c.4-3 2.2-5.7 4.8-7.1zm-4.8 9.5h3.1c.1 2.8.8 5.3 1.7 7.1-2.6-1.5-4.4-4.1-4.8-7.1zm14 7.1c1-1.9 1.5-4.3 1.7-7.1h3.1c-.3 3-2.2 5.6-4.8 7.1z\"}},\nchannel_programs:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M49 20c-16.5 0-30 13.5-30 30s13.5 30 30 30 30-13.5 30-30-13.5-30-30-30zm23.8 27h-7.9c-.3-7.1-1.9-13.3-4.3-18 6.6 3.7 11.2 10.3 12.2 18zM46 27.3V47h-6.9c.5-9.4 3.5-16.8 6.9-19.7zM46 53v19.7c-3.4-2.9-6.4-10.3-6.9-19.7H46zm6 19.7V53h6.9c-.5 9.4-3.5 16.8-6.9 19.7zM52 47V27.3c3.4 2.9 6.4 10.3 6.9 19.7H52zM37.4 29c-2.4 4.7-3.9 10.9-4.3 18h-7.9c1-7.7 5.6-14.3 12.2-18zM25.2 53h7.9c.3 7.1 1.9 13.3 4.3 18-6.6-3.7-11.2-10.3-12.2-18zm35.4 18c2.4-4.7 3.9-10.9 4.3-18h7.9c-1 7.7-5.6 14.3-12.2 18z\"}},\nchart:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M36.2 56.4c1.4 3.1 3.9 5.5 7 7 .9.4 1.3 1.3 1.3 2.2v11.5c0 1.6-1.5 2.8-3.1 2.4C31 76.7 22.8 68.5 20 58.1c-.4-1.5.8-3.1 2.4-3.1H34c.9 0 1.8.5 2.2 1.4zM41.5 19.7c1.5-.4 3.1.8 3.1 2.4v11.5c0 .9-.5 1.8-1.3 2.2-3.1 1.4-5.5 3.9-7 7-.4.9-1.3 1.3-2.2 1.3H22.4c-1.6 0-2.8-1.5-2.4-3.1 2.9-10.3 11.1-18.5 21.5-21.3zM80 49.6c0 14.3-9.1 26.4-21.6 29.9-1.5.4-3-.8-3-2.4V65.4c0-1 .5-1.9 1.3-2.4 4.7-2.4 8-7.5 8-13.4s-3.3-11.1-8-13.4c-.8-.4-1.3-1.4-1.3-2.4V22.1c0-1.6 1.5-2.8 3-2.4C70.9 23.2 80 35.3 80 49.6z\"}},\ncheckout:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M65.84 51.69a14.16 14.16 0 11-14.15 14.15 14.2 14.2 0 0114.15-14.15zM43 64.54a5 5 0 11-5 5 5 5 0 015-5zm28-4.46l-7.58 8.49L60 65.14a1 1 0 00-1.42 0l-1.41 1.31a.86.86 0 000 1.32L62 72.52a2 2 0 001.42.6 1.84 1.84 0 001.41-.6l9-9.81a1 1 0 000-1.31l-1.41-1.32a1 1 0 00-1.42 0zM27.75 20a3 3 0 012.8 2.12l.78 2.7h44.13a1.87 1.87 0 011.84 2.41l-5.23 18.3a1.81 1.81 0 01-.65 1 19.75 19.75 0 00-5.58-.8A20 20 0 0059 47H41.68a2.75 2.75 0 00-2.61 3.66v.1a2.82 2.82 0 002.71 2h8.87a20.26 20.26 0 00-3.5 5.78h-9.63a2.9 2.9 0 01-2.8-2.12l-9.1-30.64h-2.71A3 3 0 0120 22.7a3.06 3.06 0 013.1-2.7h4.65z\"}},\nchoice:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"circle\":{\"cx\":\"50\",\"cy\":\"50\",\"r\":\"13.9\"},\"path\":{\"d\":\"M50 20c-16.5 0-30 13.5-30 30s13.5 30 30 30 30-13.5 30-30-13.5-30-30-30zm0 52c-12.1 0-22-9.9-22-22s9.9-22 22-22 22 9.9 22 22-9.9 22-22 22z\"}}},\nclient:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M44.8 58.3c3.7-2.1 7.2-3.1 11.1-3.1 1.1 0 2.2.1 3.2.2.5.1.6-.1.1-.4-1.9-1.1-4-2.1-6.2-3-4.3-1.8-4.9-3.4-4.9-5.2 0-1.8 1.2-3.4 2.6-4.7 2.5-2.3 3.9-5.4 3.9-9.1 0-6.9-4.3-12.8-11.9-12.8-7.6 0-11.9 5.9-11.9 12.8 0 3.7 1.4 6.9 3.9 9.1 1.4 1.3 2.6 3 2.6 4.7 0 1.7-.7 3.4-4.9 5.2-6.2 2.6-12.1 5.6-12.2 11.2 0 3.7 2.8 7 6.3 7h14.2c1.1 0 2-.9 2-2v-6.5c.1-1.4.8-2.7 2.1-3.4z\"},{\"d\":\"M77.3 64.2c-9.4 2.9-16.8-6-27.1-1.8-.8.3-1.2 1-1.2 1.9V75c0 1.4 1.2 2.3 2.5 1.9 10.2-3.1 17.6 5.8 27.2 1.8.7-.3 1.3-1 1.3-1.9V66.1c0-1.3-1.4-2.3-2.7-1.9zm-12.5 10c-2.2 0-4-1.8-4-4s1.8-4 4-4 4 1.8 4 4-1.8 4-4 4z\"}]}},\ncms:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M60.4 29.9c-2 0-3.8.2-5.5.8 2.1 1.7 3.9 3.8 5.4 6.1h.1c7 0 12.7 5.7 12.7 12.7s-5.7 12.7-12.7 12.7c-1.7 0-3.5-.3-5-1 .9-1.3 1.7-2.7 2.3-4 .2-.6.5-1 .6-1.6.6-1.8.9-3.9.9-6 0-10.8-8.8-19.6-19.6-19.6S20 38.7 20 49.5s8.8 19.6 19.6 19.6c2 0 3.8-.2 5.5-.8-2.1-1.7-3.9-3.8-5.4-6.1h-.1c-7 0-12.7-5.7-12.7-12.7s5.7-12.7 12.7-12.7c1.7 0 3.5.3 5.1 1-2.4 3.2-3.9 7.3-3.9 11.7 0 10.8 8.8 19.6 19.6 19.6S80 60.3 80 49.5s-8.8-19.6-19.6-19.6z\"}},\ncoaching:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M47 53c-1.3 0-2.6.5-3.5 1.5-1.9 1.9-1.9 5.1 0 7.1.9.9 2.2 1.5 3.5 1.5 1.3 0 2.6-.5 3.5-1.5 1.9-1.9 1.9-5.1 0-7.1-.9-1-2.2-1.5-3.5-1.5z\"},{\"d\":\"M79.6 30.6l-6.8-9.8c-.6-.9-1.8-1.1-2.7-.6L36.7 40.9c-3.2 1.9-6 4.7-7.8 8.9-1.8 4.3-2.2 8.9-1.1 13.2-4.3.4-7.8 4-7.8 8.5 0 4.7 3.8 8.5 8.5 8.5 3.5 0 6.5-2.1 7.8-5.1 7.7 4.9 18.1 4 24.9-2.8 6.1-6.1 7.4-15.2 4-22.7-1.2-2.6-.5-5.8 1.9-7.5l12.1-8.6c.8-.5 1-1.8.4-2.7zM28.5 74c-1.4 0-2.5-1.1-2.5-2.5s1.1-2.5 2.5-2.5 2.5 1.1 2.5 2.5-1.1 2.5-2.5 2.5zm26.3-8.2C52.7 67.9 49.9 69 47 69c-2.9 0-5.7-1.1-7.8-3.2-4.3-4.3-4.3-11.3 0-15.6C41.3 48.1 44 47 47 47c2.9 0 5.7 1.1 7.8 3.2 4.3 4.3 4.3 11.3 0 15.6z\"}]},\ncode_playground:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M73.8 20H26.2c-3.4 0-6.2 2.8-6.2 6.2v47.6c0 3.4 2.8 6.2 6.2 6.2h47.6c3.4 0 6.2-2.8 6.2-6.2V26.2c0-3.4-2.8-6.2-6.2-6.2zm-45.5 6.2h43.4c1.1 0 2.1.9 2.1 2.1v3.9H26.2v-3.9c0-1.2.9-2.1 2.1-2.1zm43.4 47.6H28.3c-1.1 0-2.1-.9-2.1-2.1V38.2h47.6v33.5c0 1.2-.9 2.1-2.1 2.1z\"},{\"d\":\"M46.7 63.3l-6.6-6.6 6.6-6.6c.4-.4.4-1 0-1.4l-2.8-2.8c-.4-.4-1-.4-1.4 0l-7.3 7.3-1.5 1.5-1.3 1.3c-.2.2-.3.5-.3.7 0 .3.1.5.3.7l10.2 10.2c.4.4 1 .4 1.4 0l2.8-2.8c.3-.5.3-1.1-.1-1.5zM67.7 55.9l-1.3-1.3-1.5-1.5-7.3-7.3c-.4-.4-1-.4-1.4 0l-2.8 2.8c-.4.4-.4 1 0 1.4l6.6 6.6-6.6 6.6c-.4.4-.4 1 0 1.4l2.8 2.8c.4.4 1 .4 1.4 0l10.2-10.2c.2-.2.3-.5.3-.7-.1-.1-.2-.4-.4-.6z\"}]},\ncollection:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M33.74 20.26h17.43v29.4l.39.57.71-.13 7.06-6.43.49-.15.51.14L67 50l.75.13.36-.57V20.08h4.08s2.58.24 3.74 1.39a6.53 6.53 0 012 3.43v49.31c0 1.85-.17 2.85-1.1 3.94A5.69 5.69 0 0172.21 80h-38c-.31 0-1.9.34-4.22-1.93a6.65 6.65 0 01-1.85-4.44v-1.55h-2a3.93 3.93 0 01-4-4.17c.08-3.69 3.91-3.8 3.91-3.8h2.05v-10h-2a3.86 3.86 0 01-4-4 4 4 0 014-4.18h2v-9.74s-1.49.05-2 0a3.87 3.87 0 01-4-3.87 3.93 3.93 0 014-4.1h2v-2.38a6 6 0 011.48-3.65 6.46 6.46 0 014.16-1.93z\"}},\ncollection_variable:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M73.8 20H26.2c-3.4 0-6.2 2.8-6.2 6.2v47.6c0 3.4 2.8 6.2 6.2 6.2h47.6c3.4 0 6.2-2.8 6.2-6.2V26.2c0-3.4-2.8-6.2-6.2-6.2zm-3 49.3h-.1c0 .8-.8 1.4-1.6 1.4H30.4c-.8 0-1.4-.8-1.4-1.6V30.7c0-.8.8-1.4 1.6-1.4h38.8c.8 0 1.4.8 1.4 1.6v38.4z\"},{\"d\":\"M58.8 45.6c1.3 0 3.9-1.1 3.9-4.5s-2.5-3.6-3.2-3.6c-1.5 0-3 1.1-4.3 3.4-1.3 2.3-2.8 4.9-2.8 4.9h-.1c-.3-1.6-.6-3-.7-3.6-.3-1.4-1.9-4.5-5.3-4.5s-6.5 2-6.5 2c-.6.4-1 1-1 1.8 0 1.1.9 2.1 2.1 2.1.3 0 .6-.1.9-.2 0 0 2.6-1.4 3.1 0 .2.4.3.9.5 1.4.7 2.2 1.3 4.9 1.8 7.3L45 55.3s-2.5-.9-3.8-.9-3.9 1.1-3.9 4.5 2.5 3.6 3.2 3.6c1.5 0 3-1.1 4.3-3.4 1.3-2.3 2.8-4.9 2.8-4.9.4 2.1.8 3.8 1 4.5.9 2.4 2.8 3.9 5.4 3.9 0 0 2.7 0 5.8-1.8.8-.3 1.3-1.1 1.3-1.9 0-1.1-.9-2.1-2.1-2.1-.3 0-.6.1-.9.2 0 0-2.3 1.3-3 .3-.6-1-1-2.4-1.4-4.2-.3-1.5-.7-3.3-1.1-5.1l2.3-3.3c.1 0 2.6.9 3.9.9z\"}]},\nconnected_apps:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M73 21H27c-3.3 0-6 2.7-6 6v46c0 3.3 2.7 6 6 6h46c3.3 0 6-2.7 6-6V27c0-3.3-2.7-6-6-6zm-2 52H29c-1.1 0-2-.9-2-2V29c0-1.1.9-2 2-2h42c1.1 0 2 .9 2 2v42c0 1.1-.9 2-2 2z\"},{\"d\":\"M58.5 47H52l5.7-9.4c.6-1-.1-2.6-1.3-2.6h-8.3c-1.2 0-2.3.8-2.8 1.9l-5.2 13.8c-.4 1 .3 2.3 1.4 2.3h6.6l-3.2 10.9c-.3 1 1 1.6 1.7.8l13.1-15.4c.8-1 .1-2.3-1.2-2.3z\"}]},\nconstant:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M79.4 26.7c-.3-.3-.8-.5-1.2-.5-4.8-.2-9.9.2-14.7.2l-17.2.1c-5.3 0-9.4 1.1-13.4 4.7-2.6 2.4-5 5.7-6.9 8.5-.2.3-.3.7-.3 1.1 0 1.1.9 1.9 1.9 1.9 1.1 0 1.4-.7 1.9-1.5s1.2-1.6 1.9-2.3c2.6-2.5 6.3-3.8 9.9-3.5-3 8.4-7.3 18.1-13.4 24.7-2.5 2.8-6.8 5.7-7.8 9.5-1 3.9 3 5 6.1 3.8 3.9-1.5 6.2-5.5 8.2-8.9 2.4-4.3 4.5-8.6 6.4-13.2 1.9-4.4 3.8-8.9 5.6-13.3 1.1-2.6 1.5-2.7 4.2-2.7h7.5c-2.8 6.1-5.5 12.3-8 18.6-1.9 4.8-5.3 11.7-2.9 16.9 2.4 5.1 9.2 3.2 12.9.6 3.8-2.6 6.2-6.9 8.3-10.9.4-.7.8-1.6.5-2.4-.3-.7-1-1.2-1.8-1.2-1.7 0-2.1 2.1-2.6 3.4-1 2.1-3.4 4.1-5.8 3.7-5.7-.8-.6-10.9.4-13.6 1-2.8 2.2-5.6 3.4-8.3.7-1.6 1.3-3.2 2.1-4.7 1-2 1-1.9 3.3-2 2-.1 7.5.9 9.2-.2 1.3-.9 2.2-4.2 2.8-6.6.2-.8 0-1.5-.5-1.9z\"}},\ncontact:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M74 29H26c-3.3 0-6 2.7-6 6v29c0 3.3 2.7 6 6 6h48c3.3 0 6-2.7 6-6V35c0-3.3-2.7-6-6-6zM48.6 63H31.4c-1.9 0-3.4-2.1-3.4-4.1.1-3 3.2-4.8 6.5-6.3 2.3-1 2.6-1.9 2.6-2.9s-.6-1.9-1.4-2.6c-1.3-1.2-2.1-3-2.1-5 0-3.8 2.3-7 6.3-7s6.3 3.2 6.3 7c0 2-.7 3.8-2.1 5-.8.7-1.4 1.6-1.4 2.6s.3 1.9 2.6 2.8c3.3 1.4 6.4 3.4 6.5 6.4.2 2-1.3 4.1-3.2 4.1zM72 56c0 1.1-.9 2-2 2h-9c-1.1 0-2-.9-2-2v-3c0-1.1.9-2 2-2h9c1.1 0 2 .9 2 2v3zm0-11c0 1.1-.9 2-2 2H55c-1.1 0-2-.9-2-2v-3c0-1.1.9-2 2-2h15c1.1 0 2 .9 2 2v3z\"}},\ncontact_list:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M26.3 22.7c-4.5 0-8.2 3.5-8.2 7.8v44.3c0 4.3 3.7 7.8 8.2 7.8h43.6c4.5 0 8.2-3.5 8.2-7.8V30.5c0-4.3-3.7-7.8-8.2-7.8H26.3zm10.9 18.2c0 1.4-1.2 2.6-2.7 2.6h-2.7c-1.5 0-2.7-1.2-2.7-2.6v-2.6c0-1.4 1.2-2.6 2.7-2.6h2.7c1.5 0 2.7 1.2 2.7 2.6v2.6zm30 0c0 1.4-1.2 2.6-2.7 2.6H45.4c-1.5 0-2.7-1.2-2.7-2.6v-2.6c0-1.4 1.2-2.6 2.7-2.6h19.1c1.5 0 2.7 1.2 2.7 2.6v2.6zM37.2 54c0 1.4-1.2 2.6-2.7 2.6h-2.7c-1.5 0-2.7-1.2-2.7-2.6v-2.6c0-1.4 1.2-2.6 2.7-2.6h2.7c1.5 0 2.7 1.2 2.7 2.6V54zm25 0c0 1.4-1.2 2.6-2.7 2.6H45.4c-1.5 0-2.7-1.2-2.7-2.6v-2.6c0-1.4 1.2-2.6 2.7-2.6h14.1c1.5 0 2.7 1.2 2.7 2.6V54zm-25 13c0 1.4-1.2 2.6-2.7 2.6h-2.7c-1.5 0-2.7-1.2-2.7-2.6v-2.6c0-1.4 1.2-2.6 2.7-2.6h2.7c1.5 0 2.7 1.2 2.7 2.6V67zm30 0c0 1.4-1.2 2.6-2.7 2.6H45.4c-1.5 0-2.7-1.2-2.7-2.6v-2.6c0-1.4 1.2-2.6 2.7-2.6h19.1c1.5 0 2.7 1.2 2.7 2.6V67z\"}},\ncontact_request:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M48.7 50.9c-.7.2-1.1 1.1-.5 1.7l5.5 5.6c.6.6.6 1.5 0 2.1l-2.1 2.1c-.6.6-1.5.6-2.1 0L36 48.9c-.6-.6-.6-1.5 0-2.1l13.5-13.5c.6-.6 1.5-.6 2.1 0l2.1 2.2c.6.6.6 1.5 0 2.1l-5.6 5.6c-.6.6.5 1.7.5 1.7 12.8.4 22.7 8.8 25.8 20.3 3.3-4.4 5.3-9.8 5.3-15.6-.1-15.5-13.5-27.7-30.1-27.7-16.7 0-30 12.3-30 27.4 0 4.8 1.4 9.3 3.6 13.3.4.6.5 1.4.3 2.1l-3.9 10.7c-.4 1 .6 1.9 1.6 1.6L32 72.9c.6-.3 1.4-.1 2.1.3 4.5 2.5 9.9 4 15.7 4 7.5-.1 14.3-2.7 19.5-6.9-1.2-10.7-9.9-19-20.6-19.4z\"}},\ncontract:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M74.6 33.6L61.4 20.4c-.3-.3-.6-.4-1-.4-.8 0-1.4.6-1.4 1.4V32c0 2.2 1.8 4 4 4h10.6c.8 0 1.4-.6 1.4-1.4 0-.4-.1-.7-.4-1z\"},{\"d\":\"M73 42H59c-3.3 0-6-2.7-6-6V22c0-1.1-.9-2-2-2H31c-3.3 0-6 2.7-6 6v48c0 3.3 2.7 6 6 6h38c3.3 0 6-2.7 6-6V44c0-1.1-.9-2-2-2zm-41-9.4l4.9-.7c.1 0 .3-.1.3-.2l2.2-4.5c.2-.3.6-.3.8 0l2.2 4.5c.1.1.2.2.3.2l4.9.7c.3.1.5.5.2.7l-3.6 3.5c-.1.1-.1.2-.1.4l.8 4.9c.1.3-.3.6-.6.4l-4.4-2.3c-.1-.1-.3-.1-.4 0l-4.4 2.3c-.3.2-.7-.1-.6-.4l.8-4.9c0-.1 0-.3-.1-.4l-3.6-3.5c-.1-.2.1-.6.4-.7zM63 66c0 1.1-.9 2-2 2H35c-1.1 0-2-.9-2-2v-2c0-1.1.9-2 2-2h26c1.1 0 2 .9 2 2v2zm4-12c0 1.1-.9 2-2 2H35c-1.1 0-2-.9-2-2v-2c0-1.1.9-2 2-2h30c1.1 0 2 .9 2 2v2z\"}]},\ncontract_line_item:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M63 36h10.6c.8 0 1.4-.6 1.4-1.4 0-.4-.1-.7-.4-1L61.4 20.4c-.3-.3-.6-.4-1-.4-.8 0-1.4.6-1.4 1.4V32c0 2.2 1.8 4 4 4z\"},{\"d\":\"M73 42H59c-3.3 0-6-2.7-6-6V22c0-1.1-.9-2-2-2H31c-3.3 0-6 2.7-6 6v48c0 3.3 2.7 6 6 6h38c3.3 0 6-2.7 6-6V44c0-1.1-.9-2-2-2zM34.6 68.1c-1.7 0-3.1-1.4-3.1-3.1 0-1.7 1.4-3.1 3.1-3.1 1.7 0 3.1 1.4 3.1 3.1 0 1.7-1.4 3.1-3.1 3.1zm0-12c-1.7 0-3.1-1.4-3.1-3.1 0-1.7 1.4-3.1 3.1-3.1 1.7 0 3.1 1.4 3.1 3.1 0 1.8-1.4 3.1-3.1 3.1zm4.9-15.9l-4.4 2.3c-.3.2-.7-.1-.6-.4l.8-4.9c0-.1 0-.3-.1-.4l-3.6-3.5c-.1-.2.1-.6.4-.7l4.9-.7c.1 0 .3-.1.3-.2l2.2-4.5c.2-.3.6-.3.8 0l2.2 4.5c.1.1.2.2.3.2l4.9.7c.3.1.5.5.2.7l-3.6 3.5c-.1.1-.1.2-.1.4l.8 4.9c.1.3-.3.6-.6.4l-4.4-2.3c-.1-.1-.3-.1-.4 0zM67 66c0 1.1-.9 2-2 2H44.7c-1.1 0-2-.9-2-2v-2c0-1.1.9-2 2-2H65c1.1 0 2 .9 2 2v2zm0-12c0 1.1-.9 2-2 2H44.7c-1.1 0-2-.9-2-2v-2c0-1.1.9-2 2-2H65c1.1 0 2 .9 2 2v2z\"}]}},\ncurrency:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M74.4 30.8H25.6c-3.1 0-5.6 2.5-5.6 5.6v27.2c0 3.1 2.5 5.6 5.6 5.6h48.8c3.1 0 5.6-2.5 5.6-5.6V36.4c0-3.1-2.5-5.6-5.6-5.6zM32.2 63.6c0-3.7-2.9-6.6-6.6-6.6V43c3.7 0 6.6-2.9 6.6-6.6h35.6c0 3.7 2.9 6.6 6.6 6.6v14c-3.7 0-6.6 2.9-6.6 6.6H32.2z\"},\"circle\":{\"cx\":\"50\",\"cy\":\"49.5\",\"r\":\"9.4\"}}},\ncurrency_input:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M62.7 64.8c3.5-5.7 2.8-13.3-2.2-18.2-5.8-5.8-15.2-5.8-21 0-4.9 4.9-5.7 12.5-2.2 18.2h25.4z\"},{\"d\":\"M80 26v48c0 3.3-2.7 6-6 6H26c-3.3 0-6-2.7-6-6V26c0-3.3 2.7-6 6-6h48c3.3 0 6 2.7 6 6zM30 71.9h40c1.1 0 2-.9 2-2V30c0-1.1-.9-2-2-2H30c-1.1 0-2 .9-2 2v39.9c0 1.1.9 2 2 2z\"}]},\ncustom:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M79.2 32.8c-.2-.7-1.101-.9-1.7-.4L67.4 42.5c-.801.8-2 .8-2.801 0l-7.1-7.1c-.8-.8-.8-2 0-2.8l10.2-10.2c.5-.5.3-1.4-.4-1.7C65.6 20.3 63.8 20 62 20c-10.6 0-19.1 9.2-17.9 20 .2 1.7.6 3.2 1.2 4.7L22 68.1c-2.7 2.7-2.7 7.2 0 9.9 1.4 1.4 3.2 2.1 5 2.1s3.6-.699 5-2.1l23.3-23.3c1.5.6 3.101 1 4.7 1.2 10.9 1.2 20-7.3 20-17.9 0-1.8-.3-3.6-.8-5.2z\"}},\ncustom_component_task:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M49.91 50.6L45 45.69a1.36 1.36 0 00-2 0l-1.94 2a1.33 1.33 0 000 1.94L48 56.44a2.7 2.7 0 001.95.83 2.67 2.67 0 001.94-.83L66 42.27a1.34 1.34 0 000-2l-1.94-1.94a1.34 1.34 0 00-1.95 0z\"},{\"d\":\"M71.81 54.15a23.31 23.31 0 000-8.6l4.6-3.9a4.28 4.28 0 001-5.3l-2-3.5a4.11 4.11 0 00-3.6-2 3.19 3.19 0 00-1.4.3l-5.8 2.1a22.35 22.35 0 00-7.4-4.3l-1-5.9a3.92 3.92 0 00-4.1-3.1h-4a3.85 3.85 0 00-4.1 3.1l-1 5.8a21.59 21.59 0 00-7.5 4.3l-5.9-2.1a7 7 0 00-1.4-.3 4.2 4.2 0 00-3.6 2l-2 3.5a4.16 4.16 0 001 5.3l4.6 3.9a20.87 20.87 0 00-.4 4.3 20.24 20.24 0 00.4 4.3L23.61 58a4.28 4.28 0 00-1 5.3l2 3.5a4.11 4.11 0 003.6 2 3.19 3.19 0 001.4-.3l5.8-2.1a22.35 22.35 0 007.4 4.3l1 6a4.1 4.1 0 004.1 3.4h4a4.18 4.18 0 004.1-3.5l1-6a22.06 22.06 0 007.8-4.6l5.4 2.1a8 8 0 001.5.3 4.2 4.2 0 003.6-2l1.9-3.3a3.67 3.67 0 00-.8-5zm-3.39-9.34l-4.55 4.56v.78a13.85 13.85 0 11-6.7-11.81l2.45-2.44a4.84 4.84 0 016.89 0l2 2a4.9 4.9 0 011.43 3.7 4.66 4.66 0 01-1.52 3.21z\"}]}},\ncustom_notification:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M53.77 21.87L50 40.11a1 1 0 001.12 1.12h19.52a2 2 0 011.62 2.87L51 79a1.85 1.85 0 01-3.5-.87l3.75-21.48c0-.75-.62-.5-1.37-.5H29.42c-1.37 0-2.37-2-1.62-3.25L50.28 21a1.86 1.86 0 013.49.87z\"}},\ncustomer_360:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M78.8 50.8c.7-.7.7-1.6.4-2.4-.4-.9-1.2-1.4-2.2-1.4-.7 0-1.3.2-1.9.8l-.5.5c-.9-13.2-11.8-23.6-25.2-23.6-13.9 0-25.2 11.3-25.2 25.2s11.3 25.2 25.2 25.2c11.9 0 21.8-8.2 24.5-19.3l4.9-5zM49.4 70.1c-11.2 0-20.2-9.1-20.2-20.2s9.1-20.2 20.2-20.2c10.6 0 19.3 8.2 20.1 18.6l-.5-.5c-.3-.3-.6-.5-1-.6-1-.4-2-.1-2.7.7-.8 1-.8 2.4.1 3.3l3.6 3.6c-2.1 8.7-10.1 15.3-19.6 15.3z\"},\"g\":{\"path\":{\"d\":\"M61.7 57.1v1.1c0 1.4-1.1 2.5-2.5 2.5H39.5c-1.4 0-2.5-1.1-2.5-2.5v-1.1c0-3 3.5-4.8 6.8-6.2.1 0 .2-.1.3-.2.2-.1.5-.1.8 0 1.3.9 2.8 1.4 4.4 1.4s3.1-.5 4.4-1.3c.2-.2.5-.2.8 0 .1 0 .2.1.3.2 3.4 1.3 6.9 3.1 6.9 6.1z\"},\"ellipse\":{\"cx\":\"49.4\",\"cy\":\"42.8\",\"rx\":\"6.1\",\"ry\":\"6.8\"}}},\ncustomer_lifecycle_analytics:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M57.4 38.4a18.1 18.1 0 11-18.1-18.2 18.12 18.12 0 0118.1 18.2zm-24.8-8.2c-1.3 0-2.3 1.3-2.3 3.1 0 1.6.9 3.1 2.3 3.1s2.3-1.3 2.3-3.1c-.2-1.7-1.1-3.1-2.3-3.1zm13.5 0c-1.3 0-2.3 1.3-2.3 3.1 0 1.6.9 3.1 2.3 3.1s2.3-1.3 2.3-3.1-.9-3.1-2.3-3.1zM28 40.7c.5 5.7 4.7 10.6 11.2 10.6a11.28 11.28 0 0011.5-10.6z\"},{\"d\":\"M79.6 45.4a1.37 1.37 0 00-1.4-1.4l-14.6-.1a1.29 1.29 0 00-1.4 1.3v2.6a1.37 1.37 0 001.4 1.4l4.5.1a.89.89 0 01.6 1.5l-20 20.1a1 1 0 01-.9-.2L37.1 59.8a1.37 1.37 0 00-1.8-.1l-.1.1-1.9 1.9a.1.1 0 01-.1.1L20.6 74.4a1.39 1.39 0 000 1.9l1.9 1.9a1.39 1.39 0 001.9 0l10.4-10.3a1.87 1.87 0 012.6-.1l10.2 10.3a1.17 1.17 0 001.9 0l23.2-23.4a.88.88 0 011.5.6l.1 4.5a1.37 1.37 0 001.4 1.4h2.6a1.29 1.29 0 001.4-1.3z\"}]},\ncustomer_portal_users:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M68 48.8c0 1.1-.9 2-2 2H47.4c-1.1 0-2-.9-2-2v-3c0-1.1.9-2 2-2H66c1.1 0 2 .9 2 2v3zM39.4 48.8c0 1.1-.9 2-2 2H34c-1.1 0-2-.9-2-2v-3c0-1.1.9-2 2-2h3.4c1.1 0 2 .9 2 2v3zM39.4 61.8c0 1.1-.9 2-2 2H34c-1.1 0-2-.9-2-2v-3c0-1.1.9-2 2-2h3.4c1.1 0 2 .9 2 2v3zM68 61.8c0 1.1-.9 2-2 2H47.4c-1.1 0-2-.9-2-2v-3c0-1.1.9-2 2-2H66c1.1 0 2 .9 2 2v3z\"},{\"d\":\"M73.8 20H26.2c-3.4 0-6.2 2.8-6.2 6.2v47.6c0 3.4 2.8 6.2 6.2 6.2h47.6c3.4 0 6.2-2.8 6.2-6.2V26.2c0-3.4-2.8-6.2-6.2-6.2zm-26.4 7.4c0-.8.8-1.4 1.6-1.4h23.4c.8 0 1.4.8 1.4 1.6v3c0 .8-.8 1.4-1.6 1.4H48.8c-.8 0-1.4-.8-1.4-1.6v-3zm-8-1.4c1.7 0 3 1.3 3 3s-1.3 3-3 3-3-1.3-3-3 1.3-3 3-3zM29 26c1.7 0 3 1.3 3 3s-1.3 3-3 3-3-1.3-3-3 1.3-3 3-3zm45 46.6c0 .8-.8 1.4-1.6 1.4H68v-2.3c0-1.1-.9-2-2-2H47.4c-1.1 0-2 .9-2 2V74h-6v-2.3c0-1.1-.9-2-2-2H34c-1.1 0-2 .9-2 2V74h-4.6c-.8 0-1.4-.8-1.4-1.6v-33c0-.8.8-1.4 1.6-1.4h45c.8 0 1.4.8 1.4 1.6v33z\"}]},\ncustomers:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"ellipse\":{\"cx\":\"41.3\",\"cy\":\"42.3\",\"rx\":\"12.2\",\"ry\":\"13.5\"},\"path\":{\"d\":\"M52.6 57.4c-3.1 2.8-7 4.5-11.3 4.5-4.3 0-8.3-1.7-11.3-4.6C24.5 59.8 19 63 19 68v2.1c0 2.5 2 4.5 4.5 4.5h35.7c2.5 0 4.5-2 4.5-4.5V68c-.1-5-5.5-8.1-11.1-10.6zM68 47.4c-.2-.1-.3-.2-.5-.3-.4-.2-.9-.2-1.3.1-2.1 1.3-4.6 2.1-7.2 2.1h-1c-.5 1.3-1 2.6-1.7 3.7.4.2.9.3 1.4.6 5.7 2.5 9.7 5.6 12.5 9.8H75c2.2 0 4-1.8 4-4v-1.9c0-4.9-5.7-7.9-11-10.1zM66.9 34.2c0-4.9-3.6-8.9-7.9-8.9-2.2 0-4.1 1-5.6 2.5 3.5 3.6 5.7 8.7 5.7 14.4v.8c4.3 0 7.8-3.9 7.8-8.8z\"}},\ndashboard:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M50 20c-16.5 0-30 13.5-30 30s13.5 30 30 30 30-13.5 30-30-13.5-30-30-30zm0 8c12.1 0 22 9.9 22 22 0 1-.1 2-.2 3h-8.9c-1 0-1.8.7-2 1.7-.8 5.2-5.4 9.3-10.9 9.3s-10.1-4.1-10.9-9.3c-.1-1-1-1.7-2-1.7h-8.9c-.1-1-.2-2-.2-3 0-12.1 9.9-22 22-22z\"},{\"d\":\"M47.7 57.4c2.4 1.3 5.5.3 6.8-2.1 1.9-3.5 5.5-18.9 4.6-19.3-.9-.5-11.6 11.1-13.4 14.7-1.4 2.4-.5 5.4 2 6.7z\"}]},\ndashboard_ea:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M22.5 19.7h20c1.4 0 2.5 1.1 2.5 2.5v54.9c0 1.4-1.1 2.5-2.5 2.5h-20c-1.4 0-2.5-1.1-2.5-2.5V22.2c0-1.4 1.1-2.5 2.5-2.5zM57.5 19.6h20c1.4 0 2.5 1.1 2.5 2.5V42c0 1.4-1.1 2.5-2.5 2.5h-20c-1.4 0-2.5-1.1-2.5-2.5V22.1c0-1.4 1.1-2.5 2.5-2.5zM57.5 54.6h20c1.4 0 2.5 1.1 2.5 2.5V77c0 1.4-1.1 2.5-2.5 2.5h-20c-1.4 0-2.5-1.1-2.5-2.5V57.1c0-1.3 1.1-2.5 2.5-2.5z\"}},\ndata_integration_hub:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M73.9 27c-3.9 0-7.1 3.2-7.1 7.1 0 .6.1 1.1.2 1.6l-6.7 4.4c-2.1-2.4-5.1-4-8.6-4-2.6 0-5 .9-6.9 2.4l-11-7.6c.7-2.9-.8-6.1-3.6-7.4-3.3-1.5-7.2-.1-8.7 3.1s-.1 7.2 3.1 8.7c1.7.8 3.6.8 5.3.1l11.3 7.9c-.5 1.2-.8 2.6-.8 4 0 .8.1 1.5.2 2.3l-6.9 2.5c-.9-1-2.1-1.8-3.6-2.2-3.9-1.1-8 1.2-9.1 5.2-1.1 3.9 1.2 8 5.2 9.1 3.9 1.1 8-1.2 9.1-5.2.1-.4.2-.8.2-1.2l7.9-2.8c2.1 2.2 5 3.6 8.2 3.6h.9l1.1 5.6c-2.1 1.7-3.3 4.4-3 7.2.4 4.6 4.5 7.9 9.1 7.5 4.6-.4 7.9-4.5 7.5-9.1-.4-4.1-3.7-7.2-7.7-7.5l-1.2-5.9c2.8-2 4.7-5.4 4.7-9.1 0-.6-.1-1.2-.1-1.7l7.9-5.2c1 .5 2.1.8 3.2.8 3.9 0 7.1-3.2 7.1-7.1-.1-3.9-3.3-7.1-7.2-7.1zM51.7 54.6c-4 0-7.2-3.2-7.2-7.2s3.2-7.2 7.2-7.2 7.2 3.2 7.2 7.2c0 3.9-3.2 7.2-7.2 7.2z\"},\"circle\":{\"cx\":\"51.8\",\"cy\":\"47.4\",\"r\":\"3.2\"}}},\ndata_mapping:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M73.12 43.75a6.88 6.88 0 11-6.12 10h-1.14c-6.74.08-9.11 2.12-12.88 9.18l-.22.4-.25.48C50.27 68 49 69.94 46.69 72c-3.24 2.84-7.42 4.29-12.94 4.29H33A6.88 6.88 0 1133 70h1.14c6.86-.08 9.2-2.2 13.1-9.58l.25-.48a34.38 34.38 0 013.88-6.19H33a6.88 6.88 0 110-6.25h34a6.86 6.86 0 015.85-3.74zm0-23.75A6.88 6.88 0 1167 30H33a6.88 6.88 0 110-6.25h34A6.86 6.86 0 0173.12 20z\"}},\ndata_model:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M72.7 65.8a6.6 6.6 0 00-3.2.8l-8.8-6.5a11.36 11.36 0 001.2-5.2A11.91 11.91 0 0053 43.4v-10a7 7 0 004-6.2 6.9 6.9 0 10-13.8 0 6.73 6.73 0 004 6.2v10a11.91 11.91 0 00-8.9 11.5 11.36 11.36 0 001.2 5.2l-8.8 6.5a7.22 7.22 0 00-3.2-.8 6.9 6.9 0 106.9 6.9c0-.5-.1-.9-.1-1.3l9.2-6.8a11.61 11.61 0 0013.6 0l9.2 6.8a5.7 5.7 0 00-.1 1.3 6.9 6.9 0 0013.8 0 7.41 7.41 0 00-7.3-6.9zm-21.3-5.1a6.75 6.75 0 01-1.4.2 6.1 6.1 0 01-5.7-4.4 7.72 7.72 0 01-.2-1.5 5.81 5.81 0 013-5.1 6 6 0 016 0 5.81 5.81 0 013 5.1 7.72 7.72 0 01-.2 1.5 6.54 6.54 0 01-4.5 4.2z\"}},\ndata_streams:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M68.8 20.3a10.9 10.9 0 11-10.5 13.9h-.4a5 5 0 00-5 5v4.3l6.3 6.3a1.93 1.93 0 010 2.8L57.9 54a1.93 1.93 0 01-2.8 0L53 51.9v9a10.85 10.85 0 01-10.5 10.9h-.8a10.91 10.91 0 11-10.5-13.9 11 11 0 0110.5 7.9h.4a5 5 0 005-5v-8.7L45.3 54a1.93 1.93 0 01-2.8 0l-1.4-1.4a1.93 1.93 0 010-2.8l5.9-5.9v-4.7a10.85 10.85 0 0110.5-10.9h.8a10.83 10.83 0 0110.5-8zM31.2 63.9a5 5 0 00-5 5 5 5 0 0010 0 5 5 0 00-5-5zm37.6-37.7a5 5 0 00-5 5 5 5 0 1010 0 5 5 0 00-5-5z\"}},\ndatadotcom:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M71.1 80h-6.8c-.4-2.4-.6-4.6-.6-6.5h-.1c-3.2 5.1-8.4 7.7-15.6 7.7-6.1 0-10.9-2-14.2-6.3-3.3-4.2-4.9-9.7-4.9-16.3 0-4.3.8-8.2 2.4-11.6s4-6.3 7-8.2c3.1-2 6.6-3.1 10.7-3.1 5.9 0 10.6 1.9 14.2 5.6V20h7.2v50.6c0 3 .3 6.2.7 9.4zm-7.9-18.5V47.8c-1.7-2.2-3.6-3.7-5.7-4.9-2.2-1-4.6-1.5-7.4-1.5-4.2 0-7.5 1.5-10 4.7s-3.6 7.3-3.6 12.3c0 5.2 1.1 9.3 3.4 12.4s5.6 4.6 9.7 4.6 7.4-1.3 9.8-4c2.6-2.5 3.8-5.8 3.8-9.9z\"}},\ndataset:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M52 20.6l23.4 11.5c1.6.8 2.6 2.4 2.6 4.1V63c0 1.8-1 3.4-2.6 4.1L52 78.6c-1.3.6-2.8.6-4.1 0L24.6 67.1C23 66.3 22 64.7 22 63V36.2c0-1.8 1-3.4 2.6-4.1L48 20.6c1.2-.6 2.8-.6 4 0z\"}},\ndate_input:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M76 42H24c-1.1 0-2 .9-2 2v30c0 3.3 2.7 6 6 6h44c3.3 0 6-2.7 6-6V44c0-1.1-.9-2-2-2zM40 70c0 1.1-.9 2-2 2h-4c-1.1 0-2-.9-2-2v-4c0-1.1.9-2 2-2h4c1.1 0 2 .9 2 2v4zm14 0c0 1.1-.9 2-2 2h-4c-1.1 0-2-.9-2-2v-4c0-1.1.9-2 2-2h4c1.1 0 2 .9 2 2v4zm0-14c0 1.1-.9 2-2 2h-4c-1.1 0-2-.9-2-2v-4c0-1.1.9-2 2-2h4c1.1 0 2 .9 2 2v4zm14 0c0 1.1-.9 2-2 2h-4c-1.1 0-2-.9-2-2v-4c0-1.1.9-2 2-2h4c1.1 0 2 .9 2 2v4zm4-30h-5v-2c0-2.2-1.8-4-4-4s-4 1.8-4 4v2H41v-2c0-2.2-1.8-4-4-4s-4 1.8-4 4v2h-5c-3.3 0-6 2.7-6 6v2c0 1.1.9 2 2 2h52c1.1 0 2-.9 2-2v-2c0-3.3-2.7-6-6-6z\"}},\ndate_time:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M72 26h-5v-2c0-2.2-1.8-4-4-4s-4 1.8-4 4v2H41v-2c0-2.2-1.8-4-4-4s-4 1.8-4 4v2h-5c-3.3 0-6 2.7-6 6v2c0 1.1.9 2 2 2h52c1.1 0 2-.9 2-2v-2c0-3.3-2.7-6-6-6zM76 42H24c-1.1 0-2 .9-2 2v30c0 3.3 2.7 6 6 6h44c3.3 0 6-2.7 6-6V44c0-1.1-.9-2-2-2zM50 75.9c-8.2 0-14.9-6.7-14.9-14.9S41.8 46.1 50 46.1 64.9 52.8 64.9 61 58.2 75.9 50 75.9z\"},{\"d\":\"M51.5 60.4V54c0-.5-.4-1-1-1h-1c-.5 0-1 .4-1 1v7c0 .4.1.8.4 1l4.8 4.8c.4.4 1 .4 1.4 0l.7-.7c.4-.4.4-1 0-1.4l-4.3-4.3z\"}]},\ndecision:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M79.4 28.8l-5.2-3.9c-.8-.5-1.5-.8-2.4-.8H54V22c0-1.1-.9-2-2-2h-4c-1.1 0-2 .9-2 2v2H26c-1.1 0-2 .9-2 2v8c0 1.1.9 2 2 2h45.8c.9 0 1.8-.2 2.4-.8l5.2-3.9c.8-.7.8-1.9 0-2.5zM74 46H54v-3c0-.6-.4-1-1-1h-6c-.6 0-1 .4-1 1v3H28.3c-.9 0-1.8.2-2.4.8l-5.2 3.9c-.9.6-.9 1.9 0 2.6l5.2 3.9c.8.5 1.5.8 2.4.8H74c1.1 0 2-.9 2-2v-8c0-1.1-.9-2-2-2zM54 71.6v-4.9c0-.6-.4-1-1-1h-6c-.6 0-1 .4-1 1v4.9c-4 1.1-6.2 3.5-6.9 6.5-.2.9.5 1.9 1.5 1.9h18.9c1 0 1.8-.9 1.5-1.9-.7-3-3-5.3-7-6.5z\"}},\ndefault:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"opacity\":\".5\",\"d\":\"M44.6 32.8c2.1-2.1 4.9-3.4 8.1-3.4 4.2 0 7.9 2.3 9.9 5.7 1.7-.7 3.6-1.2 5.6-1.2C75.8 34 82 40.1 82 47.6c0 7.6-6.2 13.7-13.8 13.7-.9 0-1.8-.1-2.7-.3-1.7 3-5 5.1-8.8 5.1-1.6 0-3.1-.4-4.4-1-1.8 4-5.8 6.9-10.6 6.9-5 0-9.2-3.1-10.8-7.4-.7.1-1.4.2-2.2.2-5.9 0-10.7-4.7-10.7-10.6 0-3.9 2.1-7.4 5.3-9.2-.7-1.5-1-3.1-1-4.8 0-6.7 5.6-12.2 12.4-12.2 4.1 0 7.7 1.9 9.9 4.8\"}},\ndelegated_account:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M76.8 42.4H54.3c-2 0-2.3 2.1-2.3 2.3v34.2h26.8V45.2c.2-2.2-1.4-2.8-2-2.8zM63.4 73c0 1.1-.9 2.1-2.1 2.1h-2.1c-1.1 0-2.1-.9-2.1-2.1v-2.1c0-1.1.9-2.1 2.1-2.1h2.1c1.1 0 2.1.9 2.1 2.1V73zm0-10.5c0 1.1-.9 2.1-2.1 2.1h-2.1c-1.1 0-2.1-.9-2.1-2.1v-2.1c0-1.1.9-2.1 2.1-2.1h2.1c1.1 0 2.1.9 2.1 2.1v2.1zm0-10.5c0 1.1-.9 2.1-2.1 2.1h-2.1c-1.1 0-2.1-.9-2.1-2.1v-2.1c0-1.1.9-2.1 2.1-2.1h2.1c1.1 0 2.1.9 2.1 2.1V52zm10.3 21c0 1.1-.9 2.1-2.1 2.1h-2.1c-1.1 0-2.1-.9-2.1-2.1v-2.1c0-1.1.9-2.1 2.1-2.1h2.1c1.1 0 2.1.9 2.1 2.1V73zm0-10.5c0 1.1-.9 2.1-2.1 2.1h-2.1c-1.1 0-2.1-.9-2.1-2.1v-2.1c0-1.1.9-2.1 2.1-2.1h2.1c1.1 0 2.1.9 2.1 2.1v2.1zm0-10.5c0 1.1-.9 2.1-2.1 2.1h-2.1c-1.1 0-2.1-.9-2.1-2.1v-2.1c0-1.1.9-2.1 2.1-2.1h2.1c1.1 0 2.1.9 2.1 2.1V52z\"},{\"d\":\"M56 19.2H21.3c-2 0-2.3 2.1-2.3 2.3v57.3h26.8V38.6s0-2.5 2.3-2.5h8c.9-.1 2-.5 2-2.1V22c.1-2.2-1.4-2.8-2.1-2.8zM30.4 72.1c0 1.1-.9 2.1-2.1 2.1h-2.1c-1.1 0-2.1-.9-2.1-2.1V70c0-1.1.9-2.1 2.1-2.1h2.1c1.1 0 2.1.9 2.1 2.1v2.1zm0-10.6c0 1.1-.9 2.1-2.1 2.1h-2.1c-1.1 0-2.1-.9-2.1-2.1v-2.1c0-1.1.9-2.1 2.1-2.1h2.1c1.1 0 2.1.9 2.1 2.1v2.1zm0-10.6c0 1.1-.9 2.1-2.1 2.1h-2.1c-1.1 0-2.1-.9-2.1-2.1v-2.1c0-1.1.9-2.1 2.1-2.1h2.1c1.1 0 2.1.9 2.1 2.1v2.1zm0-10.6c0 1.1-.9 2.1-2.1 2.1h-2.1c-1.1 0-2.1-.9-2.1-2.1v-2.1c0-1.1.9-2.1 2.1-2.1h2.1c1.1 0 2.1.9 2.1 2.1v2.1zm0-10.5c0 1.1-.9 2.1-2.1 2.1h-2.1c-1.1 0-2.1-.9-2.1-2.1v-2.1c0-1.1.9-2.1 2.1-2.1h2.1c1.1 0 2.1.9 2.1 2.1v2.1zm11.3 42.3c0 1.1-.9 2.1-2.1 2.1h-2.1c-1.1 0-2.1-.9-2.1-2.1V70c0-1.1.9-2.1 2.1-2.1h2.1c1.1 0 2.1.9 2.1 2.1v2.1zm0-10.6c0 1.1-.9 2.1-2.1 2.1h-2.1c-1.1 0-2.1-.9-2.1-2.1v-2.1c0-1.1.9-2.1 2.1-2.1h2.1c1.1 0 2.1.9 2.1 2.1v2.1zm0-10.6c0 1.1-.9 2.1-2.1 2.1h-2.1c-1.1 0-2.1-.9-2.1-2.1v-2.1c0-1.1.9-2.1 2.1-2.1h2.1c1.1 0 2.1.9 2.1 2.1v2.1zm0-10.6c0 1.1-.9 2.1-2.1 2.1h-2.1c-1.1 0-2.1-.9-2.1-2.1v-2.1c0-1.1.9-2.1 2.1-2.1h2.1c1.1 0 2.1.9 2.1 2.1v2.1zm0-10.5c0 1.1-.9 2.1-2.1 2.1h-2.1c-1.1 0-2.1-.9-2.1-2.1v-2.1c0-1.1.9-2.1 2.1-2.1h2.1c1.1 0 2.1.9 2.1 2.1v2.1zm11.4 0c0 1.1-1 2.1-2.1 2.1h-2.1c-1.1 0-2.1-.9-2.1-2.1v-2.1c0-1.1.9-2.1 2.1-2.1H51c1.1 0 2.1.9 2.1 2.1v2.1zM79.5 30.5c-.6-.5-1.6-.4-2.1.2l-.8 1c-.7-6.1-5.2-8.6-8.6-9.4l.8-.5c.7-.4.9-1.4.5-2.1s-1.4-.9-2.1-.5l-4 2.6c-.4.2-.6.6-.7 1s0 .8.3 1.2l3.3 4.2c.3.4.7.6 1.2.6.3 0 .7-.1.9-.3.7-.5.8-1.5.3-2.1l-.8-1.1c2.1.5 5.4 2.2 5.9 6.8l-.7-.8c-.6-.6-1.5-.6-2.1 0s-.6 1.5 0 2.1l3.3 3.4c.3.3.7.4 1.1.4h.1c.4 0 .8-.2 1.1-.5l3.4-4.2c.4-.5.3-1.5-.3-2z\"}]}},\ndevice:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M56.59 37.92H53.3v-3.3a2.2 2.2 0 00-2.2-2.19h-2.2a2.2 2.2 0 00-2.2 2.19v3.3h-3.29a2.21 2.21 0 00-2.2 2.2v2.19a2.21 2.21 0 002.2 2.2h3.29v3.3A2.21 2.21 0 0048.9 50h2.2a2.21 2.21 0 002.2-2.2v-3.3h3.29a2.21 2.21 0 002.2-2.2v-2.18a2.21 2.21 0 00-2.2-2.2z\"},{\"d\":\"M79.6 25.33a5 5 0 00-4.93-4.93H25.33a5 5 0 00-4.93 4.93V57.4a5 5 0 004.93 4.93h49.34a5 5 0 004.93-4.93zm-7.4 27.75a1.89 1.89 0 01-1.85 1.85h-40.7a1.89 1.89 0 01-1.85-1.85V29.65a1.89 1.89 0 011.85-1.85h40.7a1.89 1.89 0 011.85 1.85zM58.63 72.2h-3.7A1.16 1.16 0 0153.7 71v-2.5a1.16 1.16 0 00-1.23-1.23h-4.94a1.16 1.16 0 00-1.23 1.23V71a1.16 1.16 0 01-1.23 1.23h-3.7a5 5 0 00-4.94 4.93v.62a1.9 1.9 0 001.85 1.85h23.44a1.9 1.9 0 001.85-1.85v-.62a5 5 0 00-4.94-4.96z\"}]}},\ndisplay_rich_text:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M22 71.8h56c1.1 0 2 .9 2 2v4c0 1.1-.9 2-2 2H22c-1.1 0-2-.9-2-2v-4c0-1.1.9-2 2-2zM22 53.8h56c1.1 0 2 .9 2 2v4c0 1.1-.9 2-2 2H22c-1.1 0-2-.9-2-2v-4c0-1.1.9-2 2-2zM57.6 35.8H78c1.1 0 2 .9 2 2v4c0 1.1-.9 2-2 2H57.6c-1.1 0-2-.9-2-2v-4c0-1.1.9-2 2-2zM47.6 44.4L38.1 21c-.2-.4-.6-.7-1.1-.7h-7.2c-.4 0-.9.3-1 .7L20 44.4c-.1.4.1 1 .7 1h4.6c.4 0 .9-.4 1-.8l1.8-5h11.1l2 5c.1.4.6.8 1 .8h4.6c.6 0 .9-.5.8-1zM30.2 33.6l2.9-7.4h.6l3.2 7.4h-6.7z\"}},\ndisplay_text:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M72.3 20.1H27.8c-4.3 0-7.8 3.5-7.8 7.8v44.3c0 4.3 3.5 7.8 7.8 7.8h44.4c4.3 0 7.8-3.5 7.8-7.8V27.9c.1-4.3-3.4-7.8-7.7-7.8zm-41.9 13c0-1.4 1.2-2.6 2.6-2.6h29.2c1.4 0 2.6 1.2 2.6 2.6v2.7c0 1.4-1.1 2.6-2.5 2.6H33c-1.4 0-2.6-1.2-2.6-2.6v-2.7zm30.8 34c0 1.4-1.1 2.6-2.5 2.6H33c-1.4 0-2.6-1.2-2.6-2.6v-2.6c0-1.4 1.2-2.6 2.6-2.6h25.6c1.4 0 2.6 1.2 2.6 2.6v2.6zm8.4-15.7c0 1.4-1.1 2.6-2.5 2.6H33c-1.4 0-2.6-1.2-2.6-2.6v-2.6c0-1.4 1.2-2.6 2.6-2.6h34c1.4 0 2.6 1.2 2.6 2.6v2.6z\"}},\ndocument:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M73 42H59c-3.3 0-6-2.7-6-6V22c0-1.1-.9-2-2-2H31c-3.3 0-6 2.7-6 6v48c0 3.3 2.7 6 6 6h38c3.3 0 6-2.7 6-6V44c0-1.1-.9-2-2-2z\"},{\"d\":\"M74.6 33.6L61.4 20.4c-.3-.3-.6-.4-1-.4-.8 0-1.4.6-1.4 1.4V32c0 2.2 1.8 4 4 4h10.6c.8 0 1.4-.6 1.4-1.4 0-.4-.1-.7-.4-1z\"}]},\ndocument_reference:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M71.4 69.89l-2.58 5.23a1.5 1.5 0 01-1.34.84h-.08a1.5 1.5 0 01-1.33-1l-3.26-8.83-1.45 3A1.51 1.51 0 0160 70h-5.53a11.12 11.12 0 0022-.1z\"},{\"d\":\"M59.07 67l2.57-5.31a1.49 1.49 0 011.43-.85 1.53 1.53 0 011.33 1l3.27 8.85 1.45-2.93a1.5 1.5 0 011.34-.84h6A11.12 11.12 0 0054.4 67z\"},{\"d\":\"M51.35 68.4a14.16 14.16 0 011.15-5.59h-12a1.7 1.7 0 01-1.7-1.7v-1.69a1.7 1.7 0 011.7-1.7h15.75a14.06 14.06 0 019.23-3.46h.44V40.83a1.69 1.69 0 00-1.69-1.69H52.35A5.11 5.11 0 0147.26 34V22.16a1.71 1.71 0 00-1.7-1.69h-17a5.1 5.1 0 00-5.09 5.09v40.73a5.1 5.1 0 005.09 5.09h23.11a14.23 14.23 0 01-.32-2.98zm6.09-19.17a1.71 1.71 0 011.7 1.7v1.7a1.71 1.71 0 01-1.7 1.69h-17a1.71 1.71 0 01-1.7-1.69v-1.7a1.7 1.7 0 011.7-1.7h17zM35.38 61.11a1.7 1.7 0 01-1.7 1.7H32a1.7 1.7 0 01-1.7-1.7v-1.69a1.7 1.7 0 011.7-1.7h1.7a1.7 1.7 0 011.7 1.7zm0-8.48a1.71 1.71 0 01-1.7 1.69H32a1.71 1.71 0 01-1.7-1.69v-1.7a1.71 1.71 0 011.7-1.7h1.7a1.71 1.71 0 011.7 1.7zM38 42.53a1.71 1.71 0 01-1.7 1.7h-1.7a1.71 1.71 0 01-1.69-1.7v-3.39h-3.4a1.71 1.71 0 01-1.7-1.7v-1.7a1.71 1.71 0 011.7-1.7h3.4v-3.39a1.7 1.7 0 011.7-1.65h1.7A1.71 1.71 0 0138 30.7V34h3.4a1.71 1.71 0 011.7 1.7v1.7a1.71 1.71 0 01-1.7 1.7H38z\"},{\"d\":\"M55.74 34h9a1.15 1.15 0 001.18-1.12v-.06a1.09 1.09 0 00-.34-.85l-11.2-11.2a1.05 1.05 0 00-.84-.34 1.16 1.16 0 00-1.19 1.13v9.06A3.39 3.39 0 0055.74 34z\"}]},\ndrafts:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M73 20H41c-3.3 0-6 2.7-6 6v1c0 .6.4 1 1 1h29c3.3 0 6 2.7 6 6v31c0 .6.4 1 1 1h1c3.3 0 6-2.7 6-6V26c0-3.3-2.7-6-6-6z\"},{\"d\":\"M59 34H27c-3.3 0-6 2.7-6 6v34c0 3.3 2.7 6 6 6h32c3.3 0 6-2.7 6-6V40c0-3.3-2.7-6-6-6zM29 44c0-1.1.9-2 2-2h20c1.1 0 2 .9 2 2v2c0 1.1-.9 2-2 2H31c-1.1 0-2-.9-2-2v-2zm24 26c0 1.1-.9 2-2 2H31c-1.1 0-2-.9-2-2v-2c0-1.1.9-2 2-2h20c1.1 0 2 .9 2 2v2zm4-12c0 1.1-.9 2-2 2H31c-1.1 0-2-.9-2-2v-2c0-1.1.9-2 2-2h24c1.1 0 2 .9 2 2v2z\"}]},\nduration_downscale:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M39.82 20H26.61C23 20 20 22.69 20 26v10c0 3.31 3 6 6.61 6h13.21c3.6 0 6.6-2.69 6.6-6V26c0-3.31-2.96-6-6.6-6zm-5.51 16h-2.2a5.27 5.27 0 01-5.5-5 5.27 5.27 0 015.5-5h2.2a5.28 5.28 0 015.51 5 5.28 5.28 0 01-5.51 5zM59.63 42h13.21c3.61 0 6.61-2.69 6.61-6V26c0-3.31-3-6-6.61-6H59.6C56 20 53 22.69 53 26v10c0 3.31 3 6 6.63 6zm5.51-16h2.2a5.27 5.27 0 015.5 5 5.27 5.27 0 01-5.5 5h-2.2a5.28 5.28 0 01-5.51-5 5.28 5.28 0 015.51-5zM39.82 48H26.61C23 48 20 50.69 20 54v10c0 3.31 3 6 6.61 6h13.21c3.6 0 6.6-2.69 6.6-6V54c0-3.31-2.96-6-6.6-6zm-5.51 16h-2.2a5 5 0 010-10h2.2a5 5 0 010 10zM79.78 67.63a1.15 1.15 0 00-.27-.27l-2.31-1.9a1.78 1.78 0 00-2.3 0L71 68.69c-.66.56-1.81.21-1.81-.63V49.4a1.6 1.6 0 00-1.62-1.4h-3.29a1.65 1.65 0 00-1.65 1.4v18.66c0 .84-1.15 1.19-1.81.63L57 65.46a1.8 1.8 0 00-2.31 0l-2.27 1.9a1.15 1.15 0 00-.29 1.6 1.33 1.33 0 00.29.29l12.35 10.33a1.78 1.78 0 002.3 0l12.44-10.33a1.17 1.17 0 00.27-1.62z\"}},\ndynamic_record_choice:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M43.5 71.4V71C34.5 68.2 28 59.9 28 50c0-12.1 9.9-22 22-22s22 9.9 22 22c0 2-.3 4-.8 5.9l.9.6c.4 0 .7-.1 1.1-.1 2 0 4 .6 5.6 1.5.7-2.5 1.1-5.2 1.1-8 0-16.5-13.5-30-30-30s-30 13.5-30 30c0 15.9 12.4 28.9 28 29.9-2.6-1.8-4.4-4.9-4.4-8.4z\"},{\"d\":\"M56.7 53.5c1.9 0 3.7.5 5.3 1.3l1.2-.3c.5-1.4.8-2.9.8-4.5 0-7.7-6.2-13.9-13.9-13.9S36.2 42.3 36.2 50c0 6.2 4 11.4 9.6 13.3.6-5.6 5.2-9.8 10.9-9.8z\"},{\"d\":\"M61.6 60.8c1-1 2.4-1.7 4-1.7 2.1 0 3.9 1.1 4.9 2.8.8-.3 1.8-.6 2.8-.6 3.7 0 6.8 3.1 6.8 6.7 0 3.7-3.1 6.7-6.8 6.7-.4 0-.9 0-1.3-.1-.8 1.5-2.5 2.5-4.3 2.5-.8 0-1.5-.2-2.2-.5-.9 2-2.9 3.4-5.2 3.4-2.5 0-4.5-1.5-5.3-3.6-.3 0-.7.1-1.1.1-2.9 0-5.3-2.3-5.3-5.2 0-1.9 1-3.6 2.6-4.5-.3-.7-.5-1.5-.5-2.4 0-3.3 2.8-6 6.1-6 1.9.1 3.7 1 4.8 2.4z\"}]},\neducation:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M49.9 51.1c-1.5.1-2.9-.5-4.4-1-7.9-2.6-15.8-5.2-23.6-7.9-.5-.2-.9-.4-1.3-.7-.5-.4-.5-.9 0-1.3.4-.3.9-.6 1.4-.7 8.4-2.5 16.8-5 25.2-7.6 1.9-.6 3.8-.6 5.8 0 8.3 2.5 16.7 5 25 7.5.5.2 1 .4 1.5.7.6.4.6 1 0 1.4-.4.3-.8.5-1.2.6-8.3 2.8-16.7 5.6-25.1 8.3-1.1.5-2.1.7-3.3.7zM33.3 51.5c-1.2-.3-1.5.5-1.5 1.1v9.5c0 1.1.4 1.8 1.1 2.5.3.3.6.5.9.7 2 1.4 4.3 2.3 6.7 2.9 4.7 1.3 9.5 1.5 14.3.9 3.1-.4 6.2-1.2 9.1-2.5 1.3-.6 2.5-1.3 3.4-2.3.6-.6.9-1.2.8-2.1.1-3 .1-6.1.1-9.2 0-1.7-1.2-1.5-1.7-1.4-4.4 1.5-8.9 2.9-13.3 4.4-2.2.7-4.3.7-6.5 0l-13.4-4.5zM74.9 48.6c-.4.1-.5.3-.5.7v8.4c0 .3-.1.6-.2.9-.6 1.5-1.3 3-1.8 4.5-.5 1.4-.2 2.8.8 3.9.3.4.7.7 1.1 1 .4.3 1 .5 1.5.6.9.1 1.6-.4 2.2-.9l.9-.9c.7-.9.9-2.2.6-3.4-.4-1.7-1.1-3.2-1.9-4.7-.2-.3-.3-.7-.3-1v-9.2c0-.6-.5-.5-.7-.4l-1.7.5z\"}}},\neinstein_replies:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M50 22.4c-16.7 0-30 12.3-30 27.4 0 4.8 1.4 9.3 3.6 13.3.4.6.5 1.4.3 2.1L20 75.9c-.4 1 .6 1.9 1.6 1.6l10.9-4.1c.6-.3 1.4-.1 2.1.3 4.5 2.5 9.9 4 15.7 4 16.4-.2 29.8-12.3 29.8-27.6C80 34.6 66.6 22.4 50 22.4zm13.3 24.5l-7 5.2c-.3.2-.4.6-.3 1l3.3 8.8c.2.8-.6 1.5-1.3 1l-7.5-5.6c-.3-.2-.7-.2-1 0l-7.6 5.6c-.7.5-1.6-.2-1.3-1l3.2-8.8c.1-.3 0-.7-.3-1l-7-5.2c-.7-.5-.3-1.7.5-1.7h8.6c.4 0 .7-.1.8-.5l2.7-8.7c.2-.8 1.4-.7 1.6.1l2.6 8.6c.1.3.5.5.8.5h8.6c1 0 1.3 1.2.6 1.7z\"}},\nemail:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M48.7 55c.8.7 1.9.7 2.7 0l28.3-26.2c.5-1 .4-2.6-1.6-2.6l-56 .1c-1.5 0-2.7 1.4-1.6 2.6L48.7 55z\"},{\"d\":\"M80 40c0-1.3-1.6-2-2.5-1.1l-22 20.4c-1.5 1.4-3.4 2.1-5.4 2.1s-3.9-.7-5.4-2.1L22.6 38.9c-1-.9-2.5-.2-2.5 1.1v26c0 3.3 2.7 6 6 6h48c3.3 0 6-2.7 6-6-.1 0-.1-18-.1-26z\"}]},\nemail_chatter:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M48.7 55c.8.7 1.9.7 2.7 0l28.3-26.2c.5-1 .4-2.6-1.6-2.6l-56 .1c-1.5 0-2.7 1.4-1.6 2.6L48.7 55z\"},{\"d\":\"M80 40c0-1.3-1.6-2-2.5-1.1l-22 20.4c-1.5 1.4-3.4 2.1-5.4 2.1s-3.9-.7-5.4-2.1L22.6 38.9c-1-.9-2.5-.2-2.5 1.1v26c0 3.3 2.7 6 6 6h48c3.3 0 6-2.7 6-6-.1 0-.1-18-.1-26z\"}]},\nemployee:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M72.1 46.7c-3-13.8-17.7-23.9-20.6-25.9-.1-.1-.2-.1-.4-.2a3.31 3.31 0 00-2.4 0c-.1 0-.1.1-.2.1-2.9 1.9-17.5 12-20.6 25.8a22.18 22.18 0 004.4 19.1 24.46 24.46 0 0014.7 9l-1.5 2.6a2.48 2.48 0 000 1.7 1.72 1.72 0 001.5.9h6.1a2 2 0 001.5-.9 2.48 2.48 0 000-1.7l-1.5-2.6a24 24 0 0014.7-9 22.33 22.33 0 004.3-18.9zm-8.3 15.7c-.5.6-1.1 1.2-1.7 1.9a13 13 0 00-12-8h-.4a12.29 12.29 0 00-11.7 8c-.6-.6-1.1-1.2-1.7-1.9a17.38 17.38 0 01-3.5-14.7C35.2 37.1 46.1 28.5 50 25.9c3.9 2.7 14.8 11.3 17.2 21.9a16.56 16.56 0 01-3.4 14.6z\"},\"circle\":{\"cx\":\"50\",\"cy\":\"46.3\",\"r\":\"8.4\"}},\nemployee_asset:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M74.8 20.3H25.2a5 5 0 00-5 5v34.3a5 5 0 005 5h49.5a5 5 0 005-5V25.2a4.91 4.91 0 00-4.9-4.9zm-2.5 34.9a2 2 0 01-1.9 1.9H29.6a1.9 1.9 0 01-1.9-1.9V29.6a2 2 0 011.9-1.9h40.7a2 2 0 012 1.9zM41.3 72.3a5 5 0 00-5 5v.6a2 2 0 001.9 1.9h23.5a2 2 0 001.9-1.9v-.6a5 5 0 00-5-5z\"},{\"d\":\"M50.2 44.4h-.4a8.83 8.83 0 00-8.7 7.5c0 .4.1 1.2 1.5 1.2h14.9c1.4 0 1.5-.9 1.5-1.2a9 9 0 00-8.8-7.5z\"}],\"circle\":{\"cx\":\"50.1\",\"cy\":\"37.6\",\"r\":\"5.8\"}},\nemployee_contact:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M73.8 29.7H26.3a6 6 0 00-6 6v28.6a6 6 0 006 6h47.4a6 6 0 006-6V35.7a6.13 6.13 0 00-5.9-6zm-34.9 5.4a7.6 7.6 0 11-7.6 7.6 7.66 7.66 0 017.6-7.6zm9.8 28.3H29.2c-1.7 0-2-1.1-2-1.6a11.45 11.45 0 0111.4-9.9h.4a11.45 11.45 0 0111.4 9.9c.3.5 0 1.6-1.7 1.6zm23.1-6.9a2 2 0 01-2 2H61a2 2 0 01-2-2v-3a2 2 0 012-2h8.8a2 2 0 012 2zm0-11a2 2 0 01-2 2H55a2 2 0 01-2-2v-3a2 2 0 012-2h14.8a2 2 0 012 2z\"}},\nemployee_job:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"circle\":{\"cx\":\"44.6\",\"cy\":\"36.3\",\"r\":\"16\"},\"path\":{\"d\":\"M48.8 79.6c2.7 0 1.2-1.9 1.2-1.9a19.58 19.58 0 01-2.5-20.1l.2-.4a1.17 1.17 0 00-.9-1.9 18.48 18.48 0 00-2.4-.1 24.26 24.26 0 00-24 20.9c0 1.2.4 3.5 4.2 3.5h24.2zM65.2 51.2a14.2 14.2 0 1014.2 14.2 14.25 14.25 0 00-14.2-14.2zM60.4 74a3.5 3.5 0 113.5-3.5 3.54 3.54 0 01-3.5 3.5zm3.5-11.9a1.27 1.27 0 01-.4.7l-2.7 1.5a.48.48 0 01-.7 0l-2.7-1.5a1 1 0 01-.4-.7V59a1 1 0 01.4-.7l2.7-1.5a.48.48 0 01.7 0l2.7 1.5a1 1 0 01.4.7zm2.6-4.3a.68.68 0 01.7-.7h5.2a.68.68 0 01.7.7V63a.68.68 0 01-.7.7h-5.1a.68.68 0 01-.7-.7l-.1-5.2zM73.4 71l-3.1 3.2a.48.48 0 01-.7 0L66.5 71a.48.48 0 010-.7l3.1-3.2a.48.48 0 01.7 0l3.1 3.2a.48.48 0 010 .7z\"}},\nemployee_job_position:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M65.3 51.5a14.25 14.25 0 1014.2 14.3 14.32 14.32 0 00-14.2-14.3zM67.8 67a3.09 3.09 0 01-1.1-.2l-5.4 5.4a1.71 1.71 0 01-1.1.5c-.5 0-.9-.1-1.1-.5a1.82 1.82 0 010-2.4l5.4-5.4a4.47 4.47 0 014-5.8 3.09 3.09 0 011.1.2c.2 0 .2.2.1.4l-2.5 2.4a.37.37 0 000 .6l1.6 1.6a.48.48 0 00.7 0l2.4-2.4c.1-.1.5-.1.5.1a6.53 6.53 0 01.2 1.1 4.47 4.47 0 01-4.8 4.4z\"},{\"d\":\"M48.9 79.7c2.7 0 1.2-1.9 1.2-1.9a19.58 19.58 0 01-2.5-20.1l.2-.4a1.17 1.17 0 00-.9-1.9 18.48 18.48 0 00-2.4-.1 24.54 24.54 0 00-24.2 21c0 1.2.4 3.5 4.2 3.5h23.9a1.75 1.75 0 01.5-.1z\"}],\"circle\":{\"cx\":\"44.6\",\"cy\":\"36.1\",\"r\":\"16.1\"}},\nemployee_organization:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"circle\":{\"cx\":\"63.3\",\"cy\":\"47.6\",\"r\":\"10.7\"},\"path\":{\"d\":\"M63.6 60.3h-.8a16.43 16.43 0 00-16.1 13.9c0 .7.2 2.4 2.7 2.4h27.2c2.5 0 2.7-1.5 2.7-2.4a15.65 15.65 0 00-15.7-13.9zM48.6 58.3c.4-.4.1-.7.1-.7a17.94 17.94 0 01-3.1-10 17.18 17.18 0 013.2-10.2.1.1 0 01.1-.1 1.76 1.76 0 00.4-1.1V25.4a2.15 2.15 0 00-2-2H22.5a2.18 2.18 0 00-2 2.1v46.2H40a24.12 24.12 0 018.6-13.4zm-17 7.7a2.18 2.18 0 01-2.1 2.1h-2.1a2.18 2.18 0 01-2.1-2.1v-2.1a2.18 2.18 0 012.1-2.1h2.1a2.18 2.18 0 012.1 2.1zm0-10.5a2.18 2.18 0 01-2.1 2.1h-2.1a2.18 2.18 0 01-2.1-2.1v-2.1a2.18 2.18 0 012.1-2.1h2.1a2.18 2.18 0 012.1 2.1zm0-10.5a2.18 2.18 0 01-2.1 2.1h-2.1a2.18 2.18 0 01-2.1-2.1v-2.1a2.18 2.18 0 012.1-2.1h2.1a2.18 2.18 0 012.1 2.1zm0-10.5a2.18 2.18 0 01-2.1 2.1h-2.1a2.18 2.18 0 01-2.1-2.1v-2.1a2.18 2.18 0 012.1-2.1h2.1a2.18 2.18 0 012.1 2.1zm11.9 21a2.18 2.18 0 01-2.1 2.1h-2.1a2.18 2.18 0 01-2.1-2.1v-2.1a2.18 2.18 0 012.1-2.1h2.1a2.18 2.18 0 012.1 2.1zm0-10.5a2.18 2.18 0 01-2.1 2.1h-2.1a2.18 2.18 0 01-2.1-2.1v-2.1a2.18 2.18 0 012.1-2.1h2.1a2.18 2.18 0 012.1 2.1zm0-10.5a2.18 2.18 0 01-2.1 2.1h-2.1a2.18 2.18 0 01-2.1-2.1v-2.1a2.18 2.18 0 012.1-2.1h2.1a2.18 2.18 0 012.1 2.1z\"}},\nempty:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"opacity\":\".5\",\"d\":\"M72 78H28c-3.3 0-6-2.7-6-6V28c0-3.3 2.7-6 6-6h44c3.3 0 6 2.7 6 6v44c0 3.3-2.7 6-6 6zM28 30v40c0 1.1.9 2 2 2h40c1.1 0 2-.9 2-2V30c0-1.1-.9-2-2-2H30c-1.1 0-2 .9-2 2z\"}},\nendorsement:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M27.9 42H22c-1.1 0-2 .9-2 2v32.3c0 1.1.9 1.7 2 1.7h2c3.3 0 6-2.7 6-6V44.1c0-1.2-.9-2.1-2.1-2.1zM72 43h-6c-3.3 0-6-2.7-6-6V25c0-3.3-2.7-6-6-6h-4c-1.1 0-2 .9-2 2v8c0 7-3.6 14-10 14-1.1 0-2 .9-2 2v28c0 1.1.8 1.9 1.9 2 8.9.5 14.8 3.9 24.1 3.9 10 0 18-3.2 18-12.7V51c0-4.4-3.6-8-8-8z\"}},\nentitlement:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M71.9 19.9H35.2c-3.7 0-6.9 3.4-6.9 6.9H26c-2.6 0-4.6 2.1-4.6 4.7s2 4.6 4.6 4.6h2.3v9.3H26c-2.6 0-4.6 2-4.6 4.6s2 4.6 4.6 4.6h2.3v9.3H26c-2.6 0-4.6 2.1-4.6 4.6 0 2.6 2 4.6 4.6 4.6h2.3c0 4.6 3.2 6.9 6.9 6.9h36.7c3.7 0 6.9-3.2 6.9-6.9V26.8c-.1-3.7-3.2-6.9-6.9-6.9zM68.1 70c0 1.1-.9 2-2 2H40c-1.1 0-2-.9-2-2v-2c0-1.1.9-2 2-2h26.1c1.1 0 2 .9 2 2v2zM40 50.3l2.1-2.1c.6-.6 1.5-.6 2.1 0l5.2 5.1 12.8-12.7c.6-.6 1.5-.6 2.1 0l2.1 2.1c.5.6.5 1.6 0 2.1l-15 14.8c-.6.6-1.3.8-2.1.8s-1.5-.2-2.1-.8L40 52.4c-.7-.6-.7-1.5 0-2.1zm28.1-17.9c0 1.1-.9 2-2 2H40c-1.1 0-2-.9-2-2v-2c0-1.1.9-2 2-2h26.1c1.1 0 2 .9 2 2v2z\"}},\nentitlement_policy:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M25.4 34.9H36c2.2 0 4-1.8 4-4V20.3c0-.8-.6-1.4-1.4-1.4-.4 0-.7.1-1 .4L24.4 32.5c-.3.3-.4.6-.4 1 0 .8.6 1.4 1.4 1.4z\"},{\"d\":\"M46.4 78.8l4.7-6.4 4.3-5.8c-.1-.4-.1-.7-.2-1v-.1c-.7-.9-1.9-2.5-1.9-4.8s1.2-3.9 1.8-4.8c.1-1 .4-3.1 2.2-4.8 1.6-1.5 3.5-1.8 4.5-2h.1c.9-.7 2.5-1.9 4.8-1.9s3.9 1.2 4.8 1.8c.6.1 1.5.2 2.5.6V24.9c0-3.3-2.7-6-6-6H48c-1.1 0-2 .9-2 2v14c0 3.3-2.7 6-6 6H26c-1.1 0-2 .9-2 2v30c0 3.3 2.7 6 6 6h16.3l.1-.1z\"}]},\"path\":{\"d\":\"M65.2 71.5L60 78.9l-1.3-3.5h-3.5l4.5-6.1c.9.5 1.8.6 2.5.8.2.1.5.1.6.1.1.1.3.2.5.3.4.3 1 .7 1.9 1zm8.4-2.3c-.9.5-1.8.6-2.5.8-.2.1-.5.1-.7.1-.1.1-.3.2-.5.3-.5.3-1.1.9-1.9 1.2l5.2 7.3 1.3-3.5H78l-4.4-6.2zm-7-11.6c-1.7 0-3.1 1.4-3.1 3.1s1.4 3.1 3.1 3.1c1.7 0 3.1-1.4 3.1-3.1s-1.4-3.1-3.1-3.1zm8.5 3.1c0 1.1-1.2 1.9-1.5 2.8-.4 1-.2 2.4-.9 3.1-.7.7-2.1.5-3.1.9-.9.4-1.8 1.5-2.8 1.5s-1.9-1.2-2.8-1.5c-1-.4-2.4-.2-3.1-.9-.7-.7-.5-2.1-.9-3.1-.4-.9-1.5-1.8-1.5-2.8s1.2-1.9 1.5-2.8c.4-1 .2-2.4.9-3.1.7-.7 2.1-.5 3.1-.9.9-.4 1.8-1.5 2.8-1.5s1.9 1.2 2.8 1.5c1 .4 2.4.2 3.1.9.7.7.5 2.1.9 3.1.3 1 1.5 1.8 1.5 2.8zm-2.7 0c0-3.2-2.5-5.8-5.8-5.8-3.2 0-5.8 2.5-5.8 5.8s2.5 5.8 5.8 5.8 5.8-2.6 5.8-5.8z\"}},\nentitlement_process:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M56 79.6V63.1l9.4-10.4h13.3v20c-.1 3.8-3.1 6.8-6.9 6.9H56z\"},{\"d\":\"M50 79.6H35.2c-3.7 0-6.9-2.3-6.9-6.9H26c-2.5 0-4.6-2-4.6-4.5v-.1c0-2.5 2.1-4.6 4.6-4.6h2.3v-9.3H26c-2.5 0-4.6-2.1-4.6-4.6 0-2.5 2.1-4.6 4.6-4.6h2.3v-9.3H26c-2.5 0-4.6-2-4.6-4.5v-.1c0-2.5 2-4.6 4.5-4.7h2.4c.2-3.7 3.2-6.7 6.9-6.9h36.6c3.8.1 6.8 3.1 6.9 6.9v20.2H65L54.3 34.8c-.8-.8-2.2-.8-3 0L39 48.3c-.7.8-.7 2 0 2.8L49.8 63s.1 16.6.2 16.6z\"}]},\nentitlement_template:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M70.5 19.5H33.8c-3.7.1-6.8 3.2-6.9 6.9h-2.3c-2.5 0-4.6 2.1-4.6 4.6v.1c0 2.5 2 4.6 4.5 4.6h2.4V45h-2.3c-2.5 0-4.6 2.1-4.6 4.6 0 2.5 2.1 4.6 4.6 4.6h2.3v9.3h-2.3c-2.5 0-4.6 2-4.6 4.6 0 2.5 2 4.6 4.5 4.6h2.4c0 4.6 3.2 6.9 6.9 6.9h36.7c3.8-.1 6.8-3.1 6.9-6.9V26.4c-.1-3.8-3.1-6.8-6.9-6.9zm-3.3 45.1H36.7v-30h30.5v30z\"},{\"d\":\"M42 45.1h19.9c.4 0 .8-.3.8-.7v-4.6c0-.4-.3-.8-.7-.8H42c-.4 0-.8.3-.8.7v4.6c0 .4.3.8.7.8h.1zM42 60.1h4.6c.4 0 .8-.3.8-.7v-9.1c0-.4-.3-.8-.7-.8H42c-.4 0-.8.3-.8.7v9.1c0 .4.3.8.7.8h.1zM61.8 49.6h-9.2c-.4 0-.8.3-.8.7v9.1c0 .4.3.8.7.8H61.8c.4 0 .8-.3.8-.7v-9.1c0-.4-.3-.8-.7-.8h-.1z\"}]},\nentity:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M74.4 28.7c0-4.8-10.9-8.7-24.4-8.7s-24.4 3.9-24.4 8.7v3c0 4.8 10.9 8.7 24.4 8.7s24.4-3.9 24.4-8.7v-3zm-48.8 10c0 3.8 10.9 6.8 24.4 6.8s24.4-3 24.4-6.8v6.2c0 4.8-10.9 8.7-24.4 8.7s-24.4-3.9-24.4-8.7v-6.2zm0 0c0 3.8 10.9 6.8 24.4 6.8s24.4-3 24.4-6.8v6.2c0 4.8-10.9 8.7-24.4 8.7s-24.4-3.9-24.4-8.7v-6.2zm0 13.2c0 3.8 10.9 6.8 24.4 6.8s24.4-3 24.4-6.8V58c0 4.8-10.9 8.7-24.4 8.7s-24.4-3.8-24.4-8.5v-6.3zm0 13.3c0 3.8 11 6.8 24.4 6.8s24.4-3 24.4-6.8v6.2c0 4.8-10.9 8.7-24.4 8.7s-24.4-3.9-24.4-8.7v-6.2z\"}},\nentity_milestone:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M74.2 32.9L53.1 21.1c-2-1.1-4.4-1.1-6.4 0L25.6 33c-2 1.1-3.2 3.2-3.2 5.4v23.7c.1 2.2 1.3 4.2 3.2 5.4l21.1 11.9c2 1.1 4.4 1.1 6.4 0l21.1-11.9c2-1.1 3.2-3.2 3.1-5.4V38.3c0-2.2-1.2-4.3-3.1-5.4zm-33.4 7.6v25c0 1.2-.9 2.1-2.1 2.2-1.2 0-2.1-1-2.1-2.2v-25c-.7-.7-1.1-1.6-1.1-2.5 0-1.8 1.5-3.2 3.3-3.1s3.2 1.5 3.1 3.3c0 .9-.4 1.7-1.1 2.3zm25.7 15.7c0 .4-.2.7-.5.9-8.3 4.6-12.9-2.8-20.5-.4-.6.2-1.2-.1-1.4-.7V41.5c0-.4.3-.8.7-1 7.9-3 12.5 4.8 20.9.3.3-.1.6 0 .7.2 0 .1.1.2.1.3v14.9z\"}},\nenvironment_hub:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M43.1 47c.4-4.2 1.6-8.3 3.6-11.8 3.3-5.7 8.6-9 15.8-9.2 1.2-3.5 4.6-6 8.5-6 5 0 9 4 9 9s-4 9-9 9c-3.9 0-7.2-2.5-8.5-6-8.1.3-12.5 6.6-13.4 15h13.4c1.2-3.5 4.6-6 8.5-6 5 0 9 4 9 9s-4 9-9 9c-3.9 0-7.3-2.5-8.5-6H49.1c.7 9 4.9 15.1 13.4 15 1.2-3.5 4.6-6 8.5-6 5 0 9 4 9 9s-4 9-9 9c-3.9 0-7.3-2.5-8.5-6-7.4.1-12.8-3.3-16.1-9.1-1.9-3.5-3-7.6-3.3-11.9h-5.6c-1.2 3.5-4.6 6-8.5 6-5 0-9-4-9-9s4-9 9-9c3.9 0 7.3 2.5 8.5 6h5.6zM71 32c1.7 0 3-1.3 3-3s-1.3-3-3-3-3 1.3-3 3 1.3 3 3 3zm0 42c1.7 0 3-1.3 3-3s-1.3-3-3-3-3 1.3-3 3 1.3 3 3 3zm0-21c1.7 0 3-1.3 3-3s-1.3-3-3-3-3 1.3-3 3 1.3 3 3 3zm-42 0c1.7 0 3-1.3 3-3s-1.3-3-3-3-3 1.3-3 3 1.3 3 3 3z\"}},\nevent:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M76 42H24c-1.1 0-2 .9-2 2v30c0 3.3 2.7 6 6 6h44c3.3 0 6-2.7 6-6V44c0-1.1-.9-2-2-2zM40 70c0 1.1-.9 2-2 2h-4c-1.1 0-2-.9-2-2v-4c0-1.1.9-2 2-2h4c1.1 0 2 .9 2 2v4zm0-14c0 1.1-.9 2-2 2h-4c-1.1 0-2-.9-2-2v-4c0-1.1.9-2 2-2h4c1.1 0 2 .9 2 2v4zm14 14c0 1.1-.9 2-2 2h-4c-1.1 0-2-.9-2-2v-4c0-1.1.9-2 2-2h4c1.1 0 2 .9 2 2v4zm0-14c0 1.1-.9 2-2 2h-4c-1.1 0-2-.9-2-2v-4c0-1.1.9-2 2-2h4c1.1 0 2 .9 2 2v4zm14 14c0 1.1-.9 2-2 2h-4c-1.1 0-2-.9-2-2v-4c0-1.1.9-2 2-2h4c1.1 0 2 .9 2 2v4zm0-14c0 1.1-.9 2-2 2h-4c-1.1 0-2-.9-2-2v-4c0-1.1.9-2 2-2h4c1.1 0 2 .9 2 2v4zM72 26h-5v-2c0-2.2-1.8-4-4-4s-4 1.8-4 4v2H41v-2c0-2.2-1.8-4-4-4s-4 1.8-4 4v2h-5c-3.3 0-6 2.7-6 6v2c0 1.1.9 2 2 2h52c1.1 0 2-.9 2-2v-2c0-3.3-2.7-6-6-6z\"}},\nevents:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M71.4 28.6C65.9 23.1 58.6 20 50.9 20c-1.7 0-3 1.3-3 3s1.3 3 3 3c6.1 0 11.9 2.4 16.3 6.7C71.5 37.2 74 43 74 49.1c0 1.7 1.3 3 3 3s3-1.3 3-3c0-7.7-3-15-8.6-20.5zm-20.5 3.5c-1.7 0-3 1.3-3 3s1.3 3 3 3c2.9 0 5.7 1.1 7.8 3.2 2.1 2.1 3.2 4.8 3.2 7.8 0 1.7 1.3 3 3 3s3-1.3 3-3c0-4.5-1.8-8.8-5-12s-7.5-5-12-5zm-4.3 28.7l2.6-7c1.8.7 3.8.3 5.3-1.1 2-2 2-5.1 0-7.1s-5.1-2-7.1 0c-1.5 1.5-1.8 3.7-1 5.6l-6.5 2.9-11.7-11.7c-.8-.8-2.2-.8-2.9.1-7.5 9-7 22.4 1.5 30.9 8.4 8.4 21.8 8.9 30.9 1.5.9-.7.9-2.1.1-2.9L46.6 60.8z\"}},\nexpense:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M75 23.8H25a4.59 4.59 0 00-4.6 4.6V74a1.12 1.12 0 001.9.8l4.1-4.1a1 1 0 011.6 0l5.2 5.2a1 1 0 001.6 0l4.1-4.1a1 1 0 011.6 0l4.1 4.1a1 1 0 001.6 0l4.1-4.1a1 1 0 011.6 0l4.1 4.1a1 1 0 001.6 0l4.1-4.1a1 1 0 011.6 0l4.1 4.1a1 1 0 001.6 0l4.1-4.1a1 1 0 011.6 0l3 3a1.12 1.12 0 001.9-.8V28.3a4.5 4.5 0 00-4.6-4.5zM53 50.4v1.1a5.45 5.45 0 01-3.1 1 5.6 5.6 0 010-11.2 5.59 5.59 0 015.6 5.2 4.48 4.48 0 00-2.5 3.9zm15 14.1a1.52 1.52 0 01-1.5 1.4h-9a1.43 1.43 0 01-1.4-1.4v-1.4a1.43 1.43 0 011.4-1.4h9.1a1.43 1.43 0 011.4 1.4zm0-6.3a1.52 1.52 0 01-1.5 1.4h-9a1.43 1.43 0 01-1.4-1.4v-1.4a1.43 1.43 0 011.4-1.4h9.1a1.43 1.43 0 011.4 1.4zm0-6.4a1.52 1.52 0 01-1.5 1.4h-9a1.43 1.43 0 01-1.4-1.4v-1.4a1.43 1.43 0 011.4-1.4h9.1a1.43 1.43 0 011.4 1.4zm.1-5.7a3.4 3.4 0 00-1.4-.2h-2.9v-3a4 4 0 01-4-4H40a4 4 0 01-4 4v8.4a4 4 0 014 4h13.2a3.4 3.4 0 00-.2 1.4v1.4a6.64 6.64 0 00.3 1.5h-18a3.37 3.37 0 01-3.4-3.4V38.1a3.37 3.37 0 013.4-3.4h29.4a3.37 3.37 0 013.4 3.4z\"}},\nexpense_report:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M39.3 32.1h21.4a2 2 0 002-2v-4a6 6 0 00-5.8-6H43.3a5.91 5.91 0 00-5.8 6v4a1.74 1.74 0 001.8 2z\"},{\"d\":\"M71.4 25.2h-2a.94.94 0 00-1 1v4a7.9 7.9 0 01-7.8 7.9H39.3a7.9 7.9 0 01-7.8-7.9v-4a.94.94 0 00-1-1h-2a5.91 5.91 0 00-5.8 6v42.6a6 6 0 005.8 6h42.9a5.91 5.91 0 005.8-6V31.2a5.79 5.79 0 00-5.8-6zM53 59.4v1.1a5.45 5.45 0 01-3.1 1 5.6 5.6 0 010-11.2 5.59 5.59 0 015.6 5.2 4.48 4.48 0 00-2.5 3.9zm15 14.1a1.52 1.52 0 01-1.5 1.4h-9a1.43 1.43 0 01-1.4-1.4v-1.4a1.43 1.43 0 011.4-1.4h9.1a1.43 1.43 0 011.4 1.4zm0-6.3a1.52 1.52 0 01-1.5 1.4h-9a1.43 1.43 0 01-1.4-1.4v-1.4a1.43 1.43 0 011.4-1.4h9.1a1.43 1.43 0 011.4 1.4zm0-6.4a1.52 1.52 0 01-1.5 1.4h-9a1.43 1.43 0 01-1.4-1.4v-1.4a1.43 1.43 0 011.4-1.4h9.1a1.43 1.43 0 011.4 1.4zm.1-5.7a3.4 3.4 0 00-1.4-.2h-2.9v-3a4 4 0 01-4-4H40a4 4 0 01-4 4v8.4a4 4 0 014 4h13.2a3.4 3.4 0 00-.2 1.4v1.4a6.64 6.64 0 00.3 1.5h-18a3.37 3.37 0 01-3.4-3.4V47.1a3.37 3.37 0 013.4-3.4h29.4a3.37 3.37 0 013.4 3.4z\"}]},\nexpense_report_entry:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M37 31.6h20.4a1.84 1.84 0 001.9-1.9v-3.8a5.66 5.66 0 00-5.5-5.7h-13a5.59 5.59 0 00-5.5 5.7v3.8a1.74 1.74 0 001.7 1.9zM67.3 54.5A12.7 12.7 0 1080 67.2a12.72 12.72 0 00-12.7-12.7zm8.2 9.2L66.2 73a1.94 1.94 0 01-2.6 0L59 68.4a.85.85 0 010-1.3l1.3-1.3a.85.85 0 011.3 0l3.2 3.2 8.1-8.1a.85.85 0 011.3 0l1.3 1.3c.7.6.2 1.2 0 1.5z\"},{\"d\":\"M59.8 52.3a3.91 3.91 0 01-2.7-3.8H37.3a4 4 0 01-4 4V61a4 4 0 014 4h13.6a16.74 16.74 0 018.9-12.7zm-12.6 9.6a5.4 5.4 0 115.4-5.4 5.38 5.38 0 01-5.4 5.4z\"},{\"d\":\"M67.6 25h-1.9a.84.84 0 00-.9.9v3.8a7.56 7.56 0 01-7.4 7.6H37a7.49 7.49 0 01-7.4-7.6v-3.8a.84.84 0 00-.9-.9h-1.9a5.59 5.59 0 00-5.5 5.7v40.6a5.66 5.66 0 005.5 5.7H54a17 17 0 01-3.1-7.7H32.6a3.37 3.37 0 01-3.4-3.4V47.8a3.37 3.37 0 013.4-3.4H62a3.37 3.37 0 013.4 3.4v2.9a13.4 13.4 0 012-.1 15.75 15.75 0 015.8 1.1v-21a5.74 5.74 0 00-5.6-5.7z\"}]},\nfeed:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M49 72c-.4 0-.9-.1-1.4-.4-.8-.4-1.4-1.3-1.6-2.2l-7.8-31.2-6.5 14.9c-.4 1.2-1.5 1.9-2.7 1.9h-9c-1.1 0-2-.9-2-2v-2c0-1.1.9-2 2-2h7l9.2-21.2c.5-1.2 1.7-1.9 3-1.8 1.3.1 2.4 1 2.7 2.3l7.9 31.6 10.4-23.1c.5-1.2 1.7-1.9 3-1.8 1.1.1 2.1.9 2.6 2L71 49h9c1.1 0 2 .9 2 2v2c0 1.1-.9 2-2 2H69c-1.2 0-2.3-.7-2.8-1.8l-3.3-7.7-11.2 24.7c-.5 1.1-1.5 1.8-2.7 1.8z\"}},\nfeedback:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M79.1 56.5c-.1-.4-.1-.9.2-1.2C81 52.2 82 48.7 82 45c0-11.6-9.9-21-22-21-5.2 0-10 1.8-13.8 4.7C58.7 31.4 68 42.2 68 55c0 3.6-.7 7.1-2.1 10.2 2-.5 3.9-1.3 5.7-2.4.4-.2.8-.3 1.2-.1l6.4 2.3c1.1.4 2.2-.7 1.9-1.9l-2-6.6z\"},{\"d\":\"M40 34c-12.1 0-22 9.4-22 21 0 3.7 1 7.2 2.8 10.3.2.4.3.8.2 1.2l-2.1 6.7c-.4 1.2.7 2.3 1.9 1.9l6.4-2.3c.4-.1.9-.1 1.2.1 3.4 2 7.3 3.1 11.6 3.1 12.1 0 22-9.4 22-21s-9.9-21-22-21zM28 59c-2.2 0-4-1.8-4-4s1.8-4 4-4 4 1.8 4 4-1.8 4-4 4zm12 0c-2.2 0-4-1.8-4-4s1.8-4 4-4 4 1.8 4 4-1.8 4-4 4zm12 0c-2.2 0-4-1.8-4-4s1.8-4 4-4 4 1.8 4 4-1.8 4-4 4z\"}]},\nfile:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M29 63V31c-3.3 0-6 2.7-6 6v38c0 3.3 2.7 6 6 6h30c3.3 0 6-2.7 6-6H41c-6.6 0-12 0-12-12z\"},{\"d\":\"M75 37H65c-3.3 0-6-2.7-6-6V21c0-1.1-.9-2-2-2H41c-3.3 0-6 2.7-6 6v38c0 3.3 2.7 6 6 6h30c3.3 0 6-2.7 6-6V39c0-1.1-.9-2-2-2z\"},{\"d\":\"M76.6 28.6l-9.2-9.2c-.3-.3-.6-.4-1-.4-.8 0-1.4.6-1.4 1.4V27c0 2.2 1.8 4 4 4h6.6c.8 0 1.4-.6 1.4-1.4 0-.4-.1-.7-.4-1z\"}]}},\nfiliter_criteria_rule:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M51.75 20a2 2 0 012 2v14A4.86 4.86 0 0059 41.25h14a2 2 0 012 2V74a6.08 6.08 0 01-6 6H31a6.08 6.08 0 01-6-6V26a6.08 6.08 0 016-6h20.75zm9.4 30h-22.3a.86.86 0 00-.65 1.41l9.74 11.39a2.08 2.08 0 01.45 1.31v7.23a.82.82 0 00.81.75h1.5a.73.73 0 00.71-.75v-7.23A1.84 1.84 0 0152 62.8l9.8-11.39a.86.86 0 00-.65-1.41zm-.9-30a1.74 1.74 0 011.13.38l13.24 13.24a1.74 1.74 0 01.38 1.13 1.5 1.5 0 01-1.38 1.5H63A4.38 4.38 0 0158.75 32V21.38a1.5 1.5 0 011.5-1.38z\"}},\nfilter:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M77 20H21c-1.9 0-2.8 2.1-1.6 3.5l24.2 28.6c.8.9 1.1 2.1 1.1 3.3v22.7c0 1 1 1.9 2 1.9h4.4c1 0 1.8-.9 1.8-1.9V55.5c0-1.3.5-2.4 1.4-3.3l24.3-28.6c1.2-1.4.3-3.6-1.6-3.6z\"}},\nfilter_criteria:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M38.86 32h21.81a2 2 0 002-2v-4a6 6 0 00-5.95-6H42.83a6 6 0 00-5.95 6v4a2 2 0 001.98 2z\"},{\"d\":\"M29.93 25a.94.94 0 011 1v4a8 8 0 007.93 8h21.81a8 8 0 007.94-8v-4a.94.94 0 011-1h2a6 6 0 016 6v43a6 6 0 01-6 6H28a6 6 0 01-6-6V31a6 6 0 016-6h2zm31.22 23h-22.3a.86.86 0 00-.65 1.41l9.74 11.39a2.08 2.08 0 01.45 1.31v7.23a.82.82 0 00.81.75h1.5a.73.73 0 00.71-.75v-7.23A1.84 1.84 0 0152 60.8l9.8-11.39a.86.86 0 00-.65-1.41z\"}]},\nfirst_non_empty:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M55.9 49.3l22.7-22.8c.8-.8.8-2 0-2.9l-2.7-2.9c-.8-.8-2-.8-2.9 0L50.1 43.6c-.5.5-1.4.5-1.9 0l-22.8-23c-.8-.8-2-.8-2.9 0l-2.9 2.9c-.8.8-.8 2 0 2.9l22.8 22.8c.5.5.5 1.4 0 1.9L19.6 74c-.8.8-.8 2 0 2.9l2.9 2.9c.8.8 2 .8 2.9 0L48.2 57c.5-.5 1.4-.5 1.9 0l22.6 22.6c.8.8 2 .8 2.9 0l2.9-2.9c.8-.8.8-2 0-2.9L55.9 51.2c-.6-.6-.6-1.4 0-1.9z\"}},\nflow:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M79.9 30.7c-2.6-5.1-9.2-14.6-21.5-9-7.6 3.5-11.9 5.5-11.9 5.5l-11 4.8c-3.1 1.5-9.9-.6-13.7-2-1.1-.4-2.1.8-1.6 1.9 2.6 5.1 9.2 14.6 21.5 9 7.6-3.5 22.9-10.1 22.9-10.1 3.1-1.5 9.9.6 13.7 2 1.1.2 2.1-.9 1.6-2.1zM53.5 46.8c-1.4.8-6.9 3.3-6.9 3.3l-5.5 2.4C38.4 54 32.5 52 29 50.6c-1-.5-1.9.8-1.4 1.8 2.2 5 8.1 14 18.9 8.5 6.7-3.4 12.4-5.6 12.4-5.6 2.7-1.5 8.6.5 12.1 1.9 1 .4 1.9-.8 1.4-1.9-2.3-5-8.2-14-18.9-8.5zM49.5 68.9c-1.1.6-3 1.8-3 1.8-2.1 1.3-6.5-.4-9.1-1.7-.7-.4-1.4.8-1 1.8 1.6 4.5 6 12.6 14.1 7.6 3-1.9 3-1.8 3-1.8 2.2-1.1 6.5.4 9.1 1.6.7.4 1.4-.8 1-1.8-1.6-4.4-5.7-12.1-14.1-7.5z\"}}},\nfolder:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M75 34.7H46.6c-1.8 0-3.4-1-4.4-2.5l-4.4-7.6C37 23 35.4 22 33.5 22H25c-2.8 0-5 2.3-5 5.1v45.8c0 2.8 2.2 5.1 5 5.1h50c2.8 0 5-2.3 5-5.1V39.8c0-2.8-2.2-5.1-5-5.1z\"},{\"d\":\"M75 24.5H44.9c-.5 0-.8.5-.5.9l2 3.4c.2.5.6.8 1.1.8H75c1.4 0 2.8.3 3.9.8.5.3 1.1-.1 1.1-.8 0-2.8-2.2-5.1-5-5.1z\"}]},\nforecasts:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M77.7 29.2S74.2 22 66.4 22s-11.5 7.4-11.5 7.4c-5.2-2.5-9.9 0-9.9 0S41.4 22 33.6 22s-11.3 7.2-11.3 7.2-7.3 16.3-7.5 30.9C14.6 74.5 24.3 78 28.9 78c5 0 16.8-2.1 16.2-18.5 0 0 1.2-2.8 4.5-2.7 4 0 5.4 2.7 5.4 2.7C54.4 75.9 66.2 78 71.1 78c4.5 0 14.3-3.5 14.1-17.9-.2-14.6-7.5-30.9-7.5-30.9zM29.8 71.6c-4.8 0-8.7-3.9-8.7-8.7s3.9-8.7 8.7-8.7 8.7 3.9 8.7 8.7-3.9 8.7-8.7 8.7zm40.4 0c-4.8 0-8.7-3.9-8.7-8.7s3.9-8.7 8.7-8.7 8.7 3.9 8.7 8.7-3.9 8.7-8.7 8.7z\"}},\nform:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"rect\":[{\"fill\":\"none\",\"height\":\"6\",\"rx\":\"2\",\"width\":\"34\",\"x\":\"33\",\"y\":\"50\"},{\"fill\":\"none\",\"height\":\"6\",\"rx\":\"2\",\"width\":\"30\",\"x\":\"33\",\"y\":\"62\"}],\"g\":{\"path\":[{\"d\":\"M63 36h10.6a1.37 1.37 0 001.4-1.4 1.28 1.28 0 00-.4-1L61.4 20.4a1.28 1.28 0 00-1-.4 1.37 1.37 0 00-1.4 1.4V32a4 4 0 004 4z\"},{\"d\":\"M73 42H59a6 6 0 01-6-6V22a2 2 0 00-2-2H31a6 6 0 00-6 6v48a6 6 0 006 6h38a6 6 0 006-6V44a2 2 0 00-2-2zm-40-2a2 2 0 012-2h8.18a2 2 0 012 2v2a2 2 0 01-2 2H35a1.94 1.94 0 01-2-2zm30 26a2 2 0 01-2 2H35a2 2 0 01-2-2v-2a2 2 0 012-2h26a2 2 0 012 2zm4-12a2 2 0 01-2 2H35a2 2 0 01-2-2v-2a2 2 0 012-2h30a2 2 0 012 2z\"}]}},\nformula:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M55.3 21.2c-1.1-.7-2.4-1.1-4.1-1.1-.4 0-.8 0-1.2.1-4.4.7-7.3 4.7-9.1 8.5-.8 1.8-1.5 3.7-2.2 5.5-.3.9-.7 1.7-1 2.6 0 .1-.5 1.8-.6 1.8h-4.5c-.6 0-1.1.5-1.1 1.1 0 .6.5 1.1 1.1 1.1h3.9l-2.2 9.4c-2.2 10.5-5.2 22.5-5.9 24.6-.7 2.2-1.7 3.3-3.1 3.3-.3 0-.5-.1-.7-.2-.2-.1-.3-.3-.3-.5s.1-.5.4-.9c.3-.4.4-.9.4-1.3 0-.8-.3-1.5-.8-2-.6-.5-1.2-.7-1.9-.7s-1.4.3-2 .8c-.1.7-.4 1.4-.4 2.3 0 1.2.5 2.2 1.5 3.1 1 .9 2.3 1.3 4 1.3 2.7 0 5.1-1.2 6.9-3.3 1.1-1.3 1.9-2.8 2.6-4.4 2.2-4.9 3.4-10.3 4.7-15.5 1.3-5.3 2.5-10.6 3.6-15.9h4.3c.6 0 1.1-.5 1.1-1.1 0-.6-.5-1.1-1.1-1.1h-4c2.2-8.3 4.7-14 5.2-14.8.8-1.4 1.7-2.1 2.7-2.1.4 0 .6.1.7.3.1.2.2.4.2.5 0 .1-.1.4-.4.9-.3.5-.4 1-.4 1.5 0 .7.3 1.3.8 1.8s1.2.8 1.9.8 1.4-.3 1.9-.8.8-1.2.8-2.1c-.1-1.7-.6-2.8-1.7-3.5zM75.3 46.4c1.6 0 4.7-1.3 4.7-5.5s-3-4.4-4-4.4c-1.8 0-3.7 1.3-5.3 4.1-1.6 2.8-3.4 6-3.4 6h-.1c-.4-2-.7-3.6-.9-4.4-.3-1.7-2.3-5.5-6.5-5.5s-8 2.4-8 2.4c-.7.4-1.2 1.2-1.2 2.1 0 1.4 1.1 2.5 2.5 2.5.4 0 .8-.1 1.1-.3 0 0 3.2-1.8 3.8 0 .2.5.4 1.1.6 1.7.8 2.7 1.5 5.9 2.2 8.8L58.3 58s-3.1-1.1-4.7-1.1-4.7 1.3-4.7 5.5 3 4.4 4 4.4c1.8 0 3.7-1.3 5.3-4.1 1.6-2.8 3.4-6 3.4-6 .5 2.6 1 4.7 1.3 5.5 1 3 3.4 4.7 6.6 4.7 0 0 3.3 0 7.1-2.2.9-.4 1.6-1.3 1.6-2.3 0-1.4-1.1-2.5-2.5-2.5-.4 0-.8.1-1.1.3 0 0-2.7 1.5-3.7.3-.7-1.3-1.2-3-1.7-5.1-.4-1.9-.9-4.1-1.3-6.2l2.8-4c-.1.1 3 1.2 4.6 1.2z\"}},\nfulfillment_order:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M47.9 63c.9 0 1.7.1 2.5.4L36.9 25.1l-1.2-3.7c-.4-1.1-1.5-1.6-2.5-1.2L21.4 24c-1.1.4-1.6 1.5-1.2 2.5l1.2 3.7c.4 1.1 1.5 1.6 2.5 1.2l6.1-2 12.4 35.1c1.6-.9 3.5-1.5 5.5-1.5zM69 53.9l-12.4 4.4c-1.2.5-2.7-.2-3.1-1.5l-4.4-12.4c-.5-1.2.2-2.7 1.5-3.1L63 36.9c1.2-.5 2.7.2 3.1 1.5l4.4 12.4c.5 1.2-.2 2.6-1.5 3.1zM57.3 33.5l-8.4 2.9c-1.2.5-2.7-.2-3.1-1.5l-2.9-8.4c-.5-1.2.2-2.7 1.5-3.1l8.4-2.9c1.2-.5 2.7.2 3.1 1.5l2.9 8.4c.5 1.1-.2 2.6-1.5 3.1zm22.6 28.2L78.6 58c-.4-1.1-1.5-1.6-2.5-1.2l-22.7 7.9c2.4 1.5 4 4 4.5 6.9l20.9-7.1c1-.5 1.5-1.6 1.1-2.8zm-32 4.5c-3.7 0-6.9 3.1-6.9 6.9 0 3.7 3.1 6.9 6.9 6.9s6.9-3.1 6.9-6.9c0-3.9-3.2-6.9-6.9-6.9z\"}},\ngeneric_loading:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"opacity\":\".15\",\"d\":\"M51.5 22h-3c-.8 0-1.5.7-1.5 1.5v13c0 .8.7 1.5 1.5 1.5h3c.8 0 1.5-.7 1.5-1.5v-13c0-.8-.7-1.5-1.5-1.5zM76.5 47h-13c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h13c.8 0 1.5-.7 1.5-1.5v-3c0-.8-.7-1.5-1.5-1.5zM51.5 62h-3c-.8 0-1.5.7-1.5 1.5v13c0 .8.7 1.5 1.5 1.5h3c.8 0 1.5-.7 1.5-1.5v-13c0-.8-.7-1.5-1.5-1.5zM38 51.5v-3c0-.8-.7-1.5-1.5-1.5h-13c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h13c.8 0 1.5-.7 1.5-1.5zM59.5 42.6c.6.6 1.5.6 2.1 0l9.2-9.2c.6-.6.6-1.5 0-2.1l-2.1-2.1c-.6-.6-1.5-.6-2.1 0l-9.2 9.2c-.6.6-.6 1.5 0 2.1l2.1 2.1zM61.7 57.4c-.6-.6-1.5-.6-2.1 0l-2.1 2.1c-.6.6-.6 1.5 0 2.1l9.2 9.2c.6.6 1.5.6 2.1 0l2.1-2.1c.6-.6.6-1.5 0-2.1l-9.2-9.2zM40.5 57.4c-.6-.6-1.5-.6-2.1 0l-9.2 9.2c-.6.6-.6 1.5 0 2.1l2.1 2.1c.6.6 1.5.6 2.1 0l9.2-9.2c.6-.6.6-1.5 0-2.1l-2.1-2.1zM33.4 29.1c-.6-.6-1.5-.6-2.1 0l-2.1 2.1c-.6.6-.6 1.5 0 2.1l9.2 9.2c.6.6 1.5.6 2.1 0l2.1-2.1c.6-.6.6-1.5 0-2.1l-9.2-9.2z\"}}},\nglobal_constant:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M53.3 53.1c3.3-2.5 6.8-2.9 9.2-2.9l8.9-.1c.9 0 1.7 0 2.7-.1 1.1 0 2.2-.1 3.3-.1H80c0-16.5-13.5-30-30-30s-30 13.5-30 30c0 14.4 10.3 26.5 23.9 29.4-.2-1-.1-2 .1-3 .4-1.7 1.4-3.1 2.4-4.2-3.1-3.2-5.8-10.3-6.3-19.1H47v8c.2-.6.4-1.2.8-1.8 1.2-1.7 2.6-3.7 4.3-5.3.3-.3.6-.5.8-.7l.4-.1zm20.5-6h-7.9c-.3-7.1-1.9-13.3-4.3-18 6.6 3.7 11.2 10.3 12.2 18zM53 27.4c3.4 2.9 6.4 10.3 6.9 19.7H53V27.4zm-6 0v19.7h-6.9c.5-9.4 3.5-16.8 6.9-19.7zM26.2 53.1h7.9c.3 7.1 1.9 13.3 4.3 18-6.6-3.7-11.2-10.3-12.2-18zm7.9-6h-7.9c1-7.7 5.6-14.3 12.2-18-2.4 4.7-3.9 10.9-4.3 18z\"},{\"d\":\"M48.3 70.3c.4-.3.7-.7 1-.9.3-.4.7-.8 1-1.2-1.6-.7-2.8-2.1-3.3-3.8v7.2c.5-.6.9-1 1.3-1.3z\"}]},\"path\":{\"d\":\"M79.7 55.3c-.2-.2-.4-.3-.6-.3-2.5-.1-5.1.1-7.6.1l-8.9.1c-2.7 0-4.9.6-7 2.5-1.3 1.2-2.6 2.9-3.6 4.4-.1.2-.2.4-.2.6 0 .6.5 1 1 1 .6 0 .7-.4 1-.8.3-.4.6-.8 1-1.2 1.4-1.3 3.3-2 5.1-1.8-1.6 4.4-3.8 9.4-7 12.9-1.3 1.4-3.6 2.9-4.1 4.9-.5 2.1 1.6 2.6 3.2 2 2-.8 3.2-2.9 4.3-4.6 1.2-2.2 2.4-4.5 3.3-6.8 1-2.3 2-4.6 2.9-6.9.6-1.4.8-1.4 2.2-1.4h3.9c-1.4 3.2-2.8 6.4-4.1 9.7-1 2.5-2.8 6.1-1.5 8.8 1.3 2.7 4.8 1.7 6.7.3 2-1.4 3.2-3.6 4.3-5.7.2-.4.4-.8.2-1.3-.2-.4-.5-.6-.9-.6-.9 0-1.1 1.1-1.4 1.7-.5 1.1-1.7 2.1-3 1.9-2.9-.4-.3-5.7.2-7.1.5-1.5 1.1-2.9 1.8-4.3.4-.8.7-1.7 1.1-2.5.5-1 .5-1 1.7-1.1 1 0 3.9.5 4.8-.1.7-.5 1.1-2.2 1.5-3.5 0-.3 0-.6-.3-.9z\"}},\ngoals:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M26 20c-3.3 0-6 2.7-6 6 0 1.8.8 3.4 2 4.5V76c0 2.2 1.8 4 4 4s4-1.8 4-4V30.5c1.2-1.1 2-2.7 2-4.5 0-3.3-2.7-6-6-6zM76.5 30.8c-15.7 8.2-24.4-5.9-39.2-.5-.8.3-1.3 1.1-1.3 1.9V58c0 1.3 1.3 2.3 2.6 1.9 14.2-4.3 22.9 9.1 38.4.7.6-.4 1-1 1-1.7V31.7c0-.8-.8-1.3-1.5-.9zM72 44.5c-1.9.5-3.8.5-5.8.5H66v6h.2c2 0 3.9-.1 5.8-.6v5.9c-1.8.6-3.6.8-5.8.8H66v-6c-2 0-4-.3-6-.7v6c-1.4-.3-2.8-.7-4.1-1.1-.7-.2-1.3-.4-1.9-.6v-5.9c-2.2-.7-3.9-1.3-6-1.6v6c-1-.1-2.2-.2-3.5-.2-.9 0-1.7.1-2.5.2v-6c.8-.1 1.7-.2 2.5-.2 1.3 0 2.5.1 3.5.2v-5.7c-1-.2-2.1-.4-3.5-.4-.9 0-1.7.1-2.5.2v-6c.8-.1 1.7-.2 2.5-.2 1.4 0 2.4.2 3.5.4v6c1.5.4 3 1 5.2 1.6.3.1.5.1.8.2v-6c2 .6 3.9 1 6 1.4v5.9c1.9.4 3.9.4 6 .4v-6h.2c2 0 3.9.2 5.8-.2v5.7z\"},{\"d\":\"M54 43.3v5.5c.4.1.9.3 1.3.4 1.6.4 3.1.9 4.7 1.2v-5.7c-2.1-.5-4-.9-6-1.4z\"}]},\ngroup_loading:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"opacity\":\".5\",\"d\":\"M36.7 52.4C35 49.7 34 46.5 34 43c0-5.9 2.5-10.9 6.5-13.9-1.5-2.5-4-4.1-7.5-4.1-5.8 0-9 4.6-9 10 0 2.9 1 5.3 2.9 7.1 1.1 1 2 2.3 2 3.7 0 1.4-.5 2.6-3.8 4-4.7 2.1-9 4.8-9.1 9.2 0 2.9 1.9 5 4.6 5h4.3c.7 0 1.4-.4 1.7-1 2.1-3.8 6-6.2 9.3-7.8 1.1-.5 1.5-1.8.8-2.8zM74.9 49.8c-3.3-1.4-3.8-2.7-3.8-4 0-1.4.9-2.7 2-3.7C75 40.3 76 37.9 76 35c0-5.4-3.2-10-9-10-3.5 0-6 1.6-7.5 4.1 4 3 6.5 7.9 6.5 13.9 0 3.5-.9 6.7-2.7 9.4-.7 1-.3 2.3.8 2.9 3.3 1.6 7.2 4 9.3 7.8.3.6 1 1 1.7 1h4.3c2.7 0 4.6-2.1 4.6-5-.1-4.4-4.4-7.2-9.1-9.3z\"},{\"opacity\":\".5\",\"d\":\"M58.7 59.4c-3.6-1.5-4.1-2.9-4.1-4.4 0-1.5 1-3 2.2-4.1 2.1-1.9 3.3-4.7 3.3-7.9 0-5.9-3.6-11-10-11s-10 5.1-10 11c0 3.2 1.2 5.9 3.3 7.9 1.2 1.1 2.2 2.6 2.2 4.1 0 1.5-.6 2.9-4.1 4.4-5.4 2.2-10.4 4.8-10.5 9.6 0 3.2 2.3 6 5.3 6h27.4c3 0 5.3-2.8 5.3-6-.1-4.8-5.1-7.4-10.3-9.6z\"}]},\ngroups:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M36.7 52.4C35 49.7 34 46.5 34 43c0-5.9 2.5-10.9 6.5-13.9-1.5-2.5-4-4.1-7.5-4.1-5.8 0-9 4.6-9 10 0 2.9 1 5.3 2.9 7.1 1.1 1 2 2.3 2 3.7 0 1.4-.5 2.6-3.8 4-4.7 2.1-9 4.8-9.1 9.2 0 2.9 1.9 5 4.6 5h4.3c.7 0 1.4-.4 1.7-1 2.1-3.8 6-6.2 9.3-7.8 1.1-.5 1.5-1.8.8-2.8zM74.9 49.8c-3.3-1.4-3.8-2.7-3.8-4 0-1.4.9-2.7 2-3.7C75 40.3 76 37.9 76 35c0-5.4-3.2-10-9-10-3.5 0-6 1.6-7.5 4.1 4 3 6.5 7.9 6.5 13.9 0 3.5-.9 6.7-2.7 9.4-.7 1-.3 2.3.8 2.9 3.3 1.6 7.2 4 9.3 7.8.3.6 1 1 1.7 1h4.3c2.7 0 4.6-2.1 4.6-5-.1-4.4-4.4-7.2-9.1-9.3z\"},{\"d\":\"M58.7 59.4c-3.6-1.5-4.1-2.9-4.1-4.4 0-1.5 1-3 2.2-4.1 2.1-1.9 3.3-4.7 3.3-7.9 0-5.9-3.6-11-10-11s-10 5.1-10 11c0 3.2 1.2 5.9 3.3 7.9 1.2 1.1 2.2 2.6 2.2 4.1 0 1.5-.6 2.9-4.1 4.4-5.4 2.2-10.4 4.8-10.5 9.6 0 3.2 2.3 6 5.3 6h27.4c3 0 5.3-2.8 5.3-6-.1-4.8-5.1-7.4-10.3-9.6z\"}]},\nguidance_center:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"rect\":[{\"height\":\"7.26\",\"rx\":\"1.81\",\"width\":\"7.25\",\"x\":\"20.02\",\"y\":\"20.05\"},{\"height\":\"7.33\",\"rx\":\"1.83\",\"width\":\"42\",\"x\":\"32.24\",\"y\":\"20.05\"},{\"height\":\"7.33\",\"rx\":\"1.83\",\"width\":\"42\",\"x\":\"32.24\",\"y\":\"35.04\"},{\"height\":\"7.33\",\"rx\":\"1.83\",\"width\":\"7.33\",\"x\":\"20.02\",\"y\":\"35.04\"},{\"height\":\"7.33\",\"rx\":\"1.83\",\"width\":\"7.33\",\"x\":\"20.02\",\"y\":\"50.03\"}],\"path\":{\"d\":\"M63.71 47.42A16.18 16.18 0 1079.89 63.6a16.22 16.22 0 00-16.18-16.18zm0 28A11.87 11.87 0 1175.58 63.6a11.9 11.9 0 01-11.87 11.86zM70 56.64l-9 3.24a1.61 1.61 0 00-1 1l-3.23 8.95a.55.55 0 00.7.7l8.95-3.23a1.59 1.59 0 001-1l3.24-9a.55.55 0 00-.66-.66zm-6.26 9.11a2.16 2.16 0 112.16-2.15 2.16 2.16 0 01-2.19 2.15zM47.61 50H34.07a1.87 1.87 0 00-1.83 1.83v3.66a1.88 1.88 0 001.83 1.84h9.52A20.89 20.89 0 0147.61 50z\"}}},\nhierarchy:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M46.25 46.251H29.404c-.999 0-1.875.875-1.875 1.875V62.5h-5.654c-1 0-1.875.875-1.875 1.875v13.75c0 1 .875 1.875 1.875 1.875h18.75c1 0 1.875-.875 1.875-1.875v-13.75c0-1-.875-1.875-1.875-1.875h-5.642v-8.749h30.035V62.5h-5.613c-1.001 0-1.875.875-1.875 1.875v13.75c0 1 .874 1.875 1.875 1.875h18.75c1 0 1.875-.875 1.875-1.875v-13.75c0-1-.875-1.875-1.875-1.875H72.49V48.126c0-1-.874-1.875-1.875-1.875H53.75V37.5h5.61c1 0 1.875-.875 1.875-1.875v-13.75c0-1-.875-1.875-1.875-1.875H40.61c-1.001 0-1.875.875-1.875 1.875v13.75c0 1 .874 1.875 1.875 1.875h5.64v8.751z\"}},\nhigh_velocity_sales:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M80 21.5c0-1.2-.7-1.5-1.1-1.5H53.1c-1.9 0-1.9 1.9-1.9 1.9v3.6c0 1.6 1 2 1.5 2h18c.7.1 1.9.6 1.9 2.6v17c.1.5.4 1.6 1.9 1.6h4s1.6 0 1.6-1.9V21.5z\"},{\"d\":\"M64.4 37.1c.1-1.2-.7-1.5-1.1-1.5H37.5c-1.9 0-1.9 1.9-1.9 1.9v3.6c0 1.6 1 2 1.5 2h18c.7.1 1.9.6 1.9 2.6v17c.1.5.4 1.6 1.9 1.6h4s1.6 0 1.6-1.9V37.1z\"},{\"d\":\"M24.2 78.5c.2.2 1.2 1 2.6-.4l13-13c.4-.4 1.5-1.2 1.5.5v12.8c.1.5.4 1.6 1.9 1.6h4s1.6 0 1.6-1.9V52.8c0-1.2-.7-1.4-1.1-1.5H21.9c-1.9 0-1.9 1.9-1.9 1.9v3.6c0 1.6 1 2 1.5 2h12c.5 0 2 .1.6 1.5L21.6 73s-1.5 1.4-.2 2.6l2.8 2.9z\"}]}},\nholiday_operating_hours:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M65.88 50.24A14.12 14.12 0 0180 64v.31a14.12 14.12 0 01-13.8 14.16h-.32a14.12 14.12 0 01-.31-28.23zm-.56 3.86v.11l-2.07 6.66a.52.52 0 01-.52.39H56a.73.73 0 00-.47 1.22l.07.06 5.39 4a.69.69 0 01.25.65v.1l-2.54 6.76a.66.66 0 00.94.81l.08-.06 5.83-4.32a.69.69 0 01.7-.06l.09.06 5.79 4.32a.65.65 0 001-.65v-.1l-2.56-6.79a.7.7 0 01.14-.68l.08-.07 5.39-4a.71.71 0 00-.3-1.27h-6.71a.65.65 0 01-.58-.3v-.09l-2-6.62a.65.65 0 00-1.27-.13zM44.8 22a24.88 24.88 0 0124.81 24.8v.3a18.32 18.32 0 00-3.17-.39h-1v-.25a20.57 20.57 0 10-17 20.61 17.43 17.43 0 001.15 4.07 24.39 24.39 0 01-4.79.47 24.81 24.81 0 010-49.61zm.2 14.13a1.32 1.32 0 011.28 1.29v8.27a1.3 1.3 0 00.34 1l4.76 4.91a1.26 1.26 0 010 1.81l-1.78 1.81a1.24 1.24 0 01-1.79 0l-6.3-6.38a1.82 1.82 0 01-.34-.95V37.42a1.32 1.32 0 011.28-1.29z\"}},\nhome:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M78.8 51.2h-6.3v27.5c0 .8-.5 1.2-1.3 1.2H58.8c-.8 0-1.3-.5-1.3-1.2V57.5h-15v21.2c0 .8-.5 1.2-1.3 1.2H28.8c-.8 0-1.3-.5-1.3-1.2V51.2h-6.3c-.5 0-1-.2-1.1-.8-.3-.5-.1-1 .3-1.4l28.8-28.8c.5-.5 1.4-.5 1.8 0L79.8 49c.4.4.4.9.3 1.4s-.8.8-1.3.8z\"}},\nhousehold:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M51.5 20.6c-.9-.8-2.2-.8-3 0L20.7 46.2c-1.5 1.4-.5 3.8 1.5 3.8H26v24c0 3.3 2.7 6 6 6h36c3.3 0 6-2.7 6-6V50h3.8c2 0 3-2.4 1.5-3.8L51.5 20.6zM36.9 63.9c-.2.3-.6.1-1 .1h-2.4c-1.5 0-2.5-.8-2.5-2.4.1-2.4 2.5-3.6 5.1-4.7 1.8-.8 2.1-1.5 2.1-2.3 0-.8-.5-1.5-1.1-2.1-1.1-1-1.6-2.4-1.6-4 0-3 1.8-5.6 5-5.6 1.9 0 3.3.9 4.2 2.3-2.3 1.8-3.7 4.5-3.7 7.9 0 1.9.5 3.7 1.5 5.2.4.6.2 1.1-.5 1.4-1.7.9-3.9 2.1-5.1 4.2zM57.6 71H42.4c-1.7 0-3-1.6-3-3.4.1-2.7 2.9-4.1 5.8-5.4 2-.9 2.3-1.6 2.3-2.5 0-.9-.6-1.7-1.2-2.3-1.2-1.1-1.8-2.6-1.8-4.4 0-3.3 2-6.2 5.6-6.2s5.6 2.9 5.6 6.2c0 1.8-.6 3.3-1.8 4.4-.7.6-1.2 1.4-1.2 2.3 0 .8.3 1.6 2.3 2.5 2.9 1.3 5.7 2.7 5.8 5.4-.2 1.8-1.5 3.4-3.2 3.4zm8.9-7h-2.4c-.4 0-.8.2-1-.1-1.2-2.1-3.4-3-5.2-3.9-.6-.3-.8-1-.4-1.6 1-1.5 1.5-3.3 1.5-5.2 0-3.3-1.4-6.1-3.6-7.8.8-1.4 2.2-2.3 4.2-2.3 3.3 0 5 2.6 5 5.6 0 1.6-.5 3-1.6 4-.6.6-1.1 1.3-1.1 2.1s.3 1.5 2.1 2.3c2.6 1.2 5.1 2.3 5.1 4.7C69 63.2 68 64 66.5 64z\"}},\nimmunization:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M53.76 31.24a7.19 7.19 0 00-.85-.7A4.13 4.13 0 0047.76 37l.82.82h-.06L35 51.3c-.3.28-.59.57-.8.79a6.85 6.85 0 00-.86 8.15.25.25 0 010 .07 16 16 0 006.42 6.36 6.23 6.23 0 002.57.87 7.1 7.1 0 005.89-2.18L62 51.51a.46.46 0 00.11-.16l.91.91a4.15 4.15 0 105.73-6zM78.09 28.45c-2.19-2.25-4.42-4.45-6.66-6.66a4.72 4.72 0 00-4-1.38 4.77 4.77 0 00-2.58 8.25c.69.68.31.36 1 1.07l-3.11 3a.83.83 0 000 1.19c.36.35 2.75 2.74 3.11 3.08a.85.85 0 001.19 0l3-3.07c.77.78.49.46 1.18 1.14a4.76 4.76 0 106.81-6.65zM31 66.23c-3.61 3.62-6.56 6.66-10.17 10.28a1.74 1.74 0 102.5 2.43c3.58-3.57 6.5-6.57 10.08-10.14.07-.07.13-.16.18-.21l-2.47-2.46z\"}}},\nindividual:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M79.4 72.9l-12 6.8c-.6.4-1.5.4-2.1 0l-11.9-6.8c-.5-.3-.5-.9 0-1.1l2.8-1.6c.2-.1.4-.1.6 0l7.3 4.1c.7.4 1.5.6 2.3.6s1.6-.2 2.3-.6l7.3-4.1c.2-.1.4-.1.6 0l2.8 1.6c.5.2.5.8 0 1.1zm0-7.7l-12 6.8c-.6.4-1.5.4-2.1 0l-11.9-6.8c-.5-.3-.5-.9 0-1.1l2.8-1.6c.2-.1.4-.1.6 0l7.3 4.1c.7.4 1.5.6 2.3.6s1.6-.2 2.3-.6l7.3-4.1c.2-.1.4-.1.6 0l2.8 1.6c.5.2.5.8 0 1.1zm-14-.8l-12-6.8c-.5-.3-.5-.9 0-1.1l12-6.8c.6-.4 1.5-.4 2.1 0l12 6.8c.5.3.5.9 0 1.1l-12 6.8c-.6.3-1.5.3-2.1 0zM51.9 60.5c.5-.3.5-.9 0-1.1l-2.8-1.6H49v-1.3s0-1.7 1.5-2.6c.4-.2 1.2-.6 2.1-1.1-.4-.2-.8-.4-1.2-.5-1.8-.9-4.4-1.8-5.2-4.1-.5-1.2-.2-2.5.4-3.6 1.1-1.1 2.1-2.1 3-3.5.2-.4.4-.6.6-1 2.5-3.6 2.8-8.5 1.4-12.6-1.5-4.4-5.4-7.4-10.2-7.5h-.7c-4.8.1-8.8 3.1-10.2 7.5-1.5 4.2-1.1 9 1.4 12.6.1.4.4.6.6 1 .9 1.4 2 2.3 3 3.5.5 1.1.7 2.3.4 3.6-.7 2.2-3.3 3.2-5.2 4.1-4.2 1.8-9.4 4.4-10.2 9.5-.9 4.2 2 8.4 6.4 8.4H49l2.9-1.9c.5-.3.5-.9 0-1.1l-2.8-1.6H49v-3.2l2.9-1.9z\"}},\ninsights:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M78.3 26.9H31c-.9 0-1.7.8-1.7 1.7v35.2c0 1.4-1.3 2.5-2.7 2.3-1.2-.2-2-1.3-2-2.4V38.5c0-.7-.5-1.2-1.2-1.2h-1.7c-.9 0-1.7.8-1.7 1.7v29.4c0 2.5 2.1 4.6 4.6 4.6H75.4c2.5 0 4.6-2.1 4.6-4.6V28.7c0-1-.8-1.8-1.7-1.8zm-26 33.5c0 .7-.5 1.2-1.2 1.2H37.3c-.7 0-1.2-.5-1.2-1.2v-2.3c0-.7.5-1.2 1.2-1.2h13.8c.7 0 1.2.5 1.2 1.2v2.3zm0-9.2c0 .7-.5 1.2-1.2 1.2H37.3c-.7 0-1.2-.5-1.2-1.2v-2.3c0-.7.5-1.2 1.2-1.2h13.8c.7 0 1.2.5 1.2 1.2v2.3zm20.8 9.2c0 .7-.5 1.2-1.2 1.2H58.1c-.7 0-1.2-.5-1.2-1.2v-2.3c0-.7.5-1.2 1.2-1.2h13.8c.7 0 1.2.5 1.2 1.2v2.3zm0-9.2c0 .7-.5 1.2-1.2 1.2H58.1c-.7 0-1.2-.5-1.2-1.2v-2.3c0-.7.5-1.2 1.2-1.2h13.8c.7 0 1.2.5 1.2 1.2v2.3zm0-9.3c0 .7-.5 1.2-1.2 1.2H37.3c-.7 0-1.2-.5-1.2-1.2V35c0-.7.5-1.2 1.2-1.2h34.6c.7 0 1.2.5 1.2 1.2v6.9z\"}},\ninstore_locations:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M32.1 70.1c-.6 0-1.2-.5-1.2-1.2v-7.3c0-.6.5-1.2 1.2-1.2h7.5c.6 0 1.2.5 1.2 1.2V69c0 .6-.5 1.2-1.2 1.2h-7.5zM46.3 70.1c-.6 0-1.2-.5-1.2-1.2V57.7c0-.6.5-1.2 1.2-1.2h7.5c.6 0 1.2.5 1.2 1.2V69c0 .6-.5 1.2-1.2 1.2h-7.5zM60.5 70.1c-.6 0-1.2-.5-1.2-1.2v-7.3c0-.6.5-1.2 1.2-1.2H68c.6 0 1.2.5 1.2 1.2V69c0 .6-.5 1.2-1.2 1.2h-7.5zM32.1 42.9c-.6 0-1.2-.5-1.2-1.2V31.1c0-.6.5-1.2 1.2-1.2h21.7c.6 0 1.2.5 1.2 1.2v10.7c0 .6-.5 1.2-1.2 1.2H32.1zM60.5 42.9c-.6 0-1.2-.5-1.2-1.2v-7.3c0-.6.5-1.2 1.2-1.2H68c.6 0 1.2.5 1.2 1.2v7.3c0 .6-.5 1.2-1.2 1.2h-7.5z\"},{\"d\":\"M73.8 20H26.2c-3.4 0-6.2 2.8-6.2 6.2v47.6c0 3.4 2.8 6.2 6.2 6.2h47.6c3.4 0 6.2-2.8 6.2-6.2V26.2c0-3.4-2.8-6.2-6.2-6.2zm0 51.7c0 1.2-.9 2.1-2.1 2.1H28.3c-1.1 0-2.1-.9-2.1-2.1v-19h47.6v19zm0-25H26.2V28.3c0-1.2.9-2.1 2.1-2.1h43.4c1.1 0 2.1.9 2.1 2.1v18.4z\"}]}},\ninvestment_account:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M74 27H26c-3.3 0-6 2.7-6 6v34c0 3.3 2.7 6 6 6h48c3.3 0 6-2.7 6-6V33c0-3.3-2.7-6-6-6zm-5 27c0 .9-1 1.3-1.7.7l-4.6-4.6-10.6 9.1c-1.2 1.2-3.1 1.2-4.2 0l-6.4-7.3-11.4 10c-.4.4-1 .4-1.4 0l-.5-.5c-.4-.4-.4-1 0-1.4l11.2-15.3c1.2-1.2 3.1-1.2 4.2 0l6.4 6.4 6.5-7.5-4.2-3.8c-.6-.6-.2-1.8.7-1.8h14c1.1 0 1.9 1 1.9 2.1V54z\"}},\ninvocable_action:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M62.8 71.2V79c0 .6.5 1.1 1.1 1.1.2 0 .5-.1.6-.2l15.1-12.3c.2-.2.3-.5.3-.8 0-.3-.2-.6-.4-.8L64.4 53.1c-.1-.1-.3-.1-.5-.1-.6 0-1.1.5-1.1 1.1v8.3c-9.3 2.5-16.9-5.7-16.9-5.7-.2-.2-.5-.3-.8-.3-.6 0-1.1.5-1.1 1.1v.2c3.8 15.7 18.8 13.5 18.8 13.5z\"},{\"d\":\"M38.2 58.9l-.2-.7V57.3c0-3.9 3.2-7.1 7.1-7.1 1.9 0 3.6.7 5 2.1l.1.1.1.1c.9 1 3.5 3.1 6.6 4V54c0-3.9 3.2-7.1 7.1-7.1 1.5 0 2.5.4 3.2.8l.7.3.6.5 8.5 7.2c2-2 3.2-4.8 3.2-7.8 0-6.2-5-11.2-11.2-11.2h-.6v-1c0-6.2-5.1-11.3-11.3-11.3-3 0-5.6 1.1-7.6 3-1.6-4.2-5.7-7.4-10.6-7.4-6.2 0-11.3 5.1-11.3 11.3 0 2.1.6 4 1.5 5.7-5 1.2-8.6 5.6-8.6 11 0 6.1 4.7 11 10.8 11.2h7.4c-.4-.1-.4-.2-.5-.3z\"}]},\niot_context:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M73 43.5c-3.2 0-6 2.2-6.7 5.2h-4.9c-.8-5.6-5.6-10-11.5-10s-10.7 4.3-11.5 10h-4.9c-.8-3-3.5-5.2-6.7-5.2-3.8 0-7 3.1-7 7 0 3.8 3.1 7 7 7 3.2 0 6-2.2 6.7-5.2h4.9c.8 5 4.7 8.8 9.7 9.6v4.9c-3 .8-5.2 3.5-5.2 6.7 0 3.8 3.1 7 7 7s7-3.1 7-7c0-3.2-2.2-6-5.2-6.7v-4.9c5-.7 8.9-4.6 9.7-9.6h4.9c.8 3 3.5 5.2 6.7 5.2 3.8 0 7-3.1 7-7s-3.1-7-7-7zM53.5 73.4c0 1.9-1.6 3.5-3.5 3.5s-3.5-1.6-3.5-3.5 1.6-3.5 3.5-3.5 3.5 1.6 3.5 3.5z\"},{\"d\":\"M33.3 36c-.8.8-.8 2 0 2.8.8.8 2 .8 2.8 0 7.4-7.4 19.4-7.4 26.8 0 .4.4.9.6 1.4.6s1-.2 1.4-.6c.8-.8.8-2 0-2.8-8.9-9-23.5-9-32.4 0z\"},{\"d\":\"M28.2 32.4C40 20.7 59 20.7 70.8 32.4c.4.4.9.6 1.4.6s1-.2 1.4-.6c.8-.8.8-2 0-2.8-13.3-13.3-34.9-13.3-48.2 0-.8.8-.8 2 0 2.8.8.8 2 .8 2.8 0z\"}]}},\niot_orchestrations:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"fill-rule\":\"evenodd\",\"circle\":[{\"cx\":\"39\",\"cy\":\"32\",\"r\":\"12\"},{\"cx\":\"70\",\"cy\":\"50\",\"r\":\"12\"}],\"path\":[{\"fill-rule\":\"nonzero\",\"d\":\"M39 74a6 6 0 100-12 6 6 0 000 12zm0 6c-6.627 0-12-5.373-12-12s5.373-12 12-12 12 5.373 12 12-5.373 12-12 12zm6.728-38.662c3.582 4.407 8.307 6.98 14.07 7.675a2 2 0 10.479-3.971c-4.741-.571-8.522-2.631-11.445-6.227a2 2 0 10-3.104 2.523z\"},{\"fill-rule\":\"nonzero\",\"d\":\"M43.287 58.624c2.3-5.192 2.449-10.57.45-16.022a2 2 0 10-3.755 1.377c1.644 4.484 1.525 8.788-.352 13.024a2 2 0 103.657 1.62zM47.963 25.753c3.782-2.078 7.668-2.308 11.824-.69 4.007 1.705 6.575 4.907 7.57 8.188.529 1.672.643 2.742.643 6.275a2 2 0 104 0c0-3.906-.154-5.344-.821-7.458-1.312-4.326-4.646-8.482-9.883-10.709-5.308-2.068-10.43-1.765-15.26.888a2 2 0 001.927 3.506zM47.963 74.278c3.782 2.078 7.668 2.308 11.824.689 4.007-1.705 6.575-4.906 7.57-8.187.529-1.672.643-2.742.643-6.276a2 2 0 114 0c0 3.907-.154 5.345-.821 7.459-1.312 4.325-4.646 8.481-9.883 10.708-5.308 2.068-10.43 1.765-15.26-.888a2 2 0 111.927-3.505z\"}]}},\njavascript_button:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M63 36h10.6c.8 0 1.4-.6 1.4-1.4 0-.4-.1-.7-.4-1L61.4 20.4c-.3-.3-.6-.4-1-.4-.8 0-1.4.6-1.4 1.4V32c0 2.2 1.8 4 4 4z\"},{\"d\":\"M73 42H59c-3.3 0-6-2.7-6-6V22c0-1.1-.9-2-2-2H31c-3.3 0-6 2.7-6 6v48c0 3.3 2.7 6 6 6h38c3.3 0 6-2.7 6-6V44c0-1.1-.9-2-2-2zM37.8 66.3c0 2.9-1.4 3.9-3.6 3.9l-1.7-.2.3-1.8 1.2.2c1 0 1.6-.4 1.6-2v-6.5h2.2v6.4zm4.3 3.7c-1 0-2-.2-2.9-.6l.6-1.8c.8.4 1.6.6 2.5.6 1 0 1.6-.4 1.6-1.1s-.5-1-1.7-1.4c-1.2-.4-2.8-1.5-2.8-3s1.4-3 3.8-3c.9 0 1.8.1 2.6.5l-.5 1.8c-.7-.3-1.4-.5-2.1-.5-1 0-1.5.5-1.5 1s.6.9 1.9 1.4 2.6 1.6 2.6 3-1.3 3.1-4.1 3.1z\"}]}},\njob_family:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"circle\":{\"cx\":\"44.6\",\"cy\":\"36.2\",\"r\":\"16.1\"},\"path\":{\"d\":\"M48.8 79.6c2.8 0 1.2-1.9 1.2-1.9a19.22 19.22 0 01-4.2-12 18.65 18.65 0 011.7-7.9l.2-.4a1.17 1.17 0 00-.9-1.9 17.7 17.7 0 00-2.3-.1 24.35 24.35 0 00-24.1 20.9c0 1.2.4 3.5 4.2 3.5h23.7c.4-.2.4-.2.5-.2zM65.3 51.2a14.25 14.25 0 1014.2 14.3 14.25 14.25 0 00-14.2-14.3zm0 4.5a3.22 3.22 0 013.2 3.2 3.06 3.06 0 01-.7 2l2.3 4.3c.1.2 0 .4-.2.4a2.7 2.7 0 00-1.1.5c-.2.1-.4 0-.4-.1l-2.2-4.1a3.08 3.08 0 01-.9.1 3.22 3.22 0 01-3.2-3.2 3.08 3.08 0 013.2-3.1zm-2 8.2L61.1 68a3.26 3.26 0 011 2.3 3.2 3.2 0 11-3.2-3.2h.4l2.3-4.3c.1-.2.2-.2.5-.1a2.87 2.87 0 001.1.6c.1.4.2.6.1.6zm8.3 9.8a3.29 3.29 0 01-3-1.9h-4.4c-.2 0-.4-.2-.2-.4a2.48 2.48 0 00.1-.9v-.2c0-.2.1-.4.2-.4h4.2a3.12 3.12 0 013.1-2.6 3.22 3.22 0 013.2 3.2 3.44 3.44 0 01-3.2 3.2z\"}},\njob_position:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"circle\":{\"cx\":\"46.3\",\"cy\":\"36.3\",\"r\":\"16\"},\"path\":{\"d\":\"M66.6 51.1a11.39 11.39 0 00-11.4 11.4c0 7.7 8.1 15 10.6 16.9a1.09 1.09 0 001.5 0c2.5-2 10.6-9.2 10.6-16.9a11.25 11.25 0 00-11.3-11.4zm0 16a4.7 4.7 0 114.7-4.7 4.76 4.76 0 01-4.7 4.7zM50.4 79.7h1.4c5.2-.5 2.4-3.7 2.4-3.7-3.2-4.6-5-9.1-5-13.5a13.74 13.74 0 01.6-4.2c.2-2-.6-2.5-1-2.7h-.2a18.48 18.48 0 00-2.4-.1 24.26 24.26 0 00-24 20.9c0 1.2.4 3.5 4.2 3.5h23.8c0-.2.1-.2.2-.2z\"}},\njob_profile:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M37.3 31.9h21.8c1.1 0 2-.9 2-2v-4c0-3.3-2.7-5.9-5.9-5.9H41.3c-3.3 0-5.9 2.7-5.9 5.9v4c-.1 1.1.8 2 1.9 2z\"},{\"d\":\"M70 24.9h-2c-.6 0-1 .4-1 1v4c0 4.4-3.6 7.9-7.9 7.9H37.3c-4.4 0-7.9-3.6-7.9-7.9v-4c0-.6-.4-1-1-1h-2c-3.3 0-5.9 2.7-5.9 5.9v40.6c0 3.3 2.7 5.9 5.9 5.9h20c2.8 0 3.1-2.3 3.1-3.1V52.8c0-2.3 1.3-2.8 2-2.8h21.6c2.4 0 2.8-2.1 2.8-2.8V31c.1-3.4-2.6-6.1-5.9-6.1z\"},{\"d\":\"M78.4 60.4H56.6c-.6 0-1.1-.5-1.1-1.1v-2.2c0-.6.5-1.1 1.1-1.1h21.8c.6 0 1.1.5 1.1 1.1v2.2c0 .6-.5 1.1-1.1 1.1zm0 9.8H56.6c-.6 0-1.1-.5-1.1-1.1v-2.2c0-.6.5-1.1 1.1-1.1h21.8c.6 0 1.1.5 1.1 1.1v2.2c0 .6-.5 1.1-1.1 1.1zm0 9.8H56.6c-.6 0-1.1-.5-1.1-1.1v-2.2c0-.6.5-1.1 1.1-1.1h21.8c.6 0 1.1.5 1.1 1.1v2.2c0 .6-.5 1.1-1.1 1.1z\"}]},\nkanban:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M56.5 38.3c0-1-.9-1.9-1.9-1.9H43.4c-1 0-1.9.9-1.9 1.9V72c0 1 .9 1.9 1.9 1.9h11.2c1 0 1.9-.9 1.9-1.9V38.3zm-22.5 0c0-1-.9-1.9-1.9-1.9H20.9c-1 0-1.9.9-1.9 1.9V77c0 1 .9 1.9 1.9 1.9h11.2c1 0 1.9-.9 1.9-1.9V38.3zm45 0c0-1-.9-1.9-1.9-1.9H65.9c-1 0-1.9.9-1.9 1.9V67c0 1 .9 1.9 1.9 1.9h11.2c1 0 1.9-.9 1.9-1.9V38.3zm0-17.5c0-1-.9-1.9-1.9-1.9H20.9c-1 0-1.9.9-1.9 1.9V27c0 1 .9 1.9 1.9 1.9h56.2c1 0 1.9-.9 1.9-1.9v-6.2z\"}},\nkey_dates:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M77.86 41.57a2.14 2.14 0 012.13 2v32.3a6.44 6.44 0 01-6.2 6.42H26.43a6.46 6.46 0 01-6.43-6.2V43.71a2.15 2.15 0 012-2.13h55.86zM49.21 47.8v.11l-2.87 9.2a.72.72 0 01-.74.55h-9.3a1 1 0 00-.63 1.69l.08.08 7.44 5.48a1 1 0 01.34.91v.12l-3.42 9.38a.91.91 0 001.32 1.1l.08-.06 8.05-6a1 1 0 011-.07l.09.07 8 6a.91.91 0 001.43-.94v-.1l-3.53-9.38a.93.93 0 01.15-.94l.09-.09 7.44-5.48a1 1 0 00-.43-1.76h-9.26a.9.9 0 01-.81-.43v-.12L50.88 48a.9.9 0 00-1.67-.2zM63.93 18a4.29 4.29 0 014.28 4.29v2.14h5.36A6.44 6.44 0 0180 30.86V33a2.14 2.14 0 01-2.14 2.14H22.14A2.14 2.14 0 0120 33v-2.14a6.44 6.44 0 016.43-6.43h5.36v-2.14a4.29 4.29 0 118.57 0v2.14h19.28v-2.14A4.3 4.3 0 0163.93 18z\"}},\nknowledge:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M32 59h13c1.1 0 2-.9 2-2V27c0-2.2-2-4-4-4H32.3C31 23 30 24 30 25.3V57c0 1.1.9 2 2 2zm44-30v32c0 2.2-1.8 4-4 4H28c-2.2 0-4-1.8-4-4V29c-3.3 0-6 2.7-6 6v30c0 3.3 2.7 6 6 6h19c1.1 0 2 .9 2 2s.9 2 2 2h6c1.1 0 2-.9 2-2s.9-2 2-2h19c3.3 0 6-2.7 6-6V35c0-3.3-2.7-6-6-6zM55 59h12.7c1.3 0 2.3-1 2.3-2.3V25c0-1.1-.9-2-2-2H57c-2 0-4 1.8-4 4v30c0 1.1.9 2 2 2z\"}},\nlead:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"circle\":{\"cx\":\"50\",\"cy\":\"29\",\"r\":\"9\"},\"path\":{\"d\":\"M78 44H22c-2 0-2.8 2.5-1.1 3.6L35.5 57c.7.5 1.1 1.4.8 2.2l-5.5 18.3c-.6 2 2 3.4 3.5 1.9l14.2-15c.8-.9 2.2-.9 3 0l14.2 15c1.4 1.5 4 .1 3.5-1.9l-5.5-18.3c-.2-.8.1-1.7.8-2.2l14.6-9.4c1.7-1.1.9-3.6-1.1-3.6z\"}},\nlead_insights:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M50 22c-15.5 0-28 12.6-28 28s12.6 28 28 28c15.5 0 28-12.6 28-28S65.5 22 50 22zm0 52.7c-13.6 0-24.7-11-24.7-24.7 0-13.6 11-24.7 24.7-24.7 13.6 0 24.7 11 24.7 24.7 0 13.6-11.1 24.7-24.7 24.7z\"},\"g\":{\"path\":{\"d\":\"M49 49.2c0 2.4-.5 4.5-1.4 6.2-.9 1.7-2.3 3-4.1 4-1.8.9-4 1.4-6.6 1.4v-2c2.9 0 5.2-.7 6.9-2s2.6-3.2 2.8-5.6c-1.6 1.6-3.5 2.4-5.7 2.4-1.2 0-2.3-.3-3.3-.8s-1.7-1.2-2.3-2.2c-.6-1-.8-2.1-.8-3.4 0-1.3.3-2.5.9-3.6.6-1.1 1.4-1.9 2.5-2.5 1.1-.6 2.4-.9 3.9-.9 2.4 0 4.3.8 5.5 2.4s1.7 3.6 1.7 6.6zm-2.4-.4c0-2.3-.4-4-1.1-5.1-.7-1.1-2-1.7-3.7-1.7-1.5 0-2.7.4-3.6 1.3-.8.9-1.2 2.1-1.2 3.6s.4 2.6 1.2 3.4c.8.8 1.9 1.2 3.3 1.2 1.1 0 2-.2 2.9-.7s1.5-1.2 2.2-2zM66.1 49.2c0 2.4-.5 4.5-1.4 6.2-.9 1.7-2.3 3-4.1 4-1.8.9-4 1.4-6.6 1.4v-2c2.9 0 5.2-.7 6.9-2s2.6-3.2 2.8-5.6c-1.6 1.6-3.5 2.4-5.7 2.4-1.2 0-2.3-.3-3.3-.8s-1.7-1.2-2.3-2.2c-.6-1-.8-2.1-.8-3.4 0-1.3.3-2.5.9-3.6.6-1.1 1.4-1.9 2.5-2.5 1.1-.6 2.4-.9 3.9-.9 2.4 0 4.3.8 5.5 2.4s1.7 3.6 1.7 6.6zm-2.5-.4c0-2.3-.4-4-1.1-5.1-.7-1.1-2-1.7-3.7-1.7-1.5 0-2.7.4-3.6 1.3-.8.9-1.2 2.1-1.2 3.6s.4 2.6 1.2 3.4c.8.8 1.9 1.2 3.3 1.2 1.1 0 2-.2 2.9-.7s1.6-1.2 2.2-2z\"}}},\nlead_list:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M37.1 62.3H77c1.1 0 2 .9 2 2v4c0 1.1-.9 2-2 2H37.1c-1.1 0-2-.9-2-2v-4c0-1.1.9-2 2-2zM25 70.3h-4c-1.1 0-2-.9-2-2v-4c0-1.1.9-2 2-2h4c1.1 0 2 .9 2 2v4c.1 1-.7 1.9-1.8 2H25zM25 52.4h-4c-1.1 0-2-.9-2-2v-4c0-1.1.9-2 2-2h4c1.1 0 2 .9 2 2v4c.1 1-.7 1.9-1.8 2H25zM25 34.5h-4c-1.1 0-2-.9-2-2v-4c0-1.1.9-2 2-2h4c1.1 0 2 .9 2 2v4c.1 1-.7 1.9-1.8 2H25zM37.1 44.4h35.1c1.1 0 2 .9 2 2v4c0 1.1-.9 2-2 2H37.1c-1.1 0-2-.9-2-2v-4c0-1.1.9-2 2-2zM37.1 26.6H77c1.1 0 2 .9 2 2v4c0 1.1-.9 2-2 2H37.1c-1.1 0-2-.9-2-2v-4c0-1.1.9-2 2-2z\"}},\nletterhead:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M73.8 20H26.2c-3.4 0-6.2 2.8-6.2 6.2v47.6c0 3.4 2.8 6.2 6.2 6.2h47.6c3.4 0 6.2-2.8 6.2-6.2V26.2c0-3.4-2.8-6.2-6.2-6.2zM71 69.1c0 .8-.8 1.4-1.6 1.4H30.5c-.8 0-1.4-.8-1.4-1.6v-9c0-.8.8-1.4 1.6-1.4h38.9c.8 0 1.4.8 1.4 1.6v9zm0-29.2c0 .8-.8 1.4-1.6 1.4H30.5c-.8 0-1.4-.8-1.4-1.6v-9c0-.8.8-1.4 1.6-1.4h38.9c.8 0 1.4.8 1.4 1.6v9z\"}},\nlightning_component:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M61.1 20H44.2c-2.5 0-4.7 1.5-5.6 3.8L28.1 50.9c-.8 2 .7 4.1 2.8 4.1h17.2l-6.4 22.4c-.6 2.1 2 3.5 3.4 1.8L71.4 48c1.7-1.9.3-5-2.3-5h-13l11.4-18.4c1.2-2-.2-4.6-2.6-4.6h-3.8z\"}},\nlightning_usage:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M19 73.9c0 2.8 2.2 5 5 5h53c1.1 0 2-.9 2-2v-2.1c0-1.1-.9-2-2-2H26.9c-1 0-1.9-.9-1.9-1.9v-50c0-1.1-.9-2-2-2h-2c-1.1 0-2 .9-2 2v53z\"},{\"d\":\"M34.4 57.9c-.8 0-1.5-.3-2.1-.9-1.2-1.2-1.2-3.1 0-4.2l16-15.9c1.2-1.2 3.1-1.2 4.2 0l7.7 7.7 13.5-13.7c1.2-1.2 3.1-1.2 4.2 0 1.2 1.2 1.2 3.1 0 4.2L62.4 50.8c-.6.6-1.3.9-2.1.9s-1.6-.3-2.1-.9l-7.8-7.7L36.6 57c-.6.6-1.4.9-2.2.9z\"}]},\nlink:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M51.5 69.4c-.9-.1-1.7-.2-2.6-.4-.9-.2-1.8-.4-2.7-.7-.5-.2-1.1-.1-1.5.3l-.6.6c-3.6 3.6-9.4 4-13.3.7-4.2-3.7-4.4-10.1-.5-14l9.5-9.5c1.2-1.2 2.7-2.1 4.3-2.5 2-.5 4.1-.4 6 .4 1.2.5 2.3 1.2 3.2 2.1.5.5.9 1.1 1.2 1.7.5.8 1.6 1 2.3.3l3.5-3.5c.5-.5.6-1.3.1-1.9-.5-.7-1.1-1.4-1.7-2-.9-.9-1.9-1.7-3-2.4-1.8-1.1-3.8-1.9-5.8-2.3-3.9-.8-8.1-.2-11.7 1.8-1.4.8-2.7 1.7-3.9 2.9l-9.2 9.2c-6.6 6.6-7.1 17.3-.8 24.1 6.7 7.2 17.9 7.4 24.8.5l3.1-3.1c1-.7.5-2.2-.7-2.3z\"},{\"d\":\"M74.5 24.5c-6.8-6.3-17.6-5.8-24.1.8L47.5 28c-.9.9-.3 2.3.9 2.4 1.8.1 3.5.5 5.3 1.1.5.2 1.1 0 1.5-.3l.6-.6c3.6-3.6 9.4-4 13.3-.7 4.2 3.7 4.4 10.1.5 14l-9.5 9.5c-1.2 1.2-2.7 2.1-4.3 2.5-2 .5-4.1.4-6-.4-1.2-.5-2.3-1.2-3.2-2.1-.5-.5-.9-1-1.2-1.6-.5-.8-1.6-1-2.3-.3L39.6 55c-.5.5-.6 1.3-.1 1.9.5.7 1.1 1.4 1.7 2 .9.9 1.9 1.7 3 2.4 1.8 1 3.8 1.7 5.8 2.1 3.9.8 8.1.2 11.7-1.8 1.4-.8 2.7-1.7 3.9-2.9l9.5-9.5c6.7-6.8 6.6-18.1-.6-24.7z\"}]},\nlist_email:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M64.9 34.9H30.3c-2.7 0-4.8 2.2-4.8 4.8v.8c0 .4.4.8.8.8h32.1c2.7 0 4.8 2.2 4.8 4.8v23c0 .4.4.8.8.8h.8c2.7 0 4.8-2.2 4.8-4.8V39.7c.1-2.6-2.1-4.8-4.7-4.8z\"},{\"d\":\"M75.3 24.6H40.7c-2.7 0-4.8 2.2-4.8 4.8v.8c0 .4.4.8.8.8h32.1c2.7 0 4.8 2.2 4.8 4.8v23c0 .4.4.8.8.8h.8c2.7 0 4.8-2.2 4.8-4.8V29.4c.1-2.6-2.1-4.8-4.7-4.8z\"},{\"d\":\"M38.5 64.2c.5.5 1.2.5 1.7 0l18.3-17c.3-.6.2-1.7-1.1-1.7l-36.1.1c-1 0-1.8.9-1.1 1.7l18.3 16.9zm20.3-10.4c0-.8-1-1.3-1.6-.7L42.9 66.3c-1 .9-2.2 1.4-3.5 1.4-1.3 0-2.5-.5-3.5-1.3L21.7 53.1c-.6-.6-1.6-.2-1.6.7-.1-.2-.1 18.4-.1 18.4 0 1.8 1.5 3.2 3.2 3.2h32.3c1.8 0 3.2-1.5 3.2-3.2V53.8z\"}]},\nlive_chat:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M49.5 21.9c-16.7 0-30 12.3-30 27.4 0 4.8 1.4 9.3 3.6 13.3.4.6.5 1.4.3 2.1l-3.9 10.7c-.4 1 .6 1.9 1.6 1.6L32 72.9c.6-.3 1.4-.1 2.1.3 4.5 2.5 9.9 4 15.7 4 16.4-.2 29.8-12.3 29.8-27.6-.1-15.5-13.5-27.7-30.1-27.7zm-15 32.6c-2.8 0-5-2.3-5-5 0-2.8 2.3-5 5-5 2.8 0 5 2.3 5 5s-2.3 5-5 5zm15 0c-2.8 0-5-2.3-5-5 0-2.8 2.3-5 5-5 2.8 0 5 2.3 5 5s-2.2 5-5 5zm15.1 0c-2.8 0-5-2.3-5-5 0-2.8 2.3-5 5-5s5 2.3 5 5-2.3 5-5 5z\"}},\nlive_chat_visitor:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M50 22.2c-16.6 0-30 12.5-30 28 0 5 1.4 9.6 3.8 13.7.3.5.4 1.1.2 1.6l-2.8 8.9c-.5 1.6 1 3 2.6 2.5l8.8-3.1c.6-.2 1.2-.1 1.7.2 4.6 2.7 10 4.2 15.8 4.2 16.6 0 30-12.5 30-28-.1-15.5-13.6-28-30.1-28zm-5.5 26.5c2.4-1 2.7-1.9 2.7-2.9 0-1.1-.6-2-1.4-2.7-1.4-1.2-2.2-3-2.2-5 0-3.8 2.4-7 6.4-7s6.3 3.2 6.3 7c0 2-.7 3.8-2.1 5-.8.7-1.4 1.6-1.4 2.7 0 1 .3 1.9 2.6 2.8C58.8 50 61.8 52 62 55c.2 2-1.3 4.1-3.2 4.1H41.4C39.5 59.1 38 57 38 55c0-3 3.2-4.8 6.5-6.3zm-3.8 20.5c-1.7 0-3.1-1.4-3.1-3.1 0-1.7 1.4-3.1 3.1-3.1 1.7 0 3.1 1.4 3.1 3.1s-1.4 3.1-3.1 3.1zm9.3 0c-1.7 0-3.1-1.4-3.1-3.1 0-1.7 1.4-3.1 3.1-3.1 1.7 0 3.1 1.4 3.1 3.1s-1.4 3.1-3.1 3.1zm9.3 0c-1.7 0-3.1-1.4-3.1-3.1 0-1.7 1.4-3.1 3.1-3.1s3.1 1.4 3.1 3.1-1.5 3.1-3.1 3.1z\"}},\nlocation:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M77.5 28.28l-18-9a3.2 3.2 0 00-2.62 0l-16.63 8.38-16.75-8.38a3.1 3.1 0 00-3.13.12A2.88 2.88 0 0019 21.91v45a2.92 2.92 0 001.63 2.62l18 9a3.2 3.2 0 002.63 0L58 70.16l16.63 8.38a2.52 2.52 0 001.37.37 2.75 2.75 0 001.62-.5 2.88 2.88 0 001.38-2.5v-45a2.81 2.81 0 00-1.5-2.63zM72.75 34v23.78a1.87 1.87 0 01-2.5 1.88c-4.63-1.75-.88-9.5-4.25-13.75-3.13-3.88-7.13.13-11-6-3.63-5.91 1.25-10.13 5.75-12.38a2.13 2.13 0 011.75 0l9.25 4.63a2 2 0 011 1.84zM47.62 68.78a2.1 2.1 0 01-2.25-.25 6.57 6.57 0 01-2.25-4.63c0-3-5-2-5-8 0-4.87-5.75-6.13-10.63-5.63a1.88 1.88 0 01-2.12-2V30a1.86 1.86 0 012.75-1.75l10.75 5.38a.44.44 0 01.25.13l.37.25c4.5 2.63 3.62 4.75 1.75 8-2.13 3.62-3 0-6-1s-6 1-5 3 4 0 6 2 2 5 8 3 7-1 9 1a6.31 6.31 0 010 9c-1.75 1.75-2.5 5.5-3.25 8a2 2 0 01-1 1.25z\"}},\nlocation_permit:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M66.47 31.75l-11.4-11.39a1.33 1.33 0 00-.89-.36 1.21 1.21 0 00-1.24 1.25v9.08a3.38 3.38 0 003.38 3.38h9.08a1.22 1.22 0 001.25-1.25c.17-.18.17-.35-.18-.71zm.35 9.08A1.78 1.78 0 0065 39.05H52.94a5.17 5.17 0 01-5.17-5.16V21.78A1.78 1.78 0 0046 20H28.72a5.17 5.17 0 00-5.16 5.16v41.49a5.17 5.17 0 005.16 5.16h17.63c1.42 0 1.78-.89 1.6-2.49s-.53-7.84 3.74-12.82 11.4-5.34 12.46-5.34 2.85 0 2.67-1.61zm-37.21-10l4.28-.53a.18.18 0 00.18-.18l2-3.92a.55.55 0 01.72 0l1.95 3.92.18.18 4.28.53a.34.34 0 01.17.53l-3.2 3.21V35l.71 4.27c0 .18-.18.53-.53.35l-3.74-1.95h-.41l-3.74 1.95c-.18.18-.53 0-.53-.35l.53-4.27v-.4l-3.2-3a1.39 1.39 0 01.35-.74zm15.67 29a1.78 1.78 0 01-1.78 1.78H32.28a1.78 1.78 0 01-1.78-1.78V58.1a1.79 1.79 0 011.78-1.78H43.5a1.78 1.78 0 011.78 1.78zm9.44-10.5a1.78 1.78 0 01-1.78 1.78H32.28a1.78 1.78 0 01-1.78-1.78V47.6a1.79 1.79 0 011.78-1.78h20.84a1.78 1.78 0 011.78 1.78v1.78zM64.15 63.8a2.49 2.49 0 102.5 2.49 2.68 2.68 0 00-2.5-2.49z\"},{\"data-name\":\"Shape\",\"d\":\"M64.15 55.43a12.29 12.29 0 1012.29 12.29 12.31 12.31 0 00-12.29-12.29zM64.51 75a.53.53 0 01-.71 0c-1.25-1.06-5.52-4.62-5.52-8.72a5.88 5.88 0 0111.75 0c-.18 4.11-4.27 7.72-5.52 8.72z\"}]},\nlog_a_call:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M69.7 20H32.1c-3.3 0-6.1 3-6.1 6v2h-2c-2.2 0-4 1.8-4 4s1.8 4 4 4h2v10h-2c-2.2 0-4 1.8-4 4s1.8 4 4 4h2v10h-2c-2.2 0-4 1.8-4 4s1.8 4 4 4h2v2c0 3 2.8 6 6.1 6h37.6c3.3 0 6.3-3 6.3-6.3v-48c0-3.3-3-5.7-6.3-5.7zm-3.6 40.3l-2.8 2.8c-.6.6-1.5 1-2.3.9-6.6-.4-12.8-3.4-17.2-7.7-4.4-4.4-7.4-10.6-7.7-17.2 0-.9.3-1.7.9-2.3l2.8-2.8c1.3-1.3 3.5-1.2 4.6.3l2.6 3.2c.9 1.1.9 2.6.1 3.8l-2.2 3.1c-.3.4-.3 1 .1 1.3l4.6 5.1 5.1 4.6c.4.4.9.4 1.3.1l3.1-2.2c1.1-.8 2.7-.8 3.8.1l3.2 2.6c1.2.8 1.3 3 0 4.3z\"}},\nlogging:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M77.2 56.2h-3.7c-1 0-1.8 1-1.8 1.8v12.3c0 1-.9 1.8-1.8 1.8H29.3c-1 0-1.8-.9-1.8-1.8V58c0-.9-.9-1.8-1.8-1.8H22c-1 0-1.8 1-1.8 1.8v16.6c0 2.7 2.2 4.9 4.9 4.9h49.1c2.7 0 4.9-2.2 4.9-4.9V58c-.1-.9-.9-1.8-1.9-1.8zM50.8 21c-.7-.7-1.8-.7-2.6 0L31.6 37.6c-.7.7-.7 1.8 0 2.6l2.6 2.6c.7.7 1.8.7 2.6 0l6.9-6.9c.7-.7 2.2-.2 2.2.9v26c0 1 .7 1.8 1.7 1.8h3.7c1 0 2-1 2-1.8V36.9c0-1.1 1.2-1.6 2.1-.9l6.9 6.9c.7.7 1.8.7 2.6 0l2.6-2.6c.7-.7.7-1.8 0-2.6-.2 0-16.7-16.7-16.7-16.7z\"}},\nloop:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M76.5 58.3c0 .1 0 .2-.1.2-.3 1.1-.7 2.2-1.1 3.3-.5 1.2-1 2.3-1.6 3.4-1.2 2.2-2.7 4.2-4.5 6-1.7 1.8-3.7 3.4-5.9 4.7-2.2 1.3-4.5 2.3-7 3-2.5.7-5.1 1.1-7.7 1.1C32.8 80 20 67.2 20 51.3s12.8-28.6 28.6-28.6c5.3 0 10.3 1.5 14.6 4h.1c2.1 1.2 4 2.7 5.6 4.4.5.4.8.7 1.2 1.2.9.8 1.6.3 1.6-.9V22c0-1.1.9-2 2-2h4c1.1 0 2 .9 2.2 2v24.5c0 .9-.8 1.8-1.8 1.8H53.6c-1.1 0-1.9-.8-1.9-1.9v-4.2c0-1.1.9-2 2-2h9.4c.8 0 1.4-.2 1.7-.7-3.6-5-9.6-8.3-16.2-8.3-11.1 0-20.1 9-20.1 20.1s9 20.1 20.1 20.1c8.7 0 16.1-5.5 18.9-13.3 0 0 .3-1.8 1.7-1.8h5.7c.8 0 1.6.6 1.6 1.5v.5z\"}},\nmacros:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M64.7 67.5c-.2.5-.7.6-1.2.6h-5.8c-.5 0-.9-.4-.9-.9 0-.1.1-.4.1-.5l.1-.1.2-.2L70 50.9c.4-.5.5-1.2.2-1.7 0-.1-.1-.2-.1-.2L56.9 33.2c-.1-.1-.1-.4-.1-.5 0-.5.5-.9.9-.9h5.8c.5 0 1 .1 1.2.6L78.4 49c.2.2.2.6.2.9 0 .4-.1.7-.2 1L64.7 67.5z\"},{\"d\":\"M50.4 67.5c-.2.5-.7.6-1.2.6h-5.8c-.5 0-.9-.4-.9-.9 0-.1.1-.4.1-.5l.1-.1.2-.2 12.7-15.5c.4-.5.5-1.2.2-1.7 0-.1-.1-.2-.1-.2L42.6 33.2c-.1-.1-.1-.4-.1-.5 0-.5.5-.9.9-.9h5.8c.5 0 1 .1 1.2.6L64.1 49c.2.2.2.6.2.9 0 .4-.1.7-.2 1L50.4 67.5z\"},{\"d\":\"M36 67.5c-.2.5-.7.6-1.2.6H23.9c-.5 0-.9-.4-.9-.9 0-.1.1-.4.1-.5l.1-.1.2-.2 12.7-15.5c.4-.5.5-1.2.2-1.7 0-.1-.1-.2-.1-.2l-13-15.8c-.2-.1-.2-.3-.2-.5 0-.5.5-.9.9-.9h10.8c.5 0 1 .1 1.2.6L49.6 49c.2.2.2.6.2.9 0 .4-.1.7-.2 1L36 67.5z\"}]},\nmaintenance_asset:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M46.5 30.5c.2.5.6.8 1.1.8h27.5c1.3 0 2.7.3 3.9.8.5.3 1.1-.1 1.1-.8.1-2.8-2.1-5-4.9-5.1H45c-.3 0-.6.2-.6.5 0 .1 0 .3.1.4l2 3.4z\"},{\"d\":\"M75.1 36.4H46.7c-1.8 0-3.4-1-4.4-2.5l-4.4-7.6c-.8-1.6-2.5-2.6-4.3-2.6h-8.5c-2.8 0-5 2.2-5 5v45.9c-.1 2.8 2.1 5 4.9 5.1h50.1c2.8 0 5-2.2 5-5V41.5c.1-2.8-2.1-5-4.9-5.1h-.1zM62 69.7c-1.1 1.2-2.9 1.2-4.1.1l-.1-.1-9.9-9.9c-.6.3-1.3.4-2 .5-4.2.5-8-2.6-8.5-6.8v-.8c0-.7.1-1.5.3-2.2.1-.2.3-.4.6-.3.1 0 .1 0 .1.1l4.3 4.3c.3.3.9.3 1.2 0l3-3c.3-.3.3-.9 0-1.2l-4.3-4.3c-.2-.2-.1-.5.1-.6l.1-.1c.7-.2 1.5-.3 2.2-.3 4.2 0 7.6 3.4 7.6 7.7v.8c-.1.7-.3 1.3-.5 2l9.9 9.9c1.3 1.1 1.5 2.9.4 4.2-.2 0-.2.1-.4 0z\"}]},\nmaintenance_plan:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M65.7 34h7.9c.9 0 1.7-.8 1.7-1.7 0-.4-.2-.9-.5-1.2L63.5 20c-.3-.3-.7-.5-1.1-.5-.9 0-1.7.8-1.7 1.7v7.9c.2 2.7 2.3 4.8 5 4.9z\"},{\"d\":\"M72.7 41H60.5c-4 0-7.2-3.2-7.3-7.2v-12c.1-1.2-.8-2.2-2-2.3H31.6c-4 0-7.2 3.2-7.3 7.2v45.7c0 4 3.3 7.2 7.3 7.2h36.2c4 0 7.2-3.2 7.3-7.2V43.5c.1-1.3-1-2.5-2.4-2.5zm-6.9 30.8c-.8.8-1.8 1.2-3 1.2-1.1 0-2.2-.4-3-1.2L46 58c-.9.4-1.8.6-2.8.7-5.8.7-11-3.5-11.7-9.3-.2-1.5 0-3 .4-4.4.1-.4.6-.5 1-.2l6 6c.4.5 1.2.5 1.6.1 0 0 .1 0 .1-.1l4.2-4.2c.5-.4.5-1.2.1-1.6 0 0 0-.1-.1-.1l-6-6c-.2-.2-.2-.6 0-.9.1-.1.1-.1.2-.1 1-.2 2.1-.4 3.1-.4 5.9 0 10.6 4.7 10.7 10.6 0 .4 0 .8-.1 1.2-.1 1-.4 1.9-.7 2.8L65.8 66c1.6 1.6 1.6 4.2 0 5.8z\"}]},\nmaintenance_work_rule:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M79.67 49.23l-10-10a1.36 1.36 0 00-1.86 0l-1.86 1.87a1.34 1.34 0 000 1.86L69 46a.89.89 0 01-.09 1.27.87.87 0 01-.53.22H41l16.33-16.25a.89.89 0 011.27.09.87.87 0 01.22.53v4.46a1.18 1.18 0 001.1 1.24h2.71a1.17 1.17 0 001.24-1.09V22a1.17 1.17 0 00-1.1-1.24H48.53a1.36 1.36 0 00-1.24 1.37v2.49a1.18 1.18 0 001.12 1.24H53a.88.88 0 01.86.9.89.89 0 01-.24.58l-20.1 20.03H21.24A1.28 1.28 0 0020 48.69v2.64a1.46 1.46 0 001.36 1.37h12.41l20 20a.9.9 0 01-.1 1.27.85.85 0 01-.52.21h-4.5a1.17 1.17 0 00-1.24 1.1.33.33 0 000 .14v2.49a1.45 1.45 0 001.24 1.37H62.8a1.18 1.18 0 001.2-1.12V63.74a1.18 1.18 0 00-1.12-1.24h-2.7a1.17 1.17 0 00-1.24 1.09v4.61a.88.88 0 01-.89.87.9.9 0 01-.6-.25L41.08 52.7H68.5a.89.89 0 01.62 1.48l-3.22 3.1a1.35 1.35 0 000 1.87L67.76 61a1.34 1.34 0 001.86 0l10-9.92a1.36 1.36 0 00.05-1.85z\"}},\nmarketing_actions:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M47.5 26c-5.1.3-9.2 4.4-9.5 9.5.2-5.2 4.3-9.3 9.5-9.5zM58 35.5c-.3-5.1-4.4-9.2-9.5-9.5 5.2.2 9.3 4.3 9.5 9.5zM63.6 54.8l-10.2-3.5c-.8-.3-1.4-1-1.4-1.9V35.8c0-2.1-1.7-3.8-3.8-3.8h-.4c-2.1 0-3.8 1.7-3.8 3.8v26.9c0 2.3-2.9 3.2-4.1 1.2l-2.6-5.5c-1.4-2.4-4.5-3-6.7-1.4L29 58.2l8.6 20.4c.4.9 1.2 1.4 2.2 1.4h22.6c1.1 0 2-.8 2.3-1.8l4-14.3c.8-3.9-1.4-7.8-5.1-9.1z\"},{\"d\":\"M38 46.2V36v-.5c.3-5.1 4.4-9.2 9.5-9.5h1c5.1.3 9.2 4.4 9.5 9.5v10.7c0 .9 1.1 1.3 1.7.7C62.4 44 64 40.2 64 36c0-9.3-8-16.8-17.5-15.9-7.2.7-13.2 6.3-14.3 13.4-.8 5 .8 9.9 4.1 13.4.6.6 1.7.2 1.7-.7z\"}]},\nmedication_ingredient:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M61.12 21.67H33.89A1.36 1.36 0 0032.53 23v3.74A1.37 1.37 0 0033.89 28h27.2a1.37 1.37 0 001.36-1.29V23a1.36 1.36 0 00-1.33-1.33z\"},{\"d\":\"M68.11 56.27a11.14 11.14 0 1011.13 11.15 11.1 11.1 0 00-11.09-11.15zm0 5.61a1.4 1.4 0 11-1.4 1.4 1.37 1.37 0 011.35-1.39zm2.32 9.75A.43.43 0 0170 72h-3.75a.42.42 0 01-.46-.38v-.92a.5.5 0 01.46-.51.43.43 0 00.46-.4v-1.88a.5.5 0 00-.46-.51.42.42 0 01-.46-.38v-1a.5.5 0 01.46-.51H69a.5.5 0 01.47.51v3.71a.42.42 0 00.44.42.5.5 0 01.47.51z\"},{\"d\":\"M54 67.4a14.15 14.15 0 0110.76-13.71v-13a9.27 9.27 0 00-9.17-9.35h-16a9.27 9.27 0 00-9.36 9.16v2.6h17a1.5 1.5 0 011.5 1.5v17.09a1.5 1.5 0 01-1.5 1.5h-17v7.48a1.44 1.44 0 001.5 1.33h23a13.84 13.84 0 01-.73-4.6z\"}],\"rect\":[{\"x\":\"30.28\",\"y\":\"47.61\",\"width\":\"13.37\",\"height\":\"3.09\",\"rx\":\"1\"},{\"x\":\"30.28\",\"y\":\"55.28\",\"width\":\"9.37\",\"height\":\"3.09\",\"rx\":\"1\"}]},\nmerge:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M70.5 72.5c-7-3.4-12-9.4-14.5-16.3-1-2.6-1.6-5.3-1.9-7.9v-4.4h13.6c1.1 0 1.7-1.2 1-2.2L51 20.5c-.6-.8-2-.8-2.5 0L31.2 41.7c-.6.8 0 2.2 1 2.2h13.7V48.3c-.3 2.7-1 5.5-1.9 7.9-2.6 6.8-7.5 12.9-14.5 16.3-1 .4-1.4 1.6-1 2.6l1.6 3.8c.5 1.1 1.6 1.4 2.7.8 7.6-3.6 13.5-9.4 17.2-16.2 3.7 6.9 9.6 12.6 17.3 16.2 1.1.5 2.2.4 2.7-.8l1.6-3.8c.4-1-.1-2.2-1.1-2.6z\"}},\nmessaging_conversation:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M54.686 71.349c10.594-3.909 16.829-10.49 18.705-19.743C77.926 53.882 81 58.347 81 63.5c0 2.202-.564 4.243-1.544 6.086l1.689 5.37c.402 1.285-.803 2.41-2.089 2.009l-5.219-1.84C71.676 76.332 69.165 77 66.476 77c-4.869 0-9.167-2.227-11.79-5.651zM44.098 22c13.335 0 24.099 10.045 24.179 22.5 0 12.455-10.764 22.5-24.098 22.5-4.66 0-8.997-1.205-12.692-3.375a1.62 1.62 0 00-1.366-.16l-7.069 2.49c-1.285.402-2.49-.723-2.088-2.009l2.25-7.151c.16-.402.08-.884-.162-1.286C21.125 52.214 20 48.518 20 44.5 20 32.045 30.764 22 44.098 22zM32 37a2 2 0 00-2 2v2a2 2 0 002 2h26a2 2 0 002-2v-2a2 2 0 00-2-2H32zm0 11a2 2 0 00-2 2v2a2 2 0 002 2h14a2 2 0 002-2v-2a2 2 0 00-2-2H32z\"}},\nmessaging_session:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M50 22c16.6 0 30 12.5 30.1 28 0 15.5-13.4 28-30 28-5.8 0-11.2-1.5-15.8-4.2-.5-.3-1.1-.4-1.7-.2l-8.8 3.1c-1.6.5-3.1-.9-2.6-2.5l2.8-8.9c.2-.5.1-1.1-.2-1.6C21.4 59.6 20 55 20 50c0-15.5 13.4-28 30-28zm13 23c.6 0 1-.4 1-1v-6c0-.6-.4-1-1-1H37c-.6 0-1 .4-1 1v6c0 .6.4 1 1 1h26zM43 65c.6 0 1-.4 1-1V52c0-.6-.4-1-1-1h-6c-.6 0-1 .4-1 1v12c0 .6.4 1 1 1h6zm20 0c.6 0 1-.4 1-1V52c0-.6-.4-1-1-1H51c-.6 0-1 .4-1 1v12c0 .6.4 1 1 1h12z\"}},\nmessaging_user:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M50 22c16.6 0 30 12.5 30.1 28 0 15.5-13.4 28-30 28-5.8 0-11.2-1.5-15.8-4.2-.5-.3-1.1-.4-1.7-.2l-8.8 3.1c-1.6.5-3.1-.9-2.6-2.5l2.8-8.9c.2-.5.1-1.1-.2-1.6C21.4 59.6 20 55 20 50c0-15.5 13.4-28 30-28zm8.757 42c1.915 0 3.426-2.108 3.225-4.115-.1-3.01-3.225-5.018-6.55-6.423-2.317-.903-2.62-1.806-2.62-2.81 0-1.003.605-1.906 1.411-2.609 1.41-1.204 2.116-3.01 2.116-5.018 0-3.814-2.317-7.025-6.348-7.025-4.03 0-6.348 3.211-6.348 7.025 0 2.007.806 3.814 2.116 5.018.806.703 1.41 1.606 1.41 2.61 0 1.003-.302 1.906-2.62 2.91-3.325 1.505-6.448 3.312-6.549 6.322C38 61.892 39.511 64 41.426 64h17.331z\"}},\nmetrics:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M72 22H28c-3.3 0-6 2.7-6 6v44c0 3.3 2.7 6 6 6h44c3.3 0 6-2.7 6-6V28c0-3.3-2.7-6-6-6zM38 66c0 1.1-.9 2-2 2h-2c-1.1 0-2-.9-2-2V55c0-1.1.9-2 2-2h2c1.1 0 2 .9 2 2v11zm10 0c0 1.1-.9 2-2 2h-2c-1.1 0-2-.9-2-2V40c0-1.1.9-2 2-2h2c1.1 0 2 .9 2 2v26zm10 0c0 1.1-.9 2-2 2h-2c-1.1 0-2-.9-2-2V34c0-1.1.9-2 2-2h2c1.1 0 2 .9 2 2v32zm10 0c0 1.1-.9 2-2 2h-2c-1.1 0-2-.9-2-2V47c0-1.1.9-2 2-2h2c1.1 0 2 .9 2 2v19z\"}},\nmulti_picklist:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M73 20H41c-3.3 0-6 2.7-6 6v1c0 .6.4 1 1 1h29c3.3 0 6 2.7 6 6v31c0 .6.4 1 1 1h1c3.3 0 6-2.7 6-6V26c0-3.3-2.7-6-6-6z\"},{\"d\":\"M59 34H27c-3.3 0-6 2.7-6 6v34c0 3.3 2.7 6 6 6h32c3.3 0 6-2.7 6-6V40c0-3.3-2.7-6-6-6zM35 70c0 1.1-.9 2-2 2h-2c-1.1 0-2-.9-2-2v-2c0-1.1.9-2 2-2h2c1.1 0 2 .9 2 2v2zm0-12c0 1.1-.9 2-2 2h-2c-1.1 0-2-.9-2-2v-2c0-1.1.9-2 2-2h2c1.1 0 2 .9 2 2v2zm0-12c0 1.1-.9 2-2 2h-2c-1.1 0-2-.9-2-2v-2c0-1.1.9-2 2-2h2c1.1 0 2 .9 2 2v2zm22 24c0 1.1-.9 2-2 2H41.2c-1.1 0-2-.9-2-2v-2c0-1.1.9-2 2-2H55c1.1 0 2 .9 2 2v2zm0-12c0 1.1-.9 2-2 2H41.2c-1.1 0-2-.9-2-2v-2c0-1.1.9-2 2-2H55c1.1 0 2 .9 2 2v2zm0-12c0 1.1-.9 2-2 2H41.2c-1.1 0-2-.9-2-2v-2c0-1.1.9-2 2-2H55c1.1 0 2 .9 2 2v2z\"}]},\nmulti_select_checkbox:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M73 20H41c-3.3 0-6 2.7-6 6v1c0 .6.4 1 1 1h29c3.3 0 6 2.7 6 6v31c0 .6.4 1 1 1h1c3.3 0 6-2.7 6-6V26c0-3.3-2.7-6-6-6z\"},{\"d\":\"M59 34H27c-3.3 0-6 2.7-6 6v34c0 3.3 2.7 6 6 6h32c3.3 0 6-2.7 6-6V40c0-3.3-2.7-6-6-6zm-2.7 17L41 66.3c-.6.6-1.3.9-2.1.9-.7 0-1.5-.3-2.1-.9l-7.4-7.4c-.6-.6-.6-1.5 0-2.1l2.1-2.1c.6-.6 1.5-.6 2.1 0l5.3 5.3 13.2-13.2c.6-.6 1.5-.6 2.1 0l2.1 2.1c.5.6.5 1.6 0 2.1z\"}]},\nnews:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M78.3 26.9H31c-.9 0-1.7.8-1.7 1.7v35.2c0 1.4-1.3 2.5-2.7 2.3-1.2-.2-2-1.3-2-2.4V38.5c0-.7-.5-1.2-1.2-1.2h-1.7c-.9 0-1.7.8-1.7 1.7v29.4c0 2.5 2.1 4.6 4.6 4.6H75.4c2.5 0 4.6-2.1 4.6-4.6V28.7c0-1-.8-1.8-1.7-1.8zm-26 33.5c0 .7-.5 1.2-1.2 1.2H37.3c-.7 0-1.2-.5-1.2-1.2v-2.3c0-.7.5-1.2 1.2-1.2h13.8c.7 0 1.2.5 1.2 1.2v2.3zm0-9.2c0 .7-.5 1.2-1.2 1.2H37.3c-.7 0-1.2-.5-1.2-1.2v-2.3c0-.7.5-1.2 1.2-1.2h13.8c.7 0 1.2.5 1.2 1.2v2.3zm20.8 9.2c0 .7-.5 1.2-1.2 1.2H58.1c-.7 0-1.2-.5-1.2-1.2v-2.3c0-.7.5-1.2 1.2-1.2h13.8c.7 0 1.2.5 1.2 1.2v2.3zm0-9.2c0 .7-.5 1.2-1.2 1.2H58.1c-.7 0-1.2-.5-1.2-1.2v-2.3c0-.7.5-1.2 1.2-1.2h13.8c.7 0 1.2.5 1.2 1.2v2.3zm0-9.3c0 .7-.5 1.2-1.2 1.2H37.3c-.7 0-1.2-.5-1.2-1.2V35c0-.7.5-1.2 1.2-1.2h34.6c.7 0 1.2.5 1.2 1.2v6.9z\"}},\nnote:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M71.3 67l-1.1 1.1C69 69.3 67.3 70 65.6 70h-3.3c-3 0-6.3-2.3-6.3-6.5v-3.1c0-2.5 1.1-4 1.8-4.8L71.3 42c.4-.4.7-1.2.7-1.7V30c0-3.3-2.7-6-6-6H34c-3.3 0-6 3-6 6h-2c-2.2 0-4 1.8-4 4s1.8 4 4 4h2v8h-2c-2.2 0-4 1.8-4 4s1.8 4 4 4h2v8h-2c-2.2 0-4 1.8-4 4s1.8 4 4 4h2c0 4 2.7 6 6 6h32c3.3 0 6-2.7 6-6v-2.7c0-.6-.3-.7-.7-.3zM61 39c0 1.1-.9 2-2 2H39c-1.1 0-2-.9-2-2v-2c0-1.1.9-2 2-2h20c1.1 0 2 .9 2 2v2zm-9 24c0 1.1-.9 2-2 2H39c-1.1 0-2-.9-2-2v-2c0-1.1.9-2 2-2h11c1.1 0 2 .9 2 2v2zm3-12c0 1.1-.9 2-2 2H39c-1.1 0-2-.9-2-2v-2c0-1.1.9-2 2-2h14c1.1 0 2 .9 2 2v2z\"},{\"d\":\"M81.4 45.6l-1.2-1.2c-.8-.8-2-.8-2.8 0L62.1 59.9c-.1 0-.1.2-.1.3v3.3c0 .3 0 .5.3.5h3.3c.1 0 .3-.1.4-.1l15.4-15.4c.8-.9.8-2.1 0-2.9z\"}]}},\nnumber_input:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M74 80H26c-3.3 0-6-2.7-6-6V26c0-3.3 2.7-6 6-6h48c3.3 0 6 2.7 6 6v48c0 3.3-2.7 6-6 6zM28.1 30v40c0 1.1.9 2 2 2H70c1.1 0 2-.9 2-2V30c0-1.1-.9-2-2-2H30.1c-1.1 0-2 .9-2 2z\"},{\"d\":\"M63 42.8h-3.7l1.6-6.1v-.1c0-.2-.2-.5-.5-.5h-2.9c-.2 0-.4.2-.5.4l-1.6 6.3H48l1.6-6.1v-.1c0-.2-.2-.5-.5-.5h-2.9c-.2 0-.4.2-.5.4l-1.6 6.3H40c-.2 0-.4.1-.5.3l-.7 2.8v.1c0 .2.2.5.5.5h3.9l-1.8 7.1h-4c-.2 0-.4.1-.5.3l-.7 2.8v.1c0 .2.2.5.5.5h3.7l-1.6 6.2v.1c0 .2.2.5.5.5h2.9c.2 0 .4-.1.5-.4l1.6-6.4h7.3l-1.6 6v.1c0 .2.2.5.5.5h2.9c.2 0 .4-.1.5-.4l1.6-6.4h4.1c.2 0 .4-.1.5-.4l.7-2.8v-.1c0-.2-.2-.5-.5-.5h-3.8l1.8-7.1h3.9c.2 0 .4-.1.5-.4l.7-2.8c.1-.1-.1-.2-.4-.2zM52.7 53.6h-7.4l1.8-7.1h7.3l-1.7 7.1z\"}]},\nobservation_component:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M23.08 32.69h.35l20.55-3v29.12a.82.82 0 00.87.87h3.48a.82.82 0 00.87-.87V28.86l21.25-3.14a2.71 2.71 0 002.26-3 2.63 2.63 0 00-3-2.18l-17.11 2.4a8.48 8.48 0 00-6.1-2.53A8.8 8.8 0 0038.84 25l-16.2 2.43a2.63 2.63 0 00.44 5.23z\"},{\"d\":\"M72.1 52.63a2.52 2.52 0 00.35-2.7l-6.88-16.54a2.67 2.67 0 00-4.87 0l-7 16.54a2.71 2.71 0 00.17 2.44c.16.23 2.84 4.34 7.25 5.28a14.42 14.42 0 018.5-2.73h.25a20.29 20.29 0 002.23-2.29zM59.39 50.1l3.74-9 3.75 9zM39 57.85a2.52 2.52 0 00.35-2.7l-7-16.54a2.47 2.47 0 00-2.3-1.61 2.67 2.67 0 00-2.44 1.57l-7 16.54a2.68 2.68 0 00.18 2.44c.17.26 3.57 5.49 9.05 5.49 3.25.04 6.39-1.7 9.16-5.19zm-12.7-2.52l3.75-9 3.74 9zM55.13 69.44a14.43 14.43 0 01.25-2.65 21.85 21.85 0 00-8.79-1.88 21 21 0 00-13.32 4.7 1.84 1.84 0 00-.61 1.31V71a1.74 1.74 0 001.74 1.74h21.12a14.33 14.33 0 01-.39-3.3zM69.62 79.56a10.2 10.2 0 1110.21-10.19 10.16 10.16 0 01-10.21 10.19zm.91-12.69a1 1 0 00-.7.21c-.56.38-1.12.75-1.67 1.16a3.54 3.54 0 00-.53.56.27.27 0 000 .35.3.3 0 00.34.09c.14 0 .27-.1.4-.15a2.43 2.43 0 01.37-.16c.19-.06.28 0 .28.21a2.17 2.17 0 010 .25c-.39 1.61-.78 3.21-1.18 4.82a.89.89 0 00.45 1.06 1.15 1.15 0 001.16-.1c.54-.35 1.07-.71 1.58-1.11a5.52 5.52 0 00.72-.73.22.22 0 000-.28.27.27 0 00-.3-.11l-.38.14-.44.2c-.17.06-.26 0-.25-.19a2.63 2.63 0 01.06-.39c.37-1.5.73-3 1.1-4.51a1 1 0 00-1.01-1.32zm1.08-2.09a1.55 1.55 0 00-1.78-1.47 1.36 1.36 0 00-1.08 2 1.53 1.53 0 001.7.89 1.48 1.48 0 001.16-1.42z\"}]}},\nomni_supervisor:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M67.225 28.893C60.804 31.476 57.416 37.717 57.036 48h10.216a8 8 0 110 4H57.036c.38 10.283 3.768 16.524 10.19 19.107a8 8 0 11.14 4.291C58.27 72.62 53.483 64.663 53.035 52H47a2 2 0 110-4h6.035c.448-12.662 5.236-20.62 14.33-23.399a8 8 0 11-.14 4.291zM75 31a4 4 0 100-8 4 4 0 000 8zm0 46a4 4 0 100-8 4 4 0 000 8zm0-23a4 4 0 100-8 4 4 0 000 8zM45.074 68H22.463C19.933 68 18 65.62 18 62.942c.149-4.016 4.314-6.099 8.628-8.033 2.975-1.339 3.422-2.38 3.422-3.719s-.893-2.529-1.786-3.421c-1.785-1.637-2.677-3.868-2.677-6.546 0-4.909 2.975-9.223 8.33-9.223 5.356 0 8.33 4.314 8.33 9.223 0 2.678-.892 4.91-2.677 6.546-1.041.892-1.785 2.082-1.785 3.421 0 1.19.446 2.38 3.422 3.72 4.314 1.933 8.479 4.016 8.628 8.032C49.537 65.62 47.603 68 45.075 68z\"}},\noperating_hours:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M53 50.18a1.32 1.32 0 01-.35-1v-8.43a1.35 1.35 0 00-1.32-1.32h-2.61a1.35 1.35 0 00-1.32 1.32v10.66a1.85 1.85 0 00.35 1l6.52 6.52a1.28 1.28 0 001.85 0L58 57a1.28 1.28 0 000-1.85z\",\"fill-rule\":\"evenodd\"},{\"d\":\"M50 28.86A21.14 21.14 0 1071.18 50 21.2 21.2 0 0050 28.86zm0 37A15.85 15.85 0 1165.9 50 15.9 15.9 0 0150 65.85z\",\"fill-rule\":\"evenodd\"},{\"d\":\"M28.82 59.91a15.74 15.74 0 010-19.81L25.31 36a21 21 0 000 27.94zM71.23 40.12a15.74 15.74 0 010 19.81L74.64 64a21 21 0 000-27.94z\",\"fill-rule\":\"evenodd\"}]},\nopportunity:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M71.1 69H28.9c-1 0-1.9.9-1.9 1.9v.1c0 3.3 2.7 6 6 6h34c3.3 0 6-2.7 6-6v-.1c0-1-.9-1.9-1.9-1.9zM76 28c-3.3 0-6 2.7-6 6 0 1.8.8 3.5 2.1 4.6-1.7 3.9-5.6 6.6-10.2 6.4-5.3-.3-9.6-4.6-9.9-9.9 0-.9 0-1.7.2-2.5 2.2-.9 3.8-3 3.8-5.6 0-3.3-2.7-6-6-6s-6 2.7-6 6c0 2.5 1.6 4.7 3.8 5.6.2.8.2 1.6.2 2.5-.3 5.3-4.6 9.6-9.9 9.9-4.6.3-8.6-2.5-10.2-6.4 1.3-1.1 2.1-2.8 2.1-4.6 0-3.3-2.7-6-6-6s-6 2.7-6 6 2.7 6 6 6l2.8 21.4c.1.9.9 1.6 1.9 1.6h42.6c.9 0 1.7-.7 1.9-1.6L76 40c3.3 0 6-2.7 6-6s-2.7-6-6-6z\"}},\nopportunity_contact_role:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M64.9 47.4c-8.2 0-15 6.7-15 15 0 8.2 6.7 15 15 15s15-6.7 15-15-6.8-15-15-15zm7.3 13.1l-2.8 2.8c-.3.3-.4.6-.4.8l.7 4.2c.2 1.2-.9.5-.9.5L65.4 67c-.5-.3-1 0-1 0l-3.5 1.8c-.9.5-.9 0-.9-.4l.7-3.9c.1-.8-.3-1.1-.3-1.2l-2.5-2.4-.3-.3c-.3-.3-.5-.8.6-1l3.5-.5c.5-.1.8-.3.9-.5l1.9-3.9c.1-.3.5-.6.9.2l1.9 3.8c.1.2.4.3.6.4h.3l3.7.5h.1c.2.1.9.3.2.9z\"},{\"d\":\"M48.9 77.2c1 0 1.6-1.2 1-2-3.2-3.6-5-8.2-5-13 0-3.4 1.1-7.2 2.9-10.2 2.1-3.6 4.5-5.1 6.4-7.9 3.1-4.6 3.7-11.2 1.7-16.2-2-5.1-6.7-8.1-12.2-8s-10 3.5-11.7 8.6c-2 5.6-1.1 12.4 3.4 16.6 1.9 1.7 3.5 4.4 2.6 7-.2.5-.8 1.3-2.2 1.9-5.7 2.5-11.5 5.5-14.1 9.7-.5.8-1.5 2.8-1.6 5.6 0 .7 0 1.3.1 2.2 0 .4 0 .4.1.8.3 1.7 1.3 3.2 2.8 4.1.6.3 2 .8 4.7.8h21.1z\"}]},\nopportunity_splits:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M69.3 27.1C64.1 22.7 57.4 20 50 20c-16.5 0-30 13.5-30 30 0 7.4 2.7 14.1 7.1 19.3l42.2-42.2zM34 75.3c4.6 2.9 10.1 4.7 16 4.7 16.5 0 30-13.5 30-30 0-5.9-1.7-11.3-4.7-16L34 75.3z\"}}},\norchestrator:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M63 21.42a2 2 0 00-2.79-1.2c-1.17.56-1.31 1.78-.75 3l9.11 22.73c.55 1.18 1.59 1.88 2.75 1.32a2.2 2.2 0 00.79-3.09zM50.25 37.19c5.14 0 9.26 4.68 9.26 10.46s-4.12 10.47-9.26 10.47S41 53.44 41 47.65s4.11-10.46 9.25-10.46zM28.89 60.43l13.34 1.5L45.3 80h-3.8a2.34 2.34 0 01-2.24-1.73l-2.72-9.8-11.36-1.28a6 6 0 01-4.85-7.87l5.86-17.08a3.49 3.49 0 014.47-2.19 3.58 3.58 0 012.15 4.54l-4.9 14.27a1.18 1.18 0 00.98 1.57zM59.21 80h-4l3-17.86 12.61 2.39a1.19 1.19 0 001.36-1.43l-1.79-8A3.58 3.58 0 0173 50.8a3.5 3.5 0 014.23 2.63L79.83 65a5.9 5.9 0 01-6.72 7.25l-9.63-1.82-2 7.84A2.33 2.33 0 0159.21 80zM46.64 64.11a1.37 1.37 0 01-2.1-1.19v-2.21a1.37 1.37 0 012.1-1.19l3.61 2.3zM50.25 61.82l3.6-2.3A1.38 1.38 0 0156 60.71v2.21a1.38 1.38 0 01-2.11 1.19z\"}},\norder_item:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M21.2 51.9L48 64.6c1.2.6 2.7.6 3.9 0l26.9-12.7c1.6-.8 1.6-2.9 0-3.7L51.9 35.5c-1.2-.6-2.7-.6-3.9 0L21.2 48.3c-1.7.7-1.7 2.9 0 3.6z\"}},\norders:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M78.8 62.1l-3.6-1.7c-.5-.3-1.2-.3-1.7 0L52 70.6c-1.2.6-2.7.6-3.9 0L26.5 60.4c-.5-.3-1.2-.3-1.7 0l-3.6 1.7c-1.6.8-1.6 2.9 0 3.7L48 78.5c1.2.6 2.7.6 3.9 0l26.8-12.7c1.7-.8 1.7-3 .1-3.7z\"},{\"d\":\"M78.8 48.1l-3.7-1.7c-.5-.3-1.2-.3-1.7 0L52 56.6c-1.2.6-2.7.6-3.9 0L26.6 46.4c-.5-.3-1.2-.3-1.7 0l-3.7 1.7c-1.6.8-1.6 2.9 0 3.7L48 64.6c1.2.6 2.7.6 3.9 0l26.8-12.7c1.7-.8 1.7-3 .1-3.8z\"},{\"d\":\"M21.2 37.8L48 50.5c1.2.6 2.7.6 3.9 0l26.8-12.7c1.6-.8 1.6-2.9 0-3.7L51.9 21.4c-1.2-.6-2.7-.6-3.9 0L21.2 34.2c-1.6.7-1.6 2.9 0 3.6z\"}]},\noutcome:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M62.6 31.9c0-.1-.1-.1-.2-.2-.7-.7-1.9-.6-2.5.2l-2.7 2.6-.1.1c-.7.7-.7 1.9.1 2.5l7 7c.2.2.4.5.4.9 0 .7-.5 1.3-1.3 1.3H36.8c-1 0-1.8.8-1.9 1.8v3.8c.1 1 .9 1.8 1.9 2h26.6c.3 0 .5.1.7.3.6.4.7 1.3.2 1.8l-7 7-.1.1c-.7.7-.7 1.9.1 2.5l2.6 2.7.1.1c.7.7 1.9.7 2.5-.1l16.9-16.9.1-.1c.7-.7.7-1.9-.1-2.5L62.6 31.9z\"},{\"d\":\"M43.7 38.9h3.7c1 0 1.9-.9 1.9-1.9V25c0-2.8-2.2-5-5-5H25c-2.8 0-5 2.2-5 5v50c0 2.8 2.2 5 5 5H44.3c2.8 0 5-2.2 5-5V63.2c0-1-.9-1.9-1.9-1.9h-3.7c-1 0-1.9.9-1.9 1.9v7.4c0 1-.9 1.9-1.9 1.9H29.4c-1 0-1.9-.9-1.9-1.9V29.4c0-1 .9-1.9 1.9-1.9h10.5c1 0 1.9.9 1.9 1.9V37c0 1 .8 1.9 1.9 1.9z\"}]},\noutput:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M20.8 53.8h41.5c1.1 0 1.6 1.4.9 2.1l-12 12c-.8.8-.8 1.9 0 2.6l2.8 2.8c.8.8 1.9.8 2.6 0l21.9-22c.8-.8.8-1.9 0-2.6l-22-22c-.8-.8-1.9-.8-2.6 0l-2.6 2.6c-.8.8-.8 1.9 0 2.6l12 12c.8.9.3 2.3-.9 2.3H20.9c-1 0-1.9.8-1.9 1.8v3.8c0 1 .8 2 1.8 2z\"}},\npartner_fund_allocation:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M30.9 65.6l-8.1 8.5c-.3.3-.8.1-.8-.3v-4c0-.4-.4-.9-.8-.9h-1.5c-.4 0-.8.5-.8.9v9.5c0 .5.2.7.7.7h9.5c.4 0 .8-.2.8-.7v-1.5c0-.4-.3-.8-.8-.8h-4c-.5 0-.7-.5-.3-.8l10.4-10.9h-.9c-1.1 0-2.3.1-3.4.3zM73.1 76.2c.3.3.1.8-.4.8h-4c-.4 0-.8.4-.8.8v1.5c0 .4.5.8.8.8h9.5c.5 0 .7-.2.7-.7v-9.5c0-.4-.2-.8-.6-.8h-1.5c-.4 0-.9.3-.9.8v4c0 .4-.5.7-.8.3L70.4 70c-1.2.3-2.3.6-3.5.8l6.2 5.4zM68.8 40.5c-15.2 4.7-27.2-9.7-43.9-2.9-1.3.5-1.9 1.6-1.9 3.1V58c0 2.3 1.9 3.7 4.1 3.1 16.5-5 28.5 9.4 44.1 2.9 1.1-.5 2.1-1.6 2.1-3.1V43.6c-.1-2.1-2.3-3.8-4.5-3.1zM48.6 56.7c-3.6 0-6.5-2.9-6.5-6.5s2.9-6.5 6.5-6.5 6.5 2.9 6.5 6.5-2.9 6.5-6.5 6.5zM48.4 26.6c0-.5-.5-.6-.8-.3l-2.8 2.8c-.3.3-.9.2-1.2 0l-1-1.1c-.3-.3-.2-.7.1-1l6.8-6.8c.3-.3.6-.3 1 0l6.7 6.7c.3.3.4.8.1 1.1l-1 1c-.3.3-.9.2-1.2 0l-2.8-2.8c-.3-.3-.8-.1-.8.3v7.3l-3-.9-.1-6.3z\"}},\npartner_fund_claim:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M56.5 34h9.4c.7 0 1.3-.6 1.3-1.3 0-.3-.1-.6-.3-.9L55.1 20.3c-.3-.2-.6-.3-.9-.3-.7 0-1.3.6-1.3 1.3v9.2c.1 1.9 1.7 3.5 3.6 3.5z\"},{\"d\":\"M38.6 65c0-3.5 2-6.6 5.2-7.8 2.6-1 5.2-1.6 8-1.6 4 0 7.4 1.1 10.5 2 1.7.5 3.3 1 4.8 1.3l.2-18c0-.9-.8-1.7-1.7-1.7H53c-3 0-5.2-2.4-5.2-5.2V21.7c0-.9-.8-1.7-1.8-1.7H28.2c-2.9 0-5.2 2.4-5.2 5.2v42c0 2.9 2.4 5.2 5.2 5.2h10.4V65z\"},{\"d\":\"M72.4 64.9c-9.1 2.8-16.3-5.8-26.2-1.7-.8.3-1.2 1-1.2 1.8v10.4c0 1.4 1.2 2.2 2.4 1.8 9.9-3 17 5.6 26.3 1.7.7-.3 1.3-1 1.3-1.8V66.8c0-1.3-1.3-2.2-2.6-1.9zm-12.1 9.7c-2.1 0-3.9-1.7-3.9-3.9 0-2.1 1.7-3.9 3.9-3.9s3.9 1.7 3.9 3.9-1.7 3.9-3.9 3.9z\"}]},\npartner_fund_request:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M43.7 58.3c3.7-2.1 7.2-3.1 11.1-3.1 1.1 0 2.2.1 3.2.2.5.1.6-.1.1-.4-1.9-1.1-4-2.1-6.2-3-4.3-1.8-4.9-3.4-4.9-5.2 0-1.8 1.2-3.4 2.6-4.7 2.5-2.3 3.9-5.4 3.9-9.1 0-6.9-4.3-12.8-11.9-12.8s-12 5.9-12 12.8c0 3.7 1.4 6.9 3.9 9.1 1.4 1.3 2.6 3 2.6 4.7 0 1.7-.7 3.4-4.9 5.2C25 54.6 19.1 57.6 19 63.3c0 3.7 2.8 7 6.3 7h14.2c1.1 0 2-.9 2-2v-6.5c.2-1.4.9-2.8 2.2-3.5z\"},{\"d\":\"M76.3 64.3c-9.4 2.9-16.8-6-27.2-1.8-.8.3-1.2 1-1.2 1.9v10.7c0 1.4 1.2 2.3 2.5 1.9 10.2-3.1 17.6 5.8 27.3 1.8.7-.3 1.3-1 1.3-1.9V66.2c0-1.3-1.4-2.3-2.7-1.9zm-12.6 10c-2.2 0-4-1.8-4-4s1.8-4 4-4 4 1.8 4 4-1.8 4-4 4z\"}]},\npartner_marketing_budget:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M73.8 37.8c-18.2 5.6-32.5-11.6-52.5-3.5-1.5.6-2.3 2-2.3 3.7v20.7c0 2.7 2.3 4.5 4.8 3.7 19.7-6 34.1 11.2 52.6 3.5 1.4-.6 2.5-1.9 2.5-3.7V41.5c.1-2.5-2.6-4.5-5.1-3.7zM49.6 57.2c-4.3 0-7.7-3.5-7.7-7.7s3.5-7.7 7.7-7.7 7.7 3.5 7.7 7.7-3.5 7.7-7.7 7.7z\"}},\npartners:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M77 31.7h-6c-1.3 0-2.6-.6-3.6-1.5l-4.8-4.1c-1-.8-2.3-1.4-3.6-1.4H47.3c-1.5 0-2.9.6-4 1.7l-6.2 5.1c-.5.4-.5 1.2-.1 1.7l1.9 1.8c1.3 1 3 1.2 4.3.3l5.5-3.3c.7-.5 1.7-.3 2.3.3l17.3 16.8c.4.4.7 1 .7 1.6v4.5c0 1.2.9 2.5 2 2.5h6c1.1 0 2-.9 2-2.1V33.7c0-1.2-.9-2-2-2zm-17 18L49.2 39.2l-3 1.8c-1.5.9-3.2 1.4-4.9 1.4-2.1 0-4.3-.8-6-2.2L31.4 37c-.9-.7-1.4-1.5-1.5-2.6-.2-1.1-1-1.7-2-1.7H21c-1.1 0-2 .6-2 1.8v18.2c0 1.2.9 2 2 2h4c.3 0 .7-1.1 1.1-1.6 1.5-2 3.7-3.1 6.1-3.4 2.4-.2 4.7.6 6.6 2.3l12.5 11.4c1.1 1 1.9 2.1 2.4 3.5.3.7 1.1.9 1.6.4l4.7-4.7c2.4-2.4 4.2-8 2-10.6l-2-2.3zm-25.1 7.4c-1.3-1.2-3.2-1-4.2.4-1.1 1.4-.9 3.4.4 4.6l12.5 11.3c.6.6 1.4.8 2.2.7.8-.1 1.5-.5 2-1.2 1.1-1.4.9-3.4-.4-4.6L34.9 57.1z\"}},\npassword:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M74 80H26c-3.3 0-6-2.7-6-6V26c0-3.3 2.7-6 6-6h48c3.3 0 6 2.7 6 6v48c0 3.3-2.7 6-6 6zM28.1 30v40c0 1.1.9 2 2 2H70c1.1 0 2-.9 2-2V30c0-1.1-.9-2-2-2H30.1c-1.1 0-2 .9-2 2z\"},{\"d\":\"M66.3 47.3l-1.2-3.8c-.3-1-1.5-1.6-2.5-1.3L53.9 45v-8.6c0-1.1-.9-2-2-2h-4c-1.1 0-2 .9-2 2V45l-8.5-2.8c-1-.3-2.2.3-2.5 1.3l-1.2 3.8c-.3 1 .3 2.2 1.3 2.5l7.9 2.6-5.7 7.8c-.6.9-.4 2.2.5 2.8l3.3 2.3c.9.6 2.2.4 2.8-.5l6.3-8.7 6.3 8.7c.6.9 1.9 1.1 2.8.5l3.3-2.3c.9-.6 1.1-1.9.5-2.8l-5.7-7.9 7.8-2.5c.9-.4 1.5-1.5 1.2-2.5z\"}]},\npast_chat:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M49.5 21.9c-16.7 0-30 12.3-30 27.4 0 4.8 1.4 9.3 3.6 13.3.4.6.5 1.4.3 2.1l-3.9 10.7c-.4 1 .6 1.9 1.6 1.6L32 72.9c.6-.3 1.4-.1 2.1.3 4.5 2.5 9.9 4 15.7 4 16.4-.2 29.8-12.3 29.8-27.6-.1-15.5-13.5-27.7-30.1-27.7zm11.7 40.5l-1.4 1.4c-.6.6-1.3.9-2.1.9s-1.5-.3-2.1-.9L46 54.2c-.7-.6-1.2-1.7-1.2-2.8v-14c0-1.7 1.3-3 3-3h2c1.7 0 3 1.3 3 3v12.4l8.4 8.4c.6.6.9 1.3.9 2.1s-.3 1.5-.9 2.1z\"}},\npayment_gateway:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M41.94 25.34a22.45 22.45 0 000 44.88h1V52.43c0-1.33 1-3 2.35-3h19c0-.74.07-1.25.07-1.65a22.52 22.52 0 00-22.42-22.44zm17.91 20.52h-5.78A33.5 33.5 0 0050.9 32.4a18.16 18.16 0 018.95 13.46zM39.37 31.11v14.75h-5.13c.39-7.03 2.61-12.59 5.13-14.75zm0 18.59v14.74c-2.5-2.17-4.74-7.7-5.13-14.74zm5.13-3.84V31.11c2.5 2.16 4.76 7.72 5.13 14.75zM33 32.4a34.57 34.57 0 00-3.2 13.46H24a18.11 18.11 0 019-13.46zm-9 17.94h5.81A33.55 33.55 0 0033 63.76a18.11 18.11 0 01-9-13.42z\",\"fill-rule\":\"evenodd\"},{\"d\":\"M76.89 53.2H49.66a3.13 3.13 0 00-3.13 3.13v15.2a3.13 3.13 0 003.13 3.13h27.23A3.13 3.13 0 0080 71.53v-15.2a3.13 3.13 0 00-3.11-3.13zM53.32 71.53a3.65 3.65 0 00-3.55-3.75h-.1V60a3.65 3.65 0 003.75-3.55v-.14H73.2A3.65 3.65 0 0076.79 60h.1v7.82a3.66 3.66 0 00-3.75 3.58v.11z\",\"fill-rule\":\"evenodd\"}],\"circle\":{\"cx\":\"63.27\",\"cy\":\"63.66\",\"r\":\"5.25\"}}},\npeople:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M80 71.2V74c0 3.3-2.7 6-6 6H26c-3.3 0-6-2.7-6-6v-2.8c0-7.3 8.5-11.7 16.5-15.2.3-.1.5-.2.8-.4.6-.3 1.3-.3 1.9.1C42.4 57.8 46.1 59 50 59c3.9 0 7.6-1.2 10.8-3.2.6-.4 1.3-.4 1.9-.1.3.1.5.2.8.4 8 3.4 16.5 7.8 16.5 15.1z\"},\"ellipse\":{\"cx\":\"50\",\"cy\":\"36.5\",\"rx\":\"14.9\",\"ry\":\"16.5\"}},\nperformance:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M30 20h-2c-3.3 0-6 3-6 6v48c0 3 2.7 6 6 6h2c1.1 0 2-.9 2-2V22c0-1.1-.9-2-2-2zM72 20H40c-1.1 0-2 .9-2 2v56c0 1.1.9 2 2 2h32c3.3 0 6-2.7 6-6V26c0-3.3-2.7-6-6-6zm-2.2 26.8l-5.2 5.3c-.1.1-.2.4-.2.6l1.2 7.5c.1.5-.4.9-.9.7l-6.5-3.6c-.2-.1-.4-.1-.6 0l-6.5 3.6c-.5.2-1-.2-.9-.7l1.2-7.5c0-.2 0-.4-.2-.6L46 46.8c-.4-.4-.2-1 .3-1.1l7.2-1.1c.2 0 .4-.2.5-.4l3.2-6.9c.2-.5.9-.5 1.1 0l3.2 6.9c.1.2.3.3.5.4l7.2 1.1c.8.1 1 .7.6 1.1z\"}},\nperson_account:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M69.5 59c-3.6-1.5-4.2-2.9-4.2-4.4 0-1.5 1-2.9 2.2-4 2.1-1.9 3.3-4.6 3.3-7.8 0-5.8-3.7-10.9-10.2-10.9s-10.2 5-10.2 10.9c0 3.2 1.2 5.8 3.3 7.8 1.2 1.1 2.2 2.5 2.2 4s-.6 2.9-4.2 4.4c-5.3 2.2-10.4 5-10.5 9.8 0 3.1 2.4 6.2 5.4 6.2h27.8c3.1 0 5.4-3.1 5.4-6.2.1-4.7-5-7.5-10.3-9.8z\"},{\"d\":\"M46.6 51.4c-.4-.5-2.4-3-2.2-9.7.1-6.6 3-8.3 3-8.3v-6.5c0-1.1-1.1-1.9-1.9-1.9H21.9c-.9 0-1.9.9-1.9 2v43.6h13.5c.3-11.1 13-15.6 13-15.6 1.9-1 .5-3.1.1-3.6zM30.7 65.1c0 1.1-.9 2-2 2h-2c-1.1 0-2-.9-2-2v-2c0-1.1.9-2 2-2h2c1.1 0 2 .9 2 2v2zm0-9.9c0 1.1-.9 2-2 2h-2c-1.1 0-2-.9-2-2v-2c0-1.1.9-2 2-2h2c1.1 0 2 .9 2 2v2zm0-9.9c0 1.1-.9 2-2 2h-2c-1.1 0-2-.9-2-2v-2c0-1.1.9-2 2-2h2c1.1 0 2 .9 2 2v2zm0-9.9c0 1.1-.9 2-2 2h-2c-1.1 0-2-.9-2-2v-2c0-1.1.9-2 2-2h2c1.1 0 2 .9 2 2v2zm11.2 19.8c0 1.1-.9 2-2 2h-2c-1.1 0-2-.9-2-2v-2c0-1.1.9-2 2-2h2c1.1 0 2 .9 2 2v2zm0-9.9c0 1.1-.9 2-2 2h-2c-1.1 0-2-.9-2-2v-2c0-1.1.9-2 2-2h2c1.1 0 2 .9 2 2v2zm0-9.9c0 1.1-.9 2-2 2h-2c-1.1 0-2-.9-2-2v-2c0-1.1.9-2 2-2h2c1.1 0 2 .9 2 2v2z\"}]},\nphoto:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M36 31h28c.8 0 1.3-.9.8-1.5l-3.3-5.1c-1-2-3.1-3.3-5.4-3.3H43.9c-2.3 0-4.4 1.3-5.4 3.3l-3.3 5.1c-.5.6 0 1.5.8 1.5zM50 49c-4.4 0-8 3.6-8 8s3.6 8 8 8 8-3.6 8-8-3.6-8-8-8z\"},{\"d\":\"M74 37H26c-3.3 0-6 2.7-6 6v28c0 3.3 2.7 6 6 6h48c3.3 0 6-2.7 6-6V43c0-3.3-2.7-6-6-6zM50 71c-7.7 0-14-6.3-14-14s6.3-14 14-14 14 6.3 14 14-6.3 14-14 14z\"}]},\npicklist_choice:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M25.9 59.7h-4c-1.1 0-2 .9-2 2v4c0 1.1.9 2 2 2h4.2c1.1-.1 1.9-1 1.8-2v-4c0-1.1-.9-2-2-2zM38 32h39.9c1.1 0 2-.9 2-2v-4c0-1.1-.9-2-2-2H38c-1.1 0-2 .9-2 2v4c0 1.1.9 2 2 2zM38 49.9h39.9c1.1 0 2-.9 2-2v-4c0-1.1-.9-2-2-2H38c-1.1 0-2 .9-2 2v4c0 1.1.9 2 2 2zM25.9 23.9h-4c-1.1 0-2 .9-2 2v4c0 1.1.9 2 2 2h4.2c1.1-.1 1.9-1 1.8-2v-4c0-1.1-.9-2-2-2zM25.9 41.8h-4c-1.1 0-2 .9-2 2v4c0 1.1.9 2 2 2h4.2c1.1-.1 1.9-1 1.8-2v-4c0-1.1-.9-2-2-2zM43.6 67.3c0-2.3.8-4.5 2.1-6.3v-.6-.7H38c-1.1 0-2 .9-2 2v4c0 1.1.9 2 2 2h5.6v-.4zM61.7 56.8c1-1 2.4-1.7 4-1.7 2.1 0 3.9 1.1 4.9 2.8.8-.3 1.8-.6 2.8-.6 3.7 0 6.8 3.1 6.8 6.7 0 3.7-3.1 6.7-6.8 6.7-.4 0-.9 0-1.3-.1-.8 1.5-2.5 2.5-4.3 2.5-.8 0-1.5-.2-2.2-.5-.9 2-2.9 3.4-5.2 3.4-2.5 0-4.5-1.5-5.3-3.6-.3 0-.7.1-1.1.1-2.9 0-5.3-2.3-5.3-5.2 0-1.9 1-3.6 2.6-4.5-.3-.7-.5-1.5-.5-2.4 0-3.3 2.8-6 6.1-6 1.9 0 3.7.9 4.8 2.4z\"}},\npicklist_type:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M78 36H38c-1.1 0-2-.9-2-2v-4c0-1.1.9-2 2-2h40c1.1 0 2 .9 2 2v4c0 1.1-.9 2-2 2zM78 54H38c-1.1 0-2-.9-2-2v-4c0-1.1.9-2 2-2h40c1.1 0 2 .9 2 2v4c0 1.1-.9 2-2 2zM26 54h-4c-1.1 0-2-.9-2-2v-4c0-1.1.9-2 2-2h4c1.1 0 2 .9 2 2v4c0 1.1-.9 2-2 2zM26 36h-4c-1.1 0-2-.9-2-2v-4c0-1.1.9-2 2-2h4c1.1 0 2 .9 2 2v4c0 1.1-.9 2-2 2zM26 72h-4c-1.1 0-2-.9-2-2v-4c0-1.1.9-2 2-2h4c1.1 0 2 .9 2 2v4c0 1.1-.9 2-2 2zM78 72H38c-1.1 0-2-.9-2-2v-4c0-1.1.9-2 2-2h40c1.1 0 2 .9 2 2v4c0 1.1-.9 2-2 2z\"}},\nplanogram:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M77.4 71.5h-3.3V53.6c0-.9-.8-1.7-1.7-1.7H53.7c-.9 0-1.7.8-1.7 1.7v17.8h-5V53.6c0-.9-.8-1.7-1.7-1.7H26.6c-.9 0-1.7.8-1.7 1.7v17.8h-3.3c-1.1 0-2 .9-2 2v4c0 1.1.9 2 2 2h55.7c1.1 0 2-.9 2-2v-4c.1-1.1-.8-1.9-1.9-1.9zm-20.9-15h13V61h-13v-4.5zm-27.1 0h13V61h-13v-4.5zM77.4 39h-3.3V21.1c0-.9-.8-1.7-1.7-1.7H53.7c-.9 0-1.7.8-1.7 1.7V39h-5V21.1c0-.9-.8-1.7-1.7-1.7H26.6c-.9 0-1.7.8-1.7 1.7V39h-3.3c-1.1 0-2 1-2 2v4c0 1.1.9 2 2 2h55.7c1.1 0 2-.9 2-2v-4c.1-1.2-.8-2-1.9-2zM56.5 24h13v4.5h-13V24zm-27.1 0h13v4.5h-13V24z\"}}},\npoll:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M76 20H24c-2.2 0-4 1.8-4 4v8c0 2.2 1.8 4 4 4h52c2.2 0 4-1.8 4-4v-8c0-2.2-1.8-4-4-4zM51 32v-8h25v8H51zM76 42H24c-2.2 0-4 1.8-4 4v8c0 2.2 1.8 4 4 4h52c2.2 0 4-1.8 4-4v-8c0-2.2-1.8-4-4-4zM42 54v-8h34v8H42zM76 64H24c-2.2 0-4 1.8-4 4v8c0 2.2 1.8 4 4 4h52c2.2 0 4-1.8 4-4v-8c0-2.2-1.8-4-4-4zM60 76v-8h16v8H60z\"}},\nportal:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M72 22H28c-3.3 0-6 2.7-6 6v44c0 3.3 2.7 6 6 6h44c3.3 0 6-2.7 6-6V28c0-3.3-2.7-6-6-6zM59 62.6c.3 1.2-.7 2.4-1.9 2.4H43c-1.3 0-2.2-1.2-1.9-2.4l3.2-11c-3.1-2.2-4.9-6.1-4.1-10.4.8-4 3.9-7.2 7.9-7.9C54.4 32 60 36.9 60 43.2c0 3.5-1.7 6.5-4.3 8.3L59 62.6z\"}},\nportal_roles:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M73.8 20H26.2c-3.4 0-6.2 2.8-6.2 6.2v47.6c0 3.4 2.8 6.2 6.2 6.2h47.6c3.4 0 6.2-2.8 6.2-6.2V26.2c0-3.4-2.8-6.2-6.2-6.2zm-26.4 7.4c0-.8.8-1.4 1.6-1.4h23.4c.8 0 1.4.8 1.4 1.6v3c0 .8-.8 1.4-1.6 1.4H48.8c-.8 0-1.4-.8-1.4-1.6v-3zm-8-1.4c1.7 0 3 1.3 3 3s-1.3 3-3 3-3-1.3-3-3 1.3-3 3-3zM29 26c1.7 0 3 1.3 3 3s-1.3 3-3 3-3-1.3-3-3 1.3-3 3-3zm45 46.6c0 .8-.8 1.4-1.6 1.4h-45c-.8 0-1.4-.8-1.4-1.6v-33c0-.8.8-1.4 1.6-1.4h45c.8 0 1.4.8 1.4 1.6v33z\"},{\"d\":\"M68 52.3c0 1.1-.9 2-2 2h-7.6c-1.1 0-2-.9-2-2v-3c0-1.1.9-2 2-2H66c1.1 0 2 .9 2 2v3zM68 63.3c0 1.1-.9 2-2 2h-7.6c-1.1 0-2-.9-2-2v-3c0-1.1.9-2 2-2H66c1.1 0 2 .9 2 2v3zM49 47.3H33.6c-.8 0-1.6.6-1.6 1.4v15c0 .8.6 1.6 1.4 1.6H48.8c.8 0 1.6-.6 1.6-1.4v-15c0-.8-.6-1.6-1.4-1.6zm-4 14.9h-7.5c-.8 0-1.5-.9-1.5-1.8 0-1.3 1.4-2.1 2.8-2.8 1-.4 1.1-.8 1.1-1.3s-.3-.8-.6-1.1c-.6-.5-.9-1.3-.9-2.2 0-1.7 1-3.1 2.8-3.1 1.7 0 2.8 1.4 2.8 3.1 0 .9-.3 1.7-.9 2.2-.3.3-.6.7-.6 1.1s.1.8 1.1 1.2c1.4.6 2.8 1.5 2.8 2.8.1 1-.6 1.9-1.4 1.9z\"}]},\nportal_roles_and_subordinates:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M68 49.1c0 1.1-.9 2-2 2H47.4c-1.1 0-2-.9-2-2v-3c0-1.1.9-2 2-2H66c1.1 0 2 .9 2 2v3zM39.4 49.1c0 1.1-.9 2-2 2H34c-1.1 0-2-.9-2-2v-3c0-1.1.9-2 2-2h3.4c1.1 0 2 .9 2 2v3z\"},{\"d\":\"M73.8 20H26.2c-3.4 0-6.2 2.8-6.2 6.2v47.6c0 3.4 2.8 6.2 6.2 6.2h47.6c3.4 0 6.2-2.8 6.2-6.2V26.2c0-3.4-2.8-6.2-6.2-6.2zm-26.4 7.4c0-.8.8-1.4 1.6-1.4h23.4c.8 0 1.4.8 1.4 1.6v3c0 .8-.8 1.4-1.6 1.4H48.8c-.8 0-1.4-.8-1.4-1.6v-3zm-8-1.4c1.7 0 3 1.3 3 3s-1.3 3-3 3-3-1.3-3-3 1.3-3 3-3zM29 26c1.7 0 3 1.3 3 3s-1.3 3-3 3-3-1.3-3-3 1.3-3 3-3zm45 46.6c0 .8-.8 1.4-1.6 1.4H68V59.1c0-1.1-.9-2-2-2H34c-1.1 0-2 .9-2 2V74h-4.6c-.8 0-1.4-.8-1.4-1.6v-33c0-.8.8-1.4 1.6-1.4h45c.8 0 1.4.8 1.4 1.6v33z\"}]},\npost:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M49.2 21.7c-16.6 0-30 12.5-30 28 0 5 1.4 9.6 3.8 13.7.3.5.4 1.1.2 1.6l-2.8 8.9c-.5 1.6 1 3 2.6 2.5l8.8-3.1c.6-.2 1.2-.1 1.7.2 4.6 2.7 10 4.2 15.8 4.2 16.6 0 30-12.5 30-28-.2-15.5-13.6-28-30.1-28z\"}},\npractitioner_role:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M50.58 70.89a12.79 12.79 0 01-10.11-9.62 1.93 1.93 0 00-1.89-1.51h-1.89A1.94 1.94 0 0034.81 62a18.2 18.2 0 0017.83 14.74H53a17.14 17.14 0 01-2.42-5.85zM54.24 37.12V23a2.78 2.78 0 00-2.83-2.83h-3.77a2.83 2.83 0 100 5.66h.94v11.29a11.32 11.32 0 01-22.64 0V25.8h.94a2.83 2.83 0 100-5.66h-3.77A2.78 2.78 0 0020.28 23v14.12a17 17 0 0034 0zM67.3 54.58a12.63 12.63 0 1012.63 12.63A12.67 12.67 0 0067.3 54.58zm7.1 17.67a1.88 1.88 0 01-1.89 1.81H62.42a1.83 1.83 0 01-1.89-1.81V72c0-1.69 1.85-2.6 3.78-3.38 1.3-.56 1.5-1 1.5-1.58a2.14 2.14 0 00-.81-1.49 3.48 3.48 0 01-1.18-2.76 3.67 3.67 0 117.33 0A3.7 3.7 0 0170 65.55a2.23 2.23 0 00-.88 1.45c0 .55.16 1 1.5 1.58 1.93.78 3.74 1.69 3.78 3.38z\"}}},\nprice_book_entries:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M48.8 20l14.8.3a5.45 5.45 0 013.1 1.3l5.8 5.8 5.8 5.8a4.39 4.39 0 011.3 3.1l.4 14.9a4.45 4.45 0 01-1.3 3.2L54.4 78.7a4.53 4.53 0 01-6.3 0L34.7 65.3 21.3 51.9a4.53 4.53 0 010-6.3l24.3-24.3a4.45 4.45 0 013.2-1.3zm-8.2 23.7L38.2 46a1 1 0 000 1.6l14.2 14.2a1 1 0 001.6 0l2.4-2.4a1 1 0 000-1.6L42.1 43.7a.94.94 0 00-1.5 0zm6.7-6.8l-2.4 2.4a1 1 0 000 1.6l14.2 14.2a1 1 0 001.6 0l2.4-2.4a1 1 0 000-1.6L48.9 36.9a1.22 1.22 0 00-1.6 0zm22.9-7.1a4.45 4.45 0 100 6.3 4.53 4.53 0 000-6.3z\"}},\nprice_books:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M77.4 72.9c0 3.2-2.8 6.3-5.9 6.4h-37c-3.2 0-5.8-3-6-5.9v-2h-2a3.9 3.9 0 01-.2-7.8h2.2v-9.8h-2a3.9 3.9 0 01-.2-7.8h2.2v-9.8h-2a3.9 3.9 0 01-.2-7.8h2.2v-2.2a6 6 0 015.7-5.7l37 .08c3.2 0 6 2.12 6.2 5.22zM51.8 34.7a2.5 2.5 0 00-1.8.8L36.2 49.2a2.53 2.53 0 000 3.6L51.4 68a2.53 2.53 0 003.6 0l13.8-13.8a2.5 2.5 0 00.8-1.8l-.3-8.4a2.14 2.14 0 00-.8-1.7L62 35.6a3.37 3.37 0 00-1.7-.8zm-4.7 13.4a.56.56 0 01.9 0l8 8a.56.56 0 010 .9l-1.3 1.3a.56.56 0 01-.9 0l-8-8a.56.56 0 010-.9zm3.9-3.8a.56.56 0 01.9 0l8 8a.56.56 0 010 .9l-1.3 1.3a.56.56 0 01-.9 0l-8-8a.56.56 0 010-.9zm12.9-4a2.55 2.55 0 11-3.6 0 2.54 2.54 0 013.6 0z\"}},\npricebook:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M71.7 20H34.1c-3.3 0-6.1 2.8-6.1 5.8V28h-2c-2.2 0-4 1.8-4 4s1.8 4 4 4h2v10h-2c-2.2 0-4 1.8-4 4s1.8 4 4 4h2v10h-2c-2.2 0-4 1.8-4 4s1.8 4 4 4h2v1.8c0 3 2.8 6.2 6.1 6.2h37.6c3.3 0 6.3-3.3 6.3-6.6v-48c0-3.3-3-5.4-6.3-5.4zM43 61c0 .6-.4 1-1 1h-4c-.6 0-1-.4-1-1V39c0-.6.4-1 1-1h4c.6 0 1 .4 1 1v22zm8 0c0 .6-.4 1-1 1h-2c-.6 0-1-.4-1-1V39c0-.6.4-1 1-1h2c.6 0 1 .4 1 1v22zm10 0c0 .6-.4 1-1 1h-4c-.6 0-1-.4-1-1V39c0-.6.4-1 1-1h4c.6 0 1 .4 1 1v22zm8 0c0 .6-.4 1-1 1h-2c-.6 0-1-.4-1-1V39c0-.6.4-1 1-1h2c.6 0 1 .4 1 1v22z\"}},\npricing_workspace:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M36.6 20.5a2.05 2.05 0 012.1 2.1V24a2.05 2.05 0 01-2.1 2.1h-6.3a4.19 4.19 0 00-4.2 4v39.6a4.19 4.19 0 004 4.2h39.6a4.19 4.19 0 004.2-4v-6.5a2.05 2.05 0 012.1-2.1h1.4a2.05 2.05 0 012.1 2.1v7.7a8.39 8.39 0 01-8.4 8.4H28.9a8.39 8.39 0 01-8.4-8.4V28.9a8.39 8.39 0 018.4-8.4z\",\"fill-rule\":\"evenodd\"},{\"d\":\"M54.6 24l10.4.2a4.31 4.31 0 012.2.9l4.1 4.1 4.1 4.1a2.94 2.94 0 01.9 2.2l.2 10.4a3.17 3.17 0 01-.9 2.3L58.5 65.3a3.14 3.14 0 01-4.4 0l-9.4-9.4-9.4-9.4a3.14 3.14 0 010-4.4L52.4 25a2.57 2.57 0 012.2-1zm-5.8 16.6l-1.7 1.7a.78.78 0 000 1.1l10 10a.78.78 0 001.1 0l1.7-1.7a.78.78 0 000-1.1l-10-10a.78.78 0 00-1.1 0zm4.7-4.7l-1.7 1.7a.78.78 0 000 1.1l10 10a.78.78 0 001.1 0l1.7-1.7a.78.78 0 000-1.1l-10-10a.78.78 0 00-1.1 0zm16.1-5a3.11 3.11 0 100 4.4 3.14 3.14 0 000-4.4z\"}]},\nprocedure:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M72 25h-2a.94.94 0 00-1 1v4a8 8 0 01-8 8H39a8 8 0 01-8-8v-4a.94.94 0 00-1-1h-2a6 6 0 00-6 6v43a6 6 0 006 6h44a6 6 0 006-6V31a6 6 0 00-6-6zM28 53.86v-2.07a2.08 2.08 0 012.08-2.08h3.11V46.6a2.08 2.08 0 012.07-2.08h2.08a2.08 2.08 0 012.07 2.08v3.11h3.09a2.08 2.08 0 012.08 2.08v2.07a2.08 2.08 0 01-2.08 2.08h-3.11v3.11a2.07 2.07 0 01-2.07 2.07h-2.08a2.07 2.07 0 01-2.07-2.07v-3.11h-3.11A2.08 2.08 0 0128 53.86zm43.66 17.79A1.32 1.32 0 0170.33 73H29.41a1.33 1.33 0 01-1.33-1.33V69a1.34 1.34 0 011.33-1.33h40.92A1.33 1.33 0 0171.66 69zm0-11.62a1.33 1.33 0 01-1.33 1.33H50.22A1.34 1.34 0 0148.89 60v-2.63A1.34 1.34 0 0150.22 56h20.11a1.33 1.33 0 011.33 1.33zm0-11.63a1.33 1.33 0 01-1.33 1.33H50.41a1.34 1.34 0 01-1.33-1.33v-2.66a1.34 1.34 0 011.33-1.33h19.92a1.33 1.33 0 011.33 1.33z\"},{\"d\":\"M39 32h22a2 2 0 002-2v-4a6 6 0 00-6-6H43a6 6 0 00-6 6v4a2 2 0 002 2z\"}]}},\nprocedure_detail:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M69.7 79.52a10.2 10.2 0 1110.2-10.19 10.17 10.17 0 01-10.2 10.19zm.9-12.69a1.06 1.06 0 00-.7.2c-.56.38-1.12.76-1.66 1.17a2.82 2.82 0 00-.53.56.27.27 0 000 .35.29.29 0 00.35.08 3.12 3.12 0 00.39-.15l.38-.16c.18-.06.28 0 .27.22a1.07 1.07 0 010 .25q-.58 2.4-1.18 4.82a.89.89 0 00.45 1.06 1.13 1.13 0 001.15-.1c.54-.35 1.08-.72 1.59-1.11a5.45 5.45 0 00.71-.73.22.22 0 00.06-.28.27.27 0 00-.3-.11 3 3 0 00-.39.14c-.14.06-.28.14-.43.19s-.27 0-.25-.19a1.59 1.59 0 01.06-.38c.36-1.51.73-3 1.1-4.51a1 1 0 00-1.07-1.32zm1.08-2.1a1.55 1.55 0 00-1.78-1.47 1.38 1.38 0 00-1.08 2 1.55 1.55 0 001.71.89 1.47 1.47 0 001.15-1.42zM34.78 30.47h18.91a1.72 1.72 0 001.71-1.72v-3.44a5.17 5.17 0 00-5.15-5.16h-12a5.17 5.17 0 00-5.15 5.16v3.44a1.73 1.73 0 001.68 1.72z\"},{\"d\":\"M56.1 69.32a13.47 13.47 0 01.5-3.62H26.53a1.15 1.15 0 01-1.14-1.15v-2.28a1.15 1.15 0 011.14-1.14h32.33a13.55 13.55 0 019.44-5.35V29.61a5.17 5.17 0 00-5.16-5.16h-1.72a.82.82 0 00-.86.86v3.44a6.9 6.9 0 01-6.87 6.88H34.78a6.9 6.9 0 01-6.88-6.88v-3.44a.82.82 0 00-.86-.86h-1.72a5.17 5.17 0 00-5.16 5.16v37a5.17 5.17 0 005.16 5.16h31a13.76 13.76 0 01-.22-2.45zm-12.66-27a1.15 1.15 0 011.15-1.14h17.12a1.14 1.14 0 011.14 1.14v2.28a1.15 1.15 0 01-1.14 1.15H44.59a1.16 1.16 0 01-1.15-1.15zm-.16 10a1.15 1.15 0 011.14-1.14h17.29a1.15 1.15 0 011.14 1.14v2.29a1.14 1.14 0 01-1.14 1.14H44.42a1.14 1.14 0 01-1.14-1.14zm-18-3v-1.84a1.8 1.8 0 011.79-1.79h2.67V43a1.79 1.79 0 011.79-1.79h1.78a1.79 1.79 0 011.8 1.79v2.67h2.68a1.79 1.79 0 011.78 1.79v1.78A1.78 1.78 0 0137.79 51h-2.68v2.68a1.78 1.78 0 01-1.78 1.78h-1.78a1.79 1.79 0 01-1.79-1.78V51h-2.67a1.79 1.79 0 01-1.79-1.74z\"}]}},\nprocess:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M37.6 46.3l10.8-13.4c.8-1 2.3-1 3.1 0l10.8 13.4c.4.5 1 .7 1.6.7H76c1.1 0 2-.9 2-2V28c0-3.3-2.7-6-6-6H28c-3.3 0-6 2.7-6 6v17c0 1.1.9 2 2 2h12c.6 0 1.2-.3 1.6-.7zM62.3 53.7L51.5 67.1c-.8 1-2.3 1-3.1 0L37.6 53.7c-.4-.5-1-.7-1.6-.7H24c-1.1 0-2 .9-2 2v17c0 3.3 2.7 6 6 6h44c3.3 0 6-2.7 6-6V55c0-1.1-.9-2-2-2H63.9c-.6 0-1.2.3-1.6.7z\"}}},\nprocess_exception:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M21.84 39.94h9.4a2.4 2.4 0 001.2-.7l8.4-10.5a1.5 1.5 0 012.4 0l8.4 10.5a1.46 1.46 0 001.2.5h9.6a1.58 1.58 0 001.6-1.6V25a4.69 4.69 0 00-4.7-4.7h-34.4a4.69 4.69 0 00-4.7 4.7v13.3a1.58 1.58 0 001.6 1.64zM61.7 48.5a10 10 0 012.24-.28V46a1.58 1.58 0 00-1.6-1.6h-9.4a2.73 2.73 0 00-1.2.6l-8.4 10.5a1.5 1.5 0 01-2.4 0L32.44 45a1.46 1.46 0 00-1.2-.5h-9.4a1.58 1.58 0 00-1.6 1.6v13.3a4.69 4.69 0 004.7 4.7h24.3L55.7 53a10.43 10.43 0 016-4.5zM78.42 72.86L68.35 55.57a4.66 4.66 0 00-1.68-1.68 4.17 4.17 0 00-2.37-.69 5 5 0 00-1.29.2 4.78 4.78 0 00-2.86 2.17L50.07 72.86a4.17 4.17 0 00-.69 2.37A4.71 4.71 0 0054.12 80h20.25a5.08 5.08 0 002.38-.69 4.58 4.58 0 002.17-2.86 4.48 4.48 0 00-.5-3.59zM64.2 75.92a2.18 2.18 0 01-2.2-2.17 2.36 2.36 0 011-1.81 2.17 2.17 0 111.2 4zm2.17-6.52a.67.67 0 01-.69.69h-2.86a.68.68 0 01-.7-.69V60a.68.68 0 01.7-.69h2.86a.67.67 0 01.69.69z\"}},\nproduct:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M22 66h5c1.1 0 2-.9 2-2V33c0-1.1-.9-2-2-2h-5c-1.1 0-2 .9-2 2v31c0 1.1.9 2 2 2zM78 31h-5c-1.1 0-2 .9-2 2v31c0 1.1.9 2 2 2h5c1.1 0 2-.9 2-2V33c0-1.1-.9-2-2-2zM53 66c1.1 0 2-.9 2-2V33c0-1.1-.9-2-2-2h-6c-1.1 0-2 .9-2 2v31c0 1.1.9 2 2 2h6zM65 66c1.1 0 2-.9 2-2V33c0-1.1-.9-2-2-2h-2c-1.1 0-2 .9-2 2v31c0 1.1.9 2 2 2h2zM39 66c1.1 0 2-.9 2-2V33c0-1.1-.9-2-2-2h-2c-1.1 0-2 .9-2 2v31c0 1.1.9 2 2 2h2zM78 72H22c-1.1 0-2 .9-2 2v2c0 1.1.9 2 2 2h56c1.1 0 2-.9 2-2v-2c0-1.1-.9-2-2-2zM78 20H22c-1.1 0-2 .9-2 2v2c0 1.1.9 2 2 2h56c1.1 0 2-.9 2-2v-2c0-1.1-.9-2-2-2z\"}},\nproduct_consumed:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M77.13 55.17h-3.75A1.92 1.92 0 0071.5 57v12.5a1.92 1.92 0 01-1.87 1.88H28.38a1.92 1.92 0 01-1.87-1.87V57a1.92 1.92 0 00-1.87-1.87h-3.76A1.92 1.92 0 0019 57v16.92a5 5 0 005 5h50a5 5 0 005-5V57a1.92 1.92 0 00-1.87-1.83zm-29.38 8.25a1.81 1.81 0 002.63 0l16.87-16.88a1.81 1.81 0 000-2.63l-2.62-2.63a1.81 1.81 0 00-2.62 0l-7 7a1.25 1.25 0 01-2.13-.88V20.79a2.25 2.25 0 00-2-1.87h-3.75a1.92 1.92 0 00-1.87 1.88v26.5a1.25 1.25 0 01-2.13.88l-7-7a1.81 1.81 0 00-2.63 0l-2.63 2.75a1.81 1.81 0 000 2.63z\"}},\nproduct_item:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"rect\":[{\"x\":\"19\",\"y\":\"18.92\",\"width\":\"60\",\"height\":\"16\",\"rx\":\"4\",\"ry\":\"4\"},{\"x\":\"19\",\"y\":\"40.92\",\"width\":\"27\",\"height\":\"16\",\"rx\":\"4\",\"ry\":\"4\"},{\"x\":\"19\",\"y\":\"62.92\",\"width\":\"27\",\"height\":\"16\",\"rx\":\"4\",\"ry\":\"4\"},{\"x\":\"52\",\"y\":\"40.92\",\"width\":\"27\",\"height\":\"16\",\"rx\":\"4\",\"ry\":\"4\"},{\"x\":\"52\",\"y\":\"62.92\",\"width\":\"27\",\"height\":\"16\",\"rx\":\"4\",\"ry\":\"4\"}]},\nproduct_item_transaction:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"rect\":[{\"x\":\"19\",\"y\":\"18.92\",\"width\":\"60\",\"height\":\"16\",\"rx\":\"4\",\"ry\":\"4\"},{\"x\":\"19\",\"y\":\"40.92\",\"width\":\"27\",\"height\":\"16\",\"rx\":\"4\",\"ry\":\"4\"},{\"x\":\"19\",\"y\":\"62.92\",\"width\":\"27\",\"height\":\"16\",\"rx\":\"4\",\"ry\":\"4\"}],\"path\":{\"d\":\"M64.95 72.49a1.45 1.45 0 002.1 0l11.5-11.4a1.45 1.45 0 000-2.1L67 47.49a1.45 1.45 0 00-2.1 0l-2.1 2.1a1.45 1.45 0 000 2.1l3.6 3.6a1 1 0 01-.7 1.7H53.6a1.63 1.63 0 00-1.6 1.5v3A1.71 1.71 0 0053.6 63h12.15a1 1 0 01.7 1.7l-3.6 3.6a1.45 1.45 0 000 2.1z\"}},\nproduct_quantity_rules:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M77 58.48H56.47a1.63 1.63 0 00-1.63 1.63v1.64a1.65 1.65 0 001.63 1.64H77a1.65 1.65 0 001.63-1.64v-1.64A1.63 1.63 0 0077 58.48zM77 70H56.47a1.65 1.65 0 00-1.63 1.64v1.64a1.63 1.63 0 001.63 1.63H77a1.63 1.63 0 001.63-1.63v-1.65A1.64 1.64 0 0077 70zM43.55 58.48H23a1.65 1.65 0 00-1.64 1.63v1.64A1.66 1.66 0 0023 63.39h20.55a1.66 1.66 0 001.64-1.64v-1.64a1.65 1.65 0 00-1.64-1.63zM43.55 70H23a1.66 1.66 0 00-1.64 1.64v1.64A1.64 1.64 0 0023 74.9h20.55a1.65 1.65 0 001.64-1.63v-1.64A1.65 1.65 0 0043.55 70zM66.73 25.14a13 13 0 1013 13 13 13 0 00-13-13zM73.17 39a.82.82 0 01-.82.7H61.11a.78.78 0 01-.81-.7 11.3 11.3 0 010-1.84.82.82 0 01.81-.7h11.24a.82.82 0 01.82.7 11.3 11.3 0 010 1.84zM42.51 28.88a13 13 0 00-18.43 18.43 13 13 0 0018.43-18.43zM42 39.17a.51.51 0 01-.47.55h-6.07a.58.58 0 00-.54.54v6a.58.58 0 01-.54.54h-2.17a.5.5 0 01-.54-.46v-6.08a.51.51 0 00-.48-.54h-6.07a.52.52 0 01-.54-.5V37a.59.59 0 01.54-.55h6a.51.51 0 00.55-.47V30a.58.58 0 01.54-.54h2.17a.54.54 0 01.54.54v6a.5.5 0 00.46.54h6.08A.6.6 0 0142 37z\"}},\nproduct_request:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M77.4 78.1H40.5c-1.2 0-2.3-1-2.3-2.2V71.2c0-1.2 1-2.3 2.2-2.3h37c1.2 0 2.3 1 2.3 2.2V75.8c.1 1.2-.9 2.3-2.3 2.3.1 0 .1 0 0 0zM26.6 78.1H22c-1.2 0-2.3-1-2.3-2.2V71.2c0-1.2 1-2.3 2.2-2.3H26.6c1.2 0 2.3 1 2.3 2.2V75.8c.1 1.2-.9 2.2-2.1 2.3h-.2zM53.8 57.6c-1.2 0-2.3-1-2.3-2.2V50.7c0-1.2 1-2.3 2.2-2.3H77.4c1.2 0 2.3 1 2.3 2.2V55.3c0 1.2-1 2.3-2.2 2.3H53.8zM62.6 37.1c-1.2 0-2.3-1-2.3-2.2V30.2c0-1.2 1-2.3 2.2-2.3h14.9c1.2 0 2.3 1 2.3 2.2V34.8c0 1.2-1 2.3-2.2 2.3H62.6zM20.8 58.2C19.6 47.5 28 36.4 38 34.5l2.7-.6c.5-.1.9-.6.8-1.2 0-.3-.2-.5-.4-.6l-6.7-4.5c-.7-.5-.8-1.4-.3-2v-.1l1.7-2.5c.4-.7 1.4-.9 2-.4h.1L54 33.5c.7.4.9 1.4.4 2v.1l-11 16.2c-.4.7-1.4.9-2 .4h-.1l-2.5-1.7c-.7-.4-.9-1.4-.4-2v-.1l4.4-6.7c.3-.4.3-1.1-.2-1.4-.2-.2-.5-.3-.8-.2l-1.6.3c-7.8 1.5-14.4 10.3-13.7 17.9 0 .7-1.1 1.7-1.9 1.9h-1.9c-.9.1-1.9-1.1-1.9-2z\"}},\nproduct_request_line_item:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M77.8 77.4h-37c-1.2 0-2.3-1-2.3-2.2V70.5c0-1.2 1-2.3 2.2-2.3h37c1.2 0 2.3 1 2.3 2.2V75.1c.1 1.2-.9 2.3-2.2 2.3zM26.9 77.4h-4.6c-1.2 0-2.3-1-2.3-2.2V70.5c0-1.2 1-2.3 2.2-2.3H26.9c1.2 0 2.3 1 2.3 2.2V75.1c.1 1.2-.8 2.2-2 2.3h-.3zM24.4 48.5c6.8-11.7 22.9-17 33.6-11.8l2.9 1.3c1 .5 2-.6 1.7-1.6L59.8 27c-.3-1 .3-2 1.2-2.4l3.4-1.3c.8-.4 1.7 0 2.1.8 0 .1.1.2.1.3l6.8 22.7c.3 1-.2 2.1-1.2 2.4l-22 8.6c-.8.4-1.7 0-2.1-.8 0-.1-.1-.2-.1-.3l-1.1-3.5c-.3-1 .2-2.1 1.2-2.4l9-3.6c.7-.2 1-.9.8-1.6-.1-.3-.3-.6-.6-.7l-1.7-.8c-8.3-4.1-21 .1-26 8.4-.5.8-2.3 1-3.2.6l-1.7-1.6c-.9-.4-.8-2.4-.3-3.3z\"}},\nproduct_required:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"rect\":[{\"x\":\"43.93\",\"y\":\"68.27\",\"width\":\"36.07\",\"height\":\"7.99\",\"rx\":\"2\",\"ry\":\"2\"},{\"x\":\"43.93\",\"y\":\"50.42\",\"width\":\"36.07\",\"height\":\"7.99\",\"rx\":\"2\",\"ry\":\"2\"},{\"x\":\"49.92\",\"y\":\"32.57\",\"width\":\"30.08\",\"height\":\"7.99\",\"rx\":\"2\",\"ry\":\"2\"}],\"path\":[{\"d\":\"M33.82 76.26h-4a2 2 0 01-2-2v-4a2 2 0 012-2h4a2 2 0 012 2v4a1.9 1.9 0 01-2 2zM33.82 58.41h-4a2 2 0 01-2-2v-4a2 2 0 012-2h4a2 2 0 012 2v4a1.9 1.9 0 01-2 2z\",\"fill-rule\":\"evenodd\"},{\"d\":\"M47.55 26.33l-2.12-2.12a1.44 1.44 0 00-2.12 0L30.08 37.32l-5.37-5.24a1.44 1.44 0 00-2.12 0l-2.12 2.12a1.44 1.44 0 000 2.12l7.36 7.36a3 3 0 004.24 0l15.48-15.22a1.69 1.69 0 000-2.13z\",\"fill-rule\":\"evenodd\"}]},\nproduct_service_campaign:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M47.44 61.66a1 1 0 011 .91v14.37a3.06 3.06 0 01-2.87 3H25.08a3.06 3.06 0 01-3-2.88V62.68a1 1 0 01.91-1h24.5zm29.51 0a1 1 0 011 .91v14.37a3.06 3.06 0 01-2.87 3H54.59a3.06 3.06 0 01-3-2.88V62.68a1 1 0 01.91-1H77zm-37.36 4.23l-.09.11-5.82 6.32-2.63-2.55a.77.77 0 00-1-.08l-.09.08-1.09 1a.62.62 0 00-.07.9l.07.08 3.73 3.54a1.56 1.56 0 001.08.45 1.43 1.43 0 001.09-.45l3.14-3.32.63-.67 3.14-3.31a.78.78 0 00.06-.9l-.06-.08-1.09-1a.76.76 0 00-1-.12zm29.51 0L69 66l-5.82 6.32-2.64-2.55a.75.75 0 00-1-.08l-.09.08-1.09 1a.62.62 0 00-.07.9l.07.08 3.73 3.54a1.54 1.54 0 001.08.45 1.43 1.43 0 001.09-.45l3.14-3.32.63-.67 3.14-3.31a.78.78 0 00.06-.9l-.06-.08L70.1 66a.76.76 0 00-1-.11zM45.67 51.48a3 3 0 012.85 2.87v3.24a1 1 0 01-.84 1H21a1 1 0 01-.94-.9v-3.16a3 3 0 012.69-3.05h23zm31.48 0A3 3 0 0180 54.35v3.24a1 1 0 01-.84 1H52.43a1 1 0 01-1-.9v-3.16a3 3 0 012.68-3.05h23zm-15-21.29a1 1 0 011 .91v14.37a3.06 3.06 0 01-2.87 3.05H39.84a3.06 3.06 0 01-3.05-2.87V31.21a1 1 0 01.9-1H62.2zm-7.85 4.22l-.09.08-5.82 6.32-2.59-2.56a.76.76 0 00-1-.07l-.09.07-1.08 1a.61.61 0 00-.07.9l.07.08 3.72 3.53a1.56 1.56 0 001.09.45 1.43 1.43 0 001.08-.45l3.14-3.31.64-.67 3.13-3.32a.78.78 0 00.06-.9l-.06-.07-1.08-1a.77.77 0 00-1-.08zM62.2 20a3.06 3.06 0 013 2.88v3.23a1 1 0 01-.91 1H35.77a1 1 0 01-1-.91v-3.14a3.06 3.06 0 012.87-3H62.2z\"}},\nproduct_service_campaign_item:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M74 42a2 2 0 012 1.85V72a6 6 0 01-5.78 6H30a6 6 0 01-6-5.78V44a2 2 0 011.85-2zm-15.5 8.34l-.12.1-11.45 12.41-5.2-5a1.51 1.51 0 00-2-.1l-.11.1-2.14 1.92a1.2 1.2 0 00-.1 1.81l.1.11 7.33 6.94a3.07 3.07 0 002.14.89 2.81 2.81 0 002.13-.89L55 62.34l.43-.44.42-.45.55-.58.21-.22.42-.44 5.62-5.93a1.54 1.54 0 00.08-1.82l-.08-.1-2.14-1.92a1.51 1.51 0 00-2.01-.1zM74 22a6 6 0 016 6v6a2 2 0 01-2 2H22a2 2 0 01-2-2v-6a6 6 0 016-6z\"}},\nproduct_transfer:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M75.6 20.54h-3.55a1.82 1.82 0 00-1.77 1.77v8.28c0 1.06-1.18 1.77-1.89.95A26 26 0 0046.28 23a22.73 22.73 0 00-8.75 2.6 22.92 22.92 0 00-4 2.48 1.89 1.89 0 00-.24 2.72l2.48 2.48a1.79 1.79 0 002.25.24 28.6 28.6 0 014.61-2.48c.71-.24 1.54-.47 2.36-.71a19.53 19.53 0 0118.56 6.38c1.42 1.66.35 2.72-.83 2.72h-8.28a1.93 1.93 0 00-1.89 1.77v3.55a1.93 1.93 0 001.89 1.77H76A1.47 1.47 0 0077.37 45V22.32a1.82 1.82 0 00-1.77-1.78zM64.84 62.39a1.71 1.71 0 00-2.48 0 18.93 18.93 0 01-6.86 4.37c-.71.24-1.54.47-2.36.71a19.53 19.53 0 01-18.56-6.38c-1.42-1.66-.35-2.72.83-2.72h8.28a1.82 1.82 0 001.77-1.77v-3.55a1.82 1.82 0 00-1.77-1.77H22.16a1.57 1.57 0 00-1.54 1.54v22.7a1.82 1.82 0 001.77 1.77h3.55a1.82 1.82 0 001.77-1.77v-8.28c0-1.06 1.18-1.77 1.89-.95a25.87 25.87 0 0022.11 8.51 22.73 22.73 0 008.75-2.6 25.85 25.85 0 006.74-4.85 1.71 1.71 0 000-2.48z\"}},\nproduct_warranty_term:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M66 49.52c1.77 0 3.17 1.92 4.72 2.58s4 .3 5.17 1.55.89 3.55 1.56 5.17 2.58 3 2.58 4.73-1.92 3.17-2.58 4.73-.3 4-1.56 5.16-3.54.89-5.17 1.56-3 2.58-4.72 2.58-3.21-1.92-4.76-2.58-4-.3-5.17-1.56-.88-3.54-1.55-5.16-2.58-3-2.58-4.73 1.92-3.18 2.58-4.73.3-4 1.55-5.17 3.55-.88 5.17-1.55 2.96-2.58 4.76-2.58zM50.89 68.7a5.77 5.77 0 01.47.88c.62 1.51.59 3.53 1.11 5.1H21.74a1.88 1.88 0 01-1.74-2v-2a1.88 1.88 0 011.74-2h29.15zM71.2 59a.69.69 0 00-1 0l-5.47 6.24-2.48-2.52a.69.69 0 00-1 0l-1 1a.63.63 0 000 1l3.5 3.49a1.42 1.42 0 001 .45 1.3 1.3 0 001-.45l6.5-7.21a.78.78 0 000-1zM25.81 32.87a1.74 1.74 0 011.66 1.79v27.77a1.74 1.74 0 01-1.66 1.8h-4.15a1.74 1.74 0 01-1.66-1.8V34.66a1.74 1.74 0 011.66-1.79h4.15zm23.75 0a1.79 1.79 0 011.79 1.79v22.87c-.86 2-3.3 3.76-3.3 6a3.08 3.08 0 00.08.68h-4a1.8 1.8 0 01-1.79-1.8V34.66a1.79 1.79 0 011.79-1.79h5.37zm-12.14 0a1.91 1.91 0 012 1.79v27.77a1.91 1.91 0 01-2 1.8h-2a1.9 1.9 0 01-2-1.8V34.66a1.9 1.9 0 012-1.79h2zm22.4 0a1.91 1.91 0 012 1.79v13.1a9.36 9.36 0 01-1.87 1.18 22.83 22.83 0 01-4.11.85V34.66a1.91 1.91 0 012-1.79h2zm10.78 0a1.74 1.74 0 011.66 1.79V49l-.26-.1c-2-.84-3.77-3.29-6-3.29a3.37 3.37 0 00-1.18.21V34.66a1.74 1.74 0 011.66-1.79h4.12zm-.08-10.45a1.89 1.89 0 011.74 2v2a1.88 1.88 0 01-1.74 2H21.74a1.88 1.88 0 01-1.74-2v-2a1.88 1.88 0 011.74-2h48.78z\"}},\nproduct_workspace:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M36.6 20.5a2.05 2.05 0 012.1 2.1V24a2.05 2.05 0 01-2.1 2.1h-6.3a4.19 4.19 0 00-4.2 4v39.6a4.19 4.19 0 004 4.2h39.6a4.19 4.19 0 004.2-4v-6.5a2.05 2.05 0 012.1-2.1h1.4a2.05 2.05 0 012.1 2.1v7.7a8.39 8.39 0 01-8.4 8.4H28.9a8.39 8.39 0 01-8.4-8.4V28.9a8.39 8.39 0 018.4-8.4z\",\"fill-rule\":\"evenodd\"},{\"d\":\"M67.8 49.2l3.8-3.8a1.3 1.3 0 000-1.9L56.2 28a1.3 1.3 0 00-1.9 0l-3.8 3.8a1.3 1.3 0 000 1.9L66 49.2a1.19 1.19 0 001.8 0zM76.5 40.5l1.9-1.9a1.3 1.3 0 000-1.9L63 21.2a1.3 1.3 0 00-1.9 0l-1.9 1.9a1.3 1.3 0 000 1.9l15.5 15.5a1.26 1.26 0 001.8 0zM63.4 53.6a1.23 1.23 0 00.1-1.9L48 36.2a1.3 1.3 0 00-1.9 0l-.1.1a1.3 1.3 0 000 1.9l15.5 15.5a1.31 1.31 0 001.9-.1zM57.9 59l.9-.9a1.3 1.3 0 000-1.9L43.4 40.7a1.3 1.3 0 00-1.9 0l-.9.9a1.3 1.3 0 000 1.9L56.1 59a1.12 1.12 0 001.8 0zM49.6 67.4l3.8-3.8a1.3 1.3 0 000-1.9L38 46.2a1.3 1.3 0 00-1.9 0L32.3 50a1.3 1.3 0 000 1.9l15.5 15.5a1.27 1.27 0 001.8 0z\"}]},\nproducts:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M57.6 67.4h7.7a1.78 1.78 0 001.9-1.9v-31a1.78 1.78 0 00-1.9-1.9h-7.7a1.78 1.78 0 00-1.9 1.9v31a1.78 1.78 0 001.9 1.9zM75 67.4h3.9a1.78 1.78 0 001.9-1.9v-31a1.78 1.78 0 00-1.9-1.9H75a1.78 1.78 0 00-1.9 1.9v31a1.84 1.84 0 001.9 1.9zM48.7 67.4a1.81 1.81 0 002-1.9v-31a1.78 1.78 0 00-1.9-1.9h-.1a1.78 1.78 0 00-1.9 1.9v31a1.73 1.73 0 001.9 1.9zM37.8 67.4h1.9a1.78 1.78 0 001.9-1.9v-31a1.78 1.78 0 00-1.9-1.9h-1.9a1.78 1.78 0 00-1.9 1.9v31a1.73 1.73 0 001.9 1.9zM21.1 67.4h7.7a1.78 1.78 0 001.9-1.9v-31a1.78 1.78 0 00-1.9-1.9h-7.7a1.78 1.78 0 00-1.9 1.9v31a1.84 1.84 0 001.9 1.9z\"}},\npromotions:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M59.16 53.31a3.85 3.85 0 103.89 3.86 3.85 3.85 0 00-3.84-3.86h-.05zM40.79 39a3.85 3.85 0 103.85 3.86A3.85 3.85 0 0040.79 39z\"},{\"d\":\"M78.16 46.11l-3.23-3.86a7 7 0 01-1.62-4l-.36-5a6.34 6.34 0 00-5.8-5.9L62.84 27a9.17 9.17 0 01-5.19-2.2L54.38 22a6.37 6.37 0 00-8.28-.07l-3.55 3a8.1 8.1 0 01-4.69 1.9l-4.62.33a6.33 6.33 0 00-5.9 5.8L27 37.14a9.25 9.25 0 01-2.22 5.23L22 45.63a6.35 6.35 0 00-.07 8.27L25 57.56A7.75 7.75 0 0126.71 62l.34 4.76a6.34 6.34 0 005.8 5.9l4.32.38a9 9 0 015.17 2.2l3.28 2.84a6.39 6.39 0 008.28.07L57.67 75a7.33 7.33 0 014.19-1.69l4.9-.35a6.34 6.34 0 005.9-5.8l.36-4a10.15 10.15 0 012.43-5.73l2.64-3a6.35 6.35 0 00.07-8.32zm-44.52-3.24A7.16 7.16 0 1140.83 50a7.15 7.15 0 01-7.19-7.11zM44 64a.56.56 0 01-.43.28h-2.09A.56.56 0 0141 64a.51.51 0 010-.53L56 36a.61.61 0 01.44-.27h2.23a.55.55 0 01.26.73zm22.4-6.84A7.17 7.17 0 1159.22 50a7.17 7.17 0 017.13 7.19z\"}]},\npropagation_policy:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M36 20H26a6 6 0 00-6 6v8a6 6 0 006 6h10a6 6 0 006-6v-8a6 6 0 00-6-6zm-4 14h-2a4 4 0 010-8h2a4 4 0 010 8zM54 40h10a6 6 0 006-6v-8a6 6 0 00-6-6H54a6 6 0 00-6 6v8a6 6 0 006 6zm4-14h2a4 4 0 010 8h-2a4 4 0 010-8zM36 46H26a6 6 0 00-6 6v8a6 6 0 006 6h10a6 6 0 006-6v-8a6 6 0 00-6-6zm-4 14h-2a4 4 0 010-8h2a4 4 0 010 8zM77 67H67v-3.52a9 9 0 10-6 0V67H51a3 3 0 00-3 3v7a3 3 0 006 0v-4h7v4a3 3 0 006 0v-4h7v4a3 3 0 006 0v-7a3 3 0 00-3-3zM64 52a3 3 0 11-3 3 3 3 0 013-3z\",\"fill-rule\":\"evenodd\"}},\nproposition:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M25.8 60.6h-4.5c-.7 0-1.3.6-1.3 1.3V78c0 .7.6 1.3 1.3 1.3h2.2c2 0 3.6-1.6 3.6-3.6V62c.1-.8-.6-1.4-1.3-1.4zM79.9 69.4c-.7-1.6-2-3.3-3.9-3.5-1-.1-2 .3-2.9.6-3.6 1.3-7.2 2.5-10.8 3.8-2.3.8-4.7 1.6-7.2 1.8-1.7.1-3.4 0-5.1 0-.9 0-1.7-.7-1.7-1.7s.7-1.7 1.7-1.7h9.1c1.7 0 3-1.4 3-3s-1.4-3-3-3h-7c-.3 0-2.2-.1-3.4-.6-1.3-.6-3-.7-3-.6H33.4c-1.5 0-2.7 1.2-2.7 2.7v11.3c0 1.3 1 2.4 2.3 2.6h.3c2.3 0 4.6.5 6.9.9 2.3.5 4.5.8 6.9.8 3 .1 6.1-.4 9-1.1 2.9-.8 5.7-1.9 8.5-2.8 4.8-1.6 9.7-3.3 14.5-4.9.6-.3 1.1-.8.8-1.6z\"},{\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",\"d\":\"M58 40.1v15c0 .5.5.7.9.6C61.8 54 70.8 49 70.8 49c1.2-.7 1.9-1.9 1.9-3.3V32.2c0-.5-.5-.7-.9-.6L58.6 39c-.3.3-.6.7-.6 1.1M56.8 36L70 28.6c.4-.2.4-.8 0-1-2.9-1.7-12-6.8-12-6.8a3.7 3.7 0 00-3.8 0l-12 6.8c-.4.2-.4.8 0 1L55.6 36c.3.2.8.2 1.2 0M53.7 39.1l-13.2-7.4c-.4-.2-.9.1-.9.6v13.4c0 1.3.7 2.6 1.9 3.3 0 0 9 5.1 11.9 6.7.4.2.9-.1.9-.6v-15c0-.4-.2-.8-.6-1\"}]}},\nquestion_best:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"fill-rule\":\"evenodd\",\"path\":[{\"d\":\"M100 100V62l-38 38h38zm-3.9-14.4L93 88.8c-.1.1-.1.2-.1.3l.7 4.5c.1.3-.3.6-.5.4l-3.8-2.1c-.1-.1-.2-.1-.3 0L85 94c-.3.1-.6-.1-.5-.4l.7-4.5c0-.1 0-.3-.1-.3L82 85.6c-.2-.3-.1-.6.2-.7l4.3-.7c.1 0 .2-.1.3-.2l1.9-4.1c.1-.3.5-.3.7 0l1.9 4.1c.1.1.2.2.3.2l4.3.7c.3 0 .4.4.2.7z\",\"fill-opacity\":\".65\"},{\"d\":\"M49.9 22c-16.6 0-30 12.5-30 28 0 5 1.4 9.6 3.8 13.7.3.5.4 1.1.2 1.6l-2.8 8.9c-.5 1.6 1 3 2.6 2.5l8.8-3.1c.6-.2 1.2-.1 1.7.2 4.6 2.7 10 4.2 15.8 4.2 16.6 0 30-12.5 30-28-.1-15.5-13.4-28-30.1-28zm3 45c0 1.1-.9 2-2 2h-2c-1.1 0-2-.9-2-2v-2c0-1.1.9-2 2-2h2c1.1 0 2 .9 2 2v2zm.9-12.7c-.4.1-.8.5-.8 1v1.6c0 1.1-.9 2.1-2 2.1h-2c-1.1 0-2-1-2-2.1v-1.6c0-3 2-5.7 4.9-6.7 1.1-.4 2.1-.9 2.7-1.8 3.4-4.5 0-9.7-4.5-9.8-1.6-.1-3.2.6-4.4 1.7-.8.8-1.4 1.8-1.6 2.8-.2.9-1 1.6-1.9 1.6h-2.1c-1.2 0-2.2-1.2-2-2.4.5-2.4 1.6-4.6 3.4-6.3 2.3-2.3 5.4-3.5 8.7-3.4 6.3.2 11.5 5.4 11.7 11.7.2 5.2-3 9.9-8.1 11.6z\"}]}},\nquestion_feed:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M50 22c-16.6 0-30 12.5-30 28 0 5 1.4 9.6 3.8 13.7.3.5.4 1.1.2 1.6l-2.8 8.9c-.5 1.6 1 3 2.6 2.5l8.8-3.1c.6-.2 1.2-.1 1.7.2 4.6 2.7 10 4.2 15.8 4.2 16.6 0 30-12.5 30-28C80 34.5 66.6 22 50 22zm3 45c0 1.1-.9 2-2 2h-2c-1.1 0-2-.9-2-2v-2c0-1.1.9-2 2-2h2c1.1 0 2 .9 2 2v2zm.8-12.7c-.4.1-.8.5-.8 1v1.6c0 1.1-.9 2.1-2 2.1h-2c-1.1 0-2-1-2-2.1v-1.6c0-3 2-5.7 4.9-6.7 1.1-.4 2.1-.9 2.7-1.8 3.4-4.5 0-9.7-4.5-9.8-1.6-.1-3.2.6-4.4 1.7-.8.8-1.4 1.8-1.6 2.8-.2.9-1 1.6-1.9 1.6h-2.1c-1.2 0-2.2-1.2-2-2.4.5-2.4 1.6-4.6 3.4-6.3 2.3-2.3 5.4-3.5 8.7-3.4 6.3.2 11.5 5.4 11.7 11.7.2 5.2-3 9.9-8.1 11.6z\"}},\nqueue:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M67.6 20.1c-2.9 0-5.4 2.1-6.4 5 3.8 1.7 6.7 5.4 7.7 9.9 3.1-.7 5.4-3.7 5.4-7.3 0-4.3-3-7.6-6.7-7.6zM73.8 37.9c-1.3 1.2-2.9 2-4.7 2.3-.3 2.7-1.3 5.2-2.8 7.2h11.1c1.4 0 2.5-1.1 2.5-2.5v-1.2c0-2.7-3-4.4-6.1-5.8zM63.2 50c-2 1.8-4.5 2.9-7.2 2.9-.2 3.1-1.1 5.9-2.5 8.3h14c1.6 0 3-1.3 3-3V57c-.1-3.3-3.7-5.3-7.3-7zM50.3 65.2c-2.8 2.8-6.6 4.4-10.6 4.4-4.1 0-7.9-1.7-10.7-4.6-4.6 2.2-9 5-9 9.1V76c0 2.2 1.8 3.9 3.9 3.9h31.3c2.2 0 3.9-1.8 3.9-3.9v-1.8c0-4.2-4.2-6.9-8.8-9z\"},{\"d\":\"M55.7 29.5c-3.7 0-6.8 2.7-7.7 6.5 3.7 2.4 6.4 6.5 7.5 11.2h.2c4.4 0 8-4 8-8.9.1-4.8-3.5-8.8-8-8.8z\"}],\"ellipse\":{\"cx\":\"39.6\",\"cy\":\"51.6\",\"rx\":\"10.7\",\"ry\":\"11.8\"}},\nquick_text:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M49.5 21.5c-16.7 0-29.9 12.3-29.9 27.4 0 4.8 1.4 9.3 3.6 13.3.4.6.5 1.4.3 2.1L19.6 75c-.4 1 .6 1.9 1.6 1.6L32 72.5c.6-.3 1.4-.1 2.1.3 4.5 2.5 9.9 4 15.7 4 16.4-.1 29.8-12.3 29.8-27.6-.1-15.4-13.5-27.7-30.1-27.7zM35.6 48c0-.6.5-1.2 1.2-1.2h19.4c.6 0 1.2.5 1.2 1.2v2.3c0 .6-.5 1.2-1.2 1.2H36.7c-.6 0-1.2-.5-1.2-1.2V48zm27.9 11.6c0 .6-.5 1.2-1.2 1.2H36.7c-.6 0-1.2-.5-1.2-1.2v-2.3c0-.6.5-1.2 1.2-1.2h25.6c.6 0 1.2.5 1.2 1.2v2.3zm0-18.6c0 .6-.5 1.2-1.2 1.2H36.7c-.6 0-1.2-.5-1.2-1.2v-2.3c0-.6.5-1.2 1.2-1.2h25.6c.6 0 1.2.5 1.2 1.2V41z\"}},\nquip:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M48.1 20.1c-14.9.9-27.1 13.1-28 28C19 65.5 32.8 80 50 80h30V50c0-17.2-14.5-31-31.9-29.9zM35.8 37c0-1.1.9-2 2-2h24.5c1.1 0 2 .9 2 2v2c0 1.1-.9 2-2 2H37.8c-1.1 0-2-.9-2-2v-2zm28.5 26c0 1.1-.9 2-2 2H37.8c-1.1 0-2-.9-2-2v-2c0-1.1.9-2 2-2h24.5c1.1 0 2 .9 2 2v2zm7.5-12c0 1.1-.9 2-2 2H30.2c-1.1 0-2-.9-2-2v-2c0-1.1.9-2 2-2h39.6c1.1 0 2 .9 2 2v2z\"}},\nquip_sheet:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M31.9 38.8h-10c-1 0-1.9.9-1.9 1.9v31.9c0 2.8 2.2 5 5 5h6.9c1 0 1.9-.9 1.9-1.9v-35c0-1.1-.9-1.9-1.9-1.9zm46.2 0H40.6c-1 0-1.9.9-1.9 1.9v35c0 1 .9 1.9 1.9 1.9H75c2.8 0 5-2.2 5-5v-32c0-1-.9-1.8-1.9-1.8zM75 22.5H25c-2.8 0-5 2.2-5 5v4.4c0 1 .9 1.9 1.9 1.9h56.2c1 0 1.9-.9 1.9-1.9v-4.4c0-2.7-2.2-5-5-5z\"}},\nquotes:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M72 22H50.1c-1.4-.1-2.6.6-3.6 1.6L19.7 50.5c-2.3 2.3-2.3 6.1 0 8.5l21.2 21.2c2.3 2.3 6.1 2.3 8.5 0L76.5 53c1-1 1.6-2.6 1.5-4V28c0-3.3-2.7-6-6-6zM50.4 66L49 67.4c-.8.8-2 .8-2.8 0L32.6 53.8c-.8-.8-.8-2 0-2.8l1.4-1.4c.8-.8 2-.8 2.8 0l13.6 13.6c.8.8.8 2 0 2.8zm8-8L57 59.4c-.8.8-2 .8-2.8 0L40.6 45.8c-.8-.8-.8-2 0-2.8l1.4-1.4c.8-.8 2-.8 2.8 0l13.6 13.6c.8.8.8 2 0 2.8zM64 41c-2.8 0-5-2.2-5-5s2.2-5 5-5 5 2.2 5 5-2.2 5-5 5z\"}},\nradio_button:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M33.5 53.1c-7.4 0-13.4 6-13.4 13.4s6 13.4 13.4 13.4 13.4-6 13.4-13.4-6-13.4-13.4-13.4zm0 20.9c-4.1 0-7.5-3.4-7.5-7.5s3.4-7.5 7.5-7.5 7.5 3.4 7.5 7.5c0 4.2-3.4 7.5-7.5 7.5zM66.5 53.1c-7.4 0-13.4 6-13.4 13.4s6 13.4 13.4 13.4 13.4-6 13.4-13.4-6-13.4-13.4-13.4zM33.5 20c-7.4 0-13.4 6-13.4 13.4s6 13.4 13.4 13.4 13.4-6 13.4-13.4S40.9 20 33.5 20zm0 20.9c-4.1 0-7.5-3.4-7.5-7.5s3.4-7.5 7.5-7.5 7.5 3.4 7.5 7.5-3.4 7.5-7.5 7.5zM66.5 20c-7.4 0-13.4 6-13.4 13.4s6 13.4 13.4 13.4 13.4-6 13.4-13.4S73.9 20 66.5 20z\"}},\nread_receipts:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M48.9 43.4c.7.6 1.5.6 2.2 0l23-21.3c.4-.8.3-2.1-1.3-2.1l-45.6.1c-1.2 0-2.2 1.1-1.3 2.1l23 21.2z\"},{\"d\":\"M74.3 31.2c0-1.1-1.3-1.6-2-.9L54.4 46.9c-1.2 1.1-2.8 1.7-4.4 1.7-1.6 0-3.2-.6-4.4-1.7l-18-16.6c-.8-.7-2-.2-2 .9v21.2c0 2.7 2.2 4.9 4.9 4.9h23.9v-6.1c.2-3.3 2.8-6 6.2-6.2h.7c3.3.2 6 2.8 6.2 6.2v6.1h2.2c2.7 0 4.9-2.2 4.9-4.9-.3 0-.3-14.7-.3-21.2z\"}]},\"path\":{\"d\":\"M71.1 63.7l-6.7-2.3c-.5-.2-.9-.7-.9-1.2v-8.9c0-1.4-1.1-2.4-2.5-2.4h-.2c-1.4 0-2.5 1.1-2.5 2.4v17.5c0 1.5-1.9 2.1-2.7.8L53.9 66c-.9-1.5-2.9-2-4.4-.9l-1.1.9L54 79.3c.2.6.8.9 1.5.9h14.7c.7 0 1.3-.5 1.5-1.1l2.6-9.3c.6-2.7-.8-5.2-3.2-6.1z\"}},\nrecent:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M28.1 48c-.1.7-.1 1.3-.1 2h-6c0-.7 0-1.3.1-2h6zM51.5 36h-3c-.8 0-1.5.7-1.5 1.5v13.1c0 .4.2.8.4 1.1l8.4 8.4c.6.6 1.5.6 2.1 0L60 58c.6-.6.6-1.5 0-2.1l-7-7.1V37.5c0-.8-.7-1.5-1.5-1.5z\"},{\"d\":\"M50 22c-14.8 0-26.9 11.5-27.9 26 0 .3-.1.7-.1 1h-4.5c-1.3 0-2 1.5-1.2 2.4l7.5 9.1c.6.7 1.7.7 2.3 0l7.5-9.1c.8-1 .1-2.4-1.2-2.4H28v-1c1-11.2 10.5-20 21.9-20 13 0 23.3 11.3 21.9 24.5-1 9.5-10 18.5-19.6 19.4-7.1.7-13.8-1.9-18.5-7-.6-.7-1.4-1.1-2.2-.1l-2.4 2.9c-.5.6-.1 1 .4 1.5 5.4 5.7 12.8 8.9 20.8 8.8 14.4-.2 26.5-11.6 27.5-26C79.1 35.7 66.1 22 50 22z\"}]},\nrecipe:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M56.5 22.8a2.8 2.8 0 11-2.8-2.8 2.8 2.8 0 012.8 2.8zM46.24 33.2a3.75 3.75 0 10-3.75-3.75 3.75 3.75 0 003.75 3.75zM70.54 72L58 52.75V42.5a2.69 2.69 0 003-2.35 2.26 2.26 0 000-.45 2.49 2.49 0 00-2.25-2.7H41.5a2.5 2.5 0 00-2.5 2.48v.32a2.7 2.7 0 002.56 2.82 3.24 3.24 0 00.44 0V53L29.5 72a5.32 5.32 0 00-.3 5.3 4.88 4.88 0 004.4 2.7h32.7a4.88 4.88 0 004.4-2.7 5 5 0 00-.2-5.3zM47 54.45V43h6v11.6l5.9 9.4H41.1z\",\"fill-rule\":\"evenodd\"}},\nrecord:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M39 32h22c1.1 0 2-.9 2-2v-4c0-3.3-2.7-6-6-6H43c-3.3 0-6 2.7-6 6v4c0 1.1.9 2 2 2z\"},{\"d\":\"M72 25h-2c-.6 0-1 .4-1 1v4c0 4.4-3.6 8-8 8H39c-4.4 0-8-3.6-8-8v-4c0-.6-.4-1-1-1h-2c-3.3 0-6 2.7-6 6v43c0 3.3 2.7 6 6 6h44c3.3 0 6-2.7 6-6V31c0-3.3-2.7-6-6-6zM39 68c0 1.1-.9 2-2 2h-2c-1.1 0-2-.9-2-2v-2c0-1.1.9-2 2-2h2c1.1 0 2 .9 2 2v2zm0-10c0 1.1-.9 2-2 2h-2c-1.1 0-2-.9-2-2v-2c0-1.1.9-2 2-2h2c1.1 0 2 .9 2 2v2zm0-10c0 1.1-.9 2-2 2h-2c-1.1 0-2-.9-2-2v-2c0-1.1.9-2 2-2h2c1.1 0 2 .9 2 2v2zm28 20c0 1.1-.9 2-2 2H45c-1.1 0-2-.9-2-2v-2c0-1.1.9-2 2-2h20c1.1 0 2 .9 2 2v2zm0-10c0 1.1-.9 2-2 2H45c-1.1 0-2-.9-2-2v-2c0-1.1.9-2 2-2h20c1.1 0 2 .9 2 2v2zm0-10c0 1.1-.9 2-2 2H45c-1.1 0-2-.9-2-2v-2c0-1.1.9-2 2-2h20c1.1 0 2 .9 2 2v2z\"}]},\nrecord_create:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M68.4 27.1c.1 0 .1 0 0 0\"},\"g\":{\"path\":[{\"d\":\"M39 32h22c1.1 0 2-.9 2-2v-4c0-3.3-2.7-6-6-6H43c-3.3 0-6 2.7-6 6v4c0 1.1.9 2 2 2z\"},{\"d\":\"M72 25h-2c-.6 0-1 .4-1 1v4c0 4.4-3.6 8-8 8H39c-4.4 0-8-3.6-8-8v-4c0-.6-.4-1-1-1h-2c-3.3 0-6 2.7-6 6v43c0 3.3 2.7 6 6 6h44c3.3 0 6-2.7 6-6V31c0-3.3-2.7-6-6-6zm-7.3 35.2c0 .5-.5 1-1 1h-11c-.4 0-.7.3-.7.7v11c0 .5-.5 1-1 1h-2c-.5 0-1-.5-1-1v-11c0-.4-.3-.7-.7-.7h-11c-.5 0-1-.5-1-1v-2c0-.5.5-1 1-1h11c.4 0 .7-.3.7-.7v-11c0-.5.5-1 1-1h2c.5 0 1 .5 1 1v11c0 .4.3.7.7.7h11c.5 0 1 .5 1 1v2z\"}]}},\nrecord_delete:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M39 32h22c1.1 0 2-.9 2-2v-4c0-3.3-2.7-6-6-6H43c-3.3 0-6 2.7-6 6v4c0 1.1.9 2 2 2z\"},{\"d\":\"M72 25h-2c-.6 0-1 .4-1 1v4c0 4.4-3.6 8-8 8H39c-4.4 0-8-3.6-8-8v-4c0-.6-.4-1-1-1h-2c-3.3 0-6 2.7-6 6v43c0 3.3 2.7 6 6 6h44c3.3 0 6-2.7 6-6V31c0-3.3-2.7-6-6-6zM60.4 70.6c0 1.7-1.3 3.1-3.1 3.1H42.7c-1.7 0-3.1-1.3-3.1-3.1v-13c0-.5.4-.9.9-.9h19c.5 0 .9.4.9.9v13zm2.4-18.7c0 .5-.4.9-.9.9H38.1c-.5 0-.9-.4-.9-.9v-1.8c0-.5.4-.9.9-.9h7.6v-2.4c0-1.3 1.1-2.4 2.4-2.4h3.7c1.3 0 2.4 1.1 2.4 2.4v2.4h7.6c.5 0 .9.4.9.9v1.8z\"},{\"d\":\"M47.6 61h-1.2c-.4 0-.6.2-.6.6v7.1c0 .4.2.6.6.6h1.2c.4 0 .6-.2.6-.6v-7.1c0-.4-.3-.6-.6-.6zM53.7 61h-1.2c-.4 0-.6.2-.6.6v7.1c0 .4.2.6.6.6h1.2c.4 0 .6-.2.6-.6v-7.1c0-.4-.3-.6-.6-.6zM51.2 46.7h-2.4c-.4 0-.6.2-.6.6v1.8h3.7v-1.8c-.1-.4-.3-.6-.7-.6z\"}]}},\nrecord_lookup:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M39 32h22c1.1 0 2-.9 2-2v-4c0-3.3-2.7-6-6-6H43c-3.3 0-6 2.7-6 6v4c0 1.1.9 2 2 2z\"},{\"d\":\"M72 25h-2c-.6 0-1 .4-1 1v4c0 4.4-3.6 8-8 8H39c-4.4 0-8-3.6-8-8v-4c0-.6-.4-1-1-1h-2c-3.3 0-6 2.7-6 6v43c0 3.3 2.7 6 6 6h44c3.3 0 6-2.7 6-6V31c0-3.3-2.7-6-6-6zm-7.7 47.6L63 73.9c-.3.3-.9.3-1.3 0l-8.1-8.1c-2.3 1.6-5.2 2.5-8.4 2.1-5.2-.7-9.4-5.1-9.9-10.3-.7-7.2 5.4-13.4 12.6-12.6 5.3.5 9.6 4.6 10.3 9.9.4 3.1-.4 6.1-2.1 8.4l8.1 8.1c.5.2.5.8.1 1.2z\"},{\"d\":\"M46.9 48.5c-4.4 0-7.9 3.6-7.9 7.9 0 4.4 3.5 7.9 7.9 7.9s7.9-3.5 7.9-7.9-3.5-7.9-7.9-7.9z\"}]}},\nrecord_signature_task:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M77.27 29.57a1.49 1.49 0 00-1-.45 1.33 1.33 0 00-1 .45L74 30.77a.43.43 0 000 .55l3.13 3.13a.52.52 0 00.29.09.35.35 0 00.25-.09l1.21-1.21a1.42 1.42 0 00-.06-2.11zM73.05 32.34a.52.52 0 00-.29-.09.35.35 0 00-.25.09L60 44.78l-1.2 4.15a.57.57 0 00.52.75h.14l4.16-1.21L76.12 36a.38.38 0 000-.49z\"},{\"d\":\"M78.24 38.14l-5.58 5.56v19.18a2 2 0 01-2 2h-42a2 2 0 01-2-2v-23a2 2 0 012-2h34l6-6h-42a6 6 0 00-6 6v27a6 6 0 006 6h46a6 6 0 006-6v-27-.24a2.8 2.8 0 01-.42.5z\"},{\"d\":\"M54.82 50.45c-.94.55-1.82 1.15-2.77 1.65a3.81 3.81 0 01-.87.33.6.6 0 000-.12A4.07 4.07 0 0046.34 49a58.78 58.78 0 00-6.68 2.11 57.84 57.84 0 01-6.95 1.73 1.89 1.89 0 00-1.31 2.31 1.91 1.91 0 002.3 1.31 58.81 58.81 0 006.95-1.73c1.14-.36 2.28-.74 3.41-1.11l2-.65a5 5 0 011.17-.34c.11 0 .13.22.2.37.2.46.33.94.58 1.39a3.25 3.25 0 002.74 1.84c2.24.12 4.12-1.5 6-2.52 2.07-1.19.18-4.43-1.93-3.26z\"}]}},\nrecord_update:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M68.4 27.1c.1 0 .1 0 0 0\"},\"g\":{\"path\":[{\"d\":\"M39 32h22c1.1 0 2-.9 2-2v-4c0-3.3-2.7-6-6-6H43c-3.3 0-6 2.7-6 6v4c0 1.1.9 2 2 2z\"},{\"d\":\"M72 25h-2c-.6 0-1 .4-1 1v4c0 4.4-3.6 8-8 8H39c-4.4 0-8-3.6-8-8v-4c0-.6-.4-1-1-1h-2c-3.3 0-6 2.7-6 6v43c0 3.3 2.7 6 6 6h44c3.3 0 6-2.7 6-6V31c0-3.3-2.7-6-6-6zM60 55.5l-16 16h.1l-7 2c-.7.2-1.3-.5-1.1-1.2l2-6.9 16-16c.2-.2.6-.2.9 0l5.1 5.3c.2.2.2.6 0 .8zm4.6-4.6l-2 2c-.2.2-.6.2-.9 0l-5.2-5.2c-.2-.2-.2-.6 0-.9l2-2c.9-1 2.4-1 3.4 0l2.6 2.6c1.1 1 1.1 2.5.1 3.5z\"}]}},\nrecycle_bin:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M74.4 30H58.8v-5c0-2.7-2.2-5-5-5h-7.5c-2.7 0-5 2.2-5 5v5H25.6c-1 0-1.9.9-1.9 1.9v3.7c0 1 .9 1.9 1.9 1.9h48.7c1 0 1.9-.9 1.9-1.9v-3.7c0-1-.8-1.9-1.8-1.9zm-20.8 0h-7.4v-3.7c0-.7.5-1.2 1.2-1.2h5c.7 0 1.2.5 1.2 1.2V30zM69.4 42.5H30.6c-1 0-1.9.9-1.9 1.9v29.4c0 3.5 2.7 6.2 6.2 6.2h30c3.5 0 6.2-2.7 6.2-6.2V44.4c.1-1-.7-1.9-1.7-1.9zM46.6 73.6l-6.3.1c-.2 0-2.6 0-4.2-2.5-1.7-2.7-.4-5 1.5-8.3l-1.8-1.2c-.2-.1-.3-.3-.2-.5 0-.2.1-.3.4-.4l4.9-1.2.4-.1c.2 0 .4 0 .6.4l.1.4 1.1 5c0 .2 0 .4-.2.5-.2.1-.4.1-.6 0l-1.6-1c-1.7 2.9-2 3.8-1.5 4.5.5.8 1.2.9 1.2.9l6.2-.1c.6 0 1.2.3 1.5.8.2.3.3.6.3.9 0 1-.8 1.8-1.8 1.8zm4.5-18.2c0-.2.1-.4.3-.5l1.7-.8c-1.5-3-2.1-3.7-3-3.7-1 0-1.3.5-1.4.6l-3.3 5.3c-.3.5-.9.8-1.5.8-.3 0-.6-.1-.9-.3-.8-.5-1.1-1.6-.5-2.4l3.3-5.3c.1-.2 1.4-2.2 4.3-2.2 3.2 0 4.4 2.4 6.2 5.8l2-.9c.2-.1.4 0 .5.1s.2.3.1.5l-1.7 5.1c0 .1-.1.2-.3.3-.2.1-.4 0-.4 0l-5.1-1.9c-.2-.1-.3-.3-.3-.5zm13.1 15.3c-1.5 2.8-4.2 2.8-8 2.7l-.1 2.2c0 .2-.1.4-.3.4-.1 0-.3.1-.5-.1L51.6 72c-.3-.3 0-.6 0-.6l.2-.2 4-3.5c.2-.1.3-.2.5-.1s.3.3.3.5l-.1 1.9c3.3 0 4.3-.1 4.7-.9s.2-1.4.1-1.5l-3.1-5.4c-.3-.5-.3-1.2 0-1.7.2-.3.4-.5.7-.7.8-.5 1.9-.2 2.4.7l3.1 5.4c.1.2 1.2 2.2-.2 4.8z\"}}},\nrelated_list:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M74 20H42c-3.3 0-6 2.7-6 6v1c0 .5.4 1 1 1h29c3.3 0 6 2.7 6 6v31c0 .5.4 1 1 1 3.8 0 7-3.1 7-7V26c0-3.3-2.7-6-6-6z\"},{\"d\":\"M28 34c-3.3 0-6 2.7-6 6v34c0 3.3 2.7 6 6 6h32c3.3 0 6-2.7 6-6V40c0-3.3-2.7-6-6-6H28zm8 14c0 1.1-.9 2-2 2h-2c-1.1 0-2-.9-2-2v-2c0-1.1.9-2 2-2h2c1.1 0 2 .9 2 2v2zm22 0c0 1.1-.9 2-2 2H42c-1.1 0-2-.9-2-2v-2c0-1.1.9-2 2-2h14c1.1 0 2 .9 2 2v2zM36 58c0 1.1-.9 2-2 2h-2c-1.1 0-2-.9-2-2v-2c0-1.1.9-2 2-2h2c1.1 0 2 .9 2 2v2zm22 0c0 1.1-.9 2-2 2H42c-1.1 0-2-.9-2-2v-2c0-1.1.9-2 2-2h14c1.1 0 2 .9 2 2v2zM36 68c0 1.1-.9 2-2 2h-2c-1.1 0-2-.9-2-2v-2c0-1.1.9-2 2-2h2c1.1 0 2 .9 2 2v2zm22 0c0 1.1-.9 2-2 2H42c-1.1 0-2-.9-2-2v-2c0-1.1.9-2 2-2h14c1.1 0 2 .9 2 2v2z\"}]},\nrelationship:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M71.25 70.002h-3.751V62.5h3.751c.749 0 1.25-.501 1.25-1.25v-32.5c0-.75-.501-1.25-1.25-1.25h-32.5c-.75 0-1.25.5-1.25 1.25v3.75H30v-3.75A8.696 8.696 0 0138.75 20h32.5A8.696 8.696 0 0180 28.75v32.5c0 4.876-3.872 8.752-8.75 8.752z\"},{\"d\":\"M57.5 37.5H25c-2.749 0-5 2.249-5 5V75c0 2.75 2.251 5 5 5h32.5c2.75 0 5-2.25 5-5V42.5c0-2.75-2.248-5-5-5z\"}]}},\nreply_text:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M48.7 50.9a1 1 0 00-.5 1.7l5.5 5.6a1.45 1.45 0 010 2.1l-2.1 2.1a1.45 1.45 0 01-2.1 0L36 48.9a1.45 1.45 0 010-2.1l13.5-13.5a1.45 1.45 0 012.1 0l2.1 2.2a1.45 1.45 0 010 2.1l-5.6 5.6c-.6.6.5 1.7.5 1.7a27.16 27.16 0 0125.8 20.3 26 26 0 005.3-15.6c-.1-15.5-13.5-27.7-30.1-27.7s-30 12.3-30 27.4a27.56 27.56 0 003.6 13.3 2.58 2.58 0 01.3 2.1l-3.9 10.7a1.25 1.25 0 001.6 1.6L32 72.9a2.33 2.33 0 012.1.3 32.38 32.38 0 0015.7 4 31.63 31.63 0 0019.5-6.9 21.68 21.68 0 00-20.6-19.4z\"}},\nreport:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M39 32h22c1.1 0 2-.9 2-2v-4c0-3.3-2.7-6-6-6H43c-3.3 0-6 2.7-6 6v4c0 1.1.9 2 2 2z\"},{\"d\":\"M72 25h-2c-.6 0-1 .4-1 1v4c0 4.4-3.6 8-8 8H39c-4.4 0-8-3.6-8-8v-4c0-.6-.4-1-1-1h-2c-3.3 0-6 2.7-6 6v43c0 3.3 2.7 6 6 6h44c3.3 0 6-2.7 6-6V31c0-3.3-2.7-6-6-6zM43 66c0 1.1-.9 2-2 2h-2c-1.1 0-2-.9-2-2V56c0-1.1.9-2 2-2h2c1.1 0 2 .9 2 2v10zm10 0c0 1.1-.9 2-2 2h-2c-1.1 0-2-.9-2-2V47c0-1.1.9-2 2-2h2c1.1 0 2 .9 2 2v19zm10 0c0 1.1-.9 2-2 2h-2c-1.1 0-2-.9-2-2V51c0-1.1.9-2 2-2h2c1.1 0 2 .9 2 2v15z\"}]},\nresource_absence:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M49.91 20a25.4 25.4 0 1025.18 25.5c0-13.79-11.24-25.5-25.18-25.5zm16.61 38l-4.73 4.73-12.25-12.27L37.9 62.1l-4.74-4.74L44.8 45.73 33.1 34l4.73-4.73L49.53 41l12.31-12.32 4.74 4.74-12.31 12.31z\",\"fill-rule\":\"evenodd\"},{\"d\":\"M26 64.21h-1.27A4.75 4.75 0 0020 68.95v6.31A4.74 4.74 0 0024.73 80h50.54A4.75 4.75 0 0080 75.26v-6.31a4.74 4.74 0 00-4.73-4.74h-1.54a30.15 30.15 0 01-47.72 0z\",\"fill-rule\":\"evenodd\"}]},\nresource_capacity:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M49.91 20a25.4 25.4 0 1025.18 25.5c0-13.79-11.24-25.5-25.18-25.5zM67.6 46.43H49.29V27s6.87-.42 13.11 6.06 5.2 13.37 5.2 13.37z\",\"fill-rule\":\"evenodd\"},{\"d\":\"M26 64.21h-1.27A4.75 4.75 0 0020 68.95v6.31A4.74 4.74 0 0024.73 80h50.54A4.75 4.75 0 0080 75.26v-6.31a4.74 4.74 0 00-4.73-4.74h-1.54a30.15 30.15 0 01-47.72 0z\",\"fill-rule\":\"evenodd\"}]},\nresource_preference:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M49.91 20a25.4 25.4 0 1025.18 25.5c0-13.79-11.24-25.5-25.18-25.5zM39.24 55.91a2.82 2.82 0 01-3 2.55h-1.9a1.08 1.08 0 01-1.13-1V42.83a1.08 1.08 0 011.13-1h3.77a1.08 1.08 0 011.13 1zM66.39 53c0 5.55-5.2 6.06-10.86 6.06-5.35 0-7.09-1.72-12.22-1.91a1 1 0 01-1.06-1V43.47a1.08 1.08 0 011.13-1 6.71 6.71 0 006.41-6.7V32a1.08 1.08 0 011.13-1h1.89a2.82 2.82 0 013 2.55V40a2.82 2.82 0 003 2.55h4.52a2.82 2.82 0 013 2.55z\",\"fill-rule\":\"evenodd\"},{\"d\":\"M26 64.21h-1.27A4.75 4.75 0 0020 68.95v6.31A4.74 4.74 0 0024.73 80h50.54A4.75 4.75 0 0080 75.26v-6.31a4.74 4.74 0 00-4.73-4.74h-1.54a30.15 30.15 0 01-47.72 0z\",\"fill-rule\":\"evenodd\"}]},\nresource_skill:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M43.85 45.44a6 6 0 1012.07 0 6 6 0 10-12.07 0z\",\"fill-rule\":\"evenodd\"},{\"d\":\"M49.91 20a25.4 25.4 0 1025.18 25.5c0-13.79-11.24-25.5-25.18-25.5zm16.58 33.69l-1.16 1.93a2.66 2.66 0 01-2.13 1.16 2.82 2.82 0 01-.87-.19l-3.19-1.26A14 14 0 0154.49 58l-.58 3.58a2.48 2.48 0 01-2.42 2h-2.41a2.48 2.48 0 01-2.42-2L46.08 58a12 12 0 01-4.45-2.51l-3.38 1.26a2.82 2.82 0 01-.87.19 2.52 2.52 0 01-2.13-1.26l-1.16-2a2.41 2.41 0 01.58-3.09l2.8-2.32a12.69 12.69 0 01-.29-2.61 11.81 11.81 0 01.29-2.51l-2.8-2.32a2.39 2.39 0 01-.58-3.09l1.16-2a2.4 2.4 0 012.13-1.26 2.82 2.82 0 01.87.19l3.38 1.26a13.82 13.82 0 014.45-2.61l.58-3.38A2.31 2.31 0 0149.08 28h2.42a2.32 2.32 0 012.42 1.84l.58 3.48a13.55 13.55 0 014.45 2.51l3.38-1.26a2.82 2.82 0 01.87-.19 2.52 2.52 0 012.13 1.26l1.16 2a2.53 2.53 0 01-.58 3.09l-2.8 2.32a12 12 0 01.29 2.61 11.81 11.81 0 01-.29 2.51l2.8 2.32a2.52 2.52 0 01.58 3.2z\",\"fill-rule\":\"evenodd\"},{\"d\":\"M26 64.21h-1.27A4.75 4.75 0 0020 68.95v6.31A4.74 4.74 0 0024.73 80h50.54A4.75 4.75 0 0080 75.26v-6.31a4.74 4.74 0 00-4.73-4.74h-1.54a30.15 30.15 0 01-47.72 0z\",\"fill-rule\":\"evenodd\"}]},\nrestriction_policy:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M64 48a16 16 0 1016 16 16 16 0 00-16-16zm7 19H57a3 3 0 010-6h14a3 3 0 010 6zM36 20H26a6 6 0 00-6 6v9a6 6 0 006 6h10a6 6 0 006-6v-9a6 6 0 00-6-6zm-4.5 15h-1a4.5 4.5 0 010-9h1a4.5 4.5 0 010 9zM54 41h10a6 6 0 006-6v-9a6 6 0 00-6-6H54a6 6 0 00-6 6v9a6 6 0 006 6zm4.5-15h1a4.5 4.5 0 010 9h-1a4.5 4.5 0 010-9zM36 47H26a6 6 0 00-6 6v9a6 6 0 006 6h10a6 6 0 006-6v-9a6 6 0 00-6-6zm-4.5 15h-1a4.5 4.5 0 010-9h1a4.5 4.5 0 010 9z\",\"fill-rule\":\"evenodd\"}},\nreturn_order:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M22 22.3h36.9c1.2 0 2.3 1 2.3 2.2v4.7c0 1.2-1 2.3-2.2 2.3H22c-1.2 0-2.3-1-2.3-2.2v-4.7c-.1-1.2.9-2.3 2.3-2.3-.1 0-.1 0 0 0zm50.8 0h4.6c1.2 0 2.3 1 2.3 2.2v4.7c0 1.2-1 2.3-2.2 2.3h-4.7c-1.2 0-2.3-1-2.3-2.2v-4.7c-.1-1.2.9-2.2 2.1-2.3h.2zM45.6 42.8c1.2 0 2.3 1 2.3 2.2v4.7c0 1.2-1 2.3-2.2 2.3H22c-1.2 0-2.3-1-2.3-2.2v-4.7c0-1.2 1-2.3 2.2-2.3h23.7zm-8.8 20.5c1.2 0 2.3 1 2.3 2.2v4.7c0 1.2-1 2.3-2.2 2.3H22c-1.2 0-2.3-1-2.3-2.2v-4.7c0-1.2 1-2.3 2.2-2.3h14.9zm41.8-21.1c1.2 10.7-7.2 21.8-17.2 23.7l-2.7.6c-.5.1-.9.6-.8 1.2 0 .3.2.5.4.6l6.7 4.5c.7.5.8 1.4.3 2v.1l-1.7 2.5c-.4.7-1.4.9-2 .4h-.1L45.4 66.9c-.7-.4-.9-1.4-.4-2v-.1l11-16.2c.4-.7 1.4-.9 2-.4h.1l2.5 1.7c.7.4.9 1.4.4 2v.1l-4.4 6.7c-.3.4-.3 1.1.2 1.4.2.2.5.3.8.2l1.6-.3c7.8-1.5 14.4-10.3 13.7-17.9 0-.7 1.1-1.7 1.9-1.9h1.9c.9-.1 1.9 1.1 1.9 2z\"}},\nreturn_order_line_item:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M22.2 23.1h37c1.2 0 2.3 1 2.3 2.2V30c0 1.2-1 2.3-2.2 2.3h-37c-1.2 0-2.3-1-2.3-2.2v-4.7c-.1-1.2.9-2.3 2.2-2.3zm50.9 0h4.6c1.2 0 2.3 1 2.3 2.2V30c0 1.2-1 2.3-2.2 2.3h-4.7c-1.2 0-2.3-1-2.3-2.2v-4.7c-.1-1.2.8-2.2 2-2.3h.3zM75.6 52C68.8 63.7 52.7 69 42 63.8l-2.9-1.3c-1-.5-2 .6-1.7 1.6l2.8 9.4c.3 1-.3 2-1.2 2.4l-3.4 1.3c-.8.4-1.7 0-2.1-.8 0-.1-.1-.2-.1-.3l-6.8-22.7c-.3-1 .2-2.1 1.2-2.4l22-8.6c.8-.4 1.7 0 2.1.8 0 .1.1.2.1.3l1.1 3.5c.3 1-.2 2.1-1.2 2.4l-9 3.6c-.7.2-1 .9-.8 1.6.1.3.3.6.6.7l1.7.8c8.3 4.1 21-.1 26-8.4.5-.8 2.3-1 3.2-.6l1.7 1.6c.9.4.8 2.4.3 3.3z\"}},\nreward:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M46.7 63.4L35 80l-3-8h-8l10.2-13.9c2 1.2 4.1 1.4 5.6 1.7.5.1 1.1.2 1.4.2.2.1.7.5 1 .8 1.2.8 2.7 2 4.5 2.6zm19.1-5.3c-2 1.2-4.1 1.4-5.6 1.7-.5.1-1.2.2-1.5.2-.2.1-.7.5-1 .8-1.1.8-2.5 2-4.4 2.6L65 80l3-8h8L65.8 58.1zM50 32c-3.9 0-7 3.1-7 7s3.1 7 7 7 7-3.1 7-7-3.1-7-7-7zm19 7c0 2.4-2.6 4.3-3.5 6.4-.9 2.2-.4 5.4-2.1 7-1.6 1.6-4.8 1.2-7 2.1-2.1.9-4 3.5-6.4 3.5s-4.3-2.6-6.4-3.5c-2.2-.9-5.4-.4-7-2.1-1.6-1.6-1.2-4.8-2.1-7-.9-2.1-3.5-4-3.5-6.4 0-2.4 2.6-4.3 3.5-6.4.9-2.2.4-5.4 2.1-7 1.6-1.6 4.8-1.2 7-2.1 2.1-.9 4-3.5 6.4-3.5s4.3 2.6 6.4 3.5c2.2.9 5.4.4 7 2.1 1.6 1.6 1.2 4.8 2.1 7 .9 2.1 3.5 4 3.5 6.4zm-6 0c0-7.2-5.8-13-13-13s-13 5.8-13 13 5.8 13 13 13 13-5.8 13-13z\"}},\nrtc_presence:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M61.55 19.75c-11.12 0-20.22 8.64-20.22 19.3a18.75 18.75 0 002.57 9.47 1.58 1.58 0 01.18 1.1l-1.93 6.16a1.37 1.37 0 001.75 1.75l5.88-2.11a1.5 1.5 0 011.1.09 20.77 20.77 0 0010.66 2.85c11.12 0 20.22-8.64 20.22-19.3s-9.09-19.31-20.21-19.31zM45.8 76.21v1.29a2.77 2.77 0 01-2.8 2.75H21a2.77 2.77 0 01-2.76-2.76v-1.28c0-3.35 3.91-5.38 7.58-7a1.38 1.38 0 00.37-.18.85.85 0 01.87 0 9 9 0 005 1.52 9.36 9.36 0 005-1.47.85.85 0 01.87 0 1.38 1.38 0 01.37.18c3.59 1.57 7.5 3.59 7.5 6.95z\"},\"ellipse\":{\"cx\":\"32.01\",\"cy\":\"60.26\",\"rx\":\"6.85\",\"ry\":\"7.58\"}},\nsales_cadence:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M41.7 66.7c.7.7 1.9.7 2.6 0l15.3-15.2c.8-.7.8-1.9.2-2.6l-.2-.2-15.3-15.3c-.7-.8-1.9-.8-2.6-.2l-.2.2-2.8 2.8c-.8.7-.8 1.9-.2 2.6l.2.2 4.8 4.8c.5.5.5 1.4 0 1.9-.2.2-.6.4-.9.4H22.1c-1.1 0-2.1.9-2.1 2v4c.1 1.1 1 1.9 2.1 2h20.7c.7 0 1.3.6 1.3 1.3 0 .3-.1.7-.4.9l-4.8 4.8c-.8.7-.8 1.9-.2 2.6l.2.2 2.8 2.8z\"},{\"d\":\"M63.5 56.3l-4.8 4.8c-.8.7-.8 1.9-.2 2.6l.2.2 2.8 2.8c.7.7 1.9.7 2.6 0l15.3-15.2c.8-.7.8-1.9.2-2.6l-.2-.2-15.3-15.3c-.7-.8-1.9-.8-2.6-.2l-.2.2-2.8 2.8c-.8.7-.8 1.9-.2 2.6l.2.2 4.8 4.8 6.4 6.3-6.2 6.2z\"}]}},\nsales_cadence_target:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M55 25c-5.3 0-10.3 1.7-14.3 4.6l3.6 3.6c3.1-2 6.8-3.1 10.7-3.1 11 0 20 9 20 20s-9 20-20 20c-3.9 0-7.6-1.1-10.7-3.1l-3.8 3.5C44.7 73.3 49.6 75 55 75c13.8 0 25-11.2 25-25S68.8 25 55 25z\"},{\"d\":\"M55 55c2.8 0 5-2.2 5-5s-2.2-5-5-5c-1.6 0-3 .8-3.9 2L40.2 36.2c-.6-.7-1.6-.7-2.2-.2l-.2.2-2.3 2.3c-.7.6-.7 1.6-.2 2.2l.2.2 4 4c.4.4.4 1.2 0 1.6-.2.2-.5.3-.8.3H21.8c-.9 0-1.8.8-1.8 1.7v3.3c.1.9.8 1.6 1.8 1.7H39c.6 0 1.1.5 1.1 1.1 0 .2-.1.6-.3.8l-4 4c-.7.6-.7 1.6-.2 2.2l.2.2 2.3 2.3c.6.6 1.6.6 2.2 0l10.9-10.8c.8 1 2.2 1.7 3.8 1.7z\"},{\"d\":\"M55 60c-1.1 0-2.2-.2-3.2-.5L48 63.3c2.1 1.1 4.5 1.7 7 1.7 8.2 0 15-6.8 15-15s-6.8-15-15-15c-2.5 0-4.9.6-7 1.8l3.7 3.8c1-.4 2.1-.6 3.3-.6 5.5 0 10 4.5 10 10s-4.5 10-10 10z\"}]}},\nsales_channel:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M74.8 45c-.7-3.4-2.1-6.5-3.9-9.2 1.8-2 1.8-5-.1-6.9-1-1-2.3-1.5-3.5-1.5s-2.5.5-3.4 1.4c-2.7-1.7-5.6-3-8.9-3.7 0-2.8-2.2-5-5-5s-5 2.2-5 5c-3.3.7-6.4 2-9.1 3.8-1-1-2.3-1.5-3.5-1.5-1.3 0-2.6.5-3.5 1.5-2 2-2 5.1 0 7.1-1.9 2.6-3.1 5.7-3.9 9-2.7 0-4.9 2.3-4.9 5s2.2 5 4.9 5c.6 3.2 1.9 6.3 3.7 8.9-.1 0-.1.1-.2.1-2 2-2 5.1 0 7.1 1 1 2.3 1.5 3.5 1.5 1.3 0 2.6-.5 3.5-1.5l.1-.1c2.8 1.9 5.9 3.2 9.3 3.9 0 2.8 2.2 5 5 5s5-2.2 5-5c3.3-.7 6.3-2 9-3.7 1 1 2.3 1.5 3.5 1.5 1.3 0 2.6-.5 3.5-1.5 2-2 2-5.1 0-7.1 1.8-2.7 3.1-5.8 3.8-9.1h.1c2.8 0 5-2.2 5-5s-2.3-5-5-5zm-9-14c.1-.1.3-.2.5-.3.3-.2.6-.2.9-.2.5 0 1 .2 1.4.6.6.6.7 1.6.3 2.3-.1.2-.2.3-.3.5-.4.4-.9.6-1.4.6s-1-.2-1.4-.6c-.9-.9-.9-2.1 0-2.9zm-18-6.3c.2-.9 1-1.6 2-1.6s1.8.7 2 1.6v.4c0 1.1-.9 2-2 2s-2-.9-2-2v-.4zm-17 6.3c.4-.4.9-.6 1.4-.6.4 0 .8.1 1.1.3l.3.3c.8.8.8 2 0 2.8-.4.4-.9.6-1.4.6s-1-.2-1.4-.6l-.3-.3c-.5-.8-.5-1.8.3-2.5zM25 52c-.2 0-.3 0-.5-.1-.9-.2-1.5-1-1.5-1.9s.7-1.7 1.5-1.9c.2 0 .3-.1.5-.1 1.1 0 2 .9 2 2s-1 2-2 2zm8.3 16.9l-.2.2c-.3.3-.8.4-1.2.4-.5 0-1-.2-1.4-.6-.4-.4-.6-.9-.6-1.4s.2-.9.4-1.2c0-.1.1-.1.1-.2.4-.4.9-.6 1.4-.6.5 0 1 .2 1.4.6.9.8.9 2 .1 2.8zm18.5 6.4c-.2.9-1 1.6-2 1.6s-1.8-.7-2-1.6v-.4c0-1.1.9-2 2-2s2 .9 2 2v.4zm20-21.3c-.6 3.2-1.8 6.1-3.6 8.7-.3 0-.5-.1-.8-.1-1.3 0-2.6.5-3.5 1.5-1.2 1.2-1.6 2.8-1.4 4.4-2.5 1.7-5.4 3-8.6 3.6-.9-1.3-2.4-2.1-4.1-2.1s-3.2.8-4.1 2.1c-3.3-.6-6.3-1.9-8.9-3.8.2-1.5-.3-3-1.4-4.2-1-1-2.3-1.5-3.5-1.5-.2 0-.4 0-.6.1-1.7-2.5-3-5.4-3.6-8.6 1.3-.9 2.2-2.4 2.2-4.1 0-1.7-.9-3.2-2.2-4.1.6-3.1 1.8-6 3.6-8.6.3 0 .5.1.8.1 1.3 0 2.6-.5 3.5-1.5 1.2-1.2 1.6-2.8 1.4-4.4 2.6-1.8 5.5-3 8.7-3.6.9 1.3 2.4 2.1 4.1 2.1 1.7 0 3.1-.8 4.1-2.1 3 .6 5.9 1.7 8.3 3.4-.3 1.6.1 3.3 1.4 4.5 1 1 2.3 1.5 3.5 1.5.3 0 .7 0 1-.1 1.8 2.6 3 5.5 3.6 8.7-1.2.9-2.1 2.4-2.1 4s.9 3.1 2.2 4.1zm3.2-2h-.3c-1.1 0-2-.9-2-2s.9-2 2-2h.3c.9.2 1.7 1 1.7 2s-.7 1.8-1.7 2z\"},{\"d\":\"M54.8 52.4c-2.1-.9-2.5-1.8-2.5-2.6 0-.9.6-1.8 1.3-2.4 1.2-1.2 1.9-2.8 1.9-4.6 0-3.5-2.1-6.5-5.9-6.5s-5.9 3-5.9 6.5c0 1.9.7 3.5 1.9 4.6.7.7 1.3 1.5 1.3 2.4s-.3 1.7-2.5 2.6c-3.1 1.3-6 2.8-6.1 5.6 0 1.9 1.4 3.4 3.2 3.4h16.3c1.8 0 3.2-1.5 3.2-3.4-.1-2.8-3.1-4.2-6.2-5.6z\"}]},\nsales_path:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M15.2 68.2L29.4 51c.4-.7.4-1.5 0-2.1l-14.2-17c-.1-.2-.2-.4-.2-.6 0-.6.5-1 1-1h20.7c.6 0 1.1.2 1.4.7L53 49c.4.6.4 1.4 0 2.1l-14.8 18c-.3.4-.9.7-1.4.7H16.1c-.6 0-1-.4-1-1-.1-.2 0-.5.1-.6z\"},{\"d\":\"M46.8 68.2L60.9 51c.4-.7.4-1.5 0-2.1l-14.2-17c-.1-.2-.2-.4-.2-.6 0-.6.5-1 1-1h20.7c.6 0 1.1.2 1.4.7l14.9 18c.4.6.4 1.4 0 2.1l-14.8 18c-.3.4-.9.7-1.4.7H47.6c-.6 0-1-.4-1-1 0-.2.1-.5.2-.6z\"}]},\nsales_value:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M79.5 73.9L62.9 57.4c3.4-4.7 5.1-10.7 4.2-17.1C65.6 29.6 56.9 21.1 46 20.1c-14.7-1.5-27.2 11-25.7 25.8 1 10.7 9.5 19.6 20.2 21.1 6.4.9 12.3-.9 17.1-4.2l16.6 16.6c.7.7 1.9.7 2.6 0l2.6-2.6c.8-.9.8-2.1.1-2.9zM54.3 55.7v-4.3c0-.8-.7-1.5-1.5-1.5s-1.5.7-1.5 1.5v6.3c-1.8 1-3.8 1.6-6 1.8v-6c0-.8-.7-1.5-1.5-1.5s-1.5.7-1.5 1.5v6c-2.2-.2-4.2-.8-6-1.8v-6.3c0-.8-.7-1.5-1.5-1.5s-1.5.7-1.5 1.5v4.2c-2.6-2.3-4.5-5.3-5.3-8.9l6.8-5.4 7.1 5.3c.6.5 1.5.4 2-.2l7.4-8.2v5.2c0 .8.7 1.5 1.5 1.5s1.5-.7 1.5-1.5v-9c0-.8-.7-1.5-1.5-1.5h-8c-.8 0-1.5.7-1.5 1.5S44 36 44.8 36h4.5l-6.7 7.5-6.9-5.2c-.5-.4-1.3-.4-1.8 0l-6.2 4.9c.1-8.7 7.3-15.8 16.1-15.8 8.9 0 16.1 7.2 16.1 16.1 0 4.9-2.2 9.3-5.6 12.2z\"}},\nsalesforce_cms:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M66.3 48.4c.3 0 .7-.1.9-.3.8-.5 1-1.6.5-2.4l-6.3-9.6c-.1-.2-.2-.3-.4-.4-.7-.6-1.8-.4-2.4.3l-6.8 8.8-8-11.9c-.1-.2-.3-.3-.5-.5-.8-.5-1.9-.3-2.4.5l-8.6 12.8c-.2.3-.3.6-.3 1 0 .9.8 1.7 1.7 1.7h32.6z\"},{\"fill\":\"none\",\"d\":\"M33.2 54h33.9c.9 0 1.7.8 1.7 1.7s-.8 1.7-1.7 1.7H33.2c-.9 0-1.7-.8-1.7-1.7s.8-1.7 1.7-1.7z\"},{\"d\":\"M33.2 54h33.9c.9 0 1.7.8 1.7 1.7 0 .9-.8 1.7-1.7 1.7H33.2c-.9 0-1.7-.8-1.7-1.7 0-1 .8-1.7 1.7-1.7z\"},{\"fill\":\"none\",\"d\":\"M36.7 62.5h27c.9 0 1.7.8 1.7 1.7 0 .9-.8 1.7-1.7 1.7h-27c-.9 0-1.7-.8-1.7-1.7 0-.9.7-1.7 1.7-1.7z\"},{\"d\":\"M36.7 62.5h27c.9 0 1.7.8 1.7 1.7 0 .9-.8 1.7-1.7 1.7h-27c-.9 0-1.7-.8-1.7-1.7 0-.9.7-1.7 1.7-1.7z\"},{\"d\":\"M75.2 33.9c.8-1.1 1.3-2.4 1.3-3.9 0-3.6-2.9-6.4-6.4-6.4-1.5 0-2.8.5-3.9 1.3-4.7-3-10.2-4.8-16.2-4.8-16.6 0-30 13.4-30 30 0 7.5 2.7 14.3 7.2 19.5-.3.6-.4 1.3-.4 2 0 2.6 2.1 4.7 4.7 4.7 1 0 1.8-.3 2.6-.8 4.6 2.9 10.1 4.6 15.9 4.6 16.6 0 30-13.4 30-30 0-6-1.8-11.5-4.8-16.2zm-5.1-7c1.7 0 3.1 1.4 3.1 3.1s-1.4 3-3.1 3c-1.7 0-3.1-1.3-3.1-3s1.4-3.1 3.1-3.1zM50 76.7c-5.1 0-9.9-1.4-13.9-4 .1-.4.2-.8.2-1.2 0-2.6-2.1-4.7-4.7-4.7-.7 0-1.3.1-1.8.4-3.9-4.6-6.3-10.6-6.3-17.1 0-14.7 11.9-26.6 26.6-26.6 5.2 0 10.1 1.5 14.2 4.1-.3.7-.5 1.5-.5 2.4 0 3.6 2.9 6.4 6.4 6.4.8 0 1.6-.2 2.4-.5 2.6 4.1 4.1 9 4.1 14.2-.1 14.7-12.1 26.6-26.7 26.6z\"}]},\nscan_card:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M74 30H26c-3.3 0-6 2.7-6 6v28c0 3.3 2.7 6 6 6h48c3.3 0 6-2.7 6-6V36c0-3.3-2.7-6-6-6zM25 53c-1.7 0-3-1.3-3-3s1.3-3 3-3 3 1.3 3 3-1.3 3-3 3zm47 9c0 1.1-.9 2-2 2H32c-1.1 0-2-.9-2-2V38c0-1.1.9-2 2-2h38c1.1 0 2 .9 2 2v24z\"},{\"d\":\"M64 42H38c-1.1 0-2 .9-2 2v12c0 1.1.9 2 2 2h26c1.1 0 2-.9 2-2V44c0-1.1-.9-2-2-2z\"}]},\nschedule_objective:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M76 42H24a2 2 0 00-2 2v30a6 6 0 006 6h44a6 6 0 006-6V44a2 2 0 00-2-2zM50 76.1A15.1 15.1 0 1165.1 61 15.15 15.15 0 0150 76.1z\"},{\"d\":\"M50 50.9A10.1 10.1 0 1060.1 61 10.14 10.14 0 0050 50.9zM50 66a5.08 5.08 0 01-5-5 5 5 0 0110 0 5.08 5.08 0 01-5 5zM72 26h-5v-2a4 4 0 00-8 0v2H41v-2a4 4 0 00-8 0v2h-5a6 6 0 00-6 6v2a2 2 0 002 2h52a2 2 0 002-2v-2a6 6 0 00-6-6z\"}]},\nscheduling_constraint:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M76 42H24a2 2 0 00-2 2v30a6 6 0 006 6h44a6 6 0 006-6V44a2 2 0 00-2-2zm-26 4.1a14.88 14.88 0 018.24 2.5L37.6 69.24A14.78 14.78 0 0135.1 61 14.94 14.94 0 0150 46.1zm0 29.8a14.74 14.74 0 01-8.13-2.44l20.59-20.59A14.74 14.74 0 0164.9 61 14.94 14.94 0 0150 75.9zM72 26h-5v-2a4 4 0 00-8 0v2H41v-2a4 4 0 00-8 0v2h-5a6 6 0 00-6 6v2a2 2 0 002 2h52a2 2 0 002-2v-2a6 6 0 00-6-6z\"}},\nscheduling_policy:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M22 74a5.69 5.69 0 005.6 6s32.4.3 32.3 0l-.7-1.4a7.67 7.67 0 01-1.9-4.8 8.31 8.31 0 011.8-4.8 7.39 7.39 0 012.2-4.8 8.52 8.52 0 014.5-2h.1a7.67 7.67 0 014.8-1.9 8.31 8.31 0 014.8 1.8 11 11 0 012.5.6V44c0-1.8-2-2.1-2-2.1H24a2 2 0 00-2 2z\"},{\"d\":\"M68.1 83.1l-5.2 7.4-1.3-3.5h-3.5l4.5-6.1a10.19 10.19 0 002.5.8 1.49 1.49 0 00.6.1 2.19 2.19 0 00.5.3 6.49 6.49 0 001.9 1zm8.4-2.3a10.19 10.19 0 01-2.5.8 1.7 1.7 0 01-.7.1 2.19 2.19 0 01-.5.3 10.46 10.46 0 01-1.9 1.2l5.2 7.3 1.3-3.5h3.5zm-7-11.6a3.1 3.1 0 103.1 3.1 3.12 3.12 0 00-3.1-3.1zm8.5 3.1c0 1.1-1.2 1.9-1.5 2.8s-.2 2.4-.9 3.1-2.1.5-3.1.9-1.8 1.5-2.8 1.5-1.9-1.2-2.8-1.5-2.4-.2-3.1-.9-.5-2.1-.9-3.1-1.5-1.8-1.5-2.8 1.2-1.9 1.5-2.8.2-2.4.9-3.1 2.1-.5 3.1-.9 1.8-1.5 2.8-1.5 1.9 1.2 2.8 1.5 2.4.2 3.1.9.5 2.1.9 3.1 1.5 1.8 1.5 2.8zm-2.7 0a5.8 5.8 0 00-11.6 0 5.68 5.68 0 005.8 5.8 5.74 5.74 0 005.8-5.8zM72 26h-5v-2a4 4 0 00-8 0v2H41v-2a4 4 0 00-8 0v2h-5a6 6 0 00-6 6v2a2 2 0 002 2h52a2 2 0 002-2v-2a6 6 0 00-6-6zM48 70.2c0 1.4-.7 2.6-1.7 2.6H29c-.9 0-1.8-1.2-1.8-2.6v-2.6c0-1.4.8-2.6 1.8-2.6h17.2c.9 0 1.8 1.2 1.8 2.6zM56.9 54.4c0 1.4-.8 2.6-1.9 2.6H29.2c-1.1 0-2-1.2-2-2.6v-2.6c0-1.4.9-2.6 2-2.6H55c1.1 0 2 1.2 2 2.6v2.6z\"}]},\nscreen:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M80 25c0-2.8-2.2-5-5-5H25c-2.8 0-5 2.2-5 5v34.7c0 2.8 2.2 5 5 5h50c2.8 0 5-2.2 5-5V25zm-7.5 30.3c0 1-.9 1.9-1.9 1.9H29.4c-1 0-1.9-.9-1.9-1.9V29.4c0-1 .9-1.9 1.9-1.9h41.2c1 0 1.9.9 1.9 1.9v25.9zM41.2 72.5c-2.8 0-5 2.2-5 5v.6c0 1 .9 1.9 1.9 1.9h23.8c1 0 1.9-.9 1.9-1.9v-.6c0-2.8-2.2-5-5-5H41.2z\"},{\"d\":\"M40.2 50.9h-5.6c-.5 0-1-.5-1-1V34.7c0-.6.5-1 1-1h5.6c.5 0 1 .4 1 1v15.2c0 .5-.5 1-1 1zM65.4 50.9H48.3c-.5 0-1-.5-1-1V34.7c0-.5.5-1 1-1h17.1c.5 0 1 .5 1 1v15.2c0 .6-.5 1-1 1z\"}]},\nsearch:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M79.5 74.1L62.9 57.6c3.4-4.7 5.1-10.7 4.2-17.1C65.6 29.8 56.9 21.3 46 20.3c-14.7-1.5-27.2 11-25.7 25.8 1 10.7 9.5 19.6 20.2 21.1 6.4.9 12.3-.9 17.1-4.2l16.6 16.6c.7.7 1.9.7 2.6 0l2.6-2.6c.8-.9.8-2.1.1-2.9zM27.7 43.7c0-8.8 7.2-16.1 16.1-16.1s16.1 7.2 16.1 16.1-7.2 16.1-16.1 16.1-16.1-7.1-16.1-16.1z\"}},\nsection:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M31 34h38a1 1 0 001-1v-4a1 1 0 00-1-1H31a1 1 0 00-1 1v4a1 1 0 001 1m41 6H28a4 4 0 01-4-4V26a4 4 0 014-4h44a4 4 0 014 4v10a4 4 0 01-4 4M31 72h38a1 1 0 001-1v-4a1 1 0 00-1-1H31a1 1 0 00-1 1v4a1 1 0 001 1m41 6H28a4 4 0 01-4-4V64a4 4 0 014-4h44a4 4 0 014 4v10a4 4 0 01-4 4M77 54H67a3 3 0 01-3-3v-2a3 3 0 013-3h10a3 3 0 013 3v2a3 3 0 01-3 3M55 54H45a3 3 0 01-3-3v-2a3 3 0 013-3h10a3 3 0 013 3v2a3 3 0 01-3 3M33 54H23a3 3 0 01-3-3v-2a3 3 0 013-3h10a3 3 0 013 3v2a3 3 0 01-3 3\",\"fill-rule\":\"evenodd\"}},\nsegments:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M78.8 45.1l-1-2.8-22.7 8.1-.5 1.3a4.81 4.81 0 01-1.7 2.3 4.89 4.89 0 01-7.8-4 5.73 5.73 0 011.4-3.7l.6-.8V20.3l-3.6.8A29 29 0 0027.4 31a29.7 29.7 0 00-6.9 18.9 29.6 29.6 0 0059.2 0 17.72 17.72 0 00-.9-4.8zM66.7 66.8A23.37 23.37 0 0150 73.7a23.61 23.61 0 01-16.7-6.9A23.57 23.57 0 0131.9 35a24.13 24.13 0 019.3-6.8v15.5a11.51 11.51 0 00-2 6.4 10.74 10.74 0 003.2 7.7 11 11 0 007.7 3.2 10.67 10.67 0 006.4-2.1 10.23 10.23 0 003.2-3.7l14-5a23.83 23.83 0 01-7 16.6z\"},{\"d\":\"M55.6 43.9L75.1 37a1.05 1.05 0 00.5-1.7l-.2-.4a29.69 29.69 0 00-20.7-14 1.58 1.58 0 00-1.8 1.6v19.6a2 2 0 00.1.7 2 2 0 002.6 1.1z\"}]},\nselling_model:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M73.41 27.84h-2V25.2a3.29 3.29 0 00-3.26-3.32h-1.1a3.29 3.29 0 00-3.3 3.28v2.67h-9.9V25.2a3.31 3.31 0 00-3.29-3.32h-1.12a3.31 3.31 0 00-3.29 3.32v2.64H35.9V25.2a3.29 3.29 0 00-3.26-3.32H31.5a3.3 3.3 0 00-3.29 3.31v2.64h-1.62A6.61 6.61 0 0020 34.46v37a6.61 6.61 0 006.59 6.63h46.82a6.61 6.61 0 006.59-6.6v-37a6.61 6.61 0 00-6.58-6.64zm-33.55 38H34.3V43h5.56zm8 0h-3.81V43h3.86zm9.33 0h-5.52V43h5.57zm8.46 0h-3.83V43h3.88z\"}},\nserialized_product:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M74 42a2 2 0 012 1.85V72a6 6 0 01-5.78 6H30a6 6 0 01-6-5.78V44a2 2 0 011.85-2zM63.18 70.43H36.82a.94.94 0 00-.94.92v.91a.93.93 0 00.94.91h26.36a.93.93 0 00.94-.91v-.91a.94.94 0 00-.94-.92zm-24-18.7h-2.36a.93.93 0 00-.94.91v14.14a.93.93 0 00.94.92h2.36a.93.93 0 00.94-.92V52.64a.93.93 0 00-.94-.91zm24 0h-2.36a.93.93 0 00-.94.91v14.14a.93.93 0 00.94.92h2.36a.93.93 0 00.94-.92V52.64a.93.93 0 00-.94-.91zm-11.77 0h-2.82a.93.93 0 00-.94.91v14.14a.93.93 0 00.94.92h2.82a.93.93 0 00.94-.92V52.64a.93.93 0 00-.94-.91zm5.65 0h-.94a.93.93 0 00-.94.91v14.14a.93.93 0 00.94.92h.94a.93.93 0 00.94-.92V52.64a.93.93 0 00-.94-.91zm-12.24 0h-.94a.93.93 0 00-.94.91v14.14a.93.93 0 00.94.92h.94a.93.93 0 00.94-.92V52.64a.93.93 0 00-.94-.91zm18.36-5H36.82a.93.93 0 00-.94.91v.91a.93.93 0 00.94.91h26.36a.93.93 0 00.94-.91v-.91a.93.93 0 00-.94-.93zM74 22a6 6 0 016 6v6a2 2 0 01-2 2H22a2 2 0 01-2-2v-6a6 6 0 016-6z\"}},\nserialized_product_transaction:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M72.85 70.32a1.8 1.8 0 011.82 1.77v1.77a1.8 1.8 0 01-1.82 1.76h-51A1.8 1.8 0 0120 73.86v-1.77a1.8 1.8 0 011.82-1.77h51zM26.38 34.1a1.8 1.8 0 011.82 1.77v27.38A1.8 1.8 0 0126.38 65h-4.56A1.8 1.8 0 0120 63.25V35.87a1.8 1.8 0 011.82-1.77zm23.69 0a1.8 1.8 0 011.82 1.77v27.38A1.8 1.8 0 0150.07 65H44.6a1.8 1.8 0 01-1.82-1.77V35.87a1.8 1.8 0 011.82-1.77zm-12.76 0a1.8 1.8 0 011.82 1.77v27.38A1.8 1.8 0 0137.31 65h-1.82a1.8 1.8 0 01-1.82-1.77V35.87a1.8 1.8 0 011.82-1.77zm29.31.57a1.43 1.43 0 011.08.5l11.84 12.94a1.74 1.74 0 01.46 1.18 1.71 1.71 0 01-.46 1.18L67.75 63.3a1.39 1.39 0 01-2.15 0L63.44 61a1.74 1.74 0 010-2.36l3.69-4.05a1.2 1.2 0 00.22-1.22 1 1 0 00-.93-.7h-8.78A1.83 1.83 0 0156 50.92v-3.37a1.76 1.76 0 011.64-1.69h8.73a1 1 0 00.93-.7 1.18 1.18 0 00-.22-1.16l-3.69-4.1a1.76 1.76 0 010-2.37l2.16-2.36a1.43 1.43 0 011.07-.5zm6.23-10.29a1.8 1.8 0 011.82 1.77v1.76a1.8 1.8 0 01-1.82 1.77h-51A1.8 1.8 0 0120 27.91v-1.76a1.8 1.8 0 011.82-1.77h51z\"}},\nservice_appointment:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"rect\":[{\"x\":\"60.31\",\"y\":\"60.99\",\"width\":\"5.48\",\"height\":\"5.48\",\"rx\":\".91\",\"ry\":\".91\"},{\"x\":\"60.31\",\"y\":\"70.12\",\"width\":\"5.48\",\"height\":\"5.48\",\"rx\":\".91\",\"ry\":\".91\"},{\"x\":\"51.17\",\"y\":\"60.99\",\"width\":\"5.48\",\"height\":\"5.48\",\"rx\":\".91\",\"ry\":\".91\"},{\"x\":\"51.17\",\"y\":\"70.12\",\"width\":\"5.48\",\"height\":\"5.48\",\"rx\":\".91\",\"ry\":\".91\"},{\"x\":\"42.03\",\"y\":\"60.99\",\"width\":\"5.48\",\"height\":\"5.48\",\"rx\":\".91\",\"ry\":\".91\"},{\"x\":\"42.03\",\"y\":\"70.12\",\"width\":\"5.48\",\"height\":\"5.48\",\"rx\":\".91\",\"ry\":\".91\"}],\"path\":{\"d\":\"M71.83 20H28.3a8.11 8.11 0 00-8.3 7.81v44.38A8.08 8.08 0 0028.16 80h5.9a3.62 3.62 0 01-.4-1.66V56A1.41 1.41 0 0135 54.6h37.51a1.41 1.41 0 011.37 1.4v22.34a3.62 3.62 0 01-.31 1.47A8 8 0 0080 72.19V27.81c.14-4.25-3.58-7.81-8.17-7.81zM30.78 36.1A2.85 2.85 0 0128 33.35V30.6a2.85 2.85 0 012.76-2.75h14.09a2.85 2.85 0 012.76 2.75v2.75a2.85 2.85 0 01-2.76 2.75zm43.1 14.14a1.41 1.41 0 01-1.37 1.37H35a1.41 1.41 0 01-1.37-1.37V48a3.67 3.67 0 013.66-3.65h4.57v-1.87a2.74 2.74 0 015.48 0v1.82h12.8v-1.82a2.74 2.74 0 015.48 0v1.82h4.57a3.67 3.67 0 013.69 3.7z\",\"fill-rule\":\"evenodd\"}},\nservice_appointment_capacity_usage:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M72 26h-5v-2c0-2.2-1.8-4-4-4s-4 1.8-4 4v2H41v-2c0-2.2-1.8-4-4-4s-4 1.8-4 4v2h-5c-3.3 0-6 2.7-6 6v2c0 1.1.9 2 2 2h52c1.1 0 2-.9 2-2v-2c0-3.3-2.7-6-6-6zM76 42H24c-1.1 0-2 .9-2 2v30c0 3.3 2.7 6 6 6h44c3.3 0 6-2.7 6-6V44c0-1.1-.9-2-2-2zM64.9 61.1c-.1 8.2-6.8 14.9-15 14.8-8.2-.1-14.9-6.8-14.8-15 .1-8.2 6.8-14.9 15-14.8 8.2 0 14.8 6.9 14.8 15z\"},{\"d\":\"M49.8 50.2v11.4h10.7s.6-4-3.1-7.8-7.6-3.6-7.6-3.6z\"}]}},\nservice_contract:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M69.1 28.9L55.9 15.7c-.3-.3-.6-.4-1-.4-.8 0-1.4.6-1.4 1.4v10.6c0 2.2 1.8 4 4 4h10.6c.8 0 1.4-.6 1.4-1.4 0-.4-.1-.7-.4-1zm.4 10.4c0-1.1-.9-2-2-2h-14c-3.3 0-6-2.7-6-6v-14c0-1.1-.9-2-2-2h-20c-3.3 0-6 2.7-6 6v48c0 3.3 2.7 6 6 6h20.3c1.6 0 2-1.1 1.9-2.8s-.7-9 4.3-14.8 13.2-6.2 14.4-6.2c1.2 0 3.2-.1 3.1-1.8s0-10.4 0-10.4zm-43-11.4l4.9-.7c.1 0 .3-.1.3-.2l2.2-4.5c.2-.3.6-.3.8 0l2.2 4.5c.1.1.2.2.3.2l4.9.7c.3.1.5.5.2.7l-3.6 3.5c-.1.1-.1.2-.1.4l.8 4.9c.1.3-.3.6-.6.4l-4.4-2.3c-.1-.1-.3-.1-.4 0l-4.4 2.3c-.3.2-.7-.1-.6-.4l.8-4.9c0-.1 0-.3-.1-.4l-3.6-3.5c-.1-.2.1-.6.4-.7zm18 33.4c0 1.1-.9 2-2 2h-13c-1.1 0-2-.9-2-2v-2c0-1.1.9-2 2-2h13c1.1 0 2 .9 2 2v2zm11-12c0 1.1-.9 2-2 2h-24c-1.1 0-2-.9-2-2v-2c0-1.1.9-2 2-2h24c1.1 0 2 .9 2 2v2z\"},{\"d\":\"M66.3 56.2c-7.9 0-14.3 6.4-14.3 14.3s6.4 14.3 14.3 14.3 14.3-6.4 14.3-14.3-6.5-14.3-14.3-14.3zm2.5 15.6c-.4 0-.8-.1-1.2-.2L62.1 77c-.4.4-.8.5-1.2.5-.5 0-.8-.1-1.2-.5-.6-.6-.6-1.7 0-2.4l5.5-5.5c-.1-.3-.2-.7-.2-1.1-.2-2.5 1.8-4.8 4.3-4.8.4 0 .8.1 1.2.2.2 0 .2.2.1.4l-2.4 2.5c-.2.1-.2.5 0 .6l1.7 1.7c.2.2.5.2.7 0l2.4-2.4c.1-.1.4-.1.4.1.1.4.2.8.2 1.2-.1 2.5-2.2 4.5-4.8 4.3z\"}]}},\nservice_crew:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M60.1 51.3h-3.7v-4.4c0-5.9-3.3-11-8.1-13.5V41c0 4-3.2 7.2-7.2 7.2S33.9 45 33.9 41v-7.8c-4.9 2.6-8.3 7.7-8.3 13.6v4.4H22c-1.2 0-2.1.9-2.1 2.1s.9 2.1 2.1 2.1h38.1c1.2 0 2.1-.9 2.1-2.1s-.9-2-2.1-2z\"},{\"d\":\"M41.2 43.9c1.6 0 2.9-1.3 2.9-2.9v-9.2c-1-.2-2-.3-3-.3s-1.9.1-2.8.3V41c-.1 1.6 1.2 2.9 2.9 2.9z\"}]},\"path\":[{\"d\":\"M41.1 77.3c-8.9 0-16.1-7.9-16.1-17.6h4c0 7.5 5.4 13.6 12.1 13.6s12.1-6.1 12.1-13.6h4c-.1 9.7-7.3 17.6-16.1 17.6zM65.3 31.5c1.1 0 2.1-.9 2.1-2.1v-6.5c-.7-.1-1.4-.2-2.1-.2-.7 0-1.3.1-2 .2v6.5c-.1 1.1.9 2.1 2 2.1zM65.2 57.5v-4c4.3 0 7.9-4 7.9-8.9h4c0 7.1-5.3 12.9-11.9 12.9z\"},{\"d\":\"M78 36.1h-2v-2.6c0-4.1-2.3-7.7-5.7-9.5v5.4c0 2.8-2.3 5-5 5-2.8 0-5-2.3-5-5v-5.5C57 25.6 54.7 29 54.5 33c2.1 2.1 3.6 4.6 4.6 7.3H78c1.2 0 2.1-.9 2.1-2.1s-.9-2.1-2.1-2.1z\"}]},\nservice_crew_member:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M77.3 45.5h-5.5v-6.3c0-8.3-4.7-15.5-11.5-19.2v10.9c0 5.6-4.6 10.2-10.2 10.2s-10.2-4.6-10.2-10.2v-11c-7 3.6-11.8 10.9-11.8 19.4v6.3h-5.5c-1.5 0-2.8 1.2-2.8 2.8v.5c0 1.5 1.2 2.8 2.8 2.8h54.6c1.5 0 2.8-1.2 2.8-2.8v-.5c.1-1.6-1.2-2.9-2.7-2.9z\"},{\"d\":\"M50.1 35.1c2.3 0 4.2-1.9 4.2-4.2V17.8c-1.4-.3-2.8-.4-4.3-.4-1.4 0-2.7.1-4 .4v13.1c0 2.3 1.8 4.2 4.1 4.2z\"}]},\"path\":{\"d\":\"M50 82.6c-12.7 0-23-11.3-23-25.1h6c0 10.5 7.6 19.1 17 19.1S67 68 67 57.5h6c0 13.8-10.3 25.1-23 25.1z\"}},\nservice_report:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M71.8 25h-2a.94.94 0 00-1 1v4a8 8 0 01-7.93 8H39.1a8 8 0 01-7.93-8v-4a.94.94 0 00-1-1h-2a6 6 0 00-5.95 6v43a6 6 0 005.95 6H71.8a6 6 0 005.95-6V31a6 6 0 00-5.95-6zM43.06 66a2 2 0 01-2 2h-2a2 2 0 01-2-2V56a2 2 0 012-2h2a2 2 0 012 2zM53 66a2 2 0 01-2 2h-2a2 2 0 01-2-2V47a2 2 0 012-2h2a2 2 0 012 2zm9.91 0a2 2 0 01-2 2h-2a2 2 0 01-2-2V51a2 2 0 012-2h2a2 2 0 012 2z\",\"fill-rule\":\"evenodd\"},{\"d\":\"M39.1 32h21.8a2 2 0 002-2v-4a6 6 0 00-5.95-6H43.06a6 6 0 00-5.95 6v4a2 2 0 001.99 2z\",\"fill-rule\":\"evenodd\"}]},\nservice_request:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M38.63 57.24a9.33 9.33 0 01-.48 2.47l11.51 12.12a3.64 3.64 0 011 2.52 2.82 2.82 0 01-1.1 2.46 4.08 4.08 0 01-5.19-.13L32.84 64.56a9.49 9.49 0 01-2.5.35 9.68 9.68 0 01-10.13-9.6 8.53 8.53 0 01.48-2.47c0-.42.42-.41.83-.19l5.05 5.52a.77.77 0 001.24 0l3.62-3.43a1 1 0 000-1.45L26.41 48c-.2-.21-.18-.83.23-.82a11.94 11.94 0 012.5-.35 9.26 9.26 0 019.49 10.41z\"},{\"d\":\"M78.67 34.7a15.51 15.51 0 00-3-5.74 13.63 13.63 0 00-6.11-4.16 15.14 15.14 0 00-3.89-.75 13.12 13.12 0 00-5.88.9 15.58 15.58 0 00-5.52 3.79c-.62.65-1.18 1.35-1.79 2l-.14-.18a20.11 20.11 0 00-3.12-3.27 14.81 14.81 0 00-4.28-2.49 13.56 13.56 0 00-5.75-.78 14.49 14.49 0 00-5.52 1.49 14 14 0 00-6.53 6.89 18.63 18.63 0 00-1.63 7.08 17.09 17.09 0 00.27 3.72l.25-.05a16.11 16.11 0 013.07-.4h.19a13.28 13.28 0 0113.4 14.7 8.42 8.42 0 01-.09 1L52.6 69a7.67 7.67 0 012 3.92 106.59 106.59 0 0011.36-9.43 67.92 67.92 0 007.48-8.33 37.33 37.33 0 004.08-6.71A20.19 20.19 0 0079.37 42a19 19 0 00-.7-7.3z\"}]}},\nservice_request_detail:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M69.49 79.64A10.2 10.2 0 1179.7 69.45a10.17 10.17 0 01-10.21 10.19zM70.4 67a1 1 0 00-.7.21c-.56.38-1.12.76-1.67 1.16a3.14 3.14 0 00-.53.56.28.28 0 00.32.44c.14 0 .27-.1.4-.15s.24-.12.37-.16.28 0 .28.21a2.17 2.17 0 010 .25q-.58 2.41-1.18 4.82a.89.89 0 00.45 1.06 1.13 1.13 0 001.16-.1c.54-.35 1.07-.71 1.58-1.1a5.6 5.6 0 00.72-.74.22.22 0 000-.28.25.25 0 00-.3-.1 2.43 2.43 0 00-.38.13l-.44.2c-.17.06-.26 0-.25-.19a2.63 2.63 0 01.06-.39c.37-1.5.73-3 1.1-4.5A1 1 0 0070.4 67zm1.07-2.09a1.54 1.54 0 00-1.78-1.47 1.37 1.37 0 00-1.07 2 1.53 1.53 0 001.7.88 1.47 1.47 0 001.15-1.46zM38.35 56.64a8.67 8.67 0 00.48-2.47 9.23 9.23 0 00-9.45-10.38 13.23 13.23 0 00-2.49.35c-.42 0-.43.61-.23.82l5 5.3a1 1 0 010 1.45l-3.61 3.42a.77.77 0 01-1.24 0l-5-5.5c-.4-.22-.82-.23-.83.18a9.33 9.33 0 00-.48 2.47 9.66 9.66 0 0010.1 9.57 9.35 9.35 0 002.49-.35l11.45 12.05a4 4 0 005.17.13 2.77 2.77 0 001.09-2.46 3.53 3.53 0 00-1-2.5z\"},{\"d\":\"M78.75 31.7a15.63 15.63 0 00-3-5.72 13.56 13.56 0 00-6.1-4.14 15 15 0 00-3.87-.75 13.23 13.23 0 00-5.87.89 15.55 15.55 0 00-5.49 3.79c-.62.64-1.18 1.33-1.79 2l-.14-.17a19.19 19.19 0 00-3.11-3.26 14.81 14.81 0 00-4.26-2.48 13.34 13.34 0 00-5.74-.78 14.61 14.61 0 00-5.5 1.48 14 14 0 00-6.51 6.88 18.62 18.62 0 00-1.62 7 17 17 0 00.25 3.78h.25a15.9 15.9 0 013.06-.4h.19a13.25 13.25 0 0113.35 14.6c0 .34-.05.68-.09 1L52.75 66l.09.11 2.1 2.21A14.71 14.71 0 0169.6 54.77a13.77 13.77 0 011.71.11c.75-.89 1.49-1.79 2.18-2.73a36.55 36.55 0 004.07-6.69A20.59 20.59 0 0079.45 39a19.13 19.13 0 00-.7-7.3z\"}]}},\nservice_resource:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M71.83 20H28.3a8.11 8.11 0 00-8.3 7.81v44.38A8.08 8.08 0 0028.16 80h11c1.1-4.54 6.46-7.17 12.14-9.49 4.24-1.8 4.89-3.34 4.89-5.14s-1.29-3.47-2.7-4.76a11.3 11.3 0 01-3.86-9c0-6.69 4.37-12.6 12-12.6s12 5.79 12 12.6a12.13 12.13 0 01-3.86 9c-1.41 1.41-2.7 3-2.7 4.76s.51 3.34 4.89 5.14a41.53 41.53 0 017.78 3.91 7.28 7.28 0 00.26-2.23V27.81c.14-4.25-3.58-7.81-8.17-7.81zM47.61 33.35a2.85 2.85 0 01-2.76 2.75H30.78A2.85 2.85 0 0128 33.35V30.6a2.85 2.85 0 012.76-2.75h14.09a2.85 2.85 0 012.76 2.75z\",\"fill-rule\":\"evenodd\"}},\nservice_territory:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M56.63 62.11a7.39 7.39 0 01-7.42-7.22 7.27 7.27 0 017.42-7.22 7.22 7.22 0 110 14.43z\",\"fill-rule\":\"evenodd\"},{\"d\":\"M71.83 20H28.3a8.11 8.11 0 00-8.3 7.81v44.38A8.08 8.08 0 0028.16 80h24.41C47.5 75.48 39 66.22 39 56.46a17.32 17.32 0 0134.65 0c0 9.82-8.55 19-13.61 23.54h11.79A8.08 8.08 0 0080 72.19V27.81c.14-4.25-3.58-7.81-8.17-7.81zM47.61 33.35a2.85 2.85 0 01-2.76 2.75H30.78A2.85 2.85 0 0128 33.35V30.6a2.85 2.85 0 012.76-2.75h14.09a2.85 2.85 0 012.76 2.75z\",\"fill-rule\":\"evenodd\"}]},\nservice_territory_location:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M66.3 59.5c-2.2 0-3.9-1.7-4-3.9 0-2.2 1.8-3.9 4-3.9s3.9 1.7 4 3.9c0 2.1-1.8 3.9-4 3.9zM47.4 59.5c-2.2 0-3.9-1.7-4-3.9 0-2.2 1.8-3.9 4-3.9s3.9 1.7 4 3.9c-.1 2.1-1.8 3.8-4 3.9zM56.8 59.5c-2.2 0-3.9-1.7-4-3.9 0-2.2 1.8-3.9 4-3.9s3.9 1.7 4 3.9c0 2.1-1.8 3.9-4 3.9z\"},{\"d\":\"M71.6 20.2H28.1c-4.4-.1-8.1 3.4-8.3 7.8v44.4c.2 4.4 3.8 7.9 8.2 7.8h24.4c-5.1-4.5-13.5-13.8-13.5-23.5 0-9.6 7.7-17.3 17.3-17.3 9.6 0 17.3 7.7 17.3 17.3 0 9.8-8.5 19-13.6 23.5h11.8c4.4 0 8-3.4 8.2-7.8V28c0-4.3-3.8-7.8-8.3-7.8zM47.3 33.5c-.1 1.5-1.3 2.7-2.8 2.8H30.4c-1.5 0-2.8-1.3-2.8-2.8v-2.8c.1-1.5 1.3-2.7 2.8-2.8h14.1c1.5 0 2.8 1.3 2.8 2.8v2.8z\"}]},\nservice_territory_member:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M42.74 42.28A7.12 7.12 0 0150 35.2a7.08 7.08 0 11-7.28 7.08z\",\"fill-rule\":\"evenodd\"},{\"d\":\"M49.91 20a25.4 25.4 0 1025.18 25.5c0-13.79-11.24-25.5-25.18-25.5zm1 43.89a1.44 1.44 0 01-1.89 0c-3.15-2.36-13.56-11.65-13.56-21.56a14.51 14.51 0 0129 0c.02 9.92-10.39 19.05-13.54 21.56z\",\"fill-rule\":\"evenodd\"},{\"d\":\"M26 64.21h-1.27A4.75 4.75 0 0020 68.95v6.31A4.74 4.74 0 0024.73 80h50.54A4.75 4.75 0 0080 75.26v-6.31a4.74 4.74 0 00-4.73-4.74h-1.54a30.15 30.15 0 01-47.72 0z\",\"fill-rule\":\"evenodd\"}]},\nservice_territory_policy:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M39.79 20H26.61A6.36 6.36 0 0020 26.11v10.14a6.37 6.37 0 006.59 6.09h13.2a6.36 6.36 0 006.58-6.09V26.11A6.35 6.35 0 0039.79 20zm-5.5 16.23H32.1a5.29 5.29 0 01-5.49-5.08 5.28 5.28 0 015.49-5.06h2.19a5.29 5.29 0 015.5 5.06 5.3 5.3 0 01-5.5 5.1zM59.54 42.34h13.18a6.37 6.37 0 006.59-6.09V26.11A6.36 6.36 0 0072.72 20H59.54A6.35 6.35 0 0053 26.11v10.14a6.35 6.35 0 006.54 6.09zM65 26.11h2.2a5.28 5.28 0 015.49 5.06 5.29 5.29 0 01-5.49 5.08H65a5.3 5.3 0 01-5.49-5.08A5.28 5.28 0 0165 26.11zM39.79 48.42H26.61A6.35 6.35 0 0020 54.51v10.13a6.35 6.35 0 006.59 6.09h13.2a6.35 6.35 0 006.58-6.09V54.51a6.35 6.35 0 00-6.58-6.09zm-5.5 16.22H32.1a4.51 4.51 0 01-.9 0 5.08 5.08 0 11.9-10.13h2.19a4.51 4.51 0 01.9 0 5.08 5.08 0 11-.9 10.13zM66.47 48.42C59 48.42 53 54 53 61c0 8.68 9.67 16.62 12.66 18.72a1.46 1.46 0 001.77 0C70.43 77.55 80 69.72 80 61c0-7-6-12.58-13.53-12.58zm0 17.73a5.27 5.27 0 115.69-5.25 5.5 5.5 0 01-5.69 5.25z\"}},\nsettings:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M50.1 41.3c-4.9 0-8.8 3.9-8.8 8.8s3.9 8.8 8.8 8.8 8.8-3.9 8.8-8.8-3.9-8.8-8.8-8.8zM76.4 58l-4.6-3.9c.3-1.4.4-2.9.4-4.3s-.1-2.9-.4-4.3l4.6-3.9c1.5-1.3 2-3.5 1-5.3l-2-3.5c-.8-1.3-2.1-2-3.6-2-.5 0-1 .1-1.4.3l-5.8 2.1c-2.3-2-4.8-3.4-7.4-4.3l-1-5.9c-.4-2-2.1-3.1-4.1-3.1h-4c-2 0-3.8 1.1-4.1 3.1l-1 5.8c-2.8.9-5.3 2.4-7.5 4.3L29.6 31c-.5-.1-.9-.3-1.4-.3-1.5 0-2.9.8-3.6 2l-2 3.5c-1 1.8-.6 4 1 5.3l4.6 3.9c-.3 1.4-.4 2.9-.4 4.3 0 1.5.1 2.9.4 4.3l-4.6 3.9c-1.5 1.3-2 3.5-1 5.3l2 3.5c.8 1.3 2.1 2 3.6 2 .5 0 1-.1 1.4-.3l5.8-2.1c2.3 2 4.8 3.4 7.4 4.3l1 6c.4 2 2 3.4 4.1 3.4h4c2 0 3.8-1.5 4.1-3.5l1-6c2.9-1 5.5-2.5 7.8-4.6l5.4 2.1c.5.1 1 .3 1.5.3 1.5 0 2.9-.8 3.6-2l1.9-3.3c1.2-1.5.7-3.7-.8-5zm-26.3 5.9c-7.7 0-13.8-6.2-13.8-13.8s6.2-13.8 13.8-13.8 13.8 6.2 13.8 13.8-6.2 13.8-13.8 13.8z\"}},\nshift:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M72 26h-5v-2c0-2.2-1.8-4-4-4s-4 1.8-4 4v2H41v-2c0-2.2-1.8-4-4-4s-4 1.8-4 4v2h-5c-3.3 0-6 2.7-6 6v2c0 1.1.9 2 2 2h52c1.1 0 2-.9 2-2v-2c0-3.3-2.7-6-6-6zM76 42H24c-1.1 0-2 .9-2 2v30c0 3.3 2.7 6 6 6h44c3.3 0 6-2.7 6-6V44c0-1.1-.9-2-2-2zM50 75.9c-8.2 0-14.9-6.7-14.9-14.9S41.8 46.1 50 46.1 64.9 52.8 64.9 61 58.2 75.9 50 75.9z\"},{\"d\":\"M47.7 67.1c-.4 0-.7-.2-1-.4l-5-5c-.2-.2-.2-.6 0-.9l1.1-1.1c.2-.2.6-.2.9 0l4 4 8.5-8.5c.2-.2.6-.2.9 0l1.1 1.1c.2.2.2.6 0 .9l-9.6 9.6c-.2.1-.5.3-.9.3z\"}]}},\nshift_pattern:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M71.74 26h-5v-2a4 4 0 10-8 0v2h-18v-2a4 4 0 00-8 0v2h-5a6 6 0 00-6 6v2a2 2 0 002 2h52a2 2 0 002-2v-2a6 6 0 00-6-6zm4 16a2 2 0 012 2v30a6 6 0 01-6 6h-44a6 6 0 01-6-6V44a2 2 0 012-2h52zm-13.5 27.32H50.5a1.17 1.17 0 00-1.17 1.16v3.32A1.18 1.18 0 0050.5 75h11.74a1.17 1.17 0 001.16-1.2v-3.32a1.16 1.16 0 00-1.16-1.16zm0-13.49H36.66A1.17 1.17 0 0035.5 57v7.9a1.16 1.16 0 001.16 1.16h25.58a1.16 1.16 0 001.16-1.16V57a1.17 1.17 0 00-1.16-1.17zM48.4 47H36.66a1.16 1.16 0 00-1.16 1.16v3.32a1.17 1.17 0 001.16 1.16H48.4a1.18 1.18 0 001.17-1.16v-3.32A1.17 1.17 0 0048.4 47z\"}},\nshift_pattern_entry:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M51.75 20a2 2 0 012 2v14A4.86 4.86 0 0059 41.25h14a2 2 0 012 2V74a6.08 6.08 0 01-6 6H31a6.08 6.08 0 01-6-6V26a6.08 6.08 0 016-6h20.75zm11 48.32H51a1.17 1.17 0 00-1.17 1.16v3.32A1.18 1.18 0 0051 74h11.74a1.17 1.17 0 001.16-1.2v-3.32a1.16 1.16 0 00-1.16-1.16zm0-13.49H37.16A1.17 1.17 0 0036 56v7.9a1.16 1.16 0 001.16 1.16h25.58a1.16 1.16 0 001.16-1.16V56a1.17 1.17 0 00-1.16-1.17zM48.9 46H37.16A1.16 1.16 0 0036 47.16v3.32a1.17 1.17 0 001.16 1.16H48.9a1.18 1.18 0 001.17-1.16v-3.32A1.17 1.17 0 0048.9 46zm11.35-26a1.74 1.74 0 011.13.38l13.24 13.24a1.74 1.74 0 01.38 1.13 1.5 1.5 0 01-1.38 1.5H63A4.38 4.38 0 0158.75 32V21.38a1.5 1.5 0 011.5-1.38z\"}},\nshift_preference:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M72 26h-5v-2a4 4 0 00-8 0v2H41v-2a4 4 0 00-8 0v2h-5a6 6 0 00-6 6v2a2 2 0 002 2h52a2 2 0 002-2v-2a6 6 0 00-6-6zm4 16H24a2 2 0 00-2 2v30a6 6 0 006 6h44a6 6 0 006-6V44a2 2 0 00-2-2zM50 75.9A14.9 14.9 0 1164.9 61 14.94 14.94 0 0150 75.9zm-6.8-8.7a1.71 1.71 0 01-1.9 1.6h-1.2a.67.67 0 01-.7-.6V59c0-.4.3-.6.7-.6h2.4a.67.67 0 01.7.6zm17.2-1.8c0 3.5-3.3 3.8-6.9 3.8-3.3 0-4.5-1.1-7.7-1.2a.65.65 0 01-.6-.6v-8c0-.4.3-.6.7-.6a4.18 4.18 0 004-4.2v-2.4c0-.4.3-.6.7-.6h1.2a1.71 1.71 0 011.9 1.6v4.1a1.71 1.71 0 001.9 1.6h2.8a1.78 1.78 0 011.9 1.6z\"}},\nshift_scheduling_operation:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M76 42a2 2 0 012 2v30a6 6 0 01-6 6H28a6 6 0 01-6-6V44a2 2 0 012-2zm-26 4a15 15 0 1015 15 15 15 0 00-15-15zm2.87 7.17l5.38 5.25a.75.75 0 010 .9l-5.38 5.19c-.38.39-.9.06-.9-.59v-3.11a6.17 6.17 0 00-6.48 5.86 5.3 5.3 0 000 .69H41.6a10.28 10.28 0 0110.13-10.43H52v-3.18c0-.65.55-.97.87-.58zM63 20a4 4 0 014 4v2h5a6 6 0 016 6v2a2 2 0 01-2 2H24a2 2 0 01-2-2v-2a6 6 0 016-6h5v-2a4 4 0 018 0v2h18v-2a4 4 0 014-4z\"}},\nshift_template:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M72 26h-5v-2a4 4 0 00-8 0v2H41v-2a4 4 0 00-8 0v2h-5a6 6 0 00-6 6v2a2 2 0 002 2h52a2 2 0 002-2v-2a6 6 0 00-6-6zm4 16H24a2 2 0 00-2 2v30a6 6 0 006 6h44a6 6 0 006-6V44a2 2 0 00-2-2zM45.3 74.1a1.09 1.09 0 01-1.1 1H37a1.09 1.09 0 01-1-1.1V59.9a1.09 1.09 0 011.1-1h7.3a1.09 1.09 0 011 1.1l-.1 14.1zm19.9.2a1.09 1.09 0 01-1.1 1H50.7a1.09 1.09 0 01-1-1.1V59.9a1.09 1.09 0 011.1-1h13.5a1.09 1.09 0 011 1.1l-.1 14.3zm.2-20.6a1.09 1.09 0 01-1.1 1H37a1.09 1.09 0 01-1-1.1v-6.3a1.09 1.09 0 011.1-1h27.2a1.09 1.09 0 011 1.1c.1 0 .1 6.3.1 6.3z\"}},\nshift_type:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M72 26h-5v-2c0-2.2-1.8-4-4-4s-4 1.8-4 4v2H41v-2c0-2.2-1.8-4-4-4s-4 1.8-4 4v2h-5c-3.3 0-6 2.7-6 6v2c0 1.1.9 2 2 2h52c1.1 0 2-.9 2-2v-2c0-3.3-2.7-6-6-6zM76 42H24c-1.1 0-2 .9-2 2v30c0 3.3 2.7 6 6 6h44c3.3 0 6-2.7 6-6V44c0-1.1-.9-2-2-2zM42.3 59.9c0-.6.5-1.1 1.1-1.1h19.4c.6 0 1.1.5 1.1 1.1v2.2c0 .6-.5 1.1-1.1 1.1H43.4c-.6 0-1.1-.5-1.1-1.1v-2.2zM37.8 72c.1.6-.4 1.1-1 1.1H34.5c-.6 0-1.1-.5-1.1-1.1v-2.2c0-.6.5-1.1 1.1-1.1h2.2c.6 0 1.1.5 1.1 1.1V72zm0-9.9c.1.6-.4 1.1-1 1.1H34.5c-.6 0-1.1-.5-1.1-1.1v-2.2c0-.6.5-1.1 1.1-1.1h2.2c.6 0 1.1.5 1.1 1.1v2.2zm0-9.9c.1.6-.4 1.1-1 1.1H34.5c-.6 0-1.1-.5-1.1-1.1V50c0-.6.5-1.1 1.1-1.1h2.2c.6 0 1.1.5 1.1 1.1v2.2zM66.6 72c0 .6-.5 1.1-1.1 1.1H43.4c-.6 0-1.1-.5-1.1-1.1v-2.2c0-.6.5-1.1 1.1-1.1h22.1c.6 0 1.1.5 1.1 1.1V72zm0-19.8c0 .6-.5 1.1-1.1 1.1H43.4c-.6 0-1.1-.5-1.1-1.1V50c0-.6.5-1.1 1.1-1.1h22.1c.6 0 1.1.5 1.1 1.1v2.2z\"}}},\nshipment:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M53 53.6V78c0 .6.4 1 1 1 .2 0 .4 0 .5-.1 4.8-2.7 19.4-11 19.4-11 1.9-1.1 3.1-3.1 3.1-5.3V40.7c0-.6-.4-1-1-1-.2 0-.4 0-.5.1L54 51.9c-.6.3-1 1-1 1.7zm-2-6.8l21.6-12.1c.5-.3.6-.9.3-1.4l-.3-.3c-4.8-2.7-19.5-11.1-19.5-11.1-1.9-1.1-4.3-1.1-6.2 0 0 0-14.7 8.3-19.5 11.1-.5.3-.6.9-.3 1.4l.3.3L49 46.8c.6.3 1.4.3 2 0zm-5 5.1L24.5 39.8c-.5-.3-1.1-.1-1.4.4-.1.1-.1.3-.1.5v21.8c0 2.2 1.2 4.2 3.1 5.3 0 0 14.6 8.3 19.4 11 .5.3 1.1.1 1.4-.4.1-.2.1-.4.1-.5V53.6c0-.7-.4-1.4-1-1.7z\"}},\nskill:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M43.84 46.76a5.35 5.35 0 115.46-5.34 5.41 5.41 0 01-5.46 5.34z\",\"fill-rule\":\"evenodd\"},{\"d\":\"M77.33 55.7l-7.27-10.8V44a24 24 0 00-23.87-24 22 22 0 00-5.67.7A23.89 23.89 0 0022.31 44a21.92 21.92 0 003.58 12.7c4.18 6 7 10.8 5.27 17.3a4.58 4.58 0 00.9 4.2 4.43 4.43 0 003.68 1.8h19.6A4.72 4.72 0 0060 76.2a5 5 0 00.2-1.2 2.37 2.37 0 012.39-2H64a4.72 4.72 0 004.68-3.4 41.31 41.31 0 001.48-9.6h5.17a2.78 2.78 0 002.19-1.6 2.86 2.86 0 00-.19-2.7zm-19.84-8.37l-1 1.57a2.22 2.22 0 01-1.76.94 2.38 2.38 0 01-.72-.16l-2.65-1a11.64 11.64 0 01-3.85 2.2l-.48 2.91a2 2 0 01-2 1.65h-2a2 2 0 01-2-1.65l-.48-2.91a10 10 0 01-3.69-2l-2.81 1a2.38 2.38 0 01-.72.16 2.1 2.1 0 01-1.76-1l-1-1.65a1.94 1.94 0 01.48-2.51l2.33-1.89a10.11 10.11 0 01-.24-2.12 9.41 9.41 0 01.24-2l-2.28-1.99a1.92 1.92 0 01-.48-2.51l1-1.65a2 2 0 011.76-1 2.38 2.38 0 01.72.16l2.81 1a11.52 11.52 0 013.69-2.12L41 28a1.91 1.91 0 012-1.57h2a1.92 1.92 0 012 1.49l.48 2.83a11.31 11.31 0 013.69 2l2.81-1a2.38 2.38 0 01.72-.16 2.1 2.1 0 011.76 1l1 1.65A2 2 0 0157 36.8l-2.33 1.89a9.56 9.56 0 01.24 2.12 9.41 9.41 0 01-.24 2L57 44.74a2 2 0 01.49 2.59z\",\"fill-rule\":\"evenodd\"}]},\nskill_entity:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M77.3 55.7L70 44.9V44c0-13.2-10.8-24-24-24-1.9 0-3.8.2-5.7.7C29.7 23.1 22 32.9 22 44c0 4.9 1.2 9.3 3.6 12.7 4.2 6 7 10.8 5.3 17.3-.4 1.5-.1 3 .9 4.2.9 1.2 2.2 1.8 3.7 1.8h19.7c2.3 0 4.3-1.6 4.7-3.8.1-.4.2-.8.2-1.2.2-1.2 1.2-2 2.4-2h1.4c2.2 0 4.1-1.3 4.7-3.4.6-2.3 1.4-5.6 1.5-9.6h5.2c.9 0 1.8-.8 2.2-1.6.4-.8.3-2.1-.2-2.7zM61.4 42c-.8 1.3-2.4 2-4.7 2-12.3 0-13.2 9-13.2 13.3 0 2-1.6 3.7-3.6 3.7h-.3c-1.7 0-3.1-1.2-3.5-2.9-.4-1.8-1.6-2.8-2.8-3.7-.8-.6-1.6-1.2-2-2.1-1.1-2.3-2.2-5-2.2-8.4 0-7.8 5.4-14.6 12.7-16.3 1.4-.3 2.7-.5 4.1-.5 6.8 0 12.9 4.1 15.5 10.3.1.3 1.2 2.7 0 4.6z\"}},\nskill_requirement:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M50.08 57.86a6.77 6.77 0 116.63-6.77 6.71 6.71 0 01-6.63 6.77z\",\"fill-rule\":\"evenodd\"},{\"d\":\"M80.79 46.64h-5.57V26.7a6.8 6.8 0 00-6.69-6.7H31.47a6.8 6.8 0 00-6.69 6.71v19.93h-5.57a3.36 3.36 0 000 6.71h5.57V73.3a6.8 6.8 0 006.69 6.7h37.06a6.8 6.8 0 006.69-6.71V53.36h5.57a3.36 3.36 0 000-6.71zm-14.07 12.8l-1.17 2a2.67 2.67 0 01-2.15 1.19 2.8 2.8 0 01-.88-.2l-3.22-1.29a14 14 0 01-4.68 2.79L54 67.6a2.52 2.52 0 01-2.44 2.09h-2.4a2.52 2.52 0 01-2.44-2.09l-.59-3.68a12.07 12.07 0 01-4.49-2.59l-3.41 1.29a2.8 2.8 0 01-.88.2 2.53 2.53 0 01-2.15-1.29L34 59.44a2.52 2.52 0 01.59-3.19l2.83-2.39a13.32 13.32 0 01-.29-2.69 12.39 12.39 0 01.29-2.59l-2.79-2.38A2.5 2.5 0 0134 43l1.17-2.09a2.42 2.42 0 012.15-1.29 2.8 2.8 0 01.88.2l3.41 1.29a13.88 13.88 0 014.49-2.69l.62-3.42a2.34 2.34 0 012.44-2h2.44a2.35 2.35 0 012.4 1.85l.59 3.58A13.6 13.6 0 0159.11 41l3.41-1.29a2.8 2.8 0 01.88-.2 2.53 2.53 0 012.15 1.29l1.17 2.09a2.65 2.65 0 01-.59 3.19l-2.83 2.39a12.59 12.59 0 01.29 2.69 12.39 12.39 0 01-.29 2.59l2.83 2.39a2.63 2.63 0 01.59 3.3z\",\"fill-rule\":\"evenodd\"}]},\nslider:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M71.25 46.38h6.25a2.5 2.5 0 012.5 2.5v2.5a2.51 2.51 0 01-2.5 2.5h-6.25a1 1 0 01-1-1.26 10 10 0 00.37-2.5 11.87 11.87 0 00-.37-2.62c-.13-.75.37-1.25 1-1.12zM31 68.75h-8.5a2.51 2.51 0 00-2.5 2.5v2.5a2.51 2.51 0 002.5 2.5H31a7.5 7.5 0 100-7.5zM50.25 70a11.87 11.87 0 01.37 2.62 10 10 0 01-.37 2.5 1 1 0 001 1.26H77.5a2.51 2.51 0 002.5-2.5v-2.5a2.5 2.5 0 00-2.5-2.5H51.25c-.75-.13-1.13.37-1 1.12zm5-45a11.87 11.87 0 01.37 2.62 10 10 0 01-.37 2.5 1 1 0 001 1.26H77.5a2.51 2.51 0 002.5-2.5v-2.5a2.5 2.5 0 00-2.5-2.5H56.25c-.63-.13-1.13.37-1 1.12zM36 23.75H22.5a2.51 2.51 0 00-2.5 2.5v2.5a2.51 2.51 0 002.5 2.5H36a7.5 7.5 0 100-7.5zm15 22.5H22.5a2.51 2.51 0 00-2.5 2.5v2.5a2.51 2.51 0 002.5 2.5H51a7.5 7.5 0 100-7.5z\"}},\nsms:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M49.1 21.5c-16.9 0-30.3 12.4-30.3 27.8 0 4.8 1.4 9.4 3.7 13.5.4.6.5 1.4.3 2.2l-3.9 10.8c-.4 1 .6 1.9 1.7 1.7l10.9-4.2c.6-.3 1.4-.1 2.2.3 4.6 2.5 10 4.1 15.9 4.1 16.4-.3 30-12.8 30-28.1-.1-15.7-13.7-28.1-30.5-28.1zM36.9 54c-.4.6-.8 1.3-1.3 1.7-.5.4-1.1.8-1.9 1-.6.3-1.4.3-2.2.3-1 0-1.9-.1-2.8-.5-.9-.4-1.8-.9-2.4-1.7l-.3-.3c-.1-.1 0-.4.3-.6l2-1.9c.3-.3.5-.3.6-.1.1.1.3.4.3.4.3.4.6.6 1 .9.6.4 1.3.4 2 .3.3 0 .4-.1.6-.3l.4-.4c.1-.1.1-.4.1-.5 0-.5-.1-.6-.3-.8-.3-.3-.6-.5-1.1-.6-.5-.1-1-.4-1.7-.5-.6-.3-1.3-.5-1.8-.8-.6-.4-1-.9-1.4-1.4-.4-.6-.6-1.4-.6-2.4 0-.9.1-1.7.5-2.3s.8-1.1 1.4-1.5c.5-.4 1.1-.8 1.9-.9 1.5-.4 3-.4 4.6.1.8.3 1.5.8 1.9 1l.4.3c.3.1.1.5-.1.8l-1.9 1.9c-.3.3-.6.3-.9 0-.3-.1-.4-.4-.5-.4-.6-.4-1.5-.5-2.3-.4-.3 0-.4.1-.5.3l-.2.3c-.1.1-.1.3-.1.5 0 .4.1.5.3.6.3.3.6.4 1.1.6.5.1 1 .4 1.7.5.6.3 1.3.5 1.8.8.6.4 1 .9 1.4 1.4.4.6.6 1.4.6 2.4-.1.8-.2 1.6-.6 2.2zM58 55.8c0 .8-.6 1.3-1.4 1.3h-1.3c-.8 0-1.1-.5-1.1-1.3v-7.5c0-.8-1-.9-1.3-.3l-2.2 5.7c-.1.5-.6.8-1.1.8h-.9c-.5 0-1-.4-1.1-.8L45.3 48c-.3-.6-1.3-.5-1.3.3v7.5c0 .8-.6 1.3-1.4 1.3h-1.3c-.8 0-1.1-.5-1.1-1.3v-14c0-.8.5-1.3 1.1-1.3h3.3c.5 0 1 .4 1.1.8l2.5 6.6c.3.5 1 .5 1.1 0l2.5-6.6c.1-.5.6-.8 1.1-.8h3.4c.8 0 1.4.5 1.4 1.3.3 0 .3 14 .3 14zm13.3-1.7c-.4.6-.8 1.3-1.4 1.7-.5.4-1.1.8-1.9 1-.8.3-1.4.3-2.2.3-1 0-1.9-.1-2.8-.5s-1.8-.9-2.4-1.7l-.3-.3c-.1-.1 0-.4.3-.6l2-1.9c.3-.3.5-.3.6-.1s.3.4.3.4c.3.4.6.6 1 .9.6.4 1.4.4 2 .3.3-.1.5-.1.6-.3l.4-.4s.1-.4.1-.5c0-.5-.1-.6-.3-.8-.3-.3-.6-.5-1.1-.6-.5-.1-1-.4-1.7-.5-.6-.3-1.3-.5-1.8-.8-.6-.4-1.1-.9-1.5-1.4-.4-.6-.6-1.4-.6-2.4 0-.9.1-1.7.5-2.3.4-.6.8-1.1 1.4-1.5.5-.4 1.3-.8 1.9-.9 1.5-.4 3-.4 4.6.1.8.3 1.5.8 1.9 1.1l.4.4c.3.1.1.5-.1.8l-1.9 1.9c-.3.3-.6.3-.9 0-.3-.1-.4-.4-.5-.4-.6-.4-1.5-.5-2.3-.4-.3 0-.4.1-.5.3l-.4.4c-.1.1-.1.4-.1.5 0 .4.1.5.3.6.3.3.6.4 1.1.6.5.1 1 .4 1.7.5.6.3 1.3.5 1.8.8.6.4 1 .9 1.5 1.4.4.6.6 1.4.6 2.4.3.4.1 1.3-.3 1.9z\"}},\nsnippet:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M74.1 23.9c-12.1 0-21.3 9.4-21.3 21.4v28.8c0 1.1.9 2 2 2h22.8c1.1 0 2-.9 2-2V51.3c0-1.1-.9-2-2-2H60.8v-4c0-6.7 6.6-13.4 13.3-13.4h3.5c1.1 0 2-.9 2-2v-4c0-1.1-.9-2-2-2h-3.5zm-33.3 0c-12.1 0-21.3 9.4-21.3 21.4v28.8c0 1.1.9 2 2 2h22.8c1.1 0 2-.9 2-2V51.3c0-1.1-.9-2-2-2H27.6v-4c0-6.7 6.6-13.4 13.3-13.4h3.5c1.1 0 2-.9 2-2v-4c0-1.1-.9-2-2-2h-3.6z\"}},\nsnippets:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M71.8 25.2h-2c-.6 0-1 .4-1 1v4c0 4.4-3.6 7.9-7.9 7.9H39.1c-4.4 0-7.9-3.6-7.9-7.9v-4c0-.6-.4-1-1-1h-2c-3.3 0-5.9 2.7-5.9 5.9v42.6c0 3.3 2.7 5.9 5.9 5.9h43.6c3.3 0 5.9-2.7 5.9-5.9V31.2c.1-3.3-2.6-6-5.9-6zM44.3 48s0 .8-.6.9c-.8.2-1.1.4-1.2.4-.3.3-.4.8-.4 1.7v3.1c0 1.1-.2 2-.5 2.7-.2.5-.6 1-1 1.4 0 0-.7.5 0 1.3.3.2.5.5.7.8.5.8.8 1.8.8 3.1V67c0 .8.2 1.3.5 1.6.1.1.3.2.6.3.1 0 .2.1.3.1.3.2.7.5.7 1.2v2c0 .2-.2.5-.8.5h-.9c-1.4 0-2.7-.5-3.8-1.3-1.2-.9-1.8-2.2-1.8-3.8v-4.3c0-.9-.3-1.6-.8-2.1-.3-.3-.8-.5-1.5-.7-.1 0-.5-.2-.5-.8v-1.6c0-.2.1-.5.5-.7 1-.3 1.4-.6 1.6-.8.5-.5.7-1.3.7-2.3v-3.6c0-.5.1-1.1.3-1.7.3-1 .9-1.9 1.6-2.5.7-.5 1.5-.9 2.4-1.1.5-.1 1.2-.2 2.1-.2.3 0 .9.2.9.9V48h.1zm21.5 11.9c0 .2-.1.5-.5.7-1 .3-1.4.6-1.6.8-.5.5-.7 1.3-.7 2.3v3.6c0 .5-.1 1.1-.3 1.7-.3 1-.9 1.9-1.6 2.5-.7.5-1.5.9-2.4 1.1-.5.1-1.2.2-2.1.2-.3 0-.9-.2-.9-.9V70s0-.8.6-.9c.8-.2 1.1-.4 1.2-.4.3-.3.4-.8.4-1.7v-3.1c0-1.1.2-2 .5-2.7.2-.5.6-1 1-1.4 0 0 .7-.5 0-1.3-.3-.2-.5-.5-.7-.8-.5-.8-.8-1.8-.8-3.1v-3.4c0-.8-.2-1.3-.5-1.6-.1-.1-.3-.2-.6-.3-.1 0-.2-.1-.3-.1-.3-.2-.7-.5-.7-1.2v-2.2c0-.2.2-.5.8-.5h.9c1.4 0 2.7.5 3.8 1.3 1.2.9 1.8 2.2 1.8 3.8v4.3c0 .9.3 1.6.8 2.1.3.3.8.5 1.5.7.1 0 .5.2.5.8v1.6h-.1z\"},{\"d\":\"M39.1 32.2h21.8c1.1 0 2-.9 2-2v-4c0-3.3-2.7-5.9-5.9-5.9H43.1c-3.3 0-5.9 2.7-5.9 5.9v4c-.1 1.1.8 2 1.9 2z\"}]}},\nsobject:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M25.1 22.6h5.1c-6 13.4-6 23.4 0 36.8h-5.1c-6.9-15.4-6.9-21.4 0-36.8zM47.1 45.5c.5 2.3.8 4.1 1.1 4.9.4 1.1 1 2 1.8 2.7 1.9-1.5 4.3-2.3 6.8-2.3 1.6 0 3.1.4 4.6 1 .2-.3.3-.7.3-1.1 0-1.2-1-2.2-2.2-2.2-.4 0-.7.1-1 .2 0 0-2.4 1.4-3.2.3-.6-1.1-1.1-2.6-1.5-4.5-.3-1.6-.8-3.6-1.1-5.4l2.4-3.5s2.7 1 4.1 1 4.2-1.1 4.2-4.8c0-3.7-2.7-3.9-3.5-3.9-1.6 0-3.2 1.2-4.6 3.6-1.4 2.5-3 5.2-3 5.2h-.1c-.4-1.8-.6-3.2-.8-3.8-.3-1.5-2.1-4.8-5.7-4.8-3.7 0-7 2.1-7 2.1-.6.4-1 1.1-1 1.9 0 1.2 1 2.2 2.2 2.2.4 0 .7-.1 1-.2 0 0 2.8-1.6 3.4 0 .2.5.3 1 .5 1.5.7 2.4 1.4 5.2 1.9 7.8l-2.4 3.5s-2.7-1-4.1-1c-1.4 0-4.2 1.1-4.2 4.8 0 3.7 2.7 3.9 3.5 3.9 1.6 0 3.2-1.2 4.6-3.6 1.4-2.8 3-5.5 3-5.5zM72 53.5c.1.1.1.1.2.1.4 0 .7-.1 1.1-.1 1.3 0 2.5.2 3.6.6 4.6-11.8 3.9-18.1-2.2-31.6h-5.1c5.2 11.5 5.9 20.4 2.4 31zM61.7 58.1c1-1 2.4-1.7 4-1.7 2.1 0 3.9 1.1 4.9 2.8.8-.3 1.8-.6 2.8-.6 3.7 0 6.8 3.1 6.8 6.7 0 3.7-3.1 6.7-6.8 6.7-.4 0-.9 0-1.3-.1-.8 1.5-2.5 2.5-4.3 2.5-.8 0-1.5-.2-2.2-.5-.9 2-2.9 3.4-5.2 3.4-2.5 0-4.5-1.5-5.3-3.6-.3 0-.7.1-1.1.1-2.9 0-5.3-2.3-5.3-5.2 0-1.9 1-3.6 2.6-4.5-.3-.7-.5-1.5-.5-2.4 0-3.3 2.8-6 6.1-6 1.9 0 3.7.9 4.8 2.4z\"}},\nsobject_collection:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M34.6 36.5c-4.3 9.5-4.3 13.3 0 22.9h3.2C34 51 34 44.8 37.7 36.5h-3.1zM64.1 54.6c.6-.1 1.3-.2 1.9-.2.5 0 .9 0 1.4.1 2.2-6.4 1.6-10.3-1.9-18.1h-3.2c3 6.7 3.6 12.1 1.8 18.2z\"},{\"d\":\"M45.6 66h-18c-1.4 0-2.5-1.1-2.5-2.5V30.2h49.8v26.5c1.9.2 3.6.9 5.1 1.8V25.1c0-2.8-2.3-5.1-5.1-5.1H25.1c-2.8 0-5.1 2.3-5.1 5.1V66c0 2.8 2.3 5.1 5.1 5.1h18.8c.1-1.9.7-3.6 1.7-5.1z\"},{\"d\":\"M62 61.1c1-1 2.4-1.7 4-1.7 2.1 0 3.9 1.1 4.9 2.8.8-.3 1.8-.6 2.8-.6 3.7 0 6.8 3.1 6.8 6.7 0 3.7-3.1 6.7-6.8 6.7-.4 0-.9 0-1.3-.1-.8 1.5-2.5 2.5-4.3 2.5-.8 0-1.5-.2-2.2-.5-.9 2-2.9 3.4-5.2 3.4-2.5 0-4.5-1.5-5.3-3.6-.3 0-.7.1-1.1.1-2.9 0-5.3-2.3-5.3-5.2 0-1.9 1-3.6 2.6-4.5-.3-.7-.5-1.5-.5-2.4 0-3.3 2.8-6 6.1-6 2 .1 3.7 1 4.8 2.4zM46.5 53.9c.9-1.5 1.9-3.2 1.9-3.2.3 1.4.5 2.5.7 3 .3.9.9 1.6 1.7 2.1 1.8-1.3 4-2 6.4-2h.3c0-.8-.6-1.4-1.4-1.4-.2 0-.4.1-.6.1 0 0-1.5.8-2 .2-.4-.7-.7-1.6-.9-2.8-.2-1-.5-2.2-.7-3.4l1.5-2.2s1.7.6 2.5.6 2.6-.7 2.6-3-1.6-2.4-2.1-2.4c-1 0-2 .7-2.9 2.2-.9 1.5-1.9 3.2-1.9 3.2-.2-1.1-.4-2-.5-2.4-.2-.9-1.3-3-3.5-3-2.3 0-4.3 1.3-4.3 1.3-.4.2-.6.7-.6 1.2 0 .8.6 1.4 1.4 1.4.2 0 .4-.1.6-.1 0 0 1.7-1 2.1 0 .1.3.2.6.3 1 .4 1.5.8 3.2 1.2 4.8l-1.5 2.1s-1.7-.6-2.5-.6-2.6.7-2.6 3 1.6 2.4 2.1 2.4c.9.2 1.9-.6 2.7-2.1z\"}]},\nsocial:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M70 57c-4.8 0-8.9 3.4-9.8 8H47c-.6 0-1 .5-1 1.1v.9c0 1-.1 1.9-.3 2.8-.1.6.4 1.2 1 1.2h14.1c1.5 3.5 5.1 6 9.2 6 5.5 0 10-4.5 10-10s-4.5-10-10-10zM43.3 45.5c-1.2-.5-2.3-1.2-3.3-2-.5-.4-1.2-.2-1.5.3l-7.1 13.3c-.4-.1-.9-.1-1.4-.1-5.5 0-10 4.5-10 10s4.5 10 10 10 10-4.5 10-10c0-2.9-1.2-5.4-3.1-7.3l6.9-12.8c.2-.5 0-1.1-.5-1.4zM50 41c1 0 1.9-.1 2.8-.4l6.9 12.7c.3.5.9.7 1.4.4 1.1-.7 2.2-1.3 3.4-1.7.6-.2.8-.9.5-1.4l-7.2-13.4c1.3-1.7 2.2-3.9 2.2-6.2 0-5.5-4.5-10-10-10s-10 4.5-10 10 4.5 10 10 10z\"}},\nsolution:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M47.6 20.1c-9.8 1.1-17.7 8.8-18.5 18.4-.6 7 2.5 13.4 7.5 17.5 1.5 1.2 2.4 3 2.4 4.9v.1c0 2.8 2.3 5.1 5.2 5.1h11.6c2.9 0 5.2-2.3 5.2-5.1v-.1c0-1.9.9-3.7 2.4-4.9C68 52.2 71 46.6 71 40.3c0-12-10.7-21.5-23.4-20.2zM59 72H41c-1.1 0-2 .9-2 2 0 3.3 2.7 6 6 6h10c3.3 0 6-2.7 6-6 0-1.1-.9-2-2-2z\"}},\nsort:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M50.9 37.7c.7-.7.7-1.9 0-2.6L36.6 20.7c-.7-.7-1.9-.7-2.6 0L19.7 35.1c-.7.7-.7 1.9 0 2.6l2.6 2.6c.7.7 1.9.7 2.6 0l4.5-4.5c.7-.7 2.1-.2 2.1.9v26.4c0 1 .9 1.9 1.9 1.9h3.7c1 0 1.9-1 1.9-1.9V36.7c0-1.1 1.4-1.6 2.1-.9l4.5 4.5c.7.7 1.9.7 2.6 0l2.7-2.6zm27.4 24.9l-2.6-2.5c-.7-.7-1.9-.7-2.6 0l-4.5 4.5c-.7.7-2.1.2-2.1-.9V37.1c0-1-.9-1.9-1.9-1.9h-3.7c-1 0-1.9 1-1.9 1.9v26.4c0 1.1-1.4 1.6-2.1.9l-4.5-4.5c-.7-.7-1.9-.7-2.6 0l-2.6 2.7c-.7.7-.7 1.9 0 2.6l14.3 14.3c.7.7 1.9.7 2.6 0l14.3-14.3c.7-.7.7-2-.1-2.6z\"}},\nsort_policy:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M35.05 20H26a6 6 0 00-6 6v7a6 6 0 006 6h9a6 6 0 006-6v-7a6 6 0 00-5.95-6zm-3.51 13h-2a3.5 3.5 0 010-7h2a3.5 3.5 0 010 7zM53.15 39h9a6 6 0 006-6v-7a6 6 0 00-6-6h-9a6 6 0 00-6 6v7a6 6 0 006 6zm3.48-13h2a3.5 3.5 0 010 7h-2a3.5 3.5 0 110-7zM35.05 45H26a6 6 0 00-6 6v7a6 6 0 006 6h9a6 6 0 006-6v-7a6 6 0 00-5.95-6zm-3.51 13h-2a3.5 3.5 0 110-7h2a3.5 3.5 0 010 7zM79.68 70.59l-1.47-1.39a1 1 0 00-1.41-.06l-.06.06-2.45 2.4a.68.68 0 01-1 0 .63.63 0 01-.2-.48V60a1.08 1.08 0 00-1-1H70a1.11 1.11 0 00-1 1v11.13a.67.67 0 01-.67.67.66.66 0 01-.48-.2l-2.46-2.4a1 1 0 00-1.39-.06v.06l-1.46 1.41a1 1 0 000 1.41l7.85 7.66a1 1 0 001.41.06l.06-.06L79.68 72a1 1 0 000-1.41zM63.06 55.86l.06-.06 1.46-1.41a1 1 0 000-1.41l-7.85-7.67a1 1 0 00-1.41-.06l-.06.06L47.41 53a1 1 0 000 1.41l1.46 1.41a1 1 0 001.41.06l.06-.06 2.46-2.4a.68.68 0 011.15.47V65a1.08 1.08 0 001 1H57a1.13 1.13 0 001-1V53.87a.67.67 0 011.15-.47l2.46 2.4a1 1 0 001.45.06z\"}},\nsossession:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M49.6 18c-17.7.2-31.8 14.8-31.6 32.4.2 17.7 14.8 31.8 32.4 31.6 17.7-.2 31.8-14.8 31.6-32.4-.2-17.7-14.8-31.8-32.4-31.6zm0 4.2c4.8-.1 9.3 1.1 13.2 3.1l-4.3 7.2c-2.6-1.3-5.5-2-8.5-2s-6 .7-8.5 2l-4.3-7.2c3.7-1.9 7.9-3.1 12.4-3.1zM32.5 58.5l-7.2 4.3c-1.9-3.7-3.1-8-3.1-12.5-.1-4.8 1.1-9.3 3.1-13.2l7.2 4.3c-1.3 2.6-2 5.5-2 8.5s.7 6.1 2 8.6zm17.9 19.3c-4.8.1-9.3-1.1-13.2-3.1l4.3-7.2c2.6 1.3 5.5 2 8.5 2s6-.7 8.5-2l4.3 7.2c-3.7 1.9-7.9 3.1-12.4 3.1zM50 65.3c-8.5 0-15.3-6.9-15.3-15.3 0-8.5 6.9-15.3 15.3-15.3 8.5 0 15.3 6.9 15.3 15.3 0 8.5-6.8 15.3-15.3 15.3zm17.5-6.8c1.3-2.6 2-5.5 2-8.5s-.7-6-2-8.5l7.2-4.3c1.9 3.7 3.1 8 3.1 12.5.1 4.8-1.1 9.3-3.1 13.2l-7.2-4.4z\"}},\nstage:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"circle\":[{\"cx\":\"75.9\",\"cy\":\"50\",\"r\":\"4.2\"},{\"cx\":\"49.8\",\"cy\":\"50\",\"r\":\"4.2\"},{\"cx\":\"24.1\",\"cy\":\"50\",\"r\":\"4.2\"}],\"path\":{\"d\":\"M31.9 50c0 9.9 8.1 18 18 18s18-8.1 18-18-8.1-18-18-18-18 8.1-18 18zm30 0c0 6.6-5.4 12-12 12s-12-5.4-12-12 5.4-12 12-12 12 5.4 12 12z\"}},\nstage_collection:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"circle\":{\"cx\":\"49.8\",\"cy\":\"50\",\"r\":\"4.2\"},\"path\":{\"d\":\"M75.9 45.8c-1.5 0-2.9.8-3.6 2.1h-4.5c-1.1-9-8.7-15.9-17.9-15.9S33.1 38.9 32 47.8h-4.3c-.7-1.2-2.1-2.1-3.6-2.1-2.3 0-4.2 1.9-4.2 4.2s1.9 4.2 4.2 4.2c1.5 0 2.8-.8 3.6-1.9h4.4C33.2 61.1 40.8 68 49.9 68c9.1 0 16.7-6.9 17.8-15.7h4.5c.8 1.2 2.1 1.9 3.6 1.9 2.3 0 4.2-1.9 4.2-4.2s-1.8-4.2-4.1-4.2zM49.9 62c-6.6 0-12-5.4-12-12s5.4-12 12-12 12 5.4 12 12-5.4 12-12 12z\"}},\nsteps:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M73 80.3h-8.8v-6H73v6zm0-2.9v-.1.1zm-17.6 2.9h-8.8v-6h8.8v6zm-17.5 0h-8.8v-6h8.8v6zm-11.8-7.4h-6v-8.8h6v8.8zm53.8-2.1h-6V62h6v8.8zM26.1 55.4h-6v-8.8h6v8.8zm53.8-2.1h-6v-8.8h6v8.8zM26.1 37.9h-6v-8.8h6v8.8zm53.8-2.1h-6V27h6v8.8zm-9.1-10.1H62v-6h8.8v6zm-17.5 0h-8.8v-6h8.8v6zm-17.5 0h-8.7v-6h8.8v6z\"}},\nstore:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M71.5 54.4h-.3c-2-.2-3.6-.8-5.2-1.9l-.2-.2c-.7-.6-1.4-.3-1.7-.1l-.1.1c-1.9 1.4-4 2.1-6.5 2.1-2.6 0-4.8-.8-6.8-2.3-.7-.5-1.2 0-1.2 0-2 1.6-4.3 2.4-6.9 2.4-2.5 0-4.7-.7-6.6-2.2-.1-.1-.2-.1-.3-.2-.6-.5-1.2 0-1.2 0-1.9 1.5-4 2.3-6.4 2.4 0 0-.8 0-.8.9V74c0 .4.2 1.3 1.4 1.5h23.2c1.2-.2 1.4-1.1 1.4-1.5v-3.6-9.6c.1-.4.3-.8 1.3-.8h11.1c.4.1.8.4.8 1.3v12.5c0 1.4 1 1.6 1.3 1.6h3.5c.3 0 1.3-.2 1.3-1.6V55.7c-.2-1-.7-1.2-1.1-1.3zm-25 14.4v.4c0 .5-.3 1.3-1.5 1.3H34.8c-1.1 0-1.4-.5-1.5-1V69v-7.1c0-1.8 1-1.9 1.4-1.9h10.6c.4 0 1.2.3 1.2 1.6v7.2zM70.4 49.4c2.7.7 5.1.2 7.1-1.7 1.3-1.2 2.1-2.7 2.3-4.4v-.2c-.2-.6-.5-1.3-.7-1.7-3-5.4-5.9-10.8-8.8-16.2-.4-.7-1.2-.7-1.5-.7h-38s-1.1 0-1.5.7c-3 5.4-5.9 10.9-8.8 16.2-.2.4-.5 1.1-.5 1.8v.2c.2 1.7 1 3.2 2.3 4.4 2.2 2 4.8 2.5 7.7 1.5 1.6-.6 2.8-1.6 3.8-3.1.1-.1.2-.3.4-.4.6-.4 1.4-.3 1.9.4.5.8 1.1 1.5 1.9 2 2.1 1.6 4.5 1.9 7 1.1 1.6-.5 2.9-1.6 3.8-3.1.5-.8 1.7-.9 2.3 0l.6.9c1.3 1.5 2.9 2.4 4.8 2.6 1.8.2 3.5-.2 5.1-1.3.9-.6 1.6-1.4 2.1-2.2.6-.8 1.7-.8 2.2 0 1 1.6 2.3 2.6 4.1 3.1l.4.1z\"}}},\nstore_group:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M77.2 45.2H60.1c-1.6 0-2.8 1.3-2.8 2.8 0 .5.4.9.9.9H79c.5 0 .9-.4.9-.9.1-1.5-1.2-2.8-2.7-2.8zm0 6.6h-17c-.5 0-.9.4-.9.9v19.9c0 .5.4.9.9.9h5.2c.5 0 .9-.4.9-.9v-3.8c0-.5.5-.9 1-.9H70c.5 0 1 .4 1 .9v3.8c0 .5.4.9.9.9h5.2c.5 0 .9-.4.9-.9V52.8c.1-.6-.3-1-.8-1zm-10 12.8c0 .5-.4.9-.9.9h-1.9c-.5 0-.9-.4-.9-.9v-1.9c0-.5.4-.9.9-.9h1.9c.5 0 .9.4.9.9v1.9zm0-6.6c0 .5-.4.9-.9.9h-1.9c-.5 0-.9-.4-.9-.9v-1.9c0-.5.4-.9.9-.9h1.9c.5 0 .9.4.9.9V58zm6.7 6.6c0 .5-.4.9-.9.9h-2c-.5 0-.9-.4-.9-.9v-1.9c0-.5.4-.9.9-.9h1.9c.5 0 .9.4.9.9v1.9zm0-6.6c0 .5-.4.9-.9.9h-2c-.5 0-.9-.4-.9-.9v-1.9c0-.5.4-.9.9-.9h1.9c.5 0 .9.4.9.9V58zM53.1 26.4H24.6C22 26.4 20 28.5 20 31v.1c0 .9.7 1.6 1.6 1.6h34.6c.9 0 1.6-.7 1.6-1.6V31c-.1-2.4-2.2-4.6-4.7-4.6zm-.1 11H24.7c-.9 0-1.6.7-1.6 1.6v33c0 .9.7 1.6 1.6 1.6h8.7c.9 0 1.5-.7 1.5-1.6v-6.3c0-.9.8-1.6 1.6-1.6h4.6c.9 0 1.6.7 1.6 1.6V72c0 .9.6 1.6 1.5 1.6H53c.9 0 1.6-.7 1.6-1.6V39c0-.9-.7-1.6-1.6-1.6zM36.5 58.6c0 .9-.7 1.6-1.6 1.6h-3.1c-.9 0-1.6-.7-1.6-1.6v-3.1c0-.9.7-1.6 1.6-1.6h3.1c.9 0 1.6.7 1.6 1.6v3.1zm0-11c0 .9-.7 1.6-1.6 1.6h-3.1c-.9 0-1.6-.7-1.6-1.6v-3.1c0-.9.7-1.6 1.6-1.6h3.1c.9 0 1.6.7 1.6 1.6v3.1zm11 11c0 .9-.7 1.6-1.6 1.6h-3.1c-.9 0-1.6-.7-1.6-1.6v-3.1c0-.9.7-1.6 1.6-1.6h3.1c.9 0 1.6.7 1.6 1.6v3.1zm0-11c0 .9-.7 1.6-1.6 1.6h-3.1c-.9 0-1.6-.7-1.6-1.6v-3.1c0-.9.7-1.6 1.6-1.6h3.1c.9 0 1.6.7 1.6 1.6v3.1z\"}},\nstory:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M79.9 53.6c.3.4.1.9 0 1-1.6 1.7-2.9 2.8-3.9 3.6-1.6 1.3-4.5 3.2-5.1 3.5 2 1.3 3 2.4 3.1 3.7-2.1.8-3.8 1.3-4.8 1.8-1.5.6-2.5 1.3-4.4 2.4h-.1v-.5c0-3.3.4-4.7 0-7.4s-2.3-6.5-6-7.4c-3.6-.9-8.3 2.6-12.4.9s-5.9-1.2-7.6 1-1.7 3.5-1.7 5.3v7.4c-1.3-.9-3-1.7-5.3-2.4-2-.6-4.1-1-6.3-1.2-.5 0-.8-.4-.8-.9v-.3c.6-2.6 1.6-4.4 3-5.5 1.5-1.4 2.5-2.1 3.1-1.9-1.6-1.9-3-3.3-4.3-4-1.1-.6-3.1-1.2-6-1.7-.4-.1-.6-.5-.6-1v-.3c2.1-5.5 4.6-9 7.6-10.5 3.3-1.5 5.6-2.2 7.5-1.9-.6-1.5-1.1-2.6-1.4-3.3-.3-.5-.6-1.3-1.4-2.3-.3-.4-.3-1 .1-1.3.1 0 .3-.1.4-.1 1.3-.3 2.5-.1 3.9.3 1.8.5 3.4 1.7 4.9 3.5-.1-5.3-.6-9.7-1.8-13.2.2-2.9 12.6-.9 15.6 5.1 2.1 4 3.1 6.7 3.1 8.2 4.1-.9 7.4-.5 9.8 1s3.6 2.9 3.8 4.2c-1.9.4-3.1 1-3.8 1.9 2.3.9 6.3 3.3 7.6 5 1.5 1.9 2.9 4.2 4.2 7.3z\"},{\"d\":\"M46.2 70.2c.9.3 1.4.5 1.9.5.8 0 1.8-.3 3.2-.8 1.8-.8 3.6-.4 4.7.8 1.3 1 1.8 3.4 1.3 4.9-.4.9-1 1.8-2 2.4-.1.1-.4.1-.5.1l-2.2-.4-4.2 1.8c-.1.1-.4.1-.5 0l-3.8-1.8-1.8.4c-.3 0-.5 0-.6-.3-.5-.6-.9-1-1-1.4-.3-.4-.7-1.3-.7-2.7s1.3-2.9 2.3-3.4c1-.4 2.8-.7 3.9-.1z\"}],\"circle\":[{\"cx\":\"55\",\"cy\":\"64.6\",\"r\":\"2.5\"},{\"cx\":\"42.5\",\"cy\":\"64.6\",\"r\":\"2.5\"}]},\nstrategy:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M76.1 40.8H66c-2.2 0-4 1.8-4 4v2.5h-9.4V27.6c0-.6-.6-1.3-1.3-1.3H38v-2.4c0-2.2-1.8-4-4-4H23.9c-2.2 0-4 1.8-4 4V34c0 2.2 1.8 4 4 4H34c2.2 0 4-1.8 4-4v-2.4h9.3v15.7H38V45c0-2.2-1.8-4-4-4H23.9c-2.2 0-4 1.8-4 4v10c0 2.2 1.8 4 4 4H34c2.2 0 4-1.8 4-4v-2.4h9.3v15.7H38V66c0-2.2-1.8-4-4-4H23.9c-2.2 0-4 1.8-4 4v10.1c0 2.2 1.8 4 4 4H34c2.2 0 4-1.8 4-4v-2.4H51.3c.7 0 1.3-.7 1.3-1.3V52.7H62v2.2c0 2.2 1.8 4 4 4h10.1c2.2 0 4-1.8 4-4V44.8c0-2.2-1.8-4-4-4zM34 34H23.9V23.9H34V34zm0 2v-2 2zm0 19H23.9V45H34v10zm0 2v-2 2zm0 19.1H23.9V66H34v10.1zm0 2v-2 2zm42.1-23.2H66V44.8h10.1v10.1zm0 2v-2 2z\"}},\nsurvey:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M24 23h44c2.2 0 4 1.8 4 4v4c0 2.2-1.8 4-4 4H24c-2.2 0-4-1.8-4-4v-4c0-2.2 1.8-4 4-4zM24 41h25c2.2 0 4 1.8 4 4v4c0 2.2-1.8 4-4 4H24c-2.2 0-4-1.8-4-4v-4c0-2.2 1.8-4 4-4zM65.9 52c7.7 0 14 6.3 14 14s-6.3 14-14 14-14-6.3-14-14 6.3-14 14-14zm7.9 10.9c.3-.3.3-1 0-1.3l-1.4-1.3c-.4-.4-1-.4-1.4 0l-7.5 8.4-3.4-3.4c-.4-.4-1-.4-1.4 0l-1.4 1.3c-.4.3-.4.9 0 1.3l4.8 4.7c.4.4.9.6 1.4.6.6 0 1-.2 1.4-.6l8.9-9.7zM24 59h23.2c-.8 2.3-1.2 4.3-1.2 6-.1 2.1.1 4.1.6 6H24c-2.2 0-4-1.8-4-4v-4c0-2.2 1.8-4 4-4z\"}}},\nswarm_request:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"circle\":[{\"cx\":\"41.37\",\"cy\":\"26.44\",\"r\":\"6.32\"},{\"cx\":\"58.63\",\"cy\":\"26.43\",\"r\":\"6.32\"},{\"cx\":\"28.4\",\"cy\":\"41.16\",\"r\":\"8\"},{\"cx\":\"71.81\",\"cy\":\"41.16\",\"r\":\"8\"},{\"cx\":\"50.11\",\"cy\":\"45.73\",\"r\":\"8\"}],\"path\":{\"d\":\"M59.14 80a4.18 4.18 0 003.2-1.37 4.57 4.57 0 001.37-3.2V65.15a6.88 6.88 0 00-6.86-6.86h-13.7a6.88 6.88 0 00-6.86 6.86v10.28A4.68 4.68 0 0040.86 80zM29.32 75.43V65.15a13.41 13.41 0 013.89-9.48 1.18 1.18 0 000-1.67 1.15 1.15 0 00-.77-.33h-11a6.88 6.88 0 00-6.86 6.86v10.33a4.68 4.68 0 004.57 4.57zM80.85 75.43a4.18 4.18 0 003.2-1.37 4.57 4.57 0 001.37-3.2V60.58a6.88 6.88 0 00-6.86-6.86h-11a1.14 1.14 0 00-.8 2 13.68 13.68 0 013.89 9.48v10.23z\"}}},\nswarm_session:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M41.7 30a.33.33 0 00-.1-.28c0 .1.1.2.1.28zM41.7 29.73c0 .09.09.19.09.28a5.44 5.44 0 00.48 1 8.72 8.72 0 0011.67 3.83 9 9 0 003.44-3.16 20.69 20.69 0 0113.4 15.5c.38 0 .76-.1 1.14-.1a16.11 16.11 0 014.79.77 26.15 26.15 0 00-18.08-21.76 8.28 8.28 0 00-.86-2.87 8.73 8.73 0 00-11.67-3.83 8.6 8.6 0 00-4.69 9.28c.1.39.19.77.29 1.06zM36.82 57.56A8.69 8.69 0 0030 52.87a10.46 10.46 0 01-.1-1.81 20.68 20.68 0 017.85-16.17c-.29-.38-.48-.86-.77-1.24a17.19 17.19 0 01-1.43-4.31A26.47 26.47 0 0024.1 51.06c0 1 .09 2.1.19 3.15a8.71 8.71 0 1012.53 3.35zM79.48 57.56A8.68 8.68 0 0064 65.4c.1.19.29.48.39.67a20.17 20.17 0 01-23.25 3.25 12.47 12.47 0 01-4.21 4.21 26.11 26.11 0 0013.57 3.73 26.38 26.38 0 0018.55-7.65 8.21 8.21 0 006.7-.48 8.54 8.54 0 003.73-11.57zM41.79 58.11a.39.39 0 00.48.48l3.25-1.34a.57.57 0 01.67.1 8.34 8.34 0 004.59 1.33c5.07 0 9.19-3.92 9.19-8.6s-4.12-8.61-9.19-8.61a8.93 8.93 0 00-9.08 8.61 8.53 8.53 0 001.15 4.11.84.84 0 01.09.67z\",\"fill-rule\":\"evenodd\"}},\nsystem_and_global_variable:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M48.8 75.6c0-3.7 1.8-6.5 4.2-8.1v-3.7c-1.3-.9-2.3-2.2-2.7-3.7-.5-2.1.2-4.5 1.5-6.2.3-.4.7-.8 1.1-1.2.4-.4.9-.7 1.4-.9 2.6-1.4 5.6-2.4 8.6-2.4 2.7 0 5.1 1.1 6.8 2.7 2.4-2.4 4.9-2.9 6.4-2.9 1.4 0 2.7.3 3.9.9v-.2c0-16.5-13.5-30-30-30S20 33.5 20 50c0 16.4 13.4 29.9 29.8 30-.7-1.3-1-2.7-1-4.4zm25-28.6h-7.9c-.3-7.1-1.9-13.3-4.3-18 6.6 3.7 11.2 10.3 12.2 18zM53 27.3c3.4 2.9 6.4 10.3 6.9 19.7H53V27.3zM26.2 53h7.9c.3 7.1 1.9 13.3 4.3 18-6.6-3.7-11.2-10.3-12.2-18zm7.9-6h-7.9c1-7.7 5.6-14.3 12.2-18-2.4 4.7-3.9 10.9-4.3 18zM47 72.7c-3.4-2.9-6.4-10.3-6.9-19.7H47v19.7zM47 47h-6.9c.5-9.4 3.5-16.8 6.9-19.7V47z\"},{\"d\":\"M75.5 62.4c1.3 0 3.9-1.1 3.9-4.5s-2.5-3.6-3.2-3.6c-1.5 0-3 1.1-4.3 3.4-1.4 2.3-2.9 4.9-2.9 4.9h-.1c-.3-1.6-.6-3-.7-3.6-.3-1.4-1.9-4.5-5.3-4.5s-6.5 2-6.5 2c-.6.4-1 1-1 1.8 0 1.1.9 2.1 2.1 2.1.3 0 .6-.1.9-.2 0 0 2.6-1.4 3.1 0 .2.4.3.9.5 1.4.7 2.2 1.3 4.9 1.8 7.3L61.5 72s-2.5-.9-3.8-.9-3.9 1.1-3.9 4.5 2.5 3.6 3.2 3.6c1.5 0 3-1.1 4.3-3.4 1.3-2.3 2.8-4.9 2.8-4.9.4 2.1.8 3.8 1 4.5.9 2.4 2.8 3.9 5.4 3.9 0 0 2.7 0 5.8-1.8.8-.3 1.3-1.1 1.3-1.9 0-1.1-.9-2.1-2.1-2.1-.3 0-.6.1-.9.2 0 0-2.3 1.3-3 .3-.6-1-1-2.4-1.4-4.2-.3-1.5-.7-3.3-1.1-5.1l2.3-3.3c.3.1 2.8 1 4.1 1z\"}]},\ntask:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M46.6 23.7l-2.1-2.1c-.6-.6-1.5-.6-2.1 0L29.2 34.8l-5.3-5.3c-.6-.6-1.5-.6-2.1 0l-2.1 2.1c-.6.6-.6 1.5 0 2.1l7.4 7.4c.6.6 1.4.9 2.1.9.8 0 1.5-.3 2.1-.9l15.3-15.3c.5-.5.5-1.5 0-2.1zM77 38H51c-1.1 0-2-.9-2-2v-4c0-1.1.9-2 2-2h26c1.1 0 2 .9 2 2v4c0 1.1-.9 2-2 2zM77 56H45c-1.1 0-2-.9-2-2v-4c0-1.1.9-2 2-2h32c1.1 0 2 .9 2 2v4c0 1.1-.9 2-2 2zM33 56h-4c-1.1 0-2-.9-2-2v-4c0-1.1.9-2 2-2h4c1.1 0 2 .9 2 2v4c0 1.1-.9 2-2 2zM33 74h-4c-1.1 0-2-.9-2-2v-4c0-1.1.9-2 2-2h4c1.1 0 2 .9 2 2v4c0 1.1-.9 2-2 2zM77 74H45c-1.1 0-2-.9-2-2v-4c0-1.1.9-2 2-2h32c1.1 0 2 .9 2 2v4c0 1.1-.9 2-2 2z\"}},\ntask2:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M42.6 71c-1.2 0-2.4-.5-3.3-1.4L20.6 50.9c-.8-.8-.8-2 0-2.8l3.7-3.7c.8-.8 2-.8 2.8 0l15.5 15.4 30.3-30.3c.8-.8 2-.8 2.8 0l3.7 3.7c.8.8.8 2 0 2.8L45.8 69.6c-.9.9-2 1.4-3.2 1.4z\"}},\nteam_member:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M57 44H45c-3.3 0-6 2.7-6 6v9c0 1.1.5 2.1 1.2 2.8.7.7 1.7 1.2 2.8 1.2v9c0 3.3 2.7 6 6 6h4c3.3 0 6-2.7 6-6v-9c1.1 0 2.1-.4 2.8-1.2.7-.7 1.2-1.7 1.2-2.8v-9c0-3.3-2.7-6-6-6z\"},{\"d\":\"M36.6 66.7c-.2-.2-.5-.4-.7-.6-1.9-2-3-4.5-3-7.1v-9c0-3.2 1.3-6.2 3.4-8.3.6-.6.1-1.7-.7-1.7H26c-3.3 0-6 2.7-6 6v9c0 1.1.5 2.1 1.2 2.8.7.7 1.7 1.2 2.8 1.2v9c0 3.3 2.7 6 6 6h4c.9 0 1.7-.2 2.4-.5.4-.2.6-.5.6-.9v-5.1c0-.3-.1-.6-.4-.8z\"},{\"d\":\"M76 40h-6-3.6c-.9 0-1.3 1-.7 1.7 2.1 2.2 3.4 5.1 3.4 8.3v9c0 2.6-1 5.1-3 7.1-.2.2-.4.4-.7.6-.2.2-.4.5-.4.8v5.1c0 .4.2.8.6.9.7.3 1.5.5 2.4.5h4c3.3 0 6-2.7 6-6v-9c1.1 0 2.1-.4 2.8-1.2.7-.7 1.2-1.7 1.2-2.8v-9c0-3.3-2.7-6-6-6z\"}],\"circle\":[{\"cx\":\"51\",\"cy\":\"33\",\"r\":\"7\"},{\"cx\":\"32\",\"cy\":\"29\",\"r\":\"7\"},{\"cx\":\"70\",\"cy\":\"29\",\"r\":\"7\"}]},\ntemplate:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M73.8 20H26.2c-3.4 0-6.2 2.8-6.2 6.2v47.6c0 3.4 2.8 6.2 6.2 6.2h47.6c3.4 0 6.2-2.8 6.2-6.2V26.2c0-3.4-2.8-6.2-6.2-6.2zM42.3 69.1c0 .8-.8 1.4-1.6 1.4H30.4c-.8 0-1.4-.8-1.4-1.6V48.8c0-.8.8-1.4 1.6-1.4H41c.8 0 1.4.8 1.4 1.6v20.1zm28.4.2c0 .8-.8 1.4-1.6 1.4H49.9c-.8 0-1.4-.8-1.4-1.6V48.8c0-.8.8-1.4 1.6-1.4h19.3c.8 0 1.4.8 1.4 1.6v20.3zm.2-29.4c0 .8-.8 1.4-1.6 1.4H30.4c-.8 0-1.4-.8-1.4-1.6v-9c0-.8.8-1.4 1.6-1.4h38.9c.8 0 1.4.8 1.4 1.6v9z\"}},\ntext:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M79.9 77.9c-.3-4.1-.4-8.3-.4-12.4 0-2.1 0-4.1.1-6.2 0-1.9.2-3.8-.5-5.6-1.6-4.1-7-4.9-10.9-4.9-2 0-4 .3-6 .8-1.4.4-2.8.9-4 1.5l1.3 3.2c.3.6.4 1.3.5 1.9 2.6-1.2 5.2-1.9 7.8-1.9 4.1 0 6.1 1.6 6.1 4.8v1.5c-.6 0-1.6-.1-2.9-.1-5.2 0-9.1.8-11.9 2.3-2.7 1.6-4.1 4.3-4.1 8.2 0 2.9.9 5.2 2.7 6.8 1.8 1.6 4.1 2.4 6.8 2.4 2.4 0 4.4-.3 5.9-1s2.8-1.7 3.8-3.1h.2c.1.7.2 1.8.5 3.4 0 .1 4.5 0 5 0 .1-.7 0-1.1 0-1.6zM74 67.8c0 .7-.1 1.4-.4 2.1-.2.5-.4 1-.8 1.5-1.2 1.7-3.3 2.6-5.3 3-1.3.2-2.5.1-3.8-.1-1-.2-2-.7-2.5-1.6-.9-1.4-.7-3.6.3-4.9.6-.8 1.5-1.3 2.4-1.6 2.5-.8 5.4-.8 7.9-.8l2.2.1v2.3zM54.9 56.3L40.7 21.1c-.2-.7-.8-1.1-1.5-1.1h-4.5c-.7 0-1.4.5-1.6 1.1l-13 35.2c-.3.7.2 1.5.9 1.5h5c.7 0 1.4-.6 1.6-1.3l3.3-9.2h12.8l3.7 9.2c.2.7.9 1.3 1.6 1.3h4.9c.8 0 1.4-.8 1-1.5zM33.5 40.4l3.7-9.6 4.1 9.6h-7.8z\"}},\ntext_template:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M42.5 63.8v-.2c.2-3.4 3-6.1 6.5-6.1h8.4c-1.4-2.4-1.1-5.5.9-7.7l.2-.2 2-1.9c1.1-1.2 2.7-1.9 4.3-2V25c0-2.7-2.2-5-5-5H25.1c-2.7 0-5 2.2-5 5v34.8c0 2.7 2.2 5 5 5h17.4v-1zM27.6 27.7c0-.7.5-1.2 1.2-1.2h7.5c.7 0 1.2.5 1.2 1.2v3.5c0 .7-.5 1.2-1.2 1.2h-7.5c-.7 0-1.2-.5-1.2-1.2v-3.5zm0 10.9c0-.7.5-1.2 1.2-1.2h27.3c.7 0 1.2.5 1.2 1.2v3.5c0 .7-.5 1.2-1.2 1.2H28.9c-.7 0-1.2-.5-1.2-1.2v-3.5zm0 14.4v-3.5c0-.7.5-1.2 1.2-1.2h22.4c.7 0 1.2.5 1.2 1.2V53c0 .7-.5 1.2-1.2 1.2H28.9c-.8.1-1.3-.4-1.3-1.2z\"},{\"d\":\"M66.3 51.1l-.1-.1c-.6-.5-1.5-.5-2 .1l-2.1 2c-.5.6-.5 1.5 0 2l5.5 5.5c.2.2.3.4.3.7 0 .6-.4 1-1 1H49c-.8 0-1.4.6-1.5 1.4v3c.1.8.7 1.4 1.5 1.6h17.9c.2 0 .4.1.5.2.4.3.5 1 .2 1.4l-5.5 5.5c-.5.6-.5 1.5 0 2l2 2.1c.6.5 1.5.5 2 0l13.2-13.2c.5-.6.5-1.5 0-2l-13-13.2z\"}]},\ntextarea:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M74 80H26c-3.3 0-6-2.7-6-6V26c0-3.3 2.7-6 6-6h48c3.3 0 6 2.7 6 6v48c0 3.3-2.7 6-6 6zM28.1 30v40c0 1.1.9 2 2 2H70c1.1 0 2-.9 2-2V30c0-1.1-.9-2-2-2H30.1c-1.1 0-2 .9-2 2z\"},{\"d\":\"M61.9 51.2c1 0 2 .9 2 2v8.7c0 1.1-.9 2-2 2h-9.2c-1.1 0-2-.9-2-2 0-.7.3-1.3.8-1.8l1.9-1.9c1.3-1.2 2.7-2.4 4-3.6.9-.8 1.8-1.7 2.8-2.5.3-.2.5-.5.8-.6.3-.2.6-.3.9-.3z\"}]},\ntextbox:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M74 80H26c-3.3 0-6-2.7-6-6V26c0-3.3 2.7-6 6-6h48c3.3 0 6 2.7 6 6v48c0 3.3-2.7 6-6 6zM28.1 30v40c0 1.1.9 2 2 2H70c1.1 0 2-.9 2-2V30c0-1.1-.9-2-2-2H30.1c-1.1 0-2 .9-2 2z\"},{\"d\":\"M36.2 61.9V38.1c0-1.1.9-2 2-2h4c1.1 0 2 .9 2 2v23.8c0 1.1-.9 2-2 2h-4c-1.1 0-2-.9-2-2z\"}]},\nthanks:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M74 35h-8.7c2.5-3.9 2.3-9.1-.8-12.3-1.7-1.7-4-2.7-6.4-2.7-2.6 0-5.2 1.2-7.1 3.2-.4.4-.7.8-1 1.3-.3-.5-.6-.9-1-1.3-1.9-2.1-4.5-3.2-7.1-3.2-2.4 0-4.6 1-6.3 2.7-3.1 3.2-3.3 8.4-.8 12.3H26c-3.3 0-6 2.7-6 6v4c0 1.1.9 2 2 2h56c1.1 0 2-.9 2-2v-4c0-3.3-2.7-6-6-6zm-27 0c-2.1 0-5.1-.8-6.8-2.6-1.5-1.6-1.7-4.2-.3-5.5.7-.7 1.4-.8 2-.8 1 0 2 .5 2.7 1.3 1.7 1.9 2.4 5.1 2.4 7.1v.5zm12.8-2.6C58.1 34.2 55.1 35 53 35v-.6c0-2 .7-5.2 2.4-7.1.8-.8 1.8-1.3 2.7-1.3.5 0 1.3.1 2 .8 1.3 1.4 1.2 3.9-.3 5.6zM74 53H53v27h17.2c3.2 0 5.8-2.6 5.8-5.8V55c0-1.1-.9-2-2-2zM24 55v19c0 3.3 2.7 6 6 6h17V53H26c-1.1 0-2 .9-2 2z\"}},\nthanks_loading:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"opacity\":\".5\",\"d\":\"M74 35h-8.7c2.5-3.9 2.3-9.1-.8-12.3-1.7-1.7-4-2.7-6.4-2.7-2.6 0-5.2 1.2-7.1 3.2-.4.4-.7.8-1 1.3-.3-.5-.6-.9-1-1.3-1.9-2.1-4.5-3.2-7.1-3.2-2.4 0-4.6 1-6.3 2.7-3.1 3.2-3.3 8.4-.8 12.3H26c-3.3 0-6 2.7-6 6v4c0 1.1.9 2 2 2h56c1.1 0 2-.9 2-2v-4c0-3.3-2.7-6-6-6zm-27 0c-2.1 0-5.1-.8-6.8-2.6-1.5-1.6-1.7-4.2-.3-5.5.7-.7 1.4-.8 2-.8 1 0 2 .5 2.7 1.3 1.7 1.9 2.4 5.1 2.4 7.1v.5zm12.8-2.6C58.1 34.2 55.1 35 53 35v-.6c0-2 .7-5.2 2.4-7.1.8-.8 1.8-1.3 2.7-1.3.5 0 1.3.1 2 .8 1.3 1.4 1.2 3.9-.3 5.6zM74 53H53v27h17.2c3.2 0 5.8-2.6 5.8-5.8V55c0-1.1-.9-2-2-2zM24 55v19c0 3.3 2.7 6 6 6h17V53H26c-1.1 0-2 .9-2 2z\"}},\ntimesheet:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M70.9 20H29.1c-4.3 0-7.8 3.5-7.8 7.8v44.3c0 4.3 3.5 7.8 7.8 7.8h41.7c4.3 0 7.8-3.5 7.8-7.8V27.8c.1-4.3-3.4-7.8-7.7-7.8zm-2.6 47c0 1.4-1.2 2.6-2.6 2.6H34.3c-1.4 0-2.6-1.2-2.6-2.6v-2.6c0-1.4 1.2-2.6 2.6-2.6h31.3c1.4 0 2.6 1.2 2.6 2.6V67zm0-15.7c0 1.4-1.2 2.6-2.6 2.6H34.3c-1.4 0-2.6-1.2-2.6-2.6v-2.6c0-1.4 1.2-2.6 2.6-2.6h31.3c1.4 0 2.6 1.2 2.6 2.6v2.6zm0-15.6c0 1.4-1.2 2.6-2.6 2.6H34.3c-1.4 0-2.6-1.2-2.6-2.6V33c0-1.4 1.2-2.6 2.6-2.6h31.3c1.4 0 2.6 1.2 2.6 2.6v2.7z\"}},\ntimesheet_entry:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M70.9 20H29.1c-4.3 0-7.8 3.5-7.8 7.8v44.3c0 4.3 3.5 7.8 7.8 7.8h41.7c4.3 0 7.8-3.5 7.8-7.8V27.8c.1-4.3-3.4-7.8-7.7-7.8zm-2.6 47c0 1.4-1.2 2.6-2.6 2.6H34.3c-1.4 0-2.6-1.2-2.6-2.6v-2.6c0-1.4 1.2-2.6 2.6-2.6h31.3c1.4 0 2.6 1.2 2.6 2.6V67zM40.9 50l1.4-1.4c.4-.4 1-.4 1.4 0l3.6 3.6 9-9c.4-.4 1-.4 1.4 0l1.4 1.4c.3.4.3 1.1 0 1.4L48.8 56.5c-.4.4-.9.6-1.4.6-.5 0-1-.2-1.4-.6l-5-5c-.5-.5-.5-1.1-.1-1.5zm27.4-14.3c0 1.4-1.2 2.6-2.6 2.6H34.3c-1.4 0-2.6-1.2-2.6-2.6V33c0-1.4 1.2-2.6 2.6-2.6h31.3c1.4 0 2.6 1.2 2.6 2.6v2.7z\"}},\ntimeslot:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M70.95 20H29.19a7.93 7.93 0 00-8 7.81v44.38A7.9 7.9 0 0029.05 80h41.9a7.9 7.9 0 007.83-7.81V27.81A7.73 7.73 0 0070.95 20zM31.8 33a2.7 2.7 0 012.61-2.6h13.32a2.7 2.7 0 012.61 2.6v2.6a2.7 2.7 0 01-2.61 2.6H34.41a2.7 2.7 0 01-2.61-2.6zM68 67a2.7 2.7 0 01-2.61 2.6H52.17a2.7 2.7 0 01-2.61-2.6v-2.6a2.7 2.7 0 012.61-2.6h13.32A2.58 2.58 0 0168 64.38zm.51-12.39a2.83 2.83 0 01-2.75 2.6H34.41a2.7 2.7 0 01-2.61-2.6v-9.07a2.7 2.7 0 012.61-2.6h31.45a2.7 2.7 0 012.61 2.6z\",\"fill-rule\":\"evenodd\"}},\ntoday:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M50 20c-16.5 0-30 13.5-30 30s13.5 30 30 30 30-13.5 30-30-13.5-30-30-30zm0 54c-13.2 0-24-10.8-24-24s10.8-24 24-24 24 10.8 24 24-10.8 24-24 24z\"},{\"d\":\"M53 48.8V36c0-1.1-.9-2-2-2h-2c-1.1 0-2 .9-2 2v14c0 .8.3 1.6.9 2.1l9.6 9.6c.8.8 2 .8 2.8 0l1.4-1.4c.8-.8.8-2 0-2.8L53 48.8z\"}]},\ntoggle:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M20 33.34a13.43 13.43 0 0113-13.43h33.56a13.45 13.45 0 010 26.89H33a13.44 13.44 0 01-13-13.46zm13.44 7.53a7.53 7.53 0 10-7.52-7.53 7.58 7.58 0 007.52 7.53zM20 66.46A13.44 13.44 0 0133 53h33.56a13.45 13.45 0 010 26.89H33a13.43 13.43 0 01-13-13.43zM67.06 57H32.94a9.53 9.53 0 000 19h34.12a9.53 9.53 0 000-19zm-.5 16a6.53 6.53 0 116.52-6.52A6.58 6.58 0 0166.56 73z\"}},\ntopic:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M61.4 37.2c.2.7.7 1.2 1.4 1.4l2.2.6c.4.1.9-.1 1.1-.5l4.7-8.1c1.1-1.9.5-2.6-1.5-1.5l-8.1 4.7c-.4.2-.6.7-.5 1.1l.7 2.3zM33.9 38.7c.2.4.7.6 1.1.5l2.2-.6c.7-.2 1.2-.7 1.4-1.4l.6-2.2c.1-.4-.1-.9-.5-1.1l-8.1-4.7c-1.9-1.1-2.6-.5-1.5 1.5l4.8 8zM66.1 61.3c-.2-.4-.7-.6-1.1-.5l-2.2.6c-.7.2-1.2.7-1.4 1.4l-.6 2.2c-.1.4.1.9.5 1.1l8.1 4.7c1.9 1.1 2.6.5 1.5-1.5l-4.8-8zM38.6 62.8c-.2-.7-.7-1.2-1.4-1.4l-2.2-.6c-.4-.1-.9.1-1.1.5l-4.7 8.1c-1.1 1.9-.5 2.6 1.5 1.5l8.1-4.7c.4-.2.6-.7.5-1.1l-.7-2.3z\"},{\"d\":\"M78.4 49l-20.5-5.5c-.7-.2-1.2-.7-1.4-1.4L51 21.6c-.6-2.1-1.5-2.1-2.1 0l-5.5 20.5c-.2.7-.7 1.2-1.4 1.4L21.6 49c-2.1.6-2.1 1.5 0 2.1l20.5 5.5c.7.2 1.2.7 1.4 1.4L49 78.4c.6 2.1 1.5 2.1 2.1 0l5.5-20.5c.2-.7.7-1.2 1.4-1.4L78.4 51c2.1-.5 2.1-1.5 0-2zM50 55c-2.8 0-5-2.2-5-5s2.2-5 5-5 5 2.2 5 5-2.2 5-5 5z\"}]},\ntopic2:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M78.2 34.3h-7.9l3.4-13V21c0-.5-.4-1-1-1h-6.3c-.5 0-.9.4-1 .8L62 34.3H46.2l3.4-13V21c0-.5-.4-1-1-1h-6.3c-.5 0-.9.4-1 .8l-3.5 13.4H29c-.5 0-.8.3-1 .7l-1.6 6v.2c0 .5.4 1 1 1h8.3l-3.9 15.2h-8.5c-.5 0-.8.3-1 .7l-1.6 6v.2c0 .5.4 1 1 1h8l-3.4 13.2v.2c0 .5.4 1 1 1h6.3c.5 0 .9-.3 1-.8l3.5-13.7h15.7l-3.4 13.2v.2c0 .5.4 1 1 1h6.3c.5 0 .9-.3 1-.8L62.2 65h8.7c.5 0 .9-.3 1-.8l1.6-6V58c0-.5-.4-1-1-1h-8.2l3.9-15.2h8.4c.5 0 .9-.3 1-.8l1.6-6v-.2c0-.1-.5-.5-1-.5zM56 57.5H40.2l3.9-15.2h15.7L56 57.5z\"}},\ntrailhead:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M32.7 63.8l-3.2 3.7h6.4zM35.7 71.4h6.4l-3.2-3.7zM61.3 68.8l3.2-3.7 3.2 3.7z\"},{\"d\":\"M50.9 20.2c-.5-.3-1.2-.3-1.7 0C31.3 27.8 19.8 45.5 20.1 65v4.3c0 .7.3 1.3.9 1.7 8.6 5.7 18.8 8.9 29.1 9h1.1c9.9-.4 19.6-3.4 27.8-9 .5-.4.9-1 .9-1.7V65c.5-19.5-11-37.2-29-44.8zM34.7 36c7.3-8.6 15.4-11.5 15.4-11.5 1.7.8 21.2 8.4 25.2 33h-5.1l-9.8-14.1c-.7-.9-2-1.2-3-.5-.3.1-.4.4-.5.5L54.4 47l-6.9-9.9c-.7-.9-2-1.2-3-.5-.3.1-.4.4-.5.5L30.1 57.4l-5.1.2c1.5-9.4 5.4-16.4 9.7-21.6zM65 57.6H52.3l3.3-4.7 3-4.4 6.4 9.1zm-18-14l5 7.2-4.7 6.7H35.2l5.1-7.6 5.4-8 1.3 1.7zm4.8 29L50 75.8c-3.7 0-7.1-.5-11-1.4-5.1-1.3-10.1-3.4-14.5-6.1v-3.1c0-1 0-2.1.1-3.3h22.1c-1.7 2.6-.9 6.1 1.8 7.7.3.1.5.3.7.4l2 .9c.6.2.8 1 .6 1.7zm24-4.5c-3.3 2-6.7 3.7-10.2 4.8 0 0-.7.3-.9.3-2 .7-4 1.2-6.1 1.6-1.2.3-2.4.4-3.5.5l.4-.7c1.6-2.7.7-6.1-2.1-7.7-.1-.1-.4-.1-.5-.3l-2-.9c-.7-.3-1-1-.7-1.7 0-.1.1-.3.1-.3l1.8-2.1h23.5c0 1 .1 2.1.1 3.3v3.2z\"}]},\ntrailhead_alt:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M45.27 62.76c-.05.11-.1.2-.14.31a8.62 8.62 0 003 9.82c2 1.54 2.37 2.19 2.17 3.65A9.38 9.38 0 0148.94 80 55.9 55.9 0 0120 70.79v-4.62c0-1.15.06-2.28.13-3.41h25.14zm34.6 0c.07 1.13.13 2.26.13 3.41v4.62a56.27 56.27 0 01-25.39 9 12.2 12.2 0 00.68-2.54c.66-4.66-2.29-7-4.06-8.33a3.59 3.59 0 01-1.4-4.07A9.85 9.85 0 0151 62.76h28.87zM45.62 42l5.5 8.1-5.19 7.65h-11zM50 20a49 49 0 0129.35 37.73H72L61 41.61a2.61 2.61 0 00-4.16 0l-2.72 4-6.42-9.51a2.61 2.61 0 00-4.16 0l-14.7 21.63h-8.19A49 49 0 0150 20zm9 27.5l6.95 10.23H52z\",\"fill-rule\":\"evenodd\"}},\ntravel_mode:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"mask\":{\"id\":\"ooa\",\"height\":\"60\",\"maskUnits\":\"userSpaceOnUse\",\"width\":\"60\",\"x\":\"20\",\"y\":\"20\",\"path\":{\"d\":\"M20 20h60v60H20z\",\"fill-rule\":\"evenodd\"}},\"g\":{\"mask\":\"url(#ooa)\",\"path\":{\"d\":\"M53.77 72.12C54 59.88 62.25 50 72.49 50a22.49 22.49 0 01-18.66 22.12M27.49 50C37.75 50 46 59.88 46.16 72.12A22.5 22.5 0 0127.49 50M50 27.51a22.44 22.44 0 0121.12 15H28.88a22.44 22.44 0 0121.12-15M50 20a30 30 0 1030 30 30 30 0 00-30-30\",\"fill-rule\":\"evenodd\"}}},\nunmatched:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M65.7 46.8c-.1-.5-.5-.8-1-.8H35.3c-.5 0-.9.3-1 .8-.2 1-.3 2.1-.3 3.2s.1 2.2.3 3.2c.1.5.5.8 1 .8h29.4c.5 0 .9-.3 1-.8.2-1 .3-2.1.3-3.2s-.1-2.2-.3-3.2z\"},{\"d\":\"M50 20c-16.5 0-30 13.5-30 30s13.5 30 30 30 30-13.5 30-30-13.5-30-30-30zm0 52c-12.1 0-22-9.9-22-22s9.9-22 22-22 22 9.9 22 22-9.9 22-22 22z\"}]},\nuser:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M80 71.2V74c0 3.3-2.7 6-6 6H26c-3.3 0-6-2.7-6-6v-2.8c0-7.3 8.5-11.7 16.5-15.2.3-.1.5-.2.8-.4.6-.3 1.3-.3 1.9.1C42.4 57.8 46.1 59 50 59c3.9 0 7.6-1.2 10.8-3.2.6-.4 1.3-.4 1.9-.1.3.1.5.2.8.4 8 3.4 16.5 7.8 16.5 15.1z\"},\"ellipse\":{\"cx\":\"50\",\"cy\":\"36.5\",\"rx\":\"14.9\",\"ry\":\"16.5\"}},\nuser_role:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M44 63.3c0-3.4 1.1-7.2 2.9-10.2 2.1-3.7 4.5-5.2 6.4-8 3.1-4.6 3.7-11.2 1.7-16.2-2-5.1-6.7-8.1-12.2-8s-10 3.5-11.7 8.6c-2 5.6-1.1 12.4 3.4 16.6 1.9 1.7 3.6 4.5 2.6 7.1-.9 2.5-3.9 3.6-6 4.6-4.9 2.1-10.7 5.1-11.7 10.9-1 4.7 2.2 9.6 7.4 9.6H48c1 0 1.6-1.2 1-2-3.2-3.6-5-8.2-5-13zm20-15c-8.2 0-15 6.7-15 15s6.7 15 15 15 15-6.7 15-15-6.7-15-15-15zm2.6 16.4c-.4 0-.9-.1-1.2-.2l-5.7 5.7c-.4.4-.9.5-1.2.5-.5 0-.9-.1-1.2-.5-.6-.6-.6-1.7 0-2.5L63 62c-.1-.4-.2-.7-.2-1.2-.2-2.6 1.9-5 4.5-5 .4 0 .9.1 1.2.2.2 0 .2.2.1.4L66 58.9c-.2.1-.2.5 0 .6l1.7 1.7c.2.2.5.2.7 0l2.5-2.5c.1-.1.4-.1.4.1.1.4.2.9.2 1.2.1 2.8-2.1 4.9-4.9 4.7z\"}},\nvariable:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M70.9 39.7c3.1 0 9.1-2.5 9.1-10.6s-5.8-8.5-7.6-8.5c-3.6 0-7.1 2.6-10.2 7.9C59.1 34 55.6 40 55.6 40h-.1c-.8-3.8-1.4-7-1.7-8.4-.6-3.3-4.5-10.6-12.5-10.6S26 25.6 26 25.6c-1.4.9-2.3 2.4-2.3 4.1 0 2.7 2.2 4.9 4.9 4.9.8 0 1.5-.2 2.1-.5 0 0 6.1-3.4 7.4 0 .4 1 .7 2.2 1.1 3.4 1.6 5.2 3 11.4 4.2 17l-5.2 7.6s-5.9-2.1-9-2.1S20 62.5 20 70.6s5.8 8.5 7.6 8.5c3.6 0 7.1-2.6 10.2-7.9 3.1-5.5 6.6-11.5 6.6-11.5 1 5 1.9 9 2.4 10.6 2 5.7 6.6 9.1 12.7 9.1 0 0 6.3 0 13.7-4.2 1.8-.7 3.1-2.5 3.1-4.5 0-2.7-2.2-4.9-4.9-4.9-.8 0-1.5.2-2.1.5 0 0-5.3 3-7.1.6-1.3-2.5-2.4-5.7-3.2-9.7-.8-3.6-1.7-7.8-2.5-11.9l5.3-7.7c.1 0 6 2.1 9.1 2.1z\"}},\nvariation_attribute_setup:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M46.8 23.1a1.66 1.66 0 00-1.8 1.7V52a1.53 1.53 0 001.7 1.7h.1a1.58 1.58 0 001.7-1.7V24.7a1.55 1.55 0 00-1.7-1.6zM29.3 23.1h-6.7a1.58 1.58 0 00-1.7 1.7V52a1.63 1.63 0 001.7 1.7h6.7A1.58 1.58 0 0031 52V24.7a1.66 1.66 0 00-1.7-1.6zM38.8 23.1h-1.7a1.58 1.58 0 00-1.7 1.7V52a1.53 1.53 0 001.7 1.7h1.7a1.58 1.58 0 001.7-1.7V24.7a1.55 1.55 0 00-1.7-1.6zM71.9 48.1v.2l.1.8a2.09 2.09 0 01.6.4l.9-.5.7-.3.6-.2V24.7a1.58 1.58 0 00-1.7-1.7h-3.4a1.58 1.58 0 00-1.7 1.7v19a5.82 5.82 0 013.9 4.4zM56.6 49l.6.2a4.35 4.35 0 01.7-.4l.1-.7v-.2a6 6 0 015-4.6V24.7a1.66 1.66 0 00-1.7-1.6h-6.7a1.58 1.58 0 00-1.7 1.7v24a6.75 6.75 0 011.4-.2 5.76 5.76 0 012.3.4zM75.5 64.3a14.92 14.92 0 00.2-2.1 14.92 14.92 0 00-.2-2.1l2.3-1.9a2.12 2.12 0 00.5-2.6l-1-1.8a2.23 2.23 0 00-1.8-1c-.2 0-.5.1-.7.1L72 54a10.27 10.27 0 00-3.6-2.1l-.5-2.9a2 2 0 00-2.1-1.5h-2a2.08 2.08 0 00-2.1 1.5l-.5 2.8a10.46 10.46 0 00-3.7 2.1l-2.7-1.1a1.48 1.48 0 00-.7-.1 2.23 2.23 0 00-1.8 1l-1 1.7a2 2 0 00.5 2.6l2.3 1.9a14.92 14.92 0 00-.2 2.1 14.92 14.92 0 00.2 2.1l-2.3 2a2.12 2.12 0 00-.5 2.6l1 1.9a2.23 2.23 0 001.8 1c.2 0 .5-.1.7-.1l2.8-1.1a10.27 10.27 0 003.6 2.1l.5 3a2.06 2.06 0 002.1 1.7h2a2.14 2.14 0 002.1-1.7l.5-3a10 10 0 003.8-2.3l2.6 1.1a1.7 1.7 0 00.7.1 2.23 2.23 0 001.8-1l.9-1.6a2 2 0 00-.4-2.6zm-10.6 4.9a6.8 6.8 0 116.8-6.8 6.81 6.81 0 01-6.8 6.8z\"},{\"d\":\"M64.8 58.7a3.7 3.7 0 103.7 3.7 3.7 3.7 0 00-3.7-3.7z\"}]},\nvariation_products:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M73.9 53.3a1.46 1.46 0 00.9-1.5V24.6a1.58 1.58 0 00-1.7-1.7h-3.4a1.58 1.58 0 00-1.7 1.7v20.8a9 9 0 015.9 7.9zM54.5 53.4h1.4a9.07 9.07 0 017-8.4V24.6a1.58 1.58 0 00-1.7-1.7h-6.7a1.58 1.58 0 00-1.7 1.7v27.2a1.55 1.55 0 001.7 1.6zM38.8 22.9h-1.7a1.58 1.58 0 00-1.7 1.7v27.2a1.53 1.53 0 001.7 1.7h1.7a1.58 1.58 0 001.7-1.7V24.6a1.68 1.68 0 00-1.7-1.7zM29.2 22.9h-6.7a1.58 1.58 0 00-1.7 1.7v27.2a1.63 1.63 0 001.7 1.7h6.7a1.58 1.58 0 001.7-1.7V24.6a1.58 1.58 0 00-1.7-1.7zM46.8 22.9h-.1a1.58 1.58 0 00-1.7 1.7v27.2c-.1.9.6 1.6 1.8 1.6a1.58 1.58 0 001.7-1.7V24.6a1.58 1.58 0 00-1.7-1.7zM60 53.9a4.89 4.89 0 005 5 6.75 6.75 0 001.4-.2l3.5 6.4c.2.3.5.4.7.2a4.37 4.37 0 011.7-.8.55.55 0 00.3-.7L68.9 57a4.89 4.89 0 001.1-3.1 5 5 0 00-10 0zM59.9 60.2a.54.54 0 00-.8.2L55.6 67a1.7 1.7 0 00-.7-.1 4.94 4.94 0 103.4 1.3l3.5-6.4c.1-.1 0-.4-.2-.6a15.05 15.05 0 01-1.7-1zM75.1 67a4.94 4.94 0 00-4.9 4.1h-6.7a.56.56 0 00-.5.6v.5a6.75 6.75 0 01-.2 1.4.5.5 0 00.5.6h7.1a5 5 0 004.6 3 5.1 5.1 0 00.1-10.2z\"}},\nvideo:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M77.57 33.37l-14.11 10.2v-7.24A3.44 3.44 0 0060 32.86H23.46A3.44 3.44 0 0020 36.3v27.37a3.44 3.44 0 003.41 3.47h36.71a3.44 3.44 0 003.47-3.43v-7.1l14 10a1.42 1.42 0 002 0 1.39 1.39 0 00.41-1V34.4a1.42 1.42 0 00-2.43-1.07\"}},\nvisit_templates:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M30 58c-1.1 0-2-.9-2-2v-2c0-1.1.9-2 2-2h20c.5 0 .9.2 1.3.5C54.5 49 59 46.6 64 46.1V26c0-3.3-2.7-6-6-6H26c-3.3 0-6 2.7-6 6v34c0 3.3 2.7 6 6 6h20c0-2.8.6-5.5 1.7-8H30zm-2-28c0-1.1.9-2 2-2h20c1.1 0 2 .9 2 2v2c0 1.1-.9 2-2 2H30c-1.1 0-2-.9-2-2v-2zm0 12c0-1.1.9-2 2-2h24c1.1 0 2 .9 2 2v2c0 1.1-.9 2-2 2H30c-1.1 0-2-.9-2-2v-2z\"},{\"d\":\"M66 52c-7.7 0-14 6.3-14 14s6.3 14 14 14 14-6.3 14-14-6.3-14-14-14zm7.9 10.5L65 72.2c-.4.4-.8.6-1.4.6-.5 0-1-.2-1.4-.6l-4.8-4.7c-.4-.4-.4-1 0-1.3l1.4-1.3c.4-.4 1-.4 1.4 0l3.4 3.4 7.5-8.4c.4-.4 1-.4 1.4 0l1.4 1.3c.3.3.3 1 0 1.3z\"}]},\nvisits:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M50.6 52.9c2.6-3.7 5.3-5.6 7.1-8.4 3.2-4.8 3.9-11.6 1.8-16.8-2.1-5.3-7-8.4-12.7-8.3S36.5 23 34.7 28.3c-2.1 5.8-1.2 12.8 3.5 17.2 1.9 1.8 3.7 4.7 2.7 7.4-.9 2.6-4 3.7-6.2 4.8-5 2.2-11.1 5.3-12.1 11.2-1 4.9 2.3 10 7.6 10h23.3c1 0 1.9-1.2 1.3-1.9-3.2-3.7-6.6-8.7-6.6-13.6-.3-3.5.7-7.4 2.4-10.5zm14.2 13.5c-2.7 0-5-2.2-5-4.9s2.2-4.9 5-4.9c2.7 0 5 2.2 5 4.9.1 2.7-2.3 4.9-5 4.9zm0-16.8c-6.6 0-11.9 5.3-11.9 11.9 0 8.1 8.5 15.8 11.1 17.7.4.4 1 .4 1.6 0 2.6-2.1 11.1-9.6 11.1-17.7 0-6.6-5.3-11.9-11.9-11.9z\"}},\nvisualforce_page:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M55.4 53.6c-.6 0-1.2-.5-1.2-1.2v-7.3c0-.6.5-1.2 1.2-1.2h7.5c.6 0 1.2.5 1.2 1.2v7.3c0 .6-.5 1.2-1.2 1.2h-7.5zM58.6 57.9l-4.3 4.7c-.3.3-.3.7 0 1l4.3 4.7c.3.3.8.3 1.1 0l4.3-4.7c.3-.3.3-.7 0-1l-4.3-4.7c-.3-.3-.8-.3-1.1 0z\"},{\"d\":\"M36.4 45.6l3.8-2.2c.3-.2.8-.2 1.1 0l3.8 2.2c.3.2.6.6.6 1v4.3c0 .4-.2.8-.6 1l-3.8 2.2c-.3.2-.8.2-1.1 0l-3.8-2.2c-.3-.2-.6-.6-.6-1v-4.3c0-.4.2-.8.6-1z\"},{\"d\":\"M73.8 20H26.2c-3.4 0-6.2 2.8-6.2 6.2v47.6c0 3.4 2.8 6.2 6.2 6.2h47.6c3.4 0 6.2-2.8 6.2-6.2V26.2c0-3.4-2.8-6.2-6.2-6.2zm0 51.7c0 1.2-.9 2.1-2.1 2.1H28.3c-1.1 0-2.1-.9-2.1-2.1V38.2h47.6v33.5zm0-39.5H26.2v-3.9c0-1.2.9-2.1 2.1-2.1h43.4c1.1 0 2.1.9 2.1 2.1v3.9z\"}],\"circle\":{\"cx\":\"40.7\",\"cy\":\"63\",\"r\":\"4.9\"}}},\nvoice_call:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M77.7 63.9l-6.2-5c-2.1-1.7-5.1-1.8-7.3-.2L58.3 63c-.8.6-1.9.5-2.6-.2L46 54l-8.9-9.8c-.7-.7-.8-1.8-.2-2.6l4.3-5.9c1.6-2.2 1.5-5.2-.2-7.3l-5-6.2c-2.2-2.8-6.4-3-8.9-.5l-5.4 5.4c-1.2 1.2-1.8 2.9-1.8 4.5.7 12.7 6.5 24.8 15 33.3s20.5 14.3 33.3 15c1.7.1 3.3-.6 4.5-1.8l5.4-5.4c2.7-2.4 2.4-6.6-.4-8.8z\"}},\nwaits:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M80 40.5c0-1-.9-1.9-1.9-1.9H51.9c-1 0-1.9.9-1.9 1.9v3.7c0 1 .9 1.9 1.9 1.9h17.8L50.4 69.8s0 .1-.1.1c-.2.3-.4.7-.4 1.1v3.7c0 1 .9 1.9 1.9 1.9h26.3c1 0 1.9-.9 1.9-1.9V71c0-1-.9-1.9-1.9-1.9H60.6l19-23.3c.3-.4.4-.8.3-1.3v-4z\"},{\"d\":\"M50 25.3c0-1-.9-1.9-1.9-1.9H21.9c-1 0-1.9.9-1.9 1.9V29c0 1 .9 1.9 1.9 1.9h17.8L20.4 54.6s0 .1-.1.1c-.2.3-.3.6-.3 1v3.7c0 1 .9 1.9 1.9 1.9h26.3c1 0 1.9-.9 1.9-1.9v-3.7c0-1-.9-1.9-1.9-1.9H30.6l19-23.3c.3-.4.4-.8.3-1.3V25.3z\"}]},\nwarranty_term:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M50 20c3.79 0 6.79 4.11 10.11 5.53s8.52.63 11 3.31 1.89 7.58 3.31 11.05S80 46.21 80 50s-4.11 6.79-5.53 10.11-.63 8.52-3.31 11c-2.53 2.52-7.58 1.89-11 3.31S53.79 80 50 80s-6.79-4.11-10.11-5.53-8.52-.63-11-3.31c-2.52-2.53-1.89-7.58-3.31-11S20 53.79 20 50s4.11-6.79 5.53-10.11.63-8.52 3.31-11 7.58-1.89 11.05-3.36S46.21 20 50 20zm0 9.47A20.53 20.53 0 1070.53 50 20.59 20.59 0 0050 29.47zm9.52 11.44l2 1.9a1.55 1.55 0 010 1.89L48.78 58.84a2.55 2.55 0 01-2 .88 2.76 2.76 0 01-2-.88L37.9 52a1.26 1.26 0 010-1.89l2-1.9a1.37 1.37 0 012 0l4.87 5 10.75-12.3a1.37 1.37 0 012 0z\"}},\nwebcart:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M42.4 50h29.5c.9 0 1.7-.6 1.9-1.5l5.4-19c.4-1.3-.6-2.5-1.9-2.5H31.7l-.8-2.8c-.4-1.3-1.6-2.2-2.9-2.2h-4.8c-1.6 0-3.1 1.2-3.2 2.8-.1 1.7 1.3 3.2 3 3.2h2.8l9.4 31.8c.4 1.3 1.5 2.2 2.9 2.2h34.8c1.6 0 3.1-1.2 3.2-2.8.1-1.7-1.3-3.2-3-3.2H42.5c-1.3 0-2.5-.9-2.8-2.1v-.1c-.7-1.9.8-3.8 2.7-3.8z\"},\"circle\":[{\"cx\":\"43\",\"cy\":\"73\",\"r\":\"5\"},{\"cx\":\"67\",\"cy\":\"73\",\"r\":\"5\"}]}},\nwork_capacity_limit:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M75.9 29.3l-9-8.9c-.3-.3-.6-.4-.9-.4-.8 0-1.4.6-1.4 1.4v6.4c.1 2.1 1.8 3.8 3.9 3.8h6.4c.7 0 1.3-.6 1.3-1.3 0-.4-.1-.7-.3-1zM29.6 62.6v-31c-3.2 0-5.8 2.6-5.8 5.8v36.7c0 3.2 2.6 5.8 5.8 5.9h29.2c3.2 0 5.7-2.5 5.8-5.7H41.3c-6.4 0-11.7 0-11.7-11.7zM51.5 44.3v9H60s.5-3.2-2.4-6.2c-2.9-2.9-6.1-2.8-6.1-2.8z\"},{\"d\":\"M74.2 37.4h-9.8c-3.2.1-5.8-2.5-5.9-5.7V21.9c.1-1-.7-1.8-1.7-1.9H41.2c-3.2-.1-5.8 2.5-5.9 5.7V62.5c0 3.2 2.6 5.8 5.8 5.8H70.3c3.2.1 5.8-2.5 5.9-5.7V39.4c0-1.1-.8-2-2-2zM63.5 53c-.1 6.5-5.4 11.8-11.9 11.7s-11.8-5.4-11.7-11.9c.1-6.5 5.4-11.8 11.9-11.7 6.5 0 11.7 5.4 11.7 11.9z\"}]}},\nwork_capacity_usage:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M39 32h22c1.1 0 2-.9 2-2v-4c0-3.3-2.7-6-6-6H43c-3.3 0-6 2.7-6 6v4c0 1.1.9 2 2 2zM49.8 48.4v11.4h10.7s.6-4-3.1-7.8-7.6-3.6-7.6-3.6z\"},{\"d\":\"M72 25h-2c-.6 0-1 .4-1 1v4c0 4.4-3.6 8-8 8H39c-4.4 0-8-3.6-8-8v-4c0-.6-.4-1-1-1h-2c-3.3 0-6 2.7-6 6v43c0 3.3 2.7 6 6 6h44c3.3 0 6-2.7 6-6V31c0-3.3-2.7-6-6-6zm-7.1 34.3c-.1 8.2-6.8 14.9-15 14.8-8.2-.1-14.9-6.8-14.8-15 .1-8.2 6.8-14.9 15-14.8 8.2 0 14.8 6.8 14.8 15z\"}]}},\nwork_contract:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M56.3 34h9.1a1.16 1.16 0 001.2-1.2 1.09 1.09 0 00-.4-.9L55 20.6a1.27 1.27 0 00-.9-.4 1.16 1.16 0 00-1.2 1.2v9.1a3.6 3.6 0 003.4 3.5zM63.9 55.2a12.3 12.3 0 1012.3 12.3 12.29 12.29 0 00-12.3-12.3zM66 68.6c-.4 0-.7-.1-1-.1l-4.7 4.6a1.22 1.22 0 01-1 .5 1.28 1.28 0 01-1-.4 1.66 1.66 0 010-2.1l4.7-4.7a2.79 2.79 0 01-.1-1 3.85 3.85 0 013.7-4.1c.4 0 .7.1 1 .1.1 0 .1.1.1.4l-2.1 2.1a.45.45 0 000 .5l1.5 1.5a.63.63 0 00.6 0l2.1-2.1c.1-.1.4-.1.4.1a3.75 3.75 0 01.1 1 4 4 0 01-4.3 3.7z\"},{\"d\":\"M51.6 56.6c4.3-5 11.3-5.3 12.3-5.3s2.7-.1 2.6-1.5 0-8.9 0-8.9a1.63 1.63 0 00-1.7-1.7h-12a5.12 5.12 0 01-5.1-5.1v-12a1.63 1.63 0 00-1.7-1.7H29a5.26 5.26 0 00-5.1 5.1v41.1a5.12 5.12 0 005.1 5.1h17.4s1.7-1 1.6-2.4-.6-7.8 3.6-12.7zM36 24.9a3.7 3.7 0 11-3.7 3.7 3.69 3.69 0 013.7-3.7zm-5.7 12.9a5.62 5.62 0 015.6-4.8h.2a5.62 5.62 0 015.6 4.8.9.9 0 01-1 .9h-9.6c-.8 0-.8-.5-.8-.9zm15 21.9a1.63 1.63 0 01-1.7 1.7H32.4a1.63 1.63 0 01-1.7-1.7V58a1.63 1.63 0 011.7-1.7h11.2a1.63 1.63 0 011.7 1.7zm-12.9-8.6a1.63 1.63 0 01-1.7-1.7v-1.7a1.63 1.63 0 011.7-1.7H53a1.63 1.63 0 011.7 1.7v1.7a1.63 1.63 0 01-1.7 1.7z\"}]},\nwork_forecast:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M77.7 29.2S74.2 22 66.4 22s-11.5 7.4-11.5 7.4a11.67 11.67 0 00-9.9 0S41.4 22 33.6 22s-11.3 7.2-11.3 7.2-7.3 16.3-7.5 30.9C14.6 74.5 24.3 78 28.9 78c5 0 16.8-2.1 16.2-18.5a4.78 4.78 0 014.5-2.7 5.94 5.94 0 015.4 2.7C54.4 75.9 66.2 78 71.1 78c4.5 0 14.3-3.5 14.1-17.9-.2-14.6-7.5-30.9-7.5-30.9zM29.8 71.6a8.7 8.7 0 118.7-8.7 8.71 8.71 0 01-8.7 8.7zm40.4 0a8.7 8.7 0 118.7-8.7 8.71 8.71 0 01-8.7 8.7z\"}},\nwork_order:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M65.2 52.2c-3.6 1.4-5 4.8-5.2 5.3-.3.7-.8.8-.8.8h-18c-.3 0-.6-.4-.8-.7-1.5-3.5-5-6.1-9-6.1-3.7 0-6.9 2-8.6 5-.2.4-.8.5-1.2.2-1-.9-1.6-2.2-1.6-3.6 0 0-.6-11.6 3.3-17.6.7-1 1.2-1.4 2.1-1.4h38c.4 0 .8 0 1.2.3 0 0 4.2 6.4 4.8 7 .5.5 1 .9 2.3 1.2.8.2 8.1 2.8 8.1 2.8.4.2.3.7.3 1.1V53c0 1.4-.4 2.7-1.4 3.6-.4.3-.9.2-1.1-.2-1.7-3-4.8-5-8.5-5-1.5 0-2.7.3-3.9.8\"},\"circle\":[{\"cx\":\"69\",\"cy\":\"61.1\",\"r\":\"4.9\"},{\"cx\":\"31.5\",\"cy\":\"61.1\",\"r\":\"4.9\"}]},\nwork_order_item:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M39 32h22c1.1 0 2-.9 2-2v-4c0-3.3-2.7-6-6-6H43c-3.3 0-6 2.7-6 6v4c0 1.1.9 2 2 2z\"},{\"d\":\"M72 25h-2c-.6 0-1 .4-1 1v4c0 4.4-3.6 8-8 8H39c-4.4 0-8-3.6-8-8v-4c0-.6-.4-1-1-1h-2c-3.3 0-6 2.7-6 6v43c0 3.3 2.7 6 6 6h44c3.3 0 6-2.7 6-6V31c0-3.3-2.7-6-6-6zm-5.2 24L47.6 68.2c-.5.5-1.1.8-1.8.8s-1.4-.3-1.9-.8L33.2 57.5c-.5-.5-.5-1.1 0-1.6l2.1-2.1c.5-.5 1.1-.5 1.6 0l8.8 8.8L63 45.3c.5-.5 1.1-.5 1.6 0l2.1 2.1c.5.5.5 1.2.1 1.6z\"}]},\nwork_plan:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M39 32h22a2 2 0 002-2v-4a6 6 0 00-6-6H43a6 6 0 00-6 6v4a2 2 0 002 2zm33-7h-2a.94.94 0 00-1 1v4a8 8 0 01-8 8H39a8 8 0 01-8-8v-4a.94.94 0 00-1-1h-2a6 6 0 00-6 6v43a6 6 0 006 6h44a6 6 0 006-6V31a6 6 0 00-6-6zM39 68a2 2 0 01-2 2h-2a2 2 0 01-2-2v-2a2 2 0 012-2h2a2 2 0 012 2zm0-10a2 2 0 01-2 2h-2a2 2 0 01-2-2v-2a2 2 0 012-2h2a2 2 0 012 2zm0-10a2 2 0 01-2 2h-2a2 2 0 01-2-2v-2a2 2 0 012-2h2a2 2 0 012 2zm28 20a2 2 0 01-2 2H45a2 2 0 01-2-2v-2a2 2 0 012-2h20a2 2 0 012 2zm0-10a2 2 0 01-2 2H45a2 2 0 01-2-2v-2a2 2 0 012-2h20a2 2 0 012 2zm0-10a2 2 0 01-2 2H45a2 2 0 01-2-2v-2a2 2 0 012-2h20a2 2 0 012 2z\"}},\nwork_plan_rule:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M39.3 32.1h21.4a2 2 0 002-2v-4a6 6 0 00-5.8-6H43.3a5.91 5.91 0 00-5.8 6v4a1.74 1.74 0 001.8 2z\"},{\"d\":\"M71.4 25.2h-2a.94.94 0 00-1 1v4a7.9 7.9 0 01-7.8 7.9H39.3a7.9 7.9 0 01-7.8-7.9v-4a.94.94 0 00-1-1h-2a5.91 5.91 0 00-5.8 6v42.6a6 6 0 005.8 6h42.9a5.91 5.91 0 005.8-6V31.2a5.79 5.79 0 00-5.8-6zM68.7 73a1.49 1.49 0 01-1.2 1.2H56.3c-.7 0-1-.8-.3-1.3l3.6-3.8-7-7H32.4a1.07 1.07 0 01-1-1v-4.5a1.08 1.08 0 011-1h20.2l6.9-7-3.6-3.6c-.5-.6-.3-1.4.4-1.4h11.1a1.49 1.49 0 011.2 1.2v11.1c0 .7-.8 1-1.3.3l-3.6-3.5-6.2 6.2 6.2 6.1 3.6-3.6c.6-.5 1.4-.3 1.4.4z\"}]},\nwork_plan_template:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M33.3 73.5a4.89 4.89 0 01-4.8-4.9v-34h-1.6a4.89 4.89 0 00-4.8 4.9v35.4a4.89 4.89 0 004.8 4.9h35.6a4.89 4.89 0 004.8-4.9v-1.4z\"},{\"d\":\"M46.5 30.2h17.8a1.58 1.58 0 001.6-1.6v-3.3a4.91 4.91 0 00-4.9-4.9H49.7a4.91 4.91 0 00-4.9 4.9v3.3a1.73 1.73 0 001.7 1.6zm26.7-5.7h-1.6a.74.74 0 00-.8.8v3.3a6.57 6.57 0 01-6.5 6.6H46.5a6.57 6.57 0 01-6.5-6.6v-3.3a.74.74 0 00-.8-.8h-1.6a4.91 4.91 0 00-4.9 4.9v35.3a4.91 4.91 0 004.9 4.9h35.6a4.91 4.91 0 004.9-4.9V29.4a4.91 4.91 0 00-4.9-4.9zM46.5 59.8a1.58 1.58 0 01-1.6 1.6h-1.6a1.58 1.58 0 01-1.6-1.6v-1.6a1.58 1.58 0 011.6-1.6h1.6a1.58 1.58 0 011.6 1.6zm0-8.2a1.58 1.58 0 01-1.6 1.6h-1.6a1.58 1.58 0 01-1.6-1.6V50a1.58 1.58 0 011.6-1.6h1.6a1.58 1.58 0 011.6 1.6zm0-8.2a1.58 1.58 0 01-1.6 1.6h-1.6a1.58 1.58 0 01-1.6-1.6v-1.6a1.58 1.58 0 011.6-1.6h1.6a1.58 1.58 0 011.6 1.6zm22.7 16.4a1.58 1.58 0 01-1.6 1.6H51.4a1.58 1.58 0 01-1.6-1.6v-1.6a1.58 1.58 0 011.6-1.6h16.2a1.58 1.58 0 011.6 1.6zm0-8.2a1.58 1.58 0 01-1.6 1.6H51.4a1.58 1.58 0 01-1.6-1.6V50a1.58 1.58 0 011.6-1.6h16.2a1.58 1.58 0 011.6 1.6zm0-8.2a1.58 1.58 0 01-1.6 1.6H51.4a1.58 1.58 0 01-1.6-1.6v-1.6a1.58 1.58 0 011.6-1.6h16.2a1.58 1.58 0 011.6 1.6z\"}]},\nwork_plan_template_entry:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M69.6 59.3a10.2 10.2 0 1010.2 10.2 10.24 10.24 0 00-10.2-10.2zm6.6 7.4l-7.5 7.5a1.45 1.45 0 01-2 0L63 70.6a.67.67 0 010-1l1-1a.67.67 0 011 0l2.6 2.6 6.5-6.5a.67.67 0 011 0l1 1a.76.76 0 01.1 1zM44.5 30h17.8a1.58 1.58 0 001.6-1.6v-3.3a4.91 4.91 0 00-4.9-4.9H47.7a4.91 4.91 0 00-4.9 4.9v3.3a1.73 1.73 0 001.7 1.6zM56.1 73.3H31.4a4.89 4.89 0 01-4.8-4.9v-34H25a4.89 4.89 0 00-4.8 4.9v35.4a4.89 4.89 0 004.8 4.9h34.9a12.11 12.11 0 01-3.8-6.3z\"},{\"d\":\"M35.6 69.5h20.1a15.14 15.14 0 01.7-3.7 13.68 13.68 0 012.3-4.5h-9.4a1.58 1.58 0 01-1.6-1.6V58a1.58 1.58 0 011.6-1.6h16.2c.2 0 .3 0 .4.1a13.61 13.61 0 013.6-.5 13.89 13.89 0 016.5 1.6V29.2a4.91 4.91 0 00-4.9-4.9h-1.6a.74.74 0 00-.8.8v3.3a6.57 6.57 0 01-6.5 6.6H44.5a6.64 6.64 0 01-6.5-6.6v-3.3a.74.74 0 00-.8-.8h-1.6a4.91 4.91 0 00-4.9 4.9v35.3a5.06 5.06 0 004.9 5zm12.1-28a1.58 1.58 0 011.6-1.6h16.2a1.58 1.58 0 011.6 1.6v1.6a1.58 1.58 0 01-1.6 1.6H49.4a1.58 1.58 0 01-1.6-1.6v-1.6zm0 8.2a1.58 1.58 0 011.6-1.6h16.2a1.58 1.58 0 011.6 1.6v1.6a1.58 1.58 0 01-1.6 1.6H49.4a1.58 1.58 0 01-1.6-1.6v-1.6zm-8-8.2a1.58 1.58 0 011.6-1.6h1.6a1.58 1.58 0 011.6 1.6v1.6a1.58 1.58 0 01-1.6 1.6h-1.6a1.58 1.58 0 01-1.6-1.6zm0 8.2a1.58 1.58 0 011.6-1.6h1.6a1.58 1.58 0 011.6 1.6v1.6a1.58 1.58 0 01-1.6 1.6h-1.6a1.58 1.58 0 01-1.6-1.6zm0 8.3a1.58 1.58 0 011.6-1.6h1.6a1.58 1.58 0 011.6 1.6v1.6a1.58 1.58 0 01-1.6 1.6h-1.6a1.58 1.58 0 01-1.6-1.6z\"}]},\nwork_queue:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M47.9 71.8h-26c-1.1 0-2-.9-2-2v-4c0-1.1.9-2 2-2h25.9c1.1 0 2 .9 2 2v4c.1 1-.7 1.9-1.8 2h-.1zM47.9 36h-26c-1.1 0-2-.9-2-2v-4c0-1.1.9-2 2-2h25.9c1.1 0 2 .9 2 2v4c.1 1-.7 1.9-1.8 2h-.1zM61.4 66.6c.7.7 1.9.7 2.6 0l15.3-15.2c.8-.7.8-1.9.2-2.6l-.2-.2L64 33.3c-.7-.8-1.9-.8-2.6-.2l-.2.2-2.8 2.8c-.8.7-.8 1.9-.2 2.6l.2.2 4.8 4.8c.5.5.5 1.4 0 1.9-.2.2-.6.4-.9.4H22.1c-1.1 0-2.1.9-2.1 2v4c.1 1.1 1 1.9 2.1 2h40.4c.7 0 1.3.6 1.3 1.3 0 .3-.1.7-.4.9L58.6 61c-.8.7-.8 1.9-.2 2.6l.2.2 2.8 2.8z\"}},\nwork_step:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M39 32h22a2 2 0 002-2v-4a6 6 0 00-6-6H43a6 6 0 00-6 6v4a2 2 0 002 2z\"},{\"d\":\"M72 25h-2a.94.94 0 00-1 1v4a8 8 0 01-8 8H39a8 8 0 01-8-8v-4a.94.94 0 00-1-1h-2a6 6 0 00-6 6v43a6 6 0 006 6h44a6 6 0 006-6V31a6 6 0 00-6-6zM57 64a2 2 0 01-2 2H34.9a2 2 0 01-2-2v-2a2 2 0 012-2H55a2 2 0 012 2zm10-10a2 2 0 01-2 2H34.9a2 2 0 01-2-2v-2a2 2 0 012-2H65a2 2 0 012 2z\"}]},\nwork_step_template:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M28.5 68.5v-34h-1.6a4.89 4.89 0 00-4.8 4.9v35.4a4.89 4.89 0 004.8 4.9h35.6a4.89 4.89 0 004.8-4.9v-1.4h-34a4.89 4.89 0 01-4.8-4.9zM46.4 30.2h17.7a1.58 1.58 0 001.6-1.6v-3.3a4.89 4.89 0 00-4.8-4.9H49.6a4.82 4.82 0 00-4.8 4.9v3.3a1.64 1.64 0 001.6 1.6z\"},{\"d\":\"M73 24.4h-1.6a.74.74 0 00-.8.8v3.3a6.57 6.57 0 01-6.5 6.6H46.4a6.64 6.64 0 01-6.5-6.6v-3.3a.74.74 0 00-.8-.8h-1.6a4.82 4.82 0 00-4.8 4.9v35.3a4.89 4.89 0 004.8 4.9H73a4.82 4.82 0 004.8-4.9V29.4a4.85 4.85 0 00-4.8-5zM60.9 55.5a1.58 1.58 0 01-1.6 1.6H43.1a1.58 1.58 0 01-1.6-1.6v-1.6a1.58 1.58 0 011.6-1.6h16.2a1.58 1.58 0 011.6 1.6zm8.1-8.2a1.58 1.58 0 01-1.6 1.6H43.1a1.58 1.58 0 01-1.6-1.6v-1.6a1.58 1.58 0 011.6-1.6h24.3a1.58 1.58 0 011.6 1.6z\"}]},\nwork_type:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M75.87 29.25l-9-8.88A1.13 1.13 0 0066 20a1.39 1.39 0 00-1.38 1.38v6.38a3.89 3.89 0 003.87 3.87h6.37a1.39 1.39 0 001.38-1.38 1.66 1.66 0 00-.37-1zM29.63 62.63v-31a5.84 5.84 0 00-5.88 5.75v36.74A5.87 5.87 0 0029.63 80h29.12a5.84 5.84 0 005.88-5.75H41.25c-6.37 0-11.62 0-11.62-11.62z\",\"fill-rule\":\"evenodd\"},{\"d\":\"M74.25 37.38H64.5a5.84 5.84 0 01-5.87-5.75v-9.75A1.77 1.77 0 0056.75 20h-15.5a5.84 5.84 0 00-5.87 5.75V62.5a5.76 5.76 0 005.88 5.75h29.12a5.84 5.84 0 005.88-5.75V39.38a2 2 0 00-2.01-2zM49.91 62.22a2.49 2.49 0 01-2.49 2.49h-5A2.49 2.49 0 0140 62.22v-5a2.49 2.49 0 012.49-2.49h5a2.49 2.49 0 012.49 2.49zm0-13.68A2.49 2.49 0 0147.43 51h-5A2.49 2.49 0 0140 48.54v-5a2.49 2.49 0 012.49-2.49h5a2.49 2.49 0 012.49 2.49zm13.68 13.68a2.49 2.49 0 01-2.49 2.48h-5a2.49 2.49 0 01-2.49-2.49v-5a2.49 2.49 0 012.49-2.49h5a2.49 2.49 0 012.49 2.49zm0-13.68A2.49 2.49 0 0161.1 51h-5a2.49 2.49 0 01-2.49-2.49v-5a2.49 2.49 0 012.49-2.49h5a2.49 2.49 0 012.49 2.49z\",\"fill-rule\":\"evenodd\"}]},\nwork_type_group:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M79.9 29.3c0-.3-.1-.6-.3-.9l-8.2-8.1c-.1-.2-.4-.3-.7-.3h-7.9-14.2c-2.9-.1-5.3 2.3-5.4 5.2v26.5c0 2.9 2.4 5.3 5.3 5.3h26.1c2.9.1 5.3-2.3 5.4-5.2V30.7l-.1-1.4zm-23.5 21c0 1.3-1 2.3-2.3 2.3h-4.5c-1.2 0-2.2-1.1-2.2-2.3v-4.5c0-1.3 1-2.3 2.3-2.3h4.5c1.3 0 2.3 1 2.3 2.3l-.1 4.5zm0-12.4c0 1.3-1 2.3-2.3 2.3h-4.5c-1.2 0-2.2-1.1-2.2-2.3v-4.5c0-1.3 1-2.3 2.3-2.3h4.5c1.3 0 2.3 1 2.3 2.3l-.1 4.5zm12.5 12.4c0 1.3-1 2.3-2.3 2.3h-4.5c-1.3 0-2.3-1-2.3-2.3v-4.5c0-1.3 1-2.3 2.3-2.3h4.5c1.3 0 2.3 1 2.3 2.3v4.5zm0-12.4c0 1.3-1 2.3-2.3 2.3h-4.5c-1.3 0-2.3-1-2.3-2.3v-4.5c0-1.3 1-2.3 2.3-2.3h4.5c1.3 0 2.3 1 2.3 2.3v4.5z\"},{\"d\":\"M42.8 62.7c-2.9 0-5.3-2.4-5.3-5.3v-5.1-22.2c-3.2 0-5.8 2.6-5.8 5.8v26.6c0 3.2 1.7 5.9 5.8 5.9h25c3.2 0 5.7-2.5 5.8-5.7H42.8z\"},{\"d\":\"M31.1 74.3c-2.9 0-5.3-2.4-5.3-5.3v-5-22.3c-3.2 0-5.8 2.6-5.8 5.8v26.6c0 3.2 1.7 5.9 5.8 5.9h25c3.2 0 5.7-2.5 5.8-5.7H31.1c.1 0 0 0 0 0z\"}]},\nviewBox:'0 0 100 100'\n}; } export default icons;\n","import React, { Component } from 'react';\n// eslint-disable-next-line camelcase\nimport UNSAFE_DirectionSettings from '..';\n\nconst LanguageDirectionHOC = (WrappedComponent) => {\n\tconst componentName =\n\t\tWrappedComponent.displayName || WrappedComponent.name || 'Component';\n\treturn class LanguageDirection extends Component {\n\t\tstatic displayName = `LanguageDirection(${componentName})`;\n\n\t\tgetWrappedComponent = (value) => (\n\t\t\t<WrappedComponent {...this.props} direction={value} />\n\t\t);\n\n\t\trender() {\n\t\t\treturn (\n\t\t\t\t// eslint-disable-next-line react/jsx-pascal-case\n\t\t\t\t<UNSAFE_DirectionSettings.Consumer>\n\t\t\t\t\t{this.getWrappedComponent}\n\t\t\t\t</UNSAFE_DirectionSettings.Consumer>\n\t\t\t);\n\t\t}\n\t};\n};\n\nexport default LanguageDirectionHOC;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\n// This component's `checkProps` which issues warnings to developers about properties\n// when in development mode (similar to React's built in development tools)\nimport checkProps from './check-props';\n\nimport Svg from './svg';\n\nimport SLDS_ICONS_UTILITY from '../../../icons/utility';\nimport SLDS_ICONS_ACTION from '../../../icons/action';\nimport SLDS_ICONS_CUSTOM from '../../../icons/custom';\nimport SLDS_ICONS_DOCTYPE from '../../../icons/doctype';\nimport SLDS_ICONS_STANDARD from '../../../icons/standard';\n\nimport { DIRECTIONS } from '../UNSAFE_direction';\nimport LanguageDirection from '../UNSAFE_direction/private/language-direction';\n\n/*\n * If inline icons are present and icon bundle imports are not just an empty object, then inline icons will be used instead of external icons that require HTTP access.\n */\nconst UtilityIcon = (\n\t{\n\t\tname = '',\n\t\tassistiveText, // eslint-disable-line no-unused-vars\n\t\tcategory,\n\t\ticon,\n\t\tpath,\n\t\tdirection,\n\t\t...rest\n\t},\n\tcontext\n) => {\n\tcheckProps('UtilityIcon', { name, category, path, context });\n\n\tconst inlineIcons = {\n\t\taction: SLDS_ICONS_ACTION,\n\t\tcustom: SLDS_ICONS_CUSTOM,\n\t\tdoctype: SLDS_ICONS_DOCTYPE,\n\t\tstandard: SLDS_ICONS_STANDARD,\n\t\tutility: SLDS_ICONS_UTILITY,\n\t};\n\tlet inlineData;\n\n\tif (icon) {\n\t\t// Use SVG data passed in with `icon` prop\n\t\tinlineData = icon;\n\t} else if (Object.keys(inlineIcons[category]).length) {\n\t\t// Use inline icon data if it exists. ENV variables will have to set to allow this.\n\t\tinlineData = inlineIcons[category][name.toLowerCase()];\n\t\tinlineData.viewBox = inlineIcons[category].viewBox;\n\t}\n\n\tlet modifiedPath;\n\n\tif (path) {\n\t\t// Use `path` prop of Icon if present\n\t\tmodifiedPath = path;\n\t} else if (context.onRequestIconPath) {\n\t\tmodifiedPath = context.onRequestIconPath({ category, name });\n\t} else if (context[`${category}Sprite`]) {\n\t\t// Use category sprite file from IconSettings if present\n\t\tmodifiedPath = `${context[`${category}Sprite`]}#${name}`;\n\t} else {\n\t\t// Otherwise, use external URLs for icons\n\t\tconst svgAssetName =\n\t\t\tdirection === DIRECTIONS.RTL ? 'symbols-rtl.svg' : 'symbols.svg';\n\t\tmodifiedPath =\n\t\t\tcontext.iconPath &&\n\t\t\t`${context.iconPath}/${category}-sprite/svg/${svgAssetName}#${name}`;\n\t}\n\n\treturn inlineData ? (\n\t\t<Svg data={inlineData} name={name} {...rest} />\n\t) : (\n\t\t<svg key={`${name}_${category}`} {...rest}>\n\t\t\t<use href={modifiedPath} />\n\t\t</svg>\n\t);\n};\n\nUtilityIcon.displayName = 'UtilityIcon';\n\nUtilityIcon.propTypes = {\n\tassistiveText: PropTypes.object,\n\tcategory: PropTypes.oneOf([\n\t\t'action',\n\t\t'custom',\n\t\t'doctype',\n\t\t'standard',\n\t\t'utility',\n\t]),\n\t/**\n\t * An SVG object to use instead of name / category, look in `design-system-react/icons` for examples\n\t */\n\ticon: PropTypes.object,\n\t/**\n\t * Name of the icon. Visit <a href='http://www.lightningdesignsystem.com/resources/icons'>Lightning Design System Icons</a> to reference icon names.\n\t */\n\tname: PropTypes.string,\n\t/**\n\t * Path to the icon. This will override any global icon settings.\n\t */\n\tpath: PropTypes.string,\n};\n\nUtilityIcon.defaultProps = {\n\tcategory: 'utility',\n};\n\nUtilityIcon.contextTypes = {\n\ticonPath: PropTypes.string,\n\tonRequestIconPath: PropTypes.func,\n\tactionSprite: PropTypes.string,\n\tcustomSprite: PropTypes.string,\n\tdoctypeSprite: PropTypes.string,\n\tstandardSprite: PropTypes.string,\n\tutilitySprite: PropTypes.string,\n};\n\nexport default LanguageDirection(UtilityIcon);\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// ### React\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\n// ### classNames\n// [github.com/JedWatson/classnames](https://github.com/JedWatson/classnames)\n// This project uses `classnames`, \"a simple javascript utility for conditionally\n// joining classNames together.\"\nimport classNames from 'classnames';\n\n// This component's `checkProps` which issues warnings to developers about properties when in development mode (similar to React's built in development tools)\nimport checkProps from './check-props';\n\n// ### Children\nimport SLDSUtilityIcon from '../../utilities/utility-icon';\n\nimport { BUTTON_ICON } from '../../../utilities/constants';\n\n/**\n * This is a non-interactive wrapper component for `UtilityIcon` that specifies button icon classes for an icon inside a `button` tag. Use of this component by itself is not recommended, but should be used as part of other components to obtain the correct styling for icons within buttons. This component only partially implements [Button Icons](http://www.lightningdesignsystem.com/components/button-icons). It does not return a `button` HTML tag. It only returns an icon for use within a button. Assistive text must also be rendered by the parent.\n */\nconst ButtonIcon = (props) => {\n\tcheckProps(BUTTON_ICON, props);\n\n\treturn (\n\t\t<SLDSUtilityIcon\n\t\t\taria-hidden=\"true\"\n\t\t\tcategory={props.category}\n\t\t\tclassName={classNames(\n\t\t\t\t'slds-button__icon',\n\t\t\t\t{\n\t\t\t\t\t[`slds-button__icon_${props.size}`]:\n\t\t\t\t\t\tprops.size && props.size !== 'medium',\n\t\t\t\t\t'slds-button__icon_inverse-hint': props.inverse && props.hint,\n\t\t\t\t\t'slds-button__icon_hint': props.hint && !props.inverse,\n\t\t\t\t\t[`slds-button__icon_${props.position}`]: props.position,\n\t\t\t\t},\n\t\t\t\tprops.className\n\t\t\t)} // iconClassName has been deprecated\n\t\t\ticon={props.icon}\n\t\t\tname={props.name}\n\t\t\tpath={props.path}\n\t\t/>\n\t);\n};\n\nconst propTypes = {\n\t/**\n\t * Icon category from [lightningdesignsystem.com/icons/](https://www.lightningdesignsystem.com/icons/)\n\t */\n\tcategory: PropTypes.oneOf([\n\t\t'action',\n\t\t'custom',\n\t\t'doctype',\n\t\t'standard',\n\t\t'utility',\n\t]).isRequired,\n\t/**\n\t * Associates an icon button with another element on the page by changes the color of the SVG. Please reference <a href=\"http://www.lightningdesignsystem.com/components/buttons/#hint\">Lightning Design System Buttons > Hint</a>.\n\t */\n\thint: PropTypes.bool,\n\t/**\n\t * An SVG object to use instead of name / category, look in `design-system-react/icons` for examples\n\t */\n\ticon: PropTypes.object,\n\t/**\n\t * Class names to be added to the SVG.\n\t */\n\tclassName: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\t/**\n\t * Setting `inverse` to true will switch the color of the icon: light to dark, dark to light.\n\t */\n\tinverse: PropTypes.bool,\n\t/**\n\t * Name of the icon. Visit <a href='http://www.lightningdesignsystem.com/resources/icons'>Lightning Design System Icons</a> to reference icon names.\n\t */\n\tname: PropTypes.string,\n\t/**\n\t * Path to the icon. This will override any global icon settings.\n\t */\n\tpath: PropTypes.string,\n\t/**\n\t * Adds additional spacing on the opposite side specified between button icon and the button label\n\t */\n\tposition: PropTypes.oneOf(['left', 'right']),\n\t/**\n\t * Size of the icon. Visit [lightningdesignsystem.com/components/icons/#flavor-sizes](https://www.lightningdesignsystem.com/components/icons/#flavor-sizes)\n\t */\n\tsize: PropTypes.oneOf(['x-small', 'small', 'medium', 'large']),\n};\n\nconst defaultProps = {\n\tcategory: 'utility',\n\tsize: 'medium',\n};\n\nButtonIcon.displayName = BUTTON_ICON;\nButtonIcon.propTypes = propTypes;\nButtonIcon.defaultProps = defaultProps;\n\nexport default ButtonIcon;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n/* eslint-disable import/no-mutable-exports */\n\nlet getComponentDocFn = function getComponentDocFnEmpty() {};\n\nconst baseURL = 'https://react.lightningdesignsystem.com';\n\nif (process.env.NODE_ENV !== 'production') {\n\tgetComponentDocFn = function getComponentDocFnInside(jsonDoc) {\n\t\tconst componentUrl = `${\n\t\t\tbaseURL +\n\t\t\t(jsonDoc && jsonDoc['url-slug']\n\t\t\t\t? `/components/${jsonDoc['url-slug']}`\n\t\t\t\t: '')\n\t\t}`;\n\t\treturn (propName) =>\n\t\t\t`Please check the current documentation at: ${\n\t\t\t\tpropName ? `${componentUrl}#prop-${propName}` : componentUrl\n\t\t\t}`;\n\t};\n}\n\nexport default getComponentDocFn;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n/* eslint-disable import/no-mutable-exports */\n\n// This function will deliver an error message to the browser console one property is used but not both that are required. Either use neither or both properties.\nimport warning from 'warning';\n\nlet ifOneThenBothRequiredProperty;\n\nif (process.env.NODE_ENV !== 'production') {\n\tconst hasWarned = {};\n\n\tifOneThenBothRequiredProperty = function ifOneThenBothRequiredPropertyFunction(\n\t\tcontrol,\n\t\tprops,\n\t\tselectedProps,\n\t\tcomment\n\t) {\n\t\tconst additionalComment = comment ? ` ${comment}` : '';\n\t\tlet bothOrNoneAreSet = false;\n\t\tconst keys = Object.keys(selectedProps);\n\t\tconst values = keys.map((key) => selectedProps[key]);\n\t\tconst allTruthy = values.every((element) => !!element);\n\t\tconst allFalsey = values.every((element) => !element);\n\n\t\tbothOrNoneAreSet = allTruthy || allFalsey;\n\n\t\tif (!hasWarned[control]) {\n\t\t\t/* eslint-disable max-len */\n\t\t\twarning(\n\t\t\t\tbothOrNoneAreSet,\n\t\t\t\t`[Design System React] If one of the following props are used, then both of the following properties are required by ${control}: [${keys.join()}].${additionalComment}`\n\t\t\t);\n\t\t\t/* eslint-enable max-len */\n\t\t\thasWarned[control] = !!selectedProps;\n\t\t}\n\t};\n} else {\n\tifOneThenBothRequiredProperty = function ifOneThenBothRequiredPropertyFunction() {};\n}\n\nexport default ifOneThenBothRequiredProperty;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n/* eslint-disable import/no-mutable-exports */\n\nimport getComponentDocFn from '../../utilities/get-component-doc';\nimport ifOneThenBothRequiredProperty from '../../utilities/warning/if-one-then-both-required-property';\nimport sunsetProperty from '../../utilities/warning/sunset-property';\n\nlet checkProps = function checkPropsFunction() {};\n\nif (process.env.NODE_ENV !== 'production') {\n\tcheckProps = function checkPropsFunction(COMPONENT, props, jsonDoc) {\n\t\tconst createDocUrl = getComponentDocFn(jsonDoc);\n\n\t\t/* eslint-disable max-len */\n\t\t// If iconName is set, iconCategory must also be set.\n\t\tifOneThenBothRequiredProperty(\n\t\t\tCOMPONENT,\n\t\t\tprops,\n\t\t\t{\n\t\t\t\ticonName: props.iconName,\n\t\t\t\ticonCategory: props.iconCategory,\n\t\t\t},\n\t\t\tcreateDocUrl('iconCategory')\n\t\t);\n\n\t\tif (typeof props.assistiveText === 'string') {\n\t\t\tsunsetProperty(\n\t\t\t\tCOMPONENT,\n\t\t\t\tprops.assistiveText,\n\t\t\t\t'assistiveText',\n\t\t\t\t`\\`assistiveText\\` as a string has been deprecated and is now an object to allow for multiple uses in the component. Please use \\`assistiveText.icon\\` instead. ${createDocUrl(\n\t\t\t\t\t'assistiveText'\n\t\t\t\t)}`\n\t\t\t);\n\t\t}\n\t};\n}\n\nexport default checkProps;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\nimport { Component, Children } from 'react';\nimport PropTypes from 'prop-types';\nimport ReactDOM from 'react-dom';\n\n/*\n * This component mounts its children within a disconnected render tree (portal).\n */\n\nconst documentDefined = typeof document !== 'undefined';\nclass Portal extends Component {\n\tconstructor(props) {\n\t\tsuper(props);\n\t\tthis.portalNode = null;\n\t\tthis.state = {\n\t\t\tisOpen: false,\n\t\t};\n\t}\n\n\tcomponentDidMount() {\n\t\tthis.renderPortal();\n\t}\n\n\tcomponentDidUpdate() {\n\t\tthis.renderPortal();\n\t}\n\n\tcomponentWillUnmount() {\n\t\tthis.unmountPortal();\n\t}\n\n\tgetChildren() {\n\t\treturn Children.only(this.props.children);\n\t}\n\n\tgetPortalParentNode() {\n\t\tlet element;\n\t\tif (typeof this.props.renderTo === 'string') {\n\t\t\telement = document.querySelector(this.props.renderTo);\n\t\t} else {\n\t\t\telement = this.props.renderTo || (documentDefined && document.body);\n\t\t}\n\t\treturn element;\n\t}\n\n\tsetupPortalNode() {\n\t\tconst parentParentNode = this.getPortalParentNode();\n\t\tthis.portalNode = {};\n\n\t\tif (documentDefined) {\n\t\t\tthis.portalNode = document.createElement(this.props.renderTag);\n\t\t\tthis.portalNode.setAttribute(\n\t\t\t\t'style',\n\t\t\t\t'display: block; height: 0px; width: 0px;'\n\t\t\t);\n\t\t\tthis.portalNode.setAttribute('className', 'design-system-react-portal');\n\t\t\tparentParentNode.appendChild(this.portalNode);\n\t\t\tthis.portalNodeInstance = this.props.onMount\n\t\t\t\t? this.props.onMount(undefined, { portal: this.portalNode })\n\t\t\t\t: this.portalNode;\n\t\t}\n\t}\n\n\tunmountPortal() {\n\t\tif (this.portalNode) {\n\t\t\tReactDOM.unmountComponentAtNode(this.portalNode);\n\t\t\tthis.portalNode.parentNode.removeChild(this.portalNode);\n\t\t}\n\t\tthis.portalNode = null;\n\t}\n\n\tupdatePortal() {\n\t\tif (this.props.id) {\n\t\t\tthis.portalNode.id = this.props.id;\n\t\t}\n\n\t\tif (this.props.className) {\n\t\t\tthis.portalNode.className = this.props.className;\n\t\t}\n\n\t\tif (this.props.style) {\n\t\t\tObject.keys(this.props.style).forEach((key) => {\n\t\t\t\tthis.portalNode.style[key] = this.props.style[key];\n\t\t\t});\n\t\t}\n\n\t\tif (this.props.onUpdate) {\n\t\t\tthis.portalNodeInstance = this.props.onUpdate(this.portalNodeInstance);\n\t\t}\n\t}\n\n\trenderPortal() {\n\t\t// if no portal contents, then unmount\n\t\tif (!this.getChildren() || !documentDefined) {\n\t\t\tthis.unmountPortal();\n\t\t\treturn;\n\t\t}\n\n\t\tif (!this.portalNode) {\n\t\t\tthis.setupPortalNode();\n\t\t}\n\n\t\tif (this.props.portalMount) {\n\t\t\tthis.props.portalMount({\n\t\t\t\tinstance: this,\n\t\t\t\treactElement: this.getChildren(),\n\t\t\t\tdomContainerNode: this.portalNode,\n\t\t\t\tupdateCallback: () => {\n\t\t\t\t\tthis.updatePortal(); // update after subtree renders\n\t\t\t\t},\n\t\t\t});\n\t\t} else {\n\t\t\t// actual render\n\t\t\tReactDOM.unstable_renderSubtreeIntoContainer(\n\t\t\t\tthis,\n\t\t\t\tthis.getChildren(),\n\t\t\t\tthis.portalNode,\n\t\t\t\t() => {\n\t\t\t\t\tthis.updatePortal(); // update after subtree renders\n\n\t\t\t\t\tif (this.state.isOpen === false) {\n\t\t\t\t\t\tif (this.props.onOpen) {\n\t\t\t\t\t\t\tthis.props.onOpen(undefined, { portal: this.getChildren() });\n\t\t\t\t\t\t}\n\t\t\t\t\t\tthis.setState({ isOpen: true });\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t);\n\t\t}\n\t}\n\n\trender() {\n\t\treturn null;\n\t}\n}\n\nPortal.displayName = 'Portal';\n\nPortal.propTypes = {\n\t/*\n\t * What tag to use for the portal, defaults to `div`.\n\t */\n\trenderTag: PropTypes.string,\n\t/*\n\t * What node the portal is rendered to, defaults to `document.body`.\n\t */\n\trenderTo: PropTypes.any,\n\t/*\n\t * React id prop.\n\t */\n\tid: PropTypes.string,\n\t/*\n\t * Accepts a _single_ element or component.\n\t */\n\tchildren: PropTypes.node,\n\t/*\n\t * ClassName added to .\n\t */\n\tclassName: PropTypes.any,\n\t/*\n\t * An object of styles that are applied to the portal.\n\t */\n\tstyle: PropTypes.object,\n\t/*\n\t * Triggers when Portal render tree mounts. Pass in an undefined event and `{ portal: [node] }``\n\t */\n\tonMount: PropTypes.func,\n\t/*\n\t * Triggers when the portal is mounted.\n\t */\n\tonOpen: PropTypes.func,\n\t/*\n\t * Triggers when Portal re-renders its tree.\n\t */\n\tonUpdate: PropTypes.func,\n\t/**\n\t * If a dialog is `positione=\"overflowBoundaryElement\"`, it will be rendered in a portal or separate render tree. This `portalMount` callback will be triggered instead of the the default `ReactDOM.unstable_renderSubtreeIntoContainer` and the function will mount the portal itself. Consider the following code that bypasses the internal mount and uses an Enzyme wrapper to mount the React root tree to the DOM.\n\t *\n\t * ```\n\t * <Popover\n\t * isOpen\n\t * portalMount={({ instance, reactElement, domContainerNode }) => {\n\t * portalWrapper = Enzyme.mount(reactElement, { attachTo: domContainerNode });\n\t * }}\n\t * onOpen={() => {\n\t * expect(portalWrapper.find(`#my-heading`)).to.exist;\n\t * done();\n\t * }}\n\t * />\n\t * ```\n\t */\n\tportalMount: PropTypes.func,\n};\n\nPortal.defaultProps = {\n\trenderTag: 'span',\n\trenderTo: null,\n\tonMount: () => null,\n\tonOpen: () => null,\n\tonUpdate: () => null,\n\tonUnmount: () => null,\n};\n\nexport default Portal;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\nconst EventUtil = {\n\ttrapEvent: (event) => {\n\t\tif (!event) return;\n\t\tevent.preventDefault();\n\t\tevent.stopPropagation();\n\t\tif (event.nativeEvent && event.nativeEvent.preventDefault) {\n\t\t\tevent.nativeEvent.preventDefault();\n\t\t}\n\n\t\tif (event.nativeEvent && event.nativeEvent.stopPropagation) {\n\t\t\tevent.nativeEvent.stopPropagation();\n\t\t}\n\t},\n\n\ttrap: (event) => EventUtil.trapEvent(event),\n\n\ttrapImmediate: (event) => {\n\t\tif (event.stopImmediatePropagation) {\n\t\t\tevent.stopImmediatePropagation();\n\t\t}\n\n\t\tif (event.nativeEvent && event.nativeEvent.stopImmediatePropagation) {\n\t\t\tevent.nativeEvent.stopImmediatePropagation();\n\t\t}\n\n\t\tEventUtil.trap(event);\n\t},\n};\n\nexport default EventUtil;\n","const keys = {\n\tENTER: 13,\n\tESCAPE: 27,\n\tSPACE: 32,\n\tLEFT: 37,\n\tUP: 38,\n\tRIGHT: 39,\n\tDOWN: 40,\n\tTAB: 9,\n\tDELETE: 46,\n\tBACKSPACE: 8,\n};\n\n// Helpful for interaction/event tests. Use with simulate:\n// `nodes.input.simulate('keyDown', keyObjects.DOWN);`\nconst keyObjects = {\n\tENTER: { key: 'Enter', keyCode: keys.ENTER, which: keys.ENTER },\n\tESCAPE: { key: 'Escape', keyCode: keys.ESCAPE, which: keys.ESCAPE },\n\tSPACE: { key: 'Space', keyCode: keys.SPACE, which: keys.SPACE },\n\tLEFT: { key: 'Left', keyCode: keys.LEFT, which: keys.LEFT },\n\tUP: { key: 'Up', keyCode: keys.UP, which: keys.ESCAPE },\n\tRIGHT: { key: 'Right', keyCode: keys.RIGHT, which: keys.RIGHT },\n\tDOWN: { key: 'Down', keyCode: keys.DOWN, which: keys.DOWN },\n\tTAB: { key: 'Tab', keyCode: keys.TAB, which: keys.TAB },\n\tDELETE: { key: 'Delete', keyCode: keys.DELETE, which: keys.DELETE },\n\tBACKSPACE: {\n\t\tkey: 'Backspace',\n\t\tkeyCode: keys.BACKSPACE,\n\t\twhich: keys.BACKSPACE,\n\t},\n};\n\nexport default keys;\nexport { keyObjects };\n","/*!\n * Adapted from jQuery UI core\n *\n * http://jqueryui.com\n *\n * Copyright 2014 jQuery Foundation and other contributors\n * Released under the MIT license.\n * http://jquery.org/license\n *\n * http://api.jqueryui.com/category/ui-core/\n */\n\nfunction focusable(element, isTabIndexNotNaN) {\n\tconst nodeName = element.nodeName.toLowerCase();\n\tif (/input|select|textarea|button|object/.test(nodeName)) {\n\t\treturn !element.disabled;\n\t\t// eslint-disable-next-line no-else-return\n\t} else if (nodeName === 'a') {\n\t\treturn element.href || isTabIndexNotNaN;\n\t}\n\treturn isTabIndexNotNaN;\n}\n\nfunction tabbable(element) {\n\tlet tabIndex = element.getAttribute('tabindex');\n\tif (tabIndex === null) tabIndex = undefined;\n\tconst isTabIndexNaN = isNaN(tabIndex);\n\treturn (isTabIndexNaN || tabIndex >= 0) && focusable(element, !isTabIndexNaN);\n}\n\nfunction findTabbableDescendants(element) {\n\treturn [].slice\n\t\t.call(element.querySelectorAll('*'), 0)\n\t\t.filter((el) => tabbable(el));\n}\n\nexport default findTabbableDescendants;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\nconst canUseDOM = !!(\n\ttypeof window !== 'undefined' &&\n\twindow.document &&\n\twindow.document.createElement\n);\nconst canUseEventListeners =\n\tcanUseDOM && Boolean(window.addEventListener || window.attachEvent);\nconst canUseViewport = canUseDOM && Boolean(window.screen);\n\nexport { canUseDOM, canUseEventListeners, canUseViewport };\n","import findTabbableElement from './tabbable';\nimport KEYS from './key-code';\nimport { canUseDOM } from './execution-environment';\n\nlet ancestor = null;\nlet focusLaterElement = null;\n\nconst handleScopedKeyDown = (event) => {\n\tif (!canUseDOM || !ancestor || event.keyCode !== KEYS.TAB) {\n\t\treturn;\n\t}\n\tconst tabbableElements = findTabbableElement(ancestor);\n\tconst finalTabbable =\n\t\ttabbableElements[event.shiftKey ? 0 : tabbableElements.length - 1];\n\tconst leavingFinalTabbable =\n\t\tfinalTabbable === document.activeElement ||\n\t\t// handle immediate shift+tab after opening with mouse\n\t\tancestor === document.activeElement;\n\tif (!leavingFinalTabbable) return;\n\tevent.preventDefault();\n\tconst target =\n\t\ttabbableElements[event.shiftKey ? tabbableElements.length - 1 : 0];\n\ttarget.focus();\n};\n\n// PUBLIC methods\n\nconst ElementFocus = {\n\tfocusAncestor: ({ isPortal }) => {\n\t\tif (canUseDOM) {\n\t\t\t// When a portal is used (that is attaching a separate React mount, such as with Popover) programatic focusing within that portal may cause the window to scroll down to the DOM insertion point at the end of `body`. The following prevents the scrolling from occuring.\n\t\t\tif (isPortal) {\n\t\t\t\tconst offset = window.pageYOffset;\n\t\t\t\tancestor.focus({ preventScroll: true });\n\t\t\t\twindow.scrollTo(window.pageXOffset, offset);\n\t\t\t} else {\n\t\t\t\tancestor.focus();\n\t\t\t}\n\t\t}\n\t},\n\thasOrAncestorHasFocus: () =>\n\t\tcanUseDOM &&\n\t\t(document.activeElement === ancestor ||\n\t\t\tancestor.contains(document.activeElement)),\n\treturnFocusToStoredElement: () => {\n\t\tif (canUseDOM) {\n\t\t\ttry {\n\t\t\t\tfocusLaterElement.focus();\n\t\t\t} catch (e) {\n\t\t\t\t// eslint-disable-next-line no-console\n\t\t\t\tconsole.warn(\n\t\t\t\t\t`You tried to return focus to ${focusLaterElement} but it is not in the DOM anymore`\n\t\t\t\t);\n\t\t\t}\n\t\t\tfocusLaterElement = null;\n\t\t}\n\t},\n\tsetupScopedFocus: ({ ancestorElement }) => {\n\t\tancestor = ancestorElement;\n\t\twindow.addEventListener('keydown', handleScopedKeyDown, false);\n\t},\n\tstoreActiveElement: () => {\n\t\tfocusLaterElement = canUseDOM ? document.activeElement : null;\n\t},\n\tteardownScopedFocus: () => {\n\t\tancestor = null;\n\t\tif (canUseDOM) {\n\t\t\twindow.removeEventListener('keydown', handleScopedKeyDown);\n\t\t}\n\t},\n};\n\nexport default ElementFocus;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\nimport classNames from 'classnames';\nimport { DIRECTIONS } from './../components/utilities/UNSAFE_direction';\n\n// Translates the prop into a string popper can use https://popper.js.org/popper-documentation.html#Popper.placements\nconst mapPropToPopperPlacement = (align, direction) => {\n\tlet placement;\n\tswitch (align) {\n\t\tcase 'top left':\n\t\t\tplacement = 'top-start';\n\t\t\tbreak;\n\t\tcase 'top right':\n\t\t\tplacement = 'top-end';\n\t\t\tbreak;\n\t\tcase 'right top':\n\t\t\tplacement = 'right-start';\n\t\t\tbreak;\n\t\tcase 'right bottom':\n\t\t\tplacement = 'right-end';\n\t\t\tbreak;\n\t\tcase 'bottom left':\n\t\t\tplacement = 'bottom-start';\n\t\t\tbreak;\n\t\tcase 'bottom right':\n\t\t\tplacement = 'bottom-end';\n\t\t\tbreak;\n\t\tcase 'left top':\n\t\t\tplacement = 'left-start';\n\t\t\tbreak;\n\t\tcase 'left bottom':\n\t\t\tplacement = 'left-end';\n\t\t\tbreak;\n\t\tdefault:\n\t\t\tplacement = align;\n\t}\n\tif (direction === DIRECTIONS.RTL) {\n\t\tif (placement.indexOf('left') > -1) {\n\t\t\tplacement = placement.replace('left', 'right');\n\t\t} else if (placement.indexOf('right') > -1) {\n\t\t\tplacement = placement.replace('right', 'left');\n\t\t} else if (placement.indexOf('start') > -1) {\n\t\t\tplacement = placement.replace('start', 'end');\n\t\t} else if (placement.indexOf('end') > -1) {\n\t\t\tplacement = placement.replace('end', 'start');\n\t\t}\n\t}\n\treturn placement;\n};\n\nconst getNubbinClassName = (align, popperData = {}) => {\n\tif (popperData.flipped) {\n\t\treturn classNames({\n\t\t\t'slds-nubbin_top': align === 'top',\n\t\t\t'slds-nubbin_top-left': align === 'top left',\n\t\t\t'slds-nubbin_top-right': align === 'top right',\n\t\t\t'slds-nubbin_bottom': align === 'bottom',\n\t\t\t'slds-nubbin_bottom-left': align === 'bottom left',\n\t\t\t'slds-nubbin_bottom-right': align === 'bottom right',\n\t\t\t'slds-nubbin_left': align === 'left',\n\t\t\t'slds-nubbin_left-bottom': align === 'left bottom',\n\t\t\t'slds-nubbin_left-top': align === 'left top',\n\t\t\t'slds-nubbin_right': align === 'right',\n\t\t\t'slds-nubbin_right-bottom': align === 'right bottom',\n\t\t\t'slds-nubbin_right-top': align === 'right top',\n\t\t});\n\t}\n\n\treturn classNames({\n\t\t'slds-nubbin_top': align === 'bottom',\n\t\t'slds-nubbin_top-left': align === 'bottom left',\n\t\t'slds-nubbin_top-right': align === 'bottom right',\n\t\t'slds-nubbin_bottom': align === 'top',\n\t\t'slds-nubbin_bottom-left': align === 'top left',\n\t\t'slds-nubbin_bottom-right': align === 'top right',\n\t\t'slds-nubbin_left': align === 'right',\n\t\t'slds-nubbin_left-bottom': align === 'right bottom',\n\t\t'slds-nubbin_left-top': align === 'right top',\n\t\t'slds-nubbin_right': align === 'left',\n\t\t'slds-nubbin_right-bottom': align === 'left bottom',\n\t\t'slds-nubbin_right-top': align === 'left top',\n\t});\n};\n\nconst DISTANCE_OFFSET = 1.5; // 'rem'\nconst NUBBIN_SIZE = 1; // 'rem'\nconst ROTATED_HEIGHT = NUBBIN_SIZE / Math.sqrt(2); // 'rem'\n/*\n *\n *\n *\n *\n */\n// FIXME - still need to account for border shadow of 2px. probably only needs to be added to the rotated height.\n// TODO - should we convert all rem to pixels right from the get go? Keep units consistent. Memoize the values for perf?\nconst getNubbinMargins = (popperData = {}) => {\n\tconst { placement } = popperData;\n\n\tlet top = 0;\n\tlet left = 0;\n\n\tconst DISTANCE_OFFSET_PX = 16 * DISTANCE_OFFSET; // FIXME - actually do a real convert based on font size.\n\tconst ROTATED_HEIGHT_PX = 16 * ROTATED_HEIGHT; // FIXME - actually do a real convert based on font size.\n\n\tconst halfWidth = popperData.offsets.reference.width * 0.5;\n\tconst halfHeight = popperData.offsets.reference.height * 0.5;\n\n\tif (placement === 'top') {\n\t\ttop = ROTATED_HEIGHT_PX * -1;\n\t} else if (placement === 'top-end') {\n\t\ttop = ROTATED_HEIGHT_PX * -1;\n\t\tleft = DISTANCE_OFFSET_PX - halfWidth;\n\t} else if (placement === 'top-start') {\n\t\ttop = ROTATED_HEIGHT_PX * -1;\n\t\tleft = halfWidth - DISTANCE_OFFSET_PX;\n\t}\n\n\tif (placement === 'bottom') {\n\t\ttop = ROTATED_HEIGHT_PX;\n\t} else if (placement === 'bottom-end') {\n\t\ttop = ROTATED_HEIGHT_PX;\n\t\tleft = DISTANCE_OFFSET_PX - halfWidth;\n\t} else if (placement === 'bottom-start') {\n\t\ttop = ROTATED_HEIGHT_PX;\n\t\tleft = halfWidth - DISTANCE_OFFSET_PX;\n\t}\n\n\tif (placement === 'right') {\n\t\tleft = ROTATED_HEIGHT_PX;\n\t} else if (placement === 'right-end') {\n\t\tleft = ROTATED_HEIGHT_PX;\n\t\ttop = DISTANCE_OFFSET_PX - halfHeight;\n\t} else if (placement === 'right-start') {\n\t\tleft = ROTATED_HEIGHT_PX;\n\t\ttop = halfHeight - DISTANCE_OFFSET_PX;\n\t}\n\n\tif (placement === 'left') {\n\t\tleft = ROTATED_HEIGHT_PX * -1;\n\t} else if (placement === 'left-end') {\n\t\tleft = ROTATED_HEIGHT_PX * -1;\n\t\ttop = DISTANCE_OFFSET_PX - halfHeight;\n\t} else if (placement === 'left-start') {\n\t\tleft = ROTATED_HEIGHT_PX * -1;\n\t\ttop = halfHeight - DISTANCE_OFFSET_PX;\n\t}\n\n\treturn {\n\t\tleft,\n\t\ttop,\n\t};\n};\n\nexport { getNubbinMargins, getNubbinClassName, mapPropToPopperPlacement };\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\nimport { ICON_SETTINGS } from '../../utilities/constants';\n\n/**\n * The Icon Settings component allows for the path to the icons to be specified in all child components and is recommended to be used at the root of the application. It's render function is `return this.props.children`, so it can only have one child node.\n *\n * **Individual sprites**\n * If you are using webpack it is advised to use the sprite properties\n * {actionSprite, standardSprite...} to specify the individual sprite paths so that webpack can\n * easily re-write the paths.\n * ```\n * import actionSprite from '......';\n *\n * <IconSettings actionSprite={actionSprite} ......>\n * ```\n * **Root icon path**\n * Otherwise use the iconPath to specify the root path to where the icon files will be located in you application\n * such as `/assets/icons`.\n */\nclass IconSettings extends React.Component {\n\tgetChildContext() {\n\t\treturn {\n\t\t\ticonPath: this.props.iconPath,\n\t\t\tonRequestIconPath: this.props.onRequestIconPath,\n\t\t\tactionSprite: this.props.actionSprite,\n\t\t\tcustomSprite: this.props.customSprite,\n\t\t\tdoctypeSprite: this.props.doctypeSprite,\n\t\t\tstandardSprite: this.props.standardSprite,\n\t\t\tutilitySprite: this.props.utilitySprite,\n\t\t};\n\t}\n\n\trender() {\n\t\treturn this.props.children;\n\t}\n}\n\nIconSettings.displayName = ICON_SETTINGS;\n\nIconSettings.childContextTypes = {\n\ticonPath: PropTypes.string,\n\tonRequestIconPath: PropTypes.func,\n\tactionSprite: PropTypes.string,\n\tcustomSprite: PropTypes.string,\n\tdoctypeSprite: PropTypes.string,\n\tstandardSprite: PropTypes.string,\n\tutilitySprite: PropTypes.string,\n};\n\nIconSettings.propTypes = {\n\t/**\n\t * Path to the root icon folder\n\t * example: `/assets/icons`\n\t */\n\ticonPath: PropTypes.string,\n\t/**\n\t * Function to allow developers to return a custom icon path--for instance, on the same page with a local anchor (`#down`). This is helpful for when there are Cross-Origin Resource Sharing (CORS) issues with SVGs that are located on another domain such as a CDN. `({category, name}) => { return \\`#${name}\\` }`\n\t */\n\tonRequestIconPath: PropTypes.func,\n\t/**\n\t * Path to the action sprite\n\t * example: '@salesforce-ux/design-system/assets/icons/action-sprite/svg/symbols.svg';\n\t */\n\tactionSprite: PropTypes.string,\n\t/**\n\t * Path to the custom sprite\n\t * example: '@salesforce-ux/design-system/assets/icons/custom-sprite/svg/symbols.svg';\n\t */\n\tcustomSprite: PropTypes.string,\n\t/**\n\t * Path to the doctype sprite\n\t * example: '@salesforce-ux/design-system/assets/icons/doctype-sprite/svg/symbols.svg';\n\t */\n\tdoctypeSprite: PropTypes.string,\n\t/**\n\t * Path to the standard sprite\n\t * example: '@salesforce-ux/design-system/assets/icons/standard-sprite/svg/symbols.svg';\n\t */\n\tstandardSprite: PropTypes.string,\n\t/**\n\t * Path to the utility sprite\n\t * example: '@salesforce-ux/design-system/assets/icons/utility-sprite/svg/symbols.svg';\n\t */\n\tutilitySprite: PropTypes.string,\n};\n\nexport default IconSettings;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\nimport React from 'react';\n\nimport PropTypes from 'prop-types';\n\nimport Popper from 'popper.js';\nimport isEqual from 'lodash.isequal';\n\n// ### classNames\n// [github.com/JedWatson/classnames](https://github.com/JedWatson/classnames)\n// This project uses `classnames`, \"a simple javascript utility for conditionally\n// joining classNames together.\"\nimport classNames from 'classnames';\n\nimport Portal from './portal';\nimport EventUtil from '../../../utilities/event';\nimport KEYS from '../../../utilities/key-code';\nimport DOMElementFocus from '../../../utilities/dom-element-focus';\nimport {\n\tgetNubbinMargins,\n\tgetNubbinClassName,\n\tmapPropToPopperPlacement,\n} from '../../../utilities/dialog-helpers';\n\nimport { DIALOG } from '../../../utilities/constants';\n\n// #### Dialog doesn't pass down <IconSettings> context so repassing it here.\nimport IconSettings from '../../icon-settings';\n// eslint-disable-next-line camelcase\nimport UNSAFE_DirectionSettings, { DIRECTIONS } from '../UNSAFE_direction';\nimport LanguageDirection from '../UNSAFE_direction/private/language-direction';\n\n/*\n * A Dialog is content that is separate from the typical flow of a page. It typically overlays other elements in the document flow. This is achieved with elevation (`z-index`) and one of the following: relative position, absolute position, or a new top-level React render tree (portal). A boundary element is a scrolling ancestor element or the edge of the browser (window/viewport). This element typically has an overflow (overflow-y/overflow-x) style that is scroll, hidden, or auto. Inverted placement is the flipping of the overlay element from top to bottom or left to right in order stay within a boundary element.\n *\n * * Dropdown menu (Combobox, DatePicker, et al.) placement is typically bottom-aligned and should be allowed to invert its placement when inside a boundary element this often happens within a modal. Dropdowns should not overflow boundary elements , since most boundary elements scroll vertically and have space for the menu.\n *\n * * If they are hidden, left and right placed overlay elements (such as Popover and Tooltip) should be placed within a portal element attached to the DOM <body>, but styled to align to its target/trigger. Since scrolling typically occurs on the vertical axis, this allows them to overflow boundary elements and still allow scrolling of content, yet still invert placement for the browser viewport. Portal elements are only necessary if an original ancestor boundary element exists. **No portals are created by default.**\n *\n * * Nubbins/arrows should be repositioned for any new placement/alignment.\n *\n * Allow Overflowing of Boundary Element: Allow applications to create a portal element attached to the DOM <body> to be outside of boundary elements if manual testing shows confusing alignment/poor usability/readability. This should be exception and not the default.\n *\n * Allow Inverted placement: Allow applications to prevent inverted placement if manual testing shows confusing alignment/poor usability/readability.\n *\n * ### How this new Dialog component works\n * * There is no longer an inline render within components. All overlays should go through `Dialog`. `position: relative` just passes on the markup with some additional event listeners. No positional library is used.\n * * The default `position: absolute` will run through three renders. It will first render the overlay at `0px/0px` offset of its parent. It will then store the target DOM node, once the DOM node is set, a state change will occur and tell a PopperJS instance to be created on update, once it is created, a third render is done to update the styles created by PopperJS.\n * * `position: overflowBoundaryElement` will do the same three renders as `absolute` except that the initial render will create a disconnected render tree (portal) on the `body`. Then, the position will change once the target is stored. The portal itself will be rendered multiple times. The first will result in `onOpen` executing. Each update will result in a re-render of the disconnected render-tree.\n *\n * This component is private.\n */\nclass Dialog extends React.Component {\n\tstatic displayName = DIALOG;\n\n\tstatic propTypes = {\n\t\t/**\n\t\t * Alignment of the dialog with respect to the target (assuming left-to-right language direction). For example,\n\t\t * a value of 'left bottom' indicates that the dialog will be rendered below and left-aligned with the target.\n\t\t * Note that setting the direction prop to \"rtl\" will flip the resulting dialog alignment.\n\t\t */\n\t\talign: PropTypes.oneOf([\n\t\t\t'top',\n\t\t\t'top left',\n\t\t\t'top right',\n\t\t\t'right',\n\t\t\t'right top',\n\t\t\t'right bottom',\n\t\t\t'bottom',\n\t\t\t'bottom left',\n\t\t\t'bottom right',\n\t\t\t'left',\n\t\t\t'left top',\n\t\t\t'left bottom',\n\t\t]),\n\t\t/**\n\t\t * CSS classes to be added to the absolutely positioned element.\n\t\t */\n\t\tclassName: PropTypes.oneOfType([\n\t\t\tPropTypes.array,\n\t\t\tPropTypes.object,\n\t\t\tPropTypes.string,\n\t\t]),\n\t\t/**\n\t\t * CSS classes to be added to the wrapping `div` of the contents of the dialog.\n\t\t */\n\t\tcontentsClassName: PropTypes.oneOfType([\n\t\t\tPropTypes.array,\n\t\t\tPropTypes.object,\n\t\t\tPropTypes.string,\n\t\t]),\n\t\t/**\n\t\t * Contents of dialog\n\t\t */\n\t\tchildren: PropTypes.node.isRequired,\n\t\t/**\n\t\t * Closes dialog when tab key is pressed\n\t\t */\n\t\tcloseOnTabKey: PropTypes.bool,\n\t\t/**\n\t\t * Props passed along to wrapping div. This allows one less wrapping `div` to be in the markup. dialog children are expected to be wrapper in a single `div`.\n\t\t */\n\t\tcontainerProps: PropTypes.object,\n\t\t/**\n\t\t * Establishes directional context for component. Defaults to left-to-right.\n\t\t */\n\t\tdirection: PropTypes.oneOf([DIRECTIONS.LTR, DIRECTIONS.RTL]),\n\t\t/**\n\t\t * Will show the nubbin pointing from the dialog to the reference element. Positioning and offsets will be handled.\n\t\t */\n\t\thasNubbin: PropTypes.bool,\n\t\t/**\n\t\t * By default, dialogs will flip their alignment (such as bottom to top) if they extend beyond a boundary element such as a scrolling parent or a window/viewpoint. `hasStaticAlignment` disables this behavior and allows this component to extend beyond boundary elements.\n\t\t */\n\t\thasStaticAlignment: PropTypes.bool,\n\t\t/**\n\t\t * Sets the dialog width to the width of either 'target' (Menus attached to `input` typically follow this UX pattern), 'menu' or 'none.\n\t\t */\n\t\tinheritWidthOf: PropTypes.oneOf(['target', 'menu', 'none']),\n\t\t/**\n\t\t * DEPRECATED - do not add checkProp deprecation message at this level. It is handled at higher level components.\n\t\t * TODO - to be removed.\n\t\t * Offset adds pixels to the absolutely positioned dropdown menu in the format: ([vertical]px [horizontal]px). SHOULD BE OBJECT -----------\n\t\t */\n\t\toffset: PropTypes.string,\n\t\t/**\n\t\t * Called when dialog closes and unmounts.\n\t\t */\n\t\tonClose: PropTypes.func,\n\t\t/**\n\t\t * Called when a key pressed.\n\t\t */\n\t\tonKeyDown: PropTypes.func,\n\t\t/**\n\t\t * Called when mouse hovers over the trigger button. This is only called if `this.props.openOn` is set to `hover`.\n\t\t */\n\t\tonMouseEnter: PropTypes.func,\n\t\t/**\n\t\t * Called when mouse hover leaves the trigger button. This is only called if `this.props.openOn` is set to `hover`.\n\t\t */\n\t\tonMouseLeave: PropTypes.func,\n\t\t/**\n\t\t * Called when dialog opens (that is mounts). The parameters are `undefined, { portal: this.portal }`.\n\t\t */\n\t\tonOpen: PropTypes.func,\n\t\t/**\n\t\t * React component to be aligned with. Function should return a DOM `ref` from the parent component.\n\t\t */\n\t\tonRequestTargetElement: PropTypes.func.isRequired,\n\t\t/**\n\t\t * Triggered when an item in the menu is clicked.\n\t\t */\n\t\toutsideClickIgnoreClass: PropTypes.string,\n\t\t/**\n\t\t * If a dialog is `positione=\"overflowBoundaryElement\"`, it will be rendered in a portal or separate render tree. This `portalMount` callback will be triggered instead of the the default `ReactDOM.unstable_renderSubtreeIntoContainer` and the function will mount the portal itself. Consider the following code that bypasses the internal mount and uses an Enzyme wrapper to mount the React root tree to the DOM.\n\t\t *\n\t\t * ```\n\t\t * <Popover\n\t\t * isOpen\n\t\t * portalMount={({ instance, reactElement, domContainerNode }) => {\n\t\t * portalWrapper = Enzyme.mount(reactElement, { attachTo: domContainerNode });\n\t\t * }}\n\t\t * onOpen={() => {\n\t\t * expect(portalWrapper.find(`#my-heading`)).to.exist;\n\t\t * done();\n\t\t * }}\n\t\t * />\n\t\t * ```\n\t\t */\n\t\tportalMount: PropTypes.func,\n\t\t/**\n\t\t * Please select one of the following:\n\t\t * * `absolute` - (default) The dialog will use `position: absolute` and style attributes to position itself. This allows inverted placement or flipping of the dialog.\n\t\t * * `overflowBoundaryElement` - The dialog will overflow scrolling parents. Use on elements that are aligned to the left or right of their target and don't care about the target being within a scrolling parent. Typically this is a popover or tooltip. Dropdown menus can usually open up and down if no room exists. In order to achieve this a portal element will be created and attached to `body`. This element will render into that detached render tree.\n\t\t * * `relative` - No styling or portals will be used. Menus will be positioned relative to their triggers. This is a great choice for HTML snapshot testing.\n\t\t */\n\t\tposition: PropTypes.oneOf([\n\t\t\t'absolute',\n\t\t\t'overflowBoundaryElement',\n\t\t\t'relative',\n\t\t]).isRequired,\n\t\t/**\n\t\t * An object of CSS styles that are applied to the immediate parent `div` of the contents. Use this instead of margin props.\n\t\t */\n\t\tstyle: PropTypes.object,\n\n\t\t/**\n\t\t * Sets which focus UX pattern to follow. For instance, popovers trap focus and must be exited to regain focus. Dropdowns and Tooltips never have focus.\n\t\t */\n\t\tvariant: PropTypes.oneOf(['dropdown', 'popover', 'tooltip']),\n\t};\n\n\tstatic defaultProps = {\n\t\talign: 'bottom left',\n\t\tdirection: DIRECTIONS.LTR,\n\t\toffset: '0px 0px',\n\t\toutsideClickIgnoreClass: 'ignore-react-onclickoutside',\n\t};\n\n\tstate = {\n\t\ttriggerPopperJS: false,\n\t\tisOpen: false,\n\t};\n\n\tcomponentDidMount() {\n\t\tif (\n\t\t\tthis.props.position === 'absolute' ||\n\t\t\tthis.props.position === 'relative'\n\t\t) {\n\t\t\tthis.handleOpen();\n\t\t}\n\t}\n\n\t// eslint-disable-next-line camelcase, react/sort-comp\n\tUNSAFE_componentWillUpdate() {\n\t\tif (this.popper) {\n\t\t\tthis.popper.scheduleUpdate();\n\t\t}\n\t}\n\n\tcomponentDidUpdate(prevProps, prevState) {\n\t\tif (\n\t\t\tthis.state.triggerPopperJS === true &&\n\t\t\tprevState.triggerPopperJS === false &&\n\t\t\t(this.props.position === 'absolute' ||\n\t\t\t\tthis.props.position === 'overflowBoundaryElement') &&\n\t\t\tthis.dialogContent &&\n\t\t\tthis.props.onRequestTargetElement()\n\t\t) {\n\t\t\tthis.createPopper();\n\t\t}\n\t}\n\n\tcomponentWillUnmount() {\n\t\tif (this.props.variant === 'popover') {\n\t\t\tDOMElementFocus.teardownScopedFocus();\n\t\t\tDOMElementFocus.returnFocusToStoredElement();\n\t\t}\n\n\t\tif (\n\t\t\tthis.props.position === 'absolute' ||\n\t\t\tthis.props.position === 'overflowBoundaryElement'\n\t\t) {\n\t\t\tthis.destroyPopper();\n\t\t}\n\n\t\tthis.handleClose(undefined, { componentWillUnmount: true });\n\t}\n\n\tgetPropOffsetsInPixels = (offsetString) => {\n\t\tconst offsetArray = offsetString.split(' ');\n\t\treturn {\n\t\t\tvertical: parseInt(offsetArray[0], 10),\n\t\t\thorizontal: parseInt(offsetArray[1], 10),\n\t\t};\n\t};\n\n\tgetPopperStyles = () => {\n\t\tconst { popperData } = this.state;\n\t\tif (!this.popper || !popperData) {\n\t\t\treturn {\n\t\t\t\tposition: 'absolute',\n\t\t\t\tpointerEvents: 'none',\n\t\t\t};\n\t\t}\n\n\t\tconst { position } = popperData.offsets.popper;\n\t\tconst propOffsets = this.getPropOffsetsInPixels(this.props.offset);\n\n\t\t// FIXME before merge - gotta rename from margin to offset\n\t\tconst nubbinOffsets = this.props.hasNubbin\n\t\t\t? getNubbinMargins(this.state.popperData)\n\t\t\t: { left: 0, top: 0 };\n\n\t\tconst left =\n\t\t\tpopperData.offsets.popper.left +\n\t\t\tnubbinOffsets.left +\n\t\t\tpropOffsets.horizontal;\n\t\tconst top =\n\t\t\tpopperData.offsets.popper.top + nubbinOffsets.top + propOffsets.vertical;\n\n\t\t// A Dropdown with overflowBoundaryElement position and 'align=right' uses max-width instead of inherited children width\n\t\tconst right = 'inherit';\n\n\t\treturn {\n\t\t\t...popperData.style,\n\t\t\tleft: isNaN(left) ? 0 : left,\n\t\t\ttop: isNaN(top) ? 0 : top,\n\t\t\tright,\n\t\t\tposition,\n\t\t};\n\t};\n\n\t// Render\n\tsetDialogContent = (component) => {\n\t\tthis.dialogContent = component;\n\t\tif (!this.state.triggerPopperJS) {\n\t\t\tthis.setState({ triggerPopperJS: true });\n\t\t}\n\t};\n\n\t/**\n\t * Events\n\t */\n\thandleClickOutside = () => {\n\t\tthis.handleClose();\n\t};\n\n\thandleClose = (event, data = {}) => {\n\t\tif (!data.componentWillUnmount) {\n\t\t\tthis.setState({ triggerPopperJS: true });\n\t\t}\n\t\tif (this.props.onClose) {\n\t\t\tthis.props.onClose(event, data);\n\t\t}\n\t};\n\n\thandleClick = (event) => {\n\t\tif (event.nativeEvent) {\n\t\t\tevent.nativeEvent.preventDefault();\n\t\t\tevent.nativeEvent.stopPropagation();\n\t\t}\n\t};\n\n\thandleKeyDown = (event) => {\n\t\tif (event.keyCode === KEYS.TAB) {\n\t\t\tif (this.props.closeOnTabKey) {\n\t\t\t\tEventUtil.trap(event);\n\t\t\t\tthis.handleClose(event);\n\t\t\t}\n\t\t}\n\n\t\tif (this.props.onKeyDown) {\n\t\t\tthis.props.onKeyDown(event);\n\t\t}\n\t};\n\n\thandleOpen = () => {\n\t\tif (this.props.variant === 'popover' && this.dialogContent) {\n\t\t\tDOMElementFocus.storeActiveElement();\n\t\t\tDOMElementFocus.setupScopedFocus({\n\t\t\t\tancestorElement: this.dialogContent,\n\t\t\t}); // eslint-disable-line react/no-find-dom-node\n\t\t\t// Don't steal focus from inner elements\n\t\t\tif (!DOMElementFocus.hasOrAncestorHasFocus()) {\n\t\t\t\tDOMElementFocus.focusAncestor({\n\t\t\t\t\tisPortal: this.props.position === 'overflowBoundaryElement',\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\n\t\tif (this.props.onOpen) {\n\t\t\tthis.props.onOpen(undefined, { portal: this.dialogContent });\n\t\t}\n\t};\n\n\t/**\n\t * Popper API and helper functions\n\t */\n\n\tcreatePopper = () => {\n\t\tconst reference = this.props.onRequestTargetElement(); // eslint-disable-line react/no-find-dom-node\n\t\tconst popper = this.dialogContent;\n\t\tconst placement = mapPropToPopperPlacement(\n\t\t\tthis.props.align,\n\t\t\tthis.props.direction\n\t\t);\n\t\tconst eventsEnabled = true; // Lets popper listen to events (resize, scroll, etc.)\n\t\tconst modifiers = {\n\t\t\tapplyStyle: { enabled: false },\n\t\t\t// moves dialog in order to not extend a boundary element such as a scrolling parent or a window/viewpoint.\n\t\t\tpreventOverflow: {\n\t\t\t\tenabled: !this.props.hasStaticAlignment,\n\t\t\t\tboundariesElement:\n\t\t\t\t\tthis.props.position === 'absolute' ? 'scrollParent' : 'viewport',\n\t\t\t},\n\t\t\thide: { enabled: false },\n\t\t\t// By default, dialogs will flip their alignment if they extend beyond a boundary element such as a scrolling parent or a window/viewpoint\n\t\t\tflip: {\n\t\t\t\tenabled: !this.props.hasStaticAlignment,\n\t\t\t},\n\t\t\tremoveOnDestroy: true,\n\t\t\tupdateState: {\n\t\t\t\tenabled: true,\n\t\t\t\torder: 900,\n\t\t\t\tfn: (popperData) => {\n\t\t\t\t\tif (\n\t\t\t\t\t\t(this.state.popperData &&\n\t\t\t\t\t\t\t!isEqual(popperData.offsets, this.state.popperData.offsets)) ||\n\t\t\t\t\t\t!this.state.popperData\n\t\t\t\t\t) {\n\t\t\t\t\t\tthis.setState({ popperData });\n\t\t\t\t\t}\n\t\t\t\t\treturn popperData;\n\t\t\t\t},\n\t\t\t},\n\t\t\t// arrow property can also point to an element\n\t\t};\n\t\tif (!reference) {\n\t\t\tconsole.error('Target node not found!', reference); // eslint-disable-line no-console\n\t\t}\n\t\tif (!popper) {\n\t\t\tconsole.error('Popper node not found!', popper); // eslint-disable-line no-console\n\t\t}\n\t\tthis.popper = new Popper(reference, popper, {\n\t\t\tplacement,\n\t\t\teventsEnabled,\n\t\t\tmodifiers,\n\t\t});\n\n\t\tthis.popper.scheduleUpdate();\n\t};\n\n\tdestroyPopper = () => {\n\t\tif (this.popper) {\n\t\t\tthis.popper.destroy();\n\t\t}\n\t};\n\n\trender() {\n\t\tlet style = {};\n\t\tconst role =\n\t\t\tthis.props.variant === 'popover' ? 'dialog' : this.props.variant;\n\t\tif (\n\t\t\tthis.props.position === 'absolute' ||\n\t\t\tthis.props.position === 'overflowBoundaryElement'\n\t\t) {\n\t\t\tstyle = {\n\t\t\t\t...style,\n\t\t\t\toutline: 0,\n\t\t\t\t...this.getPopperStyles(),\n\t\t\t};\n\t\t}\n\n\t\tif (\n\t\t\tthis.props.inheritWidthOf === 'target' &&\n\t\t\tthis.props.onRequestTargetElement()\n\t\t) {\n\t\t\tstyle.width = this.props\n\t\t\t\t.onRequestTargetElement()\n\t\t\t\t.getBoundingClientRect().width;\n\t\t} else if (\n\t\t\tthis.props.inheritWidthOf === 'menu' &&\n\t\t\tthis.dialogContent &&\n\t\t\tthis.dialogContent.querySelector('.slds-listbox')\n\t\t) {\n\t\t\t// inherit menu renderer width\n\t\t\tstyle.width = this.dialogContent\n\t\t\t\t.querySelector('.slds-listbox')\n\t\t\t\t.getBoundingClientRect().width;\n\t\t}\n\n\t\tstyle = {\n\t\t\t...style,\n\t\t\t...this.props.style,\n\t\t};\n\n\t\tconst outerTag = this.props.variant === 'popover' ? 'section' : 'div';\n\n\t\tconst contents = React.createElement(\n\t\t\touterTag,\n\t\t\t{\n\t\t\t\tclassName:\n\t\t\t\t\tclassNames(\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t'absolute-positioned': this.props.position === 'absolute',\n\t\t\t\t\t\t\t'portal-positioned':\n\t\t\t\t\t\t\t\tthis.props.position === 'overflowBoundaryElement',\n\t\t\t\t\t\t\t[`${this.props.outsideClickIgnoreClass}`]:\n\t\t\t\t\t\t\t\tthis.props.position === 'overflowBoundaryElement',\n\t\t\t\t\t\t},\n\t\t\t\t\t\tthis.props.hasNubbin &&\n\t\t\t\t\t\t\tgetNubbinClassName(this.props.align, this.state.popperData),\n\t\t\t\t\t\tthis.props.contentsClassName\n\t\t\t\t\t) || undefined,\n\n\t\t\t\tstyle,\n\t\t\t\tonMouseDown: this.props.onMouseDown,\n\t\t\t\tonKeyDown: this.handleKeyDown,\n\t\t\t\tonMouseEnter: this.props.onMouseEnter,\n\t\t\t\tonMouseLeave: this.props.onMouseLeave,\n\t\t\t\tref: this.setDialogContent,\n\t\t\t\trole,\n\t\t\t\ttabIndex: this.props.variant === 'popover' ? '-1' : undefined,\n\t\t\t\t...this.props.containerProps,\n\t\t\t},\n\n\t\t\tthis.props.children\n\t\t);\n\n\t\tconst subRenders = {\n\t\t\tabsolute: () => contents,\n\t\t\trelative: () => contents,\n\t\t\toverflowBoundaryElement: () => {\n\t\t\t\t// Cycle through current context, create object of\n\t\t\t\t// truthy values, and pass into Portal's context.\n\n\t\t\t\t// TODO: Add test when switched to `ReactDOM.createPortal`\n\t\t\t\tconst truthyIconSettingsContext = Object.keys(\n\t\t\t\t\tIconSettings.childContextTypes\n\t\t\t\t)\n\t\t\t\t\t.filter((key) => Boolean(this.context[key]))\n\t\t\t\t\t.reduce(\n\t\t\t\t\t\t(accumulatedContext, key) => ({\n\t\t\t\t\t\t\t...accumulatedContext,\n\t\t\t\t\t\t\t...{ [key]: this.context[key] },\n\t\t\t\t\t\t}),\n\t\t\t\t\t\t{}\n\t\t\t\t\t);\n\t\t\t\tconst wrapped = (\n\t\t\t\t\t// eslint-disable-next-line\n\t\t\t\t\t<UNSAFE_DirectionSettings.Provider value={this.props.direction}>\n\t\t\t\t\t\t<IconSettings {...truthyIconSettingsContext}>\n\t\t\t\t\t\t\t{contents}\n\t\t\t\t\t\t</IconSettings>\n\t\t\t\t\t</UNSAFE_DirectionSettings.Provider>\n\t\t\t\t);\n\t\t\t\treturn (\n\t\t\t\t\t<Portal onOpen={this.handleOpen} portalMount={this.props.portalMount}>\n\t\t\t\t\t\t{wrapped}\n\t\t\t\t\t</Portal>\n\t\t\t\t);\n\t\t\t},\n\t\t};\n\n\t\treturn subRenders[this.props.position] && subRenders[this.props.position]();\n\t}\n}\n\nDialog.contextTypes = {\n\ticonPath: PropTypes.string,\n\tonRequestIconPath: PropTypes.func,\n\tactionSprite: PropTypes.string,\n\tcustomSprite: PropTypes.string,\n\tdoctypeSprite: PropTypes.string,\n\tstandardSprite: PropTypes.string,\n\tutilitySprite: PropTypes.string,\n};\n\nexport default LanguageDirection(Dialog);\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n/* eslint-disable import/no-mutable-exports */\n\nimport sunsetProperty from '../../utilities/warning/sunset-property';\nimport getComponentDocFn from '../../utilities/get-component-doc';\n\nlet checkProps = function checkPropsFunction() {};\n\nif (process.env.NODE_ENV !== 'production') {\n\tcheckProps = function checkPropsFunction(COMPONENT, props, jsonDoc) {\n\t\tif (typeof props.assistiveText === 'string') {\n\t\t\tconst createDocUrl = getComponentDocFn(jsonDoc);\n\n\t\t\tsunsetProperty(\n\t\t\t\tCOMPONENT,\n\t\t\t\tprops.assistiveText,\n\t\t\t\t'assistiveText',\n\t\t\t\t`\\`assistiveText\\` as a string has been deprecated and is now an object to allow for multiple uses in the component. Please use \\`assistiveText.label\\` instead. ${createDocUrl(\n\t\t\t\t\t'assistiveText'\n\t\t\t\t)}`\n\t\t\t);\n\t\t}\n\t};\n}\n\nexport default checkProps;\n","// ### classNames\n// [github.com/JedWatson/classnames](https://github.com/JedWatson/classnames)\n// This project uses `classnames`, \"a simple javascript utility for conditionally\n// joining classNames together.\"\nimport classNames from 'classnames';\n\n// eslint-disable-next-line fp/no-rest-parameters\nconst classNamesWrapper = (...rest) => {\n\tconst string = classNames(...rest);\n\treturn string === '' ? undefined : string;\n};\n\nexport default classNamesWrapper;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// # Icon Component\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\nimport checkProps from './check-props';\nimport componentDoc from './component.json';\n\n// ### classNames\n// [github.com/JedWatson/classnames](https://github.com/JedWatson/classnames)\n// A simple javascript utility for conditionally joining classNames together.\nimport classNames from '../../utilities/class-names';\n\n// ## Children\nimport UtilityIcon from '../utilities/utility-icon';\n\nimport IconBackgrounds from '../../utilities/product-tokens/icon-backgrounds';\n\nimport { ICON } from '../../utilities/constants';\n\nconst defaultProps = {\n\tassistiveText: {},\n\tcategory: 'standard',\n\tcolorVariant: 'default',\n\tsize: 'medium',\n};\n\n/**\n * The Icon component is the Lightning Design System Icon component and should be used for naked icons. For icons that are buttons, use the <a href='/components/buttons/'>Button component</a> component with <code>variant='icon'</code>.\n */\nconst Icon = (props) => {\n\tcheckProps(ICON, props, componentDoc);\n\tconst {\n\t\tcategory,\n\t\tclassName,\n\t\tcolorVariant,\n\t\tcontainerClassName,\n\t\tcontainerStyle,\n\t\ticon,\n\t\tinverse,\n\t\tname,\n\t\tpath,\n\t\tsize,\n\t\ttitle,\n\t\tproductTheme,\n\t} = props;\n\n\tlet { style } = props;\n\tif (productTheme) {\n\t\tstyle = { backgroundColor: IconBackgrounds[productTheme], ...style };\n\t}\n\tconst assistiveText =\n\t\ttypeof props.assistiveText === 'string'\n\t\t\t? props.assistiveText\n\t\t\t: {\n\t\t\t\t\t...defaultProps.assistiveText,\n\t\t\t\t\t...props.assistiveText,\n\t\t\t }.label;\n\n\tconst kababCaseName = name ? name.replace(/_/g, '-') : '';\n\n\treturn (\n\t\t<span\n\t\t\tclassName={classNames(\n\t\t\t\t{\n\t\t\t\t\t'slds-icon_container': category !== 'utility',\n\t\t\t\t\t'slds-icon_container_circle': category === 'action',\n\t\t\t\t\t[`slds-icon-${category}-${kababCaseName}`]:\n\t\t\t\t\t\tcategory !== 'utility' && category !== 'doctype' && !path,\n\t\t\t\t},\n\t\t\t\tcontainerClassName\n\t\t\t)}\n\t\t\tstyle={containerStyle}\n\t\t\ttitle={title}\n\t\t>\n\t\t\t<UtilityIcon\n\t\t\t\taria-hidden=\"true\"\n\t\t\t\tcategory={category}\n\t\t\t\tclassName={classNames(className, 'slds-icon', {\n\t\t\t\t\t'slds-icon_xx-small': size === 'xx-small',\n\t\t\t\t\t'slds-icon_x-small': size === 'x-small',\n\t\t\t\t\t'slds-icon_small': size === 'small',\n\t\t\t\t\t// medium intentially not present\n\t\t\t\t\t'slds-icon_large': size === 'large',\n\t\t\t\t\t// if category is `utility` and `inverse` is false (default), icon will be dark // return true\n\t\t\t\t\t// if category is `utility` and `inverse` is true, icon will be light // return false\n\t\t\t\t\t// if category is NOT `utility` and `inverse` is false (default), icon will be light // return false\n\t\t\t\t\t// if category is NOT `utility` and `inverse` is true, icon will be dark // return true\n\t\t\t\t\t'slds-icon-text-default':\n\t\t\t\t\t\tcolorVariant === 'default' && category === 'utility'\n\t\t\t\t\t\t\t? !inverse\n\t\t\t\t\t\t\t: inverse,\n\t\t\t\t\t'slds-icon-text-warning': colorVariant === 'warning',\n\t\t\t\t\t'slds-icon-text-error': colorVariant === 'error',\n\t\t\t\t\t'slds-icon-text-light': colorVariant === 'light',\n\t\t\t\t})}\n\t\t\t\ticon={icon}\n\t\t\t\tname={name}\n\t\t\t\tpath={path}\n\t\t\t\tstyle={style}\n\t\t\t/>\n\t\t\t{assistiveText ? (\n\t\t\t\t<span className=\"slds-assistive-text\">{assistiveText}</span>\n\t\t\t) : (\n\t\t\t\t''\n\t\t\t)}\n\t\t</span>\n\t);\n};\n\n// ### Display Name\n// Always use the canonical component name as the React display name.\nIcon.displayName = ICON;\n\n// ### Prop Types\nIcon.propTypes = {\n\t/**\n\t * **Assistive text for accessibility.**\n\t * This object is merged with the default props object on every render.\n\t * * `label`: Text that is visually hidden but read aloud by screenreaders to tell the user what the icon means. Naked icons must have assistive text, however, if you also have visible descriptive text with the icon, declare this prop as <code>assistiveText=''</code>.\n\t */\n\tassistiveText: PropTypes.shape({\n\t\tlabel: PropTypes.string,\n\t}),\n\t/**\n\t * Icon category from [lightningdesignsystem.com/icons/](https://www.lightningdesignsystem.com/icons/)\n\t */\n\tcategory: PropTypes.oneOf([\n\t\t'action',\n\t\t'custom',\n\t\t'doctype',\n\t\t'standard',\n\t\t'utility',\n\t]).isRequired,\n\t/**\n\t * CSS classes that are applied to the SVG.\n\t */\n\tclassName: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\t/**\n\t * CSS classes that are applied to the span.\n\t */\n\tcontainerClassName: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\t/**\n\t * Styles that are applied to the span.\n\t */\n\tcontainerStyle: PropTypes.object,\n\t/**\n\t * Icon color variants\n\t */\n\tcolorVariant: PropTypes.oneOf([\n\t\t'base',\n\t\t'default',\n\t\t'error',\n\t\t'light',\n\t\t'warning',\n\t]),\n\t/**\n\t * A custom SVG object to use instead of the supplied SLDS icons, look in `design-system-react/icons` for examples and syntax.\n\t */\n\ticon: PropTypes.object,\n\t/**\n\t * Setting `inverse` to true will switch the color of the icon: light to dark, dark to light.\n\t */\n\tinverse: PropTypes.bool,\n\t/**\n\t * Name of the icon. Visit <a href='http://www.lightningdesignsystem.com/resources/icons'>Lightning Design System Icons</a> to reference icon names.\n\t */\n\tname: PropTypes.string,\n\t/**\n\t * Path to the icon. This will override any global icon settings\n\t */\n\tpath: PropTypes.string,\n\t/**\n\t * Background theme color for the icon. **Only compatible with icon category `standard`**\n\t */\n\tproductTheme: PropTypes.oneOf([\n\t\t'global-setup',\n\t\t'service-cloud',\n\t\t'industry-cloud',\n\t\t'sales-cloud',\n\t\t'commerce-cloud',\n\t\t'community-cloud',\n\t\t'marketing-cloud',\n\t\t'quip',\n\t]),\n\t/**\n\t * Size of the icon. Visit [lightningdesignsystem.com/components/icons/#flavor-sizes](https://www.lightningdesignsystem.com/components/icons/#flavor-sizes)\n\t */\n\tsize: PropTypes.oneOf(['xx-small', 'x-small', 'small', 'medium', 'large']),\n\t/**\n\t * Custom styles to be passed to the SVG. Could be used to change icon or background color.\n\t */\n\tstyle: PropTypes.object,\n\t/**\n\t * Title attribute for the icon container\n\t */\n\ttitle: PropTypes.string,\n};\n\nIcon.defaultProps = defaultProps;\n\nexport default Icon;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n/* eslint-disable import/no-mutable-exports */\n\n// This function will deliver an error message to the browser console about the removal of a property.\nimport warning from 'warning';\n\nlet deprecated = function deprecatedFunction() {};\n\nif (process.env.NODE_ENV !== 'production') {\n\tconst hasWarned = {};\n\n\tdeprecated = function deprecatedFunction(\n\t\tcontrol,\n\t\tpropValue,\n\t\toldProp,\n\t\tnewProp,\n\t\tcomment,\n\t\tsilenceDeprecatedPropertyWarning\n\t) {\n\t\tconst additionalComment = comment ? ` ${comment}` : '';\n\t\tconst newProperty = newProp ? `Use \\`${newProp}\\`` : '';\n\t\tconst newPropertySentence = newProp ? ` ${newProperty} instead.` : '';\n\t\tif (!silenceDeprecatedPropertyWarning && !hasWarned[control + oldProp]) {\n\t\t\t/* eslint-disable max-len */\n\t\t\twarning(\n\t\t\t\tpropValue === undefined,\n\t\t\t\t`[Design System React] \\`${oldProp}\\` will be removed in the next major version of ${control}.${newPropertySentence}${additionalComment}`\n\t\t\t);\n\t\t\t/* eslint-enable max-len */\n\t\t\thasWarned[control + oldProp] = propValue !== undefined;\n\t\t}\n\t};\n}\n\nexport default deprecated;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n/* eslint-disable import/no-mutable-exports */\n/* eslint-disable max-len */\n\n// This function will deliver an error message to the browser console about the future of a removal and moving of a property's valid value to another prop. This makes the most sense to be used with `oneOf` prop types.\nimport warning from 'warning';\n\nlet deprecated = function deprecatedFunction() {};\n\nif (process.env.NODE_ENV !== 'production') {\n\tconst hasWarned = {};\n\n\tdeprecated = function deprecatedFunction(\n\t\tcontrol,\n\t\t{\n\t\t\tpropAsString, // key name of prop being warned about\n\t\t\tpropValue, // actual value of prop being warned about\n\t\t\tdeprecatedPropValue, // value that is being deprecated\n\t\t\treplacementPropAsString, // prop that value is being moved to\n\t\t\treplacementPropAsValue, // value that should be used in new prop\n\t\t\tlog, // log function that will disable console warning and pipe to another function log({ message })\n\t\t},\n\t\tcomment\n\t) {\n\t\tconst additionalComment = comment ? ` ${comment}` : '';\n\t\tconst warnOnFirstOccurrenceKey =\n\t\t\tcontrol + propAsString + deprecatedPropValue;\n\t\tconst triggerWarning = propValue === deprecatedPropValue;\n\t\tconst replacementSentence =\n\t\t\tdeprecatedPropValue && replacementPropAsString && replacementPropAsValue\n\t\t\t\t? ` Replace \\`${propAsString}=\"${deprecatedPropValue}\"\\` with \\`${replacementPropAsString}=\"${replacementPropAsValue}\"\\`.`\n\t\t\t\t: '';\n\n\t\tif (!hasWarned[warnOnFirstOccurrenceKey]) {\n\t\t\tconst message = `[Design System React] The value of \\`${deprecatedPropValue}\\`, for prop \\`${propAsString}\\` will be removed in the next major version of ${control}. Please update your props.${replacementSentence}${additionalComment}`;\n\n\t\t\tif (triggerWarning && log) {\n\t\t\t\tlog({ message });\n\t\t\t} else {\n\t\t\t\twarning(\n\t\t\t\t\t!triggerWarning, // false value triggers warning\n\t\t\t\t\tmessage\n\t\t\t\t);\n\t\t\t}\n\t\t\t// store global flag to limit warnings to first issue\n\t\t\thasWarned[warnOnFirstOccurrenceKey] = triggerWarning;\n\t\t}\n\t};\n}\n\nexport default deprecated;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n/* eslint-disable import/no-mutable-exports */\n\n// This function will deliver an error message to the browser console about the removal of a property.\nimport warning from 'warning';\n\nimport {\n\tBUTTON,\n\tBUTTON_STATEFUL,\n\tBUTTON_GROUP,\n\tCHECKBOX,\n\tDATE_PICKER,\n\tINPUT,\n\tLOOKUP,\n\tMENU_DROPDOWN,\n\tTIME_PICKER,\n} from '../../utilities/constants';\n\n/* eslint-disable import/no-mutable-exports */\n\nlet isTriggerTabbable = function isTriggerTabbableFunction() {};\n\nif (process.env.NODE_ENV !== 'production') {\n\tconst hasWarned = {};\n\n\tisTriggerTabbable = function isTriggerTabbableFunction(\n\t\tCOMPONENT,\n\t\ttrigger,\n\t\tcomment,\n\t\tsilenceTriggerTabbableWarning\n\t) {\n\t\tconst additionalComment = comment ? ` ${comment}` : '';\n\t\tconst childTabIndex = trigger.props.tabIndex;\n\t\tlet elementIsTabbable = true;\n\n\t\tif (\n\t\t\t// Silencing prop for special cases\n\t\t\t!silenceTriggerTabbableWarning &&\n\t\t\t// List of \"native\" HTML elements that are tabbable by default\n\t\t\ttrigger.type !== 'button' &&\n\t\t\ttrigger.type !== 'input' &&\n\t\t\ttrigger.type !== 'select' &&\n\t\t\ttrigger.type !== 'textarea' &&\n\t\t\ttrigger.type !== 'a' &&\n\t\t\t// List of components that are tabbable by default\n\t\t\ttrigger.type.displayName !== BUTTON &&\n\t\t\ttrigger.type.displayName !== BUTTON_STATEFUL &&\n\t\t\ttrigger.type.displayName !== BUTTON_GROUP &&\n\t\t\ttrigger.type.displayName !== CHECKBOX &&\n\t\t\ttrigger.type.displayName !== DATE_PICKER &&\n\t\t\ttrigger.type.displayName !== INPUT &&\n\t\t\ttrigger.type.displayName !== LOOKUP &&\n\t\t\ttrigger.type.displayName !== MENU_DROPDOWN &&\n\t\t\ttrigger.type.displayName !== TIME_PICKER\n\t\t) {\n\t\t\t// if it's not one of the above, then check to see if it has a tabIndex\n\t\t\tif (childTabIndex === '-1' || childTabIndex === undefined) {\n\t\t\t\telementIsTabbable = false;\n\t\t\t\tif (!hasWarned[COMPONENT]) {\n\t\t\t\t\t/* eslint-disable max-len */\n\t\t\t\t\twarning(\n\t\t\t\t\t\telementIsTabbable,\n\t\t\t\t\t\t`[Design System React] The element that triggers ${COMPONENT} must be tabbable for keyboard users. Elements such as anchor, button, input or a DOM element with tabIndex=\"0\" specified are tabbable. ${additionalComment}`\n\t\t\t\t\t);\n\t\t\t\t\t/* eslint-enable max-len */\n\t\t\t\t\thasWarned[COMPONENT] = !!elementIsTabbable;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t};\n}\n\nexport default isTriggerTabbable;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n/* eslint-disable import/no-mutable-exports */\n\nimport React from 'react';\n\nimport deprecatedProperty from '../../utilities/warning/deprecated-property';\nimport deprecatedPropertyValue from '../../utilities/warning/deprecated-property-value';\nimport isTriggerTabbable from '../../utilities/warning/is-trigger-tabbable';\nimport getComponentDocFn from '../../utilities/get-component-doc';\n\nlet checkProps = function checkPropsFunction() {};\n\nif (process.env.NODE_ENV !== 'production') {\n\tcheckProps = function checkPropsFunction(COMPONENT, props, jsonDoc) {\n\t\tconst createDocUrl = getComponentDocFn(jsonDoc);\n\n\t\tif (\n\t\t\tprops.variant === 'base' &&\n\t\t\tReact.Children.count(props.children) !== 0\n\t\t) {\n\t\t\tisTriggerTabbable(\n\t\t\t\tCOMPONENT,\n\t\t\t\tprops.children,\n\t\t\t\tcreateDocUrl(),\n\t\t\t\tprops.silenceTriggerTabbableWarning\n\t\t\t);\n\t\t}\n\n\t\t// Deprecated and changed to another property\n\t\tdeprecatedPropertyValue(\n\t\t\tCOMPONENT,\n\t\t\t{\n\t\t\t\tpropAsString: 'variant',\n\t\t\t\tpropValue: props.variant,\n\t\t\t\tdeprecatedPropValue: 'info',\n\t\t\t\treplacementPropAsString: 'theme',\n\t\t\t\treplacementPropAsValue: 'info',\n\t\t\t},\n\t\t\tcreateDocUrl('theme')\n\t\t);\n\t\tdeprecatedPropertyValue(\n\t\t\tCOMPONENT,\n\t\t\t{\n\t\t\t\tpropAsString: 'variant',\n\t\t\t\tpropValue: props.variant,\n\t\t\t\tdeprecatedPropValue: 'error',\n\t\t\t\treplacementPropAsString: 'theme',\n\t\t\t\treplacementPropAsValue: 'error',\n\t\t\t},\n\t\t\tcreateDocUrl('theme')\n\t\t);\n\t\tdeprecatedProperty(\n\t\t\tCOMPONENT,\n\t\t\tprops.openByDefault,\n\t\t\t'openByDefault',\n\t\t\t'isOpen',\n\t\t\tcreateDocUrl('isOpen')\n\t\t);\n\t\tdeprecatedProperty(\n\t\t\tCOMPONENT,\n\t\t\tprops.target,\n\t\t\t'target',\n\t\t\tundefined,\n\t\t\t`A new positioning library is being implmented under the hood. Please trigger tooltips to appear on their triggers with \\`isOpen\\` and not on other DOM elements. ${createDocUrl(\n\t\t\t\t'isOpen'\n\t\t\t)}` // eslint-disable-line max-len\n\t\t);\n\n\t\tdeprecatedProperty(\n\t\t\tCOMPONENT,\n\t\t\tprops.isInline,\n\t\t\t'isInline',\n\t\t\t'position=\"relative\"',\n\t\t\tcreateDocUrl('position')\n\t\t);\n\t};\n}\n\nexport default checkProps;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// # Tooltip\n\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\nimport classNames from 'classnames';\n\n// ### shortid\n// [npmjs.com/package/shortid](https://www.npmjs.com/package/shortid)\n// shortid is a short, non-sequential, url-friendly, unique id generator\nimport shortid from 'shortid';\n\nimport { POPOVER_TOOLTIP } from '../../utilities/constants';\n\nimport Dialog from '../utilities/dialog';\nimport Icon from '../icon';\n// eslint-disable-next-line import/no-cycle\nimport Button from '../button';\n\n// This component's `checkProps` which issues warnings to developers about properties when in development mode (similar to React's built in development tools)\nimport checkProps from './check-props';\nimport componentDoc from './component.json';\n\n// ### Display Name\n// Always use the canonical component name as the React display name.\nconst displayName = POPOVER_TOOLTIP;\n\nconst propTypes = {\n\t/**\n\t * Alignment of the Tooltip relative to the element that triggers it.\n\t */\n\talign: PropTypes.oneOf([\n\t\t'top',\n\t\t'top left',\n\t\t'top right',\n\t\t'right',\n\t\t'right top',\n\t\t'right bottom',\n\t\t'bottom',\n\t\t'bottom left',\n\t\t'bottom right',\n\t\t'left',\n\t\t'left top',\n\t\t'left bottom',\n\t]).isRequired,\n\t/**\n\t * **Assistive text for accessibility**\n\t * This object is merged with the default props object on every render.\n\t * * `tooltipTipLearnMoreIcon`: This text is inside the info icon within the tooltip content and exists to \"complete the sentence\" for assistive tech users.\n\t * * `triggerLearnMoreIcon`: This text is inside the info icon that triggers the tooltip in order to have text within the link.\n\t */\n\tassistiveText: PropTypes.shape({\n\t\ttooltipTipLearnMoreIcon: PropTypes.string,\n\t\ttriggerLearnMoreIcon: PropTypes.string,\n\t}),\n\t/**\n\t * Pass the one element that triggers the Tooltip as a child. It must be an element with `tabIndex` or an element that already has a `tabIndex` set such as an anchor or a button, so that keyboard users can tab to it.\n\t */\n\tchildren: PropTypes.node,\n\t/**\n\t * Content inside Tooltip.\n\t */\n\tcontent: PropTypes.node.isRequired,\n\t/**\n\t * CSS classes to be added to the popover dialog. That is the element with `.slds-popover` on it.\n\t */\n\tdialogClassName: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\t/**\n\t * Enabling this hides the default nubbin, replacing it with one attached directly to the tooltip trigger. Note: `hasStaticAlignment` should be set to `true` if using this feature as auto-flipping anchored nubbins are not currently supported.\n\t */\n\thasAnchoredNubbin: PropTypes.bool,\n\t/**\n\t * By default, dialogs will flip their alignment (such as bottom to top) if they extend beyond a boundary element such as a scrolling parent or a window/viewpoint. `hasStaticAlignment` disables this behavior and allows this component to extend beyond boundary elements. _Not tested._\n\t */\n\thasStaticAlignment: PropTypes.bool,\n\t/**\n\t * Delay on Tooltip closing in milliseconds. Defaults to 50\n\t */\n\thoverCloseDelay: PropTypes.number,\n\t/**\n\t * Delay on Tooltip opening in milliseconds. Defaults to 0\n\t */\n\thoverOpenDelay: PropTypes.number,\n\t/**\n\t * A unique ID is needed in order to support keyboard navigation, ARIA support, and connect the popover to the triggering element.\n\t */\n\tid: PropTypes.string,\n\t/**\n\t * **Text labels for internationalization**\n\t * This object is merged with the default props object on every render.\n\t * * `learnMoreAfter`: This label appears in the tooltip after the info icon.\n\t * * `learnMoreBefore`: This label appears in the tooltip before the info icon.\n\t */\n\tlabels: PropTypes.shape({\n\t\tlearnMoreAfter: PropTypes.string,\n\t\tlearnMoreBefore: PropTypes.string,\n\t}),\n\t/**\n\t * Forces tooltip to be open. A value of `false` will disable any interaction with the tooltip.\n\t */\n\tisOpen: PropTypes.bool,\n\t/**\n\t * Callback that returns an element or React `ref` to align the Tooltip with.\n\t */\n\tonRequestTargetElement: PropTypes.func,\n\t/**\n\t * CSS classes to be added to tag with `slds-tooltip-trigger`.\n\t */\n\ttriggerClassName: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\t/**\n\t * Please select one of the following:\n\t * * `absolute` - (default) The dialog will use `position: absolute` and style attributes to position itself. This allows inverted placement or flipping of the dialog.\n\t * * `overflowBoundaryElement` - The dialog will overflow scrolling parents. Use on elements that are aligned to the left or right of their target and don't care about the target being within a scrolling parent. Typically this is a popover or tooltip. Dropdown menus can usually open up and down if no room exists. In order to achieve this a portal element will be created and attached to `body`. This element will render into that detached render tree.\n\t * * `relative` - No styling or portals will be used. Menus will be positioned relative to their triggers. This is a great choice for HTML snapshot testing.\n\t */\n\tposition: PropTypes.oneOf([\n\t\t'absolute',\n\t\t'overflowBoundaryElement',\n\t\t'relative',\n\t]),\n\t/**\n\t * Custom styles to be added to wrapping triggering `div`.\n\t */\n\ttriggerStyle: PropTypes.object,\n\t/**\n\t * Determines the theme of tooltip: for informative purpose (blue background) or warning purpose (red background). This used to be `variant`.\n\t */\n\ttheme: PropTypes.oneOf(['info', 'error']),\n\t/**\n\t * Determines the type of the tooltip.\n\t */\n\tvariant: PropTypes.oneOf(['base', 'learnMore', 'list-item']),\n};\n\nconst defaultProps = {\n\tassistiveText: {\n\t\ttooltipTipLearnMoreIcon: 'this link',\n\t\ttriggerLearnMoreIcon: 'Help',\n\t},\n\talign: 'top',\n\t// eslint-disable-next-line react/jsx-curly-brace-presence\n\tcontent: <span>{'Tooltip'}</span>,\n\tlabels: {\n\t\tlearnMoreAfter: 'to learn more.',\n\t\tlearnMoreBefore: 'Click',\n\t},\n\thoverCloseDelay: 50,\n\thoverOpenDelay: 0,\n\tposition: 'absolute',\n\ttheme: 'info',\n\tvariant: 'base',\n};\n\n/**\n * The PopoverTooltip component is variant of the Lightning Design System Popover component. This component wraps an element that triggers it to open. It must be a focusable child element (either a button or an anchor), so that keyboard users can navigate to it.\n */\nclass Tooltip extends React.Component {\n\tconstructor(props) {\n\t\tsuper(props);\n\n\t\tthis.state = {\n\t\t\tisOpen: false,\n\t\t};\n\n\t\tthis.tooltipTimeout = {};\n\n\t\t// `checkProps` issues warnings to developers about properties (similar to React's built in development tools)\n\t\tcheckProps(POPOVER_TOOLTIP, props, componentDoc);\n\n\t\tthis.generatedId = shortid.generate();\n\t}\n\n\tcomponentWillUnmount() {\n\t\tthis.isUnmounting = true;\n\t}\n\n\tgetAnchoredNubbinStyles() {\n\t\tif (this.props.hasAnchoredNubbin) {\n\t\t\tconst alignment = this.props.align.split(' ')[0];\n\t\t\tconst nubbinContainerStyles = {\n\t\t\t\theight: '0',\n\t\t\t\tposition: 'relative',\n\t\t\t\twidth: '0',\n\t\t\t};\n\t\t\tconst nubbinStyles = {\n\t\t\t\tbackgroundColor: '#16325c',\n\t\t\t\tcontent: '',\n\t\t\t\theight: '1rem',\n\t\t\t\tposition: 'absolute',\n\t\t\t\ttransform: 'rotate(45deg)',\n\t\t\t\twidth: '1rem',\n\t\t\t};\n\t\t\tconst triggerDimensions = {\n\t\t\t\theight: this.trigger ? this.trigger.getBoundingClientRect().height : 0,\n\t\t\t\twidth: this.trigger ? this.trigger.getBoundingClientRect().width : 0,\n\t\t\t};\n\n\t\t\tswitch (alignment) {\n\t\t\t\tcase 'bottom': {\n\t\t\t\t\tnubbinContainerStyles.left = `${triggerDimensions.width / 2}px`;\n\t\t\t\t\tnubbinContainerStyles.top = `${triggerDimensions.height}px`;\n\t\t\t\t\tnubbinStyles.left = '-8px';\n\t\t\t\t\tnubbinStyles.top = '3px';\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t\tcase 'left': {\n\t\t\t\t\tnubbinContainerStyles.left = '0';\n\t\t\t\t\tnubbinContainerStyles.top = `${triggerDimensions.height / 2}px`;\n\t\t\t\t\tnubbinStyles.left = '-19px';\n\t\t\t\t\tnubbinStyles.top = '-9px';\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t\tcase 'right': {\n\t\t\t\t\tnubbinContainerStyles.left = `${triggerDimensions.width}px`;\n\t\t\t\t\tnubbinContainerStyles.top = `${triggerDimensions.height / 2}px`;\n\t\t\t\t\tnubbinStyles.left = '3px';\n\t\t\t\t\tnubbinStyles.top = '-9px';\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t\tdefault: {\n\t\t\t\t\tnubbinContainerStyles.left = `${triggerDimensions.width / 2}px`;\n\t\t\t\t\tnubbinContainerStyles.top = '0';\n\t\t\t\t\tnubbinStyles.left = '-8px';\n\t\t\t\t\tnubbinStyles.top = '-19px';\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn (\n\t\t\t\t<React.Fragment>\n\t\t\t\t\t<style>{`#${this.getId()}:after, #${this.getId()}:before {\n\tdisplay: none;\n}`}</style>\n\t\t\t\t\t{this.getIsOpen() ? (\n\t\t\t\t\t\t<div style={nubbinContainerStyles}>\n\t\t\t\t\t\t\t<div style={nubbinStyles} />\n\t\t\t\t\t\t</div>\n\t\t\t\t\t) : null}\n\t\t\t\t</React.Fragment>\n\t\t\t);\n\t\t}\n\n\t\treturn null;\n\t}\n\n\tgetContent() {\n\t\tlet children;\n\t\tconst noChildrenProvided = React.Children.count(this.props.children) === 0;\n\n\t\tif (noChildrenProvided && this.props.onClickTrigger) {\n\t\t\tchildren = [\n\t\t\t\t<a href=\"javascript:void(0)\" onClick={this.props.onClickTrigger}>\n\t\t\t\t\t<Icon\n\t\t\t\t\t\tcategory=\"utility\"\n\t\t\t\t\t\tname=\"info\"\n\t\t\t\t\t\tassistiveText={{\n\t\t\t\t\t\t\tlabel: this.props.assistiveText.triggerLearnMoreIcon,\n\t\t\t\t\t\t}}\n\t\t\t\t\t\tsize=\"x-small\"\n\t\t\t\t\t/>\n\t\t\t\t</a>,\n\t\t\t];\n\t\t} else if (noChildrenProvided) {\n\t\t\tchildren = [\n\t\t\t\t<Button\n\t\t\t\t\taria-disabled\n\t\t\t\t\tassistiveText={{\n\t\t\t\t\t\ticon: this.props.assistiveText.triggerLearnMoreIcon,\n\t\t\t\t\t}}\n\t\t\t\t\ticonCategory=\"utility\"\n\t\t\t\t\ticonName=\"info\"\n\t\t\t\t\tvariant=\"icon\"\n\t\t\t\t/>,\n\t\t\t];\n\t\t} else {\n\t\t\t// eslint-disable-next-line prefer-destructuring\n\t\t\tchildren = this.props.children;\n\t\t}\n\n\t\treturn React.Children.map(children, (child, i) =>\n\t\t\tReact.cloneElement(child, {\n\t\t\t\tkey: i, // eslint-disable-line react/no-array-index-key\n\t\t\t\t'aria-describedby': this.getIsOpen() ? this.getId() : undefined,\n\t\t\t\tonBlur: this.handleMouseLeave,\n\t\t\t\tonFocus: this.handleMouseEnter,\n\t\t\t\tonMouseEnter: this.handleMouseEnter,\n\t\t\t\tonMouseLeave: this.handleMouseLeave,\n\t\t\t})\n\t\t);\n\t}\n\n\tgetId() {\n\t\treturn this.props.id || this.generatedId;\n\t}\n\n\tgetIsOpen() {\n\t\treturn this.props.isOpen === undefined\n\t\t\t? this.state.isOpen\n\t\t\t: this.props.isOpen;\n\t}\n\n\tgetTooltip() {\n\t\tconst isOpen = this.getIsOpen();\n\t\tconst { align } = this.props;\n\n\t\t// REMOVE AT NEXT BREAKING CHANGE (v1.0 or v0.9)\n\t\tconst deprecatedWay = this.props.variant === 'error';\n\n\t\treturn isOpen ? (\n\t\t\t<Dialog\n\t\t\t\tcloseOnTabKey\n\t\t\t\thasNubbin\n\t\t\t\tcontentsClassName={classNames(\n\t\t\t\t\t'slds-popover',\n\t\t\t\t\t'slds-popover_tooltip',\n\t\t\t\t\t{\n\t\t\t\t\t\t'slds-theme_error': this.props.theme === 'error' || deprecatedWay,\n\t\t\t\t\t},\n\t\t\t\t\tthis.props.dialogClassName\n\t\t\t\t)}\n\t\t\t\talign={align}\n\t\t\t\tcontext={this.context}\n\t\t\t\thasStaticAlignment={this.props.hasStaticAlignment}\n\t\t\t\tonClose={this.handleCancel}\n\t\t\t\tonRequestTargetElement={() => this.getTooltipTarget()}\n\t\t\t\tposition={this.props.position}\n\t\t\t\tvariant=\"tooltip\"\n\t\t\t\tcontainerProps={{\n\t\t\t\t\tid: this.getId(),\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\t{this.getTooltipContent()}\n\t\t\t</Dialog>\n\t\t) : (\n\t\t\t<span />\n\t\t);\n\t}\n\n\tgetTooltipContent() {\n\t\treturn (\n\t\t\t<div className=\"slds-popover__body\">\n\t\t\t\t{this.props.content}\n\t\t\t\t{this.props.variant === 'learnMore' && this.props.onClickTrigger ? (\n\t\t\t\t\t<div className=\"slds-m-top_x-small\" aria-hidden=\"true\">\n\t\t\t\t\t\t{this.props.labels.learnMoreBefore}{' '}\n\t\t\t\t\t\t<Icon\n\t\t\t\t\t\t\tassistiveText={{\n\t\t\t\t\t\t\t\tlabel: this.props.assistiveText.tooltipTipLearnMoreIcon,\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\tcategory=\"utility\"\n\t\t\t\t\t\t\tinverse\n\t\t\t\t\t\t\tname=\"info\"\n\t\t\t\t\t\t\tsize=\"x-small\"\n\t\t\t\t\t\t/>{' '}\n\t\t\t\t\t\t{this.props.labels.learnMoreAfter}{' '}\n\t\t\t\t\t</div>\n\t\t\t\t) : null}\n\t\t\t</div>\n\t\t);\n\t}\n\n\tgetTooltipTarget() {\n\t\tif (this.props.onRequestTargetElement) {\n\t\t\treturn this.props.onRequestTargetElement();\n\t\t}\n\n\t\t// for backwards compatibility\n\t\tif (this.props.target) {\n\t\t\treturn this.props.target;\n\t\t}\n\n\t\treturn this.trigger;\n\t}\n\n\thandleCancel = () => {\n\t\tclearTimeout(this.tooltipTimeout);\n\n\t\tthis.setState({\n\t\t\tisOpen: false,\n\t\t});\n\t};\n\n\thandleMouseEnter = () => {\n\t\tclearTimeout(this.tooltipTimeout);\n\n\t\tthis.tooltipTimeout = setTimeout(() => {\n\t\t\tif (!this.isUnmounting) {\n\t\t\t\tthis.setState({\n\t\t\t\t\tisOpen: true,\n\t\t\t\t});\n\t\t\t}\n\t\t}, this.props.hoverOpenDelay);\n\t};\n\n\thandleMouseLeave = () => {\n\t\tclearTimeout(this.tooltipTimeout);\n\n\t\tthis.tooltipTimeout = setTimeout(() => {\n\t\t\tif (!this.isUnmounting) {\n\t\t\t\tthis.setState({\n\t\t\t\t\tisOpen: false,\n\t\t\t\t});\n\t\t\t}\n\t\t}, this.props.hoverCloseDelay);\n\t};\n\n\tsaveTriggerRef = (component) => {\n\t\tthis.trigger = component;\n\t\t// yes, this is a re-render triggered by a render.\n\t\t// Dialog/Popper.js cannot place the popover until\n\t\t// the trigger/target DOM node is mounted. This\n\t\t// way `findDOMNode` is not called and parent\n\t\t// DOM nodes are not queried.\n\t\tif (!this.state.triggerRendered) {\n\t\t\tthis.setState({ triggerRendered: true });\n\t\t}\n\t};\n\n\trender() {\n\t\tconst containerStyles = {\n\t\t\tdisplay: 'inline-block',\n\t\t\tlineHeight: '1',\n\t\t\t...this.props.triggerStyle,\n\t\t};\n\n\t\treturn (\n\t\t\t<div\n\t\t\t\tclassName={classNames(\n\t\t\t\t\t'slds-tooltip-trigger',\n\t\t\t\t\tthis.props.triggerClassName\n\t\t\t\t)}\n\t\t\t\tstyle={containerStyles}\n\t\t\t\tref={this.saveTriggerRef}\n\t\t\t>\n\t\t\t\t{this.getAnchoredNubbinStyles()}\n\t\t\t\t{this.getContent()}\n\t\t\t\t{this.getTooltip()}\n\t\t\t</div>\n\t\t);\n\t}\n}\n\nTooltip.contextTypes = {\n\ticonPath: PropTypes.string,\n};\n\nTooltip.displayName = displayName;\nTooltip.propTypes = propTypes;\nTooltip.defaultProps = defaultProps;\n\nexport default Tooltip;\n","export default function getAriaProps(props) {\n\treturn Object.keys(props).reduce((prev, key) => {\n\t\tif (key.substr(0, 5) === 'aria-') {\n\t\t\t// eslint-disable-next-line no-param-reassign\n\t\t\tprev[key] = props[key];\n\t\t}\n\t\treturn prev;\n\t}, {});\n}\n","export default function getDataProps(props) {\n\treturn Object.keys(props).reduce((prev, key) => {\n\t\tif (key.substr(0, 5) === 'data-') {\n\t\t\t// eslint-disable-next-line no-param-reassign\n\t\t\tprev[key] = props[key];\n\t\t}\n\t\treturn prev;\n\t}, {});\n}\n","const formPropsSet = new Set([\n\t'form',\n\t'formAction',\n\t'formEncType',\n\t'formMethod',\n\t'formNoValidate',\n\t'formTarget',\n]);\n\nexport default function getFormProps(props) {\n\treturn Object.keys(props).reduce((prev, key) => {\n\t\tif (formPropsSet.has(key)) {\n\t\t\t// eslint-disable-next-line no-param-reassign\n\t\t\tprev[key] = props[key];\n\t\t}\n\t\treturn prev;\n\t}, {});\n}\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// Implements the [Button design pattern](https://lightningdesignsystem.com/components/buttons/) in React.\n// Based on SLDS v2.2.1\n\nimport React from 'react';\nimport requiredIf from 'react-required-if';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport ButtonIcon from '../icon/button-icon';\nimport checkProps from './check-props';\nimport componentDoc from './component.json';\n// eslint-disable-next-line import/no-cycle\nimport Tooltip from '../tooltip';\n\nimport getAriaProps from '../../utilities/get-aria-props';\nimport getDataProps from '../../utilities/get-data-props';\nimport getFormProps from '../../utilities/get-form-props';\n\nimport { BUTTON } from '../../utilities/constants';\n\nconst defaultProps = {\n\tassistiveText: { icon: '' },\n\tdisabled: false,\n\thint: false,\n\ticonSize: 'medium',\n\tresponsive: false,\n\ttype: 'button',\n\tvariant: 'neutral',\n};\n\n/**\n * The Button component is the Lightning Design System Button component. The Button should be used for label buttons, icon buttons, or buttons that have both labels and icons.\n * Either a <code>label</code> or <code>assistiveText.icon</code> is required; see the Prop Details table below. For buttons that maintain selected/unselected states, use the <a href=\"#/button-stateful\">ButtonStateful</a> component.\n * Although not listed in the prop table, all `aria-*`, `data-*` and `form*` props will be added to the `button` element if passed in.\n */\nclass Button extends React.Component {\n\tstatic displayName = BUTTON;\n\n\tstatic propTypes = {\n\t\t/**\n\t\t * **Assistive text for accessibility.**\n\t\t * This object is merged with the default props object on every render.\n\t\t * * `icon`: Text that is visually hidden but read aloud by screenreaders to tell the user what the icon means. If the button has an icon and a visible label, you can omit the <code>assistiveText.icon</code> prop and use the <code>label</code> prop.\n\t\t */\n\t\tassistiveText: PropTypes.shape({\n\t\t\ticon: PropTypes.string,\n\t\t}),\n\n\t\t/**\n\t\t * Callback that passes in the DOM reference of the `<button>` DOM node within this component. Primary use is to allow `focus` to be called. You should still test if the node exists, since rendering is asynchronous. `buttonRef={(component) => { if(component) console.log(component); }}`\n\t\t */\n\t\tbuttonRef: PropTypes.func,\n\t\t/**\n\t\t * CSS classes to be added to button.\n\t\t */\n\t\tclassName: PropTypes.oneOfType([\n\t\t\tPropTypes.array,\n\t\t\tPropTypes.object,\n\t\t\tPropTypes.string,\n\t\t]),\n\t\t/**\n\t\t * Disables the button and adds disabled styling.\n\t\t */\n\t\tdisabled: PropTypes.bool,\n\t\t/**\n\t\t * Associates an icon button with another element on the page by changes the color of the SVG. Please reference <a href=\"http://www.lightningdesignsystem.com/components/buttons/#hint\">Lightning Design System Buttons > Hint</a>.\n\t\t */\n\t\thint: PropTypes.bool,\n\t\t/**\n\t\t * Name of the icon category. Visit <a href=\"http://www.lightningdesignsystem.com/resources/icons\">Lightning Design System Icons</a> to reference icon categories.\n\t\t */\n\t\ticonCategory: requiredIf(\n\t\t\tPropTypes.oneOf(['action', 'custom', 'doctype', 'standard', 'utility']),\n\t\t\t(props) => !!props.iconName\n\t\t),\n\t\t/**\n\t\t * CSS classes to be added to icon.\n\t\t */\n\t\ticonClassName: PropTypes.oneOfType([\n\t\t\tPropTypes.array,\n\t\t\tPropTypes.object,\n\t\t\tPropTypes.string,\n\t\t]),\n\t\t/**\n\t\t * Name of the icon. Visit <a href=\"http://www.lightningdesignsystem.com/resources/icons\">Lightning Design System Icons</a> to reference icon names.\n\t\t */\n\t\ticonName: PropTypes.string,\n\t\t/**\n\t\t * Path to the icon. This will override any global icon settings.\n\t\t */\n\t\ticonPath: PropTypes.string,\n\t\t/**\n\t\t * If omitted, icon position is centered.\n\t\t */\n\t\ticonPosition: PropTypes.oneOf(['left', 'right']),\n\t\t/**\n\t\t * Determines the size of the icon.\n\t\t */\n\t\ticonSize: PropTypes.oneOf(['x-small', 'small', 'medium', 'large']),\n\t\t/**\n\t\t * For icon variants, please reference <a href=\"http://www.lightningdesignsystem.com/components/buttons/#icon\">Lightning Design System Icons</a>.\n\t\t */\n\t\ticonVariant: PropTypes.oneOf([\n\t\t\t'bare',\n\t\t\t'container',\n\t\t\t'border',\n\t\t\t'border-filled',\n\t\t\t'brand',\n\t\t\t'more',\n\t\t\t'global-header',\n\t\t]),\n\t\t/**\n\t\t * Id string applied to button node.\n\t\t */\n\t\tid: PropTypes.string,\n\t\t/**\n\t\t * If true, button/icon is white. Meant for buttons or utility icons on dark backgrounds.\n\t\t */\n\t\tinverse: PropTypes.bool,\n\t\t/**\n\t\t * Visible label on the button. If the button is an icon button with no label, you must use the <code>assistiveText.icon</code> prop.\n\t\t */\n\t\tlabel: PropTypes.oneOfType([PropTypes.string, PropTypes.node]),\n\t\t/**\n\t\t * Triggered when focus is removed.\n\t\t */\n\t\tonBlur: PropTypes.func,\n\t\t/**\n\t\t * Triggered when the button is clicked.\n\t\t */\n\t\tonClick: PropTypes.func,\n\t\t/**\n\t\t * Triggered when component is focused.\n\t\t */\n\t\tonFocus: PropTypes.func,\n\t\t/**\n\t\t * Triggered when a key is pressed down\n\t\t */\n\t\tonKeyDown: PropTypes.func,\n\t\t/**\n\t\t * Triggered when a key is pressed and released\n\t\t */\n\t\tonKeyPress: PropTypes.func,\n\t\t/**\n\t\t * Triggered when a key is released\n\t\t */\n\t\tonKeyUp: PropTypes.func,\n\t\t/**\n\t\t * Triggered when a mouse button is pressed down\n\t\t */\n\t\tonMouseDown: PropTypes.func,\n\t\t/**\n\t\t * Triggered when a mouse arrow hovers\n\t\t */\n\t\tonMouseEnter: PropTypes.func,\n\t\t/**\n\t\t * Triggered when a mouse arrow no longer hovers\n\t\t */\n\t\tonMouseLeave: PropTypes.func,\n\t\t/**\n\t\t * Triggered when a mouse button is released\n\t\t */\n\t\tonMouseUp: PropTypes.func,\n\t\t/**\n\t\t * If true, button scales to 100% width on small form factors.\n\t\t */\n\t\tresponsive: PropTypes.bool,\n\t\t/**\n\t\t * Write <code>\"-1\"</code> if you don't want the user to tab to the button.\n\t\t */\n\t\ttabIndex: PropTypes.string,\n\t\t/**\n\t\t * Button type\n\t\t */\n\t\ttype: PropTypes.oneOf(['reset', 'submit', 'button']),\n\t\t/**\n\t\t * HTML title attribute\n\t\t */\n\t\ttitle: PropTypes.string,\n\t\t/**\n\t\t * [Deprecated] Tooltip on button. Button should be a child of `Tooltip` instead.\n\t\t */\n\t\ttooltip: PropTypes.node,\n\t\t/**\n\t\t * Different types of buttons\n\t\t */\n\t\tvariant: PropTypes.oneOf([\n\t\t\t'base',\n\t\t\t'link',\n\t\t\t'neutral',\n\t\t\t'brand',\n\t\t\t'outline-brand',\n\t\t\t'destructive',\n\t\t\t'success',\n\t\t\t'text-destructive',\n\t\t\t'icon',\n\t\t]),\n\t\t/**\n\t\t * Custom styles to be passed to the component\n\t\t */\n\t\tstyle: PropTypes.object,\n\t};\n\n\tstatic defaultProps = defaultProps;\n\n\tconstructor(props) {\n\t\tsuper(props);\n\n\t\t// `checkProps` issues warnings to developers about properties (similar to React's built in development tools)\n\t\tcheckProps(BUTTON, props, componentDoc);\n\t}\n\n\tgetClassName = () => {\n\t\tconst isIcon = this.props.variant === 'icon';\n\n\t\tlet { iconVariant } = this.props;\n\t\tconst iconMore = iconVariant === 'more';\n\t\tconst iconBorder = iconVariant === 'border';\n\t\tconst iconGlobalHeader = iconVariant === 'global-header';\n\n\t\tconst showButtonVariant =\n\t\t\t(this.props.variant !== 'base' &&\n\t\t\t\t!iconVariant &&\n\t\t\t\t!this.props.inverse &&\n\t\t\t\tthis.props.variant !== 'link') ||\n\t\t\ticonVariant === 'bare';\n\t\tconst plainInverseBtn = this.props.inverse && !isIcon;\n\t\tconst plainInverseIcon =\n\t\t\tthis.props.inverse && isIcon && !iconMore && !iconBorder;\n\t\tconst moreInverseIcon = this.props.inverse && iconMore;\n\t\tconst borderInverseIcon = this.props.inverse && iconBorder;\n\n\t\t// After hijacking `iconVariant` to let `Button` know it's in the header, we reset to container style for the actual button CSS.\n\t\tif (iconVariant === 'global-header') {\n\t\t\ticonVariant = 'container';\n\t\t}\n\n\t\treturn classNames(\n\t\t\t{\n\t\t\t\t'slds-button': this.props.variant !== 'link',\n\t\t\t\t[`slds-button_${this.props.variant}`]: showButtonVariant,\n\t\t\t\t'slds-button_inverse': plainInverseBtn,\n\t\t\t\t'slds-button_icon-inverse': plainInverseIcon || moreInverseIcon,\n\t\t\t\t'slds-button_icon-border-inverse': borderInverseIcon,\n\t\t\t\t[`slds-button_icon-${iconVariant}`]: iconVariant && !borderInverseIcon,\n\t\t\t\t'slds-global-header__button_icon': iconGlobalHeader,\n\t\t\t\t// If icon has a container, then we apply the icon size to the container not the svg. Icon size is medium by default, so we don't need to explicitly render it here.\n\t\t\t\t[`slds-button_icon-${this.props.iconSize}`]:\n\t\t\t\t\ticonVariant && this.props.iconSize !== 'medium',\n\t\t\t\t'slds-button_reset': this.props.variant === 'link',\n\t\t\t\t'slds-text-link': this.props.variant === 'link',\n\t\t\t},\n\t\t\tthis.props.className\n\t\t);\n\t};\n\n\thandleClick = (event) => {\n\t\tif (this.props.onClick) {\n\t\t\tthis.props.onClick(event, {});\n\t\t}\n\t};\n\n\trenderIcon = (name) => {\n\t\tconst iconSize =\n\t\t\t!this.props.iconSize || this.props.iconVariant\n\t\t\t\t? null\n\t\t\t\t: this.props.iconSize;\n\t\treturn (\n\t\t\t<ButtonIcon\n\t\t\t\tcategory={this.props.iconCategory || 'utility'} // BREAKING CHANGE we will introduce in 1.0. For the moment, set default prop here if none specified.\n\t\t\t\tclassName={classNames(\n\t\t\t\t\t{\n\t\t\t\t\t\t'slds-global-header__icon':\n\t\t\t\t\t\t\tthis.props.iconVariant === 'global-header',\n\t\t\t\t\t},\n\t\t\t\t\tthis.props.iconClassName\n\t\t\t\t)}\n\t\t\t\thint={this.props.hint}\n\t\t\t\tinverse={this.props.inverse}\n\t\t\t\tname={name}\n\t\t\t\tpath={this.props.iconPath}\n\t\t\t\tposition={this.props.iconPosition}\n\t\t\t\tsize={iconSize}\n\t\t\t/>\n\t\t);\n\t};\n\n\trenderLabel = () => {\n\t\tconst iconOnly = this.props.iconName || this.props.iconPath;\n\t\tconst assistiveTextIcon =\n\t\t\ttypeof this.props.assistiveText === 'string'\n\t\t\t\t? this.props.assistiveText\n\t\t\t\t: {\n\t\t\t\t\t\t...defaultProps.assistiveText,\n\t\t\t\t\t\t...this.props.assistiveText,\n\t\t\t\t }.icon;\n\n\t\treturn iconOnly && assistiveTextIcon ? (\n\t\t\t<span className=\"slds-assistive-text\">{assistiveTextIcon}</span>\n\t\t) : (\n\t\t\tthis.props.label\n\t\t);\n\t};\n\n\trenderButton = () => {\n\t\tconst ariaProps = getAriaProps(this.props);\n\t\tconst dataProps = getDataProps(this.props);\n\t\tconst formProps = getFormProps(this.props);\n\n\t\treturn (\n\t\t\t// eslint-disable-next-line react/button-has-type\n\t\t\t<button\n\t\t\t\tclassName={this.getClassName()}\n\t\t\t\tdisabled={this.props.disabled}\n\t\t\t\tid={this.props.id}\n\t\t\t\tonBlur={this.props.onBlur}\n\t\t\t\tonClick={this.handleClick}\n\t\t\t\tonFocus={this.props.onFocus}\n\t\t\t\tonKeyDown={this.props.onKeyDown}\n\t\t\t\tonKeyPress={this.props.onKeyPress}\n\t\t\t\tonKeyUp={this.props.onKeyUp}\n\t\t\t\tonMouseDown={this.props.onMouseDown}\n\t\t\t\tonMouseEnter={this.props.onMouseEnter}\n\t\t\t\tonMouseLeave={this.props.onMouseLeave}\n\t\t\t\tonMouseUp={this.props.onMouseUp}\n\t\t\t\tref={(component) => {\n\t\t\t\t\tif (this.props.buttonRef) {\n\t\t\t\t\t\tthis.props.buttonRef(component);\n\t\t\t\t\t}\n\t\t\t\t}}\n\t\t\t\ttabIndex={this.props.tabIndex}\n\t\t\t\ttitle={this.props.title}\n\t\t\t\t// eslint-disable-next-line react/button-has-type\n\t\t\t\ttype={this.props.type || 'button'}\n\t\t\t\tstyle={this.props.style}\n\t\t\t\t{...ariaProps}\n\t\t\t\t{...dataProps}\n\t\t\t\t{...formProps}\n\t\t\t>\n\t\t\t\t{this.props.iconPosition === 'right' ? this.renderLabel() : null}\n\n\t\t\t\t{this.props.iconName || this.props.iconPath\n\t\t\t\t\t? this.renderIcon(this.props.iconName)\n\t\t\t\t\t: null}\n\t\t\t\t{this.props.iconVariant === 'more' ? (\n\t\t\t\t\t<ButtonIcon\n\t\t\t\t\t\tcategory=\"utility\"\n\t\t\t\t\t\tname=\"down\"\n\t\t\t\t\t\tsize=\"x-small\"\n\t\t\t\t\t\tclassName={this.props.iconClassName}\n\t\t\t\t\t/>\n\t\t\t\t) : null}\n\n\t\t\t\t{this.props.iconPosition === 'left' || !this.props.iconPosition\n\t\t\t\t\t? this.renderLabel()\n\t\t\t\t\t: null}\n\t\t\t\t{\n\t\t\t\t\tthis.props.children // eslint-disable-line react/prop-types\n\t\t\t\t}\n\t\t\t</button>\n\t\t);\n\t};\n\n\t// This is present for backwards compatibility and should be removed at a future breaking change release. Please wrap a `Button` in a `PopoverTooltip` to achieve the same result. There will be an extra trigger `div` wrapping the `Button` though.\n\trenderTooltip = () => (\n\t\t<Tooltip content={this.props.tooltip}>{this.renderButton}</Tooltip>\n\t);\n\n\trender() {\n\t\treturn this.props.tooltip ? this.renderTooltip() : this.renderButton();\n\t}\n}\n\nexport default Button;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// Implements the [Accordion design\n// pattern](https://www.lightningdesignsystem.com/components/accordion/) in\n// React. Based on SLDS v2.3.2\n\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\n\nimport Button from '../button';\n\nimport { ACCORDION_PANEL } from '../../utilities/constants';\n\nconst propTypes = {\n\t/**\n\t * The panel content for the Accordion component. Accordion panels should be added as <AccordionPanel />. Event handler for the accordion panels should be added to `<AccordionPanel />`. Optional `panelContentActions` component may be passed as prop. _Tested with Mocha framework and snapshot testing._\n\t */\n\tchildren: PropTypes.node,\n\t/**\n\t * Indicates whether item is expanded or not, which should be handled by `onTogglePanel`. _Tested with Mocha framework and snapshot testing._\n\t */\n\texpanded: PropTypes.bool.isRequired,\n\t/**\n\t * Id of the item belonging to this panel. _Tested with snapshot testing._\n\t */\n\tid: PropTypes.oneOfType([PropTypes.number, PropTypes.string]).isRequired,\n\t/**\n\t * Component that can be passed as prop to `<Panel />`. As an example, a menu dropdown could be used here to handle additional actions for each accordion panel. _Tested with Mocha framework._\n\t */\n\tpanelContentActions: PropTypes.node,\n\t/**\n\t * Callback that will run whenever there is a keydown on the panel button. Function doesn't change the state of the component.\n\t */\n\tonKeyDownSummary: PropTypes.func,\n\t/**\n\t * Callback that will run whenever a panel is toggled. Function should handle state to toggle `expanded` prop. _Tested with Mocha framework._\n\t */\n\tonTogglePanel: PropTypes.func.isRequired,\n\t/**\n\t * Ref callback that will pass in panel's `input` tag\n\t */\n\trefs: PropTypes.shape({\n\t\tsummaryButton: PropTypes.func,\n\t}),\n\t/**\n\t * Summary in the span element in the header of this panel. The summary is truncated and so the title element should contain the full text so that it is accessible on hover. _Tested with snapshot testing._\n\t */\n\tsummary: PropTypes.oneOfType([PropTypes.string, PropTypes.node]).isRequired,\n\t/**\n\t * HTML title attribute. _Tested with snapshot testing._\n\t */\n\ttitle: PropTypes.string,\n};\n\n/**\n * The panel content for the Accordion component.\n */\nconst AccordionPanel = ({\n\tchildren,\n\texpanded,\n\tid,\n\tpanelContentActions,\n\tsummary,\n\ttitle,\n\tonClickSummary,\n\tonKeyDownSummary,\n\tonTogglePanel,\n\trefs,\n}) => (\n\t<li className=\"slds-accordion__list-item\">\n\t\t<section\n\t\t\tclassName={classNames('slds-accordion__section', {\n\t\t\t\t'slds-is-open': expanded,\n\t\t\t})}\n\t\t>\n\t\t\t<div className=\"slds-accordion__summary\">\n\t\t\t\t<h3 className=\"slds-text-heading_small slds-accordion__summary-heading slds-has-flexi-truncate\">\n\t\t\t\t\t<Button\n\t\t\t\t\t\taria-controls={`${id}-accordion-panel`}\n\t\t\t\t\t\taria-expanded={expanded}\n\t\t\t\t\t\tbuttonRef={refs.summaryButton}\n\t\t\t\t\t\tclassName=\"slds-button_reset slds-accordion__summary-action\"\n\t\t\t\t\t\ticonCategory=\"utility\"\n\t\t\t\t\t\ticonClassName=\"slds-accordion__summary-action-icon slds-button__icon slds-button__icon_left\"\n\t\t\t\t\t\ticonName=\"switch\"\n\t\t\t\t\t\tid={`${id}-accordion-button`}\n\t\t\t\t\t\tonKeyDown={onKeyDownSummary}\n\t\t\t\t\t\tonClick={(e) => {\n\t\t\t\t\t\t\tonClickSummary();\n\t\t\t\t\t\t\tonTogglePanel(e);\n\t\t\t\t\t\t}}\n\t\t\t\t\t\tvariant=\"base\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<span className=\"slds-truncate\" title={title || summary}>\n\t\t\t\t\t\t\t{summary}\n\t\t\t\t\t\t</span>\n\t\t\t\t\t</Button>\n\t\t\t\t</h3>\n\t\t\t\t{panelContentActions}\n\t\t\t</div>\n\t\t\t<div\n\t\t\t\taria-hidden={!expanded}\n\t\t\t\tclassName=\"slds-accordion__content\"\n\t\t\t\tid={`${id}-accordion-panel`}\n\t\t\t>\n\t\t\t\t{children}\n\t\t\t</div>\n\t\t</section>\n\t</li>\n);\n\nexport default AccordionPanel;\n\nAccordionPanel.propTypes = propTypes;\nAccordionPanel.displayName = ACCORDION_PANEL;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n/* eslint-disable import/no-mutable-exports */\n\nimport sunsetProperty from '../../utilities/warning/sunset-property';\nimport getComponentDocFn from '../../utilities/get-component-doc';\n\nlet checkProps = function checkPropsFunction() {};\n\nif (process.env.NODE_ENV !== 'production') {\n\tcheckProps = function checkPropsFunction(COMPONENT, props, jsonDoc) {\n\t\tconst createDocUrl = getComponentDocFn(jsonDoc);\n\t\t/* eslint-disable max-len */\n\t\tsunsetProperty(\n\t\t\tCOMPONENT,\n\t\t\tprops.iconCategory,\n\t\t\t'iconCategory',\n\t\t\t`Use \\`Icon\\` instead. ${createDocUrl('icon')}`\n\t\t);\n\t\tsunsetProperty(\n\t\t\tCOMPONENT,\n\t\t\tprops.iconName,\n\t\t\t'iconName',\n\t\t\t`Use \\`Icon\\` instead. ${createDocUrl('icon')}`\n\t\t);\n\n\t\tsunsetProperty(\n\t\t\tCOMPONENT,\n\t\t\tprops.content,\n\t\t\t'content',\n\t\t\t`Use \\`labels.heading\\` and \\`labels.headingLink\\` instead.${createDocUrl(\n\t\t\t\t'labels'\n\t\t\t)}`\n\t\t);\n\t\tsunsetProperty(\n\t\t\tCOMPONENT,\n\t\t\tprops.duration,\n\t\t\t'duration',\n\t\t\t`Only Toasts can auto-hide. ${createDocUrl()}`\n\t\t);\n\t\tsunsetProperty(\n\t\t\tCOMPONENT,\n\t\t\tprops.isOpen,\n\t\t\t'isOpen',\n\t\t\t`Use a conditional outside of alert. ${createDocUrl()}`\n\t\t);\n\t\tsunsetProperty(\n\t\t\tCOMPONENT,\n\t\t\tprops.isOpen,\n\t\t\t'onDismiss',\n\t\t\t`Use \\`onRequestClose\\` instead. ${createDocUrl('onRequestClose')}`\n\t\t);\n\t\tsunsetProperty(COMPONENT, props.texture, 'texture', createDocUrl());\n\t\tsunsetProperty(\n\t\t\tCOMPONENT,\n\t\t\tprops.theme,\n\t\t\t'theme',\n\t\t\t`Use \\`variant\\` instead. ${createDocUrl('variant')}`\n\t\t);\n\t};\n}\n\nexport default checkProps;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// # Alert Component\n\n// Implements the [Alert design pattern](https://lightningdesignsystem.com/components/alert/) in React.\n\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport assign from 'lodash.assign';\nimport classNames from '../../utilities/class-names';\nimport Button from '../button';\nimport Icon from '../icon';\nimport checkProps from './check-props';\nimport componentDoc from './component.json';\nimport { ALERT } from '../../utilities/constants';\nimport DOMElementFocus from '../../utilities/dom-element-focus';\n\nconst propTypes = {\n\t/**\n\t * **Assistive text for accessibility**\n\t * This object is merged with the default props object on every render.\n\t * * `closeButton`: This is a visually hidden label for the close button.\n\t * _Tested with snapshot testing._\n\t */\n\tassistiveText: PropTypes.shape({\n\t\tcloseButton: PropTypes.oneOfType([PropTypes.string, PropTypes.node]),\n\t}),\n\t/**\n\t * CSS classes to be added to tag with `.slds-notify_alert`. Uses `classNames` [API](https://github.com/JedWatson/classnames).\n\t * _Tested with snapshot testing._\n\t */\n\tclassName: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\t/**\n\t * Allows user to click a close button. Banners should be dismissible only if they communicate future impact to the system,\n\t * _Tested with snapshot testing._\n\t */\n\tdismissible: PropTypes.bool,\n\t/**\n\t * Icon of type `~/components/icon`. This icon will be cloned and additional props appended. The default icons are:\n\t * * info variant: `utility:info`\n\t * * error variant: `utility:error`\n\t * * offline variant: `utility:offline`\n\t * * warning variant: `utility:warning`\n\t *\n\t * _Tested with snapshot testing._\n\t */\n\ticon: PropTypes.node,\n\t/**\n\t * **Text labels for internationalization**\n\t * This object is merged with the default props object on every render.\n\t * * `heading`: text within heading tag\n\t * * `headingLink`: Text of link that triggers `onClickHeadingLink`. Inline links should pass a keyed array of React components into `labels.heading`.\n\t *\n\t * _Tested with snapshot testing._\n\t */\n\tlabels: PropTypes.shape({\n\t\theading: PropTypes.oneOfType([PropTypes.string, PropTypes.node]),\n\t\theadingLink: PropTypes.oneOfType([PropTypes.string, PropTypes.node]),\n\t}),\n\t/**\n\t * Triggered by link. _Tested with Mocha testing._\n\t */\n\tonClickHeadingLink: PropTypes.func,\n\t/**\n\t * Triggered by close button. This is a controlled component. _Tested with Mocha testing._\n\t */\n\tonRequestClose: PropTypes.func,\n\t/**\n\t * Custom styles to be passed to the component. _Tested with Mocha testing._\n\t */\n\tstyle: PropTypes.object,\n\t/**\n\t * The type of alert. _Tested with snapshot testing._\n\t */\n\tvariant: PropTypes.oneOf(['error', 'info', 'offline', 'warning']).isRequired,\n};\n\nconst defaultProps = {\n\tassistiveText: {\n\t\tcloseButton: 'Close',\n\t},\n\tlabels: {},\n\tvariant: 'info',\n};\n\n/**\n * Alert banners communicate a state that affects the entire system, not just a feature or page. It persists over a session and appears without the user initiating the action. View [banner guidelines](https://www.lightningdesignsystem.com/guidelines/messaging/components/banners/).\n */\n\nclass Alert extends React.Component {\n\tconstructor(props) {\n\t\tsuper(props);\n\t\tthis.state = {\n\t\t\tisInitialRender: true,\n\t\t};\n\n\t\t// `checkProps` issues warnings to developers about properties (similar to React's built in development tools)\n\t\tcheckProps(ALERT, props, componentDoc);\n\t}\n\n\tcomponentWillUnmount() {\n\t\tDOMElementFocus.returnFocusToStoredElement();\n\t}\n\n\tsaveButtonRef = (component) => {\n\t\tthis.closeButton = component;\n\t\tif (this.state.isInitialRender) {\n\t\t\tDOMElementFocus.storeActiveElement();\n\t\t\tif (this.closeButton) {\n\t\t\t\tthis.closeButton.focus();\n\t\t\t}\n\t\t\tthis.setState({ isInitialRender: false });\n\t\t}\n\t};\n\n\trender() {\n\t\t// Merge objects of strings with their default object\n\t\tconst assistiveText = assign(\n\t\t\t{},\n\t\t\tdefaultProps.assistiveText,\n\t\t\tthis.props.assistiveText\n\t\t);\n\t\tconst labels = assign({}, defaultProps.labels, this.props.labels);\n\n\t\t// BACKWARD COMPATIBILITY WITH NOTIFICATION\n\t\tconst heading = labels.heading || this.props.content; // eslint-disable-line react/prop-types\n\t\tconst onRequestClose = this.props.onRequestClose || this.props.onDismiss; // eslint-disable-line react/prop-types\n\n\t\tconst assistiveTextVariant = {\n\t\t\tinfo: 'info',\n\t\t\twarning: 'warning',\n\t\t\terror: 'error',\n\t\t\toffline: 'offline',\n\t\t};\n\n\t\tconst defaultIcons = {\n\t\t\tinfo: <Icon category=\"utility\" name=\"info\" />,\n\t\t\toffline: <Icon category=\"utility\" name=\"offline\" />,\n\t\t\twarning: <Icon category=\"utility\" name=\"warning\" />,\n\t\t\terror: <Icon category=\"utility\" name=\"error\" />,\n\t\t};\n\n\t\tlet icon = this.props.icon\n\t\t\t? this.props.icon\n\t\t\t: defaultIcons[this.props.variant];\n\n\t\t// BACKWARD COMPATIBILITY WITH NOTIFICATION\n\t\tif (this.props.iconName && this.props.iconCategory) {\n\t\t\t// eslint-disable-line react/prop-types\n\t\t\ticon = (\n\t\t\t\t<Icon category={this.props.iconCategory} name={this.props.iconName} />\n\t\t\t);\n\t\t}\n\n\t\tconst clonedIcon = React.cloneElement(icon, {\n\t\t\tcontainerClassName: 'slds-m-right_x-small',\n\t\t\tinverse: true,\n\t\t\tsize: 'x-small',\n\t\t});\n\n\t\t/* eslint-disable no-script-url */\n\t\treturn (\n\t\t\t<div\n\t\t\t\tclassName={classNames(\n\t\t\t\t\t'slds-notify slds-notify_alert slds-theme_alert-texture',\n\t\t\t\t\t{\n\t\t\t\t\t\t'slds-theme_info': this.props.variant === 'info',\n\t\t\t\t\t\t'slds-theme_warning': this.props.variant === 'warning',\n\t\t\t\t\t\t'slds-theme_error': this.props.variant === 'error',\n\t\t\t\t\t\t'slds-theme_offline': this.props.variant === 'offline',\n\t\t\t\t\t},\n\t\t\t\t\tthis.props.className\n\t\t\t\t)}\n\t\t\t\trole=\"alert\"\n\t\t\t\tstyle={this.props.style}\n\t\t\t>\n\t\t\t\t<span className=\"slds-assistive-text\">\n\t\t\t\t\t{assistiveTextVariant[this.props.variant]}\n\t\t\t\t</span>\n\t\t\t\t{clonedIcon}\n\t\t\t\t<h2>\n\t\t\t\t\t{heading}{' '}\n\t\t\t\t\t{labels.headingLink ? (\n\t\t\t\t\t\t<a\n\t\t\t\t\t\t\tonClick={this.props.onClickHeadingLink}\n\t\t\t\t\t\t\thref=\"javascript:void(0);\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{labels.headingLink}\n\t\t\t\t\t\t</a>\n\t\t\t\t\t) : null}\n\t\t\t\t</h2>\n\t\t\t\t{this.props.dismissible ? (\n\t\t\t\t\t<Button\n\t\t\t\t\t\tassistiveText={{ icon: assistiveText.closeButton }}\n\t\t\t\t\t\tbuttonRef={this.saveButtonRef}\n\t\t\t\t\t\tclassName=\"slds-notify__close\"\n\t\t\t\t\t\ticonCategory=\"utility\"\n\t\t\t\t\t\ticonName=\"close\"\n\t\t\t\t\t\ticonSize=\"medium\"\n\t\t\t\t\t\tinverse\n\t\t\t\t\t\tonClick={onRequestClose}\n\t\t\t\t\t\ttitle={assistiveText.closeButton}\n\t\t\t\t\t\tvariant=\"icon\"\n\t\t\t\t\t/>\n\t\t\t\t) : null}\n\t\t\t</div>\n\t\t);\n\t}\n}\n\nAlert.defaultProps = defaultProps;\nAlert.displayName = ALERT;\nAlert.propTypes = propTypes;\n\nexport default Alert;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// # Alert Container Component\n\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from '../../utilities/class-names';\nimport { ALERT_CONTAINER } from '../../utilities/constants';\n\nconst propTypes = {\n\t/**\n\t * CSS classes to be added to tag with `.slds-notify_alert`. Uses `classNames` [API](https://github.com/JedWatson/classnames).\n\t */\n\tclassName: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\t/**\n\t * Alert components\n\t */\n\tchildren: PropTypes.node,\n};\n\n/**\n * A fixed container for alert banners.\n */\n\nclass AlertContainer extends React.Component {\n\trender() {\n\t\treturn (\n\t\t\t<div\n\t\t\t\tclassName={classNames('slds-notify-container', this.props.className)}\n\t\t\t>\n\t\t\t\t{this.props.children}\n\t\t\t</div>\n\t\t);\n\t}\n}\n\nAlertContainer.displayName = ALERT_CONTAINER;\nAlertContainer.propTypes = propTypes;\n\nexport default AlertContainer;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n/* eslint-disable import/no-mutable-exports */\n\nlet lowPriorityWarning = function printWarningFunction() {};\n\nif (process.env.NODE_ENV !== 'production') {\n\t// eslint-disable-next-line fp/no-rest-parameters\n\tconst printWarning = function printWarningFunction(originalMessage, ...args) {\n\t\tlet argIndex = 0;\n\t\tconst message = `Warning: ${originalMessage.replace(/%s/g, () => {\n\t\t\tconst argument = args[argIndex];\n\t\t\targIndex += 1;\n\t\t\treturn argument;\n\t\t})}`;\n\t\tif (typeof console !== 'undefined') {\n\t\t\tconsole.warn(message); // eslint-disable-line no-console\n\t\t}\n\t\ttry {\n\t\t\t// Throw error to enable tracing the callstack.\n\t\t\t// eslint-disable-next-line fp/no-throw\n\t\t\tthrow new Error(message);\n\t\t} catch (event) {} // eslint-disable-line no-empty\n\t};\n\n\t// eslint-disable-next-line fp/no-rest-parameters\n\tlowPriorityWarning = (condition, originalMessage, ...args) => {\n\t\tif (!condition && originalMessage) {\n\t\t\tprintWarning(originalMessage, ...args);\n\t\t}\n\t};\n}\n\nexport default lowPriorityWarning;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n/* eslint-disable import/no-mutable-exports */\n\n// This function will deliver a warning message to the browser console about the component being a deprecated component.\nimport lowPriorityWarning from './low-priority-warning';\n\nlet isPrototype = function isPrototypeFunction() {};\n\nif (process.env.NODE_ENV !== 'production') {\n\tconst hasWarned = {};\n\n\tisPrototype = function isPrototypeFunction(control, props, comment) {\n\t\tconst additionalComment = comment ? ` ${comment}` : '';\n\t\tif (!props.silenceDeprecationWarning && !hasWarned[control]) {\n\t\t\t/* eslint-disable max-len */\n\t\t\tlowPriorityWarning(\n\t\t\t\tfalse,\n\t\t\t\t`[Design System React] ${control} is a deprecated component. Bugfixes can be contributed, but new features and additional alignment with SLDS may be declined.${additionalComment}`\n\t\t\t);\n\t\t\t/* eslint-enable max-len */\n\t\t\thasWarned[control] = true;\n\t\t}\n\t};\n}\n\nexport default isPrototype;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n/* eslint-disable import/no-mutable-exports */\n\n// This function will deliver an error message to the browser console when all of the props passed in are undefined (falsey).\nimport warning from 'warning';\n\nlet oneOfComponent = function oneOfComponentFunction() {};\n\nif (process.env.NODE_ENV !== 'production') {\n\tconst hasWarned = {};\n\toneOfComponent = function oneOfComponentFunction(\n\t\tcontrol,\n\t\tprops,\n\t\tpropName,\n\t\tallowedComponents,\n\t\tcomment,\n\t\tspecificTest // if this is set, it will be checked instead of props[propName]\n\t) {\n\t\tconst additionalComment = comment ? ` ${comment}` : '';\n\n\t\tlet componentType;\n\n\t\tif (specificTest) {\n\t\t\tif (typeof specificTest.type === 'string') {\n\t\t\t\tcomponentType = specificTest.type;\n\t\t\t} else {\n\t\t\t\tcomponentType = specificTest.type.displayName;\n\t\t\t}\n\t\t} else if (typeof props[propName].type === 'string') {\n\t\t\tcomponentType = props[propName].type;\n\t\t} else {\n\t\t\tcomponentType = props[propName].type.displayName;\n\t\t}\n\n\t\tconst allowedComponentFound = allowedComponents.indexOf(componentType) > -1;\n\n\t\tif (!allowedComponentFound && !hasWarned[control]) {\n\t\t\t/* eslint-disable max-len */\n\t\t\twarning(\n\t\t\t\tfalse,\n\t\t\t\t`[Design System React] ${control} requires that prop '${propName}' is an instance of one of the following components: ${allowedComponents.join(\n\t\t\t\t\t', '\n\t\t\t\t)}. An instance of '${componentType}' was given.${additionalComment}`\n\t\t\t);\n\t\t\t/* eslint-enable max-len */\n\t\t\thasWarned[control] = true;\n\t\t}\n\t};\n}\n\nexport default oneOfComponent;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n/* eslint-disable import/no-mutable-exports */\n\nimport deprecatedProperty from '../../utilities/warning/deprecated-property';\nimport componentIsDeprecated from '../../utilities/warning/component-is-deprecated';\nimport getComponentDocFn from '../../utilities/get-component-doc';\nimport oneOfComponent from '../../utilities/warning/one-of-component';\nimport sunsetProperty from '../../utilities/warning/sunset-property';\nimport {\n\tAPP_LAUNCHER,\n\tAPP_LAUNCHER_EXPANDABLE_SECTION,\n\tAPP_LAUNCHER_SECTION,\n\tAPP_LAUNCHER_TILE,\n} from '../../utilities/constants';\n\nlet checkProps = function checkPropsFunction() {};\n\nif (process.env.NODE_ENV !== 'production') {\n\tcheckProps = function checkPropsFunction(COMPONENT, props, jsonDoc) {\n\t\tconst createDocUrl = getComponentDocFn(jsonDoc);\n\n\t\tif (COMPONENT === APP_LAUNCHER) {\n\t\t\tif (props.modalHeaderButton !== undefined) {\n\t\t\t\toneOfComponent(\n\t\t\t\t\tCOMPONENT,\n\t\t\t\t\tprops,\n\t\t\t\t\t'modalHeaderButton',\n\t\t\t\t\t['SLDSButton'],\n\t\t\t\t\tcreateDocUrl('modalHeaderButton')\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tdeprecatedProperty(\n\t\t\t\tCOMPONENT,\n\t\t\t\tprops.triggerAssistiveText,\n\t\t\t\t'triggerAssistiveText',\n\t\t\t\t\"assistiveText['trigger']\",\n\t\t\t\tcreateDocUrl('assistiveText')\n\t\t\t);\n\t\t} else if (COMPONENT === APP_LAUNCHER_EXPANDABLE_SECTION) {\n\t\t\tdeprecatedProperty(\n\t\t\t\tCOMPONENT,\n\t\t\t\tprops.collapseSectionAssistiveText,\n\t\t\t\t'collapseSectionAssistiveText',\n\t\t\t\t\"assistiveText['collapseSection']\",\n\t\t\t\tcreateDocUrl('assistiveText')\n\t\t\t);\n\t\t} else if (COMPONENT === APP_LAUNCHER_SECTION) {\n\t\t\tcomponentIsDeprecated(\n\t\t\t\tCOMPONENT,\n\t\t\t\tprops,\n\t\t\t\t'App Launcher Section has been deprecated. Please use APP_LAUNCHER_EXPANDABLE_SECTION instead.'\n\t\t\t);\n\t\t} else if (COMPONENT === APP_LAUNCHER_TILE) {\n\t\t\tdeprecatedProperty(\n\t\t\t\tCOMPONENT,\n\t\t\t\tprops.descriptionHeading,\n\t\t\t\t'descriptionHeading',\n\t\t\t\tnull,\n\t\t\t\t'Description headings are no longer a part of the SLDS App Launcher Tile spec. Please reach out to DSR admin if there is a special need for this feature'\n\t\t\t);\n\n\t\t\tsunsetProperty(\n\t\t\t\tCOMPONENT,\n\t\t\t\tprops.size,\n\t\t\t\t'size',\n\t\t\t\t'App Launcher Tiles are now all a consistent size according to SLDS specifications'\n\t\t\t);\n\t\t}\n\t};\n}\n\nexport default checkProps;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n/* eslint-disable import/no-mutable-exports */\n/* eslint-disable max-len */\n\nimport deprecatedProperty from '../../utilities/warning/deprecated-property';\nimport getComponentDocFn from '../../utilities/get-component-doc';\n\nlet checkProps = function checkPropsFunction() {};\n\nif (process.env.NODE_ENV !== 'production') {\n\tcheckProps = function checkPropsFunction(COMPONENT, props, jsonDoc) {\n\t\tconst createDocUrl = getComponentDocFn(jsonDoc);\n\t\tdeprecatedProperty(\n\t\t\tCOMPONENT,\n\t\t\tprops.closeButtonAssistiveText,\n\t\t\t'closeButtonAssistiveText',\n\t\t\t\"assistiveText['closeButton']\",\n\t\t\tcreateDocUrl('assistiveText')\n\t\t);\n\t\tdeprecatedProperty(\n\t\t\tCOMPONENT,\n\t\t\tprops.title,\n\t\t\t'title',\n\t\t\t'heading',\n\t\t\tcreateDocUrl('heading')\n\t\t);\n\t\tdeprecatedProperty(\n\t\t\tCOMPONENT,\n\t\t\tprops.dismissible,\n\t\t\t'dismissible',\n\t\t\t'disableClose',\n\t\t\tcreateDocUrl('disableClose')\n\t\t);\n\t};\n}\n\nexport default checkProps;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\nimport Modal from 'react-modal';\n\n/*\n * The following are component utility methods that aid in global settings.\n */\n\nlet assetsPath = 'assets/';\nlet appRoot;\n\nconst settings = {\n\tsetAssetsPath: (path) => {\n\t\tif (path) {\n\t\t\tassetsPath = path;\n\t\t}\n\t},\n\n\tgetAssetsPath: () => String(assetsPath),\n\n\t/*\n\t * The app element allows you to specify the portion of your app that should be hidden (via aria-hidden)\n\tto prevent assistive technologies such as screenreaders from reading content outside of the content of\n\tyour modal. It can be specified in the following ways:\n\t * element\n\tModal.setAppElement(appElement);\n\t * query selector - uses the first element found if you pass in a class.\n\tModal.setAppElement('#your-app-element');\n\t*/\n\tsetAppElement: (el) => {\n\t\tif (el) {\n\t\t\tappRoot = el;\n\t\t\tModal.setAppElement(el);\n\t\t}\n\t},\n\n\tgetAppElement: () => appRoot,\n};\n\nexport default settings;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n/* eslint-disable import/no-mutable-exports */\n\nimport warning from 'warning';\nimport Settings from '../../components/settings';\nimport { canUseDOM } from '../execution-environment';\n\nlet checkAppElementIsSet = function checkAppElementIsSetFunction() {};\n\nif (process.env.NODE_ENV !== 'production') {\n\tcheckAppElementIsSet = function checkAppElementIsSetFunction() {\n\t\tconst appElement = Settings.getAppElement();\n\t\t/* eslint-disable max-len */\n\t\twarning(\n\t\t\tcanUseDOM && Boolean(appElement),\n\t\t\t'[Design System React] App element is not defined. Please use Settings.setAppElement(el).' +\n\t\t\t\t' By default, `Modal` will add `aria-hidden=true` to the `body` tag, but this disables some assistive technologies.' +\n\t\t\t\t' To prevent this you can add Settings.setAppElement(el) to your application with `el` being the root node of your application' +\n\t\t\t\t' that you would like to hide from assistive technologies when the `Modal` is open.'\n\t\t);\n\t};\n}\n\nexport default checkAppElementIsSet;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n/* eslint-disable react/prefer-es6-class, jsx-a11y/no-noninteractive-element-interactions */\n\n// Implements the [Modal design pattern](https://lightningdesignsystem.com/components/modals/) in React.\n// Based on SLDS v2.2.1\n\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport ReactDOM from 'react-dom';\n\nimport classNames from 'classnames';\nimport ReactModal from 'react-modal';\n\n// ### shortid\n// [npmjs.com/package/shortid](https://www.npmjs.com/package/shortid)\n// shortid is a short, non-sequential, url-friendly, unique id generator\nimport shortid from 'shortid';\n\n// This component's `checkProps` which issues warnings to developers about properties when in development mode (similar to React's built in development tools)\nimport checkProps from './check-props';\n\nimport checkAppElementIsSet from '../../utilities/warning/check-app-element-set';\n\nimport Button from '../button';\n\nimport { MODAL } from '../../utilities/constants';\nimport componentDoc from './component.json';\n\nconst documentDefined = typeof document !== 'undefined';\nconst windowDefined = typeof window !== 'undefined';\n\nconst propTypes = {\n\t/**\n\t * Vertical alignment of Modal.\n\t */\n\talign: PropTypes.oneOf(['top', 'center']),\n\t/**\n\t * Boolean indicating if the appElement should be hidden.\n\t */\n\tariaHideApp: PropTypes.bool,\n\t/**\n\t * **Assistive text for accessibility.**\n\t * This object is merged with the default props object on every render.\n\t * * `dialogLabel`: This is a visually hidden label for the dialog. If not provided, `heading` is used.\n\t * * `dialogLabelledBy`: This describes which node labels the dialog. If not provided and dialogLabel is unavailable, `id` is used.\n\t * * `closeButton`: This is a visually hidden label for the close button.\n\t */\n\tassistiveText: PropTypes.shape({\n\t\tdialogLabel: PropTypes.string,\n\t\tdialogLabelledBy: PropTypes.string,\n\t\tcloseButton: PropTypes.string,\n\t}),\n\t/**\n\t * Modal content.\n\t */\n\tchildren: PropTypes.node.isRequired,\n\t/**\n\t * Custom CSS classes for the modal `section` node classed `.slds-modal` and the parent of `.slds-modal__container`. Uses `classNames` [API](https://github.com/JedWatson/classnames).\n\t */\n\tclassName: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\t/**\n\t * Custom CSS classes for the modal's container. This is the child element of `.slds-modal` with class `.slds-modal__container`. Uses `classNames` [API](https://github.com/JedWatson/classnames).\n\t */\n\tcontainerClassName: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\t/**\n\t * Custom CSS classes for the modal's body. This is the element that has overflow rules and should be used to set a static height if desired. Use `classNames` [API](https://github.com/JedWatson/classnames).\n\t */\n\tcontentClassName: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\t/**\n\t * Custom styles for the modal's body. This is the element that has overflow rules and should be used to set a static height if desired.\n\t */\n\tcontentStyle: PropTypes.object,\n\t/**\n\t * If true, modal footer buttons render left and right. An example use case would be for \"back\" and \"next\" buttons.\n\t */\n\tdirectional: PropTypes.bool,\n\t/**\n\t * If true, Modals cannot be dismissed by clicking on the close icon or pressing esc key.\n\t */\n\tdisableClose: PropTypes.bool,\n\t/**\n\t * If true, Modals can be dismissed by clicking outside of modal. If unspecified, defaults to disableClose.\n\t */\n\tdismissOnClickOutside: PropTypes.bool,\n\t/**\n\t * Callback to fire with Modal is dismissed\n\t */\n\tonRequestClose: PropTypes.func,\n\t/**\n\t * Accepts a node or array of nodes that are typically a `Button` or `ProgressIndicator`. If an array, the nodes render on the right side first but are then floated left and right if <code>directional</code> prop is `true`.\n\t */\n\tfooter: PropTypes.oneOfType([PropTypes.array, PropTypes.node]),\n\t/**\n\t * Allows for a custom modal header that does not scroll with modal content. If this is defined, `heading` and `tagline` will be ignored. The close button will still be present.\n\t */\n\theader: PropTypes.node,\n\t/**\n\t * Adds CSS classes to the container surrounding the modal header and the close button. Use `classNames` [API](https://github.com/JedWatson/classnames).\n\t */\n\theaderClassName: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\t/**\n\t * Unique identifier for the modal. The id is automatically generated if not provided\n\t */\n\tid: PropTypes.string,\n\t/**\n\t * Forces the modal to be open or closed.\n\t */\n\tisOpen: PropTypes.bool.isRequired,\n\t/**\n\t * Function whose return value is the mount node to insert the Modal element into. The default is `() => document.body`.\n\t */\n\tparentSelector: PropTypes.func,\n\t/**\n\t * Custom CSS classes for the portal DOM node. This node is a direct descendant of the `body` and is the parent of `ReactModal__Overlay`. Use `classNames` [API](https://github.com/JedWatson/classnames).\n\t */\n\tportalClassName: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\t/**\n\t * Styles the modal as a prompt.\n\t */\n\tprompt: PropTypes.oneOf([\n\t\t'success',\n\t\t'warning',\n\t\t'error',\n\t\t'wrench',\n\t\t'offline',\n\t\t'info',\n\t]),\n\t/**\n\t * Specifies the modal's width. May be deprecated in favor of `width` in the future.\n\t */\n\tsize: PropTypes.oneOf(['small', 'medium', 'large']),\n\t/**\n\t * Content underneath the heading in the modal header.\n\t */\n\ttagline: PropTypes.node,\n\t/**\n\t * Content underneath the title in the modal header.\n\t */\n\ttitle: PropTypes.node,\n\t/**\n\t * Text heading at the top of a modal.\n\t */\n\theading: PropTypes.node,\n\t/**\n\t * Allows adding additional notifications within the modal.\n\t */\n\ttoast: PropTypes.node,\n};\n\nconst defaultProps = {\n\tassistiveText: {\n\t\tdialogLabel: '',\n\t\tdialogLabelledBy: '',\n\t\tcloseButton: 'Close',\n\t},\n\talign: 'center',\n\tariaHideApp: true,\n};\n\n/**\n * The Modal component is used for the Lightning Design System Modal and Notification > Prompt components. The Modal opens from a state change outside of the component itself (pass this state to the <code>isOpen</code> prop). For more details on the Prompt markup, please review the <a href=\"http://www.lightningdesignsystem.com/components/notifications#prompt\">Notifications > Prompt</a>.\n *\n * By default, `Modal` will add `aria-hidden=true` to the `body` tag, but this disables some assistive technologies. To prevent this you can add the following to your application with `#mount` being the root node of your application that you would like to hide from assistive technologies when the `Modal` is open.\n * ```\n * import settings from 'design-system-react/components/settings';\n * settings.setAppElement('#mount');\n * ```\n * This component uses a portalMount (a disconnected React subtree mount) to create a modal as a child of `body`.\n */\nclass Modal extends React.Component {\n\tconstructor(props) {\n\t\tsuper(props);\n\t\tthis.state = {\n\t\t\tisClosing: false,\n\t\t};\n\n\t\t// Bind\n\t\tthis.handleModalClick = this.handleModalClick.bind(this);\n\t\tthis.closeModal = this.closeModal.bind(this);\n\t\tthis.dismissModalOnClickOutside = this.dismissModalOnClickOutside.bind(\n\t\t\tthis\n\t\t);\n\n\t\tthis.generatedId = shortid.generate();\n\t\tcheckProps(MODAL, props, componentDoc);\n\t\tif (props.ariaHideApp) {\n\t\t\tcheckAppElementIsSet();\n\t\t}\n\t}\n\n\tcomponentDidMount() {\n\t\tthis.setReturnFocus();\n\t\tthis.updateBodyScroll();\n\t}\n\n\tcomponentDidUpdate(prevProps, prevState) {\n\t\tif (this.props.isOpen !== prevProps.isOpen) {\n\t\t\tthis.updateBodyScroll();\n\t\t}\n\t\tif (this.state.isClosing !== prevState.isClosing) {\n\t\t\tif (this.state.isClosing) {\n\t\t\t\t// This section of code should be removed once trigger.jsx\n\t\t\t\t// and manager.jsx are removed. They appear to have\n\t\t\t\t// been created in order to do modals in portals.\n\t\t\t\tif (!this.isUnmounting) {\n\t\t\t\t\tconst el = ReactDOM.findDOMNode(this); // eslint-disable-line react/no-find-dom-node\n\t\t\t\t\tif (\n\t\t\t\t\t\tel &&\n\t\t\t\t\t\tel.parentNode &&\n\t\t\t\t\t\tel.parentNode.getAttribute('data-slds-modal')\n\t\t\t\t\t) {\n\t\t\t\t\t\tReactDOM.unmountComponentAtNode(el);\n\t\t\t\t\t\tdocument.body.removeChild(el);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\tcomponentWillUnmount() {\n\t\tthis.isUnmounting = true;\n\t\tthis.clearBodyScroll();\n\t}\n\n\tgetId() {\n\t\treturn this.props.id || this.generatedId;\n\t}\n\n\tgetBorderRadius() {\n\t\tconst borderRadiusValue = '.25rem';\n\t\tconst borderTopRadius =\n\t\t\tthis.props.title || this.props.heading || this.props.header\n\t\t\t\t? {}\n\t\t\t\t: {\n\t\t\t\t\t\tborderTopLeftRadius: borderRadiusValue,\n\t\t\t\t\t\tborderTopRightRadius: borderRadiusValue,\n\t\t\t\t };\n\t\tconst borderBottomRadius = this.props.footer\n\t\t\t? {}\n\t\t\t: {\n\t\t\t\t\tborderBottomLeftRadius: borderRadiusValue,\n\t\t\t\t\tborderBottomRightRadius: borderRadiusValue,\n\t\t\t };\n\t\treturn {\n\t\t\t...borderTopRadius,\n\t\t\t...borderBottomRadius,\n\t\t};\n\t}\n\n\tgetModal() {\n\t\tconst modalStyle =\n\t\t\tthis.props.align === 'top' ? { justifyContent: 'flex-start' } : null;\n\t\tconst borderRadius = this.getBorderRadius();\n\t\tconst contentStyleFromProps = this.props.contentStyle || {};\n\t\tconst contentStyle = {\n\t\t\t...borderRadius,\n\t\t\t...contentStyleFromProps,\n\t\t};\n\t\tlet dialogLabelledBy = null;\n\n\t\tif (this.props.assistiveText.dialogLabelledBy) {\n\t\t\t// eslint-disable-next-line prefer-destructuring\n\t\t\tdialogLabelledBy = this.props.assistiveText.dialogLabelledBy;\n\t\t} else if (\n\t\t\t!this.props.assistiveText.dialogLabel &&\n\t\t\t(this.props.heading || this.props.title)\n\t\t) {\n\t\t\tdialogLabelledBy = `${this.getId()}-heading`;\n\t\t}\n\n\t\treturn (\n\t\t\t// temporarily disabling eslint for the onClicks on the div tags\n\t\t\t/* eslint-disable */\n\t\t\t<section\n\t\t\t\taria-describedby={`${this.getId()}-modal-content`}\n\t\t\t\taria-label={this.props.assistiveText.dialogLabel}\n\t\t\t\taria-labelledby={dialogLabelledBy}\n\t\t\t\taria-modal={true}\n\t\t\t\tclassName={classNames(\n\t\t\t\t\t'slds-modal',\n\t\t\t\t\t'slds-fade-in-open',\n\t\t\t\t\tthis.props.size ? `slds-modal_${this.props.size}` : null,\n\t\t\t\t\t{ 'slds-modal_prompt': this.isPrompt() },\n\t\t\t\t\tthis.props.className\n\t\t\t\t)}\n\t\t\t\tonClick={this.dismissModalOnClickOutside}\n\t\t\t\trole={this.props.disableClose ? 'alertdialog' : 'dialog'}\n\t\t\t>\n\t\t\t\t<div\n\t\t\t\t\tclassName={classNames(\n\t\t\t\t\t\t'slds-modal__container',\n\t\t\t\t\t\tthis.props.containerClassName\n\t\t\t\t\t)}\n\t\t\t\t\tstyle={modalStyle}\n\t\t\t\t>\n\t\t\t\t\t{this.headerComponent()}\n\t\t\t\t\t<div\n\t\t\t\t\t\tclassName={classNames(\n\t\t\t\t\t\t\t'slds-modal__content',\n\t\t\t\t\t\t\tthis.props.contentClassName\n\t\t\t\t\t\t)}\n\t\t\t\t\t\tid={`${this.getId()}-modal-content`}\n\t\t\t\t\t\tstyle={contentStyle}\n\t\t\t\t\t\tonClick={this.handleModalClick}\n\t\t\t\t\t>\n\t\t\t\t\t\t{this.props.children}\n\t\t\t\t\t</div>\n\t\t\t\t\t{this.footerComponent()}\n\t\t\t\t</div>\n\t\t\t</section>\n\t\t\t/* eslint-enable */\n\t\t);\n\t}\n\n\tsetReturnFocus() {\n\t\tthis.setState({\n\t\t\treturnFocusTo: documentDefined ? document.activeElement : null,\n\t\t});\n\t}\n\n\t// eslint-disable-next-line class-methods-use-this\n\tclearBodyScroll() {\n\t\tif (windowDefined && documentDefined && document.body) {\n\t\t\tdocument.body.style.overflow = 'inherit';\n\t\t}\n\t}\n\n\tcloseModal() {\n\t\tif (!this.props.disableClose) {\n\t\t\tthis.dismissModal();\n\t\t}\n\t}\n\n\tdismissModal() {\n\t\tthis.setState({ isClosing: true });\n\t\tif (this.state.returnFocusTo && this.state.returnFocusTo.focus) {\n\t\t\tthis.state.returnFocusTo.focus();\n\t\t}\n\t\tif (this.props.onRequestClose) {\n\t\t\tthis.props.onRequestClose();\n\t\t}\n\t}\n\n\tdismissModalOnClickOutside() {\n\t\t// if dismissOnClickOutside is not set, default its value to disableClose\n\t\tconst dismissOnClickOutside =\n\t\t\tthis.props.dismissOnClickOutside !== undefined\n\t\t\t\t? this.props.dismissOnClickOutside\n\t\t\t\t: !this.props.disableClose;\n\n\t\tif (dismissOnClickOutside) {\n\t\t\tthis.dismissModal();\n\t\t}\n\t}\n\n\tfooterComponent() {\n\t\tlet footer = null;\n\t\tconst hasFooter = this.props.footer;\n\t\tconst footerClass = {\n\t\t\t'slds-modal__footer': true,\n\t\t\t'slds-modal__footer_directional': this.props.directional,\n\t\t\t'slds-theme_default': this.isPrompt(),\n\t\t};\n\n\t\tif (hasFooter) {\n\t\t\tfooter = ( // eslint-disable-next-line jsx-a11y/no-static-element-interactions, jsx-a11y/no-noninteractive-element-interactions\n\t\t\t\t<footer\n\t\t\t\t\tclassName={classNames(footerClass, this.props.footerClassNames)}\n\t\t\t\t\tonClick={this.handleModalClick}\n\t\t\t\t>\n\t\t\t\t\t{this.props.footer}\n\t\t\t\t</footer>\n\t\t\t);\n\t\t}\n\t\treturn footer;\n\t}\n\n\t// eslint-disable-next-line class-methods-use-this\n\thandleModalClick(event) {\n\t\tif (event && event.stopPropagation) {\n\t\t\tevent.stopPropagation();\n\t\t}\n\t}\n\n\thandleSubmitModal() {\n\t\tthis.closeModal();\n\t}\n\n\theaderComponent() {\n\t\tlet headerContent = this.props.header;\n\t\tconst headerEmpty =\n\t\t\t!headerContent &&\n\t\t\t!(this.props.heading || this.props.title) &&\n\t\t\t!this.props.tagline;\n\t\tconst assistiveText = {\n\t\t\t...defaultProps.assistiveText,\n\t\t\t...this.props.assistiveText,\n\t\t};\n\t\tconst closeButtonAssistiveText =\n\t\t\tthis.props.closeButtonAssistiveText || assistiveText.closeButton;\n\t\tconst closeButton = (\n\t\t\t<Button\n\t\t\t\tassistiveText={{ icon: closeButtonAssistiveText }}\n\t\t\t\ticonCategory=\"utility\"\n\t\t\t\ticonName=\"close\"\n\t\t\t\ticonSize=\"large\"\n\t\t\t\tinverse\n\t\t\t\tclassName=\"slds-button_icon slds-modal__close\"\n\t\t\t\tonClick={this.closeModal}\n\t\t\t\ttitle={closeButtonAssistiveText}\n\t\t\t\tvariant=\"icon\"\n\t\t\t/>\n\t\t);\n\n\t\tif (\n\t\t\t(!headerContent && (this.props.heading || this.props.title)) ||\n\t\t\tthis.props.tagline\n\t\t) {\n\t\t\theaderContent = (\n\t\t\t\t<div>\n\t\t\t\t\t{this.props.toast}\n\t\t\t\t\t<h2\n\t\t\t\t\t\tclassName={classNames({\n\t\t\t\t\t\t\t'slds-text-heading_small': this.isPrompt(),\n\t\t\t\t\t\t\t'slds-text-heading_medium': !this.isPrompt(),\n\t\t\t\t\t\t})}\n\t\t\t\t\t\tid={`${this.getId()}-heading`}\n\t\t\t\t\t>\n\t\t\t\t\t\t{this.props.heading ? this.props.heading : this.props.title}\n\t\t\t\t\t</h2>\n\t\t\t\t\t{this.props.tagline ? (\n\t\t\t\t\t\t<p className=\"slds-m-top_x-small\">{this.props.tagline}</p>\n\t\t\t\t\t) : null}\n\t\t\t\t</div>\n\t\t\t);\n\t\t}\n\n\t\treturn (\n\t\t\t// eslint-disable-next-line jsx-a11y/no-static-element-interactions\n\t\t\t<header\n\t\t\t\tclassName={classNames(\n\t\t\t\t\t'slds-modal__header',\n\t\t\t\t\t{\n\t\t\t\t\t\t'slds-modal__header_empty': headerEmpty,\n\t\t\t\t\t\t[`slds-theme_${this.props.prompt}`]: this.isPrompt(),\n\t\t\t\t\t\t'slds-theme_alert-texture': this.isPrompt(),\n\t\t\t\t\t},\n\t\t\t\t\tthis.props.headerClassName\n\t\t\t\t)}\n\t\t\t\tonClick={this.handleModalClick}\n\t\t\t>\n\t\t\t\t{this.props.disableClose ? null : closeButton}\n\t\t\t\t{headerContent}\n\t\t\t</header>\n\t\t);\n\t}\n\n\tisPrompt() {\n\t\treturn this.props.prompt !== undefined;\n\t}\n\n\tupdateBodyScroll() {\n\t\tif (windowDefined && documentDefined && document.body) {\n\t\t\tif (this.props.isOpen) {\n\t\t\t\tdocument.body.style.overflow = 'hidden';\n\t\t\t} else {\n\t\t\t\tdocument.body.style.overflow = 'inherit';\n\t\t\t}\n\t\t}\n\t}\n\n\trender() {\n\t\tconst customStyles = {\n\t\t\tcontent: {\n\t\t\t\tposition: 'default',\n\t\t\t\ttop: 'default',\n\t\t\t\tleft: 'default',\n\t\t\t\tright: 'default',\n\t\t\t\tbottom: 'default',\n\t\t\t\tborder: 'default',\n\t\t\t\tbackground: 'default',\n\t\t\t\toverflow: 'default',\n\t\t\t\tWebkitOverflowScrolling: 'default',\n\t\t\t\tborderRadius: 'default',\n\t\t\t\toutline: 'default',\n\t\t\t\tpadding: 'default',\n\t\t\t},\n\t\t\toverlay: {\n\t\t\t\tzIndex: 8000, // following SLDS guideline for z-index overlay\n\t\t\t\tbackgroundColor: 'default',\n\t\t\t},\n\t\t};\n\n\t\treturn (\n\t\t\t<ReactModal\n\t\t\t\tariaHideApp={this.props.ariaHideApp}\n\t\t\t\tcontentLabel=\"Modal\"\n\t\t\t\tisOpen={this.props.isOpen}\n\t\t\t\tonRequestClose={this.closeModal}\n\t\t\t\tstyle={customStyles}\n\t\t\t\tparentSelector={this.props.parentSelector}\n\t\t\t\tportalClassName={classNames(\n\t\t\t\t\t'ReactModalPortal',\n\t\t\t\t\tthis.props.portalClassName\n\t\t\t\t)}\n\t\t\t>\n\t\t\t\t{this.getModal()}\n\t\t\t\t<div className=\"slds-backdrop slds-backdrop_open\" />\n\t\t\t</ReactModal>\n\t\t);\n\t}\n}\n\nModal.displayName = MODAL;\nModal.propTypes = propTypes;\nModal.defaultProps = defaultProps;\n\nexport default Modal;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// # App Launcher Component\n// Based on SLDS v2.1.0-rc.2\n\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\nimport classNames from 'classnames';\n\nimport isFunction from 'lodash.isfunction';\nimport shortid from 'shortid';\n\n// This component's `checkProps` which issues warnings to developers about properties when in development mode (similar to React's built in development tools)\nimport checkProps from './check-props';\nimport componentDoc from './component.json';\n\n// ## Children\nimport Modal from '../modal';\n\nimport { APP_LAUNCHER } from '../../utilities/constants';\n\nconst defaultProps = {\n\tassistiveText: {\n\t\ttrigger: 'Open App Launcher',\n\t},\n\tariaHideApp: true,\n\ttitle: 'App Launcher',\n};\n\n/**\n * The App Launcher allows the user to quickly access all the apps and functionality with their organization.\n * The App Launcher should generally only be used as a sub-component of the [Global Navigation Bar](/components/global-navigation-bar)\n *\n * USAGE EXAMPLE:\n * ```\n * <AppLauncher>\n * \t<AppLauncherExpandableSection>\n * \t\t<AppLauncherTile />\n * \t\t<AppLauncherTile />\n * \t\t<AppLauncherTile />\n * \t</AppLauncherExpandableSection>\n * \t<AppLauncherExpandableSection>\n * \t\t<AppLauncherTile />\n * \t\t<AppLauncherTile />\n * \t</AppLauncherExpandableSection>\n * </AppLauncher>\n * ```\n *\n * By default, `Modal`, a child component of App Launcher, will add `aria-hidden=true` to the `body` tag, but this disables some assistive technologies. To prevent this you can add the following to your application with `#mount` being the root node of your application that you would like to hide from assistive technologies when the `Modal` is open.\n * ```\n * import settings from 'design-system-react/components/settings';\n * settings.setAppElement('#mount');\n * ```\n */\nclass AppLauncher extends React.Component {\n\t// ### Display Name\n\t// Always use the canonical component name as the React display name.\n\tstatic displayName = APP_LAUNCHER;\n\n\t// ### Prop Types\n\tstatic propTypes = {\n\t\t/**\n\t\t * **Assistive text for accessibility.**\n\t\t * This object is merged with the default props object on every render.\n\t\t * * `trigger`: This is a visually hidden label for the app launcher icon.\n\t\t */\n\t\tassistiveText: PropTypes.shape({\n\t\t\ttrigger: PropTypes.string,\n\t\t}),\n\t\t/**\n\t\t * Boolean indicating if the appElement should be hidden.\n\t\t */\n\t\tariaHideApp: PropTypes.bool,\n\t\t/**\n\t\t * One or more `<AppLauncherExpandableSection />`s, each containing one or more `<AppLauncherTile />`s or `<AppLauncherLink />`s\n\t\t */\n\t\tchildren: PropTypes.node.isRequired,\n\t\t/**\n\t\t * The app launcher id. If not provided, one will be generated for accessibility\n\t\t */\n\t\tid: PropTypes.string,\n\t\t/**\n\t\t * Control the open/close state of the App Launcher\n\t\t */\n\t\tisOpen: PropTypes.bool,\n\t\t/**\n\t\t * CSS classes to be added to App Launcher Modal.\n\t\t */\n\t\tmodalClassName: PropTypes.oneOfType([\n\t\t\tPropTypes.array,\n\t\t\tPropTypes.object,\n\t\t\tPropTypes.string,\n\t\t]),\n\t\t/**\n\t\t * Button that exists in the upper right hand corner of the App Launcher modal\n\t\t */\n\t\tmodalHeaderButton: PropTypes.node,\n\t\t/**\n\t\t * Allows longer application names without truncating them.\n\t\t */\n\t\tnoTruncate: PropTypes.bool,\n\t\t/**\n\t\t * Callback when the App Launcher Modal is closed\n\t\t */\n\t\tonClose: PropTypes.func,\n\t\t/**\n\t\t * Search bar for the Modal's header. Will typically be an instance of `design-system-react/input/search`\n\t\t */\n\t\tsearch: PropTypes.node,\n\t\t/**\n\t\t * Set the App Launcher's title text (for localization)\n\t\t */\n\t\ttitle: PropTypes.string,\n\t\t/**\n\t\t * This is typically the name of the cloud or application\n\t\t */\n\t\ttriggerName: PropTypes.node,\n\t\t/**\n\t\t * Callback when the App Launcher icon is clicked\n\t\t */\n\t\ttriggerOnClick: PropTypes.func,\n\t};\n\n\tstatic defaultProps = defaultProps;\n\n\tconstructor(props) {\n\t\tsuper(props);\n\t\tthis.generatedId = shortid.generate();\n\t\tthis.state = {\n\t\t\tisOpen: false,\n\t\t};\n\n\t\t// `checkProps` issues warnings to developers about properties (similar to React's built in development tools)\n\t\tcheckProps(APP_LAUNCHER, props, componentDoc);\n\t}\n\n\tgetId() {\n\t\treturn this.props.id || this.generatedId;\n\t}\n\n\topenAppLauncher = (event) => {\n\t\tthis.setState({ isOpen: true });\n\n\t\tif (isFunction(this.props.triggerOnClick)) {\n\t\t\tthis.props.triggerOnClick(event, {});\n\t\t}\n\t};\n\n\tcloseAppLauncher = (event) => {\n\t\tthis.setState({ isOpen: false });\n\n\t\tif (isFunction(this.props.onClose)) {\n\t\t\tthis.props.onClose(event, {});\n\t\t}\n\t};\n\n\trenderSearch = () => {\n\t\tlet returnVal;\n\n\t\tif (this.props.search) {\n\t\t\treturnVal = (\n\t\t\t\t<div\n\t\t\t\t\tclassName=\"slds-app-launcher__header-search\"\n\t\t\t\t\tref={(component) => {\n\t\t\t\t\t\tif (component) {\n\t\t\t\t\t\t\tif (!this.focusedOnSearch) {\n\t\t\t\t\t\t\t\tconst input = component.querySelector('input');\n\t\t\t\t\t\t\t\tif (input) {\n\t\t\t\t\t\t\t\t\t// push to end of stack so click event doesn't blur the focus\n\t\t\t\t\t\t\t\t\tsetTimeout(() => {\n\t\t\t\t\t\t\t\t\t\tinput.focus();\n\t\t\t\t\t\t\t\t\t\tthis.focusedOnSearch = true;\n\t\t\t\t\t\t\t\t\t}, 0);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tthis.focusedOnSearch = false;\n\t\t\t\t\t\t}\n\t\t\t\t\t}}\n\t\t\t\t>\n\t\t\t\t\t{this.props.search}\n\t\t\t\t</div>\n\t\t\t);\n\t\t}\n\n\t\treturn returnVal;\n\t};\n\n\trender() {\n\t\tconst isOpen =\n\t\t\tthis.props.isOpen !== undefined ? this.props.isOpen : this.state.isOpen;\n\n\t\t// Should be removed in the future by adding a reset class of some sort.\n\t\tconst style = this.props.noTruncate ? { maxWidth: 'none' } : null;\n\n\t\tconst customModalHeader = (\n\t\t\t<React.Fragment>\n\t\t\t\t<h2\n\t\t\t\t\tclassName=\"slds-text-heading_medium\"\n\t\t\t\t\tid={`${this.getId()}-app-launcher-title`}\n\t\t\t\t>\n\t\t\t\t\t{this.props.title}\n\t\t\t\t</h2>\n\n\t\t\t\t{this.renderSearch()}\n\n\t\t\t\t{this.props.modalHeaderButton ? (\n\t\t\t\t\tthis.props.modalHeaderButton\n\t\t\t\t) : (\n\t\t\t\t\t<span className=\"slds-size_1-of-7\" />\n\t\t\t\t)}\n\t\t\t</React.Fragment>\n\t\t);\n\n\t\t// Not present in SLDS, but is consistent with other implementations of App Launcher. This also prevents resizing/jumping around when filtering. It will start clipping the modal close button at 600px viewport height.\n\t\tconst modalContentStaticHeight = '90%';\n\n\t\tconst assistiveText = {\n\t\t\t...defaultProps.assistiveText,\n\t\t\t...this.props.assistiveText,\n\t\t};\n\t\tconst triggerAssistiveText =\n\t\t\tthis.props.triggerAssistiveText || assistiveText.trigger;\n\t\treturn (\n\t\t\t<div\n\t\t\t\tclassName=\"slds-context-bar__item slds-context-bar__dropdown-trigger slds-dropdown-trigger slds-dropdown-trigger_click slds-no-hover\"\n\t\t\t\tstyle={style}\n\t\t\t>\n\t\t\t\t<div className=\"slds-context-bar__icon-action\">\n\t\t\t\t\t<button\n\t\t\t\t\t\taria-haspopup=\"true\"\n\t\t\t\t\t\tclassName=\"slds-button slds-icon-waffle_container slds-context-bar__button\"\n\t\t\t\t\t\tonClick={this.openAppLauncher}\n\t\t\t\t\t\ttitle={triggerAssistiveText}\n\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<span className=\"slds-icon-waffle\">\n\t\t\t\t\t\t\t<span className=\"slds-r1\" />\n\t\t\t\t\t\t\t<span className=\"slds-r2\" />\n\t\t\t\t\t\t\t<span className=\"slds-r3\" />\n\t\t\t\t\t\t\t<span className=\"slds-r4\" />\n\t\t\t\t\t\t\t<span className=\"slds-r5\" />\n\t\t\t\t\t\t\t<span className=\"slds-r6\" />\n\t\t\t\t\t\t\t<span className=\"slds-r7\" />\n\t\t\t\t\t\t\t<span className=\"slds-r8\" />\n\t\t\t\t\t\t\t<span className=\"slds-r9\" />\n\t\t\t\t\t\t</span>\n\t\t\t\t\t\t{triggerAssistiveText && (\n\t\t\t\t\t\t\t<span className=\"slds-assistive-text\">\n\t\t\t\t\t\t\t\t{triggerAssistiveText}\n\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t)}\n\t\t\t\t\t</button>\n\t\t\t\t</div>\n\t\t\t\t<Modal\n\t\t\t\t\tariaHideApp={this.props.ariaHideApp}\n\t\t\t\t\tassistiveText={{\n\t\t\t\t\t\tdialogLabelledBy: `${this.getId()}-app-launcher-title`,\n\t\t\t\t\t}}\n\t\t\t\t\tclassName={classNames('slds-app-launcher', this.props.modalClassName)}\n\t\t\t\t\tcontentClassName=\"slds-app-launcher__content slds-p-around_medium\"\n\t\t\t\t\tcontentStyle={{ minHeight: modalContentStaticHeight }}\n\t\t\t\t\tisOpen={isOpen}\n\t\t\t\t\tonRequestClose={this.closeAppLauncher}\n\t\t\t\t\tsize=\"large\"\n\t\t\t\t\theader={customModalHeader}\n\t\t\t\t\theaderClassName=\"slds-grid slds-grid_align-spread slds-grid_vertical-align-center\"\n\t\t\t\t>\n\t\t\t\t\t{this.props.children}\n\t\t\t\t</Modal>\n\t\t\t\t{this.props.triggerName ? (\n\t\t\t\t\t<span className=\"slds-context-bar__label-action slds-context-bar__app-name\">\n\t\t\t\t\t\t{this.props.noTruncate ? (\n\t\t\t\t\t\t\tthis.props.triggerName\n\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t<span className=\"slds-truncate\" title={this.props.triggerName}>\n\t\t\t\t\t\t\t\t{this.props.triggerName}\n\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t)}\n\t\t\t\t\t</span>\n\t\t\t\t) : null}\n\t\t\t</div>\n\t\t);\n\t}\n}\n\nexport default AppLauncher;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// # Expandable Section Component\n\n// Implements the [Expandable Section design pattern](https://www.lightningdesignsystem.com/components/expandable-section/) in React.\n\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\nimport classNames from 'classnames';\nimport shortid from 'shortid';\n\nimport Button from '../button';\n\n// ### Event Helpers\n// import KEYS from '../../utilities/key-code';\n// import EventUtil from '../../utilities/event';\n\nimport { EXPANDABLE_SECTION } from '../../utilities/constants';\n\nconst propTypes = {\n\t/**\n\t * **Assistive text for accessibility.**\n\t * * `toggleSection`: Label for the icon that expands / collapses the section\n\t */\n\tassistiveText: PropTypes.shape({\n\t\ttoggleSection: PropTypes.string,\n\t}),\n\t/**\n\t * Contents of the section\n\t */\n\tchildren: PropTypes.node,\n\t/**\n\t * Class names to be added to the `slds-section` classed node\n\t */\n\tclassName: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\t/**\n\t * Unique identifier for the expandable section. The id is automatically generated if not provided\n\t */\n\tid: PropTypes.string,\n\t/**\n\t * Specifies whether the section is expanded or collapsed. If not provided, component will use its own state to manage this itself\n\t */\n\tisOpen: PropTypes.bool,\n\t/**\n\t * Specifies whether the section can be expanded or collapsed. Defaults to `false`\n\t */\n\tnonCollapsible: PropTypes.bool,\n\t/**\n\t * Callback for when the section is expanded or collapsed. Passes event object and data object with `isOpen` bool.\n\t */\n\tonToggleOpen: PropTypes.func,\n\t/**\n\t * The title for the section\n\t */\n\ttitle: PropTypes.string.isRequired,\n};\n\nconst defaultProps = {\n\tassistiveText: {\n\t\ttoggleSection: 'Toggle visibility of section',\n\t},\n\tnonCollapsible: false,\n};\n\n/**\n * Toggle visibility of section content with the Expandable Section\n */\nclass ExpandableSection extends React.Component {\n\tconstructor(props) {\n\t\tsuper(props);\n\t\tthis.generatedId = shortid.generate();\n\t\tthis.state = {\n\t\t\tisOpen: true,\n\t\t};\n\t}\n\n\tgetId = () => this.props.id || this.generatedId;\n\n\ttoggleOpen = (event) => {\n\t\tif (this.props.onToggleOpen) {\n\t\t\tthis.props.onToggleOpen(event, {\n\t\t\t\tisOpen: this.props.isOpen,\n\t\t\t});\n\t\t} else {\n\t\t\tthis.setState((prevState) => ({\n\t\t\t\tisOpen: !prevState.isOpen,\n\t\t\t}));\n\t\t}\n\t};\n\n\trender() {\n\t\tconst contentId = `${this.getId()}-expanded-section-content`;\n\t\tconst isOpen =\n\t\t\tthis.props.isOpen !== undefined ? this.props.isOpen : this.state.isOpen;\n\t\tconst buttonAriaProps = {\n\t\t\t'aria-controls': contentId,\n\t\t\t'aria-expanded': !!isOpen,\n\t\t};\n\t\tconst titleNode = (\n\t\t\t<span\n\t\t\t\tclassName={classNames('slds-truncate', {\n\t\t\t\t\t'slds-p-horizontal_small': !!this.props.nonCollapsible,\n\t\t\t\t})}\n\t\t\t\ttitle={this.props.title}\n\t\t\t>\n\t\t\t\t{this.props.title}\n\t\t\t</span>\n\t\t);\n\n\t\treturn (\n\t\t\t<div\n\t\t\t\tclassName={classNames(\n\t\t\t\t\t'slds-section',\n\t\t\t\t\t{\n\t\t\t\t\t\t'slds-is-open': isOpen,\n\t\t\t\t\t},\n\t\t\t\t\tthis.props.className\n\t\t\t\t)}\n\t\t\t>\n\t\t\t\t<h3\n\t\t\t\t\tclassName={classNames('slds-section__title', {\n\t\t\t\t\t\t'slds-theme_shade': !!this.props.nonCollapsible,\n\t\t\t\t\t})}\n\t\t\t\t>\n\t\t\t\t\t{!this.props.nonCollapsible ? (\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tassistiveText={{\n\t\t\t\t\t\t\t\ticon: this.props.assistiveText.toggleSection,\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\ticonCategory=\"utility\"\n\t\t\t\t\t\t\ticonClassName=\"slds-section__title-action-icon slds-button__icon_left\"\n\t\t\t\t\t\t\ticonName=\"switch\"\n\t\t\t\t\t\t\tonClick={this.toggleOpen}\n\t\t\t\t\t\t\tclassName=\"slds-section__title-action\"\n\t\t\t\t\t\t\tvariant=\"base\"\n\t\t\t\t\t\t\t{...buttonAriaProps}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{titleNode}\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t) : (\n\t\t\t\t\t\ttitleNode\n\t\t\t\t\t)}\n\t\t\t\t</h3>\n\t\t\t\t<div\n\t\t\t\t\taria-hidden={!isOpen}\n\t\t\t\t\tclassName=\"slds-section__content\"\n\t\t\t\t\tid={contentId}\n\t\t\t\t>\n\t\t\t\t\t{this.props.children}\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t);\n\t}\n}\n\nExpandableSection.displayName = EXPANDABLE_SECTION;\nExpandableSection.propTypes = propTypes;\nExpandableSection.defaultProps = defaultProps;\n\nexport default ExpandableSection;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// # App Launcher Expandable Section Component\n\n// ## Dependencies\n\n// ### React\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\n// ### classNames\n// [github.com/JedWatson/classnames](https://github.com/JedWatson/classnames)\n// A simple javascript utility for conditionally joining classNames together.\nimport classNames from 'classnames';\n\n// This component's `checkProps` which issues warnings to developers about properties when in development mode (similar to React's built in development tools)\nimport checkProps from './check-props';\nimport componentDoc from './component.json';\n\n// ## Children\nimport ExpandableSection from '../expandable-section';\n\n// ## Constants\nimport {\n\tAPP_LAUNCHER_EXPANDABLE_SECTION,\n\tAPP_LAUNCHER_TILE,\n} from '../../utilities/constants';\n\n/**\n * App Launcher Sections allow users to categorize App Tiles & Links as well as toggle their display. It is a superset of components/expandable-section with content formatting.\n * All Expandable Section props are compatible with props passed to this component.\n */\nclass AppLauncherExpandableSection extends React.Component {\n\t// ### Display Name\n\t// Always use the canonical component name as the React display name.\n\tstatic displayName = APP_LAUNCHER_EXPANDABLE_SECTION;\n\n\t// ### Prop Types\n\tstatic propTypes = {\n\t\t/**\n\t\t * **Assistive text for accessibility.**\n\t\t * * `toggleSection`: Label for the icon that expands / collapses the section\n\t\t */\n\t\tassistiveText: PropTypes.shape({\n\t\t\ttoggleSection: PropTypes.string,\n\t\t}),\n\t\t/**\n\t\t * Contents of the section\n\t\t */\n\t\tchildren: PropTypes.node,\n\t\t/**\n\t\t * Class names to be added to the `slds-section` classed node\n\t\t */\n\t\tclassName: PropTypes.oneOfType([\n\t\t\tPropTypes.array,\n\t\t\tPropTypes.object,\n\t\t\tPropTypes.string,\n\t\t]),\n\t\t/**\n\t\t * Unique identifier for the expandable section. The id is automatically generated if not provided\n\t\t */\n\t\tid: PropTypes.string,\n\t\t/**\n\t\t * Specifies whether the section is expanded or collapsed. If not provided, component will use its own state to manage this itself\n\t\t */\n\t\tisOpen: PropTypes.bool,\n\t\t/**\n\t\t * Specifies whether the section can be expanded or collapsed. Defaults to `false`\n\t\t */\n\t\tnonCollapsible: PropTypes.bool,\n\t\t/**\n\t\t * Callback for when the section is expanded or collapsed. Passes event object and data object with `isOpen` bool.\n\t\t */\n\t\tonToggleOpen: PropTypes.func,\n\t\t/**\n\t\t * The title for the section\n\t\t */\n\t\ttitle: PropTypes.string.isRequired,\n\t};\n\n\tstate = {\n\t\tisOpen: true,\n\t};\n\n\tconstructor(props) {\n\t\tsuper(props);\n\n\t\tcheckProps(APP_LAUNCHER_EXPANDABLE_SECTION, props, componentDoc);\n\t}\n\n\ttoggleOpen = (event, data) => {\n\t\tif (this.props.onToggleOpen) {\n\t\t\tthis.props.onToggleOpen(event, data);\n\t\t} else {\n\t\t\tthis.setState((prevState) => ({\n\t\t\t\tisOpen: !prevState.isOpen,\n\t\t\t}));\n\t\t}\n\t};\n\n\trender() {\n\t\tconst expandableSectionProps = {\n\t\t\t...this.props,\n\t\t\t...{\n\t\t\t\tisOpen:\n\t\t\t\t\tthis.props.isOpen !== undefined\n\t\t\t\t\t\t? this.props.isOpen\n\t\t\t\t\t\t: this.state.isOpen,\n\t\t\t\tonToggleOpen: this.toggleOpen,\n\t\t\t},\n\t\t};\n\t\tlet ulChildrenType = 'tiles';\n\n\t\tconst ulContent = React.Children.map(this.props.children, (child) => {\n\t\t\tlet liClasses =\n\t\t\t\t'slds-p-horizontal_small slds-size_1-of-1 slds-medium-size_1-of-3';\n\n\t\t\tif (\n\t\t\t\t(child && child.type && child.type.displayName !== APP_LAUNCHER_TILE) ||\n\t\t\t\t(child && !child.type)\n\t\t\t) {\n\t\t\t\tulChildrenType = 'links';\n\t\t\t}\n\n\t\t\tif (ulChildrenType === 'links') {\n\t\t\t\tliClasses = 'slds-col_padded slds-p-vertical_xx-small slds-size_1-of-5';\n\t\t\t}\n\n\t\t\treturn <li className={liClasses}>{child}</li>;\n\t\t});\n\n\t\treturn (\n\t\t\t<ExpandableSection {...expandableSectionProps}>\n\t\t\t\t<ul\n\t\t\t\t\tclassName={classNames('slds-grid slds-wrap', {\n\t\t\t\t\t\t'slds-grid_pull-padded': ulChildrenType === 'tiles',\n\t\t\t\t\t})}\n\t\t\t\t>\n\t\t\t\t\t{ulContent}\n\t\t\t\t</ul>\n\t\t\t</ExpandableSection>\n\t\t);\n\t}\n}\n\nexport default AppLauncherExpandableSection;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// ### React\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\n// ### ReactHighlighter\nimport ReactHighlighter from 'react-highlighter';\n\n// ## Constants\nimport { HIGHLIGHTER } from '../../../utilities/constants';\n\n/**\n * A utility component that highlights occurrences of a particular pattern in its contents.\n */\nconst Highlighter = (props) => {\n\tif (props.search) {\n\t\tlet children;\n\t\tif (typeof props.children === 'string') {\n\t\t\tchildren = (\n\t\t\t\t<ReactHighlighter\n\t\t\t\t\tclassName={props.className}\n\t\t\t\t\tmatchClass={null}\n\t\t\t\t\tmatchElement=\"mark\"\n\t\t\t\t\tsearch={props.search}\n\t\t\t\t\ttitle={props.children}\n\t\t\t\t>\n\t\t\t\t\t{props.children}\n\t\t\t\t</ReactHighlighter>\n\t\t\t);\n\t\t} else {\n\t\t\tconst findString = (nodeArr) =>\n\t\t\t\tnodeArr.map((element) => {\n\t\t\t\t\tlet newElement;\n\t\t\t\t\tif (typeof element === 'string') {\n\t\t\t\t\t\tnewElement = (\n\t\t\t\t\t\t\t<ReactHighlighter\n\t\t\t\t\t\t\t\tkey={element}\n\t\t\t\t\t\t\t\tclassName={props.className}\n\t\t\t\t\t\t\t\tmatchClass={null}\n\t\t\t\t\t\t\t\tmatchElement=\"mark\"\n\t\t\t\t\t\t\t\tsearch={props.search}\n\t\t\t\t\t\t\t\ttitle={element}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{element}\n\t\t\t\t\t\t\t</ReactHighlighter>\n\t\t\t\t\t\t);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tnewElement = element;\n\t\t\t\t\t}\n\t\t\t\t\treturn newElement;\n\t\t\t\t});\n\n\t\t\tif (props.children.props) {\n\t\t\t\tconst node = props.children.props.children;\n\t\t\t\tchildren = node instanceof Array ? findString(node) : node;\n\t\t\t}\n\t\t}\n\n\t\treturn <span>{children}</span>;\n\t}\n\n\tif (typeof props.children === 'string') {\n\t\treturn (\n\t\t\t<span className={props.className} title={props.children}>\n\t\t\t\t{props.children}\n\t\t\t</span>\n\t\t);\n\t}\n\n\treturn <span className={props.className}>{props.children}</span>;\n};\n\n// ### Display Name\nHighlighter.displayName = HIGHLIGHTER;\n\n// ### Prop Types\nHighlighter.propTypes = {\n\t/**\n\t * The full string to display.\n\t */\n\tchildren: PropTypes.oneOfType([\n\t\tPropTypes.string,\n\t\tPropTypes.number,\n\t\tPropTypes.bool,\n\t\tPropTypes.node,\n\t]),\n\tclassName: PropTypes.string,\n\t/**\n\t * The string of text (or Regular Expression) to highlight.\n\t */\n\tsearch: PropTypes.any,\n};\n\nexport default Highlighter;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// # App Launcher Link Component\n\n// ## Dependencies\n\n// ### React\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\n// ### classNames\n// [github.com/JedWatson/classnames](https://github.com/JedWatson/classnames)\n// A simple javascript utility for conditionally joining classNames together.\nimport classNames from 'classnames';\n\n// ### Children\nimport Highlighter from '../utilities/highlighter';\n\n// ## Constants\nimport { APP_LAUNCHER_LINK } from '../../utilities/constants';\n\n/**\n * App Launcher Link component creates simple links to be used in \"All Items\" sections\n */\nclass AppLauncherLink extends React.Component {\n\t// ### Display Name\n\t// Always use the canonical component name as the React display name.\n\tstatic displayName = APP_LAUNCHER_LINK;\n\n\t// ### Prop Types\n\tstatic propTypes = {\n\t\t/**\n\t\t * Contents of the link\n\t\t */\n\t\tchildren: PropTypes.node,\n\t\t/**\n\t\t * Classes to be applied to the link\n\t\t */\n\t\tclassName: PropTypes.oneOfType([\n\t\t\tPropTypes.array,\n\t\t\tPropTypes.object,\n\t\t\tPropTypes.string,\n\t\t]),\n\t\t/**\n\t\t * The `href` attribute of the link. If the `onClick` callback is specified this URL will be prevented from changing the browser's location.\n\t\t */\n\t\thref: PropTypes.string,\n\t\t/**\n\t\t * Callback for when the link is clicked. Passes back event and data object with href prop. Prevents click from changing browser's location if set.\n\t\t */\n\t\tonClick: PropTypes.func,\n\t\t/**\n\t\t * Text used to highlight content in link\n\t\t */\n\t\tsearch: PropTypes.string,\n\t\t/**\n\t\t * The title for the link. If not provided it will attempt to use child content if that content is a string.\n\t\t */\n\t\ttitle: PropTypes.string,\n\t};\n\n\t// ### Default Props\n\tstatic defaultProps = {\n\t\thref: 'javascript:void(0);', // eslint-disable-line no-script-url\n\t};\n\n\trender() {\n\t\tlet { title } = this.props;\n\n\t\tif (!title && typeof this.props.children === 'string') {\n\t\t\ttitle = this.props.children;\n\t\t}\n\n\t\treturn (\n\t\t\t<a\n\t\t\t\thref={this.props.href} // eslint-disable-line no-script-url\n\t\t\t\tclassName={classNames('slds-truncate', this.props.className)}\n\t\t\t\tonClick={(event) => {\n\t\t\t\t\tif (this.props.onClick) {\n\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t\tthis.props.onClick(event, { href: this.props.href });\n\t\t\t\t\t}\n\t\t\t\t}}\n\t\t\t\ttitle={title}\n\t\t\t>\n\t\t\t\t<Highlighter search={this.props.search}>\n\t\t\t\t\t{this.props.children}\n\t\t\t\t</Highlighter>\n\t\t\t</a>\n\t\t);\n\t}\n}\n\nexport default AppLauncherLink;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\nimport React from 'react';\n\nimport PropTypes from 'prop-types';\n\nimport memoize from 'lodash.memoize';\n\nconst documentDefined = typeof document !== 'undefined';\n\nlet canvas;\nlet docFragment;\nlet canvasContext;\nlet measureWidth = () => 0;\n\nif (documentDefined) {\n\tcanvas = document.createElement('canvas');\n\tif (canvas.getContext) {\n\t\tdocFragment = document.createDocumentFragment();\n\t\tdocFragment.appendChild(canvas);\n\t\tcanvasContext = canvas.getContext('2d');\n\t\tmeasureWidth = memoize((text, font) => {\n\t\t\tcanvasContext.font = font;\n\t\t\treturn canvasContext.measureText(text).width;\n\t\t});\n\t}\n}\n\nclass TextTruncate extends React.Component {\n\tstatic displayName = 'TextTruncate';\n\n\tstatic propTypes = {\n\t\tcontainerClassName: PropTypes.string,\n\t\tline: PropTypes.number,\n\t\tprefix: PropTypes.string,\n\t\tsuffix: PropTypes.string,\n\t\ttext: PropTypes.string,\n\t\ttextTruncateChild: PropTypes.node,\n\t\ttruncateText: PropTypes.string,\n\t\twrapper: PropTypes.func,\n\t};\n\n\tstatic defaultProps = {\n\t\tline: 1,\n\t\ttext: '',\n\t\ttruncateText: '…',\n\t};\n\n\tstate = {};\n\n\tcomponentDidMount() {\n\t\twindow.addEventListener('resize', this.onResize, false);\n\t}\n\n\tcomponentDidUpdate(nextProps) {\n\t\tif (nextProps.text !== this.props.text) {\n\t\t\tthis.update(nextProps);\n\t\t}\n\t}\n\n\tcomponentWillUnmount() {\n\t\twindow.removeEventListener('resize', this.onResize, false);\n\t}\n\n\tonResize = () => {\n\t\tthis.update(this.props);\n\t};\n\n\tgetRenderText = (ref, nextProps) => {\n\t\tif (!ref) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis.scope = ref;\n\n\t\t// nextProps will be undefined for resize events, but will change if search or other props are changed\n\t\tlet propsToRender;\n\t\tif (nextProps) {\n\t\t\tpropsToRender = nextProps;\n\t\t} else {\n\t\t\tpropsToRender = this.props;\n\t\t}\n\n\t\tconst {\n\t\t\tcontainerClassName, // eslint-disable-line no-unused-vars\n\t\t\tline,\n\t\t\tprefix,\n\t\t\tsuffix,\n\t\t\ttext,\n\t\t\ttextTruncateChild,\n\t\t\ttruncateText,\n\t\t\twrapper,\n\t\t\t...props\n\t\t} = propsToRender;\n\n\t\tconst scopeWidth = this.scope.getBoundingClientRect().width;\n\t\tconst style = window.getComputedStyle(this.scope);\n\t\tconst font = [\n\t\t\tstyle['font-weight'],\n\t\t\tstyle['font-style'],\n\t\t\tstyle['font-size'],\n\t\t\tstyle['font-family'],\n\t\t].join(' ');\n\n\t\t// return if display:none\n\t\tif (scopeWidth === 0) {\n\t\t\tthis.setState({ renderText: null });\n\t\t\treturn;\n\t\t}\n\n\t\tlet child;\n\t\tlet outputText = text;\n\n\t\t// return if all of text can be displayed\n\t\tif (scopeWidth < measureWidth(text, font)) {\n\t\t\tlet currentPos = 1;\n\t\t\tconst maxTextLength = text.length;\n\t\t\tlet truncatedText = '';\n\t\t\tlet splitPos = 0;\n\t\t\tlet startPos = 0;\n\t\t\tlet displayLine = line;\n\t\t\tlet width = 0;\n\t\t\tlet lastIsEng = false;\n\t\t\tlet lastSpaceIndex = -1;\n\n\t\t\t// eslint-disable-next-line fp/no-loops\n\t\t\twhile (displayLine !== 0) {\n\t\t\t\tlet ext = '';\n\t\t\t\tlet extraWidthDueToPrefixStyle = 0;\n\n\t\t\t\tif (prefix && displayLine === line - 1) {\n\t\t\t\t\text += ` ${prefix}`;\n\t\t\t\t\t// MAGIC NUMBER: (width at letter-spacing of 0.25rems - width at normal) / number of letters\n\t\t\t\t\textraWidthDueToPrefixStyle = prefix.length * 0.66;\n\t\t\t\t}\n\n\t\t\t\tif (!displayLine) {\n\t\t\t\t\text += truncateText;\n\n\t\t\t\t\tif (suffix) {\n\t\t\t\t\t\text += ` ${suffix}`;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t// eslint-disable-next-line fp/no-loops\n\t\t\t\twhile (currentPos <= maxTextLength) {\n\t\t\t\t\ttruncatedText = text.substr(startPos, currentPos);\n\t\t\t\t\twidth =\n\t\t\t\t\t\tmeasureWidth(truncatedText + ext, font) +\n\t\t\t\t\t\textraWidthDueToPrefixStyle;\n\n\t\t\t\t\tif (width < scopeWidth) {\n\t\t\t\t\t\tsplitPos = text.indexOf(' ', currentPos + 1);\n\t\t\t\t\t\tif (splitPos === -1) {\n\t\t\t\t\t\t\tcurrentPos += 1;\n\t\t\t\t\t\t\tlastIsEng = false;\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tlastIsEng = true;\n\t\t\t\t\t\t\tcurrentPos = splitPos;\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\n\t\t\t\t\t\tlet lastWidth = 0;\n\t\t\t\t\t\t// eslint-disable-next-line fp/no-loops\n\t\t\t\t\t\tdo {\n\t\t\t\t\t\t\tcurrentPos -= 1;\n\t\t\t\t\t\t\ttruncatedText = text.substr(startPos, currentPos);\n\t\t\t\t\t\t\tif (truncatedText[truncatedText.length - 1] === ' ') {\n\t\t\t\t\t\t\t\ttruncatedText = text.substr(startPos, currentPos - 1);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tif (lastIsEng) {\n\t\t\t\t\t\t\t\tlastSpaceIndex = truncatedText.lastIndexOf(' ');\n\t\t\t\t\t\t\t\tif (lastSpaceIndex > -1) {\n\t\t\t\t\t\t\t\t\tcurrentPos = lastSpaceIndex;\n\t\t\t\t\t\t\t\t\ttruncatedText = text.substr(startPos, currentPos);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\twidth =\n\t\t\t\t\t\t\t\tmeasureWidth(truncatedText + ext, font) +\n\t\t\t\t\t\t\t\textraWidthDueToPrefixStyle;\n\t\t\t\t\t\t\tif (width === lastWidth) {\n\t\t\t\t\t\t\t\tcurrentPos = 0;\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tlastWidth = width;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} while (width >= scopeWidth);\n\t\t\t\t\t\tstartPos += currentPos;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tif (currentPos >= maxTextLength) {\n\t\t\t\t\tstartPos = maxTextLength;\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\n\t\t\t\tdisplayLine -= 1; // iterate\n\t\t\t}\n\n\t\t\tif (startPos !== maxTextLength) {\n\t\t\t\toutputText = `${text.substr(0, startPos)}${truncateText} `;\n\t\t\t\tchild = textTruncateChild;\n\t\t\t}\n\t\t}\n\n\t\tlet renderText;\n\t\tif (wrapper) {\n\t\t\trenderText = wrapper(outputText, child);\n\t\t} else {\n\t\t\trenderText = (\n\t\t\t\t<div {...props}>\n\t\t\t\t\t{outputText}\n\t\t\t\t\t{child}\n\t\t\t\t</div>\n\t\t\t);\n\t\t}\n\n\t\tthis.setState({ renderText });\n\t};\n\n\tupdate = (nextProps) => {\n\t\tthis.getRenderText(this.scope, nextProps);\n\t};\n\n\trender() {\n\t\tconst { containerClassName } = this.props;\n\n\t\t// inline style override\n\t\treturn (\n\t\t\t<div\n\t\t\t\tref={this.getRenderText}\n\t\t\t\tclassName={containerClassName}\n\t\t\t\tstyle={{ overflow: 'hidden' }}\n\t\t\t>\n\t\t\t\t{this.state.renderText}\n\t\t\t</div>\n\t\t);\n\t}\n}\n\nexport default TextTruncate;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n/* eslint-disable jsx-a11y/no-noninteractive-tabindex */\n\n// # App Launcher Tile Component\n\n// ## Dependencies\n\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\n\n// This component's `checkProps` which issues warnings to developers about properties when in development mode (similar to React's built in development tools)\nimport checkProps from './check-props';\nimport componentDoc from './component.json';\n\n// ## Children\nimport Button from '../button';\nimport Highlighter from '../utilities/highlighter';\nimport Tooltip from '../tooltip';\nimport Truncate from '../utilities/truncate';\n\nimport { APP_LAUNCHER_TILE } from '../../utilities/constants';\n\nconst propTypes = {\n\t/**\n\t * **Assistive text for accessibility.**\n\t * * `dragIconText`: Text that describes the purpose of the drag handle icon.\n\t */\n\tassistiveText: PropTypes.shape({\n\t\tdragIconText: PropTypes.string,\n\t}),\n\t/**\n\t * Class names to be added to the tile.\n\t */\n\tclassName: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\t/**\n\t * The description of the app. Not visible on small tiles.\n\t */\n\tdescription: PropTypes.string,\n\t/**\n\t * Heading for app description. NOTE: this prop is DEPRECATED and use should be avoided\n\t */\n\tdescriptionHeading: PropTypes.string,\n\t/**\n\t * The `href` attribute of the tile. Please pass in bookmarkable URLs from your routing library. If the `onClick` callback is specified this URL will be prevented from changing the browser's location.\n\t */\n\thref: PropTypes.string,\n\t/**\n\t * Background color to be used on the icon. Only applied if iconNode is undefined\n\t */\n\ticonBackgroundColor: PropTypes.string,\n\t/**\n\t * Icon node for app tile. Takes priority over `iconText`\n\t */\n\ticonNode: PropTypes.node,\n\t/**\n\t * Text to be used as an icon. Only renders if iconNode is undefined\n\t */\n\ticonText: PropTypes.string,\n\t/**\n\t * Open the More Tooltip\n\t */\n\tisOpenTooltip: PropTypes.bool,\n\t/**\n\t * The localized text for the \"More information\" tooltip.\n\t */\n\tmoreLabel: PropTypes.string,\n\t/**\n\t * Function that will be executed when clicking on a tile\n\t */\n\tonClick: PropTypes.func,\n\t/**\n\t * Text used to highlight content in app tiles\n\t */\n\tsearch: PropTypes.string,\n\t/**\n\t * App name for the tile's title.\n\t */\n\ttitle: PropTypes.string.isRequired,\n\n\t// Future feature: add Highlighter to Truncate text (https://github.com/ShinyChang/React-Text-Truncate/issues/32)\n};\n\nconst defaultProps = {\n\tassistiveText: {\n\t\tdragIconText: 'Reorder',\n\t},\n\thref: 'javascript:void(0);', // eslint-disable-line no-script-url\n\tmoreLabel: ' More',\n};\n\n/**\n * App Launcher Tiles provide information and links to a user's apps\n */\nclass AppLauncherTile extends React.Component {\n\tconstructor(props) {\n\t\tsuper(props);\n\n\t\t// `checkProps` issues warnings to developers about properties (similar to React's built in development tools)\n\t\tcheckProps(APP_LAUNCHER_TILE, props, componentDoc);\n\t}\n\n\thandleClick = (event) => {\n\t\tif (this.props.onClick) {\n\t\t\tevent.preventDefault();\n\t\t\tthis.props.onClick(event, { href: this.props.href });\n\t\t}\n\t};\n\n\trender() {\n\t\tconst dragButtonAriaProps = { 'aria-pressed': false };\n\t\tconst iconStyles = {};\n\n\t\tif (this.props.iconBackgroundColor) {\n\t\t\ticonStyles.backgroundColor = this.props.iconBackgroundColor;\n\t\t}\n\n\t\treturn (\n\t\t\t<div\n\t\t\t\tclassName={classNames(\n\t\t\t\t\t'slds-app-launcher__tile slds-text-link_reset slds-is-draggable', // NOTE: while the draggable class is here for stylistic purposes, the draggable attribute is not present as draggability has not been implemented yet\n\t\t\t\t\tthis.props.className\n\t\t\t\t)}\n\t\t\t\tonClick={this.handleClick}\n\t\t\t\trole=\"button\"\n\t\t\t\ttabIndex=\"0\"\n\t\t\t>\n\t\t\t\t<div className=\"slds-app-launcher__tile-figure\">\n\t\t\t\t\t{this.props.iconNode || (\n\t\t\t\t\t\t<span className=\"slds-avatar slds-avatar_large\">\n\t\t\t\t\t\t\t<abbr\n\t\t\t\t\t\t\t\tclassName=\"slds-avatar__initials slds-icon-custom-27\"\n\t\t\t\t\t\t\t\tstyle={iconStyles}\n\t\t\t\t\t\t\t\ttitle={this.props.title}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{this.props.iconText}\n\t\t\t\t\t\t\t</abbr>\n\t\t\t\t\t\t</span>\n\t\t\t\t\t)}\n\t\t\t\t\t<div className=\"slds-m-top_xxx-small\">\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tassistiveText={{\n\t\t\t\t\t\t\t\ticon: this.props.assistiveText.dragIconText,\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\ticonCategory=\"utility\"\n\t\t\t\t\t\t\ticonName=\"rows\"\n\t\t\t\t\t\t\ttitle={this.props.assistiveText.dragIconText}\n\t\t\t\t\t\t\tvariant=\"icon\"\n\t\t\t\t\t\t\t{...dragButtonAriaProps}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t\t<div className=\"slds-app-launcher__tile-body\">\n\t\t\t\t\t<a\n\t\t\t\t\t\thref={this.props.href} // eslint-disable-line no-script-url\n\t\t\t\t\t>\n\t\t\t\t\t\t<Highlighter search={this.props.search}>\n\t\t\t\t\t\t\t{this.props.title}\n\t\t\t\t\t\t</Highlighter>\n\t\t\t\t\t</a>\n\t\t\t\t\t<Truncate\n\t\t\t\t\t\tline={2}\n\t\t\t\t\t\tprefix={\n\t\t\t\t\t\t\tthis.props.descriptionHeading &&\n\t\t\t\t\t\t\tthis.props.descriptionHeading.toUpperCase()\n\t\t\t\t\t\t}\n\t\t\t\t\t\tsuffix={this.props.moreLabel}\n\t\t\t\t\t\ttext={this.props.description}\n\t\t\t\t\t\ttextTruncateChild={\n\t\t\t\t\t\t\t<Tooltip\n\t\t\t\t\t\t\t\talign=\"bottom\"\n\t\t\t\t\t\t\t\tcontent={\n\t\t\t\t\t\t\t\t\t<Highlighter search={this.props.search}>\n\t\t\t\t\t\t\t\t\t\t{this.props.description}\n\t\t\t\t\t\t\t\t\t</Highlighter>\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tisOpen={this.props.isOpenTooltip}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\tclassName=\"slds-button_reset slds-text-link\"\n\t\t\t\t\t\t\t\t\tvariant=\"base\"\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{this.props.moreLabel}\n\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t</Tooltip>\n\t\t\t\t\t\t}\n\t\t\t\t\t\twrapper={(text, textTruncateChild) => (\n\t\t\t\t\t\t\t<React.Fragment>\n\t\t\t\t\t\t\t\t{this.props.descriptionHeading && (\n\t\t\t\t\t\t\t\t\t// inline style override\n\t\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\t\tclassName=\"slds-text-heading_label\"\n\t\t\t\t\t\t\t\t\t\tstyle={{ letterSpacing: '0.025rem' }}\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{this.props.descriptionHeading}{' '}\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t<Highlighter search={this.props.search}>{text}</Highlighter>\n\t\t\t\t\t\t\t\t{textTruncateChild && ' '}\n\t\t\t\t\t\t\t\t{textTruncateChild}\n\t\t\t\t\t\t\t</React.Fragment>\n\t\t\t\t\t\t)}\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t);\n\t}\n}\n\nAppLauncherTile.displayName = APP_LAUNCHER_TILE;\nAppLauncherTile.defaultProps = defaultProps;\nAppLauncherTile.propTypes = propTypes;\n\nexport default AppLauncherTile;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n/* eslint-disable import/no-mutable-exports */\n\nimport sunsetProperty from '../../utilities/warning/sunset-property';\nimport getComponentDocFn from '../../utilities/get-component-doc';\n\nlet checkProps = function checkPropsFunction() {};\n\nif (process.env.NODE_ENV !== 'production') {\n\tcheckProps = function checkPropsFunction(COMPONENT, props, jsonDoc) {\n\t\tconst createDocUrl = getComponentDocFn(jsonDoc);\n\t\tif (typeof props.assistiveText === 'string') {\n\t\t\tsunsetProperty(\n\t\t\t\tCOMPONENT,\n\t\t\t\tprops.assistiveText,\n\t\t\t\t'assistiveText',\n\t\t\t\t`\\`assistiveText\\` as a string has been deprecated and is now an object to allow for multiple uses in the component. Please use \\`assistiveText.icon\\` instead. ${createDocUrl(\n\t\t\t\t\t'assistiveText'\n\t\t\t\t)}`\n\t\t\t);\n\t\t}\n\t};\n}\n\nexport default checkProps;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// # Avatar Component\n\n// Implements the [Avatar design pattern](https://lightningdesignsystem.com/components/avatar/) in React.\n\n// ### React\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\n// This component's `checkProps` which issues warnings to developers about properties when in development mode (similar to React's built in development tools)\nimport checkProps from './check-props';\n\n// ### classNames\n// [github.com/JedWatson/classnames](https://github.com/JedWatson/classnames) A\n// simple javascript utility for conditionally joining classNames together.\nimport classNames from '../../utilities/class-names';\nimport { AVATAR } from '../../utilities/constants';\nimport UtilityIcon from '../icon';\nimport componentDoc from './component.json';\n\n// ### Display Name Always use the canonical component name as the React display\n// name.\nconst displayName = AVATAR;\n\n// ### Prop Types\nconst propTypes = {\n\t/**\n\t * **Assistive text for accessibility.**\n\t * This object is merged with the default props object on every render.\n\t * * `icon`: Assistive text for accessibility that labels the icon.\n\t */\n\tassistiveText: PropTypes.shape({\n\t\ticon: PropTypes.string,\n\t}),\n\t/**\n\t * Alt attribute to be applied to image (base case) element.\n\t */\n\timgAlt: PropTypes.string,\n\t/**\n\t * Source attribute to be applied to image (base case) element.\n\t */\n\timgSrc: PropTypes.string,\n\t/**\n\t * Initials attribute to optionally pass in initials directly in case of \"initials\" fallback case.\n\t */\n\tinitials: PropTypes.string,\n\t/**\n\t * Avatar with initials that are dark text on light background\n\t */\n\tinverse: PropTypes.bool,\n\t/**\n\t * Label attibute to display inside \"initials\" fallback case. Will be passed as title prop in `abbr` element to provide more specificity.\n\t */\n\tlabel: PropTypes.string,\n\t/**\n\t * Avatar variants to apply relevant styling (circle: user, square: entity) and icon rendering if applicable.\n\t */\n\tvariant: PropTypes.oneOf(['entity', 'user']).isRequired,\n\t/**\n\t * Size of the icon in \"icon\" fallback case.\n\t */\n\tsize: PropTypes.oneOf(['x-small', 'small', 'medium', 'large']).isRequired,\n\t/**\n\t * Title attribute for the avatar container.\n\t */\n\ttitle: PropTypes.string,\n};\n\nconst defaultProps = {\n\tassistiveText: {\n\t\ticon: 'User or Account Icon',\n\t},\n\timgAlt: '',\n\tsize: 'medium',\n\ttitle: 'user avatar',\n\tvariant: 'user',\n};\n\n/**\n * The avatar component represents an object or entity. An image is the preferred format for an avatar.\n If the `imgSrc` prop is undefined, and if a `label` or `initials` prop is available, the fallback avatar will render with initials. If initals are passed in directly in the `initials` prop, this will render in the fallback avatar. If `initals` prop is unavailable but a `label` prop is available, the fallback avatar will render with built initials of the user name or entity name.\n\n Intials built from the `label` prop will apply the following logic: If the label name contains two words, like first and last name, the first letter of each will be capitalized and returned. For labels that only have a single word name, the first two letters of that word, using one capital and one lower case letter, will be returned. For labels that contain three or more words, the first character of the first and last words will be capitalized and returned.\n\n If `initials` or `label` are not available, the fallback avatar will render a standard icon. If `variant='user'`, a user icon will\n render. If `variant='entity'`, an account icon will render.\n */\n\nclass Avatar extends React.Component {\n\tconstructor(props) {\n\t\tsuper(props);\n\t\tthis.state = {\n\t\t\timgLoadError: false,\n\t\t};\n\n\t\tcheckProps(AVATAR, props, componentDoc);\n\t}\n\n\tbuildInitials() {\n\t\tconst { label } = this.props;\n\t\tconst name = label.trim();\n\t\tconst nameParts = name.split(' ');\n\t\tif (nameParts.length > 1) {\n\t\t\treturn (\n\t\t\t\tnameParts[0].charAt(0).toUpperCase() +\n\t\t\t\tnameParts[nameParts.length - 1].charAt(0).toUpperCase()\n\t\t\t);\n\t\t}\n\t\treturn (name[0] || '').toUpperCase() + (name[1] || '').toLowerCase();\n\t}\n\n\thandleImageError() {\n\t\treturn this.setState(() => ({ imgLoadError: true }));\n\t}\n\n\trenderBaseAvatar() {\n\t\tconst { imgAlt, imgSrc, title } = this.props;\n\t\treturn (\n\t\t\t<img\n\t\t\t\talt={imgAlt}\n\t\t\t\tsrc={imgSrc}\n\t\t\t\tonError={() => this.handleImageError()}\n\t\t\t\ttitle={title}\n\t\t\t/>\n\t\t);\n\t}\n\n\trenderIconAvatar() {\n\t\tconst { variant } = this.props;\n\t\tconst iconAssistiveText =\n\t\t\ttypeof this.props.assistiveText === 'string'\n\t\t\t\t? this.props.assistiveText\n\t\t\t\t: {\n\t\t\t\t\t\t...defaultProps.assistiveText,\n\t\t\t\t\t\t...this.props.assistiveText,\n\t\t\t\t }.icon;\n\t\treturn (\n\t\t\t<UtilityIcon\n\t\t\t\tassistiveText={{ label: iconAssistiveText }}\n\t\t\t\tcategory=\"standard\"\n\t\t\t\tname={variant === 'entity' ? 'account' : 'user'}\n\t\t\t/>\n\t\t);\n\t}\n\n\trenderInitialsAvatar() {\n\t\tconst { initials, inverse, label, variant } = this.props;\n\t\treturn (\n\t\t\t<abbr\n\t\t\t\tclassName={classNames('slds-avatar__initials', {\n\t\t\t\t\t'slds-avatar__initials_inverse': inverse,\n\t\t\t\t\t'slds-icon-standard-account': variant === 'entity',\n\t\t\t\t\t'slds-icon-standard-user': variant === 'user',\n\t\t\t\t})}\n\t\t\t\ttitle={label}\n\t\t\t>\n\t\t\t\t{initials ? initials : this.buildInitials()}\n\t\t\t</abbr>\n\t\t);\n\t}\n\n\trender() {\n\t\tconst { imgSrc, initials, variant, label, size } = this.props;\n\n\t\tconst renderAvatar = () => {\n\t\t\t/* eslint no-unneeded-ternary: */\n\t\t\tif (!this.state.imgLoadError && imgSrc) {\n\t\t\t\treturn this.renderBaseAvatar();\n\t\t\t}\n\t\t\tif (initials || (label && label.trim())) {\n\t\t\t\treturn this.renderInitialsAvatar();\n\t\t\t}\n\t\t\treturn this.renderIconAvatar();\n\t\t};\n\n\t\treturn (\n\t\t\t<div>\n\t\t\t\t<span\n\t\t\t\t\tclassName={classNames('slds-avatar', {\n\t\t\t\t\t\t'slds-avatar_circle': variant === 'user',\n\t\t\t\t\t\t'slds-avatar_x-small': size === 'x-small',\n\t\t\t\t\t\t'slds-avatar_small': size === 'small',\n\t\t\t\t\t\t'slds-avatar_medium': size === 'medium',\n\t\t\t\t\t\t'slds-avatar_large': size === 'large',\n\t\t\t\t\t})}\n\t\t\t\t>\n\t\t\t\t\t{renderAvatar()}\n\t\t\t\t</span>\n\t\t\t</div>\n\t\t);\n\t}\n}\n\nAvatar.defaultProps = defaultProps;\nAvatar.displayName = displayName;\nAvatar.propTypes = propTypes;\n\nexport default Avatar;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// Implements the [Badge design pattern](https://latest-216.lightningdesignsystem.com/components/badges/) in React.\n\n// ## Dependencies\n\n// ### React\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\n\n// ### shortid\n// [npmjs.com/package/shortid](https://www.npmjs.com/package/shortid)\n// shortid is a short, non-sequential, url-friendly, unique id generator\nimport shortid from 'shortid';\n\n// ## Constants\nimport { BADGE } from '../../utilities/constants';\n\n/**\n * Badges are labels which hold small amounts of information.\n */\nclass Badge extends React.Component {\n\tconstructor(props) {\n\t\tsuper(props);\n\t\tthis.generatedId = shortid.generate();\n\t}\n\n\t/**\n\t * Get the Badge's HTML id. Generate a new one if no ID present.\n\t */\n\tgetId() {\n\t\treturn this.props.id || this.generatedId;\n\t}\n\n\trender() {\n\t\tconst icon = this.props.icon && (\n\t\t\t<span\n\t\t\t\tclassName={classNames(\n\t\t\t\t\t'slds-badge__icon',\n\t\t\t\t\t`slds-badge__icon_${this.props.iconAlignment}`\n\t\t\t\t)}\n\t\t\t\tstyle={this.props.style}\n\t\t\t>\n\t\t\t\t{this.props.icon}\n\t\t\t</span>\n\t\t);\n\n\t\treturn (\n\t\t\t<span\n\t\t\t\tid={this.getId()}\n\t\t\t\tclassName={classNames(\n\t\t\t\t\t'slds-badge',\n\t\t\t\t\t{\n\t\t\t\t\t\t'slds-badge_inverse': this.props.color === 'inverse',\n\t\t\t\t\t\t'slds-badge_lightest': this.props.color === 'light',\n\t\t\t\t\t\t'slds-theme_success': this.props.color === 'success',\n\t\t\t\t\t\t'slds-theme_warning': this.props.color === 'warning',\n\t\t\t\t\t\t'slds-theme_error': this.props.color === 'error',\n\t\t\t\t\t},\n\t\t\t\t\tthis.props.className\n\t\t\t\t)}\n\t\t\t>\n\t\t\t\t{this.props.iconAlignment === 'left' ? (\n\t\t\t\t\t<React.Fragment>\n\t\t\t\t\t\t{icon}\n\t\t\t\t\t\t{this.props.content}\n\t\t\t\t\t</React.Fragment>\n\t\t\t\t) : (\n\t\t\t\t\t<React.Fragment>\n\t\t\t\t\t\t{this.props.content}\n\t\t\t\t\t\t{icon}\n\t\t\t\t\t</React.Fragment>\n\t\t\t\t)}\n\t\t\t</span>\n\t\t);\n\t}\n}\n\nBadge.displayName = BADGE;\n\nBadge.propTypes = {\n\t/**\n\t * CSS classes that are applied to the component\n\t */\n\tclassName: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\n\t/**\n\t * Id of component, if desired. If not provided an id is automatically generated\n\t */\n\tid: PropTypes.string,\n\n\t/**\n\t * Custom styles to be passed to the component\n\t */\n\tstyle: PropTypes.object,\n\n\t/**\n\t * Color variant for the badge component\n\t */\n\tcolor: PropTypes.oneOf([\n\t\t'default',\n\t\t'inverse',\n\t\t'light',\n\t\t'success',\n\t\t'warning',\n\t\t'error',\n\t]),\n\n\t/**\n\t * Icon alignment for the badge component\n\t */\n\ticonAlignment: PropTypes.oneOf(['left', 'right']),\n\n\t/**\n\t * Content to be placed inside the badge component\n\t */\n\tcontent: PropTypes.oneOfType([PropTypes.string, PropTypes.node]),\n};\n\nBadge.defaultProps = {\n\ticonAlignment: 'left',\n\tcolor: 'default',\n};\n\nexport default Badge;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// # Brand Band Component\n\n// Implements the [Brand Band design pattern](https://latest-216.lightningdesignsystem.com/components/brand-band/) in React.\n\n// ## Dependencies\n\n// ### React\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\n// ### shortid\n// [npmjs.com/package/shortid](https://www.npmjs.com/package/shortid)\n// shortid is a short, non-sequential, url-friendly, unique id generator\nimport shortid from 'shortid';\n\n// ### classNames\n// [github.com/JedWatson/classnames](https://github.com/JedWatson/classnames)\n// A simple javascript utility for conditionally joining classNames together.\nimport classNames from '../../utilities/class-names';\n\n// ## Constants\nimport { BRAND_BAND } from '../../utilities/constants';\n\n/**\n * The brand band provides theming capability that adds personality and improves information density and contrast.\n *\n * NOTE: you may find that themes other than 'default' fail to load the appropriate styling in your application.\n * If this occurs the cause is very likely to be CSP settings on the server hosting your application protecting against style injections.\n * Changing these settings is not recommended. Instead, add the following styles to any stylesheet provided by the server itself (such as an external stylesheet):\n *\n * When using 'lightning-theme':\n * .slds-brand-band.dsr-brand-band_lightning-blue:before {\n * background-image: url(/assets/images/themes/oneSalesforce/banner-brand-default.png), linear-gradient(to top, rgba(175, 197, 222, 0) 0, #1B5F9E);\n * }\n * .slds-brand-band.dsr-brand-band_lightning-blue:after {\n * background-image: linear-gradient(to bottom, rgba(175, 197, 222, 0) 60%, #AFC5DE);\n * }\n *\n * For more information on the problem, [see this Stack Overflow question](https://stackoverflow.com/questions/17766817/refused-to-apply-inline-style-because-it-violates-the-following-content-security)\n */\nclass BrandBand extends React.Component {\n\tstatic injectLightningBlueStyles() {\n\t\treturn (\n\t\t\t<style>{`.slds-brand-band.dsr-brand-band_lightning-blue:before {\n\tbackground-image: url(/assets/images/themes/oneSalesforce/banner-brand-default.png), linear-gradient(to top, rgba(175, 197, 222, 0) 0, #1B5F9E);\n}\n.slds-brand-band.dsr-brand-band_lightning-blue:after {\n\tbackground-image: linear-gradient(to bottom, rgba(175, 197, 222, 0) 60%, #AFC5DE);\n}`}</style>\n\t\t);\n\t}\n\n\tconstructor(props) {\n\t\tsuper(props);\n\t\tthis.generatedId = shortid.generate();\n\t}\n\n\tgetId() {\n\t\treturn this.props.id || this.generatedId;\n\t}\n\n\trender() {\n\t\tconst { props } = this;\n\n\t\treturn (\n\t\t\t<div\n\t\t\t\tstyle={{\n\t\t\t\t\tbackground: 'rgb(176, 196, 223)',\n\t\t\t\t\theight: '100%',\n\t\t\t\t\tposition: 'relative',\n\t\t\t\t\twidth: '100%',\n\t\t\t\t\tzIndex: 1,\n\t\t\t\t\t...props.styleContainer,\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\t{BrandBand.injectLightningBlueStyles()}\n\t\t\t\t<div\n\t\t\t\t\tclassName={classNames(\n\t\t\t\t\t\t'slds-brand-band',\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t'slds-brand-band_small': props.size === 'small',\n\t\t\t\t\t\t\t'slds-brand-band_medium': props.size === 'medium',\n\t\t\t\t\t\t\t'slds-brand-band_large': props.size === 'large',\n\t\t\t\t\t\t\t'slds-brand-band_cover': props.backgroundSize === 'cover',\n\t\t\t\t\t\t\t'slds-brand-band_none': props.image === 'none',\n\n\t\t\t\t\t\t\t'dsr-brand-band_lightning-blue': true,\n\t\t\t\t\t\t},\n\t\t\t\t\t\tprops.className\n\t\t\t\t\t)}\n\t\t\t\t\tid={this.getId()}\n\t\t\t\t\tstyle={props.style}\n\t\t\t\t>\n\t\t\t\t\t{props.children}\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t);\n\t}\n}\n\nBrandBand.displayName = BRAND_BAND;\n\nBrandBand.propTypes = {\n\t/**\n\t * Primary application grid layout or a white background component such as a `Card` should be passed into this component.\n\t */\n\tchildren: PropTypes.node,\n\n\t/**\n\t * CSS classes that are applied to the component\n\t */\n\tclassName: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\n\t/**\n\t * Id of component, if desired. If not provided an id is automatically generated\n\t */\n\tid: PropTypes.string,\n\n\t/**\n\t * Image of the brand band\n\t */\n\timage: PropTypes.oneOf(['default', 'none']),\n\n\t/**\n\t * Background size of the brand band. Default is 'contain'\n\t */\n\tbackgroundSize: PropTypes.oneOf(['contain', 'cover']),\n\t/**\n\t * Size of the brand band. Default is 'medium'\n\t */\n\tsize: PropTypes.oneOf(['small', 'medium', 'large']),\n\n\t/**\n\t * Custom styles to be passed to the component\n\t */\n\tstyle: PropTypes.object,\n\n\t/**\n\t * Custom styles to be passed to the component container\n\t */\n\tstyleContainer: PropTypes.object,\n\n\t/**\n\t * Different brand band styling.\n\t * NOTE: using 'lightning-blue' may result in incorrect styling depending on server CSP settings. See opening component documentation above for details.\n\t */\n\ttheme: PropTypes.oneOf(['default', 'lightning-blue']),\n};\n\nBrandBand.defaultProps = {\n\tbackgroundSize: 'contain',\n\timage: 'default',\n\tsize: 'medium',\n\ttheme: 'default',\n};\n\nexport default BrandBand;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n/* eslint-disable import/no-mutable-exports */\n\nimport sunsetProperty from '../../utilities/warning/sunset-property';\nimport getComponentDocFn from '../../utilities/get-component-doc';\n\nlet checkProps = function checkPropsFunction() {};\n\nif (process.env.NODE_ENV !== 'production') {\n\tcheckProps = function checkPropsFunction(COMPONENT, props, jsonDoc) {\n\t\tconst createDocUrl = getComponentDocFn(jsonDoc);\n\t\tif (typeof props.assistiveText === 'string') {\n\t\t\tsunsetProperty(\n\t\t\t\tCOMPONENT,\n\t\t\t\tprops.assistiveText,\n\t\t\t\t'assistiveText',\n\t\t\t\t`\\`assistiveText\\` as a string has been deprecated and is now an object to allow for multiple uses in the component. Please use \\`assistiveText.label\\` instead. ${createDocUrl(\n\t\t\t\t\t'assistiveText'\n\t\t\t\t)}`\n\t\t\t);\n\t\t}\n\t};\n}\n\nexport default checkProps;\n","import { Component, createElement } from 'react';\nimport { findDOMNode } from 'react-dom';\n\nfunction _inheritsLoose(subClass, superClass) {\n subClass.prototype = Object.create(superClass.prototype);\n subClass.prototype.constructor = subClass;\n subClass.__proto__ = superClass;\n}\n\nfunction _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n\n return target;\n}\n\n/**\n * Check whether some DOM node is our Component's node.\n */\nfunction isNodeFound(current, componentNode, ignoreClass) {\n if (current === componentNode) {\n return true;\n } // SVG <use/> elements do not technically reside in the rendered DOM, so\n // they do not have classList directly, but they offer a link to their\n // corresponding element, which can have classList. This extra check is for\n // that case.\n // See: http://www.w3.org/TR/SVG11/struct.html#InterfaceSVGUseElement\n // Discussion: https://github.com/Pomax/react-onclickoutside/pull/17\n\n\n if (current.correspondingElement) {\n return current.correspondingElement.classList.contains(ignoreClass);\n }\n\n return current.classList.contains(ignoreClass);\n}\n/**\n * Try to find our node in a hierarchy of nodes, returning the document\n * node as highest node if our node is not found in the path up.\n */\n\nfunction findHighest(current, componentNode, ignoreClass) {\n if (current === componentNode) {\n return true;\n } // If source=local then this event came from 'somewhere'\n // inside and should be ignored. We could handle this with\n // a layered approach, too, but that requires going back to\n // thinking in terms of Dom node nesting, running counter\n // to React's 'you shouldn't care about the DOM' philosophy.\n\n\n while (current.parentNode) {\n if (isNodeFound(current, componentNode, ignoreClass)) {\n return true;\n }\n\n current = current.parentNode;\n }\n\n return current;\n}\n/**\n * Check if the browser scrollbar was clicked\n */\n\nfunction clickedScrollbar(evt) {\n return document.documentElement.clientWidth <= evt.clientX || document.documentElement.clientHeight <= evt.clientY;\n}\n\n// ideally will get replaced with external dep\n// when rafrex/detect-passive-events#4 and rafrex/detect-passive-events#5 get merged in\nvar testPassiveEventSupport = function testPassiveEventSupport() {\n if (typeof window === 'undefined' || typeof window.addEventListener !== 'function') {\n return;\n }\n\n var passive = false;\n var options = Object.defineProperty({}, 'passive', {\n get: function get() {\n passive = true;\n }\n });\n\n var noop = function noop() {};\n\n window.addEventListener('testPassiveEventSupport', noop, options);\n window.removeEventListener('testPassiveEventSupport', noop, options);\n return passive;\n};\n\nfunction autoInc(seed) {\n if (seed === void 0) {\n seed = 0;\n }\n\n return function () {\n return ++seed;\n };\n}\n\nvar uid = autoInc();\n\nvar passiveEventSupport;\nvar handlersMap = {};\nvar enabledInstances = {};\nvar touchEvents = ['touchstart', 'touchmove'];\nvar IGNORE_CLASS_NAME = 'ignore-react-onclickoutside';\n/**\n * Options for addEventHandler and removeEventHandler\n */\n\nfunction getEventHandlerOptions(instance, eventName) {\n var handlerOptions = null;\n var isTouchEvent = touchEvents.indexOf(eventName) !== -1;\n\n if (isTouchEvent && passiveEventSupport) {\n handlerOptions = {\n passive: !instance.props.preventDefault\n };\n }\n\n return handlerOptions;\n}\n/**\n * This function generates the HOC function that you'll use\n * in order to impart onOutsideClick listening to an\n * arbitrary component. It gets called at the end of the\n * bootstrapping code to yield an instance of the\n * onClickOutsideHOC function defined inside setupHOC().\n */\n\n\nfunction onClickOutsideHOC(WrappedComponent, config) {\n var _class, _temp;\n\n var componentName = WrappedComponent.displayName || WrappedComponent.name || 'Component';\n return _temp = _class =\n /*#__PURE__*/\n function (_Component) {\n _inheritsLoose(onClickOutside, _Component);\n\n function onClickOutside(props) {\n var _this;\n\n _this = _Component.call(this, props) || this;\n\n _this.__outsideClickHandler = function (event) {\n if (typeof _this.__clickOutsideHandlerProp === 'function') {\n _this.__clickOutsideHandlerProp(event);\n\n return;\n }\n\n var instance = _this.getInstance();\n\n if (typeof instance.props.handleClickOutside === 'function') {\n instance.props.handleClickOutside(event);\n return;\n }\n\n if (typeof instance.handleClickOutside === 'function') {\n instance.handleClickOutside(event);\n return;\n }\n\n throw new Error(\"WrappedComponent: \" + componentName + \" lacks a handleClickOutside(event) function for processing outside click events.\");\n };\n\n _this.__getComponentNode = function () {\n var instance = _this.getInstance();\n\n if (config && typeof config.setClickOutsideRef === 'function') {\n return config.setClickOutsideRef()(instance);\n }\n\n if (typeof instance.setClickOutsideRef === 'function') {\n return instance.setClickOutsideRef();\n }\n\n return findDOMNode(instance);\n };\n\n _this.enableOnClickOutside = function () {\n if (typeof document === 'undefined' || enabledInstances[_this._uid]) {\n return;\n }\n\n if (typeof passiveEventSupport === 'undefined') {\n passiveEventSupport = testPassiveEventSupport();\n }\n\n enabledInstances[_this._uid] = true;\n var events = _this.props.eventTypes;\n\n if (!events.forEach) {\n events = [events];\n }\n\n handlersMap[_this._uid] = function (event) {\n if (_this.componentNode === null) return;\n\n if (_this.props.preventDefault) {\n event.preventDefault();\n }\n\n if (_this.props.stopPropagation) {\n event.stopPropagation();\n }\n\n if (_this.props.excludeScrollbar && clickedScrollbar(event)) return;\n var current = event.target;\n\n if (findHighest(current, _this.componentNode, _this.props.outsideClickIgnoreClass) !== document) {\n return;\n }\n\n _this.__outsideClickHandler(event);\n };\n\n events.forEach(function (eventName) {\n document.addEventListener(eventName, handlersMap[_this._uid], getEventHandlerOptions(_this, eventName));\n });\n };\n\n _this.disableOnClickOutside = function () {\n delete enabledInstances[_this._uid];\n var fn = handlersMap[_this._uid];\n\n if (fn && typeof document !== 'undefined') {\n var events = _this.props.eventTypes;\n\n if (!events.forEach) {\n events = [events];\n }\n\n events.forEach(function (eventName) {\n return document.removeEventListener(eventName, fn, getEventHandlerOptions(_this, eventName));\n });\n delete handlersMap[_this._uid];\n }\n };\n\n _this.getRef = function (ref) {\n return _this.instanceRef = ref;\n };\n\n _this._uid = uid();\n return _this;\n }\n /**\n * Access the WrappedComponent's instance.\n */\n\n\n var _proto = onClickOutside.prototype;\n\n _proto.getInstance = function getInstance() {\n if (!WrappedComponent.prototype.isReactComponent) {\n return this;\n }\n\n var ref = this.instanceRef;\n return ref.getInstance ? ref.getInstance() : ref;\n };\n\n /**\n * Add click listeners to the current document,\n * linked to this component's state.\n */\n _proto.componentDidMount = function componentDidMount() {\n // If we are in an environment without a DOM such\n // as shallow rendering or snapshots then we exit\n // early to prevent any unhandled errors being thrown.\n if (typeof document === 'undefined' || !document.createElement) {\n return;\n }\n\n var instance = this.getInstance();\n\n if (config && typeof config.handleClickOutside === 'function') {\n this.__clickOutsideHandlerProp = config.handleClickOutside(instance);\n\n if (typeof this.__clickOutsideHandlerProp !== 'function') {\n throw new Error(\"WrappedComponent: \" + componentName + \" lacks a function for processing outside click events specified by the handleClickOutside config option.\");\n }\n }\n\n this.componentNode = this.__getComponentNode(); // return early so we dont initiate onClickOutside\n\n if (this.props.disableOnClickOutside) return;\n this.enableOnClickOutside();\n };\n\n _proto.componentDidUpdate = function componentDidUpdate() {\n this.componentNode = this.__getComponentNode();\n };\n /**\n * Remove all document's event listeners for this component\n */\n\n\n _proto.componentWillUnmount = function componentWillUnmount() {\n this.disableOnClickOutside();\n };\n /**\n * Can be called to explicitly enable event listening\n * for clicks and touches outside of this element.\n */\n\n\n /**\n * Pass-through render\n */\n _proto.render = function render() {\n // eslint-disable-next-line no-unused-vars\n var _props = this.props,\n excludeScrollbar = _props.excludeScrollbar,\n props = _objectWithoutProperties(_props, [\"excludeScrollbar\"]);\n\n if (WrappedComponent.prototype.isReactComponent) {\n props.ref = this.getRef;\n } else {\n props.wrappedRef = this.getRef;\n }\n\n props.disableOnClickOutside = this.disableOnClickOutside;\n props.enableOnClickOutside = this.enableOnClickOutside;\n return createElement(WrappedComponent, props);\n };\n\n return onClickOutside;\n }(Component), _class.displayName = \"OnClickOutside(\" + componentName + \")\", _class.defaultProps = {\n eventTypes: ['mousedown', 'touchstart'],\n excludeScrollbar: config && config.excludeScrollbar || false,\n outsideClickIgnoreClass: IGNORE_CLASS_NAME,\n preventDefault: false,\n stopPropagation: false\n }, _class.getClass = function () {\n return WrappedComponent.getClass ? WrappedComponent.getClass() : WrappedComponent;\n }, _temp;\n}\n\nexport { IGNORE_CLASS_NAME };\nexport default onClickOutsideHOC;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// # List Item Label Component\n\n// ## Dependencies\n\n// ### React\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\n// ## Constants\nimport { LIST_ITEM_LABEL } from '../../../utilities/constants';\n\n/**\n * Component description.\n */\nconst ListItemLabel = (props) => (\n\t<span className=\"slds-truncate\" title={props.label}>\n\t\t{props.icon}\n\t\t{props.label}\n\t</span>\n);\n\nListItemLabel.displayName = LIST_ITEM_LABEL;\n\nListItemLabel.propTypes = {\n\tdata: PropTypes.object,\n\ticon: PropTypes.node,\n\tindex: PropTypes.number,\n\tinverted: PropTypes.bool,\n\tisSelected: PropTypes.bool,\n\tlabel: PropTypes.string,\n\tvalue: PropTypes.any,\n};\n\nListItemLabel.defaultProps = {\n\tdata: {},\n\tindex: 0,\n\tinverted: false,\n\tisSelected: false,\n\tlabel: '',\n\tvalue: null,\n};\n\nexport default ListItemLabel;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n/* eslint-disable jsx-a11y/no-noninteractive-element-interactions */\n\n// # List Item Component\n\n// ## Dependencies\n\n// ### React\nimport React from 'react';\n\nimport PropTypes from 'prop-types';\n\n// ### classNames\nimport classNames from 'classnames';\n\n// ### Icon\nimport Icon from '../../icon';\n\n// ## Children\nimport ListItemLabelRenderer from './item-label';\n\n// ### Event Helpers\nimport EventUtil from '../../../utilities/event';\n\n// ## Constants\nimport { LIST_ITEM } from '../../../utilities/constants';\n\n/**\n * Component description.\n */\nclass ListItem extends React.Component {\n\tstatic displayName = LIST_ITEM;\n\n\tstatic propTypes = {\n\t\t'aria-disabled': PropTypes.bool,\n\t\tclassName: PropTypes.oneOfType([\n\t\t\tPropTypes.array,\n\t\t\tPropTypes.object,\n\t\t\tPropTypes.string,\n\t\t]),\n\t\tcheckmark: PropTypes.bool,\n\t\tdata: PropTypes.object,\n\t\tdivider: PropTypes.oneOf(['top', 'bottom']),\n\t\thref: PropTypes.string,\n\t\tid: PropTypes.string.isRequired,\n\t\tindex: PropTypes.number.isRequired,\n\t\tinverted: PropTypes.bool,\n\t\tisSelected: PropTypes.bool,\n\t\tlabel: PropTypes.string,\n\t\tlabelRenderer: PropTypes.func,\n\t\tleftIcon: PropTypes.shape({\n\t\t\tcategory: PropTypes.string,\n\t\t\tname: PropTypes.string,\n\t\t}),\n\t\tonSelect: PropTypes.func.isRequired,\n\t\trightIcon: PropTypes.shape({\n\t\t\tcategory: PropTypes.string,\n\t\t\tname: PropTypes.string,\n\t\t}),\n\t\ttooltipContent: PropTypes.oneOfType([PropTypes.node, PropTypes.string]),\n\t\ttooltipTemplate: PropTypes.node,\n\t\ttype: PropTypes.string,\n\t\tvalue: PropTypes.any,\n\t};\n\n\tstatic defaultProps = {\n\t\tdata: {},\n\t\thref: 'javascript:void(0);', // eslint-disable-line no-script-url\n\t\tinverted: false,\n\t\tisSelected: false,\n\t\tlabel: '',\n\t\tlabelRenderer: ListItemLabelRenderer,\n\t\tvalue: null,\n\t};\n\n\tgetLabel = () => {\n\t\tconst Label = this.props.labelRenderer;\n\t\treturn (\n\t\t\t<Label\n\t\t\t\tcheckmark={this.props.checkmark}\n\t\t\t\tdata={this.props.data}\n\t\t\t\ticon={this.getIcon('left')}\n\t\t\t\tindex={this.props.index}\n\t\t\t\tinverted={this.props.inverted}\n\t\t\t\tisSelected={this.props.isSelected}\n\t\t\t\tlabel={this.props.label}\n\t\t\t\tvalue={this.props.value}\n\t\t\t/>\n\t\t);\n\t};\n\n\tgetIcon = (position) => {\n\t\tconst classnames = ['slds-icon-text-default'];\n\t\tlet iconProps = this.props[`${position}Icon`];\n\n\t\tif (position === 'left') {\n\t\t\tif (this.props.checkmark) {\n\t\t\t\t// eslint-disable-next-line fp/no-mutating-methods\n\t\t\t\tclassnames.push('slds-icon_selected');\n\t\t\t\ticonProps = {\n\t\t\t\t\tcategory: 'utility',\n\t\t\t\t\tname: 'check',\n\t\t\t\t};\n\t\t\t}\n\n\t\t\t// eslint-disable-next-line fp/no-mutating-methods\n\t\t\tclassnames.push('slds-m-right_x-small');\n\t\t} else {\n\t\t\t// eslint-disable-next-line fp/no-mutating-methods\n\t\t\tclassnames.push('slds-m-left_small');\n\t\t}\n\n\t\tif (iconProps) {\n\t\t\treturn (\n\t\t\t\t<Icon\n\t\t\t\t\tclassName={classNames(classnames)}\n\t\t\t\t\tposition={position}\n\t\t\t\t\tsize=\"x-small\"\n\t\t\t\t\t{...iconProps}\n\t\t\t\t/>\n\t\t\t);\n\t\t}\n\n\t\treturn null;\n\t};\n\n\thandleClick = (event) => {\n\t\tif (\n\t\t\tthis.props.type !== 'link' ||\n\t\t\tthis.props.href === 'javascript:void(0);' // eslint-disable-line no-script-url\n\t\t) {\n\t\t\t// eslint-disable-line no-script-url\n\t\t\tEventUtil.trapImmediate(event);\n\t\t}\n\n\t\tif (this.props.onSelect) {\n\t\t\tthis.props.onSelect(this.props.index);\n\t\t}\n\t};\n\n\thandleMouseDown = (event) => {\n\t\tEventUtil.trapImmediate(event);\n\t};\n\n\trender() {\n\t\tswitch (this.props.type) {\n\t\t\tcase 'header': {\n\t\t\t\treturn (\n\t\t\t\t\t<li\n\t\t\t\t\t\tclassName={classNames(\n\t\t\t\t\t\t\t'slds-dropdown__header',\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t'slds-has-divider_top-space': this.props.divider === 'top',\n\t\t\t\t\t\t\t\t'slds-has-divider_bottom-space':\n\t\t\t\t\t\t\t\t\tthis.props.divider === 'bottom',\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tthis.props.className\n\t\t\t\t\t\t)}\n\t\t\t\t\t\tonMouseDown={this.handleMouseDown}\n\t\t\t\t\t\trole=\"separator\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<span>{this.props.label}</span>\n\t\t\t\t\t</li>\n\t\t\t\t);\n\t\t\t}\n\t\t\tcase 'divider': {\n\t\t\t\treturn (\n\t\t\t\t\t<li\n\t\t\t\t\t\tclassName={classNames('slds-has-divider', this.props.className)}\n\t\t\t\t\t\tonMouseDown={this.handleMouseDown}\n\t\t\t\t\t\trole=\"separator\"\n\t\t\t\t\t/>\n\t\t\t\t);\n\t\t\t}\n\t\t\tcase 'link':\n\t\t\tcase 'item':\n\t\t\tdefault: {\n\t\t\t\t/* eslint-disable jsx-a11y/role-supports-aria-props */\n\t\t\t\tlet itemContents = (\n\t\t\t\t\t<a\n\t\t\t\t\t\taria-checked={this.props.checkmark && this.props.isSelected}\n\t\t\t\t\t\taria-disabled={this.props['aria-disabled']}\n\t\t\t\t\t\thref={this.props.href}\n\t\t\t\t\t\tdata-index={this.props.index}\n\t\t\t\t\t\tonClick={this.handleClick}\n\t\t\t\t\t\trole={this.props.checkmark ? 'menuitemcheckbox' : 'menuitem'}\n\t\t\t\t\t\ttabIndex=\"-1\"\n\t\t\t\t\t>\n\t\t\t\t\t\t{this.getLabel()}\n\t\t\t\t\t\t{this.getIcon('right')}\n\t\t\t\t\t</a>\n\t\t\t\t);\n\n\t\t\t\tif (this.props.tooltipContent && this.props.tooltipTemplate) {\n\t\t\t\t\tconst { ...tooltipTemplateProps } = this.props.tooltipTemplate.props;\n\t\t\t\t\tconst tooltipProps = {\n\t\t\t\t\t\t...tooltipTemplateProps,\n\t\t\t\t\t\tcontent: this.props.tooltipContent,\n\t\t\t\t\t\tid: `${this.props.id}-tooltip`,\n\t\t\t\t\t\ttriggerStyle: {\n\t\t\t\t\t\t\twidth: '100%',\n\t\t\t\t\t\t\t...(tooltipTemplateProps.triggerStyle || {}),\n\t\t\t\t\t\t},\n\t\t\t\t\t};\n\t\t\t\t\titemContents = React.cloneElement(\n\t\t\t\t\t\tthis.props.tooltipTemplate,\n\t\t\t\t\t\ttooltipProps,\n\t\t\t\t\t\titemContents\n\t\t\t\t\t);\n\t\t\t\t}\n\n\t\t\t\treturn (\n\t\t\t\t\t/* eslint-disable jsx-a11y/role-supports-aria-props */\n\t\t\t\t\t// disabled eslint, but using aria-selected on presentation role seems suspicious...\n\t\t\t\t\t<li\n\t\t\t\t\t\taria-selected={\n\t\t\t\t\t\t\tthis.props.checkmark === null ? this.props.isSelected : null\n\t\t\t\t\t\t}\n\t\t\t\t\t\tclassName={classNames(\n\t\t\t\t\t\t\t'slds-dropdown__item',\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t'slds-is-selected': this.props.isSelected,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tthis.props.className\n\t\t\t\t\t\t)}\n\t\t\t\t\t\tid={this.props.id}\n\t\t\t\t\t\tonMouseDown={this.handleMouseDown}\n\t\t\t\t\t\trole=\"presentation\"\n\t\t\t\t\t>\n\t\t\t\t\t\t{itemContents}\n\t\t\t\t\t</li>\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\t}\n}\n\nexport default ListItem;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// # List Component\n\n// ## Dependencies\n\n// ### React\nimport React from 'react';\n\nimport PropTypes from 'prop-types';\n\n// ### classNames\nimport classNames from 'classnames';\n\n// ## Children\nimport ListItem from './item';\n\n// ## Constants\nimport { LIST } from '../../../utilities/constants';\n\n/**\n * Component description.\n */\nclass List extends React.Component {\n\tstatic displayName = LIST;\n\n\tstatic propTypes = {\n\t\t/**\n\t\t * Determines whether or not to show a checkmark for selected items.\n\t\t */\n\t\tcheckmark: PropTypes.bool,\n\t\t/**\n\t\t * CSS classes to be added to `<ul />`.\n\t\t */\n\t\tclassName: PropTypes.string,\n\t\t/**\n\t\t * Used internally to determine the id that will be used for list items.\n\t\t */\n\t\tgetListItemId: PropTypes.func,\n\t\t/**\n\t\t * Used internally to pass references to the individual menu items back up for focusing / scrolling.\n\t\t */\n\t\titemRefs: PropTypes.func,\n\t\t/**\n\t\t * If provided, this function will be used to render the contents of each menu item.\n\t\t */\n\t\titemRenderer: PropTypes.func,\n\t\t/**\n\t\t * Sets the height of the list based on the numeber of items.\n\t\t */\n\t\tlength: PropTypes.oneOf([null, '5', '7', '10', 5, 7, 10]),\n\t\t/**\n\t\t * Triggered when a list item is selected (via mouse or keyboard).\n\t\t */\n\t\tonSelect: PropTypes.func,\n\t\t/**\n\t\t * An array of items to render in the list.\n\t\t */\n\t\toptions: PropTypes.array,\n\t\t/**\n\t\t * The index of the currently selected item in the list.\n\t\t */\n\t\tselectedIndex: PropTypes.number,\n\t\t/**\n\t\t * Accepts a `Tooltip` component to be used as the template for menu item tooltips that appear via the `tooltipContent` options object attribute\n\t\t */\n\t\ttooltipMenuItem: PropTypes.node,\n\t\t/**\n\t\t * The id of the element which triggered this list (in a menu context).\n\t\t */\n\t\ttriggerId: PropTypes.string,\n\t};\n\n\tstatic defaultProps = {\n\t\tlength: '5',\n\t\toptions: [],\n\t\tselectedIndex: -1,\n\t};\n\n\trender() {\n\t\tlet lengthClassName;\n\t\tlet list;\n\n\t\tif (this.props.length) {\n\t\t\tlengthClassName = `slds-dropdown_length-${this.props.length}`;\n\t\t}\n\n\t\tlist = (\n\t\t\t<ul\n\t\t\t\taria-labelledby={this.props.triggerId}\n\t\t\t\tclassName={classNames(\n\t\t\t\t\t'dropdown__list',\n\t\t\t\t\tlengthClassName,\n\t\t\t\t\tthis.props.className\n\t\t\t\t)}\n\t\t\t\trole=\"menu\"\n\t\t\t>\n\t\t\t\t{this.props.options.map((option, index) => {\n\t\t\t\t\tconst id = this.props.getListItemId(index);\n\t\t\t\t\tconst isSingleSelected = index === this.props.selectedIndex;\n\t\t\t\t\tconst isMultipleSelected =\n\t\t\t\t\t\t!!this.props.selectedIndices &&\n\t\t\t\t\t\tthis.props.selectedIndices.indexOf(index) !== -1;\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<ListItem\n\t\t\t\t\t\t\t{...option}\n\t\t\t\t\t\t\taria-disabled={option.disabled}\n\t\t\t\t\t\t\tcheckmark={\n\t\t\t\t\t\t\t\tthis.props.checkmark && (isSingleSelected || isMultipleSelected)\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tdata={option}\n\t\t\t\t\t\t\tid={id}\n\t\t\t\t\t\t\tindex={index}\n\t\t\t\t\t\t\tisSelected={isSingleSelected || isMultipleSelected}\n\t\t\t\t\t\t\tkey={`${id}-${option.value}`}\n\t\t\t\t\t\t\tlabelRenderer={this.props.itemRenderer}\n\t\t\t\t\t\t\tonSelect={this.props.onSelect}\n\t\t\t\t\t\t\tref={(listItem) => this.props.itemRefs(listItem, index)}\n\t\t\t\t\t\t\ttooltipTemplate={this.props.tooltipMenuItem}\n\t\t\t\t\t\t/>\n\t\t\t\t\t);\n\t\t\t\t})}\n\t\t\t</ul>\n\t\t);\n\n\t\tif (this.props.tooltipMenuItem) {\n\t\t\t/* eslint-disable react/no-danger */\n\t\t\tlist = (\n\t\t\t\t<React.Fragment>\n\t\t\t\t\t<style\n\t\t\t\t\t\tdangerouslySetInnerHTML={{\n\t\t\t\t\t\t\t__html: `.slds-dropdown__item > .slds-tooltip-trigger > a {\n\tposition: relative;\n\tdisplay: -ms-flexbox;\n\tdisplay: flex;\n\t-ms-flex-pack: justify;\n\tjustify-content: space-between;\n\t-ms-flex-align: center;\n\talign-items: center;\n\tpadding: 0.5rem 0.75rem;\n\tcolor: #080707;\n\twhite-space: nowrap;\n\tcursor: pointer;\n}\n\n.slds-dropdown__item > .slds-tooltip-trigger > a:active {\n text-decoration: none;\n background-color: #ecebea;\n}\n\n.slds-dropdown__item > .slds-tooltip-trigger > a:hover,\n.slds-dropdown__item > .slds-tooltip-trigger > a:focus {\n outline: 0;\n text-decoration: none;\n background-color: #f3f2f2;\n}\n`,\n\t\t\t\t\t\t}}\n\t\t\t\t\t/>\n\t\t\t\t\t{list}\n\t\t\t\t</React.Fragment>\n\t\t\t);\n\t\t\t/* eslint-enable react/no-danger */\n\t\t}\n\n\t\treturn list;\n\t}\n}\n\nexport default List;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// # Dropdown Trigger Component (Simple Button Flavor) --- SLDS for React\n\n// ### React\n// React is an external dependency of the project.\nimport React from 'react';\n\nimport PropTypes from 'prop-types';\n\n// ### classNames\n// [github.com/JedWatson/classnames](https://github.com/JedWatson/classnames)\n// This project uses `classnames`, \"a simple javascript utility for conditionally\n// joining classNames together.\"\nimport classnames from 'classnames';\n\nimport Button from '../button';\n\n// ### Children\nimport { MENU_DROPDOWN_TRIGGER } from '../../utilities/constants';\n\n/**\n * The Dropdown Button Trigger renders the default trigger button for the dropdown menu. If this component has children, it does not render itself to the DOM. Instead, it renders its child element, `Button`, and all that child's properties. This component may be used as a template to create custom triggers that do not use `Button`.\n */\nclass Trigger extends React.Component {\n\t// ### Display Name\n\t// Always use the canonical component name (set in the core) as the React\n\t// display name.\n\tstatic displayName = MENU_DROPDOWN_TRIGGER;\n\n\t// ### Prop Types\n\tstatic propTypes = {\n\t\t/**\n\t\t * Import the module `design-system-react/dropdown/button-trigger` and render a grandchild of the element type `Button`. Any `props` specified on that `Button` will be assigned to the triggering button. Any `id` prop or event hanlders (`onBlur`, `onClick`, etc.) set on the button grandchild will be overwritten by `MenuDropdown` to allow functionality and accessibility.\n\t\t * ```\n\t\t * <Dropdown>\n\t\t * <Trigger>\n\t\t * <Button iconCategory=\"utility\" iconName=\"settings\" />\n\t\t * </Trigger>\n\t\t * </Dropdown>\n\t\t * ```\n\t\t */\n\t\tchildren: PropTypes.element,\n\t\t/**\n\t\t * CSS classes to be added to triggering button.\n\t\t */\n\t\tclassName: PropTypes.oneOfType([\n\t\t\tPropTypes.array,\n\t\t\tPropTypes.object,\n\t\t\tPropTypes.string,\n\t\t]),\n\t\t/**\n\t\t * A unique ID is needed in order to support keyboard navigation, ARIA support, and connect the dropdown to the triggering button. This is provided by the `MenuDropdown`. Please use `MenuDropdown` to set.\n\t\t */\n\t\tid: PropTypes.string,\n\t\t/**\n\t\t * Informs the trigger on the open/close state of the dropdown menu\n\t\t */\n\t\tisOpen: PropTypes.bool,\n\t\t/**\n\t\t * By Default the dropdown menu is inside a `Dialog` component.\n\t\t */\n\t\tmenu: PropTypes.node,\n\t\t/**\n\t\t * Is only called when `openOn` is set to `hover` and when the triggering button loses focus.\n\t\t */\n\t\tonBlur: PropTypes.func,\n\t\t/**\n\t\t * This prop is passed onto the triggering `Button`. Triggered when the trigger button is clicked.\n\t\t */\n\t\tonClick: PropTypes.func,\n\t\t/**\n\t\t * Is only called when `openOn` is set to `hover` and when the triggering button gains focus.\n\t\t */\n\t\tonFocus: PropTypes.func,\n\t\t/**\n\t\t * Called when a key pressed.\n\t\t */\n\t\tonKeyDown: PropTypes.func,\n\t\t/**\n\t\t * Called when mouse clicks down on the trigger button.\n\t\t */\n\t\tonMouseDown: PropTypes.func,\n\t\t/**\n\t\t * Called when mouse hovers over the trigger button. This is only called if `this.props.openOn` is set to `hover`.\n\t\t */\n\t\tonMouseEnter: PropTypes.func,\n\t\t/**\n\t\t * Called when mouse hover leaves the trigger button. This is only called if `this.props.openOn` is set to `hover`.\n\t\t */\n\t\tonMouseLeave: PropTypes.func,\n\t\t/**\n\t\t * Determines if mouse hover or click opens the dropdown menu. The default of `click` is highly recommended to comply with accessibility standards. If you are planning on using hover, please pause a moment and reconsider.\n\t\t */\n\t\topenOn: PropTypes.oneOf(['hover', 'click', 'hybrid']),\n\t\t/**\n\t\t * The ref of the actual triggering button.\n\t\t */\n\t\ttriggerRef: PropTypes.func,\n\t\t/**\n\t\t * CSS classes to be added to wrapping trigger `div` around the button.\n\t\t */\n\t\ttriggerClassName: PropTypes.oneOfType([\n\t\t\tPropTypes.array,\n\t\t\tPropTypes.object,\n\t\t\tPropTypes.string,\n\t\t]),\n\t};\n\n\t// ### Render\n\trender() {\n\t\t// The following are required for use with dropdown. Any other custom props for `Button` should be set with a `Button` child of this component, and are technically just here for backwards compatibility. See `children` prop description for more information.\n\t\tconst {\n\t\t\tassistiveText,\n\t\t\tchildren, // eslint-disable-line no-unused-vars\n\t\t\tclassName,\n\t\t\tid,\n\t\t\tisInline, // eslint-disable-line no-unused-vars\n\t\t\tisOpen,\n\t\t\tonBlur,\n\t\t\tmenu,\n\t\t\tonClick,\n\t\t\tonFocus,\n\t\t\tonKeyDown,\n\t\t\tonMouseDown,\n\t\t\tonMouseEnter,\n\t\t\tonMouseLeave,\n\t\t\ttriggerRef,\n\t\t\ttriggerClassName,\n\t\t\t...deprecatedPropsFromMenuDropdown\n\t\t} = this.props;\n\n\t\tconst openOn = this.props.openOn === 'hover' ? 'click' : this.props.openOn;\n\n\t\t// Trigger manipulation\n\t\tlet propsFromGrandchildButton = {};\n\t\t// if there are no children, render the default button\n\t\tif (React.Children.count(this.props.children) !== 0) {\n\t\t\tReact.Children.forEach(this.props.children, (child) => {\n\t\t\t\tif (child && child.type.displayName === Button.displayName) {\n\t\t\t\t\tpropsFromGrandchildButton = child.props;\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\n\t\t// If Trigger has a Button child, then use the explicitly declared child's props layered on top of those passed down by dropdown's props to allow manual override\n\t\treturn (\n\t\t\t/* eslint-disable jsx-a11y/no-static-element-interactions */\n\t\t\t<div\n\t\t\t\tclassName={classnames(\n\t\t\t\t\t`slds-dropdown-trigger slds-dropdown-trigger_${openOn}`,\n\t\t\t\t\t{\n\t\t\t\t\t\t'slds-is-open': isOpen,\n\t\t\t\t\t},\n\t\t\t\t\ttriggerClassName\n\t\t\t\t)}\n\t\t\t\tid={id}\n\t\t\t\tonBlur={onBlur}\n\t\t\t\tonClick={onClick}\n\t\t\t\tonKeyDown={onKeyDown}\n\t\t\t\tonFocus={onFocus}\n\t\t\t\tonMouseDown={onMouseDown}\n\t\t\t\tonMouseEnter={onMouseEnter}\n\t\t\t\tonMouseLeave={onMouseLeave}\n\t\t\t>\n\t\t\t\t{/* eslint-disable jsx-a11y/no-static-element-interactions */}\n\t\t\t\t<Button\n\t\t\t\t\tassistiveText={assistiveText}\n\t\t\t\t\tclassName={className}\n\t\t\t\t\taria-expanded={isOpen}\n\t\t\t\t\taria-haspopup\n\t\t\t\t\t{...deprecatedPropsFromMenuDropdown}\n\t\t\t\t\t{...propsFromGrandchildButton}\n\t\t\t\t\tbuttonRef={triggerRef}\n\t\t\t\t/>\n\t\t\t\t{menu}\n\t\t\t</div>\n\t\t);\n\t}\n}\n\nexport default Trigger;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n/* eslint-disable import/no-mutable-exports */\n\n// This function will deliver an error message to the browser console when all of the props passed in are undefined (falsey).\nimport warning from 'warning';\n\nlet oneOfRequired;\n\nif (process.env.NODE_ENV !== 'production') {\n\tconst hasWarned = {};\n\n\toneOfRequired = function oneOfRequiredFunction(\n\t\tcontrol,\n\t\tselectedProps,\n\t\tcomment\n\t) {\n\t\tconst additionalComment = comment ? ` ${comment}` : '';\n\t\tlet atLeastOnePropIsSet = false;\n\t\tconst keys = Object.keys(selectedProps);\n\t\tkeys.forEach((key) => {\n\t\t\tif (selectedProps[key]) {\n\t\t\t\tatLeastOnePropIsSet = true;\n\t\t\t}\n\t\t});\n\n\t\tif (!hasWarned[control]) {\n\t\t\t/* eslint-disable max-len */\n\t\t\twarning(\n\t\t\t\tatLeastOnePropIsSet,\n\t\t\t\t`[Design System React] One of the following props are required by ${control}: [${keys.join()}].${additionalComment}`\n\t\t\t);\n\t\t\t/* eslint-enable max-len */\n\t\t\thasWarned[control] = !!selectedProps;\n\t\t}\n\t};\n} else {\n\toneOfRequired = function oneOfRequiredFunction() {};\n}\n\nexport default oneOfRequired;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n/* eslint-disable import/no-mutable-exports */\n\nimport oneOfRequiredProperty from '../../utilities/warning/one-of-required-property';\nimport sunsetProperty from '../../utilities/warning/sunset-property';\nimport deprecatedProperty from '../../utilities/warning/deprecated-property';\nimport getComponentDocFn from '../../utilities/get-component-doc';\n\nlet checkProps = function checkPropsFunction() {};\n\nif (process.env.NODE_ENV !== 'production') {\n\tcheckProps = function checkPropsFunction(COMPONENT, props, jsonDoc) {\n\t\tconst createDocUrl = getComponentDocFn(jsonDoc);\n\n\t\tsunsetProperty(\n\t\t\tCOMPONENT,\n\t\t\tprops.forceOpen,\n\t\t\t'forceOpen',\n\t\t\t`Please use \\`isOpen\\` instead. It provides a consistent prop that aligns with other componenents. ${createDocUrl(\n\t\t\t\t'isOpen'\n\t\t\t)}`\n\t\t);\n\n\t\tsunsetProperty(COMPONENT, props.tooltip, 'tooltip', createDocUrl());\n\n\t\tdeprecatedProperty(\n\t\t\tCOMPONENT,\n\t\t\tprops.offset,\n\t\t\t'offset',\n\t\t\tundefined,\n\t\t\t`The manual setting of positional offset of dialog components has been deemed unreliable. Position logic has been re-written to deliver better and more reliable positioning. Please create an issue if you have an edge case not covered by the built-in logic. ${createDocUrl()}`\n\t\t);\n\n\t\toneOfRequiredProperty(\n\t\t\tCOMPONENT,\n\t\t\t{\n\t\t\t\toptions: props.options,\n\t\t\t\tchildren: props.children,\n\t\t\t},\n\t\t\tcreateDocUrl()\n\t\t);\n\n\t\tdeprecatedProperty(\n\t\t\tCOMPONENT,\n\t\t\tprops.isInline,\n\t\t\t'isInline',\n\t\t\t'menuPosition=\"relative\"',\n\t\t\tcreateDocUrl('menuPosition')\n\t\t);\n\t};\n}\n\nexport default checkProps;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\nfunction KeyBuffer() {\n\tthis.buffer = '';\n\n\treturn (key) => {\n\t\tif (this.timeout) {\n\t\t\tclearTimeout(this.timeout);\n\t\t\tthis.timeout = undefined;\n\t\t}\n\n\t\tthis.timeout = setTimeout(() => {\n\t\t\tthis.buffer = '';\n\t\t}, 400);\n\n\t\tthis.buffer = this.buffer + key;\n\t\treturn this.buffer;\n\t};\n}\n\nexport default KeyBuffer;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\nimport ReactDOM from 'react-dom';\nimport escapeRegExp from 'lodash.escaperegexp';\n\nimport KEYS from './key-code';\n\nconst keyboardNavigate = ({\n\tcomponentContext,\n\tcurrentFocusedIndex,\n\tisOpen,\n\tevent,\n\tkey,\n\tkeyCode,\n\tnavigableItems,\n\tonFocus,\n\tonSelect,\n\ttarget,\n\ttoggleOpen,\n}) => {\n\tconst { indexes } = navigableItems;\n\tconst lastIndex = indexes.length - 1;\n\tlet focusedIndex;\n\tlet ch = key || String.fromCharCode(keyCode);\n\n\tif (/^[ -~]$/.test(ch)) {\n\t\tch = ch.toLowerCase();\n\t} else {\n\t\tch = null;\n\t}\n\n\tconst openMenuKeys =\n\t\tkeyCode === KEYS.ENTER || keyCode === KEYS.SPACE || keyCode === KEYS.UP;\n\n\tif (keyCode === KEYS.ESCAPE) {\n\t\tif (isOpen) toggleOpen();\n\t} else if (!isOpen) {\n\t\t[focusedIndex] = indexes;\n\t\tif (openMenuKeys || ch) {\n\t\t\ttoggleOpen();\n\t\t}\n\t\tif (\n\t\t\topenMenuKeys &&\n\t\t\tcomponentContext.trigger &&\n\t\t\t// eslint-disable-next-line react/no-find-dom-node\n\t\t\tReactDOM.findDOMNode(componentContext.trigger) === target\n\t\t) {\n\t\t\tcomponentContext.handleClick(event);\n\t\t}\n\t} else if (keyCode === KEYS.ENTER || keyCode === KEYS.SPACE) {\n\t\tonSelect(currentFocusedIndex);\n\t} else {\n\t\tconst navigableIndex = indexes.indexOf(currentFocusedIndex);\n\n\t\tif (keyCode === KEYS.DOWN) {\n\t\t\tif (navigableIndex < lastIndex) {\n\t\t\t\tconst newNavigableIndex = navigableIndex + 1;\n\t\t\t\tfocusedIndex = indexes[newNavigableIndex];\n\t\t\t} else {\n\t\t\t\t[focusedIndex] = indexes;\n\t\t\t}\n\t\t} else if (keyCode === KEYS.UP) {\n\t\t\tif (navigableIndex > 0) {\n\t\t\t\tconst newNavigableIndex = navigableIndex - 1;\n\t\t\t\tfocusedIndex = indexes[newNavigableIndex];\n\t\t\t} else {\n\t\t\t\tfocusedIndex = indexes[lastIndex];\n\t\t\t}\n\t\t} else if (ch) {\n\t\t\t// Combine subsequent keypresses\n\t\t\tconst pattern = navigableItems.keyBuffer(ch);\n\t\t\tlet consecutive = 0;\n\n\t\t\t// Support for navigating to the next option of the same letter with repeated presses of the same key\n\t\t\tif (\n\t\t\t\tpattern.length > 1 &&\n\t\t\t\tnew RegExp(`^[${escapeRegExp(ch)}]+$`).test(pattern)\n\t\t\t) {\n\t\t\t\tconsecutive = pattern.length;\n\t\t\t}\n\n\t\t\tnavigableItems.forEach((item) => {\n\t\t\t\tif (\n\t\t\t\t\t(focusedIndex === undefined &&\n\t\t\t\t\t\titem.text.substr(0, pattern.length) === pattern) ||\n\t\t\t\t\t(consecutive > 0 && item.text.substr(0, 1) === ch)\n\t\t\t\t) {\n\t\t\t\t\tconsecutive -= 1;\n\t\t\t\t\tfocusedIndex = item.index;\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t}\n\n\tonFocus(focusedIndex);\n\n\treturn focusedIndex;\n};\n\nexport default keyboardNavigate;\n","/* eslint-disable max-lines */\n/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// Implements the [Dropdown design pattern](https://www.lightningdesignsystem.com/components/menus/#flavor-dropdown) in React. Child elements that do not have the display name of the value of `MENU_DROPDOWN_TRIGGER` in `components/constants.js` will be considered custom content and rendered in the popover.\n\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport ReactDOM from 'react-dom';\nimport requiredIf from 'react-required-if';\n\nimport classNames from 'classnames';\n\n// ### isFunction\nimport isFunction from 'lodash.isfunction';\nimport isEqual from 'lodash.isequal';\n\nimport shortid from 'shortid';\n\n// ### Children\nimport Dialog from '../utilities/dialog';\nimport List from '../utilities/menu-list';\nimport ListItem from '../utilities/menu-list/item';\nimport ListItemLabel from '../utilities/menu-list/item-label';\n\n// This is the the default Dropdown Trigger, which expects one button as a child.\nimport DefaultTrigger from './button-trigger';\n\n// This component's `checkProps` which issues warnings to developers about properties\n// when in development mode (similar to React's built in development tools)\nimport checkProps from './check-props';\nimport componentDoc from './component.json';\n\nimport EventUtil from '../../utilities/event';\nimport KeyBuffer from '../../utilities/key-buffer';\nimport keyboardNavigate from '../../utilities/keyboard-navigate';\nimport KEYS from '../../utilities/key-code';\nimport {\n\tMENU_DROPDOWN,\n\tMENU_DROPDOWN_TRIGGER,\n\tLIST,\n} from '../../utilities/constants';\n\nconst documentDefined = typeof document !== 'undefined';\n\n// The overlay is an optional way to allow the dropdown to close on outside\n// clicks even when those clicks are over areas that wouldn't normally fire\n// click or touch events (for example, iframes). A single overlay is shared\n// between all dropdowns in the app.\nconst overlay = documentDefined\n\t? document.createElement('span')\n\t: { style: {} };\noverlay.style.top = 0;\noverlay.style.left = 0;\noverlay.style.width = '100%';\noverlay.style.height = '100%';\noverlay.style.position = 'absolute';\n\nlet currentOpenDropdown;\n\nconst DropdownNubbinPositions = [\n\t'top left',\n\t'top',\n\t'top right',\n\t'bottom left',\n\t'bottom',\n\t'bottom right',\n];\n\n// # Keyboard Navigable mixin\n\nconst noop = () => {};\n\nconst itemIsSelectable = (item) =>\n\titem.type !== 'header' && item.type !== 'divider' && !item.disabled;\n\nconst getNavigableItems = (items) => {\n\tconst navigableItems = [];\n\tnavigableItems.indexes = [];\n\tnavigableItems.keyBuffer = new KeyBuffer();\n\n\tif (Array.isArray(items)) {\n\t\titems.forEach((item, index) => {\n\t\t\tif (itemIsSelectable(item)) {\n\t\t\t\t// eslint-disable-next-line fp/no-mutating-methods\n\t\t\t\tnavigableItems.push({\n\t\t\t\t\tindex,\n\t\t\t\t\ttext: `${item.label}`.toLowerCase(),\n\t\t\t\t});\n\n\t\t\t\t// eslint-disable-next-line fp/no-mutating-methods\n\t\t\t\tnavigableItems.indexes.push(index);\n\t\t\t}\n\t\t});\n\t}\n\n\treturn navigableItems;\n};\n\nfunction getMenu(componentRef) {\n\treturn ReactDOM.findDOMNode(componentRef).querySelector('ul.dropdown__list'); // eslint-disable-line react/no-find-dom-node\n}\n\nfunction getMenuItem(menuItemId, context = document) {\n\tlet menuItem;\n\n\tif (menuItemId) {\n\t\tmenuItem = context.getElementById(menuItemId);\n\t}\n\n\treturn menuItem;\n}\n\n/*\n * Dropdowns with nubbins have a different API from other Dialogs\n *\n * Dialog receives an alignment position and whether it has a nubbin. The nubbin position is inferred from the align.\n * Dropdowns have a nubbinPosition which dictates the align, but in an inverse fashion which then gets inversed back by the Dialog.\n *\n * Since Dialog is the future API and we don't want to break backwards compatability, we currently map to the Dialog api here. Even if Dialog will map it again.\n * TODO - deprecate nubbinPosition in favor for additional `align` values and a flag to show a nubbin.\n */\nconst DropdownToDialogNubbinMapping = {\n\ttop: 'bottom',\n\t'top left': 'bottom left',\n\t'top right': 'bottom right',\n\n\tbottom: 'top',\n\t'bottom left': 'top left',\n\t'bottom right': 'top right',\n};\n\nconst propTypes = {\n\t/**\n\t * Aligns the menu center, right, or left respective to the trigger. This is not intended for use with `nubbinPosition`.\n\t */\n\talign: PropTypes.oneOf(['center', 'left', 'right']),\n\t/**\n\t * This prop is passed onto the triggering `Button`. Text that is visually hidden but read aloud by screenreaders to tell the user what the icon means. You can omit this prop if you are using the `label` prop.\n\t */\n\tassistiveText: PropTypes.object,\n\t/**\n\t * CSS classes to be added to triggering button.\n\t */\n\tbuttonClassName: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\t/**\n\t * If true, button/icon is white. Meant for buttons or utility icons on dark backgrounds.\n\t */\n\tbuttonInverse: PropTypes.bool,\n\t/**\n\t * This prop is passed onto the triggering `Button`. Determines variant of the Button component that triggers dropdown.\n\t */\n\tbuttonVariant: PropTypes.oneOf([\n\t\t'base',\n\t\t'neutral',\n\t\t'brand',\n\t\t'destructive',\n\t\t'icon',\n\t]),\n\t/**\n\t * If true, renders checkmark icon on the selected Menu Item.\n\t */\n\tcheckmark: PropTypes.bool,\n\t/**\n\t * If you need custom content _and_ a list, use a `<Popover>` instead.\n\t */\n\tchildren: PropTypes.node,\n\t/**\n\t * CSS classes to be added to dropdown menu.\n\t */\n\tclassName: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\t/**\n\t * By default, these class names will be added to the absolutely-positioned `Dialog` component.\n\t */\n\tcontainerClassName: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\t/**\n\t * This prop is passed onto the triggering `Button`. Prevent dropdown menu from opening. Also applies disabled styling to trigger button.\n\t */\n\tdisabled: PropTypes.bool,\n\t/**\n\t * Prevents the dropdown from changing position based on the viewport/window. If set to true your dropdowns can extend outside the viewport _and_ overflow outside of a scrolling parent. If this happens, you might want to consider making the dropdowns contents scrollable to fit the menu on the screen. `hasStaticAlignment` disables this behavior and allows this component to extend beyond boundary elements. _Not tested._\n\t */\n\thasStaticAlignment: PropTypes.bool,\n\t/**\n\t * This prop is passed onto the triggering `Button`. Associates an icon button with another element on the page by changes the color of the SVG. Please reference <a href=\"http://www.lightningdesignsystem.com/components/buttons/#hint\">Lightning Design System Buttons > Hint</a>.\n\t */\n\thint: PropTypes.bool,\n\t/**\n\t * Delay on menu closing in milliseconds.\n\t */\n\thoverCloseDelay: PropTypes.number,\n\t/**\n\t * Name of the icon category. Visit <a href=\"http://www.lightningdesignsystem.com/resources/icons\">Lightning Design System Icons</a> to reference icon categories.\n\t */\n\ticonCategory: requiredIf(\n\t\tPropTypes.oneOf(['action', 'custom', 'doctype', 'standard', 'utility']),\n\t\t(props) => !!props.iconName\n\t),\n\t/**\n\t * Name of the icon. Visit <a href=\"http://www.lightningdesignsystem.com/resources/icons\">Lightning Design System Icons</a> to reference icon names.\n\t */\n\ticonName: PropTypes.string,\n\t/**\n\t * If omitted, icon position is centered.\n\t */\n\ticonPosition: PropTypes.oneOf(['left', 'right']),\n\t/**\n\t * For icon variants, please reference <a href=\"http://www.lightningdesignsystem.com/components/buttons/#icon\">Lightning Design System Icons</a>.\n\t */\n\ticonVariant: PropTypes.oneOf([\n\t\t'bare',\n\t\t'container',\n\t\t'border',\n\t\t'border-filled',\n\t\t'small',\n\t\t'more',\n\t]),\n\t/**\n\t * Determines the size of the icon.\n\t */\n\ticonSize: PropTypes.oneOf(['x-small', 'small', 'medium', 'large']),\n\t/**\n\t * A unique ID is needed in order to support keyboard navigation, ARIA support, and connect the dropdown to the triggering button.\n\t */\n\tid: PropTypes.string,\n\t/**\n\t * Adds inverse class to the dropdown\n\t */\n\tinverse: PropTypes.bool,\n\t/**\n\t * Forces the dropdown to be open or closed. See controlled/uncontrolled callback/prop pattern for more on suggested use view [Concepts and Best Practices](https://github.com/salesforce-ux/design-system-react/blob/master/CONTRIBUTING.md#concepts-and-best-practices)\n\t */\n\tisOpen: PropTypes.bool,\n\t/**\n\t * This prop is passed onto the triggering `Button`. Text within the trigger button.\n\t */\n\tlabel: PropTypes.oneOfType([PropTypes.string, PropTypes.node]),\n\t/**\n\t * Custom element that overrides the default Menu Item component.\n\t */\n\tlistItemRenderer: PropTypes.func,\n\t/**\n\t * This prop is passed into the List for the menu. Pass null to make it the size of the content, or a string with an integer from here: https://www.lightningdesignsystem.com/components/menus/#flavor-dropdown-height\n\t */\n\tlength: PropTypes.oneOf([null, '5', '7', '10', 5, 7, 10]),\n\t/**\n\t * Please select one of the following:\n\t * * `absolute` - (default) The dialog will use `position: absolute` and style attributes to position itself. This allows inverted placement or flipping of the dialog.\n\t * * `overflowBoundaryElement` - The dialog will overflow scrolling parents. Use on elements that are aligned to the left or right of their target and don't care about the target being within a scrolling parent. Typically this is a popover or tooltip. Dropdown menus can usually open up and down if no room exists. In order to achieve this a portal element will be created and attached to `body`. This element will render into that detached render tree.\n\t * * `relative` - No styling or portals will be used. Menus will be positioned relative to their triggers. This is a great choice for HTML snapshot testing.\n\t */\n\tmenuPosition: PropTypes.oneOf([\n\t\t'absolute',\n\t\t'overflowBoundaryElement',\n\t\t'relative',\n\t]),\n\t/**\n\t * Style applied to menu element (that is the `.slds-dropdown` element)\n\t */\n\tmenuStyle: PropTypes.object,\n\t/**\n\t * Positions dropdown menu with a nubbin--that is the arrow notch. The placement options correspond to the placement of the nubbin. This is implemeted with CSS classes and is best used with a `Button` with \"icon container\" styling (`iconVariant=\"container\"`). Use with `isInline` prop, since positioning is determined by CSS via absolute-relative positioning, and using an absolutely positioned menu will not position the menu correctly without manual offsets.\n\t */\n\tnubbinPosition: PropTypes.oneOf([\n\t\t'top left',\n\t\t'top',\n\t\t'top right',\n\t\t'bottom left',\n\t\t'bottom',\n\t\t'bottom right',\n\t]),\n\t/**\n\t * Is only called when `openOn` is set to `hover` and when the triggering button loses focus.\n\t */\n\tonBlur: PropTypes.func,\n\t/**\n\t * This prop is passed onto the triggering `Button`. Triggered when the trigger button is clicked.\n\t */\n\tonClick: PropTypes.func,\n\t/**\n\t * Is only called when `openOn` is set to `hover` and when the triggering button gains focus.\n\t */\n\tonFocus: PropTypes.func,\n\t/**\n\t * Determines if mouse hover or click opens or closes the dropdown menu. The default of `click` opens the menu on click, touch, or keyboard navigation and is highly recommended to comply with accessibility standards. The other options are `hover` which opens when the mouse enters the focusable area, and `hybrid` which causes the menu to open on clicking of the trigger, but closes the menu when the mouse leaves the menu and trigger area. If you are planning on using `hover` or `hybrid`, please pause a moment and reconsider.\n\t */\n\topenOn: PropTypes.oneOf(['hover', 'click', 'hybrid']),\n\t/**\n\t * Called when a key pressed.\n\t */\n\tonKeyDown: PropTypes.func,\n\t/**\n\t * Called when mouse clicks down on the trigger button.\n\t */\n\tonMouseDown: PropTypes.func,\n\t/**\n\t * Called when mouse hovers over the trigger button. This is only called if `this.props.openOn` is set to `hover`.\n\t */\n\tonMouseEnter: PropTypes.func,\n\t/**\n\t * Called when mouse hover leaves the trigger button. This is only called if `this.props.openOn` is set to `hover`.\n\t */\n\tonMouseLeave: PropTypes.func,\n\t/**\n\t * Triggered when an item in the menu is clicked.\n\t */\n\tonSelect: PropTypes.func,\n\t/**\n\t * Triggered when the dropdown is opened.\n\t */\n\tonOpen: PropTypes.func,\n\t/**\n\t * Triggered when the dropdown is closed.\n\t */\n\tonClose: PropTypes.func,\n\t/**\n\t * An array of menu item objects. `className` and `id` object keys are applied to the `li` DOM node. `divider` key can have a value of `top` or `bottom`. `rightIcon` and `leftIcon` are not actually `Icon` components, but prop objects that get passed to an `Icon` component. The `href` key will be added to the `a` and its default click event will be prevented. Here is a sample:\n\t * ```\n\t * [{\n\t * className: 'custom-li-class',\n\t * divider: 'bottom',\n\t * label: 'A Header',\n\t * type: 'header'\n\t * }, {\n\t * href: 'http://sfdc.co/',\n\t * id: 'custom-li-id',\n\t * label: 'Has a value',\n\t * leftIcon: {\n\t * name: 'settings',\n\t * category: 'utility'\n\t * },\n\t * rightIcon: {\n\t * name: 'settings',\n\t * category: 'utility'\n\t * },\n\t * type: 'item',\n\t * value: 'B0'\n\t * }, {\n\t * tooltipContent: 'Displays a tooltip when hovered over with this content. The `tooltipMenuItem` prop must be set for this to work.',\n\t * type: 'divider'\n\t * }]\n\t * ```\n\t */\n\toptions: PropTypes.array,\n\t/**\n\t * An object of CSS styles that are applied to the triggering button.\n\t */\n\tstyle: PropTypes.object,\n\t/**\n\t * Write <code>\"-1\"</code> if you don't want the user to tab to the button.\n\t */\n\ttabIndex: PropTypes.string,\n\t/**\n\t * If `true`, adds a transparent overlay when the menu is open to handle outside clicks. Allows clicks on iframes to be captured, but also forces a double-click to interact with other elements. If a function is passed, custom overlay logic may be defined by the app.\n\t */\n\toverlay: PropTypes.oneOfType([PropTypes.bool, PropTypes.func]),\n\t/**\n\t * Current selected menu item.\n\t */\n\tvalue: PropTypes.oneOfType([\n\t\tPropTypes.number,\n\t\tPropTypes.string,\n\t\tPropTypes.array,\n\t]),\n\t/**\n\t * This prop is passed onto the triggering `Button`. It creates a tooltip with the content of the `node` provided.\n\t */\n\ttooltip: PropTypes.node,\n\t/**\n\t * Accepts a `Tooltip` component to be used as the template for menu item tooltips that appear via the `tooltipContent` options object attribute. Must be present for `tooltipContent` to work\n\t */\n\ttooltipMenuItem: PropTypes.node,\n\t/**\n\t * CSS classes to be added to wrapping trigger `div` around the button.\n\t */\n\ttriggerClassName: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\t/**\n\t * Whether this dropdown supports multi select.\n\t */\n\tmultiple: PropTypes.bool,\n\t/**\n\t * To adjust the width of the menu dropdown\n\t */\n\twidth: PropTypes.oneOf([\n\t\t'xx-small',\n\t\t'x-small',\n\t\t'small',\n\t\t'medium',\n\t\t'bottom',\n\t\t'large',\n\t]),\n};\n\nconst defaultProps = {\n\talign: 'left',\n\thoverCloseDelay: 300,\n\tlength: '5',\n\tmenuPosition: 'absolute',\n\topenOn: 'click',\n\twidth: 'medium',\n\tinverse: false,\n};\n\n/**\n * The MenuDropdown component is a variant of the Lightning Design System Menu component. This component\n * may require a polyfill such as [classList](https://github.com/yola/classlist-polyfill) due to\n * [react-onclickoutside](https://github.com/Pomax/react-onclickoutside) if Internet Explorer 11\n * support is needed.\n *\n * This component is wrapped in a [higher order component to listen for clicks outside itself](https://github.com/kentor/react-click-outside) and thus requires use of `ReactDOM`.\n */\nclass MenuDropdown extends React.Component {\n\tstatic displayName = MENU_DROPDOWN;\n\n\tconstructor(props) {\n\t\tsuper(props);\n\n\t\t// `checkProps` issues warnings to developers about properties (similar to React's built in development tools)\n\t\tcheckProps(MENU_DROPDOWN, props, componentDoc);\n\n\t\tthis.generatedId = shortid.generate();\n\n\t\tconst currentSelectedIndices = this.getCurrentSelectedIndices(props);\n\n\t\tthis.state = {\n\t\t\tfocusedIndex: -1,\n\t\t\tselectedIndex: -1,\n\t\t\tselectedIndices: [],\n\t\t\t...currentSelectedIndices,\n\t\t};\n\n\t\tthis.navigableItems = getNavigableItems(props.options);\n\t}\n\n\tcomponentDidUpdate(prevProps) {\n\t\tif (prevProps.value !== this.props.value) {\n\t\t\tconst nextState = this.getCurrentSelectedIndices(prevProps);\n\t\t\t// eslint-disable-next-line react/no-did-update-set-state\n\t\t\tthis.setState(nextState);\n\t\t}\n\n\t\tif (prevProps.isOpen !== this.props.isOpen) {\n\t\t\tthis.setFocus();\n\t\t}\n\n\t\tif (!isEqual(prevProps.options, this.props.options)) {\n\t\t\tthis.navigableItems = getNavigableItems(prevProps.options);\n\t\t}\n\t}\n\n\tcomponentWillUnmount() {\n\t\tif (currentOpenDropdown === this) {\n\t\t\tcurrentOpenDropdown = undefined;\n\t\t}\n\t\tthis.isUnmounting = true;\n\t\tthis.renderOverlay(false);\n\t}\n\n\tgetId = () => this.props.id || this.generatedId;\n\n\tgetIsOpen = () =>\n\t\t!!(typeof this.props.isOpen === 'boolean'\n\t\t\t? this.props.isOpen\n\t\t\t: this.state.isOpen);\n\n\tgetIndexByValue = (value, options) => {\n\t\tlet foundIndex = -1;\n\n\t\tif (options && options.length) {\n\t\t\toptions.some((element, index) => {\n\t\t\t\tif (element && element.value === value) {\n\t\t\t\t\tfoundIndex = index;\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\n\t\t\t\treturn false;\n\t\t\t});\n\t\t}\n\n\t\treturn foundIndex;\n\t};\n\n\tgetValueByIndex = (index) => this.props.options[index];\n\n\tgetListItemRenderer = () =>\n\t\tthis.props.listItemRenderer ? this.props.listItemRenderer : ListItemLabel;\n\n\tgetListItemId = (index) => {\n\t\tlet menuItemId;\n\n\t\tif (index !== undefined) {\n\t\t\tconst menuId = isFunction(this.getId) ? this.getId() : this.props.id;\n\t\t\tmenuItemId = `${menuId}-item-${index}`;\n\t\t}\n\n\t\treturn menuItemId;\n\t};\n\n\tsetFocus = () => {\n\t\tif (!this.isHover && !this.isUnmounting && this.trigger) {\n\t\t\tReactDOM.findDOMNode(this.trigger).focus(); // eslint-disable-line react/no-find-dom-node\n\t\t}\n\t};\n\n\tgetMenu = () => ReactDOM.findDOMNode(this.list); // eslint-disable-line react/no-find-dom-node\n\n\tgetMenuItem = (index) => {\n\t\tif (index !== undefined && this.listItems) {\n\t\t\treturn ReactDOM.findDOMNode(this.listItems[index]); // eslint-disable-line react/no-find-dom-node\n\t\t}\n\n\t\treturn undefined;\n\t};\n\n\tgetCurrentSelectedIndices = (nextProps) => {\n\t\tif (this.props.multiple === true) {\n\t\t\tlet values = [];\n\t\t\tlet currentIndices = [];\n\t\t\tif (!Array.isArray(nextProps.value)) {\n\t\t\t\t// eslint-disable-next-line fp/no-mutating-methods\n\t\t\t\tvalues.push(nextProps.value);\n\t\t\t} else {\n\t\t\t\tvalues = nextProps.value;\n\t\t\t}\n\t\t\tvalues = values.filter(\n\t\t\t\t(value) => this.getIndexByValue(value, nextProps.options) !== -1\n\t\t\t);\n\t\t\tcurrentIndices = values.map((value) =>\n\t\t\t\tthis.getIndexByValue(value, nextProps.options)\n\t\t\t);\n\n\t\t\treturn {\n\t\t\t\tselectedIndices: currentIndices,\n\t\t\t};\n\t\t}\n\n\t\treturn {\n\t\t\tselectedIndex: this.getIndexByValue(nextProps.value, nextProps.options),\n\t\t};\n\t};\n\n\t// Trigger opens, closes, and recieves focus on close\n\tsaveRefToTrigger = (trigger) => {\n\t\tthis.trigger = trigger;\n\n\t\tif (!this.state.triggerRendered) {\n\t\t\tthis.setState({ triggerRendered: true });\n\t\t}\n\t};\n\n\t// TriggerContainer is the wrapping outer DOM element which may differ from the actual trigger which is most likely a `button`.\n\tsaveRefToTriggerContainer = (triggerContainer) => {\n\t\tthis.triggerContainer = triggerContainer;\n\t\tif (!this.trigger) this.trigger = triggerContainer;\n\t};\n\n\tsaveRefToList = (list) => {\n\t\tthis.list = list;\n\t};\n\n\tsaveRefToListItem = (listItem, index) => {\n\t\tif (!this.listItems) {\n\t\t\tthis.listItems = {};\n\t\t}\n\n\t\tthis.listItems[index] = listItem;\n\n\t\tif (index === this.state.focusedIndex) {\n\t\t\tthis.handleKeyboardFocus(this.state.focusedIndex);\n\t\t}\n\t};\n\n\thandleClose = () => {\n\t\tconst isOpen = this.getIsOpen();\n\n\t\tif (isOpen) {\n\t\t\tif (currentOpenDropdown === this) {\n\t\t\t\tcurrentOpenDropdown = undefined;\n\t\t\t}\n\n\t\t\tthis.setState({\n\t\t\t\tisOpen: false,\n\t\t\t});\n\n\t\t\tthis.isHover = false;\n\n\t\t\tif (this.props.onClose) {\n\t\t\t\tthis.props.onClose();\n\t\t\t}\n\t\t}\n\t};\n\n\thandleOpen = () => {\n\t\tconst isOpen = this.getIsOpen();\n\n\t\tif (!isOpen) {\n\t\t\tif (currentOpenDropdown && isFunction(currentOpenDropdown.handleClose)) {\n\t\t\t\tcurrentOpenDropdown.handleClose();\n\t\t\t}\n\n\t\t\tcurrentOpenDropdown = this;\n\n\t\t\tthis.setState({\n\t\t\t\tisOpen: true,\n\t\t\t});\n\n\t\t\tif (this.props.onOpen) {\n\t\t\t\tthis.props.onOpen();\n\t\t\t}\n\t\t}\n\t};\n\n\thandleMouseEnter = (event) => {\n\t\tconst isOpen = this.getIsOpen();\n\n\t\tthis.isHover = true;\n\n\t\tif (!isOpen && this.props.openOn === 'hover') {\n\t\t\tthis.handleOpenForHover();\n\t\t} else {\n\t\t\t// we want this clear when openOn is hover or hybrid\n\t\t\tclearTimeout(this.isClosing);\n\t\t}\n\n\t\tif (this.props.onMouseEnter) {\n\t\t\tthis.props.onMouseEnter(event);\n\t\t}\n\t};\n\n\thandleMouseLeave = (event) => {\n\t\tconst isOpen = this.getIsOpen();\n\n\t\tif (isOpen) {\n\t\t\tthis.isClosing = setTimeout(() => {\n\t\t\t\tthis.handleCloseForHover();\n\t\t\t}, this.props.hoverCloseDelay);\n\t\t}\n\n\t\tif (this.props.onMouseLeave) {\n\t\t\tthis.props.onMouseLeave(event);\n\t\t}\n\t};\n\n\t// Special handlers for openOn === hover\n\t// calling onClick inside onMouseEnter/Leave used to cause double clicking the trigger on hover which caused closing and reopening of the dropdown\n\thandleCloseForHover = () => {\n\t\tconst isOpen = this.getIsOpen();\n\t\tif (isOpen) {\n\t\t\tthis.handleClose();\n\t\t}\n\t};\n\n\thandleOpenForHover = () => {\n\t\tconst isOpen = this.getIsOpen();\n\n\t\tif (!isOpen) {\n\t\t\tthis.handleOpen();\n\t\t\tthis.setFocus();\n\t\t}\n\t};\n\n\thandleClick = (event) => {\n\t\tconst isOpen = this.getIsOpen();\n\n\t\tif (!isOpen) {\n\t\t\tthis.handleOpen();\n\t\t\tthis.setFocus();\n\t\t} else {\n\t\t\tthis.handleClose();\n\t\t}\n\n\t\tif (this.props.onClick) {\n\t\t\tthis.props.onClick(event);\n\t\t}\n\t};\n\n\thandleFocus = (event) => {\n\t\tif (this.props.onFocus) {\n\t\t\tthis.props.onFocus(event);\n\t\t}\n\t};\n\n\thandleClickCustomContent = () => {\n\t\tthis.setFocus();\n\t\tthis.handleClose();\n\n\t\tif (this.props.onSelect) {\n\t\t\tthis.props.onSelect();\n\t\t}\n\t};\n\n\thandleSelect = (index) => {\n\t\tif (!this.props.multiple) {\n\t\t\tthis.setState({ selectedIndex: index });\n\t\t\tthis.handleClose();\n\t\t\tthis.setFocus();\n\t\t} else if (\n\t\t\tthis.props.multiple &&\n\t\t\tthis.state.selectedIndices.indexOf(index) === -1\n\t\t) {\n\t\t\t// eslint-disable-next-line react/no-access-state-in-setstate\n\t\t\tconst currentIndices = this.state.selectedIndices.concat(index);\n\t\t\tthis.setState({\n\t\t\t\tselectedIndices: currentIndices,\n\t\t\t});\n\t\t} else if (this.props.multiple) {\n\t\t\tconst deselectIndex = this.state.selectedIndices.indexOf(index);\n\t\t\t// eslint-disable-next-line react/no-access-state-in-setstate\n\t\t\tconst currentSelected = this.state.selectedIndices;\n\t\t\t// eslint-disable-next-line fp/no-mutating-methods\n\t\t\tcurrentSelected.splice(deselectIndex, 1);\n\t\t\tthis.setState({\n\t\t\t\tselectedIndices: currentSelected,\n\t\t\t});\n\t\t}\n\n\t\tif (this.props.onSelect) {\n\t\t\tconst option = this.getValueByIndex(index);\n\t\t\tthis.props.onSelect(option, { option, optionIndex: index });\n\t\t}\n\t};\n\n\thandleKeyDown = (event) => {\n\t\tif (event.keyCode) {\n\t\t\tif (\n\t\t\t\tevent.keyCode === KEYS.ENTER ||\n\t\t\t\tevent.keyCode === KEYS.SPACE ||\n\t\t\t\tevent.keyCode === KEYS.DOWN ||\n\t\t\t\tevent.keyCode === KEYS.UP\n\t\t\t) {\n\t\t\t\tEventUtil.trap(event);\n\t\t\t}\n\n\t\t\tif (event.keyCode !== KEYS.TAB) {\n\t\t\t\tconst isOpen = this.getIsOpen();\n\n\t\t\t\tthis.handleKeyboardNavigate({\n\t\t\t\t\tevent,\n\t\t\t\t\tisOpen,\n\t\t\t\t\tkey: event.key,\n\t\t\t\t\tkeyCode: event.keyCode,\n\t\t\t\t\tonSelect: this.handleSelect,\n\t\t\t\t\ttarget: event.target,\n\t\t\t\t\ttoggleOpen: this.toggleOpen,\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\tthis.handleCancel();\n\t\t\t}\n\n\t\t\tif (this.props.onKeyDown) {\n\t\t\t\tthis.props.onKeyDown(event);\n\t\t\t}\n\t\t}\n\t};\n\n\thandleCancel = () => {\n\t\tthis.setFocus();\n\t\tthis.handleClose();\n\t};\n\n\thandleClickOutside = () => {\n\t\tthis.handleClose();\n\t};\n\n\t// Handling open / close toggling is optional, and a default implementation is provided for handling focus, but selection _must_ be handled\n\thandleKeyboardNavigate = ({\n\t\tevent,\n\t\tisOpen = true,\n\t\tkeyCode,\n\t\tonFocus = this.handleKeyboardFocus,\n\t\tonSelect,\n\t\ttarget,\n\t\ttoggleOpen = noop,\n\t}) => {\n\t\tkeyboardNavigate({\n\t\t\tcomponentContext: this,\n\t\t\tcurrentFocusedIndex: this.state.focusedIndex,\n\t\t\tevent,\n\t\t\tisOpen,\n\t\t\tkeyCode,\n\t\t\tnavigableItems: this.navigableItems,\n\t\t\tonFocus,\n\t\t\tonSelect,\n\t\t\ttarget,\n\t\t\ttoggleOpen,\n\t\t});\n\t};\n\n\t// This is a bit of an anti-pattern, but it has the upside of being a nice default. Component authors can always override to only set state and do their own focusing in their subcomponents.\n\thandleKeyboardFocus = (focusedIndex) => {\n\t\tif (this.state.focusedIndex !== focusedIndex) {\n\t\t\tthis.setState({ focusedIndex });\n\t\t}\n\n\t\tconst menu = isFunction(this.getMenu) ? this.getMenu() : getMenu(this);\n\n\t\tconst menuItem = isFunction(this.getMenuItem)\n\t\t\t? this.getMenuItem(focusedIndex, menu)\n\t\t\t: getMenuItem(this.getListItemId(focusedIndex));\n\n\t\tif (menuItem) {\n\t\t\tthis.focusMenuItem(menuItem);\n\t\t\tthis.scrollToMenuItem(menu, menuItem);\n\t\t}\n\t};\n\n\tfocusMenuItem = (menuItem) => {\n\t\tmenuItem.getElementsByTagName('a')[0].focus();\n\t};\n\n\tscrollToMenuItem = (menu, menuItem) => {\n\t\tif (menu && menuItem) {\n\t\t\tconst menuHeight = menu.offsetHeight;\n\n\t\t\tconst menuTop = menu.scrollTop;\n\t\t\tconst menuItemTop = menuItem.offsetTop - menu.offsetTop;\n\n\t\t\tif (menuItemTop < menuTop) {\n\t\t\t\t// eslint-disable-next-line no-param-reassign\n\t\t\t\tmenu.scrollTop = menuItemTop;\n\t\t\t} else {\n\t\t\t\tconst menuBottom = menuTop + menuHeight + menu.offsetTop;\n\t\t\t\tconst menuItemBottom =\n\t\t\t\t\tmenuItemTop + menuItem.offsetHeight + menu.offsetTop;\n\n\t\t\t\tif (menuItemBottom > menuBottom) {\n\t\t\t\t\t// eslint-disable-next-line no-param-reassign\n\t\t\t\t\tmenu.scrollTop = menuItemBottom - menuHeight - menu.offsetTop;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t};\n\n\ttoggleOpen = () => {\n\t\tconst isOpen = this.getIsOpen();\n\t\tthis.setFocus();\n\n\t\tif (isOpen) {\n\t\t\tthis.handleClose();\n\t\t} else {\n\t\t\tthis.handleOpen();\n\t\t}\n\t};\n\n\trenderDefaultMenuContent = (customListProps) => (\n\t\t<List\n\t\t\tkey={`${this.getId()}-dropdown-list`}\n\t\t\tcheckmark={this.props.checkmark}\n\t\t\tgetListItemId={this.getListItemId}\n\t\t\titemRefs={this.saveRefToListItem}\n\t\t\titemRenderer={this.getListItemRenderer()}\n\t\t\tonCancel={this.handleCancel}\n\t\t\tonSelect={this.handleSelect}\n\t\t\toptions={this.props.options}\n\t\t\tref={this.saveRefToList}\n\t\t\tselectedIndex={\n\t\t\t\t!this.props.multiple ? this.state.selectedIndex : undefined\n\t\t\t}\n\t\t\tselectedIndices={\n\t\t\t\tthis.props.multiple ? this.state.selectedIndices : undefined\n\t\t\t}\n\t\t\ttooltipMenuItem={this.props.tooltipMenuItem}\n\t\t\ttriggerId={this.getId()}\n\t\t\tlength={this.props.length}\n\t\t\t{...customListProps}\n\t\t/>\n\t);\n\n\trenderMenuContent = (customContent) => {\n\t\t/**\n\t\t * Custom content for dropdown was a hack done in the past. If there's more than a listbox within a dropdown, then it should be a popover as explained for the `children` prop.\n\t\t *\n\t\t * This code block shows how things are done in the past:\n\t\t * ```\n\t\t * <Dropdown>\n\t\t * <Trigger>\n\t\t * <Button iconCategory=\"utility\" iconName=\"settings\" />\n\t\t * </Trigger>\n\t\t * <div>Look ma! This is Custom Content.</div>\n\t\t * <List options={[myArray]}/>\n\t\t * </Dropdown>\n\t\t * ```\n\t\t */\n\t\tlet customContentWithListPropInjection = [];\n\t\t// Dropdown can take a Trigger component as a child and then return it as the parent DOM element.\n\t\tReact.Children.forEach(customContent, (child) => {\n\t\t\tif (child && child.type.displayName === LIST) {\n\t\t\t\t// eslint-disable-next-line fp/no-mutating-methods\n\t\t\t\tcustomContentWithListPropInjection.push(\n\t\t\t\t\tthis.renderDefaultMenuContent(child.props)\n\t\t\t\t);\n\t\t\t} else if (child) {\n\t\t\t\tconst clonedCustomContent = React.cloneElement(child, {\n\t\t\t\t\tonClick: this.handleClickCustomContent,\n\t\t\t\t\tkey: shortid.generate(),\n\t\t\t\t});\n\t\t\t\t// eslint-disable-next-line fp/no-mutating-methods\n\t\t\t\tcustomContentWithListPropInjection.push(clonedCustomContent);\n\t\t\t}\n\t\t});\n\n\t\tif (customContentWithListPropInjection.length === 0) {\n\t\t\tcustomContentWithListPropInjection = null;\n\t\t}\n\n\t\treturn (\n\t\t\tcustomContentWithListPropInjection || this.renderDefaultMenuContent()\n\t\t);\n\t};\n\n\trenderDialog = (customContent, isOpen, outsideClickIgnoreClass) => {\n\t\tlet align = 'bottom';\n\t\tlet hasNubbin = false;\n\t\tlet positionClassName = '';\n\n\t\tif (this.props.nubbinPosition) {\n\t\t\thasNubbin = true;\n\t\t\talign = DropdownToDialogNubbinMapping[this.props.nubbinPosition];\n\t\t} else if (this.props.align) {\n\t\t\talign =\n\t\t\t\tthis.props.align === 'center' ? 'bottom' : `bottom ${this.props.align}`;\n\t\t}\n\n\t\tconst positions = DropdownToDialogNubbinMapping[align].split(' ');\n\t\tpositionClassName = classNames(\n\t\t\tpositions.map((position) => `slds-dropdown_${position}`)\n\t\t);\n\n\t\t// FOR BACKWARDS COMPATIBILITY\n\t\tconst menuPosition = this.props.isInline\n\t\t\t? 'relative'\n\t\t\t: this.props.menuPosition; // eslint-disable-line react/prop-types\n\n\t\tconst menuStylesBase = {};\n\t\tif (this.props.align === 'center' && !hasNubbin) {\n\t\t\tmenuStylesBase.transform = 'none';\n\t\t}\n\n\t\treturn isOpen ? (\n\t\t\t<Dialog\n\t\t\t\talign={align}\n\t\t\t\tclassName={classNames(this.props.containerClassName)}\n\t\t\t\tcloseOnTabKey\n\t\t\t\tcontentsClassName={classNames(\n\t\t\t\t\t'slds-dropdown',\n\t\t\t\t\t`slds-dropdown_${this.props.width}`,\n\t\t\t\t\t'slds-text-align_left',\n\t\t\t\t\t'ignore-react-onclickoutside',\n\t\t\t\t\tthis.props.className,\n\t\t\t\t\tpositionClassName,\n\t\t\t\t\t{\n\t\t\t\t\t\t'slds-dropdown_inverse': this.props.inverse,\n\t\t\t\t\t}\n\t\t\t\t)}\n\t\t\t\tcontext={this.context}\n\t\t\t\thasNubbin={hasNubbin}\n\t\t\t\thasStaticAlignment={this.props.hasStaticAlignment}\n\t\t\t\tinheritWidthOf={this.props.inheritTargetWidth ? 'target' : 'none'}\n\t\t\t\toffset={this.props.offset}\n\t\t\t\tonClose={this.handleClose}\n\t\t\t\tonKeyDown={this.handleKeyDown}\n\t\t\t\toutsideClickIgnoreClass={outsideClickIgnoreClass}\n\t\t\t\tposition={menuPosition}\n\t\t\t\tstyle={{\n\t\t\t\t\t...menuStylesBase,\n\t\t\t\t\t...this.props.menuStyle,\n\t\t\t\t}}\n\t\t\t\tonRequestTargetElement={() => this.trigger}\n\t\t\t>\n\t\t\t\t{this.renderMenuContent(customContent)}\n\t\t\t</Dialog>\n\t\t) : null;\n\t};\n\n\trenderOverlay = (isOpen) => {\n\t\tif (isFunction(overlay) && documentDefined) {\n\t\t\toverlay(isOpen, overlay);\n\t\t} else if (\n\t\t\tthis.props.overlay &&\n\t\t\tisOpen &&\n\t\t\t!this.overlay &&\n\t\t\tdocumentDefined\n\t\t) {\n\t\t\tthis.overlay = overlay;\n\t\t\tdocument.querySelector('body').appendChild(this.overlay);\n\t\t} else if (!isOpen && this.overlay && this.overlay.parentNode) {\n\t\t\tthis.overlay.parentNode.removeChild(this.overlay);\n\t\t\tthis.overlay = undefined;\n\t\t}\n\t};\n\n\trender() {\n\t\t// Dropdowns are used by other components. The default trigger is a button, but some other components use `li` elements. The following allows `MenuDropdown` to be extended by providing a child component with the displayName of `DropdownTrigger`.\n\t\tlet CurrentTrigger = DefaultTrigger;\n\n\t\tlet CustomTriggerChildProps = {};\n\n\t\t// Child elements that do not have the display name of the value of `MENU_DROPDOWN_TRIGGER` in `components/constants.js` will be considered custom content and rendered in the popover.\n\t\tlet customContent = [];\n\n\t\t// Dropdown can take a Trigger component as a child and then return it as the parent DOM element.\n\t\tReact.Children.forEach(this.props.children, (child) => {\n\t\t\tif (child && child.type.displayName === MENU_DROPDOWN_TRIGGER) {\n\t\t\t\t// `CustomTriggerChildProps` is not used by the default button Trigger, but by other triggers\n\t\t\t\tCustomTriggerChildProps = child.props;\n\t\t\t\tCurrentTrigger = child.type;\n\t\t\t} else if (child) {\n\t\t\t\t// eslint-disable-next-line fp/no-mutating-methods\n\t\t\t\tcustomContent.push(child);\n\t\t\t}\n\t\t});\n\n\t\tif (customContent.length === 0) {\n\t\t\tcustomContent = null;\n\t\t}\n\n\t\tconst outsideClickIgnoreClass = `ignore-click-${this.getId()}`;\n\t\tconst isOpen = !this.props.disabled && this.getIsOpen() && !!this.trigger;\n\n\t\tthis.renderOverlay(isOpen);\n\n\t\t/* Below are three sections of props:\n\t\t - The first are the props that may be given by the dropdown component. These may get deprecated in the future.\n\t\t - The next set of props (`CustomTriggerChildProps`) are props that can be overwritten by the end developer.\n\t\t - The final set are props that should not be overwritten, since they are ones that tie the trigger to the dropdown menu.\n\t\t*/\n\n\t\treturn (\n\t\t\t<CurrentTrigger\n\t\t\t\taria-haspopup\n\t\t\t\tassistiveText={this.props.assistiveText}\n\t\t\t\tclassName={classNames(\n\t\t\t\t\toutsideClickIgnoreClass,\n\t\t\t\t\tthis.props.buttonClassName\n\t\t\t\t)}\n\t\t\t\tdisabled={this.props.disabled}\n\t\t\t\thint={this.props.hint}\n\t\t\t\ticonCategory={this.props.iconCategory}\n\t\t\t\ticonName={this.props.iconName}\n\t\t\t\ticonPosition={this.props.iconPosition}\n\t\t\t\ticonSize={this.props.iconSize}\n\t\t\t\ticonVariant={this.props.iconVariant}\n\t\t\t\tid={this.getId()}\n\t\t\t\tinverse={this.props.buttonInverse}\n\t\t\t\tisOpen={isOpen}\n\t\t\t\tlabel={this.props.label}\n\t\t\t\tmenu={this.renderDialog(customContent, isOpen, outsideClickIgnoreClass)}\n\t\t\t\tonBlur={this.props.onBlur}\n\t\t\t\tonClick={\n\t\t\t\t\tthis.props.openOn === 'click' || this.props.openOn === 'hybrid'\n\t\t\t\t\t\t? this.handleClick\n\t\t\t\t\t\t: this.props.onClick\n\t\t\t\t}\n\t\t\t\tonFocus={this.props.openOn === 'hover' ? this.handleFocus : null}\n\t\t\t\tonKeyDown={this.handleKeyDown}\n\t\t\t\tonMouseDown={this.props.onMouseDown}\n\t\t\t\tonMouseEnter={\n\t\t\t\t\tthis.props.openOn === 'hover' || this.props.openOn === 'hybrid'\n\t\t\t\t\t\t? this.handleMouseEnter\n\t\t\t\t\t\t: null\n\t\t\t\t}\n\t\t\t\tonMouseLeave={\n\t\t\t\t\tthis.props.openOn === 'hover' || this.props.openOn === 'hybrid'\n\t\t\t\t\t\t? this.handleMouseLeave\n\t\t\t\t\t\t: null\n\t\t\t\t}\n\t\t\t\topenOn={this.props.openOn}\n\t\t\t\tref={this.saveRefToTriggerContainer}\n\t\t\t\tstyle={this.props.style}\n\t\t\t\ttabIndex={this.props.tabIndex || (isOpen ? '-1' : '0')}\n\t\t\t\ttooltip={this.props.tooltip}\n\t\t\t\ttriggerClassName={this.props.triggerClassName}\n\t\t\t\ttriggerRef={this.saveRefToTrigger}\n\t\t\t\tvariant={this.props.buttonVariant}\n\t\t\t\t{...CustomTriggerChildProps}\n\t\t\t/>\n\t\t);\n\t}\n}\n\nMenuDropdown.contextTypes = {\n\ticonPath: PropTypes.string,\n};\n\nMenuDropdown.propTypes = propTypes;\nMenuDropdown.defaultProps = defaultProps;\n\nexport default MenuDropdown;\nexport { ListItem, ListItemLabel, DropdownNubbinPositions };\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// ### onClickOutside\n// Listen for clicks that occur somewhere in the document, outside of the element itself\nimport onClickOutside from 'react-onclickoutside';\nimport MenuDropdown from './menu-dropdown';\n\nexport default onClickOutside(MenuDropdown);\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n/* eslint-disable jsx-a11y/no-redundant-roles */\n\n// # Breadcrumbs\n\n// Implements the [Breadcrumbs design pattern](https://www.lightningdesignsystem.com/components/breadcrumbs) in React.\n// Based on SLDS v2.1.0-rc.2\n\n// ## Dependencies\n\n// ### React\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\n// This component's `checkProps` which issues warnings to developers about properties when in development mode (similar to React's built in development tools)\nimport checkProps from './check-props';\nimport componentDoc from './component.json';\n\n// ## Constants\nimport { BREADCRUMB } from '../../utilities/constants';\nimport Dropdown from './../menu-dropdown';\n\nconst propTypes = {\n\t/**\n\t * **Assistive text for accessibility.**\n\t * This object is merged with the default props object on every render.\n\t * * `label`: The assistive text for the breadcrumb trail.\n\t */\n\tassistiveText: PropTypes.shape({\n\t\tlabel: PropTypes.string,\n\t}),\n\t/**\n\t * A unique ID is needed in order to support keyboard navigation, ARIA support, and connect the dropdown to the triggering button.\n\t */\n\tid: PropTypes.string,\n\t/**\n\t * Overflow menu of the type [Dropdown](/components/menu-dropdowns)\n\t */\n\toverflowDropdownMenu: PropTypes.node,\n\t/**\n\t * Custom styles to be passed to the containing `nav` tag\n\t */\n\tstyleContainer: PropTypes.object,\n\t/**\n\t * An array of anchor elements that define the path to the current record.\n\t */\n\ttrail: PropTypes.array.isRequired,\n};\n\nconst defaultProps = {\n\tassistiveText: {\n\t\tlabel: 'Breadcrumbs',\n\t},\n};\n\nconst getBreadcrumbDropdown = (overflowDropdownMenu, props) => {\n\tconst overflowDropdownMenuProps = {\n\t\t...overflowDropdownMenu.props,\n\t\tid: `${props.id}-dropdown`,\n\t\ticonCategory: 'utility',\n\t\ticonName: 'threedots',\n\t\ticonVariant: 'bare',\n\t\tthreedots: true,\n\t};\n\treturn (\n\t\t<li className=\"slds-breadcrumb__item\">\n\t\t\t<Dropdown {...overflowDropdownMenuProps} />\n\t\t</li>\n\t);\n};\n\n/**\n * Use breadcrumbs to note the path of a record and help the user to navigate back to the parent.Breadcrumb based on SLDS 2.1.0-dev\n */\nconst Breadcrumb = (props) => {\n\tcheckProps(BREADCRUMB, props, componentDoc);\n\n\tconst { overflowDropdownMenu, trail } = props;\n\tconst assistiveText =\n\t\ttypeof props.assistiveText === 'string'\n\t\t\t? props.assistiveText\n\t\t\t: {\n\t\t\t\t\t...defaultProps.assistiveText,\n\t\t\t\t\t...props.assistiveText,\n\t\t\t }.label;\n\n\treturn (\n\t\t<nav\n\t\t\trole=\"navigation\"\n\t\t\taria-label={assistiveText}\n\t\t\tstyle={props.styleContainer}\n\t\t>\n\t\t\t<ol className=\"slds-breadcrumb slds-list_horizontal\">\n\t\t\t\t{overflowDropdownMenu &&\n\t\t\t\t\tgetBreadcrumbDropdown(overflowDropdownMenu, props)}\n\t\t\t\t{trail.map((crumb, index) => (\n\t\t\t\t\t/* eslint-disable react/no-array-index-key */\n\t\t\t\t\t<li\n\t\t\t\t\t\tkey={index} // There isn't any better reasonable way to identity these\n\t\t\t\t\t\tclassName=\"slds-breadcrumb__item\"\n\t\t\t\t\t>\n\t\t\t\t\t\t{crumb}\n\t\t\t\t\t</li>\n\t\t\t\t))}\n\t\t\t</ol>\n\t\t</nav>\n\t);\n};\n\nBreadcrumb.displayName = BREADCRUMB;\nBreadcrumb.propTypes = propTypes;\nBreadcrumb.defaultProps = defaultProps;\n\nexport default Breadcrumb;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\n\nimport Icon from '../icon';\n\nimport {\n\tBUILDER_HEADER,\n\tBUILDER_HEADER_NAV,\n\tBUILDER_HEADER_TOOLBAR,\n\tBUILDER_HEADER_MISC,\n} from '../../utilities/constants';\n\nconst propTypes = {\n\t/**\n\t * **Assistive text for accessibility**\n\t * This object is merged with the default props object on every render.\n\t * * `backIcon`: Used for the back icon.\n\t * * `helpIcon`: Used for the help icon.\n\t * * `icon`: Used for the main icon next to the header title.\n\t * * _Tested with snapshot testing._\n\t */\n\tassistiveText: PropTypes.shape({\n\t\tbackIcon: PropTypes.string,\n\t\thelpIcon: PropTypes.string,\n\t\ticon: PropTypes.string,\n\t}),\n\t/**\n\t * Provide children of the types `<BuilderHeaderNav />`, `<BuilderHeaderToolbar />`, or `<BuilderHeaderMisc />` to define the structure of the header.\n\t * ```\n\t * <BuilderHeader>\n\t * <BuilderHeaderNav />\n\t * <BuilderHeaderToolbar />\n\t * <BuilderHeaderMisc />\n\t * </BuilderHeader>\n\t * ```\n\t */\n\tchildren: PropTypes.node,\n\t/**\n\t * CSS classes to be added to tag with `.slds-builder-header_container`. Uses `classNames` [API](https://github.com/JedWatson/classnames). _Tested with snapshot testing._\n\t */\n\tclassName: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\t/**\n\t * Event Callbacks\n\t * * `onClickBack`: Called when the Back link is clicked.\n\t * * `onClickHelp`: Called when the Help link is clicked.\n\t * _Tested with Mocha testing._\n\t */\n\tevents: PropTypes.shape({\n\t\tonClickBack: PropTypes.func,\n\t\tonClickHelp: PropTypes.func,\n\t}),\n\t/**\n\t * Category of the title icon from [lightningdesignsystem.com/icons/](https://www.lightningdesignsystem.com/icons/)\n\t */\n\ticonCategory: PropTypes.string,\n\t/**\n\t * CSS classes that are applied to the title icon.\n\t */\n\ticonClassName: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\t/**\n\t * Name of the title icon. Visit <a href='http://www.lightningdesignsystem.com/resources/icons'>Lightning Design System Icons</a> to reference icon names.\n\t */\n\ticonName: PropTypes.string,\n\t/**\n\t * Path to the title icon. This will override any global icon settings.\n\t */\n\ticonPath: PropTypes.string,\n\t/**\n\t * **Text labels for internationalization**\n\t * This object is merged with the default props object on every render.\n\t * * `back`: The label for the Back link.\n\t * * `help`: The label for the Help link.\n\t * * `pageType`: The label that describes the page type.\n\t * * `title`: The label for the page title.\n\t * _Tested with snapshot testing._\n\t */\n\tlabels: PropTypes.shape({\n\t\tback: PropTypes.string,\n\t\thelp: PropTypes.string,\n\t\tpageType: PropTypes.string,\n\t\ttitle: PropTypes.string,\n\t}),\n\t/**\n\t * Custom styles applied to the `.slds-builder-header_container` element.\n\t */\n\tstyle: PropTypes.object,\n};\n\nconst defaultProps = {\n\tassistiveText: {\n\t\tbackIcon: 'Back',\n\t\thelpIcon: 'Help',\n\t\ticon: 'Builder',\n\t},\n\ticonCategory: 'utility',\n\ticonName: 'builder',\n\tlabels: {\n\t\tback: 'Back',\n\t\thelp: 'Help',\n\t\tpageType: 'Page Type',\n\t\ttitle: 'App Name',\n\t},\n};\n\n/**\n * Every builder needs a builder header, which contains basic navigation elements. It also shows the builder type and content name.\n */\nconst BuilderHeader = (props) => {\n\tconst assistiveText = {\n\t\t...defaultProps.assistiveText,\n\t\t...props.assistiveText,\n\t};\n\tconst events = {\n\t\t...{},\n\t\t...props.events,\n\t};\n\tconst labels = {\n\t\t...defaultProps.labels,\n\t\t...props.labels,\n\t};\n\n\tlet nav;\n\tlet toolbar;\n\tconst misc = [];\n\tReact.Children.forEach(props.children, (child) => {\n\t\tif (child) {\n\t\t\tswitch (child.type.displayName) {\n\t\t\t\tcase BUILDER_HEADER_NAV:\n\t\t\t\t\tnav = child;\n\t\t\t\t\tbreak;\n\t\t\t\tcase BUILDER_HEADER_TOOLBAR:\n\t\t\t\t\ttoolbar = child;\n\t\t\t\t\tbreak;\n\t\t\t\tcase BUILDER_HEADER_MISC:\n\t\t\t\t\t// eslint-disable-next-line fp/no-mutating-methods\n\t\t\t\t\tmisc.push(child);\n\t\t\t\t\tbreak;\n\t\t\t\tdefault:\n\t\t\t}\n\t\t}\n\t});\n\n\tlet iconCategory;\n\tlet iconName;\n\tlet iconPath;\n\tif (props.iconPath) {\n\t\t({ iconPath } = props);\n\t} else {\n\t\t({ iconCategory, iconName } = props);\n\t}\n\n\treturn (\n\t\t<div style={{ position: 'relative', height: '100px' }}>\n\t\t\t<div\n\t\t\t\tclassName={classNames('slds-builder-header_container', props.className)}\n\t\t\t\tstyle={props.style}\n\t\t\t>\n\t\t\t\t<header className=\"slds-builder-header\">\n\t\t\t\t\t<div className=\"slds-builder-header__item\">\n\t\t\t\t\t\t<div className=\"slds-builder-header__item-label slds-media slds-media_center\">\n\t\t\t\t\t\t\t<div className=\"slds-media__figure\">\n\t\t\t\t\t\t\t\t<Icon\n\t\t\t\t\t\t\t\t\tassistiveText={{ label: assistiveText.icon }}\n\t\t\t\t\t\t\t\t\tcategory={iconCategory}\n\t\t\t\t\t\t\t\t\tcontainerClassName={classNames(\n\t\t\t\t\t\t\t\t\t\t'slds-icon_container',\n\t\t\t\t\t\t\t\t\t\t'slds-icon-utility-builder',\n\t\t\t\t\t\t\t\t\t\t'slds-current-color',\n\t\t\t\t\t\t\t\t\t\tprops.iconClassName\n\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\tname={iconName}\n\t\t\t\t\t\t\t\t\tpath={iconPath}\n\t\t\t\t\t\t\t\t\tsize=\"x-small\"\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<div className=\"slds-media__body\">{labels.title}</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t\t{nav}\n\n\t\t\t\t\t{misc.length > 0 ? (\n\t\t\t\t\t\tmisc\n\t\t\t\t\t) : (\n\t\t\t\t\t\t<div className=\"slds-builder-header__item slds-has-flexi-truncate\">\n\t\t\t\t\t\t\t<h1 className=\"slds-builder-header__item-label\">\n\t\t\t\t\t\t\t\t<span className=\"slds-truncate\" title={labels.pageType}>\n\t\t\t\t\t\t\t\t\t{labels.pageType}\n\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t</h1>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t)}\n\n\t\t\t\t\t<div className=\"slds-builder-header__item slds-builder-header__utilities\">\n\t\t\t\t\t\t<div className=\"slds-builder-header__utilities-item\">\n\t\t\t\t\t\t\t<a\n\t\t\t\t\t\t\t\thref=\"javascript:void(0);\"\n\t\t\t\t\t\t\t\tclassName=\"slds-builder-header__item-action slds-media slds-media_center\"\n\t\t\t\t\t\t\t\tonClick={events.onClickBack}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<div className=\"slds-media__figure\">\n\t\t\t\t\t\t\t\t\t<Icon\n\t\t\t\t\t\t\t\t\t\tassistiveText={{ label: assistiveText.backIcon }}\n\t\t\t\t\t\t\t\t\t\tcategory=\"utility\"\n\t\t\t\t\t\t\t\t\t\tcontainerClassName=\"slds-icon_container slds-icon-utility-settings slds-current-color\"\n\t\t\t\t\t\t\t\t\t\tname=\"back\"\n\t\t\t\t\t\t\t\t\t\tsize=\"x-small\"\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t<div className=\"slds-media__body\">{labels.back}</div>\n\t\t\t\t\t\t\t</a>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div className=\"slds-builder-header__utilities-item\">\n\t\t\t\t\t\t\t<a\n\t\t\t\t\t\t\t\thref=\"javascript:void(0);\"\n\t\t\t\t\t\t\t\tclassName=\"slds-builder-header__item-action slds-media slds-media_center\"\n\t\t\t\t\t\t\t\tonClick={events.onClickHelp}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<div className=\"slds-media__figure\">\n\t\t\t\t\t\t\t\t\t<Icon\n\t\t\t\t\t\t\t\t\t\tassistiveText={{ label: assistiveText.helpIcon }}\n\t\t\t\t\t\t\t\t\t\tcategory=\"utility\"\n\t\t\t\t\t\t\t\t\t\tcontainerClassName=\"slds-icon_container slds-icon-utility-settings slds-current-color\"\n\t\t\t\t\t\t\t\t\t\tname=\"help\"\n\t\t\t\t\t\t\t\t\t\tsize=\"x-small\"\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t<div className=\"slds-media__body\">{labels.help}</div>\n\t\t\t\t\t\t\t</a>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t</header>\n\t\t\t\t{toolbar}\n\t\t\t</div>\n\t\t</div>\n\t);\n};\n\nBuilderHeader.displayName = BUILDER_HEADER;\nBuilderHeader.propTypes = propTypes;\nBuilderHeader.defaultProps = defaultProps;\nexport default BuilderHeader;\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport { BUILDER_HEADER_MISC } from '../../utilities/constants';\n\nconst propTypes = {\n\t/**\n\t * Provide custom content in place of Page Type label\n\t * ```\n\t * <BuilderHeader>\n\t * <BuilderHeaderMisc>\n\t * Custom content\n\t * </BuilderHeaderMisc>\n\t * </BuilderHeader>\n\t * ```\n\t */\n\tchildren: PropTypes.node,\n};\n\n/**\n * The miscellaneous section of the header.\n */\nconst BuilderHeaderMisc = (props) => (\n\t<div className=\"slds-builder-header__item\" style={{ width: '100%' }}>\n\t\t<div className=\"slds-builder-header__item-label\">{props.children}</div>\n\t</div>\n);\n\nBuilderHeaderMisc.displayName = BUILDER_HEADER_MISC;\nBuilderHeaderMisc.propTypes = propTypes;\nexport default BuilderHeaderMisc;\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport {\n\tBUILDER_HEADER_NAV,\n\tBUILDER_HEADER_NAV_DROPDOWN,\n\tBUILDER_HEADER_NAV_LINK,\n} from '../../utilities/constants';\n\nconst propTypes = {\n\t/**\n\t * Provide children of the types `<BuilderHeaderNavLink />` or `<BuilderHeaderNavDropdown />` to define the structure of the navigation section.\n\t * ```\n\t * <BuilderHeader>\n\t * <BuilderHeaderNav>\n\t * <BuilderHeaderNavLink />\n\t * <BuilderHeaderNavDropdown />\n\t * </BuilderHeaderNav>\n\t * </BuilderHeader>\n\t * ```\n\t */\n\tchildren: PropTypes.node,\n};\n\n/**\n * The navigation section of the header.\n */\nconst BuilderHeaderNav = (props) => (\n\t<nav className=\"slds-builder-header__item slds-builder-header__nav\">\n\t\t<ul className=\"slds-builder-header__nav-list\">\n\t\t\t{React.Children.map(props.children, (child) => {\n\t\t\t\tif (\n\t\t\t\t\tchild.type.displayName === BUILDER_HEADER_NAV_LINK ||\n\t\t\t\t\tchild.type.displayName === BUILDER_HEADER_NAV_DROPDOWN\n\t\t\t\t) {\n\t\t\t\t\treturn child;\n\t\t\t\t}\n\t\t\t\treturn null;\n\t\t\t})}\n\t\t</ul>\n\t</nav>\n);\n\nBuilderHeaderNav.displayName = BUILDER_HEADER_NAV;\nBuilderHeaderNav.propTypes = propTypes;\nexport default BuilderHeaderNav;\n","import React from 'react';\n\nimport Button from '../button';\nimport Icon from '../icon';\nimport Dropdown from '../menu-dropdown';\nimport DropdownTrigger from '../menu-dropdown/button-trigger';\nimport MenuDropdown from '../menu-dropdown/menu-dropdown';\n\nimport { BUILDER_HEADER_NAV_DROPDOWN } from '../../utilities/constants';\n\n// This component accepts the same props as MenuDropdown.\n// eslint-disable-next-line react/forbid-foreign-prop-types\nconst { propTypes } = MenuDropdown;\n\n/**\n * A dropdown within the navigation section of the header.\n */\nconst BuilderHeaderNavDropdown = (props) => {\n\t// Separate props we care about in order to pass others along passively to the dropdown component\n\tconst { iconCategory, iconName, label, assistiveText, ...rest } = props;\n\treturn (\n\t\t<li className=\"slds-builder-header__nav-item\">\n\t\t\t<Dropdown {...rest}>\n\t\t\t\t<DropdownTrigger>\n\t\t\t\t\t<Button\n\t\t\t\t\t\tclassName=\"slds-builder-header__item-action slds-media slds-media_center\"\n\t\t\t\t\t\tvariant=\"base\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<span className=\"slds-media__figure\">\n\t\t\t\t\t\t\t<Icon\n\t\t\t\t\t\t\t\tassistiveText={{\n\t\t\t\t\t\t\t\t\tlabel: assistiveText && assistiveText.icon,\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\tcategory={iconCategory}\n\t\t\t\t\t\t\t\tcontainerClassName=\"slds-icon_container slds-icon-utility-page slds-current-color\"\n\t\t\t\t\t\t\t\tname={iconName}\n\t\t\t\t\t\t\t\tsize=\"x-small\"\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</span>\n\t\t\t\t\t\t<span className=\"slds-media__body\">\n\t\t\t\t\t\t\t<span className=\"slds-truncate\" title={label}>\n\t\t\t\t\t\t\t\t{label}\n\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t<Icon\n\t\t\t\t\t\t\t\tcategory=\"utility\"\n\t\t\t\t\t\t\t\tcontainerClassName=\"slds-icon_container slds-icon-utility-chevrondown slds-current-color slds-m-left_small\"\n\t\t\t\t\t\t\t\tname=\"chevrondown\"\n\t\t\t\t\t\t\t\tsize=\"x-small\"\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</span>\n\t\t\t\t\t</Button>\n\t\t\t\t</DropdownTrigger>\n\t\t\t</Dropdown>\n\t\t</li>\n\t);\n};\n\nBuilderHeaderNavDropdown.displayName = BUILDER_HEADER_NAV_DROPDOWN;\nBuilderHeaderNavDropdown.propTypes = propTypes;\nexport default BuilderHeaderNavDropdown;\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport Icon from '../icon';\n\nimport { BUILDER_HEADER_NAV_LINK } from '../../utilities/constants';\n\nconst propTypes = {\n\t/**\n\t * **Assistive text for accessibility**\n\t * This object is merged with the default props object on every render.\n\t * * `icon`: Used for the icon next to the link text.\n\t * * _Tested with snapshot testing._\n\t */\n\tassistiveText: PropTypes.shape({\n\t\ticon: PropTypes.string,\n\t}),\n\t/**\n\t * Name of the icon category. Visit <a href=\"http://www.lightningdesignsystem.com/resources/icons\">Lightning Design System Icons</a> to reference icon categories.\n\t */\n\ticonCategory: PropTypes.oneOf([\n\t\t'action',\n\t\t'custom',\n\t\t'doctype',\n\t\t'standard',\n\t\t'utility',\n\t]),\n\t/**\n\t * Name of the icon. Visit <a href=\"http://www.lightningdesignsystem.com/resources/icons\">Lightning Design System Icons</a> to reference icon names.\n\t */\n\ticonName: PropTypes.string,\n\t/**\n\t * Path to the icon. This will override any global icon settings.\n\t */\n\ticonPath: PropTypes.string,\n\t/**\n\t * Text for the link.\n\t */\n\tlabel: PropTypes.string,\n\t/**\n\t * Triggered when the link is clicked.\n\t */\n\tonClick: PropTypes.func,\n};\n\nconst defaultProps = {\n\tassistiveText: {},\n\ticonCategory: '',\n\ticonName: '',\n\tlabel: '',\n};\n\n/**\n * A link within the navigation section of the header.\n */\nconst BuilderHeaderNavLink = (props) => {\n\tconst assistiveText = {\n\t\t...defaultProps.assistiveText,\n\t\t...props.assistiveText,\n\t};\n\treturn (\n\t\t<li className=\"slds-builder-header__nav-item\">\n\t\t\t<a\n\t\t\t\tclassName=\"slds-builder-header__item-action slds-media slds-media_center\"\n\t\t\t\thref=\"javascript:void(0)\"\n\t\t\t\tonClick={props.onClick}\n\t\t\t>\n\t\t\t\t<span className=\"slds-media__figure\">\n\t\t\t\t\t<Icon\n\t\t\t\t\t\tassistiveText={{ label: assistiveText.icon }}\n\t\t\t\t\t\tcategory={props.iconCategory}\n\t\t\t\t\t\tcontainerClassName=\"slds-icon_container slds-icon-utility-settings slds-current-color\"\n\t\t\t\t\t\tname={props.iconName}\n\t\t\t\t\t\tpath={props.iconPath}\n\t\t\t\t\t\tsize=\"x-small\"\n\t\t\t\t\t/>\n\t\t\t\t</span>\n\t\t\t\t<span className=\"slds-media__body\">\n\t\t\t\t\t<span className=\"slds-truncate\" title={props.label}>\n\t\t\t\t\t\t{props.label}\n\t\t\t\t\t</span>\n\t\t\t\t</span>\n\t\t\t</a>\n\t\t</li>\n\t);\n};\n\nBuilderHeaderNavLink.displayName = BUILDER_HEADER_NAV_LINK;\nBuilderHeaderNavLink.propTypes = propTypes;\nexport default BuilderHeaderNavLink;\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport {\n\tBUILDER_HEADER_TOOLBAR,\n\tBUTTON_GROUP,\n} from '../../utilities/constants';\n\nconst propTypes = {\n\t/**\n\t * **Assistive text for accessibility**\n\t * This object is merged with the default props object on every render.\n\t * * `actions`: Used for the aria-label for the actions section of the toolbar.\n\t * * _Tested with snapshot testing._\n\t */\n\tassistiveText: PropTypes.shape({\n\t\tactions: PropTypes.string,\n\t}),\n\t/**\n\t * Provide children of the type `<ButtonGroup />` to define the structure of the toolbar section.\n\t * ```\n\t * <BuilderHeader>\n\t * <BuilderHeaderToolbar>\n\t * <ButtonGroup />\n\t * <ButtonGroup />\n\t * </BuilderHeaderToolbar>\n\t * </BuilderHeader>\n\t * ```\n\t */\n\tchildren: PropTypes.node,\n\t/**\n\t * Renders the actions section of the header.\n\t */\n\tonRenderActions: PropTypes.func,\n};\n\nconst defaultProps = {\n\tassistiveText: {\n\t\tactions: 'Actions',\n\t},\n};\n\n/**\n * The toolbar section of the header.\n */\nconst BuilderHeaderToolbar = (props) => {\n\tconst assistiveText = {\n\t\t...defaultProps.assistiveText,\n\t\t...props.assistiveText,\n\t};\n\treturn (\n\t\t<div className=\"slds-builder-toolbar\" role=\"toolbar\">\n\t\t\t{React.Children.map(props.children, (child) => {\n\t\t\t\tif (child.type.displayName === BUTTON_GROUP) {\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tclassName=\"slds-builder-toolbar__item-group\"\n\t\t\t\t\t\t\taria-label={child.props.label}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{child}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t\treturn null;\n\t\t\t})}\n\t\t\t<div\n\t\t\t\tclassName=\"slds-builder-toolbar__actions\"\n\t\t\t\taria-label={assistiveText.actions}\n\t\t\t>\n\t\t\t\t{props.onRenderActions && props.onRenderActions()}\n\t\t\t</div>\n\t\t</div>\n\t);\n};\n\nBuilderHeaderToolbar.displayName = BUILDER_HEADER_TOOLBAR;\nBuilderHeaderToolbar.propTypes = propTypes;\nBuilderHeaderToolbar.defaultProps = defaultProps;\nexport default BuilderHeaderToolbar;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// Implements the [Button Group design pattern](https://lightningdesignsystem.com/components/button-groups/) in React.\n// Based on SLDS v2.1.1\n\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\n\nimport assign from 'lodash.assign';\n\n// ### shortid\n// [npmjs.com/package/shortid](https://www.npmjs.com/package/shortid)\n// shortid is a short, non-sequential, url-friendly, unique id generator\nimport shortid from 'shortid';\n\nimport { BUTTON_GROUP } from '../../utilities/constants';\n\nconst propTypes = {\n\t/**\n\t * Children are expected to be components. If last button triggers a dropdown menu, use Dropdown instead of Button. _Tested with snapshot testing._\n\t */\n\tchildren: PropTypes.node.isRequired,\n\t/**\n\t * CSS classes added to `slds-button-group` or `slds-checkbox_button-group` tag\n\t */\n\tclassName: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\t/**\n\t * If the `labels.label` prop is set, a `.slds-form-element` classed fieldset element is added as a container. This prop applies classes to that element\n\t */\n\tclassNameContainer: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\t/**\n\t * HTML id for component.\n\t */\n\tid: PropTypes.string,\n\t/**\n\t * **Text labels for internationalization**\n\t * This object is merged with the default props object on every render.\n\t * * `error`: Message to display when any of Checkboxes are in an error state. _Tested with snapshot testing._\n\t * * `label`: This label appears above the button group. _Tested with snapshot testing._\n\t */\n\tlabels: PropTypes.shape({\n\t\terror: PropTypes.string,\n\t\tlabel: PropTypes.string,\n\t}),\n\t/**\n\t * Use checkbox variant for \"Checkbox Button Group\" styling and add Checkbox components as children _Tested with snapshot testing._\n\t */\n\tvariant: PropTypes.oneOf(['checkbox', 'list']),\n};\n\nconst defaultProps = { labels: {} };\n\n/**\n * The ButtonGroup component wraps other components (ie. Button, MenuDropdown, PopoverTooltip, Checkboxes, etc).\n */\nclass ButtonGroup extends React.Component {\n\tconstructor(props) {\n\t\tsuper(props);\n\t\tthis.generatedId = shortid.generate();\n\t}\n\n\tgetId() {\n\t\treturn this.props.id || this.generatedId;\n\t}\n\n\trender() {\n\t\t// Merge objects of strings with their default object\n\t\tconst labels = assign({}, defaultProps.labels, this.props.labels);\n\n\t\tconst zeroIndexLength = React.Children.count(this.props.children) - 1;\n\t\tlet { children } = this.props;\n\t\tif (zeroIndexLength > 0) {\n\t\t\tchildren = React.Children.map(this.props.children, (child, index) => {\n\t\t\t\tlet newChild;\n\t\t\t\tif (index === zeroIndexLength) {\n\t\t\t\t\tnewChild = React.cloneElement(child, {\n\t\t\t\t\t\ttriggerClassName: 'slds-button_last',\n\t\t\t\t\t});\n\t\t\t\t}\n\n\t\t\t\treturn newChild || child;\n\t\t\t});\n\t\t}\n\n\t\tlet component;\n\n\t\tif (this.props.variant === 'checkbox') {\n\t\t\tchildren = React.Children.map(this.props.children, (child) => {\n\t\t\t\tconst cloneProps = {\n\t\t\t\t\tvariant: 'button-group',\n\t\t\t\t};\n\t\t\t\tif (labels.error) {\n\t\t\t\t\tcloneProps['aria-describedby'] = `button-group-error-${this.getId()}`;\n\t\t\t\t}\n\t\t\t\treturn React.cloneElement(child, cloneProps);\n\t\t\t});\n\n\t\t\tcomponent = (\n\t\t\t\t<div\n\t\t\t\t\tclassName={classNames(\n\t\t\t\t\t\t'slds-checkbox_button-group',\n\t\t\t\t\t\tthis.props.className\n\t\t\t\t\t)}\n\t\t\t\t\tid={this.getId()}\n\t\t\t\t>\n\t\t\t\t\t{children}\n\t\t\t\t</div>\n\t\t\t);\n\t\t} else if (this.props.variant === 'list') {\n\t\t\tcomponent = (\n\t\t\t\t<ul\n\t\t\t\t\tclassName={classNames('slds-button-group-list', this.props.className)}\n\t\t\t\t\tid={this.getId()}\n\t\t\t\t>\n\t\t\t\t\t{React.Children.map(this.props.children, (child) => (\n\t\t\t\t\t\t<li>{child}</li>\n\t\t\t\t\t))}\n\t\t\t\t</ul>\n\t\t\t);\n\t\t} else {\n\t\t\tcomponent = (\n\t\t\t\t<div\n\t\t\t\t\tclassName={classNames('slds-button-group', this.props.className)}\n\t\t\t\t\tid={this.getId()}\n\t\t\t\t\trole=\"group\"\n\t\t\t\t>\n\t\t\t\t\t{children}\n\t\t\t\t</div>\n\t\t\t);\n\t\t}\n\n\t\tif (this.props.variant === 'checkbox' || this.props.labels.label) {\n\t\t\tcomponent = (\n\t\t\t\t<fieldset\n\t\t\t\t\tclassName={classNames(\n\t\t\t\t\t\t'slds-form-element',\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t'slds-has-error': labels.error,\n\t\t\t\t\t\t},\n\t\t\t\t\t\tthis.props.classNameContainer\n\t\t\t\t\t)}\n\t\t\t\t>\n\t\t\t\t\t<legend className=\"slds-form-element__legend slds-form-element__label\">\n\t\t\t\t\t\t{this.props.labels.label}\n\t\t\t\t\t</legend>\n\t\t\t\t\t<div className=\"slds-form-element__control\">\n\t\t\t\t\t\t{component}\n\t\t\t\t\t\t{labels.error ? (\n\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\tclassName=\"slds-form-element__help\"\n\t\t\t\t\t\t\t\tid={`button-group-error-${this.getId()}`}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{labels.error}\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t) : null}\n\t\t\t\t\t</div>\n\t\t\t\t</fieldset>\n\t\t\t);\n\t\t}\n\n\t\treturn component;\n\t}\n}\n\nButtonGroup.displayName = BUTTON_GROUP;\nButtonGroup.propTypes = propTypes;\nButtonGroup.defaultProps = defaultProps;\n\nexport default ButtonGroup;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n/* eslint-disable import/no-mutable-exports */\n\nimport getComponentDocFn from '../../utilities/get-component-doc';\nimport sunsetProperty from '../../utilities/warning/sunset-property';\n\nlet checkProps = function checkPropsFunction() {};\n\nif (process.env.NODE_ENV !== 'production') {\n\tcheckProps = function checkPropsFunction(COMPONENT, props, jsonDoc) {\n\t\tconst createDocUrl = getComponentDocFn(jsonDoc);\n\n\t\tif (typeof props.assistiveText === 'string') {\n\t\t\tsunsetProperty(\n\t\t\t\tCOMPONENT,\n\t\t\t\tprops.assistiveText,\n\t\t\t\t'assistiveText',\n\t\t\t\t`\\`assistiveText\\` as a string has been deprecated and is now an object to allow for multiple uses in the component. Please use \\`assistiveText.icon\\` instead. ${createDocUrl(\n\t\t\t\t\t'assistiveText'\n\t\t\t\t)}`\n\t\t\t);\n\t\t}\n\t};\n}\n\nexport default checkProps;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// Implements the [Button Stateful design pattern](https://lightningdesignsystem.com/components/buttons/#flavor-stateful) in React.\n// Based on SLDS v2.1.1\n\n// ## Dependencies\n\n// ### React\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\n// ### classNames\nimport classNames from 'classnames';\n\n// ### isFunction\nimport isFunction from 'lodash.isfunction';\n\n// This component's `checkProps` which issues warnings to developers about properties when in development mode (similar to React's built in development tools)\nimport checkProps from './check-props';\nimport componentDoc from './component.json';\n\n// ## Children\nimport ButtonIcon from '../icon/button-icon';\n\nimport getAriaProps from '../../utilities/get-aria-props';\nimport { BUTTON_STATEFUL } from '../../utilities/constants';\n\nconst propTypes = {\n\t/**\n\t * Specifies the current state of the button. If set, the button will act as a ['controlled' component](https://facebook.github.io/react/docs/forms.html#controlled-components).\n\t */\n\tactive: PropTypes.bool,\n\t/**\n\t * **Assistive text for accessibility.**\n\t * This object is merged with the default props object on every render.\n\t * * `icon`: Text that is visually hidden but read aloud by screenreaders to tell the user what the icon means. This should also include the state of the button. If the button has an icon and a visible label, you can omit the <code>icon</code> prop and use the <code>label</code> prop.\n\t */\n\tassistiveText: PropTypes.shape({\n\t\ticon: PropTypes.string,\n\t}),\n\t/**\n\t * Disables the button and adds disabled styling.\n\t */\n\tdisabled: PropTypes.bool,\n\t/**\n\t * Icon associated with the stateful button. Accepts an `Icon` component\n\t */\n\ticon: PropTypes.node,\n\t/**\n\t * Triggered when focus is removed.\n\t */\n\tonBlur: PropTypes.func,\n\t/**\n\t * Triggered when the button is clicked.\n\t */\n\tonClick: PropTypes.func,\n\t/**\n\t * Triggered when component is focused.\n\t */\n\tonFocus: PropTypes.func,\n\t/**\n\t * Triggered when a key is pressed down\n\t */\n\tonKeyDown: PropTypes.func,\n\t/**\n\t * Triggered when a key is pressed and released\n\t */\n\tonKeyPress: PropTypes.func,\n\t/**\n\t * Triggered when a key is released\n\t */\n\tonKeyUp: PropTypes.func,\n\t/**\n\t * Triggered when a mouse button is pressed down\n\t */\n\tonMouseDown: PropTypes.func,\n\t/**\n\t * Triggered when a mouse arrow hovers\n\t */\n\tonMouseEnter: PropTypes.func,\n\t/**\n\t * If true, button scales to 100% width on small form factors.\n\t */\n\tresponsive: PropTypes.bool,\n\t/**\n\t * Initial label and icon (optional) of button.\n\t */\n\tstateOne: PropTypes.object,\n\t/**\n\t * Selected label and icon (optional) of button.\n\t */\n\tstateTwo: PropTypes.object,\n\t/**\n\t * Deselect label and icon (optional) of button.\n\t */\n\tstateThree: PropTypes.object,\n\t/**\n\t * Write \"-1\" if you don't want the user to tab to the button.\n\t */\n\ttabIndex: PropTypes.string,\n\t/**\n\t * Different types of buttons\n\t */\n\tvariant: PropTypes.oneOf([\n\t\t'base',\n\t\t'neutral',\n\t\t'brand',\n\t\t'destructive',\n\t\t'icon',\n\t\t'icon-filled',\n\t]),\n};\n\n// i18n\nconst defaultProps = {\n\tassistiveText: { icon: '' },\n\tdisabled: false,\n\ticonSize: 'medium',\n\tresponsive: false,\n\tstateOne: { iconName: 'add', label: 'Follow' },\n\tstateTwo: { iconName: 'check', label: 'Following' },\n\tstateThree: { iconName: 'close', label: 'Unfollow' },\n};\n\n/**\n * The ButtonStateful component is a variant of the Lightning Design System Button component. It is used for buttons that have a state of unselected or selected.\n * For icon buttons, use <code>variant='icon'</code>. For buttons with labels or buttons with labels and icons, pass data to the state props (ie. <code>stateOne={{iconName: 'add', label: 'Join'}}</code>).\n * Although not listed in the prop table, all `aria-*` props will be added to the button element if passed in.\n * If no `aria-*` props are passed in, <code>aria-live='polite'</code> is used for `icon` and `icon-filled` variants,\n * and <code>aria-live='assertive'</code> is used for the remaining variants.\n */\nclass ButtonStateful extends React.Component {\n\tconstructor(props) {\n\t\tsuper(props);\n\t\tthis.state = { active: false };\n\n\t\tcheckProps(BUTTON_STATEFUL, props, componentDoc);\n\t}\n\n\tgetClassName(active) {\n\t\treturn classNames(this.props.className, 'slds-button', {\n\t\t\t'slds-button_neutral':\n\t\t\t\tthis.props.variant !== 'icon' && this.props.variant !== 'icon-filled',\n\t\t\t'slds-button_inverse': this.props.variant === 'inverse',\n\t\t\t'slds-not-selected': !active,\n\t\t\t'slds-is-selected': active,\n\t\t\t'slds-max-small-button_stretch': this.props.responsive,\n\t\t\t'slds-button_icon-border': this.props.variant === 'icon',\n\t\t\t'slds-button_icon-border-filled': this.props.variant === 'icon-filled',\n\t\t});\n\t}\n\n\thandleBlur = (e) => {\n\t\tif (this.props.onBlur) this.props.onBlur(e);\n\t\te.currentTarget.blur();\n\t};\n\n\thandleClick = (e) => {\n\t\tif (isFunction(this.props.onClick)) this.props.onClick(e);\n\t\tif (typeof this.props.active !== 'boolean') {\n\t\t\tthis.setState((prevState) => ({ active: !prevState.active }));\n\t\t}\n\t};\n\n\trender() {\n\t\tconst {\n\t\t\tactive,\n\t\t\tdisabled,\n\t\t\ticon,\n\t\t\ticonName,\n\t\t\ticonSize,\n\t\t\tid,\n\t\t\tonFocus,\n\t\t\tonKeyDown,\n\t\t\tonKeyPress,\n\t\t\tonKeyUp,\n\t\t\tonMouseDown,\n\t\t\tonMouseEnter,\n\t\t\t// onMouseLeave, // This prop isn't used anywhere! But removing it would be a breaking change\n\t\t\tstateOne,\n\t\t\tstateTwo,\n\t\t\tstateThree,\n\t\t\ttabIndex,\n\t\t\tvariant,\n\t\t} = this.props;\n\n\t\tconst defaultIconProps = {\n\t\t\tdisabled,\n\t\t\tsize: 'small',\n\t\t\tclassName: 'slds-button__icon_stateful',\n\t\t};\n\t\tconst iconAssistiveText =\n\t\t\ttypeof this.props.assistiveText === 'string'\n\t\t\t\t? this.props.assistiveText\n\t\t\t\t: {\n\t\t\t\t\t\t...defaultProps.assistiveText,\n\t\t\t\t\t\t...this.props.assistiveText,\n\t\t\t\t }.icon;\n\n\t\tconst isActive = typeof active === 'boolean' ? active : this.state.active;\n\n\t\t// Accept aria-* props\n\t\tlet ariaProps = getAriaProps(this.props);\n\n\t\tif (variant === 'icon' || variant === 'icon-filled') {\n\t\t\t// Default aria attribute for stateful button with icon, if none is specified\n\t\t\tif (Object.keys(ariaProps).length === 0) {\n\t\t\t\tariaProps = { 'aria-live': 'polite' };\n\t\t\t}\n\n\t\t\treturn (\n\t\t\t\t<button\n\t\t\t\t\t{...ariaProps}\n\t\t\t\t\tclassName={this.getClassName(isActive)}\n\t\t\t\t\tdisabled={disabled}\n\t\t\t\t\tid={id}\n\t\t\t\t\tonBlur={this.handleBlur}\n\t\t\t\t\tonClick={this.handleClick}\n\t\t\t\t\tonFocus={onFocus}\n\t\t\t\t\tonKeyDown={onKeyDown}\n\t\t\t\t\tonKeyPress={onKeyPress}\n\t\t\t\t\tonKeyUp={onKeyUp}\n\t\t\t\t\tonMouseDown={onMouseDown}\n\t\t\t\t\tonMouseEnter={onMouseEnter}\n\t\t\t\t\tonMouseLeave={this.handleBlur}\n\t\t\t\t\ttabIndex={tabIndex}\n\t\t\t\t\ttype=\"button\"\n\t\t\t\t>\n\t\t\t\t\t{icon ? (\n\t\t\t\t\t\tReact.cloneElement(icon, {\n\t\t\t\t\t\t\t...defaultIconProps,\n\t\t\t\t\t\t\t...icon.props,\n\t\t\t\t\t\t})\n\t\t\t\t\t) : (\n\t\t\t\t\t\t<ButtonIcon\n\t\t\t\t\t\t\tdisabled={disabled}\n\t\t\t\t\t\t\tname={iconName}\n\t\t\t\t\t\t\tsize={iconSize}\n\t\t\t\t\t\t\tclassName=\"slds-button__icon_stateful\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t)}\n\t\t\t\t\t{iconAssistiveText ? (\n\t\t\t\t\t\t<span className=\"slds-assistive-text\">{iconAssistiveText}</span>\n\t\t\t\t\t) : null}\n\t\t\t\t</button>\n\t\t\t);\n\t\t}\n\n\t\tdefaultIconProps.position = 'left';\n\n\t\t// Default aria attribute for stateful button, if none is specified\n\t\tif (Object.keys(ariaProps).length === 0) {\n\t\t\tariaProps = { 'aria-live': 'assertive' };\n\t\t}\n\n\t\treturn (\n\t\t\t<button\n\t\t\t\t{...ariaProps}\n\t\t\t\tclassName={this.getClassName(isActive)}\n\t\t\t\tdisabled={disabled}\n\t\t\t\tid={id}\n\t\t\t\tonBlur={this.handleBlur}\n\t\t\t\tonClick={this.handleClick}\n\t\t\t\tonFocus={onFocus}\n\t\t\t\tonKeyDown={onKeyDown}\n\t\t\t\tonKeyPress={onKeyPress}\n\t\t\t\tonKeyUp={onKeyUp}\n\t\t\t\tonMouseEnter={onMouseEnter}\n\t\t\t\tonMouseLeave={this.handleBlur}\n\t\t\t\ttabIndex={tabIndex}\n\t\t\t\ttype=\"button\"\n\t\t\t>\n\t\t\t\t<span className=\"slds-text-not-selected\">\n\t\t\t\t\t{stateOne.icon ? (\n\t\t\t\t\t\tReact.cloneElement(stateOne.icon, {\n\t\t\t\t\t\t\t...defaultIconProps,\n\t\t\t\t\t\t\t...stateOne.icon.props,\n\t\t\t\t\t\t\tsize: 'small',\n\t\t\t\t\t\t})\n\t\t\t\t\t) : (\n\t\t\t\t\t\t<ButtonIcon\n\t\t\t\t\t\t\tdisabled={disabled}\n\t\t\t\t\t\t\tname={stateOne.iconName}\n\t\t\t\t\t\t\tsize=\"small\"\n\t\t\t\t\t\t\tposition=\"left\"\n\t\t\t\t\t\t\tclassName=\"slds-button__icon_stateful\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t)}\n\t\t\t\t\t{stateOne.label}\n\t\t\t\t</span>\n\t\t\t\t<span className=\"slds-text-selected\">\n\t\t\t\t\t{stateTwo.icon ? (\n\t\t\t\t\t\tReact.cloneElement(stateTwo.icon, {\n\t\t\t\t\t\t\t...defaultIconProps,\n\t\t\t\t\t\t\t...stateTwo.icon.props,\n\t\t\t\t\t\t\tsize: 'small',\n\t\t\t\t\t\t})\n\t\t\t\t\t) : (\n\t\t\t\t\t\t<ButtonIcon\n\t\t\t\t\t\t\tdisabled={disabled}\n\t\t\t\t\t\t\tname={stateTwo.iconName}\n\t\t\t\t\t\t\tsize=\"small\"\n\t\t\t\t\t\t\tposition=\"left\"\n\t\t\t\t\t\t\tclassName=\"slds-button__icon_stateful\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t)}\n\t\t\t\t\t{stateTwo.label}\n\t\t\t\t</span>\n\t\t\t\t<span className=\"slds-text-selected-focus\">\n\t\t\t\t\t{stateThree.icon ? (\n\t\t\t\t\t\tReact.cloneElement(stateThree.icon, {\n\t\t\t\t\t\t\t...defaultIconProps,\n\t\t\t\t\t\t\t...stateThree.icon.props,\n\t\t\t\t\t\t\tsize: 'small',\n\t\t\t\t\t\t})\n\t\t\t\t\t) : (\n\t\t\t\t\t\t<ButtonIcon\n\t\t\t\t\t\t\tdisabled={disabled}\n\t\t\t\t\t\t\tname={stateThree.iconName}\n\t\t\t\t\t\t\tsize=\"small\"\n\t\t\t\t\t\t\tposition=\"left\"\n\t\t\t\t\t\t\tclassName=\"slds-button__icon_stateful\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t)}\n\t\t\t\t\t{stateThree.label}\n\t\t\t\t</span>\n\t\t\t</button>\n\t\t);\n\t}\n}\n\nButtonStateful.displayName = BUTTON_STATEFUL;\nButtonStateful.propTypes = propTypes;\nButtonStateful.defaultProps = defaultProps;\n\nexport default ButtonStateful;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// ### React\nimport React from 'react';\n\nimport PropTypes from 'prop-types';\n\n// ### classNames\n// [github.com/JedWatson/classnames](https://github.com/JedWatson/classnames)\n// This project uses `classnames`, \"a simple javascript utility for conditionally\n// joining classNames together.\"\nimport classnames from 'classnames';\n\nimport { MEDIA_OBJECT } from '../../utilities/constants';\n\n// Allow for predicatable DOM queries with `querySelectorAll(cssClasses.base)`\nexport const cssClasses = {\n\tbase: 'slds-media',\n\tfigure: 'slds-media__figure',\n\tbody: 'slds-media__body',\n};\n\n/**\n * When you need text and a figure next to each other, use a media object.\n */\nclass MediaObject extends React.Component {\n\t// ### Display Name\n\t// Always use the canonical component name as the React display name.\n\tstatic displayName = MEDIA_OBJECT;\n\n\t// ### Prop Types\n\tstatic propTypes = {\n\t\t/**\n\t\t * Often the body may need to be truncated for correct layout. This is only applicable if using the component within a flexbox container.\n\t\t */\n\t\tcanTruncate: PropTypes.bool,\n\t\t/**\n\t\t * Class names to be added to the component's HTML tag with `slds-media` class.\n\t\t */\n\t\tclassName: PropTypes.oneOfType([\n\t\t\tPropTypes.array,\n\t\t\tPropTypes.object,\n\t\t\tPropTypes.string,\n\t\t]),\n\t\t/**\n\t\t * The body is often text such as a heading or paragraph.\n\t\t */\n\t\tbody: PropTypes.node,\n\t\t/**\n\t\t * The figure is the optional visualization of the text within the body.\n\t\t */\n\t\tfigure: PropTypes.node,\n\t\t/**\n\t\t * Vertically centers the body with the middle of the figure.\n\t\t */\n\t\tverticalCenter: PropTypes.bool,\n\t};\n\n\trender() {\n\t\treturn (\n\t\t\t<div\n\t\t\t\tclassName={classnames(\n\t\t\t\t\tcssClasses.base,\n\t\t\t\t\t{\n\t\t\t\t\t\t'slds-media_center': this.props.verticalCenter,\n\t\t\t\t\t\t'slds-has-flexi-truncate': this.props.canTruncate,\n\t\t\t\t\t},\n\t\t\t\t\tthis.props.className\n\t\t\t\t)}\n\t\t\t>\n\t\t\t\t{this.props.figure ? (\n\t\t\t\t\t<div className={cssClasses.figure}>{this.props.figure} </div>\n\t\t\t\t) : null}\n\t\t\t\t<div className={cssClasses.body}>{this.props.body}</div>\n\t\t\t</div>\n\t\t);\n\t}\n}\n\nexport default MediaObject;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// ### React\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\n// ### classNames\n// [github.com/JedWatson/classnames](https://github.com/JedWatson/classnames)\n// This project uses `classnames`, \"a simple javascript utility for conditionally\n// joining classNames together.\"\nimport classnames from 'classnames';\n\n// ## Children\nimport MediaObject from '../../media-object';\n\nimport { CARD_HEADER } from '../../../utilities/constants';\n\n// Allow for predicatable DOM queries with `querySelectorAll(cssClasses.base)`\nconst idSuffixes = {\n\theaderActions: '__header-actions',\n\theading: '__heading',\n\tfilter: '__filter-input',\n};\n\nconst renderFilter = (filter, id) => {\n\t// allow id to be set by custom header component passed in\n\tconst clonedFilter = React.cloneElement(filter, {\n\t\tid: filter.props.id || id,\n\t});\n\n\treturn (\n\t\t<div className=\"slds-input-has-icon slds-input-has-icon_left slds-size_1-of-3\">\n\t\t\t{clonedFilter}\n\t\t</div>\n\t);\n};\n\nrenderFilter.displayName = 'renderFilter';\n\n/**\n * Card Header is a private component and is not meant to be imported or used for Card's `header` prop. It just happens to have the same file name.\n */\nconst CardHeader = (props) => {\n\tlet title = null;\n\n\tif (typeof props.heading === 'string' || props.heading instanceof String) {\n\t\ttitle = props.heading;\n\t}\n\n\tconst heading = (\n\t\t<h2\n\t\t\tid={props.headingId}\n\t\t\tclassName=\"slds-text-heading_small slds-truncate\"\n\t\t\ttitle={title}\n\t\t>\n\t\t\t{props.heading}\n\t\t</h2>\n\t);\n\n\tlet Header;\n\n\tif (props.header) {\n\t\tHeader = React.cloneElement(props.header, {\n\t\t\tfigure: props.icon,\n\t\t\tbody: heading,\n\t\t\tverticalCenter: true,\n\t\t\tcanTruncate: true,\n\t\t\t...props.header.props,\n\t\t});\n\t} else {\n\t\tHeader = (\n\t\t\t<MediaObject\n\t\t\t\tfigure={props.icon}\n\t\t\t\tbody={heading}\n\t\t\t\tverticalCenter\n\t\t\t\tcanTruncate\n\t\t\t/>\n\t\t);\n\t}\n\n\tconst hasFilter = props.filter ? true : null;\n\n\treturn (\n\t\t<div className={classnames('slds-card__header', 'slds-grid')}>\n\t\t\t{Header}\n\t\t\t{props.filter ? renderFilter(props.filter, props.filterId) : null}\n\t\t\t<div\n\t\t\t\tid={props.headerActionsId}\n\t\t\t\tclassName={classnames('slds-no-flex', {\n\t\t\t\t\t'slds-size_1-of-3': hasFilter,\n\t\t\t\t\t'slds-text-align_right': hasFilter,\n\t\t\t\t})}\n\t\t\t>\n\t\t\t\t{props.headerActions}\n\t\t\t</div>\n\t\t</div>\n\t);\n};\n\n// ### Display Name\n// Always use the canonical component name as the React display name.\nCardHeader.displayName = CARD_HEADER;\n\n// ### Prop Types\nCardHeader.propTypes = {\n\t/**\n\t * Adds a filter input to the card header\n\t */\n\tfilter: PropTypes.node,\n\t/**\n\t * Set the HTML `id` of the card filter.\n\t */\n\tfilterId: PropTypes.string,\n\t/**\n\t * Allows a custom header (the media object with the icon in the first column). `icon`, `heading` and other props are passed in the media object from Card. Use `design-system-react/components/media-object` to create your own.\n\t */\n\theader: PropTypes.node,\n\t/**\n\t * Actions performed on selected items or that relate to the entire group of items such as \"Add Item.\"\"\n\t */\n\theaderActions: PropTypes.node,\n\t/**\n\t * Set the HTML `id` of the card header actions.\n\t */\n\theaderActionsId: PropTypes.string,\n\t/**\n\t * The heading is the name of the related item group.\n\t */\n\theading: PropTypes.oneOfType([PropTypes.element, PropTypes.string])\n\t\t.isRequired,\n\t/**\n\t * Set the HTML `id` of the card heading.\n\t */\n\theadingId: PropTypes.string,\n\t/**\n\t * Icon associated with grouped items\n\t */\n\ticon: PropTypes.node,\n};\n\nexport default CardHeader;\nexport { idSuffixes };\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// ### React\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\n// ### classNames\n// [github.com/JedWatson/classnames](https://github.com/JedWatson/classnames)\n// This project uses `classnames`, \"a simple javascript utility for conditionally joining classNames together.\"\nimport classNames from 'classnames';\n\nimport { CARD_BODY } from '../../../utilities/constants';\n\nconst CardBody = (props) => (\n\t<div className={classNames('slds-card__body', props.className)} id={props.id}>\n\t\t{props.children}\n\t</div>\n);\n\nCardBody.displayName = CARD_BODY;\n\nCardBody.propTypes = {\n\t/**\n\t * Elements to place in the body.\n\t */\n\tchildren: PropTypes.node,\n\t/**\n\t * CSS classes to be added to the card.\n\t */\n\tclassName: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\t/**\n\t * Set the HTML `id` of the body.\n\t */\n\tid: PropTypes.string,\n};\n\nexport default CardBody;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// ### React\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\nimport { CARD_FOOTER } from '../../../utilities/constants';\n\nconst CardFooter = (props) => (\n\t<div className=\"slds-card__footer\">{props.children}</div>\n);\n\nCardFooter.displayName = CARD_FOOTER;\n\nCardFooter.propTypes = {\n\t/**\n\t * Elements to place in the footer.\n\t */\n\tchildren: PropTypes.node,\n};\n\nexport default CardFooter;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// ### React\n// React is an external dependency of the project.\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\nimport { CARD_EMPTY } from '../../utilities/constants';\n\n/**\n * A default empty state for Cards.\n */\nconst CardEmpty = (props) => (\n\t<div className=\"slds-p-horizontal_small\">\n\t\t<div className=\"slds-text-align_center slds-m-bottom_x-large\">\n\t\t\t<h3 className=\"slds-text-heading_small slds-p-top_large slds-p-bottom_large\">\n\t\t\t\t{props.heading}\n\t\t\t</h3>\n\t\t\t{props.children}\n\t\t</div>\n\t</div>\n);\n\n// ### Display Name\n// Always use the canonical component name as the React display name.\nCardEmpty.displayName = CARD_EMPTY;\n\n// ### Prop Types\nCardEmpty.propTypes = {\n\t/**\n\t * Additional call to actions that will render under the heading. Often this is an \"Add Item\" button.\n\t */\n\tchildren: PropTypes.node,\n\t/**\n\t * Primary text for an Empty Card.\n\t */\n\theading: PropTypes.string,\n};\n\nCardEmpty.defaultProps = {\n\theading: 'No Related Items',\n};\n\nexport default CardEmpty;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// # Card Component\n\n// Implements the [Card design pattern](https://www.lightningdesignsystem.com/components/cards/) in React.\n// Based on SLDS v2.2.1\n\n// ### React\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\n// ### classNames\n// [github.com/JedWatson/classnames](https://github.com/JedWatson/classnames)\n// This project uses `classnames`, \"a simple javascript utility for conditionally\n// joining classNames together.\"\nimport classnames from 'classnames';\n\n// ## Children\nimport Header from './private/header';\nimport Body from './private/body';\nimport Footer from './private/footer';\nimport Empty from './empty';\n\nimport { CARD } from '../../utilities/constants';\n\nconst idSuffixes = {\n\tbody: '__body',\n\theaderActions: '__header-actions',\n\theading: '__heading',\n\tfilter: '__filter-input',\n};\n\n/**\n * Cards are used to apply a container around a related grouping of information. It has a header, a body, and an optional footer. It often contains a DataTable or Tile (coming soon). Actions associated with selected items or with all items are included within the header actions. Footer often contains pagination.\n */\nconst Card = (props) => {\n\tconst bodyId = props.id ? props.id + idSuffixes.body : null;\n\tconst filterId = props.id ? props.id + idSuffixes.filter : null;\n\tconst headingId = props.id ? props.id + idSuffixes.heading : null;\n\tconst headerActionsId = props.id ? props.id + idSuffixes.headerActions : null;\n\n\tlet { empty } = props;\n\tif (empty === true) {\n\t\t// Can be overridden by passing in a node to the empty prop\n\t\tempty = <Empty id={props.id} heading={props.heading} />;\n\t}\n\n\treturn (\n\t\t<article\n\t\t\tid={props.id}\n\t\t\tclassName={classnames('slds-card', props.className)}\n\t\t\tstyle={props.style}\n\t\t>\n\t\t\t{!props.hasNoHeader && (\n\t\t\t\t<Header\n\t\t\t\t\theader={props.header}\n\t\t\t\t\theadingId={headingId}\n\t\t\t\t\ticon={props.icon}\n\t\t\t\t\tfilter={props.filter}\n\t\t\t\t\tfilterId={filterId}\n\t\t\t\t\theading={props.heading}\n\t\t\t\t\theaderActions={props.headerActions}\n\t\t\t\t\theaderActionsId={headerActionsId}\n\t\t\t\t/>\n\t\t\t)}\n\t\t\t{!empty ? (\n\t\t\t\t<Body id={bodyId} className={props.bodyClassName}>\n\t\t\t\t\t{props.children}\n\t\t\t\t</Body>\n\t\t\t) : (\n\t\t\t\t<Body id={bodyId} className={props.bodyClassName}>\n\t\t\t\t\t{empty}\n\t\t\t\t</Body>\n\t\t\t)}\n\t\t\t{props.footer ? <Footer>{props.footer}</Footer> : null}\n\t\t</article>\n\t);\n};\n\n// ### Display Name\n// Always use the canonical component name as the React display name.\nCard.displayName = CARD;\n\nCard.defaultProps = {\n\theading: 'Related Items',\n};\n\n// ### Prop Types\nCard.propTypes = {\n\t/**\n\t * CSS classes to be added to the card body (wraps children).\n\t */\n\tbodyClassName: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\t/**\n\t * The main section of the card. It often contains a `DataTable` or `Tile`.\n\t */\n\tchildren: PropTypes.node,\n\t/**\n\t * CSS classes to be added to the card.\n\t */\n\tclassName: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\t/**\n\t * Replaces the body (that is the children) with the specified empty state, this will also remove header actions, the filter, and the icon. If the default empty state is wanted, set to `true`.\n\t */\n\tempty: PropTypes.oneOfType([PropTypes.bool, PropTypes.node]),\n\t/**\n\t * Adds a filter input to the card header.\n\t */\n\tfilter: PropTypes.node,\n\t/**\n\t * Footer often contains pagination.\n\t */\n\tfooter: PropTypes.node,\n\t/**\n\t * Allows card to have no header, and ignores header related props altogether.\n\t */\n\thasNoHeader: PropTypes.bool,\n\t/**\n\t * Allows a custom header (the media object with the icon in the first column). `icon`, `heading` and other props are passed into the media object from Card if present. Use `design-system-react/components/media-object` to create your own custom header.\n\t */\n\theader: PropTypes.node,\n\t/**\n\t * The heading is the name of the related item group and should only contain inline elements.\n\t */\n\theading: PropTypes.oneOfType([PropTypes.node, PropTypes.string]).isRequired,\n\t/**\n\t * Actions to perform on selected items or actions that are not specific to one item such as adding an item. If no group actions are needed, then the number of selected items is often present.\n\t */\n\theaderActions: PropTypes.node,\n\t/**\n\t * Icon associated with the items within the `body`.\n\t */\n\ticon: PropTypes.node,\n\t/**\n\t * Set the HTML `id` of the card. This also sets the `id` of the filter and the header actions.\n\t */\n\tid: PropTypes.string,\n\t/**\n\t * Custom styles to be added to the card.\n\t */\n\tstyle: PropTypes.object,\n};\n\nexport default Card;\nexport { idSuffixes };\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// ### React\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\n// ### classNames\n// [github.com/JedWatson/classnames](https://github.com/JedWatson/classnames)\n// A simple javascript utility for conditionally joining classNames together.\nimport classNames from 'classnames';\n\n// ### isFunction\nimport isFunction from 'lodash.isfunction';\n\n// ## Children\nimport UtilityIcon from '../../utilities/utility-icon';\nimport Button from '../../button';\n\n// ## Constants\nimport { ICON_INPUT } from '../../../utilities/constants';\n\n/**\n * A wrapper for icons that will be rendered inside of an Input\n *\n * If the `onClick` function prop is provided, the `design-system-react/components/button` component is used.\n * If not, the icon will be an instance of `design-system-react/components/utilities/utility-icon`.\n * Checkout out the appropriate component to see what props can be passed along via the `{...props}` rest operator\n */\nconst InputIcon = (props) => {\n\tconst {\n\t\tcategory,\n\t\ticonPosition,\n\t\tname,\n\t\tpath,\n\t\tonClick,\n\t\tvariant,\n\t\t...rest\n\t} = props;\n\n\t// need to pass click event up on SVG\n\n\tconst variants = {\n\t\tcombobox: (\n\t\t\t<span className=\"slds-icon_container slds-input__icon slds-input__icon_right\">\n\t\t\t\t<UtilityIcon\n\t\t\t\t\taria-hidden\n\t\t\t\t\tcategory={category}\n\t\t\t\t\tclassName={classNames(\n\t\t\t\t\t\t'slds-icon slds-icon_x-small slds-icon-text-default'\n\t\t\t\t\t)}\n\t\t\t\t\tname={name}\n\t\t\t\t\tpath={path}\n\t\t\t\t\t{...rest}\n\t\t\t\t/>\n\t\t\t</span>\n\t\t),\n\t\tbase: (\n\t\t\t<UtilityIcon\n\t\t\t\taria-hidden\n\t\t\t\tcategory={category}\n\t\t\t\tclassName={classNames('slds-input__icon slds-icon-text-default', {\n\t\t\t\t\t[`slds-input__icon_${iconPosition}`]: iconPosition,\n\t\t\t\t})}\n\t\t\t\tname={name}\n\t\t\t\tpath={path}\n\t\t\t\t{...rest}\n\t\t\t/>\n\t\t),\n\t};\n\n\treturn isFunction(onClick) ? (\n\t\t<Button\n\t\t\tclassName={classNames('slds-input__icon', {\n\t\t\t\t[`slds-input__icon_${iconPosition}`]: iconPosition,\n\t\t\t})}\n\t\t\ticonCategory={category}\n\t\t\ticonName={name}\n\t\t\ticonPath={path}\n\t\t\tonClick={onClick}\n\t\t\tvariant=\"icon\"\n\t\t\t{...rest}\n\t\t/>\n\t) : (\n\t\tvariants[variant]\n\t);\n};\n\nInputIcon.displayName = ICON_INPUT;\n\nInputIcon.propTypes = {\n\t/**\n\t * Icon category from [lightningdesignsystem.com/icons/](https://www.lightningdesignsystem.com/icons/)\n\t */\n\tcategory: PropTypes.string,\n\t/**\n\t * This is only needed if an input contains two icons, the Input component handles this prop for you.\n\t */\n\ticonPosition: PropTypes.oneOf(['left', 'right']),\n\t/**\n\t * Name of the icon. Visit <a href='http://www.lightningdesignsystem.com/resources/icons'>Lightning Design System Icons</a> to reference icon names.\n\t */\n\tname: PropTypes.string,\n\t/**\n\t * Path to the icon. This will override any global icon settings.\n\t */\n\tpath: PropTypes.string,\n\t/**\n\t * This event fires when the icon is clicked.\n\t */\n\tonClick: PropTypes.func,\n\t/**\n\t * Changes styles of the InputIcon.\n\t */\n\tvariant: PropTypes.oneOf(['base', 'combobox']),\n};\n\nInputIcon.defaultProps = {\n\tcategory: 'utility',\n\tvariant: 'base',\n};\n\nexport default InputIcon;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n/* eslint-disable import/no-mutable-exports */\n\nimport sunsetProperty from '../../utilities/warning/sunset-property';\nimport getComponentDocFn from '../../utilities/get-component-doc';\n\nlet checkProps = function checkPropsFunction() {};\n\nif (process.env.NODE_ENV !== 'production') {\n\tcheckProps = function checkPropsFunction(COMPONENT, props, jsonDoc) {\n\t\tconst createDocUrl = getComponentDocFn(jsonDoc);\n\n\t\tif (typeof props.assistiveText === 'string') {\n\t\t\tsunsetProperty(\n\t\t\t\tCOMPONENT,\n\t\t\t\tprops.assistiveText,\n\t\t\t\t'assistiveText',\n\t\t\t\t`\\`assistiveText\\` as a string has been deprecated and is now an object to allow for multiple uses in the component. Please use \\`assistiveText.label\\` instead. ${createDocUrl(\n\t\t\t\t\t'assistiveText'\n\t\t\t\t)}`\n\t\t\t);\n\t\t}\n\t};\n}\n\nexport default checkProps;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// # Spinner Component --- SLDS for React\n\n// Implements the [Spinner design pattern - 2.1.0-beta.3 (204)](https://latest-204.lightningdesignsystem.com/components/spinners) in React.\n\n// ### React\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\nimport classNames from 'classnames';\n\nimport checkProps from './check-props';\n\n// ## Constants\nimport { SPINNER } from '../../utilities/constants';\n\nimport componentDoc from './component.json';\n\n// ### Prop Types\nconst propTypes = {\n\t/**\n\t * **Assistive text for accessibility.**\n\t * This object is merged with the default props object on every render.\n\t * * `label`: Assistive text that is read out loud to screen readers.\n\t */\n\tassistiveText: PropTypes.shape({\n\t\tlabel: PropTypes.string,\n\t}),\n\t/**\n\t * Custom css classes applied to Spinner container\n\t */\n\tcontainerClassName: PropTypes.string,\n\t/**\n\t * Custom css properties applied to Spinner container\n\t */\n\tcontainerStyle: PropTypes.object,\n\t/**\n\t * Render the spinner inside of a container.\n\t */\n\thasContainer: PropTypes.bool,\n\t/**\n\t * Unique html id placed on div with role=\"status\".\n\t */\n\tid: PropTypes.string,\n\t/**\n\t * Adds delay of 300ms to the spinner\n\t */\n\tisDelayed: PropTypes.bool,\n\t/**\n\t * Add styling to support a spinner inside an input field.\n\t */\n\tisInput: PropTypes.bool,\n\t/**\n\t * Add styling to support an inline spinner inside of the document flow.\n\t */\n\tisInline: PropTypes.bool,\n\t/**\n\t * Determines the size of the spinner\n\t */\n\tsize: PropTypes.oneOf(['xx-small', 'x-small', 'small', 'medium', 'large']),\n\t/**\n\t * Determines the color of the spinner: `base` is gray, `brand` is blue, and `inverse` is white.\n\t */\n\tvariant: PropTypes.oneOf(['base', 'brand', 'inverse']),\n};\n\nconst defaultProps = {\n\tassistiveText: { label: 'Loading...' },\n\tisDelayed: false,\n\tisInline: false,\n\tisInput: false,\n\thasContainer: true,\n\tsize: 'medium',\n\tvariant: 'base',\n};\n\n/**\n * Spinners are CSS loading indicators that should be shown when retrieving data or performing slow computations. In some cases, the first time a parent component loads, a stencil is preferred to indicate network activity.\n */\nconst Spinner = (props) => {\n\tcheckProps(SPINNER, props, componentDoc);\n\tconst {\n\t\tcontainerClassName,\n\t\tcontainerStyle,\n\t\tid,\n\t\tisDelayed,\n\t\tisInline,\n\t\tisInput,\n\t\thasContainer,\n\t\tsize,\n\t\tvariant,\n\t} = props;\n\tconst assistiveText =\n\t\ttypeof props.assistiveText === 'string'\n\t\t\t? props.assistiveText\n\t\t\t: {\n\t\t\t\t\t...defaultProps.assistiveText,\n\t\t\t\t\t...props.assistiveText,\n\t\t\t }.label;\n\n\tconst spinnerClassName = classNames('slds-spinner', {\n\t\t'slds-spinner_inline': isInline,\n\t\t'slds-input__spinner': isInput,\n\t\t'slds-spinner_brand': variant === 'brand',\n\t\t'slds-spinner_inverse': variant === 'inverse',\n\t\t'slds-spinner_delayed': isDelayed,\n\t\t[`slds-spinner_${size}`]: size,\n\t});\n\n\tconst spinner = (\n\t\t<div aria-hidden=\"false\" className={spinnerClassName} id={id} role=\"status\">\n\t\t\t{assistiveText && (\n\t\t\t\t<span className=\"slds-assistive-text\">{assistiveText}</span>\n\t\t\t)}\n\t\t\t<div className=\"slds-spinner__dot-a\" />\n\t\t\t<div className=\"slds-spinner__dot-b\" />\n\t\t</div>\n\t);\n\n\treturn hasContainer ? (\n\t\t<div\n\t\t\tclassName={classNames(containerClassName, 'slds-spinner_container')}\n\t\t\tstyle={containerStyle}\n\t\t>\n\t\t\t{spinner}\n\t\t</div>\n\t) : (\n\t\tspinner\n\t);\n};\n\nSpinner.displayName = SPINNER;\nSpinner.propTypes = propTypes;\nSpinner.defaultProps = defaultProps;\n\nexport default Spinner;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n/* eslint-disable jsx-a11y/aria-activedescendant-has-tabindex */\n\n// ### React\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\nimport classNames from 'classnames';\nimport Spinner from '../../../components/spinner';\n\nimport getAriaProps from '../../../utilities/get-aria-props';\n\nconst COUNTER = 'counter';\n\nconst propTypes = {\n\t'aria-activedescendant': PropTypes.string,\n\t'aria-autocomplete': PropTypes.string,\n\t/**\n\t * An HTML ID that is shared with ARIA-supported devices with the\n\t * `aria-controls` attribute in order to relate the input with\n\t * another region of the page. An example would be a select box\n\t * that shows or hides a panel.\n\t */\n\t'aria-controls': PropTypes.string,\n\t'aria-describedby': PropTypes.string,\n\t'aria-expanded': PropTypes.bool,\n\t'aria-haspopup': PropTypes.oneOfType([PropTypes.bool, PropTypes.string]),\n\t'aria-labelledby': PropTypes.string,\n\t/**\n\t * An HTML ID that is shared with ARIA-supported devices with the\n\t * `aria-controls` attribute in order to relate the input with\n\t * another region of the page. An example would be a search field\n\t * that shows search results.\n\t */\n\t'aria-owns': PropTypes.string,\n\t'aria-required': PropTypes.bool,\n\t/**\n\t * **Assistive text for accessibility.**\n\t * This object is merged with the default props object on every render.\n\t * * `spinner`: Assistive text on the spinner.\n\t */\n\tassistiveText: PropTypes.shape({\n\t\tspinner: PropTypes.string,\n\t}),\n\t/**\n\t * Disabled brower's autocomplete when \"off\" is used.\n\t */\n\tautoComplete: PropTypes.string,\n\t/**\n\t * Class names to be added to the `input` element.\n\t */\n\tclassName: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\t/**\n\t * Class names to be added to the outer container `div` of the input.\n\t */\n\tcontainerClassName: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\t/**\n\t * Props to be added to the outer container `div` of the input (excluding `containerClassName`).\n\t */\n\tcontainerProps: PropTypes.object,\n\t/**\n\t * Disables the input and prevents editing the contents.\n\t */\n\tdisabled: PropTypes.bool,\n\t/**\n\t * Displays text or node to the left of the input. This follows the fixed text input UX pattern.\n\t */\n\tfixedTextLeft: PropTypes.oneOfType([PropTypes.node, PropTypes.string]),\n\t/**\n\t * Displays text or node to the right of the input. This follows the fixed text input UX pattern.\n\t */\n\tfixedTextRight: PropTypes.oneOfType([PropTypes.node, PropTypes.string]),\n\t/**\n\t * If true, loading spinner appears inside input on right hand side.\n\t */\n\thasSpinner: PropTypes.bool,\n\t/**\n\t * Left aligned icon, must be instance of `design-system-react/components/icon/input-icon`\n\t */\n\ticonLeft: PropTypes.node,\n\t/**\n\t * Right aligned icon, must be instance of `design-system-react/components/icon/input-icon`\n\t */\n\ticonRight: PropTypes.node,\n\t/**\n\t * Every input must have a unique ID in order to support keyboard navigation and ARIA support.\n\t */\n\tid: PropTypes.string.isRequired,\n\t/**\n\t * This callback exposes the input reference / DOM node to parent components. `<Parent inputRef={(inputComponent) => this.input = inputComponent} />\n\t */\n\tinputRef: PropTypes.func,\n\t/**\n\t * Displays the value of the input statically. This follows the static input UX pattern.\n\t */\n\tisStatic: PropTypes.bool,\n\t/**\n\t * This label appears above the input.\n\t */\n\tlabel: PropTypes.string,\n\tonBlur: PropTypes.func,\n\t/**\n\t * This callback fires when the input changes. The synthetic React event will be the first parameter to the callback. You will probably want to reference `event.target.value` in your callback. No custom data object is provided.\n\t */\n\tonChange: PropTypes.func,\n\t/**\n\t * This event fires when the input is clicked.\n\t */\n\tonClick: PropTypes.func,\n\tonFocus: PropTypes.func,\n\tonInput: PropTypes.func,\n\tonInvalid: PropTypes.func,\n\tonKeyDown: PropTypes.func,\n\tonKeyPress: PropTypes.func,\n\tonKeyUp: PropTypes.func,\n\tonSelect: PropTypes.func,\n\tonSubmit: PropTypes.func,\n\t/**\n\t * Text that will appear in an empty input.\n\t */\n\tplaceholder: PropTypes.string,\n\tminLength: PropTypes.string,\n\t/**\n\t * Specifies minimum accepted value for an input of type \"number\"\n\t */\n\tminValue: PropTypes.number,\n\tmaxLength: PropTypes.string,\n\t/**\n\t * Specifies maximum accepted value for an input of type \"number\"\n\t */\n\tmaxValue: PropTypes.number,\n\t/**\n\t * Name of the submitted form parameter.\n\t */\n\tname: PropTypes.string,\n\t/**\n\t * Specifies `readOnly` for `input` node.\n\t */\n\treadOnly: PropTypes.bool,\n\t/**\n\t * Highlights the input as a required field (does not perform any validation).\n\t */\n\trequired: PropTypes.bool,\n\t/**\n\t * `role` to be added to `input` node\n\t */\n\trole: PropTypes.string,\n\t/**\n\t * Determines the step size upon increment or decrement. Can be set to decimal values.\n\t */\n\tstep: PropTypes.number,\n\t/**\n\t * Style object to be added to `input` node\n\t */\n\tstyle: PropTypes.object,\n\t/**\n\t * Specifies `tabIndex` for `input` node\n\t */\n\ttabIndex: PropTypes.string,\n\t/**\n\t * The `<Input>` element includes support for all HTML5 types.\n\t */\n\ttype: PropTypes.oneOf([\n\t\t'text',\n\t\t'password',\n\t\t'datetime',\n\t\t'datetime-local',\n\t\t'date',\n\t\t'month',\n\t\t'time',\n\t\t'week',\n\t\t'number',\n\t\t'email',\n\t\t'url',\n\t\t'search',\n\t\t'tel',\n\t\t'color',\n\t]),\n\t/**\n\t * The input is a controlled component, and will always display this value.\n\t */\n\tvalue: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n\t/**\n\t * Which UX pattern of input? The default is `base` while other option is `counter`\n\t */\n\tvariant: PropTypes.oneOf(['base', COUNTER]),\n\t/**\n\t * This is the initial value of an uncontrolled form element and is present only to provide\n\t * compatibility with hybrid framework applications that are not entirely React. It should only\n\t * be used in an application without centralized state (Redux, Flux). \"Controlled components\"\n\t * with centralized state is highly recommended.\n\t * See [Code Overview](https://github.com/salesforce/design-system-react/blob/master/docs/codebase-overview.md#controlled-and-uncontrolled-components) for more information.\n\t */\n\tdefaultValue: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n};\n\nconst defaultProps = {\n\tassistiveText: {\n\t\tspinner: 'Loading ...',\n\t},\n\ttype: 'text',\n};\n\n/*\n * This component was created to allow the DIV wrapped input to be used within other components such as combobox. This components API is not public.\n */\nconst InnerInput = (props) => {\n\tconst ariaProps = getAriaProps(props);\n\tariaProps['aria-describedby'] = props.hasSpinner\n\t\t? `loading-status-icon ${props['aria-describedby']}`\n\t\t: props['aria-describedby'];\n\n\tconst {\n\t\tclassName: containerClassName,\n\t\t...containerProps\n\t} = props.containerProps;\n\n\tconst assistiveText = {\n\t\t...defaultProps.assistiveText,\n\t\t...props.assistiveText,\n\t};\n\n\treturn (\n\t\t<div\n\t\t\tclassName={classNames(containerClassName, {\n\t\t\t\t'slds-input-has-icon':\n\t\t\t\t\tprops.variant !== COUNTER && (props.iconLeft || props.iconRight),\n\t\t\t\t'slds-input-has-icon_left': props.iconLeft && !props.iconRight,\n\t\t\t\t'slds-input-has-icon_right': !props.iconLeft && props.iconRight,\n\t\t\t\t'slds-input-has-icon_left-right':\n\t\t\t\t\tprops.variant !== COUNTER && props.iconLeft && props.iconRight,\n\t\t\t\t'slds-input-has-fixed-addon':\n\t\t\t\t\tprops.fixedTextLeft || props.fixedTextRight,\n\t\t\t\t'slds-has-divider_bottom': props.isStatic,\n\t\t\t})}\n\t\t\t{...containerProps}\n\t\t>\n\t\t\t{props.iconLeft && props.iconLeft}\n\t\t\t{props.fixedTextLeft && (\n\t\t\t\t<span className=\"slds-form-element__addon\">{props.fixedTextLeft}</span>\n\t\t\t)}\n\n\t\t\t{!props.isStatic && (\n\t\t\t\t<input\n\t\t\t\t\tautoComplete={props.autoComplete}\n\t\t\t\t\tclassName={classNames(\n\t\t\t\t\t\t'slds-input',\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t'slds-text-align_left':\n\t\t\t\t\t\t\t\tprops.variant === COUNTER && props.readOnly,\n\t\t\t\t\t\t},\n\t\t\t\t\t\tprops.className\n\t\t\t\t\t)}\n\t\t\t\t\tdisabled={props.disabled}\n\t\t\t\t\tid={props.id}\n\t\t\t\t\tmin={props.minValue}\n\t\t\t\t\tminLength={props.minLength}\n\t\t\t\t\tmax={props.maxValue}\n\t\t\t\t\tmaxLength={props.maxLength}\n\t\t\t\t\tname={props.name}\n\t\t\t\t\tonBlur={props.onBlur}\n\t\t\t\t\tonChange={props.onChange}\n\t\t\t\t\tonClick={props.onClick}\n\t\t\t\t\tonFocus={props.onFocus}\n\t\t\t\t\tonInput={props.onInput}\n\t\t\t\t\tonInvalid={props.onInvalid}\n\t\t\t\t\tonKeyDown={props.onKeyDown}\n\t\t\t\t\tonKeyPress={props.onKeyPress}\n\t\t\t\t\tonKeyUp={props.onKeyUp}\n\t\t\t\t\tonSelect={props.onSelect}\n\t\t\t\t\tonSubmit={props.onSubmit}\n\t\t\t\t\tplaceholder={props.placeholder}\n\t\t\t\t\treadOnly={props.readOnly}\n\t\t\t\t\tref={props.inputRef}\n\t\t\t\t\trequired={props.required}\n\t\t\t\t\trole={props.role}\n\t\t\t\t\tstep={props.step}\n\t\t\t\t\tstyle={props.style}\n\t\t\t\t\ttabIndex={props.tabIndex}\n\t\t\t\t\ttype={props.type}\n\t\t\t\t\t{...ariaProps}\n\t\t\t\t\t/* A form element should not have both value and defaultValue props. */\n\t\t\t\t\t{...(props.value !== undefined\n\t\t\t\t\t\t? { value: props.value }\n\t\t\t\t\t\t: { defaultValue: props.defaultValue })}\n\t\t\t\t/>\n\t\t\t)}\n\n\t\t\t{props.hasSpinner ? (\n\t\t\t\t<div className=\"slds-input__icon-group slds-input__icon-group_right\">\n\t\t\t\t\t<Spinner\n\t\t\t\t\t\tassistiveText={{ label: assistiveText.spinner }}\n\t\t\t\t\t\tid=\"loading-status-icon\"\n\t\t\t\t\t\tisInput\n\t\t\t\t\t\tsize=\"x-small\"\n\t\t\t\t\t\tvariant=\"brand\"\n\t\t\t\t\t/>\n\t\t\t\t\t{props.iconRight && props.iconRight}\n\t\t\t\t</div>\n\t\t\t) : (\n\t\t\t\tprops.iconRight && props.iconRight\n\t\t\t)}\n\n\t\t\t{props.fixedTextRight && (\n\t\t\t\t<span className=\"slds-form-element__addon\">{props.fixedTextRight}</span>\n\t\t\t)}\n\n\t\t\t{/* eslint-disable jsx-a11y/no-static-element-interactions */}\n\t\t\t{props.isStatic && (\n\t\t\t\t<span\n\t\t\t\t\tclassName={classNames('slds-form-element__static', 'slds-grid', {\n\t\t\t\t\t\t'slds-grid_align-spread': props.variant !== COUNTER,\n\t\t\t\t\t})}\n\t\t\t\t\tonClick={props.onClick}\n\t\t\t\t>\n\t\t\t\t\t{props.value}\n\t\t\t\t\t{props.inlineEditTrigger}\n\t\t\t\t</span>\n\t\t\t)}\n\t\t\t{/* eslint-enable jsx-a11y/no-static-element-interactions */}\n\t\t</div>\n\t);\n};\n\nInnerInput.displayName = 'SLDSInnerInput';\nInnerInput.propTypes = propTypes;\nInnerInput.defaultProps = defaultProps;\n\nexport default InnerInput;\n","/* eslint-disable react/jsx-curly-brace-presence */\n/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\n\nconst propTypes = {\n\t/*\n\t * Assistive Text to use instead of a visible label\n\t */\n\tassistiveText: PropTypes.object,\n\t/**\n\t * Class names to be added to the label\n\t */\n\tclassName: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\t/*\n\t * Id of the input associated with this label\n\t */\n\thtmlFor: PropTypes.string,\n\t/*\n\t * Input Label\n\t */\n\tlabel: PropTypes.string,\n\t/*\n\t * Applies label styling for a required form element\n\t */\n\trequired: PropTypes.bool,\n\t/**\n\t * Changes markup of label.\n\t */\n\tvariant: PropTypes.oneOf(['base', 'static']),\n};\n\nconst defaultProps = {\n\tvariant: 'base',\n};\n\n/*\n * Form label. This returns null if there is no label text (hidden or shown)\n */\nconst Label = (props) => {\n\tconst labelText =\n\t\tprops.label || (props.assistiveText && props.assistiveText.label); // One of these is required to pass accessibility tests\n\n\tconst subRenders = {\n\t\tbase: (\n\t\t\t<label\n\t\t\t\tclassName={classNames(\n\t\t\t\t\t'slds-form-element__label',\n\t\t\t\t\t{\n\t\t\t\t\t\t'slds-assistive-text': props.assistiveText && !props.label,\n\t\t\t\t\t},\n\t\t\t\t\tprops.className\n\t\t\t\t)}\n\t\t\t\thtmlFor={props.htmlFor}\n\t\t\t>\n\t\t\t\t{props.required && (\n\t\t\t\t\t<abbr className=\"slds-required\" title=\"required\">\n\t\t\t\t\t\t{'*'}\n\t\t\t\t\t</abbr>\n\t\t\t\t)}\n\t\t\t\t{labelText}\n\t\t\t</label>\n\t\t),\n\t\tstatic: (\n\t\t\t<span className={classNames('slds-form-element__label', props.className)}>\n\t\t\t\t{labelText}\n\t\t\t</span>\n\t\t),\n\t};\n\n\treturn labelText ? subRenders[props.variant] : null;\n};\n\nLabel.displayName = 'Label';\nLabel.propTypes = propTypes;\nLabel.defaultProps = defaultProps;\n\nexport default Label;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n/* eslint-disable import/no-mutable-exports */\n\n// This function will deliver an warning message to the browser console if extraneous properties are defined (falsey).\nimport warning from 'warning';\n\nlet onlyOneOf = function onlyOneOfFunction() {};\n\nif (process.env.NODE_ENV !== 'production') {\n\tconst hasWarned = {};\n\n\tonlyOneOf = function onlyOneOfFunction(control, selectedProps, comment) {\n\t\tconst additionalComment = comment ? ` ${comment}` : '';\n\t\tlet keys = Object.keys(selectedProps);\n\t\tkeys = keys.filter((key) => selectedProps[key]);\n\n\t\tif (!hasWarned[control]) {\n\t\t\t/* eslint-disable max-len */\n\t\t\twarning(\n\t\t\t\tkeys.length <= 1,\n\t\t\t\t`[Design System React] Only one of the following props is needed by ${control}: [${keys.join()}].${additionalComment}`\n\t\t\t);\n\t\t\t/* eslint-enable max-len */\n\t\t\thasWarned[control] = !!selectedProps;\n\t\t}\n\t};\n}\n\nexport default onlyOneOf;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n/* eslint-disable import/no-mutable-exports */\n/* eslint-disable max-len */\n\nimport deprecatedProperty from '../../utilities/warning/deprecated-property';\nimport sunsetProperty from '../../utilities/warning/sunset-property';\n// import oneOfRequiredProperty from '../../../utilities/warning/one-of-required-property';\nimport onlyOneOfProperties from '../../utilities/warning/only-one-of-properties';\nimport getComponentDocFn from '../../utilities/get-component-doc';\n\nimport { INPUT, SEARCH } from '../../utilities/constants';\n\nlet checkProps = function checkPropsFunction() {};\n\nif (process.env.NODE_ENV !== 'production') {\n\tcheckProps = function checkPropsFunction(COMPONENT, props = {}, jsonDoc) {\n\t\tconst createDocUrl = getComponentDocFn(jsonDoc);\n\n\t\tif (COMPONENT === INPUT) {\n\t\t\tconst iconDeprecatedMessage = `Please use \\`iconLeft\\` and \\`iconRight\\` to pass in a customized <Icon> component. ${createDocUrl()}`;\n\n\t\t\t// Deprecated and changed to another property\n\t\t\tdeprecatedProperty(\n\t\t\t\tCOMPONENT,\n\t\t\t\tprops.assistiveText && props.assistiveText.fieldLevelHelpButton,\n\t\t\t\t'assistiveText.fieldLevelHelpButton',\n\t\t\t\tundefined,\n\t\t\t\t`Please pass a \\`Tooltip\\` component into \\`fieldLevelHelpTooltip\\` with \\`assistiveText.triggerLearnMoreIcon\\`.`\n\t\t\t);\n\t\t\tdeprecatedProperty(\n\t\t\t\tCOMPONENT,\n\t\t\t\tprops.iconCategory,\n\t\t\t\t'iconCategory',\n\t\t\t\tundefined,\n\t\t\t\ticonDeprecatedMessage\n\t\t\t);\n\t\t\tdeprecatedProperty(\n\t\t\t\tCOMPONENT,\n\t\t\t\tprops.iconName,\n\t\t\t\t'iconName',\n\t\t\t\tundefined,\n\t\t\t\ticonDeprecatedMessage\n\t\t\t);\n\t\t\tdeprecatedProperty(\n\t\t\t\tCOMPONENT,\n\t\t\t\tprops.iconPosition,\n\t\t\t\t'iconPosition',\n\t\t\t\tundefined,\n\t\t\t\ticonDeprecatedMessage\n\t\t\t);\n\t\t\tdeprecatedProperty(\n\t\t\t\tCOMPONENT,\n\t\t\t\tprops.iconAssistiveText,\n\t\t\t\t'iconAssistiveText',\n\t\t\t\tundefined,\n\t\t\t\ticonDeprecatedMessage\n\t\t\t);\n\t\t\tdeprecatedProperty(\n\t\t\t\tCOMPONENT,\n\t\t\t\tprops.onIconClick,\n\t\t\t\t'onIconClick',\n\t\t\t\tundefined,\n\t\t\t\ticonDeprecatedMessage\n\t\t\t);\n\n\t\t\tif (typeof props.assistiveText === 'string') {\n\t\t\t\tsunsetProperty(\n\t\t\t\t\tCOMPONENT,\n\t\t\t\t\tprops.assistiveText,\n\t\t\t\t\t'assistiveText',\n\t\t\t\t\t`AssistiveText as a string has been deprecated and is now an object to allow for multiple uses in the component. Please use either assistiveText.label or assistiveText.spinner. ${createDocUrl(\n\t\t\t\t\t\t'assistiveText'\n\t\t\t\t\t)}`\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tonlyOneOfProperties(\n\t\t\t\tCOMPONENT,\n\t\t\t\t{\n\t\t\t\t\t'assistiveText.label':\n\t\t\t\t\t\tprops.assistiveText && props.assistiveText.label,\n\t\t\t\t\tlabel: props.label,\n\t\t\t\t},\n\t\t\t\tcreateDocUrl('assistiveText')\n\t\t\t);\n\n\t\t\tonlyOneOfProperties(\n\t\t\t\tCOMPONENT,\n\t\t\t\t{\n\t\t\t\t\tfixedTextLeft: props.fixedTextLeft,\n\t\t\t\t\tfixedTextRight: props.fixedTextRight,\n\t\t\t\t},\n\t\t\t\tcreateDocUrl('assistiveText')\n\t\t\t);\n\n\t\t\t/*\n\t\t\t* Once we support horizontal labels, then I think we can enable this check\n\t\t\t*\n\t\t\tif (!props.inlineEditTrigger) {\n\t\t\t\toneOfRequiredProperty(COMPONENT, {\n\t\t\t\t\tassistiveText: props.assistiveText,\n\t\t\t\t\tlabel: props.label\n\t\t\t\t});\n\t\t\t}\n\t\t\t*/\n\t\t} else if (COMPONENT === SEARCH) {\n\t\t\tif (typeof props.assistiveText === 'string') {\n\t\t\t\tsunsetProperty(\n\t\t\t\t\tCOMPONENT,\n\t\t\t\t\tprops.assistiveText,\n\t\t\t\t\t'assistiveText',\n\t\t\t\t\t`\\`assistiveText\\` as a string has been deprecated and is now an object to allow for multiple uses in the component. Please use \\`assistiveText.label\\` instead. ${createDocUrl(\n\t\t\t\t\t\t'assistiveText'\n\t\t\t\t\t)}`\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\t};\n}\n\nexport default checkProps;\n","/*\n * Remove keys with undefined values. This is useful\n * for merging object props like `assistiveText` and `labels`\n * and keeping default prop values.\n */\n\nconst removeUndefined = (obj) => {\n\tconst newObj = {};\n\tObject.keys(obj).forEach((prop) => {\n\t\tif (typeof obj[prop] !== 'undefined') {\n\t\t\tnewObj[prop] = obj[prop];\n\t\t}\n\t});\n\treturn newObj;\n};\n\nconst helpers = { removeUndefined };\n\nexport default helpers;\n","/*\n * Field Level Help Tooltip for input labels\n */\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\nimport Tooltip from '../index';\nimport objectHelpers from '../../../utilities/object';\n\nconst propTypes = {\n\t/*\n\t * Assistive Text object from parent component such as Input, Combobox, etc.\n\t */\n\tassistiveText: PropTypes.shape({\n\t\ttriggerLearnMoreIcon: PropTypes.string,\n\t}),\n\t/*\n\t * Tooltip from external prop\n\t */\n\tfieldLevelHelpTooltip: PropTypes.node.isRequired,\n};\n\nconst defaultProps = {\n\ttriggerClassName: 'slds-form-element__icon',\n\t// This allows `position: absolute` Tooltips to align properly.\n\t// If not present, tooltip will always be below the info icon // instead of above it.\n\ttriggerStyle: { position: 'static' },\n\tvariant: 'learnMore',\n};\n\nconst FieldLevelHelpTooltip = ({ fieldLevelHelpTooltip, assistiveText = {} }) =>\n\tfieldLevelHelpTooltip ? (\n\t\t<Tooltip\n\t\t\t{...{\n\t\t\t\t// internal default props\n\t\t\t\t...defaultProps,\n\t\t\t\t// props from external developer\n\t\t\t\t...fieldLevelHelpTooltip.props,\n\t\t\t\t// allow backwards compatibility with Input's\n\t\t\t\t// assistiveText.fieldLevelHelpButton\n\t\t\t\t// `Input` used to have an `assistiveText.fieldLevelHelpButton`\n\t\t\t\t// prop and that prop needs to override the default Tooltip\n\t\t\t\t// \"Help\" string.\n\t\t\t\tassistiveText: {\n\t\t\t\t\t...fieldLevelHelpTooltip.props.assistiveText,\n\t\t\t\t\t...objectHelpers.removeUndefined(assistiveText),\n\t\t\t\t},\n\t\t\t}}\n\t\t/>\n\t) : null;\n\nFieldLevelHelpTooltip.propTypes = propTypes;\nFieldLevelHelpTooltip.displayName = 'FieldLevelHelpTooltip';\n\nexport default FieldLevelHelpTooltip;\n","/* eslint-disable max-lines */\n/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// # Input Component\n\n// Implements the [Input design pattern](https://lightningdesignsystem.com/components/forms/#flavor-input) in React. Does not yet implement [fixed text](https://lightningdesignsystem.com/components/forms/#flavor-input-input-fixed-text).\n// Based on SLDS v2.2.1\n//\n\n// ### React\nimport React from 'react';\n\nimport PropTypes from 'prop-types';\n\n// ### classNames\n// [github.com/JedWatson/classnames](https://github.com/JedWatson/classnames)\n// This project uses `classnames`, \"a simple javascript utility for conditionally\n// joining classNames together.\"\nimport classNames from 'classnames';\n\n// ### shortid\n// [npmjs.com/package/shortid](https://www.npmjs.com/package/shortid)\n// shortid is a short, non-sequential, url-friendly, unique id generator\nimport shortid from 'shortid';\n\nimport Button from '../button';\n\n// ## Children\nimport InputIcon from '../icon/input-icon';\nimport InnerInput from './private/inner-input';\nimport Label from '../utilities/label';\n\n// This component's `checkProps` which issues warnings to developers about properties when in development mode (similar to React's built in development tools)\nimport checkProps from './check-props';\n\nimport { INPUT } from '../../utilities/constants';\nimport componentDoc from './component.json';\nimport FieldLevelHelpTooltip from '../tooltip/private/field-level-help-tooltip';\n\nconst COUNTER = 'counter';\nconst DECREMENT = 'Decrement';\nconst INCREMENT = 'Increment';\n\nconst defaultProps = {\n\tassistiveText: {\n\t\tdecrement: `${DECREMENT} ${COUNTER}`,\n\t\tincrement: `${INCREMENT} ${COUNTER}`,\n\t},\n\ttype: 'text',\n};\n\n/**\n * The HTML `input` with a label and error messaging.\n */\nclass Input extends React.Component {\n\tstatic displayName = INPUT;\n\n\tstatic propTypes = {\n\t\t/**\n\t\t * The aria-activedescendant attribute contains the ID of the currently active child object that is part of a composite widget within the Document Object Model. It makes do with the overhead of having all or more than one child focusable. As the name specifies, it helps in managing the current active child of the composite widget.\n\t\t */\n\t\t'aria-activedescendant': PropTypes.string,\n\t\t/**\n\t\t * Indicates if the suggestions in a composite widget are values that complete the current textbox input.\n\t\t */\n\t\t'aria-autocomplete': PropTypes.string,\n\t\t/**\n\t\t * An HTML ID that is shared with ARIA-supported devices with the\n\t\t * `aria-controls` attribute in order to relate the input with\n\t\t * another region of the page. An example would be a select box\n\t\t * that shows or hides a panel.\n\t\t */\n\t\t'aria-controls': PropTypes.string,\n\t\t/**\n\t\t * The `aria-describedby` attribute is used to indicate the IDs of the elements that describe the object. It is used to establish a relationship between widgets or groups and text that described them. This is very similar to aria-labelledby: a label describes the essence of an object, while a description provides more information that the user might need.\n\t\t */\n\t\t'aria-describedby': PropTypes.string,\n\t\t/**\n\t\t * Use the `aria-expanded` state to indicate whether regions of the content are collapsible, and to expose whether a region is currently expanded or collapsed.\n\t\t */\n\t\t'aria-expanded': PropTypes.bool,\n\t\t/**\n\t\t * Indicates that the element has a popup context menu or sub-level menu.\n\t\t */\n\t\t'aria-haspopup': PropTypes.bool,\n\t\t/**\n\t\t * The aria-labelledby attribute contains the element IDs of labels in objects such as input elements, widgets, and groups. The attribute establishes relationships between objects and their labels. Assistive technology, such as screen readers, use this attribute to catalog the objects in a document so that users can navigate between them. Without an element ID, the assistive technology cannot catalog the object.\n\t\t */\n\t\t'aria-labelledby': PropTypes.string,\n\t\t/**\n\t\t * An HTML ID that is shared with ARIA-supported devices with the\n\t\t * `aria-controls` attribute in order to relate the input with\n\t\t * another region of the page. An example would be a search field\n\t\t * that shows search results.\n\t\t */\n\t\t'aria-owns': PropTypes.string,\n\t\t/**\n\t\t * The `aria-required` attribute is used to indicate that user input is required on an element before a form can be submitted.\n\t\t */\n\t\t'aria-required': PropTypes.bool,\n\t\t/**\n\t\t * **Assistive text for accessibility**\n\t\t * * `label`: Visually hidden label but read out loud by screen readers.\n\t\t * * `spinner`: Text for loading spinner icon.\n\t\t */\n\t\tassistiveText: PropTypes.shape({\n\t\t\tlabel: PropTypes.string,\n\t\t\tspinner: PropTypes.string,\n\t\t}),\n\t\t/**\n\t\t * Disabled brower's autocomplete when \"off\" is used.\n\t\t */\n\t\tautoComplete: PropTypes.string,\n\t\t/**\n\t\t * Elements are added after the `input`.\n\t\t */\n\t\tchildren: PropTypes.node,\n\t\t/**\n\t\t * Class names to be added to the outer container of the input.\n\t\t */\n\t\tclassName: PropTypes.oneOfType([\n\t\t\tPropTypes.array,\n\t\t\tPropTypes.object,\n\t\t\tPropTypes.string,\n\t\t]),\n\t\t/**\n\t\t * This is the initial value of an uncontrolled form element and\n\t\t * is present only to provide compatibility with hybrid framework\n\t\t * applications that are not entirely React. It should only be used\n\t\t * in an application without centralized state (Redux, Flux).\n\t\t * \"Controlled components\" with centralized state is highly recommended.\n\t\t * See [Code Overview](https://github.com/salesforce/design-system-react/blob/master/docs/codebase-overview.md#controlled-and-uncontrolled-components) for more information.\n\t\t */\n\t\tdefaultValue: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n\t\t/**\n\t\t * Disables the input and prevents editing the contents.\n\t\t */\n\t\tdisabled: PropTypes.bool,\n\t\t/**\n\t\t * Message to display when the input is in an error state. When this is present, also visually highlights the component as in error.\n\t\t */\n\t\terrorText: PropTypes.oneOfType([PropTypes.node, PropTypes.string]),\n\t\t/**\n\t\t * A [Tooltip](https://react.lightningdesignsystem.com/components/tooltips/) component that is displayed next to the label.\n\t\t */\n\t\tfieldLevelHelpTooltip: PropTypes.node,\n\t\t/**\n\t\t * Displays text or node to the left of the input. This follows the fixed text input UX pattern.\n\t\t */\n\t\tfixedTextLeft: PropTypes.oneOfType([PropTypes.node, PropTypes.string]),\n\t\t/**\n\t\t * Displays text or node to the right of the input. This follows the fixed text input UX pattern.\n\t\t */\n\t\tfixedTextRight: PropTypes.oneOfType([PropTypes.node, PropTypes.string]),\n\t\t/**\n\t\t * If true, loading spinner appears inside input on right hand side.\n\t\t */\n\t\thasSpinner: PropTypes.bool,\n\t\t/**\n\t\t * Left aligned icon, must be instace of `design-system-react/components/icon/input-icon`\n\t\t */\n\t\ticonLeft: PropTypes.node,\n\t\t/**\n\t\t * Right aligned icon, must be instace of `design-system-react/components/icon/input-icon`\n\t\t */\n\t\ticonRight: PropTypes.node,\n\t\t/**\n\t\t * Every input must have a unique ID in order to support keyboard navigation and ARIA support.\n\t\t */\n\t\tid: PropTypes.string,\n\t\t/**\n\t\t * Displays help text under the input.\n\t\t */\n\t\tinlineHelpText: PropTypes.oneOfType([PropTypes.node, PropTypes.string]),\n\t\t/**\n\t\t * This callback exposes the input reference / DOM node to parent components. `<Parent inputRef={(inputComponent) => this.input = inputComponent} />\n\t\t */\n\t\tinputRef: PropTypes.func,\n\t\t/**\n\t\t * Displays the value of the input statically. This follows the static input UX pattern.\n\t\t */\n\t\tisStatic: PropTypes.bool,\n\t\t/**\n\t\t * This label appears above the input.\n\t\t */\n\t\tlabel: PropTypes.string,\n\t\t/**\n\t\t * Triggered when focus is removed.\n\t\t */\n\t\tonBlur: PropTypes.func,\n\t\t/**\n\t\t * This callback fires when the input changes. Passes in `event, { value }`.\n\t\t */\n\t\tonChange: PropTypes.func,\n\t\t/**\n\t\t * This event fires when the input is clicked.\n\t\t */\n\t\tonClick: PropTypes.func,\n\t\t/**\n\t\t * Triggered when component is focused.\n\t\t */\n\t\tonFocus: PropTypes.func,\n\t\t/**\n\t\t * Similar to `onchange`. Triggered when an element gets user input.\n\t\t */\n\t\tonInput: PropTypes.func,\n\t\t/**\n\t\t * Triggered when a submittable `<input>` element is invalid.\n\t\t */\n\t\tonInvalid: PropTypes.func,\n\t\t/**\n\t\t * Triggered when a key is pressed down\n\t\t */\n\t\tonKeyDown: PropTypes.func,\n\t\t/**\n\t\t * Triggered when a key is pressed and released\n\t\t */\n\t\tonKeyPress: PropTypes.func,\n\t\t/**\n\t\t * Triggered when a key is released\n\t\t */\n\t\tonKeyUp: PropTypes.func,\n\t\t/**\n\t\t * Triggered after some text has been selected in an element.\n\t\t */\n\t\tonSelect: PropTypes.func,\n\t\t/**\n\t\t * Fires when a form is submitted.\n\t\t */\n\t\tonSubmit: PropTypes.func,\n\t\t/**\n\t\t * Text that will appear in an empty input.\n\t\t */\n\t\tplaceholder: PropTypes.string,\n\t\t/**\n\t\t * Sets the minimum number of characters that an `<input>` can accept.\n\t\t */\n\t\tminLength: PropTypes.string,\n\t\t/**\n\t\t * Specifies minimum accepted value for a counter input\n\t\t */\n\t\tminValue: PropTypes.number,\n\t\t/**\n\t\t * Sets the maximum number of characters that an `<input>` can accept.\n\t\t */\n\t\tmaxLength: PropTypes.string,\n\t\t/**\n\t\t * Specifies maximum accepted value for a counter input\n\t\t */\n\t\tmaxValue: PropTypes.number,\n\t\t/**\n\t\t * Name of the submitted form parameter.\n\t\t */\n\t\tname: PropTypes.string,\n\t\t/**\n\t\t * Displays the value of the input as read-only. This is used in the inline edit UX pattern.\n\t\t */\n\t\treadOnly: PropTypes.bool,\n\t\t/**\n\t\t * Highlights the input as a required field (does not perform any validation).\n\t\t */\n\t\trequired: PropTypes.bool,\n\t\t/**\n\t\t * ARIA role\n\t\t */\n\t\trole: PropTypes.string,\n\t\t/**\n\t\t * Determines the step size upon increment or decrement. Can be set to decimal values.\n\t\t */\n\t\tstep: PropTypes.number,\n\t\t/**\n\t\t * styles to be added to input\n\t\t */\n\t\tstyleInput: PropTypes.object,\n\t\t/**\n\t\t * Custom styles to be passed to the component container\n\t\t */\n\t\tstyleContainer: PropTypes.object,\n\t\t/**\n\t\t * The `<Input>` element includes support for all HTML5 types.\n\t\t */\n\t\ttype: PropTypes.oneOf([\n\t\t\t'text',\n\t\t\t'password',\n\t\t\t'datetime',\n\t\t\t'datetime-local',\n\t\t\t'date',\n\t\t\t'month',\n\t\t\t'time',\n\t\t\t'week',\n\t\t\t'number',\n\t\t\t'email',\n\t\t\t'url',\n\t\t\t'search',\n\t\t\t'tel',\n\t\t\t'color',\n\t\t]),\n\t\t/**\n\t\t * The input is a controlled component, and will always display this value.\n\t\t */\n\t\tvalue: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n\t\t/**\n\t\t * Which UX pattern of input? The default is `base` while other option is `counter`\n\t\t */\n\t\tvariant: PropTypes.oneOf(['base', COUNTER]),\n\t};\n\n\tstatic defaultProps = defaultProps;\n\n\tconstructor(props) {\n\t\tsuper(props);\n\t\tthis.inputRef = null;\n\t\tthis.stepping = {\n\t\t\tcurrentDelay: 500,\n\t\t\tinitialDelay: 500,\n\t\t\tspeedDelay: 75,\n\t\t\ttimeout: {},\n\t\t};\n\n\t\t// `checkProps` issues warnings to developers about properties (similar to React's built in development tools)\n\t\tcheckProps(INPUT, props, componentDoc);\n\n\t\tthis.generatedId = shortid.generate();\n\t\tif (props.errorText) {\n\t\t\tthis.generatedErrorId = shortid.generate();\n\t\t}\n\t}\n\n\tgetId = () => this.props.id || this.generatedId;\n\n\tgetErrorId = () => this.props['aria-describedby'] || this.generatedErrorId;\n\n\tgetValueAsNumber = () => {\n\t\tlet value = 0;\n\n\t\tif (this.props.value !== undefined) {\n\t\t\tvalue = Number(this.props.value);\n\t\t} else if (this.inputRef) {\n\t\t\tvalue = Number(this.inputRef.value);\n\t\t}\n\n\t\treturn value;\n\t};\n\n\tgetCounterButtonIcon = (direction) => {\n\t\tconst value = this.getValueAsNumber();\n\t\tlet disabled = false;\n\n\t\tif (\n\t\t\tthis.props.disabled ||\n\t\t\t(direction === INCREMENT &&\n\t\t\t\tthis.props.maxValue !== undefined &&\n\t\t\t\tvalue >= this.props.maxValue) ||\n\t\t\t(direction === DECREMENT &&\n\t\t\t\tthis.props.minValue !== undefined &&\n\t\t\t\tvalue <= this.props.minValue)\n\t\t) {\n\t\t\tdisabled = true;\n\t\t}\n\n\t\treturn (\n\t\t\t<Button\n\t\t\t\tassistiveText={{\n\t\t\t\t\ticon: this.props.assistiveText[direction.toLowerCase()],\n\t\t\t\t}}\n\t\t\t\tclassName={classNames(\n\t\t\t\t\t'slds-button_icon-small',\n\t\t\t\t\t`slds-input__button_${direction.toLowerCase()}`\n\t\t\t\t)}\n\t\t\t\tdisabled={disabled}\n\t\t\t\ticonCategory=\"utility\"\n\t\t\t\ticonName={direction === DECREMENT ? 'ban' : 'new'}\n\t\t\t\tonKeyDown={(event) => {\n\t\t\t\t\tif (event.keyCode === 13) {\n\t\t\t\t\t\tthis.performStep(direction, event);\n\t\t\t\t\t}\n\t\t\t\t}}\n\t\t\t\tonKeyUp={this.stopStepping}\n\t\t\t\tonMouseDown={(event) => {\n\t\t\t\t\tthis.performStep(direction, event);\n\t\t\t\t}}\n\t\t\t\tonMouseLeave={this.stopStepping}\n\t\t\t\tonMouseUp={this.stopStepping}\n\t\t\t\tvariant=\"icon\"\n\t\t\t/>\n\t\t);\n\t};\n\n\t// This is convoluted to maintain backwards compatibility. Please remove deprecatedProps on next breaking change.\n\tgetIconRender = (position, iconPositionProp) => {\n\t\tlet icon;\n\n\t\t// Remove at next breaking change\n\t\t/* eslint-disable react/prop-types */\n\t\tconst deprecatedProps = {\n\t\t\tassistiveText: {\n\t\t\t\ticon:\n\t\t\t\t\t(this.props[iconPositionProp] &&\n\t\t\t\t\t\tthis.props[iconPositionProp].props.assistiveText) ||\n\t\t\t\t\tthis.props.iconAssistiveText,\n\t\t\t},\n\t\t\tcategory:\n\t\t\t\t(this.props[iconPositionProp] &&\n\t\t\t\t\tthis.props[iconPositionProp].props.category) ||\n\t\t\t\tthis.props.iconCategory,\n\t\t\tname:\n\t\t\t\t(this.props[iconPositionProp] &&\n\t\t\t\t\tthis.props[iconPositionProp].props.name) ||\n\t\t\t\tthis.props.iconName,\n\t\t\tonClick:\n\t\t\t\t(this.props[iconPositionProp] &&\n\t\t\t\t\tthis.props[iconPositionProp].props.onClick) ||\n\t\t\t\tthis.props.onIconClick,\n\t\t};\n\t\t/* eslint-enable react/prop-types */\n\n\t\tif (\n\t\t\tthis.props[iconPositionProp] &&\n\t\t\tposition &&\n\t\t\tthis.props[iconPositionProp]\n\t\t) {\n\t\t\ticon = React.cloneElement(this.props[iconPositionProp], {\n\t\t\t\ticonPosition: `${position}`,\n\t\t\t});\n\t\t} else if (deprecatedProps.name) {\n\t\t\ticon = <InputIcon iconPosition={position} {...deprecatedProps} />;\n\t\t}\n\n\t\treturn icon;\n\t};\n\n\tsetInputRef = (ref) => {\n\t\tthis.inputRef = ref;\n\t\tif (this.props.inputRef) {\n\t\t\tthis.props.inputRef(ref);\n\t\t}\n\t};\n\n\thandleChange = (event) => {\n\t\tif (this.props.onChange) {\n\t\t\tconst data = {\n\t\t\t\tvalue: event.target.value,\n\t\t\t};\n\n\t\t\tif (this.props.variant === COUNTER) {\n\t\t\t\tdata.number = Number(data.value);\n\t\t\t}\n\n\t\t\tthis.props.onChange(event, data);\n\t\t}\n\t};\n\n\tperformStep = (direction, event) => {\n\t\tclearTimeout(this.stepping.timeout);\n\n\t\tconst { maxValue } = this.props;\n\t\tconst { minValue } = this.props;\n\t\tconst step = this.props.step !== undefined ? Number(this.props.step) : 1;\n\t\tlet value = this.getValueAsNumber();\n\t\tlet valueChanged = false;\n\n\t\tif (direction === DECREMENT && maxValue !== undefined && value > maxValue) {\n\t\t\tvalue = Number(maxValue);\n\t\t\tvalueChanged = true;\n\t\t} else if (\n\t\t\tdirection === INCREMENT &&\n\t\t\tminValue !== undefined &&\n\t\t\tvalue < minValue\n\t\t) {\n\t\t\tvalue = Number(minValue);\n\t\t\tvalueChanged = true;\n\t\t} else {\n\t\t\tconst decimalPlaces =\n\t\t\t\tString(step).search(/\\./) >= 0 ? String(step).split('.')[1].length : 0;\n\t\t\tlet minOverflow = 0;\n\n\t\t\tif (minValue !== undefined) {\n\t\t\t\tminOverflow = (value - minValue) % step;\n\t\t\t}\n\n\t\t\tif (minOverflow > 0) {\n\t\t\t\t// Default browser inputs of type number with a min attribute alter the value upon change as needed so\n\t\t\t\t// that with enough decrements it can reach the exact min value. This behavior is reflected here\n\t\t\t\tvalue =\n\t\t\t\t\tdirection === DECREMENT\n\t\t\t\t\t\t? value - minOverflow\n\t\t\t\t\t\t: value + (step - minOverflow);\n\t\t\t} else {\n\t\t\t\tvalue = direction === DECREMENT ? value - step : value + step;\n\t\t\t}\n\n\t\t\tvalue = Number(value.toFixed(decimalPlaces));\n\n\t\t\tif (\n\t\t\t\t!(maxValue !== undefined && value > maxValue) &&\n\t\t\t\t!(minValue !== undefined && value < minValue)\n\t\t\t) {\n\t\t\t\tvalueChanged = true;\n\t\t\t}\n\t\t}\n\n\t\tif (valueChanged) {\n\t\t\t/*\n\t\t\t * Use of `this.forceUpdate` is an anti-pattern. This code only executes if this `input` element is uncontrolled which this library believes is an anti-pattern, also. This code is only present to allow for the edge case of uncontrolled use of an `input`.\n\t\t\t */\n\t\t\tif (this.props.value === undefined && this.inputRef) {\n\t\t\t\tthis.inputRef.value = String(value);\n\t\t\t\tthis.forceUpdate();\n\t\t\t} else if (this.props.onChange) {\n\t\t\t\tthis.props.onChange(event, {\n\t\t\t\t\tnumber: value,\n\t\t\t\t\tvalue: String(value),\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\n\t\tif (\n\t\t\t(direction === INCREMENT &&\n\t\t\t\tmaxValue !== undefined &&\n\t\t\t\tvalue >= maxValue) ||\n\t\t\t(direction === DECREMENT && minValue !== undefined && value <= minValue)\n\t\t) {\n\t\t\tthis.stopStepping();\n\t\t} else {\n\t\t\tthis.stepping.timeout = setTimeout(() => {\n\t\t\t\tthis.stepping.currentDelay = this.stepping.speedDelay;\n\t\t\t\tthis.performStep(direction);\n\t\t\t}, this.stepping.currentDelay);\n\t\t}\n\t};\n\n\tstopStepping = () => {\n\t\tclearTimeout(this.stepping.timeout);\n\t\tthis.stepping.currentDelay = this.stepping.initialDelay;\n\t};\n\n\trender() {\n\t\tconst assistiveText = {\n\t\t\t...defaultProps.assistiveText,\n\t\t\t...this.props.assistiveText,\n\t\t};\n\t\tconst inputRef =\n\t\t\tthis.props.variant === COUNTER ? this.setInputRef : this.props.inputRef;\n\t\tlet iconLeft = null;\n\t\tlet iconRight = null;\n\n\t\tconst hasRenderedLabel =\n\t\t\tthis.props.label || (assistiveText && assistiveText.label);\n\n\t\t// Remove at next breaking change\n\t\t// this is a hack to make left the default prop unless overwritten by `iconPosition=\"right\"`\n\t\tif (\n\t\t\t!!this.props.iconLeft ||\n\t\t\t((this.props.iconPosition === 'left' ||\n\t\t\t\tthis.props.iconPosition === undefined) &&\n\t\t\t\t!!this.props.iconName)\n\t\t) {\n\t\t\ticonLeft = this.getIconRender('left', 'iconLeft');\n\t\t} else if (\n\t\t\tthis.props.variant === COUNTER &&\n\t\t\t!this.props.isStatic &&\n\t\t\t!this.props.readOnly\n\t\t) {\n\t\t\ticonLeft = this.getCounterButtonIcon(DECREMENT);\n\t\t}\n\n\t\tif (\n\t\t\t!!this.props.iconRight ||\n\t\t\t(this.props.iconPosition === 'right' && !!this.props.iconName)\n\t\t) {\n\t\t\ticonRight = this.getIconRender('right', 'iconRight');\n\t\t} else if (\n\t\t\tthis.props.variant === COUNTER &&\n\t\t\t!this.props.isStatic &&\n\t\t\t!this.props.readOnly\n\t\t) {\n\t\t\ticonRight = this.getCounterButtonIcon(INCREMENT);\n\t\t}\n\n\t\treturn (\n\t\t\t<div\n\t\t\t\tclassName={classNames(\n\t\t\t\t\t'slds-form-element',\n\t\t\t\t\t{\n\t\t\t\t\t\t'slds-has-error': this.props.errorText,\n\t\t\t\t\t},\n\t\t\t\t\tthis.props.className\n\t\t\t\t)}\n\t\t\t\tstyle={this.props.styleContainer}\n\t\t\t>\n\t\t\t\t<Label\n\t\t\t\t\tassistiveText={assistiveText}\n\t\t\t\t\thtmlFor={this.props.isStatic ? undefined : this.getId()}\n\t\t\t\t\tlabel={this.props.label}\n\t\t\t\t\trequired={this.props.required}\n\t\t\t\t\tvariant={this.props.isStatic ? 'static' : 'base'}\n\t\t\t\t/>\n\t\t\t\t{this.props.fieldLevelHelpTooltip && hasRenderedLabel ? (\n\t\t\t\t\t<FieldLevelHelpTooltip\n\t\t\t\t\t\tassistiveText={{\n\t\t\t\t\t\t\ttriggerLearnMoreIcon: assistiveText.fieldLevelHelpButton,\n\t\t\t\t\t\t}}\n\t\t\t\t\t\tfieldLevelHelpTooltip={this.props.fieldLevelHelpTooltip}\n\t\t\t\t\t/>\n\t\t\t\t) : null}\n\t\t\t\t<InnerInput\n\t\t\t\t\taria-activedescendant={this.props['aria-activedescendant']}\n\t\t\t\t\taria-autocomplete={this.props['aria-autocomplete']}\n\t\t\t\t\taria-controls={this.props['aria-controls']}\n\t\t\t\t\taria-labelledby={this.props['aria-labelledby']}\n\t\t\t\t\taria-describedby={this.getErrorId()}\n\t\t\t\t\taria-expanded={this.props['aria-expanded']}\n\t\t\t\t\taria-owns={this.props['aria-owns']}\n\t\t\t\t\taria-required={this.props['aria-required']}\n\t\t\t\t\tautoComplete={this.props.autoComplete}\n\t\t\t\t\tclassName={classNames({\n\t\t\t\t\t\t'slds-input_counter': this.props.variant === COUNTER,\n\t\t\t\t\t\t'slds-p-horizontal_none':\n\t\t\t\t\t\t\tthis.props.variant === COUNTER && this.props.readOnly,\n\t\t\t\t\t})}\n\t\t\t\t\tcontainerProps={{\n\t\t\t\t\t\tclassName: 'slds-form-element__control',\n\t\t\t\t\t}}\n\t\t\t\t\tdefaultValue={this.props.defaultValue}\n\t\t\t\t\tdisabled={this.props.disabled}\n\t\t\t\t\tfixedTextLeft={this.props.fixedTextLeft}\n\t\t\t\t\tfixedTextRight={this.props.fixedTextRight}\n\t\t\t\t\thasSpinner={this.props.hasSpinner}\n\t\t\t\t\tid={this.getId()}\n\t\t\t\t\ticonLeft={iconLeft}\n\t\t\t\t\ticonRight={iconRight}\n\t\t\t\t\tinlineEditTrigger={this.props.inlineEditTrigger}\n\t\t\t\t\tisStatic={this.props.isStatic}\n\t\t\t\t\tminLength={this.props.minLength}\n\t\t\t\t\tminValue={this.props.minValue}\n\t\t\t\t\tmaxLength={this.props.maxLength}\n\t\t\t\t\tmaxValue={this.props.maxValue}\n\t\t\t\t\tname={this.props.name}\n\t\t\t\t\tonBlur={this.props.onBlur}\n\t\t\t\t\tonChange={this.handleChange}\n\t\t\t\t\tonClick={this.props.onClick}\n\t\t\t\t\tonFocus={this.props.onFocus}\n\t\t\t\t\tonInput={this.props.onInput}\n\t\t\t\t\tonInvalid={this.props.onInvalid}\n\t\t\t\t\tonKeyDown={this.props.onKeyDown}\n\t\t\t\t\tonKeyPress={this.props.onKeyPress}\n\t\t\t\t\tonKeyUp={this.props.onKeyUp}\n\t\t\t\t\tonSelect={this.props.onSelect}\n\t\t\t\t\tonSubmit={this.props.onSubmit}\n\t\t\t\t\tplaceholder={this.props.placeholder}\n\t\t\t\t\tinputRef={inputRef}\n\t\t\t\t\treadOnly={this.props.readOnly}\n\t\t\t\t\trequired={this.props.required}\n\t\t\t\t\trole={this.props.role}\n\t\t\t\t\tassistiveText={this.props.assistiveText}\n\t\t\t\t\ttype={this.props.variant === COUNTER ? 'number' : this.props.type}\n\t\t\t\t\tvalue={this.props.value}\n\t\t\t\t\tvariant={this.props.variant}\n\t\t\t\t\tstep={this.props.step}\n\t\t\t\t\tstyle={this.props.styleInput}\n\t\t\t\t/>\n\t\t\t\t{this.props.inlineHelpText && (\n\t\t\t\t\t<div className=\"slds-form-element__help\">\n\t\t\t\t\t\t{this.props.inlineHelpText}\n\t\t\t\t\t</div>\n\t\t\t\t)}\n\t\t\t\t{this.props.errorText && (\n\t\t\t\t\t<div id={this.getErrorId()} className=\"slds-form-element__help\">\n\t\t\t\t\t\t{this.props.errorText}\n\t\t\t\t\t</div>\n\t\t\t\t)}\n\t\t\t\t{this.props.children}\n\t\t\t</div>\n\t\t);\n\t}\n}\n\nexport default Input;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// ### React\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\nimport Input from '../input';\nimport InputIcon from '../icon/input-icon';\n\nimport { CARD_FILTER } from '../../utilities/constants';\n\n/**\n * A default filter or search input for Cards that contain items.\n */\nconst Filter = (props) => {\n\tconst { id, placeholder, onChange, ...rest } = props;\n\n\treturn (\n\t\t<Input\n\t\t\t{...rest}\n\t\t\tassistiveText={{ label: placeholder }}\n\t\t\ticonLeft={<InputIcon name=\"search\" category=\"utility\" />}\n\t\t\tid={id}\n\t\t\tonChange={onChange}\n\t\t\tplaceholder={placeholder}\n\t\t/>\n\t);\n};\n\n// ### Display Name\n// Always use the canonical component name as the React display name.\nFilter.displayName = CARD_FILTER;\n\n// ### Prop Types\nFilter.propTypes = {\n\t/**\n\t * The HTML `id` from the card with a suffixe.\n\t */\n\tid: PropTypes.string,\n\t/**\n\t * This callback fires when the input changes.\n\t */\n\tonChange: PropTypes.func,\n\t/**\n\t * Text present in input until the user enters text. This text will also be used for a visually hidden label on the filter `input` element for accessibility.\n\t */\n\tplaceholder: PropTypes.string.isRequired,\n};\n\nFilter.defaultProps = {\n\tplaceholder: 'Find in List',\n};\n\nexport default Filter;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// ### React\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\n// ### classNames\n// [github.com/JedWatson/classnames](https://github.com/JedWatson/classnames)\n// This project uses `classnames`, \"a simple javascript utility for conditionally\n// joining classNames together.\"\nimport classnames from 'classnames';\n\nimport { CAROUSEL_INDICATORS } from '../../../utilities/constants';\n\n/**\n * CarouselIndicators is used to display the list of indicators associated to the number of panels\n * a carousel has\n */\nclass CarouselIndicators extends React.Component {\n\tcomponentDidUpdate() {\n\t\tif (this.props.hasFocus && this[`indicator${this.props.currentIndex}`]) {\n\t\t\tthis[`indicator${this.props.currentIndex}`].focus();\n\t\t}\n\t}\n\n\tonFocus = (event) => {\n\t\tthis[`indicator${this.props.currentIndex}`].focus();\n\t\tif (this.props.onFocus) {\n\t\t\tthis.props.onFocus(event);\n\t\t}\n\t};\n\n\trender() {\n\t\tconst { props } = this;\n\n\t\treturn (\n\t\t\t<ul\n\t\t\t\tclassName=\"slds-carousel__indicators slds-col slds-text-align_center\"\n\t\t\t\trole=\"tablist\"\n\t\t\t>\n\t\t\t\t{[...Array(props.noOfIndicators).keys()].map((index) => {\n\t\t\t\t\tconst isSelectedPanel = index === props.currentIndex;\n\t\t\t\t\tconst indicatorActionClassName = classnames(\n\t\t\t\t\t\t'slds-carousel__indicator-action',\n\t\t\t\t\t\tprops.className,\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t'slds-is-active': isSelectedPanel,\n\t\t\t\t\t\t}\n\t\t\t\t\t);\n\t\t\t\t\tlet assistiveText = `${index}`;\n\t\t\t\t\tlet title = `${index}`;\n\t\t\t\t\tlet id = '';\n\n\t\t\t\t\tif (props.items && props.items.length > 0) {\n\t\t\t\t\t\t// eslint-disable-next-line prefer-destructuring\n\t\t\t\t\t\tid = props.items[index].id;\n\n\t\t\t\t\t\tconst startItemIndex = index * props.itemsPerPanel;\n\t\t\t\t\t\tlet autoIndicatorText = '';\n\n\t\t\t\t\t\t// eslint-disable-next-line fp/no-loops\n\t\t\t\t\t\tfor (\n\t\t\t\t\t\t\tlet i = startItemIndex;\n\t\t\t\t\t\t\ti < startItemIndex + props.itemsPerPanel;\n\t\t\t\t\t\t\ti += 1\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\tif (props.items[i] && props.items[i].heading) {\n\t\t\t\t\t\t\t\tautoIndicatorText = !autoIndicatorText\n\t\t\t\t\t\t\t\t\t? ''\n\t\t\t\t\t\t\t\t\t: `${autoIndicatorText}, `;\n\t\t\t\t\t\t\t\tautoIndicatorText += props.items[i].heading;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif (autoIndicatorText) {\n\t\t\t\t\t\t\tassistiveText = autoIndicatorText;\n\t\t\t\t\t\t\ttitle = autoIndicatorText;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<li\n\t\t\t\t\t\t\tclassName=\"slds-carousel__indicator slds-m-horizontal_xx-small\"\n\t\t\t\t\t\t\tkey={index}\n\t\t\t\t\t\t\trole=\"presentation\"\n\t\t\t\t\t\t\tstyle={{ margin: 0, padding: '0 5px' }}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<a\n\t\t\t\t\t\t\t\tref={(component) => {\n\t\t\t\t\t\t\t\t\tthis[`indicator${index}`] = component;\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\tid={`indicator-id-${props.carouselId}-${index}`}\n\t\t\t\t\t\t\t\tclassName={indicatorActionClassName}\n\t\t\t\t\t\t\t\trole=\"tab\"\n\t\t\t\t\t\t\t\ttabIndex={isSelectedPanel ? '0' : '-1'}\n\t\t\t\t\t\t\t\taria-selected={isSelectedPanel}\n\t\t\t\t\t\t\t\taria-controls={props.getPanelId({\n\t\t\t\t\t\t\t\t\tcarouselId: props.carouselId,\n\t\t\t\t\t\t\t\t\titemId: id,\n\t\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t\t\ttitle={title}\n\t\t\t\t\t\t\t\tonBlur={props.onBlur}\n\t\t\t\t\t\t\t\tonClick={(event) => props.onClick(event, index)}\n\t\t\t\t\t\t\t\tonFocus={this.onFocus}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<span className=\"slds-assistive-text\">{assistiveText}</span>\n\t\t\t\t\t\t\t</a>\n\t\t\t\t\t\t</li>\n\t\t\t\t\t);\n\t\t\t\t})}\n\t\t\t</ul>\n\t\t);\n\t}\n}\n\nCarouselIndicators.displayName = CAROUSEL_INDICATORS;\n\nCarouselIndicators.defaultProps = {\n\tcurrentIndex: 0,\n};\n\n// ### Prop Types\nCarouselIndicators.propTypes = {\n\t/**\n\t * Carousel HTML ID\n\t */\n\tcarouselId: PropTypes.string,\n\t/**\n\t * CSS classes that are applied to the component\n\t */\n\tclassName: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\t/**\n\t * Selected indicator\n\t */\n\tcurrentIndex: PropTypes.number,\n\t/**\n\t * Passed from carousel parent state, dictates if indicator currently has focus\n\t */\n\thasFocus: PropTypes.bool,\n\t/**\n\t * Array of objects with shape, needed for building a carousel items\n\t */\n\titems: PropTypes.array,\n\t/**\n\t * Number of items to be displayed at a time in the carousel\n\t */\n\titemsPerPanel: PropTypes.number,\n\t/**\n\t * Number of indicators to be displayed (corresponds to the number of panels in the carousel)\n\t */\n\tnoOfIndicators: PropTypes.number.isRequired,\n\t/**\n\t * Fires on indicator blur, allows parent carousel to adjust indicatorsHaveFocus state accordingly\n\t */\n\tonBlur: PropTypes.func,\n\t/**\n\t * Triggered when the indicator is clicked.\n\t */\n\tonClick: PropTypes.func,\n\t/**\n\t * Fires on indicator focus, allows parent carousel to adjust indicatorsHaveFocus state accordingly\n\t */\n\tonFocus: PropTypes.func,\n};\n\nexport default CarouselIndicators;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// ### React\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\nimport Button from '../../../components/button';\nimport { CAROUSEL_NAVIGATORS } from '../../../utilities/constants';\n\n/**\n * previousNextCarouselNavigator is used to display previous/next navigation items of the carousel\n */\nconst previousNextCarouselNavigator = (props) => (\n\t<div\n\t\tclassName=\"slds-carousel__col-center slds-is-absolute\"\n\t\tstyle={{ ...props.inlineStyle, margin: '-12px 0 0', top: '50%' }}\n\t>\n\t\t<Button\n\t\t\tassistiveText={{ icon: props.assistiveText }}\n\t\t\tclassName=\"slds-button_icon slds-carousel__button\"\n\t\t\tdisabled={props.isDisabled}\n\t\t\ticonCategory=\"utility\"\n\t\t\ticonName={props.iconName}\n\t\t\ticonVariant=\"border-filled\"\n\t\t\ticonSize=\"small\"\n\t\t\tonClick={props.onClick}\n\t\t\tvariant=\"icon\"\n\t\t/>\n\t</div>\n);\n// /assets/icons/utility-sprite/svg/symbols.svg#right\npreviousNextCarouselNavigator.displayName = CAROUSEL_NAVIGATORS;\n\n// ### Prop Types\npreviousNextCarouselNavigator.propTypes = {\n\t/**\n\t * Description of the previous/next navigation icons for screen-readers.\n\t */\n\tassistiveText: PropTypes.string,\n\t/**\n\t * Name of icon displayed within the navigation button\n\t */\n\ticonName: PropTypes.oneOf(['chevronleft', 'chevronright']),\n\t/**\n\t * Determines where the navigator indicator has been disabled\n\t */\n\tisDisabled: PropTypes.bool,\n\t/**\n\t * Additional styles to be applied to the container\n\t */\n\tinlineStyle: PropTypes.object,\n\t/**\n\t * Triggered when the indicator is clicked.\n\t */\n\tonClick: PropTypes.func,\n};\n\nexport default previousNextCarouselNavigator;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// # CarouselItem Component\n\n// Implements the [CarouselItem design pattern](https://www.lightningdesignsystem.com/components/carousel/) in React.\n\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\nimport Button from '../../button';\n\nimport { CAROUSEL_ITEM } from '../../../utilities/constants';\n\n/**\n * A carousel allows multiple pieces of featured content to occupy an allocated amount of space.\n */\nconst CarouselItem = (props) => (\n\t<div\n\t\tid={props.getPanelId({ carouselId: props.carouselId, itemId: props.id })}\n\t\tclassName=\"slds-carousel__panel slds-m-horizontal_xx-small slds-list_horizontal\"\n\t\trole=\"tabpanel\"\n\t\taria-hidden=\"false\"\n\t\taria-labelledby={`indicator-id-${props.carouselId}-${props.panelIndex}`}\n\t\tstyle={{\n\t\t\tmargin: 0,\n\t\t\tmaxWidth: `${props.itemWidth}px`,\n\t\t\tpadding: '0 6px',\n\t\t}}\n\t>\n\t\t{props.onRenderItem ? (\n\t\t\tprops.onRenderItem({ item: props })\n\t\t) : (\n\t\t\t<a\n\t\t\t\tclassName=\"slds-carousel__panel-action slds-text-link_reset\"\n\t\t\t\thref={props.href}\n\t\t\t\tonClick={props.onClick}\n\t\t\t\tonFocus={props.onFocus}\n\t\t\t\tstyle={{\n\t\t\t\t\tbackgroundColor: 'white',\n\t\t\t\t\twidth: '100%',\n\t\t\t\t}}\n\t\t\t\ttabIndex={props.isInCurrentPanel ? '0' : '-1'}\n\t\t\t>\n\t\t\t\t<div className=\"slds-carousel__image\">\n\t\t\t\t\t<img\n\t\t\t\t\t\tsrc={props.src}\n\t\t\t\t\t\talt={props.imageAssistiveText || props.heading}\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t\t<div className=\"slds-carousel__content\" style={{ height: 'auto' }}>\n\t\t\t\t\t<h2 className=\"slds-carousel__content-title\">{props.heading}</h2>\n\t\t\t\t\t<div\n\t\t\t\t\t\tclassName=\"slds-p-bottom_x-small slds-text-body_small\"\n\t\t\t\t\t\tstyle={{ minHeight: '40px' }}\n\t\t\t\t\t>\n\t\t\t\t\t\t{props.description}\n\t\t\t\t\t</div>\n\t\t\t\t\t{props.buttonLabel && (\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tlabel={props.buttonLabel}\n\t\t\t\t\t\t\ttabIndex={props.isInCurrentPanel ? '0' : '-1'}\n\t\t\t\t\t\t\tvariant=\"neutral\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t)}\n\t\t\t\t</div>\n\t\t\t</a>\n\t\t)}\n\t</div>\n);\n\nCarouselItem.displayName = CAROUSEL_ITEM;\n\nCarouselItem.propTypes = {\n\t/**\n\t * Label of the button to be displayed. If not provided, no button will be rendered.\n\t */\n\tbuttonLabel: PropTypes.string,\n\t/**\n\t * Carousel HTML ID\n\t */\n\tcarouselId: PropTypes.string,\n\t/**\n\t * CSS classes that are applied to the component\n\t */\n\tclassName: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\t/**\n\t * Visible paragraph text to be displayed on the carousel item\n\t */\n\tdescription: PropTypes.oneOfType([PropTypes.string, PropTypes.node]),\n\t/**\n\t * Carousel Item's visible heading\n\t */\n\theading: PropTypes.oneOfType([PropTypes.string, PropTypes.object]).isRequired,\n\thref: PropTypes.string,\n\t/**\n\t * Id of the item component.\n\t */\n\tid: PropTypes.number.isRequired,\n\t/**\n\t * Image alt text\n\t */\n\timageAssistiveText: PropTypes.string,\n\t/**\n\t * Boolean indicating whether this item is currently visible in the active parent carousel panel\n\t */\n\tisInCurrentPanel: PropTypes.bool,\n\t/**\n\t * Width of the carousel item\n\t */\n\titemWidth: PropTypes.number,\n\t/**\n\t * Accepts a callback to handle when the a tag is focused on\n\t */\n\tonFocus: PropTypes.func,\n\t/**\n\t * Accepts a custom carousel item rendering function\n\t */\n\tonRenderItem: PropTypes.func,\n\t/**\n\t * Index of the panel this item belongs to, to be used when associating it to an indicator\n\t */\n\tpanelIndex: PropTypes.number,\n\t/**\n\t * Path of the image to be used\n\t */\n\tsrc: PropTypes.string.isRequired,\n};\n\nCarouselItem.defaultProps = {\n\thref: 'javascript:void(0);',\n};\n\nexport default CarouselItem;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// ### React\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport Button from '../../../components/button';\nimport { CAROUSEL_AUTOPLAY_BUTTON } from '../../../utilities/constants';\n\n/**\n * AutoplayButton is used to start/pause the autoplay iteration of the carousel\n */\nconst AutoplayButton = (props) => (\n\t<span className=\"slds-carousel__autoplay\" style={{ left: '66px' }}>\n\t\t<Button\n\t\t\tassistiveText={{ icon: props.assistiveText }}\n\t\t\tclassName=\"slds-button_icon\"\n\t\t\tdisabled={props.isDisabled}\n\t\t\ticonCategory=\"utility\"\n\t\t\ticonName={props.isAutoplayOn ? 'pause' : 'play'}\n\t\t\ticonVariant=\"border-filled\"\n\t\t\ticonSize=\"x-small\"\n\t\t\tonClick={props.onClick}\n\t\t\tvariant=\"icon\"\n\t\t/>\n\t</span>\n);\nAutoplayButton.displayName = CAROUSEL_AUTOPLAY_BUTTON;\n\n// ### Prop Types\nAutoplayButton.propTypes = {\n\t/**\n\t * Description of the start/pause autoplay button for screen-readers.\n\t */\n\tassistiveText: PropTypes.string,\n\t/**\n\t * Indicates whether autoplay is enabled\n\t */\n\tisAutoplayOn: PropTypes.bool,\n\t/**\n\t * Triggered when the autoplay button is clicked.\n\t */\n\tonClick: PropTypes.func,\n};\n\nAutoplayButton.defaultProps = {\n\tisAutoplayOn: false,\n};\n\nexport default AutoplayButton;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// # Carousel Component\n\n// Implements the [Carousel design pattern](https://www.lightningdesignsystem.com/components/carousel/) in React.\n\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport classnames from 'classnames';\n\n// ### shortid\n// [npmjs.com/package/shortid](https://www.npmjs.com/package/shortid)\n// shortid is a short, non-sequential, url-friendly, unique id generator\nimport shortid from 'shortid';\n\nimport { CAROUSEL } from '../../utilities/constants';\n\nimport {\n\tcanUseDOM,\n\tcanUseEventListeners,\n} from '../../utilities/execution-environment';\n\nimport CarouselIndicators from './private/carousel-indicators';\nimport PreviousNextCarouselNavigator from './private/previous-next-carousel-navigator';\nimport CarouselItem from './private/carousel-item';\nimport AutoplayButton from './private/auto-play-button';\n\n// ### Event Helpers\nimport KEYS from '../../utilities/key-code';\nimport EventUtil from '../../utilities/event';\n\n/* eslint-disable jsx-a11y/no-static-element-interactions */\n\n// ### Default Props\nconst defaultProps = {\n\tassistiveText: {\n\t\tautoplayButton: 'Start / Stop auto-play',\n\t\tnextPanel: 'Next Panel',\n\t\tpreviousPanel: 'Previous Panel',\n\t},\n\tautoplayInterval: 4000,\n\thasAutoplay: false,\n\thasPreviousNextPanelNavigation: false,\n\tisInfinite: false,\n\titemsPerPanel: 1,\n};\n\n/**\n * A carousel allows multiple pieces of featured content to occupy an allocated amount of space.\n * Currently panel index and auto play cannot be controlled by the app.\n */\nclass Carousel extends React.Component {\n\t// ### Display Name\n\t// Always use the canonical component name as the React display name.\n\tstatic displayName = CAROUSEL;\n\n\t// ### Prop Types\n\tstatic propTypes = {\n\t\t/**\n\t\t * Description of the carousel items for screen-readers.\n\t\t */\n\t\tassistiveText: PropTypes.object,\n\t\t/**\n\t\t * Interval for the autoplay iteration\n\t\t */\n\t\tautoplayInterval: PropTypes.number,\n\t\t/**\n\t\t * CSS classes that are applied to the main 'slds-carousel' classed component container\n\t\t */\n\t\tclassName: PropTypes.oneOfType([\n\t\t\tPropTypes.array,\n\t\t\tPropTypes.object,\n\t\t\tPropTypes.string,\n\t\t]),\n\t\t/**\n\t\t * Dictates the currently active/visible carousel panel. Use with `onRequestPanelChange` for a controlled carousel component. If not provided, the carousel will manage this itself via state.\n\t\t */\n\t\tcurrentPanel: PropTypes.number,\n\t\t/**\n\t\t * Boolean showing whether the autoplay button is available or not\n\t\t */\n\t\thasAutoplay: PropTypes.bool,\n\t\t/**\n\t\t * Boolean for displaying the navigation indicators (left/right arrows) of the carousel\n\t\t */\n\t\thasPreviousNextPanelNavigation: PropTypes.bool,\n\t\t/**\n\t\t * Id of component, if desired. If not provided an id is automatically generated\n\t\t */\n\t\tid: PropTypes.string,\n\t\t/**\n\t\t * Boolean that dictates whether autoplay is active or not. Use with `onRequestAutoplayToggle` for a controlled carousel component.\n\t\t */\n\t\tisAutoplayOn: PropTypes.bool,\n\t\t/**\n\t\t * Boolean for infinite loop navigation. Note: if not true autoplay will stop automatically at the last panel.\n\t\t */\n\t\tisInfinite: PropTypes.bool,\n\t\t/**\n\t\t * * **Array of item objects used by the default carousel item renderer.**\n\t\t * Each object can contain:\n\t\t * * `id`: The id of the carousel item. [REQUIRED]\n\t\t * * `heading`: Primary string that will be used as the heading\n\t\t * * `description`: Secondary string that is used to describe the item\n\t\t * * `buttonLabel`: If assigned a call to button action will be rendered with this text, if unassigned no button is rendered\n\t\t * * `imageAssistiveText`: Image alt text, if not present heading will be used instead\n\t\t * * `href`: Used for item link, if not provided 'javascript:void(0);' is used instead\n\t\t * * `src`: Item image src value\n\t\t */\n\t\titems: PropTypes.array.isRequired,\n\t\t/**\n\t\t * Number of items to be displayed at a time in the carousel\n\t\t */\n\t\titemsPerPanel: PropTypes.number,\n\t\t/**\n\t\t * Accepts a custom carousel item rendering function\n\t\t */\n\t\tonRenderItem: PropTypes.func,\n\t\t/**\n\t\t * Called whenever `isAutoplayOn` is requested to be toggled on or off. Use with `isAutoplayOn` prop for a controlled carousel component. Passes an event object and a data object with the current `isAutoplayOn` value as an attribute.\n\t\t */\n\t\tonRequestAutoplayToggle: PropTypes.func,\n\t\t/**\n\t\t * Called whenever the panel is requested to change due to user interaction or auto-play. Use with `currentPanel` for a controlled carousel component. Passes an event object and a data object with `currentPanel` and `requestedPanel` attributes.\n\t\t */\n\t\tonRequestPanelChange: PropTypes.func,\n\t\t/**\n\t\t * Handler for clicking on a carousel item\n\t\t */\n\t\tonItemClick: PropTypes.func,\n\t};\n\n\t// ### Default Props\n\tstatic defaultProps = defaultProps;\n\n\tconstructor(props) {\n\t\tsuper(props);\n\n\t\tthis.nrOfPanels = Math.ceil(props.items.length / props.itemsPerPanel);\n\t\tthis.stageItem = React.createRef();\n\n\t\tthis.state = {\n\t\t\tcurrentPanel: props.currentPanel !== undefined ? props.currentPanel : 0,\n\t\t\tindicatorsHaveFocus: false,\n\t\t\tisAutoplayOn:\n\t\t\t\tprops.isAutoplayOn !== undefined\n\t\t\t\t\t? props.isAutoplayOn\n\t\t\t\t\t: props.hasAutoplay,\n\t\t\tstageWidth: 0,\n\t\t\ttranslateX: -1000000,\n\t\t};\n\n\t\tthis.generatedId = shortid.generate();\n\t}\n\n\tcomponentDidMount() {\n\t\tif (\n\t\t\tcanUseDOM &&\n\t\t\tthis.stageItem !== undefined &&\n\t\t\tthis.stageItem.current !== undefined &&\n\t\t\tthis.stageItem.current.offsetWidth !== undefined\n\t\t) {\n\t\t\tthis.stageWidth = this.stageItem.current.offsetWidth;\n\t\t}\n\n\t\tif (canUseEventListeners) {\n\t\t\twindow.addEventListener('resize', this.setDimensions, false);\n\t\t}\n\n\t\tthis.changeTranslationAutomatically();\n\n\t\tif (this.getIsAutoplayOn()) {\n\t\t\tthis.startAutoplay({ mountAutoplayEvent: true });\n\t\t}\n\t}\n\n\tcomponentDidUpdate(prevProps) {\n\t\tif (\n\t\t\tthis.props.currentPanel !== undefined &&\n\t\t\tprevProps.currentPanel !== this.props.currentPanel\n\t\t) {\n\t\t\tthis.changeTranslationAutomatically();\n\t\t}\n\t\tif (\n\t\t\tthis.props.isAutoplayOn !== undefined &&\n\t\t\tprevProps.isAutoplayOn !== this.props.isAutoplayOn\n\t\t) {\n\t\t\tif (this.props.isAutoplayOn) {\n\t\t\t\tthis.startAutoplay({ updateAutoplayEvent: true });\n\t\t\t} else {\n\t\t\t\tthis.stopAutoplay({ updateAutoplayEvent: true }, true);\n\t\t\t}\n\t\t}\n\t\tif (\n\t\t\tprevProps.items.length !== this.props.items.length ||\n\t\t\tprevProps.itemsPerPanel !== this.props.itemsPerPanel\n\t\t) {\n\t\t\tthis.nrOfPanels = Math.ceil(\n\t\t\t\tthis.props.items.length / this.props.itemsPerPanel\n\t\t\t);\n\t\t}\n\t}\n\n\tcomponentWillUnmount() {\n\t\tif (canUseEventListeners) {\n\t\t\twindow.removeEventListener('resize', this.setDimensions, false);\n\t\t}\n\t\tthis.stopAutoplay({ unmountAutoplayEvent: true }, true);\n\t}\n\n\tonNextPanelHandler = (event) => {\n\t\tlet next = this.getCurrentPanel() + 1;\n\t\tif (next > this.nrOfPanels - 1) {\n\t\t\tnext = 0;\n\t\t}\n\t\tthis.setCurrentPanel(event, next, this.changeTranslationAutomatically);\n\t};\n\n\tonPreviousPanelHandler = (event) => {\n\t\tlet prev = this.getCurrentPanel() - 1;\n\t\tif (prev < 0) {\n\t\t\tprev = this.nrOfPanels - 1;\n\t\t}\n\t\tthis.setCurrentPanel(event, prev, this.changeTranslationAutomatically);\n\t};\n\n\tonIndicatorBlur = () => {\n\t\tthis.setState({ indicatorsHaveFocus: false });\n\t};\n\n\tonIndicatorClickHandler = (event, panel) => {\n\t\tthis.setCurrentPanel(event, panel, this.changeTranslationAutomatically);\n\t\tthis.setState({ indicatorsHaveFocus: true });\n\t\tif (this.getIsAutoplayOn()) {\n\t\t\tthis.stopAutoplay(event);\n\t\t}\n\t};\n\n\tonIndicatorFocus = (event) => {\n\t\tthis.setState({ indicatorsHaveFocus: true });\n\t\tif (this.getIsAutoplayOn()) {\n\t\t\tthis.stopAutoplay(event);\n\t\t}\n\t};\n\n\tonAutoplayBtnClick = (event) => {\n\t\tconst isAutoplayOn = this.getIsAutoplayOn();\n\n\t\tif (this.props.onRequestAutoplayToggle) {\n\t\t\tthis.props.onRequestAutoplayToggle(event, { isAutoplayOn });\n\t\t} else {\n\t\t\tconst actionToTake = isAutoplayOn\n\t\t\t\t? this.stopAutoplay\n\t\t\t\t: this.startAutoplay;\n\n\t\t\tthis.setState({\n\t\t\t\tisAutoplayOn: !isAutoplayOn,\n\t\t\t});\n\t\t\tactionToTake(event);\n\t\t}\n\t};\n\n\tgetPanelId = ({ carouselId, itemId }) => `content-id-${carouselId}-${itemId}`;\n\n\tgetCurrentPanel() {\n\t\treturn this.props.currentPanel !== undefined\n\t\t\t? this.props.currentPanel\n\t\t\t: this.state.currentPanel;\n\t}\n\n\tgetIsAutoplayOn() {\n\t\treturn this.props.isAutoplayOn !== undefined\n\t\t\t? this.props.isAutoplayOn\n\t\t\t: this.state.isAutoplayOn;\n\t}\n\n\tsetDimensions = () => {\n\t\tif (\n\t\t\tcanUseDOM &&\n\t\t\tthis.stageItem !== undefined &&\n\t\t\tthis.stageItem.current !== undefined &&\n\t\t\tthis.stageItem.current.offsetWidth !== undefined\n\t\t) {\n\t\t\tthis.setState(\n\t\t\t\t{ stageWidth: this.stageItem.current.offsetWidth },\n\t\t\t\tthis.changeTranslationAutomatically\n\t\t\t);\n\t\t}\n\t};\n\n\tsetTranslationAmount = (amount, cb) => {\n\t\tthis.setState({ translateX: amount }, cb);\n\t};\n\n\tsetCurrentPanel = (event, amount, cb) => {\n\t\tif (this.props.onRequestPanelChange) {\n\t\t\tthis.props.onRequestPanelChange(event, {\n\t\t\t\tcurrentPanel: this.getCurrentPanel(),\n\t\t\t\trequestedPanel: amount,\n\t\t\t});\n\t\t} else {\n\t\t\tthis.setState({ currentPanel: amount }, cb);\n\t\t}\n\t};\n\n\tstartAutoplay = (event) => {\n\t\tthis.autoplayId = setInterval(() => {\n\t\t\tif (this.canGoToNext()) {\n\t\t\t\tthis.onNextPanelHandler(event);\n\t\t\t} else if (this.props.isInfinite) {\n\t\t\t\tthis.setCurrentPanel(event, 0, this.changeTranslationAutomatically);\n\t\t\t} else {\n\t\t\t\tthis.stopAutoplay(event);\n\t\t\t}\n\t\t}, this.props.autoplayInterval);\n\t};\n\n\tstopAutoplay = (event, ignoreCallbacksAndStateUpdates) => {\n\t\tif (this.autoplayId) {\n\t\t\tclearInterval(this.autoplayId);\n\t\t}\n\n\t\tif (!ignoreCallbacksAndStateUpdates) {\n\t\t\tif (this.props.onRequestAutoplayToggle) {\n\t\t\t\tthis.props.onRequestAutoplayToggle(event, {\n\t\t\t\t\tisAutoplayOn: this.getIsAutoplayOn(),\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\tthis.setState({ isAutoplayOn: false });\n\t\t\t}\n\t\t}\n\t};\n\n\tchangeTranslationAutomatically = () => {\n\t\tthis.setTranslationAmount(\n\t\t\t-((this.state.stageWidth || this.stageWidth) * this.getCurrentPanel())\n\t\t);\n\t};\n\n\tcanGoToNext = () => this.getCurrentPanel() < this.nrOfPanels - 1;\n\n\tcanGoToPrevious = () => this.getCurrentPanel() > 0;\n\n\thandleKeyDown = (event) => {\n\t\tconst keyDownCallbacks = {\n\t\t\t[KEYS.LEFT]: () => {\n\t\t\t\tif (this.props.isInfinite || this.canGoToPrevious()) {\n\t\t\t\t\tthis.onPreviousPanelHandler(event);\n\t\t\t\t\tthis.setState({ indicatorsHaveFocus: true });\n\t\t\t\t\tif (this.getIsAutoplayOn()) {\n\t\t\t\t\t\tthis.stopAutoplay(event);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t},\n\t\t\t[KEYS.RIGHT]: () => {\n\t\t\t\tif (this.props.isInfinite || this.canGoToNext()) {\n\t\t\t\t\tthis.onNextPanelHandler(event);\n\t\t\t\t\tthis.setState({ indicatorsHaveFocus: true });\n\t\t\t\t\tif (this.getIsAutoplayOn()) {\n\t\t\t\t\t\tthis.stopAutoplay(event);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t},\n\t\t};\n\n\t\tif (keyDownCallbacks[event.keyCode]) {\n\t\t\tEventUtil.trapImmediate(event);\n\t\t\tkeyDownCallbacks[event.keyCode]();\n\t\t}\n\t};\n\n\trender() {\n\t\tconst {\n\t\t\thasAutoplay,\n\t\t\thasPreviousNextPanelNavigation,\n\t\t\tisInfinite,\n\t\t} = this.props;\n\t\tconst currentPanel = this.getCurrentPanel();\n\t\tconst id = this.props.id || this.generatedId;\n\t\tconst isPreviousBtnDisabled = !(isInfinite || this.canGoToPrevious());\n\t\tconst isNextBtnDisabled = !(isInfinite || this.canGoToNext());\n\t\tconst itemWidth =\n\t\t\t(this.state.stageWidth || this.stageWidth) / this.props.itemsPerPanel;\n\t\tconst carouselMargins = hasPreviousNextPanelNavigation\n\t\t\t? { marginLeft: '44px', marginRight: '44px' }\n\t\t\t: {};\n\t\treturn (\n\t\t\t<div\n\t\t\t\tclassName={classnames('slds-carousel', this.props.className)}\n\t\t\t\tid={id}\n\t\t\t\tonKeyDown={this.handleKeyDown}\n\t\t\t>\n\t\t\t\t<div className=\"slds-grid_vertical slds-col slds-path__scroller\">\n\t\t\t\t\t{hasAutoplay && (\n\t\t\t\t\t\t<AutoplayButton\n\t\t\t\t\t\t\tassistiveText={this.props.assistiveText.autoplayButton}\n\t\t\t\t\t\t\tisAutoplayOn={this.getIsAutoplayOn()}\n\t\t\t\t\t\t\tonClick={this.onAutoplayBtnClick}\n\t\t\t\t\t\t/>\n\t\t\t\t\t)}\n\t\t\t\t\t<div className=\"slds-is-relative\" style={carouselMargins}>\n\t\t\t\t\t\t{hasPreviousNextPanelNavigation && (\n\t\t\t\t\t\t\t<PreviousNextCarouselNavigator\n\t\t\t\t\t\t\t\tassistiveText={this.props.assistiveText.previousPanel}\n\t\t\t\t\t\t\t\ticonName=\"chevronleft\"\n\t\t\t\t\t\t\t\tisDisabled={isPreviousBtnDisabled}\n\t\t\t\t\t\t\t\tonClick={(event) => {\n\t\t\t\t\t\t\t\t\tif (this.getIsAutoplayOn()) {\n\t\t\t\t\t\t\t\t\t\tthis.stopAutoplay(event);\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tthis.onPreviousPanelHandler(event);\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\tinlineStyle={{ left: '-38px' }}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t)}\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tref={this.stageItem}\n\t\t\t\t\t\t\tclassName=\"slds-carousel__stage slds-show\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\tclassName=\"slds-carousel__panels slds-is-relative\"\n\t\t\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\t\t\ttransform: `translateX(${this.state.translateX}px)`,\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{this.props.items.map((item, index) => (\n\t\t\t\t\t\t\t\t\t<CarouselItem\n\t\t\t\t\t\t\t\t\t\tcarouselId={id}\n\t\t\t\t\t\t\t\t\t\tgetPanelId={this.getPanelId}\n\t\t\t\t\t\t\t\t\t\tonClick={(event) => {\n\t\t\t\t\t\t\t\t\t\t\tthis.props.onItemClick(event, { item });\n\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\tonFocus={(event) => {\n\t\t\t\t\t\t\t\t\t\t\tif (this.getIsAutoplayOn()) {\n\t\t\t\t\t\t\t\t\t\t\t\tthis.stopAutoplay(event);\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\tonRenderItem={this.props.onRenderItem}\n\t\t\t\t\t\t\t\t\t\t{...item}\n\t\t\t\t\t\t\t\t\t\tisInCurrentPanel={\n\t\t\t\t\t\t\t\t\t\t\tindex >= currentPanel * this.props.itemsPerPanel &&\n\t\t\t\t\t\t\t\t\t\t\tindex <\n\t\t\t\t\t\t\t\t\t\t\t\tcurrentPanel * this.props.itemsPerPanel +\n\t\t\t\t\t\t\t\t\t\t\t\t\tthis.props.itemsPerPanel\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\titemWidth={itemWidth}\n\t\t\t\t\t\t\t\t\t\tkey={item.id}\n\t\t\t\t\t\t\t\t\t\tpanelIndex={\n\t\t\t\t\t\t\t\t\t\t\tMath.ceil((index + 1) / this.props.itemsPerPanel) - 1\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t{hasPreviousNextPanelNavigation && (\n\t\t\t\t\t\t\t<PreviousNextCarouselNavigator\n\t\t\t\t\t\t\t\tassistiveText={this.props.assistiveText.nextPanel}\n\t\t\t\t\t\t\t\ticonName=\"chevronright\"\n\t\t\t\t\t\t\t\tisDisabled={isNextBtnDisabled}\n\t\t\t\t\t\t\t\tonClick={(event) => {\n\t\t\t\t\t\t\t\t\tif (this.getIsAutoplayOn()) {\n\t\t\t\t\t\t\t\t\t\tthis.stopAutoplay(event);\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tthis.onNextPanelHandler(event);\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\tinlineStyle={{ right: '-38px' }}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t)}\n\t\t\t\t\t</div>\n\t\t\t\t\t<CarouselIndicators\n\t\t\t\t\t\tnoOfIndicators={this.nrOfPanels}\n\t\t\t\t\t\tcarouselId={id}\n\t\t\t\t\t\tcurrentIndex={currentPanel}\n\t\t\t\t\t\tgetPanelId={this.getPanelId}\n\t\t\t\t\t\thasFocus={this.state.indicatorsHaveFocus}\n\t\t\t\t\t\tonBlur={this.onIndicatorBlur}\n\t\t\t\t\t\tonClick={this.onIndicatorClickHandler}\n\t\t\t\t\t\tonFocus={this.onIndicatorFocus}\n\t\t\t\t\t\titems={this.props.items}\n\t\t\t\t\t\titemsPerPanel={this.props.itemsPerPanel}\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t);\n\t}\n}\n\nexport default Carousel;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n/* eslint-disable import/no-mutable-exports */\n/* eslint-disable max-len */\n\n// This function will deliver a warning message to the browser console about an event parameter change.\nimport lowPriorityWarning from './low-priority-warning';\n\nlet deprecated = function deprecatedFunction() {};\n\nif (process.env.NODE_ENV !== 'production') {\n\tconst hasWarned = {};\n\n\tdeprecated = function deprecatedFunction(\n\t\tcontrol,\n\t\t{\n\t\t\toldEventParameterOrder, // flag that tells which parameter order is in use\n\t\t\tpropAsString, // key name of prop being warned about\n\t\t\tlog, // log function that will disable console warning and pipe to another function log({ message })\n\t\t},\n\t\tcomment\n\t) {\n\t\tconst additionalComment = comment ? ` ${comment}` : '';\n\t\tconst warnOnFirstOccurrenceKey = control + propAsString;\n\t\tconst triggerWarning = Boolean(oldEventParameterOrder);\n\n\t\tif (!hasWarned[warnOnFirstOccurrenceKey]) {\n\t\t\tconst message = `[Design System React] ${additionalComment}`;\n\n\t\t\tif (triggerWarning && log) {\n\t\t\t\tlog({ message });\n\t\t\t} else if (triggerWarning) {\n\t\t\t\tlowPriorityWarning(\n\t\t\t\t\tfalse, // false value triggers warning\n\t\t\t\t\tmessage\n\t\t\t\t);\n\t\t\t}\n\t\t\t// store global flag to limit warnings to first issue\n\t\t\thasWarned[warnOnFirstOccurrenceKey] = triggerWarning;\n\t\t}\n\t};\n}\n\nexport default deprecated;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n/* eslint-disable import/no-mutable-exports */\n/* eslint-disable max-len */\n\nimport deprecatedEventParameter from '../../utilities/warning/deprecated-event-parameter';\nimport getComponentDocFn from '../../utilities/get-component-doc';\nimport onlyOneOfProperties from '../../utilities/warning/only-one-of-properties';\nimport sunsetProperty from '../../utilities/warning/sunset-property';\n\nlet checkProps = function checkPropsFunction() {};\n\nif (process.env.NODE_ENV !== 'production') {\n\tcheckProps = function checkPropsFunction(COMPONENT, props, jsonDoc) {\n\t\tconst createDocUrl = getComponentDocFn(jsonDoc);\n\n\t\tsunsetProperty(\n\t\t\tCOMPONENT,\n\t\t\tprops.label,\n\t\t\t'label',\n\t\t\t`Use \\`labels.label\\` instead.${createDocUrl('labels')}`\n\t\t);\n\n\t\tdeprecatedEventParameter(\n\t\t\tCOMPONENT,\n\t\t\t{\n\t\t\t\toldEventParameterOrder: props.oldEventParameterOrder,\n\t\t\t\tpropAsString: 'onChange',\n\t\t\t\tpropAsValue: props.onChange,\n\t\t\t},\n\t\t\t`\\`components/forms/checkbox\\` is deprecated. \\`components/checkbox\\` should be used. When this path update is made \\`onChange\\` event parameters will change from \\`onChange(value, event, { value }) to \\`onChange(event, { value }). Please update your event parameters when you change paths.\\` If you are using the CommonJS named import, \\`Checkbox\\` events will break at v1.0 and this warning will be present until then. Please review https://github.com/salesforce/design-system-react/releases when you upgrade. ${createDocUrl(\n\t\t\t\t'onChange'\n\t\t\t)}`\n\t\t);\n\n\t\tif (props.variant === 'toggle' && props.indeterminate === true) {\n\t\t\tonlyOneOfProperties(\n\t\t\t\tCOMPONENT,\n\t\t\t\t{\n\t\t\t\t\tvariant: props.variant,\n\t\t\t\t\tindeterminate: props.indeterminate,\n\t\t\t\t},\n\t\t\t\t`Currently SLDS does not support the \\`indeterminate\\` state in Checkbox Toggle. See SLDS documentation about [Checkbox Toggle](https://lightningdesignsystem.com/components/forms/#flavor-checkbox-toggle-checkbox-toggle) for more information. ${createDocUrl(\n\t\t\t\t\t'variant'\n\t\t\t\t)}`\n\t\t\t);\n\t\t}\n\t};\n}\n\nexport default checkProps;\n","/* eslint-disable react/jsx-curly-brace-presence */\n/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// # Checkbox Component\n\n// Implements the [Checkbox design pattern](https://www.lightningdesignsystem.com/components/forms/#checkbox) in React.\n\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\nimport classNames from 'classnames';\n\n// ### shortid\n// [npmjs.com/package/shortid](https://www.npmjs.com/package/shortid)\n// shortid is a short, non-sequential, url-friendly, unique id generator\nimport shortid from 'shortid';\n\n// ### Event Helpers\nimport KEYS from '../../utilities/key-code';\nimport EventUtil from '../../utilities/event';\n\n// This component's `checkProps` which issues warnings to developers about properties when in development mode (similar to React's built in development tools)\nimport checkProps from './check-props';\nimport componentDoc from './component.json';\n\nimport { CHECKBOX } from '../../utilities/constants';\nimport Icon from '../icon';\n\nimport getAriaProps from '../../utilities/get-aria-props';\n\nconst propTypes = {\n\t/**\n\t * An HTML ID that is shared with ARIA-supported devices with the\n\t * `aria-controls` attribute in order to relate the input with\n\t * another region of the page. An example would be a select box\n\t * that shows or hides a panel.\n\t */\n\t'aria-controls': PropTypes.string,\n\t/**\n\t * The `aria-describedby` attribute is used to indicate the IDs of the elements that describe the object. It is used to establish a relationship between widgets or groups and text that described them. This is very similar to aria-labelledby: a label describes the essence of an object, while a description provides more information that the user might need.\n\t */\n\t'aria-describedby': PropTypes.string,\n\t/**\n\t * The aria-labelledby attribute establishes relationships between objects and their label(s), and its value should be one or more element IDs, which refer to elements that have the text needed for labeling. List multiple element IDs in a space delimited fashion.\n\t */\n\t'aria-labelledby': PropTypes.string,\n\t/**\n\t * `aria-owns` indicate that an element depends on the current one when the relation can't be determined by the hierarchy structure.\n\t */\n\t'aria-owns': PropTypes.string,\n\t/**\n\t * The `aria-required` attribute is used to indicate that user input is required on an element before a form can be submitted.\n\t */\n\t'aria-required': PropTypes.bool,\n\t/**\n\t * **Assistive text for accessibility**\n\t * This object is merged with the default props object on every render.\n\t * * `heading`: This is used as a visually hidden label if, no `labels.heading` is provided.\n\t * * `label`: This is used as a visually hidden label if, no `labels.label` is provided.\n\t */\n\tassistiveText: PropTypes.shape({\n\t\theading: PropTypes.string,\n\t\tlabel: PropTypes.string,\n\t}),\n\t/**\n\t * The Checkbox should be a controlled component, and will always be in the state specified. If checked is not defined, the state of the uncontrolled native `input` component will be used.\n\t */\n\tchecked: PropTypes.bool,\n\t/**\n\t * This is the initial value of an uncontrolled form element and is present only\n\t * to provide compatibility with hybrid framework applications that are not\n\t * entirely React. It should only be used in an application without centralized\n\t * state (Redux, Flux). \"Controlled components\" with centralized state is highly recommended. See [Code Overview](https://github.com/salesforce/design-system-react/blob/master/docs/codebase-overview.md#controlled-and-uncontrolled-components) for more information.\n\t */\n\tdefaultChecked: PropTypes.bool,\n\t/**\n\t * Class names to be added to the outer container of the Checkbox.\n\t */\n\tclassName: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\t/**\n\t * Disables the Checkbox and prevents clicking it.\n\t */\n\tdisabled: PropTypes.bool,\n\t/**\n\t * Message to display when the Checkbox is in an error state. When this is present, also visually highlights the component as in error.\n\t */\n\terrorText: PropTypes.string,\n\t/**\n\t * A unique ID is needed in order to support keyboard navigation and ARIA support. This ID is added to the `input` element\n\t */\n\tid: PropTypes.string,\n\t/**\n\t * The Checkbox will be indeterminate if its state can not be figured out or is partially checked. Once a checkbox is indeterminate, a click should cause it to be checked. Since a user cannot put a checkbox into an indeterminate state, it is assumed you are controlling the value of `checked` with the parent, also, and that this is a controlled component. **Note:** `indeterminate` proptype does nothing in the `toggle` variant, as [SLDS does not support it](https://lightningdesignsystem.com/components/forms/#flavor-checkbox-toggle-checkbox-toggle).\n\t */\n\tindeterminate: PropTypes.bool,\n\t/**\n\t * **Text labels for internationalization**\n\t * This object is merged with the default props object on every render.\n\t * * `heading`: Heading for the visual picker variant\n\t * * `label`: Label for the _enabled_ state of the Toggle variant. Defaults to \"Enabled\".\n\t * * `toggleDisabled`: Label for the _disabled_ state of the Toggle variant. Defaults to \"Disabled\". Note that this uses SLDS language, and meaning, of \"Enabled\" and \"Disabled\"; referring to the state of whatever the checkbox is _toggling_, not whether the checkbox itself is enabled or disabled.\n\t * * `toggleEnabled`: Label for the _enabled_ state of the Toggle variant. Defaults to \"Enabled\".\n\t */\n\tlabels: PropTypes.shape({\n\t\theading: PropTypes.string,\n\t\tlabel: PropTypes.string,\n\t\ttoggleDisabled: PropTypes.string,\n\t\ttoggleEnabled: PropTypes.string,\n\t}),\n\t/**\n\t * Name of the submitted form parameter.\n\t */\n\tname: PropTypes.string,\n\t/**\n\t * This event fires when the Checkbox looses focus. It passes in `{ event }`.\n\t */\n\tonBlur: PropTypes.func,\n\t/**\n\t * This event fires when the Checkbox changes. Passes in `event, { checked }`. This used to be `checked, event, { checked }`.\n\t */\n\tonChange: PropTypes.func,\n\t/**\n\t * This event fires when the Checkbox is focused. It passes in `{ event }`.\n\t */\n\tonFocus: PropTypes.func,\n\t/**\n\t * This event fires when a key is pressed down. It passes in `{ event }`.\n\t */\n\tonKeyDown: PropTypes.func,\n\t/**\n\t * This event fires when a character is typed. See [this article](http://www.bloggingdeveloper.com/post/KeyPress-KeyDown-KeyUp-The-Difference-Between-Javascript-Key-Events.aspx) for more information. It passes in `{ event }`.\n\t */\n\tonKeyPress: PropTypes.func,\n\t/**\n\t * This event fires when a pressed key is released. It passes in `{ event }`.\n\t */\n\tonKeyUp: PropTypes.func,\n\t/**\n\t * Displays the value of the input, but does not allow changes.\n\t */\n\treadOnly: PropTypes.bool,\n\t/**\n\t * Highlights the Checkbox as a required field (does not perform any validation).\n\t */\n\trequired: PropTypes.bool,\n\t/**\n\t * The aria-role of the checkbox.\n\t */\n\trole: PropTypes.string,\n\t/**\n\t * Which UX pattern of checkbox? The default is `base` while other option is `toggle`. (**Note:** `toggle` variant does not support the `indeterminate` feature, because [SLDS does not support it](https://lightningdesignsystem.com/components/forms/#flavor-checkbox-toggle-checkbox-toggle).)\n\t */\n\tvariant: PropTypes.oneOf(['base', 'toggle', 'button-group', 'visual-picker']),\n\t/**\n\t * Determines whether visual picker is coverable when selected (only for visual picker variant)\n\t */\n\tcoverable: PropTypes.bool,\n\t/**\n\t * Determines whether the visual picker should be vertical or horizontal (only for visual picker variant)\n\t */\n\tvertical: PropTypes.bool,\n\t/**\n\t * Allows icon to shown with checkbox (only for non-coverable visual picker variant)\n\t */\n\tonRenderVisualPicker: PropTypes.func,\n\t/**\n\t * Allows icon to shown if checkbox is not selected (only for visual picker variant)\n\t */\n\tonRenderVisualPickerSelected: PropTypes.func,\n\t/**\n\t * Allows icon to shown if checkbox is not selected (only for visual picker variant)\n\t */\n\tonRenderVisualPickerNotSelected: PropTypes.func,\n\t/**\n\t * Size of checkbox in case of visual composer variant\n\t */\n\tsize: PropTypes.oneOf(['medium', 'large']),\n};\n\nconst defaultProps = {\n\tassistiveText: {},\n\tlabels: {\n\t\ttoggleDisabled: 'Disabled',\n\t\ttoggleEnabled: 'Enabled',\n\t},\n\tvariant: 'base',\n};\n\n/**\n * The ability to style checkboxes with CSS varies across browsers. Using this component ensures checkboxes look the same everywhere.\n */\nclass Checkbox extends React.Component {\n\tconstructor(props) {\n\t\tsuper(props);\n\n\t\tcheckProps(CHECKBOX, this.props, componentDoc);\n\t\tthis.generatedId = shortid.generate();\n\t}\n\n\tgetId = () => this.props.id || this.generatedId;\n\n\tgetErrorId = () =>\n\t\tthis.props.errorText ? `${this.getId()}-error-text` : undefined;\n\n\tgetAriaDescribedBy = ({ idArray = [] } = {}) =>\n\t\tidArray\n\t\t\t.concat(this.props['aria-describedby'], this.getErrorId())\n\t\t\t.filter(Boolean)\n\t\t\t.join(' ') || undefined;\n\n\thandleChange = (event) => {\n\t\tconst { checked, indeterminate, onChange } = this.props;\n\n\t\tif (typeof onChange === 'function') {\n\t\t\t// `target.checked` is present twice to maintain backwards compatibility. Please remove first parameter `value` on the next breaking change or when `forms/checkbox` is removed.\n\t\t\tif (this.props.oldEventParameterOrder) {\n\t\t\t\tonChange(event.target.checked, event, {\n\t\t\t\t\tchecked: indeterminate ? true : !checked,\n\t\t\t\t\tindeterminate: false,\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\t// NEW API\n\t\t\t\tonChange(event, {\n\t\t\t\t\tchecked: indeterminate ? true : !checked,\n\t\t\t\t\tindeterminate: false,\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t};\n\n\thandleKeyDown = (event) => {\n\t\tif (event.keyCode) {\n\t\t\tif (event.keyCode === KEYS.ENTER || event.keyCode === KEYS.SPACE) {\n\t\t\t\tEventUtil.trapImmediate(event);\n\t\t\t\tthis.handleChange(event);\n\t\t\t}\n\t\t}\n\t};\n\n\trenderButtonGroupVariant = (props, ariaProps, assistiveText, labels) => (\n\t\t<span className=\"slds-button slds-checkbox_button\">\n\t\t\t<input\n\t\t\t\tdisabled={props.disabled}\n\t\t\t\t/* A form element should not have both checked and defaultChecked props. */\n\t\t\t\t{...(props.checked !== undefined\n\t\t\t\t\t? { checked: props.checked }\n\t\t\t\t\t: { defaultChecked: props.defaultChecked })}\n\t\t\t\tid={this.getId()}\n\t\t\t\tname={props.name}\n\t\t\t\tonBlur={props.onBlur}\n\t\t\t\tonChange={this.handleChange}\n\t\t\t\tonFocus={props.onFocus}\n\t\t\t\tonKeyDown={props.onKeyDown}\n\t\t\t\tonKeyPress={props.onKeyPress}\n\t\t\t\tonKeyUp={props.onKeyUp}\n\t\t\t\tref={(component) => {\n\t\t\t\t\tthis.input = component;\n\t\t\t\t}}\n\t\t\t\trole={props.role}\n\t\t\t\trequired={props.required}\n\t\t\t\ttype=\"checkbox\"\n\t\t\t\t{...ariaProps}\n\t\t\t\taria-describedby={this.getAriaDescribedBy()}\n\t\t\t/>\n\t\t\t<label className=\"slds-checkbox_button__label\" htmlFor={this.getId()}>\n\t\t\t\t<span className=\"slds-checkbox_faux\">{labels.label}</span>\n\t\t\t\t{assistiveText.label ? (\n\t\t\t\t\t<span className=\"slds-assistive-text\">{assistiveText.label}</span>\n\t\t\t\t) : null}\n\t\t\t</label>\n\t\t</span>\n\t);\n\n\trenderBaseVariant = (props, ariaProps, assistiveText, labels) => (\n\t\t<div\n\t\t\tclassName={classNames(\n\t\t\t\t'slds-form-element',\n\t\t\t\t{\n\t\t\t\t\t'is-required': props.required,\n\t\t\t\t\t'slds-has-error': props.errorText,\n\t\t\t\t},\n\t\t\t\tprops.className\n\t\t\t)}\n\t\t>\n\t\t\t<div className=\"slds-form-element__control\">\n\t\t\t\t<span className=\"slds-checkbox\">\n\t\t\t\t\t{props.required ? (\n\t\t\t\t\t\t<abbr className=\"slds-required\" title=\"required\">\n\t\t\t\t\t\t\t{'*'}\n\t\t\t\t\t\t</abbr>\n\t\t\t\t\t) : null}\n\t\t\t\t\t<input\n\t\t\t\t\t\tdisabled={props.disabled}\n\t\t\t\t\t\t/* A form element should not have both checked and defaultChecked props. */\n\t\t\t\t\t\t{...(props.checked !== undefined\n\t\t\t\t\t\t\t? { checked: props.checked }\n\t\t\t\t\t\t\t: { defaultChecked: props.defaultChecked })}\n\t\t\t\t\t\tid={this.getId()}\n\t\t\t\t\t\tname={props.name}\n\t\t\t\t\t\tonBlur={props.onBlur}\n\t\t\t\t\t\tonChange={this.handleChange}\n\t\t\t\t\t\tonFocus={props.onFocus}\n\t\t\t\t\t\tonKeyDown={props.onKeyDown}\n\t\t\t\t\t\tonKeyPress={props.onKeyPress}\n\t\t\t\t\t\tonKeyUp={props.onKeyUp}\n\t\t\t\t\t\tref={(component) => {\n\t\t\t\t\t\t\tif (component) {\n\t\t\t\t\t\t\t\t// eslint-disable-next-line no-param-reassign\n\t\t\t\t\t\t\t\tcomponent.indeterminate = props.indeterminate;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tthis.input = component;\n\t\t\t\t\t\t}}\n\t\t\t\t\t\trole={props.role}\n\t\t\t\t\t\trequired={props.required}\n\t\t\t\t\t\ttype=\"checkbox\"\n\t\t\t\t\t\t{...ariaProps}\n\t\t\t\t\t\taria-describedby={this.getAriaDescribedBy()}\n\t\t\t\t\t/>\n\t\t\t\t\t<label\n\t\t\t\t\t\tclassName=\"slds-checkbox__label\"\n\t\t\t\t\t\thtmlFor={this.getId()}\n\t\t\t\t\t\tid={props.labelId}\n\t\t\t\t\t>\n\t\t\t\t\t\t<span className=\"slds-checkbox_faux\" />\n\t\t\t\t\t\t{labels.label ? (\n\t\t\t\t\t\t\t<span className=\"slds-form-element__label\">{labels.label}</span>\n\t\t\t\t\t\t) : null}\n\t\t\t\t\t\t{assistiveText.label ? (\n\t\t\t\t\t\t\t<span className=\"slds-assistive-text\">{assistiveText.label}</span>\n\t\t\t\t\t\t) : null}\n\t\t\t\t\t</label>\n\t\t\t\t</span>\n\t\t\t</div>\n\t\t\t{props.errorText ? (\n\t\t\t\t<div className=\"slds-form-element__help\" id={this.getErrorId()}>\n\t\t\t\t\t{props.errorText}\n\t\t\t\t</div>\n\t\t\t) : null}\n\t\t</div>\n\t);\n\n\trenderToggleVariant = (props, ariaProps, assistiveText, labels) => (\n\t\t<div\n\t\t\tclassName={classNames(\n\t\t\t\t'slds-form-element',\n\t\t\t\t{\n\t\t\t\t\t'is-required': props.required,\n\t\t\t\t\t'slds-has-error': props.errorText,\n\t\t\t\t},\n\t\t\t\tprops.className\n\t\t\t)}\n\t\t>\n\t\t\t<label className=\"slds-checkbox_toggle slds-grid\" htmlFor={this.getId()}>\n\t\t\t\t{props.required ? (\n\t\t\t\t\t<abbr className=\"slds-required\" title=\"required\">\n\t\t\t\t\t\t{'*'}\n\t\t\t\t\t</abbr>\n\t\t\t\t) : null}\n\t\t\t\t{labels.label ? (\n\t\t\t\t\t<span className=\"slds-form-element__label slds-m-bottom_none\">\n\t\t\t\t\t\t{labels.label}\n\t\t\t\t\t</span>\n\t\t\t\t) : null}\n\t\t\t\t{assistiveText.label ? (\n\t\t\t\t\t<span className=\"slds-assistive-text\">{assistiveText.label}</span>\n\t\t\t\t) : null}\n\t\t\t\t<input\n\t\t\t\t\tdisabled={props.disabled}\n\t\t\t\t\tid={this.getId()}\n\t\t\t\t\t/* A form element should not have both checked and defaultChecked props. */\n\t\t\t\t\t{...(props.checked !== undefined\n\t\t\t\t\t\t? { checked: props.checked }\n\t\t\t\t\t\t: { defaultChecked: props.defaultChecked })}\n\t\t\t\t\tname={props.name}\n\t\t\t\t\tonBlur={props.onBlur}\n\t\t\t\t\tonChange={this.handleChange}\n\t\t\t\t\tonFocus={props.onFocus}\n\t\t\t\t\tonKeyDown={props.onKeyDown}\n\t\t\t\t\tonKeyPress={props.onKeyPress}\n\t\t\t\t\tonKeyUp={props.onKeyUp}\n\t\t\t\t\tref={(component) => {\n\t\t\t\t\t\tthis.input = component;\n\t\t\t\t\t}}\n\t\t\t\t\trole={props.role}\n\t\t\t\t\trequired={props.required}\n\t\t\t\t\ttype=\"checkbox\"\n\t\t\t\t\t{...ariaProps}\n\t\t\t\t\taria-describedby={this.getAriaDescribedBy({\n\t\t\t\t\t\tidArray: [`${this.getId()}-desc`],\n\t\t\t\t\t})}\n\t\t\t\t/>\n\t\t\t\t<span\n\t\t\t\t\tid={`${this.getId()}-desc`}\n\t\t\t\t\tclassName=\"slds-checkbox_faux_container\"\n\t\t\t\t\taria-live=\"assertive\"\n\t\t\t\t>\n\t\t\t\t\t<span className=\"slds-checkbox_faux\" />\n\t\t\t\t\t<span className=\"slds-checkbox_on\">{labels.toggleEnabled}</span>\n\t\t\t\t\t<span className=\"slds-checkbox_off\">{labels.toggleDisabled}</span>\n\t\t\t\t</span>\n\t\t\t</label>\n\t\t\t{props.errorText ? (\n\t\t\t\t<div className=\"slds-form-element__help\" id={this.getErrorId()}>\n\t\t\t\t\t{props.errorText}\n\t\t\t\t</div>\n\t\t\t) : null}\n\t\t</div>\n\t);\n\n\trenderVisualPickerVariant = (props, ariaProps, assistiveText) => (\n\t\t<span\n\t\t\tclassName={classNames(\n\t\t\t\t'slds-visual-picker',\n\t\t\t\t`slds-visual-picker_${this.props.size}`,\n\t\t\t\tthis.props.vertical ? 'slds-visual-picker_vertical' : null\n\t\t\t)}\n\t\t>\n\t\t\t<input\n\t\t\t\tdisabled={props.disabled}\n\t\t\t\t/* A form element should not have both checked and defaultChecked props. */\n\t\t\t\t{...(props.checked !== undefined\n\t\t\t\t\t? { checked: props.checked }\n\t\t\t\t\t: { defaultChecked: props.defaultChecked })}\n\t\t\t\tid={this.getId()}\n\t\t\t\tname={props.name}\n\t\t\t\tonBlur={props.onBlur}\n\t\t\t\tonChange={this.handleChange}\n\t\t\t\tonFocus={props.onFocus}\n\t\t\t\tonKeyDown={props.onKeyDown}\n\t\t\t\tonKeyPress={props.onKeyPress}\n\t\t\t\tonKeyUp={props.onKeyUp}\n\t\t\t\tref={(component) => {\n\t\t\t\t\tthis.input = component;\n\t\t\t\t}}\n\t\t\t\trole={props.role}\n\t\t\t\trequired={props.required}\n\t\t\t\ttype=\"checkbox\"\n\t\t\t\t{...ariaProps}\n\t\t\t\taria-describedby={this.getAriaDescribedBy()}\n\t\t\t/>\n\t\t\t<label className=\"slds-checkbox_button__label\" htmlFor={this.getId()}>\n\t\t\t\t{this.props.coverable ? (\n\t\t\t\t\t<div className=\"slds-visual-picker__figure slds-visual-picker__icon slds-align_absolute-center\">\n\t\t\t\t\t\t<span className=\"slds-is-selected\">\n\t\t\t\t\t\t\t{this.props.onRenderVisualPickerSelected()}\n\t\t\t\t\t\t</span>\n\t\t\t\t\t\t<span className=\"slds-is-not-selected\">\n\t\t\t\t\t\t\t{this.props.onRenderVisualPickerNotSelected()}\n\t\t\t\t\t\t</span>\n\t\t\t\t\t</div>\n\t\t\t\t) : (\n\t\t\t\t\t<span className=\"slds-visual-picker__figure slds-visual-picker__text slds-align_absolute-center\">\n\t\t\t\t\t\t{this.props.onRenderVisualPicker()}\n\t\t\t\t\t</span>\n\t\t\t\t)}\n\t\t\t\t{!this.props.vertical ? (\n\t\t\t\t\t<span className=\"slds-visual-picker__body\">\n\t\t\t\t\t\t{this.props.labels.heading ? (\n\t\t\t\t\t\t\t<span className=\"slds-text-heading_small\">\n\t\t\t\t\t\t\t\t{this.props.labels.heading}\n\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t) : null}\n\t\t\t\t\t\t<span className=\"slds-text-title\">{this.props.labels.label}</span>\n\t\t\t\t\t\t{assistiveText.label || assistiveText.heading ? (\n\t\t\t\t\t\t\t<span className=\"slds-assistive-text\">\n\t\t\t\t\t\t\t\t{assistiveText.label || assistiveText.heading}\n\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t) : null}\n\t\t\t\t\t</span>\n\t\t\t\t) : null}\n\t\t\t\t{!this.props.coverable ? (\n\t\t\t\t\t<span className=\"slds-icon_container slds-visual-picker__text-check\">\n\t\t\t\t\t\t<Icon\n\t\t\t\t\t\t\tassistiveText={this.props.assistiveText}\n\t\t\t\t\t\t\tcategory=\"utility\"\n\t\t\t\t\t\t\tname=\"check\"\n\t\t\t\t\t\t\tcolorVariant=\"base\"\n\t\t\t\t\t\t\tsize=\"x-small\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t</span>\n\t\t\t\t) : null}\n\t\t\t</label>\n\t\t</span>\n\t);\n\n\trender() {\n\t\tconst ariaProps = getAriaProps(this.props);\n\n\t\tif (this.props.variant === 'toggle') {\n\t\t\tariaProps['aria-describedby'] = `${this.getId()}-desc`;\n\t\t}\n\n\t\tconst assistiveText = {\n\t\t\t...defaultProps.assistiveText,\n\t\t\t/* Remove backward compatibility at next breaking change */\n\t\t\t...(typeof this.props.assistiveText === 'string'\n\t\t\t\t? { label: this.props.assistiveText }\n\t\t\t\t: {}),\n\t\t\t...(typeof this.props.assistiveText === 'object'\n\t\t\t\t? this.props.assistiveText\n\t\t\t\t: {}),\n\t\t};\n\t\tconst labels = {\n\t\t\t...defaultProps.labels,\n\t\t\t/* Remove backward compatibility at next breaking change */\n\t\t\t...(this.props.label ? { label: this.props.label } : {}),\n\t\t\t...this.props.labels,\n\t\t};\n\n\t\tconst subRenders = {\n\t\t\tbase: this.renderBaseVariant,\n\t\t\t'button-group': this.renderButtonGroupVariant,\n\t\t\ttoggle: this.renderToggleVariant,\n\t\t\t'visual-picker': this.renderVisualPickerVariant,\n\t\t};\n\t\tconst variantExists = subRenders[this.props.variant];\n\n\t\treturn variantExists\n\t\t\t? subRenders[this.props.variant](\n\t\t\t\t\tthis.props,\n\t\t\t\t\tariaProps,\n\t\t\t\t\tassistiveText,\n\t\t\t\t\tlabels\n\t\t\t )\n\t\t\t: subRenders.base(this.props, ariaProps, assistiveText, labels);\n\t}\n}\n\nCheckbox.displayName = CHECKBOX;\nCheckbox.propTypes = propTypes;\nCheckbox.defaultProps = defaultProps;\n\nexport default Checkbox;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n/* eslint-disable import/no-mutable-exports */\n\nimport onlyOneOfProperties from '../../utilities/warning/only-one-of-properties';\nimport getComponentDocFn from '../../utilities/get-component-doc';\n\nlet checkProps = function checkPropsFunction() {};\n\nif (process.env.NODE_ENV !== 'production') {\n\tcheckProps = function checkPropsFunction(COMPONENT, props, jsonDoc) {\n\t\tconst createDocUrl = getComponentDocFn(jsonDoc);\n\n\t\tonlyOneOfProperties(\n\t\t\tCOMPONENT,\n\t\t\t{\n\t\t\t\t'assistiveText.label': props.assistiveText && props.assistiveText.label,\n\t\t\t\tlabel: props.labels.label,\n\t\t\t},\n\t\t\tcreateDocUrl('assistiveText')\n\t\t);\n\t};\n}\n\nexport default checkProps;\n","import React from 'react';\nimport classNames from 'classnames';\n\nimport Input from '../../input';\n\nclass CustomColorForm extends React.Component {\n\tstatic displayName = 'SLDSCustomColorForm';\n\n\trender() {\n\t\tlet describedBy;\n\n\t\tif (this.props.errorTextWorkingColor || this.props.color.errors) {\n\t\t\tdescribedBy = `color-picker-custom-error-${this.props.id}`;\n\t\t}\n\n\t\treturn (\n\t\t\t<div className=\"slds-color-picker__custom-inputs\">\n\t\t\t\t<Input\n\t\t\t\t\taria-describedby={describedBy}\n\t\t\t\t\tclassName={classNames('slds-color-picker__input-custom-hex', {\n\t\t\t\t\t\t'slds-has-error':\n\t\t\t\t\t\t\tthis.props.color.errors && this.props.color.errors.hex,\n\t\t\t\t\t})}\n\t\t\t\t\tid={`color-picker-input-hex-${this.props.id}`}\n\t\t\t\t\tlabel={this.props.labels.hexLabel}\n\t\t\t\t\tmaxLength=\"7\"\n\t\t\t\t\tonChange={this.props.onHexChange}\n\t\t\t\t\tvalue={this.props.color.hex}\n\t\t\t\t/>\n\t\t\t\t<Input\n\t\t\t\t\taria-describedby={describedBy}\n\t\t\t\t\tclassName={classNames('slds-color-picker__input-custom-r', {\n\t\t\t\t\t\t'slds-has-error':\n\t\t\t\t\t\t\tthis.props.color.errors && this.props.color.errors.red,\n\t\t\t\t\t})}\n\t\t\t\t\tid={`color-picker-input-r-${this.props.id}`}\n\t\t\t\t\tlabel={this.props.labels.redAbbreviated}\n\t\t\t\t\tonChange={this.props.onRedChange}\n\t\t\t\t\tmaxLength=\"3\"\n\t\t\t\t\tvalue={String(this.props.color.rgb.red)}\n\t\t\t\t/>\n\t\t\t\t<Input\n\t\t\t\t\taria-describedby={describedBy}\n\t\t\t\t\tclassName={classNames('slds-color-picker__input-custom-g', {\n\t\t\t\t\t\t'slds-has-error':\n\t\t\t\t\t\t\tthis.props.color.errors && this.props.color.errors.green,\n\t\t\t\t\t})}\n\t\t\t\t\tid={`color-picker-input-g-${this.props.id}`}\n\t\t\t\t\tlabel={this.props.labels.greenAbbreviated}\n\t\t\t\t\tonChange={this.props.onGreenChange}\n\t\t\t\t\tmaxLength=\"3\"\n\t\t\t\t\tvalue={String(this.props.color.rgb.green)}\n\t\t\t\t/>\n\t\t\t\t<Input\n\t\t\t\t\taria-describedby={describedBy}\n\t\t\t\t\tclassName={classNames('slds-color-picker__input-custom-b', {\n\t\t\t\t\t\t'slds-has-error':\n\t\t\t\t\t\t\tthis.props.color.errors && this.props.color.errors.blue,\n\t\t\t\t\t})}\n\t\t\t\t\tid={`color-picker-input-b-${this.props.id}`}\n\t\t\t\t\tlabel={this.props.labels.blueAbbreviated}\n\t\t\t\t\tonChange={this.props.onBlueChange}\n\t\t\t\t\tmaxLength=\"3\"\n\t\t\t\t\tvalue={String(this.props.color.rgb.blue)}\n\t\t\t\t/>\n\t\t\t</div>\n\t\t);\n\t}\n}\n\nexport default CustomColorForm;\n","/* eslint-disable react/jsx-curly-brace-presence */\n/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// Implements the [Radio Group design pattern](https://lightningdesignsystem.com/components/radio-group/) in React.\n// Based on SLDS v2.5.0\n\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\n\nimport shortid from 'shortid';\nimport assign from 'lodash.assign';\n\nimport { RADIO_GROUP } from '../../utilities/constants';\n\nconst propTypes = {\n\t/**\n\t * **Assistive text for accessibility**\n\t * * `label`: This label appears in the legend.\n\t * * `required`: Text to help identify the group as required\n\t */\n\tassistiveText: PropTypes.shape({\n\t\tlabel: PropTypes.string,\n\t\trequired: PropTypes.string,\n\t}),\n\t/**\n\t * Children are expected to be Radio components.\n\t */\n\tchildren: PropTypes.node.isRequired,\n\t/**\n\t * Custom CSS classes added to the node.\n\t */\n\tclassName: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\t/**\n\t * **Text labels for internationalization**\n\t * This object is merged with the default props object on every render.\n\t * * `error`: Message to display when any of Checkboxes are in an error state.\n\t * * `label`: This label appears above the radio group.\n\t */\n\tlabels: PropTypes.shape({\n\t\terror: PropTypes.string,\n\t\tlabel: PropTypes.string,\n\t}),\n\t/**\n\t * This event fires when the radio selection changes.\n\t */\n\tonChange: PropTypes.func,\n\t/**\n\t * Disable all radio inputs.\n\t */\n\tdisabled: PropTypes.bool,\n\t/**\n\t * Adds an indicator that this field is required.\n\t */\n\trequired: PropTypes.bool,\n\t/**\n\t * The name of this radio group.\n\t */\n\tname: PropTypes.string,\n\t/**\n\t * The ID of the error message, for linking to radio inputs with aria-describedby.\n\t */\n\terrorId: PropTypes.string,\n\t/**\n\t * Variants of radio groups such as Radio Button Group\n\t */\n\tvariant: PropTypes.oneOf(['base', 'button-group']),\n};\n\nconst defaultProps = {\n\tassistiveText: { required: 'Required' },\n\tlabels: {},\n\tvariant: 'base',\n};\n\n/**\n * A styled select list that can have a single entry checked at any one time.\n * The RadioGroup component wraps [Radio](/components/radios) components, which should be used as children.\n */\nclass RadioGroup extends React.Component {\n\tconstructor(props) {\n\t\tsuper(props);\n\n\t\tthis.generatedName = shortid.generate();\n\t\tthis.generatedErrorId = shortid.generate();\n\t}\n\n\tgetErrorId() {\n\t\tif (this.hasError()) {\n\t\t\treturn this.props.errorId || this.generatedErrorId;\n\t\t}\n\t\treturn undefined;\n\t}\n\n\tgetName() {\n\t\treturn this.props.name || this.generatedName;\n\t}\n\n\thasError() {\n\t\treturn !!this.labels.error;\n\t}\n\n\trender() {\n\t\t// Merge objects of strings with their default object\n\t\tthis.labels = this.props.labels\n\t\t\t? assign({}, defaultProps.labels, this.props.labels)\n\t\t\t: defaultProps.labels;\n\n\t\tconst assistiveText = {\n\t\t\t...defaultProps.assistiveText,\n\t\t\t...this.props.assistiveText,\n\t\t};\n\t\tconst children = React.Children.map(this.props.children, (child) =>\n\t\t\tReact.cloneElement(child, {\n\t\t\t\tname: this.getName(),\n\t\t\t\tonChange: this.props.onChange,\n\t\t\t\t'aria-describedby': this.getErrorId(),\n\t\t\t\tdisabled: this.props.disabled,\n\t\t\t})\n\t\t);\n\n\t\treturn (\n\t\t\t<fieldset\n\t\t\t\tclassName={classNames('slds-form-element', {\n\t\t\t\t\t'slds-has-error': this.labels.error,\n\t\t\t\t})}\n\t\t\t>\n\t\t\t\t<legend\n\t\t\t\t\tclassName={classNames(\n\t\t\t\t\t\t'slds-form-element__legend',\n\t\t\t\t\t\t'slds-form-element__label',\n\t\t\t\t\t\tassistiveText.label ? 'slds-assistive-text' : ''\n\t\t\t\t\t)}\n\t\t\t\t>\n\t\t\t\t\t{this.props.required ? (\n\t\t\t\t\t\t<abbr className=\"slds-required\" title=\"required\">\n\t\t\t\t\t\t\t{'*'}\n\t\t\t\t\t\t\t<div className=\"slds-assistive-text\">\n\t\t\t\t\t\t\t\t{assistiveText.required}{' '}\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</abbr>\n\t\t\t\t\t) : null}\n\t\t\t\t\t{assistiveText.label ? assistiveText.label : this.labels.label}\n\t\t\t\t</legend>\n\t\t\t\t<div\n\t\t\t\t\tclassName={classNames(\n\t\t\t\t\t\t'slds-form-element__control',\n\t\t\t\t\t\tthis.props.className\n\t\t\t\t\t)}\n\t\t\t\t>\n\t\t\t\t\t{this.props.variant === 'button-group' ? (\n\t\t\t\t\t\t<div style={this.props.style} className=\"slds-radio_button-group\">\n\t\t\t\t\t\t\t{children}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t) : (\n\t\t\t\t\t\tchildren\n\t\t\t\t\t)}\n\n\t\t\t\t\t{this.labels.error ? (\n\t\t\t\t\t\t<div id={this.getErrorId()} className=\"slds-form-element__help\">\n\t\t\t\t\t\t\t{this.labels.error}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t) : null}\n\t\t\t\t</div>\n\t\t\t</fieldset>\n\t\t);\n\t}\n}\n\nRadioGroup.displayName = RADIO_GROUP;\nRadioGroup.propTypes = propTypes;\nRadioGroup.defaultProps = defaultProps;\n\nexport default RadioGroup;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// Implements the [Radio Button Group design pattern](https://lightningdesignsystem.com/components/radio-button-group/) in React.\n// Based on SLDS v2.5.0\n\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\nimport RadioGroup from '../radio-group';\n\nimport { RADIO_BUTTON_GROUP } from '../../utilities/constants';\n\nconst propTypes = {\n\t/**\n\t * **Assistive text for accessibility**\n\t * * `label`: This label appears in the legend.\n\t */\n\tassistiveText: PropTypes.shape({\n\t\tlabel: PropTypes.string,\n\t}),\n\t/**\n\t * Children are expected to be Radio components.\n\t */\n\tchildren: PropTypes.node.isRequired,\n\t/**\n\t * Custom CSS classes added to `slds-radio_button-group` node.\n\t */\n\tclassName: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\t/**\n\t * **Text labels for internationalization**\n\t * This object is merged with the default props object on every render.\n\t * * `error`: Message to display when any of Checkboxes are in an error state.\n\t * * `label`: This label appears above the button group.\n\t */\n\tlabels: PropTypes.shape({\n\t\terror: PropTypes.string,\n\t\tlabel: PropTypes.string,\n\t}),\n\t/**\n\t * This event fires when the radio selection changes.\n\t */\n\tonChange: PropTypes.func,\n\t/**\n\t * Disable all radio inputs.\n\t */\n\tdisabled: PropTypes.bool,\n\t/**\n\t * Adds an indicator that this field is required.\n\t */\n\trequired: PropTypes.bool,\n\t/**\n\t * The name of this radio group.\n\t */\n\tname: PropTypes.string,\n\t/**\n\t * The ID of the error message, for linking to radio inputs with aria-describedby.\n\t */\n\terrorId: PropTypes.string,\n};\n\nconst defaultProps = { labels: {}, assistiveText: {} };\n\n/**\n * A styled select list that can have a single entry checked at any one time.\n * The RadioButtonGroup component wraps [Radio](/components/radios) components, which should be used as children.\n */\nconst RadioButtonGroup = (props) => {\n\t// Separate props we care about in order to pass others along passively to the dropdown component\n\tconst { variant, ...rest } = props;\n\n\treturn <RadioGroup variant=\"button-group\" {...rest} />;\n};\n\nRadioButtonGroup.displayName = RADIO_BUTTON_GROUP;\nRadioButtonGroup.propTypes = propTypes;\nRadioButtonGroup.defaultProps = defaultProps;\n\nexport default RadioButtonGroup;\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nconst Swatch = ({ color, style, label, labels }) => {\n\tconst innerStyle = {\n\t\tbackgroundColor: color,\n\t\t...style,\n\t};\n\tlet assistiveText = label || color;\n\n\t// falsey values output a transparent swatch\n\tif (!color) {\n\t\tinnerStyle.backgroundImage =\n\t\t\t'linear-gradient(-45deg, white 47%, #870500 0, #870500 53%, white 0)';\n\t\tif (labels && labels.swatchTabTransparentSwatch) {\n\t\t\tassistiveText = labels.swatchTabTransparentSwatch;\n\t\t}\n\t}\n\n\treturn (\n\t\t<span className=\"slds-swatch\" style={innerStyle}>\n\t\t\t<span className=\"slds-assistive-text\">{assistiveText}</span>\n\t\t</span>\n\t);\n};\n\nSwatch.propTypes = {\n\tcolor: PropTypes.string.isRequired,\n};\n\nexport default Swatch;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n/* eslint-disable import/no-mutable-exports */\n/* eslint-disable max-len */\n\nimport getComponentDocFn from '../../utilities/get-component-doc';\nimport sunsetProperty from '../../utilities/warning/sunset-property';\n\nlet checkProps = function checkPropsFunction() {};\n\nif (process.env.NODE_ENV !== 'production') {\n\tcheckProps = function checkPropsFunction(COMPONENT, props, jsonDoc) {\n\t\tconst createDocUrl = getComponentDocFn(jsonDoc);\n\n\t\tsunsetProperty(\n\t\t\tCOMPONENT,\n\t\t\tprops.label,\n\t\t\t'label',\n\t\t\t`Use \\`labels.label\\` instead.${createDocUrl('labels')}`\n\t\t);\n\t};\n}\n\nexport default checkProps;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport shortid from 'shortid';\nimport classNames from 'classnames';\n\nimport KEYS from '../../utilities/key-code';\nimport { RADIO } from '../../utilities/constants';\nimport getAriaProps from '../../utilities/get-aria-props';\nimport getDataProps from '../../utilities/get-data-props';\nimport Swatch from '../../components/color-picker/private/swatch';\nimport Icon from '../icon';\n\n// This component's `checkProps` which issues warnings to developers about properties when in development mode (similar to React's built in development tools)\nimport checkProps from './check-props';\nimport componentDoc from './component.json';\n\nconst propTypes = {\n\t/**\n\t * **Assistive text for accessibility**\n\t * This object is merged with the default props object on every render.\n\t * * `label`: This is used as a visually hidden label if, no `labels.label` is provided.\n\t */\n\tassistiveText: PropTypes.shape({\n\t\tlabel: PropTypes.string,\n\t}),\n\t/**\n\t * The ID of an element that describes this radio input. Often used for error messages.\n\t */\n\t'aria-describedby': PropTypes.string,\n\t/**\n\t * The aria-labelledby attribute establishes relationships between objects and their label(s), and its value should be one or more element IDs, which refer to elements that have the text needed for labeling. List multiple element IDs in a space delimited fashion.\n\t */\n\t'aria-labelledby': PropTypes.string,\n\t/**\n\t * This is a controlled component. This radio is checked according to this value.\n\t */\n\tchecked: PropTypes.bool,\n\t/**\n\t * Class name to be passed to radio input wrapper ( `span` element)\n\t */\n\tclassName: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\t/**\n\t * This is the initial value of an uncontrolled form element and is present only to provide compatibility\n\t * with hybrid framework applications that are not entirely React. It should only be used in an application\n\t * without centralized state (Redux, Flux). \"Controlled components\" with centralized state is highly recommended.\n\t * See [Code Overview](https://github.com/salesforce/design-system-react/blob/master/docs/codebase-overview.md#controlled-and-uncontrolled-components) for more information.\n\t */ defaultChecked: PropTypes.bool,\n\t/**\n\t * Disable this radio input.\n\t */\n\tdisabled: PropTypes.bool,\n\t/**\n\t * A unique ID that is used to associating a label to the `input` element. This ID is added to the `input` element.\n\t */\n\tid: PropTypes.string,\n\t/**\n\t * **Text labels for internationalization**\n\t * This object is merged with the default props object on every render.\n\t * * `heading`: Heading for the visual picker variant\n\t * * `label`: Label for the radio input\n\t */\n\tlabels: PropTypes.shape({\n\t\theading: PropTypes.string,\n\t\tlabel: PropTypes.string,\n\t}),\n\t/**\n\t * The name of the radio input group.\n\t */\n\tname: PropTypes.string,\n\t/**\n\t * This event fires when the radio selection changes. Passes in `event, { checked }`.\n\t */\n\tonChange: PropTypes.func,\n\t/**\n\t * The value of this radio input.\n\t */\n\tvalue: PropTypes.string,\n\t/**\n\t * Variant of the Radio button. Base is the default and button-group makes the radio button look like a normal button (should be a child of <RadioButtonGroup>).\n\t */\n\tvariant: PropTypes.oneOf(['base', 'button-group', 'swatch', 'visual-picker']),\n\t/**\n\t * Determines whether visual picker is coverable when selected (only for visual picker variant)\n\t */\n\tcoverable: PropTypes.bool,\n\t/**\n\t * Determines whether the visual picker should be vertical or horizontal (only for visual picker variant)\n\t */\n\tvertical: PropTypes.bool,\n\t/**\n\t * Allows icon to shown if radio is not selected (only for non-coverable visual picker variant)\n\t */\n\tonRenderVisualPicker: PropTypes.func,\n\t/**\n\t * Allows icon to shown if radio is not selected (only for visual picker variant)\n\t */\n\tonRenderVisualPickerSelected: PropTypes.func,\n\t/**\n\t * Allows icon to shown if radio is not selected (only for visual picker variant)\n\t */\n\tonRenderVisualPickerNotSelected: PropTypes.func,\n\t/**\n\t * Shows description for radio option (only for visual picker variant)\n\t */\n\tdescription: PropTypes.string,\n\t/**\n\t * Allows icon to shown if radio is not selected (only for visual picker variant)\n\t */\n\tsize: PropTypes.oneOf(['medium', 'large']),\n\t/**\n\t * Ref callback that will pass in the radio's `input` tag\n\t */\n\trefs: PropTypes.shape({\n\t\tinput: PropTypes.func,\n\t}),\n};\n\nconst defaultProps = {\n\tassistiveText: {},\n\tvariant: 'base',\n\tcoverable: false,\n};\n\n/**\n * A radio input that can have a single input checked at any one time. Radios should be wrapped with\n * a [RadioGroup](/components/radio-group) or [RadioButtonGroup](/components/radio-button-group)\n */\nclass Radio extends React.Component {\n\tconstructor(props) {\n\t\tsuper(props);\n\t\tthis.preventDuplicateChangeEvent = false;\n\t}\n\n\t// eslint-disable-next-line camelcase, react/sort-comp\n\tUNSAFE_componentWillMount() {\n\t\tcheckProps(RADIO, this.props, componentDoc);\n\t\tthis.generatedId = shortid.generate();\n\t}\n\n\tgetId() {\n\t\treturn this.props.id || this.generatedId;\n\t}\n\n\thandleChange = (event, preventDuplicateChangeEvent) => {\n\t\tif (!this.preventDuplicateChangeEvent) {\n\t\t\tthis.preventDuplicateChangeEvent = Boolean(preventDuplicateChangeEvent);\n\t\t\tif (this.props.onChange) {\n\t\t\t\tthis.props.onChange(event, {\n\t\t\t\t\tchecked: !this.props.checked,\n\t\t\t\t});\n\t\t\t}\n\t\t} else {\n\t\t\tthis.preventDuplicateChangeEvent = false;\n\t\t}\n\t};\n\n\trender() {\n\t\tconst ariaProps = getAriaProps(this.props);\n\t\tconst dataProps = getDataProps(this.props);\n\n\t\tlet radio;\n\n\t\tconst labels = {\n\t\t\t...defaultProps.labels,\n\t\t\t/* Remove backward compatibility at next breaking change */\n\t\t\t...(this.props.label ? { label: this.props.label } : {}),\n\t\t\t...this.props.labels,\n\t\t};\n\n\t\tif (this.props.variant === 'swatch') {\n\t\t\tradio = (\n\t\t\t\t<label\n\t\t\t\t\tstyle={{ border: '1px' }}\n\t\t\t\t\tclassName=\"slds-radio_button__label\"\n\t\t\t\t\thtmlFor={this.getId()}\n\t\t\t\t>\n\t\t\t\t\t<span>\n\t\t\t\t\t\t<Swatch\n\t\t\t\t\t\t\tlabel={labels.label}\n\t\t\t\t\t\t\tstyle={this.props.style}\n\t\t\t\t\t\t\tcolor={this.props.value}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</span>\n\t\t\t\t</label>\n\t\t\t);\n\t\t} else if (this.props.variant === 'button-group') {\n\t\t\tradio = (\n\t\t\t\t<label className=\"slds-radio_button__label\" htmlFor={this.getId()}>\n\t\t\t\t\t<span className=\"slds-radio_faux\">{labels.label}</span>\n\t\t\t\t</label>\n\t\t\t);\n\t\t} else if (this.props.variant === 'visual-picker') {\n\t\t\tradio = (\n\t\t\t\t<label htmlFor={this.getId()}>\n\t\t\t\t\t{this.props.coverable ? (\n\t\t\t\t\t\t<div className=\"slds-visual-picker__figure slds-visual-picker__icon slds-align_absolute-center\">\n\t\t\t\t\t\t\t<span className=\"slds-is-selected\">\n\t\t\t\t\t\t\t\t{this.props.onRenderVisualPickerSelected()}\n\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t<span className=\"slds-is-not-selected\">\n\t\t\t\t\t\t\t\t{this.props.onRenderVisualPickerNotSelected()}\n\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t) : (\n\t\t\t\t\t\t<span className=\"slds-visual-picker__figure slds-visual-picker__text slds-align_absolute-center\">\n\t\t\t\t\t\t\t{this.props.onRenderVisualPicker()}\n\t\t\t\t\t\t</span>\n\t\t\t\t\t)}\n\t\t\t\t\t{!this.props.vertical ? (\n\t\t\t\t\t\t<span className=\"slds-visual-picker__body\">\n\t\t\t\t\t\t\t{labels.heading ? (\n\t\t\t\t\t\t\t\t<span className=\"slds-text-heading_small\">\n\t\t\t\t\t\t\t\t\t{labels.heading}\n\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t) : null}\n\t\t\t\t\t\t\t<span className=\"slds-text-title\">{labels.label}</span>\n\t\t\t\t\t\t</span>\n\t\t\t\t\t) : null}\n\t\t\t\t\t{!this.props.coverable ? (\n\t\t\t\t\t\t<span className=\"slds-icon_container slds-visual-picker__text-check\">\n\t\t\t\t\t\t\t<Icon\n\t\t\t\t\t\t\t\tassistiveText={this.props.assistiveText}\n\t\t\t\t\t\t\t\tcategory=\"utility\"\n\t\t\t\t\t\t\t\tname=\"check\"\n\t\t\t\t\t\t\t\tcolorVariant=\"base\"\n\t\t\t\t\t\t\t\tsize=\"x-small\"\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</span>\n\t\t\t\t\t) : null}\n\t\t\t\t</label>\n\t\t\t);\n\t\t} else {\n\t\t\tradio = (\n\t\t\t\t<label\n\t\t\t\t\tclassName=\"slds-radio__label\"\n\t\t\t\t\thtmlFor={this.getId()}\n\t\t\t\t\tid={this.props.labelId}\n\t\t\t\t>\n\t\t\t\t\t<span className=\"slds-radio_faux\" />\n\t\t\t\t\t<span className=\"slds-form-element__label\">{labels.label}</span>\n\t\t\t\t\t{this.props.assistiveText.label ? (\n\t\t\t\t\t\t<span className=\"slds-assistive-text\">\n\t\t\t\t\t\t\t{this.props.assistiveText.label}\n\t\t\t\t\t\t</span>\n\t\t\t\t\t) : null}\n\t\t\t\t</label>\n\t\t\t);\n\t\t}\n\n\t\treturn (\n\t\t\t<span\n\t\t\t\tclassName={classNames(\n\t\t\t\t\tthis.props.variant === 'visual-picker'\n\t\t\t\t\t\t? `slds-visual-picker_${this.props.size}`\n\t\t\t\t\t\t: null,\n\t\t\t\t\t{\n\t\t\t\t\t\t'slds-radio':\n\t\t\t\t\t\t\tthis.props.variant === 'base' || this.props.variant === 'swatch',\n\t\t\t\t\t\t'slds-button slds-radio_button':\n\t\t\t\t\t\t\tthis.props.variant === 'button-group',\n\t\t\t\t\t\t'slds-visual-picker': this.props.variant === 'visual-picker',\n\t\t\t\t\t\t'slds-visual-picker_vertical':\n\t\t\t\t\t\t\tthis.props.variant === 'visual-picker' && this.props.vertical,\n\t\t\t\t\t},\n\t\t\t\t\tthis.props.className\n\t\t\t\t)}\n\t\t\t>\n\t\t\t\t<input\n\t\t\t\t\ttype=\"radio\"\n\t\t\t\t\tid={this.getId()}\n\t\t\t\t\tname={this.props.name}\n\t\t\t\t\tvalue={this.props.value}\n\t\t\t\t\t/* A form element should not have both checked and defaultChecked props. */\n\t\t\t\t\t{...(this.props.checked !== undefined\n\t\t\t\t\t\t? { checked: this.props.checked }\n\t\t\t\t\t\t: { defaultChecked: this.props.defaultChecked })}\n\t\t\t\t\tonChange={(event) => {\n\t\t\t\t\t\tthis.handleChange(event);\n\t\t\t\t\t}}\n\t\t\t\t\tonClick={(event) => {\n\t\t\t\t\t\tif (this.props.checked && this.props.deselectable) {\n\t\t\t\t\t\t\tthis.handleChange(event);\n\t\t\t\t\t\t}\n\t\t\t\t\t}}\n\t\t\t\t\tonKeyPress={(event) => {\n\t\t\t\t\t\tconst { charCode } = event;\n\n\t\t\t\t\t\tif (\n\t\t\t\t\t\t\tcharCode === KEYS.SPACE &&\n\t\t\t\t\t\t\tthis.props.checked &&\n\t\t\t\t\t\t\tthis.props.deselectable\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\tthis.handleChange(event, true);\n\t\t\t\t\t\t} else if (\n\t\t\t\t\t\t\t(charCode === KEYS.ENTER &&\n\t\t\t\t\t\t\t\tthis.props.checked &&\n\t\t\t\t\t\t\t\tthis.props.deselectable) ||\n\t\t\t\t\t\t\t!this.props.checked\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\tthis.handleChange(event);\n\t\t\t\t\t\t}\n\t\t\t\t\t}}\n\t\t\t\t\tdisabled={this.props.disabled}\n\t\t\t\t\t{...ariaProps}\n\t\t\t\t\t{...dataProps}\n\t\t\t\t\tref={(input) => {\n\t\t\t\t\t\tif (this.props.refs && this.props.refs.input) {\n\t\t\t\t\t\t\tthis.props.refs.input(input);\n\t\t\t\t\t\t}\n\t\t\t\t\t}}\n\t\t\t\t/>\n\t\t\t\t{radio}\n\t\t\t</span>\n\t\t);\n\t}\n}\n\nRadio.displayName = RADIO;\nRadio.propTypes = propTypes;\nRadio.defaultProps = defaultProps;\n\nexport default Radio;\n","// Alias\nimport Radio from '../radio/index';\n\nexport default Radio;\n","import assign from 'lodash.assign';\n\nconst COLOR_NAMES = {\n\taliceblue: '#f0f8ff',\n\tantiquewhite: '#faebd7',\n\taqua: '#00ffff',\n\taquamarine: '#7fffd4',\n\tazure: '#f0ffff',\n\tbeige: '#f5f5dc',\n\tbisque: '#ffe4c4',\n\tblack: '#000000',\n\tblanchedalmond: '#ffebcd',\n\tblue: '#0000ff',\n\tblueviolet: '#8a2be2',\n\tbrown: '#a52a2a',\n\tburlywood: '#deb887',\n\tcadetblue: '#5f9ea0',\n\tchartreuse: '#7fff00',\n\tchocolate: '#d2691e',\n\tcoral: '#ff7f50',\n\tcornflowerblue: '#6495ed',\n\tcornsilk: '#fff8dc',\n\tcrimson: '#dc143c',\n\tcyan: '#00ffff',\n\tdarkblue: '#00008b',\n\tdarkcyan: '#008b8b',\n\tdarkgoldenrod: '#b8860b',\n\tdarkgray: '#a9a9a9',\n\tdarkgreen: '#006400',\n\tdarkkhaki: '#bdb76b',\n\tdarkmagenta: '#8b008b',\n\tdarkolivegreen: '#556b2f',\n\tdarkorange: '#ff8c00',\n\tdarkorchid: '#9932cc',\n\tdarkred: '#8b0000',\n\tdarksalmon: '#e9967a',\n\tdarkseagreen: '#8fbc8f',\n\tdarkslateblue: '#483d8b',\n\tdarkslategray: '#2f4f4f',\n\tdarkturquoise: '#00ced1',\n\tdarkviolet: '#9400d3',\n\tdeeppink: '#ff1493',\n\tdeepskyblue: '#00bfff',\n\tdimgray: '#696969',\n\tdodgerblue: '#1e90ff',\n\tfirebrick: '#b22222',\n\tfloralwhite: '#fffaf0',\n\tforestgreen: '#228b22',\n\tfuchsia: '#ff00ff',\n\tgainsboro: '#dcdcdc',\n\tghostwhite: '#f8f8ff',\n\tgold: '#ffd700',\n\tgoldenrod: '#daa520',\n\tgray: '#808080',\n\tgreen: '#008000',\n\tgreenyellow: '#adff2f',\n\thoneydew: '#f0fff0',\n\thotpink: '#ff69b4',\n\tindianred: '#cd5c5c',\n\tindigo: '#4b0082',\n\tivory: '#fffff0',\n\tkhaki: '#f0e68c',\n\tlavender: '#e6e6fa',\n\tlavenderblush: '#fff0f5',\n\tlawngreen: '#7cfc00',\n\tlemonchiffon: '#fffacd',\n\tlightblue: '#add8e6',\n\tlightcoral: '#f08080',\n\tlightcyan: '#e0ffff',\n\tlightgoldenrodyellow: '#fafad2',\n\tlightgrey: '#d3d3d3',\n\tlightgreen: '#90ee90',\n\tlightpink: '#ffb6c1',\n\tlightsalmon: '#ffa07a',\n\tlightseagreen: '#20b2aa',\n\tlightskyblue: '#87cefa',\n\tlightslategray: '#778899',\n\tlightsteelblue: '#b0c4de',\n\tlightyellow: '#ffffe0',\n\tlime: '#00ff00',\n\tlimegreen: '#32cd32',\n\tlinen: '#faf0e6',\n\tmagenta: '#ff00ff',\n\tmaroon: '#800000',\n\tmediumaquamarine: '#66cdaa',\n\tmediumblue: '#0000cd',\n\tmediumorchid: '#ba55d3',\n\tmediumpurple: '#9370d8',\n\tmediumseagreen: '#3cb371',\n\tmediumslateblue: '#7b68ee',\n\tmediumspringgreen: '#00fa9a',\n\tmediumturquoise: '#48d1cc',\n\tmediumvioletred: '#c71585',\n\tmidnightblue: '#191970',\n\tmintcream: '#f5fffa',\n\tmistyrose: '#ffe4e1',\n\tmoccasin: '#ffe4b5',\n\tnavajowhite: '#ffdead',\n\tnavy: '#000080',\n\toldlace: '#fdf5e6',\n\tolive: '#808000',\n\tolivedrab: '#6b8e23',\n\torange: '#ffa500',\n\torangered: '#ff4500',\n\torchid: '#da70d6',\n\tpalegoldenrod: '#eee8aa',\n\tpalegreen: '#98fb98',\n\tpaleturquoise: '#afeeee',\n\tpalevioletred: '#d87093',\n\tpapayawhip: '#ffefd5',\n\tpeachpuff: '#ffdab9',\n\tperu: '#cd853f',\n\tpink: '#ffc0cb',\n\tplum: '#dda0dd',\n\tpowderblue: '#b0e0e6',\n\tpurple: '#800080',\n\trebeccapurple: '#663399',\n\tred: '#ff0000',\n\trosybrown: '#bc8f8f',\n\troyalblue: '#4169e1',\n\tsaddlebrown: '#8b4513',\n\tsalmon: '#fa8072',\n\tsandybrown: '#f4a460',\n\tseagreen: '#2e8b57',\n\tseashell: '#fff5ee',\n\tsienna: '#a0522d',\n\tsilver: '#c0c0c0',\n\tskyblue: '#87ceeb',\n\tslateblue: '#6a5acd',\n\tslategray: '#708090',\n\tsnow: '#fffafa',\n\tspringgreen: '#00ff7f',\n\tsteelblue: '#4682b4',\n\ttan: '#d2b48c',\n\tteal: '#008080',\n\tthistle: '#d8bfd8',\n\ttomato: '#ff6347',\n\tturquoise: '#40e0d0',\n\tviolet: '#ee82ee',\n\twheat: '#f5deb3',\n\twhite: '#ffffff',\n\twhitesmoke: '#f5f5f5',\n\tyellow: '#ffff00',\n\tyellowgreen: '#9acd32',\n};\nconst HEX_REGEX = /^#([a-f\\d]{2})([a-f\\d]{2})([a-f\\d]{2})$/i;\n\nconst ColorUtils = {\n\tgetNewColor(options, customHexValidator, oldColor = {}) {\n\t\tif (options.hex) {\n\t\t\tif (\n\t\t\t\tcustomHexValidator\n\t\t\t\t\t? !customHexValidator(options.hex)\n\t\t\t\t\t: !this.isValidHex(options.hex)\n\t\t\t) {\n\t\t\t\treturn assign({}, oldColor, {\n\t\t\t\t\thex: options.hex,\n\t\t\t\t\terrors: assign({}, oldColor.errors, {\n\t\t\t\t\t\thex: true,\n\t\t\t\t\t}),\n\t\t\t\t\thsv: {\n\t\t\t\t\t\thue: '',\n\t\t\t\t\t\tsaturation: '',\n\t\t\t\t\t\tvalue: '',\n\t\t\t\t\t},\n\t\t\t\t\trgb: {\n\t\t\t\t\t\tred: '',\n\t\t\t\t\t\tgreen: '',\n\t\t\t\t\t\tblue: '',\n\t\t\t\t\t},\n\t\t\t\t});\n\t\t\t}\n\n\t\t\tconst returnColor = {\n\t\t\t\thex: options.hex,\n\t\t\t\thsv: this.getHsvFromHex(options.hex),\n\t\t\t\trgb: this.getRgbFromHex(options.hex),\n\t\t\t};\n\n\t\t\tif (options.name) {\n\t\t\t\treturnColor.name = options.name;\n\t\t\t}\n\n\t\t\treturn returnColor;\n\t\t}\n\n\t\tif ('red' in options || 'blue' in options || 'green' in options) {\n\t\t\tconst rgb = assign({}, oldColor.rgb, options);\n\t\t\tconst errors = this.getRgbErrors(rgb);\n\n\t\t\tif (Object.values(errors).includes(true)) {\n\t\t\t\treturn assign({}, oldColor, {\n\t\t\t\t\trgb,\n\t\t\t\t\terrors: assign({}, oldColor.errors, errors),\n\t\t\t\t});\n\t\t\t}\n\n\t\t\treturn {\n\t\t\t\thex: this.getHexFromRgb(rgb),\n\t\t\t\thsv: this.getHsvFromRgb(rgb),\n\t\t\t\trgb,\n\t\t\t};\n\t\t}\n\n\t\tif ('hue' in options || 'saturation' in options || 'value' in options) {\n\t\t\tconst hsv = assign({}, oldColor.hsv, options);\n\t\t\treturn {\n\t\t\t\thex: this.getHexFromHsv(hsv),\n\t\t\t\thsv,\n\t\t\t\trgb: this.getRgbFromHsv(hsv),\n\t\t\t};\n\t\t}\n\n\t\treturn {\n\t\t\thex: '',\n\t\t\thsv: {\n\t\t\t\thue: '',\n\t\t\t\tsaturation: '',\n\t\t\t\tvalue: '',\n\t\t\t},\n\t\t\trgb: {\n\t\t\t\tred: '',\n\t\t\t\tgreen: '',\n\t\t\t\tblue: '',\n\t\t\t},\n\t\t};\n\t},\n\n\tgetDeltaColor(options, customHexValidator, oldColor) {\n\t\tconst limitValue = (value) => Math.min(Math.max(value, 0), 100);\n\n\t\treturn this.getNewColor(\n\t\t\t{\n\t\t\t\tsaturation: limitValue(\n\t\t\t\t\toldColor.hsv.saturation + (options.saturation || 0)\n\t\t\t\t),\n\t\t\t\tvalue: limitValue(oldColor.hsv.value + (options.value || 0)),\n\t\t\t},\n\t\t\tcustomHexValidator,\n\t\t\toldColor\n\t\t);\n\t},\n\n\tisValidHex(value) {\n\t\treturn !value || HEX_REGEX.test(this.toSixDigitHex(value));\n\t},\n\n\tgetRgbErrors(rgb) {\n\t\tconst hasError = (value) =>\n\t\t\tisNaN(value) ||\n\t\t\tMath.floor(value) !== Number(value) ||\n\t\t\tvalue < 0 ||\n\t\t\tvalue >= 256;\n\n\t\treturn Object.entries(rgb).reduce((errors, keyValue) => {\n\t\t\t// eslint-disable-next-line no-param-reassign\n\t\t\terrors[keyValue[0]] = hasError(keyValue[1]);\n\t\t\treturn errors;\n\t\t}, {});\n\t},\n\n\tgetHsvFromHex(hex) {\n\t\treturn this.getHsvFromRgb(this.getRgbFromHex(hex));\n\t},\n\n\tgetHexFromHsv({ hue, saturation, value }) {\n\t\treturn this.getHexFromRgb(this.getRgbFromHsv({ hue, saturation, value }));\n\t},\n\n\tgetHexFromNamedColor(name) {\n\t\treturn COLOR_NAMES[name.toLowerCase()] || null;\n\t},\n\n\tgetHsvFromRgb({ red, green, blue }) {\n\t\tconst redRatio = red / 255;\n\t\tconst greenRatio = green / 255;\n\t\tconst blueRatio = blue / 255;\n\n\t\tconst max = Math.max(redRatio, greenRatio, blueRatio);\n\t\tconst min = Math.min(redRatio, greenRatio, blueRatio);\n\n\t\tconst delta = max - min;\n\t\tconst saturation = max === 0 ? 0 : (delta / max) * 100;\n\t\tconst value = max * 100;\n\t\tlet hue;\n\n\t\tif (max === min) {\n\t\t\thue = 0;\n\t\t} else {\n\t\t\tif (redRatio === max) {\n\t\t\t\thue =\n\t\t\t\t\t(greenRatio - blueRatio) / delta + (greenRatio < blueRatio ? 6 : 0);\n\t\t\t} else if (greenRatio === max) {\n\t\t\t\thue = (blueRatio - redRatio) / delta + 2;\n\t\t\t} else {\n\t\t\t\thue = (redRatio - greenRatio) / delta + 4;\n\t\t\t}\n\n\t\t\thue *= 60;\n\t\t}\n\n\t\treturn { hue, saturation, value };\n\t},\n\n\tgetRgbFromHsv({ hue, saturation, value }) {\n\t\tconst hueRatio = hue / 360;\n\t\tconst satRatio = saturation / 100;\n\t\tconst valRatio = value / 100;\n\n\t\tlet red;\n\t\tlet green;\n\t\tlet blue;\n\n\t\tconst i = Math.floor(hueRatio * 6);\n\t\tconst f = hueRatio * 6 - i;\n\t\tconst p = valRatio * (1 - satRatio);\n\t\tconst q = valRatio * (1 - f * satRatio);\n\t\tconst t = valRatio * (1 - (1 - f) * satRatio);\n\n\t\tswitch (i % 6) {\n\t\t\tcase 0:\n\t\t\t\tred = valRatio;\n\t\t\t\tgreen = t;\n\t\t\t\tblue = p;\n\t\t\t\tbreak;\n\t\t\tcase 1:\n\t\t\t\tred = q;\n\t\t\t\tgreen = valRatio;\n\t\t\t\tblue = p;\n\t\t\t\tbreak;\n\t\t\tcase 2:\n\t\t\t\tred = p;\n\t\t\t\tgreen = valRatio;\n\t\t\t\tblue = t;\n\t\t\t\tbreak;\n\t\t\tcase 3:\n\t\t\t\tred = p;\n\t\t\t\tgreen = q;\n\t\t\t\tblue = valRatio;\n\t\t\t\tbreak;\n\t\t\tcase 4:\n\t\t\t\tred = t;\n\t\t\t\tgreen = p;\n\t\t\t\tblue = valRatio;\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\tred = valRatio;\n\t\t\t\tgreen = p;\n\t\t\t\tblue = q;\n\t\t}\n\n\t\treturn {\n\t\t\tred: Math.round(red * 255),\n\t\t\tblue: Math.round(blue * 255),\n\t\t\tgreen: Math.round(green * 255),\n\t\t};\n\t},\n\n\tgetHexFromRgb({ red, green, blue }) {\n\t\tfunction getHex(color) {\n\t\t\treturn `0${Math.round(color).toString(16)}`.substr(-2);\n\t\t}\n\t\treturn `#${getHex(red)}${getHex(green)}${getHex(blue)}`;\n\t},\n\n\tgetRgbFromHex(hex) {\n\t\tconst result = HEX_REGEX.exec(this.toSixDigitHex(hex));\n\t\treturn {\n\t\t\tred: parseInt(result[1], 16),\n\t\t\tgreen: parseInt(result[2], 16),\n\t\t\tblue: parseInt(result[3], 16),\n\t\t};\n\t},\n\n\ttoSixDigitHex(value) {\n\t\tconst shortHandHex = /^#([a-f\\d])([a-f\\d])([a-f\\d])$/i;\n\t\tconst match = shortHandHex.exec(value);\n\t\tif (match) {\n\t\t\treturn `#${match[1]}${match[1]}${match[2]}${match[2]}${match[3]}${match[3]}`;\n\t\t}\n\n\t\treturn value;\n\t},\n};\n\nexport default ColorUtils;\n","import React from 'react';\n\nimport KEYS from '../../../utilities/key-code';\nimport RadioButtonGroup from '../../../components/radio-button-group';\nimport Radio from '../../../components/radio-button-group/radio';\nimport ColorUtils from '../../../utilities/color';\n\nconst handleClick = (event, rangeIndicator, { onSaturationValueChange }) => {\n\tconst rect = event.currentTarget.getBoundingClientRect();\n\trangeIndicator.focus();\n\tonSaturationValueChange(event, {\n\t\tsaturation: Math.round(((event.clientX - rect.left) / rect.width) * 100),\n\t\tvalue: Math.round(((rect.bottom - event.clientY) / rect.height) * 100),\n\t});\n};\n\nconst handleKeyDown = (event, { onSaturationNavigate, onValueNavigate }) => {\n\tconst keyDownCallbacks = {\n\t\t[KEYS.LEFT]: (multiplier) => {\n\t\t\tonSaturationNavigate(event, {\n\t\t\t\tdelta: multiplier * -1,\n\t\t\t});\n\t\t},\n\t\t[KEYS.RIGHT]: (multiplier) => {\n\t\t\tonSaturationNavigate(event, {\n\t\t\t\tdelta: multiplier,\n\t\t\t});\n\t\t},\n\t\t[KEYS.UP]: (multiplier) => {\n\t\t\tonValueNavigate(event, {\n\t\t\t\tdelta: multiplier,\n\t\t\t});\n\t\t},\n\t\t[KEYS.DOWN]: (multiplier) => {\n\t\t\tonValueNavigate(event, {\n\t\t\t\tdelta: multiplier * -1,\n\t\t\t});\n\t\t},\n\t};\n\n\tif (keyDownCallbacks[event.keyCode]) {\n\t\tevent.preventDefault();\n\t\tkeyDownCallbacks[event.keyCode](event.shiftKey ? 10 : 1);\n\t}\n};\n\nconst selectedStyle = {\n\tborder: '1px solid #9e9e9e',\n\tboxShadow: 'rgb(117, 112, 112) 1px 1px 1px',\n\tmarginRight: '2px',\n};\n\nconst unselectedStyle = {\n\tborder: '1px solid #9e9e9e',\n\tmarginRight: '2px',\n};\n\nclass HsvColor extends React.Component {\n\tstatic displayName = 'SLDSHsvColor';\n\n\thandleSwatchChange = (event) => {\n\t\tthis.setState({\n\t\t\tisTransparentSelected: event.target.value === '',\n\t\t});\n\t\tthis.props.onSwatchChange(event);\n\t};\n\n\tisTransparent = () => this.props.color.hex === '';\n\n\trender() {\n\t\tconst style = { border: 'none', borderRadius: 'unset' };\n\t\tconst swatchStyle = this.isTransparent()\n\t\t\t? { ...unselectedStyle }\n\t\t\t: { ...selectedStyle };\n\t\tconst transparentSwatchStyle = this.isTransparent()\n\t\t\t? { ...selectedStyle }\n\t\t\t: { ...unselectedStyle };\n\n\t\t// when working color is transparent: either use the previous color or default to black\n\t\tconst fallbackWorkingColor = this.props.previousColor.hex\n\t\t\t? this.props.previousColor\n\t\t\t: ColorUtils.getNewColor({ hex: '#000000' });\n\t\tconst workingColor = this.isTransparent()\n\t\t\t? fallbackWorkingColor\n\t\t\t: this.props.color;\n\n\t\treturn (\n\t\t\t<div>\n\t\t\t\t<p\n\t\t\t\t\tclassName=\"slds-assistive-text\"\n\t\t\t\t\tid={`color-picker-instructions-${this.props.id}`}\n\t\t\t\t>\n\t\t\t\t\t{this.props.assistiveText.saturationValueGrid}\n\t\t\t\t</p>\n\t\t\t\t<div\n\t\t\t\t\tclassName=\"slds-color-picker__custom-range\"\n\t\t\t\t\tstyle={{\n\t\t\t\t\t\tbackground: `hsl(${workingColor.hsv.hue}, 100%, 50%)`,\n\t\t\t\t\t}}\n\t\t\t\t\tonClick={(event) => {\n\t\t\t\t\t\thandleClick(event, this.rangeIndicator, {\n\t\t\t\t\t\t\tonSaturationValueChange: this.props.onSaturationValueChange,\n\t\t\t\t\t\t});\n\t\t\t\t\t}}\n\t\t\t\t\trole=\"presentation\"\n\t\t\t\t>\n\t\t\t\t\t{/* eslint-disable jsx-a11y/anchor-has-content */}\n\t\t\t\t\t<a\n\t\t\t\t\t\taria-atomic=\"true\"\n\t\t\t\t\t\taria-describedby={`color-picker-instructions-${this.props.id}`}\n\t\t\t\t\t\taria-live=\"assertive\"\n\t\t\t\t\t\tclassName=\"slds-color-picker__range-indicator\"\n\t\t\t\t\t\tonKeyDown={(event) => {\n\t\t\t\t\t\t\thandleKeyDown(event, { ...this.props });\n\t\t\t\t\t\t}}\n\t\t\t\t\t\tref={(rangeIndicator) => {\n\t\t\t\t\t\t\tthis.rangeIndicator = rangeIndicator;\n\t\t\t\t\t\t}}\n\t\t\t\t\t\trole=\"button\"\n\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\tbottom: `${workingColor.hsv.value}%`,\n\t\t\t\t\t\t\tleft: `${workingColor.hsv.saturation}%`,\n\t\t\t\t\t\t}}\n\t\t\t\t\t\ttabIndex={0}\n\t\t\t\t\t>\n\t\t\t\t\t\t<span className=\"slds-assistive-text\">{`Saturation ${workingColor.hsv.saturation}% Brightness: ${workingColor.hsv.value}%`}</span>\n\t\t\t\t\t</a>\n\t\t\t\t</div>\n\t\t\t\t<div className=\"slds-color-picker__hue-and-preview\">\n\t\t\t\t\t<label\n\t\t\t\t\t\tclassName=\"slds-assistive-text\"\n\t\t\t\t\t\thtmlFor={`color-picker-input-range-${this.props.id}`}\n\t\t\t\t\t>\n\t\t\t\t\t\t{this.props.assistiveText.hueSlider}\n\t\t\t\t\t</label>\n\t\t\t\t\t<input\n\t\t\t\t\t\ttype=\"range\"\n\t\t\t\t\t\tmin=\"0\"\n\t\t\t\t\t\tmax=\"360\"\n\t\t\t\t\t\tclassName=\"slds-color-picker__hue-slider\"\n\t\t\t\t\t\tid={`color-picker-input-range-${this.props.id}`}\n\t\t\t\t\t\tvalue={workingColor.hsv.hue}\n\t\t\t\t\t\tonChange={this.props.onHueChange}\n\t\t\t\t\t/>\n\t\t\t\t\t<RadioButtonGroup\n\t\t\t\t\t\tname={`${this.props.id}-color-picker-swatch-toggle-button-group`}\n\t\t\t\t\t\tassistiveText={{ label: 'Toggle Transparency' }}\n\t\t\t\t\t\tstyle={style}\n\t\t\t\t\t\tonChange={this.handleSwatchChange}\n\t\t\t\t\t>\n\t\t\t\t\t\t<Radio\n\t\t\t\t\t\t\tchecked={!this.isTransparent()}\n\t\t\t\t\t\t\tid={`color-picker-active-working-color-swatch-${this.props.id}`}\n\t\t\t\t\t\t\tkey=\"working-color\"\n\t\t\t\t\t\t\tlabels={{\n\t\t\t\t\t\t\t\tlabel: this.props.labels.customTabActiveWorkingColorSwatch,\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\tstyle={swatchStyle}\n\t\t\t\t\t\t\tvalue={workingColor.hex}\n\t\t\t\t\t\t\tvariant=\"swatch\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<Radio\n\t\t\t\t\t\t\tchecked={this.isTransparent()}\n\t\t\t\t\t\t\tid={`color-picker-transparent-swatch-${this.props.id}`}\n\t\t\t\t\t\t\tkey=\"transparent\"\n\t\t\t\t\t\t\tlabels={{ label: this.props.labels.customTabTransparentSwatch }}\n\t\t\t\t\t\t\tstyle={transparentSwatchStyle}\n\t\t\t\t\t\t\tvalue=\"\" // transparent\n\t\t\t\t\t\t\tvariant=\"swatch\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t</RadioButtonGroup>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t);\n\t}\n}\n\nexport default HsvColor;\n","import React from 'react';\n\nimport CustomColorForm from './custom-color-form';\nimport HsvColor from './hsv-color';\n\n// using state to manage everything in here because multiple HSV coordinates\n// can map to a single RGB coordinate and we lose that if we're always passing\n// in a hex color\nclass CustomColor extends React.Component {\n\tstatic displayName = 'SLDSCustomColor';\n\n\trender() {\n\t\tlet errorText;\n\n\t\tif (this.props.errorTextWorkingColor) {\n\t\t\terrorText = this.props.errorTextWorkingColor;\n\t\t} else if (this.props.color.errors && this.props.color.errors.hex) {\n\t\t\terrorText = this.props.labels.invalidColor;\n\t\t} else {\n\t\t\terrorText = this.props.labels.invalidComponent;\n\t\t}\n\n\t\treturn (\n\t\t\t<div className=\"slds-color-picker__custom\">\n\t\t\t\t<HsvColor\n\t\t\t\t\tassistiveText={this.props.assistiveText}\n\t\t\t\t\tcolor={this.props.color}\n\t\t\t\t\tid={this.props.id}\n\t\t\t\t\tlabels={this.props.labels}\n\t\t\t\t\tonHueChange={this.props.onHueChange}\n\t\t\t\t\tonSaturationValueChange={this.props.onSaturationValueChange}\n\t\t\t\t\tonSaturationNavigate={this.props.onSaturationNavigate}\n\t\t\t\t\tonValueNavigate={this.props.onValueNavigate}\n\t\t\t\t\tonSwatchChange={this.props.onSwatchChange}\n\t\t\t\t\tpreviousColor={this.props.previousColor}\n\t\t\t\t/>\n\t\t\t\t<CustomColorForm\n\t\t\t\t\tcolor={this.props.color}\n\t\t\t\t\tid={this.props.id}\n\t\t\t\t\terrorTextWorkingColor={this.props.errorTextWorkingColor}\n\t\t\t\t\tlabels={this.props.labels}\n\t\t\t\t\tonBlueChange={this.props.onBlueChange}\n\t\t\t\t\tonGreenChange={this.props.onGreenChange}\n\t\t\t\t\tonHexChange={this.props.onHexChange}\n\t\t\t\t\tonRedChange={this.props.onRedChange}\n\t\t\t\t/>\n\t\t\t\t{this.props.errorTextWorkingColor || this.props.color.errors ? (\n\t\t\t\t\t<p\n\t\t\t\t\t\tclassName=\"slds-form-error slds-color-picker__input-custom-error\"\n\t\t\t\t\t\tid={`color-picker-custom-error-${this.props.id}`}\n\t\t\t\t\t>\n\t\t\t\t\t\t{errorText}\n\t\t\t\t\t</p>\n\t\t\t\t) : (\n\t\t\t\t\t''\n\t\t\t\t)}\n\t\t\t</div>\n\t\t);\n\t}\n}\n\nexport default CustomColor;\n","import React from 'react';\nimport Swatch from './swatch';\n\nconst handleClick = (event, { hex, onSelect }) => {\n\tevent.preventDefault();\n\tonSelect(event, { hex });\n};\nconst selectedStyle = {\n\tborder: '1px solid #141414',\n\tborderRadius: '2px',\n\tmargin: '3px',\n};\n\nconst selectedInnerStyle = {\n\tborder: '1px solid white',\n\tborderRadius: '2px',\n};\n\nclass SwatchOption extends React.Component {\n\tstatic displayName = 'SLDSSwatchOption';\n\n\trender() {\n\t\treturn (\n\t\t\t<li\n\t\t\t\tclassName=\"slds-color-picker__swatch\"\n\t\t\t\tstyle={\n\t\t\t\t\tthis.props.workingColor &&\n\t\t\t\t\tthis.props.workingColor.hex === this.props.color\n\t\t\t\t\t\t? selectedStyle\n\t\t\t\t\t\t: {}\n\t\t\t\t}\n\t\t\t\trole=\"presentation\"\n\t\t\t>\n\t\t\t\t<a\n\t\t\t\t\taria-selected={\n\t\t\t\t\t\tthis.props.workingColor &&\n\t\t\t\t\t\tthis.props.workingColor.hex === this.props.color\n\t\t\t\t\t}\n\t\t\t\t\tclassName=\"slds-color-picker__swatch-trigger\"\n\t\t\t\t\tonClick={(event) => {\n\t\t\t\t\t\thandleClick(event, {\n\t\t\t\t\t\t\thex: this.props.color,\n\t\t\t\t\t\t\tonSelect: this.props.onSelect,\n\t\t\t\t\t\t});\n\t\t\t\t\t}}\n\t\t\t\t\tref={this.props.swatchOptionRef}\n\t\t\t\t\trole=\"option\"\n\t\t\t\t\tstyle={\n\t\t\t\t\t\tthis.props.workingColor &&\n\t\t\t\t\t\tthis.props.workingColor === this.props.color\n\t\t\t\t\t\t\t? selectedInnerStyle\n\t\t\t\t\t\t\t: {}\n\t\t\t\t\t}\n\t\t\t\t\ttabIndex={this.props.tabIndex}\n\t\t\t\t>\n\t\t\t\t\t<Swatch color={this.props.color} labels={this.props.labels} />\n\t\t\t\t</a>\n\t\t\t</li>\n\t\t);\n\t}\n}\n\nexport default SwatchOption;\n","import React from 'react';\nimport findIndex from 'lodash.findindex';\n\nimport SwatchOption from './swatch-option';\nimport KEYS from '../../../utilities/key-code';\nimport EventUtil from '../../../utilities/event';\n\nimport { DIRECTIONS } from '../../utilities/UNSAFE_direction';\nimport LanguageDirection from '../../utilities/UNSAFE_direction/private/language-direction';\n\nclass SwatchPicker extends React.Component {\n\tstatic displayName = 'SLDSSwatchPicker';\n\n\tconstructor(props) {\n\t\tsuper(props);\n\t\tthis.swatchColorRefs = {};\n\t}\n\n\tselectPreviousColor = (event, props) => {\n\t\tconst index = findIndex(\n\t\t\tprops.swatchColors,\n\t\t\t(item) => item === props.color.hex\n\t\t);\n\t\tconst nextIndex =\n\t\t\tindex === -1 || index === props.swatchColors.length - 1 ? 0 : index + 1;\n\t\tconst prevColor = props.swatchColors[nextIndex];\n\t\tprops.onSelect(event, {\n\t\t\thex: prevColor,\n\t\t});\n\n\t\tthis.swatchColorRefs[prevColor].focus();\n\t};\n\n\tselectNextColor = (event, props) => {\n\t\tconst index = findIndex(\n\t\t\tprops.swatchColors,\n\t\t\t(item) => item === props.color.hex\n\t\t);\n\t\tlet prevIndex;\n\t\tif (index === 0) {\n\t\t\tprevIndex = props.swatchColors.length - 1;\n\t\t} else if (index === -1) {\n\t\t\tprevIndex = 0;\n\t\t} else {\n\t\t\tprevIndex = index - 1;\n\t\t}\n\t\tconst nextColor = props.swatchColors[prevIndex];\n\t\tprops.onSelect(event, {\n\t\t\thex: nextColor,\n\t\t});\n\n\t\tthis.swatchColorRefs[nextColor].focus();\n\t};\n\n\thandleKeyDown = (event, props) => {\n\t\tconst keyDownCallbacks = {\n\t\t\t[KEYS.RIGHT]: () => {\n\t\t\t\tif (props.direction === DIRECTIONS.RTL) {\n\t\t\t\t\tthis.selectNextColor(event, props);\n\t\t\t\t} else {\n\t\t\t\t\tthis.selectPreviousColor(event, props);\n\t\t\t\t}\n\t\t\t},\n\t\t\t[KEYS.DOWN]: () => {\n\t\t\t\tthis.selectPreviousColor(event, props);\n\t\t\t},\n\n\t\t\t[KEYS.LEFT]: () => {\n\t\t\t\tif (props.direction === DIRECTIONS.RTL) {\n\t\t\t\t\tthis.selectPreviousColor(event, props);\n\t\t\t\t} else {\n\t\t\t\t\tthis.selectNextColor(event, props);\n\t\t\t\t}\n\t\t\t},\n\t\t\t[KEYS.UP]: () => {\n\t\t\t\tthis.selectNextColor(event, props);\n\t\t\t},\n\t\t};\n\n\t\tif (event.keyCode) {\n\t\t\tif (keyDownCallbacks[event.keyCode]) {\n\t\t\t\tEventUtil.trapEvent(event);\n\t\t\t\tkeyDownCallbacks[event.keyCode]();\n\t\t\t}\n\t\t}\n\t};\n\n\taddRef = (color) => (el) => {\n\t\tthis.swatchColorRefs[color] = el;\n\t};\n\n\trender() {\n\t\tconst isSelectedColorInSwatch = this.props.swatchColors.includes(\n\t\t\tthis.props.color.hex\n\t\t);\n\n\t\treturn (\n\t\t\t<ul\n\t\t\t\tclassName=\"slds-color-picker__swatches\"\n\t\t\t\trole=\"listbox\"\n\t\t\t\tonKeyDown={(event) => {\n\t\t\t\t\tthis.handleKeyDown(event, {\n\t\t\t\t\t\t...this.props,\n\t\t\t\t\t});\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\t{this.props.swatchColors.map((color, index) => (\n\t\t\t\t\t<SwatchOption\n\t\t\t\t\t\tcolor={color}\n\t\t\t\t\t\tkey={color}\n\t\t\t\t\t\tlabels={this.props.labels}\n\t\t\t\t\t\tonSelect={this.props.onSelect}\n\t\t\t\t\t\tswatchOptionRef={this.addRef(color)}\n\t\t\t\t\t\tworkingColor={this.props.color}\n\t\t\t\t\t\ttabIndex={\n\t\t\t\t\t\t\t(this.props.color && this.props.color.hex === color) ||\n\t\t\t\t\t\t\t(index === 0 && !isSelectedColorInSwatch)\n\t\t\t\t\t\t\t\t? 0\n\t\t\t\t\t\t\t\t: -1\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t))}\n\t\t\t</ul>\n\t\t);\n\t}\n}\n\nexport default LanguageDirection(SwatchPicker);\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// # Tabs Component\n\n// Implements the [Tabs design pattern](https://www.lightningdesignsystem.com/components/tabs/) in React.\n\n// ## Dependencies\n\n// ### React\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\n// ### classNames\nimport classNames from 'classnames';\nimport { TABS_LIST } from '../../../utilities/constants';\n\nconst TabsList = ({ id, className, children, variant }) => (\n\t<ul\n\t\tid={`${id}-slds-tabs__nav`}\n\t\tclassName={classNames(className, {\n\t\t\t'slds-tabs_default__nav': variant === 'default',\n\t\t\t'slds-tabs_scoped__nav': variant === 'scoped',\n\t\t\t'slds-vertical-tabs__nav': variant === 'vertical',\n\t\t})}\n\t\trole=\"tablist\"\n\t\taria-orientation={variant === 'vertical' ? 'vertical' : undefined}\n\t>\n\t\t{children}\n\t</ul>\n);\n\nTabsList.displayName = TABS_LIST;\n\nTabsList.propTypes = {\n\t/**\n\t * Inherits the `id` from the parent `<Tabs />` component and appends `-tabs__nav`. Becomes the HTML `id` attribute of UL element that has the class `.slds-tabs_default__nav` on it.\n\t */\n\tid: PropTypes.string,\n\n\t/**\n\t * Class names to be added to the tabs list element.\n\t */\n\tclassName: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\n\t/**\n\t * The `children` are the actual tabs to be rendered as `li` elements. They get created by [tabs/index.jsx](./index.jsx) in the `renderTabsList` function.\n\t */\n\tchildren: PropTypes.oneOfType([PropTypes.object, PropTypes.array]),\n\n\t/**\n\t * If the Tabs should be scoped, vertical, or default (default value)\n\t */\n\tvariant: PropTypes.oneOf(['default', 'scoped', 'vertical']),\n};\n\nexport default TabsList;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n/* eslint-disable jsx-a11y/no-interactive-element-to-noninteractive-role */\n\n// # TabItem Component\n\n// ## Dependencies\n\n// ### React\nimport React from 'react';\n\nimport PropTypes from 'prop-types';\n\n// ### classNames\nimport classNames from 'classnames';\n\n// ## Constants\nimport { TAB } from '../../../utilities/constants';\n\nimport Icon from '../../icon';\n\n/*\n * Disabled Tab CSS has been removed. If you'd like to use the styling, please import it in your module bundler.\n */\n// import '!style-loader!css-loader!../../../styles/tabs/tab.css'; // eslint-disable-line import/no-unresolved\n\nclass Tab extends React.Component {\n\tstatic displayName = TAB;\n\n\tstatic propTypes = {\n\t\t/**\n\t\t * CSS classes to be added to the tab.\n\t\t */\n\t\tclassName: PropTypes.string,\n\n\t\t/**\n\t\t * The HTML ID of this tab. Also used by the `<TabPanel />` it controls as `tabId`.\n\t\t */\n\t\tid: PropTypes.string,\n\n\t\t/**\n\t\t * Whether to apply focus to this tab.\n\t\t */\n\t\tfocus: PropTypes.bool,\n\n\t\t/**\n\t\t * When `true`, the class `.slds-is-active` is applied.\n\t\t */\n\t\tselected: PropTypes.bool,\n\n\t\t/**\n\t\t * When `true`, the HTML attribute `aria-disabled` will be applied. Disabled Tab CSS has been removed. If you'd like to use the styling, please import it in your module bundler. `import 'css-loader!/node_modules/design-system-react/styles/tabs/tab.css';` This feature may be removed in the future due to disabled tabs being inaccessible.\n\t\t */\n\t\tdisabled: PropTypes.bool,\n\n\t\t/**\n\t\t * The CSS class to be applied when this tab is selected. Defaults to `.slds-is-active`. If another class is desired, it should be passed in _along with_ `.slds-is-active`, not _instead_ of it.\n\t\t */\n\t\tactiveTabClassName: PropTypes.string,\n\n\t\t/**\n\t\t * The CSS class to be applied when this tab is disabled. Defaults to `.slds-disabled`. If another class is desired, it should be passed in _along with_ `.slds-disabled`, not _instead_ of it.\n\t\t */\n\t\tdisabledTabClassName: PropTypes.string,\n\n\t\t/**\n\t\t * The HTML ID of `<TabPanel />` this tab controls.\n\t\t */\n\t\tpanelId: PropTypes.string,\n\n\t\t/**\n\t\t * The string or element that is shown as both the title and the label for this tab.\n\t\t */\n\t\tchildren: PropTypes.oneOfType([PropTypes.string, PropTypes.element]),\n\n\t\t/**\n\t\t * If the Tabs should be scoped, vertical, or default (default value)\n\t\t */\n\t\tvariant: PropTypes.oneOf(['default', 'scoped', 'vertical']),\n\n\t\t/**\n\t\t * Show an icon that can be used to communicate when a tab contains a validation error that needs attention\n\t\t */\n\t\thasError: PropTypes.bool,\n\n\t\t/**\n\t\t * **Assistive text for accessibility**\n\t\t * This object is merged with the default props object on every render.\n\t\t * * `withErrorIcon`: This text is for the error icon that will be placed next to the `<Tab />` title\n\t\t */\n\t\tassistiveText: PropTypes.shape({\n\t\t\twithErrorIcon: PropTypes.string,\n\t\t}),\n\t};\n\n\tstatic defaultProps = {\n\t\tfocus: false,\n\t\tselected: false,\n\t\tactiveTabClassName: 'slds-is-active',\n\t\tdisabledTabClassName: 'slds-disabled',\n\t\tvariant: 'default',\n\t\thasError: false,\n\t\tassistiveText: {\n\t\t\twithErrorIcon: 'This item has an error',\n\t\t},\n\t};\n\n\tcomponentDidMount() {\n\t\tthis.checkFocus();\n\t}\n\n\tcomponentDidUpdate() {\n\t\tthis.checkFocus();\n\t}\n\n\tcheckFocus = () => {\n\t\tif (this.props.selected && this.props.focus && this.node) {\n\t\t\tthis.node.focus();\n\t\t}\n\t};\n\n\trender() {\n\t\tconst {\n\t\t\tselected,\n\t\t\tdisabled,\n\t\t\tpanelId,\n\t\t\tactiveTabClassName,\n\t\t\tdisabledTabClassName,\n\t\t\tclassName,\n\t\t\tchildren,\n\t\t\tid,\n\t\t\tvariant,\n\t\t\thasError,\n\t\t} = this.props;\n\t\tlet tabIndex;\n\n\t\t/**\n\t\t * Desired a11y behaviour: The active Tab should get focus when the user presses the\n\t\t * Tab key. After that, Arrow keys should be used to change the focus from one tab\n\t\t * to another. Pressing the Tab key one more time should move the focus away from the\n\t\t * Tab group.\n\t\t *\n\t\t * Here, we put the selected Tab in the navigation path (tabIndex = 0) and remove other\n\t\t * tabs from navigation path (tabIndex = -1).\n\t\t */\n\t\tif (selected) {\n\t\t\ttabIndex = '0';\n\t\t} else {\n\t\t\ttabIndex = '-1';\n\t\t}\n\n\t\treturn (\n\t\t\t<li\n\t\t\t\tclassName={classNames(className, {\n\t\t\t\t\t[activeTabClassName]: selected,\n\t\t\t\t\t[disabledTabClassName]: disabled,\n\t\t\t\t\t'slds-tabs_default__item': variant === 'default',\n\t\t\t\t\t'slds-tabs_scoped__item': variant === 'scoped',\n\t\t\t\t\t'slds-vertical-tabs__nav-item': variant === 'vertical',\n\t\t\t\t})}\n\t\t\t\trole=\"presentation\"\n\t\t\t\tid={id}\n\t\t\t\ttitle={typeof children === 'string' ? children : null}\n\t\t\t>\n\t\t\t\t<a\n\t\t\t\t\tclassName={classNames({\n\t\t\t\t\t\t[activeTabClassName]: selected,\n\t\t\t\t\t\t[disabledTabClassName]: disabled,\n\t\t\t\t\t\t'slds-tabs_default__link': variant === 'default',\n\t\t\t\t\t\t'slds-tabs_scoped__link': variant === 'scoped',\n\t\t\t\t\t\t'slds-vertical-tabs__link': variant === 'vertical',\n\t\t\t\t\t})}\n\t\t\t\t\thref=\"javascript:void(0);\" // eslint-disable-line no-script-url\n\t\t\t\t\trole=\"tab\"\n\t\t\t\t\tref={(node) => {\n\t\t\t\t\t\tthis.node = node;\n\t\t\t\t\t}}\n\t\t\t\t\ttabIndex={tabIndex}\n\t\t\t\t\taria-controls={panelId}\n\t\t\t\t\taria-disabled={disabled}\n\t\t\t\t\taria-selected={selected ? 'true' : 'false'}\n\t\t\t\t>\n\t\t\t\t\t{children}\n\t\t\t\t\t{hasError && (\n\t\t\t\t\t\t<span\n\t\t\t\t\t\t\tclassName={classNames({\n\t\t\t\t\t\t\t\t'slds-tabs__right-icon': variant !== 'vertical',\n\t\t\t\t\t\t\t\t'slds-vertical-tabs__right-icon': variant === 'vertical',\n\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<Icon\n\t\t\t\t\t\t\t\tassistiveText={{\n\t\t\t\t\t\t\t\t\tlabel: this.props.assistiveText.withErrorIcon,\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\tcategory=\"utility\"\n\t\t\t\t\t\t\t\tcontainerClassName=\"slds-icon_container slds-icon-utility-error\"\n\t\t\t\t\t\t\t\tsize=\"x-small\"\n\t\t\t\t\t\t\t\tname=\"error\"\n\t\t\t\t\t\t\t\tcolorVariant=\"error\"\n\t\t\t\t\t\t\t\ttitle={this.props.assistiveText.withErrorIcon}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</span>\n\t\t\t\t\t)}\n\t\t\t\t</a>\n\t\t\t</li>\n\t\t);\n\t}\n}\n\nexport default Tab;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// # Tabs Component\n\n// Implements the [Tabs design pattern](https://www.lightningdesignsystem.com/components/tabs/) in React.\n\n// ## Dependencies\n\n// ### React\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\n// ### classNames\nimport classNames from 'classnames';\nimport { TAB_PANEL } from '../../../utilities/constants';\n\n/**\n * The containers of content that are shown and hidden by `Tabs`.\n */\nconst TabPanel = ({\n\tclassName,\n\tchildren,\n\tvariant,\n\tselected,\n\tid,\n\ttabId,\n\t...attributes // eslint-disable-line no-unused-vars\n}) => (\n\t<div\n\t\taria-labelledby={tabId}\n\t\tclassName={classNames(className, {\n\t\t\t'slds-show': selected,\n\t\t\t'slds-hide': !selected,\n\t\t\t'slds-tabs_default__content': variant === 'default',\n\t\t\t'slds-tabs_scoped__content': variant === 'scoped',\n\t\t\t'slds-vertical-tabs__content': variant === 'vertical',\n\t\t})}\n\t\tid={id}\n\t\trole=\"tabpanel\"\n\t>\n\t\t{children.props.children}\n\t</div>\n);\n\nTabPanel.displayName = TAB_PANEL;\n\nTabPanel.propTypes = {\n\t/**\n\t * The `children` are the contents of the tab panel.\n\t *\n\t * Note that the structure of the `<Tabs />` component **does not** correspond to the DOM structure that is rendered. The `<Tabs />` component requires one or more children of type `<TabsPanel />`, which themselves require a `label` property which will be what shows in the `<Tab />` and has `children`, which end up being the _contents of the tab's corresponding panel_.\n\t *\n\t * The component iterates through each `<TabsPanel />` and rendering one `<Tab />` and one `<TabPanel />` for each of them. The tab(s) end up being children of the `<TabsList />`.\n\t *\n\t * The tab panel component actually returns the _children_ of the _children_ which were provided by the `<TabsPanel />` component.\n\t *\n\t * Due to React's nature, the `<TabsPanel />` component wraps its children in a `div` element which we don't need nor want in our rendered DOM structure, so we just bypass it and get its kids via `{children.props.children}` in the render method below.\n\t * ```\n\t * <Tabs>\n\t * \t<TabsPanel label=\"Tab 1\">\n\t * \t\t<h2 className=\"slds-text-heading_medium\">This is my tab 1 contents!</h2>\n\t * \t\t<p>They show when you click the first tab.</p>\n\t * \t</TabsPanel>\n\t * \t<TabsPanel label=\"Tab 2\">\n\t * \t\t<h2 className=\"slds-text-heading_medium\">This is my tab 2 contents!</h2>\n\t * \t\t<p>They show when you click the second tab.</p>\n\t * \t</TabsPanel>\n\t * </Tabs>\n\t * ```\n\t */\n\tchildren: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\n\t/**\n\t * CSS classes to be added to the tab panel.\n\t */\n\tclassName: PropTypes.string,\n\n\t/**\n\t * The HTML ID of this tab panel. Also used by the `<Tab />`that controls it as `panelId`.\n\t */\n\tid: PropTypes.string,\n\n\t/**\n\t * Whether this panel is hidden or shown. Uses the `.slds-show` and `.slds-hide` classes.\n\t */\n\tselected: PropTypes.bool,\n\n\t/**\n\t * If the Tabs should be scoped, vertical, or default (default value)\n\t */\n\tvariant: PropTypes.oneOf(['default', 'scoped', 'vertical']),\n\n\t/**\n\t * The HTML ID of the `<Tab />` that controls this panel.\n\t */\n\ttabId: PropTypes.string,\n};\n\nTabPanel.defaultProps = {\n\tvariant: 'default',\n\tselected: false,\n};\n\nexport default TabPanel;\n","/* eslint-disable no-else-return */\n/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// # Tabs Component\n\n// Implements the [Tabs design pattern](https://www.lightningdesignsystem.com/components/tabs/) in React.\n\n// ## Dependencies\n\n// ### React\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\n// ### shortid\n// `shortid` is a short, non-sequential, url-friendly, unique id generator. It is used here to provide unique strings for the HTML attribute `id` on the Tabs components. It is only used if the `id` prop is not provided on the man <Tabs /> component.\nimport shortid from 'shortid';\n\n// ### classNames\nimport classNames from 'classnames';\n\n// ### isFunction\nimport isFunction from 'lodash.isfunction';\n\n// Child components\nimport TabsList from './private/tabs-list';\nimport Tab from './private/tab';\nimport TabPanel from './private/tab-panel';\n\n// ## Constants\nimport { TABS } from '../../utilities/constants';\n\n// ### Event Helpers\nimport KEYS from '../../utilities/key-code';\nimport EventUtil from '../../utilities/event';\n\n// Determine if a node from event.target is a Tab element\nfunction isTabNode(node) {\n\treturn (\n\t\t(node.nodeName === 'A' && node.getAttribute('role') === 'tab') ||\n\t\t(node.nodeName === 'LI' &&\n\t\t\t(node.classList.contains('slds-tabs_default__item') ||\n\t\t\t\tnode.classList.contains('slds-tabs_scoped__item') ||\n\t\t\t\tnode.classList.contains('slds-vertical-tabs__nav-item')))\n\t);\n}\n\n// Determine if a tab node is disabled\nfunction isTabDisabled(node) {\n\tif (node.classList && node.classList.contains('slds-disabled')) {\n\t\treturn true;\n\t} else if (node.getAttribute) {\n\t\treturn node.getAttribute('aria-disabled') === 'true';\n\t}\n\n\treturn !!node.props.disabled;\n}\n\n/**\n * Tabs keeps related content in a single container that is shown and hidden through navigation.\n */\nconst displayName = TABS;\nconst propTypes = {\n\t/**\n\t * HTML `id` attribute of primary element that has `.slds-tabs_default` on it. Optional: If one is not supplied, a `shortid` will be created.\n\t */\n\tid: PropTypes.string,\n\n\t/**\n\t * The `children` are the actual tabs and panels to be displayed.\n\t *\n\t * Note that the structure of the `<Tabs />` component **does not** correspond to the DOM structure that is rendered. The `<Tabs />` component requires one or more children of type `<TabsPanel />`, which themselves require a `label` property which will be what shows in the `<Tab />` and has `children`, which end up being the _contents of the tab's corresponding panel_.\n\t *\n\t * The component iterates through each `<TabsPanel />` and rendering one `<Tab />` and one `<TabPanel />` for each of them. The tab(s) end up being children of the `<TabsList />`.\n\t *\n\t * ```\n\t * <Tabs>\n\t * \t<TabsPanel label=\"Tab 1\">\n\t * \t\t<div>\n\t * \t\t\t<h2 className=\"slds-text-heading_medium\">This is my tab 1 contents!</h2>\n\t * \t\t\t<p>They show when you click the first tab.</p>\n\t * \t\t</div>\n\t * \t</TabsPanel>\n\t * \t<TabsPanel label=\"Tab 2\">\n\t * \t\t<div>\n\t * \t\t\t<h2 className=\"slds-text-heading_medium\">This is my tab 2 contents!</h2>\n\t * \t\t\t<p>They show when you click the second tab.</p>\n\t * \t\t</div>\n\t * \t</TabsPanel>\n\t * </Tabs>\n\t * ```\n\t */\n\tchildren: PropTypes.oneOfType([\n\t\tPropTypes.arrayOf(PropTypes.node),\n\t\tPropTypes.node,\n\t\tPropTypes.element,\n\t]).isRequired,\n\n\t/**\n\t * Class names to be added to the container element and is passed along to its children.\n\t */\n\tclassName: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\n\t/**\n\t * The Tab (and corresponding TabPanel) that is selected when the component first renders. Defaults to `0`.\n\t */\n\tdefaultSelectedIndex: PropTypes.number,\n\n\t/**\n\t * This function triggers when a tab is selected.\n\t */\n\tonSelect: PropTypes.func,\n\n\t/**\n\t * If the Tabs should be scoped, vertical, or default (default value)\n\t */\n\tvariant: PropTypes.oneOf(['default', 'scoped', 'vertical']),\n\n\t/**\n\t * The Tab (and corresponding TabPanel) that is currently selected.\n\t */\n\tselectedIndex: PropTypes.number,\n};\nconst defaultProps = {\n\tdefaultSelectedIndex: 0,\n\tvariant: 'default',\n};\n\n/**\n * A tab keeps related content in a single container that is shown and hidden through navigation.\n */\nclass Tabs extends React.Component {\n\tconstructor(props) {\n\t\tsuper(props);\n\t\tthis.tabs = [];\n\n\t\t// If no `id` is supplied in the props we generate one. An HTML ID is _required_ for several elements in a tabs component in order to leverage ARIA attributes for accessibility.\n\t\tthis.generatedId = shortid.generate();\n\t\tthis.flavor = this.getVariant();\n\t\tthis.state = {\n\t\t\tselectedIndex: props.defaultSelectedIndex,\n\t\t};\n\t}\n\n\tgetNextTab(index) {\n\t\tconst count = this.getTabsCount();\n\n\t\t// Look for non-disabled tab from index to the last tab on the right\n\t\t// eslint-disable-next-line no-plusplus\n\t\t// eslint-disable-next-line no-plusplus, fp/no-loops\n\t\tfor (let i = index + 1; i < count; i++) {\n\t\t\tconst tab = this.getTab(i);\n\t\t\tif (!isTabDisabled(tab)) {\n\t\t\t\treturn i;\n\t\t\t}\n\t\t}\n\n\t\t// If no tab found, continue searching from first on left to index\n\t\t// eslint-disable-next-line no-plusplus, fp/no-loops\n\t\tfor (let i = 0; i < index; i++) {\n\t\t\tconst tab = this.getTab(i);\n\t\t\tif (!isTabDisabled(tab)) {\n\t\t\t\treturn i;\n\t\t\t}\n\t\t}\n\n\t\t// No tabs are disabled, return index\n\t\treturn index;\n\t}\n\n\tgetPanelsCount() {\n\t\treturn this.props.children ? React.Children.count(this.props.children) : 0;\n\t}\n\n\tgetPrevTab(index) {\n\t\tlet i = index;\n\n\t\t// Look for non-disabled tab from index to first tab on the left\n\t\t// eslint-disable-next-line fp/no-loops, no-plusplus\n\t\twhile (i--) {\n\t\t\tconst tab = this.getTab(i);\n\t\t\tif (!isTabDisabled(tab)) {\n\t\t\t\treturn i;\n\t\t\t}\n\t\t}\n\n\t\t// If no tab found, continue searching from last tab on right to index\n\t\ti = this.getTabsCount();\n\t\t// eslint-disable-next-line fp/no-loops, no-plusplus\n\t\twhile (i-- > index) {\n\t\t\tconst tab = this.getTab(i);\n\t\t\tif (!isTabDisabled(tab)) {\n\t\t\t\treturn i;\n\t\t\t}\n\t\t}\n\n\t\t// No tabs are disabled, return index\n\t\treturn index;\n\t}\n\n\tgetSelectedIndex() {\n\t\treturn Number.isInteger(this.props.selectedIndex)\n\t\t\t? this.props.selectedIndex\n\t\t\t: this.state.selectedIndex;\n\t}\n\n\tgetTab(index) {\n\t\treturn this.tabs[index].tab;\n\t}\n\n\tgetTabNode(index) {\n\t\treturn this.tabs[index].node;\n\t}\n\n\tgetTabsCount() {\n\t\treturn this.props.children ? React.Children.count(this.props.children) : 0;\n\t}\n\n\tgetVariant() {\n\t\treturn this.props.variant || 'default';\n\t}\n\n\tsetSelected(index, focus) {\n\t\t// Check index boundary\n\t\tif (index < 0 || index >= this.getTabsCount()) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Keep reference to last index for event handler\n\t\tconst last = this.getSelectedIndex();\n\n\t\t/**\n\t\t * This is a temporary solution that could be broken in the future without notification,\n\t\t * since this component is not a controlled component and only relies on internal state.\n\t\t * If this breaks in the future an alternative way to control the state from outside the\n\t\t * component should be present.\n\t\t * */\n\t\tlet shouldContinue;\n\t\t// Call change event handler\n\t\tif (isFunction(this.props.onSelect)) {\n\t\t\tshouldContinue = this.props.onSelect(index, last);\n\t\t}\n\n\t\t// Don't update the state if nothing has changed\n\t\tif (shouldContinue !== false && index !== this.state.selectedIndex) {\n\t\t\tthis.setState({ selectedIndex: index, focus: focus === true });\n\t\t}\n\t}\n\n\thandleClick = (e) => {\n\t\tlet node = e.target;\n\t\t/* eslint-disable no-cond-assign, fp/no-loops */\n\t\tdo {\n\t\t\tif (this.isTabFromContainer(node)) {\n\t\t\t\tif (isTabDisabled(node)) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tlet parentNode = node.parentNode; // eslint-disable-line prefer-destructuring\n\n\t\t\t\tif (parentNode.nodeName === 'LI') {\n\t\t\t\t\tnode = node.parentNode;\n\t\t\t\t\tparentNode = node.parentNode; // eslint-disable-line prefer-destructuring\n\t\t\t\t}\n\n\t\t\t\tconst index = [].slice.call(parentNode.children).indexOf(node);\n\t\t\t\tthis.setSelected(index);\n\t\t\t\treturn;\n\t\t\t}\n\t\t} while ((node = node.parentNode) !== null);\n\t\t/* eslint-enable no-cond-assign */\n\t};\n\n\thandleKeyDown = (event) => {\n\t\tif (this.isTabFromContainer(event.target)) {\n\t\t\tlet index = this.getSelectedIndex();\n\t\t\tlet preventDefault = false;\n\n\t\t\tif (event.keyCode === KEYS.LEFT || event.keyCode === KEYS.UP) {\n\t\t\t\t// Select next tab to the left\n\t\t\t\tindex = this.getPrevTab(index);\n\t\t\t\tpreventDefault = true;\n\t\t\t} else if (event.keyCode === KEYS.RIGHT || event.keyCode === KEYS.DOWN) {\n\t\t\t\t// Select next tab to the right\n\t\t\t\tindex = this.getNextTab(index);\n\t\t\t\tpreventDefault = true;\n\t\t\t}\n\n\t\t\t// Prevent any dumn scrollbars from moving around as we type.\n\t\t\tif (preventDefault) {\n\t\t\t\tEventUtil.trap(event);\n\t\t\t}\n\n\t\t\tthis.setSelected(index, true);\n\t\t}\n\t};\n\n\t/**\n\t * Determine if a node from event.target is a Tab element for the current Tabs container.\n\t * If the clicked element is not a Tab, it returns false.\n\t * If it finds another Tabs container between the Tab and `this`, it returns false.\n\t */\n\tisTabFromContainer(node) {\n\t\t// Return immediately if the clicked element is not a Tab. This prevents tab panel content from selecting a tab.\n\t\tif (!isTabNode(node)) {\n\t\t\treturn false;\n\t\t}\n\n\t\t// Check if the first occurrence of a Tabs container is `this` one.\n\t\tlet nodeAncestor = node.parentElement;\n\t\tdo {\n\t\t\tif (nodeAncestor === this.tabsNode) return true;\n\t\t\telse if (nodeAncestor.getAttribute('data-tabs')) break;\n\t\t\tnodeAncestor = nodeAncestor.parentElement;\n\t\t} while (nodeAncestor);\n\n\t\treturn false;\n\t}\n\n\trenderTabPanels(parentId) {\n\t\tconst children = React.Children.toArray(this.props.children);\n\t\tconst selectedIndex = this.getSelectedIndex();\n\t\tlet result = null;\n\n\t\tresult = children.map((child, index) => {\n\t\t\tconst tabId = `${parentId}-slds-tabs_tab-${index}`;\n\t\t\tconst id = `${parentId}-slds-tabs_panel-${index}`;\n\t\t\tconst selected = selectedIndex === index;\n\t\t\tconst variant = this.getVariant();\n\n\t\t\treturn (\n\t\t\t\t<TabPanel\n\t\t\t\t\tkey={child.key}\n\t\t\t\t\tselected={selected}\n\t\t\t\t\tid={id}\n\t\t\t\t\ttabId={tabId}\n\t\t\t\t\tvariant={variant}\n\t\t\t\t>\n\t\t\t\t\t{children[index]}\n\t\t\t\t</TabPanel>\n\t\t\t);\n\t\t});\n\t\treturn result;\n\t}\n\n\trenderTabsList(parentId) {\n\t\tconst children = React.Children.toArray(this.props.children);\n\n\t\treturn (\n\t\t\t// `parentId` gets consumed by TabsList, adding a suffix of `-tabs__nav`\n\t\t\t<TabsList id={parentId} variant={this.getVariant()}>\n\t\t\t\t{children.map((child, index) => {\n\t\t\t\t\tconst id = `${parentId}-slds-tabs_tab-${index}`;\n\t\t\t\t\tconst panelId = `${parentId}-slds-tabs_panel-${index}`;\n\t\t\t\t\tconst selected = this.getSelectedIndex() === index;\n\t\t\t\t\tconst focus = selected && this.state.focus;\n\t\t\t\t\tconst variant = this.getVariant();\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<Tab\n\t\t\t\t\t\t\tkey={child.key}\n\t\t\t\t\t\t\tref={(node) => {\n\t\t\t\t\t\t\t\tthis.tabs[index] = { tab: child, node };\n\t\t\t\t\t\t\t\tif (this.state.focus) {\n\t\t\t\t\t\t\t\t\tthis.setState({ focus: false });\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\tfocus={focus}\n\t\t\t\t\t\t\tselected={selected}\n\t\t\t\t\t\t\tid={id}\n\t\t\t\t\t\t\tpanelId={panelId}\n\t\t\t\t\t\t\tdisabled={child.props.disabled}\n\t\t\t\t\t\t\tvariant={variant}\n\t\t\t\t\t\t\thasError={child.props.hasError}\n\t\t\t\t\t\t\tassistiveText={child.props.assistiveText}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{child.props.label}\n\t\t\t\t\t\t</Tab>\n\t\t\t\t\t);\n\t\t\t\t})}\n\t\t\t</TabsList>\n\t\t);\n\t}\n\n\trender() {\n\t\tconst {\n\t\t\tclassName,\n\t\t\tid = this.generatedId,\n\t\t\tvariant = this.getVariant,\n\t\t} = this.props;\n\n\t\treturn (\n\t\t\t/* eslint-disable jsx-a11y/no-static-element-interactions */\n\t\t\t<div\n\t\t\t\tid={id}\n\t\t\t\tclassName={classNames(\n\t\t\t\t\t{\n\t\t\t\t\t\t'slds-tabs_default': variant === 'default',\n\t\t\t\t\t\t'slds-tabs_scoped': variant === 'scoped',\n\t\t\t\t\t\t'slds-vertical-tabs': variant === 'vertical',\n\t\t\t\t\t},\n\t\t\t\t\tclassName\n\t\t\t\t)}\n\t\t\t\tonClick={this.handleClick}\n\t\t\t\tonKeyDown={this.handleKeyDown}\n\t\t\t\tdata-tabs\n\t\t\t\tref={(node) => {\n\t\t\t\t\tthis.tabsNode = node;\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\t{/* eslint-enable jsx-a11y/no-static-element-interactions */}\n\t\t\t\t{this.renderTabsList(id)}\n\t\t\t\t{this.renderTabPanels(id)}\n\t\t\t</div>\n\t\t);\n\t}\n}\nTabs.displayName = displayName;\nTabs.propTypes = propTypes;\nTabs.defaultProps = defaultProps;\n\nexport default Tabs;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\nimport { TABS_PANEL } from '../../utilities/constants';\n\n/**\n * The `<TabsPanel />` component allows us to simplify the structure of the `<Tabs />` component.\n\n * Rather than require different (deeply nested) children for tabslist, with its tab(s) as well as tabpanel(s), we provide this `TabsPanel` component which takes a `label` property that will become what is shown on the `<Tab />` that will be associated with it.\n\n * The `children` of the Panel will be fed to the `<TabPanel />` component, while its `label` is handled in `<Tab />`, via `<TabsList />`.\n *\n * ```\n * <TabsPanel label=\"Tab 1\">\n * \t<div>\n * \t\t<h2 className=\"slds-text-heading_medium\">This is my tab 1 contents!</h2>\n * \t\t<p>They show when you click the first tab.</p>\n * \t</div>\n * </TabsPanel>\n * ```\n */\nconst Panel = ({ children }) => <div>{React.Children.toArray(children)}</div>;\n\nPanel.displayName = TABS_PANEL;\n\nPanel.propTypes = {\n\t/**\n\t * The string or element that is handed off to the `<Tab />` component, ends up being the title and the label for the tab associated with its tab panel.\n\t */\n\tlabel: PropTypes.oneOfType([PropTypes.string, PropTypes.element]).isRequired,\n\n\t/**\n\t * The `children` are the actual tab panels to be rendered. They get created by [tabs/index.jsx](./index.jsx) in the `renderTabPanels` function.\n\t *\n\t * Note that the `<TabsPanel />` component inserts a `div` element around the children, because React requires exactly one \"parent\" element returned. The `<TabPanel />` component simply dips down into `children` to get the children of this wrapping `div` so that it does not get rendered in the DOM.\n\t */\n\tchildren: PropTypes.oneOfType([\n\t\tPropTypes.arrayOf(PropTypes.node),\n\t\tPropTypes.node,\n\t\tPropTypes.element,\n\t]).isRequired,\n\n\t/**\n\t * Show an icon on the `<Tab />` next to the title that can be used to communicate when a tab contains a validation error that needs attention\n\t */\n\thasError: PropTypes.bool, // deepscan-disable-line REACT_USELESS_PROP_TYPES\n\n\t/**\n\t * **Assistive text for accessibility**\n\t * This object is merged with the default props object on every render.\n\t * * `withErrorIcon`: This text is for the error icon that will be placed next to the `<Tab />` title\n\t */\n\t/* deepscan-disable REACT_USELESS_PROP_TYPES */\n\tassistiveText: PropTypes.shape({\n\t\twithErrorIcon: PropTypes.string,\n\t}),\n\t/* deepscan-enable REACT_USELESS_PROP_TYPES */\n};\n\nexport default Panel;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n/* eslint-disable import/no-mutable-exports */\n\n// This function will deliver an error message to the browser console when all of the props passed in are undefined (falsey).\nimport warning from 'warning';\n\nlet incompatibleProps = function incompatiblePropsFunction() {};\n\nif (process.env.NODE_ENV !== 'production') {\n\tincompatibleProps = function incompatiblePropsFunction(\n\t\tcontrol,\n\t\tprops,\n\t\tpropOneName,\n\t\tpropOneValues,\n\t\tpropTwoName,\n\t\tpropTwoValues,\n\t\tcomment\n\t) {\n\t\tlet checkPassed = true;\n\t\tlet propOneConditionMet = false;\n\t\tlet propTwoConditionMet = false;\n\n\t\tif (props[propOneName] && props[propTwoName]) {\n\t\t\tif (propOneValues) {\n\t\t\t\tpropOneValues.forEach((value) => {\n\t\t\t\t\tpropOneConditionMet = props[propOneName] === value;\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\tpropOneConditionMet = true;\n\t\t\t}\n\n\t\t\tif (propTwoValues) {\n\t\t\t\tpropTwoValues.forEach((value) => {\n\t\t\t\t\tpropTwoConditionMet = props[propTwoName] === value;\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\tpropTwoConditionMet = true;\n\t\t\t}\n\n\t\t\tcheckPassed = !(propOneConditionMet && propTwoConditionMet);\n\t\t}\n\n\t\tif (!checkPassed) {\n\t\t\tconst additionalComment = comment ? ` ${comment}` : '';\n\t\t\tconst incompatibleValueOne = propOneValues\n\t\t\t\t? ` of value \\`${props[propOneName]}\\``\n\t\t\t\t: '';\n\t\t\tconst incompatibleValueTwo = propTwoValues\n\t\t\t\t? ` of value \\`${props[propTwoName]}\\``\n\t\t\t\t: '';\n\n\t\t\t/* eslint-disable max-len */\n\t\t\twarning(\n\t\t\t\tfalse,\n\t\t\t\t`[Design System React] ${control} should not be passed prop \\`${propOneName}\\`${incompatibleValueOne} along with prop \\`${propTwoName}\\`${incompatibleValueTwo} as they are incompatible.${additionalComment}`\n\t\t\t);\n\t\t\t/* eslint-enable max-len */\n\t\t}\n\t};\n}\n\nexport default incompatibleProps;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n/* eslint-disable import/no-mutable-exports */\n/* eslint-disable max-len */\n\nimport oneOfRequiredProperty from '../../utilities/warning/one-of-required-property';\nimport oneOfComponent from '../../utilities/warning/one-of-component';\nimport deprecatedProperty from '../../utilities/warning/deprecated-property';\nimport getComponentDocFn from '../../utilities/get-component-doc';\nimport incompatibleProps from '../../utilities/warning/incompatible-props';\n\nlet checkProps = function checkPropsFunction() {};\n\nif (process.env.NODE_ENV !== 'production') {\n\tcheckProps = function checkPropsFunction(COMPONENT, props, jsonDoc) {\n\t\tconst createDocUrl = getComponentDocFn(jsonDoc);\n\n\t\toneOfRequiredProperty(\n\t\t\tCOMPONENT,\n\t\t\t{\n\t\t\t\tariaLabelledby: props.ariaLabelledby,\n\t\t\t\theading: props.heading,\n\t\t\t},\n\t\t\tcreateDocUrl()\n\t\t);\n\n\t\tif (props.children !== undefined) {\n\t\t\tif (props.children.length && props.children.length > 1) {\n\t\t\t\toneOfComponent(\n\t\t\t\t\tCOMPONENT,\n\t\t\t\t\tprops,\n\t\t\t\t\t'children[0]',\n\t\t\t\t\t['SLDSButton', 'a', 'button', 'SLDSInnerInput', 'SLDSPopoverTooltip'],\n\t\t\t\t\t` Multiple children of any kind are allowed, but the first child must serve as the trigger component. ${createDocUrl()}`,\n\t\t\t\t\tprops.children[0]\n\t\t\t\t);\n\t\t\t} else {\n\t\t\t\toneOfComponent(\n\t\t\t\t\tCOMPONENT,\n\t\t\t\t\tprops,\n\t\t\t\t\t'children',\n\t\t\t\t\t['SLDSButton', 'a', 'button', 'SLDSInnerInput', 'SLDSPopoverTooltip'],\n\t\t\t\t\tcreateDocUrl()\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\n\t\tdeprecatedProperty(\n\t\t\tCOMPONENT,\n\t\t\tprops.offset,\n\t\t\t'offset',\n\t\t\tundefined,\n\t\t\t`The manual setting of positional offset of dialog components has been deemed unreliable. Position logic has been re-written to deliver better and more reliable positioning. Please create an issue if you have an edge case not covered by the built-in logic. ${createDocUrl()}`,\n\t\t\tprops.silenceDeprecatedPropertyWarning || false\n\t\t);\n\n\t\tdeprecatedProperty(\n\t\t\tCOMPONENT,\n\t\t\tprops.isInline,\n\t\t\t'isInline',\n\t\t\t'position=\"relative\"',\n\t\t\tcreateDocUrl('position')\n\t\t);\n\n\t\tdeprecatedProperty(\n\t\t\tCOMPONENT,\n\t\t\tprops.closeButtonAssistiveText,\n\t\t\t'closeButtonAssistiveText',\n\t\t\t\"assistiveText['closeButton']\",\n\t\t\tcreateDocUrl('assistiveText')\n\t\t);\n\n\t\tincompatibleProps(\n\t\t\tCOMPONENT,\n\t\t\tprops,\n\t\t\t'position',\n\t\t\t['relative'],\n\t\t\t'target',\n\t\t\tnull,\n\t\t\t`${createDocUrl()}`\n\t\t);\n\t};\n}\n\nexport default checkProps;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// # Assistive Technology / Keyboard Navigable Trait for Dialogs with Tabbable content\n\n/*\n * Guidelines for Popover\n *\n * - Focus is trapped. Tabbing to an index outside of the dialog is not allowed. Popover must be closed first via ESC.\n * - There should always be a focusable element inside, to place user focus on such as a close button\n * - Must be dismissible via ESC and a close button\n * - Uses tabIndex in wrapper and has tabbable items within it despite being outside document flow.\n * - Entire popover receives focus when opened and has a aria-labelledby that points to the header id, so it will read the heading,\n * - Must return focus to trigger after closing.\n * - F6 will allow the user to keep popover open and go back to tabbing in “app-context” instead of “dialog-context.” (not implemented, yet)\n */\n\n// ## Dependencies\n\n// ### React\nimport ReactDOM from 'react-dom';\n\n// ### Event Helpers\nimport KEYS from './key-code';\n\n/* eslint-disable react/no-find-dom-node */\n\nconst internalHandleClick = ({ trigger, eventTarget, handleClick }) => {\n\tif (trigger && ReactDOM.findDOMNode(trigger) === eventTarget) {\n\t\t// eslint-disable-line react/no-find-dom-node\n\t\thandleClick(event);\n\t}\n};\n\nconst KeyboardNavigableDialog = ({\n\tisOpen,\n\thandleClick,\n\tkeyCode,\n\teventTarget,\n\ttrigger,\n\ttoggleOpen,\n}) => {\n\tswitch (keyCode) {\n\t\tcase KEYS.ESCAPE:\n\t\t\tif (isOpen) {\n\t\t\t\ttoggleOpen();\n\t\t\t}\n\t\t\tbreak;\n\t\tcase KEYS.ENTER:\n\t\t\tif (!isOpen) {\n\t\t\t\tinternalHandleClick({\n\t\t\t\t\ttrigger,\n\t\t\t\t\teventTarget,\n\t\t\t\t\thandleClick,\n\t\t\t\t});\n\t\t\t}\n\t\t\tbreak;\n\t\tdefault:\n\t\t\tbreak;\n\t}\n};\n\nexport default KeyboardNavigableDialog;\n","/* eslint-disable max-lines */\n/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// # Popover Component\n\n// Implements the [Popover design pattern](https://www.lightningdesignsystem.com/components/popovers) in React.\n\n// ### React\nimport React from 'react';\n\nimport PropTypes from 'prop-types';\n\n// ### classNames\n// [github.com/JedWatson/classnames](https://github.com/JedWatson/classnames)\n// This project uses `classnames`, \"a simple javascript utility for conditionally\n// joining classNames together.\"\nimport classNames from 'classnames';\n\n// ### isFunction\nimport isFunction from 'lodash.isfunction';\n\n// ### shortid\n// [npmjs.com/package/shortid](https://www.npmjs.com/package/shortid)\n// shortid is a short, non-sequential, url-friendly, unique id generator\nimport shortid from 'shortid';\n\n// This component's `checkProps` which issues warnings to developers about properties when in development mode (similar to React's built in development tools)\nimport checkProps from './check-props';\nimport componentDoc from './component.json';\n\nimport Button from '../button';\nimport MediaObject from '../media-object';\nimport Icon from '../icon';\n\n// ### Children\nimport Dialog from '../utilities/dialog';\n\n// #### KeyboardNavigable\nimport keyboardNavigableDialog from '../../utilities/keyboard-navigable-dialog';\n\nimport KEYS from '../../utilities/key-code';\nimport { POPOVER } from '../../utilities/constants';\n\nconst documentDefined = typeof document !== 'undefined';\n\n// The overlay is an optional way to allow the popover to close on outside\n// clicks even when those clicks are over areas that wouldn't normally fire\n// click or touch events (for example, iframes). A single overlay is shared\n// between all popovers in the app.\nconst overlay = documentDefined\n\t? document.createElement('span')\n\t: { style: {} };\noverlay.style.top = 0;\noverlay.style.left = 0;\noverlay.style.width = '100%';\noverlay.style.height = '100%';\noverlay.style.position = 'absolute';\n\nlet currentOpenPopover;\n\n// FIXME - what is this exported for? Probably needs to be deprecated.\nconst PopoverNubbinPositions = [\n\t'top left',\n\t'top',\n\t'top right',\n\t'bottom left',\n\t'bottom',\n\t'bottom right',\n];\n\nconst defaultProps = {\n\talign: 'right',\n\tassistiveText: {\n\t\tcloseButton: 'Close dialog',\n\t},\n\thasNoCloseButton: false,\n\thasNoNubbin: false,\n\thoverCloseDelay: 300,\n\topenOn: 'click',\n\tposition: 'absolute',\n\tvariant: 'base',\n};\n\n/**\n * The Popover component is a non-modal dialog. It should be paired with a clickable trigger such as a `Button`. It traps focus from the page and must be exited if focus needs to be outside the Popover. Use a `Tooltip` if there are no call to actions within the dialog. A `Tooltip` does not need to be clicked. Multiple popovers open at the same time, each with focus trap is not supported.\n */\nclass Popover extends React.Component {\n\t// ### Display Name\n\t// Always use the canonical component name as the React display name.\n\tstatic displayName = POPOVER;\n\n\t// ### Prop Types\n\tstatic propTypes = {\n\t\t/**\n\t\t * Aligns the popover with the respective side of the trigger. That is `top` will place the `Popover` above the trigger.\n\t\t */\n\t\talign: PropTypes.oneOf([\n\t\t\t'top',\n\t\t\t'top left',\n\t\t\t'top right',\n\t\t\t'right',\n\t\t\t'right top',\n\t\t\t'right bottom',\n\t\t\t'bottom',\n\t\t\t'bottom left',\n\t\t\t'bottom right',\n\t\t\t'left',\n\t\t\t'left top',\n\t\t\t'left bottom',\n\t\t]),\n\t\t/**\n\t\t * **Assistive text for accessibility.**\n\t\t * This object is merged with the default props object on every render.\n\t\t * * `closeButton`: This is a visually hidden label for the close button.\n\t\t */\n\t\tassistiveText: PropTypes.shape({\n\t\t\tcloseButton: PropTypes.string,\n\t\t}),\n\t\t/**\n\t\t * HTML `id` of heading for popover. Only use if your header is within your popover body.\n\t\t */\n\t\tariaLabelledby: PropTypes.string,\n\t\t/**\n\t\t * Multiple children of any kind are allowed, but the first child must serve as the trigger component. Many props will be passed into this trigger related to popover interactions. The trigger needs to be a clickable element, such as a `Button` or an anchor tag (`a`).\n\t\t */\n\t\tchildren: PropTypes.node.isRequired,\n\t\t/**\n\t\t * The contents of the popover. This should also accept arrays.\n\t\t */\n\t\tbody: PropTypes.oneOfType([PropTypes.node, PropTypes.array]).isRequired,\n\t\t/**\n\t\t * CSS classes to be added to the popover footer. That is the element with `.slds-popover__body` on it.\n\t\t */\n\t\tclassNameBody: PropTypes.oneOfType([\n\t\t\tPropTypes.array,\n\t\t\tPropTypes.object,\n\t\t\tPropTypes.string,\n\t\t]),\n\t\t/**\n\t\t * CSS classes to be added to the popover footer. That is the element with `.slds-popover__footer` on it.\n\t\t */\n\t\tclassNameFooter: PropTypes.oneOfType([\n\t\t\tPropTypes.array,\n\t\t\tPropTypes.object,\n\t\t\tPropTypes.string,\n\t\t]),\n\t\t/**\n\t\t * This prop is passed onto the triggering `Button`. Prevent popover from opening. Also applies disabled styling to trigger button.\n\t\t */\n\t\tdisabled: PropTypes.bool,\n\t\t/**\n\t\t * A footer is an optional. Buttons are often placed here.\n\t\t */\n\t\tfooter: PropTypes.node,\n\t\t/**\n\t\t * An object of CSS styles that are applied to the `slds-popover__footer` DOM element.\n\t\t */\n\t\tfooterStyle: PropTypes.object,\n\t\t/**\n\t\t * Used with `walkthrough` variant to provide action buttons (ex: \"Next\" / \"Skip\" / etc) for a walkthrough popover footer. Accepts either a single node or array of nodes for multiple buttons.\n\t\t */\n\t\tfooterWalkthroughActions: PropTypes.oneOfType([\n\t\t\tPropTypes.node,\n\t\t\tPropTypes.arrayOf(PropTypes.node),\n\t\t]),\n\t\t/**\n\t\t * Determines if the popover has a close button or not. Default is `false`\n\t\t */\n\t\thasNoCloseButton: PropTypes.bool,\n\t\t/**\n\t\t * Determines if the popover has a nubbin or not. Default is `false`\n\t\t */\n\t\thasNoNubbin: PropTypes.bool,\n\t\t/**\n\t\t * Prevents the Popover from changing position based on the viewport/window. If set to true your popover can extend outside the viewport _and_ overflow outside of a scrolling parent. If this happens, you might want to consider making the popover contents scrollable to fit the menu on the screen. When enabled, `position` `absolute` is used.\n\t\t */\n\t\thasStaticAlignment: PropTypes.bool,\n\t\t/**\n\t\t * Removes `display:inline-block` from the trigger button.\n\t\t */\n\t\thasNoTriggerStyles: PropTypes.bool,\n\t\t/**\n\t\t * All popovers require a heading that labels the popover for assistive technology users. This text will be placed within a heading HTML tag, or in an h2 within the popover body if used with `variant=\"walkthrough-action\"`. A heading is **highly recommended for accessibility reasons.** Please see `ariaLabelledby` prop.\n\t\t */\n\t\theading: PropTypes.oneOfType([PropTypes.string, PropTypes.node]),\n\t\t/**\n\t\t * Icon displayed in the `feature` variant\n\t\t */\n\t\ticon: PropTypes.node,\n\t\t/**\n\t\t * By default, a unique ID will be created at render to support keyboard navigation, ARIA roles, and connect the popover to the triggering button. This ID will be applied to the triggering element. `${id}-popover`, `${id}-dialog-heading`, `${id}-dialog-body` are also created.\n\t\t */\n\t\tid: PropTypes.string,\n\t\t/**\n\t\t * Forces the popover to be open or closed. See controlled/uncontrolled callback/prop pattern for more on suggested use [](https://github.com/salesforce-ux/design-system-react/blob/master/CONTRIBUTING.md#concepts-and-best-practices) You will want this if Popover is to be a controlled component.\n\t\t */\n\t\tisOpen: PropTypes.bool,\n\t\t/**\n\t\t * This function is passed onto the triggering `Button`. Triggered when the trigger button is clicked. You will want this if Popover is to be a controlled component.\n\t\t */\n\t\tonClick: PropTypes.func,\n\t\t/**\n\t\t * This function is triggered when the dialog is closed. This occurs when the Dialog child component (that is the actual popover) is unmounted and removed from the DOM. This function returns `{event, { trigger, componentWillUnmount }`. Trigger can have the values `cancel`, `clickOutside`, or `newPopover`.\n\t\t */\n\t\tonClose: PropTypes.func,\n\t\t/**\n\t\t * Called when a key is pressed.\n\t\t */\n\t\tonKeyDown: PropTypes.func,\n\t\t/**\n\t\t * Called when mouse clicks down on the trigger button.\n\t\t */\n\t\tonMouseDown: PropTypes.func,\n\t\t/**\n\t\t * This function is triggered when the Dialog child component (that is the actual popover) is mounted and added to the DOM. The parameters are `event, { portal: }`. `portal` can be used as a React tree root node.\n\t\t */\n\t\tonOpen: PropTypes.func,\n\t\t/**\n\t\t * This function is triggered when the user clicks outside the Popover or clicks the close button. You will want to define this if Popover is to be a controlled component. Most of the time you will want to set `isOpen` to `false` when this is triggered unless you need to validate something.\n\t\t */\n\t\tonRequestClose: PropTypes.func,\n\t\t/**\n\t\t * Callback that returns an element or React `ref` to align the Popover with. If the target element has not been rendered yet, the popover will use the triggering element as the attachment target instead. NOTE: `position=\"relative\"` is not compatible with custom targets that are not the triggering element.\n\t\t */\n\t\tonRequestTargetElement: PropTypes.func,\n\t\t/**\n\t\t * Please select one of the following:\n\t\t * * `absolute` - (default) The dialog will use `position: absolute` and style attributes to position itself. This allows inverted placement or flipping of the dialog.\n\t\t * * `overflowBoundaryElement` - The dialog will overflow scrolling parents. Use on elements that are aligned to the left or right of their target and don't care about the target being within a scrolling parent. Typically this is a popover or tooltip. Dropdown menus can usually open up and down if no room exists. In order to achieve this a portal element will be created and attached to `body`. This element will render into that detached render tree.\n\t\t * * `relative` - No styling or portals will be used. Menus will be positioned relative to their triggers. This is a great choice for HTML snapshot testing. NOTE: this setting is not compatible with custom targets outside the trigger\n\t\t */\n\t\tposition: PropTypes.oneOf([\n\t\t\t'absolute',\n\t\t\t'overflowBoundaryElement',\n\t\t\t'relative',\n\t\t]),\n\t\t/**\n\t\t * Used with `walkthrough` variant to provide the step text (ex: \"Step 1 of 4\") for a walkthrough popover footer. If used with `variant=\"walkthrough-action\"`, it will be placed in the popover body.\n\t\t */\n\t\tstepText: PropTypes.string,\n\t\t/**\n\t\t * An object of CSS styles that are applied to the `slds-popover` DOM element.\n\t\t */\n\t\tstyle: PropTypes.object,\n\t\t/**\n\t\t * If `true`, adds a transparent overlay when the menu is open to handle outside clicks. Allows clicks on iframes to be captured, but also forces a double-click to interact with other elements. If a function is passed, custom overlay logic may be defined by the app.\n\t\t */\n\t\toverlay: PropTypes.oneOfType([PropTypes.bool, PropTypes.func]),\n\t\t/**\n\t\t * CSS classes to be added to wrapping trigger `div` around the button.\n\t\t */\n\t\ttriggerClassName: PropTypes.oneOfType([\n\t\t\tPropTypes.array,\n\t\t\tPropTypes.object,\n\t\t\tPropTypes.string,\n\t\t]),\n\t\t/**\n\t\t * Determines the type of the popover. `error` and `warning` allows the content body to scroll. Default is `base` _Tested with snaphots._\n\t\t */\n\t\tvariant: PropTypes.oneOf([\n\t\t\t'base',\n\t\t\t'error',\n\t\t\t'feature',\n\t\t\t'walkthrough',\n\t\t\t'walkthrough-action',\n\t\t\t'warning',\n\t\t]),\n\t};\n\n\tstatic defaultProps = defaultProps;\n\n\tstate = {\n\t\tisOpen: false,\n\t};\n\n\tconstructor(props) {\n\t\tsuper(props);\n\n\t\tthis.generatedId = shortid.generate();\n\t\t// `checkProps` issues warnings to developers about properties (similar to React's built in development tools)\n\t\tcheckProps(POPOVER, props, componentDoc);\n\t}\n\n\tcomponentWillUnmount() {\n\t\tif (currentOpenPopover === this) {\n\t\t\tcurrentOpenPopover = undefined;\n\t\t}\n\t\tthis.isUnmounting = true;\n\t\tthis.renderOverlay(false);\n\t}\n\n\tgetId = () => this.props.id || this.generatedId;\n\n\tgetIsOpen = () =>\n\t\t!this.props.disabled &&\n\t\t!!(typeof this.props.isOpen === 'boolean'\n\t\t\t? this.props.isOpen\n\t\t\t: this.state.isOpen);\n\n\tgetMenu = () =>\n\t\t// needed by keyboard navigation\n\t\tthis.dialog;\n\n\tgetTargetElement = () =>\n\t\tthis.props.onRequestTargetElement && this.props.onRequestTargetElement()\n\t\t\t? this.props.onRequestTargetElement()\n\t\t\t: this.trigger;\n\n\tsetMenuRef = (component) => {\n\t\tthis.dialog = component;\n\t};\n\n\tsetContainerRef = (component) => {\n\t\tthis.trigger = component;\n\t\t// yes, this is a re-render triggered by a render.\n\t\t// Dialog/Popper.js cannot place the popover until\n\t\t// the trigger/target DOM node is mounted. This\n\t\t// way `findDOMNode` is not called and parent\n\t\t// DOM nodes are not queried.\n\t\tif (!this.state.inputRendered) {\n\t\t\tthis.setState({ inputRendered: true });\n\t\t}\n\t};\n\n\thandleDialogClose = (event, data) => {\n\t\tconst componentWillUnmount = (data && data.componentWillUnmount) || false;\n\n\t\tif (currentOpenPopover === this) {\n\t\t\tcurrentOpenPopover = undefined;\n\t\t}\n\n\t\tif (this.props.onClose) {\n\t\t\tthis.props.onClose(event, {\n\t\t\t\t// Breaking change: component object reference has been\n\t\t\t\t// removed (`this`), due to endless loop creation.\n\t\t\t\tcomponentWillUnmount,\n\t\t\t});\n\t\t}\n\t};\n\n\thandleClose = (event, data) => {\n\t\tconst isOpen = this.getIsOpen();\n\n\t\tif (isOpen) {\n\t\t\t// call even if closed\n\t\t\tif (this.props.onRequestClose) {\n\t\t\t\tthis.props.onRequestClose(event, data);\n\t\t\t}\n\n\t\t\tif (currentOpenPopover === this) {\n\t\t\t\tcurrentOpenPopover = undefined;\n\t\t\t}\n\n\t\t\tthis.setState({\n\t\t\t\tisOpen: false,\n\t\t\t});\n\n\t\t\tthis.isHover = false;\n\t\t}\n\t};\n\n\thandleOpen = () => {\n\t\tconst isOpen = this.getIsOpen();\n\n\t\tif (!isOpen) {\n\t\t\tif (currentOpenPopover && isFunction(currentOpenPopover.handleClose)) {\n\t\t\t\tcurrentOpenPopover.handleClose(undefined, {\n\t\t\t\t\ttrigger: 'newPopover',\n\t\t\t\t\tid: currentOpenPopover.getId(),\n\t\t\t\t});\n\t\t\t}\n\n\t\t\tcurrentOpenPopover = this;\n\n\t\t\tthis.setState({\n\t\t\t\tisOpen: true,\n\t\t\t});\n\t\t}\n\t};\n\n\t/* props.openOn is not a part of prop-types because it is not a supported feature, but may be needed for backwards compatibility with non-accessible dropdown/popover hybrids. */\n\n\t/* eslint-disable react/prop-types */\n\thandleMouseEnter = (event) => {\n\t\tconst isOpen = this.getIsOpen();\n\n\t\tthis.isHover = true;\n\n\t\tif (!isOpen && this.props.openOn === 'hover') {\n\t\t\tthis.handleOpen();\n\t\t} else {\n\t\t\t// we want this clear when openOn is hover or hybrid\n\t\t\tclearTimeout(this.isClosing);\n\t\t}\n\n\t\tif (this.props.onMouseEnter) {\n\t\t\tthis.props.onMouseEnter(event);\n\t\t}\n\t};\n\n\thandleMouseLeave = (event) => {\n\t\tconst isOpen = this.getIsOpen();\n\n\t\tif (isOpen) {\n\t\t\tthis.isClosing = setTimeout(() => {\n\t\t\t\tthis.handleClose();\n\t\t\t}, this.props.hoverCloseDelay);\n\t\t}\n\n\t\tif (this.props.onMouseLeave) {\n\t\t\tthis.props.onMouseLeave(event);\n\t\t}\n\t};\n\n\t/* eslint-enable react/prop-types */\n\n\thandleClick = (event, { triggerOnClickCallback }) => {\n\t\tconst isOpen = this.getIsOpen();\n\n\t\tif (!isOpen) {\n\t\t\tthis.handleOpen();\n\t\t} else {\n\t\t\tthis.handleClose();\n\t\t}\n\n\t\tif (this.props.onClick) {\n\t\t\tthis.props.onClick(event);\n\t\t}\n\n\t\tif (triggerOnClickCallback) {\n\t\t\ttriggerOnClickCallback(event);\n\t\t}\n\t};\n\n\thandleFocus = (event) => {\n\t\tconst isOpen = this.getIsOpen();\n\n\t\tif (!isOpen) {\n\t\t\tthis.handleOpen();\n\t\t}\n\n\t\tif (this.props.onFocus) {\n\t\t\tthis.props.onFocus(event);\n\t\t}\n\t};\n\n\thandleKeyDown = (event) => {\n\t\tif (event.keyCode) {\n\t\t\tif (event.keyCode !== KEYS.TAB) {\n\t\t\t\tconst isOpen = this.getIsOpen();\n\n\t\t\t\tkeyboardNavigableDialog({\n\t\t\t\t\tevent,\n\t\t\t\t\tisOpen,\n\t\t\t\t\thandleClick: this.handleClick,\n\t\t\t\t\tkey: event.key,\n\t\t\t\t\tkeyCode: event.keyCode,\n\t\t\t\t\ttargetTarget: event.target,\n\t\t\t\t\ttoggleOpen: this.toggleOpenFromKeyboard,\n\t\t\t\t\ttrigger: this.trigger,\n\t\t\t\t});\n\t\t\t}\n\t\t\tif (this.props.onKeyDown) {\n\t\t\t\tthis.props.onKeyDown(event);\n\t\t\t}\n\t\t}\n\t};\n\n\thandleCancel = (event) => {\n\t\tthis.handleClose(event, { trigger: 'cancel' });\n\t};\n\n\thandleClickOutside = (event) => {\n\t\tthis.handleClose(event, { trigger: 'clickOutside' });\n\t};\n\n\ttoggleOpenFromKeyboard = (event) => {\n\t\tconst isOpen = this.getIsOpen();\n\t\tif (isOpen) {\n\t\t\tthis.handleCancel(event);\n\t\t} else {\n\t\t\tthis.handleOpen();\n\t\t}\n\t};\n\n\trenderDialog = (isOpen, outsideClickIgnoreClass) => {\n\t\tconst { props } = this;\n\t\tconst { offset } = props;\n\t\tconst assistiveText = {\n\t\t\t...defaultProps.assistiveText,\n\t\t\t...this.props.assistiveText,\n\t\t};\n\t\tconst closeButtonAssistiveText =\n\t\t\tprops.closeButtonAssistiveText || assistiveText.closeButton;\n\n\t\t// HEADER SUB-RENDERS\n\t\tconst hasThemedHeader =\n\t\t\tthis.props.variant === 'error' || this.props.variant === 'warning';\n\t\tconst hasDefinedHeader = this.props.heading || hasThemedHeader;\n\t\tconst headerIcon = {\n\t\t\terror: <Icon category=\"utility\" name=\"error\" size=\"x-small\" inverse />,\n\t\t\twarning: (\n\t\t\t\t<Icon category=\"utility\" name=\"warning\" size=\"x-small\" inverse />\n\t\t\t),\n\t\t};\n\t\tconst headerVariants = {\n\t\t\tbase: (\n\t\t\t\t<header\n\t\t\t\t\tclassName={classNames('slds-popover__header', {\n\t\t\t\t\t\t'slds-p-vertical_medium': props.variant === 'walkthrough',\n\t\t\t\t\t})}\n\t\t\t\t>\n\t\t\t\t\t<h2\n\t\t\t\t\t\tid={this.props.ariaLabelledby || `${this.getId()}-dialog-heading`}\n\t\t\t\t\t\tclassName={classNames({\n\t\t\t\t\t\t\t'slds-text-heading_small': props.variant !== 'walkthrough',\n\t\t\t\t\t\t\t'slds-text-heading_medium': props.variant === 'walkthrough',\n\t\t\t\t\t\t})}\n\t\t\t\t\t>\n\t\t\t\t\t\t{this.props.heading}\n\t\t\t\t\t</h2>\n\t\t\t\t</header>\n\t\t\t),\n\t\t\tthemed: (\n\t\t\t\t<header className=\"slds-popover__header\">\n\t\t\t\t\t<MediaObject\n\t\t\t\t\t\tbody={\n\t\t\t\t\t\t\t<h2\n\t\t\t\t\t\t\t\tid={\n\t\t\t\t\t\t\t\t\tthis.props.ariaLabelledby || `${this.getId()}-dialog-heading`\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tclassName=\"slds-truncate slds-text-heading_medium\"\n\t\t\t\t\t\t\t\ttitle={props.heading}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{props.heading}\n\t\t\t\t\t\t\t</h2>\n\t\t\t\t\t\t}\n\t\t\t\t\t\tfigure={headerIcon[this.props.variant]}\n\t\t\t\t\t\tverticalCenter\n\t\t\t\t\t/>\n\t\t\t\t</header>\n\t\t\t),\n\t\t};\n\t\tlet header = null;\n\n\t\tif (\n\t\t\thasDefinedHeader &&\n\t\t\tprops.variant !== 'walkthrough-action' &&\n\t\t\tprops.variant !== 'feature'\n\t\t) {\n\t\t\theader = headerVariants[hasThemedHeader ? 'themed' : 'base'];\n\t\t}\n\n\t\t// BODY SUB-RENDERS\n\t\tlet body = null;\n\n\t\tif (props.variant === 'error' || props.variant === 'warning') {\n\t\t\tbody = (\n\t\t\t\t// THIS WRAPPING DIV IS NOT IN SLDS MARKUP\n\t\t\t\t<div>\n\t\t\t\t\t<div\n\t\t\t\t\t\tid={`${this.getId()}-dialog-body`}\n\t\t\t\t\t\tclassName={classNames(\n\t\t\t\t\t\t\t'slds-popover__body',\n\t\t\t\t\t\t\tthis.props.classNameBody\n\t\t\t\t\t\t)}\n\t\t\t\t\t\t// REMOVE IN THE FUTURE: SLDS OVERRIDE\n\t\t\t\t\t\t// Possible solution in future is to use .slds-popover__body_small\n\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\tborderBottom: 'none',\n\t\t\t\t\t\t}}\n\t\t\t\t\t>\n\t\t\t\t\t\t{props.body}\n\t\t\t\t\t</div>\n\t\t\t\t\t<div\n\t\t\t\t\t\t// GRADIENT FOOTER - SLDS OVERRIDE\n\t\t\t\t\t\t// REMOVE IN THE FUTURE (HOPEFULLY)\n\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\tposition: 'absolute',\n\t\t\t\t\t\t\tbottom: 0,\n\t\t\t\t\t\t\tleft: 0,\n\t\t\t\t\t\t\twidth: '100%',\n\t\t\t\t\t\t\ttextAlign: 'center',\n\t\t\t\t\t\t\tmargin: 0,\n\t\t\t\t\t\t\tpadding: '5px 0',\n\t\t\t\t\t\t\t/* \"transparent\" only works here because == rgba(0,0,0,0) */\n\t\t\t\t\t\t\tbackgroundImage:\n\t\t\t\t\t\t\t\t'linear-gradient(to bottom, transparent, rgba(255,255,255,100)',\n\t\t\t\t\t\t}}\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t);\n\t\t} else if (\n\t\t\tprops.variant === 'walkthrough-action' ||\n\t\t\tprops.variant === 'feature'\n\t\t) {\n\t\t\tbody = (\n\t\t\t\t<div\n\t\t\t\t\tclassName={classNames('slds-popover__body', this.props.classNameBody)}\n\t\t\t\t\tid={`${this.getId()}-dialog-body`}\n\t\t\t\t>\n\t\t\t\t\t<div className=\"slds-media\">\n\t\t\t\t\t\t<div className=\"slds-media__figure\">\n\t\t\t\t\t\t\t{props.variant === 'walkthrough-action' ? (\n\t\t\t\t\t\t\t\t<Icon\n\t\t\t\t\t\t\t\t\tcategory=\"utility\"\n\t\t\t\t\t\t\t\t\tname=\"touch_action\"\n\t\t\t\t\t\t\t\t\tsize=\"small\"\n\t\t\t\t\t\t\t\t\tinverse\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\tthis.props.icon\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div className=\"slds-media__body\">\n\t\t\t\t\t\t\t{props.heading ? (\n\t\t\t\t\t\t\t\t<h2\n\t\t\t\t\t\t\t\t\tid={\n\t\t\t\t\t\t\t\t\t\tthis.props.ariaLabelledby ||\n\t\t\t\t\t\t\t\t\t\t`${this.getId()}-dialog-heading`\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tclassName=\"slds-text-heading_small\"\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{props.heading}\n\t\t\t\t\t\t\t\t</h2>\n\t\t\t\t\t\t\t) : null}\n\t\t\t\t\t\t\t{props.body}\n\t\t\t\t\t\t\t{props.stepText ? (\n\t\t\t\t\t\t\t\t<p className=\"slds-m-top_medium slds-text-title\">\n\t\t\t\t\t\t\t\t\t{props.stepText}\n\t\t\t\t\t\t\t\t</p>\n\t\t\t\t\t\t\t) : null}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t);\n\t\t} else {\n\t\t\tbody = (\n\t\t\t\t// DEFAULT - NOT SCROLLABLE\n\t\t\t\t<div\n\t\t\t\t\tid={`${this.getId()}-dialog-body`}\n\t\t\t\t\tclassName={classNames('slds-popover__body', this.props.classNameBody)}\n\t\t\t\t>\n\t\t\t\t\t{props.body}\n\t\t\t\t</div>\n\t\t\t);\n\t\t}\n\n\t\t// FOOTER SUB-RENDERS\n\t\tlet footer = null;\n\n\t\tif (props.footer) {\n\t\t\tfooter = (\n\t\t\t\t<footer\n\t\t\t\t\tclassName={classNames(\n\t\t\t\t\t\t'slds-popover__footer',\n\t\t\t\t\t\tthis.props.classNameFooter,\n\t\t\t\t\t\tthis.props.footerClassName\n\t\t\t\t\t)}\n\t\t\t\t\tstyle={this.props.footerStyle}\n\t\t\t\t>\n\t\t\t\t\t{this.props.footer}\n\t\t\t\t</footer>\n\t\t\t);\n\t\t} else if (\n\t\t\tprops.variant !== 'walkthrough-action' &&\n\t\t\t(props.footerWalkthroughActions || props.stepText)\n\t\t) {\n\t\t\tfooter = (\n\t\t\t\t<footer className=\"slds-popover__footer\">\n\t\t\t\t\t<div className=\"slds-grid slds-grid_vertical-align-center\">\n\t\t\t\t\t\t{props.stepText ? (\n\t\t\t\t\t\t\t<span className=\"slds-text-title\">{props.stepText}</span>\n\t\t\t\t\t\t) : null}\n\t\t\t\t\t\t{props.footerWalkthroughActions ? (\n\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\tclassName=\"slds-col_bump-left\"\n\t\t\t\t\t\t\t\tstyle={{ display: 'inline-block' }}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{props.footerWalkthroughActions}\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t) : null}\n\t\t\t\t\t</div>\n\t\t\t\t</footer>\n\t\t\t);\n\t\t}\n\n\t\t// MAIN RENDER\n\t\treturn isOpen ? (\n\t\t\t<Dialog\n\t\t\t\thasNubbin={!this.props.hasNoNubbin}\n\t\t\t\talign={props.align}\n\t\t\t\tcontentsClassName={classNames(\n\t\t\t\t\tthis.props.contentsClassName,\n\t\t\t\t\t'ignore-react-onclickoutside',\n\t\t\t\t\t'slds-popover',\n\t\t\t\t\t{ 'slds-popover_error': props.variant === 'error' },\n\t\t\t\t\t{\n\t\t\t\t\t\t'slds-popover_walkthrough':\n\t\t\t\t\t\t\tprops.variant === 'walkthrough' ||\n\t\t\t\t\t\t\tprops.variant === 'walkthrough-action' ||\n\t\t\t\t\t\t\tprops.variant === 'feature',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\t'slds-popover_walkthrough-alt':\n\t\t\t\t\t\t\tprops.variant === 'walkthrough-action',\n\t\t\t\t\t},\n\t\t\t\t\t{ 'slds-popover_feature': props.variant === 'feature' },\n\t\t\t\t\t{ 'slds-popover_warning': props.variant === 'warning' },\n\t\t\t\t\tprops.className\n\t\t\t\t)}\n\t\t\t\tcontext={this.context}\n\t\t\t\thasStaticAlignment={props.hasStaticAlignment}\n\t\t\t\toffset={offset}\n\t\t\t\tonCancel={this.handleClose}\n\t\t\t\tonClose={this.handleDialogClose}\n\t\t\t\tonOpen={this.props.onOpen}\n\t\t\t\tonKeyDown={this.handleKeyDown}\n\t\t\t\tonMouseEnter={props.openOn === 'hover' ? this.handleMouseEnter : null}\n\t\t\t\tonMouseLeave={props.openOn === 'hover' ? this.handleMouseLeave : null}\n\t\t\t\toutsideClickIgnoreClass={outsideClickIgnoreClass}\n\t\t\t\tonRequestTargetElement={() => this.getTargetElement()}\n\t\t\t\tposition={this.props.position}\n\t\t\t\tstyle={this.props.style}\n\t\t\t\tvariant=\"popover\"\n\t\t\t\tref={this.setMenuRef}\n\t\t\t\tcontainerProps={{\n\t\t\t\t\tid: `${this.getId()}-popover`,\n\t\t\t\t\t'aria-labelledby':\n\t\t\t\t\t\tthis.props.ariaLabelledby || `${this.getId()}-dialog-heading`,\n\t\t\t\t\t'aria-describedby': `${this.getId()}-dialog-body`,\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\t{!this.props.hasNoCloseButton && (\n\t\t\t\t\t<Button\n\t\t\t\t\t\tassistiveText={{ icon: closeButtonAssistiveText }}\n\t\t\t\t\t\ticonCategory=\"utility\"\n\t\t\t\t\t\ticonName=\"close\"\n\t\t\t\t\t\tclassName={classNames(\n\t\t\t\t\t\t\t'slds-button slds-button_icon-small slds-float_right slds-popover__close slds-button_icon',\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t'slds-button_icon-inverse':\n\t\t\t\t\t\t\t\t\tprops.variant === 'walkthrough' ||\n\t\t\t\t\t\t\t\t\tprops.variant === 'walkthrough-action' ||\n\t\t\t\t\t\t\t\t\tprops.variant === 'feature',\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t)}\n\t\t\t\t\t\tonClick={this.handleCancel}\n\t\t\t\t\t\tvariant=\"icon\"\n\t\t\t\t\t\tinverse={\n\t\t\t\t\t\t\tthis.props.variant === 'error' || this.props.variant === 'warning'\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t)}\n\t\t\t\t{header}\n\t\t\t\t{body}\n\t\t\t\t{footer}\n\t\t\t</Dialog>\n\t\t) : null;\n\t};\n\n\trenderOverlay = (isOpen) => {\n\t\tif (isFunction(overlay) && documentDefined) {\n\t\t\toverlay(isOpen, overlay);\n\t\t} else if (\n\t\t\tthis.props.overlay &&\n\t\t\tisOpen &&\n\t\t\t!this.overlay &&\n\t\t\tdocumentDefined\n\t\t) {\n\t\t\tthis.overlay = overlay;\n\t\t\tdocument.querySelector('body').appendChild(this.overlay);\n\t\t} else if (!isOpen && this.overlay && this.overlay.parentNode) {\n\t\t\tthis.overlay.parentNode.removeChild(this.overlay);\n\t\t\tthis.overlay = undefined;\n\t\t}\n\t};\n\n\trender() {\n\t\tconst otherChildren = [];\n\t\tconst outsideClickIgnoreClass = `ignore-click-${this.getId()}`;\n\t\tlet clonedTrigger = null;\n\n\t\tReact.Children.forEach(this.props.children, (child, index) => {\n\t\t\tif (index === 0) {\n\t\t\t\tclonedTrigger = React.cloneElement(child, {\n\t\t\t\t\t'aria-haspopup': 'dialog',\n\t\t\t\t\tid: this.getId(),\n\t\t\t\t\tonClick:\n\t\t\t\t\t\tthis.props.openOn === 'click' || this.props.openOn === 'hybrid'\n\t\t\t\t\t\t\t? (event) => {\n\t\t\t\t\t\t\t\t\tthis.handleClick(event, {\n\t\t\t\t\t\t\t\t\t\ttriggerOnClickCallback: child.props.onClick,\n\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t }\n\t\t\t\t\t\t\t: child.props.onClick,\n\t\t\t\t\tonFocus: this.props.openOn === 'hover' ? this.handleFocus : null,\n\t\t\t\t\tonMouseDown: this.props.onMouseDown,\n\t\t\t\t\tonMouseEnter:\n\t\t\t\t\t\tthis.props.openOn === 'hover' || this.props.openOn === 'hybrid'\n\t\t\t\t\t\t\t? this.handleMouseEnter\n\t\t\t\t\t\t\t: null,\n\t\t\t\t\tonMouseLeave:\n\t\t\t\t\t\tthis.props.openOn === 'hover' || this.props.openOn === 'hybrid'\n\t\t\t\t\t\t\t? this.handleMouseLeave\n\t\t\t\t\t\t\t: null,\n\t\t\t\t\ttabIndex: child.props.tabIndex || '0',\n\t\t\t\t\t...child.props,\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\t// eslint-disable-next-line fp/no-mutating-methods\n\t\t\t\totherChildren.push(child);\n\t\t\t}\n\t\t});\n\n\t\tthis.renderOverlay(this.getIsOpen());\n\t\tconst containerStyles = {\n\t\t\tdisplay: this.props.hasNoTriggerStyles ? undefined : 'inline-block',\n\t\t};\n\t\treturn (\n\t\t\t<div\n\t\t\t\tclassName={this.props.triggerClassName}\n\t\t\t\tstyle={containerStyles}\n\t\t\t\tref={this.setContainerRef}\n\t\t\t>\n\t\t\t\t{clonedTrigger}\n\t\t\t\t{otherChildren.length > 0 ? otherChildren : null}\n\t\t\t\t{this.renderDialog(this.getIsOpen(), outsideClickIgnoreClass)}\n\t\t\t</div>\n\t\t);\n\t}\n}\n\nPopover.contextTypes = {\n\ticonPath: PropTypes.string,\n};\n\nexport default Popover;\nexport { PopoverNubbinPositions };\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// ### onClickOutside\n// Listen for clicks that occur somewhere in the document, outside of the element itself\nimport onClickOutside from 'react-onclickoutside';\nimport Popover from './popover';\n\nexport default onClickOutside(Popover);\n","/* eslint-disable max-lines */\n/* eslint-disable react/sort-comp */\nimport classNames from 'classnames';\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport shortid from 'shortid';\nimport assign from 'lodash.assign';\n\nimport checkProps from './check-props';\n\nimport CustomColor from './private/custom-color';\nimport Swatch from './private/swatch';\nimport SwatchPicker from './private/swatch-picker';\n\nimport Button from '../button';\nimport Input from '../input';\nimport Tabs from '../tabs';\nimport TabsPanel from '../tabs/panel';\nimport Popover from '../popover';\n\nimport ColorUtils from '../../utilities/color';\n\nimport { COLOR_PICKER } from '../../utilities/constants';\n\nimport componentDoc from './component.json';\n\nconst propTypes = {\n\t/**\n\t * **Assistive text for accessibility**\n\t * * `label`: Visually hidden label but read out loud by screen readers.\n\t * * `hueSlider`: Instructions for hue selection input\n\t * * `saturationValueGrid`: Instructions for using the grid for saturation\n\t * and value selection\n\t */\n\tassistiveText: PropTypes.shape({\n\t\tlabel: PropTypes.string,\n\t\thueSlider: PropTypes.string,\n\t\tsaturationValueGrid: PropTypes.string,\n\t}),\n\t/**\n\t * CSS classes to be added to tag with `.slds-color-picker`. Uses `classNames` [API](https://github.com/JedWatson/classnames). _Tested with snapshot testing._\n\t */\n\tclassName: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\t/**\n\t * CSS classes to be added to tag with `.slds-popover`. Uses `classNames` [API](https://github.com/JedWatson/classnames). _Tested with snapshot testing._\n\t */\n\tclassNameMenu: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\t/**\n\t * Unique ID for component.\n\t */\n\tid: PropTypes.string,\n\t/**\n\t * Disables the input and button.\n\t */\n\tdisabled: PropTypes.bool,\n\t/**\n\t * Message to display when the outer input is in an error state. When this is present, also visually highlights the component as in error.\n\t */\n\terrorText: PropTypes.string,\n\t/**\n\t * Message to display when the custom tab input is in an error state. When this is present, also visually highlights the component as in error.\n\t */\n\terrorTextWorkingColor: PropTypes.string,\n\t/**\n\t * Event Callbacks\n\t * * `onChange`: This function is triggered when done is clicked. This function returns `{event, { color: [string] }}`, which is a hex representation of the color.\n\t * * `onClose`: This function is triggered when the menu is closed. This function returns `{event, { trigger, componentWillUnmount }}`. Trigger can have the values `cancel`, `clickOutside`, or `newPopover`.\n\t * * `onOpen`: This function is triggered when the color-picker menu is mounted and added to the DOM. The parameters are `event, { portal: }`. `portal` can be used as a React tree root node.\n\t * * `onRequestClose`: This function is triggered when the user clicks outside the menu or clicks the close button. You will want to define this if color-picker is to be a controlled component. Most of the time you will want to set `isOpen` to `false` when this is triggered unless you need to validate something.\n\t * \t\t\t\t\t\tThis function returns `{event, {trigger: [string]}}` where `trigger` is either `cancel` or `clickOutside`.\n\t * * `onRequestOpen`: Function called when the color-picker menu would like show.\n\t * * `onValidateColor`: Function that overwrites default color validator and called when validating HEX color on outer input change. If callback returns false, errorText is shown if set.\n\t * * `onValidateWorkingColor`: Function that overwrites default color validator and called when validating HEX color on custom tab inner input change. If callback returns false, errorTextWorkingColor is shown if set.\n\t * * `onWorkingColorChange`: This function is triggered when working color changes (color inside the custom tab). This function returns `{event, { color: [string] }}`, which is a hex representation of the color.\n\t * _Tested with Mocha framework._\n\t */\n\tevents: PropTypes.shape({\n\t\tonChange: PropTypes.func,\n\t\tonClose: PropTypes.func,\n\t\tonOpen: PropTypes.func,\n\t\tonRequestClose: PropTypes.func,\n\t\tonRequestOpen: PropTypes.func,\n\t\tonValidateColor: PropTypes.func,\n\t\tonValidateWorkingColor: PropTypes.func,\n\t\tonWorkingColorChange: PropTypes.func,\n\t}),\n\t/**\n\t * By default, dialogs will flip their alignment (such as bottom to top) if they extend beyond a boundary element such as a scrolling parent or a window/viewpoint. `hasStaticAlignment` disables this behavior and allows this component to extend beyond boundary elements. _Not tested._\n\t */\n\thasStaticAlignment: PropTypes.bool,\n\t/**\n\t * Hides the text input\n\t */\n\thideInput: PropTypes.bool,\n\t/**\n\t * Popover open state\n\t */\n\tisOpen: PropTypes.bool,\n\t/**\n\t * **Text labels for internationalization**\n\t * * `blueAbbreviated`: One letter abbreviation of blue color component\n\t * * `cancelButton`: Text for cancel button on popover\n\t * * `customTab`: Text for custom tab of popover\n\t * * `customTabActiveWorkingColorSwatch`: Label for custom tab active working color swatch\n\t * * `customTabTransparentSwatch`: Label for custom tab active transparent swatch\n\t * * `greenAbbreviated`: One letter abbreviation of green color component\n\t * * `hexLabel`: Label for input of hexadecimal color\n\t * * `invalidColor`: Error message when hex color input is invalid\n\t * * `invalidComponent`: Error message when a component input is invalid\n\t * * `label`: An `input` label as for a `form`\n\t * * `redAbbreviated`: One letter abbreviation of red color component\n\t * * `swatchTab`: Label for swatch tab of popover\n\t * * `submitButton`: Text for submit/done button of popover\n\t */\n\tlabels: PropTypes.shape({\n\t\tblueAbbreviated: PropTypes.string,\n\t\tcancelButton: PropTypes.string,\n\t\tcustomTab: PropTypes.string,\n\t\tcustomTabActiveWorkingColorSwatch: PropTypes.string,\n\t\tcustomTabTransparentSwatch: PropTypes.string,\n\t\tgreenAbbreviated: PropTypes.string,\n\t\thexLabel: PropTypes.string,\n\t\tinvalidColor: PropTypes.string,\n\t\tinvalidComponent: PropTypes.string,\n\t\tlabel: PropTypes.string,\n\t\tredAbbreviated: PropTypes.string,\n\t\tswatchTab: PropTypes.string,\n\t\tswatchTabTransparentSwatch: PropTypes.string,\n\t\tsubmitButton: PropTypes.string,\n\t}),\n\t/**\n\t * Please select one of the following:\n\t * * `absolute` - (default) The dialog will use `position: absolute` and style attributes to position itself. This allows inverted placement or flipping of the dialog.\n\t * * `overflowBoundaryElement` - The dialog will overflow scrolling parents. Use on elements that are aligned to the left or right of their target and don't care about the target being within a scrolling parent. Typically this is a popover or tooltip. Dropdown menus can usually open up and down if no room exists. In order to achieve this a portal element will be created and attached to `body`. This element will render into that detached render tree.\n\t * * `relative` - No styling or portals will be used. Menus will be positioned relative to their triggers. This is a great choice for HTML snapshot testing.\n\t */\n\tmenuPosition: PropTypes.oneOf([\n\t\t'absolute',\n\t\t'overflowBoundaryElement',\n\t\t'relative',\n\t]),\n\t/**\n\t * An array of hex color values which is used to set the options of the\n\t * swatch tab of the colorpicker popover.\n\t * To specify transparent, use empty string as a value.\n\t */\n\tswatchColors: PropTypes.arrayOf(PropTypes.string),\n\t/**\n\t * Determines which tab is visible when dialog opens. Use this prop with `base` variant only.\n\t * Defaults to `swatch` tab.\n\t */\n\tdefaultSelectedTab: PropTypes.oneOf(['swatches', 'custom']),\n\t/**\n\t * Selects which tabs are present for the colorpicker.\n\t * * `base`: both swatches and custom tabs are present\n\t * * `swatches`: only swatch tab is present\n\t * * `custom`: only custom tab is present\n\t * _Tested with snapshot testing._\n\t */\n\tvariant: PropTypes.oneOf(['base', 'swatches', 'custom']),\n\t/**\n\t * Current color in hexadecimal string, including # sign (eg: \"#000000\")\n\t */\n\tvalue: PropTypes.string,\n\t/**\n\t * Current working color in hexadecimal string, including # sign (eg: \"#000000\")\n\t */\n\tvalueWorking: PropTypes.string,\n};\n\nconst defaultProps = {\n\tassistiveText: {\n\t\tsaturationValueGrid:\n\t\t\t'Use arrow keys to select a saturation and brightness, on an x and y axis.',\n\t\thueSlider: 'Select Hue',\n\t},\n\tevents: {},\n\tlabels: {\n\t\tblueAbbreviated: 'B',\n\t\tcancelButton: 'Cancel',\n\t\tcustomTab: 'Custom',\n\t\tcustomTabActiveWorkingColorSwatch: 'Working Color',\n\t\tcustomTabTransparentSwatch: 'Transparent Swatch',\n\t\tgreenAbbreviated: 'G',\n\t\thexLabel: 'Hex',\n\t\tinvalidColor: 'The color entered is invalid',\n\t\tinvalidComponent: 'The value needs to be an integer from 0-255',\n\t\tredAbbreviated: 'R',\n\t\tsubmitButton: 'Done',\n\t\tswatchTab: 'Default',\n\t\tswatchTabTransparentSwatch: 'Transparent Swatch',\n\t},\n\tmenuPosition: 'absolute',\n\tswatchColors: [\n\t\t'#e3abec',\n\t\t'#c2dbf7',\n\t\t'#9fd6ff',\n\t\t'#9de7da',\n\t\t'#9df0c0',\n\t\t'#fff099',\n\t\t'#fed49a',\n\t\t'#d073e0',\n\t\t'#86baf3',\n\t\t'#5ebbff',\n\t\t'#44d8be',\n\t\t'#3be282',\n\t\t'#ffe654',\n\t\t'#ffb758',\n\t\t'#bd35bd',\n\t\t'#5779c1',\n\t\t'#5679c0',\n\t\t'#00aea9',\n\t\t'#3cba4c',\n\t\t'#f5bc25',\n\t\t'#f99221',\n\t\t'#580d8c',\n\t\t'#001970',\n\t\t'#0a2399',\n\t\t'#0b7477',\n\t\t'#0b6b50',\n\t\t'#b67e11',\n\t\t'#b85d0d',\n\t\t'',\n\t],\n\tdefaultSelectedTab: 'swatches',\n\tvariant: 'base',\n};\n\n/**\n * The Unified Color Picker component allows for a fully accessible and configurable color picker, allowing the user to pick from a set of predefined colors (swatches), or to pick a custom color using a HSB selection interface. It can be configured to show one or both of those color selection interfaces. View [component blueprint guidelines](https://lightningdesignsystem.com/components/color-picker/).\n */\nclass ColorPicker extends React.Component {\n\tstatic displayName = COLOR_PICKER;\n\n\tstatic propTypes = propTypes;\n\n\tstatic defaultProps = defaultProps;\n\n\tconstructor(props) {\n\t\tsuper(props);\n\n\t\tthis.generatedId = props.id || shortid.generate();\n\t\tconst workingColor = ColorUtils.getNewColor(\n\t\t\t{\n\t\t\t\thex: props.valueWorking || props.value,\n\t\t\t},\n\t\t\tprops.events.onValidateWorkingColor\n\t\t);\n\t\tthis.state = {\n\t\t\tcurrentColor: props.value != null ? props.value : '',\n\t\t\tdisabled: props.disabled,\n\t\t\tisOpen: props.isOpen,\n\t\t\tworkingColor,\n\t\t\tpreviousWorkingColor: workingColor,\n\t\t\tcolorErrorMessage: props.errorText,\n\t\t};\n\n\t\tcheckProps(COLOR_PICKER, props, componentDoc);\n\t}\n\n\tcomponentDidUpdate(prevProps) {\n\t\t// The following are only present to allow props to update the state if they get out of sync (for instance, the external store is updated).\n\t\tconst nextState = {};\n\n\t\tif (this.props.value !== prevProps.value) {\n\t\t\tnextState.currentColor = this.props.value;\n\t\t}\n\n\t\tif (this.props.valueWorking !== prevProps.valueWorking) {\n\t\t\tnextState.workingColor = ColorUtils.getNewColor(\n\t\t\t\t{\n\t\t\t\t\thex: this.props.valueWorking,\n\t\t\t\t},\n\t\t\t\tthis.props.events.onValidateWorkingColor\n\t\t\t);\n\t\t}\n\n\t\tif (this.props.disabled !== prevProps.disabled) {\n\t\t\tnextState.disabled = this.props.disabled;\n\t\t}\n\n\t\tif (Object.entries(nextState).length !== 0) {\n\t\t\t// eslint-disable-next-line react/no-did-update-set-state\n\t\t\tthis.setState(nextState);\n\t\t}\n\t}\n\n\tgetInput({ labels }) {\n\t\treturn this.props.hideInput ? null : (\n\t\t\t<Input\n\t\t\t\taria-describedby={\n\t\t\t\t\t!this.state.isOpen && this.state.colorErrorMessage\n\t\t\t\t\t\t? `color-picker-summary-error-${this.generatedId}`\n\t\t\t\t\t\t: undefined\n\t\t\t\t}\n\t\t\t\tclassName={classNames(\n\t\t\t\t\t'slds-color-picker__summary-input',\n\t\t\t\t\t'slds-align-top',\n\t\t\t\t\t{\n\t\t\t\t\t\t'slds-has-error': !!this.state.colorErrorMessage,\n\t\t\t\t\t}\n\t\t\t\t)}\n\t\t\t\tdisabled={this.props.disabled}\n\t\t\t\tid={`color-picker-summary-input-${this.generatedId}`}\n\t\t\t\tonChange={(event) => {\n\t\t\t\t\tthis.handleHexInputChange(event, { labels });\n\t\t\t\t}}\n\t\t\t\tvalue={this.state.currentColor}\n\t\t\t/>\n\t\t);\n\t}\n\n\tgetDefaultTab({ labels }) {\n\t\treturn (\n\t\t\t(this.props.variant === 'base' || this.props.variant === 'swatches') && (\n\t\t\t\t<TabsPanel label={labels.swatchTab}>\n\t\t\t\t\t<SwatchPicker\n\t\t\t\t\t\tcolor={this.state.workingColor}\n\t\t\t\t\t\tlabels={labels}\n\t\t\t\t\t\tonSelect={this.handleSwatchSelect}\n\t\t\t\t\t\tswatchColors={this.props.swatchColors}\n\t\t\t\t\t/>\n\t\t\t\t</TabsPanel>\n\t\t\t)\n\t\t);\n\t}\n\n\tgetCustomTab({ labels }) {\n\t\treturn (\n\t\t\t(this.props.variant === 'base' || this.props.variant === 'custom') && (\n\t\t\t\t<TabsPanel label={labels.customTab}>\n\t\t\t\t\t<CustomColor\n\t\t\t\t\t\tassistiveText={this.props.assistiveText}\n\t\t\t\t\t\tid={this.generatedId}\n\t\t\t\t\t\tcolor={this.state.workingColor}\n\t\t\t\t\t\terrorTextWorkingColor={this.props.errorTextWorkingColor}\n\t\t\t\t\t\tpreviousColor={this.state.previousWorkingColor}\n\t\t\t\t\t\tlabels={labels}\n\t\t\t\t\t\tonBlueChange={this.handleColorChange('blue')}\n\t\t\t\t\t\tonGreenChange={this.handleColorChange('green')}\n\t\t\t\t\t\tonHexChange={this.handleColorChange('hex')}\n\t\t\t\t\t\tonHueChange={this.handleColorChange('hue')}\n\t\t\t\t\t\tonRedChange={this.handleColorChange('red')}\n\t\t\t\t\t\tonSwatchChange={this.handleSwatchChange}\n\t\t\t\t\t\tonSaturationValueChange={this.handleSaturationValueChange}\n\t\t\t\t\t\tonSaturationNavigate={this.handleNavigate('saturation')}\n\t\t\t\t\t\tonValueNavigate={this.handleNavigate('value')}\n\t\t\t\t\t/>\n\t\t\t\t</TabsPanel>\n\t\t\t)\n\t\t);\n\t}\n\n\tgetPopover({ labels }) {\n\t\tconst popoverBody = (\n\t\t\t<Tabs\n\t\t\t\tid={`color-picker-tabs-${this.generatedId}`}\n\t\t\t\tdefaultSelectedIndex={\n\t\t\t\t\tthis.props.defaultSelectedTab === 'custom' ? 1 : 0\n\t\t\t\t}\n\t\t\t>\n\t\t\t\t{this.getDefaultTab({ labels })}\n\t\t\t\t{this.getCustomTab({ labels })}\n\t\t\t</Tabs>\n\t\t);\n\t\tconst popoverFooter = (\n\t\t\t<div className=\"slds-color-picker__selector-footer\">\n\t\t\t\t<Button\n\t\t\t\t\tclassName=\"slds-color-picker__selector-cancel\"\n\t\t\t\t\tid={`color-picker-footer-cancel-${this.generatedId}`}\n\t\t\t\t\tlabel={labels.cancelButton}\n\t\t\t\t\tonClick={this.handleCancel}\n\t\t\t\t\tvariant=\"neutral\"\n\t\t\t\t/>\n\t\t\t\t<Button\n\t\t\t\t\tclassName=\"slds-color-picker__selector-submit\"\n\t\t\t\t\tdisabled={\n\t\t\t\t\t\tObject.keys(this.state.workingColor.errors || {}).length > 0\n\t\t\t\t\t}\n\t\t\t\t\tid={`color-picker-footer-submit-${this.generatedId}`}\n\t\t\t\t\tlabel={labels.submitButton}\n\t\t\t\t\tonClick={this.handleSubmitButtonClick}\n\t\t\t\t\tvariant=\"brand\"\n\t\t\t\t/>\n\t\t\t</div>\n\t\t);\n\t\treturn (\n\t\t\t<Popover\n\t\t\t\tariaLabelledby={`color-picker-label-${this.generatedId}`}\n\t\t\t\talign=\"bottom left\"\n\t\t\t\tbody={popoverBody}\n\t\t\t\tclassName={classNames(\n\t\t\t\t\t'slds-color-picker__selector',\n\t\t\t\t\tthis.props.classNameMenu\n\t\t\t\t)}\n\t\t\t\tfooter={popoverFooter}\n\t\t\t\thasNoCloseButton\n\t\t\t\thasNoNubbin\n\t\t\t\thasStaticAlignment={this.props.hasStaticAlignment}\n\t\t\t\tid={`slds-color-picker__selector-${this.generatedId}`}\n\t\t\t\tisOpen={this.state.isOpen}\n\t\t\t\tonClose={this.props.onClose}\n\t\t\t\tonOpen={this.props.onOpen}\n\t\t\t\tonRequestClose={this.handleOnRequestClose}\n\t\t\t\tposition={this.props.menuPosition}\n\t\t\t>\n\t\t\t\t<Button\n\t\t\t\t\tclassName=\"slds-color-picker__summary-button\"\n\t\t\t\t\tdisabled={this.props.disabled}\n\t\t\t\t\ticonClassName=\"slds-m-left_xx-small\"\n\t\t\t\t\ticonPosition=\"right\"\n\t\t\t\t\ticonVariant=\"more\"\n\t\t\t\t\tid={`slds-color-picker__summary-button-${this.generatedId}`}\n\t\t\t\t\tlabel={<Swatch color={this.state.currentColor} labels={labels} />}\n\t\t\t\t\tonClick={this.handleSwatchButtonClick}\n\t\t\t\t\tvariant=\"icon\"\n\t\t\t\t/>\n\t\t\t</Popover>\n\t\t);\n\t}\n\n\tsetWorkingColor(event, color) {\n\t\tconst newColor = ColorUtils.getNewColor(\n\t\t\tcolor,\n\t\t\tthis.props.events.onValidateWorkingColor,\n\t\t\t// eslint-disable-next-line react/no-access-state-in-setstate\n\t\t\tthis.state.workingColor\n\t\t);\n\t\tthis.setState({\n\t\t\tworkingColor: newColor,\n\t\t\t// eslint-disable-next-line react/no-access-state-in-setstate\n\t\t\tpreviousWorkingColor: this.state.workingColor,\n\t\t});\n\n\t\tif (this.props.events.onWorkingColorChange) {\n\t\t\tthis.props.events.onWorkingColorChange(event, { color: newColor });\n\t\t}\n\t}\n\n\thandleSwatchChange = (event) => {\n\t\tthis.setWorkingColor(event, {\n\t\t\thex: event.target.value,\n\t\t});\n\t};\n\n\thandleOnRequestClose = (event, { trigger }) => {\n\t\tif (trigger === 'clickOutside' || trigger === 'cancel') {\n\t\t\tthis.handleCancelState();\n\t\t}\n\n\t\tif (this.props.onRequestClose) {\n\t\t\tthis.props.onRequestClose(event, { trigger });\n\t\t}\n\t};\n\n\thandleClickOutside = (event) => {\n\t\tthis.handleCancelButtonClick(event);\n\t};\n\n\thandleCancel = (event) => {\n\t\tthis.handleCancelState();\n\n\t\tif (this.props.onRequestClose) {\n\t\t\tthis.props.onRequestClose(event, { trigger: 'cancel' });\n\t\t}\n\t};\n\n\thandleCancelState = () => {\n\t\tconst workingColor = ColorUtils.getNewColor(\n\t\t\t{\n\t\t\t\t// eslint-disable-next-line react/no-access-state-in-setstate\n\t\t\t\thex: this.state.currentColor,\n\t\t\t},\n\t\t\tthis.props.events.onValidateWorkingColor\n\t\t);\n\t\tthis.setState({\n\t\t\tisOpen: false,\n\t\t\tworkingColor,\n\t\t\tpreviousWorkingColor: workingColor,\n\t\t});\n\t};\n\n\thandleColorChange(property) {\n\t\treturn (event) => {\n\t\t\tconst colorProperties = {};\n\t\t\tcolorProperties[property] = event.target.value;\n\t\t\tthis.setWorkingColor(event, colorProperties);\n\t\t};\n\t}\n\n\thandleHexInputChange = (event, { labels }) => {\n\t\tconst currentColor = event.target.value;\n\t\tconst namedColorHex = ColorUtils.getHexFromNamedColor(currentColor);\n\t\tlet isValid = false;\n\n\t\tif (this.props.events.onValidateColor) {\n\t\t\tisValid = this.props.events.onValidateColor(currentColor);\n\t\t} else {\n\t\t\tisValid = namedColorHex ? true : ColorUtils.isValidHex(currentColor);\n\t\t}\n\n\t\tthis.setState({\n\t\t\tcurrentColor,\n\t\t\tworkingColor: ColorUtils.getNewColor(\n\t\t\t\t{\n\t\t\t\t\thex: namedColorHex || currentColor,\n\t\t\t\t\tname: namedColorHex ? currentColor.toLowerCase() : null,\n\t\t\t\t},\n\t\t\t\tthis.props.events.onValidateWorkingColor\n\t\t\t),\n\t\t\tcolorErrorMessage: isValid ? '' : labels.invalidColor,\n\t\t});\n\n\t\tif (this.props.events.onChange) {\n\t\t\tthis.props.events.onChange(event, {\n\t\t\t\tcolor: currentColor,\n\t\t\t\tisValid,\n\t\t\t});\n\t\t}\n\t};\n\n\thandleNavigate(property) {\n\t\treturn (event, { delta }) => {\n\t\t\tconst colorProperties = {};\n\t\t\tcolorProperties[property] = delta;\n\t\t\tconst newColor = ColorUtils.getDeltaColor(\n\t\t\t\tcolorProperties,\n\t\t\t\tthis.props.events.onValidateWorkingColor,\n\t\t\t\t// eslint-disable-next-line react/no-access-state-in-setstate\n\t\t\t\tthis.state.workingColor\n\t\t\t);\n\t\t\tthis.setState({\n\t\t\t\tworkingColor: newColor,\n\t\t\t\t// eslint-disable-next-line react/no-access-state-in-setstate\n\t\t\t\tpreviousWorkingColor: this.state.workingColor,\n\t\t\t});\n\n\t\t\tif (this.props.events.onWorkingColorChange) {\n\t\t\t\tthis.props.events.onWorkingColorChange(event, { color: newColor });\n\t\t\t}\n\t\t};\n\t}\n\n\thandleSaturationValueChange = (event, { saturation, value }) => {\n\t\tthis.setWorkingColor(event, {\n\t\t\tsaturation,\n\t\t\tvalue,\n\t\t});\n\t};\n\n\thandleSubmitButtonClick = (event) => {\n\t\tthis.setState({\n\t\t\tisOpen: false,\n\t\t\t// eslint-disable-next-line react/no-access-state-in-setstate\n\t\t\tcurrentColor: this.state.workingColor.hex,\n\t\t\tcolorErrorMessage: '',\n\t\t});\n\t\tif (this.props.events.onChange) {\n\t\t\tthis.props.events.onChange(event, {\n\t\t\t\tcolor: this.state.workingColor.hex,\n\t\t\t\tisValid: true,\n\t\t\t});\n\t\t}\n\t};\n\n\thandleSwatchButtonClick = () => {\n\t\tconst workingColor = ColorUtils.getNewColor(\n\t\t\t{\n\t\t\t\t// eslint-disable-next-line react/no-access-state-in-setstate\n\t\t\t\thex: this.state.workingColor.hex,\n\t\t\t},\n\t\t\tthis.props.events.onValidateWorkingColor\n\t\t);\n\t\tthis.setState({\n\t\t\t// eslint-disable-next-line react/no-access-state-in-setstate\n\t\t\tisOpen: !this.state.isOpen,\n\t\t\tworkingColor,\n\t\t\t// eslint-disable-next-line react/no-access-state-in-setstate\n\t\t\tpreviousWorkingColor: this.state.previousWorkingColor,\n\t\t});\n\t\tif (this.props.onRequestOpen) {\n\t\t\tthis.props.onRequestOpen();\n\t\t}\n\t};\n\n\thandleSwatchSelect = (event, { hex }) => {\n\t\tthis.setWorkingColor(event, {\n\t\t\thex,\n\t\t});\n\t};\n\n\trender() {\n\t\tconst labels = assign({}, defaultProps.labels, this.props.labels);\n\n\t\treturn (\n\t\t\t<div\n\t\t\t\tclassName={classNames('slds-color-picker', this.props.className)}\n\t\t\t\tref={(node) => {\n\t\t\t\t\tthis.wrapper = node;\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\t<div className=\"slds-color-picker__summary\">\n\t\t\t\t\t<label\n\t\t\t\t\t\tclassName={classNames(\n\t\t\t\t\t\t\t'slds-color-picker__summary-label',\n\t\t\t\t\t\t\tthis.props.assistiveText.label ? 'slds-assistive-text' : ''\n\t\t\t\t\t\t)}\n\t\t\t\t\t\thtmlFor={\n\t\t\t\t\t\t\t!this.props.hideInput\n\t\t\t\t\t\t\t\t? `color-picker-summary-input-${this.generatedId}`\n\t\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t\t}\n\t\t\t\t\t\tid={`color-picker-label-${this.generatedId}`}\n\t\t\t\t\t>\n\t\t\t\t\t\t{this.props.assistiveText.label\n\t\t\t\t\t\t\t? this.props.assistiveText.label\n\t\t\t\t\t\t\t: labels.label}\n\t\t\t\t\t</label>\n\t\t\t\t\t{this.getPopover({ labels })}\n\t\t\t\t\t{this.getInput({ labels })}\n\t\t\t\t\t{!this.state.isOpen && this.state.colorErrorMessage ? (\n\t\t\t\t\t\t<p\n\t\t\t\t\t\t\tclassName=\"slds-form-error\"\n\t\t\t\t\t\t\tid={`color-picker-summary-error-${this.generatedId}`}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{this.state.colorErrorMessage}\n\t\t\t\t\t\t</p>\n\t\t\t\t\t) : (\n\t\t\t\t\t\t''\n\t\t\t\t\t)}\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t);\n\t}\n}\n\nexport default ColorPicker;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n/* eslint-disable jsx-a11y/interactive-supports-focus */\n\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport isEqual from 'lodash.isequal';\nimport classNames from 'classnames';\n\nimport Icon from '../../icon';\nimport Spinner from '../../spinner';\n\nconst propTypes = {\n\t/*\n\t * Active descendant in menu\n\t */\n\tactiveOption: PropTypes.object,\n\t/*\n\t * Index of active descendant in menu\n\t */\n\tactiveOptionIndex: PropTypes.number,\n\t/**\n\t * CSS classes to be added to container `div` tag. Uses `classNames` [API](https://github.com/JedWatson/classnames).\n\t */\n\tclassName: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\t/**\n\t * CSS classes to be added to tag with `.slds-dropdown`. Uses `classNames` [API](https://github.com/JedWatson/classnames).\n\t */\n\tclassNameMenu: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\t/**\n\t * CSS classes to be added to menu sub header `span` tag. Uses `classNames` [API](https://github.com/JedWatson/classnames).\n\t */\n\tclassNameMenuSubHeader: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\t/**\n\t * Sets the dialog width to the width of one of the following:\n\t * `target`: (Menus attached to `input` typically follow this UX pattern),\n\t * `menu`: Consider setting a menuMaxWidth if using this value. If not, width will be set to width of largest menu item.\n\t * 'none'\n\t */\n\tinheritWidthOf: PropTypes.oneOf(['target', 'menu', 'none']),\n\t/*\n\t * Id used for assistive technology\n\t */\n\tinputId: PropTypes.string,\n\t/**\n\t * Determines the height of the menu based on SLDS CSS classes.\n\t */\n\titemVisibleLength: PropTypes.oneOf([5, 7, 10]),\n\t/**\n\t * **Text labels for internationalization**\n\t * This object is merged with the default props object on every render.\n\t * * `noOptionsFound`: Custom message that renders when no matches found. The default empty state is just text that says, 'No matches found.'.\n\t */\n\tlabels: PropTypes.shape({\n\t\tnoOptionsFound: PropTypes.oneOfType([PropTypes.node, PropTypes.string])\n\t\t\t.isRequired,\n\t}),\n\t/**\n\t * Accepts a custom menu item rendering function that becomes a custom component and is passed in the following props:\n\t * * `assistiveText`: Object, `assistiveText` prop that is passed into Combobox\n\t * * `option`: Object, option data for item being rendered that is passed into Combobox\n\t * * `selected`: Boolean, allows rendering of `assistiveText.optionSelectedInMenu` in Readonly Combobox\n\t *\n\t * _Tested with snapshot testing._\n\t */\n\tonRenderMenuItem: PropTypes.func,\n\t/**\n\t * Accepts a ref function or object (React.createRef() or otherwise) to store the menu DOM reference once available\n\t */\n\tmenuRef: PropTypes.oneOfType([PropTypes.func, PropTypes.object]),\n\t/*\n\t * Sets a maximum width that the menu will be if `inheritWidthOf` is menu.\n\t */\n\tmaxWidth: PropTypes.string,\n\t/*\n\t * Callback when option is selected with keyboard or mouse\n\t */\n\tonSelect: PropTypes.func,\n\t/*\n\t * Menu options\n\t */\n\toptions: PropTypes.array,\n\t/*\n\t * Callback to remove active descendent\n\t */\n\tresetActiveOption: PropTypes.func,\n\t/*\n\t * Selected options\n\t */\n\tselection: PropTypes.array,\n\t/*\n\t * Adds loading spinner below the options\n\t */\n\thasMenuSpinner: PropTypes.bool,\n\t/*\n\t * Object for creating Add item below the options\n\t */\n\toptionsAddItem: PropTypes.arrayOf(\n\t\tPropTypes.shape({\n\t\t\tid: PropTypes.string,\n\t\t\ticon: PropTypes.node,\n\t\t\tlabel: PropTypes.oneOfType([PropTypes.string, PropTypes.func]),\n\t\t})\n\t),\n\t/*\n\t * Object for creating Search item on top of the options\n\t */\n\toptionsSearchEntity: PropTypes.arrayOf(\n\t\tPropTypes.shape({\n\t\t\tid: PropTypes.string,\n\t\t\ticon: PropTypes.node,\n\t\t\tlabel: PropTypes.oneOfType([PropTypes.string, PropTypes.func]),\n\t\t})\n\t),\n\t/**\n\t * Accepts a tooltip that is displayed when hovering on disabled menu items.\n\t */\n\ttooltipMenuItemDisabled: PropTypes.element,\n\t/**\n\t * Changes styles of the menu option\n\t */\n\tvariant: PropTypes.oneOf(['icon-title-subtitle', 'checkbox']),\n\tisSelected: PropTypes.func,\n\tassistiveText: PropTypes.object,\n};\n\nconst defaultProps = {\n\tinputValue: '',\n\tmenuRef: () => {},\n\toptionsAddItem: [],\n\toptionsSearchEntity: [],\n};\n\nconst getOptions = (props) => {\n\t// use of array.push() is OK, because the array is created on each render\n\tconst options = [];\n\tif (props.optionsSearchEntity.length > 0) {\n\t\tconst localOptionsSearchEntity = props.optionsSearchEntity.map(\n\t\t\t(entity) => ({ ...entity, type: 'header' })\n\t\t);\n\t\t// eslint-disable-next-line fp/no-mutating-methods\n\t\toptions.push(...localOptionsSearchEntity);\n\t}\n\t// eslint-disable-next-line fp/no-mutating-methods\n\toptions.push(...props.options);\n\tif (props.optionsAddItem.length > 0) {\n\t\tconst localOptionsAddItem = props.optionsAddItem.map((entity) => ({\n\t\t\t...entity,\n\t\t\ttype: 'footer',\n\t\t}));\n\t\t// eslint-disable-next-line fp/no-mutating-methods\n\t\toptions.push(...localOptionsAddItem);\n\t}\n\treturn options;\n};\n\nconst setBold = (label, searchTerm) => {\n\tif (!label || label.length === 0 || !searchTerm || searchTerm.length === 0) {\n\t\treturn label;\n\t}\n\tconst position = label.toLowerCase().indexOf(searchTerm.toLowerCase());\n\tif (position > -1) {\n\t\treturn (\n\t\t\t<React.Fragment>\n\t\t\t\t{label.substr(0, position)}\n\t\t\t\t<span key=\"bold\" className=\"slds-text-title_bold\">{`${label.substr(\n\t\t\t\t\tposition,\n\t\t\t\t\tsearchTerm.length\n\t\t\t\t)}`}</span>\n\t\t\t\t{label.substr(position + searchTerm.length)}\n\t\t\t</React.Fragment>\n\t\t);\n\t}\n\treturn label;\n};\n\nconst renderLabel = (labelProp, searchTerm) => {\n\tif (labelProp == null || typeof labelProp === 'string') {\n\t\treturn labelProp;\n\t}\n\n\treturn labelProp(searchTerm);\n};\n\nconst Menu = (props) => {\n\tlet maxWidth = props.inheritWidthOf === 'menu' ? 'inherit' : undefined;\n\tmaxWidth =\n\t\tprops.inheritWidthOf === 'menu' && props.maxWidth\n\t\t\t? props.maxWidth\n\t\t\t: maxWidth;\n\n\t// .slds-dropdown sets the menu to absolute positioning, since it has a relative parent. Absolute positioning removes clientHeight and clientWidth which Popper.js needs to absolute position the menu's wrapping div. Absolute positioning an already absolute positioned element doesn't work. Setting the menu's position to relative allows PopperJS to work it's magic.\n\tconst menuOptions = getOptions(props).map((optionData, index) => {\n\t\tconst active =\n\t\t\tindex === props.activeOptionIndex &&\n\t\t\tprops.activeOption &&\n\t\t\tisEqual(optionData.id, props.activeOption.id);\n\t\tconst selected =\n\t\t\tprops.isSelected({\n\t\t\t\tselection: props.selection,\n\t\t\t\toption: optionData,\n\t\t\t}) &&\n\t\t\t(optionData.type !== 'header' || optionData.type === 'footer');\n\t\tconst MenuItem = props.onRenderMenuItem;\n\n\t\tif (optionData.type === 'separator') {\n\t\t\treturn optionData.label ? (\n\t\t\t\t<li\n\t\t\t\t\tclassName=\"slds-dropdown__header slds-truncate\"\n\t\t\t\t\ttitle={optionData.label}\n\t\t\t\t\trole=\"separator\"\n\t\t\t\t\tkey={`menu-separator-${optionData.id}`}\n\t\t\t\t>\n\t\t\t\t\t<span\n\t\t\t\t\t\tclassName={classNames(\n\t\t\t\t\t\t\t'slds-listbox__option-header',\n\t\t\t\t\t\t\tprops.classNameMenuSubHeader\n\t\t\t\t\t\t)}\n\t\t\t\t\t>\n\t\t\t\t\t\t{optionData.label}\n\t\t\t\t\t</span>\n\t\t\t\t</li>\n\t\t\t) : (\n\t\t\t\t<li\n\t\t\t\t\tclassName=\"slds-has-divider_top-space\"\n\t\t\t\t\trole=\"separator\"\n\t\t\t\t\tkey={`menu-separator-${optionData.id}`}\n\t\t\t\t/>\n\t\t\t);\n\t\t}\n\t\tif (optionData.type === 'header') {\n\t\t\treturn (\n\t\t\t\t<li\n\t\t\t\t\tkey={`menu-header-${optionData.id}}`}\n\t\t\t\t\trole=\"presentation\"\n\t\t\t\t\tclassName=\"slds-listbox__item\"\n\t\t\t\t>\n\t\t\t\t\t<div\n\t\t\t\t\t\tonClick={\n\t\t\t\t\t\t\toptionData.disabled\n\t\t\t\t\t\t\t\t? null\n\t\t\t\t\t\t\t\t: (event) => {\n\t\t\t\t\t\t\t\t\t\tprops.onSelect(event, { option: optionData });\n\t\t\t\t\t\t\t\t }\n\t\t\t\t\t\t}\n\t\t\t\t\t\taria-selected={active}\n\t\t\t\t\t\tid={`${props.inputId}-listbox-option-${optionData.id}`}\n\t\t\t\t\t\tclassName={classNames(\n\t\t\t\t\t\t\t'slds-media slds-listbox__option',\n\t\t\t\t\t\t\t'slds-listbox__option_entity slds-listbox__option_term',\n\t\t\t\t\t\t\t{ 'slds-has-focus': active }\n\t\t\t\t\t\t)}\n\t\t\t\t\t\trole=\"option\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<span className=\"slds-media__figure slds-listbox__option-icon\">\n\t\t\t\t\t\t\t{optionData.icon}\n\t\t\t\t\t\t</span>\n\t\t\t\t\t\t<span className=\"slds-media__body\">\n\t\t\t\t\t\t\t{renderLabel(optionData.label, props.inputValue)}\n\t\t\t\t\t\t</span>\n\t\t\t\t\t</div>\n\t\t\t\t</li>\n\t\t\t);\n\t\t}\n\t\tif (optionData.type === 'footer') {\n\t\t\treturn (\n\t\t\t\t<li\n\t\t\t\t\tkey={`menu-footer-${optionData.id}}`}\n\t\t\t\t\trole=\"presentation\"\n\t\t\t\t\tclassName=\"slds-listbox__item\"\n\t\t\t\t>\n\t\t\t\t\t<div\n\t\t\t\t\t\taria-selected={active}\n\t\t\t\t\t\tonClick={\n\t\t\t\t\t\t\toptionData.disabled\n\t\t\t\t\t\t\t\t? null\n\t\t\t\t\t\t\t\t: (event) => {\n\t\t\t\t\t\t\t\t\t\tprops.onSelect(event, { option: optionData });\n\t\t\t\t\t\t\t\t }\n\t\t\t\t\t\t}\n\t\t\t\t\t\tid={`${props.inputId}-listbox-option-${optionData.id}`}\n\t\t\t\t\t\tclassName={classNames(\n\t\t\t\t\t\t\t'slds-media slds-listbox__option',\n\t\t\t\t\t\t\t'slds-listbox__option_entity slds-listbox__option_term',\n\t\t\t\t\t\t\t{ 'slds-has-focus': active }\n\t\t\t\t\t\t)}\n\t\t\t\t\t\trole=\"option\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<span className=\"slds-media__figure slds-listbox__option-icon\">\n\t\t\t\t\t\t\t{optionData.icon}\n\t\t\t\t\t\t</span>\n\t\t\t\t\t\t<span className=\"slds-media__body\">\n\t\t\t\t\t\t\t{renderLabel(optionData.label, props.inputValue)}\n\t\t\t\t\t\t</span>\n\t\t\t\t\t</div>\n\t\t\t\t</li>\n\t\t\t);\n\t\t}\n\n\t\tconst disabledProps = {};\n\t\tconst tooltipId = `${props.inputId}-listbox-option-help-${optionData.id}`;\n\t\tif (optionData.disabled && props.tooltipMenuItemDisabled && active) {\n\t\t\tdisabledProps['aria-describedby'] = tooltipId;\n\t\t}\n\t\tif (optionData.disabled) {\n\t\t\tdisabledProps['aria-disabled'] = !!optionData.disabled;\n\t\t\tdisabledProps.style = { cursor: 'default' }; // Replace this with a css class name once SLDS has it.\n\t\t}\n\n\t\tconst menuItem = {\n\t\t\t'icon-title-subtitle': (\n\t\t\t\t<span\n\t\t\t\t\taria-selected={active}\n\t\t\t\t\t{...disabledProps}\n\t\t\t\t\tid={`${props.inputId}-listbox-option-${optionData.id}`}\n\t\t\t\t\tkey={`menu-subtitle-${optionData.id}`}\n\t\t\t\t\tclassName={classNames(\n\t\t\t\t\t\t'slds-media slds-listbox__option',\n\t\t\t\t\t\t'slds-listbox__option_entity slds-listbox__option_has-meta',\n\t\t\t\t\t\t{ 'slds-has-focus': active }\n\t\t\t\t\t)}\n\t\t\t\t\tonClick={\n\t\t\t\t\t\toptionData.disabled\n\t\t\t\t\t\t\t? null\n\t\t\t\t\t\t\t: (event) => {\n\t\t\t\t\t\t\t\t\tprops.onSelect(event, { option: optionData });\n\t\t\t\t\t\t\t }\n\t\t\t\t\t}\n\t\t\t\t\trole=\"option\"\n\t\t\t\t>\n\t\t\t\t\t{/* For backward compatibility, */}\n\t\t\t\t\t{optionData.icon && !props.onRenderMenuItem ? (\n\t\t\t\t\t\t<span className=\"slds-media__figure\">{optionData.icon}</span>\n\t\t\t\t\t) : null}\n\t\t\t\t\t{props.onRenderMenuItem ? (\n\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\tassistiveText={props.assistiveText}\n\t\t\t\t\t\t\tselected={selected}\n\t\t\t\t\t\t\toption={optionData}\n\t\t\t\t\t\t/>\n\t\t\t\t\t) : (\n\t\t\t\t\t\t<span className=\"slds-media__body\">\n\t\t\t\t\t\t\t<span\n\t\t\t\t\t\t\t\tclassName={classNames(\n\t\t\t\t\t\t\t\t\t'slds-listbox__option-text',\n\t\t\t\t\t\t\t\t\t'slds-listbox__option-text_entity',\n\t\t\t\t\t\t\t\t\t{ 'slds-disabled-text': optionData.disabled }\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{setBold(optionData.label, props.inputValue)}\n\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t<span\n\t\t\t\t\t\t\t\tclassName={classNames(\n\t\t\t\t\t\t\t\t\t'slds-listbox__option-meta slds-listbox__option-meta_entity',\n\t\t\t\t\t\t\t\t\t{ 'slds-disabled-text': optionData.disabled }\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{setBold(optionData.subTitle, props.inputValue)}\n\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t</span>\n\t\t\t\t\t)}\n\t\t\t\t</span>\n\t\t\t),\n\t\t\tcheckbox: (\n\t\t\t\t<span // eslint-disable-line jsx-a11y/no-static-element-interactions\n\t\t\t\t\taria-selected={active}\n\t\t\t\t\t{...disabledProps}\n\t\t\t\t\tid={`${props.inputId}-listbox-option-${optionData.id}`}\n\t\t\t\t\tkey={`menu-checkbox-${optionData.id}`}\n\t\t\t\t\tclassName={classNames(\n\t\t\t\t\t\t'slds-media slds-listbox__option',\n\t\t\t\t\t\t' slds-listbox__option_plain slds-media_small slds-media_center',\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t'slds-has-focus': active,\n\t\t\t\t\t\t\t'slds-is-selected': selected,\n\t\t\t\t\t\t}\n\t\t\t\t\t)}\n\t\t\t\t\tonClick={\n\t\t\t\t\t\toptionData.disabled\n\t\t\t\t\t\t\t? null\n\t\t\t\t\t\t\t: (event) => {\n\t\t\t\t\t\t\t\t\tprops.onSelect(event, {\n\t\t\t\t\t\t\t\t\t\tselection: props.selection,\n\t\t\t\t\t\t\t\t\t\toption: optionData,\n\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t }\n\t\t\t\t\t}\n\t\t\t\t\trole=\"option\"\n\t\t\t\t>\n\t\t\t\t\t<span className=\"slds-media__figure\">\n\t\t\t\t\t\t<Icon\n\t\t\t\t\t\t\tclassName=\"slds-listbox__icon-selected\"\n\t\t\t\t\t\t\tcategory=\"utility\"\n\t\t\t\t\t\t\tname=\"check\"\n\t\t\t\t\t\t\tsize=\"x-small\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t</span>\n\t\t\t\t\t<span className=\"slds-media__body\">\n\t\t\t\t\t\t{props.onRenderMenuItem ? (\n\t\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\t\tassistiveText={props.assistiveText}\n\t\t\t\t\t\t\t\tselected={selected}\n\t\t\t\t\t\t\t\toption={optionData}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t<span\n\t\t\t\t\t\t\t\tclassName={classNames('slds-truncate', {\n\t\t\t\t\t\t\t\t\t'slds-disabled-text': optionData.disabled,\n\t\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t\t\ttitle={optionData.label}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{selected ? (\n\t\t\t\t\t\t\t\t\t<span className=\"slds-assistive-text\">\n\t\t\t\t\t\t\t\t\t\t{props.assistiveText.optionSelectedInMenu}\n\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t) : null}{' '}\n\t\t\t\t\t\t\t\t{optionData.label}\n\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t)}\n\t\t\t\t\t</span>\n\t\t\t\t</span>\n\t\t\t),\n\t\t};\n\n\t\tlet item;\n\t\tif (optionData.disabled && props.tooltipMenuItemDisabled) {\n\t\t\tconst {\n\t\t\t\tcontent,\n\t\t\t\t...userDefinedTooltipProps\n\t\t\t} = props.tooltipMenuItemDisabled.props;\n\t\t\tconst tooltipProps = {\n\t\t\t\talign: 'top',\n\t\t\t\tcontent: optionData.tooltipContent || content, // either use specific content defined on option or content defined on tooltip component.\n\t\t\t\tid: tooltipId,\n\t\t\t\tposition: 'absolute',\n\t\t\t\tsilenceTriggerTabbableWarning: true,\n\t\t\t\ttriggerStyle: { width: '100%' },\n\t\t\t\t...userDefinedTooltipProps, // we want to allow user defined tooltip pros to overwrite default props, if need be.\n\t\t\t};\n\t\t\tif (active) {\n\t\t\t\t// allows showing the tooltip on keyboard navigation to disabled menu item\n\t\t\t\ttooltipProps.isOpen = true;\n\t\t\t}\n\t\t\titem = React.cloneElement(\n\t\t\t\tprops.tooltipMenuItemDisabled,\n\t\t\t\ttooltipProps,\n\t\t\t\tmenuItem[props.variant]\n\t\t\t);\n\t\t} else {\n\t\t\titem = menuItem[props.variant];\n\t\t}\n\n\t\treturn (\n\t\t\t<li\n\t\t\t\tclassName=\"slds-listbox__item\"\n\t\t\t\tkey={`menu-option-${optionData.id}`}\n\t\t\t\trole=\"presentation\"\n\t\t\t>\n\t\t\t\t{item}\n\t\t\t</li>\n\t\t);\n\t});\n\n\treturn (\n\t\t<ul\n\t\t\tclassName={classNames(\n\t\t\t\t'slds-listbox slds-listbox_vertical slds-dropdown slds-dropdown_fluid',\n\t\t\t\t{\n\t\t\t\t\t'slds-dropdown_length-with-icon-5': props.itemVisibleLength === 5,\n\t\t\t\t\t'slds-dropdown_length-with-icon-7': props.itemVisibleLength === 7,\n\t\t\t\t\t'slds-dropdown_length-with-icon-10': props.itemVisibleLength === 10,\n\t\t\t\t},\n\t\t\t\tprops.classNameMenu\n\t\t\t)}\n\t\t\tref={props.menuRef}\n\t\t\trole=\"presentation\"\n\t\t\tstyle={{\n\t\t\t\twidth: props.inheritWidthOf === 'menu' ? 'auto' : undefined,\n\t\t\t\tmaxWidth,\n\t\t\t\tposition: props.menuPosition !== 'relative' ? 'relative' : undefined,\n\t\t\t}}\n\t\t>\n\t\t\t{menuOptions.length ? (\n\t\t\t\tmenuOptions\n\t\t\t) : (\n\t\t\t\t<li\n\t\t\t\t\tclassName=\"slds-listbox__item slds-listbox__status\"\n\t\t\t\t\trole=\"status\"\n\t\t\t\t\taria-live=\"polite\"\n\t\t\t\t>\n\t\t\t\t\t<span className=\"slds-m-left_x-large slds-p-vertical_medium\">\n\t\t\t\t\t\t{props.labels.noOptionsFound}\n\t\t\t\t\t</span>\n\t\t\t\t</li>\n\t\t\t)}\n\t\t\t{props.hasMenuSpinner && (\n\t\t\t\t<li role=\"presentation\" className=\"slds-listbox__item\">\n\t\t\t\t\t<div className=\"slds-align_absolute-center slds-p-top_medium\">\n\t\t\t\t\t\t<Spinner\n\t\t\t\t\t\t\tassistiveText={{ label: props.assistiveText.loadingMenuItems }}\n\t\t\t\t\t\t\thasContainer={false}\n\t\t\t\t\t\t\tisInline\n\t\t\t\t\t\t\tsize=\"x-small\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t</div>\n\t\t\t\t</li>\n\t\t\t)}\n\t\t</ul>\n\t);\n};\n\nMenu.displayName = 'Menu';\nMenu.propTypes = propTypes;\nMenu.defaultProps = defaultProps;\n\nexport default Menu;\n","/* eslint-disable react/jsx-curly-brace-presence */\n/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\n\nconst propTypes = {\n\t/*\n\t * Assistive Text to use instead of a visible label\n\t */\n\tassistiveText: PropTypes.object,\n\t/*\n\t * Id of the input associated with this label\n\t */\n\thtmlFor: PropTypes.string,\n\t/*\n\t * Input Label or inner node for formatting purposes\n\t */\n\tlabel: PropTypes.oneOfType([PropTypes.node, PropTypes.string]),\n\t/*\n\t * Applies label styling for a required form element\n\t */\n\trequired: PropTypes.bool,\n\t/**\n\t * Changes markup of label.\n\t */\n\tvariant: PropTypes.oneOf(['base', 'static']),\n};\n\nconst defaultProps = {\n\tvariant: 'base',\n};\n\n/*\n * Form label. This returns null if there is no label text (hidden or shown)\n */\nconst Label = (props) => {\n\tconst labelText =\n\t\tprops.label || (props.assistiveText && props.assistiveText.label); // One of these is required to pass accessibility tests\n\n\tconst subRenders = {\n\t\tbase: (\n\t\t\t<label\n\t\t\t\tclassName={classNames('slds-form-element__label', {\n\t\t\t\t\t'slds-assistive-text': props.assistiveText && !props.label,\n\t\t\t\t})}\n\t\t\t\thtmlFor={props.htmlFor}\n\t\t\t>\n\t\t\t\t{props.required && (\n\t\t\t\t\t<abbr className=\"slds-required\" title=\"required\">\n\t\t\t\t\t\t{'*'}\n\t\t\t\t\t</abbr>\n\t\t\t\t)}\n\t\t\t\t{labelText}\n\t\t\t</label>\n\t\t),\n\t\tstatic: <span className=\"slds-form-element__label\">{labelText}</span>,\n\t};\n\n\treturn labelText ? subRenders[props.variant] : null;\n};\n\nLabel.displayName = 'Label';\nLabel.propTypes = propTypes;\nLabel.defaultProps = defaultProps;\n\nexport default Label;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\nimport EventUtil from './event';\n\n/*\n * Helper function that has callbacks passed into it with the key\n * being the keycode of the event. This allows an object literal to\n * control key event callback mapping and avoids a long conditional\n * if statement and uses an enumeration pattern instead.\n */\nconst mapKeyEventCallbacks = (\n\tevent,\n\t{ callbacks = {}, shiftCallbacks = {}, stopPropagation = true }\n) => {\n\tif (event.shiftKey && event.keyCode && shiftCallbacks[event.keyCode]) {\n\t\tif (stopPropagation) {\n\t\t\tEventUtil.trapEvent(event);\n\t\t}\n\t\tshiftCallbacks[event.keyCode].callback(\n\t\t\tevent,\n\t\t\tshiftCallbacks[event.keyCode].data\n\t\t);\n\t} else if (event.keyCode && callbacks[event.keyCode]) {\n\t\tif (stopPropagation) {\n\t\t\tEventUtil.trapEvent(event);\n\t\t}\n\t\tcallbacks[event.keyCode].callback(event, callbacks[event.keyCode].data);\n\t} else if (event.keyCode && callbacks.other) {\n\t\t// You will likely NOT want to stop propagation of all key presses!\n\t\tif (callbacks.other.stopPropagation) {\n\t\t\tEventUtil.trapEvent(event);\n\t\t}\n\t\tcallbacks.other.callback(event, callbacks.other.data);\n\t}\n};\n\nexport default mapKeyEventCallbacks;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// # Pill Component\n// Implements the [Pill design pattern](https://lightningdesignsystem.com/components/pills/) in React.\n\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport { PILL } from '../../utilities/constants';\nimport UtilityIcon from '../utilities/utility-icon';\nimport KEYS from '../../utilities/key-code';\nimport EventUtil from '../../utilities/event';\n\nconst propTypes = {\n\t/**\n\t * **Assistive text for accessibility**\n\t * This object is merged with the default props object on every render.\n\t * * `remove`: This is a visually hidden label for the close button.\n\t * _Tested with snapshot testing._\n\t */\n\tassistiveText: PropTypes.shape({\n\t\tremove: PropTypes.string,\n\t}),\n\t/**\n\t * SLDSAvatar component to show on the left of the pill.\n\t * _Tested with Mocha framework._\n\t */\n\tavatar: PropTypes.element,\n\t/**\n\t * Applies the bare style to the component.\n\t * _Tested with Mocha framework._\n\t */\n\tbare: PropTypes.bool,\n\t/**\n\t * This is a way to specify custom contents for the pill in the case a simple text label is not enough.\n\t * _Tested with Mocha framework._\n\t */\n\tchildren: PropTypes.node,\n\t/**\n\t * CSS classes to be added to tag with `.slds-pill`. Uses `classNames` [API](https://github.com/JedWatson/classnames).\n\t * _Tested with Mocha framework._\n\t */\n\tclassName: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\t/**\n\t * Applies the error style to the component.\n\t * _Tested with Mocha framework._\n\t */\n\thasError: PropTypes.bool,\n\t/**\n\t * An href to use if the pill is shown as a link.\n\t * _Tested with Mocha framework._\n\t */\n\thref: PropTypes.string,\n\t/**\n\t * SLDSIcon component to show on the left of the pill.\n\t * _Tested with Mocha framework._\n\t */\n\ticon: PropTypes.element,\n\t/**\n\t * **Text labels for internationalization**\n\t * This object is merged with the default props object on every render.\n\t * * `label`: Pill's label.\n\t * * `title`: Pill's title.\n\t * * `removeTitle`: A title to use for the remove icon.\n\t *\n\t * _Tested with snapshot testing._\n\t */\n\tlabels: PropTypes.shape({\n\t\tlabel: PropTypes.string,\n\t\ttitle: PropTypes.string,\n\t\tremoveTitle: PropTypes.string,\n\t}),\n\t/**\n\t * `onBlur` callback executes when the component loses focus.\n\t * _Tested with Mocha framework._\n\t */\n\tonBlur: PropTypes.func,\n\t/**\n\t * `onClick` callback executes when a user clicks on the pill or presses the Enter key.\n\t * _Tested with Mocha framework._\n\t */\n\tonClick: PropTypes.func,\n\t/**\n\t * `onFocus` callback executes when the component receives focus.\n\t * _Tested with Mocha framework._\n\t */\n\tonFocus: PropTypes.func,\n\t/**\n\t * `onKeyDown` callback executes when a user presses a key.\n\t * _Tested with Mocha framework._\n\t */\n\tonKeyDown: PropTypes.func,\n\t/**\n\t * `onRemove` callback executes when a user clicks on the pill's remove icon or presses the delete or the backspace keys.\n\t * _Tested with Mocha framework._\n\t */\n\tonRemove: PropTypes.func,\n\t/**\n\t * A variant of a pill\n\t * _Tested with Mocha framework._\n\t */\n\tvariant: PropTypes.oneOf(['link', 'option']),\n};\n\n/**\n * A pill displays a label that can contain links and can be removed from view. Use `PillContainer` for a list of pills in a container that resembles an `input` form field. A pill is useful for displaying read-only text that can be added and removed on demand.\n */\nclass Pill extends React.Component {\n\tgetHref = () =>\n\t\ttypeof this.props.href === 'string'\n\t\t\t? this.props.href\n\t\t\t: 'javascript:void(0);'; // eslint-disable-line no-script-url\n\n\t/**\n\t * Removes focus from the component.\n\t */\n\tblur = () => {\n\t\tthis.root.blur();\n\t};\n\n\t/**\n\t * Give focus to the Pill component.\n\t */\n\tfocus = () => {\n\t\tthis.root.focus();\n\t};\n\n\t// eslint-disable-next-line fp/no-rest-parameters\n\thandleKeyDown = (event, ...rest) => {\n\t\tif (typeof this.props.onKeyDown === 'function') {\n\t\t\t// Make a callback to onKeyDown.\n\t\t\tthis.props.onKeyDown.call(null, event, ...rest);\n\t\t\t// Cancel further handling if the default handling for the event was prevented.\n\t\t\tif (event.defaultPrevented) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\n\t\tswitch (event.keyCode) {\n\t\t\tcase KEYS.ENTER:\n\t\t\t\tif (typeof this.props.onClick === 'function') {\n\t\t\t\t\tEventUtil.trap(event);\n\t\t\t\t\tthis.props.onClick();\n\t\t\t\t}\n\t\t\t\tbreak;\n\n\t\t\tcase KEYS.BACKSPACE:\n\t\t\tcase KEYS.DELETE:\n\t\t\t\tif (typeof this.props.onRemove === 'function') {\n\t\t\t\t\tEventUtil.trap(event);\n\t\t\t\t\tthis.props.onRemove();\n\t\t\t\t}\n\t\t\t\tbreak;\n\n\t\t\tdefault:\n\t\t\t\tbreak;\n\t\t}\n\t};\n\n\thandleRef = (root) => {\n\t\t// Keeping the top-most element to support focus() and blur()\n\t\tthis.root = root;\n\t};\n\n\t/**\n\t * Extracts a set of custom properties. A custom property is a property, which is not described in propTypes of a component.\n\t */\n\trestProps = () => {\n\t\tconst {\n\t\t\tbare,\n\t\t\thasError,\n\t\t\tvariant,\n\t\t\tclassName,\n\t\t\tonClick,\n\t\t\tonRemove,\n\t\t\tlabels,\n\t\t\tassistiveText,\n\t\t\tchildren,\n\t\t\thref,\n\t\t\ticon,\n\t\t\tavatar,\n\t\t\tonKeyDown,\n\t\t\t...other\n\t\t} = this.props;\n\t\treturn other;\n\t};\n\n\trenderIcon = () => {\n\t\tconst icon = this.props.icon || this.props.avatar;\n\t\tif (icon) {\n\t\t\treturn <span className=\"slds-pill__icon_container\">{icon}</span>;\n\t\t}\n\t\treturn null;\n\t};\n\n\trenderLabel = () => {\n\t\tif (this.props.labels.label) {\n\t\t\tif (this.props.variant === 'link') {\n\t\t\t\treturn (\n\t\t\t\t\t<a\n\t\t\t\t\t\thref={this.getHref()}\n\t\t\t\t\t\tclassName=\"slds-pill__action\"\n\t\t\t\t\t\ttitle={this.props.labels.title || this.props.labels.label}\n\t\t\t\t\t\tonClick={this.props.onClick}\n\t\t\t\t\t>\n\t\t\t\t\t\t<span className=\"slds-pill__label\">{this.props.labels.label}</span>\n\t\t\t\t\t</a>\n\t\t\t\t);\n\t\t\t}\n\t\t\treturn (\n\t\t\t\t<span\n\t\t\t\t\tclassName=\"slds-pill__label\"\n\t\t\t\t\ttitle={this.props.labels.title || this.props.labels.label}\n\t\t\t\t>\n\t\t\t\t\t{this.props.labels.label}\n\t\t\t\t</span>\n\t\t\t);\n\t\t}\n\t\treturn this.props.children;\n\t};\n\n\trenderRemoveIcon = () => {\n\t\tif (typeof this.props.onRemove === 'function') {\n\t\t\treturn (\n\t\t\t\t<span // eslint-disable-line jsx-a11y/interactive-supports-focus\n\t\t\t\t\tclassName=\"slds-icon_container slds-pill__remove\"\n\t\t\t\t\ttitle={this.props.labels.removeTitle}\n\t\t\t\t\trole=\"button\"\n\t\t\t\t\tonClick={this.props.onRemove}\n\t\t\t\t>\n\t\t\t\t\t<UtilityIcon\n\t\t\t\t\t\tstyle={{ cursor: 'pointer' }} // remove when fixed by SLDS CSS\n\t\t\t\t\t\tcategory=\"utility\"\n\t\t\t\t\t\tclassName=\"slds-icon slds-icon_x-small slds-icon-text-default\"\n\t\t\t\t\t\tname=\"close\"\n\t\t\t\t\t/>\n\t\t\t\t\t<span className=\"slds-assistive-text\">\n\t\t\t\t\t\t{this.props.assistiveText.remove || this.props.labels.removeTitle}\n\t\t\t\t\t</span>\n\t\t\t\t</span>\n\t\t\t);\n\t\t}\n\n\t\treturn null;\n\t};\n\n\trender() {\n\t\tlet role;\n\t\tswitch (this.props.variant) {\n\t\t\tcase 'link':\n\t\t\t\trole = 'button';\n\t\t\t\tbreak;\n\t\t\tcase 'option':\n\t\t\t\trole = 'option';\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t}\n\n\t\treturn (\n\t\t\t/* eslint-disable jsx-a11y/no-static-element-interactions */\n\t\t\t<span\n\t\t\t\t{...this.restProps()}\n\t\t\t\trole={role}\n\t\t\t\tclassName={classNames(\n\t\t\t\t\t'slds-pill',\n\t\t\t\t\t{\n\t\t\t\t\t\t'slds-pill_link': this.props.variant === 'link',\n\t\t\t\t\t\t'slds-has-error': this.props.hasError,\n\t\t\t\t\t\t'slds-pill_bare': this.props.bare,\n\t\t\t\t\t},\n\t\t\t\t\tthis.props.className\n\t\t\t\t)}\n\t\t\t\tonClick={\n\t\t\t\t\t!this.props.labels.label || this.props.variant !== 'link'\n\t\t\t\t\t\t? this.props.onClick\n\t\t\t\t\t\t: null\n\t\t\t\t}\n\t\t\t\tonKeyDown={\n\t\t\t\t\ttypeof this.props.onRemove === 'function' ? this.handleKeyDown : null\n\t\t\t\t}\n\t\t\t\tref={this.handleRef}\n\t\t\t>\n\t\t\t\t{this.renderIcon()}\n\t\t\t\t{this.renderLabel()}\n\t\t\t\t{this.renderRemoveIcon()}\n\t\t\t</span>\n\t\t);\n\t}\n}\n\nPill.displayName = PILL;\n\nPill.defaultProps = {\n\tvariant: 'link',\n\tlabels: {},\n\tassistiveText: {},\n};\n\nPill.propTypes = propTypes;\n\nexport default Pill;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n/**\n * This Pill component should be used within a listbox and differs from the standalone Pill component which is typically used for actions (such as a link) and not form fields. This component should be used in conjuction with `PillContainer`.\n */\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\nimport assign from 'lodash.assign';\n\nimport KEYS from '../../../utilities/key-code';\nimport mapKeyEventCallbacks from '../../../utilities/key-callbacks';\nimport EventUtil from '../../../utilities/event';\n\nimport SLDSPill from '../../../components/pill';\n\nconst propTypes = {\n\t/**\n\t * Pill is the actively focused pill within a pill container. This will request focus on the DOM node.\n\t */\n\tactive: PropTypes.bool,\n\t/**\n\t * **Assistive text for accessibility**\n\t * This object is merged with the default props object on every render.\n\t * * `pressDeleteOrBackspace`: Informs user of keyboard keys to press in order to remove a pill\n\t */\n\tassistiveText: PropTypes.shape({\n\t\tremove: PropTypes.string,\n\t}),\n\t/**\n\t * SLDSAvatar component to show on the left of the pill.\n\t * _Tested with Mocha framework._\n\t */\n\tavatar: PropTypes.element,\n\t/**\n\t * Applies the bare style to the component.\n\t * _Tested with Mocha framework._\n\t */\n\tbare: PropTypes.bool,\n\t/*\n\t * Pills are often used for selection of a type of entity such as days in a daypicker. This prop allows you to pass in data that will be passed back to the event handler.\n\t */\n\teventData: PropTypes.object,\n\t/*\n\t * Callbacks for various pill events such as click, focus, etc\n\t */\n\tevents: PropTypes.shape({\n\t\tonClick: PropTypes.func,\n\t\tonFocus: PropTypes.func,\n\t\tonRequestFocus: PropTypes.func.isRequired,\n\t\tonRequestFocusOnNextPill: PropTypes.func.isRequired,\n\t\tonRequestFocusOnPreviousPill: PropTypes.func.isRequired,\n\t\tonRequestRemove: PropTypes.func.isRequired,\n\t}),\n\t/**\n\t * Applies the error style to the component.\n\t * _Tested with Mocha framework._\n\t */\n\thasError: PropTypes.bool,\n\t/*\n\t * The icon next to the pill label.\n\t */\n\ticon: PropTypes.element,\n\t/*\n\t * Pill Label\n\t */\n\tlabels: PropTypes.shape({\n\t\tlabel: PropTypes.string.isRequired,\n\t\tremoveTitle: PropTypes.string,\n\t}),\n\t/*\n\t * If true and is active pill in listbox, will trigger `events.onRequestFocus`\n\t */\n\trequestFocus: PropTypes.bool,\n\t/*\n\t * Pill Title\n\t */\n\ttitle: PropTypes.string,\n\t/*\n\t * Allows the user to tab to the node\n\t */\n\ttabIndex: PropTypes.number,\n};\n\nconst defaultProps = {\n\tassistiveText: PropTypes.shape({\n\t\tremove: ', Press delete or backspace to remove',\n\t}),\n\tlabels: {\n\t\tremove: 'Remove',\n\t},\n\tevents: {},\n};\n\nconst handleKeyDown = (event, { events, data }) => {\n\t// Helper function that takes an object literal of callbacks that are triggered with a key event\n\tmapKeyEventCallbacks(event, {\n\t\tcallbacks: {\n\t\t\t[KEYS.BACKSPACE]: { callback: events.onRequestRemove, data },\n\t\t\t[KEYS.DELETE]: { callback: events.onRequestRemove, data },\n\t\t\t[KEYS.LEFT]: {\n\t\t\t\tcallback: events.onRequestFocusOnPreviousPill,\n\t\t\t\tdata: { ...data, direction: 'previous' },\n\t\t\t},\n\t\t\t[KEYS.RIGHT]: {\n\t\t\t\tcallback: events.onRequestFocusOnNextPill,\n\t\t\t\tdata: { ...data, direction: 'next' },\n\t\t\t},\n\t\t},\n\t});\n};\n\nconst handleClickRemove = (event, { events, data }) => {\n\tEventUtil.trap(event);\n\tevents.onRequestRemove(event, data);\n};\n\nconst Pill = (props) => {\n\tconst assistiveText = assign(\n\t\t{},\n\t\tdefaultProps.assistiveText,\n\t\tprops.assistiveText\n\t);\n\tconst labels = assign({}, defaultProps.labels, props.labels);\n\n\treturn (\n\t\t<SLDSPill\n\t\t\tavatar={props.avatar}\n\t\t\tbare={props.bare}\n\t\t\thasError={props.hasError}\n\t\t\ttabIndex={props.tabIndex || '0'}\n\t\t\ticon={props.icon}\n\t\t\tvariant=\"option\"\n\t\t\tlabels={labels}\n\t\t\tassistiveText={{\n\t\t\t\tremove: assistiveText.remove,\n\t\t\t}}\n\t\t\taria-selected=\"true\"\n\t\t\tonBlur={props.events.onBlur}\n\t\t\tonClick={\n\t\t\t\ttypeof props.events.onClick === 'function'\n\t\t\t\t\t? (event) => {\n\t\t\t\t\t\t\tif (props.events.onClick) {\n\t\t\t\t\t\t\t\tprops.events.onClick(event, {\n\t\t\t\t\t\t\t\t\t...props.eventData,\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t}\n\t\t\t\t\t }\n\t\t\t\t\t: null\n\t\t\t}\n\t\t\tonFocus={(event) => {\n\t\t\t\tif (props.events.onFocus) {\n\t\t\t\t\tprops.events.onFocus(event, {\n\t\t\t\t\t\t...props.eventData,\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}}\n\t\t\tonRemove={(event) => {\n\t\t\t\tEventUtil.trap(event);\n\t\t\t\thandleClickRemove(event, {\n\t\t\t\t\tevents: props.events,\n\t\t\t\t\tdata: props.eventData,\n\t\t\t\t});\n\t\t\t}}\n\t\t\tonKeyDown={(event) => {\n\t\t\t\thandleKeyDown(event, {\n\t\t\t\t\tevents: props.events,\n\t\t\t\t\tdata: props.eventData,\n\t\t\t\t});\n\t\t\t}}\n\t\t\tref={(component) => {\n\t\t\t\tif (props.requestFocus && props.active) {\n\t\t\t\t\tprops.events.onRequestFocus(undefined, { ref: component });\n\t\t\t\t}\n\t\t\t}}\n\t\t/>\n\t);\n};\n\nPill.displayName = 'Pill';\nPill.propTypes = propTypes;\nPill.defaultProps = defaultProps;\n\nexport default Pill;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\nfunction isReactComponent(object) {\n\treturn (\n\t\t(object.$$typeof &&\n\t\t\tobject.$$typeof.toString() === 'Symbol(react.element)') ||\n\t\t(object.type && typeof object.type === 'function')\n\t);\n}\n\nexport default isReactComponent;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\nimport classNames from 'classnames';\n\nimport Avatar from '../../avatar';\nimport Icon from '../../icon';\nimport Pill from '../../utilities/pill';\n\nimport isReactComponent from '../../../utilities/is-react-component';\n\nconst propTypes = {\n\t/*\n\t * The option object within the selection prop that should have focus.\n\t */\n\tactiveOption: PropTypes.object,\n\t/*\n\t * The index of the option object within the selection prop that should have focus.\n\t */\n\tactiveOptionIndex: PropTypes.number,\n\t/**\n\t * **Assistive text for accessibility**\n\t * This object is merged with the default props object on every render.\n\t * * `label`: This is used as a visually hidden label if, no `labels.label` is provided.\n\t * * `removePill`: Aids in keyboard interaction with Pills.\n\t * * `selectedListboxLabel`: Used to identify the listbox\n\t */\n\tassistiveText: PropTypes.shape({\n\t\tlabel: PropTypes.string,\n\t\tremovePill: PropTypes.string,\n\t\tselectedListboxLabel: PropTypes.string,\n\t}),\n\t/**\n\t * CSS classes to be added to the top-level `div` tag.\n\t */\n\tclassName: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\t/*\n\t * Callbacks for various pill events such as click, focus, etc\n\t */\n\tevents: PropTypes.shape({\n\t\tonClickPill: PropTypes.func,\n\t\tonPillFocus: PropTypes.func.isRequired,\n\t\tonRequestFocus: PropTypes.func.isRequired,\n\t\tonRequestFocusOnNextPill: PropTypes.func.isRequired,\n\t\tonRequestFocusOnPreviousPill: PropTypes.func.isRequired,\n\t\tonRequestRemove: PropTypes.func.isRequired,\n\t}),\n\t/**\n\t * HTML id for component main container\n\t */\n\tid: PropTypes.string,\n\t/**\n\t * Determines whether component renders as a bare pill container with associated styling for child pills\n\t */\n\tisBare: PropTypes.bool,\n\t/**\n\t * Adds inline (inside of input) styling\n\t */\n\tisInline: PropTypes.bool,\n\t/**\n\t * Determines whether component renders as a pill container with associated styling and behavior\n\t */\n\tisPillContainer: PropTypes.bool,\n\t/**\n\t * The value of `aria-orientation` to use on the listbox element\n\t */\n\tlistboxAriaOrientation: PropTypes.string,\n\t/**\n\t * The value of `role` to use on the listbox element\n\t */\n\tlistboxRole: PropTypes.string,\n\t/**\n\t * The value of `aria-orientation` to use on the container element\n\t */\n\tcontainerAriaOrientation: PropTypes.string,\n\t/**\n\t * The value of `role` to use on the container element\n\t */\n\tcontainerRole: PropTypes.string,\n\t/*\n\t * Pill Label\n\t */\n\tlabels: PropTypes.shape({\n\t\tlabel: PropTypes.string,\n\t\tremove: PropTypes.string,\n\t\ttitle: PropTypes.string,\n\t}),\n\t/**\n\t * Changes styles of the input. Currently `entity` is not supported.\n\t */\n\trenderAtSelectionLength: PropTypes.number,\n\t/**\n\t * This callback exposes the selected listbox reference / DOM node to parent components.\n\t */\n\tselectedListboxRef: PropTypes.func,\n\t/**\n\t * Accepts an array of item objects.\n\t */\n\tselection: PropTypes.array,\n\t/**\n\t * Custom styles to be passed to the top-level `div` tag\n\t */\n\tstyle: PropTypes.object,\n\t/**\n\t * Requests that the active option set focus on render\n\t */\n\tlistboxHasFocus: PropTypes.bool,\n\t/**\n\t * Changes styles of the input. Currently `entity` is not supported.\n\t */\n\tvariant: PropTypes.oneOf(['base', 'inline-listbox', 'readonly']),\n};\n\nconst defaultProps = {\n\tlistboxAriaOrientation: 'horizontal',\n\tlistboxRole: 'listbox',\n\trenderAtSelectionLength: 1,\n};\n\nconst getAvatar = (option) => {\n\tconst avatarObject = option.avatar;\n\tlet avatar = null;\n\n\tif (avatarObject) {\n\t\tif (isReactComponent(avatarObject) || avatarObject instanceof HTMLElement) {\n\t\t\tavatar = avatarObject;\n\t\t} else if (avatarObject.imgSrc) {\n\t\t\tavatar = (\n\t\t\t\t<Avatar\n\t\t\t\t\timgSrc={avatarObject.imgSrc}\n\t\t\t\t\ttitle={avatarObject.title || option.label}\n\t\t\t\t\tvariant={avatarObject.variant || 'user'}\n\t\t\t\t/>\n\t\t\t);\n\t\t}\n\t}\n\n\treturn avatar;\n};\n\nconst getIcon = (option) => {\n\tconst iconObject = option.icon;\n\tlet icon = null;\n\n\tif (iconObject) {\n\t\tif (isReactComponent(iconObject) || iconObject instanceof HTMLElement) {\n\t\t\ticon = iconObject;\n\t\t} else if (iconObject.category && iconObject.name) {\n\t\t\ticon = (\n\t\t\t\t<Icon\n\t\t\t\t\tcategory={iconObject.category}\n\t\t\t\t\tname={iconObject.name}\n\t\t\t\t\ttitle={iconObject.title || option.label}\n\t\t\t\t/>\n\t\t\t);\n\t\t}\n\t}\n\n\treturn icon;\n};\n\nconst SelectedListBox = (props) =>\n\tprops.selection.length >= props.renderAtSelectionLength ? (\n\t\t<div // eslint-disable-line jsx-a11y/role-supports-aria-props\n\t\t\tclassName={\n\t\t\t\tclassNames(\n\t\t\t\t\t{\n\t\t\t\t\t\t'slds-pill_container': props.isPillContainer,\n\t\t\t\t\t},\n\t\t\t\t\tprops.className\n\t\t\t\t) || undefined\n\t\t\t}\n\t\t\tid={props.id}\n\t\t\tref={(ref) => {\n\t\t\t\tif (props.selectedListboxRef) {\n\t\t\t\t\tprops.selectedListboxRef(ref);\n\t\t\t\t}\n\t\t\t}}\n\t\t\tstyle={props.style}\n\t\t\t// Remove role and aria-orientation after slds-has-inline-listbox is deprecated in Combobox\n\t\t\trole={props.containerRole}\n\t\t\taria-orientation={props.containerAriaOrientation}\n\t\t>\n\t\t\t<ul\n\t\t\t\tclassName={classNames('slds-listbox', {\n\t\t\t\t\t'slds-listbox_inline': props.isInline,\n\t\t\t\t\t'slds-listbox_horizontal': !props.isInline,\n\t\t\t\t\t'slds-p-top_xxx-small': !props.isInline,\n\t\t\t\t})}\n\t\t\t\taria-label={props.assistiveText.selectedListboxLabel}\n\t\t\t\trole={props.listboxRole}\n\t\t\t\taria-orientation={props.listboxAriaOrientation}\n\t\t\t>\n\t\t\t\t{props.selection.map((option, renderIndex) => {\n\t\t\t\t\tconst hasTabIndex = renderIndex === props.activeOptionIndex;\n\t\t\t\t\tconst icon = getIcon(option);\n\t\t\t\t\tconst avatar = !icon ? getAvatar(option) : null;\n\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<li\n\t\t\t\t\t\t\trole=\"presentation\"\n\t\t\t\t\t\t\tclassName=\"slds-listbox__item\"\n\t\t\t\t\t\t\tkey={`${props.id}-list-item-${option.id}`}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<Pill\n\t\t\t\t\t\t\t\tactive={hasTabIndex && props.listboxHasFocus}\n\t\t\t\t\t\t\t\tassistiveText={{\n\t\t\t\t\t\t\t\t\tremove: props.assistiveText.removePill,\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\tavatar={avatar}\n\t\t\t\t\t\t\t\tbare={option.bare || props.isBare}\n\t\t\t\t\t\t\t\terror={option.error}\n\t\t\t\t\t\t\t\tevents={{\n\t\t\t\t\t\t\t\t\tonBlur: props.events.onBlurPill,\n\t\t\t\t\t\t\t\t\tonClick:\n\t\t\t\t\t\t\t\t\t\ttypeof props.events.onClickPill === 'function'\n\t\t\t\t\t\t\t\t\t\t\t? (event, data) => {\n\t\t\t\t\t\t\t\t\t\t\t\t\tprops.events.onClickPill(event, {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t...data,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tindex: renderIndex,\n\t\t\t\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t\t\t }\n\t\t\t\t\t\t\t\t\t\t\t: null,\n\t\t\t\t\t\t\t\t\tonFocus: (event, data) => {\n\t\t\t\t\t\t\t\t\t\tprops.events.onPillFocus(event, {\n\t\t\t\t\t\t\t\t\t\t\t...data,\n\t\t\t\t\t\t\t\t\t\t\tindex: renderIndex,\n\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\tonRequestFocusOnNextPill:\n\t\t\t\t\t\t\t\t\t\tprops.events.onRequestFocusOnNextPill,\n\t\t\t\t\t\t\t\t\tonRequestFocusOnPreviousPill:\n\t\t\t\t\t\t\t\t\t\tprops.events.onRequestFocusOnPreviousPill,\n\t\t\t\t\t\t\t\t\tonRequestRemove: (event, data) => {\n\t\t\t\t\t\t\t\t\t\tprops.events.onRequestRemove(event, {\n\t\t\t\t\t\t\t\t\t\t\t...data,\n\t\t\t\t\t\t\t\t\t\t\tindex: renderIndex,\n\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\tonRequestFocus: props.events.onRequestFocus,\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\teventData={{ option }}\n\t\t\t\t\t\t\t\thasError={option.error}\n\t\t\t\t\t\t\t\ticon={icon}\n\t\t\t\t\t\t\t\tlabels={{\n\t\t\t\t\t\t\t\t\tlabel: option.label,\n\t\t\t\t\t\t\t\t\tremoveTitle: props.labels.removePillTitle,\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\trequestFocus={props.listboxHasFocus}\n\t\t\t\t\t\t\t\ttabIndex={hasTabIndex ? 0 : -1}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</li>\n\t\t\t\t\t);\n\t\t\t\t})}\n\t\t\t</ul>\n\t\t</div>\n\t) : null;\n\nSelectedListBox.displayName = 'SelectedListBox';\nSelectedListBox.propTypes = propTypes;\nSelectedListBox.defaultProps = defaultProps;\n\nexport default SelectedListBox;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\nimport escapeRegExp from 'lodash.escaperegexp';\n\n// Determines the focusedIndex of a menu item following keyboard letter presses\nconst keyLetterMenuItemSelect = ({ key, keyBuffer, keyCode, options }) => {\n\tlet ch = key || String.fromCharCode(keyCode);\n\n\tif (/^[ -~]$/.test(ch)) {\n\t\tch = ch.toLowerCase();\n\t} else {\n\t\tch = null;\n\t}\n\n\tconst pattern = keyBuffer(ch);\n\tlet consecutive = 0;\n\tlet focusedIndex;\n\n\t// Support for navigating to the next option of the same letter with repeated presses of the same key\n\tif (\n\t\tpattern.length > 1 &&\n\t\tnew RegExp(`^[${escapeRegExp(ch)}]+$`).test(pattern)\n\t) {\n\t\tconsecutive = pattern.length;\n\t}\n\n\toptions.forEach((item, index) => {\n\t\tconst itemLabel = String(item.label).toLowerCase();\n\n\t\tif (\n\t\t\t(focusedIndex === undefined &&\n\t\t\t\titemLabel.substr(0, pattern.length) === pattern) ||\n\t\t\t(consecutive > 0 && itemLabel.substr(0, 1) === ch)\n\t\t) {\n\t\t\tconsecutive -= 1;\n\t\t\tfocusedIndex = index;\n\t\t}\n\t});\n\n\treturn focusedIndex;\n};\n\nexport default keyLetterMenuItemSelect;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// Scrolls a menu container to the appropriate focused item. Assumes container is positioned (absolute, relative, etc)\nconst menuItemSelectScroll = ({\n\tcontainer,\n\tfocusedIndex,\n\titemTag = 'li',\n\tscrollPadding = 4,\n}) => {\n\tconst domItem = container.querySelector(\n\t\t`${itemTag}:nth-child(${focusedIndex + 1})`\n\t);\n\n\tif (domItem) {\n\t\tif (\n\t\t\tdomItem.offsetHeight - container.scrollTop + domItem.offsetTop >=\n\t\t\tcontainer.offsetHeight\n\t\t) {\n\t\t\t// eslint-disable-next-line no-param-reassign\n\t\t\tcontainer.scrollTop =\n\t\t\t\tdomItem.offsetHeight +\n\t\t\t\tdomItem.offsetTop -\n\t\t\t\tcontainer.offsetHeight +\n\t\t\t\tscrollPadding;\n\t\t} else if (domItem.offsetTop <= container.scrollTop) {\n\t\t\t// eslint-disable-next-line no-param-reassign\n\t\t\tcontainer.scrollTop = domItem.offsetTop - scrollPadding;\n\t\t}\n\t}\n};\n\nexport default menuItemSelectScroll;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n/* eslint-disable import/no-mutable-exports */\n\nimport deprecatedProperty from '../../utilities/warning/deprecated-property';\nimport oneOfRequiredProperty from '../../utilities/warning/one-of-required-property';\nimport getComponentDocFn from '../../utilities/get-component-doc';\n\nlet checkProps = function checkPropsFunction() {};\n\nif (process.env.NODE_ENV !== 'production') {\n\tcheckProps = function checkPropsFunction(COMPONENT, props, jsonDoc) {\n\t\tconst createDocUrl = getComponentDocFn(jsonDoc);\n\t\t/* eslint-disable max-len */\n\t\tdeprecatedProperty(\n\t\t\tCOMPONENT,\n\t\t\tprops.isInline,\n\t\t\t'isInline',\n\t\t\t'menuPosition=\"relative\"',\n\t\t\tcreateDocUrl('menuPosition')\n\t\t);\n\t\tdeprecatedProperty(\n\t\t\tCOMPONENT,\n\t\t\tprops.menuItem,\n\t\t\t'menuItem',\n\t\t\t'onRenderMenuItem',\n\t\t\tcreateDocUrl('onRenderItem')\n\t\t);\n\t\tdeprecatedProperty(\n\t\t\tCOMPONENT,\n\t\t\tprops.readOnlyMenuItemVisibleLength,\n\t\t\t'readOnlyMenuItemVisibleLength',\n\t\t\t'menuItemVisibleLength',\n\t\t\tcreateDocUrl('menuItemVisibleLength')\n\t\t);\n\t\t/* eslint-enable max-len */\n\n\t\tif (props.variant !== 'popover') {\n\t\t\toneOfRequiredProperty(\n\t\t\t\tCOMPONENT,\n\t\t\t\t{\n\t\t\t\t\toptions: props.options,\n\t\t\t\t},\n\t\t\t\tcreateDocUrl('options')\n\t\t\t);\n\t\t} else {\n\t\t\toneOfRequiredProperty(\n\t\t\t\tCOMPONENT,\n\t\t\t\t{\n\t\t\t\t\t\"assistiveText['popoverLabel']\": props.assistiveText.popoverLabel,\n\t\t\t\t},\n\t\t\t\tcreateDocUrl('assistiveText')\n\t\t\t);\n\t\t}\n\t};\n}\n\nexport default checkProps;\n","/* eslint-disable max-lines */\n/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n/* eslint-disable max-lines */\n\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\nimport assign from 'lodash.assign';\nimport find from 'lodash.find';\nimport reject from 'lodash.reject';\nimport isEqual from 'lodash.isequal';\nimport findIndex from 'lodash.findindex';\nimport isFunction from 'lodash.isfunction';\n\nimport classNames from 'classnames';\n\nimport shortid from 'shortid';\n\nimport Button from '../button';\nimport Dialog from '../utilities/dialog';\nimport InnerInput from '../../components/input/private/inner-input';\nimport InputIcon from '../icon/input-icon';\nimport Menu from './private/menu';\nimport Label from '../forms/private/label';\nimport Popover from '../popover';\nimport SelectedListBox from '../pill-container/private/selected-listbox';\n\nimport FieldLevelHelpTooltip from '../tooltip/private/field-level-help-tooltip';\nimport KEYS from '../../utilities/key-code';\nimport KeyBuffer from '../../utilities/key-buffer';\nimport keyLetterMenuItemSelect from '../../utilities/key-letter-menu-item-select';\nimport mapKeyEventCallbacks from '../../utilities/key-callbacks';\nimport menuItemSelectScroll from '../../utilities/menu-item-select-scroll';\n\nimport checkProps from './check-props';\n\nimport { COMBOBOX } from '../../utilities/constants';\nimport componentDoc from './component.json';\n\nlet currentOpenDropdown;\nconst documentDefined = typeof document !== 'undefined';\n\nconst propTypes = {\n\t/**\n\t * **Assistive text for accessibility**\n\t * This object is merged with the default props object on every render.\n\t * * `label`: This is used as a visually hidden label if, no `labels.label` is provided.\n\t * * `loading`: Text added to loading spinner.\n\t * * `optionSelectedInMenu`: Added before selected menu items in Read-only variants (Picklists). The default is `Current Selection:`.\n\t * * `popoverLabel`: Used by popover variant, assistive text for the Popover aria-label.\n\t * * `removeSingleSelectedOption`: Used by inline-listbox, single-select variant to remove the selected item (pill). This is a button with focus. The default is `Remove selected option`.\n\t * * `removePill`: Used by multiple selection Comboboxes to remove a selected item (pill). Focus is on the pill. This is not a button. The default is `, Press delete or backspace to remove`.\n\t * * `selectedListboxLabel`: This is a label for the selected listbox. The grouping of pills for multiple selection Comboboxes. The default is `Selected Options:`.\n\t * _Tested with snapshot testing._\n\t */\n\tassistiveText: PropTypes.shape({\n\t\tlabel: PropTypes.string,\n\t\tloadingMenuItems: PropTypes.string,\n\t\toptionSelectedInMenu: PropTypes.string,\n\t\tpopoverLabel: PropTypes.string,\n\t\tremoveSingleSelectedOption: PropTypes.string,\n\t\tremovePill: PropTypes.string,\n\t\tselectedListboxLabel: PropTypes.string,\n\t}),\n\t/**\n\t * The `aria-describedby` attribute is used to indicate the IDs of the elements that describe the object. It is used to establish a relationship between widgets or groups and text that described them.\n\t * This is very similar to aria-labelledby: a label describes the essence of an object, while a description provides more information that the user might need. _Tested with snapshot testing._\n\t */\n\t'aria-describedby': PropTypes.string,\n\t/**\n\t * CSS classes to be added to tag with `.slds-combobox`. Uses `classNames` [API](https://github.com/JedWatson/classnames). _Tested with snapshot testing._\n\t */\n\tclassName: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\t/**\n\t * CSS classes to be added to top level tag with `.slds-form-element` and not on `.slds-combobox_container`. Uses `classNames` [API](https://github.com/JedWatson/classnames). _Tested with snapshot testing._\n\t */\n\tclassNameContainer: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\t/**\n\t * CSS classes to be added to tag with `.slds-dropdown`. Uses `classNames` [API](https://github.com/JedWatson/classnames). Autocomplete/bass variant menu height should not scroll and should be determined by number items which should be no more than 10. _Tested with snapshot testing._\n\t */\n\tclassNameMenu: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\t/**\n\t * CSS classes to be added to tag with `.slds-dropdown__header`. Uses `classNames` [API](https://github.com/JedWatson/classnames).\n\t */\n\tclassNameMenuSubHeader: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\t/**\n\t * Event Callbacks\n\t * * `onBlur`: Called when `input` removes focus.\n\t * * `onChange`: Called when keyboard events occur within `input`\n\t * * `onClose`: Triggered when the menu has closed.\n\t * * `onFocus`: Called when `input` receives focus.\n\t * * `onOpen`: Triggered when the menu has opened.\n\t * * `onRequestClose`: Function called when the menu would like to hide. Please use with `isOpen`.\n\t * * `onRequestOpen`: Function called when the menu would like to show. Please use with `isOpen`.\n\t * * `onRequestRemoveSelectedOption`: Function called when a single selection option is to be removed.\n\t * * `onSelect`: Function called when a menu item is selected. This includes header and footer items.\n\t * * `onSubmit`: Function called when user presses enter or submits the `input`\n\t * _Tested with Mocha testing._\n\t */\n\tevents: PropTypes.shape({\n\t\tonBlur: PropTypes.func,\n\t\tonChange: PropTypes.func,\n\t\tonClose: PropTypes.func,\n\t\tonFocus: PropTypes.func,\n\t\tonOpen: PropTypes.func,\n\t\tonRequestClose: PropTypes.func,\n\t\tonRequestOpen: PropTypes.func,\n\t\tonRequestRemoveSelectedOption: PropTypes.func,\n\t\tonSelect: PropTypes.func,\n\t\tonSubmit: PropTypes.func,\n\t}),\n\t/**\n\t * Message to display when the input is in an error state. When this is present, also visually highlights the component as in error. _Tested with snapshot testing._\n\t */\n\terrorText: PropTypes.string,\n\t/**\n\t * A [Tooltip](https://react.lightningdesignsystem.com/components/tooltips/) component that is displayed next to the `labels.label`. The props from the component will be merged and override any default props.\n\t */\n\tfieldLevelHelpTooltip: PropTypes.node,\n\t/**\n\t * If true, loading spinner appears inside input on right hand side.\n\t */\n\thasInputSpinner: PropTypes.bool,\n\t/**\n\t * Add loading spinner below the options\n\t */\n\thasMenuSpinner: PropTypes.bool,\n\t/**\n\t * By default, dialogs will flip their alignment (such as bottom to top) if they extend beyond a boundary element such as a scrolling parent or a window/viewpoint. `hasStaticAlignment` disables this behavior and allows this component to extend beyond boundary elements. _Not tested._\n\t */\n\thasStaticAlignment: PropTypes.bool,\n\t/**\n\t * HTML id for component. _Tested with snapshot testing._\n\t */\n\tid: PropTypes.string,\n\t/**\n\t * An [Input](https://react.lightningdesignsystem.com/components/inputs) component.\n\t * The props from this component will override any default props.\n\t */\n\tinput: PropTypes.node,\n\t/**\n\t * **Text labels for internationalization**\n\t * This object is merged with the default props object on every render.\n\t * * `label`: This label appears above the input.\n\t * * `cancelButton`: This label is only used by the dialog variant for the cancel button in the footer of the dialog. The default is `Cancel`\n\t * * `doneButton`: This label is only used by the dialog variant for the done button in the footer of the dialog. The default is `Done`\n\t * * `multipleOptionsSelected`: This label is used by the readonly variant when multiple options are selected. The default is `${props.selection.length} options selected`. This will override the entire string.\n\t * * `noOptionsFound`: Custom message that renders when no matches found. The default empty state is just text that says, 'No matches found.'.\n\t * * `placeholder`: Input placeholder\n\t * * `placeholderReadOnly`: Placeholder for Picklist-like Combobox\n\t * * `removePillTitle`: Title on `X` icon\n\t * _Tested with snapshot testing._\n\t */\n\tlabels: PropTypes.shape({\n\t\tlabel: PropTypes.oneOfType([PropTypes.node, PropTypes.string]),\n\t\tmultipleOptionsSelected: PropTypes.string,\n\t\tnoOptionsFound: PropTypes.oneOfType([PropTypes.node, PropTypes.string]),\n\t\tplaceholder: PropTypes.string,\n\t\tplaceholderReadOnly: PropTypes.string,\n\t\tremovePillTitle: PropTypes.string,\n\t}),\n\t/**\n\t * Forces the dropdown to be open or closed. See controlled/uncontrolled callback/prop pattern for more on suggested use view [Concepts and Best Practices](https://github.com/salesforce-ux/design-system-react/blob/master/CONTRIBUTING.md#concepts-and-best-practices) _Tested with snapshot testing._\n\t */\n\tisOpen: PropTypes.bool,\n\t/**\n\t * Sets the dialog width to the width of one of the following:\n\t * * `target`: Sets the dialog width to the width of the target. (Menus attached to `input` typically follow this UX pattern),\n\t * * `menu`: Consider setting a `menuMaxWidth` if using this value. If not, width will be set to width of largest menu item.\n\t * * `none`: Does not set a width on the dialog. _Tested with snapshot testing._\n\t */\n\tinheritWidthOf: PropTypes.oneOf(['target', 'menu', 'none']),\n\t/**\n\t * Accepts a custom menu item rendering function that becomes a custom component. It should return a React node. The checkmark is still rendered in readonly variants. This function is passed the following props:\n\t * * `assistiveText`: Object, `assistiveText` prop that is passed into Combobox\n\t * * `option`: Object, option data for item being rendered that is passed into Combobox\n\t * * `selected`: Boolean, allows rendering of `assistiveText.optionSelectedInMenu` in Readonly Combobox\n\t *\n\t * _Tested with snapshot testing._\n\t */\n\tonRenderMenuItem: PropTypes.func,\n\t/**\n\t * Please select one of the following:\n\t * * `absolute` - (default) The dialog will use `position: absolute` and style attributes to position itself. This allows inverted placement or flipping of the dialog.\n\t * * `overflowBoundaryElement` - The dialog will overflow scrolling parents. Use on elements that are aligned to the left or right of their target and don't care about the target being within a scrolling parent. Typically this is a popover or tooltip. Dropdown menus can usually open up and down if no room exists. In order to achieve this a portal element will be created and attached to `body`. This element will render into that detached render tree.\n\t * * `relative` - No styling or portals will be used. Menus will be positioned relative to their triggers. This is a great choice for HTML snapshot testing.\n\t */\n\tmenuPosition: PropTypes.oneOf([\n\t\t'absolute',\n\t\t'overflowBoundaryElement',\n\t\t'relative',\n\t]),\n\t/**\n\t * Sets a maximum width that the menu will be used if `inheritWidthOf` is set to `menu`. (Example: 500px) _Tested with snapshot testing._\n\t *\n\t */\n\tmenuMaxWidth: PropTypes.string,\n\t/**\n\t * Allows multiple selections _Tested with mocha testing._\n\t */\n\tmultiple: PropTypes.bool,\n\t/**\n\t * **Array of item objects in the dropdown menu.**\n\t * Each object can contain:\n\t * * `icon`: An `Icon` component. (not used in read-only variant)\n\t * * `id`: A unique identifier string.\n\t * * `label`: A primary string of text for a menu item or group separator.\n\t * * `subTitle`: A secondary string of text added for clarity. (optional)\n\t * * `type`: 'separator' is the only type currently used\n\t * * `disabled`: Set to true to disable this menu item.\n\t * * `tooltipContent`: Content that is displayed in tooltip when item is disabled\n\t * ```\n\t * {\n\t * \tid: '2',\n\t * \tlabel: 'Salesforce.com, Inc.',\n\t * \tsubTitle: 'Account • San Francisco',\n\t * \ttype: 'account',\n\t * disabled: true,\n\t * tooltipContent: \"You don't have permission to select this item.\"\n\t * },\n\t * ```\n\t * Note: At the moment, Combobox does not support two consecutive separators. _Tested with snapshot testing._\n\t */\n\toptions: PropTypes.arrayOf(\n\t\tPropTypes.PropTypes.shape({\n\t\t\tid: PropTypes.string.isRequired,\n\t\t\ticon: PropTypes.node,\n\t\t\tlabel: PropTypes.string,\n\t\t\tsubTitle: PropTypes.string,\n\t\t\ttype: PropTypes.string,\n\t\t\tdisabled: PropTypes.boolean,\n\t\t\ttooltipContent: PropTypes.node,\n\t\t})\n\t),\n\t/**\n\t * Determines the height of the menu based on SLDS CSS classes. This is a `number`. The default for a `readonly` variant is `5`.\n\t */\n\tmenuItemVisibleLength: PropTypes.oneOf([5, 7, 10]),\n\t/**\n\t * Limits auto-complete input submission to one of the provided options. _Tested with mocha testing._\n\t */\n\tpredefinedOptionsOnly: PropTypes.bool,\n\t/**\n\t * A `Popover` component. The props from this popover will be merged and override any default props. This also allows a Combobox's Popover dialog to be a controlled component. _Tested with snapshot testing._\n\t */\n\tpopover: PropTypes.node,\n\t/**\n\t * Applies label styling for a required form element. _Tested with snapshot testing._\n\t */\n\trequired: PropTypes.bool,\n\t/**\n\t * Accepts an array of item objects. For single selection, pass in an array of one object. For item object keys, see `options` prop. _Tested with snapshot testing._\n\t */\n\tselection: PropTypes.arrayOf(\n\t\tPropTypes.PropTypes.shape({\n\t\t\tid: PropTypes.string.isRequired,\n\t\t\ticon: PropTypes.node,\n\t\t\tlabel: PropTypes.string,\n\t\t\tsubTitle: PropTypes.string,\n\t\t\ttype: PropTypes.string,\n\t\t})\n\t).isRequired,\n\t/**\n\t * This callback exposes the selected listbox reference / DOM node to parent components.\n\t */\n\tselectedListboxRef: PropTypes.func,\n\t/**\n\t * Disables the input and prevents editing the contents. This only applies for single readonly and inline-listbox variants.\n\t */\n\tsingleInputDisabled: PropTypes.bool,\n\t/**\n\t * Accepts a tooltip that is displayed when hovering on disabled menu items.\n\t */\n\ttooltipMenuItemDisabled: PropTypes.element,\n\t/**\n\t * Value of input. _This is a controlled component,_ so you will need to control the input value by passing the `value` from `onChange` to a parent component or state manager, and then pass it back into the componet with this prop. Please see examples for more clarification. _Tested with snapshot testing._\n\t */\n\tvalue: PropTypes.string,\n\t/**\n\t * Changes styles of the input and menu. Currently `entity` is not supported.\n\t * The options are:\n\t * * `base`: An autocomplete Combobox also allows a user to select an option from a list, but that list can be affected by what the user types into the input of the Combobox. The SLDS website used to call the autocomplete Combobox its `base` variant.\n\t * * `inline-listbox`: An Entity Autocomplete Combobox or Lookup, is used to search for and select Salesforce Entities.\n\t * * `popover`: A dialog Combobox is best used when a listbox, tree, grid, or tree-grid is not the best solution. This variant allows custom content.\n\t * * `readonly`: A readonly text input that allows a user to select an option from a pre-defined list of options. It does not allow free form user input, nor does it allow the user to modify the selected value.\n\t *\n\t * _Tested with snapshot testing._\n\t */\n\t/**\n\t * Default value of input. Provide uncontroled behaviour\n\t */\n\tdefaultValue: PropTypes.string,\n\t/**\n\t * **Array of item objects in the dropdown menu that is displayed below the list of `options`. `onSelect` fires when selected.**\n\t * Each object can contain:\n\t * * `id`: A unique identifier string.\n\t * * `icon`: An [Icon](/components/icons/) component to be displayed to the left of the menu item `label`.\n\t * * `label`: A primary string of text for a menu item or a function that receives `inputValue` as function parameter and returns text to be displayed in for a menu item.\n\t * ```\n\t * {\n\t * \tid: '1',\n\t * \ticon: (\n\t * \t<Icon\n\t * \t\t\tassistiveText={{ label: 'add' }}\n\t * \t\t\tcategory=\"utility\"\n\t * \t\t\tsize=\"x-small\"\n\t * \t\t\tname=\"add\"\n\t * \t\t/>\n\t * \t),\n\t * \tlabel: 'New Entity'\n\t * }\n\t * ```\n\t * _Tested with snapshot testing._\n\t */\n\toptionsAddItem: PropTypes.arrayOf(\n\t\tPropTypes.shape({\n\t\t\tid: PropTypes.string,\n\t\t\ticon: PropTypes.node,\n\t\t\tlabel: PropTypes.oneOfType([PropTypes.string, PropTypes.func]),\n\t\t})\n\t),\n\t/**\n\t * **Array of item objects in the dropdown menu that is displayed above the list of `options`. `onSelect` fires when selected. **\n\t * Each object can contain:\n\t * * `id`: A unique identifier string.\n\t * * `icon`: An [Icon](/components/icons/) component to be displayed to the left of the menu item `label`.\n\t * * `label`: A primary string of text for a menu item or a function that receives `inputValue` as function parameter and returns text to be displayed in for a menu item.\n\t * ```\n\t * {\n\t *\tid: '1',\n\t *\ticon: (\n\t *\t\t<Icon\n\t *\t\t\tassistiveText={{ label: 'Add in Accounts' }}\n\t *\t\t\tsize=\"x-small\"\n\t *\t\t\tcategory=\"utility\"\n\t *\t\t\tname=\"search\"\n\t *\t\t/>\n\t *\t),\n\t *\tlabel: (searchTerm) => {\n\t *\t\treturn `${searchTerm} in Accounts`;\n\t *\t},\n\t * }\n\t * ```\n\t * _Tested with snapshot testing._\n\t */\n\toptionsSearchEntity: PropTypes.arrayOf(\n\t\tPropTypes.shape({\n\t\t\tid: PropTypes.string,\n\t\t\ticon: PropTypes.node,\n\t\t\tlabel: PropTypes.oneOfType([PropTypes.string, PropTypes.func]),\n\t\t})\n\t),\n\t/**\n\t * Node of type [Combobox](/components/comboboxes/) for creating grouped comboboxes.\n\t */\n\tentityCombobox: PropTypes.node,\n\t/**\n\t * Defines Combobox variant styling and functionality\n\t */\n\tvariant: PropTypes.oneOf(['base', 'inline-listbox', 'popover', 'readonly']),\n};\n\nconst defaultProps = {\n\tassistiveText: {\n\t\tloadingMenuItems: 'Loading',\n\t\toptionSelectedInMenu: 'Current Selection:',\n\t\tremoveSingleSelectedOption: 'Remove selected option',\n\t\tremovePill: ', Press delete or backspace to remove',\n\t\tselectedListboxLabel: 'Selected Options:',\n\t},\n\tevents: {},\n\tlabels: {\n\t\tcancelButton: 'Cancel',\n\t\tdoneButton: `Done`,\n\t\tnoOptionsFound: 'No matches found.',\n\t\toptionDisabledTooltipLabel: 'This option is disabled.',\n\t\tplaceholderReadOnly: 'Select an Option',\n\t\tremovePillTitle: 'Remove',\n\t},\n\tinheritWidthOf: 'target',\n\tmenuPosition: 'absolute',\n\toptionsSearchEntity: [],\n\toptionsAddItem: [],\n\trequired: false,\n\tselection: [],\n\tsingleInputDisabled: false,\n\tvariant: 'base',\n};\n\n/**\n * A widget that provides a user with an input field that is either an autocomplete or readonly, accompanied with a listbox of pre-definfined options.\n */\nclass Combobox extends React.Component {\n\tconstructor(props) {\n\t\tsuper(props);\n\n\t\tthis.state = {\n\t\t\tactiveOption: undefined,\n\t\t\tactiveOptionIndex: -1,\n\t\t\t// seeding initial state with this.props.selection[0]\n\t\t\tactiveSelectedOption:\n\t\t\t\t(this.props.selection && this.props.selection[0]) || undefined,\n\t\t\tactiveSelectedOptionIndex: 0,\n\t\t\tlistboxHasFocus: false,\n\t\t\tisOpen: typeof props.isOpen === 'boolean' ? props.isOpen : false,\n\t\t};\n\n\t\tthis.menuKeyBuffer = new KeyBuffer();\n\t\tthis.menuRef = undefined;\n\t\tthis.selectedListboxRef = null;\n\n\t\t// `checkProps` issues warnings to developers about properties (similar to React's built in development tools)\n\t\tcheckProps(COMBOBOX, props, componentDoc);\n\n\t\tthis.generatedId = shortid.generate();\n\t\tthis.generatedErrorId = shortid.generate();\n\t}\n\n\t/**\n\t * Lifecycle methods\n\t */\n\n\tcomponentDidUpdate(nextProps) {\n\t\t// This logic will maintain the active highlight even when the\n\t\t// option order changes. One example would be the server pushes\n\t\t// data out as the user has the menu open. This logic clears\n\t\t// `activeOption` if the active option is no longer in the options\n\t\t// list. If it's in the options list, then find the new index and\n\t\t// set `activeOptionIndex`\n\t\tif (!isEqual(this.getOptions(), this.getOptions(nextProps))) {\n\t\t\tconst index = findIndex(this.getOptions(nextProps), (item) =>\n\t\t\t\tisEqual(item, this.state.activeOption)\n\t\t\t);\n\t\t\tif (index !== -1) {\n\t\t\t\t// eslint-disable-next-line react/no-did-update-set-state\n\t\t\t\tthis.setState({ activeOptionIndex: index });\n\t\t\t} else {\n\t\t\t\t// eslint-disable-next-line react/no-did-update-set-state\n\t\t\t\tthis.setState({ activeOption: undefined, activeOptionIndex: -1 });\n\t\t\t}\n\t\t} else if (this.props.isOpen !== nextProps.isOpen) {\n\t\t\t// eslint-disable-next-line react/no-did-update-set-state\n\t\t\tthis.setState({\n\t\t\t\tactiveOption: undefined,\n\t\t\t\tactiveOptionIndex: -1,\n\t\t\t\tisOpen: nextProps.isOpen,\n\t\t\t});\n\t\t}\n\n\t\t// there may be issues with tabindex/focus if the app removes an item\n\t\t// from selection while the user is using the listbox\n\t\tconst selectedOptionsRenderIsInitialRender =\n\t\t\tthis.props.selection &&\n\t\t\tthis.props.selection.length === 0 &&\n\t\t\tnextProps.selection.length > 0;\n\t\tif (selectedOptionsRenderIsInitialRender) {\n\t\t\t// eslint-disable-next-line react/no-did-update-set-state\n\t\t\tthis.setState({\n\t\t\t\tactiveSelectedOption: nextProps.selection[0],\n\t\t\t\tactiveSelectedOptionIndex: 0,\n\t\t\t});\n\t\t}\n\t}\n\n\tcomponentWillUnmount() {\n\t\tif (currentOpenDropdown === this) {\n\t\t\tcurrentOpenDropdown = undefined;\n\t\t}\n\t}\n\n\tgetCustomPopoverProps = (body, { assistiveText, labels }) => {\n\t\t/*\n\t\t * Generate the popover props based on passed in popover props. Using the default behavior if not provided by passed in popover\n\t\t */\n\t\tconst popoverBody = (\n\t\t\t<div>\n\t\t\t\t<div className=\"slds-assistive-text\" id={`${this.getId()}-label`}>\n\t\t\t\t\t{assistiveText.popoverLabel}\n\t\t\t\t</div>\n\t\t\t\t{body}\n\t\t\t</div>\n\t\t);\n\n\t\tconst popoverFooter = (\n\t\t\t<div>\n\t\t\t\t<Button\n\t\t\t\t\tlabel={labels.cancelButton}\n\t\t\t\t\tonClick={(e) => {\n\t\t\t\t\t\tthis.handleClose(e, { trigger: 'cancel' });\n\t\t\t\t\t}}\n\t\t\t\t/>\n\t\t\t\t<Button\n\t\t\t\t\tlabel={labels.doneButton}\n\t\t\t\t\tvariant=\"brand\"\n\t\t\t\t\tonClick={this.handleClose}\n\t\t\t\t/>\n\t\t\t</div>\n\t\t);\n\n\t\tconst defaultPopoverProps = {\n\t\t\tariaLabelledby: `${this.getId()}-label`,\n\t\t\talign: 'bottom',\n\t\t\tbody: popoverBody,\n\t\t\tclassName: 'slds-popover_full-width',\n\t\t\tfooter: popoverFooter,\n\t\t\tfooterClassName: 'slds-popover__footer_form',\n\t\t\thasNoNubbin: true,\n\t\t\tid: this.getId(),\n\t\t\tisOpen: this.state.isOpen,\n\t\t\thasNoTriggerStyles: true,\n\t\t\tonOpen: this.handleOpen,\n\t\t\tonClose: this.handleClose,\n\t\t\tonRequestClose: this.handleClose,\n\t\t};\n\n\t\t/* Merge in passed popover's props if there is any to override the default popover props */\n\t\tconst popoverProps = assign(\n\t\t\tdefaultPopoverProps,\n\t\t\tthis.props.popover ? this.props.popover.props : {}\n\t\t);\n\t\tpopoverProps.body = popoverBody;\n\n\t\t// eslint-disable-next-line fp/no-delete\n\t\tdelete popoverProps.children;\n\t\treturn popoverProps;\n\t};\n\n\tgetDialog({ menuRenderer }) {\n\t\t// FOR BACKWARDS COMPATIBILITY\n\t\tconst menuPosition = this.props.isInline\n\t\t\t? 'relative'\n\t\t\t: this.props.menuPosition; // eslint-disable-line react/prop-types\n\n\t\treturn !this.props.disabled && this.getIsOpen() ? (\n\t\t\t<Dialog\n\t\t\t\talign=\"bottom left\"\n\t\t\t\tcontext={this.context}\n\t\t\t\thasStaticAlignment={this.props.hasStaticAlignment}\n\t\t\t\tinheritWidthOf={this.props.inheritWidthOf}\n\t\t\t\tonClose={this.handleClose}\n\t\t\t\tonMouseDown={(event) => {\n\t\t\t\t\t// prevent onBlur\n\t\t\t\t\tevent.preventDefault();\n\t\t\t\t}}\n\t\t\t\tonOpen={this.handleOpen}\n\t\t\t\tonRequestTargetElement={this.getTargetElement}\n\t\t\t\tposition={menuPosition}\n\t\t\t\tcontainerProps={{\n\t\t\t\t\tid: `${this.getId()}-listbox`,\n\t\t\t\t\trole: 'listbox',\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\t{menuRenderer}\n\t\t\t</Dialog>\n\t\t) : null;\n\t}\n\n\tgetErrorId() {\n\t\treturn (\n\t\t\tthis.props['aria-describedby'] ||\n\t\t\t(this.props.errorText && this.generatedErrorId)\n\t\t);\n\t}\n\n\t/**\n\t * Shared class property getter methods\n\t */\n\n\tgetId = () => this.props.id || this.generatedId;\n\n\tgetIsActiveOption = () =>\n\t\tthis.state.activeOption && this.state.activeOptionIndex !== -1;\n\n\tgetIsOpen = () =>\n\t\t!!(typeof this.props.isOpen === 'boolean'\n\t\t\t? this.props.isOpen\n\t\t\t: this.state.isOpen);\n\n\tgetNewActiveOptionIndex = ({ activeOptionIndex, offset, options }) => {\n\t\t// used by menu listbox and selected options listbox\n\t\tconst nextIndex = activeOptionIndex + offset;\n\t\tconst skipIndex =\n\t\t\toptions.length > nextIndex &&\n\t\t\tnextIndex >= 0 &&\n\t\t\toptions[nextIndex].type === 'separator';\n\t\tconst newIndex = skipIndex ? nextIndex + offset : nextIndex;\n\t\tconst hasNewIndex = options.length > nextIndex && nextIndex >= 0;\n\t\treturn hasNewIndex ? newIndex : activeOptionIndex;\n\t};\n\n\tgetOptions = (props = this.props) => {\n\t\tconst localProps = props;\n\t\tconst options = [];\n\t\tif (localProps.optionsSearchEntity.length > 0) {\n\t\t\t// eslint-disable-next-line fp/no-mutating-methods\n\t\t\toptions.push(...localProps.optionsSearchEntity);\n\t\t}\n\n\t\tif (localProps.options) {\n\t\t\t// eslint-disable-next-line fp/no-mutating-methods\n\t\t\toptions.push(...localProps.options);\n\t\t}\n\t\tif (localProps.optionsAddItem.length > 0) {\n\t\t\t// eslint-disable-next-line fp/no-mutating-methods\n\t\t\toptions.push(...localProps.optionsAddItem);\n\t\t}\n\t\treturn options;\n\t};\n\n\tgetTargetElement = () => this.inputRef;\n\n\tsetInputRef = (component) => {\n\t\tthis.inputRef = component;\n\t\t// yes, this is a render triggered by a render.\n\t\t// Dialog/Popper.js cannot place the menu until\n\t\t// the trigger/target DOM node is mounted. This\n\t\t// way `findDOMNode` is not called and parent\n\t\t// DOM nodes are not queried.\n\t\tif (!this.state.inputRendered) {\n\t\t\tthis.setState({ inputRendered: true });\n\t\t}\n\t};\n\n\tsetSelectedListboxRef = (ref) => {\n\t\tthis.selectedListboxRef = ref;\n\t\tif (this.props.selectedListboxRef) {\n\t\t\tthis.props.selectedListboxRef(ref);\n\t\t}\n\t};\n\n\thandleBlurPill = () => {\n\t\tthis.setState({ listboxHasFocus: false });\n\t};\n\n\t/**\n\t * Menu open/close and sub-render methods\n\t */\n\thandleClickOutside = (event) => {\n\t\tthis.handleRequestClose(event, {});\n\t};\n\n\thandleClose = (event, { trigger } = {}) => {\n\t\tconst isOpen = this.getIsOpen();\n\n\t\tif (isOpen) {\n\t\t\tif (currentOpenDropdown === this) {\n\t\t\t\tcurrentOpenDropdown = undefined;\n\t\t\t}\n\n\t\t\tthis.setState({\n\t\t\t\tactiveOption: undefined,\n\t\t\t\tactiveOptionIndex: -1,\n\t\t\t\tisOpen: false,\n\t\t\t});\n\n\t\t\tif (this.props.variant === 'popover' && trigger === 'cancel') {\n\t\t\t\tif (this.props.popover.props.onClose) {\n\t\t\t\t\tthis.props.popover.props.onClose(event, { trigger });\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (this.props.events.onClose) {\n\t\t\t\tthis.props.events.onClose(event, {});\n\t\t\t}\n\t\t}\n\t};\n\n\thandleInputBlur = (event) => {\n\t\t// If menu is open when the input's onBlur event fires, it will close before the onClick of the menu item can fire.\n\t\tsetTimeout(() => {\n\t\t\tconst activeElement = documentDefined ? document.activeElement : false;\n\t\t\t// detect if the scrollbar of the combobox-autocomplete/lookup menu is clicked in IE11. If it is, return focus to input, and do not close menu.\n\t\t\tif (\n\t\t\t\tactiveElement &&\n\t\t\t\tactiveElement.tagName === 'DIV' &&\n\t\t\t\tactiveElement.id === `${this.getId()}-listbox`\n\t\t\t) {\n\t\t\t\tif (this.inputRef) {\n\t\t\t\t\tthis.inputRef.focus();\n\t\t\t\t}\n\t\t\t} else if (!this.props.popover) {\n\t\t\t\tthis.handleClose(event);\n\t\t\t}\n\t\t}, 200);\n\n\t\tif (this.props.events.onBlur) {\n\t\t\tthis.props.events.onBlur(event);\n\t\t}\n\t};\n\n\thandleInputChange = (event) => {\n\t\tthis.requestOpenMenu();\n\t\tif (this.props.events && this.props.events.onChange) {\n\t\t\tthis.props.events.onChange(event, { value: event.target.value });\n\t\t}\n\t};\n\n\thandleInputFocus = (event) => {\n\t\tif (this.props.events.onFocus) {\n\t\t\tthis.props.events.onFocus(event, {});\n\t\t}\n\t};\n\n\thandleInputSubmit = (event) => {\n\t\tif (this.state.activeOption && this.state.activeOption.disabled) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (\n\t\t\tthis.state.activeOption &&\n\t\t\t(this.state.activeOption.type === 'header' ||\n\t\t\t\tthis.state.activeOption.type === 'footer')\n\t\t) {\n\t\t\tthis.state.activeOption.onClick(event);\n\t\t\treturn;\n\t\t}\n\n\t\t// use menu options\n\t\tif (this.getIsActiveOption()) {\n\t\t\tthis.handleSelect(event, {\n\t\t\t\toption: this.state.activeOption,\n\t\t\t\tselection: this.props.selection,\n\t\t\t});\n\t\t\t// use input value, if not limited to predefined options (in the menu)\n\t\t} else if (\n\t\t\t!this.props.predefinedOptionsOnly &&\n\t\t\tevent.target.value !== '' &&\n\t\t\tthis.props.events.onSubmit\n\t\t) {\n\t\t\tthis.props.events.onSubmit(event, {\n\t\t\t\tvalue: event.target.value,\n\t\t\t});\n\t\t}\n\t};\n\n\t/**\n\t * Input and menu keyboard event methods\n\t */\n\n\thandleKeyDown = (event) => {\n\t\tconst callbacks = {\n\t\t\t[KEYS.DOWN]: { callback: this.handleKeyDownDown },\n\t\t\t[KEYS.ENTER]: { callback: this.handleInputSubmit },\n\t\t\t[KEYS.ESCAPE]: { callback: this.handleClose },\n\t\t\t[KEYS.UP]: { callback: this.handleKeyDownUp },\n\t\t};\n\n\t\tif (this.props.variant === 'readonly') {\n\t\t\tif (this.props.selection.length > 2) {\n\t\t\t\tcallbacks[KEYS.TAB] = { callback: this.handleKeyDownTab };\n\t\t\t} else {\n\t\t\t\tcallbacks[KEYS.TAB] = undefined;\n\t\t\t}\n\t\t\tcallbacks.other = {\n\t\t\t\tcallback: this.handleKeyDownOther,\n\t\t\t\tstopPropagation: false,\n\t\t\t};\n\t\t}\n\n\t\t// Helper function that takes an object literal of callbacks that are triggered with a key event\n\t\tmapKeyEventCallbacks(event, { callbacks });\n\t};\n\n\thandleKeyDownDown = (event) => {\n\t\t// Don't open if user is selecting text\n\t\tif (!event.shiftKey) {\n\t\t\tthis.openDialog();\n\t\t}\n\n\t\tif (this.props.variant !== 'popover') {\n\t\t\tthis.handleNavigateListboxMenu(event, { direction: 'next' });\n\t\t}\n\t};\n\n\thandleKeyDownTab = () => {\n\t\tif (this.selectedListboxRef) {\n\t\t\tthis.setState({\n\t\t\t\tlistboxHasFocus: true,\n\t\t\t});\n\t\t}\n\t};\n\n\thandleKeyDownUp = (event) => {\n\t\t// Don't open if user is selecting text\n\t\tif (!event.shiftKey && this.getIsOpen()) {\n\t\t\tthis.handleNavigateListboxMenu(event, { direction: 'previous' });\n\t\t}\n\t};\n\n\thandleKeyDownOther = (event) => {\n\t\tconst activeOptionIndex = keyLetterMenuItemSelect({\n\t\t\tkey: event.key,\n\t\t\tkeyBuffer: this.menuKeyBuffer,\n\t\t\tkeyCode: event.keyCode,\n\t\t\toptions: this.getOptions(),\n\t\t});\n\n\t\tif (activeOptionIndex !== undefined) {\n\t\t\tif (this.getIsOpen()) {\n\t\t\t\tmenuItemSelectScroll({\n\t\t\t\t\tcontainer: this.menuRef,\n\t\t\t\t\tfocusedIndex: activeOptionIndex,\n\t\t\t\t});\n\t\t\t}\n\n\t\t\tthis.setState({\n\t\t\t\tactiveOption: this.getOptions()[activeOptionIndex],\n\t\t\t\tactiveOptionIndex,\n\t\t\t});\n\t\t}\n\t};\n\n\thandleNavigateListboxMenu = (event, { direction }) => {\n\t\tconst offsets = { next: 1, previous: -1 };\n\t\t// takes current/previous state and returns an object with the new state\n\t\tthis.setState((prevState) => {\n\t\t\tconst newIndex = this.getNewActiveOptionIndex({\n\t\t\t\tactiveOptionIndex: prevState.activeOptionIndex,\n\t\t\t\toffset: offsets[direction],\n\t\t\t\toptions: this.getOptions(),\n\t\t\t});\n\n\t\t\t// eslint-disable-next-line react/no-access-state-in-setstate\n\t\t\tif (this.getIsOpen()) {\n\t\t\t\tmenuItemSelectScroll({\n\t\t\t\t\tcontainer: this.menuRef,\n\t\t\t\t\tfocusedIndex: newIndex,\n\t\t\t\t});\n\t\t\t}\n\n\t\t\treturn {\n\t\t\t\tactiveOption: this.getOptions()[newIndex],\n\t\t\t\tactiveOptionIndex: newIndex,\n\t\t\t};\n\t\t});\n\t};\n\n\thandleNavigateSelectedListbox = (event, { direction }) => {\n\t\tconst offsets = { next: 1, previous: -1 };\n\t\tthis.setState((prevState) => {\n\t\t\tconst isLastOptionAndRightIsPressed =\n\t\t\t\tprevState.activeSelectedOptionIndex + 1 ===\n\t\t\t\t\tthis.props.selection.length && direction === 'next';\n\t\t\tconst isFirstOptionAndLeftIsPressed =\n\t\t\t\tprevState.activeSelectedOptionIndex === 0 && direction === 'previous';\n\t\t\tlet newState;\n\n\t\t\tif (isLastOptionAndRightIsPressed) {\n\t\t\t\tnewState = {\n\t\t\t\t\tactiveSelectedOption: this.props.selection[0],\n\t\t\t\t\tactiveSelectedOptionIndex: 0,\n\t\t\t\t\tlistboxHasFocus: true,\n\t\t\t\t};\n\t\t\t} else if (isFirstOptionAndLeftIsPressed) {\n\t\t\t\tnewState = {\n\t\t\t\t\tactiveSelectedOption: this.props.selection[\n\t\t\t\t\t\tthis.props.selection.length - 1\n\t\t\t\t\t],\n\t\t\t\t\tactiveSelectedOptionIndex: this.props.selection.length - 1,\n\t\t\t\t\tlistboxHasFocus: true,\n\t\t\t\t};\n\t\t\t} else {\n\t\t\t\tconst newIndex = this.getNewActiveOptionIndex({\n\t\t\t\t\tactiveOptionIndex: prevState.activeSelectedOptionIndex,\n\t\t\t\t\toffset: offsets[direction],\n\t\t\t\t\toptions: this.props.selection,\n\t\t\t\t});\n\t\t\t\tnewState = {\n\t\t\t\t\tactiveSelectedOption: this.props.selection[newIndex],\n\t\t\t\t\tactiveSelectedOptionIndex: newIndex,\n\t\t\t\t\tlistboxHasFocus: true,\n\t\t\t\t};\n\t\t\t}\n\n\t\t\treturn newState;\n\t\t});\n\t};\n\n\thandleOpen = (event, data) => {\n\t\tconst isOpen = this.getIsOpen();\n\n\t\tif (!isOpen) {\n\t\t\tif (currentOpenDropdown && isFunction(currentOpenDropdown.handleClose)) {\n\t\t\t\tcurrentOpenDropdown.handleClose();\n\t\t\t}\n\t\t} else {\n\t\t\tcurrentOpenDropdown = this;\n\n\t\t\tthis.setState({\n\t\t\t\tisOpen: true,\n\t\t\t});\n\n\t\t\tif (this.props.events.onOpen) {\n\t\t\t\tthis.props.events.onOpen(event, data);\n\t\t\t}\n\n\t\t\tif (this.props.variant === 'readonly' && this.menuRef !== null) {\n\t\t\t\tconst activeOptionIndex = findIndex(this.getOptions(), (item) =>\n\t\t\t\t\tisEqual(item, this.props.selection[0])\n\t\t\t\t);\n\n\t\t\t\tthis.setState({\n\t\t\t\t\tactiveOptionIndex,\n\t\t\t\t});\n\n\t\t\t\tmenuItemSelectScroll({\n\t\t\t\t\tcontainer: this.menuRef,\n\t\t\t\t\tfocusedIndex: activeOptionIndex,\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t};\n\n\thandlePillFocus = (event, { option, index }) => {\n\t\tif (!this.state.listboxHasFocus) {\n\t\t\tthis.setState({\n\t\t\t\tactiveSelectedOption: option,\n\t\t\t\tactiveSelectedOptionIndex: index,\n\t\t\t\tlistboxHasFocus: true,\n\t\t\t});\n\t\t}\n\t};\n\n\t/**\n\t * Selected options with selected listbox event methods\n\t */\n\n\thandleRemoveSelectedOption = (event, { option, index }) => {\n\t\tevent.preventDefault();\n\t\tconst onlyOnePillAndInputExists = this.props.selection.length === 1;\n\t\tconst isReadOnlyAndTwoPillsExists =\n\t\t\tthis.props.selection.length === 2 &&\n\t\t\tthis.props.variant === 'readonly' &&\n\t\t\tthis.props.multiple;\n\t\tconst lastPillWasRemoved = index + 1 === this.props.selection.length;\n\n\t\tif (\n\t\t\t(onlyOnePillAndInputExists || isReadOnlyAndTwoPillsExists) &&\n\t\t\tthis.inputRef\n\t\t) {\n\t\t\tthis.inputRef.focus();\n\t\t} else if (lastPillWasRemoved) {\n\t\t\t// set focus to previous option and index\n\t\t\tthis.setState({\n\t\t\t\tactiveSelectedOption: this.props.selection[index - 1],\n\t\t\t\tactiveSelectedOptionIndex: index - 1,\n\t\t\t\tlistboxHasFocus: true,\n\t\t\t});\n\t\t} else {\n\t\t\t// set focus to next option, but same index\n\t\t\tthis.setState({\n\t\t\t\tactiveSelectedOption: this.props.selection[index + 1],\n\t\t\t\tactiveSelectedOptionIndex: index,\n\t\t\t\tlistboxHasFocus: true,\n\t\t\t});\n\t\t}\n\n\t\tif (this.props.events.onRequestRemoveSelectedOption) {\n\t\t\tthis.props.events.onRequestRemoveSelectedOption(event, {\n\t\t\t\tselection: reject(this.props.selection, option),\n\t\t\t});\n\t\t}\n\t};\n\n\thandleRequestClose = (event, data) => {\n\t\tif (this.props.events.onRequestClose) {\n\t\t\tthis.props.events.onRequestClose(event, data);\n\t\t}\n\t\tif (this.getIsOpen()) {\n\t\t\tthis.handleClose(event, { trigger: 'cancel' });\n\t\t}\n\t};\n\n\thandleRequestFocusSelectedListbox = (event, { ref }) => {\n\t\tif (ref) {\n\t\t\tthis.activeSelectedOptionRef = ref;\n\t\t\tthis.activeSelectedOptionRef.focus();\n\t\t}\n\t};\n\n\thandleSelect = (event, { selection, option }) => {\n\t\tlet newSelection;\n\t\tconst isSelected = this.isSelected({ selection, option });\n\t\tconst singleSelectAndSelectedWasNotClicked =\n\t\t\t!this.props.multiple && !isSelected;\n\t\tconst multiSelectAndSelectedWasNotClicked =\n\t\t\tthis.props.multiple && !isSelected;\n\n\t\tif (singleSelectAndSelectedWasNotClicked) {\n\t\t\tnewSelection = [option];\n\t\t} else if (multiSelectAndSelectedWasNotClicked) {\n\t\t\tnewSelection = [...this.props.selection, option];\n\t\t} else {\n\t\t\tnewSelection = reject(this.props.selection, option);\n\t\t}\n\n\t\tif (this.props.events.onSelect) {\n\t\t\tthis.props.events.onSelect(event, { selection: newSelection });\n\t\t}\n\n\t\tthis.handleClose();\n\n\t\t// if (this.inputRef) {\n\t\t// \tthis.inputRef.focus();\n\t\t// }\n\t};\n\n\tisSelected = ({ selection, option }) => !!find(selection, option);\n\n\topenDialog = () => {\n\t\tif (this.props.events.onRequestOpen) {\n\t\t\tthis.props.events.onRequestOpen();\n\t\t} else {\n\t\t\tthis.setState({\n\t\t\t\tisOpen: true,\n\t\t\t});\n\t\t}\n\t};\n\n\trequestOpenMenu = () => {\n\t\tconst isInlineSingleSelectionAndIsNotSelected =\n\t\t\t!this.props.multiple &&\n\t\t\tthis.props.selection.length === 0 &&\n\t\t\tthis.props.variant === 'inline-listbox';\n\n\t\tif (\n\t\t\tisInlineSingleSelectionAndIsNotSelected ||\n\t\t\tthis.props.multiple ||\n\t\t\tthis.props.variant === 'readonly'\n\t\t) {\n\t\t\tthis.openDialog();\n\t\t}\n\t};\n\n\t/**\n\t * Combobox variant subrenders\n\t * (these can probably be broken into function components\n\t * if state is passed in as a prop)\n\t */\n\n\trenderBase = ({ assistiveText, labels, props, userDefinedProps }) => (\n\t\t<div className=\"slds-form-element__control\">\n\t\t\t<div className=\"slds-combobox_container\">\n\t\t\t\t<div\n\t\t\t\t\tclassName={classNames(\n\t\t\t\t\t\t'slds-combobox',\n\t\t\t\t\t\t'slds-dropdown-trigger',\n\t\t\t\t\t\t'slds-dropdown-trigger_click',\n\t\t\t\t\t\t'ignore-react-onclickoutside',\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t'slds-is-open': this.getIsOpen(),\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t'slds-has-error': props.errorText,\n\t\t\t\t\t\t},\n\t\t\t\t\t\tprops.className\n\t\t\t\t\t)}\n\t\t\t\t\t// Not in ARIA 1.2 spec, temporary for SLDS styles\n\t\t\t\t\trole=\"combobox\" // eslint-disable-line jsx-a11y/role-supports-aria-props, jsx-a11y/role-has-required-aria-props\n\t\t\t\t>\n\t\t\t\t\t<InnerInput\n\t\t\t\t\t\taria-autocomplete=\"list\"\n\t\t\t\t\t\taria-controls={\n\t\t\t\t\t\t\tthis.getIsOpen() ? `${this.getId()}-listbox` : undefined\n\t\t\t\t\t\t}\n\t\t\t\t\t\taria-activedescendant={\n\t\t\t\t\t\t\tthis.state.activeOption\n\t\t\t\t\t\t\t\t? `${this.getId()}-listbox-option-${this.state.activeOption.id}`\n\t\t\t\t\t\t\t\t: null\n\t\t\t\t\t\t}\n\t\t\t\t\t\taria-describedby={this.getErrorId()}\n\t\t\t\t\t\taria-expanded={this.getIsOpen()}\n\t\t\t\t\t\taria-haspopup=\"listbox\"\n\t\t\t\t\t\trole=\"combobox\"\n\t\t\t\t\t\tautoComplete=\"off\"\n\t\t\t\t\t\tclassName=\"slds-combobox__input\"\n\t\t\t\t\t\tcontainerProps={{\n\t\t\t\t\t\t\tclassName: 'slds-combobox__form-element',\n\t\t\t\t\t\t\trole: 'none',\n\t\t\t\t\t\t}}\n\t\t\t\t\t\thasSpinner={this.props.hasInputSpinner}\n\t\t\t\t\t\ticonRight={\n\t\t\t\t\t\t\t<InputIcon\n\t\t\t\t\t\t\t\tcategory=\"utility\"\n\t\t\t\t\t\t\t\tname=\"search\"\n\t\t\t\t\t\t\t\ttitle={labels.inputIconTitle}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t}\n\t\t\t\t\t\tid={this.getId()}\n\t\t\t\t\t\tonFocus={this.handleInputFocus}\n\t\t\t\t\t\tonBlur={this.handleInputBlur}\n\t\t\t\t\t\tonKeyDown={this.handleKeyDown}\n\t\t\t\t\t\tinputRef={this.setInputRef}\n\t\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\t\tthis.openDialog();\n\t\t\t\t\t\t}}\n\t\t\t\t\t\tonChange={this.handleInputChange}\n\t\t\t\t\t\tplaceholder={labels.placeholder}\n\t\t\t\t\t\tdefaultValue={props.defaultValue}\n\t\t\t\t\t\treadOnly={\n\t\t\t\t\t\t\t!!(props.predefinedOptionsOnly && this.state.activeOption)\n\t\t\t\t\t\t}\n\t\t\t\t\t\trequired={props.required}\n\t\t\t\t\t\tvalue={\n\t\t\t\t\t\t\tprops.predefinedOptionsOnly\n\t\t\t\t\t\t\t\t? (this.state.activeOption && this.state.activeOption.label) ||\n\t\t\t\t\t\t\t\t props.value\n\t\t\t\t\t\t\t\t: props.value\n\t\t\t\t\t\t}\n\t\t\t\t\t\t{...userDefinedProps.input}\n\t\t\t\t\t/>\n\t\t\t\t\t{this.getDialog({\n\t\t\t\t\t\tmenuRenderer: this.renderMenu({ assistiveText, labels }),\n\t\t\t\t\t})}\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t\t<SelectedListBox\n\t\t\t\tactiveOption={this.state.activeSelectedOption}\n\t\t\t\tactiveOptionIndex={this.state.activeSelectedOptionIndex}\n\t\t\t\tassistiveText={assistiveText}\n\t\t\t\tevents={{\n\t\t\t\t\tonBlurPill: this.handleBlurPill,\n\t\t\t\t\tonPillFocus: this.handlePillFocus,\n\t\t\t\t\tonRequestFocus: this.handleRequestFocusSelectedListbox,\n\t\t\t\t\tonRequestFocusOnNextPill: this.handleNavigateSelectedListbox,\n\t\t\t\t\tonRequestFocusOnPreviousPill: this.handleNavigateSelectedListbox,\n\t\t\t\t\tonRequestRemove: this.handleRemoveSelectedOption,\n\t\t\t\t}}\n\t\t\t\tid={`${this.getId()}-selected-listbox`}\n\t\t\t\tlabels={labels}\n\t\t\t\tselectedListboxRef={this.setSelectedListboxRef}\n\t\t\t\tselection={props.selection}\n\t\t\t\tlistboxHasFocus={this.state.listboxHasFocus}\n\t\t\t/>\n\t\t\t{props.errorText && (\n\t\t\t\t<div className=\"slds-has-error\">\n\t\t\t\t\t<div\n\t\t\t\t\t\tid={this.getErrorId()}\n\t\t\t\t\t\tclassName=\"slds-form-element__help slds-has-error\"\n\t\t\t\t\t>\n\t\t\t\t\t\t{props.errorText}\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t)}\n\t\t</div>\n\t);\n\n\trenderInlineMultiple = ({\n\t\tassistiveText,\n\t\tlabels,\n\t\tprops,\n\t\tuserDefinedProps,\n\t}) => (\n\t\t<div className=\"slds-form-element__control\">\n\t\t\t<div\n\t\t\t\tclassName={classNames('slds-combobox_container', {\n\t\t\t\t\t'slds-has-inline-listbox': props.selection.length,\n\t\t\t\t})}\n\t\t\t>\n\t\t\t\t{props.selection.length ? (\n\t\t\t\t\t<SelectedListBox\n\t\t\t\t\t\tactiveOption={this.state.activeSelectedOption}\n\t\t\t\t\t\tactiveOptionIndex={this.state.activeSelectedOptionIndex}\n\t\t\t\t\t\tassistiveText={assistiveText}\n\t\t\t\t\t\tcontainerRole=\"listbox\"\n\t\t\t\t\t\tcontainerAriaOrientation=\"horizontal\"\n\t\t\t\t\t\tlistboxRole=\"group\"\n\t\t\t\t\t\tlistboxAriaOrientation={null}\n\t\t\t\t\t\tevents={{\n\t\t\t\t\t\t\tonBlurPill: this.handleBlurPill,\n\t\t\t\t\t\t\tonPillFocus: this.handlePillFocus,\n\t\t\t\t\t\t\tonRequestFocus: this.handleRequestFocusSelectedListbox,\n\t\t\t\t\t\t\tonRequestFocusOnNextPill: this.handleNavigateSelectedListbox,\n\t\t\t\t\t\t\tonRequestFocusOnPreviousPill: this.handleNavigateSelectedListbox,\n\t\t\t\t\t\t\tonRequestRemove: this.handleRemoveSelectedOption,\n\t\t\t\t\t\t}}\n\t\t\t\t\t\tid={`${this.getId()}-selected-listbox`}\n\t\t\t\t\t\tlabels={labels}\n\t\t\t\t\t\tselectedListboxRef={this.setSelectedListboxRef}\n\t\t\t\t\t\tselection={props.selection}\n\t\t\t\t\t\tlistboxHasFocus={this.state.listboxHasFocus}\n\t\t\t\t\t/>\n\t\t\t\t) : null}\n\t\t\t\t<div\n\t\t\t\t\tclassName={classNames(\n\t\t\t\t\t\t'slds-combobox',\n\t\t\t\t\t\t'slds-dropdown-trigger',\n\t\t\t\t\t\t'slds-dropdown-trigger_click',\n\t\t\t\t\t\t'ignore-react-onclickoutside',\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t'slds-is-open': this.getIsOpen(),\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t'slds-has-error': props.errorText,\n\t\t\t\t\t\t},\n\t\t\t\t\t\tprops.className\n\t\t\t\t\t)}\n\t\t\t\t\t// Not in ARIA 1.2 spec, temporary for SLDS styles\n\t\t\t\t\trole=\"combobox\" // eslint-disable-line jsx-a11y/role-supports-aria-props, jsx-a11y/role-has-required-aria-props\n\t\t\t\t>\n\t\t\t\t\t<InnerInput\n\t\t\t\t\t\taria-autocomplete=\"list\"\n\t\t\t\t\t\taria-controls={\n\t\t\t\t\t\t\tthis.getIsOpen() ? `${this.getId()}-listbox` : undefined\n\t\t\t\t\t\t}\n\t\t\t\t\t\taria-activedescendant={\n\t\t\t\t\t\t\tthis.state.activeOption\n\t\t\t\t\t\t\t\t? `${this.getId()}-listbox-option-${this.state.activeOption.id}`\n\t\t\t\t\t\t\t\t: null\n\t\t\t\t\t\t}\n\t\t\t\t\t\taria-describedby={this.getErrorId()}\n\t\t\t\t\t\taria-expanded={this.getIsOpen()}\n\t\t\t\t\t\taria-haspopup=\"listbox\" // eslint-disable-line jsx-a11y/aria-proptypes\n\t\t\t\t\t\trole=\"combobox\"\n\t\t\t\t\t\tdefaultValue={props.defaultValue}\n\t\t\t\t\t\tautoComplete=\"off\"\n\t\t\t\t\t\tclassName=\"slds-combobox__input\"\n\t\t\t\t\t\tcontainerProps={{\n\t\t\t\t\t\t\tclassName: 'slds-combobox__form-element',\n\t\t\t\t\t\t\trole: 'none',\n\t\t\t\t\t\t}}\n\t\t\t\t\t\thasSpinner={this.props.hasInputSpinner}\n\t\t\t\t\t\ticonRight={\n\t\t\t\t\t\t\t<InputIcon\n\t\t\t\t\t\t\t\tcategory=\"utility\"\n\t\t\t\t\t\t\t\tname=\"search\"\n\t\t\t\t\t\t\t\ttitle={labels.inputIconTitle}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t}\n\t\t\t\t\t\tid={this.getId()}\n\t\t\t\t\t\tonFocus={this.handleInputFocus}\n\t\t\t\t\t\tonBlur={this.handleInputBlur}\n\t\t\t\t\t\tonKeyDown={this.handleKeyDown}\n\t\t\t\t\t\tinputRef={this.setInputRef}\n\t\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\t\tthis.openDialog();\n\t\t\t\t\t\t}}\n\t\t\t\t\t\tonChange={this.handleInputChange}\n\t\t\t\t\t\tplaceholder={labels.placeholder}\n\t\t\t\t\t\treadOnly={\n\t\t\t\t\t\t\t!!(props.predefinedOptionsOnly && this.state.activeOption)\n\t\t\t\t\t\t}\n\t\t\t\t\t\trequired={props.required}\n\t\t\t\t\t\tvalue={\n\t\t\t\t\t\t\tprops.predefinedOptionsOnly\n\t\t\t\t\t\t\t\t? (this.state.activeOption && this.state.activeOption.label) ||\n\t\t\t\t\t\t\t\t props.value\n\t\t\t\t\t\t\t\t: props.value\n\t\t\t\t\t\t}\n\t\t\t\t\t\t{...userDefinedProps.input}\n\t\t\t\t\t/>\n\t\t\t\t\t{this.getDialog({\n\t\t\t\t\t\tmenuRenderer: this.renderMenu({ assistiveText, labels }),\n\t\t\t\t\t})}\n\t\t\t\t\t{props.errorText && (\n\t\t\t\t\t\t<div id={this.getErrorId()} className=\"slds-form-element__help\">\n\t\t\t\t\t\t\t{props.errorText}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t)}\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t);\n\n\trenderInlineSingle = ({ assistiveText, labels, props, userDefinedProps }) => {\n\t\tconst iconLeft =\n\t\t\tprops.selection[0] && props.selection[0].icon\n\t\t\t\t? React.cloneElement(props.selection[0].icon, {\n\t\t\t\t\t\tcontainerClassName: 'slds-combobox__input-entity-icon',\n\t\t\t\t })\n\t\t\t\t: null;\n\n\t\tconst value =\n\t\t\tprops.selection[0] && props.selection[0].label\n\t\t\t\t? props.selection[0].label\n\t\t\t\t: props.value;\n\n\t\treturn (\n\t\t\t<div className=\"slds-form-element__control\">\n\t\t\t\t<div\n\t\t\t\t\tclassName={classNames('slds-combobox_container', {\n\t\t\t\t\t\t'slds-has-inline-listbox': props.selection.length,\n\t\t\t\t\t})}\n\t\t\t\t>\n\t\t\t\t\t<div\n\t\t\t\t\t\tclassName={classNames(\n\t\t\t\t\t\t\t'slds-combobox',\n\t\t\t\t\t\t\t'slds-dropdown-trigger',\n\t\t\t\t\t\t\t'slds-dropdown-trigger_click',\n\t\t\t\t\t\t\t'ignore-react-onclickoutside',\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t'slds-is-open': this.getIsOpen(),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t'slds-has-error': props.errorText,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tprops.className\n\t\t\t\t\t\t)}\n\t\t\t\t\t\t// Not in ARIA 1.2 spec, temporary for SLDS styles\n\t\t\t\t\t\trole=\"combobox\" // eslint-disable-line jsx-a11y/role-supports-aria-props, jsx-a11y/role-has-required-aria-props\n\t\t\t\t\t>\n\t\t\t\t\t\t<InnerInput\n\t\t\t\t\t\t\tdefaultValue={props.defaultValue}\n\t\t\t\t\t\t\taria-autocomplete=\"list\"\n\t\t\t\t\t\t\taria-controls={\n\t\t\t\t\t\t\t\tthis.getIsOpen() ? `${this.getId()}-listbox` : undefined\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\taria-activedescendant={\n\t\t\t\t\t\t\t\tthis.state.activeOption\n\t\t\t\t\t\t\t\t\t? `${this.getId()}-listbox-option-${\n\t\t\t\t\t\t\t\t\t\t\tthis.state.activeOption.id\n\t\t\t\t\t\t\t\t\t }`\n\t\t\t\t\t\t\t\t\t: null\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\taria-describedby={this.getErrorId()}\n\t\t\t\t\t\t\taria-expanded={this.getIsOpen()}\n\t\t\t\t\t\t\taria-haspopup=\"listbox\" // eslint-disable-line jsx-a11y/aria-proptypes\n\t\t\t\t\t\t\trole=\"combobox\"\n\t\t\t\t\t\t\tautoComplete=\"off\"\n\t\t\t\t\t\t\tclassName=\"slds-combobox__input\"\n\t\t\t\t\t\t\tcontainerProps={{\n\t\t\t\t\t\t\t\tclassName: 'slds-combobox__form-element',\n\t\t\t\t\t\t\t\trole: 'none',\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\tdisabled={this.props.singleInputDisabled}\n\t\t\t\t\t\t\thasSpinner={this.props.hasInputSpinner}\n\t\t\t\t\t\t\ticonRight={\n\t\t\t\t\t\t\t\tprops.selection.length ? (\n\t\t\t\t\t\t\t\t\t<InputIcon\n\t\t\t\t\t\t\t\t\t\tassistiveText={{\n\t\t\t\t\t\t\t\t\t\t\ticon: assistiveText.removeSingleSelectedOption,\n\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\tbuttonRef={(component) => {\n\t\t\t\t\t\t\t\t\t\t\tthis.buttonRef = component;\n\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\tcategory=\"utility\"\n\t\t\t\t\t\t\t\t\t\ticonPosition=\"right\"\n\t\t\t\t\t\t\t\t\t\tname=\"close\"\n\t\t\t\t\t\t\t\t\t\tonClick={(event) => {\n\t\t\t\t\t\t\t\t\t\t\tthis.handleRemoveSelectedOption(event, {\n\t\t\t\t\t\t\t\t\t\t\t\toption: props.selection[0],\n\t\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t<InputIcon category=\"utility\" name=\"search\" />\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\ticonLeft={iconLeft}\n\t\t\t\t\t\t\tid={this.getId()}\n\t\t\t\t\t\t\tonFocus={this.handleInputFocus}\n\t\t\t\t\t\t\tonBlur={this.handleInputBlur}\n\t\t\t\t\t\t\tonKeyDown={this.handleKeyDown}\n\t\t\t\t\t\t\tinputRef={this.setInputRef}\n\t\t\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\t\t\tthis.requestOpenMenu();\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\tonChange={(event) => {\n\t\t\t\t\t\t\t\tif (!props.selection.length) {\n\t\t\t\t\t\t\t\t\tthis.handleInputChange(event);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\tplaceholder={labels.placeholder}\n\t\t\t\t\t\t\treadOnly={\n\t\t\t\t\t\t\t\t!!(props.predefinedOptionsOnly && this.state.activeOption) ||\n\t\t\t\t\t\t\t\t!!props.selection.length\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\trequired={props.required}\n\t\t\t\t\t\t\tvalue={\n\t\t\t\t\t\t\t\tprops.predefinedOptionsOnly\n\t\t\t\t\t\t\t\t\t? (this.state.activeOption &&\n\t\t\t\t\t\t\t\t\t\t\tthis.state.activeOption.label) ||\n\t\t\t\t\t\t\t\t\t props.value\n\t\t\t\t\t\t\t\t\t: value\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t{...userDefinedProps.input}\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t{this.getDialog({\n\t\t\t\t\t\t\tmenuRenderer: this.renderMenu({ assistiveText, labels }),\n\t\t\t\t\t\t})}\n\t\t\t\t\t\t{props.errorText && (\n\t\t\t\t\t\t\t<div id={this.getErrorId()} className=\"slds-form-element__help\">\n\t\t\t\t\t\t\t\t{props.errorText}\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t)}\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t);\n\t};\n\n\trenderMenu = ({ assistiveText, labels }) => {\n\t\tconst menuVariant = {\n\t\t\tbase: 'icon-title-subtitle',\n\t\t\t'inline-listbox': 'icon-title-subtitle',\n\t\t\treadonly: 'checkbox',\n\t\t};\n\n\t\tconst readonlyItemVisibleLength =\n\t\t\tthis.props.variant === 'readonly' ? 5 : null;\n\n\t\treturn (\n\t\t\t<Menu\n\t\t\t\tassistiveText={assistiveText}\n\t\t\t\tactiveOption={this.state.activeOption}\n\t\t\t\tactiveOptionIndex={this.state.activeOptionIndex}\n\t\t\t\tclassNameMenu={this.props.classNameMenu}\n\t\t\t\tclassNameMenuSubHeader={this.props.classNameMenuSubHeader}\n\t\t\t\tclearActiveOption={this.clearActiveOption}\n\t\t\t\tinheritWidthOf={this.props.inheritWidthOf}\n\t\t\t\tinputId={this.getId()}\n\t\t\t\tinputValue={this.props.value}\n\t\t\t\tisSelected={this.isSelected}\n\t\t\t\titemVisibleLength={\n\t\t\t\t\tthis.props.menuItemVisibleLength || readonlyItemVisibleLength\n\t\t\t\t}\n\t\t\t\tlabels={labels}\n\t\t\t\thasMenuSpinner={this.props.hasMenuSpinner}\n\t\t\t\tmenuItem={this.props.menuItem}\n\t\t\t\tmenuPosition={this.props.menuPosition}\n\t\t\t\tmenuRef={(ref) => {\n\t\t\t\t\tthis.menuRef = ref;\n\t\t\t\t}}\n\t\t\t\tmaxWidth={this.props.menuMaxWidth}\n\t\t\t\toptions={this.props.options}\n\t\t\t\toptionsAddItem={this.props.optionsAddItem}\n\t\t\t\toptionsSearchEntity={this.props.optionsSearchEntity}\n\t\t\t\tonSelect={this.handleSelect}\n\t\t\t\t// For backward compatibility, 'menuItem' prop will be deprecated soon\n\t\t\t\tonRenderMenuItem={\n\t\t\t\t\tthis.props.onRenderMenuItem\n\t\t\t\t\t\t? this.props.onRenderMenuItem\n\t\t\t\t\t\t: this.props.menuItem\n\t\t\t\t}\n\t\t\t\tselection={this.props.selection}\n\t\t\t\ttooltipMenuItemDisabled={this.props.tooltipMenuItemDisabled}\n\t\t\t\tvariant={menuVariant[this.props.variant]}\n\t\t\t/>\n\t\t);\n\t};\n\n\trenderPopover = ({ assistiveText, labels, props }) => {\n\t\tconst popoverProps = this.getCustomPopoverProps(\n\t\t\tthis.props.popover.props.body,\n\t\t\t{ assistiveText, labels }\n\t\t);\n\n\t\treturn (\n\t\t\t<div className=\"slds-form-element__control\">\n\t\t\t\t<div className=\"slds-combobox_container\">\n\t\t\t\t\t<div\n\t\t\t\t\t\tclassName={classNames(\n\t\t\t\t\t\t\t'slds-combobox',\n\t\t\t\t\t\t\t'slds-dropdown-trigger',\n\t\t\t\t\t\t\t'slds-dropdown-trigger_click',\n\t\t\t\t\t\t\t'ignore-react-onclickoutside',\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t'slds-is-open': this.getIsOpen(),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t'slds-has-error': props.errorText,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tprops.className\n\t\t\t\t\t\t)}\n\t\t\t\t\t\t// Not in ARIA 1.2 spec, temporary for SLDS styles\n\t\t\t\t\t\trole=\"combobox\" // eslint-disable-line jsx-a11y/role-supports-aria-props, jsx-a11y/role-has-required-aria-props\n\t\t\t\t\t>\n\t\t\t\t\t\t<Popover {...popoverProps}>\n\t\t\t\t\t\t\t<InnerInput\n\t\t\t\t\t\t\t\taria-autocomplete=\"none\"\n\t\t\t\t\t\t\t\taria-controls={\n\t\t\t\t\t\t\t\t\tthis.getIsOpen() ? `${this.getId()}-popover` : undefined\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\taria-describedby={this.getErrorId()}\n\t\t\t\t\t\t\t\taria-expanded={this.getIsOpen()}\n\t\t\t\t\t\t\t\taria-haspopup=\"dialog\" // eslint-disable-line jsx-a11y/aria-proptypes\n\t\t\t\t\t\t\t\trole=\"combobox\"\n\t\t\t\t\t\t\t\tautoComplete=\"off\"\n\t\t\t\t\t\t\t\tclassName=\"slds-combobox__input\"\n\t\t\t\t\t\t\t\tcontainerProps={{\n\t\t\t\t\t\t\t\t\tclassName: 'slds-combobox__form-element',\n\t\t\t\t\t\t\t\t\trole: 'none',\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\ticonRight={\n\t\t\t\t\t\t\t\t\t<InputIcon\n\t\t\t\t\t\t\t\t\t\tcategory=\"utility\"\n\t\t\t\t\t\t\t\t\t\tname=\"down\"\n\t\t\t\t\t\t\t\t\t\tvariant=\"combobox\"\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tid={this.getId()}\n\t\t\t\t\t\t\t\tonFocus={this.handleInputFocus}\n\t\t\t\t\t\t\t\tonBlur={this.handleInputBlur}\n\t\t\t\t\t\t\t\tonKeyDown={this.handleKeyDown}\n\t\t\t\t\t\t\t\tinputRef={this.setInputRef}\n\t\t\t\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\t\t\t\tthis.openDialog();\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\tonChange={this.handleInputChange}\n\t\t\t\t\t\t\t\tplaceholder={labels.placeholder}\n\t\t\t\t\t\t\t\treadOnly\n\t\t\t\t\t\t\t\trequired={props.required}\n\t\t\t\t\t\t\t\tvalue={props.value}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</Popover>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t\t{props.errorText && (\n\t\t\t\t\t<div className=\"slds-has-error\">\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tid={this.getErrorId()}\n\t\t\t\t\t\t\tclassName=\"slds-form-element__help slds-has-error\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{props.errorText}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t)}\n\t\t\t</div>\n\t\t);\n\t};\n\n\trenderReadOnlyMultiple = ({\n\t\tassistiveText,\n\t\tlabels,\n\t\tprops,\n\t\tuserDefinedProps,\n\t}) => {\n\t\tconst value =\n\t\t\tprops.selection.length > 1\n\t\t\t\t? labels.multipleOptionsSelected ||\n\t\t\t\t `${props.selection.length} options selected`\n\t\t\t\t: (props.selection[0] && props.selection[0].label) || '';\n\n\t\treturn (\n\t\t\t<div className=\"slds-form-element__control\">\n\t\t\t\t<div className=\"slds-combobox_container\">\n\t\t\t\t\t<div\n\t\t\t\t\t\tclassName={classNames(\n\t\t\t\t\t\t\t'slds-combobox',\n\t\t\t\t\t\t\t'slds-dropdown-trigger',\n\t\t\t\t\t\t\t'slds-dropdown-trigger_click',\n\t\t\t\t\t\t\t'ignore-react-onclickoutside',\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t'slds-is-open': this.getIsOpen(),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t'slds-has-error': props.errorText,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tprops.className\n\t\t\t\t\t\t)}\n\t\t\t\t\t\t// Not in ARIA 1.2 spec, temporary for SLDS styles\n\t\t\t\t\t\trole=\"combobox\" // eslint-disable-line jsx-a11y/role-supports-aria-props, jsx-a11y/role-has-required-aria-props\n\t\t\t\t\t>\n\t\t\t\t\t\t<InnerInput\n\t\t\t\t\t\t\tdefaultValue={props.defaultValue}\n\t\t\t\t\t\t\taria-autocomplete=\"list\"\n\t\t\t\t\t\t\taria-controls={\n\t\t\t\t\t\t\t\tthis.getIsOpen() ? `${this.getId()}-listbox` : undefined\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\taria-activedescendant={\n\t\t\t\t\t\t\t\tthis.state.activeOption\n\t\t\t\t\t\t\t\t\t? `${this.getId()}-listbox-option-${\n\t\t\t\t\t\t\t\t\t\t\tthis.state.activeOption.id\n\t\t\t\t\t\t\t\t\t }`\n\t\t\t\t\t\t\t\t\t: null\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\taria-describedby={this.getErrorId()}\n\t\t\t\t\t\t\taria-expanded={this.getIsOpen()}\n\t\t\t\t\t\t\taria-haspopup=\"listbox\" // eslint-disable-line jsx-a11y/aria-proptypes\n\t\t\t\t\t\t\trole=\"combobox\"\n\t\t\t\t\t\t\tautoComplete=\"off\"\n\t\t\t\t\t\t\tclassName=\"slds-combobox__input\"\n\t\t\t\t\t\t\tcontainerProps={{\n\t\t\t\t\t\t\t\tclassName: 'slds-combobox__form-element',\n\t\t\t\t\t\t\t\trole: 'none',\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\ticonRight={\n\t\t\t\t\t\t\t\t<InputIcon category=\"utility\" name=\"down\" variant=\"combobox\" />\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tid={this.getId()}\n\t\t\t\t\t\t\tonFocus={this.handleInputFocus}\n\t\t\t\t\t\t\tonBlur={this.handleInputBlur}\n\t\t\t\t\t\t\tonKeyDown={this.handleKeyDown}\n\t\t\t\t\t\t\tinputRef={this.setInputRef}\n\t\t\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\t\t\tthis.requestOpenMenu();\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\tonChange={(event) => {\n\t\t\t\t\t\t\t\tif (!props.selection.length) {\n\t\t\t\t\t\t\t\t\tthis.handleInputChange(event);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\tplaceholder={labels.placeholderReadOnly}\n\t\t\t\t\t\t\treadOnly\n\t\t\t\t\t\t\trequired={props.required}\n\t\t\t\t\t\t\tvalue={value}\n\t\t\t\t\t\t\t{...userDefinedProps.input}\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t{this.getDialog({\n\t\t\t\t\t\t\tmenuRenderer: this.renderMenu({ assistiveText, labels }),\n\t\t\t\t\t\t})}\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t\t<SelectedListBox\n\t\t\t\t\tactiveOption={this.state.activeSelectedOption}\n\t\t\t\t\tactiveOptionIndex={this.state.activeSelectedOptionIndex}\n\t\t\t\t\tassistiveText={assistiveText}\n\t\t\t\t\tevents={{\n\t\t\t\t\t\tonBlurPill: this.handleBlurPill,\n\t\t\t\t\t\tonPillFocus: this.handlePillFocus,\n\t\t\t\t\t\tonRequestFocus: this.handleRequestFocusSelectedListbox,\n\t\t\t\t\t\tonRequestFocusOnNextPill: this.handleNavigateSelectedListbox,\n\t\t\t\t\t\tonRequestFocusOnPreviousPill: this.handleNavigateSelectedListbox,\n\t\t\t\t\t\tonRequestRemove: this.handleRemoveSelectedOption,\n\t\t\t\t\t}}\n\t\t\t\t\tid={`${this.getId()}-selected-listbox`}\n\t\t\t\t\tlabels={labels}\n\t\t\t\t\tselectedListboxRef={this.setSelectedListboxRef}\n\t\t\t\t\tselection={props.selection}\n\t\t\t\t\tlistboxHasFocus={this.state.listboxHasFocus}\n\t\t\t\t\tvariant={this.props.variant}\n\t\t\t\t\trenderAtSelectionLength={2}\n\t\t\t\t/>\n\t\t\t\t{props.errorText && (\n\t\t\t\t\t<div className=\"slds-has-error\">\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tid={this.getErrorId()}\n\t\t\t\t\t\t\tclassName=\"slds-form-element__help slds-has-error\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{props.errorText}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t)}\n\t\t\t</div>\n\t\t);\n\t};\n\n\trenderReadOnlySingle = ({\n\t\tassistiveText,\n\t\tlabels,\n\t\tprops,\n\t\tuserDefinedProps,\n\t}) => {\n\t\tconst value = (props.selection[0] && props.selection[0].label) || '';\n\n\t\treturn (\n\t\t\t<div className=\"slds-form-element__control\">\n\t\t\t\t<div className=\"slds-combobox_container\">\n\t\t\t\t\t<div // aria attributes have been moved to the `div` wrapping `input` to comply with ARIA 1.1.\n\t\t\t\t\t\tclassName={classNames(\n\t\t\t\t\t\t\t'slds-combobox',\n\t\t\t\t\t\t\t'slds-dropdown-trigger',\n\t\t\t\t\t\t\t'slds-dropdown-trigger_click',\n\t\t\t\t\t\t\t'ignore-react-onclickoutside',\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t'slds-is-open': this.getIsOpen(),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t'slds-has-error': props.errorText,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tprops.className\n\t\t\t\t\t\t)}\n\t\t\t\t\t\t// Not in ARIA 1.2 spec, temporary for SLDS styles\n\t\t\t\t\t\trole=\"combobox\" // eslint-disable-line jsx-a11y/role-supports-aria-props, jsx-a11y/role-has-required-aria-props\n\t\t\t\t\t>\n\t\t\t\t\t\t<InnerInput\n\t\t\t\t\t\t\tdefaultValue={props.defaultValue}\n\t\t\t\t\t\t\taria-autocomplete=\"list\"\n\t\t\t\t\t\t\taria-controls={\n\t\t\t\t\t\t\t\tthis.getIsOpen() ? `${this.getId()}-listbox` : undefined\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\taria-activedescendant={\n\t\t\t\t\t\t\t\tthis.state.activeOption\n\t\t\t\t\t\t\t\t\t? `${this.getId()}-listbox-option-${\n\t\t\t\t\t\t\t\t\t\t\tthis.state.activeOption.id\n\t\t\t\t\t\t\t\t\t }`\n\t\t\t\t\t\t\t\t\t: null\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\taria-describedby={this.getErrorId()}\n\t\t\t\t\t\t\taria-expanded={this.getIsOpen()}\n\t\t\t\t\t\t\taria-haspopup=\"listbox\" // eslint-disable-line jsx-a11y/aria-proptypes\n\t\t\t\t\t\t\trole=\"combobox\"\n\t\t\t\t\t\t\tautoComplete=\"off\"\n\t\t\t\t\t\t\tclassName=\"slds-combobox__input\"\n\t\t\t\t\t\t\tcontainerProps={{\n\t\t\t\t\t\t\t\tclassName: 'slds-combobox__form-element',\n\t\t\t\t\t\t\t\trole: 'none',\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\tdisabled={this.props.singleInputDisabled}\n\t\t\t\t\t\t\ticonRight={\n\t\t\t\t\t\t\t\t<InputIcon category=\"utility\" name=\"down\" variant=\"combobox\" />\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tid={this.getId()}\n\t\t\t\t\t\t\tonFocus={this.handleInputFocus}\n\t\t\t\t\t\t\tonBlur={this.handleInputBlur}\n\t\t\t\t\t\t\tonKeyDown={this.handleKeyDown}\n\t\t\t\t\t\t\tinputRef={this.setInputRef}\n\t\t\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\t\t\tthis.requestOpenMenu();\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\tonChange={(event) => {\n\t\t\t\t\t\t\t\tif (!props.selection.length) {\n\t\t\t\t\t\t\t\t\tthis.handleInputChange(event);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\tplaceholder={labels.placeholderReadOnly}\n\t\t\t\t\t\t\treadOnly\n\t\t\t\t\t\t\trequired={props.required}\n\t\t\t\t\t\t\tvalue={\n\t\t\t\t\t\t\t\t(this.state.activeOption && this.state.activeOption.label) ||\n\t\t\t\t\t\t\t\tvalue\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t{...userDefinedProps.input}\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t{this.getDialog({\n\t\t\t\t\t\t\tmenuRenderer: this.renderMenu({ assistiveText, labels }),\n\t\t\t\t\t\t})}\n\t\t\t\t\t\t{props.errorText && (\n\t\t\t\t\t\t\t<div id={this.getErrorId()} className=\"slds-form-element__help\">\n\t\t\t\t\t\t\t\t{props.errorText}\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t)}\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t);\n\t};\n\n\trender() {\n\t\tconst { props } = this;\n\t\t// Merge objects of strings with their default object\n\t\tconst assistiveText = assign(\n\t\t\t{},\n\t\t\tdefaultProps.assistiveText,\n\t\t\tprops.assistiveText\n\t\t);\n\t\tconst labels = assign({}, defaultProps.labels, this.props.labels);\n\t\tconst hasRenderedLabel =\n\t\t\tlabels.label || (assistiveText && assistiveText.label);\n\t\t// declare user defined props\n\t\tconst userDefinedProps = {};\n\t\tif (props.input) {\n\t\t\t// at the moment we only support overriding the input props\n\t\t\tuserDefinedProps.input = props.input.props;\n\t\t}\n\t\tconst subRenderParameters = {\n\t\t\tassistiveText,\n\t\t\tlabels,\n\t\t\tprops: this.props,\n\t\t\tuserDefinedProps,\n\t\t};\n\t\tconst multipleOrSingle = this.props.multiple ? 'multiple' : 'single';\n\t\tconst subRenders = {\n\t\t\tbase: {\n\t\t\t\tmultiple: this.renderBase, // same\n\t\t\t\tsingle: this.renderBase,\n\t\t\t},\n\t\t\t'inline-listbox': {\n\t\t\t\tmultiple: this.renderInlineMultiple,\n\t\t\t\tsingle: this.renderInlineSingle,\n\t\t\t},\n\t\t\tpopover: {\n\t\t\t\tmultiple: this.renderPopover, // same\n\t\t\t\tsingle: this.renderPopover,\n\t\t\t},\n\t\t\treadonly: {\n\t\t\t\tmultiple: this.renderReadOnlyMultiple,\n\t\t\t\tsingle: this.renderReadOnlySingle,\n\t\t\t},\n\t\t};\n\t\tconst variantExists = subRenders[this.props.variant][multipleOrSingle];\n\n\t\tconst mainCombobox = (\n\t\t\t<div\n\t\t\t\tclassName={classNames('slds-form-element', props.classNameContainer)}\n\t\t\t>\n\t\t\t\t{props.entityCombobox ? null : (\n\t\t\t\t\t<Label\n\t\t\t\t\t\tassistiveText={this.props.assistiveText}\n\t\t\t\t\t\thtmlFor={this.getId()}\n\t\t\t\t\t\tlabel={labels.label}\n\t\t\t\t\t\trequired={props.required}\n\t\t\t\t\t/>\n\t\t\t\t)}\n\t\t\t\t{this.props.fieldLevelHelpTooltip && hasRenderedLabel ? (\n\t\t\t\t\t<FieldLevelHelpTooltip\n\t\t\t\t\t\tfieldLevelHelpTooltip={this.props.fieldLevelHelpTooltip}\n\t\t\t\t\t/>\n\t\t\t\t) : null}\n\t\t\t\t{variantExists\n\t\t\t\t\t? subRenders[this.props.variant][multipleOrSingle](\n\t\t\t\t\t\t\tsubRenderParameters\n\t\t\t\t\t )\n\t\t\t\t\t: subRenders.base.multiple(subRenderParameters)}\n\t\t\t</div>\n\t\t);\n\n\t\treturn props.entityCombobox ? (\n\t\t\t<div className=\"slds-form-element\">\n\t\t\t\t<Label\n\t\t\t\t\tassistiveText={props.assistiveText}\n\t\t\t\t\thtmlFor={this.getId()}\n\t\t\t\t\tlabel={labels.label}\n\t\t\t\t\trequired={props.required}\n\t\t\t\t/>\n\t\t\t\t<div className=\"slds-form-element__control\">\n\t\t\t\t\t<div className=\"slds-combobox-group\">\n\t\t\t\t\t\t<div className=\"slds-combobox_object-switcher slds-combobox-addon_start\">\n\t\t\t\t\t\t\t{props.entityCombobox}\n\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t<div className=\"slds-combobox_container slds-combobox-addon_end\">\n\t\t\t\t\t\t\t{mainCombobox}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t) : (\n\t\t\tmainCombobox\n\t\t);\n\t}\n}\n\nCombobox.contextTypes = {\n\ticonPath: PropTypes.string,\n};\n\nCombobox.displayName = COMBOBOX;\nCombobox.propTypes = propTypes;\nCombobox.defaultProps = defaultProps;\n\nexport default Combobox;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// ### onClickOutside\n// Listen for clicks that occur somewhere in the document, outside of the element itself\nimport onClickOutside from 'react-onclickoutside';\nimport LanguageDirection from '../utilities/UNSAFE_direction/private/language-direction';\nimport Combobox from './combobox';\n\nexport default LanguageDirection(\n\tonClickOutside(Combobox, {\n\t\texcludeScrollbar: true,\n\t})\n);\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\nimport escapeRegExp from 'lodash.escaperegexp';\n\n/**\n * SLDS recommends auto-complete/search inputs menus have a limit of 10 items.\n */\nconst filter = ({ inputValue, limit = 10, options, selection }) => {\n\tconst inputValueRegExp = new RegExp(escapeRegExp(inputValue), 'ig');\n\t// eslint-disable-next-line fp/no-mutating-methods\n\treturn options\n\t\t.filter((option) => {\n\t\t\tconst searchTermFoundInLabel = option.label\n\t\t\t\t? option.label.match(inputValueRegExp)\n\t\t\t\t: false;\n\t\t\tconst searchTermFoundInSubtitle = option.subTitle\n\t\t\t\t? option.subTitle.match(inputValueRegExp)\n\t\t\t\t: false;\n\t\t\tconst isSeparator = option.type === 'separator';\n\t\t\tconst notAlreadySelected = !selection.some((sel) => sel.id === option.id);\n\n\t\t\treturn (\n\t\t\t\t(!inputValue ||\n\t\t\t\t\tisSeparator ||\n\t\t\t\t\tsearchTermFoundInLabel ||\n\t\t\t\t\tsearchTermFoundInSubtitle) &&\n\t\t\t\tnotAlreadySelected\n\t\t\t);\n\t\t})\n\t\t.splice(0, limit);\n};\nexport default filter;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n/* eslint-disable import/no-mutable-exports */\n\nimport deprecatedProperty from '../../utilities/warning/deprecated-property';\nimport getComponentDocFn from '../../utilities/get-component-doc';\nimport sunsetProperty from '../../utilities/warning/sunset-property';\n\nlet checkProps = function checkPropsFunction() {};\n\nif (process.env.NODE_ENV !== 'production') {\n\tcheckProps = function checkPropsFunction(COMPONENT, props, jsonDoc) {\n\t\tconst createDocUrl = getComponentDocFn(jsonDoc);\n\t\t/* eslint-disable max-len */\n\t\t// Deprecated and changed to another property\n\t\tdeprecatedProperty(\n\t\t\tCOMPONENT,\n\t\t\tprops.onChange,\n\t\t\t'onChange',\n\t\t\t'onRowChange',\n\t\t\t'The callback parameters have been changed. `onRowChange` passes in `[event, { selection }` in order to align with other components.'\n\t\t);\n\t\tdeprecatedProperty(\n\t\t\tCOMPONENT,\n\t\t\tprops.compact,\n\t\t\t'compact',\n\t\t\tundefined,\n\t\t\t`compact has been deprecated as non-compact data tables do not exist in SLDS. ${createDocUrl()}`\n\t\t);\n\n\t\tdeprecatedProperty(\n\t\t\tCOMPONENT,\n\t\t\tprops.collection,\n\t\t\t'collection',\n\t\t\t'items',\n\t\t\tcreateDocUrl('items')\n\t\t);\n\t\tdeprecatedProperty(\n\t\t\tCOMPONENT,\n\t\t\tprops.onSelect,\n\t\t\t'onSelect',\n\t\t\t'onChange',\n\t\t\tcreateDocUrl('onChange')\n\t\t);\n\t\tdeprecatedProperty(\n\t\t\tCOMPONENT,\n\t\t\tprops.onDeselect,\n\t\t\t'onDeselect',\n\t\t\t'onChange',\n\t\t\tcreateDocUrl('onChange')\n\t\t);\n\t\tsunsetProperty(\n\t\t\tCOMPONENT,\n\t\t\tprops.sortable,\n\t\t\t'sortable',\n\t\t\t`The table is sortable if one or more of its columns are sortable. ${createDocUrl()}`\n\t\t);\n\n\t\t// Deprecated and moved to a child\n\t\tsunsetProperty(\n\t\t\tCOMPONENT,\n\t\t\tprops.columns,\n\t\t\t'columns',\n\t\t\t`Please provide one or more children of the type <Column /> instead. ${createDocUrl()}`\n\t\t);\n\n\t\tsunsetProperty(\n\t\t\tCOMPONENT,\n\t\t\tprops.bordered,\n\t\t\t'bordered',\n\t\t\t`All SLDS DataTables have row borders by default now. If you do not want row borders, please use \\`unborderedRow\\`. ${createDocUrl(\n\t\t\t\t'unborderedRow'\n\t\t\t)}`\n\t\t);\n\t\t/* eslint-enable max-len */\n\n\t\tdeprecatedProperty(\n\t\t\tCOMPONENT,\n\t\t\tprops.assistiveTextForActionsHeader,\n\t\t\t'assistiveTextForActionsHeader',\n\t\t\t\"assistiveText['actionsHeader']\",\n\t\t\tcreateDocUrl('assistiveText')\n\t\t);\n\t\tdeprecatedProperty(\n\t\t\tCOMPONENT,\n\t\t\tprops.assistiveTextForColumnSort,\n\t\t\t'assistiveTextForColumnSort',\n\t\t\t\"assistiveText['columnSort']\",\n\t\t\tcreateDocUrl('assistiveText')\n\t\t);\n\t\tdeprecatedProperty(\n\t\t\tCOMPONENT,\n\t\t\tprops.assistiveTextForColumnSortedAscending,\n\t\t\t'assistiveTextForColumnSortedAscending',\n\t\t\t\"assistiveText['columnSortedAscending']\",\n\t\t\tcreateDocUrl('assistiveText')\n\t\t);\n\t\tdeprecatedProperty(\n\t\t\tCOMPONENT,\n\t\t\tprops.assistiveTextForColumnSortedDescending,\n\t\t\t'assistiveTextForColumnSortedDescending',\n\t\t\t\"assistiveText['columnSortedDescending']\",\n\t\t\tcreateDocUrl('assistiveText')\n\t\t);\n\t\tdeprecatedProperty(\n\t\t\tCOMPONENT,\n\t\t\tprops.assistiveTextForSelectAllRows,\n\t\t\t'assistiveTextForSelectAllRows',\n\t\t\t\"assistiveText['selectAllRows']\",\n\t\t\tcreateDocUrl('assistiveText')\n\t\t);\n\t\tdeprecatedProperty(\n\t\t\tCOMPONENT,\n\t\t\tprops.assistiveTextForSelectRow,\n\t\t\t'assistiveTextForSelectRow',\n\t\t\t\"assistiveText['selectRow']\",\n\t\t\tcreateDocUrl('assistiveText')\n\t\t);\n\t};\n}\n\nexport default checkProps;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// ### React\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\n// ### classNames\nimport classNames from 'classnames';\n\n// ## Constants\nimport { DATA_TABLE_CELL } from '../../utilities/constants';\n\n/**\n * The default Cell renderer for the DataTable. Pass in any React component with the same `displayName` which takes the same props to provide custom rendering.\n */\nconst DataTableCell = (props) => {\n\tconst childText = React.isValidElement(props.children)\n\t\t? props.children.props.children\n\t\t: props.children;\n\tconst contents = (\n\t\t<div\n\t\t\tclassName={classNames({\n\t\t\t\t'slds-truncate': props.fixedLayout,\n\t\t\t})}\n\t\t\ttitle={props.title || childText}\n\t\t>\n\t\t\t{props.children}\n\t\t</div>\n\t);\n\n\tlet cell = (\n\t\t<td\n\t\t\tclassName={props.className}\n\t\t\tdata-label={props.label}\n\t\t\trole={props.fixedLayout ? 'gridcell' : null}\n\t\t\tstyle={props.width ? { width: props.width } : null}\n\t\t\theaders={props.headerId}\n\t\t>\n\t\t\t{contents}\n\t\t</td>\n\t);\n\n\tif (props.primaryColumn) {\n\t\tcell = (\n\t\t\t<th\n\t\t\t\tclassName={props.className}\n\t\t\t\tdata-label={props.label}\n\t\t\t\trole={props.fixedLayout ? 'gridcell' : null}\n\t\t\t\tstyle={props.width ? { width: props.width } : null}\n\t\t\t>\n\t\t\t\t{contents}\n\t\t\t</th>\n\t\t);\n\t}\n\n\treturn cell;\n};\n\n// ### Display Name\n// Always use the canonical component name as the React display name.\nDataTableCell.displayName = DATA_TABLE_CELL;\n\n// ### Prop Types\nDataTableCell.propTypes = {\n\t/**\n\t * The contents of the cell. This can be simple text or DOM nodes. Equivalent to `props.item[props.property]`\n\t */\n\tchildren: PropTypes.oneOfType([PropTypes.node, PropTypes.string]),\n\t/**\n\t * Class names to be added to the cell.\n\t */\n\tclassName: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\t/**\n\t * Use this if you are creating an advanced table (selectable, sortable, or resizable rows)\n\t */\n\tfixedLayout: PropTypes.bool,\n\t/**\n\t * The item from the items which represents this row.\n\t */\n\titem: PropTypes.object,\n\t/**\n\t * The primary column for a row. This is almost always the first column.\n\t */\n\tprimaryColumn: PropTypes.bool,\n\t/**\n\t * The property of this item to display.\n\t */\n\tproperty: PropTypes.string,\n\t/**\n\t * Shows on hover. Useful for truncated cells.\n\t */\n\ttitle: PropTypes.string,\n\t/**\n\t * Width of column. This is required for advanced/fixed layout tables. Please provide units. (`rems` are recommended)\n\t */\n\twidth: PropTypes.string,\n};\n\nexport default DataTableCell;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n/* eslint-disable react/no-unused-prop-types */\n/* deepscan-disable REACT_USELESS_PROP_TYPES */\n\n// ### React\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\n// ## Constants\nimport { DATA_TABLE_COLUMN } from '../../utilities/constants';\n\n// extends is used below so that react-docgen can detect the component\n\n/**\n * Columns define the structure of the data displayed in the DataTable.\n */\nclass DataTableColumn extends React.Component {}\n\n// ### Display Name\n// Always use the canonical component name as the React display name.\nDataTableColumn.displayName = DATA_TABLE_COLUMN;\n\n// ### Prop Types\nDataTableColumn.propTypes = {\n\t/**\n\t * Use a _higher-order component_ to customize a data table cell that will override the default cell rendering. `CustomDataTableCell` must have the same `displayName` as `DataTableCell` or it will be ignored. If you want complete control of the HTML, including the wrapping `td`, you don't have to use `DataTableCell`.\n\t * ```\n\t * import DataTableCell from 'design-system-react/data-table/cell';\n\t * const CustomDataTableCell = ({ children, ...props }) => (\n\t * <DataTableCell {...props} >\n\t * <a href=\"javascript:void(0);\">{children}</a>\n\t * </DataTableCell>\n\t * );\n\t * CustomDataTableCell.displayName = DataTableCell.displayName;\n\t *\n\t * <DataTable>\n\t * <DataTableColumn />\n\t * <DataTableColumn>\n\t * <DataTableCustomCell />\n\t * </DataTableColumn>\n\t * <DataTableRowActions />\n\t * </DataTable>\n\t * ```\n\t */\n\tchildren: PropTypes.element,\n\t/**\n\t * Some columns, such as \"date last viewed\" or \"date recently updated,\" should sort descending first, since that is what the user probably wants. How often does one want to see their oldest files first in a table? If sortable and the `DataTable`'s parent has not defined the sort order, then ascending (A at the top to Z at the bottom) is the default sort order on first click.\n\t */\n\tisDefaultSortDescending: PropTypes.bool,\n\t/**\n\t * Selects this column as the currently sorted column.\n\t */\n\tisSorted: PropTypes.bool,\n\t/**\n\t * The column label. If a `string` is not passed in, no `title` attribute will be rendered.\n\t */\n\tlabel: PropTypes.oneOfType([PropTypes.string, PropTypes.node]),\n\t/**\n\t * The primary column for a row. This is almost always the first column.\n\t */\n\tprimaryColumn: PropTypes.bool,\n\t/**\n\t * The property which corresponds to this column.\n\t */\n\tproperty: PropTypes.string,\n\t/**\n\t * Whether or not the column is sortable.\n\t */\n\tsortable: PropTypes.bool,\n\t/**\n\t * The current sort direction. If left out the component will track this internally. Required if `isSorted` is true.\n\t */\n\tsortDirection: PropTypes.oneOf(['desc', 'asc']),\n\t/**\n\t * Title used for truncation div within the cell.\n\t */\n\ttitle: PropTypes.string,\n\t/**\n\t * Adds truncate to cell node.\n\t */\n\ttruncate: PropTypes.bool,\n\t/**\n\t * Width of column. This is required for advanced/fixed layout tables. Please provide units. (`rems` are recommended)\n\t */\n\twidth: PropTypes.string,\n};\n\nexport default DataTableColumn;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// ### React\nimport React from 'react';\n\n/**\n * Used internally, provides fixed cell rendering\n */\nconst CellFixed = (props) => (\n\t<div\n\t\tclassName=\"slds-cell-fixed\"\n\t\tstyle={{\n\t\t\tdisplay: 'flex',\n\t\t\tflexDirection: 'row',\n\t\t\tflexWrap: 'nowrap',\n\t\t}}\n\t>\n\t\t{props.children}\n\t</div>\n);\n\nexport default CellFixed;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n/* eslint-disable import/no-mutable-exports */\n\nimport ifOneThenBothRequiredProperty from '../../utilities/warning/if-one-then-both-required-property';\n\nlet checkProps = function checkPropsFunction() {};\n\nif (process.env.NODE_ENV !== 'production') {\n\tcheckProps = function checkPropsFunction(COMPONENT, props) {\n\t\t/* eslint-disable max-len */\n\t\t// Deprecated and changed to another property\n\t\tifOneThenBothRequiredProperty(COMPONENT, props, {\n\t\t\tisSorted: props.isSorted,\n\t\t\tsortDirection: props.sortDirection,\n\t\t});\n\t\t/* eslint-enable max-len */\n\t};\n}\n\nexport default checkProps;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// ### React\nimport React from 'react';\n\nimport PropTypes from 'prop-types';\n\n// ### classNames\nimport classNames from 'classnames';\n\n// ### isFunction\nimport isFunction from 'lodash.isfunction';\n\n// ## Children\nimport CellFixed from './cell-fixed';\nimport Icon from '../../icon';\n\n// This component's `checkProps` which issues warnings to developers about properties when in development mode (similar to React's built in development tools)\nimport checkProps from '../column-check-props';\n\n// ## Constants\nimport {\n\tDATA_TABLE_HEADER_CELL,\n\tDATA_TABLE_COLUMN,\n} from '../../../utilities/constants';\n\n/**\n * Used internally, renders each individual column heading.\n */\nclass DataTableHeaderCell extends React.Component {\n\t// ### Display Name\n\t// Always use the canonical component name as the React display name.\n\tstatic displayName = DATA_TABLE_HEADER_CELL;\n\n\t// ### Prop Types\n\tstatic propTypes = {\n\t\tassistiveText: PropTypes.shape({\n\t\t\tactionsHeader: PropTypes.string,\n\t\t\tcolumnSort: PropTypes.string,\n\t\t\tcolumnSortedAscending: PropTypes.string,\n\t\t\tcolumnSortedDescending: PropTypes.string,\n\t\t\tselectAllRows: PropTypes.string,\n\t\t\tselectRow: PropTypes.string,\n\t\t}),\n\t\tcellRef: PropTypes.func,\n\t\tfixedHeader: PropTypes.bool,\n\t\tid: PropTypes.string.isRequired,\n\t\t/**\n\t\t * Some columns, such as \"date last viewed\" or \"date recently updated,\" should sort descending first, since that is what the user probably wants. How often does one want to see their oldest files first in a table? If sortable and the `DataTable`'s parent has not defined the sort order, then ascending (A at the top to Z at the bottom) is the default sort order on first click.\n\t\t */\n\t\tisDefaultSortDescending: PropTypes.bool,\n\t\t/**\n\t\t * Indicates if column is sorted.\n\t\t */\n\t\tisSorted: PropTypes.bool,\n\t\t/**\n\t\t * The column label.\n\t\t */\n\t\tlabel: PropTypes.oneOfType([PropTypes.string, PropTypes.node]),\n\t\t/**\n\t\t * The function to execute on sort.\n\t\t */\n\t\tonSort: PropTypes.func,\n\t\t/**\n\t\t * The property which corresponds to this column.\n\t\t */\n\t\tproperty: PropTypes.string,\n\t\t/**\n\t\t * Whether or not the column is sortable.\n\t\t */\n\t\tsortable: PropTypes.bool,\n\t\t/**\n\t\t * The current sort direction.\n\t\t */\n\t\tsortDirection: PropTypes.oneOf(['desc', 'asc']),\n\t\t/**\n\t\t * Width of column. This is required for advanced/fixed layout tables. Please provide units. (`rems` are recommended)\n\t\t */\n\t\twidth: PropTypes.string,\n\t};\n\n\tstate = {\n\t\tsortDirection: null,\n\t};\n\n\tcomponentDidMount() {\n\t\tcheckProps(DATA_TABLE_COLUMN, this.props);\n\t}\n\n\tcomponentDidUpdate(prevProps) {\n\t\t// reset sort state when another column is sorted\n\t\tif (prevProps.isSorted === true && this.props.isSorted === false) {\n\t\t\tthis.setState({ sortDirection: null }); // eslint-disable-line react/no-did-update-set-state\n\t\t}\n\t}\n\n\thandleSort = (e) => {\n\t\tconst oldSortDirection =\n\t\t\tthis.props.sortDirection || this.state.sortDirection;\n\t\t// UX pattern: If sortable, and the DataTable's parent has not defined the sort order, then ascending (that is A->Z) is the default sort order on first click. Some columns, such as \"last viewed\" or \"recently updated,\" should sort descending first, since that is what the user probably wants. Who wants to see the oldest files first?\n\t\tconst sortDirection = (function sortDirectionFunction(\n\t\t\tdirection,\n\t\t\tisDefaultSortDescending\n\t\t) {\n\t\t\tswitch (direction) {\n\t\t\t\tcase 'asc':\n\t\t\t\t\treturn 'desc';\n\t\t\t\tcase 'desc':\n\t\t\t\t\treturn 'asc';\n\t\t\t\tcase null:\n\t\t\t\t\treturn isDefaultSortDescending ? 'desc' : 'asc';\n\t\t\t\tdefault:\n\t\t\t\t\treturn 'asc';\n\t\t\t}\n\t\t})(oldSortDirection, this.props.isDefaultSortDescending);\n\t\tconst data = {\n\t\t\tproperty: this.props.property,\n\t\t\tsortDirection,\n\t\t};\n\n\t\tthis.setState({\n\t\t\tsortDirection,\n\t\t});\n\n\t\tif (isFunction(this.props.onSort)) {\n\t\t\tthis.props.onSort(data, e);\n\t\t}\n\t};\n\n\t// ### Render\n\trender() {\n\t\tconst { fixedHeader, isSorted, label, sortable, width } = this.props;\n\n\t\tconst labelType = typeof label;\n\t\t// This decides which arrow to render--which is current sort order if the column is sorted OR the future sort order if the arrow is clicked in the future.\n\t\tconst sortDirection =\n\t\t\tthis.props.sortDirection ||\n\t\t\tthis.state.sortDirection ||\n\t\t\t(this.props.isDefaultSortDescending && 'desc');\n\t\tconst expandedSortDirection =\n\t\t\tsortDirection === 'desc' ? 'descending' : 'ascending';\n\t\tconst ariaSort = isSorted ? expandedSortDirection : 'none';\n\n\t\tconst fixedLayoutSubRenders = {\n\t\t\tsortable: (\n\t\t\t\t<a\n\t\t\t\t\thref=\"javascript:void(0)\" // eslint-disable-line no-script-url\n\t\t\t\t\tclassName=\"slds-th__action slds-text-link_reset\"\n\t\t\t\t\tonClick={this.handleSort}\n\t\t\t\t\trole=\"button\"\n\t\t\t\t\ttabIndex=\"0\"\n\t\t\t\t>\n\t\t\t\t\t<span className=\"slds-assistive-text\">\n\t\t\t\t\t\t{this.props.assistiveTextForColumnSort ||\n\t\t\t\t\t\t\tthis.props.assistiveText.columnSort}{' '}\n\t\t\t\t\t</span>\n\t\t\t\t\t<span\n\t\t\t\t\t\tclassName=\"slds-truncate\"\n\t\t\t\t\t\ttitle={labelType === 'string' ? label : undefined}\n\t\t\t\t\t>\n\t\t\t\t\t\t{label}\n\t\t\t\t\t</span>\n\t\t\t\t\t<Icon\n\t\t\t\t\t\tclassName=\"slds-is-sortable__icon\"\n\t\t\t\t\t\tcategory=\"utility\"\n\t\t\t\t\t\tname={sortDirection === 'desc' ? 'arrowdown' : 'arrowup'}\n\t\t\t\t\t\tsize=\"x-small\"\n\t\t\t\t\t/>\n\t\t\t\t\t{sortDirection ? (\n\t\t\t\t\t\t<span className=\"slds-assistive-text\" aria-atomic=\"true\">\n\t\t\t\t\t\t\t{sortDirection === 'asc'\n\t\t\t\t\t\t\t\t? this.props.assistiveTextForColumnSortedAscending ||\n\t\t\t\t\t\t\t\t this.props.assistiveText.columnSortedAscending\n\t\t\t\t\t\t\t\t: this.props.assistiveTextForColumnSortedDescending ||\n\t\t\t\t\t\t\t\t this.props.assistiveText.columnSortedDescending}\n\t\t\t\t\t\t</span>\n\t\t\t\t\t) : null}\n\t\t\t\t</a>\n\t\t\t),\n\t\t\tnotSortable: (\n\t\t\t\t<span className=\"slds-p-horizontal_x-small\" style={{ display: 'flex' }}>\n\t\t\t\t\t<span\n\t\t\t\t\t\tclassName=\"slds-truncate\"\n\t\t\t\t\t\ttitle={labelType === 'string' ? label : undefined}\n\t\t\t\t\t>\n\t\t\t\t\t\t{label}\n\t\t\t\t\t</span>\n\t\t\t\t</span>\n\t\t\t),\n\t\t};\n\n\t\tconst headerCellContent = this.props.fixedLayout ? (\n\t\t\tfixedLayoutSubRenders[sortable ? 'sortable' : 'notSortable']\n\t\t) : (\n\t\t\t<div\n\t\t\t\tclassName=\"slds-truncate\"\n\t\t\t\ttitle={labelType === 'string' ? label : undefined}\n\t\t\t>\n\t\t\t\t{label}\n\t\t\t</div>\n\t\t);\n\n\t\treturn (\n\t\t\t<th\n\t\t\t\taria-label={labelType === 'string' ? label : undefined}\n\t\t\t\taria-sort={ariaSort}\n\t\t\t\tclassName={classNames({\n\t\t\t\t\t'slds-is-sortable': sortable,\n\t\t\t\t\t'slds-is-sorted': isSorted,\n\t\t\t\t\t[`slds-is-sorted_${sortDirection}`]: sortDirection,\n\t\t\t\t\t'slds-is-sorted_asc': isSorted && !sortDirection, // default for hover, up arrow is ascending which means A is at the top of the table, and Z is at the bottom. You have to think about row numbers abstracting, and not the visual order on the table.\n\t\t\t\t})}\n\t\t\t\tref={(ref) => {\n\t\t\t\t\tif (this.props.cellRef) {\n\t\t\t\t\t\tthis.props.cellRef(ref);\n\t\t\t\t\t}\n\t\t\t\t}}\n\t\t\t\tscope=\"col\"\n\t\t\t\tstyle={\n\t\t\t\t\tfixedHeader || width\n\t\t\t\t\t\t? {\n\t\t\t\t\t\t\t\theight: fixedHeader ? 0 : null,\n\t\t\t\t\t\t\t\tlineHeight: fixedHeader ? 0 : null,\n\t\t\t\t\t\t\t\twidth: width || null,\n\t\t\t\t\t\t }\n\t\t\t\t\t\t: null\n\t\t\t\t}\n\t\t\t>\n\t\t\t\t{fixedHeader\n\t\t\t\t\t? React.cloneElement(headerCellContent, {\n\t\t\t\t\t\t\tstyle: {\n\t\t\t\t\t\t\t\tdisplay: 'flex',\n\t\t\t\t\t\t\t\theight: 0,\n\t\t\t\t\t\t\t\toverflow: 'hidden',\n\t\t\t\t\t\t\t\tpaddingBottom: 0,\n\t\t\t\t\t\t\t\tpaddingTop: 0,\n\t\t\t\t\t\t\t\tvisibility: 'hidden',\n\t\t\t\t\t\t\t},\n\t\t\t\t\t })\n\t\t\t\t\t: headerCellContent}\n\t\t\t\t{fixedHeader ? (\n\t\t\t\t\t<CellFixed>\n\t\t\t\t\t\t{React.cloneElement(headerCellContent, {\n\t\t\t\t\t\t\tstyle: {\n\t\t\t\t\t\t\t\talignItems: 'center',\n\t\t\t\t\t\t\t\tdisplay: 'flex',\n\t\t\t\t\t\t\t\tflex: '1 1 auto',\n\t\t\t\t\t\t\t\tlineHeight: 1.25,\n\t\t\t\t\t\t\t\twidth: '100%',\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\ttabIndex: sortable ? 0 : null,\n\t\t\t\t\t\t})}\n\t\t\t\t\t</CellFixed>\n\t\t\t\t) : null}\n\t\t\t</th>\n\t\t);\n\t}\n}\n\nexport default DataTableHeaderCell;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// ### React\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\n// ## Children\nimport CellFixed from './cell-fixed';\nimport Checkbox from '../../checkbox';\nimport HeaderCell from './header-cell';\n\n// ## Constants\nimport { DATA_TABLE_HEAD } from '../../../utilities/constants';\n\n/**\n * Used internally, provides header row rendering to the DataTable.\n */\nclass DataTableHead extends React.Component {\n\t// ### Display Name\n\t// Always use the canonical component name as the React display name.\n\tstatic displayName = DATA_TABLE_HEAD;\n\n\t// ### Prop Types\n\tstatic propTypes = {\n\t\tassistiveText: PropTypes.shape({\n\t\t\tactionsHeader: PropTypes.string,\n\t\t\tcolumnSort: PropTypes.string,\n\t\t\tcolumnSortedAscending: PropTypes.string,\n\t\t\tcolumnSortedDescending: PropTypes.string,\n\t\t\tselectAllRows: PropTypes.string,\n\t\t\tselectRow: PropTypes.string,\n\t\t}),\n\t\tallSelected: PropTypes.bool,\n\t\theaderRefs: PropTypes.func,\n\t\tindeterminateSelected: PropTypes.bool,\n\t\tcanSelectRows: PropTypes.oneOfType([\n\t\t\tPropTypes.bool,\n\t\t\tPropTypes.oneOf(['checkbox', 'radio']),\n\t\t]),\n\t\tcolumns: PropTypes.arrayOf(\n\t\t\tPropTypes.shape({\n\t\t\t\tCell: PropTypes.func,\n\t\t\t\tprops: PropTypes.object,\n\t\t\t})\n\t\t),\n\t\tfixedHeader: PropTypes.bool,\n\t\tid: PropTypes.string,\n\t\tonToggleAll: PropTypes.func,\n\t\tonSort: PropTypes.func,\n\t\tshowRowActions: PropTypes.bool,\n\t};\n\n\tgetActionsHeader = () => {\n\t\tconst { fixedHeader } = this.props;\n\t\tconst getContent = (style) => (\n\t\t\t<div className=\"slds-th__action\" style={style}>\n\t\t\t\t<span className=\"slds-assistive-text\">\n\t\t\t\t\t{this.props.assistiveText.actionsHeader}\n\t\t\t\t</span>\n\t\t\t</div>\n\t\t);\n\t\tlet actionsHeader = null;\n\n\t\tif (this.props.showRowActions) {\n\t\t\tactionsHeader = (\n\t\t\t\t<th\n\t\t\t\t\tref={(ref) => {\n\t\t\t\t\t\tif (this.props.headerRefs) {\n\t\t\t\t\t\t\tthis.props.headerRefs(ref, 'action');\n\t\t\t\t\t\t}\n\t\t\t\t\t}}\n\t\t\t\t\tscope=\"col\"\n\t\t\t\t\tstyle={{\n\t\t\t\t\t\theight: fixedHeader ? 0 : null,\n\t\t\t\t\t\tlineHeight: fixedHeader ? 0 : null,\n\t\t\t\t\t\twidth: '3.25rem',\n\t\t\t\t\t}}\n\t\t\t\t>\n\t\t\t\t\t{getContent(\n\t\t\t\t\t\tfixedHeader\n\t\t\t\t\t\t\t? {\n\t\t\t\t\t\t\t\t\theight: 0,\n\t\t\t\t\t\t\t\t\toverflow: 'hidden',\n\t\t\t\t\t\t\t\t\tpaddingBottom: 0,\n\t\t\t\t\t\t\t\t\tpaddingTop: 0,\n\t\t\t\t\t\t\t\t\tvisibility: 'hidden',\n\t\t\t\t\t\t\t }\n\t\t\t\t\t\t\t: null\n\t\t\t\t\t)}\n\t\t\t\t\t{fixedHeader ? (\n\t\t\t\t\t\t<CellFixed>\n\t\t\t\t\t\t\t{getContent({\n\t\t\t\t\t\t\t\tlineHeight: 1,\n\t\t\t\t\t\t\t\twidth: '100%',\n\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t</CellFixed>\n\t\t\t\t\t) : null}\n\t\t\t\t</th>\n\t\t\t);\n\t\t}\n\n\t\treturn actionsHeader;\n\t};\n\n\tgetSelectHeader = () => {\n\t\tconst { canSelectRows, fixedHeader } = this.props;\n\t\tconst getContent = (idSuffix, style, ariaHidden) => {\n\t\t\tlet render = null;\n\n\t\t\tif (canSelectRows === 'radio') {\n\t\t\t\trender = (\n\t\t\t\t\t<div\n\t\t\t\t\t\tclassName=\"slds-truncate slds-assistive-text\"\n\t\t\t\t\t\tid={`${this.props.id}-column-group-header-row-select`}\n\t\t\t\t\t\ttitle={this.props.assistiveText.selectRowGroup}\n\t\t\t\t\t>\n\t\t\t\t\t\t{this.props.assistiveText.selectRowGroup}\n\t\t\t\t\t</div>\n\t\t\t\t);\n\t\t\t} else if (canSelectRows === true || canSelectRows === 'checkbox') {\n\t\t\t\trender = (\n\t\t\t\t\t<div\n\t\t\t\t\t\tclassName=\"slds-th__action slds-th__action_form\"\n\t\t\t\t\t\taria-hidden={ariaHidden && true}\n\t\t\t\t\t\tstyle={style}\n\t\t\t\t\t>\n\t\t\t\t\t\t{!ariaHidden ? (\n\t\t\t\t\t\t\t<span\n\t\t\t\t\t\t\t\tid={`${this.props.id}-column-group-header-row-select`}\n\t\t\t\t\t\t\t\tclassName=\"slds-assistive-text\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{this.props.assistiveText.selectAllRows}\n\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t) : null}\n\t\t\t\t\t\t<Checkbox\n\t\t\t\t\t\t\tassistiveText={{\n\t\t\t\t\t\t\t\tlabel: this.props.assistiveText.selectAllRows,\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\tchecked={this.props.allSelected}\n\t\t\t\t\t\t\tindeterminate={this.props.indeterminateSelected}\n\t\t\t\t\t\t\tid={`${this.props.id}-${idSuffix}`}\n\t\t\t\t\t\t\t// There is a checkbox for user interaction and a checkbox for positioning. ariaHidden is for the checkbox for positioning and it should be removed from the accessibility tree.\n\t\t\t\t\t\t\tname={!ariaHidden ? 'SelectAll' : undefined}\n\t\t\t\t\t\t\tonChange={this.props.onToggleAll}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</div>\n\t\t\t\t);\n\t\t\t}\n\n\t\t\treturn render;\n\t\t};\n\n\t\tlet selectHeader = null;\n\n\t\tif (canSelectRows) {\n\t\t\tselectHeader = (\n\t\t\t\t<th\n\t\t\t\t\tclassName=\"slds-text-align_right\"\n\t\t\t\t\tref={(ref) => {\n\t\t\t\t\t\tif (this.props.headerRefs) {\n\t\t\t\t\t\t\tthis.props.headerRefs(ref, 'select');\n\t\t\t\t\t\t}\n\t\t\t\t\t}}\n\t\t\t\t\tscope=\"col\"\n\t\t\t\t\tstyle={{\n\t\t\t\t\t\theight: fixedHeader ? 0 : null,\n\t\t\t\t\t\tlineHeight: fixedHeader ? 0 : null,\n\t\t\t\t\t\twidth: '3.25rem',\n\t\t\t\t\t}}\n\t\t\t\t>\n\t\t\t\t\t{getContent(\n\t\t\t\t\t\t'SelectAll-fixed-header',\n\t\t\t\t\t\tfixedHeader\n\t\t\t\t\t\t\t? {\n\t\t\t\t\t\t\t\t\tdisplay: 'flex',\n\t\t\t\t\t\t\t\t\theight: 0,\n\t\t\t\t\t\t\t\t\toverflow: 'hidden',\n\t\t\t\t\t\t\t\t\tpaddingBottom: 0,\n\t\t\t\t\t\t\t\t\tpaddingTop: 0,\n\t\t\t\t\t\t\t\t\tvisibility: 'hidden',\n\t\t\t\t\t\t\t }\n\t\t\t\t\t\t\t: null,\n\t\t\t\t\t\tfixedHeader && 'ariaHidden'\n\t\t\t\t\t)}\n\t\t\t\t\t{fixedHeader ? (\n\t\t\t\t\t\t<CellFixed>\n\t\t\t\t\t\t\t{getContent('SelectAll', {\n\t\t\t\t\t\t\t\tdisplay: 'flex',\n\t\t\t\t\t\t\t\tjustifyContent: 'flex-end',\n\t\t\t\t\t\t\t\tlineHeight: 1,\n\t\t\t\t\t\t\t\twidth: '100%',\n\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t</CellFixed>\n\t\t\t\t\t) : null}\n\t\t\t\t</th>\n\t\t\t);\n\t\t}\n\n\t\treturn selectHeader;\n\t};\n\n\t// ### Render\n\trender() {\n\t\tconst actionsHeader = this.getActionsHeader();\n\t\tconst selectHeader = this.getSelectHeader();\n\n\t\treturn (\n\t\t\t<thead>\n\t\t\t\t<tr className=\"slds-line-height_reset\">\n\t\t\t\t\t{selectHeader}\n\t\t\t\t\t{this.props.columns.map((column, index) => (\n\t\t\t\t\t\t<HeaderCell\n\t\t\t\t\t\t\tassistiveText={this.props.assistiveText}\n\t\t\t\t\t\t\tcellRef={(ref) => {\n\t\t\t\t\t\t\t\tif (this.props.headerRefs) {\n\t\t\t\t\t\t\t\t\tthis.props.headerRefs(ref, index);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\tfixedHeader={this.props.fixedHeader}\n\t\t\t\t\t\t\tid={`${this.props.id}-${column.props.property}`}\n\t\t\t\t\t\t\tkey={`${this.props.id}-${column.props.property}`}\n\t\t\t\t\t\t\tonSort={this.props.onSort}\n\t\t\t\t\t\t\t{...column.props}\n\t\t\t\t\t\t/>\n\t\t\t\t\t))}\n\t\t\t\t\t{actionsHeader}\n\t\t\t\t</tr>\n\t\t\t</thead>\n\t\t);\n\t}\n}\n\nexport default DataTableHead;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// ### React\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\n// ### classNames\nimport classNames from 'classnames';\n\n// ### find\nimport find from 'lodash.find';\n\n// ## Children\nimport Checkbox from '../../checkbox';\nimport Radio from '../../radio';\n\n// ## Constants\nimport {\n\tDATA_TABLE_ROW,\n\tDATA_TABLE_ROW_ACTIONS,\n\tDATA_TABLE_CELL,\n} from '../../../utilities/constants';\n\n/**\n * Used internally, provides row rendering to the DataTable.\n */\nclass DataTableRow extends React.Component {\n\t// ### Display Name\n\t// Always use the canonical component name as the React display name.\n\tstatic displayName = DATA_TABLE_ROW;\n\n\t// ### Prop Types\n\tstatic propTypes = {\n\t\tassistiveText: PropTypes.shape({\n\t\t\tactionsHeader: PropTypes.string,\n\t\t\tcolumnSort: PropTypes.string,\n\t\t\tcolumnSortedAscending: PropTypes.string,\n\t\t\tcolumnSortedDescending: PropTypes.string,\n\t\t\tselectAllRows: PropTypes.string,\n\t\t\tselectRow: PropTypes.string,\n\t\t}),\n\t\tcanSelectRows: PropTypes.oneOfType([\n\t\t\tPropTypes.bool,\n\t\t\tPropTypes.oneOf(['checkbox', 'radio']),\n\t\t]),\n\t\tclassName: PropTypes.string,\n\t\tcolumns: PropTypes.arrayOf(\n\t\t\tPropTypes.shape({\n\t\t\t\tCell: PropTypes.func,\n\t\t\t\tprops: PropTypes.object,\n\t\t\t})\n\t\t),\n\t\t/**\n\t\t * Use this if you are creating an advanced table (selectable, sortable, or resizable rows)\n\t\t */\n\t\tfixedLayout: PropTypes.bool,\n\t\tid: PropTypes.string.isRequired,\n\t\titem: PropTypes.object.isRequired,\n\t\tonToggle: PropTypes.func,\n\t\trowActions: PropTypes.element,\n\t\tselection: PropTypes.array,\n\t\ttableId: PropTypes.string,\n\t};\n\n\tisSelected = () => !!find(this.props.selection, this.props.item);\n\n\thandleToggle = (e, { checked }) =>\n\t\tthis.props.onToggle(this.props.item, checked, e);\n\n\t// ### Render\n\trender() {\n\t\tconst ariaProps = {};\n\t\tconst isSelected = this.isSelected();\n\n\t\tif (this.props.canSelectRows) {\n\t\t\tariaProps['aria-selected'] = isSelected ? 'true' : 'false';\n\t\t}\n\n\t\t// i18n\n\t\treturn (\n\t\t\t<tr\n\t\t\t\t{...ariaProps}\n\t\t\t\tclassName={classNames(this.props.className, {\n\t\t\t\t\t'slds-hint-parent': this.props.rowActions,\n\t\t\t\t\t'slds-is-selected': this.props.canSelectRows && isSelected,\n\t\t\t\t})}\n\t\t\t>\n\t\t\t\t{this.props.canSelectRows ? (\n\t\t\t\t\t<td\n\t\t\t\t\t\trole={this.props.fixedLayout ? 'gridcell' : null}\n\t\t\t\t\t\tclassName=\"slds-text-align_right\"\n\t\t\t\t\t\tdata-label={this.props.stacked ? 'Select Row' : undefined}\n\t\t\t\t\t\tstyle={{ width: '3.25rem' }}\n\t\t\t\t\t>\n\t\t\t\t\t\t{this.props.canSelectRows === 'radio' ? (\n\t\t\t\t\t\t\t<Radio\n\t\t\t\t\t\t\t\tassistiveText={{\n\t\t\t\t\t\t\t\t\tlabel: `${this.props.assistiveText.selectRow} ${\n\t\t\t\t\t\t\t\t\t\tNumber(this.props.index) + 1\n\t\t\t\t\t\t\t\t\t}`,\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\taria-labelledby={`${this.props.id}-SelectRow-label ${this.props.tableId}-SLDSDataTableHead-column-group-header-row-select`}\n\t\t\t\t\t\t\t\tchecked={isSelected}\n\t\t\t\t\t\t\t\tclassName=\"slds-m-right_x-small\"\n\t\t\t\t\t\t\t\tid={`${this.props.id}-SelectRow`}\n\t\t\t\t\t\t\t\tlabelId={`${this.props.id}-SelectRow-label`}\n\t\t\t\t\t\t\t\tname={`${this.props.tableId}-SelectRow`}\n\t\t\t\t\t\t\t\tonChange={this.handleToggle}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t<Checkbox\n\t\t\t\t\t\t\t\tassistiveText={{\n\t\t\t\t\t\t\t\t\tlabel: `${this.props.assistiveText.selectRow} ${\n\t\t\t\t\t\t\t\t\t\tNumber(this.props.index) + 1\n\t\t\t\t\t\t\t\t\t}`,\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\taria-labelledby={`${this.props.id}-SelectRow-label ${this.props.tableId}-SLDSDataTableHead-column-group-header-row-select`}\n\t\t\t\t\t\t\t\tchecked={isSelected}\n\t\t\t\t\t\t\t\tid={`${this.props.id}-SelectRow`}\n\t\t\t\t\t\t\t\tlabelId={`${this.props.id}-SelectRow-label`}\n\t\t\t\t\t\t\t\tname={`SelectRow${this.props.index + 1}`}\n\t\t\t\t\t\t\t\tonChange={this.handleToggle}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t)}\n\t\t\t\t\t</td>\n\t\t\t\t) : null}\n\t\t\t\t{this.props.columns.map((column) => {\n\t\t\t\t\tconst { Cell } = column;\n\t\t\t\t\tconst cellId = `${this.props.id}-${DATA_TABLE_CELL}-${column.props.property}`;\n\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<Cell\n\t\t\t\t\t\t\t{...column.props}\n\t\t\t\t\t\t\tclassName={column.props.truncate ? 'slds-truncate' : null}\n\t\t\t\t\t\t\tfixedLayout={this.props.fixedLayout}\n\t\t\t\t\t\t\trowHeader={column.props.primaryColumn}\n\t\t\t\t\t\t\tid={cellId}\n\t\t\t\t\t\t\titem={this.props.item}\n\t\t\t\t\t\t\tkey={cellId}\n\t\t\t\t\t\t\twidth={column.props.width}\n\t\t\t\t\t\t\theaderId={this.props.item.headerId}\n\t\t\t\t\t\t\tcolumns={this.props.columns}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{this.props.item[column.props.property]}\n\t\t\t\t\t\t</Cell>\n\t\t\t\t\t);\n\t\t\t\t})}\n\t\t\t\t{this.props.rowActions\n\t\t\t\t\t? React.cloneElement(this.props.rowActions, {\n\t\t\t\t\t\t\tid: `${this.props.id}-${DATA_TABLE_ROW_ACTIONS}`,\n\t\t\t\t\t\t\titem: this.props.item,\n\t\t\t\t\t })\n\t\t\t\t\t: null}\n\t\t\t</tr>\n\t\t);\n\t}\n}\n\nexport default DataTableRow;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n/* eslint-disable jsx-a11y/no-noninteractive-element-interactions */\n\n// ### React\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\n// ### isFunction\nimport isFunction from 'lodash.isfunction';\n\n// ## Children\nimport Dropdown from '../menu-dropdown';\n\n// ### Event Helpers\nimport EventUtil from '../../utilities/event';\n\n// ## Constants\nimport { DATA_TABLE_ROW_ACTIONS } from '../../utilities/constants';\n\n/**\n * RowActions provide a mechanism for defining a menu to display alongside each row in the DataTable.\n */\nclass DataTableRowActions extends React.Component {\n\t// ### Display Name\n\t// Always use the canonical component name as the React display name.\n\tstatic displayName = DATA_TABLE_ROW_ACTIONS;\n\n\t// ### Prop Types\n\tstatic propTypes = {\n\t\t/**\n\t\t * Description of the menu for screenreaders.\n\t\t */\n\t\tassistiveText: PropTypes.object,\n\t\t/**\n\t\t * Class names to be added to the actions menu.\n\t\t */\n\t\tclassName: PropTypes.string,\n\t\t/**\n\t\t * HTML ID to be added to the actions menu.\n\t\t */\n\t\tid: PropTypes.string,\n\t\t/**\n\t\t * `DataTable` row item\n\t\t */\n\t\titem: PropTypes.object,\n\t\t/**\n\t\t * Disable hint styling which changes the color of the dropdown svg on hover over.\n\t\t */\n\t\tnoHint: PropTypes.bool,\n\t\t/**\n\t\t * Triggered when an item is selected.\n\t\t */\n\t\tonAction: PropTypes.func,\n\t\t/**\n\t\t * `Dropdown` options. See `Dropdown`.\n\t\t */\n\t\toptions: PropTypes.array,\n\t\t/**\n\t\t * A [Dropdown](http://react.lightningdesignsystem.com/components/dropdown-menus/) component. The props from this drop will be merged and override any default props.\n\t\t * **Note:** onAction will not be overridden, both `DropDown`'s onSelect(dropDownActionOption) and onAction(rowItem, dropdownActionOption) will be called with appropriate parameters\n\t\t */\n\t\tdropdown: PropTypes.node,\n\t};\n\n\tstatic defaultProps = {\n\t\tassistiveText: { icon: 'Actions' },\n\t\tnoHint: false,\n\t\toptions: [],\n\t};\n\n\thandleClick = (e) => {\n\t\tEventUtil.trap(e);\n\t};\n\n\thandleSelect = (selection) => {\n\t\tif (isFunction(this.props.onAction)) {\n\t\t\tthis.props.onAction(this.props.item, selection);\n\t\t}\n\t\tif (this.props.dropdown && isFunction(this.props.dropdown.props.onSelect)) {\n\t\t\tthis.props.dropdown.props.onSelect(selection);\n\t\t}\n\t};\n\n\t// ### Render\n\trender() {\n\t\t// i18n\n\t\tconst defaultDropdownProps = {\n\t\t\talign: 'right',\n\t\t\tbuttonClassName: 'slds-button_icon-x-small',\n\t\t\tbuttonVariant: 'icon',\n\t\t\ticonCategory: 'utility',\n\t\t\ticonName: 'down',\n\t\t\ticonSize: 'small',\n\t\t\ticonVariant: 'border-filled',\n\t\t\tassistiveText: this.props.assistiveText,\n\t\t\tclassName: this.props.className,\n\t\t\toptions: this.props.options,\n\t\t\thint: !this.props.noHint,\n\t\t\tid: this.props.id,\n\t\t};\n\n\t\tconst props = this.props.dropdown ? this.props.dropdown.props : {};\n\t\tconst dropdownProps = {\n\t\t\t...defaultDropdownProps,\n\t\t\t...props,\n\t\t\tonSelect: this.handleSelect,\n\t\t};\n\n\t\treturn (\n\t\t\t/* eslint-disable jsx-a11y/no-static-element-interactions */\n\t\t\t<td\n\t\t\t\tclassName=\"\"\n\t\t\t\tdata-label=\"Actions\"\n\t\t\t\tonClick={this.handleClick}\n\t\t\t\tstyle={{ width: '3.25rem' }}\n\t\t\t>\n\t\t\t\t{/* eslint-enable jsx-a11y/no-static-element-interactions */}\n\t\t\t\t<Dropdown {...dropdownProps} />\n\t\t\t</td>\n\t\t);\n\t}\n}\n\nexport default DataTableRowActions;\n","/* eslint-disable max-lines */\n/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// # Data Table Component\n\n// Implements the [Data Table design pattern](https://www.lightningdesignsystem.com/components/data-tables) in React.\n\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\n// ### shortid\n// [npmjs.com/package/shortid](https://www.npmjs.com/package/shortid)\n// shortid is a short, non-sequential, url-friendly, unique id generator\nimport shortid from 'shortid';\n\nimport classNames from 'classnames';\nimport assign from 'lodash.assign';\nimport reject from 'lodash.reject';\n\n// This component's `checkProps` which issues warnings to developers about properties when in development mode (similar to React's built in development tools)\nimport checkProps from './check-props';\nimport componentDoc from './component.json';\n\nimport {\n\tcanUseDOM,\n\tcanUseEventListeners,\n} from '../../utilities/execution-environment';\nimport { colorGray5 } from '../../utilities/design-tokens/dist/palette-colors.common';\nimport { tableBorderRadius } from '../../utilities/design-tokens/dist/salesforce-skin.common';\n\n// ## Children\nimport DataTableCell from './cell';\nimport DataTableColumn from './column';\nimport DataTableHead from './private/head';\nimport DataTableRow from './private/row';\nimport DataTableRowActions from './row-actions';\nimport Spinner from '../spinner';\n\nimport {\n\tDATA_TABLE,\n\tDATA_TABLE_CELL,\n\tDATA_TABLE_HEAD,\n\tDATA_TABLE_ROW,\n} from '../../utilities/constants';\n\n// Safely get the length of an array, returning 0 for invalid input.\nconst count = (array) => (Array.isArray(array) ? array.length : 0);\n\nconst defaultProps = {\n\tassistiveText: {\n\t\tactionsHeader: 'Actions',\n\t\tcolumnSort: 'Sort by: ',\n\t\tcolumnSortedAscending: 'Sorted Ascending',\n\t\tcolumnSortedDescending: 'Sorted Descending',\n\t\tselectAllRows: 'Select all rows',\n\t\tselectRow: 'Select row',\n\t\tselectRowGroup: 'Choose a row to select',\n\t\tloadingMore: 'Loading more',\n\t},\n\tselection: [],\n\thasMore: false,\n\tloadMoreOffset: 20,\n};\n\n/**\n * DataTables support the display of structured data in rows and columns with an HTML table. To sort, filter or paginate the table, simply update the data passed in the items to the table and it will re-render itself appropriately. The table will throw a sort event as needed, and helper components for paging and filtering are coming soon.\n *\n * NOTE: for horizontal scrolling with `fixedHeader`-enabled DataTables, see the `style` property description\n */\nclass DataTable extends React.Component {\n\t// ### Display Name\n\t// Always use the canonical component name as the React display name.\n\tstatic displayName = DATA_TABLE;\n\n\t// ### Prop Types\n\tstatic propTypes = {\n\t\t/**\n\t\t * **Assistive text for accessibility.**\n\t\t * This object is merged with the default props object on every render.\n\t\t * * `actionsHeader`: Text for heading of actions column\n\t\t * * `columnSort`: Text for sort action on table column header\n\t\t * * `columnSortedAscending`: Text announced once a column is sorted in ascending order\n\t\t * * `columnSortedDescending`: Text announced once a column is sorted in descending order\n\t\t * * `selectAllRows`: Text for select all checkbox within the table header\n\t\t * * `selectRow`: Text for select row. Default: \"Select row 1\"\n\t\t * * `selectRowGroup`: This is an input group label and is attached to each checkbox or radio. Default is \"Choose a row to select\"\n\t\t */\n\t\tassistiveText: PropTypes.shape({\n\t\t\tactionsHeader: PropTypes.string,\n\t\t\tcolumnSort: PropTypes.string,\n\t\t\tcolumnSortedAscending: PropTypes.string,\n\t\t\tcolumnSortedDescending: PropTypes.string,\n\t\t\tselectAllRows: PropTypes.string,\n\t\t\tselectRow: PropTypes.string,\n\t\t\tselectRowGroup: PropTypes.string,\n\t\t\tloadingMore: PropTypes.string,\n\t\t}),\n\t\t/**\n\t\t * Provide children of the type `<DataTableColumn />` to define the structure of the data being represented and children of the type `<DataTableRowActions />` to define a menu which will be rendered for each item in the grid. Use a _higher-order component_ to customize a data table cell that will override the default cell rendering. `CustomDataTableCell` must have the same `displayName` as `DataTableCell` or it will be ignored. If you want complete control of the HTML, including the wrapping `td`, you don't have to use `DataTableCell`.\n\t\t * ```\n\t\t * import DataTableCell from 'design-system-react/data-table/cell';\n\t\t * const CustomDataTableCell = ({ children, ...props }) => (\n\t\t * <DataTableCell {...props} >\n\t\t * <a href=\"javascript:void(0);\">{children}</a>\n\t\t * </DataTableCell>\n\t\t * );\n\t\t * CustomDataTableCell.displayName = DataTableCell.displayName;\n\t\t *\n\t\t * <DataTable>\n\t\t * <DataTableColumn />\n\t\t * <DataTableColumn>\n\t\t * <DataTableCustomCell />\n\t\t * </DataTableColumn>\n\t\t * <DataTableRowActions />\n\t\t * </DataTable>\n\t\t * ```\n\t\t */\n\t\tchildren: PropTypes.node,\n\t\t/**\n\t\t * Class names to be added to the table.\n\t\t */\n\t\tclassName: PropTypes.oneOfType([\n\t\t\tPropTypes.array,\n\t\t\tPropTypes.object,\n\t\t\tPropTypes.string,\n\t\t]),\n\t\t/**\n\t\t * A variant which adds border to the vertical columns.\n\t\t */\n\t\tcolumnBordered: PropTypes.bool,\n\t\t/**\n\t\t * Use this to enable fixed headers and scrolling columns / rows. Appearance / behavior is consistent only if used in combination with `fixedLayout`. Since scrolling is enabled, columns are not truncated unless a width is set. Due to `overflow:hidden` elements, any dialog components will need a separate render tree (portal) such as with `menuPosition: overflowBoundaryElement` in order to break out of the container.\n\t\t */\n\t\tfixedHeader: PropTypes.bool,\n\t\t/**\n\t\t * Use this if you are creating an advanced table (selectable, sortable, or resizable rows). Columns widths will be truncate based on width and DOM ancestors. See `fixedHeader` to enable horizontal and vertical scrolling.\n\t\t */\n\t\tfixedLayout: PropTypes.bool,\n\t\t/**\n\t\t * When fixedHeader is true, specifies whether there's more data to be loaded and displays a spinner at the bottom of the table if so.\n\t\t */\n\t\thasMore: PropTypes.bool,\n\t\t/**\n\t\t * A render prop for subheadings to describe what the next section of the table is about. This is often a heirarchical data structure and semantic heading levels should be used, but not visually differ. This is not a `role=rowheader` which provides a heading for a row. Basic sorting of columns is not recommended, since this pattern assumes top level groupings. Headings should be visually aligned with selection column when selection pattern is present, so not to be grouped with the previous row.\n * ```\n * const CustomHeaderRow = ({ columns, item } ) => (\n *\t<tr>\n * <th id={item.id} colSpan={columns.length+1} scope=\"colgroup\">\n * <p role=\"heading\" aria-level={item.ariaLevel}>\n * {item.heading}\n * </p>\n * </th>\n * </tr>);\n *CustomHeaderRow.displayName = DataTableCell.displayName;\n * \n * <DataTable items=[{\n type: 'header-row',\n id: 'header-row-example-id-3',\n heading: 'Argentina > Autonomous City of Buenos Aires > Belgrano',\n ariaLevel: 3,\n * }],\n * />\n * ```\n\t\t */\n\t\tonRenderSubHeadingRow: PropTypes.func,\n\t\t/**\n\t\t * A unique ID is needed in order to support keyboard navigation and ARIA support.\n\t\t */\n\t\tid: PropTypes.string,\n\t\t/**\n\t\t * The collection of items to render in the table. This is an array of objects with each object having keys that correspond with the `property` prop of each `DataTableColumn`.\n\t\t *\n\t\t * Use the key `classNameRow` to add a custom class to the item's `<tr>` element.\n\t\t */\n\t\titems: PropTypes.arrayOf(\n\t\t\tPropTypes.shape({\n\t\t\t\tid: PropTypes.string.isRequired,\n\t\t\t\tclassNameRow: PropTypes.string,\n\t\t\t})\n\t\t).isRequired,\n\t\t/**\n\t\t * Makes DataTable joinable with PageHeader by adding appropriate classes/styling\n\t\t */\n\t\tjoined: PropTypes.bool,\n\t\t/**\n\t\t * Determines when to trigger infinite loading based on how many pixels the table's scroll position is from the bottom of the table.\n\t\t */\n\t\tloadMoreOffset: PropTypes.number,\n\t\t/**\n\t\t * A variant which removes hover style on rows\n\t\t */\n\t\tnoRowHover: PropTypes.bool,\n\t\t/**\n\t\t * By default this function resizes the display headers when fixedHeader is `true`, but this behavior can be overridden. Passes an event and a data object with properties `headerRefs`, an array of DOM nodes referencing the `thead th` elements and `scrollerRef`, a DOM node referencing `.slds-table_header-fixed_scroller`\n\t\t */\n\t\tonFixedHeaderResize: PropTypes.func,\n\t\t/**\n\t\t * This function fires when infinite loading loads more data.\n\t\t *\n\t\t * This will be called multiple times while the table is being scrolled within the `loadMoreOffset`. Please track whether or not loading is in progress and check it at the start of this function to avoid executing your callback too many times.\n\t\t */\n\t\tonLoadMore: PropTypes.func,\n\t\t/**\n\t\t * This function fires when the selection of rows changes. This component passes in `event, { selection }` to the function. `selection` is an array of objects from the `items` prop.\n\t\t *\n\t\t * This used to be `onChange` which is deprecated now, so that the parameters can be consistent with other components. `onChange` passed in the selection first and the event wtihout a data object.\n\t\t */\n\t\tonRowChange: PropTypes.func,\n\t\t/**\n\t\t * This function fires when the table should be sorted.\n\t\t */\n\t\tonSort: PropTypes.func,\n\t\t/**\n\t\t * By default this function attaches/detaches listeners for window resize and tbody scrolling when fixedHeader is `true`, but this behavior can be overridden. Passes an event and a data object with an `attach` boolean property to determine whether listeners should be attached, a `resizeHandler` function property that can be called as-needed, and a `scrollerRef` DOM node property that serves as a reference to `.slds-table_header-fixed_scroller`\n\t\t */\n\t\tonToggleFixedHeaderListeners: PropTypes.func,\n\t\t/**\n\t\t * An array of objects of selected rows. See `items` prop for shape of objects.\n\t\t */\n\t\tselection: PropTypes.array,\n\t\t/**\n\t\t * Specifies a row selection UX pattern.\n\t\t * * `checkbox`: Multiple row selection.\n\t\t * * `radio`: _Required_ single row selection.\n\t\t * _This prop used to be a `boolean`, a `true` value will be considered `checkbox` for backwards compatibility._\n\t\t */\n\t\tselectRows: PropTypes.oneOfType([\n\t\t\tPropTypes.bool,\n\t\t\tPropTypes.oneOf(['checkbox', 'radio']),\n\t\t]),\n\t\t/**\n\t\t * A variant which modifies table layout by stacking cells to accommodate smaller viewports. Should not be used at the same time as `stackedHorizontal`.\n\t\t */\n\t\tstacked: PropTypes.bool,\n\t\t/**\n\t\t * A variant which modifies table layout by displaying the header and row data side by side for smaller viewports. Should not be used at the same time as `stacked`.\n\t\t */\n\t\tstackedHorizontal: PropTypes.bool,\n\t\t/**\n\t\t * A variant which adds stripes to alternating rows.\n\t\t */\n\t\tstriped: PropTypes.bool,\n\t\t/**\n\t\t * Custom styles to be passed to the table.\n\t\t * NOTE: for horizontal scrolling in `fixedHeader`-enabled DataTables, apply a `minWidth` style here. If the containing element width is less than the `minWidth` value, horizontal scrolling will occur\n\t\t */\n\t\tstyle: PropTypes.object,\n\t\t/**\n\t\t * Tables have horizontal borders by default. This removes them.\n\t\t */\n\t\tunborderedRow: PropTypes.bool,\n\t\t/**\n\t\t * A variant which removes horizontal padding. CSS class will be removed if `fixedLayout==true`.\n\t\t */\n\t\tunbufferedCell: PropTypes.bool,\n\t};\n\n\tstatic defaultProps = defaultProps;\n\n\tconstructor(props) {\n\t\tsuper(props);\n\t\tthis.generatedId = shortid.generate();\n\t\tthis.headerRefs = {\n\t\t\taction: [],\n\t\t\tcolumn: [],\n\t\t\tselect: [],\n\t\t};\n\t\tthis.scrollerRef = null;\n\n\t\t// `checkProps` issues warnings to developers about properties (similar to React's built in development tools)\n\t\tcheckProps(DATA_TABLE, props, componentDoc);\n\t}\n\n\tcomponentDidMount() {\n\t\tif (this.props.fixedHeader) {\n\t\t\tthis.toggleFixedHeaderListeners(true);\n\t\t\tthis.resizeFixedHeaders();\n\t\t}\n\t}\n\n\tcomponentDidUpdate() {\n\t\tif (this.props.fixedHeader) {\n\t\t\tthis.resizeFixedHeaders();\n\t\t}\n\t}\n\n\tcomponentWillUnmount() {\n\t\tthis.toggleFixedHeaderListeners(false);\n\t}\n\n\tgetId() {\n\t\treturn this.props.id || this.generatedId;\n\t}\n\n\thandleToggleAll = (e, { checked }) => {\n\t\t// REMOVE AT NEXT BREAKING CHANGE\n\t\t// `onChange` is deprecated and replaced with `onRowChange`\n\t\tif (typeof this.props.onChange === 'function') {\n\t\t\tconst selection = (checked ? [...this.props.items] : []).filter(\n\t\t\t\t(item) => item.type !== 'header-row'\n\t\t\t);\n\t\t\tthis.props.onChange(selection, e);\n\t\t}\n\n\t\tif (typeof this.props.onRowChange === 'function') {\n\t\t\tconst selection = (checked ? [...this.props.items] : []).filter(\n\t\t\t\t(item) => item.type !== 'header-row'\n\t\t\t);\n\t\t\tthis.props.onRowChange(e, { selection });\n\t\t}\n\t};\n\n\thandleRowToggle = (item, selected, e) => {\n\t\t// REMOVE AT NEXT BREAKING CHANGE\n\t\t// `onChange` is deprecated and replaced with `onRowChange`\n\t\tif (typeof this.props.onChange === 'function') {\n\t\t\tlet selection;\n\n\t\t\tif (selected) {\n\t\t\t\tselection =\n\t\t\t\t\tthis.props.selectRows === 'radio'\n\t\t\t\t\t\t? [item]\n\t\t\t\t\t\t: [...this.props.selection, item];\n\t\t\t} else {\n\t\t\t\tselection = reject(this.props.selection, item);\n\t\t\t}\n\n\t\t\tthis.props.onChange(selection, e);\n\t\t}\n\t\t// DEPRECATED CODE ENDS HERE\n\n\t\tif (typeof this.props.onRowChange === 'function') {\n\t\t\tlet selection;\n\n\t\t\tif (selected) {\n\t\t\t\tselection =\n\t\t\t\t\tthis.props.selectRows === 'radio'\n\t\t\t\t\t\t? [item]\n\t\t\t\t\t\t: [...this.props.selection, item];\n\t\t\t} else {\n\t\t\t\tselection = reject(this.props.selection, item);\n\t\t\t}\n\n\t\t\tthis.props.onRowChange(e, { selection });\n\t\t}\n\t};\n\n\tresizeFixedHeaders = (event) => {\n\t\tconst headerRefs = [].concat(\n\t\t\tthis.headerRefs.select,\n\t\t\tthis.headerRefs.column,\n\t\t\tthis.headerRefs.action\n\t\t);\n\n\t\tif (this.props.onFixedHeaderResize) {\n\t\t\tthis.props.onFixedHeaderResize(event, {\n\t\t\t\theaderRefs,\n\t\t\t\tscrollerRef: this.scrollerRef,\n\t\t\t});\n\t\t} else if (headerRefs.length > 0) {\n\t\t\tlet documentScrollLeft = 0;\n\n\t\t\tif (canUseDOM) {\n\t\t\t\tdocumentScrollLeft = document.documentElement.scrollLeft;\n\t\t\t}\n\n\t\t\theaderRefs.forEach((column) => {\n\t\t\t\tif (column && canUseDOM) {\n\t\t\t\t\tconst columnLeft =\n\t\t\t\t\t\tcolumn.getBoundingClientRect().left + documentScrollLeft;\n\t\t\t\t\tlet wrapperLeft = 0;\n\n\t\t\t\t\tif (this.scrollerRef) {\n\t\t\t\t\t\twrapperLeft =\n\t\t\t\t\t\t\tthis.scrollerRef.getBoundingClientRect().left +\n\t\t\t\t\t\t\tdocumentScrollLeft;\n\t\t\t\t\t}\n\n\t\t\t\t\tconst cellFixed = column.querySelector('.slds-cell-fixed');\n\n\t\t\t\t\tif (cellFixed) {\n\t\t\t\t\t\tcellFixed.style.left = `${columnLeft - wrapperLeft}px`;\n\t\t\t\t\t\tcellFixed.style.width = `${column.offsetWidth}px`;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t};\n\n\tonScrollerScroll = () => {\n\t\tif (this.props.hasMore && this.props.onLoadMore) {\n\t\t\tconst { scrollTop, offsetHeight, scrollHeight } = this.scrollerRef;\n\t\t\tif (scrollTop + offsetHeight > scrollHeight - this.props.loadMoreOffset) {\n\t\t\t\tthis.props.onLoadMore();\n\t\t\t}\n\t\t}\n\t};\n\n\ttoggleFixedHeaderListeners = (attach) => {\n\t\tif (this.props.onToggleFixedHeaderListeners) {\n\t\t\tthis.props.onToggleFixedHeaderListeners(\n\t\t\t\t{},\n\t\t\t\t{\n\t\t\t\t\tattach,\n\t\t\t\t\tresizeHandler: this.resizeFixedHeaders,\n\t\t\t\t\tscrollerRef: this.scrollerRef,\n\t\t\t\t}\n\t\t\t);\n\t\t} else {\n\t\t\tconst action = [`${attach ? 'add' : 'remove'}EventListener`];\n\t\t\tif (canUseEventListeners) {\n\t\t\t\twindow[action]('resize', this.resizeFixedHeaders);\n\t\t\t\twindow[action]('resize', this.onScrollerScroll);\n\t\t\t}\n\t\t\tif (canUseEventListeners && this.scrollerRef) {\n\t\t\t\tthis.scrollerRef[action]('scroll', this.resizeFixedHeaders);\n\t\t\t\tthis.scrollerRef[action]('scroll', this.onScrollerScroll);\n\t\t\t}\n\t\t}\n\t};\n\n\t// ### Render\n\trender() {\n\t\tconst ariaProps = {};\n\t\tconst numRows = count(this.props.items);\n\t\tconst numSelected = count(this.props.selection);\n\t\tconst numNonHeaderRows = count(\n\t\t\tthis.props.items.filter((item) => item.type !== 'header-row')\n\t\t);\n\t\tconst canSelectRows =\n\t\t\tthis.props.selectRows && numNonHeaderRows > 0\n\t\t\t\t? this.props.selectRows\n\t\t\t\t: false;\n\t\tconst allSelected = canSelectRows && numNonHeaderRows === numSelected;\n\t\tconst indeterminateSelected =\n\t\t\tcanSelectRows && numNonHeaderRows !== numSelected && numSelected !== 0;\n\t\tconst columns = [];\n\t\tlet RowActions = null;\n\n\t\tReact.Children.forEach(this.props.children, (child) => {\n\t\t\tif (child && child.type.displayName === DataTableColumn.displayName) {\n\t\t\t\tconst { children, ...columnProps } = child.props;\n\n\t\t\t\tconst props = assign({}, this.props);\n\t\t\t\t// eslint-disable-next-line fp/no-delete\n\t\t\t\tdelete props.children;\n\t\t\t\tassign(props, columnProps);\n\n\t\t\t\tlet Cell;\n\t\t\t\tif (children && children.type.displayName === DATA_TABLE_CELL) {\n\t\t\t\t\tCell = children.type;\n\t\t\t\t\tassign(props, children.props);\n\t\t\t\t} else {\n\t\t\t\t\tCell = DataTableCell;\n\t\t\t\t}\n\n\t\t\t\t// eslint-disable-next-line fp/no-mutating-methods\n\t\t\t\tcolumns.push({\n\t\t\t\t\tCell,\n\t\t\t\t\tprops,\n\t\t\t\t\tdataTableProps: this.props,\n\t\t\t\t});\n\t\t\t} else if (\n\t\t\t\tchild &&\n\t\t\t\tchild.type.displayName === DataTableRowActions.displayName\n\t\t\t) {\n\t\t\t\tconst { dropdown } = child.props;\n\t\t\t\tconst dropdownPropOverrides = {};\n\t\t\t\tif (this.props.fixedHeader) {\n\t\t\t\t\tdropdownPropOverrides.menuPosition = 'overflowBoundaryElement';\n\t\t\t\t}\n\t\t\t\tRowActions = React.cloneElement(child, {\n\t\t\t\t\tdropdown: dropdown\n\t\t\t\t\t\t? React.cloneElement(dropdown, dropdownPropOverrides)\n\t\t\t\t\t\t: null,\n\t\t\t\t});\n\t\t\t}\n\t\t});\n\n\t\tconst assistiveText = {\n\t\t\t...defaultProps.assistiveText,\n\t\t\t...this.props.assistiveText,\n\t\t};\n\t\tif (this.props.assistiveTextForActionsHeader) {\n\t\t\tassistiveText.actionsHeader = this.props.assistiveTextForActionsHeader;\n\t\t}\n\t\tif (this.props.assistiveTextForSelectAllRows) {\n\t\t\tassistiveText.selectAllRows = this.props.assistiveTextForSelectAllRows;\n\t\t}\n\t\tif (this.props.assistiveTextForColumnSortedAscending) {\n\t\t\tassistiveText.columnSortedAscending = this.props.assistiveTextForColumnSortedAscending;\n\t\t}\n\t\tif (this.props.assistiveTextForColumnSortedDescending) {\n\t\t\tassistiveText.columnSortedDescending = this.props.assistiveTextForColumnSortedDescending;\n\t\t}\n\t\tif (this.props.assistiveTextForColumnSort) {\n\t\t\tassistiveText.columnSort = this.props.assistiveTextForColumnSort;\n\t\t}\n\t\tif (this.props.assistiveTextForSelectRow) {\n\t\t\tassistiveText.selectRow = this.props.assistiveTextForSelectRow;\n\t\t}\n\n\t\tif (this.props.selectRows && this.props.selectRows !== 'radio') {\n\t\t\tariaProps['aria-multiselectable'] = 'true';\n\t\t}\n\n\t\t// This guarantees there are never any old header references if props change\n\t\tthis.headerRefs = {\n\t\t\taction: RowActions ? this.headerRefs.action : [],\n\t\t\tcolumn: this.headerRefs.column.slice(0, columns.length),\n\t\t\tselect: canSelectRows ? this.headerRefs.select : [],\n\t\t};\n\n\t\tlet component = (\n\t\t\t<React.Fragment>\n\t\t\t\t<table\n\t\t\t\t\t{...ariaProps}\n\t\t\t\t\tclassName={classNames(\n\t\t\t\t\t\t'slds-table',\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t'slds-table_fixed-layout': this.props.fixedLayout,\n\t\t\t\t\t\t\t'slds-table_header-fixed': this.props.fixedHeader,\n\t\t\t\t\t\t\t'slds-table_resizable-cols': this.props.fixedLayout,\n\t\t\t\t\t\t\t'slds-table_bordered': !this.props.unborderedRow,\n\t\t\t\t\t\t\t'slds-table_cell-buffer':\n\t\t\t\t\t\t\t\t!this.props.fixedLayout && !this.props.unbufferedCell,\n\t\t\t\t\t\t\t'slds-max-medium-table_stacked': this.props.stacked,\n\t\t\t\t\t\t\t'slds-max-medium-table_stacked-horizontal': this.props\n\t\t\t\t\t\t\t\t.stackedHorizontal,\n\t\t\t\t\t\t\t'slds-table_striped': this.props.striped,\n\t\t\t\t\t\t\t'slds-table_col-bordered': this.props.columnBordered,\n\t\t\t\t\t\t\t'slds-no-row-hover': this.props.noRowHover,\n\t\t\t\t\t\t},\n\t\t\t\t\t\tthis.props.className\n\t\t\t\t\t)}\n\t\t\t\t\tid={this.getId()}\n\t\t\t\t\trole={this.props.fixedLayout ? 'grid' : null}\n\t\t\t\t\tstyle={this.props.style}\n\t\t\t\t>\n\t\t\t\t\t<DataTableHead\n\t\t\t\t\t\tassistiveText={assistiveText}\n\t\t\t\t\t\tallSelected={allSelected}\n\t\t\t\t\t\tfixedHeader={this.props.fixedHeader}\n\t\t\t\t\t\theaderRefs={(ref, index) => {\n\t\t\t\t\t\t\tif (index === 'action' || index === 'select') {\n\t\t\t\t\t\t\t\tif (ref) {\n\t\t\t\t\t\t\t\t\tthis.headerRefs[index][0] = ref;\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\tthis.headerRefs[index] = [];\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tthis.headerRefs.column[index] = ref;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}}\n\t\t\t\t\t\tindeterminateSelected={indeterminateSelected}\n\t\t\t\t\t\tcanSelectRows={canSelectRows}\n\t\t\t\t\t\tcolumns={columns}\n\t\t\t\t\t\tid={`${this.getId()}-${DATA_TABLE_HEAD}`}\n\t\t\t\t\t\tonToggleAll={this.handleToggleAll}\n\t\t\t\t\t\tonSort={this.props.onSort}\n\t\t\t\t\t\tshowRowActions={!!RowActions}\n\t\t\t\t\t/>\n\t\t\t\t\t<tbody>\n\t\t\t\t\t\t{numRows > 0\n\t\t\t\t\t\t\t? this.props.items.map((item, index) => {\n\t\t\t\t\t\t\t\t\tconst rowId =\n\t\t\t\t\t\t\t\t\t\tthis.getId() && item.id\n\t\t\t\t\t\t\t\t\t\t\t? `${this.getId()}-${DATA_TABLE_ROW}-${item.id}`\n\t\t\t\t\t\t\t\t\t\t\t: shortid.generate();\n\t\t\t\t\t\t\t\t\treturn this.props.onRenderSubHeadingRow &&\n\t\t\t\t\t\t\t\t\t\titem.type === 'header-row' ? (\n\t\t\t\t\t\t\t\t\t\tthis.props.onRenderSubHeadingRow({\n\t\t\t\t\t\t\t\t\t\t\tassistiveText,\n\t\t\t\t\t\t\t\t\t\t\tclassNameRow: item.classNameRow,\n\t\t\t\t\t\t\t\t\t\t\tcolumns,\n\t\t\t\t\t\t\t\t\t\t\tkey: rowId,\n\t\t\t\t\t\t\t\t\t\t\tid: rowId,\n\t\t\t\t\t\t\t\t\t\t\ttableId: this.getId(),\n\t\t\t\t\t\t\t\t\t\t\titem,\n\t\t\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t\t<DataTableRow\n\t\t\t\t\t\t\t\t\t\t\tassistiveText={assistiveText}\n\t\t\t\t\t\t\t\t\t\t\tcanSelectRows={canSelectRows}\n\t\t\t\t\t\t\t\t\t\t\tclassName={item.classNameRow}\n\t\t\t\t\t\t\t\t\t\t\tcolumns={columns}\n\t\t\t\t\t\t\t\t\t\t\tfixedLayout={this.props.fixedLayout}\n\t\t\t\t\t\t\t\t\t\t\tid={rowId}\n\t\t\t\t\t\t\t\t\t\t\tindex={index}\n\t\t\t\t\t\t\t\t\t\t\titem={item}\n\t\t\t\t\t\t\t\t\t\t\tkey={rowId}\n\t\t\t\t\t\t\t\t\t\t\tonToggle={this.handleRowToggle}\n\t\t\t\t\t\t\t\t\t\t\tselection={this.props.selection}\n\t\t\t\t\t\t\t\t\t\t\trowActions={RowActions}\n\t\t\t\t\t\t\t\t\t\t\ttableId={this.getId()}\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t })\n\t\t\t\t\t\t\t: // Someday this should be an element to render when the table is empty\n\t\t\t\t\t\t\t null}\n\t\t\t\t\t</tbody>\n\t\t\t\t</table>\n\t\t\t\t{this.props.fixedHeader && this.props.hasMore && (\n\t\t\t\t\t<div className=\"slds-is-relative slds-p-around_large\">\n\t\t\t\t\t\t<Spinner\n\t\t\t\t\t\t\tassistiveText={{ label: this.props.assistiveText.loadingMore }}\n\t\t\t\t\t\t\thasContainer={false}\n\t\t\t\t\t\t\tsize=\"small\"\n\t\t\t\t\t\t\tvariant=\"brand\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t</div>\n\t\t\t\t)}\n\t\t\t</React.Fragment>\n\t\t);\n\n\t\tif (this.props.fixedHeader) {\n\t\t\tconst border = `1px solid ${colorGray5}`;\n\t\t\tconst styles = {\n\t\t\t\tborderTop: border,\n\t\t\t\theight: '100%',\n\t\t\t};\n\n\t\t\tif (this.props.joined) {\n\t\t\t\tstyles.borderBottom = border;\n\t\t\t\tstyles.borderLeft = border;\n\t\t\t\tstyles.borderRight = border;\n\t\t\t\tstyles.borderTop = 'none';\n\t\t\t\tstyles.borderRadius = tableBorderRadius;\n\t\t\t}\n\n\t\t\tcomponent = (\n\t\t\t\t<div\n\t\t\t\t\tclassName=\"slds-table_header-fixed_container\"\n\t\t\t\t\tstyle={styles}\n\t\t\t\t\tonScroll={(e) => {\n\t\t\t\t\t\tconst containerScrollLeft = e.target.scrollLeft;\n\n\t\t\t\t\t\tif (containerScrollLeft > 0) {\n\t\t\t\t\t\t\te.target.scrollLeft = 0;\n\t\t\t\t\t\t\tif (this.scrollerRef) {\n\t\t\t\t\t\t\t\tthis.scrollerRef.scrollLeft = containerScrollLeft;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}}\n\t\t\t\t>\n\t\t\t\t\t<div\n\t\t\t\t\t\tclassName=\"slds-table_header-fixed_scroller\"\n\t\t\t\t\t\tref={(ref) => {\n\t\t\t\t\t\t\tthis.scrollerRef = ref;\n\t\t\t\t\t\t}}\n\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\theight: '100%',\n\t\t\t\t\t\t\toverflow: 'auto',\n\t\t\t\t\t\t}}\n\t\t\t\t\t>\n\t\t\t\t\t\t{component}\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t);\n\t\t}\n\n\t\treturn component;\n\t}\n}\n\nexport default DataTable;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// ### React\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\n// ## Children\nimport DataTableCell from './cell';\nimport Highlighter from '../utilities/highlighter';\n\n// ## Constants\nimport { DATA_TABLE_CELL } from '../../utilities/constants';\n\n/**\n * A Cell renderer for the DataTable that automatically highlights search text.\n */\nconst DataTableHighlightCell = (props) => (\n\t<DataTableCell {...props}>\n\t\t<Highlighter search={props.search}>{props.children}</Highlighter>\n\t</DataTableCell>\n);\n\n// ### Display Name\n// The DataTable looks for components with this name to determine what it should use to render a given column's cells.\nDataTableHighlightCell.displayName = DATA_TABLE_CELL;\n\n// ### Prop Types\nDataTableHighlightCell.propTypes = {\n\t/**\n\t * The contents of the cell. Equivalent to `props.item[props.property]`\n\t */\n\tchildren: PropTypes.oneOfType([PropTypes.node, PropTypes.string]),\n\t/**\n\t * The string of text (or Regular Expression) to highlight.\n\t */\n\tsearch: PropTypes.any,\n};\n\nexport default DataTableHighlightCell;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\nconst DateUtil = {\n\tfirstDayOfMonth(date) {\n\t\tconst newDate = new Date(date);\n\t\tnewDate.setDate(1);\n\t\treturn newDate;\n\t},\n\n\tisFirstDayOfMonth(date) {\n\t\treturn date.getDate() === 1;\n\t},\n\n\tisLastDayOfMonth(date) {\n\t\treturn !DateUtil.isSameMonth(date, DateUtil.addDays(date, 1));\n\t},\n\tisSameMonth(d1, d2) {\n\t\tif (!d1 || !d2) {\n\t\t\treturn false;\n\t\t}\n\t\treturn (\n\t\t\td1.getFullYear() === d2.getFullYear() && d1.getMonth() === d2.getMonth()\n\t\t);\n\t},\n\tisSameDay(d1, d2) {\n\t\tif (!d1 || !d2) {\n\t\t\treturn false;\n\t\t}\n\t\treturn (\n\t\t\td1.getFullYear() === d2.getFullYear() &&\n\t\t\td1.getMonth() === d2.getMonth() &&\n\t\t\td1.getDate() === d2.getDate()\n\t\t);\n\t},\n\tisCurrentMonth(date) {\n\t\tif (!date) {\n\t\t\treturn false;\n\t\t}\n\t\treturn DateUtil.isSameMonth(date, new Date());\n\t},\n\tisToday(date) {\n\t\tif (!date) {\n\t\t\treturn false;\n\t\t}\n\t\treturn DateUtil.isSameDay(date, new Date());\n\t},\n\tisEqual(d1, d2) {\n\t\treturn d1.getTime() === d2.getTime();\n\t},\n\taddDays(date, deltaDays) {\n\t\tconst newDate = new Date(date);\n\t\tnewDate.setDate(newDate.getDate() + parseInt(deltaDays, 10));\n\t\treturn newDate;\n\t},\n\taddWeeks(date, deltaWeeks) {\n\t\treturn DateUtil.addDays(date, parseInt(deltaWeeks, 10) * 7);\n\t},\n\tnearestWeekDay(date, weekDayIndex) {\n\t\tlet delta = weekDayIndex - date.getDay();\n\t\tif (delta < 0) {\n\t\t\tdelta += 7;\n\t\t}\n\t\treturn DateUtil.addDays(date, delta);\n\t},\n\tisLeapYear(year) {\n\t\treturn (year % 4 === 0 && year % 100 !== 0) || year % 400 === 0;\n\t},\n\n\tgetDaysInMonth(year, month) {\n\t\treturn [\n\t\t\t31,\n\t\t\tDateUtil.isLeapYear(year) ? 29 : 28,\n\t\t\t31,\n\t\t\t30,\n\t\t\t31,\n\t\t\t30,\n\t\t\t31,\n\t\t\t31,\n\t\t\t30,\n\t\t\t31,\n\t\t\t30,\n\t\t\t31,\n\t\t][month];\n\t},\n\n\taddMonths(date, value) {\n\t\tconst newDate = new Date(date);\n\t\tconst dateOfNewDate = newDate.getDate();\n\t\tnewDate.setDate(1);\n\t\tnewDate.setMonth(newDate.getMonth() + value);\n\t\tnewDate.setDate(\n\t\t\tMath.min(\n\t\t\t\tdateOfNewDate,\n\t\t\t\tDateUtil.getDaysInMonth(newDate.getFullYear(), newDate.getMonth())\n\t\t\t)\n\t\t);\n\t\treturn newDate;\n\t},\n};\n\nexport default DateUtil;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\n// ### classNames\n// [github.com/JedWatson/classnames](https://github.com/JedWatson/classnames)\n// This project uses `classnames`, \"a simple javascript utility for conditionally\n// joining classNames together.\"\nimport classNames from 'classnames';\n\nimport EventUtil from '../../../utilities/event';\nimport DateUtil from '../../../utilities/date';\nimport KEYS from '../../../utilities/key-code';\n\nimport { DIRECTIONS } from '../../utilities/UNSAFE_direction';\nimport LanguageDirection from '../../utilities/UNSAFE_direction/private/language-direction';\n\nconst handleClick = (event, { date, onSelectDate }) => {\n\tonSelectDate(event, { date });\n};\n\nconst handleKeyDown = (\n\tevent,\n\t{\n\t\tdate,\n\t\tonCalendarBlur,\n\t\tonSelectDate,\n\t\tonKeyboardNavigateToPreviousDay,\n\t\tonKeyboardNavigateToNextDay,\n\t\tonKeyboardNavigateToPreviousWeek,\n\t\tonKeyboardNavigateToNextWeek,\n\t\tdirection,\n\t}\n) => {\n\tconst keyDownCallbacks = {\n\t\t[KEYS.SPACE]: () => {\n\t\t\tonSelectDate(event, { date });\n\t\t},\n\t\t[KEYS.ENTER]: () => {\n\t\t\tonSelectDate(event, { date });\n\t\t},\n\t\t[KEYS.TAB]: () => {\n\t\t\tonCalendarBlur(event, { direction: 'next' });\n\t\t},\n\t\t[KEYS.LEFT]: () => {\n\t\t\tif (direction === DIRECTIONS.RTL) {\n\t\t\t\tonKeyboardNavigateToNextDay(event, { date });\n\t\t\t} else {\n\t\t\t\tonKeyboardNavigateToPreviousDay(event, { date });\n\t\t\t}\n\t\t},\n\t\t[KEYS.RIGHT]: () => {\n\t\t\tif (direction === DIRECTIONS.RTL) {\n\t\t\t\tonKeyboardNavigateToPreviousDay(event, { date });\n\t\t\t} else {\n\t\t\t\tonKeyboardNavigateToNextDay(event, { date });\n\t\t\t}\n\t\t},\n\t\t[KEYS.UP]: () => {\n\t\t\tonKeyboardNavigateToPreviousWeek(event, { date });\n\t\t},\n\t\t[KEYS.DOWN]: () => {\n\t\t\tonKeyboardNavigateToNextWeek(event, { date });\n\t\t},\n\t};\n\n\tconst shiftKeyDownCallbacks = {\n\t\t[KEYS.TAB]: () => {\n\t\t\tonCalendarBlur(event, { direction: 'previous' });\n\t\t},\n\t};\n\n\tif (event.keyCode) {\n\t\tif (event.shiftKey && keyDownCallbacks[event.keyCode]) {\n\t\t\tEventUtil.trapEvent(event);\n\t\t\tshiftKeyDownCallbacks[event.keyCode]();\n\t\t} else if (keyDownCallbacks[event.keyCode]) {\n\t\t\tEventUtil.trapEvent(event);\n\t\t\tkeyDownCallbacks[event.keyCode]();\n\t\t}\n\t}\n};\n\nconst DatepickerCalendarDay = (props) => {\n\tconst isCurrentMonth = DateUtil.isSameMonth(\n\t\tprops.date,\n\t\tprops.initialDateForCalendarRender\n\t);\n\tconst isToday = DateUtil.isToday(props.date);\n\tconst isSelectedDay = DateUtil.isSameDay(props.date, props.selectedDate);\n\tconst isFirstDayOfMonth = DateUtil.isFirstDayOfMonth(props.date);\n\tconst isDisabled = !isCurrentMonth || props.disabled;\n\n\treturn (\n\t\t/* eslint-disable jsx-a11y/no-static-element-interactions */\n\t\t<td\n\t\t\taria-disabled={isDisabled}\n\t\t\taria-selected={isSelectedDay}\n\t\t\tclassName={classNames({\n\t\t\t\t'slds-is-today': isToday,\n\t\t\t\t'slds-disabled-text': isDisabled,\n\t\t\t\t'slds-is-selected': isSelectedDay,\n\t\t\t})}\n\t\t\tonClick={(event) => {\n\t\t\t\thandleClick(event, {\n\t\t\t\t\tdate: props.date,\n\t\t\t\t\tonSelectDate: props.onSelectDate,\n\t\t\t\t});\n\t\t\t}}\n\t\t\tonKeyDown={(event) => {\n\t\t\t\thandleKeyDown(event, {\n\t\t\t\t\t...props,\n\t\t\t\t});\n\t\t\t}}\n\t\t\tref={(component) => {\n\t\t\t\tif (isSelectedDay) {\n\t\t\t\t\tprops.selectedDateRef(component);\n\t\t\t\t}\n\n\t\t\t\tif (\n\t\t\t\t\tprops.calendarHasFocus &&\n\t\t\t\t\tDateUtil.isSameDay(props.focusedDate, props.date) &&\n\t\t\t\t\tisCurrentMonth\n\t\t\t\t) {\n\t\t\t\t\tprops.onRequestInternalFocusDate(undefined, {\n\t\t\t\t\t\tdate: props.date,\n\t\t\t\t\t\tref: component,\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}}\n\t\t\trole=\"gridcell\"\n\t\t\ttabIndex={\n\t\t\t\t!props.calendarHasFocus && isFirstDayOfMonth && isCurrentMonth ? 0 : -1\n\t\t\t}\n\t\t>\n\t\t\t{/* eslint-enable jsx-a11y/no-static-element-interactions */}\n\t\t\t<span className=\"slds-day\">\n\t\t\t\t{isToday ? (\n\t\t\t\t\t<span className=\"slds-assistive-text\">{`${props.todayLabel}: `}</span>\n\t\t\t\t) : null}\n\t\t\t\t{props.date.getDate()}\n\t\t\t</span>\n\t\t</td>\n\t);\n};\n\nDatepickerCalendarDay.displayName = 'SLDSDatepickerCalendarDay';\n\nDatepickerCalendarDay.propTypes = {\n\t/**\n\t * If elements within the calendar have focus. This is helpful for keyboard event trapping.\n\t */\n\tcalendarHasFocus: PropTypes.bool.isRequired,\n\t/**\n\t * Date of day\n\t */\n\tdate: PropTypes.instanceOf(Date).isRequired,\n\t/**\n\t * If date is disabled\n\t */\n\tdisabled: PropTypes.bool,\n\t/**\n\t * Date used to create calendar that is displayed. This is typically the initial day focused when using the keyboard navigation. Focus will be set to this date if available.\n\t */\n\tinitialDateForCalendarRender: PropTypes.instanceOf(Date).isRequired,\n\t/**\n\t * Triggered when the keyboard moves focus off the calendar.\n\t */\n\tonCalendarBlur: PropTypes.func.isRequired,\n\t/**\n\t * For keyboard navigation. Changes the focus to the next day on the calendar. Triggered when right arrow button is pressed.\n\t */\n\tonKeyboardNavigateToNextDay: PropTypes.func.isRequired,\n\t/**\n\t * For keyboard navigation. Changes the focus to the same day in the next week on the calendar. Triggered when down arrow button is pressed.\n\t */\n\tonKeyboardNavigateToNextWeek: PropTypes.func.isRequired,\n\t/**\n\t * For keyboard navigation. Changes the focus to the previous day on the calendar. Triggered when left arrow button is pressed.\n\t */\n\tonKeyboardNavigateToPreviousDay: PropTypes.func.isRequired,\n\t/**\n\t * For keyboard navigation. Changes the focus to the same day in the previous week on the calendar. Triggered when up arrow button is pressed.\n\t */\n\tonKeyboardNavigateToPreviousWeek: PropTypes.func.isRequired,\n\t/**\n\t * Triggered when a date on the calendar is clicked.\n\t */\n\tonSelectDate: PropTypes.func.isRequired,\n\t/**\n\t * Currently selected date. This should be present in the input field.\n\t */\n\tselectedDate: PropTypes.instanceOf(Date).isRequired,\n\t/**\n\t * Component reference / DOM node for selected day.\n\t */\n\tselectedDateRef: PropTypes.func.isRequired,\n\t/**\n\t * Label of shortcut to jump to today within the calendar. Also used for assistive text for the current day.\n\t */\n\ttodayLabel: PropTypes.string.isRequired,\n\tfocusedDate: PropTypes.instanceOf(Date),\n\tonRequestInternalFocusDate: PropTypes.func,\n};\n\nexport default LanguageDirection(DatepickerCalendarDay);\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\nimport Day from './day';\n\nimport DateUtil from '../../../utilities/date';\n\nconst DatepickerWeek = (props) => {\n\tconst days = [];\n\tlet date = props.firstDayOfWeek;\n\n\t// eslint-disable-next-line fp/no-loops\n\tfor (let i = 0; i < 7; i += 1) {\n\t\t// eslint-disable-next-line fp/no-mutating-methods\n\t\tdays.push(\n\t\t\t<Day\n\t\t\t\tcalendarHasFocus={props.calendarHasFocus}\n\t\t\t\tdate={date}\n\t\t\t\tdisabled={props.dateDisabled({ date })}\n\t\t\t\tfocusedDate={props.focusedDate}\n\t\t\t\tinitialDateForCalendarRender={props.initialDateForCalendarRender}\n\t\t\t\tkey={date.toString()}\n\t\t\t\tonKeyboardNavigateToNextDay={props.onKeyboardNavigateToNextDay}\n\t\t\t\tonKeyboardNavigateToNextWeek={props.onKeyboardNavigateToNextWeek}\n\t\t\t\tonKeyboardNavigateToPreviousDay={props.onKeyboardNavigateToPreviousDay}\n\t\t\t\tonKeyboardNavigateToPreviousWeek={\n\t\t\t\t\tprops.onKeyboardNavigateToPreviousWeek\n\t\t\t\t}\n\t\t\t\tonCalendarBlur={props.onCalendarBlur}\n\t\t\t\tonRequestInternalFocusDate={props.onRequestInternalFocusDate}\n\t\t\t\tonSelectDate={props.onSelectDate}\n\t\t\t\tselectedDate={props.selectedDate}\n\t\t\t\tselectedDateRef={props.selectedDateRef}\n\t\t\t\ttodayLabel={props.todayLabel}\n\t\t\t/>\n\t\t);\n\t\tdate = DateUtil.addDays(date, 1);\n\t}\n\n\treturn (\n\t\t<tr className=\"week\" key={days[0].toString()}>\n\t\t\t{days}\n\t\t</tr>\n\t);\n};\n\nDatepickerWeek.propTypes = {\n\t/**\n\t * Date used to create calendar that is displayed. This is typically the initial day focused when using the keyboard navigation. Focus will be set to this date if available.\n\t */\n\tinitialDateForCalendarRender: PropTypes.instanceOf(Date).isRequired,\n\t/**\n\t * Is true if calendar day has focus.\n\t */\n\tcalendarHasFocus: PropTypes.bool.isRequired,\n\t/**\n\t * dateDisabled() takes a date as input argument, returns true if given date should be disabled, otherwise returns false.\n\t */\n\tdateDisabled: PropTypes.func,\n\t/**\n\t * First day of week.\n\t */\n\tfirstDayOfWeek: PropTypes.instanceOf(Date).isRequired,\n\t/**\n\t * Date that has focus.\n\t */\n\tfocusedDate: PropTypes.instanceOf(Date).isRequired,\n\t/**\n\t * Triggered when the keyboard moves focus off the calendar.\n\t */\n\tonCalendarBlur: PropTypes.func.isRequired,\n\t/**\n\t * For keyboard navigation. Changes the focus to the next day on the calendar. Triggered when right arrow button is pressed.\n\t */\n\tonKeyboardNavigateToNextDay: PropTypes.func.isRequired,\n\t/**\n\t * For keyboard navigation. Changes the focus to the same day in the next week on the calendar. Triggered when down arrow button is pressed.\n\t */\n\tonKeyboardNavigateToNextWeek: PropTypes.func.isRequired,\n\t/**\n\t * For keyboard navigation. Changes the focus to the previous day on the calendar. Triggered when left arrow button is pressed.\n\t */\n\tonKeyboardNavigateToPreviousDay: PropTypes.func.isRequired,\n\t/**\n\t * For keyboard navigation. Changes the focus to the same day in the previous week on the calendar. Triggered when up arrow button is pressed.\n\t */\n\tonKeyboardNavigateToPreviousWeek: PropTypes.func.isRequired,\n\t/**\n\t * Triggered when the user wants to focus on a new day witht he keyboard. It returns the keyboard event a data object with the shape: `{date: [Date object]}`. Keyboard event is ommited if a new month is rendered. _Tested with Mocha framework._\n\t */\n\tonRequestInternalFocusDate: PropTypes.func.isRequired,\n\t/**\n\t * Triggered when a date on the calendar is clicked.\n\t */\n\tonSelectDate: PropTypes.func.isRequired,\n\t/**\n\t * Currently selected date. This should be present in the input field.\n\t */\n\tselectedDate: PropTypes.instanceOf(Date).isRequired,\n\t/**\n\t * Component reference / DOM node for selected day.\n\t */\n\tselectedDateRef: PropTypes.func.isRequired,\n\t/**\n\t * Label of shortcut to jump to today within the calendar. Also used for assistive text for the current day.\n\t */\n\ttodayLabel: PropTypes.string.isRequired,\n};\n\nDatepickerWeek.displayName = 'SLDSDatepickerWeek';\n\nexport default DatepickerWeek;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\nimport React from 'react';\n\nimport PropTypes from 'prop-types';\nimport Week from './week';\nimport DateUtil from '../../../utilities/date';\n\nclass DatepickerCalendar extends React.Component {\n\tstatic displayName = 'SLDSDatepickerCalendar';\n\n\tstatic propTypes = {\n\t\t/**\n\t\t * Three letter abbreviations of the days of the week, starting on Sunday.\n\t\t */\n\t\tabbreviatedWeekDayLabels: PropTypes.array.isRequired,\n\t\t/**\n\t\t * dateDisabled() takes a date as input argument, returns true if given date should be disabled, otherwise returns false.\n\t\t */\n\t\tdateDisabled: PropTypes.func,\n\t\t/**\n\t\t * HTML id for component\n\t\t */\n\t\tid: PropTypes.string.isRequired,\n\t\t/**\n\t\t * Date used to create calendar that is displayed. This is typically the initial day focused when using the keyboard navigation. Focus will be set to this date if available.\n\t\t */\n\t\tinitialDateForCalendarRender: PropTypes.instanceOf(Date).isRequired,\n\t\t/**\n\t\t * Makes Monday the first day of the week\n\t\t */\n\t\tisIsoWeekday: PropTypes.bool,\n\t\t/**\n\t\t * Triggered when the keyboard moves focus off the calendar.\n\t\t */\n\t\tonCalendarBlur: PropTypes.func.isRequired,\n\t\t/**\n\t\t * Displayed calendar has changed or re-rendered\n\t\t */\n\t\tonChangeMonth: PropTypes.func.isRequired,\n\t\t/**\n\t\t * Internal callback that will eventually trigger when the keyboard moves focus on the calendar. `{date: [Date object], formattedDate: [string]}`.\n\t\t */\n\t\tonRequestInternalFocusDate: PropTypes.func,\n\t\t/**\n\t\t * Triggered when the calendar is cancelled.\n\t\t */\n\t\tonRequestClose: PropTypes.func.isRequired,\n\t\t/**\n\t\t * Triggered when a date on the calendar is clicked.\n\t\t */\n\t\tonSelectDate: PropTypes.func.isRequired,\n\t\t/**\n\t\t * Currently selected date. This should be present in the input field.\n\t\t */\n\t\tselectedDate: PropTypes.instanceOf(Date),\n\t\t/**\n\t\t * Component reference / DOM node for selected day.\n\t\t */\n\t\tselectedDateRef: PropTypes.func,\n\t\t/**\n\t\t * Label of shortcut to jump to today within the calendar. This is also used for assistive text on today's date.\n\t\t */\n\t\ttodayLabel: PropTypes.string.isRequired,\n\t\t/**\n\t\t * For keyboard navigation. Listens for key presses on the last focusable DOM Node, the \"Today\" link, so that dialog focus can be trapped.\n\t\t */\n\t\tonLastFocusableNodeKeyDown: PropTypes.func,\n\t\t/**\n\t\t * Callback that passes in the DOM reference of the Today `a` DOM node within this component. Primary use is to allow `focus` to be called. You should still test if the node exists, since rendering is asynchronous. `buttonRef={(component) => { if(component) console.log(component); }}`\n\t\t */\n\t\ttodayRef: PropTypes.func,\n\t\t/**\n\t\t * Names of the seven days of the week, starting on Sunday.\n\t\t */\n\t\tweekDayLabels: PropTypes.array.isRequired,\n\t};\n\n\tstate = {\n\t\tfocusedDate: this.props.initialDateForCalendarRender,\n\t\tcalendarHasFocus: true,\n\t\ttodayFocus: false,\n\t};\n\n\tcomponentDidUpdate(prevProps) {\n\t\tthis.setCalendarRenderSeedDate(prevProps);\n\t}\n\n\tsetCalendarRenderSeedDate = (prevProps) => {\n\t\t// Set prop that sets focus in child component once it is rendered. This occurs when the month DOM has changed. This will trigger a re-render, but no DOM change will occur, just a DOM focus.\n\t\tif (\n\t\t\t!DateUtil.isEqual(\n\t\t\t\tthis.props.initialDateForCalendarRender,\n\t\t\t\tprevProps.initialDateForCalendarRender\n\t\t\t)\n\t\t) {\n\t\t\tthis.setState({ focusedDate: this.props.initialDateForCalendarRender });\n\t\t\tthis.props.onRequestInternalFocusDate(undefined, {\n\t\t\t\tdate: this.props.initialDateForCalendarRender,\n\t\t\t\ttriggerCallback: true,\n\t\t\t});\n\t\t}\n\t};\n\n\thandleSelectDate = (event, { date }) => {\n\t\tif (!this.props.dateDisabled({ date })) {\n\t\t\tthis.setState({ selected: date });\n\t\t\tthis.props.onSelectDate(event, { date });\n\t\t}\n\t};\n\n\thandleRequestClose = (event) => {\n\t\tif (this.props.onRequestClose) {\n\t\t\tthis.props.onRequestClose(event, {});\n\t\t}\n\t};\n\n\thandleKeyboardNavigateToPreviousDay = (event, { date }) => {\n\t\tconst prevDate = DateUtil.addDays(date, -1);\n\t\tif (!DateUtil.isSameMonth(prevDate, date)) {\n\t\t\tthis.props.onChangeMonth(event, prevDate);\n\t\t} else {\n\t\t\tthis.setState({ focusedDate: prevDate });\n\t\t\tthis.props.onRequestInternalFocusDate(event, {\n\t\t\t\tdate: prevDate,\n\t\t\t\ttriggerCallback: true,\n\t\t\t});\n\t\t}\n\t};\n\n\thandleKeyboardNavigateToNextDay = (event, { date }) => {\n\t\tconst nextDate = DateUtil.addDays(date, 1);\n\t\tif (!DateUtil.isSameMonth(nextDate, date)) {\n\t\t\tthis.props.onChangeMonth(event, nextDate);\n\t\t} else {\n\t\t\tthis.setState({ focusedDate: nextDate });\n\t\t\tthis.props.onRequestInternalFocusDate(event, {\n\t\t\t\tdate: nextDate,\n\t\t\t\ttriggerCallback: true,\n\t\t\t});\n\t\t}\n\t};\n\n\thandleKeyboardNavigateToPreviousWeek = (event, { date }) => {\n\t\tconst prevDate = DateUtil.addDays(date, -7);\n\t\tif (!DateUtil.isSameMonth(prevDate, date)) {\n\t\t\tthis.props.onChangeMonth(event, prevDate);\n\t\t} else {\n\t\t\tthis.setState({ focusedDate: prevDate });\n\t\t\tthis.props.onRequestInternalFocusDate(event, {\n\t\t\t\tdate: prevDate,\n\t\t\t\ttriggerCallback: true,\n\t\t\t});\n\t\t}\n\t};\n\n\thandleKeyboardNavigateToNextWeek = (event, { date }) => {\n\t\tconst nextDate = DateUtil.addDays(date, 7);\n\t\tif (!DateUtil.isSameMonth(nextDate, date)) {\n\t\t\tthis.props.onChangeMonth(event, nextDate);\n\t\t} else {\n\t\t\tthis.setState({ focusedDate: nextDate });\n\t\t\tthis.props.onRequestInternalFocusDate(event, {\n\t\t\t\tdate: nextDate,\n\t\t\t\ttriggerCallback: true,\n\t\t\t});\n\t\t}\n\t};\n\n\trenderWeeks = () => {\n\t\tconst firstDayOfWeekOffset = this.props.isIsoWeekday ? 1 : 0;\n\n\t\tconst firstDayOfMonth = DateUtil.firstDayOfMonth(\n\t\t\tthis.props.initialDateForCalendarRender\n\t\t);\n\n\t\tlet firstDayOfWeek;\n\t\tif (\n\t\t\tfirstDayOfMonth.getDay() > firstDayOfWeekOffset ||\n\t\t\tfirstDayOfMonth.getDay() < firstDayOfWeekOffset\n\t\t) {\n\t\t\tconst prevWeek = DateUtil.addWeeks(firstDayOfMonth, -1);\n\t\t\tfirstDayOfWeek = DateUtil.nearestWeekDay(prevWeek, firstDayOfWeekOffset);\n\t\t} else {\n\t\t\tfirstDayOfWeek = firstDayOfMonth;\n\t\t}\n\n\t\tconst weeks = [];\n\t\tlet done = false;\n\n\t\tlet monthIndex = firstDayOfWeek.getMonth();\n\t\tlet count = 0;\n\n\t\t// eslint-disable-next-line fp/no-loops\n\t\twhile (!done) {\n\t\t\t// eslint-disable-next-line fp/no-mutating-methods\n\t\t\tweeks.push(\n\t\t\t\t<Week\n\t\t\t\t\tcalendarHasFocus={this.state.calendarHasFocus}\n\t\t\t\t\tdateDisabled={this.props.dateDisabled}\n\t\t\t\t\tfirstDayOfWeek={firstDayOfWeek}\n\t\t\t\t\tkey={firstDayOfWeek.toString()}\n\t\t\t\t\tfocusedDate={this.state.focusedDate}\n\t\t\t\t\tinitialDateForCalendarRender={this.props.initialDateForCalendarRender}\n\t\t\t\t\tonCalendarBlur={this.props.onCalendarBlur}\n\t\t\t\t\tonKeyboardNavigateToPreviousDay={\n\t\t\t\t\t\tthis.handleKeyboardNavigateToPreviousDay\n\t\t\t\t\t}\n\t\t\t\t\tonKeyboardNavigateToNextDay={this.handleKeyboardNavigateToNextDay}\n\t\t\t\t\tonKeyboardNavigateToPreviousWeek={\n\t\t\t\t\t\tthis.handleKeyboardNavigateToPreviousWeek\n\t\t\t\t\t}\n\t\t\t\t\tonKeyboardNavigateToNextWeek={this.handleKeyboardNavigateToNextWeek}\n\t\t\t\t\tonRequestClose={this.handleRequestClose}\n\t\t\t\t\tonRequestInternalFocusDate={this.props.onRequestInternalFocusDate}\n\t\t\t\t\tonSelectDate={this.handleSelectDate}\n\t\t\t\t\tselectedDate={this.props.selectedDate}\n\t\t\t\t\tselectedDateRef={this.props.selectedDateRef}\n\t\t\t\t\ttodayLabel={this.props.todayLabel}\n\t\t\t\t/>\n\t\t\t);\n\n\t\t\t// create new weeks\n\t\t\tfirstDayOfWeek = DateUtil.addWeeks(firstDayOfWeek, 1);\n\t\t\tdone = count > 2 && monthIndex !== firstDayOfWeek.getMonth();\n\t\t\tcount += 1;\n\t\t\tmonthIndex = firstDayOfWeek.getMonth();\n\t\t}\n\t\tlet extraWeeks = 0;\n\t\t// eslint-disable-next-line fp/no-loops\n\t\twhile (weeks.length < 6) {\n\t\t\textraWeeks += 1;\n\t\t\t// eslint-disable-next-line fp/no-mutating-methods\n\t\t\tweeks.push(\n\t\t\t\t<tr key={`extra_${extraWeeks}`} className=\"week\">\n\t\t\t\t\t<td\n\t\t\t\t\t\taria-disabled=\"true\"\n\t\t\t\t\t\taria-selected=\"false\"\n\t\t\t\t\t\tclassName=\"slds-disabled-text\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<span className=\"slds-day \"> </span>\n\t\t\t\t\t</td>\n\t\t\t\t</tr>\n\t\t\t);\n\t\t}\n\n\t\treturn weeks;\n\t};\n\n\trender() {\n\t\tconst sunday = (\n\t\t\t<th>\n\t\t\t\t<abbr title={this.props.weekDayLabels[0]}>\n\t\t\t\t\t{this.props.abbreviatedWeekDayLabels[0]}\n\t\t\t\t</abbr>\n\t\t\t</th>\n\t\t);\n\n\t\treturn (\n\t\t\t<div className=\"calendar\">\n\t\t\t\t<table\n\t\t\t\t\tclassName=\"datepicker__month\"\n\t\t\t\t\trole=\"grid\"\n\t\t\t\t\taria-labelledby={`${this.props.id}-month`}\n\t\t\t\t>\n\t\t\t\t\t<thead>\n\t\t\t\t\t\t<tr>\n\t\t\t\t\t\t\t{this.props.isIsoWeekday ? null : sunday}\n\t\t\t\t\t\t\t<th scope=\"col\">\n\t\t\t\t\t\t\t\t<abbr title={this.props.weekDayLabels[1]}>\n\t\t\t\t\t\t\t\t\t{this.props.abbreviatedWeekDayLabels[1]}\n\t\t\t\t\t\t\t\t</abbr>\n\t\t\t\t\t\t\t</th>\n\t\t\t\t\t\t\t<th scope=\"col\">\n\t\t\t\t\t\t\t\t<abbr title={this.props.weekDayLabels[2]}>\n\t\t\t\t\t\t\t\t\t{this.props.abbreviatedWeekDayLabels[2]}\n\t\t\t\t\t\t\t\t</abbr>\n\t\t\t\t\t\t\t</th>\n\t\t\t\t\t\t\t<th scope=\"col\">\n\t\t\t\t\t\t\t\t<abbr title={this.props.weekDayLabels[3]}>\n\t\t\t\t\t\t\t\t\t{this.props.abbreviatedWeekDayLabels[3]}\n\t\t\t\t\t\t\t\t</abbr>\n\t\t\t\t\t\t\t</th>\n\t\t\t\t\t\t\t<th scope=\"col\">\n\t\t\t\t\t\t\t\t<abbr title={this.props.weekDayLabels[4]}>\n\t\t\t\t\t\t\t\t\t{this.props.abbreviatedWeekDayLabels[4]}\n\t\t\t\t\t\t\t\t</abbr>\n\t\t\t\t\t\t\t</th>\n\t\t\t\t\t\t\t<th scope=\"col\">\n\t\t\t\t\t\t\t\t<abbr title={this.props.weekDayLabels[5]}>\n\t\t\t\t\t\t\t\t\t{this.props.abbreviatedWeekDayLabels[5]}\n\t\t\t\t\t\t\t\t</abbr>\n\t\t\t\t\t\t\t</th>\n\t\t\t\t\t\t\t<th scope=\"col\">\n\t\t\t\t\t\t\t\t<abbr title={this.props.weekDayLabels[6]}>\n\t\t\t\t\t\t\t\t\t{this.props.abbreviatedWeekDayLabels[6]}\n\t\t\t\t\t\t\t\t</abbr>\n\t\t\t\t\t\t\t</th>\n\t\t\t\t\t\t\t{this.props.isIsoWeekday && sunday}\n\t\t\t\t\t\t</tr>\n\t\t\t\t\t</thead>\n\t\t\t\t\t<tbody>\n\t\t\t\t\t\t{this.renderWeeks()}\n\n\t\t\t\t\t\t<tr>\n\t\t\t\t\t\t\t<td colSpan=\"7\" role=\"gridcell\">\n\t\t\t\t\t\t\t\t<a\n\t\t\t\t\t\t\t\t\thref=\"javascript:void(0)\" // eslint-disable-line no-script-url\n\t\t\t\t\t\t\t\t\ttabIndex=\"0\"\n\t\t\t\t\t\t\t\t\tclassName=\"slds-show_inline-block slds-p-bottom_x-small\"\n\t\t\t\t\t\t\t\t\tonClick={(event) => {\n\t\t\t\t\t\t\t\t\t\tthis.handleSelectDate(event, { date: new Date() });\n\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\tonKeyDown={this.props.onLastFocusableNodeKeyDown}\n\t\t\t\t\t\t\t\t\tref={this.props.todayRef}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{this.props.todayLabel}\n\t\t\t\t\t\t\t\t</a>\n\t\t\t\t\t\t\t</td>\n\t\t\t\t\t\t</tr>\n\t\t\t\t\t</tbody>\n\t\t\t\t</table>\n\t\t\t</div>\n\t\t);\n\t}\n}\n\nexport default DatepickerCalendar;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\nimport React from 'react';\n\nimport PropTypes from 'prop-types';\nimport Combobox from '../../combobox/combobox';\n\nclass DatepickerYearSelector extends React.Component {\n\tstatic displayName = 'SLDSDatepickerYearSelector';\n\n\tstatic propTypes = {\n\t\t/**\n\t\t * Label for year picklist/combobox\n\t\t */\n\t\tassistiveTextYear: PropTypes.string.isRequired,\n\t\t/**\n\t\t * HTML id for component\n\t\t */\n\t\tid: PropTypes.string,\n\t\t/**\n\t\t * Date used to create calendar that is displayed. This is typically the initial day focused when using the keyboard navigation. Focus will be set to this date if available.\n\t\t */\n\t\tinitialDateForCalendarRender: PropTypes.instanceOf(Date).isRequired,\n\t\t/**\n\t\t * Displayed calendar has changed or re-rendered\n\t\t */\n\t\tonChangeMonth: PropTypes.func.isRequired,\n\t\t/**\n\t\t * Offset of year from current year that can be selected in the year selection dropdown. (2017 - 5 = 2012).\n\t\t */\n\t\trelativeYearFrom: PropTypes.number,\n\t\t/**\n\t\t * Offset of year from current year that can be selected in the year selection dropdown. (2017 + 5 = 2012).\n\t\t */\n\t\trelativeYearTo: PropTypes.number,\n\t};\n\n\tgetOptions = () => {\n\t\tconst now = new Date();\n\t\tconst fromYear = now.getFullYear() + this.props.relativeYearFrom;\n\t\tconst toYear = now.getFullYear() + this.props.relativeYearTo;\n\t\tconst opts = [];\n\n\t\t// eslint-disable-next-line fp/no-loops\n\t\tfor (let year = fromYear; year < toYear; year += 1) {\n\t\t\t// eslint-disable-next-line fp/no-mutating-methods\n\t\t\topts.push({ label: `${year}`, value: year, id: String(opts.length) });\n\t\t}\n\t\treturn opts;\n\t};\n\n\tgetSelectedValueOption = () => {\n\t\tconst selectedYear = this.props.initialDateForCalendarRender.getFullYear();\n\t\treturn this.getOptions().filter((option) => option.value === selectedYear);\n\t};\n\n\thandleSelect = (event, { selection: selectedValues }) => {\n\t\tconst selectedValue = selectedValues[0]; // safe since we are working with a single selection\n\n\t\tif (selectedValue) {\n\t\t\tthis.props.onChangeMonth(\n\t\t\t\tnew Date(\n\t\t\t\t\tthis.props.initialDateForCalendarRender.setFullYear(\n\t\t\t\t\t\tparseInt(selectedValue.value, 10)\n\t\t\t\t\t)\n\t\t\t\t)\n\t\t\t);\n\t\t}\n\t};\n\n\trender() {\n\t\tconst selection = this.getSelectedValueOption();\n\t\treturn (\n\t\t\t<div className=\"slds-form-element slds-align-content-center\">\n\t\t\t\t<Combobox\n\t\t\t\t\tassistiveText={{ label: this.props.assistiveTextYear }}\n\t\t\t\t\tclassName=\"slds-shrink-none\"\n\t\t\t\t\tclassNameMenu=\"slds-datepicker\"\n\t\t\t\t\tevents={{\n\t\t\t\t\t\tonSelect: this.handleSelect,\n\t\t\t\t\t}}\n\t\t\t\t\tid={`${this.props.id}-year-picklist`}\n\t\t\t\t\tinheritWidthOf=\"target\"\n\t\t\t\t\tmenuPosition=\"relative\"\n\t\t\t\t\tmultiple={false}\n\t\t\t\t\toptions={this.getOptions()}\n\t\t\t\t\tlabels={{\n\t\t\t\t\t\tplaceholder: 'Year',\n\t\t\t\t\t}}\n\t\t\t\t\tselection={selection}\n\t\t\t\t\tvalue={selection.value}\n\t\t\t\t\tvariant=\"readonly\"\n\t\t\t\t/>\n\t\t\t</div>\n\t\t);\n\t}\n}\n\nexport default DatepickerYearSelector;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\nimport React from 'react';\n\nimport PropTypes from 'prop-types';\nimport YearPicklist from './year-picklist';\nimport Button from '../../button';\n\nimport DateUtil from '../../../utilities/date';\n\nclass DatepickerMonthNavigation extends React.Component {\n\tstatic displayName = 'SLDSDatepickerMonthNavigation';\n\n\tstatic propTypes = {\n\t\t/**\n\t\t * Label for button to go to the next month\n\t\t */\n\t\tassistiveTextNextMonth: PropTypes.string.isRequired,\n\t\t/**\n\t\t * Label for button to go to the previous month\n\t\t */\n\t\tassistiveTextPreviousMonth: PropTypes.string.isRequired,\n\t\t/**\n\t\t * Label for year picklist/combobox\n\t\t */\n\t\tassistiveTextYear: PropTypes.string.isRequired,\n\t\t/**\n\t\t * HTML id for component\n\t\t */\n\t\tid: PropTypes.string,\n\t\t/**\n\t\t * Date used to create calendar that is displayed. This is typically the initial day focused when using the keyboard navigation. Focus will be set to this date if available.\n\t\t */\n\t\tinitialDateForCalendarRender: PropTypes.instanceOf(Date).isRequired,\n\t\t/**\n\t\t * Displayed calendar has changed or re-rendered\n\t\t */\n\t\tonChangeMonth: PropTypes.func.isRequired,\n\t\t/**\n\t\t * Names of the months\n\t\t */\n\t\tmonthLabels: PropTypes.array.isRequired,\n\t\t/**\n\t\t * For keyboard navigation. In order to trap focus within the dialog, the first DOM node with a tab index should be listened to.\n\t\t */\n\t\tonPreviousMonthKeyDown: PropTypes.func,\n\t\t/**\n\t\t * Callback that passes in the DOM reference of the `<button>` DOM node within this component. Primary use is to allow `focus` to be called. You should still test if the node exists, since rendering is asynchronous.\n\t\t */\n\t\tpreviousMonthRef: PropTypes.func.isRequired,\n\t\t/**\n\t\t * Offset of year from current year that can be selected in the year selection dropdown. (2017 - 5 = 2012).\n\t\t */\n\t\trelativeYearFrom: PropTypes.number,\n\t\t/**\n\t\t * Offset of year from current year that can be selected in the year selection dropdown. (2017 + 5 = 2012).\n\t\t */\n\t\trelativeYearTo: PropTypes.number,\n\t};\n\n\tgetMonthLabel = () =>\n\t\tthis.props.monthLabels[\n\t\t\tnew Date(this.props.initialDateForCalendarRender).getMonth()\n\t\t];\n\n\tgetYearLabel = () =>\n\t\tnew Date(this.props.initialDateForCalendarRender).getFullYear();\n\n\thandleClick = (event) => {\n\t\tevent.preventDefault();\n\t\tevent.stopPropagation();\n\t};\n\n\thandleYearSelect = (initialDateForCalendarRender) => {\n\t\tthis.props.onChangeMonth(undefined, initialDateForCalendarRender);\n\t};\n\n\tpreviousMonthClicked = () => {\n\t\tthis.props.onChangeMonth(\n\t\t\tundefined,\n\t\t\tDateUtil.addMonths(this.props.initialDateForCalendarRender, -1)\n\t\t);\n\t};\n\n\tnextMonthClicked = () => {\n\t\tthis.props.onChangeMonth(\n\t\t\tundefined,\n\t\t\tDateUtil.addMonths(this.props.initialDateForCalendarRender, 1)\n\t\t);\n\t};\n\n\trender() {\n\t\treturn (\n\t\t\t<div className=\"slds-datepicker__filter slds-grid\">\n\t\t\t\t<div\n\t\t\t\t\tclassName=\"slds-datepicker__filter_month slds-grid slds-grid_align-spread slds-grow\"\n\t\t\t\t\tstyle={{ flex: 1.75 }}\n\t\t\t\t>\n\t\t\t\t\t<div className=\"slds-align-middle\">\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tassistiveText={{ icon: this.props.assistiveTextPreviousMonth }}\n\t\t\t\t\t\t\ticonCategory=\"utility\"\n\t\t\t\t\t\t\ticonName=\"left\"\n\t\t\t\t\t\t\ticonVariant=\"container\"\n\t\t\t\t\t\t\tonKeyDown={this.props.onPreviousMonthKeyDown}\n\t\t\t\t\t\t\tonClick={this.previousMonthClicked}\n\t\t\t\t\t\t\tbuttonRef={(component) => {\n\t\t\t\t\t\t\t\tthis.props.previousMonthRef(component);\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\tvariant=\"icon\"\n\t\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t</div>\n\t\t\t\t\t<h2\n\t\t\t\t\t\tid={`${this.props.id}-month`}\n\t\t\t\t\t\tclassName=\"slds-align-middle\"\n\t\t\t\t\t\taria-live=\"assertive\"\n\t\t\t\t\t\taria-atomic\n\t\t\t\t\t>\n\t\t\t\t\t\t{this.getMonthLabel()}{' '}\n\t\t\t\t\t\t<span className=\"slds-assistive-text\">{this.getYearLabel()}</span>\n\t\t\t\t\t</h2>\n\t\t\t\t\t<div className=\"slds-align-middle\">\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tassistiveText={{ icon: this.props.assistiveTextNextMonth }}\n\t\t\t\t\t\t\ticonCategory=\"utility\"\n\t\t\t\t\t\t\ticonName=\"right\"\n\t\t\t\t\t\t\ticonVariant=\"container\"\n\t\t\t\t\t\t\tonClick={this.nextMonthClicked}\n\t\t\t\t\t\t\tvariant=\"icon\"\n\t\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t\t<YearPicklist\n\t\t\t\t\tassistiveTextYear={this.props.assistiveTextYear}\n\t\t\t\t\tid={this.props.id}\n\t\t\t\t\tinitialDateForCalendarRender={this.props.initialDateForCalendarRender}\n\t\t\t\t\tonChangeMonth={this.handleYearSelect}\n\t\t\t\t\trelativeYearFrom={this.props.relativeYearFrom}\n\t\t\t\t\trelativeYearTo={this.props.relativeYearTo}\n\t\t\t\t/>\n\t\t\t</div>\n\t\t);\n\t}\n}\n\nexport default DatepickerMonthNavigation;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\n// ### classNames\n// [github.com/JedWatson/classnames](https://github.com/JedWatson/classnames)\n// This project uses `classnames`, \"a simple javascript utility for conditionally\n// joining classNames together.\"\nimport classNames from 'classnames';\n\nimport Calendar from './calendar';\nimport CalendarNavigation from './navigation';\n\nimport EventUtil from '../../../utilities/event';\nimport KEYS from '../../../utilities/key-code';\n\nclass DatepickerCalendarWrapper extends React.Component {\n\tstatic displayName = 'DatepickerCalendarWrapper';\n\n\tstatic propTypes = {\n\t\t/**\n\t\t * Label for button to go to the next month\n\t\t */\n\t\tassistiveTextNextMonth: PropTypes.string.isRequired,\n\t\t/**\n\t\t * Label for button to go to the previous month\n\t\t */\n\t\tassistiveTextPreviousMonth: PropTypes.string.isRequired,\n\t\t/**\n\t\t * Label for year picklist/combobox\n\t\t */\n\t\tassistiveTextYear: PropTypes.string.isRequired,\n\t\t/**\n\t\t * One letter abbreviations of the days of the week, starting on Sunday.\n\t\t */ abbreviatedWeekDayLabels: PropTypes.array.isRequired,\n\t\t/**\n\t\t * Whether or not the `CalendarWrapper` can steal focus from the main `Input`\n\t\t */\n\t\tcanFocusCalendar: PropTypes.bool.isRequired,\n\t\t/**\n\t\t * CSS classes to be added to tag with `slds-datepicker`.\n\t\t */\n\t\tclassName: PropTypes.oneOfType([\n\t\t\tPropTypes.array,\n\t\t\tPropTypes.object,\n\t\t\tPropTypes.string,\n\t\t]),\n\t\t/**\n\t\t * dateDisabled() takes a date as input argument, returns true if given date should be disabled, otherwise returns false.\n\t\t */\n\t\tdateDisabled: PropTypes.func,\n\t\t/**\n\t\t * HTML id for component\n\t\t */\n\t\tid: PropTypes.string,\n\t\t/**\n\t\t * Makes Monday the first day of the week\n\t\t */\n\t\tisIsoWeekday: PropTypes.bool,\n\t\t/**\n\t\t * For use of datepicker outside of dropdown.\n\t\t */\n\t\tisolated: PropTypes.bool,\n\t\t/**\n\t\t * Names of the months\n\t\t */\n\t\tmonthLabels: PropTypes.array.isRequired,\n\t\t/**\n\t\t * Triggered when the keyboard moves focus on the calendar. {date: [Date object], formattedDate: [string]} _Tested with Mocha framework._\n\t\t */\n\t\tonCalendarFocus: PropTypes.func,\n\t\t/**\n\t\t * Triggered when the calendar is supposed to close.\n\t\t */\n\t\tonRequestClose: PropTypes.func.isRequired,\n\t\t/**\n\t\t * Triggered when a date on the calendar is clicked.\n\t\t */\n\t\tonSelectDate: PropTypes.func.isRequired,\n\t\t/**\n\t\t * The earliest year that can be selected in the year selection dropdown.\n\t\t */\n\t\trelativeYearFrom: PropTypes.number.isRequired,\n\t\t/**\n\t\t * The maximum year that can be selected in the year selection dropdown.\n\t\t */\n\t\trelativeYearTo: PropTypes.number.isRequired,\n\t\t/**\n\t\t * Currently selected date\n\t\t */\n\t\tselectedDate: PropTypes.instanceOf(Date),\n\t\t/**\n\t\t * Component reference / DOM node for selected day.\n\t\t */\n\t\tselectedDateRef: PropTypes.func,\n\t\t/**\n\t\t * Label of shortcut to jump to today within the calendar. Also used for assistive text for the current day.\n\t\t */\n\t\ttodayLabel: PropTypes.string.isRequired,\n\t\t/**\n\t\t * Names of the seven days of the week, starting on Sunday.\n\t\t */\n\t\tweekDayLabels: PropTypes.array.isRequired,\n\t};\n\n\tstatic defaultProps = {\n\t\tselectedDate: new Date(),\n\t\tvalue: new Date(),\n\t};\n\n\tstate = {\n\t\tinitialDateForCalendarRender: this.props.selectedDate,\n\t};\n\n\thandleCalendarBlur = (event, { direction }) => {\n\t\tif (direction === 'next' && this.previousMonthRef) {\n\t\t\tif (this.props.onCalendarFocus) {\n\t\t\t\tthis.props.onCalendarFocus(event, {\n\t\t\t\t\tdirection,\n\t\t\t\t\tref: this.previousMonthRef,\n\t\t\t\t});\n\t\t\t}\n\t\t\tthis.previousMonthRef.focus();\n\t\t} else if (direction === 'previous' && this.todayRef) {\n\t\t\tif (this.props.onCalendarFocus) {\n\t\t\t\tthis.props.onCalendarFocus(event, {\n\t\t\t\t\tdirection,\n\t\t\t\t\tref: this.todayRef,\n\t\t\t\t});\n\t\t\t}\n\t\t\tthis.todayRef.focus();\n\t\t}\n\t};\n\n\thandleFirstFocusableNodeKeyDown = (event) => {\n\t\tif (event.shiftKey && event.keyCode === KEYS.TAB) {\n\t\t\tEventUtil.trapEvent(event);\n\t\t}\n\t};\n\n\thandleInitialDateForCalendarRenderChange = (\n\t\tevent,\n\t\tinitialDateForCalendarRender\n\t) => {\n\t\tthis.setState({ initialDateForCalendarRender });\n\t};\n\n\thandleKeyDown = (event) => {\n\t\tif (event.keyCode === KEYS.ESCAPE) {\n\t\t\tEventUtil.trapEvent(event);\n\t\t\tthis.props.onRequestClose(event, {});\n\t\t}\n\t};\n\n\thandleLastFocusableNodeKeyDown = (event) => {\n\t\tif (!event.shiftKey && event.keyCode === KEYS.TAB) {\n\t\t\tEventUtil.trapEvent(event);\n\t\t}\n\t};\n\n\thandleRequestClose = (event) => {\n\t\tif (this.props.onRequestClose) {\n\t\t\tthis.props.onRequestClose(event, {});\n\t\t}\n\t};\n\n\thandleRequestFocusDate = (event, data) => {\n\t\t// will be called three times, due to re-render\n\t\tif (data.ref && this.props.canFocusCalendar) {\n\t\t\tdata.ref.focus();\n\t\t}\n\n\t\t// only call on actual DOM event and not on re-render\n\t\tif (this.props.onCalendarFocus && data.triggerCallback) {\n\t\t\tconst { triggerCallback, ...modifiedData } = data; // eslint-disable-line no-unused-vars\n\t\t\tthis.props.onCalendarFocus(event, modifiedData);\n\t\t}\n\t};\n\n\trender() {\n\t\treturn (\n\t\t\t<div // eslint-disable-line jsx-a11y/no-static-element-interactions\n\t\t\t\tclassName={classNames(\n\t\t\t\t\t{\n\t\t\t\t\t\t'slds-datepicker': this.props.isolated,\n\t\t\t\t\t},\n\t\t\t\t\tthis.props.className\n\t\t\t\t)}\n\t\t\t\taria-hidden=\"false\"\n\t\t\t\tdata-selection=\"single\"\n\t\t\t\tonKeyDown={this.handleKeyDown}\n\t\t\t>\n\t\t\t\t<CalendarNavigation\n\t\t\t\t\tassistiveTextNextMonth={this.props.assistiveTextNextMonth}\n\t\t\t\t\tassistiveTextPreviousMonth={this.props.assistiveTextPreviousMonth}\n\t\t\t\t\tassistiveTextYear={this.props.assistiveTextYear}\n\t\t\t\t\tid={this.props.id}\n\t\t\t\t\tinitialDateForCalendarRender={this.state.initialDateForCalendarRender}\n\t\t\t\t\tmonthLabels={this.props.monthLabels}\n\t\t\t\t\tonChangeMonth={this.handleInitialDateForCalendarRenderChange}\n\t\t\t\t\tpreviousMonthRef={(component) => {\n\t\t\t\t\t\tthis.previousMonthRef = component;\n\t\t\t\t\t}}\n\t\t\t\t\tonPreviousMonthKeyDown={this.handleFirstFocusableNodeKeyDown}\n\t\t\t\t\trelativeYearFrom={this.props.relativeYearFrom}\n\t\t\t\t\trelativeYearTo={this.props.relativeYearTo}\n\t\t\t\t/>\n\t\t\t\t<Calendar\n\t\t\t\t\tabbreviatedWeekDayLabels={this.props.abbreviatedWeekDayLabels}\n\t\t\t\t\tdateDisabled={this.props.dateDisabled}\n\t\t\t\t\tid={this.props.id}\n\t\t\t\t\tinitialDateForCalendarRender={this.state.initialDateForCalendarRender}\n\t\t\t\t\tisIsoWeekday={this.props.isIsoWeekday}\n\t\t\t\t\tonCalendarBlur={this.handleCalendarBlur}\n\t\t\t\t\tonChangeMonth={this.handleInitialDateForCalendarRenderChange}\n\t\t\t\t\tonRequestClose={this.handleRequestClose}\n\t\t\t\t\tonRequestInternalFocusDate={this.handleRequestFocusDate}\n\t\t\t\t\tonSelectDate={this.props.onSelectDate}\n\t\t\t\t\tselectedDate={this.props.selectedDate}\n\t\t\t\t\tselectedDateRef={this.props.selectedDateRef}\n\t\t\t\t\ttodayLabel={this.props.todayLabel}\n\t\t\t\t\ttodayRef={(component) => {\n\t\t\t\t\t\tthis.todayRef = component;\n\t\t\t\t\t}}\n\t\t\t\t\tonLastFocusableNodeKeyDown={this.handleLastFocusableNodeKeyDown}\n\t\t\t\t\tweekDayLabels={this.props.weekDayLabels}\n\t\t\t\t/>\n\t\t\t</div>\n\t\t);\n\t}\n}\n\nexport default DatepickerCalendarWrapper;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n/* eslint-disable import/no-mutable-exports */\n/* eslint-disable max-len */\n\nimport deprecatedProperty from '../../utilities/warning/deprecated-property';\nimport getComponentDocFn from '../../utilities/get-component-doc';\n\nlet checkProps = function checkPropsFunction() {};\n\nif (process.env.NODE_ENV !== 'production') {\n\tcheckProps = function checkPropsFunction(COMPONENT, props, jsonDoc) {\n\t\tconst createDocUrl = getComponentDocFn(jsonDoc);\n\n\t\tdeprecatedProperty(\n\t\t\tCOMPONENT,\n\t\t\tprops.children,\n\t\t\t'children',\n\t\t\t'input',\n\t\t\t`Please see \\`input\\` prop description and add your own \\`Input\\`. Props will be shallow merged. ${createDocUrl(\n\t\t\t\t'input'\n\t\t\t)}`\n\t\t);\n\n\t\tdeprecatedProperty(\n\t\t\tCOMPONENT,\n\t\t\tprops.onFocus,\n\t\t\t'onFocus',\n\t\t\tundefined,\n\t\t\t`Please see \\`input\\` prop description and add your own \\`Input\\`. Props will be shallow merged. ${createDocUrl(\n\t\t\t\t'input'\n\t\t\t)}`\n\t\t);\n\n\t\tdeprecatedProperty(\n\t\t\tCOMPONENT,\n\t\t\tprops.onBlur,\n\t\t\t'onBlur',\n\t\t\tundefined,\n\t\t\t`Please see \\`input\\` prop description and add your own \\`Input\\`. Props will be shallow merged. ${createDocUrl(\n\t\t\t\t'input'\n\t\t\t)}`\n\t\t);\n\n\t\tdeprecatedProperty(\n\t\t\tCOMPONENT,\n\t\t\tprops.abbrWeekDayLabels,\n\t\t\t'abbrWeekDayLabels',\n\t\t\t'abbreviatedWeekDayLabels',\n\t\t\t`Prop name has changed. ${createDocUrl('labels')}`\n\t\t);\n\n\t\tdeprecatedProperty(\n\t\t\tCOMPONENT,\n\t\t\tprops.onDateChange,\n\t\t\t'onDateChange',\n\t\t\t'onChange',\n\t\t\t`Please see prop description for \\`onChange\\`. Parameters have changed. The callback receives an event and a data object of the shape: \\`{date: [Date object], formattedDate: [string], timezoneOffset: [number]}\\` ${createDocUrl(\n\t\t\t\t'onChange'\n\t\t\t)}`\n\t\t);\n\n\t\tdeprecatedProperty(\n\t\t\tCOMPONENT,\n\t\t\tprops.onKeyDown,\n\t\t\t'onKeyDown',\n\t\t\tundefined,\n\t\t\t`Please see \\`input\\` prop description and add your own \\`Input\\`. Props will be shallow merged. ${createDocUrl(\n\t\t\t\t'input'\n\t\t\t)}`\n\t\t);\n\n\t\tdeprecatedProperty(\n\t\t\tCOMPONENT,\n\t\t\tprops.onFocus,\n\t\t\t'required',\n\t\t\tundefined,\n\t\t\t`Please see children prop description and add your own \\`Input\\` as a child of Datepicker. ${createDocUrl(\n\t\t\t\t'children'\n\t\t\t)}`\n\t\t);\n\n\t\tdeprecatedProperty(\n\t\t\tCOMPONENT,\n\t\t\tprops.strValue,\n\t\t\t'strValue',\n\t\t\t'formattedValue',\n\t\t\tcreateDocUrl('formattedValue')\n\t\t);\n\n\t\tdeprecatedProperty(\n\t\t\tCOMPONENT,\n\t\t\tprops.isInline,\n\t\t\t'isInline',\n\t\t\t'menuPosition=\"relative\"',\n\t\t\tcreateDocUrl('menuPosition')\n\t\t);\n\t};\n}\n\nexport default checkProps;\n","/* eslint-disable max-lines */\n/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\nimport assign from 'lodash.assign';\n\n// ### classNames\n// [github.com/JedWatson/classnames](https://github.com/JedWatson/classnames)\n// This project uses `classnames`, \"a simple javascript utility for conditionally\n// joining classNames together.\"\nimport classNames from 'classnames';\n\n// ### shortid\n// [npmjs.com/package/shortid](https://www.npmjs.com/package/shortid)\n// shortid is a short, non-sequential, url-friendly, unique id generator\nimport shortid from 'shortid';\n\nimport Dialog from '../utilities/dialog';\nimport CalendarWrapper from './private/calendar-wrapper';\nimport InputIcon from '../icon/input-icon';\nimport Input from '../input';\n\n// This component's `checkProps` which issues warnings to developers about properties\n// when in development mode (similar to React's built in development tools)\nimport checkProps from './check-props';\nimport componentDoc from './component.json';\n\nimport EventUtil from '../../utilities/event';\nimport KEYS from '../../utilities/key-code';\nimport lowPriorityWarning from '../../utilities/warning/low-priority-warning';\n\nimport { DATE_PICKER } from '../../utilities/constants';\n\nconst propTypes = {\n\t/**\n\t * **Assistive text for accessibility**\n\t * This object is merged with the default props object on every render.\n\t * * `nextMonth`: Label for button to go to the next month _Tested with snapshot testing._\n\t * * `openCalendar`: Call to action label for calendar dialog trigger _Tested with snapshot testing._\n\t * * `previousMonth`: Label for button to go to the previous month _Tested with snapshot testing._\n\t */\n\tassistiveText: PropTypes.shape({\n\t\tnextMonth: PropTypes.string,\n\t\topenCalendar: PropTypes.string,\n\t\tpreviousMonth: PropTypes.string,\n\t\tyear: PropTypes.string,\n\t}),\n\t/**\n\t * Aligns the right or left side of the menu with the respective side of the trigger. _Tested with snapshot testing._\n\t */\n\talign: PropTypes.oneOf(['left', 'right']),\n\t/**\n\t * CSS classes to be added to tag with `slds-datepicker`. If you are looking for the outer DOM node (slds-dropdown-trigger), please review `triggerClassName`. _Tested with snapshot testing._\n\t */\n\tclassName: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\t/**\n\t * Disable input and calendar. _Tested with Mocha framework._\n\t */\n\tdisabled: PropTypes.bool,\n\t/**\n\t * This function callback receives a data object with a key of `date`. Write your own validation and return `true` if the date should be disabled, otherwise please return `false`. The value of `date` is the day rendered in the calendar with the current local time and timezone.\n\t */\n\tdateDisabled: PropTypes.func,\n\t/**\n\t * Date formatting function that formats the `value` prop (`value` is an ECMAScript `Date()` object) and returns a string to be rendered as the `input` value. Please use an external library such as [MomentJS](https://github.com/moment/moment/) for date formatting and internationalization. _Tested with snapshot testing._\n\t * The default `formatter` function is:\n\t * ```\n\t * formatter(date) {\n\t * return date\n\t * ? `${date.getMonth() + 1}/${date.getDate()}/${date.getFullYear()}`\n\t * : '';\n\t * }\n\t * ```\n\t */\n\tformatter: PropTypes.func,\n\t/**\n\t * Value of input that gets passed to `parser` prop on initial render. This prop is only present for uncontrolled use of Datepicker which is _highly discouraged_. A better name for this prop would be `defaultFormatedValue`. Please use the `value` prop instead. _Not tested._\n\t */\n\tformattedValue: PropTypes.string,\n\t/**\n\t * Prevents the dropdown from changing position based on the viewport/window. If set to true your dropdowns can extend outside the viewport _and_ overflow outside of a scrolling parent. If this happens, you might want to consider making the dropdowns contents scrollable to fit the menu on the screen. `hasStaticAlignment` disables this behavior and allows this component to extend beyond boundary elements. _Not tested._\n\t */\n\thasStaticAlignment: PropTypes.bool,\n\t/**\n\t * HTML id for component _Tested with snapshot testing._\n\t */\n\tid: PropTypes.string,\n\t/**\n\t * **Text labels for internationalization**\n\t * This object is merged with the default props object on every render.\n\t * * `abbreviatedWeekDays`: Three letter abbreviations of the days of the week, starting on Sunday. _Tested with snapshot testing._\n\t * * `months`: Names of the months. _Tested with snapshot testing._\n\t * * `label`: This label appears above the input.\n\t * * `placeholder`: Placeholder text for input. _Tested with snapshot testing._\n\t * * `today`: Label of shortcut to jump to today within the calendar. This is also used for assistive text on today's date. _Tested with snapshot testing._\n\t * * `weekDays`: Full names of the seven days of the week, starting on Sunday. _Tested with snapshot testing._\n\t */\n\tlabels: PropTypes.shape({\n\t\tabbreviatedWeekDays: PropTypes.array,\n\t\tlabel: PropTypes.string,\n\t\tmonths: PropTypes.array,\n\t\tplaceholder: PropTypes.string,\n\t\ttoday: PropTypes.string,\n\t\tweekDays: PropTypes.array,\n\t}),\n\t/**\n\t * An [Input](http://react.lightningdesignsystem.com/components/inputs/) component. The props from this `Input` component will be merged and override any default props. See [Component composition with prop spread](https://github.com/salesforce/design-system-react/blob/master/docs/codebase-overview.md#component-composition-with-prop-spread) for more information on this methodology.\n\t */\n\tinput: PropTypes.node,\n\t/**\n\t * Forces the dropdown to be open or closed. See controlled/uncontrolled callback/prop pattern for more on suggested use view [Concepts and Best Practices](https://github.com/salesforce-ux/design-system-react/blob/master/CONTRIBUTING.md#concepts-and-best-practices)\n\t */\n\tisOpen: PropTypes.bool,\n\t/**\n\t * Makes Monday the first day of the week. _Tested with snapshot testing._\n\t */\n\tisIsoWeekday: PropTypes.bool,\n\t/**\n\t * Please select one of the following:\n\t * * `absolute` - (default) The dialog will use `position: absolute` and style attributes to position itself. This allows inverted placement or flipping of the dialog.\n\t * * `overflowBoundaryElement` - The dialog will overflow scrolling parents. Use on elements that are aligned to the left or right of their target and don't care about the target being within a scrolling parent. Typically this is a popover or tooltip. Dropdown menus can usually open up and down if no room exists. In order to achieve this a portal element will be created and attached to `body`. This element will render into that detached render tree.\n\t * * `relative` - No styling or portals will be used. Menus will be positioned relative to their triggers. This is a great choice for HTML snapshot testing.\n\t */\n\tmenuPosition: PropTypes.oneOf([\n\t\t'absolute',\n\t\t'overflowBoundaryElement',\n\t\t'relative',\n\t]),\n\t/**\n\t * Triggered when the user wants to focus on a new day with the keyboard. If the target node is a day it will return the keyboard event a data object with the shape: `{date: [Date object]}`. Event will be `null` when new month is re-rendered. _Tested with Mocha framework._\n\t */\n\tonCalendarFocus: PropTypes.func,\n\t/**\n\t * Triggered when the date changes. `onChange` can be used for form validation if needed. It receives an event and a data object in the shape: `{date: [Date object], formattedDate: [string], timezoneOffset: [number]}`. `data.date` is Coordinated Universal Time (UTC), but the days of the calendar are in local time of the user. The `timezoneOffset` is the difference, in minutes, between UTC and the local time. Please note that this means that the offset is positive if the local timezone is behind UTC and negative if it is ahead. `timezoneOffset` is in minutes, for hours divide by `60`. _Tested with Mocha framework._\n\t */\n\tonChange: PropTypes.func,\n\t/**\n\t * Triggered when the calendar is closed. _Tested with Mocha framework._\n\t */\n\tonClose: PropTypes.func,\n\t/**\n\t * Triggered when the calendar has opened. _Tested with Mocha framework._\n\t */\n\tonOpen: PropTypes.func,\n\t/**\n\t * Function called when the calendar dialog would like hide. This will turn the calendar dialog into into a controlled component. Please use with `isOpen`. _Tested with Mocha framework._\n\t */\n\tonRequestClose: PropTypes.func,\n\t/**\n\t * Function called when the calendar dialog would like show. This will turn the calendar dialog into into a controlled component. Please use with `isOpen`. _Tested with Mocha framework._\n\t */\n\tonRequestOpen: PropTypes.func,\n\t/**\n\t * Custom function to parse date string from the `input` value, which must return an ECMAScript `Date()` object. Please use an external library such as [MomentJS](https://github.com/moment/moment/) for date parsing and internationalization. The default `parser` passes the input value to ECMAScript `Date()` and _prays_ for a miracle. **Do not use the default parsing function in production.** _Tested with snapshot testing._\n\t * The default `parser function is:\n\t * ```\n\t * parser(str) {\n\t * return new Date(str);\n\t * }\n\t * ```\n\t */\n\tparser: PropTypes.func,\n\t/**\n\t * Offset of year from current year that can be selected in the year selection dropdown. (2017 - 5 = 2012). _Tested with snapshot testing._\n\t */\n\trelativeYearFrom: PropTypes.number,\n\t/**\n\t * Offset of year from current year that can be selected in the year selection dropdown. (2017 + 5 = 2012). _Tested with snapshot testing._\n\t */\n\trelativeYearTo: PropTypes.number,\n\t/**\n\t * CSS classes to be added to tag with `slds-datepicker-trigger`. This is typically a wrapping `div` around the input. _Tested with snapshot testing._\n\t */\n\ttriggerClassName: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\t/**\n\t * Sets date with a `Date` ECMAScript object. _Tested with snapshot testing._\n\t */\n\tvalue: PropTypes.instanceOf(Date),\n};\n\nconst defaultProps = {\n\talign: 'left',\n\tassistiveText: {\n\t\tnextMonth: 'Next month',\n\t\topenCalendar: 'Open Calendar',\n\t\tpreviousMonth: 'Previous month',\n\t\tyear: 'Year',\n\t},\n\tformatter(date) {\n\t\treturn date\n\t\t\t? `${date.getMonth() + 1}/${date.getDate()}/${date.getFullYear()}`\n\t\t\t: '';\n\t},\n\tlabels: {\n\t\tabbreviatedWeekDays: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'],\n\t\tmonths: [\n\t\t\t'January',\n\t\t\t'February',\n\t\t\t'March',\n\t\t\t'April',\n\t\t\t'May',\n\t\t\t'June',\n\t\t\t'July',\n\t\t\t'August',\n\t\t\t'September',\n\t\t\t'October',\n\t\t\t'November',\n\t\t\t'December',\n\t\t],\n\t\tplaceholder: 'Pick a Date',\n\t\ttoday: 'Today',\n\t\tweekDays: [\n\t\t\t'Sunday',\n\t\t\t'Monday',\n\t\t\t'Tuesday',\n\t\t\t'Wednesday',\n\t\t\t'Thursday',\n\t\t\t'Friday',\n\t\t\t'Saturday',\n\t\t],\n\t},\n\tmenuPosition: 'absolute',\n\tparser(str) {\n\t\tlowPriorityWarning(\n\t\t\tfalse,\n\t\t\t`Please use an external library for date parsing and internationalization like MomentJS (https://github.com/moment/moment/) instead of the default parser.`\n\t\t);\n\t\treturn new Date(str);\n\t},\n\trelativeYearFrom: -10,\n\trelativeYearTo: 10,\n\tdateDisabled: () => false,\n};\n\n/**\n * A date picker is a non-text input form element. You can select a single date from a popup calendar. Please use an external library such as [MomentJS](https://github.com/moment/moment/) for date formatting and parsing and internationalization. You will want to use your date library within the `parser` and `formatter` callbacks.\n *\n * The calendar is rendered with time/dates based on local browser time of the client browser. All dates are in the local user's timezones and time. Another way to put it is if a user selects a date, they are actually selecting midnight in their current time on their current day and not mightnight in UTC. If `Datepicker` is paired with a time and timezone input, you may want to convert dates provided by this component to UTC and then combine the date with your time and timezone input.\n *\n * Pairing with any other component besides an `input` is untested.\n *\n * This component is wrapped in a [higher order component to listen for clicks outside itself](https://github.com/kentor/react-click-outside) and thus requires use of `ReactDOM`.\n */\nclass Datepicker extends React.Component {\n\tconstructor(props) {\n\t\tsuper(props);\n\t\t// Please remove `strValue` on the next breaking change.\n\t\tconst formattedValue = props.formattedValue || props.strValue; // eslint-disable-line react/prop-types\n\t\tconst dateString = props.formatter(props.value);\n\t\tconst initDate = props.value ? dateString : formattedValue;\n\n\t\tthis.state = {\n\t\t\tisOpen: false,\n\t\t\tisOpenFromIcon: false,\n\t\t\tvalue: props.value,\n\t\t\tformattedValue: initDate || '',\n\t\t\tinputValue: initDate || '',\n\t\t};\n\n\t\tthis.generatedId = shortid.generate();\n\n\t\t// `checkProps` issues warnings to developers about properties (similar to React's built in development tools)\n\t\tcheckProps(DATE_PICKER, props, componentDoc);\n\t}\n\n\tgetDatePicker = ({ labels, assistiveText }) => {\n\t\tlet date;\n\t\t// Use props if present. Otherwise, use state.\n\t\tif (this.props.value) {\n\t\t\tdate = this.props.formatter(this.props.value)\n\t\t\t\t? this.parseDate(this.props.formatter(this.props.value))\n\t\t\t\t: this.props.value;\n\t\t} else {\n\t\t\tdate = this.state.formattedValue\n\t\t\t\t? this.parseDate(this.state.formattedValue)\n\t\t\t\t: this.state.value;\n\t\t}\n\n\t\treturn (\n\t\t\t<CalendarWrapper\n\t\t\t\t// Please remove `abbrWeekDayLabels` on the next breaking change.\n\t\t\t\tabbreviatedWeekDayLabels={\n\t\t\t\t\tthis.props.abbreviatedWeekDayLabels || // eslint-disable-line react/prop-types\n\t\t\t\t\tthis.props.abbrWeekDayLabels || // eslint-disable-line react/prop-types\n\t\t\t\t\tlabels.abbreviatedWeekDays\n\t\t\t\t}\n\t\t\t\t/* Remove || for assistiveText at next breaking change */\n\t\t\t\tassistiveTextNextMonth={\n\t\t\t\t\tthis.props.assistiveTextNextMonth || assistiveText.nextMonth // eslint-disable-line react/prop-types\n\t\t\t\t}\n\t\t\t\tassistiveTextPreviousMonth={\n\t\t\t\t\tthis.props.assistiveTextPreviousMonth || assistiveText.previousMonth // eslint-disable-line react/prop-types\n\t\t\t\t}\n\t\t\t\tassistiveTextYear={assistiveText.year}\n\t\t\t\tcanFocusCalendar={this.state.isOpenFromIcon}\n\t\t\t\tid={this.getId()}\n\t\t\t\tisIsoWeekday={this.props.isIsoWeekday}\n\t\t\t\tmonthLabels={\n\t\t\t\t\tthis.props.monthLabels || labels.months // eslint-disable-line react/prop-types\n\t\t\t\t}\n\t\t\t\tonCalendarFocus={this.props.onCalendarFocus}\n\t\t\t\tdateDisabled={this.props.dateDisabled}\n\t\t\t\tonRequestClose={this.handleRequestClose}\n\t\t\t\tonSelectDate={this.handleCalendarChange}\n\t\t\t\trelativeYearFrom={this.props.relativeYearFrom}\n\t\t\t\trelativeYearTo={this.props.relativeYearTo}\n\t\t\t\tselectedDate={date || new Date()}\n\t\t\t\tselectedDateRef={(component) => {\n\t\t\t\t\tthis.selectedDateCell = component;\n\t\t\t\t}}\n\t\t\t\ttodayLabel={\n\t\t\t\t\tthis.props.todayLabel || labels.today // eslint-disable-line react/prop-types\n\t\t\t\t}\n\t\t\t\tweekDayLabels={\n\t\t\t\t\tthis.props.weekDayLabels || labels.weekDays // eslint-disable-line react/prop-types\n\t\t\t\t}\n\t\t\t/>\n\t\t);\n\t};\n\n\tgetDialog = ({ labels, assistiveText }) => {\n\t\t// FOR BACKWARDS COMPATIBILITY\n\t\tconst menuPosition = this.props.isInline\n\t\t\t? 'relative'\n\t\t\t: this.props.menuPosition; // eslint-disable-line react/prop-types\n\n\t\t// SLDS override\n\t\tconst style =\n\t\t\tthis.props.menuPosition !== 'relative' ? { transform: 'none' } : {};\n\n\t\treturn !this.props.disabled && this.getIsOpen() ? (\n\t\t\t<Dialog\n\t\t\t\talign={`bottom ${this.props.align}`}\n\t\t\t\tcontentsClassName={classNames(\n\t\t\t\t\t'slds-datepicker slds-dropdown',\n\t\t\t\t\t{\n\t\t\t\t\t\t'slds-dropdown_right':\n\t\t\t\t\t\t\tthis.props.menuPosition === 'relative' &&\n\t\t\t\t\t\t\tthis.props.align === 'right',\n\t\t\t\t\t\t'slds-dropdown_left':\n\t\t\t\t\t\t\tthis.props.menuPosition === 'relative' &&\n\t\t\t\t\t\t\tthis.props.align === 'left',\n\t\t\t\t\t},\n\t\t\t\t\tthis.props.className\n\t\t\t\t)}\n\t\t\t\tcontext={this.context}\n\t\t\t\thasStaticAlignment={this.props.hasStaticAlignment}\n\t\t\t\tstyle={style}\n\t\t\t\tonClose={this.handleClose}\n\t\t\t\tonOpen={this.handleOpen}\n\t\t\t\tonRequestTargetElement={() => this.inputRef}\n\t\t\t\tposition={menuPosition}\n\t\t\t\tportalMount={this.props.portalMount}\n\t\t\t>\n\t\t\t\t{this.getDatePicker({ labels, assistiveText })}\n\t\t\t</Dialog>\n\t\t) : null;\n\t};\n\n\tgetId = () => this.props.id || this.generatedId;\n\n\tgetIsOpen = () =>\n\t\t!!(typeof this.props.isOpen === 'boolean'\n\t\t\t? this.props.isOpen\n\t\t\t: this.state.isOpen);\n\n\tgetInputProps = ({ assistiveText, labels }) => {\n\t\t/**\n\t\t * 1. DEFAULT: Use default props or state if present.\n\t\t * 2. DEPRECATED API: Use old \"first-level\" props that have been deprecated.\n\t\t * 3. DEPRECATED API: If `children` is present, use props from single child which should be an `<Input/>`\n\t\t * 4. CURRENT API: Use composition with props spread merge from `input` prop.\n\t\t * */\n\n\t\tconst defaultInputProps = {\n\t\t\ticonRight: (\n\t\t\t\t<InputIcon\n\t\t\t\t\t// Remove || for assistiveText at next breaking change\n\t\t\t\t\tassistiveText={{\n\t\t\t\t\t\ticon:\n\t\t\t\t\t\t\tthis.props.assistiveTextOpenCalendar ||\n\t\t\t\t\t\t\tassistiveText.openCalendar, // eslint-disable-line react/prop-types\n\t\t\t\t\t}}\n\t\t\t\t\taria-haspopup\n\t\t\t\t\taria-expanded={this.getIsOpen()}\n\t\t\t\t\tcategory=\"utility\"\n\t\t\t\t\tname=\"event\"\n\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\tthis.openDialogFromIcon();\n\t\t\t\t\t}}\n\t\t\t\t\ttype=\"button\"\n\t\t\t\t/>\n\t\t\t),\n\t\t\tinputRef: (component) => {\n\t\t\t\tthis.setInputRef(component);\n\t\t\t},\n\t\t\tid: this.getId(),\n\t\t\tonChange: this.handleInputChange,\n\t\t\tonClick: () => {\n\t\t\t\tthis.openDialog();\n\t\t\t},\n\t\t\tonKeyDown: this.handleKeyDown,\n\t\t\tvalue: this.props.value\n\t\t\t\t? this.props.formatter(this.props.value)\n\t\t\t\t: this.state.inputValue,\n\t\t};\n\n\t\t// eslint-disable react/prop-types\n\t\tconst topLevelDeprecatedComponentProps = {\n\t\t\tdisabled: this.props.disabled,\n\t\t\tlabel: this.props.label || labels.label,\n\t\t\tonBlur: this.props.onBlur,\n\t\t\tonFocus: this.props.onFocus,\n\t\t\tplaceholder: this.props.placeholder || labels.placeholder,\n\t\t\trequired: this.props.required,\n\t\t};\n\t\t// eslint-enable react/prop-types\n\n\t\tconst childrenProps = this.props.children && this.props.children.props;\n\t\tconst childrenPropInputProps = {\n\t\t\t...childrenProps,\n\t\t\tonClick: () => {\n\t\t\t\tthis.openDialog();\n\t\t\t\tif (childrenProps && childrenProps.onClick) {\n\t\t\t\t\tchildrenProps.onClick();\n\t\t\t\t}\n\t\t\t},\n\t\t};\n\n\t\tconst inputRenderProps = this.props.input && this.props.input.props;\n\n\t\treturn {\n\t\t\t...defaultInputProps,\n\t\t\t...topLevelDeprecatedComponentProps,\n\t\t\t...childrenPropInputProps,\n\t\t\t...inputRenderProps,\n\t\t};\n\t};\n\n\tsetInputRef = (component) => {\n\t\tthis.inputRef = component;\n\t\t// yes, this is a re-render triggered by a render.\n\t\t// Dialog/Popper.js cannot place the popover until\n\t\t// the trigger/target DOM node is mounted. This\n\t\t// way `findDOMNode` is not called and parent\n\t\t// DOM nodes are not queried.\n\t\tif (!this.state.inputRendered) {\n\t\t\tthis.setState({ inputRendered: true });\n\t\t}\n\t};\n\n\thandleCalendarChange = (event, { date }) => {\n\t\tif (!this.props.value) {\n\t\t\tthis.setState({\n\t\t\t\tvalue: date,\n\t\t\t\tformattedValue: this.props.formatter(date),\n\t\t\t\tinputValue: this.props.formatter(date),\n\t\t\t});\n\t\t}\n\n\t\tthis.handleRequestClose();\n\n\t\tif (this.props.onChange) {\n\t\t\tthis.props.onChange(event, {\n\t\t\t\tdate,\n\t\t\t\tformattedDate: this.props.formatter(date),\n\t\t\t\ttimezoneOffset: date.getTimezoneOffset(),\n\t\t\t});\n\t\t}\n\n\t\t// Please remove `onDateChange` on the next breaking change.\n\t\t/* eslint-disable react/prop-types */\n\t\tif (this.props.onDateChange) {\n\t\t\tthis.props.onDateChange(date, this.props.formatter(date));\n\t\t}\n\t\t/* eslint-enable react/prop-types */\n\t};\n\n\thandleClickOutside = () => {\n\t\tthis.handleRequestClose();\n\t};\n\n\thandleClose = () => {\n\t\tif (this.props.onClose) {\n\t\t\tthis.props.onClose();\n\t\t}\n\t};\n\n\thandleInputChange = (event) => {\n\t\t// Typing in the input closes the calendar when it's used as an uncontrolled component\n\t\tif (typeof this.props.isOpen !== 'boolean' && this.state.isOpen) {\n\t\t\tthis.setState({ isOpen: false });\n\t\t}\n\n\t\tthis.setState({\n\t\t\tformattedValue: event.target.value,\n\t\t\tinputValue: event.target.value,\n\t\t});\n\n\t\tconst date = this.props.parser(event.target.value);\n\n\t\tif (this.props.onChange) {\n\t\t\tthis.props.onChange(event, {\n\t\t\t\tdate,\n\t\t\t\tformattedDate: event.target.value,\n\t\t\t\ttimezoneOffset: date.getTimezoneOffset(),\n\t\t\t});\n\t\t}\n\t};\n\n\thandleKeyDown = (event) => {\n\t\t// Don't open if user is selecting text\n\t\tif (\n\t\t\tevent.keyCode &&\n\t\t\t!event.shiftKey &&\n\t\t\t(event.keyCode === KEYS.DOWN || event.keyCode === KEYS.UP)\n\t\t) {\n\t\t\tEventUtil.trapEvent(event);\n\t\t\tthis.setState({ isOpen: true });\n\t\t}\n\n\t\tif (event.keyCode === KEYS.ESCAPE || event.keyCode === KEYS.ENTER) {\n\t\t\tEventUtil.trapEvent(event);\n\t\t\tthis.setState({ isOpen: false });\n\t\t}\n\n\t\t// Please remove `onKeyDown` on the next breaking change.\n\t\t/* eslint-disable react/prop-types */\n\t\tif (this.props.onKeyDown) {\n\t\t\tthis.props.onKeyDown(event, {});\n\t\t}\n\t\t/* eslint-enable react/prop-types */\n\t};\n\n\thandleOpen = (event, { portal }) => {\n\t\tif (this.props.onOpen) {\n\t\t\tthis.props.onOpen(event, { portal });\n\t\t}\n\n\t\tif (this.selectedDateCell && this.state.isOpenFromIcon) {\n\t\t\tthis.selectedDateCell.focus();\n\t\t}\n\t};\n\n\thandleRequestClose = () => {\n\t\tif (this.props.onRequestClose) {\n\t\t\tthis.props.onRequestClose();\n\t\t}\n\n\t\tif (this.getIsOpen()) {\n\t\t\tthis.setState({ isOpen: false, isOpenFromIcon: false });\n\n\t\t\tif (this.inputRef) {\n\t\t\t\tthis.inputRef.focus();\n\t\t\t}\n\t\t}\n\t};\n\n\topenDialogFromIcon = () => {\n\t\tthis.setState({ isOpenFromIcon: true });\n\t\tthis.openDialog(true);\n\t};\n\n\topenDialog = (isRequestFromIcon = false) => {\n\t\tif (!isRequestFromIcon) {\n\t\t\tthis.setState({ isOpenFromIcon: false });\n\t\t}\n\t\tif (this.props.onRequestOpen) {\n\t\t\tthis.props.onRequestOpen();\n\t\t} else {\n\t\t\tthis.setState({ isOpen: true });\n\t\t}\n\t};\n\n\tparseDate = (formattedValue) => {\n\t\tlet parsedDate = this.props.parser(formattedValue);\n\t\tif (\n\t\t\tObject.prototype.toString.call(parsedDate) !== '[object Date]' ||\n\t\t\tisNaN(parsedDate.getTime())\n\t\t) {\n\t\t\tparsedDate = new Date();\n\t\t}\n\t\treturn parsedDate;\n\t};\n\n\trender() {\n\t\t// Merge objects of strings with their default object\n\t\tconst labels = assign({}, defaultProps.labels, this.props.labels);\n\t\tconst assistiveText = assign(\n\t\t\t{},\n\t\t\tdefaultProps.assistiveText,\n\t\t\tthis.props.assistiveText\n\t\t);\n\n\t\tconst inputProps = this.getInputProps({ assistiveText, labels });\n\n\t\t// `children` prop is a deprecated API. Future breaking change should limit Datepicker to only `Input` usage and not a random child node.\n\t\tconst inputToRender = this.props.children ? (\n\t\t\tReact.cloneElement(this.props.children, {\n\t\t\t\t...inputProps,\n\t\t\t})\n\t\t) : (\n\t\t\t<Input {...inputProps} />\n\t\t);\n\n\t\treturn (\n\t\t\t<div\n\t\t\t\tclassName={classNames(\n\t\t\t\t\t'slds-dropdown-trigger',\n\t\t\t\t\t'slds-dropdown-trigger_click',\n\t\t\t\t\t'ignore-react-onclickoutside',\n\t\t\t\t\t{\n\t\t\t\t\t\t'slds-is-open': this.getIsOpen(),\n\t\t\t\t\t},\n\t\t\t\t\tthis.props.triggerClassName\n\t\t\t\t)}\n\t\t\t>\n\t\t\t\t{inputToRender}\n\t\t\t\t{this.getDialog({ labels, assistiveText })}\n\t\t\t</div>\n\t\t);\n\t}\n}\n\nDatepicker.contextTypes = {\n\ticonPath: PropTypes.string,\n};\n\nDatepicker.displayName = DATE_PICKER;\nDatepicker.propTypes = propTypes;\nDatepicker.defaultProps = defaultProps;\n\nexport default Datepicker;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// ### onClickOutside\n// Listen for clicks that occur somewhere in the document, outside of the element itself\nimport onClickOutside from 'react-onclickoutside';\nimport Datepicker from './date-picker';\n\nexport default onClickOutside(Datepicker);\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// # Dynamic Icons Component\n\n// Implements the [Dynamic Icons design pattern](https://www.lightningdesignsystem.com/components/dynamic-icons/) in React.\n\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from '../../utilities/class-names';\n\nimport { DYNAMIC_ICON } from '../../utilities/constants';\n\n// PropTypes for the component\nconst propTypes = {\n\t/**\n\t * **Assistive text for accessibility**\n\t * * `label`: Used as a visually hidden label to describe the dynamic icon.\n\t */\n\tassistiveText: PropTypes.shape({\n\t\tlabel: PropTypes.string,\n\t}),\n\t/**\n\t * CSS class names to be added to the icon.\n\t */\n\tclassName: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\t/**\n\t * Pauses the icon animation if the value is true.\n\t */\n\tisPaused: PropTypes.bool,\n\t/**\n\t * Disables icon animation if set to true\n\t */\n\tisStatic: PropTypes.bool,\n\t/**\n\t * Polarity values for the 'score' variant. Defaults to 'positive'\n\t */\n\tscorePolarity: PropTypes.oneOf(['positive', 'negative']),\n\t/**\n\t * Range of strength values for the 'strength' variant. Defaults to '0'.\n\t */\n\tstrengthLevel: PropTypes.oneOf([\n\t\t'-3',\n\t\t'-2',\n\t\t'-1',\n\t\t'0',\n\t\t'1',\n\t\t'2',\n\t\t'3',\n\t\t-3,\n\t\t-2,\n\t\t-1,\n\t\t0,\n\t\t1,\n\t\t2,\n\t\t3,\n\t]),\n\t/**\n\t * HTML title attribute.\n\t */\n\ttitle: PropTypes.string.isRequired,\n\t/**\n\t * Signals direction for the 'trend' variant. The default value 'neutral' points to the east.\n\t */\n\ttrendDirection: PropTypes.oneOf(['down', 'up', 'neutral']),\n\t/**\n\t * Different types of dynamic icons. Possible variants:\n\t *\n\t * `ellie` - Displays a pulsing blue circle, which pulses and stops after one animation cycle.\n\t * `eq` - Displays an animated graph with three bars that rise and fall randomly.\n\t * `score` - Displays a green filled circle or a red unfilled circle.\n\t * `strength` - Displays three animated horizontal circles that are colored green or red.\n\t * `trend` - Displays animated arrows that point up, down, or straight.\n\t * `waffle` - Displays a 3x3 grid of dots that animates on hover.\n\t */\n\tvariant: PropTypes.oneOf([\n\t\t'ellie',\n\t\t'eq',\n\t\t'score',\n\t\t'strength',\n\t\t'trend',\n\t\t'typing',\n\t\t'waffle',\n\t]).isRequired,\n};\n\n/**\n * A set of delightful animated icons.\n */\nclass DynamicIcon extends React.Component {\n\tgetIconChildren() {\n\t\tlet children = [];\n\t\tlet defaultAssistiveText = this.props.title\n\t\t\t? this.props.title\n\t\t\t: `${this.props.variant\n\t\t\t\t\t.charAt(0)\n\t\t\t\t\t.toUpperCase()}${this.props.variant.slice(1)}`;\n\n\t\tif (this.props.variant === 'ellie') {\n\t\t\tchildren = [\n\t\t\t\t<svg viewBox=\"0 0 280 14\" aria-hidden=\"true\">\n\t\t\t\t\t<circle cx=\"7\" cy=\"7\" r=\"4\" />\n\t\t\t\t\t<circle cx=\"7\" cy=\"7\" r=\"3\" />\n\t\t\t\t\t<circle cx=\"21\" cy=\"7\" r=\"4\" />\n\t\t\t\t\t<circle cx=\"21\" cy=\"7\" r=\"3\" />\n\t\t\t\t\t<circle cx=\"35\" cy=\"7\" r=\"4\" />\n\t\t\t\t\t<circle cx=\"35\" cy=\"7\" r=\"3\" />\n\t\t\t\t\t<circle cx=\"49\" cy=\"7\" r=\"4\" />\n\t\t\t\t\t<circle cx=\"49\" cy=\"7\" r=\"3\" />\n\t\t\t\t\t<circle cx=\"63\" cy=\"7\" r=\"4\" />\n\t\t\t\t\t<circle cx=\"63\" cy=\"7\" r=\"3\" />\n\t\t\t\t\t<circle cx=\"77\" cy=\"7\" r=\"4\" />\n\t\t\t\t\t<circle cx=\"77\" cy=\"7\" r=\"3\" />\n\t\t\t\t\t<circle cx=\"91\" cy=\"7\" r=\"4\" />\n\t\t\t\t\t<circle cx=\"91\" cy=\"7\" r=\"3\" />\n\t\t\t\t\t<circle cx=\"105\" cy=\"7\" r=\"4\" />\n\t\t\t\t\t<circle cx=\"105\" cy=\"7\" r=\"3\" />\n\t\t\t\t\t<circle cx=\"119\" cy=\"7\" r=\"4\" />\n\t\t\t\t\t<circle cx=\"119\" cy=\"7\" r=\"3\" />\n\t\t\t\t\t<circle cx=\"133\" cy=\"7\" r=\"4\" />\n\t\t\t\t\t<circle cx=\"133\" cy=\"7\" r=\"3\" />\n\t\t\t\t\t<circle cx=\"147\" cy=\"7\" r=\"4\" />\n\t\t\t\t\t<circle cx=\"147\" cy=\"7\" r=\"3\" />\n\t\t\t\t\t<circle cx=\"161\" cy=\"7\" r=\"4\" />\n\t\t\t\t\t<circle cx=\"161\" cy=\"7\" r=\"3\" />\n\t\t\t\t\t<circle cx=\"175\" cy=\"7\" r=\"4\" />\n\t\t\t\t\t<circle cx=\"175\" cy=\"7\" r=\"3\" />\n\t\t\t\t\t<circle cx=\"189\" cy=\"7\" r=\"4\" />\n\t\t\t\t\t<circle cx=\"189\" cy=\"7\" r=\"3\" />\n\t\t\t\t\t<circle cx=\"203\" cy=\"7\" r=\"4\" />\n\t\t\t\t\t<circle cx=\"203\" cy=\"7\" r=\"3\" />\n\t\t\t\t\t<circle cx=\"217\" cy=\"7\" r=\"4\" />\n\t\t\t\t\t<circle cx=\"217\" cy=\"7\" r=\"3\" />\n\t\t\t\t\t<circle cx=\"231\" cy=\"7\" r=\"4\" />\n\t\t\t\t\t<circle cx=\"231\" cy=\"7\" r=\"3\" />\n\t\t\t\t\t<circle cx=\"245\" cy=\"7\" r=\"4\" />\n\t\t\t\t\t<circle cx=\"245\" cy=\"7\" r=\"3\" />\n\t\t\t\t\t<circle cx=\"259\" cy=\"7\" r=\"4\" />\n\t\t\t\t\t<circle cx=\"259\" cy=\"7\" r=\"3\" />\n\t\t\t\t\t<circle cx=\"273\" cy=\"7\" r=\"4\" />\n\t\t\t\t\t<circle cx=\"273\" cy=\"7\" r=\"3\" />\n\t\t\t\t</svg>,\n\t\t\t];\n\t\t} else if (this.props.variant === 'eq') {\n\t\t\tchildren = [\n\t\t\t\t<div className=\"slds-icon-eq__bar\" />,\n\t\t\t\t<div className=\"slds-icon-eq__bar\" />,\n\t\t\t\t<div className=\"slds-icon-eq__bar\" />,\n\t\t\t];\n\t\t} else if (this.props.variant === 'score') {\n\t\t\tchildren = [\n\t\t\t\t<svg\n\t\t\t\t\tviewBox=\"0 0 5 5\"\n\t\t\t\t\tclassName=\"slds-icon-score__positive\"\n\t\t\t\t\taria-hidden=\"true\"\n\t\t\t\t>\n\t\t\t\t\t<circle cx=\"50%\" cy=\"50%\" r=\"1.875\" />\n\t\t\t\t</svg>,\n\t\t\t\t<svg\n\t\t\t\t\tviewBox=\"0 0 5 5\"\n\t\t\t\t\tclassName=\"slds-icon-score__negative\"\n\t\t\t\t\taria-hidden=\"true\"\n\t\t\t\t>\n\t\t\t\t\t<circle cx=\"50%\" cy=\"50%\" r=\"1.875\" />\n\t\t\t\t</svg>,\n\t\t\t];\n\t\t} else if (this.props.variant === 'strength') {\n\t\t\tchildren = [\n\t\t\t\t<svg viewBox=\"0 0 27 7\" aria-hidden=\"true\">\n\t\t\t\t\t<circle r=\"3.025\" cx=\"3.5\" cy=\"3.5\" />\n\t\t\t\t\t<circle r=\"3.025\" cx=\"13.5\" cy=\"3.5\" />\n\t\t\t\t\t<circle r=\"3.025\" cx=\"23.5\" cy=\"3.5\" />\n\t\t\t\t</svg>,\n\t\t\t];\n\t\t} else if (this.props.variant === 'trend') {\n\t\t\tchildren = [\n\t\t\t\t<svg viewBox=\"0 0 16 16\" aria-hidden=\"true\">\n\t\t\t\t\t<path\n\t\t\t\t\t\tclassName=\"slds-icon-trend__arrow\"\n\t\t\t\t\t\td=\"M.75 8H11M8 4.5L11.5 8 8 11.5\"\n\t\t\t\t\t/>\n\t\t\t\t\t<circle\n\t\t\t\t\t\tclassName=\"slds-icon-trend__circle\"\n\t\t\t\t\t\tcy=\"8\"\n\t\t\t\t\t\tcx=\"8\"\n\t\t\t\t\t\tr=\"7.375\"\n\t\t\t\t\t\ttransform=\"rotate(-28 8 8) scale(-1 1) translate(-16 0)\"\n\t\t\t\t\t/>\n\t\t\t\t</svg>,\n\t\t\t];\n\t\t} else if (this.props.variant === 'typing') {\n\t\t\tchildren = [\n\t\t\t\t<span className=\"slds-icon-typing__dot\" />,\n\t\t\t\t<span className=\"slds-icon-typing__dot\" />,\n\t\t\t\t<span className=\"slds-icon-typing__dot\" />,\n\t\t\t];\n\t\t\tif (!this.props.title) {\n\t\t\t\tdefaultAssistiveText = 'User is typing';\n\t\t\t}\n\t\t} else if (this.props.variant === 'waffle') {\n\t\t\tchildren = [\n\t\t\t\t<span className=\"slds-icon-waffle\">\n\t\t\t\t\t<span className=\"slds-r1\" />\n\t\t\t\t\t<span className=\"slds-r2\" />\n\t\t\t\t\t<span className=\"slds-r3\" />\n\t\t\t\t\t<span className=\"slds-r4\" />\n\t\t\t\t\t<span className=\"slds-r5\" />\n\t\t\t\t\t<span className=\"slds-r6\" />\n\t\t\t\t\t<span className=\"slds-r7\" />\n\t\t\t\t\t<span className=\"slds-r8\" />\n\t\t\t\t\t<span className=\"slds-r9\" />\n\t\t\t\t</span>,\n\t\t\t];\n\t\t\tif (!this.props.title) {\n\t\t\t\tdefaultAssistiveText = 'Open App Launcher';\n\t\t\t}\n\t\t}\n\n\t\t// eslint-disable-next-line fp/no-mutating-methods\n\t\tchildren.push(\n\t\t\t<span className=\"slds-assistive-text\">\n\t\t\t\t{this.props.assistiveText && this.props.assistiveText.label\n\t\t\t\t\t? this.props.assistiveText.label\n\t\t\t\t\t: defaultAssistiveText}\n\t\t\t</span>\n\t\t);\n\n\t\treturn children;\n\t}\n\n\trender() {\n\t\tconst children = this.getIconChildren();\n\t\tconst classes = [\n\t\t\t{\n\t\t\t\t'slds-is-animated': !this.props.isStatic,\n\t\t\t\t'slds-is-paused': this.props.isPaused,\n\t\t\t},\n\t\t];\n\t\tconst iconProps = {\n\t\t\ttitle: this.props.title,\n\t\t};\n\t\tlet element = 'span';\n\n\t\tif (this.props.variant === 'waffle') {\n\t\t\t// eslint-disable-next-line fp/no-mutating-methods\n\t\t\tclasses.unshift('slds-button', 'slds-icon-waffle_container');\n\t\t\telement = 'button';\n\t\t} else {\n\t\t\t// eslint-disable-next-line fp/no-mutating-methods\n\t\t\tclasses.unshift(`slds-icon-${this.props.variant}`);\n\n\t\t\tif (this.props.variant === 'eq') {\n\t\t\t\telement = 'div';\n\t\t\t} else if (this.props.variant === 'score') {\n\t\t\t\ticonProps['data-slds-state'] = this.props.scorePolarity\n\t\t\t\t\t? this.props.scorePolarity\n\t\t\t\t\t: 'positive';\n\t\t\t} else if (this.props.variant === 'strength') {\n\t\t\t\ticonProps['data-slds-strength'] =\n\t\t\t\t\tthis.props.strengthLevel !== undefined\n\t\t\t\t\t\t? `${this.props.strengthLevel}`\n\t\t\t\t\t\t: '0';\n\t\t\t} else if (this.props.variant === 'trend') {\n\t\t\t\ticonProps['data-slds-trend'] = this.props.trendDirection\n\t\t\t\t\t? this.props.trendDirection\n\t\t\t\t\t: 'neutral';\n\t\t\t}\n\t\t}\n\n\t\ticonProps.className = classNames(classes, this.props.className);\n\n\t\treturn React.createElement(element, iconProps, ...children);\n\t}\n}\n\nDynamicIcon.displayName = DYNAMIC_ICON;\nDynamicIcon.propTypes = propTypes;\n\nexport default DynamicIcon;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// # Edit Dialog Popver Component\n\n// ### React\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport assign from 'lodash.assign';\n\nimport { POPOVER_EDIT_DIALOG } from '../../utilities/constants';\n\nimport Button from '../button';\nimport Popover from './index';\n\nconst defaultProps = {\n\tlabels: {\n\t\tcancel: 'Cancel',\n\t\tsave: 'Save',\n\t},\n};\nclass EditDialog extends React.Component {\n\t// ### Display Name\n\t// Always use the canonical component name as the React display name.\n\tstatic displayName = POPOVER_EDIT_DIALOG;\n\n\t// ### Prop Types\n\tstatic propTypes = {\n\t\t/**\n\t\t * Disables the edit dialog and prevents clicking it.\n\t\t */\n\t\tdisabled: PropTypes.bool,\n\t\t/**\n\t\t * By default, a unique ID will be created at render to support keyboard navigation, ARIA roles, and connect the popover to the triggering button. This ID will be applied to the triggering element. `${id}-popover`, `${id}-dialog-heading`, `${id}-dialog-body` are also created.\n\t\t */\n\t\tid: PropTypes.string,\n\t\t/**\n\t\t * Set to true when inputs within the popover are modified.\n\t\t */\n\t\tisModified: PropTypes.bool,\n\t\t/**\n\t\t * **Text labels for internationalization**\n\t\t * This object is merged with the default props object on every render.\n\t\t * * `cancel`: text for Cancel button\n\t\t * * `save`: text for Save button\n\t\t *\n\t\t * _Tested with snapshot testing._\n\t\t */\n\t\tlabels: PropTypes.shape({\n\t\t\tcancel: PropTypes.oneOfType([PropTypes.string, PropTypes.node]),\n\t\t\tsave: PropTypes.oneOfType([PropTypes.string, PropTypes.node]),\n\t\t}),\n\t\t/**\n\t\t * This function is passed onto the cancel `Button`. Triggered when the trigger button is clicked.\n\t\t */\n\t\tonCancel: PropTypes.func,\n\t\t/**\n\t\t * This function is passed onto the save `Button`. Triggered when the trigger button is clicked.\n\t\t */\n\t\tonSave: PropTypes.func,\n\t\t/**\n\t\t * Popover of type `~/components/popover`. This popover will be cloned and additional props appended, if passed in.\n\t\t */\n\t\tpopover: PropTypes.node,\n\t};\n\n\thandleOpen = () => {\n\t\tthis.setState({ isOpen: true });\n\t};\n\n\thandleClose = () => {\n\t\tthis.setState({ isOpen: false });\n\t};\n\n\trender() {\n\t\tconst { onCancel, onSave, ...restProps } = this.props;\n\n\t\t// trigger button will either be passed in children or defaults to an edit button.\n\t\tconst children = this.props.children ? (\n\t\t\tthis.props.children\n\t\t) : (\n\t\t\t<Button\n\t\t\t\tassistiveText={{ icon: 'Edit: Status' }}\n\t\t\t\tclassName=\"slds-button_reset\"\n\t\t\t\tdisabled={this.props.disabled}\n\t\t\t\ticonCategory=\"utility\"\n\t\t\t\ticonClassName=\"slds-button__icon slds-button__icon_hint\"\n\t\t\t\ticonName=\"edit\"\n\t\t\t\tonClick={this.props.handleOpen}\n\t\t\t\tvariant=\"icon\"\n\t\t\t\tstyle={{ verticalAlign: 'middle' }}\n\t\t\t/>\n\t\t);\n\n\t\tconst labels = assign({}, defaultProps.labels, this.props.labels);\n\n\t\treturn (\n\t\t\t<Popover\n\t\t\t\tclassNameFooter={[\n\t\t\t\t\t'slds-p-top_xxx-small',\n\t\t\t\t\t'slds-p-bottom_xx-small',\n\t\t\t\t\t'slds-p-right_large',\n\t\t\t\t]}\n\t\t\t\tclassNameBody={['slds-p-bottom_xx-small']}\n\t\t\t\tfooter={\n\t\t\t\t\t<div className=\"slds-text-align_right slds-text-align_right slds-p-bottom_x-small slds-p-right_xx-small\">\n\t\t\t\t\t\t<Button label={labels.cancel} onClick={onCancel} />\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tdisabled={!this.props.isModified}\n\t\t\t\t\t\t\tvariant=\"brand\"\n\t\t\t\t\t\t\tlabel={labels.save}\n\t\t\t\t\t\t\tonClick={onSave}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</div>\n\t\t\t\t}\n\t\t\t\tfooterStyle={{ borderTop: '0px' }}\n\t\t\t\tonClose={this.handleClose}\n\t\t\t\tonRequestClose={this.handleClose}\n\t\t\t\tonOpen={this.handleOpen}\n\t\t\t\t{...restProps}\n\t\t\t>\n\t\t\t\t{children}\n\t\t\t</Popover>\n\t\t);\n\t}\n}\n\nEditDialog.defaultProps = defaultProps;\n\nexport default EditDialog;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// Implements the [Expression Group design pattern](https://lightningdesignsystem.com/components/expression/) in React.\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport assign from 'lodash.assign';\n\n// ### shortid\n// [npmjs.com/package/shortid](https://www.npmjs.com/package/shortid)\n// shortid is a short, non-sequential, url-friendly, unique id generator\nimport shortid from 'shortid';\n\nimport { EXPRESSION_GROUP } from '../../utilities/constants';\n\nimport Combobox from '../combobox';\nimport Button from '../button';\nimport Input from '../input';\n\nconst propTypes = {\n\t/**\n\t * **Assistive text for accessibility.**\n\t * * `label`: For users of assistive technology, assistive text for the expression group's label.\n\t * * `addCondition`: For users of assistive technology, assistive text for the Add Condition button's icon.\n\t * * `addGroup`: For users of assistive technology, assistive text for the Add Group button's icon.\n\t */\n\tassistiveText: PropTypes.shape({\n\t\tlabel: PropTypes.string,\n\t\taddCondition: PropTypes.string,\n\t\taddGroup: PropTypes.string,\n\t}),\n\t/**\n\t * HTML id for ExpressionGroup component.\n\t */\n\tid: PropTypes.string,\n\t/**\n\t * `ExpressionGroup` children, accepts `ExpressionCondition`. (Also accepts sub-`ExpressionGroup` if `isRoot`)\n\t */\n\tchildren: PropTypes.node,\n\t/**\n\t * CSS classes to be added to the element with class `.slds-expression__group`. Uses `classNames` [API](https://github.com/JedWatson/classnames).\n\t */\n\tclassName: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\t/**\n\t * Callbacks for various expression group events such as trigger change, add condition etc\n\t */\n\tevents: PropTypes.shape({\n\t\tonChangeTrigger: PropTypes.func,\n\t\tonChangeCustomLogicValue: PropTypes.func,\n\t\tonAddCondition: PropTypes.func,\n\t\tonAddGroup: PropTypes.func,\n\t}),\n\t/**\n\t * If set to true, the component will focus on the first focusable input upon mounting. This is useful for accessibility when adding new groups.\n\t */\n\tfocusOnMount: PropTypes.bool,\n\t/**\n\t * **Text labels for internationalization**\n\t * This object is merged with the default props object on every render.\n\t * * `addCondition`: Label for the Add Condition Button. Defaults to \"Add Condition\"\n\t * * `addGroup`: Label for the Add Group Button. Defaults to \"Add Group\"\n\t * * `customLogic`: Label for the text box for inputting `customLogicValue`, if the `triggerType` is `custom`. Defaults to \"Custom Logic\"\n\t * * `label`: Label for the expression group, to indicate condition connectors based on the parent's trigger-type chosen. Defaults to \"\"\n\t * * `takeAction`: Label for the `triggerType` selector. Defaults to \"Take Action When\"\n\t * * `triggerAll`: Label for the `all` value within the trigger selector\n\t * * `triggerAlways`: Label for the `always` value within the trigger selector\n\t * * `triggerAny`: Label for the `any` value within the trigger selector\n\t * * `triggerCustom`: Label for the `custom` value within the trigger selector\n\t * * `triggerFormula`: Label for the `formula` value within the trigger selector\n\t */\n\tlabels: PropTypes.shape({\n\t\taddCondition: PropTypes.string,\n\t\taddGroup: PropTypes.string,\n\t\tcustomLogic: PropTypes.string,\n\t\tlabel: PropTypes.string,\n\t\ttakeAction: PropTypes.string,\n\t\ttriggerAll: PropTypes.string,\n\t\ttriggerAlways: PropTypes.string,\n\t\ttriggerAny: PropTypes.string,\n\t\ttriggerCustom: PropTypes.string,\n\t\ttriggerFormula: PropTypes.string,\n\t}),\n\t/**\n\t * Whether the group is at root level\n\t */\n\tisRoot: PropTypes.bool,\n\t/**\n\t * Trigger type for the Group\n\t */\n\ttriggerType: PropTypes.oneOf(['all', 'any', 'custom', 'always', 'formula']),\n\t/**\n\t * Sets the input for the custom logic value input box, shown if the `triggerType` is set to `custom`.\n\t */\n\tcustomLogicValue: PropTypes.string,\n};\n\nconst defaultProps = {\n\ttriggerType: 'all',\n\tcustomLogicValue: '',\n\tlabels: {\n\t\tlabel: '',\n\t\ttakeAction: 'Take Action When',\n\t\tcustomLogic: 'Custom Logic',\n\t\taddCondition: 'Add Condition',\n\t\taddGroup: 'Add Group',\n\t\ttriggerAll: 'All Conditions Are Met',\n\t\ttriggerAny: 'Any Condition Is Met',\n\t\ttriggerCustom: 'Custom Logic Is Met',\n\t\ttriggerAlways: 'Always (No Criteria)',\n\t\ttriggerFormula: 'Formula Evaluates To True',\n\t},\n};\n\n/**\n * Expression Group Component\n */\nclass ExpressionGroup extends React.Component {\n\t/**\n\t * Return triggerType selected, processing the triggerType objects generated\n\t */\n\tstatic triggerChange(event, data) {\n\t\tconst selection = data.selection[0].id;\n\t\tlet trigger = '';\n\t\tif (selection === '1') {\n\t\t\ttrigger = 'all';\n\t\t} else if (selection === '2') {\n\t\t\ttrigger = 'any';\n\t\t} else if (selection === '3') {\n\t\t\ttrigger = 'custom';\n\t\t} else if (selection === '4') {\n\t\t\ttrigger = 'always';\n\t\t} else if (selection === '5') {\n\t\t\ttrigger = 'formula';\n\t\t}\n\t\treturn trigger;\n\t}\n\n\tconstructor(props) {\n\t\tsuper(props);\n\t\tthis.generatedId = shortid.generate();\n\t}\n\n\tcomponentDidMount() {\n\t\tif (this.props.focusOnMount && this.rootNode) {\n\t\t\tconst input = this.rootNode.querySelector('input');\n\t\t\tif (input) {\n\t\t\t\tinput.focus();\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Get the Expression Group's HTML id. Generate a new one if no ID present.\n\t */\n\tgetId() {\n\t\treturn this.props.id || this.generatedId;\n\t}\n\n\t/**\n\t * Generate and return trigger type objects, with labels either sent as props or using default props.\n\t */\n\tgetTriggers() {\n\t\tconst labels = assign({}, defaultProps.labels, this.props.labels);\n\t\treturn [\n\t\t\t{ id: '1', label: labels.triggerAll },\n\t\t\t{ id: '2', label: labels.triggerAny },\n\t\t\t{ id: '3', label: labels.triggerCustom },\n\t\t\t{ id: '4', label: labels.triggerAlways },\n\t\t\t{ id: '5', label: labels.triggerFormula },\n\t\t];\n\t}\n\n\t/**\n\t * Returns object of trigger from trigger passed as prop\n\t */\n\tgetTriggerSelection() {\n\t\tconst selection = this.props.triggerType;\n\t\tconst Triggers = this.getTriggers();\n\t\tconst t = [];\n\t\tif (selection === 'all') {\n\t\t\t// eslint-disable-next-line fp/no-mutating-methods\n\t\t\tt.push(Triggers[0]);\n\t\t} else if (selection === 'any') {\n\t\t\t// eslint-disable-next-line fp/no-mutating-methods\n\t\t\tt.push(Triggers[1]);\n\t\t} else if (selection === 'custom') {\n\t\t\t// eslint-disable-next-line fp/no-mutating-methods\n\t\t\tt.push(Triggers[2]);\n\t\t} else if (selection === 'always') {\n\t\t\t// eslint-disable-next-line fp/no-mutating-methods\n\t\t\tt.push(Triggers[3]);\n\t\t} else if (selection === 'formula') {\n\t\t\t// eslint-disable-next-line fp/no-mutating-methods\n\t\t\tt.push(Triggers[4]);\n\t\t}\n\t\treturn t;\n\t}\n\n\trender() {\n\t\tconst assistiveText = assign(\n\t\t\t{},\n\t\t\tdefaultProps.assistiveText,\n\t\t\tthis.props.assistiveText\n\t\t);\n\t\tconst labels = assign({}, defaultProps.labels, this.props.labels);\n\n\t\tconst triggerCombobox = (\n\t\t\t<Combobox\n\t\t\t\tevents={{\n\t\t\t\t\tonSelect: (event, data) =>\n\t\t\t\t\t\tthis.props.events.onChangeTrigger(event, {\n\t\t\t\t\t\t\ttriggerType: ExpressionGroup.triggerChange(event, data),\n\t\t\t\t\t\t}),\n\t\t\t\t}}\n\t\t\t\tid={`${this.getId()}-take-action-trigger`}\n\t\t\t\tmultiple={false}\n\t\t\t\toptions={this.getTriggers()}\n\t\t\t\tvariant=\"readonly\"\n\t\t\t\tlabels={{ label: labels.takeAction }}\n\t\t\t\tselection={this.getTriggerSelection()}\n\t\t\t/>\n\t\t);\n\n\t\tconst buttons =\n\t\t\tthis.props.triggerType !== 'always' &&\n\t\t\tthis.props.triggerType !== 'formula' ? (\n\t\t\t\t<div className=\"slds-expression__buttons\">\n\t\t\t\t\t<Button\n\t\t\t\t\t\ticonCategory=\"utility\"\n\t\t\t\t\t\ticonName=\"add\"\n\t\t\t\t\t\ticonPosition=\"left\"\n\t\t\t\t\t\tid={`${this.getId()}-add-condition-button`}\n\t\t\t\t\t\tlabel={labels.addCondition}\n\t\t\t\t\t\tassistiveText={{ icon: assistiveText.addCondition }}\n\t\t\t\t\t\tonClick={this.props.events.onAddCondition}\n\t\t\t\t\t/>\n\t\t\t\t\t{this.props.isRoot ? (\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\ticonCategory=\"utility\"\n\t\t\t\t\t\t\ticonName=\"add\"\n\t\t\t\t\t\t\ticonPosition=\"left\"\n\t\t\t\t\t\t\tid={`${this.getId()}-add-group-button`}\n\t\t\t\t\t\t\tlabel={labels.addGroup}\n\t\t\t\t\t\t\tassistiveText={{ icon: assistiveText.addGroup }}\n\t\t\t\t\t\t\tonClick={this.props.events.onAddGroup}\n\t\t\t\t\t\t/>\n\t\t\t\t\t) : null}\n\t\t\t\t</div>\n\t\t\t) : null;\n\n\t\tlet body = null;\n\n\t\tif (this.props.triggerType !== 'always') {\n\t\t\tif (this.props.isRoot && this.props.triggerType === 'formula') {\n\t\t\t\tbody = this.props.children;\n\t\t\t} else {\n\t\t\t\tbody = (\n\t\t\t\t\t<React.Fragment>\n\t\t\t\t\t\t{this.props.triggerType === 'custom' ? (\n\t\t\t\t\t\t\t<Input\n\t\t\t\t\t\t\t\tlabel={labels.customLogic}\n\t\t\t\t\t\t\t\tclassName=\"slds-expression__custom-logic\"\n\t\t\t\t\t\t\t\tid={`${this.getId()}-custom-logic-input`}\n\t\t\t\t\t\t\t\tvalue={this.props.customLogicValue}\n\t\t\t\t\t\t\t\tvariant=\"base\"\n\t\t\t\t\t\t\t\tonChange={this.props.events.onChangeCustomLogicValue}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) : null}\n\t\t\t\t\t\t<ul>{this.props.children}</ul>\n\t\t\t\t\t</React.Fragment>\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\n\t\tif (this.props.isRoot) {\n\t\t\tif (this.props.triggerType === 'formula') {\n\t\t\t\treturn (\n\t\t\t\t\t<React.Fragment>\n\t\t\t\t\t\t<div className=\"slds-expression__options\">{triggerCombobox}</div>\n\t\t\t\t\t\t{body}\n\t\t\t\t\t</React.Fragment>\n\t\t\t\t);\n\t\t\t}\n\n\t\t\treturn (\n\t\t\t\t<div className={classNames(this.props.className)} id={this.getId()}>\n\t\t\t\t\t<div className=\"slds-expression__options\">{triggerCombobox}</div>\n\t\t\t\t\t{body}\n\t\t\t\t\t{buttons}\n\t\t\t\t</div>\n\t\t\t);\n\t\t}\n\n\t\treturn (\n\t\t\t<li\n\t\t\t\tclassName={classNames('slds-expression__group', this.props.className)}\n\t\t\t\tid={this.getId()}\n\t\t\t\tref={(rootNode) => {\n\t\t\t\t\tthis.rootNode = rootNode;\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\t<fieldset>\n\t\t\t\t\t<legend className=\"slds-expression__legend slds-expression__legend_group\">\n\t\t\t\t\t\t<span>{labels.label}</span>\n\t\t\t\t\t\t<span className=\"slds-assistive-text\">{assistiveText.label}</span>\n\t\t\t\t\t</legend>\n\t\t\t\t\t<div className=\"slds-expression__options\">{triggerCombobox}</div>\n\t\t\t\t\t{body}\n\t\t\t\t\t{buttons}\n\t\t\t\t</fieldset>\n\t\t\t</li>\n\t\t);\n\t}\n}\n\nExpressionGroup.displayName = EXPRESSION_GROUP;\nExpressionGroup.propTypes = propTypes;\nExpressionGroup.defaultProps = defaultProps;\n\nexport default ExpressionGroup;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// Implements the [Expression design pattern](https://lightningdesignsystem.com/components/expression/) in React.\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\n\n// ### shortid\n// [npmjs.com/package/shortid](https://www.npmjs.com/package/shortid)\n// shortid is a short, non-sequential, url-friendly, unique id generator\nimport shortid from 'shortid';\nimport assign from 'lodash.assign';\nimport { EXPRESSION } from '../../utilities/constants';\nimport ExpressionGroup from './group';\n\nconst propTypes = {\n\t/**\n\t * HTML id for component.\n\t */\n\tid: PropTypes.string,\n\t/**\n\t * `Expression` children, accepts `ExpressionCondition` & `ExpressionGroup`\n\t */\n\tchildren: PropTypes.node,\n\t/**\n\t * Callbacks for various expression events such as trigger change, add group etc\n\t */\n\tevents: PropTypes.shape({\n\t\tonChangeTrigger: PropTypes.func,\n\t\tonAddGroup: PropTypes.func,\n\t\tonAddCondition: PropTypes.func,\n\t\tonChangeCustomLogicValue: PropTypes.func,\n\t}),\n\t/**\n\t * **Text labels for internationalization**\n\t * This object is merged with the default props object on every render.\n\t * * `addCondition`: Label for the Add Condition Button. Defaults to \"Add Condition\"\n\t * * `addGroup`: Label for the Add Group Button. Defaults to \"Add Group\"\n\t * * `customLogic`: Label for the text box for inputting `customLogicValue`, if the `triggerType` is `custom`. Defaults to \"Custom Logic\"\n\t * * `takeAction`: Label for the `triggerType` selector. Defaults to \"Take Action When\"\n\t * * `title` : Title for the Expression. Defaults to \"Conditions\"\n\t * * `triggerAll`: Label for the `all` value within the trigger selector\n\t * * `triggerAlways`: Label for the `always` value within the trigger selector\n\t * * `triggerAny`: Label for the `any` value within the trigger selector\n\t * * `triggerCustom`: Label for the `custom` value within the trigger selector\n\t * * `triggerFormula`: Label for the `formula` value within the trigger selector\n\t */\n\tlabels: PropTypes.shape({\n\t\taddCondition: PropTypes.string,\n\t\taddGroup: PropTypes.string,\n\t\tcustomLogic: PropTypes.string,\n\t\ttakeAction: PropTypes.string,\n\t\ttitle: PropTypes.string,\n\t\ttriggerAll: PropTypes.string,\n\t\ttriggerAlways: PropTypes.string,\n\t\ttriggerAny: PropTypes.string,\n\t\ttriggerCustom: PropTypes.string,\n\t\ttriggerFormula: PropTypes.string,\n\t}),\n\t/**\n\t * CSS classes to be added to the element with class `.slds-expression`. Uses `classNames` [API](https://github.com/JedWatson/classnames).\n\t */\n\tclassName: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\t/**\n\t * Sets the trigger type for the expression.\n\t */\n\ttriggerType: PropTypes.oneOf(['all', 'any', 'custom', 'always', 'formula']),\n\t/**\n\t * Sets the input for the custom logic value input box, shown if the `triggerType` is set to `custom`.\n\t */\n\tcustomLogicValue: PropTypes.string,\n};\n\nconst defaultProps = {\n\tlabels: {\n\t\ttitle: 'Conditions',\n\t},\n};\n\n/**\n * Expression builders help users declaratively construct logical expressions.\n * These expressions can be used when querying for a filtered set of records,\n * creating rules to control when something executes, or any other conditional logic.\n */\nclass Expression extends React.Component {\n\t// eslint-disable-next-line camelcase, react/sort-comp\n\tUNSAFE_componentWillMount() {\n\t\tthis.generatedId = shortid.generate();\n\t}\n\n\t/**\n\t * Get the Expression Group's HTML id. Generate a new one if no ID present.\n\t */\n\tgetId() {\n\t\treturn this.props.id || this.generatedId;\n\t}\n\n\trender() {\n\t\tconst labels = assign({}, defaultProps.labels, this.props.labels);\n\n\t\treturn (\n\t\t\t<div\n\t\t\t\tclassName={classNames('slds-expression', this.props.className)}\n\t\t\t\tid={this.getId()}\n\t\t\t>\n\t\t\t\t<h2 className=\"slds-expression__title\">{labels.title}</h2>\n\t\t\t\t<ExpressionGroup\n\t\t\t\t\tisRoot\n\t\t\t\t\tid={`${this.getId()}-group`}\n\t\t\t\t\tevents={this.props.events}\n\t\t\t\t\tlabels={labels}\n\t\t\t\t\tcustomLogicValue={this.props.customLogicValue}\n\t\t\t\t\ttriggerType={this.props.triggerType}\n\t\t\t\t>\n\t\t\t\t\t{this.props.children}\n\t\t\t\t</ExpressionGroup>\n\t\t\t</div>\n\t\t);\n\t}\n}\n\nExpression.displayName = EXPRESSION;\nExpression.propTypes = propTypes;\nExpression.defaultProps = defaultProps;\n\nexport default Expression;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// Implements the [Expression Condition design pattern](https://lightningdesignsystem.com/components/expression/) in React.\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport assign from 'lodash.assign';\n\n// ### shortid\n// [npmjs.com/package/shortid](https://www.npmjs.com/package/shortid)\n// shortid is a short, non-sequential, url-friendly, unique id generator\nimport shortid from 'shortid';\n\nimport { EXPRESSION_CONDITION } from '../../utilities/constants';\n\nimport Combobox from '../combobox';\nimport Input from '../input';\nimport Button from '../button';\n\nconst propTypes = {\n\t/**\n\t * **Assistive text for accessibility.**\n\t * * `title`: For users of assistive technology, title for the condition fieldset. Defaults to 'Condition'\n\t * * `deleteIcon`: For users of assistive technology, assistive text for the Delete Condition button's icon. Defaults to 'Delete Condition'\n\t */\n\tassistiveText: PropTypes.shape({\n\t\ttitle: PropTypes.string,\n\t\tdeleteIcon: PropTypes.string,\n\t}),\n\t/**\n\t * HTML id for component.\n\t */\n\tid: PropTypes.string,\n\t/**\n\t * CSS classes to be added to the element with class `.slds-expression__row`. Uses `classNames` [API](https://github.com/JedWatson/classnames).\n\t */\n\tclassName: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\t/**\n\t * Callbacks for various expression condition events such as value change, delete etc\n\t */\n\tevents: PropTypes.shape({\n\t\tonChangeResource: PropTypes.func,\n\t\tonChangeOperator: PropTypes.func,\n\t\tonChangeValue: PropTypes.func,\n\t\tonDelete: PropTypes.func,\n\t}).isRequired,\n\t/**\n\t * If set to true, the component will focus on the first focusable input upon mounting. This is useful for accessibility when adding new conditions.\n\t */\n\tfocusOnMount: PropTypes.bool,\n\t/**\n\t * **Text labels for internationalization**\n\t * This object is merged with the default props object on every\n\t * * `deleteCondition`: Title for the delete condition button. Defaults to \"Delete Condition\".\n\t * * `label`: Label for the condition, shown left-most in the row. Left empty on default.\n\t * * `operator`: Label for the operator selection dropdown. Defaults to \"Operator\"\n\t * * `resource`: Label for the resource selection dropdown. Defaults to \"Resource\"\n\t * * `value`: Label for the value input box. Defaults to \"Value\"\n\t */\n\tlabels: PropTypes.shape({\n\t\tdeleteCondition: PropTypes.string,\n\t\tlabel: PropTypes.string,\n\t\toperator: PropTypes.string,\n\t\tresource: PropTypes.string,\n\t\tvalue: PropTypes.string,\n\t}),\n\t/**\n\t * Controls whether the condition is a sub-condition inside a ExpressionGroup\n\t */\n\tisSubCondition: PropTypes.bool,\n\t/**\n\t * **Array of item objects that are options in the resource selection dropdown menu.**\n\t * Each object can contain:\n\t * * `id`: A unique identifier string.\n\t * * `label`: A primary string of text for a menu item.\n\t * ```\n\t * {\n\t * \tid: '1',\n\t * \tlabel: 'Resource 1',\n\t * },\n\t * ```\n\t * Note: The dropdown uses the Combobox Component, and `resourcesList` is\n\t * passed as `options` props to it, and hence shall also support more\n\t * custom objects. Please refer to the Combobox documentation.\n\t */\n\tresourcesList: PropTypes.arrayOf(PropTypes.object),\n\t/**\n\t * Accepts an object from the `resourcesList` which needs to be selected\n\t * for the resource dropdown menu,\n\t */\n\tresourceSelected: PropTypes.object,\n\t/**\n\t * **Array of item objects that are options in the operator selection dropdown menu.**\n\t * Each object can contain:\n\t * * `id`: A unique identifier string.\n\t * * `label`: A primary string of text for a menu item.\n\t * ```\n\t * {\n\t * \tid: '1',\n\t * \tlabel: 'Operator 1',\n\t * },\n\t * ```\n\t * Note: The dropdown uses the Combobox Component, and `operatorList` is\n\t * passed as `options` props to it, and hence shall also support more\n\t * custom objects. Please refer to the Combobox documentation.\n\t */\n\toperatorsList: PropTypes.arrayOf(PropTypes.object),\n\t/**\n\t * Accepts an object from the `operatorSelected` which needs to be selected\n\t * for the operator dropdown menu,\n\t */\n\toperatorSelected: PropTypes.object,\n\t/**\n\t * Sets the input value for the Value input field.\n\t */\n\tvalue: PropTypes.string,\n};\n\nconst defaultProps = {\n\tassistiveText: {\n\t\ttitle: 'Condition',\n\t\tdeleteIcon: 'Delete Condition',\n\t},\n\tlabels: {\n\t\tlabel: '',\n\t\toperator: 'Operator',\n\t\tresource: 'Resource',\n\t\tvalue: 'Value',\n\t\tdeleteCondition: 'Delete Condition',\n\t},\n\tvalue: '',\n};\n/**\n * Expression Condition Component\n */\nclass ExpressionCondition extends React.Component {\n\tconstructor(props) {\n\t\tsuper(props);\n\t\tthis.generatedId = shortid.generate();\n\t}\n\n\tcomponentDidMount() {\n\t\tif (this.props.focusOnMount && this.rootNode) {\n\t\t\tconst input = this.rootNode.querySelector('input');\n\t\t\tif (input) {\n\t\t\t\tinput.focus();\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Get the Expression Condition's HTML id. Generate a new one if no ID present.\n\t */\n\tgetId() {\n\t\treturn this.props.id || this.generatedId;\n\t}\n\n\trender() {\n\t\tconst assistiveText = assign(\n\t\t\t{},\n\t\t\tdefaultProps.assistiveText,\n\t\t\tthis.props.assistiveText\n\t\t);\n\t\tconst labels = assign({}, defaultProps.labels, this.props.labels);\n\t\treturn (\n\t\t\t<li\n\t\t\t\tclassName={classNames(\n\t\t\t\t\t`slds-expression__row`,\n\t\t\t\t\t{ 'slds-expression__row_group': this.props.isSubCondition },\n\t\t\t\t\tthis.props.className\n\t\t\t\t)}\n\t\t\t\tid={this.getId()}\n\t\t\t\tref={(rootNode) => {\n\t\t\t\t\tthis.rootNode = rootNode;\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\t<fieldset>\n\t\t\t\t\t<legend className=\"slds-expression__legend\">\n\t\t\t\t\t\t<span>{labels.label}</span>\n\t\t\t\t\t\t<span className=\"slds-assistive-text\">{assistiveText.title}</span>\n\t\t\t\t\t</legend>\n\t\t\t\t\t<div className=\"slds-grid slds-gutters_xx-small\">\n\t\t\t\t\t\t<div className=\"slds-col\">\n\t\t\t\t\t\t\t<Combobox\n\t\t\t\t\t\t\t\tevents={{\n\t\t\t\t\t\t\t\t\tonSelect: this.props.events.onChangeResource,\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\tid={`${this.getId()}-resource-selector`}\n\t\t\t\t\t\t\t\tmultiple={false}\n\t\t\t\t\t\t\t\tvariant=\"readonly\"\n\t\t\t\t\t\t\t\tlabels={{ label: labels.resource }}\n\t\t\t\t\t\t\t\toptions={this.props.resourcesList}\n\t\t\t\t\t\t\t\tselection={[this.props.resourceSelected]}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div className=\"slds-col slds-grow-none\">\n\t\t\t\t\t\t\t<Combobox\n\t\t\t\t\t\t\t\tevents={{\n\t\t\t\t\t\t\t\t\tonSelect: this.props.events.onChangeOperator,\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\tid={`${this.getId()}-operator-selector`}\n\t\t\t\t\t\t\t\tmultiple={false}\n\t\t\t\t\t\t\t\tvariant=\"readonly\"\n\t\t\t\t\t\t\t\tlabels={{ label: labels.operator }}\n\t\t\t\t\t\t\t\toptions={this.props.operatorsList}\n\t\t\t\t\t\t\t\tselection={[this.props.operatorSelected]}\n\t\t\t\t\t\t\t\tsingleInputDisabled={!this.props.resourceSelected}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div className=\"slds-col\">\n\t\t\t\t\t\t\t<Input\n\t\t\t\t\t\t\t\tid={`${this.getId()}-input`}\n\t\t\t\t\t\t\t\tlabel={labels.value}\n\t\t\t\t\t\t\t\tvalue={this.props.value}\n\t\t\t\t\t\t\t\tonChange={this.props.events.onChangeValue}\n\t\t\t\t\t\t\t\tdisabled={!this.props.resourceSelected}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div className=\"slds-col slds-grow-none\">\n\t\t\t\t\t\t\t<div className=\"slds-form-element\">\n\t\t\t\t\t\t\t\t<span className=\"slds-form-element__label\"> </span>\n\t\t\t\t\t\t\t\t<div className=\"slds-form-element__control\">\n\t\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\t\tid={`${this.getId()}-delete-button`}\n\t\t\t\t\t\t\t\t\t\tvariant=\"outline-brand\"\n\t\t\t\t\t\t\t\t\t\ticonCategory=\"utility\"\n\t\t\t\t\t\t\t\t\t\ticonName=\"delete\"\n\t\t\t\t\t\t\t\t\t\ticonVariant=\"border-filled\"\n\t\t\t\t\t\t\t\t\t\tonClick={this.props.events.onDelete}\n\t\t\t\t\t\t\t\t\t\tassistiveText={{\n\t\t\t\t\t\t\t\t\t\t\ticon: assistiveText.deleteIcon,\n\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\ttitle={labels.deleteCondition}\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t</fieldset>\n\t\t\t</li>\n\t\t);\n\t}\n}\n\nExpressionCondition.displayName = EXPRESSION_CONDITION;\nExpressionCondition.propTypes = propTypes;\nExpressionCondition.defaultProps = defaultProps;\n\nexport default ExpressionCondition;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// Implements the [Expression Formula design pattern](https://lightningdesignsystem.com/components/expression/) in React.\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport assign from 'lodash.assign';\nimport ContentEditable from 'react-contenteditable';\n\n// ### shortid\n// [npmjs.com/package/shortid](https://www.npmjs.com/package/shortid)\n// shortid is a short, non-sequential, url-friendly, unique id generator\nimport shortid from 'shortid';\n\nimport { EXPRESSION_FORMULA } from '../../utilities/constants';\n\nimport Button from '../button';\n\nconst propTypes = {\n\t/**\n\t * **Assistive text for accessibility.**\n\t * * `help`: Assistive text for help icon\n\t */\n\tassistiveText: PropTypes.shape({\n\t\thelp: PropTypes.string,\n\t}),\n\t/**\n\t * HTML id for component.\n\t */\n\tid: PropTypes.string,\n\t/**\n\t * CSS classes to be added to the element with class `.slds-form-element`. Uses `classNames` [API](https://github.com/JedWatson/classnames).\n\t */\n\tclassName: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\t/**\n\t * Callbacks for various expression formula events such as text editor change, check syntax etc\n\t */\n\tevents: PropTypes.shape({\n\t\tonChangeTextEditor: PropTypes.func,\n\t\tonClickHelp: PropTypes.func,\n\t\tonClickCheckSyntax: PropTypes.func,\n\t}),\n\t/**\n\t * **Text labels for internationalization**\n\t * This object is merged with the default props object on every render.\n\t * * `label`: Label for the Expression Formula group.Defaults to \"Formula\"\n\t * * `checkSyntax`: Label for the Check Syntax Button. Defaults to \"Check Syntax\"\n\t * * `textArea`: Label for the `triggerType` selector. Defaults to \"Take Action When\"\n\t */\n\tlabels: PropTypes.shape({\n\t\tlabel: PropTypes.string,\n\t\tcheckSyntax: PropTypes.string,\n\t\ttextArea: PropTypes.string,\n\t}),\n\t/**\n\t * Accepts a single combobox component, to select resource in the expression formula editor\n\t */\n\tresourceCombobox: PropTypes.node,\n\t/**\n\t * Accepts a single combobox component, to select function in the expression formula editor\n\t */\n\tfunctionCombobox: PropTypes.node,\n\t/**\n\t * Accepts a single input component, to enter operator in the expression formula editor\n\t */\n\toperatorInput: PropTypes.node,\n\t/**\n\t * Value for the text editor in expression formula editor\n\t */\n\ttextEditorValue: PropTypes.node,\n};\n\nconst defaultProps = {\n\tassistiveText: {\n\t\thelp: 'Help',\n\t},\n\tlabels: {\n\t\tlabel: 'Formula',\n\t\tcheckSyntax: 'Check Syntax',\n\t\ttextArea: 'Text Area',\n\t},\n};\n/**\n * Expression Formula Component\n */\nclass ExpressionFormula extends React.Component {\n\tconstructor() {\n\t\tsuper();\n\t\tthis.textEditorRef = React.createRef();\n\t\tthis.state = {\n\t\t\ttextEditorValue: 'Compose formula...', // default is set here to preserve functionality if not controlled by props.textEditorValue\n\t\t};\n\t\tthis.generatedId = shortid.generate();\n\t}\n\n\t/**\n\t * Get the Expression Condition's HTML id. Generate a new one if no ID present.\n\t */\n\tgetId() {\n\t\treturn this.props.id || this.generatedId;\n\t}\n\n\thandleTextEditorChange = (event) => {\n\t\tconst textEditorValue = event.target.value;\n\n\t\tif (this.props.textEditorValue === undefined) {\n\t\t\tthis.setState({ textEditorValue });\n\t\t}\n\n\t\tif (this.props.events && this.props.events.onChangeTextEditor) {\n\t\t\tthis.props.events.onChangeTextEditor(event, { textEditorValue });\n\t\t}\n\t};\n\n\trender() {\n\t\tconst assistiveText = assign(\n\t\t\t{},\n\t\t\tdefaultProps.assistiveText,\n\t\t\tthis.props.assistiveText\n\t\t);\n\t\tconst labels = assign({}, defaultProps.labels, this.props.labels);\n\n\t\treturn (\n\t\t\t<React.Fragment>\n\t\t\t\t<div\n\t\t\t\t\tid={this.getId()}\n\t\t\t\t\tclassName={classNames(\n\t\t\t\t\t\t`slds-expression_formula__rte`,\n\t\t\t\t\t\tthis.props.className\n\t\t\t\t\t)}\n\t\t\t\t>\n\t\t\t\t\t<div className=\"slds-form-element\">\n\t\t\t\t\t\t<span className=\"slds-form-element__label\">{labels.label}</span>\n\t\t\t\t\t\t<div className=\"slds-form-element__control\">\n\t\t\t\t\t\t\t<div className=\"slds-rich-text-editor slds-grid slds-grid_vertical slds-nowrap\">\n\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\trole=\"toolbar\"\n\t\t\t\t\t\t\t\t\tclassName=\"slds-rich-text-editor__toolbar slds-shrink-none\"\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<div className=\"slds-rich-text-editor__col slds-rich-text-editor__col_grow\">\n\t\t\t\t\t\t\t\t\t\t{this.props.resourceCombobox}\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t<div className=\"slds-rich-text-editor__col slds-rich-text-editor__col_grow\">\n\t\t\t\t\t\t\t\t\t\t{this.props.functionCombobox}\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t<div className=\"slds-rich-text-editor__col slds-rich-text-editor__col_grow\">\n\t\t\t\t\t\t\t\t\t\t{this.props.operatorInput}\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t<div className=\"slds-rich-text-editor__col\">\n\t\t\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\t\t\tassistiveText={{\n\t\t\t\t\t\t\t\t\t\t\t\ticon: assistiveText.help,\n\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t\tclassName=\"slds-button_icon-container\"\n\t\t\t\t\t\t\t\t\t\t\tid={`${this.getId()}-help-button`}\n\t\t\t\t\t\t\t\t\t\t\tvariant=\"icon\"\n\t\t\t\t\t\t\t\t\t\t\ticonCategory=\"utility\"\n\t\t\t\t\t\t\t\t\t\t\ticonName=\"help\"\n\t\t\t\t\t\t\t\t\t\t\tonClick={this.props.events.onClickHelp}\n\t\t\t\t\t\t\t\t\t\t\ttitle={assistiveText.help}\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t<div className=\"slds-rich-text-editor__textarea slds-grid\">\n\t\t\t\t\t\t\t\t\t<ContentEditable\n\t\t\t\t\t\t\t\t\t\tid={`${this.getId()}-content-editor`}\n\t\t\t\t\t\t\t\t\t\taria-label={this.props.labels.textArea}\n\t\t\t\t\t\t\t\t\t\tclassName=\"slds-rich-text-area__content slds-text-color_weak slds-grow\"\n\t\t\t\t\t\t\t\t\t\tinnerRef={this.textEditorRef}\n\t\t\t\t\t\t\t\t\t\thtml={\n\t\t\t\t\t\t\t\t\t\t\tthis.props.textEditorValue !== undefined\n\t\t\t\t\t\t\t\t\t\t\t\t? this.props.textEditorValue\n\t\t\t\t\t\t\t\t\t\t\t\t: this.state.textEditorValue\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\tonChange={this.handleTextEditorChange}\n\t\t\t\t\t\t\t\t\t\tdisabled={false}\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t\t<div className=\"slds-m-top_small\">\n\t\t\t\t\t<Button\n\t\t\t\t\t\tid={`${this.getId()}-check-syntax-button`}\n\t\t\t\t\t\tvariant=\"neutral\"\n\t\t\t\t\t\tlabel={labels.checkSyntax}\n\t\t\t\t\t\tonClick={this.props.events.onClickCheckSyntax}\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t</React.Fragment>\n\t\t);\n\t}\n}\n\nExpressionFormula.displayName = EXPRESSION_FORMULA;\nExpressionFormula.propTypes = propTypes;\nExpressionFormula.defaultProps = defaultProps;\n\nexport default ExpressionFormula;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// # FileFigure Component\n\n// Implements the [FileFigure design pattern](https://www.lightningdesignsystem.com/components/files/) in React.\n\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\nimport { FILES_FIGURE } from '../../../utilities/constants';\n\nimport Spinner from '../../spinner';\n\n/**\n * A file can have a image, an icon or a loading animation as its thumbnail\n */\nconst FileFigure = (props) => {\n\tif (props.isLoading) {\n\t\treturn (\n\t\t\t<React.Fragment>\n\t\t\t\t<span className=\"slds-assistive-text\">{props.assistiveText.link}</span>\n\t\t\t\t<Spinner\n\t\t\t\t\tsize=\"medium\"\n\t\t\t\t\tvariant=\"base\"\n\t\t\t\t\tassistiveText={{ label: props.assistiveText.loading }}\n\t\t\t\t\tcontainerStyle={{ zIndex: '1' }}\n\t\t\t\t/>\n\t\t\t</React.Fragment>\n\t\t);\n\t}\n\tif (props.image) {\n\t\treturn (\n\t\t\t<React.Fragment>\n\t\t\t\t<span className=\"slds-assistive-text\">{props.assistiveText.link}</span>\n\t\t\t\t<img\n\t\t\t\t\talt={props.assistiveText.image || props.labels.title}\n\t\t\t\t\tsrc={props.image}\n\t\t\t\t/>\n\t\t\t</React.Fragment>\n\t\t);\n\t}\n\treturn (\n\t\t<React.Fragment>\n\t\t\t<span className=\"slds-assistive-text\">{props.assistiveText.link}</span>\n\t\t\t<span\n\t\t\t\tclassName=\"slds-file__icon slds-icon_container\"\n\t\t\t\ttitle={props.labels.title}\n\t\t\t>\n\t\t\t\t{React.cloneElement(props.icon, {\n\t\t\t\t\tsize: null,\n\t\t\t\t})}\n\t\t\t</span>\n\t\t</React.Fragment>\n\t);\n};\n\nFileFigure.displayName = FILES_FIGURE;\n\nFileFigure.propTypes = {\n\tassistiveText: PropTypes.shape({\n\t\timage: PropTypes.string,\n\t}),\n\t/**\n\t * Whether the file figure is loading\n\t */\n\tisLoading: PropTypes.bool,\n\t/**\n\t * Image/Figure for the file\n\t */\n\timage: PropTypes.string,\n\t/**\n\t * Labels for the file figure component\n\t */\n\tlabels: PropTypes.shape({\n\t\ttitle: PropTypes.string.isRequired,\n\t}),\n};\n\nFileFigure.defaultProps = {\n\tisLoading: false,\n};\n\nexport default FileFigure;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// # FileActions Component\n\n// Implements the [FileActions design pattern](https://www.lightningdesignsystem.com/components/files/) in React.\n\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\nimport { FILES_ACTIONS } from '../../../utilities/constants';\nimport Button from '../../button';\nimport Icon from '../../icon';\n\n/**\n * A carousel allows multiple pieces of featured content to occupy an allocated amount of space.\n */\nconst FileActions = (props) => {\n\tconst actions = (\n\t\t<div className=\"slds-file__actions-menu\">\n\t\t\t<div className=\"slds-button-group\" role=\"group\">\n\t\t\t\t{typeof props.onClickDownload === 'function' ? (\n\t\t\t\t\t<Button\n\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\tvariant=\"icon\"\n\t\t\t\t\t\ticonSize=\"x-small\"\n\t\t\t\t\t\tonClick={props.onClickDownload}\n\t\t\t\t\t\ttitle=\"Download\"\n\t\t\t\t\t\tclassName=\"slds-button_icon-inverse\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<Icon\n\t\t\t\t\t\t\tassistiveText={{ label: props.assistiveText.download }}\n\t\t\t\t\t\t\tcategory=\"utility\"\n\t\t\t\t\t\t\tname=\"download\"\n\t\t\t\t\t\t\tsize=\"xx-small\"\n\t\t\t\t\t\t\tinverse={props.hasNoVisibleTitle}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</Button>\n\t\t\t\t) : null}\n\t\t\t\t{props.moreActionsDropdown\n\t\t\t\t\t? React.cloneElement(props.moreActionsDropdown, {\n\t\t\t\t\t\t\tassistiveText: { icon: props.assistiveText.moreActions },\n\t\t\t\t\t\t\toverlay: false,\n\t\t\t\t\t\t\tbuttonVariant: 'icon',\n\t\t\t\t\t\t\tbuttonInverse: props.hasNoVisibleTitle,\n\t\t\t\t\t\t\tclassName: 'dsr-file__more-actions-dropdown ',\n\t\t\t\t\t\t\ttriggerClassName: 'dsr-file__more-actions',\n\t\t\t\t\t })\n\t\t\t\t\t: null}\n\t\t\t</div>\n\t\t</div>\n\t);\n\tif (\n\t\ttypeof props.onClickDownload === 'function' ||\n\t\tprops.moreActionsDropdown\n\t) {\n\t\tif (!props.hasNoVisibleTitle) {\n\t\t\treturn actions;\n\t\t}\n\t\treturn (\n\t\t\t<div className=\"slds-file__title slds-file__title_scrim\">{actions}</div>\n\t\t);\n\t}\n\treturn null;\n};\n\nFileActions.displayName = FILES_ACTIONS;\n\nFileActions.propTypes = {\n\t/**\n\t * Action to be done on clicking download button; doesnt show download button if empty\n\t */\n\tonClickDownload: PropTypes.func,\n\t/**\n\t * Dropdown for More Actions; doesn't show More actions button if empty\n\t */\n\tmoreActionsDropdown: PropTypes.node,\n\t/**\n\t * Labels for the file component\n\t */\n\thasNoVisibleTitle: PropTypes.bool,\n};\n\nexport default FileActions;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// Implements the [Files design pattern](https://lightningdesignsystem.com/components/files/) in React.\n// Based on SLDS v2.4.0\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\n\n// ### shortid\n// [npmjs.com/package/shortid](https://www.npmjs.com/package/shortid)\n// shortid is a short, non-sequential, url-friendly, unique id generator\nimport shortid from 'shortid';\nimport { FILES_FILE } from '../../utilities/constants';\n\nimport FileFigure from './private/file-figure';\nimport FileActions from './private/file-actions';\n\nconst displayName = FILES_FILE;\n\nconst propTypes = {\n\t/**\n\t * **Assistive text for accessibility**\n\t * * download - description for the download button if present\n\t * * image - description for the file image\n\t * * link - description for the file link\n\t * * loading - description for the loading spinner if present\n\t * * moreActions - description for the more actions dropdown if present\n\t */\n\tassistiveText: PropTypes.shape({\n\t\tdownload: PropTypes.string,\n\t\timage: PropTypes.string,\n\t\tlink: PropTypes.string,\n\t\tloading: PropTypes.string,\n\t\tmoreActions: PropTypes.string,\n\t}),\n\t/**\n\t * CSS class names to be added to the container element. `array`, `object`, or `string` are accepted.\n\t */\n\tclassName: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\t/**\n\t * Controls different cropping aspect ratios for the component\n\t */\n\tcrop: PropTypes.oneOf(['16-by-9', '4-by-3', '1-by-1']),\n\t/**\n\t * HTML id for component.\n\t */\n\tid: PropTypes.string,\n\t/**\n\t * Action to be done on clicking download button; doesn't show download button if empty\n\t */\n\tonClickDownload: PropTypes.func,\n\t/**\n\t * Function that is called when image is clicked; can be used instead of href for more advanced event handling\n\t */\n\tonClickImage: PropTypes.func,\n\t/**\n\t * Dropdown for more actions button; doesn't show more actions button if empty\n\t */\n\tmoreActionsDropdown: PropTypes.node,\n\t/**\n\t * Icon associated with the file. Accepts an Icon component\n\t */\n\ticon: PropTypes.node,\n\t/**\n\t * Icon to be shown in top left corner of File component. Accepts an Icon component\n\t */\n\texternalIcon: PropTypes.node,\n\t/**\n\t * Link to thumbnail image\n\t */\n\timage: PropTypes.string,\n\t/**\n\t * Controls whether file preview is loading\n\t */\n\tisLoading: PropTypes.bool,\n\t/**\n\t * Href attribute for image\n\t */\n\thref: PropTypes.string,\n\t/**\n\t * Labels for the File Component\n\t * * image - title for the file. Required.\n\t */\n\tlabels: PropTypes.shape({\n\t\ttitle: PropTypes.string.isRequired,\n\t}),\n\t/**\n\t * Controls whether the file's title should be visible\n\t */\n\thasNoVisibleTitle: PropTypes.bool,\n};\n\nconst defaultProps = {\n\tassistiveText: {\n\t\tdownload: 'download',\n\t\tlink: 'Preview:',\n\t\tloading: 'loading',\n\t\tmoreActions: 'more actions',\n\t},\n\tcrop: '16-by-9',\n\thref: 'javascript:void(0);',\n\tisLoading: false,\n\thasNoVisibleTitle: false,\n};\n/**\n * File is a component that represents content uploaded as an attachment.\n */\nclass File extends React.Component {\n\tstatic injectMoreActionsStyles() {\n\t\treturn (\n\t\t\t<style>{`\n\t\t\t\t\t.dsr-file__more-actions-dropdown ul.dropdown__list li.slds-dropdown__item > a:before\n\t\t\t\t\t{ background: none; }\n\t\t\t\t\t.dsr-file__more-actions-dropdown ul.dropdown__list li.slds-dropdown__item > a:after\n\t\t\t\t\t{ background: none; }\n\t\t\t\t\t.dsr-file__more-actions > button:first-child\n\t\t\t\t\t{ border-radius: 0 0.25rem 0.25rem 0!important;}\n\t\t\t`}</style>\n\t\t);\n\t}\n\n\t// eslint-disable-next-line camelcase, react/sort-comp\n\tUNSAFE_componentWillMount() {\n\t\tthis.generatedId = shortid.generate();\n\t}\n\n\t/**\n\t * Get the File's HTML id. Generate a new one if no ID present.\n\t */\n\tgetId() {\n\t\treturn this.props.id || this.generatedId;\n\t}\n\n\trender() {\n\t\tconst assistiveText = {\n\t\t\t...defaultProps.assistiveText,\n\t\t\t...this.props.assistiveText,\n\t\t};\n\n\t\treturn (\n\t\t\t<div\n\t\t\t\tid={this.getId()}\n\t\t\t\tclassName={classNames(\n\t\t\t\t\t'slds-file',\n\t\t\t\t\t'slds-file_card',\n\t\t\t\t\t!this.props.hasNoVisibleTitle ? 'slds-has-title' : null,\n\t\t\t\t\tthis.props.className\n\t\t\t\t)}\n\t\t\t>\n\t\t\t\t<figure>\n\t\t\t\t\t<a\n\t\t\t\t\t\thref={this.props.href}\n\t\t\t\t\t\tclassName={classNames(\n\t\t\t\t\t\t\t'slds-file__crop',\n\t\t\t\t\t\t\tthis.props.crop ? `slds-file__crop_${this.props.crop}` : null\n\t\t\t\t\t\t)}\n\t\t\t\t\t\tonClick={this.props.onClickImage}\n\t\t\t\t\t>\n\t\t\t\t\t\t<FileFigure\n\t\t\t\t\t\t\tassistiveText={assistiveText}\n\t\t\t\t\t\t\tlabels={{\n\t\t\t\t\t\t\t\ttitle: this.props.labels.title,\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\tisLoading={this.props.isLoading}\n\t\t\t\t\t\t\timage={this.props.image}\n\t\t\t\t\t\t\ticon={this.props.icon}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</a>\n\t\t\t\t\t{!this.props.hasNoVisibleTitle ? (\n\t\t\t\t\t\t<figcaption className=\"slds-file__title slds-file__title_card\">\n\t\t\t\t\t\t\t<div className=\"slds-media__figure slds-line-height_reset\">\n\t\t\t\t\t\t\t\t{this.props.icon\n\t\t\t\t\t\t\t\t\t? React.cloneElement(this.props.icon, {\n\t\t\t\t\t\t\t\t\t\t\tsize: 'x-small',\n\t\t\t\t\t\t\t\t\t })\n\t\t\t\t\t\t\t\t\t: null}\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<div className=\"slds-media__body\">\n\t\t\t\t\t\t\t\t<span\n\t\t\t\t\t\t\t\t\tclassName=\"slds-file__text slds-truncate\"\n\t\t\t\t\t\t\t\t\ttitle={this.props.labels.title}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{this.props.labels.title}\n\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</figcaption>\n\t\t\t\t\t) : null}\n\t\t\t\t</figure>\n\t\t\t\t{this.props.externalIcon ? (\n\t\t\t\t\t<div className=\"slds-file__external-icon\">\n\t\t\t\t\t\t{React.cloneElement(this.props.externalIcon, {\n\t\t\t\t\t\t\tcontainerClassName: 'slds-file__icon slds-icon_container',\n\t\t\t\t\t\t})}\n\t\t\t\t\t</div>\n\t\t\t\t) : null}\n\t\t\t\t{this.props.moreActionsDropdown ? File.injectMoreActionsStyles() : null}\n\t\t\t\t<FileActions\n\t\t\t\t\tassistiveText={assistiveText}\n\t\t\t\t\thasNoVisibleTitle={this.props.hasNoVisibleTitle}\n\t\t\t\t\tonClickDownload={this.props.onClickDownload}\n\t\t\t\t\tmoreActionsDropdown={this.props.moreActionsDropdown}\n\t\t\t\t/>\n\t\t\t</div>\n\t\t);\n\t}\n}\n\nFile.displayName = displayName;\nFile.propTypes = propTypes;\nFile.defaultProps = defaultProps;\n\nexport default File;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// Implements the [Files design pattern](https://lightningdesignsystem.com/components/files/) in React.\n// Based on SLDS v2.4.0\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\n\n// ### shortid\n// [npmjs.com/package/shortid](https://www.npmjs.com/package/shortid)\n// shortid is a short, non-sequential, url-friendly, unique id generator\nimport shortid from 'shortid';\nimport { FILES } from '../../utilities/constants';\n\nconst displayName = FILES;\n\nconst propTypes = {\n\t/**\n\t * CSS class names to be added to the container element. `array`, `object`, or `string` are accepted.\n\t */\n\tclassName: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\t/**\n\t * HTML id for component.\n\t */\n\tid: PropTypes.string,\n\t/**\n\t * Crop ratio for the file preview image\n\t */\n\tcrop: PropTypes.oneOf(['16-by-9', '4-by-3', '1-by-1']),\n\t/**\n\t * Column class names to be added each file in the grid\n\t */\n\tcolumnClassName: PropTypes.string,\n};\n\nconst defaultProps = {\n\tcrop: '4-by-3',\n};\n\n/**\n * Files is a component that wraps multiple file components that represent an attachment\n */\nclass Files extends React.Component {\n\t// eslint-disable-next-line camelcase, react/sort-comp\n\tUNSAFE_componentWillMount() {\n\t\tthis.generatedId = shortid.generate();\n\t}\n\n\t/**\n\t * Get the File's HTML id. Generate a new one if no ID present.\n\t */\n\tgetId() {\n\t\treturn this.props.id || this.generatedId;\n\t}\n\n\trender() {\n\t\tconst files = React.Children.map(this.props.children, (option) => (\n\t\t\t<li\n\t\t\t\tclassName={classNames(\n\t\t\t\t\t`slds-p-horizontal_xx-small slds-size_1-of-3 slds-medium-size_1-of-4`,\n\t\t\t\t\tthis.props.columnClassName\n\t\t\t\t)}\n\t\t\t>\n\t\t\t\t{React.cloneElement(option, {\n\t\t\t\t\tcrop: option.props.crop ? option.props.crop : this.props.crop,\n\t\t\t\t})}\n\t\t\t</li>\n\t\t));\n\n\t\treturn (\n\t\t\t<ul\n\t\t\t\tclassName={classNames(\n\t\t\t\t\t'slds-grid slds-grid_pull-padded',\n\t\t\t\t\tthis.props.className\n\t\t\t\t)}\n\t\t\t\tid={this.getId()}\n\t\t\t>\n\t\t\t\t{files}\n\t\t\t</ul>\n\t\t);\n\t}\n}\n\nFiles.displayName = displayName;\nFiles.propTypes = propTypes;\nFiles.defaultProps = defaultProps;\n\nexport default Files;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// Implements the [Files design pattern](https://lightningdesignsystem.com/components/files/) in React.\n// Based on SLDS v2.4.0\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\n\n// ### shortid\n// [npmjs.com/package/shortid](https://www.npmjs.com/package/shortid)\n// shortid is a short, non-sequential, url-friendly, unique id generator\nimport shortid from 'shortid';\nimport { FILES_MORE } from '../../utilities/constants';\n\nconst displayName = FILES_MORE;\n\nconst propTypes = {\n\t/**\n\t * **Assistive text for accessibility**\n\t * * count - description for the more files count\n\t * * image - description for the image\n\t * * link - description for the more files link\n\t */\n\tassistiveText: PropTypes.shape({\n\t\tcount: PropTypes.string,\n\t\timage: PropTypes.string,\n\t\tlink: PropTypes.string,\n\t}),\n\t/**\n\t * CSS class names to be added to the container element. `array`, `object`, or `string` are accepted.\n\t */\n\tclassName: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\t/**\n\t * HTML id for component.\n\t */\n\tid: PropTypes.string,\n\t/**\n\t * Controls different cropping aspect ratios for the component\n\t */\n\tcrop: PropTypes.oneOf(['16-by-9', '4-by-3', '1-by-1']),\n\t/**\n\t * Link to thumbnail image\n\t */\n\timage: PropTypes.string,\n\t/**\n\t * Controls the number of additional files that is displayed\n\t */\n\tcount: PropTypes.string,\n\t/**\n\t * Href attribute for image\n\t */\n\thref: PropTypes.string,\n};\n\nconst defaultProps = {\n\tassistiveText: {\n\t\tcount: 'more files',\n\t\timage: 'Show more files',\n\t\tlink: 'Preview:',\n\t},\n\tcrop: '16-by-9',\n\thref: 'javascript:void(0);',\n};\n\n/**\n * MoreFiles is a component that represents a number of file contents uploaded as an attachment.\n */\nclass MoreFiles extends React.Component {\n\t// eslint-disable-next-line camelcase, react/sort-comp\n\tUNSAFE_componentWillMount() {\n\t\tthis.generatedId = shortid.generate();\n\t}\n\n\tgetId() {\n\t\treturn this.props.id || this.generatedId;\n\t}\n\n\trender() {\n\t\tconst assistiveText = {\n\t\t\t...defaultProps.assistiveText,\n\t\t\t...this.props.assistiveText,\n\t\t};\n\n\t\treturn (\n\t\t\t<div\n\t\t\t\tclassName={classNames(`slds-file slds-file_card`, this.props.className)}\n\t\t\t\tid={this.getId()}\n\t\t\t>\n\t\t\t\t<figure>\n\t\t\t\t\t<a\n\t\t\t\t\t\thref={this.props.href}\n\t\t\t\t\t\tclassName={classNames(\n\t\t\t\t\t\t\t'slds-file__crop',\n\t\t\t\t\t\t\tthis.props.crop ? `slds-file__crop_${this.props.crop}` : null\n\t\t\t\t\t\t)}\n\t\t\t\t\t>\n\t\t\t\t\t\t<div className=\"slds-file_overlay\" />\n\t\t\t\t\t\t<span className=\"slds-assistive-text\">{assistiveText.link}</span>\n\t\t\t\t\t\t<img src={this.props.image} alt={assistiveText.image} />\n\t\t\t\t\t</a>\n\t\t\t\t\t<figcaption className=\"slds-file__title slds-file__title_overlay slds-align_absolute-center slds-text-heading_large\">\n\t\t\t\t\t\t<div className=\"slds-media slds-media_small slds-media_center\">\n\t\t\t\t\t\t\t<div className=\"slds-media__figure slds-line-height_reset\" />\n\t\t\t\t\t\t\t<div className=\"slds-media__body\">\n\t\t\t\t\t\t\t\t<span\n\t\t\t\t\t\t\t\t\tclassName=\"slds-file__text slds-truncate\"\n\t\t\t\t\t\t\t\t\ttitle={this.props.count}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<span>{this.props.count}</span>\n\t\t\t\t\t\t\t\t\t<span className=\"slds-assistive-text\">\n\t\t\t\t\t\t\t\t\t\t{assistiveText.count}\n\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</figcaption>\n\t\t\t\t</figure>\n\t\t\t</div>\n\t\t);\n\t}\n}\n\nMoreFiles.displayName = displayName;\nMoreFiles.propTypes = propTypes;\nMoreFiles.defaultProps = defaultProps;\n\nexport default MoreFiles;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n/* eslint-disable no-script-url */\n\n// # Filter\n\n// Implements part of the [Panel design pattern](https://www.lightningdesignsystem.com/components/panels) in React.\n// Based on SLDS v2.2.0-rc.1\n\n// ## Dependencies\n\n// ### React\nimport React from 'react';\n\nimport PropTypes from 'prop-types';\n\n// ### assign\nimport assign from 'lodash.assign';\n\n// ### classNames\nimport classNames from 'classnames';\n\n// ### shortid\n// [npmjs.com/package/shortid](https://www.npmjs.com/package/shortid)\n// shortid is a short, non-sequential, url-friendly, unique id generator\nimport shortid from 'shortid';\n\nimport Button from '../button';\nimport Popover from '../popover';\n\n// ## Constants\nimport { FILTER } from '../../utilities/constants';\n\n/**\n * A Filter is a popover with custom trigger. It can be used by [Panel Filtering](/components/panels/). Menus within a Filter Popover will need to not have \"portal mounts\" and be inline.\n */\nclass Filter extends React.Component {\n\tstatic displayName = FILTER;\n\n\tstatic propTypes = {\n\t\t/**\n\t\t * Aligns the popover with the respective side of the trigger. That is `left` will place the `Popover` to the left of the Filter.\n\t\t */\n\t\talign: PropTypes.oneOf(['left', 'right']),\n\t\t/**\n\t\t * **Assistive text for accessibility**\n\t\t * * `removeFilter`: Assistive text for removing a filter. The default is `Remove Filter: this.props.property this.props.predicate`.\n\t\t * * `editFilter`: Assistive text for changing a filter.\n\t\t * * `editFilterHeading`: Assistive text for Popover heading.\n\t\t */\n\t\tassistiveText: PropTypes.shape({\n\t\t\teditFilter: PropTypes.string,\n\t\t\teditFilterHeading: PropTypes.string,\n\t\t\tremoveFilter: PropTypes.string,\n\t\t}),\n\t\t/**\n\t\t * Contents of popover. That is the dropdowns and inputs that set the filter criteria.\n\t\t */\n\t\tchildren: PropTypes.node,\n\t\t/**\n\t\t * Custom CSS classes for `slds-filters__item` node. Uses `classNames` [API](https://github.com/JedWatson/classnames).\n\t\t */\n\t\tclassName: PropTypes.oneOfType([\n\t\t\tPropTypes.array,\n\t\t\tPropTypes.object,\n\t\t\tPropTypes.string,\n\t\t]),\n\t\t/**\n\t\t * Applies error state styling. Per filter error messages are outside this components.\n\t\t */\n\t\tisError: PropTypes.bool,\n\t\t/**\n\t\t * A unique ID is needed in order to support keyboard navigation, ARIA support, and connect the dropdown to the triggering button. An `id` will be generated if none is supplied.\n\t\t */\n\t\tid: PropTypes.string,\n\t\t/**\n\t\t * If true, the filter will not display an editing popover when clicked.\n\t\t */\n\t\tisLocked: PropTypes.bool,\n\t\t/**\n\t\t * Applies new filter styling.\n\t\t */\n\t\tisNew: PropTypes.bool,\n\t\t/**\n\t\t * If true, the filter will not include a remove button.\n\t\t */\n\t\tisPermanent: PropTypes.bool,\n\t\t/**\n\t\t * Will be triggered when Done within the Popover is clicked. This is the place to update the filter props displayed. Callback will recieve parameters: `clickEvent, { id }`. An index into your store may be a good setting for `id`, so that it will be passed back here.\n\t\t */\n\t\tonChange: PropTypes.func,\n\t\t/**\n\t\t * Will be triggered when \"Remove Filter\" button is clicked. Callback will recieve parameters: `clickEvent, { id }`. An index into your store may be a good setting for `id`, so that it will be passed back here.\n\t\t */\n\t\tonRemove: PropTypes.func,\n\t\t/**\n\t\t * Will be triggered when Filter is clicked. This is the place to close/open popover if a custom popover is passed in\n\t\t */\n\t\tonClick: PropTypes.func,\n\t\t/**\n\t\t * A `Popover` component. The props from this popover will be merged and override any default props. This also allows a Filter's Popover dialog to be a controlled component. _Tested with Mocha framework._\n\t\t */\n\t\tpopover: PropTypes.node,\n\t\t/**\n\t\t * The criteria you are filtering for. For instance, if \"Hair Color is PURPLE\" is your filter, \"is PURPLE\" is your filter predicate.\n\t\t */\n\t\tpredicate: PropTypes.node,\n\t\t/**\n\t\t * The property you are filtering. For instance, if \"Hair Color is PURPLE\" is your filter, \"Hair Color\" is your filter property.\n\t\t */\n\t\tproperty: PropTypes.node,\n\t};\n\n\tstatic defaultProps = {\n\t\talign: 'left',\n\t\tassistiveText: {\n\t\t\teditFilter: 'Edit filter:',\n\t\t\teditFilterHeading: 'Choose filter criteria',\n\t\t},\n\t\tpredicate: 'New Filter',\n\t};\n\n\tstate = {\n\t\tpopoverIsOpen: this.props.popover ? this.props.popover.props.isOpen : false,\n\t};\n\n\tconstructor(props) {\n\t\tsuper(props);\n\n\t\tthis.generatedId = shortid.generate();\n\t}\n\n\tgetId = () => this.props.id || this.generatedId;\n\n\tgetCustomPopoverProps = ({ assistiveText }) => {\n\t\t/*\n\t\t * Generate the popover props based on passed in popover props. Using the default behavior if not provided by passed in popover\n\t\t */\n\t\tconst popoverBody = (\n\t\t\t<div>\n\t\t\t\t<h4\n\t\t\t\t\tclassName=\"slds-assistive-text\"\n\t\t\t\t\tid={`${this.getId()}-popover-heading`}\n\t\t\t\t>\n\t\t\t\t\t{assistiveText.editFilterHeading}\n\t\t\t\t</h4>\n\t\t\t\t{this.props.children}\n\t\t\t\t<div className=\"slds-m-top_small slds-text-align_right\">\n\t\t\t\t\t<Button\n\t\t\t\t\t\tclassName=\"slds-col_bump-left\"\n\t\t\t\t\t\tlabel=\"Done\"\n\t\t\t\t\t\tonClick={this.handleChange}\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t);\n\n\t\tconst defaultPopoverProps = {\n\t\t\tariaLabelledby: `${this.getId()}-popover-heading`,\n\t\t\talign: this.props.align,\n\t\t\tbody: popoverBody,\n\t\t\theading: '',\n\t\t\tid: this.getId(),\n\t\t\tisOpen: this.state.popoverIsOpen,\n\t\t\t// MAGIC NUMBERS - REMOVE/REDESIGN WHEN DESIGN FOR RIGHT-ALIGNED FILTERS ARE ADDED TO SLDS\n\t\t\toffset: this.props.align === 'right' ? '0px -35px' : undefined,\n\t\t\tonClose: this.handleClose,\n\t\t\tonRequestClose: this.handleClose,\n\t\t\tposition: 'overflowBoundaryElement',\n\t\t\ttriggerClassName: 'slds-grow',\n\t\t};\n\n\t\t/* Mixin passed popover's props if there is any to override the default popover props */\n\t\tconst popoverProps = assign(\n\t\t\tdefaultPopoverProps,\n\t\t\tthis.props.popover ? this.props.popover.props : {}\n\t\t);\n\t\t// eslint-disable-next-line fp/no-delete\n\t\tdelete popoverProps.children;\n\t\treturn popoverProps;\n\t};\n\n\thandleFilterClick = () => {\n\t\tthis.setState({ popoverIsOpen: true });\n\n\t\tif (this.props.onClick) {\n\t\t\tthis.props.onClick();\n\t\t}\n\t};\n\n\thandleClose = () => {\n\t\tthis.setState({ popoverIsOpen: false });\n\t};\n\n\thandleChange = (event) => {\n\t\tthis.setState({ popoverIsOpen: false });\n\n\t\tif (this.props.onChange) {\n\t\t\tthis.props.onChange(event, { id: this.getId() });\n\t\t}\n\t};\n\n\thandleRemove = (event) => {\n\t\tif (this.props.onRemove) {\n\t\t\tthis.props.onRemove(event, { id: this.getId() });\n\t\t}\n\t};\n\n\trender() {\n\t\t/* Remove at next breaking change */\n\t\tconst assistiveText = {\n\t\t\teditFilter:\n\t\t\t\tthis.props.assistiveTextEditFilter || // eslint-disable-line react/prop-types\n\t\t\t\tthis.props.assistiveText.editFilter,\n\t\t\teditFilterHeading:\n\t\t\t\tthis.props.assistiveTextEditFilterHeading || // eslint-disable-line react/prop-types\n\t\t\t\tthis.props.assistiveText.editFilterHeading,\n\t\t\tremoveFilter:\n\t\t\t\tthis.props.assistiveTextRemoveFilter || // eslint-disable-line react/prop-types\n\t\t\t\tthis.props.assistiveText.removeFilter ||\n\t\t\t\t`Remove Filter: ${this.props.property} ${this.props.predicate}`,\n\t\t};\n\n\t\t/* TODO: Button wrapper for property and predictate should be transitioned to `Button` component. `Button` needs to take custom children first though. */\n\t\tconst popoverProps = this.getCustomPopoverProps({ assistiveText });\n\t\treturn (\n\t\t\t<div\n\t\t\t\tclassName={classNames(\n\t\t\t\t\t'slds-filters__item',\n\t\t\t\t\t'slds-grid',\n\t\t\t\t\t'slds-grid_vertical-align-center',\n\t\t\t\t\t{\n\t\t\t\t\t\t'slds-is-locked': this.props.isLocked,\n\t\t\t\t\t\t'slds-is-new': this.props.isNew,\n\t\t\t\t\t\t'slds-has-error': this.props.isError,\n\t\t\t\t\t},\n\t\t\t\t\tthis.props.className\n\t\t\t\t)}\n\t\t\t>\n\t\t\t\t{!this.props.isLocked && (this.props.children || this.props.popover) ? (\n\t\t\t\t\t<Popover {...popoverProps} silenceDeprecatedPropertyWarning>\n\t\t\t\t\t\t<button\n\t\t\t\t\t\t\tclassName=\"slds-button_reset slds-grow slds-has-blur-focus\"\n\t\t\t\t\t\t\tonClick={this.handleFilterClick}\n\t\t\t\t\t\t\taria-describedby={\n\t\t\t\t\t\t\t\tthis.props.isError ? `${this.getId()}-error` : undefined\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<span className=\"slds-assistive-text\">\n\t\t\t\t\t\t\t\t{assistiveText.editFilter}\n\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t{this.props.property ? (\n\t\t\t\t\t\t\t\t<span className=\"slds-show slds-text-body_small\">\n\t\t\t\t\t\t\t\t\t{this.props.property}\n\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t) : null}\n\t\t\t\t\t\t\t<span className=\"slds-show\">{this.props.predicate}</span>\n\t\t\t\t\t\t</button>\n\t\t\t\t\t</Popover>\n\t\t\t\t) : (\n\t\t\t\t\t<button\n\t\t\t\t\t\taria-describedby={\n\t\t\t\t\t\t\tthis.props.isError ? `${this.getId()}-error` : undefined\n\t\t\t\t\t\t}\n\t\t\t\t\t\tclassName=\"slds-button_reset slds-grow slds-has-blur-focus\"\n\t\t\t\t\t\tdisabled\n\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<span className=\"slds-show slds-text-body_small\">\n\t\t\t\t\t\t\t{this.props.property}\n\t\t\t\t\t\t</span>\n\t\t\t\t\t\t<span className=\"slds-show\">{this.props.predicate}</span>\n\t\t\t\t\t</button>\n\t\t\t\t)}\n\t\t\t\t{\n\t\t\t\t\t// Remove button\n\t\t\t\t\t!this.props.isPermanent && !this.props.isLocked ? (\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tassistiveText={{ icon: assistiveText.removeFilter }}\n\t\t\t\t\t\t\thint\n\t\t\t\t\t\t\ticonCategory=\"utility\"\n\t\t\t\t\t\t\ticonName=\"delete\"\n\t\t\t\t\t\t\ticonSize=\"small\"\n\t\t\t\t\t\t\ticonVariant=\"bare\"\n\t\t\t\t\t\t\tonClick={this.handleRemove}\n\t\t\t\t\t\t\ttitle={assistiveText.removeFilter}\n\t\t\t\t\t\t\tvariant=\"icon\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t) : null\n\t\t\t\t}\n\t\t\t</div>\n\t\t);\n\t}\n}\n\nexport default Filter;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n/* eslint-disable import/no-mutable-exports */\n\nimport componentIsDeprecated from '../../utilities/warning/component-is-deprecated';\nimport deprecatedProperty from '../../utilities/warning/deprecated-property';\nimport getComponentDocFn from '../../utilities/get-component-doc';\nimport sunsetProperty from '../../utilities/warning/sunset-property';\n\n// ## Constants\nimport {\n\tGLOBAL_HEADER_BUTTON,\n\tGLOBAL_HEADER_DROPDOWN,\n\tGLOBAL_HEADER_PROFILE,\n} from '../../utilities/constants';\n\nlet checkProps = function checkPropsFunction() {};\n\nif (process.env.NODE_ENV !== 'production') {\n\tcheckProps = function checkPropsFunction(COMPONENT, props, jsonDoc) {\n\t\tif (\n\t\t\tCOMPONENT === GLOBAL_HEADER_BUTTON ||\n\t\t\tCOMPONENT === GLOBAL_HEADER_DROPDOWN\n\t\t) {\n\t\t\tcomponentIsDeprecated(\n\t\t\t\tCOMPONENT,\n\t\t\t\tprops,\n\t\t\t\t`${COMPONENT} has been deprecated in favor of more-specific global header subcomponents. Please see docs for updated examples.`\n\t\t\t);\n\t\t}\n\n\t\tif (COMPONENT === GLOBAL_HEADER_PROFILE) {\n\t\t\tconst popoverExtraMessage =\n\t\t\t\t'Use the `popover` attribute to provide a `Popover` component with content inside the `body` prop instead.';\n\n\t\t\tsunsetProperty(COMPONENT, props.align, 'align');\n\n\t\t\tsunsetProperty(\n\t\t\t\tCOMPONENT,\n\t\t\t\tprops.children,\n\t\t\t\t'children',\n\t\t\t\tpopoverExtraMessage\n\t\t\t);\n\n\t\t\tsunsetProperty(COMPONENT, props.nubbinPosition, 'nubbinPosition');\n\n\t\t\tsunsetProperty(COMPONENT, props.offset, 'offset');\n\n\t\t\tsunsetProperty(COMPONENT, props.onSelect, 'onSelect');\n\n\t\t\tsunsetProperty(COMPONENT, props.options, 'options', popoverExtraMessage);\n\t\t}\n\n\t\tconst createDocUrl = getComponentDocFn(jsonDoc);\n\n\t\tdeprecatedProperty(\n\t\t\tCOMPONENT,\n\t\t\tprops.skipToContentAssistiveText,\n\t\t\t'skipToContentAssistiveText',\n\t\t\t\"assistiveText['skipToContent']\",\n\t\t\tcreateDocUrl('assistiveText')\n\t\t);\n\t\tdeprecatedProperty(\n\t\t\tCOMPONENT,\n\t\t\tprops.skipToNavAssistiveText,\n\t\t\t'skipToNavAssistiveText',\n\t\t\t\"assistiveText['skipToNav']\",\n\t\t\tcreateDocUrl('assistiveText')\n\t\t);\n\t};\n}\n\nexport default checkProps;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// # Global Header Component\n\n// Implements the [Global Header design pattern](https://www.lightningdesignsystem.com/components/global-header) in React.\n// Based on SLDS v2.1.0-rc.2\n\n// ## Dependencies\n\n// ### React\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\n// This component's `checkProps` which issues warnings to developers about properties when in development mode (similar to React's built in development tools)\nimport checkProps from './check-props';\nimport componentDoc from './component.json';\n\n// ### Event Helpers\nimport EventUtil from '../../utilities/event';\n\n// ## Constants\nimport {\n\tGLOBAL_HEADER,\n\tGLOBAL_HEADER_FAVORITES,\n\tGLOBAL_HEADER_HELP,\n\tGLOBAL_HEADER_NOTIFICATIONS,\n\tGLOBAL_HEADER_PROFILE,\n\tGLOBAL_HEADER_SEARCH,\n\tGLOBAL_HEADER_SETUP,\n\tGLOBAL_HEADER_TASK,\n\tGLOBAL_HEADER_TOOL,\n} from '../../utilities/constants';\n\nconst defaultProps = {\n\tassistiveText: {\n\t\tskipToNav: 'Skip to Navigation',\n\t\tskipToContent: 'Skip to Main Content',\n\t},\n\tlogoSrc: '/assets/images/logo-noname.svg',\n};\n\n/**\n * The global header is the anchor for the Salesforce platform and spans all other parts of the UI. It accepts children to define the items displayed within.\n *\n * Example:\n * ```\n * <SLDSGlobalHeader>\n * <SLDSGlobalHeaderSearch />\n * <SLDSGlobalHeaderButton />\n * <SLDSGlobalHeaderDropdown />\n * <SLDSGlobalHeaderDropdown />\n * <SLDSGlobalHeaderProfile />\n * </SLDSGlobalHeader>\n * ```\n */\nclass GlobalHeader extends React.Component {\n\tstatic displayName = GLOBAL_HEADER;\n\n\tstatic propTypes = {\n\t\t/**\n\t\t * **Assistive text for accessibility.**\n\t\t * This object is merged with the default props object on every render.\n\t\t * * `skipToNav`: The localized text that will be read back for the \"Skip to Navigation\" accessibility link.\n\t\t * * `skipToContent`: The localized text that will be read back for the \"Skip to Main Content\" accessibility link.\n\t\t */\n\t\tassistiveText: PropTypes.shape({\n\t\t\tskipToNav: PropTypes.string,\n\t\t\tskipToContent: PropTypes.string,\n\t\t}),\n\t\t/**\n\t\t * See the component description, this accepts some combination of `SLDSGlobalHeaderSearch`, `SLDSGlobalHeaderButton`, `SLDSGlobalHeaderDropdown`, and `SLDSGlobalHeaderProfile` components.\n\t\t */\n\t\tchildren: PropTypes.node,\n\t\t/**\n\t\t * The Salesforce logo to display in the header.\n\t\t */\n\t\tlogoSrc: PropTypes.string,\n\t\t/**\n\t\t * Pass in the Global Navigation Bar component\n\t\t */\n\t\tnavigation: PropTypes.node,\n\t\t/**\n\t\t * Required for accessibility. Should jump the user to the primary content area.\n\t\t */\n\t\tonSkipToContent: PropTypes.func,\n\t\t/**\n\t\t * Required for accessibility. Should jump the user to the primary navigation.\n\t\t */\n\t\tonSkipToNav: PropTypes.func,\n\t};\n\n\tstatic defaultProps = defaultProps;\n\n\tconstructor(props) {\n\t\tsuper(props);\n\n\t\tcheckProps(GLOBAL_HEADER, props, componentDoc);\n\t}\n\n\thandleSkipToContent = (e) => {\n\t\tEventUtil.trap(e);\n\t\tthis.props.onSkipToContent(e);\n\t};\n\n\thandleSkipToNav = (e) => {\n\t\tEventUtil.trap(e);\n\t\tthis.props.onSkipToNav(e);\n\t};\n\n\trender() {\n\t\tconst assistiveText = {\n\t\t\t...defaultProps.assistiveText,\n\t\t\t...this.props.assistiveText,\n\t\t};\n\t\tlet actions = {\n\t\t\t[GLOBAL_HEADER_FAVORITES]: [],\n\t\t\t[GLOBAL_HEADER_HELP]: [],\n\t\t\t[GLOBAL_HEADER_NOTIFICATIONS]: [],\n\t\t\t[GLOBAL_HEADER_PROFILE]: [],\n\t\t\t[GLOBAL_HEADER_SETUP]: [],\n\t\t\t[GLOBAL_HEADER_TASK]: [],\n\t\t\t[GLOBAL_HEADER_TOOL]: [], // support for deprecated GlobalHeaderButton and GlobalHeaderDropdown\n\t\t};\n\t\tlet search;\n\n\t\tReact.Children.forEach(this.props.children, (child) => {\n\t\t\tif (child) {\n\t\t\t\tif (child.type.displayName === GLOBAL_HEADER_SEARCH) {\n\t\t\t\t\tsearch = child;\n\t\t\t\t} else if (actions[child.type.displayName]) {\n\t\t\t\t\t// eslint-disable-next-line fp/no-mutating-methods\n\t\t\t\t\tactions[child.type.displayName].push(child);\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\n\t\tactions = [].concat(\n\t\t\tactions[GLOBAL_HEADER_FAVORITES],\n\t\t\tactions[GLOBAL_HEADER_TASK],\n\t\t\tactions[GLOBAL_HEADER_HELP],\n\t\t\tactions[GLOBAL_HEADER_SETUP],\n\t\t\tactions[GLOBAL_HEADER_NOTIFICATIONS],\n\t\t\tactions[GLOBAL_HEADER_TOOL], // support for deprecated GlobalHeaderButton and GlobalHeaderDropdown\n\t\t\tactions[GLOBAL_HEADER_PROFILE]\n\t\t);\n\n\t\t/* eslint-disable max-len, no-script-url */\n\t\treturn (\n\t\t\t<header className=\"slds-global-header_container\">\n\t\t\t\t{this.props.onSkipToNav ? (\n\t\t\t\t\t<a\n\t\t\t\t\t\thref=\"javascript:void(0);\"\n\t\t\t\t\t\tclassName=\"slds-assistive-text slds-assistive-text_focus\"\n\t\t\t\t\t\tonClick={this.handleSkipToNav}\n\t\t\t\t\t>\n\t\t\t\t\t\t{this.props.skipToNavAssistiveText || assistiveText.skipToNav}\n\t\t\t\t\t</a>\n\t\t\t\t) : null}\n\t\t\t\t{this.props.onSkipToContent ? (\n\t\t\t\t\t<a\n\t\t\t\t\t\thref=\"javascript:void(0);\"\n\t\t\t\t\t\tclassName=\"slds-assistive-text slds-assistive-text_focus\"\n\t\t\t\t\t\tonClick={this.handleSkipToContent}\n\t\t\t\t\t>\n\t\t\t\t\t\t{this.props.skipToContentAssistiveText ||\n\t\t\t\t\t\t\tassistiveText.skipToContent}\n\t\t\t\t\t</a>\n\t\t\t\t) : null}\n\t\t\t\t<div className=\"slds-global-header slds-grid slds-grid_align-spread\">\n\t\t\t\t\t<div className=\"slds-global-header__item\">\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tclassName=\"slds-global-header__logo\"\n\t\t\t\t\t\t\tstyle={{ backgroundImage: `url(${this.props.logoSrc})` }}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</div>\n\t\t\t\t\t{search}\n\t\t\t\t\t<div className=\"slds-global-header__item\">\n\t\t\t\t\t\t<ul className=\"slds-global-actions\">\n\t\t\t\t\t\t\t{actions.map((actionItem, index) => (\n\t\t\t\t\t\t\t\t<li\n\t\t\t\t\t\t\t\t\tclassName=\"slds-global-actions__item\"\n\t\t\t\t\t\t\t\t\tkey={`actions-item-${index}`} /* eslint-disable-line react/no-array-index-key */\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{actionItem}\n\t\t\t\t\t\t\t\t</li>\n\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t</ul>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t\t{this.props.navigation}\n\t\t\t</header>\n\t\t);\n\t\t/* eslint-enable max-len, no-script-url */\n\t}\n}\n\nexport default GlobalHeader;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// # Global Header Button Component\n// NOTE: THIS COMPONENT HAS BEEN DEPRECATED AND WILL BE REMOVED IN FUTURE MAJOR RELEASES\n\n// ## Dependencies\n\n// ### React\nimport React from 'react';\n\n// ### Button\nimport Button from '../button';\n\n// This component's `checkProps` which issues warnings to developers about properties\n// when in development mode (similar to React's built in development tools)\nimport checkProps from './check-props';\n\n// ## Constants\nimport {\n\tGLOBAL_HEADER_BUTTON,\n\tGLOBAL_HEADER_TOOL,\n} from '../../utilities/constants';\n\n/**\n * A helper component that renders a Button in the tools area of the Global Header. Currently defaults to a bare icon, but this can be overriden if text-based buttons are required.\n */\nconst GlobalHeaderButton = (props) => {\n\tcheckProps(GLOBAL_HEADER_BUTTON, props);\n\tconst { buttonVariant, ...rest } = props;\n\tconst btn = <Button iconVariant=\"global-header\" variant=\"icon\" {...rest} />;\n\treturn buttonVariant === 'dropdown' ? btn : <li>{btn}</li>;\n};\n\nGlobalHeaderButton.displayName = GLOBAL_HEADER_TOOL;\n\nexport default GlobalHeaderButton;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n/* eslint-disable jsx-a11y/no-noninteractive-element-interactions */\n\n// # Global Header Dropdown Component\n\n// ## Dependencies\n\n// ### React\nimport React from 'react';\n\nimport PropTypes from 'prop-types';\n\n// ### classNames\n// [github.com/JedWatson/classnames](https://github.com/JedWatson/classnames)\n// This project uses `classnames`, \"a simple javascript utility for conditionally\n// joining classNames together.\"\nimport classnames from 'classnames';\n\n// ### Dropdown\nimport Button from '../button';\n\n// ### Children\nimport { MENU_DROPDOWN_TRIGGER } from '../../../utilities/constants';\n\n/**\n * The Dropdown Button Trigger renders the default trigger button for the dropdown menu. If this component has children, it does not render itself to the DOM. Instead, it renders its child element, `Button`, and all that child's properties. This component may be used as a template to create custom triggers that do not use `Button`.\n */\nclass GlobalHeaderDropdownTrigger extends React.Component {\n\t// TODO: Make this a stateless component, however dropdowns break when this component becomes stateless.\n\n\t// ### Display Name\n\t// Always use the canonical component name (set in the core) as the React\n\t// display name.\n\tstatic displayName = MENU_DROPDOWN_TRIGGER;\n\n\t// ### Prop Types\n\tstatic propTypes = {\n\t\t/**\n\t\t * An image URL or avatar node to display for the user profile.\n\t\t */\n\t\tavatar: PropTypes.oneOfType([PropTypes.string, PropTypes.node]),\n\t\t/**\n\t\t * CSS classes to be added to `li` element.\n\t\t */\n\t\tclassName: PropTypes.oneOfType([\n\t\t\tPropTypes.array,\n\t\t\tPropTypes.object,\n\t\t\tPropTypes.string,\n\t\t]),\n\t\t/**\n\t\t * A unique ID is needed in order to support keyboard navigation, ARIA support, and connect the dropdown to the triggering button.\n\t\t */\n\t\tid: PropTypes.string,\n\t\t/**\n\t\t * Informs the trigger on the open/close state of the dropdown menu\n\t\t */\n\t\tisOpen: PropTypes.bool,\n\t\t/**\n\t\t * Adds custom styling such as inverse fill and special sizing/spacing\n\t\t */\n\t\tglobalAction: PropTypes.bool,\n\t\t/**\n\t\t * The dropdown menu.\n\t\t */\n\t\tmenu: PropTypes.node,\n\t\t/**\n\t\t * Is only called when `openOn` is set to `hover` and when the triggering li loses focus.\n\t\t */\n\t\tonBlur: PropTypes.func,\n\t\t/**\n\t\t * This prop is passed onto the triggering `li`. Triggered when the trigger li is clicked.\n\t\t */\n\t\tonClick: PropTypes.func,\n\t\t/**\n\t\t * Is only called when `openOn` is set to `hover` and when the triggering li gains focus.\n\t\t */\n\t\tonFocus: PropTypes.func,\n\t\t/**\n\t\t * Called when a key pressed.\n\t\t */\n\t\tonKeyDown: PropTypes.func,\n\t\t/**\n\t\t * Called when mouse clicks down on the trigger li.\n\t\t */\n\t\tonMouseDown: PropTypes.func,\n\t\t/**\n\t\t * Called when mouse hovers over the trigger `li`.\n\t\t */\n\t\tonMouseEnter: PropTypes.func,\n\t\t/**\n\t\t * Called when mouse leaves trigger `li` or the menu.\n\t\t */\n\t\tonMouseLeave: PropTypes.func,\n\t\t/**\n\t\t * Determines if mouse hover or click opens the dropdown menu. The default of `click` is highly recommended to comply with accessibility standards. If you are planning on using hover, please pause a moment and reconsider.\n\t\t */\n\t\topenOn: PropTypes.oneOf(['hover', 'click', 'hybrid']),\n\t\t/**\n\t\t * Set to true if menu is inline and relatively positioned with CSS. This is the typical use case for menus with nubbins.\n\t\t */\n\t\tpositioned: PropTypes.bool,\n\t\t/**\n\t\t * The ref of the actual triggering button.\n\t\t */\n\t\ttriggerRef: PropTypes.func,\n\t};\n\n\trenderAvatar = () => {\n\t\tconst { avatar } = this.props;\n\t\tif (typeof avatar === 'string') {\n\t\t\treturn (\n\t\t\t\t<span className=\"slds-avatar slds-avatar_circle slds-avatar_medium\">\n\t\t\t\t\t<img src={avatar} alt=\"\" />\n\t\t\t\t</span>\n\t\t\t);\n\t\t}\n\t\treturn avatar || null;\n\t};\n\n\t// ### Render\n\trender() {\n\t\t// The following props are provided to the `li`, all others are passed into the `Button`\n\t\tconst {\n\t\t\tclassName,\n\t\t\tid,\n\t\t\tisOpen,\n\t\t\tglobalAction,\n\t\t\tmenu,\n\t\t\tonBlur,\n\t\t\tonClick,\n\t\t\tonFocus,\n\t\t\tonKeyDown,\n\t\t\tonMouseDown,\n\t\t\tonMouseEnter,\n\t\t\tonMouseLeave,\n\t\t\ttriggerRef,\n\t\t\t...rest\n\t\t} = this.props;\n\n\t\treturn (\n\t\t\t/* eslint-disable jsx-a11y/no-static-element-interactions */\n\t\t\t// eslint-disable-next-line jsx-a11y/role-supports-aria-props\n\t\t\t<li\n\t\t\t\taria-haspopup=\"true\"\n\t\t\t\tclassName={classnames(\n\t\t\t\t\t'slds-dropdown-trigger slds-dropdown-trigger_click',\n\t\t\t\t\t{\n\t\t\t\t\t\t'slds-is-open': isOpen,\n\t\t\t\t\t\t'slds-p-around_xx-small': globalAction,\n\t\t\t\t\t},\n\t\t\t\t\tclassName\n\t\t\t\t)}\n\t\t\t\tid={id}\n\t\t\t\tonBlur={onBlur}\n\t\t\t\tonClick={onClick}\n\t\t\t\tonFocus={onFocus}\n\t\t\t\tonKeyDown={onKeyDown}\n\t\t\t\tonMouseDown={onMouseDown}\n\t\t\t\tonMouseEnter={onMouseEnter}\n\t\t\t\tonMouseLeave={onMouseLeave}\n\t\t\t\tref={triggerRef}\n\t\t\t>\n\t\t\t\t{/* eslint-enable jsx-a11y/no-static-element-interactions */}\n\t\t\t\t<Button\n\t\t\t\t\tclassName={classnames({\n\t\t\t\t\t\t'slds-global-header__button_icon-actions': globalAction,\n\t\t\t\t\t})}\n\t\t\t\t\ticonClassName={classnames({\n\t\t\t\t\t\t'slds-global-header__icon-actions': globalAction,\n\t\t\t\t\t})}\n\t\t\t\t\taria-haspopup=\"true\"\n\t\t\t\t\tbuttonVariant=\"dropdown\"\n\t\t\t\t\t{...rest}\n\t\t\t\t>\n\t\t\t\t\t{this.renderAvatar()}\n\t\t\t\t</Button>\n\t\t\t\t{menu}\n\t\t\t</li>\n\t\t);\n\t}\n}\n\nexport default GlobalHeaderDropdownTrigger;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// # Global Header Dropdown Component\n// NOTE: THIS COMPONENT HAS BEEN DEPRECATED AND WILL BE REMOVED IN FUTURE MAJOR RELEASES\n\n// ## Dependencies\n\n// ### React\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\n// ### Dropdown\nimport MenuDropdown from '../menu-dropdown';\nimport GlobalHeaderTrigger from './private/dropdown-trigger';\n\n// This component's `checkProps` which issues warnings to developers about properties\n// when in development mode (similar to React's built in development tools)\nimport checkProps from './check-props';\n\n// ## Constants\nimport {\n\tGLOBAL_HEADER_DROPDOWN,\n\tGLOBAL_HEADER_TOOL,\n} from '../../utilities/constants';\n\n/**\n * This component is an implementation of `MenuDropdown` with a custom trigger. All the properties listed below are provided to the `MenuDropdown` component. Any additional properties are provided to the Custom Trigger (that is the `Button` or `li` tag).\n */\nconst GlobalHeaderDropdown = (props) => {\n\tcheckProps(GLOBAL_HEADER_DROPDOWN, props);\n\n\tconst { globalAction, iconVariant, ...rest } = props;\n\tlet iconVariantOverride;\n\n\tif (globalAction) {\n\t\ticonVariantOverride = 'container';\n\t}\n\n\treturn (\n\t\t<MenuDropdown nubbinPosition=\"top right\" {...rest}>\n\t\t\t<GlobalHeaderTrigger\n\t\t\t\tglobalAction={globalAction}\n\t\t\t\ticonSize={globalAction && 'small'}\n\t\t\t\ticonVariant={iconVariantOverride || iconVariant}\n\t\t\t/>\n\t\t</MenuDropdown>\n\t);\n};\n\n// ### Display Name\n// Always use the canonical component name (set in the core) as the React\n// display name.\nGlobalHeaderDropdown.displayName = GLOBAL_HEADER_TOOL;\n\n// ### Prop Types\nGlobalHeaderDropdown.propTypes = {\n\t/**\n\t * Aligns the right or left side of the menu with the respective side of the trigger. This is not intended for use with `nubbinPosition`.\n\t */\n\talign: PropTypes.oneOf(['left', 'right']),\n\t/**\n\t * Extra classnames to apply to the dropdown menu.\n\t */\n\tclassName: PropTypes.string,\n\t/**\n\t * CSS classes to be added to `li` element.\n\t */\n\tbuttonClassName: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\t/**\n\t * Name of the icon. Visit <a href=\"http://www.lightningdesignsystem.com/resources/icons\">Lightning Design System Icons</a> to reference icon names.\n\t */\n\ticonName: PropTypes.string,\n\t/**\n\t * For icon variants, please reference <a href=\"http://www.lightningdesignsystem.com/components/buttons/#icon\">Lightning Design System Icons</a>.\n\t */\n\ticonVariant: PropTypes.oneOf([\n\t\t'bare',\n\t\t'container',\n\t\t'border',\n\t\t'border-filled',\n\t\t'more',\n\t\t'global-header',\n\t]),\n\t/**\n\t * A unique ID is needed in order to support keyboard navigation, ARIA support, and connect the dropdown to the triggering button.\n\t */\n\tid: PropTypes.string,\n\t/**\n\t * Adds custom styling such as inverse fill and special sizing/spacing\n\t */\n\tglobalAction: PropTypes.bool,\n\t/**\n\t * Positions dropdown menu with a nubbin--that is the arrow notch. The placement options correspond to the placement of the nubbin. This is implemeted with CSS classes and is best used with a `Button` with \"icon container\" styling. Dropdown menus will still be contained to the closest scrolling parent.\n\t */\n\tnubbinPosition: PropTypes.oneOf([\n\t\t'top left',\n\t\t'top',\n\t\t'top right',\n\t\t'bottom left',\n\t\t'bottom',\n\t\t'bottom right',\n\t]),\n\t/**\n\t * Offset adds pixels to the absolutely positioned dropdown menu in the format: ([vertical]px [horizontal]px).\n\t */\n\toffset: PropTypes.string,\n\t/**\n\t * Triggered when an item in the menu is clicked.\n\t */\n\tonSelect: PropTypes.func,\n\t/**\n\t * An array of menu item.\n\t */\n\toptions: PropTypes.array.isRequired,\n};\n\n// ### Default Props\nGlobalHeaderDropdown.defaultProps = {\n\talign: 'right',\n\tbuttonVariant: 'icon',\n\ticonVariant: 'global-header',\n\tnubbinPosition: 'top right',\n};\n\nexport default GlobalHeaderDropdown;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// # Global Header Favorites Component\n// Implements the [Global Header Help design pattern](https://www.lightningdesignsystem.com/components/global-header/#Help) in React.\n\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport assign from 'lodash.assign';\nimport classnames from 'classnames';\n\nimport Button from '../button';\nimport EventUtil from '../../utilities/event';\nimport KEYS from '../../utilities/key-code';\nimport Popover from '../popover';\n\nimport { GLOBAL_HEADER_FAVORITES } from '../../utilities/constants';\n\nconst propTypes = {\n\t/**\n\t * **Assistive text for accessibility**\n\t * * `action`: Description of star button. Default is \"Toggle Favorite.\"\n\t * * `more`: Description of dropdown menu. Default is \"View Favorites.\"\n\t */\n\tassistiveText: PropTypes.shape({\n\t\taction: PropTypes.string,\n\t\tmore: PropTypes.string,\n\t}),\n\t/**\n\t * Disables the favorites action (star) button and not the related Popover.\"\n\t */\n\tactionDisabled: PropTypes.bool,\n\t/**\n\t * Controls whether the favorites action (star) button is selected or not\n\t */\n\tactionSelected: PropTypes.bool,\n\t/**\n\t * This event fires when the favorites action (star) button is toggled. Passes in `event, { actionSelected }`.\n\t */\n\tonToggleActionSelected: PropTypes.func,\n\t/**\n\t * A `Popover` component applied to the favorites more button. The props from this popover will be merged and override any default props. The `children` prop will be ignored.\n\t */\n\tpopover: PropTypes.node,\n};\n\n/**\n * A GlobalHeaderFavorites component. The favorites action is used to \"favorite\" a commonly used page within a user's experience. When a user \"favorites\" a page by pressing the favorites action, the button icon changes color with a small animation to confirm your selection.\n */\nclass GlobalHeaderFavorites extends React.Component {\n\ttoggleActionSelected = (event) => {\n\t\tif (this.props.onToggleActionSelected) {\n\t\t\tthis.props.onToggleActionSelected(event, {\n\t\t\t\tactionSelected: this.props.actionSelected || false,\n\t\t\t});\n\t\t}\n\t};\n\n\trender() {\n\t\tconst actionAriaProps = {};\n\t\tconst popoverProps = assign(\n\t\t\t{\n\t\t\t\talign: 'bottom',\n\t\t\t\tbody: <span />,\n\t\t\t\ttriggerClassName: 'slds-dropdown-trigger slds-dropdown-trigger_click',\n\t\t\t},\n\t\t\tthis.props.popover ? this.props.popover.props : {}\n\t\t);\n\n\t\t// eslint-disable-next-line fp/no-delete\n\t\tdelete popoverProps.children;\n\n\t\tif (this.props.actionSelected) {\n\t\t\tactionAriaProps['aria-pressed'] = true;\n\t\t}\n\n\t\treturn (\n\t\t\t<div className=\"slds-global-actions__favorites slds-dropdown-trigger slds-dropdown-trigger_click\">\n\t\t\t\t<div className=\"slds-button-group\">\n\t\t\t\t\t<Button\n\t\t\t\t\t\tassistiveText={{ icon: this.props.assistiveText.action }}\n\t\t\t\t\t\tclassName={classnames(\n\t\t\t\t\t\t\t'slds-button_icon slds-global-actions__favorites-action',\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t'slds-is-disabled': this.props.actionDisabled,\n\t\t\t\t\t\t\t\t'slds-is-selected': this.props.actionSelected,\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t)}\n\t\t\t\t\t\tdisabled={this.props.actionDisabled}\n\t\t\t\t\t\ticonCategory=\"utility\"\n\t\t\t\t\t\ticonName=\"favorite\"\n\t\t\t\t\t\ticonSize=\"small\"\n\t\t\t\t\t\ticonVariant=\"border\"\n\t\t\t\t\t\tonClick={this.toggleActionSelected}\n\t\t\t\t\t\tonKeyDown={(event) => {\n\t\t\t\t\t\t\tif (event.keyCode === KEYS.ENTER) {\n\t\t\t\t\t\t\t\tEventUtil.trapImmediate(event);\n\t\t\t\t\t\t\t\tthis.toggleActionSelected(event);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}}\n\t\t\t\t\t\ttitle={this.props.assistiveText.action}\n\t\t\t\t\t\tvariant=\"icon\"\n\t\t\t\t\t\t{...actionAriaProps}\n\t\t\t\t\t/>\n\t\t\t\t\t<Popover {...popoverProps}>\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tassistiveText={{ icon: this.props.assistiveText.more }}\n\t\t\t\t\t\t\tclassName=\"slds-button_icon slds-global-actions__favorites-more\"\n\t\t\t\t\t\t\ticonCategory=\"utility\"\n\t\t\t\t\t\t\ticonName=\"down\"\n\t\t\t\t\t\t\ticonSize=\"small\"\n\t\t\t\t\t\t\ticonVariant=\"border\"\n\t\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\t\t// this is needed because the popover trigger wrapper janks up the default styles\n\t\t\t\t\t\t\t\tborderLeft: '0',\n\t\t\t\t\t\t\t\tborderRadius: '0 .25rem .25rem 0',\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\ttitle={this.props.assistiveText.more}\n\t\t\t\t\t\t\tvariant=\"icon\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t</Popover>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t);\n\t}\n}\n\nGlobalHeaderFavorites.displayName = GLOBAL_HEADER_FAVORITES;\n\nGlobalHeaderFavorites.defaultProps = {\n\tassistiveText: {\n\t\taction: 'Toggle Favorite',\n\t\tmore: 'View Favorites',\n\t},\n};\n\nGlobalHeaderFavorites.propTypes = propTypes;\n\nexport default GlobalHeaderFavorites;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// # Global Header Help Component\n// Implements the [Global Header Help design pattern](https://www.lightningdesignsystem.com/components/global-header/#Help) in React.\n\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport assign from 'lodash.assign';\nimport Button from '../button';\nimport Popover from '../popover';\n\nimport { GLOBAL_HEADER_HELP } from '../../utilities/constants';\n\nconst propTypes = {\n\t/**\n\t * **Assistive text for accessibility**\n\t * * `triggerButton`: Assistive text for the GlobalHeaderHelp trigger button. The default is `Help and Training`.\n\t */\n\tassistiveText: PropTypes.shape({\n\t\ttriggerButton: PropTypes.string,\n\t}),\n\t/**\n\t * A `Popover` component. The props from this popover will be merged and override any default props. The `children` prop will be ignored.\n\t */\n\tpopover: PropTypes.node,\n};\n\n/**\n * A GlobalHeaderHelp component.\n */\nclass GlobalHeaderHelp extends React.Component {\n\trender() {\n\t\tconst buttonAriaProps = {\n\t\t\t'aria-haspopup': true,\n\t\t};\n\t\tconst popoverProps = assign(\n\t\t\t{\n\t\t\t\talign: 'bottom',\n\t\t\t\tbody: <span />,\n\t\t\t\ttriggerClassName: 'slds-dropdown-trigger slds-dropdown-trigger_click',\n\t\t\t},\n\t\t\tthis.props.popover ? this.props.popover.props : {}\n\t\t);\n\n\t\t// eslint-disable-next-line fp/no-delete\n\t\tdelete popoverProps.children;\n\n\t\treturn (\n\t\t\t<Popover {...popoverProps}>\n\t\t\t\t<Button\n\t\t\t\t\tassistiveText={{ icon: this.props.assistiveText.triggerButton }}\n\t\t\t\t\tclassName=\"slds-button_icon slds-global-actions__help slds-global-actions__item-action\"\n\t\t\t\t\ticonCategory=\"utility\"\n\t\t\t\t\ticonClassName=\"slds-global-header__icon\"\n\t\t\t\t\ticonName=\"question\"\n\t\t\t\t\ticonSize=\"small\"\n\t\t\t\t\ticonVariant=\"container\"\n\t\t\t\t\ttitle={this.props.assistiveText.triggerButton}\n\t\t\t\t\tvariant=\"icon\"\n\t\t\t\t\t{...buttonAriaProps}\n\t\t\t\t/>\n\t\t\t</Popover>\n\t\t);\n\t}\n}\n\nGlobalHeaderHelp.displayName = GLOBAL_HEADER_HELP;\n\nGlobalHeaderHelp.defaultProps = {\n\tassistiveText: {\n\t\ttriggerButton: 'Help and Training',\n\t},\n};\n\nGlobalHeaderHelp.propTypes = propTypes;\n\nexport default GlobalHeaderHelp;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// # Global Header Notifications Component\n// Implements the [Global Header Notifications design pattern](https://www.lightningdesignsystem.com/components/global-header/#Notifications) in React.\n\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport assign from 'lodash.assign';\nimport Button from '../button';\nimport Popover from '../popover';\n\nimport { GLOBAL_HEADER_NOTIFICATIONS } from '../../utilities/constants';\n\nconst propTypes = {\n\t/**\n\t * **Assistive text for accessibility**\n\t * * `newNotificationsAfter`: Assistive text for when there are new notifications, after the notificationCount. The default is ' new notifications'.\n\t * * `newNotificationsBefore`: Assistive text for when there are new notifications, before the notificationCount. The default is ''.\n\t * * `noNotifications`: Assistive text for when there are no new notifications.\n\t */\n\tassistiveText: PropTypes.shape({\n\t\tnewNotificationsAfter: PropTypes.string,\n\t\tnewNotificationsBefore: PropTypes.string,\n\t\tnoNotifications: PropTypes.string,\n\t}),\n\t/**\n\t * Dictates the number of notifications shown in the new notifications badge.\n\t */\n\tnotificationCount: PropTypes.number,\n\t/**\n\t * A `Popover` component. The props from this popover will be merged and override any default props. The `children` prop will be ignored.\n\t */\n\tpopover: PropTypes.node,\n};\n\n/**\n * A GlobalHeaderNotifications component. Notifications are a way to notify a user about a global change within the application.\n */\nclass GlobalHeaderNotifications extends React.Component {\n\trender() {\n\t\tconst buttonAriaProps = {\n\t\t\t'aria-live': 'assertive',\n\t\t};\n\t\tconst { notificationCount } = this.props;\n\t\tconst popoverProps = assign(\n\t\t\t{\n\t\t\t\talign: 'bottom right',\n\t\t\t\tbody: <span />,\n\t\t\t\ttriggerClassName: 'slds-dropdown-trigger slds-dropdown-trigger_click',\n\t\t\t},\n\t\t\tthis.props.popover ? this.props.popover.props : {}\n\t\t);\n\t\tlet notificationsAssistiveText = this.props.assistiveText.noNotifications;\n\n\t\t// eslint-disable-next-line fp/no-delete\n\t\tdelete popoverProps.children;\n\n\t\tif (notificationCount > 0) {\n\t\t\tnotificationsAssistiveText = `${this.props.assistiveText.newNotificationsBefore}${notificationCount}${this.props.assistiveText.newNotificationsAfter}`;\n\t\t} else {\n\t\t\tbuttonAriaProps['aria-atomic'] = true;\n\t\t}\n\n\t\treturn (\n\t\t\t<Popover {...popoverProps}>\n\t\t\t\t<Button\n\t\t\t\t\tassistiveText={{ icon: notificationsAssistiveText }}\n\t\t\t\t\tclassName=\"slds-button_icon slds-global-actions__notifications slds-global-actions__item-action\"\n\t\t\t\t\ticonCategory=\"utility\"\n\t\t\t\t\ticonClassName=\"slds-global-header__icon\"\n\t\t\t\t\ticonName=\"notification\"\n\t\t\t\t\ticonSize=\"small\"\n\t\t\t\t\ticonVariant=\"container\"\n\t\t\t\t\ttitle={notificationsAssistiveText}\n\t\t\t\t\tvariant=\"icon\"\n\t\t\t\t\t{...buttonAriaProps}\n\t\t\t\t/>\n\t\t\t\t{notificationCount > 0 ? (\n\t\t\t\t\t<span\n\t\t\t\t\t\taria-hidden=\"true\"\n\t\t\t\t\t\tclassName=\"slds-notification-badge slds-incoming-notification slds-show-notification\"\n\t\t\t\t\t>\n\t\t\t\t\t\t{notificationCount}\n\t\t\t\t\t</span>\n\t\t\t\t) : (\n\t\t\t\t\t<span aria-hidden=\"true\" className=\"slds-notification-badge\" />\n\t\t\t\t)}\n\t\t\t</Popover>\n\t\t);\n\t}\n}\n\nGlobalHeaderNotifications.displayName = GLOBAL_HEADER_NOTIFICATIONS;\n\nGlobalHeaderNotifications.defaultProps = {\n\tassistiveText: {\n\t\tnewNotificationsAfter: ' new notifications',\n\t\tnewNotificationsBefore: '',\n\t\tnoNotifications: 'No new notifications',\n\t},\n\tnotificationCount: 0,\n};\n\nGlobalHeaderNotifications.propTypes = propTypes;\n\nexport default GlobalHeaderNotifications;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// # Global Header Button Component\n\n// ## Dependencies\n\n// ### React\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\nimport assign from 'lodash.assign';\nimport classnames from 'classnames';\n\nimport checkProps from './check-props';\n\nimport Button from '../button';\nimport Popover from '../popover';\n\n// ## Constants\nimport { GLOBAL_HEADER_PROFILE } from '../../utilities/constants';\n\n/**\n * This component is an `Avatar` component that opens a `Popover` component when clicked.\n */\nclass GlobalHeaderProfile extends React.Component {\n\tconstructor(props) {\n\t\tsuper(props);\n\t\tcheckProps(GLOBAL_HEADER_PROFILE, props);\n\t}\n\n\trender() {\n\t\tconst buttonAriaProps = {\n\t\t\t'aria-haspopup': true,\n\t\t};\n\t\tconst popoverProps = assign(\n\t\t\t{\n\t\t\t\talign: 'bottom right',\n\t\t\t\tbody: <span />,\n\t\t\t\tclassName: this.props.className,\n\t\t\t\theading: this.props.userName,\n\t\t\t\tid: this.props.id,\n\t\t\t\ttriggerClassName: 'slds-dropdown-trigger slds-dropdown-trigger_click',\n\t\t\t},\n\t\t\tthis.props.popover ? this.props.popover.props : {}\n\t\t);\n\t\t// Note: the default avatar is done this way to prevent documentation from showing this giant string\n\t\t/* eslint-disable max-len */\n\t\tlet avatar =\n\t\t\t'data:image/jpeg;base64,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';\n\t\t/* eslint-enable max-len */\n\n\t\t// eslint-disable-next-line fp/no-delete\n\t\tdelete popoverProps.children;\n\n\t\tavatar = this.props.avatar ? this.props.avatar : avatar;\n\n\t\treturn (\n\t\t\t<Popover {...popoverProps}>\n\t\t\t\t<Button\n\t\t\t\t\tclassName={classnames(\n\t\t\t\t\t\t'slds-global-actions__avatar slds-global-actions__item-action',\n\t\t\t\t\t\tthis.props.buttonClassName\n\t\t\t\t\t)}\n\t\t\t\t\ttitle={this.props.userName}\n\t\t\t\t\tvariant=\"icon\"\n\t\t\t\t\t{...buttonAriaProps}\n\t\t\t\t>\n\t\t\t\t\t{typeof avatar === 'string' ? (\n\t\t\t\t\t\t<span className=\"slds-avatar slds-avatar_circle slds-avatar_medium\">\n\t\t\t\t\t\t\t<img alt={this.props.userName} src={avatar} title=\"User avatar\" />\n\t\t\t\t\t\t</span>\n\t\t\t\t\t) : (\n\t\t\t\t\t\tavatar || null\n\t\t\t\t\t)}\n\t\t\t\t</Button>\n\t\t\t</Popover>\n\t\t);\n\t}\n}\n\n// ### Display Name\nGlobalHeaderProfile.displayName = GLOBAL_HEADER_PROFILE;\n\n// ### Prop Types\nGlobalHeaderProfile.propTypes = {\n\t/**\n\t * Extra classnames to apply to the popover.\n\t */\n\tclassName: PropTypes.string,\n\t/**\n\t * An image URL or avatar node to display for the user profile. Defaults to a base64 encoded generic user avatar image string\n\t */\n\tavatar: PropTypes.oneOfType([PropTypes.string, PropTypes.node]),\n\t/**\n\t * CSS classes to be added to the `button` element.\n\t */\n\tbuttonClassName: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\t/**\n\t * A unique ID is needed in order to support keyboard navigation, ARIA support, and connect the popover to the triggering button. If an id is not provided, it will be automatically generated.\n\t */\n\tid: PropTypes.string,\n\t/**\n\t * A `Popover` component. The props from this popover will be merged and override any default props.\n\t */\n\tpopover: PropTypes.node,\n\t/**\n\t * The user name of the profile. Defaults to \"User Name\"\n\t */\n\tuserName: PropTypes.string,\n};\n\n// ### Default Props\nGlobalHeaderProfile.defaultProps = {\n\tuserName: 'User Name',\n};\n\nexport default GlobalHeaderProfile;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// # Global Header Search Component\n\n// ## Dependencies\n\n// ### React\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\n// ## Constants\nimport { GLOBAL_HEADER_SEARCH } from '../../utilities/constants';\n\n/**\n * The GlobalHeaderSearch component is used for application wide search. The form element is implemented as a `Combobox`.\n */\nconst GlobalHeaderSearch = (props) => (\n\t<div className=\"slds-global-header__item slds-global-header__item_search\">\n\t\t{props.combobox}\n\t</div>\n);\n\nGlobalHeaderSearch.displayName = GLOBAL_HEADER_SEARCH;\n\nGlobalHeaderSearch.propTypes = {\n\t/**\n\t * A required `Combobox` component. The props from this combobox will be merged and override any default props.\n\t */\n\tcombobox: PropTypes.node.isRequired,\n};\n\nexport default GlobalHeaderSearch;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// # Global Header Setup Component\n// Implements the [Global Header Setup design pattern](https://www.lightningdesignsystem.com/components/global-header/#Setup) in React.\n\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport assign from 'lodash.assign';\nimport Button from '../button';\nimport Dropdown from '../menu-dropdown';\nimport DropdownTrigger from '../menu-dropdown/button-trigger';\n\nimport { GLOBAL_HEADER_SETUP } from '../../utilities/constants';\n\nconst propTypes = {\n\t/**\n\t * **Assistive text for accessibility**\n\t * * `triggerButton`: Assistive text for the GlobalHeaderSetup trigger button. The default is `Setup`.\n\t */\n\tassistiveText: PropTypes.shape({\n\t\ttriggerButton: PropTypes.string,\n\t}),\n\t/**\n\t * A `Dropdown` component. The props from this dropdown will be merged and override any default props. This also allows custom content to be passed as children and rendered in the dropdown.\n\t */\n\tdropdown: PropTypes.node,\n};\n\n/**\n * A GlobalHeaderSetup component.\n */\nclass GlobalHeaderSetup extends React.Component {\n\trender() {\n\t\tconst buttonAriaProps = {\n\t\t\t'aria-haspopup': true,\n\t\t};\n\t\tconst dropdownProps = assign(\n\t\t\t{\n\t\t\t\talign: 'right',\n\t\t\t\tnubbinPosition: 'top right',\n\t\t\t},\n\t\t\tthis.props.dropdown ? this.props.dropdown.props : {}\n\t\t);\n\t\tconst dropdownChildren = dropdownProps.children || null;\n\n\t\t// eslint-disable-next-line fp/no-delete\n\t\tdelete dropdownProps.children;\n\n\t\treturn (\n\t\t\t<Dropdown {...dropdownProps}>\n\t\t\t\t<DropdownTrigger>\n\t\t\t\t\t<Button\n\t\t\t\t\t\tassistiveText={{ icon: this.props.assistiveText.triggerButton }}\n\t\t\t\t\t\tclassName=\"slds-button_icon slds-global-actions__setup slds-global-actions__item-action\"\n\t\t\t\t\t\ticonCategory=\"utility\"\n\t\t\t\t\t\ticonClassName=\"slds-global-header__icon\"\n\t\t\t\t\t\ticonName=\"setup\"\n\t\t\t\t\t\ticonSize=\"small\"\n\t\t\t\t\t\ticonVariant=\"container\"\n\t\t\t\t\t\ttitle={this.props.assistiveText.triggerButton}\n\t\t\t\t\t\tvariant=\"icon\"\n\t\t\t\t\t\t{...buttonAriaProps}\n\t\t\t\t\t/>\n\t\t\t\t</DropdownTrigger>\n\t\t\t\t{dropdownChildren}\n\t\t\t</Dropdown>\n\t\t);\n\t}\n}\n\nGlobalHeaderSetup.displayName = GLOBAL_HEADER_SETUP;\n\nGlobalHeaderSetup.defaultProps = {\n\tassistiveText: {\n\t\ttriggerButton: 'Setup',\n\t},\n};\n\nGlobalHeaderSetup.propTypes = propTypes;\n\nexport default GlobalHeaderSetup;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// # Global Header Task Component\n// Implements the [Global Header Task design pattern](https://www.lightningdesignsystem.com/components/global-header/#Task) in React.\n\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport assign from 'lodash.assign';\nimport Button from '../button';\nimport Dropdown from '../menu-dropdown';\nimport DropdownTrigger from '../menu-dropdown/button-trigger';\n\nimport { GLOBAL_HEADER_TASK } from '../../utilities/constants';\n\nconst propTypes = {\n\t/**\n\t * **Assistive text for accessibility**\n\t * * `triggerButton`: Assistive text for the GlobalHeaderTask trigger button. The default is `Global Actions`.\n\t */\n\tassistiveText: PropTypes.shape({\n\t\ttriggerButton: PropTypes.string,\n\t}),\n\t/**\n\t * A `Dropdown` component. The props from this dropdown will be merged and override any default props. This also allows custom content to be passed as children and rendered in the dropdown.\n\t */\n\tdropdown: PropTypes.node,\n};\n\n/**\n * A GlobalHeaderTask component.\n */\nclass GlobalHeaderTask extends React.Component {\n\trender() {\n\t\tconst buttonAriaProps = {\n\t\t\t'aria-haspopup': true,\n\t\t};\n\t\tconst dropdownProps = assign(\n\t\t\t{\n\t\t\t\talign: 'right',\n\t\t\t\tnubbinPosition: 'top right',\n\t\t\t},\n\t\t\tthis.props.dropdown ? this.props.dropdown.props : {}\n\t\t);\n\t\tconst dropdownChildren = dropdownProps.children || null;\n\n\t\t// eslint-disable-next-line fp/no-delete\n\t\tdelete dropdownProps.children;\n\n\t\treturn (\n\t\t\t<Dropdown {...dropdownProps}>\n\t\t\t\t<DropdownTrigger>\n\t\t\t\t\t<Button\n\t\t\t\t\t\tassistiveText={{ icon: this.props.assistiveText.triggerButton }}\n\t\t\t\t\t\tclassName=\"slds-button_icon slds-global-actions__task slds-global-actions__item-action\"\n\t\t\t\t\t\ticonCategory=\"utility\"\n\t\t\t\t\t\ticonName=\"add\"\n\t\t\t\t\t\ticonSize=\"small\"\n\t\t\t\t\t\ticonVariant=\"container\"\n\t\t\t\t\t\ttitle={this.props.assistiveText.triggerButton}\n\t\t\t\t\t\tvariant=\"icon\"\n\t\t\t\t\t\t{...buttonAriaProps}\n\t\t\t\t\t/>\n\t\t\t\t</DropdownTrigger>\n\t\t\t\t{dropdownChildren}\n\t\t\t</Dropdown>\n\t\t);\n\t}\n}\n\nGlobalHeaderTask.displayName = GLOBAL_HEADER_TASK;\n\nGlobalHeaderTask.defaultProps = {\n\tassistiveText: {\n\t\ttriggerButton: 'Global Actions',\n\t},\n};\n\nGlobalHeaderTask.propTypes = propTypes;\n\nexport default GlobalHeaderTask;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// # Global Navigation Bar Component\n\n// Implements the [Global Navigation Bar design pattern](https://www.lightningdesignsystem.com/components/global-navigation#flavor-navigation-bar) in React.\n// Based on SLDS v2.1.0-rc.2\n\n// ## Dependencies\n\n// ### React\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\n// ### classNames\nimport classNames from 'classnames';\n\n// ## Constants\nimport {\n\tGLOBAL_NAVIGATION_BAR,\n\tGLOBAL_NAVIGATION_BAR_REGION,\n} from '../../utilities/constants';\n\nconst auditChildren = (children) => {\n\tlet primaryRegion;\n\t// there can be multiple secondary navigation regions\n\tconst secondaryRegions = [];\n\tlet tertiaryRegion;\n\n\tReact.Children.forEach(children, (child) => {\n\t\tif (child && child.type.displayName === GLOBAL_NAVIGATION_BAR_REGION) {\n\t\t\tif (child.props.region === 'primary') {\n\t\t\t\tprimaryRegion = child;\n\t\t\t} else if (child.props.region === 'secondary') {\n\t\t\t\t// eslint-disable-next-line fp/no-mutating-methods\n\t\t\t\tsecondaryRegions.push(child);\n\t\t\t} else if (child.props.region === 'tertiary') {\n\t\t\t\ttertiaryRegion = child;\n\t\t\t}\n\t\t}\n\t});\n\n\treturn [primaryRegion, ...secondaryRegions, tertiaryRegion];\n};\n\n/**\n * Global Navigation Bar represents a list of links that either take the user to another page or parts of the page the user is in.\n */\nconst GlobalNavigationBar = (props) => (\n\t<div\n\t\tclassName={classNames(\n\t\t\t'slds-context-bar',\n\t\t\t{\n\t\t\t\t[`slds-context-bar_theme-${props.cloud}`]: props.cloud,\n\t\t\t\t[`slds-context-bar_theme-${props.theme}`]: props.theme,\n\t\t\t},\n\t\t\tprops.className\n\t\t)}\n\t>\n\t\t{auditChildren(props.children)}\n\t</div>\n);\n\n// ### Prop Types\nGlobalNavigationBar.propTypes = {\n\t/**\n\t * The items to be displayed in the Global Navigation Bar.\n\t */\n\tchildren: PropTypes.node,\n\t/**\n\t * CSS class names to be added to the container element.\n\t */\n\tclassName: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\t/**\n\t * Typically the cloud name (e.g.- \"sales\" or \"marketing\"). This primarily changes the background color.\n\t */\n\tcloud: PropTypes.string,\n\t/**\n\t * Transforms text and interactions (such as hover) to be more visually accessible.\n\t */\n\ttheme: PropTypes.oneOf(['light', 'dark']),\n};\n\nGlobalNavigationBar.defaultProps = {};\n\nGlobalNavigationBar.displayName = GLOBAL_NAVIGATION_BAR;\n\nexport default GlobalNavigationBar;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// # Global Navigation Bar Button Component\n\n// ## Dependencies\n\n// ### React\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\n// ### classNames\nimport classNames from 'classnames';\n\n// ### Button\nimport Button from '../button';\n\n// ## Constants\nimport { GLOBAL_NAVIGATION_BAR_BUTTON } from '../../utilities/constants';\n\n/**\n * A helper component that renders a Button as an item in the Global Navigation Bar. All props are passed onto `Button` except `active` and `dividerPosition`.\n */\nconst GlobalNavigationButton = ({ active, dividerPosition, ...props }) => (\n\t<li\n\t\tclassName={classNames('slds-context-bar__item', {\n\t\t\t'slds-is-active': active,\n\t\t\t[`slds-context-bar__item_divider-${dividerPosition}`]: dividerPosition,\n\t\t})}\n\t>\n\t\t<Button {...props} />\n\t</li>\n);\n\nGlobalNavigationButton.displayName = GLOBAL_NAVIGATION_BAR_BUTTON;\n\n// ### Prop Types\nGlobalNavigationButton.propTypes = {\n\t/**\n\t * Whether the item is active or not.\n\t */\n\tactive: PropTypes.bool,\n\t/**\n\t * Determines position of separating bar.\n\t */\n\tdividerPosition: PropTypes.oneOf(['left', 'right']),\n};\n\n// ### Default Props\nGlobalNavigationButton.defaultProps = {\n\tclassName: 'slds-context-bar__label-action slds-text-body_regular',\n\t// This is a hack since buttons are not supported by Global Navigation\n\t// Bar and have different `font-size` and `line-height` than links or\n\t// dropdowns.\n\tstyle: { lineHeight: 'inherit' },\n\tvariant: 'base',\n};\n\nexport default GlobalNavigationButton;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n/* eslint-disable import/no-mutable-exports */\n\nimport sunsetProperty from '../../utilities/warning/sunset-property';\nimport getComponentDocFn from '../../utilities/get-component-doc';\n\nlet checkProps = function checkPropsFunction() {};\n\nif (process.env.NODE_ENV !== 'production') {\n\tcheckProps = function checkPropsFunction(COMPONENT, props, jsonDoc) {\n\t\tconst createDocUrl = getComponentDocFn(jsonDoc);\n\n\t\tif (typeof props.assistiveText === 'string') {\n\t\t\tsunsetProperty(\n\t\t\t\tCOMPONENT,\n\t\t\t\tprops.assistiveText,\n\t\t\t\t'assistiveText',\n\t\t\t\t`\\`assistiveText\\` as a string has been deprecated and is now an object to allow for multiple uses in the component. Please use \\`assistiveText.icon\\` instead. ${createDocUrl(\n\t\t\t\t\t'assistiveText'\n\t\t\t\t)}`\n\t\t\t);\n\t\t}\n\t};\n}\n\nexport default checkProps;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n/* eslint-disable jsx-a11y/no-noninteractive-element-interactions */\n\n// # Global Navigation Dropdown Component\n\n// ## Dependencies\n\n// ### React\nimport React from 'react';\n\nimport PropTypes from 'prop-types';\n\n// ### classNames\nimport classNames from 'classnames';\n\nimport colors from '../../utilities/design-tokens/dist/salesforce-skin.common.js';\n\nimport checkProps from './check-props';\nimport componentDoc from './component.json';\n\nimport Button from '../button';\n\n// ## Constants\nimport { MENU_DROPDOWN_TRIGGER } from '../../utilities/constants';\n\n/**\n * The Dropdown Button Trigger renders the default trigger button for the dropdown menu. If this component has children, it does not render itself to the DOM. Instead, it renders its child element, `Button`, and all that child's properties. This component may be used as a template to create custom triggers that do not use `Button`.\n */\nclass GlobalNavigationDropdownTrigger extends React.Component {\n\t// ### Display Name\n\t// Always use the canonical component name (set in the core) as the React\n\t// display name.\n\tstatic displayName = MENU_DROPDOWN_TRIGGER;\n\n\t// ### Prop Types\n\tstatic propTypes = {\n\t\t/**\n\t\t * Whether the item is active or not.\n\t\t */\n\t\tactive: PropTypes.bool,\n\t\t/**\n\t\t * Allows alignment of active item with active application background color.\n\t\t */\n\t\tactiveBackgroundColor: PropTypes.string,\n\t\t/**\n\t\t * **Assistive text for accessibility.**\n\t\t * This object is merged with the default props object on every render.\n\t\t * * `icon`: Text that is visually hidden but read aloud by screenreaders to tell the user what the icon means. If the button has an icon and a visible label, you can omit the <code>assistiveText.icon</code> prop and use the <code>label</code> prop.\n\t\t */\n\t\tassistiveText: PropTypes.shape({\n\t\t\ticon: PropTypes.string,\n\t\t}),\n\t\t/**\n\t\t * CSS classes to be added to the 'li'.\n\t\t */\n\t\tclassName: PropTypes.oneOfType([\n\t\t\tPropTypes.array,\n\t\t\tPropTypes.object,\n\t\t\tPropTypes.string,\n\t\t]),\n\t\t/**\n\t\t * Determines position of separating bar.\n\t\t */\n\t\tdividerPosition: PropTypes.oneOf(['left', 'right']),\n\t\t/**\n\t\t * A unique ID is needed in order to support keyboard navigation, ARIA support, and connect the dropdown to the triggering button.\n\t\t */\n\t\tid: PropTypes.string,\n\t\t/**\n\t\t * Allows the dropdown menu to style itself accordingly when open since CSS hover rules cannot take effect if the menu is not inline.\n\t\t */\n\t\tisOpen: PropTypes.bool,\n\t\t/**\n\t\t * Visible label on the dropdown menu trigger button.\n\t\t */\n\t\tlabel: PropTypes.string,\n\t\t/**\n\t\t * The dropdown menu.\n\t\t */\n\t\tmenu: PropTypes.node,\n\t\t/**\n\t\t * Is only called when `openOn` is set to `hover` and when the triggering li loses focus.\n\t\t */\n\t\tonBlur: PropTypes.func,\n\t\t/**\n\t\t * This prop is passed onto the triggering `li`. Triggered when the trigger li is clicked.\n\t\t */\n\t\tonClick: PropTypes.func,\n\t\t/**\n\t\t * Is only called when `openOn` is set to `hover` and when the triggering li gains focus.\n\t\t */\n\t\tonFocus: PropTypes.func,\n\t\t/**\n\t\t * Called when a key pressed.\n\t\t */\n\t\tonKeyDown: PropTypes.func,\n\t\t/**\n\t\t * Called when mouse clicks down on the trigger `li`.\n\t\t */\n\t\tonMouseDown: PropTypes.func,\n\t\t/**\n\t\t * Called when mouse hovers over the trigger `li`.\n\t\t */\n\t\tonMouseEnter: PropTypes.func,\n\t\t/**\n\t\t * Called when mouse leaves trigger `li` or the menu.\n\t\t */\n\t\tonMouseLeave: PropTypes.func,\n\t\t/**\n\t\t * The ref of the actual triggering button.\n\t\t */\n\t\ttriggerRef: PropTypes.func,\n\t};\n\n\tstatic defaultProps = { assistiveText: { icon: 'Open menu item submenu' } };\n\n\tconstructor(props) {\n\t\tsuper(props);\n\t\tcheckProps(MENU_DROPDOWN_TRIGGER, this.props, componentDoc);\n\t}\n\n\t// ### Render\n\trender() {\n\t\tconst {\n\t\t\tactive,\n\t\t\tactiveBackgroundColor,\n\t\t\tclassName,\n\t\t\tdividerPosition,\n\t\t\tid,\n\t\t\tisOpen,\n\t\t\tlabel,\n\t\t\tmenu,\n\t\t\tonBlur,\n\t\t\tonClick,\n\t\t\tonFocus,\n\t\t\tonKeyDown,\n\t\t\tonMouseDown,\n\t\t\tonMouseEnter,\n\t\t\tonMouseLeave,\n\t\t\ttriggerRef,\n\t\t\t...rest\n\t\t} = this.props;\n\n\t\tconst listItemstyle = {};\n\t\t// Uses design token to get correct color\n\t\tconst hoverBackgroundColor = colors.brandPrimaryTransparent10;\n\n\t\tif (active) {\n\t\t\tlistItemstyle.backgroundColor = activeBackgroundColor;\n\t\t\tlistItemstyle.borderBottomColor = activeBackgroundColor;\n\t\t}\n\n\t\t// Per SLDS pattern, set trigger style like hover style, so that hover visuals and menu being open and closed are in same state\n\t\tif (isOpen) {\n\t\t\tlistItemstyle.backgroundColor = hoverBackgroundColor;\n\t\t}\n\n\t\treturn (\n\t\t\t// eslint-disable-next-line jsx-a11y/role-supports-aria-props\n\t\t\t<li\n\t\t\t\taria-haspopup=\"true\"\n\t\t\t\tclassName={classNames(\n\t\t\t\t\t'slds-context-bar__item slds-context-bar__dropdown-trigger slds-dropdown-trigger slds-dropdown-trigger_click',\n\t\t\t\t\t{\n\t\t\t\t\t\t'slds-is-open': isOpen,\n\t\t\t\t\t\t'slds-is-active': active,\n\t\t\t\t\t\t[`slds-context-bar__item_divider-${dividerPosition}`]: dividerPosition,\n\t\t\t\t\t},\n\t\t\t\t\tclassName\n\t\t\t\t)}\n\t\t\t\tid={id}\n\t\t\t\tonBlur={onBlur}\n\t\t\t\tonClick={onClick}\n\t\t\t\tonFocus={onFocus}\n\t\t\t\tonKeyDown={onKeyDown}\n\t\t\t\tonMouseDown={onMouseDown}\n\t\t\t\tonMouseEnter={onMouseEnter}\n\t\t\t\tonMouseLeave={onMouseLeave}\n\t\t\t\tref={triggerRef}\n\t\t\t\tstyle={listItemstyle}\n\t\t\t>\n\t\t\t\t<a className=\"slds-context-bar__label-action\" title={label}>\n\t\t\t\t\t<span className=\"slds-truncate\" title={label}>\n\t\t\t\t\t\t{label}\n\t\t\t\t\t</span>\n\t\t\t\t</a>\n\t\t\t\t<div className=\"slds-context-bar__icon-action slds-p-left_none\">\n\t\t\t\t\t<Button\n\t\t\t\t\t\tassistiveText={this.props.assistiveText}\n\t\t\t\t\t\t{...rest}\n\t\t\t\t\t\tclassName=\"slds-context-bar__button\"\n\t\t\t\t\t\taria-haspopup=\"true\"\n\t\t\t\t\t\ticonCategory=\"utility\"\n\t\t\t\t\t\ticonName=\"chevrondown\"\n\t\t\t\t\t\ticonVariant=\"bare\"\n\t\t\t\t\t\tvariant=\"icon\"\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t\t{menu}\n\t\t\t</li>\n\t\t);\n\t}\n}\n\nexport default GlobalNavigationDropdownTrigger;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// # Global Navigation Dropdown Component\n\n// ## Dependencies\n\n// ### React\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\nimport checkProps from './check-props';\nimport componentDoc from './component.json';\n\n// ### Dropdown\nimport MenuDropdown from '../menu-dropdown';\nimport GlobalNavigationTrigger from './dropdown-trigger';\n\n// ## Constants\nimport { GLOBAL_NAVIGATION_BAR_DROPDOWN } from '../../utilities/constants';\n\n/**\n * This component is an implementation of `MenuDropdown` with a custom trigger. All the properties listed below are provided to the `MenuDropdown` component. Any additional properties are provided to the Custom Trigger (that is the `Button` or `li` tag).\n */\nconst GlobalNavigationBarDropdown = (props) => {\n\tcheckProps(GLOBAL_NAVIGATION_BAR_DROPDOWN, props, componentDoc);\n\n\t// Separate props we care about in order to pass others along passively to the dropdown component\n\tconst {\n\t\tactive,\n\t\tactiveBackgroundColor,\n\t\tassistiveText,\n\t\tdividerPosition,\n\t\t...rest\n\t} = props;\n\n\treturn (\n\t\t<MenuDropdown\n\t\t\talign=\"right\"\n\t\t\thasStaticAlignment\n\t\t\t// only need if using hybrid or hover\n\t\t\thoverCloseDelay={400}\n\t\t\tlength={props.length}\n\t\t\tmenuPosition=\"relative\"\n\t\t\t{...rest}\n\t\t>\n\t\t\t<GlobalNavigationTrigger\n\t\t\t\tactive={active}\n\t\t\t\tassistiveText={assistiveText}\n\t\t\t\tactiveBackgroundColor={activeBackgroundColor}\n\t\t\t\tdividerPosition={dividerPosition}\n\t\t\t/>\n\t\t</MenuDropdown>\n\t);\n};\n\n// ### Display Name\n// Always use the canonical component name (set in the core) as the React\n// display name.\nGlobalNavigationBarDropdown.displayName = GLOBAL_NAVIGATION_BAR_DROPDOWN;\n\n// ### Prop Types\nGlobalNavigationBarDropdown.propTypes = {\n\t/**\n\t * Whether the item is active or not.\n\t */\n\tactive: PropTypes.bool,\n\t/**\n\t * Allows alignment of active item with active application background color.\n\t */\n\tactiveBackgroundColor: PropTypes.string,\n\t/**\n\t * **Assistive text for accessibility.**\n\t * This object is merged with the default props object on every render.\n\t * * `icon`: Text that is visually hidden but read aloud by screenreaders to tell the user what the icon means. If the button has an icon and a visible label, you can omit the <code>assistiveText.icon</code> prop and use the <code>label</code> prop.\n\t */\n\tassistiveText: PropTypes.shape({\n\t\ticon: PropTypes.string,\n\t}),\n\t/**\n\t * Aligns the right or left side of the menu with the respective side of the trigger. This is not intended for use with `nubbinPosition`.\n\t */\n\talign: PropTypes.oneOf(['left', 'right']),\n\t/**\n\t * Extra classnames to apply to the dropdown menu.\n\t */\n\tclassName: PropTypes.string,\n\t/**\n\t * Determines position of separating bar.\n\t */\n\tdividerPosition: PropTypes.oneOf(['left', 'right']),\n\t/**\n\t * CSS classes to be added to `li` element.\n\t */\n\tbuttonClassName: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\t/**\n\t * A unique ID is needed in order to support keyboard navigation, ARIA support, and connect the dropdown to the triggering button.\n\t */\n\tid: PropTypes.string,\n\t/**\n\t * Provided to List to indicate number of items visible in the List. Pass `null` to display all items, or a string containing one of the numeric option values listed under [Dropdown Height](https://www.lightningdesignsystem.com/components/menus/#flavor-dropdown-height) at the right (eg. '5').\n\t */\n\tlength: PropTypes.oneOf([null, '5', '7', '10']),\n\t/**\n\t * Offset adds pixels to the absolutely positioned dropdown menu in the format: ([vertical]px [horizontal]px).\n\t */\n\toffset: PropTypes.string,\n\t/**\n\t * Triggered when an item in the menu is clicked.\n\t */\n\tonSelect: PropTypes.func,\n\t/**\n\t * An array of menu item.\n\t */\n\toptions: PropTypes.array.isRequired,\n};\n\n// ### Default Props\nGlobalNavigationBarDropdown.defaultProps = {\n\talign: 'right',\n\tlength: null,\n};\n\nexport default GlobalNavigationBarDropdown;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// # GlobalNavigationBar Label Component\n\n// ## Dependencies\n\n// ### React\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\n// ### classNames\nimport classNames from 'classnames';\n\nimport colors from '../../utilities/design-tokens/dist/salesforce-skin.common.js';\n\n// ## Constants\nimport { GLOBAL_NAVIGATION_BAR_LABEL } from '../../utilities/constants';\n\n/**\n * Wraps text in the proper markup and removes link styling to support use in the GlobalNavigationBar.\n */\nconst GlobalNavigationBarLabel = (props) => {\n\t// Separate props we care about in order to pass others along passively to the `span` tag\n\tconst { className, dividerPosition, id, label } = props;\n\n\treturn (\n\t\t<li className=\"slds-context-bar__item slds-no-hover\">\n\t\t\t<span\n\t\t\t\tid={id}\n\t\t\t\t// inline style override\n\t\t\t\tstyle={{ color: colors.colorTextLinkDisabled }}\n\t\t\t\tclassName={classNames(\n\t\t\t\t\t'slds-context-bar__label-action',\n\t\t\t\t\t{\n\t\t\t\t\t\t[`slds-context-bar__item_divider-${dividerPosition}`]: dividerPosition,\n\t\t\t\t\t},\n\t\t\t\t\tclassName\n\t\t\t\t)}\n\t\t\t>\n\t\t\t\t<span className=\"slds-truncate\">{label}</span>\n\t\t\t</span>\n\t\t</li>\n\t);\n};\n\nGlobalNavigationBarLabel.displayName = GLOBAL_NAVIGATION_BAR_LABEL;\n\n// ### Prop Types\nGlobalNavigationBarLabel.propTypes = {\n\t/**\n\t * Class names to be added to the `span` element\n\t */\n\tclassName: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\t/**\n\t * Determines position of separating bar.\n\t */\n\tdividerPosition: PropTypes.oneOf(['left', 'right']),\n\t/**\n\t * Id string applied to first <span> inside of <li>\n\t */\n\tid: PropTypes.string,\n\t/**\n\t * Text to show\n\t */\n\tlabel: PropTypes.string,\n};\n\nexport default GlobalNavigationBarLabel;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// # GlobalNavigationBar Link Component\n\n// ## Dependencies\n\n// ### React\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\n// ### classNames\nimport classNames from 'classnames';\n\n// ### isFunction\nimport isFunction from 'lodash.isfunction';\n\n// ## Constants\nimport { GLOBAL_NAVIGATION_BAR_LINK } from '../../utilities/constants';\n\nfunction handleClick(event, href, onClick) {\n\tevent.preventDefault();\n\n\tonClick(event, { href });\n}\n\n/**\n * Wraps a link in the proper markup to support use in the GlobalNavigationBar.\n */\nconst GlobalNavigationBarLink = (props) => {\n\t// Separate props we care about in order to pass others along passively to the `a` tag\n\tconst {\n\t\tactive,\n\t\tactiveBackgroundColor,\n\t\tassistiveText,\n\t\tclassName,\n\t\tdividerPosition,\n\t\thref,\n\t\tid,\n\t\tlabel,\n\t\tonBlur,\n\t\tonClick,\n\t\tonFocus,\n\t\tonKeyDown,\n\t\tonKeyPress,\n\t\tonKeyUp,\n\t\tonMouseEnter,\n\t\tonMouseLeave,\n\t\ttabIndex,\n\t} = props;\n\n\tconst listItemstyle = active\n\t\t? {\n\t\t\t\tbackgroundColor: activeBackgroundColor,\n\t\t\t\tborderBottomColor: activeBackgroundColor,\n\t\t }\n\t\t: null;\n\n\treturn (\n\t\t<li\n\t\t\tclassName={classNames('slds-context-bar__item', {\n\t\t\t\t'slds-is-active': active,\n\t\t\t\t[`slds-context-bar__item_divider-${dividerPosition}`]: dividerPosition,\n\t\t\t})}\n\t\t\tid={id}\n\t\t\tstyle={listItemstyle}\n\t\t>\n\t\t\t<a\n\t\t\t\thref={href}\n\t\t\t\tclassName={classNames('slds-context-bar__label-action', className)}\n\t\t\t\tonBlur={onBlur}\n\t\t\t\tonClick={\n\t\t\t\t\tisFunction(onClick)\n\t\t\t\t\t\t? (event) => handleClick(event, href, onClick)\n\t\t\t\t\t\t: null\n\t\t\t\t}\n\t\t\t\tonFocus={onFocus}\n\t\t\t\tonKeyDown={onKeyDown}\n\t\t\t\tonKeyPress={onKeyPress}\n\t\t\t\tonKeyUp={onKeyUp}\n\t\t\t\tonMouseEnter={onMouseEnter}\n\t\t\t\tonMouseLeave={onMouseLeave}\n\t\t\t\ttabIndex={tabIndex}\n\t\t\t\ttitle={label}\n\t\t\t>\n\t\t\t\t{active ? (\n\t\t\t\t\t<span className=\"slds-assistive-text\">\n\t\t\t\t\t\t{assistiveText.activeDescriptor}\n\t\t\t\t\t</span>\n\t\t\t\t) : null}\n\t\t\t\t<span className=\"slds-truncate\" title={label}>\n\t\t\t\t\t{label}\n\t\t\t\t</span>\n\t\t\t</a>\n\t\t</li>\n\t);\n};\n\nGlobalNavigationBarLink.displayName = GLOBAL_NAVIGATION_BAR_LINK;\n\n// ### Prop Types\nGlobalNavigationBarLink.propTypes = {\n\t/**\n\t * Whether the item is active or not.\n\t */\n\tactive: PropTypes.bool,\n\t/**\n\t * Allows alignment of active item with active application background color. If application background is dark, text color may need to be `#fff`. This can be done with the style prop.\n\t */\n\tactiveBackgroundColor: PropTypes.string,\n\t/**\n\t * **Assistive text for accessibility.**\n\t * * `activeDescriptor`: The text that appears alongside a link that is currently active.\n\t */\n\tassistiveText: PropTypes.shape({\n\t\tactiveDescriptor: PropTypes.string,\n\t}),\n\t/**\n\t * Class names to be added to the anchor element\n\t */\n\tclassName: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\t/**\n\t * Determines position of separating bar.\n\t */\n\tdividerPosition: PropTypes.oneOf(['left', 'right']),\n\t/**\n\t * The `href` attribute of the link. Please pass in bookmarkable URLs from your routing library. Use `GlobalNavigationBarButton` if a \"real URL\" is not desired. If the `onClick` callback is specified this URL will still be prevented from changing the browser's location.\n\t */\n\thref: PropTypes.string,\n\t/**\n\t * The `id` attribute is applied to the `li` tag. _This was recently changed from being on the anchor tag._\n\t */\n\tid: PropTypes.string,\n\t/**\n\t * Text to show for link item.\n\t */\n\tlabel: PropTypes.string,\n\t/**\n\t * Triggered when focus is removed.\n\t */\n\tonBlur: PropTypes.func,\n\t/**\n\t * `function (event, href)` - fires when the link is clicked. If set, the browser location change to the `href` specified will be ignored, but the `href` will be included in an additional parameter passed to the callback.\n\t */\n\tonClick: PropTypes.func,\n\t/**\n\t * Triggered when component is focused.\n\t */\n\tonFocus: PropTypes.func,\n\t/**\n\t * Triggered when a key is pressed down\n\t */\n\tonKeyDown: PropTypes.func,\n\t/**\n\t * Triggered when a key is pressed and released\n\t */\n\tonKeyPress: PropTypes.func,\n\t/**\n\t * Triggered when a key is released\n\t */\n\tonKeyUp: PropTypes.func,\n\t/**\n\t * Triggered when a mouse arrow hovers\n\t */\n\tonMouseEnter: PropTypes.func,\n\t/**\n\t * Triggered when a mouse arrow no longer hovers\n\t */\n\tonMouseLeave: PropTypes.func,\n\t/**\n\t * Write \"-1\" if you don't want the user to tab to the button.\n\t */\n\ttabIndex: PropTypes.string,\n};\n\nGlobalNavigationBarLink.defaultProps = {\n\tassistiveText: {\n\t\tactiveDescriptor: 'Current page:',\n\t},\n\thref: 'javascript:void(0);', // eslint-disable-line no-script-url\n};\n\nexport default GlobalNavigationBarLink;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n/* eslint-disable jsx-a11y/no-redundant-roles */\n\n// # Global Navigation Bar Region Component\n\n// ## Dependencies\n\n// ### React\nimport React from 'react';\n\nimport PropTypes from 'prop-types';\n\n// ### classNames\nimport classNames from 'classnames';\n\n// ## Constants\nimport { GLOBAL_NAVIGATION_BAR_REGION } from '../../utilities/constants';\n\n// List regions for export\nconst regions = ['primary', 'secondary', 'tertiary'];\n\n/* eslint-disable react/display-name */\nconst renderPrimary = (dividerClass, className, children) => (\n\t<div\n\t\tclassName={classNames('slds-context-bar__primary', dividerClass, className)}\n\t>\n\t\t{children}\n\t</div>\n);\n\nconst renderSecondary = (dividerClass, className, children, navigation) => {\n\tlet region;\n\n\tif (navigation) {\n\t\tregion = (\n\t\t\t<nav\n\t\t\t\tclassName={classNames(\n\t\t\t\t\t'slds-context-bar__secondary',\n\t\t\t\t\tdividerClass,\n\t\t\t\t\tclassName\n\t\t\t\t)}\n\t\t\t\trole=\"navigation\"\n\t\t\t>\n\t\t\t\t<ul className=\"slds-grid\">{children}</ul>\n\t\t\t</nav>\n\t\t);\n\t} else {\n\t\tregion = (\n\t\t\t<div\n\t\t\t\tclassName={classNames(\n\t\t\t\t\t'slds-context-bar__secondary',\n\t\t\t\t\tdividerClass,\n\t\t\t\t\tclassName\n\t\t\t\t)}\n\t\t\t>\n\t\t\t\t<ul className=\"slds-grid\">{children}</ul>\n\t\t\t</div>\n\t\t);\n\t}\n\treturn region;\n};\n\nconst renderTertiary = (dividerClass, className, children) => (\n\t<div\n\t\tclassName={classNames(\n\t\t\t'slds-context-bar__tertiary',\n\t\t\t'slds-col_bump-left',\n\t\t\tdividerClass,\n\t\t\tclassName\n\t\t)}\n\t>\n\t\t<ul className=\"slds-grid\">{children}</ul>\n\t</div>\n);\n\n/* eslint-enable react/display-name */\n\n/**\n * Regions make up a GlobalNavigation Bar and typically contain links and dropdowns. The Primary region contains the AppSwitcher, Application Name, and Object Switcher. The secondary region typically has navigation betweens sections of the application. The tertiary region is aligned to the right side of the screen and contains shortcuts or actions.\n */\nclass Region extends React.Component {\n\tstatic displayName = GLOBAL_NAVIGATION_BAR_REGION;\n\n\tstatic propTypes = {\n\t\t/**\n\t\t * Contents of region. Expects `GlobalNavigationBarLink`, `GlobalNavigationBarDropdown`, `GlobalNavigationBarApplicationName`, `AppSwitcher`, but could be any component. This is the place to pass in an Object Switcher until that is supported.\n\t\t */\n\t\tchildren: PropTypes.node,\n\t\t/**\n\t\t * Determines position of separating bar.\n\t\t */\n\t\tdividerPosition: PropTypes.oneOf(['left', 'right']),\n\t\t/**\n\t\t * CSS classes to be added to the region\n\t\t */\n\t\tclassName: PropTypes.oneOfType([\n\t\t\tPropTypes.array,\n\t\t\tPropTypes.object,\n\t\t\tPropTypes.string,\n\t\t]),\n\t\t/**\n\t\t * Wraps the `secondary` region in a `nav` and adds a role attribute\n\t\t */\n\t\tnavigation: PropTypes.bool,\n\t\t/**\n\t\t * Region wrap children in styling specific to that region. When `tertiary`\n\t\t * region is used, secondary region only supports four list items.\n\t\t */\n\t\tregion: PropTypes.oneOf(['primary', 'secondary', 'tertiary']).isRequired,\n\t};\n\n\trender() {\n\t\tlet region;\n\t\tconst dividerClass = this.props.dividerPosition\n\t\t\t? `slds-context-bar__item_divider-${this.props.dividerPosition}`\n\t\t\t: null;\n\n\t\tswitch (this.props.region) {\n\t\t\tcase 'primary':\n\t\t\t\tregion = renderPrimary(\n\t\t\t\t\tdividerClass,\n\t\t\t\t\tthis.props.className,\n\t\t\t\t\tthis.props.children\n\t\t\t\t);\n\t\t\t\tbreak;\n\t\t\tcase 'secondary':\n\t\t\t\tregion = renderSecondary(\n\t\t\t\t\tdividerClass,\n\t\t\t\t\tthis.props.className,\n\t\t\t\t\tthis.props.children,\n\t\t\t\t\tthis.props.navigation\n\t\t\t\t);\n\t\t\t\tbreak;\n\t\t\tcase 'tertiary':\n\t\t\t\tregion = renderTertiary(\n\t\t\t\t\tdividerClass,\n\t\t\t\t\tthis.props.className,\n\t\t\t\t\tthis.props.children\n\t\t\t\t);\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t// do nothing\n\t\t}\n\n\t\treturn region;\n\t}\n}\n\nexport default Region;\nexport { regions };\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n/* eslint-disable import/no-mutable-exports */\n\nimport componentIsDeprecated from '../../utilities/warning/component-is-deprecated';\n\nlet checkProps = function checkPropsFunction() {};\n\nif (process.env.NODE_ENV !== 'production') {\n\tcheckProps = function checkPropsFunction(COMPONENT, props) {\n\t\tcomponentIsDeprecated(\n\t\t\tCOMPONENT,\n\t\t\tprops,\n\t\t\t'This was decided due to issues with shadow DOM preventing imported SVG files from detecting SLDS styles. Please visit https://www.lightningdesignsystem.com/components/illustration/ to copy the provided example code for use in your application.'\n\t\t);\n\t};\n}\n\nexport default checkProps;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// # Illustration Component\n\n// Based on SLDS v2.6.2\n\n// ## Dependencies\n\n// ### React\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\n// This component's `checkProps` which issues warnings to developers about properties\n// when in development mode (similar to React's built in development tools)\nimport checkProps from './check-props';\n\n// ### classNames\n// [github.com/JedWatson/classnames](https://github.com/JedWatson/classnames)\n// A simple javascript utility for conditionally joining classNames together.\nimport classNames from '../../utilities/class-names';\n\n// ## SVG\nimport Svg from '../utilities/utility-icon/svg';\n\n// ## Constants\nimport { ILLUSTRATION } from '../../utilities/constants';\nimport componentDoc from './component.json';\n\n/**\n * An illustration is an image and inline text that work in tandem to communicate a state in a more friendly way.\n */\nconst Illustration = (props) => {\n\tconst {\n\t\tclassName,\n\t\tillustration,\n\t\theading,\n\t\tmessageBody,\n\t\tname,\n\t\tpath,\n\t\tsize,\n\t\tstyle,\n\t} = props;\n\n\tcheckProps('Illustration', props, componentDoc);\n\tconst kababCaseName = name ? name.replace(/_| /g, '-').toLowerCase() : '';\n\tconst styles = { ...style };\n\tlet illustrationSvg;\n\n\t// large illustration svg should have a default height of 400px if not already specified\n\tif (size === 'large' && !styles.height) {\n\t\tstyles.height = '400px';\n\t}\n\n\tif (illustration) {\n\t\t// Use SVG data passed in with `illustration` prop\n\t\tillustrationSvg = (\n\t\t\t<Svg\n\t\t\t\tclassName=\"slds-illustration__svg\"\n\t\t\t\taria-hidden=\"true\"\n\t\t\t\tdata={illustration}\n\t\t\t\tname={kababCaseName}\n\t\t\t\tstyle={styles}\n\t\t\t/>\n\t\t);\n\t} else if (path) {\n\t\tillustrationSvg = (\n\t\t\t<svg\n\t\t\t\tclassName=\"slds-illustration__svg\"\n\t\t\t\taria-hidden=\"true\"\n\t\t\t\tname={kababCaseName}\n\t\t\t\tstyle={styles}\n\t\t\t>\n\t\t\t\t<use xlinkHref={path} />\n\t\t\t</svg>\n\t\t);\n\t}\n\n\treturn (\n\t\t<div\n\t\t\tclassName={classNames(className, 'slds-illustration', {\n\t\t\t\t'slds-illustration_small': size === 'small',\n\t\t\t\t'slds-illustration_large': size === 'large',\n\t\t\t})}\n\t\t>\n\t\t\t{illustrationSvg}\n\t\t\t<div className=\"slds-text-longform\">\n\t\t\t\t{heading ? (\n\t\t\t\t\t<h3 className=\"slds-text-heading_medium\">{heading}</h3>\n\t\t\t\t) : null}\n\t\t\t\t{messageBody ? (\n\t\t\t\t\t<p className=\"slds-text-body_regular\">{messageBody}</p>\n\t\t\t\t) : null}\n\t\t\t</div>\n\t\t</div>\n\t);\n};\n\n// ### Display Name\n// Always use the canonical component name as the React display name.\nIllustration.displayName = ILLUSTRATION;\n\n// ### Prop Types\nIllustration.propTypes = {\n\t/**\n\t * CSS classes that are applied to the SVG. _Tested with Mocha testing._\n\t */\n\tclassName: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\t/**\n\t * A heading text. It is required if illustration is present. _Tested with snapshot testing._ _Tested with Mocha testing._\n\t */\n\theading: PropTypes.string,\n\t/**\n\t * A custom SVG object to use instead of the supplied SLDS illustrations, look in `design-system-react/icons` for examples and syntax. _Tested with snapshot testing._ _Tested with Mocha testing._\n\t */\n\tillustration: PropTypes.object,\n\t/**\n\t * Indicates whether the illustration SVGs are from the design-system-react repo. If yes, set to true.\n\t */\n\tinternalIllustration: PropTypes.bool.isRequired,\n\t/**\n\t * A message body below the heading to further communicate the state of the component. _Tested with snapshot testing._ _Tested with Mocha testing._\n\t */\n\tmessageBody: PropTypes.oneOfType([PropTypes.string, PropTypes.node]),\n\t/**\n\t * Name of the illustration. Visit <a href='https://lightningdesignsystem.com/components/illustration/'>Lightning Design System Illustration</a> to reference illustration names. _Tested with snapshot testing._ _Tested with Mocha testing._\n\t */\n\tname: PropTypes.string,\n\t/**\n\t * Path to the illustration SVG image. _Tested with snapshot testing._\n\t */\n\tpath: PropTypes.string,\n\t/**\n\t * Size of the illustration. _Tested with snapshot testing._ _Tested with Mocha testing._\n\t */\n\tsize: PropTypes.oneOf(['small', 'large']),\n\t/**\n\t * Custom styles to be passed to the illustration SVG. _Tested with Mocha testing._\n\t */\n\tstyle: PropTypes.object,\n};\n\nIllustration.defaultProps = {\n\tinternalIllustration: true,\n\tsize: 'small',\n\tstyle: {},\n};\n\nexport default Illustration;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n/* eslint-disable import/no-mutable-exports */\n/* eslint-disable max-len */\n\nimport componentIsDeprecated from '../../../utilities/warning/component-is-deprecated';\n\nlet checkProps = function checkPropsFunction() {};\n\nif (process.env.NODE_ENV !== 'production') {\n\tcheckProps = function checkPropsFunction(COMPONENT, props) {\n\t\tcomponentIsDeprecated(\n\t\t\tCOMPONENT,\n\t\t\tprops,\n\t\t\t'For a multiple input form, please use the pattern located at https://www.lightningdesignsystem.com/components/form-element/#Record-Detail that swaps out a read-only `Input` with a base `Input`. For a single input, please use a `Popover` paired with `<Button\tcategory=\"utility\" iconName=\"edit\" variant=\"icon\" />` as the trigger.'\n\t\t);\n\t};\n}\n\nexport default checkProps;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// # Inline Edit Component\n\n// Implements an inline edit component based on the [Input design pattern](https://www.lightningdesignsystem.com/components/forms/#input) in React.\n\n// ## Dependencies\n\n// ### React\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\n// ### isFunction\nimport isFunction from 'lodash.isfunction';\n\n// ## Children\nimport Button from '../../button';\nimport Input from '../../input/index';\nimport InputIcon from '../../icon/input-icon';\n\n// ### Event Helpers\nimport KEYS from '../../../utilities/key-code';\n\n// This component's `checkProps` which issues warnings to developers about properties when in development mode (similar to React's built in development tools)\nimport checkProps from './inline-check-props';\n\n// ## Constants\nimport { FORMS_INLINE_EDIT } from '../../../utilities/constants';\n\n// ### Prop Types\nconst propTypes = {\n\t/**\n\t * Class names to be added to the outer container of the input.\n\t */\n\tclassName: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\t/**\n\t * Name of the submitted form parameter.\n\t */\n\tname: PropTypes.string,\n\t/**\n\t * Disables the Inline Edit component and prevents editing the contents.\n\t */\n\tdisabled: PropTypes.bool,\n\t/**\n\t * Every Inline Edit component must have a unique ID in order to support keyboard navigation and ARIA support.\n\t */\n\tid: PropTypes.string.isRequired,\n\t/**\n\t * This event fires when the input changes.\n\t */\n\tonChange: PropTypes.func,\n\t/**\n\t * Function will run when keyup during text edit\n\t */\n\tonKeyUp: PropTypes.func,\n\t/**\n\t * Function will run when we enter edit mode\n\t */\n\tonEnterEditMode: PropTypes.func,\n\t/**\n\t * Function will run when we leave edit mode\n\t */\n\tonLeaveEditMode: PropTypes.func,\n\t/**\n\t * Typically an Inline Edit component will be of the type text, but like the Input element it includes support for all HTML5 types.\n\t */\n\ttype: PropTypes.oneOf([\n\t\t'text',\n\t\t'password',\n\t\t'datetime',\n\t\t'datetime-local',\n\t\t'date',\n\t\t'month',\n\t\t'time',\n\t\t'week',\n\t\t'number',\n\t\t'email',\n\t\t'url',\n\t\t'search',\n\t\t'tel',\n\t\t'color',\n\t]),\n\t/**\n\t * Inline Edit is a controlled component, and will always display this value.\n\t */\n\tvalue: PropTypes.string.isRequired,\n};\n\nconst defaultProps = {\n\tassistiveText: 'Edit text',\n\ttype: 'text',\n};\n\n/**\n * An inline input is rendered as a label by default. When clicked (or tabbed in), it's rendered as an input. When the focus is lost, the current input value is saved and the input is rendered as a label again.\n */\nclass InlineEdit extends React.Component {\n\tconstructor(props) {\n\t\tsuper(props);\n\t\tthis.state = {\n\t\t\tisEditing: false,\n\t\t\tvalue: null,\n\t\t};\n\n\t\tcheckProps(FORMS_INLINE_EDIT, props);\n\t}\n\n\tcomponentDidUpdate() {\n\t\tif (this.autoFocus) {\n\t\t\tif (this.inputNode) {\n\t\t\t\tthis.inputNode.focus();\n\t\t\t\tthis.inputNode.select();\n\t\t\t}\n\t\t\tthis.autoFocus = false;\n\t\t}\n\t}\n\n\tendEditMode = (option) => {\n\t\tif (this.willSave) {\n\t\t\tclearTimeout(this.willSave);\n\t\t\t// eslint-disable-next-line fp/no-delete\n\t\t\tdelete this.willSave;\n\t\t}\n\n\t\tthis.setState({\n\t\t\tisEditing: false,\n\t\t\tvalue: null,\n\t\t});\n\n\t\tif (this.props.onLeaveEditMode && isFunction(this.props.onLeaveEditMode)) {\n\t\t\tthis.props.onLeaveEditMode(undefined, option);\n\t\t}\n\t};\n\n\thandleBlur = () => {\n\t\tif (!this.willSave) {\n\t\t\tthis.willSave = setTimeout(this.saveEdits, 200);\n\t\t}\n\t\tif (this.props.onLeaveEditMode && isFunction(this.props.onLeaveEditMode)) {\n\t\t\tthis.props.onLeaveEditMode();\n\t\t}\n\t};\n\n\thandleChange = (event) => {\n\t\tthis.setState({\n\t\t\tvalue: event.target.value,\n\t\t});\n\t};\n\n\thandleKeyDown = (event) => {\n\t\tif (event.keyCode) {\n\t\t\tif (event.keyCode === KEYS.ESCAPE) {\n\t\t\t\tthis.saveEdits({ cancel: true });\n\t\t\t} else if (event.keyCode === KEYS.ENTER) {\n\t\t\t\tthis.saveEdits();\n\t\t\t}\n\t\t}\n\t};\n\n\thandleKeyUp = (event) => {\n\t\tif (event.keyCode) {\n\t\t\tif (this.props.onKeyUp && isFunction(this.props.onKeyUp)) {\n\t\t\t\tthis.props.onKeyUp(event, {\n\t\t\t\t\tvalue: this.state.value,\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t};\n\n\tsaveEdits = (option) => {\n\t\tif (!(option && option.cancel === true)) {\n\t\t\tif (isFunction(this.props.onChange)) {\n\t\t\t\tthis.props.onChange({\n\t\t\t\t\tvalue: this.state.value,\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t\tthis.endEditMode(option);\n\t};\n\n\ttriggerEditMode = () => {\n\t\tif (!this.props.disabled) {\n\t\t\tthis.autoFocus = true;\n\t\t\tthis.setState({\n\t\t\t\tisEditing: true,\n\t\t\t\tvalue: this.props.value,\n\t\t\t});\n\t\t\tif (isFunction(this.props.onEnterEditMode)) {\n\t\t\t\tthis.props.onEnterEditMode();\n\t\t\t}\n\t\t}\n\t};\n\n\t// ### Render\n\trender() {\n\t\tconst {\n\t\t\tassistiveText,\n\t\t\tdisabled,\n\t\t\tvalue,\n\t\t\tname,\n\n\t\t\t// ### Additional properties\n\t\t\t// Using [object destructuring](https://facebook.github.io/react/docs/transferring-props.html#transferring-with-...-in-jsx) to pass on any properties which are not explicitly defined.\n\t\t\t...rest\n\t\t} = this.props;\n\n\t\treturn (\n\t\t\t<Input\n\t\t\t\t{...rest}\n\t\t\t\ticonRight={\n\t\t\t\t\tthis.state.isEditing ? (\n\t\t\t\t\t\t<InputIcon\n\t\t\t\t\t\t\tcategory=\"utility\"\n\t\t\t\t\t\t\tname=\"close\"\n\t\t\t\t\t\t\tposition=\"right\"\n\t\t\t\t\t\t\tonClick={this.endEditMode}\n\t\t\t\t\t\t\ttabIndex=\"-1\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t) : null\n\t\t\t\t}\n\t\t\t\tdisabled={disabled}\n\t\t\t\tinlineEditTrigger={\n\t\t\t\t\t<Button\n\t\t\t\t\t\tassistiveText={{ icon: assistiveText }}\n\t\t\t\t\t\tclassName=\"slds-m-left_x-small\"\n\t\t\t\t\t\tdisabled={disabled}\n\t\t\t\t\t\ticonCategory=\"utility\"\n\t\t\t\t\t\ticonName=\"edit\"\n\t\t\t\t\t\ticonPosition=\"right\"\n\t\t\t\t\t\ticonSize=\"small\"\n\t\t\t\t\t\tvariant=\"icon\"\n\t\t\t\t\t/>\n\t\t\t\t}\n\t\t\t\tonBlur={this.handleBlur}\n\t\t\t\tonChange={this.handleChange}\n\t\t\t\tonClick={!this.state.isEditing ? this.triggerEditMode : null}\n\t\t\t\tonKeyDown={this.handleKeyDown}\n\t\t\t\tonKeyUp={this.handleKeyUp}\n\t\t\t\tisStatic={!this.state.isEditing}\n\t\t\t\tname={name}\n\t\t\t\tvalue={this.state.isEditing ? this.state.value : value}\n\t\t\t\tinputRef={(input) => {\n\t\t\t\t\tthis.inputNode = input;\n\t\t\t\t}}\n\t\t\t/>\n\t\t);\n\t}\n}\n\nInlineEdit.displayName = FORMS_INLINE_EDIT;\nInlineEdit.propTypes = propTypes;\nInlineEdit.defaultProps = defaultProps;\n\nexport default InlineEdit;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// # Search Component\n\n// Wraps the input to default to a search style.\n\n// ## Dependencies\n\n// ### React\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\n// ## Children\nimport Input from './index';\nimport InputIcon from '../icon/input-icon';\n\nimport checkProps from './check-props';\nimport componentDoc from './component.json';\n\n// ### Event Helpers\nimport KEYS from '../../utilities/key-code';\nimport EventUtil from '../../utilities/event';\n\n// ## Constants\nimport { SEARCH } from '../../utilities/constants';\n\nconst handleKeyDown = (event, onSearch) => {\n\tif (event.keyCode === KEYS.ENTER) {\n\t\tEventUtil.trapImmediate(event);\n\t\tonSearch(event);\n\t}\n};\n\nconst defaultProps = {\n\tassistiveText: {},\n};\n\n/**\n * A `Search` is an `Input` which renders the search icon by default. It can be cleared, too. All `Input` props not specified as props already may be used with this component and will override defaults.\n */\nconst Search = ({ clearable, onClear, onSearch, placeholder, ...props }) => {\n\tcheckProps(SEARCH, props, componentDoc);\n\tconst assistiveText =\n\t\ttypeof props.assistiveText === 'string'\n\t\t\t? props.assistiveText\n\t\t\t: {\n\t\t\t\t\t...defaultProps.assistiveText,\n\t\t\t\t\t...props.assistiveText,\n\t\t\t }.label;\n\treturn (\n\t\t<Input\n\t\t\tassistiveText={{ label: assistiveText }}\n\t\t\ticonLeft={\n\t\t\t\t<InputIcon\n\t\t\t\t\tassistiveText={{ icon: 'Search' }}\n\t\t\t\t\tcategory=\"utility\"\n\t\t\t\t\tname=\"search\"\n\t\t\t\t\tonClick={onSearch}\n\t\t\t\t/>\n\t\t\t}\n\t\t\ticonRight={\n\t\t\t\tclearable ? (\n\t\t\t\t\t<InputIcon\n\t\t\t\t\t\tassistiveText={{ icon: 'Clear' }}\n\t\t\t\t\t\tcategory=\"utility\"\n\t\t\t\t\t\tname=\"clear\"\n\t\t\t\t\t\tonClick={onClear}\n\t\t\t\t\t/>\n\t\t\t\t) : null\n\t\t\t}\n\t\t\tonKeyDown={onSearch ? (event) => handleKeyDown(event, onSearch) : null}\n\t\t\tplaceholder={placeholder}\n\t\t\t{...props}\n\t\t/>\n\t);\n};\n\nSearch.displayName = SEARCH;\n\nSearch.propTypes = {\n\t/**\n\t * **Assistive text for accessibility.**\n\t * This object is merged with the default props object on every render.\n\t * * `label`: Assistive text to search input\n\t */\n\tassistiveText: PropTypes.shape({\n\t\tlabel: PropTypes.string,\n\t}),\n\t/**\n\t * Adds a clear button to right side of the input\n\t */\n\tclearable: PropTypes.bool,\n\t/**\n\t * Triggers when the clear button is clicked\n\t */\n\tonClear: PropTypes.func,\n\t/**\n\t * This event fires when enter is pressed in the `input` or the search button is clicked.\n\t */\n\tonSearch: PropTypes.func,\n\t/**\n\t * Placeholder for the input\n\t */\n\tplaceholder: PropTypes.string,\n};\n\nSearch.defaultProps = defaultProps;\n\nexport default Search;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// Implements the [Map design pattern](https://lightningdesignsystem.com/components/map/) in React.\n// Based on SLDS v2.4.0\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\n// ### shortid\n// [npmjs.com/package/shortid](https://www.npmjs.com/package/shortid)\n// shortid is a short, non-sequential, url-friendly, unique id generator\nimport shortid from 'shortid';\n\nimport Icon from '../icon';\nimport { LOCATION_MAP } from '../../utilities/constants';\n\nconst displayName = LOCATION_MAP;\n\nconst propTypes = {\n\t/**\n\t * CSS class names to be added with `slds-map` class. `array`, `object`, or `string` are accepted.\n\t */\n\tclassName: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\t/**\n\t * CSS class names to be added to the container element. `array`, `object`, or `string` are accepted.\n\t */\n\tclassNameContainer: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\t/**\n\t * Accepts location object that will be shown if no location has been selected. Required\n\t * * `id` : A unique identifier string for the location\n\t * * `name` : Name of the location\n\t * * `address` : Address of the location\n\t */\n\tdefaultLocation: PropTypes.shape({\n\t\tid: PropTypes.string.isRequired,\n\t\tname: PropTypes.string.isRequired,\n\t\taddress: PropTypes.string.isRequired,\n\t}).isRequired,\n\t/**\n\t * HTML id for component.\n\t */\n\tid: PropTypes.string,\n\t/**\n\t * Labels\n\t * * `title` - Title for the LocationMap component.\n\t */\n\tlabels: PropTypes.shape({\n\t\ttitle: PropTypes.string,\n\t}),\n\t/**\n\t * Array of locations objects for the LocationMap component.**\n\t * Each location object can contain:\n\t * * `id` : A unique identifier string for the location\n\t * * `name` : Name of the location\n\t * * `address` : Address of the location\n\t */\n\tlocations: PropTypes.arrayOf(\n\t\tPropTypes.shape({\n\t\t\tid: PropTypes.string.isRequired,\n\t\t\tname: PropTypes.string.isRequired,\n\t\t\taddress: PropTypes.string.isRequired,\n\t\t})\n\t).isRequired,\n\t/**\n\t * Callback function triggered when a location is selected\n\t */\n\tonClickLocation: PropTypes.func,\n\t/**\n\t * Accepts a Google Map API Key that will be used for showing the map\n\t */\n\tgoogleAPIKey: PropTypes.string.isRequired,\n\t/**\n\t * Accepts location object that will be shown when selected\n\t * * `id` : A unique identifier string for the location\n\t * * `name` : Name of the location\n\t * * `address` : Address of the location\n\t */\n\tselection: PropTypes.shape({\n\t\tid: PropTypes.string.isRequired,\n\t\tname: PropTypes.string.isRequired,\n\t\taddress: PropTypes.string.isRequired,\n\t}),\n};\n\nconst defaultProps = {\n\tlabels: {\n\t\ttitle: 'Interactive Map',\n\t},\n};\n\n/**\n * A location map component is used to find and show locations\n */\nclass LocationMap extends React.Component {\n\tconstructor(props) {\n\t\tsuper(props);\n\t\tthis.generatedId = shortid.generate();\n\t}\n\n\t/**\n\t * Get the LocationMap's HTML id. Generate a new one if no ID present.\n\t */\n\tgetId() {\n\t\treturn this.props.id || this.generatedId;\n\t}\n\n\t/**\n\t * Handles clicking of a location\n\t */\n\thandleClick = (event, i) => {\n\t\tif (typeof this.props.onClickLocation === 'function')\n\t\t\tthis.props.onClickLocation(event, this.props.locations[i]);\n\t\tif (this.map) {\n\t\t\tthis.map.focus();\n\t\t}\n\t};\n\n\trender() {\n\t\tconst labels = { ...defaultProps.labels, ...this.props.labels };\n\n\t\treturn (\n\t\t\t<div\n\t\t\t\tid={this.getId()}\n\t\t\t\tclassName={classNames(\n\t\t\t\t\t`slds-grid`,\n\t\t\t\t\t{ 'slds-has-coordinates': this.props.locations },\n\t\t\t\t\tthis.props.classNameContainer\n\t\t\t\t)}\n\t\t\t>\n\t\t\t\t<div className=\"slds-map_container\" style={{ padding: '4px' }}>\n\t\t\t\t\t<div\n\t\t\t\t\t\tclassName={classNames(`slds-map`, this.props.className)}\n\t\t\t\t\t\tref={(map) => {\n\t\t\t\t\t\t\tthis.map = map;\n\t\t\t\t\t\t}}\n\t\t\t\t\t\ttabIndex={0} // eslint-disable-line jsx-a11y/no-noninteractive-tabindex\n\t\t\t\t\t\ttitle={labels.title}\n\t\t\t\t\t>\n\t\t\t\t\t\t<iframe\n\t\t\t\t\t\t\tid={`${this.getId()}-google-map`}\n\t\t\t\t\t\t\tsrc={`https://www.google.com/maps/embed/v1/place?key=${\n\t\t\t\t\t\t\t\tthis.props.googleAPIKey\n\t\t\t\t\t\t\t}&q=${encodeURIComponent(\n\t\t\t\t\t\t\t\tthis.props.selection\n\t\t\t\t\t\t\t\t\t? this.props.selection.address\n\t\t\t\t\t\t\t\t\t: this.props.defaultLocation.address\n\t\t\t\t\t\t\t)}`}\n\t\t\t\t\t\t\ttitle={labels.title}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t\t{this.props.locations.length > 1 ? (\n\t\t\t\t\t<div className=\"slds-coordinates\">\n\t\t\t\t\t\t<div className=\"slds-coordinates__header\">\n\t\t\t\t\t\t\t<h2 className=\"slds-coordinates__title\">\n\t\t\t\t\t\t\t\t{`${labels.title} (${this.props.locations.length})`}\n\t\t\t\t\t\t\t</h2>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<ul className=\"slds-coordinates__list\">\n\t\t\t\t\t\t\t{this.props.locations.map((location, i) => (\n\t\t\t\t\t\t\t\t<li key={location.id} className=\"slds-coordinates__item\">\n\t\t\t\t\t\t\t\t\t<span className=\"slds-assistive-text\" aria-live=\"polite\">\n\t\t\t\t\t\t\t\t\t\t{`${location.name} is currently selected`}\n\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t\t<button\n\t\t\t\t\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\t\t\t\t\tonClick={(event) => this.handleClick(event, i)}\n\t\t\t\t\t\t\t\t\t\tclassName=\"slds-coordinates__item-action slds-button_reset slds-media\"\n\t\t\t\t\t\t\t\t\t\taria-pressed={\n\t\t\t\t\t\t\t\t\t\t\tthis.props.selection &&\n\t\t\t\t\t\t\t\t\t\t\tthis.props.selection.id === location.id\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t<span className=\"slds-media__figure\">\n\t\t\t\t\t\t\t\t\t\t\t<Icon category=\"standard\" name=\"account\" />\n\t\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t\t\t<span className=\"slds-media__body\">\n\t\t\t\t\t\t\t\t\t\t\t<span className=\"slds-text-link\">{location.name}</span>\n\t\t\t\t\t\t\t\t\t\t\t<span>{location.address}</span>\n\t\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t\t\t</li>\n\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t</ul>\n\t\t\t\t\t</div>\n\t\t\t\t) : null}\n\t\t\t</div>\n\t\t);\n\t}\n}\n\nLocationMap.displayName = displayName;\nLocationMap.propTypes = propTypes;\n\nexport default LocationMap;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// Implements the [Lookup design pattern](https://latest-204.lightningdesignsystem.com/components/lookups) in React.\n// Based on SLDS v2.1.0-dev\n\nimport React from 'react';\nimport Icon from '../icon';\nimport EventUtil from '../../utilities/event';\n\nconst displayName = 'LookupDefaultHeader';\nconst propTypes = {};\nconst defaultProps = {};\n\nclass DefaultHeader extends React.Component {\n\t// eslint-disable-next-line camelcase, react/sort-comp\n\tUNSAFE_componentWillReceiveProps(nextProps) {\n\t\tif (\n\t\t\tnextProps.isActive !== this.props.isActive &&\n\t\t\tnextProps.isActive === true\n\t\t) {\n\t\t\tthis.props.setFocus('searchRecords');\n\t\t}\n\t}\n\n\thandleClick = () => {\n\t\tif (this.props.onClose) {\n\t\t\tthis.props.onClose();\n\t\t}\n\t};\n\n\trender() {\n\t\tlet className = 'slds-lookup__item-action slds-lookup__item-action_label';\n\t\tif (this.props.isActive) className += ' slds-theme_shade';\n\n\t\treturn (\n\t\t\t/* eslint-disable jsx-a11y/no-static-element-interactions */\n\t\t\t<div\n\t\t\t\tclassName=\"js-slds-lookup__item\"\n\t\t\t\tonMouseDown={EventUtil.trapImmediate}\n\t\t\t\tonClick={this.handleClick}\n\t\t\t>\n\t\t\t\t{/* eslint-enable jsx-a11y/no-static-element-interactions */}\n\t\t\t\t{/* eslint-disable no-script-url */}\n\t\t\t\t<a id=\"searchRecords\" href=\"javascript:void(0);\" className={className}>\n\t\t\t\t\t{/* eslint-enable no-script-url */}\n\t\t\t\t\t<span className=\"lookup__item-action-label\">\n\t\t\t\t\t\t<Icon\n\t\t\t\t\t\t\tname=\"search\"\n\t\t\t\t\t\t\tcategory=\"utility\"\n\t\t\t\t\t\t\tsize=\"x-small\"\n\t\t\t\t\t\t\tclassName=\"slds-icon-text-default\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<span className=\"slds-truncate\">{this.props.searchTerm}</span>\n\t\t\t\t\t</span>\n\t\t\t\t</a>\n\t\t\t</div>\n\t\t);\n\t}\n}\n\nDefaultHeader.displayName = displayName;\nDefaultHeader.propTypes = propTypes;\nDefaultHeader.defaultProps = defaultProps;\n\nexport default DefaultHeader;\n","// Alias\nimport DefaultHeader from '../../header';\n\nexport default DefaultHeader;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// Implements the [Lookup design pattern](https://latest-204.lightningdesignsystem.com/components/lookups) in React.\n// Based on SLDS v2.1.0-dev\n\nimport React from 'react';\nimport Icon from '../icon';\nimport EventUtil from '../../utilities/event';\n\nconst displayName = 'LookupDefaultFooter';\nconst propTypes = {};\nconst defaultProps = {};\n\nclass DefaultFooter extends React.Component {\n\t// eslint-disable-next-line react/sort-comp, camelcase\n\tUNSAFE_componentWillReceiveProps(nextProps) {\n\t\tif (\n\t\t\tnextProps.isActive !== this.props.isActive &&\n\t\t\tnextProps.isActive === true\n\t\t) {\n\t\t\tthis.props.setFocus('newItem');\n\t\t}\n\t}\n\n\thandleClick = () => {\n\t\tif (this.props.onClose) {\n\t\t\tthis.props.onClose();\n\t\t}\n\t};\n\n\trender() {\n\t\tlet className = 'slds-lookup__item-action slds-lookup__item-action_label';\n\t\tif (this.props.isActive) className += ' slds-theme_shade';\n\n\t\treturn (\n\t\t\t/* eslint-disable jsx-a11y/no-static-element-interactions */\n\t\t\t<div\n\t\t\t\tclassName=\"js-slds-lookup__item\"\n\t\t\t\tonClick={this.handleClick}\n\t\t\t\tonMouseDown={EventUtil.trapImmediate}\n\t\t\t>\n\t\t\t\t{/* eslint-enable jsx-a11y/no-static-element-interactions */}\n\t\t\t\t{/* eslint-disable no-script-url */}\n\t\t\t\t<a id=\"newItem\" href=\"javascript:void(0);\" className={className}>\n\t\t\t\t\t{/* eslint-enable no-script-url */}\n\t\t\t\t\t<span className=\"lookup__item-action-label\">\n\t\t\t\t\t\t<Icon\n\t\t\t\t\t\t\tname=\"add\"\n\t\t\t\t\t\t\tcategory=\"utility\"\n\t\t\t\t\t\t\tsize=\"x-small\"\n\t\t\t\t\t\t\tclassName=\"slds-icon-text-default\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<span className=\"slds-truncate\">\n\t\t\t\t\t\t\t{this.props.newItemLabel\n\t\t\t\t\t\t\t\t? this.props.newItemLabel\n\t\t\t\t\t\t\t\t: 'Add New Item'}\n\t\t\t\t\t\t</span>\n\t\t\t\t\t</span>\n\t\t\t\t</a>\n\t\t\t</div>\n\t\t);\n\t}\n}\n\nDefaultFooter.displayName = displayName;\nDefaultFooter.propTypes = propTypes;\nDefaultFooter.defaultProps = defaultProps;\n\nexport default DefaultFooter;\n","// Alias\nimport DefaultFooter from '../../footer';\n\nexport default DefaultFooter;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\nconst displayName = 'LookupDefaultSectionDivider';\nconst propTypes = {\n\tdata: PropTypes.object,\n};\n\nconst DefaultSectionDivider = (props) => (\n\t<li className=\"slds-p-around_x-small slds-lookup__divider\" tabIndex=\"-1\">\n\t\t<span className=\"slds-m-left_x-small\">\n\t\t\t<strong>{props.data.label}</strong>\n\t\t</span>\n\t</li>\n);\n\nDefaultSectionDivider.displayName = displayName;\nDefaultSectionDivider.propTypes = propTypes;\n\nexport default DefaultSectionDivider;\n","// Alias\nimport DefaultSectionDivider from '../../section-divider';\n\nexport default DefaultSectionDivider;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n/* eslint-disable import/no-mutable-exports */\n\nimport componentIsDeprecated from '../../utilities/warning/component-is-deprecated';\n\nlet checkProps = function checkPropsFunction() {};\n\nif (process.env.NODE_ENV !== 'production') {\n\tcheckProps = function checkPropsFunction(COMPONENT, props) {\n\t\tcomponentIsDeprecated(\n\t\t\tCOMPONENT,\n\t\t\tprops,\n\t\t\t'Please use an auto-complete Combobox instead. It is more accessible and closer aligned to SLDS.'\n\t\t);\n\t};\n}\n\nexport default checkProps;\n","/* eslint-disable prefer-destructuring */\n/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n/* eslint-disable jsx-a11y/role-has-required-aria-props */\n\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport cx from 'classnames';\nimport Icon from '../../icon';\nimport EventUtil from '../../../utilities/event';\n\nconst displayName = 'Lookup-Menu-Item';\nconst propTypes = {\n\tdata: PropTypes.object,\n\thandleItemFocus: PropTypes.func,\n\thref: PropTypes.string,\n\ticonCategory: PropTypes.string,\n\tid: PropTypes.string,\n\tindex: PropTypes.number,\n\tisActive: PropTypes.bool,\n\tisDisabled: PropTypes.bool,\n\tlistItemLabelRenderer: PropTypes.func,\n\tonSelect: PropTypes.func,\n\tsearchTerm: PropTypes.string,\n\tsetFocus: PropTypes.func,\n};\n\nclass Item extends React.Component {\n\t// eslint-disable-next-line camelcase, react/sort-comp\n\tUNSAFE_componentWillReceiveProps(nextProps) {\n\t\tif (\n\t\t\tnextProps.isActive !== this.props.isActive &&\n\t\t\tnextProps.isActive === true\n\t\t) {\n\t\t\tthis.scrollFocus();\n\t\t\tthis.props.setFocus(this.props.id);\n\t\t}\n\t}\n\n\tgetCustomLabel() {\n\t\tconst ListItemLabel = this.props.listItemLabelRenderer;\n\t\treturn <ListItemLabel {...this.props} />;\n\t}\n\n\tgetIcon() {\n\t\tif (this.props.iconName && !this.props.listItemLabelRenderer) {\n\t\t\treturn (\n\t\t\t\t<span className=\"slds-media__figure\">\n\t\t\t\t\t<Icon\n\t\t\t\t\t\tcategory={this.props.iconCategory}\n\t\t\t\t\t\tinverse={this.props.iconInverse}\n\t\t\t\t\t\tkey={this.props.iconName}\n\t\t\t\t\t\tname={this.props.iconName}\n\t\t\t\t\t\tsize=\"small\"\n\t\t\t\t\t/>\n\t\t\t\t</span>\n\t\t\t);\n\t\t}\n\t\treturn null;\n\t}\n\n\tgetLabel() {\n\t\tlet label;\n\t\tif (this.props.children.data.subTitle) {\n\t\t\tlabel = (\n\t\t\t\t<div className=\"slds-media__body\">\n\t\t\t\t\t<div className=\"slds-lookup__result-text\">\n\t\t\t\t\t\t{this.props.children.label}\n\t\t\t\t\t</div>\n\t\t\t\t\t<span className=\"slds-lookup__result-meta slds-text-body_small\">\n\t\t\t\t\t\t{this.props.children.data.subTitle}\n\t\t\t\t\t</span>\n\t\t\t\t</div>\n\t\t\t);\n\t\t} else {\n\t\t\tconst labelClassName = cx('slds-lookup__result-text', {\n\t\t\t\t'slds-m-left_x-small': !this.props.iconName,\n\t\t\t});\n\n\t\t\tlabel = (\n\t\t\t\t<div className=\"slds-media__body\">\n\t\t\t\t\t<div className={labelClassName}>{this.props.children.label}</div>\n\t\t\t\t</div>\n\t\t\t);\n\t\t}\n\t\treturn label;\n\t}\n\n\thandleClick = () => this.props.onSelect(this.props.id, this.props.data);\n\n\t// Scroll menu item based on up/down mouse keys (assumes all items are the same height)\n\tscrollFocus() {\n\t\tconst height = this.itemRef.offsetHeight;\n\t\tif (height && this.props.handleItemFocus) {\n\t\t\tthis.props.handleItemFocus(this.props.index, height);\n\t\t}\n\t}\n\n\trender() {\n\t\tlet itemClassName = 'js-slds-lookup__item';\n\t\tconst id = this.props.id;\n\t\tif (this.props.isActive) itemClassName += ' slds-theme_shade';\n\n\t\treturn (\n\t\t\t// IMPORTANT: anchor id is used to set lookup's input's aria-activedescendant\n\t\t\t<li\n\t\t\t\tclassName={itemClassName}\n\t\t\t\tref={(li) => {\n\t\t\t\t\tthis.itemRef = li;\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\t<a\n\t\t\t\t\taria-disabled={this.props.isDisabled}\n\t\t\t\t\tclassName=\"slds-lookup__item-action slds-media slds-media_center\"\n\t\t\t\t\thref={this.props.href}\n\t\t\t\t\tid={id}\n\t\t\t\t\tonClick={this.handleClick}\n\t\t\t\t\tonMouseDown={EventUtil.trapImmediate}\n\t\t\t\t\tref={id}\n\t\t\t\t\trole=\"option\"\n\t\t\t\t\ttabIndex=\"-1\"\n\t\t\t\t>\n\t\t\t\t\t{this.getIcon()}\n\t\t\t\t\t{this.props.listItemLabelRenderer\n\t\t\t\t\t\t? this.getCustomLabel()\n\t\t\t\t\t\t: this.getLabel()}\n\t\t\t\t</a>\n\t\t\t</li>\n\t\t);\n\t}\n}\n\nItem.displayName = displayName;\nItem.propTypes = propTypes;\n\nexport default Item;\n","/* eslint-disable react/sort-comp */\n/* eslint-disable prefer-destructuring */\n/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport Item from './item';\n\n/* eslint-disable react/no-did-update-set-state */\n\nconst displayName = 'Lookup-Menu';\nconst propTypes = {\n\tboldRegex: PropTypes.instanceOf(RegExp),\n\temptyMessage: PropTypes.oneOfType([PropTypes.string, PropTypes.element]),\n\tfilterWith: PropTypes.func,\n\tfocusIndex: PropTypes.number,\n\tgetListLength: PropTypes.func,\n\ticonCategory: PropTypes.string,\n\titems: PropTypes.array,\n\tlabel: PropTypes.string,\n\tlistLength: PropTypes.number,\n\tsearchTerm: PropTypes.string,\n\tsetFocus: PropTypes.func,\n};\nconst defaultProps = {\n\temptyMessage: 'No matches found.',\n};\nclass Menu extends React.Component {\n\tconstructor(props) {\n\t\tsuper(props);\n\t\tthis.state = { filteredItems: this.filteredItems() };\n\t}\n\n\t// Set filtered list length in parent to determine active indexes for aria-activedescendent\n\tcomponentDidUpdate(prevProps) {\n\t\t// make an array of the children of the list but only count the actual items (but include section dividers)\n\t\tconst childFilter = (child) =>\n\t\t\tchild.className.indexOf('js-slds-lookup__item') > -1 ||\n\t\t\tchild.className.indexOf('slds-lookup__divider') > -1;\n\t\tconst list = [].slice.call(this.listRef.children).filter(childFilter)\n\t\t\t.length;\n\t\tthis.props.getListLength(list);\n\t\tif (\n\t\t\tprevProps.items !== this.props.items ||\n\t\t\tprevProps.filter !== this.props.filter ||\n\t\t\tprevProps.searchTerm !== this.props.searchTerm\n\t\t) {\n\t\t\t// eslint-disable-next-line class-methods-use-this\n\t\t\tthis.setState({\n\t\t\t\tfilteredItems: this.filteredItems(),\n\t\t\t});\n\t\t}\n\t}\n\n\tgetFilteredItemForIndex(i) {\n\t\tif (\n\t\t\ti > -1 &&\n\t\t\tthis.state.filteredItems &&\n\t\t\ti < this.state.filteredItems.length\n\t\t) {\n\t\t\treturn this.state.filteredItems[i];\n\t\t}\n\t\treturn null;\n\t}\n\n\tfilter(item) {\n\t\treturn this.props.filterWith(this.props.searchTerm, item);\n\t}\n\n\t// eslint-disable-next-line class-methods-use-this\n\tfilterEmptySections(items) {\n\t\tconst result = [];\n\t\titems.forEach((item, index) => {\n\t\t\tif (item && item.data && item.data.type === 'section') {\n\t\t\t\tif (index + 1 < items.length) {\n\t\t\t\t\tconst nextItem = items[index + 1];\n\t\t\t\t\tif (nextItem.data && nextItem.data.type !== 'section') {\n\t\t\t\t\t\t// eslint-disable-next-line fp/no-mutating-methods\n\t\t\t\t\t\tresult.push(item);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\t// eslint-disable-next-line fp/no-mutating-methods\n\t\t\t\tresult.push(item);\n\t\t\t}\n\t\t});\n\t\treturn result;\n\t}\n\n\tfilteredItems() {\n\t\treturn this.filterEmptySections(this.props.items.filter(this.filter, this));\n\t}\n\n\t// Scroll menu up/down when using mouse keys\n\thandleItemFocus = (itemIndex, itemHeight) => {\n\t\tif (this.listRef) {\n\t\t\tthis.listRef.scrollTop = itemIndex * itemHeight;\n\t\t}\n\t};\n\n\trenderContent() {\n\t\tif (this.state.filteredItems.length === 0) {\n\t\t\treturn (\n\t\t\t\t<li className=\"slds-lookup__message\" aria-live=\"polite\">\n\t\t\t\t\t<span className=\"slds-m-left_x-large slds-p-vertical_medium\">\n\t\t\t\t\t\t{this.props.emptyMessage}\n\t\t\t\t\t</span>\n\t\t\t\t</li>\n\t\t\t);\n\t\t}\n\n\t\treturn this.renderItems();\n\t}\n\n\trenderFooter() {\n\t\treturn this.props.footer;\n\t}\n\n\trenderHeader() {\n\t\treturn this.props.header;\n\t}\n\n\trenderItems() {\n\t\tconst focusIndex = this.props.focusIndex;\n\t\treturn this.state.filteredItems.map((component, i) => {\n\t\t\t// isActive means it is aria-activedescendant\n\t\t\tconst id = component.id;\n\t\t\tlet isActive = false;\n\t\t\tif (this.props.header) {\n\t\t\t\tisActive = focusIndex === i + 1;\n\t\t\t} else {\n\t\t\t\tisActive = focusIndex === i;\n\t\t\t}\n\t\t\tif (component.data.type === 'section') {\n\t\t\t\tif (this.props.sectionDividerRenderer) {\n\t\t\t\t\tconst SectionDivider = this.props.sectionDividerRenderer;\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<SectionDivider\n\t\t\t\t\t\t\tdata={component.data}\n\t\t\t\t\t\t\tkey={`section_header_${id}`}\n\t\t\t\t\t\t\t{...this.props}\n\t\t\t\t\t\t/>\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn (\n\t\t\t\t<Item\n\t\t\t\t\tboldRegex={this.props.boldRegex}\n\t\t\t\t\tdata={component.data}\n\t\t\t\t\thandleItemFocus={this.handleItemFocus}\n\t\t\t\t\ticonCategory={this.props.iconCategory}\n\t\t\t\t\ticonInverse={this.props.iconInverse}\n\t\t\t\t\ticonName={this.props.iconName}\n\t\t\t\t\tid={id}\n\t\t\t\t\tindex={i}\n\t\t\t\t\tisActive={isActive}\n\t\t\t\t\tkey={id}\n\t\t\t\t\tlistItemLabelRenderer={this.props.listItemLabelRenderer}\n\t\t\t\t\tonSelect={this.props.onSelect}\n\t\t\t\t\tsearchTerm={this.props.searchTerm}\n\t\t\t\t\tsetFocus={this.props.setFocus}\n\t\t\t\t>\n\t\t\t\t\t{component}\n\t\t\t\t</Item>\n\t\t\t);\n\t\t});\n\t}\n\n\trenderSectionDivider() {\n\t\treturn this.props.sectionDivider;\n\t}\n\n\trender() {\n\t\treturn (\n\t\t\t<section id=\"menuContainer\" className=\"ignore-react-onclickoutside\">\n\t\t\t\t{this.renderHeader()}\n\t\t\t\t<ul\n\t\t\t\t\tid=\"list\"\n\t\t\t\t\tclassName=\"slds-lookup__list\"\n\t\t\t\t\trole=\"presentation\"\n\t\t\t\t\tref={(list) => {\n\t\t\t\t\t\tif (list) {\n\t\t\t\t\t\t\tthis.listRef = list;\n\t\t\t\t\t\t}\n\t\t\t\t\t}}\n\t\t\t\t>\n\t\t\t\t\t{this.renderContent()}\n\t\t\t\t</ul>\n\t\t\t\t{this.renderFooter()}\n\t\t\t</section>\n\t\t);\n\t}\n}\n\nMenu.displayName = displayName;\nMenu.propTypes = propTypes;\nMenu.defaultProps = defaultProps;\n\nexport default Menu;\n","// Alias\nimport Menu from '../private/menu';\n\nexport default Menu;\n","/* eslint-disable max-lines */\n/* eslint-disable react/no-access-state-in-setstate */\n/* eslint-disable prefer-destructuring */\n/* eslint-disable max-lines */\n/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n/* eslint-disable jsx-a11y/role-has-required-aria-props */\n\n// # Lookup Component\n\n// Implements the [Lookup design pattern](https://latest-204.lightningdesignsystem.com/components/lookups) in React.\n// Based on SLDS v2.1.0-dev\n\n// ## Dependencies\n\n// ### React\nimport React from 'react';\n\nimport PropTypes from 'prop-types';\nimport escapeRegExp from 'lodash.escaperegexp';\nimport isEqual from 'lodash.isequal';\nimport classNames from 'classnames';\n\n// This component's `checkProps` which issues warnings to developers about properties\n// when in development mode (similar to React's built in development tools)\nimport checkProps from './check-props';\n\n// Children\nimport Dialog from '../utilities/dialog';\nimport Button from '../button';\nimport Icon from '../icon';\nimport InputIcon from '../icon/input-icon';\nimport Input from '../input';\n\n// ### Event Helpers\nimport EventUtil from '../../utilities/event';\nimport KEYS from '../../utilities/key-code';\n\nimport Menu from './menu';\n\nimport { LOOKUP } from '../../utilities/constants';\n\n/**\n * A function that takes a term string and an item and returns a truthy value if the item should be kept.\n */\nconst defaultFilter = (term, item) => {\n\tif (!term) return true;\n\treturn (\n\t\t(item.data && item.data.type === 'section') ||\n\t\titem.label.match(new RegExp(escapeRegExp(term), 'ig'))\n\t);\n};\n\nconst normalizeSearchTerm = (string) =>\n\t(string || '').toString().replace(/^\\s+/, '');\n\n/**\n * ** Lookup is deprecated. Please use an auto-complete Combobox instead.**\n *\n * Lookup is an advanced inline search form. The lookup can parse through single or multi scoped datasets. The parsed dataset can be filtered by single or multi option selects.\n *\n * This component is wrapped in a [higher order component to listen for clicks outside itself](https://github.com/kentor/react-click-outside) and thus requires use of `ReactDOM`.\n */\nconst Lookup = class extends React.Component {\n\tstatic displayName = LOOKUP;\n\n\tstatic propTypes = {\n\t\t/**\n\t\t * If present, the label associated with this `input` is overwritten\n\t\t * by this text and is visually not shown.\n\t\t */\n\t\tassistiveText: PropTypes.oneOfType([PropTypes.object, PropTypes.string]),\n\t\t/**\n\t\t * Class names to be added to the tag classed with `slds-lookup`.\n\t\t */\n\t\tclassName: PropTypes.oneOfType([\n\t\t\tPropTypes.array,\n\t\t\tPropTypes.object,\n\t\t\tPropTypes.string,\n\t\t]),\n\t\t/**\n\t\t * If true, constrains the menu to the scroll parent. Has no effect if `isInline` is `true`.\n\t\t */\n\t\tconstrainToScrollParent: PropTypes.bool,\n\t\t/**\n\t\t * ID for aria-describedby (e.g. for an error message or a description)\n\t\t */\n\t\tdescribedById: PropTypes.string,\n\t\t/**\n\t\t * Please select one of the following:\n\t\t * * `absolute` - (default) The dialog will use `position: absolute` and style attributes to position itself. This allows inverted placement or flipping of the dialog.\n\t\t * * `overflowBoundaryElement` - The dialog will overflow scrolling parents. Use on elements that are aligned to the left or right of their target and don't care about the target being within a scrolling parent. Typically this is a popover or tooltip. Dropdown menus can usually open up and down if no room exists. In order to achieve this a portal element will be created and attached to `body`. This element will render into that detached render tree.\n\t\t * * `relative` - No styling or portals will be used. Menus will be positioned relative to their triggers. This is a great choice for HTML snapshot testing.\n\t\t */\n\t\tmenuPosition: PropTypes.string,\n\t\t/**\n\t\t * This prop is passed onto the `input`. Prevents dropdown menu from opening. Also applies disabled styling to input.\n\t\t */\n\t\tdisabled: PropTypes.bool,\n\t\t/**\n\t\t * Custom message that renders when no matches found. The default empty state is just text that says, 'No matches found.'.\n\t\t */\n\t\temptyMessage: PropTypes.oneOfType([PropTypes.string, PropTypes.element]),\n\t\t/**\n\t\t * Custom function to filter the Lookup items when typing into input field. The default function is case-insensitive and uses the searchTerm to filter Lookup items on their labels.\n\t\t */\n\t\tfilterWith: PropTypes.func,\n\t\t/**\n\t\t * If true, the menu is constrained to the window and may be flipped up. Has no effect if `isInline` is `true`. In other components, its opposite is used `hasStaticAlignment`.\n\t\t */\n\t\tflippable: PropTypes.bool,\n\t\t/**\n\t\t * Custom component for Lookup footer. The default footer allows user to add new item - see <a href='http://www.lightningdesignsystem.com/components/lookups/#base'>Lightning Design System Lookup > Base</a>. To use the default footer, pass in <code>Lookup.DefaultFooter</code>.\n\t\t */\n\t\tfooterRenderer: PropTypes.func,\n\t\t/**\n\t\t * Custom component for Lookup header. The default header has a search icon and shows the search term - see <a href='http://www.lightningdesignsystem.com/components/lookups/#base'>Lightning Design System Lookup > Base</a>. To use the default header, pass in <code>Lookup.DefaultHeader</code>.\n\t\t */\n\t\theaderRenderer: PropTypes.func,\n\t\t/**\n\t\t * Please refer to <a href='http://www.lightningdesignsystem.com/resources/icons'>Lightning Design System Icons</a> to view categories.\n\t\t */\n\t\ticonCategory: PropTypes.string,\n\t\t/**\n\t\t * If true, icon color is white. If false, icon color is the default text color.\n\t\t */\n\t\ticonInverse: PropTypes.bool,\n\t\t/**\n\t\t * Name of icon. Please refer to <a href='http://www.lightningdesignsystem.com/resources/icons'>Lightning Design System Icons</a> to view icon names.\n\t\t */\n\t\ticonName: PropTypes.string,\n\t\t/**\n\t\t * Determines whether the input's icon will display that icon on the left or the right.\n\t\t */\n\t\ticonPosition: PropTypes.oneOf(['left', 'right']),\n\t\t/**\n\t\t * Renders menu within the wrapping trigger as a sibling of the button. By default, you will have an absolutely positioned container at an elevated z-index.\n\t\t */\n\t\tisInline: PropTypes.bool,\n\t\t/**\n\t\t * Whether or not the dropdown menu is open. This overrides the default behavior.\n\t\t */\n\t\tisOpen: PropTypes.bool,\n\t\t/**\n\t\t * Form label for input.\n\t\t */\n\t\tlabel: PropTypes.string,\n\t\t/**\n\t\t * Custom component that overrides the default Lookup Item component.\n\t\t */\n\t\tlistItemLabelRenderer: PropTypes.func,\n\t\t/**\n\t\t * Triggered when input focus is removed.\n\t\t */\n\t\tonBlur: PropTypes.func,\n\t\t/**\n\t\t * Triggered when the contents of the input changes.\n\t\t */\n\t\tonChange: PropTypes.func,\n\t\t/**\n\t\t * Triggered when input is focused.\n\t\t */\n\t\tonFocus: PropTypes.func,\n\t\t/**\n\t\t * Function called when the lookup dropdown would like hide. This will turn the Lookup into into a controlled component. Please use with `isOpen`.\n\t\t */\n\t\tonRequestClose: PropTypes.func,\n\t\t/**\n\t\t * Function called when the lookup dropdown would like show. This will turn the Lookup into into a controlled component. Please use with `isOpen`.\n\t\t */\n\t\tonRequestOpen: PropTypes.func,\n\t\t/**\n\t\t * Triggered when the user scrolls in the dropdown menu.\n\t\t */\n\t\tonScroll: PropTypes.func,\n\t\t/**\n\t\t * Triggered when an item is selected from the dropdown menu.\n\t\t */\n\t\tonSelect: PropTypes.func,\n\t\t/**\n\t\t * Triggered when an item is an item is removed from the input.\n\t\t */\n\t\tonUnselect: PropTypes.func,\n\t\t/**\n\t\t * Item added to the dropdown menu.\n\t\t */\n\t\toptions: PropTypes.array.isRequired,\n\t\t/**\n\t\t * Text that will appear in an empty input.\n\t\t */\n\t\tplaceholder: PropTypes.string,\n\t\t/**\n\t\t * If true, adds asterisk next to input label to indicate it is a required field.\n\t\t */\n\t\trequired: PropTypes.bool,\n\t\t/**\n\t\t * Text passed on to header search input of dropdown menu.\n\t\t */\n\t\tsearchTerm: PropTypes.string,\n\t\t/**\n\t\t * Custom component that overrides the default section divider\n\t\t */\n\t\tsectionDividerRenderer: PropTypes.func,\n\t\t/**\n\t\t * Index of current selected item. To clear the selection, pass in -1.\n\t\t */\n\t\tselectedItem: PropTypes.number,\n\t};\n\n\tstatic defaultProps = {\n\t\tconstrainToScrollParent: true,\n\t\tfilterWith: defaultFilter,\n\t\ticonPosition: 'right',\n\t\tsearchTerm: '',\n\t\tmenuPosition: 'absolute',\n\t};\n\n\tstate = {\n\t\tcurrentFocus: null,\n\t\tfocusIndex: null,\n\t\titems: [],\n\t\tlistLength: this.props.options.length,\n\t\tsearchTerm: normalizeSearchTerm(this.props.searchTerm),\n\t\tselectedIndex: this.props.selectedItem,\n\t};\n\n\tconstructor(props) {\n\t\tsuper(props);\n\n\t\t// `checkProps` issues warnings to developers about properties (similar to React's built in development tools)\n\t\tcheckProps(LOOKUP, props);\n\n\t\t// Keeps track of references of children for keyboard navigation\n\t\tthis.pills = [];\n\t}\n\n\tcomponentDidMount() {\n\t\tthis.modifyItems(this.props.options);\n\t}\n\n\t// eslint-disable-next-line camelcase, react/sort-comp\n\tUNSAFE_componentWillReceiveProps(newProps) {\n\t\tif (newProps.options) {\n\t\t\tthis.modifyItems(newProps.options);\n\t\t}\n\t\tif (\n\t\t\tnewProps.selectedItem !== this.props.selectedItem ||\n\t\t\t!isEqual(newProps.options, this.props.options)\n\t\t) {\n\t\t\tthis.setState({ selectedIndex: newProps.selectedItem });\n\t\t}\n\t}\n\n\tcomponentDidUpdate(prevProps, prevState) {\n\t\tif (\n\t\t\t!isNaN(parseInt(prevState.selectedIndex, 10)) &&\n\t\t\tisNaN(parseInt(this.state.selectedIndex, 10))\n\t\t) {\n\t\t\tif (this.input) {\n\t\t\t\tthis.input.focus();\n\t\t\t}\n\t\t} else if (\n\t\t\tisNaN(parseInt(prevState.selectedIndex, 10)) &&\n\t\t\t!isNaN(parseInt(this.state.selectedIndex, 10))\n\t\t) {\n\t\t\tif (this.pills[this.state.selectedIndex]) {\n\t\t\t\tthis.pills[this.state.selectedIndex].focus();\n\t\t\t}\n\t\t}\n\t}\n\n\tgetClassName = () =>\n\t\tclassNames(this.props.className, 'slds-form-element slds-lookup', {\n\t\t\t'slds-has-selection': this.isSelected(),\n\t\t\t'slds-is-open': this.getIsOpen(),\n\t\t});\n\n\tsetFirstIndex = () => {\n\t\tlet nextFocusIndex = 0;\n\t\tlet filteredItem = this.state.items[0];\n\n\t\tif (this.menuComponent && this.menuComponent.getFilteredItemForIndex) {\n\t\t\tfilteredItem = this.menuComponent.getFilteredItemForIndex(nextFocusIndex);\n\t\t}\n\n\t\tif (filteredItem && filteredItem.data.type === 'section') {\n\t\t\tnextFocusIndex += 1;\n\t\t}\n\n\t\tthis.setState({ focusIndex: nextFocusIndex });\n\t};\n\n\tgetHeader = () => {\n\t\tconst Header = this.props.headerRenderer;\n\t\tconst headerActive = this.state.focusIndex === 0;\n\n\t\treturn (\n\t\t\t<Header\n\t\t\t\tref={(header) => {\n\t\t\t\t\tthis.headerComponent = header;\n\t\t\t\t}}\n\t\t\t\t{...this.props}\n\t\t\t\tfocusIndex={this.state.focusIndex}\n\t\t\t\tisActive={headerActive}\n\t\t\t\tonClose={this.handleClose}\n\t\t\t\tsearchTerm={this.state.searchTerm}\n\t\t\t\tsetFocus={this.setFocus}\n\t\t\t/>\n\t\t);\n\t};\n\n\tgetFooter = () => {\n\t\tconst Footer = this.props.footerRenderer;\n\t\tconst numFocusable = this.getNumFocusableItems();\n\t\tconst footerActive = this.state.focusIndex === numFocusable;\n\n\t\treturn (\n\t\t\t<Footer\n\t\t\t\tref={(footer) => {\n\t\t\t\t\tthis.footerComponent = footer;\n\t\t\t\t}}\n\t\t\t\t{...this.props}\n\t\t\t\tfocusIndex={this.state.focusIndex}\n\t\t\t\tisActive={footerActive}\n\t\t\t\tonClose={this.handleClose}\n\t\t\t\tsetFocus={this.setFocus}\n\t\t\t/>\n\t\t);\n\t};\n\n\tsetFocus = (id) => {\n\t\tthis.setState({ currentFocus: id });\n\t};\n\n\tgetIsOpen = () =>\n\t\t!!(typeof this.props.isOpen === 'boolean'\n\t\t\t? this.props.isOpen\n\t\t\t: this.state.isOpen);\n\n\tgetListLength = (qty) => {\n\t\tif (qty !== this.state.listLength) {\n\t\t\tthis.setState({ listLength: qty });\n\t\t}\n\t};\n\n\tgetNumFocusableItems = () => {\n\t\tlet offset = 0;\n\n\t\tif (this.footerComponent) {\n\t\t\toffset += 1;\n\t\t}\n\n\t\tif (this.headerComponent) {\n\t\t\toffset += 1;\n\t\t}\n\n\t\treturn this.state.listLength - 1 + offset;\n\t};\n\n\t// =================================================\n\t// Using down/up keys, set Focus on list item and assign it to aria-activedescendant attribute in input.\n\t// Need to keep track of filtered list length to be able to increment/decrement the focus index so it's contained to the number of available list items.\n\tincreaseIndex = () => {\n\t\tconst numFocusable = this.getNumFocusableItems();\n\t\tlet nextFocusIndex =\n\t\t\tthis.state.focusIndex < numFocusable ? this.state.focusIndex + 1 : 0;\n\t\tconst filteredItem = this.menuComponent.getFilteredItemForIndex(\n\t\t\tnextFocusIndex\n\t\t);\n\n\t\tif (filteredItem && filteredItem.data.type === 'section') {\n\t\t\tnextFocusIndex += 1;\n\t\t}\n\n\t\tthis.setState({ focusIndex: nextFocusIndex });\n\t};\n\n\tdecreaseIndex = () => {\n\t\tconst numFocusable = this.getNumFocusableItems();\n\t\tlet prevFocusIndex =\n\t\t\tthis.state.focusIndex > 0 ? this.state.focusIndex - 1 : numFocusable;\n\t\tconst filteredItem = this.menuComponent.getFilteredItemForIndex(\n\t\t\tprevFocusIndex\n\t\t);\n\n\t\tif (filteredItem && filteredItem.data.type === 'section') {\n\t\t\tprevFocusIndex = prevFocusIndex === 0 ? numFocusable : prevFocusIndex - 1;\n\t\t}\n\n\t\tthis.setState({ focusIndex: prevFocusIndex });\n\t};\n\n\t// =================================================\n\t// Select menu item (onClick or on key enter/space)\n\tselectItem = (itemId) => {\n\t\tif (itemId) {\n\t\t\tconst index = itemId.replace('item-', '');\n\t\t\tthis.selectItemByIndex(index);\n\t\t}\n\t};\n\n\tselectItemByIndex = (index) => {\n\t\tif (index >= 0 && index < this.state.items.length) {\n\t\t\tif (this.props.onRequestClose) {\n\t\t\t\tthis.props.onRequestClose();\n\t\t\t}\n\t\t\tthis.setState({\n\t\t\t\tisOpen: false,\n\t\t\t\tselectedIndex: index,\n\t\t\t\tsearchTerm: '',\n\t\t\t});\n\t\t\tconst data = this.state.items[index].data;\n\t\t\tif (this.props.onSelect) {\n\t\t\t\tthis.props.onSelect(data);\n\t\t\t}\n\t\t}\n\t};\n\n\thandleDeleteSelected = () => {\n\t\tif (this.props.onRequestOpen) {\n\t\t\tthis.props.onRequestOpen();\n\t\t}\n\t\tthis.setState({\n\t\t\tselectedIndex: null,\n\t\t\tisOpen: true,\n\t\t});\n\n\t\tthis.focusInput();\n\n\t\tif (this.props.onUnselect) {\n\t\t\tthis.props.onUnselect();\n\t\t}\n\t};\n\n\t// =================================================\n\t// Event Listeners on Input\n\thandleClose = () => {\n\t\tif (this.props.onRequestClose) {\n\t\t\tthis.props.onRequestClose();\n\t\t}\n\t\tthis.setState({\n\t\t\tisOpen: false,\n\t\t\tfocusIndex: null,\n\t\t\tcurrentFocus: null,\n\t\t});\n\t};\n\n\thandleClickOutside = () => {\n\t\tthis.handleClose();\n\t};\n\n\thandleEscape = (event) => {\n\t\tif (this.getIsOpen() && event) {\n\t\t\tEventUtil.trap(event);\n\t\t}\n\t\tthis.handleClose();\n\t};\n\n\thandleCancel = () => {\n\t\tthis.handleClose();\n\t};\n\n\thandleClick = () => {\n\t\tif (this.props.onRequestOpen) {\n\t\t\tthis.props.onRequestOpen();\n\t\t}\n\t\tthis.setState({ isOpen: true });\n\t};\n\n\thandleBlur = (event) => {\n\t\tif (this.props.onBlur) {\n\t\t\tconst target = event.target || event.currentTarget;\n\t\t\tthis.props.onBlur(target.value);\n\t\t}\n\t};\n\n\thandleFocus = (event) => {\n\t\tif (this.props.onFocus) {\n\t\t\tconst target = event.target || event.currentTarget;\n\t\t\tthis.props.onFocus(target.value);\n\t\t}\n\t\tif (this.props.onRequestOpen) {\n\t\t\tthis.props.onRequestOpen();\n\t\t}\n\t\tthis.setState({ isOpen: true });\n\t};\n\n\thandleChange = (event) => {\n\t\tconst target = event.target || event.currentTarget;\n\t\tthis.setState({ searchTerm: normalizeSearchTerm(target.value) });\n\t\tif (this.props.onChange) {\n\t\t\tthis.props.onChange(target.value);\n\t\t}\n\t};\n\n\thandleKeyDown = (event) => {\n\t\tif (event.keyCode) {\n\t\t\t// If user hits esc key or tab key, close menu\n\t\t\tif (event.keyCode === KEYS.ESCAPE) {\n\t\t\t\tthis.handleEscape(event);\n\t\t\t} else if (event.keyCode === KEYS.TAB) {\n\t\t\t\t// remove the focus on input, tab focus shoud move to next tabbale elemnt\n\t\t\t\tsetTimeout(() => {\n\t\t\t\t\tthis.handleClose();\n\t\t\t\t}, 200);\n\t\t\t\tthis.handleBlur(event);\n\t\t\t} else {\n\t\t\t\tthis.handleClick();\n\t\t\t}\n\n\t\t\t// If user hits down key, advance aria activedescendant to next item\n\t\t\tif (event.keyCode === KEYS.DOWN) {\n\t\t\t\tEventUtil.trapImmediate(event);\n\t\t\t\tif (this.state.focusIndex === null) {\n\t\t\t\t\tthis.setFirstIndex();\n\t\t\t\t} else {\n\t\t\t\t\tthis.increaseIndex();\n\t\t\t\t}\n\t\t\t} else if (event.keyCode === KEYS.UP) {\n\t\t\t\t// If user hits up key, advance aria activedescendant to previous item\n\t\t\t\tEventUtil.trapImmediate(event);\n\t\t\t\tconst numFocusable = this.getNumFocusableItems();\n\t\t\t\tif (this.state.focusIndex === null) {\n\t\t\t\t\tthis.setState({ focusIndex: numFocusable });\n\t\t\t\t} else {\n\t\t\t\t\tthis.decreaseIndex();\n\t\t\t\t}\n\t\t\t} else if (\n\t\t\t\tevent.keyCode === KEYS.ENTER &&\n\t\t\t\tthis.state.focusIndex !== null\n\t\t\t) {\n\t\t\t\t// If user hits enter, select current activedescendant item\n\t\t\t\tEventUtil.trapImmediate(event);\n\t\t\t\t// If the focus is on the first fixed Action Item in Menu, click it\n\t\t\t\tif (this.headerComponent && this.state.focusIndex === 0) {\n\t\t\t\t\tthis.headerComponent.handleClick();\n\t\t\t\t} else if (\n\t\t\t\t\tthis.footerComponent &&\n\t\t\t\t\tthis.state.focusIndex === this.state.listLength + 1\n\t\t\t\t) {\n\t\t\t\t\t// If the focus is on the last fixed Action Item in Menu, click it\n\t\t\t\t\tthis.footerComponent.handleClick();\n\t\t\t\t} else {\n\t\t\t\t\t// If not, then select menu item\n\t\t\t\t\tthis.selectItem(this.state.currentFocus);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t};\n\n\thandlePillKeyDown = (event) => {\n\t\tif (event.keyCode) {\n\t\t\tif (event.keyCode === KEYS.DELETE || event.keyCode === KEYS.BACKSPACE) {\n\t\t\t\tEventUtil.trapImmediate(event);\n\t\t\t\tthis.handleDeleteSelected();\n\t\t\t}\n\t\t}\n\t};\n\n\tinputRefId = () => `${this.props.label}Lookup`;\n\n\tfocusInput = () => {\n\t\tthis.focusOnRender = true;\n\t};\n\n\tisSelected = () => {\n\t\tconst hasSelection =\n\t\t\t!isNaN(parseInt(this.state.selectedIndex, 10)) &&\n\t\t\tthis.state.selectedIndex >= 0;\n\t\treturn hasSelection;\n\t};\n\n\tmodifyItems = (itemsToModify) => {\n\t\tconst items = itemsToModify.map((item, index) => ({\n\t\t\tid: `item-${index}`,\n\t\t\tlabel: item.label,\n\t\t\tdata: item,\n\t\t}));\n\n\t\tthis.setState({ items });\n\t};\n\n\t// =================================================\n\t// Rendering Things\n\trenderMenuContent = () => (\n\t\t<Menu\n\t\t\tref={(menu) => {\n\t\t\t\tthis.menuComponent = menu;\n\t\t\t}}\n\t\t\temptyMessage={this.props.emptyMessage}\n\t\t\tfilterWith={this.props.filterWith}\n\t\t\tfocusIndex={this.state.focusIndex}\n\t\t\tfooter={this.props.footerRenderer ? this.getFooter() : null}\n\t\t\tgetListLength={this.getListLength}\n\t\t\theader={this.props.headerRenderer ? this.getHeader() : null}\n\t\t\ticonCategory={this.props.iconCategory}\n\t\t\ticonInverse={this.props.iconInverse}\n\t\t\ticonName={this.props.iconName}\n\t\t\titems={this.state.items}\n\t\t\tlabel={this.props.label}\n\t\t\tlistItemLabelRenderer={this.props.listItemLabelRenderer}\n\t\t\tlistLength={this.state.listLength}\n\t\t\tonSelect={this.selectItem}\n\t\t\tsearchTerm={this.state.searchTerm}\n\t\t\tsectionDividerRenderer={this.props.sectionDividerRenderer}\n\t\t\tsetFocus={this.setFocus}\n\t\t/>\n\t);\n\n\trenderInlineMenu = () =>\n\t\tthis.getIsOpen() ? (\n\t\t\t<div\n\t\t\t\tclassName=\"ignore-react-onclickoutside slds-lookup__menu\"\n\t\t\t\trole=\"listbox\"\n\t\t\t>\n\t\t\t\t{this.renderMenuContent()}\n\t\t\t</div>\n\t\t) : null;\n\n\trenderSeparateMenu = () => {\n\t\t// FOR BACKWARDS COMPATIBILITY\n\t\tconst menuPosition = this.props.isInline\n\t\t\t? 'relative'\n\t\t\t: this.props.menuPosition; // eslint-disable-line react/prop-types\n\t\treturn this.getIsOpen() ? (\n\t\t\t<Dialog\n\t\t\t\talign=\"bottom\"\n\t\t\t\tclassName=\"slds-lookup__menu slds-show\"\n\t\t\t\tcloseOnTabKey\n\t\t\t\tcontentsClassName=\"slds-lookup__menu slds-show\"\n\t\t\t\tcontext={this.context}\n\t\t\t\tinheritWidthOf=\"target\"\n\t\t\t\tonClose={this.handleCancel}\n\t\t\t\thasStaticAlignement={!this.props.flippable}\n\t\t\t\tconstrainToScrollParent={this.props.constrainToScrollParent}\n\t\t\t\tonRequestTargetElement={() => this.input}\n\t\t\t\tposition={menuPosition}\n\t\t\t>\n\t\t\t\t{this.renderMenuContent()}\n\t\t\t</Dialog>\n\t\t) : null;\n\t};\n\n\trenderInput = () => (\n\t\t<Input\n\t\t\taria-activedescendant={\n\t\t\t\tthis.state.currentFocus ? this.state.currentFocus : ''\n\t\t\t}\n\t\t\taria-autocomplete=\"list\"\n\t\t\taria-describedby={this.props.describedById}\n\t\t\taria-expanded={!!this.getIsOpen()}\n\t\t\tassistiveText={this.props.assistiveText}\n\t\t\tclassName=\"slds-lookup__search-input\"\n\t\t\tdisabled={this.props.disabled}\n\t\t\ticonRight={\n\t\t\t\t<InputIcon\n\t\t\t\t\tassistiveText={{ icon: 'Search' }}\n\t\t\t\t\tcategory=\"utility\"\n\t\t\t\t\tname=\"search\"\n\t\t\t\t/>\n\t\t\t}\n\t\t\tid={this.inputRefId()}\n\t\t\tonBlur={this.handleBlur}\n\t\t\tonChange={this.handleChange}\n\t\t\tonClick={this.handleClick}\n\t\t\tonFocus={this.handleFocus}\n\t\t\tonKeyDown={this.handleKeyDown}\n\t\t\tinputRef={(component) => {\n\t\t\t\tthis.input = component;\n\t\t\t\tif (this.focusOnRender) {\n\t\t\t\t\tthis.input.focus();\n\t\t\t\t\tthis.focusOnRender = false;\n\t\t\t\t}\n\t\t\t}}\n\t\t\tplaceholder={this.props.placeholder}\n\t\t\trole=\"combobox\"\n\t\t\ttype=\"text\"\n\t\t\tvalue={this.state.searchTerm}\n\t\t/>\n\t);\n\n\trenderSelectedItem = () => {\n\t\tconst selectedItem = this.props.options[this.state.selectedIndex].label;\n\t\tconst renderIcon = this.props.iconName ? (\n\t\t\t<Icon\n\t\t\t\tcategory={this.props.iconCategory}\n\t\t\t\tclassName=\"slds-icon slds-pill__icon\"\n\t\t\t\tinverse={this.props.iconInverse}\n\t\t\t\tname={this.props.iconName}\n\t\t\t/>\n\t\t) : null;\n\t\tconst labelClassName = this.props.iconName\n\t\t\t? 'slds-pill__label'\n\t\t\t: 'slds-pill__label slds-m-left_x-small';\n\n\t\t// i18n\n\t\treturn (\n\t\t\t<div className=\"slds-pill__container\">\n\t\t\t\t{/* eslint-disable no-script-url */}\n\t\t\t\t<a\n\t\t\t\t\thref=\"javascript:void(0)\"\n\t\t\t\t\tclassName=\"slds-pill\"\n\t\t\t\t\tref={(pill) => {\n\t\t\t\t\t\tthis.pills[this.state.selectedIndex] = pill;\n\t\t\t\t\t}}\n\t\t\t\t\tonKeyDown={this.handlePillKeyDown}\n\t\t\t\t>\n\t\t\t\t\t{/* eslint-enable no-script-url */}\n\t\t\t\t\t{renderIcon}\n\t\t\t\t\t<span className={labelClassName}>{selectedItem}</span>\n\t\t\t\t\t<Button\n\t\t\t\t\t\tassistiveText={{ icon: 'Press delete to remove' }}\n\t\t\t\t\t\tclassName=\"slds-pill__remove slds-button_icon-bare\"\n\t\t\t\t\t\ticonCategory=\"utility\"\n\t\t\t\t\t\ticonName=\"close\"\n\t\t\t\t\t\tonClick={this.handleDeleteSelected}\n\t\t\t\t\t\ttabIndex=\"-1\"\n\t\t\t\t\t\tvariant=\"icon\"\n\t\t\t\t\t/>\n\t\t\t\t</a>\n\t\t\t</div>\n\t\t);\n\t};\n\n\trenderLabel = () => {\n\t\tlet inputLabel;\n\t\tconst required = this.props.required ? (\n\t\t\t// eslint-disable-next-line react/jsx-curly-brace-presence\n\t\t\t<span className=\"slds-required\">{'*'}</span>\n\t\t) : null;\n\t\tif (this.isSelected()) {\n\t\t\t// inline style override\n\t\t\tinputLabel = (\n\t\t\t\t<span className=\"slds-form-element__label\" style={{ width: '100%' }}>\n\t\t\t\t\t{required}\n\t\t\t\t\t{this.props.label}\n\t\t\t\t</span>\n\t\t\t);\n\t\t} else {\n\t\t\tinputLabel = (\n\t\t\t\t<label\n\t\t\t\t\tclassName=\"slds-form-element__label\"\n\t\t\t\t\thtmlFor={this.inputRefId()}\n\t\t\t\t\tstyle={{ width: '100%' }}\n\t\t\t\t>\n\t\t\t\t\t{required}\n\t\t\t\t\t{this.props.label}\n\t\t\t\t</label>\n\t\t\t);\n\t\t}\n\t\treturn inputLabel;\n\t};\n\n\trender() {\n\t\tlet isInline;\n\t\t/* eslint-disable react/prop-types */\n\t\tif (this.props.isInline) {\n\t\t\tisInline = true;\n\t\t} else if (this.props.modal !== undefined) {\n\t\t\tisInline = !this.props.modal;\n\t\t}\n\t\t/* eslint-enable react/prop-types */\n\n\t\tconst formElementControlClasses = {\n\t\t\t'slds-form-element__control': true,\n\t\t\t[`slds-input-has-icon slds-input-has-icon_${this.props.iconPosition}`]: !this.isSelected(),\n\t\t};\n\n\t\treturn (\n\t\t\t<div\n\t\t\t\tclassName={this.getClassName()}\n\t\t\t\tdata-select=\"single\"\n\t\t\t\tdata-scope=\"single\"\n\t\t\t\tonScroll={this.props.onScroll}\n\t\t\t>\n\t\t\t\t{this.props.label ? this.renderLabel() : null}\n\t\t\t\t<div className={classNames(formElementControlClasses)}>\n\t\t\t\t\t{this.isSelected() ? this.renderSelectedItem() : null}\n\t\t\t\t\t{!this.isSelected() ? this.renderInput() : null}\n\t\t\t\t</div>\n\t\t\t\t{isInline ? this.renderInlineMenu() : this.renderSeparateMenu()}\n\t\t\t</div>\n\t\t);\n\t}\n};\n\nLookup.contextTypes = {\n\ticonPath: PropTypes.string,\n};\n\nexport default Lookup;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// ### onClickOutside\n// Listen for clicks that occur somewhere in the document, outside of the element itself\nimport onClickOutside from 'react-onclickoutside';\nimport DefaultFooter from './menu/default-footer';\nimport DefaultHeader from './menu/default-header';\nimport DefaultSectionDivider from './menu/default-section-divider';\nimport Lookup from './lookup';\n\nexport default onClickOutside(Lookup, {\n\texcludeScrollbar: true,\n});\n\nexport { DefaultHeader };\nexport { DefaultSectionDivider };\nexport { DefaultFooter };\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n/* eslint-disable import/no-mutable-exports */\n\nimport componentIsDeprecated from '../../utilities/warning/component-is-deprecated';\n\nlet checkProps = function checkPropsFunction() {};\n\nif (process.env.NODE_ENV !== 'production') {\n\tcheckProps = function checkPropsFunction(COMPONENT, props) {\n\t\tcomponentIsDeprecated(\n\t\t\tCOMPONENT,\n\t\t\tprops,\n\t\t\t'Please use an read-only Combobox instead. It is more accessible and closer aligned to SLDS.'\n\t\t);\n\t};\n}\n\nexport default checkProps;\n","/* eslint-disable max-lines */\n/* eslint-disable react/no-access-state-in-setstate */\n/* eslint-disable no-param-reassign */\n/* eslint-disable prefer-destructuring */\n/* eslint-disable max-lines */\n/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n/* eslint-disable react/prefer-es6-class */\n\n// # Picklist Component [DEPRECATED]\n\n// Implements the [Picklist design pattern](https://www.lightningdesignsystem.com/components/menus/#flavor-picklist) in React.\n// Based on SLDS v2.1.0-rc.2\n\nimport React from 'react';\nimport ReactDOM from 'react-dom';\nimport createReactClass from 'create-react-class';\nimport PropTypes from 'prop-types';\nimport isFunction from 'lodash.isfunction';\n\n// ### classNames\n// [github.com/JedWatson/classnames](https://github.com/JedWatson/classnames)\n// This project uses `classnames`, \"a simple javascript utility for conditionally\n// joining classNames together.\"\nimport classNames from 'classnames';\n\n// ### shortid\n// [npmjs.com/package/shortid](https://www.npmjs.com/package/shortid)\n// shortid is a short, non-sequential, url-friendly, unique id generator\nimport shortid from 'shortid';\n\n// This component's `checkProps` which issues warnings to developers about properties\n// when in development mode (similar to React's built in development tools)\nimport checkProps from './check-props';\n\n// ### Children\nimport Dialog from '../utilities/dialog';\nimport Icon from '../icon';\nimport List from '../utilities/menu-list';\nimport ListItemLabel from '../utilities/menu-list/item-label';\nimport Pill from '../utilities/pill';\n\nimport EventUtil from '../../utilities/event';\nimport KeyBuffer from '../../utilities/key-buffer';\nimport keyboardNavigate from '../../utilities/keyboard-navigate';\nimport KEYS from '../../utilities/key-code';\nimport { MENU_PICKLIST } from '../../utilities/constants';\n\nconst noop = () => {};\n\nconst itemIsSelectable = (item) =>\n\titem.type !== 'header' && item.type !== 'divider' && !item.disabled;\n\nconst getNavigableItems = (items) => {\n\tconst navigableItems = [];\n\tnavigableItems.indexes = [];\n\tnavigableItems.keyBuffer = new KeyBuffer();\n\n\tif (Array.isArray(items)) {\n\t\titems.forEach((item, index) => {\n\t\t\tif (itemIsSelectable(item)) {\n\t\t\t\t// eslint-disable-next-line fp/no-mutating-methods\n\t\t\t\tnavigableItems.push({\n\t\t\t\t\tindex,\n\t\t\t\t\ttext: `${item.label}`.toLowerCase(),\n\t\t\t\t});\n\n\t\t\t\t// eslint-disable-next-line fp/no-mutating-methods\n\t\t\t\tnavigableItems.indexes.push(index);\n\t\t\t}\n\t\t});\n\t}\n\n\treturn navigableItems;\n};\n\nfunction getMenuItem(menuItemId, context = document) {\n\tlet menuItem;\n\n\tif (menuItemId) {\n\t\tmenuItem = context.getElementById(menuItemId);\n\t}\n\n\treturn menuItem;\n}\n\nfunction getMenu(componentRef) {\n\treturn ReactDOM.findDOMNode(componentRef).querySelector('ul.dropdown__list'); // eslint-disable-line react/no-find-dom-node\n}\n\n/**\n * ** MenuPicklist is deprecated. Please use a read-only Combobox instead.**\n *\n * The MenuPicklist component is a variant of the Lightning Design System Menu component.\n */\nconst MenuPicklist = createReactClass({\n\t// ### Display Name\n\t// Always use the canonical component name as the React display name.\n\tdisplayName: MENU_PICKLIST,\n\n\t// ### Prop Types\n\tpropTypes: {\n\t\t/**\n\t\t * Callback that passes in the DOM reference of the `<button>` DOM node within this component. Primary use is to allow `focus` to be called. You should still test if the node exists, since rendering is asynchronous. `buttonRef={(component) => { if(component) console.log(component); }}`\n\t\t */\n\t\tbuttonRef: PropTypes.func,\n\t\tclassName: PropTypes.string,\n\t\t/**\n\t\t * If true, renders checkmark icon on the selected Menu Item.\n\t\t */\n\t\tcheckmark: PropTypes.bool,\n\t\tdisabled: PropTypes.bool,\n\t\t/**\n\t\t * Message to display when the input is in an error state. When this is present, also visually highlights the component as in error.\n\t\t */\n\t\terrorText: PropTypes.string,\n\t\t/**\n\t\t * A unique ID is needed in order to support keyboard navigation, ARIA support, and connect the dropdown to the triggering button.\n\t\t */\n\t\tid: PropTypes.string,\n\t\t/**\n\t\t * Renders menu within the wrapping trigger as a sibling of the button. By default, you will have an absolutely positioned container at an elevated z-index.\n\t\t */\n\t\tisInline: PropTypes.bool,\n\t\t/**\n\t\t * Form element label\n\t\t */\n\t\tlabel: PropTypes.string,\n\t\t/**\n\t\t * **Text labels for internationalization**\n\t\t * This object is merged with the default props object on every render.\n\t\t * * `multipleOptionsSelected`: Text to be used when multiple items are selected. \"2 Options Selected\" is a good pattern to use.\n\t\t */\n\t\tlabels: PropTypes.shape({\n\t\t\tmultipleOptionsSelected: PropTypes.string,\n\t\t}),\n\t\t/**\n\t\t * Custom element that overrides the default Menu Item component.\n\t\t */\n\t\tlistItemRenderer: PropTypes.func,\n\t\t/**\n\t\t * Triggered when the trigger button is clicked to open.\n\t\t */\n\t\tonClick: PropTypes.func,\n\t\t/**\n\t\t * Triggered when an item is selected. Passes in the option object that has been selected and a data object in the format: `{ option, optionIndex }`. The first parameter may be deprecated in the future and changed to an event for consistency. Please use the data object.\n\t\t */\n\t\tonSelect: PropTypes.func,\n\t\t/**\n\t\t * Triggered when a pill is removed. Passes in the option object that has been removed and a data object in the format: `{ option, optionIndex }`. The first parameter may be deprecated in the future and changed to an event for consistency. Please use the data object.\n\t\t */\n\t\tonPillRemove: PropTypes.func,\n\t\t/**\n\t\t * Menu item data.\n\t\t */\n\t\toptions: PropTypes.array.isRequired,\n\t\t/**\n\t\t * Text present in trigger button if no items are selected.\n\t\t */\n\t\tplaceholder: PropTypes.string,\n\t\t/**\n\t\t * Add styling of a required form element.\n\t\t */\n\t\trequired: PropTypes.bool,\n\t\t/**\n\t\t * Current selected item.\n\t\t */\n\t\tvalue: PropTypes.node,\n\t\t/**\n\t\t * Initial selected item index.\n\t\t */\n\t\tinitValueIndex: PropTypes.number,\n\t},\n\n\tgetDefaultProps() {\n\t\treturn {\n\t\t\tinheritTargetWidth: true,\n\t\t\tplaceholder: 'Select an Option',\n\t\t\tcheckmark: true,\n\t\t\tlabels: {\n\t\t\t\tmultipleOptionsSelected: 'Multiple Options Selected',\n\t\t\t},\n\t\t\tmenuPosition: 'absolute',\n\t\t};\n\t},\n\n\tgetInitialState() {\n\t\treturn {\n\t\t\tfocusedIndex: this.props.initValueIndex ? this.props.initValueIndex : -1,\n\t\t\tselectedIndex: this.props.initValueIndex ? this.props.initValueIndex : -1,\n\t\t\tselectedIndices: [],\n\t\t\tcurrentPillLabel: '',\n\t\t};\n\t},\n\n\t// eslint-disable-next-line camelcase, react/sort-comp\n\tUNSAFE_componentWillMount() {\n\t\t// `checkProps` issues warnings to developers about properties (similar to React's built in development tools)\n\t\tcheckProps(MENU_PICKLIST, this.props);\n\n\t\tthis.generatedId = shortid.generate();\n\t\tif (this.props.errorText) {\n\t\t\tthis.generatedErrorId = shortid.generate();\n\t\t}\n\n\t\tif (typeof window !== 'undefined') {\n\t\t\twindow.addEventListener('click', this.closeOnClick, false);\n\t\t}\n\n\t\tif (!this.props.multiple) {\n\t\t\tthis.setState({\n\t\t\t\tselectedIndex: this.getIndexByValue(this.props),\n\t\t\t});\n\t\t} else {\n\t\t\tconst currentSelectedIndex = this.getIndexByValue(this.props);\n\t\t\tconst currentIndices = this.state.selectedIndices;\n\t\t\tif (currentSelectedIndex !== -1) {\n\t\t\t\t// eslint-disable-next-line fp/no-mutating-methods\n\t\t\t\tcurrentIndices.push(currentSelectedIndex);\n\t\t\t}\n\t\t\tthis.setState({\n\t\t\t\tselectedIndices: currentIndices,\n\t\t\t});\n\t\t}\n\n\t\tthis.navigableItems = getNavigableItems(this.props.options);\n\t},\n\n\t// eslint-disable-next-line camelcase, react/sort-comp\n\tUNSAFE_componentWillReceiveProps(nextProps) {\n\t\tif (\n\t\t\tthis.props.value !== nextProps.value ||\n\t\t\tthis.props.options.length !== nextProps.length\n\t\t) {\n\t\t\tif (this.props.multiple !== true) {\n\t\t\t\tthis.setState({\n\t\t\t\t\tselectedIndex: this.getIndexByValue(nextProps),\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\tconst currentSelectedIndex = this.getIndexByValue(nextProps);\n\t\t\t\tif (currentSelectedIndex !== -1) {\n\t\t\t\t\tconst currentIndices = this.state.selectedIndices.concat(\n\t\t\t\t\t\tcurrentSelectedIndex\n\t\t\t\t\t);\n\t\t\t\t\tthis.setState({\n\t\t\t\t\t\tselectedIndices: currentIndices,\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tif (nextProps.options) {\n\t\t\tthis.navigableItems = getNavigableItems(nextProps.options);\n\t\t}\n\t},\n\n\tcomponentWillUnmount() {\n\t\tthis.isUnmounting = true;\n\t\twindow.removeEventListener('click', this.closeOnClick, false);\n\t},\n\n\tgetListItemId(index) {\n\t\tlet menuItemId;\n\t\tif (index !== undefined) {\n\t\t\tconst menuId = isFunction(this.getId) ? this.getId() : this.props.id;\n\t\t\tmenuItemId = `${menuId}-item-${index}`;\n\t\t}\n\t\treturn menuItemId;\n\t},\n\n\tgetId() {\n\t\treturn this.props.id || this.generatedId;\n\t},\n\n\tgetErrorId() {\n\t\treturn this.props['aria-describedby'] || this.generatedErrorId;\n\t},\n\n\tgetClickEventName() {\n\t\treturn `SLDS${this.getId()}ClickEvent`;\n\t},\n\n\tgetIndexByValue({ value, options } = this.props) {\n\t\tlet foundIndex = -1;\n\n\t\tif (options && options.length) {\n\t\t\toptions.some((element, index) => {\n\t\t\t\tif (element && element.value === value) {\n\t\t\t\t\tfoundIndex = index;\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\n\t\t\t\treturn false;\n\t\t\t});\n\t\t}\n\n\t\treturn foundIndex;\n\t},\n\n\tgetValueByIndex(index) {\n\t\treturn this.props.options[index];\n\t},\n\n\tgetListItemRenderer() {\n\t\treturn this.props.listItemRenderer\n\t\t\t? this.props.listItemRenderer\n\t\t\t: ListItemLabel;\n\t},\n\n\tsetFocus() {\n\t\tif (!this.isUnmounting && this.button) {\n\t\t\tthis.button.focus();\n\t\t}\n\t},\n\n\thandleSelect(index) {\n\t\tif (!this.props.multiple) {\n\t\t\tthis.setState({ selectedIndex: index });\n\t\t\tthis.handleClose();\n\t\t\tthis.setFocus();\n\t\t} else {\n\t\t\tlet currentIndices;\n\n\t\t\tif (this.state.selectedIndices.indexOf(index) === -1) {\n\t\t\t\tcurrentIndices = this.state.selectedIndices.concat(index);\n\t\t\t} else {\n\t\t\t\tconst deselectIndex = this.state.selectedIndices.indexOf(index);\n\t\t\t\tcurrentIndices = this.state.selectedIndices;\n\t\t\t\t// eslint-disable-next-line fp/no-mutating-methods\n\t\t\t\tcurrentIndices.splice(deselectIndex, 1);\n\t\t\t}\n\n\t\t\tthis.setState({\n\t\t\t\tselectedIndices: currentIndices,\n\t\t\t});\n\t\t}\n\n\t\tif (this.props.onSelect) {\n\t\t\tconst option = this.getValueByIndex(index);\n\t\t\tthis.props.onSelect(option, { option, optionIndex: index });\n\t\t}\n\t},\n\n\thandleClose() {\n\t\tthis.setState({ isOpen: false });\n\t},\n\n\thandleClick(event) {\n\t\tif (event) {\n\t\t\tevent.nativeEvent[this.getClickEventName()] = true;\n\t\t}\n\n\t\tif (!this.state.isOpen) {\n\t\t\tthis.setState({ isOpen: true });\n\t\t\tthis.setFocus();\n\n\t\t\tif (this.props.onClick) {\n\t\t\t\tthis.props.onClick(event);\n\t\t\t}\n\t\t} else {\n\t\t\tthis.handleClose();\n\t\t}\n\t},\n\n\thandleMouseDown(event) {\n\t\tif (event) {\n\t\t\tEventUtil.trapImmediate(event);\n\t\t\tevent.nativeEvent[this.getClickEventName()] = true;\n\t\t}\n\t},\n\n\thandleKeyDown(event) {\n\t\tif (event.keyCode) {\n\t\t\tif (\n\t\t\t\tevent.keyCode === KEYS.ENTER ||\n\t\t\t\tevent.keyCode === KEYS.SPACE ||\n\t\t\t\tevent.keyCode === KEYS.DOWN ||\n\t\t\t\tevent.keyCode === KEYS.UP\n\t\t\t) {\n\t\t\t\tEventUtil.trap(event);\n\t\t\t}\n\n\t\t\tif (event.keyCode !== KEYS.TAB) {\n\t\t\t\t// The outer div with onKeyDown is overriding button onClick so we need to add it here.\n\t\t\t\tconst openMenuKeys =\n\t\t\t\t\tevent.keyCode === KEYS.ENTER ||\n\t\t\t\t\tevent.keyCode === KEYS.DOWN ||\n\t\t\t\t\tevent.keyCode === KEYS.UP;\n\t\t\t\tconst isTrigger = event.target.tagName === 'BUTTON';\n\t\t\t\tif (openMenuKeys && isTrigger && this.props.onClick) {\n\t\t\t\t\tthis.props.onClick(event);\n\t\t\t\t}\n\n\t\t\t\tthis.handleKeyboardNavigate({\n\t\t\t\t\tisOpen: this.state.isOpen || false,\n\t\t\t\t\tkeyCode: event.keyCode,\n\t\t\t\t\tonSelect: this.handleSelect,\n\t\t\t\t\ttoggleOpen: this.toggleOpen,\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\tthis.handleCancel();\n\t\t\t}\n\t\t}\n\t},\n\n\thandleCancel() {\n\t\tthis.setFocus();\n\t\tthis.handleClose();\n\t},\n\n\t// Handling open / close toggling is optional, and a default implementation is provided for handling focus, but selection _must_ be handled\n\thandleKeyboardNavigate({\n\t\tevent,\n\t\tisOpen = true,\n\t\tkeyCode,\n\t\tonFocus = this.handleKeyboardFocus,\n\t\tonSelect,\n\t\ttarget,\n\t\ttoggleOpen = noop,\n\t}) {\n\t\tkeyboardNavigate({\n\t\t\tcomponentContext: this,\n\t\t\tcurrentFocusedIndex: this.state.focusedIndex,\n\t\t\tevent,\n\t\t\tisOpen,\n\t\t\tkeyCode,\n\t\t\tnavigableItems: this.navigableItems,\n\t\t\tonFocus,\n\t\t\tonSelect,\n\t\t\ttarget,\n\t\t\ttoggleOpen,\n\t\t});\n\t},\n\t// This is a bit of an anti-pattern, but it has the upside of being a nice default. Component authors can always override to only set state and do their own focusing in their subcomponents.\n\thandleKeyboardFocus(focusedIndex) {\n\t\tif (this.state.focusedIndex !== focusedIndex) {\n\t\t\tthis.setState({ focusedIndex });\n\t\t}\n\t\tconst menu = isFunction(this.getMenu) ? this.getMenu() : getMenu(this);\n\t\tconst menuItem = isFunction(this.getMenuItem)\n\t\t\t? this.getMenuItem(focusedIndex, menu)\n\t\t\t: getMenuItem(this.getListItemId(focusedIndex));\n\t\tif (menuItem) {\n\t\t\tthis.focusMenuItem(menuItem);\n\t\t\tthis.scrollToMenuItem(menu, menuItem);\n\t\t}\n\t},\n\tfocusMenuItem(menuItem) {\n\t\tmenuItem.getElementsByTagName('a')[0].focus();\n\t},\n\tscrollToMenuItem(menu, menuItem) {\n\t\tif (menu && menuItem) {\n\t\t\tconst menuHeight = menu.offsetHeight;\n\t\t\tconst menuTop = menu.scrollTop;\n\t\t\tconst menuItemTop = menuItem.offsetTop - menu.offsetTop;\n\t\t\tif (menuItemTop < menuTop) {\n\t\t\t\tmenu.scrollTop = menuItemTop;\n\t\t\t} else {\n\t\t\t\tconst menuBottom = menuTop + menuHeight + menu.offsetTop;\n\t\t\t\tconst menuItemBottom =\n\t\t\t\t\tmenuItemTop + menuItem.offsetHeight + menu.offsetTop;\n\t\t\t\tif (menuItemBottom > menuBottom) {\n\t\t\t\t\tmenu.scrollTop = menuItemBottom - menuHeight - menu.offsetTop;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t},\n\n\tcloseOnClick(event) {\n\t\tif (!event[this.getClickEventName()] && this.state.isOpen) {\n\t\t\tthis.handleClose();\n\t\t}\n\t},\n\n\ttoggleOpen() {\n\t\tthis.setState({ isOpen: !this.state.isOpen });\n\t},\n\n\tsaveRefToList(list) {\n\t\tthis.list = list;\n\t},\n\n\tsaveRefToListItem(listItem, index) {\n\t\tif (!this.listItems) {\n\t\t\tthis.listItems = {};\n\t\t}\n\n\t\tthis.listItems[index] = listItem;\n\n\t\tif (index === this.state.focusedIndex) {\n\t\t\tthis.handleKeyboardFocus(this.state.focusedIndex);\n\t\t}\n\t},\n\n\t// Trigger opens, closes, and recieves focus on close\n\tsaveRefToTrigger(trigger) {\n\t\tthis.button = trigger;\n\t\tif (this.props.buttonRef) {\n\t\t\tthis.props.buttonRef(this.button);\n\t\t}\n\n\t\tif (!this.state.triggerRendered) {\n\t\t\tthis.setState({ triggerRendered: true });\n\t\t}\n\t},\n\n\trenderMenuContent() {\n\t\treturn (\n\t\t\t<List\n\t\t\t\tcheckmark={this.props.checkmark}\n\t\t\t\tgetListItemId={this.getListItemId}\n\t\t\t\titemRefs={this.saveRefToListItem}\n\t\t\t\titemRenderer={this.getListItemRenderer()}\n\t\t\t\tonCancel={this.handleCancel}\n\t\t\t\tonSelect={this.handleSelect}\n\t\t\t\toptions={this.props.options}\n\t\t\t\tref={this.saveRefToList}\n\t\t\t\tselectedIndex={\n\t\t\t\t\t!this.props.multiple ? this.state.selectedIndex : undefined\n\t\t\t\t}\n\t\t\t\tselectedIndices={\n\t\t\t\t\tthis.props.multiple ? this.state.selectedIndices : undefined\n\t\t\t\t}\n\t\t\t\ttriggerId={this.getId()}\n\t\t\t/>\n\t\t);\n\t},\n\n\trenderInlineMenu() {\n\t\treturn !this.props.disabled && this.state.isOpen ? (\n\t\t\t<div\n\t\t\t\tclassName=\"slds-dropdown slds-dropdown_left\"\n\t\t\t\t// inline style override\n\t\t\t\tstyle={{\n\t\t\t\t\tmaxHeight: '20em',\n\t\t\t\t\toverflowX: 'hidden',\n\t\t\t\t\tminWidth: '100%',\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\t{this.renderMenuContent()}\n\t\t\t</div>\n\t\t) : null;\n\t},\n\n\trenderDialog() {\n\t\treturn !this.props.disabled && this.state.isOpen ? (\n\t\t\t<Dialog\n\t\t\t\tcloseOnTabKey\n\t\t\t\tconstrainToScrollParent={this.props.constrainToScrollParent}\n\t\t\t\tcontentsClassName=\"slds-dropdown slds-dropdown_left\"\n\t\t\t\tcontext={this.context}\n\t\t\t\tflippable\n\t\t\t\tonClose={this.handleCancel}\n\t\t\t\tonKeyDown={this.handleKeyDown}\n\t\t\t\tonRequestTargetElement={() => this.button}\n\t\t\t\tinheritWidthOf={this.props.inheritTargetWidth ? 'target' : 'none'}\n\t\t\t\tposition={this.props.menuPosition}\n\t\t\t>\n\t\t\t\t{this.renderMenuContent()}\n\t\t\t</Dialog>\n\t\t) : null;\n\t},\n\n\trenderTrigger() {\n\t\tlet isInline;\n\t\t/* eslint-disable react/prop-types */\n\t\tif (this.props.isInline) {\n\t\t\tisInline = true;\n\t\t} else if (this.props.modal !== undefined) {\n\t\t\tisInline = !this.props.modal;\n\t\t}\n\t\t/* eslint-enable react/prop-types */\n\n\t\tlet inputValue;\n\t\tif (this.props.multiple && this.state.selectedIndices.length === 0) {\n\t\t\tinputValue = this.props.placeholder;\n\t\t} else if (this.props.multiple && this.state.selectedIndices.length === 1) {\n\t\t\tconst option = this.props.options[this.state.selectedIndices];\n\t\t\tinputValue = option.label;\n\t\t} else if (this.props.multiple && this.state.selectedIndices.length > 1) {\n\t\t\tinputValue = this.props.labels.multipleOptionsSelected;\n\t\t} else {\n\t\t\tconst option = this.props.options[this.state.selectedIndex];\n\t\t\tinputValue =\n\t\t\t\toption && option.label ? option.label : this.props.placeholder;\n\t\t}\n\n\t\t// TODO: make use of <Button>\n\t\treturn (\n\t\t\t// eslint-disable-next-line jsx-a11y/no-static-element-interactions\n\t\t\t<div\n\t\t\t\tclassName={classNames(\n\t\t\t\t\t'slds-picklist slds-dropdown-trigger slds-dropdown-trigger_click',\n\t\t\t\t\t{ 'slds-is-open': this.state.isOpen },\n\t\t\t\t\tthis.props.className\n\t\t\t\t)}\n\t\t\t\tonKeyDown={this.handleKeyDown}\n\t\t\t\tonMouseDown={this.handleMouseDown}\n\t\t\t>\n\t\t\t\t<button\n\t\t\t\t\taria-describedby={this.getErrorId()}\n\t\t\t\t\taria-expanded={this.state.isOpen}\n\t\t\t\t\taria-haspopup=\"true\"\n\t\t\t\t\tclassName=\"slds-button slds-button_neutral slds-picklist__label\"\n\t\t\t\t\tdisabled={this.props.disabled}\n\t\t\t\t\tid={this.getId()}\n\t\t\t\t\tonClick={!this.props.disabled ? this.handleClick : undefined}\n\t\t\t\t\tref={this.saveRefToTrigger}\n\t\t\t\t\ttabIndex={this.state.isOpen ? -1 : 0}\n\t\t\t\t\ttype=\"button\"\n\t\t\t\t>\n\t\t\t\t\t<span className=\"slds-truncate\">{inputValue}</span>\n\t\t\t\t\t<Icon name=\"down\" category=\"utility\" />\n\t\t\t\t</button>\n\t\t\t\t{isInline ? this.renderInlineMenu() : this.renderDialog()}\n\t\t\t</div>\n\t\t);\n\t},\n\n\trenderPills() {\n\t\tconst selectedPills = this.state.selectedIndices.map((selectedPill) => {\n\t\t\tconst pillLabel = this.getValueByIndex(selectedPill).label;\n\t\t\treturn (\n\t\t\t\t<li\n\t\t\t\t\tclassName=\"slds-listbox__item\"\n\t\t\t\t\tkey={`pill-${selectedPill}`}\n\t\t\t\t\trole=\"presentation\"\n\t\t\t\t>\n\t\t\t\t\t<Pill\n\t\t\t\t\t\teventData={{\n\t\t\t\t\t\t\titem: this.props.options[selectedPill],\n\t\t\t\t\t\t\tindex: selectedPill,\n\t\t\t\t\t\t}}\n\t\t\t\t\t\tevents={{\n\t\t\t\t\t\t\tonRequestFocus: () => {},\n\t\t\t\t\t\t\tonRequestFocusOnNextPill: () => {},\n\t\t\t\t\t\t\tonRequestFocusOnPreviousPill: () => {},\n\t\t\t\t\t\t\tonRequestRemove: (event, data) => {\n\t\t\t\t\t\t\t\tconst newData = this.state.selectedIndices;\n\t\t\t\t\t\t\t\tconst index = data.index;\n\t\t\t\t\t\t\t\t// eslint-disable-next-line fp/no-mutating-methods\n\t\t\t\t\t\t\t\tnewData.splice(this.state.selectedIndices.indexOf(index), 1);\n\t\t\t\t\t\t\t\tthis.setState({ selectedIndices: newData });\n\n\t\t\t\t\t\t\t\tif (this.props.onPillRemove) {\n\t\t\t\t\t\t\t\t\tconst option = this.getValueByIndex(index);\n\t\t\t\t\t\t\t\t\tthis.props.onPillRemove(option, {\n\t\t\t\t\t\t\t\t\t\toption,\n\t\t\t\t\t\t\t\t\t\toptionIndex: index,\n\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t}}\n\t\t\t\t\t\tlabels={{\n\t\t\t\t\t\t\tlabel: pillLabel,\n\t\t\t\t\t\t}}\n\t\t\t\t\t/>\n\t\t\t\t</li>\n\t\t\t);\n\t\t});\n\t\treturn (\n\t\t\t<div\n\t\t\t\tid=\"listbox-selections-unique-id\"\n\t\t\t\torientation=\"horizontal\"\n\t\t\t\trole=\"listbox\"\n\t\t\t>\n\t\t\t\t<ul\n\t\t\t\t\tclassName=\"slds-listbox slds-listbox_inline slds-p-top_xxx-small\"\n\t\t\t\t\trole=\"group\"\n\t\t\t\t\taria-label=\"Selected Options:\"\n\t\t\t\t>\n\t\t\t\t\t{selectedPills}\n\t\t\t\t</ul>\n\t\t\t</div>\n\t\t);\n\t},\n\n\trender() {\n\t\tconst { className, errorText, label, required } = this.props;\n\n\t\tconst requiredElem = required ? (\n\t\t\t// eslint-disable-next-line react/jsx-curly-brace-presence\n\t\t\t<span style={{ color: 'red' }}>{'* '}</span>\n\t\t) : null;\n\n\t\treturn (\n\t\t\t<div\n\t\t\t\tclassName={classNames(\n\t\t\t\t\t'slds-form-element',\n\t\t\t\t\t{\n\t\t\t\t\t\t'slds-has-error': errorText,\n\t\t\t\t\t},\n\t\t\t\t\tclassName\n\t\t\t\t)}\n\t\t\t>\n\t\t\t\t{this.props.label ? (\n\t\t\t\t\t<label\n\t\t\t\t\t\tclassName=\"slds-form-element__label\"\n\t\t\t\t\t\thtmlFor={this.getId()}\n\t\t\t\t\t\t// inline style override\n\t\t\t\t\t\tstyle={{ width: '100%' }}\n\t\t\t\t\t>\n\t\t\t\t\t\t{requiredElem}\n\t\t\t\t\t\t{label}\n\t\t\t\t\t</label>\n\t\t\t\t) : null}\n\t\t\t\t{this.renderTrigger()}\n\t\t\t\t{this.renderPills()}\n\t\t\t\t{errorText && (\n\t\t\t\t\t<div id={this.getErrorId()} className=\"slds-form-element__help\">\n\t\t\t\t\t\t{errorText}\n\t\t\t\t\t</div>\n\t\t\t\t)}\n\t\t\t</div>\n\t\t);\n\t},\n});\n\nMenuPicklist.contextTypes = {\n\ticonPath: PropTypes.string,\n};\n\nexport default MenuPicklist;\nexport { ListItemLabel };\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\nimport React from 'react';\nimport ReactDOM from 'react-dom';\n\nimport componentIsDeprecated from '../../utilities/warning/component-is-deprecated';\n\nimport Modal from './index';\n\nimport { canUseDOM } from '../../utilities/execution-environment';\n\n// This component should be deprecated and appears to have\n// been created in order to do modals in portals.\n\nconst ModalTrigger = {\n\topen: (cfg) => {\n\t\tcomponentIsDeprecated(\n\t\t\t'components/modal/trigger.jsx',\n\t\t\t'This component is deprecated and appears to have been created in order to do modals in portals which is what current Modal has done for years.'\n\t\t);\n\n\t\tlet el;\n\t\tif (canUseDOM) {\n\t\t\tel = document.createElement('span');\n\t\t\tel.setAttribute('data-slds-modal', true);\n\t\t\tdocument.body.appendChild(el);\n\t\t}\n\t\tconst comp = (\n\t\t\t<Modal heading={cfg.title} footer={cfg.footer} isOpen>\n\t\t\t\t{cfg.content}\n\t\t\t</Modal>\n\t\t);\n\n\t\tReactDOM.render(comp, el); // deepscan-disable-line REACT_ASYNC_RENDER_RETURN_VALUE\n\t},\n};\n\nexport default ModalTrigger;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n/* eslint-disable import/no-mutable-exports */\n\nimport deprecatedProperty from '../../utilities/warning/deprecated-property';\n\nlet checkProps = function checkPropsFunction() {};\n\nif (process.env.NODE_ENV !== 'production') {\n\tcheckProps = function checkPropsFunction(COMPONENT, props) {\n\t\tdeprecatedProperty(\n\t\t\tCOMPONENT,\n\t\t\tprops.variant,\n\t\t\t'variant',\n\t\t\tundefined,\n\t\t\t'Shade variant is deprecated as there is no background supported currently. Vertical Navigation now uses a default shade.'\n\t\t);\n\t};\n}\n\nexport default checkProps;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\n// ### classNames\n// [github.com/JedWatson/classnames](https://github.com/JedWatson/classnames)\n// This project uses `classnames`, 'a simple javascript utility for conditionally\n// joining classNames together.'\nimport classNames from 'classnames';\n\n// ### isFunction\nimport isFunction from 'lodash.isfunction';\n\nimport { VERTICAL_NAVIGATION_ITEM } from '../../../utilities/constants';\n\nconst handleClick = (event, props) => {\n\tif (isFunction(props.onSelect)) {\n\t\tprops.onSelect(event, {\n\t\t\titem: props.item,\n\t\t});\n\t}\n};\n\nconst Item = (props) => (\n\t<li\n\t\tclassName={classNames('slds-nav-vertical__item', {\n\t\t\t'slds-is-active': props.isSelected,\n\t\t})}\n\t>\n\t\t<a\n\t\t\tdata-id={props.item.id}\n\t\t\thref={props.item.url || 'javascript:void(0);'} // eslint-disable-line no-script-url\n\t\t\tclassName=\"slds-nav-vertical__action\"\n\t\t\taria-describedby={props.categoryId}\n\t\t\taria-current={props.isSelected ? true : undefined}\n\t\t\tonClick={(event) => {\n\t\t\t\thandleClick(event, props);\n\t\t\t}}\n\t\t>\n\t\t\t{props.item.label}\n\t\t</a>\n\t</li>\n);\n\n// ### Display Name\n// Always use the canonical component name as the React display name.\nItem.displayName = VERTICAL_NAVIGATION_ITEM;\n\n// ### Prop Types\nItem.propTypes = {\n\t/**\n\t * Item to be rendered.\n\t */\n\titem: PropTypes.shape({\n\t\tid: PropTypes.string.isRequired,\n\t\tlabel: PropTypes.string.isRequired,\n\t\turl: PropTypes.string,\n\t}),\n\t/**\n\t * Whether item is selected or not.\n\t */\n\tisSelected: PropTypes.bool,\n\t/**\n\t * ID of the category this item belongs to.\n\t */\n\tcategoryId: PropTypes.string.isRequired,\n\t/**\n\t * Function that will run whenever an item is selected.\n\t */\n\tonSelect: PropTypes.func,\n};\n\nItem.defaultProps = {\n\tisSelected: false,\n};\n\nexport default Item;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// Implements the [Vertical Navigation design pattern](https://lightningdesignsystem.com/components/vertical-navigation/) in React.\n// Based on SLDS v2.2.1\n\nimport React from 'react';\n\nimport PropTypes from 'prop-types';\n\n// ### classNames\n// [github.com/JedWatson/classnames](https://github.com/JedWatson/classnames)\n// This project uses `classnames`, 'a simple javascript utility for conditionally\n// joining classNames together.'\nimport classNames from 'classnames';\n\n// ### shortid\n// [npmjs.com/package/shortid](https://www.npmjs.com/package/shortid)\n// shortid is a short, non-sequential, url-friendly, unique id generator\nimport shortid from 'shortid';\nimport componentDoc from './component.json';\nimport checkProps from './check-props';\n\nimport { VERTICAL_NAVIGATION } from '../../utilities/constants';\n\n// Child components\nimport Item from './private/item';\n\n/**\n * Vertical Navigation represents a list of links that either take the user to another page or parts of the page the user is in.\n */\nclass VerticalNavigation extends React.Component {\n\tstatic displayName = VERTICAL_NAVIGATION;\n\n\tstatic propTypes = {\n\t\t/**\n\t\t * HTML id for component. _Tested with snapshot testing._\n\t\t */\n\t\tid: PropTypes.string,\n\t\t/**\n\t\t * CSS class names to be added to the container element. _Tested with snapshot testing._\n\t\t */\n\t\tclassName: PropTypes.oneOfType([\n\t\t\tPropTypes.array,\n\t\t\tPropTypes.object,\n\t\t\tPropTypes.string,\n\t\t]),\n\t\t/**\n\t\t * Array of categories. The required shape is: `{id: string, label: string, items: array}`. The required shape of an item is `{id: string, label: string, url: string}`. All item ids are expected to be unique. _Tested with snapshot testing._\n\t\t */\n\t\tcategories: PropTypes.array,\n\t\t/**\n\t\t * The ID of the item that is currently selected. Defaults to the ID of the first item. _Tested with Mocha framework._\n\t\t */\n\t\tselectedId: PropTypes.string,\n\t\t/**\n\t\t * Triggered when the selection changes. It receives an event and an item object in the shape: `event, {item: [object] }`. _Tested with Mocha framework._\n\t\t */\n\t\tonSelect: PropTypes.func,\n\t};\n\n\tstatic defaultProps = {};\n\n\tconstructor(props) {\n\t\tsuper(props);\n\n\t\tthis.generatedId = shortid.generate();\n\t\tcheckProps(VERTICAL_NAVIGATION, props, componentDoc);\n\t}\n\n\tgetId = () => this.props.id || this.generatedId;\n\n\tgetSelectedId = () => {\n\t\tconst { categories } = this.props;\n\t\tlet selectedId;\n\t\tif (this.props.selectedId) {\n\t\t\t// eslint-disable-next-line prefer-destructuring\n\t\t\tselectedId = this.props.selectedId;\n\t\t} else if (\n\t\t\tcategories.length > 0 &&\n\t\t\tcategories[0].items &&\n\t\t\tcategories[0].items.length > 0\n\t\t) {\n\t\t\tselectedId = categories[0].items[0].id;\n\t\t}\n\t\treturn selectedId;\n\t};\n\n\trender() {\n\t\tconst rootId = this.getId();\n\t\treturn (\n\t\t\t<nav\n\t\t\t\tid={rootId}\n\t\t\t\tclassName={classNames('slds-nav-vertical', this.props.className)}\n\t\t\t>\n\t\t\t\t{this.props.categories.map((category) => {\n\t\t\t\t\tconst categoryId = `${rootId}-${category.id}`;\n\t\t\t\t\tconst selectedId = this.getSelectedId();\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tkey={`${categoryId}-header`}\n\t\t\t\t\t\t\tclassName=\"slds-nav-vertical__section\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<h2 id={categoryId} className=\"slds-nav-vertical__title\">\n\t\t\t\t\t\t\t\t{category.label}\n\t\t\t\t\t\t\t</h2>\n\t\t\t\t\t\t\t<ul key={categoryId}>\n\t\t\t\t\t\t\t\t{category.items.map((item) => (\n\t\t\t\t\t\t\t\t\t<Item\n\t\t\t\t\t\t\t\t\t\tkey={item.id}\n\t\t\t\t\t\t\t\t\t\titem={item}\n\t\t\t\t\t\t\t\t\t\tisSelected={item.id === selectedId}\n\t\t\t\t\t\t\t\t\t\tcategoryId={categoryId}\n\t\t\t\t\t\t\t\t\t\tonSelect={this.props.onSelect}\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t\t</ul>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t);\n\t\t\t\t})}\n\t\t\t</nav>\n\t\t);\n\t}\n}\n\nexport default VerticalNavigation;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n/* eslint-disable import/no-mutable-exports */\n\nimport componentIsDeprecated from '../../utilities/warning/component-is-deprecated';\n\nlet checkProps = function checkPropsFunction() {};\n\nif (process.env.NODE_ENV !== 'production') {\n\tcheckProps = function checkPropsFunction(COMPONENT, props) {\n\t\tcomponentIsDeprecated(\n\t\t\tCOMPONENT,\n\t\t\tprops,\n\t\t\t'Please use Alert or Toast in the future. Notications is not the same component in SLDS any longer.'\n\t\t);\n\t};\n}\n\nexport default checkProps;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\nimport classNames from 'classnames';\nimport Button from '../button';\nimport Icon from '../icon';\nimport checkProps from './check-props';\n\nconst displayName = 'Notification';\nconst propTypes = {\n\ticonCategory: PropTypes.string,\n\t/**\n\t * Custom classes applied to Notification element.\n\t */\n\tclassName: PropTypes.string,\n\t/**\n\t * Message for Notification.\n\t */\n\tcontent: PropTypes.node.isRequired,\n\t/**\n\t * If true, close button appears for users to dismiss Notification.\n\t */\n\tdismissible: PropTypes.bool,\n\t/**\n\t * If duration exists, the Notification will disappear after that amount of time.\n\t */\n\tduration: PropTypes.number,\n\t/**\n\t * Name of the icon. Visit <a href='http://www.lightningdesignsystem.com/resources/icons'>Lighning Design System Icons</a> to reference icon names.\n\t */\n\ticonName: PropTypes.string,\n\tisOpen: PropTypes.bool.isRequired,\n\tonDismiss: PropTypes.func,\n\t/**\n\t * Styling for Notification background.\n\t */\n\ttexture: PropTypes.bool,\n\t/**\n\t * Styling for Notification background color. Please reference <a href='http://www.lightningdesignsystem.com/components/utilities/themes/#color'>Lighning Design System Themes > Color</a>.\n\t */\n\ttheme: PropTypes.oneOf(['success', 'warning', 'error', 'offline']),\n\tvariant: PropTypes.oneOf(['alert', 'toast']).isRequired,\n};\n\nconst defaultProps = {\n\ticonCategory: 'utility',\n\tdismissible: true,\n\tisOpen: false,\n\ttexture: false,\n};\n\n/**\n * The Notification component is the Alert and Toast variants of the Lightning Design System Notification component. For prompt notifications, use the <a href='#/modal'>Modal</a> component with <code>prompt={true}</code>.\n * The Notification opens from a state change outside of the component itself (pass this state to the <code>isOpen</code> prop).\n */\nclass Notification extends React.Component {\n\tconstructor(props) {\n\t\tsuper(props);\n\t\tthis.state = {};\n\t\tthis.timeout = null;\n\t}\n\n\tcomponentDidMount() {\n\t\tcheckProps('Notification', this.props);\n\n\t\tif (this.props.duration) {\n\t\t\tthis.timeout = setTimeout(() => {\n\t\t\t\tthis.onDismiss();\n\t\t\t}, this.props.duration);\n\t\t}\n\t}\n\n\t// eslint-disable-next-line camelcase, react/sort-comp\n\tUNSAFE_componentWillReceiveProps(nextProps) {\n\t\tif (nextProps.duration) {\n\t\t\tif (this.timeout) {\n\t\t\t\tclearTimeout(this.timeout);\n\t\t\t}\n\t\t\tif (nextProps.isOpen) {\n\t\t\t\tthis.timeout = setTimeout(() => {\n\t\t\t\t\tthis.onDismiss();\n\t\t\t\t}, this.props.duration);\n\t\t\t}\n\t\t}\n\t\tif (nextProps.isOpen !== this.props.isOpen) {\n\t\t\tthis.setState({ returnFocusTo: document.activeElement });\n\t\t}\n\t}\n\n\tcomponentDidUpdate(prevProps) {\n\t\tif (prevProps.isOpen !== this.props.isOpen) {\n\t\t\tconst btn = this.dismissBtnRef;\n\t\t\tif (btn) btn.focus();\n\t\t}\n\t}\n\n\tonDismiss = () => {\n\t\tif (this.timeout) {\n\t\t\tclearTimeout(this.timeout);\n\t\t\tthis.timeout = null;\n\t\t}\n\n\t\tif (this.props.onDismiss) this.props.onDismiss();\n\t\tif (this.state.returnFocusTo && this.state.returnFocusTo.focus) {\n\t\t\tthis.state.returnFocusTo.focus();\n\t\t}\n\t};\n\n\tgetClassName() {\n\t\treturn classNames(this.props.className, 'slds-notify', {\n\t\t\t[`slds-notify_${this.props.variant}`]: this.props.variant,\n\t\t\t[`slds-theme_${this.props.theme}`]: this.props.theme,\n\t\t\t'slds-theme_alert-texture': this.props.texture,\n\t\t});\n\t}\n\n\t/*\n\t * The parent container with role='alert' only announces its content if there is a change inside of it.\n\t * Because React renders the entire element to the DOM, we must switch out a blank div for the real content.\n\t * Bummer, I know.\n\t */\n\t// eslint-disable-next-line class-methods-use-this\n\tblankContent() {\n\t\treturn <div />;\n\t}\n\n\trenderAlertContent() {\n\t\treturn (\n\t\t\t<h2 id=\"dialogTitle\">\n\t\t\t\t{this.renderIcon()}\n\t\t\t\t{this.props.content}\n\t\t\t</h2>\n\t\t);\n\t}\n\n\trenderClose() {\n\t\tif (this.props.dismissible) {\n\t\t\tlet size = null;\n\t\t\tif (this.props.variant === 'toast') size = 'large';\n\n\t\t\t// i18n\n\t\t\treturn (\n\t\t\t\t<Button\n\t\t\t\t\tassistiveText={{ icon: 'Dismiss Notification' }}\n\t\t\t\t\ticonCategory=\"utility\"\n\t\t\t\t\ticonName=\"close\"\n\t\t\t\t\ticonSize={size}\n\t\t\t\t\tinverse\n\t\t\t\t\tclassName=\"slds-notify__close\"\n\t\t\t\t\tonClick={this.onDismiss}\n\t\t\t\t\tbuttonRef={(dismissBtn) => {\n\t\t\t\t\t\tthis.dismissBtnRef = dismissBtn;\n\t\t\t\t\t}}\n\t\t\t\t\tvariant=\"icon\"\n\t\t\t\t/>\n\t\t\t);\n\t\t}\n\n\t\treturn null;\n\t}\n\n\trenderContent() {\n\t\treturn (\n\t\t\t<div>\n\t\t\t\t<span className=\"slds-assistive-text\">{this.props.theme}</span>\n\t\t\t\t{this.renderClose()}\n\t\t\t\t{this.props.variant === 'toast' ? this.renderToastContent() : null}\n\t\t\t\t{this.props.variant === 'alert' ? this.renderAlertContent() : null}\n\t\t\t</div>\n\t\t);\n\t}\n\n\trenderIcon() {\n\t\tif (this.props.iconName) {\n\t\t\tlet classes = '';\n\n\t\t\tif (this.props.variant === 'alert') {\n\t\t\t\tclasses = 'slds-m-right_x-small';\n\t\t\t} else if (this.props.variant === 'toast') {\n\t\t\t\tclasses = 'slds-m-right_small slds-col slds-no-flex';\n\t\t\t}\n\n\t\t\treturn (\n\t\t\t\t<Icon\n\t\t\t\t\tcategory={this.props.iconCategory}\n\t\t\t\t\tclassName={classes}\n\t\t\t\t\tinverse\n\t\t\t\t\tname={this.props.iconName}\n\t\t\t\t\tsize=\"small\"\n\t\t\t\t/>\n\t\t\t);\n\t\t}\n\n\t\treturn null;\n\t}\n\n\trenderToastContent() {\n\t\treturn (\n\t\t\t<section className=\"notify__content slds-grid\">\n\t\t\t\t{this.renderIcon()}\n\t\t\t\t<div className=\"slds-col slds-align-middle\">\n\t\t\t\t\t<h2 id=\"dialogTitle\" className=\"slds-text-heading_small\">\n\t\t\t\t\t\t{this.props.content}\n\t\t\t\t\t</h2>\n\t\t\t\t</div>\n\t\t\t</section>\n\t\t);\n\t}\n\n\trender() {\n\t\t// TODO: If there are multiple notifications on a page, we must 'hide' the ones that aren't open.\n\t\t// Need to find a better way to do this than using width:0 to override slds-notify-container.\n\t\tlet styles;\n\t\tif (!this.props.isOpen) {\n\t\t\tstyles = { width: '0px' };\n\t\t} else {\n\t\t\tstyles =\n\t\t\t\tthis.props.variant === 'toast'\n\t\t\t\t\t? { width: 'auto', left: '50%', transform: 'translateX(-50%)' }\n\t\t\t\t\t: { width: '100%' };\n\t\t}\n\n\t\tconst alertStyles = !this.props.isOpen ? { display: 'none' } : null;\n\t\treturn (\n\t\t\t<div className=\"slds-notify-container\" style={styles}>\n\t\t\t\t<div\n\t\t\t\t\tclassName={this.getClassName()}\n\t\t\t\t\trole=\"alertdialog\"\n\t\t\t\t\taria-labelledby=\"dialogTitle\"\n\t\t\t\t\tstyle={alertStyles}\n\t\t\t\t>\n\t\t\t\t\t{this.props.isOpen ? this.renderContent() : this.blankContent()}\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t);\n\t}\n}\n\nNotification.displayName = displayName;\nNotification.propTypes = propTypes;\nNotification.defaultProps = defaultProps;\n\nexport default Notification;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n/* eslint-disable import/no-mutable-exports */\n\nimport React from 'react';\n\n// This function will deliver an error message to the browser console when all of the props passed in are undefined (falsey).\nimport warning from 'warning';\n\nlet renderFunctionReturnContentsLackDisplayName = function renderFunctionReturnContentsLackDisplayNameFunction() {};\n\nif (process.env.NODE_ENV !== 'production') {\n\tconst hasWarned = {};\n\n\trenderFunctionReturnContentsLackDisplayName = function renderFunctionReturnContentsLackDisplayNameFunction(\n\t\tcontrol,\n\t\tpropName,\n\t\trenderFunctionReturnContents,\n\t\tdisplayNames, // array of allowed displayName strings\n\t\tcheckChildren, // if true children of the render function return main node will be checked for displayNames matches\n\t\tcomment\n\t) {\n\t\tconst additionalComment = comment ? ` ${comment}` : '';\n\t\tconst displayNamesJoined = displayNames.join(',');\n\t\tlet foundDiscrepancy = false;\n\n\t\tif (\n\t\t\t!renderFunctionReturnContents.type ||\n\t\t\t!renderFunctionReturnContents.type.displayName ||\n\t\t\t!displayNamesJoined.match(renderFunctionReturnContents.type.displayName)\n\t\t) {\n\t\t\tif (\n\t\t\t\tcheckChildren &&\n\t\t\t\trenderFunctionReturnContents.props &&\n\t\t\t\trenderFunctionReturnContents.props.children\n\t\t\t) {\n\t\t\t\tReact.Children.forEach(\n\t\t\t\t\trenderFunctionReturnContents.props.children,\n\t\t\t\t\t(child) => {\n\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t!child ||\n\t\t\t\t\t\t\t!child.type ||\n\t\t\t\t\t\t\t!child.type.displayName ||\n\t\t\t\t\t\t\t!displayNamesJoined.match(child.type.displayName)\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\tfoundDiscrepancy = true;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t);\n\t\t\t} else {\n\t\t\t\tfoundDiscrepancy = true;\n\t\t\t}\n\t\t}\n\n\t\tif (foundDiscrepancy && !hasWarned[control]) {\n\t\t\tlet allowedDisplayNames = '';\n\n\t\t\tdisplayNames.forEach((displayName, index) => {\n\t\t\t\tallowedDisplayNames += displayName;\n\n\t\t\t\tif (displayNames.length > index + 2) {\n\t\t\t\t\tallowedDisplayNames += ', ';\n\t\t\t\t} else if (displayNames.length > index + 1) {\n\t\t\t\t\tallowedDisplayNames += displayNames.length > 2 ? ', or ' : ' or ';\n\t\t\t\t}\n\t\t\t});\n\n\t\t\t/* eslint-disable max-len */\n\t\t\twarning(\n\t\t\t\tfalse,\n\t\t\t\t`[Design System React] Content provided by \\`${propName}\\` for ${control} must have a \\`displayName\\` property value of ${allowedDisplayNames}${\n\t\t\t\t\tcheckChildren\n\t\t\t\t\t\t? ` or be an element/fragment with children all having the \\`displayName\\` property value of ${allowedDisplayNames}.`\n\t\t\t\t\t\t: '.'\n\t\t\t\t} Please review ${propName} prop documentation.${additionalComment}`\n\t\t\t);\n\t\t\t/* eslint-enable max-len */\n\t\t\thasWarned[control] = true;\n\t\t}\n\t};\n}\n\nexport default renderFunctionReturnContentsLackDisplayName;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n/* eslint-disable import/no-mutable-exports */\n\nimport deprecatedPropertyValue from '../../utilities/warning/deprecated-property-value';\nimport deprecatedProperty from '../../utilities/warning/deprecated-property';\nimport getComponentDocFn from '../../utilities/get-component-doc';\nimport renderFunctionReturnContentsLackDisplayName from '../../utilities/warning/render-function-return-contents-lack-display-name';\n\nimport { PAGE_HEADER_CONTROL } from '../../utilities/constants';\n\nlet checkProps = function checkPropsFunction() {};\n\nif (process.env.NODE_ENV !== 'production') {\n\tcheckProps = function checkPropsFunction(COMPONENT, props, jsonDoc) {\n\t\tconst createDocUrl = getComponentDocFn(jsonDoc);\n\n\t\tdeprecatedProperty(\n\t\t\tCOMPONENT,\n\t\t\tprops.iconCategory,\n\t\t\t'iconCategory',\n\t\t\t'icon',\n\t\t\tcreateDocUrl('icon')\n\t\t);\n\n\t\tdeprecatedProperty(\n\t\t\tCOMPONENT,\n\t\t\tprops.iconName,\n\t\t\t'iconName',\n\t\t\t'icon',\n\t\t\tcreateDocUrl('icon')\n\t\t);\n\n\t\tdeprecatedProperty(\n\t\t\tCOMPONENT,\n\t\t\tprops.iconPosition,\n\t\t\t'iconPosition',\n\t\t\t'icon',\n\t\t\tcreateDocUrl('icon')\n\t\t);\n\n\t\tdeprecatedProperty(\n\t\t\tCOMPONENT,\n\t\t\tprops.iconSize,\n\t\t\t'iconSize',\n\t\t\t'icon',\n\t\t\tcreateDocUrl('icon')\n\t\t);\n\n\t\tdeprecatedProperty(\n\t\t\tCOMPONENT,\n\t\t\tprops.iconVariant,\n\t\t\t'iconVariant',\n\t\t\t'icon',\n\t\t\tcreateDocUrl('icon')\n\t\t);\n\n\t\tif (props.variant === 'objectHome') {\n\t\t\tdeprecatedPropertyValue(\n\t\t\t\tCOMPONENT,\n\t\t\t\t{\n\t\t\t\t\tpropAsString: 'variant',\n\t\t\t\t\tpropValue: props.variant,\n\t\t\t\t\tdeprecatedPropValue: 'objectHome',\n\t\t\t\t\treplacementPropAsValue: 'object-home',\n\t\t\t\t},\n\t\t\t\t`Using value of variants in camelCase is deprecated. Use kebab-case ('object-home') instead. ${createDocUrl(\n\t\t\t\t\t'variant'\n\t\t\t\t)}`\n\t\t\t);\n\t\t}\n\n\t\tif (props.variant === 'recordHome') {\n\t\t\tdeprecatedPropertyValue(\n\t\t\t\tCOMPONENT,\n\t\t\t\t{\n\t\t\t\t\tpropAsString: 'variant',\n\t\t\t\t\tpropValue: props.variant,\n\t\t\t\t\tdeprecatedPropValue: 'recordHome',\n\t\t\t\t\treplacementPropAsValue: 'record-home',\n\t\t\t\t},\n\t\t\t\t`Using value of variants in camelCase is deprecated. Use kebab-case ('record-home') instead. ${createDocUrl(\n\t\t\t\t\t'variant'\n\t\t\t\t)}`\n\t\t\t);\n\t\t}\n\n\t\tif (props.variant === 'relatedList') {\n\t\t\tdeprecatedPropertyValue(\n\t\t\t\tCOMPONENT,\n\t\t\t\t{\n\t\t\t\t\tpropAsString: 'variant',\n\t\t\t\t\tpropValue: props.variant,\n\t\t\t\t\tdeprecatedPropValue: 'relatedList',\n\t\t\t\t\treplacementPropAsValue: 'related-list',\n\t\t\t\t},\n\t\t\t\t`Using value of variants in camelCase is deprecated. Use kebab-case ('related-list') instead. ${createDocUrl(\n\t\t\t\t\t'variant'\n\t\t\t\t)}`\n\t\t\t);\n\t\t}\n\n\t\tdeprecatedProperty(\n\t\t\tCOMPONENT,\n\t\t\tprops.contentRight,\n\t\t\t'contentRight',\n\t\t\t'onRenderActions',\n\t\t\tcreateDocUrl('onRenderActions')\n\t\t);\n\n\t\tdeprecatedProperty(\n\t\t\tCOMPONENT,\n\t\t\tprops.navRight,\n\t\t\t'navRight',\n\t\t\t'onRenderControls',\n\t\t\tcreateDocUrl('onRenderControls')\n\t\t);\n\n\t\tif (props.onRenderActions) {\n\t\t\trenderFunctionReturnContentsLackDisplayName(\n\t\t\t\tCOMPONENT,\n\t\t\t\t'onRenderActions',\n\t\t\t\tprops.onRenderActions(),\n\t\t\t\t[PAGE_HEADER_CONTROL],\n\t\t\t\ttrue\n\t\t\t);\n\t\t} else if (props.contentRight) {\n\t\t\trenderFunctionReturnContentsLackDisplayName(\n\t\t\t\tCOMPONENT,\n\t\t\t\t'contentRight',\n\t\t\t\tprops.contentRight,\n\t\t\t\t[PAGE_HEADER_CONTROL],\n\t\t\t\ttrue\n\t\t\t);\n\t\t}\n\n\t\tif (props.onRenderControls) {\n\t\t\trenderFunctionReturnContentsLackDisplayName(\n\t\t\t\tCOMPONENT,\n\t\t\t\t'onRenderControls',\n\t\t\t\tprops.onRenderControls(),\n\t\t\t\t[PAGE_HEADER_CONTROL],\n\t\t\t\ttrue\n\t\t\t);\n\t\t} else if (props.navRight) {\n\t\t\trenderFunctionReturnContentsLackDisplayName(\n\t\t\t\tCOMPONENT,\n\t\t\t\t'navRight',\n\t\t\t\tprops.navRight,\n\t\t\t\t[PAGE_HEADER_CONTROL],\n\t\t\t\ttrue\n\t\t\t);\n\t\t}\n\t};\n}\n\nexport default checkProps;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport classnames from 'classnames';\n\nconst displayName = 'PageHeaderInfo';\nconst propTypes = {\n\t/**\n\t * Optional class name\n\t */\n\tclassName: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\t/**\n\t * Contents of info section\n\t */\n\tcontent: PropTypes.node,\n\t/**\n\t * Variant passed down from page header\n\t */\n\tvariant: PropTypes.string,\n};\n\nconst Info = (props) => {\n\tif (!props.content) return null;\n\n\tconst classes = classnames(\n\t\t{\n\t\t\t'slds-page-header__name-meta': props.variant === 'base',\n\t\t\t'slds-page-header__meta-text':\n\t\t\t\tprops.variant === 'object-home' ||\n\t\t\t\tprops.variant === 'objectHome' ||\n\t\t\t\tprops.variant === 'related-list' ||\n\t\t\t\tprops.variant === 'relatedList',\n\t\t},\n\t\tprops.className\n\t);\n\n\tif (typeof props.content === 'string') {\n\t\treturn <p className={classes}>{props.content}</p>;\n\t}\n\n\treturn <div className={classes}>{props.content}</div>;\n};\n\nInfo.displayName = displayName;\nInfo.propTypes = propTypes;\n\nexport default Info;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\nimport Breadcrumb from '../../breadcrumb';\n\nconst displayName = 'PageHeaderLabel';\nconst propTypes = {\n\t/**\n\t * Contents of label section\n\t */\n\tcontent: PropTypes.node,\n\t/**\n\t * An array of react elements, presumably anchor <a> elements.\n\t */\n\ttrail: PropTypes.array,\n};\n\nconst Label = (props) => {\n\tif (props.trail && props.trail.length > 0) {\n\t\treturn <Breadcrumb styleContainer={props.style} trail={props.trail} />;\n\t}\n\n\tif (props.content) {\n\t\tif (typeof props.content === 'string') {\n\t\t\treturn <span>{props.content}</span>;\n\t\t}\n\n\t\treturn props.content;\n\t}\n\n\treturn null;\n};\n\nLabel.displayName = displayName;\nLabel.propTypes = propTypes;\n\nexport default Label;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\nimport React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport classnames from 'classnames';\n\nimport Label from './label';\n\nconst displayName = 'PageHeaderTitle';\nconst propTypes = {\n\t/**\n\t * Sets the vertical alignment on the title\n\t */\n\talign: PropTypes.oneOf(['top', 'middle', 'bottom']),\n\t/**\n\t * Optional class name\n\t */\n\tclassName: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\t/**\n\t * The title content\n\t */\n\tcontent: PropTypes.node,\n\t/**\n\t * Label node, for variants that require a label within the title\n\t */\n\tlabel: PropTypes.node,\n\t/**\n\t * Sets whether the title will truncate its content responsively.\n\t */\n\ttruncate: PropTypes.bool,\n};\nconst defaultProps = {\n\t// align: 'middle',\n\ttitle: 'Page Header Title',\n\ttruncate: true,\n};\n\nclass Title extends Component {\n\trender() {\n\t\tif (!this.props.content) return null;\n\n\t\tconst classes = classnames(\n\t\t\t'slds-page-header__title',\n\t\t\tthis.props.className,\n\t\t\t{\n\t\t\t\t'slds-truncate': this.props.truncate,\n\t\t\t\t[`slds-align-${this.props.align}`]: this.props.align,\n\t\t\t}\n\t\t);\n\n\t\treturn (\n\t\t\t<div className=\"slds-page-header__name-title\">\n\t\t\t\t<h1>\n\t\t\t\t\t<Label content={this.props.label} />\n\t\t\t\t\t<span\n\t\t\t\t\t\tclassName={classes}\n\t\t\t\t\t\ttitle={\n\t\t\t\t\t\t\ttypeof this.props.content === 'string'\n\t\t\t\t\t\t\t\t? this.props.content\n\t\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t\t}\n\t\t\t\t\t>\n\t\t\t\t\t\t{this.props.content}\n\t\t\t\t\t</span>\n\t\t\t\t</h1>\n\t\t\t</div>\n\t\t);\n\t}\n}\n\nTitle.displayName = displayName;\nTitle.propTypes = propTypes;\nTitle.defaultProps = defaultProps;\n\nexport default Title;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n/* eslint-disable jsx-a11y/no-noninteractive-tabindex */\n\nimport React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport classnames from 'classnames';\nimport Tooltip from '../../tooltip';\n\nconst displayName = 'PageHeaderDetailRow';\nconst propTypes = {\n\t/**\n\t * Optional class name\n\t */\n\tclassName: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\t/**\n\t * The content property can be a string or a React element\n\t */\n\tcontent: PropTypes.node,\n\t/**\n\t * Sets the 'flavor' of a block, which adds the following sizing class: `slds-size_${flavor}`\n\t */\n\tflavor: PropTypes.string,\n\t/**\n\t * Sets the label of a detail block\n\t */\n\tlabel: PropTypes.node,\n\t/**\n\t * Sets whether the fields truncate\n\t */\n\ttruncate: PropTypes.bool,\n};\n\nconst defaultProps = {\n\tcontent: '',\n\tlabel: '',\n\ttruncate: true,\n};\n\nclass DetailBlock extends Component {\n\tconstructor(props) {\n\t\tsuper(props);\n\t\tthis.state = { showTooltip: false };\n\t}\n\n\tcomponentDidMount() {\n\t\tthis.renderFieldTruncation();\n\t}\n\n\tcomponentDidUpdate(prevProps) {\n\t\tif (this.props.content !== prevProps.content) {\n\t\t\tthis.renderFieldTruncation();\n\t\t}\n\t}\n\n\trenderContent() {\n\t\tconst { content, truncate } = this.props;\n\n\t\tif (typeof content === 'string') {\n\t\t\tconst labelClasses = classnames({ 'slds-truncate': truncate });\n\n\t\t\treturn (\n\t\t\t\t<div\n\t\t\t\t\tclassName={labelClasses}\n\t\t\t\t\tref={(field) => {\n\t\t\t\t\t\tthis.fieldContentRef = field;\n\t\t\t\t\t}}\n\t\t\t\t\ttitle={content}\n\t\t\t\t>\n\t\t\t\t\t{content}\n\t\t\t\t</div>\n\t\t\t);\n\t\t}\n\n\t\treturn content;\n\t}\n\n\trenderContentWithTooltip() {\n\t\tconst { content, truncate } = this.props;\n\t\tconst labelClasses = classnames({ 'slds-truncate': truncate });\n\n\t\treturn (\n\t\t\t<Tooltip align=\"top\" title={content} triggerStyle={{ display: 'inline' }}>\n\t\t\t\t<div className={labelClasses} tabIndex=\"0\" title={content}>\n\t\t\t\t\t{content}\n\t\t\t\t</div>\n\t\t\t</Tooltip>\n\t\t);\n\t}\n\n\trenderFieldTruncation() {\n\t\tconst fieldContent = this.fieldContentRef;\n\t\tconst isTruncated =\n\t\t\tfieldContent && fieldContent.scrollWidth > fieldContent.offsetWidth;\n\n\t\tif (isTruncated) {\n\t\t\tthis.setState({ showTooltip: true });\n\t\t} else {\n\t\t\tthis.setState({ showTooltip: false });\n\t\t}\n\t}\n\n\trenderLabel() {\n\t\tconst { label, truncate } = this.props;\n\n\t\tif (typeof label === 'string') {\n\t\t\tconst labelClasses = classnames('slds-text-title', {\n\t\t\t\t'slds-truncate': truncate,\n\t\t\t});\n\n\t\t\treturn (\n\t\t\t\t<div className={labelClasses} title={label}>\n\t\t\t\t\t{label}\n\t\t\t\t</div>\n\t\t\t);\n\t\t}\n\n\t\treturn label;\n\t}\n\n\trender() {\n\t\tconst { className, flavor } = this.props;\n\n\t\tconst classes = classnames('slds-page-header__detail-block', className, {\n\t\t\t[`slds-size_${flavor}`]: flavor,\n\t\t});\n\n\t\treturn (\n\t\t\t<li className={classes}>\n\t\t\t\t{this.renderLabel()}\n\t\t\t\t{this.state.showTooltip\n\t\t\t\t\t? this.renderContentWithTooltip()\n\t\t\t\t\t: this.renderContent()}\n\t\t\t</li>\n\t\t);\n\t}\n}\n\nDetailBlock.displayName = displayName;\nDetailBlock.propTypes = propTypes;\nDetailBlock.defaultProps = defaultProps;\n\nexport default DetailBlock;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\nimport React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport classnames from 'classnames';\nimport DetailBlock from './detail-block';\n\nconst displayName = 'PageHeaderDetailRow';\nconst propTypes = {\n\tchildren: PropTypes.node,\n\t/**\n\t * Optional class name\n\t */\n\tclassName: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\t/**\n\t * An array of detail blocks\n\t */\n\tdetails: PropTypes.array,\n};\nconst defaultProps = {};\n\nclass DetailRow extends Component {\n\trenderDetails() {\n\t\tif (this.props.children !== undefined) {\n\t\t\treturn this.props.children;\n\t\t}\n\n\t\tif (this.props.details) {\n\t\t\treturn this.props.details.map((detail, i) => {\n\t\t\t\tconst key = `page-header-detail-block-${i}`;\n\n\t\t\t\treturn (\n\t\t\t\t\t<DetailBlock\n\t\t\t\t\t\tkey={key}\n\t\t\t\t\t\tflavor={detail.flavor}\n\t\t\t\t\t\tlabel={detail.label}\n\t\t\t\t\t\tcontent={detail.content}\n\t\t\t\t\t\ttruncate={detail.truncate}\n\t\t\t\t\t/>\n\t\t\t\t);\n\t\t\t});\n\t\t}\n\n\t\treturn null;\n\t}\n\n\trender() {\n\t\tconst classes = classnames(\n\t\t\t'slds-page-header__detail-row',\n\t\t\tthis.props.className\n\t\t);\n\n\t\treturn <ul className={classes}>{this.renderDetails()}</ul>;\n\t}\n}\n\nDetailRow.displayName = displayName;\nDetailRow.propTypes = propTypes;\nDetailRow.defaultProps = defaultProps;\n\nexport default DetailRow;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\nimport React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport classnames from 'classnames';\n\n// ## Constants\nimport { PAGE_HEADER_CONTROL } from '../../../utilities/constants';\n\nconst displayName = 'PageHeaderControls';\nconst propTypes = {\n\t/**\n\t * Optional class name\n\t */\n\tclassName: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\t/**\n\t * Type of this controls component ('actions' or 'controls')\n\t */\n\ttype: PropTypes.oneOf(['actions', 'controls']),\n};\nconst defaultProps = {};\n\nclass Controls extends Component {\n\trender() {\n\t\tlet controls;\n\t\tlet isUsingLegacyProp;\n\t\tlet legacyControls;\n\t\tlet vettedControls;\n\n\t\tif (this.props.type === 'actions') {\n\t\t\tif (this.props.onRenderActions) {\n\t\t\t\tcontrols = this.props.onRenderActions();\n\t\t\t} else if (this.props.contentRight) {\n\t\t\t\tcontrols = this.props.contentRight;\n\t\t\t\tisUsingLegacyProp = true;\n\t\t\t}\n\t\t} else if (this.props.onRenderControls) {\n\t\t\tcontrols = this.props.onRenderControls();\n\t\t} else if (this.props.navRight) {\n\t\t\tcontrols = this.props.navRight;\n\t\t\tisUsingLegacyProp = true;\n\t\t}\n\n\t\tif (controls) {\n\t\t\tif (controls.type && controls.type.displayName === PAGE_HEADER_CONTROL) {\n\t\t\t\tvettedControls = controls;\n\t\t\t} else if (controls.props && controls.props.children) {\n\t\t\t\tvettedControls = [];\n\n\t\t\t\tReact.Children.forEach(controls.props.children, (child) => {\n\t\t\t\t\tif (\n\t\t\t\t\t\tchild &&\n\t\t\t\t\t\tchild.type &&\n\t\t\t\t\t\tchild.type.displayName === PAGE_HEADER_CONTROL\n\t\t\t\t\t) {\n\t\t\t\t\t\t// eslint-disable-next-line fp/no-mutating-methods\n\t\t\t\t\t\tvettedControls.push(child);\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t}\n\n\t\t\t// Backward compatibility for older 'contentRight' & 'navRight' structures.\n\t\t\tif (isUsingLegacyProp && (!vettedControls || vettedControls.length < 1)) {\n\t\t\t\tif (typeof controls !== 'string') {\n\t\t\t\t\tlegacyControls = (\n\t\t\t\t\t\t<div className=\"slds-page-header__controls\" {...controls.props} />\n\t\t\t\t\t);\n\t\t\t\t} else {\n\t\t\t\t\tlegacyControls = (\n\t\t\t\t\t\t<div className=\"slds-page-header__controls\">{controls}</div>\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn (\n\t\t\t\t<div\n\t\t\t\t\tclassName={classnames(\n\t\t\t\t\t\t`slds-page-header__col-${this.props.type}`,\n\t\t\t\t\t\tthis.props.className\n\t\t\t\t\t)}\n\t\t\t\t>\n\t\t\t\t\t{legacyControls || (\n\t\t\t\t\t\t<div className=\"slds-page-header__controls\">{vettedControls}</div>\n\t\t\t\t\t)}\n\t\t\t\t</div>\n\t\t\t);\n\t\t}\n\n\t\treturn null;\n\t}\n}\n\nControls.displayName = displayName;\nControls.propTypes = propTypes;\nControls.defaultProps = defaultProps;\n\nexport default Controls;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport classnames from 'classnames';\n\nimport Controls from '../controls';\nimport Icon from '../../../icon';\nimport Info from '../info';\nimport MediaObject from '../../../media-object';\nimport Title from '../title';\n\nconst displayName = 'PageHeaderBase';\nconst propTypes = {\n\t/**\n\t * The page header icon\n\t */\n\ticon: PropTypes.node,\n\t/**\n\t * The info property can be a string or a React element\n\t */\n\tinfo: PropTypes.node,\n\t/**\n\t * Nav content which appears in the upper right hand corner.\n\t * prop 'navRight' will be deprecated soon, use 'onRenderControls' instead\n\t */\n\tonRenderControls: PropTypes.func,\n\t/**\n\t * The title property can be a string or a React element\n\t */\n\ttitle: PropTypes.node,\n\t/**\n\t * The type of component\n\t */\n\tvariant: PropTypes.string,\n};\n\nconst Base = (props) => {\n\tlet icon;\n\n\t// Backwards compatibility\n\tif (props.iconName) {\n\t\ticon = (\n\t\t\t<Icon\n\t\t\t\tcategory={props.iconCategory}\n\t\t\t\tclassName=\"slds-page-header__icon\"\n\t\t\t\tname={props.iconName}\n\t\t\t\tposition={props.iconPosition}\n\t\t\t\tsize={props.iconSize}\n\t\t\t\tvariant={props.iconVariant}\n\t\t\t/>\n\t\t);\n\t} else if (props.icon) {\n\t\tlet iconClasses = 'slds-page-header__icon';\n\n\t\tif (props.icon.props) {\n\t\t\ticonClasses = classnames(props.icon.props.className, iconClasses);\n\t\t}\n\n\t\ticon = React.cloneElement(props.icon, { className: iconClasses });\n\t}\n\n\treturn (\n\t\t<div className=\"slds-page-header__row\">\n\t\t\t<div className=\"slds-page-header__col-title\">\n\t\t\t\t<MediaObject\n\t\t\t\t\tbody={\n\t\t\t\t\t\t<React.Fragment>\n\t\t\t\t\t\t\t<div className=\"slds-page-header__name\">\n\t\t\t\t\t\t\t\t<Title content={props.title} />\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<Info content={props.info} variant={props.variant} />\n\t\t\t\t\t\t</React.Fragment>\n\t\t\t\t\t}\n\t\t\t\t\tfigure={icon}\n\t\t\t\t/>\n\t\t\t</div>\n\t\t\t<Controls\n\t\t\t\tclassName=\"slds-align-middle\"\n\t\t\t\tnavRight={props.navRight}\n\t\t\t\tonRenderControls={props.onRenderControls}\n\t\t\t\ttype=\"controls\"\n\t\t\t/>\n\t\t</div>\n\t);\n};\nBase.displayName = displayName;\nBase.propTypes = propTypes;\n\nexport default Base;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport classnames from 'classnames';\n\nimport Controls from '../controls';\nimport DetailRow from '../detail-row';\nimport Icon from '../../../icon';\nimport MediaObject from '../../../media-object';\nimport Title from '../title';\n\nconst displayName = 'PageHeaderRecordHome';\nconst propTypes = {\n\t/**\n\t * An array of detail blocks (used in \"recordHome\" variant)\n\t */\n\tdetails: PropTypes.array,\n\t/**\n\t * The label property can be a string or a React element\n\t */\n\tlabel: PropTypes.node,\n\t/**\n\t * The page header icon\n\t */\n\ticon: PropTypes.element,\n\t/**\n\t * Content to appear on the right hand side of the page header\n\t * prop 'contentRight' will be deprecated soon, use 'onRenderActions' instead\n\t */\n\tonRenderActions: PropTypes.func,\n\t/**\n\t * The title property can be a string or a React element\n\t */\n\ttitle: PropTypes.node,\n};\n\nconst RecordHome = (props) => {\n\tlet icon;\n\n\t// Backwards compatibility\n\tif (props.iconName) {\n\t\ticon = (\n\t\t\t<Icon\n\t\t\t\tcategory={props.iconCategory}\n\t\t\t\tclassName=\"slds-page-header__icon\"\n\t\t\t\tname={props.iconName}\n\t\t\t\tposition={props.iconPosition}\n\t\t\t\tsize={props.iconSize}\n\t\t\t\tvariant={props.iconVariant}\n\t\t\t/>\n\t\t);\n\t} else if (props.icon) {\n\t\tlet iconClasses = 'slds-page-header__icon';\n\n\t\tif (props.icon.props) {\n\t\t\ticonClasses = classnames(props.icon.props.className, iconClasses);\n\t\t}\n\n\t\ticon = React.cloneElement(props.icon, { className: iconClasses });\n\t}\n\n\treturn (\n\t\t<React.Fragment>\n\t\t\t<div className=\"slds-page-header__row\">\n\t\t\t\t<div className=\"slds-page-header__col-title\">\n\t\t\t\t\t<MediaObject\n\t\t\t\t\t\tbody={\n\t\t\t\t\t\t\t<React.Fragment>\n\t\t\t\t\t\t\t\t<div className=\"slds-page-header__name\">\n\t\t\t\t\t\t\t\t\t<Title content={props.title} label={props.label} />\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</React.Fragment>\n\t\t\t\t\t\t}\n\t\t\t\t\t\tfigure={icon}\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t\t<Controls\n\t\t\t\t\tcontentRight={props.contentRight}\n\t\t\t\t\tonRenderActions={props.onRenderActions}\n\t\t\t\t\ttype=\"actions\"\n\t\t\t\t/>\n\t\t\t</div>\n\t\t\t{props.details ? (\n\t\t\t\t<div className=\"slds-page-header__row slds-page-header__row_gutters\">\n\t\t\t\t\t<div className=\"slds-page-header__col-details\">\n\t\t\t\t\t\t<DetailRow details={props.details} />\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t) : null}\n\t\t</React.Fragment>\n\t);\n};\n\nRecordHome.displayName = displayName;\nRecordHome.propTypes = propTypes;\n\nexport default RecordHome;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport classnames from 'classnames';\n\nimport Controls from '../controls';\nimport Icon from '../../../icon';\nimport Info from '../info';\nimport Label from '../label';\nimport MediaObject from '../../../media-object';\nimport Title from '../title';\n\nconst displayName = 'PageHeaderObjectHome';\nconst propTypes = {\n\t/**\n\t * The label property can be a string or a React element\n\t */\n\tlabel: PropTypes.node,\n\t/**\n\t * The page header icon\n\t */\n\ticon: PropTypes.element,\n\t/**\n\t * The info property can be a string or a React element\n\t */\n\tinfo: PropTypes.node,\n\t/**\n\t * Used with the `object-home` variant. Accepts a node, typically a Dropdown component\n\t */\n\tnameSwitcherDropdown: PropTypes.node,\n\t/**\n\t * Content to appear on the right hand side of the page header\n\t * prop 'contentRight' will be deprecated soon, use 'onRenderActions' instead\n\t */\n\tonRenderActions: PropTypes.func,\n\t/**\n\t * Nav content which appears in the upper right hand corner.\n\t * prop 'navRight' will be deprecated soon, use 'onRenderControls' instead\n\t */\n\tonRenderControls: PropTypes.func,\n\t/**\n\t * The title property can be a string or a React element\n\t */\n\ttitle: PropTypes.node,\n\t/**\n\t * An array of react elements presumably anchor <a> elements.\n\t */\n\ttrail: PropTypes.array,\n\t/**\n\t * The type of component\n\t * Note: Extra options are added to make the version backward compatible\n\t */\n\tvariant: PropTypes.string,\n};\n\nconst ObjectHome = (props) => {\n\tlet icon;\n\n\t// Backwards compatibility\n\tif (props.iconName) {\n\t\ticon = (\n\t\t\t<Icon\n\t\t\t\tcategory={props.iconCategory}\n\t\t\t\tclassName=\"slds-page-header__icon\"\n\t\t\t\tname={props.iconName}\n\t\t\t\tposition={props.iconPosition}\n\t\t\t\tsize={props.iconSize}\n\t\t\t\tvariant={props.iconVariant}\n\t\t\t/>\n\t\t);\n\t} else if (props.icon) {\n\t\tlet iconClasses = 'slds-page-header__icon';\n\n\t\tif (props.icon.props) {\n\t\t\ticonClasses = classnames(props.icon.props.className, iconClasses);\n\t\t}\n\n\t\ticon = React.cloneElement(props.icon, { className: iconClasses });\n\t}\n\n\treturn (\n\t\t<React.Fragment>\n\t\t\t<div className=\"slds-page-header__row\">\n\t\t\t\t<div className=\"slds-page-header__col-title\">\n\t\t\t\t\t<MediaObject\n\t\t\t\t\t\tbody={\n\t\t\t\t\t\t\t<React.Fragment>\n\t\t\t\t\t\t\t\t{props.trail ? (\n\t\t\t\t\t\t\t\t\t<Label style={{ lineHeight: '1.3' }} trail={props.trail} />\n\t\t\t\t\t\t\t\t) : null}\n\t\t\t\t\t\t\t\t<div className=\"slds-page-header__name\">\n\t\t\t\t\t\t\t\t\t<Title\n\t\t\t\t\t\t\t\t\t\tcontent={props.title}\n\t\t\t\t\t\t\t\t\t\tlabel={!props.trail ? props.label : null}\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t{props.nameSwitcherDropdown ? (\n\t\t\t\t\t\t\t\t\t\t<div className=\"slds-page-header__name-switcher\">\n\t\t\t\t\t\t\t\t\t\t\t{props.nameSwitcherDropdown}\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t) : null}\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</React.Fragment>\n\t\t\t\t\t\t}\n\t\t\t\t\t\tfigure={icon}\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t\t<Controls\n\t\t\t\t\tclassName={classnames({\n\t\t\t\t\t\t'slds-align-middle slds-p-bottom_none':\n\t\t\t\t\t\t\t!props.onRenderControls && !props.navRight,\n\t\t\t\t\t})}\n\t\t\t\t\tcontentRight={props.contentRight}\n\t\t\t\t\tonRenderActions={props.onRenderActions}\n\t\t\t\t\ttype=\"actions\"\n\t\t\t\t/>\n\t\t\t</div>\n\t\t\t<div className=\"slds-page-header__row\">\n\t\t\t\t<div className=\"slds-page-header__col-meta\">\n\t\t\t\t\t<Info content={props.info} variant={props.variant} />\n\t\t\t\t</div>\n\t\t\t\t<Controls\n\t\t\t\t\tclassName={classnames({\n\t\t\t\t\t\t'slds-align-middle': !props.onRenderActions && !props.comntentRight,\n\t\t\t\t\t})}\n\t\t\t\t\tnavRight={props.navRight}\n\t\t\t\t\tonRenderControls={props.onRenderControls}\n\t\t\t\t\ttype=\"controls\"\n\t\t\t\t/>\n\t\t\t</div>\n\t\t</React.Fragment>\n\t);\n};\n\nObjectHome.displayName = displayName;\nObjectHome.propTypes = propTypes;\n\nexport default ObjectHome;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\nimport Controls from '../controls';\nimport Info from '../info';\nimport Label from '../label';\nimport MediaObject from '../../../media-object';\nimport Title from '../title';\n\nconst displayName = 'PageHeaderRelatedList';\nconst propTypes = {\n\t/**\n\t * The label property can be a string or a React element\n\t */\n\tlabel: PropTypes.node,\n\t/**\n\t * The info property can be a string or a React element\n\t */\n\tinfo: PropTypes.node,\n\t/**\n\t * Content to appear on the right hand side of the page header\n\t * prop 'contentRight' will be deprecated soon, use 'onRenderActions' instead\n\t */\n\tonRenderActions: PropTypes.func,\n\t/**\n\t * Nav content which appears in the upper right hand corner.\n\t * prop 'navRight' will be deprecated soon, use 'onRenderControls' instead\n\t */\n\tonRenderControls: PropTypes.func,\n\t/**\n\t * The title property can be a string or a React element\n\t */\n\ttitle: PropTypes.node,\n\t/**\n\t * An array of react elements presumably anchor <a> elements.\n\t */\n\ttrail: PropTypes.array,\n\t/**\n\t * The type of component\n\t * Note: Extra options are added to make the version backward compatible\n\t */\n\tvariant: PropTypes.string,\n};\nconst defaultProps = {};\n\nconst RelatedList = (props) => (\n\t<React.Fragment>\n\t\t<div className=\"slds-page-header__row\">\n\t\t\t<div className=\"slds-page-header__col-title\">\n\t\t\t\t<Label content={props.label} trail={props.trail} />\n\t\t\t\t<MediaObject\n\t\t\t\t\tbody={\n\t\t\t\t\t\t<div className=\"slds-page-header__name\">\n\t\t\t\t\t\t\t<Title content={props.title} label={props.label} />\n\t\t\t\t\t\t</div>\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t</div>\n\t\t\t<Controls\n\t\t\t\tcontentRight={props.contentRight}\n\t\t\t\tonRenderActions={props.onRenderActions}\n\t\t\t\ttype=\"actions\"\n\t\t\t/>\n\t\t</div>\n\t\t<div className=\"slds-page-header__row\">\n\t\t\t<div className=\"slds-page-header__col-meta\">\n\t\t\t\t<Info content={props.info} variant={props.variant} />\n\t\t\t</div>\n\t\t\t<Controls\n\t\t\t\tnavRight={props.navRight}\n\t\t\t\tonRenderControls={props.onRenderControls}\n\t\t\t\ttype=\"controls\"\n\t\t\t/>\n\t\t</div>\n\t</React.Fragment>\n);\n\nRelatedList.displayName = displayName;\nRelatedList.propTypes = propTypes;\nRelatedList.defaultProps = defaultProps;\n\nexport default RelatedList;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n/* eslint-disable jsx-a11y/no-redundant-roles */\n\n// # Page Header Component\n\n// Implements the [Page Header design pattern](https://www.lightningdesignsystem.com/components/page-headers) in React.\n// Based on SLDS v2.2.1\n\n// ## Dependencies\n\nimport React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport classnames from 'classnames';\n\n// This component's `checkProps` which issues warnings to developers about properties when in development mode (similar to React's built in development tools)\nimport checkProps from './check-props';\nimport componentDoc from './component.json';\n\nimport Info from './private/info';\nimport Title from './private/title';\nimport DetailRow from './private/detail-row';\nimport DetailBlock from './private/detail-block';\nimport Base from './private/base';\nimport RecordHome from './private/record-home';\nimport ObjectHome from './private/object-home';\nimport RelatedList from './private/related-list';\n\n// ## Constants\nimport { PAGE_HEADER } from '../../utilities/constants';\n\nconst displayName = PAGE_HEADER;\nconst propTypes = {\n\t/**\n\t * Optional class name\n\t */\n\tclassName: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\t/**\n\t * An array of detail blocks (used in \"recordHome\" variant)\n\t */\n\tdetails: PropTypes.array,\n\t/**\n\t * The label property can be a string or a React element\n\t */\n\tlabel: PropTypes.oneOfType([PropTypes.string, PropTypes.element]),\n\t/**\n\t * The page header icon. Expects an Icon component\n\t */\n\ticon: PropTypes.element,\n\t/**\n\t * The info property can be a string or a React element\n\t */\n\tinfo: PropTypes.oneOfType([PropTypes.string, PropTypes.element]),\n\t/**\n\t * Makes PageHeader joinable with DataTable by adding appropriate classes/styling\n\t */\n\tjoined: PropTypes.bool,\n\t/**\n\t * Used with the `object-home` variant. Accepts a node, typically a Dropdown component\n\t */\n\tnameSwitcherDropdown: PropTypes.node,\n\t/**\n\t * Actions content to appear on the upper right side of the page header.\n\t * Returned content must be either a SLDSPageHeaderControl component or an element/fragment with children that are all SLDSPageHeaderControl components.\n\t * Prop 'contentRight' will be deprecated soon, use 'onRenderActions' instead.\n\t */\n\tonRenderActions: PropTypes.func,\n\t/**\n\t * Controls content to appear on the lower right side of the page header.\n\t * Returned content must be either a SLDSPageHeaderControl component or an element/fragment with children that are all SLDSPageHeaderControl components.\n\t * Prop 'navRight' will be deprecated soon, use 'onRenderControls' instead.\n\t */\n\tonRenderControls: PropTypes.func,\n\t/**\n\t * The title property can be a string or a React element\n\t */\n\ttitle: PropTypes.oneOfType([PropTypes.string, PropTypes.element]),\n\t/**\n\t * An array of react elements presumably anchor <a> elements.\n\t */\n\ttrail: PropTypes.array,\n\t/**\n\t * The type of component\n\t * Note: Extra options are added to make the version backward compatible\n\t */\n\tvariant: PropTypes.oneOf([\n\t\t'base',\n\t\t'object-home',\n\t\t'record-home',\n\t\t'related-list',\n\t]),\n};\n\nconst defaultProps = {\n\tvariant: 'base',\n};\n\n/**\n * The PageHeader component adds PageHeader, PageHeader.Info, PageHeader.Title, PageHeader.DetailRow, and PageHeader.DetailBlock.\n */\nclass PageHeader extends Component {\n\tcomponentDidMount() {\n\t\tcheckProps(PAGE_HEADER, this.props, componentDoc);\n\t}\n\n\trender() {\n\t\tconst { className, variant } = this.props;\n\t\tconst classes = classnames(\n\t\t\t'slds-page-header',\n\t\t\t{\n\t\t\t\t'slds-page-header_record-home':\n\t\t\t\t\tvariant === 'record-home' || variant === 'recordHome',\n\t\t\t\t'slds-page-header_related-list':\n\t\t\t\t\tvariant === 'related-list' || variant === 'relatedList',\n\t\t\t\t'slds-page-header_joined': this.props.joined,\n\t\t\t},\n\t\t\tclassName\n\t\t);\n\t\tlet Variant;\n\n\t\tswitch (variant) {\n\t\t\tcase 'object-home':\n\t\t\tcase 'objectHome': // For backward compatibility\n\t\t\t\tVariant = ObjectHome;\n\t\t\t\tbreak;\n\t\t\tcase 'record-home':\n\t\t\tcase 'recordHome': // For backward compatibility\n\t\t\t\tVariant = RecordHome;\n\t\t\t\tbreak;\n\t\t\tcase 'related-list':\n\t\t\tcase 'relatedList': // For backward compatibility\n\t\t\t\tVariant = RelatedList;\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\tVariant = Base;\n\t\t}\n\n\t\treturn (\n\t\t\t<div className={classes}>\n\t\t\t\t<Variant {...this.props} />\n\t\t\t</div>\n\t\t);\n\t}\n}\n\nPageHeader.displayName = displayName;\nPageHeader.propTypes = propTypes;\nPageHeader.defaultProps = defaultProps;\n\nexport default PageHeader;\n\n// NOTE: these are private components and are prone to breaking changes.\n// Do not use these in your app! These exports are for legacy use only.\nexport { Info, Title, DetailRow, DetailBlock };\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport classnames from 'classnames';\n\n// ## Constants\nimport { PAGE_HEADER_CONTROL } from '../../utilities/constants';\n\nconst propTypes = {\n\t/**\n\t * Optional class name\n\t */\n\tclassName: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n};\n\n/**\n * The PageHeaderControl component is used to wrap individual controls within PageHeader 'actions' and 'controls' sections.\n */\nconst Control = (props) => (\n\t<div className={classnames('slds-page-header__control', props.className)}>\n\t\t{props.children}\n\t</div>\n);\n\nControl.displayName = PAGE_HEADER_CONTROL;\nControl.propTypes = propTypes;\n\nexport default Control;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// # Panel - Filter variant\n\n// Implements the [Panel design pattern](https://www.lightningdesignsystem.com/components/panels) in React.\n// Based on SLDS v2.2.0-rc.1\n\n// ## Dependencies\n\n// ### React\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\n// ### classNames\nimport classNames from 'classnames';\n\n// ## Constants\nimport { PANEL } from '../../utilities/constants';\n\n/**\n * A panel provides detailed contextual information or contextual filtering options. [Filter](/components/filters/) component should be used as children. Menus within a Filter Popover will need to not have \"portal mounts\" and be inline. */\nclass Panel extends React.Component {\n\trender() {\n\t\treturn (\n\t\t\t<div\n\t\t\t\tclassName={classNames(\n\t\t\t\t\t'slds-panel',\n\t\t\t\t\t'slds-grid',\n\t\t\t\t\t'slds-grid_vertical',\n\t\t\t\t\t'slds-nowrap',\n\t\t\t\t\t{\n\t\t\t\t\t\t'slds-panel_filters': this.props.variant === 'filters',\n\t\t\t\t\t},\n\t\t\t\t\tthis.props.className\n\t\t\t\t)}\n\t\t\t>\n\t\t\t\t<div className=\"slds-form_stacked slds-grow slds-scrollable_y slds-grid slds-grid_vertical\">\n\t\t\t\t\t{this.props.children}\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t);\n\t}\n}\n\nPanel.displayName = PANEL;\n\nPanel.propTypes = {\n\t/**\n\t * The contents of the panel\n\t */\n\tchildren: PropTypes.node,\n\t/**\n\t * CSS classes to be added to `slds-panel`.\n\t */\n\tclassName: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\t/**\n\t * The type of panel\n\t */\n\tvariant: PropTypes.oneOf(['filters']),\n};\n\nexport default Panel;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n/* eslint-disable import/no-mutable-exports */\n\nimport deprecatedProperty from '../../../utilities/warning/deprecated-property';\n\nlet checkProps = function checkPropsFunction() {};\n\nif (process.env.NODE_ENV !== 'production') {\n\tcheckProps = function checkPropsFunction(COMPONENT, props) {\n\t\tdeprecatedProperty(\n\t\t\tCOMPONENT,\n\t\t\tprops.assistiveTextCloseFilterPanel,\n\t\t\t'assistiveTextCloseFilterPanel',\n\t\t\t\"assistiveText['closeButton']\"\n\t\t);\n\t};\n}\n\nexport default checkProps;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// # Panel Filter Group Footer\n\n// Implements the [Panel design pattern](https://www.lightningdesignsystem.com/components/panels) in React.\n// Based on SLDS v2.2.0-rc.1\n\n// ## Dependencies\n\n// ### React\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\nimport Button from '../../../button';\n\n/**\n * A filtering panel contextual filtering options.\n */\nconst PanelFilterFooter = ({\n\taddFilterLabel,\n\tonClickAdd,\n\tonClickRemoveAll,\n\tremoveAllLabel,\n}) => (\n\t<div className=\"slds-filters__footer slds-grid slds-shrink-none\">\n\t\t<Button label={addFilterLabel} onClick={onClickAdd} variant=\"link\" />\n\t\t<Button\n\t\t\tclassName=\"slds-col_bump-left\"\n\t\t\tlabel={removeAllLabel}\n\t\t\tonClick={onClickRemoveAll}\n\t\t\tvariant=\"link\"\n\t\t/>\n\t</div>\n);\n\nPanelFilterFooter.displayName = 'SLDSPanelFilterFooter';\n\nPanelFilterFooter.propTypes = {\n\t/**\n\t * Localized description of the \"Add Filter\" button in the footer\n\t */\n\taddFilterLabel: PropTypes.node.isRequired,\n\t/**\n\t * Callback triggered when \"Add Filter\" is clicked. Recieves an `event`.\n\t */\n\tonClickAdd: PropTypes.func.isRequired,\n\t/**\n\t * Callback triggered when \"Remove All\" is clicked. Recieves an `event`.\n\t */\n\tonClickRemoveAll: PropTypes.func.isRequired,\n\t/**\n\t * Localized description of the \"Remove All\" button in the footer\n\t */\n\tremoveAllLabel: PropTypes.node.isRequired,\n};\n\nexport default PanelFilterFooter;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// # Panel Filter Group Header\n\n// Implements the [Panel design pattern](https://www.lightningdesignsystem.com/components/panels) in React.\n// Based on SLDS v2.2.0-rc.1\n\n// ## Dependencies\n\n// ### React\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\nimport Button from '../../../button';\n\n/**\n * Header for a Filter Group within a Panel.\n */\nconst PanelFilterHeader = ({\n\tassistiveText,\n\tcancelLabel,\n\theading,\n\tmodified,\n\tonRequestCancel,\n\tonRequestClose,\n\tonRequestSave,\n\tsaveLabel,\n}) =>\n\tmodified ? (\n\t\t<div className=\"slds-filters__header slds-grid slds-has-divider_bottom-space slds-grid_align-spread\">\n\t\t\t<Button label={cancelLabel} onClick={onRequestCancel} variant=\"neutral\" />\n\t\t\t<Button label={saveLabel} onClick={onRequestSave} variant=\"brand\" />\n\t\t</div>\n\t) : (\n\t\t<div className=\"slds-filters__header slds-grid slds-has-divider_bottom-space\">\n\t\t\t<h2 className=\"slds-align-middle slds-text-heading_small\">{heading}</h2>\n\t\t\t<Button\n\t\t\t\tclassName=\"slds-col_bump-left\"\n\t\t\t\tassistiveText={{ icon: assistiveText.closeButton }}\n\t\t\t\ticonCategory=\"utility\"\n\t\t\t\ticonName=\"forward\"\n\t\t\t\ticonVariant=\"bare\"\n\t\t\t\ticonSize=\"small\"\n\t\t\t\tonClick={onRequestClose}\n\t\t\t\ttitle={assistiveText.closeButton}\n\t\t\t\tvariant=\"icon\"\n\t\t\t/>\n\t\t</div>\n\t);\n\nPanelFilterHeader.displayName = 'SLDSPanelFilterHeader';\n\nPanelFilterHeader.propTypes = {\n\t/**\n\t * **Assistive text for accessibility.**\n\t * This object is merged with the default props object on every render.\n\t * * `closeButton`: Localized description of the close button for the panel for screen readers\n\t */\n\tassistiveText: PropTypes.shape({\n\t\tcloseButton: PropTypes.string,\n\t}),\n\t/**\n\t * Label for button that cancels modified filters\n\t */\n\tcancelLabel: PropTypes.string,\n\t/**\n\t * The heading of the filtering panel\n\t */\n\theading: PropTypes.node,\n\t/**\n\t * Shows confirmation heading. Please see `onRequestCancel` and `onRequestSave`.\n\t */\n\tmodified: PropTypes.bool,\n\t/**\n\t * When the panel's cancel button is clicked in order to reset filter panel to previous state.\n\t */\n\tonRequestCancel: PropTypes.func,\n\t/**\n\t * When the panel's close button is clicked. Please place Panel within another element to control position and visibility.\n\t */\n\tonRequestClose: PropTypes.func,\n\t/**\n\t * When the panel's save button is clicked in order to confirm filter panel state.\n\t */\n\tonRequestSave: PropTypes.func,\n\t/**\n\t * Label for button that saves modified filters\n\t */\n\tsaveLabel: PropTypes.string,\n};\n\nexport default PanelFilterHeader;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// # Panel Filter Group\n\n// Implements the Filter part of [Panel design pattern](https://www.lightningdesignsystem.com/components/panels) in React.\n// Based on SLDS v2.2.0-rc.1\n\n// ## Dependencies\n\n// ### React\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\nimport checkProps from './check-props';\n\nimport PanelFilteringFooter from './private/panel-footer';\nimport PanelHeader from './private/panel-header';\n\n// ## Constants\nimport { PANEL_FILTER_GROUP } from '../../../utilities/constants';\n\nconst defaultProps = {\n\taddFilterLabel: 'Add Filter',\n\tcancelLabel: 'Cancel',\n\tassistiveText: {\n\t\tcloseButton: 'Close Filter Panel',\n\t},\n\theading: 'Filter',\n\tsaveLabel: 'Save',\n\tremoveAllLabel: 'Remove All',\n};\n\n/**\n * A filtering panel contextual filtering options.\n */\nconst PanelFilterGroup = (props) => {\n\tcheckProps(PANEL_FILTER_GROUP, props);\n\tconst {\n\t\tchildren,\n\t\terrorLabel,\n\t\tfooter,\n\t\theader,\n\t\tvariant,\n\n\t\t// footer\n\t\taddFilterLabel,\n\t\tonClickAdd,\n\t\tonClickRemoveAll,\n\t\tremoveAllLabel,\n\n\t\t// header\n\t\tcancelLabel,\n\t\theading,\n\t\tmodified,\n\t\tonRequestCancel,\n\t\tonRequestClose,\n\t\tonRequestSave,\n\t\tsaveLabel,\n\t} = props;\n\tconst assistiveText = {\n\t\t...defaultProps.assistiveText,\n\t\t...props.assistiveText,\n\t};\n\tif (props.assistiveTextCloseFilterPanel) {\n\t\tassistiveText.closeButton = props.assistiveTextCloseFilterPanel;\n\t}\n\treturn (\n\t\t<div className=\"slds-filters\">\n\t\t\t{variant === 'panel' ? (\n\t\t\t\t<PanelHeader\n\t\t\t\t\tassistiveText={assistiveText}\n\t\t\t\t\tcancelLabel={cancelLabel}\n\t\t\t\t\theading={heading}\n\t\t\t\t\tmodified={modified}\n\t\t\t\t\tonRequestCancel={onRequestCancel}\n\t\t\t\t\tonRequestClose={onRequestClose}\n\t\t\t\t\tonRequestSave={onRequestSave}\n\t\t\t\t\tsaveLabel={saveLabel}\n\t\t\t\t/>\n\t\t\t) : (\n\t\t\t\theader || null\n\t\t\t)}\n\t\t\t<div className=\"slds-filters__body\">\n\t\t\t\t{errorLabel ? (\n\t\t\t\t\t<div\n\t\t\t\t\t\tclassName=\"slds-text-color_error slds-m-bottom_x-small\"\n\t\t\t\t\t\trole=\"alert\"\n\t\t\t\t\t>\n\t\t\t\t\t\t{errorLabel}\n\t\t\t\t\t</div>\n\t\t\t\t) : null}\n\t\t\t\t{children}\n\t\t\t</div>\n\t\t\t{variant === 'panel' ? (\n\t\t\t\t<PanelFilteringFooter\n\t\t\t\t\taddFilterLabel={addFilterLabel}\n\t\t\t\t\tonClickAdd={onClickAdd}\n\t\t\t\t\tonClickRemoveAll={onClickRemoveAll}\n\t\t\t\t\tremoveAllLabel={removeAllLabel}\n\t\t\t\t/>\n\t\t\t) : (\n\t\t\t\tfooter || null\n\t\t\t)}\n\t\t</div>\n\t);\n};\n\nPanelFilterGroup.displayName = PANEL_FILTER_GROUP;\n\nPanelFilterGroup.propTypes = {\n\t/**\n\t * **Assistive text for accessibility.**\n\t * This object is merged with the default props object on every render.\n\t * * `closeButton`: Localized description of the close button for the panel for screen readers\n\t */\n\tassistiveText: PropTypes.shape({\n\t\tcloseButton: PropTypes.string,\n\t}),\n\t/**\n\t * Localized description of the \"Add Filter\" button in the footer\n\t */\n\taddFilterLabel: PropTypes.node,\n\t/**\n\t * Label for button that cancels modified filters\n\t */\n\tcancelLabel: PropTypes.string,\n\t/**\n\t * Pass in `FilterList`'s of `Filters`:\n\t *\n\t * ```\n\t * <FilterGroup\n\t * variant=\"panel\"\n\t * >\n\t * <FilterList>\n\t * <Filter\n\t * property=\"Show Me\"\n\t * predicate=\"All Wackamoles\"\n\t * >\n\t * {popoverContents}\n\t * </Filter>\n\t * </FilterList>\n\t * </FilterGroup>\n\t * ```\n\t */\n\tchildren: PropTypes.node,\n\t/**\n\t * Label for the error message at the top of the panel.\n\t */\n\terrorLabel: PropTypes.string,\n\t/**\n\t * Allows for customization of footer. This will be added after any `FilterList`'s in the DOM. If using Panel Filter Group outside of a panel, do not set the variant to `panel` and header and footer will be removed.\n\t */\n\tfooter: PropTypes.node,\n\t/**\n\t * Allows for customization of header. This will be added before any `FilterList`'s in the DOM. If using Panel Filter Group outside of a panel, do not set the variant to `panel` and header and footer will be removed.\n\t */\n\theader: PropTypes.node,\n\t/**\n\t * The heading within the header of the filtering panel\n\t */\n\theading: PropTypes.oneOfType([PropTypes.node, PropTypes.string]),\n\t/**\n\t * Shows confirmation heading. Please see `onRequestCancel` and `onRequestSave`.\n\t */\n\tmodified: PropTypes.bool,\n\t/**\n\t * Callback triggered when \"Add Filter\" is clicked. Recieves an `event`.\n\t */\n\tonClickAdd: PropTypes.func,\n\t/**\n\t * Callback triggered when \"Remove All\" is clicked. Recieves an `event`.\n\t */\n\tonClickRemoveAll: PropTypes.func,\n\t/**\n\t * When the panel's cancel button is clicked in order to reset filter panel to previous state.\n\t */\n\tonRequestCancel: PropTypes.func,\n\t/**\n\t * When the panel's close button is clicked. Please place Panel within another element to control position and visibility.\n\t */\n\tonRequestClose: PropTypes.func,\n\t/**\n\t * When the panel's save button is clicked in order to confirm filter panel state.\n\t */\n\tonRequestSave: PropTypes.func,\n\t/**\n\t * Localized description of the \"Remove All\" button in the footer\n\t */\n\tremoveAllLabel: PropTypes.node,\n\t/**\n\t * Label for button that saves modified filters\n\t */\n\tsaveLabel: PropTypes.string,\n\t/**\n\t * Adds in default Panel header and footer\n\t */\n\tvariant: PropTypes.oneOf(['panel']),\n};\n\nPanelFilterGroup.defaultProps = defaultProps;\n\nexport default PanelFilterGroup;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// # Filter List\n\n// Implements the [Panel design pattern](https://www.lightningdesignsystem.com/components/panels) in React.\n// Based on SLDS v2.2.0-rc.1\n\n// ## Dependencies\n\n// ### React\nimport React from 'react';\n\nimport PropTypes from 'prop-types';\n\n// ### shortid\n// [npmjs.com/package/shortid](https://www.npmjs.com/package/shortid)\n// shortid is a short, non-sequential, url-friendly, unique id generator\nimport shortid from 'shortid';\n\n// ## Constants\nimport { PANEL_FILTER_LIST } from '../../../utilities/constants';\n\n/**\n * A list of Filters. This is a higher order component for filters that decorates the filter to work within a Filtering Panel. It also adds support for a Filter error label.\n */\nclass PanelFilterList extends React.Component {\n\tstatic displayName = PANEL_FILTER_LIST;\n\n\tstatic propTypes() {\n\t\treturn {\n\t\t\t/**\n\t\t\t * Pass in `Filter` components\n\t\t\t */\n\t\t\tchildren: PropTypes.node,\n\t\t};\n\t}\n\n\tconstructor(props) {\n\t\tsuper(props);\n\n\t\tthis.generatedId = shortid.generate();\n\t}\n\n\trender() {\n\t\tconst children = React.Children.map(this.props.children, (child, index) => {\n\t\t\tconst id =\n\t\t\t\tchild && child.props.id\n\t\t\t\t\t? child.props.id\n\t\t\t\t\t: `${this.generatedId}-${index}`;\n\n\t\t\tlet clonedChild;\n\n\t\t\tif (child && child.props.errorLabel) {\n\t\t\t\tclonedChild = React.cloneElement(child, {\n\t\t\t\t\tisError: true,\n\t\t\t\t});\n\t\t\t}\n\n\t\t\treturn child ? (\n\t\t\t\t<li className=\"slds-item slds-hint-parent\">\n\t\t\t\t\t{clonedChild || child}\n\t\t\t\t\t{child.props.errorLabel ? (\n\t\t\t\t\t\t<p\n\t\t\t\t\t\t\tid={`${id}-error`}\n\t\t\t\t\t\t\tclassName=\"slds-text-color_error slds-m-top_xx-small\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{child.props.errorLabel}\n\t\t\t\t\t\t</p>\n\t\t\t\t\t) : null}\n\t\t\t\t</li>\n\t\t\t) : null;\n\t\t});\n\n\t\treturn (\n\t\t\t<ol className=\"slds-list_vertical slds-list_vertical-space\">\n\t\t\t\t{children}\n\t\t\t</ol>\n\t\t);\n\t}\n}\n\nexport default PanelFilterList;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// # FIlter List Heading\n\n// Implements the [Panel design pattern](https://www.lightningdesignsystem.com/components/panels) in React.\n// Based on SLDS v2.2.0-rc.1\n\n// ## Dependencies\n\n// ### React\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\n// ### classNames\nimport classNames from 'classnames';\n\nimport Icon from '../../icon';\n\n// ## Constants\nimport { PANEL_FILTER_LIST_HEADING } from '../../../utilities/constants';\n\n/**\n * A filtering panel contextual filtering options.\n */\nconst PanelFilterListHeading = ({ heading, isLocked, lockedHeading }) => (\n\t<h3\n\t\tclassName={classNames('slds-text-body_small', 'slds-m-vertical_x-small', {\n\t\t\t'slds-grid': isLocked,\n\t\t})}\n\t>\n\t\t{isLocked ? lockedHeading : heading}\n\t\t{isLocked ? (\n\t\t\t<Icon\n\t\t\t\tclassName=\"slds-m-left_x-small\"\n\t\t\t\tassistiveText={{ label: 'locked' }}\n\t\t\t\tcategory=\"utility\"\n\t\t\t\tname=\"lock\"\n\t\t\t\tsize=\"x-small\"\n\t\t\t/>\n\t\t) : null}\n\t</h3>\n);\n\nPanelFilterListHeading.displayName = PANEL_FILTER_LIST_HEADING;\n\nPanelFilterListHeading.propTypes = {\n\t/**\n\t * Heading for following PanelFilterList\n\t */\n\theading: PropTypes.oneOfType([PropTypes.node, PropTypes.string]),\n\t/**\n\t * Displayed a heading for a locked list of filters\n\t */\n\tisLocked: PropTypes.bool,\n\t/**\n\t * Heading for a group of filters that are locked\n\t */\n\tlockedHeading: PropTypes.string,\n};\n\nPanelFilterListHeading.defaultProps = {\n\theading: 'Matching all these filters',\n\tlockedHeading: 'Locked filters',\n};\n\nexport default PanelFilterListHeading;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// # Pill Container Component\n// Implements the [Listbox of Pill Options design pattern](https://www.lightningdesignsystem.com/components/pills/?variant=listbox-of-pill-options) in React.\n\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport shortid from 'shortid';\nimport SelectedListBox from './private/selected-listbox';\n\nimport { PILL_CONTAINER } from '../../utilities/constants';\n\nconst propTypes = {\n\t/**\n\t * **Assistive text for accessibility**\n\t * * `listboxLabel`: This is a label for the listbox. The default is `Selected Options:`.\n\t * * `removePill`: Used to remove a selected item (pill). Focus is on the pill. This is not a button. The default is `Press delete or backspace to remove`.\n\t */\n\tassistiveText: PropTypes.shape({\n\t\tlistboxLabel: PropTypes.string,\n\t\tremovePill: PropTypes.string,\n\t}),\n\t/**\n\t * CSS classes to be added to the pill container\n\t */\n\tclassName: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\t/**\n\t * HTML id for pill container\n\t */\n\tid: PropTypes.string,\n\t/**\n\t * **Text labels for internationalization**\n\t * * `removePillTitle`: Title on `X` icon\n\t */\n\tlabels: PropTypes.shape({\n\t\tremovePillTitle: PropTypes.string,\n\t}),\n\t/**\n\t * **Array of pill objects.**\n\t * Each object can contain:\n\t * * `avatar`: An `Avatar` component.\n\t * * `error`: Adds error styling\n\t * * `icon`: An `Icon` component.\n\t * * `id`: A unique identifier string.\n\t * * `label`: A primary string of text.\n\t * * `title`: Text that appears on mouse hover. Most helpful for long labels.\n\t * ```\n\t * {\n\t * \tid: '2',\n\t * \tlabel: 'Salesforce.com, Inc.',\n\t * \ttitle: 'Salesforce.com, Inc. - Want to work here?',\n\t * },\n\t * ```\n\t * `options` with array length of zero will remove this component from the DOM.\n\t */\n\toptions: PropTypes.arrayOf(\n\t\tPropTypes.shape({\n\t\t\tavatar: PropTypes.oneOfType([\n\t\t\t\tPropTypes.node,\n\t\t\t\tPropTypes.shape({\n\t\t\t\t\timgSrc: PropTypes.string,\n\t\t\t\t\ttitle: PropTypes.string,\n\t\t\t\t\tvariant: PropTypes.string,\n\t\t\t\t}),\n\t\t\t]),\n\t\t\tbare: PropTypes.bool,\n\t\t\terror: PropTypes.bool,\n\t\t\ticon: PropTypes.oneOfType([\n\t\t\t\tPropTypes.node,\n\t\t\t\tPropTypes.shape({\n\t\t\t\t\tcategory: PropTypes.string,\n\t\t\t\t\tname: PropTypes.string,\n\t\t\t\t}),\n\t\t\t]),\n\t\t\tid: PropTypes.string,\n\t\t\tlabel: PropTypes.oneOfType([PropTypes.node, PropTypes.string]),\n\t\t\ttitle: PropTypes.string,\n\t\t})\n\t),\n\t/**\n\t * Function called when a pill is clicked\n\t */\n\tonClickPill: PropTypes.func,\n\t/**\n\t * Function called when a pill is requested to be 'removed' via the delete key or 'X' icon click.\n\t */\n\tonRequestRemovePill: PropTypes.func,\n\t/**\n\t * Custom style object to be passed to the pill container\n\t */\n\tstyle: PropTypes.object,\n\t/**\n\t * Specifies the pill styling at the container level. `bare` removes border styling from all pills.\n\t */\n\tvariant: PropTypes.oneOf(['base', 'bare']),\n};\n\n/**\n * A `PillContainer` is a container that holds one or more pills. Use it for a list of pills in a container that resembles an `input` form field. It is not intended for navigation.\n */\nclass PillContainer extends React.Component {\n\tconstructor(props) {\n\t\tsuper(props);\n\n\t\tthis.state = {\n\t\t\t// seeding initial state with this.props.options[0]\n\t\t\tactiveSelectedOption:\n\t\t\t\t(this.props.options && this.props.options[0]) || undefined,\n\t\t\tactiveSelectedOptionIndex: 0,\n\t\t\tlistboxHasFocus: false,\n\t\t};\n\n\t\tthis.activeSelectedOptionRef = null;\n\t\tthis.generatedId = shortid.generate();\n\t\tthis.preserveFocus = false;\n\t}\n\n\tcomponentDidUpdate() {\n\t\tif (\n\t\t\t(this.props.options &&\n\t\t\t\tthis.props.options.length > 0 &&\n\t\t\t\t!this.props.options[this.state.activeSelectedOptionIndex]) ||\n\t\t\tthis.preserveFocus\n\t\t) {\n\t\t\tthis.resetActiveSelectedOption();\n\t\t\tthis.preserveFocus = false;\n\t\t}\n\t}\n\n\tgetId = () => this.props.id || this.generatedId;\n\n\tgetNewActiveOptionIndex = ({ activeOptionIndex, offset, options }) => {\n\t\tconst nextIndex = activeOptionIndex + offset;\n\t\treturn options.length > nextIndex && nextIndex >= 0\n\t\t\t? nextIndex\n\t\t\t: activeOptionIndex;\n\t};\n\n\thandleBlurPill = () => {\n\t\tif (!this.preserveFocus) {\n\t\t\tthis.setState({ listboxHasFocus: false });\n\t\t} else {\n\t\t\tthis.preserveFocus = false;\n\t\t}\n\t};\n\n\thandleClickPill = (event, data) => {\n\t\tif (this.props.onClickPill) {\n\t\t\tthis.props.onClickPill(event, {\n\t\t\t\tindex: data.index,\n\t\t\t\toption: data.option,\n\t\t\t});\n\t\t}\n\t};\n\n\thandlePillFocus = (event, data) => {\n\t\tif (!this.state.listboxHasFocus) {\n\t\t\tthis.setState({\n\t\t\t\tactiveSelectedOption: data.option,\n\t\t\t\tactiveSelectedOptionIndex: data.index,\n\t\t\t\tlistboxHasFocus: true,\n\t\t\t});\n\t\t}\n\t};\n\n\thandleNavigatePillContainer = (event, { direction }) => {\n\t\tconst offsets = { next: 1, previous: -1 };\n\t\tthis.setState((prevState) => {\n\t\t\tconst { options } = this.props;\n\t\t\tconst isLastOptionAndRightIsPressed =\n\t\t\t\tprevState.activeSelectedOptionIndex + 1 === options.length &&\n\t\t\t\tdirection === 'next';\n\t\t\tconst isFirstOptionAndLeftIsPressed =\n\t\t\t\tprevState.activeSelectedOptionIndex === 0 && direction === 'previous';\n\t\t\tlet newState;\n\n\t\t\tif (isLastOptionAndRightIsPressed) {\n\t\t\t\tnewState = {\n\t\t\t\t\tactiveSelectedOption: options[0],\n\t\t\t\t\tactiveSelectedOptionIndex: 0,\n\t\t\t\t\tlistboxHasFocus: true,\n\t\t\t\t};\n\t\t\t} else if (isFirstOptionAndLeftIsPressed) {\n\t\t\t\tnewState = {\n\t\t\t\t\tactiveSelectedOption: options[options.length - 1],\n\t\t\t\t\tactiveSelectedOptionIndex: options.length - 1,\n\t\t\t\t\tlistboxHasFocus: true,\n\t\t\t\t};\n\t\t\t} else {\n\t\t\t\tconst newIndex = this.getNewActiveOptionIndex({\n\t\t\t\t\tactiveOptionIndex: prevState.activeSelectedOptionIndex,\n\t\t\t\t\toffset: offsets[direction],\n\t\t\t\t\toptions,\n\t\t\t\t});\n\t\t\t\tnewState = {\n\t\t\t\t\tactiveSelectedOption: options[newIndex],\n\t\t\t\t\tactiveSelectedOptionIndex: newIndex,\n\t\t\t\t\tlistboxHasFocus: true,\n\t\t\t\t};\n\t\t\t}\n\n\t\t\tthis.preserveFocus = true;\n\t\t\treturn newState;\n\t\t});\n\t};\n\n\thandleRequestFocusPillContainer = (event, { ref }) => {\n\t\tif (ref) {\n\t\t\tthis.activeSelectedOptionRef = ref;\n\t\t\tthis.activeSelectedOptionRef.focus();\n\t\t}\n\t};\n\n\thandleRequestRemove = (event, data) => {\n\t\tif (this.props.onRequestRemovePill) {\n\t\t\tthis.preserveFocus = true;\n\t\t\tthis.props.onRequestRemovePill(event, {\n\t\t\t\tindex: data.index,\n\t\t\t\toption: data.option,\n\t\t\t});\n\t\t}\n\t};\n\n\tresetActiveSelectedOption = () => {\n\t\tconst { options } = this.props;\n\t\tlet { activeSelectedOptionIndex } = this.state;\n\n\t\tif (!options[activeSelectedOptionIndex]) {\n\t\t\tif (options.length > 0 && activeSelectedOptionIndex >= options.length) {\n\t\t\t\tactiveSelectedOptionIndex = options.length - 1;\n\t\t\t} else {\n\t\t\t\tactiveSelectedOptionIndex = 0;\n\t\t\t}\n\t\t}\n\n\t\tthis.setState({\n\t\t\tactiveSelectedOption: options[activeSelectedOptionIndex] || undefined,\n\t\t\tactiveSelectedOptionIndex,\n\t\t\tlistboxHasFocus: !!options[activeSelectedOptionIndex],\n\t\t});\n\t};\n\n\trender() {\n\t\treturn this.props.options.length > 0 ? (\n\t\t\t<SelectedListBox\n\t\t\t\tactiveOption={this.state.activeSelectedOption}\n\t\t\t\tactiveOptionIndex={this.state.activeSelectedOptionIndex}\n\t\t\t\tassistiveText={{\n\t\t\t\t\tremovePill: this.props.assistiveText.removePill,\n\t\t\t\t\tselectedListboxLabel: this.props.assistiveText.listboxLabel,\n\t\t\t\t}}\n\t\t\t\tclassName={this.props.className}\n\t\t\t\tevents={{\n\t\t\t\t\tonBlurPill: this.handleBlurPill,\n\t\t\t\t\tonClickPill: this.handleClickPill,\n\t\t\t\t\tonPillFocus: this.handlePillFocus,\n\t\t\t\t\tonRequestFocus: this.handleRequestFocusPillContainer,\n\t\t\t\t\tonRequestFocusOnNextPill: this.handleNavigatePillContainer,\n\t\t\t\t\tonRequestFocusOnPreviousPill: this.handleNavigatePillContainer,\n\t\t\t\t\tonRequestRemove: this.handleRequestRemove,\n\t\t\t\t}}\n\t\t\t\tid={`${this.getId()}-listbox-of-pill-options`}\n\t\t\t\tisBare={this.props.variant === 'bare'}\n\t\t\t\tisPillContainer\n\t\t\t\tlabels={this.props.labels}\n\t\t\t\tlistboxHasFocus={this.state.listboxHasFocus}\n\t\t\t\trenderAtSelectionLength={0}\n\t\t\t\tselection={this.props.options}\n\t\t\t\tstyle={this.props.style}\n\t\t\t/>\n\t\t) : null;\n\t}\n}\n\nPillContainer.displayName = PILL_CONTAINER;\n\nPillContainer.defaultProps = {\n\tassistiveText: {\n\t\tlistboxLabel: 'Selected Options:',\n\t\tremovePill: 'Press delete or backspace to remove',\n\t},\n\tlabels: {\n\t\tremovePillTitle: 'Remove',\n\t},\n};\n\nPillContainer.propTypes = propTypes;\n\nexport default PillContainer;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// Implements the [Progress Bar design pattern](https://lightningdesignsystem.com/components/progress-ring/) in React.\n// Based on SLDS v2.4.5\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport assign from 'lodash.assign';\n\n// ### shortid\n// [npmjs.com/package/shortid](https://www.npmjs.com/package/shortid)\n// shortid is a short, non-sequential, url-friendly, unique id generator\nimport shortid from 'shortid';\nimport { PROGRESS_BAR } from '../../utilities/constants';\n\nconst propTypes = {\n\t/**\n\t * **Assistive text for accessibility**\n\t * This object is merged with the default props object on every render.\n\t * * `progress`: This is a visually hidden label for the percent of progress.\n\t * _Tested with snapshot testing._\n\t */\n\tassistiveText: PropTypes.shape({ progress: PropTypes.string }),\n\t/**\n\t * HTML id for component.\n\t */\n\tid: PropTypes.string,\n\t/**\n\t * CSS classes to be added to tag with `.slds-progress-bar`. Uses `classNames` [API](https://github.com/JedWatson/classnames).\n\t */\n\tclassName: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\t/**\n\t * Label for the progress bar\n\t */\n\tlabels: PropTypes.shape({\n\t\tlabel: PropTypes.oneOfType([PropTypes.string, PropTypes.node]),\n\t\tcomplete: PropTypes.oneOfType([PropTypes.string, PropTypes.node]),\n\t}),\n\t/**\n\t * Set radius of progress bar\n\t */\n\tradius: PropTypes.oneOf(['circular']),\n\t/**\n\t * Set fill of progress bar\n\t */\n\tcolor: PropTypes.oneOf(['success']),\n\t/**\n\t * Set progress bar thickness\n\t */\n\tthickness: PropTypes.oneOf(['x-small', 'small', 'medium', 'large']),\n\t/**\n\t * Percentage of progress completion, ranging [0, 100].\n\t */\n\tvalue: PropTypes.number.isRequired,\n\t/**\n\t * Orientation of the progress bar to be used\n\t */\n\torientation: PropTypes.oneOf(['horizontal', 'vertical']),\n\t/**\n\t * Custom styles to be passed to the component\n\t */\n\tstyle: PropTypes.object,\n};\n\nconst defaultProps = {\n\tassistiveText: {\n\t\tprogress: 'Progress',\n\t},\n\tlabels: {\n\t\tcomplete: 'Complete',\n\t},\n\torientation: 'horizontal',\n\tstyle: {\n\t\theight: '100%',\n\t},\n};\n\n/**\n * A progress bar component communicates to the user the progress of a particular process\n */\nclass ProgressBar extends React.Component {\n\tconstructor(props) {\n\t\tsuper(props);\n\n\t\tthis.generatedId = shortid.generate();\n\t}\n\n\t/**\n\t * ID as a string\n\t * @returns {string} id\n\t */\n\tgetId() {\n\t\treturn this.props.id || this.generatedId;\n\t}\n\n\t/**\n\t * Enables Descriptive Progress Bar if label is provided\n\t * @returns {string} description\n\t */\n\tgetDescription({ labels }) {\n\t\tif (labels.label) {\n\t\t\treturn (\n\t\t\t\t<div\n\t\t\t\t\tclassName=\"slds-grid slds-grid_align-spread slds-p-bottom_x-small\"\n\t\t\t\t\tid={`progress-bar-label-${this.getId()}`}\n\t\t\t\t>\n\t\t\t\t\t<span>{labels.label}</span>\n\t\t\t\t\t<span>\n\t\t\t\t\t\t<strong>\n\t\t\t\t\t\t\t{this.props.value}\n\t\t\t\t\t\t\t{'% '}\n\t\t\t\t\t\t\t{labels.complete}\n\t\t\t\t\t\t</strong>\n\t\t\t\t\t</span>\n\t\t\t\t</div>\n\t\t\t);\n\t\t}\n\t\treturn '';\n\t}\n\n\trender() {\n\t\tconst labels = assign({}, defaultProps.labels, this.props.labels);\n\t\tconst assistiveText = assign(\n\t\t\t{},\n\t\t\tdefaultProps.assistiveText,\n\t\t\tthis.props.assistiveText\n\t\t);\n\t\tconst style = assign({}, defaultProps.style, this.props.style);\n\t\treturn (\n\t\t\t<div id={this.getId()} style={style}>\n\t\t\t\t{this.props.orientation === 'horizontal' &&\n\t\t\t\t\tthis.getDescription({ labels })}\n\t\t\t\t<div\n\t\t\t\t\taria-labelledby={\n\t\t\t\t\t\tthis.props.orientation === 'horizontal' && labels.label\n\t\t\t\t\t\t\t? `progress-bar-label-${this.getId()}`\n\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t}\n\t\t\t\t\taria-valuemin=\"0\"\n\t\t\t\t\taria-valuemax=\"100\"\n\t\t\t\t\taria-valuenow={this.props.value}\n\t\t\t\t\taria-valuetext={`${assistiveText.progress}: ${this.props.value}%`}\n\t\t\t\t\trole=\"progressbar\"\n\t\t\t\t\tclassName={classNames(\n\t\t\t\t\t\t'slds-progress-bar',\n\t\t\t\t\t\tthis.props.radius ? `slds-progress-bar_${this.props.radius}` : null,\n\t\t\t\t\t\tthis.props.thickness\n\t\t\t\t\t\t\t? `slds-progress-bar_${this.props.thickness}`\n\t\t\t\t\t\t\t: null,\n\t\t\t\t\t\tthis.props.className,\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t'slds-progress-bar_vertical':\n\t\t\t\t\t\t\t\tthis.props.orientation === 'vertical',\n\t\t\t\t\t\t}\n\t\t\t\t\t)}\n\t\t\t\t>\n\t\t\t\t\t<span\n\t\t\t\t\t\tclassName={classNames(\n\t\t\t\t\t\t\t`slds-progress-bar__value`,\n\t\t\t\t\t\t\tthis.props.color\n\t\t\t\t\t\t\t\t? `slds-progress-bar__value_${this.props.color}`\n\t\t\t\t\t\t\t\t: null\n\t\t\t\t\t\t)}\n\t\t\t\t\t\tstyle={\n\t\t\t\t\t\t\tthis.props.orientation === 'vertical'\n\t\t\t\t\t\t\t\t? {\n\t\t\t\t\t\t\t\t\t\theight: `${this.props.value}%`,\n\t\t\t\t\t\t\t\t }\n\t\t\t\t\t\t\t\t: {\n\t\t\t\t\t\t\t\t\t\twidth: `${this.props.value}%`,\n\t\t\t\t\t\t\t\t }\n\t\t\t\t\t\t}\n\t\t\t\t\t>\n\t\t\t\t\t\t<span className=\"slds-assistive-text\">\n\t\t\t\t\t\t\t{`${assistiveText.progress}: `}\n\t\t\t\t\t\t\t{`${this.props.value}%`}\n\t\t\t\t\t\t</span>\n\t\t\t\t\t</span>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t);\n\t}\n}\n\nProgressBar.displayName = PROGRESS_BAR;\nProgressBar.propTypes = propTypes;\nProgressBar.defaultProps = defaultProps;\n\nexport default ProgressBar;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\n// ### classNames\n// [github.com/JedWatson/classnames](https://github.com/JedWatson/classnames)\n// This project uses `classnames`, 'a simple javascript utility for conditionally\n// joining classNames together.'\nimport classNames from 'classnames';\n\n// Child component\nimport Tooltip from '../../tooltip';\nimport { PROGRESS_INDICATOR_STEP } from '../../../utilities/constants';\nimport ButtonIcon from '../../icon/button-icon';\n\n// ### Display Name\nconst displayName = PROGRESS_INDICATOR_STEP;\n\n// ### Prop Types\nconst propTypes = {\n\t/**\n\t * **Assistive text for accessibility**\n\t * This object is merged with the default props object on every render.\n\t * * `completedStep`: Label for a completed step. The default is `Completed Step`\n\t * * `disabledStep`: Label for disabled step. The default is `Disabled Step`\n\t * * `errorStep`: Label for a step with an error. The default is `Error Step`\n\t * * `percentage`: Label for Progress Bar. The default is `Progress: [this.props.value]%`. You will need to calculate the percentage yourself if changing this string.\n\t * * `step`: Label for a step. It will be typically followed by the number of the step such as \"Step 1\".\n\t */\n\tassistiveText: PropTypes.shape({\n\t\tcompletedStep: PropTypes.string,\n\t\tdisabledStep: PropTypes.string,\n\t\tpercentage: PropTypes.string,\n\t\tstep: PropTypes.string,\n\t}),\n\t/**\n\t * Id for Steps, ranging in [0, steps.length).\n\t */\n\tid: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n\t/**\n\t * Index of step. Used for id's if no step ID exists\n\t */\n\tindex: PropTypes.number,\n\t/**\n\t * Determines if the step has been completed\n\t */\n\n\tisCompleted: PropTypes.bool,\n\t/**\n\t * Determines if the step has been disabled\n\t */\n\tisDisabled: PropTypes.bool,\n\t/**\n\t * Determines if the step contains an error\n\t */\n\tisError: PropTypes.bool,\n\t/**\n\t * Determines if the step is currently selected (active)\n\t */\n\tisSelected: PropTypes.bool,\n\t/**\n\t * Label of tooltip attached to the step if applicable.\n\t */\n\tlabel: PropTypes.node,\n\t/**\n\t * Triggered when click on individual steps. By default, it receives an event and returns all info passed to that step.\n\t * users are able to re-define it by passing a function as a prop\n\t */\n\tonClick: PropTypes.func,\n\t/**\n\t * Triggered when focus on individual steps. By default, it receives an event and returns all info passed to that step.\n\t * users are able to re-define it by passing a function as a prop\n\t */\n\tonFocus: PropTypes.func,\n\t/**\n\t * Step object. This is passed into event callbacks.\n\t */\n\tstep: PropTypes.object,\n\t/**\n\t * Determines if the tooltip attached to step is always open.\n\t * This is mainly for dev test purpose.\n\t * Usually the tooltip should only show when hover.\n\t */\n\ttooltipIsOpen: PropTypes.bool,\n\t/**\n\t * Please select one of the following:\n\t * * `absolute` - (default if `variant` is `modal`) The dialog will use `position: absolute` and style attributes to position itself. This allows inverted placement or flipping of the dialog.\n\t * * `overflowBoundaryElement` - (default if `variant` is `base`) The dialog will overflow scrolling parents. Use on elements that are aligned to the left or right of their target and don't care about the target being within a scrolling parent. Typically this is a popover or tooltip. Dropdown menus can usually open up and down if no room exists. In order to achieve this a portal element will be created and attached to `body`. This element will render into that detached render tree.\n\t * * `relative` - No styling or portals will be used. Menus will be positioned relative to their triggers. This is a great choice for HTML snapshot testing.\n\t */\n\ttooltipPosition: PropTypes.oneOf([\n\t\t'absolute',\n\t\t'overflowBoundaryElement',\n\t\t'relative',\n\t]),\n};\n\n/**\n * Step renders a button icon and its tooltip if applied.\n * The button is applied with different css classes under different conditions.\n * Button icons have 4 types of status: completed (success), active (in progress), error (warning) and uncompleted (not approached)\n */\nclass Step extends React.Component {\n\t/**\n\t * buttonIcon represents the button icon used for each step.\n\t * the button is applied with different css classes under different conditions.\n\t */\n\tbuttonIcon(renderIcon, status, props) {\n\t\tconst data = {\n\t\t\tisSelected: props.isSelected,\n\t\t\tisError: props.isError,\n\t\t\tisCompleted: props.isCompleted,\n\t\t\tisDisabled: props.isDisabled,\n\t\t\tstep: props.step,\n\t\t};\n\n\t\tconst icon = renderIcon ? (\n\t\t\t<ButtonIcon\n\t\t\t\tcategory=\"utility\"\n\t\t\t\tname={this.props.isError ? 'error' : 'success'}\n\t\t\t/>\n\t\t) : null;\n\n\t\tconst handleClick = (event) => props.onClick(event, data);\n\t\tconst handleFocus = (event) => props.onFocus(event, data);\n\n\t\tconst stepButton = props.isDisabled ? (\n\t\t\t<a\n\t\t\t\tclassName={classNames(\n\t\t\t\t\t'slds-button',\n\t\t\t\t\t{ 'slds-button_icon': renderIcon },\n\t\t\t\t\t'slds-progress__marker',\n\t\t\t\t\t{ 'slds-progress__marker_icon': renderIcon },\n\t\t\t\t\t'slds-is-disabled'\n\t\t\t\t)}\n\t\t\t\taria-disabled\n\t\t\t\taria-describedby={`progress-indicator-tooltip-${\n\t\t\t\t\tthis.props.step.id || this.props.index\n\t\t\t\t}`}\n\t\t\t\tstyle={{ cursor: 'not-allowed' }}\n\t\t\t\ttabIndex={0}\n\t\t\t\trole=\"button\"\n\t\t\t>\n\t\t\t\t{icon}\n\t\t\t\t<span className=\"slds-assistive-text\">\n\t\t\t\t\t{this.props.step.assistiveText || (\n\t\t\t\t\t\t<React.Fragment>\n\t\t\t\t\t\t\t{`${props.assistiveText.step} ${props.index + 1}: `}\n\t\t\t\t\t\t\t{props.step.label}\n\t\t\t\t\t\t\t{`- ${status}`}\n\t\t\t\t\t\t</React.Fragment>\n\t\t\t\t\t)}\n\t\t\t\t</span>\n\t\t\t</a>\n\t\t) : (\n\t\t\t<button\n\t\t\t\tclassName={classNames(\n\t\t\t\t\t'slds-button',\n\t\t\t\t\t{ 'slds-button_icon': renderIcon },\n\t\t\t\t\t'slds-progress__marker',\n\t\t\t\t\t{ 'slds-progress__marker_icon': renderIcon }\n\t\t\t\t)}\n\t\t\t\tonClick={handleClick}\n\t\t\t\tonFocus={handleFocus}\n\t\t\t\taria-describedby={`progress-indicator-tooltip-${\n\t\t\t\t\tthis.props.step.id || this.props.index\n\t\t\t\t}`}\n\t\t\t\taria-current={this.props.isSelected ? 'step' : null}\n\t\t\t\ttype=\"button\"\n\t\t\t>\n\t\t\t\t{icon}\n\t\t\t\t<span className=\"slds-assistive-text\">\n\t\t\t\t\t{this.props.step.assistiveText || (\n\t\t\t\t\t\t<React.Fragment>\n\t\t\t\t\t\t\t{`${props.assistiveText.step} ${props.index + 1}: `}\n\t\t\t\t\t\t\t{props.step.label}\n\t\t\t\t\t\t\t{status ? ` - ${status}` : ''}\n\t\t\t\t\t\t</React.Fragment>\n\t\t\t\t\t)}\n\t\t\t\t</span>\n\t\t\t</button>\n\t\t);\n\n\t\treturn stepButton;\n\t}\n\n\trender() {\n\t\tconst renderIcon = this.props.isCompleted || this.props.isError;\n\t\tlet status = '';\n\t\tif (this.props.isError) {\n\t\t\tstatus = this.props.assistiveText.errorStep;\n\t\t} else if (this.props.isCompleted) {\n\t\t\tstatus = this.props.assistiveText.completedStep;\n\t\t} else if (this.props.isDisabled) {\n\t\t\tstatus = this.props.assistiveText.disabledStep;\n\t\t}\n\n\t\tconst tooltipProps = {\n\t\t\talign: 'top',\n\t\t\tid: `progress-indicator-tooltip-${\n\t\t\t\tthis.props.step.id || this.props.index\n\t\t\t}`,\n\t\t\tcontent: this.props.step.label,\n\t\t\ttheme: 'info',\n\t\t\tposition: this.props.tooltipPosition,\n\t\t\ttriggerStyle: { display: !renderIcon ? 'flex' : '' },\n\t\t};\n\n\t\t// This is mainly for dev test purpose.\n\t\t// `isOpen` is only set to true if tooltip is specified to be open\n\t\t// Do not set isOpen to false or undefined otherwise, because that will\n\t\t// disable any interaction with tooltips\n\t\tif (this.props.tooltipIsOpen) {\n\t\t\ttooltipProps.isOpen = true;\n\t\t}\n\n\t\treturn (\n\t\t\t<li\n\t\t\t\tclassName={classNames('slds-progress__item', {\n\t\t\t\t\t'slds-is-completed': this.props.isCompleted,\n\t\t\t\t\t'slds-is-active': this.props.isSelected && !this.props.isError,\n\t\t\t\t\t'slds-has-error': this.props.isError,\n\t\t\t\t})}\n\t\t\t>\n\t\t\t\t<Tooltip {...tooltipProps}>\n\t\t\t\t\t{this.buttonIcon(renderIcon, status, this.props)}\n\t\t\t\t</Tooltip>\n\t\t\t</li>\n\t\t);\n\t}\n}\n\nStep.propTypes = propTypes;\nStep.displayName = displayName;\n\nexport default Step; // export is replaced with `ReactDOM.render(<Example />, mountNode);` at runtime\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\n\nconst propTypes = {\n\t/**\n\t * Assistive text for percentage\n\t */\n\tassistiveText: PropTypes.shape({\n\t\tpercentage: PropTypes.string,\n\t}),\n\t/**\n\t * Percentage of progress completion, with range of [0, 100]\n\t */\n\tvalue: PropTypes.string.isRequired,\n};\n/**\n * ProgressBar renders the blue/gray progress bar and dynamically updates its completion percentage\n */\nclass ProgressBar extends React.Component {\n\trender() {\n\t\treturn (\n\t\t\t<div\n\t\t\t\tclassName={classNames('slds-progress-bar slds-progress-bar_x-small', {\n\t\t\t\t\t'slds-progress-bar_vertical': this.props.orientation === 'vertical',\n\t\t\t\t})}\n\t\t\t\taria-valuemin=\"0\"\n\t\t\t\taria-valuemax=\"100\"\n\t\t\t\taria-valuenow={this.props.value}\n\t\t\t\trole=\"progressbar\"\n\t\t\t>\n\t\t\t\t<span\n\t\t\t\t\tclassName=\"slds-progress-bar__value\"\n\t\t\t\t\tstyle={\n\t\t\t\t\t\tthis.props.orientation === 'vertical'\n\t\t\t\t\t\t\t? { height: `${this.props.value}%` }\n\t\t\t\t\t\t\t: { width: `${this.props.value}%` }\n\t\t\t\t\t}\n\t\t\t\t>\n\t\t\t\t\t<span className=\"slds-assistive-text\">\n\t\t\t\t\t\t{this.props.assistiveText.percentage ||\n\t\t\t\t\t\t\t`Progress: ${this.props.value}%`}\n\t\t\t\t\t</span>\n\t\t\t\t</span>\n\t\t\t</div>\n\t\t);\n\t}\n}\n\nProgressBar.displayName = 'ProgressBar';\nProgressBar.propTypes = propTypes;\n\nexport default ProgressBar;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\n// ### classNames\n// [github.com/JedWatson/classnames](https://github.com/JedWatson/classnames)\n// This project uses `classnames`, 'a simple javascript utility for conditionally\n// joining classNames together.'\nimport classNames from 'classnames';\n\nimport ProgressBar from './progress-bar';\n\nimport { PROGRESS_INDICATOR_PROGRESS } from '../../../utilities/constants';\n\n// ### Prop Types\nconst propTypes = {\n\t/**\n\t * Assistive text for percentage\n\t */\n\tassistiveText: PropTypes.shape({\n\t\tpercentage: PropTypes.string,\n\t}),\n\t/**\n\t * Steps in the component\n\t */\n\tchildren: PropTypes.node,\n\t/**\n\t * CSS class names to be added to the container element.\n\t */\n\tclassName: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\t/**\n\t * HTML id for component.\n\t */\n\tid: PropTypes.string.isRequired,\n\t/**\n\t * Determines the orientation of the progress indicator\n\t */\n\torientation: PropTypes.oneOf(['horizontal', 'vertical']),\n\t/**\n\t * Percentage of progress completion, ranging [0, 100]\n\t */\n\tvalue: PropTypes.string.isRequired,\n\t/**\n\t * Determines component style\n\t */\n\tvariant: PropTypes.oneOf(['base', 'modal', 'setup-assistant']),\n};\n\n/**\n * Progress renders all step buttons and a container wrapping these buttongs and a progress bar\n */\nclass Progress extends React.Component {\n\t/**\n\t * Get the progress's HTML id. Generate a new one if no ID present.\n\t */\n\tgetId() {\n\t\treturn this.props.id;\n\t}\n\n\trender() {\n\t\treturn (\n\t\t\t<div\n\t\t\t\tid={this.getId()}\n\t\t\t\tclassName={classNames(\n\t\t\t\t\t'slds-progress',\n\t\t\t\t\t{ 'slds-progress_shade': this.props.variant === 'modal' },\n\t\t\t\t\t{ 'slds-progress_vertical': this.props.orientation === 'vertical' },\n\t\t\t\t\t{ 'slds-progress_success': this.props.variant === 'setup-assistant' },\n\t\t\t\t\tthis.props.className\n\t\t\t\t)}\n\t\t\t>\n\t\t\t\t<ol\n\t\t\t\t\tclassName={classNames('slds-progress__list', {\n\t\t\t\t\t\t'slds-progress__list-bordered':\n\t\t\t\t\t\t\tthis.props.variant === 'setup-assistant',\n\t\t\t\t\t})}\n\t\t\t\t>\n\t\t\t\t\t{this.props.children}\n\t\t\t\t</ol>\n\t\t\t\t{this.props.orientation !== 'vertical' && (\n\t\t\t\t\t<ProgressBar\n\t\t\t\t\t\tvalue={this.props.value}\n\t\t\t\t\t\torientation={this.props.orientation}\n\t\t\t\t\t\tassistiveText={this.props.assistiveText}\n\t\t\t\t\t/>\n\t\t\t\t)}\n\t\t\t</div>\n\t\t);\n\t}\n}\n\nProgress.propTypes = propTypes;\nProgress.displayName = PROGRESS_INDICATOR_PROGRESS;\n\nexport default Progress;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\n// ### classNames\n// [github.com/JedWatson/classnames](https://github.com/JedWatson/classnames)\n// This project uses `classnames`, 'a simple javascript utility for conditionally\n// joining classNames together.'\nimport classNames from 'classnames';\n\n// Child component\nimport { PROGRESS_INDICATOR_STEP_VERTICAL } from '../../../utilities/constants';\nimport Icon from '../../icon';\n\n// ### Display Name\nconst displayName = PROGRESS_INDICATOR_STEP_VERTICAL;\n\n// ### Prop Types\nconst propTypes = {\n\t/**\n\t * Index of step. Used for id's if no step ID exists\n\t */\n\tindex: PropTypes.number,\n\t/**\n\t * Determines if the step has been completed\n\t */\n\tisCompleted: PropTypes.bool,\n\t/**\n\t * Determines if the step contains an error\n\t */\n\tisError: PropTypes.bool,\n\t/**\n\t * Determines if the step is currently selected (active)\n\t */\n\tisSelected: PropTypes.bool,\n\t/**\n\t * Triggered when click on individual steps. By default, it receives an event and returns all info passed to that step.\n\t * users are able to re-define it by passing a function as a prop\n\t */\n\tonClick: PropTypes.func,\n\t/**\n\t * Step object. This is passed into event callbacks.\n\t */\n\tstep: PropTypes.object,\n\t/**\n\t * The variant of the parent progress indicator\n\t */\n\tvariant: PropTypes.string,\n};\n\n/**\n * StepVertical renders a step icon and its step label if applied\n */\nclass StepVertical extends React.Component {\n\t/**\n\t * stepIcon represents the icon used for each step.\n\t */\n\tstepIcon = (renderIcon) => {\n\t\tconst data = {\n\t\t\tisSelected: this.props.isSelected,\n\t\t\tisError: this.props.isError,\n\t\t\tisCompleted: this.props.isCompleted,\n\t\t\tstep: this.props.step,\n\t\t};\n\n\t\tconst icon = renderIcon ? (\n\t\t\t<Icon\n\t\t\t\tcategory=\"utility\"\n\t\t\t\tsize=\"x-small\"\n\t\t\t\tname={this.props.isError ? 'error' : 'success'}\n\t\t\t/>\n\t\t) : null;\n\n\t\tconst handleClick = (event) => this.props.onClick(event, data);\n\n\t\treturn this.props.onClick ? (\n\t\t\t<button\n\t\t\t\tclassName={classNames('slds-button slds-progress__marker', {\n\t\t\t\t\t'slds-progress__marker_icon': renderIcon,\n\t\t\t\t\t'slds-progress__marker_icon-success':\n\t\t\t\t\t\tthis.props.variant === 'setup-assistant' &&\n\t\t\t\t\t\trenderIcon &&\n\t\t\t\t\t\t!this.props.isError,\n\t\t\t\t})}\n\t\t\t\ttype=\"button\"\n\t\t\t\tonClick={handleClick}\n\t\t\t>\n\t\t\t\t{icon}\n\t\t\t</button>\n\t\t) : (\n\t\t\t<span\n\t\t\t\tclassName={classNames('slds-progress__marker', {\n\t\t\t\t\t'slds-progress__marker_icon': renderIcon,\n\t\t\t\t\t'slds-progress__marker_icon-success':\n\t\t\t\t\t\tthis.props.variant === 'setup-assistant' &&\n\t\t\t\t\t\trenderIcon &&\n\t\t\t\t\t\t!this.props.isError,\n\t\t\t\t})}\n\t\t\t>\n\t\t\t\t{icon}\n\t\t\t</span>\n\t\t);\n\t};\n\n\trenderStepContent = () => {\n\t\tif (\n\t\t\tthis.props.step.onRenderSetupAssistantAction ||\n\t\t\tthis.props.step.setupAssistantEstimatedTime\n\t\t) {\n\t\t\treturn (\n\t\t\t\t<div\n\t\t\t\t\tid={`progress-indicator-vertical-label-${\n\t\t\t\t\t\tthis.props.step.id || this.props.index\n\t\t\t\t\t}`}\n\t\t\t\t\tclassName=\"slds-progress__item_content slds-grid slds-grid_align-spread\"\n\t\t\t\t>\n\t\t\t\t\t<div className=\"slds-size_3-of-4\">{this.props.step.label}</div>\n\t\t\t\t\t<div className=\"slds-grid slds-grid_align-end slds-size_1-of-4\">\n\t\t\t\t\t\t<div className=\"slds-media__figure slds-media__figure_reverse\">\n\t\t\t\t\t\t\t{this.props.step.onRenderSetupAssistantAction}\n\t\t\t\t\t\t\t{this.props.step.setupAssistantEstimatedTime && (\n\t\t\t\t\t\t\t\t<p className=\"slds-text-align_right slds-text-color_weak slds-p-top_medium\">\n\t\t\t\t\t\t\t\t\t{this.props.step.setupAssistantEstimatedTime}\n\t\t\t\t\t\t\t\t</p>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t);\n\t\t}\n\t\treturn (\n\t\t\t<div\n\t\t\t\tid={`progress-indicator-vertical-label-${\n\t\t\t\t\tthis.props.step.id || this.props.index\n\t\t\t\t}`}\n\t\t\t\tclassName=\"slds-progress__item_content slds-grid slds-grid_align-spread\"\n\t\t\t>\n\t\t\t\t{this.props.step.label}\n\t\t\t</div>\n\t\t);\n\t};\n\n\trender() {\n\t\tconst renderIcon = this.props.isCompleted || this.props.isError;\n\n\t\treturn (\n\t\t\t<li\n\t\t\t\tclassName={classNames('slds-progress__item', {\n\t\t\t\t\t'slds-is-completed': this.props.isCompleted,\n\t\t\t\t\t'slds-is-active': this.props.isSelected && !this.props.isError,\n\t\t\t\t\t'slds-has-error': this.props.isError,\n\t\t\t\t})}\n\t\t\t>\n\t\t\t\t{this.stepIcon(renderIcon)}\n\t\t\t\t{this.renderStepContent()}\n\t\t\t</li>\n\t\t);\n\t}\n}\n\nStepVertical.propTypes = propTypes;\nStepVertical.displayName = displayName;\n\nexport default StepVertical; // export is replaced with `ReactDOM.render(<Example />, mountNode);` at runtime\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// Implements the [Progress Indicator design pattern](https://lightningdesignsystem.com/components/progress-indicator/) in React.\n// Based on SLDS v2.4.0\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\nimport find from 'lodash.find';\n\n// ### shortid\n// [npmjs.com/package/shortid](https://www.npmjs.com/package/shortid)\n// shortid is a short, non-sequential, url-friendly, unique id generator\nimport shortid from 'shortid';\nimport { PROGRESS_INDICATOR } from '../../utilities/constants';\n\n// Child components\nimport Step from './private/step';\nimport Progress from './private/progress';\nimport StepVertical from './private/step-vertical';\n\nconst displayName = PROGRESS_INDICATOR;\n\nconst propTypes = {\n\t/**\n\t * **Assistive text for accessibility**\n\t * This object is merged with the default props object on every render.\n\t * * `completedStep`: Label for a completed step. The default is `Completed Step`\n\t * * `disabledStep`: Label for disabled step. The default is `Disabled Step`\n\t * * `errorStep`: Label for a step with an error. The default is `Error Step`\n\t * * `percentage`: Label for Progress Bar. The default is `Progress: [this.props.value]%`. You will need to calculate the percentage yourself if changing this string.\n\t * * `step`: Label for a step. It will be typically followed by the number of the step such as \"Step 1\".\n\t */\n\tassistiveText: PropTypes.shape({\n\t\tcompletedStep: PropTypes.string,\n\t\tdisabledStep: PropTypes.string,\n\t\tpercentage: PropTypes.string,\n\t\tstep: PropTypes.string,\n\t}),\n\t/**\n\t * CSS class names to be added to the container element. `array`, `object`, or `string` are accepted.\n\t */\n\tclassName: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\t/**\n\t * Stores all completed steps. It is an array of step objects.\n\t */\n\tcompletedSteps: PropTypes.array,\n\t/**\n\t * Stores all disabled steps. It is an array of step objects. Steps are still clickable/focusable,\n\t * this only disables cursor change and removes onClick and onFocus event callbacks.\n\t */\n\tdisabledSteps: PropTypes.array,\n\t/**\n\t * Stores all error steps. It is an array of step objects and usually there is only one error step, the current step. If an error occurs a second error icon should be placed to the left of related confirmation buttons (e.g. Cancel, Save) and an Error Popover should appear indicating there are errors. These additional items are NOT part of this component. This note was included for visibility purposes. Please refer to [SLDS website](https://www.lightningdesignsystem.com/components/progress-indicator/) for full details **\n\t */\n\terrorSteps: PropTypes.array,\n\t/**\n\t * HTML id for component.\n\t */\n\tid: PropTypes.string,\n\t/**\n\t * Determines the orientation of the progress indicator\n\t */\n\torientation: PropTypes.oneOf(['horizontal', 'vertical']),\n\t/**\n\t * Triggered when an individual step is clicked. By default, it receives an event and returns step state and the step object clicked: `{ isCompleted, isDisabled, isError, isSelected, step }`. Users are able to pass a callback handleClick function in forms of: <function name>(event, data) where data is the callback result.\n\t * ```\n\t * const handleStepClick = function(event, data) { console.log(data); };\n\t * <ProgressIndicator onStepClick={handleStepClick} />\n\t * ```\n\t */\n\tonStepClick: PropTypes.func,\n\t/**\n\t * Triggered when an individual step is focused. By default, it receives an event and returns step state and the step object clicked: `{ isCompleted, isDisabled, isError, isSelected, step }`. Users are able to pass a callback handleClick function in forms of: <function name>(event, data) where data is the callback result.\n\t * ```\n\t * const handleStepFocus = function(event, data) { console.log(data); };\n\t * <ProgressIndicator onStepFocus={handleStepFocus} />\n\t * ```\n\t */\n\tonStepFocus: PropTypes.func,\n\t/**\n\t * Represents the currently selected or active step. It is a step object.\n\t */\n\tselectedStep: PropTypes.object.isRequired,\n\t/**\n\t * It is an array of step objects in the following form:\n\t * ```\n\t * [{\n\t * id: <PropTypes.number> or <PropTypes.string>, has to be unique\n\t * label: <PropTypes.string>, representing the tooltip content\n\t * assistiveText: <PropTypes.string>, The default is `[Step props.index + 1]: [status]`. Status is if the step has been completed or in an error state.\n\t * }],\n\t * ```\n\t */\n\tsteps: PropTypes.array.isRequired,\n\t/**\n\t * Stores all steps with opened tooltips. This property is mainly for development purposes. The tooltip should only show on hover for the user.\n\t */\n\ttooltipIsOpenSteps: PropTypes.array,\n\t/**\n\t * Determines component style.\n\t */\n\tvariant: PropTypes.oneOf(['base', 'modal', 'setup-assistant']),\n\t/**\n\t * Please select one of the following:\n\t * * `absolute` - (default if `variant` is `modal`) The dialog will use `position: absolute` and style attributes to position itself. This allows inverted placement or flipping of the dialog.\n\t * * `overflowBoundaryElement` - (default if `variant` is `base`) The dialog will overflow scrolling parents. Use on elements that are aligned to the left or right of their target and don't care about the target being within a scrolling parent. Typically this is a popover or tooltip. Dropdown menus can usually open up and down if no room exists. In order to achieve this a portal element will be created and attached to `body`. This element will render into that detached render tree.\n\t * * `relative` - No styling or portals will be used. Menus will be positioned relative to their triggers. This is a great choice for HTML snapshot testing.\n\t */\n\ttooltipPosition: PropTypes.oneOf([\n\t\t'absolute',\n\t\t'overflowBoundaryElement',\n\t\t'relative',\n\t]),\n};\n\nconst defaultSteps = [\n\t{ id: 0, label: 'tooltip label #1' },\n\t{ id: 1, label: 'tooltip label #2' },\n\t{ id: 2, label: 'tooltip label #3' },\n\t{ id: 3, label: 'tooltip label #4' },\n\t{ id: 4, label: 'tooltip label #5' },\n];\n\nconst defaultProps = {\n\tassistiveText: {\n\t\tcompletedStep: 'Completed',\n\t\tdisabledStep: 'Disabled',\n\t\terrorStep: 'Error',\n\t\tstep: 'Step',\n\t},\n\terrorSteps: [],\n\tcompletedSteps: [],\n\tdisabledSteps: [],\n\torientation: 'horizontal',\n\tselectedStep: defaultSteps[0],\n\tvariant: 'base',\n\t// click/focus callbacks by default do nothing\n\tonStepClick: () => {},\n\tonStepFocus: () => {},\n};\n\n/**\n * Check if `steps` prop is valid\n */\nfunction checkSteps(steps) {\n\tconst isStepsDefined = steps !== undefined;\n\tconst isLabelDefined = (step) => step.label !== undefined;\n\tconst stepLabelsDefined = Array.isArray(steps) && steps.every(isLabelDefined);\n\n\treturn isStepsDefined && stepLabelsDefined;\n}\n\n/**\n * Check if an item is from an array of items.\n * If items argument is not an array, it will be treated as an object comparison between item & items.\n */\nfunction findStep(item, items) {\n\tif (!item || !items) return false;\n\n\tconst itemsArray = !Array.isArray(items) ? [items] : items;\n\n\treturn !!find(itemsArray, (arrayItem) => {\n\t\tif (arrayItem === item) {\n\t\t\treturn true;\n\t\t}\n\t\tif (arrayItem.id !== undefined && item.id !== undefined) {\n\t\t\treturn arrayItem.id === item.id;\n\t\t}\n\t\treturn JSON.stringify(arrayItem) === JSON.stringify(item);\n\t});\n}\n\n/**\n * Progress Indicator is a component that communicates to the user the progress of a particular process.\n */\nclass ProgressIndicator extends React.Component {\n\tconstructor(props) {\n\t\tsuper(props);\n\n\t\tthis.generatedId = shortid.generate();\n\t}\n\n\tcomponentWillUnmount() {\n\t\tthis.isUnmounting = true;\n\t}\n\n\t/**\n\t * Get the progress indicator's HTML id. Generate a new one if no ID present.\n\t */\n\tgetId() {\n\t\treturn this.props.id || this.generatedId;\n\t}\n\n\tgetSteps() {\n\t\t// check if passed steps are valid\n\t\treturn checkSteps(this.props.steps) ? this.props.steps : defaultSteps;\n\t}\n\n\trender() {\n\t\t// Merge objects of strings with their default object\n\t\tconst assistiveText = {\n\t\t\t...defaultProps.assistiveText,\n\t\t\t...this.props.assistiveText,\n\t\t};\n\n\t\tconst {\n\t\t\tselectedStep,\n\t\t\tdisabledSteps,\n\t\t\terrorSteps,\n\t\t\tcompletedSteps,\n\t\t} = this.props;\n\t\t/** 1. preparing data */\n\t\tconst allSteps = this.getSteps();\n\n\t\tlet currentStep = 0;\n\t\t// find index for the current step\n\t\t// eslint-disable-next-line fp/no-loops\n\t\tfor (let i = 0; i < allSteps.length; i += 1) {\n\t\t\t// assign step an id if it does not have one\n\t\t\tif (allSteps[i].id === undefined) {\n\t\t\t\tallSteps[i].id = i;\n\t\t\t}\n\t\t\tif (findStep(allSteps[i], this.props.selectedStep)) {\n\t\t\t\tcurrentStep = i;\n\t\t\t}\n\t\t}\n\n\t\tconst orientation =\n\t\t\tthis.props.variant === 'setup-assistant'\n\t\t\t\t? 'vertical'\n\t\t\t\t: this.props.orientation;\n\t\t// Set default tooltipPosition\n\t\tconst tooltipPosition =\n\t\t\tthis.props.tooltipPosition ||\n\t\t\t(this.props.variant === 'modal' ? 'absolute' : 'overflowBoundaryElement');\n\t\tconst StepComponent = orientation === 'vertical' ? StepVertical : Step;\n\t\t/** 2. return DOM */\n\t\treturn (\n\t\t\t<Progress\n\t\t\t\tassistiveText={assistiveText}\n\t\t\t\tid={this.getId()}\n\t\t\t\torientation={orientation}\n\t\t\t\tvalue={\n\t\t\t\t\tcurrentStep === 0\n\t\t\t\t\t\t? '0'\n\t\t\t\t\t\t: `${100 * (currentStep / (allSteps.length - 1))}`\n\t\t\t\t}\n\t\t\t\tvariant={this.props.variant}\n\t\t\t\tclassName={this.props.className}\n\t\t\t>\n\t\t\t\t{allSteps.map((step, i) => (\n\t\t\t\t\t<StepComponent\n\t\t\t\t\t\tassistiveText={assistiveText}\n\t\t\t\t\t\tkey={`${this.getId()}-${step.id}`}\n\t\t\t\t\t\tid={this.getId()}\n\t\t\t\t\t\tindex={i}\n\t\t\t\t\t\tisSelected={findStep(step, selectedStep)}\n\t\t\t\t\t\tisDisabled={findStep(step, disabledSteps)}\n\t\t\t\t\t\tisError={findStep(step, errorSteps)}\n\t\t\t\t\t\tisCompleted={findStep(step, completedSteps)}\n\t\t\t\t\t\tonClick={this.props.onStepClick}\n\t\t\t\t\t\tonFocus={this.props.onStepFocus}\n\t\t\t\t\t\tstep={step}\n\t\t\t\t\t\ttooltipIsOpen={findStep(step, this.props.tooltipIsOpenSteps)}\n\t\t\t\t\t\ttooltipPosition={tooltipPosition}\n\t\t\t\t\t\tvariant={this.props.variant}\n\t\t\t\t\t/>\n\t\t\t\t))}\n\t\t\t</Progress>\n\t\t);\n\t}\n}\n\nProgressIndicator.displayName = displayName;\nProgressIndicator.propTypes = propTypes;\nProgressIndicator.defaultProps = defaultProps;\n\nexport default ProgressIndicator;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// Implements the [Progress Ring design pattern](https://lightningdesignsystem.com/components/progress-ring/) in React.\n// Based on SLDS v2.4.5\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\n\nconst PROGRESS_RING_SHAPE = 'SLDSProgressRingShape';\n\nconst propTypes = {\n\t/**\n\t * HTML id for component.\n\t */\n\tid: PropTypes.string,\n\t/**\n\t * CSS class names to be added to the container element. `array`, `object`, or `string` are accepted.\n\t */\n\tclassName: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\t/**\n\t * Decimal percentage drain of the ring [0.0 - 1.0]\n\t */\n\tfillPercentDecimal: PropTypes.number,\n\t/**\n\t * Direction that the progress ring \"flows.\" Default is counter-clockwise, or `drain`. For clockwise flow, use `fill`\n\t */\n\tflowDirection: PropTypes.oneOf(['drain', 'fill']),\n\t/**\n\t * Size of the progress ring. Default is 'medium'\n\t */\n\tsize: PropTypes.oneOf(['medium', 'large']),\n};\n\nconst defaultProps = {\n\tfillPercentDecimal: 0,\n};\n\n/**\n * Generates the string for the D value of the SVG path\n * @param isLong {number} a binary flag if the arc should 'take the long path' (used for > 50% fill)\n * @param arcX {decimal} the arc's x position\n * @param arcY {decimal} the arc's y position\n */\nconst getD = (isLong, arcX, arcY) =>\n\t`M 1 0 A 1 1 0 ${isLong} 1 ${arcX} ${arcY} L 0 0`;\n\n/**\n * Calculates the fill part of the ring\n * @param fillPercent {decimal} Decimal percentage that represents the amount of the ring which is filled with color.\n */\nconst calculateD = (fillPercent) => {\n\tconst isLong = fillPercent > 0.5 ? 1 : 0;\n\tconst arcX = Math.cos(2 * Math.PI * fillPercent);\n\tconst arcY = Math.sin(2 * Math.PI * fillPercent);\n\n\treturn getD(isLong, arcX, arcY);\n};\n\n/**\n * Displays the progress ring shape.\n */\nconst ProgressRingShape = (props) => {\n\tconst progressStyles = { height: props.size === 'large' ? '2rem' : '1.5rem' };\n\n\tif (props.flowDirection === 'fill') {\n\t\tprogressStyles.transform = 'scaleX(1) rotate(-90deg)';\n\t}\n\n\treturn (\n\t\t<div\n\t\t\tid={props.id}\n\t\t\tclassName={classNames('slds-progress-ring', props.className)}\n\t\t>\n\t\t\t<div\n\t\t\t\taria-valuemin=\"0\"\n\t\t\t\taria-valuemax=\"100\"\n\t\t\t\taria-valuenow={props.fillPercentDecimal * 100}\n\t\t\t\tclassName=\"slds-progress-ring__progress\"\n\t\t\t\trole=\"progressbar\"\n\t\t\t\tstyle={progressStyles}\n\t\t\t>\n\t\t\t\t<svg viewBox=\"-1 -1 2 2\">\n\t\t\t\t\t<path\n\t\t\t\t\t\tclassName=\"slds-progress-ring__path\"\n\t\t\t\t\t\td={calculateD(props.fillPercentDecimal)}\n\t\t\t\t\t/>\n\t\t\t\t</svg>\n\t\t\t</div>\n\t\t\t<div className=\"slds-progress-ring__content\">{props.children}</div>\n\t\t</div>\n\t);\n};\n\nProgressRingShape.displayName = PROGRESS_RING_SHAPE;\nProgressRingShape.propTypes = propTypes;\nProgressRingShape.defaultProps = defaultProps;\n\nexport default ProgressRingShape;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// Implements the [Progress Ring design pattern](https://lightningdesignsystem.com/components/progress-ring/) in React.\n// Based on SLDS v2.4.5\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\n\nimport { PROGRESS_RING } from '../../utilities/constants';\nimport Icon from '../icon';\nimport ProgressRingShape from './private/ring-shape';\n\n/**\n * The themes available for the progress ring\n */\nexport const THEME_OPTIONS = Object.freeze({\n\tACTIVE: 'active',\n\tWARNING: 'warning',\n\tEXPIRED: 'expired',\n\tCOMPLETE: 'complete',\n});\n\n/**\n * The CSS classes associated with each theme\n */\nconst THEME_CLASSES = {\n\t[THEME_OPTIONS.ACTIVE]: 'slds-progress-ring_active-step',\n\t[THEME_OPTIONS.WARNING]: 'slds-progress-ring_warning',\n\t[THEME_OPTIONS.EXPIRED]: 'slds-progress-ring_expired',\n\t[THEME_OPTIONS.COMPLETE]: 'slds-progress-ring_complete',\n};\n\nconst propTypes = {\n\t/**\n\t * HTML id for component.\n\t */\n\tid: PropTypes.string,\n\t/**\n\t * CSS classes to be added to tag with `.slds-progress-ring`. Uses `classNames` [API](https://github.com/JedWatson/classnames).\n\t */\n\tclassName: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\t/**\n\t * The theme applied to the ring.\n\t */\n\ttheme: PropTypes.oneOf(['active', 'warning', 'expired', 'complete']),\n\t/**\n\t * Overrides the icon to be displayed.\n\t */\n\ticon: PropTypes.node,\n\t/**\n\t * Display the icon associated with the theme.\n\t */\n\thasIcon: PropTypes.bool,\n\t/**\n\t * Percentage of progress completion, ranging [0, 100].\n\t */\n\tvalue: PropTypes.number.isRequired,\n\t/**\n\t * Direction that the progress ring \"flows.\" Default is counter-clockwise, or `drain`. For clockwise flow, use `fill`\n\t */\n\tflowDirection: PropTypes.oneOf(['drain', 'fill']),\n\t/**\n\t * Size of the progress ring. Default is 'medium'\n\t */\n\tsize: PropTypes.oneOf(['medium', 'large']),\n};\n\nconst defaultProps = {\n\tflowDirection: 'drain',\n\tsize: 'medium',\n};\n\n/**\n * Customizable and configurable progress ring. Will display progress in a circular progress bar factor, and is capable of displaying iconography inside of the ring structure.\n */\nclass ProgressRing extends React.Component {\n\t/**\n\t * Gets the icon to display\n\t * @returns {node} Icon\n\t */\n\ticon() {\n\t\tlet icon = '';\n\n\t\tif (this.props.hasIcon) {\n\t\t\tif (this.props.icon) {\n\t\t\t\t// eslint-disable-next-line prefer-destructuring\n\t\t\t\ticon = this.props.icon;\n\t\t\t} else if (this.props.theme === THEME_OPTIONS.WARNING) {\n\t\t\t\ticon = <Icon category=\"utility\" name=\"warning\" title=\"Warning\" />;\n\t\t\t} else if (this.props.theme === THEME_OPTIONS.EXPIRED) {\n\t\t\t\ticon = <Icon category=\"utility\" name=\"error\" title=\"Expired\" />;\n\t\t\t} else if (this.props.theme === THEME_OPTIONS.COMPLETE) {\n\t\t\t\ticon = <Icon category=\"utility\" name=\"check\" title=\"Complete\" />;\n\t\t\t}\n\t\t}\n\n\t\treturn icon;\n\t}\n\n\t/**\n\t * Percentage as a decimal\n\t * @returns {decimal} Percentage\n\t */\n\tpercentDecimal() {\n\t\treturn this.props.value / 100;\n\t}\n\n\t/**\n\t * Gets the theme CSS class\n\t * @returns {string} Class name\n\t */\n\tthemeClass() {\n\t\treturn THEME_CLASSES[this.props.theme] || '';\n\t}\n\n\trender() {\n\t\treturn (\n\t\t\t<ProgressRingShape\n\t\t\t\tid={this.props.id}\n\t\t\t\tsize={this.props.size}\n\t\t\t\tclassName={classNames(this.props.className, this.themeClass(), {\n\t\t\t\t\t'slds-progress-ring_large': this.props.size === 'large',\n\t\t\t\t})}\n\t\t\t\tfillPercentDecimal={this.percentDecimal()}\n\t\t\t\tflowDirection={this.props.flowDirection}\n\t\t\t>\n\t\t\t\t{this.icon()}\n\t\t\t</ProgressRingShape>\n\t\t);\n\t}\n}\n\nProgressRing.displayName = PROGRESS_RING;\nProgressRing.propTypes = propTypes;\nProgressRing.defaultProps = defaultProps;\n\nexport default ProgressRing;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n/* eslint-disable import/no-mutable-exports */\n\nimport getComponentDocFn from '../../utilities/get-component-doc';\nimport deprecatedProperty from '../../utilities/warning/deprecated-property';\n\nlet checkProps = function checkPropsFunction() {};\n\nif (process.env.NODE_ENV !== 'production') {\n\tcheckProps = function checkPropsFunction(COMPONENT, props, jsonDoc) {\n\t\tconst createDocUrl = getComponentDocFn(jsonDoc);\n\n\t\tdeprecatedProperty(\n\t\t\tCOMPONENT,\n\t\t\tprops.iconName,\n\t\t\t'iconName',\n\t\t\t'icon',\n\t\t\tcreateDocUrl('icon')\n\t\t);\n\t};\n}\n\nexport default checkProps;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// Implements the [Scoped Notification design pattern](https://lightningdesignsystem.com/components/scoped-notifications/) in React.\n// Based on SLDS v2.4.5\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\n\nimport Icon from '../icon';\n\nimport componentDoc from './component.json';\nimport checkProps from './check-props';\n\nimport { SCOPED_NOTIFICATION } from '../../utilities/constants';\n\nconst propTypes = {\n\t/**\n\t * **Assistive text for accessibility.**\n\t * * `icon`: The assistive text for the icon. Is overridden by `label` assistive text passed directly to an `Icon` component via the `icon` prop\n\t */\n\tassistiveText: PropTypes.shape({\n\t\ticon: PropTypes.string,\n\t}),\n\t/**\n\t * CSS classes to be added to tag with `.slds-scoped-notification`. Uses `classNames` [API](https://github.com/JedWatson/classnames).\n\t */\n\tclassName: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\t/**\n\t * The icon to be displayed in the scoped notification. Accepts an `Icon` component\n\t */\n\ticon: PropTypes.node,\n\t/**\n\t * Theme for the scoped notification\n\t */\n\ttheme: PropTypes.oneOf(['dark', 'light']),\n};\n\nconst defaultProps = {};\n\n/**\n * A Scoped Notification Component serve advisory information for the user that is not important enough to justify an alert.\n */\nclass ScopedNotification extends React.Component {\n\tconstructor(props) {\n\t\tsuper(props);\n\t\tcheckProps(SCOPED_NOTIFICATION, props, componentDoc);\n\t}\n\n\trender() {\n\t\tlet icon;\n\n\t\tif (this.props.icon) {\n\t\t\tlet iconAssistiveText = {};\n\n\t\t\tif (this.props.assistiveText && this.props.assistiveText.icon) {\n\t\t\t\ticonAssistiveText.label = this.props.assistiveText.icon;\n\t\t\t}\n\n\t\t\tif (this.props.icon.props.assistiveText) {\n\t\t\t\ticonAssistiveText = {\n\t\t\t\t\t...iconAssistiveText,\n\t\t\t\t\t...this.props.icon.props.assistiveText,\n\t\t\t\t};\n\t\t\t}\n\n\t\t\ticon = React.cloneElement(this.props.icon, {\n\t\t\t\t...this.props.icon.props,\n\t\t\t\tassistiveText: iconAssistiveText,\n\t\t\t});\n\t\t} else {\n\t\t\ticon = (\n\t\t\t\t<Icon\n\t\t\t\t\tassistiveText={{\n\t\t\t\t\t\tlabel:\n\t\t\t\t\t\t\t(this.props.assistiveText && this.props.assistiveText.icon) ||\n\t\t\t\t\t\t\t'Info',\n\t\t\t\t\t}}\n\t\t\t\t\tcategory=\"utility\"\n\t\t\t\t\tname={this.props.iconName || 'info'}\n\t\t\t\t\tcolorVariant={this.props.theme === 'dark' ? 'base' : undefined}\n\t\t\t\t\tsize=\"small\"\n\t\t\t\t/>\n\t\t\t);\n\t\t}\n\n\t\treturn (\n\t\t\t<div\n\t\t\t\tclassName={classNames(\n\t\t\t\t\t`slds-scoped-notification`,\n\t\t\t\t\t`slds-media`,\n\t\t\t\t\t`slds-media_center`,\n\t\t\t\t\t{\n\t\t\t\t\t\t'slds-scoped-notification_light': this.props.theme === 'light',\n\t\t\t\t\t\t'slds-scoped-notification_dark': this.props.theme === 'dark',\n\t\t\t\t\t},\n\t\t\t\t\tthis.props.className\n\t\t\t\t)}\n\t\t\t\trole=\"status\"\n\t\t\t>\n\t\t\t\t<div className=\"slds-media__figure\">{icon}</div>\n\t\t\t\t<div className=\"slds-media__body\">{this.props.children}</div>\n\t\t\t</div>\n\t\t);\n\t}\n}\n\nScopedNotification.displayName = SCOPED_NOTIFICATION;\nScopedNotification.propTypes = propTypes;\nScopedNotification.defaultProps = defaultProps;\n\nexport default ScopedNotification;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n/* eslint-disable import/no-mutable-exports */\n\nimport React from 'react';\n\n// This function will deliver an error message to the browser console when all of the props passed in are undefined (falsey).\nimport warning from 'warning';\n\nlet hasChildrenWithoutDisplayNameOf = function hasChildrenWithoutDisplayNameOfFunction() {};\n\nif (process.env.NODE_ENV !== 'production') {\n\tconst hasWarned = {};\n\n\t// TODO: allow `displayName` to be an array of displayNames\n\thasChildrenWithoutDisplayNameOf = function hasChildrenWithoutDisplayNameOfFunction(\n\t\tcontrol,\n\t\tchildren,\n\t\tdisplayName,\n\t\tcomment\n\t) {\n\t\tif (!hasWarned[control]) {\n\t\t\tconst additionalComment = comment ? ` ${comment}` : '';\n\t\t\tconst childrenWithoutSelectedDisplayName = [];\n\n\t\t\tReact.Children.forEach(children, (child) => {\n\t\t\t\tif (child && child.type && child.type.displayName !== displayName) {\n\t\t\t\t\t// eslint-disable-next-line fp/no-mutating-methods\n\t\t\t\t\tchildrenWithoutSelectedDisplayName.push(child);\n\t\t\t\t}\n\t\t\t});\n\n\t\t\tconst hasChildrenWithoutSelectedDisplayName =\n\t\t\t\tchildrenWithoutSelectedDisplayName.length > 0;\n\n\t\t\tif (hasChildrenWithoutSelectedDisplayName) {\n\t\t\t\t/* eslint-disable max-len */\n\t\t\t\twarning(\n\t\t\t\t\tfalse,\n\t\t\t\t\t`[Design System React] Unable to use child components specified within ${control}. Please use a child component with a \\`displayName\\` class property value of ${displayName}. Children without that class property are ignored. Please review \\`children\\` prop documentation.${additionalComment}`\n\t\t\t\t);\n\t\t\t\t/* eslint-enable max-len */\n\t\t\t}\n\n\t\t\thasWarned[control] = !!hasChildrenWithoutSelectedDisplayName;\n\t\t}\n\t};\n}\n\nexport default hasChildrenWithoutDisplayNameOf;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n/* eslint-disable import/no-mutable-exports */\n\nimport hasChildrenWithoutDisplayNameof from '../../utilities/warning/has-children-without-display-name-of';\nimport getComponentDocFn from '../../utilities/get-component-doc';\nimport renderFunctionReturnContentsLackDisplayName from '../../utilities/warning/render-function-return-contents-lack-display-name';\n\nimport {\n\tICON,\n\tPROGRESS_INDICATOR,\n\tSETUP_ASSISTANT,\n\tSETUP_ASSISTANT_STEP,\n} from '../../utilities/constants';\n\nlet checkProps = () => {};\n\nif (process.env.NODE_ENV !== 'production') {\n\tcheckProps = (COMPONENT, props, jsonDoc) => {\n\t\tconst createDocUrl = getComponentDocFn(jsonDoc);\n\n\t\tif (COMPONENT === SETUP_ASSISTANT) {\n\t\t\thasChildrenWithoutDisplayNameof(\n\t\t\t\tCOMPONENT,\n\t\t\t\tprops.children,\n\t\t\t\tSETUP_ASSISTANT_STEP,\n\t\t\t\tcreateDocUrl()\n\t\t\t);\n\t\t}\n\n\t\tif (COMPONENT === SETUP_ASSISTANT_STEP && props.onRenderFigure) {\n\t\t\trenderFunctionReturnContentsLackDisplayName(\n\t\t\t\tCOMPONENT,\n\t\t\t\t'onRenderFigure',\n\t\t\t\tprops.onRenderFigure(),\n\t\t\t\t[ICON, PROGRESS_INDICATOR]\n\t\t\t);\n\t\t}\n\t};\n}\n\nexport default checkProps;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// Implements the [Setup Assistant design pattern](https://lightningdesignsystem.com/components/progress-ring/) in React.\n// Based on SLDS v2.4.5\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\n\n// ### shortid\n// [npmjs.com/package/shortid](https://www.npmjs.com/package/shortid)\n// shortid is a short, non-sequential, url-friendly, unique id generator\nimport shortid from 'shortid';\n\n// This component's `checkProps` which issues warnings to developers about properties\n// when in development mode (similar to React's built in development tools)\nimport checkProps from './check-props';\nimport componentDoc from './component.json';\n\nimport {\n\tSETUP_ASSISTANT,\n\tSETUP_ASSISTANT_STEP,\n} from '../../utilities/constants';\n\nconst propTypes = {\n\t/**\n\t * Accepts SetupAssistantStep components only as children.\n\t */\n\tchildren: PropTypes.node,\n\t/**\n\t * CSS classes to be added to tag with `.slds-progress-bar`. Uses `classNames` [API](https://github.com/JedWatson/classnames).\n\t */\n\tclassName: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\t/**\n\t * HTML id for component.\n\t */\n\tid: PropTypes.string,\n\t/**\n\t * Dictates whether this setup assistant has card wrappings and styling\n\t */\n\tisCard: PropTypes.bool,\n\t/**\n\t * Function to handle opening / closing of steps when the step is expandable. Passes event object and step `index`, `isOpen`, and `step` props as data.\n\t */\n\tonStepToggleIsOpen: PropTypes.func,\n\t/**\n\t * Accepts a progress bar component, which will only be visible if `isCard` is enabled\n\t */\n\tprogressBar: PropTypes.node,\n};\n\nconst defaultProps = {\n\tisCard: false,\n};\n\n/**\n * Setup Assistant provides Administrators with a centralized list of tasks for\n * onboarding organizations, clouds, or features within the Salesforce Platform.\n */\nclass SetupAssistant extends React.Component {\n\tconstructor(props) {\n\t\tsuper(props);\n\n\t\tthis.generatedId = shortid.generate();\n\t}\n\n\tcomponentDidMount() {\n\t\tcheckProps(SETUP_ASSISTANT, this.props, componentDoc);\n\t}\n\n\tcomponentDidUpdate() {\n\t\tcheckProps(SETUP_ASSISTANT, this.props, componentDoc);\n\t}\n\n\t/**\n\t * ID as a string\n\t * @returns {string} id\n\t */\n\tgetId() {\n\t\treturn this.props.id || this.generatedId;\n\t}\n\n\trender() {\n\t\tconst steps = (\n\t\t\t<ol\n\t\t\t\tid={this.getId()}\n\t\t\t\tclassName={classNames('slds-setup-assistant', this.props.className)}\n\t\t\t>\n\t\t\t\t{React.Children.map(this.props.children, (child, i) => {\n\t\t\t\t\tif (child.type.displayName !== SETUP_ASSISTANT_STEP) return null;\n\t\t\t\t\treturn React.cloneElement(child, {\n\t\t\t\t\t\tindex: i,\n\t\t\t\t\t\tonToggleIsOpen: this.props.onStepToggleIsOpen,\n\t\t\t\t\t\tstepNumber: i + 1,\n\t\t\t\t\t\t...child.props,\n\t\t\t\t\t});\n\t\t\t\t})}\n\t\t\t</ol>\n\t\t);\n\n\t\treturn this.props.isCard ? (\n\t\t\t<section className=\"slds-card\">\n\t\t\t\t<header className=\"slds-theme_shade slds-p-around_medium slds-m-bottom_small\">\n\t\t\t\t\t{this.props.progressBar}\n\t\t\t\t</header>\n\t\t\t\t{steps}\n\t\t\t</section>\n\t\t) : (\n\t\t\t<React.Fragment>{steps}</React.Fragment>\n\t\t);\n\t}\n}\n\nSetupAssistant.displayName = SETUP_ASSISTANT;\nSetupAssistant.propTypes = propTypes;\nSetupAssistant.defaultProps = defaultProps;\n\nexport default SetupAssistant;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\n\n// ### shortid\n// [npmjs.com/package/shortid](https://www.npmjs.com/package/shortid)\n// shortid is a short, non-sequential, url-friendly, unique id generator\nimport shortid from 'shortid';\nimport assign from 'lodash.assign';\n\n// This component's `checkProps` which issues warnings to developers about properties\n// when in development mode (similar to React's built in development tools)\nimport checkProps from './check-props';\nimport componentDoc from './component.json';\n\nimport Button from '../button';\nimport ProgressRing from '../progress-ring';\n\nimport { ICON, SETUP_ASSISTANT_STEP } from '../../utilities/constants';\n\nconst propTypes = {\n\t/**\n\t * **Assistive text for accessibility**\n\t * This object is merged with the default props object on every render.\n\t * * `expandStep`: Button that examples a step\n\t * _Tested with snapshot testing._\n\t */\n\tassistiveText: PropTypes.shape({\n\t\texpandStep: PropTypes.string,\n\t}),\n\t/**\n\t * CSS class names to be added to the container element. `array`, `object`, or `string` are accepted.\n\t */\n\tclassName: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\t/**\n\t * Detailed description of the step\n\t */\n\tdescription: PropTypes.oneOfType([PropTypes.string, PropTypes.node]),\n\t/**\n\t * Estimated time for completing the step\n\t */\n\testimatedTime: PropTypes.oneOfType([PropTypes.string, PropTypes.node]),\n\t/**\n\t * Heading for the step\n\t */\n\theading: PropTypes.oneOfType([PropTypes.string, PropTypes.node]),\n\t/**\n\t * HTML id for component.\n\t */\n\tid: PropTypes.string,\n\t/**\n\t * Index of the step within the step array\n\t */\n\tindex: PropTypes.number,\n\t/**\n\t * Dictates whether the step can be expanded / collapsed\n\t */\n\tisExpandable: PropTypes.bool,\n\t/**\n\t * If `isExpandable` is true, this prop can be used to control the expanded state. If not provided state will be used instead\n\t */\n\tisOpen: PropTypes.bool,\n\t/**\n\t * Function that is called to render a step's available action(s). Typically returns a Button, Button of variant \"link,\" or Checkbox of variant \"toggle\"\n\t */\n\tonRenderAction: PropTypes.func,\n\t/**\n\t * Function that is called to render step content. Typically returns a ProgressIndicator and/or ScopedNotification component\n\t */\n\tonRenderContent: PropTypes.func,\n\t/**\n\t * Function that is called to render content within the media figure. Expects to be returned an Icon or ProgressRing component\n\t */\n\tonRenderFigure: PropTypes.func,\n\t/**\n\t * Function to handle requests to expand / collapse the step\n\t */\n\tonToggleIsOpen: PropTypes.func,\n\t/**\n\t * Percentage of step completed. No progress indicator will be shown for the step unless this is provided\n\t */\n\tprogress: PropTypes.number,\n\t/**\n\t * Display number for the step. Only appears if progress indicator is enabled. Determined automatically by parent if not provided.\n\t */\n\tstepNumber: PropTypes.number,\n};\n\nconst defaultProps = {\n\tassistiveText: { expandStep: 'Expand Step' },\n};\n\n/**\n * Setup Assistant Step component is used to specify individual items within the Setup Assistant\n * filled with learning and task links along with a recommended sequence that may have progress tracking\n */\nclass Step extends React.Component {\n\tconstructor(props) {\n\t\tsuper(props);\n\t\tthis.generatedId = shortid.generate();\n\t\tthis.state = {\n\t\t\tisOpen: props.isOpen || false,\n\t\t};\n\t\tcheckProps(SETUP_ASSISTANT_STEP, this.props, componentDoc);\n\t}\n\n\tgetId() {\n\t\treturn this.props.id || this.generatedId;\n\t}\n\n\tgetIsOpen() {\n\t\treturn this.props.isOpen !== undefined\n\t\t\t? this.props.isOpen\n\t\t\t: this.state.isOpen;\n\t}\n\n\ttoggleIsOpen = (event) => {\n\t\tif (this.props.onToggleIsOpen) {\n\t\t\tthis.props.onToggleIsOpen(event, {\n\t\t\t\tindex: this.props.index,\n\t\t\t\tisOpen: this.getIsOpen(),\n\t\t\t\tstep: this.props,\n\t\t\t});\n\t\t} else {\n\t\t\tthis.setState({ isOpen: !this.getIsOpen() });\n\t\t}\n\t};\n\n\trenderMediaContent() {\n\t\treturn (\n\t\t\t<React.Fragment>\n\t\t\t\t<div className=\"slds-setup-assistant__step-summary-content slds-media__body\">\n\t\t\t\t\t<h3 className=\"slds-setup-assistant__step-summary-title slds-text-heading_small\">\n\t\t\t\t\t\t{this.props.isExpandable ? (\n\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\taria-controls={`${this.getId()}-detail-content`}\n\t\t\t\t\t\t\t\tclassName=\"slds-button_reset\"\n\t\t\t\t\t\t\t\tlabel={this.props.heading}\n\t\t\t\t\t\t\t\tonClick={this.toggleIsOpen}\n\t\t\t\t\t\t\t\tvariant=\"base\"\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\tthis.props.heading\n\t\t\t\t\t\t)}\n\t\t\t\t\t</h3>\n\t\t\t\t\t<p>{this.props.description}</p>\n\t\t\t\t</div>\n\t\t\t\t<div className=\"slds-media__figure slds-media__figure_reverse\">\n\t\t\t\t\t{this.props.onRenderAction ? this.props.onRenderAction() : null}\n\t\t\t\t\t{this.props.estimatedTime ? (\n\t\t\t\t\t\t<p\n\t\t\t\t\t\t\tclassName={classNames(\n\t\t\t\t\t\t\t\t'slds-text-align_right',\n\t\t\t\t\t\t\t\t'slds-text-color_weak',\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t'slds-p-top_medium': this.props.onRenderAction !== undefined,\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{this.props.estimatedTime}\n\t\t\t\t\t\t</p>\n\t\t\t\t\t) : null}\n\t\t\t\t</div>\n\t\t\t</React.Fragment>\n\t\t);\n\t}\n\n\trenderSummary() {\n\t\tlet figure;\n\t\tlet progressRingTheme;\n\n\t\tif (this.props.progress > 0 && this.props.progress < 100) {\n\t\t\tprogressRingTheme = 'active';\n\t\t} else if (this.props.progress === 100) {\n\t\t\tprogressRingTheme = 'complete';\n\t\t}\n\n\t\tif (this.props.onRenderFigure) {\n\t\t\tfigure = this.props.onRenderFigure();\n\n\t\t\tif (figure && figure.type && figure.type.displayName === ICON) {\n\t\t\t\tlet containerStyle = {\n\t\t\t\t\tposition: 'relative',\n\t\t\t\t\ttop: this.props.isExpandable ? '5px' : '-3px',\n\t\t\t\t};\n\n\t\t\t\tif (figure.props.containerStyle) {\n\t\t\t\t\tcontainerStyle = {\n\t\t\t\t\t\t...containerStyle,\n\t\t\t\t\t\t...figure.props.containerStyle,\n\t\t\t\t\t};\n\t\t\t\t}\n\n\t\t\t\tfigure = React.cloneElement(figure, {\n\t\t\t\t\t...figure.props,\n\t\t\t\t\tcontainerStyle,\n\t\t\t\t\tsize: 'small',\n\t\t\t\t});\n\t\t\t\tfigure = <div className=\"slds-media__figure\">{figure}</div>;\n\t\t\t}\n\t\t} else if (this.props.progress !== undefined) {\n\t\t\tfigure = (\n\t\t\t\t<div className=\"slds-media__figure\">\n\t\t\t\t\t<ProgressRing\n\t\t\t\t\t\thasIcon\n\t\t\t\t\t\ticon={this.props.progress === 100 ? null : this.props.stepNumber}\n\t\t\t\t\t\tflowDirection=\"fill\"\n\t\t\t\t\t\tsize=\"large\"\n\t\t\t\t\t\ttheme={progressRingTheme}\n\t\t\t\t\t\tvalue={this.props.progress}\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t);\n\t\t}\n\n\t\treturn (\n\t\t\t<div className=\"slds-setup-assistant__step-summary\">\n\t\t\t\t<div className=\"slds-media\">\n\t\t\t\t\t{figure}\n\t\t\t\t\t{this.props.isExpandable || this.props.progress !== undefined ? (\n\t\t\t\t\t\t<div className=\"slds-media__body slds-m-top_x-small\">\n\t\t\t\t\t\t\t<div className=\"slds-media\">{this.renderMediaContent()}</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t) : (\n\t\t\t\t\t\tthis.renderMediaContent()\n\t\t\t\t\t)}\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t);\n\t}\n\n\trender() {\n\t\tconst assistiveText = assign(\n\t\t\t{},\n\t\t\tdefaultProps.assistiveText,\n\t\t\tthis.props.assistiveText\n\t\t);\n\t\treturn (\n\t\t\t<li\n\t\t\t\tclassName={classNames(\n\t\t\t\t\t'slds-setup-assistant__item',\n\t\t\t\t\tthis.props.className\n\t\t\t\t)}\n\t\t\t\tid={this.getId()}\n\t\t\t>\n\t\t\t\t<article className=\"slds-setup-assistant__step\">\n\t\t\t\t\t{this.props.isExpandable ? (\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tclassName={classNames('slds-summary-detail', {\n\t\t\t\t\t\t\t\t'slds-is-open': this.getIsOpen(),\n\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\tassistiveText={{ icon: assistiveText.expandStep }}\n\t\t\t\t\t\t\t\taria-controls={`${this.getId()}-detail-content`}\n\t\t\t\t\t\t\t\tclassName=\"slds-m-right_x-small slds-m-top_x-small\"\n\t\t\t\t\t\t\t\ticonCategory=\"utility\"\n\t\t\t\t\t\t\t\ticonClassName=\"slds-summary-detail__action-icon\"\n\t\t\t\t\t\t\t\ticonName=\"switch\"\n\t\t\t\t\t\t\t\tonClick={this.toggleIsOpen}\n\t\t\t\t\t\t\t\tvariant=\"icon\"\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<div className=\"slds-container_fluid\">\n\t\t\t\t\t\t\t\t<div className=\"slds-summary-detail__title\">\n\t\t\t\t\t\t\t\t\t{this.renderSummary()}\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\tclassName=\"slds-summary-detail__content\"\n\t\t\t\t\t\t\t\t\tid={`${this.getId()}-detail-content`}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<div className=\"slds-setup-assistant__step-detail\">\n\t\t\t\t\t\t\t\t\t\t{this.props.onRenderContent\n\t\t\t\t\t\t\t\t\t\t\t? this.props.onRenderContent()\n\t\t\t\t\t\t\t\t\t\t\t: null}\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t) : (\n\t\t\t\t\t\tthis.renderSummary()\n\t\t\t\t\t)}\n\t\t\t\t</article>\n\t\t\t</li>\n\t\t);\n\t}\n}\n\nStep.displayName = SETUP_ASSISTANT_STEP;\nStep.propTypes = propTypes;\nStep.defaultProps = defaultProps;\n\nexport default Step;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// # Slider Component\n\n// Implements the [Slider design pattern](https://www.lightningdesignsystem.com/components/slider/) in React.\n\n// ### React\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\n// ### isFunction\nimport isFunction from 'lodash.isfunction';\n\n// ### classNames\nimport classNames from 'classnames';\n\n// ### shortid\n// [npmjs.com/package/shortid](https://www.npmjs.com/package/shortid)\n// shortid is a short, non-sequential, url-friendly, unique id generator\nimport shortid from 'shortid';\n\nimport { SLIDER } from '../../utilities/constants';\n\nimport getAriaProps from '../../utilities/get-aria-props';\n\nconst propTypes = {\n\t/**\n\t * The `aria-describedby` attribute is used to indicate the IDs of the elements that describe the object. It is used to establish a relationship between widgets or groups and text that described them. This is very similar to aria-labelledby: a label describes the essence of an object, while a description provides more information that the user might need.\n\t */\n\t'aria-describedby': PropTypes.string,\n\t/**\n\t * Assistive text for accessibility**\n\t * `disabled`: Read by screen readers to indicate a disabled slider\n\t * `label`: Visually hidden label but read out loud by screen readers.\n\t */\n\tassistiveText: PropTypes.shape({\n\t\tdisabled: PropTypes.string,\n\t\tlabel: PropTypes.string,\n\t}),\n\t/**\n\t * Class names to be added to the outer container of the Slider.\n\t */\n\tclassNameContainer: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\t/**\n\t * This is the initial value of an uncontrolled form element and is present\n\t * only to provide compatibility with hybrid framework applications that\n\t * are not entirely React. It should only be used in an application without\n\t * centralized state (Redux, Flux). \"Controlled components\" with centralized\n\t * state is highly recommended. See [Code Overview](https://github.com/salesforce/design-system-react/blob/master/docs/codebase-overview.md#controlled-and-uncontrolled-components) for more information.\n\t */\n\tdefaultValue: PropTypes.number,\n\t/**\n\t * Disables the Slider and prevents clicking it. Only available on the horizontal view.\n\t */\n\tdisabled: PropTypes.bool,\n\t/**\n\t * Message to display when the Slider is in an error state. When this is present, also visually highlights the component as in error.\n\t */\n\terrorText: PropTypes.string,\n\t/**\n\t * Set the HTML `id` of the slider.\n\t */\n\tid: PropTypes.string,\n\t/**\n\t * This label appears above the Slider.\n\t */\n\tlabel: PropTypes.string,\n\t/**\n\t * Maximum value of a specified range. Defaults to 100.\n\t */\n\tmax: PropTypes.number,\n\t/**\n\t * Minimum value of a specified range. Defaults to 0.\n\t */\n\tmin: PropTypes.number,\n\t/**\n\t * Name of the submitted form parameter.\n\t */\n\tname: PropTypes.string,\n\t/**\n\t * This event fires whenever the user has modified the data of the control. This callback recieves the following parameters `event, { value: [string] }`.\n\t */\n\tonChange: PropTypes.func,\n\t/**\n\t * This event fires when the value is committed. This callback recieves the following parameters `event, { value: [string] }`.\n\t */\n\tonInput: PropTypes.func,\n\t/**\n\t * Size of the slider.\n\t */\n\tsize: PropTypes.oneOf(['x-small', 'small', 'medium', 'large']),\n\t/**\n\t * By default, the granularity is 1 and the value is always an integer. For example, If you need a value between 5 and 10, accurate to two decimal places, you should set the value of step to 0.01\n\t */\n\tstep: PropTypes.number,\n\t/**\n\t * The Slider should be a controlled component, and will always display this value. This should always be used if you are using a Flux/Redux framework.\n\t */\n\tvalue: PropTypes.number,\n\t/**\n\t * Modifier that makes the slider vertical\n\t */\n\tvertical: PropTypes.bool,\n};\n\nconst defaultProps = {\n\tassistiveText: { disabled: 'Disabled' },\n\tmin: 0,\n\tmax: 100,\n\tstep: 1,\n};\n\n/**\n * The ability to style sliders with CSS varies across browsers. Using this component ensures sliders look the same everywhere.\n */\nclass Slider extends React.Component {\n\tstatic displayName = SLIDER;\n\n\tstatic propTypes = propTypes;\n\n\tstatic defaultProps = defaultProps;\n\n\tconstructor(props) {\n\t\tsuper(props);\n\n\t\tthis.generatedId = shortid.generate();\n\n\t\tif (this.props.errorText) {\n\t\t\tthis.generatedErrorId = shortid.generate();\n\t\t}\n\t}\n\n\tgetId() {\n\t\treturn this.props.id || this.generatedId;\n\t}\n\n\tgetErrorId() {\n\t\treturn this.props['aria-describedby'] || this.generatedErrorId;\n\t}\n\n\thandleChange = (event) => {\n\t\tif (isFunction(this.props.onChange)) {\n\t\t\tthis.props.onChange(event, { value: Number(event.target.value) });\n\t\t}\n\t};\n\n\thandleInput = (event) => {\n\t\tif (isFunction(this.props.onInput)) {\n\t\t\tthis.props.onInput(event, { value: Number(event.target.value) });\n\t\t}\n\t};\n\n\trender() {\n\t\tconst ariaProps = getAriaProps(this.props);\n\t\tariaProps['aria-describedby'] = this.getErrorId();\n\n\t\tconst assistiveText = {\n\t\t\t...defaultProps.assistiveText,\n\t\t\t...this.props.assistiveText,\n\t\t};\n\t\tconst labelText =\n\t\t\tthis.props.label ||\n\t\t\t(this.props.assistiveText && this.props.assistiveText.label);\n\n\t\treturn (\n\t\t\t<div\n\t\t\t\tclassName={classNames(\n\t\t\t\t\t'slds-form-element',\n\t\t\t\t\t{\n\t\t\t\t\t\t'slds-has-error': this.props.errorText,\n\t\t\t\t\t},\n\t\t\t\t\tthis.props.classNameContainer\n\t\t\t\t)}\n\t\t\t>\n\t\t\t\t<label\n\t\t\t\t\tclassName={classNames('slds-form-element__label', {\n\t\t\t\t\t\t'slds-assistive-text':\n\t\t\t\t\t\t\tthis.props.assistiveText && !this.props.label,\n\t\t\t\t\t})}\n\t\t\t\t\thtmlFor={this.getId()}\n\t\t\t\t>\n\t\t\t\t\t<span className=\"slds-slider-label\">\n\t\t\t\t\t\t{labelText ? (\n\t\t\t\t\t\t\t<span className=\"slds-slider-label__label\">{labelText}</span>\n\t\t\t\t\t\t) : null}\n\t\t\t\t\t\t<span className=\"slds-slider-label__range\">\n\t\t\t\t\t\t\t{this.props.min}\n\t\t\t\t\t\t\t{' - '}\n\t\t\t\t\t\t\t{this.props.max}\n\t\t\t\t\t\t</span>\n\t\t\t\t\t\t{this.props.disabled ? (\n\t\t\t\t\t\t\t<span className=\"slds-assistive-text\">\n\t\t\t\t\t\t\t\t{' '}\n\t\t\t\t\t\t\t\t{assistiveText.disabled}\n\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t) : null}\n\t\t\t\t\t</span>\n\t\t\t\t</label>\n\t\t\t\t<div className=\"slds-form-element__control\">\n\t\t\t\t\t<div\n\t\t\t\t\t\tclassName={classNames('slds-slider', {\n\t\t\t\t\t\t\t'slds-slider_vertical': this.props.vertical,\n\t\t\t\t\t\t\t'slds-size_x-small': this.props.size === 'x-small',\n\t\t\t\t\t\t\t'slds-size_small': this.props.size === 'small',\n\t\t\t\t\t\t\t'slds-size_medium': this.props.size === 'medium',\n\t\t\t\t\t\t\t'slds-size_large': this.props.size === 'large',\n\t\t\t\t\t\t})}\n\t\t\t\t\t>\n\t\t\t\t\t\t<input\n\t\t\t\t\t\t\ttype=\"range\"\n\t\t\t\t\t\t\tid={this.getId()}\n\t\t\t\t\t\t\tname={this.props.name}\n\t\t\t\t\t\t\tclassName=\"slds-slider__range\"\n\t\t\t\t\t\t\tmin={this.props.min}\n\t\t\t\t\t\t\tmax={this.props.max}\n\t\t\t\t\t\t\tstep={this.props.step}\n\t\t\t\t\t\t\tdisabled={this.props.disabled}\n\t\t\t\t\t\t\tonChange={this.handleChange}\n\t\t\t\t\t\t\tonInput={this.handleInput}\n\t\t\t\t\t\t\t{...ariaProps}\n\t\t\t\t\t\t\t/* A form element should not have both value and defaultValue props. */\n\t\t\t\t\t\t\t{...(this.props.value !== undefined\n\t\t\t\t\t\t\t\t? { value: this.props.value }\n\t\t\t\t\t\t\t\t: { defaultValue: this.props.defaultValue })}\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<span className=\"slds-slider__value\" aria-hidden=\"true\">\n\t\t\t\t\t\t\t{this.props.value || this.props.defaultValue || '0'}\n\t\t\t\t\t\t</span>\n\t\t\t\t\t</div>\n\t\t\t\t\t{this.props.errorText ? (\n\t\t\t\t\t\t<div id={this.getErrorId()} className=\"slds-form-element__help\">\n\t\t\t\t\t\t\t{this.props.errorText}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t) : null}\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t);\n\t}\n}\n\nexport default Slider;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport Button from '../../button';\n\nexport const DISPLAY_NAME = 'SLDSSplitViewToggleButton';\nexport const TOGGLE_BUTTON_WIDTH = '0.75rem';\n\nconst propsTypes = {\n\t/**\n\t * **Assistive text for accessibility**\n\t * * `toggleButtonOpen`: The button used to open the split view.\n\t * * `toggleButtonClose`: The button used to close the split view.\n\t */\n\tassistiveText: PropTypes.shape({\n\t\ttoggleButtonOpen: PropTypes.string.isRequired,\n\t\ttoggleButtonClose: PropTypes.string.isRequired,\n\t}),\n\t/**\n\t * Unique html id placed on the button for aria-controls\n\t */\n\tariaControls: PropTypes.string.isRequired,\n\t/**\n\t * Determines if the panel is open\n\t */\n\tisOpen: PropTypes.bool.isRequired,\n\t/**\n\t * **Event Callbacks**\n\t * * `onClick`: Called when the button is clicked.\n\t */\n\tevents: PropTypes.shape({\n\t\tonClick: PropTypes.func.isRequired,\n\t}),\n};\n\nconst defaultProps = {};\n\nconst SplitViewToggleButton = ({\n\tisOpen,\n\tassistiveText,\n\tariaControls,\n\tevents,\n}) => {\n\tconst toggleAssistiveText = isOpen\n\t\t? assistiveText.toggleButtonOpen\n\t\t: assistiveText.toggleButtonClose;\n\n\treturn (\n\t\t<Button\n\t\t\tclassName={classNames(\n\t\t\t\t'slds-button slds-button_icon slds-split-view__toggle-button',\n\t\t\t\t{ 'slds-is-open': isOpen }\n\t\t\t)}\n\t\t\taria-expanded={isOpen}\n\t\t\taria-controls={ariaControls}\n\t\t\ttitle={toggleAssistiveText}\n\t\t\tvariant=\"base\"\n\t\t\ticonName=\"left\"\n\t\t\ticonCategory=\"utility\"\n\t\t\ticonSize=\"x-small\"\n\t\t\tonClick={events.onClick}\n\t\t\tassistiveText={{ icon: toggleAssistiveText }}\n\t\t/>\n\t);\n};\n\nSplitViewToggleButton.displayName = DISPLAY_NAME;\nSplitViewToggleButton.propTypes = propsTypes;\nSplitViewToggleButton.defaultProps = defaultProps;\n\nexport default SplitViewToggleButton;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport shortid from 'shortid';\nimport classNames from 'classnames';\n\nimport ToggleButton, { TOGGLE_BUTTON_WIDTH } from './private/toggle-button';\n\nimport { SPLIT_VIEW } from '../../utilities/constants';\n\nconst propTypes = {\n\t/**\n\t * **Assistive text for accessibility**\n\t * * `toggleButtonOpen`: The button used to open the split view.\n\t * * `toggleButtonClose`: The button used to close the split view.\n\t */\n\tassistiveText: PropTypes.shape({\n\t\ttoggleButtonOpen: PropTypes.string,\n\t\ttoggleButtonClose: PropTypes.string,\n\t}),\n\t/**\n\t * HTML Id for the component.\n\t */\n\tid: PropTypes.string,\n\t/**\n\t * CSS classes to be added to the root `div` tag. Uses `classNames` [API](https://github.com/JedWatson/classnames).\n\t */\n\tclassName: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\t/**\n\t * Sets the split view to be open or closed.\n\t */\n\tisOpen: PropTypes.bool,\n\t/**\n\t * Event Callbacks\n\t * * `onClose`: Triggered when the split view has closed.\n\t * * `onOpen`: Triggered when the split view has opened.\n\t */\n\tevents: PropTypes.shape({\n\t\tonClose: PropTypes.func,\n\t\tonOpen: PropTypes.func,\n\t}),\n\t/**\n\t * The React component that is rendered in the master section.\n\t * You need to pass in an array of elements in order for the scrolling to in the SplitViewList to work correctly.\n\t * React requires that you also supply a unique `key` for each element [React Lists and Keys](https://reactjs.org/docs/lists-and-keys.html#keys).\n\t */\n\tmaster: PropTypes.oneOfType([\n\t\tPropTypes.arrayOf(PropTypes.element),\n\t\tPropTypes.element,\n\t]).isRequired,\n\t/**\n\t * The width of the master section.\n\t */\n\tmasterWidth: PropTypes.string,\n\t/**\n\t * The React component that is rendered in the detail section.\n\t */\n\tdetail: PropTypes.oneOfType([\n\t\tPropTypes.arrayOf(PropTypes.element),\n\t\tPropTypes.element,\n\t]).isRequired,\n};\n\nconst defaultProps = {\n\tassistiveText: {\n\t\ttoggleButtonOpen: 'Close split view',\n\t\ttoggleButtonClose: 'Open split view',\n\t},\n\tevents: {},\n\tmasterWidth: '20rem',\n};\n\n/**\n * Split view is used to navigate between records in a list while staying on the same screen.\n */\nclass SplitView extends React.Component {\n\tstatic displayName = SPLIT_VIEW;\n\n\tstatic propTypes = propTypes;\n\n\tstatic defaultProps = defaultProps;\n\n\tconstructor(props) {\n\t\tsuper(props);\n\n\t\tthis.state = {\n\t\t\tisOpen: typeof props.isOpen === 'boolean' ? props.isOpen : true,\n\t\t};\n\n\t\tthis.generatedId = shortid.generate();\n\t}\n\n\tgetId() {\n\t\treturn this.props.id || this.generatedId;\n\t}\n\n\tgetIsOpen() {\n\t\treturn typeof this.props.isOpen === 'boolean'\n\t\t\t? this.props.isOpen\n\t\t\t: this.state.isOpen;\n\t}\n\n\tgetMasterViewId() {\n\t\treturn `master_view_${this.getId()}`;\n\t}\n\n\ttoggle(event) {\n\t\tif (typeof this.props.isOpen !== 'boolean') {\n\t\t\tthis.setState((prevState) => ({\n\t\t\t\tisOpen: !prevState.isOpen,\n\t\t\t}));\n\t\t}\n\n\t\tconst isOpen = this.getIsOpen();\n\n\t\tif (isOpen && this.props.events.onClose) {\n\t\t\tthis.props.events.onClose(event);\n\t\t} else if (!isOpen && this.props.events.onOpen) {\n\t\t\tthis.props.events.onOpen(event);\n\t\t}\n\t}\n\n\trender() {\n\t\treturn (\n\t\t\t<div\n\t\t\t\tid={this.getId()}\n\t\t\t\tclassName={classNames('slds-grid', this.props.className)}\n\t\t\t\tstyle={{\n\t\t\t\t\theight: '100%',\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\t<div\n\t\t\t\t\tstyle={{\n\t\t\t\t\t\tmaxWidth: this.getIsOpen() ? this.props.masterWidth : '0',\n\t\t\t\t\t\tminWidth: this.getIsOpen() ? this.props.masterWidth : '0',\n\t\t\t\t\t}}\n\t\t\t\t\tclassName={classNames(\n\t\t\t\t\t\t'slds-split-view_container',\n\t\t\t\t\t\t{ 'slds-is-open': this.getIsOpen() },\n\t\t\t\t\t\t{ 'slds-is-closed': !this.getIsOpen() }\n\t\t\t\t\t)}\n\t\t\t\t>\n\t\t\t\t\t<ToggleButton\n\t\t\t\t\t\tassistiveText={this.props.assistiveText}\n\t\t\t\t\t\tariaControls={this.getMasterViewId()}\n\t\t\t\t\t\tisOpen={this.getIsOpen()}\n\t\t\t\t\t\tevents={{\n\t\t\t\t\t\t\tonClick: (event) => this.toggle(event),\n\t\t\t\t\t\t}}\n\t\t\t\t\t/>\n\t\t\t\t\t<article\n\t\t\t\t\t\tid={this.getMasterViewId()}\n\t\t\t\t\t\tclassName=\"slds-split-view slds-grid slds-grid_vertical slds-grow slds-scrollable_none\"\n\t\t\t\t\t>\n\t\t\t\t\t\t{this.getIsOpen() ? this.props.master : null}\n\t\t\t\t\t</article>\n\t\t\t\t</div>\n\t\t\t\t<div\n\t\t\t\t\tstyle={{\n\t\t\t\t\t\tmarginLeft: TOGGLE_BUTTON_WIDTH,\n\t\t\t\t\t}}\n\t\t\t\t\tclassName=\"slds-grow slds-scrollable_y\"\n\t\t\t\t>\n\t\t\t\t\t{this.props.detail}\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t);\n\t}\n}\n\nexport default SplitView;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\nimport React from 'react';\nimport classNames from 'classnames';\nimport PageHeader from '../page-header';\n\nimport { SPLIT_VIEW_HEADER } from '../../utilities/constants';\n\nconst propTypes = {};\n\nconst defaultProps = {};\n/**\n * The Split View Header takes the same properties as the [PageHeader](https://react.lightningdesignsystem.com/components/page-headers/) component.\n */\nconst SplitViewHeader = ({ className, ...rest }) => (\n\t<PageHeader\n\t\tclassName={classNames(\n\t\t\t'slds-split-view__header slds-has-bottom-magnet',\n\t\t\tclassName\n\t\t)}\n\t\t{...rest}\n\t/>\n);\n\nSplitViewHeader.displayName = SPLIT_VIEW_HEADER;\nSplitViewHeader.propTypes = propTypes;\nSplitViewHeader.defaultProps = defaultProps;\n\nexport default SplitViewHeader;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\nexport const DISPLAY_NAME = 'SLDSSplitViewListItemContent';\n\nconst propTypes = {\n\t/**\n\t * **Item to be displayed**\n\t * * `label`: The main label displayed on the top left.\n\t * * `topRightText`: The text displayed on the top right.\n\t * * `bottomLeftText`: The text displayed on the bottom left.\n\t * * `bottomRightText`: The text displayed on the bottom right.\n\t */\n\titem: PropTypes.shape({\n\t\tlabel: PropTypes.string,\n\t\ttopRightText: PropTypes.string,\n\t\tbottomLeftText: PropTypes.string,\n\t\tbottomRightText: PropTypes.string,\n\t}),\n};\n\nconst defaultProps = {};\n\nconst SplitViewListItemContent = ({ item }) => (\n\t<div>\n\t\t<div className=\"slds-grid slds-wrap\">\n\t\t\t<span\n\t\t\t\tclassName=\"slds-truncate slds-text-body_regular slds-text-color_default\"\n\t\t\t\ttitle={item.label}\n\t\t\t>\n\t\t\t\t{item.label}\n\t\t\t</span>\n\t\t\t<span\n\t\t\t\tclassName=\"slds-truncate slds-col_bump-left\"\n\t\t\t\ttitle={item.topRightText}\n\t\t\t>\n\t\t\t\t{item.topRightText}\n\t\t\t</span>\n\t\t</div>\n\t\t<div className=\"slds-grid slds-wrap\">\n\t\t\t<span className=\"slds-truncate\" title={item.bottomLeftText}>\n\t\t\t\t{item.bottomLeftText}\n\t\t\t</span>\n\t\t\t<span\n\t\t\t\tclassName=\"slds-truncate slds-col_bump-left\"\n\t\t\t\ttitle={item.bottomLeftText}\n\t\t\t>\n\t\t\t\t{item.bottomRightText}\n\t\t\t</span>\n\t\t</div>\n\t</div>\n);\n\nSplitViewListItemContent.displayName = DISPLAY_NAME;\nSplitViewListItemContent.propTypes = propTypes;\nSplitViewListItemContent.defaultProps = defaultProps;\n\nexport default SplitViewListItemContent;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n/* eslint-disable class-methods-use-this */\n\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\n\nexport const DISPLAY_NAME = 'SLDSSplitViewListItemWithContent';\n\nconst propsTypes = {\n\t/**\n\t * **Assistive text for accessibility**\n\t * * `unreadItem`: The unread indicator.\n\t */\n\tassistiveText: PropTypes.shape({\n\t\tunreadItem: PropTypes.string,\n\t}),\n\t/**\n\t * Item to be displayed\n\t */\n\titem: PropTypes.object.isRequired,\n\t/**\n\t * Allows multiple item to be selection\n\t */\n\tmultiple: PropTypes.bool,\n\t/**\n\t * Shows the item as `focused`.\n\t */\n\tisFocused: PropTypes.bool.isRequired,\n\t/**\n\t * Shows the item as `selected`.\n\t */\n\tisSelected: PropTypes.bool.isRequired,\n\t/**\n\t * Shows the item as `unread`.\n\t */\n\tisUnread: PropTypes.bool,\n\t/**\n\t * **Event Callbacks**\n\t * * `onClick`: Called when the item is clicked.\n\t * * * Event\n\t * * * Meta data\n\t * * * * `item`: The original item.\n\t * * * * `isSelected`: Is the item selected.\n\t * * * * `isUnread`: Is the item unread.\n\t */\n\tevents: PropTypes.shape({\n\t\tonClick: PropTypes.func.isRequired,\n\t}),\n\t/**\n\t * Reference to the list item component\n\t */\n\tlistItemRef: PropTypes.func,\n};\n\nconst defaultProps = {\n\tassistiveText: {\n\t\tunreadItem: 'Unread Item',\n\t},\n\tevents: {},\n};\n\n/**\n * HOC that wraps the list item content with selection and unread functionality.\n * @param ListItemContent {node} A React component\n * @returns {ListItemWithContent} A React component\n */\nconst listItemWithContent = (ListItemContent) => {\n\tclass ListItemWithContent extends React.Component {\n\t\tstatic displayName = `${DISPLAY_NAME}(${\n\t\t\tListItemContent.displayName || ListItemContent.name || 'Component'\n\t\t})`;\n\n\t\tstatic propTypes = propsTypes;\n\n\t\tstatic defaultProps = defaultProps;\n\n\t\tonClick(event) {\n\t\t\tthis.props.events.onClick(event, {\n\t\t\t\titem: this.props.item,\n\t\t\t\tisSelected: this.props.isSelected,\n\t\t\t\tisUnread: this.props.isUnread,\n\t\t\t});\n\t\t}\n\n\t\tunread() {\n\t\t\treturn this.props.isUnread ? (\n\t\t\t\t<abbr\n\t\t\t\t\tclassName=\"slds-indicator_unread\"\n\t\t\t\t\ttitle={this.props.assistiveText.unreadItem}\n\t\t\t\t\taria-label={this.props.assistiveText.unreadItem}\n\t\t\t\t>\n\t\t\t\t\t{/* eslint-disable-next-line react/jsx-curly-brace-presence */}\n\t\t\t\t\t<span className=\"slds-assistive-text\">{'●'}</span>\n\t\t\t\t</abbr>\n\t\t\t) : null;\n\t\t}\n\n\t\trender() {\n\t\t\treturn (\n\t\t\t\t<li\n\t\t\t\t\tclassName={classNames('slds-split-view__list-item', {\n\t\t\t\t\t\t'slds-is-unread': this.props.isUnread,\n\t\t\t\t\t})}\n\t\t\t\t\trole=\"presentation\"\n\t\t\t\t>\n\t\t\t\t\t<a\n\t\t\t\t\t\tclassName=\"slds-split-view__list-item-action slds-grow slds-has-flexi-truncate\"\n\t\t\t\t\t\trole=\"option\"\n\t\t\t\t\t\tref={this.props.listItemRef}\n\t\t\t\t\t\taria-selected={\n\t\t\t\t\t\t\tthis.props.multiple\n\t\t\t\t\t\t\t\t? !!this.props.isSelected\n\t\t\t\t\t\t\t\t: this.props.isSelected\n\t\t\t\t\t\t}\n\t\t\t\t\t\ttabIndex={this.props.isFocused ? 0 : -1}\n\t\t\t\t\t\thref=\"javascript:void(0);\" // eslint-disable-line no-script-url\n\t\t\t\t\t\tonClick={(e) => this.onClick(e)}\n\t\t\t\t\t>\n\t\t\t\t\t\t{this.unread()}\n\t\t\t\t\t\t<ListItemContent {...this.props} />\n\t\t\t\t\t</a>\n\t\t\t\t</li>\n\t\t\t);\n\t\t}\n\t}\n\n\treturn ListItemWithContent;\n};\n\nexport default listItemWithContent;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n/* eslint-disable class-methods-use-this */\n\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport eventUtil from '../../utilities/event';\n\nimport { SPLIT_VIEW_LISTBOX } from '../../utilities/constants';\n\nimport Icon from '../icon';\nimport SplitViewListItemContent from './private/list-item-content';\nimport listItemWithContent from './private/list-item-with-content';\n\nexport const SORT_OPTIONS = Object.freeze({\n\tUP: 'up',\n\tDOWN: 'down',\n});\n\nconst propTypes = {\n\t/**\n\t * **Assistive text for accessibility**\n\t * * `list`: aria label for the list\n\t * * `sort`\n\t * * `sortedBy`: Clickable sort header for the list.\n\t * * `descending`: Descending sorting.\n\t * * `ascending`: Ascending sorting.\n\t */\n\tassistiveText: PropTypes.shape({\n\t\tlist: PropTypes.string,\n\t\tsort: PropTypes.shape({\n\t\t\tsortedBy: PropTypes.string,\n\t\t\tdescending: PropTypes.string,\n\t\t\tascending: PropTypes.string,\n\t\t}),\n\t\tunreadItem: PropTypes.string,\n\t}),\n\t/**\n\t * CSS classes to be added to the parent `div` tag.\n\t */\n\tclassName: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\t/**\n\t * Event Callbacks\n\t * * `onSelect`: Called when a list item is selected. Previously, this event was called when an item was focused. The UX pattern has changed and this event is now called on pressing enter or mouse click.\n\t * * event {object} List item click event\n\t * * Meta {object}\n\t * * selectedItems {array} List of selected items.\n\t * * item {object} Last selected item.\n\t * * `onSort`: Called when the list is sorted.\n\t * * event {object} Sort click event\n\t */\n\tevents: PropTypes.shape({\n\t\tonSelect: PropTypes.func.isRequired,\n\t\tonSort: PropTypes.func,\n\t}),\n\t/**\n\t * HTML id for component.\n\t */\n\tid: PropTypes.string,\n\t/**\n\t * **Text labels for internationalization**\n\t * * `header`: This is the header of the list.\n\t */\n\tlabels: PropTypes.shape({\n\t\theader: PropTypes.string,\n\t}),\n\t/**\n\t * The direction of the sort arrow. Option are:\n\t * * SORT_OPTIONS.UP: `up`\n\t * * SORT_OPTIONS.DOWN: `down`\n\t */\n\tsortDirection: PropTypes.oneOf([SORT_OPTIONS.UP, SORT_OPTIONS.DOWN]),\n\t/**\n\t * Allows multiple item to be selection\n\t */\n\tmultiple: PropTypes.bool,\n\t/**\n\t * The list of items.\n\t * It is recommended that you have a unique `id` for each item.\n\t */\n\toptions: PropTypes.array.isRequired,\n\t/**\n\t * Accepts an array of item objects. For single selection, pass in an array of one object.\n\t */\n\tselection: PropTypes.array,\n\t/**\n\t * Accepts an array of item objects. For single unread, pass in an array of one object.\n\t */\n\tunread: PropTypes.array,\n\t/**\n\t * Custom list item template for the list item content. The select and unread functionality wraps the custom list item.\n\t * This should be a React component that accepts props.\n\t */\n\tlistItem: PropTypes.func,\n};\n\nconst defaultProps = {\n\tassistiveText: {\n\t\tlist: 'Select an item to open it in a new workspace tab.',\n\t\tsort: {\n\t\t\tsortedBy: 'Sorted by',\n\t\t\tdescending: 'Descending',\n\t\t\tascending: 'Ascending',\n\t\t},\n\t},\n\tevents: {},\n\tlabels: {},\n\tselection: [],\n\tunread: [],\n};\n\n/**\n * The menu with the ARIA role of a listbox.\n */\nclass SplitViewListbox extends React.Component {\n\tstatic displayName = SPLIT_VIEW_LISTBOX;\n\n\tstatic propTypes = propTypes;\n\n\tstatic defaultProps = defaultProps;\n\n\tconstructor(props) {\n\t\tsuper(props);\n\n\t\tthis.listItemComponents = {};\n\n\t\tthis.state = {\n\t\t\tcurrentSelectedItem: null,\n\t\t\tcurrentFocusedListItem: {\n\t\t\t\tindex: 0,\n\t\t\t\titem: null,\n\t\t\t},\n\t\t};\n\n\t\t// Generates the list item template\n\t\tthis.ListItemWithContent = listItemWithContent(\n\t\t\tprops.listItem || SplitViewListItemContent\n\t\t);\n\t}\n\n\tcomponentDidMount() {\n\t\tthis.focusFirstItem();\n\t}\n\n\tisListItemFocused(item) {\n\t\treturn this.state.currentFocusedListItem.item === item;\n\t}\n\n\tisSelected(item) {\n\t\treturn this.props.selection.includes(item);\n\t}\n\n\tisUnread(item) {\n\t\treturn this.props.unread.includes(item);\n\t}\n\n\thandleKeyDown(event) {\n\t\tif (this.props.multiple && event.key === 'a' && event.ctrlKey) {\n\t\t\t// select / deselect all\n\t\t\teventUtil.trap(event);\n\t\t\tif (this.props.options === this.props.selection) {\n\t\t\t\tthis.deselectAllListItems(event);\n\t\t\t} else {\n\t\t\t\tthis.selectAllListItems(event);\n\t\t\t}\n\t\t} else if (event.key === 'ArrowUp') {\n\t\t\teventUtil.trap(event);\n\t\t\tthis.moveToPreviousItem(event);\n\t\t} else if (event.key === 'ArrowDown') {\n\t\t\teventUtil.trap(event);\n\t\t\tthis.moveToNextItem(event);\n\t\t}\n\t}\n\n\tmoveToNextItem(event) {\n\t\tconst nextFocusIndex =\n\t\t\tthis.state.currentFocusedListItem.index === this.props.options.length - 1\n\t\t\t\t? 0\n\t\t\t\t: this.state.currentFocusedListItem.index + 1;\n\n\t\tthis.moveToIndex(event, nextFocusIndex);\n\t}\n\n\tmoveToPreviousItem(event) {\n\t\tconst previousFocusIndex =\n\t\t\tthis.state.currentFocusedListItem.index === 0\n\t\t\t\t? this.props.options.length - 1\n\t\t\t\t: this.state.currentFocusedListItem.index - 1;\n\n\t\tthis.moveToIndex(event, previousFocusIndex);\n\t}\n\n\tmoveToIndex(event, index) {\n\t\tconst item = this.props.options[index];\n\n\t\tthis.focusItem(item);\n\t}\n\n\tfocusFirstItem() {\n\t\tconst firstSelectedItem =\n\t\t\tthis.props.options.find((item) => this.props.selection.includes(item)) ||\n\t\t\tthis.props.options[0];\n\n\t\tif (firstSelectedItem) {\n\t\t\tthis.focusItem(firstSelectedItem, true);\n\t\t}\n\t}\n\n\tfocusItem(item, setDataOnly) {\n\t\tconst index = this.props.options.indexOf(item);\n\n\t\tif (!setDataOnly) {\n\t\t\tthis.listItemComponents[index].focus();\n\t\t}\n\n\t\tthis.setState({\n\t\t\tcurrentFocusedListItem: {\n\t\t\t\tindex,\n\t\t\t\titem,\n\t\t\t},\n\t\t});\n\t}\n\n\tdeselectAllListItems(event) {\n\t\tthis.setState({ currentSelectedItem: null });\n\t\tthis.props.events.onSelect(event, {\n\t\t\tselectedItems: [],\n\t\t\titem: null,\n\t\t});\n\t}\n\n\tselectAllListItems(event) {\n\t\tthis.props.events.onSelect(event, {\n\t\t\tselectedItems: this.props.options,\n\t\t\titem: this.state.currentSelectedItem,\n\t\t});\n\t}\n\n\tselectListItem(item, event) {\n\t\tlet selectedItems = [item];\n\n\t\tif (this.props.multiple) {\n\t\t\tif (event.metaKey) {\n\t\t\t\tselectedItems = this.props.selection.includes(item)\n\t\t\t\t\t? this.props.selection.filter((i) => i !== item)\n\t\t\t\t\t: [item, ...this.props.selection];\n\t\t\t} else if (event.shiftKey) {\n\t\t\t\t/* eslint-disable fp/no-mutating-methods */\n\t\t\t\tconst [begin, end] = [\n\t\t\t\t\tthis.props.options.indexOf(this.state.currentSelectedItem),\n\t\t\t\t\tthis.props.options.indexOf(item),\n\t\t\t\t].sort();\n\t\t\t\t/* eslint-enable fp/no-mutating-methods */\n\n\t\t\t\tconst addToSelection = this.props.options.slice(begin, end + 1);\n\n\t\t\t\tselectedItems = [\n\t\t\t\t\t...addToSelection,\n\t\t\t\t\t...this.props.selection.filter((i) => !addToSelection.includes(i)),\n\t\t\t\t];\n\t\t\t}\n\t\t}\n\n\t\tthis.setState({ currentSelectedItem: item });\n\n\t\tthis.props.events.onSelect(event, { selectedItems, item });\n\t}\n\n\thandleOnSelect(event, { item }) {\n\t\tthis.selectListItem(item, event);\n\t\tthis.focusItem(item);\n\t}\n\n\tsortDirection() {\n\t\treturn this.props.sortDirection ? (\n\t\t\t<Icon\n\t\t\t\tcategory=\"utility\"\n\t\t\t\tname={\n\t\t\t\t\tthis.props.sortDirection === SORT_OPTIONS.DOWN\n\t\t\t\t\t\t? 'arrowdown'\n\t\t\t\t\t\t: 'arrowup'\n\t\t\t\t}\n\t\t\t\tsize=\"xx-small\"\n\t\t\t\tclassName=\"slds-align-top\"\n\t\t\t/>\n\t\t) : null;\n\t}\n\n\theaderWrapper(children) {\n\t\treturn this.props.events.onSort ? (\n\t\t\t<a\n\t\t\t\taria-live=\"polite\"\n\t\t\t\tstyle={{ borderTop: '0' }}\n\t\t\t\thref=\"javascript:void(0);\" // eslint-disable-line no-script-url\n\t\t\t\trole=\"button\"\n\t\t\t\tclassName=\"slds-split-view__list-header slds-grid slds-text-link_reset\"\n\t\t\t\tonClick={this.props.events.onSort}\n\t\t\t>\n\t\t\t\t{children}\n\t\t\t</a>\n\t\t) : (\n\t\t\t<div\n\t\t\t\tstyle={{ borderTop: '0' }}\n\t\t\t\tclassName=\"slds-split-view__list-header slds-grid\"\n\t\t\t>\n\t\t\t\t{children}\n\t\t\t</div>\n\t\t);\n\t}\n\n\theader() {\n\t\treturn this.props.labels.header\n\t\t\t? this.headerWrapper(\n\t\t\t\t\t<span\n\t\t\t\t\t\taria-sort={\n\t\t\t\t\t\t\tthis.props.sortDirection === SORT_OPTIONS.DOWN\n\t\t\t\t\t\t\t\t? this.props.assistiveText.sort.descending\n\t\t\t\t\t\t\t\t: this.props.assistiveText.sort.ascending\n\t\t\t\t\t\t}\n\t\t\t\t\t>\n\t\t\t\t\t\t<span className=\"slds-assistive-text\">\n\t\t\t\t\t\t\t{this.props.assistiveText.sort.sortedBy}\n\t\t\t\t\t\t\t{': '}\n\t\t\t\t\t\t</span>\n\t\t\t\t\t\t<span>\n\t\t\t\t\t\t\t{this.props.labels.header}\n\t\t\t\t\t\t\t{this.sortDirection()}\n\t\t\t\t\t\t</span>\n\t\t\t\t\t\t<span className=\"slds-assistive-text\">\n\t\t\t\t\t\t\t{'- '}\n\t\t\t\t\t\t\t{this.props.sortDirection === SORT_OPTIONS.DOWN\n\t\t\t\t\t\t\t\t? this.props.assistiveText.sort.descending\n\t\t\t\t\t\t\t\t: this.props.assistiveText.sort.ascending}\n\t\t\t\t\t\t</span>\n\t\t\t\t\t</span>\n\t\t\t )\n\t\t\t: null;\n\t}\n\n\taddListItemComponent(component, index) {\n\t\tthis.listItemComponents[index] = component;\n\t}\n\n\tlistItems() {\n\t\tconst { ListItemWithContent } = this;\n\n\t\treturn this.props.options.map((item, index) => (\n\t\t\t<ListItemWithContent\n\t\t\t\tkey={item.id || index}\n\t\t\t\tassistiveText={{\n\t\t\t\t\tunreadItem: this.props.assistiveText.unreadItem,\n\t\t\t\t}}\n\t\t\t\tlistItemRef={(component) => {\n\t\t\t\t\tthis.addListItemComponent(component, index);\n\t\t\t\t}}\n\t\t\t\titem={item}\n\t\t\t\tisFocused={this.isListItemFocused(item)}\n\t\t\t\tisSelected={this.isSelected(item)}\n\t\t\t\tisUnread={this.isUnread(item)}\n\t\t\t\tevents={{\n\t\t\t\t\tonClick: (event, meta) => this.handleOnSelect(event, meta),\n\t\t\t\t}}\n\t\t\t\tmultiple={this.props.multiple}\n\t\t\t/>\n\t\t));\n\t}\n\n\trender() {\n\t\treturn (\n\t\t\t<div\n\t\t\t\tid={this.props.id}\n\t\t\t\tclassName={classNames(\n\t\t\t\t\t'slds-grid slds-grid_vertical slds-scrollable_none',\n\t\t\t\t\tthis.props.className\n\t\t\t\t)}\n\t\t\t>\n\t\t\t\t{this.header()}\n\t\t\t\t<ul\n\t\t\t\t\tclassName=\"slds-scrollable_y\"\n\t\t\t\t\taria-label={this.props.assistiveText.list}\n\t\t\t\t\taria-multiselectable={this.props.multiple}\n\t\t\t\t\trole=\"listbox\"\n\t\t\t\t\tonKeyDown={(event) => this.handleKeyDown(event)}\n\t\t\t\t>\n\t\t\t\t\t{this.listItems()}\n\t\t\t\t</ul>\n\t\t\t</div>\n\t\t);\n\t}\n}\n\nexport default SplitViewListbox;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n/* eslint-disable import/no-mutable-exports */\n/* eslint-disable max-len */\n\nimport onlyOneOfProperties from '../../utilities/warning/only-one-of-properties';\nimport sunsetProperty from '../../utilities/warning/sunset-property';\nimport getComponentDocFn from '../../utilities/get-component-doc';\n\nlet checkProps = function checkPropsFunction() {};\n\nif (process.env.NODE_ENV !== 'production') {\n\tcheckProps = function checkPropsFunction(COMPONENT, props, jsonDoc) {\n\t\tconst createDocUrl = getComponentDocFn(jsonDoc);\n\n\t\tonlyOneOfProperties(\n\t\t\tCOMPONENT,\n\t\t\t{\n\t\t\t\tassistiveText: props.assistiveText,\n\t\t\t\tlabel: props.label,\n\t\t\t},\n\t\t\tcreateDocUrl()\n\t\t);\n\n\t\tif (typeof props.assistiveText === 'string') {\n\t\t\tsunsetProperty(\n\t\t\t\tCOMPONENT,\n\t\t\t\tprops.assistiveText,\n\t\t\t\t'assistiveText',\n\t\t\t\t`\\`assistiveText\\` as a string has been deprecated and is now an object to allow for multiple uses in the component. Please use \\`assistiveText.label\\` instead. ${createDocUrl(\n\t\t\t\t\t'assistiveText'\n\t\t\t\t)}`\n\t\t\t);\n\t\t}\n\t};\n}\n\nexport default checkProps;\n","/* eslint-disable react/jsx-curly-brace-presence */\n/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n/* eslint-disable jsx-a11y/no-autofocus */\n\n// # Textarea Component\n\n// Implements the [Textarea design pattern](https://lightningdesignsystem.com/components/textarea).\n// Based on SLDS v2.4.0\n//\n\n// ### React\nimport React from 'react';\n\nimport PropTypes from 'prop-types';\n\n// ### classNames\n// [github.com/JedWatson/classnames](https://github.com/JedWatson/classnames)\n// This project uses `classnames`, \"a simple javascript utility for conditionally\n// joining classNames together.\"\nimport classNames from 'classnames';\n\n// ### shortid\n// [npmjs.com/package/shortid](https://www.npmjs.com/package/shortid)\n// shortid is a short, non-sequential, url-friendly, unique id generator\nimport shortid from 'shortid';\n\n// ## Children\n// This component's `checkProps` which issues warnings to developers about properties when in development mode (similar to React's built in development tools)\nimport checkProps from './check-props';\n\nimport { TEXTAREA } from '../../utilities/constants';\nimport getAriaProps from '../../utilities/get-aria-props';\n\nimport componentDoc from './component.json';\n\n/**\n * A multi-line plain-text editing control.\n */\nclass Textarea extends React.Component {\n\tstatic displayName = TEXTAREA;\n\n\tstatic propTypes = {\n\t\t/**\n\t\t * **Assistive text for accessibility.**\n\t\t * * `label`: If present, the label associated with this `textarea` is overwritten by this text and is visually not shown.\n\t\t */\n\t\tassistiveText: PropTypes.shape({\n\t\t\tlabel: PropTypes.string,\n\t\t}),\n\t\t/**\n\t\t * The aria-activedescendant attribute contains the ID of the currently active child object that is part of a composite widget within the Document Object Model. It makes do with the overhead of having all or more than one child focusable. As the name specifies, it helps in managing the current active child of the composite widget.\n\t\t */\n\t\t'aria-activedescendant': PropTypes.string,\n\t\t/**\n\t\t * Indicates if the suggestions in a composite widget are values that complete the current textbox input.\n\t\t */\n\t\t'aria-autocomplete': PropTypes.string,\n\t\t/**\n\t\t * An HTML ID that is shared with ARIA-supported devices with the\n\t\t * `aria-controls` attribute in order to relate the input with\n\t\t * another region of the page. An example would be a select box\n\t\t * that shows or hides a panel.\n\t\t */\n\t\t'aria-controls': PropTypes.string,\n\t\t/**\n\t\t * The `aria-describedby` attribute is used to indicate the IDs of the elements that describe the object. It is used to establish a relationship between widgets or groups and text that described them. This is very similar to aria-labelledby: a label describes the essence of an object, while a description provides more information that the user might need.\n\t\t */\n\t\t'aria-describedby': PropTypes.string,\n\t\t/**\n\t\t * Use the `aria-expanded` state to indicate whether regions of the content are collapsible, and to expose whether a region is currently expanded or collapsed.\n\t\t */\n\t\t'aria-expanded': PropTypes.bool,\n\t\t/**\n\t\t * Indicates that the element has a popup context menu or sub-level menu.\n\t\t */\n\t\t'aria-haspopup': PropTypes.bool,\n\t\t/**\n\t\t * The aria-labelledby attribute contains the element IDs of labels in objects such as input elements, widgets, and groups. The attribute establishes relationships between objects and their labels. Assistive technology, such as screen readers, use this attribute to catalog the objects in a document so that users can navigate between them. Without an element ID, the assistive technology cannot catalog the object.\n\t\t */\n\t\t'aria-labelledby': PropTypes.string,\n\t\t/**\n\t\t * An HTML ID that is shared with ARIA-supported devices with the\n\t\t * `aria-controls` attribute in order to relate the input with\n\t\t * another region of the page. An example would be a search field\n\t\t * that shows search results.\n\t\t */\n\t\t'aria-owns': PropTypes.string,\n\t\t/**\n\t\t * The `aria-required` attribute is used to indicate that user input is required on an element before a form can be submitted.\n\t\t */\n\t\t'aria-required': PropTypes.bool,\n\t\t/**\n\t\t * Specifies is the textarea should automatically get focus when the page loads. This is typically a poor user experience.\n\t\t */\n\t\tautoFocus: PropTypes.bool,\n\t\t/**\n\t\t * Elements are added after the `textarea`.\n\t\t */\n\t\tchildren: PropTypes.node,\n\t\t/**\n\t\t * Class names to be added to the textarea component.\n\t\t */\n\t\tclassName: PropTypes.oneOfType([\n\t\t\tPropTypes.array,\n\t\t\tPropTypes.object,\n\t\t\tPropTypes.string,\n\t\t]),\n\t\t/** Allows for ability to apply classNames to outer textarea div.\n\t\t */\n\t\tclassNameContainer: PropTypes.oneOfType([\n\t\t\tPropTypes.array,\n\t\t\tPropTypes.object,\n\t\t\tPropTypes.string,\n\t\t]),\n\t\t/**\n\t\t * Disables the textarea and prevents editing the contents.\n\t\t */\n\t\tdisabled: PropTypes.bool,\n\t\t/**\n\t\t * Message to display when the textarea is in an error state. When this is present, also visually highlights the component as in error.\n\t\t */\n\t\terrorText: PropTypes.string,\n\t\t/**\n\t\t * Every textarea must have a unique ID in order to support keyboard navigation and ARIA support.\n\t\t */\n\t\tid: PropTypes.string,\n\t\t/**\n\t\t * This callback exposes the textarea reference / DOM node to parent components. `<Parent textareaRef={(textareaComponent) => this.textarea = textareaComponent} />\n\t\t */\n\t\ttextareaRef: PropTypes.func,\n\t\t/**\n\t\t * This label appears above the textarea.\n\t\t */\n\t\tlabel: PropTypes.string,\n\t\t/**\n\t\t * Triggered when focus is removed.\n\t\t */\n\t\tonBlur: PropTypes.func,\n\t\t/**\n\t\t * This callback fires when the textarea changes. The synthetic React event will be the first parameter to the callback. You will probably want to reference `event.target.value` in your callback. No custom data object is provided.\n\t\t */\n\t\tonChange: PropTypes.func,\n\t\t/**\n\t\t * This event fires when the textarea is clicked.\n\t\t */\n\t\tonClick: PropTypes.func,\n\t\t/**\n\t\t * Triggered when component is focused.\n\t\t */\n\t\tonFocus: PropTypes.func,\n\t\t/**\n\t\t * Similar to `onchange`. Triggered when an element gets user input.\n\t\t */\n\t\tonInput: PropTypes.func,\n\t\t/**\n\t\t * Triggered when a submittable <input> element is invalid.\n\t\t */\n\t\tonInvalid: PropTypes.func,\n\t\t/**\n\t\t * Triggered when a key is pressed down\n\t\t */\n\t\tonKeyDown: PropTypes.func,\n\t\t/**\n\t\t * Triggered when a key is pressed and released\n\t\t */\n\t\tonKeyPress: PropTypes.func,\n\t\t/**\n\t\t * Triggered when a key is released\n\t\t */\n\t\tonKeyUp: PropTypes.func,\n\t\t/**\n\t\t * Triggered after some text has been selected in an element.\n\t\t */\n\t\tonSelect: PropTypes.func,\n\t\t/**\n\t\t * Fires when a form is submitted.\n\t\t */\n\t\tonSubmit: PropTypes.func,\n\t\t/**\n\t\t * Maximum number of characters allowed.\n\t\t */\n\t\tmaxLength: PropTypes.string,\n\t\t/**\n\t\t * Name of the submitted form parameter.\n\t\t */\n\t\tname: PropTypes.string,\n\t\t/**\n\t\t * Text that will appear in an empty textarea.\n\t\t */\n\t\tplaceholder: PropTypes.string,\n\t\t/**\n\t\t * Highlights the textarea as a required field (does not perform any validation).\n\t\t */\n\t\trequired: PropTypes.bool,\n\t\t/**\n\t\t * The textarea is a controlled component, and will always display this value.\n\t\t */\n\t\tvalue: PropTypes.string,\n\t\t/**\n\t\t * The textarea is a uncontrolled component, and this will be the initial value.\n\t\t */\n\t\tdefaultValue: PropTypes.string,\n\t\t/**\n\t\t * Specifies how the text in a text area is to be wrapped when submitted in a form.\n\t\t */\n\t\twrap: PropTypes.oneOf(['soft', 'hard']),\n\t};\n\n\tconstructor(props) {\n\t\tsuper(props);\n\n\t\t// `checkProps` issues warnings to developers about properties (similar to React's built in development tools)\n\t\tcheckProps(TEXTAREA, props, componentDoc);\n\n\t\tthis.generatedId = shortid.generate();\n\t\tif (props.errorText) {\n\t\t\tthis.generatedErrorId = shortid.generate();\n\t\t}\n\t}\n\n\tgetId = () => this.props.id || this.generatedId;\n\n\tgetErrorId = () => this.props['aria-describedby'] || this.generatedErrorId;\n\n\t// ### Render\n\trender() {\n\t\tconst {\n\t\t\tautoFocus,\n\t\t\tchildren,\n\t\t\tclassName,\n\t\t\tclassNameContainer,\n\t\t\tdisabled,\n\t\t\terrorText,\n\t\t\ttextareaRef, // eslint-disable-line react/prop-types\n\t\t\tlabel,\n\t\t\tonBlur,\n\t\t\tonChange,\n\t\t\tonClick,\n\t\t\tonFocus,\n\t\t\tonInput,\n\t\t\tonInvalid,\n\t\t\tonKeyDown,\n\t\t\tonKeyPress,\n\t\t\tonKeyUp,\n\t\t\tonSelect,\n\t\t\tonSubmit,\n\t\t\tmaxLength,\n\t\t\tname,\n\t\t\tplaceholder,\n\t\t\trequired,\n\t\t\trole,\n\t\t\tvalue,\n\t\t\tdefaultValue,\n\t\t\twrap,\n\n\t\t\t// ### Additional properties\n\t\t\t// Using [object destructuring](https://facebook.github.io/react/docs/transferring-props.html#transferring-with-...-in-jsx) to pass on any properties which are not explicitly defined.\n\t\t\t// ...props // Uncomment this if you actually need to send the rest of the props to other elements\n\t\t} = this.props;\n\n\t\tconst ariaProps = getAriaProps(this.props);\n\t\tconst assistiveTextLabel =\n\t\t\ttypeof this.props.assistiveText === 'string'\n\t\t\t\t? this.props.assistiveText\n\t\t\t\t: {\n\t\t\t\t\t\t...this.props.assistiveText,\n\t\t\t\t }.label;\n\n\t\tconst labelText = label || assistiveTextLabel; // One of these is required to pass accessibility tests\n\n\t\treturn (\n\t\t\t<div\n\t\t\t\tclassName={classNames(\n\t\t\t\t\t'slds-form-element',\n\t\t\t\t\t{\n\t\t\t\t\t\t'slds-has-error': errorText,\n\t\t\t\t\t},\n\t\t\t\t\tclassNameContainer\n\t\t\t\t)}\n\t\t\t>\n\t\t\t\t{labelText && (\n\t\t\t\t\t<label\n\t\t\t\t\t\tclassName={classNames('slds-form-element__label', {\n\t\t\t\t\t\t\t'slds-assistive-text': assistiveTextLabel && !label,\n\t\t\t\t\t\t})}\n\t\t\t\t\t\thtmlFor={this.getId()}\n\t\t\t\t\t>\n\t\t\t\t\t\t{required && (\n\t\t\t\t\t\t\t<abbr className=\"slds-required\" title=\"required\">\n\t\t\t\t\t\t\t\t{'*'}\n\t\t\t\t\t\t\t</abbr>\n\t\t\t\t\t\t)}\n\t\t\t\t\t\t{labelText}\n\t\t\t\t\t</label>\n\t\t\t\t)}\n\t\t\t\t<div className={classNames('slds-form-element__control')}>\n\t\t\t\t\t<textarea\n\t\t\t\t\t\tclassName={classNames('slds-textarea', className)}\n\t\t\t\t\t\tautoFocus={autoFocus}\n\t\t\t\t\t\tdisabled={disabled}\n\t\t\t\t\t\tid={this.getId()}\n\t\t\t\t\t\tmaxLength={maxLength}\n\t\t\t\t\t\tname={name}\n\t\t\t\t\t\tonBlur={onBlur}\n\t\t\t\t\t\tonChange={onChange}\n\t\t\t\t\t\tonClick={onClick}\n\t\t\t\t\t\tonFocus={onFocus}\n\t\t\t\t\t\tonInput={onInput}\n\t\t\t\t\t\tonInvalid={onInvalid}\n\t\t\t\t\t\tonKeyDown={onKeyDown}\n\t\t\t\t\t\tonKeyPress={onKeyPress}\n\t\t\t\t\t\tonKeyUp={onKeyUp}\n\t\t\t\t\t\tonSelect={onSelect}\n\t\t\t\t\t\tonSubmit={onSubmit}\n\t\t\t\t\t\tplaceholder={placeholder}\n\t\t\t\t\t\tref={textareaRef}\n\t\t\t\t\t\trole={role}\n\t\t\t\t\t\trequired={required}\n\t\t\t\t\t\twrap={wrap}\n\t\t\t\t\t\tvalue={value}\n\t\t\t\t\t\tdefaultValue={defaultValue}\n\t\t\t\t\t\t{...ariaProps}\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t\t{errorText && (\n\t\t\t\t\t<div id={this.getErrorId()} className=\"slds-form-element__help\">\n\t\t\t\t\t\t{errorText}\n\t\t\t\t\t</div>\n\t\t\t\t)}\n\t\t\t\t{children}\n\t\t\t</div>\n\t\t);\n\t}\n}\n\nexport default Textarea;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n/* eslint-disable import/no-mutable-exports */\n\nimport deprecatedProperty from '../../utilities/warning/deprecated-property';\nimport getComponentDocFn from '../../utilities/get-component-doc';\n\nlet checkProps = function checkPropsFunction() {};\n\nif (process.env.NODE_ENV !== 'production') {\n\tcheckProps = function checkPropsFunction(COMPONENT, props, jsonDoc) {\n\t\tconst createDocUrl = getComponentDocFn(jsonDoc);\n\t\tdeprecatedProperty(\n\t\t\tCOMPONENT,\n\t\t\tprops.isInline,\n\t\t\t'isInline',\n\t\t\t'menuPosition=\"relative\"',\n\t\t\tcreateDocUrl('menuPosition')\n\t\t);\n\t};\n}\n\nexport default checkProps;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// # Timepicker Dropdown Trigger\n\n// ## Dependencies\n\n// ### React\nimport React from 'react';\n\nimport PropTypes from 'prop-types';\n\n// ### Children\nimport Input from '../../input';\n\n// ### Event Helpers\nimport KEYS from '../../../utilities/key-code';\n\n// ## Constants\nimport { MENU_DROPDOWN_TRIGGER } from '../../../utilities/constants';\n\n/**\n * Component description.\n */\nclass TimepickerDropdownTrigger extends React.Component {\n\t// ### Display Name\n\t// Always use the canonical component name (set in the core) as the React\n\t// display name.\n\tstatic displayName = MENU_DROPDOWN_TRIGGER;\n\n\t// ### Prop Types\n\tstatic propTypes = {\n\t\t/**\n\t\t * Icon for right side of trigger\n\t\t */\n\t\ticonRight: PropTypes.node,\n\t\t/**\n\t\t * A unique ID is needed in order to support keyboard navigation, ARIA support, and connect the dropdown to the triggering input.\n\t\t */\n\t\tid: PropTypes.string,\n\t\t/**\n\t\t * This label appears above the input.\n\t\t */\n\t\tlabel: PropTypes.string,\n\t\t/**\n\t\t * The dropdown menu.\n\t\t */\n\t\tmenu: PropTypes.node,\n\t\t/**\n\t\t * Is only called when `openOn` is set to `hover` and when the triggering input loses focus.\n\t\t */\n\t\tonBlur: PropTypes.func,\n\t\t/**\n\t\t * This prop is passed onto the triggering `Input`. Triggered when the trigger input is clicked.\n\t\t */\n\t\tonClick: PropTypes.func,\n\t\t/**\n\t\t * Is only called when `openOn` is set to `hover` and when the triggering input gains focus.\n\t\t */\n\t\tonFocus: PropTypes.func,\n\t\t/**\n\t\t * Called when a key pressed.\n\t\t */\n\t\tonKeyDown: PropTypes.func,\n\t\t/**\n\t\t * Called when mouse clicks down on the trigger input.\n\t\t */\n\t\tonMouseDown: PropTypes.func,\n\t\t/**\n\t\t * The ref of the actual triggering input.\n\t\t */\n\t\ttriggerRef: PropTypes.func,\n\t\t/**\n\t\t * Date\n\t\t */\n\t\tvalue: PropTypes.string,\n\t};\n\n\thandleKeyDown = (event) => {\n\t\tif (this.props.onKeyDown && event.keyCode) {\n\t\t\tif (\n\t\t\t\tevent.keyCode === KEYS.ENTER ||\n\t\t\t\tevent.keyCode === KEYS.DOWN ||\n\t\t\t\tevent.keyCode === KEYS.UP ||\n\t\t\t\tevent.keyCode === KEYS.ESCAPE\n\t\t\t) {\n\t\t\t\tthis.props.onKeyDown(event);\n\t\t\t}\n\t\t}\n\t};\n\n\t// ### Render\n\trender() {\n\t\tconst {\n\t\t\ticonRight,\n\t\t\tmenu,\n\t\t\tonBlur,\n\t\t\tonFocus,\n\t\t\tonKeyDown, // eslint-disable-line no-unused-vars\n\t\t\tonMouseDown,\n\t\t\ttriggerRef,\n\t\t\t...props\n\t\t} = this.props;\n\n\t\treturn (\n\t\t\t/* eslint-disable jsx-a11y/no-static-element-interactions */\n\t\t\t<div\n\t\t\t\tonBlur={onBlur}\n\t\t\t\tonFocus={onFocus}\n\t\t\t\tonKeyDown={this.handleKeyDown}\n\t\t\t\tonMouseDown={onMouseDown}\n\t\t\t>\n\t\t\t\t{/* eslint-enable jsx-a11y/no-static-element-interactions */}\n\t\t\t\t<Input iconRight={iconRight} {...props} inputRef={triggerRef}>\n\t\t\t\t\t{menu}\n\t\t\t\t</Input>\n\t\t\t</div>\n\t\t);\n\t}\n}\n\nexport default TimepickerDropdownTrigger;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// # Timepicker Component\n\n// ## Dependencies\n\n// ### React\nimport React from 'react';\n\nimport PropTypes from 'prop-types';\n\n// ### isDate\nimport isDate from 'lodash.isdate';\n\n// This component's `checkProps` which issues warnings to developers about properties when in development mode (similar to React's built in development tools)\nimport checkProps from './check-props';\n\n// ### Dropdown\nimport InputIcon from '../icon/input-icon';\nimport MenuDropdown from '../menu-dropdown';\nimport TimepickerDropdownTrigger from './private/dropdown-trigger';\n\n// ## Constants\nimport { TIME_PICKER } from '../../utilities/constants';\n\nimport componentDoc from './component.json';\n\nconst getOptions = ({ props }) => {\n\tconst baseDate = new Date();\n\tconst options = [];\n\n\tbaseDate.setHours(0);\n\tbaseDate.setMinutes(0);\n\tbaseDate.setSeconds(0);\n\tbaseDate.setMilliseconds(0);\n\n\tconst curDate = new Date(baseDate);\n\n\t// eslint-disable-next-line fp/no-loops\n\twhile (baseDate.getDate() === curDate.getDate()) {\n\t\tconst formatted = props.formatter(curDate);\n\n\t\t// eslint-disable-next-line fp/no-mutating-methods\n\t\toptions.push({\n\t\t\tlabel: formatted,\n\t\t\tvalue: new Date(curDate),\n\t\t});\n\n\t\tcurDate.setMinutes(curDate.getMinutes() + props.stepInMinutes);\n\t}\n\n\treturn options;\n};\n\n/**\n * Component description.\n */\nclass Timepicker extends React.Component {\n\t// ### Display Name\n\t// Always use the canonical component name as the React display name.\n\tstatic displayName = TIME_PICKER;\n\n\t// ### Prop Types\n\tstatic propTypes = {\n\t\t/**\n\t\t * If true, constrains the menu to the scroll parent. See `Dropdown`.\n\t\t */\n\t\tconstrainToScrollParent: PropTypes.bool,\n\t\t/**\n\t\t * Disables the input and prevents editing the contents.\n\t\t */\n\t\tdisabled: PropTypes.bool,\n\t\t/**\n\t\t * Time formatting function\n\t\t */\n\t\tformatter: PropTypes.func,\n\t\t/**\n\t\t * Sets the dialog width to the width of the target. Menus attached to `input` typically follow this UX pattern.\n\t\t */\n\t\tinheritTargetWidth: PropTypes.bool,\n\t\t/**\n\t\t * This label appears above the input.\n\t\t */\n\t\tlabel: PropTypes.string,\n\t\t/**\n\t\t * Custom element that overrides the default Menu Item component.\n\t\t */\n\t\tlistItemRenderer: PropTypes.func,\n\t\t/**\n\t\t * Please select one of the following:\n\t\t * * `absolute` - (default) The dialog will use `position: absolute` and style attributes to position itself. This allows inverted placement or flipping of the dialog.\n\t\t * * `overflowBoundaryElement` - The dialog will overflow scrolling parents. Use on elements that are aligned to the left or right of their target and don't care about the target being within a scrolling parent. Typically this is a popover or tooltip. Dropdown menus can usually open up and down if no room exists. In order to achieve this a portal element will be created and attached to `body`. This element will render into that detached render tree.\n\t\t * * `relative` - No styling or portals will be used. Menus will be positioned relative to their triggers. This is a great choice for HTML snapshot testing.\n\t\t */\n\t\tmenuPosition: PropTypes.oneOf([\n\t\t\t'absolute',\n\t\t\t'overflowBoundaryElement',\n\t\t\t'relative',\n\t\t]),\n\t\t/**\n\t\t * Receives the props `(dateValue, stringValue)`\n\t\t */\n\t\tonDateChange: PropTypes.func,\n\t\t/**\n\t\t * Parsing date string into Date\n\t\t */\n\t\tparser: PropTypes.func,\n\t\t/**\n\t\t * Text that will appear in an empty input.\n\t\t */\n\t\tplaceholder: PropTypes.string,\n\t\t/**\n\t\t * If true, adds asterisk next to input label to indicate it is a required field.\n\t\t */\n\t\trequired: PropTypes.bool,\n\t\t/**\n\t\t * Frequency of options\n\t\t */\n\t\tstepInMinutes: PropTypes.number,\n\t\t/**\n\t\t * Value for input that is parsed to create an internal state in the `date` format.\n\t\t */\n\t\tstrValue: PropTypes.string,\n\t\t/**\n\t\t * Instance an internal state in the `date` format.\n\t\t */\n\t\tvalue: PropTypes.instanceOf(Date),\n\t};\n\n\tstatic defaultProps = {\n\t\tformatter(date) {\n\t\t\tif (date) {\n\t\t\t\treturn date.toLocaleTimeString(navigator.language, {\n\t\t\t\t\thour: '2-digit',\n\t\t\t\t\tminute: '2-digit',\n\t\t\t\t});\n\t\t\t}\n\n\t\t\treturn null;\n\t\t},\n\t\tparser(timeStr) {\n\t\t\tconst date = new Date();\n\t\t\tconst dateStr = date.toLocaleString(navigator.language, {\n\t\t\t\tyear: 'numeric',\n\t\t\t\tmonth: 'numeric',\n\t\t\t\tday: 'numeric',\n\t\t\t});\n\t\t\treturn new Date(`${dateStr} ${timeStr}`);\n\t\t},\n\t\tmenuPosition: 'absolute',\n\t\tvalue: null,\n\t\tstepInMinutes: 30,\n\t};\n\n\tstate = {\n\t\tvalue: this.props.value,\n\t\tstrValue: this.props.strValue,\n\t\toptions: getOptions({ props: this.props }),\n\t};\n\n\tconstructor(props) {\n\t\tsuper(props);\n\n\t\t// `checkProps` issues warnings to developers about properties (similar to React's built in development tools)\n\t\tcheckProps(TIME_PICKER, props, componentDoc);\n\t}\n\n\t// eslint-disable-next-line camelcase, react/sort-comp\n\tUNSAFE_componentWillReceiveProps(nextProps) {\n\t\tif (nextProps.value && this.props.value) {\n\t\t\tconst currentTime = this.props.value.getTime();\n\t\t\tconst nextTime = nextProps.value.getTime();\n\n\t\t\tif (currentTime !== nextTime) {\n\t\t\t\tthis.setState({\n\t\t\t\t\tvalue: nextProps.value,\n\t\t\t\t\tstrValue: this.props.formatter(nextProps.value),\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t\tif (nextProps.strValue !== this.props.value) {\n\t\t\tthis.setState({ strValue: nextProps.strValue });\n\t\t}\n\t}\n\n\tparseDate = (strValue) => {\n\t\tconst newDate = this.props.parser(strValue);\n\n\t\tif (isDate(newDate)) {\n\t\t\tif (!isNaN(newDate.getTime())) {\n\t\t\t\treturn newDate;\n\t\t\t}\n\t\t}\n\n\t\treturn new Date();\n\t};\n\n\thandleChange = (date, strValue) => {\n\t\tthis.setState({\n\t\t\tvalue: date,\n\t\t\tstrValue,\n\t\t});\n\n\t\tif (this.props.onDateChange) {\n\t\t\tthis.props.onDateChange(date, strValue);\n\t\t}\n\t};\n\n\thandleSelect = (val) => {\n\t\tif (val && val.value) {\n\t\t\tthis.handleChange(val.value, val.label);\n\t\t}\n\t};\n\n\thandleInputChange = (event) => {\n\t\tconst strValue = event.target.value;\n\n\t\tthis.setState({\n\t\t\tstrValue,\n\t\t});\n\n\t\tif (this.props.onDateChange) {\n\t\t\tconst parsedDate = this.props.parser(strValue);\n\t\t\tthis.props.onDateChange(parsedDate, strValue);\n\t\t}\n\t};\n\n\t// ### Render\n\trender() {\n\t\treturn (\n\t\t\t<MenuDropdown\n\t\t\t\tcheckmark={false}\n\t\t\t\tconstrainToScrollParent={this.props.constrainToScrollParent}\n\t\t\t\tdisabled={this.props.disabled}\n\t\t\t\tinheritTargetWidth={this.props.inheritTargetWidth}\n\t\t\t\tlabel={this.props.label}\n\t\t\t\tlistItemRenderer={this.props.listItemRenderer}\n\t\t\t\t// inline style override\n\t\t\t\tmenuStyle={{\n\t\t\t\t\tmaxHeight: '20em',\n\t\t\t\t\toverflowX: 'hidden',\n\t\t\t\t\tminWidth: '100%',\n\t\t\t\t}}\n\t\t\t\tmenuPosition={this.props.menuPosition}\n\t\t\t\tonSelect={this.handleSelect}\n\t\t\t\toptions={this.state.options}\n\t\t\t>\n\t\t\t\t<TimepickerDropdownTrigger\n\t\t\t\t\ticonRight={<InputIcon category=\"utility\" name=\"clock\" />}\n\t\t\t\t\tonChange={this.handleInputChange}\n\t\t\t\t\tplaceholder={this.props.placeholder}\n\t\t\t\t\trequired={this.props.required}\n\t\t\t\t\ttype=\"text\"\n\t\t\t\t\tvalue={this.state.strValue}\n\t\t\t\t/>\n\t\t\t</MenuDropdown>\n\t\t);\n\t}\n}\n\nexport default Timepicker;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n/* eslint-disable import/no-mutable-exports */\n\nimport sunsetProperty from '../../utilities/warning/sunset-property';\nimport getComponentDocFn from '../../utilities/get-component-doc';\n\nlet checkProps = function checkPropsFunction() {};\n\nif (process.env.NODE_ENV !== 'production') {\n\tcheckProps = function checkPropsFunction(COMPONENT, props, jsonDoc) {\n\t\tconst createDocUrl = getComponentDocFn(jsonDoc);\n\n\t\t/* eslint-disable max-len */\n\t\tsunsetProperty(\n\t\t\tCOMPONENT,\n\t\t\tprops.iconCategory,\n\t\t\t'iconCategory',\n\t\t\t`Use \\`Icon\\` instead. ${createDocUrl('icon')}`\n\t\t);\n\t\tsunsetProperty(\n\t\t\tCOMPONENT,\n\t\t\tprops.iconName,\n\t\t\t'iconName',\n\t\t\t`Use \\`Icon\\` instead. ${createDocUrl('icon')}`\n\t\t);\n\n\t\tsunsetProperty(\n\t\t\tCOMPONENT,\n\t\t\tprops.content,\n\t\t\t'content',\n\t\t\t`Use \\`labels.heading\\` and \\`labels.headingLink\\` instead. ${createDocUrl(\n\t\t\t\t'labels'\n\t\t\t)}`\n\t\t);\n\t\tsunsetProperty(\n\t\t\tCOMPONENT,\n\t\t\tprops.isOpen,\n\t\t\t'isOpen',\n\t\t\t`Use a conditional outside of alert. ${createDocUrl()}`\n\t\t);\n\t\tsunsetProperty(\n\t\t\tCOMPONENT,\n\t\t\tprops.isOpen,\n\t\t\t'onDismiss',\n\t\t\t`Use \\`onRequestClose\\` instead. ${createDocUrl('onRequestClose')}`\n\t\t);\n\t\tsunsetProperty(COMPONENT, props.texture, 'texture', createDocUrl());\n\t\tsunsetProperty(\n\t\t\tCOMPONENT,\n\t\t\tprops.theme,\n\t\t\t'theme',\n\t\t\t`Use \\`variant\\` instead. ${createDocUrl('variant')}`\n\t\t);\n\t};\n}\n\nexport default checkProps;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// # Toast Component\n\n// Implements the [Toast design pattern](https://lightningdesignsystem.com/components/toasts/) in React.\n\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\nimport assign from 'lodash.assign';\n\nimport classNames from '../../utilities/class-names';\nimport Button from '../button';\nimport Icon from '../icon';\nimport checkProps from './check-props';\nimport { TOAST } from '../../utilities/constants';\nimport DOMElementFocus from '../../utilities/dom-element-focus';\nimport componentDoc from './component.json';\n\nconst propTypes = {\n\t/**\n\t * **Assistive text for accessibility**\n\t * This object is merged with the default props object on every render.\n\t * * `closeButton`: This is a visually hidden label for the close button.\n\t * * `error`: This is a visually hidden label to mark the toast as an error variant\n\t * * `info`: This is a visually hidden label to mark the toast as an info variant\n\t * * `success`: This is a visually hidden label to mark the toast as an success variant\n\t * * `warning`: This is a visually hidden label to mark the toast as an warning variant\n\t * _Tested with snapshot testing._\n\t */\n\tassistiveText: PropTypes.shape({\n\t\tcloseButton: PropTypes.oneOfType([PropTypes.string, PropTypes.node]),\n\t}),\n\t/**\n\t * CSS classes to be added to tag with `.slds-notify_toast`. Uses `classNames` [API](https://github.com/JedWatson/classnames).\n\t * _Tested with snapshot testing._\n\t */\n\tclassName: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\t/**\n\t * If duration exists, the Toast will disappear after that amount of time. Time in milliseconds. _Tested with Mocha testing._\n\t */\n\tduration: PropTypes.number,\n\t/**\n\t * **Text labels for internationalization**\n\t * This object is merged with the default props object on every render.\n\t * * `details`: Secondary text below heading\n\t * * `heading`: text within heading tag\n\t * * `headingLink`: Text of link that triggers `onClickHeadingLink`. Inline links should pass a keyed array of React components into `labels.heading`.\n\t *\n\t * _Tested with snapshot testing._\n\t */\n\tlabels: PropTypes.shape({\n\t\tdetails: PropTypes.oneOfType([PropTypes.string, PropTypes.node]),\n\t\theading: PropTypes.oneOfType([PropTypes.string, PropTypes.node]),\n\t\theadingLink: PropTypes.oneOfType([PropTypes.string, PropTypes.node]),\n\t}),\n\t/**\n\t * Triggered by link. _Tested with Mocha testing._\n\t */\n\tonClickHeadingLink: PropTypes.func,\n\t/**\n\t * Icon of type `~/components/icon`. This icon will be cloned and additional props appended. The default icons are:\n\t * * info variant: `utility:info`\n\t * * error variant: `utility:error`\n\t * * success variant: `utility:success`\n\t * * warning variant: `utility:warning`\n\t *\n\t * _Tested with snapshot testing._\n\t */\n\ticon: PropTypes.node,\n\t/**\n\t * Triggered by close button. _Tested with Mocha testing._\n\t */\n\tonRequestClose: PropTypes.func,\n\t/**\n\t * Custom styles to be passed to the component. _Tested with Mocha testing._\n\t */\n\tstyle: PropTypes.object,\n\t/**\n\t * The type of Toast. _Tested with snapshot testing._\n\t */\n\tvariant: PropTypes.oneOf(['error', 'info', 'success', 'warning']).isRequired,\n};\n\nconst defaultProps = {\n\tassistiveText: {\n\t\tcloseButton: 'Close',\n\t\terror: 'error',\n\t\tinfo: 'info',\n\t\tsuccess: 'success',\n\t\twarning: 'warning',\n\t},\n\tvariant: 'info',\n};\n\n/**\n * Toast serves as a feedback & confirmation mechanism after the user takes an action. View [banner guidelines](https://www.lightningdesignsystem.com/guidelines/messaging/components/banners/).\n */\n\nclass Toast extends React.Component {\n\tconstructor(props) {\n\t\tsuper(props);\n\t\tthis.state = {\n\t\t\tisInitialRender: true,\n\t\t};\n\t\tthis.timeout = null;\n\t\tthis.toast = null;\n\n\t\t// `checkProps` issues warnings to developers about properties (similar to React's built in development tools)\n\t\tcheckProps(TOAST, props, componentDoc);\n\t}\n\n\tcomponentDidMount() {\n\t\tif (this.props.duration) {\n\t\t\tthis.timeout = setTimeout(() => {\n\t\t\t\tthis.onClose();\n\t\t\t}, this.props.duration);\n\t\t}\n\t}\n\n\tcomponentWillUnmount() {\n\t\tthis.clearTimeout();\n\t\tDOMElementFocus.returnFocusToStoredElement();\n\t}\n\n\tonClose = () => {\n\t\tthis.clearTimeout();\n\n\t\tif (this.props.onRequestClose) {\n\t\t\tthis.props.onRequestClose();\n\t\t}\n\t};\n\n\tclearTimeout = () => {\n\t\tif (this.timeout) {\n\t\t\tclearTimeout(this.timeout);\n\t\t\tthis.timeout = null;\n\t\t}\n\t};\n\n\tsaveToastRef = (toast) => {\n\t\tthis.toast = toast;\n\t\tif (this.state.isInitialRender) {\n\t\t\tDOMElementFocus.storeActiveElement();\n\t\t\tif (this.toast) {\n\t\t\t\tthis.toast.focus();\n\t\t\t}\n\t\t\tthis.setState({ isInitialRender: false });\n\t\t}\n\t};\n\n\trender() {\n\t\t// Merge objects of strings with their default object\n\t\tconst assistiveText = assign(\n\t\t\t{},\n\t\t\tdefaultProps.assistiveText,\n\t\t\tthis.props.assistiveText\n\t\t);\n\t\tconst labels = assign({}, defaultProps.labels, this.props.labels);\n\t\tconst heading = labels.heading || this.props.content; // eslint-disable-line react/prop-types\n\n\t\tconst assistiveTextVariant = {\n\t\t\tinfo: assistiveText.info,\n\t\t\tsuccess: assistiveText.success,\n\t\t\twarning: assistiveText.warning,\n\t\t\terror: assistiveText.error,\n\t\t};\n\n\t\tconst defaultIcons = {\n\t\t\tinfo: <Icon category=\"utility\" name=\"info\" />,\n\t\t\tsuccess: <Icon category=\"utility\" name=\"success\" />,\n\t\t\twarning: <Icon category=\"utility\" name=\"warning\" />,\n\t\t\terror: <Icon category=\"utility\" name=\"error\" />,\n\t\t};\n\n\t\tconst icon = this.props.icon\n\t\t\t? this.props.icon\n\t\t\t: defaultIcons[this.props.variant];\n\n\t\tconst clonedIcon = React.cloneElement(icon, {\n\t\t\tcontainerClassName: 'slds-m-right_small slds-no-flex slds-align-top',\n\t\t\tinverse: true,\n\t\t\tsize: 'small',\n\t\t});\n\n\t\t/* eslint-disable no-script-url */\n\t\treturn (\n\t\t\t<div\n\t\t\t\tclassName={classNames(\n\t\t\t\t\t'slds-notify slds-notify_toast',\n\t\t\t\t\t{\n\t\t\t\t\t\t'slds-theme_info': this.props.variant === 'info',\n\t\t\t\t\t\t'slds-theme_success': this.props.variant === 'success',\n\t\t\t\t\t\t'slds-theme_warning': this.props.variant === 'warning',\n\t\t\t\t\t\t'slds-theme_error': this.props.variant === 'error',\n\t\t\t\t\t},\n\t\t\t\t\tthis.props.className\n\t\t\t\t)}\n\t\t\t\tref={this.saveToastRef}\n\t\t\t\trole=\"status\"\n\t\t\t\tstyle={this.props.style}\n\t\t\t\ttabIndex={0} // eslint-disable-line jsx-a11y/no-noninteractive-tabindex\n\t\t\t>\n\t\t\t\t<span className=\"slds-assistive-text\">\n\t\t\t\t\t{assistiveTextVariant[this.props.variant]}\n\t\t\t\t</span>\n\t\t\t\t{clonedIcon}\n\t\t\t\t<div className=\"slds-notify__content\">\n\t\t\t\t\t<h2 className=\"slds-text-heading_small\">\n\t\t\t\t\t\t{heading}{' '}\n\t\t\t\t\t\t{labels.headingLink ? (\n\t\t\t\t\t\t\t<a\n\t\t\t\t\t\t\t\tonClick={this.props.onClickHeadingLink}\n\t\t\t\t\t\t\t\thref=\"javascript:void(0);\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{labels.headingLink}\n\t\t\t\t\t\t\t</a>\n\t\t\t\t\t\t) : null}\n\t\t\t\t\t</h2>\n\t\t\t\t\t{labels.details ? <p>{labels.details}</p> : null}\n\t\t\t\t</div>\n\t\t\t\t<Button\n\t\t\t\t\tassistiveText={{ icon: assistiveText.closeButton }}\n\t\t\t\t\tclassName=\"slds-notify__close\"\n\t\t\t\t\ticonCategory=\"utility\"\n\t\t\t\t\ticonName=\"close\"\n\t\t\t\t\ticonSize=\"large\"\n\t\t\t\t\tinverse\n\t\t\t\t\tonClick={this.props.onRequestClose}\n\t\t\t\t\ttitle={assistiveText.closeButton}\n\t\t\t\t\tvariant=\"icon\"\n\t\t\t\t/>\n\t\t\t</div>\n\t\t);\n\t}\n}\n\nToast.defaultProps = defaultProps;\nToast.displayName = TOAST;\nToast.propTypes = propTypes;\n\nexport default Toast;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// # Toast Container Component\n\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from '../../utilities/class-names';\nimport { TOAST_CONTAINER } from '../../utilities/constants';\n\nconst propTypes = {\n\t/**\n\t * CSS classes to be added to tag with `.slds-notify-container`. Uses `classNames` [API](https://github.com/JedWatson/classnames).\n\t */\n\tclassName: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\t/**\n\t * Toast components\n\t */\n\tchildren: PropTypes.node,\n};\n\n/**\n * A fixed container for toast banners.\n */\n\nclass ToastContainer extends React.Component {\n\trender() {\n\t\treturn (\n\t\t\t<div\n\t\t\t\tclassName={classNames('slds-notify-container', this.props.className)}\n\t\t\t>\n\t\t\t\t{this.props.children}\n\t\t\t</div>\n\t\t);\n\t}\n}\n\nToastContainer.displayName = TOAST_CONTAINER;\nToastContainer.propTypes = propTypes;\n\nexport default ToastContainer;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// # Tree Item Component\n\n// Implements the [Tree design pattern](https://www.lightningdesignsystem.com/components/tree/) in React.\n\n// ### React\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport findIndex from 'lodash.findindex';\nimport isFunction from 'lodash.isfunction';\n\nimport Button from '../../button';\nimport Highlighter from '../../utilities/highlighter';\n\nimport EventUtil from '../../../utilities/event';\nimport KEYS from '../../../utilities/key-code';\nimport mapKeyEventCallbacks from '../../../utilities/key-callbacks';\nimport { TREE_ITEM } from '../../../utilities/constants';\n\nconst handleSelect = ({ event, props, fromFocus }) => {\n\tEventUtil.trap(event);\n\tif (isFunction(props.onSelect)) {\n\t\tprops.onSelect({\n\t\t\tevent,\n\t\t\tdata: {\n\t\t\t\tnode: props.node,\n\t\t\t\tselect: !props.node.selected,\n\t\t\t\ttreeIndex: props.treeIndex,\n\t\t\t},\n\t\t\tfromFocus,\n\t\t});\n\t}\n};\n\nconst findNextNode = (flattenedNodes, node) => {\n\tconst nodes = flattenedNodes.map((flattenedNode) => flattenedNode.node);\n\tconst index = findIndex(nodes, { id: node.id });\n\treturn flattenedNodes[(index + 1) % flattenedNodes.length];\n};\n\nconst findPreviousNode = (flattenedNodes, node) => {\n\tconst nodes = flattenedNodes.map((flattenedNode) => flattenedNode.node);\n\tlet index = findIndex(nodes, { id: node.id }) - 1;\n\tif (index < 0) {\n\t\tindex += flattenedNodes.length;\n\t}\n\treturn flattenedNodes[index];\n};\n\nconst handleKeyDownDown = (event, props) => {\n\tif (props.focusedNodeIndex === props.treeIndex) {\n\t\t// Select the next visible node\n\t\tconst flattenedNode = findNextNode(props.flattenedNodes, props.node);\n\t\tprops.onSelect({\n\t\t\tevent,\n\t\t\tdata: {\n\t\t\t\tnode: flattenedNode.node,\n\t\t\t\tselect: true,\n\t\t\t\ttreeIndex: flattenedNode.treeIndex,\n\t\t\t},\n\t\t\tclearSelectedNodes: true,\n\t\t});\n\t}\n};\n\nconst handleKeyDownUp = (event, props) => {\n\tif (props.focusedNodeIndex === props.treeIndex) {\n\t\t// Go to the previous visible node\n\t\tconst flattenedNode = findPreviousNode(props.flattenedNodes, props.node);\n\t\tprops.onSelect({\n\t\t\tevent,\n\t\t\tdata: {\n\t\t\t\tnode: flattenedNode.node,\n\t\t\t\tselect: true,\n\t\t\t\ttreeIndex: flattenedNode.treeIndex,\n\t\t\t},\n\t\t\tclearSelectedNodes: true,\n\t\t});\n\t}\n};\n\nconst handleKeyDownLeft = (event, props) => {\n\tconst nodes = props.flattenedNodes.map((flattenedNode) => flattenedNode.node);\n\tconst index = findIndex(nodes, { id: props.parent.id });\n\tif (index !== -1) {\n\t\tprops.onExpand({\n\t\t\tevent,\n\t\t\tdata: {\n\t\t\t\tnode: props.parent,\n\t\t\t\tselect: true,\n\t\t\t\texpand: !props.parent.expanded,\n\t\t\t\ttreeIndex: props.flattenedNodes[index].treeIndex,\n\t\t\t},\n\t\t});\n\t}\n};\n\nconst handleKeyDownEnter = (event, props) => {\n\thandleSelect({ event, props });\n};\n\nconst handleKeyDown = (event, props) => {\n\tmapKeyEventCallbacks(event, {\n\t\tcallbacks: {\n\t\t\t[KEYS.DOWN]: { callback: (evt) => handleKeyDownDown(evt, props) },\n\t\t\t[KEYS.UP]: { callback: (evt) => handleKeyDownUp(evt, props) },\n\t\t\t[KEYS.LEFT]: { callback: (evt) => handleKeyDownLeft(evt, props) },\n\t\t\t[KEYS.ENTER]: { callback: (evt) => handleKeyDownEnter(evt, props) },\n\t\t},\n\t});\n};\n\nconst handleFocus = (event, props) => {\n\tif (\n\t\t!props.treeHasFocus &&\n\t\t!props.focusedNodeIndex &&\n\t\tevent.target === event.currentTarget\n\t) {\n\t\thandleSelect({ event, props });\n\t}\n};\n\nconst getTabIndex = (props) => {\n\tconst initialFocus =\n\t\tprops.selectedNodeIndexes.length === 0 &&\n\t\tprops.treeIndex === props.flattenedNodes[0].treeIndex;\n\treturn props.treeIndex === props.focusedNodeIndex || initialFocus ? 0 : -1;\n};\n\n/**\n * A Tree Item is a non-branching node in a hierarchical list.\n */\nconst Item = (props) => {\n\tconst isSelected = props.node.selected;\n\tconst isFocused = props.treeIndex === props.focusedNodeIndex;\n\n\treturn (\n\t\t<li\n\t\t\tid={`${props.treeId}-${props.node.id}`}\n\t\t\trole=\"treeitem\"\n\t\t\taria-level={props.level}\n\t\t\taria-selected={isSelected ? 'true' : 'false'}\n\t\t\ttabIndex={getTabIndex(props)}\n\t\t\tonKeyDown={(event) => handleKeyDown(event, props)}\n\t\t\tonFocus={(event) => handleFocus(event, props)}\n\t\t\tonBlur={props.onNodeBlur}\n\t\t\tref={(component) => {\n\t\t\t\tif (props.treeHasFocus && component && isFocused) {\n\t\t\t\t\tcomponent.focus();\n\t\t\t\t}\n\t\t\t}}\n\t\t>\n\t\t\t{/* eslint-disable jsx-a11y/no-static-element-interactions */}\n\t\t\t<div\n\t\t\t\tclassName={classNames('slds-tree__item', {\n\t\t\t\t\t'slds-is-selected': isSelected,\n\t\t\t\t})}\n\t\t\t\tonClick={(event) => {\n\t\t\t\t\thandleSelect({ event, props });\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\t{/* eslint-enable jsx-a11y/no-static-element-interactions */}\n\t\t\t\t<Button\n\t\t\t\t\ttabIndex=\"-1\"\n\t\t\t\t\taria-hidden\n\t\t\t\t\tassistiveText={{ icon: '' }}\n\t\t\t\t\trole=\"presentation\"\n\t\t\t\t\ticonCategory=\"utility\"\n\t\t\t\t\ticonName=\"chevronright\"\n\t\t\t\t\ticonSize=\"small\"\n\t\t\t\t\tvariant=\"icon\"\n\t\t\t\t\tclassName=\"slds-m-right_small slds-is-disabled\"\n\t\t\t\t\tdisabled\n\t\t\t\t/>\n\t\t\t\t{/* eslint-disable no-script-url */}\n\t\t\t\t<span className=\"slds-size_1-of-1\">\n\t\t\t\t\t{/* eslint-enable no-script-url */}\n\t\t\t\t\t<Highlighter\n\t\t\t\t\t\tsearch={props.searchTerm}\n\t\t\t\t\t\tclassName=\"slds-tree__item-label slds-truncate\"\n\t\t\t\t\t>\n\t\t\t\t\t\t{props.label}\n\t\t\t\t\t</Highlighter>\n\t\t\t\t</span>\n\t\t\t</div>\n\t\t</li>\n\t);\n};\n\n// ### Display Name\n// Always use the canonical component name as the React display name.\nItem.displayName = TREE_ITEM;\n\n// ### Prop Types\nItem.propTypes = {\n\t/**\n\t * HTML `id` of the wrapping container element joined with the `id` of the node. This will recursively increase as the tree depth increases.\n\t */\n\thtmlId: PropTypes.string.isRequired,\n\t/**\n\t * The text of the tree item.\n\t */\n\tlabel: PropTypes.oneOfType([PropTypes.node, PropTypes.string]).isRequired,\n\t/**\n\t * The number of nestings. Determines the ARIA level and style alignment.\n\t */\n\tlevel: PropTypes.number.isRequired,\n\t/**\n\t * The current node that is being rendered.\n\t */\n\tnode: PropTypes.object.isRequired,\n\t/**\n\t * This function triggers when the expand or collapse icon is clicked or due to keyboard navigation.\n\t */\n\tonExpand: PropTypes.func.isRequired,\n\t/**\n\t * Function that will run whenever an item or branch is selected (click or keyboard).\n\t */\n\tonSelect: PropTypes.func,\n\t/**\n\t * Highlights term if found in node label\n\t */\n\tsearchTerm: PropTypes.string,\n\t/**\n\t * Unique id used for a prefix of all tree nodes\n\t */\n\ttreeId: PropTypes.string,\n\t/**\n\t * Location of node (zero index). First node is `0`. It's first child is `0-0`. This can be used to modify your nodes without searching for the node. This index is only valid if the `nodes` prop is the same as at the time of the event.\n\t */\n\ttreeIndex: PropTypes.string,\n\t/**\n\t * Flattened tree structure.\n\t */\n\tflattenedNodes: PropTypes.arrayOf(PropTypes.object),\n\t/**\n\t * Tree indexes of nodes that are currently selected.\n\t */\n\tselectedNodeIndexes: PropTypes.arrayOf(PropTypes.string),\n\t/**\n\t * Tree index of the node that is currently focused.\n\t */\n\tfocusedNodeIndex: PropTypes.string,\n\t/**\n\t * Callback for when a node is blurred.\n\t */\n\tonNodeBlur: PropTypes.func,\n\t/**\n\t * Sets focus on render.\n\t */\n\ttreeHasFocus: PropTypes.bool,\n\t/**\n\t * This node's parent.\n\t */\n\tparent: PropTypes.object,\n};\n\nItem.defaultProps = {\n\tselected: false,\n\tselectedNodeIndexes: [],\n};\n\nexport default Item;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// # Tree Initial Branch\n\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport isFunction from 'lodash.isfunction';\nimport classNames from 'classnames';\n\nconst propTypes = {\n\t/**\n\t * HTML `id` of the wrapping container element.\n\t */\n\thtmlId: PropTypes.oneOfType([PropTypes.number, PropTypes.string]).isRequired,\n\t/*\n\t * Class names to be added to the top-level `ul` element.\n\t */\n\tinitalClassName: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\t/*\n\t * Styles to be added to the top-level `ul` element. Useful for `overflow:hidden`.\n\t */\n\tinitialStyle: PropTypes.object,\n};\n\nconst handleScroll = (event, props) => {\n\tconst percentage =\n\t\t(event.target.scrollTop /\n\t\t\t(event.target.scrollHeight - event.target.clientHeight)) *\n\t\t100;\n\n\tif (isFunction(props.onScroll)) {\n\t\tprops.onScroll(event, {\n\t\t\tpercentage,\n\t\t});\n\t}\n};\n\nconst renderInitialNode = (children, props) => (\n\t// id intentionally not rendered here, and is present on\n\t// container that includes the header\n\t<ul\n\t\taria-labelledby={`${props.htmlId}__heading`}\n\t\tclassName={classNames('slds-tree', props.initalClassName)}\n\t\tonScroll={(event) => {\n\t\t\thandleScroll(event, props);\n\t\t}}\n\t\trole=\"tree\"\n\t\tstyle={props.initialStyle}\n\t>\n\t\t{children}\n\t</ul>\n);\n\nrenderInitialNode.displayName = 'TreeInitialNode';\nrenderInitialNode.propTypes = propTypes;\n\nexport default renderInitialNode;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// # Tree Branch Component\n\n// Implements the [Tree design pattern](https://www.lightningdesignsystem.com/components/tree/) in React.\n\n// ## Dependencies\n\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport findIndex from 'lodash.findindex';\nimport isFunction from 'lodash.isfunction';\nimport classNames from 'classnames';\n\n// Child components\nimport Button from '../../button';\nimport Highlighter from '../../utilities/highlighter';\n\nimport EventUtil from '../../../utilities/event';\nimport KEYS from '../../../utilities/key-code';\nimport mapKeyEventCallbacks from '../../../utilities/key-callbacks';\n\nconst propTypes = {\n\t/**\n\t * HTML `id` of primary element that has `.slds-tree` on it. This component has a wrapping container element outside of `.slds-tree`.\n\t */\n\thtmlId: PropTypes.oneOfType([PropTypes.number, PropTypes.string]).isRequired,\n\t/**\n\t * The text of the tree item.\n\t */\n\tlabel: PropTypes.oneOfType([PropTypes.node, PropTypes.string]),\n\t/**\n\t * The number of nestings. Determines the ARIA level and style alignment.\n\t */\n\tlevel: PropTypes.number.isRequired,\n\t/**\n\t * The current node that is being rendered.\n\t */\n\tnode: PropTypes.object.isRequired,\n\t/**\n\t * This function triggers when the expand or collapse icon is clicked or due to keyboard navigation.\n\t */\n\tonExpand: PropTypes.func.isRequired,\n\t/**\n\t * Function that will run whenever an item or branch is clicked.\n\t */\n\tonSelect: PropTypes.func,\n\t/**\n\t * Highlights term if found in node label\n\t */\n\tsearchTerm: PropTypes.string,\n\t/**\n\t * Location of node (zero index). First node is `0`. It's first child is `0-0`. This can be used to modify your nodes without searching for the node. This index is only valid if the `nodes` prop is the same as at the time of the event.\n\t */\n\ttreeIndex: PropTypes.string,\n\t/**\n\t * Flattened tree structure.\n\t */\n\tflattenedNodes: PropTypes.arrayOf(PropTypes.object),\n\t/**\n\t * Tree indexes of nodes that are currently selected.\n\t */\n\tselectedNodeIndexes: PropTypes.arrayOf(PropTypes.string),\n\t/**\n\t * Tree index of the node that is currently focused.\n\t */\n\tfocusedNodeIndex: PropTypes.string,\n\t/**\n\t * Callback for when a node is blurred.\n\t */\n\tonNodeBlur: PropTypes.func,\n\t/**\n\t * Sets focus on render.\n\t */\n\ttreeHasFocus: PropTypes.bool,\n\t/**\n\t * This node's parent.\n\t */\n\tparent: PropTypes.object,\n};\n\nconst handleExpand = (event, props) => {\n\tEventUtil.trap(event);\n\tif (isFunction(props.onExpand)) {\n\t\tprops.onExpand({\n\t\t\tevent,\n\t\t\tdata: {\n\t\t\t\tnode: props.node,\n\t\t\t\texpand: !props.node.expanded,\n\t\t\t\ttreeIndex: props.treeIndex,\n\t\t\t},\n\t\t});\n\t}\n};\n\nconst handleSelect = ({ event, props, fromFocus }) => {\n\tEventUtil.trap(event);\n\tif (isFunction(props.onSelect)) {\n\t\tprops.onSelect({\n\t\t\tevent,\n\t\t\tdata: {\n\t\t\t\tnode: props.node,\n\t\t\t\tselect: !props.node.selected,\n\t\t\t\ttreeIndex: props.treeIndex,\n\t\t\t},\n\t\t\tfromFocus,\n\t\t});\n\t}\n};\n\nconst findNextNode = (flattenedNodes, node) => {\n\tconst nodes = flattenedNodes.map((flattenedNode) => flattenedNode.node);\n\tconst index = findIndex(nodes, { id: node.id });\n\treturn flattenedNodes[(index + 1) % flattenedNodes.length];\n};\n\nconst findPreviousNode = (flattenedNodes, node) => {\n\tconst nodes = flattenedNodes.map((flattenedNode) => flattenedNode.node);\n\tlet index = findIndex(nodes, { id: node.id }) - 1;\n\tif (index < 0) {\n\t\tindex += flattenedNodes.length;\n\t}\n\treturn flattenedNodes[index];\n};\n\nconst handleKeyDownDown = (event, props) => {\n\tif (props.focusedNodeIndex === props.treeIndex) {\n\t\t// Select the next visible node\n\t\tconst flattenedNode = findNextNode(props.flattenedNodes, props.node);\n\t\tprops.onSelect({\n\t\t\tevent,\n\t\t\tdata: {\n\t\t\t\tnode: flattenedNode.node,\n\t\t\t\tselect: true,\n\t\t\t\ttreeIndex: flattenedNode.treeIndex,\n\t\t\t},\n\t\t\tclearSelectedNodes: true,\n\t\t});\n\t}\n};\n\nconst handleKeyDownUp = (event, props) => {\n\tif (props.focusedNodeIndex === props.treeIndex) {\n\t\t// Go to the previous visible node\n\t\tconst flattenedNode = findPreviousNode(props.flattenedNodes, props.node);\n\t\tprops.onSelect({\n\t\t\tevent,\n\t\t\tdata: {\n\t\t\t\tnode: flattenedNode.node,\n\t\t\t\tselect: true,\n\t\t\t\ttreeIndex: flattenedNode.treeIndex,\n\t\t\t},\n\t\t\tclearSelectedNodes: true,\n\t\t});\n\t}\n};\n\nconst handleKeyDownRight = (event, props) => {\n\tif (props.node.expanded) {\n\t\tif (props.getNodes(props.node) && props.getNodes(props.node).length > 0) {\n\t\t\thandleKeyDownDown(event, props);\n\t\t}\n\t} else {\n\t\thandleExpand(event, props);\n\t}\n};\n\nconst handleKeyDownLeft = (event, props) => {\n\tif (props.node.expanded) {\n\t\thandleExpand(event, props);\n\t} else {\n\t\tconst nodes = props.flattenedNodes.map(\n\t\t\t(flattenedNode) => flattenedNode.node\n\t\t);\n\t\tconst index = findIndex(nodes, { id: props.parent.id });\n\t\tif (index !== -1) {\n\t\t\tprops.onExpand({\n\t\t\t\tevent,\n\t\t\t\tdata: {\n\t\t\t\t\tnode: props.parent,\n\t\t\t\t\tselect: true,\n\t\t\t\t\texpand: !props.parent.expanded,\n\t\t\t\t\ttreeIndex: props.flattenedNodes[index].treeIndex,\n\t\t\t\t},\n\t\t\t});\n\t\t}\n\t}\n};\n\nconst handleKeyDownEnter = (event, props) => {\n\thandleSelect({ event, props });\n};\n\nconst handleKeyDown = (event, props) => {\n\tmapKeyEventCallbacks(event, {\n\t\tcallbacks: {\n\t\t\t[KEYS.DOWN]: { callback: (evt) => handleKeyDownDown(evt, props) },\n\t\t\t[KEYS.UP]: { callback: (evt) => handleKeyDownUp(evt, props) },\n\t\t\t[KEYS.RIGHT]: { callback: (evt) => handleKeyDownRight(evt, props) },\n\t\t\t[KEYS.LEFT]: { callback: (evt) => handleKeyDownLeft(evt, props) },\n\t\t\t[KEYS.ENTER]: { callback: (evt) => handleKeyDownEnter(evt, props) },\n\t\t},\n\t});\n};\n\nconst handleFocus = (event, props) => {\n\tif (\n\t\t!props.treeHasFocus &&\n\t\t!props.focusedNodeIndex &&\n\t\tevent.target === event.currentTarget\n\t) {\n\t\t// did it happen by mouse?\n\t\thandleSelect({ event, props, fromFocus: true });\n\t}\n};\n\nconst getTabIndex = (props) => {\n\tconst initialFocus =\n\t\tprops.selectedNodeIndexes.length === 0 &&\n\t\tprops.treeIndex === props.flattenedNodes[0].treeIndex;\n\treturn props.treeIndex === props.focusedNodeIndex || initialFocus ? 0 : -1;\n};\n\n// Most of these props come from the nodes array, not from the Tree props\nconst RenderBranch = (children, props) => {\n\tconst isExpanded = props.node.expanded;\n\tconst isSelected = props.node.selected;\n\tconst isFocused = props.treeIndex === props.focusedNodeIndex;\n\tconst isLoading = props.node.loading;\n\n\tconst loader = (\n\t\t<div\n\t\t\tstyle={{\n\t\t\t\tdisplay: 'block',\n\t\t\t\tpaddingLeft: `${1.5 * props.level + 1.5}rem`,\n\t\t\t\tmarginTop: '.5rem',\n\t\t\t}}\n\t\t>\n\t\t\t<div\n\t\t\t\tstyle={{\n\t\t\t\t\tborderRadius: '15rem',\n\t\t\t\t\tdisplay: 'block',\n\t\t\t\t\tmarginBottom: '.75rem',\n\t\t\t\t\theight: '.5rem',\n\t\t\t\t\tbackgroundColor: 'rgb(224, 229, 238)',\n\t\t\t\t\twidth: '40%',\n\t\t\t\t}}\n\t\t\t/>\n\t\t\t<div\n\t\t\t\tstyle={{\n\t\t\t\t\tborderRadius: '15rem',\n\t\t\t\t\tdisplay: 'block',\n\t\t\t\t\tmarginBottom: '.75rem',\n\t\t\t\t\theight: '.5rem',\n\t\t\t\t\tbackgroundColor: 'rgb(224, 229, 238)',\n\t\t\t\t\twidth: '80%',\n\t\t\t\t}}\n\t\t\t/>\n\t\t\t<div\n\t\t\t\tstyle={{\n\t\t\t\t\tborderRadius: '15rem',\n\t\t\t\t\tdisplay: 'block',\n\t\t\t\t\tmarginBottom: '.75rem',\n\t\t\t\t\theight: '.5rem',\n\t\t\t\t\tbackgroundColor: 'rgb(224, 229, 238)',\n\t\t\t\t\twidth: '60%',\n\t\t\t\t}}\n\t\t\t/>\n\t\t</div>\n\t);\n\n\tconst label =\n\t\tprops.node.assistiveText ||\n\t\t(typeof props.node.label === 'string' ? props.node.label : null);\n\treturn (\n\t\t<li\n\t\t\tid={props.htmlId}\n\t\t\trole=\"treeitem\"\n\t\t\taria-level={props.level}\n\t\t\taria-expanded={isExpanded ? 'true' : 'false'}\n\t\t\taria-label={\n\t\t\t\tprops.node.nodes && props.node.nodes.length > 0 ? label : null\n\t\t\t}\n\t\t\ttabIndex={getTabIndex(props)}\n\t\t\tonKeyDown={(event) => handleKeyDown(event, props)}\n\t\t\tonFocus={(event) => handleFocus(event, props)}\n\t\t\tonBlur={props.onNodeBlur}\n\t\t\tref={(component) => {\n\t\t\t\tif (props.treeHasFocus && component && isFocused) {\n\t\t\t\t\tcomponent.focus();\n\t\t\t\t}\n\t\t\t}}\n\t\t>\n\t\t\t{/* eslint-disable jsx-a11y/no-static-element-interactions */}\n\t\t\t<div\n\t\t\t\tclassName={classNames('slds-tree__item', {\n\t\t\t\t\t'slds-is-selected': isSelected,\n\t\t\t\t})}\n\t\t\t\tonClick={(event) => {\n\t\t\t\t\thandleSelect({ event, props });\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\t{/* eslint-enable jsx-a11y/no-static-element-interactions */}\n\t\t\t\t<Button\n\t\t\t\t\taria-hidden\n\t\t\t\t\tassistiveText={{ icon: 'Expand Tree Branch' }}\n\t\t\t\t\ticonCategory=\"utility\"\n\t\t\t\t\ticonName=\"chevronright\"\n\t\t\t\t\ticonSize=\"small\"\n\t\t\t\t\tvariant=\"icon\"\n\t\t\t\t\tclassName=\"slds-m-right_small\"\n\t\t\t\t\trole=\"presentation\"\n\t\t\t\t\taria-controls={props.htmlId}\n\t\t\t\t\tonClick={(event) => {\n\t\t\t\t\t\thandleExpand(event, props);\n\t\t\t\t\t}}\n\t\t\t\t\ttabIndex=\"-1\"\n\t\t\t\t/>\n\t\t\t\t{/* eslint-disable no-script-url */}\n\t\t\t\t<span className=\"slds-size_1-of-1\" id={`${props.htmlId}__label`}>\n\t\t\t\t\t{/* eslint-enable no-script-url */}\n\t\t\t\t\t{\n\t\t\t\t\t\t<Highlighter\n\t\t\t\t\t\t\tsearch={props.searchTerm}\n\t\t\t\t\t\t\tclassName=\"slds-tree__item-label slds-truncate\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{props.label}\n\t\t\t\t\t\t</Highlighter>\n\t\t\t\t\t}\n\t\t\t\t</span>\n\t\t\t</div>\n\t\t\t{isLoading ? loader : null}\n\t\t\t<ul\n\t\t\t\tclassName={classNames({\n\t\t\t\t\t'slds-is-expanded': isExpanded,\n\t\t\t\t\t'slds-is-collapsed': !isExpanded,\n\t\t\t\t})}\n\t\t\t\trole=\"group\"\n\t\t\t\taria-labelledby={`${props.htmlId}__label`}\n\t\t\t>\n\t\t\t\t{isExpanded && !isLoading ? children : null}\n\t\t\t</ul>\n\t\t</li>\n\t);\n};\n\nRenderBranch.displayName = 'Branch';\nRenderBranch.propTypes = propTypes;\n\nexport default RenderBranch;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// # Tree Branch Component\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport shortid from 'shortid';\n\n// Child components\nimport Item from './item';\nimport RenderInitialBranch from './render-initial-branch';\nimport RenderBranch from './render-branch';\n\nimport { TREE_BRANCH } from '../../../utilities/constants';\n\n/**\n * A Tree Item is a non-branching node in a hierarchical list.\n */\nconst Branch = (props) => {\n\tlet treeIndex = '';\n\tlet children;\n\n\tconst { treeId, level, onExpand, searchTerm } = props;\n\n\tif (Array.isArray(props.getNodes(props.node))) {\n\t\tchildren = props.getNodes(props.node).map((node, index) => {\n\t\t\tlet child;\n\t\t\tconst htmlId = `${props.treeId}-${node.id}`;\n\t\t\ttreeIndex = `${index}`;\n\t\t\tif (props.treeIndex) {\n\t\t\t\ttreeIndex = `${props.treeIndex}-${treeIndex}`;\n\t\t\t}\n\t\t\tif (node.type === 'branch') {\n\t\t\t\tchild = (\n\t\t\t\t\t<Branch\n\t\t\t\t\t\tgetNodes={props.getNodes}\n\t\t\t\t\t\thtmlId={htmlId}\n\t\t\t\t\t\tkey={node.id}\n\t\t\t\t\t\tlabel={node.label}\n\t\t\t\t\t\tlevel={level + 1}\n\t\t\t\t\t\tnode={node}\n\t\t\t\t\t\tflattenedNodes={props.flattenedNodes}\n\t\t\t\t\t\tselectedNodeIndexes={props.selectedNodeIndexes}\n\t\t\t\t\t\tfocusedNodeIndex={props.focusedNodeIndex}\n\t\t\t\t\t\ttreeHasFocus={props.treeHasFocus}\n\t\t\t\t\t\tonNodeBlur={props.onNodeBlur}\n\t\t\t\t\t\tnodes={node.nodes}\n\t\t\t\t\t\tonSelect={props.onSelect}\n\t\t\t\t\t\tonExpand={onExpand}\n\t\t\t\t\t\tsearchTerm={searchTerm}\n\t\t\t\t\t\ttreeId={treeId}\n\t\t\t\t\t\ttreeIndex={treeIndex}\n\t\t\t\t\t\tparent={props.node}\n\t\t\t\t\t/>\n\t\t\t\t);\n\t\t\t} else {\n\t\t\t\tchild = (\n\t\t\t\t\t<Item\n\t\t\t\t\t\tlabel={node.label}\n\t\t\t\t\t\thtmlId={htmlId}\n\t\t\t\t\t\tkey={shortid.generate()}\n\t\t\t\t\t\tlevel={level + 1}\n\t\t\t\t\t\tnode={node}\n\t\t\t\t\t\tflattenedNodes={props.flattenedNodes}\n\t\t\t\t\t\tselectedNodeIndexes={props.selectedNodeIndexes}\n\t\t\t\t\t\tfocusedNodeIndex={props.focusedNodeIndex}\n\t\t\t\t\t\ttreeHasFocus={props.treeHasFocus}\n\t\t\t\t\t\tonNodeBlur={props.onNodeBlur}\n\t\t\t\t\t\tonSelect={props.onSelect}\n\t\t\t\t\t\tonExpand={onExpand}\n\t\t\t\t\t\tsearchTerm={searchTerm}\n\t\t\t\t\t\ttreeIndex={treeIndex}\n\t\t\t\t\t\ttreeId={treeId}\n\t\t\t\t\t\tparent={props.node}\n\t\t\t\t\t/>\n\t\t\t\t);\n\t\t\t}\n\t\t\treturn child;\n\t\t});\n\t}\n\n\tconst branch =\n\t\tprops.level === 0\n\t\t\t? RenderInitialBranch(children, props)\n\t\t\t: RenderBranch(children, props);\n\treturn branch;\n};\n\n// ### Display Name\n// Always use the canonical component name as the React display name.\nBranch.displayName = TREE_BRANCH;\n\n// ### Prop Types\nBranch.propTypes = {\n\t/**\n\t * A function that will be called by every branch to receive its child nodes. The parent `node` object with the branch data is passed into this function: `getNodes(node)`. If your state engine is Flux or Redux, then your tree data structure will probably be flattened or normalized within the store. This will allow you to build out your tree without transversing an actual tree of data and may be more performant.\n\t */\n\tgetNodes: PropTypes.func,\n\t/**\n\t * HTML `id` of the wrapping container element joined with the `id` of the node. This will recursively increase as the tree depth increases.\n\t */\n\thtmlId: PropTypes.oneOfType([PropTypes.number, PropTypes.string]).isRequired,\n\t/**\n\t * All tree nodes must have a unique HTML `id` for users of assistive technology. If no `id` key is present in the is provided, one will be generated.\n\t */\n\tindex: PropTypes.number,\n\t/**\n\t * Determines if nodes in the top-level of the tree.\n\t */\n\tinitial: PropTypes.bool,\n\t/*\n\t * Class names to be added to the top-level `ul` element.\n\t */\n\tinitalClassName: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\tinitialStyle: PropTypes.object,\n\t/**\n\t * The text of the tree item.\n\t */\n\tlabel: PropTypes.oneOfType([PropTypes.node, PropTypes.string]),\n\t/**\n\t * The number of nestings. Determines the ARIA level and style alignment.\n\t */\n\tlevel: PropTypes.number.isRequired,\n\t/**\n\t * The current node that is being rendered.\n\t */\n\tnode: PropTypes.object.isRequired,\n\t/**\n\t * Function that will run whenever an item or branch is selected (click or keyboard).\n\t */\n\tonSelect: PropTypes.func,\n\t/**\n\t * This function triggers when the expand or collapse icon is clicked.\n\t */\n\tonExpand: PropTypes.func.isRequired,\n\t/**\n\t * Highlights term if found in node label\n\t */\n\tsearchTerm: PropTypes.string,\n\t/**\n\t * Unique id used for a prefix of all tree nodes. This is the prefix for subsequent `htmlId` props.\n\t */\n\ttreeId: PropTypes.string,\n\t/**\n\t * Location of node (zero index). First node is `0`. It's first child is `0-0`. This can be used to modify your nodes without searching for the node. This index is only valid if the `nodes` prop is the same as at the time of the event.\n\t */\n\ttreeIndex: PropTypes.string,\n\t/**\n\t * Flattened tree structure.\n\t */\n\tflattenedNodes: PropTypes.arrayOf(PropTypes.object),\n\t/**\n\t * Tree indexes of nodes that are currently selected.\n\t */\n\tselectedNodeIndexes: PropTypes.arrayOf(PropTypes.string),\n\t/**\n\t * Tree index of the node that is currently focused.\n\t */\n\tfocusedNodeIndex: PropTypes.string,\n\t/**\n\t * Callback for when a node is blurred.\n\t */\n\tonNodeBlur: PropTypes.func,\n\t/**\n\t * Sets focus on render.\n\t */\n\ttreeHasFocus: PropTypes.bool,\n\t/**\n\t * This node's parent.\n\t */\n\tparent: PropTypes.object,\n};\n\nBranch.defaultProps = {\n\tlevel: 0,\n\tlabel: '',\n\ttreeIndex: '',\n\tselectedNodeIndexes: [],\n};\n\nexport default Branch;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n/* eslint-disable import/no-mutable-exports */\n\nimport oneOfRequiredProperty from '../../utilities/warning/one-of-required-property';\nimport sunsetProperty from '../../utilities/warning/sunset-property';\nimport getComponentDocFn from '../../utilities/get-component-doc';\n\nlet checkProps = function checkPropsFunction() {};\n\nif (process.env.NODE_ENV !== 'production') {\n\tcheckProps = function checkPropsFunction(COMPONENT, props, jsonDoc) {\n\t\tconst createDocUrl = getComponentDocFn(jsonDoc);\n\n\t\t/* eslint-disable max-len */\n\t\toneOfRequiredProperty(\n\t\t\tCOMPONENT,\n\t\t\t{\n\t\t\t\tassistiveText: props.assistiveText,\n\t\t\t\theading: props.heading,\n\t\t\t},\n\t\t\tcreateDocUrl()\n\t\t);\n\t\t/* eslint-enable max-len */\n\n\t\tif (typeof props.assistiveText === 'string') {\n\t\t\tsunsetProperty(\n\t\t\t\tCOMPONENT,\n\t\t\t\tprops.assistiveText,\n\t\t\t\t'assistiveText',\n\t\t\t\t`\\`assistiveText\\` as a string has been deprecated and is now an object to allow for multiple uses in the component. Please use \\`assistiveText.label\\` instead. ${createDocUrl(\n\t\t\t\t\t'assistiveText'\n\t\t\t\t)}`\n\t\t\t);\n\t\t}\n\t};\n}\n\nexport default checkProps;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\nimport classNames from 'classnames';\n\nimport find from 'lodash.find';\n\n// Child components\nimport Branch from './private/branch';\n\n// Similar to React's PropTypes check. When in development mode, it issues errors in the console about properties.\nimport checkProps from './check-props';\nimport componentDoc from './component.json';\n\n// ## Constants\nimport { TREE } from '../../utilities/constants';\n\n// ### Prop Types\nconst propTypes = {\n\t/**\n\t * **Assistive text for accessibility.**\n\t * This object is merged with the default props object on every render.\n\t * * `label`: For users of assistive technology, if set the heading will be hidden. One of `heading` or `assistiveText.label` must be set in order to label the tree.\n\t */\n\tassistiveText: PropTypes.shape({\n\t\tlabel: PropTypes.string,\n\t}),\n\t/**\n\t * Class names to be added to the container element which has the heading and the `ul.slds-tree` element as children.\n\t */\n\tclassName: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\t/**\n\t * Class names to be added to the top-level `ul` element of the tree.\n\t */\n\tlistClassName: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\t/**\n\t * A function that will be called by every branch to receive its child nodes. The parent `node` object with the branch data is passed into this function: `getNodes(node)`. If your state engine is Flux or Redux, then your tree data structure will probably be flattened or normalized within the store. This will allow you to build out your tree without transversing an actual tree of data and may be more performant.\n\t */\n\tgetNodes: PropTypes.func,\n\t/**\n\t * This is the tree's heading and describes its contents. It can be hidden, see `assistiveText`.\n\t * */\n\theading: PropTypes.oneOfType([PropTypes.node, PropTypes.string]),\n\t/**\n\t * HTML `id` of primary element that has `.slds-tree` on it. This component has a wrapping container element outside of `.slds-tree`.\n\t */\n\tid: PropTypes.string.isRequired,\n\t/**\n\t * Array of items starting at the top of the tree. The shape each node in the array is:\n\t * ```\n\t * {\n\t * expanded: boolean,\n\t * id: string,\n\t * label: string or node,\n\t * selected: boolean,\n\t * type: string,\n\t * nodes: array\n\t * }\n\t * ```\n\t * `assistiveText: string` is optional and helpful if the label is not a string. Only `id` and `label` are required. Use `type: 'branch'` for folder and categories.\n\t */\n\tnodes: PropTypes.arrayOf(\n\t\tPropTypes.oneOfType([\n\t\t\tPropTypes.number,\n\t\t\tPropTypes.string,\n\t\t\tPropTypes.shape({\n\t\t\t\tid: PropTypes.oneOfType([PropTypes.number, PropTypes.string])\n\t\t\t\t\t.isRequired,\n\t\t\t\tlabel: PropTypes.oneOfType([PropTypes.node, PropTypes.string])\n\t\t\t\t\t.isRequired,\n\t\t\t\ttype: PropTypes.string.isRequired,\n\t\t\t}),\n\t\t])\n\t).isRequired,\n\t/**\n\t * Function that will run whenever an item or branch is selected due to click or keyboard navigation.\n\t */\n\tonClick: PropTypes.func.isRequired,\n\t/**\n\t * This function triggers when the expand or collapse icon is clicked or due to keyboard navigation.\n\t */\n\tonExpandClick: PropTypes.func.isRequired,\n\t/**\n\t * This function triggers when the top-level `ul` element scrolls. This can be used to implement an \"infinite scroll\" pattern and update the `nodes` prop accordingly.\n\t */\n\tonScroll: PropTypes.func,\n\t/**\n\t * Highlights term if found in node label. This does not auto-expand branches.\n\t */\n\tsearchTerm: PropTypes.string,\n\t/**\n\t * Styles to be added to the top-level `ul` element. Useful for `overflow:hidden`.\n\t */\n\tlistStyle: PropTypes.object,\n};\n\nconst defaultProps = {\n\tassistiveText: {},\n\tgetNodes: (node) => node.nodes,\n};\n\n/* Flattens hierarchical tree structure into a flat array. The\n * first item in the array is the whole tree and therefore should be\n * removed with `slice(1)`.` This means that root cannot call `getNodes()`\n * and should directly reference the `nodes` key. All level after that\n * should use `getNodes()` to access the correct nodes.\n */\nconst flattenTree = (root, getNodes, treeIndex = '', firstLevel = true) => {\n\tif (!root.nodes) {\n\t\treturn [{ node: root, treeIndex }];\n\t}\n\tlet nodes = [{ node: root, treeIndex }];\n\tif (root.expanded) {\n\t\t// eslint-disable-next-line fp/no-loops\n\t\tfor (let index = 0; index < root.nodes.length; index += 1) {\n\t\t\tconst curNode = firstLevel ? root.nodes[index] : getNodes(root)[index];\n\t\t\tnodes = nodes.concat(\n\t\t\t\tflattenTree(\n\t\t\t\t\tcurNode,\n\t\t\t\t\tgetNodes,\n\t\t\t\t\ttreeIndex ? `${treeIndex}-${index}` : `${index}`,\n\t\t\t\t\tfalse\n\t\t\t\t)\n\t\t\t);\n\t\t}\n\t}\n\treturn nodes;\n};\n\n/**\n * A tree is visualization of a structure hierarchy. A branch can be expanded or collapsed. This is a controlled component, since visual state is present in the `nodes` data.\n */\nclass Tree extends React.Component {\n\tconstructor(props) {\n\t\tsuper(props);\n\n\t\t// Find the first selected node and initialize it properly so that can be tabbed to. If no node is selected, it will be selected upon first focus.\n\t\tconst flattenedNodes = flattenTree(\n\t\t\t{\n\t\t\t\tnodes: this.props.getNodes({ nodes: this.props.nodes }),\n\t\t\t\texpanded: true,\n\t\t\t},\n\t\t\tthis.props.getNodes\n\t\t).slice(1);\n\n\t\tconst selectedNode = find(\n\t\t\tflattenedNodes,\n\t\t\t(curNode) => curNode.node.selected\n\t\t);\n\t\tconst selectedNodeIndexes = [];\n\t\tlet focusedNodeIndex;\n\n\t\tif (selectedNode) {\n\t\t\t// eslint-disable-next-line fp/no-mutating-methods\n\t\t\tselectedNodeIndexes.push(selectedNode.treeIndex);\n\t\t\tfocusedNodeIndex = selectedNode.treeIndex;\n\t\t}\n\n\t\tthis.state = {\n\t\t\tflattenedNodes,\n\t\t\tselectedNodeIndexes,\n\t\t\tfocusedNodeIndex,\n\t\t};\n\n\t\tcheckProps(TREE, props, componentDoc);\n\t}\n\n\tstatic getDerivedStateFromProps(nextProps) {\n\t\treturn {\n\t\t\tflattenedNodes: flattenTree(\n\t\t\t\t{\n\t\t\t\t\tnodes: nextProps.getNodes({ nodes: nextProps.nodes }),\n\t\t\t\t\texpanded: true,\n\t\t\t\t},\n\t\t\t\tnextProps.getNodes\n\t\t\t).slice(1),\n\t\t};\n\t}\n\n\thandleSelect = ({ event, data, clearSelectedNodes, fromFocus }) => {\n\t\t// When triggered by a key event, other nodes should be deselected.\n\t\tif (clearSelectedNodes) {\n\t\t\t// TODO: This bad design. This is state modfication. State should be changed via setState only.\n\t\t\tthis.state.flattenedNodes.forEach((flattenedNode) => {\n\t\t\t\tif (flattenedNode.node.selected) {\n\t\t\t\t\t// eslint-disable-next-line no-param-reassign\n\t\t\t\t\tflattenedNode.node.selected = false;\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\n\t\t// Prevent firing twice on first click, due to the handleSelect\n\t\t// triggered by a focus event\n\t\tif (!fromFocus) {\n\t\t\tthis.props.onClick(event, data);\n\t\t}\n\n\t\t// Keep track of the currently selected and focused nodes.\n\t\tlet selectedNodeIndexes;\n\t\tif (data.select) {\n\t\t\tselectedNodeIndexes = this.state.selectedNodeIndexes.concat([\n\t\t\t\tdata.treeIndex,\n\t\t\t]);\n\t\t} else {\n\t\t\tselectedNodeIndexes = this.state.selectedNodeIndexes.filter(\n\t\t\t\t(treeIndex) => treeIndex !== data.treeIndex\n\t\t\t);\n\t\t}\n\t\tthis.treeHasFocus = true;\n\t\tthis.setState({\n\t\t\tfocusedNodeIndex: data.treeIndex,\n\t\t\tselectedNodeIndexes,\n\t\t});\n\t};\n\n\thandleNodeBlur = () => {\n\t\t// There is no need to render when blurring a node because focus is either:\n\t\t// - outside of the tree, or\n\t\t// - focused on another node in the tree, which triggers its own render\n\t\tthis.treeHasFocus = false;\n\t};\n\n\thandleExpand = ({ event, data }) => {\n\t\tthis.treeHasFocus = true;\n\t\tthis.props.onExpandClick(event, data);\n\n\t\tif (data.select) {\n\t\t\tthis.setState({\n\t\t\t\tfocusedNodeIndex: data.treeIndex,\n\t\t\t});\n\t\t}\n\t};\n\n\trender() {\n\t\t// One of these is required to pass accessibility tests\n\t\tconst assistiveText =\n\t\t\ttypeof this.props.assistiveText === 'string'\n\t\t\t\t? this.props.assistiveText\n\t\t\t\t: {\n\t\t\t\t\t\t...defaultProps.assistiveText,\n\t\t\t\t\t\t...this.props.assistiveText,\n\t\t\t\t }.label;\n\t\tconst headingText = assistiveText || this.props.heading;\n\n\t\t// Start the zero level branch--that is the tree root. There is no label for\n\t\t// the tree root, but is required by all other nodes\n\t\treturn (\n\t\t\t<div\n\t\t\t\tid={this.props.id}\n\t\t\t\tclassName={classNames(\n\t\t\t\t\t'slds-tree_container',\n\t\t\t\t\tthis.props.className\n\t\t\t\t)} /* role=\"application\" */\n\t\t\t>\n\t\t\t\t<h4\n\t\t\t\t\tclassName={classNames('slds-tree__group-header', {\n\t\t\t\t\t\t'slds-assistive-text': assistiveText,\n\t\t\t\t\t})}\n\t\t\t\t\tid={`${this.props.id}__heading`}\n\t\t\t\t>\n\t\t\t\t\t{headingText}\n\t\t\t\t</h4>\n\t\t\t\t<Branch\n\t\t\t\t\tgetNodes={this.props.getNodes}\n\t\t\t\t\tinitalClassName={this.props.listClassName}\n\t\t\t\t\thtmlId={this.props.id}\n\t\t\t\t\tinitialStyle={this.props.listStyle}\n\t\t\t\t\tlevel={0}\n\t\t\t\t\tnode={{ nodes: this.props.nodes }}\n\t\t\t\t\tflattenedNodes={this.state.flattenedNodes}\n\t\t\t\t\tselectedNodeIndexes={this.state.selectedNodeIndexes}\n\t\t\t\t\tfocusedNodeIndex={this.state.focusedNodeIndex}\n\t\t\t\t\ttreeHasFocus={this.treeHasFocus}\n\t\t\t\t\tonNodeBlur={this.handleNodeBlur}\n\t\t\t\t\tonSelect={this.handleSelect}\n\t\t\t\t\tonExpand={this.handleExpand}\n\t\t\t\t\tonScroll={this.props.onScroll}\n\t\t\t\t\tsearchTerm={this.props.searchTerm}\n\t\t\t\t\ttreeId={this.props.id}\n\t\t\t\t/>\n\t\t\t</div>\n\t\t);\n\t}\n}\n\nTree.displayName = TREE;\nTree.propTypes = propTypes;\nTree.defaultProps = defaultProps;\n\nexport default Tree;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// Implements the [Trial Bar design pattern](https://lightningdesignsystem.com/components/trial-bar/) in React.\n// Based on SLDS v2.4.5\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\n\nimport assign from 'lodash.assign';\n\nimport { TRIAL_BAR } from '../../utilities/constants';\n\nconst propTypes = {\n\t/**\n\t * Provide children of the types `<TrialBarButton />` or `<TrialBarDropdown />` to define the structure of the trial bar.\n\t * ```\n\t * <TrialBar>\n\t * <TrialBarButton />\n\t * <TrialBarDropdown />\n\t * </TrialBar>\n\t * ```\n\t */\n\tchildren: PropTypes.node,\n\n\t/**\n\t * CSS classes to be added to the component. Uses `classNames` [API](https://github.com/JedWatson/classnames).\n\t */\n\tclassName: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\t/**\n\t * **Text labels for internationalization**\n\t * This object is merged with the default props object on every render.\n\t * * `learnMoreAfter`: Amount of time left in trial, e.g. `30`\n\t * * `learnMoreBefore`: Unit of the amount of time left, e.g. `days`\n\t * * `timeLeftUnitAfter`: String after `timeLeftUnit`\n\t */\n\tlabels: PropTypes.shape({\n\t\ttimeLeft: PropTypes.string,\n\t\ttimeLeftUnit: PropTypes.string,\n\t\ttimeLeftUnitAfter: PropTypes.string,\n\t}),\n\t/**\n\t * Renders the actions section of the trial bar.\n\t */\n\tonRenderActions: PropTypes.func,\n\t/**\n\t * Customs styles to be applied to the component.\n\t */\n\tstyle: PropTypes.object,\n};\n\nconst defaultProps = {\n\tlabels: {\n\t\ttimeLeftUnitAfter: 'left in trial',\n\t},\n};\n\n/**\n * Trial bar components are used to provide an interactive and educational prospect experience for setup.\n */\nconst TrialBar = (props) => {\n\tconst labels = assign({}, defaultProps.labels, props.labels);\n\treturn (\n\t\t<div\n\t\t\tclassName={classNames('slds-trial-header slds-grid', props.className)}\n\t\t\tstyle={props.style}\n\t\t>\n\t\t\t<div className=\"slds-grid\">{props.children}</div>\n\t\t\t<div className=\"slds-grid slds-grid_vertical-align-center slds-col_bump-left\">\n\t\t\t\t<span className=\"slds-box slds-box_xx-small slds-theme_default\">\n\t\t\t\t\t{labels.timeLeft}\n\t\t\t\t</span>\n\t\t\t\t<span className=\"slds-m-horizontal_x-small\">\n\t\t\t\t\t{labels.timeLeftUnit}\n\t\t\t\t\t{` ${labels.timeLeftUnitAfter}`}\n\t\t\t\t</span>\n\t\t\t\t{props.onRenderActions()}\n\t\t\t</div>\n\t\t</div>\n\t);\n};\n\nTrialBar.displayName = TRIAL_BAR;\nTrialBar.propTypes = propTypes;\nTrialBar.defaultProps = defaultProps;\n\nexport default TrialBar;\n","import React from 'react';\nimport Button from '../button';\nimport { TRIAL_BAR_BUTTON } from '../../utilities/constants';\n\n// This component accepts the same props as Button.\n// eslint-disable-next-line react/forbid-foreign-prop-types\nconst { propTypes } = Button;\n\n/**\n * A [Button](/components/buttons/) within the Trial Bar.\n */\nconst TrialBarButton = (props) => (\n\t<Button\n\t\t{...props}\n\t\tinverse\n\t\tstyle={{ border: 0, padding: 0 }}\n\t\tclassName=\"slds-m-right_small\"\n\t/>\n);\n\nTrialBarButton.propTypes = propTypes;\nTrialBarButton.displayName = TRIAL_BAR_BUTTON;\n\nexport default TrialBarButton;\n","import React from 'react';\n\nimport Dropdown from '../menu-dropdown';\nimport DropdownTrigger from '../menu-dropdown/button-trigger';\nimport MenuDropdown from '../menu-dropdown/menu-dropdown';\nimport Button from '../button';\n\nimport { TRIAL_BAR_DROPDOWN } from '../../utilities/constants';\n\n// This component accepts the same props as MenuDropdown.\n// eslint-disable-next-line react/forbid-foreign-prop-types\nconst { propTypes } = MenuDropdown;\n\n/**\n * A [Dropdown](/components/menu-dropdowns/) within the Trial Bar.\n */\nconst TrialBarDropdown = (props) => {\n\tconst { label, ...rest } = props;\n\treturn (\n\t\t<Dropdown {...rest} inverse>\n\t\t\t<DropdownTrigger triggerClassName=\"slds-grid\">\n\t\t\t\t<Button\n\t\t\t\t\tinverse\n\t\t\t\t\tstyle={{ border: 0, height: '100%', padding: 0 }}\n\t\t\t\t\ticonCategory=\"utility\"\n\t\t\t\t\ticonName=\"right\"\n\t\t\t\t\ticonPosition=\"left\"\n\t\t\t\t\tlabel={label}\n\t\t\t\t/>\n\t\t\t</DropdownTrigger>\n\t\t</Dropdown>\n\t);\n};\n\nTrialBarDropdown.propTypes = propTypes;\nTrialBarDropdown.displayName = TRIAL_BAR_DROPDOWN;\nexport default TrialBarDropdown;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// Implements the [Visual Picker design pattern](https://lightningdesignsystem.com/components/visual-picker/) in React.\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\n\n// ### shortid\n// [npmjs.com/package/shortid](https://www.npmjs.com/package/shortid)\n// shortid is a short, non-sequential, url-friendly, unique id generator\nimport shortid from 'shortid';\nimport { VISUAL_PICKER } from '../../utilities/constants';\n\nconst propTypes = {\n\t/**\n\t * HTML id for component.\n\t */\n\tid: PropTypes.string,\n\t/**\n\t * Visual Picker accepts `Checkbox`, `Radio` and `VisualPickerLink` components as children. Please see `Checkbox`, `Radio` and `VisualPickerLink` for props.\n\t */\n\tchildren: PropTypes.node,\n\t/**\n\t * CSS classes to be added to tag with `.slds-form-element`. Uses `classNames` [API](https://github.com/JedWatson/classnames).\n\t */\n\tclassName: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\t/**\n\t * Label for the visual picker\n\t */\n\tlabel: PropTypes.string,\n\t/**\n\t * Whether the visual picker is coverable on selection\n\t */\n\tcoverable: PropTypes.bool,\n\t/**\n\t * Whether the visual picker has a vertical layout\n\t */\n\tvertical: PropTypes.bool,\n\t/**\n\t * Whether the visual picker has links as children\n\t */\n\tlinks: PropTypes.bool,\n\t/**\n\t * Size for visual picker\n\t */\n\tsize: PropTypes.oneOf(['medium', 'large']),\n};\n\nconst defaultProps = {\n\tsize: 'medium',\n\tvertical: false,\n\tlinks: false,\n};\n\n/**\n * Visual Picker Component\n */\nclass VisualPicker extends React.Component {\n\t// eslint-disable-next-line camelcase\n\tUNSAFE_componentWillMount() {\n\t\tthis.generatedId = shortid.generate();\n\t}\n\n\trender() {\n\t\tconst options = React.Children.map(this.props.children, (option, index) =>\n\t\t\tReact.cloneElement(option, {\n\t\t\t\tindex: `${this.props.id || this.generatedId}-${index}`,\n\t\t\t\tcoverable: this.props.coverable,\n\t\t\t\tvariant: 'visual-picker',\n\t\t\t\tname: `${this.props.id || this.generatedId}_options`,\n\t\t\t\tsize: this.props.size,\n\t\t\t\tvertical: !!this.props.vertical,\n\t\t\t})\n\t\t);\n\n\t\treturn this.props.links ? (\n\t\t\t<div className=\"slds-form-element__control\">{this.props.children}</div>\n\t\t) : (\n\t\t\t<fieldset\n\t\t\t\tid={this.props.id}\n\t\t\t\tclassName={classNames(`slds-form-element`, this.props.className)}\n\t\t\t>\n\t\t\t\t<legend className=\"slds-form-element__legend slds-form-element__label\">\n\t\t\t\t\t{this.props.label}\n\t\t\t\t</legend>\n\t\t\t\t<div className=\"slds-form-element__control\">{options}</div>\n\t\t\t</fieldset>\n\t\t);\n\t}\n}\n\nVisualPicker.displayName = VISUAL_PICKER;\nVisualPicker.propTypes = propTypes;\nVisualPicker.defaultProps = defaultProps;\n\nexport default VisualPicker;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// Implements the [Visual Picker Link design pattern](https://lightningdesignsystem.com/components/visual-picker/) in React.\n// Based on SLDS v2.4.5\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\n\nimport { VISUAL_PICKER_LINK } from '../../utilities/constants';\n\nconst propTypes = {\n\t/**\n\t * HTML id for component.\n\t */\n\tid: PropTypes.string,\n\t/**\n\t * CSS classes to be added to tag with `.slds-form-element`. Uses `classNames` [API](https://github.com/JedWatson/classnames).\n\t */\n\tclassName: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\t/**\n\t * URL for the Link\n\t */\n\thref: PropTypes.string,\n\t/**\n\t * Icon node for the Link\n\t */\n\ticon: PropTypes.node,\n\t/**\n\t * Title for the Link\n\t */\n\ttitle: PropTypes.string,\n\t/**\n\t * Description for the Link\n\t */\n\tdescription: PropTypes.string,\n};\n\n/**\n * Visual Picker Link Component\n */\nclass VisualPickerLink extends React.Component {\n\trender() {\n\t\treturn (\n\t\t\t<a\n\t\t\t\thref={this.props.href}\n\t\t\t\tid={this.props.id}\n\t\t\t\tclassName={classNames(\n\t\t\t\t\t'slds-box',\n\t\t\t\t\t'slds-box_link',\n\t\t\t\t\t'slds-theme_default',\n\t\t\t\t\t'slds-box_x-small',\n\t\t\t\t\t'slds-media',\n\t\t\t\t\t'slds-visual-picker_vertical',\n\t\t\t\t\tthis.props.className\n\t\t\t\t)}\n\t\t\t>\n\t\t\t\t<div className=\"slds-media__figure slds-media__figure_fixed-width slds-align_absolute-center slds-m-left_xx-small\">\n\t\t\t\t\t{this.props.icon}\n\t\t\t\t</div>\n\t\t\t\t<div className=\"slds-media__body slds-border_left slds-p-around_small\">\n\t\t\t\t\t<h2\n\t\t\t\t\t\tclassName=\"slds-truncate slds-text-heading_small\"\n\t\t\t\t\t\ttitle={this.props.title}\n\t\t\t\t\t>\n\t\t\t\t\t\t{this.props.title}\n\t\t\t\t\t</h2>\n\t\t\t\t\t<p className=\"slds-m-top_small\">{this.props.description}</p>\n\t\t\t\t</div>\n\t\t\t</a>\n\t\t);\n\t}\n}\nVisualPickerLink.displayName = VISUAL_PICKER_LINK;\nVisualPickerLink.propTypes = propTypes;\n\nexport default VisualPickerLink;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// Implements the [Welcome Mat design pattern](https://lightningdesignsystem.com/components/welcome-mat/) in React.\n// Based on SLDS v2.4.0\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\n// ### shortid\n// [npmjs.com/package/shortid](https://www.npmjs.com/package/shortid)\n// shortid is a short, non-sequential, url-friendly, unique id generator\nimport shortid from 'shortid';\n\nimport assign from 'lodash.assign';\n\nimport Modal from '../modal';\nimport ProgressBar from '../progress-bar';\n\nimport { WELCOME_MAT } from '../../utilities/constants';\n\nconst displayName = WELCOME_MAT;\n\nconst propTypes = {\n\t/**\n\t * CSS class names to be added to the container element. `array`, `object`, or `string` are accepted.\n\t */\n\tclassName: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\t/**\n\t * HTML id for component.\n\t */\n\tid: PropTypes.string,\n\t/**\n\t * Whether the modal is open\n\t */\n\tisOpen: PropTypes.bool,\n\t/**\n\t * **Weclome Mat labels for internationalization**\n\t * This object is merged with the default props object on every render.\n\t * * `title`: Title for the Welcome Mat\n\t * * `description`: Label for the radio input\n\t * * `unitsCompletedAfter`: Label for the radio input\n\t */\n\tlabels: PropTypes.shape({\n\t\ttitle: PropTypes.string,\n\t\tdescription: PropTypes.string,\n\t\tunitsCompletedAfter: PropTypes.string,\n\t}),\n\t/**\n\t *\tVariant of the WelcomeMat\n\t */\n\tvariant: PropTypes.oneOf([\n\t\t'steps',\n\t\t'info-only',\n\t\t'splash',\n\t\t'trailhead-connected',\n\t]),\n\t/**\n\t * Link to learn more button\n\t */\n\tonRenderInfoActions: PropTypes.func,\n\t/**\n\t * Callback to fire when modal is dismissed\n\t */\n\tonRequestClose: PropTypes.func,\n\t/**\n\t * Accepts a single WelcomeMatInfoBadge component, to be used with the trailhead variant\n\t */\n\tinfoBadge: PropTypes.node,\n\t/**\n\t * Do not show again checkbox for info-only variant\n\t */\n\tdoNotShowAgainCheckbox: PropTypes.node,\n};\n\nconst defaultProps = {\n\tlabels: {\n\t\tunitsCompletedAfter: 'units completed',\n\t},\n\tvariant: 'steps',\n\tisOpen: true,\n};\n\n/**\n * A Welcome Mat provides a series of unordered items a user can click to learn about a thematic topic.\n */\nclass WelcomeMat extends React.Component {\n\tconstructor(props) {\n\t\tsuper(props);\n\t\tthis.state = {\n\t\t\tcompletedSteps: 0,\n\t\t\ttotalSteps: 0,\n\t\t\tprogress: 0,\n\t\t};\n\t}\n\n\t// eslint-disable-next-line camelcase, react/sort-comp\n\tUNSAFE_componentWillMount() {\n\t\tthis.generatedId = shortid.generate();\n\t\tthis.getCount();\n\t}\n\n\t/**\n\t * Get the WelcomeMat's HTML id. Generate a new one if no ID present.\n\t */\n\tgetId() {\n\t\treturn this.props.id || this.generatedId;\n\t}\n\n\tgetCount() {\n\t\tconst totalSteps = React.Children.count(this.props.children);\n\t\tconst completedSteps = React.Children.toArray(this.props.children).filter(\n\t\t\t(c) => c.props.isComplete\n\t\t).length;\n\t\tconst progress = (completedSteps / totalSteps) * 100;\n\t\tthis.setState({\n\t\t\ttotalSteps,\n\t\t\tcompletedSteps,\n\t\t\tprogress,\n\t\t});\n\t}\n\n\trender() {\n\t\tconst labels = assign({}, defaultProps.labels, this.props.labels);\n\t\tconst splash = (\n\t\t\t<div\n\t\t\t\tclassName={classNames(\n\t\t\t\t\t'slds-welcome-mat__info-content',\n\t\t\t\t\tthis.props.className\n\t\t\t\t)}\n\t\t\t\tid={`${this.getId()}-content`}\n\t\t\t>\n\t\t\t\t<h2\n\t\t\t\t\tclassName=\"slds-welcome-mat__info-title\"\n\t\t\t\t\tid={`${this.getId()}-label`}\n\t\t\t\t>\n\t\t\t\t\t{labels.title}\n\t\t\t\t</h2>\n\t\t\t\t<div className=\"slds-welcome-mat__info-description slds-text-longform\">\n\t\t\t\t\t<p>{labels.description}</p>\n\t\t\t\t</div>\n\t\t\t\t{this.props.variant === 'info-only' ||\n\t\t\t\tthis.props.variant === 'splash' ? (\n\t\t\t\t\t<div className=\"slds-welcome-mat__info-actions\">\n\t\t\t\t\t\t{this.props.onRenderInfoActions()\n\t\t\t\t\t\t\t? this.props.onRenderInfoActions()\n\t\t\t\t\t\t\t: null}\n\t\t\t\t\t\t<div className=\"slds-m-top_large\">\n\t\t\t\t\t\t\t{this.props.doNotShowAgainCheckbox\n\t\t\t\t\t\t\t\t? this.props.doNotShowAgainCheckbox\n\t\t\t\t\t\t\t\t: null}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t) : null}\n\t\t\t\t{(this.props.variant === 'steps' ||\n\t\t\t\t\tthis.props.variant === 'trailhead-connected') &&\n\t\t\t\tthis.props.children ? (\n\t\t\t\t\t<React.Fragment>\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tclassName={classNames(\n\t\t\t\t\t\t\t\t'slds-welcome-mat__info-progress',\n\t\t\t\t\t\t\t\tthis.state.completedSteps === this.state.totalSteps\n\t\t\t\t\t\t\t\t\t? 'slds-welcome-mat__info-progress_complete'\n\t\t\t\t\t\t\t\t\t: null\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{this.props.variant === 'trailhead-connected'\n\t\t\t\t\t\t\t\t? React.Children.map(this.props.infoBadge, (child) =>\n\t\t\t\t\t\t\t\t\t\tReact.cloneElement(child, {\n\t\t\t\t\t\t\t\t\t\t\tisComplete:\n\t\t\t\t\t\t\t\t\t\t\t\tthis.state.completedSteps === this.state.totalSteps\n\t\t\t\t\t\t\t\t\t\t\t\t\t? true\n\t\t\t\t\t\t\t\t\t\t\t\t\t: null,\n\t\t\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t\t )\n\t\t\t\t\t\t\t\t: null}\n\t\t\t\t\t\t\t{this.state.completedSteps !== this.state.totalSteps ||\n\t\t\t\t\t\t\tthis.props.variant !== 'trailhead-connected' ? (\n\t\t\t\t\t\t\t\t<React.Fragment>\n\t\t\t\t\t\t\t\t\t{this.props.variant === 'trailhead-connected' ? (\n\t\t\t\t\t\t\t\t\t\t<p>\n\t\t\t\t\t\t\t\t\t\t\t{this.state.completedSteps}\n\t\t\t\t\t\t\t\t\t\t\t{`/`}\n\t\t\t\t\t\t\t\t\t\t\t{this.state.totalSteps}\n\t\t\t\t\t\t\t\t\t\t\t{` ${labels.unitsCompletedAfter}`}\n\t\t\t\t\t\t\t\t\t\t</p>\n\t\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t\t<p>\n\t\t\t\t\t\t\t\t\t\t\t<strong>\n\t\t\t\t\t\t\t\t\t\t\t\t{this.state.completedSteps}\n\t\t\t\t\t\t\t\t\t\t\t\t{`/`}\n\t\t\t\t\t\t\t\t\t\t\t\t{this.state.totalSteps}\n\t\t\t\t\t\t\t\t\t\t\t\t{` ${labels.unitsCompletedAfter}`}\n\t\t\t\t\t\t\t\t\t\t\t</strong>\n\t\t\t\t\t\t\t\t\t\t</p>\n\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t<ProgressBar value={this.state.progress} radius=\"circular\" />\n\t\t\t\t\t\t\t\t</React.Fragment>\n\t\t\t\t\t\t\t) : null}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</React.Fragment>\n\t\t\t\t) : null}\n\t\t\t</div>\n\t\t);\n\n\t\treturn (\n\t\t\t<Modal\n\t\t\t\tassistiveText={{\n\t\t\t\t\tdialogLabelledBy: `${this.getId()}-label`,\n\t\t\t\t}}\n\t\t\t\tisOpen={this.props.isOpen}\n\t\t\t\tonRequestClose={this.props.onRequestClose}\n\t\t\t\tsize=\"small\"\n\t\t\t\tid={`${this.getId()}-modal`}\n\t\t\t>\n\t\t\t\t<div\n\t\t\t\t\tclassName={classNames(\n\t\t\t\t\t\t'slds-welcome-mat',\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t'slds-welcome-mat_info-only': this.props.variant === 'info-only',\n\t\t\t\t\t\t},\n\t\t\t\t\t\tthis.props.children ? null : 'slds-welcome-mat_splash'\n\t\t\t\t\t)}\n\t\t\t\t\tid={this.getId()}\n\t\t\t\t>\n\t\t\t\t\t<div className=\"slds-welcome-mat__content slds-grid\">\n\t\t\t\t\t\t{this.props.children ? (\n\t\t\t\t\t\t\t<React.Fragment>\n\t\t\t\t\t\t\t\t<div className=\"slds-welcome-mat__info slds-size_1-of-2\">\n\t\t\t\t\t\t\t\t\t{splash}\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\tclassName={classNames(\n\t\t\t\t\t\t\t\t\t\t'slds-welcome-mat__tiles',\n\t\t\t\t\t\t\t\t\t\t'slds-size_1-of-2',\n\t\t\t\t\t\t\t\t\t\tthis.props.variant === 'info-only'\n\t\t\t\t\t\t\t\t\t\t\t? 'slds-welcome-mat__tiles_info-only'\n\t\t\t\t\t\t\t\t\t\t\t: null\n\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{React.Children.map(this.props.children, (child) =>\n\t\t\t\t\t\t\t\t\t\tReact.cloneElement(child, {\n\t\t\t\t\t\t\t\t\t\t\tvariant: this.props.variant,\n\t\t\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</React.Fragment>\n\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t<div className=\"slds-welcome-mat__info slds-size_1-of-1\">\n\t\t\t\t\t\t\t\t{splash}\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t)}\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</Modal>\n\t\t);\n\t}\n}\n\nWelcomeMat.displayName = displayName;\nWelcomeMat.propTypes = propTypes;\nWelcomeMat.defaultProps = defaultProps;\n\nexport default WelcomeMat;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// Implements the [Welcome Mat InfoBadge design pattern](https://lightningdesignsystem.com/components/welcome-mat/) in React.\n// Based on SLDS v2.4.0\nimport React from 'react';\nimport PropTypes from 'prop-types';\n// ### shortid\n// [npmjs.com/package/shortid](https://www.npmjs.com/package/shortid)\n// shortid is a short, non-sequential, url-friendly, unique id generator\nimport shortid from 'shortid';\n\nimport Icon from '../icon';\n\nimport { WELCOME_MAT_BADGE } from '../../utilities/constants';\n\nconst displayName = WELCOME_MAT_BADGE;\n\nconst propTypes = {\n\t/**\n\t * **Assistive text for accessibility.**\n\t * * `completed` : For users of assistive technology, assistive text for completed icon.\n\t */\n\tassistiveText: PropTypes.shape({\n\t\tcompleted: PropTypes.string,\n\t}),\n\t/**\n\t * CSS class names to be added to the container element. `array`, `object`, or `string` are accepted.\n\t */\n\tclassName: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\t/**\n\t * HTML id for component.\n\t */\n\tid: PropTypes.string,\n\t/**\n\t * Icon for the tile\n\t */\n\timage: PropTypes.string,\n\t/**\n\t * Whether the trail is completed\n\t */\n\tisComplete: PropTypes.bool,\n\t/**\n\t * Actions to be rendered on completion of the trail\n\t */\n\tonCompleteRenderActions: PropTypes.func,\n};\n\nconst defaultProps = {\n\tisComplete: false,\n\tvariant: 'steps',\n};\n\n/**\n * InfoBadge component item represents a tile in a Welcome Mat\n */\nclass InfoBadge extends React.Component {\n\t// eslint-disable-next-line camelcase, react/sort-comp\n\tUNSAFE_componentWillMount() {\n\t\tthis.generatedId = shortid.generate();\n\t}\n\n\t/**\n\t * Get the Welcome Mat Info Badge's HTML id. Generate a new one if no ID present.\n\t */\n\tgetId() {\n\t\treturn this.props.id || this.generatedId;\n\t}\n\n\tgetCompletedText() {\n\t\treturn this.props.assistiveText && this.props.assistiveText.completed\n\t\t\t? this.props.assistiveText.completed\n\t\t\t: 'Completed';\n\t}\n\n\trender() {\n\t\treturn (\n\t\t\t<div id={this.getId()} className={this.props.className}>\n\t\t\t\t<div className=\"slds-welcome-mat__info-badge-container\">\n\t\t\t\t\t<img\n\t\t\t\t\t\tclassName=\"slds-welcome-mat__info-badge\"\n\t\t\t\t\t\tsrc={this.props.image}\n\t\t\t\t\t\twidth=\"50\"\n\t\t\t\t\t\theight=\"50\"\n\t\t\t\t\t\talt=\"\"\n\t\t\t\t\t/>\n\t\t\t\t\t<Icon\n\t\t\t\t\t\tcategory=\"action\"\n\t\t\t\t\t\tname=\"check\"\n\t\t\t\t\t\tassistiveText={{ label: this.getCompletedText() }}\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t\t{this.props.children}\n\t\t\t\t{this.props.isComplete ? this.props.onCompleteRenderActions() : null}\n\t\t\t</div>\n\t\t);\n\t}\n}\n\nInfoBadge.displayName = displayName;\nInfoBadge.propTypes = propTypes;\nInfoBadge.defaultProps = defaultProps;\n\nexport default InfoBadge;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// Implements the [Welcome Mat Tile design pattern](https://lightningdesignsystem.com/components/welcome-mat/) in React.\n// Based on SLDS v2.4.0\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\n// ### shortid\n// [npmjs.com/package/shortid](https://www.npmjs.com/package/shortid)\n// shortid is a short, non-sequential, url-friendly, unique id generator\nimport shortid from 'shortid';\n\nimport Icon from '../icon';\n\nimport { WELCOME_MAT_TILE } from '../../utilities/constants';\n\nconst displayName = WELCOME_MAT_TILE;\n\nconst propTypes = {\n\t/**\n\t * **Assistive text for accessibility.**\n\t * This object is merged with the default props object on every render.\n\t * * `completeIcon`: Text that is visually hidden but read aloud by screenreaders to tell the user what the complete icon means.\n\t */\n\tassistiveText: PropTypes.shape({\n\t\tcompletedIcon: PropTypes.string,\n\t}),\n\t/**\n\t * CSS class names to be added to the container element. `array`, `object`, or `string` are accepted.\n\t */\n\tclassName: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\t/**\n\t * HTML id for component.\n\t */\n\tid: PropTypes.string,\n\t/**\n\t * Title for the tile component.\n\t */\n\ttitle: PropTypes.string,\n\t/**\n\t * Description for the tile component.\n\t */\n\tdescription: PropTypes.string,\n\t/**\n\t * Href for the tile link\n\t */\n\thref: PropTypes.string,\n\t/**\n\t * Icon for the tile\n\t */\n\ticon: PropTypes.node,\n\t/**\n\t * Whether the tile is completed\n\t */\n\tisComplete: PropTypes.bool,\n\t/**\n\t * Variant of the Welcome Mat Tile\n\t */\n\tvariant: PropTypes.oneOf([\n\t\t'steps',\n\t\t'info-only',\n\t\t'splash',\n\t\t'trailhead-connected',\n\t]),\n};\n\nconst defaultProps = {\n\tassistiveText: {\n\t\tcompletedIcon: 'Completed',\n\t},\n\tisComplete: false,\n\tvariant: 'steps',\n};\n\n/**\n * Tile component item represents a tile in a Welcome Mat\n */\nclass Tile extends React.Component {\n\t// eslint-disable-next-line camelcase, react/sort-comp\n\tUNSAFE_componentWillMount() {\n\t\tthis.generatedId = shortid.generate();\n\t}\n\n\t/**\n\t * Get the Welcome Mat Tile's HTML id. Generate a new one if no ID present.\n\t */\n\tgetId() {\n\t\treturn this.props.id || this.generatedId;\n\t}\n\n\trender() {\n\t\tconst assistiveText = {\n\t\t\t...defaultProps.assistiveText,\n\t\t\t...this.props.assistiveText,\n\t\t};\n\t\tconst body = (\n\t\t\t<React.Fragment>\n\t\t\t\t<div\n\t\t\t\t\tclassName={classNames(\n\t\t\t\t\t\t'slds-media__figure',\n\t\t\t\t\t\t'slds-media__figure_fixed-width',\n\t\t\t\t\t\t'slds-align_absolute-center'\n\t\t\t\t\t)}\n\t\t\t\t>\n\t\t\t\t\t<div className=\"slds-welcome-mat__tile-figure\">\n\t\t\t\t\t\t<div className=\"slds-welcome-mat__tile-icon-container\">\n\t\t\t\t\t\t\t{this.props.icon}\n\t\t\t\t\t\t\t{this.props.isComplete && this.props.variant !== 'info-only' ? (\n\t\t\t\t\t\t\t\t<Icon\n\t\t\t\t\t\t\t\t\tassistiveText={{\n\t\t\t\t\t\t\t\t\t\tlabel: assistiveText.completedIcon,\n\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\tcategory=\"action\"\n\t\t\t\t\t\t\t\t\tname=\"check\"\n\t\t\t\t\t\t\t\t\ttitle={assistiveText.completedIcon}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t) : null}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t\t<div className=\"slds-media__body\">\n\t\t\t\t\t<div className=\"slds-welcome-mat__tile-body\">\n\t\t\t\t\t\t<h3 className=\"slds-welcome-mat__tile-title\">{this.props.title}</h3>\n\t\t\t\t\t\t<p className=\"slds-welcome-mat__tile-description\">\n\t\t\t\t\t\t\t{this.props.description}\n\t\t\t\t\t\t</p>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</React.Fragment>\n\t\t);\n\n\t\treturn (\n\t\t\t<div\n\t\t\t\tid={this.getId()}\n\t\t\t\tclassName={classNames(\n\t\t\t\t\t'slds-welcome-mat__tile',\n\t\t\t\t\tthis.props.variant === 'info-only'\n\t\t\t\t\t\t? 'slds-welcome-mat__tile_info-only'\n\t\t\t\t\t\t: null,\n\t\t\t\t\tthis.props.isComplete && this.props.variant !== 'info-only'\n\t\t\t\t\t\t? 'slds-welcome-mat__tile_complete'\n\t\t\t\t\t\t: null,\n\t\t\t\t\tthis.props.className\n\t\t\t\t)}\n\t\t\t>\n\t\t\t\t{this.props.variant === 'info-only' ? (\n\t\t\t\t\t<div className=\"slds-media\">{body}</div>\n\t\t\t\t) : (\n\t\t\t\t\t<a\n\t\t\t\t\t\thref={this.props.href}\n\t\t\t\t\t\tclassName=\"slds-box slds-box_link slds-media\"\n\t\t\t\t\t>\n\t\t\t\t\t\t{body}\n\t\t\t\t\t</a>\n\t\t\t\t)}\n\t\t\t</div>\n\t\t);\n\t}\n}\n\nTile.displayName = displayName;\nTile.propTypes = propTypes;\nTile.defaultProps = defaultProps;\n\nexport default Tile;\n","/* eslint-disable fp/no-mutating-methods */\n/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n/**\n * This is a UX pattern recommendation for auto-complete search results that can contain multiple subheadings within the results. It inserts a subheading object based on `option.type === subheading.id` directly before a found option object and only inserts the subheading at the first occurence of that type of option.\n */\n\nconst addSubheadings = ({ subheadings, filteredOptions }) => {\n\t// Let's not mutate things we don't own.\n\tconst subheadingsCopy = [...subheadings];\n\tconst sortedOptions = { noSubHeaderType: [] };\n\n\t// populate an object with subheader ID as the keys\n\tsubheadingsCopy.forEach((subH) => {\n\t\tif (subH.id) {\n\t\t\tsortedOptions[subH.id] = [subH];\n\t\t}\n\t});\n\n\t// sort options into arrays using option type\n\t// if option type and subheader ID are equal, add to array, if no option type, add to noSubHeaderType array\n\tfilteredOptions.forEach((option) => {\n\t\tif (sortedOptions[option.type]) {\n\t\t\tsortedOptions[option.type].push(option);\n\t\t} else {\n\t\t\tsortedOptions.noSubHeaderType.push(option);\n\t\t}\n\t});\n\n\t// get object values by dropping keys\n\t// flatten and remove child arrays, so that we have one array\n\t// `...` operates on each array item, not the array\n\treturn [].concat(...Object.values(sortedOptions));\n};\n\nexport default addSubheadings;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n/* eslint-disable no-console */\n\n/**\n * This is a wrapper utility for logging messages to the\n\tuser. This is helpful in using the same examples\n\tfor the documentation site as for the Storybook examples.\n * @param {Function} options.action function that outputs\n * messages to Storybook\n * @param {Event} options.event the browser event\n * @param {String} options.eventName the name of the event\n * @param {Object} options.data callback payload and data object\n * @param {Function} options.customLog Custom logging function. This\n * is helpful for Node debugging and removing console log from tests.\n */\nconst log = ({ action, event, eventName, data, customLog }) => {\n\tif (customLog && event) {\n\t\tcustomLog({ eventName, event, data });\n\t} else if (action && event) {\n\t\t// https://github.com/storybooks/storybook/tree/master/addons/actions\n\t\taction(eventName)(event, data);\n\t} else if (console && console.log) {\n\t\tconsole.log(eventName, event, data);\n\t}\n};\n\nexport default log;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n/* eslint-disable camelcase */\n\nexport Accordion from './accordion';\nexport SLDSAccordion from './accordion';\nexport AccordionPanel from './accordion/panel';\nexport SLDSAccordionPanel from './accordion/panel';\nexport Alert from './alert';\nexport SLDSAlert from './alert';\nexport AlertContainer from './alert/container';\nexport SLDSAlertContainer from './alert/container';\nexport AppLauncher from './app-launcher';\nexport SLDSAppLauncher from './app-launcher';\nexport AppLauncherExpandableSection from './app-launcher/expandable-section';\nexport SLDSAppLauncherExpandableSection from './app-launcher/expandable-section';\nexport AppLauncherLink from './app-launcher/link';\nexport SLDSAppLauncherLink from './app-launcher/link';\nexport AppLauncherTile from './app-launcher/tile';\nexport SLDSAppLauncherTile from './app-launcher/tile';\nexport Avatar from './avatar';\nexport SLDSAvatar from './avatar';\nexport Badge from './badge';\nexport SLDSBadge from './badge';\nexport BrandBand from './brand-band';\nexport SLDSBrandBand from './brand-band';\nexport BreadCrumb from './breadcrumb';\nexport SLDSBreadCrumb from './breadcrumb';\nexport Breadcrumb from './breadcrumb';\nexport SLDSBreadcrumb from './breadcrumb';\nexport BuilderHeader from './builder-header';\nexport SLDSBuilderHeader from './builder-header';\nexport BuilderHeaderMisc from './builder-header/misc';\nexport SLDSBuilderHeaderMisc from './builder-header/misc';\nexport BuilderHeaderNav from './builder-header/nav';\nexport SLDSBuilderHeaderNav from './builder-header/nav';\nexport BuilderHeaderNavDropdown from './builder-header/nav-dropdown';\nexport SLDSBuilderHeaderNavDropdown from './builder-header/nav-dropdown';\nexport BuilderHeaderNavLink from './builder-header/nav-link';\nexport SLDSBuilderHeaderNavLink from './builder-header/nav-link';\nexport BuilderHeaderToolbar from './builder-header/toolbar';\nexport SLDSBuilderHeaderToolbar from './builder-header/toolbar';\nexport Button from './button';\nexport SLDSButton from './button';\nexport ButtonGroup from './button-group';\nexport SLDSButtonGroup from './button-group';\nexport ButtonIcon from './icon/button-icon';\nexport SLDSButtonIcon from './icon/button-icon';\nexport ButtonStateful from './button-stateful';\nexport SLDSButtonStateful from './button-stateful';\nexport Card from './card';\nexport SLDSCard from './card';\nexport CardEmpty from './card/empty';\nexport SLDSCardEmpty from './card/empty';\nexport CardFilter from './card/filter';\nexport SLDSCardFilter from './card/filter';\nexport Carousel from './carousel';\nexport SLDSCarousel from './carousel';\nexport Checkbox from './checkbox';\nexport SLDSCheckbox from './checkbox';\nexport ColorPicker from './color-picker';\nexport SLDSColorPicker from './color-picker';\nexport Combobox from './combobox';\nexport SLDSCombobox from './combobox';\nexport SLDSComboboxFilterAndLimit from './combobox/filter';\nexport DataTable from './data-table';\nexport SLDSDataTable from './data-table';\nexport DataTableCell from './data-table/cell';\nexport SLDSDataTableCell from './data-table/cell';\nexport DataTableColumn from './data-table/column';\nexport SLDSDataTableColumn from './data-table/column';\nexport DataTableHighlightCell from './data-table/highlight-cell';\nexport SLDSDataTableHighlightCell from './data-table/highlight-cell';\nexport DataTableRowActions from './data-table/row-actions';\nexport SLDSDataTableRowActions from './data-table/row-actions';\nexport DatePicker from './date-picker';\nexport SLDSDatePicker from './date-picker';\nexport Datepicker from './date-picker';\nexport SLDSDatepicker from './date-picker';\nexport Dropdown from './menu-dropdown';\nexport DropdownTrigger from './menu-dropdown/button-trigger';\nexport SLDSDropdownTrigger from './menu-dropdown/button-trigger';\nexport DynamicIcon from './dynamic-icon';\nexport SLDSDynamicIcon from './dynamic-icon';\nexport EditDialog from './popover/edit-dialog';\nexport SLDSEditDialog from './popover/edit-dialog';\nexport ExpandableSection from './expandable-section';\nexport SLDSExpandableSection from './expandable-section';\nexport Expression from './expression';\nexport SLDSExpression from './expression';\nexport ExpressionCondition from './expression/condition';\nexport SLDSExpressionCondition from './expression/condition';\nexport ExpressionFormula from './expression/formula';\nexport SLDSExpressionFormula from './expression/formula';\nexport ExpressionGroup from './expression/group';\nexport SLDSExpressionGroup from './expression/group';\nexport File from './files/file';\nexport SLDSFile from './files/file';\nexport Files from './files';\nexport SLDSFiles from './files';\nexport FilesFile from './files/file';\nexport SLDSFilesFile from './files/file';\nexport FilesMoreFiles from './files/more-files';\nexport SLDSFilesMoreFiles from './files/more-files';\nexport Filter from './filter';\nexport SLDSFilter from './filter';\nexport GlobalHeader from './global-header';\nexport SLDSGlobalHeader from './global-header';\nexport GlobalHeaderButton from './global-header/button';\nexport SLDSGlobalHeaderButton from './global-header/button';\nexport GlobalHeaderDropdown from './global-header/dropdown';\nexport SLDSGlobalHeaderDropdown from './global-header/dropdown';\nexport GlobalHeaderFavorites from './global-header/favorites';\nexport SLDSGlobalHeaderFavorites from './global-header/favorites';\nexport GlobalHeaderHelp from './global-header/help';\nexport SLDSGlobalHeaderHelp from './global-header/help';\nexport GlobalHeaderNotifications from './global-header/notifications';\nexport SLDSGlobalHeaderNotifications from './global-header/notifications';\nexport GlobalHeaderProfile from './global-header/profile';\nexport SLDSGlobalHeaderProfile from './global-header/profile';\nexport GlobalHeaderSearch from './global-header/search';\nexport SLDSGlobalHeaderSearch from './global-header/search';\nexport GlobalHeaderSetup from './global-header/setup';\nexport SLDSGlobalHeaderSetup from './global-header/setup';\nexport GlobalHeaderTask from './global-header/task';\nexport SLDSGlobalHeaderTask from './global-header/task';\nexport GlobalNavigationBar from './global-navigation-bar';\nexport SLDSGlobalNavigationBar from './global-navigation-bar';\nexport GlobalNavigationBarButton from './global-navigation-bar/button';\nexport SLDSGlobalNavigationBarButton from './global-navigation-bar/button';\nexport GlobalNavigationBarDropdown from './global-navigation-bar/dropdown';\nexport SLDSGlobalNavigationBarDropdown from './global-navigation-bar/dropdown';\nexport GlobalNavigationBarLabel from './global-navigation-bar/label';\nexport SLDSGlobalNavigationBarLabel from './global-navigation-bar/label';\nexport GlobalNavigationBarLink from './global-navigation-bar/link';\nexport SLDSGlobalNavigationBarLink from './global-navigation-bar/link';\nexport GlobalNavigationBarRegion from './global-navigation-bar/region';\nexport SLDSGlobalNavigationBarRegion from './global-navigation-bar/region';\nexport Icon from './icon';\nexport SLDSIcon from './icon';\nexport IconSettings from './icon-settings';\nexport SLDSIconSettings from './icon-settings';\nexport Illustration from './illustration';\nexport SLDSIllustration from './illustration';\nexport InlineEdit from './forms/input/inline';\nexport SLDSInlineEdit from './forms/input/inline';\nexport Input from './input';\nexport SLDSInput from './input';\nexport InputIcon from './icon/input-icon';\nexport SLDSInputIcon from './icon/input-icon';\nexport InputSearch from './input/search';\nexport SLDSInputSearch from './input/search';\nexport LocationMap from './location-map';\nexport SLDSLocationMap from './location-map';\nexport Lookup from './lookup';\nexport SLDSLookup from './lookup';\nexport LookupDefaultFooter from './lookup/menu/default-footer';\nexport SLDSLookupDefaultFooter from './lookup/menu/default-footer';\nexport LookupDefaultHeader from './lookup/menu/default-header';\nexport SLDSLookupDefaultHeader from './lookup/menu/default-header';\nexport LookupDefaultSectionDivider from './lookup/menu/default-section-divider';\nexport SLDSLookupDefaultSectionDivider from './lookup/menu/default-section-divider';\nexport MediaObject from './media-object';\nexport SLDSMediaObject from './media-object';\nexport MenuDropdown from './menu-dropdown';\nexport SLDSMenuDropdown from './menu-dropdown';\nexport MenuDropdownButtonTrigger from './menu-dropdown/button-trigger';\nexport SLDSMenuDropdownButtonTrigger from './menu-dropdown/button-trigger';\nexport SLDSMenuPicklist from './menu-picklist';\nexport Modal from './modal';\nexport SLDSModal from './modal';\nexport ModalTrigger from './modal/trigger';\nexport SLDSModalTrigger from './modal/trigger';\nexport MoreFiles from './files/more-files';\nexport SLDSMoreFiles from './files/more-files';\nexport Navigation from './vertical-navigation';\nexport SLDSNavigation from './vertical-navigation';\nexport Notification from './notification';\nexport SLDSNotification from './notification';\nexport PageHeader from './page-header';\nexport SLDSPageHeader from './page-header';\nexport PageHeaderControl from './page-header/control';\nexport SLDSPageHeaderControl from './page-header/control';\nexport Panel from './panel';\nexport SLDSPanel from './panel';\nexport PanelFilterGroup from './panel/filtering/group';\nexport SLDSPanelFilterGroup from './panel/filtering/group';\nexport PanelFilterList from './panel/filtering/list';\nexport SLDSPanelFilterList from './panel/filtering/list';\nexport PanelFilterListHeading from './panel/filtering/list-heading';\nexport SLDSPanelFilterListHeading from './panel/filtering/list-heading';\nexport Picklist from './menu-picklist';\nexport Pill from './pill';\nexport SLDSPill from './pill';\nexport PillContainer from './pill-container';\nexport SLDSPillContainer from './pill-container';\nexport Popover from './popover';\nexport SLDSPopover from './popover';\nexport PopoverTooltip from './tooltip';\nexport SLDSPopoverTooltip from './tooltip';\nexport ProgressBar from './progress-bar';\nexport SLDSProgressBar from './progress-bar';\nexport ProgressIndicator from './progress-indicator';\nexport SLDSProgressIndicator from './progress-indicator';\nexport ProgressRing from './progress-ring';\nexport SLDSProgressRing from './progress-ring';\nexport Radio from './radio';\nexport SLDSRadio from './radio';\nexport RadioButtonGroup from './radio-button-group';\nexport SLDSRadioButtonGroup from './radio-button-group';\nexport RadioGroup from './radio-group';\nexport SLDSRadioGroup from './radio-group';\nexport ScopedNotification from './scoped-notification';\nexport SLDSScopedNotification from './scoped-notification';\nexport Search from './input/search';\nexport SLDSSearch from './input/search';\nexport Settings from './settings';\nexport SLDSSettings from './settings';\nexport SetupAssistant from './setup-assistant';\nexport SLDSSetupAssistant from './setup-assistant';\nexport SetupAssistantStep from './setup-assistant/step';\nexport SLDSSetupAssistantStep from './setup-assistant/step';\nexport Slider from './slider';\nexport SLDSSlider from './slider';\nexport Spinner from './spinner';\nexport SLDSSpinner from './spinner';\nexport SplitView from './split-view';\nexport SLDSSplitView from './split-view';\nexport SplitViewHeader from './split-view/header';\nexport SLDSSplitViewHeader from './split-view/header';\nexport SplitViewListbox from './split-view/listbox';\nexport SLDSSplitViewListbox from './split-view/listbox';\nexport Splitview from './split-view';\nexport SLDSSplitview from './split-view';\nexport Tabs from './tabs';\nexport SLDSTabs from './tabs';\nexport TabsPanel from './tabs/panel';\nexport SLDSTabsPanel from './tabs/panel';\nexport Textarea from './textarea';\nexport SLDSTextarea from './textarea';\nexport TimePicker from './time-picker';\nexport SLDSTimePicker from './time-picker';\nexport Timepicker from './time-picker';\nexport SLDSTimepicker from './time-picker';\nexport Toast from './toast';\nexport SLDSToast from './toast';\nexport ToastContainer from './toast/container';\nexport SLDSToastContainer from './toast/container';\nexport Tooltip from './tooltip';\nexport SLDSTooltip from './tooltip';\nexport Tree from './tree';\nexport SLDSTree from './tree';\nexport TrialBar from './trial-bar';\nexport SLDSTrialBar from './trial-bar';\nexport TrialBarButton from './trial-bar/button';\nexport SLDSTrialBarButton from './trial-bar/button';\nexport TrialBarDropdown from './trial-bar/dropdown';\nexport SLDSTrialBarDropdown from './trial-bar/dropdown';\nexport UNSAFE_DirectionSettings from './utilities/UNSAFE_direction';\nexport UtilityIcon from './utilities/utility-icon';\nexport SLDSUtilityIcon from './utilities/utility-icon';\nexport VerticalNavigation from './vertical-navigation';\nexport SLDSVerticalNavigation from './vertical-navigation';\nexport VisualPicker from './visual-picker';\nexport SLDSVisualPicker from './visual-picker';\nexport VisualPickerLink from './visual-picker/link';\nexport SLDSVisualPickerLink from './visual-picker/link';\nexport WelcomeMat from './welcome-mat';\nexport SLDSWelcomeMat from './welcome-mat';\nexport WelcomeMatInfoBadge from './welcome-mat/info-badge';\nexport SLDSWelcomeMatInfoBadge from './welcome-mat/info-badge';\nexport WelcomeMatTile from './welcome-mat/tile';\nexport SLDSWelcomeMatTile from './welcome-mat/tile';\nexport comboboxAddSubheadings from './combobox/add-subheadings';\nexport comboboxFilterAndLimit from './combobox/filter';\nexport log from '../utilities/log';\n"],"sourceRoot":""} \ No newline at end of file diff --git a/design-system-react.min.js b/design-system-react.min.js new file mode 100644 index 0000000000..b83db977cf --- /dev/null +++ b/design-system-react.min.js @@ -0,0 +1,3 @@ +/*! For license information please see design-system-react.min.js.LICENSE.txt */ +!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(require("react"),require("react-dom")):"function"==typeof define&&define.amd?define(["react","react-dom"],t):"object"==typeof exports?exports["design-system-react"]=t(require("react"),require("react-dom")):e["design-system-react"]=t(e.React,e.ReactDOM)}(window,(function(e,t){return function(e){var t={};function n(r){if(t[r])return t[r].exports;var o=t[r]={i:r,l:!1,exports:{}};return e[r].call(o.exports,o,o.exports,n),o.l=!0,o.exports}return n.m=e,n.c=t,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)n.d(r,o,function(t){return e[t]}.bind(null,o));return r},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="/",n(n.s=60)}([function(e,t,n){e.exports=n(61)()},function(t,n){t.exports=e},function(e,t,n){var r;!function(){"use strict";var n={}.hasOwnProperty;function o(){for(var e=[],t=0;t<arguments.length;t++){var r=arguments[t];if(r){var a=typeof r;if("string"===a||"number"===a)e.push(r);else if(Array.isArray(r)&&r.length){var c=o.apply(null,r);c&&e.push(c)}else if("object"===a)for(var s in r)n.call(r,s)&&r[s]&&e.push(s)}}return e.join(" ")}e.exports?(o.default=o,e.exports=o):void 0===(r=function(){return o}.apply(t,[]))||(e.exports=r)}()},function(e,t,n){"use strict";e.exports=n(63)},function(e,t){var n=9007199254740991,r="[object Arguments]",o="[object Function]",a="[object GeneratorFunction]",c=/^(?:0|[1-9]\d*)$/;function s(e,t,n){switch(n.length){case 0:return e.call(t);case 1:return e.call(t,n[0]);case 2:return e.call(t,n[0],n[1]);case 3:return e.call(t,n[0],n[1],n[2])}return e.apply(t,n)}var i,l,p=Object.prototype,u=p.hasOwnProperty,h=p.toString,d=p.propertyIsEnumerable,f=(i=Object.keys,l=Object,function(e){return i(l(e))}),v=Math.max,m=!d.call({valueOf:1},"valueOf");function g(e,t){var n=x(e)||function(e){return function(e){return function(e){return!!e&&"object"==typeof e}(e)&&_(e)}(e)&&u.call(e,"callee")&&(!d.call(e,"callee")||h.call(e)==r)}(e)?function(e,t){for(var n=-1,r=Array(e);++n<e;)r[n]=t(n);return r}(e.length,String):[],o=n.length,a=!!o;for(var c in e)!t&&!u.call(e,c)||a&&("length"==c||b(c,o))||n.push(c);return n}function y(e,t,n){var r=e[t];u.call(e,t)&&z(r,n)&&(void 0!==n||t in e)||(e[t]=n)}function b(e,t){return!!(t=null==t?n:t)&&("number"==typeof e||c.test(e))&&e>-1&&e%1==0&&e<t}function w(e){var t=e&&e.constructor;return e===("function"==typeof t&&t.prototype||p)}function z(e,t){return e===t||e!=e&&t!=t}var x=Array.isArray;function _(e){return null!=e&&function(e){return"number"==typeof e&&e>-1&&e%1==0&&e<=n}(e.length)&&!function(e){var t=O(e)?h.call(e):"";return t==o||t==a}(e)}function O(e){var t=typeof e;return!!e&&("object"==t||"function"==t)}var M,S=(M=function(e,t){if(m||w(t)||_(t))!function(e,t,n,r){n||(n={});for(var o=-1,a=t.length;++o<a;){var c=t[o],s=r?r(n[c],e[c],c,n,e):void 0;y(n,c,void 0===s?e[c]:s)}}(t,function(e){return _(e)?g(e):function(e){if(!w(e))return f(e);var t=[];for(var n in Object(e))u.call(e,n)&&"constructor"!=n&&t.push(n);return t}(e)}(t),e);else for(var n in t)u.call(t,n)&&y(e,n,t[n])},function(e,t){return t=v(void 0===t?e.length-1:t,0),function(){for(var n=arguments,r=-1,o=v(n.length-t,0),a=Array(o);++r<o;)a[r]=n[t+r];r=-1;for(var c=Array(t+1);++r<t;)c[r]=n[r];return c[t]=a,s(e,this,c)}}((function(e,t){var n=-1,r=t.length,o=r>1?t[r-1]:void 0,a=r>2?t[2]:void 0;for(o=M.length>3&&"function"==typeof o?(r--,o):void 0,a&&function(e,t,n){if(!O(n))return!1;var r=typeof t;return!!("number"==r?_(n)&&b(t,n.length):"string"==r&&t in n)&&z(n[t],e)}(t[0],t[1],a)&&(o=r<3?void 0:o,r=1),e=Object(e);++n<r;){var c=t[n];c&&M(e,c,n,o)}return e})));e.exports=S},function(e,t,n){(function(t){var n="object"==typeof t&&t&&t.Object===Object&&t,r="object"==typeof self&&self&&self.Object===Object&&self,o=n||r||Function("return this")(),a=Object.prototype,c=a.hasOwnProperty,s=a.toString,i=o.Symbol,l=i?i.toStringTag:void 0;function p(e){return null==e?void 0===e?"[object Undefined]":"[object Null]":l&&l in Object(e)?function(e){var t=c.call(e,l),n=e[l];try{e[l]=void 0;var r=!0}catch(e){}var o=s.call(e);r&&(t?e[l]=n:delete e[l]);return o}(e):function(e){return s.call(e)}(e)}e.exports=function(e){if(!function(e){var t=typeof e;return null!=e&&("object"==t||"function"==t)}(e))return!1;var t=p(e);return"[object Function]"==t||"[object GeneratorFunction]"==t||"[object AsyncFunction]"==t||"[object Proxy]"==t}}).call(this,n(10))},function(e,n){e.exports=t},function(e,t,n){(function(e,n){var r="__lodash_hash_undefined__",o=1/0,a=9007199254740991,c=17976931348623157e292,s=NaN,i="[object Arguments]",l="[object Array]",p="[object Boolean]",u="[object Date]",h="[object Error]",d="[object Function]",f="[object Map]",v="[object Number]",m="[object Object]",g="[object Promise]",y="[object RegExp]",b="[object Set]",w="[object String]",z="[object Symbol]",x="[object WeakMap]",_="[object ArrayBuffer]",O="[object DataView]",M=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,S=/^\w*$/,C=/^\./,E=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,H=/^\s+|\s+$/g,j=/\\(\\)?/g,P=/^[-+]0x[0-9a-f]+$/i,k=/^0b[01]+$/i,N=/^\[object .+?Constructor\]$/,T=/^0o[0-7]+$/i,L=/^(?:0|[1-9]\d*)$/,V={};V["[object Float32Array]"]=V["[object Float64Array]"]=V["[object Int8Array]"]=V["[object Int16Array]"]=V["[object Int32Array]"]=V["[object Uint8Array]"]=V["[object Uint8ClampedArray]"]=V["[object Uint16Array]"]=V["[object Uint32Array]"]=!0,V[i]=V[l]=V[_]=V[p]=V[O]=V[u]=V[h]=V[d]=V[f]=V[v]=V[m]=V[y]=V[b]=V[w]=V[x]=!1;var R=parseInt,D="object"==typeof e&&e&&e.Object===Object&&e,I="object"==typeof self&&self&&self.Object===Object&&self,A=D||I||Function("return this")(),F=t&&!t.nodeType&&t,B=F&&"object"==typeof n&&n&&!n.nodeType&&n,q=B&&B.exports===F&&D.process,K=function(){try{return q&&q.binding("util")}catch(e){}}(),W=K&&K.isTypedArray;function U(e,t){for(var n=-1,r=e?e.length:0;++n<r;)if(t(e[n],n,e))return!0;return!1}function G(e){var t=!1;if(null!=e&&"function"!=typeof e.toString)try{t=!!(e+"")}catch(e){}return t}function Y(e){var t=-1,n=Array(e.size);return e.forEach((function(e,r){n[++t]=[r,e]})),n}function Q(e){var t=-1,n=Array(e.size);return e.forEach((function(e){n[++t]=e})),n}var J,X,$,Z=Array.prototype,ee=Function.prototype,te=Object.prototype,ne=A["__core-js_shared__"],re=(J=/[^.]+$/.exec(ne&&ne.keys&&ne.keys.IE_PROTO||""))?"Symbol(src)_1."+J:"",oe=ee.toString,ae=te.hasOwnProperty,ce=te.toString,se=RegExp("^"+oe.call(ae).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),ie=A.Symbol,le=A.Uint8Array,pe=te.propertyIsEnumerable,ue=Z.splice,he=(X=Object.keys,$=Object,function(e){return X($(e))}),de=Math.max,fe=Ke(A,"DataView"),ve=Ke(A,"Map"),me=Ke(A,"Promise"),ge=Ke(A,"Set"),ye=Ke(A,"WeakMap"),be=Ke(Object,"create"),we=$e(fe),ze=$e(ve),xe=$e(me),_e=$e(ge),Oe=$e(ye),Me=ie?ie.prototype:void 0,Se=Me?Me.valueOf:void 0,Ce=Me?Me.toString:void 0;function Ee(e){var t=-1,n=e?e.length:0;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}function He(e){var t=-1,n=e?e.length:0;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}function je(e){var t=-1,n=e?e.length:0;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}function Pe(e){var t=-1,n=e?e.length:0;for(this.__data__=new je;++t<n;)this.add(e[t])}function ke(e){this.__data__=new He(e)}function Ne(e,t){var n=nt(e)||tt(e)?function(e,t){for(var n=-1,r=Array(e);++n<e;)r[n]=t(n);return r}(e.length,String):[],r=n.length,o=!!r;for(var a in e)!t&&!ae.call(e,a)||o&&("length"==a||Ue(a,r))||n.push(a);return n}function Te(e,t){for(var n=e.length;n--;)if(et(e[n][0],t))return n;return-1}function Le(e,t){for(var n=0,r=(t=Ge(t,e)?[t]:Fe(t)).length;null!=e&&n<r;)e=e[Xe(t[n++])];return n&&n==r?e:void 0}function Ve(e,t){return null!=e&&t in Object(e)}function Re(e,t,n,r,o){return e===t||(null==e||null==t||!ct(e)&&!st(t)?e!=e&&t!=t:function(e,t,n,r,o,a){var c=nt(e),s=nt(t),d=l,g=l;c||(d=(d=We(e))==i?m:d);s||(g=(g=We(t))==i?m:g);var x=d==m&&!G(e),M=g==m&&!G(t),S=d==g;if(S&&!x)return a||(a=new ke),c||lt(e)?Be(e,t,n,r,o,a):function(e,t,n,r,o,a,c){switch(n){case O:if(e.byteLength!=t.byteLength||e.byteOffset!=t.byteOffset)return!1;e=e.buffer,t=t.buffer;case _:return!(e.byteLength!=t.byteLength||!r(new le(e),new le(t)));case p:case u:case v:return et(+e,+t);case h:return e.name==t.name&&e.message==t.message;case y:case w:return e==t+"";case f:var s=Y;case b:var i=2&a;if(s||(s=Q),e.size!=t.size&&!i)return!1;var l=c.get(e);if(l)return l==t;a|=1,c.set(e,t);var d=Be(s(e),s(t),r,o,a,c);return c.delete(e),d;case z:if(Se)return Se.call(e)==Se.call(t)}return!1}(e,t,d,n,r,o,a);if(!(2&o)){var C=x&&ae.call(e,"__wrapped__"),E=M&&ae.call(t,"__wrapped__");if(C||E){var H=C?e.value():e,j=E?t.value():t;return a||(a=new ke),n(H,j,r,o,a)}}if(!S)return!1;return a||(a=new ke),function(e,t,n,r,o,a){var c=2&o,s=pt(e),i=s.length,l=pt(t).length;if(i!=l&&!c)return!1;var p=i;for(;p--;){var u=s[p];if(!(c?u in t:ae.call(t,u)))return!1}var h=a.get(e);if(h&&a.get(t))return h==t;var d=!0;a.set(e,t),a.set(t,e);var f=c;for(;++p<i;){var v=e[u=s[p]],m=t[u];if(r)var g=c?r(m,v,u,t,e,a):r(v,m,u,e,t,a);if(!(void 0===g?v===m||n(v,m,r,o,a):g)){d=!1;break}f||(f="constructor"==u)}if(d&&!f){var y=e.constructor,b=t.constructor;y==b||!("constructor"in e)||!("constructor"in t)||"function"==typeof y&&y instanceof y&&"function"==typeof b&&b instanceof b||(d=!1)}return a.delete(e),a.delete(t),d}(e,t,n,r,o,a)}(e,t,Re,n,r,o))}function De(e){return!(!ct(e)||function(e){return!!re&&re in e}(e))&&(ot(e)||G(e)?se:N).test($e(e))}function Ie(e){return"function"==typeof e?e:null==e?ut:"object"==typeof e?nt(e)?function(e,t){if(Ge(e)&&Ye(t))return Qe(Xe(e),t);return function(n){var r=function(e,t,n){var r=null==e?void 0:Le(e,t);return void 0===r?n:r}(n,e);return void 0===r&&r===t?function(e,t){return null!=e&&function(e,t,n){t=Ge(t,e)?[t]:Fe(t);var r,o=-1,a=t.length;for(;++o<a;){var c=Xe(t[o]);if(!(r=null!=e&&n(e,c)))break;e=e[c]}if(r)return r;return!!(a=e?e.length:0)&&at(a)&&Ue(c,a)&&(nt(e)||tt(e))}(e,t,Ve)}(n,e):Re(t,r,void 0,3)}}(e[0],e[1]):function(e){var t=function(e){var t=pt(e),n=t.length;for(;n--;){var r=t[n],o=e[r];t[n]=[r,o,Ye(o)]}return t}(e);if(1==t.length&&t[0][2])return Qe(t[0][0],t[0][1]);return function(n){return n===e||function(e,t,n,r){var o=n.length,a=o,c=!r;if(null==e)return!a;for(e=Object(e);o--;){var s=n[o];if(c&&s[2]?s[1]!==e[s[0]]:!(s[0]in e))return!1}for(;++o<a;){var i=(s=n[o])[0],l=e[i],p=s[1];if(c&&s[2]){if(void 0===l&&!(i in e))return!1}else{var u=new ke;if(r)var h=r(l,p,i,e,t,u);if(!(void 0===h?Re(p,l,r,3,u):h))return!1}}return!0}(n,e,t)}}(e):Ge(t=e)?(n=Xe(t),function(e){return null==e?void 0:e[n]}):function(e){return function(t){return Le(t,e)}}(t);var t,n}function Ae(e){if(n=(t=e)&&t.constructor,r="function"==typeof n&&n.prototype||te,t!==r)return he(e);var t,n,r,o=[];for(var a in Object(e))ae.call(e,a)&&"constructor"!=a&&o.push(a);return o}function Fe(e){return nt(e)?e:Je(e)}function Be(e,t,n,r,o,a){var c=2&o,s=e.length,i=t.length;if(s!=i&&!(c&&i>s))return!1;var l=a.get(e);if(l&&a.get(t))return l==t;var p=-1,u=!0,h=1&o?new Pe:void 0;for(a.set(e,t),a.set(t,e);++p<s;){var d=e[p],f=t[p];if(r)var v=c?r(f,d,p,t,e,a):r(d,f,p,e,t,a);if(void 0!==v){if(v)continue;u=!1;break}if(h){if(!U(t,(function(e,t){if(!h.has(t)&&(d===e||n(d,e,r,o,a)))return h.add(t)}))){u=!1;break}}else if(d!==f&&!n(d,f,r,o,a)){u=!1;break}}return a.delete(e),a.delete(t),u}function qe(e,t){var n,r,o=e.__data__;return("string"==(r=typeof(n=t))||"number"==r||"symbol"==r||"boolean"==r?"__proto__"!==n:null===n)?o["string"==typeof t?"string":"hash"]:o.map}function Ke(e,t){var n=function(e,t){return null==e?void 0:e[t]}(e,t);return De(n)?n:void 0}Ee.prototype.clear=function(){this.__data__=be?be(null):{}},Ee.prototype.delete=function(e){return this.has(e)&&delete this.__data__[e]},Ee.prototype.get=function(e){var t=this.__data__;if(be){var n=t[e];return n===r?void 0:n}return ae.call(t,e)?t[e]:void 0},Ee.prototype.has=function(e){var t=this.__data__;return be?void 0!==t[e]:ae.call(t,e)},Ee.prototype.set=function(e,t){return this.__data__[e]=be&&void 0===t?r:t,this},He.prototype.clear=function(){this.__data__=[]},He.prototype.delete=function(e){var t=this.__data__,n=Te(t,e);return!(n<0)&&(n==t.length-1?t.pop():ue.call(t,n,1),!0)},He.prototype.get=function(e){var t=this.__data__,n=Te(t,e);return n<0?void 0:t[n][1]},He.prototype.has=function(e){return Te(this.__data__,e)>-1},He.prototype.set=function(e,t){var n=this.__data__,r=Te(n,e);return r<0?n.push([e,t]):n[r][1]=t,this},je.prototype.clear=function(){this.__data__={hash:new Ee,map:new(ve||He),string:new Ee}},je.prototype.delete=function(e){return qe(this,e).delete(e)},je.prototype.get=function(e){return qe(this,e).get(e)},je.prototype.has=function(e){return qe(this,e).has(e)},je.prototype.set=function(e,t){return qe(this,e).set(e,t),this},Pe.prototype.add=Pe.prototype.push=function(e){return this.__data__.set(e,r),this},Pe.prototype.has=function(e){return this.__data__.has(e)},ke.prototype.clear=function(){this.__data__=new He},ke.prototype.delete=function(e){return this.__data__.delete(e)},ke.prototype.get=function(e){return this.__data__.get(e)},ke.prototype.has=function(e){return this.__data__.has(e)},ke.prototype.set=function(e,t){var n=this.__data__;if(n instanceof He){var r=n.__data__;if(!ve||r.length<199)return r.push([e,t]),this;n=this.__data__=new je(r)}return n.set(e,t),this};var We=function(e){return ce.call(e)};function Ue(e,t){return!!(t=null==t?a:t)&&("number"==typeof e||L.test(e))&&e>-1&&e%1==0&&e<t}function Ge(e,t){if(nt(e))return!1;var n=typeof e;return!("number"!=n&&"symbol"!=n&&"boolean"!=n&&null!=e&&!it(e))||(S.test(e)||!M.test(e)||null!=t&&e in Object(t))}function Ye(e){return e==e&&!ct(e)}function Qe(e,t){return function(n){return null!=n&&(n[e]===t&&(void 0!==t||e in Object(n)))}}(fe&&We(new fe(new ArrayBuffer(1)))!=O||ve&&We(new ve)!=f||me&&We(me.resolve())!=g||ge&&We(new ge)!=b||ye&&We(new ye)!=x)&&(We=function(e){var t=ce.call(e),n=t==m?e.constructor:void 0,r=n?$e(n):void 0;if(r)switch(r){case we:return O;case ze:return f;case xe:return g;case _e:return b;case Oe:return x}return t});var Je=Ze((function(e){var t;e=null==(t=e)?"":function(e){if("string"==typeof e)return e;if(it(e))return Ce?Ce.call(e):"";var t=e+"";return"0"==t&&1/e==-1/0?"-0":t}(t);var n=[];return C.test(e)&&n.push(""),e.replace(E,(function(e,t,r,o){n.push(r?o.replace(j,"$1"):t||e)})),n}));function Xe(e){if("string"==typeof e||it(e))return e;var t=e+"";return"0"==t&&1/e==-1/0?"-0":t}function $e(e){if(null!=e){try{return oe.call(e)}catch(e){}try{return e+""}catch(e){}}return""}function Ze(e,t){if("function"!=typeof e||t&&"function"!=typeof t)throw new TypeError("Expected a function");var n=function(){var r=arguments,o=t?t.apply(this,r):r[0],a=n.cache;if(a.has(o))return a.get(o);var c=e.apply(this,r);return n.cache=a.set(o,c),c};return n.cache=new(Ze.Cache||je),n}function et(e,t){return e===t||e!=e&&t!=t}function tt(e){return function(e){return st(e)&&rt(e)}(e)&&ae.call(e,"callee")&&(!pe.call(e,"callee")||ce.call(e)==i)}Ze.Cache=je;var nt=Array.isArray;function rt(e){return null!=e&&at(e.length)&&!ot(e)}function ot(e){var t=ct(e)?ce.call(e):"";return t==d||"[object GeneratorFunction]"==t}function at(e){return"number"==typeof e&&e>-1&&e%1==0&&e<=a}function ct(e){var t=typeof e;return!!e&&("object"==t||"function"==t)}function st(e){return!!e&&"object"==typeof e}function it(e){return"symbol"==typeof e||st(e)&&ce.call(e)==z}var lt=W?function(e){return function(t){return e(t)}}(W):function(e){return st(e)&&at(e.length)&&!!V[ce.call(e)]};function pt(e){return rt(e)?Ne(e):Ae(e)}function ut(e){return e}n.exports=function(e,t,n){var r=e?e.length:0;if(!r)return-1;var a,i,l=null==n?0:(a=function(e){return e?(e=function(e){if("number"==typeof e)return e;if(it(e))return s;if(ct(e)){var t="function"==typeof e.valueOf?e.valueOf():e;e=ct(t)?t+"":t}if("string"!=typeof e)return 0===e?e:+e;e=e.replace(H,"");var n=k.test(e);return n||T.test(e)?R(e.slice(2),n?2:8):P.test(e)?s:+e}(e))===o||e===-1/0?(e<0?-1:1)*c:e==e?e:0:0===e?e:0}(n),i=a%1,a==a?i?a-i:a:0);return l<0&&(l=de(r+l,0)),function(e,t,n,r){for(var o=e.length,a=n+(r?1:-1);r?a--:++a<o;)if(t(e[a],a,e))return a;return-1}(e,Ie(t),l)}}).call(this,n(10),n(16)(e))},function(e,t,n){"use strict";var r=function(){};e.exports=r},function(e,t,n){(function(e,n){var r="__lodash_hash_undefined__",o=9007199254740991,a="[object Arguments]",c="[object Array]",s="[object Boolean]",i="[object Date]",l="[object Error]",p="[object Function]",u="[object Map]",h="[object Number]",d="[object Object]",f="[object Promise]",v="[object RegExp]",m="[object Set]",g="[object String]",y="[object Symbol]",b="[object WeakMap]",w="[object ArrayBuffer]",z="[object DataView]",x=/^\[object .+?Constructor\]$/,_=/^(?:0|[1-9]\d*)$/,O={};O["[object Float32Array]"]=O["[object Float64Array]"]=O["[object Int8Array]"]=O["[object Int16Array]"]=O["[object Int32Array]"]=O["[object Uint8Array]"]=O["[object Uint8ClampedArray]"]=O["[object Uint16Array]"]=O["[object Uint32Array]"]=!0,O[a]=O[c]=O[w]=O[s]=O[z]=O[i]=O[l]=O[p]=O[u]=O[h]=O[d]=O[v]=O[m]=O[g]=O[b]=!1;var M="object"==typeof e&&e&&e.Object===Object&&e,S="object"==typeof self&&self&&self.Object===Object&&self,C=M||S||Function("return this")(),E=t&&!t.nodeType&&t,H=E&&"object"==typeof n&&n&&!n.nodeType&&n,j=H&&H.exports===E,P=j&&M.process,k=function(){try{return P&&P.binding&&P.binding("util")}catch(e){}}(),N=k&&k.isTypedArray;function T(e,t){for(var n=-1,r=null==e?0:e.length;++n<r;)if(t(e[n],n,e))return!0;return!1}function L(e){var t=-1,n=Array(e.size);return e.forEach((function(e,r){n[++t]=[r,e]})),n}function V(e){var t=-1,n=Array(e.size);return e.forEach((function(e){n[++t]=e})),n}var R,D,I,A=Array.prototype,F=Function.prototype,B=Object.prototype,q=C["__core-js_shared__"],K=F.toString,W=B.hasOwnProperty,U=(R=/[^.]+$/.exec(q&&q.keys&&q.keys.IE_PROTO||""))?"Symbol(src)_1."+R:"",G=B.toString,Y=RegExp("^"+K.call(W).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),Q=j?C.Buffer:void 0,J=C.Symbol,X=C.Uint8Array,$=B.propertyIsEnumerable,Z=A.splice,ee=J?J.toStringTag:void 0,te=Object.getOwnPropertySymbols,ne=Q?Q.isBuffer:void 0,re=(D=Object.keys,I=Object,function(e){return D(I(e))}),oe=ke(C,"DataView"),ae=ke(C,"Map"),ce=ke(C,"Promise"),se=ke(C,"Set"),ie=ke(C,"WeakMap"),le=ke(Object,"create"),pe=Ve(oe),ue=Ve(ae),he=Ve(ce),de=Ve(se),fe=Ve(ie),ve=J?J.prototype:void 0,me=ve?ve.valueOf:void 0;function ge(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}function ye(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}function be(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}function we(e){var t=-1,n=null==e?0:e.length;for(this.__data__=new be;++t<n;)this.add(e[t])}function ze(e){var t=this.__data__=new ye(e);this.size=t.size}function xe(e,t){var n=Ie(e),r=!n&&De(e),o=!n&&!r&&Ae(e),a=!n&&!r&&!o&&We(e),c=n||r||o||a,s=c?function(e,t){for(var n=-1,r=Array(e);++n<e;)r[n]=t(n);return r}(e.length,String):[],i=s.length;for(var l in e)!t&&!W.call(e,l)||c&&("length"==l||o&&("offset"==l||"parent"==l)||a&&("buffer"==l||"byteLength"==l||"byteOffset"==l)||Le(l,i))||s.push(l);return s}function _e(e,t){for(var n=e.length;n--;)if(Re(e[n][0],t))return n;return-1}function Oe(e){return null==e?void 0===e?"[object Undefined]":"[object Null]":ee&&ee in Object(e)?function(e){var t=W.call(e,ee),n=e[ee];try{e[ee]=void 0;var r=!0}catch(e){}var o=G.call(e);r&&(t?e[ee]=n:delete e[ee]);return o}(e):function(e){return G.call(e)}(e)}function Me(e){return Ke(e)&&Oe(e)==a}function Se(e,t,n,r,o){return e===t||(null==e||null==t||!Ke(e)&&!Ke(t)?e!=e&&t!=t:function(e,t,n,r,o,p){var f=Ie(e),b=Ie(t),x=f?c:Te(e),_=b?c:Te(t),O=(x=x==a?d:x)==d,M=(_=_==a?d:_)==d,S=x==_;if(S&&Ae(e)){if(!Ae(t))return!1;f=!0,O=!1}if(S&&!O)return p||(p=new ze),f||We(e)?He(e,t,n,r,o,p):function(e,t,n,r,o,a,c){switch(n){case z:if(e.byteLength!=t.byteLength||e.byteOffset!=t.byteOffset)return!1;e=e.buffer,t=t.buffer;case w:return!(e.byteLength!=t.byteLength||!a(new X(e),new X(t)));case s:case i:case h:return Re(+e,+t);case l:return e.name==t.name&&e.message==t.message;case v:case g:return e==t+"";case u:var p=L;case m:var d=1&r;if(p||(p=V),e.size!=t.size&&!d)return!1;var f=c.get(e);if(f)return f==t;r|=2,c.set(e,t);var b=He(p(e),p(t),r,o,a,c);return c.delete(e),b;case y:if(me)return me.call(e)==me.call(t)}return!1}(e,t,x,n,r,o,p);if(!(1&n)){var C=O&&W.call(e,"__wrapped__"),E=M&&W.call(t,"__wrapped__");if(C||E){var H=C?e.value():e,j=E?t.value():t;return p||(p=new ze),o(H,j,n,r,p)}}if(!S)return!1;return p||(p=new ze),function(e,t,n,r,o,a){var c=1&n,s=je(e),i=s.length,l=je(t).length;if(i!=l&&!c)return!1;var p=i;for(;p--;){var u=s[p];if(!(c?u in t:W.call(t,u)))return!1}var h=a.get(e);if(h&&a.get(t))return h==t;var d=!0;a.set(e,t),a.set(t,e);var f=c;for(;++p<i;){var v=e[u=s[p]],m=t[u];if(r)var g=c?r(m,v,u,t,e,a):r(v,m,u,e,t,a);if(!(void 0===g?v===m||o(v,m,n,r,a):g)){d=!1;break}f||(f="constructor"==u)}if(d&&!f){var y=e.constructor,b=t.constructor;y==b||!("constructor"in e)||!("constructor"in t)||"function"==typeof y&&y instanceof y&&"function"==typeof b&&b instanceof b||(d=!1)}return a.delete(e),a.delete(t),d}(e,t,n,r,o,p)}(e,t,n,r,Se,o))}function Ce(e){return!(!qe(e)||function(e){return!!U&&U in e}(e))&&(Fe(e)?Y:x).test(Ve(e))}function Ee(e){if(n=(t=e)&&t.constructor,r="function"==typeof n&&n.prototype||B,t!==r)return re(e);var t,n,r,o=[];for(var a in Object(e))W.call(e,a)&&"constructor"!=a&&o.push(a);return o}function He(e,t,n,r,o,a){var c=1&n,s=e.length,i=t.length;if(s!=i&&!(c&&i>s))return!1;var l=a.get(e);if(l&&a.get(t))return l==t;var p=-1,u=!0,h=2&n?new we:void 0;for(a.set(e,t),a.set(t,e);++p<s;){var d=e[p],f=t[p];if(r)var v=c?r(f,d,p,t,e,a):r(d,f,p,e,t,a);if(void 0!==v){if(v)continue;u=!1;break}if(h){if(!T(t,(function(e,t){if(c=t,!h.has(c)&&(d===e||o(d,e,n,r,a)))return h.push(t);var c}))){u=!1;break}}else if(d!==f&&!o(d,f,n,r,a)){u=!1;break}}return a.delete(e),a.delete(t),u}function je(e){return function(e,t,n){var r=t(e);return Ie(e)?r:function(e,t){for(var n=-1,r=t.length,o=e.length;++n<r;)e[o+n]=t[n];return e}(r,n(e))}(e,Ue,Ne)}function Pe(e,t){var n,r,o=e.__data__;return("string"==(r=typeof(n=t))||"number"==r||"symbol"==r||"boolean"==r?"__proto__"!==n:null===n)?o["string"==typeof t?"string":"hash"]:o.map}function ke(e,t){var n=function(e,t){return null==e?void 0:e[t]}(e,t);return Ce(n)?n:void 0}ge.prototype.clear=function(){this.__data__=le?le(null):{},this.size=0},ge.prototype.delete=function(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t},ge.prototype.get=function(e){var t=this.__data__;if(le){var n=t[e];return n===r?void 0:n}return W.call(t,e)?t[e]:void 0},ge.prototype.has=function(e){var t=this.__data__;return le?void 0!==t[e]:W.call(t,e)},ge.prototype.set=function(e,t){var n=this.__data__;return this.size+=this.has(e)?0:1,n[e]=le&&void 0===t?r:t,this},ye.prototype.clear=function(){this.__data__=[],this.size=0},ye.prototype.delete=function(e){var t=this.__data__,n=_e(t,e);return!(n<0)&&(n==t.length-1?t.pop():Z.call(t,n,1),--this.size,!0)},ye.prototype.get=function(e){var t=this.__data__,n=_e(t,e);return n<0?void 0:t[n][1]},ye.prototype.has=function(e){return _e(this.__data__,e)>-1},ye.prototype.set=function(e,t){var n=this.__data__,r=_e(n,e);return r<0?(++this.size,n.push([e,t])):n[r][1]=t,this},be.prototype.clear=function(){this.size=0,this.__data__={hash:new ge,map:new(ae||ye),string:new ge}},be.prototype.delete=function(e){var t=Pe(this,e).delete(e);return this.size-=t?1:0,t},be.prototype.get=function(e){return Pe(this,e).get(e)},be.prototype.has=function(e){return Pe(this,e).has(e)},be.prototype.set=function(e,t){var n=Pe(this,e),r=n.size;return n.set(e,t),this.size+=n.size==r?0:1,this},we.prototype.add=we.prototype.push=function(e){return this.__data__.set(e,r),this},we.prototype.has=function(e){return this.__data__.has(e)},ze.prototype.clear=function(){this.__data__=new ye,this.size=0},ze.prototype.delete=function(e){var t=this.__data__,n=t.delete(e);return this.size=t.size,n},ze.prototype.get=function(e){return this.__data__.get(e)},ze.prototype.has=function(e){return this.__data__.has(e)},ze.prototype.set=function(e,t){var n=this.__data__;if(n instanceof ye){var r=n.__data__;if(!ae||r.length<199)return r.push([e,t]),this.size=++n.size,this;n=this.__data__=new be(r)}return n.set(e,t),this.size=n.size,this};var Ne=te?function(e){return null==e?[]:(e=Object(e),function(e,t){for(var n=-1,r=null==e?0:e.length,o=0,a=[];++n<r;){var c=e[n];t(c,n,e)&&(a[o++]=c)}return a}(te(e),(function(t){return $.call(e,t)})))}:function(){return[]},Te=Oe;function Le(e,t){return!!(t=null==t?o:t)&&("number"==typeof e||_.test(e))&&e>-1&&e%1==0&&e<t}function Ve(e){if(null!=e){try{return K.call(e)}catch(e){}try{return e+""}catch(e){}}return""}function Re(e,t){return e===t||e!=e&&t!=t}(oe&&Te(new oe(new ArrayBuffer(1)))!=z||ae&&Te(new ae)!=u||ce&&Te(ce.resolve())!=f||se&&Te(new se)!=m||ie&&Te(new ie)!=b)&&(Te=function(e){var t=Oe(e),n=t==d?e.constructor:void 0,r=n?Ve(n):"";if(r)switch(r){case pe:return z;case ue:return u;case he:return f;case de:return m;case fe:return b}return t});var De=Me(function(){return arguments}())?Me:function(e){return Ke(e)&&W.call(e,"callee")&&!$.call(e,"callee")},Ie=Array.isArray;var Ae=ne||function(){return!1};function Fe(e){if(!qe(e))return!1;var t=Oe(e);return t==p||"[object GeneratorFunction]"==t||"[object AsyncFunction]"==t||"[object Proxy]"==t}function Be(e){return"number"==typeof e&&e>-1&&e%1==0&&e<=o}function qe(e){var t=typeof e;return null!=e&&("object"==t||"function"==t)}function Ke(e){return null!=e&&"object"==typeof e}var We=N?function(e){return function(t){return e(t)}}(N):function(e){return Ke(e)&&Be(e.length)&&!!O[Oe(e)]};function Ue(e){return null!=(t=e)&&Be(t.length)&&!Fe(t)?xe(e):Ee(e);var t}n.exports=function(e,t){return Se(e,t)}}).call(this,n(10),n(16)(e))},function(e,t){var n;n=function(){return this}();try{n=n||new Function("return this")()}catch(e){"object"==typeof window&&(n=window)}e.exports=n},function(e,t,n){(function(t){var n="[object Symbol]",r=/[\\^$.*+?()[\]{}|]/g,o=RegExp(r.source),a="object"==typeof t&&t&&t.Object===Object&&t,c="object"==typeof self&&self&&self.Object===Object&&self,s=a||c||Function("return this")(),i=Object.prototype.toString,l=s.Symbol,p=l?l.prototype:void 0,u=p?p.toString:void 0;function h(e){if("string"==typeof e)return e;if(function(e){return"symbol"==typeof e||function(e){return!!e&&"object"==typeof e}(e)&&i.call(e)==n}(e))return u?u.call(e):"";var t=e+"";return"0"==t&&1/e==-Infinity?"-0":t}e.exports=function(e){var t;return(e=null==(t=e)?"":h(t))&&o.test(e)?e.replace(r,"\\$&"):e}}).call(this,n(10))},function(e,t,n){(function(e,n){var r="__lodash_hash_undefined__",o=1/0,a=9007199254740991,c=17976931348623157e292,s=NaN,i="[object Arguments]",l="[object Array]",p="[object Boolean]",u="[object Date]",h="[object Error]",d="[object Function]",f="[object Map]",v="[object Number]",m="[object Object]",g="[object Promise]",y="[object RegExp]",b="[object Set]",w="[object String]",z="[object Symbol]",x="[object WeakMap]",_="[object ArrayBuffer]",O="[object DataView]",M=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,S=/^\w*$/,C=/^\./,E=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,H=/^\s+|\s+$/g,j=/\\(\\)?/g,P=/^[-+]0x[0-9a-f]+$/i,k=/^0b[01]+$/i,N=/^\[object .+?Constructor\]$/,T=/^0o[0-7]+$/i,L=/^(?:0|[1-9]\d*)$/,V={};V["[object Float32Array]"]=V["[object Float64Array]"]=V["[object Int8Array]"]=V["[object Int16Array]"]=V["[object Int32Array]"]=V["[object Uint8Array]"]=V["[object Uint8ClampedArray]"]=V["[object Uint16Array]"]=V["[object Uint32Array]"]=!0,V[i]=V[l]=V[_]=V[p]=V[O]=V[u]=V[h]=V[d]=V[f]=V[v]=V[m]=V[y]=V[b]=V[w]=V[x]=!1;var R=parseInt,D="object"==typeof e&&e&&e.Object===Object&&e,I="object"==typeof self&&self&&self.Object===Object&&self,A=D||I||Function("return this")(),F=t&&!t.nodeType&&t,B=F&&"object"==typeof n&&n&&!n.nodeType&&n,q=B&&B.exports===F&&D.process,K=function(){try{return q&&q.binding("util")}catch(e){}}(),W=K&&K.isTypedArray;function U(e,t){for(var n=-1,r=e?e.length:0;++n<r;)if(t(e[n],n,e))return!0;return!1}function G(e){var t=!1;if(null!=e&&"function"!=typeof e.toString)try{t=!!(e+"")}catch(e){}return t}function Y(e){var t=-1,n=Array(e.size);return e.forEach((function(e,r){n[++t]=[r,e]})),n}function Q(e){var t=-1,n=Array(e.size);return e.forEach((function(e){n[++t]=e})),n}var J,X,$,Z=Array.prototype,ee=Function.prototype,te=Object.prototype,ne=A["__core-js_shared__"],re=(J=/[^.]+$/.exec(ne&&ne.keys&&ne.keys.IE_PROTO||""))?"Symbol(src)_1."+J:"",oe=ee.toString,ae=te.hasOwnProperty,ce=te.toString,se=RegExp("^"+oe.call(ae).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),ie=A.Symbol,le=A.Uint8Array,pe=te.propertyIsEnumerable,ue=Z.splice,he=(X=Object.keys,$=Object,function(e){return X($(e))}),de=Math.max,fe=Ke(A,"DataView"),ve=Ke(A,"Map"),me=Ke(A,"Promise"),ge=Ke(A,"Set"),ye=Ke(A,"WeakMap"),be=Ke(Object,"create"),we=$e(fe),ze=$e(ve),xe=$e(me),_e=$e(ge),Oe=$e(ye),Me=ie?ie.prototype:void 0,Se=Me?Me.valueOf:void 0,Ce=Me?Me.toString:void 0;function Ee(e){var t=-1,n=e?e.length:0;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}function He(e){var t=-1,n=e?e.length:0;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}function je(e){var t=-1,n=e?e.length:0;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}function Pe(e){var t=-1,n=e?e.length:0;for(this.__data__=new je;++t<n;)this.add(e[t])}function ke(e){this.__data__=new He(e)}function Ne(e,t){var n=ot(e)||rt(e)?function(e,t){for(var n=-1,r=Array(e);++n<e;)r[n]=t(n);return r}(e.length,String):[],r=n.length,o=!!r;for(var a in e)!t&&!ae.call(e,a)||o&&("length"==a||Ue(a,r))||n.push(a);return n}function Te(e,t){for(var n=e.length;n--;)if(nt(e[n][0],t))return n;return-1}function Le(e,t){for(var n=0,r=(t=Ge(t,e)?[t]:Fe(t)).length;null!=e&&n<r;)e=e[Xe(t[n++])];return n&&n==r?e:void 0}function Ve(e,t){return null!=e&&t in Object(e)}function Re(e,t,n,r,o){return e===t||(null==e||null==t||!it(e)&&!lt(t)?e!=e&&t!=t:function(e,t,n,r,o,a){var c=ot(e),s=ot(t),d=l,g=l;c||(d=(d=We(e))==i?m:d);s||(g=(g=We(t))==i?m:g);var x=d==m&&!G(e),M=g==m&&!G(t),S=d==g;if(S&&!x)return a||(a=new ke),c||ut(e)?Be(e,t,n,r,o,a):function(e,t,n,r,o,a,c){switch(n){case O:if(e.byteLength!=t.byteLength||e.byteOffset!=t.byteOffset)return!1;e=e.buffer,t=t.buffer;case _:return!(e.byteLength!=t.byteLength||!r(new le(e),new le(t)));case p:case u:case v:return nt(+e,+t);case h:return e.name==t.name&&e.message==t.message;case y:case w:return e==t+"";case f:var s=Y;case b:var i=2&a;if(s||(s=Q),e.size!=t.size&&!i)return!1;var l=c.get(e);if(l)return l==t;a|=1,c.set(e,t);var d=Be(s(e),s(t),r,o,a,c);return c.delete(e),d;case z:if(Se)return Se.call(e)==Se.call(t)}return!1}(e,t,d,n,r,o,a);if(!(2&o)){var C=x&&ae.call(e,"__wrapped__"),E=M&&ae.call(t,"__wrapped__");if(C||E){var H=C?e.value():e,j=E?t.value():t;return a||(a=new ke),n(H,j,r,o,a)}}if(!S)return!1;return a||(a=new ke),function(e,t,n,r,o,a){var c=2&o,s=ht(e),i=s.length,l=ht(t).length;if(i!=l&&!c)return!1;var p=i;for(;p--;){var u=s[p];if(!(c?u in t:ae.call(t,u)))return!1}var h=a.get(e);if(h&&a.get(t))return h==t;var d=!0;a.set(e,t),a.set(t,e);var f=c;for(;++p<i;){var v=e[u=s[p]],m=t[u];if(r)var g=c?r(m,v,u,t,e,a):r(v,m,u,e,t,a);if(!(void 0===g?v===m||n(v,m,r,o,a):g)){d=!1;break}f||(f="constructor"==u)}if(d&&!f){var y=e.constructor,b=t.constructor;y==b||!("constructor"in e)||!("constructor"in t)||"function"==typeof y&&y instanceof y&&"function"==typeof b&&b instanceof b||(d=!1)}return a.delete(e),a.delete(t),d}(e,t,n,r,o,a)}(e,t,Re,n,r,o))}function De(e){return!(!it(e)||function(e){return!!re&&re in e}(e))&&(ct(e)||G(e)?se:N).test($e(e))}function Ie(e){return"function"==typeof e?e:null==e?dt:"object"==typeof e?ot(e)?function(e,t){if(Ge(e)&&Ye(t))return Qe(Xe(e),t);return function(n){var r=function(e,t,n){var r=null==e?void 0:Le(e,t);return void 0===r?n:r}(n,e);return void 0===r&&r===t?function(e,t){return null!=e&&function(e,t,n){t=Ge(t,e)?[t]:Fe(t);var r,o=-1,a=t.length;for(;++o<a;){var c=Xe(t[o]);if(!(r=null!=e&&n(e,c)))break;e=e[c]}if(r)return r;return!!(a=e?e.length:0)&&st(a)&&Ue(c,a)&&(ot(e)||rt(e))}(e,t,Ve)}(n,e):Re(t,r,void 0,3)}}(e[0],e[1]):function(e){var t=function(e){var t=ht(e),n=t.length;for(;n--;){var r=t[n],o=e[r];t[n]=[r,o,Ye(o)]}return t}(e);if(1==t.length&&t[0][2])return Qe(t[0][0],t[0][1]);return function(n){return n===e||function(e,t,n,r){var o=n.length,a=o,c=!r;if(null==e)return!a;for(e=Object(e);o--;){var s=n[o];if(c&&s[2]?s[1]!==e[s[0]]:!(s[0]in e))return!1}for(;++o<a;){var i=(s=n[o])[0],l=e[i],p=s[1];if(c&&s[2]){if(void 0===l&&!(i in e))return!1}else{var u=new ke;if(r)var h=r(l,p,i,e,t,u);if(!(void 0===h?Re(p,l,r,3,u):h))return!1}}return!0}(n,e,t)}}(e):Ge(t=e)?(n=Xe(t),function(e){return null==e?void 0:e[n]}):function(e){return function(t){return Le(t,e)}}(t);var t,n}function Ae(e){if(n=(t=e)&&t.constructor,r="function"==typeof n&&n.prototype||te,t!==r)return he(e);var t,n,r,o=[];for(var a in Object(e))ae.call(e,a)&&"constructor"!=a&&o.push(a);return o}function Fe(e){return ot(e)?e:Je(e)}function Be(e,t,n,r,o,a){var c=2&o,s=e.length,i=t.length;if(s!=i&&!(c&&i>s))return!1;var l=a.get(e);if(l&&a.get(t))return l==t;var p=-1,u=!0,h=1&o?new Pe:void 0;for(a.set(e,t),a.set(t,e);++p<s;){var d=e[p],f=t[p];if(r)var v=c?r(f,d,p,t,e,a):r(d,f,p,e,t,a);if(void 0!==v){if(v)continue;u=!1;break}if(h){if(!U(t,(function(e,t){if(!h.has(t)&&(d===e||n(d,e,r,o,a)))return h.add(t)}))){u=!1;break}}else if(d!==f&&!n(d,f,r,o,a)){u=!1;break}}return a.delete(e),a.delete(t),u}function qe(e,t){var n,r,o=e.__data__;return("string"==(r=typeof(n=t))||"number"==r||"symbol"==r||"boolean"==r?"__proto__"!==n:null===n)?o["string"==typeof t?"string":"hash"]:o.map}function Ke(e,t){var n=function(e,t){return null==e?void 0:e[t]}(e,t);return De(n)?n:void 0}Ee.prototype.clear=function(){this.__data__=be?be(null):{}},Ee.prototype.delete=function(e){return this.has(e)&&delete this.__data__[e]},Ee.prototype.get=function(e){var t=this.__data__;if(be){var n=t[e];return n===r?void 0:n}return ae.call(t,e)?t[e]:void 0},Ee.prototype.has=function(e){var t=this.__data__;return be?void 0!==t[e]:ae.call(t,e)},Ee.prototype.set=function(e,t){return this.__data__[e]=be&&void 0===t?r:t,this},He.prototype.clear=function(){this.__data__=[]},He.prototype.delete=function(e){var t=this.__data__,n=Te(t,e);return!(n<0)&&(n==t.length-1?t.pop():ue.call(t,n,1),!0)},He.prototype.get=function(e){var t=this.__data__,n=Te(t,e);return n<0?void 0:t[n][1]},He.prototype.has=function(e){return Te(this.__data__,e)>-1},He.prototype.set=function(e,t){var n=this.__data__,r=Te(n,e);return r<0?n.push([e,t]):n[r][1]=t,this},je.prototype.clear=function(){this.__data__={hash:new Ee,map:new(ve||He),string:new Ee}},je.prototype.delete=function(e){return qe(this,e).delete(e)},je.prototype.get=function(e){return qe(this,e).get(e)},je.prototype.has=function(e){return qe(this,e).has(e)},je.prototype.set=function(e,t){return qe(this,e).set(e,t),this},Pe.prototype.add=Pe.prototype.push=function(e){return this.__data__.set(e,r),this},Pe.prototype.has=function(e){return this.__data__.has(e)},ke.prototype.clear=function(){this.__data__=new He},ke.prototype.delete=function(e){return this.__data__.delete(e)},ke.prototype.get=function(e){return this.__data__.get(e)},ke.prototype.has=function(e){return this.__data__.has(e)},ke.prototype.set=function(e,t){var n=this.__data__;if(n instanceof He){var r=n.__data__;if(!ve||r.length<199)return r.push([e,t]),this;n=this.__data__=new je(r)}return n.set(e,t),this};var We=function(e){return ce.call(e)};function Ue(e,t){return!!(t=null==t?a:t)&&("number"==typeof e||L.test(e))&&e>-1&&e%1==0&&e<t}function Ge(e,t){if(ot(e))return!1;var n=typeof e;return!("number"!=n&&"symbol"!=n&&"boolean"!=n&&null!=e&&!pt(e))||(S.test(e)||!M.test(e)||null!=t&&e in Object(t))}function Ye(e){return e==e&&!it(e)}function Qe(e,t){return function(n){return null!=n&&(n[e]===t&&(void 0!==t||e in Object(n)))}}(fe&&We(new fe(new ArrayBuffer(1)))!=O||ve&&We(new ve)!=f||me&&We(me.resolve())!=g||ge&&We(new ge)!=b||ye&&We(new ye)!=x)&&(We=function(e){var t=ce.call(e),n=t==m?e.constructor:void 0,r=n?$e(n):void 0;if(r)switch(r){case we:return O;case ze:return f;case xe:return g;case _e:return b;case Oe:return x}return t});var Je=tt((function(e){var t;e=null==(t=e)?"":function(e){if("string"==typeof e)return e;if(pt(e))return Ce?Ce.call(e):"";var t=e+"";return"0"==t&&1/e==-1/0?"-0":t}(t);var n=[];return C.test(e)&&n.push(""),e.replace(E,(function(e,t,r,o){n.push(r?o.replace(j,"$1"):t||e)})),n}));function Xe(e){if("string"==typeof e||pt(e))return e;var t=e+"";return"0"==t&&1/e==-1/0?"-0":t}function $e(e){if(null!=e){try{return oe.call(e)}catch(e){}try{return e+""}catch(e){}}return""}var Ze,et=(Ze=function(e,t,n){var r=e?e.length:0;if(!r)return-1;var a,i,l=null==n?0:(a=function(e){return e?(e=function(e){if("number"==typeof e)return e;if(pt(e))return s;if(it(e)){var t="function"==typeof e.valueOf?e.valueOf():e;e=it(t)?t+"":t}if("string"!=typeof e)return 0===e?e:+e;e=e.replace(H,"");var n=k.test(e);return n||T.test(e)?R(e.slice(2),n?2:8):P.test(e)?s:+e}(e))===o||e===-1/0?(e<0?-1:1)*c:e==e?e:0:0===e?e:0}(n),i=a%1,a==a?i?a-i:a:0);return l<0&&(l=de(r+l,0)),function(e,t,n,r){for(var o=e.length,a=n+(r?1:-1);r?a--:++a<o;)if(t(e[a],a,e))return a;return-1}(e,Ie(t),l)},function(e,t,n){var r=Object(e);if(!at(e)){var o=Ie(t);e=ht(e),t=function(e){return o(r[e],e,r)}}var a=Ze(e,t,n);return a>-1?r[o?e[a]:a]:void 0});function tt(e,t){if("function"!=typeof e||t&&"function"!=typeof t)throw new TypeError("Expected a function");var n=function(){var r=arguments,o=t?t.apply(this,r):r[0],a=n.cache;if(a.has(o))return a.get(o);var c=e.apply(this,r);return n.cache=a.set(o,c),c};return n.cache=new(tt.Cache||je),n}function nt(e,t){return e===t||e!=e&&t!=t}function rt(e){return function(e){return lt(e)&&at(e)}(e)&&ae.call(e,"callee")&&(!pe.call(e,"callee")||ce.call(e)==i)}tt.Cache=je;var ot=Array.isArray;function at(e){return null!=e&&st(e.length)&&!ct(e)}function ct(e){var t=it(e)?ce.call(e):"";return t==d||"[object GeneratorFunction]"==t}function st(e){return"number"==typeof e&&e>-1&&e%1==0&&e<=a}function it(e){var t=typeof e;return!!e&&("object"==t||"function"==t)}function lt(e){return!!e&&"object"==typeof e}function pt(e){return"symbol"==typeof e||lt(e)&&ce.call(e)==z}var ut=W?function(e){return function(t){return e(t)}}(W):function(e){return lt(e)&&st(e.length)&&!!V[ce.call(e)]};function ht(e){return at(e)?Ne(e):Ae(e)}function dt(e){return e}n.exports=et}).call(this,n(10),n(16)(e))},function(e){e.exports=JSON.parse('{"component":"app-launcher","status":"prod","display-name":"App Launcher","classKey":"AppLauncher","SLDS-component-path":"/components/app-launcher","dependencies":[{"component":"expandable-section","classKey":"AppLauncherExpandableSection"},{"component":"link","classKey":"AppLauncherLink"},{"component":"tile","classKey":"AppLauncherTile"}],"site-stories":[{"heading":"Default","path":"/__examples__/default.jsx"}],"url-slug":"app-launcher"}')},function(e,t){e.exports={colorBackgroundRowActive:"rgb(236, 235, 234)",colorBackgroundModalBrand:"rgb(0, 112, 210)",colorBackgroundNotification:"rgb(255, 255, 255)",colorBackgroundNotificationNew:"rgb(243, 242, 242)",colorBackgroundNotificationBadgeActive:"rgb(0, 57, 107)",colorBackgroundNotificationBadgeHover:"rgb(0, 95, 178)",colorContrastPrimary:"rgb(243, 242, 242)",colorBackgroundRowHover:"rgb(243, 242, 242)",colorForegroundPrimary:"rgb(255, 255, 255)",colorBackgroundErrorDark:"rgb(194, 57, 52)",colorBackgroundInfo:"rgb(112, 110, 107)",colorBackgroundTempModalTint:"rgba(43, 40, 38, 0.6)",colorBackgroundReminderHover:"rgb(255, 255, 255)",brandBandColorBackgroundSecondaryTransparent:"rgba(253, 253, 253, 0)",colorBackgroundNotificationBadge:"rgb(194, 57, 52)",colorBackgroundIndicatorDot:"rgb(22, 50, 92)",cardWrapperColorBackground:"rgb(255, 255, 255)",colorBackgroundAltInverse:"rgb(22, 50, 92)",popoverWalkthroughHeaderImage:"/assets/images/popovers/popover-header.png",colorBackgroundInputDisabled:"rgb(236, 235, 234)",colorBackgroundRowNew:"rgb(217, 255, 223)",colorBackgroundToggleHover:"rgb(150, 148, 146)",popoverWalkthroughColorBackground:"rgb(3, 46, 97)",colorBackgroundSuccessDark:"rgb(4, 132, 75)",colorBackgroundReminder:"rgb(244, 246, 249)",colorBackgroundStencil:"rgb(243, 242, 242)",colorBackgroundAlt2:"rgb(243, 242, 242)",colorBackgroundWarning:"rgb(255, 183, 93)",colorBackgroundButtonSuccessHover:"rgb(4, 132, 75)",popoverWalkthroughAltImage:"/assets/images/popovers/popover-action.png",colorBackgroundUtilityBarHover:"rgb(236, 235, 234)",progressColorBorderShade:"rgb(243, 242, 242)",colorBackgroundHighlightSearch:"rgb(255, 240, 63)",colorBackgroundToggle:"rgb(176, 173, 171)",colorBackgroundAnchor:"rgb(243, 242, 242)",popoverWalkthroughAltNubbinColorBackground:"rgb(33, 92, 160)",colorBackgroundDestructiveHover:"rgb(166, 26, 20)",progressColorBackgroundShade:"rgb(243, 242, 242)",colorBackground:"rgb(243, 242, 242)",colorBrandDark:"rgb(0, 112, 210)",colorBackgroundButtonSuccess:"rgb(75, 202, 129)",colorBackgroundBackdrop:"rgba(255, 255, 255, 0.75)",colorBrand:"rgb(21, 137, 238)",colorBackgroundChromeDesktop:"rgb(255, 255, 255)",pageHeaderColorBackground:"rgb(243, 242, 242)",colorBackgroundModalButtonActive:"rgba(0, 0, 0, 0.16)",colorBackgroundDestructive:"rgb(194, 57, 52)",colorBackgroundInputCheckboxSelected:"rgb(21, 137, 238)",colorBackgroundInputCheckbox:"rgb(255, 255, 255)",colorBackgroundPrimary:"rgb(243, 242, 242)",colorBackgroundSuccess:"rgb(75, 202, 129)",colorBackgroundInputCheckboxDisabled:"rgb(221, 219, 218)",colorBackgroundPill:"rgb(255, 255, 255)",colorBackgroundSpinnerDot:"rgb(176, 173, 171)",colorBackgroundBrandPrimaryFocus:"rgb(0, 95, 178)",colorBackgroundOffline:"rgb(62, 62, 60)",tableColorBackgroundHeaderHover:"rgb(255, 255, 255)",colorBackgroundBackdropTint:"rgb(250, 250, 249)",colorBackgroundBrandPrimaryActive:"rgb(0, 95, 178)",colorBackgroundInputActive:"rgb(255, 255, 255)",popoverWalkthroughColorBackgroundAlt:"rgb(22, 74, 133)",brandBandColorBackgroundSecondary:"rgb(253, 253, 253)",tableColorBackgroundHeader:"rgb(250, 250, 249)",colorBackgroundStencilAlt:"rgb(236, 235, 234)",colorBackgroundScrollbar:"rgb(236, 235, 234)",colorBackgroundToggleDisabled:"rgb(176, 173, 171)",colorBackgroundToast:"rgb(112, 110, 107)",colorBackgroundBrandPrimaryHover:"rgb(0, 95, 178)",colorBackgroundChromeMobile:"rgb(0, 112, 210)",brandBandColorBackgroundPrimaryTransparent:"rgba(253, 253, 253, 0)",colorBackgroundCustomer:"rgb(255, 154, 60)",colorBackgroundError:"rgb(212, 80, 76)",colorContrastSecondary:"rgb(243, 242, 242)",colorBackgroundBrowser:"rgb(112, 110, 107)",colorBackgroundAlt:"rgb(255, 255, 255)",colorBackgroundPost:"rgb(250, 250, 249)",colorBackgroundBrandPrimary:"rgb(0, 112, 210)",colorBackgroundRowSelected:"rgb(236, 235, 234)",colorBackgroundInput:"rgb(255, 255, 255)",colorBackgroundToastSuccess:"rgb(4, 132, 75)",colorBackgroundImageOverlay:"rgba(0, 0, 0, 0.4)",colorBrandDarker:"rgb(0, 95, 178)",colorBackgroundTempModal:"rgb(150, 148, 146)",colorBackgroundSelection:"rgb(216, 237, 255)",colorBackgroundShade:"rgb(236, 235, 234)",colorBackgroundModal:"rgb(255, 255, 255)",colorBackgroundDestructiveActive:"rgb(135, 5, 0)",colorBackgroundToggleActiveHover:"rgb(0, 95, 178)",colorBackgroundPayload:"rgb(250, 250, 249)",colorBackgroundModalButton:"rgba(0, 0, 0, 0.07)",colorBackgroundUtilityBarActive:"rgb(21, 137, 238)",colorBackgroundButtonSuccessActive:"rgb(4, 132, 75)",buttonColorBackgroundPrimary:"rgb(255, 255, 255)",colorBackgroundToastError:"rgb(194, 57, 52)",colorBackgroundOrgSwitcherArrow:"rgb(6, 28, 63)",colorBackgroundInverse:"rgb(6, 28, 63)",colorBackgroundToggleActive:"rgb(0, 112, 210)",colorPickerSliderThumbColorBackground:"rgb(243, 242, 242)",pageColorBackgroundPrimary:"rgb(253, 253, 253)",colorBackgroundShadeDark:"rgb(221, 219, 218)",colorBackgroundNotificationBadgeFocus:"rgb(0, 95, 178)",colorBackgroundActionbarIconUtility:"rgb(112, 110, 107)",colorBackgroundScrollbarTrack:"rgb(201, 199, 197)",colorBackgroundInputError:"rgb(255, 221, 225)",brandBandColorBackgroundPrimary:"rgb(253, 253, 253)",colorBackgroundHighlight:"rgb(250, 255, 189)",colorBackgroundSecondary:"rgb(255, 255, 255)",popoverWalkthroughHeaderColorBackground:"rgb(22, 74, 133)",brandBandDefaultImage:"/assets/images/themes/oneSalesforce/banner-brand-default.png",bannerUserDefaultImage:"/assets/images/themes/oneSalesforce/banner-user-default.png",bannerGroupDefaultImage:"/assets/images/themes/oneSalesforce/banner-group-public-default.png",colorBorderInputCheckboxSelectedCheckmark:"rgb(255, 255, 255)",colorBorderButtonInverseDisabled:"rgba(255, 255, 255, 0.15)",colorBorderIconInverseHintHover:"rgba(255, 255, 255, 0.75)",colorBorderErrorDark:"rgb(234, 130, 136)",colorBorderIconInverseHint:"rgba(255, 255, 255, 0.5)",colorBorderBrandDark:"rgb(0, 112, 210)",colorBorderInfo:"rgb(112, 110, 107)",colorBorderWarning:"rgb(255, 183, 93)",colorBorderTabActive:"rgb(255, 255, 255)",colorStrokeDisabled:"rgb(236, 235, 234)",colorBorderDestructiveHover:"rgb(166, 26, 20)",colorBorder:"rgb(221, 219, 218)",colorBorderInputDisabled:"rgb(201, 199, 197)",colorBorderSuccessDark:"rgb(4, 132, 75)",colorBorderReminder:"rgb(236, 235, 234)",colorStrokeBrandActive:"rgb(22, 50, 92)",colorBorderButtonBrandDisabled:"rgba(0, 0, 0, 0)",pageHeaderColorBorder:"rgb(221, 219, 218)",colorBorderDestructive:"rgb(194, 57, 52)",colorBorderPrimary:"rgb(221, 219, 218)",colorBorderButtonDefault:"rgb(221, 219, 218)",colorBorderSeparatorAlt2:"rgb(201, 199, 197)",colorBorderOffline:"rgb(62, 62, 60)",colorBorderBrandPrimaryFocus:"rgb(0, 95, 178)",colorBorderSuccess:"rgb(75, 202, 129)",colorBorderSeparator:"rgb(243, 242, 242)",colorBorderBrand:"rgb(21, 137, 238)",colorBorderBrandPrimaryHover:"rgb(0, 95, 178)",colorBorderSelectionActive:"rgb(243, 242, 242)",colorBorderButtonBrand:"rgb(0, 112, 210)",colorBorderError:"rgb(194, 57, 52)",colorBorderSelectionHover:"rgb(21, 137, 238)",colorBorderBrandPrimaryActive:"rgb(0, 95, 178)",colorBorderInputActive:"rgb(21, 137, 238)",colorBorderInput:"rgb(221, 219, 218)",colorBorderBrandPrimary:"rgb(0, 112, 210)",colorBorderToggleChecked:"rgb(255, 255, 255)",colorBorderRowSelectedHover:"rgb(21, 137, 238)",colorBorderCustomer:"rgb(255, 154, 60)",colorBorderSelection:"rgb(0, 112, 210)",colorBorderCanvasElementSelectionHover:"rgb(0, 95, 178)",cardColorBorder:"rgb(221, 219, 218)",colorBorderRowSelected:"rgb(0, 112, 210)",buttonColorBorderPrimary:"rgb(221, 219, 218)",colorBorderSeparatorAlt:"rgb(221, 219, 218)",colorBorderCanvasElementSelection:"rgb(94, 180, 255)",colorStrokeBrandHover:"rgb(0, 112, 210)",colorBorderInverse:"rgb(6, 28, 63)",colorStrokeHeaderButton:"rgb(176, 173, 171)",colorBorderDestructiveActive:"rgb(135, 5, 0)",colorBorderErrorAlt:"rgb(234, 130, 136)",pageHeaderJoinedColorBorder:"rgb(221, 219, 218)",colorStrokeBrand:"rgb(0, 112, 210)",colorBorderTabSelected:"rgb(0, 112, 210)",cardFooterColorBorder:"rgb(221, 219, 218)",colorBorderSeparatorInverse:"rgb(42, 66, 108)",pageHeaderBorderRadius:"0.25rem",tableBorderRadius:"0 0 0.25rem 0.25rem",pageHeaderShadow:"0 2px 2px 0 rgba(0, 0, 0, 0.1)",shadowSoftPrimaryHover:"rgba(0, 0, 0, 0.20) 0 3px 6px",shadowButtonFocus:"0 0 3px #0070D2",shadowHeader:"0 2px 4px rgba(0, 0, 0, 0.07)",shadowSoftPrimary:"rgba(0, 0, 0, 0.1) 0 2px 2px",shadowHardPrimary:"rgba(0, 0, 0, 0.1) 0 2px 0",shadowActionOverflowFooter:"0 -2px 4px #fafaf9",cardShadow:"0 2px 2px 0 rgba(0, 0, 0, 0.1)",shadowReminder:"0 2px 3px 0 rgba(0, 0, 0, 0.20)",shadowDocked:"0 -2px 2px 0 rgba(0, 0, 0, 0.16)",shadowInlineEdit:"0 2px 4px 4px rgba(0, 0, 0, 0.16)",shadowDrag:"0 2px 4px 0 rgba(0, 0, 0, 0.40)",shadowDropDown:"0 2px 3px 0 rgba(0, 0, 0, 0.16)",shadowFocusInset:"0 0 2px 2px #1589EE inset",shadowSoftPrimaryActive:"rgba(0, 0, 0, 0.20) 0 1px 1px",shadowButtonFocusInverse:"0 0 3px #ecebea",shadowImage:"0 1px 1px rgba(0, 0, 0, 0.16)",formLabelFontSize:".75rem",inputStaticFontSize:"0.875rem",inputStaticFontWeight:"400",tabsFontWeight:"700",cardFontWeight:"700",pageHeaderTitleFontWeight:"700",componentSpacingMargin:"0.75rem",componentSpacingPadding:"1rem",templateGutters:"0.75rem",templateProfileGutters:"8rem 0.75rem 0.75rem",tableCellSpacing:"0.25rem 0.5rem",cardSpacingMargin:"0.75rem",cardFooterPadding:"0.75rem 1rem",cardFooterTextAlign:"center",colorTextIconInverse:"rgb(255, 255, 255)",colorTextActionLabel:"rgb(112, 110, 107)",colorTextLinkInverse:"rgb(255, 255, 255)",colorTextButtonInverseDisabled:"rgba(255, 255, 255, 0.15)",colorTextIconInverseHintHover:"rgba(255, 255, 255, 0.75)",colorTextInputIcon:"rgb(176, 173, 171)",colorTextLinkInverseActive:"rgba(255, 255, 255, 0.5)",colorTextActionLabelActive:"rgb(62, 62, 60)",colorTextIconInverseActive:"rgb(255, 255, 255)",colorTextTabLabelSelected:"rgb(0, 112, 210)",colorTextWarning:"rgb(255, 183, 93)",colorTextIconInverseHint:"rgba(255, 255, 255, 0.5)",colorTextTabLabelDisabled:"rgb(236, 235, 234)",colorTextButtonDefaultHover:"rgb(0, 112, 210)",colorTextInputDisabled:"rgb(112, 110, 107)",colorTextTertiary:"rgb(150, 148, 146)",colorTextLinkFocus:"rgb(0, 95, 178)",colorTextButtonDefault:"rgb(0, 112, 210)",colorTextIconDefaultDisabled:"rgb(221, 219, 218)",colorTextLinkDisabled:"rgb(22, 50, 92)",colorTextDefault:"rgb(62, 62, 60)",colorTextInverseActive:"rgb(94, 180, 255)",colorTextButtonBrandDisabled:"rgb(255, 255, 255)",colorTextPrimary:"rgb(62, 62, 60)",colorTextLinkPrimaryFocus:"rgb(0, 95, 178)",colorTextButtonBrandHover:"rgb(255, 255, 255)",colorTextLinkHover:"rgb(0, 95, 178)",colorTextTabLabelFocus:"rgb(0, 95, 178)",colorTextSuccess:"rgb(2, 126, 70)",colorTextWeak:"rgb(112, 110, 107)",colorTextPlaceholderInverse:"rgb(236, 235, 234)",colorTextIconDefaultHover:"rgb(0, 112, 210)",colorTextIconDefaultHintBorderless:"rgb(236, 235, 234)",colorTextPill:"rgb(0, 112, 210)",colorTextLinkPrimaryHover:"rgb(0, 95, 178)",colorTextLink:"rgb(0, 109, 204)",colorTextWarningAlt:"rgb(132, 72, 0)",colorTextButtonBrand:"rgb(255, 255, 255)",colorTextTabLabelActive:"rgb(0, 57, 107)",colorTextIconDefault:"rgb(112, 110, 107)",colorTextBrand:"rgb(21, 137, 238)",colorTextTabLabelHover:"rgb(0, 95, 178)",colorTextButtonDefaultDisabled:"rgb(221, 219, 218)",colorTextToast:"rgb(236, 235, 234)",colorTextToggleDisabled:"rgb(221, 219, 218)",colorTextBrowser:"rgb(255, 255, 255)",colorTextLinkPrimaryActive:"rgb(0, 95, 178)",colorTextError:"rgb(194, 57, 52)",colorTextLinkPrimary:"rgb(0, 112, 210)",colorTextBrowserActive:"rgba(0, 0, 0, 0.4)",colorTextTabLabel:"rgb(22, 50, 92)",colorTextCustomer:"rgb(255, 154, 60)",colorTextIconDefaultActive:"rgb(0, 57, 107)",colorTextBrandPrimary:"rgb(255, 255, 255)",colorTextLinkActive:"rgb(0, 57, 107)",colorTextIconDefaultHint:"rgb(176, 173, 171)",colorTextButtonBrandActive:"rgb(255, 255, 255)",colorTextRequired:"rgb(194, 57, 52)",colorTextIconBrand:"rgb(0, 112, 210)",colorTextInverseHover:"rgb(176, 173, 171)",colorTextModal:"rgb(255, 255, 255)",colorTextButtonInverse:"rgb(236, 235, 234)",buttonColorTextPrimary:"rgb(255, 255, 255)",colorTextModalButton:"rgb(112, 110, 107)",colorTextLinkInverseDisabled:"rgba(255, 255, 255, 0.15)",colorTextInverse:"rgb(255, 255, 255)",colorTextButtonDefaultActive:"rgb(0, 112, 210)",colorTextIconInverseDisabled:"rgba(255, 255, 255, 0.15)",colorTextButtonDefaultHint:"rgb(176, 173, 171)",colorTextIconUtility:"rgb(176, 173, 171)",colorTextIconInverseHover:"rgb(255, 255, 255)",colorTextPlaceholder:"rgb(112, 110, 107)",colorTextInverseWeak:"rgb(176, 173, 171)",colorTextSecondary:"rgb(112, 110, 107)",colorTextInputFocusInverse:"rgb(22, 50, 92)",colorTextStageLeft:"rgb(236, 235, 234)",colorTextLinkInverseHover:"rgba(255, 255, 255, 0.75)",colorTextSuccessInverse:"rgb(75, 202, 129)",colorTextLabel:"rgb(112, 110, 107)"}},function(e,t,n){(function(e,n){var r="Expected a function",o="__lodash_hash_undefined__",a=9007199254740991,c="[object Arguments]",s="[object Array]",i="[object Boolean]",l="[object Date]",p="[object Error]",u="[object Function]",h="[object Map]",d="[object Number]",f="[object Object]",v="[object Promise]",m="[object RegExp]",g="[object Set]",y="[object String]",b="[object Symbol]",w="[object WeakMap]",z="[object ArrayBuffer]",x="[object DataView]",_=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,O=/^\w*$/,M=/^\./,S=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,C=/\\(\\)?/g,E=/^\[object .+?Constructor\]$/,H=/^(?:0|[1-9]\d*)$/,j={};j["[object Float32Array]"]=j["[object Float64Array]"]=j["[object Int8Array]"]=j["[object Int16Array]"]=j["[object Int32Array]"]=j["[object Uint8Array]"]=j["[object Uint8ClampedArray]"]=j["[object Uint16Array]"]=j["[object Uint32Array]"]=!0,j[c]=j[s]=j[z]=j[i]=j[x]=j[l]=j[p]=j[u]=j[h]=j[d]=j[f]=j[m]=j[g]=j[y]=j[w]=!1;var P="object"==typeof e&&e&&e.Object===Object&&e,k="object"==typeof self&&self&&self.Object===Object&&self,N=P||k||Function("return this")(),T=t&&!t.nodeType&&t,L=T&&"object"==typeof n&&n&&!n.nodeType&&n,V=L&&L.exports===T&&P.process,R=function(){try{return V&&V.binding("util")}catch(e){}}(),D=R&&R.isTypedArray;function I(e,t){for(var n=-1,r=e?e.length:0,o=0,a=[];++n<r;){var c=e[n];t(c,n,e)&&(a[o++]=c)}return a}function A(e,t){for(var n=-1,r=e?e.length:0;++n<r;)if(t(e[n],n,e))return!0;return!1}function F(e){var t=!1;if(null!=e&&"function"!=typeof e.toString)try{t=!!(e+"")}catch(e){}return t}function B(e){var t=-1,n=Array(e.size);return e.forEach((function(e,r){n[++t]=[r,e]})),n}function q(e){var t=-1,n=Array(e.size);return e.forEach((function(e){n[++t]=e})),n}var K,W,U,G=Array.prototype,Y=Function.prototype,Q=Object.prototype,J=N["__core-js_shared__"],X=(K=/[^.]+$/.exec(J&&J.keys&&J.keys.IE_PROTO||""))?"Symbol(src)_1."+K:"",$=Y.toString,Z=Q.hasOwnProperty,ee=Q.toString,te=RegExp("^"+$.call(Z).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),ne=N.Symbol,re=N.Uint8Array,oe=Q.propertyIsEnumerable,ae=G.splice,ce=(W=Object.keys,U=Object,function(e){return W(U(e))}),se=Be(N,"DataView"),ie=Be(N,"Map"),le=Be(N,"Promise"),pe=Be(N,"Set"),ue=Be(N,"WeakMap"),he=Be(Object,"create"),de=Je(se),fe=Je(ie),ve=Je(le),me=Je(pe),ge=Je(ue),ye=ne?ne.prototype:void 0,be=ye?ye.valueOf:void 0,we=ye?ye.toString:void 0;function ze(e){var t=-1,n=e?e.length:0;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}function xe(e){var t=-1,n=e?e.length:0;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}function _e(e){var t=-1,n=e?e.length:0;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}function Oe(e){var t=-1,n=e?e.length:0;for(this.__data__=new _e;++t<n;)this.add(e[t])}function Me(e){this.__data__=new xe(e)}function Se(e,t){var n=et(e)||Ze(e)?function(e,t){for(var n=-1,r=Array(e);++n<e;)r[n]=t(n);return r}(e.length,String):[],r=n.length,o=!!r;for(var a in e)!t&&!Z.call(e,a)||o&&("length"==a||Ke(a,r))||n.push(a);return n}function Ce(e,t){for(var n=e.length;n--;)if($e(e[n][0],t))return n;return-1}ze.prototype.clear=function(){this.__data__=he?he(null):{}},ze.prototype.delete=function(e){return this.has(e)&&delete this.__data__[e]},ze.prototype.get=function(e){var t=this.__data__;if(he){var n=t[e];return n===o?void 0:n}return Z.call(t,e)?t[e]:void 0},ze.prototype.has=function(e){var t=this.__data__;return he?void 0!==t[e]:Z.call(t,e)},ze.prototype.set=function(e,t){return this.__data__[e]=he&&void 0===t?o:t,this},xe.prototype.clear=function(){this.__data__=[]},xe.prototype.delete=function(e){var t=this.__data__,n=Ce(t,e);return!(n<0)&&(n==t.length-1?t.pop():ae.call(t,n,1),!0)},xe.prototype.get=function(e){var t=this.__data__,n=Ce(t,e);return n<0?void 0:t[n][1]},xe.prototype.has=function(e){return Ce(this.__data__,e)>-1},xe.prototype.set=function(e,t){var n=this.__data__,r=Ce(n,e);return r<0?n.push([e,t]):n[r][1]=t,this},_e.prototype.clear=function(){this.__data__={hash:new ze,map:new(ie||xe),string:new ze}},_e.prototype.delete=function(e){return Fe(this,e).delete(e)},_e.prototype.get=function(e){return Fe(this,e).get(e)},_e.prototype.has=function(e){return Fe(this,e).has(e)},_e.prototype.set=function(e,t){return Fe(this,e).set(e,t),this},Oe.prototype.add=Oe.prototype.push=function(e){return this.__data__.set(e,o),this},Oe.prototype.has=function(e){return this.__data__.has(e)},Me.prototype.clear=function(){this.__data__=new xe},Me.prototype.delete=function(e){return this.__data__.delete(e)},Me.prototype.get=function(e){return this.__data__.get(e)},Me.prototype.has=function(e){return this.__data__.has(e)},Me.prototype.set=function(e,t){var n=this.__data__;if(n instanceof xe){var r=n.__data__;if(!ie||r.length<199)return r.push([e,t]),this;n=this.__data__=new _e(r)}return n.set(e,t),this};var Ee,He,je=(Ee=function(e,t){return e&&ke(e,t,it)},function(e,t){if(null==e)return e;if(!tt(e))return Ee(e,t);for(var n=e.length,r=He?n:-1,o=Object(e);(He?r--:++r<n)&&!1!==t(o[r],r,o););return e});function Pe(e,t){var n=[];return je(e,(function(e,r,o){t(e,r,o)&&n.push(e)})),n}var ke=function(e){return function(t,n,r){for(var o=-1,a=Object(t),c=r(t),s=c.length;s--;){var i=c[e?s:++o];if(!1===n(a[i],i,a))break}return t}}();function Ne(e,t){for(var n=0,r=(t=We(t,e)?[t]:Ie(t)).length;null!=e&&n<r;)e=e[Qe(t[n++])];return n&&n==r?e:void 0}function Te(e,t){return null!=e&&t in Object(e)}function Le(e,t,n,r,o){return e===t||(null==e||null==t||!ot(e)&&!at(t)?e!=e&&t!=t:function(e,t,n,r,o,a){var u=et(e),v=et(t),w=s,_=s;u||(w=(w=qe(e))==c?f:w);v||(_=(_=qe(t))==c?f:_);var O=w==f&&!F(e),M=_==f&&!F(t),S=w==_;if(S&&!O)return a||(a=new Me),u||st(e)?Ae(e,t,n,r,o,a):function(e,t,n,r,o,a,c){switch(n){case x:if(e.byteLength!=t.byteLength||e.byteOffset!=t.byteOffset)return!1;e=e.buffer,t=t.buffer;case z:return!(e.byteLength!=t.byteLength||!r(new re(e),new re(t)));case i:case l:case d:return $e(+e,+t);case p:return e.name==t.name&&e.message==t.message;case m:case y:return e==t+"";case h:var s=B;case g:var u=2&a;if(s||(s=q),e.size!=t.size&&!u)return!1;var f=c.get(e);if(f)return f==t;a|=1,c.set(e,t);var v=Ae(s(e),s(t),r,o,a,c);return c.delete(e),v;case b:if(be)return be.call(e)==be.call(t)}return!1}(e,t,w,n,r,o,a);if(!(2&o)){var C=O&&Z.call(e,"__wrapped__"),E=M&&Z.call(t,"__wrapped__");if(C||E){var H=C?e.value():e,j=E?t.value():t;return a||(a=new Me),n(H,j,r,o,a)}}if(!S)return!1;return a||(a=new Me),function(e,t,n,r,o,a){var c=2&o,s=it(e),i=s.length,l=it(t).length;if(i!=l&&!c)return!1;var p=i;for(;p--;){var u=s[p];if(!(c?u in t:Z.call(t,u)))return!1}var h=a.get(e);if(h&&a.get(t))return h==t;var d=!0;a.set(e,t),a.set(t,e);var f=c;for(;++p<i;){var v=e[u=s[p]],m=t[u];if(r)var g=c?r(m,v,u,t,e,a):r(v,m,u,e,t,a);if(!(void 0===g?v===m||n(v,m,r,o,a):g)){d=!1;break}f||(f="constructor"==u)}if(d&&!f){var y=e.constructor,b=t.constructor;y==b||!("constructor"in e)||!("constructor"in t)||"function"==typeof y&&y instanceof y&&"function"==typeof b&&b instanceof b||(d=!1)}return a.delete(e),a.delete(t),d}(e,t,n,r,o,a)}(e,t,Le,n,r,o))}function Ve(e){return!(!ot(e)||function(e){return!!X&&X in e}(e))&&(nt(e)||F(e)?te:E).test(Je(e))}function Re(e){return"function"==typeof e?e:null==e?lt:"object"==typeof e?et(e)?function(e,t){if(We(e)&&Ue(t))return Ge(Qe(e),t);return function(n){var r=function(e,t,n){var r=null==e?void 0:Ne(e,t);return void 0===r?n:r}(n,e);return void 0===r&&r===t?function(e,t){return null!=e&&function(e,t,n){t=We(t,e)?[t]:Ie(t);var r,o=-1,a=t.length;for(;++o<a;){var c=Qe(t[o]);if(!(r=null!=e&&n(e,c)))break;e=e[c]}if(r)return r;return!!(a=e?e.length:0)&&rt(a)&&Ke(c,a)&&(et(e)||Ze(e))}(e,t,Te)}(n,e):Le(t,r,void 0,3)}}(e[0],e[1]):function(e){var t=function(e){var t=it(e),n=t.length;for(;n--;){var r=t[n],o=e[r];t[n]=[r,o,Ue(o)]}return t}(e);if(1==t.length&&t[0][2])return Ge(t[0][0],t[0][1]);return function(n){return n===e||function(e,t,n,r){var o=n.length,a=o,c=!r;if(null==e)return!a;for(e=Object(e);o--;){var s=n[o];if(c&&s[2]?s[1]!==e[s[0]]:!(s[0]in e))return!1}for(;++o<a;){var i=(s=n[o])[0],l=e[i],p=s[1];if(c&&s[2]){if(void 0===l&&!(i in e))return!1}else{var u=new Me;if(r)var h=r(l,p,i,e,t,u);if(!(void 0===h?Le(p,l,r,3,u):h))return!1}}return!0}(n,e,t)}}(e):We(t=e)?(n=Qe(t),function(e){return null==e?void 0:e[n]}):function(e){return function(t){return Ne(t,e)}}(t);var t,n}function De(e){if(n=(t=e)&&t.constructor,r="function"==typeof n&&n.prototype||Q,t!==r)return ce(e);var t,n,r,o=[];for(var a in Object(e))Z.call(e,a)&&"constructor"!=a&&o.push(a);return o}function Ie(e){return et(e)?e:Ye(e)}function Ae(e,t,n,r,o,a){var c=2&o,s=e.length,i=t.length;if(s!=i&&!(c&&i>s))return!1;var l=a.get(e);if(l&&a.get(t))return l==t;var p=-1,u=!0,h=1&o?new Oe:void 0;for(a.set(e,t),a.set(t,e);++p<s;){var d=e[p],f=t[p];if(r)var v=c?r(f,d,p,t,e,a):r(d,f,p,e,t,a);if(void 0!==v){if(v)continue;u=!1;break}if(h){if(!A(t,(function(e,t){if(!h.has(t)&&(d===e||n(d,e,r,o,a)))return h.add(t)}))){u=!1;break}}else if(d!==f&&!n(d,f,r,o,a)){u=!1;break}}return a.delete(e),a.delete(t),u}function Fe(e,t){var n,r,o=e.__data__;return("string"==(r=typeof(n=t))||"number"==r||"symbol"==r||"boolean"==r?"__proto__"!==n:null===n)?o["string"==typeof t?"string":"hash"]:o.map}function Be(e,t){var n=function(e,t){return null==e?void 0:e[t]}(e,t);return Ve(n)?n:void 0}var qe=function(e){return ee.call(e)};function Ke(e,t){return!!(t=null==t?a:t)&&("number"==typeof e||H.test(e))&&e>-1&&e%1==0&&e<t}function We(e,t){if(et(e))return!1;var n=typeof e;return!("number"!=n&&"symbol"!=n&&"boolean"!=n&&null!=e&&!ct(e))||(O.test(e)||!_.test(e)||null!=t&&e in Object(t))}function Ue(e){return e==e&&!ot(e)}function Ge(e,t){return function(n){return null!=n&&(n[e]===t&&(void 0!==t||e in Object(n)))}}(se&&qe(new se(new ArrayBuffer(1)))!=x||ie&&qe(new ie)!=h||le&&qe(le.resolve())!=v||pe&&qe(new pe)!=g||ue&&qe(new ue)!=w)&&(qe=function(e){var t=ee.call(e),n=t==f?e.constructor:void 0,r=n?Je(n):void 0;if(r)switch(r){case de:return x;case fe:return h;case ve:return v;case me:return g;case ge:return w}return t});var Ye=Xe((function(e){var t;e=null==(t=e)?"":function(e){if("string"==typeof e)return e;if(ct(e))return we?we.call(e):"";var t=e+"";return"0"==t&&1/e==-1/0?"-0":t}(t);var n=[];return M.test(e)&&n.push(""),e.replace(S,(function(e,t,r,o){n.push(r?o.replace(C,"$1"):t||e)})),n}));function Qe(e){if("string"==typeof e||ct(e))return e;var t=e+"";return"0"==t&&1/e==-1/0?"-0":t}function Je(e){if(null!=e){try{return $.call(e)}catch(e){}try{return e+""}catch(e){}}return""}function Xe(e,t){if("function"!=typeof e||t&&"function"!=typeof t)throw new TypeError(r);var n=function(){var r=arguments,o=t?t.apply(this,r):r[0],a=n.cache;if(a.has(o))return a.get(o);var c=e.apply(this,r);return n.cache=a.set(o,c),c};return n.cache=new(Xe.Cache||_e),n}function $e(e,t){return e===t||e!=e&&t!=t}function Ze(e){return function(e){return at(e)&&tt(e)}(e)&&Z.call(e,"callee")&&(!oe.call(e,"callee")||ee.call(e)==c)}Xe.Cache=_e;var et=Array.isArray;function tt(e){return null!=e&&rt(e.length)&&!nt(e)}function nt(e){var t=ot(e)?ee.call(e):"";return t==u||"[object GeneratorFunction]"==t}function rt(e){return"number"==typeof e&&e>-1&&e%1==0&&e<=a}function ot(e){var t=typeof e;return!!e&&("object"==t||"function"==t)}function at(e){return!!e&&"object"==typeof e}function ct(e){return"symbol"==typeof e||at(e)&&ee.call(e)==b}var st=D?function(e){return function(t){return e(t)}}(D):function(e){return at(e)&&rt(e.length)&&!!j[ee.call(e)]};function it(e){return tt(e)?Se(e):De(e)}function lt(e){return e}n.exports=function(e,t){return(et(e)?I:Pe)(e,function(e){if("function"!=typeof e)throw new TypeError(r);return function(){var t=arguments;switch(t.length){case 0:return!e.call(this);case 1:return!e.call(this,t[0]);case 2:return!e.call(this,t[0],t[1]);case 3:return!e.call(this,t[0],t[1],t[2])}return!e.apply(this,t)}}(Re(t)))}}).call(this,n(10),n(16)(e))},function(e,t){e.exports=function(e){return e.webpackPolyfill||(e.deprecate=function(){},e.paths=[],e.children||(e.children=[]),Object.defineProperty(e,"loaded",{enumerable:!0,get:function(){return e.l}}),Object.defineProperty(e,"id",{enumerable:!0,get:function(){return e.i}}),e.webpackPolyfill=1),e}},function(e){e.exports=JSON.parse('{"component":"setup-assistant","status":"prod","display-name":"Setup Assistant","classKey":"SetupAssistant","SLDS-component-path":"/components/setup-assistant","dependencies":[{"component":"step","classKey":"SetupAssistantStep"}],"site-stories":[{"heading":"Base","path":"/__examples__/base.jsx"},{"heading":"Step Progress Indicator","path":"/__examples__/step-progress.jsx"},{"heading":"Expandable Steps","path":"/__examples__/hub-expandable-steps.jsx"},{"heading":"With Card","path":"/__examples__/card.jsx"}],"url-slug":"setup-assistant"}')},function(e,t,n){"use strict";var r,o,a,c=n(64),s="0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_-";function i(){a=!1}function l(e){if(e){if(e!==r){if(e.length!==s.length)throw new Error("Custom alphabet for shortid must be "+s.length+" unique characters. You submitted "+e.length+" characters: "+e);var t=e.split("").filter((function(e,t,n){return t!==n.lastIndexOf(e)}));if(t.length)throw new Error("Custom alphabet for shortid must be "+s.length+" unique characters. These characters were not unique: "+t.join(", "));r=e,i()}}else r!==s&&(r=s,i())}function p(){return a||(a=function(){r||l(s);for(var e,t=r.split(""),n=[],o=c.nextValue();t.length>0;)o=c.nextValue(),e=Math.floor(o*t.length),n.push(t.splice(e,1)[0]);return n.join("")}())}e.exports={get:function(){return r||s},characters:function(e){return l(e),r},seed:function(e){c.seed(e),o!==e&&(i(),o=e)},lookup:function(e){return p()[e]},shuffled:p}},function(e,t){e.exports=function(e,t){return function(n,r,o){if("function"!=typeof e)return new Error("Invalid react-required-if prop type supplied to "+o+". Validation failed.");if("function"!=typeof t)return new Error("Invalid react-required-if condition supplied to "+o+". Validation failed.");var a=t(n)?e.isRequired:e;return a.apply(this,arguments)}}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r,o=n(71),a=(r=o)&&r.__esModule?r:{default:r};t.default=a.default,e.exports=t.default},function(e){e.exports=JSON.parse('{"component":"input","status":"prod","display-name":"Inputs","classKey":"Input","last-accessibility-review":{"date-iso-8601":"2017/09/22","commit-sha":"ad6b6c6523ee21cada11be5f7ea4d99abc530726"},"dependencies":[{"component":"search","classKey":"InputSearch"}],"SLDS-component-path":"/components/input","site-stories":[{"heading":"Default","path":"/__examples__/default.jsx"},{"heading":"With Icons","path":"/__examples__/icons.jsx"},{"heading":"Error State","path":"/__examples__/error.jsx"},{"heading":"Disabled","path":"/__examples__/inactiveInputs.jsx"},{"heading":"With Inline Help","path":"/__examples__/inline-help.jsx"},{"heading":"With Field Level Help","path":"/__examples__/field-level-help.jsx"},{"heading":"Counter","path":"/__examples__/counter-input.jsx"}],"url-slug":"inputs"}')},function(e){e.exports=JSON.parse('{"component":"global-navigation-bar","status":"prod","display-name":"Global Navigation Bar","classKey":"GlobalNavigationBar","last-accessibility-review":{"date-iso-8601":"2017/05/02","commit-sha":"ad6b6c6523ee21cada11be5f7ea4d99abc530726"},"SLDS-component-path":"/components/global-navigation","dependencies":[{"component":"button","classKey":"GlobalNavigationBarButton"},{"component":"dropdown","classKey":"GlobalNavigationBarDropdown"},{"component":"label","classKey":"GlobalNavigationBarLabel"},{"component":"link","classKey":"GlobalNavigationBarLink"},{"component":"region","classKey":"GlobalNavigationBarRegion"}],"site-stories":[{"heading":"Default","path":"/__examples__/default.jsx"}],"url-slug":"global-navigation-bar"}')},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.canUseDOM=void 0;var r,o=n(76);var a=((r=o)&&r.__esModule?r:{default:r}).default,c=a.canUseDOM?window.HTMLElement:{};t.canUseDOM=a.canUseDOM;t.default=c},function(e,t,n){"use strict";var r=n(1),o=n(82);if(void 0===r)throw Error("create-react-class could not find the React object. If you are using script tags, make sure that React is being loaded before create-react-class.");var a=(new r.Component).updater;e.exports=o(r.Component,r.isValidElement,a)},function(e,t,n){var r=n(1),o=n(79),a=n(80),c=n(81),s=n(24),i=n(0);function l(e,t){if(!String.prototype.normalize)return e;if(t){var n=t.split("");return e.normalize("NFD").replace(/.[\u0300-\u036f]+/g,(function(e){return n.indexOf(e.normalize())>-1?e.normalize():e[0]}))}return e.normalize("NFD").replace(/[\u0300-\u036f]/g,"")}var p=s({displayName:"Highlighter",count:0,propTypes:{search:i.oneOfType([i.string,i.number,i.bool,o]).isRequired,caseSensitive:i.bool,ignoreDiacritics:i.bool,diacriticsBlacklist:i.string,matchElement:i.oneOfType([i.string,i.func]),matchClass:i.string,matchStyle:i.object},render:function(){var e=c(this.props,"search","caseSensitive","ignoreDiacritics","diacriticsBlacklist","matchElement","matchClass","matchStyle");return r.createElement("span",e,this.renderElement(this.props.children))},renderElement:function(e){if(this.isScalar()&&this.hasSearch()){var t=this.getSearch();return this.highlightChildren(e,t)}return this.props.children},isScalar:function(){return/string|number|boolean/.test(typeof this.props.children)},hasSearch:function(){return void 0!==this.props.search&&this.props.search},getSearch:function(){if(this.props.search instanceof RegExp)return this.props.search;var e="";this.props.caseSensitive||(e+="i");var t=this.props.search;return"string"==typeof this.props.search&&(t=a(t)),this.props.ignoreDiacritics&&(t=l(t,this.props.diacriticsBlacklist)),new RegExp(t,e)},getMatchBoundaries:function(e,t){var n=t.exec(e);if(n)return{first:n.index,last:n.index+n[0].length}},highlightChildren:function(e,t){for(var n=[],r=e;r;){var o=this.props.ignoreDiacritics?l(r,this.props.diacriticsBlacklist):r;if(!t.test(o))return n.push(this.renderPlain(r)),n;var a=this.getMatchBoundaries(o,t);if(0===a.first&&0===a.last)return n;var c=r.slice(0,a.first);c&&n.push(this.renderPlain(c));var s=r.slice(a.first,a.last);s&&n.push(this.renderHighlight(s)),r=r.slice(a.last)}return n},renderPlain:function(e){return this.count++,r.createElement("span",{key:this.count,children:e})},renderHighlight:function(e){return this.count++,r.createElement(this.props.matchElement,{key:this.count,className:this.props.matchClass,style:this.props.matchStyle,children:e})}});p.defaultProps={caseSensitive:!1,ignoreDiacritics:!1,diacriticsBlacklist:"",matchElement:"mark",matchClass:"highlight",matchStyle:{}},e.exports=p},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e){return[].slice.call(e.querySelectorAll("*"),0).filter(c)};var r=/input|select|textarea|button|object/;function o(e){var t=e.offsetWidth<=0&&e.offsetHeight<=0;if(t&&!e.innerHTML)return!0;var n=window.getComputedStyle(e);return t?"visible"!==n.getPropertyValue("overflow"):"none"==n.getPropertyValue("display")}function a(e,t){var n=e.nodeName.toLowerCase();return(r.test(n)&&!e.disabled||"a"===n&&e.href||t)&&function(e){for(var t=e;t&&t!==document.body;){if(o(t))return!1;t=t.parentNode}return!0}(e)}function c(e){var t=e.getAttribute("tabindex");null===t&&(t=void 0);var n=isNaN(t);return(n||t>=0)&&a(e,!n)}e.exports=t.default},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.assertNodeList=i,t.setElement=function(e){var t=e;if("string"==typeof t&&c.canUseDOM){var n=document.querySelectorAll(t);i(n,t),t="length"in n?n[0]:n}return s=t||s},t.validateElement=l,t.hide=function(e){l(e)&&(e||s).setAttribute("aria-hidden","true")},t.show=function(e){l(e)&&(e||s).removeAttribute("aria-hidden")},t.documentNotReadyOrSSRTesting=function(){s=null},t.resetForTesting=function(){s=null};var r,o=n(75),a=(r=o)&&r.__esModule?r:{default:r},c=n(23);var s=null;function i(e,t){if(!e||!e.length)throw new Error("react-modal: No elements were found for selector "+t+".")}function l(e){return!(!e&&!s)||((0,a.default)(!1,["react-modal: App element is not defined.","Please use `Modal.setAppElement(el)` or set `appElement={el}`.","This is needed so screen readers don't see main content","when modal is opened. It is not recommended, but you can opt-out","by setting `ariaHideApp={false}`."].join(" ")),!1)}},function(e){e.exports=JSON.parse('{"component":"button","status":"prod","display-name":"Buttons","classKey":"Button","last-accessibility-review":{"date-iso-8601":"2018/01/18","commit-sha":"ad6b6c6523ee21cada11be5f7ea4d99abc530726"},"SLDS-component-path":"/components/buttons","site-stories":[{"heading":"Base Neutral","path":"/__examples__/base-neutral.jsx"},{"heading":"Variants","path":"/__examples__/brand-disabled-destructive-inverse.jsx"},{"heading":"Button Icons","path":"/__examples__/button-icons.jsx"}],"url-slug":"buttons"}')},function(e,t,n){"use strict";(function(e){for(var n="undefined"!=typeof window&&"undefined"!=typeof document,r=["Edge","Trident","Firefox"],o=0,a=0;a<r.length;a+=1)if(n&&navigator.userAgent.indexOf(r[a])>=0){o=1;break}var c=n&&window.Promise?function(e){var t=!1;return function(){t||(t=!0,window.Promise.resolve().then((function(){t=!1,e()})))}}:function(e){var t=!1;return function(){t||(t=!0,setTimeout((function(){t=!1,e()}),o))}};function s(e){return e&&"[object Function]"==={}.toString.call(e)}function i(e,t){if(1!==e.nodeType)return[];var n=getComputedStyle(e,null);return t?n[t]:n}function l(e){return"HTML"===e.nodeName?e:e.parentNode||e.host}function p(e){if(!e)return document.body;switch(e.nodeName){case"HTML":case"BODY":return e.ownerDocument.body;case"#document":return e.body}var t=i(e),n=t.overflow,r=t.overflowX,o=t.overflowY;return/(auto|scroll)/.test(n+o+r)?e:p(l(e))}function u(e){var t=e&&e.offsetParent,n=t&&t.nodeName;return n&&"BODY"!==n&&"HTML"!==n?-1!==["TD","TABLE"].indexOf(t.nodeName)&&"static"===i(t,"position")?u(t):t:e?e.ownerDocument.documentElement:document.documentElement}function h(e){return null!==e.parentNode?h(e.parentNode):e}function d(e,t){if(!(e&&e.nodeType&&t&&t.nodeType))return document.documentElement;var n=e.compareDocumentPosition(t)&Node.DOCUMENT_POSITION_FOLLOWING,r=n?e:t,o=n?t:e,a=document.createRange();a.setStart(r,0),a.setEnd(o,0);var c,s,i=a.commonAncestorContainer;if(e!==i&&t!==i||r.contains(o))return"BODY"===(s=(c=i).nodeName)||"HTML"!==s&&u(c.firstElementChild)!==c?u(i):i;var l=h(e);return l.host?d(l.host,t):d(e,h(t).host)}function f(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"top",n="top"===t?"scrollTop":"scrollLeft",r=e.nodeName;if("BODY"===r||"HTML"===r){var o=e.ownerDocument.documentElement,a=e.ownerDocument.scrollingElement||o;return a[n]}return e[n]}function v(e,t){var n="x"===t?"Left":"Top",r="Left"===n?"Right":"Bottom";return parseFloat(e["border"+n+"Width"],10)+parseFloat(e["border"+r+"Width"],10)}var m=void 0,g=function(){return void 0===m&&(m=-1!==navigator.appVersion.indexOf("MSIE 10")),m};function y(e,t,n,r){return Math.max(t["offset"+e],t["scroll"+e],n["client"+e],n["offset"+e],n["scroll"+e],g()?n["offset"+e]+r["margin"+("Height"===e?"Top":"Left")]+r["margin"+("Height"===e?"Bottom":"Right")]:0)}function b(){var e=document.body,t=document.documentElement,n=g()&&getComputedStyle(t);return{height:y("Height",e,t,n),width:y("Width",e,t,n)}}var w=function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")},z=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),x=function(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e},_=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e};function O(e){return _({},e,{right:e.left+e.width,bottom:e.top+e.height})}function M(e){var t={};if(g())try{t=e.getBoundingClientRect();var n=f(e,"top"),r=f(e,"left");t.top+=n,t.left+=r,t.bottom+=n,t.right+=r}catch(e){}else t=e.getBoundingClientRect();var o={left:t.left,top:t.top,width:t.right-t.left,height:t.bottom-t.top},a="HTML"===e.nodeName?b():{},c=a.width||e.clientWidth||o.right-o.left,s=a.height||e.clientHeight||o.bottom-o.top,l=e.offsetWidth-c,p=e.offsetHeight-s;if(l||p){var u=i(e);l-=v(u,"x"),p-=v(u,"y"),o.width-=l,o.height-=p}return O(o)}function S(e,t){var n=g(),r="HTML"===t.nodeName,o=M(e),a=M(t),c=p(e),s=i(t),l=parseFloat(s.borderTopWidth,10),u=parseFloat(s.borderLeftWidth,10),h=O({top:o.top-a.top-l,left:o.left-a.left-u,width:o.width,height:o.height});if(h.marginTop=0,h.marginLeft=0,!n&&r){var d=parseFloat(s.marginTop,10),v=parseFloat(s.marginLeft,10);h.top-=l-d,h.bottom-=l-d,h.left-=u-v,h.right-=u-v,h.marginTop=d,h.marginLeft=v}return(n?t.contains(c):t===c&&"BODY"!==c.nodeName)&&(h=function(e,t){var n=arguments.length>2&&void 0!==arguments[2]&&arguments[2],r=f(t,"top"),o=f(t,"left"),a=n?-1:1;return e.top+=r*a,e.bottom+=r*a,e.left+=o*a,e.right+=o*a,e}(h,t)),h}function C(e){var t=e.nodeName;return"BODY"!==t&&"HTML"!==t&&("fixed"===i(e,"position")||C(l(e)))}function E(e,t,n,r){var o={top:0,left:0},a=d(e,t);if("viewport"===r)o=function(e){var t=e.ownerDocument.documentElement,n=S(e,t),r=Math.max(t.clientWidth,window.innerWidth||0),o=Math.max(t.clientHeight,window.innerHeight||0),a=f(t),c=f(t,"left");return O({top:a-n.top+n.marginTop,left:c-n.left+n.marginLeft,width:r,height:o})}(a);else{var c=void 0;"scrollParent"===r?"BODY"===(c=p(l(t))).nodeName&&(c=e.ownerDocument.documentElement):c="window"===r?e.ownerDocument.documentElement:r;var s=S(c,a);if("HTML"!==c.nodeName||C(a))o=s;else{var i=b(),u=i.height,h=i.width;o.top+=s.top-s.marginTop,o.bottom=u+s.top,o.left+=s.left-s.marginLeft,o.right=h+s.left}}return o.left+=n,o.top+=n,o.right-=n,o.bottom-=n,o}function H(e){return e.width*e.height}function j(e,t,n,r,o){var a=arguments.length>5&&void 0!==arguments[5]?arguments[5]:0;if(-1===e.indexOf("auto"))return e;var c=E(n,r,a,o),s={top:{width:c.width,height:t.top-c.top},right:{width:c.right-t.right,height:c.height},bottom:{width:c.width,height:c.bottom-t.bottom},left:{width:t.left-c.left,height:c.height}},i=Object.keys(s).map((function(e){return _({key:e},s[e],{area:H(s[e])})})).sort((function(e,t){return t.area-e.area})),l=i.filter((function(e){var t=e.width,r=e.height;return t>=n.clientWidth&&r>=n.clientHeight})),p=l.length>0?l[0].key:i[0].key,u=e.split("-")[1];return p+(u?"-"+u:"")}function P(e,t,n){return S(n,d(t,n))}function k(e){var t=getComputedStyle(e),n=parseFloat(t.marginTop)+parseFloat(t.marginBottom),r=parseFloat(t.marginLeft)+parseFloat(t.marginRight);return{width:e.offsetWidth+r,height:e.offsetHeight+n}}function N(e){var t={left:"right",right:"left",bottom:"top",top:"bottom"};return e.replace(/left|right|bottom|top/g,(function(e){return t[e]}))}function T(e,t,n){n=n.split("-")[0];var r=k(e),o={width:r.width,height:r.height},a=-1!==["right","left"].indexOf(n),c=a?"top":"left",s=a?"left":"top",i=a?"height":"width",l=a?"width":"height";return o[c]=t[c]+t[i]/2-r[i]/2,o[s]=n===s?t[s]-r[l]:t[N(s)],o}function L(e,t){return Array.prototype.find?e.find(t):e.filter(t)[0]}function V(e,t,n){return(void 0===n?e:e.slice(0,function(e,t,n){if(Array.prototype.findIndex)return e.findIndex((function(e){return e[t]===n}));var r=L(e,(function(e){return e[t]===n}));return e.indexOf(r)}(e,"name",n))).forEach((function(e){e.function&&console.warn("`modifier.function` is deprecated, use `modifier.fn`!");var n=e.function||e.fn;e.enabled&&s(n)&&(t.offsets.popper=O(t.offsets.popper),t.offsets.reference=O(t.offsets.reference),t=n(t,e))})),t}function R(){if(!this.state.isDestroyed){var e={instance:this,styles:{},arrowStyles:{},attributes:{},flipped:!1,offsets:{}};e.offsets.reference=P(this.state,this.popper,this.reference),e.placement=j(this.options.placement,e.offsets.reference,this.popper,this.reference,this.options.modifiers.flip.boundariesElement,this.options.modifiers.flip.padding),e.originalPlacement=e.placement,e.offsets.popper=T(this.popper,e.offsets.reference,e.placement),e.offsets.popper.position="absolute",e=V(this.modifiers,e),this.state.isCreated?this.options.onUpdate(e):(this.state.isCreated=!0,this.options.onCreate(e))}}function D(e,t){return e.some((function(e){var n=e.name;return e.enabled&&n===t}))}function I(e){for(var t=[!1,"ms","Webkit","Moz","O"],n=e.charAt(0).toUpperCase()+e.slice(1),r=0;r<t.length-1;r++){var o=t[r],a=o?""+o+n:e;if(void 0!==document.body.style[a])return a}return null}function A(){return this.state.isDestroyed=!0,D(this.modifiers,"applyStyle")&&(this.popper.removeAttribute("x-placement"),this.popper.style.left="",this.popper.style.position="",this.popper.style.top="",this.popper.style[I("transform")]=""),this.disableEventListeners(),this.options.removeOnDestroy&&this.popper.parentNode.removeChild(this.popper),this}function F(e){var t=e.ownerDocument;return t?t.defaultView:window}function B(e,t,n,r){var o="BODY"===e.nodeName,a=o?e.ownerDocument.defaultView:e;a.addEventListener(t,n,{passive:!0}),o||B(p(a.parentNode),t,n,r),r.push(a)}function q(e,t,n,r){n.updateBound=r,F(e).addEventListener("resize",n.updateBound,{passive:!0});var o=p(e);return B(o,"scroll",n.updateBound,n.scrollParents),n.scrollElement=o,n.eventsEnabled=!0,n}function K(){this.state.eventsEnabled||(this.state=q(this.reference,this.options,this.state,this.scheduleUpdate))}function W(){var e,t;this.state.eventsEnabled&&(cancelAnimationFrame(this.scheduleUpdate),this.state=(e=this.reference,t=this.state,F(e).removeEventListener("resize",t.updateBound),t.scrollParents.forEach((function(e){e.removeEventListener("scroll",t.updateBound)})),t.updateBound=null,t.scrollParents=[],t.scrollElement=null,t.eventsEnabled=!1,t))}function U(e){return""!==e&&!isNaN(parseFloat(e))&&isFinite(e)}function G(e,t){Object.keys(t).forEach((function(n){var r="";-1!==["width","height","top","right","bottom","left"].indexOf(n)&&U(t[n])&&(r="px"),e.style[n]=t[n]+r}))}function Y(e,t,n){var r=L(e,(function(e){return e.name===t})),o=!!r&&e.some((function(e){return e.name===n&&e.enabled&&e.order<r.order}));if(!o){var a="`"+t+"`",c="`"+n+"`";console.warn(c+" modifier is required by "+a+" modifier in order to work, be sure to include it before "+a+"!")}return o}var Q=["auto-start","auto","auto-end","top-start","top","top-end","right-start","right","right-end","bottom-end","bottom","bottom-start","left-end","left","left-start"],J=Q.slice(3);function X(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n=J.indexOf(e),r=J.slice(n+1).concat(J.slice(0,n));return t?r.reverse():r}var $="flip",Z="clockwise",ee="counterclockwise";function te(e,t,n,r){var o=[0,0],a=-1!==["right","left"].indexOf(r),c=e.split(/(\+|\-)/).map((function(e){return e.trim()})),s=c.indexOf(L(c,(function(e){return-1!==e.search(/,|\s/)})));c[s]&&-1===c[s].indexOf(",")&&console.warn("Offsets separated by white space(s) are deprecated, use a comma (,) instead.");var i=/\s*,\s*|\s+/,l=-1!==s?[c.slice(0,s).concat([c[s].split(i)[0]]),[c[s].split(i)[1]].concat(c.slice(s+1))]:[c];return(l=l.map((function(e,r){var o=(1===r?!a:a)?"height":"width",c=!1;return e.reduce((function(e,t){return""===e[e.length-1]&&-1!==["+","-"].indexOf(t)?(e[e.length-1]=t,c=!0,e):c?(e[e.length-1]+=t,c=!1,e):e.concat(t)}),[]).map((function(e){return function(e,t,n,r){var o=e.match(/((?:\-|\+)?\d*\.?\d*)(.*)/),a=+o[1],c=o[2];if(!a)return e;if(0===c.indexOf("%")){var s=void 0;switch(c){case"%p":s=n;break;case"%":case"%r":default:s=r}return O(s)[t]/100*a}if("vh"===c||"vw"===c)return("vh"===c?Math.max(document.documentElement.clientHeight,window.innerHeight||0):Math.max(document.documentElement.clientWidth,window.innerWidth||0))/100*a;return a}(e,o,t,n)}))}))).forEach((function(e,t){e.forEach((function(n,r){U(n)&&(o[t]+=n*("-"===e[r-1]?-1:1))}))})),o}var ne={placement:"bottom",eventsEnabled:!0,removeOnDestroy:!1,onCreate:function(){},onUpdate:function(){},modifiers:{shift:{order:100,enabled:!0,fn:function(e){var t=e.placement,n=t.split("-")[0],r=t.split("-")[1];if(r){var o=e.offsets,a=o.reference,c=o.popper,s=-1!==["bottom","top"].indexOf(n),i=s?"left":"top",l=s?"width":"height",p={start:x({},i,a[i]),end:x({},i,a[i]+a[l]-c[l])};e.offsets.popper=_({},c,p[r])}return e}},offset:{order:200,enabled:!0,fn:function(e,t){var n=t.offset,r=e.placement,o=e.offsets,a=o.popper,c=o.reference,s=r.split("-")[0],i=void 0;return i=U(+n)?[+n,0]:te(n,a,c,s),"left"===s?(a.top+=i[0],a.left-=i[1]):"right"===s?(a.top+=i[0],a.left+=i[1]):"top"===s?(a.left+=i[0],a.top-=i[1]):"bottom"===s&&(a.left+=i[0],a.top+=i[1]),e.popper=a,e},offset:0},preventOverflow:{order:300,enabled:!0,fn:function(e,t){var n=t.boundariesElement||u(e.instance.popper);e.instance.reference===n&&(n=u(n));var r=E(e.instance.popper,e.instance.reference,t.padding,n);t.boundaries=r;var o=t.priority,a=e.offsets.popper,c={primary:function(e){var n=a[e];return a[e]<r[e]&&!t.escapeWithReference&&(n=Math.max(a[e],r[e])),x({},e,n)},secondary:function(e){var n="right"===e?"left":"top",o=a[n];return a[e]>r[e]&&!t.escapeWithReference&&(o=Math.min(a[n],r[e]-("right"===e?a.width:a.height))),x({},n,o)}};return o.forEach((function(e){var t=-1!==["left","top"].indexOf(e)?"primary":"secondary";a=_({},a,c[t](e))})),e.offsets.popper=a,e},priority:["left","right","top","bottom"],padding:5,boundariesElement:"scrollParent"},keepTogether:{order:400,enabled:!0,fn:function(e){var t=e.offsets,n=t.popper,r=t.reference,o=e.placement.split("-")[0],a=Math.floor,c=-1!==["top","bottom"].indexOf(o),s=c?"right":"bottom",i=c?"left":"top",l=c?"width":"height";return n[s]<a(r[i])&&(e.offsets.popper[i]=a(r[i])-n[l]),n[i]>a(r[s])&&(e.offsets.popper[i]=a(r[s])),e}},arrow:{order:500,enabled:!0,fn:function(e,t){var n;if(!Y(e.instance.modifiers,"arrow","keepTogether"))return e;var r=t.element;if("string"==typeof r){if(!(r=e.instance.popper.querySelector(r)))return e}else if(!e.instance.popper.contains(r))return console.warn("WARNING: `arrow.element` must be child of its popper element!"),e;var o=e.placement.split("-")[0],a=e.offsets,c=a.popper,s=a.reference,l=-1!==["left","right"].indexOf(o),p=l?"height":"width",u=l?"Top":"Left",h=u.toLowerCase(),d=l?"left":"top",f=l?"bottom":"right",v=k(r)[p];s[f]-v<c[h]&&(e.offsets.popper[h]-=c[h]-(s[f]-v)),s[h]+v>c[f]&&(e.offsets.popper[h]+=s[h]+v-c[f]),e.offsets.popper=O(e.offsets.popper);var m=s[h]+s[p]/2-v/2,g=i(e.instance.popper),y=parseFloat(g["margin"+u],10),b=parseFloat(g["border"+u+"Width"],10),w=m-e.offsets.popper[h]-y-b;return w=Math.max(Math.min(c[p]-v,w),0),e.arrowElement=r,e.offsets.arrow=(x(n={},h,Math.round(w)),x(n,d,""),n),e},element:"[x-arrow]"},flip:{order:600,enabled:!0,fn:function(e,t){if(D(e.instance.modifiers,"inner"))return e;if(e.flipped&&e.placement===e.originalPlacement)return e;var n=E(e.instance.popper,e.instance.reference,t.padding,t.boundariesElement),r=e.placement.split("-")[0],o=N(r),a=e.placement.split("-")[1]||"",c=[];switch(t.behavior){case $:c=[r,o];break;case Z:c=X(r);break;case ee:c=X(r,!0);break;default:c=t.behavior}return c.forEach((function(s,i){if(r!==s||c.length===i+1)return e;r=e.placement.split("-")[0],o=N(r);var l=e.offsets.popper,p=e.offsets.reference,u=Math.floor,h="left"===r&&u(l.right)>u(p.left)||"right"===r&&u(l.left)<u(p.right)||"top"===r&&u(l.bottom)>u(p.top)||"bottom"===r&&u(l.top)<u(p.bottom),d=u(l.left)<u(n.left),f=u(l.right)>u(n.right),v=u(l.top)<u(n.top),m=u(l.bottom)>u(n.bottom),g="left"===r&&d||"right"===r&&f||"top"===r&&v||"bottom"===r&&m,y=-1!==["top","bottom"].indexOf(r),b=!!t.flipVariations&&(y&&"start"===a&&d||y&&"end"===a&&f||!y&&"start"===a&&v||!y&&"end"===a&&m);(h||g||b)&&(e.flipped=!0,(h||g)&&(r=c[i+1]),b&&(a=function(e){return"end"===e?"start":"start"===e?"end":e}(a)),e.placement=r+(a?"-"+a:""),e.offsets.popper=_({},e.offsets.popper,T(e.instance.popper,e.offsets.reference,e.placement)),e=V(e.instance.modifiers,e,"flip"))})),e},behavior:"flip",padding:5,boundariesElement:"viewport"},inner:{order:700,enabled:!1,fn:function(e){var t=e.placement,n=t.split("-")[0],r=e.offsets,o=r.popper,a=r.reference,c=-1!==["left","right"].indexOf(n),s=-1===["top","left"].indexOf(n);return o[c?"left":"top"]=a[n]-(s?o[c?"width":"height"]:0),e.placement=N(t),e.offsets.popper=O(o),e}},hide:{order:800,enabled:!0,fn:function(e){if(!Y(e.instance.modifiers,"hide","preventOverflow"))return e;var t=e.offsets.reference,n=L(e.instance.modifiers,(function(e){return"preventOverflow"===e.name})).boundaries;if(t.bottom<n.top||t.left>n.right||t.top>n.bottom||t.right<n.left){if(!0===e.hide)return e;e.hide=!0,e.attributes["x-out-of-boundaries"]=""}else{if(!1===e.hide)return e;e.hide=!1,e.attributes["x-out-of-boundaries"]=!1}return e}},computeStyle:{order:850,enabled:!0,fn:function(e,t){var n=t.x,r=t.y,o=e.offsets.popper,a=L(e.instance.modifiers,(function(e){return"applyStyle"===e.name})).gpuAcceleration;void 0!==a&&console.warn("WARNING: `gpuAcceleration` option moved to `computeStyle` modifier and will not be supported in future versions of Popper.js!");var c=void 0!==a?a:t.gpuAcceleration,s=M(u(e.instance.popper)),i={position:o.position},l={left:Math.floor(o.left),top:Math.floor(o.top),bottom:Math.floor(o.bottom),right:Math.floor(o.right)},p="bottom"===n?"top":"bottom",h="right"===r?"left":"right",d=I("transform"),f=void 0,v=void 0;if(v="bottom"===p?-s.height+l.bottom:l.top,f="right"===h?-s.width+l.right:l.left,c&&d)i[d]="translate3d("+f+"px, "+v+"px, 0)",i[p]=0,i[h]=0,i.willChange="transform";else{var m="bottom"===p?-1:1,g="right"===h?-1:1;i[p]=v*m,i[h]=f*g,i.willChange=p+", "+h}var y={"x-placement":e.placement};return e.attributes=_({},y,e.attributes),e.styles=_({},i,e.styles),e.arrowStyles=_({},e.offsets.arrow,e.arrowStyles),e},gpuAcceleration:!0,x:"bottom",y:"right"},applyStyle:{order:900,enabled:!0,fn:function(e){var t,n;return G(e.instance.popper,e.styles),t=e.instance.popper,n=e.attributes,Object.keys(n).forEach((function(e){!1!==n[e]?t.setAttribute(e,n[e]):t.removeAttribute(e)})),e.arrowElement&&Object.keys(e.arrowStyles).length&&G(e.arrowElement,e.arrowStyles),e},onLoad:function(e,t,n,r,o){var a=P(0,t,e),c=j(n.placement,a,t,e,n.modifiers.flip.boundariesElement,n.modifiers.flip.padding);return t.setAttribute("x-placement",c),G(t,{position:"absolute"}),n},gpuAcceleration:void 0}}},re=function(){function e(t,n){var r=this,o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};w(this,e),this.scheduleUpdate=function(){return requestAnimationFrame(r.update)},this.update=c(this.update.bind(this)),this.options=_({},e.Defaults,o),this.state={isDestroyed:!1,isCreated:!1,scrollParents:[]},this.reference=t&&t.jquery?t[0]:t,this.popper=n&&n.jquery?n[0]:n,this.options.modifiers={},Object.keys(_({},e.Defaults.modifiers,o.modifiers)).forEach((function(t){r.options.modifiers[t]=_({},e.Defaults.modifiers[t]||{},o.modifiers?o.modifiers[t]:{})})),this.modifiers=Object.keys(this.options.modifiers).map((function(e){return _({name:e},r.options.modifiers[e])})).sort((function(e,t){return e.order-t.order})),this.modifiers.forEach((function(e){e.enabled&&s(e.onLoad)&&e.onLoad(r.reference,r.popper,r.options,e,r.state)})),this.update();var a=this.options.eventsEnabled;a&&this.enableEventListeners(),this.state.eventsEnabled=a}return z(e,[{key:"update",value:function(){return R.call(this)}},{key:"destroy",value:function(){return A.call(this)}},{key:"enableEventListeners",value:function(){return K.call(this)}},{key:"disableEventListeners",value:function(){return W.call(this)}}]),e}();re.Utils=("undefined"!=typeof window?window:e).PopperUtils,re.placements=Q,re.Defaults=ne,t.a=re}).call(this,n(10))},function(e){e.exports=JSON.parse('{"component":"icon","status":"prod","display-name":"Icons","classKey":"Icon","last-accessibility-review":{"date-iso-8601":"2018/01/18","commit-sha":"ad6b6c6523ee21cada11be5f7ea4d99abc530726"},"SLDS-component-path":"/components/icons","site-stories":[{"heading":"Category Options","path":"/__examples__/categories.jsx"},{"heading":"Color Options","path":"/__examples__/colors.jsx"},{"heading":"Size Options","path":"/__examples__/sizes.jsx"}],"url-slug":"icons"}')},function(e,t){e.exports={"global-setup":"#2A739E","service-cloud":"#7f2443","industry-cloud":"#4c2248","sales-cloud":"#00857d","commerce-cloud":"#41693d","community-cloud":"#ffc20e","marketing-cloud":"#ea7600",quip:"#cf451d"}},function(e){e.exports=JSON.parse('{"component":"tooltip","status":"prod","display-name":"Tooltips","classKey":"Tooltip","SLDS-component-path":"/components/tooltips","site-stories":[{"heading":"Base","path":"/__examples__/base.jsx"},{"heading":"Button Trigger","path":"/__examples__/button.jsx"},{"heading":"Button Group Trigger","path":"/__examples__/button-group.jsx"},{"heading":"Learn more","path":"/__examples__/learn-more.jsx"}],"url-slug":"tooltips"}')},function(e){e.exports=JSON.parse('{"component":"alert","status":"prod","display-name":"Alerts","classKey":"Alert","last-accessibility-review":{"date-iso-8601":"2018/01/18","commit-sha":"ad6b6c6523ee21cada11be5f7ea4d99abc530726"},"SLDS-component-path":"/components/alert","dependencies":[{"component":"container","classKey":"AlertContainer"}],"site-stories":[{"heading":"Informational","path":"/__examples__/info.jsx"},{"heading":"Warning","path":"/__examples__/warning.jsx"},{"heading":"System Status","path":"/__examples__/offline.jsx"},{"heading":"Error","path":"/__examples__/error.jsx"},{"heading":"Dismissable","path":"/__examples__/dismissable.jsx"}],"url-slug":"alerts"}')},function(e){e.exports=JSON.parse('{"component":"modal","status":"prod","display-name":"Modals and Prompts","classKey":"Modal","SLDS-component-path":"/components/modals","site-stories":[{"heading":"Default","path":"/__examples__/menu-contents.jsx"},{"heading":"With header and footer","path":"/__examples__/header-footer.jsx"},{"heading":"With Tagline","path":"/__examples__/taglines.jsx"},{"heading":"Prompt","path":"/__examples__/prompt.jsx"},{"heading":"Various sizes","path":"/__examples__/sizes.jsx"}],"url-slug":"modals"}')},function(e,t,n){(function(t){var n="__lodash_hash_undefined__",r="[object Function]",o="[object GeneratorFunction]",a=/^\[object .+?Constructor\]$/,c="object"==typeof t&&t&&t.Object===Object&&t,s="object"==typeof self&&self&&self.Object===Object&&self,i=c||s||Function("return this")();var l,p=Array.prototype,u=Function.prototype,h=Object.prototype,d=i["__core-js_shared__"],f=(l=/[^.]+$/.exec(d&&d.keys&&d.keys.IE_PROTO||""))?"Symbol(src)_1."+l:"",v=u.toString,m=h.hasOwnProperty,g=h.toString,y=RegExp("^"+v.call(m).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),b=p.splice,w=E(i,"Map"),z=E(Object,"create");function x(e){var t=-1,n=e?e.length:0;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}function _(e){var t=-1,n=e?e.length:0;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}function O(e){var t=-1,n=e?e.length:0;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}function M(e,t){for(var n,r,o=e.length;o--;)if((n=e[o][0])===(r=t)||n!=n&&r!=r)return o;return-1}function S(e){return!(!j(e)||(t=e,f&&f in t))&&(function(e){var t=j(e)?g.call(e):"";return t==r||t==o}(e)||function(e){var t=!1;if(null!=e&&"function"!=typeof e.toString)try{t=!!(e+"")}catch(e){}return t}(e)?y:a).test(function(e){if(null!=e){try{return v.call(e)}catch(e){}try{return e+""}catch(e){}}return""}(e));var t}function C(e,t){var n,r,o=e.__data__;return("string"==(r=typeof(n=t))||"number"==r||"symbol"==r||"boolean"==r?"__proto__"!==n:null===n)?o["string"==typeof t?"string":"hash"]:o.map}function E(e,t){var n=function(e,t){return null==e?void 0:e[t]}(e,t);return S(n)?n:void 0}function H(e,t){if("function"!=typeof e||t&&"function"!=typeof t)throw new TypeError("Expected a function");var n=function(){var r=arguments,o=t?t.apply(this,r):r[0],a=n.cache;if(a.has(o))return a.get(o);var c=e.apply(this,r);return n.cache=a.set(o,c),c};return n.cache=new(H.Cache||O),n}function j(e){var t=typeof e;return!!e&&("object"==t||"function"==t)}x.prototype.clear=function(){this.__data__=z?z(null):{}},x.prototype.delete=function(e){return this.has(e)&&delete this.__data__[e]},x.prototype.get=function(e){var t=this.__data__;if(z){var r=t[e];return r===n?void 0:r}return m.call(t,e)?t[e]:void 0},x.prototype.has=function(e){var t=this.__data__;return z?void 0!==t[e]:m.call(t,e)},x.prototype.set=function(e,t){return this.__data__[e]=z&&void 0===t?n:t,this},_.prototype.clear=function(){this.__data__=[]},_.prototype.delete=function(e){var t=this.__data__,n=M(t,e);return!(n<0)&&(n==t.length-1?t.pop():b.call(t,n,1),!0)},_.prototype.get=function(e){var t=this.__data__,n=M(t,e);return n<0?void 0:t[n][1]},_.prototype.has=function(e){return M(this.__data__,e)>-1},_.prototype.set=function(e,t){var n=this.__data__,r=M(n,e);return r<0?n.push([e,t]):n[r][1]=t,this},O.prototype.clear=function(){this.__data__={hash:new x,map:new(w||_),string:new x}},O.prototype.delete=function(e){return C(this,e).delete(e)},O.prototype.get=function(e){return C(this,e).get(e)},O.prototype.has=function(e){return C(this,e).has(e)},O.prototype.set=function(e,t){return C(this,e).set(e,t),this},H.Cache=O,e.exports=H}).call(this,n(10))},function(e){e.exports=JSON.parse('{"component":"avatar","status":"prod","display-name":"Avatars","classKey":"Avatar","last-accessibility-review":{"date-iso-8601":"2018/01/18","commit-sha":"ad6b6c6523ee21cada11be5f7ea4d99abc530726"},"SLDS-component-path":"/components/avatar","site-stories":[{"heading":"Base","path":"/__examples__/base.jsx"},{"heading":"User Initials","path":"/__examples__/user-initials.jsx"},{"heading":"User Icon","path":"/__examples__/user-icon.jsx"},{"heading":"Entity Initials","path":"/__examples__/entity-initials.jsx"},{"heading":"Entity Icon","path":"/__examples__/entity-icon.jsx"}],"url-slug":"avatars"}')},function(e){e.exports=JSON.parse('{"component":"breadcrumb","status":"prod","display-name":"Breadcrumbs","classKey":"Breadcrumb","last-accessibility-review":{"date-iso-8601":"2018/01/18","commit-sha":"ad6b6c6523ee21cada11be5f7ea4d99abc530726"},"SLDS-component-path":"/components/breadcrumb","site-stories":[{"heading":"Base","path":"/__examples__/base.jsx"},{"heading":"One Item","path":"/__examples__/one-item.jsx"},{"heading":"With Overflow Menu","path":"/__examples__/base-with-overflow-menu.jsx"}],"url-slug":"breadcrumbs"}')},function(e){e.exports=JSON.parse('{"component":"menu-dropdown","status":"prod","display-name":"Dropdown Menus","classKey":"MenuDropdown","last-accessibility-review":{"date-iso-8601":"2018/01/18","commit-sha":"ad6b6c6523ee21cada11be5f7ea4d99abc530726"},"SLDS-component-path":"/components/menus#flavor-dropdown","dependencies":[{"component":"button-trigger","classKey":"MenuDropdownButtonTrigger"}],"site-stories":[{"heading":"Default","path":"/__examples__/default.jsx"},{"heading":"With Icon Label","path":"/__examples__/default-icon-label.jsx"},{"heading":"With Subheadings","path":"/__examples__/sub-heading.jsx"},{"heading":"Custom trigger","path":"/__examples__/custom-trigger.jsx"},{"heading":"Checkmark Selection","path":"/__examples__/checkmark.jsx"}],"url-slug":"menu-dropdowns"}')},function(e){e.exports=JSON.parse('{"component":"button-stateful","status":"prod","display-name":"Stateful Buttons","classKey":"ButtonStateful","SLDS-component-path":"/components/button/#flavor-stateful","site-stories":[{"heading":"Icon Only","path":"/__examples__/icon.jsx"},{"heading":"Icon and Text","path":"/__examples__/icon-text.jsx"}],"url-slug":"stateful-buttons"}')},function(e){e.exports=JSON.parse('{"component":"spinner","status":"prod","display-name":"Spinners","classKey":"Spinner","SLDS-component-path":"/components/spinner","site-stories":[{"heading":"Default","path":"/__examples__/default.jsx"}],"url-slug":"spinners"}')},function(e){e.exports=JSON.parse('{"component":"checkbox","status":"prod","display-name":"Checkboxes","classKey":"Checkbox","last-accessibility-review":{"date-iso-8601":"2018/01/18","commit-sha":"ad6b6c6523ee21cada11be5f7ea4d99abc530726"},"SLDS-component-path":"/components/checkbox","site-stories":[{"heading":"Default","path":"/__examples__/default.jsx"},{"heading":"Error State","path":"/__examples__/error.jsx"},{"heading":"Toggle","path":"/__examples__/toggle.jsx"},{"heading":"Grouped with Tri-State","path":"/__examples__/grouped-with-tristate.jsx"}],"url-slug":"checkboxes"}')},function(e){e.exports=JSON.parse('{"component":"radio","status":"prod","display-name":"Radios","classKey":"Radio","last-accessibility-review":{"date-iso-8601":"2018/01/18","commit-sha":"ad6b6c6523ee21cada11be5f7ea4d99abc530726"},"site-stories":[{"heading":"Default","path":"/__examples__/default.jsx"},{"heading":"Disabled","path":"/__examples__/disabled.jsx"}],"SLDS-component-path":"/components/radio-group/","url-slug":"radios"}')},function(e){e.exports=JSON.parse('{"component":"popover","status":"prod","display-name":"Popovers","classKey":"Popover","last-accessibility-review":{"date-iso-8601":"2018/01/18","commit-sha":"ad6b6c6523ee21cada11be5f7ea4d99abc530726"},"SLDS-component-path":"/components/popovers","site-stories":[{"heading":"With Header","path":"/__examples__/header.jsx"},{"heading":"With Alternative Header","path":"/__examples__/alternative-header.jsx"},{"heading":"Controlled State with Footer","path":"/__examples__/controlled-with-footer.jsx"},{"heading":"Custom Target","path":"/__examples__/custom-target.jsx"},{"heading":"Error Theme","path":"/__examples__/error.jsx"},{"heading":"Feature","path":"/__examples__/feature.jsx"},{"heading":"Walkthrough","path":"/__examples__/walkthrough.jsx"},{"heading":"Walkthrough Action","path":"/__examples__/walkthrough-action.jsx"},{"heading":"Warning","path":"/__examples__/warning.jsx"},{"heading":"Edit Dialog","path":"/__examples__/edit-dialog.jsx"}],"url-slug":"popovers"}')},function(e){e.exports=JSON.parse('{"component":"color-picker","status":"prod","display-name":"Color Pickers","classKey":"ColorPicker","SLDS-component-path":"/components/color-picker","site-stories":[{"heading":"Default","path":"/__examples__/default.jsx"}],"url-slug":"color-picker"}')},function(e){e.exports=JSON.parse('{"component":"combobox","status":"prod","display-name":"Comboboxes","classKey":"Combobox","last-accessibility-review":{"date-iso-8601":"2017/08/21","commit-sha":"295a4766f712a5f93743c4ecd3ba62d91c1fc153"},"SLDS-component-path":"/components/combobox","site-stories":[{"heading":"Base","path":"/__examples__/base.jsx"},{"heading":"Base: With subheader","path":"/__examples__/base-menu-subheader.jsx"},{"heading":"Base: Inherit Menu Width","path":"/__examples__/base-inherit-menu-width.jsx"},{"heading":"Base: Predefined options only","path":"/__examples__/base-predefined-options-only.jsx"},{"heading":"Base With Scroll","path":"/__examples__/base-with-scroll.jsx"},{"heading":"Base: With dialog","path":"/__examples__/dialog.jsx"},{"heading":"Inline single selection","path":"/__examples__/inline-single.jsx"},{"heading":"Inline: Single Selection with Entity Selection","path":"/__examples__/inline-single-entity-combobox.jsx"},{"heading":"Inline: Single Selection with Search and Add Menu Items","path":"/__examples__/inline-single-search-add-entities.jsx"},{"heading":"Inline: Multiple Selection with Loading State","path":"/__examples__/inline-multiple-loading.jsx"},{"heading":"Read-only: Single Selection (Picklist)","path":"/__examples__/readonly-single.jsx"},{"heading":"Read-only: Multiple Selection (Picklist)","path":"/__examples__/readonly-multiple.jsx"},{"heading":"Required Input and Error State","path":"/__examples__/required-input-error-state.jsx"}],"url-slug":"comboboxes"}')},function(e){e.exports=JSON.parse('{"component":"data-table","status":"prod","display-name":"Data Tables","classKey":"DataTable","last-accessibility-review":{"date-iso-8601":"2017/01/01","deprecated-accessibility":"true","commit-sha":"ad6b6c6523ee21cada11be5f7ea4d99abc530726"},"SLDS-component-path":"/components/data-tables","dependencies":[{"component":"cell","classKey":"DataTableCell"},{"component":"column","classKey":"DataTableColumn"},{"component":"highlight-cell","classKey":"DataTableHighlightCell"},{"component":"row-actions","classKey":"DataTableRowActions"}],"site-stories":[{"heading":"Basic","path":"/__examples__/basic-fluid.jsx"},{"heading":"Basic: Fluid and Striped","path":"/__examples__/basic-fluid-striped.jsx"},{"heading":"Basic: No row hover","path":"/__examples__/basic-fluid-no-row-hover.jsx"},{"heading":"Basic: Columns bordered","path":"/__examples__/basic-fluid-column-bordered.jsx"},{"heading":"Fixed Layout","path":"/__examples__/basic-fixed-layout.jsx"},{"heading":"Advanced","path":"/__examples__/advanced.jsx"},{"heading":"Advanced: Single Selection","path":"/__examples__/advanced-single-select.jsx"},{"heading":"Advanced: Fixed Header","path":"/__examples__/fixed-header.jsx"},{"heading":"Advanced: Joined with Page Header","path":"/__examples__/joined-with-page-header.jsx"},{"heading":"Custom Classes","path":"/__examples__/custom-classes.jsx"},{"heading":"Infinite Scrolling","path":"/__examples__/infinite-scrolling.jsx"}],"url-slug":"data-tables"}')},function(e,t){e.exports={brandHeaderContrastWeakDisabled:"rgba(166, 166, 166, 0.25)",colorGray11:"rgb(62, 62, 60)",brandPrimaryTransparent10:"rgba(21, 137, 238, 0.1)",colorGray12:"rgb(43, 40, 38)",brandBackgroundDarkTransparent:"rgba(221, 219, 218, 0)",brandHeader:"rgb(255, 255, 255)",brandLightActive:"rgb(227, 229, 237)",brandHeaderContrastWarm:"rgb(191, 2, 1)",brandHeaderIconDisabled:"rgba(145, 145, 145, 0.25)",brandHeaderContrastActive:"rgb(80, 80, 80)",brandBackgroundPrimary:"rgb(250, 250, 249)",brandPrimary:"rgb(21, 137, 238)",brandHeaderContrastWeakActive:"rgb(129, 129, 129)",brandContrastActive:"rgb(13, 14, 18)",brandHeaderContrastCool:"rgb(0, 85, 131)",brandHeaderContrastInverse:"rgb(255, 255, 255)",brandDark:"rgb(24, 35, 55)",brandAccessible:"rgb(0, 112, 210)",brandBackgroundDark:"rgb(232, 232, 232)",brandTextLinkActive:"rgb(0, 95, 178)",colorGray1:"rgb(255, 255, 255)",colorGray2:"rgb(250, 250, 249)",brandHeaderIconActive:"rgb(129, 129, 129)",colorGray3:"rgb(243, 242, 242)",brandHeaderIcon:"rgb(145, 145, 145)",brandDisabled:"rgb(201, 199, 197)",brandTextLink:"rgb(0, 109, 204)",colorGray4:"rgb(236, 235, 234)",colorGray5:"rgb(221, 219, 218)",colorGray6:"rgb(201, 199, 197)",brandAccessibleActive:"rgb(0, 95, 178)",colorGray7:"rgb(176, 173, 171)",brandDarkActive:"rgb(37, 48, 69)",colorGray8:"rgb(150, 148, 146)",brandHeaderContrastInverseActive:"rgb(238, 238, 238)",brandHeaderContrastCoolActive:"rgb(0, 85, 131)",colorGray9:"rgb(112, 110, 107)",brandContrast:"rgb(26, 27, 30)",brandHeaderContrastWeak:"rgb(145, 145, 145)",brandPrimaryActive:"rgb(0, 122, 221)",brandBackgroundPrimaryTransparent:"rgba(250, 250, 249, 0)",brandHeaderContrast:"rgb(94, 94, 94)",brandPrimaryTransparent:"rgba(21, 137, 238, 0.1)",brandHeaderContrastWarmActive:"rgb(172, 0, 0)",brandPrimaryTransparent40:"rgba(21, 137, 238, 0.4)",brandLight:"rgb(244, 246, 254)",colorGray10:"rgb(81, 79, 77)"}},function(e){e.exports=JSON.parse('{"component":"date-picker","status":"prod","display-name":"Datepickers","classKey":"DatePicker","last-accessibility-review":{"date-iso-8601":"2017/01/20","commit-sha":"568f503b19ddc039207e4b5c2636461de937f5f0"},"SLDS-component-path":"/components/datepickers","site-stories":[{"heading":"Default","path":"/__examples__/default.jsx"}],"url-slug":"date-pickers"}')},function(e,t,n){"use strict";var r,o=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}),a=this&&this.__assign||function(){return(a=Object.assign||function(e){for(var t,n=1,r=arguments.length;n<r;n++)for(var o in t=arguments[n])Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o]);return e}).apply(this,arguments)},c=this&&this.__createBinding||(Object.create?function(e,t,n,r){void 0===r&&(r=n),Object.defineProperty(e,r,{enumerable:!0,get:function(){return t[n]}})}:function(e,t,n,r){void 0===r&&(r=n),e[r]=t[n]}),s=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),i=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)"default"!==n&&Object.hasOwnProperty.call(e,n)&&c(t,e,n);return s(t,e),t},l=this&&this.__rest||function(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var o=0;for(r=Object.getOwnPropertySymbols(e);o<r.length;o++)t.indexOf(r[o])<0&&Object.prototype.propertyIsEnumerable.call(e,r[o])&&(n[r[o]]=e[r[o]])}return n},p=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});var u=i(n(1)),h=p(n(84)),d=i(n(0));function f(e){return e&&e.replace(/ |\u202F|\u00A0/g," ")}var v=function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t.lastHtml=t.props.html,t.el="function"==typeof t.props.innerRef?{current:null}:u.createRef(),t.getEl=function(){return(t.props.innerRef&&"function"!=typeof t.props.innerRef?t.props.innerRef:t.el).current},t.emitChange=function(e){var n=t.getEl();if(n){var r=n.innerHTML;if(t.props.onChange&&r!==t.lastHtml){var o=Object.assign({},e,{target:{value:r}});t.props.onChange(o)}t.lastHtml=r}},t}return o(t,e),t.prototype.render=function(){var e=this,t=this.props,n=t.tagName,r=t.html,o=t.innerRef,c=l(t,["tagName","html","innerRef"]);return u.createElement(n||"div",a(a({},c),{ref:"function"==typeof o?function(t){o(t),e.el.current=t}:o||this.el,onInput:this.emitChange,onBlur:this.props.onBlur||this.emitChange,onKeyUp:this.props.onKeyUp||this.emitChange,onKeyDown:this.props.onKeyDown||this.emitChange,contentEditable:!this.props.disabled,dangerouslySetInnerHTML:{__html:r}}),this.props.children)},t.prototype.shouldComponentUpdate=function(e){var t=this.props,n=this.getEl();return!n||(f(e.html)!==f(n.innerHTML)||(t.disabled!==e.disabled||t.tagName!==e.tagName||t.className!==e.className||t.innerRef!==e.innerRef||!h.default(t.style,e.style)))},t.prototype.componentDidUpdate=function(){var e=this.getEl();e&&(this.props.html!==e.innerHTML&&(e.innerHTML=this.props.html),this.lastHtml=this.props.html,function(e){var t=document.createTextNode("");e.appendChild(t);var n=document.activeElement===e;if(null!==t&&null!==t.nodeValue&&n){var r=window.getSelection();if(null!==r){var o=document.createRange();o.setStart(t,t.nodeValue.length),o.collapse(!0),r.removeAllRanges(),r.addRange(o)}e instanceof HTMLElement&&e.focus()}}(e))},t.propTypes={html:d.string.isRequired,onChange:d.func,disabled:d.bool,tagName:d.string,className:d.string,style:d.object,innerRef:d.oneOfType([d.object,d.func])},t}(u.Component);t.default=v},function(e){e.exports=JSON.parse('{"component":"global-header","status":"prod","display-name":"Global Header","classKey":"GlobalHeader","SLDS-component-path":"/components/global-header#flavor-base","dependencies":[{"component":"favorites","classKey":"GlobalHeaderFavorites"},{"component":"help","classKey":"GlobalHeaderHelp"},{"component":"notifications","classKey":"GlobalHeaderNotifications"},{"component":"profile","classKey":"GlobalHeaderProfile"},{"component":"search","classKey":"GlobalHeaderSearch"},{"component":"setup","classKey":"GlobalHeaderSetup"},{"component":"task","classKey":"GlobalHeaderTask"}],"site-stories":[{"heading":"Default","path":"/__examples__/default.jsx"}],"url-slug":"global-headers"}')},function(e){e.exports=JSON.parse('{"component":"illustration","is-deprecated":true,"status":"prototype","display-name":"Illustrations","classKey":"Illustration","SLDS-component-path":"/components/illustration","site-stories":[{"heading":"Small Image with Text","path":"/__examples__/small-image-text.jsx"},{"heading":"Large Image with Text","path":"/__examples__/large-image-text.jsx"},{"heading":"With Heading and message","path":"/__examples__/heading-message.jsx"},{"heading":"Heading Only","path":"/__examples__/heading-only.jsx"},{"heading":"Message Only","path":"/__examples__/message-only.jsx"}],"url-slug":"illustrations"}')},function(e){e.exports=JSON.parse('{"component":"vertical-navigation","status":"prod","display-name":"Vertical Navigation","classKey":"VerticalNavigation","SLDS-component-path":"/components/vertical-navigation","site-stories":[{"heading":"Default","path":"/__examples__/default.jsx"}],"url-slug":"vertical-navigation"}')},function(e){e.exports=JSON.parse('{"component":"page-header","status":"prod","display-name":"Page Headers","classKey":"PageHeader","SLDS-component-path":"/components/page-headers","dependencies":[{"component":"control","classKey":"PageHeaderControl"}],"site-stories":[{"heading":"Record Home","path":"/__examples__/record-home.jsx"},{"heading":"Object Home","path":"/__examples__/object-home.jsx"},{"heading":"Related list","path":"/__examples__/related-list.jsx"},{"heading":"Setup","path":"/__examples__/setup.jsx"}],"url-slug":"page-headers"}')},function(e){e.exports=JSON.parse('{"component":"scoped-notification","status":"prod","display-name":"Scoped Notifications","classKey":"ScopedNotification","SLDS-component-path":"/components/scoped-notification","site-stories":[{"heading":"Base","path":"/__examples__/base.jsx"},{"heading":"Light","path":"/__examples__/light.jsx"},{"heading":"Dark","path":"/__examples__/dark.jsx"},{"heading":"With Custom Icon","path":"/__examples__/custom-icon.jsx"}],"url-slug":"scoped-notifications"}')},function(e){e.exports=JSON.parse('{"component":"textarea","status":"prod","display-name":"Textareas","classKey":"Textarea","SLDS-component-path":"/components/forms#flavor-textarea","site-stories":[{"heading":"Default","path":"/__examples__/default.jsx"},{"heading":"Error","path":"/__examples__/error.jsx"},{"heading":"Disabled","path":"/__examples__/disabled.jsx"}],"url-slug":"textareas"}')},function(e,t,n){(function(e,n){var r="object"==typeof e&&e&&e.Object===Object&&e,o=t&&!t.nodeType&&t,a=o&&"object"==typeof n&&n&&!n.nodeType&&n,c=a&&a.exports===o&&r.process,s=function(){try{return c&&c.binding("util")}catch(e){}}(),i=s&&s.isDate;var l=Object.prototype.toString;var p,u=i?(p=i,function(e){return p(e)}):function(e){return function(e){return!!e&&"object"==typeof e}(e)&&"[object Date]"==l.call(e)};n.exports=u}).call(this,n(10),n(16)(e))},function(e){e.exports=JSON.parse('{"component":"time-picker","status":"prod","display-name":"Timepickers","classKey":"TimePicker","SLDS-component-path":"/components/timepicker","site-stories":[{"heading":"Default","path":"/__examples__/default.jsx"}],"url-slug":"timepickers"}')},function(e){e.exports=JSON.parse('{"component":"toast","status":"prod","display-name":"Toasts","classKey":"Toast","last-accessibility-review":{"date-iso-8601":"2018/01/18","commit-sha":"ad6b6c6523ee21cada11be5f7ea4d99abc530726"},"SLDS-component-path":"/components/toast","dependencies":[{"component":"container","classKey":"ToastContainer"}],"site-stories":[{"heading":"Informational","path":"/__examples__/info.jsx"},{"heading":"Success","path":"/__examples__/success.jsx"},{"heading":"Warning","path":"/__examples__/warning.jsx"},{"heading":"Error","path":"/__examples__/error.jsx"},{"heading":"Error with Details","path":"/__examples__/error-with-details.jsx"}],"url-slug":"toasts"}')},function(e){e.exports=JSON.parse('{"component":"tree","status":"prod","display-name":"Tree","classKey":"Tree","last-accessibility-review":{"date-iso-8601":"2018/05/04","commit-sha":"5fdeb31982a42cbd37a70d96d6257142cd7eec72"},"last-slds-markup-review":{"date-iso-8601":"2018/05/04","commit-sha":"5fdeb31982a42cbd37a70d96d6257142cd7eec72"},"SLDS-component-path":"/components/trees","site-stories":[{"heading":"Default","path":"/__examples__/default.jsx"}],"url-slug":"tree"}')},function(e,t,n){e.exports=n(85)},function(e,t,n){"use strict";var r=n(62);function o(){}function a(){}a.resetWarningCache=o,e.exports=function(){function e(e,t,n,o,a,c){if(c!==r){var s=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw s.name="Invariant Violation",s}}function t(){return e}e.isRequired=e;var n={array:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:t,element:e,elementType:e,instanceOf:t,node:e,objectOf:t,oneOf:t,oneOfType:t,shape:t,exact:t,checkPropTypes:a,resetWarningCache:o};return n.PropTypes=n,n}},function(e,t,n){"use strict";e.exports="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"},function(e,t,n){"use strict";var r=n(18),o=n(65),a=n(69),c=n(70)||0;function s(){return o(c)}e.exports=s,e.exports.generate=s,e.exports.seed=function(t){return r.seed(t),e.exports},e.exports.worker=function(t){return c=t,e.exports},e.exports.characters=function(e){return void 0!==e&&r.characters(e),r.shuffled()},e.exports.isValid=a},function(e,t,n){"use strict";var r=1;e.exports={nextValue:function(){return(r=(9301*r+49297)%233280)/233280},seed:function(e){r=e}}},function(e,t,n){"use strict";var r,o,a=n(66);n(18);e.exports=function(e){var t="",n=Math.floor(.001*(Date.now()-1567752802062));return n===o?r++:(r=0,o=n),t+=a(7),t+=a(e),r>0&&(t+=a(r)),t+=a(n)}},function(e,t,n){"use strict";var r=n(18),o=n(67),a=n(68);e.exports=function(e){for(var t,n=0,c="";!t;)c+=a(o,r.get(),1),t=e<Math.pow(16,n+1),n++;return c}},function(e,t,n){"use strict";var r,o="object"==typeof window&&(window.crypto||window.msCrypto);r=o&&o.getRandomValues?function(e){return o.getRandomValues(new Uint8Array(e))}:function(e){for(var t=[],n=0;n<e;n++)t.push(Math.floor(256*Math.random()));return t},e.exports=r},function(e,t){e.exports=function(e,t,n){for(var r=(2<<Math.log(t.length-1)/Math.LN2)-1,o=-~(1.6*r*n/t.length),a="";;)for(var c=e(o),s=o;s--;)if((a+=t[c[s]&r]||"").length===+n)return a}},function(e,t,n){"use strict";var r=n(18);e.exports=function(e){return!(!e||"string"!=typeof e||e.length<6)&&!new RegExp("[^"+r.get().replace(/[|\\{}()[\]^$+*?.-]/g,"\\$&")+"]").test(e)}},function(e,t,n){"use strict";e.exports=0},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.bodyOpenClassName=t.portalClassName=void 0;var r=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},o=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=n(1),c=f(a),s=f(n(6)),i=f(n(0)),l=f(n(72)),p=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}(n(27)),u=n(23),h=f(u),d=n(78);function f(e){return e&&e.__esModule?e:{default:e}}function v(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function m(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}var g=t.portalClassName="ReactModalPortal",y=t.bodyOpenClassName="ReactModal__Body--open",b=void 0!==s.default.createPortal,w=function(){return b?s.default.createPortal:s.default.unstable_renderSubtreeIntoContainer};function z(e){return e()}var x=function(e){function t(){var e,n,o;v(this,t);for(var a=arguments.length,i=Array(a),p=0;p<a;p++)i[p]=arguments[p];return n=o=m(this,(e=t.__proto__||Object.getPrototypeOf(t)).call.apply(e,[this].concat(i))),o.removePortal=function(){!b&&s.default.unmountComponentAtNode(o.node),z(o.props.parentSelector).removeChild(o.node)},o.portalRef=function(e){o.portal=e},o.renderPortal=function(e){var n=w()(o,c.default.createElement(l.default,r({defaultStyles:t.defaultStyles},e)),o.node);o.portalRef(n)},m(o,n)}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,e),o(t,[{key:"componentDidMount",value:function(){u.canUseDOM&&(b||(this.node=document.createElement("div")),this.node.className=this.props.portalClassName,z(this.props.parentSelector).appendChild(this.node),!b&&this.renderPortal(this.props))}},{key:"getSnapshotBeforeUpdate",value:function(e){return{prevParent:z(e.parentSelector),nextParent:z(this.props.parentSelector)}}},{key:"componentDidUpdate",value:function(e,t,n){if(u.canUseDOM){var r=this.props,o=r.isOpen,a=r.portalClassName;e.portalClassName!==a&&(this.node.className=a);var c=n.prevParent,s=n.nextParent;s!==c&&(c.removeChild(this.node),s.appendChild(this.node)),(e.isOpen||o)&&!b&&this.renderPortal(this.props)}}},{key:"componentWillUnmount",value:function(){if(u.canUseDOM&&this.node&&this.portal){var e=this.portal.state,t=Date.now(),n=e.isOpen&&this.props.closeTimeoutMS&&(e.closesAt||t+this.props.closeTimeoutMS);n?(e.beforeClose||this.portal.closeWithTimeout(),setTimeout(this.removePortal,n-t)):this.removePortal()}}},{key:"render",value:function(){return u.canUseDOM&&b?(!this.node&&b&&(this.node=document.createElement("div")),w()(c.default.createElement(l.default,r({ref:this.portalRef,defaultStyles:t.defaultStyles},this.props)),this.node)):null}}],[{key:"setAppElement",value:function(e){p.setElement(e)}}]),t}(a.Component);x.propTypes={isOpen:i.default.bool.isRequired,style:i.default.shape({content:i.default.object,overlay:i.default.object}),portalClassName:i.default.string,bodyOpenClassName:i.default.string,htmlOpenClassName:i.default.string,className:i.default.oneOfType([i.default.string,i.default.shape({base:i.default.string.isRequired,afterOpen:i.default.string.isRequired,beforeClose:i.default.string.isRequired})]),overlayClassName:i.default.oneOfType([i.default.string,i.default.shape({base:i.default.string.isRequired,afterOpen:i.default.string.isRequired,beforeClose:i.default.string.isRequired})]),appElement:i.default.instanceOf(h.default),onAfterOpen:i.default.func,onRequestClose:i.default.func,closeTimeoutMS:i.default.number,ariaHideApp:i.default.bool,shouldFocusAfterRender:i.default.bool,shouldCloseOnOverlayClick:i.default.bool,shouldReturnFocusAfterClose:i.default.bool,parentSelector:i.default.func,aria:i.default.object,data:i.default.object,role:i.default.string,contentLabel:i.default.string,shouldCloseOnEsc:i.default.bool,overlayRef:i.default.func,contentRef:i.default.func},x.defaultProps={isOpen:!1,portalClassName:g,bodyOpenClassName:y,role:"dialog",ariaHideApp:!0,closeTimeoutMS:0,shouldFocusAfterRender:!0,shouldCloseOnEsc:!0,shouldCloseOnOverlayClick:!0,shouldReturnFocusAfterClose:!0,parentSelector:function(){return document.body}},x.defaultStyles={overlay:{position:"fixed",top:0,left:0,right:0,bottom:0,backgroundColor:"rgba(255, 255, 255, 0.75)"},content:{position:"absolute",top:"40px",left:"40px",right:"40px",bottom:"40px",border:"1px solid #ccc",background:"#fff",overflow:"auto",WebkitOverflowScrolling:"touch",borderRadius:"4px",outline:"none",padding:"20px"}},(0,d.polyfill)(x),t.default=x},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},o="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},a=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),c=n(1),s=v(c),i=v(n(0)),l=f(n(73)),p=v(n(74)),u=f(n(27)),h=f(n(77)),d=v(n(23));function f(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}function v(e){return e&&e.__esModule?e:{default:e}}var m={overlay:"ReactModal__Overlay",content:"ReactModal__Content"},g=0,y=function(e){function t(e){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t);var n=function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return n.setOverlayRef=function(e){n.overlay=e,n.props.overlayRef&&n.props.overlayRef(e)},n.setContentRef=function(e){n.content=e,n.props.contentRef&&n.props.contentRef(e)},n.afterClose=function(){var e=n.props,t=e.appElement,r=e.ariaHideApp,o=e.htmlOpenClassName,a=e.bodyOpenClassName;a&&h.remove(document.body,a),o&&h.remove(document.getElementsByTagName("html")[0],o),r&&g>0&&0===(g-=1)&&u.show(t),n.props.shouldFocusAfterRender&&(n.props.shouldReturnFocusAfterClose?(l.returnFocus(),l.teardownScopedFocus()):l.popWithoutFocus()),n.props.onAfterClose&&n.props.onAfterClose()},n.open=function(){n.beforeOpen(),n.state.afterOpen&&n.state.beforeClose?(clearTimeout(n.closeTimer),n.setState({beforeClose:!1})):(n.props.shouldFocusAfterRender&&(l.setupScopedFocus(n.node),l.markForFocusLater()),n.setState({isOpen:!0},(function(){n.setState({afterOpen:!0}),n.props.isOpen&&n.props.onAfterOpen&&n.props.onAfterOpen()})))},n.close=function(){n.props.closeTimeoutMS>0?n.closeWithTimeout():n.closeWithoutTimeout()},n.focusContent=function(){return n.content&&!n.contentHasFocus()&&n.content.focus()},n.closeWithTimeout=function(){var e=Date.now()+n.props.closeTimeoutMS;n.setState({beforeClose:!0,closesAt:e},(function(){n.closeTimer=setTimeout(n.closeWithoutTimeout,n.state.closesAt-Date.now())}))},n.closeWithoutTimeout=function(){n.setState({beforeClose:!1,isOpen:!1,afterOpen:!1,closesAt:null},n.afterClose)},n.handleKeyDown=function(e){9===e.keyCode&&(0,p.default)(n.content,e),n.props.shouldCloseOnEsc&&27===e.keyCode&&(e.stopPropagation(),n.requestClose(e))},n.handleOverlayOnClick=function(e){null===n.shouldClose&&(n.shouldClose=!0),n.shouldClose&&n.props.shouldCloseOnOverlayClick&&(n.ownerHandlesClose()?n.requestClose(e):n.focusContent()),n.shouldClose=null},n.handleContentOnMouseUp=function(){n.shouldClose=!1},n.handleOverlayOnMouseDown=function(e){n.props.shouldCloseOnOverlayClick||e.target!=n.overlay||e.preventDefault()},n.handleContentOnClick=function(){n.shouldClose=!1},n.handleContentOnMouseDown=function(){n.shouldClose=!1},n.requestClose=function(e){return n.ownerHandlesClose()&&n.props.onRequestClose(e)},n.ownerHandlesClose=function(){return n.props.onRequestClose},n.shouldBeClosed=function(){return!n.state.isOpen&&!n.state.beforeClose},n.contentHasFocus=function(){return document.activeElement===n.content||n.content.contains(document.activeElement)},n.buildClassName=function(e,t){var r="object"===(void 0===t?"undefined":o(t))?t:{base:m[e],afterOpen:m[e]+"--after-open",beforeClose:m[e]+"--before-close"},a=r.base;return n.state.afterOpen&&(a=a+" "+r.afterOpen),n.state.beforeClose&&(a=a+" "+r.beforeClose),"string"==typeof t&&t?a+" "+t:a},n.attributesFromObject=function(e,t){return Object.keys(t).reduce((function(n,r){return n[e+"-"+r]=t[r],n}),{})},n.state={afterOpen:!1,beforeClose:!1},n.shouldClose=null,n.moveFromContentToOverlay=null,n}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,e),a(t,[{key:"componentDidMount",value:function(){this.props.isOpen&&this.open()}},{key:"componentDidUpdate",value:function(e,t){this.props.isOpen&&!e.isOpen?this.open():!this.props.isOpen&&e.isOpen&&this.close(),this.props.shouldFocusAfterRender&&this.state.isOpen&&!t.isOpen&&this.focusContent()}},{key:"componentWillUnmount",value:function(){this.afterClose(),clearTimeout(this.closeTimer)}},{key:"beforeOpen",value:function(){var e=this.props,t=e.appElement,n=e.ariaHideApp,r=e.htmlOpenClassName,o=e.bodyOpenClassName;o&&h.add(document.body,o),r&&h.add(document.getElementsByTagName("html")[0],r),n&&(g+=1,u.hide(t))}},{key:"render",value:function(){var e=this.props,t=e.className,n=e.overlayClassName,o=e.defaultStyles,a=t?{}:o.content,c=n?{}:o.overlay;return this.shouldBeClosed()?null:s.default.createElement("div",{ref:this.setOverlayRef,className:this.buildClassName("overlay",n),style:r({},c,this.props.style.overlay),onClick:this.handleOverlayOnClick,onMouseDown:this.handleOverlayOnMouseDown},s.default.createElement("div",r({ref:this.setContentRef,style:r({},a,this.props.style.content),className:this.buildClassName("content",t),tabIndex:"-1",onKeyDown:this.handleKeyDown,onMouseDown:this.handleContentOnMouseDown,onMouseUp:this.handleContentOnMouseUp,onClick:this.handleContentOnClick,role:this.props.role,"aria-label":this.props.contentLabel},this.attributesFromObject("aria",this.props.aria||{}),this.attributesFromObject("data",this.props.data||{}),{"data-testid":this.props.testId}),this.props.children))}}]),t}(c.Component);y.defaultProps={style:{overlay:{},content:{}},defaultStyles:{}},y.propTypes={isOpen:i.default.bool.isRequired,defaultStyles:i.default.shape({content:i.default.object,overlay:i.default.object}),style:i.default.shape({content:i.default.object,overlay:i.default.object}),className:i.default.oneOfType([i.default.string,i.default.object]),overlayClassName:i.default.oneOfType([i.default.string,i.default.object]),bodyOpenClassName:i.default.string,htmlOpenClassName:i.default.string,ariaHideApp:i.default.bool,appElement:i.default.instanceOf(d.default),onAfterOpen:i.default.func,onAfterClose:i.default.func,onRequestClose:i.default.func,closeTimeoutMS:i.default.number,shouldFocusAfterRender:i.default.bool,shouldCloseOnOverlayClick:i.default.bool,shouldReturnFocusAfterClose:i.default.bool,role:i.default.string,contentLabel:i.default.string,aria:i.default.object,data:i.default.object,children:i.default.node,shouldCloseOnEsc:i.default.bool,overlayRef:i.default.func,contentRef:i.default.func,testId:i.default.string},t.default=y,e.exports=t.default},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.handleBlur=l,t.handleFocus=p,t.markForFocusLater=function(){c.push(document.activeElement)},t.returnFocus=function(){var e=null;try{return void(0!==c.length&&(e=c.pop()).focus())}catch(t){console.warn(["You tried to return focus to",e,"but it is not in the DOM anymore"].join(" "))}},t.popWithoutFocus=function(){c.length>0&&c.pop()},t.setupScopedFocus=function(e){s=e,window.addEventListener?(window.addEventListener("blur",l,!1),document.addEventListener("focus",p,!0)):(window.attachEvent("onBlur",l),document.attachEvent("onFocus",p))},t.teardownScopedFocus=function(){s=null,window.addEventListener?(window.removeEventListener("blur",l),document.removeEventListener("focus",p)):(window.detachEvent("onBlur",l),document.detachEvent("onFocus",p))};var r,o=n(26),a=(r=o)&&r.__esModule?r:{default:r};var c=[],s=null,i=!1;function l(){i=!0}function p(){if(i){if(i=!1,!s)return;setTimeout((function(){s.contains(document.activeElement)||((0,a.default)(s)[0]||s).focus()}),0)}}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){var n=(0,a.default)(e);if(!n.length)return void t.preventDefault();var r,o=t.shiftKey,c=n[0],s=n[n.length-1];if(e===document.activeElement){if(!o)return;r=s}s!==document.activeElement||o||(r=c);c===document.activeElement&&o&&(r=s);if(r)return t.preventDefault(),void r.focus();var i=/(\bChrome\b|\bSafari\b)\//.exec(navigator.userAgent);if(null==i||"Chrome"==i[1]||null!=/\biPod\b|\biPad\b/g.exec(navigator.userAgent))return;var l=n.indexOf(document.activeElement);l>-1&&(l+=o?-1:1);if(void 0===n[l])return t.preventDefault(),void(r=o?s:c).focus();t.preventDefault(),n[l].focus()};var r,o=n(26),a=(r=o)&&r.__esModule?r:{default:r};e.exports=t.default},function(e,t,n){"use strict";e.exports=function(){}},function(e,t,n){var r;!function(){"use strict";var o=!("undefined"==typeof window||!window.document||!window.document.createElement),a={canUseDOM:o,canUseWorkers:"undefined"!=typeof Worker,canUseEventListeners:o&&!(!window.addEventListener&&!window.attachEvent),canUseViewport:o&&!!window.screen};void 0===(r=function(){return a}.call(t,n,t,e))||(e.exports=r)}()},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.dumpClassLists=function(){0};var r={},o={};t.add=function(e,t){return n=e.classList,a="html"==e.nodeName.toLowerCase()?r:o,void t.split(" ").forEach((function(e){!function(e,t){e[t]||(e[t]=0),e[t]+=1}(a,e),n.add(e)}));var n,a},t.remove=function(e,t){return n=e.classList,a="html"==e.nodeName.toLowerCase()?r:o,void t.split(" ").forEach((function(e){!function(e,t){e[t]&&(e[t]-=1)}(a,e),0===a[e]&&n.remove(e)}));var n,a}},function(e,t,n){"use strict";function r(){var e=this.constructor.getDerivedStateFromProps(this.props,this.state);null!=e&&this.setState(e)}function o(e){this.setState(function(t){var n=this.constructor.getDerivedStateFromProps(e,t);return null!=n?n:null}.bind(this))}function a(e,t){try{var n=this.props,r=this.state;this.props=e,this.state=t,this.__reactInternalSnapshotFlag=!0,this.__reactInternalSnapshot=this.getSnapshotBeforeUpdate(n,r)}finally{this.props=n,this.state=r}}function c(e){var t=e.prototype;if(!t||!t.isReactComponent)throw new Error("Can only polyfill class components");if("function"!=typeof e.getDerivedStateFromProps&&"function"!=typeof t.getSnapshotBeforeUpdate)return e;var n=null,c=null,s=null;if("function"==typeof t.componentWillMount?n="componentWillMount":"function"==typeof t.UNSAFE_componentWillMount&&(n="UNSAFE_componentWillMount"),"function"==typeof t.componentWillReceiveProps?c="componentWillReceiveProps":"function"==typeof t.UNSAFE_componentWillReceiveProps&&(c="UNSAFE_componentWillReceiveProps"),"function"==typeof t.componentWillUpdate?s="componentWillUpdate":"function"==typeof t.UNSAFE_componentWillUpdate&&(s="UNSAFE_componentWillUpdate"),null!==n||null!==c||null!==s){var i=e.displayName||e.name,l="function"==typeof e.getDerivedStateFromProps?"getDerivedStateFromProps()":"getSnapshotBeforeUpdate()";throw Error("Unsafe legacy lifecycles will not be called for components using new component APIs.\n\n"+i+" uses "+l+" but also contains the following legacy lifecycles:"+(null!==n?"\n "+n:"")+(null!==c?"\n "+c:"")+(null!==s?"\n "+s:"")+"\n\nThe above lifecycles should be removed. Learn more about this warning here:\nhttps://fb.me/react-async-component-lifecycle-hooks")}if("function"==typeof e.getDerivedStateFromProps&&(t.componentWillMount=r,t.componentWillReceiveProps=o),"function"==typeof t.getSnapshotBeforeUpdate){if("function"!=typeof t.componentDidUpdate)throw new Error("Cannot polyfill getSnapshotBeforeUpdate() for components that do not define componentDidUpdate() on the prototype");t.componentWillUpdate=a;var p=t.componentDidUpdate;t.componentDidUpdate=function(e,t,n){var r=this.__reactInternalSnapshotFlag?this.__reactInternalSnapshot:n;p.call(this,e,t,r)}}return e}n.r(t),n.d(t,"polyfill",(function(){return c})),r.__suppressDeprecationWarning=!0,o.__suppressDeprecationWarning=!0,a.__suppressDeprecationWarning=!0},function(e,t){e.exports=function(e,t,n,r){if(!(e[t]instanceof RegExp)){var o=typeof e[t];return new Error("Invalid "+r+" `"+t+"` of type `"+o+"` supplied to `"+n+"`, expected `RegExp`.")}}},function(e,t,n){"use strict";var r=/[|\\{}()[\]^$+*?.]/g;e.exports=function(e){if("string"!=typeof e)throw new TypeError("Expected a string");return e.replace(r,"\\$&")}},function(e,t){e.exports=function(e){var t={},n=arguments[1];if("string"==typeof n){n={};for(var r=1;r<arguments.length;r++)n[arguments[r]]=!0}for(var o in e)n[o]||(t[o]=e[o]);return t}},function(e,t,n){"use strict";var r=n(83),o={};function a(e,t,n,r,o,a,c,s){if(!e){var i;if(void 0===t)i=new Error("Minified exception occurred; use the non-minified dev environment for the full error message and additional helpful warnings.");else{var l=[n,r,o,a,c,s],p=0;(i=new Error(t.replace(/%s/g,(function(){return l[p++]})))).name="Invariant Violation"}throw i.framesToPop=1,i}}var c="mixins";e.exports=function(e,t,n){var s=[],i={mixins:"DEFINE_MANY",statics:"DEFINE_MANY",propTypes:"DEFINE_MANY",contextTypes:"DEFINE_MANY",childContextTypes:"DEFINE_MANY",getDefaultProps:"DEFINE_MANY_MERGED",getInitialState:"DEFINE_MANY_MERGED",getChildContext:"DEFINE_MANY_MERGED",render:"DEFINE_ONCE",componentWillMount:"DEFINE_MANY",componentDidMount:"DEFINE_MANY",componentWillReceiveProps:"DEFINE_MANY",shouldComponentUpdate:"DEFINE_ONCE",componentWillUpdate:"DEFINE_MANY",componentDidUpdate:"DEFINE_MANY",componentWillUnmount:"DEFINE_MANY",UNSAFE_componentWillMount:"DEFINE_MANY",UNSAFE_componentWillReceiveProps:"DEFINE_MANY",UNSAFE_componentWillUpdate:"DEFINE_MANY",updateComponent:"OVERRIDE_BASE"},l={getDerivedStateFromProps:"DEFINE_MANY_MERGED"},p={displayName:function(e,t){e.displayName=t},mixins:function(e,t){if(t)for(var n=0;n<t.length;n++)h(e,t[n])},childContextTypes:function(e,t){e.childContextTypes=r({},e.childContextTypes,t)},contextTypes:function(e,t){e.contextTypes=r({},e.contextTypes,t)},getDefaultProps:function(e,t){e.getDefaultProps?e.getDefaultProps=f(e.getDefaultProps,t):e.getDefaultProps=t},propTypes:function(e,t){e.propTypes=r({},e.propTypes,t)},statics:function(e,t){!function(e,t){if(!t)return;for(var n in t){var r=t[n];if(t.hasOwnProperty(n)){if(a(!(n in p),'ReactClass: You are attempting to define a reserved property, `%s`, that shouldn\'t be on the "statics" key. Define it as an instance property instead; it will still be accessible on the constructor.',n),n in e)return a("DEFINE_MANY_MERGED"===(l.hasOwnProperty(n)?l[n]:null),"ReactClass: You are attempting to define `%s` on your component more than once. This conflict may be due to a mixin.",n),void(e[n]=f(e[n],r));e[n]=r}}}(e,t)},autobind:function(){}};function u(e,t){var n=i.hasOwnProperty(t)?i[t]:null;b.hasOwnProperty(t)&&a("OVERRIDE_BASE"===n,"ReactClassInterface: You are attempting to override `%s` from your class specification. Ensure that your method names do not overlap with React methods.",t),e&&a("DEFINE_MANY"===n||"DEFINE_MANY_MERGED"===n,"ReactClassInterface: You are attempting to define `%s` on your component more than once. This conflict may be due to a mixin.",t)}function h(e,n){if(n){a("function"!=typeof n,"ReactClass: You're attempting to use a component class or function as a mixin. Instead, just use a regular object."),a(!t(n),"ReactClass: You're attempting to use a component as a mixin. Instead, just use a regular object.");var r=e.prototype,o=r.__reactAutoBindPairs;for(var s in n.hasOwnProperty(c)&&p.mixins(e,n.mixins),n)if(n.hasOwnProperty(s)&&s!==c){var l=n[s],h=r.hasOwnProperty(s);if(u(h,s),p.hasOwnProperty(s))p[s](e,l);else{var d=i.hasOwnProperty(s);if("function"==typeof l&&!d&&!h&&!1!==n.autobind)o.push(s,l),r[s]=l;else if(h){var m=i[s];a(d&&("DEFINE_MANY_MERGED"===m||"DEFINE_MANY"===m),"ReactClass: Unexpected spec policy %s for key %s when mixing in component specs.",m,s),"DEFINE_MANY_MERGED"===m?r[s]=f(r[s],l):"DEFINE_MANY"===m&&(r[s]=v(r[s],l))}else r[s]=l}}}else;}function d(e,t){for(var n in a(e&&t&&"object"==typeof e&&"object"==typeof t,"mergeIntoWithNoDuplicateKeys(): Cannot merge non-objects."),t)t.hasOwnProperty(n)&&(a(void 0===e[n],"mergeIntoWithNoDuplicateKeys(): Tried to merge two objects with the same key: `%s`. This conflict may be due to a mixin; in particular, this may be caused by two getInitialState() or getDefaultProps() methods returning objects with clashing keys.",n),e[n]=t[n]);return e}function f(e,t){return function(){var n=e.apply(this,arguments),r=t.apply(this,arguments);if(null==n)return r;if(null==r)return n;var o={};return d(o,n),d(o,r),o}}function v(e,t){return function(){e.apply(this,arguments),t.apply(this,arguments)}}function m(e,t){return t.bind(e)}var g={componentDidMount:function(){this.__isMounted=!0}},y={componentWillUnmount:function(){this.__isMounted=!1}},b={replaceState:function(e,t){this.updater.enqueueReplaceState(this,e,t)},isMounted:function(){return!!this.__isMounted}},w=function(){};return r(w.prototype,e.prototype,b),function(e){var t=function(e,r,c){this.__reactAutoBindPairs.length&&function(e){for(var t=e.__reactAutoBindPairs,n=0;n<t.length;n+=2){var r=t[n],o=t[n+1];e[r]=m(e,o)}}(this),this.props=e,this.context=r,this.refs=o,this.updater=c||n,this.state=null;var s=this.getInitialState?this.getInitialState():null;a("object"==typeof s&&!Array.isArray(s),"%s.getInitialState(): must return an object or null",t.displayName||"ReactCompositeComponent"),this.state=s};for(var r in t.prototype=new w,t.prototype.constructor=t,t.prototype.__reactAutoBindPairs=[],s.forEach(h.bind(null,t)),h(t,g),h(t,e),h(t,y),t.getDefaultProps&&(t.defaultProps=t.getDefaultProps()),a(t.prototype.render,"createClass(...): Class specification must implement a `render` method."),i)t.prototype[r]||(t.prototype[r]=null);return t}}},function(e,t,n){"use strict";var r=Object.getOwnPropertySymbols,o=Object.prototype.hasOwnProperty,a=Object.prototype.propertyIsEnumerable;function c(e){if(null==e)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(e)}e.exports=function(){try{if(!Object.assign)return!1;var e=new String("abc");if(e[5]="de","5"===Object.getOwnPropertyNames(e)[0])return!1;for(var t={},n=0;n<10;n++)t["_"+String.fromCharCode(n)]=n;if("0123456789"!==Object.getOwnPropertyNames(t).map((function(e){return t[e]})).join(""))return!1;var r={};return"abcdefghijklmnopqrst".split("").forEach((function(e){r[e]=e})),"abcdefghijklmnopqrst"===Object.keys(Object.assign({},r)).join("")}catch(e){return!1}}()?Object.assign:function(e,t){for(var n,s,i=c(e),l=1;l<arguments.length;l++){for(var p in n=Object(arguments[l]))o.call(n,p)&&(i[p]=n[p]);if(r){s=r(n);for(var u=0;u<s.length;u++)a.call(n,s[u])&&(i[s[u]]=n[s[u]])}}return i}},function(e,t,n){"use strict";var r=Array.isArray,o=Object.keys,a=Object.prototype.hasOwnProperty;e.exports=function e(t,n){if(t===n)return!0;if(t&&n&&"object"==typeof t&&"object"==typeof n){var c,s,i,l=r(t),p=r(n);if(l&&p){if((s=t.length)!=n.length)return!1;for(c=s;0!=c--;)if(!e(t[c],n[c]))return!1;return!0}if(l!=p)return!1;var u=t instanceof Date,h=n instanceof Date;if(u!=h)return!1;if(u&&h)return t.getTime()==n.getTime();var d=t instanceof RegExp,f=n instanceof RegExp;if(d!=f)return!1;if(d&&f)return t.toString()==n.toString();var v=o(t);if((s=v.length)!==o(n).length)return!1;for(c=s;0!=c--;)if(!a.call(n,v[c]))return!1;for(c=s;0!=c--;)if(!e(t[i=v[c]],n[i]))return!1;return!0}return t!=t&&n!=n}},function(e,t,n){"use strict";n.r(t),n.d(t,"Accordion",(function(){return Se})),n.d(t,"SLDSAccordion",(function(){return Se})),n.d(t,"AccordionPanel",(function(){return sr})),n.d(t,"SLDSAccordionPanel",(function(){return sr})),n.d(t,"Alert",(function(){return xr})),n.d(t,"SLDSAlert",(function(){return xr})),n.d(t,"AlertContainer",(function(){return kr})),n.d(t,"SLDSAlertContainer",(function(){return kr})),n.d(t,"AppLauncher",(function(){return xo})),n.d(t,"SLDSAppLauncher",(function(){return xo})),n.d(t,"AppLauncherExpandableSection",(function(){return Uo})),n.d(t,"SLDSAppLauncherExpandableSection",(function(){return Uo})),n.d(t,"AppLauncherLink",(function(){return ca})),n.d(t,"SLDSAppLauncherLink",(function(){return ca})),n.d(t,"AppLauncherTile",(function(){return La})),n.d(t,"SLDSAppLauncherTile",(function(){return La})),n.d(t,"Avatar",(function(){return Ja})),n.d(t,"SLDSAvatar",(function(){return Ja})),n.d(t,"Badge",(function(){return oc})),n.d(t,"SLDSBadge",(function(){return oc})),n.d(t,"BrandBand",(function(){return mc})),n.d(t,"SLDSBrandBand",(function(){return mc})),n.d(t,"BreadCrumb",(function(){return Ys})),n.d(t,"SLDSBreadCrumb",(function(){return Ys})),n.d(t,"Breadcrumb",(function(){return Ys})),n.d(t,"SLDSBreadcrumb",(function(){return Ys})),n.d(t,"BuilderHeader",(function(){return ti})),n.d(t,"SLDSBuilderHeader",(function(){return ti})),n.d(t,"BuilderHeaderMisc",(function(){return oi})),n.d(t,"SLDSBuilderHeaderMisc",(function(){return oi})),n.d(t,"BuilderHeaderNav",(function(){return si})),n.d(t,"SLDSBuilderHeaderNav",(function(){return si})),n.d(t,"BuilderHeaderNavDropdown",(function(){return ui})),n.d(t,"SLDSBuilderHeaderNavDropdown",(function(){return ui})),n.d(t,"BuilderHeaderNavLink",(function(){return yi})),n.d(t,"SLDSBuilderHeaderNavLink",(function(){return yi})),n.d(t,"BuilderHeaderToolbar",(function(){return Mi})),n.d(t,"SLDSBuilderHeaderToolbar",(function(){return Mi})),n.d(t,"Button",(function(){return or})),n.d(t,"SLDSButton",(function(){return or})),n.d(t,"ButtonGroup",(function(){return Li})),n.d(t,"SLDSButtonGroup",(function(){return Li})),n.d(t,"ButtonIcon",(function(){return vt})),n.d(t,"SLDSButtonIcon",(function(){return vt})),n.d(t,"ButtonStateful",(function(){return $i})),n.d(t,"SLDSButtonStateful",(function(){return $i})),n.d(t,"Card",(function(){return El})),n.d(t,"SLDSCard",(function(){return El})),n.d(t,"CardEmpty",(function(){return xl})),n.d(t,"SLDSCardEmpty",(function(){return xl})),n.d(t,"CardFilter",(function(){return kp})),n.d(t,"SLDSCardFilter",(function(){return kp})),n.d(t,"Carousel",(function(){return uu})),n.d(t,"SLDSCarousel",(function(){return uu})),n.d(t,"Checkbox",(function(){return Eu})),n.d(t,"SLDSCheckbox",(function(){return Eu})),n.d(t,"ColorPicker",(function(){return Nf})),n.d(t,"SLDSColorPicker",(function(){return Nf})),n.d(t,"Combobox",(function(){return Qv})),n.d(t,"SLDSCombobox",(function(){return Qv})),n.d(t,"SLDSComboboxFilterAndLimit",(function(){return Jv})),n.d(t,"DataTable",(function(){return Mg})),n.d(t,"SLDSDataTable",(function(){return Mg})),n.d(t,"DataTableCell",(function(){return rm})),n.d(t,"SLDSDataTableCell",(function(){return rm})),n.d(t,"DataTableColumn",(function(){return um})),n.d(t,"SLDSDataTableColumn",(function(){return um})),n.d(t,"DataTableHighlightCell",(function(){return Cg})),n.d(t,"SLDSDataTableHighlightCell",(function(){return Cg})),n.d(t,"DataTableRowActions",(function(){return sg})),n.d(t,"SLDSDataTableRowActions",(function(){return sg})),n.d(t,"DatePicker",(function(){return By})),n.d(t,"SLDSDatePicker",(function(){return By})),n.d(t,"Datepicker",(function(){return By})),n.d(t,"SLDSDatepicker",(function(){return By})),n.d(t,"Dropdown",(function(){return Fs})),n.d(t,"DropdownTrigger",(function(){return hs})),n.d(t,"SLDSDropdownTrigger",(function(){return hs})),n.d(t,"DynamicIcon",(function(){return eb})),n.d(t,"SLDSDynamicIcon",(function(){return eb})),n.d(t,"EditDialog",(function(){return fb})),n.d(t,"SLDSEditDialog",(function(){return fb})),n.d(t,"ExpandableSection",(function(){return To})),n.d(t,"SLDSExpandableSection",(function(){return To})),n.d(t,"Expression",(function(){return Vb})),n.d(t,"SLDSExpression",(function(){return Vb})),n.d(t,"ExpressionCondition",(function(){return Ub})),n.d(t,"SLDSExpressionCondition",(function(){return Ub})),n.d(t,"ExpressionFormula",(function(){return aw})),n.d(t,"SLDSExpressionFormula",(function(){return aw})),n.d(t,"ExpressionGroup",(function(){return Mb})),n.d(t,"SLDSExpressionGroup",(function(){return Mb})),n.d(t,"File",(function(){return _w})),n.d(t,"SLDSFile",(function(){return _w})),n.d(t,"Files",(function(){return Nw})),n.d(t,"SLDSFiles",(function(){return Nw})),n.d(t,"FilesFile",(function(){return _w})),n.d(t,"SLDSFilesFile",(function(){return _w})),n.d(t,"FilesMoreFiles",(function(){return Gw})),n.d(t,"SLDSFilesMoreFiles",(function(){return Gw})),n.d(t,"Filter",(function(){return oz})),n.d(t,"SLDSFilter",(function(){return oz})),n.d(t,"GlobalHeader",(function(){return bz})),n.d(t,"SLDSGlobalHeader",(function(){return bz})),n.d(t,"GlobalHeaderButton",(function(){return _z})),n.d(t,"SLDSGlobalHeaderButton",(function(){return _z})),n.d(t,"GlobalHeaderDropdown",(function(){return Az})),n.d(t,"SLDSGlobalHeaderDropdown",(function(){return Az})),n.d(t,"GlobalHeaderFavorites",(function(){return Zz})),n.d(t,"SLDSGlobalHeaderFavorites",(function(){return Zz})),n.d(t,"GlobalHeaderHelp",(function(){return px})),n.d(t,"SLDSGlobalHeaderHelp",(function(){return px})),n.d(t,"GlobalHeaderNotifications",(function(){return zx})),n.d(t,"SLDSGlobalHeaderNotifications",(function(){return zx})),n.d(t,"GlobalHeaderProfile",(function(){return jx})),n.d(t,"SLDSGlobalHeaderProfile",(function(){return jx})),n.d(t,"GlobalHeaderSearch",(function(){return kx})),n.d(t,"SLDSGlobalHeaderSearch",(function(){return kx})),n.d(t,"GlobalHeaderSetup",(function(){return qx})),n.d(t,"SLDSGlobalHeaderSetup",(function(){return qx})),n.d(t,"GlobalHeaderTask",(function(){return e_})),n.d(t,"SLDSGlobalHeaderTask",(function(){return e_})),n.d(t,"GlobalNavigationBar",(function(){return r_})),n.d(t,"SLDSGlobalNavigationBar",(function(){return r_})),n.d(t,"GlobalNavigationBarButton",(function(){return s_})),n.d(t,"SLDSGlobalNavigationBarButton",(function(){return s_})),n.d(t,"GlobalNavigationBarDropdown",(function(){return O_})),n.d(t,"SLDSGlobalNavigationBarDropdown",(function(){return O_})),n.d(t,"GlobalNavigationBarLabel",(function(){return C_})),n.d(t,"SLDSGlobalNavigationBarLabel",(function(){return C_})),n.d(t,"GlobalNavigationBarLink",(function(){return j_})),n.d(t,"SLDSGlobalNavigationBarLink",(function(){return j_})),n.d(t,"GlobalNavigationBarRegion",(function(){return A_})),n.d(t,"SLDSGlobalNavigationBarRegion",(function(){return A_})),n.d(t,"Icon",(function(){return Sn})),n.d(t,"SLDSIcon",(function(){return Sn})),n.d(t,"IconSettings",(function(){return tn})),n.d(t,"SLDSIconSettings",(function(){return tn})),n.d(t,"Illustration",(function(){return U_})),n.d(t,"SLDSIllustration",(function(){return U_})),n.d(t,"InlineEdit",(function(){return cO})),n.d(t,"SLDSInlineEdit",(function(){return cO})),n.d(t,"Input",(function(){return Ep})),n.d(t,"SLDSInput",(function(){return Ep})),n.d(t,"InputIcon",(function(){return Nl})),n.d(t,"SLDSInputIcon",(function(){return Nl})),n.d(t,"InputSearch",(function(){return fO})),n.d(t,"SLDSInputSearch",(function(){return fO})),n.d(t,"LocationMap",(function(){return EO})),n.d(t,"SLDSLocationMap",(function(){return EO})),n.d(t,"Lookup",(function(){return RM})),n.d(t,"SLDSLookup",(function(){return RM})),n.d(t,"LookupDefaultFooter",(function(){return IO})),n.d(t,"SLDSLookupDefaultFooter",(function(){return IO})),n.d(t,"LookupDefaultHeader",(function(){return JO})),n.d(t,"SLDSLookupDefaultHeader",(function(){return JO})),n.d(t,"LookupDefaultSectionDivider",(function(){return ZO})),n.d(t,"SLDSLookupDefaultSectionDivider",(function(){return ZO})),n.d(t,"MediaObject",(function(){return ul})),n.d(t,"SLDSMediaObject",(function(){return ul})),n.d(t,"MenuDropdown",(function(){return Fs})),n.d(t,"SLDSMenuDropdown",(function(){return Fs})),n.d(t,"MenuDropdownButtonTrigger",(function(){return hs})),n.d(t,"SLDSMenuDropdownButtonTrigger",(function(){return hs})),n.d(t,"SLDSMenuPicklist",(function(){return qM})),n.d(t,"Modal",(function(){return io})),n.d(t,"SLDSModal",(function(){return io})),n.d(t,"ModalTrigger",(function(){return KM})),n.d(t,"SLDSModalTrigger",(function(){return KM})),n.d(t,"MoreFiles",(function(){return Gw})),n.d(t,"SLDSMoreFiles",(function(){return Gw})),n.d(t,"Navigation",(function(){return oS})),n.d(t,"SLDSNavigation",(function(){return oS})),n.d(t,"Notification",(function(){return mS})),n.d(t,"SLDSNotification",(function(){return mS})),n.d(t,"PageHeader",(function(){return kC})),n.d(t,"SLDSPageHeader",(function(){return kC})),n.d(t,"PageHeaderControl",(function(){return LC})),n.d(t,"SLDSPageHeaderControl",(function(){return LC})),n.d(t,"Panel",(function(){return KC})),n.d(t,"SLDSPanel",(function(){return KC})),n.d(t,"PanelFilterGroup",(function(){return tE})),n.d(t,"SLDSPanelFilterGroup",(function(){return tE})),n.d(t,"PanelFilterList",(function(){return pE})),n.d(t,"SLDSPanelFilterList",(function(){return pE})),n.d(t,"PanelFilterListHeading",(function(){return hE})),n.d(t,"SLDSPanelFilterListHeading",(function(){return hE})),n.d(t,"Picklist",(function(){return qM})),n.d(t,"Pill",(function(){return dv})),n.d(t,"SLDSPill",(function(){return dv})),n.d(t,"PillContainer",(function(){return _E})),n.d(t,"SLDSPillContainer",(function(){return _E})),n.d(t,"Popover",(function(){return wf})),n.d(t,"SLDSPopover",(function(){return wf})),n.d(t,"PopoverTooltip",(function(){return Fn})),n.d(t,"SLDSPopoverTooltip",(function(){return Fn})),n.d(t,"ProgressBar",(function(){return NE})),n.d(t,"SLDSProgressBar",(function(){return NE})),n.d(t,"ProgressIndicator",(function(){return VH})),n.d(t,"SLDSProgressIndicator",(function(){return VH})),n.d(t,"ProgressRing",(function(){return ZH})),n.d(t,"SLDSProgressRing",(function(){return ZH})),n.d(t,"Radio",(function(){return Sh})),n.d(t,"SLDSRadio",(function(){return Sh})),n.d(t,"RadioButtonGroup",(function(){return ah})),n.d(t,"SLDSRadioButtonGroup",(function(){return ah})),n.d(t,"RadioGroup",(function(){return eh})),n.d(t,"SLDSRadioGroup",(function(){return eh})),n.d(t,"ScopedNotification",(function(){return dj})),n.d(t,"SLDSScopedNotification",(function(){return dj})),n.d(t,"Search",(function(){return fO})),n.d(t,"SLDSSearch",(function(){return fO})),n.d(t,"Settings",(function(){return Kr})),n.d(t,"SLDSSettings",(function(){return Kr})),n.d(t,"SetupAssistant",(function(){return Sj})),n.d(t,"SLDSSetupAssistant",(function(){return Sj})),n.d(t,"SetupAssistantStep",(function(){return Aj})),n.d(t,"SLDSSetupAssistantStep",(function(){return Aj})),n.d(t,"Slider",(function(){return tP})),n.d(t,"SLDSSlider",(function(){return tP})),n.d(t,"Spinner",(function(){return Bl})),n.d(t,"SLDSSpinner",(function(){return Bl})),n.d(t,"SplitView",(function(){return fP})),n.d(t,"SLDSSplitView",(function(){return fP})),n.d(t,"SplitViewHeader",(function(){return yP})),n.d(t,"SLDSSplitViewHeader",(function(){return yP})),n.d(t,"SplitViewListbox",(function(){return GP})),n.d(t,"SLDSSplitViewListbox",(function(){return GP})),n.d(t,"Splitview",(function(){return fP})),n.d(t,"SLDSSplitview",(function(){return fP})),n.d(t,"Tabs",(function(){return $d})),n.d(t,"SLDSTabs",(function(){return $d})),n.d(t,"TabsPanel",(function(){return ef})),n.d(t,"SLDSTabsPanel",(function(){return ef})),n.d(t,"Textarea",(function(){return sk})),n.d(t,"SLDSTextarea",(function(){return sk})),n.d(t,"TimePicker",(function(){return Lk})),n.d(t,"SLDSTimePicker",(function(){return Lk})),n.d(t,"Timepicker",(function(){return Lk})),n.d(t,"SLDSTimepicker",(function(){return Lk})),n.d(t,"Toast",(function(){return Qk})),n.d(t,"SLDSToast",(function(){return Qk})),n.d(t,"ToastContainer",(function(){return aN})),n.d(t,"SLDSToastContainer",(function(){return aN})),n.d(t,"Tooltip",(function(){return Fn})),n.d(t,"SLDSTooltip",(function(){return Fn})),n.d(t,"Tree",(function(){return WN})),n.d(t,"SLDSTree",(function(){return WN})),n.d(t,"TrialBar",(function(){return QN})),n.d(t,"SLDSTrialBar",(function(){return QN})),n.d(t,"TrialBarButton",(function(){return ZN})),n.d(t,"SLDSTrialBarButton",(function(){return ZN})),n.d(t,"TrialBarDropdown",(function(){return oT})),n.d(t,"SLDSTrialBarDropdown",(function(){return oT})),n.d(t,"UNSAFE_DirectionSettings",(function(){return Pe})),n.d(t,"UtilityIcon",(function(){return ut})),n.d(t,"SLDSUtilityIcon",(function(){return ut})),n.d(t,"VerticalNavigation",(function(){return oS})),n.d(t,"SLDSVerticalNavigation",(function(){return oS})),n.d(t,"VisualPicker",(function(){return fT})),n.d(t,"SLDSVisualPicker",(function(){return fT})),n.d(t,"VisualPickerLink",(function(){return OT})),n.d(t,"SLDSVisualPickerLink",(function(){return OT})),n.d(t,"WelcomeMat",(function(){return TT})),n.d(t,"SLDSWelcomeMat",(function(){return TT})),n.d(t,"WelcomeMatInfoBadge",(function(){return KT})),n.d(t,"SLDSWelcomeMatInfoBadge",(function(){return KT})),n.d(t,"WelcomeMatTile",(function(){return oL})),n.d(t,"SLDSWelcomeMatTile",(function(){return oL})),n.d(t,"comboboxAddSubheadings",(function(){return sL})),n.d(t,"comboboxFilterAndLimit",(function(){return Jv})),n.d(t,"log",(function(){return iL}));var r=n(1),o=n.n(r),a=n(0),c=n.n(a),s=n(2),i=n.n(s),l=n(3),p=n.n(l),u="SLDSAlert",h="SLDSAppLauncher",d="SLDSAppLauncherExpandableSection",f="SLDSAppLauncherTile",v="SLDSAvatar",m="SLDSBreadcrumb",g="SLDSBuilderHeaderMisc",y="SLDSBuilderHeaderNav",b="SLDSBuilderHeaderNavDropdown",w="SLDSBuilderHeaderNavLink",z="SLDSBuilderHeaderToolbar",x="SLDSButton",_="SLDSButtonGroup",O="SLDSButtonStateful",M="SLDSButtonIcon",S="SLDSColorPicker",C="SLDSCombobox",E="SLDSDataTable",H="SLDSDataTableCell",j="SLDSDataTableColumn",P="SLDSDataTableHead",k="SLDSDataTableRowActions",N="SLDSDataTableRow",T="SLDSDatePicker",L="SLDSCheckbox",V="SLDSInlineEdit",R="SLDSInput",D="SLDSTextarea",I="SLDSSearch",A="SLDSGlobalHeader",F="SLDSGlobalHeaderFavorites",B="SLDSGlobalHeaderHelp",q="SLDSGlobalHeaderNotifications",K="SLDSGlobalHeaderProfile",W="SLDSGlobalHeaderSearch",U="SLDSGlobalHeaderSetup",G="SLDSGlobalHeaderTask",Y="SLDSGlobalHeaderTool",Q="SLDSGlobalNavigationBarDropdown",J="SLDSGlobalNavigationBarRegion",X="SLDSIcon",$="SLDSList",Z="SLDSLookup",ee="SLDSMenuDropdown",te="SLDSMenuDropdownTrigger",ne="SLDSMenuPicklist",re="SLDSModal",oe="SLDSFilterGroup",ae="SLDSPageHeader",ce="SLDSPageHeaderControl",se="SLDSPopover",ie="SLDSPopoverTooltip",le="SLDSSetupAssistant",pe="SLDSSetupAssistantStep",ue="SLDSScopedNotification",he="SLDSSpinner",de="SLDSRadio",fe="SLDSTimepicker",ve="SLDSToast",me="SLDSTree",ge="SLDSVerticalNavigation";function ye(e){return(ye="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function be(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function we(e,t){return(we=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function ze(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=_e(e);if(t){var o=_e(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return xe(this,n)}}function xe(e,t){return!t||"object"!==ye(t)&&"function"!=typeof t?function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e):t}function _e(e){return(_e=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}var Oe={className:c.a.oneOfType([c.a.array,c.a.object,c.a.string]),id:c.a.oneOfType([c.a.number,c.a.string]),children:c.a.node.isRequired},Me=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&we(e,t)}(c,e);var t,n,r,a=ze(c);function c(e){var t;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,c),(t=a.call(this,e)).state={currButtonIndex:0},t.summaryButtons=[],t.generatedId=p.a.generate(),t}return t=c,(n=[{key:"componentDidUpdate",value:function(e,t){null!==this.state.currButtonIndex&&this.state.currButtonIndex!==t.currButtonIndex&&this.summaryButtons[this.state.currButtonIndex].focus()}},{key:"onClickSummary",value:function(){this.setState({currButtonIndex:null})}},{key:"onKeyDownSummary",value:function(e){var t=this.state.currButtonIndex;null===t&&(t=this.summaryButtons.findIndex((function(t){return t.id===e.target.id}))),"ArrowDown"===e.key?(e.preventDefault(),t<this.props.children.length-1?this.setState({currButtonIndex:t+1}):this.setState({currButtonIndex:0})):"ArrowUp"===e.key&&(e.preventDefault(),t>0?this.setState({currButtonIndex:t-1}):this.setState({currButtonIndex:this.props.children.length-1}))}},{key:"addSummaryButton",value:function(e){var t=this.summaryButtons.find((function(t){return e===t}));null!==e&&void 0===t&&this.summaryButtons.push(e)}},{key:"render",value:function(){var e=this;return o.a.createElement("ul",{name:this.props.id||this.generatedId,className:i()("slds-accordion",this.props.className)},o.a.Children.map(this.props.children,(function(t){return o.a.cloneElement(t,{refs:{summaryButton:e.addSummaryButton.bind(e)},onClickSummary:e.onClickSummary.bind(e),onKeyDownSummary:e.onKeyDownSummary.bind(e)})})))}}])&&be(t.prototype,n),r&&be(t,r),c}(r.Component);Me.displayName="SLDSAccordion",Me.propTypes=Oe;var Se=Me,Ce=n(19),Ee=n.n(Ce);n(8);var He=function(){},je={LTR:"ltr",RTL:"rtl"},Pe=o.a.createContext("ltr");var ke=function(){};function Ne(e){return(Ne="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function Te(e,t){if(null==e)return{};var n,r,o=function(e,t){if(null==e)return{};var n,r,o={},a=Object.keys(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)>=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}function Le(){return(Le=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}function Ve(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function Re(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function De(e,t){return(De=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function Ie(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=Be(e);if(t){var o=Be(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return Ae(this,n)}}function Ae(e,t){return!t||"object"!==Ne(t)&&"function"!=typeof t?Fe(e):t}function Fe(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function Be(e){return(Be=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function qe(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var Ke=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&De(e,t)}(c,e);var t,n,r,a=Ie(c);function c(){var e;Ve(this,c);for(var t=arguments.length,n=new Array(t),r=0;r<t;r++)n[r]=arguments[r];return qe(Fe(e=a.call.apply(a,[this].concat(n))),"getPaths",(function(e){return e instanceof Array?e.map((function(e){return o.a.createElement("path",e)})):o.a.createElement("path",Le({key:"pathSVG"},e))})),qe(Fe(e),"getCircles",(function(e){return e instanceof Array?e.map((function(e){return o.a.createElement("circle",e)})):o.a.createElement("circle",Le({key:"circleSVG"},e))})),qe(Fe(e),"getEllipses",(function(e){return e instanceof Array?e.map((function(e){return o.a.createElement("ellipse",e)})):o.a.createElement("ellipse",Le({key:"ellipseSVG"},e))})),qe(Fe(e),"getGroups",(function(t){return t instanceof Array?t.map((function(t){return o.a.createElement("g",null,e.getShapes(t))})):o.a.createElement("g",{key:"groupsSVG"},e.getShapes(t))})),qe(Fe(e),"getShapes",(function(t){var n=[];return t&&(t.g&&n.push(e.getGroups(t.g)),t.ellipse&&n.push(e.getEllipses(t.ellipse)),t.circle&&n.push(e.getCircles(t.circle)),t.path&&n.push(e.getPaths(t.path))),n})),qe(Fe(e),"getSVG",(function(t,n){var r=t.viewBox,a=Te(t,["viewBox"]);return o.a.createElement("svg",{"aria-hidden":n["aria-hidden"],className:n.className,viewBox:r,name:n.name,style:n.style},e.getShapes(a))})),e}return t=c,(n=[{key:"render",value:function(){var e=this.props,t=e.data,n=Te(e,["data"]);return t?this.getSVG(t,n):null}}])&&Re(t.prototype,n),r&&Re(t,r),c}(o.a.Component);qe(Ke,"displayName","Svg");var We=Ke,Ue={activity:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M37.618 11.67c-1.54.5-2.783.98-3.723 1.438-.747.364-1.687.901-2.814 1.61.086 1.882.084 3.463-.009 4.754-.094 1.304-.342 3.173-.746 5.63l-.001.003c2.815 2.028 4.848 3.56 6.11 4.604.163.135.633.584.856.783l4.344-1.82.028-.074c.627-1.347 1.145-3.186 1.54-5.507.322-1.899.376-3.99.159-6.276l-5.744-5.144zm-1.51-2.66l-.085-.302A19.816 19.816 0 0026 6c-1.963 0-3.86.285-5.653.816l-.032.77c-.002.548.006 1.172.025 1.871 1.69.237 3.111.549 4.273.941 1.167.395 2.652 1.07 4.478 2.029 1.39-.887 2.55-1.558 3.49-2.016.946-.461 2.12-.927 3.526-1.4zM22.165 42.95c3.618-.378 6.074-.736 7.317-1.06 1.421-.371 2.7-.724 3.83-1.054.86-2.042 1.409-3.576 1.648-4.6.192-.82.397-1.923.616-3.31-.383-.338-.735-.64-1.056-.906-1.257-1.04-3.382-2.637-6.362-4.777-1.382.809-2.58 1.367-3.62 1.675-1.12.332-2.855.604-5.256.835-.88 1.877-1.447 3.354-1.697 4.414-.254 1.078-.492 2.575-.71 4.482.879 1.017 1.622 1.774 2.23 2.271.628.514 1.648 1.19 3.06 2.03zM9.433 37.355h4.577c.2-1.58.419-2.87.657-3.877.273-1.16.817-2.63 1.634-4.424-1.055-1.218-2.377-2.756-2.987-3.701-.524-.811-1.314-1.703-2.217-3.899a5.903 5.903 0 00-1.272.288c-1.127.393-2.356 1.045-3.684 1.958A20.36 20.36 0 006 26.1c0 4.169 1.266 8.043 3.433 11.255zm35.895-6.076a20.187 20.187 0 00.625-6.562c-.333 1.675-.74 3.122-1.225 4.344.15.253.274.536.37.848.101.33.178.787.23 1.37zM10.57 18.5l.13-.214c1.413-2.31 2.502-3.924 3.305-4.882.739-.883 1.853-1.95 3.356-3.226a73.318 73.318 0 01-.045-2.184A20.155 20.155 0 007.04 19.696a15.17 15.17 0 011.852-.795 8.697 8.697 0 011.678-.403zM37.154 42.78c-1.708.587-4.01 1.253-6.913 2.011-1.408.368-3.925.738-7.601 1.125 1.092.186 2.215.283 3.36.283 4.127 0 7.966-1.26 11.154-3.42zM50 26.1c0 13.3-10.755 24.1-24 24.1S2 39.4 2 26.1 12.755 2 26 2s24 10.8 24 24.1z"}},ad_set:{xmlns:"http://www.w3.org/2000/svg",g:[{path:{d:"M22.5 5.1h-17c-.8 0-1.5.7-1.5 1.5v15.9c0 .8.7 1.5 1.5 1.5h17c.8 0 1.5-.7 1.5-1.5V6.6c0-.8-.7-1.5-1.5-1.5zm-2.6 8.2H8.1V9.2h11.8v4.1zM46.5 5.1h-17c-.8 0-1.5.7-1.5 1.5v15.9c0 .8.7 1.5 1.5 1.5h17c.8 0 1.5-.7 1.5-1.5V6.6c0-.8-.7-1.5-1.5-1.5zm-2.6 8.2H32.1V9.2h11.8v4.1z"}},{path:{d:"M22.5 28h-17c-.8 0-1.5.7-1.5 1.5v15.9c0 .8.7 1.5 1.5 1.5h17c.8 0 1.5-.7 1.5-1.5V29.5c0-.8-.7-1.5-1.5-1.5zm-2.6 8.2H8.1v-4.1h11.8v4.1zM46.5 28h-17c-.8 0-1.5.7-1.5 1.5v15.9c0 .8.7 1.5 1.5 1.5h17c.8 0 1.5-.7 1.5-1.5V29.5c0-.8-.7-1.5-1.5-1.5zm-2.6 8.2H32.1v-4.1h11.8v4.1z"}}]},add:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M30 29h16.5c.8 0 1.5-.7 1.5-1.5v-3c0-.8-.7-1.5-1.5-1.5H30c-.6 0-1-.4-1-1V5.5c0-.8-.7-1.5-1.5-1.5h-3c-.8 0-1.5.7-1.5 1.5V22c0 .6-.4 1-1 1H5.5c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5H22c.6 0 1 .4 1 1v16.5c0 .8.7 1.5 1.5 1.5h3c.8 0 1.5-.7 1.5-1.5V30c0-.6.4-1 1-1z"}},adduser:{xmlns:"http://www.w3.org/2000/svg",g:{path:[{d:"M21.9 37c0-2.7.9-5.8 2.3-8.2 1.7-3 3.6-4.2 5.1-6.4 2.5-3.7 3-9 1.4-13-1.6-4.1-5.4-6.5-9.8-6.4s-8 2.8-9.4 6.9c-1.6 4.5-.9 9.9 2.7 13.3 1.5 1.4 2.9 3.6 2.1 5.7-.7 2-3.1 2.9-4.8 3.7-3.9 1.7-8.6 4.1-9.4 8.7C1.3 45.1 3.9 49 8 49h17c.8 0 1.3-1 .8-1.6-2.5-2.9-3.9-6.6-3.9-10.4z"},{d:"M37.9 25c-6.6 0-12 5.4-12 12s5.4 12 12 12 12-5.4 12-12-5.4-12-12-12zM44 38c0 .6-.5 1-1.1 1H40v3c0 .6-.5 1-1.1 1h-2c-.6 0-.9-.4-.9-1v-3h-3.1c-.6 0-.9-.4-.9-1v-2c0-.6.3-1 .9-1H36v-3c0-.6.3-1 .9-1h2c.6 0 1.1.4 1.1 1v3h2.9c.6 0 1.1.4 1.1 1v2z"}]}},adjust_value:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M23 14.91a6.55 6.55 0 11-6.52 6.55A6.53 6.53 0 0123 14.91zm20.7 15.72a.58.58 0 000-.84l-4.12-4.12a.59.59 0 00-.42-.18.61.61 0 00-.43.18L27.39 37.05l-1.7 5.69a.8.8 0 00.79 1 .55.55 0 00.18 0L32.35 42zm-1.45-7.75L46.4 27a.63.63 0 00.43.18.59.59 0 00.42-.18c.73-.73 2.06-1.94 2.06-1.94a2 2 0 000-2.91L47.13 20a2 2 0 00-1.41-.54 2.34 2.34 0 00-1.5.54s-1.33 1.31-1.93 2a.58.58 0 000 .88zM40.1 8.27H6a4 4 0 00-3.93 4v19.07A4 4 0 006 35.28h18.84l3.95-3.94H10.54A4.53 4.53 0 006 26.76v-9.88a4.53 4.53 0 004.56-4.57h25a4.53 4.53 0 004.56 4.57v3L44 15.91v-3.6a4 4 0 00-3.9-4.04z"}},advanced_function:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M43 6.9V4c0-.8-.7-1.5-1.5-1.5H11.8c-.8 0-1.5.7-1.5 1.5v3.1c0 .3 0 .7.3 1L25.2 26 10.6 43.9c-.2.3-.3.6-.3 1V48c0 .8.7 1.5 1.5 1.5h29.7c.8 0 1.5-.7 1.5-1.5v-2.9c0-.8-.7-1.5-1.5-1.5H18.4l13.3-16.3c.3-.4.4-.8.4-1.4 0-.5-.2-1-.5-1.4L18.4 8.4h23.1c.8 0 1.5-.7 1.5-1.5z"}},advertising:{xmlns:"http://www.w3.org/2000/svg",g:{path:[{d:"M23 27.2h.4c.2-2.7 1.2-5.1 2.7-7-.8-.8-1.8-1.3-3.1-1.3-2.4 0-4.2 1.8-4.2 4.2 0 2.3 1.8 4.1 4.2 4.1z"},{d:"M24.2 35.2c.5 0 1-.1 1.2-.1-.8-1.3-1.4-2.7-1.7-4H23c-4.5 0-8.4-3.6-8.4-8.4 0-4.5 3.6-8.4 8.4-8.4 2.5 0 4.9 1.1 6.4 2.9 1.2-.7 2.5-1.1 3.9-1.3-2.3-3.3-6.1-5.4-10.4-5.4-7.2 0-12.6 5.7-12.6 12.6S16 35.7 23.2 35.4c.4-.1.7-.1 1-.2z"},{d:"M49.9 45.5v1.4c0 1.6-1.4 3-3 3H22.8c-1.6 0-3-1.4-3-3v-1.4c0-3.6 4.3-5.9 8.3-7.7l.4-.2c.3-.1.6-.1.9.1 1.6 1.1 3.5 1.6 5.4 1.6 1.9 0 3.8-.6 5.4-1.6.3-.2.6-.2.9-.1l.4.2c4.2 1.8 8.4 4 8.4 7.7zM34.8 19.8c4.2 0 7.5 3.7 7.5 8.3s-3.3 8.3-7.5 8.3-7.5-3.7-7.5-8.3 3.4-8.3 7.5-8.3z"},{d:"M18.5 39.2c-6.9-2-12.2-8.5-12.2-16.1 0-9.3 7.5-16.8 16.8-16.8 6.9 0 13.1 4.1 15.6 10.2 2 .8 3.8 2.1 5.1 3.8C42.3 9.8 33.6 2.1 23 2.1 11.3 2.1 2.1 11.3 2.1 23c0 9.2 5.8 17 14.2 19.7.4-1.4 1.2-2.5 2.2-3.5z"}]}},agent_home:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M26.71 2.32l23 23a1.15 1.15 0 01.29 1.11c-.08.4-.64.64-1 .64h-5V49a.92.92 0 01-1 1H9a1 1 0 01-1-.88V27H3a.77.77 0 01-.87-.64.87.87 0 01.23-1.11l23-23a1 1 0 011.35.07zM18.29 38h-4.24a.88.88 0 00-.88.88v5.43a.88.88 0 00.88.88h4.24a.89.89 0 00.88-.88v-5.43a.89.89 0 00-.88-.88zm9.59-7.2h-4.24a.9.9 0 00-.88.88v12.63a.89.89 0 00.88.88h4.24a.89.89 0 00.88-.88V31.68a.9.9 0 00-.88-.88zm9.59-7.19h-4.23a.87.87 0 00-.88.88v19.82a.87.87 0 00.88.88h4.23a.87.87 0 00.88-.88V24.49a.87.87 0 00-.88-.88z","fill-rule":"evenodd"}},agent_session:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M26 4C12.7 4 2.1 13.8 2.1 25.9c0 3.8 1.1 7.4 2.9 10.6.3.5.4 1.1.2 1.7l-3.1 8.5c-.3.8.5 1.5 1.3 1.3l8.6-3.3c.5-.2 1.1-.1 1.7.2 3.6 2 7.9 3.2 12.5 3.2C39.3 48 50 38.3 50 26.1 49.9 13.8 39.2 4 26 4zm-6.5 32c0 .5-.4.9-.9.9h-4.2c-.5 0-.9-.4-.9-.9v-5.4c0-.5.4-.9.9-.9h4.2c.5 0 .9.4.9.9V36zm9.6 0c0 .5-.4.9-.9.9H24c-.5 0-.9-.4-.9-.9V23.3c0-.5.4-.9.9-.9h4.2c.5 0 .9.4.9.9V36zm9.6 0c0 .5-.4.9-.9.9h-4.2c-.5 0-.9-.4-.9-.9V16.1c0-.5.4-.9.9-.9h4.2c.5 0 .9.4.9.9V36z"}},aggregation_policy:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M49.29 43.08l-7.4-7.35a2 2 0 00-.23-.18v-3.18h3.48a1 1 0 00.65-.23 1 1 0 00.14-1.4l-5.9-7-.12-.14a1 1 0 00-1.4.17l-5.89 7a1 1 0 00-.23.63 1 1 0 001 1h3.47v2.88a2.3 2.3 0 00-.68.45l-7.48 7.32a2.4 2.4 0 000 3.39 2.45 2.45 0 003.39 0l4.7-4.67v5.86a2.42 2.42 0 004.84 0v-5.4l4.24 4.22a2.45 2.45 0 003.39 0 2.38 2.38 0 00.03-3.37zM14.38 2H8.14A6.07 6.07 0 002 8v4.8a6.07 6.07 0 006.14 6h6.24a6.07 6.07 0 006.14-6V8a6.07 6.07 0 00-6.14-6zM12 14h-1.48a3.6 3.6 0 010-7.2H12a3.6 3.6 0 010 7.2zM37.74 18.8a6.07 6.07 0 006.14-6V8a6.07 6.07 0 00-6.14-6H31.5a6.07 6.07 0 00-6.14 6v4.8a6.07 6.07 0 006.14 6zm-7.47-8.4a3.6 3.6 0 013.6-3.6h1.49a3.6 3.6 0 110 7.2h-1.49a3.6 3.6 0 01-3.6-3.6zM14.38 23.6H8.14a6.07 6.07 0 00-6.14 6v4.8a6.07 6.07 0 006.14 6h6.24a6.07 6.07 0 006.14-6v-4.8a6.07 6.07 0 00-6.14-6zM12 35.6h-1.48a3.6 3.6 0 110-7.2H12a3.6 3.6 0 010 7.2z","fill-rule":"evenodd"}},alert:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M34.7 31l-.4.1c-1.5.5-3.1-.2-3.7-1.7l-3.3-8.8c-2.6-7-10.5-10.4-17.4-7.5C3.4 15.8.5 23.4 2.9 30L6 38.5c.5 1.5-.3 3.1-1.7 3.6l-.4.1c-1.7.6-2.5 2.6-1.9 4.3l.4 1.1c.2.5.9.9 1.5.6l34.4-12.7c.6-.2.9-1 .7-1.6l-.4-1.1c-.3-1.6-2.2-2.5-3.9-1.8zm-8.4 12.6l-7.5 2.8c-.5.2-.7.8-.4 1.2 1.2 2 3.7 2.8 5.9 2 2.2-.8 3.5-3.1 3.2-5.3-.2-.5-.8-.8-1.2-.7zM49.2 28.6c1.7-5.7.8-11.8-2.3-16.8-3.1-5.1-8.2-8.6-14-9.7-.5-.1-.9.2-.9.6l-.5 2.8c-.1.4.2.7.6.8 4.5.9 8.5 3.7 11 7.7s3.1 8.8 1.9 13.3c-.1.4.1.8.5.9l2.7.9c.5 0 .9-.1 1-.5zM38.2 17c-1.6-2.6-4.2-4.3-7.2-4.9-.4-.1-.8.2-.9.6l-.3 2.9c0 .4.2.7.6.8 1.7.4 3.2 1.4 4.1 2.9.9 1.5 1.2 3.3.7 4.9-.1.3.1.7.4.8l2.7 1.1c.4.2.8-.1 1-.5.9-2.9.5-6-1.1-8.6z"}},all:{xmlns:"http://www.w3.org/2000/svg",path:[{d:"M31.6 21.6c-1.2 0-2.2-1-2.2-2.2V5.5c0-1.2 1-2.2 2.2-2.2h14.2c1.2 0 2.2 1 2.2 2.2v13.9c0 1.2-1 2.2-2.2 2.2H31.6zM37.7 29.8l-8.2 8.9c-.5.5-.5 1.3 0 1.9l8.2 8.9c.5.6 1.5.6 2 0l8.2-8.9c.5-.5.5-1.3 0-1.9l-8.2-8.9c-.5-.6-1.4-.6-2 0z"},{d:"M4.8 6.5L12 2.4c.7-.4 1.5-.4 2.1 0l7.1 4.1c.7.4 1.1 1.1 1.1 1.9v8.2c0 .8-.4 1.5-1.1 1.9l-7.1 4.1c-.7.4-1.5.4-2.1 0l-7.2-4.1c-.7-.4-1.1-1.1-1.1-1.9V8.4c0-.8.4-1.5 1.1-1.9z"}],circle:{cx:"13",cy:"39.4",r:"9.3"}},anchor:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M48 35.7l-2.4-10.2c-.3-1.1-1.7-1.5-2.5-.8l-7.7 7.1c-.9.8-.5 2.2.6 2.5l3.3 1c-.3.7-.6 1.4-1 2-1.8 3-4.7 4.9-9.3 5.5v-25c2.6-1.1 4.4-3.7 4.4-6.7 0-4-3.3-7.3-7.3-7.3-4.1 0-7.3 3.3-7.3 7.3 0 3 1.8 5.5 4.4 6.7v25c-4.6-.6-7.5-2.5-9.3-5.5-.4-.7-.7-1.3-1-2l3.3-1c1.1-.3 1.4-1.8.6-2.5l-7.8-7c-.9-.8-2.2-.4-2.5.8L4 35.7c-.3 1.1.8 2.1 1.9 1.8l2.6-.8c.4 1.1.8 2.1 1.4 3.1 2.9 4.9 8.2 7.8 16 7.8s13-2.9 16-7.8c.6-1 1.1-2.1 1.4-3.1l2.6.8c1.3.3 2.3-.7 2.1-1.8zM26 14.2c-1.6 0-2.9-1.3-2.9-2.9s1.3-2.9 2.9-2.9 2.9 1.3 2.9 2.9-1.3 2.9-2.9 2.9z"}},animal_and_nature:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M17.39 4.603c2.698-1.014 5.568-1.52 8.61-1.52s5.912.506 8.61 1.52a5 5 0 018.84 4.678C44.69 10.32 45.54 13.56 46 19c.394 3.008 2.987 12.067 3 14 .052 7.96-7.614 13.626-23 17-15.333-3.294-23-8.96-23-17 .047-2.053 2.5-10.9 3-14 .603-5.289 1.47-8.495 2.602-9.619a5 5 0 018.787-4.778zm3.578 18.092a4 4 0 00-2.795 4.066l.39 6.253a7.451 7.451 0 0014.874 0l.382-6.119A4 4 0 0031 22.822 18.168 18.168 0 0025.646 22c-1.641 0-3.2.232-4.678.695zM36 23c1.657 0 3-1.79 3-4s-1.343-4-3-4-3 1.79-3 4 1.343 4 3 4zm-20 0c1.657 0 3-1.79 3-4s-1.343-4-3-4-3 1.79-3 4 1.343 4 3 4zm13.074 4.709c-1.768 2.03-4.624 2.022-6.347-.018-1.723-2.04-.277-3.7 3.214-3.691 3.49.01 4.9 1.679 3.133 3.709z"}},announcement:{xmlns:"http://www.w3.org/2000/svg",g:{path:{d:"M22.7 45.4l-1.3-1c-1.4-1-1.4-3-1.4-4v-2.9c0-.8-.7-1.5-1.5-1.5h-6c-.8 0-1.5.7-1.5 1.5v7.7c0 2.7 1.6 4.8 4.1 4.8H20c2.9 0 3.1-2 3.1-2s.5-1.8-.4-2.6zM45 18V4.4v-.1c0-2.4-3-3.1-4.6-1.5l-8.9 8.4c-1.4 1.2-3.2 1.7-5 1.7H11.3C6.1 13 2 17.5 2 22.7v.2c0 5.2 4.1 9.1 9.3 9.1h15.2c1.9 0 3.7.8 5.1 2l8.8 8.6c1.6 1.6 4.6 1 4.6-1.4V27.6c3 0 4.8-2.1 4.8-4.8 0-2.7-1.8-4.8-4.8-4.8z"}}},answer:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M26 4C12.7 4 2 13.8 2 26c0 3.9 1.1 7.5 3 10.8.2.4.3.9.2 1.3L3 45c-.4 1.3.8 2.4 2.1 2l7-2.4c.5-.2 1-.1 1.4.2 3.7 2.1 8 3.3 12.6 3.3 13.3 0 24-9.8 24-22C49.9 13.8 39.2 4 26 4zm11.5 17.1l-12.2 12c-.5.5-1 .7-1.7.7-.6 0-1.2-.2-1.7-.7L16 27.3c-.5-.5-.5-1.2 0-1.6l1.7-1.6c.5-.5 1.2-.5 1.7 0l4.2 4.2 10.5-10.4c.5-.5 1.2-.5 1.7 0l1.7 1.6c.4.4.4 1.2 0 1.6z"}},answered_twice:{xmlns:"http://www.w3.org/2000/svg",path:[{d:"M17.6 11.4c-8.9 0-16 6.5-16 14.7 0 2.6.7 5 2 7.2.1.3.2.6.1.9l-1.5 4.6c-.3.9.5 1.6 1.4 1.3l4.7-1.6c.3-.1.7-.1.9.1 2.5 1.4 5.3 2.2 8.4 2.2 8.9 0 16-6.5 16-14.7s-7.2-14.7-16-14.7zm7.7 11.4l-8.1 8c-.3.3-.7.5-1.1.5-.4 0-.8-.1-1.1-.5l-4-3.9c-.3-.3-.3-.8 0-1.1l1.1-1.1c.3-.3.8-.3 1.1 0l2.8 2.8 7-6.9c.3-.3.8-.3 1.1 0l1.1 1.1c.4.3.4.8.1 1.1z"},{d:"M34.3 11.4h-4.2c4.7 3.4 8.2 8.8 8.2 14.7 0 5.9-3.7 11.5-8.2 14.7h4.2c8.9 0 16-6.5 16-14.7-.1-8.2-7.2-14.7-16-14.7z"}]},anywhere_alert:{xmlns:"http://www.w3.org/2000/svg",g:{path:[{d:"M50 47.33A45.34 45.34 0 004.67 2a2.67 2.67 0 100 5.33 40 40 0 0140 40 2.67 2.67 0 105.33 0z"},{d:"M32.67 47.33a28 28 0 00-28-28 2.67 2.67 0 100 5.34 22.65 22.65 0 0122.66 22.66 2.67 2.67 0 005.34 0zM4.67 36.67a10.66 10.66 0 0110.66 10.66 2.67 2.67 0 11-5.33 0v-.39A5.34 5.34 0 004.67 42a2.67 2.67 0 110-5.33z"}]}},anywhere_chat:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M26 2.7c-13.21 0-24 9.62-24 21.59v.42a20.64 20.64 0 007.71 15.43l.32.27v.08a11.05 11.05 0 01-3.1 4.67 1.79 1.79 0 001.45 3.12l1.17-.17.53-.08c4.76-.73 8.13-1.59 10.23-2.66l.15-.08.5.11a27.38 27.38 0 005.06.48c13.21 0 24-9.62 24-21.59S39.21 2.7 26 2.7z"}},apex:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M48.5 40h-27c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h27c.8 0 1.5-.7 1.5-1.5v-3c0-.8-.7-1.5-1.5-1.5zM25.4 21.8L6 6.3c-.6-.5-1.5-.4-2 .3L2.3 9c-.5.7-.3 1.6.3 2.1l13.8 11c.5.4.5 1.2 0 1.6l-13.8 11c-.6.5-.8 1.5-.3 2.1L4 39.4c.5.7 1.4.8 2 .3l19.4-15.5c.8-.6.8-1.8 0-2.4z"}},apex_plugin:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M26.2 18.1L37.3 7c.6-.6.6-1.5 0-2.1l-2.4-2.4c-.6-.6-1.5-.6-2.1 0L21.7 13.6l4.5 4.5zM38.4 30.7l11.1-11.1c.6-.6.6-1.5 0-2.1l-2.4-2.4c-.6-.6-1.5-.6-2.1 0L33.9 26.2l4.5 4.5zM36.8 39.9c.2-.2.3-.5.4-.8.1-.4 0-.8-.2-1.1-.1-.1-.1-.2-.2-.2L14.3 15.3c-.2-.3-.7-.4-1.1-.4-.4 0-.8.2-1.1.5-.2.2-.4.3-.6.5-.1.1-.2.3-.3.4-.1.2-.3.3-.4.5-.1.2-.3.4-.4.6-.2.2-.3.5-.4.8-.2.3-.3.6-.4.9-.2.3-.3.7-.4 1.1-.2.4-.3.8-.4 1.2-.1.5-.3.9-.4 1.4-.1.5-.2 1-.3 1.6-.1.6-.2 1.2-.3 1.7-.1.6-.2 1.3-.2 1.9-.1.7-.1 1.4-.1 2.2v2.4c0 .9 0 1.7.1 2.6 0 .9.1 1.9.2 2.8 0 .3.1.5.1.8H8L2.8 44c-.8.4-.8 1.4-.3 2l3.7 3.7c.6.6 1.5.6 2.1 0l5.2-5.2c1.9.2 3.7.3 5.6.3 1.6 0 3.1 0 4.7-.1 1.3-.1 2.6-.2 3.8-.5 1-.2 2-.4 3-.7.8-.2 1.6-.5 2.3-.9.6-.3 1.2-.6 1.7-.9.7-.4 1.4-1 2-1.6l.2-.2z"}},approval:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M45.2 29.2h-8.8c-2.6 0-4.8-2.2-4.8-4.8.4-7.1 3.7-7.5 4-12.1.3-4.8-2.7-9.1-7.4-10.1C22 .9 16.4 5.6 16.4 11.6c0 5.3 3.6 5.3 4 12.8 0 2.6-2.2 4.8-4.8 4.8H6.8C4.2 29.2 2 31.3 2 34v3.2c0 .9.7 1.6 1.6 1.6h44.8c.9 0 1.6-.7 1.6-1.6V34c0-2.7-2.2-4.8-4.8-4.8zm.1 14.4H6.7c-.9 0-1.5.7-1.5 1.5v.1c0 2.6 2.2 4.8 4.8 4.8h32.1c2.6 0 4.7-2.2 4.7-4.8v-.1c0-.8-.7-1.5-1.5-1.5z"}},apps:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M13 4H7C5.3 4 4 5.3 4 7v6c0 1.7 1.3 3 3 3h6c1.7 0 3-1.3 3-3V7c0-1.7-1.3-3-3-3zM13 36H7c-1.7 0-3 1.3-3 3v6c0 1.7 1.3 3 3 3h6c1.7 0 3-1.3 3-3v-6c0-1.7-1.3-3-3-3zM13 20H7c-1.7 0-3 1.3-3 3v6c0 1.7 1.3 3 3 3h6c1.7 0 3-1.3 3-3v-6c0-1.7-1.3-3-3-3zM29 4h-6c-1.7 0-3 1.3-3 3v6c0 1.7 1.3 3 3 3h6c1.7 0 3-1.3 3-3V7c0-1.7-1.3-3-3-3zM29 36h-6c-1.7 0-3 1.3-3 3v6c0 1.7 1.3 3 3 3h6c1.7 0 3-1.3 3-3v-6c0-1.7-1.3-3-3-3zM29 20h-6c-1.7 0-3 1.3-3 3v6c0 1.7 1.3 3 3 3h6c1.7 0 3-1.3 3-3v-6c0-1.7-1.3-3-3-3zM45 4h-6c-1.7 0-3 1.3-3 3v6c0 1.7 1.3 3 3 3h6c1.7 0 3-1.3 3-3V7c0-1.7-1.3-3-3-3zM45 36h-6c-1.7 0-3 1.3-3 3v6c0 1.7 1.3 3 3 3h6c1.7 0 3-1.3 3-3v-6c0-1.7-1.3-3-3-3zM45 20h-6c-1.7 0-3 1.3-3 3v6c0 1.7 1.3 3 3 3h6c1.7 0 3-1.3 3-3v-6c0-1.7-1.3-3-3-3z"}},archive:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M45.2 2.3H6.8C4.2 2.3 2 4.5 2 7.1v4.8c0 .9.7 1.6 1.6 1.6h44.8c.9 0 1.6-.7 1.6-1.6V7.1c0-2.6-2.2-4.8-4.8-4.8zM46.6 17.5H5.5c-.9 0-1.6.7-1.6 1.6v26.4c0 2.6 2.2 4.8 4.8 4.8h34.8c2.6 0 4.8-2.2 4.8-4.8V19.1c-.1-.9-.8-1.6-1.7-1.6zm-13.8 8H19.2c-1.1 0-2-.9-2-2s.9-2 2-2h13.6c1.1 0 2 .9 2 2s-.9 2-2 2z"}},arrow_bottom:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M42.34 41.83a2 2 0 012 2V48a2 2 0 01-2 2H9.66a2 2 0 01-2-2v-4.13a2 2 0 012-2zM28 2a2.12 2.12 0 012.05 2v17.4a1.3 1.3 0 002.24.92l4.8-4.69a2 2 0 012.86 0l2.86 2.75a1.86 1.86 0 010 2.76l-15.42 15a2 2 0 01-2.86 0l-15.32-15a1.86 1.86 0 010-2.76L12 17.63a2 2 0 012.86 0l4.8 4.69a1.3 1.3 0 002.24-.92V4A2.19 2.19 0 0124 2h4z"}},arrow_left:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M10.17 42.34a2 2 0 01-2 2H4a2 2 0 01-2-2V9.66a2 2 0 012-2h4.13a2 2 0 012 2zM50 28a2.11 2.11 0 01-2 2.05H30.6a1.3 1.3 0 00-.92 2.24l4.69 4.8a2 2 0 010 2.86l-2.75 2.86a1.87 1.87 0 01-2.76 0l-15-15.42a2 2 0 010-2.86l15-15.32a1.87 1.87 0 012.76 0L34.37 12a2 2 0 010 2.86l-4.69 4.8a1.3 1.3 0 00.92 2.24H48a2.2 2.2 0 012 2.1z","fill-rule":"evenodd"}},arrow_right:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M41.83 9.66a2 2 0 012-2H48a2 2 0 012 2v32.68a2 2 0 01-2 2h-4.13a2 2 0 01-2-2zM2 24a2.11 2.11 0 012-2h17.4a1.3 1.3 0 00.92-2.24l-4.69-4.8a2 2 0 010-2.86l2.75-2.9a1.87 1.87 0 012.76 0l15 15.42a2 2 0 010 2.86l-15 15.32a1.87 1.87 0 01-2.76 0L17.63 40a2 2 0 010-2.86l4.69-4.8a1.3 1.3 0 00-.92-2.24H4A2.2 2.2 0 012 28z","fill-rule":"evenodd"}},arrow_top:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M9.66 10.17a2 2 0 01-2-2V4a2 2 0 012-2h32.68a2 2 0 012 2v4.13a2 2 0 01-2 2zM24 50a2.12 2.12 0 01-2.05-2V30.6a1.3 1.3 0 00-2.24-.92l-4.8 4.69a2 2 0 01-2.86 0l-2.9-2.75a1.86 1.86 0 010-2.76l15.42-15a2 2 0 012.86 0l15.32 15a1.86 1.86 0 010 2.76L40 34.37a2 2 0 01-2.86 0l-4.8-4.69a1.3 1.3 0 00-2.24.92V48a2.19 2.19 0 01-2.1 2h-4z"}},arrowdown:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M9.6 31c-.8.8-.8 1.9 0 2.7l15 14.7c.8.8 2 .8 2.8 0l15.1-14.7c.8-.8.8-1.9 0-2.7l-2.8-2.7c-.8-.8-2-.8-2.8 0l-4.7 4.6c-.8.8-2.2.3-2.2-.9V5c0-1-.9-2-2-2h-4c-1.1 0-2 1.1-2 2v27c0 1.2-1.4 1.7-2.2.9l-4.7-4.6c-.8-.8-2-.8-2.8 0L9.6 31z"}},arrowup:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M41.4 21c.8-.8.8-1.9 0-2.7l-15-14.7c-.8-.8-2-.8-2.8 0l-15 14.7c-.8.8-.8 1.9 0 2.7l2.8 2.7c.8.8 2 .8 2.8 0l4.7-4.6c.8-.8 2.2-.2 2.2.9v27c0 1 .9 2 2 2h4c1.1 0 2-1.1 2-2V20c0-1.2 1.4-1.7 2.2-.9l4.7 4.6c.8.8 2 .8 2.8 0l2.6-2.7z"}},asset_warranty:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M38.78 26.78c1.41 0 2.53 1.53 3.78 2.06s3.18.23 4.14 1.24.7 2.84 1.23 4.14S50 36.58 50 38s-1.53 2.54-2.07 3.78-.24 3.22-1.23 4.14-2.85.7-4.14 1.24-2.37 2.06-3.78 2.06-2.54-1.53-3.78-2.06-3.18-.23-4.13-1.24-.72-2.84-1.24-4.14-2.08-2.36-2.08-3.78 1.53-2.54 2.07-3.78.23-3.19 1.24-4.14 2.83-.7 4.13-1.24 2.36-2.06 3.79-2.06zm2.86-24a2.23 2.23 0 012.17 2.16V26.4l-.21-.09c-1.58-.67-3-2.64-4.82-2.64-1.35 0-2.5 1.1-3.64 1.93v-7.81a.77.77 0 00-.21-.56.79.79 0 00-.57-.21h-1.64a.68.68 0 00-.47.21.73.73 0 00-.21.56v9a12.29 12.29 0 00-2.25.45v-9.45A.76.76 0 0029 17a.78.78 0 00-.78.77v10.67a9.1 9.1 0 00-.77 3.21H11.23a.73.73 0 00-.48.21.69.69 0 00-.2.56v.87a.74.74 0 00.2.47.82.82 0 00.56.22h15.34c-.85 1.25-2.2 2.52-2.2 4 0 1.85 2 3.24 2.64 4.83a7 7 0 01.41 1.63H15.78v2.25a2.22 2.22 0 01-2.17 2.17h-2.47A2.22 2.22 0 019 46.71v-2.13H4.17A2.21 2.21 0 012 42.41V4.94a2.21 2.21 0 012.17-2.16zM43 34.31a.57.57 0 00-.81 0l-4.37 5-2-2a.56.56 0 00-.79 0l-.81.77a.52.52 0 00-.06.72l.06.06L37 41.63a1.21 1.21 0 00.82.36 1 1 0 00.81-.36l5.2-5.76a.63.63 0 000-.78zM14.48 17h-3.25a.73.73 0 00-.48.21.69.69 0 00-.2.56V29.5a.7.7 0 00.76.68h3.11a.73.73 0 00.77-.68V17.79a.72.72 0 00-.67-.77zm4.62 0h-1.7a.73.73 0 00-.48.21.7.7 0 00-.21.56V29.5a.82.82 0 00.22.47.77.77 0 00.56.21H19a.73.73 0 00.6-.18.74.74 0 00.22-.56V17.79a.74.74 0 00-.22-.56.72.72 0 00-.6-.23zm7 0h-3.28a.73.73 0 00-.48.21.7.7 0 00-.21.56V29.5a.72.72 0 00.76.68H26a.74.74 0 00.78-.68V17.79a.74.74 0 00-.67-.79zm8.52-3.87H11.23a.78.78 0 00-.48.21.71.71 0 00-.2.57v.85a.71.71 0 00.73.69h23.24a.77.77 0 00.56-.21.72.72 0 00.21-.57v-.76a.72.72 0 00-.21-.57.77.77 0 00-.56-.21z"}},assignment:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M3.6 29.8h44.6c.9 0 1.6.7 1.6 1.6v3.2c0 .9-.7 1.6-1.6 1.6H3.6c-.9 0-1.6-.7-1.6-1.6v-3.2c0-.9.7-1.6 1.6-1.6zM3.6 15.6h44.6c.9 0 1.6.7 1.6 1.6v3.2c0 .9-.7 1.6-1.6 1.6H3.6c-.9 0-1.6-.7-1.6-1.6v-3.2c0-.8.7-1.6 1.6-1.6z"}},attach:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M17.6 36.7c.6.6 1.5.5 2.1 0l10-10c.7-.7 1.9-.8 2.8 0 .9.8.8 2.2 0 3L20.2 41.8c-2.7 2.7-7.2 2.7-9.9 0l-.1-.1c-2.7-2.7-2.7-7.2 0-9.9l21.7-21.7c2.7-2.7 7.2-2.7 9.9 0l.1.1c2.7 2.7 2.7 7.2 0 9.9l-.1.1c-.5.5-.6 1.2-.2 1.8.6 1.1 1.1 2.3 1.4 3.5.2.8 1.1 1 1.7.5.8-.8 1.5-1.6 1.5-1.6 5.1-5.1 5.1-13.4 0-18.5H46C40.9.8 32.6.8 27.5 5.9L5.8 27.5C.7 32.6.7 40.9 5.8 46l.2.2c5.1 5.1 13.3 5.1 18.4 0l12.4-12.3c3.2-3.2 3.1-8.4-.2-11.6-3.2-3.1-8.4-2.9-11.5.3l-9.8 9.8c-.6.6-.6 1.6 0 2.2l2.3 2.1z"}},automate:{xmlns:"http://www.w3.org/2000/svg",g:{path:[{d:"M26.1 16.4c-5.3 0-9.7 4.3-9.7 9.7s4.3 9.7 9.7 9.7c5.3 0 9.7-4.3 9.7-9.7s-4.4-9.7-9.7-9.7zm0 16.7c-3.9 0-7.1-3.2-7.1-7.1 0-3.9 3.2-7.1 7.1-7.1 3.9 0 7.1 3.2 7.1 7.1-.1 3.9-3.3 7.1-7.1 7.1z"},{d:"M49.3 32.1c.5-1.9.8-4 .8-6.1 0-2.1-.3-4.1-.8-6.1h-2.7c-.4-1.5-1-2.9-1.7-4.2l1.9-1.9c-2.1-3.5-5-6.5-8.6-8.6l-1.9 1.9c-1.3-.7-2.7-1.3-4.2-1.7V2.8c-1.9-.5-4-.8-6.1-.8-2.1 0-4.1.3-6.1.8v2.7c-1.4.4-2.8 1-4.1 1.7l-2-1.9c-3.6 2.1-6.5 5.1-8.6 8.6l1.9 1.9c-.7 1.3-1.3 2.7-1.7 4.2H2.8c-.5 1.9-.8 3.9-.8 6s.3 4.1.8 6.1h2.7c.4 1.5 1 2.9 1.7 4.2l-1.9 1.9c2.1 3.5 5 6.5 8.6 8.6l1.9-1.9c1.3.7 2.7 1.3 4.2 1.7v2.7c1.9.5 4 .8 6.1.8 2.1 0 4.1-.3 6.1-.8v-2.7c1.5-.4 2.9-1 4.2-1.7l1.9 1.9c3.5-2.1 6.5-5 8.6-8.6L45 36.3c.7-1.3 1.3-2.7 1.7-4.2h2.6zm-5.8 6.5c-.7.9-1.4 1.8-2.3 2.6-.8.8-1.7 1.6-2.6 2.3l-1.9-1.9c-2.1 1.5-4.6 2.5-7.2 3v2.6c-1.1.2-2.3.3-3.5.3-1.2 0-2.3-.1-3.5-.3v-2.6c-2.6-.5-5.1-1.5-7.2-3l-1.9 1.9a28.482 28.482 0 01-4.9-4.9l1.9-1.9c-1.5-2.1-2.5-4.6-3-7.2H4.8c-.2-1.1-.3-2.3-.3-3.5 0-1.2.1-2.3.3-3.5h2.7c.5-2.6 1.5-5.1 3-7.2l-1.9-1.9a28.482 28.482 0 014.9-4.9l1.9 1.9c2.1-1.5 4.6-2.5 7.2-3V4.8c1.1-.2 2.3-.3 3.5-.3 1.2 0 2.3.1 3.5.3v2.7c2.6.5 5.1 1.5 7.2 3l1.9-1.9c.9.7 1.8 1.4 2.6 2.3.8.8 1.6 1.7 2.3 2.6l-1.9 1.9c1.5 2.1 2.5 4.6 3 7.2h2.7c.2 1.1.3 2.3.3 3.5 0 1.2-.1 2.3-.3 3.5h-2.7c-.5 2.6-1.5 5.1-3 7.2l1.8 1.8z"}]}},away:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M43 9C33.6-.3 18.4-.3 9 9S-.3 33.6 9 43s24.6 9.3 34 0 9.3-24.6 0-34zm-29.7 4.3c7-7 18.5-7 25.5 0 2.8 2.8 4.5 6.2 5 9.7H8.2c.6-3.6 2.3-7 5.1-9.7z"}},back:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M48.6 23H15.4c-.9 0-1.3-1.1-.7-1.7l9.6-9.6c.6-.6.6-1.5 0-2.1l-2.2-2.2c-.6-.6-1.5-.6-2.1 0L2.5 25c-.6.6-.6 1.5 0 2.1L20 44.6c.6.6 1.5.6 2.1 0l2.1-2.1c.6-.6.6-1.5 0-2.1l-9.6-9.6c-.6-.7-.2-1.8.7-1.8h33.2c.8 0 1.5-.6 1.5-1.4v-3c0-.8-.6-1.6-1.4-1.6z"}},ban:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M26 2C12.8 2 2 12.8 2 26s10.8 24 24 24 24-10.8 24-24S39.2 2 26 2zm11.9 25.7c-.1.7-.7 1.3-1.5 1.3H15.6c-.8 0-1.4-.5-1.5-1.3-.1-1.2-.1-2.3 0-3.4.1-.7.7-1.3 1.5-1.3h20.8c.8 0 1.4.6 1.5 1.3.1 1.2.1 2.3 0 3.4z"}},block_visitor:{xmlns:"http://www.w3.org/2000/svg",path:[{d:"M64.7 19.1v.4-.4z"},{d:"M22 37c0-2.7.9-5.8 2.3-8.2 1.7-3 3.6-4.2 5.1-6.4 2.5-3.7 3-9 1.4-13C29.2 5.3 25.4 2.9 21 3s-8 2.8-9.4 6.9c-1.6 4.5-.9 9.9 2.7 13.3 1.5 1.4 2.9 3.6 2.1 5.7-.7 2-3.1 2.9-4.8 3.7-3.9 1.7-8.6 4.1-9.4 8.7C1.4 45.1 4 49 8.1 49h17c.8 0 1.3-1 .8-1.6C23.4 44.5 22 40.8 22 37z"},{d:"M46.5 28.5c-4.7-4.7-12.3-4.7-17 0s-4.7 12.3 0 17 12.3 4.7 17 0 4.7-12.3 0-17zm-14.2 2.8c2.7-2.7 6.7-3.1 9.8-1.2l-11 11c-1.9-3.1-1.5-7.1 1.2-9.8zm11.4 11.4c-2.7 2.6-6.7 3-9.8 1.3l11-11c1.8 3 1.4 7-1.2 9.7z"}]},bold:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M41 19c0-6-4.8-11-10.5-11H14c-1.1 0-2 .9-2 2v33c0 1.1.9 2 2 2h16.5C36.2 45 41 40 41 34c0-2.9-1.1-5.5-2.9-7.5 1.8-2 2.9-4.6 2.9-7.5zM30.5 38H19v-8h11.5c1.9 0 3.6 1.9 3.6 4s-1.7 4-3.6 4zm0-15H19v-8h11.5c1.9 0 3.6 1.9 3.6 4s-1.7 4-3.6 4z"}},bookmark:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M37.3 49.6l-9.9-9.9c-.6-.6-1.5-.6-2.1 0l-10.6 10c-.7.6-1.7.2-1.7-.7V6c0-2.2 1.8-4 4-4h18c2.2 0 4 1.8 4 4v42.9c0 .9-1.1 1.4-1.7.7z"}},bottom_align:{xmlns:"http://www.w3.org/2000/svg",rect:[{x:"2",y:"43.6",width:"48",height:"6.4",rx:"1.6"},{"data-name":"Rectangle",x:"18.8",y:"2",width:"14.4",height:"37.6",rx:"3.2"}]},breadcrumbs:{xmlns:"http://www.w3.org/2000/svg",path:[{d:"M8.4 42c-.6 0-1-.4-1-1V10.9c0-.6.4-1 1-1h8.1c.4 0 .9.2 1.2.5L29.3 25c.4.5.4 1.3 0 1.9L17.6 41.5c-.3.4-.8.6-1.3.6L8.4 42z"},{d:"M44.3 25L32.6 10.5c-.5-.6-1.4-.8-2.1-.2l-2.3 1.9c-.7.5-.8 1.5-.2 2.1L37.5 26 28 37.8c-.5.6-.4 1.6.2 2.1l2.3 1.9c.7.5 1.5.4 2.1-.2L44.3 27c.4-.8.4-1.5 0-2z"}]},broadcast:{xmlns:"http://www.w3.org/2000/svg",g:[{path:[{d:"M2 18.992c0 5.832 2.28 11.292 6.362 15.374.902.899 2.28.899 3.181 0 .902-.9.902-2.279 0-3.183-3.233-3.231-5.036-7.58-5.088-12.19.053-4.612 1.855-8.959 5.088-12.193.902-.901.902-2.279 0-3.181-.901-.9-2.28-.901-3.181 0A21.61 21.61 0 002 18.992z"},{d:"M14.723 28.004c.902.902 2.28.902 3.182 0 .9-.9.9-2.278 0-3.181-1.538-1.537-2.438-3.605-2.438-5.831-.001-2.227.847-4.241 2.438-5.832.9-.901.9-2.279 0-3.181-.902-.9-2.28-.901-3.182 0a12.715 12.715 0 00-3.71 9.012c0 3.394 1.325 6.628 3.71 9.013z"}]},{path:[{d:"M43.499 3.618c-.901-.901-2.28-.9-3.181 0-.901.902-.901 2.28 0 3.181 3.232 3.234 5.035 7.581 5.089 12.193-.054 4.611-1.855 8.959-5.089 12.191-.901.901-.901 2.28 0 3.182.899.9 2.277.9 3.181 0a21.614 21.614 0 006.36-15.374c0-5.83-2.277-11.29-6.36-15.373z"},{d:"M40.85 18.992c-.002-3.392-1.326-6.627-3.713-9.012-.9-.901-2.279-.9-3.181 0-.901.902-.899 2.28 0 3.181 1.591 1.59 2.438 3.604 2.438 5.832 0 2.226-.9 4.294-2.438 5.831-.901.902-.899 2.279 0 3.181.901.902 2.28.902 3.181 0a12.724 12.724 0 003.713-9.013z"}]}],path:{d:"M23.662 24.349a5.858 5.858 0 012.247-11.268 5.856 5.856 0 012.28 11.253l-.03 2.759v20.844c0 .601-.524 1.125-1.125 1.052h-2.249c-.599 0-1.125-.525-1.125-1.125V27.02l.002-2.671z"}},brush:{xmlns:"http://www.w3.org/2000/svg",g:{path:{d:"M49.4 2.7C46-.8 27 10 15.4 28.6c-.5.9-.2 2 .7 2.4 2.6 1.2 4.7 3.4 5.8 6.1.4 1 1.5 1.3 2.4.7 18-11.9 28.5-31.6 25.1-35.1zM11.9 35.2C10.4 35.2 9 36 8 37h-.1c-.5 0-1 .8-1.4 1.5-1.6 2.7-1.9 5.9-4.3 9.4-.4.6-.3 1.5.4 1.7 3.4 1.1 9.5.1 12.5-2.1v.1c1-.2.7-.6 1-.6 1.1-2 2-3 2-4.9-.1-3.7-2.7-6.9-6.2-6.9z"}}},bucket:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M49 11c0-6.2-9.8-9-19-9s-19 2.8-19 9v.4C2.4 14 1 19.5 1 22.6c0 3 1.5 6.1 4.1 8.3 2.3 1.9 5.1 3 7.9 3.1h.8c6.5-.2 12.9-2.3 14.7-5.9-.9-.7-1.5-1.9-1.5-3.1 0-2.2 1.8-4 4-4s4 1.8 4 4c0 1.7-1 3.1-2.5 3.7-2 5.6-10 9.3-19.5 9.3v6c0 3.3 7.6 6 17 6s17-2.7 17-6V15.3c1.3-1.2 2-2.6 2-4.3zM30 8c6.6 0 10.8 1.5 12.4 2.6.3.2.3.6 0 .8C40.8 12.5 36.6 14 30 14s-10.8-1.5-12.4-2.6c-.3-.2-.3-.6 0-.8C19.2 9.5 23.4 8 30 8zM7.7 27.8C6 26.4 5 24.5 5 22.6c0-4.5 4.1-6.6 7.7-7.5l.3.3V30c-1.9-.1-3.8-.9-5.3-2.2z"}},bug:{xmlns:"http://www.w3.org/2000/svg",g:{path:[{d:"M19.6 10h12.8a1.51 1.51 0 001.43-1.75A8 8 0 0026 2a8.05 8.05 0 00-7.83 6.24A1.51 1.51 0 0019.6 10z"},{d:"M47.59 30.8A2.4 2.4 0 0050 28.24 2.47 2.47 0 0047.43 26h-7v-4c4.64-1.84 7.91-6.8 8-12.71a2.48 2.48 0 00-2-2.48 2.39 2.39 0 00-2.8 2.4 9.14 9.14 0 01-3.92 7.83 4.87 4.87 0 00-4.08-2.24H16.41a4.87 4.87 0 00-4.08 2.24 9 9 0 01-3.92-7.66 2.53 2.53 0 00-2.24-2.56 2.39 2.39 0 00-2.55 2.4c0 5.91 3.35 11 8 12.79v4h-7A2.53 2.53 0 002 28.24a2.44 2.44 0 002.41 2.56h7.2v4C7 36.64 3.7 41.59 3.62 47.51a2.48 2.48 0 002 2.48 2.39 2.39 0 002.8-2.4 9 9 0 013.84-7.76 14.4 14.4 0 009.27 9.44 1.61 1.61 0 002.08-1.52V28.56A2.53 2.53 0 0125.84 26a2.44 2.44 0 012.56 2.4v19.35a1.58 1.58 0 002.08 1.52 14.4 14.4 0 009.27-9.44 9.25 9.25 0 013.84 7.6A2.53 2.53 0 0045.83 50a2.4 2.4 0 002.56-2.4c0-5.92-3.36-11-8-12.79v-4z"}]}},builder:{xmlns:"http://www.w3.org/2000/svg",g:{path:{d:"M11.5 17h-8c-.8 0-1.5.7-1.5 1.5V44c0 2.2 1.8 4 4 4h5.5c.8 0 1.5-.7 1.5-1.5v-28c0-.8-.7-1.5-1.5-1.5zM48.5 17h-30c-.8 0-1.5.7-1.5 1.5v28c0 .8.7 1.5 1.5 1.5H46c2.2 0 4-1.8 4-4V18.5c0-.8-.7-1.5-1.5-1.5zM46 4H6C3.8 4 2 5.8 2 8v3.5c0 .8.7 1.5 1.5 1.5h45c.8 0 1.5-.7 1.5-1.5V8c0-2.2-1.8-4-4-4z"}}},bundle_config:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M14.4 2H8a6 6 0 00-6 6v6a6 6 0 006 6h6.4a6 6 0 006-6V8a6 6 0 00-6-6zm-2.87 13.1h-.66a4.1 4.1 0 010-8.19h.66a4.1 4.1 0 010 8.19zM31.2 20h6.4a6 6 0 006-6V8a6 6 0 00-6-6h-6.4a6 6 0 00-6 6v6a6 6 0 006 6zm2.87-13.09h.66a4.1 4.1 0 010 8.19h-.66a4.1 4.1 0 010-8.19zM14.4 24.93L8 25a6 6 0 00-6 6v5.87a6 6 0 006 6h6.4a6 6 0 006-6v-5.94a6 6 0 00-6-6zM11.53 38h-.66a4.1 4.1 0 010-8.19h.66a4.1 4.1 0 010 8.19zM49.27 35.07a14.83 14.83 0 01-1.88-.22.22.22 0 01-.2-.21 18.39 18.39 0 00-.84-2v-.32c.32-.53.84-1.06 1.15-1.6a.82.82 0 00-.11-1.06l-2.08-2.14a.78.78 0 00-.52-.21 2.36 2.36 0 00-.52.21c-.52.32-1 .86-1.56 1.18a.1.1 0 00-.11.09h-.1c-.73-.21-1.25-.64-2-.85a.23.23 0 01-.21-.21c-.1-.64-.1-1.18-.21-1.82a.89.89 0 00-.52-.85.33.33 0 00-.21-.11h-3a.86.86 0 00-.52.11c-.21.21-.52.53-.52.85a11.15 11.15 0 01-.21 1.82.23.23 0 01-.21.21c-.73.21-1.25.64-2 .85h-.1c-.11 0-.11 0-.21-.1-.52-.32-.94-.86-1.56-1.18a.62.62 0 00-.53-.21c-.31 0-.31.11-.62.21l-2.08 2.14a.82.82 0 00-.11 1.06c.31.54.83 1 1.15 1.6a.21.21 0 010 .3c-.21.75-.63 1.28-.84 2a.22.22 0 01-.2.21c-.63.11-1.15.11-1.78.22a.87.87 0 00-.83.64v3.62a1.59 1.59 0 00.82.7 9.73 9.73 0 011.78.22.22.22 0 01.2.21c.21.75.63 1.28.84 2 0 .1.1.21 0 .32-.32.53-.84 1.06-1.15 1.6a.82.82 0 00.11 1.06l2.08 2.14c.21.21.31.21.62.21a1.63 1.63 0 00.53-.21c.5-.42 1-.81 1.56-1.18.1 0 .1-.1.21-.1h.1c.73.21 1.25.64 2 .85a.23.23 0 01.21.21c.1.64.1 1.28.21 1.92s.31.75.83.75h3c.52 0 .73-.21.84-.75s.1-1.28.21-1.92a.22.22 0 01.2-.21 18.46 18.46 0 002-.85h.11a.09.09 0 01.1.1c.52.32 1 .86 1.56 1.18a.86.86 0 00.53.21c.2 0 .31-.11.62-.21l2.08-2.14a.82.82 0 00.11-1.06c-.31-.54-.83-1-1.15-1.6a.21.21 0 010-.3c.21-.75.63-1.28.84-2a.22.22 0 01.2-.21c.63-.11 1.26-.11 1.88-.22s.73-.32.73-.85v-3c.01-.78-.2-1-.72-1.1zm-6.9 2.45a4.93 4.93 0 01-4.67 4.8 4.65 4.65 0 01-4.7-4.6v-.2a4.69 4.69 0 019.37-.43 3.09 3.09 0 010 .43z"}},bundle_policy:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M37.55 22.55a2 2 0 00-2.83 0L30.43 27a2.11 2.11 0 000 2.92l9.62 9.94a2 2 0 002.83 0l4.29-4.44a2.11 2.11 0 000-2.92l-9.62-9.94zM31.8 39a2.37 2.37 0 00-3.35 0l-6.22 6.27h-.06a2.42 2.42 0 00.06 3.34 2.37 2.37 0 003.35 0l6.22-6.22h.06a2.42 2.42 0 00-.02-3.39zM47.68 45.2h-9.76a2.4 2.4 0 100 4.8h9.76A2.36 2.36 0 0050 47.6a2.36 2.36 0 00-2.32-2.4zM13.6 2H8a6.11 6.11 0 00-6 6.2V11a6.11 6.11 0 006 6.2h5.6a6.11 6.11 0 006-6.2V8.2a6.11 6.11 0 00-6-6.2zm-1.51 10.4H9.5a2.75 2.75 0 01-2.7-2.8 2.75 2.75 0 012.71-2.8h2.59a2.75 2.75 0 012.7 2.8 2.75 2.75 0 01-2.71 2.8zM30.4 17.2H36a6.11 6.11 0 006-6.2V8.2A6.11 6.11 0 0036 2h-5.6a6.11 6.11 0 00-6 6.2V11a6.11 6.11 0 006 6.2zm1.51-10.4h2.59a2.75 2.75 0 012.7 2.8 2.75 2.75 0 01-2.71 2.79H31.9a2.75 2.75 0 01-2.7-2.8 2.75 2.75 0 012.71-2.79zM13.6 22H8a6.11 6.11 0 00-6 6.2V31a6.11 6.11 0 006 6.2h5.6a6.11 6.11 0 006-6.2v-2.8a6.11 6.11 0 00-6-6.2zm-1.51 10.4H9.51a2.8 2.8 0 010-5.6h2.58a2.8 2.8 0 110 5.6z","fill-rule":"evenodd"}},button_choice:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M31.998 12c1.468-.001 3 1.133 3 4.135V26c0 1.513 1.38 2.111 1.98 2.311L43.8 30.8c2.9 1.1 4.7 4.2 3.9 7.4l-3.2 10.4c-.2.8-.9 1.4-1.8 1.4H26.6c-.8 0-1.5-.4-1.8-1.1L18.365 33.96c-.421-.978-.143-1.765.835-2.361 1.8-1.3 4.5.04 5.6 1.94l1.616 2.203c.636 1.208 2.584 1.208 2.584-.592V16.135C29 13.133 30.53 12 31.998 12zM46 2c2.2 0 4 1.8 4 4v15c0 1.882-1.819 4.003-4 4h-5.99C39 25 39 24.188 39 24.06V15.5c0-3.845-1.981-7.5-7-7.5s-7 3.188-7 7.5v8.56a.96.96 0 01-1.012.94H6c-2.2 0-4-1.8-4-4V6c0-2.2 1.8-4 4-4z"}},calculated_insights:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M44 6.81a6 6 0 00-4.77 9.56l-5 8.82h-.63a6 6 0 00-3 .81l-6.35-4.67A5.9 5.9 0 0024.4 20a6 6 0 10-10.73 3.67L8.52 33.2H8a5.94 5.94 0 00-3.69 1.25 6 6 0 108.41 1.08L17.89 26h.51a5.94 5.94 0 003-.8l6.35 4.67a5.9 5.9 0 00-.15 1.33 6 6 0 1010.78-3.58l5-8.82H44a6 6 0 100-12z","fill-rule":"evenodd"}},call:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M48.5 37.9L42.4 33c-1.4-1.1-3.4-1.2-4.8-.1l-5.2 3.8c-.6.5-1.5.4-2.1-.2l-7.8-7-7-7.8c-.6-.6-.6-1.4-.2-2.1l3.8-5.2c1.1-1.4 1-3.4-.1-4.8l-4.9-6.1c-1.5-1.8-4.2-2-5.9-.3L3 8.4c-.8.8-1.2 1.9-1.2 3 .5 10.2 5.1 19.9 11.9 26.7S30.2 49.5 40.4 50c1.1.1 2.2-.4 3-1.2l5.2-5.2c1.9-1.5 1.8-4.3-.1-5.7z"}},campaign:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M26 .8C12.1.8.8 12.1.8 26S12.1 51.2 26 51.2 51.2 39.9 51.2 26 39.9.8 26 .8zm0 45.4C14.9 46.2 5.8 37.1 5.8 26S14.9 5.8 26 5.8 46.2 14.9 46.2 26 37.1 46.2 26 46.2zm0-35.3c-8.3 0-15.1 6.8-15.1 15.1S17.7 41.1 26 41.1 41.1 34.3 41.1 26 34.3 10.9 26 10.9zm0 25.2c-5.5 0-10.1-4.5-10.1-10.1S20.5 15.9 26 15.9 36.1 20.5 36.1 26 31.5 36.1 26 36.1zM26 21c-2.8 0-5 2.3-5 5s2.3 5 5 5 5-2.3 5-5-2.2-5-5-5z"}},cancel_file_request:{xmlns:"http://www.w3.org/2000/svg",g:{path:[{d:"M28.6 11.4h5.1c.6 0 1.1-.5 1.1-1.1 0-.3-.1-.5-.3-.8l-7.2-7.1c-.2-.2-.4-.3-.7-.3-.6 0-1.1.5-1.1 1.1v5.1c0 1.7 1.4 3.1 3.1 3.1z"},{d:"M24.6 40.6c0-6.8 4.2-12.6 10.2-14.9v-8.1c0-.9-.7-1.6-1.6-1.6h-7.8c-2.6 0-4.7-2.1-4.7-4.6V3.6c.1-.8-.6-1.5-1.5-1.5H6.8c-2.6 0-4.7 2.1-4.7 4.6v29.4c0 2.6 2.1 4.6 4.7 4.6h17.8v-.1zM31.8 34.6l6 6-6 6c-.6.6-.6 1.6 0 2.1l.7.7c.6.6 1.6.6 2.1 0l6-6 6 6c.6.6 1.6.6 2.1 0l.7-.7c.6-.6.6-1.6 0-2.1l-6-6 6-6c.6-.6.6-1.6 0-2.1l-.7-.7c-.6-.6-1.6-.6-2.1 0l-6 6-6-6c-.6-.6-1.6-.6-2.1 0l-.7.7c-.6.5-.6 1.5 0 2.1z"}]}},cancel_transfer:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M25.1 12.3v-3c4 0 7.2 3.2 7.2 7.2h-3l4.6 5.7c.3.3.7.3.9 0l4.6-5.7h-3c0-6.3-5.2-11.4-11.4-11.4v-3l-5.7 4.6c-.3.3-.2.7.1.9l5.7 4.7zM26.3 33.6c-1.2-1.6-3.5-2.7-5.8-3.8-2.4-1-2.7-2-2.7-3s.6-2.1 1.4-2.8c1.3-1.3 2.1-3.2 2.1-5.3 0-4-2.4-7.5-6.5-7.5h-.4c-4.1 0-6.5 3.5-6.5 7.5 0 2.2.7 4 2.1 5.3.8.7 1.4 1.7 1.4 2.8 0 1-.3 2-2.7 3-3.4 1.5-6.6 3.1-6.7 6.3.3 2.3 1.8 3.9 3.8 3.9h17.9c.3 0 .7-.1 1-.2.1-2.2.6-4.3 1.6-6.2zM31.8 34.6l6 6-6 6c-.6.6-.6 1.6 0 2.1l.7.7c.6.6 1.6.6 2.1 0l6-6 6 6c.6.6 1.6.6 2.1 0l.7-.7c.6-.6.6-1.6 0-2.1l-6-6 6-6c.6-.6.6-1.6 0-2.1l-.7-.7c-.6-.6-1.6-.6-2.1 0l-6 6-6-6c-.6-.6-1.6-.6-2.1 0l-.7.7c-.6.5-.6 1.5 0 2.1z"}},capacity_plan:{xmlns:"http://www.w3.org/2000/svg",path:[{d:"M43.3 6h-1.73a.74.74 0 00-.67.8V10a6.37 6.37 0 01-6.3 6.4H17.4a6.37 6.37 0 01-6.3-6.4V6.67a.74.74 0 00-.8-.67H8.7A4.77 4.77 0 004 10.8v34.4A4.77 4.77 0 008.7 50h34.6a4.77 4.77 0 004.7-4.8V10.8A4.77 4.77 0 0043.3 6zM25.92 45a12 12 0 01.16-24 12 12 0 01-.16 24z"},{d:"M16.91 11.6h17.86a1.59 1.59 0 001.63-1.55V6.8A4.81 4.81 0 0031.6 2H20.4a4.82 4.82 0 00-4.8 4.8V10a1.47 1.47 0 001.31 1.6zM32.23 27.2A9.09 9.09 0 0026 24.4v8.8h8.77a7.32 7.32 0 00-2.54-6z"}]},capslock:{xmlns:"http://www.w3.org/2000/svg",g:{path:{d:"M43.6 21.1L27.2 2.5c-.6-.7-1.8-.7-2.4 0L8.4 21.1c-.6.7-.1 1.9.9 1.9H17v12.5c0 .8.7 1.5 1.5 1.5h15c.8 0 1.5-.7 1.5-1.5V23h7.7c1 0 1.5-1.2.9-1.9zM33.5 43h-15c-.8 0-1.5.7-1.5 1.5v4c0 .8.7 1.5 1.5 1.5h15c.8 0 1.5-.7 1.5-1.5v-4c0-.8-.7-1.5-1.5-1.5z"}}},cart:{xmlns:"http://www.w3.org/2000/svg",g:{path:{d:"M20.1 26H44c.7 0 1.4-.5 1.5-1.2l4.4-15.4c.3-1.1-.5-2-1.5-2H11.5l-.6-2.3C10.6 4 9.6 3.3 8.6 3.3h-4c-1.3 0-2.5 1-2.6 2.3C1.9 7 3.1 8.2 4.4 8.2h2.3l7.6 25.7c.3 1.1 1.2 1.8 2.3 1.8h28.2c1.3 0 2.5-1 2.6-2.3.1-1.4-1.1-2.6-2.4-2.6H20.2c-1.1 0-2-.7-2.3-1.7V29c-.5-1.5.7-3 2.2-3z"},circle:[{cx:"20.6",cy:"44.6",r:"4"},{cx:"40.1",cy:"44.6",r:"4"}]}},case:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M17.2 11.3h2.9c.4 0 .7-.3.7-.7V8.4h10.3v2.2c0 .4.3.7.7.7h2.9c.4 0 .7-.3.7-.7V8.4C35.4 6 33.4 4 31 4H20.9c-2.4 0-4.4 2-4.4 4.4v2.2c0 .4.2.7.7.7zm26.4 4.4H8.4c-2.4 0-4.4 2-4.4 4.4v23.5C4 46 6 48 8.4 48h35.2c2.4 0 4.4-2 4.4-4.4V20.1c0-2.4-2-4.4-4.4-4.4z"}},cases:{xmlns:"http://www.w3.org/2000/svg",g:{path:{d:"M9 3.5C9 2.7 8.3 2 7.5 2h-4C2.7 2 2 2.7 2 3.5v31c0 .8.7 1.5 1.5 1.5h4c.8 0 1.5-.7 1.5-1.5v-31zM50 3.5c0-.8-.7-1.5-1.5-1.5h-4c-.8 0-1.5.7-1.5 1.5v31c0 .8.7 1.5 1.5 1.5h4c.8 0 1.5-.7 1.5-1.5v-31zM37.5 2h-3c-.8 0-1.5.8-1.5 1.6V16c0 .4.2.7.6.9 1.7.9 3.2 2 4.5 3.3.3.3.9.1.9-.3V3.6c0-.8-.7-1.6-1.5-1.6zM24.1 15.2c.6-.1 1.3-.1 1.9-.1s1.3 0 1.9.1 1.1-.4 1.1-1V3.6c0-.8-.7-1.6-1.5-1.6h-3c-.8 0-1.5.8-1.5 1.6v10.6c0 .6.5 1.1 1.1 1zM13.9 20.2c1.3-1.4 2.9-2.5 4.6-3.3.3-.2.5-.5.5-.9V3.6c0-.8-.7-1.6-1.5-1.6h-3c-.8 0-1.5.8-1.5 1.6v16.3c0 .4.5.6.9.3zM26 19.1c-7.2 0-13 5.8-13 13 0 2.2.6 4.4 1.6 6.2l-7.1 7.1c-.6.6-.6 1.5 0 2.1l2.1 2.1c.6.6 1.5.6 2.1 0l6.9-6.9c2.1 1.5 4.7 2.4 7.4 2.4 7.2 0 13-5.8 13-13s-5.8-13-13-13zm0 20c-3.9 0-7-3.1-7-7s3.1-7 7-7 7 3.1 7 7-3.1 7-7 7z"}}},center_align:{xmlns:"http://www.w3.org/2000/svg",rect:[{x:"2",y:"23.6",width:"48",height:"6.4",rx:"1.6"},{"data-name":"Rectangle",x:"19",y:"2",width:"14.4",height:"48",rx:"3.2"}]},center_align_text:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M48 6.5c0-.8-.7-1.5-1.5-1.5h-41C4.7 5 4 5.7 4 6.5v3c0 .8.7 1.5 1.5 1.5h41c.8 0 1.5-.7 1.5-1.5v-3zM42 18.5c0-.8-.7-1.5-1.5-1.5h-29c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h29c.8 0 1.5-.7 1.5-1.5v-3zM40 42.5c0-.8-.7-1.5-1.5-1.5h-25c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h25c.8 0 1.5-.7 1.5-1.5v-3zM48 30.5c0-.8-.7-1.5-1.5-1.5h-41c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h41c.8 0 1.5-.7 1.5-1.5v-3z"}},change_owner:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M27.3 37.6c-3-1.2-3.5-2.3-3.5-3.5 0-1.2.8-2.3 1.8-3.2 1.8-1.5 2.6-3.9 2.6-6.4 0-4.7-2.9-8.5-8.3-8.5s-8.3 3.8-8.3 8.5c0 2.5.8 4.9 2.6 6.4 1 .9 1.8 2 1.8 3.2 0 1.2-.5 2.3-3.5 3.5-4.4 1.8-8.6 3.8-8.7 7.6C4 47.8 6 50 8.5 50h23c2.5 0 4.5-2.2 4.5-4.7-.1-3.8-4.3-5.9-8.7-7.7zM44.5 19c0-7.4-6.1-13.5-13.5-13.5V2l-6.8 5.5c-.3.3-.2.8.1 1.1L31 14v-3.5c4.7 0 8.5 3.8 8.5 8.5H36l5.5 6.8c.3.3.8.3 1.1 0L48 19h-3.5z"}},change_record_type:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M20 37.5c0-.8-.7-1.5-1.5-1.5h-15c-.8 0-1.5.7-1.5 1.5v11c0 .8.7 1.5 1.5 1.5h15c.8 0 1.5-.7 1.5-1.5v-11zM8.1 22H3.2c-1 0-1.5.9-.9 1.4l8 8.3c.4.3 1 .3 1.4 0l8-8.3c.6-.6.1-1.4-.9-1.4h-4.7c0-5 4.9-10 9.9-10V6C15 6 8.1 13 8.1 22zM41.8 20.3c-.4-.3-1-.3-1.4 0l-8 8.3c-.6.6-.1 1.4.9 1.4h4.8c0 6-4.1 10-10.1 10v6c9 0 16.1-7 16.1-16H49c1 0 1.5-.9.9-1.4l-8.1-8.3zM50 3.5c0-.8-.7-1.5-1.5-1.5h-15c-.8 0-1.5.7-1.5 1.5v11c0 .8.7 1.5 1.5 1.5h15c.8 0 1.5-.7 1.5-1.5v-11z"}},chart:{xmlns:"http://www.w3.org/2000/svg",g:{path:[{d:"M45.5 23.4L25 34.7c-1.4.7-3-.3-3-1.8V8.4c0-1-1-1.8-1.9-1.5-10 2.8-17.2 12.5-16 23.6 1.1 10.1 9.2 18.3 19.4 19.4C36.8 51.3 48 41 48 28c0-1.2-.1-2.4-.3-3.6-.2-1-1.3-1.5-2.2-1z"},{d:"M27.7 28l19.7-10.5c1.2-.6 1.6-2.2.8-3.3C43.7 8 36.7 3.5 28.7 2.2 27.3 1.9 26 3 26 4.4V27c0 .9.9 1.4 1.7 1z"}]}},chat:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M26 4C12.7 4 2.1 13.8 2.1 25.9c0 3.8 1.1 7.4 2.9 10.6.3.5.4 1.1.2 1.7l-3.1 8.5c-.3.8.5 1.5 1.3 1.3l8.6-3.3c.5-.2 1.1-.1 1.7.2 3.6 2 7.9 3.2 12.5 3.2C39.3 48 50 38.3 50 26.1 49.9 13.8 39.2 4 26 4zM14 30c-2.2 0-4-1.8-4-4s1.8-4 4-4 4 1.8 4 4-1.8 4-4 4zm12 0c-2.2 0-4-1.8-4-4s1.8-4 4-4 4 1.8 4 4-1.8 4-4 4zm12 0c-2.2 0-4-1.8-4-4s1.8-4 4-4 4 1.8 4 4-1.8 4-4 4z"}},check:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M19.1 42.5L2.6 25.9c-.6-.6-.6-1.6 0-2.2l2.2-2.2c.6-.6 1.6-.6 2.2 0L19.4 34c.4.4 1.1.4 1.5 0L45.2 9.5c.6-.6 1.6-.6 2.2 0l2.2 2.2c.6.6.6 1.6 0 2.2L21.3 42.5c-.6.7-1.6.7-2.2 0z"}},checkin:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M26 2C15.5 2 7 10.5 7 21.1c0 13.2 13.6 25.3 17.8 28.5.7.6 1.7.6 2.5 0C31.5 46.3 45 34.3 45 21.1 45 10.5 36.5 2 26 2zm0 27c-4.4 0-8-3.6-8-8s3.6-8 8-8 8 3.6 8 8-3.6 8-8 8z"}},checkout:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M38.67 27.35a11.33 11.33 0 11-11.32 11.32 11.34 11.34 0 0111.32-11.32zM20.36 37.63a4 4 0 11-4 4 4 4 0 014-4zm22.44-3.56l-6.06 6.79L34 38.09a.79.79 0 00-1.11 0l-1.11 1.07a.7.7 0 00-.07 1l.07.08L35.6 44a1.62 1.62 0 001.14.48 1.47 1.47 0 001.13-.48l7.19-7.87a.83.83 0 000-1l-1.12-1.05a.79.79 0 00-1.11 0zM8.2 2a2.42 2.42 0 012.25 1.7l.62 2.16h35.29a1.5 1.5 0 011.54 1.45 1.24 1.24 0 01-.06.47l-4.18 14.65a1.42 1.42 0 01-.52.82 16.42 16.42 0 00-4.47-.64 16 16 0 00-5.47 1H19.36a2.2 2.2 0 00-2.22 2.18 2.11 2.11 0 00.13.75v.08a2.26 2.26 0 002.17 1.62h7.1a16 16 0 00-2.77 4.61H16a2.32 2.32 0 01-2.25-1.7L6.5 6.62H4.33A2.37 2.37 0 012 4.22v-.06A2.46 2.46 0 014.48 2H8.2z"}},chevrondown:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M47.6 17.8L27.1 38.5c-.6.6-1.6.6-2.2 0L4.4 17.8c-.6-.6-.6-1.6 0-2.2l2.2-2.2c.6-.6 1.6-.6 2.2 0l16.1 16.3c.6.6 1.6.6 2.2 0l16.1-16.2c.6-.6 1.6-.6 2.2 0l2.2 2.2c.5.6.5 1.5 0 2.1z"}},chevronleft:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M34.2 47.7L13.4 27.2c-.6-.6-.6-1.6 0-2.2L34.2 4.5c.6-.6 1.6-.6 2.2 0l2.2 2.2c.6.6.6 1.6 0 2.2L22.1 25c-.6.6-.6 1.6 0 2.2l16.3 16.1c.6.6.6 1.6 0 2.2l-2.2 2.2c-.5.5-1.4.5-2 0z"}},chevronright:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M17.9 4.4l20.7 20.5c.6.6.6 1.6 0 2.2L17.9 47.6c-.6.6-1.6.6-2.2 0l-2.2-2.2c-.6-.6-.6-1.6 0-2.2l16.3-16.1c.6-.6.6-1.6 0-2.2L13.6 8.8c-.6-.6-.6-1.6 0-2.2l2.2-2.2c.6-.5 1.5-.5 2.1 0z"}},chevronup:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M4.4 34.2l20.5-20.7c.6-.6 1.6-.6 2.2 0l20.5 20.7c.6.6.6 1.6 0 2.2l-2.2 2.2c-.6.6-1.6.6-2.2 0L27.1 22.2c-.6-.6-1.6-.6-2.2 0L8.8 38.5c-.6.6-1.6.6-2.2 0l-2.2-2.2c-.5-.6-.5-1.5 0-2.1z"}},choice:{xmlns:"http://www.w3.org/2000/svg",g:{circle:{cx:"26",cy:"26",r:"11.2"},path:{d:"M26 2C12.8 2 2 12.8 2 26s10.8 24 24 24 24-10.8 24-24S39.2 2 26 2zm0 41.6c-9.7 0-17.6-7.9-17.6-17.6S16.3 8.4 26 8.4 43.6 16.3 43.6 26 35.7 43.6 26 43.6z"}}},classic_interface:{xmlns:"http://www.w3.org/2000/svg",g:{path:{d:"M25.5 35.7v-8.5s-3.8 5.7-6.2 9.6-2.1 7-2.1 7c0 3.1 2.3 5.7 5.1 5.7 1.7 0 3.2-.9 4.1-2.4.9 1.3 2.3 2 3.9 2 2.8 0 5.1-2.5 5.1-5.7 0-.3-.1-.6-.1-.9 0-4.2-9.2-15.5-9.2-15.5V35.7l1.2 2.9c0 .1.1.2.1.4 0 .7-.6 1.3-1.3 1.3-.7 0-1.3-.6-1.3-1.3 0-.1 0-.3.1-.4l.6-2.9M15.9 28.3l8-3s-6.6-1.6-11.2-2.5c-4.6-.9-7.3.5-7.3.5C2.5 24.4.9 27.4 1.8 30c.6 1.6 2 2.7 3.7 3.1-.9 1.3-1.1 2.9-.6 4.4 1 2.6 4.1 3.9 7.1 2.8.3-.1.6-.3.8-.4 4-1.4 11.3-14 11.3-14l-7.8 2.9-.3.1-2.3 2.1c-.1.1-.2.1-.3.2-.7.3-1.5-.1-1.7-.8-.3-.7.1-1.5.8-1.7.1 0 .3-.1.4-.1l3-.3M19.9 16.4l5.1 6.9s-.4-6.8-.8-11.4C23.8 7.3 21.7 5 21.7 5c-1.9-2.5-5.2-3.2-7.4-1.5-1.4 1-2 2.7-1.9 4.4-1.5-.5-3.1-.3-4.4.6-2.2 1.7-2.5 5.1-.7 7.6.2.2.4.5.6.7 2.5 3.4 16.7 6.9 16.7 6.9l-5-6.7-.2-.2-2.7-1.6-.3-.3c-.4-.6-.3-1.4.3-1.9.6-.4 1.4-.3 1.9.3.1.1.1.2.2.3l1.1 2.8M36.1 28.3l-8-3s6.6-1.6 11.2-2.5c4.6-.9 7.3.5 7.3.5 2.9 1.1 4.5 4.1 3.6 6.7-.6 1.6-2 2.7-3.7 3.1.9 1.3 1.1 2.9.6 4.4-1 2.6-4.1 3.9-7.1 2.8-.3-.1-.6-.3-.8-.4-4-1.4-11.3-14-11.3-14l7.8 2.9.3.1 2.3 2.1c.1.1.2.1.3.2.7.3 1.5-.1 1.7-.8.3-.7-.1-1.5-.8-1.7-.1 0-.3-.1-.4-.1l-3-.3M31.7 16.4l-5.1 6.9s.4-6.8.8-11.4S29.9 5 29.9 5c1.9-2.5 5.2-3.2 7.4-1.5 1.4 1 2 2.7 1.9 4.4 1.5-.4 3.1-.2 4.3.7 2.2 1.7 2.5 5.1.7 7.6-.2.2-.4.5-.6.7-2.4 3.3-16.6 6.7-16.6 6.7l5-6.7.2-.2 2.7-1.6.3-.3c.4-.6.3-1.4-.3-1.9-.6-.4-1.4-.3-1.9.3-.1.1-.1.2-.2.3l-1.1 2.9"}}},clear:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M26 2C12.7 2 2 12.7 2 26s10.7 24 24 24 24-10.7 24-24S39.3 2 26 2zm4.9 24.8l7.8 7.8c.4.4.4 1 0 1.4l-2.8 2.8c-.4.4-1 .4-1.4 0L26.7 31c-.4-.4-1-.4-1.4 0l-7.8 7.8c-.4.4-1 .4-1.4 0L13.3 36c-.4-.4-.4-1 0-1.4l7.8-7.8c.4-.4.4-1 0-1.4l-7.9-7.9c-.4-.4-.4-1 0-1.4l2.8-2.8c.4-.4 1-.4 1.4 0l7.9 7.9c.4.4 1 .4 1.4 0l7.8-7.8c.4-.4 1-.4 1.4 0l2.8 2.8c.4.4.4 1 0 1.4l-7.8 7.8c-.3.4-.3 1 0 1.4z"}},clock:{xmlns:"http://www.w3.org/2000/svg",g:{path:[{d:"M26 2C12.8 2 2 12.8 2 26s10.8 24 24 24 24-10.8 24-24S39.2 2 26 2zm0 42c-9.9 0-18-8.1-18-18S16.1 8 26 8s18 8.1 18 18-8.1 18-18 18z"},{d:"M29.4 26.2c-.3-.3-.4-.7-.4-1.1v-9.6c0-.8-.7-1.5-1.5-1.5h-3c-.8 0-1.5.7-1.5 1.5v12.1c0 .4.2.8.4 1.1l7.4 7.4c.6.6 1.5.6 2.1 0L35 34c.6-.6.6-1.5 0-2.1l-5.6-5.7z"}]}},close:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M31 25.4l13-13.1c.6-.6.6-1.5 0-2.1l-2-2.1c-.6-.6-1.5-.6-2.1 0L26.8 21.2c-.4.4-1 .4-1.4 0L12.3 8c-.6-.6-1.5-.6-2.1 0l-2.1 2.1c-.6.6-.6 1.5 0 2.1l13.1 13.1c.4.4.4 1 0 1.4L8 39.9c-.6.6-.6 1.5 0 2.1l2.1 2.1c.6.6 1.5.6 2.1 0L25.3 31c.4-.4 1-.4 1.4 0l13.1 13.1c.6.6 1.5.6 2.1 0L44 42c.6-.6.6-1.5 0-2.1L31 26.8c-.4-.4-.4-1 0-1.4z"}},collapse_all:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M48 9.5c0-.8-.7-1.5-1.5-1.5h-41C4.7 8 4 8.7 4 9.5v3c0 .8.7 1.5 1.5 1.5h41c.8 0 1.5-.7 1.5-1.5v-3zM48 39.5c0-.8-.7-1.5-1.5-1.5h-41c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h41c.8 0 1.5-.7 1.5-1.5v-3zM34.5 29c.8 0 1.5-.7 1.5-1.5v-3c0-.8-.7-1.5-1.5-1.5h-17c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h17z"}},collection:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M12 2.17h14v23.5l.31.46.57-.1 5.66-5.14.39-.12.42.11L38.6 26l.6.1.28-.46V2h3.28a6 6 0 013 1.12 5.22 5.22 0 011.57 2.74v39.43a4.2 4.2 0 01-.88 3.15A4.58 4.58 0 0142.81 50H12.32c-.24 0-1.52.27-3.38-1.54a5.28 5.28 0 01-1.48-3.56v-1.29H5.87a3.15 3.15 0 01-3.19-3.34c.06-3 3.14-3 3.14-3h1.64v-8H5.87a3.09 3.09 0 01-3.19-3.19 3.24 3.24 0 013.19-3.34h1.59v-7.83H5.87a3.11 3.11 0 01-3.19-3.1 3.15 3.15 0 013.19-3.28h1.59v-1.9a4.78 4.78 0 011.19-2.92A5.14 5.14 0 0112 2.17z"}},collection_variable:{xmlns:"http://www.w3.org/2000/svg",path:[{d:"M45 2H7C4.2 2 2 4.2 2 7v38c0 2.7 2.2 5 5 5h38c2.7 0 5-2.2 5-5V7c0-2.8-2.2-5-5-5zm-2.4 39.4c-.1.6-.7 1.1-1.4 1.1h-31c-.6 0-1.1-.6-1.1-1.3V10.6c0-.6.6-1.1 1.3-1.1h31c.6 0 1.1.6 1.1 1.3v30.6z"},{d:"M33 22.4c1 0 3.1-.8 3.1-3.6s-2-2.9-2.6-2.9c-1.2 0-2.4.9-3.5 2.7-1.1 1.9-2.3 3.9-2.3 3.9-.3-1.3-.5-2.4-.6-2.9-.2-1.1-1.5-3.6-4.3-3.6-2.7 0-5.2 1.6-5.2 1.6-.5.3-.8.8-.8 1.4 0 .9.7 1.7 1.7 1.7.3 0 .5-.1.7-.2 0 0 2.1-1.2 2.5 0 .1.3.2.7.4 1.1.5 1.8 1 3.9 1.4 5.8L21.7 30s-2-.7-3.1-.7-3.1.8-3.1 3.6 2 2.9 2.6 2.9c1.2 0 2.4-.9 3.5-2.7 1.1-1.9 2.3-3.9 2.3-3.9.4 1.7.6 3.1.8 3.6.7 1.9 2.2 3.1 4.3 3.1 0 0 2.1 0 4.7-1.4.6-.2 1-.8 1-1.5 0-.9-.7-1.7-1.7-1.7-.3 0-.5.1-.7.2 0 0-1.8 1-2.4.2-.4-.8-.8-2-1.1-3.3-.3-1.2-.6-2.7-.8-4.1l1.8-2.6c.2 0 2.2.7 3.2.7z"}]},color_swatch:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M35.435 9.494l7.071 7.071.002-.002a4 4 0 010 5.657l-.002.002L24 40.703V15.264l5.777-5.771h.001a4 4 0 015.656.002l.001-.001zM50 36v10a4 4 0 01-4 4H21l18-18h7a4 4 0 014 4zM2 41.046V6a4 4 0 014-4h10a4 4 0 014 4v35.046a9 9 0 01-18 0zM11 45a4 4 0 100-8 4 4 0 000 8z"}},comments:{xmlns:"http://www.w3.org/2000/svg",path:[{d:"M47.8 31c-.1-.4-.1-.8.1-1.2 1.3-2.3 2.1-4.9 2.1-7.7 0-8.8-7.6-16-17-16-4.4 0-8.4 1.6-11.4 4.2C31.9 11.5 40 19.9 40 30.1c0 2.5-.5 4.9-1.4 7.1 1.1-.4 2.2-.9 3.2-1.4.4-.2.8-.3 1.2-.1l6.1 2.4c.6.2 1.1-.3.9-.9L47.8 31z"},{d:"M19 14.1c-9.4 0-17 7.2-17 16 0 2.8.8 5.4 2.1 7.7.2.4.3.8.1 1.2L2 45.1c-.2.6.3 1.1.9.9L9 43.6c.4-.1.8-.1 1.2.1 2.6 1.5 5.6 2.3 8.8 2.3 9.4 0 17-7.2 17-16 0-8.7-7.6-15.9-17-15.9z"}]},company:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M21 4H7C5.3 4 4 5.3 4 7v40c0 .5.5 1 1 1h4c.6 0 1-.4 1-1v-6c0-.6.4-1 1-1h6c.6 0 1 .4 1 1v6c0 .6.4 1 1 1h3c1.1 0 2-.9 2-2V7c0-1.7-1.3-3-3-3zm-9 31.5c0 .3-.2.5-.5.5h-3c-.3 0-.5-.2-.5-.5v-5c0-.3.2-.5.5-.5h3c.3 0 .5.2.5.5v5zm0-10c0 .3-.2.5-.5.5h-3c-.3 0-.5-.2-.5-.5v-5c0-.3.2-.5.5-.5h3c.3 0 .5.2.5.5v5zm0-10c0 .3-.2.5-.5.5h-3c-.3 0-.5-.2-.5-.5v-5c0-.3.2-.5.5-.5h3c.3 0 .5.2.5.5v5zm8 20c0 .3-.2.5-.5.5h-3c-.3 0-.5-.2-.5-.5v-5c0-.3.2-.5.5-.5h3c.3 0 .5.2.5.5v5zm0-10c0 .3-.2.5-.5.5h-3c-.3 0-.5-.2-.5-.5v-5c0-.3.2-.5.5-.5h3c.3 0 .5.2.5.5v5zm0-10c0 .3-.2.5-.5.5h-3c-.3 0-.5-.2-.5-.5v-5c0-.3.2-.5.5-.5h3c.3 0 .5.2.5.5v5zM45 14H31c-1.7 0-3 1.3-3 3v30c0 .5.5 1 1 1h4c.6 0 1-.4 1-1v-6c0-.6.4-1 1-1h6c.6 0 1 .4 1 1v6c0 .6.4 1 1 1h3c1.1 0 2-.9 2-2V17c0-1.7-1.3-3-3-3zm-9 21.5c0 .3-.2.5-.5.5h-3c-.3 0-.5-.2-.5-.5v-5c0-.3.2-.5.5-.5h3c.3 0 .5.2.5.5v5zm0-10c0 .3-.2.5-.5.5h-3c-.3 0-.5-.2-.5-.5v-5c0-.3.2-.5.5-.5h3c.3 0 .5.2.5.5v5zm8 10c0 .3-.2.5-.5.5h-3c-.3 0-.5-.2-.5-.5v-5c0-.3.2-.5.5-.5h3c.3 0 .5.2.5.5v5zm0-10c0 .3-.2.5-.5.5h-3c-.3 0-.5-.2-.5-.5v-5c0-.3.2-.5.5-.5h3c.3 0 .5.2.5.5v5z"}},component_customization:{xmlns:"http://www.w3.org/2000/svg",g:{path:{d:"M50 5.4C50 2 47.2 2 47.2 2H4.9c-.5.1-2.9.3-2.9 3v14.2c.1.6.6 2.8 3 2.8h42.2c3.1 0 2.8-2.7 2.8-2.7V5.4zM49.1 35.3c-.6-.1-1.2-.1-1.8-.2-.1 0-.2-.1-.2-.2-.2-.7-.6-1.4-.8-1.9v-.3c.3-.5.8-1 1.1-1.5.2-.3.2-.7-.1-1l-2-2c-.1-.1-.3-.2-.5-.2-.1 0-.3.1-.5.2-.5.3-1 .8-1.5 1.1-.1 0-.1.1-.1.1h-.1c-.7-.2-1.2-.6-1.9-.8-.1 0-.2-.1-.2-.2-.1-.6-.1-1.1-.2-1.7 0-.3-.1-.6-.5-.8-.1-.1-.2-.1-.2-.1h-2.9c-.2 0-.3 0-.5.1-.2.2-.5.5-.5.8 0 .6-.1 1.1-.2 1.7 0 .1-.1.2-.2.2-.7.2-1.2.6-1.9.8h-.1c-.1 0-.1 0-.2-.1-.5-.3-.9-.8-1.5-1.1-.1-.1-.2-.2-.5-.2s-.3.1-.6.2l-2 2c-.3.3-.3.7-.1 1 .3.5.8.9 1.1 1.5.1.1.1.2 0 .3-.2.7-.6 1.2-.8 1.9 0 .1-.1.2-.2.2-.6.1-1.1.1-1.7.2-.3 0-.7.2-.8.6v3.4c.2.3.5.5.8.6.6 0 1.1.1 1.7.2.1 0 .2.1.2.2.2.7.6 1.2.8 1.9 0 .1.1.2 0 .3-.3.5-.8 1-1.1 1.5-.2.3-.2.7.1 1l2 2c.2.2.3.2.6.2.1 0 .3-.1.5-.2.5-.3.9-.8 1.5-1.1.1 0 .1-.1.2-.1h.1c.7.2 1.2.6 1.9.8.1 0 .2.1.2.2.1.6.1 1.2.2 1.8 0 .5.3.7.8.7h2.9c.5 0 .7-.2.8-.7.1-.6.1-1.2.2-1.8 0-.1.1-.2.2-.2.7-.2 1.4-.6 1.9-.8h.1s.1 0 .1.1c.5.3 1 .8 1.5 1.1.1.1.3.2.5.2s.3-.1.6-.2l2-2c.3-.3.3-.7.1-1-.3-.5-.8-.9-1.1-1.5-.1-.1-.1-.2 0-.3.2-.7.6-1.2.8-1.9 0-.1.1-.2.2-.2.6-.1 1.2-.1 1.8-.2.5 0 .7-.3.7-.8v-2.8c0-.7-.2-.9-.7-1zM38 42.1c-2.6 0-4.5-2-4.5-4.5s2-4.5 4.5-4.5 4.5 2 4.5 4.5c-.1 2.4-2.1 4.5-4.5 4.5zM23.4 27.8c-.1-1.6-1.5-1.8-1.9-1.8H3.8c-.5 0-1.8.2-1.8 2v20.6c.1.5.4 1.4 2 1.4h17.5c2 0 2-2.3 2-2.3v-2.4c0-1 .2-2.1-.4-3.1-.1-.2-.2-.3-.3-.5s-.2-.3-.3-.5c-.6-.9-.5-2-.5-3.1 0-1 0-2.1.5-3 .2-.4.5-.8.7-1.2.4-.6.4-1.4.4-2.1l-.2-4z"}}},connected_apps:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M23.8 31.2L20 48.8c-.2 1 1.1 1.7 1.7.9l21-26c.6-.7.1-1.7-.7-1.7H30.8c-.8 0-1.3-.9-.9-1.5l9.9-16.2c.6-1-.1-2.3-1.3-2.3H20.8c-1.1 0-2 .7-2.4 1.7L10.1 28c-.3 1 .4 2 1.4 2h11.4c.6 0 1.1.6.9 1.2z"}},constant:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M49.1 7.7c-.3-.3-.6-.4-1-.4-3.8-.2-7.7.1-11.5.2H23.1c-4.1 0-7.4.9-10.5 3.7-2 1.8-3.9 4.4-5.4 6.7-.1.3-.2.5-.2.9 0 .8.7 1.5 1.5 1.5.9 0 1.1-.6 1.5-1.2.4-.7.9-1.3 1.5-1.8 2.1-1.9 4.9-3 7.7-2.7-2.4 6.6-5.7 14.2-10.5 19.4-2 2.2-5.4 4.4-6.1 7.4-.8 3.1 2.4 3.9 4.7 3 3-1.2 4.9-4.3 6.4-7 1.9-3.3 3.6-6.8 5-10.3 1.5-3.5 2.9-6.9 4.4-10.4.9-2.1 1.1-2.1 3.3-2.1h5.9c-2.2 4.8-4.3 9.7-6.2 14.6-1.5 3.7-4.2 9.2-2.3 13.2 1.9 4 7.2 2.5 10.1.5 2.9-2.1 4.9-5.4 6.5-8.6.3-.6.6-1.2.4-1.9-.2-.6-.8-.9-1.4-.9-1.4 0-1.6 1.6-2.1 2.6-.8 1.7-2.6 3.2-4.5 2.9-4.4-.6-.5-8.6.3-10.7.8-2.2 1.7-4.4 2.7-6.5.5-1.2 1-2.5 1.7-3.7.8-1.5.8-1.5 2.6-1.6 1.5-.1 5.9.7 7.2-.1 1.1-.7 1.7-3.3 2.2-5.2.1-.6-.1-1.1-.4-1.5z"}},contact_request:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M25.4 27c-.6.2-.9.9-.4 1.4l4.4 4.5c.5.5.5 1.2 0 1.7l-1.7 1.7c-.5.5-1.2.5-1.7 0L15.3 25.5c-.5-.5-.5-1.2 0-1.7L26 13.1c.5-.5 1.2-.5 1.7 0l1.7 1.7c.5.5.5 1.2 0 1.7L24.9 21c-.5.5.4 1.4.4 1.4 10.2.3 18.1 7 20.5 16.1C48.4 34.9 50 30.6 50 26 49.9 13.7 39.2 4 26 4S2.2 13.8 2.2 25.8c0 3.8 1.1 7.4 2.9 10.6.3.5.4 1.1.2 1.7l-3.1 8.5c-.3.8.5 1.5 1.3 1.3l8.7-3.3c.5-.2 1.1-.1 1.7.2 3.6 2 7.9 3.2 12.5 3.2 5.9-.1 11.4-2.1 15.5-5.5-1.1-8.5-8-15.1-16.5-15.5z"}},contract:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M29.6 24H45c1 0 1.3-1.1.5-1.9l-4.9-5 9-9.1c.5-.5.5-1.4 0-1.9l-3.7-3.7c-.5-.4-1.3-.4-1.9.1l-9 9-5.1-4.9c-.8-.8-1.9-.5-1.9.5v15.4c0 .7.9 1.5 1.6 1.5zM22.4 28H7c-1 0-1.3 1.1-.5 1.9l4.9 5-9 9.1c-.5.5-.5 1.4 0 1.9l3.7 3.7c.5.5 1.3.5 1.9 0l9.1-9.1 5.1 4.9c.7.9 1.8.6 1.8-.4V29.7c0-.7-.9-1.7-1.6-1.7zM28 29.6V45c0 1 1.1 1.3 1.9.5l5-4.9 9.1 9c.5.5 1.4.5 1.9 0l3.7-3.7c.4-.5.4-1.3-.1-1.9l-9-9 4.9-5.1c.8-.8.5-1.9-.5-1.9H29.5c-.7 0-1.5.9-1.5 1.6zM24 22.4V7c0-1-1.1-1.3-1.9-.5l-5 4.9-9.1-9c-.5-.5-1.4-.5-1.9 0L2.4 6.1c-.5.5-.5 1.3 0 1.9l9.1 9.1-4.9 5.1c-.9.7-.6 1.8.4 1.8h15.3c.7 0 1.7-.9 1.7-1.6z"}},contract_alt:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M29.6 23.9H45c1 0 1.3-1.1.5-1.9l-4.9-5 9-9.1c.5-.5.5-1.4 0-1.9l-3.7-3.7c-.5-.4-1.3-.4-1.9.1l-9 9-5.1-4.9C29.1 5.7 28 6 28 7v15.4c0 .7.9 1.5 1.6 1.5zM22.4 28H7c-1 0-1.3 1.1-.5 1.9l4.9 5-9 9.1c-.5.5-.5 1.4 0 1.9l3.7 3.7c.5.5 1.3.5 1.9 0l9.1-9.1 5.1 4.9c.7.9 1.8.6 1.8-.4V29.7c0-.7-.9-1.7-1.6-1.7z"}},copy:{xmlns:"http://www.w3.org/2000/svg",path:[{d:"M44 2H18c-2.2 0-4 1.8-4 4v2h24c2.2 0 4 1.8 4 4v28h2c2.2 0 4-1.8 4-4V6c0-2.2-1.8-4-4-4z"},{d:"M38 16c0-2.2-1.8-4-4-4H8c-2.2 0-4 1.8-4 4v30c0 2.2 1.8 4 4 4h26c2.2 0 4-1.8 4-4V16zm-18 7c0 .6-.4 1-1 1h-8c-.6 0-1-.4-1-1v-2c0-.6.4-1 1-1h8c.6 0 1 .4 1 1v2zm8 16c0 .6-.4 1-1 1H11c-.6 0-1-.4-1-1v-2c0-.6.4-1 1-1h16c.6 0 1 .4 1 1v2zm4-8c0 .6-.4 1-1 1H11c-.6 0-1-.4-1-1v-2c0-.6.4-1 1-1h20c.6 0 1 .4 1 1v2z"}]},copy_to_clipboard:{xmlns:"http://www.w3.org/2000/svg",g:{path:[{d:"M17.4 11.6h17.3c.9 0 1.6-.7 1.6-1.6V6.8c0-2.6-2.1-4.8-4.7-4.8h-11c-2.6 0-4.7 2.2-4.7 4.8V10c-.1.9.6 1.6 1.5 1.6z"},{d:"M43.3 6h-1.6c-.5 0-.8.3-.8.8V10c0 3.5-2.8 6.4-6.3 6.4H17.4c-3.5 0-6.3-2.9-6.3-6.4V6.8c0-.5-.3-.8-.8-.8H8.7C6.1 6 4 8.2 4 10.8v34.4C4 47.8 6.1 50 8.7 50h34.6c2.6 0 4.7-2.2 4.7-4.8V10.8C48 8.2 45.9 6 43.3 6z"}]}},crossfilter:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M35 9c-1.7 0-3.3.2-4.8.7 1.8 1.5 3.4 3.3 4.7 5.3h.1c6.1 0 11 4.9 11 11s-4.9 11-11 11c-1.5 0-3-.3-4.3-.9.8-1.1 1.5-2.3 2-3.5.2-.5.4-.9.5-1.4.5-1.6.8-3.4.8-5.2 0-9.4-7.6-17-17-17S0 16.6 0 26s7.6 17 17 17c1.7 0 3.3-.2 4.8-.7-1.8-1.5-3.4-3.3-4.7-5.3H17c-6.1 0-11-4.9-11-11s4.9-11 11-11c1.5 0 3 .3 4.4.9C19.3 18.7 18 22.2 18 26c0 9.4 7.6 17 17 17s17-7.6 17-17S44.4 9 35 9z"}},currency:{xmlns:"http://www.w3.org/2000/svg",g:{path:{d:"M45.1 10.9H6.9c-2.4 0-4.4 2-4.4 4.4v21.3c0 2.4 2 4.4 4.4 4.4h38.2c2.4 0 4.4-2 4.4-4.4V15.4c0-2.5-2-4.5-4.4-4.5zM12 36.6c0-2.9-2.3-5.1-5.1-5.1v-11c2.9 0 5.1-2.3 5.1-5.1h28c0 2.9 2.3 5.1 5.1 5.1v11c-2.9 0-5.1 2.3-5.1 5.1H12z"},circle:{cx:"26",cy:"25.6",r:"7.3"}}},currency_input:{xmlns:"http://www.w3.org/2000/svg",path:[{d:"M35.9 37.6c2.7-4.5 2.2-10.4-1.7-14.3-4.5-4.5-11.9-4.5-16.4 0-3.9 3.9-4.4 9.8-1.7 14.3h19.8z"},{d:"M49.5 7.2v37.6c0 2.6-2.1 4.7-4.7 4.7H7.2c-2.6 0-4.7-2.1-4.7-4.7V7.2c0-2.6 2.1-4.7 4.7-4.7h37.6c2.6 0 4.7 2.1 4.7 4.7zm-39.2 36h31.3c.9 0 1.6-.7 1.6-1.6V10.3c0-.9-.7-1.6-1.6-1.6H10.3c-.9 0-1.6.7-1.6 1.6v31.3c.1.9.8 1.6 1.6 1.6z"}]},custom_apps:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M49.4 12.2c-.2-.6-.9-.7-1.4-.3L39.9 20c-.6.6-1.6.6-2.2 0L32 14.3c-.6-.6-.6-1.6 0-2.2L40.2 4c.4-.4.2-1.1-.3-1.4-1.4-.4-2.9-.6-4.3-.6-8.5 0-15.3 7.3-14.3 16 .2 1.4.5 2.6 1 3.8L3.6 40.4c-2.2 2.2-2.2 5.8 0 7.9 1.1 1.1 2.6 1.7 4 1.7s2.9-.6 4-1.7l18.6-18.6c1.2.5 2.5.8 3.8 1 8.7 1 16-5.8 16-14.3 0-1.5-.2-2.9-.6-4.2z"}},cut:{xmlns:"http://www.w3.org/2000/svg",g:{path:{d:"M40.7 31.4c-1.7-.4-3.3-.2-4.7.3L13.9 2.4c-.3-.4-1-.5-1.4-.2l-.8.6c-1.7 1.3-2 3.8-.7 5.6l10.6 14c.4.5.4 1.3 0 1.8l-5.7 7.5c-1.4-.5-3.1-.6-4.7-.3-3.7.8-6.6 3.8-7.1 7.5-.8 5.9 4.4 11 10.5 10 3.6-.6 6.5-3.4 7.3-6.9.5-2.5 0-4.8-1.2-6.5l4.2-5.6c.6-.8 1.8-.8 2.4 0l4.2 5.6c-1.2 1.9-1.7 4.2-1.2 6.5.7 3.6 3.7 6.3 7.3 6.9 6.1 1 11.3-4.1 10.5-10-.9-3.8-3.8-6.8-7.4-7.5zM12.9 43.1c-1.7 0-3-1.3-3-3s1.3-3 3-3 3 1.3 3 3-1.3 3-3 3zm26 0c-1.7 0-3-1.3-3-3s1.3-3 3-3 3 1.3 3 3c-.1 1.7-1.4 3-3 3zM31.3 18.9c.4.5 1.2.5 1.6 0l8-10.5c1.1-1.5 1-3.5-.1-4.9l.1-.1-.1.1c-.2-.3-1.5-1.3-1.5-1.3-.4-.3-1.1-.2-1.4.2l-8.8 11.7c-.4.5-.4 1.3 0 1.8l2.2 3z"}}},dash:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M50 27.5c0 .8-.7 1.5-1.5 1.5h-45c-.8 0-1.5-.7-1.5-1.5v-3c0-.8.7-1.5 1.5-1.5h45c.8 0 1.5.7 1.5 1.5v3z"}},data_mapping:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M44.5 21a5.5 5.5 0 11-4.9 8h-.91c-5.39.06-7.29 1.7-10.31 7.34l-.17.33-.2.38c-1.8 3.37-2.82 4.9-4.66 6.52C20.76 45.84 17.42 47 13 47h-.6a5.5 5.5 0 110-5h.91c5.49-.06 7.36-1.76 10.48-7.67L24 34a27.18 27.18 0 013.11-5H12.4a5.5 5.5 0 110-5h27.2a5.53 5.53 0 014.68-3zm0-19a5.5 5.5 0 11-4.9 8H12.4a5.5 5.5 0 110-5h27.2a5.5 5.5 0 014.9-3z"}},database:{xmlns:"http://www.w3.org/2000/svg",path:[{d:"M45.4 9c0-3.8-8.7-6.9-19.4-6.9S6.6 5.2 6.6 9v2.4c0 3.8 8.7 6.9 19.4 6.9s19.4-3.1 19.4-6.9V9z"},{d:"M6.6 17c0 3 8.7 5.4 19.4 5.4S45.4 20 45.4 17v4.9c0 3.8-8.7 6.9-19.4 6.9S6.6 25.7 6.6 21.9V17z"},{d:"M6.6 17c0 3 8.7 5.4 19.4 5.4S45.4 20 45.4 17v4.9c0 3.8-8.7 6.9-19.4 6.9S6.6 25.7 6.6 21.9V17z"},{d:"M6.6 27.5c0 3 8.7 5.4 19.4 5.4s19.4-2.4 19.4-5.4v4.9c0 3.8-8.7 6.9-19.4 6.9s-19.4-3-19.4-6.8v-5z"},{d:"M6.6 38.1c0 3 8.7 5.4 19.4 5.4s19.4-2.4 19.4-5.4V43c0 3.8-8.7 6.9-19.4 6.9S6.6 46.8 6.6 43v-4.9z"}]},datadotcom:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M42.5 49.1h-5.3c-.3-1.9-.5-3.6-.5-5.1h-.1c-2.5 4-6.6 6-12.2 6-4.8 0-8.5-1.6-11.1-4.9-2.6-3.3-3.8-7.6-3.8-12.8 0-3.4.6-6.4 1.9-9.1s3.1-4.9 5.5-6.4c2.4-1.6 5.2-2.4 8.4-2.4 4.6 0 8.3 1.5 11.1 4.4V2.1H42v39.6c0 2.4.2 4.9.5 7.4zm-6.2-14.5V23.9c-1.3-1.7-2.8-2.9-4.5-3.8-1.7-.8-3.6-1.2-5.8-1.2-3.3 0-5.9 1.2-7.8 3.7-1.9 2.5-2.8 5.7-2.8 9.6 0 4.1.9 7.3 2.7 9.7 1.8 2.4 4.4 3.6 7.6 3.6 3.2 0 5.8-1 7.7-3.1 2-2 2.9-4.6 2.9-7.8z"}},date_input:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M46.3 19.7H5.7c-.9 0-1.6.7-1.6 1.6v23.5c0 2.6 2.1 4.7 4.7 4.7h34.4c2.6 0 4.7-2.1 4.7-4.7V21.3c0-.9-.7-1.6-1.6-1.6zM18.2 41.6c0 .9-.7 1.6-1.6 1.6h-3.1c-.9 0-1.6-.7-1.6-1.6v-3.1c0-.9.7-1.6 1.6-1.6h3.1c.9 0 1.6.7 1.6 1.6v3.1zm10.9 0c0 .9-.7 1.6-1.6 1.6h-3.1c-.9 0-1.6-.7-1.6-1.6v-3.1c0-.9.7-1.6 1.6-1.6h3.1c.9 0 1.6.7 1.6 1.6v3.1zm0-10.9c0 .9-.7 1.6-1.6 1.6h-3.1c-.9 0-1.6-.7-1.6-1.6v-3.1c0-.9.7-1.6 1.6-1.6h3.1c.9 0 1.6.7 1.6 1.6v3.1zm11 0c0 .9-.7 1.6-1.6 1.6h-3.1c-.9 0-1.6-.7-1.6-1.6v-3.1c0-.9.7-1.6 1.6-1.6h3.1c.9 0 1.6.7 1.6 1.6v3.1zm3.1-23.5h-3.9V5.6c0-1.7-1.4-3.1-3.1-3.1-1.7 0-3.1 1.4-3.1 3.1v1.6H19V5.6c0-1.7-1.4-3.1-3.1-3.1s-3.1 1.4-3.1 3.1v1.6h-4c-2.6 0-4.7 2.1-4.7 4.7v1.6c0 .9.7 1.6 1.6 1.6h40.7c.9 0 1.6-.7 1.6-1.6v-1.6c-.1-2.6-2.2-4.7-4.8-4.7z"}},date_time:{xmlns:"http://www.w3.org/2000/svg",path:[{d:"M43.6 6.8h-4V5.2c0-1.8-1.4-3.2-3.2-3.2-1.8 0-3.2 1.4-3.2 3.2v1.6H18.8V5.2c0-1.8-1.4-3.2-3.2-3.2s-3.2 1.4-3.2 3.2v1.6h-4c-2.6 0-4.8 2.2-4.8 4.8v1.6c0 .9.7 1.6 1.6 1.6h41.6c.9 0 1.6-.7 1.6-1.6v-1.6c0-2.6-2.2-4.8-4.8-4.8zM46.8 19.6H5.2c-.9 0-1.6.7-1.6 1.6v24c0 2.6 2.2 4.8 4.8 4.8h35.2c2.6 0 4.8-2.2 4.8-4.8v-24c0-.9-.7-1.6-1.6-1.6zM26 46.7c-6.6 0-11.9-5.4-11.9-11.9 0-6.6 5.4-11.9 11.9-11.9s11.9 5.4 11.9 11.9c0 6.6-5.3 11.9-11.9 11.9z"},{d:"M27.2 34.3v-5.1c0-.4-.4-.8-.8-.8h-.8c-.4 0-.8.4-.8.8v5.6c0 .3.1.6.4.8l3.8 3.8c.3.3.8.3 1.1 0l.6-.6c.3-.3.3-.8 0-1.1l-3.5-3.4z"}]},dayview:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M44 7h-5V5c0-1.6-1.3-3-3-3-1.6 0-3 1.3-3 3v2H19V5c0-1.6-1.3-3-3-3-1.6 0-3 1.3-3 3v2H8c-2.2 0-4 1.8-4 4v2.5c0 .8.7 1.5 1.5 1.5h41c.8 0 1.5-.7 1.5-1.5V11c0-2.2-1.8-4-4-4zM46.5 20h-41c-.8 0-1.5.7-1.5 1.5V46c0 2.2 1.8 4 4 4h36c2.2 0 4-1.8 4-4V21.5c0-.8-.7-1.5-1.5-1.5zM29 42v.2c0 .8-1 1.8-2 1.8s-2-1-2-2V32l-1.5 1.6c-.3.3-.6.4-1 .4-.8 0-1.5-.7-1.5-1.5 0-.4.2-.8.5-1.1l3.9-3.9c.4-.4.9-.6 1.5-.6 1.1 0 2.1.9 2.1 2V42z"}},delete:{xmlns:"http://www.w3.org/2000/svg",g:{path:{d:"M45.5 10H33V6c0-2.2-1.8-4-4-4h-6c-2.2 0-4 1.8-4 4v4H6.5c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h39c.8 0 1.5-.7 1.5-1.5v-3c0-.8-.7-1.5-1.5-1.5zM23 7c0-.6.4-1 1-1h4c.6 0 1 .4 1 1v3h-6V7zM41.5 20h-31c-.8 0-1.5.7-1.5 1.5V45c0 2.8 2.2 5 5 5h24c2.8 0 5-2.2 5-5V21.5c0-.8-.7-1.5-1.5-1.5zM23 42c0 .6-.4 1-1 1h-2c-.6 0-1-.4-1-1V28c0-.6.4-1 1-1h2c.6 0 1 .4 1 1v14zm10 0c0 .6-.4 1-1 1h-2c-.6 0-1-.4-1-1V28c0-.6.4-1 1-1h2c.6 0 1 .4 1 1v14z"}}},deprecate:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M48 7H4c-1.1 0-2 .9-2 2v26c0 1.1.9 2 2 2h16.2c1 5.7 5.9 10 11.8 10s10.9-4.3 11.8-10H48c1.1 0 2-.9 2-2V9c0-1.1-.9-2-2-2zm-8.6 32.6l-2.8 2.8-4.6-4.6-4.6 4.6-2.8-2.8 4.6-4.6-4.6-4.6 2.8-2.8 4.6 4.6 4.6-4.6 2.8 2.8-4.6 4.6 4.6 4.6zM46 33h-2.2c-1-5.7-5.9-10-11.8-10s-10.9 4.3-11.8 10H6V11h40v22z"}},description:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M44 4H8C5.8 4 4 5.8 4 8v36c0 2.2 1.8 4 4 4h36c2.2 0 4-1.8 4-4V8c0-2.2-1.8-4-4-4zM12 14c0-.6.4-1 1-1h10c.6 0 1 .4 1 1v10c0 .6-.4 1-1 1H13c-.6 0-1-.4-1-1V14zm24 26c0 .6-.4 1-1 1H13c-.6 0-1-.4-1-1v-2c0-.6.4-1 1-1h22c.6 0 1 .4 1 1v2zm4-8c0 .6-.4 1-1 1H13c-.6 0-1-.4-1-1v-2c0-.6.4-1 1-1h26c.6 0 1 .4 1 1v2zm0-8c0 .6-.4 1-1 1H29c-.6 0-1-.4-1-1v-2c0-.6.4-1 1-1h10c.6 0 1 .4 1 1v2zm0-8c0 .6-.4 1-1 1H29c-.6 0-1-.4-1-1v-2c0-.6.4-1 1-1h10c.6 0 1 .4 1 1v2z"}},desktop:{xmlns:"http://www.w3.org/2000/svg",g:{path:{d:"M50 6c0-2.2-1.8-4-4-4H6C3.8 2 2 3.8 2 6v26c0 2.2 1.8 4 4 4h40c2.2 0 4-1.8 4-4V6zm-6 22.5c0 .8-.7 1.5-1.5 1.5h-33c-.8 0-1.5-.7-1.5-1.5v-19C8 8.7 8.7 8 9.5 8h33c.8 0 1.5.7 1.5 1.5v19zM33 44h-3c-.6 0-1-.4-1-1v-2c0-.6-.4-1-1-1h-4c-.6 0-1 .4-1 1v2c0 .6-.4 1-1 1h-3c-2.2 0-4 1.8-4 4v.5c0 .8.7 1.5 1.5 1.5h19c.8 0 1.5-.7 1.5-1.5V48c0-2.2-1.8-4-4-4z"}}},desktop_and_phone:{xmlns:"http://www.w3.org/2000/svg",path:[{d:"M50 20.5c0-1.2-1-2.2-2.2-2.2H33.7c-1.2 0-2.2 1-2.2 2.2v23.7c0 1.2 1 2.2 2.2 2.2h14.1c1.2 0 2.2-1 2.2-2.2V20.5z"},{d:"M46.7 40.2c0 .4-.4.9-.9.9H35.6c-.4 0-.9-.4-.9-.9V23.5c0-.4.4-.9.9-.9h10.2c.4 0 .9.4.9.9v16.7z"}],g:{path:{d:"M27.7 29.4H8.4c-.7 0-1.3-.7-1.3-1.3V11.9c0-.7.7-1.3 1.3-1.3h28.1c.7 0 1.3.7 1.3 1.3v2.5h5.1V9c0-1.8-1.6-3.4-3.4-3.4H5.4C3.6 5.6 2 7.2 2 9v22.2c0 1.8 1.6 3.4 3.4 3.4h22.3v-5.2zM27.7 44.2v-3h-1.9c-.5 0-.9-.4-.9-.9v-1.7c0-.5-.4-.9-.9-.9h-3.4c-.5 0-.9.4-.9.9v1.7c0 .5-.4.9-.9.9h-2.6c-1.8 0-3.4 1.6-3.4 3.4v.4c0 .7.7 1.3 1.3 1.3h14.1c-.4-.6-.5-1.3-.5-2.1z"}},circle:{cx:"40.8",cy:"43.8",r:"1.6"}},desktop_console:{xmlns:"http://www.w3.org/2000/svg",g:{path:{d:"M33 44h-3c-.6 0-1-.4-1-1v-2c0-.6-.4-1-1-1h-4c-.6 0-1 .4-1 1v2c0 .6-.4 1-1 1h-3c-2.2 0-4 1.8-4 4v.5c0 .8.7 1.5 1.5 1.5h19c.8 0 1.5-.7 1.5-1.5V48c0-2.2-1.8-4-4-4zM46 2H6C3.8 2 2 3.8 2 6v26c0 2.2 1.8 4 4 4h40c2.2 0 4-1.8 4-4V6c0-2.2-1.8-4-4-4zM8 28.5v-19C8 8.7 8.7 8 9.5 8h6v22h-6c-.8 0-1.5-.7-1.5-1.5zm36 0c0 .8-.7 1.5-1.5 1.5h-21V8h21c.8 0 1.5.7 1.5 1.5v19z"}}},dialing:{xmlns:"http://www.w3.org/2000/svg",g:{path:[{d:"M48.5 37.9L42.4 33c-1.4-1.1-3.4-1.2-4.8-.1l-5.2 3.8c-.6.5-1.5.4-2.1-.2l-7.8-7-7-7.8c-.6-.6-.6-1.4-.2-2.1l3.8-5.2c1.1-1.4 1-3.4-.1-4.8l-4.9-6.1c-1.5-1.8-4.2-2-5.9-.3L3 8.4c-.8.8-1.2 1.9-1.2 3 .5 10.2 5.1 19.9 11.9 26.7S30.2 49.5 40.4 50c1.1.1 2.2-.4 3-1.2l5.2-5.2c1.9-1.5 1.8-4.3-.1-5.7z"},{d:"M42 24.5c1.2-1.7 1.9-3.8 1.9-6C43.8 12.7 39.1 8 33.3 8c-2.2 0-4.3.7-6 1.9L23 5.5C25.8 3.3 29.4 2 33.3 2c9.1 0 16.6 7.4 16.6 16.6 0 3.9-1.3 7.5-3.6 10.3L42 24.5z"}],circle:{cx:"33.4",cy:"18.4",r:"4.5"}}},diamond:{xmlns:"http://www.w3.org/2000/svg",path:{"fill-rule":"evenodd","clip-rule":"evenodd",d:"M24.4 49.2c.9.9 2.2.9 3.1 0l21.9-21.9c.9-.9.9-2.2 0-3.1L27.6 2.4c-.9-.9-2.2-.9-3.1 0L2.6 24.3c-.9.9-.9 2.2 0 3.1l21.8 21.8z"}},dislike:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M12 29.5V9c0-2.2-1.8-4-4-4H5.5C4.7 5 4 5.7 4 6.5v23c0 .8.7 1.5 1.5 1.5h5c.8 0 1.5-.7 1.5-1.5zM48 26V13.5C48 4.8 41.1 4 33.6 4c-7.1 0-9.4 2.7-16.2 3-.8 0-1.4.7-1.4 1.5v20c0 .8.7 1.5 1.5 1.5 4.8 0 8.5 5.2 8.5 10.5v6c0 .8.7 1.5 1.5 1.5H30c2.2 0 4-1.8 4-4V34c0-2.2 1.8-4 4-4h6c2.2 0 4-1.8 4-4z"}},display_rich_text:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M4.1 43.1H48c.9 0 1.6.7 1.6 1.6v3.1c0 .9-.7 1.6-1.6 1.6H4.1c-.9 0-1.6-.7-1.6-1.6v-3.1c0-.9.7-1.6 1.6-1.6zM4.1 29H48c.9 0 1.6.7 1.6 1.6v3.1c0 .9-.7 1.6-1.6 1.6H4.1c-.9 0-1.6-.7-1.6-1.6v-3.1c0-.9.7-1.6 1.6-1.6zM32 14.9h16c.9 0 1.6.7 1.6 1.6v3.1c0 .9-.7 1.6-1.6 1.6H32c-.9 0-1.6-.7-1.6-1.6v-3.1c0-.9.7-1.6 1.6-1.6zM24.1 21.6L16.7 3.3c-.2-.3-.5-.6-.9-.6h-5.7c-.3 0-.7.2-.8.6L2.5 21.6c-.1.3.1.8.5.8h3.6c.3 0 .7-.3.8-.6l1.4-3.9h8.7l1.5 3.9c.1.3.5.6.8.6h3.6c.5 0 .8-.4.7-.8zm-13.6-8.5l2.3-5.8h.5l2.5 5.8h-5.3z"}},display_text:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M43.5 2.5H8.6c-3.4 0-6.1 2.7-6.1 6.1v34.7c0 3.4 2.7 6.1 6.1 6.1h34.8c3.4 0 6.1-2.7 6.1-6.1V8.6c.1-3.4-2.7-6.1-6-6.1zM10.6 12.7c0-1.1.9-2 2-2h22.9c1.1 0 2 .9 2 2v2.1c0 1.1-.9 2-2 2h-23c-1.1 0-2-.9-2-2v-2.1zm24.1 26.6c0 1.1-.9 2-2 2h-20c-1.1 0-2-.9-2-2v-2c0-1.1.9-2 2-2h20c1.1 0 2 .9 2 2v2zM41.4 27c0 1.1-.9 2-2 2H12.7c-1.1 0-2-.9-2-2v-2c0-1.1.9-2 2-2h26.6c1.1 0 2 .9 2 2v2z"}},dock_panel:{xmlns:"http://www.w3.org/2000/svg",path:[{d:"M1.908 35V9c0-3.9 3.1-7 7-7h26c3.9 0 7 3.1 7 7v3h-6V9c0-.601-.4-1-1-1h-26c-.6 0-1 .399-1 1v26c0 .6.4 1 1 1h3v6h-3c-3.9 0-7-3.1-7-7z"},{d:"M45.908 16h-26c-2.2 0-4 1.799-4 4v26c0 2.199 1.8 4 4 4h26c2.199 0 4-1.801 4-4V20c0-2.201-1.801-4-4-4zm-4.015 25.184c0 .49-.307.795-.857.795H29.41c-.488 0-1.039-.428-1.039-.918v-1.773c0-.49.551-.979 1.039-.979h4.834c.551 0 .795-.613.428-.979l-10.4-10.403a.888.888 0 010-1.285l1.285-1.284a.887.887 0 011.285 0l10.4 10.4c.367.43.979.123.979-.426v-4.835c0-.552.551-.979 1.041-.979h1.836c.488 0 .795.488.795.979v11.687z"}]},down:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M8.3 14h35.4c1 0 1.7 1.3.9 2.2L27.3 37.4c-.6.8-1.9.8-2.5 0L7.3 16.2c-.7-.9-.1-2.2 1-2.2z"}},download:{xmlns:"http://www.w3.org/2000/svg",g:{path:[{d:"M48.5 31h-3c-.8 0-1.5.7-1.5 1.5v10c0 .8-.7 1.5-1.5 1.5h-33c-.8 0-1.5-.7-1.5-1.5v-10c0-.8-.7-1.5-1.5-1.5h-3c-.8 0-1.5.7-1.5 1.5V46c0 2.2 1.8 4 4 4h40c2.2 0 4-1.8 4-4V32.5c0-.8-.7-1.5-1.5-1.5z"},{d:"M25 37.6c.6.6 1.5.6 2.1 0l13.5-13.5c.6-.6.6-1.5 0-2.1l-2.1-2.1c-.6-.6-1.5-.6-2.1 0l-5.6 5.6c-.6.6-1.7.2-1.7-.7V3.5C29 2.7 28.2 2 27.5 2h-3c-.8 0-1.5.7-1.5 1.5v21.2c0 .9-1.1 1.3-1.7.7l-5.6-5.6c-.6-.6-1.5-.6-2.1 0L11.5 22c-.6.6-.6 1.5 0 2.1L25 37.6z"}]}},drag:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M30.9 34.3c0 1.8-2.2 2.5-3.2 1l-2-4.3c-1.1-1.9-3.5-2.3-5.3-1.1l-1.3 1 6.7 15.9c.3.7 1 1.1 1.8 1.1h17.6c.9 0 1.6-.6 1.8-1.4l3.1-11.1c.8-3.1-1-6.1-3.8-7.2l-8-2.7c-11.3-4.1-7.6 8.4-7.4 8.8zM1.8 28.5h5.8v5.8H1.8zM14.4 4h5.8v5.8h-5.8zM14.4 42h5.8v5.8h-5.8zM1.8 15.8h5.8v5.8H1.8zM1.8 4.1h5.8v5.8H1.8zM27.1 4h5.8v5.8h-5.8zM39.8 4h5.8v5.8h-5.8zM1.8 42.1h5.8v5.8H1.8zM39.8 16.8h5.8v5.8h-5.8z"}},drag_and_drop:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M20 4c2.2 0 4 1.8 4 4s-1.8 4-4 4-4-1.8-4-4 1.8-4 4-4zm12 0c2.2 0 4 1.8 4 4s-1.8 4-4 4-4-1.8-4-4 1.8-4 4-4zM20 16c2.2 0 4 1.8 4 4s-1.8 4-4 4-4-1.8-4-4 1.8-4 4-4zm12 0c2.2 0 4 1.8 4 4s-1.8 4-4 4-4-1.8-4-4 1.8-4 4-4zM20 28c2.2 0 4 1.8 4 4s-1.8 4-4 4-4-1.8-4-4 1.8-4 4-4zm12 0c2.2 0 4 1.8 4 4s-1.8 4-4 4-4-1.8-4-4 1.8-4 4-4zM20 40c2.2 0 4 1.8 4 4s-1.8 4-4 4-4-1.8-4-4 1.8-4 4-4zm12 0c2.2 0 4 1.8 4 4s-1.8 4-4 4-4-1.8-4-4 1.8-4 4-4z"}},duration_downscale:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M17.08 2H8a6 6 0 00-6 6v5.68a6 6 0 006.08 5.92h9.06a6 6 0 006-6V7.94A6 6 0 0017.08 2zm-3.26 12.8h-2.5a4 4 0 010-8h2.5a4 4 0 010 8zM34.5 19.6h9.06a6 6 0 006-6V7.94A6 6 0 0043.5 2h-9.06a6 6 0 00-6 6v5.66a6 6 0 006.06 5.94zm3.24-12.8h2.5a4 4 0 010 8h-2.5a4 4 0 010-8zM17.08 24.4H8a6 6 0 00-6 6v5.68A6 6 0 008.08 42h9.06a6 6 0 006-6v-5.66a6 6 0 00-6.06-5.94zm-3.26 12.8h-2.5a4 4 0 110-8h2.5a4 4 0 010 8zM49.83 40.12a.84.84 0 00-.23-.23l-1.84-1.52a1.42 1.42 0 00-1.84 0L42.82 41c-.53.45-1.45.17-1.45-.5v-15a1.27 1.27 0 00-1.32-1.12h-2.63a1.33 1.33 0 00-1.32 1.12v14.95c0 .67-.92.95-1.45.5l-3.09-2.58a1.44 1.44 0 00-1.85 0l-1.77 1.52a.92.92 0 00-.23 1.28.84.84 0 00.23.23l9.88 8.26a1.42 1.42 0 001.84 0l9.94-8.26a.92.92 0 00.23-1.28z"}},dynamic_record_choice:{xmlns:"http://www.w3.org/2000/svg",path:[{d:"M20.8 43v-.3C13.7 40.4 8.5 33.9 8.5 26c0-9.6 7.9-17.5 17.5-17.5S43.5 16.4 43.5 26c0 1.6-.2 3.2-.6 4.7.2.2.5.3.7.5.3 0 .6-.1.9-.1 1.6 0 3.2.5 4.4 1.2.6-2 .9-4.1.9-6.3C49.7 12.8 39 2.1 25.9 2.1S2.1 12.8 2.1 25.9c0 12.6 9.8 22.9 22.2 23.7-2-1.4-3.5-3.9-3.5-6.6z"},{d:"M31.3 28.8c1.5 0 2.9.4 4.2 1 .3-.1.6-.2 1-.2.4-1.1.6-2.3.6-3.6 0-6.1-4.9-11-11-11s-11 4.9-11 11c0 4.9 3.2 9 7.6 10.5.4-4.4 4.1-7.7 8.6-7.7z"},{d:"M35.2 34.6c.8-.8 1.9-1.3 3.2-1.3 1.7 0 3.1.9 3.9 2.2.6-.2 1.4-.5 2.2-.5 2.9 0 5.4 2.5 5.4 5.3 0 2.9-2.5 5.3-5.4 5.3-.3 0-.7 0-1-.1-.6 1.2-2 2-3.4 2-.6 0-1.2-.2-1.7-.4-.7 1.6-2.3 2.7-4.1 2.7-2 0-3.6-1.2-4.2-2.9-.2 0-.6.1-.9.1-2.3 0-4.2-1.8-4.2-4.1 0-1.5.8-2.9 2.1-3.6-.2-.6-.4-1.2-.4-1.9 0-2.6 2.2-4.8 4.8-4.8 1.4.1 2.8.9 3.7 2z"}]},edit:{xmlns:"http://www.w3.org/2000/svg",g:{path:{d:"M9.5 33.4l8.9 8.9c.4.4 1 .4 1.4 0L42 20c.4-.4.4-1 0-1.4l-8.8-8.8c-.4-.4-1-.4-1.4 0L9.5 32.1c-.4.4-.4 1 0 1.3zM36.1 5.7c-.4.4-.4 1 0 1.4l8.8 8.8c.4.4 1 .4 1.4 0l2.5-2.5c1.6-1.5 1.6-3.9 0-5.5l-4.7-4.7c-1.6-1.6-4.1-1.6-5.7 0l-2.3 2.5zM2.1 48.2c-.2 1 .7 1.9 1.7 1.7l10.9-2.6c.4-.1.7-.3.9-.5l.2-.2c.2-.2.3-.9-.1-1.3l-9-9c-.4-.4-1.1-.3-1.3-.1l-.2.2c-.3.3-.4.6-.5.9L2.1 48.2z"}}},edit_form:{xmlns:"http://www.w3.org/2000/svg",g:{path:[{d:"M31.4 15.3h8.2c.6 0 1.1-.5 1.1-1.1 0-.3-.1-.5-.3-.8L30.2 3.3c-.3-.2-.5-.3-.8-.3-.6 0-1.1.5-1.1 1.1v8.1c0 1.7 1.4 3.1 3.1 3.1zM49.5 25.7l-.9-.9c-.6-.6-1.5-.6-2.2 0L34.5 36.7c-.1.1 0 .2 0 .3v2.5c0 .2 0 .4.2.4h2.6c.1 0 .2-.1.3-.1L49.5 28c.7-.8.7-1.7 0-2.3z"},{d:"M39.9 44.4H32.8c-1.6 0-2.9-1.3-2.9-2.9v-5.4c0-.8.2-1.6.9-2.1l9.5-9.5c.3-.3.5-.7.5-1.1v-2c0-.8-.7-1.5-1.5-1.5h-11c-2.6 0-4.6-2.1-4.6-4.6V4.5c0-.8-.7-1.5-1.6-1.5H6.6C4.1 3 2 5.1 2 7.6v36.8C2 46.9 4.1 49 6.6 49H36c2.2 0 4.2-1.6 4.6-3.7.1-.4-.3-.9-.7-.9zM8.2 16.8c0-.8.7-1.5 1.5-1.5h6.2c.9 0 1.5.7 1.5 1.5v1.5c0 .8-.7 1.5-1.5 1.5H9.7c-.9 0-1.5-.7-1.5-1.5v-1.5zm15.5 19.9c0 .8-.7 1.5-1.5 1.5H9.7c-.9 0-1.5-.7-1.5-1.5v-1.5c0-.8.7-1.5 1.5-1.5h12.4c.9 0 1.5.7 1.5 1.5v1.5zm3.1-9.2c0 .8-.7 1.5-1.5 1.5H9.7c-.9 0-1.5-.7-1.5-1.5V26c0-.8.7-1.5 1.5-1.5h15.5c.9 0 1.5.7 1.5 1.5v1.5z"}]}},education:{xmlns:"http://www.w3.org/2000/svg",g:{path:{d:"M25.8 26.7c-1.2.1-2.3-.4-3.5-.8-6.3-2.1-12.7-4.2-19-6.3-.4-.2-.7-.3-1-.6-.4-.3-.4-.7 0-1 .3-.2.7-.5 1.1-.6 6.8-2 13.5-4 20.3-6.1 1.5-.5 3.1-.5 4.7 0l20.1 6c.4.2.8.3 1.2.6.5.3.5.8 0 1.1-.3.2-.6.4-1 .5-6.7 2.2-13.4 4.5-20.2 6.7-.9.4-1.7.5-2.7.5zM12.5 27c-1-.2-1.2.4-1.2.9v7.6c0 .9.3 1.4.9 2 .2.2.5.4.7.6 1.6 1.1 3.5 1.8 5.4 2.3 3.8 1 7.6 1.2 11.5.7 2.5-.3 5-1 7.3-2 1-.5 2-1 2.7-1.8.5-.5.7-1 .6-1.7.1-2.4.1-4.9.1-7.4 0-1.4-1-1.2-1.4-1.1-3.5 1.2-7.2 2.3-10.7 3.5-1.8.6-3.5.6-5.2 0L12.5 27zM45.9 24.7c-.3.1-.4.2-.4.6v6.8c0 .2-.1.5-.2.7-.5 1.2-1 2.4-1.4 3.6-.4 1.1-.2 2.3.6 3.1.2.3.6.6.9.8.3.3.8.4 1.2.5.7.1 1.3-.3 1.8-.7.2-.2.5-.4.7-.7.6-.8.7-1.8.5-2.7-.3-1.4-.9-2.6-1.5-3.8-.2-.2-.2-.6-.2-.8v-7.4c0-.5-.4-.4-.6-.3l-1.4.3z"}}},einstein:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M28.7 42.1c7.2.2 7.4 1.6 7.4 7.2v.7c-2.8 0-2.8-2.3-4-2.3 0 .8-.7 1.5-2 2.3-.8-1.5-1.4-2.3-2-2.3 0 .7-.6 1.4-1.8 2.2l-.3.1c-1.3-.8-2-1.5-2-2.3-.6 0-1.3.8-2 2.3-1.3-.8-2-1.5-2-2.3-1.3 0-1.3 2.3-4 2.3v-.9c0-5.3.4-6.7 6.9-7v.4a3 3 0 006 0 .41.41 0 01-.2-.4zm1.5-35.3c3 3.6 2.4 5.3 2.5 6.4a11.91 11.91 0 017.8.8c1.8.9 2.9 2.3 3 3.3a4.69 4.69 0 00-3 1.5 14.94 14.94 0 016.1 3.9 17.05 17.05 0 013.3 5.6.77.77 0 010 .8 22.86 22.86 0 01-3.1 2.8 41.42 41.42 0 01-4.1 2.7c1.6 1 2.4 1.9 2.5 2.9-1.7.5-2.7.9-3.8 1.3-.5.2-1.5.5-2.6.9 1.6-10.5-5-11.5-8-11.5-2.1 0-3.3 1.7-5.1 1.7s-2.9-1.7-5.1-1.7S12.2 30 13.3 39a12.66 12.66 0 01-1.8-.7 21.17 21.17 0 00-5-.9.53.53 0 01-.6-.4.38.38 0 010-.15v-.3a10 10 0 012.4-4.3c.7-.7 2-1.6 2.5-1.5a8.68 8.68 0 00-3.4-3.1 19.5 19.5 0 00-4.8-1.3c-.5-.1-.8-.1-.5-1 1.7-4.3 3.7-7 6.1-8.2a11.26 11.26 0 016-1.5 9 9 0 00-1-2.5A12.94 12.94 0 0012 11.2a.76.76 0 01.1-1c.1 0 .2-.1.3-.1a6.64 6.64 0 013.1.2 8.08 8.08 0 013.9 2.7A36.29 36.29 0 0018 2.8c-.1-2.2 9.2.4 12.2 4zm-7.5 27.3c.8 0 1.5 1.1 1.5 2.5s-.7 2.5-1.5 2.5-1.5-1.1-1.5-2.5.7-2.5 1.5-2.5zm6.6 0c.8 0 1.5 1.1 1.5 2.5s-.7 2.5-1.5 2.5-1.5-1.1-1.5-2.5.6-2.5 1.5-2.5z"}},email:{xmlns:"http://www.w3.org/2000/svg",g:{path:[{d:"M24.9 30.1c.6.6 1.5.6 2.1 0l22.6-21c.4-.8.3-2.1-1.3-2.1l-44.7.1c-1.2 0-2.2 1.1-1.3 2.1l22.6 20.9z"},{d:"M50 17.3c0-1-1.2-1.6-2-.9L30.3 32.7c-1.2 1.1-2.7 1.7-4.3 1.7s-3.1-.6-4.3-1.6L4.1 16.4c-.8-.7-2-.2-2 .9C2 17 2 40 2 40c0 2.2 1.8 4 4 4h40c2.2 0 4-1.8 4-4V17.3z"}]}},email_open:{xmlns:"http://www.w3.org/2000/svg",path:[{d:"M45.8 28.1c0-.8-1-1.3-1.7-.7L29.5 40.9c-1 .9-2.2 1.4-3.6 1.4s-2.6-.5-3.6-1.3L7.8 27.4c-.7-.6-1.7-.2-1.7.7-.1-.2-.1 18-.1 18 0 1.8 1.5 3.3 3.3 3.3h33.1c1.8 0 3.3-1.5 3.3-3.3v-18z"},{d:"M45.6 20.6c.2-.2.3-.4.3-.6 0-.3-.1-.5-.3-.7L26.8 2c-.5-.5-1.2-.5-1.7 0L6.5 19.2c-.1.1-.1.2-.2.2v.1c0 .1-.1.2-.1.3 0 .3.1.5.3.7L25 37.7c.5.5 1.2.5 1.7 0l18.9-17.1c0 .1 0 0 0 0z"}]},emoji:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M50.1 26c0 13.3-10.8 24.1-24.1 24.1S1.9 39.3 1.9 26 12.7 1.9 26 1.9 50.1 12.7 50.1 26zM18.3 15.8c-2.4 0-4.3 1.9-4.3 4.3s1.9 4.3 4.3 4.3 4.3-1.9 4.3-4.3-1.9-4.3-4.3-4.3zm15.5 0c-2.4 0-4.3 1.9-4.3 4.3s1.9 4.3 4.3 4.3 4.3-1.9 4.3-4.3-1.9-4.3-4.3-4.3zm-.2 16.7c-2 1.8-4.7 2.8-7.6 2.8-2.8 0-5.4-1-7.5-2.7l-.9-.8c-.3-.2-.5-.3-1.1-.3-1.1 0-1.9.9-1.9 1.9 0 .5.2 1 .6 1.4l.7.6c2.7 2.4 6.3 3.8 10.1 3.8 3.9 0 7.5-1.5 10.2-3.9l.5-.5c.4-.4.6-.9.6-1.4 0-1.1-.9-1.9-1.9-1.9-.5 0-.9.2-1.2.4l-.6.6z"}},end_call:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M48.5 5.6l-2.1-2.1c-.6-.6-1.7-.5-2.4.3L20.5 27.3l-5-5.6c-.6-.6-.6-1.4-.2-2.1l3.8-5.2c1.1-1.4 1-3.4-.1-4.8l-4.9-6.1c-1.5-1.8-4.2-2-5.9-.3L3 8.4c-.8.8-1.2 1.9-1.2 3 .5 9.2 4.2 18 10 24.6l-8 8c-.7.7-.8 1.8-.3 2.4l2.1 2.1c.6.6 1.7.5 2.4-.3L48.2 8c.8-.7.9-1.8.3-2.4zM48.5 37.9L42.4 33c-1.4-1.1-3.4-1.2-4.8-.1l-5.2 3.8c-.6.5-1.5.4-2.1-.2l-2.4-2.2-8.5 8.5c6.1 4.1 13.4 6.8 21 7.2 1.1.1 2.2-.4 3-1.2l5.2-5.2c1.9-1.5 1.8-4.3-.1-5.7z"}},end_chat:{xmlns:"http://www.w3.org/2000/svg",path:[{d:"M24.6 40.6c0-8.8 7.2-16 16-16 1.5 0 2.9.2 4.2.6.2-1.1.3-2.1.3-3.2C45 11 35.4 2.2 23.6 2.2 11.7 2.2 2.2 11 2.2 21.8c0 3.4 1 6.6 2.6 9.5.3.4.4 1 .2 1.5l-2.8 7.6c-.3.7.4 1.3 1.2 1.2l7.7-3c.4-.2 1-.1 1.5.2 3.2 1.8 7.1 2.9 11.2 2.9h.8v-1.1zm9.8-22.3c2 0 3.6 1.6 3.6 3.6s-1.6 3.6-3.6 3.6-3.6-1.6-3.6-3.6 1.6-3.6 3.6-3.6zm-21.5 7.1c-2 0-3.6-1.6-3.6-3.6s1.6-3.6 3.6-3.6 3.6 1.6 3.6 3.6-1.7 3.6-3.6 3.6zm10.7 0c-2 0-3.6-1.6-3.6-3.6s1.6-3.6 3.6-3.6 3.6 1.6 3.6 3.6-1.6 3.6-3.6 3.6z"},{d:"M31.7 34.6l6 6-6 6c-.6.6-.6 1.6 0 2.1l.7.7c.6.6 1.6.6 2.1 0l6-6 6 6c.6.6 1.6.6 2.1 0l.7-.7c.6-.6.6-1.6 0-2.1l-6-6 6-6c.6-.6.6-1.6 0-2.1l-.7-.7c-.6-.6-1.6-.6-2.1 0l-6 6-6-6c-.6-.6-1.6-.6-2.1 0l-.7.7c-.5.5-.5 1.5 0 2.1z"}]},end_messaging_session:{xmlns:"http://www.w3.org/2000/svg",path:[{d:"M24.6 40.6c0-2.8.7-5.4 2-7.7h-2.3c-.5 0-.8-.3-.8-.8v-9.2c0-.5.3-.8.8-.8h9.2c.5 0 .8.3.8.8v3c1.9-.8 4.1-1.3 6.3-1.3 1.5 0 2.9.2 4.2.6.2-1.1.3-2.2.3-3.3-.1-11-9.6-19.8-21.5-19.8S2.2 10.9 2.2 21.7c0 3.4 1 6.6 2.6 9.5.3.4.4 1 .2 1.5l-2.8 7.6c-.3.7.4 1.3 1.2 1.2l7.7-3c.4-.2 1-.1 1.5.2 3.2 1.8 7.1 2.9 11.2 2.9h.8v-1zM12.8 12.2c0-.5.3-.8.8-.8h19.9c.5 0 .8.3.8.8v4.6c0 .5-.4.8-.9.8H13.6c-.5 0-.8-.3-.8-.8v-4.6zM19 32.1c0 .5-.4.8-.9.8h-4.6c-.5 0-.8-.3-.8-.8v-9.2c0-.5.3-.8.8-.8h4.7c.5 0 .8.3.8.8v9.2z"},{d:"M31.8 34.6l6 6-6 6c-.6.6-.6 1.6 0 2.1l.7.7c.6.6 1.6.6 2.1 0l6-6 6 6c.6.6 1.6.6 2.1 0l.7-.7c.6-.6.6-1.6 0-2.1l-6-6 6-6c.6-.6.6-1.6 0-2.1l-.7-.7c-.6-.6-1.6-.6-2.1 0l-6 6-6-6c-.6-.6-1.6-.6-2.1 0l-.7.7c-.6.6-.6 1.6 0 2.1z"}]},engage:{xmlns:"http://www.w3.org/2000/svg",path:{"fill-rule":"evenodd",d:"M26.5 4.25c12.801 0 23.25 9.388 23.25 21.068 0 11.68-10.449 21.069-23.25 21.069-1.662 0-3.303-.158-4.9-.469l-.487-.101-.143.076c-2.032 1.04-5.305 1.882-9.913 2.597l-.517.08-1.128.162c-1.725.25-2.714-1.901-1.403-3.049 1.315-1.15 2.314-2.66 2.998-4.555l.025-.077-.317-.26c-4.595-3.848-7.338-9.241-7.46-15.066l-.005-.407C3.25 13.638 13.699 4.25 26.5 4.25zm7 26.75h-14a2 2 0 100 4h14a2 2 0 100-4zm4-7.5h-22a2 2 0 100 4h22a2 2 0 100-4zm-4-7.5h-14a2 2 0 100 4h14a2 2 0 100-4z"}},enter:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M44 30.5s.1 1.6-1.5 1.6H15.2c-.9 0-1.3-1.2-.7-1.8l5.6-5.6c.6-.6.6-1.5 0-2.1L18 20.5c-.6-.6-1.5-.6-2.1 0L2.4 34c-.6.6-.6 1.5 0 2.1L16 49.6c.6.6 1.5.6 2.1 0l2.1-2.1c.6-.6.6-1.5 0-2.1l-5.6-5.6c-.6-.7-.2-1.7.7-1.7h33.2c.7 0 1.5-.8 1.5-1.6v-33c0-.7-.7-1.5-1.5-1.5h-3c-.8 0-1.5.8-1.5 1.5v27z"}},erect_window:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M50 6.5c0 .8-.7 1.5-1.5 1.5h-45C2.7 8 2 7.3 2 6.5v-3C2 2.7 2.7 2 3.5 2h45c.8 0 1.5.7 1.5 1.5v3z"}},error:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M26 2C12.8 2 2 12.8 2 26s10.8 24 24 24 24-10.8 24-24S39.2 2 26 2zM8 26c0-9.9 8.1-18 18-18 3.9 0 7.5 1.2 10.4 3.3L11.3 36.4C9.2 33.5 8 29.9 8 26zm18 18c-3.9 0-7.5-1.2-10.4-3.3l25.1-25.1C42.8 18.5 44 22.1 44 26c0 9.9-8.1 18-18 18z"}},event:{xmlns:"http://www.w3.org/2000/svg",g:{path:{d:"M46.5 20h-41c-.8 0-1.5.7-1.5 1.5V46c0 2.2 1.8 4 4 4h36c2.2 0 4-1.8 4-4V21.5c0-.8-.7-1.5-1.5-1.5zM19 42c0 .6-.4 1-1 1h-4c-.6 0-1-.4-1-1v-4c0-.6.4-1 1-1h4c.6 0 1 .4 1 1v4zm0-10c0 .6-.4 1-1 1h-4c-.6 0-1-.4-1-1v-4c0-.6.4-1 1-1h4c.6 0 1 .4 1 1v4zm10 10c0 .6-.4 1-1 1h-4c-.6 0-1-.4-1-1v-4c0-.6.4-1 1-1h4c.6 0 1 .4 1 1v4zm0-10c0 .6-.4 1-1 1h-4c-.6 0-1-.4-1-1v-4c0-.6.4-1 1-1h4c.6 0 1 .4 1 1v4zm10 10c0 .6-.4 1-1 1h-4c-.6 0-1-.4-1-1v-4c0-.6.4-1 1-1h4c.6 0 1 .4 1 1v4zm0-10c0 .6-.4 1-1 1h-4c-.6 0-1-.4-1-1v-4c0-.6.4-1 1-1h4c.6 0 1 .4 1 1v4zM44 7h-5V5c0-1.6-1.3-3-3-3-1.6 0-3 1.3-3 3v2H19V5c0-1.6-1.3-3-3-3-1.6 0-3 1.3-3 3v2H8c-2.2 0-4 1.8-4 4v2.5c0 .8.7 1.5 1.5 1.5h41c.8 0 1.5-.7 1.5-1.5V11c0-2.2-1.8-4-4-4z"}}},event_ext:{xmlns:"http://www.w3.org/2000/svg",g:{path:{d:"M49.83 32.45A1.43 1.43 0 0048.44 31h-12A1.43 1.43 0 0035 32.44v1.44a1.43 1.43 0 001.4 1.44h6.14l-11 11a1.42 1.42 0 000 2l1 1a1.54 1.54 0 001.09.45 1.32 1.32 0 00.94-.38l11-11v6A1.43 1.43 0 0047 45.83h1.53a1.43 1.43 0 001.47-1.4zM3.45 12.48h31.91a1.24 1.24 0 001.25-1.23V10a3.8 3.8 0 00-3.76-3.69h-3.06V5a2.43 2.43 0 00-4.86 0v1.28H13.87V5A2.44 2.44 0 009 5v1.28H5.88A3.69 3.69 0 002.19 10v1.28a1.24 1.24 0 001.25 1.23zM36.53 25.13v-7.79a1.25 1.25 0 00-1.22-1.26H3.45a1.24 1.24 0 00-1.26 1.22v18.46a3.69 3.69 0 003.69 3.69h18.5a16.82 16.82 0 0112.15-14.32zm-11-2.85a1.24 1.24 0 011.2-1.28h2.43a1.24 1.24 0 011.26 1.22v2.47A1.24 1.24 0 0129.25 26h-2.52a1.25 1.25 0 01-1.25-1.23zm-12.23 11a1.23 1.23 0 01-1.25 1.23H9.56a1.24 1.24 0 01-1.25-1.23v-2.46a1.25 1.25 0 011.23-1.25H12a1.25 1.25 0 011.26 1.22zm0-8.54A1.24 1.24 0 0112.08 26H9.56a1.25 1.25 0 01-1.25-1.23v-2.49A1.24 1.24 0 019.51 21H12a1.24 1.24 0 011.26 1.22zm8.54 8.54a1.25 1.25 0 01-1.22 1.26h-2.51a1.24 1.24 0 01-1.26-1.22v-2.5a1.24 1.24 0 011.23-1.25h2.46a1.25 1.25 0 011.25 1.23zM20.54 26h-2.43a1.25 1.25 0 01-1.26-1.22v-2.5a1.24 1.24 0 011.2-1.28h2.49a1.24 1.24 0 011.25 1.23v2.46A1.24 1.24 0 0120.62 26z"}}},events:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M8.8 9C4.4 13.5 2 19.4 2 25.6 2 27 3.1 28 4.4 28s2.4-1.1 2.4-2.4c-.1-4.9 1.9-9.6 5.4-13.1s8.3-5.4 13.1-5.4c1.4 0 2.4-1.1 2.4-2.4 0-1.4-1.1-2.4-2.4-2.4C19.2 2.2 13.2 4.6 8.8 9zm2.9 16.6c0 1.4 1 2.4 2.4 2.4s2.4-1.1 2.4-2.4c0-2.3.9-4.6 2.6-6.2 1.7-1.7 3.9-2.5 6.2-2.6 1.4 0 2.4-1.1 2.4-2.4 0-1.4-1-2.4-2.4-2.4-3.6 0-7.1 1.4-9.7 3.9-.4.5-4.1 4.2-3.9 9.7zM45.5 15.2c-.9-1.2-2.1-2.6-2.3-2.8-.3-.2-.7-.4-1.1-.4-.4 0-.8.1-1 .4L31 22.4c-2.4-2-6-1.9-8.3.4-2.3 2.3-2.4 5.9-.4 8.3l-9.7 9.7c-.3.3-.5.7-.5 1.1 0 .5.2 1 .6 1.3l2.7 2c3.7 2.9 8.3 4.5 13.2 4.5 11.8 0 21.4-9.6 21.4-21.4 0-4.8-1.7-9.4-4.5-13.1z"}},expand:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M48.8 2H33.3c-1 0-1.3.9-.5 1.7l4.9 4.9-9 9c-.5.5-.5 1.3 0 1.9l3.7 3.7c.5.5 1.3.5 1.9 0l9.1-9.1 4.9 4.9c.8.8 1.7.5 1.7-.5V3.1c0-.6-.6-1.1-1.2-1.1zM3.5 50h15.4c1 0 1.3-1.1.5-1.9l-4.9-5 9-9.1c.5-.5.5-1.4 0-1.9l-3.7-3.7c-.5-.5-1.3-.5-1.9 0l-9 9-5-4.9C3 31.7 2 32 2 33v15.4c0 .7.8 1.6 1.5 1.6zM50 48.8V33.3c0-1-.9-1.3-1.7-.5l-4.9 4.9-9-9c-.5-.5-1.3-.5-1.9 0l-3.7 3.7c-.5.5-.5 1.3 0 1.9l9.1 9.1-4.9 4.9c-.8.8-.5 1.7.5 1.7h15.4c.6 0 1.1-.6 1.1-1.2zM2 3.5v15.4c0 1 1.1 1.3 1.9.5l5-4.9 9.1 9c.5.5 1.4.5 1.9 0l3.7-3.7c.5-.5.5-1.3 0-1.9l-9-9 4.9-5C20.3 3 20 2 19 2H3.6C2.9 2 2 2.8 2 3.5z"}},expand_all:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M48 9.5c0-.8-.7-1.5-1.5-1.5h-41C4.7 8 4 8.7 4 9.5v3c0 .8.7 1.5 1.5 1.5h41c.8 0 1.5-.7 1.5-1.5v-3zM48 39.5c0-.8-.7-1.5-1.5-1.5h-41c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h41c.8 0 1.5-.7 1.5-1.5v-3zM30 29h4.5c.8 0 1.5-.7 1.5-1.5v-3c0-.8-.7-1.5-1.5-1.5H30c-.6 0-1-.4-1-1v-4.5c0-.8-.7-1.5-1.5-1.5h-3c-.8 0-1.5.7-1.5 1.5V22c0 .6-.4 1-1 1h-4.5c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5H22c.6 0 1 .4 1 1v4.5c0 .8.7 1.5 1.5 1.5h3c.8 0 1.5-.7 1.5-1.5V30c0-.6.4-1 1-1z"}},expand_alt:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M48.8 2H33.3c-1 0-1.3.9-.5 1.7l4.9 4.9-9 9c-.5.5-.5 1.3 0 1.9l3.7 3.7c.5.5 1.3.5 1.9 0l9.1-9.1 4.9 4.9c.8.8 1.7.5 1.7-.5V3.1c0-.6-.6-1.1-1.2-1.1zM3.5 50h15.4c1 0 1.3-1.1.5-1.9l-4.9-5 9-9.1c.5-.5.5-1.4 0-1.9l-3.7-3.7c-.5-.5-1.3-.5-1.9 0l-9 9-5-4.9C3 31.7 2 32 2 33v15.4c0 .7.8 1.6 1.5 1.6z"}},fallback:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M28 3.5l-3 14.6c0 .6.4.9.9.9h15.6c1.1 0 1.8 1.3 1.3 2.3l-17 27.9c-.7 1.4-2.8.9-2.8-.7l3-17.2c0-.6-.5-.4-1.1-.4H8.5c-1.1 0-1.9-1.6-1.3-2.6l18-25.5c.7-1.3 2.8-.9 2.8.7z"}},favorite:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M27.4 3.1l4.6 15c.2.6.8.9 1.4.9h15c1.5 0 2.1 2 .9 2.9l-12.2 9c-.5.4-.7 1.1-.5 1.7L42.4 48c.4 1.4-1.1 2.6-2.3 1.7L27 39.9c-.5-.4-1.2-.4-1.8 0L12 49.7c-1.2.9-2.8-.3-2.3-1.7l5.6-15.4c.2-.6 0-1.3-.5-1.7l-12.2-9c-1.2-.9-.5-2.9.9-2.9h15c.7 0 1.2-.2 1.4-.9L24.6 3c.4-1.4 2.4-1.3 2.8.1z"}},feed:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M25.2 43c-.3 0-.7-.1-1.1-.3-.6-.3-1.1-1-1.2-1.6L17.2 18l-4.9 11c-.3.9-1.1 1.4-2 1.4H3.5c-.8 0-1.5-.6-1.5-1.4v-1.5c0-.8.7-1.5 1.5-1.5h5.2l6.9-15.7c.4-.8 1.3-1.4 2.3-1.3 1 .1 1.8.7 2 1.7l5.9 23.4L33.7 17c.4-.9 1.3-1.4 2.2-1.3.8.1 1.6.7 2 1.5l3.9 8.9h6.8c.8 0 1.5.7 1.5 1.5V29c0 .8-.7 1.5-1.5 1.5h-8.2c-.9 0-1.7-.5-2.1-1.3l-2.5-5.7-8.4 18.3c-.5.7-1.2 1.2-2.2 1.2z"}},file:{xmlns:"http://www.w3.org/2000/svg",g:{path:[{d:"M9.7 36.1V11.3c-2.6 0-4.7 2.1-4.7 4.6v29.4C5 47.9 7.1 50 9.7 50H33c2.6 0 4.7-2.1 4.7-4.6H19c-5.1 0-9.3 0-9.3-9.3z"},{d:"M45.4 15.9h-7.8c-2.6 0-4.7-2.1-4.7-4.6V3.5c.1-.8-.6-1.5-1.5-1.5H19c-2.6 0-4.7 2.1-4.7 4.6V36c0 2.6 2.1 4.6 4.7 4.6h23.3c2.6 0 4.7-2.1 4.7-4.6V17.5c0-.9-.7-1.6-1.6-1.6z"},{d:"M46.7 9.4l-7.2-7.1c-.2-.2-.4-.3-.7-.3-.6 0-1.1.5-1.1 1.1v5.1c0 1.7 1.4 3.1 3.1 3.1h5.1c.6 0 1.1-.5 1.1-1.1 0-.3-.1-.5-.3-.8z"}]}},filter:{xmlns:"http://www.w3.org/2000/svg",g:{path:{d:"M24.4 31.8c-.6-.6-1.5-.6-2.1 0l-3.6 3.6c-.6.6-1.7.2-1.7-.7V21.5c0-.8-.7-1.5-1.5-1.5h-3c-.8 0-1.5.7-1.5 1.5v13.2c0 .9-1.1 1.3-1.7.7l-3.6-3.6c-.6-.6-1.5-.6-2.1 0L1.4 34c-.6.6-.6 1.5 0 2.1l11.5 11.5c.6.6 1.5.6 2.1 0L26.6 36c.6-.6.6-1.5 0-2.1l-2.2-2.1zM51 9.5c0-.8-.7-1.5-1.5-1.5h-37c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h37c.8 0 1.5-.7 1.5-1.5v-3zM51 21.5c0-.8-.7-1.5-1.5-1.5h-27c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h27c.8 0 1.5-.7 1.5-1.5v-3zM51 33.5c0-.8-.7-1.5-1.5-1.5h-17c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h17c.8 0 1.5-.7 1.5-1.5v-3z"}}},filterlist:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M48.3 4H3.9C2.4 4 1.7 5.7 2.6 6.8L22 29.5c.6.7.9 1.7.9 2.6v14.4c0 .8.8 1.5 1.6 1.5h3c.8 0 1.4-.7 1.4-1.5V32.1c0-1 .4-1.9 1.1-2.6L49.6 6.8c.9-1.1.2-2.8-1.3-2.8z"}},filter_criteria:{xmlns:"http://www.w3.org/2000/svg",path:[{d:"M16.35 10.4h18.89A1.74 1.74 0 0037 8.67V5.2A5.22 5.22 0 0031.77 0h-12a5.22 5.22 0 00-5.2 5.2v3.47a1.87 1.87 0 001.78 1.73z"},{d:"M8.55 4.33a.82.82 0 01.86.87v3.47a6.94 6.94 0 006.85 6.93h18.89A6.88 6.88 0 0042 8.67V5.2a.82.82 0 01.87-.87h1.73a5.22 5.22 0 015.2 5.2V46.8a5.22 5.22 0 01-5.2 5.2H6.81a5.2 5.2 0 01-5.11-5.2V9.53a5.2 5.2 0 015.11-5.2h1.74zm27 19.94h-19.2a.75.75 0 00-.61 1.21l8.41 9.88a2 2 0 01.43 1.13v6.24a.75.75 0 00.69.69h1.3a.67.67 0 00.61-.69v-6.24a1.39 1.39 0 01.52-1.13l8.49-9.88a.73.73 0 00-.6-1.21z"}]},filter_criteria_rule:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M27.4 2A1.58 1.58 0 0129 3.6v11.2a3.89 3.89 0 004.2 4.2h11.2a1.58 1.58 0 011.6 1.6v24.6a4.87 4.87 0 01-4.8 4.8H10.8A4.87 4.87 0 016 45.2V6.8A4.87 4.87 0 0110.8 2h16.6zm7.52 24H17.08a.68.68 0 00-.52 1.12l7.79 9.12a1.65 1.65 0 01.36 1v5.78a.66.66 0 00.65.6h1.2a.58.58 0 00.56-.6v-5.73a1.47 1.47 0 01.45-1l7.87-9.12a.68.68 0 00-.52-1.17zM34.2 2a1.4 1.4 0 01.9.3l10.6 10.6a1.4 1.4 0 01.3.9 1.2 1.2 0 01-1.1 1.2h-8.5a3.5 3.5 0 01-3.4-3.4V3.1A1.2 1.2 0 0134.2 2z"}},flow:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M49.9 10.6c-2.1-4.1-7.4-11.7-17.2-7.2-6.1 2.8-9.5 4.4-9.5 4.4l-8.8 3.8c-2.5 1.2-7.9-.5-11-1.6-.9-.3-1.7.6-1.3 1.5 2.1 4.1 7.4 11.7 17.2 7.2 6.1-2.8 18.3-8.1 18.3-8.1 2.5-1.2 7.9.5 11 1.6.9.2 1.7-.7 1.3-1.6zM28.8 23.4c-1.1.6-5.5 2.6-5.5 2.6l-4.4 1.9c-2.2 1.2-6.9-.4-9.7-1.5-.8-.4-1.5.6-1.1 1.4 1.8 4 6.5 11.2 15.1 6.8 5.4-2.7 9.9-4.5 9.9-4.5 2.2-1.2 6.9.4 9.7 1.5.8.3 1.5-.6 1.1-1.5-1.8-3.9-6.5-11.1-15.1-6.7zm-3.2 17.7c-.9.5-2.4 1.4-2.4 1.4-1.7 1.1-5.2-.3-7.3-1.3-.6-.3-1.1.6-.8 1.4 1.3 3.6 4.8 10.1 11.3 6.1 2.4-1.5 2.4-1.4 2.4-1.4 1.8-.9 5.2.3 7.3 1.3.6.3 1.1-.6.8-1.4-1.3-3.6-4.6-9.8-11.3-6.1z"}},flow_alt:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M42.3 4.9H30.4C29.6 3.2 27.9 2 26 2c-2.6 0-4.8 2.2-4.8 4.8s2.2 4.8 4.8 4.8c2 0 3.7-1.2 4.4-2.9h11.9c2.1 0 3.8 1.7 3.8 3.8v7.7c0 2.1-1.7 3.8-3.8 3.8h-5.8v-5.8c0-1.6-1.3-2.9-2.9-2.9H18.3c-1.6 0-2.9 1.3-2.9 2.9V24H9.7C5.5 24 2 27.4 2 31.7v7.7c0 4.2 3.4 7.7 7.7 7.7h11.9C22.3 48.8 24 50 26 50c2.6 0 4.8-2.2 4.8-4.8 0-2.6-2.2-4.8-4.8-4.8-2 0-3.7 1.2-4.4 2.9H9.7c-2.1 0-3.8-1.7-3.8-3.8v-7.7c0-2.1 1.7-3.8 3.8-3.8h5.8v5.8c0 1.6 1.3 2.9 2.9 2.9h15.4c1.6 0 2.9-1.3 2.9-2.9V28h5.8c4.2 0 7.7-3.4 7.7-7.7v-7.7c-.2-4.3-3.7-7.7-7.9-7.7z"}},food_and_drink:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M40.881 24C39.937 31.865 33.526 37 28 37H16.002c-5.997 0-13-5.99-13-15V8a2 2 0 012-2H44a6 6 0 016 6v6a6 6 0 01-6 6h-3.119zM39 6zm1.593 34c.74 0 1.407.675 1.407 1.425v.075c0 2.475-2 4.5-4.444 4.5H6.444C4 46 2 43.975 2 41.5v-.075C2 40.675 2.667 40 3.407 40h37.186zM41 11v8h2a2 2 0 002-2v-4a2 2 0 00-2-2h-2z"}},form:{xmlns:"http://www.w3.org/2000/svg",rect:[{fill:"none",height:"4.8",rx:"1.6",width:"27.2",x:"12.4",y:"26"},{fill:"none",height:"4.8",rx:"1.6",width:"24",x:"12.4",y:"35.6"}],g:{path:[{d:"M36.4 14.8h8.48A1.09 1.09 0 0046 13.68a1 1 0 00-.32-.8L35.12 2.32a1 1 0 00-.8-.32 1.09 1.09 0 00-1.12 1.12v8.48a3.21 3.21 0 003.2 3.2z"},{d:"M44.4 19.6H33.2a4.81 4.81 0 01-4.8-4.8V3.6A1.6 1.6 0 0026.8 2h-16A4.81 4.81 0 006 6.8v38.4a4.81 4.81 0 004.8 4.8h30.4a4.81 4.81 0 004.8-4.8v-24a1.6 1.6 0 00-1.6-1.6zm-32-1.6a1.62 1.62 0 011.6-1.55h6.55A1.56 1.56 0 0122.12 18v1.59a1.63 1.63 0 01-1.59 1.58H14a1.55 1.55 0 01-1.58-1.58zm24 20.77a1.6 1.6 0 01-1.6 1.6H14a1.6 1.6 0 01-1.6-1.6V37.2a1.6 1.6 0 011.6-1.6h20.8a1.6 1.6 0 011.6 1.6zm3.2-9.6A1.6 1.6 0 0138 30.8H14a1.6 1.6 0 01-1.6-1.6v-1.6A1.6 1.6 0 0114 26h24a1.6 1.6 0 011.6 1.6z"}]}},formula:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M30.2 3.2c-.8-.6-1.9-.9-3.2-.9-.3 0-.6 0-.9.1-3.5.5-5.8 3.8-7.2 6.8-.6 1.4-1.2 2.9-1.7 4.4-.3.7-.5 1.4-.8 2.1 0 .1-.4 1.5-.5 1.5h-3.6c-.5 0-.9.4-.9.9s.4.9.9.9h3.1l-1.8 7.5C12 34.7 9.7 44.2 9.1 45.9c-.6 1.7-1.4 2.6-2.5 2.6-.2 0-.4 0-.5-.1-.1-.1-.2-.2-.2-.4 0-.1.1-.4.3-.7.2-.3.3-.7.3-1 0-.7-.2-1.2-.7-1.6-.4-.4-.9-.6-1.5-.6s-1.1.2-1.6.6c-.5.4-.7 1-.7 1.7 0 1 .4 1.8 1.2 2.5.8.7 1.8 1 3.1 1 2.1 0 4.1-1 5.5-2.6.9-1 1.5-2.2 2.1-3.5 1.8-3.9 2.7-8.2 3.7-12.3 1-4.2 2-8.4 2.9-12.7H24c.5 0 .9-.4.9-.9s-.4-.9-.9-.9h-3.1c1.7-6.6 3.7-11.1 4.1-11.8.7-1.1 1.4-1.7 2.1-1.7.3 0 .5.1.6.2.1.2.1.3.1.4 0 .1-.1.3-.3.7-.2.4-.3.8-.3 1.2 0 .6.2 1 .6 1.4.4.4.9.6 1.5.6s1.1-.2 1.5-.6c.4-.4.6-1 .6-1.7.1-1.1-.3-1.9-1.2-2.5zM46.1 23.2c1.3 0 3.8-1 3.8-4.4 0-3.3-2.4-3.5-3.1-3.5-1.5 0-2.9 1.1-4.2 3.3-1.3 2.3-2.7 4.7-2.7 4.7-.3-1.6-.6-2.9-.7-3.5-.3-1.4-1.9-4.4-5.2-4.4-3.3 0-6.3 1.9-6.3 1.9-.6.4-.9 1-.9 1.7 0 1.1.9 2 2 2 .3 0 .6-.1.9-.2 0 0 2.5-1.4 3 0 .2.4.3.9.4 1.4.6 2.2 1.2 4.7 1.7 7l-2.2 3.1s-2.4-.9-3.7-.9-3.8 1-3.8 4.4 2.4 3.5 3.1 3.5c1.5 0 2.9-1.1 4.2-3.3 1.3-2.3 2.7-4.7 2.7-4.7.4 2 .8 3.7 1 4.4.8 2.3 2.7 3.7 5.3 3.7 0 0 2.6 0 5.7-1.7.7-.3 1.3-1 1.3-1.9 0-1.1-.9-2-2-2-.3 0-.6.1-.9.2 0 0-2.2 1.2-2.9.3-.5-1-1-2.4-1.3-4-.3-1.5-.7-3.2-1-4.9l2.2-3.2c-.1.1 2.4 1 3.6 1z"}},forward:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M3.4 29h33.2c.9 0 1.3 1.1.7 1.7l-9.6 9.6c-.6.6-.6 1.5 0 2.1l2.2 2.2c.6.6 1.5.6 2.1 0L49.5 27c.6-.6.6-1.5 0-2.1L32 7.4c-.6-.6-1.5-.6-2.1 0l-2.1 2.1c-.6.6-.6 1.5 0 2.1l9.6 9.6c.6.7.2 1.8-.7 1.8H3.5c-.8 0-1.5.6-1.5 1.4v3c0 .8.6 1.6 1.4 1.6z"}},forward_up:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M8.2 49.6l31.5-31.5c.9-.9 2.3-.2 2.3.9v18.2c0 1.1.9 2 2 2h4.2c1.1 0 2-.9 2-2L50 4.1c0-1.1-.9-2-2-2H14.8c-1.1 0-2 .9-2 2v4c0 1.1.9 2 2 2H33c1.2.1 1.9 1.5 1 2.4L2.6 43.9c-.8.8-.9 2-.1 2.7l2.8 2.8c.8.8 2.1 1 2.9.2z"}},freeze_column:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M14.5 44a1.54 1.54 0 011.5 1.5v3a1.54 1.54 0 01-1.5 1.5h-9A1.54 1.54 0 014 48.5v-3A1.54 1.54 0 015.5 44zm19.6 0c.59 0 1.1.7 1.1 1.5v3c0 .8-.51 1.5-1.1 1.5h-6.6c-.59 0-1.1-.7-1.1-1.5v-3c0-.8.51-1.5 1.1-1.5zm12.8 0c.59 0 1.1.7 1.1 1.5v3c0 .8-.51 1.5-1.1 1.5h-6.6c-.59 0-1.1-.7-1.1-1.5v-3c0-.8.51-1.5 1.1-1.5zM21.6 14a.8.8 0 01.8.8v34.4a.8.8 0 01-.8.8h-.8a.8.8 0 01-.8-.8V14.8a.8.8 0 01.8-.8zm-7.1 20a1.54 1.54 0 011.5 1.5v3a1.54 1.54 0 01-1.5 1.5h-9A1.54 1.54 0 014 38.5v-3A1.54 1.54 0 015.5 34zm19.6 0c.59 0 1.1.7 1.1 1.5v3c0 .8-.51 1.5-1.1 1.5h-6.6c-.59 0-1.1-.7-1.1-1.5v-3c0-.8.51-1.5 1.1-1.5zm12.8 0c.59 0 1.1.7 1.1 1.5v3c0 .8-.51 1.5-1.1 1.5h-6.6c-.59 0-1.1-.7-1.1-1.5v-3c0-.8.51-1.5 1.1-1.5zM14.5 24a1.54 1.54 0 011.5 1.5v3a1.54 1.54 0 01-1.5 1.5h-9A1.54 1.54 0 014 28.5v-3A1.54 1.54 0 015.5 24zm19.6 0c.59 0 1.1.7 1.1 1.5v3c0 .8-.51 1.5-1.1 1.5h-6.6c-.59 0-1.1-.7-1.1-1.5v-3c0-.8.51-1.5 1.1-1.5zm12.8 0c.59 0 1.1.7 1.1 1.5v3c0 .8-.51 1.5-1.1 1.5h-6.6c-.59 0-1.1-.7-1.1-1.5v-3c0-.8.51-1.5 1.1-1.5zM14.5 14a1.54 1.54 0 011.5 1.5v3a1.54 1.54 0 01-1.5 1.5h-9A1.54 1.54 0 014 18.5v-3A1.54 1.54 0 015.5 14zm19.6 0c.59 0 1.1.7 1.1 1.5v3c0 .8-.51 1.5-1.1 1.5h-6.6c-.59 0-1.1-.7-1.1-1.5v-3c0-.8.51-1.5 1.1-1.5zm12.8 0c.59 0 1.1.7 1.1 1.5v3c0 .8-.51 1.5-1.1 1.5h-6.6c-.59 0-1.1-.7-1.1-1.5v-3c0-.8.51-1.5 1.1-1.5zm-.4-12A1.54 1.54 0 0148 3.5v5a1.54 1.54 0 01-1.5 1.5h-41A1.54 1.54 0 014 8.5v-5A1.54 1.54 0 015.5 2z"}},frozen:{xmlns:"http://www.w3.org/2000/svg",path:[{d:"M27 3c.6 0 1 .4 1 1v45.9c0 .6-.4 1-1 1h-2c-.6 0-1-.4-1-1V4c0-.6.4-1 1-1h2z"},{d:"M26 17.2l-8.1-8.1c-.4-.4-.4-1 0-1.4l1.4-1.4c.4-.4 1-.4 1.4 0l5.3 5.3 5.3-5.3c.4-.4 1-.4 1.4 0l1.4 1.4c.4.4.4 1 0 1.4L26 17.2M26 36.7l8.1 8.1c.4.4.4 1 0 1.4l-1.4 1.4c-.4.4-1 .4-1.4 0L26 42.3l-5.3 5.3c-.4.4-1 .4-1.4 0l-1.4-1.4c-.4-.4-.4-1 0-1.4l8.1-8.1M47.1 15.6c.3.5.2 1.1-.4 1.4L7.2 40.3c-.5.3-1.1.2-1.4-.4l-1-1.7c-.3-.5-.2-1.1.4-1.4l39.5-23.4c.5-.3 1.1-.2 1.4.4l1 1.8z"},{d:"M34.4 22l2.8-11.1c.1-.6.6-.9 1.2-.7l1.9.5c.6.1.9.6.7 1.2l-1.9 7.3 7.3 1.9c.6.1.9.6.7 1.2l-.5 1.9c-.1.6-.6.9-1.2.7l-11-2.9M17.6 31.9L14.8 43c-.1.6-.6.9-1.2.7l-1.9-.5c-.6-.1-.9-.6-.7-1.2l1.9-7.3-7.3-1.9c-.6-.1-.9-.6-.7-1.2l.5-1.9c.1-.6.6-.9 1.2-.7l11 2.9M5.9 13.9c.3-.5.9-.7 1.4-.4l39.5 23.4c.5.3.7.9.4 1.4l-1 1.7c-.3.5-.9.7-1.4.4L5.2 17c-.5-.3-.7-.9-.4-1.4l1.1-1.7z"},{d:"M17.6 22L6.5 24.9c-.6.1-1.1-.1-1.2-.7l-.5-1.9c-.1-.6.1-1.1.7-1.2l7.3-1.9-1.9-7.3c-.1-.6.1-1.1.7-1.2l1.9-.5c.6-.1 1.1.1 1.2.7L17.6 22M34.3 31.9L45.4 29c.6-.1 1.1.1 1.2.7l.5 1.9c.1.6-.1 1.1-.7 1.2l-7.3 1.9L41 42c.1.6-.1 1.1-.7 1.2l-1.9.5c-.6.1-1.1-.1-1.2-.7l-2.9-11.1"}]},fulfillment_order:{xmlns:"http://www.w3.org/2000/svg",g:{path:{d:"M24.3 36.5c.7 0 1.4.1 2 .3L15.5 6.2l-1-3c-.3-.9-1.2-1.3-2-1L3.1 5.3c-.9.3-1.3 1.2-1 2l1 3c.3.9 1.2 1.3 2 1L10 9.7l9.9 28.1c1.3-.8 2.8-1.3 4.4-1.3zM41.2 29.2l-9.9 3.5c-1 .4-2.2-.2-2.5-1.2l-3.5-9.9c-.4-1 .2-2.2 1.2-2.5l9.9-3.5c1-.4 2.2.2 2.5 1.2l3.5 9.9c.4 1-.2 2.1-1.2 2.5zM31.8 12.9l-6.7 2.3c-1 .4-2.2-.2-2.5-1.2l-2.3-6.7c-.4-1 .2-2.2 1.2-2.5l6.7-2.3c1-.4 2.2.2 2.5 1.2l2.3 6.7c.4.9-.1 2.1-1.2 2.5zM49.9 35.5l-1-3c-.3-.9-1.2-1.3-2-1l-18.2 6.3c1.9 1.2 3.2 3.2 3.6 5.5L49 37.6c.8-.3 1.2-1.2.9-2.1zM24.3 39.1c-3 0-5.5 2.5-5.5 5.5s2.5 5.5 5.5 5.5 5.5-2.5 5.5-5.5c0-3.1-2.5-5.5-5.5-5.5z"}}},full_width_view:{xmlns:"http://www.w3.org/2000/svg",g:{path:{d:"M48.5 4h-45C2.7 4 2 4.7 2 5.5v5c0 .8.7 1.5 1.5 1.5h45c.8 0 1.5-.7 1.5-1.5v-5c-.1-.8-.7-1.5-1.5-1.5zM10.7 16h-7c-.8 0-1.5.7-1.5 1.5v29.8c0 .8.7 1.5 1.5 1.5h7c.8 0 1.5-.7 1.5-1.5V17.5c0-.8-.7-1.5-1.5-1.5zM48.5 16h-7c-.8 0-1.5.7-1.5 1.5v29.8c0 .8.7 1.5 1.5 1.5h7c.8 0 1.5-.7 1.5-1.5V17.5c0-.8-.7-1.5-1.5-1.5zM34.5 16H17.7c-.8 0-1.5.7-1.5 1.5v29.8c0 .8.7 1.5 1.5 1.5h16.8c.8 0 1.5-.7 1.5-1.5V17.5c0-.8-.7-1.5-1.5-1.5z"}}},global_constant:{xmlns:"http://www.w3.org/2000/svg",g:{path:[{d:"M28.6 28.2c2.6-2 5.4-2.3 7.3-2.3l7.1-.1c.7 0 1.4 0 2.1-.1.9 0 1.8-.1 2.6-.1h2.1C49.9 12.5 39.1 1.8 26 1.8S2.1 12.5 2.1 25.6c0 11.5 8.2 21.1 19 23.4-.2-.8-.1-1.6.1-2.4.3-1.4 1.1-2.5 1.9-3.3-2.5-2.5-4.6-8.2-5-15.2h5.5v6.4c.2-.5.3-1 .6-1.4 1-1.4 2.1-2.9 3.4-4.2.2-.2.5-.4.6-.6l.4-.1zm16.3-4.8h-6.3c-.2-5.7-1.5-10.6-3.4-14.3 5.3 2.9 8.9 8.2 9.7 14.3zM28.4 7.7c2.7 2.3 5.1 8.2 5.5 15.7h-5.5V7.7zm-4.8 0v15.7h-5.5c.4-7.5 2.8-13.4 5.5-15.7zM7.1 28.2h6.3c.2 5.7 1.5 10.6 3.4 14.3-5.3-2.9-8.9-8.2-9.7-14.3zm6.2-4.8H7.1c.8-6.1 4.5-11.4 9.7-14.3-1.9 3.7-3.1 8.7-3.5 14.3z"},{d:"M24.6 41.9c.3-.2.6-.6.8-.7.2-.3.6-.6.8-1-1.3-.6-2.2-1.7-2.6-3v5.7c.4-.5.7-.8 1-1z"}]},path:{d:"M49.6 29.9c-.2-.2-.3-.2-.5-.2-2-.1-4.1.1-6 .1l-7.1.1c-2.1 0-3.9.5-5.6 2-1 1-2.1 2.3-2.9 3.5-.1.2-.2.3-.2.5 0 .5.4.8.8.8.5 0 .6-.3.8-.6s.5-.6.8-1c1.1-1 2.6-1.6 4.1-1.4-1.3 3.5-3 7.5-5.6 10.3-1 1.1-2.9 2.3-3.3 3.9-.4 1.7 1.3 2.1 2.5 1.6 1.6-.6 2.5-2.3 3.4-3.7 1-1.8 1.9-3.6 2.6-5.4.8-1.8 1.6-3.7 2.3-5.5.5-1.1.6-1.1 1.8-1.1h3.1c-1.1 2.5-2.2 5.1-3.3 7.7-.8 2-2.2 4.9-1.2 7 1 2.1 3.8 1.4 5.3.2 1.6-1.1 2.5-2.9 3.4-4.5.2-.3.3-.6.2-1-.2-.3-.4-.5-.7-.5-.7 0-.9.9-1.1 1.4-.4.9-1.4 1.7-2.4 1.5-2.3-.3-.2-4.5.2-5.7.4-1.2.9-2.3 1.4-3.4.3-.6.6-1.4.9-2 .4-.8.4-.8 1.4-.9.8 0 3.1.4 3.8-.1.6-.4.9-1.8 1.2-2.8.2-.3.2-.5-.1-.8z"}},graph:{xmlns:"http://www.w3.org/2000/svg",path:[{d:"M2 45.5c0 2.2 1.8 4 4 4h42.4c.9 0 1.6-.7 1.6-1.6v-2.8c0-.9-.7-1.6-1.6-1.6H9.5c-.8 0-1.5-.7-1.5-1.5V4.1c0-.9-.7-1.6-1.6-1.6H3.6c-.9 0-1.6.7-1.6 1.6v41.4z"},{d:"M49.7 14.1c0-1.7-1.3-3-3-3-.9 0-1.6.4-2.2.9l-8.6 8.6L30 15l-.1-.1-.2-.2c-.1 0-.1-.1-.2-.1-.1-.1-.2-.1-.3-.2-.1 0-.1-.1-.2-.1s-.2-.1-.4-.1c-.1 0-.1 0-.2-.1-.2 0-.4-.1-.6-.1-.2 0-.4 0-.6.1-.1 0-.1 0-.2.1-.1 0-.3.1-.4.1-.1 0-.1.1-.2.1-.1.1-.2.1-.3.2-.1 0-.1.1-.2.2s-.2.1-.3.2L14.2 26.5c-.6.6-1 1.3-1 2.2 0 1.7 1.3 3 3 3 .7 0 1.4-.3 1.9-.7l9.8-9.7 5.7 5.6c.1.1.2.1.3.2l.2.2c.1.1.2.1.3.2.1 0 .1.1.2.1.1.1.3.1.4.1.1 0 .1 0 .2.1.2 0 .4.1.6.1.2 0 .4 0 .6-.1h.2c.1 0 .2-.1.4-.1.1 0 .1-.1.2-.1s.2-.1.3-.2c.1 0 .1-.1.2-.1l.1-.1.1-.1.1-.1 10.8-10.7c.5-.6.9-1.3.9-2.2z"}]},groups:{xmlns:"http://www.w3.org/2000/svg",g:{path:[{d:"M15.9 28c-1.4-2.1-2.1-4.5-2.1-7.2 0-4.6 1.9-8.4 4.9-10.7-1-1.8-3-3.1-5.6-3.1-4.4 0-6.9 3.6-6.9 7.7 0 2.2.7 4.1 2.2 5.4.8.8 1.5 1.8 1.5 2.8s-.4 2-2.9 3.1c-3.6 1.6-6.9 3.8-7 7.1.1 2.2 1.5 3.9 3.6 3.9h3.3c.5 0 1-.3 1.3-.8 1.6-2.9 4.6-4.7 7.1-6 .9-.4 1.1-1.5.6-2.2zM45.1 26c-2.5-1.1-2.9-2-2.9-3.1s.7-2.1 1.5-2.8c1.5-1.4 2.2-3.2 2.2-5.4 0-4.1-2.4-7.7-6.9-7.7-2.6 0-4.6 1.3-5.7 3.1 3 2.3 4.9 6.1 4.9 10.7 0 2.7-.7 5.1-2.1 7.2-.5.8-.2 1.8.6 2.2 2.5 1.2 5.5 3.1 7.1 6 .3.5.8.8 1.3.8h3.3c2.1 0 3.5-1.7 3.5-3.9.1-3.3-3.2-5.5-6.8-7.1z"},{d:"M32.7 33.3c-2.7-1.2-3.2-2.3-3.2-3.4 0-1.2.8-2.3 1.7-3.1 1.6-1.5 2.5-3.6 2.5-6 0-4.5-2.7-8.4-7.6-8.4s-7.6 3.9-7.6 8.4c0 2.4.9 4.5 2.5 6 .9.9 1.7 2 1.7 3.1 0 1.2-.4 2.2-3.2 3.4-4 1.7-7.8 3.6-7.9 7.2 0 2.4 1.8 4.4 4.1 4.4h20.8c2.3 0 4.1-2 4.1-4.4-.1-3.5-3.9-5.4-7.9-7.2z"}]}},help:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M28.4 38h-5c-.8 0-1.4-.6-1.4-1.4v-1.5c0-4.2 2.7-8 6.7-9.4 1.2-.4 2.3-1.1 3.2-2.1 5-6 .4-13.2-5.6-13.4-2.2-.1-4.3.7-5.9 2.2-1.3 1.2-2.1 2.7-2.3 4.4-.1.6-.7 1.1-1.5 1.1h-5c-.9 0-1.6-.7-1.5-1.6.4-3.8 2.1-7.2 4.8-9.9 3.2-3 7.3-4.6 11.7-4.5C34.9 2.2 41.7 9 42 17.3c.3 7-4 13.3-10.5 15.7-.9.4-1.5 1.1-1.5 2v1.5c0 .9-.8 1.5-1.6 1.5zM30 48.5c0 .8-.7 1.5-1.5 1.5h-5c-.8 0-1.5-.7-1.5-1.5v-5c0-.8.7-1.5 1.5-1.5h5c.8 0 1.5.7 1.5 1.5v5z"}},help_center:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M25.7 2C12.4 2.2 1.9 13.1 2 26.3 2.2 39.6 13.1 50.1 26.3 50c13.3-.2 23.8-11.1 23.7-24.3C49.8 12.4 38.9 1.9 25.7 2zm0 3.2c3.6-.1 7 .8 9.9 2.3l-3.2 5.4c-1.9-1-4.1-1.5-6.4-1.5s-4.5.5-6.4 1.5l-3.2-5.4c2.8-1.4 5.9-2.3 9.3-2.3zM12.9 32.4l-5.4 3.2c-1.4-2.8-2.3-6-2.3-9.4-.1-3.6.8-7 2.3-9.9l5.4 3.2c-1 1.9-1.5 4.1-1.5 6.4s.5 4.6 1.5 6.5zm13.4 14.4c-3.6.1-7-.8-9.9-2.3l3.2-5.4c1.9 1 4.1 1.5 6.4 1.5s4.5-.5 6.4-1.5l3.2 5.4c-2.8 1.4-5.9 2.3-9.3 2.3zm-.3-9.3c-6.4 0-11.5-5.2-11.5-11.5 0-6.4 5.2-11.5 11.5-11.5 6.4 0 11.5 5.2 11.5 11.5 0 6.4-5.1 11.5-11.5 11.5zm13.1-5.1c1-1.9 1.5-4.1 1.5-6.4s-.5-4.5-1.5-6.4l5.4-3.2c1.4 2.8 2.3 6 2.3 9.4.1 3.6-.8 7-2.3 9.9l-5.4-3.3z"}},help_doc_ext:{xmlns:"http://www.w3.org/2000/svg",g:{path:{d:"M49.83 32.45A1.43 1.43 0 0048.44 31h-12A1.43 1.43 0 0035 32.44v1.44a1.43 1.43 0 001.4 1.44h6.14l-11 11a1.42 1.42 0 000 2l1 1a1.54 1.54 0 001.09.45 1.32 1.32 0 00.94-.38l11-11v6A1.43 1.43 0 0047 45.83h1.53a1.43 1.43 0 001.47-1.4zM19.91 32.07h-4.08A1.12 1.12 0 0114.68 31v-1.3a8.18 8.18 0 015.47-7.7 6.16 6.16 0 002.61-1.71 6.56 6.56 0 00-9.38-9.15 5.77 5.77 0 00-1.88 3.6 1.17 1.17 0 01-1.23.89H6.19A1.17 1.17 0 015 14.46v-.1a13.31 13.31 0 013.89-8.08 13.38 13.38 0 019.55-3.68 13.1 13.1 0 014 25.39 1.83 1.83 0 00-1.23 1.63v1.23a1.27 1.27 0 01-1.3 1.22zm1.3 8.57A1.24 1.24 0 0120 41.87h-4.09a1.27 1.27 0 01-1.23-1.23v-4.08a1.25 1.25 0 011.23-1.22H20a1.25 1.25 0 011.22 1.22z"}}},hide:{xmlns:"http://www.w3.org/2000/svg",g:{path:{d:"M51.8 25.1c-1.6-3.2-3.7-6.1-6.3-8.4L37 25.1v.9c0 6.1-4.9 11-11 11h-.9l-5.4 5.4c2 .4 4.1.7 6.2.7 11.3 0 21.1-6.6 25.8-16.1.4-.7.4-1.3.1-1.9zM48.5 5.6l-2.1-2.1c-.6-.6-1.7-.5-2.4.3l-7.3 7.3C33.4 9.7 29.8 9 26 9 14.7 9 4.9 15.6.2 25.1c-.3.6-.3 1.3 0 1.8 2.2 4.5 5.5 8.2 9.6 11l-6 6.1c-.7.7-.8 1.8-.3 2.4l2.1 2.1c.6.6 1.7.5 2.4-.3L48.2 8c.8-.7.9-1.8.3-2.4zM15 26c0-6.1 4.9-11 11-11 2 0 3.8.5 5.4 1.4l-3 3c-.8-.2-1.6-.4-2.4-.4-3.9 0-7 3.1-7 7 0 .8.2 1.6.4 2.4l-3 3C15.5 29.8 15 28 15 26z"}}},hide_mobile:{xmlns:"http://www.w3.org/2000/svg",g:{path:{d:"M36.1 25.3v14.1c0 .7-.6 1.4-1.4 1.4H20.6L12 49.4c.6.4 1.3.6 2 .6h24c2 0 3.7-1.7 3.7-3.7V19.7l-5.6 5.6zM26 48.1c-1.6 0-2.8-1.2-2.8-2.8s1.2-2.8 2.8-2.8 2.8 1.2 2.8 2.8-1.2 2.8-2.8 2.8zM10.3 45.6l5.7-5.7v-.1l20.2-20.2v.1l5.5-5.5v-.1l7-7c.7-.6.8-1.7.3-2.2L47 3c-.6-.6-1.6-.5-2.2.3l-3.1 3.1v-.7C41.7 3.7 40 2 38 2H14c-2 0-3.7 1.7-3.7 3.7v32.1l-7.1 7.1c-.6.6-.7 1.6-.2 2.1l1.9 2c.6.6 1.6.5 2.2-.3l3.2-3.1zm5.5-34.8c0-.7.6-1.4 1.4-1.4h17.5c.7 0 1.4.6 1.4 1.4V12L15.8 32.2V10.8z"}}},hierarchy:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M23.1 23H10.8c-.7 0-1.4.6-1.4 1.3v10.5H5.3c-.7 0-1.4.7-1.4 1.4v10c0 .7.7 1.4 1.4 1.4H19c.7 0 1.4-.7 1.4-1.4v-10c0-.7-.7-1.4-1.4-1.4h-4.1v-6.4h21.9v6.4h-4.1c-.7 0-1.4.7-1.4 1.4v10c0 .7.7 1.4 1.4 1.4h13.7c.7 0 1.3-.7 1.3-1.4v-10c0-.7-.6-1.4-1.3-1.4h-4.2V24.3c0-.7-.7-1.3-1.4-1.3H28.6v-6.4h4.1c.7 0 1.3-.7 1.3-1.4v-10c0-.7-.6-1.4-1.3-1.4H19c-.7 0-1.4.7-1.4 1.4v10c0 .7.7 1.4 1.4 1.4h4.2V23z"}},high_velocity_sales:{xmlns:"http://www.w3.org/2000/svg",g:{path:[{d:"M50 3.2c0-1-.6-1.2-.9-1.2H28.4c-1.5 0-1.5 1.5-1.5 1.5v2.9c0 1.3.8 1.6 1.2 1.6h14.4c.6.1 1.5.5 1.5 2.1v13.6c.1.4.3 1.3 1.5 1.3h3.2s1.3 0 1.3-1.5V3.2z"},{d:"M37.5 15.7c.1-1-.6-1.2-.9-1.2H15.9c-1.5 0-1.5 1.5-1.5 1.5v2.9c0 1.3.8 1.6 1.2 1.6H30c.6.1 1.5.5 1.5 2.1v13.6c.1.4.3 1.3 1.5 1.3h3.2s1.3 0 1.3-1.5V15.7z"},{d:"M5.3 48.8c.2.2 1 .8 2.1-.3l10.4-10.4c.3-.3 1.2-1 1.2.4v10.2c.1.4.3 1.3 1.5 1.3h3.2s1.3 0 1.3-1.5V28.2c0-1-.6-1.1-.9-1.2H3.4c-1.5 0-1.5 1.5-1.5 1.5v2.9c0 1.3.8 1.6 1.2 1.6h9.6c.4 0 1.6.1.5 1.2l-10 10.2S2 45.5 3 46.5l2.3 2.3z"}]}},holiday_operating_hours:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M38.71 25.59a11.3 11.3 0 0111.29 11v.29a11.29 11.29 0 01-11 11.29h-.29a11.3 11.3 0 01-.3-22.59zm-.45 3.08v.1l-1.66 5.32a.4.4 0 01-.4.32h-5.43a.58.58 0 00-.39 1l.07.06 4.31 3.18a.55.55 0 01.2.51v.09l-2 5.43a.53.53 0 00.74.65h.07l4.67-3.45a.53.53 0 01.55-.06l.08.06 4.63 3.45a.52.52 0 00.83-.51v-.09l-2-5.43a.56.56 0 01.11-.53l.07-.07L47 35.43a.57.57 0 00-.23-1h-5.44a.52.52 0 01-.45-.23v-.09l-1.67-5.31a.52.52 0 00-.95-.13zM21.84 3a19.89 19.89 0 0119.84 19.84v.24a14.26 14.26 0 00-2.47-.31h-.9v-.25a16.47 16.47 0 10-16.47 16.79 16.32 16.32 0 002.91-.26 14.19 14.19 0 00.92 3.26 19.36 19.36 0 01-3.83.37 19.84 19.84 0 010-39.68zM22 14.3a1.06 1.06 0 011 1V22a1.06 1.06 0 00.27.76l3.81 3.93a1 1 0 010 1.45l-1.43 1.44a1 1 0 01-1.43 0l-5-5.1a1.4 1.4 0 01-.28-.76v-8.38a1.06 1.06 0 011-1H22z"}},home:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M49 27h-5v22c0 .6-.4 1-1 1H33c-.6 0-1-.4-1-1V32H20v17c0 .6-.4 1-1 1H9c-.6 0-1-.4-1-1V27H3c-.4 0-.8-.2-.9-.6-.2-.4-.1-.8.2-1.1l23-23c.4-.4 1.1-.4 1.4 0l23 23c.3.3.3.7.2 1.1s-.5.6-.9.6z"}},identity:{xmlns:"http://www.w3.org/2000/svg",g:{path:[{d:"M46 8H34.9s.1.7.1 1c0 3.9-3.1 7-7 7h-6c-3.9 0-7-3.1-7-7 0-.3 0-1 .1-1H6c-2.2 0-4 1.8-4 4v30c0 2.2 1.8 4 4 4h40c2.2 0 4-1.8 4-4V12c0-2.2-1.8-4-4-4zM21.7 38H10.3C9 38 8 36.8 8 35.5c0-2 2.1-3.1 4.3-4 1.5-.6 1.7-1.2 1.7-1.9 0-.6-.4-1.2-.9-1.7-.9-.8-1.4-2-1.4-3.3 0-2.5 1.5-4.6 4.2-4.6s4.2 2.1 4.2 4.6c0 1.3-.5 2.5-1.4 3.3-.5.5-.9 1.1-.9 1.7 0 .6.2 1.2 1.7 1.9 2.2.9 4.3 2 4.3 4 .2 1.3-.8 2.5-2.1 2.5zM44 34c0 .6-.4 1-1 1H29c-.6 0-1-.4-1-1v-2c0-.6.4-1 1-1h14c.6 0 1 .4 1 1v2zm2-8c0 .6-.4 1-1 1H29c-.6 0-1-.4-1-1v-2c0-.6.4-1 1-1h16c.6 0 1 .4 1 1v2z"},{d:"M22 12h6c1.7 0 3-1.3 3-3s-1.3-3-3-3h-6c-1.7 0-3 1.3-3 3s1.3 3 3 3z"}]}},image:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M50 10c0-2.2-1.8-4-4-4H6c-2.2 0-4 1.8-4 4v32c0 2.2 1.8 4 4 4h40c2.2 0 4-1.8 4-4V10zM39.6 38h-29c-1.2 0-1.9-1.3-1.3-2.3l8.8-15.3c.4-.7 1.3-.7 1.7 0l5.3 9.1c.4.6 1.3.7 1.7.1l4.3-6.2c.4-.6 1.3-.6 1.7 0L40.7 36c.6.9 0 2-1.1 2zM37 20c-2.2 0-4-1.8-4-4s1.8-4 4-4 4 1.8 4 4-1.8 4-4 4z"}},in_app_assistant:{xmlns:"http://www.w3.org/2000/svg",path:[{d:"M49.9 33.6l-2-4.2 2-4.2c.2-.3 0-.8-.3-.9-.1 0-.2-.1-.3-.1h-6.5c-.5-1.3-1.8-4.5-3-6.3-1.5-2.4-3.2-4.4-5.2-6-2.3-1.9-4.9-3.5-7.9-4.7l-.7-.1-.7.2c-.1 0-1.2.4-2.9 1.2-1.4.7-3 1.7-4.6 3-3.1 2.5-5.5 5.5-7.2 9-.5 1.1-1.1 2.4-1.6 3.8H2.7c-.1 0-.2 0-.3.1-.3.1-.5.6-.4.9l1.8 4.2L2 33.7v.2c0 .4.3.7.7.7h4.5V36.4c0 .7 0 1.5.1 2v1.3l1.2.7c.1 0 2 1.1 5.1 2.2 2.8 1 7.3 2.2 12.7 2.2 4.7 0 9.3-.9 13.7-2.7 1.3-.5 2.5-1.1 3.6-1.7l1-.5.2-.8.1-.7v-2.1c0-.4 0-.6-.1-.8 0-.2-.1-.4-.1-1h4.6c.4 0 .7-.3.7-.7 0 0 0-.1-.1-.2zm-8.5 3.6c0 .2 0 .4-.1.6-.9.5-1.8.9-2.7 1.3-4 1.6-8.1 2.4-12.4 2.4-4.9 0-9-1.1-11.6-2-1.9-.7-3.3-1.3-4-1.7v-1.3-.8c0-.3 0-.5.1-2.6.2-2.9.9-5.6 1.4-7.1.5-1.5 1.1-2.9 1.6-4 1.5-3.1 3.6-5.6 6.3-7.8 1.7-1.4 3.1-2.2 3.9-2.6.9-.4 1.6-.7 2-.9 2.4 1 4.5 2.3 6.4 3.9 1.7 1.4 3.2 3.1 4.5 5.3 1 1.6 2.4 5 2.8 6 0 0 1.3 4.2 1.4 7 .1 2.2.1 2.6.2 3.1 0 .2 0 .3.1.5v.7z"},{"fill-rule":"evenodd","clip-rule":"evenodd",d:"M25.8 38c-.6 0-1-.2-1.4-.5-.4-.4-.6-.9-.6-1.5s.2-1.1.6-1.4c.4-.4.9-.6 1.5-.6s1.1.2 1.4.6c.4.4.6.9.6 1.4 0 .6-.2 1.1-.6 1.5-.5.4-1 .5-1.5.5zM19.1 23.2c0-.9.3-1.7.8-2.6.6-.9 1.4-1.6 2.4-2.2 1.1-.6 2.3-.9 3.7-.9 1.3 0 2.5.2 3.5.7 1 .5 1.8 1.1 2.3 2 .5.8.8 1.7.8 2.7 0 .8-.2 1.4-.5 2-.3.6-.7 1.1-1.1 1.5-.4.4-1.2 1.1-2.3 2.1-.3.3-.6.5-.7.7-.2.2-.3.4-.4.6-.1.2-.2.4-.2.5 0 .2-.1.5-.2.9-.2.9-.7 1.4-1.6 1.4-.5 0-.9-.2-1.2-.5-.3-.1-.4-.6-.4-1.2 0-.8.1-1.4.4-2 .2-.6.5-1 .9-1.5.4-.4.9-.9 1.6-1.5.6-.5 1-.9 1.3-1.1.3-.3.5-.5.7-.9.2-.3.3-.7.3-1 0-.7-.3-1.3-.8-1.8s-1.2-.7-2.1-.7c-1 0-1.7.3-2.2.8-.5.5-.9 1.2-1.2 2.2-.3 1-.9 1.5-1.8 1.5-.5 0-.9-.2-1.3-.5-.5-.4-.7-.8-.7-1.2z"}]},inbox:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M50 8c0-2.2-1.8-4-4-4H6C3.8 4 2 5.8 2 8v36c0 2.2 1.8 4 4 4h40c2.2 0 4-1.8 4-4V8zM19 35c0 .6-.4 1-1 1H9c-.6 0-1-.4-1-1v-4c0-.6.4-1 1-1h9c.6 0 1 .4 1 1v4zm0-10c0 .6-.4 1-1 1H9c-.6 0-1-.4-1-1v-4c0-.6.4-1 1-1h9c.6 0 1 .4 1 1v4zm0-10c0 .6-.4 1-1 1H9c-.6 0-1-.4-1-1v-4c0-.6.4-1 1-1h9c.6 0 1 .4 1 1v4zm25 26c0 .6-.4 1-1 1H24c-.6 0-1-.4-1-1V11c0-.6.4-1 1-1h19c.6 0 1 .4 1 1v30z"}},incoming_call:{xmlns:"http://www.w3.org/2000/svg",path:[{d:"M48.5 37.9L42.4 33c-1.4-1.1-3.4-1.2-4.8-.1l-5.2 3.8c-.6.5-1.5.4-2.1-.2l-7.8-7-7-7.8c-.6-.6-.6-1.4-.2-2.1l3.8-5.2c1.1-1.4 1-3.4-.1-4.8l-4.9-6.1c-1.5-1.8-4.2-2-5.9-.3L3 8.4c-.8.8-1.2 1.9-1.2 3 .5 10.2 5.1 19.9 11.9 26.7S30.2 49.5 40.4 50c1.1.1 2.2-.4 3-1.2l5.2-5.2c1.9-1.5 1.8-4.3-.1-5.7z"},{d:"M29.6 24H45c1 0 1.3-1.1.5-1.9l-4.9-5 9-9.1c.5-.5.5-1.4 0-1.9l-3.7-3.7c-.5-.5-1.3-.5-1.9 0l-9.1 9.1-5.1-4.9C29.1 5.7 28 6 28 7v15.3c0 .7.9 1.7 1.6 1.7z"}]},info:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M26 2C12.7 2 2 12.7 2 26s10.7 24 24 24 24-10.7 24-24S39.3 2 26 2zm0 12.1c1.7 0 3 1.3 3 3s-1.3 3-3 3-3-1.3-3-3 1.3-3 3-3zm5 21c0 .5-.4.9-1 .9h-8c-.5 0-1-.3-1-.9v-2c0-.5.4-1.1 1-1.1.5 0 1-.3 1-.9v-4c0-.5-.4-1.1-1-1.1-.5 0-1-.3-1-.9v-2c0-.5.4-1.1 1-1.1h6c.5 0 1 .5 1 1.1v8c0 .5.4.9 1 .9.5 0 1 .5 1 1.1v2z"}},info_alt:{xmlns:"http://www.w3.org/2000/svg",path:[{d:"M26 2C12.7 2 2 12.7 2 26s10.7 24 24 24 24-10.7 24-24S39.3 2 26 2zm0 42C16 44 8 36 8 26S16 8 26 8s18 8 18 18-8 18-18 18z"},{d:"M26 14.1c1.7 0 3 1.3 3 3s-1.3 3-3 3-3-1.3-3-3 1.3-3 3-3zM31 35.1c0 .5-.4.9-1 .9h-8c-.5 0-1-.3-1-.9v-2c0-.5.4-1.1 1-1.1.5 0 1-.3 1-.9v-4c0-.5-.4-1.1-1-1.1-.5 0-1-.3-1-.9v-2c0-.5.4-1.1 1-1.1h6c.5 0 1 .5 1 1.1v8c0 .5.4.9 1 .9.5 0 1 .5 1 1.1v2z"}]},insert_tag_field:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M16.3 12.2L14 10.3c-.7-.5-1.5-.4-2.1.2L.3 25.1c-.4.5-.4 1.3 0 1.9L12 41.5c.5.6 1.4.8 2.1.2l2.3-1.9c.7-.5.8-1.5.2-2.1L7.2 26l9.5-11.7c.4-.6.3-1.5-.4-2.1zM51.7 25.1L40 10.6c-.5-.6-1.4-.8-2.1-.2l-2.3 1.9c-.7.5-.8 1.5-.2 2.1l9.5 11.7-9.5 11.7c-.5.6-.4 1.6.2 2.1l2.3 1.9c.7.5 1.5.4 2.1-.2L51.7 27c.4-.7.4-1.4 0-1.9zM31.6 10.8l-3-.7c-.8-.2-1.7.3-1.9 1.1l-7.4 28.4c-.2.8.3 1.6 1.1 1.8l3 .7c.8.2 1.7-.3 1.9-1.1l7.4-28.4c.2-.9-.3-1.6-1.1-1.8z"}},insert_template:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M48.5 38H44v-4.5c0-.8-.7-1.5-1.5-1.5h-3c-.8 0-1.5.7-1.5 1.5V38h-4.5c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5H38v4.5c0 .8.7 1.5 1.5 1.5h3c.8 0 1.5-.7 1.5-1.5V44h4.5c.8 0 1.5-.7 1.5-1.5v-3c0-.8-.7-1.5-1.5-1.5zM34 29.5c0-.8.7-1.5 1.5-1.5H38V6c0-2.2-1.8-4-4-4H6C3.8 2 2 3.8 2 6v28c0 2.2 1.8 4 4 4h22v-2.5c0-.8.7-1.5 1.5-1.5H34v-4.5zM16 11c0 .6-.4 1-1 1H9c-.6 0-1-.4-1-1V9c0-.6.4-1 1-1h6c.6 0 1 .4 1 1v2zm12 16c0 .6-.4 1-1 1H9c-.6 0-1-.4-1-1v-2c0-.6.4-1 1-1h18c.6 0 1 .4 1 1v2zm4-8c0 .6-.4 1-1 1H9c-.6 0-1-.4-1-1v-2c0-.6.4-1 1-1h22c.6 0 1 .4 1 1v2z"}},inspector_panel:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M3.8 45.3h45c.8 0 1.5-.7 1.5-1.5v-8.3c0-.8-.7-1.5-1.5-1.5h-45c-.8 0-1.5.7-1.5 1.5v8.3c0 .8.7 1.5 1.5 1.5zm0-38.6c-.8 0-1.6.7-1.6 1.5v20.4c0 .7.8 1.4 1.6 1.4h44.8c.8 0 1.5-.7 1.5-1.5V8.2c0-.8-.7-1.5-1.5-1.5H3.8z"}},internal_share:{xmlns:"http://www.w3.org/2000/svg",path:{"fill-rule":"evenodd","clip-rule":"evenodd",d:"M2.3 37.9v.2c0 .8.6 1.4 1.4 1.4.4 0 .7-.1 1-.4 0 0 10.1-10.9 22.5-7.6v11c0 .8.6 1.4 1.4 1.4.3 0 .5-.1.7-.2l20.1-17.1c.3-.3.5-.7.5-1.1 0-.4-.2-.8-.4-1L29.4 8.2c-.2-.1-.5-.2-.8-.2-.8 0-1.4.6-1.4 1.4v10.3c-.1 0-19.9-3-24.9 18.2z"}},italic:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M38 12.3V11c0-1.1-.9-2-2-2H22c-1.1 0-2 .9-2 2v2c0 1.1.9 2 2 2 1.7 0 3 1.6 2.6 3.2L21 35.8c-.3 1.3-1.4 2.2-2.6 2.2H16c-1.1 0-2 .9-2 2v2c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2v-2c0-1.1-.9-2-2-2-1.7 0-3-1.6-2.6-3.2L31 17.2c.3-1.3 1.4-2.2 2.6-2.2h1.7c1.5 0 2.7-1.2 2.7-2.7z"}},jump_to_bottom:{xmlns:"http://www.w3.org/2000/svg",g:{path:[{d:"M40.6 30.4L27.1 44c-.6.6-1.6.6-2.2 0L11.4 30.4c-.6-.6-.6-1.6 0-2.2l2.2-2.2c.6-.6 1.6-.6 2.2 0l9.1 9.4c.6.6 1.6.6 2.2 0l9.1-9.3c.6-.6 1.6-.6 2.2 0l2.2 2.2c.5.6.5 1.5 0 2.1z"},{d:"M40.6 12.3L27.1 26.1c-.6.6-1.6.6-2.2 0L11.4 12.3c-.6-.6-.6-1.6 0-2.2l2.2-2.2c.6-.6 1.6-.6 2.2 0l9.1 9.4c.6.6 1.6.6 2.2 0L36.2 8c.6-.6 1.6-.6 2.2 0l2.2 2.2c.5.6.5 1.6 0 2.1z"}]}},jump_to_left:{xmlns:"http://www.w3.org/2000/svg",path:[{d:"M21.5 40.6L7.9 27.1a1.57 1.57 0 010-2.2l13.6-13.5a1.57 1.57 0 012.2 0l2.2 2.2a1.57 1.57 0 010 2.2l-9.4 9.1a1.57 1.57 0 000 2.2l9.3 9.1a1.57 1.57 0 010 2.2l-2.2 2.2a1.66 1.66 0 01-2.1 0z"},{d:"M39.6 40.6L25.8 27.1a1.57 1.57 0 010-2.2l13.8-13.5a1.57 1.57 0 012.2 0l2.2 2.2a1.57 1.57 0 010 2.2l-9.4 9.1a1.57 1.57 0 000 2.2l9.3 9.1a1.57 1.57 0 010 2.2l-2.2 2.2a1.66 1.66 0 01-2.1 0z"}]},jump_to_right:{xmlns:"http://www.w3.org/2000/svg",path:[{d:"M30.4 11.3L44 24.8a1.57 1.57 0 010 2.2L30.4 40.5a1.57 1.57 0 01-2.2 0L26 38.3a1.57 1.57 0 010-2.2l9.4-9.1a1.57 1.57 0 000-2.2l-9.3-9.1a1.57 1.57 0 010-2.2l2.2-2.2a1.66 1.66 0 012.1 0z"},{d:"M12.3 11.3l13.8 13.5a1.57 1.57 0 010 2.2L12.3 40.5a1.57 1.57 0 01-2.2 0l-2.2-2.2a1.57 1.57 0 010-2.2l9.4-9.1a1.57 1.57 0 000-2.2L8 15.7a1.57 1.57 0 010-2.2l2.2-2.2a1.66 1.66 0 012.1 0z"}]},jump_to_top:{xmlns:"http://www.w3.org/2000/svg",g:{path:[{d:"M11.4 21.6L24.9 7.9c.6-.6 1.6-.6 2.2 0l13.5 13.7c.6.6.6 1.6 0 2.2L38.4 26c-.6.6-1.6.6-2.2 0l-9.1-9.4c-.6-.6-1.6-.6-2.2 0l-9.1 9.3c-.6.6-1.6.6-2.2 0l-2.2-2.2c-.5-.6-.5-1.5 0-2.1z"},{d:"M11.4 39.7L24.9 26c.6-.6 1.6-.6 2.2 0l13.5 13.7c.6.6.6 1.6 0 2.2l-2.2 2.2c-.6.6-1.6.6-2.2 0l-9.1-9.4c-.6-.6-1.6-.6-2.2 0L15.8 44c-.6.6-1.6.6-2.2 0l-2.2-2.2c-.5-.6-.5-1.6 0-2.1z"}]}},justify_text:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M48 6.5c0-.8-.7-1.5-1.5-1.5h-41C4.7 5 4 5.7 4 6.5v3c0 .8.7 1.5 1.5 1.5h41c.8 0 1.5-.7 1.5-1.5v-3zM48 18.5c0-.8-.7-1.5-1.5-1.5h-41c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h41c.8 0 1.5-.7 1.5-1.5v-3zM48 42.5c0-.8-.7-1.5-1.5-1.5h-41c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h41c.8 0 1.5-.7 1.5-1.5v-3zM48 30.5c0-.8-.7-1.5-1.5-1.5h-41c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h41c.8 0 1.5-.7 1.5-1.5v-3z"}},kanban:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M32 17.5c0-.8-.7-1.5-1.5-1.5h-9c-.8 0-1.5.7-1.5 1.5v27c0 .8.7 1.5 1.5 1.5h9c.8 0 1.5-.7 1.5-1.5v-27zM14 17.5c0-.8-.7-1.5-1.5-1.5h-9c-.8 0-1.5.7-1.5 1.5v31c0 .8.7 1.5 1.5 1.5h9c.8 0 1.5-.7 1.5-1.5v-31zM50 17.5c0-.8-.7-1.5-1.5-1.5h-9c-.8 0-1.5.7-1.5 1.5v23c0 .8.7 1.5 1.5 1.5h9c.8 0 1.5-.7 1.5-1.5v-23zM50 3.5c0-.8-.7-1.5-1.5-1.5h-45C2.7 2 2 2.7 2 3.5v5c0 .8.7 1.5 1.5 1.5h45c.8 0 1.5-.7 1.5-1.5v-5z"}},key:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M6.51 12a.77.77 0 011.41.48v.41c0 9 7.09 16.27 15.74 16.27h.71a1.53 1.53 0 011.57 1.06l4.41 12.69a2.13 2.13 0 01-.08 1.22l-2.36 5.45a.77.77 0 01-1 .41l-5.35-2.52a.84.84 0 01-.48-1l.63-2.52a.82.82 0 00-.39-1.06l-1.81-.81a.9.9 0 01-.39-1l.7-2.52a.82.82 0 00-.39-1.06l-1.26-.57a.79.79 0 01-.39-1l.79-2.36a.82.82 0 00-.4-1.06l-2.36-1.06a.8.8 0 01-.41-.45l-.55-1.54a11.11 11.11 0 01-5.43-2.12 11.74 11.74 0 01-4.17-12.55A10.21 10.21 0 016.51 12zm5.55 2.54A11.28 11.28 0 0123.8 2a11.38 11.38 0 0110 7.6 10.64 10.64 0 01.2 6.49l12.7 13.27a1.4 1.4 0 01.48 1.2v5.84a.76.76 0 01-.8.8h-6a.78.78 0 01-.8-.64L39.21 34a.75.75 0 00-.79-.8h-2a.78.78 0 01-.8-.64l-.4-2.56a.76.76 0 00-.8-.8h-1.35a.79.79 0 01-.8-.72L32 26a.76.76 0 00-.8-.8h-2.69A.73.73 0 0128 25l-1.11-1.19a11.17 11.17 0 01-14.78-9.28zM21.6 7.6a4 4 0 000 8 4 4 0 004-4 4 4 0 00-4-4z"}},key_dates:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M46.8 19.6a1.6 1.6 0 011.59 1.45V45.2a4.82 4.82 0 01-4.58 4.8H8.4a4.82 4.82 0 01-4.8-4.59V21.2a1.6 1.6 0 011.45-1.59H46.8zm-21.38 4.63v.11l-2.18 6.86a.53.53 0 01-.54.41h-6.93a.75.75 0 00-.49 1.25l.08.07L20.92 37a.72.72 0 01.25.67v.11l-2.55 7a.68.68 0 001 .83l.08-.06 6-4.45a.7.7 0 01.73-.06l.09.06 6 4.45a.68.68 0 001.07-.67v-.1l-2.64-7a.72.72 0 01.15-.7l.08-.08 5.56-4.09a.74.74 0 00-.31-1.31h-7.04a.67.67 0 01-.6-.31v-.1l-2.1-6.82a.67.67 0 00-1.27-.14zM36.4 2a3.21 3.21 0 013.2 3.2v1.6h4a4.81 4.81 0 014.8 4.8v1.6a1.6 1.6 0 01-1.6 1.6H5.2a1.6 1.6 0 01-1.6-1.6v-1.6a4.81 4.81 0 014.8-4.8h4V5.2a3.2 3.2 0 016.4 0v1.6h14.4V5.2A3.21 3.21 0 0136.4 2z"}},keyboard_dismiss:{xmlns:"http://www.w3.org/2000/svg",path:[{d:"M48 34.066c1.1 0 2-.9 2-2v-26c0-1.1-.9-2-2-2H4c-1.1 0-2 .9-2 2v26c0 1.1.9 2 2 2h44zm-42-4v-22h40v22H6z"},{d:"M13.665 13.398c0 .8-.7 1.5-1.5 1.5h-.998c-.8 0-1.5-.7-1.5-1.5V12.4c0-.8.7-1.5 1.5-1.5h.998c.8 0 1.5.7 1.5 1.5v.998zM19.402 12.4c0-.801-.7-1.5-1.5-1.5h-.998c-.8 0-1.5.699-1.5 1.5v.998c0 .799.7 1.5 1.5 1.5h.998c.8 0 1.5-.701 1.5-1.5V12.4zM30.878 13.398c0 .8-.698 1.5-1.5 1.5h-.998c-.799 0-1.5-.7-1.5-1.5V12.4c0-.8.701-1.5 1.5-1.5h.998c.802 0 1.5.7 1.5 1.5v.998zM25.14 13.398c0 .8-.699 1.5-1.5 1.5h-.998c-.799 0-1.5-.7-1.5-1.5V12.4c0-.8.701-1.5 1.5-1.5h.998c.801 0 1.5.7 1.5 1.5v.998zM42.354 12.4c0-.801-.699-1.5-1.5-1.5h-.998c-.799 0-1.5.699-1.5 1.5v.998c0 .799.701 1.5 1.5 1.5h.998c.801 0 1.5-.701 1.5-1.5V12.4zM36.615 12.4c0-.801-.699-1.5-1.5-1.5h-.998c-.799 0-1.5.699-1.5 1.5v.998c0 .799.701 1.5 1.5 1.5h.998c.801 0 1.5-.701 1.5-1.5V12.4zM13.665 19.402c0 .8-.7 1.5-1.5 1.5h-.998c-.8 0-1.5-.7-1.5-1.5v-.998c0-.8.7-1.5 1.5-1.5h.998c.8 0 1.5.7 1.5 1.5v.998zM19.402 18.404c0-.801-.7-1.5-1.5-1.5h-.998c-.8 0-1.5.699-1.5 1.5v.998c0 .799.7 1.5 1.5 1.5h.998c.8 0 1.5-.701 1.5-1.5v-.998zM30.878 19.402c0 .8-.698 1.5-1.5 1.5h-.998c-.799 0-1.5-.7-1.5-1.5v-.998c0-.8.701-1.5 1.5-1.5h.998c.802 0 1.5.7 1.5 1.5v.998zM25.14 19.402c0 .8-.699 1.5-1.5 1.5h-.998c-.799 0-1.5-.7-1.5-1.5v-.998c0-.8.701-1.5 1.5-1.5h.998c.801 0 1.5.7 1.5 1.5v.998zM42.354 18.404c0-.801-.699-1.5-1.5-1.5h-.998c-.799 0-1.5.699-1.5 1.5v.998c0 .799.701 1.5 1.5 1.5h.998c.801 0 1.5-.701 1.5-1.5v-.998zM36.615 18.404c0-.801-.699-1.5-1.5-1.5h-.998c-.799 0-1.5.699-1.5 1.5v.998c0 .799.701 1.5 1.5 1.5h.998c.801 0 1.5-.701 1.5-1.5v-.998zM13.665 25.408c0 .801-.7 1.5-1.5 1.5h-.998c-.8 0-1.5-.7-1.5-1.5v-.998c0-.8.7-1.5 1.5-1.5h.998c.8 0 1.5.7 1.5 1.5v.998zM36.615 24.41c0-.801-.7-1.5-1.5-1.5H16.904c-.8 0-1.5.699-1.5 1.5v.998c0 .8.7 1.5 1.5 1.5h18.211c.8 0 1.5-.701 1.5-1.5v-.998zM42.354 24.41c0-.801-.699-1.5-1.5-1.5h-.998c-.799 0-1.5.699-1.5 1.5v.998c0 .8.701 1.5 1.5 1.5h.998c.801 0 1.5-.701 1.5-1.5v-.998zM18.116 37.227h15.792c.447 0 .759.58.4.981l-7.718 9.457c-.266.356-.847.356-1.115 0l-7.807-9.457c-.311-.401-.043-.981.448-.981z"}]},keypad:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M8.55 36.91A6.55 6.55 0 112 43.45a6.54 6.54 0 016.55-6.54zm17.45 0a6.55 6.55 0 11-6.55 6.54A6.55 6.55 0 0126 36.91zm17.45 0a6.55 6.55 0 11-6.54 6.54 6.54 6.54 0 016.54-6.54zM8.55 19.45A6.55 6.55 0 112 26a6.55 6.55 0 016.55-6.55zm17.45 0A6.55 6.55 0 1119.45 26 6.56 6.56 0 0126 19.45zm17.45 0A6.55 6.55 0 1136.91 26a6.55 6.55 0 016.54-6.55zM8.55 2A6.55 6.55 0 112 8.55 6.54 6.54 0 018.55 2zM26 2a6.55 6.55 0 11-6.55 6.55A6.55 6.55 0 0126 2zm17.45 0a6.55 6.55 0 11-6.54 6.55A6.55 6.55 0 0143.45 2z","fill-rule":"evenodd"}},knowledge_base:{xmlns:"http://www.w3.org/2000/svg",g:{path:[{d:"M9.5 35h13c.8 0 1.5-.7 1.5-1.5V10c0-1.7-1.8-3-3.2-3H9.5C8.7 7 8 7.7 8 8.5v25c0 .8.7 1.5 1.5 1.5z"},{d:"M49.2 11.6c-.6-.2-1.2.3-1.2 1v24.9c0 .8-.7 1.5-1.5 1.5h-41c-.8 0-1.5-.7-1.5-1.5V12.7c0-.7-.8-1.2-1.4-.9C1.1 12.5 0 14.1 0 16v23c0 2.2 1.8 4 4 4h16.5c.8 0 1.5.7 1.5 1.5s.7 1.5 1.5 1.5h5c.8 0 1.5-.7 1.5-1.5s.7-1.5 1.5-1.5H48c2.2 0 4-1.8 4-4V16c0-2.1-.7-3.9-2.8-4.4z"},{d:"M29.5 35h13c.8 0 1.5-.7 1.5-1.5v-25c0-.8-.7-1.5-1.5-1.5H31.2C29.7 7 28 8.3 28 10v23.5c0 .8.7 1.5 1.5 1.5z"}]}},layers:{xmlns:"http://www.w3.org/2000/svg",path:[{d:"M36 20c0-2.2-1.8-4-4-4H6c-2.2 0-4 1.8-4 4v26c0 2.2 1.8 4 4 4h26c2.2 0 4-1.8 4-4V20z"},{d:"M43 2H17c-3.9 0-7 3.1-7 7v3h26c2.2 0 4 1.8 4 4v26h3c3.9 0 7-3.1 7-7V9c0-3.9-3.1-7-7-7z"}]},layout:{xmlns:"http://www.w3.org/2000/svg",path:[{d:"M48 50H4c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h44c1.1 0 2 .9 2 2v44c0 1.1-.9 2-2 2zM6 46h40V6H6v40z"},{d:"M39 20H13c-.6 0-1-.4-1-1v-6c0-.6.4-1 1-1h26c.6 0 1 .4 1 1v6c0 .6-.4 1-1 1zM19 40h-6c-.6 0-1-.4-1-1V27c0-.6.4-1 1-1h6c.6 0 1 .4 1 1v12c0 .6-.4 1-1 1zM39 40H27c-.6 0-1-.4-1-1V27c0-.6.4-1 1-1h12c.6 0 1 .4 1 1v12c0 .6-.4 1-1 1z"}]},leave_conference:{xmlns:"http://www.w3.org/2000/svg",g:{path:[{d:"M25.7 22.4c-.5.7-.2 1.7.6 2.2 1.6.9 3.4 1.9 4.9 3.3 2.5-1.9 5.5-3 8.8-3.2-1.1-1.9-3.4-3.2-5.8-4.3-2.3-1-2.8-1.9-2.8-3 0-1 .7-1.9 1.4-2.8 1.4-1.3 2.1-3.1 2.1-5.3.1-4-2.2-7.5-6.4-7.5-2.5 0-4.2 1.3-5.4 3.1 2.9 2.2 4.6 6 4.6 10.3-.1 2.8-.8 5.2-2 7.2zM31.8 34.7l6 6-6 6c-.6.6-.6 1.6 0 2.1l.7.7c.6.6 1.6.6 2.1 0l6-6 6 6c.6.6 1.6.6 2.1 0l.7-.7c.6-.6.6-1.6 0-2.1l-6-6 6-6c.6-.6.6-1.6 0-2.1l-.7-.7c-.6-.6-1.6-.6-2.1 0l-6 6-6-6c-.6-.6-1.6-.6-2.1 0l-.7.7c-.5.5-.5 1.5 0 2.1z"},{d:"M28.2 30.7c-1.4-1.4-3.5-2.3-5.6-3.3-2.6-1.1-3-2.2-3-3.3 0-1.1.7-2.3 1.6-3.1 1.5-1.5 2.3-3.6 2.3-6 0-4.5-2.6-8.4-7.2-8.4h-.5c-4.6 0-7.2 3.9-7.2 8.4 0 2.4.8 4.5 2.3 6 .9.8 1.6 1.9 1.6 3.1 0 1.1-.3 2.2-3 3.3-3.8 1.7-7.3 3.4-7.5 7 .2 2.5 1.9 4.4 4.1 4.4h18.6c.5-3.1 1.7-5.9 3.5-8.1z"}]}},left:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M38 8.3v35.4c0 1-1.3 1.7-2.2.9L14.6 27.3c-.8-.6-.8-1.9 0-2.5L35.8 7.3c.9-.7 2.2-.1 2.2 1z"}},left_align:{xmlns:"http://www.w3.org/2000/svg",rect:[{x:"2",y:"2",width:"6.4",height:"48",rx:"1.6"},{"data-name":"Rectangle",x:"11.6",y:"18.8",width:"38.4",height:"14.16",rx:"3.2"}]},left_align_text:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M48 6.5c0-.8-.7-1.5-1.5-1.5h-41C4.7 5 4 5.7 4 6.5v3c0 .8.7 1.5 1.5 1.5h41c.8 0 1.5-.7 1.5-1.5v-3zM40 18.5c0-.8-.7-1.5-1.5-1.5h-33c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h33c.8 0 1.5-.7 1.5-1.5v-3zM40 42.5c0-.8-.7-1.5-1.5-1.5h-33c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h33c.8 0 1.5-.7 1.5-1.5v-3zM48 30.5c0-.8-.7-1.5-1.5-1.5h-41c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h41c.8 0 1.5-.7 1.5-1.5v-3z"}},level_down:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M8 11.9c0-.7-.7-1.5-1.5-1.5h-3c-.8 0-1.5.8-1.5 1.5v16.2c0 .8.8 1.6 1.5 1.6h33.2c.9 0 1.3 1 .7 1.7L31.8 37c-.6.6-.6 1.5 0 2.1l2.1 2.1c.6.6 1.5.6 2.1 0l13.6-13.5c.6-.6.6-1.5 0-2.1L36.1 12.1c-.6-.6-1.5-.6-2.1 0l-2.1 2.1c-.6.6-.6 1.5 0 2.1l5.6 5.6c.6.6.2 1.8-.7 1.8H9.5c-1.6 0-1.5-1.6-1.5-1.6V11.9z"}},level_up:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M3.5 44c-.7 0-1.5.7-1.5 1.5v3c0 .8.8 1.5 1.5 1.5h23.9c.8 0 1.6-.8 1.6-1.5V15.3c0-.9 1-1.3 1.7-.7l5.6 5.6c.6.6 1.5.6 2.1 0l2.1-2.1c.6-.6.6-1.5 0-2.1L27 2.4c-.6-.6-1.5-.6-2.1 0L11.4 15.9c-.6.6-.6 1.5 0 2.1l2.1 2.1c.6.6 1.5.6 2.1 0l5.6-5.6c.6-.6 1.8-.2 1.8.7v27.3c0 1.6-1.6 1.5-1.6 1.5H3.5z"}},light_bulb:{path:{d:"M24.12 2.69A16.11 16.11 0 009.69 17a15.9 15.9 0 005.85 13.65 4.92 4.92 0 011.87 3.82v.08a4 4 0 004.05 4h9a4 4 0 004.05-4v-.08a4.92 4.92 0 011.87-3.82 15.88 15.88 0 005.93-12.24C42.36 9.09 34 1.68 24.12 2.69zM33 43.16H19a1.56 1.56 0 00-1.56 1.56 4.69 4.69 0 004.68 4.68h7.8a4.69 4.69 0 004.68-4.68 1.56 1.56 0 00-1.6-1.56z"}},lightning_extension:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M47.6 37.6c-.5-.1-1.1-.1-1.6-.2-.1 0-.2-.1-.2-.2-.2-.6-.5-1.2-.7-1.7v-.3c.3-.4.7-.9 1-1.3.2-.3.2-.6-.1-.9l-1.8-1.8c-.1-.1-.3-.2-.4-.2s-.3.1-.4.2c-.4.3-.9.7-1.3 1-.1 0-.1.1-.1.1h-.1c-.6-.2-1.1-.5-1.7-.7-.1 0-.2-.1-.2-.2-.1-.5-.1-1-.2-1.5 0-.3-.1-.5-.4-.7-.1-.1-.2-.1-.2-.1h-2.6c-.2 0-.3 0-.4.1-.2.2-.4.4-.4.7 0 .5-.1 1-.2 1.5 0 .1-.1.2-.2.2-.6.2-1.1.5-1.7.7h-.1c-.1 0-.1 0-.2-.1-.4-.3-.8-.7-1.3-1-.1-.1-.2-.2-.4-.2s-.3.1-.5.2L29.4 33c-.3.3-.3.6-.1.9.3.4.7.8 1 1.3.1.1.1.2 0 .3-.2.6-.5 1.1-.7 1.7 0 .1-.1.2-.2.2-.5.1-1 .1-1.5.2-.3 0-.6.2-.7.5v3c.2.3.4.4.7.5.5 0 1 .1 1.5.2.1 0 .2.1.2.2.2.6.5 1.1.7 1.7 0 .1.1.2 0 .3-.3.4-.7.9-1 1.3-.2.3-.2.6.1.9l1.8 1.8c.2.2.3.2.5.2.1 0 .3-.1.4-.2.4-.3.8-.7 1.3-1 .1 0 .1-.1.2-.1h.1c.6.2 1.1.5 1.7.7.1 0 .2.1.2.2.1.5.1 1.1.2 1.6 0 .4.3.6.7.6H39c.4 0 .6-.2.7-.6.1-.5.1-1.1.2-1.6 0-.1.1-.2.2-.2.6-.2 1.2-.5 1.7-.7h.1s.1 0 .1.1c.4.3.9.7 1.3 1 .1.1.3.2.4.2.2 0 .3-.1.5-.2l1.8-1.8c.3-.3.3-.6.1-.9-.3-.4-.7-.8-1-1.3-.1-.1-.1-.2 0-.3.2-.6.5-1.1.7-1.7 0-.1.1-.2.2-.2.5-.1 1.1-.1 1.6-.2.4 0 .6-.3.6-.7v-2.5c0-.5-.2-.7-.6-.8zm-9.8 6s-.1 0 0 0c-2.3 0-4-1.8-4-4s1.8-4 4-4 4 1.8 4 4c-.1 2.2-1.9 4-4 4zM38.7 20.7c-.2-.8-.8-1.3-1.6-1.3h-9.6c-1.2 0-.6-1-.6-1 .2-.4.4-.7.5-1.1 2.2-4.3 4.3-8.6 6.5-12.9.8-1.2 0-2.4-1.4-2.4H14.6c-.9 0-1.3.3-1.7 1.1-3 7.6-6 15.1-8.9 22.7 0 .2-.1.4-.1.5-.1 1 .6 1.7 1.7 1.7h9.7c.7.1 2.1.4 1.4 2.2-1.2 3.1-2.4 6.1-3.6 9.2-1.2 2.8-2.3 5.6-3.4 8.4-.4 1 0 1.9 1 2.2.7.2 1.2-.1 1.7-.6 4-4.2 8-8.4 12-12.7.5-.5.9-1 1.4-1.5.6-.6.5-1.6.5-1.6 0-1 .3-1.9 1.1-2.7l1.8-1.8c.7-.7 1.6-1.1 2.6-1.1.7 0 1.1-.3 1.3-.4l.1-.1c1.7-1.8 3.5-3.7 5.2-5.5.3-.3.5-.8.3-1.3z"}},lightning_inspector:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M40.9 23.6h-.5v-.8c0-5-4.1-9.1-9.1-9.1-2.4 0-4.5.9-6.1 2.4-1.3-3.4-4.6-5.9-8.5-5.9-5 0-9.1 4.1-9.1 9.1 0 1.7.5 3.2 1.2 4.6-4 1-6.9 4.5-6.9 8.8 0 4.9 3.8 8.8 8.7 9h30.2c5 0 9.1-4.1 9.1-9.1s-4-9-9-9zm-24.6.8l7.8-3.7c.3-.2.8-.2 1.1 0l7.8 3.7c.5.2.5.8 0 1.1l-7.8 3.7c-.3.2-.8.2-1.1 0l-7.8-3.7c-.4-.2-.4-.9 0-1.1zm16.8 9.2l-7.8 3.7c-.3.2-.8.2-1.1 0l-7.8-3.7c-.5-.2-.5-.8 0-1.1l1-.5c.1-.1.3-.1.5 0l6.3 3c.3.2.8.2 1.1 0l6.2-3c.1-.1.3-.1.5 0l1 .5c.5.2.5.9.1 1.1zm0-4l-7.8 3.7c-.3.2-.8.2-1.1 0l-7.8-3.7c-.5-.2-.5-.8 0-1.1l1.1-.5c.1-.1.3-.1.5 0l6.2 3c.3.2.8.2 1.1 0l6.2-3c.1-.1.3-.1.5 0l1.1.5c.4.2.4.8 0 1.1z"}},like:{xmlns:"http://www.w3.org/2000/svg",g:{path:{d:"M10.5 21h-5c-.8 0-1.5.7-1.5 1.5v23c0 .8.7 1.5 1.5 1.5H8c2.2 0 4-1.8 4-4V22.5c0-.8-.7-1.5-1.5-1.5zM44 22h-6c-2.2 0-4-1.8-4-4V8c0-2.2-1.8-4-4-4h-2.5c-.8 0-1.5.7-1.5 1.5v6c0 5.3-3.7 10.5-8.5 10.5-.8 0-1.5.7-1.5 1.5v20c0 .8.6 1.5 1.4 1.5 6.8.3 9.1 3 16.2 3 7.5 0 14.4-.8 14.4-9.5V26c0-2.2-1.8-4-4-4z"}}},link:{xmlns:"http://www.w3.org/2000/svg",g:{path:[{d:"M27.2 41.7l-2.1-.3c-.7-.1-1.4-.3-2.1-.6-.4-.1-.9 0-1.2.3l-.5.5c-2.9 2.9-7.6 3.2-10.6.6-3.4-2.9-3.5-8.1-.4-11.2l7.6-7.6c1-1 2.2-1.6 3.4-2 1.6-.4 3.3-.3 4.8.3.9.4 1.8.9 2.6 1.7.4.4.7.8 1 1.3.4.7 1.3.8 1.8.2l2.8-2.8c.4-.4.4-1 .1-1.5-.4-.6-.9-1.1-1.4-1.6-.7-.7-1.5-1.4-2.4-1.9-1.4-.9-3-1.5-4.7-1.8-3.1-.6-6.5-.1-9.3 1.4-1.1.6-2.2 1.4-3.1 2.3l-7.3 7.3C.9 31.6.5 40.2 5.6 45.6c5.3 5.8 14.3 5.9 19.8.4l2.5-2.5c.7-.5.2-1.7-.7-1.8z"},{d:"M45.6 5.8c-5.5-5.1-14.1-4.7-19.3.6L24 8.6c-.7.7-.2 1.9.7 2 1.4.1 2.8.4 4.2.8.4.1.9 0 1.2-.3l.5-.5c2.9-2.9 7.6-3.2 10.6-.6 3.4 2.9 3.5 8.1.4 11.2L34 28.8c-1 1-2.2 1.6-3.4 2-1.6.4-3.3.3-4.8-.3-.9-.4-1.8-.9-2.6-1.7-.4-.4-.7-.8-1-1.3-.4-.7-1.3-.8-1.8-.2l-2.8 2.8c-.4.4-.4 1-.1 1.5.4.6.9 1.1 1.4 1.6.7.7 1.6 1.4 2.4 1.9 1.4.9 3 1.5 4.6 1.8 3.1.6 6.5.1 9.3-1.4 1.1-.6 2.2-1.4 3.1-2.3l7.6-7.6c5.6-5.5 5.4-14.5-.3-19.8z"}]}},linked:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M17.3 36.1l-1.1-1.4s-.7-1-.9-1.6c-.2-.3-.5-.5-.9-.5h-.6c-3.5 0-6.5-2.6-6.7-6-.3-3.8 2.8-6.9 6.5-6.9h9.1c1.2 0 2.3.4 3.2.8 1.2.7 2.2 1.8 2.7 3.1.3.8.5 1.6.5 2.6 0 .5-.1.9-.2 1.4-.2.7.3 1.3 1 1.2h3.4c.5 0 .8-.4 1-.8.1-.6.1-1.2.1-1.8 0-.8-.1-1.7-.3-2.6-.3-1.4-.9-2.7-1.7-3.9-1.5-2.2-3.8-4-6.4-4.7-1-.3-2.2-.5-3.2-.5H14c-6.3 0-11.7 4.9-11.9 11.2-.3 6.6 5 12.1 11.6 12.1h3c.7-.1 1.1-1.1.6-1.7zm32.6-10.5c-.2-6.3-5.6-11.3-11.9-11.2l-2.7-.1c-.8 0-1.3 1-.8 1.6.8.9 1.4 1.9 2 3 .2.3.5.5.9.5h.6c3.5 0 6.5 2.6 6.7 6 .3 3.8-2.8 6.9-6.5 6.9h-9.1c-1.2 0-2.3-.4-3.2-.8-1.2-.7-2.2-1.8-2.7-3.1-.3-.8-.5-1.6-.5-2.6 0-.5.1-.9.2-1.4.2-.7-.3-1.3-1-1.2h-3.4c-.5 0-.8.4-1 .8-.1.6-.1 1.2-.1 1.8 0 .8.1 1.8.3 2.6.3 1.4.9 2.7 1.7 3.8 1.5 2.2 3.8 4 6.4 4.7 1 .3 2.2.5 3.2.5h9.1c6.7.3 12-5.2 11.8-11.8z"}},list:{xmlns:"http://www.w3.org/2000/svg",g:{path:{d:"M8 10.5C8 9.7 7.3 9 6.5 9h-3C2.7 9 2 9.7 2 10.5v3c0 .8.7 1.5 1.5 1.5h3c.8 0 1.5-.7 1.5-1.5v-3zM50 10.5c0-.8-.7-1.5-1.5-1.5h-35c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h35c.8 0 1.5-.7 1.5-1.5v-3zM8 24.5c0-.8-.7-1.5-1.5-1.5h-3c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h3c.8 0 1.5-.7 1.5-1.5v-3zM46 24.5c0-.8-.7-1.5-1.5-1.5h-31c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h31c.8 0 1.5-.7 1.5-1.5v-3zM8 38.5c0-.8-.7-1.5-1.5-1.5h-3c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h3c.8 0 1.5-.7 1.5-1.5v-3zM50 38.5c0-.8-.7-1.5-1.5-1.5h-35c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h35c.8 0 1.5-.7 1.5-1.5v-3z"}}},listen:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M50.6 30.2C50.6 15.8 39.7 4 26.2 4S1.7 15.8 1.7 30.2c0 3.4.6 6.8 1.8 10 1.4 3.9 4.9 6.7 9.1 6.8 1.2 0 2.2-1 2.2-2.2V32.3c0-1.2-1-2.2-2.2-2.2-2.2 0-4.3.8-5.9 2-.1-.7-.1-1.3-.1-2 0-11.8 8.8-21.3 19.6-21.3s19.6 9.6 19.6 21.3c0 .7 0 1.4-.1 2-1.6-1.3-3.6-2.1-5.9-2.1-1.2 0-2.2 1-2.2 2.2v12.4c0 1.2 1 2.2 2.2 2.2 2.4 0 4.9-.9 6.5-2.7 1.7-1.8 2.5-3.8 3.2-6.2.7-2.4 1.1-5 1.1-7.7z"}},live_message:{xmlns:"http://www.w3.org/2000/svg",path:[{d:"M46 2H22c-2.2 0-4 1.8-4 4v.1c3.6.4 6.9 1.7 9.6 3.8h14.8c.8 0 1.6.8 1.6 1.6v27c0 .8-.8 1.4-1.6 1.4h-17c-.8 0-1.4-.6-1.4-1.4v-.1c0-.1-.1-.3-.2-.3-1.7.8-3.6 1.3-5.5 1.5-.2.2-.3.4-.3.9v5.4c0 2.2 1.7 4 3.9 4h24c2.2 0 4.1-1.8 4.1-4V6c0-2.2-1.8-4-4-4zM34 48c-1.7 0-3-1.3-3-3s1.3-3 3-3 3 1.3 3 3-1.3 3-3 3z"},{d:"M2 22.9C2 30 8.3 35.7 15.9 35.8c2.7 0 5.2-.7 7.3-1.9.4-.2.7-.2 1-.1l5 1.9c.5.1.9-.3.8-.8l-1.8-5c-.1-.4-.1-.7.1-1 1.1-1.9 1.7-4 1.7-6.2 0-7-6.2-12.7-14-12.7-7.7 0-13.9 5.7-14 12.9z"}]},location:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M48.8 9.5L34.4 2.3c-.7-.3-1.5-.3-2.1 0L19 9 5.6 2.3c-.8-.4-1.8-.4-2.5.1-.7.4-1.1 1.2-1.1 2v36c0 .9.5 1.7 1.3 2.1l14.4 7.2c.7.3 1.5.3 2.1 0L33.2 43l13.3 6.7c.3.2.7.3 1.1.3.4 0 .9-.1 1.3-.4.7-.4 1.1-1.2 1.1-2v-36c0-.9-.4-1.7-1.2-2.1zM45 14.1v19c0 1.1-1 1.9-2 1.5-3.7-1.4-.7-7.6-3.4-11-2.5-3.1-5.7.1-8.8-4.8-2.9-4.7 1-8.1 4.6-9.9.5-.2 1-.2 1.4 0l7.4 3.7c.6.3.8.9.8 1.5zM24.9 41.9c-.6.3-1.3.2-1.8-.2-1-.9-1.8-2.3-1.8-3.7 0-2.4-4-1.6-4-6.4 0-3.9-4.6-4.9-8.5-4.5-1 .1-1.7-.6-1.7-1.6V10.9c0-1.2 1.2-2 2.2-1.4l8.6 4.3c.1 0 .2.1.2.1l.3.2c3.6 2.1 2.9 3.8 1.4 6.4-1.7 2.9-2.4 0-4.8-.8s-4.8.8-4 2.4 3.2 0 4.8 1.6 1.6 4 6.4 2.4 5.6-.8 7.2.8c1.6 1.6 2.4 4.8 0 7.2-1.4 1.4-2 4.4-2.6 6.4-.1.4-.4.8-.8 1l-1.1.4z"}},location_permit:{xmlns:"http://www.w3.org/2000/svg",path:[{d:"M39.18 11.4l-9.12-9.12a1.1 1.1 0 00-.71-.28 1 1 0 00-1 1v7.26A2.71 2.71 0 0031.06 13h7.26a1 1 0 001-1c.14-.17.14-.31-.14-.6zm.28 7.26A1.42 1.42 0 0038 17.24h-9.65a4.13 4.13 0 01-4.13-4.13V3.42A1.42 1.42 0 0022.8 2H9a4.13 4.13 0 00-4.15 4.13v33.19A4.13 4.13 0 009 43.45h14.1c1.14 0 1.42-.71 1.28-2a13.94 13.94 0 013-10.25c3.42-4 9.12-4.27 10-4.27s2.28 0 2.14-1.29zm-29.77-8l3.42-.43a.14.14 0 00.14-.14L14.82 7a.42.42 0 01.57 0L17 10.12l.14.14 3.42.43a.28.28 0 01.14.43l-2.57 2.56V14l.57 3.42c0 .15-.14.43-.42.29l-3-1.57H15l-3 1.57c-.14.14-.43 0-.43-.29L12 14v-.28l-2.59-2.46a1.09 1.09 0 01.28-.57zm12.54 23.25a1.43 1.43 0 01-1.43 1.42h-9a1.43 1.43 0 01-1.43-1.42v-1.43a1.43 1.43 0 011.43-1.42h9a1.43 1.43 0 011.43 1.42zm7.54-8.41a1.43 1.43 0 01-1.42 1.43H11.83a1.43 1.43 0 01-1.43-1.43v-1.42a1.43 1.43 0 011.43-1.43h16.66a1.43 1.43 0 011.43 1.43v1.42zM37.32 37a2 2 0 102 2 2.14 2.14 0 00-2-2z"},{"data-name":"Shape",d:"M37.32 30.34a9.83 9.83 0 109.83 9.83 10 10 0 00-9.83-9.83zM37.61 46a.44.44 0 01-.61 0c-1-.85-4.42-3.7-4.42-7A4.7 4.7 0 0142 39c-.12 3.31-3.39 6.16-4.39 7z"}]},lock:{xmlns:"http://www.w3.org/2000/svg",g:{path:{d:"M11 19h4c.6 0 1-.3 1-.9V18c0-5.7 4.9-10.4 10.7-10 5.3.4 9.3 5 9.3 10.4v-.3c0 .6.4.9 1 .9h4c.6 0 1-.3 1-.9V18c0-9.1-7.6-16.4-16.8-16-8.5.4-15 7.6-15.2 16.1.1.5.5.9 1 .9zM10 18.1v0zM46 27c0-2.2-1.8-4-4-4H10c-2.2 0-4 1.8-4 4v19c0 2.2 1.8 4 4 4h32c2.2 0 4-1.8 4-4V27zM30.6 42.7c.2.6-.3 1.3-1 1.3h-7.3c-.7 0-1.1-.6-1-1.3l1.8-6c-1.5-1-2.4-2.8-2.1-4.8.4-1.9 1.9-3.4 3.9-3.8 3.2-.6 6 1.7 6 4.7 0 1.6-.8 3.1-2.1 3.9l1.8 6z"}}},locker_service_api_viewer:{xmlns:"http://www.w3.org/2000/svg",g:{path:{d:"M18 38.5c0 .8.7 1.5 1.5 1.5h2.6c-.1-.7-.1-1.3-.1-2 0-1.4.2-2.7.5-4h-3c-.8 0-1.5.7-1.5 1.5v3zM28.5 14h-9c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h9c.8 0 1.5-.7 1.5-1.5v-3c0-.8-.7-1.5-1.5-1.5zM3.5 10h41c.8 0 1.5-.7 1.5-1.5v-5c0-.8-.7-1.5-1.5-1.5h-41C2.7 2 2 2.7 2 3.5v5c0 .8.7 1.5 1.5 1.5zM44.5 20c.8 0 1.5-.7 1.5-1.5v-3c0-.8-.7-1.5-1.5-1.5h-9c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h9zM18 28.5c0 .8.7 1.5 1.5 1.5h4.6c1.3-2.3 3.2-4.2 5.4-5.6-.3-.3-.6-.4-1-.4h-9c-.8 0-1.5.7-1.5 1.5v3zM12.5 14h-9c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h9c.8 0 1.5-.7 1.5-1.5v-3c0-.8-.7-1.5-1.5-1.5zM23.1 44h-3.6c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h7.9c-1.9-1.6-3.3-3.7-4.3-6zM12.5 34h-9c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h9c.8 0 1.5-.7 1.5-1.5v-3c0-.8-.7-1.5-1.5-1.5zM12.5 44h-9c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h9c.8 0 1.5-.7 1.5-1.5v-3c0-.8-.7-1.5-1.5-1.5zM12.5 24h-9c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h9c.8 0 1.5-.7 1.5-1.5v-3c0-.8-.7-1.5-1.5-1.5zM37.9 26.1c-6.6 0-12 5.4-12 12s5.4 12 12 12 12-5.4 12-12-5.4-12-12-12zm7.9 8.5l-9.6 9.7c-.2.2-.5.2-.7 0l-5.6-5.6c-.2-.2-.2-.5 0-.7l2.1-2.1c.2-.2.5-.2.7 0l2.9 2.9c.1.1.4.1.5 0l6.9-7c.2-.2.5-.2.7 0l2.1 2.1c.3.2.3.5 0 .7z"}}},locker_service_console:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M47.7 9.1c-.9-2.2-2-4.2-3.3-6.1-.6-.8-1.7-.9-2.3-.2-1.9 1.8-4.6 2.8-7.4 2.8-3 0-5.7-1.2-7.7-3.2-.6-.6-1.6-.6-2.2 0-2 2-4.7 3.2-7.7 3.2-2.8 0-5.4-1-7.4-2.8-.7-.6-1.8-.5-2.3.2C6.1 4.8 5 6.9 4.1 9.1c0 0-2.4 4.9-2 13V22.9c0 .4.1.8.1 1.2v.1C3.6 37.6 13.5 48.3 26 50c12.6-1.8 22.4-12.5 23.8-25.9v-.3c0-.2 0-.5.1-.8.7-8.6-2.2-13.9-2.2-13.9zm-6.8 10.3L24.3 36.3c-.4.4-.9.4-1.3 0l-9.7-9.8c-.4-.4-.4-.9 0-1.3l1.3-1.3c.4-.4.9-.4 1.3 0l7.3 7.4c.2.2.6.2.9 0l14.3-14.4c.4-.4.9-.4 1.3 0l1.3 1.3c.3.3.3.9-.1 1.2z"}},log_a_call:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M43 2H13.5c-2.6 0-4.8 2.4-4.8 4.8v1.6H7.1C5.4 8.4 4 9.8 4 11.6s1.4 3.2 3.1 3.2h1.6v8H7.1C5.4 22.8 4 24.2 4 26s1.4 3.2 3.1 3.2h1.6v8H7.1c-1.7 0-3.1 1.4-3.1 3.2 0 1.8 1.4 3.2 3.1 3.2h1.6v1.6c0 2.4 2.2 4.8 4.8 4.8H43c2.6 0 5-2.4 5-5V6.6C48 3.9 45.6 2 43 2zm-2.8 32.2L38 36.5c-.5.5-1.2.8-1.8.7-5.2-.3-10-2.7-13.5-6.2s-5.8-8.5-6.1-13.8c0-.7.2-1.4.7-1.8l2.2-2.2c1-1 2.7-1 3.6.2l2 2.6c.7.9.7 2.1.1 3l-1.7 2.5c-.2.3-.2.8.1 1l3.6 4.1 4 3.7c.3.3.7.3 1 .1l2.4-1.8c.9-.6 2.1-.6 3 .1l2.5 2.1c1.1.6 1.1 2.4.1 3.4z"}},logout:{xmlns:"http://www.w3.org/2000/svg",g:{path:[{d:"M21 48.5v-3c0-.8-.7-1.5-1.5-1.5h-10c-.8 0-1.5-.7-1.5-1.5v-33C8 8.7 8.7 8 9.5 8h10c.8 0 1.5-.7 1.5-1.5v-3c0-.8-.7-1.5-1.5-1.5H6C3.8 2 2 3.8 2 6v40c0 2.2 1.8 4 4 4h13.5c.8 0 1.5-.7 1.5-1.5z"},{d:"M49.6 27c.6-.6.6-1.5 0-2.1L36.1 11.4c-.6-.6-1.5-.6-2.1 0l-2.1 2.1c-.6.6-.6 1.5 0 2.1l5.6 5.6c.6.6.2 1.7-.7 1.7H15.5c-.8 0-1.5.6-1.5 1.4v3c0 .8.7 1.6 1.5 1.6h21.2c.9 0 1.3 1.1.7 1.7l-5.6 5.6c-.6.6-.6 1.5 0 2.1l2.1 2.1c.6.6 1.5.6 2.1 0L49.6 27z"}]}},loop:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M47.2 32.6c0 .1 0 .1-.1.2-.3.9-.5 1.8-.9 2.6-.4.9-.8 1.9-1.3 2.7-1 1.8-2.2 3.4-3.6 4.8s-3 2.7-4.7 3.7c-1.7 1-3.6 1.9-5.6 2.4-2 .6-4.1.8-6.2.8C12.3 50 2 39.7 2 27.1S12.3 4.2 24.9 4.2c4.3 0 8.3 1.2 11.7 3.2 1.7 1 3.2 2.2 4.5 3.5.4.3.7.6 1 1 .8.6 1.3.2 1.3-.8V3.6c0-.8.8-1.6 1.6-1.6h3.2c.9 0 1.6.8 1.7 1.6v19.6c0 .8-.6 1.4-1.4 1.4H28.9c-.9 0-1.5-.6-1.5-1.5v-3.3c0-.9.8-1.6 1.6-1.6h7.5c.6 0 1.2-.2 1.4-.5-2.9-4-7.6-6.6-13-6.6-8.9 0-16 7.2-16 16s7.2 16 16 16c7 0 12.9-4.4 15.1-10.6 0 0 .3-1.4 1.4-1.4H46c.7 0 1.3.5 1.3 1.2-.1.1-.1.2-.1.3z"}},lower_flag:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M6.6 2h-3c-.8 0-1.5.7-1.5 1.5v45c0 .8.7 1.5 1.5 1.5h3c.8 0 1.5-.7 1.5-1.5v-45c0-.8-.7-1.5-1.5-1.5zM40.6 24.6c2.7 0 5.2.7 7.5 1.9V6.6c0-.7-.8-1.2-1.5-.8-16 8.4-14.2-8.8-33.5-2.1-.6.2-1 .8-1 1.4v23.3c0 .7.7 1.2 1.3.9 7.7-2.6 11.9-1.3 15.4.6 2.9-3.3 7.1-5.3 11.8-5.3zM31.8 34.6l6 6-6 6c-.6.6-.6 1.6 0 2.1l.7.7c.6.6 1.6.6 2.1 0l6-6 6 6c.6.6 1.6.6 2.1 0l.7-.7c.6-.6.6-1.6 0-2.1l-6-6 6-6c.6-.6.6-1.6 0-2.1l-.7-.7c-.6-.6-1.6-.6-2.1 0l-6 6-6-6c-.6-.6-1.6-.6-2.1 0l-.7.7c-.6.5-.6 1.5 0 2.1z"}},macros:{xmlns:"http://www.w3.org/2000/svg",path:[{d:"M37.2 40.2c-.2.4-.6.5-1 .5h-4.7c-.4 0-.7-.3-.7-.7 0-.1.1-.3.1-.4l.1-.1.2-.2 10.3-12.5c.3-.4.4-1 .2-1.4 0-.1-.1-.2-.1-.2L30.9 12.5c-.1-.1-.1-.3-.1-.4 0-.4.4-.7.7-.7h4.7c.4 0 .8.1 1 .5l11.1 13.4c.2.2.2.5.2.7 0 .3-.1.6-.2.8L37.2 40.2z"},{d:"M25.6 40.2c-.2.4-.6.5-1 .5h-4.7c-.4 0-.7-.3-.7-.7 0-.1.1-.3.1-.4l.1-.1.2-.2 10.3-12.5c.3-.4.4-1 .2-1.4 0-.1-.1-.2-.1-.2L19.3 12.5c-.1-.1-.1-.3-.1-.4 0-.4.4-.7.7-.7h4.7c.4 0 .8.1 1 .5l11.1 13.4c.2.2.2.5.2.7 0 .3-.1.6-.2.8L25.6 40.2z"},{d:"M14 40.2c-.2.4-.6.5-1 .5H4.2c-.4 0-.7-.3-.7-.7 0-.1.1-.3.1-.4l.1-.1.2-.2 10.3-12.5c.3-.4.4-1 .2-1.4 0-.1-.1-.2-.1-.2L3.6 12.5c-.1-.1-.1-.3-.1-.4 0-.4.4-.7.7-.7h8.7c.4 0 .8.1 1 .5L25 25.3c.2.2.2.5.2.7 0 .3-.1.6-.2.8L14 40.2z"}]},magicwand:{xmlns:"http://www.w3.org/2000/svg",g:{path:{d:"M28.2 21c-.4-.4-1-.4-1.4 0L2.9 44.9c-1.2 1.2-1.2 3 0 4.2 1.2 1.2 3 1.2 4.2 0L31 25.2c.4-.4.4-1 0-1.4L28.2 21zM35.2 21l3.2-3.2c.6-.6.6-1.5 0-2.1l-2.1-2.1c-.6-.6-1.5-.6-2.1 0L31 16.8c-.4.4-.4 1 0 1.4l2.8 2.8c.4.4 1 .4 1.4 0zM10.4 11.6c3.8 1.2 6.8 4.1 8 8 .2.6 1 .6 1.2 0 1.2-3.8 4.1-6.8 8-8 .6-.2.6-1 0-1.2-3.8-1.2-6.8-4.1-8-8-.2-.6-1-.6-1.2 0-1.2 3.8-4.1 6.8-8 8-.5.2-.5 1 0 1.2zM49.6 30.5c-3.4-1.1-6-3.7-7.1-7.1-.2-.5-.9-.5-1.1 0-1.1 3.4-3.7 6-7.1 7.1-.5.2-.5.9 0 1.1 3.4 1.1 6 3.7 7.1 7.1.2.5.9.5 1.1 0 1.1-3.4 3.7-6 7.1-7.1.5-.2.5-1 0-1.1zM38.3 8.4c2.6.8 4.5 2.7 5.3 5.3.1.4.7.4.8 0 .8-2.6 2.7-4.5 5.3-5.3.4-.1.4-.7 0-.8-2.6-.8-4.5-2.7-5.3-5.3-.1-.4-.7-.4-.8 0-.8 2.6-2.7 4.5-5.3 5.3-.4.1-.4.7 0 .8z"}}},mark_all_as_read:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M24 7l-1.7-1.7c-.5-.5-1.2-.5-1.7 0L10 15.8l-4.3-4.2c-.5-.5-1.2-.5-1.7 0l-1.7 1.7c-.5.5-.5 1.2 0 1.7l5.9 5.9c.5.5 1.1.7 1.7.7.6 0 1.2-.2 1.7-.7L24 8.7c.4-.4.4-1.2 0-1.7zM48.4 18.4H27.5c-.9 0-1.6-.7-1.6-1.6v-3.2c0-.9.7-1.6 1.6-1.6h20.9c.9 0 1.6.7 1.6 1.6v3.2c0 .9-.7 1.6-1.6 1.6zM48.4 32.7H9.8c-.9 0-1.6-.7-1.6-1.6v-3.2c0-.9.7-1.6 1.6-1.6h38.6c.9 0 1.6.7 1.6 1.6v3.2c0 .9-.7 1.6-1.6 1.6zM48.4 47H9.8c-.9 0-1.6-.7-1.6-1.6v-3.2c0-.9.7-1.6 1.6-1.6h38.6c.9 0 1.6.7 1.6 1.6v3.2c0 .9-.7 1.6-1.6 1.6z"}},matrix:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M48 3.5c0-.8-.7-1.5-1.5-1.5h-31c-.8 0-1.5.7-1.5 1.5v5c0 .8.7 1.5 1.5 1.5h31c.8 0 1.5-.7 1.5-1.5v-5zM10 15.5c0-.8-.7-1.5-1.5-1.5h-3c-.8 0-1.5.7-1.5 1.5v13c0 .8.7 1.5 1.5 1.5h3c.8 0 1.5-.7 1.5-1.5v-13zM10 35.5c0-.8-.7-1.5-1.5-1.5h-3c-.8 0-1.5.7-1.5 1.5v13c0 .8.7 1.5 1.5 1.5h3c.8 0 1.5-.7 1.5-1.5v-13zM29 15.5c0-.8-.7-1.5-1.5-1.5h-12c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h12c.8 0 1.5-.7 1.5-1.5v-3zM48 15.5c0-.8-.7-1.5-1.5-1.5h-12c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h12c.8 0 1.5-.7 1.5-1.5v-3zM29 25.5c0-.8-.7-1.5-1.5-1.5h-12c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h12c.8 0 1.5-.7 1.5-1.5v-3zM48 25.5c0-.8-.7-1.5-1.5-1.5h-12c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h12c.8 0 1.5-.7 1.5-1.5v-3zM29 35.5c0-.8-.7-1.5-1.5-1.5h-12c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h12c.8 0 1.5-.7 1.5-1.5v-3zM48 35.5c0-.8-.7-1.5-1.5-1.5h-12c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h12c.8 0 1.5-.7 1.5-1.5v-3zM29 45.5c0-.8-.7-1.5-1.5-1.5h-12c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h12c.8 0 1.5-.7 1.5-1.5v-3zM48 45.5c0-.8-.7-1.5-1.5-1.5h-12c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h12c.8 0 1.5-.7 1.5-1.5v-3z"}},meet_content_source:{xmlns:"http://www.w3.org/2000/svg",g:{path:[{d:"M46.31 7.54H5.69A3.69 3.69 0 002 11.23v29.54a3.69 3.69 0 003.69 3.69h40.62A3.69 3.69 0 0050 40.77V11.23a3.69 3.69 0 00-3.69-3.69zm0 32.31a.93.93 0 01-.93.92H6.62a.93.93 0 01-.93-.92V14a.93.93 0 01.93-.92h38.76a.93.93 0 01.93.92z"},{d:"M26.52 17a.7.7 0 00-1-.1.47.47 0 00-.1.1l-6.57 7.12a.88.88 0 000 1.19L20 26.52a.71.71 0 001 .1l.1-.1 2.42-2.61a.57.57 0 01.81 0 .56.56 0 01.15.37v10.16a.8.8 0 00.72.85h1.59a.87.87 0 00.83-.85V24.26a.53.53 0 01.9-.4l2.42 2.66a.87.87 0 001.15 0l1.1-1.18a.88.88 0 000-1.19z"}]}},meet_focus_content:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M9.9 27.41a4.29 4.29 0 014.29 4.29v.38a4.47 4.47 0 01-1.42 3.35 2.48 2.48 0 00-.94 1.81c0 .58.24 1.16 1.5 1.81l1.29.58c1.81.89 3.39 1.81 3.44 3.62A2.39 2.39 0 0116 45.52H4.05a2.39 2.39 0 01-2.3-2.45c0-1.72 1.59-2.73 3.44-3.62l.67-.29.33-.16C7.76 38.35 8 37.78 8 37.2a2.73 2.73 0 00-.94-1.81A4.46 4.46 0 015.64 32a4.3 4.3 0 013.94-4.62zM46.13 7.48a3.62 3.62 0 013.62 3.62v27.17a3.63 3.63 0 01-3.62 3.63H20.64A5.43 5.43 0 0018 38.27h27.15a.9.9 0 00.9-.9V13.82a.9.9 0 00-.9-.9H8.92a.9.9 0 00-.9.9H8v11.09a6.51 6.51 0 00-3.63 2.37V11.1A3.63 3.63 0 018 7.48z","fill-rule":"evenodd"}},meet_focus_equal:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M46.31 11.23A3.69 3.69 0 0150 14.92v22.16a3.69 3.69 0 01-3.69 3.69H19.43a5.65 5.65 0 005.28-3.69h20.67a.93.93 0 00.93-.93V17.69a.93.93 0 00-.93-.92H19a7.75 7.75 0 00-6.8-3.69h-.42a3.7 3.7 0 013.19-1.85zm-34.16 4.62a5.28 5.28 0 015.34 5.22 4.18 4.18 0 010 .5 5.44 5.44 0 01-1.75 4.1 2.94 2.94 0 00-1.18 2.18c0 .7.31 1.4 1.84 2.16l1.07.48.7.33.69.33c1.84 1 3.36 2.16 3.41 3.93a2.93 2.93 0 01-2.6 3H4.88a2.92 2.92 0 01-2.88-3V35c0-2 1.74-3.18 3.82-4.17l.67-.3 1-.44c2-.83 2.23-1.52 2.23-2.33a3.25 3.25 0 00-1.18-2.1 5.41 5.41 0 01-1.84-4.1 5.28 5.28 0 014.81-5.71 5.86 5.86 0 01.64 0z","fill-rule":"evenodd"}},meet_focus_presenter:{xmlns:"http://www.w3.org/2000/svg",g:{"fill-rule":"evenodd",path:{d:"M47.6 27.92H32.27a2.86 2.86 0 00-2.87 2.87v11.5a2.87 2.87 0 002.87 2.88H47.6a2.88 2.88 0 002.88-2.88v-11.5a2.87 2.87 0 00-2.88-2.87zm1 14.37a1 1 0 01-1 1H32.27a1 1 0 01-1-1v-9.58a1 1 0 011-1H47.6a1 1 0 011 1zM27.48 16.74c0-5.31-3.13-9.91-8.63-9.91s-8.62 4.6-8.62 9.91a9.71 9.71 0 002.82 7.08A5.71 5.71 0 0115 27.48c0 1.41-.46 2.58-3.6 4-4.49 2-8.76 4.26-8.87 8.49a4.91 4.91 0 004.64 5.19h20.12a5.73 5.73 0 01-.77-2.88V31.6l-.25-.12c-3-1.42-3.6-2.7-3.6-4a5.27 5.27 0 011.91-3.66 9.75 9.75 0 002.9-7.08z"}}},meet_present_panel:{xmlns:"http://www.w3.org/2000/svg",g:{path:{d:"M31.54 4H10.17a4.15 4.15 0 00-4 3.93H4.82a2.69 2.69 0 00-2.69 2.68 2.62 2.62 0 002.67 2.53h1.34v5.33H4.82a2.62 2.62 0 10-.44 5.23 1.62 1.62 0 00.44 0h1.32V29H4.82a2.68 2.68 0 00-2.69 2.65 2.63 2.63 0 002.63 2.63h1.38a3.67 3.67 0 003.39 3.94 3.42 3.42 0 00.64 0H26V37a13.46 13.46 0 019.56-13V7.88A4 4 0 0031.54 4zm-8.62 25.68A1.35 1.35 0 0121.53 31H13.6a1.36 1.36 0 01-1.43-1.29v-1.34a1.37 1.37 0 011.41-1.31h7.91a1.35 1.35 0 011.43 1.28v1.33zm5.14-7.94c0 .73-.77 1.3-1.83 1.3h-12.3c-1 0-1.83-.57-1.83-1.3v-1.25c0-.74.77-1.31 1.83-1.31H26.3c1 0 1.84.57 1.84 1.31zm3.15-7.94a1.45 1.45 0 01-1.58 1.3H13.75a1.45 1.45 0 01-1.58-1.3v-1.31a1.45 1.45 0 011.57-1.32h16a1.45 1.45 0 011.58 1.31zM49.77 32.23a1.3 1.3 0 00-1.23-1.32H37.9a1.3 1.3 0 00-.9.36 1.34 1.34 0 00-.37.74v1.52a1.27 1.27 0 001.23 1.31h5.51l-9.74 10a1.34 1.34 0 000 1.84l.89.92a1.34 1.34 0 001 .4 1.18 1.18 0 00.83-.35l9.74-10.05v5.51a1.3 1.3 0 00.36.94 1.24 1.24 0 00.9.39h1.36a1.21 1.21 0 00.92-.37 1.36 1.36 0 00.37-.7v-.17z"}}},merge:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M42.3 44c-5.6-2.7-9.6-7.5-11.6-13-.8-2-1.3-4.3-1.5-6.3v-3.5H40c.8 0 1.4-.9.8-1.8l-14.2-17c-.5-.6-1.6-.6-2 0l-13.8 17c-.5.6 0 1.8.8 1.8h10.9v3.5c-.3 2.1-.8 4.4-1.5 6.3-2 5.5-6 10.3-11.6 13-.8.3-1.1 1.3-.8 2l1.3 3.1c.4.8 1.3 1.1 2.1.6 6-2.9 10.8-7.5 13.7-13 3 5.5 7.7 10.1 13.8 13 .8.4 1.8.3 2.1-.6l1.3-3.1c.6-.7.2-1.6-.6-2z"}},merge_field:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M16.5 39.9h-.7c-2.3 0-3.2-1.3-3.2-3.5 0-1 .1-1.9.3-2.9.2-1 .3-2 .3-3.1 0-2.6-1.1-4-2.9-4.4 1.8-.5 2.9-1.8 2.9-4.4 0-1.1-.1-2.1-.3-3.1-.2-1-.3-1.9-.3-2.9 0-2.2.8-3.5 3.2-3.5h.7c.6 0 1.1-.5 1.1-1.1 0-.6-.5-1.1-1.1-1.1h-3.8c-3.4 0-5.9 1.6-5.9 5.3 0 1.1.2 2.2.3 3.4.2 1.1.3 2.3.3 3.4 0 1.3-.3 2.7-2.5 2.9h-.1c-.6 0-1.1.5-1.1 1.1s.5 1 1.1 1.1H5c2.2.3 2.5 1.8 2.5 2.9 0 1.1-.2 2.2-.3 3.3s-.3 2.2-.3 3.3c0 4.1 2.5 5.5 5.9 5.5h3.8c.6 0 1.1-.5 1.1-1.1-.1-.6-.6-1.1-1.2-1.1zM35.5 39.9h.7c2.3 0 3.2-1.3 3.2-3.5 0-1-.1-1.9-.3-2.9-.2-1-.3-2-.3-3.1 0-2.6 1.1-4 2.9-4.4-1.8-.5-2.9-1.8-2.9-4.4 0-1.1.1-2.1.3-3.1.2-1 .3-1.9.3-2.9 0-2.2-.8-3.5-3.2-3.5h-.7c-.6 0-1.1-.5-1.1-1.1 0-.6.5-1.1 1.1-1.1h3.8c3.4 0 5.9 1.6 5.9 5.3 0 1.1-.2 2.2-.3 3.4-.2 1.1-.3 2.3-.3 3.4 0 1.3.3 2.7 2.5 2.9h.1c.6 0 1.1.5 1.1 1.1s-.5 1-1.1 1.1H47c-2.2.3-2.5 1.8-2.5 2.9 0 1.1.2 2.2.3 3.3s.3 2.2.3 3.3c0 4.1-2.5 5.5-5.9 5.5h-3.8c-.6 0-1.1-.5-1.1-1.1.1-.6.6-1.1 1.2-1.1z"}},metrics:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M44.9 2H7.1C4.3 2 2 4.3 2 7.1v37.7C2 47.7 4.3 50 7.1 50h37.7c2.8 0 5.1-2.3 5.1-5.1V7.1c.1-2.8-2.2-5.1-5-5.1zM15.7 39.7c0 .9-.8 1.7-1.7 1.7h-1.7c-.9 0-1.7-.8-1.7-1.7v-9.4c0-.9.8-1.7 1.7-1.7H14c.9 0 1.7.8 1.7 1.7v9.4zm8.6 0c0 .9-.8 1.7-1.7 1.7h-1.7c-.9 0-1.7-.8-1.7-1.7V17.4c0-.9.8-1.7 1.7-1.7h1.7c.9 0 1.7.8 1.7 1.7v22.3zm8.6 0c0 .9-.8 1.7-1.7 1.7h-1.7c-.9 0-1.7-.8-1.7-1.7V12.3c0-.9.8-1.7 1.7-1.7h1.7c.9 0 1.7.8 1.7 1.7v27.4zm8.5 0c0 .9-.8 1.7-1.7 1.7H38c-.9 0-1.7-.8-1.7-1.7V23.4c0-.9.8-1.7 1.7-1.7h1.7c.9 0 1.7.8 1.7 1.7v16.3z"}},middle_align:{xmlns:"http://www.w3.org/2000/svg",rect:[{x:"22",y:"2",width:"6.4",height:"48",rx:"1.6"},{"data-name":"Rectangle",x:"2",y:"19",width:"48",height:"14.4",rx:"3.2"}]},minimize_window:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M50 48.5c0 .8-.7 1.5-1.5 1.5h-45c-.8 0-1.5-.7-1.5-1.5v-3c0-.8.7-1.5 1.5-1.5h45c.8 0 1.5.7 1.5 1.5v3z"}},missed_call:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M34.7 40.3c.7 0 1.2.5 1.4 1.1l.8 5.4c.2 1.5 1.4 2.6 2.9 2.8l6.5.7c2 .2 3.7-1.3 3.7-3.3v-6.2c0-1-.4-1.8-1.1-2.5-6.4-5.8-14.9-8.8-23-8.8s-16.6 3-23 8.8c-.6.6-.9 1.6-.9 2.5V47c-.2 2 1.5 3.6 3.5 3.3l6.5-.7c1.5-.2 2.7-1.3 2.9-2.8l.8-5.4c.1-.7.7-1.1 1.4-1.1 0 0 8.4-.7 17.6 0zM39.7 12.6c.5-.5 1.4-.1 1.4.6v6.7c0 .7.5 1.2 1.2 1.2h2.5c.7 0 1.2-.5 1.2-1.2l.1-16.1c0-.7-.5-1.2-1.2-1.2h-16c-.7 0-1.2.5-1.2 1.2v2.5c0 .7.5 1.2 1.2 1.2h6.7c.7 0 1.1.9.6 1.4l-9.4 9.4c-.3.3-.9.3-1.3 0L10.1 3c-.5-.5-1.3-.5-1.8 0L6.4 4.8c-.5.5-.5 1.3 0 1.9l18.8 18.9c.5.6 1.3.6 1.9 0l12.6-13z"}},money:{xmlns:"http://www.w3.org/2000/svg",path:[{d:"M30.1 26.1c0-2.3 1.4-4.3 3.3-5.3-.3-3.9-3.5-6.9-7.5-6.9-4.1 0-7.5 3.4-7.5 7.5s3.4 7.5 7.5 7.5c1.5 0 3-.5 4.1-1.3v-1.5z"},{d:"M30.1 36.4v-1.9c0-.7.1-1.3.3-1.9H12.8c0-2.9-2.3-5.3-5.3-5.3V16.1c2.9 0 5.3-2.3 5.3-5.3h26.3c0 2.9 2.3 5.3 5.3 5.3v4h3.8c.7 0 1.3.1 1.9.3V9.7c0-2.5-2-4.5-4.5-4.5H6.5C4 5.2 2 7.2 2 9.7v24.2c0 2.5 2 4.5 4.5 4.5h24c-.2-.6-.4-1.3-.4-2zM50 44.9c0 1-1 1.9-2 1.9H36c-1 0-1.9-.9-1.9-1.9V43c0-1 .9-1.9 1.9-1.9h12.1c1 0 1.9.9 1.9 1.9v1.9z"},{d:"M50 36.5c0 1-1 1.9-2 1.9H36c-1 0-1.9-.9-1.9-1.9v-1.9c0-1 .9-1.9 1.9-1.9h12.1c1 0 1.9.9 1.9 1.9v1.9zM50 28c0 1-1 1.9-2 1.9H36c-1 0-1.9-.9-1.9-1.9v-1.9c0-1 .9-1.9 1.9-1.9h12.1c1 0 1.9.9 1.9 1.9V28z"}]},moneybag:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M20.5 9.1c.2.6.8.9 1.4.9H30c.6 0 1.2-.3 1.4-.9l3.2-5.9c.2-.6-.2-1.2-.8-1.2H18.2c-.6 0-1 .6-.7 1.1l3 6zM30.7 14.7h-9.4C13.4 14.7 7 21.2 7 29.2v16c0 2.6 2.1 4.8 4.8 4.8h28.4c2.6 0 4.8-2.2 4.8-4.8v-16c0-8-6.5-14.5-14.3-14.5zm-2.3 27v2.7c0 .5-.5.8-1 .8h-3.2c-.5 0-.6-.3-.6-.8v-2.6c-2.4-.5-4.4-1.5-4.9-2-.6-.6-.8-1.1-.3-1.8l1-1.6c.2-.4.7-.6 1.2-.6.3 0 .6.1.8.2h.1c1.6 1 3 1.4 4 1.4 1.1 0 2-.6 2-1.2 0-.5-.3-1.3-3.3-2.3-2.7-1-6-2.6-6-6.3 0-2.2 1.4-4.7 5.4-5.5v-2.4c0-.5.2-.8.6-.8h3.2c.5 0 1 .3 1 .8V22c1.6.4 3.3 1.2 3.9 1.6.3.2.5.6.6 1 .1.4-.1.8-.3 1L31.2 27c-.3.4-.9.7-1.3.7-.2 0-.5-.1-.7-.2-1.6-.9-2.9-1.4-3.8-1.4-1.3 0-1.9.6-1.9 1 0 .6.3 1.2 3 2.2 3.3 1.1 7 2.9 7 6.7.1 2.6-2 4.9-5.1 5.7z"}},monthlyview:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M44 7h-5V5c0-1.6-1.3-3-3-3-1.6 0-3 1.3-3 3v2H19V5c0-1.6-1.3-3-3-3-1.6 0-3 1.3-3 3v2H8c-2.2 0-4 1.8-4 4v2.5c0 .8.7 1.5 1.5 1.5h41c.8 0 1.5-.7 1.5-1.5V11c0-2.2-1.8-4-4-4zM46.5 20h-41c-.8 0-1.5.7-1.5 1.5V46c0 2.2 1.8 4 4 4h36c2.2 0 4-1.8 4-4V21.5c0-.8-.7-1.5-1.5-1.5zM21.1 44c-2.4 0-5.1-.9-5.9-2.2-.1-.2-.2-.4-.2-.7 0-.9.8-1.6 1.6-1.6.3 0 .6.1.9.2 1.1.6 2.4 1 3.5 1 2 0 3.1-.9 3.1-2.1 0-1.3-1-1.9-3.3-1.9-1.3.2-2.2-.4-2.2-1.6 0-.9.6-1.5 1.6-1.5 2.1.1 3.6-.4 3.6-1.8 0-1.3-1.3-1.9-3-1.9-1.1 0-2.2.3-3.2.9-.2.2-.5.2-.8.2-.8 0-1.5-.6-1.5-1.5 0-.4.2-.8.5-1.1 1.3-1.1 3.1-1.8 5.4-1.8 3.8 0 6.2 1.7 6.2 4.5 0 2.1-1.8 3.4-3.6 3.8 1.7.2 3.8 1.5 3.8 3.9C27.5 42 25 44 21.1 44zM37 42.1c0 .9-.5 1.9-1.5 1.9-.9 0-1.5-.9-1.5-1.9V31.8l-2.1 1.9c-.3.3-.7.4-1.1.4-.8 0-1.5-.6-1.5-1.5 0-.4.1-.7.4-1l3.8-3.8c.4-.4.9-.7 1.5-.7 1.1 0 2 1 2 2.1v12.9z"}},move:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M49.7 25.3l-8.3-9c-.6-.6-1.4-.1-1.4.9V23H30c-.6 0-1-.4-1-1V12h5.9c1 0 1.5-.9.9-1.4l-9-8.3c-.4-.3-1-.3-1.4 0l-9 8.3c-.6.6-.1 1.4.9 1.4H23v10c0 .6-.4 1-1 1H12v-5.9c0-1-.9-1.5-1.4-.9l-8.3 9c-.3.4-.3 1 0 1.4l8.3 9c.6.6 1.4.1 1.4-.9V29h10c.6 0 1 .4 1 1v10h-5.9c-1 0-1.5.9-.9 1.4l9 8.3c.4.3 1 .3 1.4 0l9-8.3c.6-.6.1-1.4-.9-1.4H29V30c0-.6.4-1 1-1h10v5.9c0 1 .9 1.5 1.4.9l8.3-9c.4-.5.4-1.1 0-1.5z"}},multi_picklist:{xmlns:"http://www.w3.org/2000/svg",path:[{d:"M44.4 2H18.8C16.2 2 14 4.2 14 6.8v.8c0 .5.3.8.8.8H38c2.6 0 4.8 2.2 4.8 4.8V38c0 .5.3.8.8.8h.8c2.6 0 4.8-2.2 4.8-4.8V6.8C49.2 4.2 47 2 44.4 2z"},{d:"M33.2 13.2H7.6c-2.6 0-4.8 2.2-4.8 4.8v27.2C2.8 47.8 5 50 7.6 50h25.6c2.6 0 4.8-2.2 4.8-4.8V18c0-2.6-2.2-4.8-4.8-4.8zM14 42c0 .9-.7 1.6-1.6 1.6h-1.6c-.9 0-1.6-.7-1.6-1.6v-1.6c0-.9.7-1.6 1.6-1.6h1.6c.9 0 1.6.7 1.6 1.6V42zm0-9.6c0 .9-.7 1.6-1.6 1.6h-1.6c-.9 0-1.6-.7-1.6-1.6v-1.6c0-.9.7-1.6 1.6-1.6h1.6c.9 0 1.6.7 1.6 1.6v1.6zm0-9.6c0 .9-.7 1.6-1.6 1.6h-1.6c-.9 0-1.6-.7-1.6-1.6v-1.6c0-.9.7-1.6 1.6-1.6h1.6c.9 0 1.6.7 1.6 1.6v1.6zM31.6 42c0 .9-.7 1.6-1.6 1.6H18.9c-.9 0-1.6-.7-1.6-1.6v-1.6c0-.9.7-1.6 1.6-1.6H30c.9 0 1.6.7 1.6 1.6V42zm0-9.6c0 .9-.7 1.6-1.6 1.6H18.9c-.9 0-1.6-.7-1.6-1.6v-1.6c0-.9.7-1.6 1.6-1.6H30c.9 0 1.6.7 1.6 1.6v1.6zm0-9.6c0 .9-.7 1.6-1.6 1.6H18.9c-.9 0-1.6-.7-1.6-1.6v-1.6c0-.9.7-1.6 1.6-1.6H30c.9 0 1.6.7 1.6 1.6v1.6z"}]},multi_select_checkbox:{xmlns:"http://www.w3.org/2000/svg",path:[{d:"M44 2.5H19c-2.6 0-4.7 2.1-4.7 4.7V8c0 .5.3.8.8.8h22.7c2.6 0 4.7 2.1 4.7 4.7v24.3c0 .5.3.8.8.8h.7c2.6 0 4.7-2.1 4.7-4.7V7.2c0-2.6-2.1-4.7-4.7-4.7z"},{d:"M33 13.5H8c-2.6 0-4.7 2.1-4.7 4.7v26.6c0 2.6 2.1 4.7 4.7 4.7h25c2.6 0 4.7-2.1 4.7-4.7V18.2c.1-2.6-2.1-4.7-4.7-4.7zm-2 13.3l-12 12c-.5.5-1 .7-1.6.7-.5 0-1.2-.2-1.6-.7L10 33c-.5-.5-.5-1.2 0-1.6l1.6-1.6c.5-.5 1.2-.5 1.6 0l4.2 4.2 10.3-10.3c.5-.5 1.2-.5 1.6 0l1.6 1.6c.5.3.5 1.1.1 1.5z"}]},muted:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M48.5 5.6l-2.1-2.1c-.6-.6-1.7-.5-2.4.3l-10 10V9.9C34 5.5 30.5 2 26.1 2h-.2C21.5 2 18 5.5 18 9.9v14.5c0 1.5.4 3 1.2 4.2l-3.5 3.5C14 30 13 27.3 13 24.4v-4c0-1.4-1.1-2.4-2.5-2.4S8 19 8 20.4v4c0 4.3 1.6 8.2 4.2 11.2L3.8 44c-.7.7-.8 1.8-.3 2.4l2.1 2.1c.6.6 1.7.5 2.4-.3L48.2 8c.8-.7.9-1.8.3-2.4zM39 23.2v1.2c0 7-5.8 12.8-13 12.8h-.9l-3.9 4.1c.8.2 1.8.4 2.8.6V45h-4.5c-1.4 0-2.5 1.1-2.5 2.5s1.1 2.5 2.5 2.5h13.1c1.4 0 2.5-1.1 2.5-2.5S33.9 45 32.5 45H28v-3.2c9-1.2 16-8.6 16-17.4v-4c0-.6-.3-1.2-.6-1.6L39 23.2z"}},new:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M43 9C33.6-.3 18.4-.3 9 9-.3 18.4-.3 33.6 9 43c9.4 9.4 24.6 9.4 33.9 0 9.4-9.4 9.4-24.6.1-34zm-1 19c0 .6-.4 1-1 1H30c-.5 0-1 .5-1 1v11c0 .5-.5 1-1 1h-4c-.6 0-1-.4-1-1V30c0-.6-.4-1-1-1H11c-.6 0-1-.4-1-1v-4c0-.5.5-1 1-1h11c.6 0 1-.4 1-1V11c0-.5.5-1 1-1h4c.5 0 1 .4 1 1v11c0 .6.4 1 1 1h11c.5 0 1 .5 1 1v4z"}},new_direct_message:{xmlns:"http://www.w3.org/2000/svg",path:[{d:"M45.5 17l-3.4 3.5c-.6.6-.9 1.3-.9 2.1V40c0 .8-.7 1.5-1.5 1.5h-27c-.8 0-1.5-.7-1.5-1.5V13c0-.8.7-1.5 1.5-1.5h17.5c.8 0 1.6-.3 2.1-.9l3.4-3.4c.6-.6.2-1.7-.7-1.7H9.2c-2.2 0-4 1.8-4 4v34c0 2.2 1.8 4 4 4h34c2.2 0 4-1.8 4-4V17.7c0-.9-1.1-1.3-1.7-.7z"},{d:"M18.9 30.7l3.7 3.7c.2.2.4.2.6 0l19.4-19.9c.2-.2.2-.4 0-.6L39 10.3c-.2-.2-.4-.2-.6 0L18.9 30.1c-.2.2-.2.4 0 .6zM40.1 8.6c-.2.2-.2.4 0 .6l3.6 3.6c.2.2.4.2.6 0l2.5-2.5c.7-.6.7-1.6 0-2.3L45 6.2c-.7-.7-1.7-.7-2.4 0-.1 0-2.5 2.4-2.5 2.4zM15.6 36.9c-.1.4.3.8.7.7.6-.2 1.3-.3 1.9-.5.5-.1 1-.2 1.5-.4.5-.1 1-.2 1.4-.4.2-.1.6-.5.3-.8l-3.8-3.8c-.3-.3-.6 0-.7.2-.3.4-.4 1-.5 1.4-.1.5-.3 1-.4 1.5-.1.9-.2 1.5-.4 2.1z"}]},new_window:{xmlns:"http://www.w3.org/2000/svg",g:{path:[{d:"M48.7 2H29.6c-.8 0-1.6.5-1.6 1.3v3c0 .8.7 1.7 1.6 1.7h7.9c.9 0 1.4 1 .7 1.6l-17 17c-.6.6-.6 1.5 0 2.1l2.1 2.1c.6.6 1.5.6 2.1 0l17-17c.6-.6 1.6-.2 1.6.7v7.9c0 .8.8 1.7 1.6 1.7h2.9c.8 0 1.5-.9 1.5-1.7v-19c0-.9-.5-1.4-1.3-1.4z"},{d:"M36.3 25.5L32.9 29c-.6.6-.9 1.3-.9 2.1v11.4c0 .8-.7 1.5-1.5 1.5h-21c-.8 0-1.5-.7-1.5-1.5v-21c0-.8.7-1.5 1.5-1.5H21c.8 0 1.6-.3 2.1-.9l3.4-3.4c.6-.6.2-1.7-.7-1.7H6c-2.2 0-4 1.8-4 4v28c0 2.2 1.8 4 4 4h28c2.2 0 4-1.8 4-4V26.2c0-.9-1.1-1.3-1.7-.7z"}]}},news:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M50.5 6h-41C8.7 6 8 6.7 8 7.5V38c0 1.2-1.1 2.2-2.3 2-1-.2-1.7-1.1-1.7-2.1V16c0-.6-.4-1-1-1H1.5c-.8 0-1.5.7-1.5 1.5V42c0 2.2 1.8 4 4 4h44c2.2 0 4-1.8 4-4V7.5c0-.8-.7-1.5-1.5-1.5zM28 35c0 .6-.4 1-1 1H15c-.6 0-1-.4-1-1v-2c0-.6.4-1 1-1h12c.6 0 1 .4 1 1v2zm0-8c0 .6-.4 1-1 1H15c-.6 0-1-.4-1-1v-2c0-.6.4-1 1-1h12c.6 0 1 .4 1 1v2zm18 8c0 .6-.4 1-1 1H33c-.6 0-1-.4-1-1v-2c0-.6.4-1 1-1h12c.6 0 1 .4 1 1v2zm0-8c0 .6-.4 1-1 1H33c-.6 0-1-.4-1-1v-2c0-.6.4-1 1-1h12c.6 0 1 .4 1 1v2zm0-8c0 .6-.4 1-1 1H15c-.6 0-1-.4-1-1v-6c0-.6.4-1 1-1h30c.6 0 1 .4 1 1v6z"}},note:{xmlns:"http://www.w3.org/2000/svg",path:[{d:"M41.4 39.7l-.9.9c-1 1-2.3 1.5-3.7 1.5h-2.6c-2.4 0-5-1.9-5-5.2v-2.5c0-2 .9-3.2 1.4-3.9l10.8-11c.3-.3.6-1 .6-1.4V9.8C42 7.2 39.8 5 37.2 5H11.6C9 5 6.8 7.4 6.8 9.8H5.2C3.4 9.8 2 11.3 2 13.1s1.4 3.2 3.2 3.2h1.6v6.5H5.2C3.4 22.8 2 24.2 2 26s1.4 3.2 3.2 3.2h1.6v6.5H5.2c-1.8 0-3.2 1.5-3.2 3.2 0 1.8 1.4 3.2 3.2 3.2h1.6c0 3.2 2.2 4.8 4.8 4.8H37.2c2.6 0 4.8-2.2 4.8-4.8V40c0-.5-.2-.6-.6-.3zm-8.2-22.6c0 .9-.7 1.6-1.6 1.6h-16c-.9 0-1.6-.7-1.6-1.6v-1.6c0-.9.7-1.6 1.6-1.6h16c.9 0 1.6.7 1.6 1.6v1.6zM26 36.5c0 .9-.7 1.6-1.6 1.6h-8.8c-.9 0-1.6-.7-1.6-1.6v-1.6c0-.9.7-1.6 1.6-1.6h8.8c.9 0 1.6.7 1.6 1.6v1.6zm2.4-9.7c0 .9-.7 1.6-1.6 1.6H15.6c-.9 0-1.6-.7-1.6-1.6v-1.6c0-.9.7-1.6 1.6-1.6h11.2c.9 0 1.6.7 1.6 1.6v1.6z"},{d:"M49.5 22.4l-1-1c-.6-.6-1.6-.6-2.2 0L34.1 34c-.1 0-.1.2-.1.2v2.7c0 .2 0 .4.2.4h2.6c.1 0 .2-.1.3-.1l12.3-12.4c.8-.7.8-1.7.1-2.4z"}]},notebook:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M44 2H14c-2.2 0-4 1.8-4 4v3H7c-1.7 0-3 1.3-3 3s1.3 3 3 3h3v8H7c-1.7 0-3 1.3-3 3s1.3 3 3 3h3v8H7c-1.7 0-3 1.3-3 3s1.3 3 3 3h3v3c0 2.2 1.8 4 4 4h30c2.2 0 4-1.8 4-4V6c0-2.2-1.8-4-4-4zm-7 34c0 .6-.4 1-1 1H22c-.6 0-1-.4-1-1v-2c0-.6.4-1 1-1h14c.6 0 1 .4 1 1v2zm2-8c0 .6-.4 1-1 1H20c-.6 0-1-.4-1-1v-2c0-.6.4-1 1-1h18c.6 0 1 .4 1 1v2zm2-10c0 .6-.4 1-1 1H18c-.6 0-1-.4-1-1v-6c0-.6.4-1 1-1h22c.6 0 1 .4 1 1v6z"}},notification:{xmlns:"http://www.w3.org/2000/svg",g:{path:{d:"M46 33h-.5c-1.9 0-3.5-1.6-3.5-3.5V18c0-9.1-7.6-16.4-16.8-16C16.6 2.4 10 9.8 10 18.5v11.1c0 1.9-1.6 3.4-3.5 3.4H6c-2.2 0-4 1.9-4 4.1v1.5c0 .7.7 1.4 1.5 1.4h45c.8 0 1.5-.7 1.5-1.5V37c0-2.2-1.8-4-4-4zM30.9 44h-9.8c-.6 0-1.1.6-1 1.2.5 2.8 3 4.8 5.9 4.8s5.4-2.1 5.9-4.8c.1-.6-.4-1.2-1-1.2z"}}},number_input:{xmlns:"http://www.w3.org/2000/svg",path:[{d:"M44.8 49.5H7.2c-2.6 0-4.7-2.1-4.7-4.7V7.2c0-2.6 2.1-4.7 4.7-4.7h37.6c2.6 0 4.7 2.1 4.7 4.7v37.6c0 2.6-2.1 4.7-4.7 4.7zm-36-39.2v31.3c0 .9.7 1.6 1.6 1.6h31.3c.9 0 1.6-.7 1.6-1.6V10.3c0-.9-.7-1.6-1.6-1.6H10.4c-.9.1-1.6.8-1.6 1.6z"},{d:"M36.2 20.3h-2.9l1.2-4.8v-.1c0-.2-.1-.4-.4-.4h-2.3c-.2 0-.3.1-.4.3l-1.2 4.9h-5.8l1.2-4.8v-.1c0-.2-.1-.4-.4-.4h-2.3c-.2 0-.3.1-.4.3l-1.3 4.9H18c-.2 0-.3.1-.4.3l-.6 2.2v.1c0 .2.1.4.4.4h3L19 28.7h-3.1c-.2 0-.3.1-.4.3l-.6 2.2v.1c0 .2.1.4.4.4h2.9L17 36.5v.1c0 .2.1.4.4.4h2.3c.2 0 .3-.1.4-.3l1.3-5h5.7L26 36.4v.1c0 .2.1.4.4.4h2.3c.2 0 .3-.1.4-.3l1.3-5h3.2c.2 0 .3-.1.4-.3l.6-2.2V29c0-.2-.1-.4-.4-.4h-3l1.4-5.6h3.1c.2 0 .3-.1.4-.3l.6-2.2v-.1c-.1.1-.3-.1-.5-.1zm-8.1 8.5h-5.8l1.4-5.6h5.7l-1.3 5.6z"}]},office365:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M6 40.6z"},g:{path:{d:"M30.8 49.5c.6.2 1.3.2 1.9 0l11.9-3.9c.8-.3 1.4-1 1.4-1.9v-36c0-.6-.4-1.2-1-1.4L32.9 2.2c-.7-.2-1.4-.2-2 0L7 11.4c-.6.2-1 .8-1 1.4v27.1c0 .6.4 1.2 1 1.4l23.8 8.2zm1.2-6.7c0 .6-.5 1.1-1 1l-20-2.7c-.5-.1-.9-.5-.9-1v-.4c0-.4.2-.7.7-.9l3.8-1.8c.4-.2.6-.5.6-.9V14.8c0-.5.3-.9.8-1l15-3.4c.6-.1 1.2.3 1.2 1v31.4z"}}},offline:{xmlns:"http://www.w3.org/2000/svg",g:{path:{d:"M34.7 36.1c.5-.5.5-1.3 0-1.8l-1.8-1.8c-.5-.5-1.3-.5-1.8 0l-4.4 4.4c-.3.3-.9.3-1.2 0l-4.4-4.4c-.5-.5-1.3-.5-1.8 0l-1.8 1.8c-.5.5-.5 1.3 0 1.8l4.4 4.4c.3.3.3.9 0 1.2l-4.4 4.4c-.5.5-.5 1.3 0 1.8l1.8 1.8c.5.5 1.3.5 1.8 0l4.4-4.4c.3-.3.9-.3 1.2 0l4.4 4.4c.5.5 1.3.5 1.8 0l1.8-1.8c.5-.5.5-1.3 0-1.8l-4.4-4.4c-.3-.3-.3-.9 0-1.2l4.4-4.4zM47.7 11.6c-5.5-6.1-13.3-9.5-21.6-9.5S10 5.5 4.5 11.6c-.4.4-.3 1.1.1 1.4l3 2.6c.4.4 1 .3 1.4-.1 4.4-4.7 10.6-7.4 17.1-7.4s12.7 2.7 17.1 7.4c.4.4 1 .4 1.4.1l3-2.6c.4-.4.5-1 .1-1.4zM26.1 16.1c-4.2 0-8.2 1.8-11 5-.4.4-.3 1.1.1 1.5l3.2 2.4c.4.3 1 .3 1.3-.1 1.7-1.8 4-2.8 6.4-2.8s4.7 1 6.3 2.7c.3.4.9.4 1.3.1l3.2-2.4c.5-.4.5-1 .1-1.5-2.7-3.1-6.7-4.9-10.9-4.9z"}}},offline_briefcase:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M45.2 14.9H6.8A4.77 4.77 0 002 19.6v25.6A4.87 4.87 0 006.8 50h38.4a4.87 4.87 0 004.8-4.8V19.6a4.77 4.77 0 00-4.8-4.7zM17.4 29.8l1.4-1.4a1 1 0 011.4 0l2.4 2.4a.63.63 0 00.9 0 .61.61 0 00.2-.52V21.6a1.08 1.08 0 011-1H27a1 1 0 011 1v8.7a.65.65 0 001.1.5l2.4-2.4a1 1 0 011.4 0l1.4 1.4a1 1 0 010 1.4l-7.8 7.6a1 1 0 01-1.4 0l-7.7-7.6a1 1 0 010-1.4zm17.8 14a1 1 0 01-1 1H17.8a1 1 0 01-1-1v-2.1a1 1 0 011-1h16.4a1 1 0 011 1zM15.7 10h3.2a.74.74 0 00.8-.67V6.8h12.7v2.4a.74.74 0 00.67.8h3.33a.74.74 0 00.8-.67V6.8A4.87 4.87 0 0032.4 2H19.7a4.8 4.8 0 00-4.8 4.8v2.4a.74.74 0 00.67.8z"}},offline_cached:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M38.6 20.4c-1-6.5-6.7-11.5-13.5-11.5-7.6 0-13.7 6.1-13.7 13.7 0 .3 0 .7.1 1-5 .4-8.9 4.6-8.9 9.6 0 5.4 4.3 9.7 9.7 9.7h11.5l-8.1-8.1c-.4-.4-.4-.9 0-1.3l1.3-1.3c.4-.4.9-.4 1.3 0l3.5 3.5c.4.4 1.1.1 1.1-.4V21.8c0-.4.5-.9 1-.9h1.9c.5 0 .9.4.9.9v13.4c0 .6.8.8 1.1.4l3.5-3.5c.4-.4.9-.4 1.3 0l1.3 1.3c.4.4.4.9 0 1.3L26 42.9h12.3c6.1-.1 11-5.1 11-11.3.1-6.1-4.7-11-10.7-11.2z"}},omni_channel:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M47.2 2.7H34.6c-.8 0-1.1.7-.4 1.4l4 4 .5.5-7.5 7.4c-.6.6-.6 1.6-.1 2.2 0 0 5.1 5.2 4.6 11.1 0 8.4-6.1 15.1-14.5 15.1-6.2.6-11.1-5.1-11.1-5.1-.6-.6-1.5-.6-2.1 0L4.3 43c-.6.6-.6 1.5 0 2.1l1.2 1.2c.6.6 1.5.6 2.1 0L9 45c3.4 2.7 7.7 4.2 12.3 4.2 11 0 19.9-8.9 19.9-19.9 0-4.6-1.6-8.9-4.2-12.3l5.1-5.1.7.7 4 4c.6.7 1.4.4 1.4-.4V3.6c-.1-.5-.5-.9-1-.9z"},circle:{cx:"21.1",cy:"29.5",r:"9.9"}},open:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M8 35v-.6.6z"},g:{path:[{d:"M46 2H6C3.8 2 2 3.8 2 6v36c0 2.2 1.8 4 4 4h12c.6 0 1-.4 1-1v-4c0-.6-.4-1-1-1H9.5c-.8 0-1.5-.7-1.5-1.5v-25c0-.8.7-1.5 1.5-1.5h33c.8 0 1.5.7 1.5 1.5v25c0 .8-.7 1.5-1.5 1.5H34c-.6 0-1 .4-1 1v4c0 .6.4 1 1 1h12c2.2 0 4-1.8 4-4V6c0-2.2-1.8-4-4-4z"},{d:"M37.5 34.6l2.1-2.1c.6-.6.6-1.5 0-2.1L27 17.8c-.6-.6-1.5-.6-2.1 0L12.4 30.3c-.6.6-.6 1.5 0 2.1l2.1 2.1c.6.6 1.5.6 2.1 0l4.6-4.6c.6-.6 1.8-.2 1.8.7v17.9c0 .8.6 1.5 1.4 1.5h3c.8 0 1.6-.7 1.6-1.5V30.6c0-.9 1-1.3 1.7-.7l4.6 4.7c.6.5 1.6.5 2.2 0z"}]}},open_folder:{xmlns:"http://www.w3.org/2000/svg",g:{path:[{d:"M46 14H23.3c-1.4 0-2.7-.8-3.5-2l-3.5-6c-.7-1.2-2-2-3.5-2H6C3.8 4 2 5.8 2 8v36c0 2.2 1.8 4 4 4h40c2.2 0 4-1.8 4-4V18c0-2.2-1.8-4-4-4z"},{d:"M46 6H21.9c-.4 0-.6.4-.4.7l1.6 2.7c.2.4.5.6.9.6h22c1.1 0 2.2.2 3.1.6.4.2.9-.1.9-.6 0-2.2-1.8-4-4-4z"}]}},opened_folder:{xmlns:"http://www.w3.org/2000/svg",g:{path:{d:"M44 15c0-2.2-1.8-4-4-4H25.3c-1.8 0-3.5-2-3.5-2l-2.5-3s-1.2-2-3.5-2H12C9.8 4 8 5.8 8 8v9h36v-2zM46.9 21H5.1c-2 0-3.5 1.9-3 3.8l5.7 21c.4 1.3 1.6 2.2 3 2.2h30.5c1.4 0 2.7-.9 3-2.2l5.7-21c.4-1.9-1.1-3.8-3.1-3.8z"}}},orchestrator:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M36.4 3.14a1.62 1.62 0 00-2.24-1 1.65 1.65 0 00-.59 2.38l7.28 18.18c.45.95 1.28 1.51 2.21 1.06a1.76 1.76 0 00.63-2.47zM26.2 15.75c4.11 0 7.41 3.74 7.41 8.37s-3.3 8.37-7.41 8.37-7.41-3.74-7.41-8.37 3.3-8.37 7.41-8.37zM9.11 34.34l10.67 1.2L22.24 50h-3a1.87 1.87 0 01-1.79-1.39l-2.18-7.84-9.09-1a4.77 4.77 0 01-3.88-6.3L7 19.79A2.79 2.79 0 0110.52 18a2.86 2.86 0 011.73 3.63L8.33 33.09a.94.94 0 00.78 1.25zM33.36 50h-3.2l2.43-14.29 10.09 1.91a.94.94 0 001.08-1.14l-1.42-6.4a2.85 2.85 0 012.07-3.44 2.8 2.8 0 013.38 2.1L49.87 38a4.73 4.73 0 01-5.38 5.8l-7.7-1.46-1.62 6.27A1.87 1.87 0 0133.36 50zM23.31 37.29a1.1 1.1 0 01-1.68-.95v-1.77a1.1 1.1 0 011.68-1l2.89 1.83zM26.2 35.45l2.88-1.83a1.1 1.1 0 011.69 1v1.77a1.11 1.11 0 01-1.69.95z"}},org_chart:{xmlns:"http://www.w3.org/2000/svg",rect:[{x:"34.78",y:"2.83",width:"13.16",height:"13.15",rx:"1.21"},{x:"34.78",y:"35.52",width:"13.16",height:"13.15",rx:"1.21"}],path:{d:"M46.73 19.18H36a1.2 1.2 0 00-1.2 1.2v3.71h-7.38l-.16-14.65A1.5 1.5 0 0025.76 8H15.65V4a1.22 1.22 0 00-1.2-1.21H3.71A1.21 1.21 0 002.5 4v10.78A1.21 1.21 0 003.7 16h10.75a1.22 1.22 0 001.2-1.21V11h8.62l.17 14.64a1.51 1.51 0 001.5 1.49h8.84v4a1.21 1.21 0 001.22 1.2h10.73a1.22 1.22 0 001.2-1.21V20.38a1.2 1.2 0 00-1.2-1.2z"}},outbound_call:{xmlns:"http://www.w3.org/2000/svg",g:{path:[{d:"M48.5 37.9L42.4 33c-1.4-1.1-3.4-1.2-4.8-.1l-5.2 3.8c-.6.5-1.5.4-2.1-.2l-7.8-7-7-7.8c-.6-.6-.6-1.4-.2-2.1l3.8-5.2c1.1-1.4 1-3.4-.1-4.8l-4.9-6.1c-1.5-1.8-4.2-2-5.9-.3L3 8.4c-.8.8-1.2 1.9-1.2 3 .5 10.2 5.1 19.9 11.9 26.7S30.2 49.5 40.4 50c1.1.1 2.2-.4 3-1.2l5.2-5.2c1.9-1.5 1.8-4.3-.1-5.7z"},{d:"M48.4 2H33c-1 0-1.3 1.1-.5 1.9l4.9 5-9 9.1c-.5.5-.5 1.4 0 1.9l3.7 3.7c.5.5 1.3.5 1.9 0l9.1-9.1 5.1 4.9c.7.9 1.8.6 1.8-.4V3.7C50 3 49.1 2 48.4 2z"}]}},outcome:{xmlns:"http://www.w3.org/2000/svg",path:[{d:"M36.2 11.6l-.1-.1c-.6-.5-1.5-.5-2 .1l-2.2 2.1c-.6.6-.5 1.5 0 2l5.6 5.6c.2.2.3.4.3.7 0 .6-.4 1.1-1 1.1H15.6c-.8 0-1.5.6-1.5 1.4v3c.1.8.7 1.5 1.5 1.6h21.3c.2 0 .4.1.5.2.5.4.5 1 .2 1.5L32 36.5c-.6.6-.5 1.5 0 2l2.1 2.2c.6.6 1.5.5 2 0l13.5-13.5c.6-.6.5-1.5 0-2L36.2 11.6z"},{d:"M21.1 17.2h3c.8 0 1.5-.7 1.5-1.5V6.1c0-2.2-1.8-4-4-4H6.1c-2.2 0-4 1.8-4 4v40c0 2.2 1.8 4 4 4h15.4c2.2 0 4-1.8 4-4v-9.5c0-.8-.7-1.5-1.5-1.5h-3c-.8 0-1.5.7-1.5 1.5v5.9c0 .8-.7 1.5-1.5 1.5H9.6c-.8 0-1.5-.7-1.5-1.5v-33c0-.8.7-1.5 1.5-1.5H18c.8 0 1.5.7 1.5 1.5v6.1c.1.9.7 1.6 1.6 1.6z"}]},overflow:{xmlns:"http://www.w3.org/2000/svg",path:[{d:"M37.3 9.9H15.8c-2.1 0-3.7 1.7-3.7 3.7v.6c0 .3.3.6.6.6h19.6c2.1 0 3.7 1.7 3.7 3.7v22.1c0 .3.3.6.6.6h.6c2.1 0 3.7-1.7 3.7-3.7V13.6c.1-2-1.6-3.7-3.6-3.7z"},{d:"M45.3 2H23.8c-2.1 0-3.7 1.7-3.7 3.7v.6c0 .3.3.6.6.6h19.6c2.1 0 3.7 1.7 3.7 3.7v22.1c0 .3.3.6.6.6h.6c2.1 0 3.7-1.7 3.7-3.7V5.7c.1-2-1.6-3.7-3.6-3.7z"},{d:"M32.6 21.8c0-2-1.7-3.7-3.7-3.7H6.7c-2.1 0-3.7 1.7-3.7 3.7v24.5c0 2 1.7 3.7 3.7 3.7h22.2c2.1 0 3.7-1.7 3.7-3.7V21.8z"}]},package:{xmlns:"http://www.w3.org/2000/svg",path:[{d:"M44.4 24h-7.9l-3.3 4H44v6H8v-6h10.7l-3.3-4H7.6c-2 0-3.6 1.6-3.6 3.6V47c0 1.7 1.3 3 3 3h38c1.7 0 3-1.3 3-3V27.6c0-2-1.6-3.6-3.6-3.6z"},{d:"M23 3.5V16h-6.9c-1 0-1.5.9-.9 1.4l10 12.3c.4.3 1 .3 1.4 0l10-12.3c.6-.6.1-1.4-.9-1.4H29V3.5c0-.8-.7-1.5-1.5-1.5h-3c-.8 0-1.5.7-1.5 1.5z"}]},package_org:{xmlns:"http://www.w3.org/2000/svg",path:[{d:"M44.4 23H31.9l-4 4H44v6H8v-6h8.1l-4-4H7.6c-2 0-3.6 1.6-3.6 3.6V46c0 1.7 1.3 3 3 3h38c1.7 0 3-1.3 3-3V26.6c0-2-1.6-3.6-3.6-3.6z"},{d:"M20.6 25.8c.8.8 2 .8 2.8 0l19-19c.4-.4.4-1 0-1.4l-2.8-2.8c-.4-.4-1-.4-1.4 0L22 18.8l-6.7-6.7c-.4-.4-1-.4-1.4 0l-2.8 2.8c-.4.4-.4 1 0 1.4l9.5 9.5z"}]},package_org_beta:{xmlns:"http://www.w3.org/2000/svg",path:[{d:"M44.4 23h-5.8c-.4 1.5-1.1 2.8-2.1 4H44v6H8v-6h6v-4H7.6c-2 0-3.6 1.6-3.6 3.6V46c0 1.7 1.3 3 3 3h38c1.7 0 3-1.3 3-3V26.6c0-2-1.6-3.6-3.6-3.6z"},{d:"M35 9.9C35 6 31.6 3 27.8 3h-8.3c-.8 0-1.5.7-1.5 1.5v21c0 .8.7 1.5 1.5 1.5H28c3.9 0 7-3.2 6.9-7.1 0-1.9-.8-3.6-2.1-4.8 1.4-1.4 2.2-3.2 2.2-5.2zM22 7h6c1.6 0 3 1.3 3 3 0 1.6-1.3 3-3 3h-6V7zm9 13c0 1.6-1.3 3-3 3h-6v-6h6c1.7 0 3 1.3 3 3z"}]},page:{xmlns:"http://www.w3.org/2000/svg",path:[{d:"M44.4 19H33.2c-2.6 0-4.2-1.6-4.2-4.2V3.6c0-.9-.7-1.6-1.6-1.6H10.8C8.2 2 6 4.2 6 6.8v38.4c0 2.6 2.2 4.8 4.8 4.8h30.4c2.6 0 4.8-2.2 4.8-4.8V20.6c0-.9-.7-1.6-1.6-1.6z"},{d:"M45.7 12.9L35.1 2.3c-.2-.2-.6-.3-.9-.3-.6 0-1.2.5-1.2 1.1v8.5c0 1.8 1.6 3.4 3.4 3.4h8.5c.6 0 1.1-.6 1.1-1.2 0-.3-.1-.7-.3-.9z"}]},palette:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M49.5 17.3C47.2 7.8 37.2 2 26.2 2 12.8 2 2 12.7 2 26s10.8 24 24.2 24c18.6 0 17.1-9.4 11.2-13.1-3.5-2.2-5.4-7.3-1.9-10.9 6.5-6.7 17 4 14-8.7zM13 34c-2.8 0-5-2.2-5-5s2.2-5 5-5 5 2.2 5 5-2.2 5-5 5zm1-19c0-2.8 2.2-5 5-5s5 2.2 5 5-2.2 5-5 5-5-2.2-5-5zm11 29c-2.8 0-5-2.2-5-5s2.2-5 5-5 5 2.2 5 5-2.2 5-5 5zm9-26c-2.8 0-5-2.2-5-5s2.2-5 5-5 5 2.2 5 5-2.2 5-5 5z"}},password:{xmlns:"http://www.w3.org/2000/svg",path:[{d:"M44.8 49.5H7.2c-2.6 0-4.7-2.1-4.7-4.7V7.2c0-2.6 2.1-4.7 4.7-4.7h37.6c2.6 0 4.7 2.1 4.7 4.7v37.6c0 2.5-2.1 4.7-4.7 4.7zM8.9 10.3v31.3c0 .9.7 1.6 1.6 1.6h31.2c.9 0 1.6-.7 1.6-1.6V10.3c0-.9-.7-1.6-1.6-1.6H10.4c-.8.1-1.5.8-1.5 1.6z"},{d:"M38.8 23.8l-.9-3c-.3-.8-1.1-1.3-2-1L29.1 22v-6.7c0-.9-.7-1.6-1.6-1.6h-3.1c-.9 0-1.6.7-1.6 1.6V22l-6.6-2.2c-.8-.3-1.7.2-2 1l-.9 3c-.3.8.2 1.7 1 2l6.2 2-4.5 6.1c-.5.7-.3 1.7.4 2.2l2.6 1.8c.7.5 1.7.3 2.2-.4l4.9-6.8 4.9 6.8c.5.7 1.5.9 2.2.4l2.6-1.8c.7-.5.9-1.5.4-2.2l-4.5-6.2 6.1-2c.8-.2 1.2-1 1-1.9z"}]},paste:{xmlns:"http://www.w3.org/2000/svg",g:{path:[{d:"M17.5 12h17c.8 0 1.5-.7 1.5-1.5V6c0-2.2-1.8-4-4-4H20c-2.2 0-4 1.8-4 4v4.5c0 .8.7 1.5 1.5 1.5z"},{d:"M44 6h-2.5c-.8 0-1.5.7-1.5 1.5V12c0 2.2-1.8 4-4 4H16c-2.2 0-4-1.8-4-4V7.5c0-.8-.7-1.5-1.5-1.5H8c-2.2 0-4 1.8-4 4v36c0 2.2 1.8 4 4 4h36c2.2 0 4-1.8 4-4V10c0-2.2-1.8-4-4-4zm-6 35c0 .6-.4 1-1 1H15c-.6 0-1-.4-1-1v-2c0-.6.4-1 1-1h22c.6 0 1 .4 1 1v2zm0-8c0 .6-.4 1-1 1H15c-.6 0-1-.4-1-1v-2c0-.6.4-1 1-1h22c.6 0 1 .4 1 1v2zm0-8c0 .6-.4 1-1 1H15c-.6 0-1-.4-1-1v-2c0-.6.4-1 1-1h22c.6 0 1 .4 1 1v2z"}]}},pause:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M30 43c0 1 .9 2 2 2h4c1.1 0 2-1.1 2-2V9c0-1-.9-2-2-2h-4c-1.1 0-2 1.1-2 2v34zM14 43c0 1 .9 2 2 2h4c1.1 0 2-1.1 2-2V9c0-1-.9-2-2-2h-4c-1.1 0-2 1.1-2 2v34z"}},pause_alt:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M9.009 8.977c9.395-9.303 24.587-9.303 33.982 0 9.295 9.402 9.395 24.706 0 34.009s-24.687 9.402-33.982 0c-9.295-9.403-9.395-24.707 0-34.01zm16.991-1c-9.895 0-17.99 8.102-17.99 18.004 0 9.903 8.095 18.005 17.99 18.005 9.995 0 17.99-8.002 17.99-18.005S35.896 7.977 26 7.977zM21.75 15c.966 0 1.75.895 1.75 2v18c0 1.105-.784 2-1.75 2h-3.5c-.966 0-1.75-.895-1.75-2V17c0-1.105.784-2 1.75-2zm12 0c.966 0 1.75.895 1.75 2v18c0 1.105-.784 2-1.75 2h-3.5c-.966 0-1.75-.895-1.75-2V17c0-1.105.784-2 1.75-2z","fill-rule":"evenodd"}},payment_gateway:{xmlns:"http://www.w3.org/2000/svg",g:{path:[{d:"M19.56 6.29a17.94 17.94 0 000 35.87h.8V27.94c0-1.06.81-2.42 1.88-2.42h15.2c0-.59.06-1 .06-1.32A18 18 0 0019.56 6.29zm14.32 16.4h-4.62a26.74 26.74 0 00-2.54-10.76 14.52 14.52 0 017.16 10.76zM17.51 10.9v11.79h-4.1c.31-5.62 2.08-10.06 4.1-11.79zm0 14.86v11.78c-2-1.73-3.79-6.15-4.1-11.78zm4.1-3.07V10.9c2 1.73 3.8 6.17 4.1 11.79zm-9.22-10.76a27.62 27.62 0 00-2.53 10.76H5.21a14.48 14.48 0 017.18-10.76zM5.22 26.27h4.65A26.74 26.74 0 0012.39 37a14.5 14.5 0 01-7.17-10.73z","fill-rule":"evenodd"},{d:"M47.5 28.56H25.73a2.5 2.5 0 00-2.5 2.5v12.15a2.5 2.5 0 002.5 2.5H47.5a2.5 2.5 0 002.5-2.5V31.06a2.5 2.5 0 00-2.5-2.5zM28.66 43.21a2.92 2.92 0 00-2.84-3h-.08V34a2.93 2.93 0 003-2.84v-.07h15.81A2.91 2.91 0 0047.42 34h.08v6.25a2.93 2.93 0 00-3 2.86v.09z","fill-rule":"evenodd"}],circle:{cx:"36.61",cy:"36.92",r:"4.2"}}},pdf_ext:{xmlns:"http://www.w3.org/2000/svg",g:{path:[{d:"M28.6 11.4h5.1a1.11 1.11 0 001.1-1.1 1.32 1.32 0 00-.3-.8l-7.2-7.1a.89.89 0 00-.7-.3 1.11 1.11 0 00-1.1 1.1v5.1a3.12 3.12 0 003.1 3.1zM49.83 32.45A1.43 1.43 0 0048.44 31h-12A1.43 1.43 0 0035 32.44v1.44a1.43 1.43 0 001.4 1.44h6.14l-11 11a1.42 1.42 0 000 2l1 1a1.54 1.54 0 001.09.45 1.32 1.32 0 00.94-.38l11-11v6A1.43 1.43 0 0047 45.83h1.53a1.43 1.43 0 001.47-1.4zM18.35 20.68h-1.46v4.93h1.46a1.56 1.56 0 001.56-1.1 3.93 3.93 0 00.24-1.44 3.61 3.61 0 00-.36-1.77 1.53 1.53 0 00-1.44-.62zM11.29 20.93a1.27 1.27 0 00-.84-.25H9v2.23h1.46a1.18 1.18 0 00.84-.28 1.09 1.09 0 00.3-.86 1 1 0 00-.33-.84z"},{d:"M33.24 16H25.4a4.67 4.67 0 01-4.7-4.6V3.6a1.42 1.42 0 00-1.34-1.5H6.8a4.67 4.67 0 00-4.7 4.6v29.4a4.6 4.6 0 004.62 4.6H24.6v-.1a15.92 15.92 0 0110.2-14.9v-8.1a1.58 1.58 0 00-1.56-1.6zm-20.75 7.65a2.93 2.93 0 01-1.89.56H9v2.71H7.49v-7.55h3.24a2.64 2.64 0 011.76.63 2.3 2.3 0 01.66 1.8 2.35 2.35 0 01-.66 1.85zm8.66 1.9A2.73 2.73 0 0118.62 27h-3.26v-7.63h3.26a3.85 3.85 0 011.17.17 2.49 2.49 0 011.28.95 3.43 3.43 0 01.54 1.22 5.6 5.6 0 01.14 1.29 5 5 0 01-.6 2.55zm7.92-4.84h-3.81v1.74h3.34v1.31h-3.34v3.16h-1.57v-7.54h5.38z"}]}},people:{xmlns:"http://www.w3.org/2000/svg",g:{path:[{d:"M42 22.3c-2.8-1.1-3.2-2.2-3.2-3.3s.8-2.2 1.8-3c1.7-1.4 2.6-3.5 2.6-5.8 0-4.4-2.9-8.2-8-8.2-4.7 0-7.5 3.2-7.9 7.1 0 .4.2.7.5.9 3.8 2.4 6.1 6.6 6.1 11.7 0 3.8-1.5 7.2-4.2 9.6-.2.2-.2.6 0 .8.7.5 2.3 1.2 3.3 1.7.3.1.5.2.8.2h12.1c2.3 0 4.1-1.9 4.1-4v-.6c0-3.5-3.8-5.4-8-7.1z"},{d:"M28.6 36.2c-3.4-1.4-3.9-2.6-3.9-3.9 0-1.3 1-2.6 2.1-3.6 2-1.7 3.1-4.1 3.1-6.9 0-5.2-3.4-9.7-9.6-9.7-6.1 0-9.6 4.5-9.6 9.7 0 2.8 1.1 5.2 3.1 6.9 1.1 1 2.1 2.3 2.1 3.6 0 1.3-.5 2.6-4 3.9-5 2-9.9 4.3-9.9 8.5V46c0 2.2 1.8 4 4.1 4h27.7c2.3 0 4.2-1.8 4.2-4v-1.4c0-4.1-4.4-6.4-9.4-8.4z"}]}},percent:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M39.55 26A10.5 10.5 0 1050 36.5 10.5 10.5 0 0039.55 26zm0 16.14a5.65 5.65 0 115.6-5.64 5.64 5.64 0 01-5.6 5.64zM23 15.5a10.48 10.48 0 10-3.07 7.43A10.5 10.5 0 0023 15.5zm-10.5 5.64a5.65 5.65 0 114-1.65 5.63 5.63 0 01-4.01 1.65zm26.71-15A.8.8 0 0038.49 5h-3a.83.83 0 00-.64.4l-22 40.41a.78.78 0 000 .78.79.79 0 00.68.39h3a.8.8 0 00.64-.4l22-40.41z"}},phone_landscape:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M52 13c0-2.2-1.8-4-4-4H4c-2.2 0-4 1.8-4 4v26c0 2.2 1.8 4 4 4h44c2.2 0 4-1.8 4-4V13zM5 29c-1.7 0-3-1.3-3-3s1.3-3 3-3 3 1.3 3 3-1.3 3-3 3zm39 6.5c0 .8-.7 1.5-1.5 1.5h-31c-.8 0-1.5-.7-1.5-1.5v-19c0-.8.7-1.5 1.5-1.5h31c.8 0 1.5.7 1.5 1.5v19z"}},phone_portrait:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M43 4c0-2.2-1.8-4-4-4H13c-2.2 0-4 1.8-4 4v44c0 2.2 1.8 4 4 4h26c2.2 0 4-1.8 4-4V4zM26 50c-1.7 0-3-1.3-3-3s1.3-3 3-3 3 1.3 3 3-1.3 3-3 3zm11-9.5c0 .8-.7 1.5-1.5 1.5h-19c-.8 0-1.5-.7-1.5-1.5v-31c0-.8.7-1.5 1.5-1.5h19c.8 0 1.5.7 1.5 1.5v31z"}},photo:{xmlns:"http://www.w3.org/2000/svg",g:{path:[{d:"M26 20c-4.4 0-8 3.6-8 8s3.6 8 8 8 8-3.6 8-8-3.6-8-8-8z"},{d:"M46 14h-5.2c-1.4 0-2.6-.7-3.4-1.8l-2.3-3.5C34.4 7 32.7 6 30.9 6h-9.8c-1.8 0-3.5 1-4.3 2.7l-2.3 3.5c-.7 1.1-2 1.8-3.4 1.8H6c-2.2 0-4 1.8-4 4v24c0 2.2 1.8 4 4 4h40c2.2 0 4-1.8 4-4V18c0-2.2-1.8-4-4-4zM26 40c-6.6 0-12-5.4-12-12s5.4-12 12-12 12 5.4 12 12-5.4 12-12 12z"}]}},picklist:{xmlns:"http://www.w3.org/2000/svg",path:[{d:"M48 41c1.1 0 2-.9 2-2V13c0-1.1-.9-2-2-2H4c-1.1 0-2 .9-2 2v26c0 1.1.9 2 2 2h44zM6 37V15h40v22H6z"},{d:"M32.5 23h9.3c.3 0 .4.3.2.5l-4.6 5.3c-.2.2-.5.2-.7 0l-4.6-5.3c-.1-.2.1-.5.4-.5z"}]},picklist_choice:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M6.9 33.7H3.7c-.9 0-1.6.7-1.6 1.6v3.2c0 .9.7 1.6 1.6 1.6H7c.9-.1 1.5-.8 1.4-1.6v-3.2c.1-.9-.6-1.6-1.5-1.6zM16.5 11.8h31.6c.9 0 1.6-.7 1.6-1.6V7c0-.9-.7-1.6-1.6-1.6H16.5c-.9 0-1.6.7-1.6 1.6v3.2c0 .9.7 1.6 1.6 1.6zM16.5 26h31.6c.9 0 1.6-.7 1.6-1.6v-3.2c0-.9-.7-1.6-1.6-1.6H16.5c-.9 0-1.6.7-1.6 1.6v3.2c0 .8.7 1.6 1.6 1.6zM6.9 5.4H3.7c-.9 0-1.6.7-1.6 1.6v3.2c0 .9.7 1.6 1.6 1.6H7c.9-.1 1.5-.8 1.4-1.6V6.9c.1-.8-.6-1.5-1.5-1.5zM6.9 19.5H3.7c-.9 0-1.6.7-1.6 1.6v3.2c0 .9.7 1.6 1.6 1.6H7c.9-.1 1.5-.8 1.4-1.6v-3.2c.1-.8-.6-1.6-1.5-1.6zM20.9 39.7c0-1.8.6-3.6 1.7-5v-.5-.6h-6.1c-.9 0-1.6.7-1.6 1.6v3.2c0 .9.7 1.6 1.6 1.6h4.4v-.3zM35.2 31.4c.8-.8 1.9-1.3 3.2-1.3 1.7 0 3.1.9 3.9 2.2.6-.2 1.4-.5 2.2-.5 2.9 0 5.4 2.5 5.4 5.3 0 2.9-2.5 5.3-5.4 5.3-.3 0-.7 0-1-.1-.6 1.2-2 2-3.4 2-.6 0-1.2-.2-1.7-.4-.7 1.6-2.3 2.7-4.1 2.7-2 0-3.6-1.2-4.2-2.9-.2 0-.6.1-.9.1-2.3 0-4.2-1.8-4.2-4.1 0-1.5.8-2.9 2.1-3.6-.2-.6-.4-1.2-.4-1.9 0-2.6 2.2-4.8 4.8-4.8 1.4.1 2.9.8 3.7 2z"}},picklist_type:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M48.3 14.9H16.4c-.9 0-1.6-.7-1.6-1.6v-3.2c0-.9.7-1.6 1.6-1.6h31.9c.9 0 1.6.7 1.6 1.6v3.2c0 .9-.7 1.6-1.6 1.6zM48.3 29.2H16.4c-.9 0-1.6-.7-1.6-1.6v-3.2c0-.9.7-1.6 1.6-1.6h31.9c.9 0 1.6.7 1.6 1.6v3.2c0 .9-.7 1.6-1.6 1.6zM6.9 29.2H3.7c-.9 0-1.6-.7-1.6-1.6v-3.2c0-.9.7-1.6 1.6-1.6h3.2c.9 0 1.6.7 1.6 1.6v3.2c0 .9-.7 1.6-1.6 1.6zM6.9 14.9H3.7c-.9 0-1.6-.7-1.6-1.6v-3.2c0-.9.7-1.6 1.6-1.6h3.2c.9 0 1.6.7 1.6 1.6v3.2c0 .9-.7 1.6-1.6 1.6zM6.9 43.5H3.7c-.9 0-1.6-.7-1.6-1.6v-3.2c0-.9.7-1.6 1.6-1.6h3.2c.9 0 1.6.7 1.6 1.6v3.2c0 .9-.7 1.6-1.6 1.6zM48.3 43.5H16.4c-.9 0-1.6-.7-1.6-1.6v-3.2c0-.9.7-1.6 1.6-1.6h31.9c.9 0 1.6.7 1.6 1.6v3.2c0 .9-.7 1.6-1.6 1.6z"}},pin:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M49.5 15.4L36 1.9c-1.4-1.4-3.6-1.4-5 0s-1.4 3.6 0 5l.7.7-16.2 10.7-.5-.5c-1.4-1.4-3.6-1.4-5 0s-1.4 3.6 0 5l7.2 7.2L2.4 44.8c-1.4 1.4-1.4 3.7 0 5.1 1.4 1.4 3.7 1.4 5.1 0L22.3 35l6.3 6.3c1.4 1.4 3.6 1.4 5 0s1.4-3.6 0-5l-.5-.5 10.6-16.3.7.7c1.4 1.4 3.6 1.4 5 0 1.4-1.2 1.4-3.4.1-4.8z"}},pinned:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M36.9 23.7h-.5L33 7.9h.9c1.6 0 2.9-1.3 2.9-2.9s-1.3-2.9-2.9-2.9H18.1c-1.6 0-2.9 1.3-2.9 2.9s1.3 2.9 2.9 2.9h.9l-3.3 15.8h-.5c-1.6 0-2.9 1.3-2.9 2.9s1.3 2.9 2.9 2.9h8.4v17.4c0 1.6 1.3 3 3 3s3-1.3 3-3V29.6H37c1.6 0 2.9-1.3 2.9-2.9s-1.4-3-3-3z"}},planning_poker:{xmlns:"http://www.w3.org/2000/svg",g:{path:{d:"M48.34 10l-6.27-2v29.12L49.88 13a2.41 2.41 0 00-1.53-3zM20.52 5.59L16.81 6.8 3.66 11.08a2.42 2.42 0 00-1.55 3l10.18 31.35a2.41 2.41 0 003 1.57l14-4.56 2.85-.94a2.39 2.39 0 001.56-3L23.59 7.14a2.4 2.4 0 00-3-1.57zM37.34 34.06V7.3a2.41 2.41 0 00-2.41-2.41H27.8a6.07 6.07 0 01.32.8l9.05 27.75a5.24 5.24 0 01.17.62z"}}},play:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M8 43.7V8.3c0-1 1.3-1.7 2.2-.9l33.2 17.3c.8.6.8 1.9 0 2.5L10.2 44.7c-.9.7-2.2.1-2.2-1z"}},podcast_webinar:{xmlns:"http://www.w3.org/2000/svg",g:{path:[{d:"M48 22.8c0-4.9-1.8-9.6-5-13.2l-.4-.4C38.6 4.8 32.6 2 26 2 19.7 2 13.9 4.6 9.9 8.6h-.1C6.1 12.4 4 17.5 4 22.8 4 28.1 6.1 33.2 9.9 37c.8.8 2 .8 2.8 0s.8-2.1 0-2.9c-2.9-2.9-4.6-7-4.6-11.2 0-3.7 1.3-7.1 3.4-9.9.4-.5.7-.9 1.2-1.3.1-.1.2-.2.2-.3C16.2 8 20.9 6 26 6c9.8 0 17.8 7.6 17.9 16.9 0 4.2-1.7 8.3-4.7 11.2-.8.8-.8 2.1 0 2.9s2.1.8 2.9 0c3.8-3.8 5.9-8.8 5.9-14.2z"},{d:"M39.6 22.9c0-.1 0-.1 0 0 0-.1 0-.1 0 0 0-.1 0-.1 0 0 0-7.2-6.1-13-13.6-13-6.2 0-11.4 3.9-13.1 9.2-.4 1.2-.6 2.4-.6 3.7 0 3.1 1.2 6.1 3.4 8.3.8.8 2.1.8 2.9 0 .8-.8.8-2.1 0-2.9-1.4-1.4-2.2-3.3-2.2-5.3 0-4.9 4.5-8.8 9.6-8.8s9.6 4 9.6 8.8c0 2-.8 3.9-2.2 5.3-.8.8-.8 2.1 0 2.9.8.8 2 .8 2.8 0 2.2-2.2 3.4-5.1 3.4-8.2zM28.2 32.4h-4.4c-1.7 0-3.2 1.4-3.2 3.2v11.3c0 1.7 1.4 3.2 3.2 3.2h4.4c1.7 0 3.2-1.4 3.2-3.2V35.5c0-1.7-1.5-3.1-3.2-3.1z"}],circle:{cx:"26",cy:"23.2",r:"5.4"}}},pop_in:{xmlns:"http://www.w3.org/2000/svg",path:[{d:"M22 31.3h19.1c.8 0 1.6-.5 1.6-1.3v-3c0-.8-.7-1.7-1.6-1.7h-7.9c-.9 0-1.4-1-.7-1.6l17-17c.6-.6.6-1.5 0-2.1l-2.1-2.1c-.6-.6-1.5-.6-2.1 0l-17 17c-.6.6-1.6.2-1.6-.7v-7.9c0-.8-.8-1.7-1.6-1.7h-2.9c-.8 0-1.5.9-1.5 1.7v19c.1.9.5 1.3 1.3 1.4z"},{d:"M37 35.3h-4c-.6 0-1 .4-1 1v6.2c0 .8-.7 1.5-1.5 1.5h-21c-.8 0-1.5-.7-1.5-1.5v-21c0-.8.7-1.5 1.4-1.5h6.3c.6 0 1-.4 1-1v-4c0-.6-.4-1-1-1H6c-2.2 0-4 1.8-4 4v28c0 2.2 1.8 4 4 4h28c2.2 0 4-1.8 4-4v-9.7c0-.6-.4-1-1-1z"}]},power:{xmlns:"http://www.w3.org/2000/svg",g:{path:[{d:"M34.4 7.7c-.7-.3-1.4.2-1.4.9v3.8c0 .7.4 1.4 1 1.7 5.3 3 8.7 9 7.9 15.7-.8 7.3-6.7 13.3-14.1 14.1C18.2 45 10 37.4 10 28c0-5.9 3.2-11.1 8-13.9.6-.3 1-1 1-1.7V8.6c0-.7-.7-1.2-1.4-.9C9.1 11.2 3.2 20 4.1 30c.9 10.3 9.1 18.7 19.4 19.9C36.7 51.3 48 41 48 28c0-9.2-5.6-17-13.6-20.3z"},{d:"M29 3.5c0-.8-.7-1.5-1.5-1.5h-3c-.8 0-1.5.7-1.5 1.5v17c0 .8.7 1.5 1.5 1.5h3c.8 0 1.5-.7 1.5-1.5v-17z"}]}},preview:{xmlns:"http://www.w3.org/2000/svg",g:{path:[{d:"M51.8 25.1C47.1 15.6 37.3 9 26 9S4.9 15.6.2 25.1c-.3.6-.3 1.3 0 1.8C4.9 36.4 14.7 43 26 43s21.1-6.6 25.8-16.1c.3-.6.3-1.2 0-1.8zM26 37c-6.1 0-11-4.9-11-11s4.9-11 11-11 11 4.9 11 11-4.9 11-11 11z"},{d:"M26 19c-3.9 0-7 3.1-7 7s3.1 7 7 7 7-3.1 7-7-3.1-7-7-7z"}]}},price_book_entries:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M25 2.3l11.7.2a5.51 5.51 0 012.5 1l4.6 4.6 4.6 4.6a3.55 3.55 0 011 2.5l.3 11.8a3.55 3.55 0 01-1 2.5L29.5 48.7a3.69 3.69 0 01-5 0L13.9 38.1 3.3 27.5a3.69 3.69 0 010-5L22.5 3.3a3.55 3.55 0 012.5-1zM18.6 21l-1.9 1.8a.85.85 0 000 1.3l11.2 11.2a.85.85 0 001.3 0l1.9-1.9a.85.85 0 000-1.3L19.7 21a.65.65 0 00-1.1 0zm5.3-5.4L22 17.5a.85.85 0 000 1.3L33.2 30a.85.85 0 001.3 0l1.9-1.9a.85.85 0 000-1.3L25.1 15.6a.91.91 0 00-1.2 0zM42 10a3.69 3.69 0 00-5 0 3.69 3.69 0 000 5 3.69 3.69 0 005 0 3.69 3.69 0 000-5z"}},price_books:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M8.6 36.9V29H7a3.22 3.22 0 01-3.2-3.2 3.26 3.26 0 013-3.2h1.8v-7.9H7a3.22 3.22 0 01-3.2-3.2 3.26 3.26 0 013-3.2h1.8V6.8a4.79 4.79 0 014.6-4.6h30c2.6 0 4.9 1.65 5 4.15V44.6a5.39 5.39 0 01-4.8 5.2h-30A5.26 5.26 0 018.5 45v-1.7H7a3.22 3.22 0 01-3.2-3.2 3.26 3.26 0 013-3.2zm18.9-23.2a2 2 0 00-1.5.6L14.8 25.4a2.05 2.05 0 000 2.9l12.3 12.3a2.05 2.05 0 002.9 0l11.2-11.2a2 2 0 00.6-1.5l-.2-6.8a1.68 1.68 0 00-.6-1.4l-5.3-5.4a2.25 2.25 0 00-1.4-.6zm-3.9 10.8a.48.48 0 01.7 0l6.5 6.5a.48.48 0 010 .7l-1.1 1.1a.48.48 0 01-.7 0l-6.5-6.5a.48.48 0 010-.7zm3.2-3a.48.48 0 01.7 0L34 28a.48.48 0 010 .7l-1 1a.48.48 0 01-.7 0l-6.5-6.5a.48.48 0 010-.7zm10.5-3.3a2.05 2.05 0 11-2.9 0 2.05 2.05 0 012.9 0z"}},pricing_workspace:{xmlns:"http://www.w3.org/2000/svg",path:[{d:"M15.1 2.1a1.63 1.63 0 011.7 1.7v1.1a1.63 1.63 0 01-1.7 1.7H10a3.4 3.4 0 00-3.4 3.2V42a3.4 3.4 0 003.2 3.4H42a3.4 3.4 0 003.4-3.2v-5.3a1.63 1.63 0 011.7-1.7h1.1a1.63 1.63 0 011.7 1.7v6.2a6.81 6.81 0 01-6.8 6.8H8.9a6.81 6.81 0 01-6.8-6.8V8.9a6.81 6.81 0 016.8-6.8z","fill-rule":"evenodd"},{d:"M29.7 4.9l8.4.2a4 4 0 011.8.7l3.3 3.3 3.3 3.3a2.41 2.41 0 01.7 1.8l.2 8.4a2.64 2.64 0 01-.7 1.9L32.9 38.4a2.53 2.53 0 01-3.6 0l-7.6-7.6-7.6-7.6a2.53 2.53 0 010-3.6L27.9 5.7a2.34 2.34 0 011.8-.8zM25 18.4l-1.4 1.4a.75.75 0 000 .9l8.1 8.1a.75.75 0 00.9 0l1.4-1.4a.75.75 0 000-.9l-8.1-8.1a.56.56 0 00-.9 0zm3.8-3.8L27.5 16a.75.75 0 000 .9l8.1 8.1a.75.75 0 00.9 0l1.4-1.4a.75.75 0 000-.9l-8.1-8.1c-.3-.3-.6-.3-1 0zm13.1-4.1a2.55 2.55 0 100 3.6 2.54 2.54 0 000-3.6z"}]},print:{xmlns:"http://www.w3.org/2000/svg",g:{path:{d:"M46.5 17.4h-41c-2.2 0-4 1.8-4 4v14c0 2.2 1.8 4 4 4h5.9v5.8c0 2.2 1.8 4 4 4h21.3c2.2 0 4-1.8 4-4v-5.8h5.9c2.2 0 4-1.8 4-4v-14c-.1-2.2-1.9-4-4.1-4zM8.3 27.7c-1.7 0-3-1.3-3-3s1.3-3 3-3 3 1.3 3 3-1.3 3-3 3zm27.6 15.4c0 .8-.7 1.5-1.5 1.5h-17c-.8 0-1.5-.7-1.5-1.5v-9.8c0-.8.7-1.5 1.5-1.5h17c.8 0 1.5.7 1.5 1.5v9.8zM40.5 11.1c0 .8-.7 1.5-1.5 1.5H12.8c-.8 0-1.5-.7-1.5-1.5V4.3c0-.8.7-1.5 1.5-1.5H39c.8 0 1.5.7 1.5 1.5v6.8z"}}},priority:{xmlns:"http://www.w3.org/2000/svg",g:{path:{d:"M9 3.5C9 2.7 8.3 2 7.5 2h-3C3.7 2 3 2.7 3 3.5v45c0 .8.7 1.5 1.5 1.5h3c.8 0 1.5-.7 1.5-1.5v-45zM47.5 7.7c-16 8.4-14.2-8.8-33.5-2.1-.6.2-1 .8-1 1.4v23.3c0 .7.7 1.2 1.3.9 19.2-6.4 17.2 11.2 33.9 1.8.5-.3.8-.8.8-1.3V8.5c0-.7-.8-1.2-1.5-.8z"}}},privately_shared:{xmlns:"http://www.w3.org/2000/svg",path:[{d:"M35.6 39.5c-.7-4.1-4.9-6.2-8.3-7.7-1.5-.7-3.6-1.5-4.2-3.3-.4-1-.2-2 .3-2.9.9-.9 1.7-1.7 2.4-2.8.2-.3.3-.5.5-.8 2-2.9 2.3-6.9 1.1-10.2-1.2-3.6-4.4-6-8.3-6.1h-.6c-3.9.1-7.1 2.5-8.3 6.1-1.2 3.4-.9 7.3 1.1 10.2.1.3.3.5.5.8.7 1.1 1.6 1.9 2.4 2.8.4.9.6 1.9.3 2.9-.6 1.8-2.7 2.6-4.2 3.3-3.4 1.5-7.6 3.6-8.3 7.7-.7 3.4 1.6 6.8 5.2 6.8h23.6c3.2 0 5.5-3.4 4.8-6.8zM41.3 9.9c4.1-.2 7.4 3 7.4 7.1 0 .3-.2.4-.4.4h-1.8c-.3 0-.4-.1-.4-.4v.1c0-2.4-1.8-4.4-4.1-4.6-2.6-.2-4.7 1.9-4.7 4.4 0 .3-.2.4-.4.4h-1.8c-.2 0-.4-.2-.4-.4 0-3.6 2.9-6.8 6.6-7z"},{d:"M48.7 19.2H34.6c-1 0-1.8.8-1.8 1.8v8.4c0 1 .8 1.8 1.8 1.8h14.1c1 0 1.8-.8 1.8-1.8V21c0-1-.8-1.8-1.8-1.8zm-5 8.7c.1.3-.1.6-.4.6H40c-.3 0-.5-.3-.4-.6l.8-2.6c-.7-.4-1.1-1.2-.9-2.1.2-.8.8-1.5 1.7-1.7 1.4-.3 2.6.7 2.6 2.1 0 .7-.4 1.4-.9 1.7l.8 2.6z"}]},process:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M16.2 23.2l8.5-10.6c.6-.8 1.8-.8 2.4 0l8.5 10.7c.3.4.7.7 1.2.7h9.6c.8 0 1.6-.7 1.6-1.5V8c0-2.2-1.9-4-4.1-4H8C5.8 4 4 5.8 4 8v14.5c0 .8.7 1.5 1.5 1.5H15c.5 0 .9-.4 1.2-.8zM35.7 28.8l-8.5 10.6c-.6.8-1.8.8-2.4 0l-8.5-10.7c-.4-.3-.8-.7-1.3-.7H5.5c-.8 0-1.5.7-1.5 1.5V44c0 2.2 1.8 4 4 4h36c2.2 0 4-1.8 4-4V29.5c0-.8-.7-1.5-1.5-1.5h-9.6c-.5 0-.9.4-1.2.8z"}},product_quantity_rules:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M21.45 32.64H5.36a1.29 1.29 0 00-1.28 1.29v1.28a1.28 1.28 0 001.28 1.28h16.09a1.28 1.28 0 001.28-1.28v-1.28a1.29 1.29 0 00-1.28-1.29zM21.45 41.66H5.36A1.29 1.29 0 004.08 43v1.32a1.28 1.28 0 001.28 1.28h16.09a1.28 1.28 0 001.28-1.28V43a1.29 1.29 0 00-1.24-1.34zM46.65 32.64H30.57a1.29 1.29 0 00-1.28 1.29v1.28a1.28 1.28 0 001.28 1.28h16.08a1.28 1.28 0 001.29-1.27v-1.29a1.29 1.29 0 00-1.29-1.29zM46.65 41.66H30.57A1.29 1.29 0 0029.29 43v1.32a1.28 1.28 0 001.28 1.28h16.08a1.28 1.28 0 001.29-1.27V43a1.29 1.29 0 00-1.24-1.34zM38.61 6.52a10.17 10.17 0 1010.17 10.17A10.19 10.19 0 0038.61 6.52zm5 10.88a.63.63 0 01-.61.6h-8.79a.6.6 0 01-.64-.55 8.66 8.66 0 010-1.44.66.66 0 01.64-.55H43a.64.64 0 01.63.55 9.22 9.22 0 010 1.39zM20.63 9.45a10.21 10.21 0 100 14.44 10.21 10.21 0 000-14.44zm-.43 8.07a.4.4 0 01-.38.42h-4.71a.45.45 0 00-.43.43V23a.44.44 0 01-.42.42h-1.7a.4.4 0 01-.43-.37v-4.68a.4.4 0 00-.37-.43H7a.4.4 0 01-.43-.37v-1.75a.45.45 0 01.43-.43h4.67a.4.4 0 00.42-.38V10.3a.47.47 0 01.43-.43h1.7a.42.42 0 01.42.42V15a.4.4 0 00.38.42h4.72a.45.45 0 01.42.43z"}},product_service_campaign:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M24 35.33a.81.81 0 01.81.71v11.52A2.44 2.44 0 0122.49 50H6.07a2.45 2.45 0 01-2.44-2.28V36.15a.81.81 0 01.71-.81H24zm23.61 0a.82.82 0 01.81.71v11.52A2.44 2.44 0 0146.09 50H29.67a2.44 2.44 0 01-2.43-2.28V36.15a.81.81 0 01.71-.81h19.61zM17.69 38.7l-.09.07-4.6 5.06-2.11-2a.62.62 0 00-.79-.07l-.08.07-.87.78a.49.49 0 00-.07.71l.07.08 3 2.83a1.25 1.25 0 00.87.36 1.15 1.15 0 00.87-.36l5.52-5.84a.63.63 0 00.06-.72l-.06-.07-.87-.78a.61.61 0 00-.85-.12zm23.61 0l-.09.07-4.66 5.06-2.11-2a.61.61 0 00-.78-.07l-.09.07-.87.78a.49.49 0 00-.06.71l.06.08 3 2.83a1.25 1.25 0 00.87.36 1.14 1.14 0 00.87-.36L43 40.34a.65.65 0 000-.72v-.07l-.87-.78a.61.61 0 00-.83-.07zM22.54 27.18a2.36 2.36 0 012.27 2.28v2.61a.81.81 0 01-.66.81H2.76a.78.78 0 01-.76-.7v-2.55a2.38 2.38 0 012.13-2.44h18.41zm25.18 0A2.36 2.36 0 0150 29.46v2.61a.81.81 0 01-.66.81h-21.4a.78.78 0 01-.75-.71v-2.54a2.38 2.38 0 012.13-2.44h18.4zm-12-17a.81.81 0 01.8.71v11.48a2.44 2.44 0 01-2.28 2.44H17.87a2.46 2.46 0 01-2.44-2.29V11a.81.81 0 01.71-.8h19.62zm-6.27 3.37l-.08.07-4.66 5.06-2.11-2a.61.61 0 00-.78-.07l-.09.07-.87.78a.5.5 0 00-.07.71l.07.08 3 2.82a1.22 1.22 0 00.87.37 1.13 1.13 0 00.87-.37l5.53-5.83a.65.65 0 00.05-.72l-.05-.07-.87-.78a.62.62 0 00-.77-.15zM35.76 2a2.44 2.44 0 012.43 2.28v2.61a.83.83 0 01-.71.81H14.62a.81.81 0 01-.81-.7V4.44A2.44 2.44 0 0116.08 2z"}},product_service_campaign_item:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M45.2 19.6a1.6 1.6 0 011.59 1.45V43.6a4.82 4.82 0 01-4.59 4.8H10a4.82 4.82 0 01-4.8-4.59V21.2a1.6 1.6 0 011.45-1.59H45.2zm-12.39 6.67l-.11.08-9.16 9.93-4.15-4a1.2 1.2 0 00-1.61-.08l-.1.08L16 33.8a1 1 0 00-.09 1.44l.09.1 5.86 5.55a2.47 2.47 0 001.71.71 2.27 2.27 0 001.71-.71l4.9-5.16.39-.41.52-.55 5-5.3A1.25 1.25 0 0036.2 28l-.07-.09-1.72-1.54a1.19 1.19 0 00-1.6-.1zM45.2 3.6A4.81 4.81 0 0150 8.4v4.8a1.6 1.6 0 01-1.6 1.6H3.6A1.6 1.6 0 012 13.2V8.4a4.81 4.81 0 014.8-4.8z"}},product_warranty_term:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M38.77 25.61c1.42 0 2.54 1.54 3.79 2.07s3.19.24 4.13 1.24.71 2.84 1.24 4.14S50 35.42 50 36.84s-1.54 2.54-2.07 3.78-.23 3.19-1.24 4.14-2.83.7-4.13 1.24-2.37 2.06-3.79 2.06S36.23 46.53 35 46s-3.19-.24-4.13-1.24-.71-2.84-1.24-4.14-2.07-2.36-2.07-3.78 1.53-2.54 2.07-3.78.23-3.19 1.24-4.14 2.83-.71 4.13-1.24 2.36-2.07 3.77-2.07zM26.71 41a4.82 4.82 0 01.38.7c.5 1.22.47 2.83.89 4.08H3.39A1.5 1.5 0 012 44.15v-1.59A1.51 1.51 0 013.39 41h23.32zM43 33.18a.55.55 0 00-.81 0l-4.38 5-2-2a.55.55 0 00-.81 0l-.82.77a.52.52 0 000 .77l2.8 2.8a1.13 1.13 0 00.82.35 1.05 1.05 0 00.82-.35l5.19-5.77a.62.62 0 000-.77zM6.65 12.3A1.38 1.38 0 018 13.73V36a1.38 1.38 0 01-1.32 1.43H3.33A1.39 1.39 0 012 36V13.73a1.39 1.39 0 011.33-1.43h3.32zm19 0a1.43 1.43 0 011.43 1.43V32c-.68 1.57-2.63 3-2.63 4.81a2.48 2.48 0 00.06.54h-3.16A1.43 1.43 0 0119.92 36V13.73a1.43 1.43 0 011.43-1.43h4.3zm-9.71 0a1.52 1.52 0 011.59 1.43V36a1.52 1.52 0 01-1.59 1.43h-1.6A1.52 1.52 0 0112.75 36V13.73a1.52 1.52 0 011.59-1.43h1.6zm17.91 0a1.52 1.52 0 011.6 1.43v10.48a7 7 0 01-1.5.94 19.63 19.63 0 01-3.28.69V13.73a1.52 1.52 0 011.59-1.43h1.59zm8.63 0a1.39 1.39 0 011.33 1.43v11.5l-.21-.08c-1.58-.67-3-2.63-4.83-2.63a2.79 2.79 0 00-.94.17v-9a1.39 1.39 0 011.33-1.43h3.32zm-.07-8.36a1.51 1.51 0 011.4 1.59v1.59a1.51 1.51 0 01-1.4 1.59h-39A1.5 1.5 0 012 7.12V5.53a1.5 1.5 0 011.39-1.59h39z"}},product_workspace:{xmlns:"http://www.w3.org/2000/svg",path:[{d:"M15.2 2.2a1.63 1.63 0 011.7 1.7V5a1.63 1.63 0 01-1.7 1.7h-5.1a3.4 3.4 0 00-3.4 3.2v32a3.4 3.4 0 003.2 3.4h32a3.4 3.4 0 003.4-3.2v-5.3a1.63 1.63 0 011.7-1.7h1.1a1.63 1.63 0 011.7 1.7V43a6.81 6.81 0 01-6.8 6.8H9A6.81 6.81 0 012.2 43V9A6.81 6.81 0 019 2.2z","fill-rule":"evenodd"},{d:"M40.4 25.4l3.1-3.1a1 1 0 000-1.5L31 8.2a1 1 0 00-1.5 0l-3.1 3.1a1 1 0 000 1.5l12.5 12.5a1 1 0 001.5.1zM47.4 18.3l1.5-1.5a1 1 0 000-1.5L36.5 2.7a1 1 0 00-1.5 0l-1.5 1.5a1 1 0 000 1.5L46 18.3a1 1 0 001.4 0zM36.8 28.9c.6-.6.5-1.1.1-1.5L24.4 14.9a1 1 0 00-1.5 0l-.1.1a1 1 0 000 1.5L35.3 29a1 1 0 001.5-.1zM32.4 33.3l.7-.7a1 1 0 000-1.5L20.7 18.5a1 1 0 00-1.5 0l-.7.7a1 1 0 000 1.5L31 33.2c.3.6.9.6 1.4.1zM25.7 40.1l3.1-3.1a1 1 0 000-1.5L16.3 22.9a1 1 0 00-1.5 0L11.7 26a1 1 0 000 1.5L24.2 40a1 1 0 001.5.1z"}]},products:{xmlns:"http://www.w3.org/2000/svg",g:{path:{d:"M31.9 39.5h6a1.42 1.42 0 001.5-1.5V14a1.42 1.42 0 00-1.5-1.5h-6a1.42 1.42 0 00-1.5 1.5v24a1.42 1.42 0 001.5 1.5zM45.4 39.5h3a1.42 1.42 0 001.5-1.5V14a1.42 1.42 0 00-1.5-1.5h-3a1.42 1.42 0 00-1.5 1.5v24a1.42 1.42 0 001.5 1.5zM25 39.5a1.37 1.37 0 001.5-1.5V14a1.42 1.42 0 00-1.5-1.5 1.42 1.42 0 00-1.5 1.5v24a1.37 1.37 0 001.5 1.5zM16.6 39.5H18a1.42 1.42 0 001.5-1.5V14a1.42 1.42 0 00-1.5-1.5h-1.5A1.42 1.42 0 0015 14v24a1.45 1.45 0 001.6 1.5zM3.6 39.5h6a1.42 1.42 0 001.5-1.5V14a1.42 1.42 0 00-1.5-1.5h-6A1.42 1.42 0 002.1 14v24a1.47 1.47 0 001.5 1.5z"}}},profile:{xmlns:"http://www.w3.org/2000/svg",circle:{cx:"26",cy:"20.7",r:"6.15"},path:{d:"M27.14 2.72a1.89 1.89 0 00-2.28 0c-8.42 6.34-16.37 12.33-16.37 24A16.92 16.92 0 0013.19 39c.24.24.48.47.74.7a17.9 17.9 0 0010.53 4.19L22.74 47s-2 2.68 2.69 2.68h1.14c4.72 0 2.68-2.68 2.68-2.68l-1.71-3.06a17.9 17.9 0 0010.53-4.19c3.56-3.13 5.44-7.64 5.44-13 0-11.7-7.95-17.69-16.37-24.03zm10.1 32.37a9.74 9.74 0 01-1 1.13A10.77 10.77 0 0016 35.67 10.17 10.17 0 0114.53 34a15 15 0 01-1.94-10.84c1.24-6.62 6.07-11 13.41-16.56 8.57 6.52 13.73 11.4 13.73 20.08a13.73 13.73 0 01-2.49 8.41z"}},promotions:{xmlns:"http://www.w3.org/2000/svg",path:[{d:"M33.39 28.66a3.12 3.12 0 103.15 3.13 3.12 3.12 0 00-3.15-3.13zM18.52 17.08a3.12 3.12 0 103.12 3.13 3.12 3.12 0 00-3.12-3.13z"},{d:"M48.77 22.84l-2.61-3.13a5.61 5.61 0 01-1.31-3.24l-.3-4a5.13 5.13 0 00-4.69-4.78l-3.49-.28a7.36 7.36 0 01-4.2-1.79l-2.65-2.33a5.15 5.15 0 00-6.7-.06l-2.88 2.43a6.64 6.64 0 01-3.79 1.54l-3.74.26a5.14 5.14 0 00-4.78 4.7l-.27 3.41a7.49 7.49 0 01-1.8 4.24l-2.29 2.64a5.14 5.14 0 00-.06 6.69l2.49 3a6.21 6.21 0 011.42 3.56l.28 3.85a5.15 5.15 0 004.69 4.78l3.5.31a7.23 7.23 0 014.18 1.78l2.66 2.3a5.17 5.17 0 006.7.05l3.05-2.55a5.9 5.9 0 013.4-1.36l4-.29a5.13 5.13 0 004.78-4.69l.29-3.24a8.18 8.18 0 012-4.64l2.13-2.43a5.12 5.12 0 00-.01-6.73zm-36-2.63A5.8 5.8 0 1118.58 26a5.79 5.79 0 01-5.82-5.76zm8.39 17.11a.46.46 0 01-.35.23h-1.73a.45.45 0 01-.37-.22.42.42 0 010-.43l12.12-22.25a.51.51 0 01.36-.22H33a.43.43 0 01.21.58zm18.13-5.54a4.51 4.51 0 10-.08 0z"}]},prompt:{xmlns:"http://www.w3.org/2000/svg",path:{"fill-rule":"evenodd","clip-rule":"evenodd",d:"M47 4.5H5c-1.7 0-3 1.3-3 3v30.6c0 1.7 1.3 3 3 3h14.5l3.6 5.2c1 1.4 2.8 1.7 4.2.7l.6-.6 4.2-5.3H47c1.7 0 3-1.3 3-3V7.5c0-1.7-1.3-3-3-3z"}},prompt_edit:{xmlns:"http://www.w3.org/2000/svg",path:{"fill-rule":"evenodd","clip-rule":"evenodd",d:"M47 4.5H5c-1.7 0-3 1.3-3 3v30.6c0 1.7 1.3 3 3 3h14.5l3.6 5.2c1 1.4 2.8 1.7 4.2.7l.6-.6 4.2-5.3H47c1.7 0 3-1.3 3-3V7.5c0-1.7-1.3-3-3-3zM21.3 32c-.2.2-.3.3-.5.3l-5 1.2c-.5.1-.9-.3-.8-.8l1.2-5c0-.1.1-.3.2-.4l.1-.1c.1-.1.4-.1.6 0l4.2 4.2c.1.2.1.5 0 .6zm12.1-12.3L23.1 30c-.2.2-.5.2-.6 0l-4.1-4.1c-.2-.1-.2-.4 0-.6L28.6 15c.2-.2.5-.2.6 0l4.1 4.1c.2.2.2.4.1.6zm3.1-3l-1.2 1.2c-.2.2-.5.2-.6 0l-4.1-4.1c-.2-.2-.2-.5 0-.6l1.1-1.2c.7-.7 1.9-.7 2.6 0l2.2 2.2c.7.7.7 1.8 0 2.5z"}},propagation_policy:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M13.6 2H8a6 6 0 00-6 6v4a6 6 0 006 6h5.6a6 6 0 006-6V8a6 6 0 00-6-6zm-2 11.2H10a3.2 3.2 0 010-6.4h1.6a3.2 3.2 0 010 6.4zM30.4 18H36a6 6 0 006-6V8a6 6 0 00-6-6h-5.6a6 6 0 00-6 6v4a6 6 0 006 6zm2-11.2H34a3.2 3.2 0 110 6.4h-1.6a3.2 3.2 0 110-6.4zM13.6 22.8H8a6 6 0 00-6 6v4a6 6 0 006 6h5.6a6 6 0 006-6v-4a6 6 0 00-6-6zm-2 11.2H10a3.2 3.2 0 110-6.4h1.6a3.2 3.2 0 110 6.4zM47.6 39.6h-8v-2.82a7.2 7.2 0 10-4.8 0v2.82h-8a2.39 2.39 0 00-2.4 2.4v5.62A2.39 2.39 0 0026.8 50a2.39 2.39 0 002.38-2.4v-3.2h5.6v3.22A2.39 2.39 0 0037.2 50a2.39 2.39 0 002.38-2.4v-3.2h5.6v3.22A2.39 2.39 0 0047.6 50a2.39 2.39 0 002.4-2.4V42a2.39 2.39 0 00-2.4-2.4zm-10.4-12a2.4 2.4 0 11-2.4 2.4 2.39 2.39 0 012.42-2.4z","fill-rule":"evenodd"}},push:{xmlns:"http://www.w3.org/2000/svg",g:{path:[{d:"M44 2H20c-2.2 0-4 1.8-4 4v.1c0 .7.4 1.4 1 1.8.3.2 4.1 4 4.1 4 .3.3.8 0 .8-.4 0-.8.7-1.6 1.5-1.6h17c.8 0 1.6.8 1.6 1.6v27c0 .8-.8 1.4-1.6 1.4h-17c-.8 0-1.4-.6-1.4-1.4v-.1c0-.4-.5-.6-.8-.3 0 0-3.8 3.8-4.2 4-.6.4-1 1-1 1.8v2c0 2.2 1.7 4 3.9 4h24c2.2 0 4.1-1.8 4.1-4V6c0-2.2-1.8-4-4-4zM32 48c-1.7 0-3-1.3-3-3s1.3-3 3-3 3 1.3 3 3-1.3 3-3 3z"},{d:"M27.6 23.9L15.1 11.4c-.6-.6-1.5-.6-2.1 0l-2.1 2.1c-.6.6-.6 1.5 0 2.1l4.6 4.6c.6.6.2 1.7-.7 1.7H1.5c-.8.1-1.5.8-1.5 1.6v3c0 .8.7 1.5 1.5 1.5h13.2c.9 0 1.3 1.1.7 1.7l-4.6 4.6c-.6.6-.6 1.5 0 2.1l2.1 2.1c.6.6 1.5.6 2.1 0L27.6 26c.5-.5.5-1.5 0-2.1z"}]}},puzzle:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M45 38.4c-.2 2.7-.5 5.6-1 8.4-.1.8-1 1.7-1.8 1.8-5.4.6-10.7 1-16.1 1-5.3 0-10.7-.3-16-1-.8-.1-1.7-.9-1.8-1.8-.7-4.4-1.1-8.9-1.1-13.4s.4-9 1.1-13.4c.1-.8 1-1.6 1.8-1.8 3.3-.4 6.5-.6 9.7-.8 0 0 2.6-.1 2.4-2.6-.2-2.2-4-3.7-4-7.4 0-3 3-5.4 7.9-5.4 4.8 0 7.8 2.4 7.8 5.4 0 3.8-3.7 5.2-3.9 7.4-.2 2.4 2.4 2.6 2.4 2.6 3.3.1 6.6.4 9.8.8.8.1 1.7.9 1.8 1.8.5 3.1.8 6 1 9.1 0 .9-.7 1.8-1.6 1.8h-.9c-.9 0-2.3-.7-2.9-1.4 0 0-2.1-2.2-4.4-2.3-3.7-.1-6.5 3.1-6.5 6.6s2.8 6.8 6.4 6.7c2.2-.1 4.4-2.3 4.4-2.3.7-.6 2-1.2 2.9-1.2h.9c1.1 0 1.8.6 1.7 1.4z"}},question:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M28.4 38h-5c-.8 0-1.4-.6-1.4-1.4v-1.5c0-4.2 2.7-8 6.7-9.4 1.2-.4 2.3-1.1 3.2-2.1 5-6 .4-13.2-5.6-13.4-2.2-.1-4.3.7-5.9 2.2-1.3 1.2-2.1 2.7-2.3 4.4-.1.6-.7 1.1-1.5 1.1h-5c-.9 0-1.6-.7-1.5-1.6.4-3.8 2.1-7.2 4.8-9.9 3.2-3 7.3-4.6 11.7-4.5C34.9 2.2 41.7 9 42 17.3c.3 7-4 13.3-10.5 15.7-.9.4-1.5 1.1-1.5 2v1.5c0 .9-.8 1.5-1.6 1.5zM30 48.5c0 .8-.7 1.5-1.5 1.5h-5c-.8 0-1.5-.7-1.5-1.5v-5c0-.8.7-1.5 1.5-1.5h5c.8 0 1.5.7 1.5 1.5v5z"}},question_mark:{xmlns:"http://www.w3.org/2000/svg",g:{path:{d:"M26.7 42.8c.8 0 1.5.7 1.5 1.5v3.2c0 .8-.7 1.5-1.5 1.5h-3.2c-.8 0-1.5-.7-1.5-1.5v-3.2c0-.8.7-1.5 1.5-1.5h3.2zM28.2 35.1c0-2.1 1.3-4 3.1-4.8h.1c5.2-2.1 8.8-7.2 8.8-13.2 0-7.8-6.4-14.2-14.2-14.2-7.2 0-13.2 5.3-14.2 12.2v.1c-.1.9.6 1.6 1.5 1.6h3.2c.8 0 1.4-.5 1.5-1.1v-.2c.7-3.7 4-6.5 7.9-6.5 4.5 0 8.1 3.6 8.1 8.1 0 2.1-.8 4-2.1 5.5l-.1.1c-.9 1-2.1 1.6-3.3 2-4 1.4-6.7 5.2-6.7 9.4v1.5c0 .8.6 1.4 1.4 1.4h3.2c.8 0 1.6-.6 1.6-1.5l.2-.4z"}}},questions_and_answers:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M50 28c0-3.9-2.5-7.3-6-8.5C43.7 9.8 35.8 2 26 2S8.3 9.8 8 19.5c-3.5 1.2-6 4.6-6 8.5 0 4.2 2.9 7.7 6.7 8.7C10.9 44.4 17.8 50 26 50s15.1-5.6 17.3-13.3c3.8-1 6.7-4.5 6.7-8.7zm-10-9l-.1-.1.4.1H40zM26 46c-7.7 0-14-6.5-14-14.4 0-2 .4-5 1.2-6.8.1-.3.3-.6.4-.9 3-1.2 5.6-3.3 7.3-6 3.5 4.4 9 7.4 15.1 7.4 2.1 0 2.7.1 2.9 0 .4 1.3.8 2.9.9 4.5-.6 2.5-4.5 4.9-10 5.2-.2-.5-.8-1-1.4-1h-5c-.8 0-1.4.8-1.4 1.6v3c0 .8.6 1.4 1.4 1.4h5c.7 0 1.2-.3 1.4-.9 3.6-.1 6.8-1.1 9.3-2.6C37.2 42 32.1 46 26 46z"}},quick_text:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M26.1 3.3C12.5 3.3 1.5 13.4 1.5 25.8c0 3.9 1.1 7.6 3 10.9.3.5.4 1.1.2 1.7l-3.2 8.7c-.3.8.5 1.5 1.3 1.3l8.8-3.4c.5-.2 1.1-.1 1.7.2 3.7 2.1 8.1 3.3 12.9 3.3 13.5-.1 24.5-10.1 24.5-22.6 0-12.5-11-22.6-24.6-22.6zM14.7 25c0-.5.4-1 1-1h15.9c.5 0 1 .4 1 1v2c0 .5-.4 1-1 1h-16c-.5 0-1-.4-1-1v-2zm22.9 9.6c0 .5-.4 1-1 1h-21c-.5 0-1-.4-1-1v-1.9c0-.5.4-1 1-1h21c.5 0 1 .4 1 1v1.9zm0-15.3c0 .5-.4 1-1 1h-21c-.5 0-1-.4-1-1v-1.9c0-.5.4-1 1-1h21c.5 0 1 .4 1 1v1.9z"}},quip:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M24.5 2.1c-12 .7-21.7 10.4-22.4 22.4C1.1 38.3 12.2 50 26 50h24V26C50 12.2 38.3 1.1 24.5 2.1zm-9.9 13.4c0-.9.7-1.6 1.6-1.6h19.6c.9 0 1.6.7 1.6 1.6v1.6c0 .9-.7 1.6-1.6 1.6H16.1c-.9 0-1.6-.7-1.6-1.6.1.1.1-1.6.1-1.6zm22.8 20.8c0 .9-.7 1.6-1.6 1.6H16.1c-.9 0-1.6-.7-1.6-1.6v-1.6c0-.9.7-1.6 1.6-1.6h19.6c.9 0 1.6.7 1.6 1.6v1.6h.1zm6-9.5c0 .9-.7 1.6-1.6 1.6H10.1c-.9 0-1.6-.7-1.6-1.6v-1.6c0-.9.7-1.6 1.6-1.6h31.7c.9 0 1.6.7 1.6 1.6v1.6z"}},quotation_marks:{xmlns:"http://www.w3.org/2000/svg",g:{path:{d:"M44.3 6.5c-9 0-15.9 7-15.9 16V44c0 .8.7 1.5 1.5 1.5h17c.8 0 1.5-.7 1.5-1.5V27c0-.8-.7-1.5-1.5-1.5H34.4v-3c0-5 4.9-10 9.9-10h2.6c.8 0 1.5-.7 1.5-1.5V8c0-.8-.7-1.5-1.5-1.5h-2.6zM19.5 6.5c-9 0-15.9 7-15.9 16V44c0 .8.7 1.5 1.5 1.5h17c.8 0 1.5-.7 1.5-1.5V27c0-.8-.7-1.5-1.5-1.5H9.6v-3c0-5 4.9-10 9.9-10h2.6c.8 0 1.5-.7 1.5-1.5V8c0-.8-.7-1.5-1.5-1.5h-2.6z"}}},quote:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M45.2 2.1H27.7c-1.1-.1-2.1.5-2.9 1.3L3.4 24.9c-1.8 1.8-1.8 4.9 0 6.8l17 17c1.8 1.8 4.9 1.8 6.8 0l21.7-21.8c.8-.8 1.3-2.1 1.2-3.2V6.9c-.1-2.6-2.3-4.8-4.9-4.8zM27.9 37.3l-1.1 1.1c-.6.6-1.6.6-2.2 0L13.7 27.6c-.6-.6-.6-1.6 0-2.2l1.1-1.1c.6-.6 1.6-.6 2.2 0l10.9 10.9c.7.5.7 1.5 0 2.1zm6.4-6.4L33.2 32c-.6.6-1.6.6-2.2 0L20.1 21.2c-.6-.6-.6-1.6 0-2.2l1.1-1.1c.6-.6 1.6-.6 2.2 0l10.9 10.9c.7.5.7 1.5 0 2.1zm4.5-13.6c-2.2 0-4-1.8-4-4s1.8-4 4-4 4 1.8 4 4-1.8 4-4 4z"}},radio_button:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M13.1 28.5C7.2 28.5 2.5 33.2 2.5 39s4.7 10.6 10.6 10.6c5.8 0 10.6-4.7 10.6-10.6-.1-5.8-4.8-10.5-10.6-10.5zm0 16.4c-3.2 0-5.9-2.6-5.9-5.9s2.6-5.9 5.9-5.9S19 35.7 19 39s-2.7 5.9-5.9 5.9zM38.9 28.5c-5.8 0-10.6 4.7-10.6 10.6 0 5.8 4.7 10.6 10.6 10.6 5.8 0 10.6-4.7 10.6-10.6 0-5.9-4.7-10.6-10.6-10.6zM13.1 2.5C7.2 2.5 2.5 7.2 2.5 13.1c0 5.8 4.7 10.6 10.6 10.6 5.8 0 10.6-4.7 10.6-10.6-.1-5.9-4.8-10.6-10.6-10.6zm0 16.4c-3.2 0-5.9-2.6-5.9-5.9s2.6-5.9 5.9-5.9S19 9.7 19 13s-2.7 5.9-5.9 5.9zM38.9 2.5c-5.8 0-10.6 4.7-10.6 10.6 0 5.8 4.7 10.6 10.6 10.6 5.8 0 10.6-4.7 10.6-10.6 0-5.9-4.7-10.6-10.6-10.6z"}},rating:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M27.413 3.101l4.6 15c.2.6.8.9 1.4.9h15c1.5 0 2.1 2 .9 2.9l-12.2 9c-.5.4-.7 1.1-.5 1.7l5.8 15.4c.4 1.4-1.1 2.6-2.3 1.7l-13.1-9.8c-.5-.4-1.2-.4-1.8 0l-13.2 9.8c-1.2.9-2.8-.3-2.3-1.7l5.6-15.4c.2-.6 0-1.3-.5-1.7l-12.2-9c-1.2-.9-.5-2.9.9-2.9h15c.7 0 1.2-.2 1.4-.9l4.7-15.1c.4-1.4 2.4-1.3 2.8.1zm-1.4 9.701C26 14.17 26 33.542 26 34.495c.187.153 2.933 2.194 8.24 6.125.7.525 1.574-.175 1.34-.992L32.31 31.02c-.35-.77 0-1.271.43-1.535l6.866-4.789c.7-.525.35-1.691-.525-1.691h-8.06c-.35 0-1.268-.117-1.517-1.016l-2.67-8.545a.89.89 0 00-.82-.642z"}},reassign:{xmlns:"http://www.w3.org/2000/svg",path:[{d:"M23.2 10.2C18.1 5.1 10 3.5 2.9 5.7c-.3 0-.7.5-.7 1.3v3.9c0 .8.7 1 1.1.9 5.4-2.2 12-1.2 16.3 3.3l1.1 1.1c.6.6.1 1.7-.7 1.7h-7.8c-.8 0-1.5.6-1.5 1.5v3c0 .8.6 1.5 1.5 1.5l19.2.2c.8 0 1.5-.6 1.5-1.5L33 3.5c0-.8-.6-1.5-1.5-1.5h-3c-.8 0-1.6.6-1.6 1.4l-.1 7.9c0 .8-1.1 1.3-1.7.7.1.1-1.9-1.8-1.9-1.8z"},{d:"M3.5 27.8h3c.8 0 1.5.7 1.5 1.5v13.2c0 .8.7 1.5 1.5 1.5h33c.8 0 1.5-.7 1.5-1.5V16.9c0-.8-.7-1.5-1.5-1.5h-4c-.8 0-1.5-.7-1.5-1.5v-3c0-.8.7-1.5 1.5-1.5H46c2.2 0 4 1.8 4 4V46c0 2.2-1.8 4-4 4H6c-2.2 0-4-1.8-4-4V29.3c0-.8.7-1.5 1.5-1.5z"}]},recipe:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M31.2 4.24A2.24 2.24 0 1129 2a2.24 2.24 0 012.2 2.24zM23 12.56a3 3 0 10-3-3 3 3 0 003 3zm19.44 31l-10-15.36V20a2.14 2.14 0 002.4-2.24A2 2 0 0033 15.6H19.2a2 2 0 00-2 2 2.09 2.09 0 000 .25 2.16 2.16 0 002.4 2.24v8.31l-10 15.2a4.26 4.26 0 00-.24 4.24A3.91 3.91 0 0012.88 50H39a3.9 3.9 0 003.52-2.16 4 4 0 00-.16-4.24zm-18.8-14V20.4h4.8v9.28l4.72 7.52H18.88z","fill-rule":"evenodd"}},record:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M26 8c9.9 0 18 8.1 18 18s-8.1 18-18 18S8 35.9 8 26 16.1 8 26 8z"}},record_create:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M40.8 7.7"},g:{path:[{d:"M17.2 11.6h17.6c.9 0 1.6-.7 1.6-1.6V6.8c0-2.6-2.2-4.8-4.8-4.8H20.4c-2.6 0-4.8 2.2-4.8 4.8V10c0 .9.7 1.6 1.6 1.6z"},{d:"M43.6 6H42c-.5 0-.8.3-.8.8V10c0 3.5-2.9 6.4-6.4 6.4H17.2c-3.5 0-6.4-2.9-6.4-6.4V6.8c0-.5-.3-.8-.8-.8H8.4c-2.6 0-4.8 2.2-4.8 4.8v34.4c0 2.6 2.2 4.8 4.8 4.8h35.2c2.6 0 4.8-2.2 4.8-4.8V10.8c0-2.6-2.2-4.8-4.8-4.8zm-5.9 28.2c0 .4-.4.8-.8.8h-8.8c-.3 0-.5.2-.5.5v8.8c0 .4-.4.8-.8.8h-1.6c-.4 0-.8-.4-.8-.8v-8.8c0-.3-.2-.5-.5-.5h-8.8c-.4 0-.8-.4-.8-.8v-1.6c0-.4.4-.8.8-.8h8.8c.3 0 .5-.2.5-.5v-8.8c0-.4.4-.8.8-.8h1.6c.4 0 .8.4.8.8v8.8c0 .3.2.5.5.5h8.8c.4 0 .8.4.8.8v1.6z"}]}},record_delete:{xmlns:"http://www.w3.org/2000/svg",g:{path:[{d:"M17.2 11.6h17.6c.9 0 1.6-.7 1.6-1.6V6.8c0-2.6-2.2-4.8-4.8-4.8H20.4c-2.6 0-4.8 2.2-4.8 4.8V10c0 .9.7 1.6 1.6 1.6z"},{d:"M43.6 6H42c-.5 0-.8.3-.8.8V10c0 3.5-2.9 6.4-6.4 6.4H17.2c-3.5 0-6.4-2.9-6.4-6.4V6.8c0-.5-.3-.8-.8-.8H8.4c-2.6 0-4.8 2.2-4.8 4.8v34.4c0 2.6 2.2 4.8 4.8 4.8h35.2c2.6 0 4.8-2.2 4.8-4.8V10.8c0-2.6-2.2-4.8-4.8-4.8zm-9.3 36.4c0 1.4-1.1 2.4-2.4 2.4H20.1c-1.4 0-2.4-1.1-2.4-2.4V32.1c0-.4.3-.7.7-.7h15.2c.4 0 .7.3.7.7v10.3zm2-14.9c0 .4-.3.7-.7.7H16.5c-.4 0-.7-.3-.7-.7V26c0-.4.3-.7.7-.7h6.1v-2c0-1.1.9-2 2-2h2.9c1.1 0 2 .9 2 2v2h6.1c.4 0 .7.3.7.7v1.5z"},{d:"M24 34.8h-1c-.3 0-.5.2-.5.5V41c0 .3.2.5.5.5h1c.3 0 .5-.2.5-.5v-5.7c0-.3-.2-.5-.5-.5zM28.9 34.8h-1c-.3 0-.5.2-.5.5V41c0 .3.2.5.5.5h1c.3 0 .5-.2.5-.5v-5.7c0-.3-.2-.5-.5-.5zM27 23.4h-2c-.3 0-.5.2-.5.5v1.5h2.9v-1.5c.1-.3-.1-.5-.4-.5z"}]}},record_lookup:{xmlns:"http://www.w3.org/2000/svg",g:{path:[{d:"M17.2 11.6h17.6c.9 0 1.6-.7 1.6-1.6V6.8c0-2.6-2.2-4.8-4.8-4.8H20.4c-2.6 0-4.8 2.2-4.8 4.8V10c0 .9.7 1.6 1.6 1.6z"},{d:"M43.6 6H42c-.5 0-.8.3-.8.8V10c0 3.5-2.9 6.4-6.4 6.4H17.2c-3.5 0-6.4-2.9-6.4-6.4V6.8c0-.5-.3-.8-.8-.8H8.4c-2.6 0-4.8 2.2-4.8 4.8v34.4c0 2.6 2.2 4.8 4.8 4.8h35.2c2.6 0 4.8-2.2 4.8-4.8V10.8c0-2.6-2.2-4.8-4.8-4.8zm-6.1 38.1l-1 1c-.3.3-.7.3-1 0L29 38.6c-1.9 1.3-4.2 2-6.7 1.6-4.2-.6-7.5-4.1-7.9-8.3-.6-5.8 4.3-10.7 10.1-10.1 4.3.4 7.7 3.7 8.3 7.9.4 2.5-.3 4.9-1.6 6.7l6.5 6.5c.1.4.1.8-.2 1.2z"},{d:"M23.5 24.8c-3.5 0-6.3 2.9-6.3 6.3 0 3.5 2.8 6.3 6.3 6.3s6.3-2.8 6.3-6.3-2.8-6.3-6.3-6.3z"}]}},record_update:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M40.8 7.7"},g:{path:[{d:"M17.2 11.6h17.6c.9 0 1.6-.7 1.6-1.6V6.8c0-2.6-2.2-4.8-4.8-4.8H20.4c-2.6 0-4.8 2.2-4.8 4.8V10c0 .9.7 1.6 1.6 1.6z"},{d:"M43.6 6H42c-.5 0-.8.3-.8.8V10c0 3.5-2.9 6.4-6.4 6.4H17.2c-3.5 0-6.4-2.9-6.4-6.4V6.8c0-.5-.3-.8-.8-.8H8.4c-2.6 0-4.8 2.2-4.8 4.8v34.4c0 2.6 2.2 4.8 4.8 4.8h35.2c2.6 0 4.8-2.2 4.8-4.8V10.8c0-2.6-2.2-4.8-4.8-4.8zM34 30.4L21.2 43.2l-5.6 1.6c-.5.1-1-.4-.9-.9l1.6-5.5 12.8-12.8c.2-.2.5-.2.7 0l4.1 4.2c.3.1.3.4.1.6zm3.7-3.7l-1.6 1.6c-.2.2-.5.2-.7 0l-4.2-4.2c-.2-.2-.2-.5 0-.7l1.6-1.6c.7-.8 2-.8 2.7 0l2.1 2.1c.9.8.9 2 .1 2.8z"}]}},recurring_exception:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M39 35L27.8 23.9l-.8-.8-9.9-9.9-4.4-4.4L7.9 4c-.7-.8-1.8-.9-2.4-.3L3.4 5.8c-.5.5-.5 1.3-.1 2l40.5 40.6.1.1c.7.7 1.8.8 2.4.3l2.1-2.1c.6-.6.5-1.7-.3-2.4l-4.7-4.7L39 35zM24.9 11c4 0 7.8 1.6 10.6 4.4.5.4.9.9 1.2 1.4.3.8-.4 1.2-1.3 1.2h-7.3l6 6h12.6c.7 0 1.3-.6 1.3-1.3V4.5c-.2-.8-.9-1.5-1.7-1.5h-3c-.8 0-1.5.7-1.5 1.5v7c0 .9-.5 1.3-1.2.7-.3-.4-.6-.7-1-1-5-5-12-7.1-19.2-5.7-1.3.3-2.5.6-3.7 1.2l4.8 4.8c1-.4 2.2-.5 3.4-.5zM26.9 41.4c-4 0-7.8-1.6-10.6-4.4-.5-.4-.9-.9-1.2-1.4-.3-.8.4-1.2 1.3-1.2h7c.1 0 .2 0 .4-.1l-5.9-5.9H5.2c-.7 0-1.3.6-1.3 1.3v18.2c.1.8.8 1.5 1.6 1.5h3c.8 0 1.5-.7 1.5-1.5v-7c0-.9.5-1.3 1.2-.7.3.4.6.7 1 1 5 5 12 7.1 19.2 5.7 1.3-.3 2.5-.6 3.7-1.2l-4.8-4.8c-1.1.3-2.2.5-3.4.5z"}},recycle_bin_empty:{xmlns:"http://www.w3.org/2000/svg",g:{path:{d:"M45.5 10H32.9V6c0-2.2-1.8-4-4-4h-6c-2.2 0-4 1.8-4 4v4H6.4c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h39c.8 0 1.5-.7 1.5-1.5v-3c0-.8-.6-1.5-1.4-1.5zm-16.7 0h-5.9V7c0-.6.4-1 1-1h4c.6 0 1 .4 1 1v3zM41.5 20h-31c-.8 0-1.5.7-1.5 1.5V45c0 2.8 2.2 5 5 5h24c2.8 0 5-2.2 5-5V21.5c-.1-.8-.7-1.5-1.5-1.5zM23.2 44.9l-5 .1c-.2 0-2.1 0-3.4-2-1.4-2.2-.3-4 1.2-6.6l-1.4-1c-.2-.1-.2-.2-.2-.4s.1-.2.3-.3l3.9-1 .3-.1c.2 0 .3 0 .5.3l.1.3.9 4c0 .2 0 .3-.2.4-.2.1-.3.1-.5 0l-1.3-.8c-1.4 2.3-1.6 3-1.2 3.6.4.6 1 .7 1 .7l5-.1c.5 0 1 .2 1.2.6.2.2.2.5.2.7.1.9-.6 1.6-1.4 1.6zm3.6-14.6c0-.2.1-.3.2-.4l1.4-.6c-1.2-2.4-1.7-3-2.4-3-.8 0-1 .4-1.1.5L22.3 31c-.2.4-.7.6-1.2.6-.2 0-.5-.1-.7-.2-.6-.4-.9-1.3-.4-1.9l2.6-4.2c.1-.2 1.1-1.8 3.4-1.8 2.6 0 3.5 1.9 5 4.6l1.6-.7c.2-.1.3 0 .4.1.1.1.2.2.1.4L31.7 32c0 .1-.1.2-.2.2-.2.1-.3 0-.3 0l-4.1-1.5c-.2-.1-.3-.2-.3-.4zm10.5 12.3c-1.2 2.2-3.4 2.2-6.4 2.2l-.1 1.8c0 .2-.1.3-.2.3s-.2.1-.4-.1l-3-3.1c-.2-.2 0-.5 0-.5l.2-.2 3.2-2.8c.2-.1.2-.2.4-.1s.2.2.2.4V42c2.6 0 3.4-.1 3.8-.7.3-.6.2-1.1.1-1.2l-2.5-4.3c-.2-.4-.2-1 0-1.4.2-.2.3-.4.6-.6.6-.4 1.5-.2 1.9.6l2.5 4.3c0 .2.8 1.8-.3 3.9z"}}},recycle_bin_full:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M44.2 7.1L32.2 9l-.6-3.8c-.3-2.1-2.3-3.5-4.4-3.2l-5.8 1c-2.1.3-3.5 2.3-3.2 4.4l.6 3.8L7 13.1c-.8.1-1.3.9-1.2 1.7l.5 2.8c.1.8.9 1.3 1.7 1.2l37.1-6c.8-.1 1.3-.9 1.2-1.7l-.5-2.8c-.1-.7-.9-1.3-1.6-1.2zM28.3 9.7l-5.6.9-.5-2.8c-.1-.5.2-1 .8-1.1l3.8-.6c.5-.1 1 .2 1.1.8l.4 2.8zM41.4 21h-30c-.8 0-1.5.7-1.5 1.5v22.7c0 2.7 2.1 4.8 4.8 4.8h23.2c2.7 0 4.8-2.1 4.8-4.8V22.5c.1-.8-.5-1.5-1.3-1.5zM23.8 45.1l-4.9.1c-.2 0-2 0-3.2-1.9-1.3-2.1-.3-3.9 1.2-6.4l-1.4-.9c-.2-.1-.2-.2-.2-.4s.1-.2.3-.3l3.8-.9.3-.1c.2 0 .3 0 .5.3l.1.3.8 3.9c0 .2 0 .3-.2.4-.2.1-.3.1-.5 0l-1.2-.8c-1.3 2.2-1.5 2.9-1.2 3.5.4.6.9.7.9.7l4.8-.1c.5 0 .9.2 1.2.6.2.2.2.5.2.7.1.6-.5 1.3-1.3 1.3zM27.3 31c0-.2.1-.3.2-.4l1.3-.6c-1.2-2.3-1.6-2.9-2.3-2.9-.8 0-1 .4-1.1.5l-2.5 4.1c-.2.4-.7.6-1.2.6-.2 0-.5-.1-.7-.2-.6-.4-.8-1.2-.4-1.9l2.5-4.1c.1-.2 1.1-1.7 3.3-1.7 2.5 0 3.4 1.9 4.8 4.5l1.5-.7c.2-.1.3 0 .4.1.1.1.2.2.1.4L32 32.6c0 .1-.1.2-.2.2h-.3l-3.9-1.5c-.3 0-.3-.1-.3-.3zm10.1 11.8c-1.2 2.2-3.2 2.2-6.2 2.1l-.1 1.7c0 .2-.1.3-.2.3s-.2.1-.4-.1l-2.9-3c-.2-.2 0-.5 0-.5l.2-.2 3.1-2.7c.2-.1.2-.2.4-.1s.2.2.2.4l-.1 1.5c2.5 0 3.3-.1 3.6-.7s.2-1.1.1-1.2l-2.4-4.2c-.2-.4-.2-.9 0-1.3.2-.2.3-.4.5-.5.6-.4 1.5-.2 1.9.5l2.4 4.2c.1.3 1 1.8-.1 3.8zM21.4 18.9L38.9 16l.1 2.9z"}},redo:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M35.5 12.5h.7c1 0 1-.7.4-1.3l-4.9-4.9c-.6-.5-.6-1.5 0-2.1l2.1-2.1c.5-.6 1.5-.6 2.1 0L48.8 15c.5.5.5 1.3 0 1.8l-13 13c-.6.5-1.3.5-1.9-.1l-2.2-2.2c-.6-.6-.7-1.5-.1-2.1l4.9-4.9c.7-.7.9-1.3.1-1.7-.3-.1-1.1-.1-1.1-.1H21.6c-7.1 0-12.8 5.7-12.8 12.8s5.7 12.8 12.8 12.8h8.1c.8 0 1.4.7 1.4 1.5V49c0 .8-.5 1.4-1.3 1.4h-8.2C11.2 50.4 2.7 42 2.7 31.5s8.5-18.9 18.9-18.9l13.9-.1z"}},refresh:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M46.5 4h-3c-.8 0-1.5.7-1.5 1.5v7c0 .9-.5 1.3-1.2.7-.3-.4-.6-.7-1-1-5-5-12-7.1-19.2-5.7-2.5.5-4.9 1.5-7 2.9-6.1 4-9.6 10.5-9.7 17.5-.1 5.4 2 10.8 5.8 14.7 4 4.2 9.4 6.5 15.2 6.5 5.1 0 9.9-1.8 13.7-5 .7-.6.7-1.6.1-2.2l-2.1-2.1c-.5-.5-1.4-.6-2-.1-3.6 3-8.5 4.2-13.4 3-1.3-.3-2.6-.9-3.8-1.6C11.7 36.6 9 30 10.6 23.4c.3-1.3.9-2.6 1.6-3.8C15 14.7 19.9 12 25.1 12c4 0 7.8 1.6 10.6 4.4.5.4.9.9 1.2 1.4.3.8-.4 1.2-1.3 1.2h-7c-.8 0-1.5.7-1.5 1.5v3.1c0 .8.6 1.4 1.4 1.4h18.3c.7 0 1.3-.6 1.3-1.3V5.5C48 4.7 47.3 4 46.5 4z"}},relate:{xmlns:"http://www.w3.org/2000/svg",path:[{d:"M36 20c0-2.2-1.8-4-4-4H6c-2.2 0-4 1.8-4 4v26c0 2.2 1.8 4 4 4h26c2.2 0 4-1.8 4-4V20zm-8 14c0 .5-.5 1-1 1h-6v6c0 .5-.5 1-1 1h-2c-.5 0-1-.5-1-1v-6h-6c-.5 0-1-.5-1-1v-2c0-.5.5-1 1-1h6v-6c0-.5.5-1 1-1h2c.5 0 1 .5 1 1v6h6c.5 0 1 .5 1 1v2z"},{d:"M43 42h-3v-6h3c.6 0 1-.4 1-1V9c0-.6-.4-1-1-1H17c-.6 0-1 .4-1 1v3h-6V9c0-3.9 3.1-7 7-7h26c3.9 0 7 3.1 7 7v26c0 3.9-3.1 7-7 7z"}]},reminder:{xmlns:"http://www.w3.org/2000/svg",path:[{d:"M64.7 19.1v.4-.4z"},{d:"M50.3 7.5c-.6-3-3.1-5.5-6.2-5.9-2.2-.3-4.2.4-5.8 1.6-.5.4-.4 1.1.2 1.4 3.7 2 6.9 4.8 9.4 8.2.3.5 1.1.5 1.4 0 1-1.5 1.4-3.3 1-5.3zM13.5 4.7c.5-.2.6-1 .2-1.4-1.5-1.3-3.6-2-5.8-1.6-3.1.4-5.7 2.8-6.2 5.8-.3 2 .1 3.8 1.1 5.3.3.5 1.1.5 1.4 0 2.4-3.3 5.5-6.2 9.3-8.1zM26 6.5c-12.1 0-22 9.9-22 22 0 4.9 1.6 9.4 4.3 13L5 44.8c-1.3 1.3-1.3 3.3 0 4.6.7.7 1.5 1 2.3 1 .8 0 1.6-.3 2.3-1l3.3-3.3c3.7 2.7 8.2 4.3 13.1 4.3s9.4-1.6 13-4.3l3.3 3.3c.7.7 1.5 1 2.4 1 .8 0 1.6-.3 2.3-1 1.3-1.3 1.3-3.3 0-4.6l-3.3-3.3c2.7-3.6 4.3-8.1 4.3-13 0-12.2-9.8-22-22-22zM10.5 28.4c0-8.5 7-15.4 15.5-15.4s15.5 6.9 15.5 15.5S34.6 43.9 26 43.9 10.5 37 10.5 28.4zm18-.9v-6.4c0-1.4-1.1-2.4-2.4-2.4s-2.4 1.1-2.4 2.4v7.3c0 .7.2 1.3.7 1.7l5.7 5.7c.5.5 1.1.7 1.7.7.6 0 1.2-.2 1.7-.7 1-1 1-2.5 0-3.4l-5-4.9z"}]},remove_formatting:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M45.1 40.9l4.6-4.6c.4-.4.4-1 0-1.4l-2.8-2.8c-.4-.4-1-.4-1.4 0L41 36.8l-4.3-4.3c-.4-.4-1-.4-1.4 0l-2.8 2.8c-.4.4-.4 1 0 1.4l4.3 4.3-4.2 4.2c-.4.4-.4 1 0 1.4l2.8 2.8c.4.4 1 .4 1.4 0l4.2-4.2 4.5 4.5c.4.4 1 .4 1.4 0l2.8-2.8c.4-.4.4-1 0-1.4l-4.6-4.6zM4.8 8h10.8l-4.1 23.2c-.2 1 .5 1.8 1.4 1.8H18c.7 0 1.4-.5 1.5-1.2L23.7 8h11c.7 0 1.4-.5 1.5-1.3l.5-3c.2-.9-.5-1.7-1.5-1.7h-30c-.7 0-1.3.5-1.4 1.3l-.5 3c-.2.9.5 1.7 1.5 1.7zM28 38.5c0-.8-.7-1.5-1.5-1.5h-23c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h23c.8 0 1.5-.7 1.5-1.5v-3z"}},remove_link:{xmlns:"http://www.w3.org/2000/svg",path:[{d:"M24 36.6c-.6 0-1.2-.1-1.8-.3-.6-.1-1.3-.3-1.9-.5-.4-.1-.8 0-1 .2l-.4.4c-2.5 2.5-6.6 2.8-9.3.5-2.9-2.6-3.1-7.1-.3-9.8l6.6-6.6c.9-.9 1.9-1.4 3-1.7 1.4-.4 2.9-.3 4.2.3.8.3 1.6.8 2.2 1.5.3.3.6.7.9 1.2.3.6 1.1.7 1.6.2l2.5-2.5c.4-.4.4-.9.1-1.3-.4-.5-.8-.9-1.2-1.4-.6-.6-1.4-1.2-2.1-1.7-1.3-.8-2.6-1.3-4.1-1.6-2.7-.5-5.6-.1-8.2 1.3-1 .5-1.9 1.2-2.7 2l-6.4 6.4c-4.6 4.6-5 12.1-.5 16.9 4.7 5 12.6 5.2 17.4.3l2.2-2.2c.5-.5.1-1.5-.8-1.6z"},{d:"M40.5 22.5c4.8-4.8 4.7-12.7-.3-17.4C35.4.7 27.9 1 23.3 5.6l-2 2c-.6.6-.2 1.6.6 1.7 1.2.1 2.5.3 3.7.7.4.1.8 0 1-.2l.4-.4c2.5-2.5 6.6-2.8 9.3-.5 2.9 2.6 3.1 7.1.3 9.8L30 25.3c-.9.9-1.9 1.4-3 1.7-1.4.4-2.9.3-4.2-.3-.8-.3-1.6-.8-2.2-1.5-.3-.3-.6-.7-.8-1.1-.3-.6-1.1-.7-1.6-.2l-2.4 2.4c-.4.4-.4.9-.1 1.3.4.5.7.9 1.2 1.4.7.7 1.4 1.2 2.1 1.7 1.3.8 2.6 1.3 4.1 1.6 2.7.5 5.6.1 8.2-1.3 1-.5 1.9-1.2 2.7-2l6.5-6.5zM45.1 41l4.6-4.6c.4-.4.4-1 0-1.4l-2.8-2.8c-.4-.4-1-.4-1.4 0L41 36.9l-4.3-4.3c-.4-.4-1-.4-1.4 0l-2.8 2.8c-.4.4-.4 1 0 1.4l4.3 4.3-4.2 4.2c-.4.4-.4 1 0 1.4l2.8 2.8c.4.4 1 .4 1.4 0l4.2-4.2 4.5 4.5c.4.4 1 .4 1.4 0l2.8-2.8c.4-.4.4-1 0-1.4L45.1 41z"}]},replace:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M20 37.5c0-.8-.7-1.5-1.5-1.5h-15c-.8 0-1.5.7-1.5 1.5v11c0 .8.7 1.5 1.5 1.5h15c.8 0 1.5-.7 1.5-1.5v-11zM8.1 22H3.2c-1 0-1.5.9-.9 1.4l8 8.3c.4.3 1 .3 1.4 0l8-8.3c.6-.6.1-1.4-.9-1.4h-4.7c0-5 4.9-10 9.9-10V6C15 6 8.1 13 8.1 22zM41.8 20.3c-.4-.3-1-.3-1.4 0l-8 8.3c-.6.6-.1 1.4.9 1.4h4.8c0 6-4.1 10-10.1 10v6c9 0 16.1-7 16.1-16H49c1 0 1.5-.9.9-1.4l-8.1-8.3zM50 3.5c0-.8-.7-1.5-1.5-1.5h-15c-.8 0-1.5.7-1.5 1.5v11c0 .8.7 1.5 1.5 1.5h15c.8 0 1.5-.7 1.5-1.5v-11z"}},reply:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M19.2 18.1s-1.1-1.1-.5-1.7l5.6-5.6c.6-.6.6-1.5 0-2.1l-2.1-2.2c-.6-.6-1.5-.6-2.1 0L6.6 20c-.6.6-.6 1.5 0 2.1l13.5 13.5c.6.6 1.5.6 2.1 0l2.1-2.1c.6-.6.6-1.5 0-2.1l-5.5-5.6c-.6-.6-.2-1.5.5-1.7 11.1.4 20.1 9.3 20.8 20.6 0 .8.7 1.4 1.5 1.4h3c.9 0 1.4-.7 1.3-1.6-.7-14.5-11.7-25.9-26.7-26.4z"}},reply_all:{xmlns:"http://www.w3.org/2000/svg",path:[{d:"M24.4 18.1s-1.1-1.1-.5-1.7l5.6-5.6c.6-.6.6-1.5 0-2.1l-2.1-2.2c-.6-.6-1.5-.6-2.1 0L11.8 20c-.6.6-.6 1.5 0 2.1l13.5 13.5c.6.6 1.5.6 2.1 0l2.1-2.1c.6-.6.6-1.5 0-2.1L24 25.8c-.6-.6-.2-1.5.5-1.7 11.1.4 20.1 9.3 20.8 20.6 0 .8.7 1.4 1.5 1.4h3c.9 0 1.4-.7 1.3-1.6-.7-14.5-11.7-25.9-26.7-26.4z"},{d:"M5.4 20.4L17 8.8c.6-.6.6-1.5 0-2.1l-.1-.2c-.6-.6-1.5-.6-2.1 0L1.3 20c-.6.6-.6 1.5 0 2.1l13.5 13.5c.6.6 1.5.6 2.1 0l.1-.1c.6-.6.6-1.5 0-2.1L5.5 21.8s-.7-.6-.1-1.4z"}]},report_issue:{xmlns:"http://www.w3.org/2000/svg",g:{path:[{d:"M22.8 45.7v1c0 1.2-.9 2.1-2.1 2.1H4.1c-1.2 0-2.1-.9-2.1-2.1v-1c0-2.5 3-4.1 5.7-5.3.1 0 .2-.1.3-.2.2-.1.5-.1.7 0 1.1.7 2.4 1.1 3.8 1.1 1.3 0 2.6-.4 3.8-1.1.2-.1.4-.1.6 0 .1 0 .2.1.3.2 2.7 1.3 5.6 2.8 5.6 5.3z"},{d:"M34.8 3.2c-8.5 0-15.3 6.5-15.3 14.5 0 2.5.7 5 2 7.2.1.2.2.5.2.8L20 30.3c-.2.6.2 1.1.7 1.3.2.1.4.1.6 0l4.5-1.6c.3-.1.6-.1.8.1 2.4 1.4 5.2 2.2 8 2.2 8.5 0 15.3-6.6 15.3-14.6.1-8-6.8-14.5-15.1-14.5zm-1.1 5.7h3v7l-.3 4.6H34l-.2-4.6v-7zm1.5 17.3c-1.4 0-1.8-.8-1.8-1.8s.4-1.8 1.8-1.8 1.8.8 1.8 1.8c.1 1-.4 1.8-1.8 1.8z"}],ellipse:{cx:"12.4",cy:"33.7",rx:"5.2",ry:"5.7"}}},reset_password:{xmlns:"http://www.w3.org/2000/svg",g:{path:{d:"M42 23H10c-2.2 0-4 1.8-4 4v19c0 2.2 1.8 4 4 4h32c2.2 0 4-1.8 4-4V27c0-2.2-1.8-4-4-4zM31 44.5c-1.5 1-3.2 1.5-5 1.5-.6 0-1.2-.1-1.8-.2-2.4-.5-4.4-1.8-5.7-3.8l3.3-2.2c.7 1.1 1.9 1.9 3.2 2.1 1.3.3 2.6 0 3.8-.8 2.3-1.5 2.9-4.7 1.4-6.9-.7-1.1-1.9-1.9-3.2-2.1-1.3-.3-2.6 0-3.8.8-.3.2-.5.4-.7.6L26 37h-9v-9l2.6 2.6c.4-.4.9-.8 1.3-1.1 2-1.3 4.4-1.8 6.8-1.4 2.4.5 4.4 1.8 5.7 3.8 2.8 4.2 1.7 9.8-2.4 12.6zM10 18.1v0zM11 19h4c.6 0 1-.3 1-.9V18c0-5.7 4.9-10.4 10.7-10 5.3.4 9.3 5 9.3 10.4v-.3c0 .6.4.9 1 .9h4c.6 0 1-.3 1-.9V18c0-9.1-7.6-16.4-16.8-16-8.5.4-15 7.6-15.2 16.1.1.5.5.9 1 .9z"}}},resource_absence:{xmlns:"http://www.w3.org/2000/svg",path:[{d:"M21.9 37c0-2.7.9-5.8 2.3-8.2 1.7-3 3.6-4.2 5.1-6.4 2.5-3.7 3-9 1.4-13-1.6-4.1-5.4-6.5-9.8-6.4s-8 2.8-9.4 6.9c-1.6 4.5-.9 9.9 2.7 13.3 1.5 1.4 2.9 3.6 2.1 5.7-.7 2-3.1 2.9-4.8 3.7-3.9 1.7-8.6 4.1-9.4 8.7C1.3 45.1 3.9 49 8 49h17c.8 0 1.3-1 .8-1.6-2.5-2.9-3.9-6.6-3.9-10.4z"},{d:"M46.4 28.5c-4.7-4.7-12.3-4.7-17 0-4.7 4.7-4.7 12.3 0 17 4.7 4.7 12.3 4.7 17 0 4.7-4.7 4.7-12.3 0-17zm-3.5 10.6c.4.4.4 1.1-.1 1.5L41.4 42c-.4.4-.9.4-1.3-.1L38 39.8 35.8 42c-.4.4-.9.4-1.3-.1L33 40.5c-.4-.4-.5-.9-.1-1.3l2.2-2.2-2.1-2.2c-.4-.4-.5-.9-.1-1.3l1.4-1.4c.4-.4 1.1-.5 1.5-.1l2.1 2.1L40 32c.4-.4 1.1-.5 1.5-.1l1.4 1.4c.4.4.4 1.1-.1 1.5l-2.1 2.1 2.2 2.2z"}]},resource_capacity:{xmlns:"http://www.w3.org/2000/svg",path:[{d:"M37.9 25c-6.7 0-12.1 5.5-12.1 12.2s5.4 12.1 12.1 12.1S50 43.8 50 37.2 44.6 25 37.9 25zm8.5 13.4h-8.8v-9.3s3.3-.2 6.3 2.9 2.5 6.4 2.5 6.4z"},{d:"M22.2 37.3c0-2.7.9-5.9 2.3-8.3 1.7-3 3.6-4.2 5.1-6.5 2.5-3.7 3-9.1 1.4-13.1-1.6-4.1-5.4-6.5-9.9-6.4-4.4.1-8.1 2.8-9.5 7-1.6 4.5-.9 10 2.7 13.4 1.5 1.4 2.9 3.6 2.1 5.8-.7 2-3.1 2.9-4.8 3.7-3.9 1.7-8.7 4.1-9.5 8.8-.8 3.8 1.8 7.8 5.9 7.8h17.1c.8 0 1.3-1 .8-1.6-2.3-3-3.7-6.7-3.7-10.6z"}]},resource_territory:{xmlns:"http://www.w3.org/2000/svg",path:[{d:"M26.7 29c2-2.9 4.1-4.3 5.5-6.5 2.5-3.7 3-9 1.4-13C32 5.4 28.2 3 23.8 3.1s-8 2.8-9.4 6.9c-1.6 4.5-.9 9.9 2.7 13.3 1.5 1.4 2.9 3.6 2.1 5.7-.7 2-3.1 2.9-4.8 3.7-3.9 1.7-8.6 4.1-9.4 8.7-.8 3.8 1.8 7.7 5.9 7.7h18c.8 0 1.5-.9 1-1.5-2.5-2.9-5.1-6.7-5.1-10.5-.2-2.7.6-5.7 1.9-8.1z"},{d:"M37.7 39.4c-2.1 0-3.9-1.7-3.9-3.8s1.7-3.8 3.9-3.8c2.1 0 3.9 1.7 3.9 3.8 0 2.1-1.8 3.8-3.9 3.8zm0-13c-5.1 0-9.2 4.1-9.2 9.2 0 6.3 6.6 12.2 8.6 13.7.3.3.8.3 1.2 0 2-1.6 8.6-7.4 8.6-13.7 0-5.1-4.1-9.2-9.2-9.2z"}]},restriction_policy:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M37.2 24.4A12.8 12.8 0 1050 37.2a12.8 12.8 0 00-12.8-12.8zm5.6 15.2H31.6a2.4 2.4 0 010-4.8h11.2a2.4 2.4 0 110 4.8zM13.6 2H8a6 6 0 00-6 6v4.8a6 6 0 006 6h5.6a6 6 0 006-6V8a6 6 0 00-6-6zm-2.4 12h-.8a3.6 3.6 0 010-7.2h.8a3.6 3.6 0 110 7.2zM30.4 18.8H36a6 6 0 006-6V8a6 6 0 00-6-6h-5.6a6 6 0 00-6 6v4.8a6 6 0 006 6zm2.4-12h.8a3.6 3.6 0 110 7.2h-.8a3.6 3.6 0 110-7.2zM13.6 23.6H8a6 6 0 00-6 6v4.8a6 6 0 006 6h5.6a6 6 0 006-6v-4.8a6 6 0 00-6-6zm-2.4 12h-.8a3.6 3.6 0 110-7.2h.8a3.6 3.6 0 110 7.2z","fill-rule":"evenodd"}},retail_execution:{xmlns:"http://www.w3.org/2000/svg",g:{path:[{d:"M17.4 11.6h17.3c.9 0 1.6-.7 1.6-1.6V6.8c0-2.6-2.1-4.8-4.7-4.8h-11c-2.6 0-4.7 2.2-4.7 4.8V10c-.1.9.6 1.6 1.5 1.6z"},{d:"M43.3 6h-1.6c-.5 0-.8.3-.8.8V10c0 3.5-2.8 6.4-6.3 6.4H17.4c-3.5 0-6.3-2.9-6.3-6.4V6.8c0-.5-.3-.8-.8-.8H8.7C6.1 6 4 8.2 4 10.8v34.4C4 47.8 6.1 50 8.7 50h34.6c2.6 0 4.7-2.2 4.7-4.8V10.8C48 8.2 45.9 6 43.3 6zm-6.6 21.1l-12 12c-.5.5-1 .7-1.6.7-.5 0-1.2-.2-1.6-.7l-5.8-5.8c-.5-.5-.5-1.2 0-1.6l1.6-1.6c.5-.5 1.2-.5 1.6 0l4.2 4.2L33.4 24c.5-.5 1.2-.5 1.6 0l1.6 1.6c.5.3.5 1.1.1 1.5z"}]}},retweet:{xmlns:"http://www.w3.org/2000/svg",g:{path:{d:"M51.6 28.8l-2.1-2.1c-.6-.6-1.5-.6-2.1 0l-2.7 2.7c-.7.7-1.7.2-1.7-.7V12c0-2.2-1.8-4-4-4H24.5c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h11c.8 0 1.5.7 1.5 1.5v13.2c0 .9-1.1 1.3-1.8.7l-2.6-2.6c-.6-.6-1.6-.6-2.1 0L28.4 29c-.6.6-.6 1.5 0 2.1l10.5 10.5c.6.6 1.5.6 2.1 0L51.6 31c.5-.6.5-1.6 0-2.2zM27.5 38h-11c-.8 0-1.5-.7-1.5-1.5V23.3c0-.9 1.1-1.3 1.8-.7l2.6 2.6c.6.6 1.6.6 2.1 0l2.1-2.1c.6-.6.6-1.5 0-2.1L13.2 10.4c-.6-.6-1.5-.6-2.1 0L.4 21c-.6.6-.6 1.5 0 2.1l2.1 2.1c.6.6 1.5.6 2.1 0l2.7-2.7c.6-.6 1.7-.2 1.7.7V40c0 2.2 1.9 4 4.1 4h14.5c.8 0 1.5-.7 1.5-1.5v-3c-.1-.8-.8-1.5-1.6-1.5z"}}},ribbon:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M24.1 36.7L14.7 50l-2.4-6.4H5.9l8.2-11.1c1.6 1 3.3 1.1 4.5 1.4.4.1.9.2 1.1.2.2.1.6.4.8.6.9.6 2.1 1.5 3.6 2zm15.2-4.2c-1.6 1-3.3 1.1-4.5 1.4-.4.1-1 .2-1.2.2-.2.1-.6.4-.8.6-.9.6-2 1.6-3.5 2.1L38.7 50l2.4-6.4h6.4l-8.2-11.1zM26.7 11.6c-3.1 0-5.6 2.5-5.6 5.6s2.5 5.6 5.6 5.6 5.6-2.5 5.6-5.6-2.5-5.6-5.6-5.6zm15.2 5.6c0 1.9-2.1 3.4-2.8 5.1-.7 1.8-.3 4.3-1.7 5.6-1.3 1.3-3.8 1-5.6 1.7-1.7.7-3.2 2.8-5.1 2.8s-3.4-2.1-5.1-2.8c-1.8-.7-4.3-.3-5.6-1.7-1.3-1.3-1-3.8-1.7-5.6-.7-1.7-2.8-3.2-2.8-5.1s2.1-3.4 2.8-5.1c.7-1.8.3-4.3 1.7-5.6 1.3-1.3 3.8-1 5.6-1.7 1.7-.7 3.2-2.8 5.1-2.8s3.4 2.1 5.1 2.8c1.8.7 4.3.3 5.6 1.7 1.3 1.3 1 3.8 1.7 5.6.7 1.7 2.8 3.2 2.8 5.1zm-4.8 0c0-5.8-4.6-10.4-10.4-10.4s-10.4 4.6-10.4 10.4 4.6 10.4 10.4 10.4S37.1 23 37.1 17.2z"}},richtextbulletedlist:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M8 13.5c0 .8-.7 1.5-1.5 1.5h-3c-.8 0-1.5-.7-1.5-1.5v-3C2 9.7 2.7 9 3.5 9h3c.8 0 1.5.7 1.5 1.5v3zm42-3c0-.8-.7-1.5-1.5-1.5h-35c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h35c.8 0 1.5-.7 1.5-1.5v-3zm-42 14c0-.8-.7-1.5-1.5-1.5h-3c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h3c.8 0 1.5-.7 1.5-1.5v-3zm38 0c0-.8-.7-1.5-1.5-1.5h-31c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h31c.8 0 1.5-.7 1.5-1.5v-3zm-38 14c0-.8-.7-1.5-1.5-1.5h-3c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h3c.8 0 1.5-.7 1.5-1.5v-3zm42 0c0-.8-.7-1.5-1.5-1.5h-35c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h35c.8 0 1.5-.7 1.5-1.5v-3z"}},richtextindent:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M52 11.5c0-.8-.7-1.5-1.5-1.5h-17c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h17c.8 0 1.5-.7 1.5-1.5v-3zM48 35.5c0-.8-.7-1.5-1.5-1.5h-13c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h13c.8 0 1.5-.7 1.5-1.5v-3zM52 23.5c0-.8-.7-1.5-1.5-1.5h-17c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h17c.8 0 1.5-.7 1.5-1.5v-3zM28 5.5c0-.8-.7-1.5-1.5-1.5h-3c-.8 0-1.5.7-1.5 1.5v41c0 .8.7 1.5 1.5 1.5h3c.8 0 1.5-.7 1.5-1.5v-41zM9.4 15.3c-.6-.6-1.4-.1-1.4.9V22H1.5c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5H8v5.9c0 1 .9 1.5 1.4.9l8.3-9c.3-.4.3-1 0-1.4l-8.3-9.1z"}},richtextnumberedlist:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M50 6.5v3c0 .8-.7 1.5-1.5 1.5h-27c-.8 0-1.5-.7-1.5-1.5v-3c0-.8.7-1.5 1.5-1.5h27c.8 0 1.5.7 1.5 1.5zM21.5 21h18c.8 0 1.5-.7 1.5-1.5v-3c0-.8-.7-1.5-1.5-1.5h-18c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5zm27 9h-27c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h27c.8 0 1.5-.7 1.5-1.5v-3c0-.8-.7-1.5-1.5-1.5zm-9 10h-18c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h18c.8 0 1.5-.7 1.5-1.5v-3c0-.8-.7-1.5-1.5-1.5zM3.5 8H6v12.5c0 .8.7 1.5 1.5 1.5h1c.8 0 1.5-.7 1.5-1.5V6c0-1.1-.9-2-2-2H3.5C2.7 4 2 4.7 2 5.5v1C2 7.3 2.7 8 3.5 8zM12 28H3.5c-.8 0-1.5.7-1.5 1.5v1c0 .8.7 1.5 1.5 1.5H10v4H4c-1.1 0-2 .9-2 2v8c0 1.1.9 2 2 2h8.5c.8 0 1.5-.7 1.5-1.5v-1c0-.8-.7-1.5-1.5-1.5H6v-4h6c1.1 0 2-.9 2-2v-8c0-1.1-.9-2-2-2z"}},richtextoutdent:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M16.4 22H10v-5.9c0-1-.9-1.5-1.4-.9l-8.3 9c-.3.4-.3 1 0 1.4l8.3 9c.6.6 1.4.1 1.4-.9V28h6.4c.8 0 1.6-.7 1.6-1.5v-3c0-.8-.8-1.5-1.6-1.5zM52 11.5c0-.8-.7-1.5-1.5-1.5h-17c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h17c.8 0 1.5-.7 1.5-1.5v-3zM48 35.5c0-.8-.7-1.5-1.5-1.5h-13c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h13c.8 0 1.5-.7 1.5-1.5v-3zM52 23.5c0-.8-.7-1.5-1.5-1.5h-17c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h17c.8 0 1.5-.7 1.5-1.5v-3zM28 5.5c0-.8-.7-1.5-1.5-1.5h-3c-.8 0-1.5.7-1.5 1.5v41c0 .8.7 1.5 1.5 1.5h3c.8 0 1.5-.7 1.5-1.5v-41z"}},right:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M14 43.7V8.3c0-1 1.3-1.7 2.2-.9l21.2 17.3c.8.6.8 1.9 0 2.5L16.2 44.7c-.9.7-2.2.1-2.2-1z"}},right_align:{xmlns:"http://www.w3.org/2000/svg",rect:[{x:"43.6",y:"2",width:"6.4",height:"48",rx:"1.6"},{"data-name":"Rectangle",x:"2",y:"18.8",width:"37.6",height:"14.4",rx:"3.2"}]},right_align_text:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M46.5 5h-41C4.7 5 4 5.7 4 6.5v3c0 .8.7 1.5 1.5 1.5h41c.8 0 1.5-.7 1.5-1.5v-3c0-.8-.7-1.5-1.5-1.5zM46.5 17h-33c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h33c.8 0 1.5-.7 1.5-1.5v-3c0-.8-.7-1.5-1.5-1.5zM46.5 41h-33c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h33c.8 0 1.5-.7 1.5-1.5v-3c0-.8-.7-1.5-1.5-1.5zM46.5 29h-41c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h41c.8 0 1.5-.7 1.5-1.5v-3c0-.8-.7-1.5-1.5-1.5z"}},rotate:{xmlns:"http://www.w3.org/2000/svg",g:{path:{d:"M48.5 2h-3c-.8 0-1.5.7-1.5 1.5v7c0 .9-1 1.5-1.6.8C37.7 6.1 31 3.4 23.7 4.1c-2.6.2-5.1 1-7.4 2.2-1.2.6-2.4 1.3-3.4 2.1-.7.5-.8 1.6-.2 2.3l2.1 2.1c.5.5 1.3.6 1.9.2 1.2-.8 2.5-1.5 3.9-2.1.6-.2 1.3-.4 2-.6 6.3-1.2 12.3 1.3 15.7 5.4 1.2 1.4.3 2.3-.7 2.3h-7c-.8 0-1.6.7-1.6 1.5v3c0 .8.8 1.5 1.6 1.5h18.2c.7 0 1.2-.6 1.2-1.3V3.5c0-.8-.7-1.5-1.5-1.5zM39.4 37.4c-.6-.6-1.5-.6-2.1 0-1.6 1.6-3.6 2.9-5.8 3.7-.6.2-1.3.4-2 .6-6.3 1.2-12.3-1.3-15.7-5.4-1.2-1.4-.3-2.3.7-2.3h7c.8 0 1.5-.7 1.5-1.5v-3c0-.8-.7-1.5-1.5-1.5H3.3c-.7 0-1.3.6-1.3 1.3v19.2c0 .8.7 1.5 1.5 1.5h3c.8 0 1.5-.7 1.5-1.5v-7c0-.9 1-1.5 1.6-.8 4.6 5.2 11.4 7.9 18.7 7.2 2.6-.2 5.1-1 7.4-2.2 2.2-1.1 4.1-2.5 5.7-4.1.6-.6.6-1.6 0-2.1l-2-2.1z"}}},routing_offline:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M43 9C33.6-.3 18.4-.3 9 9S-.3 33.6 9 43s24.6 9.3 34 0 9.3-24.6 0-34zM26 44c-9.9 0-18-8.1-18-18S16.1 8 26 8s18 8 18 18-8 18-18 18z"}},rows:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M46.5 14h-41c-.8 0-1.5-.7-1.5-1.5v-3C4 8.7 4.7 8 5.5 8h41c.8 0 1.5.7 1.5 1.5v3c0 .8-.7 1.5-1.5 1.5zM46.5 28.9h-41c-.8 0-1.5-.7-1.5-1.5v-3c0-.7.7-1.4 1.5-1.4h41c.8 0 1.5.7 1.5 1.5v3c0 .7-.7 1.4-1.5 1.4zM46.5 44h-41c-.8 0-1.5-.7-1.5-1.5v-3c0-.8.7-1.5 1.5-1.5h41c.8 0 1.5.7 1.5 1.5v3c0 .8-.7 1.5-1.5 1.5z"}},rules:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M50.1 25.4L42 17.3c-.4-.4-1.1-.4-1.5 0L39 18.8c-.4.4-.4 1.1 0 1.5l2.5 2.5c.4.4.1 1.2-.5 1.2H18.9l13.2-13.1c.4-.4 1.2-.1 1.2.5V15c0 .6.4 1 1 1h2.1c.6 0 1-.4 1-1V3.4c0-.6-.4-1-1-1H25c-.5 0-1 .5-1 1.1v2c0 .6.4 1 1 1h3.6c.6 0 .9.7.5 1.2L12.9 23.9H3c-.6 0-1 .5-1 1.1v2.1c0 .6.6 1.1 1.1 1.1h10l16.1 16.1c.4.4.1 1.2-.5 1.2h-3.6c-.6 0-1 .4-1 1v2c0 .5.4 1 1 1.1h11.4c.6 0 1-.4 1-1V37.1c0-.6-.4-1-1-1h-2.1c-.6 0-1 .4-1 1v3.6c0 .6-.7.9-1.2.5L19 28.2h22.1c.6 0 .9.8.5 1.2L39 31.9c-.4.4-.4 1.1 0 1.5l1.5 1.5c.4.4 1.1.4 1.5 0l8.1-8c.4-.5.4-1.1 0-1.5z"}},salesforce1:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M21.7 11.9c1.7-1.7 4-2.8 6.6-2.8 3.4 0 6.4 1.9 8 4.7 1.4-.6 2.9-1 4.5-1C47 12.8 52 17.8 52 24s-5 11.2-11.2 11.2c-.8 0-1.5-.1-2.2-.2-1.4 2.5-4.1 4.2-7.2 4.2-1.3 0-2.5-.3-3.6-.8-1.4 3.3-4.7 5.6-8.6 5.6-4 0-7.5-2.5-8.8-6.1-.6.1-1.2.2-1.8.2-4.8 0-8.7-3.9-8.7-8.7 0-3.2 1.7-6 4.3-7.5-.5-1.2-.8-2.6-.8-4 0-5.5 4.5-10 10.1-10 3.5.1 6.4 1.6 8.2 4"}},salesforce_page:{xmlns:"http://www.w3.org/2000/svg",g:{path:[{d:"M44.44 19H33.2a3.89 3.89 0 01-4.2-3.55 3.53 3.53 0 010-.65V3.6A1.58 1.58 0 0027.44 2H10.8A4.87 4.87 0 006 6.8v38.4a4.87 4.87 0 004.8 4.8h30.4a4.87 4.87 0 004.8-4.8V20.6a1.58 1.58 0 00-1.56-1.6zM33.59 39.35a3.92 3.92 0 01-1.08-.1 4.19 4.19 0 01-3.68 2.16A5.24 5.24 0 0127 41a4.88 4.88 0 01-4.43 2.91A4.72 4.72 0 0118 40.78c-.22 0-.65.11-1 .11a4.49 4.49 0 01-4.54-4.42 4.39 4.39 0 012.27-3.89 6.33 6.33 0 01-.44-2.06 5.26 5.26 0 015.19-5.18 5.92 5.92 0 014.06 2.14A4.79 4.79 0 0127 26.06a4.91 4.91 0 014.21 2.38 7.49 7.49 0 012.38-.54 5.93 5.93 0 015.83 5.73 5.85 5.85 0 01-5.83 5.72z"},{d:"M36.4 15h8.5a1.2 1.2 0 001.1-1.2 1.4 1.4 0 00-.3-.9L35.1 2.3a1.4 1.4 0 00-.9-.3A1.2 1.2 0 0033 3.1v8.5a3.49 3.49 0 003.4 3.4z"}]}},save:{xmlns:"http://www.w3.org/2000/svg",path:[{d:"M37.1 4v13.6c0 1-.8 1.9-1.9 1.9H13.9c-1 0-1.9-.8-1.9-1.9V4H8C5.8 4 4 5.8 4 8v36c0 2.2 1.8 4 4 4h36c2.2 0 4-1.8 4-4V11.2L40.8 4h-3.7zm7 38.1c0 1-.8 1.9-1.9 1.9H9.9c-1 0-1.9-.8-1.9-1.9V25.4c0-1 .8-1.9 1.9-1.9h32.3c1 0 1.9.8 1.9 1.9v16.7z"},{d:"M24.8 13.6c0 1 .8 1.9 1.9 1.9h4.6c1 0 1.9-.8 1.9-1.9V4h-8.3l-.1 9.6z"}]},screen:{xmlns:"http://www.w3.org/2000/svg",path:[{d:"M50 6c0-2.2-1.8-4-4-4H6C3.8 2 2 3.8 2 6v27.7c0 2.2 1.8 4 4 4h40c2.2 0 4-1.8 4-4V6zm-6 24.2c0 .8-.7 1.5-1.5 1.5h-33c-.8 0-1.5-.7-1.5-1.5V9.5C8 8.7 8.7 8 9.5 8h33c.8 0 1.5.7 1.5 1.5v20.7zM19 44c-2.2 0-4 1.8-4 4v.5c0 .8.7 1.5 1.5 1.5h19c.8 0 1.5-.7 1.5-1.5V48c0-2.2-1.8-4-4-4H19z"},{d:"M18 26.7h-4.1c-.6 0-1-.5-1-1V14c0-.6.4-1 1-1H18c.5 0 1 .4 1 1v11.7c0 .6-.5 1-1 1zM38.1 26.7H24.8c-.6 0-1-.4-1-1V14c0-.6.4-1 1-1h13.3c.5 0 1 .4 1 1v11.7c0 .6-.5 1-1 1z"}]},search:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M49.598 45.298l-13.4-13.3c2.7-3.8 4.1-8.6 3.4-13.7-1.2-8.6-8.2-15.4-16.9-16.2-11.8-1.2-21.8 8.8-20.6 20.7.8 8.6 7.6 15.7 16.2 16.9 5.1.7 9.9-.7 13.7-3.4l13.3 13.3c.6.6 1.5.6 2.1 0l2.1-2.1c.6-.6.6-1.6.1-2.2zm-41.6-24.4c0-7.1 5.8-12.9 12.9-12.9 7.1 0 12.9 5.8 12.9 12.9 0 7.1-5.8 12.9-12.9 12.9-7.1 0-12.9-5.7-12.9-12.9z","fill-rule":"evenodd"}},section:{xmlns:"http://www.w3.org/2000/svg",path:{"fill-rule":"evenodd","clip-rule":"evenodd",d:"M47.6 29.2h-8c-1.3 0-2.4-1.1-2.4-2.4v-1.6c0-1.3 1.1-2.4 2.4-2.4h8c1.3 0 2.4 1.1 2.4 2.4v1.6c0 1.3-1.1 2.4-2.4 2.4M30 29.2h-8c-1.3 0-2.4-1.1-2.4-2.4v-1.6c0-1.3 1.1-2.4 2.4-2.4h8c1.3 0 2.4 1.1 2.4 2.4v1.6c0 1.3-1.1 2.4-2.4 2.4M12.4 29.2h-8C3 29.2 2 28.1 2 26.8v-1.6c0-1.3 1.1-2.4 2.4-2.4h8c1.3 0 2.4 1.1 2.4 2.4v1.6c0 1.3-1.1 2.4-2.4 2.4M43.6 34H8.4c-1.8 0-3.2 1.4-3.2 3.2v8c0 1.8 1.4 3.2 3.2 3.2h35.2c1.8 0 3.2-1.4 3.2-3.2v-8c0-1.8-1.5-3.2-3.2-3.2zM42 42.8c0 .4-.4.8-.8.8H10.8c-.4 0-.8-.4-.8-.8v-3.2c0-.4.4-.8.8-.8h30.4c.4 0 .8.4.8.8v3.2zM43.6 3.6H8.4C6.6 3.6 5.2 5 5.2 6.8v8c0 1.8 1.4 3.2 3.2 3.2h35.2c1.8 0 3.2-1.4 3.2-3.2v-8c0-1.8-1.5-3.2-3.2-3.2zM42 12.4c0 .4-.4.8-.8.8H10.8c-.4 0-.8-.4-.8-.8V9.2c0-.4.4-.8.8-.8h30.4c.4 0 .8.4.8.8v3.2z"}},send:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M2.1 44.5l4.4-16.3h18.6c.5 0 1-.5 1-1v-2c0-.5-.5-1-1-1H6.5l-4.3-16C2.1 8 2 7.7 2 7.4c0-.7.7-1.4 1.5-1.3.2 0 .3.1.5.1l45 18.5c.6.2 1 .8 1 1.4s-.4 1.1-.9 1.3L4 46.4c-.2.1-.4.1-.6.1-.8-.1-1.4-.7-1.4-1.5 0-.2 0-.3.1-.5z"}},sentiment_negative:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M26 2C12.8 2 2 12.8 2 26.1s10.8 24.1 24 24.1 24-10.8 24-24.1S39.2 2 26 2zm-9 13c1.7 0 3 1.8 3 4s-1.3 4-3 4-3-1.8-3-4 1.3-4 3-4zm-3 23.7c.5-6.1 5-11.2 12.1-11.2 7 0 11.4 5.1 11.9 11.2H14zM35 23c-1.7 0-3-1.8-3-4s1.3-4 3-4 3 1.8 3 4-1.3 4-3 4z"}},sentiment_neutral:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M26 2C12.8 2 2 12.8 2 26.1s10.8 24.1 24 24.1 24-10.8 24-24.1S39.2 2 26 2zm-9 13c1.7 0 3 1.8 3 4s-1.3 4-3 4-3-1.8-3-4 1.3-4 3-4zm21 19.1c0 1.1-.9 1.9-1.9 1.9H15.9c-1.1 0-1.9-.9-1.9-1.9V34c0-1.1.9-1.9 1.9-1.9H36c1.1 0 2 .9 2 2zM35 23c-1.7 0-3-1.8-3-4s1.3-4 3-4 3 1.8 3 4-1.3 4-3 4z"}},serialized_product:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M45.06 19.3a1.6 1.6 0 011.58 1.47v22.72a4.81 4.81 0 01-4.55 4.83h-32a4.82 4.82 0 01-4.74-4.62V20.92a1.61 1.61 0 011.44-1.61h38.27zm-8.59 22.93H15.53a.74.74 0 00-.74.73v.74a.74.74 0 00.74.73h20.94a.74.74 0 00.74-.73V43a.74.74 0 00-.74-.77zM17.4 27.14h-1.87a.74.74 0 00-.74.74v11.4a.74.74 0 00.74.74h1.87a.75.75 0 00.75-.74v-11.4a.75.75 0 00-.75-.74zm19.07 0H34.6a.75.75 0 00-.75.74v11.4a.75.75 0 00.75.74h1.87a.74.74 0 00.74-.74v-11.4a.74.74 0 00-.74-.74zm-9.35 0h-2.24a.75.75 0 00-.75.74v11.4a.75.75 0 00.75.74h2.24a.75.75 0 00.75-.74v-11.4a.75.75 0 00-.75-.74zm4.49 0h-.75a.75.75 0 00-.75.74v11.4a.75.75 0 00.75.74h.75a.74.74 0 00.74-.74v-11.4a.74.74 0 00-.74-.74zm-9.72 0h-.75a.75.75 0 00-.75.74v11.4a.75.75 0 00.75.74h.75a.75.75 0 00.75-.74v-11.4a.75.75 0 00-.75-.74zm14.58-4H15.53a.74.74 0 00-.74.73v.74a.74.74 0 00.74.73h20.94a.74.74 0 00.74-.73v-.74a.74.74 0 00-.74-.77zM45.2 3.67A4.81 4.81 0 0150 8.46v4.78a1.6 1.6 0 01-1.6 1.6H3.6a1.6 1.6 0 01-1.6-1.6V8.46a4.81 4.81 0 014.8-4.79z"}},serialized_product_transaction:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M43.76 42a1.53 1.53 0 011.44 1.6v1.6a1.53 1.53 0 01-1.44 1.6H3.44A1.53 1.53 0 012 45.2v-1.6A1.53 1.53 0 013.44 42zM7 13.2a1.45 1.45 0 011.4 1.46v22.68A1.45 1.45 0 017 38.8H3.42A1.45 1.45 0 012 37.34V14.66a1.45 1.45 0 011.42-1.46zm19 0a1.54 1.54 0 011.6 1.46v22.68A1.54 1.54 0 0126 38.8h-4.8a1.54 1.54 0 01-1.6-1.46V14.66a1.54 1.54 0 011.6-1.46zm-9.6 0a1.54 1.54 0 011.6 1.46v22.68a1.54 1.54 0 01-1.6 1.46h-1.6a1.54 1.54 0 01-1.6-1.46V14.66a1.54 1.54 0 011.6-1.46zm22.9 0a1.13 1.13 0 01.86.42l9.47 10.65a1.44 1.44 0 01.37 1 1.41 1.41 0 01-.37 1L40.2 36.78a1.12 1.12 0 01-.86.42 1.1 1.1 0 01-.86-.42l-1.72-1.93a1.44 1.44 0 01-.37-1 1.41 1.41 0 01.37-1l3-3.34a1 1 0 00.17-1 .82.82 0 00-.75-.57h-7a1.5 1.5 0 01-1.31-1.4v-2.73a1.41 1.41 0 011.31-1.39h7a.84.84 0 00.75-.57 1 1 0 00-.17-1l-3-3.33a1.45 1.45 0 01-.36-1 1.48 1.48 0 01.36-1l1.73-1.94a1.1 1.1 0 01.81-.38zm4.46-8a1.53 1.53 0 011.44 1.6v1.6a1.53 1.53 0 01-1.44 1.6H3.44A1.53 1.53 0 012 8.4V6.8a1.53 1.53 0 011.44-1.6z"}},service_territory_policy:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M17.05 2H8a6.08 6.08 0 00-6 6.09v5.68a6 6 0 006 6.09h9.05a6 6 0 006-6.09V8.09a6 6 0 00-6-6.09zm-3.26 13H11.3a4.06 4.06 0 010-8.12h2.49a4.06 4.06 0 110 8.12zM34.42 19.86h9a6 6 0 006-6.09V8.09a6 6 0 00-6-6.09h-9a6 6 0 00-6 6.09v5.68a6 6 0 006 6.09zm3.25-13h2.49a4.06 4.06 0 110 8.12h-2.49a4.06 4.06 0 010-8.12zM17.05 24.73H8a6.08 6.08 0 00-6 6.09v5.69a6.06 6.06 0 006 6.08h9.05a6.06 6.06 0 006-6.08v-5.69a6 6 0 00-6-6.09zm-3.26 13H11.3a4.06 4.06 0 010-8.12h2.49a4.06 4.06 0 110 8.12zM39.18 24.73c-6 0-10.81 4.47-10.81 10.05 0 6.94 7.74 13.3 10.13 15a1.17 1.17 0 001.42 0C42.31 48 50 41.72 50 34.78c0-5.58-4.84-10.05-10.82-10.05zm0 14.2a4.4 4.4 0 01-4.55-4.21 4.57 4.57 0 019.11 0 4.4 4.4 0 01-4.56 4.21z"}},settings:{xmlns:"http://www.w3.org/2000/svg",g:{path:[{d:"M26.1 19.1c-3.9 0-7 3.1-7 7s3.1 7 7 7 7-3.1 7-7-3.1-7-7-7z"},{d:"M47.1 32.4l-3.7-3.1c.2-1.1.3-2.3.3-3.4s-.1-2.3-.3-3.4l3.7-3.1c1.2-1 1.6-2.8.8-4.2l-1.6-2.8c-.6-1-1.7-1.6-2.9-1.6-.4 0-.8.1-1.1.2l-4.6 1.7c-1.8-1.6-3.8-2.7-5.9-3.4L31 4.6c-.3-1.6-1.7-2.5-3.3-2.5h-3.2c-1.6 0-3 .9-3.3 2.5l-.8 4.6c-2.2.7-4.2 1.9-6 3.4l-4.6-1.7c-.4-.1-.7-.2-1.1-.2-1.2 0-2.3.6-2.9 1.6l-1.6 2.8c-.8 1.4-.5 3.2.8 4.2l3.7 3.1c-.2 1.1-.3 2.3-.3 3.4 0 1.2.1 2.3.3 3.4L5 32.3c-1.2 1-1.6 2.8-.8 4.2l1.6 2.8c.6 1 1.7 1.6 2.9 1.6.4 0 .8-.1 1.1-.2l4.6-1.7c1.8 1.6 3.8 2.7 5.9 3.4l.8 4.8c.3 1.6 1.6 2.7 3.3 2.7h3.2c1.6 0 3-1.2 3.3-2.8l.8-4.8c2.3-.8 4.4-2 6.2-3.7l4.3 1.7c.4.1.8.2 1.2.2 1.2 0 2.3-.6 2.9-1.6l1.5-2.6c.9-1.1.5-2.9-.7-3.9zm-21 4.7c-6.1 0-11-4.9-11-11s4.9-11 11-11 11 4.9 11 11-4.9 11-11 11z"}]}},setup:{xmlns:"http://www.w3.org/2000/svg",path:[{d:"M46.8 32.4l-3.7-3.1c.2-1.1.3-2.3.3-3.4s-.1-2.3-.3-3.4l3.7-3.1c1.2-1 1.6-2.8.8-4.2L46 12.3c-.6-1-1.7-1.6-2.9-1.6-.4 0-.8.1-1.1.2l-4.5 1.7c-1.8-1.6-3.8-2.7-5.8-3.4l-.8-4.7C30.6 2.9 29.2 2 27.6 2h-3.2c-1.6 0-3 .9-3.3 2.5l-.8 4.6c-2.2.7-4.1 1.9-5.9 3.4L10 10.8c-.4-.1-.7-.2-1.1-.2-1.2 0-2.3.6-2.9 1.6L4.4 15c-.8 1.4-.5 3.2.8 4.2l3.7 3.1c-.2 1.1-.3 2.3-.3 3.4 0 1.2.1 2.3.3 3.4l-3.7 3.1c-1.2 1-1.6 2.8-.8 4.2l1.6 3c.6 1 1.7 1.6 2.9 1.6.4 0 .8-.1 1.1-.2l4.5-1.7c1.8 1.6 3.8 2.7 5.8 3.4l.8 4.8c.3 1.6 1.6 2.7 3.3 2.7h3.2c1.6 0 3-1.2 3.3-2.8l.8-4.8c2.3-.8 4.3-2 6.1-3.7l4.2 1.7c.4.1.8.2 1.2.2 1.2 0 2.3-.6 2.9-1.6l1.5-2.6c.8-1.2.4-3-.8-4zm-20.7 4.7c-6 0-10.9-4.9-10.9-11s4.8-11 10.9-11S37 20 37 26.1s-4.9 11-10.9 11z"},{d:"M29 18h-4.6c-.7 0-1.3.4-1.5 1l-2.8 7.2c-.2.5.2 1.1.8 1.1h4.7l-1.7 6c-.2.6.5.9.9.5l7.1-8.3c.5-.5.1-1.3-.6-1.3h-3.5l3.1-4.9c.3-.5-.1-1.2-.7-1.2H29z"}]},setup_assistant_guide:{xmlns:"http://www.w3.org/2000/svg",g:{path:{d:"M11.5 24.9c0-.4-.5-.6-.8-.4l-4.5 3.7c-.2.2-.2.5-.2.8v15.9c0 1 1.4 1.5 2.3.8l7.3-5.7c.2-.2.3-.4.1-.7-1.8-2.7-3.6-7.2-4.2-14.4zM21.2 39.8c.2.1.4.2.6.2h8.3c.2 0 .4-.1.6-.2 1.2-.8 6-4.8 6-18.4 0-6.3-1.8-10.7-3.9-13.7C29.7 3.3 26 2 26 2s-3.8 1.3-6.9 5.8c-2.1 3-3.8 7.3-3.8 13.6C15.3 35 20 39 21.2 39.8zM25.9 13c3.3 0 6 2.7 6 6s-2.7 6-6 6-6-2.7-6-6 2.7-6 6-6zM45.7 28.2l-4.4-3.7c-.3-.3-.8-.1-.8.4-.6 7.2-2.4 11.7-4.1 14.5-.1.2-.1.5.1.7l7.3 5.7c.9.7 2.2.2 2.2-.8V29c0-.3 0-.6-.3-.8zM32.2 44.5c-.2-.3-.5-.5-.8-.5h-11c-.3 0-.7.2-.8.5-.4.6-1 1.7-1.4 3.1-.3 1.2.7 2.4 2 2.4h11.4c1.3 0 2.3-1.2 2-2.4-.4-1.5-1-2.6-1.4-3.1z"}}},setup_modal:{xmlns:"http://www.w3.org/2000/svg",path:[{d:"M48.5 2h-45C2.7 2 2 2.7 2 3.5v32.4c0 .8.7 1.5 1.5 1.5h45c.8 0 1.5-.7 1.5-1.5V3.5c0-.8-.7-1.5-1.5-1.5z"},{d:"M32 44c1.1 0 2 .9 2 2s-.9 2-2 2-2-.9-2-2 .9-2 2-2m0-2c-2.2 0-4 1.8-4 4s1.8 4 4 4 4-1.8 4-4-1.8-4-4-4z"}],circle:[{cx:"20",cy:"46",r:"4"},{cx:"8",cy:"46",r:"4"},{cx:"44",cy:"46",r:"4"}]},share:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M48.5 30h-3c-.8 0-1.5.7-1.5 1.5v11c0 .8-.7 1.5-1.5 1.5h-33c-.8 0-1.5-.7-1.5-1.5v-21c0-.8.7-1.5 1.5-1.5h4c.8 0 1.5-.7 1.5-1.5v-3c0-.8-.7-1.5-1.5-1.5H6c-2.2 0-4 1.8-4 4v28c0 2.2 1.8 4 4 4h40c2.2 0 4-1.8 4-4V31.5c0-.8-.7-1.5-1.5-1.5zM34 14c-10 0-19.1 8.9-19.9 19.4-.1.8.6 1.6 1.5 1.6h3c.8 0 1.4-.6 1.5-1.3C20.8 26.2 27.2 20 35 20h1.6c.9 0 1.3 1.1.7 1.7l-5.5 5.6c-.6.6-.6 1.5 0 2.1l2.1 2.1c.6.6 1.5.6 2.1 0L49.6 18c.6-.6.6-1.5 0-2.1L36.1 2.4c-.6-.6-1.5-.6-2.1 0l-2.1 2.1c-.6.6-.7 1.5-.1 2.1l5.6 5.6c.6.6.2 1.7-.7 1.7L34 14z"}},share_file:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M41 15.9h7.8c.4 0 .7-.5.4-.9l-8.3-8.3c-.4-.3-.9 0-.9.4v7.8c0 .6.4 1 1 1zm8 4H38c-1.1 0-2-.9-2-2v-11c0-.6-.4-1-1-1H21.5c-.8 0-1.5.7-1.5 1.5v4c0 .4.2.8.4 1.1l5.6 5.6c.8.8 1.4 1.9 1.6 3.1.2 1.6-.3 3.1-1.4 4.3L24.6 27c-.5.5-1 .8-1.6 1.1.7.3 1.5.5 2.3.6 2.6.2 4.7 2.4 4.7 5.1V36c0 1.4-.7 2.8-1.7 3.7-1 1-2.5 1.4-3.9 1.3-1.1-.1-2.1-.3-3.2-.5-.6-.2-1.2.3-1.2 1v3.1c0 .8.7 1.5 1.5 1.5h27c.8 0 1.5-.7 1.5-1.5V21c0-.6-.4-1-1-1.1zM26 35.8v-2.2c0-.6-.5-1-1.1-1.1-5.4-.5-9.9-5.1-9.9-10.8v-1.2c0-.6.8-1 1.2-.5l4 4c.4.4 1.1.4 1.5 0l1.5-1.5c.4-.4.4-1.1 0-1.5l-9.7-9.7c-.4-.4-1.1-.4-1.5 0L2.3 21c-.4.4-.4 1.1 0 1.5L3.8 24c.4.4 1.1.5 1.5.1l4.2-4c.5-.5 1.4-.1 1.4.5v1.9c0 7.2 6.3 13.8 13.9 14.4.7 0 1.2-.5 1.2-1.1z"}},share_mobile:{xmlns:"http://www.w3.org/2000/svg",g:{path:[{d:"M41.957 50.438c2.2 0 4-1.799 4-4V19.512c0-2.2-1.8-4-4-4h-7.5c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h4c.801 0 1.5.7 1.5 1.501v19.924c0 .799-.699 1.5-1.5 1.5H13.465c-.8 0-1.5-.701-1.5-1.5V23.013c0-.801.7-1.501 1.5-1.501h4c.8 0 1.5-.699 1.5-1.5v-3c0-.8-.7-1.5-1.5-1.5h-7.5c-2.2 0-4 1.8-4 4v26.925c0 2.198 1.8 4 4 4h31.992v.001z"},{d:"M28.952 30.898V11.487h5.899c1 0 1.5-.9.899-1.4l-9-8.3c-.399-.3-1-.3-1.399 0l-9 8.3c-.601.6-.101 1.4.899 1.4h5.7v19.412c0 .802.7 1.602 1.5 1.602h3c.802-.001 1.502-.801 1.502-1.603z"}]}},share_post:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M26 4C12.7 4 2 13.8 2 26c0 3.9 1.1 7.5 3 10.8.2.4.3.9.2 1.3L3 45c-.4 1.3.8 2.4 2.1 2l7-2.4c.5-.2 1-.1 1.4.2 3.7 2.1 8 3.3 12.6 3.3 13.3 0 24-9.8 24-22C49.8 13.8 39.1 4 26 4z"}},shield:{xmlns:"http://www.w3.org/2000/svg",g:{path:{d:"M4.8 14h42.4c1 0 1.8-1 1.5-2-1-3.3-2.4-6.3-4.3-9-.6-.8-1.7-.9-2.3-.2-1.9 1.8-4.6 2.8-7.4 2.8-3 0-5.7-1.2-7.7-3.2-.6-.6-1.6-.6-2.2 0-2 2-4.7 3.2-7.7 3.2-2.8 0-5.4-1-7.4-2.8-.7-.6-1.8-.5-2.3.2C5.5 5.6 4 8.7 3.1 12c-.1 1 .7 2 1.7 2zM50 20.4c0-.9-.7-1.4-1.6-1.4H3.6c-.9 0-1.6.5-1.6 1.4v.3c0 15 10.4 27.4 24 29.3 13.6-1.9 24-14.3 24-29.2v-.4z"}}},shift_pattern:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M43.6 6.8h-4V5.2a3.2 3.2 0 00-6.4 0v1.6H18.8V5.2a3.2 3.2 0 00-6.4 0v1.6h-4a4.81 4.81 0 00-4.8 4.8v1.6a1.6 1.6 0 001.6 1.6h41.6a1.6 1.6 0 001.6-1.6v-1.6a4.81 4.81 0 00-4.8-4.8zm3.2 12.8a1.6 1.6 0 011.6 1.6v24a4.81 4.81 0 01-4.8 4.8H8.4a4.81 4.81 0 01-4.8-4.8v-24a1.6 1.6 0 011.6-1.6h41.6zM36 41.46h-9.39a.93.93 0 00-.93.93V45a.93.93 0 00.93.93H36a.93.93 0 00.93-.93v-2.61a.93.93 0 00-.93-.93zm0-10.79H15.54a.93.93 0 00-.93.93v6.32a.93.93 0 00.93.93H36a.93.93 0 00.93-.93V31.6a.93.93 0 00-.93-.93zM24.93 23.6h-9.39a.93.93 0 00-.93.93v2.65a.93.93 0 00.93.93h9.39a.93.93 0 00.93-.93v-2.65a.93.93 0 00-.93-.93z"}},shift_pattern_entry:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M27.4 2A1.58 1.58 0 0129 3.6v11.2a3.89 3.89 0 004.2 4.2h11.2a1.58 1.58 0 011.6 1.6v24.6a4.87 4.87 0 01-4.8 4.8H10.8A4.87 4.87 0 016 45.2V6.8A4.87 4.87 0 0110.8 2h16.6zm8.79 38.66H26.8a.93.93 0 00-.93.93v2.65a.93.93 0 00.93.93h9.39a.93.93 0 00.93-.93v-2.65a.93.93 0 00-.93-.93zm0-10.79H15.73a.93.93 0 00-.93.93v6.32a.93.93 0 00.93.93h20.46a.93.93 0 00.93-.93V30.8a.93.93 0 00-.93-.93zM25.12 22.8h-9.39a.93.93 0 00-.93.93v2.65a.93.93 0 00.93.93h9.39a.93.93 0 00.93-.93v-2.65a.93.93 0 00-.93-.93zM34.2 2a1.4 1.4 0 01.9.3l10.6 10.6a1.4 1.4 0 01.3.9 1.2 1.2 0 01-1.1 1.2h-8.5a3.5 3.5 0 01-3.4-3.4V3.1A1.2 1.2 0 0134.2 2z"}},shift_scheduling_operation:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M46.8 19.6a1.6 1.6 0 011.6 1.6v24a4.81 4.81 0 01-4.8 4.8H8.4a4.81 4.81 0 01-4.8-4.8v-24a1.6 1.6 0 011.6-1.6h41.6zM26 22.8a12 12 0 1012 12 12 12 0 00-12-12zm2.3 5.73l4.3 4.2a.62.62 0 010 .73l-4.3 4.15c-.31.31-.73 0-.73-.47v-2.49a4.93 4.93 0 00-5.18 4.68 5.23 5.23 0 000 .56h-3.11a8.23 8.23 0 018.11-8.35h.18V29c0-.52.43-.78.73-.47zM36.4 2a3.21 3.21 0 013.2 3.2v1.6h4a4.81 4.81 0 014.8 4.8v1.6a1.6 1.6 0 01-1.6 1.6H5.2a1.6 1.6 0 01-1.6-1.6v-1.6a4.81 4.81 0 014.8-4.8h4V5.2a3.2 3.2 0 016.4 0v1.6h14.4V5.2A3.21 3.21 0 0136.4 2z"}},shift_ui:{xmlns:"http://www.w3.org/2000/svg",g:{path:{d:"M27.8 40.7H48c1.1 0 2 .9 2 2v5.7c0 1.1-.9 2-2 2H27.8c-1.1 0-2-.9-2-2v-5.7c0-1.1.9-2 2-2zM4 17.5h44c1.1 0 2 .9 2 2v13.6c0 1.1-.9 2-2 2H4c-1.1 0-2-.9-2-2V19.5c0-1.1.9-2 2-2zM4 2.3h20.2c1.1 0 2 .9 2 2V10c0 1.1-.9 2-2 2H4c-1.1 0-2-.9-2-2V4.3c0-1.1.9-2 2-2z"}}},shopping_bag:{xmlns:"http://www.w3.org/2000/svg",path:[{d:"M64.7 19.1v.4-.4z"},{d:"M44 19.6c0-2.2-1.8-4-4-4h-.7c-.5-6.8-6.2-12.2-13.2-12.2S13.5 8.8 12.9 15.6H12c-2.2 0-4 1.8-4 4l-2 25c0 2.2 1.8 4 4 4h32c2.2 0 4-1.8 4-4l-2-25zM26.1 9.4c3.7 0 6.7 2.7 7.2 6.2H18.9c.6-3.5 3.6-6.2 7.2-6.2zm5.7 18.2H20.2c-1.7 0-3-1.4-3-3s1.4-3 3-3h11.7c1.7 0 3 1.4 3 3s-1.4 3-3.1 3z"}]},shortcuts:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M12.1 2.7h26.5c.9 0 1.6.7 1.6 1.6 0 .5-.2.9-.5 1.2l-7.2 7.2c4.4 3.9 16.7 17.5 2.3 34.9l-.2.2c0 .1-.1.1-.2.2-.3.4-.8.7-1.4.7-.9 0-1.6-.7-1.6-1.6v-.2-.1c0-.1 0-.2.1-.2.5-2.2 3.6-17.2-9.6-23.4l-8.7 8.7c-.3.3-.7.5-1.1.5-.9 0-1.6-.7-1.6-1.6V4.4c-.1-.9.7-1.7 1.6-1.7z"}},side_list:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M48.5 4h-27c-.8 0-1.5.7-1.5 1.5v41c0 .8.7 1.5 1.5 1.5h27c.8 0 1.5-.7 1.5-1.5v-41c0-.8-.7-1.5-1.5-1.5zM14.5 4h-11C2.7 4 2 4.7 2 5.5v5c0 .8.7 1.5 1.5 1.5h11c.8 0 1.5-.7 1.5-1.5v-5c0-.8-.7-1.5-1.5-1.5zM14.5 16h-11c-.8 0-1.5.7-1.5 1.5v5c0 .8.7 1.5 1.5 1.5h11c.8 0 1.5-.7 1.5-1.5v-5c0-.8-.7-1.5-1.5-1.5zM14.5 28h-11c-.8 0-1.5.7-1.5 1.5v5c0 .8.7 1.5 1.5 1.5h11c.8 0 1.5-.7 1.5-1.5v-5c0-.8-.7-1.5-1.5-1.5zM14.5 40h-11c-.8 0-1.5.7-1.5 1.5v5c0 .8.7 1.5 1.5 1.5h11c.8 0 1.5-.7 1.5-1.5v-5c0-.8-.7-1.5-1.5-1.5z"}},signpost:{xmlns:"http://www.w3.org/2000/svg",g:{path:{d:"M49.5 9l-4.2-3.1c-.6-.4-1.2-.6-1.9-.6H29.2V3.6c0-.9-.7-1.6-1.6-1.6h-3.2c-.9 0-1.6.7-1.6 1.6v1.6h-16c-.9 0-1.6.7-1.6 1.6v6.4c0 .9.7 1.6 1.6 1.6H43.4c.7 0 1.4-.2 1.9-.6l4.2-3.1c.7-.6.7-1.6 0-2.1zM45.2 22.8h-16v-2.4c0-.5-.3-.8-.8-.8h-4.8c-.5 0-.8.3-.8.8v2.4H8.6c-.7 0-1.4.2-1.9.6l-4.2 3.1c-.7.5-.7 1.5 0 2.1l4.2 3.1c.6.4 1.2.6 1.9.6h36.6c.9 0 1.6-.7 1.6-1.6v-6.4c0-.8-.7-1.5-1.6-1.5zM29.2 43.3V38c0-.5-.3-.8-.8-.8h-4.8c-.5 0-.8.3-.8.8v5.3c-3.2.9-5 2.8-5.5 5.2-.2.7.4 1.5 1.2 1.5h15.1c.8 0 1.4-.7 1.2-1.5-.6-2.4-2.4-4.3-5.6-5.2z"}}},skip:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M39.5 32.3v.7c0 1 .7 1 1.3.4l4.9-4.9c.5-.6 1.5-.6 2.1 0l2.1 2.1c.6.5.6 1.5 0 2.1L37 45.6c-.5.5-1.3.5-1.8 0l-13-13c-.5-.6-.5-1.3.1-1.9l2.2-2.2c.6-.6 1.5-.7 2.1-.1l4.9 4.9c.7.7 1.3.9 1.7.1.1-.3.1-1.1.1-1.1V25c0-7.1-5.7-12.8-12.8-12.8S7.7 17.8 7.7 24.9v13.3c0 .8-.7 1.4-1.5 1.4H3c-.8 0-1.4-.5-1.4-1.3V24.9C1.6 14.5 10 6 20.5 6s18.9 8.5 18.9 18.9l.1 7.4z"}},skip_back:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M26 7.9V2.6c0-.5-.6-.8-1.1-.5l-10.3 8.5c-.4.3-.4.9 0 1.2l10.3 8.4c.4.4 1.1 0 1.1-.4v-5.4c8 0 14.6 6.5 14.6 14.6S34 43.5 26 43.5 11.4 37 11.4 28.9c0-2.3.5-4.5 1.5-6.5 0 0 0-.1.1-.2.2-.4.4-.9.6-1.2.3-.5.6-1.3 0-1.8s-3.1-2.6-3.3-2.7c-.2-.1-.9-.8-1.6.2-.4.6-.9 1.5-1.3 2.2 0 .1-.1.1-.1.2-.2.3-.3.6-.4.7-1.3 2.7-2 5.8-2 9.1 0 11.6 9.4 21 21 21s21-9.4 21-21-9.3-21-20.9-21z"}},skip_forward:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M26 7.9V2.6c0-.5.6-.8 1.1-.5l10.3 8.5c.4.3.4.9 0 1.2l-10.3 8.4c-.4.4-1.1 0-1.1-.4v-5.4c-8 0-14.6 6.5-14.6 14.6S18 43.5 26 43.5 40.6 37 40.6 28.9c0-2.3-.5-4.5-1.5-6.5 0 0 0-.1-.1-.2-.2-.4-.4-.9-.6-1.2-.3-.5-.6-1.3 0-1.8s3.1-2.6 3.3-2.7c.2-.1.9-.8 1.6.2.4.6.9 1.5 1.3 2.2 0 .1.1.1.1.2.2.3.3.6.4.7 1.3 2.7 2 5.8 2 9.1 0 11.6-9.4 21-21 21S5 40.6 5 29 14.4 7.9 26 7.9z"}},slider:{xmlns:"http://www.w3.org/2000/svg",g:{path:{d:"M43 23.1h5c1.1 0 2 .9 2 2v2c0 1.1-.9 2-2 2h-5c-.6 0-.9-.5-.8-1 0 0 .3-1 .3-2s-.3-2.1-.3-2.1c-.1-.6.3-1 .8-.9zM10.8 41H4c-1.1 0-2 .9-2 2v2c0 1.1.9 2 2 2h6.8c1 1.8 3 3 5.2 3 3.3 0 6-2.7 6-6s-2.7-6-6-6c-2.2 0-4.2 1.2-5.2 3zM26.2 42s.3 1.1.3 2.1-.3 2-.3 2c-.1.5.2 1 .8 1h21c1.1 0 2-.9 2-2v-2c0-1.1-.9-2-2-2H27c-.6-.1-.9.3-.8.9zM30.2 6s.3 1.1.3 2.1-.3 2-.3 2c-.1.5.2 1 .8 1h17c1.1 0 2-.9 2-2v-2c0-1.1-.9-2-2-2H31c-.5-.1-.9.3-.8.9zM14.8 5H4c-1.1 0-2 .9-2 2v2c0 1.1.9 2 2 2h10.8c1 1.8 3 3 5.2 3 3.3 0 6-2.7 6-6s-2.7-6-6-6c-2.2 0-4.2 1.2-5.2 3zM26.8 23H4c-1.1 0-2 .9-2 2v2c0 1.1.9 2 2 2h22.8c1 1.8 3 3 5.2 3 3.3 0 6-2.7 6-6s-2.7-6-6-6c-2.2 0-4.2 1.2-5.2 3z"}}},smiley_and_people:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M50 26.1c0 13.3-10.755 24.1-24 24.1S2 39.4 2 26.1 12.755 2 26 2s24 10.8 24 24.1zM17 15c-1.674 0-3 1.767-3 4s1.326 4 3 4 3-1.767 3-4-1.326-4-3-4zm18 0c-1.674 0-3 1.767-3 4s1.326 4 3 4 3-1.767 3-4-1.326-4-3-4zM11 29c.632 7.644 6.158 14 14.921 14C34.685 43 40.368 36.644 41 29H11z"}},sms:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M26 4C12.7 4 2.1 13.8 2.1 25.9c0 3.8 1.1 7.4 2.9 10.6.3.5.4 1.1.2 1.7l-3.1 8.5c-.3.8.5 1.5 1.3 1.3l8.6-3.3c.5-.2 1.1-.1 1.7.2 3.6 2 7.9 3.2 12.5 3.2C39.3 48 50 38.2 50 26.1 49.9 13.8 39.2 4 26 4zm-9.6 25.6c-.3.5-.6 1-1 1.3s-.9.6-1.5.8c-.5.2-1.1.2-1.7.2-.8 0-1.5-.1-2.2-.4-.7-.3-1.4-.7-1.9-1.3l-.2-.2c-.1-.1 0-.3.2-.5L9.7 28c.2-.2.4-.2.5-.1s.2.3.2.3c.2.3.5.5.8.7.5.3 1 .3 1.6.2.2 0 .3-.1.5-.2l.3-.3c.1-.1.1-.3.1-.4 0-.4-.1-.5-.2-.6-.2-.2-.5-.4-.9-.5s-.8-.3-1.3-.4c-.5-.2-1-.4-1.4-.6-.5-.3-.8-.7-1.1-1.1-.3-.5-.5-1.1-.5-1.9 0-.7.1-1.3.4-1.8.3-.5.6-.9 1.1-1.2.4-.3.9-.6 1.5-.7 1.2-.3 2.4-.3 3.6.1.6.2 1.2.6 1.5.8l.3.2c.2.1.1.4-.1.6l-1.5 1.5c-.2.2-.5.2-.7 0-.2-.1-.3-.3-.4-.3-.5-.3-1.2-.4-1.8-.3-.2 0-.3.1-.4.2l-.3.3c-.1.1-.1.2-.1.4 0 .3.1.4.2.5.2.2.5.3.9.5.4.1.8.3 1.3.4.5.2 1 .4 1.4.6.5.3.8.7 1.1 1.1.3.5.5 1.1.5 1.9 0 .6-.1 1.2-.4 1.7zM33 31c0 .6-.5 1-1.1 1h-1c-.6 0-.9-.4-.9-1v-5.9c0-.6-.8-.7-1-.2l-1.7 4.5c-.1.4-.5.6-.9.6h-.7c-.4 0-.8-.3-.9-.6L23 24.9c-.2-.5-1-.4-1 .2V31c0 .6-.5 1-1.1 1h-1c-.6 0-.9-.4-.9-1V20c0-.6.4-1 .9-1h2.6c.4 0 .8.3.9.6l2 5.2c.2.4.8.4.9 0l2-5.2c.1-.4.5-.6.9-.6h2.7c.6 0 1.1.4 1.1 1v11zm10.5-1.3c-.3.5-.6 1-1.1 1.3-.4.3-.9.6-1.5.8s-1.1.2-1.7.2c-.8 0-1.5-.1-2.2-.4-.7-.3-1.4-.7-1.9-1.3l-.2-.2c-.1-.1 0-.3.2-.5l1.6-1.5c.2-.2.4-.2.5-.1s.2.3.2.3c.2.3.5.5.8.7.5.3 1.1.3 1.6.2.2-.1.4-.1.5-.2l.3-.3c.1-.1.1-.3.1-.4 0-.4-.1-.5-.2-.6-.2-.2-.5-.4-.9-.5s-.8-.3-1.3-.4c-.5-.2-1-.4-1.4-.6-.5-.3-.9-.7-1.2-1.1-.3-.5-.5-1.1-.5-1.9 0-.7.1-1.3.4-1.8.3-.5.6-.9 1.1-1.2.4-.3 1-.6 1.5-.7 1.2-.3 2.4-.3 3.6.1.6.2 1.2.6 1.5.9l.3.3c.2.1.1.4-.1.6L42 22.9c-.2.2-.5.2-.7 0-.2-.1-.3-.3-.4-.3-.5-.3-1.2-.4-1.8-.3-.2 0-.3.1-.4.2l-.3.3c-.1.1-.1.3-.1.4 0 .3.1.4.2.5.2.2.5.3.9.5.4.1.8.3 1.3.4.5.2 1 .4 1.4.6.5.3.8.7 1.2 1.1.3.5.5 1.1.5 1.9.1.3 0 1-.3 1.5z"}},snippet:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M14.5 6h-11C2.7 6 2 6.7 2 7.5v13c0 .8.7 1.5 1.5 1.5h11c.8 0 1.5-.7 1.5-1.5v-13c0-.8-.7-1.5-1.5-1.5zM48.5 6h-27c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h27c.8 0 1.5-.7 1.5-1.5v-3c0-.8-.7-1.5-1.5-1.5zM21.5 22h17c.8 0 1.5-.7 1.5-1.5v-3c0-.8-.7-1.5-1.5-1.5h-17c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5zM14.5 30h-11c-.8 0-1.5.7-1.5 1.5v13c0 .8.7 1.5 1.5 1.5h11c.8 0 1.5-.7 1.5-1.5v-13c0-.8-.7-1.5-1.5-1.5zM48.5 30h-27c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h27c.8 0 1.5-.7 1.5-1.5v-3c0-.8-.7-1.5-1.5-1.5zM38.5 40h-17c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h17c.8 0 1.5-.7 1.5-1.5v-3c0-.8-.7-1.5-1.5-1.5z"}},sobject:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M6.3 4.3h4c-4.8 10.6-4.8 18.6 0 29.2h-4C.7 21.3.8 16.5 6.3 4.3zM23.7 22.4c.4 1.8.7 3.3.9 3.9.3.9.8 1.6 1.4 2.1 1.5-1.2 3.4-1.9 5.4-1.9 1.3 0 2.5.3 3.6.8.2-.3.3-.6.3-.9 0-1-.8-1.8-1.8-1.8-.3 0-.5.1-.8.2 0 0-1.9 1.1-2.6.2-.5-.9-.9-2.1-1.2-3.5-.3-1.3-.6-2.8-.9-4.3l1.9-2.8s2.2.8 3.3.8 3.3-.9 3.3-3.8-2.1-3.1-2.8-3.1c-1.3 0-2.6.9-3.7 2.9s-2.4 4.2-2.4 4.2c-.3-1.4-.5-2.5-.6-3-.2-1.2-1.6-3.9-4.5-3.9s-5.6 1.7-5.6 1.7c-.5.3-.8.9-.8 1.5 0 1 .8 1.8 1.8 1.8.3 0 .5-.1.8-.2 0 0 2.2-1.2 2.7 0 .1.4.3.8.4 1.2.6 1.9 1.1 4.1 1.5 6.2l-1.9 2.7s-2.2-.8-3.3-.8c-1.1 0-3.3.9-3.3 3.8s2.1 3.1 2.8 3.1c1.3 0 2.6-.9 3.7-2.9s2.4-4.2 2.4-4.2zM43.5 28.8c.1 0 .1.1.2.1h.9c1 0 2 .2 2.9.5 3.6-9.4 3-14.4-1.9-25.1h-4c4.1 9 4.7 16.1 1.9 24.5zM35.3 32.4c.8-.8 1.9-1.3 3.2-1.3 1.6 0 3.1.9 3.9 2.2.7-.3 1.4-.5 2.2-.5 3 0 5.4 2.4 5.4 5.4 0 3-2.4 5.4-5.4 5.4-.4 0-.7 0-1.1-.1-.7 1.2-2 2-3.4 2-.6 0-1.2-.2-1.7-.4-.7 1.6-2.3 2.7-4.1 2.7-2 0-3.6-1.2-4.2-2.9-.3 0-.5.1-.9.1-2.3 0-4.2-1.8-4.2-4.1 0-1.5.8-2.9 2.1-3.6-.3-.6-.4-1.2-.4-1.9 0-2.6 2.2-4.8 4.8-4.8 1.5-.1 2.9.7 3.8 1.8z"}},sobject_collection:{xmlns:"http://www.w3.org/2000/svg",path:[{d:"M13.6 15.1c-3.4 7.5-3.4 10.5 0 18.1h2.5c-3-6.6-3-11.5-.1-18.1h-2.4zM36.9 29.4c.5-.1 1-.2 1.5-.2.4 0 .7 0 1.1.1 1.7-5.1 1.3-8.1-1.5-14.3h-2.5c2.4 5.4 2.9 9.6 1.4 14.4z"},{d:"M22.3 38.4H8.1c-1.1 0-2-.9-2-2V10.2h39.4v20.9c1.5.2 2.8.7 4 1.4V6.1c0-2.2-1.8-4-4-4H6.2c-2.2 0-4 1.8-4 4v32.3c0 2.2 1.8 4 4 4H21c.1-1.4.5-2.8 1.3-4z"},{d:"M35.3 34.6c.8-.8 1.9-1.3 3.2-1.3 1.7 0 3.1.9 3.9 2.2.6-.2 1.4-.5 2.2-.5 2.9 0 5.4 2.4 5.4 5.3s-2.4 5.3-5.4 5.3c-.3 0-.7 0-1-.1-.6 1.2-2 2-3.4 2-.6 0-1.2-.2-1.7-.4-.7 1.6-2.3 2.7-4.1 2.7-2 0-3.6-1.2-4.2-2.8-.2 0-.6.1-.9.1-2.3 0-4.2-1.8-4.2-4.1 0-1.5.8-2.8 2.1-3.6-.2-.6-.4-1.2-.4-1.9 0-2.6 2.2-4.7 4.8-4.7 1.5-.1 2.8.7 3.7 1.8zM23 28.9c.7-1.2 1.5-2.5 1.5-2.5.2 1.1.4 2 .6 2.4.2.7.7 1.3 1.3 1.7 1.4-1 3.2-1.6 5.1-1.6h.2c0-.6-.5-1.1-1.1-1.1-.2 0-.3.1-.5.1 0 0-1.2.6-1.6.2-.3-.6-.6-1.3-.7-2.2-.2-.8-.4-1.7-.6-2.7l1.2-1.7s1.3.5 2 .5 2.1-.6 2.1-2.4-1.3-1.9-1.7-1.9c-.8 0-1.6.6-2.3 1.7-.7 1.2-1.5 2.5-1.5 2.5-.2-.9-.3-1.6-.4-1.9-.2-.7-1-2.4-2.8-2.4-1.8 0-3.4 1-3.4 1-.3.2-.5.6-.5.9 0 .6.5 1.1 1.1 1.1.2 0 .3-.1.5-.1 0 0 1.3-.8 1.7 0 .1.2.2.5.2.8.3 1.2.6 2.5.9 3.8l-1.2 1.7s-1.3-.5-2-.5-2.1.6-2.1 2.4 1.3 1.9 1.7 1.9c.9.1 1.7-.5 2.3-1.7z"}]},socialshare:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M40.9 32c-2.6 0-4.9 1.1-6.5 2.8l-14.6-7.3c.1-.5.1-1 .1-1.6 0-.5-.1-1.1-.1-1.6L34.4 17c1.6 1.8 4 2.9 6.6 2.9 5 0 9-4 9-9s-4-9-9-9-9 4-9 9v.6l-15.1 7.6c-1.7-1.3-3.7-2.1-6-2.1-5 0-9 4-9 9s4 9 9 9c2.3 0 4.3-.8 5.9-2.2l15.1 7.5v.7c0 5 4 9 9 9s9-4 9-9-4-9-9-9z"}},sort:{xmlns:"http://www.w3.org/2000/svg",g:{path:{d:"M27.5 16c.6-.6.6-1.5 0-2.1L16.1 2.4c-.6-.6-1.5-.6-2.1 0L2.5 13.9c-.6.6-.6 1.5 0 2.1l2.1 2.1c.6.6 1.5.6 2.1 0l3.6-3.6c.6-.6 1.7-.2 1.7.7v21.2c0 .8.7 1.5 1.5 1.5h3c.8 0 1.5-.8 1.5-1.5V15.2c0-.9 1.1-1.3 1.7-.7l3.6 3.6c.6.6 1.5.6 2.1 0l2.1-2.1zM49.5 36l-2.1-2c-.6-.6-1.5-.6-2.1 0l-3.6 3.6c-.6.6-1.7.2-1.7-.7V15.5c0-.8-.7-1.5-1.5-1.5h-3c-.8 0-1.5.8-1.5 1.5v21.2c0 .9-1.1 1.3-1.7.7l-3.6-3.6c-.6-.6-1.5-.6-2.1 0L24.5 36c-.6.6-.6 1.5 0 2.1L36 49.6c.6.6 1.5.6 2.1 0l11.5-11.5c.5-.6.5-1.6-.1-2.1z"}}},sort_policy:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M12.84 2H8a6 6 0 00-6 6v3.2a6 6 0 006 6h4.84a6 6 0 006-6V8a6 6 0 00-6-6zm-1.61 10.4h-1.6a2.8 2.8 0 010-5.6h1.6a2.8 2.8 0 010 5.6zM29.7 17.2h4.81a6 6 0 006-6V8a6 6 0 00-6-6H29.7a6 6 0 00-6 6v3.2a6 6 0 006 6zm1.6-10.4h1.61a2.8 2.8 0 110 5.6H31.3a2.8 2.8 0 010-5.6zM12.84 22H8a6 6 0 00-6 6v3.2a6 6 0 006 6h4.84a6 6 0 006-6V28a6 6 0 00-6-6zm-1.61 10.4h-1.6a2.8 2.8 0 010-5.6h1.6a2.8 2.8 0 010 5.6zM49.83 42.54l-1.17-1.13a.82.82 0 00-1.17 0l-2 1.92a.54.54 0 01-.76 0 .55.55 0 01-.16-.38V34a.87.87 0 00-.83-.83H42a.89.89 0 00-.84.83v8.9a.53.53 0 01-.51.55.54.54 0 01-.41-.17l-2-1.92a.82.82 0 00-1.16 0L36 42.49a.74.74 0 00-.08 1 .6.6 0 00.08.08l6.28 6.14a.82.82 0 001.16 0l6.33-6.14a.76.76 0 00.06-1.03zM36.63 30.65l1-1.13a.74.74 0 00.08-1l-.08-.08-6.28-6.14a.82.82 0 00-1.16 0l-6.28 6.14a.74.74 0 00-.08 1l.08.08 1.17 1.13a.82.82 0 001.16 0l2-1.92a.55.55 0 01.78 0 .58.58 0 01.14.34V38a.88.88 0 00.84.83h1.68a.88.88 0 00.83-.83v-8.9a.54.54 0 01.92-.38l2 1.92a.82.82 0 001.2.01z"}},spinner:{xmlns:"http://www.w3.org/2000/svg",g:{path:{d:"M16 27.5v-3c0-.8-.7-1.5-1.5-1.5h-11c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h11c.8 0 1.5-.7 1.5-1.5zM17.9 32c-.6-.6-1.5-.6-2.1 0L8 39.8c-.6.6-.6 1.5 0 2.1l2.1 2.1c.6.6 1.5.6 2.1 0l7.8-7.8c.6-.6.6-1.5 0-2.1L17.9 32zM34.1 20c.6.6 1.5.6 2.1 0l7.8-7.8c.6-.6.6-1.5 0-2.1L41.9 8c-.6-.6-1.5-.6-2.1 0L32 15.7c-.6.6-.6 1.5 0 2.1l2.1 2.2zM12.2 8c-.6-.6-1.5-.6-2.1 0L8 10.1c-.6.6-.6 1.5 0 2.1l7.8 7.8c.6.6 1.5.6 2.1 0l2.1-2.1c.6-.6.6-1.5 0-2.1L12.2 8zM36.3 32c-.6-.6-1.5-.6-2.1 0L32 34.1c-.6.6-.6 1.5 0 2.1l7.8 7.8c.6.6 1.5.6 2.1 0l2.1-2.1c.6-.6.6-1.5 0-2.1L36.3 32zM27.5 36h-3c-.8 0-1.5.7-1.5 1.5v11c0 .8.7 1.5 1.5 1.5h3c.8 0 1.5-.7 1.5-1.5v-11c0-.8-.7-1.5-1.5-1.5zM48.5 23h-11c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h11c.8 0 1.5-.7 1.5-1.5v-3c0-.8-.7-1.5-1.5-1.5zM27.5 2h-3c-.8 0-1.5.7-1.5 1.5v11c0 .8.7 1.5 1.5 1.5h3c.8 0 1.5-.7 1.5-1.5v-11c0-.8-.7-1.5-1.5-1.5z"}}},stage:{xmlns:"http://www.w3.org/2000/svg",circle:[{cx:"46.7",cy:"26",r:"3.4"},{cx:"25.9",cy:"26",r:"3.4"},{cx:"5.4",cy:"26",r:"3.4"}],path:{d:"M11.6 26c0 7.9 6.5 14.4 14.4 14.4S40.3 33.9 40.3 26 33.9 11.6 26 11.6 11.6 18.1 11.6 26zm23.9 0c0 5.3-4.3 9.6-9.6 9.6s-9.6-4.3-9.6-9.6 4.3-9.6 9.6-9.6 9.6 4.3 9.6 9.6z"}},stage_collection:{xmlns:"http://www.w3.org/2000/svg",circle:{cx:"25.9",cy:"26",r:"3.4"},path:{d:"M46.7 22.6c-1.2 0-2.3.7-2.9 1.6h-3.6c-.9-7.1-6.9-12.6-14.3-12.6s-13.4 5.5-14.3 12.6H8.3c-.6-1-1.7-1.6-2.9-1.6C3.5 22.6 2 24.1 2 26s1.5 3.4 3.4 3.4c1.2 0 2.2-.6 2.8-1.6h3.5c.9 7.1 7 12.6 14.3 12.6 7.3 0 13.3-5.5 14.3-12.6h3.6c.6.9 1.6 1.6 2.8 1.6 1.9 0 3.4-1.5 3.4-3.4s-1.5-3.4-3.4-3.4zM26 35.6c-5.3 0-9.6-4.3-9.6-9.6s4.3-9.6 9.6-9.6 9.6 4.3 9.6 9.6-4.4 9.6-9.6 9.6z"}},standard_objects:{xmlns:"http://www.w3.org/2000/svg",path:[{d:"M46.2 38.9L27.4 49.6c-1 .6-2.3.6-3.3 0L5.4 38.9c-.8-.4-.8-1.4 0-1.8l4.4-2.5c.3-.2.7-.2 1 0l11.4 6.5c1.1.6 2.3.9 3.6.9s2.5-.3 3.6-.9l11.4-6.5c.3-.2.7-.2 1 0l4.4 2.5c.8.4.8 1.4 0 1.8z"},{d:"M46.2 26.9L27.4 37.6c-1 .6-2.3.6-3.3 0L5.4 26.9c-.8-.4-.8-1.4 0-1.8l4.4-2.5c.3-.2.7-.2 1 0l11.4 6.5c1.1.6 2.3.9 3.6.9s2.5-.3 3.6-.9l11.4-6.5c.3-.2.7-.2 1 0l4.4 2.5c.8.4.8 1.4 0 1.8z"},{d:"M24.3 25.6L5.5 14.9c-.8-.4-.8-1.4 0-1.8L24.3 2.4c1-.6 2.3-.6 3.3 0l18.8 10.7c.8.4.8 1.4 0 1.8L27.6 25.6c-1 .5-2.3.5-3.3 0z"}]},steps:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M44.4 50.2h-7v-4.8h7v4.8zm0-2.3zm-14.1 2.3h-7v-4.8h7v4.8zm-14 0h-7v-4.8h7v4.8zm-9.4-5.9H2.1v-7h4.8v7zm43-1.7h-4.8v-7h4.8v7zm-43-12.3H2.1v-7h4.8v7zm43-1.7h-4.8v-7h4.8v7zm-43-12.3H2.1v-7h4.8v7zm43-1.6h-4.8v-7h4.8v7zm-7.3-8.1h-7V1.8h7v4.8zm-14 0h-7V1.8h7v4.8zm-13.9 0h-7V1.8h7v4.8z"}},stop:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M8 8h36v36H8V8z"}},store:{xmlns:"http://www.w3.org/2000/svg",g:{path:{d:"M43.1 29.5h-.2c-1.6-.2-2.9-.6-4.1-1.5-.1-.1-.1-.1-.2-.1-.6-.5-1.1-.2-1.4-.1l-.1.1c-1.5 1.1-3.2 1.7-5.2 1.7-2.1 0-3.8-.6-5.4-1.8-.6-.4-1 0-1 0-1.6 1.3-3.4 1.9-5.5 1.9-2 0-3.8-.6-5.3-1.8-.1-.1-.2-.1-.2-.2-.5-.4-1 0-1 0-1.5 1.2-3.2 1.8-5.1 1.9 0 0-.6 0-.6.7v14.9c0 .3.2 1 1.1 1.2h18.5c1-.2 1.1-.9 1.1-1.2v-2.9-7.7c.1-.3.2-.6 1-.6h8.9c.3.1.6.3.6 1v10c0 1.1.8 1.3 1 1.3h2.8c.2 0 1-.2 1-1.3V30.6c.1-.8-.3-1-.7-1.1zM23.2 41v.3c0 .4-.2 1-1.2 1h-8.1c-.9 0-1.1-.4-1.2-.8v-.4-5.7c0-1.4.8-1.5 1.1-1.5h8.5c.3 0 1 .2 1 1.3-.1 2-.1 3.9-.1 5.8zM42.3 25.5c2.2.6 4.1.2 5.7-1.4 1-1 1.7-2.2 1.9-3.5v-.2c-.2-.5-.4-1-.6-1.4-2.4-4.3-4.7-8.6-7-12.9-.3-.6-1-.6-1.2-.6H10.6s-.9 0-1.2.6C7 10.4 4.7 14.8 2.4 19c-.2.4-.4 1-.4 1.6v.2c.2 1.4.8 2.6 1.8 3.5 1.8 1.6 3.8 2 6.2 1.2 1.3-.5 2.2-1.3 3-2.5l.3-.3c.5-.3 1.1-.2 1.5.3.4.6.9 1.2 1.5 1.6 1.7 1.3 3.6 1.5 5.6.9 1.3-.4 2.3-1.3 3-2.5.4-.6 1.4-.7 1.8 0 .2.2.3.5.5.7 1 1.2 2.3 1.9 3.8 2.1 1.4.2 2.8-.2 4.1-1 .7-.5 1.3-1.1 1.7-1.8.5-.6 1.4-.6 1.8 0 .8 1.3 1.8 2.1 3.3 2.5h.4z"}}},strategy:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M46.9 18.7h-8.1c-1.8 0-3.2 1.4-3.2 3.2v2h-7.5V8.1c0-.5-.5-1-1-1H16.6V5.2c0-1.8-1.4-3.2-3.2-3.2H5.3C3.6 2 2.1 3.4 2.1 5.2v8.1c0 1.8 1.4 3.2 3.2 3.2h8.1c1.8 0 3.2-1.4 3.2-3.2v-1.9H24v12.5h-7.4V22c0-1.8-1.4-3.2-3.2-3.2H5.3c-1.8 0-3.2 1.4-3.2 3.2v8c0 1.8 1.4 3.2 3.2 3.2h8.1c1.8 0 3.2-1.4 3.2-3.2v-1.9H24v12.5h-7.4v-1.8c0-1.8-1.4-3.2-3.2-3.2H5.3c-1.8 0-3.2 1.4-3.2 3.2v8.1c0 1.8 1.4 3.2 3.2 3.2h8.1c1.8 0 3.2-1.4 3.2-3.2V45h10.6c.6 0 1-.6 1-1V28.2h7.5V30c0 1.8 1.4 3.2 3.2 3.2H47c1.8 0 3.2-1.4 3.2-3.2v-8.1c-.1-1.8-1.5-3.2-3.3-3.2zm-34.4-6.3H6.2V6h6.3v6.4zm0 10.4v6.3H6.2v-6.3h6.3zm0 23.2H6.2v-6.3h6.3V46zm33.6-23.2v6.3h-6.3v-6.3h6.3z"}},strikethrough:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M12.1 18.1c-.2-1-.3-2.2-.3-3.4 0-1.3.3-2.8.9-4.2.6-1.5 1.5-2.9 2.8-4.1 1.2-1.2 2.9-2.3 4.8-3.1 2-.8 4.3-1.3 7.1-1.3 2.5 0 4.9.3 7.2 1 1.8.6 3.5 1.6 5 3 .6.6.6 1.6-.1 2.2l-2.7 2.5c-.6.5-1.5.6-2.1 0-.7-.7-1.5-1.3-2.4-1.8-1.4-.7-3-1.1-4.9-1.1-1.7 0-3.2.2-4.3.7s-2.1 1-2.8 1.8-1.2 1.5-1.5 2.3-.4 1.6-.4 2.2c0 1.1.2 2 .5 2.8.3.7-.2 1.4-.9 1.4h-4.9c-.5 0-.9-.5-1-.9zM39.9 33h-5c-.7 0-1.2.7-.9 1.3.3.6.4 1.4.4 2.2 0 1.2-.3 2.3-.8 3.3-.6 1-1.3 1.7-2.2 2.4-.9.6-1.9 1.1-3 1.4-1.1.3-2.1.5-3.2.5-1.9 0-3.7-.4-5.4-1.2-1.3-.6-2.4-1.4-3.4-2.5-.5-.6-1.5-.7-2.1-.2l-2.8 2.4c-.6.5-.7 1.5-.1 2.1 1.4 1.6 3.2 2.8 5.3 3.6 2.6 1 5.4 1.5 8.4 1.5 2.2 0 4.3-.3 6.2-1 1.9-.6 3.6-1.6 5.1-2.8 1.4-1.2 2.6-2.7 3.4-4.5.8-1.8 1.3-3.7 1.3-5.9 0-.8 0-1.3-.1-2-.2-.2-.6-.6-1.1-.6zM49.9 23.9c-.2-.6-.8-.9-1.4-.9h-45c-.7 0-1.2.3-1.4.9-.1.2-.1.3-.1.5v3c0 .8.7 1.6 1.5 1.6h45c.8 0 1.5-.8 1.5-1.6v-3c0-.2 0-.3-.1-.5z"}},success:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M26 2C12.7 2 2 12.7 2 26s10.7 24 24 24 24-10.7 24-24S39.3 2 26 2zm13.4 18L24.1 35.5c-.6.6-1.6.6-2.2 0L13.5 27c-.6-.6-.6-1.6 0-2.2l2.2-2.2c.6-.6 1.6-.6 2.2 0l4.4 4.5c.4.4 1.1.4 1.5 0L35 15.5c.6-.6 1.6-.6 2.2 0l2.2 2.2c.7.6.7 1.6 0 2.3z"}},summary:{xmlns:"http://www.w3.org/2000/svg",path:[{d:"M48.5 2h-45C2.7 2 2 2.7 2 3.5v5c0 .8.7 1.5 1.5 1.5h45c.8 0 1.5-.7 1.5-1.5v-5c0-.8-.7-1.5-1.5-1.5zM48.5 14h-35c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h35c.8 0 1.5-.7 1.5-1.5v-3c0-.8-.7-1.5-1.5-1.5zM48.5 34h-35c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h35c.8 0 1.5-.7 1.5-1.5v-3c0-.8-.7-1.5-1.5-1.5z"},{d:"M48.5 44h-39c-.8 0-1.5-.7-1.5-1.5v-7c0-.8-.7-1.5-1.5-1.5h-3c-.8 0-1.5.7-1.5 1.5v13c0 .8.7 1.5 1.5 1.5h45c.8 0 1.5-.7 1.5-1.5v-3c0-.8-.7-1.5-1.5-1.5zM48.5 24h-39c-.8 0-1.5-.7-1.5-1.5v-7c0-.8-.7-1.5-1.5-1.5h-3c-.8 0-1.5.7-1.5 1.5v13c0 .8.7 1.5 1.5 1.5h45c.8 0 1.5-.7 1.5-1.5v-3c0-.8-.7-1.5-1.5-1.5z"}]},summarydetail:{xmlns:"http://www.w3.org/2000/svg",path:[{d:"M48.5 2h-45C2.7 2 2 2.7 2 3.5v5c0 .8.7 1.5 1.5 1.5h45c.8 0 1.5-.7 1.5-1.5v-5c0-.8-.7-1.5-1.5-1.5zM20.5 14h-7c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h7c.8 0 1.5-.7 1.5-1.5v-3c0-.8-.7-1.5-1.5-1.5zM34.5 14h-7c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h7c.8 0 1.5-.7 1.5-1.5v-3c0-.8-.7-1.5-1.5-1.5zM48.5 14h-7c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h7c.8 0 1.5-.7 1.5-1.5v-3c0-.8-.7-1.5-1.5-1.5zM20.5 34h-7c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h7c.8 0 1.5-.7 1.5-1.5v-3c0-.8-.7-1.5-1.5-1.5zM34.5 34h-7c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h7c.8 0 1.5-.7 1.5-1.5v-3c0-.8-.7-1.5-1.5-1.5zM48.5 34h-7c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h7c.8 0 1.5-.7 1.5-1.5v-3c0-.8-.7-1.5-1.5-1.5z"},{d:"M48.5 44h-39c-.8 0-1.5-.7-1.5-1.5v-7c0-.8-.7-1.5-1.5-1.5h-3c-.8 0-1.5.7-1.5 1.5v13c0 .8.7 1.5 1.5 1.5h45c.8 0 1.5-.7 1.5-1.5v-3c0-.8-.7-1.5-1.5-1.5zM48.5 24h-39c-.8 0-1.5-.7-1.5-1.5v-7c0-.8-.7-1.5-1.5-1.5h-3c-.8 0-1.5.7-1.5 1.5v13c0 .8.7 1.5 1.5 1.5h45c.8 0 1.5-.7 1.5-1.5v-3c0-.8-.7-1.5-1.5-1.5z"}]},survey:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M5.23 3h35.54A3.29 3.29 0 0144 6.33v3.34A3.29 3.29 0 0140.77 13H5.23A3.29 3.29 0 012 9.67V6.33A3.29 3.29 0 015.23 3zm-.08 15h19.7A3.26 3.26 0 0128 21.33v3.34A3.26 3.26 0 0124.85 28H5.15A3.26 3.26 0 012 24.67v-3.34A3.26 3.26 0 015.15 18zM39 28a11 11 0 11-11 11 11 11 0 0111-11zm7 7.92a.84.84 0 000-1l-1.12-1a.77.77 0 00-1.12 0l-6 6.72-2.72-2.72a.77.77 0 00-1.12 0l-1.12 1a.68.68 0 000 1l3.84 3.76a1.58 1.58 0 001.12.48 1.45 1.45 0 001.12-.48zM5.2 33h18.56a16.14 16.14 0 00-1 5 17.11 17.11 0 00.48 5H5.2A3.28 3.28 0 012 39.67v-3.34A3.28 3.28 0 015.2 33z"}},swarm_request:{xmlns:"http://www.w3.org/2000/svg",g:{circle:[{cx:"20.15",cy:"9.99",r:"4.28"},{cx:"31.84",cy:"9.99",r:"4.28"},{cx:"11.36",cy:"19.96",r:"5.42"},{cx:"40.78",cy:"19.96",r:"5.42"},{cx:"26.07",cy:"23.06",r:"5.42"}],path:{d:"M32.19 46.29a2.79 2.79 0 002.17-.93 3.1 3.1 0 00.93-2.17v-7a4.66 4.66 0 00-4.64-4.64h-9.3a4.66 4.66 0 00-4.64 4.64v7a3.18 3.18 0 003.1 3.1zM12 43.19v-7a9.13 9.13 0 012.63-6.42.81.81 0 00-.08-1.13.79.79 0 00-.46-.19H6.65A4.66 4.66 0 002 33.12v7a3.18 3.18 0 003.1 3.1zM46.9 43.19a2.84 2.84 0 002.17-.93 3.1 3.1 0 00.93-2.17v-7a4.66 4.66 0 00-4.65-4.65h-7.43a.77.77 0 00-.54 1.32A9.28 9.28 0 0140 36.22v7z"}}},swarm_session:{xmlns:"http://www.w3.org/2000/svg",path:[{d:"M19 11.48c0 .08.08.16.08.24a.29.29 0 00-.08-.24z","fill-rule":"evenodd"},{d:"M19.05 11.48c0 .08.08.16.08.24a4.29 4.29 0 00.4.88 6.88 6.88 0 0012.06.47 16.4 16.4 0 0110.69 12.38c.32 0 .64-.08.88-.08A12.35 12.35 0 0147 26 20.84 20.84 0 0032.55 8.6a6.5 6.5 0 00-.72-2.31 7 7 0 00-9.34-3 6.86 6.86 0 00-3.76 7.42 5.52 5.52 0 01.32.77zM15.14 33.75A6.86 6.86 0 009.71 30a8.23 8.23 0 01-.08-1.44 16.84 16.84 0 016.23-12.93 10 10 0 00-.64-1 13.25 13.25 0 01-1.12-3.43 21.13 21.13 0 00-9.18 17.36c0 .88.08 1.68.16 2.56a7 7 0 1010.06 2.63zM49.23 33.75a6.94 6.94 0 00-12.37 6.31c.08.16.24.4.32.56A16.36 16.36 0 0126 45a16.65 16.65 0 01-7.42-1.84 10.24 10.24 0 01-3.36 3.35 20.67 20.67 0 0010.86 3 21.14 21.14 0 0014.85-6.15 6.31 6.31 0 005.35-.4 6.75 6.75 0 002.95-9.21zM19.13 34.15a.32.32 0 00.4.4l2.64-1a.49.49 0 01.56.08 6.34 6.34 0 003.67 1 7.13 7.13 0 007.34-6.87 7.13 7.13 0 00-7.34-6.86 7.12 7.12 0 00-7.27 6.86A7.41 7.41 0 0020 31a.7.7 0 01.08.56z","fill-rule":"evenodd"}]},switch:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M47.6 17.8L27.1 38.5c-.6.6-1.6.6-2.2 0L4.4 17.8c-.6-.6-.6-1.6 0-2.2l2.2-2.2c.6-.6 1.6-.6 2.2 0l16.1 16.3c.6.6 1.6.6 2.2 0l16.1-16.3c.6-.6 1.6-.6 2.2 0l2.2 2.2c.5.7.5 1.6 0 2.2z"}},symbols:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M33.5 28l1-4h3l-1 4h-3zm-.75 3h3L35 34h3l.75-3H42v-3h-2.5l1-4h3v-3h-2.25l.75-3h-3l-.75 3h-3l.75-3h-3l-.75 3H29v3h2.5l-1 4H27v3h2.75L29 34h3l.75-3zM4 6h44a2 2 0 012 2v36a2 2 0 01-2 2H4a2 2 0 01-2-2V8a2 2 0 012-2zm19.837 20.81c.609-.446 1.096-.84 1.464-1.186.38-.357.708-.797.985-1.319.284-.536.425-1.156.425-1.855 0-.897-.226-1.703-.677-2.411-.45-.707-1.087-1.262-1.905-1.663-.813-.4-1.745-.598-2.794-.598-1.24 0-2.32.232-3.237.698-.913.464-1.726 1.144-2.437 2.036l-.149.187 2.084 1.817.165-.187c.51-.58 1.022-1.009 1.537-1.287.504-.273 1.109-.41 1.817-.41.674 0 1.197.177 1.58.528.38.347.568.808.568 1.4 0 .483-.144.882-.432 1.21-.316.357-.805.775-1.466 1.249-.746.522-1.315 1.008-1.704 1.459-.415.48-.622 1.084-.622 1.802V29h3.14v-.28c0-.316.114-.592.35-.84.265-.28.701-.637 1.308-1.07zM10 18v11h3V18h-3zm1.5 16.5a2 2 0 100-4 2 2 0 000 4zm9 0a2 2 0 100-4 2 2 0 000 4z"}},sync:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M47.9 29.3c0-.8-.7-1.5-1.5-1.5h-3.5c-.8 0-1.4.6-1.4 1.4 0 .2 0 .5-.1.7-.3 1.3-.8 2.5-1.5 3.7-2.8 4.9-7.7 7.6-12.9 7.6-4 0-7.8-1.6-10.6-4.4-.5-.4-.9-.9-1.2-1.4-.3-.8.4-1.2 1.3-1.2h7c.8 0 1.5-.7 1.5-1.5v-3.1c0-.8-.6-1.4-1.4-1.4H5.3c-.7 0-1.3.6-1.3 1.3v18.2c.1.8.8 1.5 1.6 1.5h3c.8 0 1.5-.7 1.5-1.5v-7c0-.9.5-1.3 1.2-.7.3.4.6.7 1 1 5 5 12 7.1 19.2 5.7 2.5-.5 4.9-1.5 7-2.9 5.2-3.4 8.5-8.6 9.4-14.3v-.2zM4.1 22.7c0 .8.7 1.5 1.5 1.5h3.5c.8 0 1.4-.6 1.4-1.4 0-.2 0-.5.1-.7.3-1.3.8-2.5 1.5-3.7 2.8-4.9 7.7-7.6 12.9-7.6 4 0 7.8 1.6 10.6 4.4.5.4.9.9 1.2 1.4.3.8-.4 1.2-1.3 1.2h-7c-.8 0-1.5.7-1.5 1.5v3.1c0 .8.6 1.4 1.4 1.4h18.3c.7 0 1.3-.6 1.3-1.3V4.3c-.1-.8-.8-1.5-1.6-1.5h-3c-.8 0-1.5.7-1.5 1.5v7c0 .9-.5 1.3-1.2.7-.3-.4-.6-.7-1-1-5-5-12-7.1-19.2-5.7-2.5.5-4.9 1.5-7 2.9-5.2 3.4-8.5 8.6-9.4 14.3v.2z"}},system_and_global_variable:{xmlns:"http://www.w3.org/2000/svg",path:[{d:"M25 46.5c0-3 1.4-5.2 3.4-6.5v-3c-1-.7-1.8-1.8-2.2-3-.4-1.7.2-3.6 1.2-5 .2-.3.6-.6.9-1 .3-.3.7-.6 1.1-.7 2.1-1.1 4.5-1.9 6.9-1.9 2.2 0 4.1.9 5.4 2.2 1.9-1.9 3.9-2.3 5.1-2.3 1.1 0 2.2.2 3.1.7v-.2C50 12.8 39.2 2 26 2S2 12.8 2 26s10.7 24 23.8 24c-.5-1-.8-2.1-.8-3.5zm20-22.9h-6.3C38.5 18 37.2 13 35.3 9.2c5.3 3 8.9 8.3 9.7 14.4zM28.4 7.9c2.7 2.3 5.1 8.2 5.5 15.8h-5.5V7.9zM7 28.4h6.3c.2 5.7 1.5 10.6 3.4 14.4-5.3-2.9-8.9-8.2-9.7-14.4zm6.3-4.8H7c.8-6.2 4.5-11.4 9.8-14.4-2 3.8-3.2 8.8-3.5 14.4zm10.3 20.6c-2.7-2.3-5.1-8.2-5.5-15.8h5.5v15.8zm0-20.6h-5.5c.4-7.5 2.8-13.4 5.5-15.8v15.8z"},{d:"M46.4 36c1 0 3.1-.9 3.1-3.6s-2-2.9-2.6-2.9c-1.2 0-2.4.9-3.4 2.7-1.1 1.8-2.3 3.9-2.3 3.9h-.1c-.2-1.3-.5-2.4-.6-2.9-.2-1.1-1.5-3.6-4.2-3.6s-5.2 1.6-5.2 1.6c-.5.3-.8.8-.8 1.4 0 .9.7 1.7 1.7 1.7.2 0 .5-.1.7-.2 0 0 2.1-1.1 2.5 0 .2.3.2.7.4 1.1.6 1.8 1 3.9 1.4 5.8l-1.8 2.5s-2-.7-3-.7-3.1.9-3.1 3.6 2 2.9 2.6 2.9c1.2 0 2.4-.9 3.4-2.7 1-1.8 2.2-3.9 2.2-3.9.3 1.7.6 3 .8 3.6.7 1.9 2.2 3.1 4.3 3.1 0 0 2.2 0 4.6-1.4.6-.2 1-.9 1-1.5 0-.9-.7-1.7-1.7-1.7-.2 0-.5.1-.7.2 0 0-1.8 1-2.4.2-.5-.8-.8-1.9-1.1-3.4-.2-1.2-.6-2.6-.9-4.1l1.8-2.6c.4.1 2.4.9 3.4.9z"}]},table:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M46.5 2h-41C4.7 2 4 2.7 4 3.5v5c0 .8.7 1.5 1.5 1.5h41c.8 0 1.5-.7 1.5-1.5v-5c0-.8-.7-1.5-1.5-1.5zM14.5 14h-9c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h9c.8 0 1.5-.7 1.5-1.5v-3c0-.8-.7-1.5-1.5-1.5zM30.5 14h-9c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h9c.8 0 1.5-.7 1.5-1.5v-3c0-.8-.7-1.5-1.5-1.5zM46.5 14h-9c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h9c.8 0 1.5-.7 1.5-1.5v-3c0-.8-.7-1.5-1.5-1.5zM14.5 24h-9c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h9c.8 0 1.5-.7 1.5-1.5v-3c0-.8-.7-1.5-1.5-1.5zM30.5 24h-9c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h9c.8 0 1.5-.7 1.5-1.5v-3c0-.8-.7-1.5-1.5-1.5zM46.5 24h-9c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h9c.8 0 1.5-.7 1.5-1.5v-3c0-.8-.7-1.5-1.5-1.5zM14.5 34h-9c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h9c.8 0 1.5-.7 1.5-1.5v-3c0-.8-.7-1.5-1.5-1.5zM30.5 34h-9c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h9c.8 0 1.5-.7 1.5-1.5v-3c0-.8-.7-1.5-1.5-1.5zM46.5 34h-9c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h9c.8 0 1.5-.7 1.5-1.5v-3c0-.8-.7-1.5-1.5-1.5zM14.5 44h-9c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h9c.8 0 1.5-.7 1.5-1.5v-3c0-.8-.7-1.5-1.5-1.5zM30.5 44h-9c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h9c.8 0 1.5-.7 1.5-1.5v-3c0-.8-.7-1.5-1.5-1.5zM46.5 44h-9c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h9c.8 0 1.5-.7 1.5-1.5v-3c0-.8-.7-1.5-1.5-1.5z"}},table_settings:{xmlns:"http://www.w3.org/2000/svg",g:{path:{d:"M21.5 20h9c.8 0 1.5-.7 1.5-1.5v-3c0-.8-.7-1.5-1.5-1.5h-9c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5zM46.5 14h-9c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h9c.8 0 1.5-.7 1.5-1.5v-3c0-.8-.7-1.5-1.5-1.5zM5.5 10h41c.8 0 1.5-.7 1.5-1.5v-5c0-.8-.7-1.5-1.5-1.5h-41C4.7 2 4 2.7 4 3.5v5c0 .8.7 1.5 1.5 1.5zM48 27.4v-1.9c0-.8-.7-1.5-1.5-1.5h-2.7c1.3.7 2.5 1.6 3.5 2.7.3.2.5.5.7.7zM20 25.5v3c0 .8.7 1.5 1.5 1.5h.7c.7-1.2 1.5-2.3 2.5-3.3 1.1-1.1 2.3-2 3.5-2.7h-6.7c-.8 0-1.5.7-1.5 1.5zM24.7 49.3c-1.5-1.5-2.7-3.3-3.5-5.2-.7.1-1.2.8-1.2 1.5v3c0 .8.7 1.5 1.5 1.5h4c-.3-.3-.5-.6-.8-.8zM14.5 14h-9c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h9c.8 0 1.5-.7 1.5-1.5v-3c0-.8-.7-1.5-1.5-1.5zM14.5 24h-9c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h9c.8 0 1.5-.7 1.5-1.5v-3c0-.8-.7-1.5-1.5-1.5zM14.5 44h-9c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h9c.8 0 1.5-.7 1.5-1.5v-3c0-.8-.7-1.5-1.5-1.5zM14.5 34h-9c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h9c.8 0 1.5-.7 1.5-1.5v-3c0-.8-.7-1.5-1.5-1.5z"},g:{path:[{d:"M36.1 35c-1.7 0-3 1.3-3 3s1.3 3 3 3c1.6 0 2.9-1.4 3-3-.1-1.7-1.4-3-3-3z"},{d:"M44.5 29.5c-4.7-4.7-12.3-4.7-17 0-4.7 4.7-4.7 12.3 0 17 4.7 4.7 12.3 4.7 17 0 4.7-4.7 4.7-12.3 0-17zm-.6 9.5c0 .3-.1.5-.5.5-.4.1-.8.1-1.2.1-.1 0-.1.1-.1.1-.1.5-.4.8-.5 1.3-.1.1-.1.1 0 .2.2.4.5.7.7 1 .1.2.1.5-.1.7l-1.3 1.3c-.2.1-.3.1-.4.1s-.3-.1-.3-.1c-.3-.2-.7-.5-1-.7 0-.1-.1-.1-.1-.1H39c-.3.1-.8.4-1.3.5-.1 0-.1.1-.1.1-.1.4-.1.8-.1 1.2-.1.3-.5.5-.5.5h-1.9c-.3 0-.5-.1-.5-.5-.1-.4-.1-.8-.1-1.2 0-.1-.1-.1-.1-.1-.5-.1-.8-.4-1.3-.5H33c-.1 0-.1.1-.1.1-.4.2-.7.5-1 .7-.1.1-.3.1-.3.1-.2 0-.3 0-.4-.1l-1.3-1.3c-.2-.2-.2-.5-.1-.7.2-.3.5-.7.7-1 .1-.1 0-.1 0-.2-.1-.5-.4-.8-.5-1.3 0-.1-.1-.1-.1-.1-.4-.1-.7-.1-1.1-.1-.2-.1-.4-.2-.5-.4v-2.2c.1-.3.3-.4.5-.4.4-.1.7-.1 1.1-.1.1 0 .1-.1.1-.1.1-.5.4-.8.5-1.3.1-.1.1-.1 0-.2-.2-.4-.5-.7-.7-1-.1-.2-.1-.5.1-.7l1.3-1.3c.2-.1.2-.1.4-.1s.3.1.3.1c.4.2.7.5 1 .7l.1.1c.5-.1.8-.4 1.3-.5.1 0 .1-.1.1-.1.1-.4.1-.7.1-1.1 0-.2.2-.4.3-.5.1-.1.2-.1.3-.1H37s.1 0 .1.1c.3.1.3.3.3.5.1.4.1.7.1 1.1 0 .1.1.1.1.1.5.1.8.4 1.3.5h.1s0-.1.1-.1c.3-.2.7-.5 1-.7.1-.1.3-.1.3-.1.1 0 .3.1.3.1l1.3 1.3c.2.2.2.5.1.7-.2.3-.5.7-.7 1v.2c.1.3.4.8.5 1.3 0 .1.1.1.1.1.4.1.8.1 1.2.1.3.1.5.2.5.7V39z"}]}}},tablet_landscape:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M50 10c0-2.2-1.8-4-4-4H6c-2.2 0-4 1.8-4 4v32c0 2.2 1.8 4 4 4h40c2.2 0 4-1.8 4-4V10zM6.9 29c-1.7 0-3-1.3-3-3s1.3-3 3-3 3 1.3 3 3-1.4 3-3 3zM44 38.5c0 .8-.7 1.5-1.5 1.5h-29c-.8 0-1.5-.7-1.5-1.5v-25c0-.8.7-1.5 1.5-1.5h29c.8 0 1.5.7 1.5 1.5v25z"}},tablet_portrait:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M46 6c0-2.2-1.8-4-4-4H10C7.8 2 6 3.8 6 6v40c0 2.2 1.8 4 4 4h32c2.2 0 4-1.8 4-4V6zM25.9 48c-1.7 0-3-1.3-3-3s1.3-3 3-3 3 1.3 3 3-1.4 3-3 3zM40 38.5c0 .8-.7 1.5-1.5 1.5h-25c-.8 0-1.5-.7-1.5-1.5v-29c0-.8.7-1.5 1.5-1.5h25c.8 0 1.5.7 1.5 1.5v29z"}},tabset:{xmlns:"http://www.w3.org/2000/svg",path:[{d:"M31.6 2H20.4c-.7 0-1.2.6-1.2 1.3v2.5c0 .7.6 1.3 1.2 1.3h11.2c.7 0 1.2-.6 1.2-1.3V3.3c.1-.7-.5-1.3-1.2-1.3zM48.7 2H37.5c-.7 0-1.3.6-1.3 1.3v2.5c0 .7.6 1.3 1.3 1.3h11.2c.7-.1 1.3-.6 1.3-1.3V3.3c0-.7-.6-1.3-1.3-1.3z"},{d:"M48.7 10.4H17c-.7 0-1.3-.6-1.3-1.3V3.3c0-.7-.6-1.3-1.3-1.3H3.3C2.6 2 2 2.6 2 3.3v45.5c0 .6.6 1.2 1.3 1.2H48.7c.7 0 1.3-.6 1.3-1.3v-37c0-.7-.6-1.3-1.3-1.3z"}]},talent_development:{xmlns:"http://www.w3.org/2000/svg",circle:{cx:"16.35",cy:"20.81",r:"7.21"},path:[{d:"M16.35 29.62h-.17A10.76 10.76 0 005.85 40.5v2.58a1.29 1.29 0 001.29 1.29H25.6a1.27 1.27 0 001.26-1.25v-3a10.51 10.51 0 00-10.51-10.5zM31.34 27.77l-4.12 4.39a13.4 13.4 0 012.62 8v3a4.42 4.42 0 01-.21 1.25h.13a18.28 18.28 0 0012.44-4.9L31.36 27.77z"},{d:"M41.12 11.54A18.36 18.36 0 0019.19 11a10.2 10.2 0 013.94 17.44 14.64 14.64 0 012.08 1.5l4.67-5v-7.65a1.5 1.5 0 011.5-1.5h6.09a1.5 1.5 0 011.5 1.5v4.19a1.5 1.5 0 01-1.5 1.5h-4.59v2L44.24 37.3a18.35 18.35 0 00-3.12-25.76z"}]},target:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M26.2 2.3H26A18.74 18.74 0 007.3 21v.2c0 13 13.4 25 17.6 28.1a2 2 0 002.5 0c4.2-3.3 17.5-15.1 17.5-28.1A19 19 0 0026.2 2.3zM26 7.5a13.53 13.53 0 0110.6 21.9c-1.1-1.6-3.4-2.8-5.6-3.7a.37.37 0 00-.3-.1.85.85 0 00-.7 0 8.12 8.12 0 01-4 1.2 7 7 0 01-4-1.2.85.85 0 00-.7 0 .37.37 0 01-.3.1c-2.2 1-4.5 2.1-5.6 3.8A13.6 13.6 0 0126 7.5z"},ellipse:{cx:"26",cy:"18.3",rx:"5.6",ry:"6.2"}},target_mode:{xmlns:"http://www.w3.org/2000/svg",path:[{d:"M24.56 45.75A1.45 1.45 0 0026 44.3l.08-16.77A1.5 1.5 0 0024.81 26H7.72a1.49 1.49 0 00-1.53 1.29v3.3a1.49 1.49 0 001.29 1.53H13a1.08 1.08 0 011.05 1.05 1.1 1.1 0 01-.25.73L2.56 45.18a1.65 1.65 0 00-.08 2.26l2.18 2.17a1.7 1.7 0 002.25-.08l11.37-11.36a1 1 0 011.45 0 .75.75 0 01.24.73v5.31a1.51 1.51 0 001.29 1.54h3.3z"},{d:"M30.53 48.33a24 24 0 0012.57-6.45 23.37 23.37 0 10-33-33.05 23.09 23.09 0 00-6.49 12.49h4.75a18.65 18.65 0 0131.44-9.18 18.66 18.66 0 01-9.11 31.43zm.24-9.6a13.14 13.14 0 005.72-3.46 14 14 0 00-19.82-19.83 13.86 13.86 0 00-3.47 5.8h5a9.21 9.21 0 011.8-2.58 9.35 9.35 0 0113.19 13.22 10.49 10.49 0 01-2.42 1.78z"}]},task:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M24 7l-1.7-1.7c-.5-.5-1.2-.5-1.7 0L10 15.8l-4.3-4.2c-.5-.5-1.2-.5-1.7 0l-1.7 1.7c-.5.5-.5 1.2 0 1.7l5.9 5.9c.5.5 1.1.7 1.7.7.6 0 1.2-.2 1.7-.7L24 8.7c.4-.4.4-1.2 0-1.7zM48.4 18.4H27.5c-.9 0-1.6-.7-1.6-1.6v-3.2c0-.9.7-1.6 1.6-1.6h20.9c.9 0 1.6.7 1.6 1.6v3.2c0 .9-.7 1.6-1.6 1.6zM48.4 32.7H22.7c-.9 0-1.6-.7-1.6-1.6v-3.2c0-.9.7-1.6 1.6-1.6h25.7c.9 0 1.6.7 1.6 1.6v3.2c0 .9-.7 1.6-1.6 1.6zM13 32.7H9.8c-.9 0-1.6-.7-1.6-1.6v-3.2c0-.9.7-1.6 1.6-1.6H13c.9 0 1.6.7 1.6 1.6v3.2c.1.9-.7 1.6-1.6 1.6zM13 47H9.8c-.9 0-1.6-.7-1.6-1.6v-3.2c0-.9.7-1.6 1.6-1.6H13c.9 0 1.6.7 1.6 1.6v3.2c.1.9-.7 1.6-1.6 1.6zM48.4 47H22.7c-.9 0-1.6-.7-1.6-1.6v-3.2c0-.9.7-1.6 1.6-1.6h25.7c.9 0 1.6.7 1.6 1.6v3.2c0 .9-.7 1.6-1.6 1.6z"}},text:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M49.4 47.9c-.2-3.2-.3-6.5-.3-9.7 0-1.6 0-3.2.1-4.9 0-1.5.2-3-.4-4.4-1.3-3.2-5.5-3.8-8.5-3.8-1.5 0-3.1.2-4.7.6-1.1.3-2.2.7-3.1 1.2l1 2.5c.2.5.3 1 .4 1.5 2-1 4-1.5 6.1-1.5 3.2 0 4.8 1.3 4.8 3.8v1.2h-2.2c-4.1 0-7.2.6-9.3 1.8-2.3 1.1-3.3 3.2-3.3 6.3 0 2.3.7 4.1 2.1 5.3 1.4 1.2 3.2 1.9 5.4 1.9 1.9 0 3.4-.3 4.6-.8 1.2-.5 2.2-1.4 3-2.5h.1c.1.5.2 1.4.4 2.6 0 .1 3.6 0 3.9 0 0-.4-.1-.7-.1-1.1zM44.8 40c0 .6-.1 1.1-.3 1.6-.1.4-.3.8-.6 1.1-1 1.4-2.6 2.1-4.2 2.3-1 .2-2 .1-3-.1-.8-.1-1.5-.5-2-1.2-.7-1.1-.5-2.8.2-3.8.5-.6 1.2-1 1.9-1.3C38.7 38 41 38 43 38h1.7v2zM29.9 31L18.7 3.4c-.2-.5-.6-.9-1.2-.9H14c-.5 0-1.1.4-1.3.9L2.6 31c-.3.5.2 1.2.7 1.2h3.9c.5 0 1.1-.4 1.3-1L11 24h10l2.9 7.2c.2.5.7 1 1.3 1h3.9c.6 0 1-.7.8-1.2zM13.1 18.5L16 11l3.2 7.5h-6.1z"}},text_background_color:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M25.9 16l4.3 10h-9l3.9-10h.8zM48 8v36c0 2.2-1.8 4-4 4H8c-2.2 0-4-1.8-4-4V8c0-2.2 1.8-4 4-4h36c2.2 0 4 1.8 4 4zm-5.5 32.7L30.5 11c-.3-.6-.8-1-1.5-1h-7.1c-.6 0-1.2.4-1.4 1l-11 29.7c-.2.6.2 1.3.9 1.3h4.1c.6 0 1.2-.5 1.4-1.1l3.2-8.9h13.4l3.5 8.9c.2.6.8 1.1 1.4 1.1h4.1c.7 0 1.2-.7 1-1.3z"}},text_color:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M10.4 36h4.1c.6 0 1.2-.5 1.4-1.1l3.2-8.9h13.4l3.5 8.9c.2.6.8 1.1 1.4 1.1h4.1c.7 0 1.2-.7.9-1.3L30.4 5c-.2-.6-.7-1-1.3-1H22c-.6 0-1.2.4-1.4 1l-11 29.7c-.3.6.2 1.3.8 1.3zm14.7-26h.9l4.3 10h-9l3.8-10zM48.5 42h-45c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h45c.8 0 1.5-.7 1.5-1.5v-3c0-.8-.7-1.5-1.5-1.5z"}},text_template:{xmlns:"http://www.w3.org/2000/svg",path:[{d:"M20.1 37.2V37c.2-2.7 2.4-4.9 5.2-4.9H32c-1.1-1.9-.9-4.4.7-6.2l.2-.2 1.6-1.5c.9-1 2.2-1.5 3.4-1.6V6.1c0-2.2-1.8-4-4-4H6.1c-2.2 0-4 1.8-4 4V34c0 2.2 1.8 4 4 4H20v-.8zM8.1 8.3c0-.6.4-1 1-1h6c.6 0 1 .4 1 1v2.8c0 .6-.4 1-1 1h-6c-.6 0-1-.4-1-1V8.3zm0 8.7c0-.6.4-1 1-1H31c.6 0 1 .4 1 1v2.8c0 .6-.4 1-1 1H9.2c-.6 0-1-.4-1-1L8.1 17zm0 11.6v-2.8c0-.6.4-1 1-1h18c.6 0 1 .4 1 1v2.8c0 .6-.4 1-1 1H9.2c-.7 0-1.1-.4-1.1-1z"},{d:"M39.2 27c-.6-.5-1.3-.5-1.7 0l-1.7 1.6c-.4.5-.4 1.2 0 1.6l4.4 4.4c.2.2.2.3.2.6 0 .5-.3.8-.8.8H25.3c-.6 0-1.1.5-1.2 1.1v2.4c.1.6.6 1.1 1.2 1.3h14.3c.2 0 .3.1.4.2.3.2.4.8.2 1.1l-4.4 4.4c-.4.5-.4 1.2 0 1.6l1.6 1.7c.5.4 1.2.4 1.6 0l10.6-10.6c.4-.5.4-1.2 0-1.6L39.2 27z"}]},textarea:{xmlns:"http://www.w3.org/2000/svg",path:[{d:"M44.8 49.5H7.2c-2.6 0-4.7-2.1-4.7-4.7V7.2c0-2.6 2.1-4.7 4.7-4.7h37.6c2.6 0 4.7 2.1 4.7 4.7v37.6c0 2.6-2.1 4.7-4.7 4.7zm-36-39.2v31.3c0 .9.7 1.6 1.6 1.6h31.3c.9 0 1.6-.7 1.6-1.6V10.3c0-.9-.7-1.6-1.6-1.6H10.4c-.9.1-1.6.8-1.6 1.6z"},{d:"M35.3 27c.8 0 1.6.7 1.6 1.6v6.8c0 .9-.7 1.6-1.6 1.6h-7.2c-.9 0-1.5-.7-1.6-1.6 0-.6.3-1 .6-1.4l1.5-1.5c1-1 2.1-1.9 3.1-2.8.7-.7 1.4-1.3 2.2-2 .2-.2.4-.4.6-.5.4-.2.6-.2.8-.2z"}]},textbox:{xmlns:"http://www.w3.org/2000/svg",path:[{d:"M44.7 49.4H7.3c-2.6 0-4.7-2.1-4.7-4.7V7.3c0-2.6 2.1-4.7 4.7-4.7h37.5c2.6 0 4.7 2.1 4.7 4.7v37.5c-.1 2.5-2.2 4.6-4.8 4.6zm-35.8-39v31.2c0 .9.7 1.6 1.6 1.6h31.2c.9 0 1.6-.7 1.6-1.6V10.4c0-.9-.7-1.6-1.6-1.6H10.5c-.9 0-1.6.7-1.6 1.6z"},{d:"M15.2 35.3V16.7c0-.9.7-1.6 1.6-1.6h3.1c.9 0 1.6.7 1.6 1.6v18.6c0 .9-.7 1.6-1.6 1.6h-3.1c-.9 0-1.6-.7-1.6-1.6z"}]},threedots:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M8 20c3.3 0 6 2.7 6 6s-2.7 6-6 6-6-2.7-6-6 2.7-6 6-6zm18 0c3.3 0 6 2.7 6 6s-2.7 6-6 6-6-2.7-6-6 2.7-6 6-6zm18 0c3.3 0 6 2.7 6 6s-2.7 6-6 6-6-2.7-6-6 2.7-6 6-6z"}},threedots_vertical:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M20 44c0-3.3 2.7-6 6-6s6 2.7 6 6-2.7 6-6 6-6-2.7-6-6zm0-18c0-3.3 2.7-6 6-6s6 2.7 6 6-2.7 6-6 6-6-2.7-6-6zm0-18c0-3.3 2.7-6 6-6s6 2.7 6 6-2.7 6-6 6-6-2.7-6-6z"}},thunder:{xmlns:"http://www.w3.org/2000/svg",g:{path:{d:"M30.349 3.077a3.704 3.704 0 00-5.222 0l-22.05 22.05a3.702 3.702 0 000 5.221L14.82 42.092a3.703 3.703 0 005.222 0l22.05-22.05a3.706 3.706 0 000-5.222L30.349 3.077zM12.177 5.009c-.522-.522-1.436-.522-1.958 0l-5.204 5.204c-.522.522-.522 1.437 0 1.958l1.958 1.958c.522.521 1.436.521 1.958 0l5.205-5.205c.522-.522.522-1.436 0-1.958l-1.959-1.957zM31.062 36.261c-.522.522-.521 1.437 0 1.958l11.363 11.389c.522.522 1.436.522 1.959 0l5.225-5.225c.521-.521.522-1.436 0-1.959L38.245 31.036c-.522-.522-1.438-.521-1.96 0l-5.223 5.225z"}}},tile_card_list:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M14.5 4h-9C4.7 4 4 4.7 4 5.5v17c0 .8.7 1.5 1.5 1.5h9c.8 0 1.5-.7 1.5-1.5v-17c0-.8-.7-1.5-1.5-1.5zM30.5 4h-9c-.8 0-1.5.7-1.5 1.5v17c0 .8.7 1.5 1.5 1.5h9c.8 0 1.5-.7 1.5-1.5v-17c0-.8-.7-1.5-1.5-1.5zM46.5 4h-9c-.8 0-1.5.7-1.5 1.5v17c0 .8.7 1.5 1.5 1.5h9c.8 0 1.5-.7 1.5-1.5v-17c0-.8-.7-1.5-1.5-1.5zM14.5 28h-9c-.8 0-1.5.7-1.5 1.5v17c0 .8.7 1.5 1.5 1.5h9c.8 0 1.5-.7 1.5-1.5v-17c0-.8-.7-1.5-1.5-1.5zM30.5 28h-9c-.8 0-1.5.7-1.5 1.5v17c0 .8.7 1.5 1.5 1.5h9c.8 0 1.5-.7 1.5-1.5v-17c0-.8-.7-1.5-1.5-1.5zM46.5 28h-9c-.8 0-1.5.7-1.5 1.5v17c0 .8.7 1.5 1.5 1.5h9c.8 0 1.5-.7 1.5-1.5v-17c0-.8-.7-1.5-1.5-1.5z"}},toggle:{xmlns:"http://www.w3.org/2000/svg",g:{path:{d:"M39.2 2H12.4C6.6 2.2 2 6.9 2 12.8s4.6 10.6 10.4 10.8h26.8c5.9 0 10.8-4.8 10.8-10.8S45.2 2 39.2 2zM12.7 18.8c-3.3 0-6-2.7-6-6s2.7-6 6-6 6 2.7 6 6-2.7 6-6 6zM39.2 28.5H12.4C6.6 28.7 2 33.4 2 39.2S6.6 49.8 12.4 50h26.8c6 0 10.8-4.8 10.8-10.8s-4.8-10.7-10.8-10.7zm.4 18.4H12.3c-4-.2-7.2-3.5-7.2-7.6s3.2-7.4 7.2-7.6h27.3c4 .2 7.2 3.5 7.2 7.6s-3.2 7.4-7.2 7.6z"},circle:{cx:"39.2",cy:"39.2",r:"5.2"}}},toggle_panel_bottom:{xmlns:"http://www.w3.org/2000/svg",path:[{d:"M46 8H6c-1.1 0-2 .9-2 2v32c0 1.1.9 2 2 2h40c1.1 0 2-.9 2-2V10c0-1.1-.9-2-2-2zm-2 32H8V12h36v28z"},{d:"M41 38H11.1c-.6 0-1-.4-1-1V27c0-.6.4-1 1-1H41c.6 0 1 .4 1 1v10c0 .6-.4 1-1 1z"}]},toggle_panel_left:{xmlns:"http://www.w3.org/2000/svg",path:[{d:"M46 8H6c-1.1 0-2 .9-2 2v32c0 1.1.9 2 2 2h40c1.1 0 2-.9 2-2V10c0-1.1-.9-2-2-2zm-2 32H8V12h36v28z"},{d:"M21 38h-9.9c-.6 0-1-.4-1-1V15c0-.6.4-1 1-1H21c.6 0 1 .4 1 1v22c0 .6-.4 1-1 1z"}]},toggle_panel_right:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M4 8h44v36H4V8zm4 4v28h36V12H8zm22 2h12v24H30V14z","fill-rule":"evenodd"}},toggle_panel_top:{xmlns:"http://www.w3.org/2000/svg",path:[{d:"M46 8H6c-1.1 0-2 .9-2 2v32c0 1.1.9 2 2 2h40c1.1 0 2-.9 2-2V10c0-1.1-.9-2-2-2zm-2 32H8V12h36v28z"},{d:"M41 26H11.1c-.6 0-1-.4-1-1V15c0-.6.4-1 1-1H41c.6 0 1 .4 1 1v10c0 .6-.4 1-1 1z"}]},top_align:{xmlns:"http://www.w3.org/2000/svg",rect:[{x:"2",y:"2",width:"48",height:"6.4",rx:"1.6"},{"data-name":"Rectangle",x:"18.8",y:"12.4",width:"14.4",height:"37.6",rx:"3.2"}]},topic:{xmlns:"http://www.w3.org/2000/svg",g:{path:[{d:"M17.4 35.3c-.1-.3-.4-.6-.7-.7l-2.2-.6c-.4-.1-.9.1-1.1.5L9.6 41c-1 1.8-.4 2.4 1.4 1.4l6.6-3.8c.4-.2.6-.7.5-1.1l-.7-2.2zM34.6 16.7c.1.3.4.6.7.7l2.2.6c.4.1.9-.1 1.1-.5l3.8-6.6c1-1.8.4-2.4-1.4-1.4l-6.6 3.8c-.4.2-.6.7-.5 1.1l.7 2.3zM13.4 17.6c.2.4.7.6 1.1.5l2.2-.6c.3-.1.6-.4.7-.7l.6-2.2c.1-.4-.1-.9-.5-1.1L11 9.6c-1.8-1-2.4-.4-1.4 1.4l3.8 6.6zM38.6 34.4c-.2-.4-.7-.6-1.1-.5l-2.2.6c-.3.1-.6.4-.7.7l-.6 2.3c-.1.4.1.9.5 1.1l6.6 3.8c1.8 1 2.4.4 1.4-1.4l-3.9-6.6z"},{d:"M48.7 25.2l-16.4-4.4c-.6-.1-1-.6-1.1-1.1L26.8 3.3c-.5-1.7-1.2-1.7-1.7 0l-4.4 16.4c-.1.6-.6 1-1.1 1.1L3.3 25.2c-1.7.5-1.7 1.2 0 1.7l16.4 4.4c.6.1 1 .6 1.1 1.1l4.4 16.4c.5 1.7 1.2 1.7 1.7 0l4.4-16.4c.1-.6.6-1 1.1-1.1l16.4-4.4c1.6-.5 1.6-1.3-.1-1.7zM26 30c-2.2 0-4-1.8-4-4s1.8-4 4-4 4 1.8 4 4-1.8 4-4 4z"}]}},topic2:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M49.2 13.3h-6.5l2.8-10.7v-.2c0-.4-.3-.8-.8-.8h-5.2c-.4 0-.7.3-.8.7l-2.8 11.1h-13l2.8-10.7v-.3c0-.4-.3-.8-.8-.8h-5.2c-.4 0-.7.3-.8.7l-2.9 11H8.8c-.4 0-.7.2-.8.6l-1.3 4.9v.2c0 .4.3.8.8.8h6.8l-3.2 12.5h-7c-.4 0-.7.2-.8.6L2 37.6v.2c0 .4.3.8.8.8h6.6L6.6 49.5v.2c0 .4.3.8.8.8h5.2c.4 0 .7-.2.8-.7l2.9-11.2h12.9l-2.8 10.8v.2c0 .4.3.8.8.8h5.2c.4 0 .7-.2.8-.7L36 38.5h7.1c.4 0 .7-.2.8-.7l1.3-4.9v-.2c0-.4-.3-.8-.8-.8h-6.7L41 19.4h6.9c.4 0 .7-.2.8-.7l1.3-4.9v-.2s-.4-.3-.8-.3zm-18.3 19H18l3.2-12.5h12.9l-3.2 12.5z"}},touch_action:{xmlns:"http://www.w3.org/2000/svg",path:[{d:"M37.8 29.8L29.6 27c-.6-.2-1.1-.8-1.1-1.5V14.6c0-1.7-1.4-3-3.1-3h-.3c-1.7 0-3.1 1.4-3.1 3v21.5c0 1.8-2.3 2.6-3.3 1l-2.1-4.4c-1.1-1.9-3.6-2.4-5.4-1.1l-1.3 1 6.9 16.3c.3.7 1 1.1 1.8 1.1h18.1c.9 0 1.6-.6 1.8-1.4l3.2-11.4c.8-3.2-1-6.3-3.9-7.4z"},{d:"M17.2 23v-8.2-.4c.2-4.1 3.5-7.4 7.6-7.6h.8c4.1.2 7.4 3.5 7.6 7.6V23c0 .7.9 1 1.4.6 2.2-2.3 3.5-5.4 3.5-8.7 0-7.4-6.4-13.4-14-12.7-5.8.6-10.6 5-11.5 10.7-.6 4 .6 7.9 3.3 10.7.4.4 1.3.1 1.3-.6z"}]},tracker:{xmlns:"http://www.w3.org/2000/svg",g:{path:{d:"M15.2 28.4V24c5.1-.9 9-5.4 9-10.8 0-6.1-4.9-11-11-11s-11 4.9-11 11c0 5.4 3.9 9.9 9 10.8v4.4c-5.1.9-9 5.4-9 10.8 0 6.1 4.9 11 11 11s11-4.9 11-11c0-5.4-3.9-9.8-9-10.8zm-9-15.2c0-3.9 3.1-7 7-7s7 3.1 7 7-3.1 7-7 7-7-3-7-7zM30.3 9.2h17.9c1.1 0 2 .9 2 2v4c0 1.1-.9 2-2 2H30.3c-1.1 0-2-.9-2-2v-4c0-1.1.9-2 2-2zM30.3 35.2h17.9c1.1 0 2 .9 2 2v4c0 1.1-.9 2-2 2H30.3c-1.1 0-2-.9-2-2v-4c0-1 .9-2 2-2z"}}},trail:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M27.8 2c3.3 0 5.9 2.6 5.9 5.9s-2.7 5.9-5.9 5.9-5.9-2.6-5.9-5.9S24.5 2 27.8 2zM43 18.1c-1.2-.1-2.3.7-2.4 1.8l-.6 5.8c-.2 0-.3.3-.5.3H34l-3.8-6.7c-.3-.6-.9-1.1-1.6-1.2l-5.8-.8c-1-.1-2 .4-2.4 1.4L16 30c-.3.9.1 1.8.9 2.3l10.8 7.4.9 8.4c.1 1.1 1.1 1.9 2.2 1.9 1.3 0 2.3-1 2.2-2.2l-1-10.3c0-.5-.3-1-.8-1.4l-5.9-6.6 2.2-5.4 2.6 4.5c.4.6 1.1 1.3 1.9 1.3h7.6l-2.2 18c-.1 1.1.7 2 1.9 2.1.1 0 .2-.1.2-.1 1.1 0 2-.8 2.2-1.9L45 20.2c.1-1-.8-2-2-2.1zM12.2 27.7l3.7-9.5c.2-.6.5-1.2.9-1.8l-.5-.1c-3.2-.4-6.2 1.5-7.2 4.4l-2 5.2c-.4 1.1.2 2.4 1.4 2.7l.9.2c1.2.5 2.4-.1 2.8-1.1zM13.6 35.2L9.1 48.6c-.2.7.3 1.3 1 1.3h2.5c.9 0 1.8-.6 2.1-1.4l4.4-9.7-5-3.1c-.1-.2-.3-.4-.5-.5z"}},trailblazer_ext:{xmlns:"http://www.w3.org/2000/svg",g:{path:[{d:"M49.83 32.45A1.43 1.43 0 0048.44 31h-12A1.43 1.43 0 0035 32.44v1.44a1.43 1.43 0 001.4 1.44h6.14l-11 11a1.42 1.42 0 000 2l1 1a1.54 1.54 0 001.09.45 1.32 1.32 0 00.94-.38l11-11v6A1.43 1.43 0 0047 45.83h1.53a1.43 1.43 0 001.47-1.4zM21.94 8.83a10.27 10.27 0 014.67 9 9.7 9.7 0 01-3.21 7.35.46.46 0 000 .62 27.28 27.28 0 002.52 1.3 2.25 2.25 0 00.62.15h5.39a19.84 19.84 0 016.42-2.55l.54-.09a2.94 2.94 0 000-.42v-.46c0-2.68-2.91-4.13-6.13-5.44-2.14-.84-2.45-1.68-2.45-2.52a3.25 3.25 0 011.38-2.3 5.64 5.64 0 002-4.44 5.94 5.94 0 00-5.54-6.32h-.54a5.81 5.81 0 00-6.05 5.44.79.79 0 00.38.68z"},{d:"M24.66 38.84a15.42 15.42 0 012.8-7.44 22.49 22.49 0 00-4.9-2.52c-2.61-1.07-3-2-3-3a4.18 4.18 0 011.61-2.76 6.76 6.76 0 002.37-5.28c0-4-2.6-7.42-7.35-7.42a7.09 7.09 0 00-7.35 6.82v.6a6.73 6.73 0 002.38 5.28 4.16 4.16 0 011.6 2.76c0 1-.38 2-3.06 3-3.83 1.54-7.58 3.3-7.58 6.51v1a3.09 3.09 0 003.12 3.06h19.48z"}]}},trailhead:{xmlns:"http://www.w3.org/2000/svg",path:[{d:"M12.3 37l-2.6 3h5.1zM14.7 43.1h5.1l-2.6-2.9zM35.2 41l2.5-2.9 2.6 2.9z"},{d:"M26.8 2.2c-.4-.2-.9-.2-1.4 0C11.1 8.2 1.9 22.4 2.2 38v3.4c0 .5.2 1 .7 1.4 6.9 4.6 15 7.1 23.3 7.2h.9c7.9-.3 15.7-2.7 22.3-7.2.4-.3.7-.8.7-1.4V38c.3-15.6-8.9-29.8-23.3-35.8zM13.9 14.8c5.8-6.9 12.3-9.2 12.3-9.2 1.4.6 16.9 6.7 20.2 26.4h-4.1l-7.8-11.3c-.5-.7-1.6-.9-2.4-.4-.2.1-.3.3-.4.4l-2 2.8-5.5-7.9c-.5-.7-1.6-.9-2.4-.4-.2.1-.3.3-.4.4L10.2 31.9l-4.1.1c1.2-7.5 4.3-13 7.8-17.2zM38.1 32H28l2.6-3.8 2.4-3.6 5.1 7.4zM23.7 20.9l4 5.7-3.8 5.3h-9.6l4.1-6.1 4.3-6.4 1 1.5zM27.5 44L26 46.6c-2.9 0-5.6-.4-8.8-1.1-4.1-1-8-2.7-11.6-4.9v-2.5c0-.8 0-1.7.1-2.6h17.6c-1.4 2.1-.7 4.9 1.5 6.2.2.1.4.2.5.3l1.6.7c.6.2.8.8.6 1.3zm19.3-3.5c-2.6 1.6-5.3 2.9-8.1 3.9 0 0-.5.2-.7.2-1.6.5-3.2.9-4.9 1.3-.9.2-1.9.3-2.8.4l.3-.5c1.3-2.2.5-4.9-1.7-6.2-.1-.1-.3-.1-.4-.2l-1.6-.7c-.5-.2-.8-.8-.5-1.4 0-.1.1-.2.1-.2l1.5-1.7h18.7c0 .8.1 1.7.1 2.6v2.5z"}]},trailhead_alt:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M22.21 36.21a2.72 2.72 0 01-.11.25 6.89 6.89 0 002.42 7.85c1.58 1.24 1.89 1.76 1.73 2.92a7.59 7.59 0 01-1.1 2.77A44.87 44.87 0 012 42.64v-3.7c0-.93 0-1.83.1-2.73h20.11zm27.69 0c.05.9.1 1.8.1 2.73v3.69a45 45 0 01-20.31 7.2 10 10 0 00.54-2c.53-3.73-1.83-5.57-3.24-6.67a2.83 2.83 0 01-1.12-3.25 8.24 8.24 0 01.89-1.67H49.9zM22.5 19.59l4.4 6.47-4.16 6.13h-8.8zM26 2a39.25 39.25 0 0123.48 30.19H43.6l-8.77-12.9a2.08 2.08 0 00-3.33 0l-2.17 3.19-5.17-7.6a2.09 2.09 0 00-3.33 0L9.08 32.19H2.52A39.25 39.25 0 0126 2zm7.17 22l5.56 8.19H27.61z","fill-rule":"evenodd"}},trailhead_ext:{xmlns:"http://www.w3.org/2000/svg",g:{path:[{d:"M49.8 32.5a1.37 1.37 0 00-1.4-1.4h-12a1.43 1.43 0 00-1.4 1.4v1.4a1.37 1.37 0 001.4 1.4h6.1l-11 11a1.52 1.52 0 000 2l1 1a1.61 1.61 0 001.1.5 1 1 0 00.9-.4l11-11v6a1.37 1.37 0 001.4 1.4h1.5a1.37 1.37 0 001.4-1.4zM21.8 25.1h7.7l-3.9-5.7z"},{d:"M16.8 12.5l.3-.3a1.38 1.38 0 011.8.3l4.2 6 1.5-2.1.3-.3a1.38 1.38 0 011.8.3l6 8.6h3.9a10.46 10.46 0 011.7-.4A28.91 28.91 0 0020.8 2.3a1.08 1.08 0 00-1.1 0A29 29 0 002.3 25h5.8z"},{d:"M17.8 15.4l-3.3 4.9-3.1 4.7h7.3l2.9-4.1zM2.1 32.2a1.61 1.61 0 00.5 1.1 32.87 32.87 0 0016 5.4l1.6-2.5 1.1-2a.64.64 0 00-.3-1l-1.2-.5-.4-.2a3.42 3.42 0 01-1.3-4.6c0-.1.1-.1.1-.2H2.1z"},{d:"M23.6 35.9c-.5.9-1.1 2.2-1.4 2.8l2.5-.3a15.58 15.58 0 016.5-10.8h-9.5l-1.1 1.6a.73.73 0 00.4 1l1.14.45.36.15a3.42 3.42 0 011.3 4.7z"}]}},transparent:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M48.5 5.6l-2.1-2.1a1.67 1.67 0 00-2.4.3L32.59 15.21c-.77-1.3-1.51-2.61-2.21-4a36.5 36.5 0 01-3.15-8.36c-.13-.53-.39-.91-1-.89s-.86.4-1 .93c-.06.26-.11.51-.17.76A48.3 48.3 0 0121 13.7 97.47 97.47 0 0114.13 25a16 16 0 00-3 11.12c0 .14 0 .29.06.43L3.8 44a1.87 1.87 0 00-.3 2.4l2.1 2.1a1.67 1.67 0 002.4-.3L48.2 8a1.67 1.67 0 00.3-2.4zM38.42 23.79l-22 22.31a14.47 14.47 0 009.8 3.9 15.48 15.48 0 007-1.44c4.94-2.51 8.11-6.4 8.94-12A15.22 15.22 0 0039 24.66c-.13-.22-.42-.66-.58-.87z"}},travel_and_places:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M47 21L42.48 8.84C41.76 6.52 39.6 5 37.2 5H14.8c-2.4 0-4.56 1.52-5.36 3.84L5 21c-2.08.56-3 2.56-3 4.8v11.6c0 2.08 2.16 3.88 4 4.6v4.033C6 47.344 6.674 48 8.023 48h5.027c1.3 0 1.95-.656 1.95-1.967V42h22v4.033c0 1.311.663 1.967 1.988 1.967h5.033c1.32 0 1.979-.656 1.979-1.967V41.96c1.84-.64 4-2.4 4-4.56V25.8c0-2.24-.92-4.24-3-4.8zM11 34c-2.24 0-4-1.76-4-4s1.76-4 4-4 4 1.76 4 4-1.76 4-4 4zm16.6-13H11.76c-.56 0-.92-.52-.76-1l3-9c.08-.32.29-1 1-1h22c.78 0 .92.76 1 1l3 9c.2.642-.12 1-.92 1H27.6zM41 34c-2.24 0-4-1.76-4-4s1.76-4 4-4 4 1.76 4 4-1.76 4-4 4z"}},trending:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M50.1 30.56a1.16 1.16 0 01-2 .82L42.73 26 30.32 36.65a3.39 3.39 0 01-4.92 0l-7.49-8.54-13.34 11.7a1.13 1.13 0 01-1.64 0l-.59-.59a1.13 1.13 0 010-1.64l13.12-17.9a3.39 3.39 0 014.92 0l7.49 7.49 7.61-8.78-4.92-4.45a1.26 1.26 0 01.82-2.11h16.38A2.35 2.35 0 0150 14.3z"}},turn_off_notifications:{xmlns:"http://www.w3.org/2000/svg",path:[{d:"M23.4 26.6c.6.6 1.4.6 2 0L46.8 6.9c.4-.7.3-1.9-1.2-1.9H3.4c-1.1 0-2 1.1-1.2 2l21.2 19.6z"},{d:"M30.1 37.6c.5-5.6 5-10.2 10.7-10.8.5 0 1-.1 1.4-.1 1.8 0 3.4.4 4.9 1V15.3c0-1-1.2-1.5-1.9-.8L28.6 29.9c-1.1 1-2.6 1.6-4.1 1.6s-3-.6-4.1-1.6L3.8 14.5c-.8-.7-1.9-.2-1.9.8v19.6c0 2.5 2.1 4.6 4.6 4.6h23.7c-.1-.6-.1-1.3-.1-1.9z"},{d:"M42.1 31c-4.4 0-8 3.6-8 8s3.6 8 8 8 8-3.6 8-8-3.6-8-8-8zm6 9.6c0 .2-.2.4-.5.4h-11c-.3 0-.5-.2-.5-.4v-3.2c0-.2.2-.4.5-.4h11c.3 0 .5.2.5.4v3.2z"}]},type:{xmlns:"http://www.w3.org/2000/svg",g:{path:[{d:"M48 11H4c-1.1 0-2 .9-2 2v26c0 1.1.9 2 2 2h44c1.1 0 2-.9 2-2V13c0-1.1-.9-2-2-2zm-2 26H6V15h40v22z"},{d:"M11.2 21.8h1c.8 0 1.5-.7 1.5-1.5v-1c0-.8-.7-1.5-1.5-1.5h-1c-.8 0-1.5.7-1.5 1.5v1c0 .8.7 1.5 1.5 1.5zM16.9 21.8h1c.8 0 1.5-.7 1.5-1.5v-1c0-.8-.7-1.5-1.5-1.5h-1c-.8 0-1.5.7-1.5 1.5v1c0 .8.7 1.5 1.5 1.5zM28.4 21.8h1c.8 0 1.5-.7 1.5-1.5v-1c0-.8-.7-1.5-1.5-1.5h-1c-.8 0-1.5.7-1.5 1.5v1c0 .8.7 1.5 1.5 1.5zM22.6 21.8h1c.8 0 1.5-.7 1.5-1.5v-1c0-.8-.7-1.5-1.5-1.5h-1c-.8 0-1.5.7-1.5 1.5v1c0 .8.7 1.5 1.5 1.5zM39.9 21.8h1c.8 0 1.5-.7 1.5-1.5v-1c0-.8-.7-1.5-1.5-1.5h-1c-.8 0-1.5.7-1.5 1.5v1c0 .8.7 1.5 1.5 1.5zM34.1 21.8h1c.8 0 1.5-.7 1.5-1.5v-1c0-.8-.7-1.5-1.5-1.5h-1c-.8 0-1.5.7-1.5 1.5v1c0 .8.7 1.5 1.5 1.5zM11.2 27.8h1c.8 0 1.5-.7 1.5-1.5v-1c0-.8-.7-1.5-1.5-1.5h-1c-.8 0-1.5.7-1.5 1.5v1c0 .8.7 1.5 1.5 1.5zM16.9 27.8h1c.8 0 1.5-.7 1.5-1.5v-1c0-.8-.7-1.5-1.5-1.5h-1c-.8 0-1.5.7-1.5 1.5v1c0 .8.7 1.5 1.5 1.5zM28.4 27.8h1c.8 0 1.5-.7 1.5-1.5v-1c0-.8-.7-1.5-1.5-1.5h-1c-.8 0-1.5.7-1.5 1.5v1c0 .8.7 1.5 1.5 1.5zM22.6 27.8h1c.8 0 1.5-.7 1.5-1.5v-1c0-.8-.7-1.5-1.5-1.5h-1c-.8 0-1.5.7-1.5 1.5v1c0 .8.7 1.5 1.5 1.5zM39.9 27.8h1c.8 0 1.5-.7 1.5-1.5v-1c0-.8-.7-1.5-1.5-1.5h-1c-.8 0-1.5.7-1.5 1.5v1c0 .8.7 1.5 1.5 1.5zM34.1 27.8h1c.8 0 1.5-.7 1.5-1.5v-1c0-.8-.7-1.5-1.5-1.5h-1c-.8 0-1.5.7-1.5 1.5v1c0 .8.7 1.5 1.5 1.5zM11.2 33.8h1c.8 0 1.5-.7 1.5-1.5v-1c0-.8-.7-1.5-1.5-1.5h-1c-.8 0-1.5.7-1.5 1.5v1c0 .8.7 1.5 1.5 1.5zM16.9 33.8h18.2c.8 0 1.5-.7 1.5-1.5v-1c0-.8-.7-1.5-1.5-1.5H16.9c-.8 0-1.5.7-1.5 1.5v1c0 .8.7 1.5 1.5 1.5zM39.9 33.8h1c.8 0 1.5-.7 1.5-1.5v-1c0-.8-.7-1.5-1.5-1.5h-1c-.8 0-1.5.7-1.5 1.5v1c0 .8.7 1.5 1.5 1.5z"}]}},type_tool:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M50.37 47.59L32.74 4a2.41 2.41 0 00-2.2-1.47H20.11A2.21 2.21 0 0018.06 4L1.9 47.59a1.43 1.43 0 001.32 1.91h6a2.36 2.36 0 002.06-1.62L16 34.81h19.68l5.14 13.07a2.36 2.36 0 002.06 1.62h6a1.52 1.52 0 001.49-1.91zM19.08 26l5.73-14.69H26L32.3 26z"}},undelete:{xmlns:"http://www.w3.org/2000/svg",g:{path:{d:"M41.5 20h-31c-.8 0-1.5.7-1.5 1.5V45c0 2.8 2.2 5 5 5h24c2.8 0 5-2.2 5-5V21.5c0-.8-.7-1.5-1.5-1.5zM26 46v-4c3.3 0 6-2.7 6-6s-2.7-6-6-6c-1.6 0-3.1.7-4.2 1.8l2.4 2.4c.3.3.1.9-.4.9h-7.3c-.3 0-.5-.2-.5-.5v-7.3c0-.4.5-.7.9-.4L19 29c1.9-1.8 4.4-2.9 7.1-2.9 5.5 0 10 4.5 10 10S31.5 46 26 46zM45.5 10H33V6c0-2.2-1.8-4-4-4h-6c-2.2 0-4 1.8-4 4v4H6.5c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h39c.8 0 1.5-.7 1.5-1.5v-3c0-.8-.7-1.5-1.5-1.5zM29 10h-6V7c0-.6.4-1 1-1h4c.6 0 1 .4 1 1v3z"}}},undeprecate:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M48 7H4c-1.1 0-2 .9-2 2v26c0 1.1.9 2 2 2h16.2c1 5.7 5.9 10 11.8 10s10.9-4.3 11.8-10H48c1.1 0 2-.9 2-2V9c0-1.1-.9-2-2-2zM30.5 41.3l-5.9-5.9 2.8-2.8 3.1 3.1 7.1-7.1 2.8 2.8-9.9 9.9zM46 33h-2.2c-1-5.7-5.9-10-11.8-10s-10.9 4.3-11.8 10H6V11h40v22z"}},underline:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M44.5 42h-37c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h37c.8 0 1.5-.7 1.5-1.5v-3c0-.8-.7-1.5-1.5-1.5zM25.3 38C17.8 37.6 12 31.1 12 23.6V10c0-1.1.9-2 2-2h2c1.1 0 2 .9 2 2v13.7c0 4.3 3.2 8 7.5 8.3 4.7.3 8.5-3.4 8.5-8V10c0-1.1.9-2 2-2h2c1.1 0 2 .9 2 2v14c0 8-6.7 14.4-14.7 14z"}},undo:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M30.3 12.6c10.4 0 18.9 8.4 18.9 18.9s-8.5 18.9-18.9 18.9h-8.2c-.8 0-1.3-.6-1.3-1.4v-3.2c0-.8.6-1.5 1.4-1.5h8.1c7.1 0 12.8-5.7 12.8-12.8s-5.7-12.8-12.8-12.8H16.4s-.8 0-1.1.1c-.8.4-.6 1 .1 1.7l4.9 4.9c.6.6.5 1.5-.1 2.1L18 29.7c-.6.6-1.3.6-1.9.1l-13-13c-.5-.5-.5-1.3 0-1.8L16 2.1c.6-.6 1.6-.6 2.1 0l2.1 2.1c.6.6.6 1.6 0 2.1l-4.9 4.9c-.6.6-.6 1.3.4 1.3h.7l13.9.1z"}},unlinked:{xmlns:"http://www.w3.org/2000/svg",path:[{d:"M18.1 36.9l9.4-9.5.7-.7 8.4-8.4 3.7-3.7 4.1-4.1c.7-.6.8-1.5.3-2l-1.8-1.8c-.4-.4-1.1-.4-1.7-.1L6.7 40.9v.1c-.6.6-.7 1.5-.3 2l1.8 1.8c.5.5 1.4.4 2-.3l4-4c0 .1 3.9-3.6 3.9-3.6zM18.4 23.1c-.5 0-.8.4-1 .8-.1.6-.1 1.2-.1 1.8 0 .4 0 .8.1 1.2l3.8-3.8h-2.8z"},{d:"M8.3 36l4-4c-2.8-.6-5-3-5.2-5.8-.3-3.8 2.8-6.9 6.5-6.9h9.1c.7 0 1.4.1 2.1.4l3.9-3.9c-.9-.5-1.8-1-2.7-1.2-1-.3-2.2-.5-3.2-.5h-8.7c-6.6-.1-12 4.8-12.2 11.1C1.7 29.9 4.3 34 8.3 36zM43.1 15.3l-4 4c2.9.5 5.2 2.9 5.4 5.9.3 3.8-2.8 6.9-6.5 6.9h-9c-.8 0-1.6-.2-2.3-.4l-3.9 3.9c.9.6 1.8 1 2.8 1.3 1 .3 2.2.5 3.2.5H38c6.6.1 11.9-5.4 11.7-12-.2-4.6-2.9-8.3-6.6-10.1z"},{d:"M30.1 28.3h3c.5 0 .8-.4 1-.8.1-.6.1-1.2.1-1.8 0-.5 0-.9-.1-1.4l-4 4z"}]},unlock:{xmlns:"http://www.w3.org/2000/svg",g:{path:{d:"M10 18.1v0zM42 23H16v-4.7c0-5.3 4-10 9.3-10.3 4.9-.3 9 2.8 10.3 7.2.1.4.5.8 1 .8h4.1c.6 0 1.1-.6 1-1.2C40.1 7.2 33.3 1.6 25.2 2c-8.5.4-15 7.7-15.2 16.1V23c-2.2 0-4 1.8-4 4v19c0 2.2 1.8 4 4 4h32c2.2 0 4-1.8 4-4V27c0-2.2-1.8-4-4-4zM30.6 42.7c.2.6-.3 1.3-1 1.3h-7.3c-.7 0-1.2-.6-1-1.3l1.8-6c-1.5-1-2.4-2.8-2-4.8.4-1.9 1.9-3.4 3.9-3.8 3.2-.6 6 1.7 6 4.7 0 1.6-.8 3.1-2.1 3.9l1.7 6z"}}},unmuted:{xmlns:"http://www.w3.org/2000/svg",g:{path:[{d:"M41.5 18c-1.4 0-2.5 1-2.5 2.4v4c0 7-5.9 12.8-13.1 12.8s-13.1-5.8-13.1-12.8v-4c0-1.4-1.1-2.4-2.5-2.4S8 19 8 20.4v4c0 8.9 6.8 16.2 15.5 17.4v3.4h-4.1c-1.4 0-2.5 1-2.5 2.4S18 50 19.4 50h13.1c1.4 0 2.5-1 2.5-2.4s-1.1-2.4-2.5-2.4h-4.1v-3.4C37.2 40.6 44 33.3 44 24.4v-4c0-1.4-1.1-2.4-2.5-2.4z"},{d:"M26 32.4c4.4 0 8-3.6 8-8V9.9C34 5.5 30.5 2 26.1 2h-.2C21.5 2 18 5.5 18 9.9v14.5c0 4.4 3.6 8 8 8z"}]}},up:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M43.7 38H8.3c-1 0-1.7-1.3-.9-2.2l17.3-21.2c.6-.8 1.9-.8 2.5 0l17.5 21.2c.7.9.1 2.2-1 2.2z"}},upload:{xmlns:"http://www.w3.org/2000/svg",g:{path:[{d:"M48.5 31h-3c-.8 0-1.5.8-1.5 1.5v10c0 .8-.7 1.5-1.5 1.5h-33c-.8 0-1.5-.7-1.5-1.5v-10c0-.7-.7-1.5-1.5-1.5h-3c-.8 0-1.5.8-1.5 1.5V46c0 2.2 1.8 4 4 4h40c2.2 0 4-1.8 4-4V32.5c0-.7-.7-1.5-1.5-1.5z"},{d:"M27 2.4c-.6-.6-1.5-.6-2.1 0L11.4 15.9c-.6.6-.6 1.5 0 2.1l2.1 2.1c.6.6 1.5.6 2.1 0l5.6-5.6c.6-.6 1.8-.2 1.8.7v21.2c0 .8.6 1.5 1.4 1.5h3c.8 0 1.6-.8 1.6-1.5V15.3c0-.9 1-1.3 1.7-.7l5.6 5.6c.6.6 1.5.6 2.1 0l2.1-2.1c.6-.6.6-1.5 0-2.1L27 2.4z"}]}},user:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M50 43v2.2c0 2.6-2.2 4.8-4.8 4.8H6.8C4.2 50 2 47.8 2 45.2V43c0-5.8 6.8-9.4 13.2-12.2l.6-.3c.5-.2 1-.2 1.5.1 2.6 1.7 5.5 2.6 8.6 2.6s6.1-1 8.6-2.6c.5-.3 1-.3 1.5-.1l.6.3C43.2 33.6 50 37.1 50 43zM26 2c6.6 0 11.9 5.9 11.9 13.2S32.6 28.4 26 28.4s-11.9-5.9-11.9-13.2S19.4 2 26 2z"}},user_role:{xmlns:"http://www.w3.org/2000/svg",path:[{d:"M38.3 27.2a11.4 11.4 0 1011.4 11.4 11.46 11.46 0 00-11.4-11.4zm2 12.4a2.39 2.39 0 01-.9-.2l-4.3 4.3a1.39 1.39 0 01-.9.4 1 1 0 01-.9-.4 1.39 1.39 0 010-1.9l4.3-4.3a2.92 2.92 0 01-.2-.9 3.47 3.47 0 013.4-3.8 2.39 2.39 0 01.9.2c.2 0 .2.2.1.3l-2 1.9a.28.28 0 000 .5l1.3 1.3a.38.38 0 00.6 0l1.9-1.9c.1-.1.4-.1.4.1a3.71 3.71 0 01.2.9 3.57 3.57 0 01-3.9 3.5z"},{d:"M25.2 49.8c2.2 0 1-1.5 1-1.5a15.44 15.44 0 01-3.4-9.7 15 15 0 011.4-6.4.77.77 0 01.2-.3c.7-1.4-.7-1.5-.7-1.5a12.1 12.1 0 00-1.9-.1A19.69 19.69 0 002.4 47.1c0 1 .3 2.8 3.4 2.8h19.1c.2-.1.2-.1.3-.1z"}],circle:{cx:"21.7",cy:"14.9",r:"12.9"}},variable:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M42.6 17.8c2.4 0 7.2-2 7.2-8.4s-4.6-6.8-6.1-6.8c-2.8 0-5.6 2-8.1 6.3-2.5 4.4-5.3 9.1-5.3 9.1h-.1c-.6-3.1-1.1-5.6-1.3-6.7-.5-2.7-3.6-8.4-9.9-8.4-6.4 0-12.2 3.7-12.2 3.7-1 .7-1.7 1.9-1.7 3.3 0 2.1 1.7 3.9 3.9 3.9.6 0 1.2-.2 1.7-.4 0 0 4.8-2.7 5.9 0 .3.8.6 1.7.9 2.7 1.2 4.2 2.4 9.1 3.3 13.5l-4.2 6s-4.7-1.7-7.1-1.7-7.2 2-7.2 8.4 4.6 6.8 6.1 6.8c2.8 0 5.6-2 8.1-6.3 2.5-4.4 5.3-9.1 5.3-9.1.8 4 1.5 7.1 1.9 8.5 1.6 4.5 5.3 7.2 10.1 7.2 0 0 5 0 10.9-3.3 1.4-.6 2.4-2 2.4-3.6 0-2.1-1.7-3.9-3.9-3.9-.6 0-1.2.2-1.7.4 0 0-4.2 2.4-5.6.5-1-2-1.9-4.6-2.6-7.8-.6-2.8-1.3-6.2-2-9.5l4.3-6.2c-.1.1 4.6 1.8 7 1.8z"}},variation_attribute_setup:{xmlns:"http://www.w3.org/2000/svg",path:[{d:"M23.6 3.6A1.39 1.39 0 0022.1 5v22.6a1.26 1.26 0 001.4 1.4h.1a1.31 1.31 0 001.4-1.4V4.9a1.29 1.29 0 00-1.4-1.3zM9.1 3.6H3.5A1.31 1.31 0 002.1 5v22.6A1.37 1.37 0 003.5 29h5.6a1.31 1.31 0 001.4-1.4V4.9a1.41 1.41 0 00-1.4-1.3zM16.9 3.6h-1.4A1.31 1.31 0 0014.1 5v22.6a1.26 1.26 0 001.4 1.4h1.4a1.31 1.31 0 001.4-1.4V4.9a1.24 1.24 0 00-1.4-1.3zM44.4 24.4v.2l.1.7c.2.1.3.2.5.3l.7-.5.6-.2.5-.2V4.9a1.31 1.31 0 00-1.4-1.4h-2.8a1.31 1.31 0 00-1.4 1.4v15.8a4.67 4.67 0 013.2 3.7zM31.7 25l.5.2a3.33 3.33 0 01.6-.3l.1-.6v-.2a4.9 4.9 0 014.1-3.8V4.9a1.34 1.34 0 00-1.4-1.3H30A1.31 1.31 0 0028.6 5v19.9a4.3 4.3 0 011.2-.2 4.9 4.9 0 011.9.3zM47.4 37.8a11.14 11.14 0 00.2-1.7 8.81 8.81 0 00-.2-1.7l1.9-1.6a1.8 1.8 0 00.4-2.2l-.8-1.5a1.76 1.76 0 00-1.5-.8c-.2 0-.4.1-.6.1l-2.3.9a8.26 8.26 0 00-3-1.7l-.4-2.4a1.63 1.63 0 00-1.7-1.2h-1.7a1.66 1.66 0 00-1.7 1.2l-.4 2.3a8.51 8.51 0 00-3.1 1.7l-2.2-.9a1.08 1.08 0 00-.6-.1 1.76 1.76 0 00-1.5.8l-.8 1.4a1.83 1.83 0 00.4 2.2l1.9 1.6a11.14 11.14 0 00-.2 1.7 8.81 8.81 0 00.2 1.7l-1.9 1.7a1.8 1.8 0 00-.4 2.2l.8 1.6a1.76 1.76 0 001.5.8c.2 0 .4-.1.6-.1l2.3-.9a8.26 8.26 0 003 1.7l.4 2.5a1.72 1.72 0 001.7 1.4h1.7a1.72 1.72 0 001.7-1.4l.4-2.5a8.77 8.77 0 003.2-1.9l2.2.9a1.27 1.27 0 00.6.1 1.76 1.76 0 001.5-.8l.7-1.3a1.83 1.83 0 00-.4-2.2zm-8.8 4.1a5.6 5.6 0 115.6-5.6 5.59 5.59 0 01-5.6 5.6z"},{d:"M38.5 33.1a3.1 3.1 0 103.1 3.1 3.1 3.1 0 00-3.1-3.1z"}]},variation_products:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M45 28.2a1.13 1.13 0 00.7-1.2V5a1.31 1.31 0 00-1.4-1.4h-2.8A1.31 1.31 0 0040.1 5v16.8a7.33 7.33 0 014.9 6.4zM29.3 28.3h1.1a7.36 7.36 0 015.7-6.8V5a1.31 1.31 0 00-1.4-1.4h-5.4A1.31 1.31 0 0027.9 5v22a1.24 1.24 0 001.4 1.3zM16.6 3.7h-1.4a1.31 1.31 0 00-1.4 1.4v22a1.26 1.26 0 001.4 1.4h1.4a1.31 1.31 0 001.4-1.4V5a1.41 1.41 0 00-1.4-1.3zM8.9 3.7H3.5A1.24 1.24 0 002.1 5v22a1.37 1.37 0 001.4 1.4h5.4a1.31 1.31 0 001.4-1.4V5a1.34 1.34 0 00-1.4-1.3zM23.1 3.6H23A1.31 1.31 0 0021.6 5v22c-.1.8.5 1.3 1.5 1.3a1.31 1.31 0 001.4-1.4V5a1.31 1.31 0 00-1.4-1.4zM45.9 39.4a4.07 4.07 0 00-4 3.3h-5.4a.46.46 0 00-.4.5v.4a4.25 4.25 0 01-.2 1.1c-.1.2.2.5.4.5h5.8a3.84 3.84 0 003.7 2.4 4.19 4.19 0 004.1-4.1 4.1 4.1 0 00-4-4.1zM33.6 28.8a4 4 0 005.3 3.8l2.8 5.2c.2.2.4.3.6.2a2.85 2.85 0 011.4-.6.48.48 0 00.2-.6l-3-5.5a3.66 3.66 0 00.9-2.5 4.1 4.1 0 10-8.2 0zM35.1 34.6a10 10 0 01-1.4-.8c-.2-.2-.5-.1-.6.2l-2.8 5.4a1.27 1.27 0 00-.6-.1 4.09 4.09 0 102.8 1.1l2.8-5.2a.85.85 0 00-.2-.6z"}},video:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M46.9 13.1l-11 7.9v-5.6c0-1.5-1.2-2.7-2.7-2.7H4.7c-1.5 0-2.7 1.2-2.7 2.7v21.3c0 1.5 1.2 2.7 2.7 2.7h28.6c1.5 0 2.7-1.2 2.7-2.7v-5.5L46.9 39c.7.7 1.9.2 1.9-.8V13.9c0-1-1.2-1.5-1.9-.8z"}},voicemail_drop:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M39 14.8c-6.1 0-11.2 5-11.2 11.2 0 2.2.7 4.3 1.8 6.1h-7.2c1.2-1.8 1.8-3.8 1.8-6.1 0-6.1-5-11.2-11.2-11.2-6.1 0-11.2 5-11.2 11.2 0 6.1 5 11.2 11.2 11.2h25.9c6.1 0 11.2-5 11.2-11.2.1-6.2-4.9-11.2-11.1-11.2zM7.2 25.9c0-3.3 2.7-6 5.9-6 3.3 0 5.9 2.7 5.9 6s-2.7 6-5.9 6-5.9-2.6-5.9-6zM39 32c-3.3 0-5.9-2.7-5.9-6s2.7-6 5.9-6c3.3 0 5.9 2.7 5.9 6 .1 3.3-2.6 6-5.9 6z"}},volume_high:{xmlns:"http://www.w3.org/2000/svg",g:{path:[{d:"M24.6 2.6L12 18H6c-2.2 0-4 1.8-4 4v8c0 2.2 1.8 4 4 4h6l12.6 15.4c1.3 1.3 3.4.4 3.4-1.4V4c0-1.8-2.2-2.7-3.4-1.4zM42.6 8.7c-.4-.4-1-.4-1.4 0l-1.4 1.4c-.4.4-.4 1.1 0 1.4C43.6 15.2 46 20.3 46 26c0 5.7-2.4 10.8-6.2 14.5-.4.4-.4 1 0 1.4l1.4 1.4c.4.4 1 .4 1.4 0C47.1 39 50 32.8 50 26c0-6.8-2.8-13-7.4-17.3z"},{d:"M36.3 15.1c-.4-.4-1-.4-1.4 0l-1.4 1.4c-.4.4-.4 1 0 1.4 2.2 2 3.5 4.9 3.5 8.1 0 3.2-1.4 6.1-3.6 8.1-.4.4-.4 1 0 1.4l1.4 1.4c.4.4 1 .4 1.4 0 2.9-2.7 4.8-6.6 4.8-11 0-4.2-1.8-8.1-4.7-10.8z"}]}},volume_low:{xmlns:"http://www.w3.org/2000/svg",g:{path:{d:"M24.6 2.6L12 18H6c-2.2 0-4 1.8-4 4v8c0 2.2 1.8 4 4 4h6l12.6 15.4c1.3 1.3 3.4.4 3.4-1.4V4c0-1.8-2.2-2.7-3.4-1.4zM36.3 15.1c-.4-.4-1-.4-1.4 0l-1.4 1.4c-.4.4-.4 1 0 1.4 2.2 2 3.5 4.9 3.5 8.1s-1.4 6.1-3.6 8.1c-.4.4-.4 1 0 1.4l1.4 1.4c.4.4 1 .4 1.4 0 2.9-2.7 4.8-6.6 4.8-11 0-4.2-1.8-8.1-4.7-10.8z"}}},volume_off:{xmlns:"http://www.w3.org/2000/svg",g:{path:{d:"M24.6 2.6L12 18H6c-2.2 0-4 1.8-4 4v8c0 2.2 1.8 4 4 4h6l12.6 15.4c1.3 1.3 3.4.4 3.4-1.4V4c0-1.8-2.2-2.7-3.4-1.4zM44.8 26l4.9-4.9c.4-.4.4-1 0-1.4l-1.4-1.4c-.4-.4-1-.4-1.4 0L42 23.2l-4.9-4.9c-.4-.4-1-.4-1.4 0l-1.4 1.4c-.4.4-.4 1 0 1.4l4.9 4.9-4.9 4.9c-.4.4-.4 1 0 1.4l1.4 1.4c.4.4 1 .4 1.4 0l4.9-4.9 4.9 4.9c.4.4 1 .4 1.4 0l1.4-1.4c.4-.4.4-1 0-1.4L44.8 26z"}}},waits:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M50 18.4c0-.8-.7-1.5-1.5-1.5h-21c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h14.3L26.3 41.8v.1c-.2.2-.3.5-.3.8v3c0 .8.7 1.5 1.5 1.5h21c.8 0 1.5-.7 1.5-1.5v-3c0-.8-.7-1.5-1.5-1.5h-14l15.2-18.6c.2-.3.3-.7.3-1v-3.2zM26 6.3c0-.8-.7-1.5-1.5-1.5h-21c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h14.3L2.3 29.7v.1c-.2.2-.3.5-.3.8v3c0 .8.7 1.5 1.5 1.5h21c.8 0 1.5-.7 1.5-1.5v-3c0-.8-.7-1.5-1.5-1.5h-14l15.2-18.6c.2-.3.3-.7.3-1V6.3z"}},warning:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M51.4 42.5l-22.9-37c-1.2-2-3.8-2-5 0L.6 42.5C-.8 44.8.6 48 3.1 48h45.8c2.5 0 4-3.2 2.5-5.5zM26 40c-1.7 0-3-1.3-3-3s1.3-3 3-3 3 1.3 3 3-1.3 3-3 3zm3-9c0 .6-.4 1-1 1h-4c-.6 0-1-.4-1-1V18c0-.6.4-1 1-1h4c.6 0 1 .4 1 1v13z"}},warranty_term:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M26 2c3 0 5.43 3.29 8.09 4.42s6.82.51 8.84 2.65 1.51 6.07 2.65 8.84S50 23 50 26s-3.29 5.43-4.42 8.09-.51 6.82-2.65 8.84-6.07 1.53-8.84 2.65S29 50 26 50s-5.43-3.29-8.09-4.42-6.82-.51-8.84-2.65-1.53-6.07-2.65-8.84S2 29 2 26s3.29-5.43 4.42-8.09.51-6.82 2.65-8.84 6.07-1.53 8.84-2.65S23 2 26 2zm0 7.58A16.42 16.42 0 1042.42 26 16.47 16.47 0 0026 9.58zm7.62 9.15l1.61 1.52a1.25 1.25 0 010 1.51L25.08 33.07a2.07 2.07 0 01-1.61.7 2.23 2.23 0 01-1.61-.7l-5.49-5.47a1 1 0 01-.1-1.42l.1-.11L18 24.56a1.1 1.1 0 011.54-.07l.07.07 3.89 4 8.59-9.8a1.1 1.1 0 011.53-.03z"}},watchlist:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M42.9 7h.2l.3.1a2.45 2.45 0 011.4 1l.2.3 4.2 7.4c1.5 2.7.2 3.4-1.1 4.2s-2.5 1.1-3.9-.8l-.1-.2-.7-1.3-6.4 25a3 3 0 01-5.3 1.1l-.1-.1-10.7-16.5-5.5 12a3 3 0 01-2.7 1.8H3.6c-.4 0-1.5-.4-1.5-1.4a4.06 4.06 0 00-.1-1.3v-1.8a1.52 1.52 0 011.44-1.6h7.36l7-15.2a2.94 2.94 0 013.86-1.55A3 3 0 0123 19.3l9.9 15.3 4.6-18.1-.9.5c-1.9 1.3-2.7.7-3.9-.8l-.2-.3c-.8-1.3-1.1-2.6.1-3.5l1-.7L41 7.4a3.14 3.14 0 011.9-.4z"}},weeklyview:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M44 7h-5V5c0-1.6-1.3-3-3-3-1.6 0-3 1.3-3 3v2H19V5c0-1.6-1.3-3-3-3-1.6 0-3 1.3-3 3v2H8c-2.2 0-4 1.8-4 4v2.5c0 .8.7 1.5 1.5 1.5h41c.8 0 1.5-.7 1.5-1.5V11c0-2.2-1.8-4-4-4zM46.5 20h-41c-.8 0-1.5.7-1.5 1.5V46c0 2.2 1.8 4 4 4h36c2.2 0 4-1.8 4-4V21.5c0-.8-.7-1.5-1.5-1.5zm-13.7 9.5l-6.3 13.4c-.3.7-1 1.1-1.8 1.1-1.1 0-1.9-.9-1.9-1.8 0-.2.1-.5.2-.8L28.3 30h-7.6c-.9 0-1.7-.6-1.7-1.5 0-.8.8-1.5 1.7-1.5h10.4c1 0 1.9.8 1.9 1.8 0 .3-.1.5-.2.7z"}},wellness:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M27.42 10.57a1.66 1.66 0 00-1.25-.57 1.66 1.66 0 00-1.25.56c-11.76 13.39-5 24 0 29.07a1.66 1.66 0 001.19.49 1.77 1.77 0 001.24-.54c4.95-5.1 11.48-15.65.07-29.01zM15.66 28.3c-2.66-1.51-6.29-2.38-11.1-2.06a1.27 1.27 0 00-1 .53 1.34 1.34 0 00-.24 1.08c3 14 13 14.75 18.77 13.94a1.35 1.35 0 00.64-.3 23.14 23.14 0 01-7.07-13.19zM36.34 28.3c2.69-1.51 6.29-2.38 11.1-2.06a1.27 1.27 0 011 .53 1.34 1.34 0 01.24 1.08c-3 14-13 14.75-18.77 13.94a1.35 1.35 0 01-.64-.3 23.14 23.14 0 007.07-13.19zM15.38 25c.32-4.56 1.2-6.62 1.61-7.35a22.71 22.71 0 00-6.43-3.46 1.28 1.28 0 00-1.08.09 1.34 1.34 0 00-.64.88 21.65 21.65 0 00-.25 8.41A22.93 22.93 0 0115.38 25zM43.31 15.13a1.29 1.29 0 00-.64-.88 1.28 1.28 0 00-1.08-.09 22.79 22.79 0 00-6.42 3.46c.4.73 1.29 2.79 1.6 7.35a22.93 22.93 0 016.8-1.43 21.27 21.27 0 00-.26-8.41z"}},wifi:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M47.7 15.8c-5.5-6.1-13.3-9.5-21.6-9.5S10 9.7 4.5 15.8c-.4.4-.3 1.1.1 1.4l3 2.6c.4.4 1 .3 1.4-.1 4.4-4.7 10.6-7.4 17.1-7.4s12.7 2.7 17.1 7.4c.4.4 1 .4 1.4.1l3-2.6c.4-.4.5-1 .1-1.4zM26.1 20.3c-4.2 0-8.2 1.8-11 5-.4.4-.3 1.1.1 1.5l3.2 2.4c.4.3 1 .3 1.3-.1 1.7-1.8 4-2.8 6.4-2.8s4.7 1 6.3 2.7c.3.4.9.4 1.3.1l3.2-2.4c.5-.4.5-1 .1-1.5-2.7-3.1-6.7-4.9-10.9-4.9zM26.2 34.2c2.7 0 5 2.2 5 5s-2.2 5-5 5-5-2.2-5-5 2.3-5 5-5z"}},work_forecast:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M44.88 11.82s-2.38-4.91-7.7-4.91S29.34 12 29.34 12a7.94 7.94 0 00-6.75 0s-2.45-5.05-7.77-5.05-7.7 4.91-7.7 4.91S2.14 22.93 2 32.89s6.48 12.2 9.61 12.2c3.41 0 11.46-1.43 11.05-12.61a3.26 3.26 0 013.07-1.84 4.06 4.06 0 013.68 1.84C29 43.66 37 45.09 40.39 45.09c3.06 0 9.74-2.39 9.61-12.2s-5.12-21.07-5.12-21.07zM12.23 40.73a5.94 5.94 0 115.93-5.94 5.94 5.94 0 01-5.93 5.94zm27.54 0a5.94 5.94 0 115.93-5.94 5.94 5.94 0 01-5.93 5.94z"}},work_order_type:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M39.3 26.9c0 1-.9 1.9-1.9 1.9H14.6c-1 0-1.9-.9-1.9-1.9V25c0-1 .9-1.9 1.9-1.9h22.9c1 0 1.9.9 1.9 1.9v1.9h-.1zm-3.8 11.4c0 1-.9 1.9-1.9 1.9h-19c-1 0-1.9-.9-1.9-1.9v-1.9c0-1 .9-1.9 1.9-1.9h19.1c1 0 1.9.9 1.9 1.9v1.9h-.1zM12.7 13.5c0-1 .9-1.9 1.9-1.9h19.1c1 0 1.9.9 1.9 1.9v1.9c0 1-.9 1.9-1.9 1.9H14.6c-1 0-1.9-.9-1.9-1.9v-1.9zM41.2 4H10.8C7.6 4 5 6.6 5 9.7v32.4c0 3.1 2.6 5.7 5.7 5.7h30.5c3.1 0 5.7-2.6 5.7-5.7V9.7C47 6.6 44.4 4 41.2 4z"}},world:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M26 2C12.7 2 2 12.7 2 26s10.7 24 24 24 24-10.7 24-24S39.3 2 26 2zm0 5zm2 .1h-.2.2zM26 45C15.5 45 7 36.5 7 26c0-1 .1-2.1.3-3 1.3.2 2.9.7 3.7 1.5 1.7 1.8 3.6 3.9 5.4 4.3 0 0-.2.1-.4.4-.2.3-.4.9-.4 1.9 0 4.7 4.4 1.9 4.4 6.6 0 4.7 5.3 6.6 5.3 2.8s3.5-5.6 3.5-8.5-2.7-2.8-4.4-3.8c-1.8-.9-2.7-2.4-6.1-1.9-1.8-1.7-2.8-3.1-2-4.7.9-1.7 4.6-2 4.6-4.6s-2.5-3.1-4.3-3.1c-.8 0-2.5-.6-3.9-1.3 1.7-1.7 3.8-3.1 6-4.1 1.6.7 4.3 1.8 6.6 1.8 2.7 0 4.1-1.9 3.7-3.1 4.5.7 8.5 3 11.4 6.2-1.5.9-3.5 1.9-7 1.9-4.6 0-4.6 4.7-1.9 5.6 2.8.9 5.6-1.8 6.5 0 .9 1.8-6.5 1.8-4.6 6.4 1.9 4.6 3.7-.1 5.6 4.5 1.9 4.6 5.6-.7 2.8-4.3-1.2-1.6-.9-6.5 1.9-6.5h.9c.4 1.6.7 3.3.7 5C45 36.5 36.5 45 26 45z"}},yubi_key:{xmlns:"http://www.w3.org/2000/svg",g:{path:[{d:"M38.5 14.1h-37c-.8 0-1.5.7-1.5 1.5v21c0 .8.7 1.5 1.5 1.5h37c.8 0 1.5-.7 1.5-1.5v-21c0-.8-.7-1.5-1.5-1.5zM21 32.2c-3.4 0-6.1-2.7-6.1-6.1S17.6 20 21 20s6.1 2.7 6.1 6.1-2.7 6.1-6.1 6.1z"},{d:"M50.5 18H36c-.8 0-1.5.7-1.5 1.5v13c0 .8.7 1.5 1.5 1.5h14.5c.8 0 1.5-.7 1.5-1.5v-13c0-.8-.7-1.5-1.5-1.5zm-3.4 4c.6 0 1 .4 1 1v1.9H40V22h7.1zm0 8H40v-2.7h8.1V29c0 .6-.4 1-1 1z"}],circle:{cx:"21",cy:"26.1",r:"1.2"}}},zoomin:{xmlns:"http://www.w3.org/2000/svg",path:[{d:"M31 19h-6v-6c0-.6-.4-1-1-1h-4c-.6 0-1 .4-1 1v6h-6c-.6 0-1 .4-1 1v4c0 .6.4 1 1 1h6v6c0 .6.4 1 1 1h4c.6 0 1-.4 1-1v-6h6c.6 0 1-.4 1-1v-4c0-.6-.4-1-1-1z"},{d:"M49.6 45.2L38.1 33.8C40.5 30.5 42 26.4 42 22c0-11-9-20-20-20S2 11 2 22s9 20 20 20c4.4 0 8.5-1.5 11.8-3.9l11.5 11.5c.6.6 1.5.6 2.1 0l2.1-2.1c.6-.6.6-1.6.1-2.3zM22 36c-7.7 0-14-6.3-14-14S14.3 8 22 8s14 6.3 14 14-6.3 14-14 14z"}]},zoomout:{xmlns:"http://www.w3.org/2000/svg",path:[{d:"M19 25h12c.6 0 1-.4 1-1v-4c0-.6-.4-1-1-1H19M19 19h-6c-.6 0-1 .4-1 1v4c0 .6.4 1 1 1h6"},{d:"M49.6 45.3L38.1 33.8C40.5 30.5 42 26.4 42 22c0-11-9-20-20-20S2 11 2 22s9 20 20 20c4.4 0 8.5-1.5 11.8-3.9l11.5 11.5c.6.6 1.5.6 2.1 0l2.1-2.1c.6-.6.6-1.6.1-2.2zM22 36c-7.7 0-14-6.3-14-14S14.3 8 22 8s14 6.3 14 14-6.3 14-14 14z"}]},viewBox:"0 0 52 52"},Ge={add_contact:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M46 9H6c-2.7 0-5 2.2-5 5v24c0 2.7 2.3 5 5 5h40c2.8 0 5-2.2 5-5V14c0-2.8-2.2-5-5-5zM24.8 37.2H10.4c-1.6 0-2.8-1.7-2.8-3.4.1-2.5 2.7-4 5.4-5.2 1.9-.8 2.2-1.6 2.2-2.4 0-.8-.5-1.6-1.2-2.2-1.1-1-1.7-2.5-1.7-4.1 0-3.2 1.9-5.8 5.2-5.8s5.2 2.7 5.2 5.8c0 1.7-.6 3.2-1.7 4.1-.7.6-1.2 1.3-1.2 2.2 0 .8.2 1.6 2.2 2.3 2.7 1.2 5.3 2.8 5.4 5.3.3 1.7-1 3.4-2.6 3.4zm19.5-5.8c0 .9-.8 1.7-1.7 1.7h-7.5c-.9 0-1.7-.7-1.7-1.7v-2.5c0-.9.8-1.7 1.7-1.7h7.5c.9 0 1.7.7 1.7 1.7v2.5zm0-9.1c0 .9-.8 1.7-1.7 1.7H30.2c-.9 0-1.7-.7-1.7-1.7v-2.5c0-.9.8-1.7 1.7-1.7h12.5c.9 0 1.7.7 1.7 1.7v2.5z"}},add_file:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M9.7 36.1V11.3c-2.6 0-4.7 2.1-4.7 4.6v29.4C5 47.9 7.1 50 9.7 50H33c2.6 0 4.7-2.1 4.7-4.6H19c-5.1 0-9.3 0-9.3-9.3zm35.7-20.2h-7.8c-2.6 0-4.7-2.1-4.7-4.6V3.5c.1-.8-.6-1.5-1.5-1.5H19c-2.6 0-4.7 2.1-4.7 4.6V36c0 2.6 2.1 4.6 4.7 4.6h23.3c2.6 0 4.7-2.1 4.7-4.6V17.5c0-.9-.7-1.6-1.6-1.6zm1.3-6.5l-7.2-7.1c-.2-.2-.4-.3-.7-.3-.6 0-1.1.5-1.1 1.1v5.1c0 1.7 1.4 3.1 3.1 3.1h5.1c.6 0 1.1-.5 1.1-1.1 0-.3-.1-.5-.3-.8z"}},add_photo_video:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M26 20c-4.4 0-8 3.6-8 8s3.6 8 8 8 8-3.6 8-8-3.6-8-8-8zm20-6h-5.2c-1.4 0-2.6-.7-3.4-1.8l-2.3-3.5C34.4 7 32.7 6 30.9 6h-9.8c-1.8 0-3.5 1-4.3 2.7l-2.3 3.5c-.7 1.1-2 1.8-3.4 1.8H6c-2.2 0-4 1.8-4 4v24c0 2.2 1.8 4 4 4h40c2.2 0 4-1.8 4-4V18c0-2.2-1.8-4-4-4zM26 40c-6.6 0-12-5.4-12-12s5.4-12 12-12 12 5.4 12 12-5.4 12-12 12z"}},add_relationship:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M36 20c0-2.2-1.8-4-4-4H6c-2.2 0-4 1.8-4 4v26c0 2.2 1.8 4 4 4h26c2.2 0 4-1.8 4-4V20zm-8 14c0 .5-.5 1-1 1h-6v6c0 .5-.5 1-1 1h-2c-.5 0-1-.5-1-1v-6h-6c-.5 0-1-.5-1-1v-2c0-.5.5-1 1-1h6v-6c0-.5.5-1 1-1h2c.5 0 1 .5 1 1v6h6c.5 0 1 .5 1 1v2zm15 8h-3v-6h3c.6 0 1-.4 1-1V9c0-.6-.4-1-1-1H17c-.6 0-1 .4-1 1v3h-6V9c0-3.9 3.1-7 7-7h26c3.9 0 7 3.1 7 7v26c0 3.9-3.1 7-7 7z"}},adjust_value:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M23 14.91a6.55 6.55 0 11-6.52 6.55A6.53 6.53 0 0123 14.91zm20.7 15.72a.58.58 0 000-.84l-4.12-4.12a.59.59 0 00-.42-.18.61.61 0 00-.43.18L27.39 37.05l-1.7 5.69a.8.8 0 00.79 1 .55.55 0 00.18 0L32.35 42zm-1.45-7.75L46.4 27a.63.63 0 00.43.18.59.59 0 00.42-.18c.73-.73 2.06-1.94 2.06-1.94a2 2 0 000-2.91L47.13 20a2 2 0 00-1.41-.54 2.34 2.34 0 00-1.5.54s-1.33 1.31-1.93 2a.58.58 0 000 .88zM40.1 8.27H6a4 4 0 00-3.93 4v19.07A4 4 0 006 35.28h18.84l3.95-3.94H10.54A4.53 4.53 0 006 26.76v-9.88a4.53 4.53 0 004.56-4.57h25a4.53 4.53 0 004.56 4.57v3L44 15.91v-3.6a4 4 0 00-3.9-4.04z"}},announcement:{xmlns:"http://www.w3.org/2000/svg",g:{path:{d:"M22.7 45.4l-1.3-1c-1.4-1-1.4-3-1.4-4v-2.9c0-.8-.7-1.5-1.5-1.5h-6c-.8 0-1.5.7-1.5 1.5v7.7c0 2.7 1.6 4.8 4.1 4.8H20c2.9 0 3.1-2 3.1-2s.5-1.8-.4-2.6zM45 18V4.4v-.1c0-2.4-3-3.1-4.6-1.5l-8.9 8.4c-1.4 1.2-3.2 1.7-5 1.7H11.3C6.1 13 2 17.5 2 22.7v.2c0 5.2 4.1 9.1 9.3 9.1h15.2c1.9 0 3.7.8 5.1 2l8.8 8.6c1.6 1.6 4.6 1 4.6-1.4V27.6c3 0 4.8-2.1 4.8-4.8 0-2.7-1.8-4.8-4.8-4.8z"}}},apex:{xmlns:"http://www.w3.org/2000/svg",g:{path:{d:"M48.5 40h-27c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h27c.8 0 1.5-.7 1.5-1.5v-3c0-.8-.7-1.5-1.5-1.5zM25.4 21.8L6 6.3c-.6-.5-1.5-.4-2 .3L2.3 9c-.5.7-.3 1.6.3 2.1l13.8 11c.5.4.5 1.2 0 1.6l-13.8 11c-.6.5-.8 1.5-.3 2.1L4 39.4c.5.7 1.4.8 2 .3l19.4-15.5c.8-.6.8-1.8 0-2.4z"}}},approval:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M19 43.6L2.5 27c-.6-.6-.6-1.6 0-2.2l2.2-2.2c.6-.6 1.6-.6 2.2 0l12.4 12.5c.4.4 1.1.4 1.5 0l24.3-24.5c.6-.6 1.6-.6 2.2 0l2.2 2.2c.6.6.6 1.6 0 2.2L21.2 43.6c-.6.7-1.6.7-2.2 0z"}},back:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M48.5 22H15.3c-.9 0-1.3-1.1-.7-1.7l9.6-9.6c.6-.6.6-1.5 0-2.1L22 6.4c-.6-.6-1.5-.6-2.1 0L2.4 23.9c-.6.6-.6 1.5 0 2.1l17.5 17.5c.6.6 1.5.6 2.1 0l2.1-2.1c.6-.6.6-1.5 0-2.1l-9.6-9.6c-.6-.6-.2-1.7.7-1.7h33.2c.8 0 1.5-.7 1.5-1.5v-3c.1-.8-.6-1.5-1.4-1.5z"}},bug:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M19.7 10.1h12.7c.9 0 1.6-.9 1.4-1.7-.8-3.6-4-6.2-7.8-6.2s-7 2.7-7.8 6.2c-.1.8.6 1.7 1.5 1.7zm27.8 20.7c1.4 0 2.5-1.1 2.4-2.5-.1-1.3-1.2-2.3-2.6-2.3h-7v-4c4.6-1.8 7.9-6.8 7.9-12.6 0-1.2-.8-2.2-2-2.5-1.5-.2-2.8.9-2.8 2.4 0 3.4-1.6 6.4-3.9 7.8-.9-1.4-2.4-2.2-4.1-2.2H16.5c-1.7 0-3.2.9-4.1 2.2-2.3-1.4-3.9-4.3-3.9-7.6 0-1.3-1-2.5-2.2-2.5-1.4-.1-2.5 1-2.5 2.3 0 5.9 3.3 10.9 7.9 12.7v4h-7c-1.3 0-2.5 1-2.5 2.2-.1 1.4 1 2.5 2.4 2.5h7.2v4c-4.6 1.8-7.9 6.8-7.9 12.6 0 1.2.8 2.2 2 2.5 1.5.2 2.8-.9 2.8-2.4 0-3.3 1.5-6.3 3.8-7.7 1.4 4.5 4.8 7.9 9.2 9.4 1 .3 2.1-.5 2.1-1.5V28.5c0-1.3 1-2.5 2.2-2.5 1.4-.1 2.5 1 2.5 2.4v19.2c0 1.1 1 1.8 2.1 1.5 4.4-1.4 7.9-4.9 9.2-9.4 2.2 1.4 3.7 4.3 3.8 7.5 0 1.3 1 2.5 2.2 2.5 1.4.1 2.5-1 2.5-2.4 0-5.9-3.3-10.9-7.9-12.7v-4h7.1v.2z"}},call:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M48.5 37.8l-6.1-4.9c-1.4-1.1-3.4-1.2-4.8-.1l-5.2 3.8c-.6.5-1.5.4-2.1-.2l-7.8-7-7-7.8c-.6-.6-.6-1.4-.2-2.1l3.8-5.2c1.1-1.4 1-3.4-.1-4.8l-4.9-6.1c-1.5-1.8-4.2-2-5.9-.3l-5 5.2c-.8.8-1.2 2-1.2 3.1.5 10.2 5.1 19.9 11.9 26.7 6.8 6.8 16.5 11.4 26.7 11.9 1.1.1 2.2-.4 3-1.2l5.2-5.2c1.7-1.6 1.6-4.4-.3-5.8z"}},canvas:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M45 38.4c-.2 2.7-.5 5.6-1 8.4-.1.8-1 1.7-1.8 1.8-5.4.6-10.7 1-16.1 1-5.3 0-10.7-.3-16-1-.8-.1-1.7-.9-1.8-1.8-.7-4.4-1.1-8.9-1.1-13.4s.4-9 1.1-13.4c.1-.8 1-1.6 1.8-1.8 3.3-.4 6.5-.6 9.7-.8 0 0 2.6-.1 2.4-2.6-.2-2.2-4-3.7-4-7.4 0-3 3-5.4 7.9-5.4 4.8 0 7.8 2.4 7.8 5.4 0 3.8-3.7 5.2-3.9 7.4-.2 2.4 2.4 2.6 2.4 2.6 3.3.1 6.6.4 9.8.8.8.1 1.7.9 1.8 1.8.5 3.1.8 6 1 9.1 0 .9-.7 1.8-1.6 1.8h-.9c-.9 0-2.3-.7-2.9-1.4 0 0-2.1-2.2-4.4-2.3-3.7-.1-6.5 3.1-6.5 6.6s2.8 6.8 6.4 6.7c2.2-.1 4.4-2.3 4.4-2.3.7-.6 2-1.2 2.9-1.2h.9c1.1 0 1.8.6 1.7 1.4z"}},change_owner:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M27.3 37.6c-3-1.2-3.5-2.3-3.5-3.5 0-1.2.8-2.3 1.8-3.2 1.8-1.5 2.6-3.9 2.6-6.4 0-4.7-2.9-8.5-8.3-8.5s-8.3 3.8-8.3 8.5c0 2.5.8 4.9 2.6 6.4 1 .9 1.8 2 1.8 3.2 0 1.2-.5 2.3-3.5 3.5-4.4 1.8-8.6 3.8-8.7 7.6C4 47.8 6 50 8.5 50h23c2.5 0 4.5-2.2 4.5-4.7-.1-3.8-4.3-5.9-8.7-7.7zM44.5 19c0-7.4-6.1-13.5-13.5-13.5V2l-6.8 5.5c-.3.3-.2.8.1 1.1L31 14v-3.5c4.7 0 8.5 3.8 8.5 8.5H36l5.5 6.8c.3.3.8.3 1.1 0L48 19h-3.5z"}},change_record_type:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M20 37.5c0-.8-.7-1.5-1.5-1.5h-15c-.8 0-1.5.7-1.5 1.5v11c0 .8.7 1.5 1.5 1.5h15c.8 0 1.5-.7 1.5-1.5v-11zM8.1 22H3.2c-1 0-1.5.9-.9 1.4l8 8.3c.4.3 1 .3 1.4 0l8-8.3c.6-.6.1-1.4-.9-1.4h-4.7c0-5 4.9-10 9.9-10V6C15 6 8.1 13 8.1 22zM41.8 20.3c-.4-.3-1-.3-1.4 0l-8 8.3c-.6.6-.1 1.4.9 1.4h4.8c0 6-4.1 10-10.1 10v6c9 0 16.1-7 16.1-16H49c1 0 1.5-.9.9-1.4l-8.1-8.3zM50 3.5c0-.8-.7-1.5-1.5-1.5h-15c-.8 0-1.5.7-1.5 1.5v11c0 .8.7 1.5 1.5 1.5h15c.8 0 1.5-.7 1.5-1.5v-11z"}},check:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M19.1 42.5L2.6 25.9c-.6-.6-.6-1.6 0-2.2l2.2-2.2c.6-.6 1.6-.6 2.2 0L19.4 34c.4.4 1.1.4 1.5 0L45.2 9.5c.6-.6 1.6-.6 2.2 0l2.2 2.2c.6.6.6 1.6 0 2.2L21.3 42.5c-.6.7-1.6.7-2.2 0z"}},clone:{xmlns:"http://www.w3.org/2000/svg",g:{path:[{d:"M46 2H18c-2.2 0-4 1.8-4 4v2.5c0 .8.7 1.5 1.5 1.5H34c4.4 0 8 3.6 8 8v18.5c0 .8.7 1.5 1.5 1.5H46c2.2 0 4-1.8 4-4V6c0-2.2-1.8-4-4-4z"},{d:"M34 14H6c-2.2 0-4 1.8-4 4v28c0 2.2 1.8 4 4 4h28c2.2 0 4-1.8 4-4V18c0-2.2-1.8-4-4-4zm-4 27c0 .6-.4 1-1 1H11c-.6 0-1-.4-1-1v-2c0-.6.4-1 1-1h18c.6 0 1 .4 1 1v2zm0-8c0 .6-.4 1-1 1H11c-.6 0-1-.4-1-1v-2c0-.6.4-1 1-1h18c.6 0 1 .4 1 1v2zm0-8c0 .6-.4 1-1 1H11c-.6 0-1-.4-1-1v-2c0-.6.4-1 1-1h18c.6 0 1 .4 1 1v2z"}]}},close:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M31.6 25.8l13.1-13.1c.6-.6.6-1.5 0-2.1l-2.1-2.1c-.6-.6-1.5-.6-2.1 0L27.4 21.6c-.4.4-1 .4-1.4 0L12.9 8.4c-.6-.6-1.5-.6-2.1 0l-2.1 2.1c-.6.6-.6 1.5 0 2.1l13.1 13.1c.4.4.4 1 0 1.4L8.6 40.3c-.6.6-.6 1.5 0 2.1l2.1 2.1c.6.6 1.5.6 2.1 0L26 31.4c.4-.4 1-.4 1.4 0l13.1 13.1c.6.6 1.5.6 2.1 0l2.1-2.1c.6-.6.6-1.5 0-2.1L31.6 27.2c-.3-.4-.3-1 0-1.4z"}},defer:{xmlns:"http://www.w3.org/2000/svg",g:{path:[{d:"M26 2C12.8 2 2 12.8 2 26s10.8 24 24 24 24-10.8 24-24S39.2 2 26 2zm0 42c-9.9 0-18-8.1-18-18S16.1 8 26 8s18 8.1 18 18-8.1 18-18 18z"},{d:"M29.4 26.2c-.3-.3-.4-.7-.4-1.1v-9.6c0-.8-.7-1.5-1.5-1.5h-3c-.8 0-1.5.7-1.5 1.5v12.1c0 .4.2.8.4 1.1l7.4 7.4c.6.6 1.5.6 2.1 0L35 34c.6-.6.6-1.5 0-2.1l-5.6-5.7z"}]}},delete:{xmlns:"http://www.w3.org/2000/svg",g:{path:{d:"M45.5 10H33V6c0-2.2-1.8-4-4-4h-6c-2.2 0-4 1.8-4 4v4H6.5c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h39c.8 0 1.5-.7 1.5-1.5v-3c0-.8-.7-1.5-1.5-1.5zM23 7c0-.6.4-1 1-1h4c.6 0 1 .4 1 1v3h-6V7zM41.5 20h-31c-.8 0-1.5.7-1.5 1.5V45c0 2.8 2.2 5 5 5h24c2.8 0 5-2.2 5-5V21.5c0-.8-.7-1.5-1.5-1.5zM23 42c0 .6-.4 1-1 1h-2c-.6 0-1-.4-1-1V28c0-.6.4-1 1-1h2c.6 0 1 .4 1 1v14zm10 0c0 .6-.4 1-1 1h-2c-.6 0-1-.4-1-1V28c0-.6.4-1 1-1h2c.6 0 1 .4 1 1v14z"}}},description:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M44 4H8C5.8 4 4 5.8 4 8v36c0 2.2 1.8 4 4 4h36c2.2 0 4-1.8 4-4V8c0-2.2-1.8-4-4-4zM12 14c0-.6.4-1 1-1h10c.6 0 1 .4 1 1v10c0 .6-.4 1-1 1H13c-.6 0-1-.4-1-1V14zm24 26c0 .6-.4 1-1 1H13c-.6 0-1-.4-1-1v-2c0-.6.4-1 1-1h22c.6 0 1 .4 1 1v2zm4-8c0 .6-.4 1-1 1H13c-.6 0-1-.4-1-1v-2c0-.6.4-1 1-1h26c.6 0 1 .4 1 1v2zm0-8c0 .6-.4 1-1 1H29c-.6 0-1-.4-1-1v-2c0-.6.4-1 1-1h10c.6 0 1 .4 1 1v2zm0-8c0 .6-.4 1-1 1H29c-.6 0-1-.4-1-1v-2c0-.6.4-1 1-1h10c.6 0 1 .4 1 1v2z"}},dial_in:{xmlns:"http://www.w3.org/2000/svg",g:{circle:[{cx:"10",cy:"10",r:"6"},{cx:"10",cy:"26",r:"6"},{cx:"26",cy:"10",r:"6"},{cx:"42",cy:"10",r:"6"},{cx:"26",cy:"26",r:"6"},{cx:"42",cy:"26",r:"6"},{cx:"10",cy:"42",r:"6"},{cx:"26",cy:"42",r:"6"},{cx:"42",cy:"42",r:"6"}]}},download:{xmlns:"http://www.w3.org/2000/svg",g:{path:[{d:"M48.5 31h-3c-.8 0-1.5.7-1.5 1.5v10c0 .8-.7 1.5-1.5 1.5h-33c-.8 0-1.5-.7-1.5-1.5v-10c0-.8-.7-1.5-1.5-1.5h-3c-.8 0-1.5.7-1.5 1.5V46c0 2.2 1.8 4 4 4h40c2.2 0 4-1.8 4-4V32.5c0-.8-.7-1.5-1.5-1.5z"},{d:"M25 37.6c.6.6 1.5.6 2.1 0l13.5-13.5c.6-.6.6-1.5 0-2.1l-2.1-2.1c-.6-.6-1.5-.6-2.1 0l-5.6 5.6c-.6.6-1.7.2-1.7-.7V3.5C29 2.7 28.2 2 27.5 2h-3c-.8 0-1.5.7-1.5 1.5v21.2c0 .9-1.1 1.3-1.7.7l-5.6-5.6c-.6-.6-1.5-.6-2.1 0L11.5 22c-.6.6-.6 1.5 0 2.1L25 37.6z"}]}},edit:{xmlns:"http://www.w3.org/2000/svg",g:{path:{d:"M48.8 7.4l-4.2-4.2c-1.6-1.6-4.1-1.6-5.6 0l-3.3 3.3c-.4.4-.4 1 0 1.4l8.5 8.5c.4.4 1 .4 1.4 0l3.3-3.3c1.5-1.6 1.5-4.1-.1-5.7zM32.9 10.7c-.4-.4-1-.4-1.4 0L5.4 36.8 2.1 48.1c-.3 1.1.7 2.2 1.8 1.9l11.4-3.2h-.1l26.1-26.1c.4-.4.4-1 0-1.4l-8.4-8.6z"}}},edit_groups:{xmlns:"http://www.w3.org/2000/svg",g:{path:[{d:"M39.4 31.5c-.2-.2-.6-.2-.8 0L26.9 43.2 25.2 49c-.2.6.4 1.1 1 1l5.9-1.7 11.7-11.7c.2-.2.2-.6 0-.8l-4.4-4.3zM49.4 28l-2.2-2.2c-.8-.8-2.1-.8-2.9 0 0 0-1.3 1.3-2 2.1-.2.2-.2.6 0 .8l4.2 4.2c.2.2.6.2.8 0 .7-.7 2.1-2 2.1-2 .8-.8.8-2.1 0-2.9zM26 13.7c0 2.2-.6 4.3-1.8 6.1-.4.6-.2 1.5.5 1.9 2.2 1.1 4.7 2.5 6.1 4.9.2.4.7.5 1.1.5h2.8c1.8 0 3-1.2 3-3.1-.1-2.8-2.9-4.5-5.9-5.8-2.1-.9-2.4-1.7-2.4-2.6 0-.9.6-1.7 1.3-2.4 1.2-1.1 1.9-2.7 1.9-4.6C32.5 5 30.4 2 26.7 2c-2.2 0-3.9 1.1-4.8 2.7 2.5 1.9 4.1 5.1 4.1 9z"},{d:"M27.5 30.3c-.1-3.2-3.3-4.6-6.7-6.1-2.3-1-2.7-1.9-2.7-2.9s.6-2 1.4-2.7c1.4-1.3 2.1-3.1 2.1-5.2 0-3.9-2.3-7.3-6.5-7.3h-.4c-4.2 0-6.5 3.4-6.5 7.3 0 2.1.7 3.9 2.1 5.2.8.7 1.4 1.7 1.4 2.7 0 1-.4 1.9-2.7 2.9-3.4 1.5-6.6 3-6.7 6.1C2.5 32.4 4 34 6 34h18c2 0 3.5-1.6 3.5-3.7z"}]}},edit_relationship:{xmlns:"http://www.w3.org/2000/svg",path:[{d:"M43 42h-3v-6h3c.6 0 1-.4 1-1V9c0-.6-.4-1-1-1H17c-.6 0-1 .4-1 1v3h-6V9c0-3.9 3.1-7 7-7h26c3.9 0 7 3.1 7 7v26c0 3.9-3.1 7-7 7z"},{d:"M32 16H6c-2.2 0-4 1.8-4 4v26c0 2.2 1.8 4 4 4h26c2.2 0 4-1.8 4-4V20c0-2.2-1.8-4-4-4zM14.8 41.5c-.2.2-.3.2-.5.3l-4.5 1.1c-.4.1-.8-.3-.7-.7l1.1-4.5c0-.1.1-.2.2-.4l.1-.1c.1-.1.4-.1.5 0l3.7 3.7c.2.3.2.6.1.6zm10.9-11l-9.2 9.3c-.2.2-.4.2-.6 0l-3.7-3.7c-.2-.1-.2-.4 0-.5l9.3-9.3c.2-.2.4-.2.6 0l3.7 3.7c0 .1 0 .3-.1.5zm2.8-2.8l-1 1c-.2.2-.4.2-.6 0L23.2 25c-.2-.2-.2-.4 0-.6l1-1c.7-.7 1.7-.7 2.4 0l2 2c.6.7.6 1.7-.1 2.3z"}]},email:{xmlns:"http://www.w3.org/2000/svg",g:{path:[{d:"M24.9 30.1c.6.6 1.5.6 2.1 0l22.6-21c.5-.8.4-2.1-1.2-2.1l-44.8.1c-1.2 0-2.2 1.1-1.3 2.1l22.6 20.9z"},{d:"M50 17.3c0-1-1.2-1.6-2-.9L30.3 32.7c-1.2 1.1-2.7 1.7-4.3 1.7s-3.1-.6-4.3-1.6L4.1 16.4c-.8-.7-2-.2-2 .9C2 21.8 2 34 2 40c0 2.2 1.8 4 4 4h40c2.2 0 4-1.8 4-4V17.3z"}]}},fallback:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M28 3.5l-3 14.6c0 .6.4.9.9.9h15.6c1.1 0 1.8 1.3 1.3 2.3l-17 27.9c-.7 1.4-2.8.9-2.8-.7l3-17.2c0-.6-.5-.4-1.1-.4H8.5c-1.1 0-1.9-1.6-1.3-2.6l18-25.5c.7-1.3 2.8-.9 2.8.7z"}},filter:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M48.2 4H3.8C2.4 4 1.6 5.7 2.5 6.8L22 29.5c.6.7 1 1.7 1 2.6v14.4c0 .8.7 1.5 1.5 1.5h3c.8 0 1.5-.7 1.5-1.5V32.1c0-1 .3-1.9 1-2.6L49.5 6.8c.9-1.1.2-2.8-1.3-2.8z"}},flow:{xmlns:"http://www.w3.org/2000/svg",g:{path:{d:"M49.9 10.6c-2.1-4.1-7.4-11.7-17.2-7.2-6.1 2.8-9.5 4.4-9.5 4.4l-8.8 3.8c-2.5 1.2-7.9-.5-11-1.6-.9-.3-1.7.6-1.3 1.5 2.1 4.1 7.4 11.7 17.2 7.2 6.1-2.8 18.3-8.1 18.3-8.1 2.5-1.2 7.9.5 11 1.6.9.2 1.7-.7 1.3-1.6zM28.8 23.4c-1.1.6-5.5 2.6-5.5 2.6l-4.4 1.9c-2.2 1.2-6.9-.4-9.7-1.5-.8-.4-1.5.6-1.1 1.4 1.8 4 6.5 11.2 15.1 6.8 5.4-2.7 9.9-4.5 9.9-4.5 2.2-1.2 6.9.4 9.7 1.5.8.3 1.5-.6 1.1-1.5-1.8-3.9-6.5-11.1-15.1-6.7zM25.6 41.1c-.9.5-2.4 1.4-2.4 1.4-1.7 1.1-5.2-.3-7.3-1.3-.6-.3-1.1.6-.8 1.4 1.3 3.6 4.8 10.1 11.3 6.1 2.4-1.5 2.4-1.4 2.4-1.4 1.8-.9 5.2.3 7.3 1.3.6.3 1.1-.6.8-1.4-1.3-3.6-4.6-9.8-11.3-6.1z"}}},follow:{xmlns:"http://www.w3.org/2000/svg",g:{path:[{d:"M50.5 38H46v-4.5c0-.8-.7-1.5-1.5-1.5h-3c-.8 0-1.5.7-1.5 1.5V38h-4.5c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5H40v4.5c0 .8.7 1.5 1.5 1.5h3c.8 0 1.5-.7 1.5-1.5V44h4.5c.8 0 1.5-.7 1.5-1.5v-3c0-.8-.7-1.5-1.5-1.5z"},{d:"M34 34h1c.6 0 1-.4 1-1v-1c0-2.2 1.8-4 4-4h4.5c.8 0 1.5-.7 1.5-1.5V6c0-2.2-1.8-4-4-4H6C3.8 2 2 3.8 2 6v36c0 2.2 1.8 4 4 4h22.5c.9 0 1.6-.7 1.5-1.6V38c0-2.2 1.8-4 4-4zm-8-23c0-.6.4-1 1-1h10c.6 0 1 .4 1 1v2c0 .6-.4 1-1 1H27c-.6 0-1-.4-1-1v-2zm0 8c0-.6.4-1 1-1h10c.6 0 1 .4 1 1v2c0 .6-.4 1-1 1H27c-.6 0-1-.4-1-1v-2zm-16-8c0-.6.4-1 1-1h10c.6 0 1 .4 1 1v10c0 .6-.4 1-1 1H11c-.6 0-1-.4-1-1V11zm16 26c0 .6-.4 1-1 1H11c-.6 0-1-.4-1-1v-2c0-.6.4-1 1-1h14c.6 0 1 .4 1 1v2zm-15-7c-.6 0-1-.4-1-1v-2c0-.6.4-1 1-1h20c.6 0 1 .4 1 1v2c0 .6-.4 1-1 1H11z"}]}},following:{xmlns:"http://www.w3.org/2000/svg",g:{path:[{d:"M49.5 33.6l-2.2-2.2c-.6-.6-1.6-.6-2.2 0L35.7 41c-.4.4-1.1.4-1.5 0l-4.4-4.5c-.6-.6-1.6-.6-2.2 0l-2.2 2.2c-.6.6-.6 1.6 0 2.2l8.4 8.6c.6.6 1.6.6 2.2 0l13.4-13.7c.7-.5.7-1.5.1-2.2z"},{d:"M24.7 33.8c1-1 2.2-1.6 3.6-1.8 1.7-.1 3.3.4 4.5 1.6L35 36l7.2-7.4c.8-.8 1.8-1.4 2.9-1.6.5-.1.8-.5.8-1V6c0-2.2-1.8-4-4-4H6C3.8 2 2 3.8 2 6v36c0 2.2 1.8 4 4 4h16.4c.9 0 1.3-1.1.7-1.7l-.5-.5c-2.1-2.2-2.1-5.7 0-7.9l2.1-2.1zM26 11c0-.6.4-1 1-1h10c.6 0 1 .4 1 1v2c0 .6-.4 1-1 1H27c-.6 0-1-.4-1-1v-2zm0 8c0-.6.4-1 1-1h10c.6 0 1 .4 1 1v2c0 .6-.4 1-1 1H27c-.6 0-1-.4-1-1v-2zm-16-8c0-.6.4-1 1-1h10c.6 0 1 .4 1 1v10c0 .6-.4 1-1 1H11c-.6 0-1-.4-1-1V11zm8 26c0 .6-.4 1-.9 1H11c-.5 0-.9-.4-.9-1v-2c0-.6.4-1 .9-1h6.1c.5 0 .9.4.9 1v2zm-7-7c-.6 0-1-.4-1-1v-2c0-.6.4-1 1-1h20c.6 0 1 .4 1 1v2c0 .6-.4 1-1 1H11z"}]}},freeze_user:{xmlns:"http://www.w3.org/2000/svg",path:[{d:"M27 3c.6 0 1 .4 1 1v45.9c0 .6-.4 1-1 1h-2c-.6 0-1-.4-1-1V4c0-.6.4-1 1-1h2z"},{d:"M26 17.2l-8.1-8.1c-.4-.4-.4-1 0-1.4l1.4-1.4c.4-.4 1-.4 1.4 0l5.3 5.3 5.3-5.3c.4-.4 1-.4 1.4 0l1.4 1.4c.4.4.4 1 0 1.4L26 17.2M26 36.7l8.1 8.1c.4.4.4 1 0 1.4l-1.4 1.4c-.4.4-1 .4-1.4 0L26 42.3l-5.3 5.3c-.4.4-1 .4-1.4 0l-1.4-1.4c-.4-.4-.4-1 0-1.4l8.1-8.1M47.1 15.6c.3.5.2 1.1-.4 1.4L7.2 40.3c-.5.3-1.1.2-1.4-.4l-1-1.7c-.3-.5-.2-1.1.4-1.4l39.5-23.4c.5-.3 1.1-.2 1.4.4l1 1.8z"},{d:"M34.4 22l2.8-11.1c.1-.6.6-.9 1.2-.7l1.9.5c.6.1.9.6.7 1.2l-1.9 7.3 7.3 1.9c.6.1.9.6.7 1.2l-.5 1.9c-.1.6-.6.9-1.2.7l-11-2.9M17.6 31.9L14.8 43c-.1.6-.6.9-1.2.7l-1.9-.5c-.6-.1-.9-.6-.7-1.2l1.9-7.3-7.3-1.9c-.6-.1-.9-.6-.7-1.2l.5-1.9c.1-.6.6-.9 1.2-.7l11 2.9M5.9 13.9c.3-.5.9-.7 1.4-.4l39.5 23.4c.5.3.7.9.4 1.4l-1 1.7c-.3.5-.9.7-1.4.4L5.2 17c-.5-.3-.7-.9-.4-1.4l1.1-1.7z"},{d:"M17.6 22L6.5 24.9c-.6.1-1.1-.1-1.2-.7l-.5-1.9c-.1-.6.1-1.1.7-1.2l7.3-1.9-1.9-7.3c-.1-.6.1-1.1.7-1.2l1.9-.5c.6-.1 1.1.1 1.2.7L17.6 22M34.3 31.9L45.4 29c.6-.1 1.1.1 1.2.7l.5 1.9c.1.6-.1 1.1-.7 1.2l-7.3 1.9L41 42c.1.6-.1 1.1-.7 1.2l-1.9.5c-.6.1-1.1-.1-1.2-.7l-2.9-11.1"}]},goal:{xmlns:"http://www.w3.org/2000/svg",g:{path:[{d:"M5 2C3.3 2 2 3.3 2 5v42c0 1.6 1.3 3 3 3 1.6 0 3-1.3 3-3V5c0-1.7-1.3-3-3-3zM48.8 6.5c-13 6.8-23.3-4.9-35.6-.4-.6.2-1.2.8-1.2 1.5V30c0 1.1 1.2 1.9 2.3 1.6 11.8-3.5 22 7.6 34.8.6.5-.3.9-.8.9-1.4V7.2c0-.6-.7-1-1.2-.7zM46 29.2l-.5.2c-1 .5-2.6.6-5.3.6H40v-5c-1.5 0-4.2-.3-6-.7v5.3c-1.7-.3-3.3-.6-4.6-.9-.5-.1-1-.3-1.4-.4v-5.5c-1.7-.5-4.3-1-6-1.4v5.7c-1.2-.2-1.5-.3-2.8-.3-.5 0-.9 0-1.6.1L16 27v-5.8c1-.2 2.2-.2 3.5-.2 1.3 0 1.4.1 2.5.3v-6c-1.1-.2-5-.2-6 .1V9.2l.9-.1c1-.1 4 .1 5.1.4v5.8c1.4.3 3.8.8 5.6 1.3.1 0 .3.1.4.1v-5.8c1.8.5 3.9 1.1 6 1.4V18c1.7.3 4.4.5 6 .5V13h.2c1.6 0 2.7-.4 4.7-.7l1.2-.4v6c-1.8.5-3.7.7-5.6.7h-.4V25h.2c1.9 0 4-.7 5.8-1.5v5.7z"},{d:"M28 16.7v6c.4.1.8.2 1.2.4 1.5.4 3.1.9 4.8 1.2v-6.2c-2.1-.4-4.2-.9-6-1.4z"}]}},google_news:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M50.3 5.3l-3.6 3.6c-.4.4-1 .4-1.4 0l-4.6-4.6c-.4-.4-1-.4-1.4 0l-3.6 3.6c-.4.4-1 .4-1.4 0l-3.6-3.6c-.4-.4-1-.4-1.4 0l-3.6 3.6c-.4.4-1 .4-1.4 0l-3.6-3.6c-.4-.4-1-.4-1.4 0l-3.6 3.6c-.4.4-1 .4-1.4 0l-3.6-3.6c-.4-.4-1-.4-1.4 0L5.7 7.9c-.4.4-1 .4-1.4 0L1.7 5.3C1.1 4.7 0 5.1 0 6v38c0 2.2 1.8 4 4 4h44c2.2 0 4-1.8 4-4V6c0-.9-1.1-1.3-1.7-.7zM21 41c0 .6-.4 1-1 1H8c-.6 0-1-.4-1-1V23c0-.6.4-1 1-1h12c.6 0 1 .4 1 1v18zm24 0c0 .6-.4 1-1 1H26c-.6 0-1-.4-1-1v-2c0-.6.4-1 1-1h18c.6 0 1 .4 1 1v2zm0-7H25v-4h20v4zm0-9c0 .6-.4 1-1 1H26c-.6 0-1-.4-1-1v-2c0-.6.4-1 1-1h18c.6 0 1 .4 1 1v2zm0-8c0 .6-.4 1-1 1H8c-.6 0-1-.4-1-1v-2c0-.6.4-1 1-1h36c.6 0 1 .4 1 1v2z"}},info:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M26 2C12.7 2 2 12.7 2 26s10.7 24 24 24 24-10.7 24-24S39.3 2 26 2zm0 12.1c1.7 0 3 1.3 3 3s-1.3 3-3 3-3-1.3-3-3 1.3-3 3-3zm5 21c0 .5-.4.9-1 .9h-8c-.5 0-1-.3-1-.9v-2c0-.5.4-1.1 1-1.1.5 0 1-.3 1-.9v-4c0-.5-.4-1.1-1-1.1-.5 0-1-.3-1-.9v-2c0-.5.4-1.1 1-1.1h6c.5 0 1 .5 1 1.1v8c0 .5.4.9 1 .9.5 0 1 .5 1 1.1v2z"}},join_group:{xmlns:"http://www.w3.org/2000/svg",g:{path:[{d:"M36 23.9c-.1-2.8-2.8-4.5-5.7-5.8-2-.9-2.4-1.7-2.4-2.6 0-.9.6-1.7 1.2-2.4C30.4 12 31 10.4 31 8.5 31 5 29 2 25.3 2c-2.2 0-3.7 1.1-4.7 2.7 2.5 1.9 4 5.2 4 9 0 2.2-.6 4.3-1.7 6.1-.4.6-.2 1.5.5 1.9 2.1 1.1 4.5 2.5 5.9 4.9.2.4.6.5 1.1.5h2.7c1.7-.1 2.9-1.3 2.9-3.2z"},{d:"M19.7 24.1c-2.3-1-2.6-1.9-2.6-2.9s.6-2 1.4-2.7c1.3-1.3 2-3.1 2-5.2 0-3.9-2.3-7.3-6.3-7.3H14h-.1c-4 0-6.3 3.4-6.3 7.3 0 2.1.7 3.9 2 5.2.8.7 1.4 1.7 1.4 2.7 0 1-.3 1.9-2.6 2.9-3.3 1.5-6.4 3-6.5 6.1C2 32.4 3.5 34 5.4 34h17.4c1.9 0 3.4-1.6 3.4-3.7-.1-3.2-3.3-4.7-6.5-6.2zM48.5 34H44v-4.5c0-.8-.7-1.5-1.5-1.5h-3c-.8 0-1.5.7-1.5 1.5V34h-4.5c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5H38v4.5c0 .8.7 1.5 1.5 1.5h3c.8 0 1.5-.7 1.5-1.5V40h4.5c.8 0 1.5-.7 1.5-1.5v-3c0-.8-.7-1.5-1.5-1.5z"}]}},lead_convert:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M27.6 28.3c-.6.6-.6 1.5 0 2.1l2.1 2.1c.6.6 1.5.6 2.1 0L45.3 19c.6-.6.6-1.5 0-2.1L31.9 3.4c-.6-.6-1.5-.6-2.1 0l-2.1 2.1c-.6.6-.6 1.5 0 2.1l5.7 5.6c1.6 1.8-1 1.7-1 1.7h-8C14.9 15 6.8 22.8 7 32.3 7.2 41.5 14.7 49 24 49h3.5c.8 0 1.5-.7 1.5-1.5v-3c0-.8-.7-1.5-1.5-1.5h-3.2c-5.7 0-10.7-4.2-11.3-9.9-.6-6.6 4.6-12.1 11-12.1h8.6c.7.2 1 1.1.5 1.7l-5.5 5.6z"}},leave_group:{xmlns:"http://www.w3.org/2000/svg",g:{path:[{d:"M30.3 22.1c-2-.9-2.4-1.7-2.4-2.6 0-.9.6-1.7 1.2-2.4 1.2-1.1 1.8-2.7 1.8-4.6C31 9 29 6 25.3 6c-2.2 0-3.7 1.1-4.7 2.7 2.5 1.9 4 5.2 4 9 0 2.2-.6 4.3-1.7 6.1-.4.6-.2 1.5.5 1.9 2.1 1.1 4.5 2.5 5.9 4.9.2.4.6.5 1.1.5h2.7c1.7 0 2.9-1.2 2.9-3.1-.1-2.9-2.8-4.6-5.7-5.9z"},{d:"M19.7 28.1c-2.3-1-2.6-1.9-2.6-2.9s.6-2 1.4-2.7c1.3-1.3 2-3.1 2-5.2 0-3.9-2.3-7.3-6.3-7.3h-.4c-4 0-6.3 3.4-6.3 7.3 0 2.1.7 3.9 2 5.2.8.7 1.4 1.7 1.4 2.7 0 1-.3 1.9-2.6 2.9-3.3 1.5-6.4 3-6.5 6.1C2 36.4 3.5 38 5.4 38h17.4c1.9 0 3.4-1.6 3.4-3.7-.1-3.2-3.3-4.7-6.5-6.2z"}]},path:{d:"M32 42.5v-3c0-.8.7-1.5 1.5-1.5h15c.8 0 1.5.7 1.5 1.5v3c0 .8-.7 1.5-1.5 1.5h-15c-.8 0-1.5-.7-1.5-1.5z"}},log_a_call:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M42.9 2H12.7C10 2 7.8 4.4 7.8 6.8v1.6H6.2C4.4 8.4 3 9.8 3 11.6s1.4 3.2 3.2 3.2h1.6v8H6.2C4.4 22.8 3 24.2 3 26s1.4 3.2 3.2 3.2h1.6v8H6.2c-1.8 0-3.2 1.4-3.2 3.2 0 1.8 1.4 3.2 3.2 3.2h1.6v1.6c0 2.4 2.2 4.8 4.9 4.8h30.2c2.7 0 5.1-2.4 5.1-5V6.6C48 3.9 45.6 2 42.9 2zM40 34.2l-2.2 2.2c-.5.5-1.2.8-1.8.7-5.3-.3-10.3-2.7-13.8-6.2s-5.9-8.5-6.2-13.8c0-.7.2-1.4.7-1.8l2.2-2.2c1-1 2.8-1 3.7.2l2.1 2.6c.7.9.7 2.1.1 3L23 21.5c-.2.3-.2.8.1 1l3.7 4.1 4.1 3.7c.3.3.7.3 1 .1l2.5-1.8c.9-.6 2.2-.6 3.1.1l2.6 2.1c.9.6 1 2.4-.1 3.4z"}},log_event:{xmlns:"http://www.w3.org/2000/svg",g:{path:[{d:"M38.7 40.2l-4.8 1.6c-.4.1-.9.2-1.3.2-1.4 0-2.8-.7-3.7-1.8-.9-1.1-1.1-2.7-.8-4.1l1.6-5.7 7.5-7.5c.3-.3.1-.9-.4-.9H5.5c-.8 0-1.5.7-1.5 1.5V42c0 2.2 1.8 4 4 4h28c2.2 0 4-1.8 4-4v-.8c0-.7-.7-1.2-1.3-1zM5.5 18h33c.8 0 1.5-.7 1.5-1.5V14c0-2.2-1.8-4-4-4h-3V9c0-1.6-1.3-3-3-3-1.6 0-3 1.3-3 3v1H17V9c0-1.6-1.3-3-3-3-1.6 0-3 1.3-3 3v1H8c-2.2 0-4 1.8-4 4v2.5c0 .8.7 1.5 1.5 1.5z"},{d:"M43.5 23.1c-.2-.2-.5-.2-.7 0l-9.4 9.4-1.4 4.7c-.1.5.3.9.8.8l4.7-1.4 9.4-9.4c.2-.2.2-.5 0-.7l-3.4-3.4zM51.5 20.2l-1.8-1.8c-.6-.6-1.7-.6-2.4 0 0 0-1.1 1.1-1.6 1.7-.2.2-.2.5 0 .7l3.4 3.4c.2.2.5.2.7 0 .6-.6 1.7-1.6 1.7-1.6.7-.6.7-1.7 0-2.4z"}]}},manage_perm_sets:{xmlns:"http://www.w3.org/2000/svg",path:[{d:"M45 2H7C4.2 2 2 4.2 2 7v38c0 2.7 2.2 5 5 5h38c2.7 0 5-2.2 5-5V7c0-2.8-2.2-5-5-5zm-1.6 43H8.6c-.9 0-1.6-.7-1.6-1.6V8.6C7 7.7 7.7 7 8.6 7h34.8c.9 0 1.6.7 1.6 1.6v34.8c0 .9-.7 1.6-1.6 1.6z"},{d:"M21.9 11.9h-8.3c-.9 0-1.7.7-1.7 1.7v8.3c0 .9.7 1.7 1.7 1.7h8.3c.9 0 1.7-.7 1.7-1.7v-8.3c-.1-.9-.8-1.7-1.7-1.7zM38.4 11.9h-8.3c-.9 0-1.7.7-1.7 1.7v8.3c0 .9.7 1.7 1.7 1.7h8.3c.9 0 1.7-.7 1.7-1.7v-8.3c0-.9-.8-1.7-1.7-1.7zM21.9 28.5h-8.3c-.9 0-1.7.7-1.7 1.7v8.3c0 .9.7 1.7 1.7 1.7h8.3c.9 0 1.7-.7 1.7-1.7v-8.3c-.1-1-.8-1.7-1.7-1.7zM38.4 28.5h-8.3c-.9 0-1.7.7-1.7 1.7v8.3c0 .9.7 1.7 1.7 1.7h8.3c.9 0 1.7-.7 1.7-1.7v-8.3c0-1-.8-1.7-1.7-1.7z"}]},map:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M48.8 9.5L34.4 2.3c-.7-.3-1.5-.3-2.1 0L19 9 5.6 2.3c-.8-.4-1.8-.4-2.5.1-.7.4-1.1 1.2-1.1 2v36c0 .9.5 1.7 1.3 2.1l14.4 7.2c.7.3 1.5.3 2.1 0L33.2 43l13.3 6.7c.3.2.7.3 1.1.3.4 0 .9-.1 1.3-.4.7-.4 1.1-1.2 1.1-2v-36c0-.9-.4-1.7-1.2-2.1zM45 14.1v19c0 1.1-1 1.9-2 1.5-3.7-1.4-.7-7.6-3.4-11-2.5-3.1-5.7.1-8.8-4.8-2.9-4.7 1-8.1 4.6-9.9.5-.2 1-.2 1.4 0l7.4 3.7c.6.3.8.9.8 1.5zM24.9 41.9c-.6.3-1.3.2-1.8-.2-1-.9-1.8-2.3-1.8-3.7 0-2.4-4-1.6-4-6.4 0-3.9-4.6-4.9-8.5-4.5-1 .1-1.7-.6-1.7-1.6V10.9c0-1.2 1.2-2 2.2-1.4l8.6 4.3c.1 0 .2.1.2.1l.3.2c3.6 2.1 2.9 3.8 1.4 6.4-1.7 2.9-2.4 0-4.8-.8s-4.8.8-4 2.4 3.2 0 4.8 1.6 1.6 4 6.4 2.4 5.6-.8 7.2.8c1.6 1.6 2.4 4.8 0 7.2-1.4 1.4-2 4.4-2.6 6.4-.1.4-.4.8-.8 1l-1.1.4z"}},more:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M8 20c3.3 0 6 2.7 6 6s-2.7 6-6 6-6-2.7-6-6 2.7-6 6-6zm18 0c3.3 0 6 2.7 6 6s-2.7 6-6 6-6-2.7-6-6 2.7-6 6-6zm18 0c3.3 0 6 2.7 6 6s-2.7 6-6 6-6-2.7-6-6 2.7-6 6-6z"}},new:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M30 29h16.5c.8 0 1.5-.7 1.5-1.5v-3c0-.8-.7-1.5-1.5-1.5H30c-.6 0-1-.4-1-1V5.5c0-.8-.7-1.5-1.5-1.5h-3c-.8 0-1.5.7-1.5 1.5V22c0 .6-.4 1-1 1H5.5c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5H22c.6 0 1 .4 1 1v16.5c0 .8.7 1.5 1.5 1.5h3c.8 0 1.5-.7 1.5-1.5V30c0-.6.4-1 1-1z"}},new_account:{xmlns:"http://www.w3.org/2000/svg",g:{path:[{d:"M50 26.9c.1-1.7-1.2-2.2-1.7-2.2h-18c-1.6 0-1.8 1.7-1.8 1.8V46H50V26.9zm-12.4 14c0 .9-.7 1.7-1.7 1.7h-1.7c-.9 0-1.7-.8-1.7-1.7v-1.7c0-.9.7-1.7 1.7-1.7h1.7c.9 0 1.7.8 1.7 1.7v1.7zm0-8.5c0 .9-.7 1.7-1.7 1.7h-1.7c-.9 0-1.7-.8-1.7-1.7v-1.7c0-.9.7-1.7 1.7-1.7h1.7c.9 0 1.7.8 1.7 1.7v1.7zm8.3 8.5c0 .9-.7 1.7-1.7 1.7h-1.7c-.9 0-1.7-.8-1.7-1.7v-1.7c0-.9.7-1.7 1.7-1.7h1.7c.9 0 1.7.8 1.7 1.7v1.7zm0-8.5c0 .9-.7 1.7-1.7 1.7h-1.7c-.9 0-1.7-.8-1.7-1.7v-1.7c0-.9.7-1.7 1.7-1.7h1.7c.9 0 1.7.8 1.7 1.7v1.7z"},{d:"M33.4 17.9V8.2c.1-1.7-1.1-2.2-1.6-2.2h-28C2.2 6 2 7.7 2 7.8V46h21.5V21.6s0-2 1.8-2h6.5c1 0 1.6-1 1.6-1.7zM11.1 40.1c0 .9-.7 1.7-1.7 1.7H7.8c-.9 0-1.7-.8-1.7-1.7v-1.7c0-.9.7-1.7 1.7-1.7h1.7c.9 0 1.7.8 1.7 1.7v1.7zm0-8.6c0 .9-.7 1.7-1.7 1.7H7.8c-.9 0-1.7-.8-1.7-1.7v-1.7c0-.9.7-1.7 1.7-1.7h1.7c.9 0 1.7.8 1.7 1.7v1.7zm0-8.5c0 .9-.7 1.7-1.7 1.7H7.8c-.9 0-1.7-.8-1.7-1.7v-1.7c0-.9.7-1.7 1.7-1.7h1.7c.9 0 1.7.8 1.7 1.7V23zm0-8.5c0 .9-.7 1.7-1.7 1.7H7.8c-.9 0-1.7-.8-1.7-1.7v-1.7c0-.9.7-1.7 1.7-1.7h1.7c.9 0 1.7.8 1.7 1.7v1.7zm9.1 25.6c0 .9-.7 1.7-1.7 1.7h-1.7c-.9 0-1.7-.8-1.7-1.7v-1.7c0-.9.7-1.7 1.7-1.7h1.7c.9 0 1.7.8 1.7 1.7v1.7zm0-8.6c0 .9-.7 1.7-1.7 1.7h-1.7c-.9 0-1.7-.8-1.7-1.7v-1.7c0-.9.7-1.7 1.7-1.7h1.7c.9 0 1.7.8 1.7 1.7v1.7zm0-8.5c0 .9-.7 1.7-1.7 1.7h-1.7c-.9 0-1.7-.8-1.7-1.7v-1.7c0-.9.7-1.7 1.7-1.7h1.7c.9 0 1.7.8 1.7 1.7V23zm0-8.5c0 .9-.7 1.7-1.7 1.7h-1.7c-.9 0-1.7-.8-1.7-1.7v-1.7c0-.9.7-1.7 1.7-1.7h1.7c.9 0 1.7.8 1.7 1.7v1.7zm9.1 0c0 .9-.7 1.7-1.7 1.7H26c-.9 0-1.7-.8-1.7-1.7v-1.7c0-.9.7-1.7 1.7-1.7h1.7c.9 0 1.7.8 1.7 1.7v1.7z"}]}},new_campaign:{xmlns:"http://www.w3.org/2000/svg",g:{path:[{d:"M26 2C12.8 2 2 12.8 2 26s10.8 24 24 24 24-10.8 24-24S39.2 2 26 2zm0 42c-9.9 0-18-8.1-18-18S16.1 8 26 8s18 8.1 18 18-8.1 18-18 18z"},{d:"M26 12c-7.7 0-14 6.3-14 14s6.3 14 14 14 14-6.3 14-14-6.3-14-14-14zm0 22c-4.4 0-8-3.6-8-8s3.6-8 8-8 8 3.6 8 8-3.6 8-8 8z"},{d:"M26 22c-2.2 0-4 1.8-4 4s1.8 4 4 4 4-1.8 4-4-1.8-4-4-4z"}]}},new_case:{xmlns:"http://www.w3.org/2000/svg",g:{path:{d:"M15 13h4c.6 0 1-.4 1-1v-2h12v2c0 .6.4 1 1 1h4c.6 0 1-.4 1-1V9.5c0-3-2.5-5.5-5.5-5.5H19.4c-3 0-5.4 2.4-5.4 5.4V12c0 .6.4 1 1 1zM46 17H6c-2.2 0-4 1.8-4 4v23c0 2.2 1.8 4 4 4h40c2.2 0 4-1.8 4-4V21c0-2.2-1.8-4-4-4z"}}},new_child_case:{xmlns:"http://www.w3.org/2000/svg",g:{path:[{d:"M15 11h4c.6 0 1-.4 1-1V8h10v2c0 .6.4 1 1 1h4c.6 0 1-.4 1-1V7.5c0-3-2.5-5.5-5.5-5.5H19.4c-3 0-5.4 2.4-5.4 5.4V10c0 .6.4 1 1 1zM32 34h2v-2c0-2.2 1.8-4 4-4h6c1.3 0 2.4.6 3.1 1.5.3.4.9.1.9-.3V19c0-2.2-1.8-4-4-4H6c-2.2 0-4 1.8-4 4v23c0 2.2 1.8 4 4 4h21.8c.4 0 .6-.3.5-.7-.2-.4-.3-.8-.3-1.3v-6c0-2.2 1.8-4 4-4z"},{d:"M48.5 38H44v-4.5c0-.8-.7-1.5-1.5-1.5h-3c-.8 0-1.5.7-1.5 1.5V38h-4.5c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5H38v4.5c0 .8.7 1.5 1.5 1.5h3c.8 0 1.5-.7 1.5-1.5V44h4.5c.8 0 1.5-.7 1.5-1.5v-3c0-.8-.7-1.5-1.5-1.5z"}]}},new_contact:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M46 9H6c-2.7 0-5 2.2-5 5v24c0 2.7 2.3 5 5 5h40c2.8 0 5-2.2 5-5V14c0-2.8-2.2-5-5-5zM24.8 37.2H10.4c-1.6 0-2.8-1.7-2.8-3.4.1-2.5 2.7-4 5.4-5.2 1.9-.8 2.2-1.6 2.2-2.4 0-.8-.5-1.6-1.2-2.2-1.1-1-1.7-2.5-1.7-4.1 0-3.2 1.9-5.8 5.2-5.8s5.2 2.7 5.2 5.8c0 1.7-.6 3.2-1.7 4.1-.7.6-1.2 1.3-1.2 2.2 0 .8.2 1.6 2.2 2.3 2.7 1.2 5.3 2.8 5.4 5.3.3 1.7-1 3.4-2.6 3.4zm19.5-5.8c0 .9-.8 1.7-1.7 1.7h-7.5c-.9 0-1.7-.7-1.7-1.7v-2.5c0-.9.8-1.7 1.7-1.7h7.5c.9 0 1.7.7 1.7 1.7v2.5zm0-9.1c0 .9-.8 1.7-1.7 1.7H30.2c-.9 0-1.7-.7-1.7-1.7v-2.5c0-.9.8-1.7 1.7-1.7h12.5c.9 0 1.7.7 1.7 1.7v2.5z"}},new_custom1:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M29.4 45.5c-1.9 2-5 2-6.9 0-5.8-6.1-16.8-17.7-16.8-17.8-5-5.1-5-13.6 0-18.8 2.4-2.5 5.6-3.9 9-3.9s6.6 1.3 9 3.9l1 1.2c.6.8 1.9.8 2.6 0l.8-1 .1-.1c2.5-2.6 5.7-4 9-4 3.4 0 6.6 1.3 9 3.9 5 5.1 5 13.6 0 18.8 0 .1-10.9 11.7-16.8 17.8z"}},new_custom10:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M42 48.3c-7.6 3-19.6 2.2-26.1-4.8C.1 26.6 13.9 2 32.9 2c3.2 0 6.2.6 9.1 1.8 1.2.5 1.3 2.1.3 2.8C36.2 10.9 32.1 18 32.1 26c0 8.1 4 15.2 10.1 19.5 1.1.7.9 2.3-.2 2.8z"}},new_custom100:{xmlns:"http://www.w3.org/2000/svg",g:{path:{d:"M35.5 41.5h-19c-.6 0-.9.5-.8 1.1.8 3.1 5.1 5.5 10.2 5.5 5.2 0 9.5-2.4 10.2-5.5.3-.6-.1-1.1-.6-1.1zM45.2 4H6.8C4.2 4 2 6.2 2 8.9v22.8c0 2.7 2.2 4.9 4.8 4.9h38.4c2.6 0 4.8-2.2 4.8-4.9V8.9C50 6.2 47.8 4 45.2 4zm0 26.1c0 .9-.7 1.6-1.6 1.6H8.4c-.9 0-1.6-.7-1.6-1.6V10.5c0-.9.7-1.6 1.6-1.6h35.2c.9 0 1.6.7 1.6 1.6v19.6z"}}},new_custom11:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M27.8 3.1l6.4 13.5 14.2 2.2c1.6.2 2.2 2.3 1 3.4L39.1 32.8l2.4 14.8c.2 1.7-1.4 3-2.8 2.2l-12.7-7-12.7 7c-1.4.8-3.1-.5-2.8-2.2l2.4-14.8L2.6 22.2c-1.1-1.2-.5-3.2 1-3.4l14.2-2.2 6.4-13.5c.8-1.5 2.9-1.5 3.6 0z"}},new_custom12:{xmlns:"http://www.w3.org/2000/svg",circle:{cx:"26",cy:"26",r:"24"}},new_custom13:{xmlns:"http://www.w3.org/2000/svg",g:{path:{d:"M45.2 4H6.8C4.2 4 2 6.1 2 8.7v4.7c0 .9.7 1.6 1.6 1.6h44.8c.9 0 1.6-.7 1.6-1.6V8.7C50 6.1 47.8 4 45.2 4zM45.2 19.7H6.8c-.9 0-1.6.7-1.6 1.6v22c0 2.6 2.2 4.7 4.8 4.7h32c2.6 0 4.8-2.1 4.8-4.7v-22c0-.9-.7-1.6-1.6-1.6zm-10.4 7.1c0 1.3-1 2.4-2.4 2.4H19.6c-1.3 0-2.4-1-2.4-2.4 0-1.3 1-2.4 2.4-2.4h12.8c1.4 0 2.4 1 2.4 2.4z"}}},new_custom14:{xmlns:"http://www.w3.org/2000/svg",g:{path:[{d:"M48.4 11.7h-4.8c-1 0-2.1-.5-2.9-1.2l-3.8-3.3C36.1 6.5 35 6 34 6h-9.4c-1.2 0-2.3.5-3.2 1.4l-5 4.1c-.4.3-.4 1-.1 1.4l1.5 1.5c1 .8 2.4 1 3.4.2l4.4-2.7c.6-.4 1.4-.2 1.8.2l13.8 13.6c.3.3.6.8.6 1.3v3.6c0 1 .7 2 1.6 2h4.8c.9 0 1.6-.7 1.6-1.7V13.3c.2-1-.5-1.6-1.4-1.6z"},{d:"M34.8 26.2l-8.6-8.5-2.4 1.5c-1.2.7-2.6 1.1-3.9 1.1-1.7 0-3.4-.6-4.8-1.8L11.9 16c-.7-.6-1.1-1.2-1.2-2.1-.2-.9-.8-1.4-1.6-1.4H3.6c-.9 0-1.6.5-1.6 1.4v14.7c0 1 .7 1.6 1.6 1.6h3.2c.2 0 .6-.9.9-1.3 1.2-1.6 3-2.5 4.9-2.8 1.9-.2 3.8.5 5.3 1.9l10 9.2c.9.8 1.5 1.7 1.9 2.8.2.6.9.7 1.3.3l3.8-3.8c1.9-1.9 3.4-6.5 1.6-8.6l-1.7-1.7z"},{d:"M14.7 32.2c-1-1-2.6-.8-3.4.3-.9 1.1-.7 2.8.3 3.7l10 9.1c.5.5 1.1.6 1.8.6.6-.1 1.2-.4 1.6-1 .9-1.1.7-2.8-.3-3.7l-10-9z"}]}},new_custom15:{xmlns:"http://www.w3.org/2000/svg",g:{path:[{d:"M42 22.9c-2.8-1.2-3.2-2.2-3.2-3.4 0-1.2.8-2.2 1.8-3.1 1.7-1.5 2.6-3.6 2.6-6 0-4.5-2.8-8.4-7.9-8.4-4.3 0-7 2.9-7.7 6.6-.1.3.1.6.3.8 3.6 2.6 5.8 6.9 5.8 12.1 0 3.6-1.2 6.9-3.4 9.4-.3.4-.2 1 .3 1.3 1.4.6 3 1.4 4.6 2.2.5.3 1 .5 1.6.5H46c2.2 0 4-1.8 4-3.9v-.6c0-3.8-3.9-5.8-8-7.5z"},{d:"M27.7 36.1c-3.4-1.4-3.8-2.6-3.8-4s1-2.6 2.1-3.7c1.9-1.8 3-4.2 3-7 0-5.3-3.4-9.8-9.3-9.8s-9.3 4.6-9.3 9.8c0 2.9 1 5.3 3 7 1.1 1 2.1 2.3 2.1 3.7 0 1.4-.5 2.6-3.8 4-4.9 2-9.5 4.3-9.6 8.6v.7C2 47.9 4.2 50 6.9 50h25.6c2.6 0 4.8-2.1 4.8-4.6v-.7c-.1-4.3-4.7-6.6-9.6-8.6z"}]}},new_custom16:{xmlns:"http://www.w3.org/2000/svg",g:{path:{d:"M43.3 42h-.8V24.4c0-.9-.7-1.6-1.6-1.6h-1.6c-.9 0-1.6.7-1.6 1.6V42H33V24.4c0-.9-.7-1.6-1.6-1.6h-1.6c-.9 0-1.6.7-1.6 1.6V42h-4.7V24.4c0-.9-.7-1.6-1.6-1.6h-1.6c-.9 0-1.6.7-1.6 1.6V42H14V24.4c0-.9-.7-1.6-1.6-1.6h-1.6c-.9 0-1.6.7-1.6 1.6V42h-.5C6.1 42 4 44.2 4 46.8v1.6c0 .9.7 1.6 1.6 1.6h40.9c.9 0 1.6-.7 1.6-1.6v-1.6c-.1-2.6-2.2-4.8-4.8-4.8zM47.2 13.5L27.8 2.6c-.5-.4-1.2-.6-1.8-.6-.6 0-1.3.2-1.8.6L4.8 13.5c-.5.3-.8.8-.8 1.4v1.5c0 .9.7 1.6 1.6 1.6h40.9c.9 0 1.6-.7 1.6-1.6V15c-.1-.6-.4-1.2-.9-1.5zM26 14.8c-2.2 0-3.9-1.8-3.9-4s1.7-4 3.9-4 3.9 1.8 3.9 4-1.7 4-3.9 4z"}}},new_custom17:{xmlns:"http://www.w3.org/2000/svg",g:{path:{d:"M20.5 9.1c.2.6.8.9 1.4.9H30c.6 0 1.2-.3 1.4-.9l3.2-5.9c.2-.6-.2-1.1-.7-1.1H18.2c-.6 0-1 .6-.7 1.1l3 5.9zM30.7 14.8h-9.4C13.4 14.8 7 21.3 7 29.2v16c0 2.6 2.1 4.8 4.8 4.8h28.4c2.6 0 4.8-2.2 4.8-4.8v-16c0-7.9-6.5-14.4-14.3-14.4zm-2.3 26.9v2.7c0 .5-.5.8-1 .8h-3.2c-.5 0-.6-.3-.6-.8v-2.6c-2.4-.5-4.4-1.5-4.9-2-.6-.6-.8-1.1-.3-1.8l1-1.6c.2-.4.7-.6 1.2-.6.3 0 .6.1.8.2h.1c1.6 1 3 1.4 4 1.4 1.1 0 2-.6 2-1.2 0-.5-.3-1.3-3.3-2.3-2.7-1-6-2.6-6-6.3 0-2.2 1.4-4.7 5.4-5.5v-2.4c0-.5.2-.8.6-.8h3.2c.5 0 1 .3 1 .8V22c1.6.4 3.3 1.2 3.9 1.6.3.2.5.6.6 1 .1.4-.1.8-.3 1L31.4 27c-.3.4-.9.7-1.3.7-.2 0-.5-.1-.7-.2-1.6-.9-2.9-1.4-3.8-1.4-1.3 0-1.9.6-1.9 1 0 .6.3 1.2 3 2.2 3.3 1.1 7 2.9 7 6.7-.1 2.7-2.2 5-5.3 5.7z"}}},new_custom18:{xmlns:"http://www.w3.org/2000/svg",g:{path:[{d:"M31.4 15.3h8.2c.6 0 1.1-.5 1.1-1.1 0-.3-.1-.5-.3-.8L30.2 3.3c-.3-.2-.5-.3-.8-.3-.6 0-1.1.5-1.1 1.1v8.1c0 1.7 1.4 3.1 3.1 3.1zM49.5 25.7l-.9-.9c-.6-.6-1.5-.6-2.2 0L34.5 36.7c-.1.1 0 .2 0 .3v2.5c0 .2 0 .4.2.4h2.6c.1 0 .2-.1.3-.1L49.5 28c.7-.8.7-1.7 0-2.3z"},{d:"M39.9 44.4H32.8c-1.6 0-2.9-1.3-2.9-2.9v-5.4c0-.8.2-1.6.9-2.1l9.5-9.5c.3-.3.5-.7.5-1.1v-2c0-.8-.7-1.5-1.5-1.5h-11c-2.6 0-4.6-2.1-4.6-4.6V4.5c0-.8-.7-1.5-1.6-1.5H6.6C4.1 3 2 5.1 2 7.6v36.8C2 46.9 4.1 49 6.6 49H36c2.2 0 4.2-1.6 4.6-3.7.1-.4-.3-.9-.7-.9zM8.2 16.8c0-.8.7-1.5 1.5-1.5h6.2c.9 0 1.5.7 1.5 1.5v1.5c0 .8-.7 1.5-1.5 1.5H9.7c-.9 0-1.5-.7-1.5-1.5v-1.5zm15.5 19.9c0 .8-.7 1.5-1.5 1.5H9.7c-.9 0-1.5-.7-1.5-1.5v-1.5c0-.8.7-1.5 1.5-1.5h12.4c.9 0 1.5.7 1.5 1.5v1.5zm3.1-9.2c0 .8-.7 1.5-1.5 1.5H9.7c-.9 0-1.5-.7-1.5-1.5V26c0-.8.7-1.5 1.5-1.5h15.5c.9 0 1.5.7 1.5 1.5v1.5z"}]}},new_custom19:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M49.4 12.2c-.2-.6-.9-.7-1.4-.3L39.9 20c-.6.6-1.6.6-2.2 0L32 14.3c-.6-.6-.6-1.6 0-2.2L40.2 4c.4-.4.2-1.1-.3-1.4-1.4-.4-2.9-.6-4.3-.6-8.5 0-15.3 7.3-14.3 16 .2 1.4.5 2.6 1 3.8L3.6 40.4c-2.2 2.2-2.2 5.8 0 7.9 1.1 1.1 2.6 1.7 4 1.7s2.9-.6 4-1.7l18.6-18.6c1.2.5 2.5.8 3.8 1 8.7 1 16-5.8 16-14.3 0-1.5-.2-2.9-.6-4.2z"}},new_custom2:{xmlns:"http://www.w3.org/2000/svg",g:{path:{d:"M33.3 3.5C30.9 1.9 22.2.4 18.9 5.9c-1.6 2.6.3 7.3 1.8 10.3.4.7 1.2 1.1 2 .8 1-.4 2.2-.6 3.5-.6.8 0 1.6.1 2.4.3.7.2 1.4-.2 1.8-.8.6-1 1.5-2.2 3.1-3.5 3.8-3.3 2.2-7.3-.2-8.9zM29.1 35.1c-1 .3-2 .5-3.1.5-1 0-1.9-.2-2.8-.4-.7-.2-1.5.2-1.8.8-.6 1-1.5 2.3-3.1 3.6-4 3.2-2.4 7.3 0 8.9s11.2 3.1 14.4-2.4c1.5-2.6-.2-7.2-1.7-10.2-.4-.7-1.2-1-1.9-.8zM46.1 18.7c-2.6-1.6-7.3.3-10.3 1.8-.7.4-1.1 1.2-.8 2 .4 1 .6 2.2.6 3.5 0 .8-.1 1.6-.3 2.4-.2.7.2 1.4.8 1.8 1 .6 2.2 1.5 3.5 3.1 3.2 4 7.2 2.4 8.8 0s3.2-11.3-2.3-14.6zM16.9 29c-.3-1-.5-2-.5-3.1 0-1 .2-1.9.4-2.8.2-.7-.2-1.5-.8-1.8-1-.6-2.3-1.5-3.6-3.1-3.2-4-7.3-2.4-8.9 0S.4 29.3 5.9 32.6c2.6 1.5 7.2-.2 10.2-1.7.7-.4 1-1.2.8-1.9z"},circle:{cx:"26",cy:"26",r:"4.8"}}},new_custom20:{xmlns:"http://www.w3.org/2000/svg",g:{path:{d:"M16.4 24.2c0-.6-.8-1-1.3-.6L3.9 32.1C2.7 33 2 34.5 2 36v3.3c0 .6.6 1 1 .7l12.3-4.6c.6-.2 1-.8 1-1.5.1-.1.1-9.7.1-9.7zM34.1 46.5l-3.3-2.2V8.1c0-2.2-2.3-4.6-3.8-5.8-.6-.5-1.4-.5-2 0-1.4 1.2-3.8 3.6-3.8 5.8V44.4l-3.7 2.4c-.6.5-1.1 1.2-1.1 2v.5c0 .4.3.7.7.7h17.7c.4 0 .9-.3.9-.7-.1-1.2-.7-2.1-1.6-2.8zM48.1 32.1l-11.2-8.6c-.6-.4-1.3 0-1.3.6v9.8c0 .6.4 1.3 1 1.5L49 40.1c.6.2 1-.2 1-.7v-3.3c0-1.6-.7-3.1-1.9-4z"}}},new_custom21:{xmlns:"http://www.w3.org/2000/svg",g:{path:{d:"M32.1 42.9c-.2-.6-.8-.9-1.4-.9h-9.3c-.6 0-1.2.3-1.4.9l-2.2 5.9c-.2.6.2 1.1.7 1.1h15c.6 0 1-.6.7-1.1l-2.1-5.9zM45.2 2H6.8C4.2 2 2 4.1 2 6.8v25.6c0 2.6 2.2 4.8 4.8 4.8h38.4c2.6 0 4.8-2.2 4.8-4.8V6.8C50 4.1 47.8 2 45.2 2zM26 35.6c-1.4 0-2.4-1-2.4-2.4s1-2.4 2.4-2.4 2.4 1 2.4 2.4-1 2.4-2.4 2.4zm19.2-8c0 .9-.7 1.6-1.6 1.6H8.4c-.9 0-1.6-.7-1.6-1.6V8.4c0-.9.7-1.6 1.6-1.6h35.2c.9 0 1.6.7 1.6 1.6v19.2z"}}},new_custom22:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M48.1 37.1l-5-4c-1.7-1.4-4.1-1.4-5.8-.2l-4.7 3.4c-.6.5-1.5.4-2.1-.2l-7.8-7-7.1-7.8c-.6-.6-.6-1.4-.2-2.1l3.4-4.7c1.3-1.8 1.2-4.2-.2-5.8l-4-5C13 1.5 9.7 1.3 7.7 3.3L3.4 7.7C2.4 8.7 2 10 2 11.3 2.6 21.5 7.2 31.2 14 38s16.4 11.4 26.6 12c1.4.1 2.6-.5 3.6-1.4l4.3-4.3c2.1-2.1 1.9-5.4-.4-7.2z"}},new_custom23:{xmlns:"http://www.w3.org/2000/svg",g:{path:[{d:"M25 30.6c.6.6 1.5.6 2.2 0L49.8 10c.4-.8.3-2-1.3-2H3.7c-1.2 0-2.2 1.2-1.3 2.1L25 30.6z"},{d:"M50 18.8c0-1-1.3-1.6-2-.9L30.4 34c-1.2 1.1-2.7 1.7-4.3 1.7-1.6 0-3.1-.6-4.3-1.7L4.1 18c-.8-.7-2-.2-2 .9v20.4c0 2.6 2.2 4.7 4.8 4.7h38.4c2.6 0 4.8-2.1 4.8-4.7-.1 0-.1-14.2-.1-20.5z"}]}},new_custom24:{xmlns:"http://www.w3.org/2000/svg",g:{path:{d:"M40.3 2H11.7C9.1 2 7 4.2 7 6.7v.1c0 .9.7 1.6 1.6 1.6h34.8c.9 0 1.6-.7 1.6-1.6v-.1C45 4.2 42.9 2 40.3 2zM40.2 13.2H11.8c-.9 0-1.6.7-1.6 1.6v33.6c0 .9.7 1.6 1.6 1.6h8.8c.9 0 1.5-.7 1.5-1.6V42c0-.9.8-1.6 1.7-1.6h4.6c.9 0 1.7.7 1.7 1.6v6.4c0 .9.6 1.6 1.5 1.6h8.8c.9 0 1.6-.7 1.6-1.6V14.8c-.2-.9-.9-1.6-1.8-1.6zM23.6 34.8c0 .9-.7 1.6-1.6 1.6h-3.2c-.9 0-1.6-.7-1.6-1.6v-3.2c0-.9.7-1.6 1.6-1.6H22c.9 0 1.6.7 1.6 1.6v3.2zm0-11.2c0 .9-.7 1.6-1.6 1.6h-3.2c-.9 0-1.6-.7-1.6-1.6v-3.2c0-.9.7-1.6 1.6-1.6H22c.9 0 1.6.7 1.6 1.6v3.2zm11.1 11.2c0 .9-.7 1.6-1.6 1.6H30c-.9 0-1.6-.7-1.6-1.6v-3.2c0-.9.7-1.6 1.6-1.6h3.2c.9 0 1.6.7 1.6 1.6v3.2zm0-11.2c0 .9-.7 1.6-1.6 1.6H30c-.9 0-1.6-.7-1.6-1.6v-3.2c0-.9.7-1.6 1.6-1.6h3.2c.9 0 1.6.7 1.6 1.6v3.2z"}}},new_custom25:{xmlns:"http://www.w3.org/2000/svg",g:{path:[{d:"M49.8 7.8c-.6-3-3-5.4-6.1-5.8-2.2-.3-4.2.4-5.7 1.6-.5.4-.4 1 .2 1.4 3.7 1.9 6.8 4.7 9.2 8.1.3.5 1 .5 1.4 0 1-1.5 1.4-3.3 1-5.3zM13.7 5c.5-.2.6-1 .2-1.4-1.5-1.3-3.5-1.9-5.7-1.6-3 .4-5.5 2.8-6.1 5.8-.3 1.9.1 3.8 1 5.2.3.5 1 .5 1.4 0 2.4-3.2 5.5-6 9.2-8zM26 6.8c-11.9 0-21.6 9.7-21.6 21.6 0 4.8 1.6 9.3 4.2 12.8l-3.3 3.3c-1.3 1.3-1.3 3.3 0 4.6.6.6 1.4 1 2.2 1s1.6-.3 2.2-1l3.3-3.3c3.7 2.6 8.2 4.2 13 4.2s9.3-1.6 12.8-4.2l3.3 3.3c.7.6 1.5 1 2.3 1s1.6-.3 2.2-1c1.3-1.3 1.3-3.3 0-4.6l-3.3-3.3c2.6-3.5 4.2-8 4.2-12.8.1-11.9-9.6-21.6-21.5-21.6zM10.8 28.4c0-8.4 6.8-15.2 15.2-15.2S41.2 20 41.2 28.4 34.4 43.6 26 43.6s-15.2-6.8-15.2-15.2z"},{d:"M28.4 27.4v-6.2c0-1.4-1-2.4-2.4-2.4s-2.4 1-2.4 2.4v7.2c0 .6.2 1.3.7 1.7l5.6 5.6c.5.5 1.1.7 1.7.7s1.2-.2 1.7-.7c1-1 1-2.5 0-3.4l-4.9-4.9z"}]}},new_custom26:{xmlns:"http://www.w3.org/2000/svg",g:{path:{d:"M6.8 2C4.2 2 2 4.2 2 6.8c0 1.4.6 2.7 1.6 3.6v36.4C3.6 48.6 5 50 6.8 50c1.8 0 3.2-1.4 3.2-3.2V10.4c1-.9 1.6-2.2 1.6-3.6C11.6 4.2 9.4 2 6.8 2zM48.8 10.6c-12.6 6.6-21.1-4.7-33-.4-.6.2-1 .8-1 1.5v20.6c0 1 1 1.8 2.1 1.5 11.4-3.4 19.9 7.3 32.3.5.5-.2.8-.8.8-1.4V11.4c0-.7-.6-1.1-1.2-.8z"}}},new_custom27:{xmlns:"http://www.w3.org/2000/svg",g:{path:{d:"M6.5 35.6h39c.8 0 1.5-.7 1.5-1.5V10.4C47 8 45 6 42.5 6h-33C7 6 5 8 5 10.4v23.7c0 .9.7 1.5 1.5 1.5zm3-23.7c0-.8.7-1.5 1.5-1.5h30c.8 0 1.5.7 1.5 1.5v17.8c0 .8-.7 1.5-1.5 1.5H11c-.8 0-1.5-.7-1.5-1.5V11.9zM48.5 40.1H32c-.8 0-1.5.7-1.5 1.5s-.7 1.5-1.5 1.5h-6c-.8 0-1.5-.7-1.5-1.5s-.7-1.5-1.5-1.5H3.5c-.8 0-1.5.7-1.5 1.5C2 44 4 46 6.5 46h39c2.5 0 4.5-2 4.5-4.4 0-.9-.7-1.5-1.5-1.5z"}}},new_custom28:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M37.2 2H14.8C12.2 2 10 4.2 10 6.8v38.4c0 2.6 2.2 4.8 4.8 4.8h22.4c2.6 0 4.8-2.2 4.8-4.8V6.8C42 4.2 39.8 2 37.2 2zM26 48.4c-1.4 0-2.4-1-2.4-2.4s1-2.4 2.4-2.4 2.4 1 2.4 2.4-1 2.4-2.4 2.4zm11.2-8c0 .9-.7 1.6-1.6 1.6H16.4c-.9 0-1.6-.7-1.6-1.6V10c0-.9.7-1.6 1.6-1.6h19.2c.9 0 1.6.7 1.6 1.6v30.4z"}},new_custom29:{xmlns:"http://www.w3.org/2000/svg",g:{path:{d:"M45.3 8.4h-1.5c-1 0-1.7.8-1.7 1.8V42c0 .1 0 .2.1.3l2 2.8c.2.2.4.2.6 0l2-2.8c.2-.1.2-.1.2-.3V10.2c0-1-.7-1.8-1.7-1.8zM32.5 2H9.8C7.2 2 5 4.2 5 6.8v38.4C5 47.8 7.2 50 9.8 50h22.6c2.7 0 4.8-2.2 4.8-4.8V6.8c.1-2.6-2.1-4.8-4.7-4.8zM21.2 48.4c-1.4 0-2.4-1-2.4-2.4s1-2.4 2.4-2.4 2.4 1 2.4 2.4-1.1 2.4-2.4 2.4zm11.3-8c0 .9-.7 1.6-1.6 1.6H11.5c-.9 0-1.6-.7-1.6-1.6V10c0-.9.7-1.6 1.6-1.6h19.4c.9 0 1.6.7 1.6 1.6v30.4z"}}},new_custom3:{xmlns:"http://www.w3.org/2000/svg",g:{path:[{d:"M26 16.4c-5.3 0-9.6 4.3-9.6 9.6s4.3 9.6 9.6 9.6 9.6-4.3 9.6-9.6-4.3-9.6-9.6-9.6z"},{d:"M50 26c0-2.8-6.7-4.2-7.8-6.7-1-2.6 2.7-8.3.8-10.3s-7.7 1.8-10.2.7c-2.6-1-4-7.7-6.8-7.7s-4.2 6.7-6.7 7.8C16.7 10.8 11 7.1 9 9s1.8 7.7.7 10.2c-1 2.6-7.7 4-7.7 6.8s6.7 4.2 7.8 6.7c1 2.6-2.7 8.3-.8 10.3 1.9 1.9 7.7-1.8 10.2-.7 2.5 1 3.9 7.8 6.7 7.8s4.2-6.7 6.7-7.8c2.6-1 8.3 2.6 10.2.7 1.9-1.9-1.8-7.7-.7-10.2 1.2-2.6 7.9-4 7.9-6.8zM26 40.4c-7.9 0-14.4-6.5-14.4-14.4S18.1 11.6 26 11.6 40.4 18.1 40.4 26 33.9 40.4 26 40.4z"}]}},new_custom30:{xmlns:"http://www.w3.org/2000/svg",g:{path:[{d:"M43.2 8.8C38.8 4.4 32.9 2 26.8 2c-1.4 0-2.4 1-2.4 2.4s1 2.4 2.4 2.4c4.9 0 9.5 1.9 13.1 5.4 3.4 3.5 5.4 8.2 5.4 13.1 0 1.4 1 2.4 2.4 2.4s2.4-1 2.4-2.4c-.1-6.2-2.5-12.1-6.9-16.5z"},{d:"M26.8 11.6c-1.4 0-2.4 1-2.4 2.4s1 2.4 2.4 2.4c2.3 0 4.6.9 6.3 2.6 1.7 1.7 2.6 3.8 2.6 6.3 0 1.4 1 2.4 2.4 2.4s2.4-1 2.4-2.4c0-3.6-1.4-7.1-4-9.6-2.7-2.6-6.1-4.1-9.7-4.1zM23.3 34.6l2.1-5.6c1.4.6 3 .2 4.2-.9 1.6-1.6 1.6-4.1 0-5.7-1.6-1.6-4.1-1.6-5.7 0-1.2 1.2-1.4 3-.8 4.5l-5.2 2.3-9.4-9.4c-.6-.6-1.8-.6-2.3.1-6 7.2-5.6 18 1.2 24.7 6.7 6.7 17.5 7.1 24.7 1.2.7-.6.7-1.7.1-2.3l-8.9-8.9z"}]}},new_custom31:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M46.4 20.7l-3.9-12C41.8 6.5 39.6 5 37.2 5H14.8c-2.4 0-4.6 1.5-5.4 3.7l-3.8 12C3.5 21.3 2 23 2 25.2v9.3c0 2 1.4 3.7 3.2 4.4v6.5c0 .9.7 1.6 1.6 1.6h6.4c.9 0 1.6-.7 1.6-1.6v-6.2h22.4v6.2c0 .9.7 1.6 1.6 1.6h6.4c.9 0 1.6-.7 1.6-1.6V39c1.8-.6 3.2-2.3 3.2-4.4v-9.3c0-2.3-1.5-4-3.6-4.6zM10 33.8c-2.2 0-4-1.7-4-3.9S7.8 26 10 26s4 1.7 4 3.9-1.8 3.9-4 3.9zm17.6-13.2H11.8c-.6 0-1-.5-.8-1l3-9.3c.1-.3.4-.5.7-.5h22.4c.3 0 .6.2.7.5l3 9.4c.2.5-.2 1-.8 1H27.6zm13.6 13.2c-2.2 0-4-1.7-4-3.9s1.8-3.9 4-3.9 4 1.7 4 3.9-1.8 3.9-4 3.9z"}},new_custom32:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M48.8 14.2L30.1 24.9c-.4.2-.8.3-1.2.3-.9 0-1.8-.5-2.2-1.4-.6-1.1 0-2.6 1.1-3.2l6.2-3.5V11c0-.6-.6-1-1.2-.7L10 23.3c-.4.2-.8.3-1.2.3-.8 0-1.7-.4-2.1-1.2-.6-1.1-.2-2.6.9-3.3l3.9-2.2V3.6c.1-.9-.6-1.6-1.5-1.6H3.6C2.7 2 2 2.7 2 3.6v41.6C2 47.8 4.2 50 6.8 50H20.4c.9 0 1.6-.7 1.6-1.6v-5.6c0-.9.7-1.6 1.6-1.6h4.8c.9 0 1.6.7 1.6 1.6v5.6c0 .9.7 1.6 1.6 1.6h13.6c2.6 0 4.8-2.2 4.8-4.8V15c0-.7-.6-1.1-1.2-.8zM14 36.4c0 .9-.7 1.6-1.6 1.6h-1.6c-.9 0-1.6-.7-1.6-1.6v-4.8c0-.9.7-1.6 1.6-1.6h1.6c.9 0 1.6.7 1.6 1.6v4.8zm9.6 0c0 .9-.7 1.6-1.6 1.6h-1.6c-.9 0-1.6-.7-1.6-1.6v-4.8c0-.9.7-1.6 1.6-1.6H22c.9 0 1.6.7 1.6 1.6v4.8zm9.6 0c0 .9-.7 1.6-1.6 1.6H30c-.9 0-1.6-.7-1.6-1.6v-4.8c0-.9.7-1.6 1.6-1.6h1.6c.9 0 1.6.7 1.6 1.6v4.8zm9.6 0c0 .9-.7 1.6-1.6 1.6h-1.6c-.9 0-1.6-.7-1.6-1.6v-4.8c0-.9.7-1.6 1.6-1.6h1.6c.9 0 1.6.7 1.6 1.6v4.8z"}},new_custom33:{xmlns:"http://www.w3.org/2000/svg",g:{path:[{d:"M37.2 19.3H15.5c-.8 0-1.5.7-1.5 1.5v5.9c0 .8.7 1.5 1.5 1.5h21.8c.8 0 1.5-.7 1.5-1.5v-5.9c0-.8-.7-1.5-1.6-1.5zM26.8 26c-1.3 0-2.2-1-2.2-2.2 0-1.3 1-2.2 2.2-2.2s2.2 1 2.2 2.2c0 1.2-1 2.2-2.2 2.2z"},{d:"M48.5 9h-45C2.7 9 2 9.7 2 10.5V12c0 1.6 1.3 3 3 3v26.6c0 .7.7 1.4 1.5 1.4H8c.8 0 1.5-.7 1.5-1.5V14.9h33.8v26.6c0 .8.7 1.5 1.5 1.5h1.5c.8 0 1.5-.7 1.5-1.5V14.9H47c1.6 0 3-1.3 3-3v-1.5c0-.7-.7-1.4-1.5-1.4z"}]}},new_custom34:{xmlns:"http://www.w3.org/2000/svg",g:{path:[{d:"M19.6 10h12.8c.9 0 1.6-.9 1.4-1.8C33 4.7 29.8 2 26 2s-7 2.7-7.8 6.2c-.2.9.5 1.8 1.4 1.8z"},{d:"M47.6 30.8c1.4 0 2.5-1.1 2.4-2.6-.1-1.2-1.2-2.2-2.6-2.2h-7v-4c4.6-1.8 7.9-6.8 8-12.7 0-1.2-.8-2.2-2-2.5-1.5-.2-2.8.9-2.8 2.4 0 3.4-1.6 6.4-3.9 7.8-.9-1.4-2.4-2.2-4.1-2.2H16.4c-1.7 0-3.2.9-4.1 2.2-2.3-1.4-3.9-4.3-3.9-7.7 0-1.3-1-2.5-2.2-2.6-1.4-.1-2.6 1-2.6 2.4 0 5.9 3.4 11 8 12.8v4h-7c-1.3 0-2.5 1-2.6 2.2-.1 1.4 1 2.6 2.4 2.6h7.2v4c-4.6 1.8-7.9 6.8-8 12.7 0 1.2.8 2.2 2 2.5 1.5.2 2.8-.9 2.8-2.4 0-3.4 1.5-6.3 3.8-7.8 1.4 4.5 4.9 8 9.3 9.4 1 .3 2.1-.5 2.1-1.5v-19c0-1.3 1-2.5 2.2-2.6 1.4-.1 2.6 1 2.6 2.4v19.3c0 1.1 1 1.8 2.1 1.5 4.4-1.4 7.9-5 9.3-9.4 2.2 1.4 3.8 4.3 3.8 7.6 0 1.3 1 2.5 2.2 2.6 1.4.1 2.6-1 2.6-2.4 0-5.9-3.4-11-8-12.8v-4h7.2z"}]}},new_custom35:{xmlns:"http://www.w3.org/2000/svg",g:{path:[{d:"M41.5 18c-1.4 0-2.5 1-2.5 2.4v4c0 7-5.9 12.8-13.1 12.8s-13.1-5.8-13.1-12.8v-4c0-1.4-1.1-2.4-2.5-2.4S8 19 8 20.4v4c0 8.9 6.8 16.2 15.5 17.4v3.4h-4.1c-1.4 0-2.5 1-2.5 2.4S18 50 19.4 50h13.1c1.4 0 2.5-1 2.5-2.4s-1.1-2.4-2.5-2.4h-4.1v-3.4C37.2 40.6 44 33.3 44 24.4v-4c0-1.4-1.1-2.4-2.5-2.4z"},{d:"M26 32.4c4.5 0 8.2-3.6 8.2-8V9.9c0-4.4-3.6-7.9-8.1-7.9h-.2c-4.5 0-8.1 3.5-8.1 7.9v14.5c0 4.4 3.7 8 8.2 8z"}]}},new_custom36:{xmlns:"http://www.w3.org/2000/svg",g:{path:{d:"M17.2 43.6H14c-.5 0-1.1.3-1.3.8l-1.1 1.9c-.6 1.1-.4 2.6.6 3.3.4.3.9.4 1.3.4.8 0 1.6-.4 2-1.2l2.3-4c.4-.6 0-1.2-.6-1.2zM39.4 44.4c-.3-.5-.8-.8-1.3-.8h-3.2c-.6 0-1 .6-.7 1.2l2.3 4c.5.8 1.3 1.2 2 1.2.5 0 .9-.2 1.3-.4 1-.7 1.3-2.2.6-3.3l-1-1.9zM39.3 2H12.7C10.1 2 8 4.2 8 6.8V34c0 2.6 2.1 4.8 4.7 4.8h26.6c2.6 0 4.7-2.2 4.7-4.8V6.8C44 4.2 41.9 2 39.3 2zM15 35.6c-1.3 0-2.3-1-2.3-2.4s1-2.4 2.3-2.4 2.3 1 2.3 2.4-.9 2.4-2.3 2.4zm22 0c-1.3 0-2.3-1-2.3-2.4s1-2.4 2.3-2.4 2.3 1 2.3 2.4-1 2.4-2.3 2.4zm2.3-9.6c0 .9-.7 1.6-1.6 1.6H14.3c-.9 0-1.6-.7-1.6-1.6V10c0-.9.7-1.6 1.6-1.6h23.5c.9 0 1.6.7 1.6 1.6v16z"}}},new_custom37:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M48.5 30.5h-9.7v-8.8c2 1.7 4.6 2.8 7.5 2.8 1.3 0 2.2-1 2.2-2.2s-1-2.2-2.2-2.2c-4.1 0-7.5-3.7-7.5-8.2V9.5c.8 0 1.5-.7 1.5-1.5V6.5c0-.8-.7-1.5-1.5-1.5h-4.5c-.8 0-1.5.7-1.5 1.5V8c0 .8.7 1.5 1.5 1.5v2.2c0 4.6-3.7 8.2-8.2 8.2s-8.2-3.7-8.2-8.2V9.5c.8 0 1.5-.7 1.5-1.5V6.5c0-.8-.7-1.5-1.5-1.5h-4.5c-.8 0-1.5.7-1.5 1.5V8c0 .8.7 1.5 1.5 1.5v2.2c0 4.6-3.4 8.2-7.5 8.2-1.3 0-2.2 1-2.2 2.2s1 2.2 2.2 2.2c2.8 0 5.5-1.1 7.5-2.8v8.8H3.5c-.8.2-1.5.9-1.5 1.7v3.6c0 .8.7 1.7 1.5 1.7h3v8.1c0 .8.7 1.6 1.5 1.6h4.5c.8 0 1.5-.8 1.5-1.6v-3c0-2.5 2-4.4 4.5-4.4h15c2.5 0 4.5 1.9 4.5 4.4v3c0 .8.7 1.6 1.5 1.6H44c.8 0 1.5-.8 1.5-1.6v-8.1h3c.8 0 1.5-.8 1.5-1.7V32c0-.8-.7-1.5-1.5-1.5zm-30.7-9.1c2.2 1.9 5.1 3.1 8.2 3.1s6-1.1 8.2-3.1v9.1H17.8v-9.1z"}},new_custom38:{xmlns:"http://www.w3.org/2000/svg",g:{path:[{d:"M26 22c-3.5 0-6.4 2.9-6.4 6.4s2.9 6.4 6.4 6.4 6.4-2.9 6.4-6.4S29.5 22 26 22z"},{d:"M45.2 14h-6.5c-.6 0-1.2-.3-1.4-1l-2.1-4.4C34.4 7 32.7 6 30.9 6h-9.8c-1.8 0-3.5 1-4.3 2.6L14.7 13c-.2.6-.8 1-1.4 1H6.8C4.2 14 2 16.2 2 18.8v22.4C2 43.8 4.2 46 6.8 46h38.4c2.6 0 4.8-2.2 4.8-4.8V18.8c0-2.6-2.2-4.8-4.8-4.8zM26 39.8c-6.2 0-11.2-5-11.2-11.2s5-11.2 11.2-11.2 11.2 5 11.2 11.2-5 11.2-11.2 11.2z"}]}},new_custom39:{xmlns:"http://www.w3.org/2000/svg",g:{path:{d:"M36.9 8.9c-.2-.6-.9-1-1.5-.9L3.1 18.4c-.8.2-1.2 1.1-1 1.9l1.3 5c.2.8 1 1.4 1.8 1.2l8.2-1.1c.2.9.6 1.8 1.2 2.5l-7 18.9c-.5 1.2.1 2.6 1.4 3 .2.1.6.2.8.2 1 0 1.9-.6 2.2-1.6l6.6-17.9c.6.2 1 .2 1.6.2s1.1-.1 1.6-.2l6.6 17.9c.3 1 1.3 1.6 2.2 1.6.2 0 .6-.1.8-.2 1.3-.5 1.9-1.8 1.4-3.1l-7-19c.9-1.2 1.4-2.7 1.4-4.3v-.1l11.3-1.6c.7-.1 1.2-.8 1-1.5L36.9 8.9zM49.9 20.2L45.5 3.8c-.3-1.3-1.7-2.1-3-1.8-1.3.3-2.1 1.7-1.8 3l4.4 16.3c.3 1.3 1.7 2.1 3 1.8 1.3-.3 2.1-1.7 1.8-2.9z"}}},new_custom4:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M6.6 12.2l16.9-9.5c1.5-.9 3.5-.9 5.1 0l16.9 9.5c1.5.9 2.5 2.6 2.5 4.3v19c0 1.8-.9 3.4-2.5 4.3l-16.9 9.5c-1.5.9-3.5.9-5.1 0L6.6 39.8C5.1 38.9 4 37.3 4 35.5v-19c0-1.8 1.1-3.4 2.6-4.3z"}},new_custom40:{xmlns:"http://www.w3.org/2000/svg",g:{path:[{d:"M45.2 8H6.8C4.2 8 2 10.1 2 12.7v26.6C2 41.9 4.2 44 6.8 44h38.4c2.6 0 4.8-2.1 4.8-4.7V12.7c0-2.6-2.2-4.7-4.8-4.7zm0 4.7v4.7H6.8v-4.7h38.4zM6.8 39.3V25.2h38.4v14.1H6.8z"},{d:"M20.5 29.1c-1.1 0-2.1.5-2.6 1.4-.1.2-.3.2-.4 0-.6-.9-1.5-1.4-2.6-1.4-1.8 0-3.2 1.4-3.2 3.1 0 1.7 1.4 3.1 3.2 3.1 1.1 0 2.1-.5 2.6-1.4.1-.2.3-.2.4 0 .6.9 1.5 1.4 2.6 1.4h.1c1.7 0 3.1-1.3 3.1-3.1V32c-.1-1.5-1.5-2.9-3.2-2.9zM38.8 29.9h-9.6c-.9 0-1.6.7-1.6 1.6V33c0 .9.7 1.6 1.6 1.6h9.6c.9 0 1.6-.7 1.6-1.6v-1.6c0-.8-.7-1.5-1.6-1.5z"}]}},new_custom41:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M45.5 11h-39C4 11 2 13 2 15.4v21.2C2 39 4 41 6.5 41h39c2.5 0 4.5-2 4.5-4.4V15.4c0-2.4-2-4.4-4.5-4.4zM11.8 36.6c0-2.9-2.3-5.1-5.2-5.1v-11c2.9 0 5.2-2.3 5.2-5.1h28.5c0 2.9 2.3 5.1 5.2 5.1v11c-2.9 0-5.2 2.3-5.2 5.1H11.8z"},ellipse:{cx:"26",cy:"25.6",rx:"7.5",ry:"7.3"}},new_custom42:{xmlns:"http://www.w3.org/2000/svg",g:{path:{d:"M45.2 4H6.8C4.2 4 2 6.1 2 8.7v4.7c0 .9.7 1.6 1.6 1.6h44.8c.9 0 1.6-.7 1.6-1.6V8.7C50 6.1 47.8 4 45.2 4zM45.2 19.7H6.8c-.9 0-1.6.7-1.6 1.6v22c0 2.6 2.2 4.7 4.8 4.7h32c2.6 0 4.8-2.1 4.8-4.7v-22c0-.9-.7-1.6-1.6-1.6zm-10.4 7.1c0 1.3-1 2.4-2.4 2.4H19.6c-1.3 0-2.4-1-2.4-2.4 0-1.3 1-2.4 2.4-2.4h12.8c1.4 0 2.4 1 2.4 2.4z"}}},new_custom43:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M49.8 21.2s.1 0 0 0c.1-.2.1-.3.1-.4v-.1-.5-.3-.1s-.1-.1-.1-.2 0-.1-.1-.1c0-.1-.1-.1-.1-.2s-.1-.1-.1-.1L40.8 6.9c-.4-.5-1-.9-1.7-.9H12.9c-.7 0-1.4.4-1.8.9L2.3 19.1c0 .1-.1.1-.1.1-.1.1-.1.1-.1.2s0 .1-.1.1c0 .1-.1.1-.1.2V20.7c0 .1.1.3.1.4v.1c.1.1.1.2.1.3 0 .1.1.1.1.1l.1.1 21.9 23.6.1.1.1.1.1.1s.1 0 .1.1c.1 0 .1.1.1.1s.1 0 .1.1c0 0 .1 0 .1.1 0 0 .1 0 .1.1H26.6s.1 0 .1-.1c0 0 .1 0 .1-.1 0 0 .1 0 .1-.1 0 0 .1 0 .1-.1.1 0 .1-.1.1-.1s.1 0 .1-.1l.1-.1.1-.1.1-.1 21.9-23.6.1-.1c0-.1.1-.1.1-.1.1 0 .2-.1.2-.2zm-23.8-3h-3.5l3.5-5.8 3.5 5.8H26zm0 4.3h4.4L26 36.6l-4.4-14.1H26zm3.8-12.2h5.5l-2 5.7-3.5-5.7zm-11 5.7l-2-5.7h5.5L18.8 16zm-1.7 6.5l4 13-12-13h8zm17.8 0h8l-12 13 4-13zm8.7-4.3H37l2.2-6.1 4.4 6.1zm-30.9-6.1l2.2 6.1H8.4l4.3-6.1z"}},new_custom44:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M40.7 9.1C36.6 3.8 33.2 2 26 2c-3.2 0-7.1 1.3-8.7 1.6 0-.9-.7-1.6-1.6-1.6h-3.2c-.9 0-1.6.7-1.6 1.6V10c0 .9.7 1.6 1.6 1.6h3.1c.9 0 1.6-.7 1.6-1.6H19c1.3 0 2.3 1 2.3 2.3v.1c0 1.4 1 2.4 2.4 2.4v12.8c-1.7 0-3.1 1.4-3.1 3.2v14.4c0 2.6 2.1 4.8 4.7 4.8h1.6c2.6 0 4.7-2.2 4.7-4.8V30.8c0-1.8-1.4-3.2-3.1-3.2V14.8c1.3 0 2.4-1.8 2.4-3.1v-.1c0-1.2.9-2.2 2.1-2.2 3.1-.2 4.9 1.1 5.7 1.8.5.4 1.3.5 1.7.1.7-.5.9-1.5.3-2.2z"}},new_custom45:{xmlns:"http://www.w3.org/2000/svg",g:{path:[{d:"M13.2 20.8h25.5v10.5H13.2z"},{d:"M50 19.5v-4c0-2.5-2-4.5-4.5-4.5h-39C4 11 2 13 2 15.5v4c0 .5.3 1.1.8 1.3 1.8 1.1 3 3 3 5.2s-1.2 4.1-3 5.2c-.5.2-.8.7-.8 1.2v4.1C2 39 4 41 6.5 41h39c2.5 0 4.5-2 4.5-4.5v-4c0-.5-.3-1.1-.8-1.3-1.8-1.1-3-3-3-5.2s1.2-4.1 3-5.2c.5-.3.8-.7.8-1.3zm-8.2 16.3H10.2c-.8 0-1.5-.7-1.5-1.5V17.8c0-.8.7-1.5 1.5-1.5h31.5c.8 0 1.5.7 1.5 1.5v16.5c0 .8-.6 1.5-1.4 1.5z"}]}},new_custom46:{xmlns:"http://www.w3.org/2000/svg",g:{path:[{d:"M34.8 15.6H17.2c-.9 0-1.6.7-1.6 1.6v17.6c0 .9.7 1.6 1.6 1.6h17.6c.9 0 1.6-.7 1.6-1.6V17.2c0-.9-.7-1.6-1.6-1.6z"},{d:"M48.8 7.8c.7-.3 1.2-.8 1.2-1.6V3.6c0-.9-.7-1.6-1.6-1.6h-2.6c-.7 0-1.3.5-1.5 1.2-.5 1.6-2 2.8-3.8 2.8s-3.3-1.2-3.8-2.8C36.3 2.5 35.8 2 35 2h-3.7c-.7 0-1.3.5-1.5 1.2-.4 1.6-2 2.8-3.8 2.8-1.8 0-3.3-1.2-3.8-2.8-.3-.7-.8-1.2-1.6-1.2H17c-.7 0-1.3.5-1.5 1.2C15 4.8 13.4 6 11.6 6 9.8 6 8.3 4.8 7.8 3.2 7.5 2.5 7 2 6.2 2H3.6C2.7 2 2 2.7 2 3.6v2.6c0 .8.5 1.3 1.2 1.6 1.6.4 2.8 2 2.8 3.8s-1.2 3.3-2.8 3.8c-.7.3-1.2.8-1.2 1.6v3.7c0 .7.5 1.3 1.2 1.5 1.6.4 2.8 2 2.8 3.8s-1.2 3.3-2.8 3.8c-.7.3-1.2.8-1.2 1.6V35c0 .7.5 1.3 1.2 1.5C4.8 37 6 38.6 6 40.4c0 1.8-1.2 3.3-2.8 3.8-.7.3-1.2.8-1.2 1.6v2.6c0 .9.7 1.6 1.6 1.6h2.6c.7 0 1.3-.5 1.5-1.2.5-1.6 2-2.8 3.8-2.8 1.8 0 3.3 1.2 3.8 2.8.2.7.8 1.2 1.5 1.2h3.7c.7 0 1.3-.5 1.5-1.2.5-1.6 2-2.8 3.8-2.8s3.3 1.2 3.8 2.8c.2.7.8 1.2 1.5 1.2H35c.7 0 1.3-.5 1.5-1.2.5-1.6 2-2.8 3.8-2.8 1.8 0 3.3 1.2 3.8 2.8.2.7.8 1.2 1.5 1.2h2.6c.9 0 1.6-.7 1.6-1.6v-2.6c0-.7-.5-1.3-1.2-1.5-1.6-.5-2.8-2-2.8-3.8s1.2-3.3 2.8-3.8c.7-.2 1.2-.8 1.2-1.5v-3.7c0-.7-.5-1.3-1.2-1.5-1.6-.5-2.8-2-2.8-3.8 0-1.8 1.2-3.3 2.8-3.8.7-.2 1.2-.8 1.2-1.5V17c0-.7-.5-1.3-1.2-1.5-1.6-.5-2.8-2-2.8-3.8s1.4-3.4 3-3.9zm-7.6 28.6c0 2.6-2.2 4.8-4.8 4.8H15.6c-2.6 0-4.8-2.2-4.8-4.8V15.6c0-2.6 2.2-4.8 4.8-4.8h20.8c2.6 0 4.8 2.2 4.8 4.8v20.8z"}]}},new_custom47:{xmlns:"http://www.w3.org/2000/svg",g:{path:{d:"M36.6 43.6H8.9c-2.7 0-4.9 2.2-4.9 4.8v.1c0 .8.7 1.5 1.5 1.5h34.4c.8 0 1.5-.7 1.5-1.5v-.1c.1-2.6-2.1-4.8-4.8-4.8zM47.5 18.3l-13-11.8 2.1-3.1c.3-.5.1-1.1-.5-1.2-4-.8-6.4 1.9-6.4 1.9-25.1 0-21 27.1-19.8 33.4.2.7.8 1.3 1.6 1.3h22.1c.7 0 1.1-.8.7-1.3-4.5-5.4-6.8-11.4-8.3-15.2-.2-.6.4-1.4 1.1-1 5.9 3 8.4-.2 12.4 2.2 2 1.2 4.4.9 6-.7l2.2-2.2c.4-.6.4-1.6-.2-2.3zm-16.6-2.7c-1.4 0-2.4-1-2.4-2.4s1.1-2.4 2.4-2.4 2.4 1 2.4 2.4-1 2.4-2.4 2.4z"}}},new_custom48:{xmlns:"http://www.w3.org/2000/svg",g:{path:{d:"M48.4 5.2h-8V3.6c0-.9-.7-1.6-1.6-1.6H13.2c-.9 0-1.6.7-1.6 1.6v1.6h-8c-.9 0-1.6.7-1.6 1.6v10.4c0 4 3.2 7.2 7.2 7.2h3.7c2.2 5.1 7.1 8.7 13 8.8 6.1.1 11.2-3.6 13.4-8.8h3.5c4 0 7.2-3.2 7.2-7.2V6.8c0-.9-.7-1.6-1.6-1.6zM9.2 19.6c-1.4 0-2.4-1-2.4-2.4V10h4.8v8.5c0 .4 0 .7.1 1.1H9.2zm36-2.4c0 1.4-1 2.4-2.4 2.4h-2.5c0-.3.1-.7.1-1V10h4.8v7.2zM34 45.2h-.8c-2.6 0-4.8-2.2-4.8-4.8v-1.6c0-.5-.3-.8-.8-.8h-3.2c-.5 0-.8.3-.8.8v1.6c0 2.6-2.2 4.8-4.8 4.8H18c-.9 0-1.6.7-1.6 1.6v1.6c0 .9.7 1.6 1.6 1.6h16c.9 0 1.6-.7 1.6-1.6v-1.6c0-.9-.7-1.6-1.6-1.6z"}}},new_custom49:{xmlns:"http://www.w3.org/2000/svg",g:{path:[{d:"M26 18.8c-4 0-7.2 3.2-7.2 7.2s3.2 7.2 7.2 7.2 7.2-3.2 7.2-7.2-3.2-7.2-7.2-7.2zM26 30c-2.2 0-4-1.8-4-4s1.8-4 4-4 4 1.8 4 4-1.8 4-4 4z"},{d:"M26 2C12.7 2 2 12.7 2 26s10.7 24 24 24 24-10.7 24-24S39.3 2 26 2zm0 42.3c0 1-.8 1.7-1.8 1.6-9.6-.8-17.3-8.5-18.2-18.2 0-.9.7-1.7 1.7-1.7h1.6c.8 0 1.5.6 1.6 1.4.7 7.2 6.5 13 13.7 13.7.8.1 1.4.8 1.4 1.6v1.6zm0-6.3c-6.6 0-12-5.4-12-12s5.4-12 12-12 12 5.4 12 12-5.4 12-12 12zm18.3-12h-1.6c-.8 0-1.5-.6-1.6-1.4-.7-7.2-6.5-13-13.7-13.7-.8-.1-1.4-.8-1.4-1.6V7.7c0-1 .8-1.7 1.8-1.6 9.7.8 17.4 8.6 18.2 18.2 0 .9-.7 1.7-1.7 1.7z"}]}},new_custom5:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M49.1 5.8C40.9 2.7 31.4 2 23 4.7 15.6 7.1 8 12.6 6.9 20.8c-.2 1.7-.2 3.6.2 5.2.2.9.5 1.7.8 2.6.2.5.3.9.6 1.3-.3.5-.6 1-1 1.4-2.3 3.6-3.9 7.7-4.9 11.8-.4 1.7-1.4 4.3.5 5.5.7.5 1.8.5 2.5.1 1-.6 1.1-1.5 1.3-2.5.7-4.2 2.2-8.4 4.5-12 1.1-1.7 2.3-3.5 3.7-5.1 1.2-1.3 3-3.7 5-3 2 .7 1.9 3 .6 4.2s-2.5 2.5-2.5 4.4c0 1.4.6 2.9 1.8 3.8 1.6 1.3 4.8 1.6 6.7 1.4 4.2-.2 7.7-1.5 11.1-4 4.5-3.1 6.2-8.5 7.1-13.6.6-3.2 1-6.3 2.1-9.3.5-1.3 1.1-2.5 1.8-3.6.3-.6 1-1.2 1.1-1.8.3-.9-.2-1.6-.8-1.8z"}},new_custom50:{xmlns:"http://www.w3.org/2000/svg",g:{path:{d:"M47.5 31.3c-1.8.9-3.9 1.4-6.1 1.4-2.6 0-5.1-.7-7.2-1.9-.2-.2-.6-.2-.8 0-2.1 1.3-4.6 1.9-7.2 1.9s-5.1-.7-7.2-1.9c-.2-.2-.6-.2-.8 0-2.1 1.3-4.6 1.9-7.2 1.9-2.2 0-4.3-.5-6.1-1.4-.6-.3-1.2.1-1.2.7v9.8c0 1.9 1.1 3.6 2.9 4.5 4 1.8 8.3 3.1 12.9 3.7 1 .2 1.8-.6 1.8-1.6v-6.1c0-2.7 2.2-4.8 4.7-4.8h.1c2.6 0 4.7 2.2 4.7 4.8v6.1c0 1 .9 1.7 1.8 1.6 4.5-.6 8.8-1.9 12.9-3.7 1.8-.8 2.9-2.5 2.9-4.5V32c.2-.6-.4-1-.9-.7zM10.9 27.8c2.9 0 5.4-1.2 7-3.2.3-.4.9-.4 1.2 0 1.6 1.9 4.2 3.2 7 3.2 2.9 0 5.4-1.2 7-3.2.3-.4.9-.4 1.2 0 1.6 1.9 4.2 3.2 7 3.2 4.5 0 8.3-3.2 8.7-7.1.1-.6-.2-1.1-.6-1.5L29 3c-1.8-1.4-4.3-1.4-5.9 0L2.6 19.2c-.4.3-.6.9-.6 1.5.6 4 4.4 7.1 8.9 7.1z"}}},new_custom51:{xmlns:"http://www.w3.org/2000/svg",g:{path:{d:"M18.5 6.5c2 1.4 3.9 4.6 4.7 7.1.2.6.6 1 1.2 1 .6.2 1 .2 1.6.2.9 0 1.6 0 2.3-.3 2-.7 3.8-1.6 5.3-3.1 2.4-2.5 3.3-6 2.4-8.9-2.9-.9-6.4-.1-8.8 2.4-.7.7-1.3 1.5-1.7 2.4-1.3-2-2.8-3.8-4.5-4.9-1.2-.7-2.7-.3-3.4.9-.6 1.1-.1 2.5.9 3.2zM42.7 18.2c-8.1-4.6-9.8 1.6-16.7 1.6s-8.6-6.2-16.7-1.6C1.5 22.7 3.8 37.4 6.9 43c2.8 4.9 7.9 9.9 18.4 5.1.4-.2.9-.2 1.3 0 10.5 4.8 15.7-.3 18.4-5.1 3.2-5.6 5.5-20.3-2.3-24.8z"}}},new_custom52:{xmlns:"http://www.w3.org/2000/svg",g:{path:{d:"M49.9 14.1c.2-2.6 0-5.1-.4-7.6-.3-2.1-1.9-3.7-4-4-2.6-.4-5-.6-7.6-.4-.7 0-1 .9-.6 1.4l11.2 11.2c.6.4 1.4 0 1.4-.6zM31 3.8c-.4-.4-1-.6-1.5-.4-6 1.7-11.8 4.9-16.5 9.7-4.6 4.6-7.8 10.2-9.5 16-.2.6 0 1.2.4 1.6l17.4 17.4c.4.4 1 .6 1.6.4 5.8-1.8 11.4-4.9 16-9.5 4.7-4.7 8-10.4 9.7-16.5.2-.6 0-1.1-.4-1.5L31 3.8zm-6.7 31.4c-1 1-2.5 1-3.4 0l-4.5-4.5c-1-1-1-2.5 0-3.4 1-1 2.5-1 3.4 0l4.5 4.5c1 1 1 2.5 0 3.4zm5.6-5.6c-1 1-2.5 1-3.4 0L22 25.1c-1-1-1-2.5 0-3.4 1-1 2.5-1 3.4 0l4.5 4.5c1 1 1 2.5 0 3.4zm5.6-5.6c-1 1-2.5 1-3.4 0l-4.5-4.5c-1-1-1-2.5 0-3.4 1-1 2.5-1 3.4 0l4.5 4.5c1 1 1 2.5 0 3.4zM2.1 37.4c-.2 2.7-.1 5.4.4 8.2.3 2.1 1.9 3.7 4 4 2.7.4 5.4.6 8.2.4.7-.1 1-.9.6-1.4L3.4 36.8c-.4-.4-1.3-.1-1.3.6z"}}},new_custom53:{xmlns:"http://www.w3.org/2000/svg",g:{path:{d:"M45.4 31.6h-.5c-1.8 0-3.2-1.4-3.2-3.3V17.7c0-9.3-8.2-16.7-17.5-15.6-8 .9-13.9 8-13.9 16.3v9.5c0 2-1.7 3.7-3.6 3.7h-.1c-1.4 0-2.6 1.2-2.6 2.6v1.9c0 1.4 1.2 2.6 2.6 2.6h38.8c1.4 0 2.6-1.2 2.6-2.6v-1.9c0-1.4-1.2-2.6-2.6-2.6zM31.2 43.6H20.8c-.6 0-1.2.5-1 1.1.6 3 3.1 5.3 6.3 5.3s5.7-2.2 6.3-5.3c0-.6-.5-1.1-1.2-1.1z"}}},new_custom54:{xmlns:"http://www.w3.org/2000/svg",g:{path:{d:"M7.8 26.9c5.2-.9 9.8-3 14.7-5.3 1.6-.7 4.6-2.1 6-2.7.5-.2.8-.7.6-1.3-.4-2.3-2.3-4.2-4.7-4.2h-1.6v-3c0-.9-.8-1.6-1.6-1.6V5.6c0-.9-.7-1.6-1.6-1.6h-3.2c-.9 0-1.6.7-1.6 1.6v3.2c-.8 0-1.6.7-1.6 1.6v3h-1.6c-2.6 0-4.8 2.4-4.8 5.1V26c0 .6.5 1 1 .9zM43.6 42.7s5.8-9 6.4-21.6c0-.9-.7-1.7-1.7-1.7-19 .7-27.9 12.2-44.8 12.9-.9 0-1.5.8-1.5 1.6v6c0 2.6 2 4.6 4.5 4.8 8.4.5 26.4 1.7 36.7 3.4 1 .2 2-.8 1.8-1.8-.2-1.3-.6-2.7-1.4-3.6zm-.8-14.3c-1.4 0-2.4-1-2.4-2.4s1-2.4 2.4-2.4 2.4 1 2.4 2.4-1 2.4-2.4 2.4z"}}},new_custom55:{xmlns:"http://www.w3.org/2000/svg",g:{path:[{d:"M12.5 33.3h9.8c.8 0 1.5-.7 1.5-1.5V9.9c0-1.6-1.5-2.9-3-2.9h-8c-1 0-1.7.7-1.7 1.7v23.2c-.1.7.6 1.4 1.4 1.4z"},{d:"M45.5 11.4v23.4c0 1.6-1.4 2.9-3 2.9h-33c-1.7 0-3-1.3-3-2.9V11.4c-2.5 0-4.5 2-4.5 4.4v21.9c0 2.4 2 4.4 4.5 4.4h14.2c.8 0 1.5.7 1.5 1.5s.7 1.5 1.5 1.5h4.5c.8 0 1.5-.7 1.5-1.5s.7-1.5 1.5-1.5h14.2c2.5 0 4.5-2 4.5-4.4V15.8c.1-2.4-1.9-4.4-4.4-4.4z"},{d:"M29.8 33.3h9.5c1 0 1.7-.7 1.7-1.7V8.5c0-.8-.7-1.5-1.5-1.5h-8.2c-1.5 0-3 1.3-3 2.9v21.9c-.1.8.6 1.5 1.5 1.5z"}]}},new_custom56:{xmlns:"http://www.w3.org/2000/svg",g:{path:{d:"M36.2 10.3c-5 5-11.1-1.1-16.7 4.5l-16.1 16c-1.8 1.8-1.8 4.8 0 6.6L9 43l5.6 5.6c1.8 1.8 4.8 1.8 6.6 0l16.2-16.1c5.6-5.6-.6-11.7 4.5-16.7l1.3-1.3c.3-.3.3-.8 0-1.1L38.7 9c-.3-.3-.8-.3-1.1 0l-1.4 1.3zm-3.9 20.5l-5.6 5.6c-.6.6-1.6.6-2.2 0L20 31.9l-4.5-4.5c-.6-.6-.6-1.6 0-2.2l5.6-5.6c.6-.6 1.6-.6 2.2 0l4.5 4.5 4.5 4.5c.7.6.7 1.6 0 2.2zM49.5 5.8l-1.7-1.7-1.7-1.7c-.6-.6-1.6-.6-2.2 0l-2.1 2.1c-.3.3-.3.8 0 1.1l4.4 4.4c.3.3.8.3 1.1 0l2.1-2c.8-.5.8-1.5.1-2.2z"}}},new_custom57:{xmlns:"http://www.w3.org/2000/svg",g:{path:{d:"M28.4 29v20.2c0 .7.7 1 1.2.7 3.9-2.2 15.8-9.1 15.8-9.1 1.5-.9 2.5-2.6 2.5-4.4V18.3c0-.7-.7-1-1.2-.7l-17.5 10c-.4.3-.8.8-.8 1.4zM26.8 23.3l17.6-10c.6-.3.6-1.1 0-1.4-3.9-2.2-15.9-9.2-15.9-9.2-1.5-.9-3.5-.9-5.1 0 0 0-12 6.9-15.9 9.2-.5.3-.5 1.1.1 1.4l17.6 10c.5.3 1.1.3 1.6 0zM22.7 27.5l-17.5-10c-.5-.3-1.2.1-1.2.8v18.1c0 1.8 1 3.5 2.5 4.4 0 0 11.9 6.9 15.8 9.1.6.3 1.2-.1 1.2-.7V29c.1-.6-.3-1.1-.8-1.5z"}}},new_custom58:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M39.5 22.8c-1.4 0-2.5-1.1-2.4-2.6.1-1.3 1.2-2.2 2.6-2.2h6.9c.3 0 .6-.2.7-.4.6-1.1 1.1-2.2 1.5-3.3.2-.6-.2-1.1-.7-1.1H43c-1.3 0-2.5-1-2.6-2.2-.1-1.4 1-2.6 2.4-2.6h6.4c.5 0 .8-.3.8-.8V5.2c0-.9-.7-1.6-1.6-1.6h-8.5c-2.4 0-4.3 1.9-4.3 4.3V8c0 4.5-3 8.5-7.2 9.6V11c1.7-1 2.7-2.8 2.4-4.9-.3-2.1-2.1-3.8-4.2-4-2.9-.3-5.4 1.9-5.4 4.8 0 1.8 1 3.3 2.4 4.2v6.7c-4.2-1.1-7.2-5.1-7.2-9.6V8c0-2.4-1.9-4.3-4.3-4.3H3.6c-.9 0-1.6.7-1.6 1.6v2.4c0 .5.3.8.8.8H9c1.3 0 2.5 1 2.6 2.2.1 1.4-1 2.6-2.4 2.6H4c-.6 0-1 .6-.7 1.1.4 1 .9 2.2 1.5 3.3.2.2.4.4.7.4h6.9c1.3 0 2.5 1 2.6 2.2.1 1.4-1 2.6-2.4 2.6h-1.9c-.7 0-1.1 1-.5 1.4 3.4 2.9 7.8 4.9 13.6 4.9v18.2c0 1.3 1 2.5 2.2 2.6 1.4.1 2.6-1 2.6-2.4V29.2c5.8 0 10.2-2.1 13.6-4.9.6-.5.2-1.4-.5-1.4h-2.2z"}},new_custom59:{xmlns:"http://www.w3.org/2000/svg",g:{path:{d:"M39.7 10.8c.8 0 1.3-.6 1.3-1.4 0-.6-.3-1.1-.9-1.4-1-.6-2.6-3.3-3.2-5-.2-.6-.8-1-1.4-1H16.3c-.6 0-1.3.4-1.4 1-.5 1.6-2.1 4.4-3.1 5-.5.3-.8.8-.8 1.4 0 .8.6 1.4 1.3 1.4h27.4zM11 45.1c0 2.7 2.1 4.9 4.7 4.9h20.5c2.6 0 4.7-2.2 4.7-4.8v-.1c0-.9-.7-1.5-1.5-1.5h-27c-.7 0-1.4.7-1.4 1.5zM41 37.2v-20c0-.9-.7-1.6-1.6-1.6H12.6c-.9 0-1.6.7-1.6 1.6v20c0 .9.7 1.6 1.6 1.6h26.8c.9 0 1.6-.7 1.6-1.6z"}}},new_custom6:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M26 47H5.2c-2.5 0-4-2.7-2.7-4.9L23.2 6.6c1.2-2.1 4.2-2.1 5.5 0l20.8 35.6c1.3 2.2-.3 4.9-2.7 4.9H26z"}},new_custom60:{xmlns:"http://www.w3.org/2000/svg",g:{path:{d:"M50 22.2C48.1 10.8 38.1 2 26 2S3.9 10.8 2 22.2c-.1.8.7 1.3 1.3.8 1.2-1 2.7-1.6 4.5-1.6 2.2 0 4.2 1 5.4 2.6.3.4 1 .4 1.3 0 1.3-1.6 3.2-2.6 5.4-2.6s4.2 1 5.4 2.6c.3.4 1 .4 1.3 0 1.3-1.6 3.2-2.6 5.4-2.6s4.2 1 5.4 2.6c.3.4 1 .4 1.3 0 1.3-1.6 3.2-2.6 5.4-2.6 1.7 0 3.3.6 4.5 1.6.7.5 1.5 0 1.4-.8zM35.6 40.4c-1.4 0-2.4 1-2.4 2.4s-1 2.4-2.4 2.4-2.4-1-2.4-2.4V31.6c0-1.4-1-2.4-2.4-2.4s-2.4 1-2.4 2.4v11.2c0 4 3.2 7.2 7.2 7.2s7.2-3.2 7.2-7.2c0-1.4-1-2.4-2.4-2.4z"}}},new_custom61:{xmlns:"http://www.w3.org/2000/svg",g:{path:{d:"M44.4 2h-3.2c-.9 0-1.6.7-1.6 1.6v3.2c0 .9-.7 1.6-1.6 1.6h-1.6c-.9 0-1.6-.7-1.6-1.6V3.6c0-.9-.6-1.6-1.6-1.6H30c-.9 0-1.6.7-1.6 1.6v3.2c0 .9-.7 1.6-1.6 1.6h-1.6c-.9 0-1.6-.7-1.6-1.6V3.6c0-.9-.7-1.6-1.6-1.6h-3.2c-.9 0-1.6.7-1.6 1.6v3.2c0 .9-.7 1.6-1.6 1.6H14c-.9 0-1.6-.7-1.6-1.6V3.6c0-.9-.7-1.6-1.6-1.6H7.6C6.7 2 6 2.7 6 3.6v8c0 2.6 2.2 4.8 4.8 4.8h30.4c2.6 0 4.8-2.2 4.8-4.8v-8c0-.9-.7-1.6-1.6-1.6zM40.8 22.5c-.1-.8-.8-1.4-1.6-1.4H12.8c-.8 0-1.5.6-1.6 1.4L7.6 48.1c-.2 1 .6 1.8 1.6 1.8h10.3c.9 0 1.7-.7 1.7-1.6v-7.7c0-2.6 2-5 4.6-5 2.7-.1 5 2.1 5 4.8v8c0 .9.8 1.6 1.7 1.6h10.3c1 0 1.8-.9 1.6-1.8l-3.6-25.7z"}}},new_custom62:{xmlns:"http://www.w3.org/2000/svg",g:{path:{d:"M47.6 41.2H4.4c-1.3 0-2.4 1-2.4 2.4C2 44.9 3 46 4.4 46h43.2c1.3 0 2.4-1 2.4-2.4s-1-2.4-2.4-2.4zM5.2 36.4h27.2v-3.2c0-.9.7-1.6 1.6-1.6h8c.9 0 1.6.7 1.6 1.6v3.2h3.2c.9 0 1.6-.7 1.6-1.6V7.6c0-.9-.7-1.6-1.6-1.6H5.2c-.9 0-1.6.7-1.6 1.6v27.2c0 .9.7 1.6 1.6 1.6zm7.2-20.8c0-.9.7-1.6 1.6-1.6h23.2c.9 0 1.6.7 1.6 1.6v1.6c0 .9-.7 1.6-1.6 1.6H14c-.9 0-1.6-.7-1.6-1.6v-1.6zm0 9.6c0-.9.7-1.6 1.6-1.6h15.2c.9 0 1.6.7 1.6 1.6v1.6c0 .9-.7 1.6-1.6 1.6H14c-.9 0-1.6-.7-1.6-1.6v-1.6z"}}},new_custom63:{xmlns:"http://www.w3.org/2000/svg",g:{path:[{d:"M19.6 34h12.8c.9 0 1.6-.7 1.6-1.6V19.6c0-.9-.7-1.6-1.6-1.6H19.6c-.9 0-1.6.7-1.6 1.6v12.8c0 .9.7 1.6 1.6 1.6z"},{d:"M47.6 28.4c1.4 0 2.4-1 2.4-2.4s-1-2.4-2.4-2.4h-4v-4.8h4c1.4 0 2.4-1 2.4-2.4S49 14 47.6 14h-4v-.8c0-2.6-2.2-4.8-4.8-4.8H38v-4C38 3 37 2 35.6 2s-2.4 1-2.4 2.4v4h-4.8v-4C28.4 3 27.4 2 26 2s-2.4 1-2.4 2.4v4h-4.8v-4c0-1.4-1-2.4-2.4-2.4S14 3 14 4.4v4h-.8c-2.6 0-4.8 2.2-4.8 4.8v.8h-4C3 14 2 15 2 16.4s1 2.4 2.4 2.4h4v4.8h-4C3 23.6 2 24.6 2 26s1 2.4 2.4 2.4h4v4.8h-4c-1.4 0-2.4 1-2.4 2.4S3 38 4.4 38h4v.8c0 2.6 2.2 4.8 4.8 4.8h.8v4c0 1.4 1 2.4 2.4 2.4s2.4-1 2.4-2.4v-4h4.8v4c0 1.4 1 2.4 2.4 2.4s2.4-1 2.4-2.4v-4h4.8v4c0 1.4 1 2.4 2.4 2.4s2.4-1 2.4-2.4v-4h.8c2.6 0 4.8-2.2 4.8-4.8V38h4c1.4 0 2.4-1 2.4-2.4s-1-2.4-2.4-2.4h-4v-4.8h4zm-8.8 8c0 1.4-1 2.4-2.4 2.4H15.6c-1.4 0-2.4-1-2.4-2.4V15.6c0-1.4 1-2.4 2.4-2.4h20.8c1.4 0 2.4 1 2.4 2.4v20.8z"}]}},new_custom64:{xmlns:"http://www.w3.org/2000/svg",g:{path:[{d:"M26 2C12.8 2 2 12.8 2 26s10.8 24 24 24 24-10.8 24-24S39.2 2 26 2zm0 41.6c-9.7 0-17.6-7.9-17.6-17.6S16.3 8.4 26 8.4 43.6 16.3 43.6 26 35.7 43.6 26 43.6z"},{d:"M35.3 15.7L22 20.5c-.7.2-1.3.8-1.5 1.5l-4.8 13.3c-.2.6.4 1.3 1 1L30 31.5c.7-.2 1.3-.8 1.5-1.5l4.8-13.3c.3-.6-.4-1.3-1-1zM26 29.2c-1.8 0-3.2-1.4-3.2-3.2s1.4-3.2 3.2-3.2 3.2 1.4 3.2 3.2-1.4 3.2-3.2 3.2z"}]}},new_custom65:{xmlns:"http://www.w3.org/2000/svg",g:{path:{d:"M42.4 38.7H3.5c-.8 0-1.5.7-1.5 1.5v.1C2 42.9 4.1 45 6.7 45h32.6c2.6 0 4.7-2.1 4.7-4.8v-.1c-.1-.7-.8-1.4-1.6-1.4zM40.8 7H3.6c-.7 0-1.4.7-1.4 1.6-.2 2.1-.2 5.9.1 8.2 1 7.4 4.9 13.6 10.2 16.9.2.2.5.2.8.2h16.2c.3 0 .5-.1.8-.2 3-1.9 5.7-4.8 7.4-8.2.9.3 1.9.5 3 .5 5.1 0 9.3-4.3 9.3-9.5S45.9 7 40.8 7zm0 14.2c-.4 0-.8-.1-1.2-.2.8-2.5 1.2-5.2 1.2-8.1v-1.3c2.6 0 4.7 2.1 4.7 4.8s-2.2 4.8-4.7 4.8z"}}},new_custom66:{xmlns:"http://www.w3.org/2000/svg",g:{path:{d:"M48.6 30.3L37 18.6c-1.8-1.8-4.8-1.8-6.6 0L18.6 30.3c-1.8 1.8-1.8 4.8 0 6.6l11.7 11.7c1.8 1.8 4.8 1.8 6.6 0l11.7-11.7c1.9-1.7 1.9-4.8 0-6.6zm-22 5.3c-1.1 1.1-2.9 1.1-3.9 0-1.1-1.1-1.1-2.9 0-3.9 1.1-1.1 2.9-1.1 3.9 0s1 2.8 0 3.9zm9 9.1c-1.1 1.1-2.9 1.1-3.9 0-1.1-1.1-1.1-2.9 0-3.9 1.1-1.1 2.9-1.1 3.9 0 1 1 1 2.8 0 3.9zm0-18.1c-1.1 1.1-2.9 1.1-3.9 0-1.1-1.1-1.1-2.9 0-3.9 1.1-1.1 2.9-1.1 3.9 0 1 1 1 2.8 0 3.9zm9 9c-1.1 1.1-2.9 1.1-3.9 0-1.1-1.1-1.1-2.9 0-3.9 1.1-1.1 2.9-1.1 3.9 0 1.2 1.1 1.2 2.8 0 3.9zM28.4 12.8v-6c0-2.6-2.2-4.8-4.8-4.8H6.8C4.2 2 2 4.2 2 6.8v16.8c0 2.6 2.2 4.8 4.8 4.8h6c.5 0 1-.2 1.3-.6.2-.3.6-.6.9-1L26.8 15c.3-.3.6-.6 1-.9.4-.3.6-.8.6-1.3zM8.8 24.4c-1.5 0-2.8-1.3-2.8-2.8s1.3-2.8 2.8-2.8 2.8 1.3 2.8 2.8-1.3 2.8-2.8 2.8zm6.4-6.4c-1.5 0-2.8-1.3-2.8-2.8s1.3-2.8 2.8-2.8 2.8 1.3 2.8 2.8-1.3 2.8-2.8 2.8zm6.4-6.4c-1.5 0-2.8-1.3-2.8-2.8S20.1 6 21.6 6c1.5 0 2.8 1.3 2.8 2.8s-1.3 2.8-2.8 2.8z"}}},new_custom67:{xmlns:"http://www.w3.org/2000/svg",g:{path:{d:"M29.2 28.4l-1-1.7c-.4-.6-1-1-1.8-1-.2 0-.5.1-.7.2l-2.8 1c-1.1-1-2.3-1.6-3.7-2.1l-.5-2.9c-.2-1-1-1.5-2-1.5h-2c-1 0-1.8.6-2 1.6l-.5 2.8c-1.3.5-2.5 1.2-3.7 2.2l-2.8-1c-.2-.1-.5-.2-.7-.2-.7 0-1.4.4-1.8 1l-1 1.7c-.5.9-.3 1.9.5 2.6L5.1 33c-.2.7-.2 1.4-.2 2.1 0 .6.1 1.4.2 2.2l-2.3 1.9c-.8.6-1 1.8-.5 2.6l1 1.7c.4.6 1 1 1.8 1 .2 0 .5-.1.7-.2l2.8-1c1.1 1 2.3 1.7 3.7 2.1l.5 3c.2 1 1 1.7 2 1.7h2c1 0 1.8-.7 2-1.7l.5-3c1.4-.5 2.7-1.3 3.9-2.2l2.6 1c.2.1.5.2.7.2.7 0 1.4-.4 1.8-1l1-1.6c.5-.9.3-2-.5-2.6l-2.3-1.9c.2-.7.2-1.4.2-2.1 0-.7-.1-1.4-.2-2.2l2.3-1.9c.6-.8.8-1.9.4-2.7zM15.7 40.6c-3 0-5.5-2.4-5.5-5.5s2.4-5.5 5.5-5.5c3 0 5.5 2.4 5.5 5.5s-2.6 5.5-5.5 5.5zM49.4 17.1l-1.8-1.5c.1-.6.2-1.1.2-1.7 0-.6-.1-1.2-.2-1.7l1.8-1.5c.6-.5.8-1.4.4-2.1L49 7.2c-.3-.5-.9-.8-1.4-.8-.2 0-.4.1-.6.1l-2.3.9c-.9-.8-1.9-1.4-3-1.7l-.4-2.4c-.2-.8-.8-1.3-1.6-1.3h-1.6c-.8 0-1.5.5-1.6 1.3l-.4 2.3c-1.1.4-2.1 1-3 1.8l-2.3-1c-.2-.1-.4-.1-.6-.1-.6 0-1.1.3-1.4.8L28 8.4c-.4.7-.2 1.6.4 2.1l1.8 1.5c-.1.6-.2 1.1-.2 1.7 0 .6.1 1.2.2 1.7l-1.8 1.5c-.6.5-.8 1.4-.4 2.1l.8 1.4c.3.5.9.8 1.4.8.2 0 .4 0 .6-.1l2.3-.9c.9.8 1.9 1.4 3 1.7l.4 2.3c.2.8.8 1.4 1.6 1.4h1.6c.8 0 1.5-.6 1.6-1.4l.4-2.4c1.1-.4 2.2-1 3.1-1.8l2.2.9c.2.1.4.1.6.1.6 0 1.1-.3 1.4-.8l.8-1.3c.4-.4.2-1.2-.4-1.8zm-10.5 1.3c-2.4 0-4.4-2-4.4-4.4s2-4.4 4.4-4.4 4.4 2 4.4 4.4-1.9 4.4-4.4 4.4z"}}},new_custom68:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M26 2C12.8 2 2 12.8 2 26s10.8 24 24 24 24-10.8 24-24S39.2 2 26 2zm19 21.6h-6.3c-.2-5.7-1.5-10.6-3.4-14.4 5.3 3 8.9 8.2 9.7 14.4zM23.6 7.8v15.8h-5.5c.4-7.5 2.8-13.4 5.5-15.8zm0 20.6v15.8c-2.7-2.3-5.1-8.2-5.5-15.8h5.5zm4.8 15.8V28.4h5.5c-.4 7.5-2.8 13.4-5.5 15.8zm0-20.6V7.8c2.7 2.3 5.1 8.2 5.5 15.8h-5.5zM16.7 9.2c-1.9 3.8-3.1 8.7-3.4 14.4H7c.8-6.2 4.4-11.4 9.7-14.4zM7 28.4h6.3c.2 5.7 1.5 10.6 3.4 14.4-5.3-3-8.9-8.2-9.7-14.4zm28.3 14.4c1.9-3.8 3.1-8.7 3.4-14.4H45c-.8 6.2-4.4 11.4-9.7 14.4z"}},new_custom69:{xmlns:"http://www.w3.org/2000/svg",g:{path:{d:"M28.1 22.1c-4.6-3.4-9.2-1.8-12.2 1.1-1.1 1-2.9 1.7-4.8 2.2-2.2.7-4.6 1.4-6.2 3.1-4.6 4.5-3.7 9.8 2.5 16l.1.1.1.1c3.7 3.6 7 5.4 10.1 5.4 2.2 0 4.2-.9 6.2-2.7 1.7-1.6 2.5-3.9 3.2-6.1.6-1.8 1.3-3.7 2.3-4.7 1.8-1.8 2.9-3.8 3.1-5.9.2-1.5-.2-3.7-1.9-5.9 0-.2-1-1.5-2.5-2.7zm-9.9 19.3c-.4.4-1 .6-1.6.6-.6 0-1.1-.2-1.5-.6L10.6 37c-.9-.9-.9-2.2 0-3.1.9-.9 2.2-.9 3.1 0l4.4 4.4c.9.9.9 2.2.1 3.1zm3.8-6.5c-2.2 0-4-1.8-4-4s1.8-4 4-4 4 1.8 4 4-1.8 4-4 4zM49.5 6.2l-3.7-3.7c-.6-.6-1.8-.6-2.5 0l-4.1 4.1c-.6.6-.6 1.8 0 2.5l.2.2-8.2 8.3c-.3.3-.3.9 0 1.2.6.6 1.7 1.5 2.3 2.2.3.3.8.3 1.1 0l8.2-8.2.2.2c.6.6 1.8.6 2.5 0l4.1-4.1c.6-.9.6-2-.1-2.7z"}}},new_custom7:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M7.1 50C4.3 50 2 47.7 2 44.9V7.1C2 4.3 4.3 2 7.1 2h37.7C47.7 2 50 4.3 50 7.1v37.7c0 2.8-2.3 5.1-5.1 5.1H7.1z"}},new_custom70:{xmlns:"http://www.w3.org/2000/svg",g:{path:{d:"M24.4 37l-9.2-9.1c-1.9-1.8-5-1.8-6.9 0l-5.8 5.7c-.6.6-.6 1.7 0 2.2L3.6 37l1.1 1.1 9.3 9.1.6.6 1.8 1.7c.6.6 1.7.6 2.3 0l5.8-5.7c1.8-1.8 1.8-4.9-.1-6.8zm-15-3.4l1.2-1.1c.6-.6 1.6-.6 2.2 0l7 6.8c.6.6.6 1.7 0 2.2l-1.2 1.1c-.6.6-1.6.6-2.2 0l-7-6.8c-.7-.6-.7-1.6 0-2.2zM19.4 25.3l7.5 7.3c.2.2.3.2.6.2l3.4-.1c.4 0 .7-.3.7-.7l.1-3c0-.4.3-.7.7-.7l3-.1c.4 0 .7-.3.7-.7l.1-3c0-.4.3-.7.7-.7l3-.1c.4 0 .7-.3.7-.7l.1-3c0-.4.3-.7.7-.7l3-.1c.4 0 .7-.3.7-.7l.1-3c0-.4.3-.6.6-.7l3.3-.5c.6-.1.9-.7.6-1.2L42.8 2.7c-.6-.8-1.7-.9-2.4-.2L19.3 23.3c-.5.5-.5 1.4.1 2z"}}},new_custom71:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M43 10.9C38.3 6.3 32 3.8 25.3 4 12.5 4.4 2 15.2 2 28v7.4c0 2.6 2.2 4.7 4.8 4.7H10v3.8c0 2 1.5 3.8 3.6 4.1 2.4.2 4.4-1.6 4.4-3.9v-14c0-2-1.5-3.8-3.6-4.1-2.4-.2-4.4 1.6-4.4 3.9v5.5H8.4c-.9 0-1.6-.7-1.6-1.6V28c0-10.4 8.4-19 18.6-19.3 5.3-.2 10.2 1.7 13.9 5.3 3.8 3.6 5.8 8.4 5.8 13.5v6.3c0 .9-.7 1.6-1.6 1.6H42v-5.3c0-2-1.5-3.8-3.6-4.1-2.4-.2-4.4 1.6-4.4 3.9v14c0 2 1.5 3.8 3.6 4.1 2.4.2 4.4-1.6 4.4-3.9v-3.9h3.2c2.6 0 4.8-2.1 4.8-4.7V28c0-6.3-2.4-12.5-7-17.1z"}},new_custom72:{xmlns:"http://www.w3.org/2000/svg",g:{path:{d:"M47.6 2H4.4C3 2 2 3 2 4.4s1 2.4 2.4 2.4h19.2v5C15 12.9 8.4 20.2 8.4 29.1v5.5c0 5.8 4.6 10.6 10.6 10.6h14.2c5.8 0 10.5-4.7 10.5-10.6V29c0-8.9-6.6-16.2-15.2-17.4V6.8h19.2c1.4 0 2.4-1 2.4-2.4S49 2 47.6 2zM37.2 29c0 .1 0 0 0 0 0 2.3-1.8 4.2-4.2 4.2H19c-2.3 0-4.1-1.8-4.2-4.2v.1-.1.1c.1-6.2 5-11.1 11-11.1h.3c6.1 0 11 5 11.1 11z"},circle:[{cx:"6.8",cy:"46.8",r:"3.2"},{cx:"45.2",cy:"46.8",r:"3.2"}]}},new_custom73:{xmlns:"http://www.w3.org/2000/svg",g:{path:{d:"M4.8 14h42.4c1 0 1.8-1 1.5-2-1-3.3-2.4-6.3-4.3-9-.6-.8-1.7-.9-2.3-.2-1.9 1.8-4.6 2.8-7.4 2.8-3 0-5.7-1.2-7.7-3.2-.6-.6-1.6-.6-2.2 0-2 2-4.7 3.2-7.7 3.2-2.8 0-5.4-1-7.4-2.8-.6-.6-1.6-.5-2.2.3-1.9 2.6-3.4 5.7-4.3 9-.2.9.6 1.9 1.6 1.9zM50 20.4c0-.9-.7-1.6-1.6-1.6H3.6c-.9 0-1.6.7-1.6 1.6v.3c0 15 10.4 27.4 24 29.3 13.6-1.9 24-14.3 24-29.2v-.4z"}}},new_custom74:{xmlns:"http://www.w3.org/2000/svg",g:{path:{d:"M30.1 44.4h-8.2c-.9 0-1.6.7-1.6 1.6v2.4c0 .9.7 1.6 1.6 1.6h8.2c.9 0 1.6-.7 1.6-1.6V46c0-.9-.7-1.6-1.6-1.6zM26 2C16 2 8 9.5 8 18.8c0 6 3.4 11.3 8.5 14.2 2 1.1 3.3 3 3.7 5.2.2.7.8 1.3 1.6 1.3h8.5c.8 0 1.5-.6 1.6-1.3.4-2.2 1.7-4.1 3.7-5.2 5-3 8.3-8.2 8.3-14.2C44 9.5 36 2 26 2zm-5.6 7.5c-1.6 3-2.5 6.6-2.6 9.5 0 3 .6 5.8 1.6 8.6.3.7-.4 1.4-1.1 1-7.5-3.8-7-17.6 1.1-20.3.7-.1 1.4.6 1 1.2zm6.3 19.1c-.2.6-1.2.6-1.5 0-1.3-3.1-1.6-6.8-1.7-10.2.1-3.4.4-7 1.7-10.2.2-.6 1.2-.6 1.5 0 1.3 3.1 1.6 6.8 1.7 10.2 0 3.4-.4 7-1.7 10.2zm6.7.1c-.7.3-1.4-.3-1.1-1 1.1-2.9 1.6-6.1 1.7-9.1-.1-2.6-1-6.1-2.6-9-.3-.6.3-1.4 1-1.1 8.1 2.6 8.6 16.5 1 20.2z"}}},new_custom75:{xmlns:"http://www.w3.org/2000/svg",g:{path:{d:"M26 2c-1.4 0-2.4 1-2.4 2.4v43.2c0 1.4 1 2.4 2.4 2.4 13.2 0 24-10.8 24-24S39.2 2 26 2zm19 21.6h-6.3c-.2-5.7-1.5-10.6-3.4-14.4 5.3 3 8.9 8.2 9.7 14.4zM28.4 44.2V28.4h5.5c-.4 7.5-2.8 13.4-5.5 15.8zm0-20.6V7.8c2.7 2.3 5.1 8.2 5.5 15.8h-5.5zm6.9 19.2c1.9-3.8 3.1-8.7 3.4-14.4H45c-.8 6.2-4.4 11.4-9.7 14.4zM12.8 17.9c.6.5 1.6.4 2.2-.2l4.4-5c.6-.6.6-1.6-.1-2.2l-4.4-4.4c-.6-.6-1.4-.6-2-.2l-.9.6C6 10.8 2 17.9 2 26s4 15.2 10 19.5l.9.6c.6.4 1.4.3 2-.2l4.4-4.4c.6-.6.6-1.6.1-2.2l-4.4-5c-.6-.6-1.5-.7-2.2-.2l-1.7 1.3c-1.8-2.7-2.7-5.9-2.7-9.4s1-6.6 2.7-9.4l1.7 1.3z"}}},new_custom76:{xmlns:"http://www.w3.org/2000/svg",g:{path:[{d:"M25.9 30.4c-.2-.6-.9-1.1-1.6-1h-.7c-9 0-16.3-7.2-16.3-16.1v-.4c0-.8-1.1-1.1-1.5-.5-.6.8-1 1.8-1.3 2.8-1.4 4.6.4 9.6 4.3 12.4 1.8 1.3 3.7 1.9 5.6 2.1l.6 1.5c.1.2.2.4.4.5l2.4 1c.4.2.6.6.4 1l-.8 2.3c-.2.4.1.8.4 1l1.3.6c.4.2.6.6.4 1l-.7 2.5c-.1.4.1.8.4 1l1.9.8c.4.2.6.6.4 1l-.7 2.5c-.1.4.1.8.5 1l5.5 2.5c.4.2.9 0 1.1-.4l2.4-5.4c.2-.4.2-.8.1-1.2l-4.5-12.5z"},{d:"M47.5 29.6l-13-13.4c.6-2 .6-4.2-.2-6.5-1.5-4.3-5.5-7.4-10.2-7.7-7-.3-12.7 5.6-12 12.6.6 4.8 4.2 8.8 9 9.7 2.1.4 4.2.2 6-.4l1.1 1.2c.2.2.3.2.6.2h2.8c.5 0 .8.3.8.8l.2 2.5c0 .4.4.7.8.7H35c.5 0 .8.3.8.8l.4 2.6c.1.4.4.6.8.6h2c.5 0 .8.3.8.8l.4 2.6c.1.4.4.6.8.6h6.1c.5 0 .8-.3.8-.8v-5.9c.1-.4-.1-.8-.4-1zm-25.6-14c-2.3 0-4.1-1.8-4.1-4s1.8-4 4.1-4 4.1 1.8 4.1 4-1.8 4-4.1 4z"}]}},new_custom77:{xmlns:"http://www.w3.org/2000/svg",g:{path:{d:"M11.5 19.6h3.1c.5 0 .8-.3.8-.8v-1.2c0-6.1 4.5-10.8 10.2-10.8s10.2 4.7 10.2 10.8v1.2c0 .5.3.8.8.8h3.1c.5 0 .8-.3.8-.8v-1.2C40.5 8.9 34 2 25.6 2S10.7 8.9 10.7 17.6v1.2c0 .5.3.8.8.8zM41.3 24.4H10.7c-2.6 0-4.7 2.2-4.7 4.8v16c0 2.6 2.1 4.8 4.7 4.8h30.6c2.6 0 4.7-2.2 4.7-4.8v-16c0-2.6-2.1-4.8-4.7-4.8zM29.8 37.3c-.7 1.1-1.1 2.4-.8 3.7l.5 2.4c.2.9-.5 1.8-1.4 1.8h-5c-.9 0-1.6-1-1.4-1.8l.5-2.5c.3-1.3-.1-2.6-.8-3.6-.7-1-1-2.3-.8-3.6.4-1.9 2-3.4 3.9-3.8 3.2-.6 6 1.8 6 4.7 0 1-.3 1.9-.7 2.7z"}}},new_custom78:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M48.6 9.5L34.2 2.3c-.6-.3-1.4-.3-2.2 0L18.8 8.9 5.4 2.3c-.7-.4-1.6-.4-2.3 0C2.4 2.8 2 3.6 2 4.4v36c0 .9.5 1.8 1.4 2.2l14.4 7.2c.6.3 1.4.3 2.2 0l13.3-6.6 13.4 6.6c.3.2.7.2 1 .2.4 0 .9-.2 1.3-.3.7-.5 1.1-1.3 1.1-2.1v-36c-.1-.9-.6-1.7-1.5-2.1zm-3.4 4.6v19c0 1.1-1.1 1.9-2.2 1.5-3.7-1.4-.8-7.6-3.4-11-2.5-3.1-5.8.1-8.8-4.8-3-4.7 1-8.1 4.6-9.9.5-.2 1-.2 1.4 0l7.4 3.8c.7.2 1 .8 1 1.4zM24.8 41.9c-.6.3-1.3.2-1.8-.2-1-.9-1.8-2.3-1.8-3.7 0-2.4-4-1.6-4-6.4 0-3.8-4.7-5-8.6-4.6-1 .1-1.8-.6-1.8-1.6V10.9c0-1.2 1.3-2 2.3-1.4l8.6 4.3c.1 0 .2.1.2.1l.3.2c3.6 2.1 2.9 3.8 1.4 6.4-1.7 2.9-2.4 0-4.8-.8s-4.8.8-4 2.4 3.2 0 4.8 1.6c1.6 1.6 1.6 4 6.4 2.4 4.8-1.6 5.6-.8 7.2.8 1.6 1.6 2.4 4.8 0 7.2-1.4 1.4-2 4.3-2.6 6.4-.2.4-.4.8-.8 1l-1 .4z"}},new_custom79:{xmlns:"http://www.w3.org/2000/svg",g:{path:[{d:"M17.8 19.3c-2.9 0-5.2 2.3-5.2 5.2s2.3 5.2 5.2 5.2 5.2-2.3 5.2-5.2-2.3-5.2-5.2-5.2z"},{d:"M47.8 35.6H33.5v-5.9H35c.8 0 1.5-.7 1.5-1.5v-4.4c0-.8-.7-1.5-1.5-1.5h-1.7C32.1 14.9 25.8 9.2 18 9 9.1 8.9 1.9 16 2 24.7 2.2 33.3 9.4 40 18.1 40h27.4v1.5c0 .8.7 1.5 1.5 1.5h1.5c.8 0 1.5-.7 1.5-1.5v-3.7c0-1.2-1-2.2-2.2-2.2zm-30-1.5c-5.4 0-9.7-4.3-9.7-9.6s4.3-9.6 9.7-9.6 9.7 4.3 9.7 9.6-4.3 9.6-9.7 9.6z"}]}},new_custom8:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M23.7 3L4.8 23.8c-1.1 1.2-1.1 3.1 0 4.3L23.7 49c1.3 1.4 3.4 1.4 4.6 0l18.9-20.8c1.1-1.2 1.1-3.1 0-4.3L28.3 3c-1.2-1.3-3.4-1.3-4.6 0z"}},new_custom80:{xmlns:"http://www.w3.org/2000/svg",g:{path:[{d:"M9.7 33.7c-4.3 0-7.7 3.4-7.7 7.7S5.5 49 9.7 49s7.7-3.4 7.7-7.7-3.4-7.6-7.7-7.6zm0 10.7c-1.7 0-3.1-1.4-3.1-3.1 0-1.7 1.4-3.1 3.1-3.1s3.1 1.4 3.1 3.1c0 1.7-1.4 3.1-3.1 3.1zM42.3 33.7c-4.3 0-7.7 3.4-7.7 7.7S38 49 42.3 49s7.7-3.4 7.7-7.7-3.5-7.6-7.7-7.6zm0 10.7c-1.7 0-3.1-1.4-3.1-3.1 0-1.7 1.4-3.1 3.1-3.1s3.1 1.4 3.1 3.1c0 1.7-1.4 3.1-3.1 3.1z"},{d:"M41.8 29.1c1.7-.1 3.3.2 4.9.8.8.3 1.6-.1 2-.8 3.9-7.4-2.4-10.9-6.4-12.9-1.1-.5-2.3.2-2.3 1.4V22c0 .9-.6 1.8-1.5 1.7-5.7-.9-10.8-6.9-17-6.9s-7 6.1-7 6.1c-4.3 0-8.6-.3-10.5-.8-1.1-.1-2 .6-2 1.6 0 0 0 5.4 7.7 5.4C16 29.1 21.3 33.7 22 40c.2 1.7 0 3.4-.5 4.8-.2.5.2 1.1.9 1.1h7.1c.6 0 1-.5.9-1.1-.5-1.5-.6-3-.5-4.6.6-6 5.7-10.9 11.9-11.1zM2 23.7zM22.4 11.8c.1.6.5 1.1 1.1 1.3l8.2 2.8c.8.2 1.5-.1 1.9-.8l.7-1.3c.3-.5-.1-1.1-.6-1.2-2.4-.2-7.4-1.1-6-3.8 1.3-2.3 4-1.7 5.8-.9.7.3 1.4-.5 1.1-1.1-1.2-2.5-3.9-4-6.7-3.7-3.6.4-6.2 3.9-5.7 7.5l.2 1.2z"}]}},new_custom81:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M47.5 2c-.8 0-3.1.1-3.9.1-12.3.6-26.5 3.7-27.2 3.9-1 .3-1.6 1.3-1.6 2.2v26.2c-.8-.3-2.1-.5-3.2-.5-5.3 0-9.6 3.6-9.6 8s4.3 8 9.6 8 9.6-3.6 9.6-8V25.6c0-.7.5-1.4 1.2-1.5 3.9-1 9.4-2 19.5-2.6 1-.1 1.7.6 1.7 1.6v8.3c-.8-.3-2.1-.5-3.2-.5-5.3 0-9.6 3.6-9.6 8s4.3 8 9.6 8 9.6-3.6 9.6-8V4.4C50 3 48.9 1.9 47.5 2zm-5.4 12.7c-9.8.6-14.7 1.5-19 2.5-1 .2-1.9-.6-1.9-1.6v-2.5c0-.7.5-1.4 1.3-1.6 4.2-1 9.2-2 19.4-2.6 1-.1 1.7.6 1.7 1.6V13c0 1-.6 1.7-1.5 1.7z"}},new_custom82:{xmlns:"http://www.w3.org/2000/svg",g:{path:{d:"M48.5 21.5H32.7c-.8 0-1.5.7-1.5 1.5v.7c0 1.2-1 2.2-2.3 2.2-1.2 0-2.3-1-2.3-2.2V23c0-.8-.7-1.5-1.5-1.5h-3.8.1c-4.4.2-8.3 2.8-10.4 6.4-.8-.3-1.6-.4-2.4-.4-3.8 0-6.8 3-6.8 6.7S5 41 8.8 41c.8 0 1.7-.1 2.4-.4 2.1 3.7 6 6.2 10.4 6.4 7.3.4 13.4-5.5 13.4-12.8 0-.4 0-.9-.1-1.3-.1-.7.5-1.5 1.2-1.6l12.7-2.8c.7-.1 1.2-.7 1.2-1.5v-4c0-.8-.7-1.5-1.5-1.5zm-39.8 15c-1.3 0-2.3-1-2.3-2.2s1-2.2 2.3-2.2c.3 0 .7.1.9.2-.2.9-.2 1.9-.2 2.8 0 .5.1.8.2 1.2-.3.1-.6.2-.9.2zM29 16.2c1.3 0 2.3-1 2.3-2.2V7.2C31.2 6 30.2 5 29 5c-1.3 0-2.3 1-2.3 2.2V14c0 1.3 1 2.2 2.3 2.2zM18.2 17c.5.5 1.1.7 1.7.7.5 0 1.1-.1 1.5-.5 1-.8 1.1-2.2.2-3.1l-4.5-5.2c-.8-1-2.3-1-3.2-.2-1 .8-1.1 2.2-.2 3.1l4.5 5.2zM38 17.7c.6 0 1.3-.3 1.7-.7l4.5-5.2c.8-1 .7-2.4-.2-3.1-1-.8-2.4-.7-3.2.2l-4.5 5.2c-.8 1-.7 2.4.2 3.1.4.4 1 .5 1.5.5z"}}},new_custom83:{xmlns:"http://www.w3.org/2000/svg",g:{path:{d:"M45.7 17.4c.3.3.8.3 1.1 0l1.1-1.1c2.7-2.7 2.8-6.9.2-9.5 0 0-3.4-3.5-3.5-3.5-2.7-2.2-6.5-1.2-8.6 1l-1.1 1.1c-.3.3-.3.8 0 1.1l10.8 10.9zM31.3 9.8c-.3-.3-.8-.3-1.1 0l-22 21.9C7 32.9 6.1 34.3 5.6 36L2.1 46.8c-.2.6-.2 1.4.2 2 .5.8 1.3 1.2 2.1 1.2.2 0 .5 0 .7-.1 0 0 7.4-2.3 11-3.4 1.6-.5 3-1.4 4.2-2.6L42.2 22c.3-.3.3-.8 0-1.1L31.3 9.8zM14.6 41.9c-1.7.6-4.3 1.4-6.6 2.1l2.1-6.6c.2-.9.7-1.6 1.4-2.2l5.4 5.4c-.7.6-1.5 1.1-2.3 1.3z"}}},new_custom84:{xmlns:"http://www.w3.org/2000/svg",g:{path:{d:"M45.6 37.2H6.4c-1.3 0-2.4 1-2.4 2.4S5 42 6.4 42h3.1l1.3 6.8c.2.7.8 1.2 1.5 1.2h25.8c.7 0 1.3-.5 1.5-1.2l1.3-6.8h4.7c1.3 0 2.4-1 2.4-2.4s-1-2.4-2.4-2.4zM12.6 32.4h11v-4.5c-.9-.6-1.6-1.6-1.6-2.7 0-1.8 1.4-3.2 3.1-3.2 1.7 0 3.1 1.4 3.1 3.2 0 1.2-.6 2.2-1.6 2.7v4.5h11c.9 0 1.6-.7 1.6-1.6v-2.4c0-4.9-4.6-6.6-8.2-8.1-2.4-1-2.8-2-2.8-3s.7-2 1.5-2.7c1.4-1.3 2.3-3.1 2.3-5.3 0-3.9-2.5-7.4-6.9-7.4s-6.9 3.4-6.9 7.4c0 2.2.8 3.9 2.3 5.3.8.7 1.5 1.7 1.5 2.7 0 1-.4 1.9-2.8 3-3.6 1.5-8.2 3.4-8.2 8.1v2.4c.1.9.8 1.6 1.6 1.6z"}}},new_custom85:{xmlns:"http://www.w3.org/2000/svg",g:{path:[{d:"M48.4 5.2h-40V3.6c0-.9-.7-1.6-1.6-1.6H3.6C2.7 2 2 2.7 2 3.6v44.8c0 .9.7 1.6 1.6 1.6h3.2c.9 0 1.6-.7 1.6-1.6V11.6h40c.9 0 1.6-.7 1.6-1.6V6.8c0-.9-.7-1.6-1.6-1.6z"},{d:"M45.2 16.4H18c-2.6 0-4.8 2.2-4.8 4.8v17.6c0 2.6 2.2 4.8 4.8 4.8h27.2c2.6 0 4.8-2.2 4.8-4.8V21.2c0-2.6-2.2-4.8-4.8-4.8zM40.8 30h-2v8c0 .5-.3.8-.8.8h-3.2c-.5 0-.8-.3-.8-.8v-4.8c0-.5-.3-.8-.8-.8H30c-.5 0-.8.3-.8.8V38c0 .5-.3.8-.8.8h-3.2c-.5 0-.8-.3-.8-.8v-8h-2c-.4 0-.6-.5-.2-.7l9-8.7c.3-.2.7-.2 1 0l9 8.7c.2.2 0 .7-.4.7z"}]}},new_custom86:{xmlns:"http://www.w3.org/2000/svg",g:{path:[{d:"M16.4 10h3.2c.5 0 .8-.3.8-.8V6.8h11.2v2.4c0 .5.3.8.8.8h3.2c.5 0 .8-.3.8-.8V6.8c0-2.6-2.2-4.8-4.8-4.8H20.4c-2.6 0-4.8 2.2-4.8 4.8v2.4c0 .5.3.8.8.8zM45.2 14.8H6.8C4.2 14.8 2 17 2 19.6v25.6C2 47.8 4.2 50 6.8 50h38.4c2.6 0 4.8-2.2 4.8-4.8V19.6c0-2.6-2.2-4.8-4.8-4.8zM26 43.6c-6.2 0-11.2-5-11.2-11.2s5-11.2 11.2-11.2 11.2 5 11.2 11.2-5 11.2-11.2 11.2z"},{d:"M30.8 30h-2.4v-2.4c0-.9-.7-1.6-1.6-1.6h-1.6c-.9 0-1.6.7-1.6 1.6V30h-2.4c-.9 0-1.6.7-1.6 1.6v1.6c0 .9.7 1.6 1.6 1.6h2.4v2.4c0 .9.7 1.6 1.6 1.6h1.6c.9 0 1.6-.7 1.6-1.6v-2.4h2.4c.9 0 1.6-.7 1.6-1.6v-1.6c0-.9-.7-1.6-1.6-1.6z"}]}},new_custom87:{xmlns:"http://www.w3.org/2000/svg",g:{path:[{d:"M45.6 2H6.4C5 2 4 3 4 4.4v38.4c0 1.4 1 2.4 2.4 2.4h.8v2.4c0 1.4 1 2.4 2.4 2.4h1.6c1.3 0 2.4-1 2.4-2.4v-2.4h25.1v2.4c0 1.4 1 2.4 2.4 2.4h1.6c1.3 0 2.4-1 2.4-2.4v-2.4h.8c1.3 0 2.4-1 2.4-2.4V4.4C48 3 47 2 45.6 2zM11.1 40.4c-1.3 0-2.4-1-2.4-2.4V9.2c0-1.4 1-2.4 2.4-2.4H41c1.3 0 2.4 1 2.4 2.4V38c0 1.4-1 2.4-2.4 2.4H11.1z"},{d:"M37 11.6H15c-.9 0-1.6.7-1.6 1.6V34c0 .9.7 1.6 1.6 1.6h22c.9 0 1.6-.7 1.6-1.6V13.2c0-.9-.7-1.6-1.6-1.6zM33.3 26h-6.5c-.9 1.6-2.7 3.2-4.9 3.2-3 0-5.3-2.6-5.3-5.6S19 18 21.9 18c2.2 0 4.1 1.6 4.9 3.2h6.4c1.2 0 2.1 1.2 2.1 2.4.1 1.2-.8 2.4-2 2.4z"}]}},new_custom88:{xmlns:"http://www.w3.org/2000/svg",g:{path:{d:"M48.5 42h-45c-.8 0-1.5.6-1.5 1.4v.1c0 3.6 4.5 6.5 8 6.5h32c3.5 0 8-2.9 8-6.5v-.1c0-.8-.7-1.4-1.5-1.4zM4.4 37.2h14.4c.9 0 1.6-.9 1.6-1.8V7.9c0-.4-.6-.6-.7-.2l-16 28.2c-.3.6.1 1.3.7 1.3zM26.8 37.2h20c1 0 1.7-.9 1.6-1.8-.7-5.8-1.7-23.7-22.1-33.3-.5-.2-1.1.1-1.1.7v32.6c0 .9.7 1.8 1.6 1.8z"}}},new_custom89:{xmlns:"http://www.w3.org/2000/svg",g:{path:{d:"M32.3 20.7c-.3-.4-1-.3-1.2.2-1 1.4-1.9 3.4-1.9 5.9v8.8c0 1.3-1 2.4-2.4 2.4-1.3 0-2.4-1-2.4-2.4v-2.5V8.3c0-6.1-5.4-7.1-9.3-5.6-1 .3-2 1-2.7 1.8-.5.6-1 1-1.8 1.3-1.4.3-3.9-1-5.2-1.8-.7-.4-1.7-.2-2.1.4l-1 1.4c-.6.7-.3 1.8.4 2.3 1.5 1 3.9 2.5 5.8 2.8 2.8.5 5.4-.4 7.4-2.3l-.1.1c.6-.5 1.5-1.3 2.2-.4 1.6 2.4-4.8 12.9-4.8 28.1v1.3c0 6.5 6.6 12.1 13 12.4 6.9.3 12.6-5.2 12.6-12 0-3.4 1.3-5.7 2.6-7 .3-.3.3-.8 0-1.1l-9.1-9.3zM47.6 28.3c-.6 0-1.2-.2-1.7-.7L33.1 14.9c-1-1-1-2.5 0-3.4 1-1 2.5-1 3.4 0l12.8 12.8c1 1 1 2.5 0 3.4-.5.4-1.1.6-1.7.6z"}}},new_custom9:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M49.5 17.3C47.2 7.8 37.2 2 26.2 2 12.8 2 2 12.7 2 26s10.8 24 24.2 24c18.6 0 17.1-9.4 11.2-13.1-3.5-2.2-5.4-7.3-1.9-10.9 6.5-6.7 17 4 14-8.7zM13 34c-2.8 0-5-2.2-5-5s2.2-5 5-5 5 2.2 5 5-2.2 5-5 5zm1-19c0-2.8 2.2-5 5-5s5 2.2 5 5-2.2 5-5 5-5-2.2-5-5zm11 29c-2.8 0-5-2.2-5-5s2.2-5 5-5 5 2.2 5 5-2.2 5-5 5zm9-26c-2.8 0-5-2.2-5-5s2.2-5 5-5 5 2.2 5 5-2.2 5-5 5z"}},new_custom90:{xmlns:"http://www.w3.org/2000/svg",g:{path:[{d:"M47.9 6.9L28.4 9.7v27.5c0 .5-.3.8-.8.8h-3.2c-.5 0-.8-.3-.8-.8V10.5L4.8 13.3h-.3c-1.2 0-2.2-.9-2.4-2.1-.2-1.3.7-2.6 1.9-2.7l14.9-2.2c1.4-2.5 4-4.2 7-4.2 2.2 0 4.2.9 5.6 2.3l15.7-2.2c1.3-.2 2.6.7 2.7 2 .2 1.2-.6 2.4-2 2.7z"},{d:"M19.1 36.3c.6-.7.7-1.6.3-2.5L13 18.7c-.3-.9-1.2-1.4-2.2-1.4s-1.8.5-2.2 1.4L2.2 33.9c-.3.7-.2 1.5.2 2.2.2.2 3.3 5 8.3 5 2.9 0 5.8-1.6 8.4-4.8zm-8.3-10.5l3.4 8.2H7.4l3.4-8.2zM43.4 13.9c-.4-.9-1.3-1.4-2.2-1.4-1 0-1.8.6-2.2 1.4l-6.4 15.2c-.3.7-.2 1.5.2 2.2.2.2 3.3 5 8.3 5 3 0 5.8-1.6 8.4-4.8.6-.7.7-1.6.3-2.5l-6.4-15.1zM41.2 21l3.4 8.2h-6.9l3.5-8.2zM26 42.8c-4.5 0-9 1.6-12.2 4.3-.3.3-.6.7-.6 1.2v.1c0 .9.7 1.6 1.6 1.6h22.4c.9 0 1.6-.7 1.6-1.6v-.1c0-.5-.2-.9-.6-1.2-3.2-2.7-7.7-4.3-12.2-4.3z"}]}},new_custom91:{xmlns:"http://www.w3.org/2000/svg",g:{path:[{d:"M48.3 12.1c-2.4-.7-4.5-2.4-5.9-4.6-1-1.7-1.1-5.5-3.7-5.5H13.3c-2.6 0-2.6 3.8-3.7 5.5-1.7 2.6-3.8 3.3-6.4 4.8-2.6 1.5-.2 7.9.4 10.2 2.5 8.9 7.2 17.1 14.6 23 2.1 1.7 4.3 3.1 6.7 4.3 2.2 1.1 5.8-2 7.4-3.2 4.2-3 7.6-6.7 10.3-11 2.3-3.7 4.1-7.7 5.4-11.8.5-1.7 1-3.4 1.3-5.1.3-1.4 1-3.7.6-5.1-.2-.7-.9-1.3-1.6-1.5-3.7-1.1 1.1.3 0 0zm-3.5 5.6c-2.2 10.7-7.9 20.7-17.5 26.6L26 45l-1.3-.8c-11.5-7-15.9-18.3-17.5-26.6L7 16l1.4-.9c2.5-1.5 4.8-4.2 6.2-7l.6-1.4h21.6l.4 1c1.4 3 3.8 5.9 6.8 7.6l1 .6v.1l-.2 1.7z"},{d:"M25.2 11.6c-1.8 0-6.3 0-7.2.8-1.5 1.4-2.4 3.4-4 4.7-1.7 1.4-.9 2.9-.3 4.8 1.1 3.4 2.6 6.6 4.7 9.6 1 1.5 2.2 3 3.6 4.2.4.4 4.1 4.1 4.1 1.8V13.2c-.1-.9-.1-1.6-.9-1.6z"}]}},new_custom92:{xmlns:"http://www.w3.org/2000/svg",g:{path:[{d:"M45 31.1l-18.2-8.3c-.5-.2-1-.2-1.4 0L7 31.1c-1 .5-1.4 1.7-.7 2.6 1.9 2.7 3.1 6.2 3.6 7.8.2.6.7 1 1.3 1.2 6.3 1.5 11.5 5.1 13.7 6.8.6.5 1.5.5 2.2 0 2.2-1.7 7.4-5.3 13.7-6.8.6-.2 1.1-.6 1.3-1.2.5-1.7 1.7-5.2 3.6-7.8.6-.8.3-2.1-.7-2.6zm-23.8 4.5c-1.4 0-2.4-1.4-2.4-3.2 0-1.8 1-3.2 2.4-3.2s2.4 1.4 2.4 3.2c0 1.8-1 3.2-2.4 3.2zm9.6 0c-1.4 0-2.4-1.4-2.4-3.2 0-1.8 1-3.2 2.4-3.2s2.4 1.4 2.4 3.2c0 1.8-1 3.2-2.4 3.2z"},{d:"M13.5 22.9l9.8-4.5c1.2-.6 2.5-.7 3.8-.5.6.1 1.1.3 1.7.6l9.7 4.5c.6.2 1.1-.2 1.1-.7v-3.6c0-.4-.2-.8-.5-1.1-.6-.7-1.9-1.9-4.3-1.9V11c0-.6-.3-1.1-.8-1.4-.9-.5-2.4-1.2-4.8-1.6V3.6c0-.9-.7-1.6-1.6-1.6h-3.2c-.9 0-1.6.7-1.6 1.6v4.3c-2.4.4-3.9 1.1-4.8 1.6-.5.2-.8.8-.8 1.4v4.7c-2.4 0-3.7 1.2-4.3 1.8-.3.3-.5.7-.5 1.1v3.6c0 .6.6 1 1.1.8z"}]}},new_custom93:{xmlns:"http://www.w3.org/2000/svg",g:{path:{d:"M20.1 26H44c.7 0 1.4-.5 1.5-1.2l4.4-14.9c.3-1-.5-2-1.5-2H11.5l-.6-2.2C10.5 4.7 9.5 4 8.5 4H4.6C3.3 4 2.1 4.9 2 6.2c-.1 1.3 1.1 2.5 2.4 2.5h2.3l7.6 25c.3 1 1.2 1.7 2.3 1.7h28.2c1.3 0 2.5-.9 2.6-2.2.1-1.3-1.1-2.5-2.4-2.5H20.2c-1.1 0-2-.7-2.3-1.6V29c-.5-1.5.7-3 2.2-3z"},ellipse:[{cx:"20.6",cy:"44.1",rx:"4",ry:"3.9"},{cx:"40.1",cy:"44.1",rx:"4",ry:"3.9"}]}},new_custom94:{xmlns:"http://www.w3.org/2000/svg",g:{path:[{d:"M30.8 16.4v-12c0-1.4-1-2.4-2.4-2.4h-3.2c-1.4 0-2.4 1-2.4 2.4s1 2.4 2.4 2.4h.8v9.6c0 5.3-4.3 9.6-9.6 9.6s-9.6-4.3-9.6-9.6V6.8h.8c1.4 0 2.4-1 2.4-2.4S9 2 7.6 2H4.4C3 2 2 3 2 4.4v12c0 7.9 6.5 14.4 14.4 14.4s14.4-6.5 14.4-14.4z"},{d:"M50 26c0-4-3.2-7.2-7.2-7.2S35.6 22 35.6 26c0 3.1 2 5.8 4.8 6.8v1.8c0 5.8-4.8 10.6-10.6 10.6h-.2c-5 0-9.3-3.6-10.4-8.3-.2-.7-.8-1.3-1.6-1.3H16c-1 0-1.8 1-1.6 1.9C15.7 44.6 22 50 29.4 50h.2c8.6 0 15.5-7 15.5-15.4v-1.8c2.9-1 4.9-3.7 4.9-6.8zm-7.2 2.4c-1.4 0-2.4-1-2.4-2.4s1-2.4 2.4-2.4 2.4 1 2.4 2.4-1 2.4-2.4 2.4z"}]}},new_custom95:{xmlns:"http://www.w3.org/2000/svg",g:{path:[{d:"M28.4 10.2V6.8h.8c1.3 0 2.4-1 2.4-2.4 0-1.3-1-2.4-2.4-2.4h-6.4c-1.3 0-2.4 1-2.4 2.4 0 1.3 1 2.4 2.4 2.4h.8v3.4C13.7 11.4 6 19.8 6 30c0 11 9 20 20 20s20-9 20-20c0-10.2-7.7-18.6-17.6-19.8zm-2.4 35c-8.4 0-15.2-6.8-15.2-15.2S17.6 14.8 26 14.8 41.2 21.6 41.2 30 34.4 45.2 26 45.2z"},{d:"M31.3 21.8l-3.7 3.7c-.5-.2-1-.3-1.6-.3-2.6 0-4.8 2.2-4.8 4.8s2.2 4.8 4.8 4.8 4.8-2.2 4.8-4.8c0-.6-.1-1.1-.3-1.6l3.7-3.7c.8-.8.8-2.1 0-2.9-.8-.8-2.1-.8-2.9 0z"}]}},new_custom96:{xmlns:"http://www.w3.org/2000/svg",g:{path:{d:"M49.5 9l-4.2-3.1c-.6-.4-1.2-.6-1.9-.6H29.2V3.6c0-.9-.7-1.6-1.6-1.6h-3.2c-.9 0-1.6.7-1.6 1.6v1.6h-16c-.9 0-1.6.7-1.6 1.6v6.4c0 .9.7 1.6 1.6 1.6H43.4c.7 0 1.4-.2 1.9-.6l4.2-3.1c.7-.6.7-1.6 0-2.1zM45.2 22.8h-16v-2.4c0-.5-.3-.8-.8-.8h-4.8c-.5 0-.8.3-.8.8v2.4H8.6c-.7 0-1.4.2-1.9.6l-4.2 3.1c-.7.5-.7 1.5 0 2.1l4.2 3.1c.6.4 1.2.6 1.9.6h36.6c.9 0 1.6-.7 1.6-1.6v-6.4c0-.8-.7-1.5-1.6-1.5zM29.2 43.3V38c0-.5-.3-.8-.8-.8h-4.8c-.5 0-.8.3-.8.8v5.3c-3.2.9-5 2.8-5.5 5.2-.2.7.4 1.5 1.2 1.5h15.1c.8 0 1.4-.7 1.2-1.5-.6-2.4-2.4-4.3-5.6-5.2z"}}},new_custom97:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M34.2 29.3v-19C34.2 5.6 30.6 2 26 2h-.1c-4.6 0-8.2 3.7-8.2 8.3v19C15.3 31.6 14 34.7 14 38c0 6.6 5.4 12 12 12s12-5.4 12-12c0-3.4-1.3-6.4-3.8-8.7zM32.3 38H19.7c-.7 0-1.2-.7-1.1-1.4.3-1.8 1.3-3.4 2.7-4.5.5-.5.9-1.1.9-1.8v-20c0-2.2 1.6-3.8 3.7-3.8h.1c2.1 0 3.7 1.7 3.7 3.8v.7h-2.2c-1.3 0-2.2 1-2.2 2.2s1 2.2 2.2 2.2h2.2v3h-2.2c-1.3 0-2.2 1-2.2 2.2s1 2.2 2.2 2.2h2.2v3h-2.2c-1.3 0-2.2 1-2.2 2.2s1 2.2 2.2 2.2h2.2c.1.7.4 1.2.9 1.7 1.4 1.1 2.4 2.8 2.7 4.5.2.9-.3 1.6-1 1.6z"}},new_custom98:{xmlns:"http://www.w3.org/2000/svg",g:{path:[{d:"M49.6 22.1l-5.9-5.9c-.3-.3-.7-.5-1-.5h-6.1c-.8 0-1.5.7-1.5 1.5v12.1c0 .5.5.9 1.1.7 1-.5 2.2-.7 3.4-.7 3.4 0 6.3 1.9 7.9 4.7.2.4.8.5 1.1.2.9-.8 1.5-2 1.5-3.4v-7.7c-.1-.3-.2-.7-.5-1z"},{d:"M29 9H3.5C2.7 9 2 9.7 2 10.5v20.4c0 1.4.6 2.6 1.5 3.4.4.3.9.2 1.1-.2 1.5-2.8 4.5-4.7 7.9-4.7 3.8 0 6.9 2.3 8.3 5.6.1.3.4.5.7.5H26c2.5 0 4.5-2 4.5-4.5V10.5c0-.8-.7-1.5-1.5-1.5z"}],circle:[{cx:"39.5",cy:"38.5",r:"4.5"},{cx:"12.5",cy:"38.5",r:"4.5"}]}},new_custom99:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M45.2 16.6H31.8c-.4-.9-1-1.7-1.7-2.4l5-6.4c.8-1 .6-2.5-.4-3.3-1-.8-2.6-.6-3.4.4L25.8 12c-.5 0-.9-.1-1.4-.1-.5 0-.9.1-1.3.1l-5.6-7.1c-.8-1-2.3-1.2-3.4-.4s-1.1 2.3-.3 3.3l5 6.4c-.7.7-1.3 1.5-1.7 2.4H6.8c-2.6 0-4.8 2.1-4.8 4.7v22C2 45.9 4.2 48 6.8 48h38.4c2.6 0 4.8-2.1 4.8-4.7v-22c0-2.6-2.2-4.7-4.8-4.7zm-6.4 25.1c0 .9-.7 1.6-1.6 1.6H8.4c-.9 0-1.6-.7-1.6-1.6V22.9c0-.9.7-1.6 1.6-1.6h28.8c.9 0 1.6.7 1.6 1.6v18.8zm5.6-7.8c-1.4 0-2.4-1-2.4-2.4s1-2.4 2.4-2.4 2.4 1 2.4 2.4-1 2.4-2.4 2.4zm0-7.9C43 26 42 25 42 23.7c0-1.3 1-2.4 2.4-2.4s2.4 1 2.4 2.4c0 1.3-1 2.3-2.4 2.3z"}},new_event:{xmlns:"http://www.w3.org/2000/svg",g:{path:{d:"M46.5 20h-41c-.8 0-1.5.7-1.5 1.5V46c0 2.2 1.8 4 4 4h36c2.2 0 4-1.8 4-4V21.5c0-.8-.7-1.5-1.5-1.5zM19 42c0 .6-.4 1-1 1h-4c-.6 0-1-.4-1-1v-4c0-.6.4-1 1-1h4c.6 0 1 .4 1 1v4zm0-10c0 .6-.4 1-1 1h-4c-.6 0-1-.4-1-1v-4c0-.6.4-1 1-1h4c.6 0 1 .4 1 1v4zm10 10c0 .6-.4 1-1 1h-4c-.6 0-1-.4-1-1v-4c0-.6.4-1 1-1h4c.6 0 1 .4 1 1v4zm0-10c0 .6-.4 1-1 1h-4c-.6 0-1-.4-1-1v-4c0-.6.4-1 1-1h4c.6 0 1 .4 1 1v4zm10 10c0 .6-.4 1-1 1h-4c-.6 0-1-.4-1-1v-4c0-.6.4-1 1-1h4c.6 0 1 .4 1 1v4zm0-10c0 .6-.4 1-1 1h-4c-.6 0-1-.4-1-1v-4c0-.6.4-1 1-1h4c.6 0 1 .4 1 1v4zM44 7h-5V5c0-1.6-1.3-3-3-3-1.6 0-3 1.3-3 3v2H19V5c0-1.6-1.3-3-3-3-1.6 0-3 1.3-3 3v2H8c-2.2 0-4 1.8-4 4v2.5c0 .8.7 1.5 1.5 1.5h41c.8 0 1.5-.7 1.5-1.5V11c0-2.2-1.8-4-4-4z"}}},new_group:{xmlns:"http://www.w3.org/2000/svg",g:{path:[{d:"M15.8 28c-1.4-2.1-2.1-4.5-2.1-7.2 0-4.6 1.9-8.4 4.9-10.7-1-1.8-3-3.1-5.6-3.1-4.4 0-6.9 3.6-6.9 7.7 0 2.2.7 4.1 2.2 5.4.8.8 1.5 1.8 1.5 2.8 0 1-.4 2-2.9 3.1-3.6 1.6-6.9 3.8-7 7.1C0 35.3 1.4 37 3.5 37h3.3c.5 0 1-.3 1.3-.8 1.6-2.9 4.6-4.7 7.1-6 .9-.4 1.1-1.5.6-2.2zM45 26c-2.5-1.1-2.9-2-2.9-3.1s.7-2.1 1.5-2.8c1.5-1.4 2.2-3.2 2.2-5.4 0-4.1-2.4-7.7-6.9-7.7-2.6 0-4.6 1.3-5.7 3.1 3 2.3 4.9 6.1 4.9 10.7 0 2.7-.7 5.1-2.1 7.2-.5.8-.2 1.8.6 2.2 2.5 1.2 5.5 3.1 7.1 6 .3.5.8.8 1.3.8h3.3c2.1 0 3.5-1.7 3.5-3.9.1-3.3-3.2-5.5-6.8-7.1z"},{d:"M32.6 33.3c-2.7-1.2-3.2-2.3-3.2-3.4 0-1.2.8-2.3 1.7-3.1 1.6-1.5 2.5-3.6 2.5-6 0-4.5-2.7-8.4-7.6-8.4-4.9 0-7.6 3.9-7.6 8.4 0 2.4.9 4.5 2.5 6 .9.9 1.7 2 1.7 3.1 0 1.2-.4 2.2-3.2 3.4-4 1.7-7.8 3.6-7.9 7.2 0 2.4 1.8 4.4 4.1 4.4h20.8c2.3 0 4.1-2 4.1-4.4-.1-3.6-3.9-5.4-7.9-7.2z"}]}},new_lead:{xmlns:"http://www.w3.org/2000/svg",circle:{cx:"26",cy:"9.2",r:"7.2"},path:{d:"M48.4 21.2H3.6c-1.6 0-2.2 2-.9 2.9l11.7 7.5c.6.4.9 1.1.6 1.8L10.7 48c-.5 1.6 1.6 2.7 2.8 1.5l11.4-12c.6-.7 1.8-.7 2.4 0l11.4 12c1.1 1.2 3.2.1 2.8-1.5L37 33.3c-.2-.6.1-1.4.6-1.8L49.3 24c1.3-.8.7-2.8-.9-2.8z"}},new_note:{xmlns:"http://www.w3.org/2000/svg",g:{path:[{d:"M41.4 39.7l-.9.9c-1 1-2.3 1.5-3.7 1.5h-2.6c-2.4 0-5-1.9-5-5.2v-2.5c0-2 .9-3.2 1.4-3.9l10.8-11c.3-.3.6-1 .6-1.4V9.8C42 7.2 39.8 5 37.2 5H11.6C9 5 6.8 7.4 6.8 9.8H5.2C3.4 9.8 2 11.3 2 13.1s1.4 3.2 3.2 3.2h1.6v6.5H5.2C3.4 22.8 2 24.2 2 26s1.4 3.2 3.2 3.2h1.6v6.5H5.2c-1.8 0-3.2 1.5-3.2 3.2 0 1.8 1.4 3.2 3.2 3.2h1.6c0 3.2 2.2 4.8 4.8 4.8H37.2c2.6 0 4.8-2.2 4.8-4.8V40c0-.5-.2-.6-.6-.3zm-8.2-22.6c0 .9-.7 1.6-1.6 1.6h-16c-.9 0-1.6-.7-1.6-1.6v-1.6c0-.9.7-1.6 1.6-1.6h16c.9 0 1.6.7 1.6 1.6v1.6zM26 36.5c0 .9-.7 1.6-1.6 1.6h-8.8c-.9 0-1.6-.7-1.6-1.6v-1.6c0-.9.7-1.6 1.6-1.6h8.8c.9 0 1.6.7 1.6 1.6v1.6zm2.4-9.7c0 .9-.7 1.6-1.6 1.6H15.6c-.9 0-1.6-.7-1.6-1.6v-1.6c0-.9.7-1.6 1.6-1.6h11.2c.9 0 1.6.7 1.6 1.6v1.6z"},{d:"M49.5 22.4l-1-1c-.6-.6-1.6-.6-2.2 0L34.1 34c-.1 0-.1.2-.1.2v2.7c0 .2 0 .4.2.4h2.6c.1 0 .2-.1.3-.1l12.3-12.4c.8-.7.8-1.7.1-2.4z"}]}},new_notebook:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M44 2H14c-2.2 0-4 1.8-4 4v3H7c-1.7 0-3 1.3-3 3s1.3 3 3 3h3v8H7c-1.7 0-3 1.3-3 3s1.3 3 3 3h3v8H7c-1.7 0-3 1.3-3 3s1.3 3 3 3h3v3c0 2.2 1.8 4 4 4h30c2.2 0 4-1.8 4-4V6c0-2.2-1.8-4-4-4zm-7 34c0 .6-.4 1-1 1H22c-.6 0-1-.4-1-1v-2c0-.6.4-1 1-1h14c.6 0 1 .4 1 1v2zm2-8c0 .6-.4 1-1 1H20c-.6 0-1-.4-1-1v-2c0-.6.4-1 1-1h18c.6 0 1 .4 1 1v2zm2-10c0 .6-.4 1-1 1H18c-.6 0-1-.4-1-1v-6c0-.6.4-1 1-1h22c.6 0 1 .4 1 1v6z"}},new_opportunity:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M41.8 41H10.2c-.8 0-1.4.7-1.4 1.4v.1c0 2.5 2 4.5 4.5 4.5h25.5c2.5 0 4.5-2 4.5-4.5v-.1c-.1-.7-.7-1.4-1.5-1.4zM45.5 10.2c-2.5 0-4.5 2-4.5 4.5 0 1.4.6 2.6 1.6 3.4-1.3 2.9-4.2 4.9-7.6 4.8-4-.2-7.2-3.4-7.4-7.4 0-.7 0-1.3.1-1.9 1.7-.7 2.9-2.2 2.9-4.2C30.5 7 28.5 5 26 5s-4.5 2-4.5 4.5c0 1.9 1.2 3.5 2.8 4.2.2.6.2 1.2.2 1.9-.2 4-3.4 7.2-7.4 7.4-3.4.2-6.4-1.9-7.7-4.8 1-.8 1.6-2.1 1.6-3.4 0-2.5-2-4.5-4.5-4.5S2 12.3 2 14.8s2 4.5 4.5 4.5l2.1 16c.1.7.7 1.2 1.4 1.2h32c.7 0 1.3-.5 1.4-1.2l2.1-16c2.5 0 4.5-2 4.5-4.5s-2-4.6-4.5-4.6z"}},new_person_account:{xmlns:"http://www.w3.org/2000/svg",path:[{d:"M41.7 33.2c-2.9-1.2-3.4-2.3-3.4-3.5 0-1.2.8-2.3 1.8-3.2 1.7-1.5 2.6-3.7 2.6-6.2 0-4.6-3-8.7-8.2-8.7s-8.2 4-8.2 8.7c0 2.6 1 4.6 2.6 6.2 1 .9 1.8 2 1.8 3.2 0 1.2-.5 2.3-3.4 3.5-4.3 1.8-8.3 4-8.4 7.8 0 2.5 1.9 5 4.3 5h22.4c2.5 0 4.3-2.5 4.3-5 .2-3.7-3.9-6-8.2-7.8z"},{d:"M23.4 27.1c-.3-.4-1.9-2.4-1.8-7.8.1-5.3 2.4-6.6 2.4-6.6V7.5c0-.9-.9-1.5-1.5-1.5h-19C2.8 6 2 6.7 2 7.6v34.9h10.8C13.1 33.6 23.3 30 23.3 30c1.5-.8.4-2.5.1-2.9zm-12.8 11c0 .9-.7 1.6-1.6 1.6H7.4c-.9 0-1.6-.7-1.6-1.6v-1.6c0-.9.7-1.6 1.6-1.6H9c.9 0 1.6.7 1.6 1.6v1.6zm0-7.9c0 .9-.7 1.6-1.6 1.6H7.4c-.9 0-1.6-.7-1.6-1.6v-1.6c0-.9.7-1.6 1.6-1.6H9c.9 0 1.6.7 1.6 1.6v1.6zm0-8c0 .9-.7 1.6-1.6 1.6H7.4c-.9 0-1.6-.7-1.6-1.6v-1.6c0-.9.7-1.6 1.6-1.6H9c.9 0 1.6.7 1.6 1.6v1.6zm0-7.9c0 .9-.7 1.6-1.6 1.6H7.4c-.9 0-1.6-.7-1.6-1.6v-1.6c0-.9.7-1.6 1.6-1.6H9c.9 0 1.6.7 1.6 1.6v1.6zm9 15.9c0 .9-.7 1.6-1.6 1.6h-1.6c-.9 0-1.6-.7-1.6-1.6v-1.6c0-.9.7-1.6 1.6-1.6H18c.9 0 1.6.7 1.6 1.6v1.6zm0-8c0 .9-.7 1.6-1.6 1.6h-1.6c-.9 0-1.6-.7-1.6-1.6v-1.6c0-.9.7-1.6 1.6-1.6H18c.9 0 1.6.7 1.6 1.6v1.6zm0-7.9c0 .9-.7 1.6-1.6 1.6h-1.6c-.9 0-1.6-.7-1.6-1.6v-1.6c0-.9.7-1.6 1.6-1.6H18c.9 0 1.6.7 1.6 1.6v1.6z"}]},new_task:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M24 7l-1.7-1.7c-.5-.5-1.2-.5-1.7 0L10 15.8l-4.3-4.2c-.5-.5-1.2-.5-1.7 0l-1.7 1.7c-.5.5-.5 1.2 0 1.7l5.9 5.9c.5.5 1.1.7 1.7.7.6 0 1.2-.2 1.7-.7L24 8.7c.4-.4.4-1.2 0-1.7zM48.4 18.4H27.5c-.9 0-1.6-.7-1.6-1.6v-3.2c0-.9.7-1.6 1.6-1.6h20.9c.9 0 1.6.7 1.6 1.6v3.2c0 .9-.7 1.6-1.6 1.6zM48.4 32.7H22.7c-.9 0-1.6-.7-1.6-1.6v-3.2c0-.9.7-1.6 1.6-1.6h25.7c.9 0 1.6.7 1.6 1.6v3.2c0 .9-.7 1.6-1.6 1.6zM13 32.7H9.8c-.9 0-1.6-.7-1.6-1.6v-3.2c0-.9.7-1.6 1.6-1.6H13c.9 0 1.6.7 1.6 1.6v3.2c.1.9-.7 1.6-1.6 1.6zM13 47H9.8c-.9 0-1.6-.7-1.6-1.6v-3.2c0-.9.7-1.6 1.6-1.6H13c.9 0 1.6.7 1.6 1.6v3.2c.1.9-.7 1.6-1.6 1.6zM48.4 47H22.7c-.9 0-1.6-.7-1.6-1.6v-3.2c0-.9.7-1.6 1.6-1.6h25.7c.9 0 1.6.7 1.6 1.6v3.2c0 .9-.7 1.6-1.6 1.6z"}},password_unlock:{xmlns:"http://www.w3.org/2000/svg",g:{path:{d:"M10 18.1v0zM42 23H16v-4.7c0-5.3 4-10 9.3-10.3 4.9-.3 9 2.8 10.3 7.2.1.4.5.8 1 .8h4.1c.6 0 1.1-.6 1-1.2C40.1 7.2 33.3 1.6 25.2 2c-8.5.4-15 7.7-15.2 16.1V23c-2.2 0-4 1.8-4 4v19c0 2.2 1.8 4 4 4h32c2.2 0 4-1.8 4-4V27c0-2.2-1.8-4-4-4zM30.6 42.7c.2.6-.3 1.3-1 1.3h-7.3c-.7 0-1.2-.6-1-1.3l1.8-6c-1.5-1-2.4-2.8-2-4.8.4-1.9 1.9-3.4 3.9-3.8 3.2-.6 6 1.7 6 4.7 0 1.6-.8 3.1-2.1 3.9l1.7 6z"}}},preview:{xmlns:"http://www.w3.org/2000/svg",g:{path:[{d:"M51.8 25.1C47.1 15.6 37.3 9 26 9S4.9 15.6.2 25.1c-.3.6-.3 1.3 0 1.8C4.9 36.4 14.7 43 26 43s21.1-6.6 25.8-16.1c.3-.6.3-1.2 0-1.8zM26 37c-6.1 0-11-4.9-11-11s4.9-11 11-11 11 4.9 11 11-4.9 11-11 11z"},{d:"M26 19c-3.9 0-7 3.1-7 7s3.1 7 7 7 7-3.1 7-7-3.1-7-7-7z"}]}},priority:{xmlns:"http://www.w3.org/2000/svg",g:{path:{d:"M9 3.5C9 2.7 8.3 2 7.5 2h-3C3.7 2 3 2.7 3 3.5v45c0 .8.7 1.5 1.5 1.5h3c.8 0 1.5-.7 1.5-1.5v-45zM47.5 7.7c-16 8.4-14.2-8.8-33.5-2.1-.6.2-1 .8-1 1.4v23.3c0 .7.7 1.2 1.3.9 19.2-6.4 17.2 11.2 33.9 1.8.5-.3.8-.8.8-1.3V8.5c0-.7-.8-1.2-1.5-.8z"}}},question_post_action:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M28.4 38h-5c-.8 0-1.4-.6-1.4-1.4v-1.5c0-4.2 2.7-8 6.7-9.4 1.2-.4 2.3-1.1 3.2-2.1 5-6 .4-13.2-5.6-13.4-2.2-.1-4.3.7-5.9 2.2-1.3 1.2-2.1 2.7-2.3 4.4-.1.6-.7 1.1-1.5 1.1h-5c-.9 0-1.6-.7-1.5-1.6.4-3.8 2.1-7.2 4.8-9.9 3.2-3 7.3-4.6 11.7-4.5C34.9 2.2 41.7 9 42 17.3c.3 7-4 13.3-10.5 15.7-.9.4-1.5 1.1-1.5 2v1.5c0 .9-.8 1.5-1.6 1.5zM30 48.5c0 .8-.7 1.5-1.5 1.5h-5c-.8 0-1.5-.7-1.5-1.5v-5c0-.8.7-1.5 1.5-1.5h5c.8 0 1.5.7 1.5 1.5v5z"}},quote:{xmlns:"http://www.w3.org/2000/svg",g:{path:[{d:"M35 23H17c-.6 0-1 .4-1 1v3c0 .6.4 1 1 1h18c.6 0 1-.4 1-1v-3c0-.6-.4-1-1-1zM33 32H19c-.6 0-1 .4-1 1v3c0 .6.4 1 1 1h14c.6 0 1-.4 1-1v-3c0-.6-.4-1-1-1z"},{d:"M45.8 12.3l-9.6-9.2c-.8-.7-1.8-1.1-2.8-1.1H18.6c-1 0-2 .4-2.8 1.1l-9.6 9.2c-.8.8-1.2 1.8-1.2 2.9V46c0 2.2 1.8 4 4 4h34c2.2 0 4-1.8 4-4V15.2c0-1.1-.4-2.1-1.2-2.9zM26 5c2.2 0 4 1.8 4 4s-1.8 4-4 4-4-1.8-4-4 1.8-4 4-4zm15 37.5c0 .8-.7 1.5-1.5 1.5h-27c-.8 0-1.5-.7-1.5-1.5v-25c0-.8.7-1.5 1.5-1.5h27c.8 0 1.5.7 1.5 1.5v25z"}]}},recall:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M18.2 22.6c-.5-.6-.2-1.6.5-1.8h9c6.7 0 12.1 5.7 11.5 12.6-.6 5.9-5.8 10.3-11.8 10.3H24c-.8 0-1.6.7-1.6 1.6v3.1c0 .8.7 1.6 1.6 1.6h3.6c9.7 0 17.5-7.8 17.7-17.4.2-9.9-8.2-18-18.1-18.1h-8.3s-2.7.1-1-1.8l5.9-5.8c.6-.6.6-1.6 0-2.2l-2.2-2.2c-.6-.6-1.6-.6-2.2 0l-14 14.1c-.6.6-.6 1.6 0 2.2l14.1 14.1c.6.6 1.6.6 2.2 0l2.2-2.2c.6-.6.6-1.6 0-2.2l-5.7-5.9z"}},record:{xmlns:"http://www.w3.org/2000/svg",path:[{d:"M17.4 11.6h17.3c.9 0 1.6-.7 1.6-1.6V6.8c0-2.6-2.1-4.8-4.7-4.8h-11c-2.6 0-4.7 2.2-4.7 4.8V10c-.1.9.6 1.6 1.5 1.6z"},{d:"M43.3 6h-1.6c-.5 0-.8.3-.8.8V10c0 3.5-2.8 6.4-6.3 6.4H17.4c-3.5 0-6.3-2.9-6.3-6.4V6.8c0-.5-.3-.8-.8-.8H8.7C6.1 6 4 8.2 4 10.8v34.4C4 47.8 6.1 50 8.7 50h34.6c2.6 0 4.7-2.2 4.7-4.8V10.8C48 8.2 45.9 6 43.3 6zM17.4 40.4c0 .9-.7 1.6-1.6 1.6h-1.6c-.9 0-1.6-.7-1.6-1.6v-1.6c0-.9.7-1.6 1.6-1.6h1.6c.9 0 1.6.7 1.6 1.6v1.6zm0-8c0 .9-.7 1.6-1.6 1.6h-1.6c-.9 0-1.6-.7-1.6-1.6v-1.6c0-.9.7-1.6 1.6-1.6h1.6c.9 0 1.6.7 1.6 1.6v1.6zm0-8c0 .9-.7 1.6-1.6 1.6h-1.6c-.9 0-1.6-.7-1.6-1.6v-1.6c0-.9.7-1.6 1.6-1.6h1.6c.9 0 1.6.7 1.6 1.6v1.6zm22 16c0 .9-.7 1.6-1.6 1.6H22.1c-.9 0-1.6-.7-1.6-1.6v-1.6c0-.9.7-1.6 1.6-1.6h15.7c.9 0 1.6.7 1.6 1.6v1.6zm0-8c0 .9-.7 1.6-1.6 1.6H22.1c-.9 0-1.6-.7-1.6-1.6v-1.6c0-.9.7-1.6 1.6-1.6h15.7c.9 0 1.6.7 1.6 1.6v1.6zm0-8c0 .9-.7 1.6-1.6 1.6H22.1c-.9 0-1.6-.7-1.6-1.6v-1.6c0-.9.7-1.6 1.6-1.6h15.7c.9 0 1.6.7 1.6 1.6v1.6z"}]},refresh:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M46.5 4h-3c-.8 0-1.5.7-1.5 1.5v7c0 .9-.5 1.3-1.2.7-.3-.4-.6-.7-1-1-5-5-12-7.1-19.2-5.7-2.5.5-4.9 1.5-7 2.9-6.1 4-9.6 10.5-9.7 17.5-.1 5.4 2 10.8 5.8 14.7 4 4.2 9.4 6.5 15.2 6.5 5.1 0 9.9-1.8 13.7-5 .7-.6.7-1.6.1-2.2l-2.1-2.1c-.5-.5-1.4-.6-2-.1-3.6 3-8.5 4.2-13.4 3-1.3-.3-2.6-.9-3.8-1.6C11.7 36.6 9 30 10.6 23.4c.3-1.3.9-2.6 1.6-3.8C15 14.7 19.9 12 25.1 12c4 0 7.8 1.6 10.6 4.4.5.4.9.9 1.2 1.4.3.8-.4 1.2-1.3 1.2h-7c-.8 0-1.5.7-1.5 1.5v3.1c0 .8.6 1.4 1.4 1.4h18.3c.7 0 1.3-.6 1.3-1.3V5.5C48 4.7 47.3 4 46.5 4z"}},reject:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M31.6 25.8l13.1-13.1c.6-.6.6-1.5 0-2.1l-2.1-2.1c-.6-.6-1.5-.6-2.1 0L27.4 21.6c-.4.4-1 .4-1.4 0L12.9 8.4c-.6-.6-1.5-.6-2.1 0l-2.1 2.1c-.6.6-.6 1.5 0 2.1l13.1 13.1c.4.4.4 1 0 1.4L8.6 40.3c-.6.6-.6 1.5 0 2.1l2.1 2.1c.6.6 1.5.6 2.1 0L26 31.4c.4-.4 1-.4 1.4 0l13.1 13.1c.6.6 1.5.6 2.1 0l2.1-2.1c.6-.6.6-1.5 0-2.1L31.6 27.2c-.3-.4-.3-1 0-1.4z"}},remove:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M31.6 25.8l13.1-13.1c.6-.6.6-1.5 0-2.1l-2.1-2.1c-.6-.6-1.5-.6-2.1 0L27.4 21.6c-.4.4-1 .4-1.4 0L12.9 8.4c-.6-.6-1.5-.6-2.1 0l-2.1 2.1c-.6.6-.6 1.5 0 2.1l13.1 13.1c.4.4.4 1 0 1.4L8.6 40.3c-.6.6-.6 1.5 0 2.1l2.1 2.1c.6.6 1.5.6 2.1 0L26 31.4c.4-.4 1-.4 1.4 0l13.1 13.1c.6.6 1.5.6 2.1 0l2.1-2.1c.6-.6.6-1.5 0-2.1L31.6 27.2c-.3-.4-.3-1 0-1.4z"}},remove_relationship:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M36.001 20c0-2.2-1.799-4-4-4H6c-2.199 0-4 1.8-4 4v26c0 2.2 1.801 4 4 4h26.001c2.201 0 4-1.8 4-4V20zM11 35c-.5 0-1-.5-1-1v-2c0-.5.5-1 1-1h16.001c.5 0 1 .5 1 1v2c0 .5-.5 1-1 1H11zm32.001 7h-3v-6h3c.6 0 1-.4 1-1V9c0-.6-.4-1-1-1H17c-.6 0-1 .4-1 1v3h-6V9c0-3.9 3.102-7 7-7h26.001c3.9 0 7 3.1 7 7v26c0 3.9-3.1 7-7 7z"}},reset_password:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M46.5 4h-3c-.8 0-1.5.7-1.5 1.5v7c0 .9-.5 1.3-1.2.7-.3-.4-.6-.7-1-1-5-5-12-7.1-19.2-5.7-2.5.5-4.9 1.5-7 2.9-6.1 4-9.6 10.5-9.7 17.5-.1 5.4 2 10.8 5.8 14.7 4 4.2 9.4 6.5 15.2 6.5 5.1 0 9.9-1.8 13.7-5 .7-.6.7-1.6.1-2.2l-2.1-2.1c-.5-.5-1.4-.6-2-.1-3.6 3-8.5 4.2-13.4 3-1.3-.3-2.6-.9-3.8-1.6C11.7 36.6 9 30 10.6 23.4c.3-1.3.9-2.6 1.6-3.8C15 14.7 19.9 12 25.1 12c4 0 7.8 1.6 10.6 4.4.5.4.9.9 1.2 1.4.3.8-.4 1.2-1.3 1.2h-7c-.8 0-1.5.7-1.5 1.5v3.1c0 .8.6 1.4 1.4 1.4h18.3c.7 0 1.3-.6 1.3-1.3V5.5C48 4.7 47.3 4 46.5 4z"}},script:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M44 6.8c-8.8 0-15.6 6.9-15.6 15.7v21.1c0 .8.7 1.5 1.5 1.5h16.7c.8 0 1.5-.7 1.5-1.5V27c0-.8-.7-1.5-1.5-1.5H34.2v-2.9c0-4.9 4.8-9.8 9.7-9.8h2.6c.8 0 1.5-.7 1.5-1.5v-3c0-.8-.7-1.5-1.5-1.5H44zm-24.4 0C10.8 6.8 4 13.7 4 22.6v21.1c0 .8.7 1.5 1.5 1.5h16.7c.8 0 1.5-.7 1.5-1.5V27c0-.8-.7-1.5-1.5-1.5H9.9v-2.9c0-4.9 4.8-9.8 9.7-9.8h2.6c.8 0 1.5-.7 1.5-1.5v-3c0-.8-.7-1.5-1.5-1.5h-2.6z"}},share:{xmlns:"http://www.w3.org/2000/svg",g:{path:[{d:"M48.5 30h-3c-.8 0-1.5.7-1.5 1.5v11c0 .8-.7 1.5-1.5 1.5h-33c-.8 0-1.5-.7-1.5-1.5v-21c0-.8.7-1.5 1.5-1.5h4c.8 0 1.5-.7 1.5-1.5v-3c0-.8-.7-1.5-1.5-1.5H6c-2.2 0-4 1.8-4 4v28c0 2.2 1.8 4 4 4h40c2.2 0 4-1.8 4-4V31.5c0-.8-.7-1.5-1.5-1.5z"},{d:"M34 14c-10 0-19.1 8.9-19.9 19.4-.1.8.6 1.6 1.5 1.6h3c.8 0 1.4-.6 1.5-1.3C20.8 26.2 27.2 20 35 20h1.6c.9 0 1.3 1.1.7 1.7l-5.5 5.6c-.6.6-.6 1.5 0 2.1l2.1 2.1c.6.6 1.5.6 2.1 0L49.6 18c.6-.6.6-1.5 0-2.1L36.1 2.4c-.6-.6-1.5-.6-2.1 0l-2.1 2.1c-.6.6-.7 1.5-.1 2.1l5.6 5.6c.6.6.2 1.7-.7 1.7L34 14z"}]}},share_file:{xmlns:"http://www.w3.org/2000/svg",g:{path:[{d:"M41 16h7.8c.4 0 .7-.5.4-.9l-8.3-8.3c-.4-.3-.9 0-.9.4V15c0 .6.4 1 1 1z"},{d:"M49 20H38c-1.1 0-2-.9-2-2V7c0-.6-.4-1-1-1H21.5c-.8 0-1.5.7-1.5 1.5v4c0 .4.2.8.4 1.1l5.6 5.6c.8.8 1.4 1.9 1.6 3.1.2 1.6-.3 3.1-1.4 4.3L24.6 27c-.5.5-1 .8-1.6 1.1.7.3 1.5.5 2.3.6 2.6.2 4.7 2.4 4.7 5.1V36c0 1.4-.7 2.8-1.7 3.7-1 1-2.5 1.4-3.9 1.3-1.1-.1-2.1-.3-3.2-.5-.6-.2-1.2.3-1.2 1v3.1c0 .8.7 1.5 1.5 1.5h27c.8 0 1.5-.7 1.5-1.5V21c0-.6-.4-1-1-1z"},{d:"M26 35.9v-2.2c0-.6-.5-1-1.1-1.1-5.4-.5-9.9-5.1-9.9-10.8v-1.2c0-.6.8-1 1.2-.5l4 4c.4.4 1.1.4 1.5 0l1.5-1.5c.4-.4.4-1.1 0-1.5l-9.7-9.7c-.4-.4-1.1-.4-1.5 0l-9.7 9.7c-.4.4-.4 1.1 0 1.5l1.5 1.5c.4.4 1.1.5 1.5.1l4.2-4c.5-.5 1.4-.1 1.4.5v1.9c0 7.2 6.3 13.8 13.9 14.4.7 0 1.2-.5 1.2-1.1z"}]}},share_link:{xmlns:"http://www.w3.org/2000/svg",g:{path:[{d:"M27.2 41.7l-2.1-.3c-.7-.1-1.4-.3-2.1-.6-.4-.1-.9 0-1.2.3l-.5.5c-2.9 2.9-7.6 3.2-10.6.6-3.4-2.9-3.5-8.1-.4-11.2l7.6-7.6c1-1 2.2-1.6 3.4-2 1.6-.4 3.3-.3 4.8.3.9.4 1.8.9 2.6 1.7.4.4.7.8 1 1.3.4.7 1.3.8 1.8.2l2.8-2.8c.4-.4.4-1 .1-1.5-.4-.6-.9-1.1-1.4-1.6-.7-.7-1.5-1.4-2.4-1.9-1.4-.9-3-1.5-4.7-1.8-3.1-.6-6.5-.1-9.3 1.4-1.1.6-2.2 1.4-3.1 2.3l-7.3 7.3C.9 31.6.5 40.2 5.6 45.6c5.3 5.8 14.3 5.9 19.8.4l2.5-2.5c.7-.5.2-1.7-.7-1.8z"},{d:"M45.6 5.8c-5.5-5.1-14.1-4.7-19.3.6L24 8.6c-.7.7-.2 1.9.7 2 1.4.1 2.8.4 4.2.8.4.1.9 0 1.2-.3l.5-.5c2.9-2.9 7.6-3.2 10.6-.6 3.4 2.9 3.5 8.1.4 11.2L34 28.8c-1 1-2.2 1.6-3.4 2-1.6.4-3.3.3-4.8-.3-.9-.4-1.8-.9-2.6-1.7-.4-.4-.7-.8-1-1.3-.4-.7-1.3-.8-1.8-.2l-2.8 2.8c-.4.4-.4 1-.1 1.5.4.6.9 1.1 1.4 1.6.7.7 1.6 1.4 2.4 1.9 1.4.9 3 1.5 4.6 1.8 3.1.6 6.5.1 9.3-1.4 1.1-.6 2.2-1.4 3.1-2.3l7.6-7.6c5.6-5.5 5.4-14.5-.3-19.8z"}]}},share_poll:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M46.8 2H5.2C3.4 2 2 3.4 2 5.2v6.4c0 1.8 1.4 3.2 3.2 3.2h41.6c1.8 0 3.2-1.4 3.2-3.2V5.2C50 3.4 48.6 2 46.8 2zm-20 9.6V5.2h20v6.4h-20zM46.8 19.6H5.2C3.4 19.6 2 21 2 22.8v6.4c0 1.8 1.4 3.2 3.2 3.2h41.6c1.8 0 3.2-1.4 3.2-3.2v-6.4c0-1.8-1.4-3.2-3.2-3.2zm-27.2 9.6v-6.4h27.2v6.4H19.6zM46.8 37.2H5.2c-1.8 0-3.2 1.4-3.2 3.2v6.4C2 48.6 3.4 50 5.2 50h41.6c1.8 0 3.2-1.4 3.2-3.2v-6.4c0-1.8-1.4-3.2-3.2-3.2zM34 46.8v-6.4h12.8v6.4H34z"}},share_post:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M26 4C12.7 4 2 13.8 2 26c0 3.9 1.1 7.5 3 10.8.2.4.3.9.2 1.3L3 45c-.4 1.3.8 2.4 2.1 2l7-2.4c.5-.2 1-.1 1.4.2 3.7 2.1 8 3.3 12.6 3.3 13.3 0 24-9.8 24-22C49.8 13.8 39.1 4 26 4z"}},share_thanks:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M45.2 14h-7c2-3.1 1.8-7.3-.6-9.8C36.2 2.8 34.4 2 32.5 2c-2.1 0-4.2 1-5.7 2.6-.3.3-.6.6-.8 1-.2-.4-.5-.7-.8-1A7.62 7.62 0 0019.5 2c-1.9 0-3.7.8-5 2.2-2.5 2.6-2.6 6.7-.6 9.8h-7C4.2 14 2 16.2 2 18.8V22c0 .9.7 1.6 1.6 1.6h44.8c.9 0 1.6-.7 1.6-1.6v-3.2c0-2.6-2.2-4.8-4.8-4.8zm-21.6 0c-1.7 0-4.1-.6-5.4-2.1-1.2-1.3-1.4-3.4-.2-4.4.5-.5 1-.6 1.5-.6.8 0 1.6.4 2.2 1 1.4 1.5 1.9 4.1 1.9 5.7v.4zm10.2-2.1C32.4 13.3 30 14 28.4 14v-.5c0-1.6.6-4.2 1.9-5.7.6-.6 1.4-1 2.2-1 .4 0 1 .1 1.6.6 1 1.2.9 3.2-.3 4.5zM45.2 28.4H28.4V50h13.8c2.6 0 4.6-2.1 4.6-4.6V30c0-.9-.7-1.6-1.6-1.6zM5.2 30v15.2c0 2.6 2.2 4.8 4.8 4.8h13.6V28.4H6.8c-.9 0-1.6.7-1.6 1.6z"}},sort:{xmlns:"http://www.w3.org/2000/svg",g:{path:{d:"M27.5 16c.6-.6.6-1.5 0-2.1L16.1 2.4c-.6-.6-1.5-.6-2.1 0L2.5 13.9c-.6.6-.6 1.5 0 2.1l2.1 2.1c.6.6 1.5.6 2.1 0l3.6-3.6c.6-.6 1.7-.2 1.7.7v21.2c0 .8.7 1.5 1.5 1.5h3c.8 0 1.5-.8 1.5-1.5V15.2c0-.9 1.1-1.3 1.7-.7l3.6 3.6c.6.6 1.5.6 2.1 0l2.1-2.1zM49.5 36l-2.1-2c-.6-.6-1.5-.6-2.1 0l-3.6 3.6c-.6.6-1.7.2-1.7-.7V15.5c0-.8-.7-1.5-1.5-1.5h-3c-.8 0-1.5.8-1.5 1.5v21.2c0 .9-1.1 1.3-1.7.7l-3.6-3.6c-.6-.6-1.5-.6-2.1 0L24.5 36c-.6.6-.6 1.5 0 2.1L36 49.6c.6.6 1.5.6 2.1 0l11.5-11.5c.5-.6.5-1.6-.1-2.1z"}}},submit_for_approval:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M45.2 29.2h-8.8c-2.6 0-4.8-2.2-4.8-4.8.4-7.1 3.7-7.5 4-12.1.3-4.8-2.7-9.1-7.4-10.1C22 .9 16.4 5.6 16.4 11.6c0 5.3 3.6 5.3 4 12.8 0 2.6-2.2 4.8-4.8 4.8H6.8C4.2 29.2 2 31.3 2 34v3.2c0 .9.7 1.6 1.6 1.6h44.8c.9 0 1.6-.7 1.6-1.6V34c0-2.7-2.2-4.8-4.8-4.8zM45.3 43.6H6.7c-.9 0-1.5.7-1.5 1.5v.1c0 2.6 2.2 4.8 4.8 4.8h32.1c2.6 0 4.7-2.2 4.7-4.8v-.1c0-.8-.7-1.5-1.5-1.5z"}},update:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M26 2C12.7 2 2 12.7 2 26s10.7 24 24 24 24-10.7 24-24S39.3 2 26 2zm9 15.5c0 .8-.7 1.5-1.5 1.5H24c-.6 0-1 .4-1 1v2c0 .6.4 1 1 1h4c3.9 0 7 3.1 7 7v2c0 3.9-3.1 7-7 7h1v2c0 1.1-.9 2-2 2s-2-.9-2-2v-2h-6.5c-.8 0-1.5-.7-1.5-1.5v-3c0-.8.7-1.5 1.5-1.5H28c.6 0 1-.4 1-1v-2c0-.6-.4-1-1-1h-4c-3.9 0-7-3.1-7-7v-2c0-3.9 3.1-7 7-7h1v-2c0-1.1.9-2 2-2s2 .9 2 2v2h4.5c.8 0 1.5.7 1.5 1.5v3z"}},update_status:{xmlns:"http://www.w3.org/2000/svg",g:{path:[{d:"M29.8 30.6l1.6 1.6c.4.4 1 .4 1.4 0l4.6-4.7c.4-.4.6-.9.6-1.4V8c0-1.7-1.3-3-3-3H5C3.3 5 2 6.3 2 8v22c0 1.7 1.3 3 3 3h13.7c.5 0 1-.2 1.4-.6l1.7-1.7c.8-.8 1.8-1.4 2.9-1.6 1.8-.4 3.7.2 5.1 1.5zM10 14c0-.6.4-1 1-1h18c.6 0 1 .4 1 1v2c0 .6-.4 1-1 1H11c-.6 0-1-.4-1-1v-2zm1 11c-.6 0-1-.4-1-1v-2c0-.6.4-1 1-1h14c.6 0 1 .4 1 1v2c0 .6-.4 1-1 1H11z"},{d:"M49.5 27.7l-2.2-2.2c-.6-.6-1.6-.6-2.2 0L32.8 37.9c-.4.4-1.1.4-1.5 0l-4.4-4.5c-.6-.6-1.6-.6-2.2 0l-2.2 2.2c-.6.6-.6 1.6 0 2.2l8.5 8.6c.6.6 1.6.6 2.2 0L49.5 30c.7-.7.7-1.7 0-2.3z"}]}},upload:{xmlns:"http://www.w3.org/2000/svg",g:{path:[{d:"M48.5 31h-3c-.8 0-1.5.8-1.5 1.5v10c0 .8-.7 1.5-1.5 1.5h-33c-.8 0-1.5-.7-1.5-1.5v-10c0-.7-.7-1.5-1.5-1.5h-3c-.8 0-1.5.8-1.5 1.5V46c0 2.2 1.8 4 4 4h40c2.2 0 4-1.8 4-4V32.5c0-.7-.7-1.5-1.5-1.5z"},{d:"M27 2.4c-.6-.6-1.5-.6-2.1 0L11.4 15.9c-.6.6-.6 1.5 0 2.1l2.1 2.1c.6.6 1.5.6 2.1 0l5.6-5.6c.6-.6 1.8-.2 1.8.7v21.2c0 .8.6 1.5 1.4 1.5h3c.8 0 1.6-.8 1.6-1.5V15.3c0-.9 1-1.3 1.7-.7l5.6 5.6c.6.6 1.5.6 2.1 0l2.1-2.1c.6-.6.6-1.5 0-2.1L27 2.4z"}]}},user:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M50 43v2.2c0 2.6-2.2 4.8-4.8 4.8H6.8C4.2 50 2 47.8 2 45.2V43c0-5.8 6.8-9.4 13.2-12.2l.6-.3c.5-.2 1-.2 1.5.1 2.6 1.7 5.5 2.6 8.6 2.6s6.1-1 8.6-2.6c.5-.3 1-.3 1.5-.1l.6.3C43.2 33.6 50 37.1 50 43zM26 2c6.6 0 11.9 5.9 11.9 13.2S32.6 28.4 26 28.4s-11.9-5.9-11.9-13.2S19.4 2 26 2z"}},user_activation:{xmlns:"http://www.w3.org/2000/svg",g:{path:{d:"M27.5 16c.6-.6.6-1.5 0-2.1L16.1 2.4c-.6-.6-1.5-.6-2.1 0L2.5 13.9c-.6.6-.6 1.5 0 2.1l2.1 2.1c.6.6 1.5.6 2.1 0l3.6-3.6c.6-.6 1.7-.2 1.7.7v21.2c0 .8.7 1.6 1.5 1.6h3c.8 0 1.5-.9 1.5-1.6V15.2c0-.9 1.1-1.3 1.7-.7l3.6 3.6c.6.6 1.5.6 2.1 0l2.1-2.1zM49.5 36l-2.1-2c-.6-.6-1.5-.6-2.1 0l-3.6 3.6c-.6.6-1.7.2-1.7-.7V15.5c0-.8-.7-1.5-1.5-1.5h-3c-.8 0-1.5.8-1.5 1.5v21.2c0 .9-1.1 1.3-1.7.7l-3.6-3.6c-.6-.6-1.5-.6-2.1 0L24.5 36c-.6.6-.6 1.5 0 2.1L36 49.6c.6.6 1.5.6 2.1 0l11.5-11.5c.5-.6.5-1.6-.1-2.1z"}},path:{d:"M16 46h-2c-1.1 0-2-.9-2-2v-2c0-1.1.9-2 2-2h2c1.1 0 2 .9 2 2v2c0 1.1-.9 2-2 2zM38 12h-2c-1.1 0-2-.9-2-2V8c0-1.1.9-2 2-2h2c1.1 0 2 .9 2 2v2c0 1.1-.9 2-2 2z"}},view_relationship:{xmlns:"http://www.w3.org/2000/svg",path:[{d:"M36 20c0-2.2-1.8-4-4-4H6c-2.2 0-4 1.8-4 4v26c0 2.2 1.8 4 4 4h26c2.2 0 4-1.8 4-4V20z"},{d:"M43 42h-3v-6h3c.6 0 1-.4 1-1V9c0-.6-.4-1-1-1H17c-.6 0-1 .4-1 1v3h-6V9c0-3.9 3.1-7 7-7h26c3.9 0 7 3.1 7 7v26c0 3.9-3.1 7-7 7z"}]},web_link:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M27 2C13.7 2 3 12.7 3 26s10.7 24 24 24 24-10.7 24-24S40.3 2 27 2zm3 34.3c-1.5 1.5-2 4.4-2.6 6.4-.1.4-.4.8-.8 1l-1 .5c-.6.3-1.3.2-1.8-.3-1-.9-1.8-2.3-1.8-3.7 0-2.4-4-1.6-4-6.4 0-3.9-5-6.2-8.6-4.5-.3.1-.6.3-.9.3-.6.2-1.2-.2-1.3-.8C7.1 27.9 7 27 7 26c0-4.8 1.7-9.2 4.5-12.6 0-.1.1-.1.2-.1 2.4-2.8 5.5-5 9.1-6.2.9-.3 1.7.7 1.2 1.5-.4.6-.6 1.2-.6 1.7.1 2.1-1.9 3.4-2.8 3.1-.8-.3-3 1.1-1 2.1l1.1.5c.1 0 .2.1.2.1l.3.2c3.6 2.1 2.9 3.8 1.4 6.4-1.7 2.8-2.4 0-4.8-.8s-4.8.8-4 2.4c.8 1.6 3.2 0 4.8 1.6 1.6 1.6 1.6 4 6.4 2.4 4.8-1.6 5.6-.8 7.2.8 1.4 1.6 2.2 4.8-.2 7.2zm12.7-.2c-1.9-2.2 0-7.3-2.3-10.2-2.5-3.1-5.7.1-8.8-4.8-2.9-4.7.8-8.6 4.6-9.9 1-.4 2.1-.5 3.2-.5.2 0 .5.1.7.3 4.2 3.6 6.9 9 6.9 15 0 3.6-1 7-2.6 9.9-.4.6-1.2.7-1.7.2z"}},viewBox:"0 0 52 52"},Ye={custom1:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M54.3 74.1a5.983 5.983 0 01-8.7 0c-7.2-7.699-21-22.399-21-22.5-6.2-6.5-6.2-17.2 0-23.7 3-3.2 7-4.9 11.3-4.9 4.3 0 8.3 1.7 11.3 4.9l1.2 1.5c.8 1 2.4 1 3.2 0l1-1.3.2-.2c3.101-3.3 7.101-5 11.3-5 4.301 0 8.301 1.7 11.301 4.9 6.199 6.5 6.199 17.2 0 23.7C75.3 51.7 61.6 66.4 54.3 74.1z"}},custom10:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M69.8 77.9c-9.399 3.8-24.2 2.8-32.3-6C18 50.8 35.1 20 58.6 20c3.9 0 7.7.8 11.2 2.2 1.5.6 1.601 2.6.4 3.5C62.6 31.1 57.6 40 57.6 50c0 10.1 4.9 19 12.5 24.4 1.3.9 1.1 2.9-.3 3.5z"}},custom100:{xmlns:"http://www.w3.org/2000/svg",g:{path:{d:"M61.9 72H38.1c-.7 0-1.1.6-1 1.3 1 3.8 6.4 6.7 12.8 6.7 6.5 0 11.9-2.9 12.8-6.7.3-.7-.2-1.3-.8-1.3zM74 26H26c-3.3 0-6 2.7-6 6v28c0 3.3 2.7 6 6 6h48c3.3 0 6-2.7 6-6V32c0-3.3-2.7-6-6-6zm0 32c0 1.1-.9 2-2 2H28c-1.1 0-2-.9-2-2V34c0-1.1.9-2 2-2h44c1.1 0 2 .9 2 2v24z"}}},custom101:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M44.885 38.655a7.47 7.47 0 11-.066 14.938 7.47 7.47 0 01.066-14.938zm.505 31.491c.538-.239 1.168-.598 1.939-1.016a36.418 36.418 0 015.889-2.835 39.1 39.1 0 01-1.64-3.765c0-.086-.06-.205-.093-.298a17.263 17.263 0 01-6.6 1.328c-9.46.01-17.2-7.53-17.437-16.986-.237-9.457 7.116-17.375 16.564-17.838 9.449-.463 17.54 6.698 18.23 16.133 3.916.418 6.12 2.357 7.303 4.515.155-1.08.235-2.169.239-3.26.026-13.608-10.881-24.716-24.488-24.936-13.607-.221-24.869 10.526-25.284 24.128-.416 13.602 10.17 25.017 23.764 25.627a26.026 26.026 0 011.614-.81v.013zm29.878 2.238c-2.33-1.05-5.77-3.705-10.876-4.602 1.328-1.4 2.298-3.585 3.32-6.181.598-1.494.478-2.782.478-4.601 0-1.328.24-3.5-.086-4.688C66.968 48.328 64.12 47.2 60.8 47.2c-3.32 0-6.181 1.108-7.303 5.139-.326 1.195-.087 3.32-.087 4.687 0 1.826-.093 3.108.478 4.601 1.016 2.603 1.992 4.78 3.32 6.188-5.125.93-8.538 3.586-10.862 4.602-4.78 2.118-4.807 4.455-4.807 4.455v3.944h38.45v-3.944c.06 0 .06-2.357-4.754-4.482l.033-.006z","fill-rule":"evenodd"}},custom102:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M31.179 60.7h-8.75a1.157 1.157 0 00-1.179 1.143V79.57a1.157 1.157 0 001.179 1.158h8.75a1.157 1.157 0 001.178-1.158V61.836a1.136 1.136 0 00-1.178-1.143v.007zm16.142-5.464h-8.75a1.157 1.157 0 00-1.142 1.135v23.25a1.157 1.157 0 001.178 1.143h8.714a1.157 1.157 0 001.179-1.143v-23.25a1.157 1.157 0 00-1.179-1.142v.007zM63.43 35.157h-8.75A1.157 1.157 0 0053.5 36.3v43.321a1.157 1.157 0 001.179 1.143h8.75a1.157 1.157 0 001.178-1.143V36.3a1.114 1.114 0 00-1.178-1.143zM79.57 21.23h-8.75a1.157 1.157 0 00-1.178 1.142v57.25a1.157 1.157 0 001.178 1.143h8.75a1.157 1.157 0 001.179-1.143v-57.25a1.157 1.157 0 00-1.179-1.142z","fill-rule":"evenodd"}},custom103:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M76.14 54.901c-1.625-.77-4.012-2.713-7.553-3.365.913-1.03 1.591-2.609 2.302-4.513a8.824 8.824 0 00.352-3.365c0-.972.176-2.57-.058-3.45-.796-2.948-2.772-3.75-5.074-3.75s-4.311.828-5.074 3.776c-.235.854-.059 2.445-.059 3.424a9.046 9.046 0 00.352 3.39c.711 1.918 1.39 3.51 2.302 4.514a16.435 16.435 0 00-4.865 1.891 39.241 39.241 0 015.048 2.609c.796.47 1.507.887 2.067 1.148 2.713 1.272 4.22 2.654 5.107 3.913h8.543V58.2s-.058-1.741-3.39-3.306v.006zm-42.014 2.29c.561-.268 1.272-.653 2.067-1.149a38.074 38.074 0 015.074-2.608 16.52 16.52 0 00-4.95-1.898c.913-1.03 1.592-2.609 2.303-4.513a8.824 8.824 0 00.352-3.365c0-.972.176-2.57-.059-3.45-.796-2.948-2.772-3.75-5.074-3.75s-4.304.828-5.074 3.75c-.267.854-.091 2.445-.091 3.424a9.046 9.046 0 00.352 3.39c.711 1.918 1.39 3.51 2.302 4.514-3.508.652-5.87 2.609-7.493 3.365-3.333 1.565-3.365 3.261-3.365 3.261v2.89h8.582a13.096 13.096 0 015.074-3.862zm30.887 1.956c-2.42-1.122-6.02-4.044-11.328-5.048 1.356-1.533 2.387-3.913 3.45-6.757.652-1.65.502-3.039.502-5.047 0-1.474.267-3.835-.091-5.133-1.18-4.396-4.129-5.609-7.611-5.609-3.483 0-6.444 1.246-7.605 5.674-.326 1.272-.058 3.626-.058 5.107 0 2.008-.092 3.424.502 5.048 1.063 2.863 2.067 5.25 3.424 6.782-5.283 1.03-8.824 3.913-11.244 5.048-4.989 2.328-4.989 4.898-4.989 4.898v4.337h40.037v-4.344s0-2.57-4.989-4.924v-.032z","fill-rule":"evenodd"}},custom104:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M72.72 20.574H27.28a3.088 3.088 0 00-3.045 3.088v15.485h51.486V23.706a3.088 3.088 0 00-3-3.132zM45.457 42.279v37.147H72.72a3.088 3.088 0 003.044-3.088V42.28h-30.31zm-21.177 0v34.06a3.062 3.062 0 003.045 3.087h15.132V42.28H24.279z","fill-rule":"evenodd"}},custom105:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M76.053 26.316H23.947a3.6 3.6 0 00-3.552 3.623v2.558a.892.892 0 00.316.71l26.273 21.53a4.263 4.263 0 005.93 0l26.273-21.553a.892.892 0 00.316-.71V29.97a3.576 3.576 0 00-3.45-3.655zM20.418 37.929a.868.868 0 01.498-.79.79.79 0 01.955.143l12.75 11.297a.79.79 0 01.284.64.94.94 0 01-.244.67L21.91 61.93a.79.79 0 01-.956.213.86.86 0 01-.529-.853V37.93h-.008zm0 29.21a.971.971 0 01.285-.67l16.05-14.977a.837.837 0 011.168 0l6.782 6.04a7.697 7.697 0 0010.547 0l6.782-6.04a.868.868 0 011.168 0l16.058 14.945a.908.908 0 01.284.67v2.914a3.608 3.608 0 01-3.553 3.663H23.947a3.608 3.608 0 01-3.552-3.655v-2.913l.023.023zm59.156-5.857a.908.908 0 01-.53.852.868.868 0 01-.955-.213L65.34 49.858a.94.94 0 01-.244-.671.79.79 0 01.316-.64l12.75-11.329a.79.79 0 01.923-.102.9.9 0 01.53.79v23.352l-.04.024z","fill-rule":"evenodd"}},custom106:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M49.643 20.543c-11.905.079-21.496 9.787-21.429 21.693 0 17.585 21.429 37.221 21.429 37.221S71.07 59.05 71.07 42.236c.056-11.9-9.528-21.603-21.428-21.693zm0 31.021a9.286 9.286 0 119.193-9.328 9.286 9.286 0 01-9.193 9.321v.007z","fill-rule":"evenodd"}},custom107:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M77.734 51.48h-5.968v26.188a1.221 1.221 0 01-1.295 1.27H58.545a1.189 1.189 0 01-1.04-1.295V57.447H42.987v20.221c.049.63-.405 1.19-1.033 1.27H30.029a1.221 1.221 0 01-1.295-1.295V51.48h-5.968c-.516 0-1.04-.263-1.04-.78-.263-.516-.263-1.04.262-1.294L49.47 21.922c.517-.516 1.295-.516 1.558 0L78.512 49.43c.517.263.517.779.263 1.295-.255.517-.517.78-1.041.78v-.025z","fill-rule":"evenodd"}},custom108:{xmlns:"http://www.w3.org/2000/svg",g:{"fill-rule":"evenodd",path:[{d:"M47.9 60.35l.42-2.82 3.96-2.73-.87-3.72h-.54l-4.2-.33-1.62-2.28.93-4.8-3.12-2.01-.39.39-3.15 2.79-2.7-.42-2.64-4.08-3.57.9v.57l-.3 4.29-2.22 1.68-4.68-.99-1.92 3.27.36.42 2.7 3.27-.39 2.82-3.96 2.7.87 3.69.54.06 4.14.33 1.65 2.25-.96 4.8 3.15 1.98.42-.36 3.15-2.82 2.7.42 2.61 4.08 3.6-.9v-.6l.27-4.2 2.22-1.68 4.62.99 1.92-3.27-.36-.42-2.64-3.24v-.03zm-5.49.66a7.2 7.2 0 01-10.08 2.55 7.8 7.8 0 01-2.49-10.44 7.2 7.2 0 0110.08-2.58 7.8 7.8 0 012.49 10.47z"},{d:"M75.65 46.28l.42-2.82 3.93-2.7-.87-3.69h-.54l-4.14-.33-1.65-2.34.93-4.8-3.15-1.98-.42.36-3.15 2.79-2.7-.42-2.58-4.08-3.6.9-.06.6L57.8 32l-2.22 1.68-4.62-.96-1.92 3.27.36.45 2.7 3.27-.42 2.82-3.93 2.67.87 3.72h.54l4.14.33 1.62 2.31-.96 4.8 3.15 2.04.42-.36 3.15-2.82 2.7.42 2.61 4.08 3.57-.9.03-.57.3-4.29 2.22-1.68 4.65.96 1.92-3.27-.36-.42-2.67-3.27zm-5.52.66a7.2 7.2 0 01-10.08 2.55 7.752 7.752 0 01-2.46-10.44 7.2 7.2 0 0110.08-2.58 7.8 7.8 0 012.46 10.47z"}]}},custom109:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M79.651 46.442l-1.395-2.093-4.06 1.751c-5.247-8.449-14.854-14.651-24.88-14.651-14.881-.007-28.967 13.716-28.967 28.249v.893l.063 1.186h7.116l-.09-1.186a8.33 8.33 0 010-.858c0-11.742 9.815-21.321 21.885-21.321a22.019 22.019 0 0118.768 10.381l-13.905 6.042a8.135 8.135 0 00-8.923-.977 7.674 7.674 0 00-3.349 10.528 8.1 8.1 0 0010.793 3.293 7.744 7.744 0 004.242-7.71l12.9-7.674a20.623 20.623 0 011.395 7.445v.858l-.09 1.186h7.116l.063-1.186a8.623 8.623 0 000-.893 25.165 25.165 0 00-2.652-10.891l3.97-2.372z","fill-rule":"evenodd"}},custom11:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M52.2 21.4l8 16.9L77.9 41c2 .3 2.8 2.9 1.3 4.3L66.4 58.5l3 18.5c.3 2.1-1.7 3.7-3.5 2.7L50 70.9l-15.9 8.8c-1.8 1-3.9-.601-3.5-2.7l3-18.5-12.9-13.2c-1.4-1.5-.6-4 1.3-4.3l17.8-2.7 8-16.9c.9-1.9 3.5-1.9 4.4 0z"}},custom110:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M61.714 20.229H38.286a5.986 5.986 0 00-6.143 5.928v47.536a6.129 6.129 0 006.143 6.071h23.428a6.129 6.129 0 006.143-6.071V26.157a5.986 5.986 0 00-6.143-5.928zm-16.071 3.428h8.714a.55.55 0 01.536.536.607.607 0 01-.536.536h-8.714a.536.536 0 110-1.072zm7.75 51.857a.643.643 0 01-.714.536h-5.536a.55.55 0 01-.536-.536v-2.5c0-.25.286-.643.536-.643h5.571a.714.714 0 01.715.643v2.5h-.036zm10.928-7.357a.629.629 0 01-.678.643H36.357a.629.629 0 01-.714-.643v-39.5a.75.75 0 01.714-.786h27.25c.4.038.7.385.679.786v39.5h.035z","fill-rule":"evenodd"}},custom111:{xmlns:"http://www.w3.org/2000/svg",g:{"fill-rule":"evenodd",path:{d:"M53.373 45.053c-.06 0-.093 0-.12-.06-2.306-.993-5.7-3.66-10.74-4.566 1.287-1.334 2.28-3.507 3.267-6.087.573-1.473.48-2.733.48-4.533 0-1.334.24-3.447-.093-4.62-1.107-4-3.9-5.074-7.2-5.074-3.3 0-6.12 1.114-7.234 5.074-.326 1.166-.06 3.3-.06 4.62 0 1.8-.093 3.06.48 4.56 1.02 2.553 2 4.713 3.24 6.086-4.98.934-8.373 3.54-10.666 4.534C20.047 47.12 20 49.4 20 49.4v7.593h23.653a20.1 20.1 0 019.72-11.94zM62.827 70.46a7.767 7.767 0 117.766-7.793 7.773 7.773 0 01-7.766 7.793zM80 64.547v-3.88l-.54-.18-4.2-1.334-1.107-2.666 2.127-4.527-2.76-2.76-.513.267-3.9 2-2.667-1.114-1.68-4.706h-3.947l-.146.486-1.38 4.167-2.667 1.113L52 49.28l-2.733 2.76.266.513 2 3.927-1.113 2.667-4.707 1.68v3.9l.54.18 4.174 1.38 1.113 2.666-2.207 4.6 2.76 2.76.507-.266 3.933-2L59.2 75.16l1.68 4.707h3.9l.18-.54 1.38-4.167 2.667-1.113 4.533 2.126 2.76-2.76-.267-.506-2-3.9 1.107-2.667L80 64.547z"}}},custom112:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M51.121 50.166a56.676 56.676 0 00-25.737 0 7.271 7.271 0 00-4.973 6.513v5.25a7.192 7.192 0 004.973 6.513c.79.197 1.58.316 2.369.474l6.67 9.552c1.224 1.737 2.211 1.421 2.211-.71v-7.895c4.87.16 9.74-.318 14.487-1.42a7.271 7.271 0 004.974-6.514v-5.25a7.16 7.16 0 00-4.974-6.513zm23.526-27.632a72.15 72.15 0 00-35.052 0 7.279 7.279 0 00-4.974 6.553v9.316a7.279 7.279 0 004.974 6.552 71.424 71.424 0 0019.579 2.092v10.974c0 2.092.987 2.447 2.17.71l8.961-12.789a75.61 75.61 0 004.303-.947 7.279 7.279 0 004.974-6.553v-9.316a7.184 7.184 0 00-4.935-6.552v-.04z","fill-rule":"evenodd"}},custom113:{xmlns:"http://www.w3.org/2000/svg",g:{"fill-rule":"evenodd",path:{d:"M27.16 59.042h45.735a.64.64 0 00.592-.631V26.816c0-.671-.513-.987-1.184-.987h-44.55c-.632 0-1.303.316-1.303.987v31.579c0 .316.395.631.71.631v.016zm3.893-27.947a.608.608 0 01.592-.592H68.3a.608.608 0 01.592.592v22.697a.608.608 0 01-.592.592H31.621a.608.608 0 01-.592-.592V31.095h.024zM79.463 73.34l-5.842-11.843a.663.663 0 00-.513-.355H26.884a.663.663 0 00-.513.355L20.53 73.34a1.255 1.255 0 001.05 1.856H78.42a1.263 1.263 0 001.026-1.856h.016zm-23.479-.735h-11.92a.387.387 0 01-.277-.552l1.697-3.237a.663.663 0 01.513-.355h8.014c.204.009.393.11.513.276l1.697 3.316c.118.197 0 .552-.237.552z"}}},custom12:{xmlns:"http://www.w3.org/2000/svg",circle:{cx:"50",cy:"50",r:"30"}},custom13:{xmlns:"http://www.w3.org/2000/svg",g:{path:{d:"M74 22H26c-3.3 0-6 2.7-6 6v6c0 1.1.9 2 2 2h56c1.1 0 2-.9 2-2v-6c0-3.3-2.7-6-6-6zM74 42H26c-1.1 0-2 .9-2 2v28c0 3.3 2.7 6 6 6h40c3.3 0 6-2.7 6-6V44c0-1.1-.9-2-2-2zm-13 9c0 1.6-1.3 3-3 3H42c-1.6 0-3-1.3-3-3 0-1.6 1.3-3 3-3h16c1.7 0 3 1.3 3 3z"}}},custom14:{xmlns:"http://www.w3.org/2000/svg",g:{path:[{d:"M78 33h-6c-1.3 0-2.6-.6-3.6-1.5l-4.8-4.1c-1-.8-2.3-1.4-3.6-1.4H48.3c-1.5 0-2.9.6-4 1.7l-6.2 5.1c-.5.4-.5 1.2-.1 1.7l1.9 1.8c1.3 1 3 1.2 4.3.3l5.5-3.3c.7-.5 1.7-.3 2.3.3l17.3 16.8c.4.4.7 1 .7 1.6v4.5c0 1.2.9 2.5 2 2.5h6c1.1 0 2-.9 2-2.1V35c0-1.2-.9-2-2-2z"},{d:"M61 51L50.2 40.5l-3 1.8c-1.5.9-3.2 1.4-4.9 1.4-2.1 0-4.3-.8-6-2.2l-3.9-3.2c-.9-.7-1.4-1.5-1.5-2.6-.2-1.1-1-1.7-2-1.7H22c-1.1 0-2 .6-2 1.8V54c0 1.2.9 2 2 2h4c.3 0 .7-1.1 1.1-1.6 1.5-2 3.7-3.101 6.1-3.4 2.4-.2 4.7.6 6.6 2.3l12.5 11.4c1.101 1 1.9 2.1 2.4 3.5.3.7 1.1.899 1.6.399L61 63.9c2.4-2.4 4.2-8 2-10.601L61 51z"},{d:"M35.9 58.4c-1.3-1.2-3.2-1-4.2.399-1.1 1.4-.9 3.4.4 4.601l12.5 11.3c.6.6 1.4.8 2.2.7.8-.101 1.5-.5 2-1.2 1.1-1.4.9-3.4-.4-4.601L35.9 58.4z"}]}},custom15:{xmlns:"http://www.w3.org/2000/svg",g:{path:[{d:"M70 46.1c-3.5-1.5-4-2.8-4-4.2 0-1.5 1-2.8 2.2-3.9 2.1-1.9 3.2-4.5 3.2-7.5 0-5.6-3.5-10.5-9.801-10.5C56.2 20 52.9 23.6 52 28.2c-.1.4.1.8.4 1 4.5 3.2 7.3 8.6 7.3 15.1 0 4.5-1.5 8.601-4.3 11.7-.4.5-.3 1.3.4 1.6 1.7.7 3.7 1.7 5.7 2.801.6.399 1.3.6 2 .6H75c2.8 0 5-2.2 5-4.9v-.8C80 50.8 75.1 48.3 70 46.1z"},{d:"M52.1 62.6c-4.2-1.699-4.8-3.3-4.8-5 0-1.699 1.2-3.3 2.6-4.6 2.4-2.2 3.8-5.2 3.8-8.8 0-6.6-4.2-12.3-11.6-12.3s-11.6 5.7-11.6 12.3c0 3.6 1.3 6.6 3.8 8.8 1.4 1.2 2.6 2.9 2.6 4.6 0 1.7-.6 3.2-4.8 5-6.1 2.5-11.9 5.4-12 10.7v.9c0 3.2 2.7 5.8 6 5.8H58c3.3 0 6-2.6 6-5.8v-.9c0-5.3-5.8-8.2-11.9-10.7z"}]}},custom16:{xmlns:"http://www.w3.org/2000/svg",g:{path:{d:"M72 70h-1V48c0-1.1-.9-2-2-2h-2c-1.1 0-2 .9-2 2v22h-6V48c0-1.1-.9-2-2-2h-2c-1.1 0-2 .9-2 2v22h-6V48c0-1.1-.9-2-2-2h-2c-1.1 0-2 .9-2 2v22h-6V48c0-1.1-.9-2-2-2h-2c-1.1 0-2 .9-2 2v22h-1c-3.3 0-6 2.7-6 6v2c0 1.1.9 2 2 2h52c1.1 0 2-.9 2-2v-2c0-3.3-2.7-6-6-6zM77 34.4L52.3 20.8c-.7-.5-1.5-.8-2.3-.8-.8 0-1.6.3-2.3.8L23 34.4c-.6.4-1 1-1 1.7V38c0 1.1.9 2 2 2h52c1.1 0 2-.9 2-2v-1.8c0-.7-.4-1.4-1-1.8zM50 36c-2.8 0-5-2.2-5-5s2.2-5 5-5 5 2.2 5 5-2.2 5-5 5z"}}},custom17:{xmlns:"http://www.w3.org/2000/svg",g:{path:{d:"M43 28.9c.3.7 1 1.1 1.8 1.1H55c.8 0 1.5-.4 1.8-1.1l4-7.4c.3-.7-.2-1.4-.899-1.4H40.1c-.7 0-1.2.8-.9 1.4l3.8 7.4zM55.9 36H44c-9.9 0-18 8.1-18 18v20c0 3.3 2.7 6 6 6h35.9c3.3 0 6.1-2.7 6.1-6V54c0-9.9-8.2-18-18.1-18zM53 69.6V73c0 .6-.6 1-1.2 1h-4c-.6 0-.8-.4-.8-1v-3.3c-3-.601-5.5-1.9-6.2-2.5-.8-.7-1-1.4-.4-2.3l1.3-2c.3-.5.9-.801 1.5-.801.4 0 .7.101 1 .301h.1c2 1.199 3.8 1.8 5.1 1.8 1.4 0 2.5-.7 2.5-1.5 0-.601-.4-1.601-4.2-2.9-3.4-1.2-7.6-3.3-7.6-7.899 0-2.7 1.8-5.9 6.8-6.9v-3c0-.6.3-1 .8-1h4c.6 0 1.2.4 1.2 1v3c2 .5 4.199 1.5 4.899 2 .4.2.601.7.7 1.2s-.1 1-.4 1.3l-1.5 1.8c-.399.5-1.1.9-1.699.9-.3-.001-.6-.101-.9-.201-2-1.1-3.7-1.7-4.8-1.7-1.7 0-2.4.8-2.4 1.3 0 .7.4 1.5 3.8 2.7 4.2 1.4 8.9 3.601 8.9 8.3.1 3.2-2.5 6.1-6.5 7z"}}},custom18:{xmlns:"http://www.w3.org/2000/svg",g:{path:[{d:"M60 36h10.6c.801 0 1.4-.6 1.4-1.4 0-.4-.1-.7-.4-1L58.4 20.4c-.3-.3-.6-.4-1-.4-.8 0-1.4.6-1.4 1.4V32c0 2.2 1.8 4 4 4zM83.4 49.6l-1.2-1.2c-.8-.8-2-.8-2.8 0L64 63.9c-.1.1 0 .2 0 .4v3.3c0 .301 0 .5.3.5h3.3c.1 0 .3-.1.4-.1l15.4-15.4c.8-1 .8-2.2 0-3z"},{d:"M70.9 74h-9.1c-2.1 0-3.8-1.7-3.8-3.8v-7c0-1.101.3-2.101 1.1-2.8L71.4 48c.399-.4.6-.9.6-1.4V44c0-1.1-.9-2-2-2H56c-3.3 0-6-2.7-6-6V22c0-1.1-.9-2-2-2H28c-3.3 0-6 2.7-6 6v48c0 3.3 2.7 6 6 6h38c2.9 0 5.4-2.1 5.9-4.8.1-.6-.4-1.2-1-1.2zM30 38c0-1.1.9-2 2-2h8c1.1 0 2 .9 2 2v2c0 1.1-.9 2-2 2h-8c-1.1 0-2-.9-2-2v-2zm20 26c0 1.1-.9 2-2 2H32c-1.1 0-2-.9-2-2v-2c0-1.1.9-2 2-2h16c1.1 0 2 .9 2 2v2zm4-12c0 1.1-.9 2-2 2H32c-1.1 0-2-.9-2-2v-2c0-1.1.9-2 2-2h20c1.1 0 2 .9 2 2v2z"}]}},custom19:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M79.2 32.8c-.2-.7-1.101-.9-1.7-.4L67.4 42.5c-.801.8-2 .8-2.801 0l-7.1-7.1c-.8-.8-.8-2 0-2.8l10.2-10.2c.5-.5.3-1.4-.4-1.7C65.6 20.3 63.8 20 62 20c-10.6 0-19.1 9.2-17.9 20 .2 1.7.6 3.2 1.2 4.7L22 68.1c-2.7 2.7-2.7 7.2 0 9.9 1.4 1.4 3.2 2.1 5 2.1s3.6-.699 5-2.1l23.3-23.3c1.5.6 3.101 1 4.7 1.2 10.9 1.2 20-7.3 20-17.9 0-1.8-.3-3.6-.8-5.2z"}},custom2:{xmlns:"http://www.w3.org/2000/svg",g:{path:{d:"M59 22c-3-2-13.8-3.9-18 3-2 3.3.4 9.1 2.2 12.8.5.9 1.5 1.4 2.5 1 1.3-.5 2.8-.8 4.3-.8 1 0 2 .1 3 .4.9.2 1.8-.2 2.2-1 .7-1.3 1.899-2.8 3.8-4.4 5-4 3-9 0-11zM53.8 61.4c-1.2.4-2.5.6-3.8.6-1.2 0-2.4-.2-3.5-.5-.9-.3-1.9.2-2.3 1-.7 1.3-1.9 2.9-3.9 4.5-5 4-3 9.1 0 11.1s13.9 3.9 18-3c1.9-3.199-.3-9-2.1-12.699-.5-.901-1.5-1.301-2.4-1.001zM75 41c-3.3-2-9.1.4-12.8 2.2-.9.5-1.4 1.5-1 2.5.5 1.3.8 2.8.8 4.3 0 1-.1 2-.4 3-.199.9.2 1.8 1 2.2 1.3.7 2.8 1.9 4.4 3.8 4 5 9 3 11 0s3.9-13.9-3-18zM38.6 53.8c-.4-1.2-.6-2.5-.6-3.8 0-1.2.2-2.4.5-3.5.3-.9-.2-1.9-1-2.3-1.3-.7-2.9-1.9-4.5-3.9-4-5-9.1-3-11.1 0s-3.9 13.8 3 18c3.2 1.9 9-.3 12.7-2.1.9-.5 1.3-1.5 1-2.4z"},circle:{cx:"50",cy:"50",r:"6"}}},custom20:{xmlns:"http://www.w3.org/2000/svg",g:{path:{d:"M38 47.7c0-.8-1-1.3-1.6-.8l-14 10.8c-1.5 1.1-2.4 2.9-2.4 4.8v4.1c0 .7.7 1.2 1.3.9l15.4-5.8c.8-.3 1.3-1 1.3-1.9V47.7zM60.1 75.7L56 73V27.6c0-2.7-2.9-5.7-4.8-7.2-.7-.6-1.8-.6-2.5 0-1.8 1.5-4.8 4.5-4.8 7.2V73l-4.6 3c-.8.6-1.4 1.5-1.4 2.5v.6c0 .5.4.9.9.9h22.1c.5 0 1.1-.4 1.1-.9 0-1.4-.8-2.6-1.9-3.4zM77.6 57.7l-14-10.8a1 1 0 00-1.6.8v12.2c0 .8.5 1.6 1.3 1.899l15.4 5.8c.7.201 1.3-.199 1.3-.899v-4.1c0-2-.9-3.8-2.4-4.9z"}}},custom21:{xmlns:"http://www.w3.org/2000/svg",g:{path:{d:"M57.6 71.1c-.3-.699-1-1.1-1.8-1.1H44.2c-.8 0-1.5.4-1.8 1.1l-2.7 7.4c-.3.7.2 1.4.9 1.4h18.8c.699 0 1.199-.801.899-1.4L57.6 71.1zM74 20H26c-3.3 0-6 2.7-6 6v32c0 3.3 2.7 6 6 6h48c3.3 0 6-2.7 6-6V26c0-3.3-2.7-6-6-6zM50 62c-1.7 0-3-1.3-3-3s1.3-3 3-3 3 1.3 3 3-1.3 3-3 3zm24-10c0 1.1-.9 2-2 2H28c-1.1 0-2-.9-2-2V28c0-1.1.9-2 2-2h44c1.1 0 2 .9 2 2v24z"}}},custom22:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M77.7 63.9l-6.2-5a6.002 6.002 0 00-7.3-.2L58.3 63c-.8.6-1.899.5-2.6-.2L46 54l-8.9-9.8c-.7-.7-.8-1.8-.2-2.6l4.3-5.9c1.6-2.2 1.5-5.2-.2-7.3l-5-6.2c-2.2-2.8-6.4-3-8.9-.5l-5.4 5.4c-1.2 1.2-1.8 2.9-1.8 4.5.7 12.7 6.5 24.8 15 33.3s20.5 14.3 33.3 15c1.7.1 3.3-.601 4.5-1.801l5.4-5.399c2.7-2.4 2.4-6.6-.4-8.8z"}},custom23:{xmlns:"http://www.w3.org/2000/svg",g:{path:[{d:"M48.7 56c.8.7 1.899.7 2.7 0l28.3-26.2c.5-1 .399-2.6-1.601-2.6l-56 .1c-1.5 0-2.7 1.4-1.6 2.6L48.7 56z"},{d:"M80 41c0-1.3-1.6-2-2.5-1.1l-22 20.4c-1.5 1.4-3.4 2.1-5.4 2.1-2 0-3.9-.7-5.4-2.101L22.6 39.9c-1-.9-2.5-.2-2.5 1.1v26c0 3.3 2.7 6 6 6h48c3.301 0 6-2.7 6-6-.1 0-.1-18-.1-26z"}]}},custom24:{xmlns:"http://www.w3.org/2000/svg",g:{path:{d:"M68.1 20H31.9c-3.3 0-5.9 2.7-5.9 5.9v.1c0 1.1.9 2 2 2h44c1.1 0 2-.9 2-2v-.1c0-3.2-2.7-5.9-5.9-5.9zM68 34H32c-1.1 0-2 .9-2 2v42c0 1.1.9 2 2 2h11.1c1.1 0 1.9-.9 1.9-2v-8c0-1.1 1-2 2.1-2h5.8c1.1 0 2.1.9 2.1 2v8c0 1.1.8 2 1.9 2H68c1.1 0 2-.9 2-2V36c0-1.1-.9-2-2-2zM47 61c0 1.1-.9 2-2 2h-4c-1.1 0-2-.9-2-2v-4c0-1.1.9-2 2-2h4c1.1 0 2 .9 2 2v4zm0-14c0 1.1-.9 2-2 2h-4c-1.1 0-2-.9-2-2v-4c0-1.1.9-2 2-2h4c1.1 0 2 .9 2 2v4zm14 14c0 1.1-.9 2-2 2h-4c-1.1 0-2-.9-2-2v-4c0-1.1.9-2 2-2h4c1.1 0 2 .9 2 2v4zm0-14c0 1.1-.9 2-2 2h-4c-1.1 0-2-.9-2-2v-4c0-1.1.9-2 2-2h4c1.1 0 2 .9 2 2v4z"}}},custom25:{xmlns:"http://www.w3.org/2000/svg",g:{path:[{d:"M79.8 27.3c-.7-3.7-3.8-6.7-7.6-7.2-2.7-.4-5.2.5-7.101 2-.6.5-.5 1.3.2 1.7 4.601 2.4 8.5 5.9 11.5 10.1.4.6 1.3.6 1.7 0C79.8 32 80.3 29.7 79.8 27.3zM34.6 23.8c.6-.3.7-1.2.2-1.7-1.9-1.6-4.4-2.4-7.1-2-3.8.5-6.9 3.5-7.6 7.2-.4 2.4.1 4.7 1.3 6.5.4.6 1.3.6 1.7 0 3-4.1 6.9-7.6 11.5-10zM50 26c-14.9 0-27 12.1-27 27 0 6 2 11.6 5.3 16l-4.1 4.1c-1.6 1.601-1.6 4.101 0 5.7.8.8 1.8 1.2 2.8 1.2s2-.4 2.8-1.2l4.1-4.1C38.4 78 44 80 50 80s11.6-2 16-5.3l4.1 4.1C71 79.6 72 80 73 80s2-.4 2.8-1.2c1.601-1.6 1.601-4.1 0-5.7L71.7 69C75 64.6 77 59 77 53c0-14.9-12.1-27-27-27zM31 53c0-10.5 8.5-19 19-19s19 8.5 19 19-8.5 19-19 19-19-8.5-19-19z"},{d:"M53 51.8V44c0-1.7-1.3-3-3-3s-3 1.3-3 3v9c0 .8.3 1.6.9 2.1l7 7c.6.6 1.4.9 2.1.9s1.5-.3 2.1-.9c1.2-1.199 1.2-3.1 0-4.199L53 51.8z"}]}},custom26:{xmlns:"http://www.w3.org/2000/svg",g:{path:{d:"M26 20c-3.3 0-6 2.7-6 6 0 1.8.8 3.4 2 4.5V76c0 2.2 1.8 4 4 4s4-1.8 4-4V30.5c1.2-1.1 2-2.7 2-4.5 0-3.3-2.7-6-6-6zM78.5 30.8c-15.7 8.2-26.4-5.9-41.2-.5-.8.3-1.3 1-1.3 1.9V58c0 1.3 1.3 2.3 2.6 1.9 14.2-4.3 24.9 9.1 40.4.6.6-.3 1-1 1-1.7V31.7c0-.8-.8-1.3-1.5-.9z"}}},custom27:{xmlns:"http://www.w3.org/2000/svg",g:{path:{d:"M24 63h52c1.1 0 2-.9 2-2V29c0-3.3-2.7-6-6-6H28c-3.3 0-6 2.7-6 6v32c0 1.1.9 2 2 2zm4-32c0-1.1.9-2 2-2h40c1.1 0 2 .9 2 2v24c0 1.1-.9 2-2 2H30c-1.1 0-2-.9-2-2V31zM80 69H58c-1.1 0-2 .9-2 2s-.9 2-2 2h-8c-1.1 0-2-.9-2-2s-.9-2-2-2H20c-1.1 0-2 .9-2 2 0 3.3 2.7 6 6 6h52c3.3 0 6-2.7 6-6 0-1.1-.9-2-2-2z"}}},custom28:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M64 20H36c-3.3 0-6 2.7-6 6v48c0 3.3 2.7 6 6 6h28c3.3 0 6-2.7 6-6V26c0-3.3-2.7-6-6-6zM50 78c-1.7 0-3-1.3-3-3s1.3-3 3-3 3 1.3 3 3-1.3 3-3 3zm14-10c0 1.1-.9 2-2 2H38c-1.1 0-2-.9-2-2V30c0-1.1.9-2 2-2h24c1.1 0 2 .9 2 2v38z"}},custom29:{xmlns:"http://www.w3.org/2000/svg",g:{path:{d:"M73.9 28h-1.8c-1.2 0-2.1 1-2.1 2.2V70c0 .1 0 .3.1.4l2.5 3.5c.2.199.5.199.801 0l2.5-3.5c.099-.1.099-.2.099-.4V30.2c0-1.2-.9-2.2-2.1-2.2zM58 20H30c-3.3 0-6 2.7-6 6v48c0 3.3 2.7 6 6 6h28c3.3 0 6-2.7 6-6V26c0-3.3-2.7-6-6-6zM44 78c-1.7 0-3-1.3-3-3s1.3-3 3-3 3 1.3 3 3-1.3 3-3 3zm14-10c0 1.1-.9 2-2 2H32c-1.1 0-2-.9-2-2V30c0-1.1.9-2 2-2h24c1.1 0 2 .9 2 2v38z"}}},custom3:{xmlns:"http://www.w3.org/2000/svg",g:{path:[{d:"M50 38c-6.6 0-12 5.4-12 12s5.4 12 12 12 12-5.4 12-12-5.4-12-12-12z"},{d:"M80 50c0-3.5-8.4-5.3-9.7-8.4-1.3-3.2 3.3-10.4.9-12.8-2.4-2.4-9.601 2.2-12.8.9-3.1-1.3-4.9-9.7-8.4-9.7s-5.3 8.4-8.4 9.7c-3.2 1.3-10.4-3.3-12.8-.9-2.4 2.4 2.2 9.6.9 12.8-1.3 3.1-9.7 4.9-9.7 8.4s8.4 5.3 9.7 8.4c1.3 3.2-3.3 10.4-.9 12.8 2.4 2.399 9.6-2.2 12.8-.9 3.1 1.3 4.9 9.7 8.4 9.7s5.3-8.4 8.4-9.7c3.2-1.3 10.4 3.3 12.8.9 2.4-2.4-2.2-9.6-.9-12.8 1.3-3.1 9.7-4.9 9.7-8.4zM50 68c-9.9 0-18-8.1-18-18s8.1-18 18-18 18 8.1 18 18-8.1 18-18 18z"}]}},custom30:{xmlns:"http://www.w3.org/2000/svg",g:{path:[{d:"M71.5 28.5C66 23 58.7 20 51 20c-1.7 0-3 1.3-3 3s1.3 3 3 3c6.1 0 11.9 2.4 16.3 6.7C71.6 37.1 74 42.9 74 49c0 1.7 1.3 3 3 3s3-1.3 3-3c0-7.7-3-15-8.5-20.5z"},{d:"M51 32c-1.7 0-3 1.3-3 3s1.3 3 3 3c2.9 0 5.7 1.1 7.8 3.2C60.9 43.3 62 46 62 49c0 1.7 1.3 3 3 3s3-1.3 3-3c0-4.5-1.8-8.8-5-12s-7.5-5-12-5zM46.7 60.7l2.6-7c1.8.7 3.8.3 5.3-1.101 2-2 2-5.1 0-7.1s-5.1-2-7.1 0c-1.5 1.5-1.8 3.7-1 5.6L40 54 28.3 42.3c-.8-.8-2.2-.8-2.9.1-7.5 9-7 22.4 1.5 30.8 8.4 8.399 21.8 8.899 30.8 1.5.9-.7.9-2.1.1-2.9L46.7 60.7z"}]}},custom31:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M75.5 43.2l-4.9-15.4C69.7 24.9 67 23 64 23H36c-3 0-5.7 1.9-6.7 4.8l-4.8 15.4c-2.6.7-4.5 3-4.5 5.8v12c0 2.6 1.7 4.8 4 5.7V75c0 1.1.9 2 2 2h8c1.1 0 2-.9 2-2v-8h28v8c0 1.1.9 2 2 2h8c1.1 0 2-.9 2-2v-8.3c2.3-.8 4-3 4-5.7V49c0-2.8-1.9-5.1-4.5-5.8zM30 60c-2.8 0-5-2.2-5-5s2.2-5 5-5 5 2.2 5 5-2.2 5-5 5zm22-17H32.2c-.7 0-1.2-.7-1-1.3l3.8-12c.1-.4.5-.7.9-.7h28c.399 0 .8.3.899.6l3.8 12.1c.2.6-.3 1.3-1 1.3H52zm17 17c-2.8 0-5-2.2-5-5s2.2-5 5-5 5 2.2 5 5-2.2 5-5 5z"}},custom32:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M78.5 35.3L55.1 48.6c-.5.3-1 .4-1.5.4-1.1 0-2.199-.6-2.699-1.7-.7-1.4 0-3.2 1.399-4l7.8-4.4v-7.7c0-.8-.8-1.2-1.5-.9L30.1 46.6c-.5.3-1 .4-1.5.4-1 0-2.1-.5-2.6-1.5-.8-1.4-.3-3.3 1.1-4.1l4.9-2.8V22c0-1.1-.9-2-2-2h-8c-1.1 0-2 .9-2 2v52c0 3.3 2.7 6 6 6h17c1.1 0 2-.9 2-2v-7c0-1.1.9-2 2-2h6c1.1 0 2 .9 2 2v7c0 1.1.9 2 2 2h17c3.3 0 6-2.7 6-6V36.2c0-.8-.8-1.3-1.5-.9zM35 63c0 1.1-.9 2-2 2h-2c-1.1 0-2-.9-2-2v-6c0-1.1.9-2 2-2h2c1.1 0 2 .9 2 2v6zm12 0c0 1.1-.9 2-2 2h-2c-1.1 0-2-.9-2-2v-6c0-1.1.9-2 2-2h2c1.1 0 2 .9 2 2v6zm12 0c0 1.1-.9 2-2 2h-2c-1.1 0-2-.9-2-2v-6c0-1.1.9-2 2-2h2c1.1 0 2 .9 2 2v6zm12 0c0 1.1-.9 2-2 2h-2c-1.1 0-2-.9-2-2v-6c0-1.1.9-2 2-2h2c1.1 0 2 .9 2 2v6z"}},custom33:{xmlns:"http://www.w3.org/2000/svg",g:{path:[{d:"M65 42H36c-1.1 0-2 .9-2 2v8c0 1.1.9 2 2 2h29c1.1 0 2-.9 2-2v-8c0-1.1-.9-2-2-2zm-14 9c-1.7 0-3-1.3-3-3s1.3-3 3-3 3 1.3 3 3-1.3 3-3 3z"},{d:"M80 28H20c-1.1 0-2 .9-2 2v2c0 2.2 1.8 4 4 4v36c0 1.1.9 2 2 2h2c1.1 0 2-.9 2-2V36h45v36c0 1.1.9 2 2 2h2c1.1 0 2-.9 2-2V36h-1c2.2 0 4-1.8 4-4v-2c0-1.1-.9-2-2-2z"}]}},custom34:{xmlns:"http://www.w3.org/2000/svg",g:{path:[{d:"M42 30h16c1.1 0 2-1.1 1.8-2.2-1-4.5-5-7.8-9.8-7.8s-8.8 3.4-9.8 7.8c-.2 1.1.7 2.2 1.8 2.2z"},{d:"M77 56c1.7 0 3.1-1.4 3-3.2-.1-1.6-1.5-2.8-3.2-2.8H68v-5c5.8-2.3 9.9-8.5 10-15.9 0-1.5-1-2.8-2.5-3.1-1.9-.3-3.5 1.1-3.5 3 0 4.3-2 8-4.9 9.8-1.1-1.7-3-2.8-5.1-2.8H38c-2.1 0-4 1.1-5.1 2.8C30 37 28 33.4 28 29.2c0-1.6-1.2-3.1-2.8-3.2-1.8-.1-3.2 1.3-3.2 3 0 7.4 4.2 13.7 10 16v5h-8.8c-1.6 0-3.1 1.2-3.2 2.8-.1 1.7 1.3 3.2 3 3.2h9v5c-5.8 2.3-9.9 8.5-10 15.9 0 1.5 1 2.8 2.5 3.1 1.9.3 3.5-1.1 3.5-3 0-4.2 1.9-7.9 4.8-9.7 1.7 5.601 6.1 10 11.6 11.8 1.3.4 2.6-.6 2.6-1.899v-24c0-1.601 1.2-3.1 2.8-3.2 1.7-.1 3.2 1.3 3.2 3v24.2c0 1.399 1.3 2.3 2.6 1.899 5.5-1.8 9.9-6.199 11.601-11.8 2.8 1.8 4.7 5.4 4.8 9.5 0 1.601 1.2 3.101 2.8 3.2 1.8.1 3.2-1.3 3.2-3 0-7.4-4.2-13.7-10-16v-5H77z"}]}},custom35:{xmlns:"http://www.w3.org/2000/svg",g:{path:[{d:"M69 40c-1.7 0-3 1.3-3 3v5c0 8.8-7.2 16-16 16s-16-7.2-16-16v-5c0-1.7-1.3-3-3-3s-3 1.3-3 3v5c0 11.1 8.3 20.3 19 21.8V74h-5c-1.7 0-3 1.3-3 3s1.3 3 3 3h16c1.7 0 3-1.3 3-3s-1.3-3-3-3h-5v-4.2C63.7 68.3 72 59.1 72 48v-5c0-1.7-1.3-3-3-3z"},{d:"M50 58c5.5 0 10-4.5 10-10V29.9c0-5.5-4.4-9.9-9.9-9.9h-.2c-5.5 0-9.9 4.4-9.9 9.9V48c0 5.5 4.5 10 10 10z"}]}},custom36:{xmlns:"http://www.w3.org/2000/svg",g:{path:{d:"M38.7 72h-4.1c-.7 0-1.4.4-1.7 1l-1.4 2.4c-.8 1.4-.5 3.2.8 4.1.5.4 1.1.5 1.7.5 1 0 2-.5 2.6-1.5l3-5c.4-.7-.1-1.5-.9-1.5zM67.1 73c-.399-.6-1-1-1.699-1H61.3c-.8 0-1.3.8-.899 1.5l3 5C64 79.5 65 80 66 80c.6 0 1.2-.2 1.7-.5 1.3-.9 1.6-2.8.8-4.1L67.1 73zM67 20H33c-3.3 0-6 2.7-6 6v34c0 3.3 2.7 6 6 6h34c3.3 0 6-2.7 6-6V26c0-3.3-2.7-6-6-6zM36 62c-1.7 0-3-1.3-3-3s1.3-3 3-3 3 1.3 3 3-1.3 3-3 3zm28 0c-1.7 0-3-1.3-3-3s1.3-3 3-3 3 1.3 3 3-1.3 3-3 3zm3-12c0 1.1-.9 2-2 2H35c-1.1 0-2-.9-2-2V30c0-1.1.9-2 2-2h30c1.1 0 2 .9 2 2v20z"}}},custom37:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M80 56H67V44.2c2.7 2.3 6.2 3.8 10 3.8 1.7 0 3-1.3 3-3s-1.3-3-3-3c-5.5 0-10-4.9-10-11v-3c1.1 0 2-.9 2-2v-2c0-1.1-.9-2-2-2h-6c-1.1 0-2 .9-2 2v2c0 1.1.9 2 2 2v3c0 6.1-4.9 11-11 11s-11-4.9-11-11v-3c1.1 0 2-.9 2-2v-2c0-1.1-.9-2-2-2h-6c-1.1 0-2 .9-2 2v2c0 1.1.9 2 2 2v3c0 6.1-4.5 11-10 11-1.7 0-3 1.3-3 3s1.3 3 3 3c3.8 0 7.3-1.4 10-3.8V56H20c-1.1 0-2 .9-2 2v4.8c0 1.101.9 2.2 2 2.2h4v10.8c0 1.101.9 2.2 2 2.2h6c1.1 0 2-1.1 2-2.2v-4c0-3.3 2.7-5.8 6-5.8h20c3.3 0 6 2.5 6 5.8v4c0 1.101.9 2.2 2 2.2h6c1.1 0 2-1.1 2-2.2V65h4c1.1 0 2-1.1 2-2.2V58c0-1.1-.9-2-2-2zM39 43.9c3 2.5 6.8 4.1 11 4.1s8-1.5 11-4.1V56H39V43.9z"}},custom38:{xmlns:"http://www.w3.org/2000/svg",g:{path:[{d:"M50 45c-4.4 0-8 3.6-8 8s3.6 8 8 8 8-3.6 8-8-3.6-8-8-8z"},{d:"M74 35h-8.1c-.801 0-1.5-.4-1.801-1.2l-2.6-5.5c-1-2-3.1-3.3-5.4-3.3H43.9c-2.3 0-4.4 1.3-5.4 3.3l-2.6 5.5c-.3.7-1 1.2-1.8 1.2H26c-3.3 0-6 2.7-6 6v28c0 3.3 2.7 6 6 6h48c3.3 0 6-2.7 6-6V41c0-3.3-2.7-6-6-6zM50 67.2c-7.7 0-14-6.3-14-14s6.3-14 14-14 14 6.3 14 14-6.3 14-14 14z"}]}},custom39:{xmlns:"http://www.w3.org/2000/svg",g:{path:{d:"M63.6 28.6c-.199-.8-1.1-1.3-1.899-1.1l-40.3 13c-1 .3-1.5 1.4-1.3 2.4l1.6 6.2c.3 1 1.3 1.7 2.3 1.5L34.2 49.2c.3 1.1.8 2.2 1.5 3.1L27 75.9c-.6 1.6.2 3.3 1.8 3.899.3.101.7.2 1 .2 1.2 0 2.4-.8 2.8-2l8.2-22.4c.7.2 1.3.2 2 .2s1.4-.1 2-.2L53.1 78c.4 1.2 1.601 2 2.801 2 .3 0 .699-.1 1-.2 1.6-.6 2.399-2.3 1.8-3.899L50 52.2c1.1-1.5 1.8-3.4 1.8-5.4v-.1l14.101-2c.899-.1 1.5-1 1.199-1.9l-3.5-14.2zM79.9 42.7l-5.5-20.4c-.4-1.6-2.101-2.6-3.7-2.2-1.601.4-2.601 2.1-2.2 3.7L74 44.2c.4 1.6 2.1 2.6 3.7 2.2 1.6-.4 2.6-2.1 2.2-3.7z"}}},custom4:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M26.2 32.7L47 20.8c1.9-1.1 4.3-1.1 6.2 0l20.7 11.9c1.899 1.1 3.1 3.2 3.1 5.4v23.8c0 2.199-1.1 4.3-3.1 5.399L53.2 79.2c-1.9 1.1-4.3 1.1-6.2 0L26.2 67.3c-1.9-1.1-3.2-3.2-3.2-5.4V38.1c0-2.2 1.3-4.3 3.2-5.4z"}},custom40:{xmlns:"http://www.w3.org/2000/svg",g:{path:[{d:"M74 28H26c-3.3 0-6 2.7-6 6v34c0 3.3 2.7 6 6 6h48c3.3 0 6-2.7 6-6V34c0-3.3-2.7-6-6-6zm0 6v6H26v-6h48zM26 68V50h48v18H26z"},{d:"M43.1 55c-1.4 0-2.6.7-3.3 1.8-.1.2-.4.2-.5 0-.7-1.1-1.9-1.8-3.3-1.8-2.2 0-4 1.8-4 4s1.8 4 4 4c1.4 0 2.6-.7 3.3-1.8.1-.2.4-.2.5 0 .7 1.1 1.9 1.8 3.3 1.8h.1c2.1 0 3.9-1.7 3.9-3.9v-.2c-.1-2.2-1.8-3.9-4-3.9zM66 56H54c-1.1 0-2 .9-2 2v2c0 1.1.9 2 2 2h12c1.1 0 2-.9 2-2v-2c0-1.1-.9-2-2-2z"}]}},custom41:{xmlns:"http://www.w3.org/2000/svg",g:{path:{d:"M76 29H24c-3.3 0-6 2.7-6 6v29c0 3.3 2.7 6 6 6h52c3.3 0 6-2.7 6-6V35c0-3.3-2.7-6-6-6zM31 64c0-3.9-3.1-7-7-7V42c3.9 0 7-3.1 7-7h38c0 3.9 3.1 7 7 7v15c-3.9 0-7 3.1-7 7H31z"},circle:{cx:"50",cy:"49",r:"10"}}},custom42:{xmlns:"http://www.w3.org/2000/svg",g:{path:{d:"M74 22H26c-3.3 0-6 2.7-6 6v6c0 1.1.9 2 2 2h56c1.1 0 2-.9 2-2v-6c0-3.3-2.7-6-6-6zM74 42H26c-1.1 0-2 .9-2 2v28c0 3.3 2.7 6 6 6h40c3.3 0 6-2.7 6-6V44c0-1.1-.9-2-2-2zm-13 9c0 1.6-1.3 3-3 3H42c-1.6 0-3-1.3-3-3 0-1.6 1.3-3 3-3h16c1.7 0 3 1.3 3 3z"}}},custom43:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M81.7 43.2s.1 0 0 0c.1-.3.2-.4.2-.6v-.2-.6-.4-.2c0-.1-.101-.2-.101-.3s0-.1-.1-.2c0-.1-.101-.2-.2-.3 0-.1-.1-.1-.1-.2l-12-17C68.9 22.5 68 22 67 22H31c-1 0-1.9.5-2.5 1.3l-12 17c0 .1-.1.1-.1.2-.1.1-.1.2-.2.3 0 .1 0 .1-.1.2 0 .1-.1.2-.1.3V42.7c0 .2.1.4.2.5v.1c.1.1.1.3.2.4 0 .1.1.1.1.2l.2.2 30 33 .1.101.1.1.1.099s.1 0 .1.1c.1 0 .1.1.2.1 0 0 .1 0 .1.101 0 0 .1 0 .1.1 0 0 .1 0 .1.101H49.7s.1 0 .1-.101c0 0 .1 0 .1-.1 0 0 .1 0 .1-.101 0 0 .1 0 .1-.1.1 0 .1-.1.2-.1 0 0 .1 0 .1-.101l.1-.1.1-.101.1-.098 30-33 .2-.2c0-.1.1-.1.1-.2.6-.1.7-.2.7-.4zM49 39h-4.8l4.8-8.1 4.8 8.1H49zm0 6h6l-6 19.7L43 45h6zm5.2-17h7.5l-2.8 8-4.7-8zm-15.1 8l-2.8-8h7.5l-4.7 8zm-2.3 9l5.5 18.1L25.8 45h11zm24.4 0h11L55.7 63.1 61.2 45zm12-6h-9l3-8.5 6 8.5zm-42.4-8.5l3 8.5h-9l6-8.5z"}},custom44:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M69.7 28.9C64.4 22.3 60.1 20 51 20c-4.1 0-9 1.6-11 2 0-1.1-.9-2-2-2h-4c-1.1 0-2 .9-2 2v8c0 1.1.9 2 2 2h4c1.1 0 2-.9 2-2h2.1c1.6 0 2.9 1.3 2.9 2.9v.1c0 1.7 1.3 3 3 3v16c-2.2 0-4 1.8-4 4v18c0 3.3 2.7 6 6 6h2c3.3 0 6-2.7 6-6V56c0-2.2-1.8-4-4-4V36c1.7 0 3-2.2 3-3.9V32c0-1.5 1.2-2.7 2.7-2.8 4-.2 6.2 1.4 7.3 2.3.6.5 1.6.6 2.2.1 1-.6 1.2-1.8.5-2.7z"}},custom45:{xmlns:"http://www.w3.org/2000/svg",g:{path:[{d:"M33 43h34v14H33z"},{d:"M82 41.3V36c0-3.3-2.7-6-6-6H24c-3.3 0-6 2.7-6 6v5.3c0 .7.4 1.4 1 1.7 2.4 1.4 4 4 4 6.9 0 3-1.6 5.5-4 6.9-.6.4-1 1-1 1.7V64c0 3.3 2.7 6 6 6h52c3.3 0 6-2.7 6-6v-5.3c0-.7-.4-1.4-1-1.7-2.4-1.4-4-4-4-6.9 0-3 1.6-5.5 4-6.9.6-.5 1-1.1 1-1.9zM71 63H29c-1.1 0-2-.9-2-2V39c0-1.1.9-2 2-2h42c1.1 0 2 .9 2 2v22c0 1.1-.9 2-2 2z"}]}},custom46:{xmlns:"http://www.w3.org/2000/svg",g:{path:[{d:"M61 37H39c-1.1 0-2 .9-2 2v22c0 1.1.9 2 2 2h22c1.1 0 2-.9 2-2V39c0-1.1-.9-2-2-2z"},{d:"M78.5 27.2c.9-.3 1.5-1 1.5-1.9V22c0-1.1-.9-2-2-2h-3.3c-.9 0-1.601.6-1.9 1.5-.6 2-2.5 3.5-4.8 3.5s-4.1-1.5-4.8-3.5c-.3-.9-1-1.5-1.9-1.5h-4.6c-.9 0-1.601.6-1.9 1.5-.6 2-2.5 3.5-4.8 3.5s-4.1-1.5-4.8-3.5c-.3-.9-1-1.5-1.9-1.5h-4.6c-.9 0-1.6.6-1.9 1.5-.6 2-2.5 3.5-4.8 3.5-2.2 0-4.1-1.5-4.8-3.5-.3-.9-1-1.5-1.9-1.5H22c-1.1 0-2 .9-2 2v3.3c0 .9.6 1.6 1.5 1.9 2 .6 3.5 2.5 3.5 4.8s-1.5 4.1-3.5 4.8c-.9.3-1.5 1-1.5 1.9v4.6c0 .9.6 1.6 1.5 1.9 2 .6 3.5 2.5 3.5 4.8s-1.5 4.1-3.5 4.8c-.9.3-1.5 1-1.5 1.9v4.6c0 .9.6 1.601 1.5 1.9 2 .6 3.5 2.5 3.5 4.8s-1.5 4.1-3.5 4.8c-.9.3-1.5 1-1.5 1.9V78c0 1.1.9 2 2 2h3.3c.9 0 1.6-.6 1.9-1.5.6-2 2.5-3.5 4.8-3.5 2.2 0 4.1 1.5 4.8 3.5.3.9 1 1.5 1.9 1.5h4.6c.9 0 1.6-.6 1.9-1.5.6-2 2.5-3.5 4.8-3.5s4.1 1.5 4.8 3.5c.3.9 1 1.5 1.9 1.5h4.6c.9 0 1.601-.6 1.9-1.5.6-2 2.5-3.5 4.8-3.5s4.1 1.5 4.8 3.5c.3.9 1 1.5 1.9 1.5H78c1.1 0 2-.9 2-2v-3.3c0-.9-.6-1.601-1.5-1.9-2-.6-3.5-2.5-3.5-4.8s1.5-4.1 3.5-4.8c.9-.3 1.5-1 1.5-1.9v-4.6c0-.9-.6-1.601-1.5-1.9-2-.6-3.5-2.5-3.5-4.8s1.5-4.1 3.5-4.8c.9-.3 1.5-1 1.5-1.9v-4.6c0-.9-.6-1.6-1.5-1.9-2-.6-3.5-2.5-3.5-4.8s1.5-4.1 3.5-4.8zM69 63c0 3.3-2.7 6-6 6H37c-3.3 0-6-2.7-6-6V37c0-3.3 2.7-6 6-6h26c3.3 0 6 2.7 6 6v26z"}]}},custom47:{xmlns:"http://www.w3.org/2000/svg",g:{path:{d:"M64 72H30c-3.3 0-6 2.7-6 6v.1c0 1 .9 1.9 1.9 1.9h42.2c1 0 1.9-.9 1.9-1.9V78c0-3.3-2.7-6-6-6zM77.4 40.4L61.5 25.6l2.6-3.9c.4-.6.101-1.4-.6-1.5-4.9-1-7.9 2.4-7.9 2.4-30.8 0-25.8 33.9-24.3 41.8.2.899 1 1.6 2 1.6h27.1c.8 0 1.3-1 .8-1.6-5.5-6.7-8.4-14.2-10.2-19-.3-.8.5-1.7 1.3-1.3 7.3 3.7 10.3-.3 15.2 2.8 2.4 1.5 5.4 1.1 7.4-.9l2.699-2.7c.601-.8.601-2.1-.199-2.9zM57 37c-1.7 0-3-1.3-3-3s1.3-3 3-3 3 1.3 3 3-1.3 3-3 3z"}}},custom48:{xmlns:"http://www.w3.org/2000/svg",g:{path:{d:"M78 24H68v-2c0-1.1-.9-2-2-2H34c-1.1 0-2 .9-2 2v2H22c-1.1 0-2 .9-2 2v13c0 5 4 9 9 9h4.6c2.8 6.4 8.9 10.9 16.3 11 7.6.1 14-4.5 16.7-11H71c5 0 9-4 9-9V26c0-1.1-.9-2-2-2zM29 42c-1.7 0-3-1.3-3-3v-9h6v10.6c0 .5 0 .9.1 1.4H29zm45-3c0 1.7-1.3 3-3 3h-3.1c0-.4.1-.9.1-1.3V30h6v9zM60 74h-1c-3.3 0-6-2.7-6-6v-2c0-.6-.4-1-1-1h-4c-.6 0-1 .4-1 1v2c0 3.3-2.7 6-6 6h-1c-1.1 0-2 .9-2 2v2c0 1.1.9 2 2 2h20c1.1 0 2-.9 2-2v-2c0-1.1-.9-2-2-2z"}}},custom49:{xmlns:"http://www.w3.org/2000/svg",g:{path:[{d:"M50 41c-5 0-9 4-9 9s4 9 9 9 9-4 9-9-4-9-9-9zm0 14c-2.8 0-5-2.2-5-5s2.2-5 5-5 5 2.2 5 5-2.2 5-5 5z"},{d:"M50 20c-16.6 0-30 13.4-30 30s13.4 30 30 30 30-13.4 30-30-13.4-30-30-30zm0 52.9c0 1.199-1 2.1-2.2 2-12.1-1-21.7-10.7-22.8-22.8 0-1.1.9-2.1 2.1-2.1h2c1 0 1.9.8 2 1.8.9 9 8.1 16.2 17.1 17.1 1 .1 1.8 1 1.8 2v2zm0-7.9c-8.3 0-15-6.7-15-15s6.7-15 15-15 15 6.7 15 15-6.7 15-15 15zm22.9-15h-2c-1 0-1.9-.8-2-1.8-.9-9-8.1-16.2-17.1-17.1-1-.1-1.8-1-1.8-2v-2c0-1.2 1-2.1 2.2-2 12.1 1 21.7 10.7 22.8 22.8 0 1.1-.9 2.1-2.1 2.1z"}]}},custom5:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M78.8 25.5c-10.2-3.9-22.1-4.8-32.5-1.4-9.3 3.1-18.8 10-20.2 20.4-.3 2.2-.2 4.5.3 6.6.2 1.101.6 2.2 1 3.301.2.6.4 1.1.7 1.6l-1.2 1.8C24 62.3 22 67.4 20.8 72.6c-.5 2.2-1.7 5.4.6 7 .9.601 2.2.601 3.1.101 1.2-.7 1.4-1.9 1.6-3.2.9-5.3 2.7-10.6 5.6-15.1 1.4-2.2 2.9-4.4 4.6-6.4 1.5-1.6 3.7-4.7 6.2-3.8 2.5.899 2.4 3.8.7 5.3s-3.1 3.1-3.1 5.5c0 1.8.8 3.6 2.3 4.8 2 1.601 6 2 8.4 1.8 5.3-.3 9.601-1.899 13.9-5C70.3 59.7 72.5 52.9 73.6 46.4c.7-4 1.2-8 2.601-11.8.6-1.6 1.399-3.2 2.3-4.6.4-.7 1.2-1.5 1.4-2.3.299-1-.301-1.9-1.101-2.2z"}},custom50:{xmlns:"http://www.w3.org/2000/svg",g:{path:{d:"M76.6 56.3C74.3 57.4 71.7 58 69 58c-3.3 0-6.3-.9-9-2.4a.912.912 0 00-1 0c-2.6 1.6-5.7 2.4-9 2.4s-6.3-.9-9-2.4a.912.912 0 00-1 0c-2.6 1.6-5.7 2.4-9 2.4-2.7 0-5.3-.6-7.6-1.7-.6-.3-1.4.2-1.4.9v12.1c0 2.4 1.4 4.5 3.6 5.5 5 2.2 10.4 3.8 16.1 4.601 1.2.199 2.3-.801 2.3-2v-7.5c0-3.301 2.7-5.9 5.9-5.9h.1c3.3 0 5.9 2.7 5.9 5.9v7.5c0 1.199 1.1 2.1 2.3 2 5.6-.801 11-2.4 16.1-4.601 2.2-1 3.601-3.1 3.601-5.5V57.2c.099-.7-.701-1.2-1.301-.9zM31 52c3.6 0 6.7-1.5 8.7-3.9.4-.5 1.1-.5 1.5 0 2 2.4 5.2 3.9 8.7 3.9 3.6 0 6.7-1.5 8.7-3.9.4-.5 1.101-.5 1.5 0 2 2.4 5.2 3.9 8.7 3.9 5.601 0 10.3-3.9 10.9-8.8.1-.7-.2-1.4-.8-1.8l-25.3-20c-2.199-1.7-5.3-1.7-7.399 0l-25.5 20c-.6.4-.8 1.1-.8 1.8C20.7 48.2 25.4 52 31 52z"}}},custom51:{xmlns:"http://www.w3.org/2000/svg",g:{path:{d:"M40.5 25.6c2.5 1.7 5 5.8 6 8.9.2.7.8 1.2 1.5 1.3.7.2 1.3.2 2 .2 1.1 0 2 0 2.9-.4 2.6-.9 4.8-2 6.699-3.9 3.101-3.1 4.2-7.5 3-11.2-3.699-1.1-8.1-.1-11.199 3-.9.9-1.601 1.9-2.2 3-1.6-2.5-3.5-4.7-5.7-6.1-1.5-.9-3.4-.4-4.3 1.1-.6 1.5 0 3.2 1.3 4.1zM71.2 40.2c-10.3-5.8-12.5 2-21.2 2s-10.9-7.8-21.2-2c-10 5.7-7.1 24.1-3.1 31 3.6 6.1 10.1 12.4 23.4 6.4.5-.199 1.2-.199 1.7 0 13.3 6 19.9-.3 23.4-6.399 4.1-6.901 7-25.401-3-31.001z"}}},custom52:{xmlns:"http://www.w3.org/2000/svg",g:{path:{d:"M79.9 35.1c.199-3.2 0-6.4-.5-9.5-.4-2.6-2.4-4.6-5-5-3.2-.5-6.301-.7-9.5-.5-.9 0-1.301 1.1-.7 1.7l14 14c.6.6 1.7.1 1.7-.7zM56.3 22.3c-.5-.5-1.3-.7-1.899-.5-7.5 2.1-14.7 6.1-20.601 12.1-5.8 5.8-9.7 12.7-11.9 20-.2.699 0 1.5.5 2l21.8 21.8c.5.5 1.3.7 2 .5 7.3-2.2 14.2-6.101 20-11.9 5.899-5.899 10-13 12.1-20.6.2-.7 0-1.4-.5-1.9L56.3 22.3zm-8.4 39.3c-1.2 1.2-3.1 1.2-4.2 0L38.1 56c-1.2-1.2-1.2-3.1 0-4.2 1.2-1.2 3.1-1.2 4.2 0l5.6 5.601c1.2 1.099 1.2 2.999 0 4.199zm7-7c-1.2 1.2-3.101 1.2-4.2 0L45.1 49c-1.2-1.2-1.2-3.1 0-4.2 1.2-1.2 3.1-1.2 4.2 0l5.601 5.6c1.199 1.1 1.199 3-.001 4.2zm7-7.1c-1.2 1.2-3.101 1.2-4.2 0l-5.6-5.6c-1.199-1.2-1.199-3.1 0-4.2 1.2-1.2 3.101-1.2 4.2 0l5.601 5.6c1.199 1.2 1.199 3.1-.001 4.2zM20.1 64.3c-.2 3.4-.1 6.8.5 10.2.4 2.6 2.4 4.6 5 5 3.4.5 6.8.7 10.2.5.9-.1 1.3-1.1.7-1.7L21.8 63.6c-.6-.6-1.7-.2-1.7.7z"}}},custom53:{xmlns:"http://www.w3.org/2000/svg",g:{path:{d:"M74.7 57h-.6c-2.3 0-4.1-1.8-4.1-4.1V39.7c0-11.6-10.4-20.9-22.3-19.5C37.5 21.3 30 30.2 30 40.5v11.9c0 2.5-2.1 4.6-4.6 4.6h-.1c-1.8 0-3.3 1.5-3.3 3.3v2.4c0 1.8 1.5 3.3 3.3 3.3h49.4c1.8 0 3.3-1.5 3.3-3.3v-2.4c0-1.8-1.5-3.3-3.3-3.3zM56.6 72H43.4c-.8 0-1.5.6-1.3 1.4.7 3.8 4 6.6 8 6.6s7.2-2.7 8-6.6c0-.8-.6-1.4-1.5-1.4z"}}},custom54:{xmlns:"http://www.w3.org/2000/svg",g:{path:{d:"M27.2 49.1c6.5-1.2 12.2-3.8 18.4-6.7 2-.9 5.7-2.7 7.5-3.5.601-.3 1-.9.801-1.6C53.4 34.4 51 32 48 32h-2v-3.8c0-1.1-1-2.1-2-2.1V22c0-1.1-.9-2.1-2-2.1h-4c-1.1 0-2 .9-2 2.1v4.1c-1 0-2 .9-2 2.1V32h-2c-3.3 0-6 3.1-6 6.5v9.6c0 .6.6 1.1 1.2 1zM72 69.2s7.3-11.4 8-27.5c0-1.2-.9-2.2-2.1-2.2-23.8.9-34.9 15.5-56 16.4-1.1 0-1.9 1-1.9 2v7.6c0 3.3 2.5 5.9 5.6 6.1 10.5.7 33 2.2 45.9 4.301 1.3.199 2.5-1 2.3-2.301-.3-1.5-.8-3.3-1.8-4.4zM71 51c-1.7 0-3-1.3-3-3s1.3-3 3-3 3 1.3 3 3-1.3 3-3 3z"}}},custom55:{xmlns:"http://www.w3.org/2000/svg",g:{path:[{d:"M32 61h13c1.1 0 2-.9 2-2V29c0-2.2-2-4-4-4H32.3C31 25 30 26 30 27.3V59c0 1.1.9 2 2 2z"},{d:"M76 31v32c0 2.2-1.8 4-4 4H28c-2.2 0-4-1.8-4-4V31c-3.3 0-6 2.7-6 6v30c0 3.3 2.7 6 6 6h19c1.1 0 2 .9 2 2s.9 2 2 2h6c1.1 0 2-.9 2-2s.9-2 2-2h19c3.3 0 6-2.7 6-6V37c0-3.3-2.7-6-6-6z"},{d:"M55 61h12.7c1.3 0 2.3-1 2.3-2.3V27c0-1.1-.9-2-2-2H57c-2 0-4 1.8-4 4v30c0 1.1.9 2 2 2z"}]}},custom56:{xmlns:"http://www.w3.org/2000/svg",g:{path:{d:"M62.7 30.3c-6.3 6.3-13.9-1.4-20.9 5.6L21.7 56c-2.3 2.3-2.3 6 0 8.3l7 7 7 7c2.3 2.3 6 2.3 8.3 0l20.2-20.2c7-7-.7-14.6 5.6-20.899l1.601-1.6c.399-.4.399-1 0-1.4l-5.5-5.5c-.4-.4-1-.4-1.4 0L62.7 30.3zM57.9 56l-7 7c-.8.8-2 .8-2.8 0l-5.6-5.6-5.6-5.6c-.8-.8-.8-2 0-2.8l7-7c.8-.8 2-.8 2.8 0l5.6 5.6 5.601 5.6c.799.8.799 2-.001 2.8zM79.4 24.7l-2.1-2.1-2.1-2.1c-.8-.8-2-.8-2.8 0l-2.6 2.6c-.399.4-.399 1 0 1.4l5.5 5.5c.4.4 1 .4 1.4 0l2.6-2.6c.9-.6.9-1.9.1-2.7z"}}},custom57:{xmlns:"http://www.w3.org/2000/svg",g:{path:{d:"M53 52.6V77c0 .8.8 1.2 1.5.9 4.8-2.7 19.4-11 19.4-11 1.9-1.1 3.1-3.1 3.1-5.3V39.7c0-.8-.8-1.2-1.5-.9L54 50.9c-.6.4-1 1-1 1.7zM51 45.8l21.6-12.1c.7-.4.7-1.3 0-1.7-4.8-2.7-19.5-11.1-19.5-11.1a6.237 6.237 0 00-6.2 0S32.2 29.2 27.4 32c-.7.4-.7 1.3 0 1.7L49 45.8c.6.3 1.4.3 2 0zM46 50.9L24.5 38.8c-.7-.4-1.5.1-1.5.9v21.8c0 2.2 1.2 4.2 3.1 5.3 0 0 14.6 8.3 19.4 11 .7.4 1.5-.1 1.5-.899V52.6c0-.7-.4-1.3-1-1.7z"}}},custom58:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M67 46c-1.7 0-3.1-1.4-3-3.2.1-1.6 1.5-2.8 3.2-2.8h8.6c.4 0 .7-.2.9-.5.8-1.4 1.399-2.8 1.899-4.1.201-.7-.199-1.4-.899-1.4h-6.4c-1.6 0-3.1-1.2-3.2-2.8-.1-1.7 1.3-3.2 3-3.2h8c.601 0 1-.4 1-1v-3c0-1.1-.899-2-2-2H67.4c-3 0-5.4 2.4-5.4 5.4v.1c0 5.6-3.7 10.6-9 12v-8.3c2.1-1.2 3.4-3.5 3-6.2-.4-2.6-2.6-4.7-5.2-5-3.6-.4-6.7 2.4-6.7 6 0 2.2 1.2 4.1 3 5.2v8.4c-5.3-1.4-9-6.4-9-12v-.1c0-3-2.4-5.4-5.4-5.4H22c-1.1 0-2 .9-2 2v3c0 .6.4 1 1 1h7.8c1.6 0 3.1 1.2 3.2 2.8.1 1.7-1.3 3.2-3 3.2h-6.5c-.7 0-1.2.7-.9 1.4.5 1.3 1.1 2.7 1.9 4.1.2.3.5.5.9.5H33c1.6 0 3.1 1.2 3.2 2.8.1 1.7-1.3 3.2-3 3.2h-2.4c-.9 0-1.4 1.2-.6 1.8 4.2 3.6 9.8 6.2 17 6.2v22.8c0 1.6 1.2 3.1 2.8 3.199 1.7.101 3.2-1.3 3.2-3V54c7.2 0 12.8-2.6 17-6.2.7-.6.3-1.8-.601-1.8H67z"}},custom59:{xmlns:"http://www.w3.org/2000/svg",g:{path:{d:"M68.3 31c1 0 1.7-.8 1.7-1.7 0-.7-.4-1.4-1.1-1.8-1.301-.7-3.301-4.1-4-6.2-.2-.8-1-1.3-1.801-1.3H38.8c-.8 0-1.6.5-1.8 1.3-.6 2-2.7 5.5-3.9 6.2-.6.4-1 1-1 1.8 0 1 .8 1.7 1.7 1.7h34.5zM32 73.9c0 3.399 2.7 6.1 6 6.1h26c3.3 0 6-2.7 6-6v-.1c0-1.101-.9-1.9-1.9-1.9H33.9c-1 0-1.9.9-1.9 1.9zM70 64V39c0-1.1-.9-2-2-2H34c-1.1 0-2 .9-2 2v25c0 1.1.9 2 2 2h34c1.1 0 2-.9 2-2z"}}},custom6:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M50 76H24c-3.1 0-5-3.4-3.4-6l26-44c1.5-2.6 5.3-2.6 6.9 0l26 44c1.6 2.7-.4 6-3.4 6H50z"}},custom60:{xmlns:"http://www.w3.org/2000/svg",g:{path:{d:"M80 45.3C77.6 31 65.1 20 50 20S22.4 31 20 45.3c-.2.9.9 1.6 1.6 1 1.5-1.3 3.4-2 5.6-2 2.8 0 5.2 1.3 6.8 3.3.4.5 1.2.5 1.6 0 1.6-2 4-3.3 6.8-3.3s5.2 1.3 6.8 3.3c.4.5 1.2.5 1.6 0 1.601-2 4-3.3 6.8-3.3 2.801 0 5.2 1.3 6.801 3.3.399.5 1.199.5 1.6 0 1.6-2 4-3.3 6.8-3.3 2.101 0 4.101.8 5.601 2 .698.6 1.698 0 1.598-1zM62 68c-1.7 0-3 1.3-3 3s-1.3 3-3 3-3-1.3-3-3V57c0-1.7-1.3-3-3-3s-3 1.3-3 3v14c0 5 4 9 9 9s9-4 9-9c0-1.7-1.3-3-3-3z"}}},custom61:{xmlns:"http://www.w3.org/2000/svg",g:{path:{d:"M73 20h-4c-1.1 0-2 .9-2 2v4c0 1.1-.9 2-2 2h-2c-1.1 0-2-.9-2-2v-4c0-1.1-.8-2-2-2h-4c-1.1 0-2 .9-2 2v4c0 1.1-.9 2-2 2h-2c-1.1 0-2-.9-2-2v-4c0-1.1-.9-2-2-2h-4c-1.1 0-2 .9-2 2v4c0 1.1-.9 2-2 2h-2c-1.1 0-2-.9-2-2v-4c0-1.1-.9-2-2-2h-4c-1.1 0-2 .9-2 2v10c0 3.3 2.7 6 6 6h38c3.3 0 6-2.7 6-6V22c0-1.1-.9-2-2-2zM68.5 45.7c-.1-1-1-1.7-2-1.7h-33c-1 0-1.9.7-2 1.7l-4.5 32c-.2 1.2.8 2.3 2 2.3h12.9c1.1 0 2.1-.9 2.1-2v-9.7c0-3.3 2.5-6.2 5.8-6.2 3.4-.1 6.2 2.601 6.2 6v10c0 1.101 1 2 2.1 2H71c1.2 0 2.2-1.1 2-2.3l-4.5-32.1z"}}},custom62:{xmlns:"http://www.w3.org/2000/svg",g:{path:{d:"M77 70H23c-1.6 0-3 1.3-3 3 0 1.6 1.3 3 3 3h54c1.6 0 3-1.3 3-3s-1.3-3-3-3zM24 64h34v-4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2v4h4c1.1 0 2-.9 2-2V28c0-1.1-.9-2-2-2H24c-1.1 0-2 .9-2 2v34c0 1.1.9 2 2 2zm9-26c0-1.1.9-2 2-2h29c1.1 0 2 .9 2 2v2c0 1.1-.9 2-2 2H35c-1.1 0-2-.9-2-2v-2zm0 12c0-1.1.9-2 2-2h19c1.1 0 2 .9 2 2v2c0 1.1-.9 2-2 2H35c-1.1 0-2-.9-2-2v-2z"}}},custom63:{xmlns:"http://www.w3.org/2000/svg",g:{path:[{d:"M42 60h16c1.1 0 2-.9 2-2V42c0-1.1-.9-2-2-2H42c-1.1 0-2 .9-2 2v16c0 1.1.9 2 2 2z"},{d:"M77 53c1.7 0 3-1.3 3-3s-1.3-3-3-3h-5v-6h5c1.7 0 3-1.3 3-3s-1.3-3-3-3h-5v-1c0-3.3-2.7-6-6-6h-1v-5c0-1.7-1.3-3-3-3s-3 1.3-3 3v5h-6v-5c0-1.7-1.3-3-3-3s-3 1.3-3 3v5h-6v-5c0-1.7-1.3-3-3-3s-3 1.3-3 3v5h-1c-3.3 0-6 2.7-6 6v1h-5c-1.7 0-3 1.3-3 3s1.3 3 3 3h5v6h-5c-1.7 0-3 1.3-3 3s1.3 3 3 3h5v6h-5c-1.7 0-3 1.3-3 3s1.3 3 3 3h5v1c0 3.3 2.7 6 6 6h1v5c0 1.7 1.3 3 3 3s3-1.3 3-3v-5h6v5c0 1.7 1.3 3 3 3s3-1.3 3-3v-5h6v5c0 1.7 1.3 3 3 3s3-1.3 3-3v-5h1c3.3 0 6-2.7 6-6v-1h5c1.7 0 3-1.3 3-3s-1.3-3-3-3h-5v-6h5zM66 63c0 1.7-1.3 3-3 3H37c-1.7 0-3-1.3-3-3V37c0-1.7 1.3-3 3-3h26c1.7 0 3 1.3 3 3v26z"}]}},custom64:{xmlns:"http://www.w3.org/2000/svg",g:{path:[{d:"M50 20c-16.5 0-30 13.5-30 30s13.5 30 30 30 30-13.5 30-30-13.5-30-30-30zm0 52c-12.1 0-22-9.9-22-22s9.9-22 22-22 22 9.9 22 22-9.9 22-22 22z"},{d:"M61.6 37.1l-16.6 6c-.9.3-1.6 1-1.9 1.9l-6 16.6c-.3.8.5 1.6 1.3 1.3l16.6-6c.9-.301 1.6-1 1.9-1.9l6-16.6c.3-.8-.5-1.6-1.3-1.3zM50 54c-2.2 0-4-1.8-4-4s1.8-4 4-4 4 1.8 4 4-1.8 4-4 4z"}]}},custom65:{xmlns:"http://www.w3.org/2000/svg",g:{path:{d:"M72.1 67H21.9c-1 0-1.9.9-1.9 1.9v.1c0 3.3 2.7 6 6 6h42c3.3 0 6-2.7 6-6v-.1c0-1-.9-1.9-1.9-1.9zM70 27H22.1c-1 0-1.8.9-1.9 2-.3 2.7-.3 7.5.1 10.4 1.3 9.3 6.3 17.2 13.2 21.4.3.2.7.3 1 .3h20.9c.399 0 .699-.1 1-.3 3.899-2.399 7.3-6 9.6-10.4 1.2.4 2.5.6 3.9.6 6.6 0 12-5.4 12-12S76.6 27 70 27zm0 18c-.5 0-1-.1-1.5-.2 1-3.2 1.5-6.6 1.5-10.2V33c3.3 0 6 2.7 6 6s-2.7 6-6 6z"}}},custom66:{xmlns:"http://www.w3.org/2000/svg",g:{path:{d:"M78.3 55.3L63.7 40.7c-2.3-2.3-6-2.3-8.3 0L40.7 55.3c-2.3 2.3-2.3 6 0 8.3l14.6 14.6c2.3 2.3 6 2.3 8.3 0l14.6-14.6c2.4-2.2 2.4-6 .1-8.3zM50.7 62c-1.4 1.4-3.6 1.4-4.9 0-1.4-1.4-1.4-3.6 0-4.9 1.4-1.399 3.6-1.399 4.9 0 1.3 1.3 1.3 3.5 0 4.9zM62 73.3c-1.4 1.4-3.6 1.4-4.9 0-1.4-1.4-1.4-3.6 0-4.9 1.4-1.4 3.601-1.4 4.9 0 1.3 1.3 1.3 3.5 0 4.9zm0-22.6c-1.4 1.399-3.6 1.399-4.9 0-1.399-1.4-1.399-3.6 0-4.9 1.4-1.4 3.601-1.4 4.9 0 1.3 1.3 1.3 3.5 0 4.9zM73.3 62c-1.399 1.4-3.6 1.4-4.899 0-1.4-1.4-1.4-3.6 0-4.9 1.399-1.4 3.599-1.4 4.899 0 1.4 1.3 1.4 3.5 0 4.9zM53 33.5V26c0-3.3-2.7-6-6-6H26c-3.3 0-6 2.7-6 6v21c0 3.3 2.7 6 6 6h7.5c.6 0 1.2-.3 1.6-.7.3-.399.7-.8 1.1-1.2L51 36.2c.4-.4.8-.7 1.2-1.1.5-.4.8-1 .8-1.6zM28.5 48c-1.9 0-3.5-1.6-3.5-3.5s1.6-3.5 3.5-3.5 3.5 1.6 3.5 3.5-1.6 3.5-3.5 3.5zm8-8c-1.9 0-3.5-1.6-3.5-3.5s1.6-3.5 3.5-3.5 3.5 1.6 3.5 3.5-1.6 3.5-3.5 3.5zm8-8c-1.9 0-3.5-1.6-3.5-3.5s1.6-3.5 3.5-3.5 3.5 1.6 3.5 3.5-1.6 3.5-3.5 3.5z"}}},custom67:{xmlns:"http://www.w3.org/2000/svg",g:{path:{d:"M54 53.1L52.8 51c-.5-.8-1.3-1.3-2.2-1.3-.3 0-.6.1-.899.2l-3.5 1.3c-1.4-1.2-2.9-2-4.6-2.6L41 45c-.2-1.2-1.3-1.9-2.5-1.9H36c-1.2 0-2.3.7-2.5 2l-.6 3.5c-1.7.6-3.2 1.5-4.6 2.7L24.8 50c-.3-.1-.6-.2-.9-.2-.9 0-1.8.5-2.2 1.3l-1.2 2.1c-.6 1.1-.4 2.399.6 3.2l2.9 2.4c-.2.9-.3 1.8-.3 2.601 0 .8.1 1.8.3 2.699l-2.9 2.4c-1 .8-1.2 2.2-.6 3.2l1.2 2.1c.5.8 1.3 1.3 2.2 1.3.3 0 .6-.1.9-.199l3.5-1.301c1.4 1.2 2.9 2.101 4.6 2.601l.6 3.7C33.7 79.1 34.8 80 36 80h2.5c1.2 0 2.3-.9 2.5-2.1l.6-3.7c1.8-.601 3.4-1.601 4.8-2.8l3.3 1.3c.3.1.6.2.899.2.9 0 1.7-.5 2.2-1.2l1.2-2c.6-1.101.4-2.5-.6-3.3L50.5 64c.2-.9.3-1.8.3-2.6 0-.9-.1-1.801-.3-2.7l2.9-2.4c.9-.8 1.2-2.2.6-3.2zM37.2 68.3c-3.7 0-6.8-3-6.8-6.8s3-6.8 6.8-6.8c3.7 0 6.8 3 6.8 6.8s-3.1 6.8-6.8 6.8zM79.2 39l-2.3-1.9c.1-.7.2-1.4.2-2.1s-.1-1.5-.2-2.1l2.3-1.9c.8-.6 1-1.7.5-2.6l-1-1.7c-.4-.6-1.101-1-1.8-1-.2 0-.5.1-.7.1l-2.9 1.1c-1.1-1-2.399-1.7-3.7-2.1l-.5-3c-.199-1-1-1.6-2-1.6h-2c-1 0-1.899.6-2 1.6l-.5 2.9c-1.4.5-2.6 1.2-3.7 2.2L56 25.6c-.2-.1-.5-.1-.7-.1-.7 0-1.399.4-1.8 1l-1 1.7c-.5.9-.3 2 .5 2.6l2.3 1.9c-.1.7-.2 1.4-.2 2.1 0 .7.101 1.5.2 2.1L53 38.8c-.8.6-1 1.7-.5 2.6l1 1.7c.4.6 1.1 1 1.8 1 .2 0 .5 0 .7-.1l2.9-1.1c1.1 1 2.399 1.7 3.699 2.1l.5 2.9c.2 1 1 1.7 2 1.7h2c1 0 1.9-.7 2-1.7l.5-3c1.4-.5 2.801-1.3 3.9-2.3l2.7 1.1c.2.1.5.1.7.1.699 0 1.399-.4 1.8-1l1-1.6c.501-.4.301-1.5-.499-2.2zm-13.1 1.6c-3 0-5.5-2.5-5.5-5.5s2.5-5.5 5.5-5.5 5.5 2.5 5.5 5.5-2.4 5.5-5.5 5.5z"}}},custom68:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M50 20c-16.5 0-30 13.5-30 30s13.5 30 30 30 30-13.5 30-30-13.5-30-30-30zm23.8 27h-7.9c-.3-7.1-1.9-13.3-4.3-18 6.6 3.7 11.2 10.3 12.2 18zM47 27.3V47h-6.9c.5-9.4 3.5-16.8 6.9-19.7zM47 53v19.7c-3.4-2.9-6.4-10.3-6.9-19.7H47zm6 19.7V53h6.9c-.5 9.4-3.5 16.8-6.9 19.7zM53 47V27.3c3.4 2.9 6.4 10.3 6.9 19.7H53zM38.4 29c-2.4 4.7-3.9 10.9-4.3 18h-7.9c1-7.7 5.6-14.3 12.2-18zM26.2 53h7.9c.3 7.1 1.9 13.3 4.3 18-6.6-3.7-11.2-10.3-12.2-18zm35.4 18c2.4-4.7 3.9-10.9 4.301-18H73.8c-1 7.7-5.6 14.3-12.2 18z"}},custom69:{xmlns:"http://www.w3.org/2000/svg",g:{path:{d:"M52.6 45.1c-5.7-4.3-11.5-2.2-15.3 1.4-1.4 1.3-3.6 2.1-6 2.8-2.8.9-5.7 1.8-7.8 3.9-5.6 5.5-4.5 12.1 3.3 19.8l.1.1.1.1c4.6 4.5 8.8 6.7 12.6 6.7 2.8 0 5.3-1.101 7.7-3.4 2.1-2 3.1-4.9 4-7.6.8-2.3 1.6-4.6 2.9-5.9 2.3-2.2 3.6-4.8 3.899-7.4.201-1.9-.199-4.6-2.399-7.4 0 0-1.2-1.6-3.1-3.1zM40.2 69.2c-.5.5-1.2.8-2 .8s-1.4-.3-1.9-.8l-5.5-5.5c-1.1-1.101-1.1-2.8 0-3.9s2.8-1.1 3.9 0l5.5 5.5c1.1 1.1 1.1 2.8 0 3.9zM45 61c-2.8 0-5-2.2-5-5s2.2-5 5-5 5 2.2 5 5-2.2 5-5 5zM79.4 25.2l-4.6-4.6c-.8-.8-2.2-.8-3.1 0l-5.1 5.1c-.8.8-.8 2.2 0 3.1l.2.2-10.3 10.3c-.4.4-.4 1.1 0 1.5.8.7 2.1 1.9 2.9 2.7.399.4 1 .4 1.399 0L71 33.3l.2.2c.8.8 2.2.8 3.1 0l5.101-5.1c.799-.9.799-2.3-.001-3.2z"}}},custom7:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M28 78c-3.3 0-6-2.7-6-6V28c0-3.3 2.7-6 6-6h44c3.3 0 6 2.7 6 6v44c0 3.3-2.7 6-6 6H28z"}},custom70:{xmlns:"http://www.w3.org/2000/svg",g:{path:{d:"M47.9 63.8L36.4 52.5c-2.4-2.3-6.2-2.3-8.6 0l-7.2 7.1c-.8.801-.8 2.101 0 2.801L22 63.8l1.4 1.4L35 76.6l.7.7 2.2 2.101c.8.8 2.1.8 2.9 0L48 72.3c2.3-2.3 2.3-6.1-.1-8.5zm-18.7-4.2l1.5-1.399c.8-.8 2-.8 2.8 0l8.7 8.5c.8.8.8 2.1 0 2.8l-1.5 1.4c-.8.8-2 .8-2.8 0l-8.7-8.5c-.8-.801-.8-2.101 0-2.801zM41.7 49.2l9.3 9.1c.2.2.4.3.7.3l4.3-.1c.5 0 .9-.4.9-.9l.1-3.7c0-.5.4-.9.9-.9l3.8-.1c.5 0 .899-.4.899-.9l.101-3.7c0-.5.399-.9.899-.9l3.801-.1c.5 0 .899-.4.899-.9l.101-3.7c0-.5.399-.9.899-.9l3.8-.1c.5 0 .9-.4.9-.9l.1-3.8c0-.5.4-.8.801-.9l4.1-.6c.7-.1 1.1-.9.7-1.5l-8.8-13c-.7-1-2.101-1.1-3-.3l-26.3 26c-.6.6-.6 1.8.1 2.5z"}}},custom71:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M71.2 30.8c-5.9-5.9-13.8-9-22.1-8.8-16 .5-29.1 14.2-29.1 30.6V62c0 3.3 2.7 6 6 6h4v4.8c0 2.601 1.9 4.9 4.5 5.2 3 .3 5.5-2.1 5.5-5V55.2c0-2.601-1.9-4.9-4.5-5.2-3-.3-5.5 2.1-5.5 5v7h-2c-1.1 0-2-.9-2-2v-7.4C26 39.4 36.5 28.4 49.3 28c6.601-.2 12.7 2.2 17.4 6.8C71.4 39.4 74 45.5 74 52v8c0 1.1-.9 2-2 2h-2v-6.8c0-2.601-1.9-4.9-4.5-5.2-3-.3-5.5 2.1-5.5 5v17.8c0 2.601 1.9 4.9 4.5 5.2 3 .3 5.5-2.1 5.5-5v-5h4c3.3 0 6-2.7 6-6v-9.4c0-8.1-3-16-8.8-21.8z"}},custom72:{xmlns:"http://www.w3.org/2000/svg",g:{path:{d:"M77 20H23c-1.7 0-3 1.3-3 3s1.3 3 3 3h24v6.2c-10.8 1.4-19 10.6-19 21.7v6.9C28 68.1 33.8 74 41.2 74h17.7C66.2 74 72 68.1 72 60.7v-6.9c0-11.1-8.2-20.3-19-21.7V26h24c1.7 0 3-1.3 3-3s-1.3-3-3-3zM64 53.8c0 .1 0 0 0 0 0 2.9-2.3 5.2-5.2 5.2H41.2c-2.9 0-5.1-2.3-5.2-5.2v.1-.1.101C36.1 46.2 42.2 40 49.8 40h.4c7.6 0 13.7 6.2 13.8 13.8z"},circle:[{cx:"26",cy:"76",r:"4"},{cx:"74",cy:"76",r:"4"}]}},custom73:{xmlns:"http://www.w3.org/2000/svg",g:{path:{d:"M23.5 35h53c1.3 0 2.3-1.3 1.9-2.5-1.2-4.1-3-7.9-5.4-11.2-.7-1-2.1-1.1-2.9-.3-2.4 2.2-5.7 3.5-9.2 3.5-3.7 0-7.101-1.5-9.601-4-.8-.7-2-.7-2.7 0-2.5 2.5-5.9 4-9.6 4-3.5 0-6.7-1.3-9.2-3.5-.9-.8-2.2-.6-2.9.3-2.4 3.3-4.2 7.1-5.4 11.2C21.2 33.7 22.2 35 23.5 35zM80 43c0-1.1-.9-2-2-2H22c-1.1 0-2 .9-2 2v.4C20 62 33 77.5 50 79.9 67 77.5 80 62 80 43.4V43z"}}},custom74:{xmlns:"http://www.w3.org/2000/svg",g:{path:{d:"M56 73H46c-1.1 0-2 .9-2 2v3c0 1.1.9 2 2 2h10c1.1 0 2-.9 2-2v-3c0-1.1-.9-2-2-2zM51 20c-12.2 0-22 9.4-22 21 0 7.5 4.1 14.1 10.4 17.8 2.4 1.4 4 3.8 4.5 6.5.2.9 1 1.601 2 1.601h10.4c1 0 1.8-.7 2-1.601.5-2.7 2.101-5.1 4.5-6.5C68.9 55.1 73 48.5 73 41c0-11.6-9.8-21-22-21zm-6.8 9.4c-2 3.8-3.1 8.3-3.2 11.9 0 3.7.7 7.3 2 10.8.4.9-.5 1.7-1.4 1.301C32.4 48.7 33 31.4 43 28c.8-.3 1.6.6 1.2 1.4zm7.7 23.8c-.301.8-1.5.8-1.8 0-1.6-3.9-2-8.5-2.1-12.7.1-4.2.5-8.8 2.1-12.7.3-.8 1.5-.8 1.8 0 1.6 3.9 2 8.5 2.1 12.7-.1 4.2-.5 8.8-2.1 12.7zm8.1.2c-.8.4-1.7-.4-1.4-1.3 1.4-3.6 2-7.6 2.101-11.399-.101-3.2-1.2-7.6-3.2-11.3-.4-.8.4-1.7 1.2-1.4C68.7 31.4 69.3 48.7 60 53.4z"}}},custom75:{xmlns:"http://www.w3.org/2000/svg",g:{path:{d:"M50 20c-1.7 0-3 1.3-3 3v54c0 1.7 1.3 3 3 3 16.5 0 30-13.5 30-30S66.5 20 50 20zm23.8 27h-7.9c-.3-7.1-1.9-13.3-4.3-18 6.6 3.7 11.2 10.3 12.2 18zM53 72.7V53h6.9c-.5 9.4-3.5 16.8-6.9 19.7zM53 47V27.3c3.4 2.9 6.4 10.3 6.9 19.7H53zm8.6 24c2.4-4.7 3.9-10.9 4.301-18H73.8c-1 7.7-5.6 14.3-12.2 18zM33.5 39.9c.8.6 2 .5 2.7-.3l5.5-6.2c.7-.8.7-2-.1-2.7l-5.5-5.5c-.7-.7-1.7-.8-2.5-.3-.4.2-.7.5-1.1.7C25 31 20 39.9 20 50c0 10.1 5 19 12.5 24.4.4.3.7.5 1.1.699.8.5 1.8.4 2.5-.3l5.5-5.5c.7-.7.8-2 .1-2.7L36.2 60.4c-.7-.801-1.9-.9-2.7-.301L31.4 61.7C29.2 58.3 28 54.3 28 50s1.2-8.3 3.4-11.7l2.1 1.6z"}}},custom76:{xmlns:"http://www.w3.org/2000/svg",g:{path:[{d:"M52.9 55.3c-.3-.8-1.1-1.4-2-1.3H50c-11 0-20-9-20-20v-.5c0-1-1.3-1.4-1.8-.6-.7 1-1.2 2.2-1.6 3.5-1.7 5.7.5 11.9 5.3 15.4 2.2 1.601 4.5 2.3 6.9 2.601l.7 1.899c.1.3.3.5.5.601l3 1.3c.5.2.7.8.5 1.3l-1 2.9c-.2.5.1 1 .5 1.199l1.6.7c.5.2.7.8.5 1.3l-.9 3.1c-.1.5.1 1 .5 1.2l2.3 1c.5.199.7.8.5 1.3l-.8 3.1c-.1.5.1 1 .6 1.2l6.8 3.1c.5.2 1.101 0 1.301-.5l3-6.699c.199-.5.199-1 .1-1.5L52.9 55.3z"},{d:"M79.4 54.3L63.5 37.7c.7-2.5.7-5.2-.3-8.1-1.9-5.3-6.8-9.2-12.5-9.5-8.6-.4-15.6 6.9-14.7 15.6.7 6 5.2 10.9 11.1 12.1 2.6.5 5.1.3 7.4-.5l1.4 1.5c.2.2.4.3.7.3H60c.6 0 1 .4 1 1l.3 3.1c0 .5.5.899 1 .899H64c.6 0 1 .4 1 1l.5 3.2c.1.5.5.8 1 .8H69c.6 0 1 .4 1 1l.5 3.2c.1.5.5.8 1 .8H79c.6 0 1-.399 1-1v-7.3c0-.699-.2-1.199-.6-1.499zM48 37c-2.8 0-5-2.2-5-5s2.2-5 5-5 5 2.2 5 5c0 2.7-2.2 5-5 5z"}]}},custom77:{xmlns:"http://www.w3.org/2000/svg",g:{path:{d:"M32 42h4c.6 0 1-.4 1-1v-1.5C37 31.9 42.7 26 50 26s13 5.9 13 13.5V41c0 .6.4 1 1 1h4c.6 0 1-.4 1-1v-1.5C69 28.6 60.7 20 50 20s-19 8.6-19 19.5V41c0 .6.4 1 1 1zM70 48H31c-3.3 0-6 2.7-6 6v20c0 3.3 2.7 6 6 6h39c3.3 0 6-2.7 6-6V54c0-3.3-2.7-6-6-6zM55.3 64.1c-.899 1.4-1.399 3-1 4.601l.7 3c.2 1.1-.6 2.3-1.8 2.3h-6.4c-1.2 0-2-1.2-1.8-2.3l.7-3.101c.4-1.6-.1-3.199-1-4.5-.9-1.3-1.3-2.899-1-4.5.5-2.399 2.5-4.3 5-4.8 4.1-.8 7.6 2.2 7.6 5.9 0 1.3-.4 2.4-1 3.4z"}}},custom78:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M78.3 29.3l-18-9c-.8-.4-1.8-.4-2.7 0L41 28.6l-16.7-8.3c-.9-.5-2-.4-2.9.1C20.5 21 20 22 20 23v45c0 1.1.6 2.2 1.7 2.7l18 9c.8.399 1.8.399 2.7 0L59 71.4l16.7 8.3c.4.2.9.3 1.3.3.5 0 1.1-.2 1.6-.4C79.5 79 80 78 80 77V32c0-1.1-.6-2.2-1.7-2.7zM74 35.1v23.7c0 1.4-1.4 2.4-2.7 1.9-4.6-1.8-1-9.5-4.3-13.7-3.1-3.9-7.2.1-11-6-3.7-5.9 1.3-10.1 5.7-12.4.6-.3 1.2-.3 1.8 0l9.3 4.7c.8.3 1.2 1 1.2 1.8zM48.5 69.9c-.7.399-1.6.3-2.2-.301C45 68.5 44 66.7 44 65c0-3-5-2-5-8 0-4.8-5.9-6.2-10.8-5.7-1.2.1-2.2-.8-2.2-2V31.1c0-1.5 1.6-2.5 2.9-1.8l10.8 5.4c.1 0 .2.1.3.1l.4.2c4.5 2.6 3.6 4.8 1.7 8-2.1 3.6-3 0-6-1s-6 1-5 3 4 0 6 2 2 5 8 3 7-1 9 1 3 6 0 9c-1.8 1.8-2.5 5.4-3.3 8-.2.5-.5 1-1 1.3l-1.3.6z"}},custom79:{xmlns:"http://www.w3.org/2000/svg",g:{path:[{d:"M39 41c-3.9 0-7 3.1-7 7s3.1 7 7 7 7-3.1 7-7-3.1-7-7-7z"},{d:"M79 63H60v-8h2c1.1 0 2-.9 2-2v-6c0-1.1-.9-2-2-2h-2.3c-1.601-10-10-17.8-20.4-18-11.8-.2-21.5 9.5-21.3 21.3.2 11.6 9.9 20.7 21.5 20.7H76v2c0 1.1.9 2 2 2h2c1.1 0 2-.9 2-2v-5c0-1.7-1.3-3-3-3zm-40-2c-7.2 0-13-5.8-13-13s5.8-13 13-13 13 5.8 13 13-5.8 13-13 13z"}]}},custom8:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M47 21.3l-24 26c-1.4 1.5-1.4 3.9 0 5.4l24 26c1.6 1.7 4.3 1.7 5.9 0l24-26c1.399-1.5 1.399-3.9 0-5.4l-24-26a4.05 4.05 0 00-5.9 0z"}},custom80:{xmlns:"http://www.w3.org/2000/svg",g:{path:[{d:"M29 60c-5.5 0-10 4.5-10 10s4.5 10 10 10 10-4.5 10-10-4.5-10-10-10zm0 14c-2.2 0-4-1.8-4-4s1.8-4 4-4 4 1.8 4 4-1.8 4-4 4zM71 60c-5.5 0-10 4.5-10 10s4.5 10 10 10 10-4.5 10-10-4.5-10-10-10zm0 14c-2.2 0-4-1.8-4-4s1.8-4 4-4 4 1.8 4 4-1.8 4-4 4z"},{d:"M70.4 54c2.199-.1 4.3.3 6.3 1 1 .4 2.1-.1 2.6-1 5.101-9.7-3.1-14.2-8.3-16.8-1.4-.6-3 .3-3 1.8v5.8c0 1.2-.8 2.4-2 2.2-7.4-1.2-14-9-22-9s-9 8-9 8c-5.6 0-11.1-.4-13.6-1-1.2-.3-2.4.7-2.4 2 0 0 0 7 10 7 8.2 0 15 6 15.9 14.2.2 2.2 0 4.399-.6 6.3-.2.7.3 1.4 1.1 1.4h9.2c.801 0 1.301-.7 1.101-1.4-.601-1.9-.8-3.9-.601-6 .7-7.8 7.3-14.2 15.3-14.5zM19 47zM45.3 31.5c.1.8.7 1.5 1.4 1.7l10.6 3.6c1 .3 2-.1 2.5-1l.9-1.7c.399-.7-.101-1.5-.8-1.6-3.101-.3-9.601-1.5-7.7-5 1.7-3 5.2-2.2 7.5-1.2.899.4 1.8-.6 1.399-1.5-1.5-3.2-5-5.2-8.699-4.8-4.7.5-8 5.1-7.4 9.8l.3 1.7z"}]}},custom81:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M76.9 20c-1 0-3.9.1-4.9.1-15.4.8-33.1 4.6-34 4.9-1.2.4-2 1.6-2 2.8v32.6c-1-.4-2.6-.6-4-.6-6.6 0-12 4.5-12 10s5.4 10 12 10 12-4.5 12-10V49.4c0-.9.6-1.7 1.5-1.9 4.9-1.2 11.7-2.5 24.4-3.3 1.199-.1 2.1.8 2.1 2v10.3c-1-.4-2.6-.6-4-.6-6.6 0-12 4.5-12 10s5.4 10 12 10 12-4.5 12-10V23c0-1.7-1.4-3.1-3.1-3zm-6.8 15.8c-12.2.7-18.4 1.9-23.7 3.1-1.3.3-2.4-.7-2.4-2v-3.1c0-.9.6-1.7 1.6-2 5.2-1.2 11.5-2.5 24.3-3.3 1.199-.1 2.1.8 2.1 2v3.2c0 1.2-.8 2.1-1.9 2.1z"}},custom82:{xmlns:"http://www.w3.org/2000/svg",g:{path:{d:"M80 44H59c-1.1 0-2 .9-2 2v1c0 1.6-1.3 3-3 3-1.6 0-3-1.3-3-3v-1c0-1.1-.9-2-2-2h-5 .1c-5.9.3-11 3.7-13.8 8.6-1-.399-2.1-.6-3.2-.6-5 0-9 4-9 9s4 9 9 9c1.1 0 2.2-.2 3.2-.6 2.8 4.899 8 8.3 13.8 8.6 9.8.5 17.9-7.3 17.9-17 0-.6 0-1.2-.1-1.8-.101-1 .6-2 1.6-2.2l16.9-3.7c.899-.2 1.6-1 1.6-2V46c0-1.1-.9-2-2-2zM27 64c-1.7 0-3-1.3-3-3s1.3-3 3-3c.4 0 .9.1 1.2.3-.2 1.2-.2 2.5-.2 3.8 0 .601.1 1.101.2 1.601-.4.199-.8.299-1.2.299zM54 37c1.7 0 3-1.3 3-3v-9c0-1.7-1.3-3-3-3s-3 1.3-3 3v9c0 1.7 1.3 3 3 3zM39.7 38c.6.7 1.4 1 2.3 1 .7 0 1.4-.2 2-.7 1.3-1.1 1.4-3 .3-4.2l-6-7c-1.1-1.3-3-1.4-4.2-.3-1.3 1.1-1.4 3-.3 4.2l5.9 7zM66 39c.8 0 1.7-.4 2.3-1l6-7c1.101-1.3.9-3.2-.3-4.2-1.3-1.1-3.2-.9-4.2.3l-6 7c-1.1 1.3-.899 3.2.3 4.2.5.5 1.2.7 1.9.7z"}}},custom83:{xmlns:"http://www.w3.org/2000/svg",g:{path:{d:"M74.6 39.3c.4.4 1 .4 1.4 0l1.4-1.4c3.4-3.4 3.5-8.6.2-11.9 0 0-4.3-4.4-4.399-4.4-3.4-2.8-8.101-1.5-10.8 1.2L61 24.2c-.4.4-.4 1 0 1.4l13.6 13.7zM56.6 29.8c-.399-.4-1-.4-1.399 0L27.7 57.1c-1.5 1.5-2.6 3.301-3.3 5.4L20.2 76c-.3.8-.2 1.8.2 2.5.6 1 1.6 1.5 2.6 1.5.3 0 .6 0 .9-.1 0 0 9.2-2.9 13.7-4.301 2-.6 3.8-1.699 5.3-3.199L70.3 45c.4-.4.4-1 0-1.4L56.6 29.8zM35.8 69.9c-2.1.699-5.4 1.699-8.2 2.6l2.6-8.2c.3-1.1.9-2 1.7-2.8l6.7 6.7c-.8.8-1.8 1.4-2.8 1.7z"}}},custom84:{xmlns:"http://www.w3.org/2000/svg",g:{path:{d:"M75 64H25c-1.7 0-3 1.3-3 3s1.3 3 3 3h4l1.7 8.5c.2.9 1 1.5 1.9 1.5h32.9c.9 0 1.7-.6 1.9-1.5L69 70h6c1.7 0 3-1.3 3-3s-1.3-3-3-3zM33 58h14v-5.6c-1.2-.7-2-2-2-3.4 0-2.2 1.8-4 4-4s4 1.8 4 4c0 1.5-.8 2.8-2 3.4V58h14c1.1 0 2-.9 2-2v-3c0-6.1-5.8-8.2-10.4-10.1-3.1-1.3-3.6-2.5-3.6-3.7 0-1.3.9-2.5 1.9-3.4 1.8-1.6 2.899-3.9 2.899-6.6 0-4.9-3.2-9.2-8.8-9.2-5.6 0-8.8 4.3-8.8 9.2 0 2.7 1 4.9 2.9 6.6 1 .9 1.9 2.1 1.9 3.4 0 1.3-.5 2.4-3.6 3.7C36.8 44.8 31 47.2 31 53v3c0 1.1.9 2 2 2z"}}},custom85:{xmlns:"http://www.w3.org/2000/svg",g:{path:[{d:"M78 24H28v-2c0-1.1-.9-2-2-2h-4c-1.1 0-2 .9-2 2v56c0 1.1.9 2 2 2h4c1.1 0 2-.9 2-2V32h50c1.1 0 2-.9 2-2v-4c0-1.1-.9-2-2-2z"},{d:"M74 38H40c-3.3 0-6 2.7-6 6v22c0 3.3 2.7 6 6 6h34c3.3 0 6-2.7 6-6V44c0-3.3-2.7-6-6-6zm-5.5 17H66v10c0 .6-.4 1-1 1h-4c-.6 0-1-.4-1-1v-6c0-.6-.4-1-1-1h-4c-.6 0-1 .4-1 1v6c0 .6-.4 1-1 1h-4c-.6 0-1-.4-1-1V55h-2.5c-.5 0-.7-.6-.3-.9l11.2-10.9c.399-.3.899-.3 1.3 0l11.2 10.9c.3.3.1.9-.4.9z"}]}},custom86:{xmlns:"http://www.w3.org/2000/svg",g:{path:[{d:"M38 30h4c.6 0 1-.4 1-1v-3h14v3c0 .6.4 1 1 1h4c.6 0 1-.4 1-1v-3c0-3.3-2.7-6-6-6H43c-3.3 0-6 2.7-6 6v3c0 .6.4 1 1 1zM74 36H26c-3.3 0-6 2.7-6 6v32c0 3.3 2.7 6 6 6h48c3.3 0 6-2.7 6-6V42c0-3.3-2.7-6-6-6zM50 72c-7.7 0-14-6.3-14-14s6.3-14 14-14 14 6.3 14 14-6.3 14-14 14z"},{d:"M56 55h-3v-3c0-1.1-.9-2-2-2h-2c-1.1 0-2 .9-2 2v3h-3c-1.1 0-2 .9-2 2v2c0 1.1.9 2 2 2h3v3c0 1.1.9 2 2 2h2c1.1 0 2-.9 2-2v-3h3c1.1 0 2-.9 2-2v-2c0-1.1-.9-2-2-2z"}]}},custom87:{xmlns:"http://www.w3.org/2000/svg",g:{path:[{d:"M75 20H25c-1.7 0-3 1.3-3 3v48c0 1.7 1.3 3 3 3h1v3c0 1.7 1.3 3 3 3h2c1.7 0 3-1.3 3-3v-3h32v3c0 1.7 1.3 3 3 3h2c1.7 0 3-1.3 3-3v-3h1c1.7 0 3-1.3 3-3V23c0-1.7-1.3-3-3-3zM31 68c-1.7 0-3-1.3-3-3V29c0-1.7 1.3-3 3-3h38c1.7 0 3 1.3 3 3v36c0 1.7-1.3 3-3 3H31z"},{d:"M64 32H36c-1.1 0-2 .9-2 2v26c0 1.1.9 2 2 2h28c1.1 0 2-.9 2-2V34c0-1.1-.9-2-2-2zm-4.7 18H51c-1.1 2-3.4 4-6.2 4-3.8 0-6.8-3.2-6.8-7s3-7 6.8-7c2.8 0 5.2 2 6.2 4h8.2c1.5 0 2.7 1.5 2.7 3s-1.1 3-2.6 3z"}]}},custom88:{xmlns:"http://www.w3.org/2000/svg",g:{path:{d:"M78.1 70H21.9c-1 0-1.9.8-1.9 1.8v.1c0 4.5 5.6 8.1 10 8.1h40c4.4 0 10-3.6 10-8.1v-.1c0-1-.9-1.8-1.9-1.8zM23 64h18c1.1 0 2-1.1 2-2.2V27.4c0-.5-.7-.7-.9-.2l-20 35.2c-.3.7.1 1.6.9 1.6zM51 64h25c1.2 0 2.1-1.1 2-2.3-.9-7.2-2.1-29.6-27.6-41.6-.6-.3-1.4.1-1.4.9v40.8c0 1.1.9 2.2 2 2.2z"}}},custom89:{xmlns:"http://www.w3.org/2000/svg",g:{path:{d:"M57.9 43.4c-.4-.5-1.2-.4-1.5.2-1.2 1.7-2.4 4.3-2.4 7.4v11c0 1.6-1.3 3-3 3-1.6 0-3-1.3-3-3v-3.1-31.101c0-7.7-6.7-8.9-11.6-7C35.1 21.2 33.9 22 33 23c-.6.7-1.3 1.3-2.2 1.6-1.8.6-4.9-1.1-6.5-2.1-.9-.5-2.1-.3-2.7.5l-1.2 1.7c-.7.9-.4 2.3.5 2.9 1.9 1.2 4.9 3.1 7.2 3.5 3.5.6 6.7-.5 9.3-2.9l-.1.1c.7-.6 1.9-1.6 2.7-.5 2 3-6 16.1-6 35.2v1.6c0 8.1 8.2 15.1 16.3 15.5 8.6.4 15.7-6.5 15.7-15 0-4.3 1.6-7.1 3.2-8.8a.967.967 0 000-1.399L57.9 43.4zM77 53c-.8 0-1.5-.3-2.1-.9l-16-16c-1.2-1.2-1.2-3.1 0-4.2 1.199-1.2 3.1-1.2 4.199 0l16 16c1.2 1.2 1.2 3.1 0 4.2-.599.6-1.299.9-2.099.9z"}}},custom9:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M62 20H45.1c-2.5 0-4.7 1.5-5.6 3.8L29 50.9c-.8 2 .7 4.1 2.8 4.1H49l-6.4 22.4c-.6 2.1 2 3.5 3.4 1.8L72.3 48c1.7-1.9.3-5-2.3-5H57l11.4-18.4c1.199-2-.2-4.6-2.601-4.6H62z"}},custom90:{xmlns:"http://www.w3.org/2000/svg",g:{path:[{d:"M77.4 26L53 29.6V64c0 .6-.4 1-1 1h-4c-.6 0-1-.4-1-1V30.5L23.4 34H23c-1.5 0-2.8-1.1-3-2.6-.2-1.6.9-3.2 2.5-3.4l18.6-2.8c1.7-3.1 5-5.3 8.8-5.3 2.8 0 5.2 1.1 7 2.9L76.6 20c1.601-.2 3.2.9 3.4 2.5.2 1.7-.9 3.2-2.6 3.5z"},{d:"M41.3 62.9c.7-.9.9-2 .4-3.101l-8-19C33.3 39.7 32.2 39 31 39s-2.3.7-2.8 1.8l-8 19c-.4.9-.3 1.9.2 2.8.2.3 4.1 6.3 10.4 6.3 3.7 0 7.3-2 10.5-6zM31 49.7L35.3 60h-8.6L31 49.7zM71.8 34.8a3.077 3.077 0 00-5.6 0l-8 19c-.4.9-.3 1.9.2 2.8.2.3 4.1 6.3 10.4 6.3 3.7 0 7.2-2 10.5-6 .7-.9.9-2 .4-3.101L71.8 34.8zM69 43.7L73.3 54h-8.6L69 43.7zM50 71c-5.6 0-11.3 2-15.3 5.4-.4.4-.7.9-.7 1.5v.1c0 1.1.9 2 2 2h28c1.1 0 2-.9 2-2v-.1c0-.601-.2-1.101-.7-1.5C61.3 73 55.6 71 50 71z"}]}},custom91:{xmlns:"http://www.w3.org/2000/svg",g:{path:[{d:"M77.8 32.6c-3-.9-5.6-3-7.3-5.7-1.3-2.1-1.4-6.9-4.6-6.9H34.1c-3.3 0-3.3 4.8-4.6 6.9-2.1 3.3-4.8 4.1-8 6-3.3 1.9-.2 9.9.5 12.7 3.1 11.1 9 21.4 18.2 28.7 2.6 2.101 5.4 3.9 8.4 5.4 2.7 1.399 7.2-2.5 9.2-4C63 72 67.3 67.3 70.7 62c2.899-4.6 5.1-9.6 6.7-14.8.6-2.1 1.2-4.2 1.6-6.4.4-1.8 1.3-4.6.7-6.4-.2-.8-1-1.5-1.9-1.8-4.6-1.4 1.4.4 0 0zm-4.4 7C70.7 53 63.5 65.5 51.6 72.8l-1.6 1-1.6-1C34 64 28.6 49.9 26.6 39.6l-.4-2.1 1.8-1.1c3.1-1.9 6-5.2 7.7-8.7l.8-1.8h27l.5 1.3c1.7 3.8 4.8 7.4 8.5 9.5l1.3.7v.1l-.4 2.1z"},{d:"M48.9 32c-2.3 0-7.9 0-9 1-1.9 1.7-3 4.2-5 5.9-2.1 1.8-1.1 3.6-.4 6 1.4 4.2 3.3 8.3 5.9 12 1.3 1.899 2.8 3.699 4.5 5.3.5.5 5.1 5.1 5.1 2.2V34c0-1.1 0-2-1.1-2z"}]}},custom92:{xmlns:"http://www.w3.org/2000/svg",g:{path:[{d:"M73.7 56.4L50.9 46c-.601-.3-1.2-.3-1.8 0L26.3 56.4c-1.3.6-1.7 2.1-.9 3.3 2.4 3.399 3.9 7.8 4.5 9.8.2.8.9 1.3 1.6 1.5 7.9 1.9 14.4 6.4 17.1 8.5.8.6 1.9.6 2.7 0 2.7-2.1 9.3-6.6 17.1-8.5.8-.2 1.399-.7 1.6-1.5.6-2.1 2.1-6.5 4.5-9.8.9-1.1.5-2.7-.8-3.3zM44 62c-1.7 0-3-1.8-3-4s1.3-4 3-4 3 1.8 3 4-1.3 4-3 4zm12 0c-1.7 0-3-1.8-3-4s1.3-4 3-4 3 1.8 3 4-1.3 4-3 4z"},{d:"M34.4 46.1l12.2-5.6c1.5-.7 3.1-.9 4.8-.6.699.1 1.399.4 2.1.7l12.1 5.6c.7.3 1.4-.2 1.4-.9v-4.5c0-.5-.2-1-.6-1.4-.8-.9-2.4-2.4-5.4-2.4v-5.9c0-.7-.4-1.4-1-1.7-1.1-.6-3-1.5-6-2V22c0-1.1-.9-2-2-2h-4c-1.1 0-2 .9-2 2v5.4c-3 .5-4.9 1.4-6 2-.6.3-1 1-1 1.7V37c-3 0-4.6 1.5-5.4 2.3-.4.4-.6.9-.6 1.4v4.5c0 .7.7 1.2 1.4.9z"}]}},custom93:{xmlns:"http://www.w3.org/2000/svg",g:{path:{d:"M42.4 50h29.5c.899 0 1.699-.6 1.899-1.5l5.4-19C79.6 28.2 78.6 27 77.3 27H31.7l-.8-2.8c-.4-1.3-1.6-2.2-2.9-2.2h-4.8c-1.6 0-3.1 1.2-3.2 2.8-.1 1.7 1.3 3.2 3 3.2h2.8l9.4 31.8c.4 1.3 1.5 2.2 2.9 2.2h34.8c1.6 0 3.1-1.2 3.199-2.8.101-1.7-1.3-3.2-3-3.2H42.5c-1.3 0-2.5-.9-2.8-2.1v-.1c-.7-1.9.8-3.8 2.7-3.8z"},circle:[{cx:"43",cy:"73",r:"5"},{cx:"67",cy:"73",r:"5"}]}},custom94:{xmlns:"http://www.w3.org/2000/svg",g:{path:[{d:"M56 38V23c0-1.7-1.3-3-3-3h-4c-1.7 0-3 1.3-3 3s1.3 3 3 3h1v12c0 6.6-5.4 12-12 12s-12-5.4-12-12V26h1c1.7 0 3-1.3 3-3s-1.3-3-3-3h-4c-1.7 0-3 1.3-3 3v15c0 9.9 8.1 18 18 18s18-8.1 18-18z"},{d:"M80 50c0-5-4-9-9-9s-9 4-9 9c0 3.9 2.5 7.2 6 8.5v2.2C68 68 62 74 54.7 74h-.3c-6.3 0-11.601-4.5-13-10.4-.2-.899-1-1.6-2-1.6h-2c-1.3 0-2.2 1.2-2 2.4C37.1 73.3 45 80 54.3 80h.3C65.3 80 74 71.3 74 60.7v-2.2c3.5-1.3 6-4.6 6-8.5zm-9 3c-1.7 0-3-1.3-3-3s1.3-3 3-3 3 1.3 3 3-1.3 3-3 3z"}]}},custom95:{xmlns:"http://www.w3.org/2000/svg",g:{path:[{d:"M53 30.2V26h1c1.6 0 3-1.3 3-3 0-1.6-1.3-3-3-3h-8c-1.6 0-3 1.3-3 3 0 1.6 1.3 3 3 3h1v4.2c-12.4 1.5-22 12-22 24.8 0 13.8 11.2 25 25 25s25-11.2 25-25c0-12.8-9.6-23.3-22-24.8zM50 74c-10.5 0-19-8.5-19-19s8.5-19 19-19 19 8.5 19 19-8.5 19-19 19z"},{d:"M56.6 44.8L52 49.4c-.6-.2-1.3-.4-2-.4-3.3 0-6 2.7-6 6s2.7 6 6 6 6-2.7 6-6c0-.7-.1-1.4-.4-2l4.601-4.6c1-1 1-2.6 0-3.6-1.001-1.1-2.601-1.1-3.601 0z"}]}},custom96:{xmlns:"http://www.w3.org/2000/svg",g:{path:{d:"M79.4 28.7l-5.2-3.9c-.7-.5-1.5-.8-2.4-.8H54v-2c0-1.1-.9-2-2-2h-4c-1.1 0-2 .9-2 2v2H26c-1.1 0-2 .9-2 2v8c0 1.1.9 2 2 2h45.7c.899 0 1.7-.3 2.399-.8l5.2-3.9c.901-.7.901-1.9.101-2.6zM74 46H54v-3c0-.6-.4-1-1-1h-6c-.6 0-1 .4-1 1v3H28.3c-.9 0-1.7.3-2.4.8l-5.2 3.9c-.9.6-.9 1.899 0 2.6l5.2 3.9c.7.5 1.5.8 2.4.8H74c1.1 0 2-.9 2-2v-8c0-1.1-.9-2-2-2zM54 71.6V65c0-.6-.4-1-1-1h-6c-.6 0-1 .4-1 1v6.6c-4 1.101-6.2 3.5-6.9 6.5-.2.9.5 1.9 1.5 1.9h18.9c1 0 1.7-.9 1.5-1.9-.8-3-3-5.4-7-6.5z"}}},custom97:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M60 54.4V29.1C60 22.9 55.2 18 49.1 18h-.2C42.8 18 38 22.9 38 29.1v25.3c-3.2 3-5 7.199-5 11.6 0 8.8 7.2 16 16 16s16-7.2 16-16c0-4.5-1.8-8.6-5-11.6zM57.4 66H40.6c-.9 0-1.6-.9-1.5-1.8.4-2.4 1.7-4.5 3.6-6 .7-.601 1.2-1.5 1.2-2.4V29.1c0-2.9 2.2-5.1 4.9-5.1h.2c2.8 0 4.9 2.2 4.9 5.1v.9h-3c-1.7 0-3 1.3-3 3s1.3 3 3 3h3v4h-3c-1.7 0-3 1.3-3 3s1.3 3 3 3h3v4h-3c-1.7 0-3 1.3-3 3s1.3 3 3 3h3c.1.9.5 1.6 1.199 2.2 1.9 1.5 3.2 3.7 3.601 6 .3.9-.4 1.8-1.3 1.8z"}},custom98:{xmlns:"http://www.w3.org/2000/svg",g:{path:[{d:"M81.4 46.4l-7.8-7.8c-.4-.4-.9-.6-1.4-.6H64c-1.1 0-2 .9-2 2v16c0 .7.7 1.2 1.4.9 1.4-.6 3-.9 4.6-.9 4.5 0 8.4 2.5 10.5 6.2.3.5 1 .7 1.5.3 1.2-1.1 2-2.7 2-4.5V47.8c0-.5-.2-1-.6-1.4z"},{d:"M54 29H20c-1.1 0-2 .9-2 2v27c0 1.8.8 3.4 2 4.5.5.4 1.2.3 1.5-.3 2-3.7 6-6.2 10.5-6.2 5 0 9.2 3 11.1 7.4.2.4.5.6.9.6h6c3.3 0 6-2.7 6-6V31c0-1.1-.9-2-2-2z"}],circle:[{cx:"68",cy:"68",r:"6"},{cx:"32",cy:"68",r:"6"}]}},custom99:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M74 36H57.2c-.5-1.2-1.2-2.2-2.101-3.1l6.301-8.1c1-1.3.8-3.2-.5-4.2-1.301-1-3.2-.8-4.2.5l-7 9c-.6 0-1.1-.1-1.7-.1s-1.1.1-1.6.1l-7-9c-1-1.3-2.9-1.5-4.2-.5-1.3 1-1.5 2.9-.5 4.2l6.3 8.1c-.9.9-1.6 1.9-2.1 3.1H26c-3.3 0-6 2.7-6 6v28c0 3.3 2.7 6 6 6h48c3.3 0 6-2.7 6-6V42c0-3.3-2.7-6-6-6zm-8 32c0 1.1-.9 2-2 2H28c-1.1 0-2-.9-2-2V44c0-1.1.9-2 2-2h36c1.1 0 2 .9 2 2v24zm7-10c-1.7 0-3-1.3-3-3s1.3-3 3-3 3 1.3 3 3-1.3 3-3 3zm0-10c-1.7 0-3-1.3-3-3s1.3-3 3-3 3 1.3 3 3-1.3 3-3 3z"}},viewBox:"0 0 100 100"},Qe={ai:{xmlns:"http://www.w3.org/2000/svg",path:[{d:"M5.075.006A5.074 5.074 0 00.002 5.08v53.841a5.073 5.073 0 005.073 5.074h45.774a5.074 5.074 0 005.074-5.074V20.316L37.02.006H5.075z","fill-rule":"evenodd","clip-rule":"evenodd",fill:"#FFC35E"},{d:"M55.923 20.357v.999h-12.8s-6.312-1.26-6.128-6.707c0 0 .253 5.708 6.003 5.708h12.925z","fill-rule":"evenodd","clip-rule":"evenodd",fill:"#FFB446"},{d:"M37.02.006v14.56c0 1.656 1.104 5.792 6.104 5.792h12.8L37.02.006z",opacity:".5","fill-rule":"evenodd","clip-rule":"evenodd",fill:"#fff"},{d:"M20.136 53.923a.776.776 0 01-.72-.486l-.9-2.287h-5.978l-.9 2.287a.776.776 0 01-.72.486.804.804 0 01-.811-.792c0-.09.018-.198.054-.288l4.141-10.335a1.304 1.304 0 011.225-.811c.522 0 .99.324 1.188.811l4.177 10.335c.036.09.054.198.054.288 0 .36-.324.792-.81.792zm-4.61-10.569l-2.557 6.463h5.095l-2.538-6.463zm8.513 10.569a.73.73 0 01-.738-.738V42.417c0-.396.324-.72.774-.72.396 0 .72.324.72.72v10.767a.734.734 0 01-.756.739z",fill:"#fff"}]},attachment:{xmlns:"http://www.w3.org/2000/svg",g:{"fill-rule":"evenodd","clip-rule":"evenodd",path:[{d:"M5.113-.026A5.074 5.074 0 00.039 5.048v53.841a5.073 5.073 0 005.074 5.074h45.773a5.074 5.074 0 005.074-5.074V20.284L37.059-.026H5.113z",fill:"#8199AF"},{d:"M55.977 20.352v1H43.178s-6.312-1.26-6.129-6.707c0 0 .208 5.707 6.004 5.707h12.924z",fill:"#617F9B"},{d:"M37.074 0v14.561c0 1.656 1.104 5.791 6.104 5.791h12.799L37.074 0z",opacity:".5",fill:"#fff"}]},path:{d:"M26.6 41.467c1.134-1.134 1.134-2.986 0-4.12s-2.986-1.134-4.12 0l-9.167 9.167c-1.134 1.134-1.134 2.986 0 4.12s2.986 1.134 4.12 0l5.625-5.602c.324-.324.324-.856 0-1.181s-.856-.324-1.181 0l-3.542 3.519a1.204 1.204 0 01-1.759 0 1.204 1.204 0 010-1.759l3.519-3.542c1.319-1.296 3.426-1.296 4.722 0 1.296 1.319 1.296 3.426 0 4.722l-5.625 5.625c-2.106 2.106-5.532 2.106-7.662 0-2.106-2.129-2.106-5.555 0-7.662l9.166-9.167c2.13-2.129 5.556-2.129 7.662 0 2.129 2.106 2.129 5.532 0 7.662l-.903.902a4.968 4.968 0 00-.926-2.616l.071-.068z",fill:"#fff"}},audio:{xmlns:"http://www.w3.org/2000/svg",g:{"fill-rule":"evenodd","clip-rule":"evenodd",path:[{d:"M5.151.012A5.073 5.073 0 00.078 5.085v53.842A5.073 5.073 0 005.151 64h45.774A5.074 5.074 0 0056 58.927V20.321L37.097.012H5.151z",fill:"#379FD3"},{d:"M56 20.357v1H43.2s-6.312-1.26-6.128-6.707c0 0 .208 5.707 6.003 5.707H56z",fill:"#2987C8"},{d:"M37.097.006v14.561c0 1.656 1.104 5.791 6.104 5.791h12.8L37.097.006z",opacity:".5",fill:"#fff"},{d:"M29.798 34.036L15.633 35.85v13.438c-.738-.205-1.628-.243-2.531-.064-2.009.394-3.325 1.702-2.938 2.918.386 1.215 2.325 1.88 4.333 1.48 1.764-.348 2.994-1.397 3.005-2.473h.002v-10.74l10.422-1.288v8.306c-.75-.212-1.655-.251-2.572-.068-2.03.399-3.357 1.718-2.969 2.947.389 1.229 2.35 1.897 4.379 1.499 1.849-.366 3.116-1.494 3.031-2.621V34.036z",fill:"#fff"}]}},box_notes:{xmlns:"http://www.w3.org/2000/svg",path:[{fill:"#277A84",d:"M5.112.011A5.074 5.074 0 00.039 5.085v53.841A5.074 5.074 0 005.112 64h45.775a5.074 5.074 0 005.074-5.074V20.321L37.057.011H5.112z"},{fill:"#1E5B60",d:"M55.96 20.377v1H43.161s-6.312-1.26-6.129-6.707c0 0 .208 5.707 6.004 5.707H55.96z"},{opacity:".5",fill:"#FFF",d:"M37.059.025v14.561c0 1.656 1.104 5.791 6.104 5.791h12.799L37.059.025z"},{fill:"#FFF",d:"M27.094 39.334l2.105-2.104H10.495s-.361.016-.362.401 0 1.159 0 1.347c0 .187.182.355.375.355l16.586.001zM19.768 46.602l2.104-2.104H10.495s-.361.016-.362.401v1.347c0 .187.182.356.375.356h9.26zM14.708 53.904l.268-2.104h-4.48s-.361.017-.362.402 0 1.16 0 1.346c0 .187.182.356.375.356h4.199zM15.588 53.873s1.672-.03 2.015-.112c.342-.082.406-.146.531-.271l13.104-13.104s-.494.42-1.592-.682c-.869-.87-.487-1.402-.487-1.402s-12.75 12.729-12.99 12.988c-.24.26-.252.404-.274.509-.021.105-.307 2.074-.307 2.074z"},{fill:"#FFF",d:"M30.742 36.714c-.201.201-.96.938-1.059 1.058-.097.121-.184.227-.104.58.079.353.682 1.354 1.656 1.629 0 0 .299.107.541-.133.24-.242 1.092-1.093 1.092-1.093s.204-.172.042-.621c-.163-.448-.81-1.247-1.582-1.539-.387-.148-.586.119-.586.119z"}]},csv:{xmlns:"http://www.w3.org/2000/svg",path:[{d:"M5.106 0A5.074 5.074 0 00.033 5.074v53.841a5.073 5.073 0 005.073 5.074H50.88a5.074 5.074 0 005.074-5.074V20.31L37.051 0H5.106z","fill-rule":"evenodd","clip-rule":"evenodd",fill:"#45B058"},{d:"M20.306 43.197a.784.784 0 01.198.522c0 .378-.306.72-.703.72a.638.638 0 01-.504-.234c-.702-.846-1.891-1.387-3.007-1.387-2.629 0-4.627 2.017-4.627 4.88 0 2.845 1.999 4.879 4.627 4.879a3.97 3.97 0 003.007-1.369.697.697 0 01.504-.233c.415 0 .703.359.703.738 0 .18-.072.36-.198.504-.937.972-2.215 1.693-4.015 1.693-3.457 0-6.176-2.521-6.176-6.212s2.719-6.212 6.176-6.212c1.8.001 3.096.721 4.015 1.711zm6.802 10.714c-1.782 0-3.187-.594-4.213-1.495a.71.71 0 01-.234-.54c0-.361.27-.757.702-.757.144 0 .306.036.432.144.828.739 1.98 1.314 3.367 1.314 2.143 0 2.827-1.152 2.827-2.071 0-3.097-7.112-1.386-7.112-5.672 0-1.98 1.764-3.331 4.123-3.331 1.548 0 2.881.467 3.853 1.278a.73.73 0 01.252.54c0 .36-.306.72-.703.72a.68.68 0 01-.432-.162c-.882-.72-1.98-1.044-3.079-1.044-1.44 0-2.467.774-2.467 1.909 0 2.701 7.112 1.152 7.112 5.636.001 1.748-1.187 3.531-4.428 3.531zm16.994-11.254l-4.159 10.335a1.31 1.31 0 01-1.188.81h-.036a1.316 1.316 0 01-1.207-.81L33.37 42.657a.746.746 0 01-.054-.288c0-.36.323-.793.81-.793.306 0 .594.18.72.486l3.889 9.992 3.889-9.992a.767.767 0 01.72-.486.803.803 0 01.758 1.081z",fill:"#fff"}],g:{"fill-rule":"evenodd","clip-rule":"evenodd",path:[{d:"M56.001 20.357v1h-12.8s-6.312-1.26-6.128-6.707c0 0 .208 5.707 6.003 5.707h12.925z",fill:"#349C42"},{d:"M37.098.006v14.561c0 1.656 1.104 5.791 6.104 5.791h12.8L37.098.006z",opacity:".5",fill:"#fff"}]}},eps:{xmlns:"http://www.w3.org/2000/svg",path:[{d:"M5.106.009A5.074 5.074 0 00.033 5.083v53.841a5.073 5.073 0 005.073 5.074H50.88a5.074 5.074 0 005.074-5.074V20.319L37.052.009H5.106z","fill-rule":"evenodd","clip-rule":"evenodd",fill:"#FFC35E"},{d:"M17.45 53.912h-6.248a1.085 1.085 0 01-1.081-1.081v-9.849c0-.595.486-1.081 1.081-1.081h6.248c.36 0 .648.288.648.685a.645.645 0 01-.648.647h-5.833v3.871h5.708c.36 0 .648.288.648.685 0 .36-.288.648-.648.648h-5.708v4.141h5.833c.36 0 .648.288.648.648 0 .397-.288.686-.648.686zm8.189-4.772h-3.331v4.141a.734.734 0 01-.756.738.73.73 0 01-.738-.738V42.982c0-.595.486-1.081 1.081-1.081h3.745c2.413 0 3.763 1.657 3.763 3.619-.001 1.963-1.387 3.62-3.764 3.62zm-.18-5.906h-3.151v4.573h3.151c1.422 0 2.395-.936 2.395-2.287 0-1.35-.973-2.286-2.395-2.286zm10.259 10.893c-1.782 0-3.187-.594-4.213-1.495a.71.71 0 01-.234-.54c0-.361.27-.757.702-.757.144 0 .306.036.432.144.829.739 1.981 1.314 3.367 1.314 2.143 0 2.827-1.152 2.827-2.071 0-3.097-7.112-1.386-7.112-5.672 0-1.98 1.764-3.331 4.123-3.331 1.548 0 2.881.468 3.853 1.279a.73.73 0 01.252.54c0 .36-.306.72-.702.72a.68.68 0 01-.432-.162c-.882-.72-1.98-1.044-3.079-1.044-1.44 0-2.467.774-2.467 1.909 0 2.701 7.112 1.152 7.112 5.636.001 1.748-1.188 3.53-4.429 3.53z",fill:"#fff"}],g:{"fill-rule":"evenodd","clip-rule":"evenodd",path:[{d:"M56 20.357v1H43.201c-2.438 0-6.312-1.26-6.128-6.707 0 0 .208 5.707 6.003 5.707H56z",fill:"#FFB446"},{d:"M37.097.006v14.561c0 1.656 1.104 5.791 6.104 5.791H56L37.097.006z",opacity:".5",fill:"#fff"}]}},excel:{xmlns:"http://www.w3.org/2000/svg",path:[{d:"M5.112.006A5.074 5.074 0 00.039 5.08v53.841a5.073 5.073 0 005.073 5.074h45.774a5.074 5.074 0 005.074-5.074V20.316L37.058.006H5.112z","fill-rule":"evenodd","clip-rule":"evenodd",fill:"#45B058"},{d:"M19.429 53.938a.64.64 0 01-.54-.27l-3.728-4.97-3.745 4.97a.641.641 0 01-.54.27.71.71 0 01-.72-.72c0-.144.035-.306.144-.432l3.89-5.131-3.619-4.826a.722.722 0 01-.145-.414c0-.342.288-.72.721-.72.216 0 .432.108.576.288l3.438 4.628 3.438-4.646a.643.643 0 01.541-.27c.378 0 .738.306.738.72a.695.695 0 01-.127.414l-3.619 4.808 3.891 5.149a.7.7 0 01.125.414c0 .396-.324.738-.719.738zm9.989-.126h-5.455a1.083 1.083 0 01-1.081-1.08V42.415c0-.396.324-.72.774-.72.396 0 .721.324.721.72V52.48h5.041c.359 0 .648.288.648.648 0 .396-.289.684-.648.684zm6.982.216c-1.782 0-3.188-.594-4.213-1.495a.71.71 0 01-.234-.54c0-.36.27-.756.702-.756.144 0 .306.036.433.144.828.738 1.98 1.314 3.367 1.314 2.143 0 2.826-1.152 2.826-2.071 0-3.097-7.111-1.386-7.111-5.672 0-1.98 1.764-3.331 4.123-3.331 1.548 0 2.881.468 3.853 1.278a.73.73 0 01.253.54c0 .36-.307.72-.703.72a.676.676 0 01-.432-.162c-.883-.72-1.98-1.044-3.079-1.044-1.44 0-2.467.774-2.467 1.909 0 2.701 7.112 1.152 7.112 5.636 0 1.748-1.188 3.53-4.43 3.53z",fill:"#fff"},{d:"M55.953 20.352v1H43.152s-6.312-1.26-6.127-6.707c0 0 .207 5.707 6.002 5.707h12.926z","fill-rule":"evenodd","clip-rule":"evenodd",fill:"#349C42"},{d:"M37.049 0v14.561c0 1.656 1.104 5.791 6.104 5.791h12.801L37.049 0z",opacity:".5","fill-rule":"evenodd","clip-rule":"evenodd",fill:"#fff"}]},exe:{xmlns:"http://www.w3.org/2000/svg",path:[{d:"M5.112.025A5.074 5.074 0 00.039 5.099V58.94a5.073 5.073 0 005.073 5.074h45.774a5.074 5.074 0 005.074-5.074V20.335L37.058.025H5.112z","fill-rule":"evenodd","clip-rule":"evenodd",fill:"#8199AF"},{d:"M17.455 53.919h-6.247a1.084 1.084 0 01-1.081-1.081V42.99c0-.594.486-1.08 1.081-1.08h6.247c.361 0 .648.288.648.684 0 .36-.287.648-.648.648h-5.833v3.871h5.708c.359 0 .648.288.648.685 0 .36-.289.648-.648.648h-5.708v4.141h5.833c.361 0 .648.288.648.648.001.396-.287.684-.648.684zm12.098.126a.643.643 0 01-.541-.27l-3.727-4.97-3.746 4.97a.64.64 0 01-.539.27.712.712 0 01-.721-.72c0-.144.036-.306.145-.432l3.889-5.131-3.619-4.825a.725.725 0 01-.145-.415c0-.342.289-.72.721-.72a.75.75 0 01.576.288l3.439 4.627 3.438-4.646a.641.641 0 01.54-.27c.379 0 .738.306.738.72a.694.694 0 01-.126.415l-3.618 4.808 3.889 5.149a.7.7 0 01.126.414c0 .396-.324.738-.719.738zm10.78-.126h-6.247a1.084 1.084 0 01-1.081-1.081V42.99c0-.594.486-1.08 1.081-1.08h6.247c.36 0 .648.288.648.684 0 .36-.288.648-.648.648H34.5v3.871h5.707c.36 0 .648.288.648.685 0 .36-.288.648-.648.648H34.5v4.141h5.833c.36 0 .648.288.648.648 0 .396-.288.684-.648.684z",fill:"#fff"}],g:{"fill-rule":"evenodd","clip-rule":"evenodd",path:[{d:"M55.961 20.377v1H43.162s-6.312-1.26-6.129-6.708c0 0 .208 5.708 6.004 5.708h12.924z",fill:"#617F9B"},{d:"M37.059.025v14.561c0 1.656 1.104 5.792 6.104 5.792h12.799L37.059.025z",opacity:".5",fill:"#fff"}]}},flash:{xmlns:"http://www.w3.org/2000/svg",path:[{d:"M5.112.009A5.074 5.074 0 00.039 5.083v53.841a5.073 5.073 0 005.073 5.074h45.775a5.074 5.074 0 005.074-5.074V20.319L37.057.009H5.112z","fill-rule":"evenodd","clip-rule":"evenodd",fill:"#E53C3C"},{d:"M17.466 43.105h-5.833v3.871h5.708c.36 0 .648.288.648.685 0 .36-.288.648-.648.648h-5.708v4.843a.734.734 0 01-.756.738.73.73 0 01-.738-.738V42.854c0-.594.486-1.081 1.081-1.081h6.248c.36 0 .648.288.648.685a.648.648 0 01-.65.647zm9.558 10.678h-5.456a1.085 1.085 0 01-1.081-1.081V42.385c0-.396.324-.72.774-.72.396 0 .72.324.72.72V52.45h5.042c.36 0 .648.288.648.648.001.397-.287.685-.647.685zm12.222.108a.776.776 0 01-.72-.486l-.9-2.287h-5.978l-.9 2.287a.776.776 0 01-.72.486.804.804 0 01-.811-.792c0-.09.018-.198.054-.288l4.141-10.335a1.304 1.304 0 011.225-.811c.522 0 .99.324 1.188.811l4.177 10.335c.036.09.054.198.054.288 0 .359-.324.792-.81.792zm-4.609-10.569l-2.557 6.464h5.095l-2.538-6.464z",fill:"#fff"}],g:{"fill-rule":"evenodd","clip-rule":"evenodd",path:[{d:"M55.961 20.346v1H43.162s-6.312-1.26-6.129-6.707c0 0 .208 5.707 6.004 5.707h12.924z",fill:"#DE2D2D"},{d:"M37.059-.006v14.561c0 1.656 1.104 5.791 6.104 5.791h12.799L37.059-.006z",opacity:".5",fill:"#fff"}]}},folder:{xmlns:"http://www.w3.org/2000/svg",path:[{d:"M51.48 15.46A4.52 4.52 0 0156 20v31a4.52 4.52 0 01-4.52 4.52h-47A4.52 4.52 0 010 51V13a4.52 4.52 0 014.52-4.48H16c3.82 0 4.23 1.14 6.74 4.45 2.07 2.74 7.11 2.49 10.39 2.49z",fill:"#003462"},{d:"M51.48 18.12H9.24a4.52 4.52 0 00-4.52 4.52v2.84L9.19 19h42.35L56 25.49v-2.85a4.52 4.52 0 00-4.52-4.52z",fill:"#87c8f2"},{d:"M4.57 55.48h46.91A4.52 4.52 0 0056 51V23.48A4.52 4.52 0 0051.48 19H9.25a4.52 4.52 0 00-4.52 4.52V51a4.65 4.65 0 01-.06.72 2.33 2.33 0 01-4.6 0 4.5 4.5 0 004.5 3.76z",fill:"#00a1e0"}]},gdoc:{xmlns:"http://www.w3.org/2000/svg",path:[{d:"M5.112.011A5.074 5.074 0 00.039 5.085v53.841A5.074 5.074 0 005.112 64h45.775a5.074 5.074 0 005.074-5.074V20.321L37.057.011H5.112z","fill-rule":"evenodd","clip-rule":"evenodd",fill:"#3C8CEA"},{d:"M10.133 37.439h21.564v2.059H10.133zm0 4.801h21.564v2.057H10.133zm0 4.801h21.564v2.057H10.133zm0 4.8h12.233v2.058H10.133z",fill:"#fff"}],g:{"fill-rule":"evenodd","clip-rule":"evenodd",path:[{d:"M55.96 20.377v1H43.161s-6.312-1.26-6.129-6.707c0 0 .208 5.707 6.004 5.707H55.96z",fill:"#2D6FE4"},{d:"M37.058.025v14.561c0 1.656 1.104 5.791 6.104 5.791h12.799L37.058.025z",opacity:".5",fill:"#fff"}]}},gdocs:{xmlns:"http://www.w3.org/2000/svg",path:[{fill:"#3C8CEA",d:"M5.1 0C2.3 0 0 2.3 0 5.1v53.8C0 61.7 2.3 64 5.1 64h45.8c2.8 0 5.1-2.3 5.1-5.1V20.3L37.1 0h-32z"},{fill:"#2D6FE4",d:"M56 20.4v1H43.2s-6.4-1.3-6.2-6.7c0 0 .2 5.7 6 5.7h13z"},{opacity:".5",fill:"#FFF",d:"M37.1 0v14.6c0 1.6 1.1 5.8 6.1 5.8H56L37.1 0z"},{fill:"#FFF",d:"M25.9 45.1h-7.6v2.2h5.4c-.3 3.2-2.9 4.5-5.4 4.5-3.2 0-5.9-2.5-5.9-6 0-3.4 2.6-6 5.9-6 2.5 0 4.1 1.6 4.1 1.6l1.6-1.6s-2-2.2-5.7-2.2c-4.7 0-8.3 4-8.3 8.2 0 4.2 3.4 8.3 8.4 8.3 4.4 0 7.7-3 7.7-7.5-.1-.9-.2-1.5-.2-1.5z"}]},gform:{xmlns:"http://www.w3.org/2000/svg",path:[{fill:"#673AB7",d:"M5.113-.026A5.074 5.074 0 00.039 5.048v53.841a5.073 5.073 0 005.074 5.074h45.773a5.074 5.074 0 005.074-5.074V20.284L37.059-.026H5.113z"},{fill:"#45317C",d:"M55.977 20.352v1H43.178s-6.312-1.26-6.129-6.707c0 0 .208 5.707 6.004 5.707h12.924z"},{opacity:".5",fill:"#FFF",d:"M37.074 0v14.561c0 1.656 1.104 5.791 6.104 5.791h12.799L37.074 0z"},{fill:"#FFF",d:"M12.739 39.41c0-.4-.3-.7-.7-.7h-1.3c-.4 0-.7.3-.7.7v1.3c0 .4.3.7.7.7h1.3c.4 0 .7-.3.7-.7v-1.3zm18.8 0c0-.4-.3-.7-.7-.7h-15.7c-.4 0-.7.3-.7.7v1.3c0 .4.3.7.7.7h15.7c.4 0 .7-.3.7-.7v-1.3zm-18.8 6.3c0-.4-.3-.7-.7-.7h-1.3c-.4 0-.7.3-.7.7v1.3c0 .4.3.7.7.7h1.3c.4 0 .7-.3.7-.7v-1.3zm18.8 0c0-.4-.4-.7-.8-.7h-15.5c-.4 0-.8.3-.8.7v1.3c0 .4.4.7.8.7h15.5c.4 0 .8-.3.8-.7v-1.3zm-18.8 6.2c0-.4-.3-.7-.7-.7h-1.3c-.4 0-.7.3-.7.7v1.3c0 .4.3.7.7.7h1.3c.4 0 .7-.3.7-.7v-1.3zm18.8 0c0-.4-.3-.7-.7-.7h-15.7c-.4 0-.7.3-.7.7v1.3c0 .4.3.7.7.7h15.7c.4 0 .7-.3.7-.7v-1.3z"}]},gpres:{xmlns:"http://www.w3.org/2000/svg",path:[{d:"M5.111.009A5.073 5.073 0 00.039 5.083v53.841a5.073 5.073 0 005.072 5.074h45.775a5.074 5.074 0 005.074-5.074V20.318L37.057.009H5.111z","fill-rule":"evenodd","clip-rule":"evenodd",fill:"#F8BE46"},{d:"M10.123 37.465v11.9H22.54v-11.9H10.123zm11.289 9.642h-10.16v-7.386h10.16v7.386zm.674-5.128v2.259h8.386v7.385h-10.16v-2.846h-1.129v5.104h12.419V41.979h-9.516z",fill:"#fff"}],g:{"fill-rule":"evenodd","clip-rule":"evenodd",path:[{d:"M55.96 20.377v1H43.161s-6.312-1.26-6.129-6.707c0 0 .208 5.707 6.004 5.707H55.96z",fill:"#F6AD34"},{d:"M37.058.025v14.561c0 1.656 1.104 5.791 6.104 5.791h12.799L37.058.025z",opacity:".5",fill:"#fff"}]}},gsheet:{xmlns:"http://www.w3.org/2000/svg",path:[{d:"M5.131-.001A5.073 5.073 0 00.059 5.073v53.841a5.073 5.073 0 005.072 5.074h45.775a5.074 5.074 0 005.074-5.074V20.309L37.076-.001H5.131z","fill-rule":"evenodd","clip-rule":"evenodd",fill:"#20A971"},{d:"M10.107 37.466v16.419h21.521V37.466H10.107zm6.458 15.078h-4.967v-3.58h4.967v3.58zm0-5.012h-4.967v-3.579h4.967v3.579zm0-5.011h-4.967v-3.58h4.967v3.58zm13.632 10.023H18.042v-3.58h12.155v3.58zm0-5.012H18.042v-3.579h12.155v3.579zm0-5.011H18.042v-3.58h12.155v3.58z",fill:"#fff"}],g:{"fill-rule":"evenodd","clip-rule":"evenodd",path:[{d:"M55.98 20.32v1H43.179s-6.312-1.26-6.127-6.707c0 0 .207 5.707 6.002 5.707H55.98z",fill:"#189355"},{d:"M37.076-.031V14.53c0 1.656 1.104 5.791 6.104 5.791h12.801L37.076-.031z",opacity:".5",fill:"#fff"}]}},html:{xmlns:"http://www.w3.org/2000/svg",path:[{d:"M5.135.008A5.074 5.074 0 00.061 5.082v53.84a5.073 5.073 0 005.074 5.074H50.91a5.074 5.074 0 005.074-5.074V20.317L37.081.008H5.135z","fill-rule":"evenodd","clip-rule":"evenodd",fill:"#F7622C"},{d:"M18.942 50.841a.87.87 0 01-.336-.063l-7.58-3.38c-.483-.21-.798-.714-.798-1.28 0-.504.315-1.008.798-1.219l7.58-3.4a.89.89 0 011.218.84.89.89 0 01-.525.818l-7.034 3.002 7.034 2.982a.868.868 0 01.525.818c0 .546-.462.882-.882.882zm8.464-11.044l-4.43 13.291c-.126.398-.504.629-.903.629-.525 0-.924-.398-.924-.881a.75.75 0 01.063-.295l4.43-13.29a.934.934 0 01.903-.63c.525 0 .903.42.903.902l-.042.274zm10.184 7.6l-7.58 3.38a.886.886 0 01-1.218-.819c0-.357.189-.672.525-.818l7.034-2.982-7.034-3.002a.876.876 0 01-.546-.818c-.021-.547.441-.903.903-.903.105 0 .231.021.336.063l7.58 3.4c.483.211.798.715.798 1.219 0 .567-.315 1.071-.798 1.28z",fill:"#fff"}],g:{"fill-rule":"evenodd","clip-rule":"evenodd",path:[{d:"M55.976 20.352v1H43.177s-6.312-1.26-6.129-6.707c0 0 .208 5.707 6.004 5.707h12.924z",fill:"#F54921"},{d:"M37.074 0v14.561c0 1.656 1.104 5.791 6.104 5.791h12.799L37.074 0z",opacity:".5",fill:"#fff"}]}},image:{xmlns:"http://www.w3.org/2000/svg",g:{"fill-rule":"evenodd","clip-rule":"evenodd",path:[{d:"M5.125.042A5.074 5.074 0 00.053 5.116v53.841a5.072 5.072 0 005.072 5.073H50.9a5.074 5.074 0 005.074-5.073V20.353L37.07.042H5.125z",fill:"#49C9A7"},{d:"M55.977 20.352v1H43.178s-6.312-1.26-6.129-6.707c0 0 .208 5.707 6.004 5.707h12.924z",fill:"#37BB91"},{d:"M37.074 0v14.561c0 1.656 1.104 5.791 6.104 5.791h12.799L37.074 0z",opacity:".5",fill:"#fff"}]},path:{d:"M10.119 53.739V32.835h20.906v20.904H10.119zm18.799-18.843H12.227v12.6h16.691v-12.6zm-9.583 8.384l3.909-5.256 1.207 2.123 1.395-.434.984 5.631H13.748l3.496-3.32 2.091 1.256zm-3.856-3.64c-.91 0-1.649-.688-1.649-1.538 0-.849.739-1.538 1.649-1.538.912 0 1.65.689 1.65 1.538 0 .85-.738 1.538-1.65 1.538z","fill-rule":"evenodd","clip-rule":"evenodd",fill:"#fff"}},keynote:{xmlns:"http://www.w3.org/2000/svg",path:[{d:"M5.143.005A5.073 5.073 0 00.071 5.079V58.92a5.073 5.073 0 005.072 5.074h45.775a5.075 5.075 0 005.075-5.074V20.314L37.088.005H5.143z","fill-rule":"evenodd","clip-rule":"evenodd",fill:"#DB7A2A"},{d:"M17.819 54.013a.73.73 0 01-.54-.252l-4.429-5.275-1.207 1.368v3.403a.734.734 0 01-.756.738.73.73 0 01-.738-.738V42.489c0-.396.324-.72.774-.72.396 0 .72.323.72.72v5.6l5.186-6.067a.674.674 0 01.522-.234c.396 0 .738.306.738.702a.597.597 0 01-.162.414l-4.105 4.682 4.555 5.275a.648.648 0 01.162.433c.001.341-.288.719-.72.719zm10.926-.126h-6.248a1.084 1.084 0 01-1.081-1.08v-9.85c0-.594.486-1.08 1.081-1.08h6.248c.36 0 .648.288.648.685 0 .36-.288.648-.648.648h-5.833v3.871h5.708c.36 0 .648.288.648.684 0 .36-.288.648-.648.648h-5.708v4.142h5.833c.36 0 .648.288.648.647.001.397-.288.685-.648.685zm12.384-11.02l-4.033 5.942v4.447a.734.734 0 01-.756.738.73.73 0 01-.739-.738V48.81l-4.051-5.942a.674.674 0 01-.126-.378c0-.342.27-.72.72-.72.216 0 .468.107.612.306l3.583 5.384 3.583-5.384a.725.725 0 01.576-.288c.396 0 .738.324.738.702a.695.695 0 01-.107.377z",fill:"#fff"}],g:{"fill-rule":"evenodd","clip-rule":"evenodd",path:[{d:"M55.976 20.352v1H43.177s-6.312-1.26-6.129-6.707c0 0 .208 5.707 6.004 5.707h12.924z",fill:"#D25B1F"},{d:"M37.074 0v14.561c0 1.656 1.104 5.791 6.104 5.791h12.799L37.074 0z",opacity:".5",fill:"#fff"}]}},library_folder:{xmlns:"http://www.w3.org/2000/svg",path:[{fill:"#003462",d:"M51.5 15.5c2.5 0 4.5 2 4.5 4.5v31c0 2.5-2 4.5-4.5 4.5h-47C2 55.5 0 53.5 0 51V13c0-2.5 2-4.5 4.5-4.5H16c3.8 0 4.2 1.2 6.7 4.5 2.1 2.7 7.2 2.5 10.4 2.5h18.4z"},{fill:"#87C8F2",d:"M51.5 18.1H9.2c-2.5 0-4.5 2-4.5 4.5v2.9L9.2 19h42.3l4.5 6.5v-2.9c0-2.5-2-4.5-4.5-4.5z"},{fill:"#00A1E0",d:"M4.6 55.5h46.9c2.5 0 4.5-2 4.5-4.5V23.5c0-2.5-2-4.5-4.5-4.5H9.3c-2.5-.1-4.5 1.9-4.6 4.4v28.3c0 1.3-1 2.3-2.3 2.3-1.3 0-2.3-1-2.3-2.3.3 2.2 2.3 3.8 4.5 3.8z"}],g:{fill:"#FFF",path:[{d:"M25.5 37.8h3.6v11.5h-3.6zM31.6 37.8h3.6v11.5h-3.6z"},{d:"M46.4 31.8l-15-6.2c-.4-.2-.7-.3-1.1-.3-.1 0-.5 0-1.1.3l-15 6.2c-.3.2-.5.5-.5.8v.9c0 .5.4.9.9.9h2.9v14c0 .5.4.9.9.9h4.5V37.8h-1.8c-.4 0-.6-.2-.6-.6V36c0-.4.2-.6.6-.6H39.4c.4 0 .6.2.6.6v1.2c0 .4-.2.6-.6.6h-1.8v11.5h4.5c.5 0 .9-.4.9-.9V34.5v-.1h2.9c.5 0 .9-.4.9-.9v-.8c.1-.4-.1-.7-.4-.9zm-16.1.5c-1.1 0-1.9-.9-1.9-1.9 0-1.1.9-1.9 1.9-1.9 1.1 0 1.9.9 1.9 1.9 0 1-.8 1.9-1.9 1.9z"}]}},link:{xmlns:"http://www.w3.org/2000/svg",path:[{d:"M5.15.006A5.074 5.074 0 00.078 5.08v53.841a5.072 5.072 0 005.072 5.073h45.775a5.074 5.074 0 005.074-5.073V20.316L37.096.006H5.15z","fill-rule":"evenodd","clip-rule":"evenodd",fill:"#0C8FE8"},{d:"M28.25 35.611c-2.074-2.097-5.448-2.097-7.545 0l-3.055 3.055c-2.073 2.073-2.073 5.447 0 7.545a1.226 1.226 0 001.734 0 1.19 1.19 0 000-1.732 2.9 2.9 0 010-4.079l3.076-3.055a2.874 2.874 0 014.056 0 2.875 2.875 0 010 4.057l-1.458 1.482c.363.979.502 2.006.41 3.053l2.781-2.781c2.097-2.096 2.097-5.471.001-7.545zm-7.704 5.951a1.251 1.251 0 000 1.755 2.838 2.838 0 010 4.059l-3.055 3.053a2.874 2.874 0 01-4.058 0 2.875 2.875 0 010-4.057l1.459-1.459a7.036 7.036 0 01-.411-3.077l-2.802 2.803c-2.075 2.075-2.075 5.447 0 7.546 2.094 2.074 5.47 2.074 7.544 0l3.076-3.077c2.075-2.075 2.075-5.449 0-7.545a1.246 1.246 0 00-1.753-.001z",fill:"#fff"}],g:{"fill-rule":"evenodd","clip-rule":"evenodd",path:[{d:"M55.977 20.352v1H43.178s-6.312-1.26-6.129-6.707c0 0 .208 5.707 6.004 5.707h12.924z",fill:"#0973E2"},{d:"M37.074 0v14.561c0 1.656 1.104 5.791 6.104 5.791h12.799L37.074 0z",opacity:".5",fill:"#fff"}]}},mp4:{xmlns:"http://www.w3.org/2000/svg",g:{"fill-rule":"evenodd","clip-rule":"evenodd",path:[{d:"M5.116.006A5.073 5.073 0 00.044 5.08v53.841a5.073 5.073 0 005.072 5.074h45.775a5.074 5.074 0 005.074-5.074V20.316L37.062.006H5.116z",fill:"#9B64B2"},{d:"M55.977 20.352v1H43.178s-6.312-1.26-6.129-6.707c0 0 .208 5.707 6.004 5.707h12.924z",fill:"#824B9E"},{d:"M37.074 0v14.561c0 1.656 1.104 5.791 6.104 5.791h12.799L37.074 0z",opacity:".5",fill:"#fff"}]},path:{d:"M21.13 53.879a.73.73 0 01-.738-.738v-9.254l-4.033 9.759c-.054.144-.198.233-.378.233a.37.37 0 01-.342-.233l-4.015-9.759v9.254a.734.734 0 01-.756.738.73.73 0 01-.738-.738V42.878c0-.648.558-1.206 1.243-1.206.486 0 .99.288 1.188.756L16 50.8l3.457-8.372c.198-.468.684-.756 1.188-.756.684 0 1.243.558 1.243 1.206v10.263a.737.737 0 01-.758.738zM29.966 49h-3.331v4.141a.734.734 0 01-.756.738.73.73 0 01-.738-.738V42.842c0-.594.486-1.081 1.081-1.081h3.745c2.413 0 3.763 1.657 3.763 3.619-.001 1.964-1.387 3.62-3.764 3.62zm-.18-5.906h-3.151v4.573h3.151c1.422 0 2.395-.936 2.395-2.287 0-1.349-.973-2.286-2.395-2.286zm13.915 7.635h-1.17v2.413a.734.734 0 01-.757.738.73.73 0 01-.738-.738v-2.413h-5.077c-.378 0-.738-.324-.738-.81 0-.162.053-.342.144-.486l4.807-7.22a1.322 1.322 0 011.081-.558c.684 0 1.278.594 1.278 1.26v6.5h1.17c.342 0 .63.288.63.667a.643.643 0 01-.63.647zm-2.665-7.581l-4.213 6.266h4.213v-6.266z",fill:"#fff"}},overlay:{xmlns:"http://www.w3.org/2000/svg",path:[{d:"M5.15.008A5.073 5.073 0 00.078 5.082v53.841a5.073 5.073 0 005.072 5.074h45.775a5.074 5.074 0 005.074-5.074V20.317L37.096.008H5.15z","fill-rule":"evenodd","clip-rule":"evenodd",fill:"#A382D8"},{d:"M10.123 34.515v14.081h14.694V34.515H10.123zm5.344 5.343v14.081h14.694V39.858H15.467z",fill:"#fff"},{fill:"#CBBBEF",d:"M15.467 39.858h9.351v8.737h-9.351z"}],g:{"fill-rule":"evenodd","clip-rule":"evenodd",path:[{d:"M55.977 20.352v1H43.178s-6.312-1.26-6.129-6.707c0 0 .208 5.707 6.004 5.707h12.924z",fill:"#8C62CE"},{d:"M37.074 0v14.561c0 1.656 1.104 5.791 6.104 5.791h12.799L37.074 0z",opacity:".5",fill:"#fff"}]}},pack:{xmlns:"http://www.w3.org/2000/svg",path:[{d:"M5.15.012A5.073 5.073 0 00.078 5.086v53.841A5.073 5.073 0 005.15 64h45.775A5.074 5.074 0 0056 58.927V20.321L37.096.012H5.15z","fill-rule":"evenodd","clip-rule":"evenodd",fill:"#4E74B7"},{d:"M29.187 40.872v11.917c0 .662-.529 1.191-1.191 1.191H11.311a1.186 1.186 0 01-1.191-1.191V40.872c0-.133.021-.265.065-.375l1.59-4.768a1.184 1.184 0 011.125-.816h13.507c.508 0 .971.331 1.125.816l1.59 4.768c.043.11.065.242.065.375zm-2.45 0l-1.191-3.575H13.76l-1.191 3.575h14.168z",fill:"#fff"}],g:{"fill-rule":"evenodd","clip-rule":"evenodd",path:[{d:"M55.977 20.352v1H43.178s-6.312-1.26-6.129-6.707c0 0 .208 5.707 6.004 5.707h12.924z",fill:"#3A57A5"},{d:"M37.074 0v14.561c0 1.656 1.104 5.791 6.104 5.791h12.799L37.074 0z",opacity:".5",fill:"#fff"}]}},pages:{xmlns:"http://www.w3.org/2000/svg",path:[{d:"M5.111-.006A5.073 5.073 0 00.039 5.068v53.841a5.073 5.073 0 005.072 5.074h45.775a5.074 5.074 0 005.074-5.074V20.304L37.057-.006H5.111z","fill-rule":"evenodd","clip-rule":"evenodd",fill:"#6A6AE2"},{d:"M14.959 49.006h-3.331v4.142a.734.734 0 01-.756.738.73.73 0 01-.738-.738v-10.3c0-.594.486-1.08 1.081-1.08h3.745c2.413 0 3.763 1.656 3.763 3.619s-1.388 3.619-3.764 3.619zm-.18-5.905h-3.151v4.573h3.151c1.422 0 2.395-.937 2.395-2.287s-.973-2.286-2.395-2.286zm12.06 10.911c-3.421 0-6.176-2.503-6.176-6.23 0-3.727 2.754-6.212 6.176-6.212 1.8 0 3.169.685 4.123 1.639.144.126.198.324.198.504 0 .396-.288.703-.684.703a.669.669 0 01-.486-.217c-.756-.81-1.963-1.296-3.151-1.296-2.629 0-4.627 2.017-4.627 4.879 0 2.845 1.999 4.897 4.627 4.897 1.44 0 2.628-.702 3.223-1.296v-2.449h-3.583c-.36 0-.648-.288-.648-.684 0-.36.288-.648.648-.648h3.998c.594 0 1.08.486 1.08 1.08v2.377c-.001 1.854-2.594 2.953-4.718 2.953zm11.483-.019c-1.782 0-3.187-.594-4.213-1.494a.712.712 0 01-.234-.54c0-.36.27-.757.702-.757.144 0 .306.036.432.145.828.738 1.98 1.314 3.367 1.314 2.143 0 2.827-1.152 2.827-2.07 0-3.098-7.112-1.387-7.112-5.672 0-1.98 1.764-3.331 4.123-3.331 1.548 0 2.881.468 3.853 1.278a.73.73 0 01.252.54c0 .36-.306.72-.703.72a.684.684 0 01-.432-.161c-.882-.721-1.98-1.045-3.079-1.045-1.44 0-2.467.774-2.467 1.909 0 2.7 7.112 1.152 7.112 5.635.001 1.747-1.187 3.529-4.428 3.529z",fill:"#fff"}],g:{"fill-rule":"evenodd","clip-rule":"evenodd",path:[{d:"M55.976 20.352v1H43.177s-6.312-1.26-6.129-6.707c0 0 .208 5.707 6.004 5.707h12.924z",fill:"#4F4FDA"},{d:"M37.074 0v14.561c0 1.656 1.104 5.791 6.104 5.791h12.799L37.074 0z",opacity:".5",fill:"#fff"}]}},pdf:{xmlns:"http://www.w3.org/2000/svg",path:[{fill:"#8C181A",d:"M5.1 0C2.3 0 0 2.3 0 5.1v53.8C0 61.7 2.3 64 5.1 64h45.8c2.8 0 5.1-2.3 5.1-5.1V20.3L37.1 0h-32z"},{fill:"#6B0D12",d:"M56 20.4v1H43.2s-6.3-1.3-6.1-6.7c0 0 .2 5.7 6 5.7H56z"},{opacity:".5",fill:"#FFF",d:"M37.1 0v14.6c0 1.7 1.1 5.8 6.1 5.8H56L37.1 0z"},{fill:"#FFF",d:"M14.9 49h-3.3v4.1c0 .4-.3.7-.8.7-.4 0-.7-.3-.7-.7V42.9c0-.6.5-1.1 1.1-1.1h3.7c2.4 0 3.8 1.7 3.8 3.6 0 2-1.4 3.6-3.8 3.6zm-.1-5.9h-3.2v4.6h3.2c1.4 0 2.4-.9 2.4-2.3s-1-2.3-2.4-2.3zm10.4 10.7h-3c-.6 0-1.1-.5-1.1-1.1v-9.8c0-.6.5-1.1 1.1-1.1h3c3.7 0 6.2 2.6 6.2 6s-2.4 6-6.2 6zm0-10.7h-2.6v9.3h2.6c2.9 0 4.6-2.1 4.6-4.7.1-2.5-1.6-4.6-4.6-4.6zm16.3 0h-5.8V47h5.7c.4 0 .6.3.6.7s-.3.6-.6.6h-5.7v4.8c0 .4-.3.7-.8.7-.4 0-.7-.3-.7-.7V42.9c0-.6.5-1.1 1.1-1.1h6.2c.4 0 .6.3.6.7.1.3-.2.6-.6.6z"}]},ppt:{xmlns:"http://www.w3.org/2000/svg",path:[{d:"M5.112-.004A5.074 5.074 0 00.039 5.07v53.841a5.073 5.073 0 005.073 5.074h45.774a5.074 5.074 0 005.074-5.074V20.306L37.058-.004H5.112z","fill-rule":"evenodd","clip-rule":"evenodd",fill:"#E34221"},{d:"M14.964 49.011h-3.331v4.141a.734.734 0 01-.756.738.73.73 0 01-.738-.738V42.854c0-.594.486-1.081 1.08-1.081h3.745c2.413 0 3.763 1.657 3.763 3.619 0 1.963-1.387 3.619-3.763 3.619zm-.181-5.906h-3.15v4.573h3.15c1.423 0 2.395-.936 2.395-2.287 0-1.349-.972-2.286-2.395-2.286zm11.197 5.906h-3.332v4.141a.734.734 0 01-.756.738.73.73 0 01-.738-.738V42.854c0-.594.486-1.081 1.08-1.081h3.746c2.412 0 3.763 1.657 3.763 3.619 0 1.963-1.387 3.619-3.763 3.619zm-.18-5.906h-3.151v4.573H25.8c1.423 0 2.395-.936 2.395-2.287-.001-1.349-.972-2.286-2.395-2.286zm14.112 0h-3.277v10.047a.734.734 0 01-.756.738.73.73 0 01-.738-.738V43.105h-3.259c-.36 0-.647-.288-.647-.684 0-.361.287-.648.647-.648h8.03c.36 0 .648.288.648.685a.644.644 0 01-.648.647z",fill:"#fff"}],g:{"fill-rule":"evenodd","clip-rule":"evenodd",path:[{d:"M55.977 20.352v1H43.178s-6.312-1.26-6.129-6.707c0 0 .208 5.707 6.004 5.707h12.924z",fill:"#DC3119"},{d:"M37.074 0v14.561c0 1.656 1.104 5.791 6.104 5.791h12.799L37.074 0z",opacity:".5",fill:"#fff"}]}},psd:{xmlns:"http://www.w3.org/2000/svg",path:[{d:"M5.112.051A5.074 5.074 0 00.039 5.126v53.841a5.073 5.073 0 005.073 5.073h45.775a5.074 5.074 0 005.074-5.073V20.361L37.058.051H5.112z","fill-rule":"evenodd","clip-rule":"evenodd",fill:"#0C77C6"},{d:"M14.952 49.011h-3.331v4.141a.734.734 0 01-.756.738.73.73 0 01-.738-.738V42.854c0-.594.486-1.081 1.08-1.081h3.745c2.413 0 3.763 1.657 3.763 3.619 0 1.963-1.387 3.619-3.763 3.619zm-.181-5.906h-3.15v4.573h3.15c1.423 0 2.395-.936 2.395-2.287 0-1.349-.972-2.286-2.395-2.286zm10.26 10.894c-1.781 0-3.187-.594-4.213-1.495a.71.71 0 01-.234-.54c0-.36.271-.756.703-.756.144 0 .306.036.432.144.828.739 1.98 1.314 3.367 1.314 2.143 0 2.826-1.152 2.826-2.071 0-3.097-7.111-1.386-7.111-5.672 0-1.98 1.764-3.331 4.123-3.331 1.549 0 2.881.467 3.854 1.278a.73.73 0 01.252.54c0 .36-.307.72-.703.72a.682.682 0 01-.432-.162c-.883-.72-1.98-1.044-3.078-1.044-1.441 0-2.467.774-2.467 1.909 0 2.701 7.111 1.152 7.111 5.636 0 1.748-1.188 3.53-4.43 3.53zm11.215-.216h-3.025c-.594 0-1.08-.487-1.08-1.081v-9.849c0-.594.486-1.081 1.08-1.081h3.025c3.727 0 6.157 2.611 6.157 6.014 0 3.422-2.43 5.997-6.157 5.997zm0-10.678h-2.611v9.345h2.611c2.916 0 4.609-2.088 4.609-4.663 0-2.593-1.638-4.682-4.609-4.682z",fill:"#fff"}],g:{"fill-rule":"evenodd","clip-rule":"evenodd",path:[{d:"M55.977 20.352v1H43.178s-6.312-1.26-6.129-6.707c0 0 .208 5.707 6.004 5.707h12.924z",fill:"#0959B7"},{d:"M37.074 0v14.561c0 1.656 1.104 5.791 6.104 5.791h12.799L37.074 0z",opacity:".5",fill:"#fff"}]}},quip_doc:{xmlns:"http://www.w3.org/2000/svg",path:[{"fill-rule":"evenodd","clip-rule":"evenodd",fill:"#3D87F5",d:"M0 5.1v53.7C0 61.7 2.3 64 5.1 64h45.7c2.8 0 5.1-2.3 5.1-5.1V21L37 0H5.1C2.3 0 0 2.3 0 5.1z"},{opacity:".5",fill:"#FFF",d:"M37 0l19 21H42.1c-2.8 0-5.2-2.3-5.2-5.2L37 0z"},{opacity:".5",fill:"#216AC1",d:"M37 15.9v1c0 2.8 2.3 5.2 5.2 5.2H56v-1H42.1c-2.8-.1-5.1-2.4-5.1-5.2z"},{fill:"#FFF",d:"M23.5 46.7h-6.9c-.4 0-.8.3-.8.8s.3.8.8.8h6.9c.4 0 .8-.3.8-.8s-.4-.8-.8-.8zM16.5 41.3h6.9c.4 0 .8-.3.8-.8 0-.4-.3-.8-.8-.8h-6.9c-.4 0-.8.3-.8.8.1.5.4.8.8.8zM14.2 43.2c-.4 0-.8.3-.8.8 0 .4.3.8.8.8h11.5c.4 0 .8-.3.8-.8 0-.4-.3-.8-.8-.8H14.2z"},{fill:"#FFF",d:"M26.8 36.7c-3.9-3.7-10.1-3.6-13.9.2-3.8 3.8-3.9 10-.2 13.9 1.9 2 4.5 3.2 7.3 3.2h9.2c.4 0 .8-.3.8-.8V44c0-2.8-1.1-5.4-3.2-7.3zm1.6 15.8H20c-2.3 0-4.6-1-6.2-2.7-1.6-1.7-2.4-4-2.3-6.3.3-4.3 3.7-7.7 7.9-7.9h.5c4.7 0 8.5 3.8 8.5 8.5v8.4z"}]},quip_sheet:{xmlns:"http://www.w3.org/2000/svg",path:[{"fill-rule":"evenodd","clip-rule":"evenodd",fill:"#2CAB21",d:"M0 5.1v53.7C0 61.7 2.3 64 5.1 64h45.7c2.8 0 5.1-2.3 5.1-5.1V21L37 0H5.1C2.3 0 0 2.3 0 5.1z"},{opacity:".5",fill:"#FFF",d:"M37 0l19 21H42.1c-2.8 0-5.2-2.3-5.2-5.2L37 0z"},{opacity:".5",fill:"#189355",d:"M37 15.9v1c0 2.8 2.3 5.2 5.2 5.2H56v-1H42.1c-2.8-.1-5.1-2.4-5.1-5.2z"},{fill:"#FFF",d:"M23.5 46.7h-6.9c-.4 0-.8.3-.8.8s.3.8.8.8h6.9c.4 0 .8-.3.8-.8s-.4-.8-.8-.8zM16.5 41.3h6.9c.4 0 .8-.3.8-.8 0-.4-.3-.8-.8-.8h-6.9c-.4 0-.8.3-.8.8.1.5.4.8.8.8zM14.2 43.2c-.4 0-.8.3-.8.8 0 .4.3.8.8.8h11.5c.4 0 .8-.3.8-.8 0-.4-.3-.8-.8-.8H14.2z"},{fill:"#FFF",d:"M26.8 36.7c-3.9-3.7-10.1-3.6-13.9.2-3.8 3.8-3.9 10-.2 13.9 1.9 2 4.5 3.2 7.3 3.2h9.2c.4 0 .8-.3.8-.8V44c0-2.8-1.1-5.4-3.2-7.3zM20 52.5c-2.3 0-4.6-1-6.2-2.7-1.6-1.7-2.4-4-2.3-6.3.3-4.3 3.7-7.7 7.9-7.9h.5c4.7 0 8.5 3.8 8.5 8.5v8.4H20z"}]},quip_slide:{xmlns:"http://www.w3.org/2000/svg",path:[{"fill-rule":"evenodd","clip-rule":"evenodd",fill:"#8D3DF5",d:"M0 5.1v53.7C0 61.7 2.3 64 5.1 64h45.7c2.8 0 5.1-2.3 5.1-5.1V21L37 0H5.1C2.3 0 0 2.3 0 5.1z"},{opacity:".5",fill:"#FFF",d:"M37 0l19 21H42.1c-2.8 0-5.2-2.3-5.2-5.2L37 0z"},{opacity:".5",fill:"#6D2BD6",d:"M37 15.9v1c0 2.8 2.3 5.2 5.2 5.2H56v-1H42.1c-2.8-.1-5.1-2.4-5.1-5.2z"},{fill:"#FFF",d:"M23.5 46.7h-6.9c-.4 0-.8.3-.8.8s.3.8.8.8h6.9c.4 0 .8-.3.8-.8s-.4-.8-.8-.8zM16.5 41.3h6.9c.4 0 .8-.3.8-.8 0-.4-.3-.8-.8-.8h-6.9c-.4 0-.8.3-.8.8.1.5.4.8.8.8zM14.2 43.2c-.4 0-.8.3-.8.8 0 .4.3.8.8.8h11.5c.4 0 .8-.3.8-.8 0-.4-.3-.8-.8-.8H14.2z"},{fill:"#FFF",d:"M26.8 36.7c-3.9-3.7-10.1-3.6-13.9.2-3.8 3.8-3.9 10-.2 13.9 1.9 2 4.5 3.2 7.3 3.2h9.2c.4 0 .8-.3.8-.8V44c0-2.8-1.1-5.4-3.2-7.3zM20 52.5c-2.3 0-4.6-1-6.2-2.7-1.6-1.7-2.4-4-2.3-6.3.3-4.3 3.7-7.7 7.9-7.9h.5c4.7 0 8.5 3.8 8.5 8.5v8.4H20z"}]},rtf:{xmlns:"http://www.w3.org/2000/svg",path:[{d:"M5.113.006A5.074 5.074 0 00.039 5.08v53.841a5.073 5.073 0 005.074 5.074h45.774a5.074 5.074 0 005.074-5.074V20.316L37.058.006H5.113z","fill-rule":"evenodd","clip-rule":"evenodd",fill:"#00A1EE"},{d:"M15.611 48.825l2.575 3.907a.756.756 0 01.108.378c0 .36-.306.72-.738.72a.699.699 0 01-.594-.324l-2.935-4.555h-2.395v4.141a.734.734 0 01-.756.738.73.73 0 01-.738-.738V42.793c0-.594.486-1.081 1.081-1.081h3.745c2.197 0 3.763 1.405 3.763 3.619 0 2.161-1.477 3.35-3.116 3.494zm-3.979-5.78v4.591h3.151c1.422 0 2.395-.954 2.395-2.305 0-1.35-.972-2.287-2.395-2.287h-3.151zm17.463 0h-3.277v10.047a.734.734 0 01-.756.738.73.73 0 01-.738-.738V43.045h-3.259c-.36 0-.648-.288-.648-.684 0-.36.288-.648.648-.648h8.031c.36 0 .648.288.648.685a.647.647 0 01-.649.647zm10.295 0h-5.833v3.871h5.708c.36 0 .648.288.648.685 0 .36-.288.648-.648.648h-5.708v4.843a.734.734 0 01-.756.738.73.73 0 01-.738-.738V42.793c0-.594.486-1.081 1.081-1.081h6.248c.36 0 .648.288.648.685a.648.648 0 01-.65.648z",fill:"#fff"}],g:{"fill-rule":"evenodd","clip-rule":"evenodd",path:[{d:"M55.977 20.352v1H43.178s-6.312-1.26-6.129-6.707c0 0 .208 5.707 6.004 5.707h12.924z",fill:"#0089E9"},{d:"M37.074 0v14.561c0 1.656 1.104 5.791 6.104 5.791h12.799L37.074 0z",opacity:".5",fill:"#fff"}]}},slide:{xmlns:"http://www.w3.org/2000/svg",path:[{d:"M5.15.008A5.074 5.074 0 00.078 5.082v53.842a5.072 5.072 0 005.072 5.073h45.775a5.074 5.074 0 005.074-5.073V20.318L37.096.008H5.15z","fill-rule":"evenodd","clip-rule":"evenodd",fill:"#1AB6D9"},{d:"M10.121 34.772v19.09h19.918v-19.09H10.121zM28.226 50.24H11.931V38.396h16.295V50.24z",fill:"#fff"},{d:"M55.977 20.352v1H43.178s-6.312-1.26-6.129-6.707c0 0 .208 5.707 6.004 5.707h12.924z","fill-rule":"evenodd","clip-rule":"evenodd",fill:"#13A3CF"},{d:"M37.074 0v14.561c0 1.656 1.104 5.791 6.104 5.791h12.799L37.074 0z",opacity:".5","fill-rule":"evenodd","clip-rule":"evenodd",fill:"#fff"}]},stypi:{xmlns:"http://www.w3.org/2000/svg",g:{"fill-rule":"evenodd","clip-rule":"evenodd",path:[{d:"M5.072.006A5.073 5.073 0 000 5.08v53.841a5.073 5.073 0 005.072 5.074h45.775a5.074 5.074 0 005.074-5.074V20.315L37.018.006H5.072z",fill:"#DDD965"},{d:"M55.977 20.352v1H43.178s-6.312-1.26-6.129-6.707c0 0 .208 5.707 6.004 5.707h12.924z",fill:"#C1BC45"},{d:"M37.074 0v14.561c0 1.656 1.104 5.791 6.104 5.791h12.799L37.074 0z",opacity:".5",fill:"#fff"},{d:"M29.399 34.802H11.768c-.872 0-1.577.706-1.577 1.577v15.99c0 .871.706 1.577 1.577 1.577h13.167l6.04-6.017v-11.55c0-.871-.705-1.577-1.576-1.577z",fill:"#fff"},{fill:"#DBD75D",d:"M13.741 43.553h13.675v1.643H13.741zm0-3.555h13.675v1.641H13.741zm0 7.109h8.867v1.643h-8.867z"}]}},txt:{xmlns:"http://www.w3.org/2000/svg",path:[{d:"M5.151-.036A5.074 5.074 0 00.077 5.038v53.841a5.073 5.073 0 005.074 5.074h45.774a5.074 5.074 0 005.074-5.074V20.274L37.097-.036H5.151z","fill-rule":"evenodd","clip-rule":"evenodd",fill:"#F9CA06"},{d:"M18.763 43.045h-3.277v10.047a.734.734 0 01-.756.738.73.73 0 01-.738-.738V43.045h-3.259c-.36 0-.648-.288-.648-.684 0-.36.288-.648.648-.648h8.03c.36 0 .648.288.648.685a.645.645 0 01-.648.647zm11.7 10.803a.64.64 0 01-.541-.27l-3.727-4.97-3.745 4.97a.639.639 0 01-.54.27.71.71 0 01-.72-.72c0-.144.036-.306.144-.432l3.889-5.131-3.619-4.826a.721.721 0 01-.144-.414c0-.343.288-.721.72-.721.216 0 .432.108.576.288l3.439 4.627 3.439-4.646a.642.642 0 01.541-.27c.378 0 .738.306.738.721a.7.7 0 01-.126.414l-3.619 4.808 3.89 5.149c.09.126.126.27.126.415a.739.739 0 01-.721.738zm11.195-10.803h-3.277v10.047a.734.734 0 01-.756.738.73.73 0 01-.738-.738V43.045h-3.259c-.36 0-.648-.288-.648-.684 0-.36.288-.648.648-.648h8.03c.36 0 .648.288.648.685a.644.644 0 01-.648.647z",fill:"#fff"}],g:{"fill-rule":"evenodd","clip-rule":"evenodd",path:[{d:"M56.008 20.316v1H43.209s-6.312-1.26-6.129-6.708c0 0 .208 5.708 6.004 5.708h12.924z",fill:"#F7BC04"},{d:"M37.106-.036v14.561c0 1.656 1.104 5.792 6.104 5.792h12.799L37.106-.036z",opacity:".5",fill:"#fff"}]}},unknown:{xmlns:"http://www.w3.org/2000/svg",g:{"fill-rule":"evenodd","clip-rule":"evenodd",path:[{d:"M5.113.007A5.073 5.073 0 00.039 5.081v53.84a5.073 5.073 0 005.074 5.074h45.774a5.074 5.074 0 005.074-5.074V20.315L37.058.007H5.113z",fill:"#8199AF"},{d:"M55.976 20.352v1H43.177s-6.312-1.26-6.129-6.707c0 0 .208 5.707 6.004 5.707h12.924z",fill:"#617F9B"},{d:"M37.074 0v14.561c0 1.656 1.104 5.791 6.104 5.791h12.799L37.074 0z",opacity:".5",fill:"#fff"}]}},video:{xmlns:"http://www.w3.org/2000/svg",path:[{d:"M5.15.011A5.073 5.073 0 00.078 5.085v53.841A5.073 5.073 0 005.15 64h45.775A5.075 5.075 0 0056 58.926V20.32L37.096.011H5.15z","fill-rule":"evenodd","clip-rule":"evenodd",fill:"#8E4C9E"},{d:"M24.531 45.529c0 .368-.163.736-.449.981-.205.163-5.255 4.417-11.839 7.095a1.411 1.411 0 01-.511.103 1.35 1.35 0 01-.675-.184 1.229 1.229 0 01-.613-.981c-.021-.144-.307-3.456-.307-7.014s.286-6.87.307-6.993c.021-.408.266-.776.613-1.002.205-.122.43-.184.675-.184.164 0 .348.041.511.103 6.584 2.678 11.634 6.932 11.839 7.115.286.225.449.593.449.961z",fill:"#fff"}],g:{"fill-rule":"evenodd","clip-rule":"evenodd",path:[{d:"M55.977 20.352v1H43.178s-6.312-1.26-6.129-6.707c0 0 .208 5.707 6.004 5.707h12.924z",fill:"#713985"},{d:"M37.074 0v14.561c0 1.656 1.104 5.791 6.104 5.791h12.799L37.074 0z",opacity:".5",fill:"#fff"}]}},visio:{xmlns:"http://www.w3.org/2000/svg",path:[{d:"M5.111.006A5.073 5.073 0 00.039 5.08v53.841a5.073 5.073 0 005.072 5.074h45.775a5.074 5.074 0 005.074-5.074V20.315L37.057.006H5.111z","fill-rule":"evenodd","clip-rule":"evenodd",fill:"#496AB3"},{d:"M20.915 42.686l-4.16 10.334c-.198.486-.684.81-1.188.81h-.036a1.316 1.316 0 01-1.207-.81l-4.141-10.334a.755.755 0 01-.054-.289c0-.36.324-.792.811-.792.306 0 .594.181.72.486l3.889 9.993 3.889-9.993a.767.767 0 01.72-.486c.468 0 .81.378.81.792 0 .09-.018.198-.053.289zm3.147 11.144a.73.73 0 01-.738-.738V42.325c0-.396.324-.721.774-.721.396 0 .72.324.72.721v10.767a.734.734 0 01-.756.738zm7.902.108c-1.782 0-3.187-.594-4.213-1.495a.71.71 0 01-.234-.54c0-.36.27-.756.702-.756.144 0 .306.036.432.145.829.738 1.981 1.314 3.367 1.314 2.143 0 2.827-1.152 2.827-2.071 0-3.097-7.112-1.386-7.112-5.672 0-1.98 1.764-3.33 4.123-3.33 1.548 0 2.881.467 3.853 1.277a.731.731 0 01.252.541c0 .359-.306.72-.702.72a.68.68 0 01-.432-.162c-.882-.72-1.98-1.044-3.079-1.044-1.44 0-2.467.774-2.467 1.909 0 2.701 7.112 1.152 7.112 5.636.001 1.746-1.188 3.528-4.429 3.528z",fill:"#fff"}],g:{"fill-rule":"evenodd","clip-rule":"evenodd",path:[{d:"M55.977 20.352v1H43.178s-6.312-1.26-6.129-6.707c0 0 .208 5.707 6.004 5.707h12.924z",fill:"#374FA0"},{d:"M37.074 0v14.561c0 1.656 1.104 5.791 6.104 5.791h12.799L37.074 0z",opacity:".5",fill:"#fff"}]}},webex:{xmlns:"http://www.w3.org/2000/svg",g:{"fill-rule":"evenodd","clip-rule":"evenodd",path:[{d:"M5.152.011A5.074 5.074 0 00.078 5.085v53.841A5.074 5.074 0 005.152 64h45.773A5.075 5.075 0 0056 58.926V20.32L37.098.011H5.152z",fill:"#80BC4B"},{d:"M55.977 20.352v1H43.178s-6.312-1.26-6.129-6.707c0 0 .208 5.707 6.004 5.707h12.924z",fill:"#60AB38"},{d:"M37.074 0v14.561c0 1.656 1.104 5.791 6.104 5.791h12.799L37.074 0z",opacity:".5",fill:"#fff"}]},path:[{d:"M20.463 53.854c5.161-.271 9.261-4.538 9.261-9.767a9.78 9.78 0 00-9.26-9.767l-.001 19.534z",fill:"#CFE8AF"},{d:"M19.338 53.852c-5.119-.316-9.174-4.565-9.174-9.764s4.056-9.447 9.174-9.763v19.527z",fill:"#fff"}]},word:{xmlns:"http://www.w3.org/2000/svg",g:{"fill-rule":"evenodd",path:[{d:"M5.11 0A5.07 5.07 0 000 5v53.88A5.07 5.07 0 005.11 64h45.78A5.07 5.07 0 0056 58.88v-38.6L37.06 0z",fill:"#107cad"},{d:"M56 20.35v1H43.18s-6.31-1.26-6.13-6.71c0 0 .21 5.71 6 5.71z",fill:"#084968"},{d:"M37.07 0v14.56a5.78 5.78 0 006.11 5.79H56z",fill:"#90d0fe",opacity:".5"}]},path:{d:"M14.24 53.86h-3a1.08 1.08 0 01-1.08-1.08v-9.85a1.08 1.08 0 011.08-1.08h3a6 6 0 110 12zm0-10.67h-2.61v9.34h2.61a4.41 4.41 0 004.61-4.66 4.38 4.38 0 00-4.61-4.68zm14.42 10.89a5.86 5.86 0 01-6-6.21 6 6 0 1111.92 0 5.87 5.87 0 01-5.92 6.21zm0-11.09c-2.7 0-4.41 2.07-4.41 4.88s1.71 4.88 4.41 4.88 4.41-2.09 4.41-4.88S31.35 43 28.66 43zm18.45.38a.75.75 0 01.2.52.71.71 0 01-.7.72.64.64 0 01-.51-.24 4.06 4.06 0 00-3-1.38 4.61 4.61 0 00-4.63 4.88 4.63 4.63 0 004.63 4.88 4 4 0 003-1.37.7.7 0 01.51-.24.72.72 0 01.7.74.78.78 0 01-.2.51 5.33 5.33 0 01-4 1.69 6.22 6.22 0 010-12.43 5.26 5.26 0 014 1.72z",fill:"#fff"}},xml:{xmlns:"http://www.w3.org/2000/svg",path:[{d:"M5.112-.024A5.074 5.074 0 00.038 5.05v53.841a5.073 5.073 0 005.074 5.074h45.774a5.074 5.074 0 005.074-5.074V20.285L37.058-.024H5.112z","fill-rule":"evenodd","clip-rule":"evenodd",fill:"#FC7B24"},{d:"M19.371 53.848a.64.64 0 01-.541-.27l-3.727-4.97-3.745 4.97a.638.638 0 01-.54.27.712.712 0 01-.721-.72.66.66 0 01.145-.432l3.889-5.131-3.619-4.826a.721.721 0 01-.144-.414c0-.343.288-.721.72-.721.217 0 .433.108.576.288l3.439 4.627 3.439-4.646a.64.64 0 01.54-.27c.378 0 .737.306.737.721a.7.7 0 01-.125.414l-3.619 4.808 3.889 5.149c.09.126.127.27.127.415a.736.736 0 01-.72.738zm14.455-.018a.73.73 0 01-.738-.738v-9.254l-4.033 9.759c-.055.143-.2.233-.379.233a.37.37 0 01-.342-.234l-4.016-9.759v9.254a.734.734 0 01-.756.738.73.73 0 01-.738-.738V42.829c0-.648.559-1.207 1.242-1.207.486 0 .99.288 1.188.756l3.438 8.373 3.457-8.373c.199-.468.686-.756 1.189-.756.684 0 1.242.558 1.242 1.207v10.263c.002.414-.322.738-.754.738zm10.546-.108h-5.456c-.594 0-1.08-.486-1.08-1.081V42.325c0-.396.324-.721.774-.721.396 0 .72.324.72.721V52.39h5.042c.36 0 .647.288.647.648.001.396-.287.684-.647.684z",fill:"#fff"}],g:{"fill-rule":"evenodd","clip-rule":"evenodd",path:[{d:"M55.977 20.352v1H43.178s-6.312-1.26-6.129-6.707c0 0 .208 5.707 6.004 5.707h12.924z",fill:"#FB5C1B"},{d:"M37.074 0v14.561c0 1.656 1.104 5.791 6.104 5.791h12.799L37.074 0z",opacity:".5",fill:"#fff"}]}},zip:{xmlns:"http://www.w3.org/2000/svg",path:[{d:"M5.113-.026A5.074 5.074 0 00.039 5.048v53.841a5.073 5.073 0 005.074 5.074h45.773a5.074 5.074 0 005.074-5.074V20.284L37.059-.026H5.113z","fill-rule":"evenodd","clip-rule":"evenodd",fill:"#8199AF"},{d:"M18.438 53.906h-7.581c-.378 0-.756-.342-.756-.828 0-.18.054-.36.162-.504l6.68-9.345h-6.212c-.36 0-.648-.288-.648-.684 0-.36.288-.648.648-.648h7.454c.378 0 .756.342.756.829 0 .18-.054.36-.162.504l-6.68 9.345h6.338c.36 0 .648.288.648.648.001.395-.287.683-.647.683zm4.012.108a.73.73 0 01-.738-.738V42.509c0-.396.324-.721.774-.721.396 0 .72.324.72.721v10.767a.735.735 0 01-.756.738zm8.839-4.879h-3.331v4.141a.734.734 0 01-.756.738.73.73 0 01-.738-.738V42.977c0-.594.486-1.081 1.081-1.081h3.745c2.413 0 3.763 1.657 3.763 3.619s-1.387 3.62-3.764 3.62zm-.18-5.906h-3.151v4.573h3.151c1.422 0 2.395-.936 2.395-2.287-.001-1.35-.973-2.286-2.395-2.286z",fill:"#fff"}],g:{"fill-rule":"evenodd","clip-rule":"evenodd",path:[{d:"M55.977 20.352v1H43.178s-6.312-1.26-6.129-6.707c0 0 .208 5.707 6.004 5.707h12.924z",fill:"#617F9B"},{d:"M37.074 0v14.561c0 1.656 1.104 5.791 6.104 5.791h12.799L37.074 0z",opacity:".5",fill:"#fff"}]}},viewBox:"0 0 56 64"},Je={account:{xmlns:"http://www.w3.org/2000/svg",path:[{d:"M79 51.1c.1-2.1-1.4-2.7-2-2.7H55.2c-1.9 0-2.2 2-2.2 2.2V74h26V51.1zM64 67.9c0 1.1-.9 2-2 2h-2c-1.1 0-2-.9-2-2v-2c0-1.1.9-2 2-2h2c1.1 0 2 .9 2 2v2zm0-10.2c0 1.1-.9 2-2 2h-2c-1.1 0-2-.9-2-2v-2c0-1.1.9-2 2-2h2c1.1 0 2 .9 2 2v2zm10 10.2c0 1.1-.9 2-2 2h-2c-1.1 0-2-.9-2-2v-2c0-1.1.9-2 2-2h2c1.1 0 2 .9 2 2v2zm0-10.2c0 1.1-.9 2-2 2h-2c-1.1 0-2-.9-2-2v-2c0-1.1.9-2 2-2h2c1.1 0 2 .9 2 2v2z"},{d:"M59 40.3V28.7c.1-2.1-1.4-2.7-2-2.7H23.2c-1.9 0-2.2 2-2.2 2.2V74h26V44.7s0-2.4 2.2-2.4h7.9c1.1 0 1.9-1.2 1.9-2zM32 66.9c0 1.1-.9 2-2 2h-2c-1.1 0-2-.9-2-2v-2c0-1.1.9-2 2-2h2c1.1 0 2 .9 2 2v2zm0-10.3c0 1.1-.9 2-2 2h-2c-1.1 0-2-.9-2-2v-2c0-1.1.9-2 2-2h2c1.1 0 2 .9 2 2v2zm0-10.2c0 1.1-.9 2-2 2h-2c-1.1 0-2-.9-2-2v-2c0-1.1.9-2 2-2h2c1.1 0 2 .9 2 2v2zm0-10.2c0 1.1-.9 2-2 2h-2c-1.1 0-2-.9-2-2v-2c0-1.1.9-2 2-2h2c1.1 0 2 .9 2 2v2zm11 30.7c0 1.1-.9 2-2 2h-2c-1.1 0-2-.9-2-2v-2c0-1.1.9-2 2-2h2c1.1 0 2 .9 2 2v2zm0-10.3c0 1.1-.9 2-2 2h-2c-1.1 0-2-.9-2-2v-2c0-1.1.9-2 2-2h2c1.1 0 2 .9 2 2v2zm0-10.2c0 1.1-.9 2-2 2h-2c-1.1 0-2-.9-2-2v-2c0-1.1.9-2 2-2h2c1.1 0 2 .9 2 2v2zm0-10.2c0 1.1-.9 2-2 2h-2c-1.1 0-2-.9-2-2v-2c0-1.1.9-2 2-2h2c1.1 0 2 .9 2 2v2zm11 0c0 1.1-.9 2-2 2h-2c-1.1 0-2-.9-2-2v-2c0-1.1.9-2 2-2h2c1.1 0 2 .9 2 2v2z"}]},action_list_component:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M48.2 63.9h29.9c1.1 0 2 .9 2 2v4c0 1.1-.9 2-2 2H48.2c-1.1 0-2-.9-2-2v-4c0-1.1.9-2 2-2zM48.2 46h29.9c1.1 0 2 .9 2 2v4c0 1.1-.9 2-2 2H48.2c-1.1 0-2-.9-2-2v-4c0-1.1.9-2 2-2zM48.2 28.2h29.9c1.1 0 2 .9 2 2v4c0 1.1-.9 2-2 2H48.2c-1.1 0-2-.9-2-2v-4c0-1.1.9-2 2-2zM29 28.2c-2.2 0-4 1.8-4 4s1.8 4 4 4 4-1.8 4-4-1.8-4-4-4zM29 63.9c-2.2 0-4 1.8-4 4s1.8 4 4 4 4-1.8 4-4-1.8-4-4-4zM29 41c-5 0-9 4-9 9s4 9 9 9 9-4 9-9-4-9-9-9zm0 12c-1.7 0-3-1.4-3-3 0-1.7 1.4-3 3-3s3 1.4 3 3c0 1.7-1.3 3-3 3z"}},actions_and_buttons:{xmlns:"http://www.w3.org/2000/svg",path:[{d:"M48.3 74.5c1 0 1.8-.8 1.8-1.8l.1-20.8c.1-1-.8-1.8-1.6-1.9H27.4c-1-.1-1.8.8-1.9 1.6v4.1c-.1 1 .8 1.8 1.6 1.9H34c.7 0 1.3.6 1.3 1.3 0 .3-.1.7-.3.9l-14 14c-.8.8-.8 2.1-.1 2.8l2.7 2.7c.8.7 2 .6 2.8-.1l14.1-14.1c.5-.5 1.3-.5 1.8 0 .2.2.4.5.3.9v6.6c-.1 1 .8 1.8 1.6 1.9h4.1z"},{d:"M55.7 77.7c5.7-1 11.2-3.7 15.6-8 11.3-11.3 11.3-29.7 0-41s-29.7-11.3-41 0c-4.4 4.4-7 9.8-8 15.5h5.9c.9-4.2 3-8.1 6.2-11.4 9-9 23.8-9 32.8 0s9 23.8 0 32.8c-3.2 3.2-7.2 5.3-11.3 6.2l-.2 5.9zm.3-11.9c2.6-.8 5.1-2.2 7.1-4.3 6.8-6.8 6.8-17.8 0-24.6s-17.8-6.8-24.6 0c-2.1 2.1-3.5 4.6-4.3 7.2h6.2c.5-1.2 1.3-2.2 2.2-3.2 4.5-4.5 11.9-4.5 16.4 0s4.5 11.9 0 16.4c-.9.9-1.9 1.6-3 2.2v6.3z"}]},activation_target:{xmlns:"http://www.w3.org/2000/svg",g:{path:{d:"M75 20.37H57.81a5 5 0 00-5 5v17a5 5 0 005 5H75a5 5 0 005-5v-17a5 5 0 00-5-5zm-1 6v15H58.82v-15zM28 51a1.64 1.64 0 00-1.56 1.71l-.08 3.51A1.64 1.64 0 0028 57.83h6.2a1.08 1.08 0 01.82.33 1.18 1.18 0 01.08 1.71L20.54 74.34a1.68 1.68 0 00-.09 2.37l2.47 2.45a2.12 2.12 0 002.55.08l14.68-14.55a.88.88 0 01.58-.25 1.28 1.28 0 011.4 1.06l.08 5.22a1.64 1.64 0 001.64 1.63l3.54.09A1.65 1.65 0 0049 70.8v-18a1.65 1.65 0 00-1.65-1.64z"}}},activations:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M78 60a2 2 0 012 2v16a2 2 0 01-2 2H62a2 2 0 01-2-2V62a2 2 0 012-2zM40.2 26.9l12.9.2a1.16 1.16 0 011.2 1.2l.2 12.9a1.16 1.16 0 01-1.2 1.2H51a1.16 1.16 0 01-1.2-1.2l-.1-4a.77.77 0 00-1.3-.6l-7.9 7.9A10.32 10.32 0 0142 50a11.07 11.07 0 01-1.9 6.2l8.3 8.3a.77.77 0 001.3-.6l.1-4a1.16 1.16 0 011.2-1.2l2.4-.1a1.16 1.16 0 011.2 1.2l-.2 12.9a1.16 1.16 0 01-1.2 1.2l-12.9.2a1.16 1.16 0 01-1.2-1.2v-2.3a1.16 1.16 0 011.2-1.2l4-.1a.77.77 0 00.6-1.3l-8.4-8.4A11.24 11.24 0 0131 61a11 11 0 116.2-20.1l7.8-7.8a.77.77 0 00-.6-1.3l-4-.1a1.16 1.16 0 01-1.2-1.2l-.1-2.4a1.08 1.08 0 011.1-1.2zM74 66h-8v8h8zM31 45a5 5 0 105 5 5 5 0 00-5-5zm47-25a2 2 0 012 2v16a2 2 0 01-2 2H62a2 2 0 01-2-2V22a2 2 0 012-2zm-4 6h-8v8h8z"}},address:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M49 18.92a23.74 23.74 0 00-23.73 23.85c0 16.48 17 31.59 22.23 35.59a2.45 2.45 0 003.12 0c5.24-4.12 22.1-19.11 22.1-35.59A23.74 23.74 0 0049 18.92zm0 33.71a10 10 0 1110-10 10 10 0 01-10 10z"}},agent_home:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M50.93 20.37l28.71 28.77a1.48 1.48 0 01.29 1.4c-.1.5-.79.8-1.29.8h-6.28v27.45c0 .8-.5 1.2-1.3 1.2H28.81a1.18 1.18 0 01-1.29-1V51.34h-6.29a1 1 0 01-1.09-.8 1.09 1.09 0 01.3-1.4l28.7-28.77a1.27 1.27 0 011.79 0zM40.39 65h-5.3A1.11 1.11 0 0034 66.09v6.8a1.11 1.11 0 001.1 1.1h5.3a1.1 1.1 0 001.1-1.1v-6.8A1.09 1.09 0 0040.39 65zm12-9h-5.3A1.11 1.11 0 0046 57.1v15.79a1.11 1.11 0 001.1 1.1h5.3a1.1 1.1 0 001.1-1.1V57.1a1.1 1.1 0 00-1.11-1.1zm12-9h-5.3A1.11 1.11 0 0058 48.1v24.79a1.11 1.11 0 001.1 1.1h5.3a1.1 1.1 0 001.1-1.1V48.1a1.1 1.1 0 00-1.11-1.1z","fill-rule":"evenodd"}},agent_session:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M49.2 21.7c-16.6 0-30 12.5-30 28 0 5 1.4 9.6 3.8 13.7.3.5.4 1.1.2 1.6l-2.8 8.9c-.5 1.6 1 3 2.6 2.5l8.8-3.1c.6-.2 1.2-.1 1.7.2 4.6 2.7 10 4.2 15.8 4.2 16.6 0 30-12.5 30-28-.2-15.5-13.6-28-30.1-28zM41 62.1c0 .6-.5 1.1-1.1 1.1h-5.3c-.6 0-1.1-.5-1.1-1.1v-6.8c0-.6.5-1.1 1.1-1.1h5.3c.6 0 1.1.5 1.1 1.1v6.8zm12 0c0 .6-.5 1.1-1.1 1.1h-5.3c-.6 0-1.1-.5-1.1-1.1V46.3c0-.6.5-1.1 1.1-1.1h5.3c.6 0 1.1.5 1.1 1.1v15.8zm12 0c0 .6-.5 1.1-1.1 1.1h-5.3c-.6 0-1.1-.5-1.1-1.1V37.3c0-.6.5-1.1 1.1-1.1h5.3c.6 0 1.1.5 1.1 1.1v24.8z"}},aggregation_policy:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M79.13 71.32l-9.26-9.19a4.19 4.19 0 00-.34-.28V58h4.91a1 1 0 00.78-1.64l-7.93-9.44-.13-.13a1 1 0 00-1.41.14l-7.91 9.44a1 1 0 00-.23.65 1 1 0 001 1h4.92v3.49a2.85 2.85 0 00-.92.63l-9.25 9.19a3 3 0 000 4.24 3 3 0 004.24 0l5.9-5.87V77a3 3 0 006 0v-6.73l5.32 5.29a3 3 0 004.24 0 3 3 0 00.07-4.24zM37.12 20H26a6 6 0 00-6 6v9a6 6 0 006 6h11.12a6 6 0 006-6v-9a6 6 0 00-6-6zm-4.54 15h-2a4.5 4.5 0 010-9h2a4.5 4.5 0 010 9zM66.31 41a6 6 0 006-6v-9a6 6 0 00-6-6H55.24a6 6 0 00-6 6v9a6 6 0 006 6zm-6.53-15h2a4.5 4.5 0 010 9h-2a4.5 4.5 0 010-9zM37.12 47H26a6 6 0 00-6 6v9a6 6 0 006 6h11.12a6 6 0 006-6v-9a6 6 0 00-6-6zm-4.54 15h-2a4.5 4.5 0 010-9h2a4.5 4.5 0 010 9z","fill-rule":"evenodd"}},all:{xmlns:"http://www.w3.org/2000/svg",path:[{d:"M57 44.5c-1.5 0-2.7-1.2-2.7-2.7V24.5c0-1.5 1.2-2.7 2.7-2.7h17.6c1.5 0 2.7 1.2 2.7 2.7v17.3c0 1.5-1.2 2.7-2.7 2.7H57zM64.6 54.7L54.3 65.8c-.6.6-.6 1.7 0 2.3l10.3 11.1c.7.7 1.8.7 2.5 0l10.3-11.1c.6-.6.6-1.7 0-2.3L67.1 54.7c-.7-.7-1.9-.7-2.5 0z"},{d:"M23.6 25.7l8.9-5.1c.8-.5 1.8-.5 2.7 0l8.9 5.1c.8.5 1.3 1.4 1.3 2.3v10.2c0 .9-.5 1.8-1.3 2.3l-8.9 5.1c-.8.5-1.8.5-2.7 0l-8.9-5.1c-.8-.5-1.4-1.4-1.4-2.3V28c0-1 .6-1.9 1.4-2.3z"}],circle:{cx:"33.8",cy:"66.6",r:"11.6"}},announcement:{xmlns:"http://www.w3.org/2000/svg",g:{path:{d:"M46 74.3L44.4 73c-1.8-1.2-1.8-3.7-1.8-5v-3.6c0-1-.9-1.9-1.9-1.9h-7.5c-1 0-1.9.9-1.9 1.9V74c0 3.4 2 6 5.1 6h6.2c3.6 0 3.9-2.5 3.9-2.5s.6-2.2-.5-3.2zM74 40.1v-17-.1c0-3-3.8-3.9-5.8-1.9L57 31.6c-1.8 1.5-4 2.1-6.3 2.1h-19c-6.6.1-11.7 5.7-11.7 12.2v.2c0 6.5 5.1 11.4 11.7 11.4h19.1c2.4 0 4.6 1 6.4 2.5l11 10.7c2 2 5.8 1.2 5.8-1.7V52c3.8 0 6-2.6 6-6 0-3.3-2.3-5.9-6-5.9z"}}},answer_best:{xmlns:"http://www.w3.org/2000/svg",path:[{d:"M49.5 21.5c-16.6 0-30 12.5-30 28 0 5 1.4 9.6 3.8 13.7.3.5.4 1.1.2 1.6l-2.8 8.9c-.5 1.6 1 3 2.6 2.5l8.8-3.1c.6-.2 1.2-.1 1.7.2 4.6 2.7 10 4.2 15.8 4.2 16.6 0 30-12.5 30-28-.1-15.5-13.5-28-30.1-28zm14.4 21.8L48.6 58.6c-.6.6-1.3.9-2.1.9s-1.5-.3-2.1-.9L37 51.2c-.6-.6-.6-1.5 0-2.1l2.1-2.1c.6-.6 1.5-.6 2.1 0l5.3 5.3 13.2-13.2c.6-.6 1.5-.6 2.1 0l2.1 2.1c.6.6.6 1.6 0 2.1z"},{"fill-opacity":".65",d:"M100 100V62l-38 38h38zm-4.2-13.5l-3.1 3.2c-.1.1-.1.2-.1.3l.7 4.5c.1.3-.3.6-.5.4L89 92.8c-.1-.1-.2-.1-.3 0l-4 2.1c-.3.1-.6-.1-.5-.4l.7-4.5c0-.1 0-.3-.1-.3l-3.1-3.2c-.2-.3-.1-.6.2-.7l4.3-.7c.1 0 .2-.1.3-.2l1.9-4.1c.1-.3.5-.3.7 0l1.9 4.1c.1.1.2.2.3.2l4.3.7c.4 0 .4.4.2.7z"}]},answer_private:{xmlns:"http://www.w3.org/2000/svg",path:[{"fill-opacity":".65",d:"M89 84c-1.1 0-2 .9-2 2v1h4v-1c0-1.1-.9-2-2-2z"},{"fill-opacity":".65",d:"M100 100V62l-38 38h38zm-5-6.5c0 .8-.7 1.5-1.5 1.5h-9c-.8 0-1.5-.7-1.5-1.5v-5c0-.8.7-1.5 1.5-1.5h.5v-1c0-2.2 1.8-4 4-4s4 1.8 4 4v1h.5c.8 0 1.5.7 1.5 1.5v5z"},{d:"M49.9 22c-16.6 0-30 12.5-30 28 0 5 1.4 9.6 3.8 13.7.3.5.4 1.1.2 1.6l-2.8 8.9c-.5 1.6 1 3 2.6 2.5l8.8-3.1c.6-.2 1.2-.1 1.7.2 4.6 2.7 10 4.2 15.8 4.2 16.6 0 30-12.5 30-28-.1-15.5-13.4-28-30.1-28zm14.5 21.8L49.1 59.1c-.6.6-1.3.9-2.1.9s-1.5-.3-2.1-.9l-7.4-7.4c-.6-.6-.6-1.5 0-2.1l2.1-2.1c.6-.6 1.5-.6 2.1 0l5.3 5.3 13.2-13.2c.6-.6 1.5-.6 2.1 0l2.1 2.1c.5.6.5 1.6 0 2.1z"}]},answer_public:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M50 22c-16.6 0-30 12.5-30 28 0 5 1.4 9.6 3.8 13.7.3.5.4 1.1.2 1.6l-2.8 8.9c-.5 1.6 1 3 2.6 2.5l8.8-3.1c.6-.2 1.2-.1 1.7.2 4.6 2.7 10 4.2 15.8 4.2 16.6 0 30-12.5 30-28C80 34.5 66.6 22 50 22zm14.4 21.8L49.1 59.1c-.6.6-1.3.9-2.1.9s-1.5-.3-2.1-.9l-7.4-7.4c-.6-.6-.6-1.5 0-2.1l2.1-2.1c.6-.6 1.5-.6 2.1 0l5.3 5.3 13.2-13.2c.6-.6 1.5-.6 2.1 0l2.1 2.1c.6.6.6 1.6 0 2.1z"}},apex:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M78 67.5H44.4c-1 0-1.9.9-1.9 1.9v3.7c0 1 .9 1.9 1.9 1.9H78c1 0 1.9-.9 1.9-1.9v-3.7c0-1.1-.9-1.9-1.9-1.9zM49.2 44.8L25.1 25.4c-.7-.6-1.9-.5-2.5.4l-2.1 3c-.6.9-.4 2 .4 2.6L38 45.1c.6.5.6 1.5 0 2L20.8 60.9c-.7.6-1 1.9-.4 2.6l2.1 3.2c.6.9 1.7 1 2.5.4l24.2-19.3c1-.8 1-2.3 0-3z"}},apex_plugin:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M50.2 40l14-14c.7-.7.7-1.9 0-2.6l-3-3c-.7-.7-1.9-.7-2.6 0l-14 14 5.6 5.6zM65.6 55.8l14-14c.7-.7.7-1.9 0-2.6l-3-3c-.7-.7-1.9-.7-2.6 0l-14 14 5.6 5.6zM63.6 67.4c.2-.3.4-.6.5-1 .1-.5 0-1-.3-1.4-.1-.1-.1-.2-.2-.3l-.1-.1-28.2-28.2-.1-.1c-.3-.4-.9-.5-1.3-.5-.6 0-1 .3-1.4.6-.3.2-.5.4-.7.7-.2.2-.3.3-.4.5-.2.2-.3.4-.5.6-.2.3-.4.5-.5.8-.2.3-.4.6-.5 1-.2.4-.4.8-.6 1.1-.2.4-.4.9-.5 1.3-.2.5-.4 1-.5 1.5-.2.6-.3 1.2-.5 1.7-.2.7-.3 1.3-.4 2-.1.7-.3 1.5-.4 2.2l-.3 2.4c-.1.9-.1 1.8-.2 2.7v3c0 1.1 0 2.2.1 3.3.1 1.2.1 2.4.2 3.6 0 .3.1.7.1 1h.2l-6.5 6.5c-.7.7-.7 1.9 0 2.6l4.6 4.6c.7.7 1.9.7 2.6 0l6.5-6.5c2.3.2 4.7.4 7.1.4 2 0 3.9 0 5.9-.2 1.6-.1 3.2-.3 4.8-.6 1.3-.2 2.6-.5 3.8-.9 1-.3 2-.7 2.9-1.1.7-.3 1.5-.7 2.1-1.1.9-.6 1.8-1.2 2.5-2 0 .1.1 0 .2-.1z"}},app:{xmlns:"http://www.w3.org/2000/svg",path:[{d:"M62 28H31.5c-1.7 0-3.1 1.4-3.1 3.1v30.5h-4.6c-2.1 0-3.8-1.7-3.8-3.8V23.3c0-2.1 1.7-3.8 3.8-3.8h34.5c2.1 0 3.8 1.7 3.8 3.8V28z"},{d:"M41.8 37.6h34.5c2.1 0 3.8 1.7 3.8 3.8v34.5c0 2.1-1.7 3.8-3.8 3.8H41.8c-2.1 0-3.8-1.7-3.8-3.8V41.3c0-2 1.7-3.7 3.8-3.7z"}]},approval:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M74 54H63c-3.3 0-6-2.7-6-6 .5-8.9 4.6-9.4 5-15.1.4-6-3.4-11.4-9.3-12.7C44.9 18.6 38 24.5 38 32c0 6.6 4.5 6.6 5 16 0 3.3-2.7 6-6 6H26c-3.3 0-6 2.7-6 6v4c0 1.1.9 2 2 2h56c1.1 0 2-.9 2-2v-4c0-3.3-2.7-6-6-6zM74.1 72H25.9c-1.1 0-1.9.9-1.9 1.9v.1c0 3.3 2.7 6 6 6h40.1c3.3 0 5.9-2.7 5.9-6v-.1c0-1-.9-1.9-1.9-1.9z"}},apps:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M32 20h-8c-2.2 0-4 1.8-4 4v8c0 2.2 1.8 4 4 4h8c2.2 0 4-1.8 4-4v-8c0-2.2-1.8-4-4-4zM54 20h-8c-2.2 0-4 1.8-4 4v8c0 2.2 1.8 4 4 4h8c2.2 0 4-1.8 4-4v-8c0-2.2-1.8-4-4-4zM76 20h-8c-2.2 0-4 1.8-4 4v8c0 2.2 1.8 4 4 4h8c2.2 0 4-1.8 4-4v-8c0-2.2-1.8-4-4-4zM32 42h-8c-2.2 0-4 1.8-4 4v8c0 2.2 1.8 4 4 4h8c2.2 0 4-1.8 4-4v-8c0-2.2-1.8-4-4-4zM54 42h-8c-2.2 0-4 1.8-4 4v8c0 2.2 1.8 4 4 4h8c2.2 0 4-1.8 4-4v-8c0-2.2-1.8-4-4-4zM76 42h-8c-2.2 0-4 1.8-4 4v8c0 2.2 1.8 4 4 4h8c2.2 0 4-1.8 4-4v-8c0-2.2-1.8-4-4-4zM32 64h-8c-2.2 0-4 1.8-4 4v8c0 2.2 1.8 4 4 4h8c2.2 0 4-1.8 4-4v-8c0-2.2-1.8-4-4-4zM54 64h-8c-2.2 0-4 1.8-4 4v8c0 2.2 1.8 4 4 4h8c2.2 0 4-1.8 4-4v-8c0-2.2-1.8-4-4-4zM76 64h-8c-2.2 0-4 1.8-4 4v8c0 2.2 1.8 4 4 4h8c2.2 0 4-1.8 4-4v-8c0-2.2-1.8-4-4-4z"}},apps_admin:{xmlns:"http://www.w3.org/2000/svg",path:[{d:"M73 21H27c-3.3 0-6 2.7-6 6v46c0 3.3 2.7 6 6 6h46c3.3 0 6-2.7 6-6V27c0-3.3-2.7-6-6-6zm-2 52H29c-1.1 0-2-.9-2-2V29c0-1.1.9-2 2-2h42c1.1 0 2 .9 2 2v42c0 1.1-.9 2-2 2z"},{d:"M45 33H35c-1.1 0-2 .9-2 2v10c0 1.1.9 2 2 2h10c1.1 0 2-.9 2-2V35c0-1.1-.9-2-2-2zM65 33H55c-1.1 0-2 .9-2 2v10c0 1.1.9 2 2 2h10c1.1 0 2-.9 2-2V35c0-1.1-.9-2-2-2zM45 53H35c-1.1 0-2 .9-2 2v10c0 1.1.9 2 2 2h10c1.1 0 2-.9 2-2V55c0-1.1-.9-2-2-2zM65 53H55c-1.1 0-2 .9-2 2v10c0 1.1.9 2 2 2h10c1.1 0 2-.9 2-2V55c0-1.1-.9-2-2-2z"}]},article:{xmlns:"http://www.w3.org/2000/svg",path:[{d:"M32 59h13c1.1 0 2-.9 2-2V27c0-2.2-2-4-4-4H32.3C31 23 30 24 30 25.3V57c0 1.1.9 2 2 2z"},{d:"M76 29v32c0 2.2-1.8 4-4 4H28c-2.2 0-4-1.8-4-4V29c-3.3 0-6 2.7-6 6v30c0 3.3 2.7 6 6 6h19c1.1 0 2 .9 2 2s.9 2 2 2h6c1.1 0 2-.9 2-2s.9-2 2-2h19c3.3 0 6-2.7 6-6V35c0-3.3-2.7-6-6-6z"},{d:"M55 59h12.7c1.3 0 2.3-1 2.3-2.3V25c0-1.1-.9-2-2-2H57c-2 0-4 1.8-4 4v30c0 1.1.9 2 2 2z"}]},asset_action:{xmlns:"http://www.w3.org/2000/svg",path:[{d:"M64.2 72.4a3.74 3.74 0 01-3.7-3.9v-2.1a3.49 3.49 0 011-3.1l11.6-11.6V26.8a2.43 2.43 0 00-2.4-2.4H29.3a2.43 2.43 0 00-2.4 2.4v41.5a2.43 2.43 0 002.4 2.4h5.3v2.5a2.43 2.43 0 002.4 2.4h2.8a2.43 2.43 0 002.4-2.4v-2.5H58v2.5a2.43 2.43 0 002.4 2.4h2.8a2.43 2.43 0 002.4-2.4v-.8zM36.3 36.8a.84.84 0 01.9-.9h25.7a.84.84 0 01.9.9v.9a.84.84 0 01-.9.9H37.1a.84.84 0 01-.9-.9v-.9zm27.2 4.3V54a.84.84 0 01-.9.9h-1.7a.84.84 0 01-.9-.9V41.1a.84.84 0 01.9-.9h1.7q.9.15.9.9zm-5.9 0V54a.9.9 0 01-1.8 0V41.1a.84.84 0 01.9-.9q.9.15.9.9zm-3.3 0V54a.84.84 0 01-.9.9H50a.84.84 0 01-.9-.9V41.1a.84.84 0 01.9-.9h3.4c.5.1.9.4.9.9zm-7.7 0V54a.84.84 0 01-.9.9H44a.84.84 0 01-.9-.9V41.1a.84.84 0 01.9-.9h1.7c.5.1.9.4.9.9zm-10.3 0a.84.84 0 01.9-.9h3.4a.84.84 0 01.9.9V54a.84.84 0 01-.9.9h-3.4a.84.84 0 01-.9-.9zm.8 17.9a.84.84 0 01-.9-.9v-.9a.84.84 0 01.9-.9h25.7a.84.84 0 01.9.9v.9a.84.84 0 01-.9.9z"},{d:"M79 54.7l-.9-.9a1.57 1.57 0 00-2.2 0L64 65.7c-.1.1 0 .2 0 .3v2.5c0 .2 0 .4.2.4h2.6c.1 0 .2-.1.3-.1L79 57a1.52 1.52 0 000-2.3z"}]},asset_action_source:{xmlns:"http://www.w3.org/2000/svg",path:[{d:"M52.1 67.9A15.27 15.27 0 0155 59H37.1a.84.84 0 01-.9-.9v-.9a.84.84 0 01.9-.9h20.2a15.35 15.35 0 012.9-2.1c-.1-.1-.1-.2-.1-.4V41.1a.84.84 0 01.9-.9h1.7a.84.84 0 01.9.9V53a14.3 14.3 0 019.6.5V26.8a2.43 2.43 0 00-2.4-2.4H29.3a2.43 2.43 0 00-2.4 2.4v41.5a2.43 2.43 0 002.4 2.4h5.3v2.5a2.43 2.43 0 002.4 2.4h2.8a2.43 2.43 0 002.4-2.4v-2.5h10.3a8.63 8.63 0 01-.4-2.8zM46.6 54a.84.84 0 01-.9.9H44a.84.84 0 01-.9-.9V41.1a.84.84 0 01.9-.9h1.7a.84.84 0 01.9.9zm7.7 0a.84.84 0 01-.9.9H50a.84.84 0 01-.9-.9V41.1a.84.84 0 01.9-.9h3.4a.84.84 0 01.9.9zm3.3 0a.9.9 0 01-1.8 0V41.1a.9.9 0 111.8 0zM36.3 36.8a.84.84 0 01.9-.9h25.7a.84.84 0 01.9.9v.9a.84.84 0 01-.9.9H37.1a.84.84 0 01-.9-.9v-.9zm0 4.3a.84.84 0 01.9-.9h3.4a.84.84 0 01.9.9V54a.84.84 0 01-.9.9h-3.4a.84.84 0 01-.9-.9z"},{d:"M67.6 55.9a12.12 12.12 0 00-12.1 12 12 12 0 0011.9 12 12 12 0 10.2-24zm8 12.5l-5.3 5.4a.67.67 0 01-1 0 11 11 0 01-1-1.1.67.67 0 010-1l1.6-1.7a.45.45 0 00-.3-.8h-9.7a.75.75 0 01-.7-.7V67a.68.68 0 01.7-.7h9.7a.46.46 0 00.3-.8L68.3 64a.67.67 0 010-1l1-1a.67.67 0 011 0l5.3 5.5a.56.56 0 010 .9z"}]},asset_downtime_period:{xmlns:"http://www.w3.org/2000/svg",path:[{d:"M50.4 67.8a15.55 15.55 0 012.1-8.8H37.1a.84.84 0 01-.9-.9v-.9a.84.84 0 01.9-.9h17.3a15.37 15.37 0 011.9-1.7.84.84 0 01-.4-.7V41.1a.9.9 0 111.8 0v12.7a11.51 11.51 0 012.5-1.2V41.1a.84.84 0 01.9-.9h1.7a.84.84 0 01.9.9v10.7c.2 0 .5-.1.7-.1a15.88 15.88 0 018.9 2.1v-27a2.43 2.43 0 00-2.4-2.4H29.3a2.43 2.43 0 00-2.4 2.4v41.5a2.43 2.43 0 002.4 2.4h5.3v2.5a2.43 2.43 0 002.4 2.4h2.8a2.43 2.43 0 002.4-2.4v-2.5h8.7a9.29 9.29 0 01-.5-2.9zM46.6 54a.84.84 0 01-.9.9H44a.84.84 0 01-.9-.9V41.1a.84.84 0 01.9-.9h1.7a.84.84 0 01.9.9zm7.7 0a.84.84 0 01-.9.9H50a.84.84 0 01-.9-.9V41.1a.84.84 0 01.9-.9h3.4a.84.84 0 01.9.9zm-18-17.2a.84.84 0 01.9-.9h25.7a.84.84 0 01.9.9v.9a.84.84 0 01-.9.9H37.1a.84.84 0 01-.9-.9v-.9zm0 4.3a.84.84 0 01.9-.9h3.4a.84.84 0 01.9.9V54a.84.84 0 01-.9.9h-3.4a.84.84 0 01-.9-.9z"},{d:"M64.7 60.9h1.2a.65.65 0 01.6.6v5.4c0 .2-.1.3-.2.5l-3.5 3.5a.75.75 0 01-.9 0l-.7-.9a.75.75 0 010-.9l2.9-2.9v-4.7a.58.58 0 01.6-.6zm14.1 5.4H77v-.4a11.58 11.58 0 10-11.7 12.4 11.47 11.47 0 008.6-3.6c.2-.2.4-.4.2-.6l-1-1.2a.56.56 0 00-.9 0 9.17 9.17 0 01-7.7 2.9 9.55 9.55 0 01-8.1-8 9.1 9.1 0 0118.1-1.9v.4h-1.8a.65.65 0 00-.6.6c0 .2 0 .3.1.4l3.1 3.8a.67.67 0 001 0l3.1-3.8a.75.75 0 000-.9 1.49 1.49 0 00-.6-.1z"}]},asset_object:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M74.2 20.2H25.8A2.86 2.86 0 0023 23v48.4a2.86 2.86 0 002.8 2.8H32V77a2.86 2.86 0 002.8 2.8H38a2.86 2.86 0 002.8-2.8v-2.9h18.4V77a2.86 2.86 0 002.8 2.8h3.2A2.86 2.86 0 0068 77v-2.9h6.2a2.86 2.86 0 002.8-2.8V23a2.86 2.86 0 00-2.8-2.8zM34 39.6a.94.94 0 011-1h4a.94.94 0 011 1v15a.94.94 0 01-1 1h-4a.94.94 0 01-1-1zm32 19.9a.94.94 0 01-1 1H35a.94.94 0 01-1-1v-1a.94.94 0 011-1h30a.94.94 0 011 1zm-24-4.9v-15a.94.94 0 011-1h2a.94.94 0 011 1v15a.94.94 0 01-1 1h-2a.94.94 0 01-1-1zm7 0v-15a.94.94 0 011-1h4a.94.94 0 011 1v15a.94.94 0 01-1 1h-4a.94.94 0 01-1-1zm7.9 0v-15a1 1 0 012 0v15a1 1 0 01-2 0zm4.9 0v-15a.94.94 0 011-1h2a.94.94 0 011 1v15a.94.94 0 01-1 1h-2a.94.94 0 01-1-1zm4.2-19a.94.94 0 01-1 1H35a.94.94 0 01-1-1v-1a.94.94 0 011-1h30a.94.94 0 011 1z"}},asset_relationship:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M72.8 54.7v-.4c0-9-5.3-16.8-12.9-20.6v-.9c0-5.5-4.5-10-10-10s-10 4.5-10 10v.9C32.3 37.4 27 45.3 27 54.3v.4c-4.1 1.2-7.2 5-7.2 9.6 0 5.5 4.5 10 10 10 2.2 0 4.3-.7 6-2 3.9 3 8.8 4.9 14 4.9s10.1-1.8 14-4.9c1.7 1.2 3.7 2 6 2 5.5 0 10-4.5 10-10 .2-4.5-2.8-8.4-7-9.6zM38.9 68.8c.7-1.4 1.1-2.9 1.1-4.5 0-4.9-3.6-9-8.3-9.8v-.2c0-7 4-13.1 9.8-16.2 1.8 2.8 4.9 4.7 8.5 4.7s6.7-1.9 8.5-4.7c5.8 3.1 9.8 9.2 9.8 16.2v.2c-4.7.8-8.3 4.9-8.3 9.8 0 1.6.4 3.1 1.1 4.5-3.1 2.4-6.9 3.8-11.1 3.8s-8-1.5-11.1-3.8z"}},asset_state_period:{xmlns:"http://www.w3.org/2000/svg",path:[{d:"M52.1 67.9A15.27 15.27 0 0155 59H37.1a.84.84 0 01-.9-.9v-.9a.84.84 0 01.9-.9h20.2a15.35 15.35 0 012.9-2.1c-.1-.1-.1-.2-.1-.4V41.1a.84.84 0 01.9-.9h1.7a.84.84 0 01.9.9V53a14.3 14.3 0 019.6.5V26.8a2.43 2.43 0 00-2.4-2.4H29.3a2.43 2.43 0 00-2.4 2.4v41.5a2.43 2.43 0 002.4 2.4h5.3v2.5a2.43 2.43 0 002.4 2.4h2.8a2.43 2.43 0 002.4-2.4v-2.5h10.3a8.63 8.63 0 01-.4-2.8zM46.6 54a.84.84 0 01-.9.9H44a.84.84 0 01-.9-.9V41.1a.84.84 0 01.9-.9h1.7a.84.84 0 01.9.9zm7.7 0a.84.84 0 01-.9.9H50a.84.84 0 01-.9-.9V41.1a.84.84 0 01.9-.9h3.4a.84.84 0 01.9.9zm3.3 0a.9.9 0 01-1.8 0V41.1a.9.9 0 111.8 0zM36.3 36.8a.84.84 0 01.9-.9h25.7a.84.84 0 01.9.9v.9a.84.84 0 01-.9.9H37.1a.84.84 0 01-.9-.9v-.9zm0 4.3a.84.84 0 01.9-.9h3.4a.84.84 0 01.9.9V54a.84.84 0 01-.9.9h-3.4a.84.84 0 01-.9-.9z"},{d:"M69.1 68.1a1.42 1.42 0 01-.2-.6v-4.8a.77.77 0 00-.7-.8h-1.5a.77.77 0 00-.7.8v6a1.42 1.42 0 00.2.6l3.7 3.7a.67.67 0 001 0l1.1-1.1a.78.78 0 000-1.1zm-1.6-12.2a12 12 0 00.2 24 12 12 0 0011.9-12 12.12 12.12 0 00-12.1-12zm0 21a9 9 0 119-9 8.94 8.94 0 01-9 9z"}]},asset_warranty:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M66 51c1.77 0 3.17 1.92 4.72 2.58s4 .3 5.17 1.55.89 3.55 1.56 5.17S80 63.23 80 65s-1.92 3.18-2.58 4.73-.3 4-1.56 5.17-3.54.88-5.17 1.55S67.74 79 66 79s-3.18-1.92-4.73-2.58-4-.3-5.17-1.55-.88-3.55-1.55-5.17-2.58-3-2.58-4.73 1.92-3.18 2.58-4.73.3-4 1.55-5.17 3.55-.88 5.17-1.55S64.2 51 66 51zm3.58-30a2.77 2.77 0 012.71 2.71v26.78l-.26-.1c-2-.84-3.77-3.29-6-3.29-1.69 0-3.11 1.36-4.55 2.41v-9.77a.88.88 0 00-.27-.7.91.91 0 00-.7-.27H58.4a1 1 0 00-.59.27.9.9 0 00-.26.7V51a16.06 16.06 0 00-2.81.58V39.74a1 1 0 10-1.93 0v13.31a11.63 11.63 0 00-1 4H31.5a1 1 0 00-.59.27.87.87 0 00-.26.7v1.08a1 1 0 00.27.59.91.91 0 00.7.27h19.2c-1.06 1.6-2.75 3.15-2.75 5 0 2.26 2.45 4 3.3 6a9.64 9.64 0 01.53 2.1H37.23v2.81a2.77 2.77 0 01-2.71 2.7h-3.1a2.76 2.76 0 01-2.71-2.7v-2.64h-6A2.78 2.78 0 0120 70.52V23.68A2.77 2.77 0 0122.71 21h46.84zm1.62 39.42a.71.71 0 00-1 0l-5.47 6.24-2.48-2.52a.69.69 0 00-1 0l-1 1a.63.63 0 000 1l3.5 3.49a1.42 1.42 0 001 .45 1.3 1.3 0 001-.45l6.5-7.21a.78.78 0 000-1zM35.6 38.77h-4.1a1 1 0 00-.59.27.87.87 0 00-.26.7v14.63a1 1 0 00.27.59.91.91 0 00.7.27h3.87a.93.93 0 00.71-.27.9.9 0 00.26-.7V39.74a.9.9 0 00-.26-.7.93.93 0 00-.71-.27zm5.8 0h-2.16a1 1 0 00-.59.27.9.9 0 00-.26.7v14.63a.89.89 0 00.26.59.93.93 0 00.7.27h1.94A.91.91 0 0042 55a.88.88 0 00.27-.7V39.74A.88.88 0 0042 39a.91.91 0 00-.7-.27zm8.71 0H46a.93.93 0 00-.59.27.88.88 0 00-.27.7v14.63a.9.9 0 00.27.59.91.91 0 00.7.27H50a.93.93 0 001-1V39.74a.93.93 0 00-1-1zm10.65-4.84H31.5a1 1 0 00-.59.27.88.88 0 00-.26.7V36a.93.93 0 00.27.59.88.88 0 00.7.27h29a.91.91 0 001-1v-1a.92.92 0 00-.26-.7.89.89 0 00-.71-.26z"}},assigned_resource:{xmlns:"http://www.w3.org/2000/svg",path:[{d:"M49.91 20a25.4 25.4 0 1025.18 25.5c0-13.79-11.24-25.5-25.18-25.5zm16.54 23.24L55.93 53.38c-.76.76-1.77.13-1.77-1.14v-6.08c-7.6 0-12.67 5.19-12.67 12.8h-7.6a20.12 20.12 0 0120.27-20.4v-6.21c0-1.27 1.14-1.9 1.77-1.14l10.52 10.26a1.52 1.52 0 010 1.77z","fill-rule":"evenodd"},{d:"M26 64.21h-1.27A4.75 4.75 0 0020 68.95v6.31A4.74 4.74 0 0024.73 80h50.54A4.75 4.75 0 0080 75.26v-6.31a4.74 4.74 0 00-4.73-4.74h-1.54a30.15 30.15 0 01-47.72 0z","fill-rule":"evenodd"}]},assignment:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M22 54.9h56c1.1 0 2 .9 2 2v4c0 1.1-.9 2-2 2H22c-1.1 0-2-.9-2-2v-4c0-1.1.9-2 2-2zM22 37.1h56c1.1 0 2 .9 2 2v4c0 1.1-.9 2-2 2H22c-1.1 0-2-.9-2-2v-4c0-1.1.9-2 2-2z"}},avatar:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M80 71.2V74c0 3.3-2.7 6-6 6H26c-3.3 0-6-2.7-6-6v-2.8c0-7.3 8.5-11.7 16.5-15.2.3-.1.5-.2.8-.4.6-.3 1.3-.3 1.9.1C42.4 57.8 46.1 59 50 59c3.9 0 7.6-1.2 10.8-3.2.6-.4 1.3-.4 1.9-.1.3.1.5.2.8.4 8 3.4 16.5 7.8 16.5 15.1z"},ellipse:{cx:"50",cy:"36.5",rx:"14.9",ry:"16.5"}},avatar_loading:{xmlns:"http://www.w3.org/2000/svg",g:{opacity:".5",path:{d:"M80 71.2V74c0 3.3-2.7 6-6 6H26c-3.3 0-6-2.7-6-6v-2.8c0-7.3 8.5-11.7 16.5-15.2.3-.1.5-.2.8-.4.6-.3 1.3-.3 1.9.1C42.4 57.8 46.1 59 50 59s7.6-1.2 10.8-3.2c.6-.4 1.3-.4 1.9-.1.3.1.5.2.8.4 8 3.4 16.5 7.8 16.5 15.1z"},ellipse:{cx:"50",cy:"36.5",rx:"14.9",ry:"16.5"}}},bot:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M49.6 25.8c7.2 0 13 5.8 13 13v3.3c-4.3-.5-8.7-.7-13-.7-4.3 0-8.7.2-13 .7v-3.3c0-7.1 5.8-13 13-13zM73.2 63.8l1.3-11.4c2.9.5 5.1 2.9 5.1 5.6 0 3.2-2.9 5.8-6.4 5.8zM25.9 63.8c-3.5 0-6.4-2.6-6.4-5.8 0-2.8 2.2-5.1 5.1-5.6l1.3 11.4zM68.7 44.9c-6.6-.7-12.9-1-19-1s-12.5.3-19 1c-2.2.2-3.8 2.2-3.5 4.3l2 19.4c.2 1.8 1.6 3.3 3.5 3.5 5.6.7 11.3 1 17.1 1s11.5-.3 17.1-1c1.8-.2 3.3-1.7 3.5-3.5l2-19.4c0-2.2-1.5-4.1-3.7-4.3zM38.6 62.5c-1.6 0-2.8-1.6-2.8-3.7s1.3-3.7 2.8-3.7 2.8 1.6 2.8 3.7-1.2 3.7-2.8 3.7zm16.7 4.1c0 .2-.1.4-.2.5-.1.1-.3.2-.5.2h-9.9c-.2 0-.4-.1-.5-.2-.1-.1-.2-.3-.2-.5v-1.8c0-.4.3-.7.7-.7h.2c.4 0 .7.3.7.7v.9h8.1v-.9c0-.4.3-.7.7-.7h.2c.4 0 .7.3.7.7v1.8zm5.3-4.1c-1.6 0-2.8-1.6-2.8-3.7s1.3-3.7 2.8-3.7 2.8 1.6 2.8 3.7-1.2 3.7-2.8 3.7z"}},bot_training:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M54.6 61c-1 .4-2 .7-3.2.8-7.3.8-13.4-4.9-13.4-12 0-1.2.2-2.4.5-3.6.2-.5.8-.6 1.1-.3l6.8 6.8c.5.5 1.3.5 1.9 0l4.8-4.8c.5-.5.5-1.3 0-1.9l-6.8-6.8c-.3-.4-.2-1 .3-1.1 1.1-.3 2.3-.5 3.5-.5 7.1 0 12.8 6.1 12 13.4-.1 1.1-.4 2.1-.8 3.2l12.6 12.6c3.9-4.6 6.2-10.5 6.2-16.8C80 34.5 66.6 22.3 50 22.3c-16.7 0-30 12.3-30 27.4 0 4.8 1.4 9.3 3.6 13.3.4.6.5 1.4.3 2.1L20 75.8c-.4 1 .6 1.9 1.6 1.6l10.9-4.1c.6-.3 1.4-.1 2.1.3 4.5 2.5 9.9 4 15.7 4 6-.1 11.6-1.8 16.3-4.6l-12-12z"}},branch_merge:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M26.5 70.5c3.4-7 9.4-12 16.3-14.5 2.6-1 5.3-1.6 7.9-1.9h4.4v13.6c0 1.1 1.2 1.7 2.2 1L78.5 51c.8-.6.8-2 0-2.5L57.3 31.2c-.8-.6-2.2 0-2.2 1v13.7h-4.4c-2.7-.3-5.5-1-7.9-1.9-6.8-2.6-12.9-7.5-16.3-14.5-.4-1-1.6-1.4-2.6-1l-3.8 1.6c-1.1.5-1.4 1.6-.8 2.7 3.6 7.6 9.4 13.5 16.2 17.2-6.9 3.7-12.6 9.6-16.2 17.3-.5 1.1-.4 2.2.8 2.7l3.8 1.6c1 .4 2.2-.1 2.6-1.1z"}},brand:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M79.4 39.1C76.5 27.2 64 20 50.2 20 33.5 20 20 33.4 20 50s13.5 30 30.3 30c23.2 0 21.4-11.8 14-16.4-4.4-2.8-6.8-9.1-2.4-13.6 8.1-8.4 21.2 5 17.5-10.9zM33.7 60c-3.5 0-6.3-2.8-6.3-6.2s2.8-6.2 6.3-6.2 6.2 2.8 6.2 6.2-2.7 6.2-6.2 6.2zM35 36.2c0-3.5 2.8-6.2 6.2-6.2 3.5 0 6.2 2.8 6.2 6.2s-2.8 6.2-6.2 6.2c-3.5.1-6.2-2.6-6.2-6.2zm13.7 36.3c-3.5 0-6.2-2.8-6.2-6.2s2.8-6.2 6.2-6.2c3.5 0 6.2 2.8 6.2 6.2s-2.7 6.2-6.2 6.2zM60 40c-3.5 0-6.2-2.8-6.2-6.2s2.8-6.2 6.2-6.2c3.5 0 6.2 2.8 6.2 6.2S63.5 40 60 40z"}},bundle_config:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M37 20H26a6.07 6.07 0 00-6 6.14v10.24a6.07 6.07 0 006 6.14h11a6.07 6.07 0 006-6.14V26.13A6.07 6.07 0 0037 20zm-5 16.38h-1a5.13 5.13 0 010-10.25h1a5.13 5.13 0 110 10.25zM55 42.52h11a6.07 6.07 0 006-6.14V26.13A6.08 6.08 0 0066 20H55a6.07 6.07 0 00-6 6.14v10.24a6.07 6.07 0 006 6.14zm5-16.39h1a5.13 5.13 0 010 10.25h-1a5.13 5.13 0 010-10.25zM37 48.66H26a6.08 6.08 0 00-6 6.15V65a6.09 6.09 0 006 6.16h11A6.09 6.09 0 0043 65V54.81a6.08 6.08 0 00-6-6.15zM32 65h-1a5.12 5.12 0 010-10.19h1A5.12 5.12 0 0132 65zM79.1 61.33c-.78-.13-1.56-.13-2.35-.26a.29.29 0 01-.26-.27 26.06 26.06 0 00-1-2.53v-.4c.39-.67 1-1.34 1.43-2a1 1 0 00-.13-1.33l-2.6-2.67a1 1 0 00-.65-.26 2.16 2.16 0 00-.65.26c-.66.4-1.31 1.07-2 1.47a.13.13 0 00-.13.13h-.13c-.91-.26-1.56-.8-2.47-1.06a.27.27 0 01-.26-.27c-.13-.8-.13-1.47-.26-2.27A1.1 1.1 0 0067 48.8a.4.4 0 00-.26-.14h-3.8a1.15 1.15 0 00-.65.14c-.26.26-.66.66-.66 1.06a13.38 13.38 0 01-.26 2.27.29.29 0 01-.26.27c-.91.26-1.56.8-2.47 1.06h-.13c-.13 0-.13 0-.26-.13-.64-.52-1.31-1-2-1.47a.76.76 0 00-.65-.26c-.39 0-.39.13-.78.26l-2.6 2.67a1 1 0 00-.13 1.33c.39.67 1 1.21 1.43 2a.25.25 0 010 .35c-.26.93-.78 1.6-1 2.53a.29.29 0 01-.26.27c-.79.13-1.44.13-2.22.26a1.11 1.11 0 00-1 .8v4.55a2.13 2.13 0 001 .8 12.69 12.69 0 012.22.26.28.28 0 01.26.27c.26.93.78 1.6 1 2.53 0 .14.13.27 0 .4-.39.67-1 1.34-1.43 2a1 1 0 00.13 1.34l2.6 2.66c.26.27.39.27.78.27a2 2 0 00.65-.27 21.65 21.65 0 012-1.46c.13 0 .13-.14.26-.14h.13c.91.27 1.56.8 2.47 1.07a.27.27 0 01.26.27c.13.8.13 1.6.26 2.4s.4.93 1 .93h3.78c.66 0 .92-.27 1-.93s.13-1.6.26-2.4a.27.27 0 01.33-.22 25.57 25.57 0 002.47-1.07h.13a.13.13 0 01.13.13c.65.4 1.3 1.06 2 1.46a1 1 0 00.65.27c.26 0 .39-.13.78-.27l2.6-2.66a1.06 1.06 0 00.13-1.34c-.39-.66-1-1.2-1.43-2a.25.25 0 010-.35c.26-.93.78-1.6 1-2.53a.28.28 0 01.26-.27c.79-.13 1.57-.13 2.35-.26s.91-.4.91-1.07v-3.77c.02-.94-.23-1.2-.88-1.34zm-14.47 9.08a5.84 5.84 0 01-5.86-5.8v-.21a5.87 5.87 0 0111.73 0 6.18 6.18 0 01-5.87 6.01z"}},bundle_policy:{xmlns:"http://www.w3.org/2000/svg",rect:{x:"59.5",y:"45.5",width:"13",height:"22",rx:"2",transform:"rotate(-45 66.003 56.5)"},path:{d:"M53.06 66.2L45.28 74a3 3 0 000 4.24 3 3 0 004.24 0l7.77-7.78a3 3 0 10-4.24-4.24zM77 74H65a3 3 0 000 6h12a3 3 0 000-6zM36 20H26a6 6 0 00-6 6v7a6 6 0 006 6h10a6 6 0 006-6v-7a6 6 0 00-6-6zm-3.5 13h-3a3.5 3.5 0 010-7h3a3.5 3.5 0 010 7zM54 39h10a6 6 0 006-6v-7a6 6 0 00-6-6H54a6 6 0 00-6 6v7a6 6 0 006 6zm3.5-13h3a3.5 3.5 0 010 7h-3a3.5 3.5 0 010-7zM36 45H26a6 6 0 00-6 6v7a6 6 0 006 6h10a6 6 0 006-6v-7a6 6 0 00-6-6zm-3.5 13h-3a3.5 3.5 0 010-7h3a3.5 3.5 0 010 7z","fill-rule":"evenodd"}},business_hours:{xmlns:"http://www.w3.org/2000/svg",path:[{d:"M48.1 35.3h3.2c.9 0 1.6.7 1.6 1.6v14c0 .4-.2.8-.4 1.2l-9 9c-.6.6-1.6.6-2.2 0l-2.2-2.2c-.6-.6-.6-1.6 0-2.2l7.5-7.6V37c-.1-.8.5-1.6 1.4-1.7h.1z"},{d:"M84.5 49.2h-4.8c0-.3-.1-.7-.1-1.1-1.3-16.4-15.6-28.7-32-27.5-16.4 1.3-28.7 15.6-27.5 32C21.3 68.1 34 80 49.5 80.2c8.4.2 16.5-3.3 22.2-9.4.5-.5 1-1 .4-1.6l-2.6-3.1c-.9-1.1-1.7-.6-2.4.1-5 5.5-12.4 8.3-19.8 7.5-10.3-1-19.9-10.6-21-20.7-1.3-12.9 8.1-24.5 21-25.8s24.5 8.1 25.8 21H73c.1.4.1.7.1 1.1h-4.7c-.9 0-1.6.7-1.6 1.6 0 .4.1.7.3 1l8 9.7c.7.7 1.8.7 2.5 0l8-9.7c.6-.6.6-1.6 0-2.2-.3-.3-.7-.5-1.1-.5z"}]},buyer_account:{xmlns:"http://www.w3.org/2000/svg",g:{path:[{d:"M61.8 65.5h13.3c.4 0 .8-.3.8-.7l2.4-8.6c.2-.6-.3-1.1-.8-1.1H57l-.3-1.3c-.2-.6-.7-1-1.3-1h-2.2c-.7 0-1.4.6-1.4 1.3-.1.8.6 1.4 1.3 1.4h1.3l1.2 4 3 10.3c.2.6.7 1 1.3 1h15.6c.7 0 1.4-.6 1.4-1.3.1-.8-.6-1.4-1.3-1.4H61.8c-.6 0-1.1-.4-1.3-.9v-.1c-.2-.8.4-1.6 1.3-1.6z"},{d:"M61.1 19.9h-39c-2.2 0-2.5 2.3-2.5 2.5v49.5c.1 1.3.9 3.3 4.4 3.3h28.3c3.2 0 3-2.1 2.8-2.9L55 72l-.3-1.1-.2-.6L51.4 60c-.2-.7-1-1-1-1-.5-.3-1-.6-1.3-1-1-1.1-1.5-2.6-1.4-4 .2-2.8 2.6-5 5.4-5h2.2c1.5 0 2.8.6 3.8 1.6l.1.1c.2.2.6.5 1.2.5h1.4c1.3 0 1.4-1.4 1.5-1.8l.1-10.5V23c.1-2.4-1.6-3.1-2.3-3.1zM32.4 67.1c0 1.3-1 2.3-2.3 2.3h-2.3c-1.3 0-2.3-1-2.3-2.3v-2.3c0-1.3 1-2.3 2.3-2.3h2.3c1.3 0 2.3 1 2.3 2.3v2.3zm0-11.9c0 1.3-1 2.3-2.3 2.3h-2.3c-1.3 0-2.3-1-2.3-2.3v-2.3c0-1.3 1-2.3 2.3-2.3h2.3c1.3 0 2.3 1 2.3 2.3v2.3zm0-11.7c0 1.3-1 2.3-2.3 2.3h-2.3c-1.3 0-2.3-1-2.3-2.3v-2.3c0-1.3 1-2.3 2.3-2.3h2.3c1.3 0 2.3 1 2.3 2.3v2.3zm0-11.8c0 1.3-1 2.3-2.3 2.3h-2.3c-1.3 0-2.3-1-2.3-2.3v-2.3c0-1.3 1-2.3 2.3-2.3h2.3c1.3 0 2.3 1 2.3 2.3v2.3zm12.7 35.4c0 1.3-1 2.3-2.3 2.3h-2.3c-1.3 0-2.3-1-2.3-2.3v-2.3c0-1.3 1-2.3 2.3-2.3h2.3c1.3 0 2.3 1 2.3 2.3v2.3zm0-11.9c0 1.3-1 2.3-2.3 2.3h-2.3c-1.3 0-2.3-1-2.3-2.3v-2.3c0-1.3 1-2.3 2.3-2.3h2.3c1.3 0 2.3 1 2.3 2.3v2.3zm0-11.7c0 1.3-1 2.3-2.3 2.3h-2.3c-1.3 0-2.3-1-2.3-2.3v-2.3c0-1.3 1-2.3 2.3-2.3h2.3c1.3 0 2.3 1 2.3 2.3v2.3zm0-11.8c0 1.3-1 2.3-2.3 2.3h-2.3c-1.3 0-2.3-1-2.3-2.3v-2.3c0-1.3 1-2.3 2.3-2.3h2.3c1.3 0 2.3 1 2.3 2.3v2.3zm12.7 11.8c0 1.3-1 2.3-2.3 2.3h-2.3c-1.3 0-2.3-1-2.3-2.3v-2.3c0-1.3 1-2.3 2.3-2.3h2.3c1.3 0 2.3 1 2.3 2.3v2.3zm0-11.8c0 1.3-1 2.3-2.3 2.3h-2.3c-1.3 0-2.3-1-2.3-2.3v-2.3c0-1.3 1-2.3 2.3-2.3h2.3c1.3 0 2.3 1 2.3 2.3v2.3z"}],circle:[{cx:"62.1",cy:"75.8",r:"2.2"},{cx:"72.9",cy:"75.8",r:"2.2"}]}},buyer_group:{xmlns:"http://www.w3.org/2000/svg",g:{circle:[{cx:"58.7",cy:"76.7",r:"2.2"},{cx:"69.5",cy:"76.7",r:"2.2"}],path:[{d:"M37.3 43.1c-1.5-2.4-2.4-5.2-2.4-8.3 0-5.2 2.2-9.6 5.7-12.2-1.3-2.2-3.5-3.6-6.6-3.6-5.1 0-7.9 4.1-7.9 8.8 0 2.6.9 4.7 2.6 6.3 1 .9 1.8 2 1.8 3.3 0 1.2-.4 2.3-3.3 3.5-4.1 1.9-7.9 4.2-8 8.1 0 2.6 1.7 4.4 4.1 4.4h3.8c.6 0 1.2-.4 1.5-.9 1.9-3.3 5.3-5.5 8.2-6.9.7-.5 1.1-1.7.5-2.5zM58.4 66.4h13.3c.4 0 .8-.3.8-.7l2.4-8.6c.2-.6-.3-1.1-.8-1.1H53.6l-.3-1.3c-.2-.6-.7-1-1.3-1h-2.2c-.7 0-1.4.6-1.4 1.3-.1.8.6 1.4 1.3 1.4H51l1.2 4 3 10.3c.2.6.7 1 1.3 1h15.6c.7 0 1.4-.6 1.4-1.3.1-.8-.6-1.4-1.3-1.4H58.4c-.6 0-1.1-.4-1.3-.9V68c-.2-.8.4-1.6 1.3-1.6z"},{d:"M48.4 61.6l-.4-1.5c-.9-.3-1.6-.8-2.2-1.5-.9-1.1-1.4-2.4-1.3-3.8.1-2.8 2.6-5 5.4-5H52c1.8 0 3.4.9 4.4 2.3h5.7c-1.6-1.1-3.5-2-5.4-2.8-3.2-1.3-3.6-2.6-3.6-3.9 0-1.3.9-2.6 1.9-3.6 1.9-1.7 2.9-4.1 2.9-7 0-5.2-3.2-9.7-8.8-9.7s-8.8 4.5-8.8 9.7c0 2.8 1.1 5.2 2.9 7 1.1 1 1.9 2.3 1.9 3.6 0 1.3-.5 2.6-3.6 3.9-4.8 1.9-9.2 4.2-9.3 8.5 0 2.8 2 5.3 4.7 5.3h11.8l-.3-1.5z"},{d:"M63.1 34.8c0 3.1-.8 5.9-2.4 8.3-.6.9-.3 2 .7 2.6 2.8 1.3 6 3.3 7.9 6.4h4.8c1 0 1.9.3 2.7.9 1.3-.7 2.1-2.1 2.1-3.9-.1-3.9-3.9-6.3-8-8.2-2.9-1.2-3.3-2.4-3.3-3.5 0-1.2.8-2.4 1.8-3.3 1.7-1.6 2.6-3.7 2.6-6.3 0-4.8-2.8-8.8-7.9-8.8-3.1 0-5.3 1.4-6.6 3.6 3.4 2.6 5.6 6.9 5.6 12.2z"}]}},calculated_insights:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M72.51 26a7.5 7.5 0 00-6 12l-6.24 11a5 5 0 00-.77 0 7.5 7.5 0 00-3.76 1l-7.93-5.84A7.1 7.1 0 0048 42.5a7.5 7.5 0 10-13.41 4.59L28.14 59h-.64a7.5 7.5 0 105.91 2.88L39.86 50h.64a7.47 7.47 0 003.75-1l7.93 5.84A7.67 7.67 0 0052 56.5 7.5 7.5 0 1065.49 52l6.24-11h.77a7.5 7.5 0 000-15zM72.5 26h.01-.01z"}},calibration:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M31.9 49.7c-.6.1-1.2.1-1.9.1-.6 0-1.2 0-1.9-.1-.6-.1-1.1.4-1.1 1V78c0 1.1.9 2 2 2h2c1.1 0 2-.9 2-2V50.7c0-.7-.5-1.1-1.1-1zM51.9 70.7c-.6.1-1.2.1-1.9.1-.6 0-1.2 0-1.9-.1-.6-.1-1.1.4-1.1 1V78c0 1.1.9 2 2 2h2c1.1 0 2-.9 2-2v-6.3c0-.7-.5-1.1-1.1-1zM71.9 55.7c-.6.1-1.2.1-1.9.1-.6 0-1.2 0-1.9-.1-.6-.1-1.1.4-1.1 1V78c0 1.1.9 2 2 2h2c1.1 0 2-.9 2-2V56.7c0-.7-.5-1.1-1.1-1zM33 30.7V22c0-1.1-.9-2-2-2h-2c-1.1 0-2 .9-2 2v8.7c-2.4 1.1-4 3.5-4 6.3 0 3.9 3.1 7 7 7s7-3.1 7-7c0-2.8-1.6-5.2-4-6.3zM53 51.7V22c0-1.1-.9-2-2-2h-2c-1.1 0-2 .9-2 2v29.7c-2.4 1.1-4 3.5-4 6.3 0 3.9 3.1 7 7 7s7-3.1 7-7c0-2.8-1.6-5.2-4-6.3zM73 36.7V22c0-1.1-.9-2-2-2h-2c-1.1 0-2 .9-2 2v14.7c-2.4 1.1-4 3.5-4 6.3 0 3.9 3.1 7 7 7s7-3.1 7-7c0-2.8-1.6-5.2-4-6.3z"}},call:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M77.7 63.9l-6.2-5a6.002 6.002 0 00-7.3-.2L58.3 63c-.8.6-1.899.5-2.6-.2L46 54l-8.9-9.8c-.7-.7-.8-1.8-.2-2.6l4.3-5.9c1.6-2.2 1.5-5.2-.2-7.3l-5-6.2c-2.2-2.8-6.4-3-8.9-.5l-5.4 5.4c-1.2 1.2-1.8 2.9-1.8 4.5.7 12.7 6.5 24.8 15 33.3s20.5 14.3 33.3 15c1.7.1 3.3-.601 4.5-1.801l5.4-5.399c2.7-2.4 2.4-6.6-.4-8.8z"}},call_coaching:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M41.8 20c2.9 0 5.3 2.6 4.9 5.5l-.7 6.6c-.3 2.2-2 4-4.2 4.4l-6 .9c-.8.1-1.4.8-1.4 1.6v21.9c0 .8.6 1.5 1.4 1.7l6 .9c2.3.3 4 2.2 4.2 4.4l.8 6.6c.4 2.9-1.9 5.6-4.9 5.4h-6.4c-1.4 0-2.8-.5-3.7-1.6C24.6 70.4 21 59.9 21 49.9s3.7-20.5 10.7-28.3c.9-1 2.3-1.6 3.7-1.6zm18.5 12.9c1.1 0 1.9.8 1.9 1.9v30.8c0 1.1-.9 1.9-1.9 1.9-1 0-1.9-.8-1.9-1.9V34.8c0-1 .8-1.9 1.9-1.9zm-8.5 7.3c1.1 0 1.9.8 1.9 1.9v16.2c0 1-.9 1.9-1.9 1.9-1 0-1.9-.8-1.9-1.9V42.1c0-1 .8-1.9 1.9-1.9zm17.2 0c1.1 0 1.9.8 1.9 1.9v15.7c0 1-.9 1.8-1.9 1.8-1 0-1.9-.8-1.9-1.9V42.1c0-1 .8-1.9 1.9-1.9zm8.9 5.6c1.1 0 1.9.8 1.9 1.9v3.6c0 1.1-.8 1.9-1.9 1.9-1 0-1.9-.8-1.9-1.9v-3.6c0-1 .8-1.9 1.9-1.9z"}},call_history:{xmlns:"http://www.w3.org/2000/svg",path:[{d:"M28.1 48c-.1.7-.1 1.3-.1 2h-6c0-.7 0-1.3.1-2h6z"},{d:"M50 22c-14.8 0-26.9 11.5-27.9 26 0 .3-.1.7-.1 1h-4.5c-1.3 0-2 1.5-1.2 2.4l7.5 9.1c.6.7 1.7.7 2.3 0l7.5-9.1c.8-1 .1-2.4-1.2-2.4H28v-1c1-11.2 10.5-20 21.9-20 13 0 23.3 11.3 21.9 24.5-1 9.5-10 18.5-19.6 19.4-7.1.7-13.8-1.9-18.5-7-.6-.7-1.4-1.1-2.2-.1l-2.4 2.9c-.5.6-.1 1 .4 1.5 5.4 5.7 12.8 8.9 20.8 8.8 14.4-.2 26.5-11.6 27.5-26C79.1 35.7 66.1 22 50 22z"},{d:"M47.2 42.8c.7-.9.7-2.2-.1-3.2L45 37c-1-1.2-2.8-1.3-3.9-.2l-2.4 2.4c-.5.5-.8 1.2-.8 2 .3 5.5 2.8 10.8 6.5 14.4s8.9 6.2 14.4 6.5c.7 0 1.5-.2 2-.8l2.4-2.4c1.1-1.1 1-2.9-.2-3.9l-2.7-2.1c-.9-.7-2.2-.8-3.2-.1l-2.6 1.9c-.3.3-.8.2-1.1-.1l-4.2-3.8-3.8-4.2c-.3-.3-.3-.8-.1-1.1l1.9-2.7z"}]},campaign:{xmlns:"http://www.w3.org/2000/svg",path:[{d:"M50 20c-16.5 0-30 13.5-30 30s13.5 30 30 30 30-13.5 30-30-13.5-30-30-30zm0 54c-13.2 0-24-10.8-24-24s10.8-24 24-24 24 10.8 24 24-10.8 24-24 24z"},{d:"M50 32c-9.9 0-18 8.1-18 18s8.1 18 18 18 18-8.1 18-18-8.1-18-18-18zm0 30c-6.6 0-12-5.4-12-12s5.4-12 12-12 12 5.4 12 12-5.4 12-12 12z"},{d:"M50 44c-3.3 0-6 2.7-6 6s2.7 6 6 6 6-2.7 6-6-2.7-6-6-6z"}]},campaign_members:{xmlns:"http://www.w3.org/2000/svg",path:[{"fill-opacity":".65",d:"M100 62v38H62l38-38zm-7.8 27.6c-1.3-.5-1.5-1-1.5-1.6 0-.5.4-1 .8-1.4.8-.7 1.2-1.6 1.2-2.7 0-2.1-1.3-3.8-3.7-3.8s-3.7 1.8-3.7 3.8c0 1.1.4 2.1 1.2 2.7.4.4.8.9.8 1.4s-.2 1-1.5 1.6c-1.9.8-3.8 1.7-3.8 3.4 0 1.1.9 2.1 2 2.1h10c1.1 0 2-1 2-2.1 0-1.8-1.9-2.7-3.8-3.4z"},{d:"M50 20c-16.5 0-30 13.5-30 30s13.5 30 30 30 30-13.5 30-30-13.5-30-30-30zm0 54c-13.2 0-24-10.8-24-24s10.8-24 24-24 24 10.8 24 24-10.8 24-24 24z"},{d:"M50 32c-9.9 0-18 8.1-18 18s8.1 18 18 18 18-8.1 18-18-8.1-18-18-18zm0 30c-6.6 0-12-5.4-12-12s5.4-12 12-12 12 5.4 12 12-5.4 12-12 12z"},{d:"M50 44c-3.3 0-6 2.7-6 6s2.7 6 6 6 6-2.7 6-6-2.7-6-6-6z"}]},cancel_checkout:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M67.643 52C76.698 52 84 59.608 84 68.566a16.5 16.5 0 11-16.357-16.564zm8.457 6.346a1 1 0 00-1.414 0l-7.29 7.296-6.893-6.91v-.002l-.095-.083a1 1 0 00-1.32.083L57.43 60.39a1 1 0 00-.001 1.413l6.895 6.913-6.854 6.848-.084.094a1 1 0 00.083 1.32l1.665 1.665a1 1 0 001.414 0l6.855-6.855 7.25 7.263v.001l.095.084a.999.999 0 001.32-.084l1.658-1.658c.39-.391.39-1.024 0-1.415l-7.25-7.263 7.289-7.29a1 1 0 000-1.414L76.1 58.346zM40.8 67a5.8 5.8 0 110 11.6 5.8 5.8 0 010-11.6zM23.045 15c1.47 0 2.825 1.012 3.277 2.475l.904 3.15h51.527c1.469 0 2.599 1.35 2.146 2.813l-6.102 21.375c-.11.496-.385.912-.755 1.206a23.176 23.176 0 00-6.514-.929c-2.801 0-5.491.498-7.987 1.41H39.317c-2.147 0-3.842 2.138-3.05 4.275v.113c.338 1.35 1.694 2.362 3.163 2.362h10.36A23.535 23.535 0 0045.705 60H34.458c-1.582 0-2.825-1.013-3.277-2.475L20.56 21.75h-3.164c-1.921 0-3.503-1.688-3.39-3.6.113-1.8 1.808-3.15 3.616-3.15z"}},canvas:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M73.9 65.9c-.2 3.4-.6 7.1-1.2 10.6-.2 1.1-1.2 2.1-2.3 2.2-6.8.9-13.6 1.3-20.4 1.3-6.7 0-13.5-.4-20.2-1.3-1.1-.1-2.1-1.2-2.3-2.2-1-5.6-1.5-11.3-1.5-16.9 0-5.7.5-11.4 1.4-16.9.2-1.1 1.2-2.1 2.3-2.3 4.1-.5 8.2-.8 12.2-1 0 0 3.3-.2 3.1-3.2-.2-2.8-5-4.6-5-9.4 0-3.8 3.8-6.8 9.9-6.8 6.1 0 9.9 3.1 9.9 6.8 0 4.7-4.7 6.6-4.9 9.4-.2 3.1 3 3.2 3 3.2 4.1.2 8.3.5 12.4 1 1.1.2 2.1 1.2 2.3 2.3.7 3.9 1.1 7.4 1.3 11.2.1 1.1-.9 2-2.1 2-.4 0-.7-.1-1.1-.1-1.2 0-2.9-.7-3.7-1.6 0 0-2.7-2.7-5.5-2.7-4.6-.1-8.2 4.1-8.2 8.5s3.5 8.6 8.1 8.5c2.8-.1 5.5-2.9 5.5-2.9.9-.8 2.5-1.6 3.7-1.6.4-.1.7-.1 1.1-.1 1.4.1 2.3 1 2.2 2z"}},capacity_plan:{xmlns:"http://www.w3.org/2000/svg",path:[{d:"M39 32h22a2 2 0 002-2v-4a6 6 0 00-6-6H43a6 6 0 00-6 6v4a2 2 0 002 2zM49.8 48.4v11.4h10.7a9.88 9.88 0 00-3.1-7.8c-3.7-3.8-7.6-3.6-7.6-3.6z"},{d:"M72 25h-2a.94.94 0 00-1 1v4a8 8 0 01-8 8H39a8 8 0 01-8-8v-4a.94.94 0 00-1-1h-2a6 6 0 00-6 6v43a6 6 0 006 6h44a6 6 0 006-6V31a6 6 0 00-6-6zm-7.1 34.3a14.9 14.9 0 11-14.8-15 14.94 14.94 0 0114.8 15z"}]},care_request_reviewer:{xmlns:"http://www.w3.org/2000/svg",path:[{d:"M73.3 69.4c-2.3-.9-2.6-1.8-2.6-2.8a3.59 3.59 0 011.4-2.6 6.42 6.42 0 002.1-5c0-3.8-2.3-7-6.3-7s-6.3 3.2-6.3 7a6.78 6.78 0 002.1 5 3.59 3.59 0 011.4 2.6c0 1-.3 1.9-2.6 2.9-3.3 1.5-6.4 3.3-6.5 6.3 0 2 1.5 4.1 3.4 4.1h17.2c1.9 0 3.4-2.1 3.2-4.1-.1-3-3.2-5-6.5-6.4z"},{d:"M52 75.8v-.2c.2-5.4 5.2-8.1 8.2-9.5a10.53 10.53 0 01-2.6-7.1 12.59 12.59 0 01.84-4.6H50.1a1.22 1.22 0 01-1.2-1.2v-2.3a1.22 1.22 0 011.2-1.2h12a10.58 10.58 0 0111.15-.22V25.6A5.59 5.59 0 0067.7 20H32.3a5.59 5.59 0 00-5.6 5.6v44.8a5.59 5.59 0 005.6 5.6H52v-.2zm-3.1-40.9a1.22 1.22 0 011.2-1.2h15.2a1.22 1.22 0 011.2 1.2v2.3a1.13 1.13 0 01-1.1 1.2H50.1a1.22 1.22 0 01-1.2-1.2zm-4.1 20.5a.91.91 0 010 1.2l-1.2 1.2a.91.91 0 01-1.2 0L39 54.4l-3.3 3.3a.91.91 0 01-1.2 0l-1.2-1.2a.91.91 0 010-1.2l3.3-3.3-3.3-3.3a.91.91 0 010-1.2l1.2-1.2a.91.91 0 011.2 0l3.3 3.3 3.4-3.4a.91.91 0 011.2 0l1.2 1.2a.91.91 0 010 1.2L41.4 52zm2.8-24.3l-9 9a1.66 1.66 0 01-1.2.5 1.58 1.58 0 01-1.2-.5l-4.3-4.3a.75.75 0 010-1.2l1.2-1.2a.75.75 0 011.2 0l3.1 3.1 7.7-7.7a.75.75 0 011.2 0l1.2 1.2c.3.4.3 1 .1 1.1z"}]},carousel:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M76.26 37.7h-2.69v26.93h2.69A3.75 3.75 0 0080 60.89V41.44a3.75 3.75 0 00-3.74-3.74zM20 41.44v19.45a3.75 3.75 0 003.74 3.74h2.69V37.7h-2.69A3.75 3.75 0 0020 41.44zM66.46 34.33H33.54a3.75 3.75 0 00-3.74 3.74v26.19A3.75 3.75 0 0033.54 68h32.92a3.75 3.75 0 003.74-3.74V38.07a3.75 3.75 0 00-3.74-3.74zm-5.57 26.94H37.77a1.21 1.21 0 01-1-1.83l7-12.19a.75.75 0 011.35 0l4.23 7.26a.81.81 0 001.35.07l3.44-4.94a.8.8 0 011.35 0l6.28 10a1 1 0 01-.88 1.63zm-.6-14.36a3.18 3.18 0 113.18-3.18 3.18 3.18 0 01-3.18 3.17z"}},case:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M38 29h4c.6 0 1-.4 1-1v-3h14v3c0 .6.4 1 1 1h4c.6 0 1-.4 1-1v-3c0-3.3-2.7-6-6-6H43c-3.3 0-6 2.7-6 6v3c0 .6.4 1 1 1zM74 35H26c-3.3 0-6 2.7-6 6v32c0 3.3 2.7 6 6 6h48c3.3 0 6-2.7 6-6V41c0-3.3-2.7-6-6-6z"}},case_change_status:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M38 30h4c.6 0 1-.4 1-1v-3h14v3c0 .6.4 1 1 1h4c.6 0 1-.4 1-1v-3c0-3.3-2.7-6-6-6H43c-3.3 0-6 2.7-6 6v3c0 .6.4 1 1 1zM74 36H26c-3.3 0-6 2.7-6 6v32c0 3.3 2.7 6 6 6h48c3.3 0 6-2.7 6-6V42c0-3.3-2.7-6-6-6zM58.5 58.1L48 70.7c-.6.6-1.6.1-1.4-.7l2.6-9h-6.9c-.8 0-1.4-.8-1.1-1.6l4.2-10.8c.4-.9 1.2-1.5 2.2-1.5h8.3c.9 0 1.5.9 1 1.7L52.4 56h5.2c1 0 1.6 1.3.9 2.1z"}},case_comment:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M38 30h4c.6 0 1-.4 1-1v-3h14v3c0 .6.4 1 1 1h4c.6 0 1-.4 1-1v-3c0-3.3-2.7-6-6-6H43c-3.3 0-6 2.7-6 6v3c0 .6.4 1 1 1zM74 36H26c-3.3 0-6 2.7-6 6v32c0 3.3 2.7 6 6 6h48c3.3 0 6-2.7 6-6V42c0-3.3-2.7-6-6-6zM50.9 68c-2.3 0-4.4-.6-6.2-1.6-.2-.1-.4-.1-.7-.1L40 68c-.6.2-1.2-.4-1-1l1.7-4.1c.1-.2 0-.5-.1-.6-1-1.6-1.5-3.4-1.5-5.4 0-6.1 5.3-11 11.8-11s11.8 4.9 11.8 11c0 6.2-5.3 11.1-11.8 11.1z"}},case_email:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M38 30h4c.6 0 1-.4 1-1v-3h14v3c0 .6.4 1 1 1h4c.6 0 1-.4 1-1v-3c0-3.3-2.7-6-6-6H43c-3.3 0-6 2.7-6 6v3c0 .6.4 1 1 1zM74 36H26c-3.3 0-6 2.7-6 6v32c0 3.3 2.7 6 6 6h48c3.3 0 6-2.7 6-6V42c0-3.3-2.7-6-6-6zM37.9 47.1h24.3c.8 0 .9.7.7 1.1L50.6 59.6c-.3.3-.8.3-1.2 0L37.2 48.3c-.5-.6 0-1.2.7-1.2zM63 64c0 1.4-1.6 3-3 3H40c-1.4 0-3-1.6-3-3V53.1c0-.6.7-.9 1.1-.5l9.6 8.9c.6.6 1.5.9 2.3.9s1.7-.3 2.3-.9l9.5-8.9c.4-.4 1.1-.2 1.1.3.1.9.1 10.8.1 11.1z"}},case_log_a_call:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M38 30h4c.6 0 1-.4 1-1v-3h14v3c0 .6.4 1 1 1h4c.6 0 1-.4 1-1v-3c0-3.3-2.7-6-6-6H43c-3.3 0-6 2.7-6 6v3c0 .6.4 1 1 1zM74 36H26c-3.3 0-6 2.7-6 6v32c0 3.3 2.7 6 6 6h48c3.3 0 6-2.7 6-6V42c0-3.3-2.7-6-6-6zM62.3 66.1l-2.2 2.2c-.5.5-1.1.7-1.8.7-5.1-.3-9.9-2.6-13.3-6-3.4-3.4-5.7-8.2-6-13.3 0-.7.2-1.3.7-1.8l2.2-2.2c1-1 2.7-.9 3.6.2l2 2.5c.7.8.7 2 .1 2.9l-1.7 2.4c-.2.3-.2.8.1 1l3.5 3.9 3.9 3.5c.3.3.7.3 1 .1l2.4-1.7c.9-.6 2.1-.6 2.9.1l2.5 2c1 .8 1.1 2.5.1 3.5z"}},case_milestone:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M73 36H25.1c-3.3 0-6 2.7-6 6v32c0 3.3 2.7 6 6 6H73c3.3 0 6-2.7 6-6V42c0-3.3-2.7-6-6-6zM40.9 48.6v22c0 1-.7 1.9-1.7 1.9h-.1c-1 0-1.8-.9-1.8-1.9v-22c-.6-.6-.9-1.4-.9-2.2-.1-1.5 1-2.8 2.5-2.9s2.8 1 2.9 2.5v.5c0 .7-.3 1.5-.9 2.1zm21.5 13.8c0 .3-.2.6-.4.8-6.9 4.1-10.8-2.4-17.2-.3-.5.1-1-.1-1.2-.6V49.5c0-.4.2-.8.6-.9 6.6-2.6 10.5 4.2 17.5.2.2-.1.5-.1.6.1.1.1.1.2.1.3v13.2zM37.1 30h4c.5 0 1-.4 1-.9V26h14v3c0 .5.4 1 .9 1h4.1c.5 0 1-.4 1-.9V26c0-3.3-2.7-6-6-6h-14c-3.3 0-6 2.7-6 6v3c0 .5.4 1 .9 1h.1z"}},case_transcript:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M38 30h4c.6 0 1-.4 1-1v-3h14v3c0 .6.4 1 1 1h4c.6 0 1-.4 1-1v-3c0-3.3-2.7-6-6-6H43c-3.3 0-6 2.7-6 6v3c0 .6.4 1 1 1zM74 36H26c-3.3 0-6 2.7-6 6v32c0 3.3 2.7 6 6 6h48c3.3 0 6-2.7 6-6V42c0-3.3-2.7-6-6-6zM61 67c0 1.7-1.3 3-3 3H44c-1.7 0-3-1.3-3-3V48c0-1.7 1.3-3 3-3h7c.6 0 1 .4 1 1v6c0 1.1.9 2 2 2h6c.6 0 1 .4 1 1v12zm0-15.7c0 .4-.3.7-.7.7H56c-1.1 0-2-.9-2-2v-4.3c0-.4.3-.7.7-.7.2 0 .4.1.5.2l5.6 5.6c.1.1.2.3.2.5z"}},case_wrap_up:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M37.2 30.1h4a.94.94 0 001-1v-3H58v3a.94.94 0 001 1h4a.94.94 0 001-1v-3a6 6 0 00-6-6H42.2a6 6 0 00-6 6v3a.94.94 0 001 1zM74 36.1H26.2a6 6 0 00-6 6v31.8a6 6 0 006 6H74a6 6 0 006-6V42.1a6.15 6.15 0 00-6-6zm-8.7 16.1L47.9 69.6a3.38 3.38 0 01-4.8 0l-8.4-8.4a1.63 1.63 0 010-2.4l2.4-2.4a1.63 1.63 0 012.4 0l6 6 15-15a1.63 1.63 0 012.4 0l2.4 2.4a1.82 1.82 0 010 2.4z"}},catalog:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M61.8 29.4l8.9 8.9c2 1.9 2 5.1 0 7L47.5 68.4V36.6l7.2-7.2c1.9-2 5.2-2 7.1 0zM80 62.5V75c0 2.8-2.2 5-5 5H43.8l22.5-22.5H75c2.8 0 5 2.3 5 5zm-60 6.3V25c0-2.8 2.2-5 5-5h12.5c2.8 0 5 2.2 5 5v43.8c0 6.2-5 11.2-11.2 11.2S20 75 20 68.8zm11.2 5c2.8 0 5-2.2 5-5s-2.2-5-5-5-5 2.2-5 5 2.3 5 5 5z"}},category:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M61.8 29.4l8.9 8.9c2 1.9 2 5.1 0 7L47.5 68.4V36.6l7.2-7.3c1.9-1.9 5.2-1.9 7.1.1zM37.5 20H25c-2.8 0-5 2.2-5 5v43.8C20 75 25 80 31.2 80s11.2-5 11.2-11.2V25c.1-2.8-2.2-5-4.9-5zm-6.3 53.8c-2.8 0-5-2.2-5-5s2.2-5 5-5 5 2.2 5 5-2.2 5-5 5zM75 57.5h-8.8l-6 6H74L73.9 74H49.8l-6 6H75c2.8 0 5-2.2 5-5V62.5c0-2.7-2.2-5-5-5z"}},channel_program_history:{xmlns:"http://www.w3.org/2000/svg",path:[{d:"M30.7 48.1c1-10.9 10.2-19.4 21.2-19.4 12.6 0 22.6 10.9 21.2 23.7-1 9.2-9.7 17.9-19 18.8-6.9.7-13.4-1.8-17.9-6.8-.6-.7-1.4-1.1-2.1-.1l-2.3 2.8c-.5.6-.1 1 .4 1.5 5.2 5.5 12.4 8.6 20.2 8.5 14-.2 25.7-11.2 26.6-25.2 1.2-15.8-11.4-29-27-29-14.3 0-26.1 11.1-27 25.2 0 .3-.1.7-.1 1h-4.4c-1.3 0-1.9 1.5-1.2 2.3l7.3 8.8c.6.7 1.6.7 2.2 0l7.3-8.8c.8-1 .1-2.3-1.2-2.3h-4.3l.1-1z"},{d:"M52.1 38.1c-6.5 0-11.9 5.4-11.9 11.9s5.4 11.9 11.9 11.9S64 56.5 64 50s-5.3-11.9-11.9-11.9zm9.5 10.7h-3.1c-.1-2.8-.8-5.3-1.7-7.1 2.6 1.4 4.4 4.1 4.8 7.1zM51 41v7.8h-2.7c.1-3.7 1.3-6.6 2.7-7.8zm0 10.2V59c-1.3-1.1-2.5-4.1-2.7-7.8H51zm2.3 7.8v-7.8H56c-.1 3.7-1.3 6.6-2.7 7.8zm0-10.2V41c1.3 1.1 2.5 4.1 2.7 7.8h-2.7zm-5.7-7.1c-1 1.9-1.5 4.3-1.7 7.1h-3.1c.3-3 2.1-5.7 4.8-7.1zm-4.9 9.5h3.1c.1 2.8.8 5.3 1.7 7.1-2.6-1.4-4.4-4.1-4.8-7.1zm14 7.1c1-1.9 1.5-4.3 1.7-7.1h3.1c-.3 3-2.1 5.7-4.8 7.1z"}]},channel_program_levels:{xmlns:"http://www.w3.org/2000/svg",g:{path:{d:"M77.9 47.2l-3.7-1.7c-.5-.3-1.2-.3-1.7 0l-11 5.3c1.8-.6 3.7-.9 5.6-.9 3.1 0 6 .8 8.6 2.2l2.1-1c1.7-.9 1.7-3.1.1-3.9zM20.2 36.9L47 49.6c1.2.6 2.7.6 3.9 0l26.9-12.7c1.6-.8 1.6-2.9 0-3.7L50.9 20.5c-1.2-.6-2.7-.6-3.9 0L20.2 33.3c-1.7.7-1.7 2.9 0 3.6zM20.2 50.9L47 63.7c.7.4 1.5.5 2.3.4 1-4.8 3.9-8.8 7.9-11.4l-6.2 3c-1.2.6-2.7.6-3.9 0L25.6 45.5c-.5-.3-1.2-.3-1.7 0l-3.7 1.7c-1.7.8-1.7 2.9 0 3.7zM49 70.2c-.7 0-1.3-.2-1.9-.4L25.5 59.5c-.5-.3-1.2-.3-1.7 0l-3.6 1.7c-1.6.8-1.6 2.9 0 3.7L47 77.7c1.2.6 2.7.6 3.9 0l.6-.3c-1.3-2.2-2.2-4.6-2.5-7.2z"}},path:{d:"M67.2 56.2c-6.5 0-11.9 5.3-11.9 11.9S60.6 80 67.2 80s11.9-5.3 11.9-11.9-5.4-11.9-11.9-11.9zm9.4 10.7h-3.1c-.1-2.8-.8-5.3-1.7-7.1 2.6 1.5 4.4 4.1 4.8 7.1zM66 59.1v7.8h-2.7c.2-3.7 1.3-6.6 2.7-7.8zm0 10.2v7.8c-1.3-1.1-2.5-4.1-2.7-7.8H66zm2.4 7.8v-7.8h2.7c-.2 3.7-1.4 6.7-2.7 7.8zm0-10.2v-7.8c1.3 1.1 2.5 4.1 2.7 7.8h-2.7zm-5.8-7.1c-1 1.9-1.5 4.3-1.7 7.1h-3.1c.3-3 2.2-5.6 4.8-7.1zm-4.8 9.5h3.1c.1 2.8.8 5.3 1.7 7.1-2.6-1.4-4.5-4-4.8-7.1zm14 7.1c1-1.9 1.5-4.3 1.7-7.1h3.1c-.4 3.1-2.2 5.7-4.8 7.1z"}},channel_program_members:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M48.7 68.1c0-5.9 2.8-11.2 7.2-14.5-1.3-.6-2.6-1.2-4-1.8-4.3-1.8-4.9-3.4-4.9-5.2 0-1.8 1.2-3.4 2.6-4.7 2.5-2.3 3.9-5.4 3.9-9.1 0-6.9-4.3-12.8-11.9-12.8-7.6 0-11.9 5.9-11.9 12.8 0 3.7 1.4 6.9 3.9 9.1 1.4 1.3 2.6 3 2.6 4.7 0 1.7-.7 3.4-4.9 5.2-6.2 2.6-12.1 5.6-12.2 11.2 0 3.7 2.8 7 6.3 7h22.7c.3 0 .5-.1.7-.1 0-.6-.1-1.2-.1-1.8zM67 56.3c-6.5 0-11.9 5.3-11.9 11.9S60.5 80.1 67 80.1s11.9-5.3 11.9-11.9S73.6 56.3 67 56.3zM76.5 67h-3.1c-.1-2.8-.8-5.3-1.7-7.1 2.5 1.4 4.4 4.1 4.8 7.1zm-10.6-7.8V67h-2.7c.1-3.7 1.3-6.6 2.7-7.8zm0 10.2v7.8c-1.3-1.1-2.5-4.1-2.7-7.8h2.7zm2.3 7.8v-7.8H71c-.2 3.7-1.4 6.6-2.8 7.8zm0-10.2v-7.8c1.3 1.1 2.5 4.1 2.7 7.8h-2.7zm-5.8-7.1c-1 1.9-1.5 4.3-1.7 7.1h-3.1c.4-3 2.2-5.7 4.8-7.1zm-4.8 9.5h3.1c.1 2.8.8 5.3 1.7 7.1-2.6-1.5-4.4-4.1-4.8-7.1zm14 7.1c1-1.9 1.5-4.3 1.7-7.1h3.1c-.3 3-2.2 5.6-4.8 7.1z"}},channel_programs:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M49 20c-16.5 0-30 13.5-30 30s13.5 30 30 30 30-13.5 30-30-13.5-30-30-30zm23.8 27h-7.9c-.3-7.1-1.9-13.3-4.3-18 6.6 3.7 11.2 10.3 12.2 18zM46 27.3V47h-6.9c.5-9.4 3.5-16.8 6.9-19.7zM46 53v19.7c-3.4-2.9-6.4-10.3-6.9-19.7H46zm6 19.7V53h6.9c-.5 9.4-3.5 16.8-6.9 19.7zM52 47V27.3c3.4 2.9 6.4 10.3 6.9 19.7H52zM37.4 29c-2.4 4.7-3.9 10.9-4.3 18h-7.9c1-7.7 5.6-14.3 12.2-18zM25.2 53h7.9c.3 7.1 1.9 13.3 4.3 18-6.6-3.7-11.2-10.3-12.2-18zm35.4 18c2.4-4.7 3.9-10.9 4.3-18h7.9c-1 7.7-5.6 14.3-12.2 18z"}},chart:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M36.2 56.4c1.4 3.1 3.9 5.5 7 7 .9.4 1.3 1.3 1.3 2.2v11.5c0 1.6-1.5 2.8-3.1 2.4C31 76.7 22.8 68.5 20 58.1c-.4-1.5.8-3.1 2.4-3.1H34c.9 0 1.8.5 2.2 1.4zM41.5 19.7c1.5-.4 3.1.8 3.1 2.4v11.5c0 .9-.5 1.8-1.3 2.2-3.1 1.4-5.5 3.9-7 7-.4.9-1.3 1.3-2.2 1.3H22.4c-1.6 0-2.8-1.5-2.4-3.1 2.9-10.3 11.1-18.5 21.5-21.3zM80 49.6c0 14.3-9.1 26.4-21.6 29.9-1.5.4-3-.8-3-2.4V65.4c0-1 .5-1.9 1.3-2.4 4.7-2.4 8-7.5 8-13.4s-3.3-11.1-8-13.4c-.8-.4-1.3-1.4-1.3-2.4V22.1c0-1.6 1.5-2.8 3-2.4C70.9 23.2 80 35.3 80 49.6z"}},checkout:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M65.84 51.69a14.16 14.16 0 11-14.15 14.15 14.2 14.2 0 0114.15-14.15zM43 64.54a5 5 0 11-5 5 5 5 0 015-5zm28-4.46l-7.58 8.49L60 65.14a1 1 0 00-1.42 0l-1.41 1.31a.86.86 0 000 1.32L62 72.52a2 2 0 001.42.6 1.84 1.84 0 001.41-.6l9-9.81a1 1 0 000-1.31l-1.41-1.32a1 1 0 00-1.42 0zM27.75 20a3 3 0 012.8 2.12l.78 2.7h44.13a1.87 1.87 0 011.84 2.41l-5.23 18.3a1.81 1.81 0 01-.65 1 19.75 19.75 0 00-5.58-.8A20 20 0 0059 47H41.68a2.75 2.75 0 00-2.61 3.66v.1a2.82 2.82 0 002.71 2h8.87a20.26 20.26 0 00-3.5 5.78h-9.63a2.9 2.9 0 01-2.8-2.12l-9.1-30.64h-2.71A3 3 0 0120 22.7a3.06 3.06 0 013.1-2.7h4.65z"}},choice:{xmlns:"http://www.w3.org/2000/svg",g:{circle:{cx:"50",cy:"50",r:"13.9"},path:{d:"M50 20c-16.5 0-30 13.5-30 30s13.5 30 30 30 30-13.5 30-30-13.5-30-30-30zm0 52c-12.1 0-22-9.9-22-22s9.9-22 22-22 22 9.9 22 22-9.9 22-22 22z"}}},client:{xmlns:"http://www.w3.org/2000/svg",g:{path:[{d:"M44.8 58.3c3.7-2.1 7.2-3.1 11.1-3.1 1.1 0 2.2.1 3.2.2.5.1.6-.1.1-.4-1.9-1.1-4-2.1-6.2-3-4.3-1.8-4.9-3.4-4.9-5.2 0-1.8 1.2-3.4 2.6-4.7 2.5-2.3 3.9-5.4 3.9-9.1 0-6.9-4.3-12.8-11.9-12.8-7.6 0-11.9 5.9-11.9 12.8 0 3.7 1.4 6.9 3.9 9.1 1.4 1.3 2.6 3 2.6 4.7 0 1.7-.7 3.4-4.9 5.2-6.2 2.6-12.1 5.6-12.2 11.2 0 3.7 2.8 7 6.3 7h14.2c1.1 0 2-.9 2-2v-6.5c.1-1.4.8-2.7 2.1-3.4z"},{d:"M77.3 64.2c-9.4 2.9-16.8-6-27.1-1.8-.8.3-1.2 1-1.2 1.9V75c0 1.4 1.2 2.3 2.5 1.9 10.2-3.1 17.6 5.8 27.2 1.8.7-.3 1.3-1 1.3-1.9V66.1c0-1.3-1.4-2.3-2.7-1.9zm-12.5 10c-2.2 0-4-1.8-4-4s1.8-4 4-4 4 1.8 4 4-1.8 4-4 4z"}]}},cms:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M60.4 29.9c-2 0-3.8.2-5.5.8 2.1 1.7 3.9 3.8 5.4 6.1h.1c7 0 12.7 5.7 12.7 12.7s-5.7 12.7-12.7 12.7c-1.7 0-3.5-.3-5-1 .9-1.3 1.7-2.7 2.3-4 .2-.6.5-1 .6-1.6.6-1.8.9-3.9.9-6 0-10.8-8.8-19.6-19.6-19.6S20 38.7 20 49.5s8.8 19.6 19.6 19.6c2 0 3.8-.2 5.5-.8-2.1-1.7-3.9-3.8-5.4-6.1h-.1c-7 0-12.7-5.7-12.7-12.7s5.7-12.7 12.7-12.7c1.7 0 3.5.3 5.1 1-2.4 3.2-3.9 7.3-3.9 11.7 0 10.8 8.8 19.6 19.6 19.6S80 60.3 80 49.5s-8.8-19.6-19.6-19.6z"}},coaching:{xmlns:"http://www.w3.org/2000/svg",path:[{d:"M47 53c-1.3 0-2.6.5-3.5 1.5-1.9 1.9-1.9 5.1 0 7.1.9.9 2.2 1.5 3.5 1.5 1.3 0 2.6-.5 3.5-1.5 1.9-1.9 1.9-5.1 0-7.1-.9-1-2.2-1.5-3.5-1.5z"},{d:"M79.6 30.6l-6.8-9.8c-.6-.9-1.8-1.1-2.7-.6L36.7 40.9c-3.2 1.9-6 4.7-7.8 8.9-1.8 4.3-2.2 8.9-1.1 13.2-4.3.4-7.8 4-7.8 8.5 0 4.7 3.8 8.5 8.5 8.5 3.5 0 6.5-2.1 7.8-5.1 7.7 4.9 18.1 4 24.9-2.8 6.1-6.1 7.4-15.2 4-22.7-1.2-2.6-.5-5.8 1.9-7.5l12.1-8.6c.8-.5 1-1.8.4-2.7zM28.5 74c-1.4 0-2.5-1.1-2.5-2.5s1.1-2.5 2.5-2.5 2.5 1.1 2.5 2.5-1.1 2.5-2.5 2.5zm26.3-8.2C52.7 67.9 49.9 69 47 69c-2.9 0-5.7-1.1-7.8-3.2-4.3-4.3-4.3-11.3 0-15.6C41.3 48.1 44 47 47 47c2.9 0 5.7 1.1 7.8 3.2 4.3 4.3 4.3 11.3 0 15.6z"}]},code_playground:{xmlns:"http://www.w3.org/2000/svg",path:[{d:"M73.8 20H26.2c-3.4 0-6.2 2.8-6.2 6.2v47.6c0 3.4 2.8 6.2 6.2 6.2h47.6c3.4 0 6.2-2.8 6.2-6.2V26.2c0-3.4-2.8-6.2-6.2-6.2zm-45.5 6.2h43.4c1.1 0 2.1.9 2.1 2.1v3.9H26.2v-3.9c0-1.2.9-2.1 2.1-2.1zm43.4 47.6H28.3c-1.1 0-2.1-.9-2.1-2.1V38.2h47.6v33.5c0 1.2-.9 2.1-2.1 2.1z"},{d:"M46.7 63.3l-6.6-6.6 6.6-6.6c.4-.4.4-1 0-1.4l-2.8-2.8c-.4-.4-1-.4-1.4 0l-7.3 7.3-1.5 1.5-1.3 1.3c-.2.2-.3.5-.3.7 0 .3.1.5.3.7l10.2 10.2c.4.4 1 .4 1.4 0l2.8-2.8c.3-.5.3-1.1-.1-1.5zM67.7 55.9l-1.3-1.3-1.5-1.5-7.3-7.3c-.4-.4-1-.4-1.4 0l-2.8 2.8c-.4.4-.4 1 0 1.4l6.6 6.6-6.6 6.6c-.4.4-.4 1 0 1.4l2.8 2.8c.4.4 1 .4 1.4 0l10.2-10.2c.2-.2.3-.5.3-.7-.1-.1-.2-.4-.4-.6z"}]},collection:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M33.74 20.26h17.43v29.4l.39.57.71-.13 7.06-6.43.49-.15.51.14L67 50l.75.13.36-.57V20.08h4.08s2.58.24 3.74 1.39a6.53 6.53 0 012 3.43v49.31c0 1.85-.17 2.85-1.1 3.94A5.69 5.69 0 0172.21 80h-38c-.31 0-1.9.34-4.22-1.93a6.65 6.65 0 01-1.85-4.44v-1.55h-2a3.93 3.93 0 01-4-4.17c.08-3.69 3.91-3.8 3.91-3.8h2.05v-10h-2a3.86 3.86 0 01-4-4 4 4 0 014-4.18h2v-9.74s-1.49.05-2 0a3.87 3.87 0 01-4-3.87 3.93 3.93 0 014-4.1h2v-2.38a6 6 0 011.48-3.65 6.46 6.46 0 014.16-1.93z"}},collection_variable:{xmlns:"http://www.w3.org/2000/svg",path:[{d:"M73.8 20H26.2c-3.4 0-6.2 2.8-6.2 6.2v47.6c0 3.4 2.8 6.2 6.2 6.2h47.6c3.4 0 6.2-2.8 6.2-6.2V26.2c0-3.4-2.8-6.2-6.2-6.2zm-3 49.3h-.1c0 .8-.8 1.4-1.6 1.4H30.4c-.8 0-1.4-.8-1.4-1.6V30.7c0-.8.8-1.4 1.6-1.4h38.8c.8 0 1.4.8 1.4 1.6v38.4z"},{d:"M58.8 45.6c1.3 0 3.9-1.1 3.9-4.5s-2.5-3.6-3.2-3.6c-1.5 0-3 1.1-4.3 3.4-1.3 2.3-2.8 4.9-2.8 4.9h-.1c-.3-1.6-.6-3-.7-3.6-.3-1.4-1.9-4.5-5.3-4.5s-6.5 2-6.5 2c-.6.4-1 1-1 1.8 0 1.1.9 2.1 2.1 2.1.3 0 .6-.1.9-.2 0 0 2.6-1.4 3.1 0 .2.4.3.9.5 1.4.7 2.2 1.3 4.9 1.8 7.3L45 55.3s-2.5-.9-3.8-.9-3.9 1.1-3.9 4.5 2.5 3.6 3.2 3.6c1.5 0 3-1.1 4.3-3.4 1.3-2.3 2.8-4.9 2.8-4.9.4 2.1.8 3.8 1 4.5.9 2.4 2.8 3.9 5.4 3.9 0 0 2.7 0 5.8-1.8.8-.3 1.3-1.1 1.3-1.9 0-1.1-.9-2.1-2.1-2.1-.3 0-.6.1-.9.2 0 0-2.3 1.3-3 .3-.6-1-1-2.4-1.4-4.2-.3-1.5-.7-3.3-1.1-5.1l2.3-3.3c.1 0 2.6.9 3.9.9z"}]},connected_apps:{xmlns:"http://www.w3.org/2000/svg",path:[{d:"M73 21H27c-3.3 0-6 2.7-6 6v46c0 3.3 2.7 6 6 6h46c3.3 0 6-2.7 6-6V27c0-3.3-2.7-6-6-6zm-2 52H29c-1.1 0-2-.9-2-2V29c0-1.1.9-2 2-2h42c1.1 0 2 .9 2 2v42c0 1.1-.9 2-2 2z"},{d:"M58.5 47H52l5.7-9.4c.6-1-.1-2.6-1.3-2.6h-8.3c-1.2 0-2.3.8-2.8 1.9l-5.2 13.8c-.4 1 .3 2.3 1.4 2.3h6.6l-3.2 10.9c-.3 1 1 1.6 1.7.8l13.1-15.4c.8-1 .1-2.3-1.2-2.3z"}]},constant:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M79.4 26.7c-.3-.3-.8-.5-1.2-.5-4.8-.2-9.9.2-14.7.2l-17.2.1c-5.3 0-9.4 1.1-13.4 4.7-2.6 2.4-5 5.7-6.9 8.5-.2.3-.3.7-.3 1.1 0 1.1.9 1.9 1.9 1.9 1.1 0 1.4-.7 1.9-1.5s1.2-1.6 1.9-2.3c2.6-2.5 6.3-3.8 9.9-3.5-3 8.4-7.3 18.1-13.4 24.7-2.5 2.8-6.8 5.7-7.8 9.5-1 3.9 3 5 6.1 3.8 3.9-1.5 6.2-5.5 8.2-8.9 2.4-4.3 4.5-8.6 6.4-13.2 1.9-4.4 3.8-8.9 5.6-13.3 1.1-2.6 1.5-2.7 4.2-2.7h7.5c-2.8 6.1-5.5 12.3-8 18.6-1.9 4.8-5.3 11.7-2.9 16.9 2.4 5.1 9.2 3.2 12.9.6 3.8-2.6 6.2-6.9 8.3-10.9.4-.7.8-1.6.5-2.4-.3-.7-1-1.2-1.8-1.2-1.7 0-2.1 2.1-2.6 3.4-1 2.1-3.4 4.1-5.8 3.7-5.7-.8-.6-10.9.4-13.6 1-2.8 2.2-5.6 3.4-8.3.7-1.6 1.3-3.2 2.1-4.7 1-2 1-1.9 3.3-2 2-.1 7.5.9 9.2-.2 1.3-.9 2.2-4.2 2.8-6.6.2-.8 0-1.5-.5-1.9z"}},contact:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M74 29H26c-3.3 0-6 2.7-6 6v29c0 3.3 2.7 6 6 6h48c3.3 0 6-2.7 6-6V35c0-3.3-2.7-6-6-6zM48.6 63H31.4c-1.9 0-3.4-2.1-3.4-4.1.1-3 3.2-4.8 6.5-6.3 2.3-1 2.6-1.9 2.6-2.9s-.6-1.9-1.4-2.6c-1.3-1.2-2.1-3-2.1-5 0-3.8 2.3-7 6.3-7s6.3 3.2 6.3 7c0 2-.7 3.8-2.1 5-.8.7-1.4 1.6-1.4 2.6s.3 1.9 2.6 2.8c3.3 1.4 6.4 3.4 6.5 6.4.2 2-1.3 4.1-3.2 4.1zM72 56c0 1.1-.9 2-2 2h-9c-1.1 0-2-.9-2-2v-3c0-1.1.9-2 2-2h9c1.1 0 2 .9 2 2v3zm0-11c0 1.1-.9 2-2 2H55c-1.1 0-2-.9-2-2v-3c0-1.1.9-2 2-2h15c1.1 0 2 .9 2 2v3z"}},contact_list:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M26.3 22.7c-4.5 0-8.2 3.5-8.2 7.8v44.3c0 4.3 3.7 7.8 8.2 7.8h43.6c4.5 0 8.2-3.5 8.2-7.8V30.5c0-4.3-3.7-7.8-8.2-7.8H26.3zm10.9 18.2c0 1.4-1.2 2.6-2.7 2.6h-2.7c-1.5 0-2.7-1.2-2.7-2.6v-2.6c0-1.4 1.2-2.6 2.7-2.6h2.7c1.5 0 2.7 1.2 2.7 2.6v2.6zm30 0c0 1.4-1.2 2.6-2.7 2.6H45.4c-1.5 0-2.7-1.2-2.7-2.6v-2.6c0-1.4 1.2-2.6 2.7-2.6h19.1c1.5 0 2.7 1.2 2.7 2.6v2.6zM37.2 54c0 1.4-1.2 2.6-2.7 2.6h-2.7c-1.5 0-2.7-1.2-2.7-2.6v-2.6c0-1.4 1.2-2.6 2.7-2.6h2.7c1.5 0 2.7 1.2 2.7 2.6V54zm25 0c0 1.4-1.2 2.6-2.7 2.6H45.4c-1.5 0-2.7-1.2-2.7-2.6v-2.6c0-1.4 1.2-2.6 2.7-2.6h14.1c1.5 0 2.7 1.2 2.7 2.6V54zm-25 13c0 1.4-1.2 2.6-2.7 2.6h-2.7c-1.5 0-2.7-1.2-2.7-2.6v-2.6c0-1.4 1.2-2.6 2.7-2.6h2.7c1.5 0 2.7 1.2 2.7 2.6V67zm30 0c0 1.4-1.2 2.6-2.7 2.6H45.4c-1.5 0-2.7-1.2-2.7-2.6v-2.6c0-1.4 1.2-2.6 2.7-2.6h19.1c1.5 0 2.7 1.2 2.7 2.6V67z"}},contact_request:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M48.7 50.9c-.7.2-1.1 1.1-.5 1.7l5.5 5.6c.6.6.6 1.5 0 2.1l-2.1 2.1c-.6.6-1.5.6-2.1 0L36 48.9c-.6-.6-.6-1.5 0-2.1l13.5-13.5c.6-.6 1.5-.6 2.1 0l2.1 2.2c.6.6.6 1.5 0 2.1l-5.6 5.6c-.6.6.5 1.7.5 1.7 12.8.4 22.7 8.8 25.8 20.3 3.3-4.4 5.3-9.8 5.3-15.6-.1-15.5-13.5-27.7-30.1-27.7-16.7 0-30 12.3-30 27.4 0 4.8 1.4 9.3 3.6 13.3.4.6.5 1.4.3 2.1l-3.9 10.7c-.4 1 .6 1.9 1.6 1.6L32 72.9c.6-.3 1.4-.1 2.1.3 4.5 2.5 9.9 4 15.7 4 7.5-.1 14.3-2.7 19.5-6.9-1.2-10.7-9.9-19-20.6-19.4z"}},contract:{xmlns:"http://www.w3.org/2000/svg",path:[{d:"M74.6 33.6L61.4 20.4c-.3-.3-.6-.4-1-.4-.8 0-1.4.6-1.4 1.4V32c0 2.2 1.8 4 4 4h10.6c.8 0 1.4-.6 1.4-1.4 0-.4-.1-.7-.4-1z"},{d:"M73 42H59c-3.3 0-6-2.7-6-6V22c0-1.1-.9-2-2-2H31c-3.3 0-6 2.7-6 6v48c0 3.3 2.7 6 6 6h38c3.3 0 6-2.7 6-6V44c0-1.1-.9-2-2-2zm-41-9.4l4.9-.7c.1 0 .3-.1.3-.2l2.2-4.5c.2-.3.6-.3.8 0l2.2 4.5c.1.1.2.2.3.2l4.9.7c.3.1.5.5.2.7l-3.6 3.5c-.1.1-.1.2-.1.4l.8 4.9c.1.3-.3.6-.6.4l-4.4-2.3c-.1-.1-.3-.1-.4 0l-4.4 2.3c-.3.2-.7-.1-.6-.4l.8-4.9c0-.1 0-.3-.1-.4l-3.6-3.5c-.1-.2.1-.6.4-.7zM63 66c0 1.1-.9 2-2 2H35c-1.1 0-2-.9-2-2v-2c0-1.1.9-2 2-2h26c1.1 0 2 .9 2 2v2zm4-12c0 1.1-.9 2-2 2H35c-1.1 0-2-.9-2-2v-2c0-1.1.9-2 2-2h30c1.1 0 2 .9 2 2v2z"}]},contract_line_item:{xmlns:"http://www.w3.org/2000/svg",g:{path:[{d:"M63 36h10.6c.8 0 1.4-.6 1.4-1.4 0-.4-.1-.7-.4-1L61.4 20.4c-.3-.3-.6-.4-1-.4-.8 0-1.4.6-1.4 1.4V32c0 2.2 1.8 4 4 4z"},{d:"M73 42H59c-3.3 0-6-2.7-6-6V22c0-1.1-.9-2-2-2H31c-3.3 0-6 2.7-6 6v48c0 3.3 2.7 6 6 6h38c3.3 0 6-2.7 6-6V44c0-1.1-.9-2-2-2zM34.6 68.1c-1.7 0-3.1-1.4-3.1-3.1 0-1.7 1.4-3.1 3.1-3.1 1.7 0 3.1 1.4 3.1 3.1 0 1.7-1.4 3.1-3.1 3.1zm0-12c-1.7 0-3.1-1.4-3.1-3.1 0-1.7 1.4-3.1 3.1-3.1 1.7 0 3.1 1.4 3.1 3.1 0 1.8-1.4 3.1-3.1 3.1zm4.9-15.9l-4.4 2.3c-.3.2-.7-.1-.6-.4l.8-4.9c0-.1 0-.3-.1-.4l-3.6-3.5c-.1-.2.1-.6.4-.7l4.9-.7c.1 0 .3-.1.3-.2l2.2-4.5c.2-.3.6-.3.8 0l2.2 4.5c.1.1.2.2.3.2l4.9.7c.3.1.5.5.2.7l-3.6 3.5c-.1.1-.1.2-.1.4l.8 4.9c.1.3-.3.6-.6.4l-4.4-2.3c-.1-.1-.3-.1-.4 0zM67 66c0 1.1-.9 2-2 2H44.7c-1.1 0-2-.9-2-2v-2c0-1.1.9-2 2-2H65c1.1 0 2 .9 2 2v2zm0-12c0 1.1-.9 2-2 2H44.7c-1.1 0-2-.9-2-2v-2c0-1.1.9-2 2-2H65c1.1 0 2 .9 2 2v2z"}]}},currency:{xmlns:"http://www.w3.org/2000/svg",g:{path:{d:"M74.4 30.8H25.6c-3.1 0-5.6 2.5-5.6 5.6v27.2c0 3.1 2.5 5.6 5.6 5.6h48.8c3.1 0 5.6-2.5 5.6-5.6V36.4c0-3.1-2.5-5.6-5.6-5.6zM32.2 63.6c0-3.7-2.9-6.6-6.6-6.6V43c3.7 0 6.6-2.9 6.6-6.6h35.6c0 3.7 2.9 6.6 6.6 6.6v14c-3.7 0-6.6 2.9-6.6 6.6H32.2z"},circle:{cx:"50",cy:"49.5",r:"9.4"}}},currency_input:{xmlns:"http://www.w3.org/2000/svg",path:[{d:"M62.7 64.8c3.5-5.7 2.8-13.3-2.2-18.2-5.8-5.8-15.2-5.8-21 0-4.9 4.9-5.7 12.5-2.2 18.2h25.4z"},{d:"M80 26v48c0 3.3-2.7 6-6 6H26c-3.3 0-6-2.7-6-6V26c0-3.3 2.7-6 6-6h48c3.3 0 6 2.7 6 6zM30 71.9h40c1.1 0 2-.9 2-2V30c0-1.1-.9-2-2-2H30c-1.1 0-2 .9-2 2v39.9c0 1.1.9 2 2 2z"}]},custom:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M79.2 32.8c-.2-.7-1.101-.9-1.7-.4L67.4 42.5c-.801.8-2 .8-2.801 0l-7.1-7.1c-.8-.8-.8-2 0-2.8l10.2-10.2c.5-.5.3-1.4-.4-1.7C65.6 20.3 63.8 20 62 20c-10.6 0-19.1 9.2-17.9 20 .2 1.7.6 3.2 1.2 4.7L22 68.1c-2.7 2.7-2.7 7.2 0 9.9 1.4 1.4 3.2 2.1 5 2.1s3.6-.699 5-2.1l23.3-23.3c1.5.6 3.101 1 4.7 1.2 10.9 1.2 20-7.3 20-17.9 0-1.8-.3-3.6-.8-5.2z"}},custom_component_task:{xmlns:"http://www.w3.org/2000/svg",g:{path:[{d:"M49.91 50.6L45 45.69a1.36 1.36 0 00-2 0l-1.94 2a1.33 1.33 0 000 1.94L48 56.44a2.7 2.7 0 001.95.83 2.67 2.67 0 001.94-.83L66 42.27a1.34 1.34 0 000-2l-1.94-1.94a1.34 1.34 0 00-1.95 0z"},{d:"M71.81 54.15a23.31 23.31 0 000-8.6l4.6-3.9a4.28 4.28 0 001-5.3l-2-3.5a4.11 4.11 0 00-3.6-2 3.19 3.19 0 00-1.4.3l-5.8 2.1a22.35 22.35 0 00-7.4-4.3l-1-5.9a3.92 3.92 0 00-4.1-3.1h-4a3.85 3.85 0 00-4.1 3.1l-1 5.8a21.59 21.59 0 00-7.5 4.3l-5.9-2.1a7 7 0 00-1.4-.3 4.2 4.2 0 00-3.6 2l-2 3.5a4.16 4.16 0 001 5.3l4.6 3.9a20.87 20.87 0 00-.4 4.3 20.24 20.24 0 00.4 4.3L23.61 58a4.28 4.28 0 00-1 5.3l2 3.5a4.11 4.11 0 003.6 2 3.19 3.19 0 001.4-.3l5.8-2.1a22.35 22.35 0 007.4 4.3l1 6a4.1 4.1 0 004.1 3.4h4a4.18 4.18 0 004.1-3.5l1-6a22.06 22.06 0 007.8-4.6l5.4 2.1a8 8 0 001.5.3 4.2 4.2 0 003.6-2l1.9-3.3a3.67 3.67 0 00-.8-5zm-3.39-9.34l-4.55 4.56v.78a13.85 13.85 0 11-6.7-11.81l2.45-2.44a4.84 4.84 0 016.89 0l2 2a4.9 4.9 0 011.43 3.7 4.66 4.66 0 01-1.52 3.21z"}]}},custom_notification:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M53.77 21.87L50 40.11a1 1 0 001.12 1.12h19.52a2 2 0 011.62 2.87L51 79a1.85 1.85 0 01-3.5-.87l3.75-21.48c0-.75-.62-.5-1.37-.5H29.42c-1.37 0-2.37-2-1.62-3.25L50.28 21a1.86 1.86 0 013.49.87z"}},customer_360:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M78.8 50.8c.7-.7.7-1.6.4-2.4-.4-.9-1.2-1.4-2.2-1.4-.7 0-1.3.2-1.9.8l-.5.5c-.9-13.2-11.8-23.6-25.2-23.6-13.9 0-25.2 11.3-25.2 25.2s11.3 25.2 25.2 25.2c11.9 0 21.8-8.2 24.5-19.3l4.9-5zM49.4 70.1c-11.2 0-20.2-9.1-20.2-20.2s9.1-20.2 20.2-20.2c10.6 0 19.3 8.2 20.1 18.6l-.5-.5c-.3-.3-.6-.5-1-.6-1-.4-2-.1-2.7.7-.8 1-.8 2.4.1 3.3l3.6 3.6c-2.1 8.7-10.1 15.3-19.6 15.3z"},g:{path:{d:"M61.7 57.1v1.1c0 1.4-1.1 2.5-2.5 2.5H39.5c-1.4 0-2.5-1.1-2.5-2.5v-1.1c0-3 3.5-4.8 6.8-6.2.1 0 .2-.1.3-.2.2-.1.5-.1.8 0 1.3.9 2.8 1.4 4.4 1.4s3.1-.5 4.4-1.3c.2-.2.5-.2.8 0 .1 0 .2.1.3.2 3.4 1.3 6.9 3.1 6.9 6.1z"},ellipse:{cx:"49.4",cy:"42.8",rx:"6.1",ry:"6.8"}}},customer_lifecycle_analytics:{xmlns:"http://www.w3.org/2000/svg",path:[{d:"M57.4 38.4a18.1 18.1 0 11-18.1-18.2 18.12 18.12 0 0118.1 18.2zm-24.8-8.2c-1.3 0-2.3 1.3-2.3 3.1 0 1.6.9 3.1 2.3 3.1s2.3-1.3 2.3-3.1c-.2-1.7-1.1-3.1-2.3-3.1zm13.5 0c-1.3 0-2.3 1.3-2.3 3.1 0 1.6.9 3.1 2.3 3.1s2.3-1.3 2.3-3.1-.9-3.1-2.3-3.1zM28 40.7c.5 5.7 4.7 10.6 11.2 10.6a11.28 11.28 0 0011.5-10.6z"},{d:"M79.6 45.4a1.37 1.37 0 00-1.4-1.4l-14.6-.1a1.29 1.29 0 00-1.4 1.3v2.6a1.37 1.37 0 001.4 1.4l4.5.1a.89.89 0 01.6 1.5l-20 20.1a1 1 0 01-.9-.2L37.1 59.8a1.37 1.37 0 00-1.8-.1l-.1.1-1.9 1.9a.1.1 0 01-.1.1L20.6 74.4a1.39 1.39 0 000 1.9l1.9 1.9a1.39 1.39 0 001.9 0l10.4-10.3a1.87 1.87 0 012.6-.1l10.2 10.3a1.17 1.17 0 001.9 0l23.2-23.4a.88.88 0 011.5.6l.1 4.5a1.37 1.37 0 001.4 1.4h2.6a1.29 1.29 0 001.4-1.3z"}]},customer_portal_users:{xmlns:"http://www.w3.org/2000/svg",path:[{d:"M68 48.8c0 1.1-.9 2-2 2H47.4c-1.1 0-2-.9-2-2v-3c0-1.1.9-2 2-2H66c1.1 0 2 .9 2 2v3zM39.4 48.8c0 1.1-.9 2-2 2H34c-1.1 0-2-.9-2-2v-3c0-1.1.9-2 2-2h3.4c1.1 0 2 .9 2 2v3zM39.4 61.8c0 1.1-.9 2-2 2H34c-1.1 0-2-.9-2-2v-3c0-1.1.9-2 2-2h3.4c1.1 0 2 .9 2 2v3zM68 61.8c0 1.1-.9 2-2 2H47.4c-1.1 0-2-.9-2-2v-3c0-1.1.9-2 2-2H66c1.1 0 2 .9 2 2v3z"},{d:"M73.8 20H26.2c-3.4 0-6.2 2.8-6.2 6.2v47.6c0 3.4 2.8 6.2 6.2 6.2h47.6c3.4 0 6.2-2.8 6.2-6.2V26.2c0-3.4-2.8-6.2-6.2-6.2zm-26.4 7.4c0-.8.8-1.4 1.6-1.4h23.4c.8 0 1.4.8 1.4 1.6v3c0 .8-.8 1.4-1.6 1.4H48.8c-.8 0-1.4-.8-1.4-1.6v-3zm-8-1.4c1.7 0 3 1.3 3 3s-1.3 3-3 3-3-1.3-3-3 1.3-3 3-3zM29 26c1.7 0 3 1.3 3 3s-1.3 3-3 3-3-1.3-3-3 1.3-3 3-3zm45 46.6c0 .8-.8 1.4-1.6 1.4H68v-2.3c0-1.1-.9-2-2-2H47.4c-1.1 0-2 .9-2 2V74h-6v-2.3c0-1.1-.9-2-2-2H34c-1.1 0-2 .9-2 2V74h-4.6c-.8 0-1.4-.8-1.4-1.6v-33c0-.8.8-1.4 1.6-1.4h45c.8 0 1.4.8 1.4 1.6v33z"}]},customers:{xmlns:"http://www.w3.org/2000/svg",ellipse:{cx:"41.3",cy:"42.3",rx:"12.2",ry:"13.5"},path:{d:"M52.6 57.4c-3.1 2.8-7 4.5-11.3 4.5-4.3 0-8.3-1.7-11.3-4.6C24.5 59.8 19 63 19 68v2.1c0 2.5 2 4.5 4.5 4.5h35.7c2.5 0 4.5-2 4.5-4.5V68c-.1-5-5.5-8.1-11.1-10.6zM68 47.4c-.2-.1-.3-.2-.5-.3-.4-.2-.9-.2-1.3.1-2.1 1.3-4.6 2.1-7.2 2.1h-1c-.5 1.3-1 2.6-1.7 3.7.4.2.9.3 1.4.6 5.7 2.5 9.7 5.6 12.5 9.8H75c2.2 0 4-1.8 4-4v-1.9c0-4.9-5.7-7.9-11-10.1zM66.9 34.2c0-4.9-3.6-8.9-7.9-8.9-2.2 0-4.1 1-5.6 2.5 3.5 3.6 5.7 8.7 5.7 14.4v.8c4.3 0 7.8-3.9 7.8-8.8z"}},dashboard:{xmlns:"http://www.w3.org/2000/svg",path:[{d:"M50 20c-16.5 0-30 13.5-30 30s13.5 30 30 30 30-13.5 30-30-13.5-30-30-30zm0 8c12.1 0 22 9.9 22 22 0 1-.1 2-.2 3h-8.9c-1 0-1.8.7-2 1.7-.8 5.2-5.4 9.3-10.9 9.3s-10.1-4.1-10.9-9.3c-.1-1-1-1.7-2-1.7h-8.9c-.1-1-.2-2-.2-3 0-12.1 9.9-22 22-22z"},{d:"M47.7 57.4c2.4 1.3 5.5.3 6.8-2.1 1.9-3.5 5.5-18.9 4.6-19.3-.9-.5-11.6 11.1-13.4 14.7-1.4 2.4-.5 5.4 2 6.7z"}]},dashboard_ea:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M22.5 19.7h20c1.4 0 2.5 1.1 2.5 2.5v54.9c0 1.4-1.1 2.5-2.5 2.5h-20c-1.4 0-2.5-1.1-2.5-2.5V22.2c0-1.4 1.1-2.5 2.5-2.5zM57.5 19.6h20c1.4 0 2.5 1.1 2.5 2.5V42c0 1.4-1.1 2.5-2.5 2.5h-20c-1.4 0-2.5-1.1-2.5-2.5V22.1c0-1.4 1.1-2.5 2.5-2.5zM57.5 54.6h20c1.4 0 2.5 1.1 2.5 2.5V77c0 1.4-1.1 2.5-2.5 2.5h-20c-1.4 0-2.5-1.1-2.5-2.5V57.1c0-1.3 1.1-2.5 2.5-2.5z"}},data_integration_hub:{xmlns:"http://www.w3.org/2000/svg",g:{path:{d:"M73.9 27c-3.9 0-7.1 3.2-7.1 7.1 0 .6.1 1.1.2 1.6l-6.7 4.4c-2.1-2.4-5.1-4-8.6-4-2.6 0-5 .9-6.9 2.4l-11-7.6c.7-2.9-.8-6.1-3.6-7.4-3.3-1.5-7.2-.1-8.7 3.1s-.1 7.2 3.1 8.7c1.7.8 3.6.8 5.3.1l11.3 7.9c-.5 1.2-.8 2.6-.8 4 0 .8.1 1.5.2 2.3l-6.9 2.5c-.9-1-2.1-1.8-3.6-2.2-3.9-1.1-8 1.2-9.1 5.2-1.1 3.9 1.2 8 5.2 9.1 3.9 1.1 8-1.2 9.1-5.2.1-.4.2-.8.2-1.2l7.9-2.8c2.1 2.2 5 3.6 8.2 3.6h.9l1.1 5.6c-2.1 1.7-3.3 4.4-3 7.2.4 4.6 4.5 7.9 9.1 7.5 4.6-.4 7.9-4.5 7.5-9.1-.4-4.1-3.7-7.2-7.7-7.5l-1.2-5.9c2.8-2 4.7-5.4 4.7-9.1 0-.6-.1-1.2-.1-1.7l7.9-5.2c1 .5 2.1.8 3.2.8 3.9 0 7.1-3.2 7.1-7.1-.1-3.9-3.3-7.1-7.2-7.1zM51.7 54.6c-4 0-7.2-3.2-7.2-7.2s3.2-7.2 7.2-7.2 7.2 3.2 7.2 7.2c0 3.9-3.2 7.2-7.2 7.2z"},circle:{cx:"51.8",cy:"47.4",r:"3.2"}}},data_mapping:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M73.12 43.75a6.88 6.88 0 11-6.12 10h-1.14c-6.74.08-9.11 2.12-12.88 9.18l-.22.4-.25.48C50.27 68 49 69.94 46.69 72c-3.24 2.84-7.42 4.29-12.94 4.29H33A6.88 6.88 0 1133 70h1.14c6.86-.08 9.2-2.2 13.1-9.58l.25-.48a34.38 34.38 0 013.88-6.19H33a6.88 6.88 0 110-6.25h34a6.86 6.86 0 015.85-3.74zm0-23.75A6.88 6.88 0 1167 30H33a6.88 6.88 0 110-6.25h34A6.86 6.86 0 0173.12 20z"}},data_model:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M72.7 65.8a6.6 6.6 0 00-3.2.8l-8.8-6.5a11.36 11.36 0 001.2-5.2A11.91 11.91 0 0053 43.4v-10a7 7 0 004-6.2 6.9 6.9 0 10-13.8 0 6.73 6.73 0 004 6.2v10a11.91 11.91 0 00-8.9 11.5 11.36 11.36 0 001.2 5.2l-8.8 6.5a7.22 7.22 0 00-3.2-.8 6.9 6.9 0 106.9 6.9c0-.5-.1-.9-.1-1.3l9.2-6.8a11.61 11.61 0 0013.6 0l9.2 6.8a5.7 5.7 0 00-.1 1.3 6.9 6.9 0 0013.8 0 7.41 7.41 0 00-7.3-6.9zm-21.3-5.1a6.75 6.75 0 01-1.4.2 6.1 6.1 0 01-5.7-4.4 7.72 7.72 0 01-.2-1.5 5.81 5.81 0 013-5.1 6 6 0 016 0 5.81 5.81 0 013 5.1 7.72 7.72 0 01-.2 1.5 6.54 6.54 0 01-4.5 4.2z"}},data_streams:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M68.8 20.3a10.9 10.9 0 11-10.5 13.9h-.4a5 5 0 00-5 5v4.3l6.3 6.3a1.93 1.93 0 010 2.8L57.9 54a1.93 1.93 0 01-2.8 0L53 51.9v9a10.85 10.85 0 01-10.5 10.9h-.8a10.91 10.91 0 11-10.5-13.9 11 11 0 0110.5 7.9h.4a5 5 0 005-5v-8.7L45.3 54a1.93 1.93 0 01-2.8 0l-1.4-1.4a1.93 1.93 0 010-2.8l5.9-5.9v-4.7a10.85 10.85 0 0110.5-10.9h.8a10.83 10.83 0 0110.5-8zM31.2 63.9a5 5 0 00-5 5 5 5 0 0010 0 5 5 0 00-5-5zm37.6-37.7a5 5 0 00-5 5 5 5 0 1010 0 5 5 0 00-5-5z"}},datadotcom:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M71.1 80h-6.8c-.4-2.4-.6-4.6-.6-6.5h-.1c-3.2 5.1-8.4 7.7-15.6 7.7-6.1 0-10.9-2-14.2-6.3-3.3-4.2-4.9-9.7-4.9-16.3 0-4.3.8-8.2 2.4-11.6s4-6.3 7-8.2c3.1-2 6.6-3.1 10.7-3.1 5.9 0 10.6 1.9 14.2 5.6V20h7.2v50.6c0 3 .3 6.2.7 9.4zm-7.9-18.5V47.8c-1.7-2.2-3.6-3.7-5.7-4.9-2.2-1-4.6-1.5-7.4-1.5-4.2 0-7.5 1.5-10 4.7s-3.6 7.3-3.6 12.3c0 5.2 1.1 9.3 3.4 12.4s5.6 4.6 9.7 4.6 7.4-1.3 9.8-4c2.6-2.5 3.8-5.8 3.8-9.9z"}},dataset:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M52 20.6l23.4 11.5c1.6.8 2.6 2.4 2.6 4.1V63c0 1.8-1 3.4-2.6 4.1L52 78.6c-1.3.6-2.8.6-4.1 0L24.6 67.1C23 66.3 22 64.7 22 63V36.2c0-1.8 1-3.4 2.6-4.1L48 20.6c1.2-.6 2.8-.6 4 0z"}},date_input:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M76 42H24c-1.1 0-2 .9-2 2v30c0 3.3 2.7 6 6 6h44c3.3 0 6-2.7 6-6V44c0-1.1-.9-2-2-2zM40 70c0 1.1-.9 2-2 2h-4c-1.1 0-2-.9-2-2v-4c0-1.1.9-2 2-2h4c1.1 0 2 .9 2 2v4zm14 0c0 1.1-.9 2-2 2h-4c-1.1 0-2-.9-2-2v-4c0-1.1.9-2 2-2h4c1.1 0 2 .9 2 2v4zm0-14c0 1.1-.9 2-2 2h-4c-1.1 0-2-.9-2-2v-4c0-1.1.9-2 2-2h4c1.1 0 2 .9 2 2v4zm14 0c0 1.1-.9 2-2 2h-4c-1.1 0-2-.9-2-2v-4c0-1.1.9-2 2-2h4c1.1 0 2 .9 2 2v4zm4-30h-5v-2c0-2.2-1.8-4-4-4s-4 1.8-4 4v2H41v-2c0-2.2-1.8-4-4-4s-4 1.8-4 4v2h-5c-3.3 0-6 2.7-6 6v2c0 1.1.9 2 2 2h52c1.1 0 2-.9 2-2v-2c0-3.3-2.7-6-6-6z"}},date_time:{xmlns:"http://www.w3.org/2000/svg",path:[{d:"M72 26h-5v-2c0-2.2-1.8-4-4-4s-4 1.8-4 4v2H41v-2c0-2.2-1.8-4-4-4s-4 1.8-4 4v2h-5c-3.3 0-6 2.7-6 6v2c0 1.1.9 2 2 2h52c1.1 0 2-.9 2-2v-2c0-3.3-2.7-6-6-6zM76 42H24c-1.1 0-2 .9-2 2v30c0 3.3 2.7 6 6 6h44c3.3 0 6-2.7 6-6V44c0-1.1-.9-2-2-2zM50 75.9c-8.2 0-14.9-6.7-14.9-14.9S41.8 46.1 50 46.1 64.9 52.8 64.9 61 58.2 75.9 50 75.9z"},{d:"M51.5 60.4V54c0-.5-.4-1-1-1h-1c-.5 0-1 .4-1 1v7c0 .4.1.8.4 1l4.8 4.8c.4.4 1 .4 1.4 0l.7-.7c.4-.4.4-1 0-1.4l-4.3-4.3z"}]},decision:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M79.4 28.8l-5.2-3.9c-.8-.5-1.5-.8-2.4-.8H54V22c0-1.1-.9-2-2-2h-4c-1.1 0-2 .9-2 2v2H26c-1.1 0-2 .9-2 2v8c0 1.1.9 2 2 2h45.8c.9 0 1.8-.2 2.4-.8l5.2-3.9c.8-.7.8-1.9 0-2.5zM74 46H54v-3c0-.6-.4-1-1-1h-6c-.6 0-1 .4-1 1v3H28.3c-.9 0-1.8.2-2.4.8l-5.2 3.9c-.9.6-.9 1.9 0 2.6l5.2 3.9c.8.5 1.5.8 2.4.8H74c1.1 0 2-.9 2-2v-8c0-1.1-.9-2-2-2zM54 71.6v-4.9c0-.6-.4-1-1-1h-6c-.6 0-1 .4-1 1v4.9c-4 1.1-6.2 3.5-6.9 6.5-.2.9.5 1.9 1.5 1.9h18.9c1 0 1.8-.9 1.5-1.9-.7-3-3-5.3-7-6.5z"}},default:{xmlns:"http://www.w3.org/2000/svg",path:{opacity:".5",d:"M44.6 32.8c2.1-2.1 4.9-3.4 8.1-3.4 4.2 0 7.9 2.3 9.9 5.7 1.7-.7 3.6-1.2 5.6-1.2C75.8 34 82 40.1 82 47.6c0 7.6-6.2 13.7-13.8 13.7-.9 0-1.8-.1-2.7-.3-1.7 3-5 5.1-8.8 5.1-1.6 0-3.1-.4-4.4-1-1.8 4-5.8 6.9-10.6 6.9-5 0-9.2-3.1-10.8-7.4-.7.1-1.4.2-2.2.2-5.9 0-10.7-4.7-10.7-10.6 0-3.9 2.1-7.4 5.3-9.2-.7-1.5-1-3.1-1-4.8 0-6.7 5.6-12.2 12.4-12.2 4.1 0 7.7 1.9 9.9 4.8"}},delegated_account:{xmlns:"http://www.w3.org/2000/svg",g:{path:[{d:"M76.8 42.4H54.3c-2 0-2.3 2.1-2.3 2.3v34.2h26.8V45.2c.2-2.2-1.4-2.8-2-2.8zM63.4 73c0 1.1-.9 2.1-2.1 2.1h-2.1c-1.1 0-2.1-.9-2.1-2.1v-2.1c0-1.1.9-2.1 2.1-2.1h2.1c1.1 0 2.1.9 2.1 2.1V73zm0-10.5c0 1.1-.9 2.1-2.1 2.1h-2.1c-1.1 0-2.1-.9-2.1-2.1v-2.1c0-1.1.9-2.1 2.1-2.1h2.1c1.1 0 2.1.9 2.1 2.1v2.1zm0-10.5c0 1.1-.9 2.1-2.1 2.1h-2.1c-1.1 0-2.1-.9-2.1-2.1v-2.1c0-1.1.9-2.1 2.1-2.1h2.1c1.1 0 2.1.9 2.1 2.1V52zm10.3 21c0 1.1-.9 2.1-2.1 2.1h-2.1c-1.1 0-2.1-.9-2.1-2.1v-2.1c0-1.1.9-2.1 2.1-2.1h2.1c1.1 0 2.1.9 2.1 2.1V73zm0-10.5c0 1.1-.9 2.1-2.1 2.1h-2.1c-1.1 0-2.1-.9-2.1-2.1v-2.1c0-1.1.9-2.1 2.1-2.1h2.1c1.1 0 2.1.9 2.1 2.1v2.1zm0-10.5c0 1.1-.9 2.1-2.1 2.1h-2.1c-1.1 0-2.1-.9-2.1-2.1v-2.1c0-1.1.9-2.1 2.1-2.1h2.1c1.1 0 2.1.9 2.1 2.1V52z"},{d:"M56 19.2H21.3c-2 0-2.3 2.1-2.3 2.3v57.3h26.8V38.6s0-2.5 2.3-2.5h8c.9-.1 2-.5 2-2.1V22c.1-2.2-1.4-2.8-2.1-2.8zM30.4 72.1c0 1.1-.9 2.1-2.1 2.1h-2.1c-1.1 0-2.1-.9-2.1-2.1V70c0-1.1.9-2.1 2.1-2.1h2.1c1.1 0 2.1.9 2.1 2.1v2.1zm0-10.6c0 1.1-.9 2.1-2.1 2.1h-2.1c-1.1 0-2.1-.9-2.1-2.1v-2.1c0-1.1.9-2.1 2.1-2.1h2.1c1.1 0 2.1.9 2.1 2.1v2.1zm0-10.6c0 1.1-.9 2.1-2.1 2.1h-2.1c-1.1 0-2.1-.9-2.1-2.1v-2.1c0-1.1.9-2.1 2.1-2.1h2.1c1.1 0 2.1.9 2.1 2.1v2.1zm0-10.6c0 1.1-.9 2.1-2.1 2.1h-2.1c-1.1 0-2.1-.9-2.1-2.1v-2.1c0-1.1.9-2.1 2.1-2.1h2.1c1.1 0 2.1.9 2.1 2.1v2.1zm0-10.5c0 1.1-.9 2.1-2.1 2.1h-2.1c-1.1 0-2.1-.9-2.1-2.1v-2.1c0-1.1.9-2.1 2.1-2.1h2.1c1.1 0 2.1.9 2.1 2.1v2.1zm11.3 42.3c0 1.1-.9 2.1-2.1 2.1h-2.1c-1.1 0-2.1-.9-2.1-2.1V70c0-1.1.9-2.1 2.1-2.1h2.1c1.1 0 2.1.9 2.1 2.1v2.1zm0-10.6c0 1.1-.9 2.1-2.1 2.1h-2.1c-1.1 0-2.1-.9-2.1-2.1v-2.1c0-1.1.9-2.1 2.1-2.1h2.1c1.1 0 2.1.9 2.1 2.1v2.1zm0-10.6c0 1.1-.9 2.1-2.1 2.1h-2.1c-1.1 0-2.1-.9-2.1-2.1v-2.1c0-1.1.9-2.1 2.1-2.1h2.1c1.1 0 2.1.9 2.1 2.1v2.1zm0-10.6c0 1.1-.9 2.1-2.1 2.1h-2.1c-1.1 0-2.1-.9-2.1-2.1v-2.1c0-1.1.9-2.1 2.1-2.1h2.1c1.1 0 2.1.9 2.1 2.1v2.1zm0-10.5c0 1.1-.9 2.1-2.1 2.1h-2.1c-1.1 0-2.1-.9-2.1-2.1v-2.1c0-1.1.9-2.1 2.1-2.1h2.1c1.1 0 2.1.9 2.1 2.1v2.1zm11.4 0c0 1.1-1 2.1-2.1 2.1h-2.1c-1.1 0-2.1-.9-2.1-2.1v-2.1c0-1.1.9-2.1 2.1-2.1H51c1.1 0 2.1.9 2.1 2.1v2.1zM79.5 30.5c-.6-.5-1.6-.4-2.1.2l-.8 1c-.7-6.1-5.2-8.6-8.6-9.4l.8-.5c.7-.4.9-1.4.5-2.1s-1.4-.9-2.1-.5l-4 2.6c-.4.2-.6.6-.7 1s0 .8.3 1.2l3.3 4.2c.3.4.7.6 1.2.6.3 0 .7-.1.9-.3.7-.5.8-1.5.3-2.1l-.8-1.1c2.1.5 5.4 2.2 5.9 6.8l-.7-.8c-.6-.6-1.5-.6-2.1 0s-.6 1.5 0 2.1l3.3 3.4c.3.3.7.4 1.1.4h.1c.4 0 .8-.2 1.1-.5l3.4-4.2c.4-.5.3-1.5-.3-2z"}]}},device:{xmlns:"http://www.w3.org/2000/svg",g:{path:[{d:"M56.59 37.92H53.3v-3.3a2.2 2.2 0 00-2.2-2.19h-2.2a2.2 2.2 0 00-2.2 2.19v3.3h-3.29a2.21 2.21 0 00-2.2 2.2v2.19a2.21 2.21 0 002.2 2.2h3.29v3.3A2.21 2.21 0 0048.9 50h2.2a2.21 2.21 0 002.2-2.2v-3.3h3.29a2.21 2.21 0 002.2-2.2v-2.18a2.21 2.21 0 00-2.2-2.2z"},{d:"M79.6 25.33a5 5 0 00-4.93-4.93H25.33a5 5 0 00-4.93 4.93V57.4a5 5 0 004.93 4.93h49.34a5 5 0 004.93-4.93zm-7.4 27.75a1.89 1.89 0 01-1.85 1.85h-40.7a1.89 1.89 0 01-1.85-1.85V29.65a1.89 1.89 0 011.85-1.85h40.7a1.89 1.89 0 011.85 1.85zM58.63 72.2h-3.7A1.16 1.16 0 0153.7 71v-2.5a1.16 1.16 0 00-1.23-1.23h-4.94a1.16 1.16 0 00-1.23 1.23V71a1.16 1.16 0 01-1.23 1.23h-3.7a5 5 0 00-4.94 4.93v.62a1.9 1.9 0 001.85 1.85h23.44a1.9 1.9 0 001.85-1.85v-.62a5 5 0 00-4.94-4.96z"}]}},display_rich_text:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M22 71.8h56c1.1 0 2 .9 2 2v4c0 1.1-.9 2-2 2H22c-1.1 0-2-.9-2-2v-4c0-1.1.9-2 2-2zM22 53.8h56c1.1 0 2 .9 2 2v4c0 1.1-.9 2-2 2H22c-1.1 0-2-.9-2-2v-4c0-1.1.9-2 2-2zM57.6 35.8H78c1.1 0 2 .9 2 2v4c0 1.1-.9 2-2 2H57.6c-1.1 0-2-.9-2-2v-4c0-1.1.9-2 2-2zM47.6 44.4L38.1 21c-.2-.4-.6-.7-1.1-.7h-7.2c-.4 0-.9.3-1 .7L20 44.4c-.1.4.1 1 .7 1h4.6c.4 0 .9-.4 1-.8l1.8-5h11.1l2 5c.1.4.6.8 1 .8h4.6c.6 0 .9-.5.8-1zM30.2 33.6l2.9-7.4h.6l3.2 7.4h-6.7z"}},display_text:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M72.3 20.1H27.8c-4.3 0-7.8 3.5-7.8 7.8v44.3c0 4.3 3.5 7.8 7.8 7.8h44.4c4.3 0 7.8-3.5 7.8-7.8V27.9c.1-4.3-3.4-7.8-7.7-7.8zm-41.9 13c0-1.4 1.2-2.6 2.6-2.6h29.2c1.4 0 2.6 1.2 2.6 2.6v2.7c0 1.4-1.1 2.6-2.5 2.6H33c-1.4 0-2.6-1.2-2.6-2.6v-2.7zm30.8 34c0 1.4-1.1 2.6-2.5 2.6H33c-1.4 0-2.6-1.2-2.6-2.6v-2.6c0-1.4 1.2-2.6 2.6-2.6h25.6c1.4 0 2.6 1.2 2.6 2.6v2.6zm8.4-15.7c0 1.4-1.1 2.6-2.5 2.6H33c-1.4 0-2.6-1.2-2.6-2.6v-2.6c0-1.4 1.2-2.6 2.6-2.6h34c1.4 0 2.6 1.2 2.6 2.6v2.6z"}},document:{xmlns:"http://www.w3.org/2000/svg",path:[{d:"M73 42H59c-3.3 0-6-2.7-6-6V22c0-1.1-.9-2-2-2H31c-3.3 0-6 2.7-6 6v48c0 3.3 2.7 6 6 6h38c3.3 0 6-2.7 6-6V44c0-1.1-.9-2-2-2z"},{d:"M74.6 33.6L61.4 20.4c-.3-.3-.6-.4-1-.4-.8 0-1.4.6-1.4 1.4V32c0 2.2 1.8 4 4 4h10.6c.8 0 1.4-.6 1.4-1.4 0-.4-.1-.7-.4-1z"}]},document_reference:{xmlns:"http://www.w3.org/2000/svg",path:[{d:"M71.4 69.89l-2.58 5.23a1.5 1.5 0 01-1.34.84h-.08a1.5 1.5 0 01-1.33-1l-3.26-8.83-1.45 3A1.51 1.51 0 0160 70h-5.53a11.12 11.12 0 0022-.1z"},{d:"M59.07 67l2.57-5.31a1.49 1.49 0 011.43-.85 1.53 1.53 0 011.33 1l3.27 8.85 1.45-2.93a1.5 1.5 0 011.34-.84h6A11.12 11.12 0 0054.4 67z"},{d:"M51.35 68.4a14.16 14.16 0 011.15-5.59h-12a1.7 1.7 0 01-1.7-1.7v-1.69a1.7 1.7 0 011.7-1.7h15.75a14.06 14.06 0 019.23-3.46h.44V40.83a1.69 1.69 0 00-1.69-1.69H52.35A5.11 5.11 0 0147.26 34V22.16a1.71 1.71 0 00-1.7-1.69h-17a5.1 5.1 0 00-5.09 5.09v40.73a5.1 5.1 0 005.09 5.09h23.11a14.23 14.23 0 01-.32-2.98zm6.09-19.17a1.71 1.71 0 011.7 1.7v1.7a1.71 1.71 0 01-1.7 1.69h-17a1.71 1.71 0 01-1.7-1.69v-1.7a1.7 1.7 0 011.7-1.7h17zM35.38 61.11a1.7 1.7 0 01-1.7 1.7H32a1.7 1.7 0 01-1.7-1.7v-1.69a1.7 1.7 0 011.7-1.7h1.7a1.7 1.7 0 011.7 1.7zm0-8.48a1.71 1.71 0 01-1.7 1.69H32a1.71 1.71 0 01-1.7-1.69v-1.7a1.71 1.71 0 011.7-1.7h1.7a1.71 1.71 0 011.7 1.7zM38 42.53a1.71 1.71 0 01-1.7 1.7h-1.7a1.71 1.71 0 01-1.69-1.7v-3.39h-3.4a1.71 1.71 0 01-1.7-1.7v-1.7a1.71 1.71 0 011.7-1.7h3.4v-3.39a1.7 1.7 0 011.7-1.65h1.7A1.71 1.71 0 0138 30.7V34h3.4a1.71 1.71 0 011.7 1.7v1.7a1.71 1.71 0 01-1.7 1.7H38z"},{d:"M55.74 34h9a1.15 1.15 0 001.18-1.12v-.06a1.09 1.09 0 00-.34-.85l-11.2-11.2a1.05 1.05 0 00-.84-.34 1.16 1.16 0 00-1.19 1.13v9.06A3.39 3.39 0 0055.74 34z"}]},drafts:{xmlns:"http://www.w3.org/2000/svg",path:[{d:"M73 20H41c-3.3 0-6 2.7-6 6v1c0 .6.4 1 1 1h29c3.3 0 6 2.7 6 6v31c0 .6.4 1 1 1h1c3.3 0 6-2.7 6-6V26c0-3.3-2.7-6-6-6z"},{d:"M59 34H27c-3.3 0-6 2.7-6 6v34c0 3.3 2.7 6 6 6h32c3.3 0 6-2.7 6-6V40c0-3.3-2.7-6-6-6zM29 44c0-1.1.9-2 2-2h20c1.1 0 2 .9 2 2v2c0 1.1-.9 2-2 2H31c-1.1 0-2-.9-2-2v-2zm24 26c0 1.1-.9 2-2 2H31c-1.1 0-2-.9-2-2v-2c0-1.1.9-2 2-2h20c1.1 0 2 .9 2 2v2zm4-12c0 1.1-.9 2-2 2H31c-1.1 0-2-.9-2-2v-2c0-1.1.9-2 2-2h24c1.1 0 2 .9 2 2v2z"}]},duration_downscale:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M39.82 20H26.61C23 20 20 22.69 20 26v10c0 3.31 3 6 6.61 6h13.21c3.6 0 6.6-2.69 6.6-6V26c0-3.31-2.96-6-6.6-6zm-5.51 16h-2.2a5.27 5.27 0 01-5.5-5 5.27 5.27 0 015.5-5h2.2a5.28 5.28 0 015.51 5 5.28 5.28 0 01-5.51 5zM59.63 42h13.21c3.61 0 6.61-2.69 6.61-6V26c0-3.31-3-6-6.61-6H59.6C56 20 53 22.69 53 26v10c0 3.31 3 6 6.63 6zm5.51-16h2.2a5.27 5.27 0 015.5 5 5.27 5.27 0 01-5.5 5h-2.2a5.28 5.28 0 01-5.51-5 5.28 5.28 0 015.51-5zM39.82 48H26.61C23 48 20 50.69 20 54v10c0 3.31 3 6 6.61 6h13.21c3.6 0 6.6-2.69 6.6-6V54c0-3.31-2.96-6-6.6-6zm-5.51 16h-2.2a5 5 0 010-10h2.2a5 5 0 010 10zM79.78 67.63a1.15 1.15 0 00-.27-.27l-2.31-1.9a1.78 1.78 0 00-2.3 0L71 68.69c-.66.56-1.81.21-1.81-.63V49.4a1.6 1.6 0 00-1.62-1.4h-3.29a1.65 1.65 0 00-1.65 1.4v18.66c0 .84-1.15 1.19-1.81.63L57 65.46a1.8 1.8 0 00-2.31 0l-2.27 1.9a1.15 1.15 0 00-.29 1.6 1.33 1.33 0 00.29.29l12.35 10.33a1.78 1.78 0 002.3 0l12.44-10.33a1.17 1.17 0 00.27-1.62z"}},dynamic_record_choice:{xmlns:"http://www.w3.org/2000/svg",path:[{d:"M43.5 71.4V71C34.5 68.2 28 59.9 28 50c0-12.1 9.9-22 22-22s22 9.9 22 22c0 2-.3 4-.8 5.9l.9.6c.4 0 .7-.1 1.1-.1 2 0 4 .6 5.6 1.5.7-2.5 1.1-5.2 1.1-8 0-16.5-13.5-30-30-30s-30 13.5-30 30c0 15.9 12.4 28.9 28 29.9-2.6-1.8-4.4-4.9-4.4-8.4z"},{d:"M56.7 53.5c1.9 0 3.7.5 5.3 1.3l1.2-.3c.5-1.4.8-2.9.8-4.5 0-7.7-6.2-13.9-13.9-13.9S36.2 42.3 36.2 50c0 6.2 4 11.4 9.6 13.3.6-5.6 5.2-9.8 10.9-9.8z"},{d:"M61.6 60.8c1-1 2.4-1.7 4-1.7 2.1 0 3.9 1.1 4.9 2.8.8-.3 1.8-.6 2.8-.6 3.7 0 6.8 3.1 6.8 6.7 0 3.7-3.1 6.7-6.8 6.7-.4 0-.9 0-1.3-.1-.8 1.5-2.5 2.5-4.3 2.5-.8 0-1.5-.2-2.2-.5-.9 2-2.9 3.4-5.2 3.4-2.5 0-4.5-1.5-5.3-3.6-.3 0-.7.1-1.1.1-2.9 0-5.3-2.3-5.3-5.2 0-1.9 1-3.6 2.6-4.5-.3-.7-.5-1.5-.5-2.4 0-3.3 2.8-6 6.1-6 1.9.1 3.7 1 4.8 2.4z"}]},education:{xmlns:"http://www.w3.org/2000/svg",g:{path:{d:"M49.9 51.1c-1.5.1-2.9-.5-4.4-1-7.9-2.6-15.8-5.2-23.6-7.9-.5-.2-.9-.4-1.3-.7-.5-.4-.5-.9 0-1.3.4-.3.9-.6 1.4-.7 8.4-2.5 16.8-5 25.2-7.6 1.9-.6 3.8-.6 5.8 0 8.3 2.5 16.7 5 25 7.5.5.2 1 .4 1.5.7.6.4.6 1 0 1.4-.4.3-.8.5-1.2.6-8.3 2.8-16.7 5.6-25.1 8.3-1.1.5-2.1.7-3.3.7zM33.3 51.5c-1.2-.3-1.5.5-1.5 1.1v9.5c0 1.1.4 1.8 1.1 2.5.3.3.6.5.9.7 2 1.4 4.3 2.3 6.7 2.9 4.7 1.3 9.5 1.5 14.3.9 3.1-.4 6.2-1.2 9.1-2.5 1.3-.6 2.5-1.3 3.4-2.3.6-.6.9-1.2.8-2.1.1-3 .1-6.1.1-9.2 0-1.7-1.2-1.5-1.7-1.4-4.4 1.5-8.9 2.9-13.3 4.4-2.2.7-4.3.7-6.5 0l-13.4-4.5zM74.9 48.6c-.4.1-.5.3-.5.7v8.4c0 .3-.1.6-.2.9-.6 1.5-1.3 3-1.8 4.5-.5 1.4-.2 2.8.8 3.9.3.4.7.7 1.1 1 .4.3 1 .5 1.5.6.9.1 1.6-.4 2.2-.9l.9-.9c.7-.9.9-2.2.6-3.4-.4-1.7-1.1-3.2-1.9-4.7-.2-.3-.3-.7-.3-1v-9.2c0-.6-.5-.5-.7-.4l-1.7.5z"}}},einstein_replies:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M50 22.4c-16.7 0-30 12.3-30 27.4 0 4.8 1.4 9.3 3.6 13.3.4.6.5 1.4.3 2.1L20 75.9c-.4 1 .6 1.9 1.6 1.6l10.9-4.1c.6-.3 1.4-.1 2.1.3 4.5 2.5 9.9 4 15.7 4 16.4-.2 29.8-12.3 29.8-27.6C80 34.6 66.6 22.4 50 22.4zm13.3 24.5l-7 5.2c-.3.2-.4.6-.3 1l3.3 8.8c.2.8-.6 1.5-1.3 1l-7.5-5.6c-.3-.2-.7-.2-1 0l-7.6 5.6c-.7.5-1.6-.2-1.3-1l3.2-8.8c.1-.3 0-.7-.3-1l-7-5.2c-.7-.5-.3-1.7.5-1.7h8.6c.4 0 .7-.1.8-.5l2.7-8.7c.2-.8 1.4-.7 1.6.1l2.6 8.6c.1.3.5.5.8.5h8.6c1 0 1.3 1.2.6 1.7z"}},email:{xmlns:"http://www.w3.org/2000/svg",path:[{d:"M48.7 55c.8.7 1.9.7 2.7 0l28.3-26.2c.5-1 .4-2.6-1.6-2.6l-56 .1c-1.5 0-2.7 1.4-1.6 2.6L48.7 55z"},{d:"M80 40c0-1.3-1.6-2-2.5-1.1l-22 20.4c-1.5 1.4-3.4 2.1-5.4 2.1s-3.9-.7-5.4-2.1L22.6 38.9c-1-.9-2.5-.2-2.5 1.1v26c0 3.3 2.7 6 6 6h48c3.3 0 6-2.7 6-6-.1 0-.1-18-.1-26z"}]},email_chatter:{xmlns:"http://www.w3.org/2000/svg",path:[{d:"M48.7 55c.8.7 1.9.7 2.7 0l28.3-26.2c.5-1 .4-2.6-1.6-2.6l-56 .1c-1.5 0-2.7 1.4-1.6 2.6L48.7 55z"},{d:"M80 40c0-1.3-1.6-2-2.5-1.1l-22 20.4c-1.5 1.4-3.4 2.1-5.4 2.1s-3.9-.7-5.4-2.1L22.6 38.9c-1-.9-2.5-.2-2.5 1.1v26c0 3.3 2.7 6 6 6h48c3.3 0 6-2.7 6-6-.1 0-.1-18-.1-26z"}]},employee:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M72.1 46.7c-3-13.8-17.7-23.9-20.6-25.9-.1-.1-.2-.1-.4-.2a3.31 3.31 0 00-2.4 0c-.1 0-.1.1-.2.1-2.9 1.9-17.5 12-20.6 25.8a22.18 22.18 0 004.4 19.1 24.46 24.46 0 0014.7 9l-1.5 2.6a2.48 2.48 0 000 1.7 1.72 1.72 0 001.5.9h6.1a2 2 0 001.5-.9 2.48 2.48 0 000-1.7l-1.5-2.6a24 24 0 0014.7-9 22.33 22.33 0 004.3-18.9zm-8.3 15.7c-.5.6-1.1 1.2-1.7 1.9a13 13 0 00-12-8h-.4a12.29 12.29 0 00-11.7 8c-.6-.6-1.1-1.2-1.7-1.9a17.38 17.38 0 01-3.5-14.7C35.2 37.1 46.1 28.5 50 25.9c3.9 2.7 14.8 11.3 17.2 21.9a16.56 16.56 0 01-3.4 14.6z"},circle:{cx:"50",cy:"46.3",r:"8.4"}},employee_asset:{xmlns:"http://www.w3.org/2000/svg",path:[{d:"M74.8 20.3H25.2a5 5 0 00-5 5v34.3a5 5 0 005 5h49.5a5 5 0 005-5V25.2a4.91 4.91 0 00-4.9-4.9zm-2.5 34.9a2 2 0 01-1.9 1.9H29.6a1.9 1.9 0 01-1.9-1.9V29.6a2 2 0 011.9-1.9h40.7a2 2 0 012 1.9zM41.3 72.3a5 5 0 00-5 5v.6a2 2 0 001.9 1.9h23.5a2 2 0 001.9-1.9v-.6a5 5 0 00-5-5z"},{d:"M50.2 44.4h-.4a8.83 8.83 0 00-8.7 7.5c0 .4.1 1.2 1.5 1.2h14.9c1.4 0 1.5-.9 1.5-1.2a9 9 0 00-8.8-7.5z"}],circle:{cx:"50.1",cy:"37.6",r:"5.8"}},employee_contact:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M73.8 29.7H26.3a6 6 0 00-6 6v28.6a6 6 0 006 6h47.4a6 6 0 006-6V35.7a6.13 6.13 0 00-5.9-6zm-34.9 5.4a7.6 7.6 0 11-7.6 7.6 7.66 7.66 0 017.6-7.6zm9.8 28.3H29.2c-1.7 0-2-1.1-2-1.6a11.45 11.45 0 0111.4-9.9h.4a11.45 11.45 0 0111.4 9.9c.3.5 0 1.6-1.7 1.6zm23.1-6.9a2 2 0 01-2 2H61a2 2 0 01-2-2v-3a2 2 0 012-2h8.8a2 2 0 012 2zm0-11a2 2 0 01-2 2H55a2 2 0 01-2-2v-3a2 2 0 012-2h14.8a2 2 0 012 2z"}},employee_job:{xmlns:"http://www.w3.org/2000/svg",circle:{cx:"44.6",cy:"36.3",r:"16"},path:{d:"M48.8 79.6c2.7 0 1.2-1.9 1.2-1.9a19.58 19.58 0 01-2.5-20.1l.2-.4a1.17 1.17 0 00-.9-1.9 18.48 18.48 0 00-2.4-.1 24.26 24.26 0 00-24 20.9c0 1.2.4 3.5 4.2 3.5h24.2zM65.2 51.2a14.2 14.2 0 1014.2 14.2 14.25 14.25 0 00-14.2-14.2zM60.4 74a3.5 3.5 0 113.5-3.5 3.54 3.54 0 01-3.5 3.5zm3.5-11.9a1.27 1.27 0 01-.4.7l-2.7 1.5a.48.48 0 01-.7 0l-2.7-1.5a1 1 0 01-.4-.7V59a1 1 0 01.4-.7l2.7-1.5a.48.48 0 01.7 0l2.7 1.5a1 1 0 01.4.7zm2.6-4.3a.68.68 0 01.7-.7h5.2a.68.68 0 01.7.7V63a.68.68 0 01-.7.7h-5.1a.68.68 0 01-.7-.7l-.1-5.2zM73.4 71l-3.1 3.2a.48.48 0 01-.7 0L66.5 71a.48.48 0 010-.7l3.1-3.2a.48.48 0 01.7 0l3.1 3.2a.48.48 0 010 .7z"}},employee_job_position:{xmlns:"http://www.w3.org/2000/svg",path:[{d:"M65.3 51.5a14.25 14.25 0 1014.2 14.3 14.32 14.32 0 00-14.2-14.3zM67.8 67a3.09 3.09 0 01-1.1-.2l-5.4 5.4a1.71 1.71 0 01-1.1.5c-.5 0-.9-.1-1.1-.5a1.82 1.82 0 010-2.4l5.4-5.4a4.47 4.47 0 014-5.8 3.09 3.09 0 011.1.2c.2 0 .2.2.1.4l-2.5 2.4a.37.37 0 000 .6l1.6 1.6a.48.48 0 00.7 0l2.4-2.4c.1-.1.5-.1.5.1a6.53 6.53 0 01.2 1.1 4.47 4.47 0 01-4.8 4.4z"},{d:"M48.9 79.7c2.7 0 1.2-1.9 1.2-1.9a19.58 19.58 0 01-2.5-20.1l.2-.4a1.17 1.17 0 00-.9-1.9 18.48 18.48 0 00-2.4-.1 24.54 24.54 0 00-24.2 21c0 1.2.4 3.5 4.2 3.5h23.9a1.75 1.75 0 01.5-.1z"}],circle:{cx:"44.6",cy:"36.1",r:"16.1"}},employee_organization:{xmlns:"http://www.w3.org/2000/svg",circle:{cx:"63.3",cy:"47.6",r:"10.7"},path:{d:"M63.6 60.3h-.8a16.43 16.43 0 00-16.1 13.9c0 .7.2 2.4 2.7 2.4h27.2c2.5 0 2.7-1.5 2.7-2.4a15.65 15.65 0 00-15.7-13.9zM48.6 58.3c.4-.4.1-.7.1-.7a17.94 17.94 0 01-3.1-10 17.18 17.18 0 013.2-10.2.1.1 0 01.1-.1 1.76 1.76 0 00.4-1.1V25.4a2.15 2.15 0 00-2-2H22.5a2.18 2.18 0 00-2 2.1v46.2H40a24.12 24.12 0 018.6-13.4zm-17 7.7a2.18 2.18 0 01-2.1 2.1h-2.1a2.18 2.18 0 01-2.1-2.1v-2.1a2.18 2.18 0 012.1-2.1h2.1a2.18 2.18 0 012.1 2.1zm0-10.5a2.18 2.18 0 01-2.1 2.1h-2.1a2.18 2.18 0 01-2.1-2.1v-2.1a2.18 2.18 0 012.1-2.1h2.1a2.18 2.18 0 012.1 2.1zm0-10.5a2.18 2.18 0 01-2.1 2.1h-2.1a2.18 2.18 0 01-2.1-2.1v-2.1a2.18 2.18 0 012.1-2.1h2.1a2.18 2.18 0 012.1 2.1zm0-10.5a2.18 2.18 0 01-2.1 2.1h-2.1a2.18 2.18 0 01-2.1-2.1v-2.1a2.18 2.18 0 012.1-2.1h2.1a2.18 2.18 0 012.1 2.1zm11.9 21a2.18 2.18 0 01-2.1 2.1h-2.1a2.18 2.18 0 01-2.1-2.1v-2.1a2.18 2.18 0 012.1-2.1h2.1a2.18 2.18 0 012.1 2.1zm0-10.5a2.18 2.18 0 01-2.1 2.1h-2.1a2.18 2.18 0 01-2.1-2.1v-2.1a2.18 2.18 0 012.1-2.1h2.1a2.18 2.18 0 012.1 2.1zm0-10.5a2.18 2.18 0 01-2.1 2.1h-2.1a2.18 2.18 0 01-2.1-2.1v-2.1a2.18 2.18 0 012.1-2.1h2.1a2.18 2.18 0 012.1 2.1z"}},empty:{xmlns:"http://www.w3.org/2000/svg",path:{opacity:".5",d:"M72 78H28c-3.3 0-6-2.7-6-6V28c0-3.3 2.7-6 6-6h44c3.3 0 6 2.7 6 6v44c0 3.3-2.7 6-6 6zM28 30v40c0 1.1.9 2 2 2h40c1.1 0 2-.9 2-2V30c0-1.1-.9-2-2-2H30c-1.1 0-2 .9-2 2z"}},endorsement:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M27.9 42H22c-1.1 0-2 .9-2 2v32.3c0 1.1.9 1.7 2 1.7h2c3.3 0 6-2.7 6-6V44.1c0-1.2-.9-2.1-2.1-2.1zM72 43h-6c-3.3 0-6-2.7-6-6V25c0-3.3-2.7-6-6-6h-4c-1.1 0-2 .9-2 2v8c0 7-3.6 14-10 14-1.1 0-2 .9-2 2v28c0 1.1.8 1.9 1.9 2 8.9.5 14.8 3.9 24.1 3.9 10 0 18-3.2 18-12.7V51c0-4.4-3.6-8-8-8z"}},entitlement:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M71.9 19.9H35.2c-3.7 0-6.9 3.4-6.9 6.9H26c-2.6 0-4.6 2.1-4.6 4.7s2 4.6 4.6 4.6h2.3v9.3H26c-2.6 0-4.6 2-4.6 4.6s2 4.6 4.6 4.6h2.3v9.3H26c-2.6 0-4.6 2.1-4.6 4.6 0 2.6 2 4.6 4.6 4.6h2.3c0 4.6 3.2 6.9 6.9 6.9h36.7c3.7 0 6.9-3.2 6.9-6.9V26.8c-.1-3.7-3.2-6.9-6.9-6.9zM68.1 70c0 1.1-.9 2-2 2H40c-1.1 0-2-.9-2-2v-2c0-1.1.9-2 2-2h26.1c1.1 0 2 .9 2 2v2zM40 50.3l2.1-2.1c.6-.6 1.5-.6 2.1 0l5.2 5.1 12.8-12.7c.6-.6 1.5-.6 2.1 0l2.1 2.1c.5.6.5 1.6 0 2.1l-15 14.8c-.6.6-1.3.8-2.1.8s-1.5-.2-2.1-.8L40 52.4c-.7-.6-.7-1.5 0-2.1zm28.1-17.9c0 1.1-.9 2-2 2H40c-1.1 0-2-.9-2-2v-2c0-1.1.9-2 2-2h26.1c1.1 0 2 .9 2 2v2z"}},entitlement_policy:{xmlns:"http://www.w3.org/2000/svg",g:{path:[{d:"M25.4 34.9H36c2.2 0 4-1.8 4-4V20.3c0-.8-.6-1.4-1.4-1.4-.4 0-.7.1-1 .4L24.4 32.5c-.3.3-.4.6-.4 1 0 .8.6 1.4 1.4 1.4z"},{d:"M46.4 78.8l4.7-6.4 4.3-5.8c-.1-.4-.1-.7-.2-1v-.1c-.7-.9-1.9-2.5-1.9-4.8s1.2-3.9 1.8-4.8c.1-1 .4-3.1 2.2-4.8 1.6-1.5 3.5-1.8 4.5-2h.1c.9-.7 2.5-1.9 4.8-1.9s3.9 1.2 4.8 1.8c.6.1 1.5.2 2.5.6V24.9c0-3.3-2.7-6-6-6H48c-1.1 0-2 .9-2 2v14c0 3.3-2.7 6-6 6H26c-1.1 0-2 .9-2 2v30c0 3.3 2.7 6 6 6h16.3l.1-.1z"}]},path:{d:"M65.2 71.5L60 78.9l-1.3-3.5h-3.5l4.5-6.1c.9.5 1.8.6 2.5.8.2.1.5.1.6.1.1.1.3.2.5.3.4.3 1 .7 1.9 1zm8.4-2.3c-.9.5-1.8.6-2.5.8-.2.1-.5.1-.7.1-.1.1-.3.2-.5.3-.5.3-1.1.9-1.9 1.2l5.2 7.3 1.3-3.5H78l-4.4-6.2zm-7-11.6c-1.7 0-3.1 1.4-3.1 3.1s1.4 3.1 3.1 3.1c1.7 0 3.1-1.4 3.1-3.1s-1.4-3.1-3.1-3.1zm8.5 3.1c0 1.1-1.2 1.9-1.5 2.8-.4 1-.2 2.4-.9 3.1-.7.7-2.1.5-3.1.9-.9.4-1.8 1.5-2.8 1.5s-1.9-1.2-2.8-1.5c-1-.4-2.4-.2-3.1-.9-.7-.7-.5-2.1-.9-3.1-.4-.9-1.5-1.8-1.5-2.8s1.2-1.9 1.5-2.8c.4-1 .2-2.4.9-3.1.7-.7 2.1-.5 3.1-.9.9-.4 1.8-1.5 2.8-1.5s1.9 1.2 2.8 1.5c1 .4 2.4.2 3.1.9.7.7.5 2.1.9 3.1.3 1 1.5 1.8 1.5 2.8zm-2.7 0c0-3.2-2.5-5.8-5.8-5.8-3.2 0-5.8 2.5-5.8 5.8s2.5 5.8 5.8 5.8 5.8-2.6 5.8-5.8z"}},entitlement_process:{xmlns:"http://www.w3.org/2000/svg",path:[{d:"M56 79.6V63.1l9.4-10.4h13.3v20c-.1 3.8-3.1 6.8-6.9 6.9H56z"},{d:"M50 79.6H35.2c-3.7 0-6.9-2.3-6.9-6.9H26c-2.5 0-4.6-2-4.6-4.5v-.1c0-2.5 2.1-4.6 4.6-4.6h2.3v-9.3H26c-2.5 0-4.6-2.1-4.6-4.6 0-2.5 2.1-4.6 4.6-4.6h2.3v-9.3H26c-2.5 0-4.6-2-4.6-4.5v-.1c0-2.5 2-4.6 4.5-4.7h2.4c.2-3.7 3.2-6.7 6.9-6.9h36.6c3.8.1 6.8 3.1 6.9 6.9v20.2H65L54.3 34.8c-.8-.8-2.2-.8-3 0L39 48.3c-.7.8-.7 2 0 2.8L49.8 63s.1 16.6.2 16.6z"}]},entitlement_template:{xmlns:"http://www.w3.org/2000/svg",path:[{d:"M70.5 19.5H33.8c-3.7.1-6.8 3.2-6.9 6.9h-2.3c-2.5 0-4.6 2.1-4.6 4.6v.1c0 2.5 2 4.6 4.5 4.6h2.4V45h-2.3c-2.5 0-4.6 2.1-4.6 4.6 0 2.5 2.1 4.6 4.6 4.6h2.3v9.3h-2.3c-2.5 0-4.6 2-4.6 4.6 0 2.5 2 4.6 4.5 4.6h2.4c0 4.6 3.2 6.9 6.9 6.9h36.7c3.8-.1 6.8-3.1 6.9-6.9V26.4c-.1-3.8-3.1-6.8-6.9-6.9zm-3.3 45.1H36.7v-30h30.5v30z"},{d:"M42 45.1h19.9c.4 0 .8-.3.8-.7v-4.6c0-.4-.3-.8-.7-.8H42c-.4 0-.8.3-.8.7v4.6c0 .4.3.8.7.8h.1zM42 60.1h4.6c.4 0 .8-.3.8-.7v-9.1c0-.4-.3-.8-.7-.8H42c-.4 0-.8.3-.8.7v9.1c0 .4.3.8.7.8h.1zM61.8 49.6h-9.2c-.4 0-.8.3-.8.7v9.1c0 .4.3.8.7.8H61.8c.4 0 .8-.3.8-.7v-9.1c0-.4-.3-.8-.7-.8h-.1z"}]},entity:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M74.4 28.7c0-4.8-10.9-8.7-24.4-8.7s-24.4 3.9-24.4 8.7v3c0 4.8 10.9 8.7 24.4 8.7s24.4-3.9 24.4-8.7v-3zm-48.8 10c0 3.8 10.9 6.8 24.4 6.8s24.4-3 24.4-6.8v6.2c0 4.8-10.9 8.7-24.4 8.7s-24.4-3.9-24.4-8.7v-6.2zm0 0c0 3.8 10.9 6.8 24.4 6.8s24.4-3 24.4-6.8v6.2c0 4.8-10.9 8.7-24.4 8.7s-24.4-3.9-24.4-8.7v-6.2zm0 13.2c0 3.8 10.9 6.8 24.4 6.8s24.4-3 24.4-6.8V58c0 4.8-10.9 8.7-24.4 8.7s-24.4-3.8-24.4-8.5v-6.3zm0 13.3c0 3.8 11 6.8 24.4 6.8s24.4-3 24.4-6.8v6.2c0 4.8-10.9 8.7-24.4 8.7s-24.4-3.9-24.4-8.7v-6.2z"}},entity_milestone:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M74.2 32.9L53.1 21.1c-2-1.1-4.4-1.1-6.4 0L25.6 33c-2 1.1-3.2 3.2-3.2 5.4v23.7c.1 2.2 1.3 4.2 3.2 5.4l21.1 11.9c2 1.1 4.4 1.1 6.4 0l21.1-11.9c2-1.1 3.2-3.2 3.1-5.4V38.3c0-2.2-1.2-4.3-3.1-5.4zm-33.4 7.6v25c0 1.2-.9 2.1-2.1 2.2-1.2 0-2.1-1-2.1-2.2v-25c-.7-.7-1.1-1.6-1.1-2.5 0-1.8 1.5-3.2 3.3-3.1s3.2 1.5 3.1 3.3c0 .9-.4 1.7-1.1 2.3zm25.7 15.7c0 .4-.2.7-.5.9-8.3 4.6-12.9-2.8-20.5-.4-.6.2-1.2-.1-1.4-.7V41.5c0-.4.3-.8.7-1 7.9-3 12.5 4.8 20.9.3.3-.1.6 0 .7.2 0 .1.1.2.1.3v14.9z"}},environment_hub:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M43.1 47c.4-4.2 1.6-8.3 3.6-11.8 3.3-5.7 8.6-9 15.8-9.2 1.2-3.5 4.6-6 8.5-6 5 0 9 4 9 9s-4 9-9 9c-3.9 0-7.2-2.5-8.5-6-8.1.3-12.5 6.6-13.4 15h13.4c1.2-3.5 4.6-6 8.5-6 5 0 9 4 9 9s-4 9-9 9c-3.9 0-7.3-2.5-8.5-6H49.1c.7 9 4.9 15.1 13.4 15 1.2-3.5 4.6-6 8.5-6 5 0 9 4 9 9s-4 9-9 9c-3.9 0-7.3-2.5-8.5-6-7.4.1-12.8-3.3-16.1-9.1-1.9-3.5-3-7.6-3.3-11.9h-5.6c-1.2 3.5-4.6 6-8.5 6-5 0-9-4-9-9s4-9 9-9c3.9 0 7.3 2.5 8.5 6h5.6zM71 32c1.7 0 3-1.3 3-3s-1.3-3-3-3-3 1.3-3 3 1.3 3 3 3zm0 42c1.7 0 3-1.3 3-3s-1.3-3-3-3-3 1.3-3 3 1.3 3 3 3zm0-21c1.7 0 3-1.3 3-3s-1.3-3-3-3-3 1.3-3 3 1.3 3 3 3zm-42 0c1.7 0 3-1.3 3-3s-1.3-3-3-3-3 1.3-3 3 1.3 3 3 3z"}},event:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M76 42H24c-1.1 0-2 .9-2 2v30c0 3.3 2.7 6 6 6h44c3.3 0 6-2.7 6-6V44c0-1.1-.9-2-2-2zM40 70c0 1.1-.9 2-2 2h-4c-1.1 0-2-.9-2-2v-4c0-1.1.9-2 2-2h4c1.1 0 2 .9 2 2v4zm0-14c0 1.1-.9 2-2 2h-4c-1.1 0-2-.9-2-2v-4c0-1.1.9-2 2-2h4c1.1 0 2 .9 2 2v4zm14 14c0 1.1-.9 2-2 2h-4c-1.1 0-2-.9-2-2v-4c0-1.1.9-2 2-2h4c1.1 0 2 .9 2 2v4zm0-14c0 1.1-.9 2-2 2h-4c-1.1 0-2-.9-2-2v-4c0-1.1.9-2 2-2h4c1.1 0 2 .9 2 2v4zm14 14c0 1.1-.9 2-2 2h-4c-1.1 0-2-.9-2-2v-4c0-1.1.9-2 2-2h4c1.1 0 2 .9 2 2v4zm0-14c0 1.1-.9 2-2 2h-4c-1.1 0-2-.9-2-2v-4c0-1.1.9-2 2-2h4c1.1 0 2 .9 2 2v4zM72 26h-5v-2c0-2.2-1.8-4-4-4s-4 1.8-4 4v2H41v-2c0-2.2-1.8-4-4-4s-4 1.8-4 4v2h-5c-3.3 0-6 2.7-6 6v2c0 1.1.9 2 2 2h52c1.1 0 2-.9 2-2v-2c0-3.3-2.7-6-6-6z"}},events:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M71.4 28.6C65.9 23.1 58.6 20 50.9 20c-1.7 0-3 1.3-3 3s1.3 3 3 3c6.1 0 11.9 2.4 16.3 6.7C71.5 37.2 74 43 74 49.1c0 1.7 1.3 3 3 3s3-1.3 3-3c0-7.7-3-15-8.6-20.5zm-20.5 3.5c-1.7 0-3 1.3-3 3s1.3 3 3 3c2.9 0 5.7 1.1 7.8 3.2 2.1 2.1 3.2 4.8 3.2 7.8 0 1.7 1.3 3 3 3s3-1.3 3-3c0-4.5-1.8-8.8-5-12s-7.5-5-12-5zm-4.3 28.7l2.6-7c1.8.7 3.8.3 5.3-1.1 2-2 2-5.1 0-7.1s-5.1-2-7.1 0c-1.5 1.5-1.8 3.7-1 5.6l-6.5 2.9-11.7-11.7c-.8-.8-2.2-.8-2.9.1-7.5 9-7 22.4 1.5 30.9 8.4 8.4 21.8 8.9 30.9 1.5.9-.7.9-2.1.1-2.9L46.6 60.8z"}},expense:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M75 23.8H25a4.59 4.59 0 00-4.6 4.6V74a1.12 1.12 0 001.9.8l4.1-4.1a1 1 0 011.6 0l5.2 5.2a1 1 0 001.6 0l4.1-4.1a1 1 0 011.6 0l4.1 4.1a1 1 0 001.6 0l4.1-4.1a1 1 0 011.6 0l4.1 4.1a1 1 0 001.6 0l4.1-4.1a1 1 0 011.6 0l4.1 4.1a1 1 0 001.6 0l4.1-4.1a1 1 0 011.6 0l3 3a1.12 1.12 0 001.9-.8V28.3a4.5 4.5 0 00-4.6-4.5zM53 50.4v1.1a5.45 5.45 0 01-3.1 1 5.6 5.6 0 010-11.2 5.59 5.59 0 015.6 5.2 4.48 4.48 0 00-2.5 3.9zm15 14.1a1.52 1.52 0 01-1.5 1.4h-9a1.43 1.43 0 01-1.4-1.4v-1.4a1.43 1.43 0 011.4-1.4h9.1a1.43 1.43 0 011.4 1.4zm0-6.3a1.52 1.52 0 01-1.5 1.4h-9a1.43 1.43 0 01-1.4-1.4v-1.4a1.43 1.43 0 011.4-1.4h9.1a1.43 1.43 0 011.4 1.4zm0-6.4a1.52 1.52 0 01-1.5 1.4h-9a1.43 1.43 0 01-1.4-1.4v-1.4a1.43 1.43 0 011.4-1.4h9.1a1.43 1.43 0 011.4 1.4zm.1-5.7a3.4 3.4 0 00-1.4-.2h-2.9v-3a4 4 0 01-4-4H40a4 4 0 01-4 4v8.4a4 4 0 014 4h13.2a3.4 3.4 0 00-.2 1.4v1.4a6.64 6.64 0 00.3 1.5h-18a3.37 3.37 0 01-3.4-3.4V38.1a3.37 3.37 0 013.4-3.4h29.4a3.37 3.37 0 013.4 3.4z"}},expense_report:{xmlns:"http://www.w3.org/2000/svg",path:[{d:"M39.3 32.1h21.4a2 2 0 002-2v-4a6 6 0 00-5.8-6H43.3a5.91 5.91 0 00-5.8 6v4a1.74 1.74 0 001.8 2z"},{d:"M71.4 25.2h-2a.94.94 0 00-1 1v4a7.9 7.9 0 01-7.8 7.9H39.3a7.9 7.9 0 01-7.8-7.9v-4a.94.94 0 00-1-1h-2a5.91 5.91 0 00-5.8 6v42.6a6 6 0 005.8 6h42.9a5.91 5.91 0 005.8-6V31.2a5.79 5.79 0 00-5.8-6zM53 59.4v1.1a5.45 5.45 0 01-3.1 1 5.6 5.6 0 010-11.2 5.59 5.59 0 015.6 5.2 4.48 4.48 0 00-2.5 3.9zm15 14.1a1.52 1.52 0 01-1.5 1.4h-9a1.43 1.43 0 01-1.4-1.4v-1.4a1.43 1.43 0 011.4-1.4h9.1a1.43 1.43 0 011.4 1.4zm0-6.3a1.52 1.52 0 01-1.5 1.4h-9a1.43 1.43 0 01-1.4-1.4v-1.4a1.43 1.43 0 011.4-1.4h9.1a1.43 1.43 0 011.4 1.4zm0-6.4a1.52 1.52 0 01-1.5 1.4h-9a1.43 1.43 0 01-1.4-1.4v-1.4a1.43 1.43 0 011.4-1.4h9.1a1.43 1.43 0 011.4 1.4zm.1-5.7a3.4 3.4 0 00-1.4-.2h-2.9v-3a4 4 0 01-4-4H40a4 4 0 01-4 4v8.4a4 4 0 014 4h13.2a3.4 3.4 0 00-.2 1.4v1.4a6.64 6.64 0 00.3 1.5h-18a3.37 3.37 0 01-3.4-3.4V47.1a3.37 3.37 0 013.4-3.4h29.4a3.37 3.37 0 013.4 3.4z"}]},expense_report_entry:{xmlns:"http://www.w3.org/2000/svg",path:[{d:"M37 31.6h20.4a1.84 1.84 0 001.9-1.9v-3.8a5.66 5.66 0 00-5.5-5.7h-13a5.59 5.59 0 00-5.5 5.7v3.8a1.74 1.74 0 001.7 1.9zM67.3 54.5A12.7 12.7 0 1080 67.2a12.72 12.72 0 00-12.7-12.7zm8.2 9.2L66.2 73a1.94 1.94 0 01-2.6 0L59 68.4a.85.85 0 010-1.3l1.3-1.3a.85.85 0 011.3 0l3.2 3.2 8.1-8.1a.85.85 0 011.3 0l1.3 1.3c.7.6.2 1.2 0 1.5z"},{d:"M59.8 52.3a3.91 3.91 0 01-2.7-3.8H37.3a4 4 0 01-4 4V61a4 4 0 014 4h13.6a16.74 16.74 0 018.9-12.7zm-12.6 9.6a5.4 5.4 0 115.4-5.4 5.38 5.38 0 01-5.4 5.4z"},{d:"M67.6 25h-1.9a.84.84 0 00-.9.9v3.8a7.56 7.56 0 01-7.4 7.6H37a7.49 7.49 0 01-7.4-7.6v-3.8a.84.84 0 00-.9-.9h-1.9a5.59 5.59 0 00-5.5 5.7v40.6a5.66 5.66 0 005.5 5.7H54a17 17 0 01-3.1-7.7H32.6a3.37 3.37 0 01-3.4-3.4V47.8a3.37 3.37 0 013.4-3.4H62a3.37 3.37 0 013.4 3.4v2.9a13.4 13.4 0 012-.1 15.75 15.75 0 015.8 1.1v-21a5.74 5.74 0 00-5.6-5.7z"}]},feed:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M49 72c-.4 0-.9-.1-1.4-.4-.8-.4-1.4-1.3-1.6-2.2l-7.8-31.2-6.5 14.9c-.4 1.2-1.5 1.9-2.7 1.9h-9c-1.1 0-2-.9-2-2v-2c0-1.1.9-2 2-2h7l9.2-21.2c.5-1.2 1.7-1.9 3-1.8 1.3.1 2.4 1 2.7 2.3l7.9 31.6 10.4-23.1c.5-1.2 1.7-1.9 3-1.8 1.1.1 2.1.9 2.6 2L71 49h9c1.1 0 2 .9 2 2v2c0 1.1-.9 2-2 2H69c-1.2 0-2.3-.7-2.8-1.8l-3.3-7.7-11.2 24.7c-.5 1.1-1.5 1.8-2.7 1.8z"}},feedback:{xmlns:"http://www.w3.org/2000/svg",path:[{d:"M79.1 56.5c-.1-.4-.1-.9.2-1.2C81 52.2 82 48.7 82 45c0-11.6-9.9-21-22-21-5.2 0-10 1.8-13.8 4.7C58.7 31.4 68 42.2 68 55c0 3.6-.7 7.1-2.1 10.2 2-.5 3.9-1.3 5.7-2.4.4-.2.8-.3 1.2-.1l6.4 2.3c1.1.4 2.2-.7 1.9-1.9l-2-6.6z"},{d:"M40 34c-12.1 0-22 9.4-22 21 0 3.7 1 7.2 2.8 10.3.2.4.3.8.2 1.2l-2.1 6.7c-.4 1.2.7 2.3 1.9 1.9l6.4-2.3c.4-.1.9-.1 1.2.1 3.4 2 7.3 3.1 11.6 3.1 12.1 0 22-9.4 22-21s-9.9-21-22-21zM28 59c-2.2 0-4-1.8-4-4s1.8-4 4-4 4 1.8 4 4-1.8 4-4 4zm12 0c-2.2 0-4-1.8-4-4s1.8-4 4-4 4 1.8 4 4-1.8 4-4 4zm12 0c-2.2 0-4-1.8-4-4s1.8-4 4-4 4 1.8 4 4-1.8 4-4 4z"}]},file:{xmlns:"http://www.w3.org/2000/svg",g:{path:[{d:"M29 63V31c-3.3 0-6 2.7-6 6v38c0 3.3 2.7 6 6 6h30c3.3 0 6-2.7 6-6H41c-6.6 0-12 0-12-12z"},{d:"M75 37H65c-3.3 0-6-2.7-6-6V21c0-1.1-.9-2-2-2H41c-3.3 0-6 2.7-6 6v38c0 3.3 2.7 6 6 6h30c3.3 0 6-2.7 6-6V39c0-1.1-.9-2-2-2z"},{d:"M76.6 28.6l-9.2-9.2c-.3-.3-.6-.4-1-.4-.8 0-1.4.6-1.4 1.4V27c0 2.2 1.8 4 4 4h6.6c.8 0 1.4-.6 1.4-1.4 0-.4-.1-.7-.4-1z"}]}},filiter_criteria_rule:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M51.75 20a2 2 0 012 2v14A4.86 4.86 0 0059 41.25h14a2 2 0 012 2V74a6.08 6.08 0 01-6 6H31a6.08 6.08 0 01-6-6V26a6.08 6.08 0 016-6h20.75zm9.4 30h-22.3a.86.86 0 00-.65 1.41l9.74 11.39a2.08 2.08 0 01.45 1.31v7.23a.82.82 0 00.81.75h1.5a.73.73 0 00.71-.75v-7.23A1.84 1.84 0 0152 62.8l9.8-11.39a.86.86 0 00-.65-1.41zm-.9-30a1.74 1.74 0 011.13.38l13.24 13.24a1.74 1.74 0 01.38 1.13 1.5 1.5 0 01-1.38 1.5H63A4.38 4.38 0 0158.75 32V21.38a1.5 1.5 0 011.5-1.38z"}},filter:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M77 20H21c-1.9 0-2.8 2.1-1.6 3.5l24.2 28.6c.8.9 1.1 2.1 1.1 3.3v22.7c0 1 1 1.9 2 1.9h4.4c1 0 1.8-.9 1.8-1.9V55.5c0-1.3.5-2.4 1.4-3.3l24.3-28.6c1.2-1.4.3-3.6-1.6-3.6z"}},filter_criteria:{xmlns:"http://www.w3.org/2000/svg",path:[{d:"M38.86 32h21.81a2 2 0 002-2v-4a6 6 0 00-5.95-6H42.83a6 6 0 00-5.95 6v4a2 2 0 001.98 2z"},{d:"M29.93 25a.94.94 0 011 1v4a8 8 0 007.93 8h21.81a8 8 0 007.94-8v-4a.94.94 0 011-1h2a6 6 0 016 6v43a6 6 0 01-6 6H28a6 6 0 01-6-6V31a6 6 0 016-6h2zm31.22 23h-22.3a.86.86 0 00-.65 1.41l9.74 11.39a2.08 2.08 0 01.45 1.31v7.23a.82.82 0 00.81.75h1.5a.73.73 0 00.71-.75v-7.23A1.84 1.84 0 0152 60.8l9.8-11.39a.86.86 0 00-.65-1.41z"}]},first_non_empty:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M55.9 49.3l22.7-22.8c.8-.8.8-2 0-2.9l-2.7-2.9c-.8-.8-2-.8-2.9 0L50.1 43.6c-.5.5-1.4.5-1.9 0l-22.8-23c-.8-.8-2-.8-2.9 0l-2.9 2.9c-.8.8-.8 2 0 2.9l22.8 22.8c.5.5.5 1.4 0 1.9L19.6 74c-.8.8-.8 2 0 2.9l2.9 2.9c.8.8 2 .8 2.9 0L48.2 57c.5-.5 1.4-.5 1.9 0l22.6 22.6c.8.8 2 .8 2.9 0l2.9-2.9c.8-.8.8-2 0-2.9L55.9 51.2c-.6-.6-.6-1.4 0-1.9z"}},flow:{xmlns:"http://www.w3.org/2000/svg",g:{path:{d:"M79.9 30.7c-2.6-5.1-9.2-14.6-21.5-9-7.6 3.5-11.9 5.5-11.9 5.5l-11 4.8c-3.1 1.5-9.9-.6-13.7-2-1.1-.4-2.1.8-1.6 1.9 2.6 5.1 9.2 14.6 21.5 9 7.6-3.5 22.9-10.1 22.9-10.1 3.1-1.5 9.9.6 13.7 2 1.1.2 2.1-.9 1.6-2.1zM53.5 46.8c-1.4.8-6.9 3.3-6.9 3.3l-5.5 2.4C38.4 54 32.5 52 29 50.6c-1-.5-1.9.8-1.4 1.8 2.2 5 8.1 14 18.9 8.5 6.7-3.4 12.4-5.6 12.4-5.6 2.7-1.5 8.6.5 12.1 1.9 1 .4 1.9-.8 1.4-1.9-2.3-5-8.2-14-18.9-8.5zM49.5 68.9c-1.1.6-3 1.8-3 1.8-2.1 1.3-6.5-.4-9.1-1.7-.7-.4-1.4.8-1 1.8 1.6 4.5 6 12.6 14.1 7.6 3-1.9 3-1.8 3-1.8 2.2-1.1 6.5.4 9.1 1.6.7.4 1.4-.8 1-1.8-1.6-4.4-5.7-12.1-14.1-7.5z"}}},folder:{xmlns:"http://www.w3.org/2000/svg",path:[{d:"M75 34.7H46.6c-1.8 0-3.4-1-4.4-2.5l-4.4-7.6C37 23 35.4 22 33.5 22H25c-2.8 0-5 2.3-5 5.1v45.8c0 2.8 2.2 5.1 5 5.1h50c2.8 0 5-2.3 5-5.1V39.8c0-2.8-2.2-5.1-5-5.1z"},{d:"M75 24.5H44.9c-.5 0-.8.5-.5.9l2 3.4c.2.5.6.8 1.1.8H75c1.4 0 2.8.3 3.9.8.5.3 1.1-.1 1.1-.8 0-2.8-2.2-5.1-5-5.1z"}]},forecasts:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M77.7 29.2S74.2 22 66.4 22s-11.5 7.4-11.5 7.4c-5.2-2.5-9.9 0-9.9 0S41.4 22 33.6 22s-11.3 7.2-11.3 7.2-7.3 16.3-7.5 30.9C14.6 74.5 24.3 78 28.9 78c5 0 16.8-2.1 16.2-18.5 0 0 1.2-2.8 4.5-2.7 4 0 5.4 2.7 5.4 2.7C54.4 75.9 66.2 78 71.1 78c4.5 0 14.3-3.5 14.1-17.9-.2-14.6-7.5-30.9-7.5-30.9zM29.8 71.6c-4.8 0-8.7-3.9-8.7-8.7s3.9-8.7 8.7-8.7 8.7 3.9 8.7 8.7-3.9 8.7-8.7 8.7zm40.4 0c-4.8 0-8.7-3.9-8.7-8.7s3.9-8.7 8.7-8.7 8.7 3.9 8.7 8.7-3.9 8.7-8.7 8.7z"}},form:{xmlns:"http://www.w3.org/2000/svg",rect:[{fill:"none",height:"6",rx:"2",width:"34",x:"33",y:"50"},{fill:"none",height:"6",rx:"2",width:"30",x:"33",y:"62"}],g:{path:[{d:"M63 36h10.6a1.37 1.37 0 001.4-1.4 1.28 1.28 0 00-.4-1L61.4 20.4a1.28 1.28 0 00-1-.4 1.37 1.37 0 00-1.4 1.4V32a4 4 0 004 4z"},{d:"M73 42H59a6 6 0 01-6-6V22a2 2 0 00-2-2H31a6 6 0 00-6 6v48a6 6 0 006 6h38a6 6 0 006-6V44a2 2 0 00-2-2zm-40-2a2 2 0 012-2h8.18a2 2 0 012 2v2a2 2 0 01-2 2H35a1.94 1.94 0 01-2-2zm30 26a2 2 0 01-2 2H35a2 2 0 01-2-2v-2a2 2 0 012-2h26a2 2 0 012 2zm4-12a2 2 0 01-2 2H35a2 2 0 01-2-2v-2a2 2 0 012-2h30a2 2 0 012 2z"}]}},formula:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M55.3 21.2c-1.1-.7-2.4-1.1-4.1-1.1-.4 0-.8 0-1.2.1-4.4.7-7.3 4.7-9.1 8.5-.8 1.8-1.5 3.7-2.2 5.5-.3.9-.7 1.7-1 2.6 0 .1-.5 1.8-.6 1.8h-4.5c-.6 0-1.1.5-1.1 1.1 0 .6.5 1.1 1.1 1.1h3.9l-2.2 9.4c-2.2 10.5-5.2 22.5-5.9 24.6-.7 2.2-1.7 3.3-3.1 3.3-.3 0-.5-.1-.7-.2-.2-.1-.3-.3-.3-.5s.1-.5.4-.9c.3-.4.4-.9.4-1.3 0-.8-.3-1.5-.8-2-.6-.5-1.2-.7-1.9-.7s-1.4.3-2 .8c-.1.7-.4 1.4-.4 2.3 0 1.2.5 2.2 1.5 3.1 1 .9 2.3 1.3 4 1.3 2.7 0 5.1-1.2 6.9-3.3 1.1-1.3 1.9-2.8 2.6-4.4 2.2-4.9 3.4-10.3 4.7-15.5 1.3-5.3 2.5-10.6 3.6-15.9h4.3c.6 0 1.1-.5 1.1-1.1 0-.6-.5-1.1-1.1-1.1h-4c2.2-8.3 4.7-14 5.2-14.8.8-1.4 1.7-2.1 2.7-2.1.4 0 .6.1.7.3.1.2.2.4.2.5 0 .1-.1.4-.4.9-.3.5-.4 1-.4 1.5 0 .7.3 1.3.8 1.8s1.2.8 1.9.8 1.4-.3 1.9-.8.8-1.2.8-2.1c-.1-1.7-.6-2.8-1.7-3.5zM75.3 46.4c1.6 0 4.7-1.3 4.7-5.5s-3-4.4-4-4.4c-1.8 0-3.7 1.3-5.3 4.1-1.6 2.8-3.4 6-3.4 6h-.1c-.4-2-.7-3.6-.9-4.4-.3-1.7-2.3-5.5-6.5-5.5s-8 2.4-8 2.4c-.7.4-1.2 1.2-1.2 2.1 0 1.4 1.1 2.5 2.5 2.5.4 0 .8-.1 1.1-.3 0 0 3.2-1.8 3.8 0 .2.5.4 1.1.6 1.7.8 2.7 1.5 5.9 2.2 8.8L58.3 58s-3.1-1.1-4.7-1.1-4.7 1.3-4.7 5.5 3 4.4 4 4.4c1.8 0 3.7-1.3 5.3-4.1 1.6-2.8 3.4-6 3.4-6 .5 2.6 1 4.7 1.3 5.5 1 3 3.4 4.7 6.6 4.7 0 0 3.3 0 7.1-2.2.9-.4 1.6-1.3 1.6-2.3 0-1.4-1.1-2.5-2.5-2.5-.4 0-.8.1-1.1.3 0 0-2.7 1.5-3.7.3-.7-1.3-1.2-3-1.7-5.1-.4-1.9-.9-4.1-1.3-6.2l2.8-4c-.1.1 3 1.2 4.6 1.2z"}},fulfillment_order:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M47.9 63c.9 0 1.7.1 2.5.4L36.9 25.1l-1.2-3.7c-.4-1.1-1.5-1.6-2.5-1.2L21.4 24c-1.1.4-1.6 1.5-1.2 2.5l1.2 3.7c.4 1.1 1.5 1.6 2.5 1.2l6.1-2 12.4 35.1c1.6-.9 3.5-1.5 5.5-1.5zM69 53.9l-12.4 4.4c-1.2.5-2.7-.2-3.1-1.5l-4.4-12.4c-.5-1.2.2-2.7 1.5-3.1L63 36.9c1.2-.5 2.7.2 3.1 1.5l4.4 12.4c.5 1.2-.2 2.6-1.5 3.1zM57.3 33.5l-8.4 2.9c-1.2.5-2.7-.2-3.1-1.5l-2.9-8.4c-.5-1.2.2-2.7 1.5-3.1l8.4-2.9c1.2-.5 2.7.2 3.1 1.5l2.9 8.4c.5 1.1-.2 2.6-1.5 3.1zm22.6 28.2L78.6 58c-.4-1.1-1.5-1.6-2.5-1.2l-22.7 7.9c2.4 1.5 4 4 4.5 6.9l20.9-7.1c1-.5 1.5-1.6 1.1-2.8zm-32 4.5c-3.7 0-6.9 3.1-6.9 6.9 0 3.7 3.1 6.9 6.9 6.9s6.9-3.1 6.9-6.9c0-3.9-3.2-6.9-6.9-6.9z"}},generic_loading:{xmlns:"http://www.w3.org/2000/svg",g:{path:{opacity:".15",d:"M51.5 22h-3c-.8 0-1.5.7-1.5 1.5v13c0 .8.7 1.5 1.5 1.5h3c.8 0 1.5-.7 1.5-1.5v-13c0-.8-.7-1.5-1.5-1.5zM76.5 47h-13c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h13c.8 0 1.5-.7 1.5-1.5v-3c0-.8-.7-1.5-1.5-1.5zM51.5 62h-3c-.8 0-1.5.7-1.5 1.5v13c0 .8.7 1.5 1.5 1.5h3c.8 0 1.5-.7 1.5-1.5v-13c0-.8-.7-1.5-1.5-1.5zM38 51.5v-3c0-.8-.7-1.5-1.5-1.5h-13c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h13c.8 0 1.5-.7 1.5-1.5zM59.5 42.6c.6.6 1.5.6 2.1 0l9.2-9.2c.6-.6.6-1.5 0-2.1l-2.1-2.1c-.6-.6-1.5-.6-2.1 0l-9.2 9.2c-.6.6-.6 1.5 0 2.1l2.1 2.1zM61.7 57.4c-.6-.6-1.5-.6-2.1 0l-2.1 2.1c-.6.6-.6 1.5 0 2.1l9.2 9.2c.6.6 1.5.6 2.1 0l2.1-2.1c.6-.6.6-1.5 0-2.1l-9.2-9.2zM40.5 57.4c-.6-.6-1.5-.6-2.1 0l-9.2 9.2c-.6.6-.6 1.5 0 2.1l2.1 2.1c.6.6 1.5.6 2.1 0l9.2-9.2c.6-.6.6-1.5 0-2.1l-2.1-2.1zM33.4 29.1c-.6-.6-1.5-.6-2.1 0l-2.1 2.1c-.6.6-.6 1.5 0 2.1l9.2 9.2c.6.6 1.5.6 2.1 0l2.1-2.1c.6-.6.6-1.5 0-2.1l-9.2-9.2z"}}},global_constant:{xmlns:"http://www.w3.org/2000/svg",g:{path:[{d:"M53.3 53.1c3.3-2.5 6.8-2.9 9.2-2.9l8.9-.1c.9 0 1.7 0 2.7-.1 1.1 0 2.2-.1 3.3-.1H80c0-16.5-13.5-30-30-30s-30 13.5-30 30c0 14.4 10.3 26.5 23.9 29.4-.2-1-.1-2 .1-3 .4-1.7 1.4-3.1 2.4-4.2-3.1-3.2-5.8-10.3-6.3-19.1H47v8c.2-.6.4-1.2.8-1.8 1.2-1.7 2.6-3.7 4.3-5.3.3-.3.6-.5.8-.7l.4-.1zm20.5-6h-7.9c-.3-7.1-1.9-13.3-4.3-18 6.6 3.7 11.2 10.3 12.2 18zM53 27.4c3.4 2.9 6.4 10.3 6.9 19.7H53V27.4zm-6 0v19.7h-6.9c.5-9.4 3.5-16.8 6.9-19.7zM26.2 53.1h7.9c.3 7.1 1.9 13.3 4.3 18-6.6-3.7-11.2-10.3-12.2-18zm7.9-6h-7.9c1-7.7 5.6-14.3 12.2-18-2.4 4.7-3.9 10.9-4.3 18z"},{d:"M48.3 70.3c.4-.3.7-.7 1-.9.3-.4.7-.8 1-1.2-1.6-.7-2.8-2.1-3.3-3.8v7.2c.5-.6.9-1 1.3-1.3z"}]},path:{d:"M79.7 55.3c-.2-.2-.4-.3-.6-.3-2.5-.1-5.1.1-7.6.1l-8.9.1c-2.7 0-4.9.6-7 2.5-1.3 1.2-2.6 2.9-3.6 4.4-.1.2-.2.4-.2.6 0 .6.5 1 1 1 .6 0 .7-.4 1-.8.3-.4.6-.8 1-1.2 1.4-1.3 3.3-2 5.1-1.8-1.6 4.4-3.8 9.4-7 12.9-1.3 1.4-3.6 2.9-4.1 4.9-.5 2.1 1.6 2.6 3.2 2 2-.8 3.2-2.9 4.3-4.6 1.2-2.2 2.4-4.5 3.3-6.8 1-2.3 2-4.6 2.9-6.9.6-1.4.8-1.4 2.2-1.4h3.9c-1.4 3.2-2.8 6.4-4.1 9.7-1 2.5-2.8 6.1-1.5 8.8 1.3 2.7 4.8 1.7 6.7.3 2-1.4 3.2-3.6 4.3-5.7.2-.4.4-.8.2-1.3-.2-.4-.5-.6-.9-.6-.9 0-1.1 1.1-1.4 1.7-.5 1.1-1.7 2.1-3 1.9-2.9-.4-.3-5.7.2-7.1.5-1.5 1.1-2.9 1.8-4.3.4-.8.7-1.7 1.1-2.5.5-1 .5-1 1.7-1.1 1 0 3.9.5 4.8-.1.7-.5 1.1-2.2 1.5-3.5 0-.3 0-.6-.3-.9z"}},goals:{xmlns:"http://www.w3.org/2000/svg",path:[{d:"M26 20c-3.3 0-6 2.7-6 6 0 1.8.8 3.4 2 4.5V76c0 2.2 1.8 4 4 4s4-1.8 4-4V30.5c1.2-1.1 2-2.7 2-4.5 0-3.3-2.7-6-6-6zM76.5 30.8c-15.7 8.2-24.4-5.9-39.2-.5-.8.3-1.3 1.1-1.3 1.9V58c0 1.3 1.3 2.3 2.6 1.9 14.2-4.3 22.9 9.1 38.4.7.6-.4 1-1 1-1.7V31.7c0-.8-.8-1.3-1.5-.9zM72 44.5c-1.9.5-3.8.5-5.8.5H66v6h.2c2 0 3.9-.1 5.8-.6v5.9c-1.8.6-3.6.8-5.8.8H66v-6c-2 0-4-.3-6-.7v6c-1.4-.3-2.8-.7-4.1-1.1-.7-.2-1.3-.4-1.9-.6v-5.9c-2.2-.7-3.9-1.3-6-1.6v6c-1-.1-2.2-.2-3.5-.2-.9 0-1.7.1-2.5.2v-6c.8-.1 1.7-.2 2.5-.2 1.3 0 2.5.1 3.5.2v-5.7c-1-.2-2.1-.4-3.5-.4-.9 0-1.7.1-2.5.2v-6c.8-.1 1.7-.2 2.5-.2 1.4 0 2.4.2 3.5.4v6c1.5.4 3 1 5.2 1.6.3.1.5.1.8.2v-6c2 .6 3.9 1 6 1.4v5.9c1.9.4 3.9.4 6 .4v-6h.2c2 0 3.9.2 5.8-.2v5.7z"},{d:"M54 43.3v5.5c.4.1.9.3 1.3.4 1.6.4 3.1.9 4.7 1.2v-5.7c-2.1-.5-4-.9-6-1.4z"}]},group_loading:{xmlns:"http://www.w3.org/2000/svg",path:[{opacity:".5",d:"M36.7 52.4C35 49.7 34 46.5 34 43c0-5.9 2.5-10.9 6.5-13.9-1.5-2.5-4-4.1-7.5-4.1-5.8 0-9 4.6-9 10 0 2.9 1 5.3 2.9 7.1 1.1 1 2 2.3 2 3.7 0 1.4-.5 2.6-3.8 4-4.7 2.1-9 4.8-9.1 9.2 0 2.9 1.9 5 4.6 5h4.3c.7 0 1.4-.4 1.7-1 2.1-3.8 6-6.2 9.3-7.8 1.1-.5 1.5-1.8.8-2.8zM74.9 49.8c-3.3-1.4-3.8-2.7-3.8-4 0-1.4.9-2.7 2-3.7C75 40.3 76 37.9 76 35c0-5.4-3.2-10-9-10-3.5 0-6 1.6-7.5 4.1 4 3 6.5 7.9 6.5 13.9 0 3.5-.9 6.7-2.7 9.4-.7 1-.3 2.3.8 2.9 3.3 1.6 7.2 4 9.3 7.8.3.6 1 1 1.7 1h4.3c2.7 0 4.6-2.1 4.6-5-.1-4.4-4.4-7.2-9.1-9.3z"},{opacity:".5",d:"M58.7 59.4c-3.6-1.5-4.1-2.9-4.1-4.4 0-1.5 1-3 2.2-4.1 2.1-1.9 3.3-4.7 3.3-7.9 0-5.9-3.6-11-10-11s-10 5.1-10 11c0 3.2 1.2 5.9 3.3 7.9 1.2 1.1 2.2 2.6 2.2 4.1 0 1.5-.6 2.9-4.1 4.4-5.4 2.2-10.4 4.8-10.5 9.6 0 3.2 2.3 6 5.3 6h27.4c3 0 5.3-2.8 5.3-6-.1-4.8-5.1-7.4-10.3-9.6z"}]},groups:{xmlns:"http://www.w3.org/2000/svg",path:[{d:"M36.7 52.4C35 49.7 34 46.5 34 43c0-5.9 2.5-10.9 6.5-13.9-1.5-2.5-4-4.1-7.5-4.1-5.8 0-9 4.6-9 10 0 2.9 1 5.3 2.9 7.1 1.1 1 2 2.3 2 3.7 0 1.4-.5 2.6-3.8 4-4.7 2.1-9 4.8-9.1 9.2 0 2.9 1.9 5 4.6 5h4.3c.7 0 1.4-.4 1.7-1 2.1-3.8 6-6.2 9.3-7.8 1.1-.5 1.5-1.8.8-2.8zM74.9 49.8c-3.3-1.4-3.8-2.7-3.8-4 0-1.4.9-2.7 2-3.7C75 40.3 76 37.9 76 35c0-5.4-3.2-10-9-10-3.5 0-6 1.6-7.5 4.1 4 3 6.5 7.9 6.5 13.9 0 3.5-.9 6.7-2.7 9.4-.7 1-.3 2.3.8 2.9 3.3 1.6 7.2 4 9.3 7.8.3.6 1 1 1.7 1h4.3c2.7 0 4.6-2.1 4.6-5-.1-4.4-4.4-7.2-9.1-9.3z"},{d:"M58.7 59.4c-3.6-1.5-4.1-2.9-4.1-4.4 0-1.5 1-3 2.2-4.1 2.1-1.9 3.3-4.7 3.3-7.9 0-5.9-3.6-11-10-11s-10 5.1-10 11c0 3.2 1.2 5.9 3.3 7.9 1.2 1.1 2.2 2.6 2.2 4.1 0 1.5-.6 2.9-4.1 4.4-5.4 2.2-10.4 4.8-10.5 9.6 0 3.2 2.3 6 5.3 6h27.4c3 0 5.3-2.8 5.3-6-.1-4.8-5.1-7.4-10.3-9.6z"}]},guidance_center:{xmlns:"http://www.w3.org/2000/svg",g:{rect:[{height:"7.26",rx:"1.81",width:"7.25",x:"20.02",y:"20.05"},{height:"7.33",rx:"1.83",width:"42",x:"32.24",y:"20.05"},{height:"7.33",rx:"1.83",width:"42",x:"32.24",y:"35.04"},{height:"7.33",rx:"1.83",width:"7.33",x:"20.02",y:"35.04"},{height:"7.33",rx:"1.83",width:"7.33",x:"20.02",y:"50.03"}],path:{d:"M63.71 47.42A16.18 16.18 0 1079.89 63.6a16.22 16.22 0 00-16.18-16.18zm0 28A11.87 11.87 0 1175.58 63.6a11.9 11.9 0 01-11.87 11.86zM70 56.64l-9 3.24a1.61 1.61 0 00-1 1l-3.23 8.95a.55.55 0 00.7.7l8.95-3.23a1.59 1.59 0 001-1l3.24-9a.55.55 0 00-.66-.66zm-6.26 9.11a2.16 2.16 0 112.16-2.15 2.16 2.16 0 01-2.19 2.15zM47.61 50H34.07a1.87 1.87 0 00-1.83 1.83v3.66a1.88 1.88 0 001.83 1.84h9.52A20.89 20.89 0 0147.61 50z"}}},hierarchy:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M46.25 46.251H29.404c-.999 0-1.875.875-1.875 1.875V62.5h-5.654c-1 0-1.875.875-1.875 1.875v13.75c0 1 .875 1.875 1.875 1.875h18.75c1 0 1.875-.875 1.875-1.875v-13.75c0-1-.875-1.875-1.875-1.875h-5.642v-8.749h30.035V62.5h-5.613c-1.001 0-1.875.875-1.875 1.875v13.75c0 1 .874 1.875 1.875 1.875h18.75c1 0 1.875-.875 1.875-1.875v-13.75c0-1-.875-1.875-1.875-1.875H72.49V48.126c0-1-.874-1.875-1.875-1.875H53.75V37.5h5.61c1 0 1.875-.875 1.875-1.875v-13.75c0-1-.875-1.875-1.875-1.875H40.61c-1.001 0-1.875.875-1.875 1.875v13.75c0 1 .874 1.875 1.875 1.875h5.64v8.751z"}},high_velocity_sales:{xmlns:"http://www.w3.org/2000/svg",g:{path:[{d:"M80 21.5c0-1.2-.7-1.5-1.1-1.5H53.1c-1.9 0-1.9 1.9-1.9 1.9v3.6c0 1.6 1 2 1.5 2h18c.7.1 1.9.6 1.9 2.6v17c.1.5.4 1.6 1.9 1.6h4s1.6 0 1.6-1.9V21.5z"},{d:"M64.4 37.1c.1-1.2-.7-1.5-1.1-1.5H37.5c-1.9 0-1.9 1.9-1.9 1.9v3.6c0 1.6 1 2 1.5 2h18c.7.1 1.9.6 1.9 2.6v17c.1.5.4 1.6 1.9 1.6h4s1.6 0 1.6-1.9V37.1z"},{d:"M24.2 78.5c.2.2 1.2 1 2.6-.4l13-13c.4-.4 1.5-1.2 1.5.5v12.8c.1.5.4 1.6 1.9 1.6h4s1.6 0 1.6-1.9V52.8c0-1.2-.7-1.4-1.1-1.5H21.9c-1.9 0-1.9 1.9-1.9 1.9v3.6c0 1.6 1 2 1.5 2h12c.5 0 2 .1.6 1.5L21.6 73s-1.5 1.4-.2 2.6l2.8 2.9z"}]}},holiday_operating_hours:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M65.88 50.24A14.12 14.12 0 0180 64v.31a14.12 14.12 0 01-13.8 14.16h-.32a14.12 14.12 0 01-.31-28.23zm-.56 3.86v.11l-2.07 6.66a.52.52 0 01-.52.39H56a.73.73 0 00-.47 1.22l.07.06 5.39 4a.69.69 0 01.25.65v.1l-2.54 6.76a.66.66 0 00.94.81l.08-.06 5.83-4.32a.69.69 0 01.7-.06l.09.06 5.79 4.32a.65.65 0 001-.65v-.1l-2.56-6.79a.7.7 0 01.14-.68l.08-.07 5.39-4a.71.71 0 00-.3-1.27h-6.71a.65.65 0 01-.58-.3v-.09l-2-6.62a.65.65 0 00-1.27-.13zM44.8 22a24.88 24.88 0 0124.81 24.8v.3a18.32 18.32 0 00-3.17-.39h-1v-.25a20.57 20.57 0 10-17 20.61 17.43 17.43 0 001.15 4.07 24.39 24.39 0 01-4.79.47 24.81 24.81 0 010-49.61zm.2 14.13a1.32 1.32 0 011.28 1.29v8.27a1.3 1.3 0 00.34 1l4.76 4.91a1.26 1.26 0 010 1.81l-1.78 1.81a1.24 1.24 0 01-1.79 0l-6.3-6.38a1.82 1.82 0 01-.34-.95V37.42a1.32 1.32 0 011.28-1.29z"}},home:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M78.8 51.2h-6.3v27.5c0 .8-.5 1.2-1.3 1.2H58.8c-.8 0-1.3-.5-1.3-1.2V57.5h-15v21.2c0 .8-.5 1.2-1.3 1.2H28.8c-.8 0-1.3-.5-1.3-1.2V51.2h-6.3c-.5 0-1-.2-1.1-.8-.3-.5-.1-1 .3-1.4l28.8-28.8c.5-.5 1.4-.5 1.8 0L79.8 49c.4.4.4.9.3 1.4s-.8.8-1.3.8z"}},household:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M51.5 20.6c-.9-.8-2.2-.8-3 0L20.7 46.2c-1.5 1.4-.5 3.8 1.5 3.8H26v24c0 3.3 2.7 6 6 6h36c3.3 0 6-2.7 6-6V50h3.8c2 0 3-2.4 1.5-3.8L51.5 20.6zM36.9 63.9c-.2.3-.6.1-1 .1h-2.4c-1.5 0-2.5-.8-2.5-2.4.1-2.4 2.5-3.6 5.1-4.7 1.8-.8 2.1-1.5 2.1-2.3 0-.8-.5-1.5-1.1-2.1-1.1-1-1.6-2.4-1.6-4 0-3 1.8-5.6 5-5.6 1.9 0 3.3.9 4.2 2.3-2.3 1.8-3.7 4.5-3.7 7.9 0 1.9.5 3.7 1.5 5.2.4.6.2 1.1-.5 1.4-1.7.9-3.9 2.1-5.1 4.2zM57.6 71H42.4c-1.7 0-3-1.6-3-3.4.1-2.7 2.9-4.1 5.8-5.4 2-.9 2.3-1.6 2.3-2.5 0-.9-.6-1.7-1.2-2.3-1.2-1.1-1.8-2.6-1.8-4.4 0-3.3 2-6.2 5.6-6.2s5.6 2.9 5.6 6.2c0 1.8-.6 3.3-1.8 4.4-.7.6-1.2 1.4-1.2 2.3 0 .8.3 1.6 2.3 2.5 2.9 1.3 5.7 2.7 5.8 5.4-.2 1.8-1.5 3.4-3.2 3.4zm8.9-7h-2.4c-.4 0-.8.2-1-.1-1.2-2.1-3.4-3-5.2-3.9-.6-.3-.8-1-.4-1.6 1-1.5 1.5-3.3 1.5-5.2 0-3.3-1.4-6.1-3.6-7.8.8-1.4 2.2-2.3 4.2-2.3 3.3 0 5 2.6 5 5.6 0 1.6-.5 3-1.6 4-.6.6-1.1 1.3-1.1 2.1s.3 1.5 2.1 2.3c2.6 1.2 5.1 2.3 5.1 4.7C69 63.2 68 64 66.5 64z"}},immunization:{xmlns:"http://www.w3.org/2000/svg",g:{path:{d:"M53.76 31.24a7.19 7.19 0 00-.85-.7A4.13 4.13 0 0047.76 37l.82.82h-.06L35 51.3c-.3.28-.59.57-.8.79a6.85 6.85 0 00-.86 8.15.25.25 0 010 .07 16 16 0 006.42 6.36 6.23 6.23 0 002.57.87 7.1 7.1 0 005.89-2.18L62 51.51a.46.46 0 00.11-.16l.91.91a4.15 4.15 0 105.73-6zM78.09 28.45c-2.19-2.25-4.42-4.45-6.66-6.66a4.72 4.72 0 00-4-1.38 4.77 4.77 0 00-2.58 8.25c.69.68.31.36 1 1.07l-3.11 3a.83.83 0 000 1.19c.36.35 2.75 2.74 3.11 3.08a.85.85 0 001.19 0l3-3.07c.77.78.49.46 1.18 1.14a4.76 4.76 0 106.81-6.65zM31 66.23c-3.61 3.62-6.56 6.66-10.17 10.28a1.74 1.74 0 102.5 2.43c3.58-3.57 6.5-6.57 10.08-10.14.07-.07.13-.16.18-.21l-2.47-2.46z"}}},individual:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M79.4 72.9l-12 6.8c-.6.4-1.5.4-2.1 0l-11.9-6.8c-.5-.3-.5-.9 0-1.1l2.8-1.6c.2-.1.4-.1.6 0l7.3 4.1c.7.4 1.5.6 2.3.6s1.6-.2 2.3-.6l7.3-4.1c.2-.1.4-.1.6 0l2.8 1.6c.5.2.5.8 0 1.1zm0-7.7l-12 6.8c-.6.4-1.5.4-2.1 0l-11.9-6.8c-.5-.3-.5-.9 0-1.1l2.8-1.6c.2-.1.4-.1.6 0l7.3 4.1c.7.4 1.5.6 2.3.6s1.6-.2 2.3-.6l7.3-4.1c.2-.1.4-.1.6 0l2.8 1.6c.5.2.5.8 0 1.1zm-14-.8l-12-6.8c-.5-.3-.5-.9 0-1.1l12-6.8c.6-.4 1.5-.4 2.1 0l12 6.8c.5.3.5.9 0 1.1l-12 6.8c-.6.3-1.5.3-2.1 0zM51.9 60.5c.5-.3.5-.9 0-1.1l-2.8-1.6H49v-1.3s0-1.7 1.5-2.6c.4-.2 1.2-.6 2.1-1.1-.4-.2-.8-.4-1.2-.5-1.8-.9-4.4-1.8-5.2-4.1-.5-1.2-.2-2.5.4-3.6 1.1-1.1 2.1-2.1 3-3.5.2-.4.4-.6.6-1 2.5-3.6 2.8-8.5 1.4-12.6-1.5-4.4-5.4-7.4-10.2-7.5h-.7c-4.8.1-8.8 3.1-10.2 7.5-1.5 4.2-1.1 9 1.4 12.6.1.4.4.6.6 1 .9 1.4 2 2.3 3 3.5.5 1.1.7 2.3.4 3.6-.7 2.2-3.3 3.2-5.2 4.1-4.2 1.8-9.4 4.4-10.2 9.5-.9 4.2 2 8.4 6.4 8.4H49l2.9-1.9c.5-.3.5-.9 0-1.1l-2.8-1.6H49v-3.2l2.9-1.9z"}},insights:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M78.3 26.9H31c-.9 0-1.7.8-1.7 1.7v35.2c0 1.4-1.3 2.5-2.7 2.3-1.2-.2-2-1.3-2-2.4V38.5c0-.7-.5-1.2-1.2-1.2h-1.7c-.9 0-1.7.8-1.7 1.7v29.4c0 2.5 2.1 4.6 4.6 4.6H75.4c2.5 0 4.6-2.1 4.6-4.6V28.7c0-1-.8-1.8-1.7-1.8zm-26 33.5c0 .7-.5 1.2-1.2 1.2H37.3c-.7 0-1.2-.5-1.2-1.2v-2.3c0-.7.5-1.2 1.2-1.2h13.8c.7 0 1.2.5 1.2 1.2v2.3zm0-9.2c0 .7-.5 1.2-1.2 1.2H37.3c-.7 0-1.2-.5-1.2-1.2v-2.3c0-.7.5-1.2 1.2-1.2h13.8c.7 0 1.2.5 1.2 1.2v2.3zm20.8 9.2c0 .7-.5 1.2-1.2 1.2H58.1c-.7 0-1.2-.5-1.2-1.2v-2.3c0-.7.5-1.2 1.2-1.2h13.8c.7 0 1.2.5 1.2 1.2v2.3zm0-9.2c0 .7-.5 1.2-1.2 1.2H58.1c-.7 0-1.2-.5-1.2-1.2v-2.3c0-.7.5-1.2 1.2-1.2h13.8c.7 0 1.2.5 1.2 1.2v2.3zm0-9.3c0 .7-.5 1.2-1.2 1.2H37.3c-.7 0-1.2-.5-1.2-1.2V35c0-.7.5-1.2 1.2-1.2h34.6c.7 0 1.2.5 1.2 1.2v6.9z"}},instore_locations:{xmlns:"http://www.w3.org/2000/svg",g:{path:[{d:"M32.1 70.1c-.6 0-1.2-.5-1.2-1.2v-7.3c0-.6.5-1.2 1.2-1.2h7.5c.6 0 1.2.5 1.2 1.2V69c0 .6-.5 1.2-1.2 1.2h-7.5zM46.3 70.1c-.6 0-1.2-.5-1.2-1.2V57.7c0-.6.5-1.2 1.2-1.2h7.5c.6 0 1.2.5 1.2 1.2V69c0 .6-.5 1.2-1.2 1.2h-7.5zM60.5 70.1c-.6 0-1.2-.5-1.2-1.2v-7.3c0-.6.5-1.2 1.2-1.2H68c.6 0 1.2.5 1.2 1.2V69c0 .6-.5 1.2-1.2 1.2h-7.5zM32.1 42.9c-.6 0-1.2-.5-1.2-1.2V31.1c0-.6.5-1.2 1.2-1.2h21.7c.6 0 1.2.5 1.2 1.2v10.7c0 .6-.5 1.2-1.2 1.2H32.1zM60.5 42.9c-.6 0-1.2-.5-1.2-1.2v-7.3c0-.6.5-1.2 1.2-1.2H68c.6 0 1.2.5 1.2 1.2v7.3c0 .6-.5 1.2-1.2 1.2h-7.5z"},{d:"M73.8 20H26.2c-3.4 0-6.2 2.8-6.2 6.2v47.6c0 3.4 2.8 6.2 6.2 6.2h47.6c3.4 0 6.2-2.8 6.2-6.2V26.2c0-3.4-2.8-6.2-6.2-6.2zm0 51.7c0 1.2-.9 2.1-2.1 2.1H28.3c-1.1 0-2.1-.9-2.1-2.1v-19h47.6v19zm0-25H26.2V28.3c0-1.2.9-2.1 2.1-2.1h43.4c1.1 0 2.1.9 2.1 2.1v18.4z"}]}},investment_account:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M74 27H26c-3.3 0-6 2.7-6 6v34c0 3.3 2.7 6 6 6h48c3.3 0 6-2.7 6-6V33c0-3.3-2.7-6-6-6zm-5 27c0 .9-1 1.3-1.7.7l-4.6-4.6-10.6 9.1c-1.2 1.2-3.1 1.2-4.2 0l-6.4-7.3-11.4 10c-.4.4-1 .4-1.4 0l-.5-.5c-.4-.4-.4-1 0-1.4l11.2-15.3c1.2-1.2 3.1-1.2 4.2 0l6.4 6.4 6.5-7.5-4.2-3.8c-.6-.6-.2-1.8.7-1.8h14c1.1 0 1.9 1 1.9 2.1V54z"}},invocable_action:{xmlns:"http://www.w3.org/2000/svg",path:[{d:"M62.8 71.2V79c0 .6.5 1.1 1.1 1.1.2 0 .5-.1.6-.2l15.1-12.3c.2-.2.3-.5.3-.8 0-.3-.2-.6-.4-.8L64.4 53.1c-.1-.1-.3-.1-.5-.1-.6 0-1.1.5-1.1 1.1v8.3c-9.3 2.5-16.9-5.7-16.9-5.7-.2-.2-.5-.3-.8-.3-.6 0-1.1.5-1.1 1.1v.2c3.8 15.7 18.8 13.5 18.8 13.5z"},{d:"M38.2 58.9l-.2-.7V57.3c0-3.9 3.2-7.1 7.1-7.1 1.9 0 3.6.7 5 2.1l.1.1.1.1c.9 1 3.5 3.1 6.6 4V54c0-3.9 3.2-7.1 7.1-7.1 1.5 0 2.5.4 3.2.8l.7.3.6.5 8.5 7.2c2-2 3.2-4.8 3.2-7.8 0-6.2-5-11.2-11.2-11.2h-.6v-1c0-6.2-5.1-11.3-11.3-11.3-3 0-5.6 1.1-7.6 3-1.6-4.2-5.7-7.4-10.6-7.4-6.2 0-11.3 5.1-11.3 11.3 0 2.1.6 4 1.5 5.7-5 1.2-8.6 5.6-8.6 11 0 6.1 4.7 11 10.8 11.2h7.4c-.4-.1-.4-.2-.5-.3z"}]},iot_context:{xmlns:"http://www.w3.org/2000/svg",g:{path:[{d:"M73 43.5c-3.2 0-6 2.2-6.7 5.2h-4.9c-.8-5.6-5.6-10-11.5-10s-10.7 4.3-11.5 10h-4.9c-.8-3-3.5-5.2-6.7-5.2-3.8 0-7 3.1-7 7 0 3.8 3.1 7 7 7 3.2 0 6-2.2 6.7-5.2h4.9c.8 5 4.7 8.8 9.7 9.6v4.9c-3 .8-5.2 3.5-5.2 6.7 0 3.8 3.1 7 7 7s7-3.1 7-7c0-3.2-2.2-6-5.2-6.7v-4.9c5-.7 8.9-4.6 9.7-9.6h4.9c.8 3 3.5 5.2 6.7 5.2 3.8 0 7-3.1 7-7s-3.1-7-7-7zM53.5 73.4c0 1.9-1.6 3.5-3.5 3.5s-3.5-1.6-3.5-3.5 1.6-3.5 3.5-3.5 3.5 1.6 3.5 3.5z"},{d:"M33.3 36c-.8.8-.8 2 0 2.8.8.8 2 .8 2.8 0 7.4-7.4 19.4-7.4 26.8 0 .4.4.9.6 1.4.6s1-.2 1.4-.6c.8-.8.8-2 0-2.8-8.9-9-23.5-9-32.4 0z"},{d:"M28.2 32.4C40 20.7 59 20.7 70.8 32.4c.4.4.9.6 1.4.6s1-.2 1.4-.6c.8-.8.8-2 0-2.8-13.3-13.3-34.9-13.3-48.2 0-.8.8-.8 2 0 2.8.8.8 2 .8 2.8 0z"}]}},iot_orchestrations:{xmlns:"http://www.w3.org/2000/svg",g:{"fill-rule":"evenodd",circle:[{cx:"39",cy:"32",r:"12"},{cx:"70",cy:"50",r:"12"}],path:[{"fill-rule":"nonzero",d:"M39 74a6 6 0 100-12 6 6 0 000 12zm0 6c-6.627 0-12-5.373-12-12s5.373-12 12-12 12 5.373 12 12-5.373 12-12 12zm6.728-38.662c3.582 4.407 8.307 6.98 14.07 7.675a2 2 0 10.479-3.971c-4.741-.571-8.522-2.631-11.445-6.227a2 2 0 10-3.104 2.523z"},{"fill-rule":"nonzero",d:"M43.287 58.624c2.3-5.192 2.449-10.57.45-16.022a2 2 0 10-3.755 1.377c1.644 4.484 1.525 8.788-.352 13.024a2 2 0 103.657 1.62zM47.963 25.753c3.782-2.078 7.668-2.308 11.824-.69 4.007 1.705 6.575 4.907 7.57 8.188.529 1.672.643 2.742.643 6.275a2 2 0 104 0c0-3.906-.154-5.344-.821-7.458-1.312-4.326-4.646-8.482-9.883-10.709-5.308-2.068-10.43-1.765-15.26.888a2 2 0 001.927 3.506zM47.963 74.278c3.782 2.078 7.668 2.308 11.824.689 4.007-1.705 6.575-4.906 7.57-8.187.529-1.672.643-2.742.643-6.276a2 2 0 114 0c0 3.907-.154 5.345-.821 7.459-1.312 4.325-4.646 8.481-9.883 10.708-5.308 2.068-10.43 1.765-15.26-.888a2 2 0 111.927-3.505z"}]}},javascript_button:{xmlns:"http://www.w3.org/2000/svg",g:{path:[{d:"M63 36h10.6c.8 0 1.4-.6 1.4-1.4 0-.4-.1-.7-.4-1L61.4 20.4c-.3-.3-.6-.4-1-.4-.8 0-1.4.6-1.4 1.4V32c0 2.2 1.8 4 4 4z"},{d:"M73 42H59c-3.3 0-6-2.7-6-6V22c0-1.1-.9-2-2-2H31c-3.3 0-6 2.7-6 6v48c0 3.3 2.7 6 6 6h38c3.3 0 6-2.7 6-6V44c0-1.1-.9-2-2-2zM37.8 66.3c0 2.9-1.4 3.9-3.6 3.9l-1.7-.2.3-1.8 1.2.2c1 0 1.6-.4 1.6-2v-6.5h2.2v6.4zm4.3 3.7c-1 0-2-.2-2.9-.6l.6-1.8c.8.4 1.6.6 2.5.6 1 0 1.6-.4 1.6-1.1s-.5-1-1.7-1.4c-1.2-.4-2.8-1.5-2.8-3s1.4-3 3.8-3c.9 0 1.8.1 2.6.5l-.5 1.8c-.7-.3-1.4-.5-2.1-.5-1 0-1.5.5-1.5 1s.6.9 1.9 1.4 2.6 1.6 2.6 3-1.3 3.1-4.1 3.1z"}]}},job_family:{xmlns:"http://www.w3.org/2000/svg",circle:{cx:"44.6",cy:"36.2",r:"16.1"},path:{d:"M48.8 79.6c2.8 0 1.2-1.9 1.2-1.9a19.22 19.22 0 01-4.2-12 18.65 18.65 0 011.7-7.9l.2-.4a1.17 1.17 0 00-.9-1.9 17.7 17.7 0 00-2.3-.1 24.35 24.35 0 00-24.1 20.9c0 1.2.4 3.5 4.2 3.5h23.7c.4-.2.4-.2.5-.2zM65.3 51.2a14.25 14.25 0 1014.2 14.3 14.25 14.25 0 00-14.2-14.3zm0 4.5a3.22 3.22 0 013.2 3.2 3.06 3.06 0 01-.7 2l2.3 4.3c.1.2 0 .4-.2.4a2.7 2.7 0 00-1.1.5c-.2.1-.4 0-.4-.1l-2.2-4.1a3.08 3.08 0 01-.9.1 3.22 3.22 0 01-3.2-3.2 3.08 3.08 0 013.2-3.1zm-2 8.2L61.1 68a3.26 3.26 0 011 2.3 3.2 3.2 0 11-3.2-3.2h.4l2.3-4.3c.1-.2.2-.2.5-.1a2.87 2.87 0 001.1.6c.1.4.2.6.1.6zm8.3 9.8a3.29 3.29 0 01-3-1.9h-4.4c-.2 0-.4-.2-.2-.4a2.48 2.48 0 00.1-.9v-.2c0-.2.1-.4.2-.4h4.2a3.12 3.12 0 013.1-2.6 3.22 3.22 0 013.2 3.2 3.44 3.44 0 01-3.2 3.2z"}},job_position:{xmlns:"http://www.w3.org/2000/svg",circle:{cx:"46.3",cy:"36.3",r:"16"},path:{d:"M66.6 51.1a11.39 11.39 0 00-11.4 11.4c0 7.7 8.1 15 10.6 16.9a1.09 1.09 0 001.5 0c2.5-2 10.6-9.2 10.6-16.9a11.25 11.25 0 00-11.3-11.4zm0 16a4.7 4.7 0 114.7-4.7 4.76 4.76 0 01-4.7 4.7zM50.4 79.7h1.4c5.2-.5 2.4-3.7 2.4-3.7-3.2-4.6-5-9.1-5-13.5a13.74 13.74 0 01.6-4.2c.2-2-.6-2.5-1-2.7h-.2a18.48 18.48 0 00-2.4-.1 24.26 24.26 0 00-24 20.9c0 1.2.4 3.5 4.2 3.5h23.8c0-.2.1-.2.2-.2z"}},job_profile:{xmlns:"http://www.w3.org/2000/svg",path:[{d:"M37.3 31.9h21.8c1.1 0 2-.9 2-2v-4c0-3.3-2.7-5.9-5.9-5.9H41.3c-3.3 0-5.9 2.7-5.9 5.9v4c-.1 1.1.8 2 1.9 2z"},{d:"M70 24.9h-2c-.6 0-1 .4-1 1v4c0 4.4-3.6 7.9-7.9 7.9H37.3c-4.4 0-7.9-3.6-7.9-7.9v-4c0-.6-.4-1-1-1h-2c-3.3 0-5.9 2.7-5.9 5.9v40.6c0 3.3 2.7 5.9 5.9 5.9h20c2.8 0 3.1-2.3 3.1-3.1V52.8c0-2.3 1.3-2.8 2-2.8h21.6c2.4 0 2.8-2.1 2.8-2.8V31c.1-3.4-2.6-6.1-5.9-6.1z"},{d:"M78.4 60.4H56.6c-.6 0-1.1-.5-1.1-1.1v-2.2c0-.6.5-1.1 1.1-1.1h21.8c.6 0 1.1.5 1.1 1.1v2.2c0 .6-.5 1.1-1.1 1.1zm0 9.8H56.6c-.6 0-1.1-.5-1.1-1.1v-2.2c0-.6.5-1.1 1.1-1.1h21.8c.6 0 1.1.5 1.1 1.1v2.2c0 .6-.5 1.1-1.1 1.1zm0 9.8H56.6c-.6 0-1.1-.5-1.1-1.1v-2.2c0-.6.5-1.1 1.1-1.1h21.8c.6 0 1.1.5 1.1 1.1v2.2c0 .6-.5 1.1-1.1 1.1z"}]},kanban:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M56.5 38.3c0-1-.9-1.9-1.9-1.9H43.4c-1 0-1.9.9-1.9 1.9V72c0 1 .9 1.9 1.9 1.9h11.2c1 0 1.9-.9 1.9-1.9V38.3zm-22.5 0c0-1-.9-1.9-1.9-1.9H20.9c-1 0-1.9.9-1.9 1.9V77c0 1 .9 1.9 1.9 1.9h11.2c1 0 1.9-.9 1.9-1.9V38.3zm45 0c0-1-.9-1.9-1.9-1.9H65.9c-1 0-1.9.9-1.9 1.9V67c0 1 .9 1.9 1.9 1.9h11.2c1 0 1.9-.9 1.9-1.9V38.3zm0-17.5c0-1-.9-1.9-1.9-1.9H20.9c-1 0-1.9.9-1.9 1.9V27c0 1 .9 1.9 1.9 1.9h56.2c1 0 1.9-.9 1.9-1.9v-6.2z"}},key_dates:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M77.86 41.57a2.14 2.14 0 012.13 2v32.3a6.44 6.44 0 01-6.2 6.42H26.43a6.46 6.46 0 01-6.43-6.2V43.71a2.15 2.15 0 012-2.13h55.86zM49.21 47.8v.11l-2.87 9.2a.72.72 0 01-.74.55h-9.3a1 1 0 00-.63 1.69l.08.08 7.44 5.48a1 1 0 01.34.91v.12l-3.42 9.38a.91.91 0 001.32 1.1l.08-.06 8.05-6a1 1 0 011-.07l.09.07 8 6a.91.91 0 001.43-.94v-.1l-3.53-9.38a.93.93 0 01.15-.94l.09-.09 7.44-5.48a1 1 0 00-.43-1.76h-9.26a.9.9 0 01-.81-.43v-.12L50.88 48a.9.9 0 00-1.67-.2zM63.93 18a4.29 4.29 0 014.28 4.29v2.14h5.36A6.44 6.44 0 0180 30.86V33a2.14 2.14 0 01-2.14 2.14H22.14A2.14 2.14 0 0120 33v-2.14a6.44 6.44 0 016.43-6.43h5.36v-2.14a4.29 4.29 0 118.57 0v2.14h19.28v-2.14A4.3 4.3 0 0163.93 18z"}},knowledge:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M32 59h13c1.1 0 2-.9 2-2V27c0-2.2-2-4-4-4H32.3C31 23 30 24 30 25.3V57c0 1.1.9 2 2 2zm44-30v32c0 2.2-1.8 4-4 4H28c-2.2 0-4-1.8-4-4V29c-3.3 0-6 2.7-6 6v30c0 3.3 2.7 6 6 6h19c1.1 0 2 .9 2 2s.9 2 2 2h6c1.1 0 2-.9 2-2s.9-2 2-2h19c3.3 0 6-2.7 6-6V35c0-3.3-2.7-6-6-6zM55 59h12.7c1.3 0 2.3-1 2.3-2.3V25c0-1.1-.9-2-2-2H57c-2 0-4 1.8-4 4v30c0 1.1.9 2 2 2z"}},lead:{xmlns:"http://www.w3.org/2000/svg",circle:{cx:"50",cy:"29",r:"9"},path:{d:"M78 44H22c-2 0-2.8 2.5-1.1 3.6L35.5 57c.7.5 1.1 1.4.8 2.2l-5.5 18.3c-.6 2 2 3.4 3.5 1.9l14.2-15c.8-.9 2.2-.9 3 0l14.2 15c1.4 1.5 4 .1 3.5-1.9l-5.5-18.3c-.2-.8.1-1.7.8-2.2l14.6-9.4c1.7-1.1.9-3.6-1.1-3.6z"}},lead_insights:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M50 22c-15.5 0-28 12.6-28 28s12.6 28 28 28c15.5 0 28-12.6 28-28S65.5 22 50 22zm0 52.7c-13.6 0-24.7-11-24.7-24.7 0-13.6 11-24.7 24.7-24.7 13.6 0 24.7 11 24.7 24.7 0 13.6-11.1 24.7-24.7 24.7z"},g:{path:{d:"M49 49.2c0 2.4-.5 4.5-1.4 6.2-.9 1.7-2.3 3-4.1 4-1.8.9-4 1.4-6.6 1.4v-2c2.9 0 5.2-.7 6.9-2s2.6-3.2 2.8-5.6c-1.6 1.6-3.5 2.4-5.7 2.4-1.2 0-2.3-.3-3.3-.8s-1.7-1.2-2.3-2.2c-.6-1-.8-2.1-.8-3.4 0-1.3.3-2.5.9-3.6.6-1.1 1.4-1.9 2.5-2.5 1.1-.6 2.4-.9 3.9-.9 2.4 0 4.3.8 5.5 2.4s1.7 3.6 1.7 6.6zm-2.4-.4c0-2.3-.4-4-1.1-5.1-.7-1.1-2-1.7-3.7-1.7-1.5 0-2.7.4-3.6 1.3-.8.9-1.2 2.1-1.2 3.6s.4 2.6 1.2 3.4c.8.8 1.9 1.2 3.3 1.2 1.1 0 2-.2 2.9-.7s1.5-1.2 2.2-2zM66.1 49.2c0 2.4-.5 4.5-1.4 6.2-.9 1.7-2.3 3-4.1 4-1.8.9-4 1.4-6.6 1.4v-2c2.9 0 5.2-.7 6.9-2s2.6-3.2 2.8-5.6c-1.6 1.6-3.5 2.4-5.7 2.4-1.2 0-2.3-.3-3.3-.8s-1.7-1.2-2.3-2.2c-.6-1-.8-2.1-.8-3.4 0-1.3.3-2.5.9-3.6.6-1.1 1.4-1.9 2.5-2.5 1.1-.6 2.4-.9 3.9-.9 2.4 0 4.3.8 5.5 2.4s1.7 3.6 1.7 6.6zm-2.5-.4c0-2.3-.4-4-1.1-5.1-.7-1.1-2-1.7-3.7-1.7-1.5 0-2.7.4-3.6 1.3-.8.9-1.2 2.1-1.2 3.6s.4 2.6 1.2 3.4c.8.8 1.9 1.2 3.3 1.2 1.1 0 2-.2 2.9-.7s1.6-1.2 2.2-2z"}}},lead_list:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M37.1 62.3H77c1.1 0 2 .9 2 2v4c0 1.1-.9 2-2 2H37.1c-1.1 0-2-.9-2-2v-4c0-1.1.9-2 2-2zM25 70.3h-4c-1.1 0-2-.9-2-2v-4c0-1.1.9-2 2-2h4c1.1 0 2 .9 2 2v4c.1 1-.7 1.9-1.8 2H25zM25 52.4h-4c-1.1 0-2-.9-2-2v-4c0-1.1.9-2 2-2h4c1.1 0 2 .9 2 2v4c.1 1-.7 1.9-1.8 2H25zM25 34.5h-4c-1.1 0-2-.9-2-2v-4c0-1.1.9-2 2-2h4c1.1 0 2 .9 2 2v4c.1 1-.7 1.9-1.8 2H25zM37.1 44.4h35.1c1.1 0 2 .9 2 2v4c0 1.1-.9 2-2 2H37.1c-1.1 0-2-.9-2-2v-4c0-1.1.9-2 2-2zM37.1 26.6H77c1.1 0 2 .9 2 2v4c0 1.1-.9 2-2 2H37.1c-1.1 0-2-.9-2-2v-4c0-1.1.9-2 2-2z"}},letterhead:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M73.8 20H26.2c-3.4 0-6.2 2.8-6.2 6.2v47.6c0 3.4 2.8 6.2 6.2 6.2h47.6c3.4 0 6.2-2.8 6.2-6.2V26.2c0-3.4-2.8-6.2-6.2-6.2zM71 69.1c0 .8-.8 1.4-1.6 1.4H30.5c-.8 0-1.4-.8-1.4-1.6v-9c0-.8.8-1.4 1.6-1.4h38.9c.8 0 1.4.8 1.4 1.6v9zm0-29.2c0 .8-.8 1.4-1.6 1.4H30.5c-.8 0-1.4-.8-1.4-1.6v-9c0-.8.8-1.4 1.6-1.4h38.9c.8 0 1.4.8 1.4 1.6v9z"}},lightning_component:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M61.1 20H44.2c-2.5 0-4.7 1.5-5.6 3.8L28.1 50.9c-.8 2 .7 4.1 2.8 4.1h17.2l-6.4 22.4c-.6 2.1 2 3.5 3.4 1.8L71.4 48c1.7-1.9.3-5-2.3-5h-13l11.4-18.4c1.2-2-.2-4.6-2.6-4.6h-3.8z"}},lightning_usage:{xmlns:"http://www.w3.org/2000/svg",path:[{d:"M19 73.9c0 2.8 2.2 5 5 5h53c1.1 0 2-.9 2-2v-2.1c0-1.1-.9-2-2-2H26.9c-1 0-1.9-.9-1.9-1.9v-50c0-1.1-.9-2-2-2h-2c-1.1 0-2 .9-2 2v53z"},{d:"M34.4 57.9c-.8 0-1.5-.3-2.1-.9-1.2-1.2-1.2-3.1 0-4.2l16-15.9c1.2-1.2 3.1-1.2 4.2 0l7.7 7.7 13.5-13.7c1.2-1.2 3.1-1.2 4.2 0 1.2 1.2 1.2 3.1 0 4.2L62.4 50.8c-.6.6-1.3.9-2.1.9s-1.6-.3-2.1-.9l-7.8-7.7L36.6 57c-.6.6-1.4.9-2.2.9z"}]},link:{xmlns:"http://www.w3.org/2000/svg",path:[{d:"M51.5 69.4c-.9-.1-1.7-.2-2.6-.4-.9-.2-1.8-.4-2.7-.7-.5-.2-1.1-.1-1.5.3l-.6.6c-3.6 3.6-9.4 4-13.3.7-4.2-3.7-4.4-10.1-.5-14l9.5-9.5c1.2-1.2 2.7-2.1 4.3-2.5 2-.5 4.1-.4 6 .4 1.2.5 2.3 1.2 3.2 2.1.5.5.9 1.1 1.2 1.7.5.8 1.6 1 2.3.3l3.5-3.5c.5-.5.6-1.3.1-1.9-.5-.7-1.1-1.4-1.7-2-.9-.9-1.9-1.7-3-2.4-1.8-1.1-3.8-1.9-5.8-2.3-3.9-.8-8.1-.2-11.7 1.8-1.4.8-2.7 1.7-3.9 2.9l-9.2 9.2c-6.6 6.6-7.1 17.3-.8 24.1 6.7 7.2 17.9 7.4 24.8.5l3.1-3.1c1-.7.5-2.2-.7-2.3z"},{d:"M74.5 24.5c-6.8-6.3-17.6-5.8-24.1.8L47.5 28c-.9.9-.3 2.3.9 2.4 1.8.1 3.5.5 5.3 1.1.5.2 1.1 0 1.5-.3l.6-.6c3.6-3.6 9.4-4 13.3-.7 4.2 3.7 4.4 10.1.5 14l-9.5 9.5c-1.2 1.2-2.7 2.1-4.3 2.5-2 .5-4.1.4-6-.4-1.2-.5-2.3-1.2-3.2-2.1-.5-.5-.9-1-1.2-1.6-.5-.8-1.6-1-2.3-.3L39.6 55c-.5.5-.6 1.3-.1 1.9.5.7 1.1 1.4 1.7 2 .9.9 1.9 1.7 3 2.4 1.8 1 3.8 1.7 5.8 2.1 3.9.8 8.1.2 11.7-1.8 1.4-.8 2.7-1.7 3.9-2.9l9.5-9.5c6.7-6.8 6.6-18.1-.6-24.7z"}]},list_email:{xmlns:"http://www.w3.org/2000/svg",path:[{d:"M64.9 34.9H30.3c-2.7 0-4.8 2.2-4.8 4.8v.8c0 .4.4.8.8.8h32.1c2.7 0 4.8 2.2 4.8 4.8v23c0 .4.4.8.8.8h.8c2.7 0 4.8-2.2 4.8-4.8V39.7c.1-2.6-2.1-4.8-4.7-4.8z"},{d:"M75.3 24.6H40.7c-2.7 0-4.8 2.2-4.8 4.8v.8c0 .4.4.8.8.8h32.1c2.7 0 4.8 2.2 4.8 4.8v23c0 .4.4.8.8.8h.8c2.7 0 4.8-2.2 4.8-4.8V29.4c.1-2.6-2.1-4.8-4.7-4.8z"},{d:"M38.5 64.2c.5.5 1.2.5 1.7 0l18.3-17c.3-.6.2-1.7-1.1-1.7l-36.1.1c-1 0-1.8.9-1.1 1.7l18.3 16.9zm20.3-10.4c0-.8-1-1.3-1.6-.7L42.9 66.3c-1 .9-2.2 1.4-3.5 1.4-1.3 0-2.5-.5-3.5-1.3L21.7 53.1c-.6-.6-1.6-.2-1.6.7-.1-.2-.1 18.4-.1 18.4 0 1.8 1.5 3.2 3.2 3.2h32.3c1.8 0 3.2-1.5 3.2-3.2V53.8z"}]},live_chat:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M49.5 21.9c-16.7 0-30 12.3-30 27.4 0 4.8 1.4 9.3 3.6 13.3.4.6.5 1.4.3 2.1l-3.9 10.7c-.4 1 .6 1.9 1.6 1.6L32 72.9c.6-.3 1.4-.1 2.1.3 4.5 2.5 9.9 4 15.7 4 16.4-.2 29.8-12.3 29.8-27.6-.1-15.5-13.5-27.7-30.1-27.7zm-15 32.6c-2.8 0-5-2.3-5-5 0-2.8 2.3-5 5-5 2.8 0 5 2.3 5 5s-2.3 5-5 5zm15 0c-2.8 0-5-2.3-5-5 0-2.8 2.3-5 5-5 2.8 0 5 2.3 5 5s-2.2 5-5 5zm15.1 0c-2.8 0-5-2.3-5-5 0-2.8 2.3-5 5-5s5 2.3 5 5-2.3 5-5 5z"}},live_chat_visitor:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M50 22.2c-16.6 0-30 12.5-30 28 0 5 1.4 9.6 3.8 13.7.3.5.4 1.1.2 1.6l-2.8 8.9c-.5 1.6 1 3 2.6 2.5l8.8-3.1c.6-.2 1.2-.1 1.7.2 4.6 2.7 10 4.2 15.8 4.2 16.6 0 30-12.5 30-28-.1-15.5-13.6-28-30.1-28zm-5.5 26.5c2.4-1 2.7-1.9 2.7-2.9 0-1.1-.6-2-1.4-2.7-1.4-1.2-2.2-3-2.2-5 0-3.8 2.4-7 6.4-7s6.3 3.2 6.3 7c0 2-.7 3.8-2.1 5-.8.7-1.4 1.6-1.4 2.7 0 1 .3 1.9 2.6 2.8C58.8 50 61.8 52 62 55c.2 2-1.3 4.1-3.2 4.1H41.4C39.5 59.1 38 57 38 55c0-3 3.2-4.8 6.5-6.3zm-3.8 20.5c-1.7 0-3.1-1.4-3.1-3.1 0-1.7 1.4-3.1 3.1-3.1 1.7 0 3.1 1.4 3.1 3.1s-1.4 3.1-3.1 3.1zm9.3 0c-1.7 0-3.1-1.4-3.1-3.1 0-1.7 1.4-3.1 3.1-3.1 1.7 0 3.1 1.4 3.1 3.1s-1.4 3.1-3.1 3.1zm9.3 0c-1.7 0-3.1-1.4-3.1-3.1 0-1.7 1.4-3.1 3.1-3.1s3.1 1.4 3.1 3.1-1.5 3.1-3.1 3.1z"}},location:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M77.5 28.28l-18-9a3.2 3.2 0 00-2.62 0l-16.63 8.38-16.75-8.38a3.1 3.1 0 00-3.13.12A2.88 2.88 0 0019 21.91v45a2.92 2.92 0 001.63 2.62l18 9a3.2 3.2 0 002.63 0L58 70.16l16.63 8.38a2.52 2.52 0 001.37.37 2.75 2.75 0 001.62-.5 2.88 2.88 0 001.38-2.5v-45a2.81 2.81 0 00-1.5-2.63zM72.75 34v23.78a1.87 1.87 0 01-2.5 1.88c-4.63-1.75-.88-9.5-4.25-13.75-3.13-3.88-7.13.13-11-6-3.63-5.91 1.25-10.13 5.75-12.38a2.13 2.13 0 011.75 0l9.25 4.63a2 2 0 011 1.84zM47.62 68.78a2.1 2.1 0 01-2.25-.25 6.57 6.57 0 01-2.25-4.63c0-3-5-2-5-8 0-4.87-5.75-6.13-10.63-5.63a1.88 1.88 0 01-2.12-2V30a1.86 1.86 0 012.75-1.75l10.75 5.38a.44.44 0 01.25.13l.37.25c4.5 2.63 3.62 4.75 1.75 8-2.13 3.62-3 0-6-1s-6 1-5 3 4 0 6 2 2 5 8 3 7-1 9 1a6.31 6.31 0 010 9c-1.75 1.75-2.5 5.5-3.25 8a2 2 0 01-1 1.25z"}},location_permit:{xmlns:"http://www.w3.org/2000/svg",path:[{d:"M66.47 31.75l-11.4-11.39a1.33 1.33 0 00-.89-.36 1.21 1.21 0 00-1.24 1.25v9.08a3.38 3.38 0 003.38 3.38h9.08a1.22 1.22 0 001.25-1.25c.17-.18.17-.35-.18-.71zm.35 9.08A1.78 1.78 0 0065 39.05H52.94a5.17 5.17 0 01-5.17-5.16V21.78A1.78 1.78 0 0046 20H28.72a5.17 5.17 0 00-5.16 5.16v41.49a5.17 5.17 0 005.16 5.16h17.63c1.42 0 1.78-.89 1.6-2.49s-.53-7.84 3.74-12.82 11.4-5.34 12.46-5.34 2.85 0 2.67-1.61zm-37.21-10l4.28-.53a.18.18 0 00.18-.18l2-3.92a.55.55 0 01.72 0l1.95 3.92.18.18 4.28.53a.34.34 0 01.17.53l-3.2 3.21V35l.71 4.27c0 .18-.18.53-.53.35l-3.74-1.95h-.41l-3.74 1.95c-.18.18-.53 0-.53-.35l.53-4.27v-.4l-3.2-3a1.39 1.39 0 01.35-.74zm15.67 29a1.78 1.78 0 01-1.78 1.78H32.28a1.78 1.78 0 01-1.78-1.78V58.1a1.79 1.79 0 011.78-1.78H43.5a1.78 1.78 0 011.78 1.78zm9.44-10.5a1.78 1.78 0 01-1.78 1.78H32.28a1.78 1.78 0 01-1.78-1.78V47.6a1.79 1.79 0 011.78-1.78h20.84a1.78 1.78 0 011.78 1.78v1.78zM64.15 63.8a2.49 2.49 0 102.5 2.49 2.68 2.68 0 00-2.5-2.49z"},{"data-name":"Shape",d:"M64.15 55.43a12.29 12.29 0 1012.29 12.29 12.31 12.31 0 00-12.29-12.29zM64.51 75a.53.53 0 01-.71 0c-1.25-1.06-5.52-4.62-5.52-8.72a5.88 5.88 0 0111.75 0c-.18 4.11-4.27 7.72-5.52 8.72z"}]},log_a_call:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M69.7 20H32.1c-3.3 0-6.1 3-6.1 6v2h-2c-2.2 0-4 1.8-4 4s1.8 4 4 4h2v10h-2c-2.2 0-4 1.8-4 4s1.8 4 4 4h2v10h-2c-2.2 0-4 1.8-4 4s1.8 4 4 4h2v2c0 3 2.8 6 6.1 6h37.6c3.3 0 6.3-3 6.3-6.3v-48c0-3.3-3-5.7-6.3-5.7zm-3.6 40.3l-2.8 2.8c-.6.6-1.5 1-2.3.9-6.6-.4-12.8-3.4-17.2-7.7-4.4-4.4-7.4-10.6-7.7-17.2 0-.9.3-1.7.9-2.3l2.8-2.8c1.3-1.3 3.5-1.2 4.6.3l2.6 3.2c.9 1.1.9 2.6.1 3.8l-2.2 3.1c-.3.4-.3 1 .1 1.3l4.6 5.1 5.1 4.6c.4.4.9.4 1.3.1l3.1-2.2c1.1-.8 2.7-.8 3.8.1l3.2 2.6c1.2.8 1.3 3 0 4.3z"}},logging:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M77.2 56.2h-3.7c-1 0-1.8 1-1.8 1.8v12.3c0 1-.9 1.8-1.8 1.8H29.3c-1 0-1.8-.9-1.8-1.8V58c0-.9-.9-1.8-1.8-1.8H22c-1 0-1.8 1-1.8 1.8v16.6c0 2.7 2.2 4.9 4.9 4.9h49.1c2.7 0 4.9-2.2 4.9-4.9V58c-.1-.9-.9-1.8-1.9-1.8zM50.8 21c-.7-.7-1.8-.7-2.6 0L31.6 37.6c-.7.7-.7 1.8 0 2.6l2.6 2.6c.7.7 1.8.7 2.6 0l6.9-6.9c.7-.7 2.2-.2 2.2.9v26c0 1 .7 1.8 1.7 1.8h3.7c1 0 2-1 2-1.8V36.9c0-1.1 1.2-1.6 2.1-.9l6.9 6.9c.7.7 1.8.7 2.6 0l2.6-2.6c.7-.7.7-1.8 0-2.6-.2 0-16.7-16.7-16.7-16.7z"}},loop:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M76.5 58.3c0 .1 0 .2-.1.2-.3 1.1-.7 2.2-1.1 3.3-.5 1.2-1 2.3-1.6 3.4-1.2 2.2-2.7 4.2-4.5 6-1.7 1.8-3.7 3.4-5.9 4.7-2.2 1.3-4.5 2.3-7 3-2.5.7-5.1 1.1-7.7 1.1C32.8 80 20 67.2 20 51.3s12.8-28.6 28.6-28.6c5.3 0 10.3 1.5 14.6 4h.1c2.1 1.2 4 2.7 5.6 4.4.5.4.8.7 1.2 1.2.9.8 1.6.3 1.6-.9V22c0-1.1.9-2 2-2h4c1.1 0 2 .9 2.2 2v24.5c0 .9-.8 1.8-1.8 1.8H53.6c-1.1 0-1.9-.8-1.9-1.9v-4.2c0-1.1.9-2 2-2h9.4c.8 0 1.4-.2 1.7-.7-3.6-5-9.6-8.3-16.2-8.3-11.1 0-20.1 9-20.1 20.1s9 20.1 20.1 20.1c8.7 0 16.1-5.5 18.9-13.3 0 0 .3-1.8 1.7-1.8h5.7c.8 0 1.6.6 1.6 1.5v.5z"}},macros:{xmlns:"http://www.w3.org/2000/svg",path:[{d:"M64.7 67.5c-.2.5-.7.6-1.2.6h-5.8c-.5 0-.9-.4-.9-.9 0-.1.1-.4.1-.5l.1-.1.2-.2L70 50.9c.4-.5.5-1.2.2-1.7 0-.1-.1-.2-.1-.2L56.9 33.2c-.1-.1-.1-.4-.1-.5 0-.5.5-.9.9-.9h5.8c.5 0 1 .1 1.2.6L78.4 49c.2.2.2.6.2.9 0 .4-.1.7-.2 1L64.7 67.5z"},{d:"M50.4 67.5c-.2.5-.7.6-1.2.6h-5.8c-.5 0-.9-.4-.9-.9 0-.1.1-.4.1-.5l.1-.1.2-.2 12.7-15.5c.4-.5.5-1.2.2-1.7 0-.1-.1-.2-.1-.2L42.6 33.2c-.1-.1-.1-.4-.1-.5 0-.5.5-.9.9-.9h5.8c.5 0 1 .1 1.2.6L64.1 49c.2.2.2.6.2.9 0 .4-.1.7-.2 1L50.4 67.5z"},{d:"M36 67.5c-.2.5-.7.6-1.2.6H23.9c-.5 0-.9-.4-.9-.9 0-.1.1-.4.1-.5l.1-.1.2-.2 12.7-15.5c.4-.5.5-1.2.2-1.7 0-.1-.1-.2-.1-.2l-13-15.8c-.2-.1-.2-.3-.2-.5 0-.5.5-.9.9-.9h10.8c.5 0 1 .1 1.2.6L49.6 49c.2.2.2.6.2.9 0 .4-.1.7-.2 1L36 67.5z"}]},maintenance_asset:{xmlns:"http://www.w3.org/2000/svg",path:[{d:"M46.5 30.5c.2.5.6.8 1.1.8h27.5c1.3 0 2.7.3 3.9.8.5.3 1.1-.1 1.1-.8.1-2.8-2.1-5-4.9-5.1H45c-.3 0-.6.2-.6.5 0 .1 0 .3.1.4l2 3.4z"},{d:"M75.1 36.4H46.7c-1.8 0-3.4-1-4.4-2.5l-4.4-7.6c-.8-1.6-2.5-2.6-4.3-2.6h-8.5c-2.8 0-5 2.2-5 5v45.9c-.1 2.8 2.1 5 4.9 5.1h50.1c2.8 0 5-2.2 5-5V41.5c.1-2.8-2.1-5-4.9-5.1h-.1zM62 69.7c-1.1 1.2-2.9 1.2-4.1.1l-.1-.1-9.9-9.9c-.6.3-1.3.4-2 .5-4.2.5-8-2.6-8.5-6.8v-.8c0-.7.1-1.5.3-2.2.1-.2.3-.4.6-.3.1 0 .1 0 .1.1l4.3 4.3c.3.3.9.3 1.2 0l3-3c.3-.3.3-.9 0-1.2l-4.3-4.3c-.2-.2-.1-.5.1-.6l.1-.1c.7-.2 1.5-.3 2.2-.3 4.2 0 7.6 3.4 7.6 7.7v.8c-.1.7-.3 1.3-.5 2l9.9 9.9c1.3 1.1 1.5 2.9.4 4.2-.2 0-.2.1-.4 0z"}]},maintenance_plan:{xmlns:"http://www.w3.org/2000/svg",path:[{d:"M65.7 34h7.9c.9 0 1.7-.8 1.7-1.7 0-.4-.2-.9-.5-1.2L63.5 20c-.3-.3-.7-.5-1.1-.5-.9 0-1.7.8-1.7 1.7v7.9c.2 2.7 2.3 4.8 5 4.9z"},{d:"M72.7 41H60.5c-4 0-7.2-3.2-7.3-7.2v-12c.1-1.2-.8-2.2-2-2.3H31.6c-4 0-7.2 3.2-7.3 7.2v45.7c0 4 3.3 7.2 7.3 7.2h36.2c4 0 7.2-3.2 7.3-7.2V43.5c.1-1.3-1-2.5-2.4-2.5zm-6.9 30.8c-.8.8-1.8 1.2-3 1.2-1.1 0-2.2-.4-3-1.2L46 58c-.9.4-1.8.6-2.8.7-5.8.7-11-3.5-11.7-9.3-.2-1.5 0-3 .4-4.4.1-.4.6-.5 1-.2l6 6c.4.5 1.2.5 1.6.1 0 0 .1 0 .1-.1l4.2-4.2c.5-.4.5-1.2.1-1.6 0 0 0-.1-.1-.1l-6-6c-.2-.2-.2-.6 0-.9.1-.1.1-.1.2-.1 1-.2 2.1-.4 3.1-.4 5.9 0 10.6 4.7 10.7 10.6 0 .4 0 .8-.1 1.2-.1 1-.4 1.9-.7 2.8L65.8 66c1.6 1.6 1.6 4.2 0 5.8z"}]},maintenance_work_rule:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M79.67 49.23l-10-10a1.36 1.36 0 00-1.86 0l-1.86 1.87a1.34 1.34 0 000 1.86L69 46a.89.89 0 01-.09 1.27.87.87 0 01-.53.22H41l16.33-16.25a.89.89 0 011.27.09.87.87 0 01.22.53v4.46a1.18 1.18 0 001.1 1.24h2.71a1.17 1.17 0 001.24-1.09V22a1.17 1.17 0 00-1.1-1.24H48.53a1.36 1.36 0 00-1.24 1.37v2.49a1.18 1.18 0 001.12 1.24H53a.88.88 0 01.86.9.89.89 0 01-.24.58l-20.1 20.03H21.24A1.28 1.28 0 0020 48.69v2.64a1.46 1.46 0 001.36 1.37h12.41l20 20a.9.9 0 01-.1 1.27.85.85 0 01-.52.21h-4.5a1.17 1.17 0 00-1.24 1.1.33.33 0 000 .14v2.49a1.45 1.45 0 001.24 1.37H62.8a1.18 1.18 0 001.2-1.12V63.74a1.18 1.18 0 00-1.12-1.24h-2.7a1.17 1.17 0 00-1.24 1.09v4.61a.88.88 0 01-.89.87.9.9 0 01-.6-.25L41.08 52.7H68.5a.89.89 0 01.62 1.48l-3.22 3.1a1.35 1.35 0 000 1.87L67.76 61a1.34 1.34 0 001.86 0l10-9.92a1.36 1.36 0 00.05-1.85z"}},marketing_actions:{xmlns:"http://www.w3.org/2000/svg",path:[{d:"M47.5 26c-5.1.3-9.2 4.4-9.5 9.5.2-5.2 4.3-9.3 9.5-9.5zM58 35.5c-.3-5.1-4.4-9.2-9.5-9.5 5.2.2 9.3 4.3 9.5 9.5zM63.6 54.8l-10.2-3.5c-.8-.3-1.4-1-1.4-1.9V35.8c0-2.1-1.7-3.8-3.8-3.8h-.4c-2.1 0-3.8 1.7-3.8 3.8v26.9c0 2.3-2.9 3.2-4.1 1.2l-2.6-5.5c-1.4-2.4-4.5-3-6.7-1.4L29 58.2l8.6 20.4c.4.9 1.2 1.4 2.2 1.4h22.6c1.1 0 2-.8 2.3-1.8l4-14.3c.8-3.9-1.4-7.8-5.1-9.1z"},{d:"M38 46.2V36v-.5c.3-5.1 4.4-9.2 9.5-9.5h1c5.1.3 9.2 4.4 9.5 9.5v10.7c0 .9 1.1 1.3 1.7.7C62.4 44 64 40.2 64 36c0-9.3-8-16.8-17.5-15.9-7.2.7-13.2 6.3-14.3 13.4-.8 5 .8 9.9 4.1 13.4.6.6 1.7.2 1.7-.7z"}]},medication_ingredient:{xmlns:"http://www.w3.org/2000/svg",path:[{d:"M61.12 21.67H33.89A1.36 1.36 0 0032.53 23v3.74A1.37 1.37 0 0033.89 28h27.2a1.37 1.37 0 001.36-1.29V23a1.36 1.36 0 00-1.33-1.33z"},{d:"M68.11 56.27a11.14 11.14 0 1011.13 11.15 11.1 11.1 0 00-11.09-11.15zm0 5.61a1.4 1.4 0 11-1.4 1.4 1.37 1.37 0 011.35-1.39zm2.32 9.75A.43.43 0 0170 72h-3.75a.42.42 0 01-.46-.38v-.92a.5.5 0 01.46-.51.43.43 0 00.46-.4v-1.88a.5.5 0 00-.46-.51.42.42 0 01-.46-.38v-1a.5.5 0 01.46-.51H69a.5.5 0 01.47.51v3.71a.42.42 0 00.44.42.5.5 0 01.47.51z"},{d:"M54 67.4a14.15 14.15 0 0110.76-13.71v-13a9.27 9.27 0 00-9.17-9.35h-16a9.27 9.27 0 00-9.36 9.16v2.6h17a1.5 1.5 0 011.5 1.5v17.09a1.5 1.5 0 01-1.5 1.5h-17v7.48a1.44 1.44 0 001.5 1.33h23a13.84 13.84 0 01-.73-4.6z"}],rect:[{x:"30.28",y:"47.61",width:"13.37",height:"3.09",rx:"1"},{x:"30.28",y:"55.28",width:"9.37",height:"3.09",rx:"1"}]},merge:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M70.5 72.5c-7-3.4-12-9.4-14.5-16.3-1-2.6-1.6-5.3-1.9-7.9v-4.4h13.6c1.1 0 1.7-1.2 1-2.2L51 20.5c-.6-.8-2-.8-2.5 0L31.2 41.7c-.6.8 0 2.2 1 2.2h13.7V48.3c-.3 2.7-1 5.5-1.9 7.9-2.6 6.8-7.5 12.9-14.5 16.3-1 .4-1.4 1.6-1 2.6l1.6 3.8c.5 1.1 1.6 1.4 2.7.8 7.6-3.6 13.5-9.4 17.2-16.2 3.7 6.9 9.6 12.6 17.3 16.2 1.1.5 2.2.4 2.7-.8l1.6-3.8c.4-1-.1-2.2-1.1-2.6z"}},messaging_conversation:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M54.686 71.349c10.594-3.909 16.829-10.49 18.705-19.743C77.926 53.882 81 58.347 81 63.5c0 2.202-.564 4.243-1.544 6.086l1.689 5.37c.402 1.285-.803 2.41-2.089 2.009l-5.219-1.84C71.676 76.332 69.165 77 66.476 77c-4.869 0-9.167-2.227-11.79-5.651zM44.098 22c13.335 0 24.099 10.045 24.179 22.5 0 12.455-10.764 22.5-24.098 22.5-4.66 0-8.997-1.205-12.692-3.375a1.62 1.62 0 00-1.366-.16l-7.069 2.49c-1.285.402-2.49-.723-2.088-2.009l2.25-7.151c.16-.402.08-.884-.162-1.286C21.125 52.214 20 48.518 20 44.5 20 32.045 30.764 22 44.098 22zM32 37a2 2 0 00-2 2v2a2 2 0 002 2h26a2 2 0 002-2v-2a2 2 0 00-2-2H32zm0 11a2 2 0 00-2 2v2a2 2 0 002 2h14a2 2 0 002-2v-2a2 2 0 00-2-2H32z"}},messaging_session:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M50 22c16.6 0 30 12.5 30.1 28 0 15.5-13.4 28-30 28-5.8 0-11.2-1.5-15.8-4.2-.5-.3-1.1-.4-1.7-.2l-8.8 3.1c-1.6.5-3.1-.9-2.6-2.5l2.8-8.9c.2-.5.1-1.1-.2-1.6C21.4 59.6 20 55 20 50c0-15.5 13.4-28 30-28zm13 23c.6 0 1-.4 1-1v-6c0-.6-.4-1-1-1H37c-.6 0-1 .4-1 1v6c0 .6.4 1 1 1h26zM43 65c.6 0 1-.4 1-1V52c0-.6-.4-1-1-1h-6c-.6 0-1 .4-1 1v12c0 .6.4 1 1 1h6zm20 0c.6 0 1-.4 1-1V52c0-.6-.4-1-1-1H51c-.6 0-1 .4-1 1v12c0 .6.4 1 1 1h12z"}},messaging_user:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M50 22c16.6 0 30 12.5 30.1 28 0 15.5-13.4 28-30 28-5.8 0-11.2-1.5-15.8-4.2-.5-.3-1.1-.4-1.7-.2l-8.8 3.1c-1.6.5-3.1-.9-2.6-2.5l2.8-8.9c.2-.5.1-1.1-.2-1.6C21.4 59.6 20 55 20 50c0-15.5 13.4-28 30-28zm8.757 42c1.915 0 3.426-2.108 3.225-4.115-.1-3.01-3.225-5.018-6.55-6.423-2.317-.903-2.62-1.806-2.62-2.81 0-1.003.605-1.906 1.411-2.609 1.41-1.204 2.116-3.01 2.116-5.018 0-3.814-2.317-7.025-6.348-7.025-4.03 0-6.348 3.211-6.348 7.025 0 2.007.806 3.814 2.116 5.018.806.703 1.41 1.606 1.41 2.61 0 1.003-.302 1.906-2.62 2.91-3.325 1.505-6.448 3.312-6.549 6.322C38 61.892 39.511 64 41.426 64h17.331z"}},metrics:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M72 22H28c-3.3 0-6 2.7-6 6v44c0 3.3 2.7 6 6 6h44c3.3 0 6-2.7 6-6V28c0-3.3-2.7-6-6-6zM38 66c0 1.1-.9 2-2 2h-2c-1.1 0-2-.9-2-2V55c0-1.1.9-2 2-2h2c1.1 0 2 .9 2 2v11zm10 0c0 1.1-.9 2-2 2h-2c-1.1 0-2-.9-2-2V40c0-1.1.9-2 2-2h2c1.1 0 2 .9 2 2v26zm10 0c0 1.1-.9 2-2 2h-2c-1.1 0-2-.9-2-2V34c0-1.1.9-2 2-2h2c1.1 0 2 .9 2 2v32zm10 0c0 1.1-.9 2-2 2h-2c-1.1 0-2-.9-2-2V47c0-1.1.9-2 2-2h2c1.1 0 2 .9 2 2v19z"}},multi_picklist:{xmlns:"http://www.w3.org/2000/svg",path:[{d:"M73 20H41c-3.3 0-6 2.7-6 6v1c0 .6.4 1 1 1h29c3.3 0 6 2.7 6 6v31c0 .6.4 1 1 1h1c3.3 0 6-2.7 6-6V26c0-3.3-2.7-6-6-6z"},{d:"M59 34H27c-3.3 0-6 2.7-6 6v34c0 3.3 2.7 6 6 6h32c3.3 0 6-2.7 6-6V40c0-3.3-2.7-6-6-6zM35 70c0 1.1-.9 2-2 2h-2c-1.1 0-2-.9-2-2v-2c0-1.1.9-2 2-2h2c1.1 0 2 .9 2 2v2zm0-12c0 1.1-.9 2-2 2h-2c-1.1 0-2-.9-2-2v-2c0-1.1.9-2 2-2h2c1.1 0 2 .9 2 2v2zm0-12c0 1.1-.9 2-2 2h-2c-1.1 0-2-.9-2-2v-2c0-1.1.9-2 2-2h2c1.1 0 2 .9 2 2v2zm22 24c0 1.1-.9 2-2 2H41.2c-1.1 0-2-.9-2-2v-2c0-1.1.9-2 2-2H55c1.1 0 2 .9 2 2v2zm0-12c0 1.1-.9 2-2 2H41.2c-1.1 0-2-.9-2-2v-2c0-1.1.9-2 2-2H55c1.1 0 2 .9 2 2v2zm0-12c0 1.1-.9 2-2 2H41.2c-1.1 0-2-.9-2-2v-2c0-1.1.9-2 2-2H55c1.1 0 2 .9 2 2v2z"}]},multi_select_checkbox:{xmlns:"http://www.w3.org/2000/svg",path:[{d:"M73 20H41c-3.3 0-6 2.7-6 6v1c0 .6.4 1 1 1h29c3.3 0 6 2.7 6 6v31c0 .6.4 1 1 1h1c3.3 0 6-2.7 6-6V26c0-3.3-2.7-6-6-6z"},{d:"M59 34H27c-3.3 0-6 2.7-6 6v34c0 3.3 2.7 6 6 6h32c3.3 0 6-2.7 6-6V40c0-3.3-2.7-6-6-6zm-2.7 17L41 66.3c-.6.6-1.3.9-2.1.9-.7 0-1.5-.3-2.1-.9l-7.4-7.4c-.6-.6-.6-1.5 0-2.1l2.1-2.1c.6-.6 1.5-.6 2.1 0l5.3 5.3 13.2-13.2c.6-.6 1.5-.6 2.1 0l2.1 2.1c.5.6.5 1.6 0 2.1z"}]},news:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M78.3 26.9H31c-.9 0-1.7.8-1.7 1.7v35.2c0 1.4-1.3 2.5-2.7 2.3-1.2-.2-2-1.3-2-2.4V38.5c0-.7-.5-1.2-1.2-1.2h-1.7c-.9 0-1.7.8-1.7 1.7v29.4c0 2.5 2.1 4.6 4.6 4.6H75.4c2.5 0 4.6-2.1 4.6-4.6V28.7c0-1-.8-1.8-1.7-1.8zm-26 33.5c0 .7-.5 1.2-1.2 1.2H37.3c-.7 0-1.2-.5-1.2-1.2v-2.3c0-.7.5-1.2 1.2-1.2h13.8c.7 0 1.2.5 1.2 1.2v2.3zm0-9.2c0 .7-.5 1.2-1.2 1.2H37.3c-.7 0-1.2-.5-1.2-1.2v-2.3c0-.7.5-1.2 1.2-1.2h13.8c.7 0 1.2.5 1.2 1.2v2.3zm20.8 9.2c0 .7-.5 1.2-1.2 1.2H58.1c-.7 0-1.2-.5-1.2-1.2v-2.3c0-.7.5-1.2 1.2-1.2h13.8c.7 0 1.2.5 1.2 1.2v2.3zm0-9.2c0 .7-.5 1.2-1.2 1.2H58.1c-.7 0-1.2-.5-1.2-1.2v-2.3c0-.7.5-1.2 1.2-1.2h13.8c.7 0 1.2.5 1.2 1.2v2.3zm0-9.3c0 .7-.5 1.2-1.2 1.2H37.3c-.7 0-1.2-.5-1.2-1.2V35c0-.7.5-1.2 1.2-1.2h34.6c.7 0 1.2.5 1.2 1.2v6.9z"}},note:{xmlns:"http://www.w3.org/2000/svg",g:{path:[{d:"M71.3 67l-1.1 1.1C69 69.3 67.3 70 65.6 70h-3.3c-3 0-6.3-2.3-6.3-6.5v-3.1c0-2.5 1.1-4 1.8-4.8L71.3 42c.4-.4.7-1.2.7-1.7V30c0-3.3-2.7-6-6-6H34c-3.3 0-6 3-6 6h-2c-2.2 0-4 1.8-4 4s1.8 4 4 4h2v8h-2c-2.2 0-4 1.8-4 4s1.8 4 4 4h2v8h-2c-2.2 0-4 1.8-4 4s1.8 4 4 4h2c0 4 2.7 6 6 6h32c3.3 0 6-2.7 6-6v-2.7c0-.6-.3-.7-.7-.3zM61 39c0 1.1-.9 2-2 2H39c-1.1 0-2-.9-2-2v-2c0-1.1.9-2 2-2h20c1.1 0 2 .9 2 2v2zm-9 24c0 1.1-.9 2-2 2H39c-1.1 0-2-.9-2-2v-2c0-1.1.9-2 2-2h11c1.1 0 2 .9 2 2v2zm3-12c0 1.1-.9 2-2 2H39c-1.1 0-2-.9-2-2v-2c0-1.1.9-2 2-2h14c1.1 0 2 .9 2 2v2z"},{d:"M81.4 45.6l-1.2-1.2c-.8-.8-2-.8-2.8 0L62.1 59.9c-.1 0-.1.2-.1.3v3.3c0 .3 0 .5.3.5h3.3c.1 0 .3-.1.4-.1l15.4-15.4c.8-.9.8-2.1 0-2.9z"}]}},number_input:{xmlns:"http://www.w3.org/2000/svg",path:[{d:"M74 80H26c-3.3 0-6-2.7-6-6V26c0-3.3 2.7-6 6-6h48c3.3 0 6 2.7 6 6v48c0 3.3-2.7 6-6 6zM28.1 30v40c0 1.1.9 2 2 2H70c1.1 0 2-.9 2-2V30c0-1.1-.9-2-2-2H30.1c-1.1 0-2 .9-2 2z"},{d:"M63 42.8h-3.7l1.6-6.1v-.1c0-.2-.2-.5-.5-.5h-2.9c-.2 0-.4.2-.5.4l-1.6 6.3H48l1.6-6.1v-.1c0-.2-.2-.5-.5-.5h-2.9c-.2 0-.4.2-.5.4l-1.6 6.3H40c-.2 0-.4.1-.5.3l-.7 2.8v.1c0 .2.2.5.5.5h3.9l-1.8 7.1h-4c-.2 0-.4.1-.5.3l-.7 2.8v.1c0 .2.2.5.5.5h3.7l-1.6 6.2v.1c0 .2.2.5.5.5h2.9c.2 0 .4-.1.5-.4l1.6-6.4h7.3l-1.6 6v.1c0 .2.2.5.5.5h2.9c.2 0 .4-.1.5-.4l1.6-6.4h4.1c.2 0 .4-.1.5-.4l.7-2.8v-.1c0-.2-.2-.5-.5-.5h-3.8l1.8-7.1h3.9c.2 0 .4-.1.5-.4l.7-2.8c.1-.1-.1-.2-.4-.2zM52.7 53.6h-7.4l1.8-7.1h7.3l-1.7 7.1z"}]},observation_component:{xmlns:"http://www.w3.org/2000/svg",g:{path:[{d:"M23.08 32.69h.35l20.55-3v29.12a.82.82 0 00.87.87h3.48a.82.82 0 00.87-.87V28.86l21.25-3.14a2.71 2.71 0 002.26-3 2.63 2.63 0 00-3-2.18l-17.11 2.4a8.48 8.48 0 00-6.1-2.53A8.8 8.8 0 0038.84 25l-16.2 2.43a2.63 2.63 0 00.44 5.23z"},{d:"M72.1 52.63a2.52 2.52 0 00.35-2.7l-6.88-16.54a2.67 2.67 0 00-4.87 0l-7 16.54a2.71 2.71 0 00.17 2.44c.16.23 2.84 4.34 7.25 5.28a14.42 14.42 0 018.5-2.73h.25a20.29 20.29 0 002.23-2.29zM59.39 50.1l3.74-9 3.75 9zM39 57.85a2.52 2.52 0 00.35-2.7l-7-16.54a2.47 2.47 0 00-2.3-1.61 2.67 2.67 0 00-2.44 1.57l-7 16.54a2.68 2.68 0 00.18 2.44c.17.26 3.57 5.49 9.05 5.49 3.25.04 6.39-1.7 9.16-5.19zm-12.7-2.52l3.75-9 3.74 9zM55.13 69.44a14.43 14.43 0 01.25-2.65 21.85 21.85 0 00-8.79-1.88 21 21 0 00-13.32 4.7 1.84 1.84 0 00-.61 1.31V71a1.74 1.74 0 001.74 1.74h21.12a14.33 14.33 0 01-.39-3.3zM69.62 79.56a10.2 10.2 0 1110.21-10.19 10.16 10.16 0 01-10.21 10.19zm.91-12.69a1 1 0 00-.7.21c-.56.38-1.12.75-1.67 1.16a3.54 3.54 0 00-.53.56.27.27 0 000 .35.3.3 0 00.34.09c.14 0 .27-.1.4-.15a2.43 2.43 0 01.37-.16c.19-.06.28 0 .28.21a2.17 2.17 0 010 .25c-.39 1.61-.78 3.21-1.18 4.82a.89.89 0 00.45 1.06 1.15 1.15 0 001.16-.1c.54-.35 1.07-.71 1.58-1.11a5.52 5.52 0 00.72-.73.22.22 0 000-.28.27.27 0 00-.3-.11l-.38.14-.44.2c-.17.06-.26 0-.25-.19a2.63 2.63 0 01.06-.39c.37-1.5.73-3 1.1-4.51a1 1 0 00-1.01-1.32zm1.08-2.09a1.55 1.55 0 00-1.78-1.47 1.36 1.36 0 00-1.08 2 1.53 1.53 0 001.7.89 1.48 1.48 0 001.16-1.42z"}]}},omni_supervisor:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M67.225 28.893C60.804 31.476 57.416 37.717 57.036 48h10.216a8 8 0 110 4H57.036c.38 10.283 3.768 16.524 10.19 19.107a8 8 0 11.14 4.291C58.27 72.62 53.483 64.663 53.035 52H47a2 2 0 110-4h6.035c.448-12.662 5.236-20.62 14.33-23.399a8 8 0 11-.14 4.291zM75 31a4 4 0 100-8 4 4 0 000 8zm0 46a4 4 0 100-8 4 4 0 000 8zm0-23a4 4 0 100-8 4 4 0 000 8zM45.074 68H22.463C19.933 68 18 65.62 18 62.942c.149-4.016 4.314-6.099 8.628-8.033 2.975-1.339 3.422-2.38 3.422-3.719s-.893-2.529-1.786-3.421c-1.785-1.637-2.677-3.868-2.677-6.546 0-4.909 2.975-9.223 8.33-9.223 5.356 0 8.33 4.314 8.33 9.223 0 2.678-.892 4.91-2.677 6.546-1.041.892-1.785 2.082-1.785 3.421 0 1.19.446 2.38 3.422 3.72 4.314 1.933 8.479 4.016 8.628 8.032C49.537 65.62 47.603 68 45.075 68z"}},operating_hours:{xmlns:"http://www.w3.org/2000/svg",path:[{d:"M53 50.18a1.32 1.32 0 01-.35-1v-8.43a1.35 1.35 0 00-1.32-1.32h-2.61a1.35 1.35 0 00-1.32 1.32v10.66a1.85 1.85 0 00.35 1l6.52 6.52a1.28 1.28 0 001.85 0L58 57a1.28 1.28 0 000-1.85z","fill-rule":"evenodd"},{d:"M50 28.86A21.14 21.14 0 1071.18 50 21.2 21.2 0 0050 28.86zm0 37A15.85 15.85 0 1165.9 50 15.9 15.9 0 0150 65.85z","fill-rule":"evenodd"},{d:"M28.82 59.91a15.74 15.74 0 010-19.81L25.31 36a21 21 0 000 27.94zM71.23 40.12a15.74 15.74 0 010 19.81L74.64 64a21 21 0 000-27.94z","fill-rule":"evenodd"}]},opportunity:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M71.1 69H28.9c-1 0-1.9.9-1.9 1.9v.1c0 3.3 2.7 6 6 6h34c3.3 0 6-2.7 6-6v-.1c0-1-.9-1.9-1.9-1.9zM76 28c-3.3 0-6 2.7-6 6 0 1.8.8 3.5 2.1 4.6-1.7 3.9-5.6 6.6-10.2 6.4-5.3-.3-9.6-4.6-9.9-9.9 0-.9 0-1.7.2-2.5 2.2-.9 3.8-3 3.8-5.6 0-3.3-2.7-6-6-6s-6 2.7-6 6c0 2.5 1.6 4.7 3.8 5.6.2.8.2 1.6.2 2.5-.3 5.3-4.6 9.6-9.9 9.9-4.6.3-8.6-2.5-10.2-6.4 1.3-1.1 2.1-2.8 2.1-4.6 0-3.3-2.7-6-6-6s-6 2.7-6 6 2.7 6 6 6l2.8 21.4c.1.9.9 1.6 1.9 1.6h42.6c.9 0 1.7-.7 1.9-1.6L76 40c3.3 0 6-2.7 6-6s-2.7-6-6-6z"}},opportunity_contact_role:{xmlns:"http://www.w3.org/2000/svg",path:[{d:"M64.9 47.4c-8.2 0-15 6.7-15 15 0 8.2 6.7 15 15 15s15-6.7 15-15-6.8-15-15-15zm7.3 13.1l-2.8 2.8c-.3.3-.4.6-.4.8l.7 4.2c.2 1.2-.9.5-.9.5L65.4 67c-.5-.3-1 0-1 0l-3.5 1.8c-.9.5-.9 0-.9-.4l.7-3.9c.1-.8-.3-1.1-.3-1.2l-2.5-2.4-.3-.3c-.3-.3-.5-.8.6-1l3.5-.5c.5-.1.8-.3.9-.5l1.9-3.9c.1-.3.5-.6.9.2l1.9 3.8c.1.2.4.3.6.4h.3l3.7.5h.1c.2.1.9.3.2.9z"},{d:"M48.9 77.2c1 0 1.6-1.2 1-2-3.2-3.6-5-8.2-5-13 0-3.4 1.1-7.2 2.9-10.2 2.1-3.6 4.5-5.1 6.4-7.9 3.1-4.6 3.7-11.2 1.7-16.2-2-5.1-6.7-8.1-12.2-8s-10 3.5-11.7 8.6c-2 5.6-1.1 12.4 3.4 16.6 1.9 1.7 3.5 4.4 2.6 7-.2.5-.8 1.3-2.2 1.9-5.7 2.5-11.5 5.5-14.1 9.7-.5.8-1.5 2.8-1.6 5.6 0 .7 0 1.3.1 2.2 0 .4 0 .4.1.8.3 1.7 1.3 3.2 2.8 4.1.6.3 2 .8 4.7.8h21.1z"}]},opportunity_splits:{xmlns:"http://www.w3.org/2000/svg",g:{path:{d:"M69.3 27.1C64.1 22.7 57.4 20 50 20c-16.5 0-30 13.5-30 30 0 7.4 2.7 14.1 7.1 19.3l42.2-42.2zM34 75.3c4.6 2.9 10.1 4.7 16 4.7 16.5 0 30-13.5 30-30 0-5.9-1.7-11.3-4.7-16L34 75.3z"}}},orchestrator:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M63 21.42a2 2 0 00-2.79-1.2c-1.17.56-1.31 1.78-.75 3l9.11 22.73c.55 1.18 1.59 1.88 2.75 1.32a2.2 2.2 0 00.79-3.09zM50.25 37.19c5.14 0 9.26 4.68 9.26 10.46s-4.12 10.47-9.26 10.47S41 53.44 41 47.65s4.11-10.46 9.25-10.46zM28.89 60.43l13.34 1.5L45.3 80h-3.8a2.34 2.34 0 01-2.24-1.73l-2.72-9.8-11.36-1.28a6 6 0 01-4.85-7.87l5.86-17.08a3.49 3.49 0 014.47-2.19 3.58 3.58 0 012.15 4.54l-4.9 14.27a1.18 1.18 0 00.98 1.57zM59.21 80h-4l3-17.86 12.61 2.39a1.19 1.19 0 001.36-1.43l-1.79-8A3.58 3.58 0 0173 50.8a3.5 3.5 0 014.23 2.63L79.83 65a5.9 5.9 0 01-6.72 7.25l-9.63-1.82-2 7.84A2.33 2.33 0 0159.21 80zM46.64 64.11a1.37 1.37 0 01-2.1-1.19v-2.21a1.37 1.37 0 012.1-1.19l3.61 2.3zM50.25 61.82l3.6-2.3A1.38 1.38 0 0156 60.71v2.21a1.38 1.38 0 01-2.11 1.19z"}},order_item:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M21.2 51.9L48 64.6c1.2.6 2.7.6 3.9 0l26.9-12.7c1.6-.8 1.6-2.9 0-3.7L51.9 35.5c-1.2-.6-2.7-.6-3.9 0L21.2 48.3c-1.7.7-1.7 2.9 0 3.6z"}},orders:{xmlns:"http://www.w3.org/2000/svg",path:[{d:"M78.8 62.1l-3.6-1.7c-.5-.3-1.2-.3-1.7 0L52 70.6c-1.2.6-2.7.6-3.9 0L26.5 60.4c-.5-.3-1.2-.3-1.7 0l-3.6 1.7c-1.6.8-1.6 2.9 0 3.7L48 78.5c1.2.6 2.7.6 3.9 0l26.8-12.7c1.7-.8 1.7-3 .1-3.7z"},{d:"M78.8 48.1l-3.7-1.7c-.5-.3-1.2-.3-1.7 0L52 56.6c-1.2.6-2.7.6-3.9 0L26.6 46.4c-.5-.3-1.2-.3-1.7 0l-3.7 1.7c-1.6.8-1.6 2.9 0 3.7L48 64.6c1.2.6 2.7.6 3.9 0l26.8-12.7c1.7-.8 1.7-3 .1-3.8z"},{d:"M21.2 37.8L48 50.5c1.2.6 2.7.6 3.9 0l26.8-12.7c1.6-.8 1.6-2.9 0-3.7L51.9 21.4c-1.2-.6-2.7-.6-3.9 0L21.2 34.2c-1.6.7-1.6 2.9 0 3.6z"}]},outcome:{xmlns:"http://www.w3.org/2000/svg",path:[{d:"M62.6 31.9c0-.1-.1-.1-.2-.2-.7-.7-1.9-.6-2.5.2l-2.7 2.6-.1.1c-.7.7-.7 1.9.1 2.5l7 7c.2.2.4.5.4.9 0 .7-.5 1.3-1.3 1.3H36.8c-1 0-1.8.8-1.9 1.8v3.8c.1 1 .9 1.8 1.9 2h26.6c.3 0 .5.1.7.3.6.4.7 1.3.2 1.8l-7 7-.1.1c-.7.7-.7 1.9.1 2.5l2.6 2.7.1.1c.7.7 1.9.7 2.5-.1l16.9-16.9.1-.1c.7-.7.7-1.9-.1-2.5L62.6 31.9z"},{d:"M43.7 38.9h3.7c1 0 1.9-.9 1.9-1.9V25c0-2.8-2.2-5-5-5H25c-2.8 0-5 2.2-5 5v50c0 2.8 2.2 5 5 5H44.3c2.8 0 5-2.2 5-5V63.2c0-1-.9-1.9-1.9-1.9h-3.7c-1 0-1.9.9-1.9 1.9v7.4c0 1-.9 1.9-1.9 1.9H29.4c-1 0-1.9-.9-1.9-1.9V29.4c0-1 .9-1.9 1.9-1.9h10.5c1 0 1.9.9 1.9 1.9V37c0 1 .8 1.9 1.9 1.9z"}]},output:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M20.8 53.8h41.5c1.1 0 1.6 1.4.9 2.1l-12 12c-.8.8-.8 1.9 0 2.6l2.8 2.8c.8.8 1.9.8 2.6 0l21.9-22c.8-.8.8-1.9 0-2.6l-22-22c-.8-.8-1.9-.8-2.6 0l-2.6 2.6c-.8.8-.8 1.9 0 2.6l12 12c.8.9.3 2.3-.9 2.3H20.9c-1 0-1.9.8-1.9 1.8v3.8c0 1 .8 2 1.8 2z"}},partner_fund_allocation:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M30.9 65.6l-8.1 8.5c-.3.3-.8.1-.8-.3v-4c0-.4-.4-.9-.8-.9h-1.5c-.4 0-.8.5-.8.9v9.5c0 .5.2.7.7.7h9.5c.4 0 .8-.2.8-.7v-1.5c0-.4-.3-.8-.8-.8h-4c-.5 0-.7-.5-.3-.8l10.4-10.9h-.9c-1.1 0-2.3.1-3.4.3zM73.1 76.2c.3.3.1.8-.4.8h-4c-.4 0-.8.4-.8.8v1.5c0 .4.5.8.8.8h9.5c.5 0 .7-.2.7-.7v-9.5c0-.4-.2-.8-.6-.8h-1.5c-.4 0-.9.3-.9.8v4c0 .4-.5.7-.8.3L70.4 70c-1.2.3-2.3.6-3.5.8l6.2 5.4zM68.8 40.5c-15.2 4.7-27.2-9.7-43.9-2.9-1.3.5-1.9 1.6-1.9 3.1V58c0 2.3 1.9 3.7 4.1 3.1 16.5-5 28.5 9.4 44.1 2.9 1.1-.5 2.1-1.6 2.1-3.1V43.6c-.1-2.1-2.3-3.8-4.5-3.1zM48.6 56.7c-3.6 0-6.5-2.9-6.5-6.5s2.9-6.5 6.5-6.5 6.5 2.9 6.5 6.5-2.9 6.5-6.5 6.5zM48.4 26.6c0-.5-.5-.6-.8-.3l-2.8 2.8c-.3.3-.9.2-1.2 0l-1-1.1c-.3-.3-.2-.7.1-1l6.8-6.8c.3-.3.6-.3 1 0l6.7 6.7c.3.3.4.8.1 1.1l-1 1c-.3.3-.9.2-1.2 0l-2.8-2.8c-.3-.3-.8-.1-.8.3v7.3l-3-.9-.1-6.3z"}},partner_fund_claim:{xmlns:"http://www.w3.org/2000/svg",path:[{d:"M56.5 34h9.4c.7 0 1.3-.6 1.3-1.3 0-.3-.1-.6-.3-.9L55.1 20.3c-.3-.2-.6-.3-.9-.3-.7 0-1.3.6-1.3 1.3v9.2c.1 1.9 1.7 3.5 3.6 3.5z"},{d:"M38.6 65c0-3.5 2-6.6 5.2-7.8 2.6-1 5.2-1.6 8-1.6 4 0 7.4 1.1 10.5 2 1.7.5 3.3 1 4.8 1.3l.2-18c0-.9-.8-1.7-1.7-1.7H53c-3 0-5.2-2.4-5.2-5.2V21.7c0-.9-.8-1.7-1.8-1.7H28.2c-2.9 0-5.2 2.4-5.2 5.2v42c0 2.9 2.4 5.2 5.2 5.2h10.4V65z"},{d:"M72.4 64.9c-9.1 2.8-16.3-5.8-26.2-1.7-.8.3-1.2 1-1.2 1.8v10.4c0 1.4 1.2 2.2 2.4 1.8 9.9-3 17 5.6 26.3 1.7.7-.3 1.3-1 1.3-1.8V66.8c0-1.3-1.3-2.2-2.6-1.9zm-12.1 9.7c-2.1 0-3.9-1.7-3.9-3.9 0-2.1 1.7-3.9 3.9-3.9s3.9 1.7 3.9 3.9-1.7 3.9-3.9 3.9z"}]},partner_fund_request:{xmlns:"http://www.w3.org/2000/svg",path:[{d:"M43.7 58.3c3.7-2.1 7.2-3.1 11.1-3.1 1.1 0 2.2.1 3.2.2.5.1.6-.1.1-.4-1.9-1.1-4-2.1-6.2-3-4.3-1.8-4.9-3.4-4.9-5.2 0-1.8 1.2-3.4 2.6-4.7 2.5-2.3 3.9-5.4 3.9-9.1 0-6.9-4.3-12.8-11.9-12.8s-12 5.9-12 12.8c0 3.7 1.4 6.9 3.9 9.1 1.4 1.3 2.6 3 2.6 4.7 0 1.7-.7 3.4-4.9 5.2C25 54.6 19.1 57.6 19 63.3c0 3.7 2.8 7 6.3 7h14.2c1.1 0 2-.9 2-2v-6.5c.2-1.4.9-2.8 2.2-3.5z"},{d:"M76.3 64.3c-9.4 2.9-16.8-6-27.2-1.8-.8.3-1.2 1-1.2 1.9v10.7c0 1.4 1.2 2.3 2.5 1.9 10.2-3.1 17.6 5.8 27.3 1.8.7-.3 1.3-1 1.3-1.9V66.2c0-1.3-1.4-2.3-2.7-1.9zm-12.6 10c-2.2 0-4-1.8-4-4s1.8-4 4-4 4 1.8 4 4-1.8 4-4 4z"}]},partner_marketing_budget:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M73.8 37.8c-18.2 5.6-32.5-11.6-52.5-3.5-1.5.6-2.3 2-2.3 3.7v20.7c0 2.7 2.3 4.5 4.8 3.7 19.7-6 34.1 11.2 52.6 3.5 1.4-.6 2.5-1.9 2.5-3.7V41.5c.1-2.5-2.6-4.5-5.1-3.7zM49.6 57.2c-4.3 0-7.7-3.5-7.7-7.7s3.5-7.7 7.7-7.7 7.7 3.5 7.7 7.7-3.5 7.7-7.7 7.7z"}},partners:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M77 31.7h-6c-1.3 0-2.6-.6-3.6-1.5l-4.8-4.1c-1-.8-2.3-1.4-3.6-1.4H47.3c-1.5 0-2.9.6-4 1.7l-6.2 5.1c-.5.4-.5 1.2-.1 1.7l1.9 1.8c1.3 1 3 1.2 4.3.3l5.5-3.3c.7-.5 1.7-.3 2.3.3l17.3 16.8c.4.4.7 1 .7 1.6v4.5c0 1.2.9 2.5 2 2.5h6c1.1 0 2-.9 2-2.1V33.7c0-1.2-.9-2-2-2zm-17 18L49.2 39.2l-3 1.8c-1.5.9-3.2 1.4-4.9 1.4-2.1 0-4.3-.8-6-2.2L31.4 37c-.9-.7-1.4-1.5-1.5-2.6-.2-1.1-1-1.7-2-1.7H21c-1.1 0-2 .6-2 1.8v18.2c0 1.2.9 2 2 2h4c.3 0 .7-1.1 1.1-1.6 1.5-2 3.7-3.1 6.1-3.4 2.4-.2 4.7.6 6.6 2.3l12.5 11.4c1.1 1 1.9 2.1 2.4 3.5.3.7 1.1.9 1.6.4l4.7-4.7c2.4-2.4 4.2-8 2-10.6l-2-2.3zm-25.1 7.4c-1.3-1.2-3.2-1-4.2.4-1.1 1.4-.9 3.4.4 4.6l12.5 11.3c.6.6 1.4.8 2.2.7.8-.1 1.5-.5 2-1.2 1.1-1.4.9-3.4-.4-4.6L34.9 57.1z"}},password:{xmlns:"http://www.w3.org/2000/svg",path:[{d:"M74 80H26c-3.3 0-6-2.7-6-6V26c0-3.3 2.7-6 6-6h48c3.3 0 6 2.7 6 6v48c0 3.3-2.7 6-6 6zM28.1 30v40c0 1.1.9 2 2 2H70c1.1 0 2-.9 2-2V30c0-1.1-.9-2-2-2H30.1c-1.1 0-2 .9-2 2z"},{d:"M66.3 47.3l-1.2-3.8c-.3-1-1.5-1.6-2.5-1.3L53.9 45v-8.6c0-1.1-.9-2-2-2h-4c-1.1 0-2 .9-2 2V45l-8.5-2.8c-1-.3-2.2.3-2.5 1.3l-1.2 3.8c-.3 1 .3 2.2 1.3 2.5l7.9 2.6-5.7 7.8c-.6.9-.4 2.2.5 2.8l3.3 2.3c.9.6 2.2.4 2.8-.5l6.3-8.7 6.3 8.7c.6.9 1.9 1.1 2.8.5l3.3-2.3c.9-.6 1.1-1.9.5-2.8l-5.7-7.9 7.8-2.5c.9-.4 1.5-1.5 1.2-2.5z"}]},past_chat:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M49.5 21.9c-16.7 0-30 12.3-30 27.4 0 4.8 1.4 9.3 3.6 13.3.4.6.5 1.4.3 2.1l-3.9 10.7c-.4 1 .6 1.9 1.6 1.6L32 72.9c.6-.3 1.4-.1 2.1.3 4.5 2.5 9.9 4 15.7 4 16.4-.2 29.8-12.3 29.8-27.6-.1-15.5-13.5-27.7-30.1-27.7zm11.7 40.5l-1.4 1.4c-.6.6-1.3.9-2.1.9s-1.5-.3-2.1-.9L46 54.2c-.7-.6-1.2-1.7-1.2-2.8v-14c0-1.7 1.3-3 3-3h2c1.7 0 3 1.3 3 3v12.4l8.4 8.4c.6.6.9 1.3.9 2.1s-.3 1.5-.9 2.1z"}},payment_gateway:{xmlns:"http://www.w3.org/2000/svg",g:{path:[{d:"M41.94 25.34a22.45 22.45 0 000 44.88h1V52.43c0-1.33 1-3 2.35-3h19c0-.74.07-1.25.07-1.65a22.52 22.52 0 00-22.42-22.44zm17.91 20.52h-5.78A33.5 33.5 0 0050.9 32.4a18.16 18.16 0 018.95 13.46zM39.37 31.11v14.75h-5.13c.39-7.03 2.61-12.59 5.13-14.75zm0 18.59v14.74c-2.5-2.17-4.74-7.7-5.13-14.74zm5.13-3.84V31.11c2.5 2.16 4.76 7.72 5.13 14.75zM33 32.4a34.57 34.57 0 00-3.2 13.46H24a18.11 18.11 0 019-13.46zm-9 17.94h5.81A33.55 33.55 0 0033 63.76a18.11 18.11 0 01-9-13.42z","fill-rule":"evenodd"},{d:"M76.89 53.2H49.66a3.13 3.13 0 00-3.13 3.13v15.2a3.13 3.13 0 003.13 3.13h27.23A3.13 3.13 0 0080 71.53v-15.2a3.13 3.13 0 00-3.11-3.13zM53.32 71.53a3.65 3.65 0 00-3.55-3.75h-.1V60a3.65 3.65 0 003.75-3.55v-.14H73.2A3.65 3.65 0 0076.79 60h.1v7.82a3.66 3.66 0 00-3.75 3.58v.11z","fill-rule":"evenodd"}],circle:{cx:"63.27",cy:"63.66",r:"5.25"}}},people:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M80 71.2V74c0 3.3-2.7 6-6 6H26c-3.3 0-6-2.7-6-6v-2.8c0-7.3 8.5-11.7 16.5-15.2.3-.1.5-.2.8-.4.6-.3 1.3-.3 1.9.1C42.4 57.8 46.1 59 50 59c3.9 0 7.6-1.2 10.8-3.2.6-.4 1.3-.4 1.9-.1.3.1.5.2.8.4 8 3.4 16.5 7.8 16.5 15.1z"},ellipse:{cx:"50",cy:"36.5",rx:"14.9",ry:"16.5"}},performance:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M30 20h-2c-3.3 0-6 3-6 6v48c0 3 2.7 6 6 6h2c1.1 0 2-.9 2-2V22c0-1.1-.9-2-2-2zM72 20H40c-1.1 0-2 .9-2 2v56c0 1.1.9 2 2 2h32c3.3 0 6-2.7 6-6V26c0-3.3-2.7-6-6-6zm-2.2 26.8l-5.2 5.3c-.1.1-.2.4-.2.6l1.2 7.5c.1.5-.4.9-.9.7l-6.5-3.6c-.2-.1-.4-.1-.6 0l-6.5 3.6c-.5.2-1-.2-.9-.7l1.2-7.5c0-.2 0-.4-.2-.6L46 46.8c-.4-.4-.2-1 .3-1.1l7.2-1.1c.2 0 .4-.2.5-.4l3.2-6.9c.2-.5.9-.5 1.1 0l3.2 6.9c.1.2.3.3.5.4l7.2 1.1c.8.1 1 .7.6 1.1z"}},person_account:{xmlns:"http://www.w3.org/2000/svg",path:[{d:"M69.5 59c-3.6-1.5-4.2-2.9-4.2-4.4 0-1.5 1-2.9 2.2-4 2.1-1.9 3.3-4.6 3.3-7.8 0-5.8-3.7-10.9-10.2-10.9s-10.2 5-10.2 10.9c0 3.2 1.2 5.8 3.3 7.8 1.2 1.1 2.2 2.5 2.2 4s-.6 2.9-4.2 4.4c-5.3 2.2-10.4 5-10.5 9.8 0 3.1 2.4 6.2 5.4 6.2h27.8c3.1 0 5.4-3.1 5.4-6.2.1-4.7-5-7.5-10.3-9.8z"},{d:"M46.6 51.4c-.4-.5-2.4-3-2.2-9.7.1-6.6 3-8.3 3-8.3v-6.5c0-1.1-1.1-1.9-1.9-1.9H21.9c-.9 0-1.9.9-1.9 2v43.6h13.5c.3-11.1 13-15.6 13-15.6 1.9-1 .5-3.1.1-3.6zM30.7 65.1c0 1.1-.9 2-2 2h-2c-1.1 0-2-.9-2-2v-2c0-1.1.9-2 2-2h2c1.1 0 2 .9 2 2v2zm0-9.9c0 1.1-.9 2-2 2h-2c-1.1 0-2-.9-2-2v-2c0-1.1.9-2 2-2h2c1.1 0 2 .9 2 2v2zm0-9.9c0 1.1-.9 2-2 2h-2c-1.1 0-2-.9-2-2v-2c0-1.1.9-2 2-2h2c1.1 0 2 .9 2 2v2zm0-9.9c0 1.1-.9 2-2 2h-2c-1.1 0-2-.9-2-2v-2c0-1.1.9-2 2-2h2c1.1 0 2 .9 2 2v2zm11.2 19.8c0 1.1-.9 2-2 2h-2c-1.1 0-2-.9-2-2v-2c0-1.1.9-2 2-2h2c1.1 0 2 .9 2 2v2zm0-9.9c0 1.1-.9 2-2 2h-2c-1.1 0-2-.9-2-2v-2c0-1.1.9-2 2-2h2c1.1 0 2 .9 2 2v2zm0-9.9c0 1.1-.9 2-2 2h-2c-1.1 0-2-.9-2-2v-2c0-1.1.9-2 2-2h2c1.1 0 2 .9 2 2v2z"}]},photo:{xmlns:"http://www.w3.org/2000/svg",path:[{d:"M36 31h28c.8 0 1.3-.9.8-1.5l-3.3-5.1c-1-2-3.1-3.3-5.4-3.3H43.9c-2.3 0-4.4 1.3-5.4 3.3l-3.3 5.1c-.5.6 0 1.5.8 1.5zM50 49c-4.4 0-8 3.6-8 8s3.6 8 8 8 8-3.6 8-8-3.6-8-8-8z"},{d:"M74 37H26c-3.3 0-6 2.7-6 6v28c0 3.3 2.7 6 6 6h48c3.3 0 6-2.7 6-6V43c0-3.3-2.7-6-6-6zM50 71c-7.7 0-14-6.3-14-14s6.3-14 14-14 14 6.3 14 14-6.3 14-14 14z"}]},picklist_choice:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M25.9 59.7h-4c-1.1 0-2 .9-2 2v4c0 1.1.9 2 2 2h4.2c1.1-.1 1.9-1 1.8-2v-4c0-1.1-.9-2-2-2zM38 32h39.9c1.1 0 2-.9 2-2v-4c0-1.1-.9-2-2-2H38c-1.1 0-2 .9-2 2v4c0 1.1.9 2 2 2zM38 49.9h39.9c1.1 0 2-.9 2-2v-4c0-1.1-.9-2-2-2H38c-1.1 0-2 .9-2 2v4c0 1.1.9 2 2 2zM25.9 23.9h-4c-1.1 0-2 .9-2 2v4c0 1.1.9 2 2 2h4.2c1.1-.1 1.9-1 1.8-2v-4c0-1.1-.9-2-2-2zM25.9 41.8h-4c-1.1 0-2 .9-2 2v4c0 1.1.9 2 2 2h4.2c1.1-.1 1.9-1 1.8-2v-4c0-1.1-.9-2-2-2zM43.6 67.3c0-2.3.8-4.5 2.1-6.3v-.6-.7H38c-1.1 0-2 .9-2 2v4c0 1.1.9 2 2 2h5.6v-.4zM61.7 56.8c1-1 2.4-1.7 4-1.7 2.1 0 3.9 1.1 4.9 2.8.8-.3 1.8-.6 2.8-.6 3.7 0 6.8 3.1 6.8 6.7 0 3.7-3.1 6.7-6.8 6.7-.4 0-.9 0-1.3-.1-.8 1.5-2.5 2.5-4.3 2.5-.8 0-1.5-.2-2.2-.5-.9 2-2.9 3.4-5.2 3.4-2.5 0-4.5-1.5-5.3-3.6-.3 0-.7.1-1.1.1-2.9 0-5.3-2.3-5.3-5.2 0-1.9 1-3.6 2.6-4.5-.3-.7-.5-1.5-.5-2.4 0-3.3 2.8-6 6.1-6 1.9 0 3.7.9 4.8 2.4z"}},picklist_type:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M78 36H38c-1.1 0-2-.9-2-2v-4c0-1.1.9-2 2-2h40c1.1 0 2 .9 2 2v4c0 1.1-.9 2-2 2zM78 54H38c-1.1 0-2-.9-2-2v-4c0-1.1.9-2 2-2h40c1.1 0 2 .9 2 2v4c0 1.1-.9 2-2 2zM26 54h-4c-1.1 0-2-.9-2-2v-4c0-1.1.9-2 2-2h4c1.1 0 2 .9 2 2v4c0 1.1-.9 2-2 2zM26 36h-4c-1.1 0-2-.9-2-2v-4c0-1.1.9-2 2-2h4c1.1 0 2 .9 2 2v4c0 1.1-.9 2-2 2zM26 72h-4c-1.1 0-2-.9-2-2v-4c0-1.1.9-2 2-2h4c1.1 0 2 .9 2 2v4c0 1.1-.9 2-2 2zM78 72H38c-1.1 0-2-.9-2-2v-4c0-1.1.9-2 2-2h40c1.1 0 2 .9 2 2v4c0 1.1-.9 2-2 2z"}},planogram:{xmlns:"http://www.w3.org/2000/svg",g:{path:{d:"M77.4 71.5h-3.3V53.6c0-.9-.8-1.7-1.7-1.7H53.7c-.9 0-1.7.8-1.7 1.7v17.8h-5V53.6c0-.9-.8-1.7-1.7-1.7H26.6c-.9 0-1.7.8-1.7 1.7v17.8h-3.3c-1.1 0-2 .9-2 2v4c0 1.1.9 2 2 2h55.7c1.1 0 2-.9 2-2v-4c.1-1.1-.8-1.9-1.9-1.9zm-20.9-15h13V61h-13v-4.5zm-27.1 0h13V61h-13v-4.5zM77.4 39h-3.3V21.1c0-.9-.8-1.7-1.7-1.7H53.7c-.9 0-1.7.8-1.7 1.7V39h-5V21.1c0-.9-.8-1.7-1.7-1.7H26.6c-.9 0-1.7.8-1.7 1.7V39h-3.3c-1.1 0-2 1-2 2v4c0 1.1.9 2 2 2h55.7c1.1 0 2-.9 2-2v-4c.1-1.2-.8-2-1.9-2zM56.5 24h13v4.5h-13V24zm-27.1 0h13v4.5h-13V24z"}}},poll:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M76 20H24c-2.2 0-4 1.8-4 4v8c0 2.2 1.8 4 4 4h52c2.2 0 4-1.8 4-4v-8c0-2.2-1.8-4-4-4zM51 32v-8h25v8H51zM76 42H24c-2.2 0-4 1.8-4 4v8c0 2.2 1.8 4 4 4h52c2.2 0 4-1.8 4-4v-8c0-2.2-1.8-4-4-4zM42 54v-8h34v8H42zM76 64H24c-2.2 0-4 1.8-4 4v8c0 2.2 1.8 4 4 4h52c2.2 0 4-1.8 4-4v-8c0-2.2-1.8-4-4-4zM60 76v-8h16v8H60z"}},portal:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M72 22H28c-3.3 0-6 2.7-6 6v44c0 3.3 2.7 6 6 6h44c3.3 0 6-2.7 6-6V28c0-3.3-2.7-6-6-6zM59 62.6c.3 1.2-.7 2.4-1.9 2.4H43c-1.3 0-2.2-1.2-1.9-2.4l3.2-11c-3.1-2.2-4.9-6.1-4.1-10.4.8-4 3.9-7.2 7.9-7.9C54.4 32 60 36.9 60 43.2c0 3.5-1.7 6.5-4.3 8.3L59 62.6z"}},portal_roles:{xmlns:"http://www.w3.org/2000/svg",path:[{d:"M73.8 20H26.2c-3.4 0-6.2 2.8-6.2 6.2v47.6c0 3.4 2.8 6.2 6.2 6.2h47.6c3.4 0 6.2-2.8 6.2-6.2V26.2c0-3.4-2.8-6.2-6.2-6.2zm-26.4 7.4c0-.8.8-1.4 1.6-1.4h23.4c.8 0 1.4.8 1.4 1.6v3c0 .8-.8 1.4-1.6 1.4H48.8c-.8 0-1.4-.8-1.4-1.6v-3zm-8-1.4c1.7 0 3 1.3 3 3s-1.3 3-3 3-3-1.3-3-3 1.3-3 3-3zM29 26c1.7 0 3 1.3 3 3s-1.3 3-3 3-3-1.3-3-3 1.3-3 3-3zm45 46.6c0 .8-.8 1.4-1.6 1.4h-45c-.8 0-1.4-.8-1.4-1.6v-33c0-.8.8-1.4 1.6-1.4h45c.8 0 1.4.8 1.4 1.6v33z"},{d:"M68 52.3c0 1.1-.9 2-2 2h-7.6c-1.1 0-2-.9-2-2v-3c0-1.1.9-2 2-2H66c1.1 0 2 .9 2 2v3zM68 63.3c0 1.1-.9 2-2 2h-7.6c-1.1 0-2-.9-2-2v-3c0-1.1.9-2 2-2H66c1.1 0 2 .9 2 2v3zM49 47.3H33.6c-.8 0-1.6.6-1.6 1.4v15c0 .8.6 1.6 1.4 1.6H48.8c.8 0 1.6-.6 1.6-1.4v-15c0-.8-.6-1.6-1.4-1.6zm-4 14.9h-7.5c-.8 0-1.5-.9-1.5-1.8 0-1.3 1.4-2.1 2.8-2.8 1-.4 1.1-.8 1.1-1.3s-.3-.8-.6-1.1c-.6-.5-.9-1.3-.9-2.2 0-1.7 1-3.1 2.8-3.1 1.7 0 2.8 1.4 2.8 3.1 0 .9-.3 1.7-.9 2.2-.3.3-.6.7-.6 1.1s.1.8 1.1 1.2c1.4.6 2.8 1.5 2.8 2.8.1 1-.6 1.9-1.4 1.9z"}]},portal_roles_and_subordinates:{xmlns:"http://www.w3.org/2000/svg",path:[{d:"M68 49.1c0 1.1-.9 2-2 2H47.4c-1.1 0-2-.9-2-2v-3c0-1.1.9-2 2-2H66c1.1 0 2 .9 2 2v3zM39.4 49.1c0 1.1-.9 2-2 2H34c-1.1 0-2-.9-2-2v-3c0-1.1.9-2 2-2h3.4c1.1 0 2 .9 2 2v3z"},{d:"M73.8 20H26.2c-3.4 0-6.2 2.8-6.2 6.2v47.6c0 3.4 2.8 6.2 6.2 6.2h47.6c3.4 0 6.2-2.8 6.2-6.2V26.2c0-3.4-2.8-6.2-6.2-6.2zm-26.4 7.4c0-.8.8-1.4 1.6-1.4h23.4c.8 0 1.4.8 1.4 1.6v3c0 .8-.8 1.4-1.6 1.4H48.8c-.8 0-1.4-.8-1.4-1.6v-3zm-8-1.4c1.7 0 3 1.3 3 3s-1.3 3-3 3-3-1.3-3-3 1.3-3 3-3zM29 26c1.7 0 3 1.3 3 3s-1.3 3-3 3-3-1.3-3-3 1.3-3 3-3zm45 46.6c0 .8-.8 1.4-1.6 1.4H68V59.1c0-1.1-.9-2-2-2H34c-1.1 0-2 .9-2 2V74h-4.6c-.8 0-1.4-.8-1.4-1.6v-33c0-.8.8-1.4 1.6-1.4h45c.8 0 1.4.8 1.4 1.6v33z"}]},post:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M49.2 21.7c-16.6 0-30 12.5-30 28 0 5 1.4 9.6 3.8 13.7.3.5.4 1.1.2 1.6l-2.8 8.9c-.5 1.6 1 3 2.6 2.5l8.8-3.1c.6-.2 1.2-.1 1.7.2 4.6 2.7 10 4.2 15.8 4.2 16.6 0 30-12.5 30-28-.2-15.5-13.6-28-30.1-28z"}},practitioner_role:{xmlns:"http://www.w3.org/2000/svg",g:{path:{d:"M50.58 70.89a12.79 12.79 0 01-10.11-9.62 1.93 1.93 0 00-1.89-1.51h-1.89A1.94 1.94 0 0034.81 62a18.2 18.2 0 0017.83 14.74H53a17.14 17.14 0 01-2.42-5.85zM54.24 37.12V23a2.78 2.78 0 00-2.83-2.83h-3.77a2.83 2.83 0 100 5.66h.94v11.29a11.32 11.32 0 01-22.64 0V25.8h.94a2.83 2.83 0 100-5.66h-3.77A2.78 2.78 0 0020.28 23v14.12a17 17 0 0034 0zM67.3 54.58a12.63 12.63 0 1012.63 12.63A12.67 12.67 0 0067.3 54.58zm7.1 17.67a1.88 1.88 0 01-1.89 1.81H62.42a1.83 1.83 0 01-1.89-1.81V72c0-1.69 1.85-2.6 3.78-3.38 1.3-.56 1.5-1 1.5-1.58a2.14 2.14 0 00-.81-1.49 3.48 3.48 0 01-1.18-2.76 3.67 3.67 0 117.33 0A3.7 3.7 0 0170 65.55a2.23 2.23 0 00-.88 1.45c0 .55.16 1 1.5 1.58 1.93.78 3.74 1.69 3.78 3.38z"}}},price_book_entries:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M48.8 20l14.8.3a5.45 5.45 0 013.1 1.3l5.8 5.8 5.8 5.8a4.39 4.39 0 011.3 3.1l.4 14.9a4.45 4.45 0 01-1.3 3.2L54.4 78.7a4.53 4.53 0 01-6.3 0L34.7 65.3 21.3 51.9a4.53 4.53 0 010-6.3l24.3-24.3a4.45 4.45 0 013.2-1.3zm-8.2 23.7L38.2 46a1 1 0 000 1.6l14.2 14.2a1 1 0 001.6 0l2.4-2.4a1 1 0 000-1.6L42.1 43.7a.94.94 0 00-1.5 0zm6.7-6.8l-2.4 2.4a1 1 0 000 1.6l14.2 14.2a1 1 0 001.6 0l2.4-2.4a1 1 0 000-1.6L48.9 36.9a1.22 1.22 0 00-1.6 0zm22.9-7.1a4.45 4.45 0 100 6.3 4.53 4.53 0 000-6.3z"}},price_books:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M77.4 72.9c0 3.2-2.8 6.3-5.9 6.4h-37c-3.2 0-5.8-3-6-5.9v-2h-2a3.9 3.9 0 01-.2-7.8h2.2v-9.8h-2a3.9 3.9 0 01-.2-7.8h2.2v-9.8h-2a3.9 3.9 0 01-.2-7.8h2.2v-2.2a6 6 0 015.7-5.7l37 .08c3.2 0 6 2.12 6.2 5.22zM51.8 34.7a2.5 2.5 0 00-1.8.8L36.2 49.2a2.53 2.53 0 000 3.6L51.4 68a2.53 2.53 0 003.6 0l13.8-13.8a2.5 2.5 0 00.8-1.8l-.3-8.4a2.14 2.14 0 00-.8-1.7L62 35.6a3.37 3.37 0 00-1.7-.8zm-4.7 13.4a.56.56 0 01.9 0l8 8a.56.56 0 010 .9l-1.3 1.3a.56.56 0 01-.9 0l-8-8a.56.56 0 010-.9zm3.9-3.8a.56.56 0 01.9 0l8 8a.56.56 0 010 .9l-1.3 1.3a.56.56 0 01-.9 0l-8-8a.56.56 0 010-.9zm12.9-4a2.55 2.55 0 11-3.6 0 2.54 2.54 0 013.6 0z"}},pricebook:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M71.7 20H34.1c-3.3 0-6.1 2.8-6.1 5.8V28h-2c-2.2 0-4 1.8-4 4s1.8 4 4 4h2v10h-2c-2.2 0-4 1.8-4 4s1.8 4 4 4h2v10h-2c-2.2 0-4 1.8-4 4s1.8 4 4 4h2v1.8c0 3 2.8 6.2 6.1 6.2h37.6c3.3 0 6.3-3.3 6.3-6.6v-48c0-3.3-3-5.4-6.3-5.4zM43 61c0 .6-.4 1-1 1h-4c-.6 0-1-.4-1-1V39c0-.6.4-1 1-1h4c.6 0 1 .4 1 1v22zm8 0c0 .6-.4 1-1 1h-2c-.6 0-1-.4-1-1V39c0-.6.4-1 1-1h2c.6 0 1 .4 1 1v22zm10 0c0 .6-.4 1-1 1h-4c-.6 0-1-.4-1-1V39c0-.6.4-1 1-1h4c.6 0 1 .4 1 1v22zm8 0c0 .6-.4 1-1 1h-2c-.6 0-1-.4-1-1V39c0-.6.4-1 1-1h2c.6 0 1 .4 1 1v22z"}},pricing_workspace:{xmlns:"http://www.w3.org/2000/svg",path:[{d:"M36.6 20.5a2.05 2.05 0 012.1 2.1V24a2.05 2.05 0 01-2.1 2.1h-6.3a4.19 4.19 0 00-4.2 4v39.6a4.19 4.19 0 004 4.2h39.6a4.19 4.19 0 004.2-4v-6.5a2.05 2.05 0 012.1-2.1h1.4a2.05 2.05 0 012.1 2.1v7.7a8.39 8.39 0 01-8.4 8.4H28.9a8.39 8.39 0 01-8.4-8.4V28.9a8.39 8.39 0 018.4-8.4z","fill-rule":"evenodd"},{d:"M54.6 24l10.4.2a4.31 4.31 0 012.2.9l4.1 4.1 4.1 4.1a2.94 2.94 0 01.9 2.2l.2 10.4a3.17 3.17 0 01-.9 2.3L58.5 65.3a3.14 3.14 0 01-4.4 0l-9.4-9.4-9.4-9.4a3.14 3.14 0 010-4.4L52.4 25a2.57 2.57 0 012.2-1zm-5.8 16.6l-1.7 1.7a.78.78 0 000 1.1l10 10a.78.78 0 001.1 0l1.7-1.7a.78.78 0 000-1.1l-10-10a.78.78 0 00-1.1 0zm4.7-4.7l-1.7 1.7a.78.78 0 000 1.1l10 10a.78.78 0 001.1 0l1.7-1.7a.78.78 0 000-1.1l-10-10a.78.78 0 00-1.1 0zm16.1-5a3.11 3.11 0 100 4.4 3.14 3.14 0 000-4.4z"}]},procedure:{xmlns:"http://www.w3.org/2000/svg",g:{path:[{d:"M72 25h-2a.94.94 0 00-1 1v4a8 8 0 01-8 8H39a8 8 0 01-8-8v-4a.94.94 0 00-1-1h-2a6 6 0 00-6 6v43a6 6 0 006 6h44a6 6 0 006-6V31a6 6 0 00-6-6zM28 53.86v-2.07a2.08 2.08 0 012.08-2.08h3.11V46.6a2.08 2.08 0 012.07-2.08h2.08a2.08 2.08 0 012.07 2.08v3.11h3.09a2.08 2.08 0 012.08 2.08v2.07a2.08 2.08 0 01-2.08 2.08h-3.11v3.11a2.07 2.07 0 01-2.07 2.07h-2.08a2.07 2.07 0 01-2.07-2.07v-3.11h-3.11A2.08 2.08 0 0128 53.86zm43.66 17.79A1.32 1.32 0 0170.33 73H29.41a1.33 1.33 0 01-1.33-1.33V69a1.34 1.34 0 011.33-1.33h40.92A1.33 1.33 0 0171.66 69zm0-11.62a1.33 1.33 0 01-1.33 1.33H50.22A1.34 1.34 0 0148.89 60v-2.63A1.34 1.34 0 0150.22 56h20.11a1.33 1.33 0 011.33 1.33zm0-11.63a1.33 1.33 0 01-1.33 1.33H50.41a1.34 1.34 0 01-1.33-1.33v-2.66a1.34 1.34 0 011.33-1.33h19.92a1.33 1.33 0 011.33 1.33z"},{d:"M39 32h22a2 2 0 002-2v-4a6 6 0 00-6-6H43a6 6 0 00-6 6v4a2 2 0 002 2z"}]}},procedure_detail:{xmlns:"http://www.w3.org/2000/svg",g:{path:[{d:"M69.7 79.52a10.2 10.2 0 1110.2-10.19 10.17 10.17 0 01-10.2 10.19zm.9-12.69a1.06 1.06 0 00-.7.2c-.56.38-1.12.76-1.66 1.17a2.82 2.82 0 00-.53.56.27.27 0 000 .35.29.29 0 00.35.08 3.12 3.12 0 00.39-.15l.38-.16c.18-.06.28 0 .27.22a1.07 1.07 0 010 .25q-.58 2.4-1.18 4.82a.89.89 0 00.45 1.06 1.13 1.13 0 001.15-.1c.54-.35 1.08-.72 1.59-1.11a5.45 5.45 0 00.71-.73.22.22 0 00.06-.28.27.27 0 00-.3-.11 3 3 0 00-.39.14c-.14.06-.28.14-.43.19s-.27 0-.25-.19a1.59 1.59 0 01.06-.38c.36-1.51.73-3 1.1-4.51a1 1 0 00-1.07-1.32zm1.08-2.1a1.55 1.55 0 00-1.78-1.47 1.38 1.38 0 00-1.08 2 1.55 1.55 0 001.71.89 1.47 1.47 0 001.15-1.42zM34.78 30.47h18.91a1.72 1.72 0 001.71-1.72v-3.44a5.17 5.17 0 00-5.15-5.16h-12a5.17 5.17 0 00-5.15 5.16v3.44a1.73 1.73 0 001.68 1.72z"},{d:"M56.1 69.32a13.47 13.47 0 01.5-3.62H26.53a1.15 1.15 0 01-1.14-1.15v-2.28a1.15 1.15 0 011.14-1.14h32.33a13.55 13.55 0 019.44-5.35V29.61a5.17 5.17 0 00-5.16-5.16h-1.72a.82.82 0 00-.86.86v3.44a6.9 6.9 0 01-6.87 6.88H34.78a6.9 6.9 0 01-6.88-6.88v-3.44a.82.82 0 00-.86-.86h-1.72a5.17 5.17 0 00-5.16 5.16v37a5.17 5.17 0 005.16 5.16h31a13.76 13.76 0 01-.22-2.45zm-12.66-27a1.15 1.15 0 011.15-1.14h17.12a1.14 1.14 0 011.14 1.14v2.28a1.15 1.15 0 01-1.14 1.15H44.59a1.16 1.16 0 01-1.15-1.15zm-.16 10a1.15 1.15 0 011.14-1.14h17.29a1.15 1.15 0 011.14 1.14v2.29a1.14 1.14 0 01-1.14 1.14H44.42a1.14 1.14 0 01-1.14-1.14zm-18-3v-1.84a1.8 1.8 0 011.79-1.79h2.67V43a1.79 1.79 0 011.79-1.79h1.78a1.79 1.79 0 011.8 1.79v2.67h2.68a1.79 1.79 0 011.78 1.79v1.78A1.78 1.78 0 0137.79 51h-2.68v2.68a1.78 1.78 0 01-1.78 1.78h-1.78a1.79 1.79 0 01-1.79-1.78V51h-2.67a1.79 1.79 0 01-1.79-1.74z"}]}},process:{xmlns:"http://www.w3.org/2000/svg",g:{path:{d:"M37.6 46.3l10.8-13.4c.8-1 2.3-1 3.1 0l10.8 13.4c.4.5 1 .7 1.6.7H76c1.1 0 2-.9 2-2V28c0-3.3-2.7-6-6-6H28c-3.3 0-6 2.7-6 6v17c0 1.1.9 2 2 2h12c.6 0 1.2-.3 1.6-.7zM62.3 53.7L51.5 67.1c-.8 1-2.3 1-3.1 0L37.6 53.7c-.4-.5-1-.7-1.6-.7H24c-1.1 0-2 .9-2 2v17c0 3.3 2.7 6 6 6h44c3.3 0 6-2.7 6-6V55c0-1.1-.9-2-2-2H63.9c-.6 0-1.2.3-1.6.7z"}}},process_exception:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M21.84 39.94h9.4a2.4 2.4 0 001.2-.7l8.4-10.5a1.5 1.5 0 012.4 0l8.4 10.5a1.46 1.46 0 001.2.5h9.6a1.58 1.58 0 001.6-1.6V25a4.69 4.69 0 00-4.7-4.7h-34.4a4.69 4.69 0 00-4.7 4.7v13.3a1.58 1.58 0 001.6 1.64zM61.7 48.5a10 10 0 012.24-.28V46a1.58 1.58 0 00-1.6-1.6h-9.4a2.73 2.73 0 00-1.2.6l-8.4 10.5a1.5 1.5 0 01-2.4 0L32.44 45a1.46 1.46 0 00-1.2-.5h-9.4a1.58 1.58 0 00-1.6 1.6v13.3a4.69 4.69 0 004.7 4.7h24.3L55.7 53a10.43 10.43 0 016-4.5zM78.42 72.86L68.35 55.57a4.66 4.66 0 00-1.68-1.68 4.17 4.17 0 00-2.37-.69 5 5 0 00-1.29.2 4.78 4.78 0 00-2.86 2.17L50.07 72.86a4.17 4.17 0 00-.69 2.37A4.71 4.71 0 0054.12 80h20.25a5.08 5.08 0 002.38-.69 4.58 4.58 0 002.17-2.86 4.48 4.48 0 00-.5-3.59zM64.2 75.92a2.18 2.18 0 01-2.2-2.17 2.36 2.36 0 011-1.81 2.17 2.17 0 111.2 4zm2.17-6.52a.67.67 0 01-.69.69h-2.86a.68.68 0 01-.7-.69V60a.68.68 0 01.7-.69h2.86a.67.67 0 01.69.69z"}},product:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M22 66h5c1.1 0 2-.9 2-2V33c0-1.1-.9-2-2-2h-5c-1.1 0-2 .9-2 2v31c0 1.1.9 2 2 2zM78 31h-5c-1.1 0-2 .9-2 2v31c0 1.1.9 2 2 2h5c1.1 0 2-.9 2-2V33c0-1.1-.9-2-2-2zM53 66c1.1 0 2-.9 2-2V33c0-1.1-.9-2-2-2h-6c-1.1 0-2 .9-2 2v31c0 1.1.9 2 2 2h6zM65 66c1.1 0 2-.9 2-2V33c0-1.1-.9-2-2-2h-2c-1.1 0-2 .9-2 2v31c0 1.1.9 2 2 2h2zM39 66c1.1 0 2-.9 2-2V33c0-1.1-.9-2-2-2h-2c-1.1 0-2 .9-2 2v31c0 1.1.9 2 2 2h2zM78 72H22c-1.1 0-2 .9-2 2v2c0 1.1.9 2 2 2h56c1.1 0 2-.9 2-2v-2c0-1.1-.9-2-2-2zM78 20H22c-1.1 0-2 .9-2 2v2c0 1.1.9 2 2 2h56c1.1 0 2-.9 2-2v-2c0-1.1-.9-2-2-2z"}},product_consumed:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M77.13 55.17h-3.75A1.92 1.92 0 0071.5 57v12.5a1.92 1.92 0 01-1.87 1.88H28.38a1.92 1.92 0 01-1.87-1.87V57a1.92 1.92 0 00-1.87-1.87h-3.76A1.92 1.92 0 0019 57v16.92a5 5 0 005 5h50a5 5 0 005-5V57a1.92 1.92 0 00-1.87-1.83zm-29.38 8.25a1.81 1.81 0 002.63 0l16.87-16.88a1.81 1.81 0 000-2.63l-2.62-2.63a1.81 1.81 0 00-2.62 0l-7 7a1.25 1.25 0 01-2.13-.88V20.79a2.25 2.25 0 00-2-1.87h-3.75a1.92 1.92 0 00-1.87 1.88v26.5a1.25 1.25 0 01-2.13.88l-7-7a1.81 1.81 0 00-2.63 0l-2.63 2.75a1.81 1.81 0 000 2.63z"}},product_item:{xmlns:"http://www.w3.org/2000/svg",rect:[{x:"19",y:"18.92",width:"60",height:"16",rx:"4",ry:"4"},{x:"19",y:"40.92",width:"27",height:"16",rx:"4",ry:"4"},{x:"19",y:"62.92",width:"27",height:"16",rx:"4",ry:"4"},{x:"52",y:"40.92",width:"27",height:"16",rx:"4",ry:"4"},{x:"52",y:"62.92",width:"27",height:"16",rx:"4",ry:"4"}]},product_item_transaction:{xmlns:"http://www.w3.org/2000/svg",rect:[{x:"19",y:"18.92",width:"60",height:"16",rx:"4",ry:"4"},{x:"19",y:"40.92",width:"27",height:"16",rx:"4",ry:"4"},{x:"19",y:"62.92",width:"27",height:"16",rx:"4",ry:"4"}],path:{d:"M64.95 72.49a1.45 1.45 0 002.1 0l11.5-11.4a1.45 1.45 0 000-2.1L67 47.49a1.45 1.45 0 00-2.1 0l-2.1 2.1a1.45 1.45 0 000 2.1l3.6 3.6a1 1 0 01-.7 1.7H53.6a1.63 1.63 0 00-1.6 1.5v3A1.71 1.71 0 0053.6 63h12.15a1 1 0 01.7 1.7l-3.6 3.6a1.45 1.45 0 000 2.1z"}},product_quantity_rules:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M77 58.48H56.47a1.63 1.63 0 00-1.63 1.63v1.64a1.65 1.65 0 001.63 1.64H77a1.65 1.65 0 001.63-1.64v-1.64A1.63 1.63 0 0077 58.48zM77 70H56.47a1.65 1.65 0 00-1.63 1.64v1.64a1.63 1.63 0 001.63 1.63H77a1.63 1.63 0 001.63-1.63v-1.65A1.64 1.64 0 0077 70zM43.55 58.48H23a1.65 1.65 0 00-1.64 1.63v1.64A1.66 1.66 0 0023 63.39h20.55a1.66 1.66 0 001.64-1.64v-1.64a1.65 1.65 0 00-1.64-1.63zM43.55 70H23a1.66 1.66 0 00-1.64 1.64v1.64A1.64 1.64 0 0023 74.9h20.55a1.65 1.65 0 001.64-1.63v-1.64A1.65 1.65 0 0043.55 70zM66.73 25.14a13 13 0 1013 13 13 13 0 00-13-13zM73.17 39a.82.82 0 01-.82.7H61.11a.78.78 0 01-.81-.7 11.3 11.3 0 010-1.84.82.82 0 01.81-.7h11.24a.82.82 0 01.82.7 11.3 11.3 0 010 1.84zM42.51 28.88a13 13 0 00-18.43 18.43 13 13 0 0018.43-18.43zM42 39.17a.51.51 0 01-.47.55h-6.07a.58.58 0 00-.54.54v6a.58.58 0 01-.54.54h-2.17a.5.5 0 01-.54-.46v-6.08a.51.51 0 00-.48-.54h-6.07a.52.52 0 01-.54-.5V37a.59.59 0 01.54-.55h6a.51.51 0 00.55-.47V30a.58.58 0 01.54-.54h2.17a.54.54 0 01.54.54v6a.5.5 0 00.46.54h6.08A.6.6 0 0142 37z"}},product_request:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M77.4 78.1H40.5c-1.2 0-2.3-1-2.3-2.2V71.2c0-1.2 1-2.3 2.2-2.3h37c1.2 0 2.3 1 2.3 2.2V75.8c.1 1.2-.9 2.3-2.3 2.3.1 0 .1 0 0 0zM26.6 78.1H22c-1.2 0-2.3-1-2.3-2.2V71.2c0-1.2 1-2.3 2.2-2.3H26.6c1.2 0 2.3 1 2.3 2.2V75.8c.1 1.2-.9 2.2-2.1 2.3h-.2zM53.8 57.6c-1.2 0-2.3-1-2.3-2.2V50.7c0-1.2 1-2.3 2.2-2.3H77.4c1.2 0 2.3 1 2.3 2.2V55.3c0 1.2-1 2.3-2.2 2.3H53.8zM62.6 37.1c-1.2 0-2.3-1-2.3-2.2V30.2c0-1.2 1-2.3 2.2-2.3h14.9c1.2 0 2.3 1 2.3 2.2V34.8c0 1.2-1 2.3-2.2 2.3H62.6zM20.8 58.2C19.6 47.5 28 36.4 38 34.5l2.7-.6c.5-.1.9-.6.8-1.2 0-.3-.2-.5-.4-.6l-6.7-4.5c-.7-.5-.8-1.4-.3-2v-.1l1.7-2.5c.4-.7 1.4-.9 2-.4h.1L54 33.5c.7.4.9 1.4.4 2v.1l-11 16.2c-.4.7-1.4.9-2 .4h-.1l-2.5-1.7c-.7-.4-.9-1.4-.4-2v-.1l4.4-6.7c.3-.4.3-1.1-.2-1.4-.2-.2-.5-.3-.8-.2l-1.6.3c-7.8 1.5-14.4 10.3-13.7 17.9 0 .7-1.1 1.7-1.9 1.9h-1.9c-.9.1-1.9-1.1-1.9-2z"}},product_request_line_item:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M77.8 77.4h-37c-1.2 0-2.3-1-2.3-2.2V70.5c0-1.2 1-2.3 2.2-2.3h37c1.2 0 2.3 1 2.3 2.2V75.1c.1 1.2-.9 2.3-2.2 2.3zM26.9 77.4h-4.6c-1.2 0-2.3-1-2.3-2.2V70.5c0-1.2 1-2.3 2.2-2.3H26.9c1.2 0 2.3 1 2.3 2.2V75.1c.1 1.2-.8 2.2-2 2.3h-.3zM24.4 48.5c6.8-11.7 22.9-17 33.6-11.8l2.9 1.3c1 .5 2-.6 1.7-1.6L59.8 27c-.3-1 .3-2 1.2-2.4l3.4-1.3c.8-.4 1.7 0 2.1.8 0 .1.1.2.1.3l6.8 22.7c.3 1-.2 2.1-1.2 2.4l-22 8.6c-.8.4-1.7 0-2.1-.8 0-.1-.1-.2-.1-.3l-1.1-3.5c-.3-1 .2-2.1 1.2-2.4l9-3.6c.7-.2 1-.9.8-1.6-.1-.3-.3-.6-.6-.7l-1.7-.8c-8.3-4.1-21 .1-26 8.4-.5.8-2.3 1-3.2.6l-1.7-1.6c-.9-.4-.8-2.4-.3-3.3z"}},product_required:{xmlns:"http://www.w3.org/2000/svg",rect:[{x:"43.93",y:"68.27",width:"36.07",height:"7.99",rx:"2",ry:"2"},{x:"43.93",y:"50.42",width:"36.07",height:"7.99",rx:"2",ry:"2"},{x:"49.92",y:"32.57",width:"30.08",height:"7.99",rx:"2",ry:"2"}],path:[{d:"M33.82 76.26h-4a2 2 0 01-2-2v-4a2 2 0 012-2h4a2 2 0 012 2v4a1.9 1.9 0 01-2 2zM33.82 58.41h-4a2 2 0 01-2-2v-4a2 2 0 012-2h4a2 2 0 012 2v4a1.9 1.9 0 01-2 2z","fill-rule":"evenodd"},{d:"M47.55 26.33l-2.12-2.12a1.44 1.44 0 00-2.12 0L30.08 37.32l-5.37-5.24a1.44 1.44 0 00-2.12 0l-2.12 2.12a1.44 1.44 0 000 2.12l7.36 7.36a3 3 0 004.24 0l15.48-15.22a1.69 1.69 0 000-2.13z","fill-rule":"evenodd"}]},product_service_campaign:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M47.44 61.66a1 1 0 011 .91v14.37a3.06 3.06 0 01-2.87 3H25.08a3.06 3.06 0 01-3-2.88V62.68a1 1 0 01.91-1h24.5zm29.51 0a1 1 0 011 .91v14.37a3.06 3.06 0 01-2.87 3H54.59a3.06 3.06 0 01-3-2.88V62.68a1 1 0 01.91-1H77zm-37.36 4.23l-.09.11-5.82 6.32-2.63-2.55a.77.77 0 00-1-.08l-.09.08-1.09 1a.62.62 0 00-.07.9l.07.08 3.73 3.54a1.56 1.56 0 001.08.45 1.43 1.43 0 001.09-.45l3.14-3.32.63-.67 3.14-3.31a.78.78 0 00.06-.9l-.06-.08-1.09-1a.76.76 0 00-1-.12zm29.51 0L69 66l-5.82 6.32-2.64-2.55a.75.75 0 00-1-.08l-.09.08-1.09 1a.62.62 0 00-.07.9l.07.08 3.73 3.54a1.54 1.54 0 001.08.45 1.43 1.43 0 001.09-.45l3.14-3.32.63-.67 3.14-3.31a.78.78 0 00.06-.9l-.06-.08L70.1 66a.76.76 0 00-1-.11zM45.67 51.48a3 3 0 012.85 2.87v3.24a1 1 0 01-.84 1H21a1 1 0 01-.94-.9v-3.16a3 3 0 012.69-3.05h23zm31.48 0A3 3 0 0180 54.35v3.24a1 1 0 01-.84 1H52.43a1 1 0 01-1-.9v-3.16a3 3 0 012.68-3.05h23zm-15-21.29a1 1 0 011 .91v14.37a3.06 3.06 0 01-2.87 3.05H39.84a3.06 3.06 0 01-3.05-2.87V31.21a1 1 0 01.9-1H62.2zm-7.85 4.22l-.09.08-5.82 6.32-2.59-2.56a.76.76 0 00-1-.07l-.09.07-1.08 1a.61.61 0 00-.07.9l.07.08 3.72 3.53a1.56 1.56 0 001.09.45 1.43 1.43 0 001.08-.45l3.14-3.31.64-.67 3.13-3.32a.78.78 0 00.06-.9l-.06-.07-1.08-1a.77.77 0 00-1-.08zM62.2 20a3.06 3.06 0 013 2.88v3.23a1 1 0 01-.91 1H35.77a1 1 0 01-1-.91v-3.14a3.06 3.06 0 012.87-3H62.2z"}},product_service_campaign_item:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M74 42a2 2 0 012 1.85V72a6 6 0 01-5.78 6H30a6 6 0 01-6-5.78V44a2 2 0 011.85-2zm-15.5 8.34l-.12.1-11.45 12.41-5.2-5a1.51 1.51 0 00-2-.1l-.11.1-2.14 1.92a1.2 1.2 0 00-.1 1.81l.1.11 7.33 6.94a3.07 3.07 0 002.14.89 2.81 2.81 0 002.13-.89L55 62.34l.43-.44.42-.45.55-.58.21-.22.42-.44 5.62-5.93a1.54 1.54 0 00.08-1.82l-.08-.1-2.14-1.92a1.51 1.51 0 00-2.01-.1zM74 22a6 6 0 016 6v6a2 2 0 01-2 2H22a2 2 0 01-2-2v-6a6 6 0 016-6z"}},product_transfer:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M75.6 20.54h-3.55a1.82 1.82 0 00-1.77 1.77v8.28c0 1.06-1.18 1.77-1.89.95A26 26 0 0046.28 23a22.73 22.73 0 00-8.75 2.6 22.92 22.92 0 00-4 2.48 1.89 1.89 0 00-.24 2.72l2.48 2.48a1.79 1.79 0 002.25.24 28.6 28.6 0 014.61-2.48c.71-.24 1.54-.47 2.36-.71a19.53 19.53 0 0118.56 6.38c1.42 1.66.35 2.72-.83 2.72h-8.28a1.93 1.93 0 00-1.89 1.77v3.55a1.93 1.93 0 001.89 1.77H76A1.47 1.47 0 0077.37 45V22.32a1.82 1.82 0 00-1.77-1.78zM64.84 62.39a1.71 1.71 0 00-2.48 0 18.93 18.93 0 01-6.86 4.37c-.71.24-1.54.47-2.36.71a19.53 19.53 0 01-18.56-6.38c-1.42-1.66-.35-2.72.83-2.72h8.28a1.82 1.82 0 001.77-1.77v-3.55a1.82 1.82 0 00-1.77-1.77H22.16a1.57 1.57 0 00-1.54 1.54v22.7a1.82 1.82 0 001.77 1.77h3.55a1.82 1.82 0 001.77-1.77v-8.28c0-1.06 1.18-1.77 1.89-.95a25.87 25.87 0 0022.11 8.51 22.73 22.73 0 008.75-2.6 25.85 25.85 0 006.74-4.85 1.71 1.71 0 000-2.48z"}},product_warranty_term:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M66 49.52c1.77 0 3.17 1.92 4.72 2.58s4 .3 5.17 1.55.89 3.55 1.56 5.17 2.58 3 2.58 4.73-1.92 3.17-2.58 4.73-.3 4-1.56 5.16-3.54.89-5.17 1.56-3 2.58-4.72 2.58-3.21-1.92-4.76-2.58-4-.3-5.17-1.56-.88-3.54-1.55-5.16-2.58-3-2.58-4.73 1.92-3.18 2.58-4.73.3-4 1.55-5.17 3.55-.88 5.17-1.55 2.96-2.58 4.76-2.58zM50.89 68.7a5.77 5.77 0 01.47.88c.62 1.51.59 3.53 1.11 5.1H21.74a1.88 1.88 0 01-1.74-2v-2a1.88 1.88 0 011.74-2h29.15zM71.2 59a.69.69 0 00-1 0l-5.47 6.24-2.48-2.52a.69.69 0 00-1 0l-1 1a.63.63 0 000 1l3.5 3.49a1.42 1.42 0 001 .45 1.3 1.3 0 001-.45l6.5-7.21a.78.78 0 000-1zM25.81 32.87a1.74 1.74 0 011.66 1.79v27.77a1.74 1.74 0 01-1.66 1.8h-4.15a1.74 1.74 0 01-1.66-1.8V34.66a1.74 1.74 0 011.66-1.79h4.15zm23.75 0a1.79 1.79 0 011.79 1.79v22.87c-.86 2-3.3 3.76-3.3 6a3.08 3.08 0 00.08.68h-4a1.8 1.8 0 01-1.79-1.8V34.66a1.79 1.79 0 011.79-1.79h5.37zm-12.14 0a1.91 1.91 0 012 1.79v27.77a1.91 1.91 0 01-2 1.8h-2a1.9 1.9 0 01-2-1.8V34.66a1.9 1.9 0 012-1.79h2zm22.4 0a1.91 1.91 0 012 1.79v13.1a9.36 9.36 0 01-1.87 1.18 22.83 22.83 0 01-4.11.85V34.66a1.91 1.91 0 012-1.79h2zm10.78 0a1.74 1.74 0 011.66 1.79V49l-.26-.1c-2-.84-3.77-3.29-6-3.29a3.37 3.37 0 00-1.18.21V34.66a1.74 1.74 0 011.66-1.79h4.12zm-.08-10.45a1.89 1.89 0 011.74 2v2a1.88 1.88 0 01-1.74 2H21.74a1.88 1.88 0 01-1.74-2v-2a1.88 1.88 0 011.74-2h48.78z"}},product_workspace:{xmlns:"http://www.w3.org/2000/svg",path:[{d:"M36.6 20.5a2.05 2.05 0 012.1 2.1V24a2.05 2.05 0 01-2.1 2.1h-6.3a4.19 4.19 0 00-4.2 4v39.6a4.19 4.19 0 004 4.2h39.6a4.19 4.19 0 004.2-4v-6.5a2.05 2.05 0 012.1-2.1h1.4a2.05 2.05 0 012.1 2.1v7.7a8.39 8.39 0 01-8.4 8.4H28.9a8.39 8.39 0 01-8.4-8.4V28.9a8.39 8.39 0 018.4-8.4z","fill-rule":"evenodd"},{d:"M67.8 49.2l3.8-3.8a1.3 1.3 0 000-1.9L56.2 28a1.3 1.3 0 00-1.9 0l-3.8 3.8a1.3 1.3 0 000 1.9L66 49.2a1.19 1.19 0 001.8 0zM76.5 40.5l1.9-1.9a1.3 1.3 0 000-1.9L63 21.2a1.3 1.3 0 00-1.9 0l-1.9 1.9a1.3 1.3 0 000 1.9l15.5 15.5a1.26 1.26 0 001.8 0zM63.4 53.6a1.23 1.23 0 00.1-1.9L48 36.2a1.3 1.3 0 00-1.9 0l-.1.1a1.3 1.3 0 000 1.9l15.5 15.5a1.31 1.31 0 001.9-.1zM57.9 59l.9-.9a1.3 1.3 0 000-1.9L43.4 40.7a1.3 1.3 0 00-1.9 0l-.9.9a1.3 1.3 0 000 1.9L56.1 59a1.12 1.12 0 001.8 0zM49.6 67.4l3.8-3.8a1.3 1.3 0 000-1.9L38 46.2a1.3 1.3 0 00-1.9 0L32.3 50a1.3 1.3 0 000 1.9l15.5 15.5a1.27 1.27 0 001.8 0z"}]},products:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M57.6 67.4h7.7a1.78 1.78 0 001.9-1.9v-31a1.78 1.78 0 00-1.9-1.9h-7.7a1.78 1.78 0 00-1.9 1.9v31a1.78 1.78 0 001.9 1.9zM75 67.4h3.9a1.78 1.78 0 001.9-1.9v-31a1.78 1.78 0 00-1.9-1.9H75a1.78 1.78 0 00-1.9 1.9v31a1.84 1.84 0 001.9 1.9zM48.7 67.4a1.81 1.81 0 002-1.9v-31a1.78 1.78 0 00-1.9-1.9h-.1a1.78 1.78 0 00-1.9 1.9v31a1.73 1.73 0 001.9 1.9zM37.8 67.4h1.9a1.78 1.78 0 001.9-1.9v-31a1.78 1.78 0 00-1.9-1.9h-1.9a1.78 1.78 0 00-1.9 1.9v31a1.73 1.73 0 001.9 1.9zM21.1 67.4h7.7a1.78 1.78 0 001.9-1.9v-31a1.78 1.78 0 00-1.9-1.9h-7.7a1.78 1.78 0 00-1.9 1.9v31a1.84 1.84 0 001.9 1.9z"}},promotions:{xmlns:"http://www.w3.org/2000/svg",path:[{d:"M59.16 53.31a3.85 3.85 0 103.89 3.86 3.85 3.85 0 00-3.84-3.86h-.05zM40.79 39a3.85 3.85 0 103.85 3.86A3.85 3.85 0 0040.79 39z"},{d:"M78.16 46.11l-3.23-3.86a7 7 0 01-1.62-4l-.36-5a6.34 6.34 0 00-5.8-5.9L62.84 27a9.17 9.17 0 01-5.19-2.2L54.38 22a6.37 6.37 0 00-8.28-.07l-3.55 3a8.1 8.1 0 01-4.69 1.9l-4.62.33a6.33 6.33 0 00-5.9 5.8L27 37.14a9.25 9.25 0 01-2.22 5.23L22 45.63a6.35 6.35 0 00-.07 8.27L25 57.56A7.75 7.75 0 0126.71 62l.34 4.76a6.34 6.34 0 005.8 5.9l4.32.38a9 9 0 015.17 2.2l3.28 2.84a6.39 6.39 0 008.28.07L57.67 75a7.33 7.33 0 014.19-1.69l4.9-.35a6.34 6.34 0 005.9-5.8l.36-4a10.15 10.15 0 012.43-5.73l2.64-3a6.35 6.35 0 00.07-8.32zm-44.52-3.24A7.16 7.16 0 1140.83 50a7.15 7.15 0 01-7.19-7.11zM44 64a.56.56 0 01-.43.28h-2.09A.56.56 0 0141 64a.51.51 0 010-.53L56 36a.61.61 0 01.44-.27h2.23a.55.55 0 01.26.73zm22.4-6.84A7.17 7.17 0 1159.22 50a7.17 7.17 0 017.13 7.19z"}]},propagation_policy:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M36 20H26a6 6 0 00-6 6v8a6 6 0 006 6h10a6 6 0 006-6v-8a6 6 0 00-6-6zm-4 14h-2a4 4 0 010-8h2a4 4 0 010 8zM54 40h10a6 6 0 006-6v-8a6 6 0 00-6-6H54a6 6 0 00-6 6v8a6 6 0 006 6zm4-14h2a4 4 0 010 8h-2a4 4 0 010-8zM36 46H26a6 6 0 00-6 6v8a6 6 0 006 6h10a6 6 0 006-6v-8a6 6 0 00-6-6zm-4 14h-2a4 4 0 010-8h2a4 4 0 010 8zM77 67H67v-3.52a9 9 0 10-6 0V67H51a3 3 0 00-3 3v7a3 3 0 006 0v-4h7v4a3 3 0 006 0v-4h7v4a3 3 0 006 0v-7a3 3 0 00-3-3zM64 52a3 3 0 11-3 3 3 3 0 013-3z","fill-rule":"evenodd"}},proposition:{xmlns:"http://www.w3.org/2000/svg",g:{path:[{d:"M25.8 60.6h-4.5c-.7 0-1.3.6-1.3 1.3V78c0 .7.6 1.3 1.3 1.3h2.2c2 0 3.6-1.6 3.6-3.6V62c.1-.8-.6-1.4-1.3-1.4zM79.9 69.4c-.7-1.6-2-3.3-3.9-3.5-1-.1-2 .3-2.9.6-3.6 1.3-7.2 2.5-10.8 3.8-2.3.8-4.7 1.6-7.2 1.8-1.7.1-3.4 0-5.1 0-.9 0-1.7-.7-1.7-1.7s.7-1.7 1.7-1.7h9.1c1.7 0 3-1.4 3-3s-1.4-3-3-3h-7c-.3 0-2.2-.1-3.4-.6-1.3-.6-3-.7-3-.6H33.4c-1.5 0-2.7 1.2-2.7 2.7v11.3c0 1.3 1 2.4 2.3 2.6h.3c2.3 0 4.6.5 6.9.9 2.3.5 4.5.8 6.9.8 3 .1 6.1-.4 9-1.1 2.9-.8 5.7-1.9 8.5-2.8 4.8-1.6 9.7-3.3 14.5-4.9.6-.3 1.1-.8.8-1.6z"},{"fill-rule":"evenodd","clip-rule":"evenodd",d:"M58 40.1v15c0 .5.5.7.9.6C61.8 54 70.8 49 70.8 49c1.2-.7 1.9-1.9 1.9-3.3V32.2c0-.5-.5-.7-.9-.6L58.6 39c-.3.3-.6.7-.6 1.1M56.8 36L70 28.6c.4-.2.4-.8 0-1-2.9-1.7-12-6.8-12-6.8a3.7 3.7 0 00-3.8 0l-12 6.8c-.4.2-.4.8 0 1L55.6 36c.3.2.8.2 1.2 0M53.7 39.1l-13.2-7.4c-.4-.2-.9.1-.9.6v13.4c0 1.3.7 2.6 1.9 3.3 0 0 9 5.1 11.9 6.7.4.2.9-.1.9-.6v-15c0-.4-.2-.8-.6-1"}]}},question_best:{xmlns:"http://www.w3.org/2000/svg",g:{"fill-rule":"evenodd",path:[{d:"M100 100V62l-38 38h38zm-3.9-14.4L93 88.8c-.1.1-.1.2-.1.3l.7 4.5c.1.3-.3.6-.5.4l-3.8-2.1c-.1-.1-.2-.1-.3 0L85 94c-.3.1-.6-.1-.5-.4l.7-4.5c0-.1 0-.3-.1-.3L82 85.6c-.2-.3-.1-.6.2-.7l4.3-.7c.1 0 .2-.1.3-.2l1.9-4.1c.1-.3.5-.3.7 0l1.9 4.1c.1.1.2.2.3.2l4.3.7c.3 0 .4.4.2.7z","fill-opacity":".65"},{d:"M49.9 22c-16.6 0-30 12.5-30 28 0 5 1.4 9.6 3.8 13.7.3.5.4 1.1.2 1.6l-2.8 8.9c-.5 1.6 1 3 2.6 2.5l8.8-3.1c.6-.2 1.2-.1 1.7.2 4.6 2.7 10 4.2 15.8 4.2 16.6 0 30-12.5 30-28-.1-15.5-13.4-28-30.1-28zm3 45c0 1.1-.9 2-2 2h-2c-1.1 0-2-.9-2-2v-2c0-1.1.9-2 2-2h2c1.1 0 2 .9 2 2v2zm.9-12.7c-.4.1-.8.5-.8 1v1.6c0 1.1-.9 2.1-2 2.1h-2c-1.1 0-2-1-2-2.1v-1.6c0-3 2-5.7 4.9-6.7 1.1-.4 2.1-.9 2.7-1.8 3.4-4.5 0-9.7-4.5-9.8-1.6-.1-3.2.6-4.4 1.7-.8.8-1.4 1.8-1.6 2.8-.2.9-1 1.6-1.9 1.6h-2.1c-1.2 0-2.2-1.2-2-2.4.5-2.4 1.6-4.6 3.4-6.3 2.3-2.3 5.4-3.5 8.7-3.4 6.3.2 11.5 5.4 11.7 11.7.2 5.2-3 9.9-8.1 11.6z"}]}},question_feed:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M50 22c-16.6 0-30 12.5-30 28 0 5 1.4 9.6 3.8 13.7.3.5.4 1.1.2 1.6l-2.8 8.9c-.5 1.6 1 3 2.6 2.5l8.8-3.1c.6-.2 1.2-.1 1.7.2 4.6 2.7 10 4.2 15.8 4.2 16.6 0 30-12.5 30-28C80 34.5 66.6 22 50 22zm3 45c0 1.1-.9 2-2 2h-2c-1.1 0-2-.9-2-2v-2c0-1.1.9-2 2-2h2c1.1 0 2 .9 2 2v2zm.8-12.7c-.4.1-.8.5-.8 1v1.6c0 1.1-.9 2.1-2 2.1h-2c-1.1 0-2-1-2-2.1v-1.6c0-3 2-5.7 4.9-6.7 1.1-.4 2.1-.9 2.7-1.8 3.4-4.5 0-9.7-4.5-9.8-1.6-.1-3.2.6-4.4 1.7-.8.8-1.4 1.8-1.6 2.8-.2.9-1 1.6-1.9 1.6h-2.1c-1.2 0-2.2-1.2-2-2.4.5-2.4 1.6-4.6 3.4-6.3 2.3-2.3 5.4-3.5 8.7-3.4 6.3.2 11.5 5.4 11.7 11.7.2 5.2-3 9.9-8.1 11.6z"}},queue:{xmlns:"http://www.w3.org/2000/svg",path:[{d:"M67.6 20.1c-2.9 0-5.4 2.1-6.4 5 3.8 1.7 6.7 5.4 7.7 9.9 3.1-.7 5.4-3.7 5.4-7.3 0-4.3-3-7.6-6.7-7.6zM73.8 37.9c-1.3 1.2-2.9 2-4.7 2.3-.3 2.7-1.3 5.2-2.8 7.2h11.1c1.4 0 2.5-1.1 2.5-2.5v-1.2c0-2.7-3-4.4-6.1-5.8zM63.2 50c-2 1.8-4.5 2.9-7.2 2.9-.2 3.1-1.1 5.9-2.5 8.3h14c1.6 0 3-1.3 3-3V57c-.1-3.3-3.7-5.3-7.3-7zM50.3 65.2c-2.8 2.8-6.6 4.4-10.6 4.4-4.1 0-7.9-1.7-10.7-4.6-4.6 2.2-9 5-9 9.1V76c0 2.2 1.8 3.9 3.9 3.9h31.3c2.2 0 3.9-1.8 3.9-3.9v-1.8c0-4.2-4.2-6.9-8.8-9z"},{d:"M55.7 29.5c-3.7 0-6.8 2.7-7.7 6.5 3.7 2.4 6.4 6.5 7.5 11.2h.2c4.4 0 8-4 8-8.9.1-4.8-3.5-8.8-8-8.8z"}],ellipse:{cx:"39.6",cy:"51.6",rx:"10.7",ry:"11.8"}},quick_text:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M49.5 21.5c-16.7 0-29.9 12.3-29.9 27.4 0 4.8 1.4 9.3 3.6 13.3.4.6.5 1.4.3 2.1L19.6 75c-.4 1 .6 1.9 1.6 1.6L32 72.5c.6-.3 1.4-.1 2.1.3 4.5 2.5 9.9 4 15.7 4 16.4-.1 29.8-12.3 29.8-27.6-.1-15.4-13.5-27.7-30.1-27.7zM35.6 48c0-.6.5-1.2 1.2-1.2h19.4c.6 0 1.2.5 1.2 1.2v2.3c0 .6-.5 1.2-1.2 1.2H36.7c-.6 0-1.2-.5-1.2-1.2V48zm27.9 11.6c0 .6-.5 1.2-1.2 1.2H36.7c-.6 0-1.2-.5-1.2-1.2v-2.3c0-.6.5-1.2 1.2-1.2h25.6c.6 0 1.2.5 1.2 1.2v2.3zm0-18.6c0 .6-.5 1.2-1.2 1.2H36.7c-.6 0-1.2-.5-1.2-1.2v-2.3c0-.6.5-1.2 1.2-1.2h25.6c.6 0 1.2.5 1.2 1.2V41z"}},quip:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M48.1 20.1c-14.9.9-27.1 13.1-28 28C19 65.5 32.8 80 50 80h30V50c0-17.2-14.5-31-31.9-29.9zM35.8 37c0-1.1.9-2 2-2h24.5c1.1 0 2 .9 2 2v2c0 1.1-.9 2-2 2H37.8c-1.1 0-2-.9-2-2v-2zm28.5 26c0 1.1-.9 2-2 2H37.8c-1.1 0-2-.9-2-2v-2c0-1.1.9-2 2-2h24.5c1.1 0 2 .9 2 2v2zm7.5-12c0 1.1-.9 2-2 2H30.2c-1.1 0-2-.9-2-2v-2c0-1.1.9-2 2-2h39.6c1.1 0 2 .9 2 2v2z"}},quip_sheet:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M31.9 38.8h-10c-1 0-1.9.9-1.9 1.9v31.9c0 2.8 2.2 5 5 5h6.9c1 0 1.9-.9 1.9-1.9v-35c0-1.1-.9-1.9-1.9-1.9zm46.2 0H40.6c-1 0-1.9.9-1.9 1.9v35c0 1 .9 1.9 1.9 1.9H75c2.8 0 5-2.2 5-5v-32c0-1-.9-1.8-1.9-1.8zM75 22.5H25c-2.8 0-5 2.2-5 5v4.4c0 1 .9 1.9 1.9 1.9h56.2c1 0 1.9-.9 1.9-1.9v-4.4c0-2.7-2.2-5-5-5z"}},quotes:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M72 22H50.1c-1.4-.1-2.6.6-3.6 1.6L19.7 50.5c-2.3 2.3-2.3 6.1 0 8.5l21.2 21.2c2.3 2.3 6.1 2.3 8.5 0L76.5 53c1-1 1.6-2.6 1.5-4V28c0-3.3-2.7-6-6-6zM50.4 66L49 67.4c-.8.8-2 .8-2.8 0L32.6 53.8c-.8-.8-.8-2 0-2.8l1.4-1.4c.8-.8 2-.8 2.8 0l13.6 13.6c.8.8.8 2 0 2.8zm8-8L57 59.4c-.8.8-2 .8-2.8 0L40.6 45.8c-.8-.8-.8-2 0-2.8l1.4-1.4c.8-.8 2-.8 2.8 0l13.6 13.6c.8.8.8 2 0 2.8zM64 41c-2.8 0-5-2.2-5-5s2.2-5 5-5 5 2.2 5 5-2.2 5-5 5z"}},radio_button:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M33.5 53.1c-7.4 0-13.4 6-13.4 13.4s6 13.4 13.4 13.4 13.4-6 13.4-13.4-6-13.4-13.4-13.4zm0 20.9c-4.1 0-7.5-3.4-7.5-7.5s3.4-7.5 7.5-7.5 7.5 3.4 7.5 7.5c0 4.2-3.4 7.5-7.5 7.5zM66.5 53.1c-7.4 0-13.4 6-13.4 13.4s6 13.4 13.4 13.4 13.4-6 13.4-13.4-6-13.4-13.4-13.4zM33.5 20c-7.4 0-13.4 6-13.4 13.4s6 13.4 13.4 13.4 13.4-6 13.4-13.4S40.9 20 33.5 20zm0 20.9c-4.1 0-7.5-3.4-7.5-7.5s3.4-7.5 7.5-7.5 7.5 3.4 7.5 7.5-3.4 7.5-7.5 7.5zM66.5 20c-7.4 0-13.4 6-13.4 13.4s6 13.4 13.4 13.4 13.4-6 13.4-13.4S73.9 20 66.5 20z"}},read_receipts:{xmlns:"http://www.w3.org/2000/svg",g:{path:[{d:"M48.9 43.4c.7.6 1.5.6 2.2 0l23-21.3c.4-.8.3-2.1-1.3-2.1l-45.6.1c-1.2 0-2.2 1.1-1.3 2.1l23 21.2z"},{d:"M74.3 31.2c0-1.1-1.3-1.6-2-.9L54.4 46.9c-1.2 1.1-2.8 1.7-4.4 1.7-1.6 0-3.2-.6-4.4-1.7l-18-16.6c-.8-.7-2-.2-2 .9v21.2c0 2.7 2.2 4.9 4.9 4.9h23.9v-6.1c.2-3.3 2.8-6 6.2-6.2h.7c3.3.2 6 2.8 6.2 6.2v6.1h2.2c2.7 0 4.9-2.2 4.9-4.9-.3 0-.3-14.7-.3-21.2z"}]},path:{d:"M71.1 63.7l-6.7-2.3c-.5-.2-.9-.7-.9-1.2v-8.9c0-1.4-1.1-2.4-2.5-2.4h-.2c-1.4 0-2.5 1.1-2.5 2.4v17.5c0 1.5-1.9 2.1-2.7.8L53.9 66c-.9-1.5-2.9-2-4.4-.9l-1.1.9L54 79.3c.2.6.8.9 1.5.9h14.7c.7 0 1.3-.5 1.5-1.1l2.6-9.3c.6-2.7-.8-5.2-3.2-6.1z"}},recent:{xmlns:"http://www.w3.org/2000/svg",path:[{d:"M28.1 48c-.1.7-.1 1.3-.1 2h-6c0-.7 0-1.3.1-2h6zM51.5 36h-3c-.8 0-1.5.7-1.5 1.5v13.1c0 .4.2.8.4 1.1l8.4 8.4c.6.6 1.5.6 2.1 0L60 58c.6-.6.6-1.5 0-2.1l-7-7.1V37.5c0-.8-.7-1.5-1.5-1.5z"},{d:"M50 22c-14.8 0-26.9 11.5-27.9 26 0 .3-.1.7-.1 1h-4.5c-1.3 0-2 1.5-1.2 2.4l7.5 9.1c.6.7 1.7.7 2.3 0l7.5-9.1c.8-1 .1-2.4-1.2-2.4H28v-1c1-11.2 10.5-20 21.9-20 13 0 23.3 11.3 21.9 24.5-1 9.5-10 18.5-19.6 19.4-7.1.7-13.8-1.9-18.5-7-.6-.7-1.4-1.1-2.2-.1l-2.4 2.9c-.5.6-.1 1 .4 1.5 5.4 5.7 12.8 8.9 20.8 8.8 14.4-.2 26.5-11.6 27.5-26C79.1 35.7 66.1 22 50 22z"}]},recipe:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M56.5 22.8a2.8 2.8 0 11-2.8-2.8 2.8 2.8 0 012.8 2.8zM46.24 33.2a3.75 3.75 0 10-3.75-3.75 3.75 3.75 0 003.75 3.75zM70.54 72L58 52.75V42.5a2.69 2.69 0 003-2.35 2.26 2.26 0 000-.45 2.49 2.49 0 00-2.25-2.7H41.5a2.5 2.5 0 00-2.5 2.48v.32a2.7 2.7 0 002.56 2.82 3.24 3.24 0 00.44 0V53L29.5 72a5.32 5.32 0 00-.3 5.3 4.88 4.88 0 004.4 2.7h32.7a4.88 4.88 0 004.4-2.7 5 5 0 00-.2-5.3zM47 54.45V43h6v11.6l5.9 9.4H41.1z","fill-rule":"evenodd"}},record:{xmlns:"http://www.w3.org/2000/svg",path:[{d:"M39 32h22c1.1 0 2-.9 2-2v-4c0-3.3-2.7-6-6-6H43c-3.3 0-6 2.7-6 6v4c0 1.1.9 2 2 2z"},{d:"M72 25h-2c-.6 0-1 .4-1 1v4c0 4.4-3.6 8-8 8H39c-4.4 0-8-3.6-8-8v-4c0-.6-.4-1-1-1h-2c-3.3 0-6 2.7-6 6v43c0 3.3 2.7 6 6 6h44c3.3 0 6-2.7 6-6V31c0-3.3-2.7-6-6-6zM39 68c0 1.1-.9 2-2 2h-2c-1.1 0-2-.9-2-2v-2c0-1.1.9-2 2-2h2c1.1 0 2 .9 2 2v2zm0-10c0 1.1-.9 2-2 2h-2c-1.1 0-2-.9-2-2v-2c0-1.1.9-2 2-2h2c1.1 0 2 .9 2 2v2zm0-10c0 1.1-.9 2-2 2h-2c-1.1 0-2-.9-2-2v-2c0-1.1.9-2 2-2h2c1.1 0 2 .9 2 2v2zm28 20c0 1.1-.9 2-2 2H45c-1.1 0-2-.9-2-2v-2c0-1.1.9-2 2-2h20c1.1 0 2 .9 2 2v2zm0-10c0 1.1-.9 2-2 2H45c-1.1 0-2-.9-2-2v-2c0-1.1.9-2 2-2h20c1.1 0 2 .9 2 2v2zm0-10c0 1.1-.9 2-2 2H45c-1.1 0-2-.9-2-2v-2c0-1.1.9-2 2-2h20c1.1 0 2 .9 2 2v2z"}]},record_create:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M68.4 27.1c.1 0 .1 0 0 0"},g:{path:[{d:"M39 32h22c1.1 0 2-.9 2-2v-4c0-3.3-2.7-6-6-6H43c-3.3 0-6 2.7-6 6v4c0 1.1.9 2 2 2z"},{d:"M72 25h-2c-.6 0-1 .4-1 1v4c0 4.4-3.6 8-8 8H39c-4.4 0-8-3.6-8-8v-4c0-.6-.4-1-1-1h-2c-3.3 0-6 2.7-6 6v43c0 3.3 2.7 6 6 6h44c3.3 0 6-2.7 6-6V31c0-3.3-2.7-6-6-6zm-7.3 35.2c0 .5-.5 1-1 1h-11c-.4 0-.7.3-.7.7v11c0 .5-.5 1-1 1h-2c-.5 0-1-.5-1-1v-11c0-.4-.3-.7-.7-.7h-11c-.5 0-1-.5-1-1v-2c0-.5.5-1 1-1h11c.4 0 .7-.3.7-.7v-11c0-.5.5-1 1-1h2c.5 0 1 .5 1 1v11c0 .4.3.7.7.7h11c.5 0 1 .5 1 1v2z"}]}},record_delete:{xmlns:"http://www.w3.org/2000/svg",g:{path:[{d:"M39 32h22c1.1 0 2-.9 2-2v-4c0-3.3-2.7-6-6-6H43c-3.3 0-6 2.7-6 6v4c0 1.1.9 2 2 2z"},{d:"M72 25h-2c-.6 0-1 .4-1 1v4c0 4.4-3.6 8-8 8H39c-4.4 0-8-3.6-8-8v-4c0-.6-.4-1-1-1h-2c-3.3 0-6 2.7-6 6v43c0 3.3 2.7 6 6 6h44c3.3 0 6-2.7 6-6V31c0-3.3-2.7-6-6-6zM60.4 70.6c0 1.7-1.3 3.1-3.1 3.1H42.7c-1.7 0-3.1-1.3-3.1-3.1v-13c0-.5.4-.9.9-.9h19c.5 0 .9.4.9.9v13zm2.4-18.7c0 .5-.4.9-.9.9H38.1c-.5 0-.9-.4-.9-.9v-1.8c0-.5.4-.9.9-.9h7.6v-2.4c0-1.3 1.1-2.4 2.4-2.4h3.7c1.3 0 2.4 1.1 2.4 2.4v2.4h7.6c.5 0 .9.4.9.9v1.8z"},{d:"M47.6 61h-1.2c-.4 0-.6.2-.6.6v7.1c0 .4.2.6.6.6h1.2c.4 0 .6-.2.6-.6v-7.1c0-.4-.3-.6-.6-.6zM53.7 61h-1.2c-.4 0-.6.2-.6.6v7.1c0 .4.2.6.6.6h1.2c.4 0 .6-.2.6-.6v-7.1c0-.4-.3-.6-.6-.6zM51.2 46.7h-2.4c-.4 0-.6.2-.6.6v1.8h3.7v-1.8c-.1-.4-.3-.6-.7-.6z"}]}},record_lookup:{xmlns:"http://www.w3.org/2000/svg",g:{path:[{d:"M39 32h22c1.1 0 2-.9 2-2v-4c0-3.3-2.7-6-6-6H43c-3.3 0-6 2.7-6 6v4c0 1.1.9 2 2 2z"},{d:"M72 25h-2c-.6 0-1 .4-1 1v4c0 4.4-3.6 8-8 8H39c-4.4 0-8-3.6-8-8v-4c0-.6-.4-1-1-1h-2c-3.3 0-6 2.7-6 6v43c0 3.3 2.7 6 6 6h44c3.3 0 6-2.7 6-6V31c0-3.3-2.7-6-6-6zm-7.7 47.6L63 73.9c-.3.3-.9.3-1.3 0l-8.1-8.1c-2.3 1.6-5.2 2.5-8.4 2.1-5.2-.7-9.4-5.1-9.9-10.3-.7-7.2 5.4-13.4 12.6-12.6 5.3.5 9.6 4.6 10.3 9.9.4 3.1-.4 6.1-2.1 8.4l8.1 8.1c.5.2.5.8.1 1.2z"},{d:"M46.9 48.5c-4.4 0-7.9 3.6-7.9 7.9 0 4.4 3.5 7.9 7.9 7.9s7.9-3.5 7.9-7.9-3.5-7.9-7.9-7.9z"}]}},record_signature_task:{xmlns:"http://www.w3.org/2000/svg",g:{path:[{d:"M77.27 29.57a1.49 1.49 0 00-1-.45 1.33 1.33 0 00-1 .45L74 30.77a.43.43 0 000 .55l3.13 3.13a.52.52 0 00.29.09.35.35 0 00.25-.09l1.21-1.21a1.42 1.42 0 00-.06-2.11zM73.05 32.34a.52.52 0 00-.29-.09.35.35 0 00-.25.09L60 44.78l-1.2 4.15a.57.57 0 00.52.75h.14l4.16-1.21L76.12 36a.38.38 0 000-.49z"},{d:"M78.24 38.14l-5.58 5.56v19.18a2 2 0 01-2 2h-42a2 2 0 01-2-2v-23a2 2 0 012-2h34l6-6h-42a6 6 0 00-6 6v27a6 6 0 006 6h46a6 6 0 006-6v-27-.24a2.8 2.8 0 01-.42.5z"},{d:"M54.82 50.45c-.94.55-1.82 1.15-2.77 1.65a3.81 3.81 0 01-.87.33.6.6 0 000-.12A4.07 4.07 0 0046.34 49a58.78 58.78 0 00-6.68 2.11 57.84 57.84 0 01-6.95 1.73 1.89 1.89 0 00-1.31 2.31 1.91 1.91 0 002.3 1.31 58.81 58.81 0 006.95-1.73c1.14-.36 2.28-.74 3.41-1.11l2-.65a5 5 0 011.17-.34c.11 0 .13.22.2.37.2.46.33.94.58 1.39a3.25 3.25 0 002.74 1.84c2.24.12 4.12-1.5 6-2.52 2.07-1.19.18-4.43-1.93-3.26z"}]}},record_update:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M68.4 27.1c.1 0 .1 0 0 0"},g:{path:[{d:"M39 32h22c1.1 0 2-.9 2-2v-4c0-3.3-2.7-6-6-6H43c-3.3 0-6 2.7-6 6v4c0 1.1.9 2 2 2z"},{d:"M72 25h-2c-.6 0-1 .4-1 1v4c0 4.4-3.6 8-8 8H39c-4.4 0-8-3.6-8-8v-4c0-.6-.4-1-1-1h-2c-3.3 0-6 2.7-6 6v43c0 3.3 2.7 6 6 6h44c3.3 0 6-2.7 6-6V31c0-3.3-2.7-6-6-6zM60 55.5l-16 16h.1l-7 2c-.7.2-1.3-.5-1.1-1.2l2-6.9 16-16c.2-.2.6-.2.9 0l5.1 5.3c.2.2.2.6 0 .8zm4.6-4.6l-2 2c-.2.2-.6.2-.9 0l-5.2-5.2c-.2-.2-.2-.6 0-.9l2-2c.9-1 2.4-1 3.4 0l2.6 2.6c1.1 1 1.1 2.5.1 3.5z"}]}},recycle_bin:{xmlns:"http://www.w3.org/2000/svg",g:{path:{d:"M74.4 30H58.8v-5c0-2.7-2.2-5-5-5h-7.5c-2.7 0-5 2.2-5 5v5H25.6c-1 0-1.9.9-1.9 1.9v3.7c0 1 .9 1.9 1.9 1.9h48.7c1 0 1.9-.9 1.9-1.9v-3.7c0-1-.8-1.9-1.8-1.9zm-20.8 0h-7.4v-3.7c0-.7.5-1.2 1.2-1.2h5c.7 0 1.2.5 1.2 1.2V30zM69.4 42.5H30.6c-1 0-1.9.9-1.9 1.9v29.4c0 3.5 2.7 6.2 6.2 6.2h30c3.5 0 6.2-2.7 6.2-6.2V44.4c.1-1-.7-1.9-1.7-1.9zM46.6 73.6l-6.3.1c-.2 0-2.6 0-4.2-2.5-1.7-2.7-.4-5 1.5-8.3l-1.8-1.2c-.2-.1-.3-.3-.2-.5 0-.2.1-.3.4-.4l4.9-1.2.4-.1c.2 0 .4 0 .6.4l.1.4 1.1 5c0 .2 0 .4-.2.5-.2.1-.4.1-.6 0l-1.6-1c-1.7 2.9-2 3.8-1.5 4.5.5.8 1.2.9 1.2.9l6.2-.1c.6 0 1.2.3 1.5.8.2.3.3.6.3.9 0 1-.8 1.8-1.8 1.8zm4.5-18.2c0-.2.1-.4.3-.5l1.7-.8c-1.5-3-2.1-3.7-3-3.7-1 0-1.3.5-1.4.6l-3.3 5.3c-.3.5-.9.8-1.5.8-.3 0-.6-.1-.9-.3-.8-.5-1.1-1.6-.5-2.4l3.3-5.3c.1-.2 1.4-2.2 4.3-2.2 3.2 0 4.4 2.4 6.2 5.8l2-.9c.2-.1.4 0 .5.1s.2.3.1.5l-1.7 5.1c0 .1-.1.2-.3.3-.2.1-.4 0-.4 0l-5.1-1.9c-.2-.1-.3-.3-.3-.5zm13.1 15.3c-1.5 2.8-4.2 2.8-8 2.7l-.1 2.2c0 .2-.1.4-.3.4-.1 0-.3.1-.5-.1L51.6 72c-.3-.3 0-.6 0-.6l.2-.2 4-3.5c.2-.1.3-.2.5-.1s.3.3.3.5l-.1 1.9c3.3 0 4.3-.1 4.7-.9s.2-1.4.1-1.5l-3.1-5.4c-.3-.5-.3-1.2 0-1.7.2-.3.4-.5.7-.7.8-.5 1.9-.2 2.4.7l3.1 5.4c.1.2 1.2 2.2-.2 4.8z"}}},related_list:{xmlns:"http://www.w3.org/2000/svg",path:[{d:"M74 20H42c-3.3 0-6 2.7-6 6v1c0 .5.4 1 1 1h29c3.3 0 6 2.7 6 6v31c0 .5.4 1 1 1 3.8 0 7-3.1 7-7V26c0-3.3-2.7-6-6-6z"},{d:"M28 34c-3.3 0-6 2.7-6 6v34c0 3.3 2.7 6 6 6h32c3.3 0 6-2.7 6-6V40c0-3.3-2.7-6-6-6H28zm8 14c0 1.1-.9 2-2 2h-2c-1.1 0-2-.9-2-2v-2c0-1.1.9-2 2-2h2c1.1 0 2 .9 2 2v2zm22 0c0 1.1-.9 2-2 2H42c-1.1 0-2-.9-2-2v-2c0-1.1.9-2 2-2h14c1.1 0 2 .9 2 2v2zM36 58c0 1.1-.9 2-2 2h-2c-1.1 0-2-.9-2-2v-2c0-1.1.9-2 2-2h2c1.1 0 2 .9 2 2v2zm22 0c0 1.1-.9 2-2 2H42c-1.1 0-2-.9-2-2v-2c0-1.1.9-2 2-2h14c1.1 0 2 .9 2 2v2zM36 68c0 1.1-.9 2-2 2h-2c-1.1 0-2-.9-2-2v-2c0-1.1.9-2 2-2h2c1.1 0 2 .9 2 2v2zm22 0c0 1.1-.9 2-2 2H42c-1.1 0-2-.9-2-2v-2c0-1.1.9-2 2-2h14c1.1 0 2 .9 2 2v2z"}]},relationship:{xmlns:"http://www.w3.org/2000/svg",g:{path:[{d:"M71.25 70.002h-3.751V62.5h3.751c.749 0 1.25-.501 1.25-1.25v-32.5c0-.75-.501-1.25-1.25-1.25h-32.5c-.75 0-1.25.5-1.25 1.25v3.75H30v-3.75A8.696 8.696 0 0138.75 20h32.5A8.696 8.696 0 0180 28.75v32.5c0 4.876-3.872 8.752-8.75 8.752z"},{d:"M57.5 37.5H25c-2.749 0-5 2.249-5 5V75c0 2.75 2.251 5 5 5h32.5c2.75 0 5-2.25 5-5V42.5c0-2.75-2.248-5-5-5z"}]}},reply_text:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M48.7 50.9a1 1 0 00-.5 1.7l5.5 5.6a1.45 1.45 0 010 2.1l-2.1 2.1a1.45 1.45 0 01-2.1 0L36 48.9a1.45 1.45 0 010-2.1l13.5-13.5a1.45 1.45 0 012.1 0l2.1 2.2a1.45 1.45 0 010 2.1l-5.6 5.6c-.6.6.5 1.7.5 1.7a27.16 27.16 0 0125.8 20.3 26 26 0 005.3-15.6c-.1-15.5-13.5-27.7-30.1-27.7s-30 12.3-30 27.4a27.56 27.56 0 003.6 13.3 2.58 2.58 0 01.3 2.1l-3.9 10.7a1.25 1.25 0 001.6 1.6L32 72.9a2.33 2.33 0 012.1.3 32.38 32.38 0 0015.7 4 31.63 31.63 0 0019.5-6.9 21.68 21.68 0 00-20.6-19.4z"}},report:{xmlns:"http://www.w3.org/2000/svg",path:[{d:"M39 32h22c1.1 0 2-.9 2-2v-4c0-3.3-2.7-6-6-6H43c-3.3 0-6 2.7-6 6v4c0 1.1.9 2 2 2z"},{d:"M72 25h-2c-.6 0-1 .4-1 1v4c0 4.4-3.6 8-8 8H39c-4.4 0-8-3.6-8-8v-4c0-.6-.4-1-1-1h-2c-3.3 0-6 2.7-6 6v43c0 3.3 2.7 6 6 6h44c3.3 0 6-2.7 6-6V31c0-3.3-2.7-6-6-6zM43 66c0 1.1-.9 2-2 2h-2c-1.1 0-2-.9-2-2V56c0-1.1.9-2 2-2h2c1.1 0 2 .9 2 2v10zm10 0c0 1.1-.9 2-2 2h-2c-1.1 0-2-.9-2-2V47c0-1.1.9-2 2-2h2c1.1 0 2 .9 2 2v19zm10 0c0 1.1-.9 2-2 2h-2c-1.1 0-2-.9-2-2V51c0-1.1.9-2 2-2h2c1.1 0 2 .9 2 2v15z"}]},resource_absence:{xmlns:"http://www.w3.org/2000/svg",path:[{d:"M49.91 20a25.4 25.4 0 1025.18 25.5c0-13.79-11.24-25.5-25.18-25.5zm16.61 38l-4.73 4.73-12.25-12.27L37.9 62.1l-4.74-4.74L44.8 45.73 33.1 34l4.73-4.73L49.53 41l12.31-12.32 4.74 4.74-12.31 12.31z","fill-rule":"evenodd"},{d:"M26 64.21h-1.27A4.75 4.75 0 0020 68.95v6.31A4.74 4.74 0 0024.73 80h50.54A4.75 4.75 0 0080 75.26v-6.31a4.74 4.74 0 00-4.73-4.74h-1.54a30.15 30.15 0 01-47.72 0z","fill-rule":"evenodd"}]},resource_capacity:{xmlns:"http://www.w3.org/2000/svg",path:[{d:"M49.91 20a25.4 25.4 0 1025.18 25.5c0-13.79-11.24-25.5-25.18-25.5zM67.6 46.43H49.29V27s6.87-.42 13.11 6.06 5.2 13.37 5.2 13.37z","fill-rule":"evenodd"},{d:"M26 64.21h-1.27A4.75 4.75 0 0020 68.95v6.31A4.74 4.74 0 0024.73 80h50.54A4.75 4.75 0 0080 75.26v-6.31a4.74 4.74 0 00-4.73-4.74h-1.54a30.15 30.15 0 01-47.72 0z","fill-rule":"evenodd"}]},resource_preference:{xmlns:"http://www.w3.org/2000/svg",path:[{d:"M49.91 20a25.4 25.4 0 1025.18 25.5c0-13.79-11.24-25.5-25.18-25.5zM39.24 55.91a2.82 2.82 0 01-3 2.55h-1.9a1.08 1.08 0 01-1.13-1V42.83a1.08 1.08 0 011.13-1h3.77a1.08 1.08 0 011.13 1zM66.39 53c0 5.55-5.2 6.06-10.86 6.06-5.35 0-7.09-1.72-12.22-1.91a1 1 0 01-1.06-1V43.47a1.08 1.08 0 011.13-1 6.71 6.71 0 006.41-6.7V32a1.08 1.08 0 011.13-1h1.89a2.82 2.82 0 013 2.55V40a2.82 2.82 0 003 2.55h4.52a2.82 2.82 0 013 2.55z","fill-rule":"evenodd"},{d:"M26 64.21h-1.27A4.75 4.75 0 0020 68.95v6.31A4.74 4.74 0 0024.73 80h50.54A4.75 4.75 0 0080 75.26v-6.31a4.74 4.74 0 00-4.73-4.74h-1.54a30.15 30.15 0 01-47.72 0z","fill-rule":"evenodd"}]},resource_skill:{xmlns:"http://www.w3.org/2000/svg",path:[{d:"M43.85 45.44a6 6 0 1012.07 0 6 6 0 10-12.07 0z","fill-rule":"evenodd"},{d:"M49.91 20a25.4 25.4 0 1025.18 25.5c0-13.79-11.24-25.5-25.18-25.5zm16.58 33.69l-1.16 1.93a2.66 2.66 0 01-2.13 1.16 2.82 2.82 0 01-.87-.19l-3.19-1.26A14 14 0 0154.49 58l-.58 3.58a2.48 2.48 0 01-2.42 2h-2.41a2.48 2.48 0 01-2.42-2L46.08 58a12 12 0 01-4.45-2.51l-3.38 1.26a2.82 2.82 0 01-.87.19 2.52 2.52 0 01-2.13-1.26l-1.16-2a2.41 2.41 0 01.58-3.09l2.8-2.32a12.69 12.69 0 01-.29-2.61 11.81 11.81 0 01.29-2.51l-2.8-2.32a2.39 2.39 0 01-.58-3.09l1.16-2a2.4 2.4 0 012.13-1.26 2.82 2.82 0 01.87.19l3.38 1.26a13.82 13.82 0 014.45-2.61l.58-3.38A2.31 2.31 0 0149.08 28h2.42a2.32 2.32 0 012.42 1.84l.58 3.48a13.55 13.55 0 014.45 2.51l3.38-1.26a2.82 2.82 0 01.87-.19 2.52 2.52 0 012.13 1.26l1.16 2a2.53 2.53 0 01-.58 3.09l-2.8 2.32a12 12 0 01.29 2.61 11.81 11.81 0 01-.29 2.51l2.8 2.32a2.52 2.52 0 01.58 3.2z","fill-rule":"evenodd"},{d:"M26 64.21h-1.27A4.75 4.75 0 0020 68.95v6.31A4.74 4.74 0 0024.73 80h50.54A4.75 4.75 0 0080 75.26v-6.31a4.74 4.74 0 00-4.73-4.74h-1.54a30.15 30.15 0 01-47.72 0z","fill-rule":"evenodd"}]},restriction_policy:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M64 48a16 16 0 1016 16 16 16 0 00-16-16zm7 19H57a3 3 0 010-6h14a3 3 0 010 6zM36 20H26a6 6 0 00-6 6v9a6 6 0 006 6h10a6 6 0 006-6v-9a6 6 0 00-6-6zm-4.5 15h-1a4.5 4.5 0 010-9h1a4.5 4.5 0 010 9zM54 41h10a6 6 0 006-6v-9a6 6 0 00-6-6H54a6 6 0 00-6 6v9a6 6 0 006 6zm4.5-15h1a4.5 4.5 0 010 9h-1a4.5 4.5 0 010-9zM36 47H26a6 6 0 00-6 6v9a6 6 0 006 6h10a6 6 0 006-6v-9a6 6 0 00-6-6zm-4.5 15h-1a4.5 4.5 0 010-9h1a4.5 4.5 0 010 9z","fill-rule":"evenodd"}},return_order:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M22 22.3h36.9c1.2 0 2.3 1 2.3 2.2v4.7c0 1.2-1 2.3-2.2 2.3H22c-1.2 0-2.3-1-2.3-2.2v-4.7c-.1-1.2.9-2.3 2.3-2.3-.1 0-.1 0 0 0zm50.8 0h4.6c1.2 0 2.3 1 2.3 2.2v4.7c0 1.2-1 2.3-2.2 2.3h-4.7c-1.2 0-2.3-1-2.3-2.2v-4.7c-.1-1.2.9-2.2 2.1-2.3h.2zM45.6 42.8c1.2 0 2.3 1 2.3 2.2v4.7c0 1.2-1 2.3-2.2 2.3H22c-1.2 0-2.3-1-2.3-2.2v-4.7c0-1.2 1-2.3 2.2-2.3h23.7zm-8.8 20.5c1.2 0 2.3 1 2.3 2.2v4.7c0 1.2-1 2.3-2.2 2.3H22c-1.2 0-2.3-1-2.3-2.2v-4.7c0-1.2 1-2.3 2.2-2.3h14.9zm41.8-21.1c1.2 10.7-7.2 21.8-17.2 23.7l-2.7.6c-.5.1-.9.6-.8 1.2 0 .3.2.5.4.6l6.7 4.5c.7.5.8 1.4.3 2v.1l-1.7 2.5c-.4.7-1.4.9-2 .4h-.1L45.4 66.9c-.7-.4-.9-1.4-.4-2v-.1l11-16.2c.4-.7 1.4-.9 2-.4h.1l2.5 1.7c.7.4.9 1.4.4 2v.1l-4.4 6.7c-.3.4-.3 1.1.2 1.4.2.2.5.3.8.2l1.6-.3c7.8-1.5 14.4-10.3 13.7-17.9 0-.7 1.1-1.7 1.9-1.9h1.9c.9-.1 1.9 1.1 1.9 2z"}},return_order_line_item:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M22.2 23.1h37c1.2 0 2.3 1 2.3 2.2V30c0 1.2-1 2.3-2.2 2.3h-37c-1.2 0-2.3-1-2.3-2.2v-4.7c-.1-1.2.9-2.3 2.2-2.3zm50.9 0h4.6c1.2 0 2.3 1 2.3 2.2V30c0 1.2-1 2.3-2.2 2.3h-4.7c-1.2 0-2.3-1-2.3-2.2v-4.7c-.1-1.2.8-2.2 2-2.3h.3zM75.6 52C68.8 63.7 52.7 69 42 63.8l-2.9-1.3c-1-.5-2 .6-1.7 1.6l2.8 9.4c.3 1-.3 2-1.2 2.4l-3.4 1.3c-.8.4-1.7 0-2.1-.8 0-.1-.1-.2-.1-.3l-6.8-22.7c-.3-1 .2-2.1 1.2-2.4l22-8.6c.8-.4 1.7 0 2.1.8 0 .1.1.2.1.3l1.1 3.5c.3 1-.2 2.1-1.2 2.4l-9 3.6c-.7.2-1 .9-.8 1.6.1.3.3.6.6.7l1.7.8c8.3 4.1 21-.1 26-8.4.5-.8 2.3-1 3.2-.6l1.7 1.6c.9.4.8 2.4.3 3.3z"}},reward:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M46.7 63.4L35 80l-3-8h-8l10.2-13.9c2 1.2 4.1 1.4 5.6 1.7.5.1 1.1.2 1.4.2.2.1.7.5 1 .8 1.2.8 2.7 2 4.5 2.6zm19.1-5.3c-2 1.2-4.1 1.4-5.6 1.7-.5.1-1.2.2-1.5.2-.2.1-.7.5-1 .8-1.1.8-2.5 2-4.4 2.6L65 80l3-8h8L65.8 58.1zM50 32c-3.9 0-7 3.1-7 7s3.1 7 7 7 7-3.1 7-7-3.1-7-7-7zm19 7c0 2.4-2.6 4.3-3.5 6.4-.9 2.2-.4 5.4-2.1 7-1.6 1.6-4.8 1.2-7 2.1-2.1.9-4 3.5-6.4 3.5s-4.3-2.6-6.4-3.5c-2.2-.9-5.4-.4-7-2.1-1.6-1.6-1.2-4.8-2.1-7-.9-2.1-3.5-4-3.5-6.4 0-2.4 2.6-4.3 3.5-6.4.9-2.2.4-5.4 2.1-7 1.6-1.6 4.8-1.2 7-2.1 2.1-.9 4-3.5 6.4-3.5s4.3 2.6 6.4 3.5c2.2.9 5.4.4 7 2.1 1.6 1.6 1.2 4.8 2.1 7 .9 2.1 3.5 4 3.5 6.4zm-6 0c0-7.2-5.8-13-13-13s-13 5.8-13 13 5.8 13 13 13 13-5.8 13-13z"}},rtc_presence:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M61.55 19.75c-11.12 0-20.22 8.64-20.22 19.3a18.75 18.75 0 002.57 9.47 1.58 1.58 0 01.18 1.1l-1.93 6.16a1.37 1.37 0 001.75 1.75l5.88-2.11a1.5 1.5 0 011.1.09 20.77 20.77 0 0010.66 2.85c11.12 0 20.22-8.64 20.22-19.3s-9.09-19.31-20.21-19.31zM45.8 76.21v1.29a2.77 2.77 0 01-2.8 2.75H21a2.77 2.77 0 01-2.76-2.76v-1.28c0-3.35 3.91-5.38 7.58-7a1.38 1.38 0 00.37-.18.85.85 0 01.87 0 9 9 0 005 1.52 9.36 9.36 0 005-1.47.85.85 0 01.87 0 1.38 1.38 0 01.37.18c3.59 1.57 7.5 3.59 7.5 6.95z"},ellipse:{cx:"32.01",cy:"60.26",rx:"6.85",ry:"7.58"}},sales_cadence:{xmlns:"http://www.w3.org/2000/svg",g:{path:[{d:"M41.7 66.7c.7.7 1.9.7 2.6 0l15.3-15.2c.8-.7.8-1.9.2-2.6l-.2-.2-15.3-15.3c-.7-.8-1.9-.8-2.6-.2l-.2.2-2.8 2.8c-.8.7-.8 1.9-.2 2.6l.2.2 4.8 4.8c.5.5.5 1.4 0 1.9-.2.2-.6.4-.9.4H22.1c-1.1 0-2.1.9-2.1 2v4c.1 1.1 1 1.9 2.1 2h20.7c.7 0 1.3.6 1.3 1.3 0 .3-.1.7-.4.9l-4.8 4.8c-.8.7-.8 1.9-.2 2.6l.2.2 2.8 2.8z"},{d:"M63.5 56.3l-4.8 4.8c-.8.7-.8 1.9-.2 2.6l.2.2 2.8 2.8c.7.7 1.9.7 2.6 0l15.3-15.2c.8-.7.8-1.9.2-2.6l-.2-.2-15.3-15.3c-.7-.8-1.9-.8-2.6-.2l-.2.2-2.8 2.8c-.8.7-.8 1.9-.2 2.6l.2.2 4.8 4.8 6.4 6.3-6.2 6.2z"}]}},sales_cadence_target:{xmlns:"http://www.w3.org/2000/svg",g:{path:[{d:"M55 25c-5.3 0-10.3 1.7-14.3 4.6l3.6 3.6c3.1-2 6.8-3.1 10.7-3.1 11 0 20 9 20 20s-9 20-20 20c-3.9 0-7.6-1.1-10.7-3.1l-3.8 3.5C44.7 73.3 49.6 75 55 75c13.8 0 25-11.2 25-25S68.8 25 55 25z"},{d:"M55 55c2.8 0 5-2.2 5-5s-2.2-5-5-5c-1.6 0-3 .8-3.9 2L40.2 36.2c-.6-.7-1.6-.7-2.2-.2l-.2.2-2.3 2.3c-.7.6-.7 1.6-.2 2.2l.2.2 4 4c.4.4.4 1.2 0 1.6-.2.2-.5.3-.8.3H21.8c-.9 0-1.8.8-1.8 1.7v3.3c.1.9.8 1.6 1.8 1.7H39c.6 0 1.1.5 1.1 1.1 0 .2-.1.6-.3.8l-4 4c-.7.6-.7 1.6-.2 2.2l.2.2 2.3 2.3c.6.6 1.6.6 2.2 0l10.9-10.8c.8 1 2.2 1.7 3.8 1.7z"},{d:"M55 60c-1.1 0-2.2-.2-3.2-.5L48 63.3c2.1 1.1 4.5 1.7 7 1.7 8.2 0 15-6.8 15-15s-6.8-15-15-15c-2.5 0-4.9.6-7 1.8l3.7 3.8c1-.4 2.1-.6 3.3-.6 5.5 0 10 4.5 10 10s-4.5 10-10 10z"}]}},sales_channel:{xmlns:"http://www.w3.org/2000/svg",path:[{d:"M74.8 45c-.7-3.4-2.1-6.5-3.9-9.2 1.8-2 1.8-5-.1-6.9-1-1-2.3-1.5-3.5-1.5s-2.5.5-3.4 1.4c-2.7-1.7-5.6-3-8.9-3.7 0-2.8-2.2-5-5-5s-5 2.2-5 5c-3.3.7-6.4 2-9.1 3.8-1-1-2.3-1.5-3.5-1.5-1.3 0-2.6.5-3.5 1.5-2 2-2 5.1 0 7.1-1.9 2.6-3.1 5.7-3.9 9-2.7 0-4.9 2.3-4.9 5s2.2 5 4.9 5c.6 3.2 1.9 6.3 3.7 8.9-.1 0-.1.1-.2.1-2 2-2 5.1 0 7.1 1 1 2.3 1.5 3.5 1.5 1.3 0 2.6-.5 3.5-1.5l.1-.1c2.8 1.9 5.9 3.2 9.3 3.9 0 2.8 2.2 5 5 5s5-2.2 5-5c3.3-.7 6.3-2 9-3.7 1 1 2.3 1.5 3.5 1.5 1.3 0 2.6-.5 3.5-1.5 2-2 2-5.1 0-7.1 1.8-2.7 3.1-5.8 3.8-9.1h.1c2.8 0 5-2.2 5-5s-2.3-5-5-5zm-9-14c.1-.1.3-.2.5-.3.3-.2.6-.2.9-.2.5 0 1 .2 1.4.6.6.6.7 1.6.3 2.3-.1.2-.2.3-.3.5-.4.4-.9.6-1.4.6s-1-.2-1.4-.6c-.9-.9-.9-2.1 0-2.9zm-18-6.3c.2-.9 1-1.6 2-1.6s1.8.7 2 1.6v.4c0 1.1-.9 2-2 2s-2-.9-2-2v-.4zm-17 6.3c.4-.4.9-.6 1.4-.6.4 0 .8.1 1.1.3l.3.3c.8.8.8 2 0 2.8-.4.4-.9.6-1.4.6s-1-.2-1.4-.6l-.3-.3c-.5-.8-.5-1.8.3-2.5zM25 52c-.2 0-.3 0-.5-.1-.9-.2-1.5-1-1.5-1.9s.7-1.7 1.5-1.9c.2 0 .3-.1.5-.1 1.1 0 2 .9 2 2s-1 2-2 2zm8.3 16.9l-.2.2c-.3.3-.8.4-1.2.4-.5 0-1-.2-1.4-.6-.4-.4-.6-.9-.6-1.4s.2-.9.4-1.2c0-.1.1-.1.1-.2.4-.4.9-.6 1.4-.6.5 0 1 .2 1.4.6.9.8.9 2 .1 2.8zm18.5 6.4c-.2.9-1 1.6-2 1.6s-1.8-.7-2-1.6v-.4c0-1.1.9-2 2-2s2 .9 2 2v.4zm20-21.3c-.6 3.2-1.8 6.1-3.6 8.7-.3 0-.5-.1-.8-.1-1.3 0-2.6.5-3.5 1.5-1.2 1.2-1.6 2.8-1.4 4.4-2.5 1.7-5.4 3-8.6 3.6-.9-1.3-2.4-2.1-4.1-2.1s-3.2.8-4.1 2.1c-3.3-.6-6.3-1.9-8.9-3.8.2-1.5-.3-3-1.4-4.2-1-1-2.3-1.5-3.5-1.5-.2 0-.4 0-.6.1-1.7-2.5-3-5.4-3.6-8.6 1.3-.9 2.2-2.4 2.2-4.1 0-1.7-.9-3.2-2.2-4.1.6-3.1 1.8-6 3.6-8.6.3 0 .5.1.8.1 1.3 0 2.6-.5 3.5-1.5 1.2-1.2 1.6-2.8 1.4-4.4 2.6-1.8 5.5-3 8.7-3.6.9 1.3 2.4 2.1 4.1 2.1 1.7 0 3.1-.8 4.1-2.1 3 .6 5.9 1.7 8.3 3.4-.3 1.6.1 3.3 1.4 4.5 1 1 2.3 1.5 3.5 1.5.3 0 .7 0 1-.1 1.8 2.6 3 5.5 3.6 8.7-1.2.9-2.1 2.4-2.1 4s.9 3.1 2.2 4.1zm3.2-2h-.3c-1.1 0-2-.9-2-2s.9-2 2-2h.3c.9.2 1.7 1 1.7 2s-.7 1.8-1.7 2z"},{d:"M54.8 52.4c-2.1-.9-2.5-1.8-2.5-2.6 0-.9.6-1.8 1.3-2.4 1.2-1.2 1.9-2.8 1.9-4.6 0-3.5-2.1-6.5-5.9-6.5s-5.9 3-5.9 6.5c0 1.9.7 3.5 1.9 4.6.7.7 1.3 1.5 1.3 2.4s-.3 1.7-2.5 2.6c-3.1 1.3-6 2.8-6.1 5.6 0 1.9 1.4 3.4 3.2 3.4h16.3c1.8 0 3.2-1.5 3.2-3.4-.1-2.8-3.1-4.2-6.2-5.6z"}]},sales_path:{xmlns:"http://www.w3.org/2000/svg",path:[{d:"M15.2 68.2L29.4 51c.4-.7.4-1.5 0-2.1l-14.2-17c-.1-.2-.2-.4-.2-.6 0-.6.5-1 1-1h20.7c.6 0 1.1.2 1.4.7L53 49c.4.6.4 1.4 0 2.1l-14.8 18c-.3.4-.9.7-1.4.7H16.1c-.6 0-1-.4-1-1-.1-.2 0-.5.1-.6z"},{d:"M46.8 68.2L60.9 51c.4-.7.4-1.5 0-2.1l-14.2-17c-.1-.2-.2-.4-.2-.6 0-.6.5-1 1-1h20.7c.6 0 1.1.2 1.4.7l14.9 18c.4.6.4 1.4 0 2.1l-14.8 18c-.3.4-.9.7-1.4.7H47.6c-.6 0-1-.4-1-1 0-.2.1-.5.2-.6z"}]},sales_value:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M79.5 73.9L62.9 57.4c3.4-4.7 5.1-10.7 4.2-17.1C65.6 29.6 56.9 21.1 46 20.1c-14.7-1.5-27.2 11-25.7 25.8 1 10.7 9.5 19.6 20.2 21.1 6.4.9 12.3-.9 17.1-4.2l16.6 16.6c.7.7 1.9.7 2.6 0l2.6-2.6c.8-.9.8-2.1.1-2.9zM54.3 55.7v-4.3c0-.8-.7-1.5-1.5-1.5s-1.5.7-1.5 1.5v6.3c-1.8 1-3.8 1.6-6 1.8v-6c0-.8-.7-1.5-1.5-1.5s-1.5.7-1.5 1.5v6c-2.2-.2-4.2-.8-6-1.8v-6.3c0-.8-.7-1.5-1.5-1.5s-1.5.7-1.5 1.5v4.2c-2.6-2.3-4.5-5.3-5.3-8.9l6.8-5.4 7.1 5.3c.6.5 1.5.4 2-.2l7.4-8.2v5.2c0 .8.7 1.5 1.5 1.5s1.5-.7 1.5-1.5v-9c0-.8-.7-1.5-1.5-1.5h-8c-.8 0-1.5.7-1.5 1.5S44 36 44.8 36h4.5l-6.7 7.5-6.9-5.2c-.5-.4-1.3-.4-1.8 0l-6.2 4.9c.1-8.7 7.3-15.8 16.1-15.8 8.9 0 16.1 7.2 16.1 16.1 0 4.9-2.2 9.3-5.6 12.2z"}},salesforce_cms:{xmlns:"http://www.w3.org/2000/svg",path:[{d:"M66.3 48.4c.3 0 .7-.1.9-.3.8-.5 1-1.6.5-2.4l-6.3-9.6c-.1-.2-.2-.3-.4-.4-.7-.6-1.8-.4-2.4.3l-6.8 8.8-8-11.9c-.1-.2-.3-.3-.5-.5-.8-.5-1.9-.3-2.4.5l-8.6 12.8c-.2.3-.3.6-.3 1 0 .9.8 1.7 1.7 1.7h32.6z"},{fill:"none",d:"M33.2 54h33.9c.9 0 1.7.8 1.7 1.7s-.8 1.7-1.7 1.7H33.2c-.9 0-1.7-.8-1.7-1.7s.8-1.7 1.7-1.7z"},{d:"M33.2 54h33.9c.9 0 1.7.8 1.7 1.7 0 .9-.8 1.7-1.7 1.7H33.2c-.9 0-1.7-.8-1.7-1.7 0-1 .8-1.7 1.7-1.7z"},{fill:"none",d:"M36.7 62.5h27c.9 0 1.7.8 1.7 1.7 0 .9-.8 1.7-1.7 1.7h-27c-.9 0-1.7-.8-1.7-1.7 0-.9.7-1.7 1.7-1.7z"},{d:"M36.7 62.5h27c.9 0 1.7.8 1.7 1.7 0 .9-.8 1.7-1.7 1.7h-27c-.9 0-1.7-.8-1.7-1.7 0-.9.7-1.7 1.7-1.7z"},{d:"M75.2 33.9c.8-1.1 1.3-2.4 1.3-3.9 0-3.6-2.9-6.4-6.4-6.4-1.5 0-2.8.5-3.9 1.3-4.7-3-10.2-4.8-16.2-4.8-16.6 0-30 13.4-30 30 0 7.5 2.7 14.3 7.2 19.5-.3.6-.4 1.3-.4 2 0 2.6 2.1 4.7 4.7 4.7 1 0 1.8-.3 2.6-.8 4.6 2.9 10.1 4.6 15.9 4.6 16.6 0 30-13.4 30-30 0-6-1.8-11.5-4.8-16.2zm-5.1-7c1.7 0 3.1 1.4 3.1 3.1s-1.4 3-3.1 3c-1.7 0-3.1-1.3-3.1-3s1.4-3.1 3.1-3.1zM50 76.7c-5.1 0-9.9-1.4-13.9-4 .1-.4.2-.8.2-1.2 0-2.6-2.1-4.7-4.7-4.7-.7 0-1.3.1-1.8.4-3.9-4.6-6.3-10.6-6.3-17.1 0-14.7 11.9-26.6 26.6-26.6 5.2 0 10.1 1.5 14.2 4.1-.3.7-.5 1.5-.5 2.4 0 3.6 2.9 6.4 6.4 6.4.8 0 1.6-.2 2.4-.5 2.6 4.1 4.1 9 4.1 14.2-.1 14.7-12.1 26.6-26.7 26.6z"}]},scan_card:{xmlns:"http://www.w3.org/2000/svg",path:[{d:"M74 30H26c-3.3 0-6 2.7-6 6v28c0 3.3 2.7 6 6 6h48c3.3 0 6-2.7 6-6V36c0-3.3-2.7-6-6-6zM25 53c-1.7 0-3-1.3-3-3s1.3-3 3-3 3 1.3 3 3-1.3 3-3 3zm47 9c0 1.1-.9 2-2 2H32c-1.1 0-2-.9-2-2V38c0-1.1.9-2 2-2h38c1.1 0 2 .9 2 2v24z"},{d:"M64 42H38c-1.1 0-2 .9-2 2v12c0 1.1.9 2 2 2h26c1.1 0 2-.9 2-2V44c0-1.1-.9-2-2-2z"}]},schedule_objective:{xmlns:"http://www.w3.org/2000/svg",path:[{d:"M76 42H24a2 2 0 00-2 2v30a6 6 0 006 6h44a6 6 0 006-6V44a2 2 0 00-2-2zM50 76.1A15.1 15.1 0 1165.1 61 15.15 15.15 0 0150 76.1z"},{d:"M50 50.9A10.1 10.1 0 1060.1 61 10.14 10.14 0 0050 50.9zM50 66a5.08 5.08 0 01-5-5 5 5 0 0110 0 5.08 5.08 0 01-5 5zM72 26h-5v-2a4 4 0 00-8 0v2H41v-2a4 4 0 00-8 0v2h-5a6 6 0 00-6 6v2a2 2 0 002 2h52a2 2 0 002-2v-2a6 6 0 00-6-6z"}]},scheduling_constraint:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M76 42H24a2 2 0 00-2 2v30a6 6 0 006 6h44a6 6 0 006-6V44a2 2 0 00-2-2zm-26 4.1a14.88 14.88 0 018.24 2.5L37.6 69.24A14.78 14.78 0 0135.1 61 14.94 14.94 0 0150 46.1zm0 29.8a14.74 14.74 0 01-8.13-2.44l20.59-20.59A14.74 14.74 0 0164.9 61 14.94 14.94 0 0150 75.9zM72 26h-5v-2a4 4 0 00-8 0v2H41v-2a4 4 0 00-8 0v2h-5a6 6 0 00-6 6v2a2 2 0 002 2h52a2 2 0 002-2v-2a6 6 0 00-6-6z"}},scheduling_policy:{xmlns:"http://www.w3.org/2000/svg",path:[{d:"M22 74a5.69 5.69 0 005.6 6s32.4.3 32.3 0l-.7-1.4a7.67 7.67 0 01-1.9-4.8 8.31 8.31 0 011.8-4.8 7.39 7.39 0 012.2-4.8 8.52 8.52 0 014.5-2h.1a7.67 7.67 0 014.8-1.9 8.31 8.31 0 014.8 1.8 11 11 0 012.5.6V44c0-1.8-2-2.1-2-2.1H24a2 2 0 00-2 2z"},{d:"M68.1 83.1l-5.2 7.4-1.3-3.5h-3.5l4.5-6.1a10.19 10.19 0 002.5.8 1.49 1.49 0 00.6.1 2.19 2.19 0 00.5.3 6.49 6.49 0 001.9 1zm8.4-2.3a10.19 10.19 0 01-2.5.8 1.7 1.7 0 01-.7.1 2.19 2.19 0 01-.5.3 10.46 10.46 0 01-1.9 1.2l5.2 7.3 1.3-3.5h3.5zm-7-11.6a3.1 3.1 0 103.1 3.1 3.12 3.12 0 00-3.1-3.1zm8.5 3.1c0 1.1-1.2 1.9-1.5 2.8s-.2 2.4-.9 3.1-2.1.5-3.1.9-1.8 1.5-2.8 1.5-1.9-1.2-2.8-1.5-2.4-.2-3.1-.9-.5-2.1-.9-3.1-1.5-1.8-1.5-2.8 1.2-1.9 1.5-2.8.2-2.4.9-3.1 2.1-.5 3.1-.9 1.8-1.5 2.8-1.5 1.9 1.2 2.8 1.5 2.4.2 3.1.9.5 2.1.9 3.1 1.5 1.8 1.5 2.8zm-2.7 0a5.8 5.8 0 00-11.6 0 5.68 5.68 0 005.8 5.8 5.74 5.74 0 005.8-5.8zM72 26h-5v-2a4 4 0 00-8 0v2H41v-2a4 4 0 00-8 0v2h-5a6 6 0 00-6 6v2a2 2 0 002 2h52a2 2 0 002-2v-2a6 6 0 00-6-6zM48 70.2c0 1.4-.7 2.6-1.7 2.6H29c-.9 0-1.8-1.2-1.8-2.6v-2.6c0-1.4.8-2.6 1.8-2.6h17.2c.9 0 1.8 1.2 1.8 2.6zM56.9 54.4c0 1.4-.8 2.6-1.9 2.6H29.2c-1.1 0-2-1.2-2-2.6v-2.6c0-1.4.9-2.6 2-2.6H55c1.1 0 2 1.2 2 2.6v2.6z"}]},screen:{xmlns:"http://www.w3.org/2000/svg",path:[{d:"M80 25c0-2.8-2.2-5-5-5H25c-2.8 0-5 2.2-5 5v34.7c0 2.8 2.2 5 5 5h50c2.8 0 5-2.2 5-5V25zm-7.5 30.3c0 1-.9 1.9-1.9 1.9H29.4c-1 0-1.9-.9-1.9-1.9V29.4c0-1 .9-1.9 1.9-1.9h41.2c1 0 1.9.9 1.9 1.9v25.9zM41.2 72.5c-2.8 0-5 2.2-5 5v.6c0 1 .9 1.9 1.9 1.9h23.8c1 0 1.9-.9 1.9-1.9v-.6c0-2.8-2.2-5-5-5H41.2z"},{d:"M40.2 50.9h-5.6c-.5 0-1-.5-1-1V34.7c0-.6.5-1 1-1h5.6c.5 0 1 .4 1 1v15.2c0 .5-.5 1-1 1zM65.4 50.9H48.3c-.5 0-1-.5-1-1V34.7c0-.5.5-1 1-1h17.1c.5 0 1 .5 1 1v15.2c0 .6-.5 1-1 1z"}]},search:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M79.5 74.1L62.9 57.6c3.4-4.7 5.1-10.7 4.2-17.1C65.6 29.8 56.9 21.3 46 20.3c-14.7-1.5-27.2 11-25.7 25.8 1 10.7 9.5 19.6 20.2 21.1 6.4.9 12.3-.9 17.1-4.2l16.6 16.6c.7.7 1.9.7 2.6 0l2.6-2.6c.8-.9.8-2.1.1-2.9zM27.7 43.7c0-8.8 7.2-16.1 16.1-16.1s16.1 7.2 16.1 16.1-7.2 16.1-16.1 16.1-16.1-7.1-16.1-16.1z"}},section:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M31 34h38a1 1 0 001-1v-4a1 1 0 00-1-1H31a1 1 0 00-1 1v4a1 1 0 001 1m41 6H28a4 4 0 01-4-4V26a4 4 0 014-4h44a4 4 0 014 4v10a4 4 0 01-4 4M31 72h38a1 1 0 001-1v-4a1 1 0 00-1-1H31a1 1 0 00-1 1v4a1 1 0 001 1m41 6H28a4 4 0 01-4-4V64a4 4 0 014-4h44a4 4 0 014 4v10a4 4 0 01-4 4M77 54H67a3 3 0 01-3-3v-2a3 3 0 013-3h10a3 3 0 013 3v2a3 3 0 01-3 3M55 54H45a3 3 0 01-3-3v-2a3 3 0 013-3h10a3 3 0 013 3v2a3 3 0 01-3 3M33 54H23a3 3 0 01-3-3v-2a3 3 0 013-3h10a3 3 0 013 3v2a3 3 0 01-3 3","fill-rule":"evenodd"}},segments:{xmlns:"http://www.w3.org/2000/svg",path:[{d:"M78.8 45.1l-1-2.8-22.7 8.1-.5 1.3a4.81 4.81 0 01-1.7 2.3 4.89 4.89 0 01-7.8-4 5.73 5.73 0 011.4-3.7l.6-.8V20.3l-3.6.8A29 29 0 0027.4 31a29.7 29.7 0 00-6.9 18.9 29.6 29.6 0 0059.2 0 17.72 17.72 0 00-.9-4.8zM66.7 66.8A23.37 23.37 0 0150 73.7a23.61 23.61 0 01-16.7-6.9A23.57 23.57 0 0131.9 35a24.13 24.13 0 019.3-6.8v15.5a11.51 11.51 0 00-2 6.4 10.74 10.74 0 003.2 7.7 11 11 0 007.7 3.2 10.67 10.67 0 006.4-2.1 10.23 10.23 0 003.2-3.7l14-5a23.83 23.83 0 01-7 16.6z"},{d:"M55.6 43.9L75.1 37a1.05 1.05 0 00.5-1.7l-.2-.4a29.69 29.69 0 00-20.7-14 1.58 1.58 0 00-1.8 1.6v19.6a2 2 0 00.1.7 2 2 0 002.6 1.1z"}]},selling_model:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M73.41 27.84h-2V25.2a3.29 3.29 0 00-3.26-3.32h-1.1a3.29 3.29 0 00-3.3 3.28v2.67h-9.9V25.2a3.31 3.31 0 00-3.29-3.32h-1.12a3.31 3.31 0 00-3.29 3.32v2.64H35.9V25.2a3.29 3.29 0 00-3.26-3.32H31.5a3.3 3.3 0 00-3.29 3.31v2.64h-1.62A6.61 6.61 0 0020 34.46v37a6.61 6.61 0 006.59 6.63h46.82a6.61 6.61 0 006.59-6.6v-37a6.61 6.61 0 00-6.58-6.64zm-33.55 38H34.3V43h5.56zm8 0h-3.81V43h3.86zm9.33 0h-5.52V43h5.57zm8.46 0h-3.83V43h3.88z"}},serialized_product:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M74 42a2 2 0 012 1.85V72a6 6 0 01-5.78 6H30a6 6 0 01-6-5.78V44a2 2 0 011.85-2zM63.18 70.43H36.82a.94.94 0 00-.94.92v.91a.93.93 0 00.94.91h26.36a.93.93 0 00.94-.91v-.91a.94.94 0 00-.94-.92zm-24-18.7h-2.36a.93.93 0 00-.94.91v14.14a.93.93 0 00.94.92h2.36a.93.93 0 00.94-.92V52.64a.93.93 0 00-.94-.91zm24 0h-2.36a.93.93 0 00-.94.91v14.14a.93.93 0 00.94.92h2.36a.93.93 0 00.94-.92V52.64a.93.93 0 00-.94-.91zm-11.77 0h-2.82a.93.93 0 00-.94.91v14.14a.93.93 0 00.94.92h2.82a.93.93 0 00.94-.92V52.64a.93.93 0 00-.94-.91zm5.65 0h-.94a.93.93 0 00-.94.91v14.14a.93.93 0 00.94.92h.94a.93.93 0 00.94-.92V52.64a.93.93 0 00-.94-.91zm-12.24 0h-.94a.93.93 0 00-.94.91v14.14a.93.93 0 00.94.92h.94a.93.93 0 00.94-.92V52.64a.93.93 0 00-.94-.91zm18.36-5H36.82a.93.93 0 00-.94.91v.91a.93.93 0 00.94.91h26.36a.93.93 0 00.94-.91v-.91a.93.93 0 00-.94-.93zM74 22a6 6 0 016 6v6a2 2 0 01-2 2H22a2 2 0 01-2-2v-6a6 6 0 016-6z"}},serialized_product_transaction:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M72.85 70.32a1.8 1.8 0 011.82 1.77v1.77a1.8 1.8 0 01-1.82 1.76h-51A1.8 1.8 0 0120 73.86v-1.77a1.8 1.8 0 011.82-1.77h51zM26.38 34.1a1.8 1.8 0 011.82 1.77v27.38A1.8 1.8 0 0126.38 65h-4.56A1.8 1.8 0 0120 63.25V35.87a1.8 1.8 0 011.82-1.77zm23.69 0a1.8 1.8 0 011.82 1.77v27.38A1.8 1.8 0 0150.07 65H44.6a1.8 1.8 0 01-1.82-1.77V35.87a1.8 1.8 0 011.82-1.77zm-12.76 0a1.8 1.8 0 011.82 1.77v27.38A1.8 1.8 0 0137.31 65h-1.82a1.8 1.8 0 01-1.82-1.77V35.87a1.8 1.8 0 011.82-1.77zm29.31.57a1.43 1.43 0 011.08.5l11.84 12.94a1.74 1.74 0 01.46 1.18 1.71 1.71 0 01-.46 1.18L67.75 63.3a1.39 1.39 0 01-2.15 0L63.44 61a1.74 1.74 0 010-2.36l3.69-4.05a1.2 1.2 0 00.22-1.22 1 1 0 00-.93-.7h-8.78A1.83 1.83 0 0156 50.92v-3.37a1.76 1.76 0 011.64-1.69h8.73a1 1 0 00.93-.7 1.18 1.18 0 00-.22-1.16l-3.69-4.1a1.76 1.76 0 010-2.37l2.16-2.36a1.43 1.43 0 011.07-.5zm6.23-10.29a1.8 1.8 0 011.82 1.77v1.76a1.8 1.8 0 01-1.82 1.77h-51A1.8 1.8 0 0120 27.91v-1.76a1.8 1.8 0 011.82-1.77h51z"}},service_appointment:{xmlns:"http://www.w3.org/2000/svg",rect:[{x:"60.31",y:"60.99",width:"5.48",height:"5.48",rx:".91",ry:".91"},{x:"60.31",y:"70.12",width:"5.48",height:"5.48",rx:".91",ry:".91"},{x:"51.17",y:"60.99",width:"5.48",height:"5.48",rx:".91",ry:".91"},{x:"51.17",y:"70.12",width:"5.48",height:"5.48",rx:".91",ry:".91"},{x:"42.03",y:"60.99",width:"5.48",height:"5.48",rx:".91",ry:".91"},{x:"42.03",y:"70.12",width:"5.48",height:"5.48",rx:".91",ry:".91"}],path:{d:"M71.83 20H28.3a8.11 8.11 0 00-8.3 7.81v44.38A8.08 8.08 0 0028.16 80h5.9a3.62 3.62 0 01-.4-1.66V56A1.41 1.41 0 0135 54.6h37.51a1.41 1.41 0 011.37 1.4v22.34a3.62 3.62 0 01-.31 1.47A8 8 0 0080 72.19V27.81c.14-4.25-3.58-7.81-8.17-7.81zM30.78 36.1A2.85 2.85 0 0128 33.35V30.6a2.85 2.85 0 012.76-2.75h14.09a2.85 2.85 0 012.76 2.75v2.75a2.85 2.85 0 01-2.76 2.75zm43.1 14.14a1.41 1.41 0 01-1.37 1.37H35a1.41 1.41 0 01-1.37-1.37V48a3.67 3.67 0 013.66-3.65h4.57v-1.87a2.74 2.74 0 015.48 0v1.82h12.8v-1.82a2.74 2.74 0 015.48 0v1.82h4.57a3.67 3.67 0 013.69 3.7z","fill-rule":"evenodd"}},service_appointment_capacity_usage:{xmlns:"http://www.w3.org/2000/svg",g:{path:[{d:"M72 26h-5v-2c0-2.2-1.8-4-4-4s-4 1.8-4 4v2H41v-2c0-2.2-1.8-4-4-4s-4 1.8-4 4v2h-5c-3.3 0-6 2.7-6 6v2c0 1.1.9 2 2 2h52c1.1 0 2-.9 2-2v-2c0-3.3-2.7-6-6-6zM76 42H24c-1.1 0-2 .9-2 2v30c0 3.3 2.7 6 6 6h44c3.3 0 6-2.7 6-6V44c0-1.1-.9-2-2-2zM64.9 61.1c-.1 8.2-6.8 14.9-15 14.8-8.2-.1-14.9-6.8-14.8-15 .1-8.2 6.8-14.9 15-14.8 8.2 0 14.8 6.9 14.8 15z"},{d:"M49.8 50.2v11.4h10.7s.6-4-3.1-7.8-7.6-3.6-7.6-3.6z"}]}},service_contract:{xmlns:"http://www.w3.org/2000/svg",g:{path:[{d:"M69.1 28.9L55.9 15.7c-.3-.3-.6-.4-1-.4-.8 0-1.4.6-1.4 1.4v10.6c0 2.2 1.8 4 4 4h10.6c.8 0 1.4-.6 1.4-1.4 0-.4-.1-.7-.4-1zm.4 10.4c0-1.1-.9-2-2-2h-14c-3.3 0-6-2.7-6-6v-14c0-1.1-.9-2-2-2h-20c-3.3 0-6 2.7-6 6v48c0 3.3 2.7 6 6 6h20.3c1.6 0 2-1.1 1.9-2.8s-.7-9 4.3-14.8 13.2-6.2 14.4-6.2c1.2 0 3.2-.1 3.1-1.8s0-10.4 0-10.4zm-43-11.4l4.9-.7c.1 0 .3-.1.3-.2l2.2-4.5c.2-.3.6-.3.8 0l2.2 4.5c.1.1.2.2.3.2l4.9.7c.3.1.5.5.2.7l-3.6 3.5c-.1.1-.1.2-.1.4l.8 4.9c.1.3-.3.6-.6.4l-4.4-2.3c-.1-.1-.3-.1-.4 0l-4.4 2.3c-.3.2-.7-.1-.6-.4l.8-4.9c0-.1 0-.3-.1-.4l-3.6-3.5c-.1-.2.1-.6.4-.7zm18 33.4c0 1.1-.9 2-2 2h-13c-1.1 0-2-.9-2-2v-2c0-1.1.9-2 2-2h13c1.1 0 2 .9 2 2v2zm11-12c0 1.1-.9 2-2 2h-24c-1.1 0-2-.9-2-2v-2c0-1.1.9-2 2-2h24c1.1 0 2 .9 2 2v2z"},{d:"M66.3 56.2c-7.9 0-14.3 6.4-14.3 14.3s6.4 14.3 14.3 14.3 14.3-6.4 14.3-14.3-6.5-14.3-14.3-14.3zm2.5 15.6c-.4 0-.8-.1-1.2-.2L62.1 77c-.4.4-.8.5-1.2.5-.5 0-.8-.1-1.2-.5-.6-.6-.6-1.7 0-2.4l5.5-5.5c-.1-.3-.2-.7-.2-1.1-.2-2.5 1.8-4.8 4.3-4.8.4 0 .8.1 1.2.2.2 0 .2.2.1.4l-2.4 2.5c-.2.1-.2.5 0 .6l1.7 1.7c.2.2.5.2.7 0l2.4-2.4c.1-.1.4-.1.4.1.1.4.2.8.2 1.2-.1 2.5-2.2 4.5-4.8 4.3z"}]}},service_crew:{xmlns:"http://www.w3.org/2000/svg",g:{path:[{d:"M60.1 51.3h-3.7v-4.4c0-5.9-3.3-11-8.1-13.5V41c0 4-3.2 7.2-7.2 7.2S33.9 45 33.9 41v-7.8c-4.9 2.6-8.3 7.7-8.3 13.6v4.4H22c-1.2 0-2.1.9-2.1 2.1s.9 2.1 2.1 2.1h38.1c1.2 0 2.1-.9 2.1-2.1s-.9-2-2.1-2z"},{d:"M41.2 43.9c1.6 0 2.9-1.3 2.9-2.9v-9.2c-1-.2-2-.3-3-.3s-1.9.1-2.8.3V41c-.1 1.6 1.2 2.9 2.9 2.9z"}]},path:[{d:"M41.1 77.3c-8.9 0-16.1-7.9-16.1-17.6h4c0 7.5 5.4 13.6 12.1 13.6s12.1-6.1 12.1-13.6h4c-.1 9.7-7.3 17.6-16.1 17.6zM65.3 31.5c1.1 0 2.1-.9 2.1-2.1v-6.5c-.7-.1-1.4-.2-2.1-.2-.7 0-1.3.1-2 .2v6.5c-.1 1.1.9 2.1 2 2.1zM65.2 57.5v-4c4.3 0 7.9-4 7.9-8.9h4c0 7.1-5.3 12.9-11.9 12.9z"},{d:"M78 36.1h-2v-2.6c0-4.1-2.3-7.7-5.7-9.5v5.4c0 2.8-2.3 5-5 5-2.8 0-5-2.3-5-5v-5.5C57 25.6 54.7 29 54.5 33c2.1 2.1 3.6 4.6 4.6 7.3H78c1.2 0 2.1-.9 2.1-2.1s-.9-2.1-2.1-2.1z"}]},service_crew_member:{xmlns:"http://www.w3.org/2000/svg",g:{path:[{d:"M77.3 45.5h-5.5v-6.3c0-8.3-4.7-15.5-11.5-19.2v10.9c0 5.6-4.6 10.2-10.2 10.2s-10.2-4.6-10.2-10.2v-11c-7 3.6-11.8 10.9-11.8 19.4v6.3h-5.5c-1.5 0-2.8 1.2-2.8 2.8v.5c0 1.5 1.2 2.8 2.8 2.8h54.6c1.5 0 2.8-1.2 2.8-2.8v-.5c.1-1.6-1.2-2.9-2.7-2.9z"},{d:"M50.1 35.1c2.3 0 4.2-1.9 4.2-4.2V17.8c-1.4-.3-2.8-.4-4.3-.4-1.4 0-2.7.1-4 .4v13.1c0 2.3 1.8 4.2 4.1 4.2z"}]},path:{d:"M50 82.6c-12.7 0-23-11.3-23-25.1h6c0 10.5 7.6 19.1 17 19.1S67 68 67 57.5h6c0 13.8-10.3 25.1-23 25.1z"}},service_report:{xmlns:"http://www.w3.org/2000/svg",path:[{d:"M71.8 25h-2a.94.94 0 00-1 1v4a8 8 0 01-7.93 8H39.1a8 8 0 01-7.93-8v-4a.94.94 0 00-1-1h-2a6 6 0 00-5.95 6v43a6 6 0 005.95 6H71.8a6 6 0 005.95-6V31a6 6 0 00-5.95-6zM43.06 66a2 2 0 01-2 2h-2a2 2 0 01-2-2V56a2 2 0 012-2h2a2 2 0 012 2zM53 66a2 2 0 01-2 2h-2a2 2 0 01-2-2V47a2 2 0 012-2h2a2 2 0 012 2zm9.91 0a2 2 0 01-2 2h-2a2 2 0 01-2-2V51a2 2 0 012-2h2a2 2 0 012 2z","fill-rule":"evenodd"},{d:"M39.1 32h21.8a2 2 0 002-2v-4a6 6 0 00-5.95-6H43.06a6 6 0 00-5.95 6v4a2 2 0 001.99 2z","fill-rule":"evenodd"}]},service_request:{xmlns:"http://www.w3.org/2000/svg",g:{path:[{d:"M38.63 57.24a9.33 9.33 0 01-.48 2.47l11.51 12.12a3.64 3.64 0 011 2.52 2.82 2.82 0 01-1.1 2.46 4.08 4.08 0 01-5.19-.13L32.84 64.56a9.49 9.49 0 01-2.5.35 9.68 9.68 0 01-10.13-9.6 8.53 8.53 0 01.48-2.47c0-.42.42-.41.83-.19l5.05 5.52a.77.77 0 001.24 0l3.62-3.43a1 1 0 000-1.45L26.41 48c-.2-.21-.18-.83.23-.82a11.94 11.94 0 012.5-.35 9.26 9.26 0 019.49 10.41z"},{d:"M78.67 34.7a15.51 15.51 0 00-3-5.74 13.63 13.63 0 00-6.11-4.16 15.14 15.14 0 00-3.89-.75 13.12 13.12 0 00-5.88.9 15.58 15.58 0 00-5.52 3.79c-.62.65-1.18 1.35-1.79 2l-.14-.18a20.11 20.11 0 00-3.12-3.27 14.81 14.81 0 00-4.28-2.49 13.56 13.56 0 00-5.75-.78 14.49 14.49 0 00-5.52 1.49 14 14 0 00-6.53 6.89 18.63 18.63 0 00-1.63 7.08 17.09 17.09 0 00.27 3.72l.25-.05a16.11 16.11 0 013.07-.4h.19a13.28 13.28 0 0113.4 14.7 8.42 8.42 0 01-.09 1L52.6 69a7.67 7.67 0 012 3.92 106.59 106.59 0 0011.36-9.43 67.92 67.92 0 007.48-8.33 37.33 37.33 0 004.08-6.71A20.19 20.19 0 0079.37 42a19 19 0 00-.7-7.3z"}]}},service_request_detail:{xmlns:"http://www.w3.org/2000/svg",g:{path:[{d:"M69.49 79.64A10.2 10.2 0 1179.7 69.45a10.17 10.17 0 01-10.21 10.19zM70.4 67a1 1 0 00-.7.21c-.56.38-1.12.76-1.67 1.16a3.14 3.14 0 00-.53.56.28.28 0 00.32.44c.14 0 .27-.1.4-.15s.24-.12.37-.16.28 0 .28.21a2.17 2.17 0 010 .25q-.58 2.41-1.18 4.82a.89.89 0 00.45 1.06 1.13 1.13 0 001.16-.1c.54-.35 1.07-.71 1.58-1.1a5.6 5.6 0 00.72-.74.22.22 0 000-.28.25.25 0 00-.3-.1 2.43 2.43 0 00-.38.13l-.44.2c-.17.06-.26 0-.25-.19a2.63 2.63 0 01.06-.39c.37-1.5.73-3 1.1-4.5A1 1 0 0070.4 67zm1.07-2.09a1.54 1.54 0 00-1.78-1.47 1.37 1.37 0 00-1.07 2 1.53 1.53 0 001.7.88 1.47 1.47 0 001.15-1.46zM38.35 56.64a8.67 8.67 0 00.48-2.47 9.23 9.23 0 00-9.45-10.38 13.23 13.23 0 00-2.49.35c-.42 0-.43.61-.23.82l5 5.3a1 1 0 010 1.45l-3.61 3.42a.77.77 0 01-1.24 0l-5-5.5c-.4-.22-.82-.23-.83.18a9.33 9.33 0 00-.48 2.47 9.66 9.66 0 0010.1 9.57 9.35 9.35 0 002.49-.35l11.45 12.05a4 4 0 005.17.13 2.77 2.77 0 001.09-2.46 3.53 3.53 0 00-1-2.5z"},{d:"M78.75 31.7a15.63 15.63 0 00-3-5.72 13.56 13.56 0 00-6.1-4.14 15 15 0 00-3.87-.75 13.23 13.23 0 00-5.87.89 15.55 15.55 0 00-5.49 3.79c-.62.64-1.18 1.33-1.79 2l-.14-.17a19.19 19.19 0 00-3.11-3.26 14.81 14.81 0 00-4.26-2.48 13.34 13.34 0 00-5.74-.78 14.61 14.61 0 00-5.5 1.48 14 14 0 00-6.51 6.88 18.62 18.62 0 00-1.62 7 17 17 0 00.25 3.78h.25a15.9 15.9 0 013.06-.4h.19a13.25 13.25 0 0113.35 14.6c0 .34-.05.68-.09 1L52.75 66l.09.11 2.1 2.21A14.71 14.71 0 0169.6 54.77a13.77 13.77 0 011.71.11c.75-.89 1.49-1.79 2.18-2.73a36.55 36.55 0 004.07-6.69A20.59 20.59 0 0079.45 39a19.13 19.13 0 00-.7-7.3z"}]}},service_resource:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M71.83 20H28.3a8.11 8.11 0 00-8.3 7.81v44.38A8.08 8.08 0 0028.16 80h11c1.1-4.54 6.46-7.17 12.14-9.49 4.24-1.8 4.89-3.34 4.89-5.14s-1.29-3.47-2.7-4.76a11.3 11.3 0 01-3.86-9c0-6.69 4.37-12.6 12-12.6s12 5.79 12 12.6a12.13 12.13 0 01-3.86 9c-1.41 1.41-2.7 3-2.7 4.76s.51 3.34 4.89 5.14a41.53 41.53 0 017.78 3.91 7.28 7.28 0 00.26-2.23V27.81c.14-4.25-3.58-7.81-8.17-7.81zM47.61 33.35a2.85 2.85 0 01-2.76 2.75H30.78A2.85 2.85 0 0128 33.35V30.6a2.85 2.85 0 012.76-2.75h14.09a2.85 2.85 0 012.76 2.75z","fill-rule":"evenodd"}},service_territory:{xmlns:"http://www.w3.org/2000/svg",path:[{d:"M56.63 62.11a7.39 7.39 0 01-7.42-7.22 7.27 7.27 0 017.42-7.22 7.22 7.22 0 110 14.43z","fill-rule":"evenodd"},{d:"M71.83 20H28.3a8.11 8.11 0 00-8.3 7.81v44.38A8.08 8.08 0 0028.16 80h24.41C47.5 75.48 39 66.22 39 56.46a17.32 17.32 0 0134.65 0c0 9.82-8.55 19-13.61 23.54h11.79A8.08 8.08 0 0080 72.19V27.81c.14-4.25-3.58-7.81-8.17-7.81zM47.61 33.35a2.85 2.85 0 01-2.76 2.75H30.78A2.85 2.85 0 0128 33.35V30.6a2.85 2.85 0 012.76-2.75h14.09a2.85 2.85 0 012.76 2.75z","fill-rule":"evenodd"}]},service_territory_location:{xmlns:"http://www.w3.org/2000/svg",path:[{d:"M66.3 59.5c-2.2 0-3.9-1.7-4-3.9 0-2.2 1.8-3.9 4-3.9s3.9 1.7 4 3.9c0 2.1-1.8 3.9-4 3.9zM47.4 59.5c-2.2 0-3.9-1.7-4-3.9 0-2.2 1.8-3.9 4-3.9s3.9 1.7 4 3.9c-.1 2.1-1.8 3.8-4 3.9zM56.8 59.5c-2.2 0-3.9-1.7-4-3.9 0-2.2 1.8-3.9 4-3.9s3.9 1.7 4 3.9c0 2.1-1.8 3.9-4 3.9z"},{d:"M71.6 20.2H28.1c-4.4-.1-8.1 3.4-8.3 7.8v44.4c.2 4.4 3.8 7.9 8.2 7.8h24.4c-5.1-4.5-13.5-13.8-13.5-23.5 0-9.6 7.7-17.3 17.3-17.3 9.6 0 17.3 7.7 17.3 17.3 0 9.8-8.5 19-13.6 23.5h11.8c4.4 0 8-3.4 8.2-7.8V28c0-4.3-3.8-7.8-8.3-7.8zM47.3 33.5c-.1 1.5-1.3 2.7-2.8 2.8H30.4c-1.5 0-2.8-1.3-2.8-2.8v-2.8c.1-1.5 1.3-2.7 2.8-2.8h14.1c1.5 0 2.8 1.3 2.8 2.8v2.8z"}]},service_territory_member:{xmlns:"http://www.w3.org/2000/svg",path:[{d:"M42.74 42.28A7.12 7.12 0 0150 35.2a7.08 7.08 0 11-7.28 7.08z","fill-rule":"evenodd"},{d:"M49.91 20a25.4 25.4 0 1025.18 25.5c0-13.79-11.24-25.5-25.18-25.5zm1 43.89a1.44 1.44 0 01-1.89 0c-3.15-2.36-13.56-11.65-13.56-21.56a14.51 14.51 0 0129 0c.02 9.92-10.39 19.05-13.54 21.56z","fill-rule":"evenodd"},{d:"M26 64.21h-1.27A4.75 4.75 0 0020 68.95v6.31A4.74 4.74 0 0024.73 80h50.54A4.75 4.75 0 0080 75.26v-6.31a4.74 4.74 0 00-4.73-4.74h-1.54a30.15 30.15 0 01-47.72 0z","fill-rule":"evenodd"}]},service_territory_policy:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M39.79 20H26.61A6.36 6.36 0 0020 26.11v10.14a6.37 6.37 0 006.59 6.09h13.2a6.36 6.36 0 006.58-6.09V26.11A6.35 6.35 0 0039.79 20zm-5.5 16.23H32.1a5.29 5.29 0 01-5.49-5.08 5.28 5.28 0 015.49-5.06h2.19a5.29 5.29 0 015.5 5.06 5.3 5.3 0 01-5.5 5.1zM59.54 42.34h13.18a6.37 6.37 0 006.59-6.09V26.11A6.36 6.36 0 0072.72 20H59.54A6.35 6.35 0 0053 26.11v10.14a6.35 6.35 0 006.54 6.09zM65 26.11h2.2a5.28 5.28 0 015.49 5.06 5.29 5.29 0 01-5.49 5.08H65a5.3 5.3 0 01-5.49-5.08A5.28 5.28 0 0165 26.11zM39.79 48.42H26.61A6.35 6.35 0 0020 54.51v10.13a6.35 6.35 0 006.59 6.09h13.2a6.35 6.35 0 006.58-6.09V54.51a6.35 6.35 0 00-6.58-6.09zm-5.5 16.22H32.1a4.51 4.51 0 01-.9 0 5.08 5.08 0 11.9-10.13h2.19a4.51 4.51 0 01.9 0 5.08 5.08 0 11-.9 10.13zM66.47 48.42C59 48.42 53 54 53 61c0 8.68 9.67 16.62 12.66 18.72a1.46 1.46 0 001.77 0C70.43 77.55 80 69.72 80 61c0-7-6-12.58-13.53-12.58zm0 17.73a5.27 5.27 0 115.69-5.25 5.5 5.5 0 01-5.69 5.25z"}},settings:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M50.1 41.3c-4.9 0-8.8 3.9-8.8 8.8s3.9 8.8 8.8 8.8 8.8-3.9 8.8-8.8-3.9-8.8-8.8-8.8zM76.4 58l-4.6-3.9c.3-1.4.4-2.9.4-4.3s-.1-2.9-.4-4.3l4.6-3.9c1.5-1.3 2-3.5 1-5.3l-2-3.5c-.8-1.3-2.1-2-3.6-2-.5 0-1 .1-1.4.3l-5.8 2.1c-2.3-2-4.8-3.4-7.4-4.3l-1-5.9c-.4-2-2.1-3.1-4.1-3.1h-4c-2 0-3.8 1.1-4.1 3.1l-1 5.8c-2.8.9-5.3 2.4-7.5 4.3L29.6 31c-.5-.1-.9-.3-1.4-.3-1.5 0-2.9.8-3.6 2l-2 3.5c-1 1.8-.6 4 1 5.3l4.6 3.9c-.3 1.4-.4 2.9-.4 4.3 0 1.5.1 2.9.4 4.3l-4.6 3.9c-1.5 1.3-2 3.5-1 5.3l2 3.5c.8 1.3 2.1 2 3.6 2 .5 0 1-.1 1.4-.3l5.8-2.1c2.3 2 4.8 3.4 7.4 4.3l1 6c.4 2 2 3.4 4.1 3.4h4c2 0 3.8-1.5 4.1-3.5l1-6c2.9-1 5.5-2.5 7.8-4.6l5.4 2.1c.5.1 1 .3 1.5.3 1.5 0 2.9-.8 3.6-2l1.9-3.3c1.2-1.5.7-3.7-.8-5zm-26.3 5.9c-7.7 0-13.8-6.2-13.8-13.8s6.2-13.8 13.8-13.8 13.8 6.2 13.8 13.8-6.2 13.8-13.8 13.8z"}},shift:{xmlns:"http://www.w3.org/2000/svg",g:{path:[{d:"M72 26h-5v-2c0-2.2-1.8-4-4-4s-4 1.8-4 4v2H41v-2c0-2.2-1.8-4-4-4s-4 1.8-4 4v2h-5c-3.3 0-6 2.7-6 6v2c0 1.1.9 2 2 2h52c1.1 0 2-.9 2-2v-2c0-3.3-2.7-6-6-6zM76 42H24c-1.1 0-2 .9-2 2v30c0 3.3 2.7 6 6 6h44c3.3 0 6-2.7 6-6V44c0-1.1-.9-2-2-2zM50 75.9c-8.2 0-14.9-6.7-14.9-14.9S41.8 46.1 50 46.1 64.9 52.8 64.9 61 58.2 75.9 50 75.9z"},{d:"M47.7 67.1c-.4 0-.7-.2-1-.4l-5-5c-.2-.2-.2-.6 0-.9l1.1-1.1c.2-.2.6-.2.9 0l4 4 8.5-8.5c.2-.2.6-.2.9 0l1.1 1.1c.2.2.2.6 0 .9l-9.6 9.6c-.2.1-.5.3-.9.3z"}]}},shift_pattern:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M71.74 26h-5v-2a4 4 0 10-8 0v2h-18v-2a4 4 0 00-8 0v2h-5a6 6 0 00-6 6v2a2 2 0 002 2h52a2 2 0 002-2v-2a6 6 0 00-6-6zm4 16a2 2 0 012 2v30a6 6 0 01-6 6h-44a6 6 0 01-6-6V44a2 2 0 012-2h52zm-13.5 27.32H50.5a1.17 1.17 0 00-1.17 1.16v3.32A1.18 1.18 0 0050.5 75h11.74a1.17 1.17 0 001.16-1.2v-3.32a1.16 1.16 0 00-1.16-1.16zm0-13.49H36.66A1.17 1.17 0 0035.5 57v7.9a1.16 1.16 0 001.16 1.16h25.58a1.16 1.16 0 001.16-1.16V57a1.17 1.17 0 00-1.16-1.17zM48.4 47H36.66a1.16 1.16 0 00-1.16 1.16v3.32a1.17 1.17 0 001.16 1.16H48.4a1.18 1.18 0 001.17-1.16v-3.32A1.17 1.17 0 0048.4 47z"}},shift_pattern_entry:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M51.75 20a2 2 0 012 2v14A4.86 4.86 0 0059 41.25h14a2 2 0 012 2V74a6.08 6.08 0 01-6 6H31a6.08 6.08 0 01-6-6V26a6.08 6.08 0 016-6h20.75zm11 48.32H51a1.17 1.17 0 00-1.17 1.16v3.32A1.18 1.18 0 0051 74h11.74a1.17 1.17 0 001.16-1.2v-3.32a1.16 1.16 0 00-1.16-1.16zm0-13.49H37.16A1.17 1.17 0 0036 56v7.9a1.16 1.16 0 001.16 1.16h25.58a1.16 1.16 0 001.16-1.16V56a1.17 1.17 0 00-1.16-1.17zM48.9 46H37.16A1.16 1.16 0 0036 47.16v3.32a1.17 1.17 0 001.16 1.16H48.9a1.18 1.18 0 001.17-1.16v-3.32A1.17 1.17 0 0048.9 46zm11.35-26a1.74 1.74 0 011.13.38l13.24 13.24a1.74 1.74 0 01.38 1.13 1.5 1.5 0 01-1.38 1.5H63A4.38 4.38 0 0158.75 32V21.38a1.5 1.5 0 011.5-1.38z"}},shift_preference:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M72 26h-5v-2a4 4 0 00-8 0v2H41v-2a4 4 0 00-8 0v2h-5a6 6 0 00-6 6v2a2 2 0 002 2h52a2 2 0 002-2v-2a6 6 0 00-6-6zm4 16H24a2 2 0 00-2 2v30a6 6 0 006 6h44a6 6 0 006-6V44a2 2 0 00-2-2zM50 75.9A14.9 14.9 0 1164.9 61 14.94 14.94 0 0150 75.9zm-6.8-8.7a1.71 1.71 0 01-1.9 1.6h-1.2a.67.67 0 01-.7-.6V59c0-.4.3-.6.7-.6h2.4a.67.67 0 01.7.6zm17.2-1.8c0 3.5-3.3 3.8-6.9 3.8-3.3 0-4.5-1.1-7.7-1.2a.65.65 0 01-.6-.6v-8c0-.4.3-.6.7-.6a4.18 4.18 0 004-4.2v-2.4c0-.4.3-.6.7-.6h1.2a1.71 1.71 0 011.9 1.6v4.1a1.71 1.71 0 001.9 1.6h2.8a1.78 1.78 0 011.9 1.6z"}},shift_scheduling_operation:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M76 42a2 2 0 012 2v30a6 6 0 01-6 6H28a6 6 0 01-6-6V44a2 2 0 012-2zm-26 4a15 15 0 1015 15 15 15 0 00-15-15zm2.87 7.17l5.38 5.25a.75.75 0 010 .9l-5.38 5.19c-.38.39-.9.06-.9-.59v-3.11a6.17 6.17 0 00-6.48 5.86 5.3 5.3 0 000 .69H41.6a10.28 10.28 0 0110.13-10.43H52v-3.18c0-.65.55-.97.87-.58zM63 20a4 4 0 014 4v2h5a6 6 0 016 6v2a2 2 0 01-2 2H24a2 2 0 01-2-2v-2a6 6 0 016-6h5v-2a4 4 0 018 0v2h18v-2a4 4 0 014-4z"}},shift_template:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M72 26h-5v-2a4 4 0 00-8 0v2H41v-2a4 4 0 00-8 0v2h-5a6 6 0 00-6 6v2a2 2 0 002 2h52a2 2 0 002-2v-2a6 6 0 00-6-6zm4 16H24a2 2 0 00-2 2v30a6 6 0 006 6h44a6 6 0 006-6V44a2 2 0 00-2-2zM45.3 74.1a1.09 1.09 0 01-1.1 1H37a1.09 1.09 0 01-1-1.1V59.9a1.09 1.09 0 011.1-1h7.3a1.09 1.09 0 011 1.1l-.1 14.1zm19.9.2a1.09 1.09 0 01-1.1 1H50.7a1.09 1.09 0 01-1-1.1V59.9a1.09 1.09 0 011.1-1h13.5a1.09 1.09 0 011 1.1l-.1 14.3zm.2-20.6a1.09 1.09 0 01-1.1 1H37a1.09 1.09 0 01-1-1.1v-6.3a1.09 1.09 0 011.1-1h27.2a1.09 1.09 0 011 1.1c.1 0 .1 6.3.1 6.3z"}},shift_type:{xmlns:"http://www.w3.org/2000/svg",g:{path:{d:"M72 26h-5v-2c0-2.2-1.8-4-4-4s-4 1.8-4 4v2H41v-2c0-2.2-1.8-4-4-4s-4 1.8-4 4v2h-5c-3.3 0-6 2.7-6 6v2c0 1.1.9 2 2 2h52c1.1 0 2-.9 2-2v-2c0-3.3-2.7-6-6-6zM76 42H24c-1.1 0-2 .9-2 2v30c0 3.3 2.7 6 6 6h44c3.3 0 6-2.7 6-6V44c0-1.1-.9-2-2-2zM42.3 59.9c0-.6.5-1.1 1.1-1.1h19.4c.6 0 1.1.5 1.1 1.1v2.2c0 .6-.5 1.1-1.1 1.1H43.4c-.6 0-1.1-.5-1.1-1.1v-2.2zM37.8 72c.1.6-.4 1.1-1 1.1H34.5c-.6 0-1.1-.5-1.1-1.1v-2.2c0-.6.5-1.1 1.1-1.1h2.2c.6 0 1.1.5 1.1 1.1V72zm0-9.9c.1.6-.4 1.1-1 1.1H34.5c-.6 0-1.1-.5-1.1-1.1v-2.2c0-.6.5-1.1 1.1-1.1h2.2c.6 0 1.1.5 1.1 1.1v2.2zm0-9.9c.1.6-.4 1.1-1 1.1H34.5c-.6 0-1.1-.5-1.1-1.1V50c0-.6.5-1.1 1.1-1.1h2.2c.6 0 1.1.5 1.1 1.1v2.2zM66.6 72c0 .6-.5 1.1-1.1 1.1H43.4c-.6 0-1.1-.5-1.1-1.1v-2.2c0-.6.5-1.1 1.1-1.1h22.1c.6 0 1.1.5 1.1 1.1V72zm0-19.8c0 .6-.5 1.1-1.1 1.1H43.4c-.6 0-1.1-.5-1.1-1.1V50c0-.6.5-1.1 1.1-1.1h22.1c.6 0 1.1.5 1.1 1.1v2.2z"}}},shipment:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M53 53.6V78c0 .6.4 1 1 1 .2 0 .4 0 .5-.1 4.8-2.7 19.4-11 19.4-11 1.9-1.1 3.1-3.1 3.1-5.3V40.7c0-.6-.4-1-1-1-.2 0-.4 0-.5.1L54 51.9c-.6.3-1 1-1 1.7zm-2-6.8l21.6-12.1c.5-.3.6-.9.3-1.4l-.3-.3c-4.8-2.7-19.5-11.1-19.5-11.1-1.9-1.1-4.3-1.1-6.2 0 0 0-14.7 8.3-19.5 11.1-.5.3-.6.9-.3 1.4l.3.3L49 46.8c.6.3 1.4.3 2 0zm-5 5.1L24.5 39.8c-.5-.3-1.1-.1-1.4.4-.1.1-.1.3-.1.5v21.8c0 2.2 1.2 4.2 3.1 5.3 0 0 14.6 8.3 19.4 11 .5.3 1.1.1 1.4-.4.1-.2.1-.4.1-.5V53.6c0-.7-.4-1.4-1-1.7z"}},skill:{xmlns:"http://www.w3.org/2000/svg",path:[{d:"M43.84 46.76a5.35 5.35 0 115.46-5.34 5.41 5.41 0 01-5.46 5.34z","fill-rule":"evenodd"},{d:"M77.33 55.7l-7.27-10.8V44a24 24 0 00-23.87-24 22 22 0 00-5.67.7A23.89 23.89 0 0022.31 44a21.92 21.92 0 003.58 12.7c4.18 6 7 10.8 5.27 17.3a4.58 4.58 0 00.9 4.2 4.43 4.43 0 003.68 1.8h19.6A4.72 4.72 0 0060 76.2a5 5 0 00.2-1.2 2.37 2.37 0 012.39-2H64a4.72 4.72 0 004.68-3.4 41.31 41.31 0 001.48-9.6h5.17a2.78 2.78 0 002.19-1.6 2.86 2.86 0 00-.19-2.7zm-19.84-8.37l-1 1.57a2.22 2.22 0 01-1.76.94 2.38 2.38 0 01-.72-.16l-2.65-1a11.64 11.64 0 01-3.85 2.2l-.48 2.91a2 2 0 01-2 1.65h-2a2 2 0 01-2-1.65l-.48-2.91a10 10 0 01-3.69-2l-2.81 1a2.38 2.38 0 01-.72.16 2.1 2.1 0 01-1.76-1l-1-1.65a1.94 1.94 0 01.48-2.51l2.33-1.89a10.11 10.11 0 01-.24-2.12 9.41 9.41 0 01.24-2l-2.28-1.99a1.92 1.92 0 01-.48-2.51l1-1.65a2 2 0 011.76-1 2.38 2.38 0 01.72.16l2.81 1a11.52 11.52 0 013.69-2.12L41 28a1.91 1.91 0 012-1.57h2a1.92 1.92 0 012 1.49l.48 2.83a11.31 11.31 0 013.69 2l2.81-1a2.38 2.38 0 01.72-.16 2.1 2.1 0 011.76 1l1 1.65A2 2 0 0157 36.8l-2.33 1.89a9.56 9.56 0 01.24 2.12 9.41 9.41 0 01-.24 2L57 44.74a2 2 0 01.49 2.59z","fill-rule":"evenodd"}]},skill_entity:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M77.3 55.7L70 44.9V44c0-13.2-10.8-24-24-24-1.9 0-3.8.2-5.7.7C29.7 23.1 22 32.9 22 44c0 4.9 1.2 9.3 3.6 12.7 4.2 6 7 10.8 5.3 17.3-.4 1.5-.1 3 .9 4.2.9 1.2 2.2 1.8 3.7 1.8h19.7c2.3 0 4.3-1.6 4.7-3.8.1-.4.2-.8.2-1.2.2-1.2 1.2-2 2.4-2h1.4c2.2 0 4.1-1.3 4.7-3.4.6-2.3 1.4-5.6 1.5-9.6h5.2c.9 0 1.8-.8 2.2-1.6.4-.8.3-2.1-.2-2.7zM61.4 42c-.8 1.3-2.4 2-4.7 2-12.3 0-13.2 9-13.2 13.3 0 2-1.6 3.7-3.6 3.7h-.3c-1.7 0-3.1-1.2-3.5-2.9-.4-1.8-1.6-2.8-2.8-3.7-.8-.6-1.6-1.2-2-2.1-1.1-2.3-2.2-5-2.2-8.4 0-7.8 5.4-14.6 12.7-16.3 1.4-.3 2.7-.5 4.1-.5 6.8 0 12.9 4.1 15.5 10.3.1.3 1.2 2.7 0 4.6z"}},skill_requirement:{xmlns:"http://www.w3.org/2000/svg",path:[{d:"M50.08 57.86a6.77 6.77 0 116.63-6.77 6.71 6.71 0 01-6.63 6.77z","fill-rule":"evenodd"},{d:"M80.79 46.64h-5.57V26.7a6.8 6.8 0 00-6.69-6.7H31.47a6.8 6.8 0 00-6.69 6.71v19.93h-5.57a3.36 3.36 0 000 6.71h5.57V73.3a6.8 6.8 0 006.69 6.7h37.06a6.8 6.8 0 006.69-6.71V53.36h5.57a3.36 3.36 0 000-6.71zm-14.07 12.8l-1.17 2a2.67 2.67 0 01-2.15 1.19 2.8 2.8 0 01-.88-.2l-3.22-1.29a14 14 0 01-4.68 2.79L54 67.6a2.52 2.52 0 01-2.44 2.09h-2.4a2.52 2.52 0 01-2.44-2.09l-.59-3.68a12.07 12.07 0 01-4.49-2.59l-3.41 1.29a2.8 2.8 0 01-.88.2 2.53 2.53 0 01-2.15-1.29L34 59.44a2.52 2.52 0 01.59-3.19l2.83-2.39a13.32 13.32 0 01-.29-2.69 12.39 12.39 0 01.29-2.59l-2.79-2.38A2.5 2.5 0 0134 43l1.17-2.09a2.42 2.42 0 012.15-1.29 2.8 2.8 0 01.88.2l3.41 1.29a13.88 13.88 0 014.49-2.69l.62-3.42a2.34 2.34 0 012.44-2h2.44a2.35 2.35 0 012.4 1.85l.59 3.58A13.6 13.6 0 0159.11 41l3.41-1.29a2.8 2.8 0 01.88-.2 2.53 2.53 0 012.15 1.29l1.17 2.09a2.65 2.65 0 01-.59 3.19l-2.83 2.39a12.59 12.59 0 01.29 2.69 12.39 12.39 0 01-.29 2.59l2.83 2.39a2.63 2.63 0 01.59 3.3z","fill-rule":"evenodd"}]},slider:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M71.25 46.38h6.25a2.5 2.5 0 012.5 2.5v2.5a2.51 2.51 0 01-2.5 2.5h-6.25a1 1 0 01-1-1.26 10 10 0 00.37-2.5 11.87 11.87 0 00-.37-2.62c-.13-.75.37-1.25 1-1.12zM31 68.75h-8.5a2.51 2.51 0 00-2.5 2.5v2.5a2.51 2.51 0 002.5 2.5H31a7.5 7.5 0 100-7.5zM50.25 70a11.87 11.87 0 01.37 2.62 10 10 0 01-.37 2.5 1 1 0 001 1.26H77.5a2.51 2.51 0 002.5-2.5v-2.5a2.5 2.5 0 00-2.5-2.5H51.25c-.75-.13-1.13.37-1 1.12zm5-45a11.87 11.87 0 01.37 2.62 10 10 0 01-.37 2.5 1 1 0 001 1.26H77.5a2.51 2.51 0 002.5-2.5v-2.5a2.5 2.5 0 00-2.5-2.5H56.25c-.63-.13-1.13.37-1 1.12zM36 23.75H22.5a2.51 2.51 0 00-2.5 2.5v2.5a2.51 2.51 0 002.5 2.5H36a7.5 7.5 0 100-7.5zm15 22.5H22.5a2.51 2.51 0 00-2.5 2.5v2.5a2.51 2.51 0 002.5 2.5H51a7.5 7.5 0 100-7.5z"}},sms:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M49.1 21.5c-16.9 0-30.3 12.4-30.3 27.8 0 4.8 1.4 9.4 3.7 13.5.4.6.5 1.4.3 2.2l-3.9 10.8c-.4 1 .6 1.9 1.7 1.7l10.9-4.2c.6-.3 1.4-.1 2.2.3 4.6 2.5 10 4.1 15.9 4.1 16.4-.3 30-12.8 30-28.1-.1-15.7-13.7-28.1-30.5-28.1zM36.9 54c-.4.6-.8 1.3-1.3 1.7-.5.4-1.1.8-1.9 1-.6.3-1.4.3-2.2.3-1 0-1.9-.1-2.8-.5-.9-.4-1.8-.9-2.4-1.7l-.3-.3c-.1-.1 0-.4.3-.6l2-1.9c.3-.3.5-.3.6-.1.1.1.3.4.3.4.3.4.6.6 1 .9.6.4 1.3.4 2 .3.3 0 .4-.1.6-.3l.4-.4c.1-.1.1-.4.1-.5 0-.5-.1-.6-.3-.8-.3-.3-.6-.5-1.1-.6-.5-.1-1-.4-1.7-.5-.6-.3-1.3-.5-1.8-.8-.6-.4-1-.9-1.4-1.4-.4-.6-.6-1.4-.6-2.4 0-.9.1-1.7.5-2.3s.8-1.1 1.4-1.5c.5-.4 1.1-.8 1.9-.9 1.5-.4 3-.4 4.6.1.8.3 1.5.8 1.9 1l.4.3c.3.1.1.5-.1.8l-1.9 1.9c-.3.3-.6.3-.9 0-.3-.1-.4-.4-.5-.4-.6-.4-1.5-.5-2.3-.4-.3 0-.4.1-.5.3l-.2.3c-.1.1-.1.3-.1.5 0 .4.1.5.3.6.3.3.6.4 1.1.6.5.1 1 .4 1.7.5.6.3 1.3.5 1.8.8.6.4 1 .9 1.4 1.4.4.6.6 1.4.6 2.4-.1.8-.2 1.6-.6 2.2zM58 55.8c0 .8-.6 1.3-1.4 1.3h-1.3c-.8 0-1.1-.5-1.1-1.3v-7.5c0-.8-1-.9-1.3-.3l-2.2 5.7c-.1.5-.6.8-1.1.8h-.9c-.5 0-1-.4-1.1-.8L45.3 48c-.3-.6-1.3-.5-1.3.3v7.5c0 .8-.6 1.3-1.4 1.3h-1.3c-.8 0-1.1-.5-1.1-1.3v-14c0-.8.5-1.3 1.1-1.3h3.3c.5 0 1 .4 1.1.8l2.5 6.6c.3.5 1 .5 1.1 0l2.5-6.6c.1-.5.6-.8 1.1-.8h3.4c.8 0 1.4.5 1.4 1.3.3 0 .3 14 .3 14zm13.3-1.7c-.4.6-.8 1.3-1.4 1.7-.5.4-1.1.8-1.9 1-.8.3-1.4.3-2.2.3-1 0-1.9-.1-2.8-.5s-1.8-.9-2.4-1.7l-.3-.3c-.1-.1 0-.4.3-.6l2-1.9c.3-.3.5-.3.6-.1s.3.4.3.4c.3.4.6.6 1 .9.6.4 1.4.4 2 .3.3-.1.5-.1.6-.3l.4-.4s.1-.4.1-.5c0-.5-.1-.6-.3-.8-.3-.3-.6-.5-1.1-.6-.5-.1-1-.4-1.7-.5-.6-.3-1.3-.5-1.8-.8-.6-.4-1.1-.9-1.5-1.4-.4-.6-.6-1.4-.6-2.4 0-.9.1-1.7.5-2.3.4-.6.8-1.1 1.4-1.5.5-.4 1.3-.8 1.9-.9 1.5-.4 3-.4 4.6.1.8.3 1.5.8 1.9 1.1l.4.4c.3.1.1.5-.1.8l-1.9 1.9c-.3.3-.6.3-.9 0-.3-.1-.4-.4-.5-.4-.6-.4-1.5-.5-2.3-.4-.3 0-.4.1-.5.3l-.4.4c-.1.1-.1.4-.1.5 0 .4.1.5.3.6.3.3.6.4 1.1.6.5.1 1 .4 1.7.5.6.3 1.3.5 1.8.8.6.4 1 .9 1.5 1.4.4.6.6 1.4.6 2.4.3.4.1 1.3-.3 1.9z"}},snippet:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M74.1 23.9c-12.1 0-21.3 9.4-21.3 21.4v28.8c0 1.1.9 2 2 2h22.8c1.1 0 2-.9 2-2V51.3c0-1.1-.9-2-2-2H60.8v-4c0-6.7 6.6-13.4 13.3-13.4h3.5c1.1 0 2-.9 2-2v-4c0-1.1-.9-2-2-2h-3.5zm-33.3 0c-12.1 0-21.3 9.4-21.3 21.4v28.8c0 1.1.9 2 2 2h22.8c1.1 0 2-.9 2-2V51.3c0-1.1-.9-2-2-2H27.6v-4c0-6.7 6.6-13.4 13.3-13.4h3.5c1.1 0 2-.9 2-2v-4c0-1.1-.9-2-2-2h-3.6z"}},snippets:{xmlns:"http://www.w3.org/2000/svg",g:{path:[{d:"M71.8 25.2h-2c-.6 0-1 .4-1 1v4c0 4.4-3.6 7.9-7.9 7.9H39.1c-4.4 0-7.9-3.6-7.9-7.9v-4c0-.6-.4-1-1-1h-2c-3.3 0-5.9 2.7-5.9 5.9v42.6c0 3.3 2.7 5.9 5.9 5.9h43.6c3.3 0 5.9-2.7 5.9-5.9V31.2c.1-3.3-2.6-6-5.9-6zM44.3 48s0 .8-.6.9c-.8.2-1.1.4-1.2.4-.3.3-.4.8-.4 1.7v3.1c0 1.1-.2 2-.5 2.7-.2.5-.6 1-1 1.4 0 0-.7.5 0 1.3.3.2.5.5.7.8.5.8.8 1.8.8 3.1V67c0 .8.2 1.3.5 1.6.1.1.3.2.6.3.1 0 .2.1.3.1.3.2.7.5.7 1.2v2c0 .2-.2.5-.8.5h-.9c-1.4 0-2.7-.5-3.8-1.3-1.2-.9-1.8-2.2-1.8-3.8v-4.3c0-.9-.3-1.6-.8-2.1-.3-.3-.8-.5-1.5-.7-.1 0-.5-.2-.5-.8v-1.6c0-.2.1-.5.5-.7 1-.3 1.4-.6 1.6-.8.5-.5.7-1.3.7-2.3v-3.6c0-.5.1-1.1.3-1.7.3-1 .9-1.9 1.6-2.5.7-.5 1.5-.9 2.4-1.1.5-.1 1.2-.2 2.1-.2.3 0 .9.2.9.9V48h.1zm21.5 11.9c0 .2-.1.5-.5.7-1 .3-1.4.6-1.6.8-.5.5-.7 1.3-.7 2.3v3.6c0 .5-.1 1.1-.3 1.7-.3 1-.9 1.9-1.6 2.5-.7.5-1.5.9-2.4 1.1-.5.1-1.2.2-2.1.2-.3 0-.9-.2-.9-.9V70s0-.8.6-.9c.8-.2 1.1-.4 1.2-.4.3-.3.4-.8.4-1.7v-3.1c0-1.1.2-2 .5-2.7.2-.5.6-1 1-1.4 0 0 .7-.5 0-1.3-.3-.2-.5-.5-.7-.8-.5-.8-.8-1.8-.8-3.1v-3.4c0-.8-.2-1.3-.5-1.6-.1-.1-.3-.2-.6-.3-.1 0-.2-.1-.3-.1-.3-.2-.7-.5-.7-1.2v-2.2c0-.2.2-.5.8-.5h.9c1.4 0 2.7.5 3.8 1.3 1.2.9 1.8 2.2 1.8 3.8v4.3c0 .9.3 1.6.8 2.1.3.3.8.5 1.5.7.1 0 .5.2.5.8v1.6h-.1z"},{d:"M39.1 32.2h21.8c1.1 0 2-.9 2-2v-4c0-3.3-2.7-5.9-5.9-5.9H43.1c-3.3 0-5.9 2.7-5.9 5.9v4c-.1 1.1.8 2 1.9 2z"}]}},sobject:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M25.1 22.6h5.1c-6 13.4-6 23.4 0 36.8h-5.1c-6.9-15.4-6.9-21.4 0-36.8zM47.1 45.5c.5 2.3.8 4.1 1.1 4.9.4 1.1 1 2 1.8 2.7 1.9-1.5 4.3-2.3 6.8-2.3 1.6 0 3.1.4 4.6 1 .2-.3.3-.7.3-1.1 0-1.2-1-2.2-2.2-2.2-.4 0-.7.1-1 .2 0 0-2.4 1.4-3.2.3-.6-1.1-1.1-2.6-1.5-4.5-.3-1.6-.8-3.6-1.1-5.4l2.4-3.5s2.7 1 4.1 1 4.2-1.1 4.2-4.8c0-3.7-2.7-3.9-3.5-3.9-1.6 0-3.2 1.2-4.6 3.6-1.4 2.5-3 5.2-3 5.2h-.1c-.4-1.8-.6-3.2-.8-3.8-.3-1.5-2.1-4.8-5.7-4.8-3.7 0-7 2.1-7 2.1-.6.4-1 1.1-1 1.9 0 1.2 1 2.2 2.2 2.2.4 0 .7-.1 1-.2 0 0 2.8-1.6 3.4 0 .2.5.3 1 .5 1.5.7 2.4 1.4 5.2 1.9 7.8l-2.4 3.5s-2.7-1-4.1-1c-1.4 0-4.2 1.1-4.2 4.8 0 3.7 2.7 3.9 3.5 3.9 1.6 0 3.2-1.2 4.6-3.6 1.4-2.8 3-5.5 3-5.5zM72 53.5c.1.1.1.1.2.1.4 0 .7-.1 1.1-.1 1.3 0 2.5.2 3.6.6 4.6-11.8 3.9-18.1-2.2-31.6h-5.1c5.2 11.5 5.9 20.4 2.4 31zM61.7 58.1c1-1 2.4-1.7 4-1.7 2.1 0 3.9 1.1 4.9 2.8.8-.3 1.8-.6 2.8-.6 3.7 0 6.8 3.1 6.8 6.7 0 3.7-3.1 6.7-6.8 6.7-.4 0-.9 0-1.3-.1-.8 1.5-2.5 2.5-4.3 2.5-.8 0-1.5-.2-2.2-.5-.9 2-2.9 3.4-5.2 3.4-2.5 0-4.5-1.5-5.3-3.6-.3 0-.7.1-1.1.1-2.9 0-5.3-2.3-5.3-5.2 0-1.9 1-3.6 2.6-4.5-.3-.7-.5-1.5-.5-2.4 0-3.3 2.8-6 6.1-6 1.9 0 3.7.9 4.8 2.4z"}},sobject_collection:{xmlns:"http://www.w3.org/2000/svg",path:[{d:"M34.6 36.5c-4.3 9.5-4.3 13.3 0 22.9h3.2C34 51 34 44.8 37.7 36.5h-3.1zM64.1 54.6c.6-.1 1.3-.2 1.9-.2.5 0 .9 0 1.4.1 2.2-6.4 1.6-10.3-1.9-18.1h-3.2c3 6.7 3.6 12.1 1.8 18.2z"},{d:"M45.6 66h-18c-1.4 0-2.5-1.1-2.5-2.5V30.2h49.8v26.5c1.9.2 3.6.9 5.1 1.8V25.1c0-2.8-2.3-5.1-5.1-5.1H25.1c-2.8 0-5.1 2.3-5.1 5.1V66c0 2.8 2.3 5.1 5.1 5.1h18.8c.1-1.9.7-3.6 1.7-5.1z"},{d:"M62 61.1c1-1 2.4-1.7 4-1.7 2.1 0 3.9 1.1 4.9 2.8.8-.3 1.8-.6 2.8-.6 3.7 0 6.8 3.1 6.8 6.7 0 3.7-3.1 6.7-6.8 6.7-.4 0-.9 0-1.3-.1-.8 1.5-2.5 2.5-4.3 2.5-.8 0-1.5-.2-2.2-.5-.9 2-2.9 3.4-5.2 3.4-2.5 0-4.5-1.5-5.3-3.6-.3 0-.7.1-1.1.1-2.9 0-5.3-2.3-5.3-5.2 0-1.9 1-3.6 2.6-4.5-.3-.7-.5-1.5-.5-2.4 0-3.3 2.8-6 6.1-6 2 .1 3.7 1 4.8 2.4zM46.5 53.9c.9-1.5 1.9-3.2 1.9-3.2.3 1.4.5 2.5.7 3 .3.9.9 1.6 1.7 2.1 1.8-1.3 4-2 6.4-2h.3c0-.8-.6-1.4-1.4-1.4-.2 0-.4.1-.6.1 0 0-1.5.8-2 .2-.4-.7-.7-1.6-.9-2.8-.2-1-.5-2.2-.7-3.4l1.5-2.2s1.7.6 2.5.6 2.6-.7 2.6-3-1.6-2.4-2.1-2.4c-1 0-2 .7-2.9 2.2-.9 1.5-1.9 3.2-1.9 3.2-.2-1.1-.4-2-.5-2.4-.2-.9-1.3-3-3.5-3-2.3 0-4.3 1.3-4.3 1.3-.4.2-.6.7-.6 1.2 0 .8.6 1.4 1.4 1.4.2 0 .4-.1.6-.1 0 0 1.7-1 2.1 0 .1.3.2.6.3 1 .4 1.5.8 3.2 1.2 4.8l-1.5 2.1s-1.7-.6-2.5-.6-2.6.7-2.6 3 1.6 2.4 2.1 2.4c.9.2 1.9-.6 2.7-2.1z"}]},social:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M70 57c-4.8 0-8.9 3.4-9.8 8H47c-.6 0-1 .5-1 1.1v.9c0 1-.1 1.9-.3 2.8-.1.6.4 1.2 1 1.2h14.1c1.5 3.5 5.1 6 9.2 6 5.5 0 10-4.5 10-10s-4.5-10-10-10zM43.3 45.5c-1.2-.5-2.3-1.2-3.3-2-.5-.4-1.2-.2-1.5.3l-7.1 13.3c-.4-.1-.9-.1-1.4-.1-5.5 0-10 4.5-10 10s4.5 10 10 10 10-4.5 10-10c0-2.9-1.2-5.4-3.1-7.3l6.9-12.8c.2-.5 0-1.1-.5-1.4zM50 41c1 0 1.9-.1 2.8-.4l6.9 12.7c.3.5.9.7 1.4.4 1.1-.7 2.2-1.3 3.4-1.7.6-.2.8-.9.5-1.4l-7.2-13.4c1.3-1.7 2.2-3.9 2.2-6.2 0-5.5-4.5-10-10-10s-10 4.5-10 10 4.5 10 10 10z"}},solution:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M47.6 20.1c-9.8 1.1-17.7 8.8-18.5 18.4-.6 7 2.5 13.4 7.5 17.5 1.5 1.2 2.4 3 2.4 4.9v.1c0 2.8 2.3 5.1 5.2 5.1h11.6c2.9 0 5.2-2.3 5.2-5.1v-.1c0-1.9.9-3.7 2.4-4.9C68 52.2 71 46.6 71 40.3c0-12-10.7-21.5-23.4-20.2zM59 72H41c-1.1 0-2 .9-2 2 0 3.3 2.7 6 6 6h10c3.3 0 6-2.7 6-6 0-1.1-.9-2-2-2z"}},sort:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M50.9 37.7c.7-.7.7-1.9 0-2.6L36.6 20.7c-.7-.7-1.9-.7-2.6 0L19.7 35.1c-.7.7-.7 1.9 0 2.6l2.6 2.6c.7.7 1.9.7 2.6 0l4.5-4.5c.7-.7 2.1-.2 2.1.9v26.4c0 1 .9 1.9 1.9 1.9h3.7c1 0 1.9-1 1.9-1.9V36.7c0-1.1 1.4-1.6 2.1-.9l4.5 4.5c.7.7 1.9.7 2.6 0l2.7-2.6zm27.4 24.9l-2.6-2.5c-.7-.7-1.9-.7-2.6 0l-4.5 4.5c-.7.7-2.1.2-2.1-.9V37.1c0-1-.9-1.9-1.9-1.9h-3.7c-1 0-1.9 1-1.9 1.9v26.4c0 1.1-1.4 1.6-2.1.9l-4.5-4.5c-.7-.7-1.9-.7-2.6 0l-2.6 2.7c-.7.7-.7 1.9 0 2.6l14.3 14.3c.7.7 1.9.7 2.6 0l14.3-14.3c.7-.7.7-2-.1-2.6z"}},sort_policy:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M35.05 20H26a6 6 0 00-6 6v7a6 6 0 006 6h9a6 6 0 006-6v-7a6 6 0 00-5.95-6zm-3.51 13h-2a3.5 3.5 0 010-7h2a3.5 3.5 0 010 7zM53.15 39h9a6 6 0 006-6v-7a6 6 0 00-6-6h-9a6 6 0 00-6 6v7a6 6 0 006 6zm3.48-13h2a3.5 3.5 0 010 7h-2a3.5 3.5 0 110-7zM35.05 45H26a6 6 0 00-6 6v7a6 6 0 006 6h9a6 6 0 006-6v-7a6 6 0 00-5.95-6zm-3.51 13h-2a3.5 3.5 0 110-7h2a3.5 3.5 0 010 7zM79.68 70.59l-1.47-1.39a1 1 0 00-1.41-.06l-.06.06-2.45 2.4a.68.68 0 01-1 0 .63.63 0 01-.2-.48V60a1.08 1.08 0 00-1-1H70a1.11 1.11 0 00-1 1v11.13a.67.67 0 01-.67.67.66.66 0 01-.48-.2l-2.46-2.4a1 1 0 00-1.39-.06v.06l-1.46 1.41a1 1 0 000 1.41l7.85 7.66a1 1 0 001.41.06l.06-.06L79.68 72a1 1 0 000-1.41zM63.06 55.86l.06-.06 1.46-1.41a1 1 0 000-1.41l-7.85-7.67a1 1 0 00-1.41-.06l-.06.06L47.41 53a1 1 0 000 1.41l1.46 1.41a1 1 0 001.41.06l.06-.06 2.46-2.4a.68.68 0 011.15.47V65a1.08 1.08 0 001 1H57a1.13 1.13 0 001-1V53.87a.67.67 0 011.15-.47l2.46 2.4a1 1 0 001.45.06z"}},sossession:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M49.6 18c-17.7.2-31.8 14.8-31.6 32.4.2 17.7 14.8 31.8 32.4 31.6 17.7-.2 31.8-14.8 31.6-32.4-.2-17.7-14.8-31.8-32.4-31.6zm0 4.2c4.8-.1 9.3 1.1 13.2 3.1l-4.3 7.2c-2.6-1.3-5.5-2-8.5-2s-6 .7-8.5 2l-4.3-7.2c3.7-1.9 7.9-3.1 12.4-3.1zM32.5 58.5l-7.2 4.3c-1.9-3.7-3.1-8-3.1-12.5-.1-4.8 1.1-9.3 3.1-13.2l7.2 4.3c-1.3 2.6-2 5.5-2 8.5s.7 6.1 2 8.6zm17.9 19.3c-4.8.1-9.3-1.1-13.2-3.1l4.3-7.2c2.6 1.3 5.5 2 8.5 2s6-.7 8.5-2l4.3 7.2c-3.7 1.9-7.9 3.1-12.4 3.1zM50 65.3c-8.5 0-15.3-6.9-15.3-15.3 0-8.5 6.9-15.3 15.3-15.3 8.5 0 15.3 6.9 15.3 15.3 0 8.5-6.8 15.3-15.3 15.3zm17.5-6.8c1.3-2.6 2-5.5 2-8.5s-.7-6-2-8.5l7.2-4.3c1.9 3.7 3.1 8 3.1 12.5.1 4.8-1.1 9.3-3.1 13.2l-7.2-4.4z"}},stage:{xmlns:"http://www.w3.org/2000/svg",circle:[{cx:"75.9",cy:"50",r:"4.2"},{cx:"49.8",cy:"50",r:"4.2"},{cx:"24.1",cy:"50",r:"4.2"}],path:{d:"M31.9 50c0 9.9 8.1 18 18 18s18-8.1 18-18-8.1-18-18-18-18 8.1-18 18zm30 0c0 6.6-5.4 12-12 12s-12-5.4-12-12 5.4-12 12-12 12 5.4 12 12z"}},stage_collection:{xmlns:"http://www.w3.org/2000/svg",circle:{cx:"49.8",cy:"50",r:"4.2"},path:{d:"M75.9 45.8c-1.5 0-2.9.8-3.6 2.1h-4.5c-1.1-9-8.7-15.9-17.9-15.9S33.1 38.9 32 47.8h-4.3c-.7-1.2-2.1-2.1-3.6-2.1-2.3 0-4.2 1.9-4.2 4.2s1.9 4.2 4.2 4.2c1.5 0 2.8-.8 3.6-1.9h4.4C33.2 61.1 40.8 68 49.9 68c9.1 0 16.7-6.9 17.8-15.7h4.5c.8 1.2 2.1 1.9 3.6 1.9 2.3 0 4.2-1.9 4.2-4.2s-1.8-4.2-4.1-4.2zM49.9 62c-6.6 0-12-5.4-12-12s5.4-12 12-12 12 5.4 12 12-5.4 12-12 12z"}},steps:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M73 80.3h-8.8v-6H73v6zm0-2.9v-.1.1zm-17.6 2.9h-8.8v-6h8.8v6zm-17.5 0h-8.8v-6h8.8v6zm-11.8-7.4h-6v-8.8h6v8.8zm53.8-2.1h-6V62h6v8.8zM26.1 55.4h-6v-8.8h6v8.8zm53.8-2.1h-6v-8.8h6v8.8zM26.1 37.9h-6v-8.8h6v8.8zm53.8-2.1h-6V27h6v8.8zm-9.1-10.1H62v-6h8.8v6zm-17.5 0h-8.8v-6h8.8v6zm-17.5 0h-8.7v-6h8.8v6z"}},store:{xmlns:"http://www.w3.org/2000/svg",g:{path:{d:"M71.5 54.4h-.3c-2-.2-3.6-.8-5.2-1.9l-.2-.2c-.7-.6-1.4-.3-1.7-.1l-.1.1c-1.9 1.4-4 2.1-6.5 2.1-2.6 0-4.8-.8-6.8-2.3-.7-.5-1.2 0-1.2 0-2 1.6-4.3 2.4-6.9 2.4-2.5 0-4.7-.7-6.6-2.2-.1-.1-.2-.1-.3-.2-.6-.5-1.2 0-1.2 0-1.9 1.5-4 2.3-6.4 2.4 0 0-.8 0-.8.9V74c0 .4.2 1.3 1.4 1.5h23.2c1.2-.2 1.4-1.1 1.4-1.5v-3.6-9.6c.1-.4.3-.8 1.3-.8h11.1c.4.1.8.4.8 1.3v12.5c0 1.4 1 1.6 1.3 1.6h3.5c.3 0 1.3-.2 1.3-1.6V55.7c-.2-1-.7-1.2-1.1-1.3zm-25 14.4v.4c0 .5-.3 1.3-1.5 1.3H34.8c-1.1 0-1.4-.5-1.5-1V69v-7.1c0-1.8 1-1.9 1.4-1.9h10.6c.4 0 1.2.3 1.2 1.6v7.2zM70.4 49.4c2.7.7 5.1.2 7.1-1.7 1.3-1.2 2.1-2.7 2.3-4.4v-.2c-.2-.6-.5-1.3-.7-1.7-3-5.4-5.9-10.8-8.8-16.2-.4-.7-1.2-.7-1.5-.7h-38s-1.1 0-1.5.7c-3 5.4-5.9 10.9-8.8 16.2-.2.4-.5 1.1-.5 1.8v.2c.2 1.7 1 3.2 2.3 4.4 2.2 2 4.8 2.5 7.7 1.5 1.6-.6 2.8-1.6 3.8-3.1.1-.1.2-.3.4-.4.6-.4 1.4-.3 1.9.4.5.8 1.1 1.5 1.9 2 2.1 1.6 4.5 1.9 7 1.1 1.6-.5 2.9-1.6 3.8-3.1.5-.8 1.7-.9 2.3 0l.6.9c1.3 1.5 2.9 2.4 4.8 2.6 1.8.2 3.5-.2 5.1-1.3.9-.6 1.6-1.4 2.1-2.2.6-.8 1.7-.8 2.2 0 1 1.6 2.3 2.6 4.1 3.1l.4.1z"}}},store_group:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M77.2 45.2H60.1c-1.6 0-2.8 1.3-2.8 2.8 0 .5.4.9.9.9H79c.5 0 .9-.4.9-.9.1-1.5-1.2-2.8-2.7-2.8zm0 6.6h-17c-.5 0-.9.4-.9.9v19.9c0 .5.4.9.9.9h5.2c.5 0 .9-.4.9-.9v-3.8c0-.5.5-.9 1-.9H70c.5 0 1 .4 1 .9v3.8c0 .5.4.9.9.9h5.2c.5 0 .9-.4.9-.9V52.8c.1-.6-.3-1-.8-1zm-10 12.8c0 .5-.4.9-.9.9h-1.9c-.5 0-.9-.4-.9-.9v-1.9c0-.5.4-.9.9-.9h1.9c.5 0 .9.4.9.9v1.9zm0-6.6c0 .5-.4.9-.9.9h-1.9c-.5 0-.9-.4-.9-.9v-1.9c0-.5.4-.9.9-.9h1.9c.5 0 .9.4.9.9V58zm6.7 6.6c0 .5-.4.9-.9.9h-2c-.5 0-.9-.4-.9-.9v-1.9c0-.5.4-.9.9-.9h1.9c.5 0 .9.4.9.9v1.9zm0-6.6c0 .5-.4.9-.9.9h-2c-.5 0-.9-.4-.9-.9v-1.9c0-.5.4-.9.9-.9h1.9c.5 0 .9.4.9.9V58zM53.1 26.4H24.6C22 26.4 20 28.5 20 31v.1c0 .9.7 1.6 1.6 1.6h34.6c.9 0 1.6-.7 1.6-1.6V31c-.1-2.4-2.2-4.6-4.7-4.6zm-.1 11H24.7c-.9 0-1.6.7-1.6 1.6v33c0 .9.7 1.6 1.6 1.6h8.7c.9 0 1.5-.7 1.5-1.6v-6.3c0-.9.8-1.6 1.6-1.6h4.6c.9 0 1.6.7 1.6 1.6V72c0 .9.6 1.6 1.5 1.6H53c.9 0 1.6-.7 1.6-1.6V39c0-.9-.7-1.6-1.6-1.6zM36.5 58.6c0 .9-.7 1.6-1.6 1.6h-3.1c-.9 0-1.6-.7-1.6-1.6v-3.1c0-.9.7-1.6 1.6-1.6h3.1c.9 0 1.6.7 1.6 1.6v3.1zm0-11c0 .9-.7 1.6-1.6 1.6h-3.1c-.9 0-1.6-.7-1.6-1.6v-3.1c0-.9.7-1.6 1.6-1.6h3.1c.9 0 1.6.7 1.6 1.6v3.1zm11 11c0 .9-.7 1.6-1.6 1.6h-3.1c-.9 0-1.6-.7-1.6-1.6v-3.1c0-.9.7-1.6 1.6-1.6h3.1c.9 0 1.6.7 1.6 1.6v3.1zm0-11c0 .9-.7 1.6-1.6 1.6h-3.1c-.9 0-1.6-.7-1.6-1.6v-3.1c0-.9.7-1.6 1.6-1.6h3.1c.9 0 1.6.7 1.6 1.6v3.1z"}},story:{xmlns:"http://www.w3.org/2000/svg",path:[{d:"M79.9 53.6c.3.4.1.9 0 1-1.6 1.7-2.9 2.8-3.9 3.6-1.6 1.3-4.5 3.2-5.1 3.5 2 1.3 3 2.4 3.1 3.7-2.1.8-3.8 1.3-4.8 1.8-1.5.6-2.5 1.3-4.4 2.4h-.1v-.5c0-3.3.4-4.7 0-7.4s-2.3-6.5-6-7.4c-3.6-.9-8.3 2.6-12.4.9s-5.9-1.2-7.6 1-1.7 3.5-1.7 5.3v7.4c-1.3-.9-3-1.7-5.3-2.4-2-.6-4.1-1-6.3-1.2-.5 0-.8-.4-.8-.9v-.3c.6-2.6 1.6-4.4 3-5.5 1.5-1.4 2.5-2.1 3.1-1.9-1.6-1.9-3-3.3-4.3-4-1.1-.6-3.1-1.2-6-1.7-.4-.1-.6-.5-.6-1v-.3c2.1-5.5 4.6-9 7.6-10.5 3.3-1.5 5.6-2.2 7.5-1.9-.6-1.5-1.1-2.6-1.4-3.3-.3-.5-.6-1.3-1.4-2.3-.3-.4-.3-1 .1-1.3.1 0 .3-.1.4-.1 1.3-.3 2.5-.1 3.9.3 1.8.5 3.4 1.7 4.9 3.5-.1-5.3-.6-9.7-1.8-13.2.2-2.9 12.6-.9 15.6 5.1 2.1 4 3.1 6.7 3.1 8.2 4.1-.9 7.4-.5 9.8 1s3.6 2.9 3.8 4.2c-1.9.4-3.1 1-3.8 1.9 2.3.9 6.3 3.3 7.6 5 1.5 1.9 2.9 4.2 4.2 7.3z"},{d:"M46.2 70.2c.9.3 1.4.5 1.9.5.8 0 1.8-.3 3.2-.8 1.8-.8 3.6-.4 4.7.8 1.3 1 1.8 3.4 1.3 4.9-.4.9-1 1.8-2 2.4-.1.1-.4.1-.5.1l-2.2-.4-4.2 1.8c-.1.1-.4.1-.5 0l-3.8-1.8-1.8.4c-.3 0-.5 0-.6-.3-.5-.6-.9-1-1-1.4-.3-.4-.7-1.3-.7-2.7s1.3-2.9 2.3-3.4c1-.4 2.8-.7 3.9-.1z"}],circle:[{cx:"55",cy:"64.6",r:"2.5"},{cx:"42.5",cy:"64.6",r:"2.5"}]},strategy:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M76.1 40.8H66c-2.2 0-4 1.8-4 4v2.5h-9.4V27.6c0-.6-.6-1.3-1.3-1.3H38v-2.4c0-2.2-1.8-4-4-4H23.9c-2.2 0-4 1.8-4 4V34c0 2.2 1.8 4 4 4H34c2.2 0 4-1.8 4-4v-2.4h9.3v15.7H38V45c0-2.2-1.8-4-4-4H23.9c-2.2 0-4 1.8-4 4v10c0 2.2 1.8 4 4 4H34c2.2 0 4-1.8 4-4v-2.4h9.3v15.7H38V66c0-2.2-1.8-4-4-4H23.9c-2.2 0-4 1.8-4 4v10.1c0 2.2 1.8 4 4 4H34c2.2 0 4-1.8 4-4v-2.4H51.3c.7 0 1.3-.7 1.3-1.3V52.7H62v2.2c0 2.2 1.8 4 4 4h10.1c2.2 0 4-1.8 4-4V44.8c0-2.2-1.8-4-4-4zM34 34H23.9V23.9H34V34zm0 2v-2 2zm0 19H23.9V45H34v10zm0 2v-2 2zm0 19.1H23.9V66H34v10.1zm0 2v-2 2zm42.1-23.2H66V44.8h10.1v10.1zm0 2v-2 2z"}},survey:{xmlns:"http://www.w3.org/2000/svg",g:{path:{d:"M24 23h44c2.2 0 4 1.8 4 4v4c0 2.2-1.8 4-4 4H24c-2.2 0-4-1.8-4-4v-4c0-2.2 1.8-4 4-4zM24 41h25c2.2 0 4 1.8 4 4v4c0 2.2-1.8 4-4 4H24c-2.2 0-4-1.8-4-4v-4c0-2.2 1.8-4 4-4zM65.9 52c7.7 0 14 6.3 14 14s-6.3 14-14 14-14-6.3-14-14 6.3-14 14-14zm7.9 10.9c.3-.3.3-1 0-1.3l-1.4-1.3c-.4-.4-1-.4-1.4 0l-7.5 8.4-3.4-3.4c-.4-.4-1-.4-1.4 0l-1.4 1.3c-.4.3-.4.9 0 1.3l4.8 4.7c.4.4.9.6 1.4.6.6 0 1-.2 1.4-.6l8.9-9.7zM24 59h23.2c-.8 2.3-1.2 4.3-1.2 6-.1 2.1.1 4.1.6 6H24c-2.2 0-4-1.8-4-4v-4c0-2.2 1.8-4 4-4z"}}},swarm_request:{xmlns:"http://www.w3.org/2000/svg",g:{circle:[{cx:"41.37",cy:"26.44",r:"6.32"},{cx:"58.63",cy:"26.43",r:"6.32"},{cx:"28.4",cy:"41.16",r:"8"},{cx:"71.81",cy:"41.16",r:"8"},{cx:"50.11",cy:"45.73",r:"8"}],path:{d:"M59.14 80a4.18 4.18 0 003.2-1.37 4.57 4.57 0 001.37-3.2V65.15a6.88 6.88 0 00-6.86-6.86h-13.7a6.88 6.88 0 00-6.86 6.86v10.28A4.68 4.68 0 0040.86 80zM29.32 75.43V65.15a13.41 13.41 0 013.89-9.48 1.18 1.18 0 000-1.67 1.15 1.15 0 00-.77-.33h-11a6.88 6.88 0 00-6.86 6.86v10.33a4.68 4.68 0 004.57 4.57zM80.85 75.43a4.18 4.18 0 003.2-1.37 4.57 4.57 0 001.37-3.2V60.58a6.88 6.88 0 00-6.86-6.86h-11a1.14 1.14 0 00-.8 2 13.68 13.68 0 013.89 9.48v10.23z"}}},swarm_session:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M41.7 30a.33.33 0 00-.1-.28c0 .1.1.2.1.28zM41.7 29.73c0 .09.09.19.09.28a5.44 5.44 0 00.48 1 8.72 8.72 0 0011.67 3.83 9 9 0 003.44-3.16 20.69 20.69 0 0113.4 15.5c.38 0 .76-.1 1.14-.1a16.11 16.11 0 014.79.77 26.15 26.15 0 00-18.08-21.76 8.28 8.28 0 00-.86-2.87 8.73 8.73 0 00-11.67-3.83 8.6 8.6 0 00-4.69 9.28c.1.39.19.77.29 1.06zM36.82 57.56A8.69 8.69 0 0030 52.87a10.46 10.46 0 01-.1-1.81 20.68 20.68 0 017.85-16.17c-.29-.38-.48-.86-.77-1.24a17.19 17.19 0 01-1.43-4.31A26.47 26.47 0 0024.1 51.06c0 1 .09 2.1.19 3.15a8.71 8.71 0 1012.53 3.35zM79.48 57.56A8.68 8.68 0 0064 65.4c.1.19.29.48.39.67a20.17 20.17 0 01-23.25 3.25 12.47 12.47 0 01-4.21 4.21 26.11 26.11 0 0013.57 3.73 26.38 26.38 0 0018.55-7.65 8.21 8.21 0 006.7-.48 8.54 8.54 0 003.73-11.57zM41.79 58.11a.39.39 0 00.48.48l3.25-1.34a.57.57 0 01.67.1 8.34 8.34 0 004.59 1.33c5.07 0 9.19-3.92 9.19-8.6s-4.12-8.61-9.19-8.61a8.93 8.93 0 00-9.08 8.61 8.53 8.53 0 001.15 4.11.84.84 0 01.09.67z","fill-rule":"evenodd"}},system_and_global_variable:{xmlns:"http://www.w3.org/2000/svg",path:[{d:"M48.8 75.6c0-3.7 1.8-6.5 4.2-8.1v-3.7c-1.3-.9-2.3-2.2-2.7-3.7-.5-2.1.2-4.5 1.5-6.2.3-.4.7-.8 1.1-1.2.4-.4.9-.7 1.4-.9 2.6-1.4 5.6-2.4 8.6-2.4 2.7 0 5.1 1.1 6.8 2.7 2.4-2.4 4.9-2.9 6.4-2.9 1.4 0 2.7.3 3.9.9v-.2c0-16.5-13.5-30-30-30S20 33.5 20 50c0 16.4 13.4 29.9 29.8 30-.7-1.3-1-2.7-1-4.4zm25-28.6h-7.9c-.3-7.1-1.9-13.3-4.3-18 6.6 3.7 11.2 10.3 12.2 18zM53 27.3c3.4 2.9 6.4 10.3 6.9 19.7H53V27.3zM26.2 53h7.9c.3 7.1 1.9 13.3 4.3 18-6.6-3.7-11.2-10.3-12.2-18zm7.9-6h-7.9c1-7.7 5.6-14.3 12.2-18-2.4 4.7-3.9 10.9-4.3 18zM47 72.7c-3.4-2.9-6.4-10.3-6.9-19.7H47v19.7zM47 47h-6.9c.5-9.4 3.5-16.8 6.9-19.7V47z"},{d:"M75.5 62.4c1.3 0 3.9-1.1 3.9-4.5s-2.5-3.6-3.2-3.6c-1.5 0-3 1.1-4.3 3.4-1.4 2.3-2.9 4.9-2.9 4.9h-.1c-.3-1.6-.6-3-.7-3.6-.3-1.4-1.9-4.5-5.3-4.5s-6.5 2-6.5 2c-.6.4-1 1-1 1.8 0 1.1.9 2.1 2.1 2.1.3 0 .6-.1.9-.2 0 0 2.6-1.4 3.1 0 .2.4.3.9.5 1.4.7 2.2 1.3 4.9 1.8 7.3L61.5 72s-2.5-.9-3.8-.9-3.9 1.1-3.9 4.5 2.5 3.6 3.2 3.6c1.5 0 3-1.1 4.3-3.4 1.3-2.3 2.8-4.9 2.8-4.9.4 2.1.8 3.8 1 4.5.9 2.4 2.8 3.9 5.4 3.9 0 0 2.7 0 5.8-1.8.8-.3 1.3-1.1 1.3-1.9 0-1.1-.9-2.1-2.1-2.1-.3 0-.6.1-.9.2 0 0-2.3 1.3-3 .3-.6-1-1-2.4-1.4-4.2-.3-1.5-.7-3.3-1.1-5.1l2.3-3.3c.3.1 2.8 1 4.1 1z"}]},task:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M46.6 23.7l-2.1-2.1c-.6-.6-1.5-.6-2.1 0L29.2 34.8l-5.3-5.3c-.6-.6-1.5-.6-2.1 0l-2.1 2.1c-.6.6-.6 1.5 0 2.1l7.4 7.4c.6.6 1.4.9 2.1.9.8 0 1.5-.3 2.1-.9l15.3-15.3c.5-.5.5-1.5 0-2.1zM77 38H51c-1.1 0-2-.9-2-2v-4c0-1.1.9-2 2-2h26c1.1 0 2 .9 2 2v4c0 1.1-.9 2-2 2zM77 56H45c-1.1 0-2-.9-2-2v-4c0-1.1.9-2 2-2h32c1.1 0 2 .9 2 2v4c0 1.1-.9 2-2 2zM33 56h-4c-1.1 0-2-.9-2-2v-4c0-1.1.9-2 2-2h4c1.1 0 2 .9 2 2v4c0 1.1-.9 2-2 2zM33 74h-4c-1.1 0-2-.9-2-2v-4c0-1.1.9-2 2-2h4c1.1 0 2 .9 2 2v4c0 1.1-.9 2-2 2zM77 74H45c-1.1 0-2-.9-2-2v-4c0-1.1.9-2 2-2h32c1.1 0 2 .9 2 2v4c0 1.1-.9 2-2 2z"}},task2:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M42.6 71c-1.2 0-2.4-.5-3.3-1.4L20.6 50.9c-.8-.8-.8-2 0-2.8l3.7-3.7c.8-.8 2-.8 2.8 0l15.5 15.4 30.3-30.3c.8-.8 2-.8 2.8 0l3.7 3.7c.8.8.8 2 0 2.8L45.8 69.6c-.9.9-2 1.4-3.2 1.4z"}},team_member:{xmlns:"http://www.w3.org/2000/svg",path:[{d:"M57 44H45c-3.3 0-6 2.7-6 6v9c0 1.1.5 2.1 1.2 2.8.7.7 1.7 1.2 2.8 1.2v9c0 3.3 2.7 6 6 6h4c3.3 0 6-2.7 6-6v-9c1.1 0 2.1-.4 2.8-1.2.7-.7 1.2-1.7 1.2-2.8v-9c0-3.3-2.7-6-6-6z"},{d:"M36.6 66.7c-.2-.2-.5-.4-.7-.6-1.9-2-3-4.5-3-7.1v-9c0-3.2 1.3-6.2 3.4-8.3.6-.6.1-1.7-.7-1.7H26c-3.3 0-6 2.7-6 6v9c0 1.1.5 2.1 1.2 2.8.7.7 1.7 1.2 2.8 1.2v9c0 3.3 2.7 6 6 6h4c.9 0 1.7-.2 2.4-.5.4-.2.6-.5.6-.9v-5.1c0-.3-.1-.6-.4-.8z"},{d:"M76 40h-6-3.6c-.9 0-1.3 1-.7 1.7 2.1 2.2 3.4 5.1 3.4 8.3v9c0 2.6-1 5.1-3 7.1-.2.2-.4.4-.7.6-.2.2-.4.5-.4.8v5.1c0 .4.2.8.6.9.7.3 1.5.5 2.4.5h4c3.3 0 6-2.7 6-6v-9c1.1 0 2.1-.4 2.8-1.2.7-.7 1.2-1.7 1.2-2.8v-9c0-3.3-2.7-6-6-6z"}],circle:[{cx:"51",cy:"33",r:"7"},{cx:"32",cy:"29",r:"7"},{cx:"70",cy:"29",r:"7"}]},template:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M73.8 20H26.2c-3.4 0-6.2 2.8-6.2 6.2v47.6c0 3.4 2.8 6.2 6.2 6.2h47.6c3.4 0 6.2-2.8 6.2-6.2V26.2c0-3.4-2.8-6.2-6.2-6.2zM42.3 69.1c0 .8-.8 1.4-1.6 1.4H30.4c-.8 0-1.4-.8-1.4-1.6V48.8c0-.8.8-1.4 1.6-1.4H41c.8 0 1.4.8 1.4 1.6v20.1zm28.4.2c0 .8-.8 1.4-1.6 1.4H49.9c-.8 0-1.4-.8-1.4-1.6V48.8c0-.8.8-1.4 1.6-1.4h19.3c.8 0 1.4.8 1.4 1.6v20.3zm.2-29.4c0 .8-.8 1.4-1.6 1.4H30.4c-.8 0-1.4-.8-1.4-1.6v-9c0-.8.8-1.4 1.6-1.4h38.9c.8 0 1.4.8 1.4 1.6v9z"}},text:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M79.9 77.9c-.3-4.1-.4-8.3-.4-12.4 0-2.1 0-4.1.1-6.2 0-1.9.2-3.8-.5-5.6-1.6-4.1-7-4.9-10.9-4.9-2 0-4 .3-6 .8-1.4.4-2.8.9-4 1.5l1.3 3.2c.3.6.4 1.3.5 1.9 2.6-1.2 5.2-1.9 7.8-1.9 4.1 0 6.1 1.6 6.1 4.8v1.5c-.6 0-1.6-.1-2.9-.1-5.2 0-9.1.8-11.9 2.3-2.7 1.6-4.1 4.3-4.1 8.2 0 2.9.9 5.2 2.7 6.8 1.8 1.6 4.1 2.4 6.8 2.4 2.4 0 4.4-.3 5.9-1s2.8-1.7 3.8-3.1h.2c.1.7.2 1.8.5 3.4 0 .1 4.5 0 5 0 .1-.7 0-1.1 0-1.6zM74 67.8c0 .7-.1 1.4-.4 2.1-.2.5-.4 1-.8 1.5-1.2 1.7-3.3 2.6-5.3 3-1.3.2-2.5.1-3.8-.1-1-.2-2-.7-2.5-1.6-.9-1.4-.7-3.6.3-4.9.6-.8 1.5-1.3 2.4-1.6 2.5-.8 5.4-.8 7.9-.8l2.2.1v2.3zM54.9 56.3L40.7 21.1c-.2-.7-.8-1.1-1.5-1.1h-4.5c-.7 0-1.4.5-1.6 1.1l-13 35.2c-.3.7.2 1.5.9 1.5h5c.7 0 1.4-.6 1.6-1.3l3.3-9.2h12.8l3.7 9.2c.2.7.9 1.3 1.6 1.3h4.9c.8 0 1.4-.8 1-1.5zM33.5 40.4l3.7-9.6 4.1 9.6h-7.8z"}},text_template:{xmlns:"http://www.w3.org/2000/svg",path:[{d:"M42.5 63.8v-.2c.2-3.4 3-6.1 6.5-6.1h8.4c-1.4-2.4-1.1-5.5.9-7.7l.2-.2 2-1.9c1.1-1.2 2.7-1.9 4.3-2V25c0-2.7-2.2-5-5-5H25.1c-2.7 0-5 2.2-5 5v34.8c0 2.7 2.2 5 5 5h17.4v-1zM27.6 27.7c0-.7.5-1.2 1.2-1.2h7.5c.7 0 1.2.5 1.2 1.2v3.5c0 .7-.5 1.2-1.2 1.2h-7.5c-.7 0-1.2-.5-1.2-1.2v-3.5zm0 10.9c0-.7.5-1.2 1.2-1.2h27.3c.7 0 1.2.5 1.2 1.2v3.5c0 .7-.5 1.2-1.2 1.2H28.9c-.7 0-1.2-.5-1.2-1.2v-3.5zm0 14.4v-3.5c0-.7.5-1.2 1.2-1.2h22.4c.7 0 1.2.5 1.2 1.2V53c0 .7-.5 1.2-1.2 1.2H28.9c-.8.1-1.3-.4-1.3-1.2z"},{d:"M66.3 51.1l-.1-.1c-.6-.5-1.5-.5-2 .1l-2.1 2c-.5.6-.5 1.5 0 2l5.5 5.5c.2.2.3.4.3.7 0 .6-.4 1-1 1H49c-.8 0-1.4.6-1.5 1.4v3c.1.8.7 1.4 1.5 1.6h17.9c.2 0 .4.1.5.2.4.3.5 1 .2 1.4l-5.5 5.5c-.5.6-.5 1.5 0 2l2 2.1c.6.5 1.5.5 2 0l13.2-13.2c.5-.6.5-1.5 0-2l-13-13.2z"}]},textarea:{xmlns:"http://www.w3.org/2000/svg",path:[{d:"M74 80H26c-3.3 0-6-2.7-6-6V26c0-3.3 2.7-6 6-6h48c3.3 0 6 2.7 6 6v48c0 3.3-2.7 6-6 6zM28.1 30v40c0 1.1.9 2 2 2H70c1.1 0 2-.9 2-2V30c0-1.1-.9-2-2-2H30.1c-1.1 0-2 .9-2 2z"},{d:"M61.9 51.2c1 0 2 .9 2 2v8.7c0 1.1-.9 2-2 2h-9.2c-1.1 0-2-.9-2-2 0-.7.3-1.3.8-1.8l1.9-1.9c1.3-1.2 2.7-2.4 4-3.6.9-.8 1.8-1.7 2.8-2.5.3-.2.5-.5.8-.6.3-.2.6-.3.9-.3z"}]},textbox:{xmlns:"http://www.w3.org/2000/svg",path:[{d:"M74 80H26c-3.3 0-6-2.7-6-6V26c0-3.3 2.7-6 6-6h48c3.3 0 6 2.7 6 6v48c0 3.3-2.7 6-6 6zM28.1 30v40c0 1.1.9 2 2 2H70c1.1 0 2-.9 2-2V30c0-1.1-.9-2-2-2H30.1c-1.1 0-2 .9-2 2z"},{d:"M36.2 61.9V38.1c0-1.1.9-2 2-2h4c1.1 0 2 .9 2 2v23.8c0 1.1-.9 2-2 2h-4c-1.1 0-2-.9-2-2z"}]},thanks:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M74 35h-8.7c2.5-3.9 2.3-9.1-.8-12.3-1.7-1.7-4-2.7-6.4-2.7-2.6 0-5.2 1.2-7.1 3.2-.4.4-.7.8-1 1.3-.3-.5-.6-.9-1-1.3-1.9-2.1-4.5-3.2-7.1-3.2-2.4 0-4.6 1-6.3 2.7-3.1 3.2-3.3 8.4-.8 12.3H26c-3.3 0-6 2.7-6 6v4c0 1.1.9 2 2 2h56c1.1 0 2-.9 2-2v-4c0-3.3-2.7-6-6-6zm-27 0c-2.1 0-5.1-.8-6.8-2.6-1.5-1.6-1.7-4.2-.3-5.5.7-.7 1.4-.8 2-.8 1 0 2 .5 2.7 1.3 1.7 1.9 2.4 5.1 2.4 7.1v.5zm12.8-2.6C58.1 34.2 55.1 35 53 35v-.6c0-2 .7-5.2 2.4-7.1.8-.8 1.8-1.3 2.7-1.3.5 0 1.3.1 2 .8 1.3 1.4 1.2 3.9-.3 5.6zM74 53H53v27h17.2c3.2 0 5.8-2.6 5.8-5.8V55c0-1.1-.9-2-2-2zM24 55v19c0 3.3 2.7 6 6 6h17V53H26c-1.1 0-2 .9-2 2z"}},thanks_loading:{xmlns:"http://www.w3.org/2000/svg",path:{opacity:".5",d:"M74 35h-8.7c2.5-3.9 2.3-9.1-.8-12.3-1.7-1.7-4-2.7-6.4-2.7-2.6 0-5.2 1.2-7.1 3.2-.4.4-.7.8-1 1.3-.3-.5-.6-.9-1-1.3-1.9-2.1-4.5-3.2-7.1-3.2-2.4 0-4.6 1-6.3 2.7-3.1 3.2-3.3 8.4-.8 12.3H26c-3.3 0-6 2.7-6 6v4c0 1.1.9 2 2 2h56c1.1 0 2-.9 2-2v-4c0-3.3-2.7-6-6-6zm-27 0c-2.1 0-5.1-.8-6.8-2.6-1.5-1.6-1.7-4.2-.3-5.5.7-.7 1.4-.8 2-.8 1 0 2 .5 2.7 1.3 1.7 1.9 2.4 5.1 2.4 7.1v.5zm12.8-2.6C58.1 34.2 55.1 35 53 35v-.6c0-2 .7-5.2 2.4-7.1.8-.8 1.8-1.3 2.7-1.3.5 0 1.3.1 2 .8 1.3 1.4 1.2 3.9-.3 5.6zM74 53H53v27h17.2c3.2 0 5.8-2.6 5.8-5.8V55c0-1.1-.9-2-2-2zM24 55v19c0 3.3 2.7 6 6 6h17V53H26c-1.1 0-2 .9-2 2z"}},timesheet:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M70.9 20H29.1c-4.3 0-7.8 3.5-7.8 7.8v44.3c0 4.3 3.5 7.8 7.8 7.8h41.7c4.3 0 7.8-3.5 7.8-7.8V27.8c.1-4.3-3.4-7.8-7.7-7.8zm-2.6 47c0 1.4-1.2 2.6-2.6 2.6H34.3c-1.4 0-2.6-1.2-2.6-2.6v-2.6c0-1.4 1.2-2.6 2.6-2.6h31.3c1.4 0 2.6 1.2 2.6 2.6V67zm0-15.7c0 1.4-1.2 2.6-2.6 2.6H34.3c-1.4 0-2.6-1.2-2.6-2.6v-2.6c0-1.4 1.2-2.6 2.6-2.6h31.3c1.4 0 2.6 1.2 2.6 2.6v2.6zm0-15.6c0 1.4-1.2 2.6-2.6 2.6H34.3c-1.4 0-2.6-1.2-2.6-2.6V33c0-1.4 1.2-2.6 2.6-2.6h31.3c1.4 0 2.6 1.2 2.6 2.6v2.7z"}},timesheet_entry:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M70.9 20H29.1c-4.3 0-7.8 3.5-7.8 7.8v44.3c0 4.3 3.5 7.8 7.8 7.8h41.7c4.3 0 7.8-3.5 7.8-7.8V27.8c.1-4.3-3.4-7.8-7.7-7.8zm-2.6 47c0 1.4-1.2 2.6-2.6 2.6H34.3c-1.4 0-2.6-1.2-2.6-2.6v-2.6c0-1.4 1.2-2.6 2.6-2.6h31.3c1.4 0 2.6 1.2 2.6 2.6V67zM40.9 50l1.4-1.4c.4-.4 1-.4 1.4 0l3.6 3.6 9-9c.4-.4 1-.4 1.4 0l1.4 1.4c.3.4.3 1.1 0 1.4L48.8 56.5c-.4.4-.9.6-1.4.6-.5 0-1-.2-1.4-.6l-5-5c-.5-.5-.5-1.1-.1-1.5zm27.4-14.3c0 1.4-1.2 2.6-2.6 2.6H34.3c-1.4 0-2.6-1.2-2.6-2.6V33c0-1.4 1.2-2.6 2.6-2.6h31.3c1.4 0 2.6 1.2 2.6 2.6v2.7z"}},timeslot:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M70.95 20H29.19a7.93 7.93 0 00-8 7.81v44.38A7.9 7.9 0 0029.05 80h41.9a7.9 7.9 0 007.83-7.81V27.81A7.73 7.73 0 0070.95 20zM31.8 33a2.7 2.7 0 012.61-2.6h13.32a2.7 2.7 0 012.61 2.6v2.6a2.7 2.7 0 01-2.61 2.6H34.41a2.7 2.7 0 01-2.61-2.6zM68 67a2.7 2.7 0 01-2.61 2.6H52.17a2.7 2.7 0 01-2.61-2.6v-2.6a2.7 2.7 0 012.61-2.6h13.32A2.58 2.58 0 0168 64.38zm.51-12.39a2.83 2.83 0 01-2.75 2.6H34.41a2.7 2.7 0 01-2.61-2.6v-9.07a2.7 2.7 0 012.61-2.6h31.45a2.7 2.7 0 012.61 2.6z","fill-rule":"evenodd"}},today:{xmlns:"http://www.w3.org/2000/svg",path:[{d:"M50 20c-16.5 0-30 13.5-30 30s13.5 30 30 30 30-13.5 30-30-13.5-30-30-30zm0 54c-13.2 0-24-10.8-24-24s10.8-24 24-24 24 10.8 24 24-10.8 24-24 24z"},{d:"M53 48.8V36c0-1.1-.9-2-2-2h-2c-1.1 0-2 .9-2 2v14c0 .8.3 1.6.9 2.1l9.6 9.6c.8.8 2 .8 2.8 0l1.4-1.4c.8-.8.8-2 0-2.8L53 48.8z"}]},toggle:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M20 33.34a13.43 13.43 0 0113-13.43h33.56a13.45 13.45 0 010 26.89H33a13.44 13.44 0 01-13-13.46zm13.44 7.53a7.53 7.53 0 10-7.52-7.53 7.58 7.58 0 007.52 7.53zM20 66.46A13.44 13.44 0 0133 53h33.56a13.45 13.45 0 010 26.89H33a13.43 13.43 0 01-13-13.43zM67.06 57H32.94a9.53 9.53 0 000 19h34.12a9.53 9.53 0 000-19zm-.5 16a6.53 6.53 0 116.52-6.52A6.58 6.58 0 0166.56 73z"}},topic:{xmlns:"http://www.w3.org/2000/svg",path:[{d:"M61.4 37.2c.2.7.7 1.2 1.4 1.4l2.2.6c.4.1.9-.1 1.1-.5l4.7-8.1c1.1-1.9.5-2.6-1.5-1.5l-8.1 4.7c-.4.2-.6.7-.5 1.1l.7 2.3zM33.9 38.7c.2.4.7.6 1.1.5l2.2-.6c.7-.2 1.2-.7 1.4-1.4l.6-2.2c.1-.4-.1-.9-.5-1.1l-8.1-4.7c-1.9-1.1-2.6-.5-1.5 1.5l4.8 8zM66.1 61.3c-.2-.4-.7-.6-1.1-.5l-2.2.6c-.7.2-1.2.7-1.4 1.4l-.6 2.2c-.1.4.1.9.5 1.1l8.1 4.7c1.9 1.1 2.6.5 1.5-1.5l-4.8-8zM38.6 62.8c-.2-.7-.7-1.2-1.4-1.4l-2.2-.6c-.4-.1-.9.1-1.1.5l-4.7 8.1c-1.1 1.9-.5 2.6 1.5 1.5l8.1-4.7c.4-.2.6-.7.5-1.1l-.7-2.3z"},{d:"M78.4 49l-20.5-5.5c-.7-.2-1.2-.7-1.4-1.4L51 21.6c-.6-2.1-1.5-2.1-2.1 0l-5.5 20.5c-.2.7-.7 1.2-1.4 1.4L21.6 49c-2.1.6-2.1 1.5 0 2.1l20.5 5.5c.7.2 1.2.7 1.4 1.4L49 78.4c.6 2.1 1.5 2.1 2.1 0l5.5-20.5c.2-.7.7-1.2 1.4-1.4L78.4 51c2.1-.5 2.1-1.5 0-2zM50 55c-2.8 0-5-2.2-5-5s2.2-5 5-5 5 2.2 5 5-2.2 5-5 5z"}]},topic2:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M78.2 34.3h-7.9l3.4-13V21c0-.5-.4-1-1-1h-6.3c-.5 0-.9.4-1 .8L62 34.3H46.2l3.4-13V21c0-.5-.4-1-1-1h-6.3c-.5 0-.9.4-1 .8l-3.5 13.4H29c-.5 0-.8.3-1 .7l-1.6 6v.2c0 .5.4 1 1 1h8.3l-3.9 15.2h-8.5c-.5 0-.8.3-1 .7l-1.6 6v.2c0 .5.4 1 1 1h8l-3.4 13.2v.2c0 .5.4 1 1 1h6.3c.5 0 .9-.3 1-.8l3.5-13.7h15.7l-3.4 13.2v.2c0 .5.4 1 1 1h6.3c.5 0 .9-.3 1-.8L62.2 65h8.7c.5 0 .9-.3 1-.8l1.6-6V58c0-.5-.4-1-1-1h-8.2l3.9-15.2h8.4c.5 0 .9-.3 1-.8l1.6-6v-.2c0-.1-.5-.5-1-.5zM56 57.5H40.2l3.9-15.2h15.7L56 57.5z"}},trailhead:{xmlns:"http://www.w3.org/2000/svg",path:[{d:"M32.7 63.8l-3.2 3.7h6.4zM35.7 71.4h6.4l-3.2-3.7zM61.3 68.8l3.2-3.7 3.2 3.7z"},{d:"M50.9 20.2c-.5-.3-1.2-.3-1.7 0C31.3 27.8 19.8 45.5 20.1 65v4.3c0 .7.3 1.3.9 1.7 8.6 5.7 18.8 8.9 29.1 9h1.1c9.9-.4 19.6-3.4 27.8-9 .5-.4.9-1 .9-1.7V65c.5-19.5-11-37.2-29-44.8zM34.7 36c7.3-8.6 15.4-11.5 15.4-11.5 1.7.8 21.2 8.4 25.2 33h-5.1l-9.8-14.1c-.7-.9-2-1.2-3-.5-.3.1-.4.4-.5.5L54.4 47l-6.9-9.9c-.7-.9-2-1.2-3-.5-.3.1-.4.4-.5.5L30.1 57.4l-5.1.2c1.5-9.4 5.4-16.4 9.7-21.6zM65 57.6H52.3l3.3-4.7 3-4.4 6.4 9.1zm-18-14l5 7.2-4.7 6.7H35.2l5.1-7.6 5.4-8 1.3 1.7zm4.8 29L50 75.8c-3.7 0-7.1-.5-11-1.4-5.1-1.3-10.1-3.4-14.5-6.1v-3.1c0-1 0-2.1.1-3.3h22.1c-1.7 2.6-.9 6.1 1.8 7.7.3.1.5.3.7.4l2 .9c.6.2.8 1 .6 1.7zm24-4.5c-3.3 2-6.7 3.7-10.2 4.8 0 0-.7.3-.9.3-2 .7-4 1.2-6.1 1.6-1.2.3-2.4.4-3.5.5l.4-.7c1.6-2.7.7-6.1-2.1-7.7-.1-.1-.4-.1-.5-.3l-2-.9c-.7-.3-1-1-.7-1.7 0-.1.1-.3.1-.3l1.8-2.1h23.5c0 1 .1 2.1.1 3.3v3.2z"}]},trailhead_alt:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M45.27 62.76c-.05.11-.1.2-.14.31a8.62 8.62 0 003 9.82c2 1.54 2.37 2.19 2.17 3.65A9.38 9.38 0 0148.94 80 55.9 55.9 0 0120 70.79v-4.62c0-1.15.06-2.28.13-3.41h25.14zm34.6 0c.07 1.13.13 2.26.13 3.41v4.62a56.27 56.27 0 01-25.39 9 12.2 12.2 0 00.68-2.54c.66-4.66-2.29-7-4.06-8.33a3.59 3.59 0 01-1.4-4.07A9.85 9.85 0 0151 62.76h28.87zM45.62 42l5.5 8.1-5.19 7.65h-11zM50 20a49 49 0 0129.35 37.73H72L61 41.61a2.61 2.61 0 00-4.16 0l-2.72 4-6.42-9.51a2.61 2.61 0 00-4.16 0l-14.7 21.63h-8.19A49 49 0 0150 20zm9 27.5l6.95 10.23H52z","fill-rule":"evenodd"}},travel_mode:{xmlns:"http://www.w3.org/2000/svg",mask:{id:"ooa",height:"60",maskUnits:"userSpaceOnUse",width:"60",x:"20",y:"20",path:{d:"M20 20h60v60H20z","fill-rule":"evenodd"}},g:{mask:"url(#ooa)",path:{d:"M53.77 72.12C54 59.88 62.25 50 72.49 50a22.49 22.49 0 01-18.66 22.12M27.49 50C37.75 50 46 59.88 46.16 72.12A22.5 22.5 0 0127.49 50M50 27.51a22.44 22.44 0 0121.12 15H28.88a22.44 22.44 0 0121.12-15M50 20a30 30 0 1030 30 30 30 0 00-30-30","fill-rule":"evenodd"}}},unmatched:{xmlns:"http://www.w3.org/2000/svg",path:[{d:"M65.7 46.8c-.1-.5-.5-.8-1-.8H35.3c-.5 0-.9.3-1 .8-.2 1-.3 2.1-.3 3.2s.1 2.2.3 3.2c.1.5.5.8 1 .8h29.4c.5 0 .9-.3 1-.8.2-1 .3-2.1.3-3.2s-.1-2.2-.3-3.2z"},{d:"M50 20c-16.5 0-30 13.5-30 30s13.5 30 30 30 30-13.5 30-30-13.5-30-30-30zm0 52c-12.1 0-22-9.9-22-22s9.9-22 22-22 22 9.9 22 22-9.9 22-22 22z"}]},user:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M80 71.2V74c0 3.3-2.7 6-6 6H26c-3.3 0-6-2.7-6-6v-2.8c0-7.3 8.5-11.7 16.5-15.2.3-.1.5-.2.8-.4.6-.3 1.3-.3 1.9.1C42.4 57.8 46.1 59 50 59c3.9 0 7.6-1.2 10.8-3.2.6-.4 1.3-.4 1.9-.1.3.1.5.2.8.4 8 3.4 16.5 7.8 16.5 15.1z"},ellipse:{cx:"50",cy:"36.5",rx:"14.9",ry:"16.5"}},user_role:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M44 63.3c0-3.4 1.1-7.2 2.9-10.2 2.1-3.7 4.5-5.2 6.4-8 3.1-4.6 3.7-11.2 1.7-16.2-2-5.1-6.7-8.1-12.2-8s-10 3.5-11.7 8.6c-2 5.6-1.1 12.4 3.4 16.6 1.9 1.7 3.6 4.5 2.6 7.1-.9 2.5-3.9 3.6-6 4.6-4.9 2.1-10.7 5.1-11.7 10.9-1 4.7 2.2 9.6 7.4 9.6H48c1 0 1.6-1.2 1-2-3.2-3.6-5-8.2-5-13zm20-15c-8.2 0-15 6.7-15 15s6.7 15 15 15 15-6.7 15-15-6.7-15-15-15zm2.6 16.4c-.4 0-.9-.1-1.2-.2l-5.7 5.7c-.4.4-.9.5-1.2.5-.5 0-.9-.1-1.2-.5-.6-.6-.6-1.7 0-2.5L63 62c-.1-.4-.2-.7-.2-1.2-.2-2.6 1.9-5 4.5-5 .4 0 .9.1 1.2.2.2 0 .2.2.1.4L66 58.9c-.2.1-.2.5 0 .6l1.7 1.7c.2.2.5.2.7 0l2.5-2.5c.1-.1.4-.1.4.1.1.4.2.9.2 1.2.1 2.8-2.1 4.9-4.9 4.7z"}},variable:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M70.9 39.7c3.1 0 9.1-2.5 9.1-10.6s-5.8-8.5-7.6-8.5c-3.6 0-7.1 2.6-10.2 7.9C59.1 34 55.6 40 55.6 40h-.1c-.8-3.8-1.4-7-1.7-8.4-.6-3.3-4.5-10.6-12.5-10.6S26 25.6 26 25.6c-1.4.9-2.3 2.4-2.3 4.1 0 2.7 2.2 4.9 4.9 4.9.8 0 1.5-.2 2.1-.5 0 0 6.1-3.4 7.4 0 .4 1 .7 2.2 1.1 3.4 1.6 5.2 3 11.4 4.2 17l-5.2 7.6s-5.9-2.1-9-2.1S20 62.5 20 70.6s5.8 8.5 7.6 8.5c3.6 0 7.1-2.6 10.2-7.9 3.1-5.5 6.6-11.5 6.6-11.5 1 5 1.9 9 2.4 10.6 2 5.7 6.6 9.1 12.7 9.1 0 0 6.3 0 13.7-4.2 1.8-.7 3.1-2.5 3.1-4.5 0-2.7-2.2-4.9-4.9-4.9-.8 0-1.5.2-2.1.5 0 0-5.3 3-7.1.6-1.3-2.5-2.4-5.7-3.2-9.7-.8-3.6-1.7-7.8-2.5-11.9l5.3-7.7c.1 0 6 2.1 9.1 2.1z"}},variation_attribute_setup:{xmlns:"http://www.w3.org/2000/svg",path:[{d:"M46.8 23.1a1.66 1.66 0 00-1.8 1.7V52a1.53 1.53 0 001.7 1.7h.1a1.58 1.58 0 001.7-1.7V24.7a1.55 1.55 0 00-1.7-1.6zM29.3 23.1h-6.7a1.58 1.58 0 00-1.7 1.7V52a1.63 1.63 0 001.7 1.7h6.7A1.58 1.58 0 0031 52V24.7a1.66 1.66 0 00-1.7-1.6zM38.8 23.1h-1.7a1.58 1.58 0 00-1.7 1.7V52a1.53 1.53 0 001.7 1.7h1.7a1.58 1.58 0 001.7-1.7V24.7a1.55 1.55 0 00-1.7-1.6zM71.9 48.1v.2l.1.8a2.09 2.09 0 01.6.4l.9-.5.7-.3.6-.2V24.7a1.58 1.58 0 00-1.7-1.7h-3.4a1.58 1.58 0 00-1.7 1.7v19a5.82 5.82 0 013.9 4.4zM56.6 49l.6.2a4.35 4.35 0 01.7-.4l.1-.7v-.2a6 6 0 015-4.6V24.7a1.66 1.66 0 00-1.7-1.6h-6.7a1.58 1.58 0 00-1.7 1.7v24a6.75 6.75 0 011.4-.2 5.76 5.76 0 012.3.4zM75.5 64.3a14.92 14.92 0 00.2-2.1 14.92 14.92 0 00-.2-2.1l2.3-1.9a2.12 2.12 0 00.5-2.6l-1-1.8a2.23 2.23 0 00-1.8-1c-.2 0-.5.1-.7.1L72 54a10.27 10.27 0 00-3.6-2.1l-.5-2.9a2 2 0 00-2.1-1.5h-2a2.08 2.08 0 00-2.1 1.5l-.5 2.8a10.46 10.46 0 00-3.7 2.1l-2.7-1.1a1.48 1.48 0 00-.7-.1 2.23 2.23 0 00-1.8 1l-1 1.7a2 2 0 00.5 2.6l2.3 1.9a14.92 14.92 0 00-.2 2.1 14.92 14.92 0 00.2 2.1l-2.3 2a2.12 2.12 0 00-.5 2.6l1 1.9a2.23 2.23 0 001.8 1c.2 0 .5-.1.7-.1l2.8-1.1a10.27 10.27 0 003.6 2.1l.5 3a2.06 2.06 0 002.1 1.7h2a2.14 2.14 0 002.1-1.7l.5-3a10 10 0 003.8-2.3l2.6 1.1a1.7 1.7 0 00.7.1 2.23 2.23 0 001.8-1l.9-1.6a2 2 0 00-.4-2.6zm-10.6 4.9a6.8 6.8 0 116.8-6.8 6.81 6.81 0 01-6.8 6.8z"},{d:"M64.8 58.7a3.7 3.7 0 103.7 3.7 3.7 3.7 0 00-3.7-3.7z"}]},variation_products:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M73.9 53.3a1.46 1.46 0 00.9-1.5V24.6a1.58 1.58 0 00-1.7-1.7h-3.4a1.58 1.58 0 00-1.7 1.7v20.8a9 9 0 015.9 7.9zM54.5 53.4h1.4a9.07 9.07 0 017-8.4V24.6a1.58 1.58 0 00-1.7-1.7h-6.7a1.58 1.58 0 00-1.7 1.7v27.2a1.55 1.55 0 001.7 1.6zM38.8 22.9h-1.7a1.58 1.58 0 00-1.7 1.7v27.2a1.53 1.53 0 001.7 1.7h1.7a1.58 1.58 0 001.7-1.7V24.6a1.68 1.68 0 00-1.7-1.7zM29.2 22.9h-6.7a1.58 1.58 0 00-1.7 1.7v27.2a1.63 1.63 0 001.7 1.7h6.7a1.58 1.58 0 001.7-1.7V24.6a1.58 1.58 0 00-1.7-1.7zM46.8 22.9h-.1a1.58 1.58 0 00-1.7 1.7v27.2c-.1.9.6 1.6 1.8 1.6a1.58 1.58 0 001.7-1.7V24.6a1.58 1.58 0 00-1.7-1.7zM60 53.9a4.89 4.89 0 005 5 6.75 6.75 0 001.4-.2l3.5 6.4c.2.3.5.4.7.2a4.37 4.37 0 011.7-.8.55.55 0 00.3-.7L68.9 57a4.89 4.89 0 001.1-3.1 5 5 0 00-10 0zM59.9 60.2a.54.54 0 00-.8.2L55.6 67a1.7 1.7 0 00-.7-.1 4.94 4.94 0 103.4 1.3l3.5-6.4c.1-.1 0-.4-.2-.6a15.05 15.05 0 01-1.7-1zM75.1 67a4.94 4.94 0 00-4.9 4.1h-6.7a.56.56 0 00-.5.6v.5a6.75 6.75 0 01-.2 1.4.5.5 0 00.5.6h7.1a5 5 0 004.6 3 5.1 5.1 0 00.1-10.2z"}},video:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M77.57 33.37l-14.11 10.2v-7.24A3.44 3.44 0 0060 32.86H23.46A3.44 3.44 0 0020 36.3v27.37a3.44 3.44 0 003.41 3.47h36.71a3.44 3.44 0 003.47-3.43v-7.1l14 10a1.42 1.42 0 002 0 1.39 1.39 0 00.41-1V34.4a1.42 1.42 0 00-2.43-1.07"}},visit_templates:{xmlns:"http://www.w3.org/2000/svg",path:[{d:"M30 58c-1.1 0-2-.9-2-2v-2c0-1.1.9-2 2-2h20c.5 0 .9.2 1.3.5C54.5 49 59 46.6 64 46.1V26c0-3.3-2.7-6-6-6H26c-3.3 0-6 2.7-6 6v34c0 3.3 2.7 6 6 6h20c0-2.8.6-5.5 1.7-8H30zm-2-28c0-1.1.9-2 2-2h20c1.1 0 2 .9 2 2v2c0 1.1-.9 2-2 2H30c-1.1 0-2-.9-2-2v-2zm0 12c0-1.1.9-2 2-2h24c1.1 0 2 .9 2 2v2c0 1.1-.9 2-2 2H30c-1.1 0-2-.9-2-2v-2z"},{d:"M66 52c-7.7 0-14 6.3-14 14s6.3 14 14 14 14-6.3 14-14-6.3-14-14-14zm7.9 10.5L65 72.2c-.4.4-.8.6-1.4.6-.5 0-1-.2-1.4-.6l-4.8-4.7c-.4-.4-.4-1 0-1.3l1.4-1.3c.4-.4 1-.4 1.4 0l3.4 3.4 7.5-8.4c.4-.4 1-.4 1.4 0l1.4 1.3c.3.3.3 1 0 1.3z"}]},visits:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M50.6 52.9c2.6-3.7 5.3-5.6 7.1-8.4 3.2-4.8 3.9-11.6 1.8-16.8-2.1-5.3-7-8.4-12.7-8.3S36.5 23 34.7 28.3c-2.1 5.8-1.2 12.8 3.5 17.2 1.9 1.8 3.7 4.7 2.7 7.4-.9 2.6-4 3.7-6.2 4.8-5 2.2-11.1 5.3-12.1 11.2-1 4.9 2.3 10 7.6 10h23.3c1 0 1.9-1.2 1.3-1.9-3.2-3.7-6.6-8.7-6.6-13.6-.3-3.5.7-7.4 2.4-10.5zm14.2 13.5c-2.7 0-5-2.2-5-4.9s2.2-4.9 5-4.9c2.7 0 5 2.2 5 4.9.1 2.7-2.3 4.9-5 4.9zm0-16.8c-6.6 0-11.9 5.3-11.9 11.9 0 8.1 8.5 15.8 11.1 17.7.4.4 1 .4 1.6 0 2.6-2.1 11.1-9.6 11.1-17.7 0-6.6-5.3-11.9-11.9-11.9z"}},visualforce_page:{xmlns:"http://www.w3.org/2000/svg",g:{path:[{d:"M55.4 53.6c-.6 0-1.2-.5-1.2-1.2v-7.3c0-.6.5-1.2 1.2-1.2h7.5c.6 0 1.2.5 1.2 1.2v7.3c0 .6-.5 1.2-1.2 1.2h-7.5zM58.6 57.9l-4.3 4.7c-.3.3-.3.7 0 1l4.3 4.7c.3.3.8.3 1.1 0l4.3-4.7c.3-.3.3-.7 0-1l-4.3-4.7c-.3-.3-.8-.3-1.1 0z"},{d:"M36.4 45.6l3.8-2.2c.3-.2.8-.2 1.1 0l3.8 2.2c.3.2.6.6.6 1v4.3c0 .4-.2.8-.6 1l-3.8 2.2c-.3.2-.8.2-1.1 0l-3.8-2.2c-.3-.2-.6-.6-.6-1v-4.3c0-.4.2-.8.6-1z"},{d:"M73.8 20H26.2c-3.4 0-6.2 2.8-6.2 6.2v47.6c0 3.4 2.8 6.2 6.2 6.2h47.6c3.4 0 6.2-2.8 6.2-6.2V26.2c0-3.4-2.8-6.2-6.2-6.2zm0 51.7c0 1.2-.9 2.1-2.1 2.1H28.3c-1.1 0-2.1-.9-2.1-2.1V38.2h47.6v33.5zm0-39.5H26.2v-3.9c0-1.2.9-2.1 2.1-2.1h43.4c1.1 0 2.1.9 2.1 2.1v3.9z"}],circle:{cx:"40.7",cy:"63",r:"4.9"}}},voice_call:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M77.7 63.9l-6.2-5c-2.1-1.7-5.1-1.8-7.3-.2L58.3 63c-.8.6-1.9.5-2.6-.2L46 54l-8.9-9.8c-.7-.7-.8-1.8-.2-2.6l4.3-5.9c1.6-2.2 1.5-5.2-.2-7.3l-5-6.2c-2.2-2.8-6.4-3-8.9-.5l-5.4 5.4c-1.2 1.2-1.8 2.9-1.8 4.5.7 12.7 6.5 24.8 15 33.3s20.5 14.3 33.3 15c1.7.1 3.3-.6 4.5-1.8l5.4-5.4c2.7-2.4 2.4-6.6-.4-8.8z"}},waits:{xmlns:"http://www.w3.org/2000/svg",path:[{d:"M80 40.5c0-1-.9-1.9-1.9-1.9H51.9c-1 0-1.9.9-1.9 1.9v3.7c0 1 .9 1.9 1.9 1.9h17.8L50.4 69.8s0 .1-.1.1c-.2.3-.4.7-.4 1.1v3.7c0 1 .9 1.9 1.9 1.9h26.3c1 0 1.9-.9 1.9-1.9V71c0-1-.9-1.9-1.9-1.9H60.6l19-23.3c.3-.4.4-.8.3-1.3v-4z"},{d:"M50 25.3c0-1-.9-1.9-1.9-1.9H21.9c-1 0-1.9.9-1.9 1.9V29c0 1 .9 1.9 1.9 1.9h17.8L20.4 54.6s0 .1-.1.1c-.2.3-.3.6-.3 1v3.7c0 1 .9 1.9 1.9 1.9h26.3c1 0 1.9-.9 1.9-1.9v-3.7c0-1-.9-1.9-1.9-1.9H30.6l19-23.3c.3-.4.4-.8.3-1.3V25.3z"}]},warranty_term:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M50 20c3.79 0 6.79 4.11 10.11 5.53s8.52.63 11 3.31 1.89 7.58 3.31 11.05S80 46.21 80 50s-4.11 6.79-5.53 10.11-.63 8.52-3.31 11c-2.53 2.52-7.58 1.89-11 3.31S53.79 80 50 80s-6.79-4.11-10.11-5.53-8.52-.63-11-3.31c-2.52-2.53-1.89-7.58-3.31-11S20 53.79 20 50s4.11-6.79 5.53-10.11.63-8.52 3.31-11 7.58-1.89 11.05-3.36S46.21 20 50 20zm0 9.47A20.53 20.53 0 1070.53 50 20.59 20.59 0 0050 29.47zm9.52 11.44l2 1.9a1.55 1.55 0 010 1.89L48.78 58.84a2.55 2.55 0 01-2 .88 2.76 2.76 0 01-2-.88L37.9 52a1.26 1.26 0 010-1.89l2-1.9a1.37 1.37 0 012 0l4.87 5 10.75-12.3a1.37 1.37 0 012 0z"}},webcart:{xmlns:"http://www.w3.org/2000/svg",g:{path:{d:"M42.4 50h29.5c.9 0 1.7-.6 1.9-1.5l5.4-19c.4-1.3-.6-2.5-1.9-2.5H31.7l-.8-2.8c-.4-1.3-1.6-2.2-2.9-2.2h-4.8c-1.6 0-3.1 1.2-3.2 2.8-.1 1.7 1.3 3.2 3 3.2h2.8l9.4 31.8c.4 1.3 1.5 2.2 2.9 2.2h34.8c1.6 0 3.1-1.2 3.2-2.8.1-1.7-1.3-3.2-3-3.2H42.5c-1.3 0-2.5-.9-2.8-2.1v-.1c-.7-1.9.8-3.8 2.7-3.8z"},circle:[{cx:"43",cy:"73",r:"5"},{cx:"67",cy:"73",r:"5"}]}},work_capacity_limit:{xmlns:"http://www.w3.org/2000/svg",g:{path:[{d:"M75.9 29.3l-9-8.9c-.3-.3-.6-.4-.9-.4-.8 0-1.4.6-1.4 1.4v6.4c.1 2.1 1.8 3.8 3.9 3.8h6.4c.7 0 1.3-.6 1.3-1.3 0-.4-.1-.7-.3-1zM29.6 62.6v-31c-3.2 0-5.8 2.6-5.8 5.8v36.7c0 3.2 2.6 5.8 5.8 5.9h29.2c3.2 0 5.7-2.5 5.8-5.7H41.3c-6.4 0-11.7 0-11.7-11.7zM51.5 44.3v9H60s.5-3.2-2.4-6.2c-2.9-2.9-6.1-2.8-6.1-2.8z"},{d:"M74.2 37.4h-9.8c-3.2.1-5.8-2.5-5.9-5.7V21.9c.1-1-.7-1.8-1.7-1.9H41.2c-3.2-.1-5.8 2.5-5.9 5.7V62.5c0 3.2 2.6 5.8 5.8 5.8H70.3c3.2.1 5.8-2.5 5.9-5.7V39.4c0-1.1-.8-2-2-2zM63.5 53c-.1 6.5-5.4 11.8-11.9 11.7s-11.8-5.4-11.7-11.9c.1-6.5 5.4-11.8 11.9-11.7 6.5 0 11.7 5.4 11.7 11.9z"}]}},work_capacity_usage:{xmlns:"http://www.w3.org/2000/svg",g:{path:[{d:"M39 32h22c1.1 0 2-.9 2-2v-4c0-3.3-2.7-6-6-6H43c-3.3 0-6 2.7-6 6v4c0 1.1.9 2 2 2zM49.8 48.4v11.4h10.7s.6-4-3.1-7.8-7.6-3.6-7.6-3.6z"},{d:"M72 25h-2c-.6 0-1 .4-1 1v4c0 4.4-3.6 8-8 8H39c-4.4 0-8-3.6-8-8v-4c0-.6-.4-1-1-1h-2c-3.3 0-6 2.7-6 6v43c0 3.3 2.7 6 6 6h44c3.3 0 6-2.7 6-6V31c0-3.3-2.7-6-6-6zm-7.1 34.3c-.1 8.2-6.8 14.9-15 14.8-8.2-.1-14.9-6.8-14.8-15 .1-8.2 6.8-14.9 15-14.8 8.2 0 14.8 6.8 14.8 15z"}]}},work_contract:{xmlns:"http://www.w3.org/2000/svg",path:[{d:"M56.3 34h9.1a1.16 1.16 0 001.2-1.2 1.09 1.09 0 00-.4-.9L55 20.6a1.27 1.27 0 00-.9-.4 1.16 1.16 0 00-1.2 1.2v9.1a3.6 3.6 0 003.4 3.5zM63.9 55.2a12.3 12.3 0 1012.3 12.3 12.29 12.29 0 00-12.3-12.3zM66 68.6c-.4 0-.7-.1-1-.1l-4.7 4.6a1.22 1.22 0 01-1 .5 1.28 1.28 0 01-1-.4 1.66 1.66 0 010-2.1l4.7-4.7a2.79 2.79 0 01-.1-1 3.85 3.85 0 013.7-4.1c.4 0 .7.1 1 .1.1 0 .1.1.1.4l-2.1 2.1a.45.45 0 000 .5l1.5 1.5a.63.63 0 00.6 0l2.1-2.1c.1-.1.4-.1.4.1a3.75 3.75 0 01.1 1 4 4 0 01-4.3 3.7z"},{d:"M51.6 56.6c4.3-5 11.3-5.3 12.3-5.3s2.7-.1 2.6-1.5 0-8.9 0-8.9a1.63 1.63 0 00-1.7-1.7h-12a5.12 5.12 0 01-5.1-5.1v-12a1.63 1.63 0 00-1.7-1.7H29a5.26 5.26 0 00-5.1 5.1v41.1a5.12 5.12 0 005.1 5.1h17.4s1.7-1 1.6-2.4-.6-7.8 3.6-12.7zM36 24.9a3.7 3.7 0 11-3.7 3.7 3.69 3.69 0 013.7-3.7zm-5.7 12.9a5.62 5.62 0 015.6-4.8h.2a5.62 5.62 0 015.6 4.8.9.9 0 01-1 .9h-9.6c-.8 0-.8-.5-.8-.9zm15 21.9a1.63 1.63 0 01-1.7 1.7H32.4a1.63 1.63 0 01-1.7-1.7V58a1.63 1.63 0 011.7-1.7h11.2a1.63 1.63 0 011.7 1.7zm-12.9-8.6a1.63 1.63 0 01-1.7-1.7v-1.7a1.63 1.63 0 011.7-1.7H53a1.63 1.63 0 011.7 1.7v1.7a1.63 1.63 0 01-1.7 1.7z"}]},work_forecast:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M77.7 29.2S74.2 22 66.4 22s-11.5 7.4-11.5 7.4a11.67 11.67 0 00-9.9 0S41.4 22 33.6 22s-11.3 7.2-11.3 7.2-7.3 16.3-7.5 30.9C14.6 74.5 24.3 78 28.9 78c5 0 16.8-2.1 16.2-18.5a4.78 4.78 0 014.5-2.7 5.94 5.94 0 015.4 2.7C54.4 75.9 66.2 78 71.1 78c4.5 0 14.3-3.5 14.1-17.9-.2-14.6-7.5-30.9-7.5-30.9zM29.8 71.6a8.7 8.7 0 118.7-8.7 8.71 8.71 0 01-8.7 8.7zm40.4 0a8.7 8.7 0 118.7-8.7 8.71 8.71 0 01-8.7 8.7z"}},work_order:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M65.2 52.2c-3.6 1.4-5 4.8-5.2 5.3-.3.7-.8.8-.8.8h-18c-.3 0-.6-.4-.8-.7-1.5-3.5-5-6.1-9-6.1-3.7 0-6.9 2-8.6 5-.2.4-.8.5-1.2.2-1-.9-1.6-2.2-1.6-3.6 0 0-.6-11.6 3.3-17.6.7-1 1.2-1.4 2.1-1.4h38c.4 0 .8 0 1.2.3 0 0 4.2 6.4 4.8 7 .5.5 1 .9 2.3 1.2.8.2 8.1 2.8 8.1 2.8.4.2.3.7.3 1.1V53c0 1.4-.4 2.7-1.4 3.6-.4.3-.9.2-1.1-.2-1.7-3-4.8-5-8.5-5-1.5 0-2.7.3-3.9.8"},circle:[{cx:"69",cy:"61.1",r:"4.9"},{cx:"31.5",cy:"61.1",r:"4.9"}]},work_order_item:{xmlns:"http://www.w3.org/2000/svg",path:[{d:"M39 32h22c1.1 0 2-.9 2-2v-4c0-3.3-2.7-6-6-6H43c-3.3 0-6 2.7-6 6v4c0 1.1.9 2 2 2z"},{d:"M72 25h-2c-.6 0-1 .4-1 1v4c0 4.4-3.6 8-8 8H39c-4.4 0-8-3.6-8-8v-4c0-.6-.4-1-1-1h-2c-3.3 0-6 2.7-6 6v43c0 3.3 2.7 6 6 6h44c3.3 0 6-2.7 6-6V31c0-3.3-2.7-6-6-6zm-5.2 24L47.6 68.2c-.5.5-1.1.8-1.8.8s-1.4-.3-1.9-.8L33.2 57.5c-.5-.5-.5-1.1 0-1.6l2.1-2.1c.5-.5 1.1-.5 1.6 0l8.8 8.8L63 45.3c.5-.5 1.1-.5 1.6 0l2.1 2.1c.5.5.5 1.2.1 1.6z"}]},work_plan:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M39 32h22a2 2 0 002-2v-4a6 6 0 00-6-6H43a6 6 0 00-6 6v4a2 2 0 002 2zm33-7h-2a.94.94 0 00-1 1v4a8 8 0 01-8 8H39a8 8 0 01-8-8v-4a.94.94 0 00-1-1h-2a6 6 0 00-6 6v43a6 6 0 006 6h44a6 6 0 006-6V31a6 6 0 00-6-6zM39 68a2 2 0 01-2 2h-2a2 2 0 01-2-2v-2a2 2 0 012-2h2a2 2 0 012 2zm0-10a2 2 0 01-2 2h-2a2 2 0 01-2-2v-2a2 2 0 012-2h2a2 2 0 012 2zm0-10a2 2 0 01-2 2h-2a2 2 0 01-2-2v-2a2 2 0 012-2h2a2 2 0 012 2zm28 20a2 2 0 01-2 2H45a2 2 0 01-2-2v-2a2 2 0 012-2h20a2 2 0 012 2zm0-10a2 2 0 01-2 2H45a2 2 0 01-2-2v-2a2 2 0 012-2h20a2 2 0 012 2zm0-10a2 2 0 01-2 2H45a2 2 0 01-2-2v-2a2 2 0 012-2h20a2 2 0 012 2z"}},work_plan_rule:{xmlns:"http://www.w3.org/2000/svg",path:[{d:"M39.3 32.1h21.4a2 2 0 002-2v-4a6 6 0 00-5.8-6H43.3a5.91 5.91 0 00-5.8 6v4a1.74 1.74 0 001.8 2z"},{d:"M71.4 25.2h-2a.94.94 0 00-1 1v4a7.9 7.9 0 01-7.8 7.9H39.3a7.9 7.9 0 01-7.8-7.9v-4a.94.94 0 00-1-1h-2a5.91 5.91 0 00-5.8 6v42.6a6 6 0 005.8 6h42.9a5.91 5.91 0 005.8-6V31.2a5.79 5.79 0 00-5.8-6zM68.7 73a1.49 1.49 0 01-1.2 1.2H56.3c-.7 0-1-.8-.3-1.3l3.6-3.8-7-7H32.4a1.07 1.07 0 01-1-1v-4.5a1.08 1.08 0 011-1h20.2l6.9-7-3.6-3.6c-.5-.6-.3-1.4.4-1.4h11.1a1.49 1.49 0 011.2 1.2v11.1c0 .7-.8 1-1.3.3l-3.6-3.5-6.2 6.2 6.2 6.1 3.6-3.6c.6-.5 1.4-.3 1.4.4z"}]},work_plan_template:{xmlns:"http://www.w3.org/2000/svg",path:[{d:"M33.3 73.5a4.89 4.89 0 01-4.8-4.9v-34h-1.6a4.89 4.89 0 00-4.8 4.9v35.4a4.89 4.89 0 004.8 4.9h35.6a4.89 4.89 0 004.8-4.9v-1.4z"},{d:"M46.5 30.2h17.8a1.58 1.58 0 001.6-1.6v-3.3a4.91 4.91 0 00-4.9-4.9H49.7a4.91 4.91 0 00-4.9 4.9v3.3a1.73 1.73 0 001.7 1.6zm26.7-5.7h-1.6a.74.74 0 00-.8.8v3.3a6.57 6.57 0 01-6.5 6.6H46.5a6.57 6.57 0 01-6.5-6.6v-3.3a.74.74 0 00-.8-.8h-1.6a4.91 4.91 0 00-4.9 4.9v35.3a4.91 4.91 0 004.9 4.9h35.6a4.91 4.91 0 004.9-4.9V29.4a4.91 4.91 0 00-4.9-4.9zM46.5 59.8a1.58 1.58 0 01-1.6 1.6h-1.6a1.58 1.58 0 01-1.6-1.6v-1.6a1.58 1.58 0 011.6-1.6h1.6a1.58 1.58 0 011.6 1.6zm0-8.2a1.58 1.58 0 01-1.6 1.6h-1.6a1.58 1.58 0 01-1.6-1.6V50a1.58 1.58 0 011.6-1.6h1.6a1.58 1.58 0 011.6 1.6zm0-8.2a1.58 1.58 0 01-1.6 1.6h-1.6a1.58 1.58 0 01-1.6-1.6v-1.6a1.58 1.58 0 011.6-1.6h1.6a1.58 1.58 0 011.6 1.6zm22.7 16.4a1.58 1.58 0 01-1.6 1.6H51.4a1.58 1.58 0 01-1.6-1.6v-1.6a1.58 1.58 0 011.6-1.6h16.2a1.58 1.58 0 011.6 1.6zm0-8.2a1.58 1.58 0 01-1.6 1.6H51.4a1.58 1.58 0 01-1.6-1.6V50a1.58 1.58 0 011.6-1.6h16.2a1.58 1.58 0 011.6 1.6zm0-8.2a1.58 1.58 0 01-1.6 1.6H51.4a1.58 1.58 0 01-1.6-1.6v-1.6a1.58 1.58 0 011.6-1.6h16.2a1.58 1.58 0 011.6 1.6z"}]},work_plan_template_entry:{xmlns:"http://www.w3.org/2000/svg",path:[{d:"M69.6 59.3a10.2 10.2 0 1010.2 10.2 10.24 10.24 0 00-10.2-10.2zm6.6 7.4l-7.5 7.5a1.45 1.45 0 01-2 0L63 70.6a.67.67 0 010-1l1-1a.67.67 0 011 0l2.6 2.6 6.5-6.5a.67.67 0 011 0l1 1a.76.76 0 01.1 1zM44.5 30h17.8a1.58 1.58 0 001.6-1.6v-3.3a4.91 4.91 0 00-4.9-4.9H47.7a4.91 4.91 0 00-4.9 4.9v3.3a1.73 1.73 0 001.7 1.6zM56.1 73.3H31.4a4.89 4.89 0 01-4.8-4.9v-34H25a4.89 4.89 0 00-4.8 4.9v35.4a4.89 4.89 0 004.8 4.9h34.9a12.11 12.11 0 01-3.8-6.3z"},{d:"M35.6 69.5h20.1a15.14 15.14 0 01.7-3.7 13.68 13.68 0 012.3-4.5h-9.4a1.58 1.58 0 01-1.6-1.6V58a1.58 1.58 0 011.6-1.6h16.2c.2 0 .3 0 .4.1a13.61 13.61 0 013.6-.5 13.89 13.89 0 016.5 1.6V29.2a4.91 4.91 0 00-4.9-4.9h-1.6a.74.74 0 00-.8.8v3.3a6.57 6.57 0 01-6.5 6.6H44.5a6.64 6.64 0 01-6.5-6.6v-3.3a.74.74 0 00-.8-.8h-1.6a4.91 4.91 0 00-4.9 4.9v35.3a5.06 5.06 0 004.9 5zm12.1-28a1.58 1.58 0 011.6-1.6h16.2a1.58 1.58 0 011.6 1.6v1.6a1.58 1.58 0 01-1.6 1.6H49.4a1.58 1.58 0 01-1.6-1.6v-1.6zm0 8.2a1.58 1.58 0 011.6-1.6h16.2a1.58 1.58 0 011.6 1.6v1.6a1.58 1.58 0 01-1.6 1.6H49.4a1.58 1.58 0 01-1.6-1.6v-1.6zm-8-8.2a1.58 1.58 0 011.6-1.6h1.6a1.58 1.58 0 011.6 1.6v1.6a1.58 1.58 0 01-1.6 1.6h-1.6a1.58 1.58 0 01-1.6-1.6zm0 8.2a1.58 1.58 0 011.6-1.6h1.6a1.58 1.58 0 011.6 1.6v1.6a1.58 1.58 0 01-1.6 1.6h-1.6a1.58 1.58 0 01-1.6-1.6zm0 8.3a1.58 1.58 0 011.6-1.6h1.6a1.58 1.58 0 011.6 1.6v1.6a1.58 1.58 0 01-1.6 1.6h-1.6a1.58 1.58 0 01-1.6-1.6z"}]},work_queue:{xmlns:"http://www.w3.org/2000/svg",path:{d:"M47.9 71.8h-26c-1.1 0-2-.9-2-2v-4c0-1.1.9-2 2-2h25.9c1.1 0 2 .9 2 2v4c.1 1-.7 1.9-1.8 2h-.1zM47.9 36h-26c-1.1 0-2-.9-2-2v-4c0-1.1.9-2 2-2h25.9c1.1 0 2 .9 2 2v4c.1 1-.7 1.9-1.8 2h-.1zM61.4 66.6c.7.7 1.9.7 2.6 0l15.3-15.2c.8-.7.8-1.9.2-2.6l-.2-.2L64 33.3c-.7-.8-1.9-.8-2.6-.2l-.2.2-2.8 2.8c-.8.7-.8 1.9-.2 2.6l.2.2 4.8 4.8c.5.5.5 1.4 0 1.9-.2.2-.6.4-.9.4H22.1c-1.1 0-2.1.9-2.1 2v4c.1 1.1 1 1.9 2.1 2h40.4c.7 0 1.3.6 1.3 1.3 0 .3-.1.7-.4.9L58.6 61c-.8.7-.8 1.9-.2 2.6l.2.2 2.8 2.8z"}},work_step:{xmlns:"http://www.w3.org/2000/svg",path:[{d:"M39 32h22a2 2 0 002-2v-4a6 6 0 00-6-6H43a6 6 0 00-6 6v4a2 2 0 002 2z"},{d:"M72 25h-2a.94.94 0 00-1 1v4a8 8 0 01-8 8H39a8 8 0 01-8-8v-4a.94.94 0 00-1-1h-2a6 6 0 00-6 6v43a6 6 0 006 6h44a6 6 0 006-6V31a6 6 0 00-6-6zM57 64a2 2 0 01-2 2H34.9a2 2 0 01-2-2v-2a2 2 0 012-2H55a2 2 0 012 2zm10-10a2 2 0 01-2 2H34.9a2 2 0 01-2-2v-2a2 2 0 012-2H65a2 2 0 012 2z"}]},work_step_template:{xmlns:"http://www.w3.org/2000/svg",path:[{d:"M28.5 68.5v-34h-1.6a4.89 4.89 0 00-4.8 4.9v35.4a4.89 4.89 0 004.8 4.9h35.6a4.89 4.89 0 004.8-4.9v-1.4h-34a4.89 4.89 0 01-4.8-4.9zM46.4 30.2h17.7a1.58 1.58 0 001.6-1.6v-3.3a4.89 4.89 0 00-4.8-4.9H49.6a4.82 4.82 0 00-4.8 4.9v3.3a1.64 1.64 0 001.6 1.6z"},{d:"M73 24.4h-1.6a.74.74 0 00-.8.8v3.3a6.57 6.57 0 01-6.5 6.6H46.4a6.64 6.64 0 01-6.5-6.6v-3.3a.74.74 0 00-.8-.8h-1.6a4.82 4.82 0 00-4.8 4.9v35.3a4.89 4.89 0 004.8 4.9H73a4.82 4.82 0 004.8-4.9V29.4a4.85 4.85 0 00-4.8-5zM60.9 55.5a1.58 1.58 0 01-1.6 1.6H43.1a1.58 1.58 0 01-1.6-1.6v-1.6a1.58 1.58 0 011.6-1.6h16.2a1.58 1.58 0 011.6 1.6zm8.1-8.2a1.58 1.58 0 01-1.6 1.6H43.1a1.58 1.58 0 01-1.6-1.6v-1.6a1.58 1.58 0 011.6-1.6h24.3a1.58 1.58 0 011.6 1.6z"}]},work_type:{xmlns:"http://www.w3.org/2000/svg",path:[{d:"M75.87 29.25l-9-8.88A1.13 1.13 0 0066 20a1.39 1.39 0 00-1.38 1.38v6.38a3.89 3.89 0 003.87 3.87h6.37a1.39 1.39 0 001.38-1.38 1.66 1.66 0 00-.37-1zM29.63 62.63v-31a5.84 5.84 0 00-5.88 5.75v36.74A5.87 5.87 0 0029.63 80h29.12a5.84 5.84 0 005.88-5.75H41.25c-6.37 0-11.62 0-11.62-11.62z","fill-rule":"evenodd"},{d:"M74.25 37.38H64.5a5.84 5.84 0 01-5.87-5.75v-9.75A1.77 1.77 0 0056.75 20h-15.5a5.84 5.84 0 00-5.87 5.75V62.5a5.76 5.76 0 005.88 5.75h29.12a5.84 5.84 0 005.88-5.75V39.38a2 2 0 00-2.01-2zM49.91 62.22a2.49 2.49 0 01-2.49 2.49h-5A2.49 2.49 0 0140 62.22v-5a2.49 2.49 0 012.49-2.49h5a2.49 2.49 0 012.49 2.49zm0-13.68A2.49 2.49 0 0147.43 51h-5A2.49 2.49 0 0140 48.54v-5a2.49 2.49 0 012.49-2.49h5a2.49 2.49 0 012.49 2.49zm13.68 13.68a2.49 2.49 0 01-2.49 2.48h-5a2.49 2.49 0 01-2.49-2.49v-5a2.49 2.49 0 012.49-2.49h5a2.49 2.49 0 012.49 2.49zm0-13.68A2.49 2.49 0 0161.1 51h-5a2.49 2.49 0 01-2.49-2.49v-5a2.49 2.49 0 012.49-2.49h5a2.49 2.49 0 012.49 2.49z","fill-rule":"evenodd"}]},work_type_group:{xmlns:"http://www.w3.org/2000/svg",path:[{d:"M79.9 29.3c0-.3-.1-.6-.3-.9l-8.2-8.1c-.1-.2-.4-.3-.7-.3h-7.9-14.2c-2.9-.1-5.3 2.3-5.4 5.2v26.5c0 2.9 2.4 5.3 5.3 5.3h26.1c2.9.1 5.3-2.3 5.4-5.2V30.7l-.1-1.4zm-23.5 21c0 1.3-1 2.3-2.3 2.3h-4.5c-1.2 0-2.2-1.1-2.2-2.3v-4.5c0-1.3 1-2.3 2.3-2.3h4.5c1.3 0 2.3 1 2.3 2.3l-.1 4.5zm0-12.4c0 1.3-1 2.3-2.3 2.3h-4.5c-1.2 0-2.2-1.1-2.2-2.3v-4.5c0-1.3 1-2.3 2.3-2.3h4.5c1.3 0 2.3 1 2.3 2.3l-.1 4.5zm12.5 12.4c0 1.3-1 2.3-2.3 2.3h-4.5c-1.3 0-2.3-1-2.3-2.3v-4.5c0-1.3 1-2.3 2.3-2.3h4.5c1.3 0 2.3 1 2.3 2.3v4.5zm0-12.4c0 1.3-1 2.3-2.3 2.3h-4.5c-1.3 0-2.3-1-2.3-2.3v-4.5c0-1.3 1-2.3 2.3-2.3h4.5c1.3 0 2.3 1 2.3 2.3v4.5z"},{d:"M42.8 62.7c-2.9 0-5.3-2.4-5.3-5.3v-5.1-22.2c-3.2 0-5.8 2.6-5.8 5.8v26.6c0 3.2 1.7 5.9 5.8 5.9h25c3.2 0 5.7-2.5 5.8-5.7H42.8z"},{d:"M31.1 74.3c-2.9 0-5.3-2.4-5.3-5.3v-5-22.3c-3.2 0-5.8 2.6-5.8 5.8v26.6c0 3.2 1.7 5.9 5.8 5.9h25c3.2 0 5.7-2.5 5.8-5.7H31.1c.1 0 0 0 0 0z"}]},viewBox:"0 0 100 100"};function Xe(e){return(Xe="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function $e(){return($e=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}function Ze(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function et(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function tt(e,t){return(tt=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function nt(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=at(e);if(t){var o=at(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return rt(this,n)}}function rt(e,t){return!t||"object"!==Xe(t)&&"function"!=typeof t?ot(e):t}function ot(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function at(e){return(at=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function ct(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var st=function(e){var t,n,a=e.displayName||e.name||"Component";return n=t=function(t){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&tt(e,t)}(s,t);var n,r,a,c=nt(s);function s(){var t;Ze(this,s);for(var n=arguments.length,r=new Array(n),a=0;a<n;a++)r[a]=arguments[a];return ct(ot(t=c.call.apply(c,[this].concat(r))),"getWrappedComponent",(function(n){return o.a.createElement(e,$e({},t.props,{direction:n}))})),t}return n=s,(r=[{key:"render",value:function(){return o.a.createElement(Pe.Consumer,null,this.getWrappedComponent)}}])&&et(n.prototype,r),a&&et(n,a),s}(r.Component),ct(t,"displayName","LanguageDirection(".concat(a,")")),n};function it(){return(it=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}function lt(e,t){if(null==e)return{};var n,r,o=function(e,t){if(null==e)return{};var n,r,o={},a=Object.keys(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)>=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}var pt=function(e,t){var n=e.name,r=void 0===n?"":n,a=(e.assistiveText,e.category),c=e.icon,s=e.path,i=e.direction,l=lt(e,["name","assistiveText","category","icon","path","direction"]);ke("UtilityIcon",{name:r,category:a,path:s,context:t});var p,u,h={action:Ge,custom:Ye,doctype:Qe,standard:Je,utility:Ue};if(c?p=c:Object.keys(h[a]).length&&((p=h[a][r.toLowerCase()]).viewBox=h[a].viewBox),s)u=s;else if(t.onRequestIconPath)u=t.onRequestIconPath({category:a,name:r});else if(t["".concat(a,"Sprite")])u="".concat(t["".concat(a,"Sprite")],"#").concat(r);else{var d=i===je.RTL?"symbols-rtl.svg":"symbols.svg";u=t.iconPath&&"".concat(t.iconPath,"/").concat(a,"-sprite/svg/").concat(d,"#").concat(r)}return p?o.a.createElement(We,it({data:p,name:r},l)):o.a.createElement("svg",it({key:"".concat(r,"_").concat(a)},l),o.a.createElement("use",{href:u}))};pt.displayName="UtilityIcon",pt.propTypes={assistiveText:c.a.object,category:c.a.oneOf(["action","custom","doctype","standard","utility"]),icon:c.a.object,name:c.a.string,path:c.a.string},pt.defaultProps={category:"utility"},pt.contextTypes={iconPath:c.a.string,onRequestIconPath:c.a.func,actionSprite:c.a.string,customSprite:c.a.string,doctypeSprite:c.a.string,standardSprite:c.a.string,utilitySprite:c.a.string};var ut=st(pt);function ht(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var dt=function(e){var t;return He(M,e),o.a.createElement(ut,{"aria-hidden":"true",category:e.category,className:i()("slds-button__icon",(t={},ht(t,"slds-button__icon_".concat(e.size),e.size&&"medium"!==e.size),ht(t,"slds-button__icon_inverse-hint",e.inverse&&e.hint),ht(t,"slds-button__icon_hint",e.hint&&!e.inverse),ht(t,"slds-button__icon_".concat(e.position),e.position),t),e.className),icon:e.icon,name:e.name,path:e.path})},ft={category:c.a.oneOf(["action","custom","doctype","standard","utility"]).isRequired,hint:c.a.bool,icon:c.a.object,className:c.a.oneOfType([c.a.array,c.a.object,c.a.string]),inverse:c.a.bool,name:c.a.string,path:c.a.string,position:c.a.oneOf(["left","right"]),size:c.a.oneOf(["x-small","small","medium","large"])};dt.displayName=M,dt.propTypes=ft,dt.defaultProps={category:"utility",size:"medium"};var vt=dt;var mt=function(){},gt=n(28),yt=n(29),bt=n(9),wt=n.n(bt),zt=n(6),xt=n.n(zt);function _t(e){return(_t="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function Ot(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function Mt(e,t){return(Mt=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function St(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=Et(e);if(t){var o=Et(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return Ct(this,n)}}function Ct(e,t){return!t||"object"!==_t(t)&&"function"!=typeof t?function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e):t}function Et(e){return(Et=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}var Ht="undefined"!=typeof document,jt=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&Mt(e,t)}(c,e);var t,n,o,a=St(c);function c(e){var t;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,c),(t=a.call(this,e)).portalNode=null,t.state={isOpen:!1},t}return t=c,(n=[{key:"componentDidMount",value:function(){this.renderPortal()}},{key:"componentDidUpdate",value:function(){this.renderPortal()}},{key:"componentWillUnmount",value:function(){this.unmountPortal()}},{key:"getChildren",value:function(){return r.Children.only(this.props.children)}},{key:"getPortalParentNode",value:function(){return"string"==typeof this.props.renderTo?document.querySelector(this.props.renderTo):this.props.renderTo||Ht&&document.body}},{key:"setupPortalNode",value:function(){var e=this.getPortalParentNode();this.portalNode={},Ht&&(this.portalNode=document.createElement(this.props.renderTag),this.portalNode.setAttribute("style","display: block; height: 0px; width: 0px;"),this.portalNode.setAttribute("className","design-system-react-portal"),e.appendChild(this.portalNode),this.portalNodeInstance=this.props.onMount?this.props.onMount(void 0,{portal:this.portalNode}):this.portalNode)}},{key:"unmountPortal",value:function(){this.portalNode&&(xt.a.unmountComponentAtNode(this.portalNode),this.portalNode.parentNode.removeChild(this.portalNode)),this.portalNode=null}},{key:"updatePortal",value:function(){var e=this;this.props.id&&(this.portalNode.id=this.props.id),this.props.className&&(this.portalNode.className=this.props.className),this.props.style&&Object.keys(this.props.style).forEach((function(t){e.portalNode.style[t]=e.props.style[t]})),this.props.onUpdate&&(this.portalNodeInstance=this.props.onUpdate(this.portalNodeInstance))}},{key:"renderPortal",value:function(){var e=this;this.getChildren()&&Ht?(this.portalNode||this.setupPortalNode(),this.props.portalMount?this.props.portalMount({instance:this,reactElement:this.getChildren(),domContainerNode:this.portalNode,updateCallback:function(){e.updatePortal()}}):xt.a.unstable_renderSubtreeIntoContainer(this,this.getChildren(),this.portalNode,(function(){e.updatePortal(),!1===e.state.isOpen&&(e.props.onOpen&&e.props.onOpen(void 0,{portal:e.getChildren()}),e.setState({isOpen:!0}))}))):this.unmountPortal()}},{key:"render",value:function(){return null}}])&&Ot(t.prototype,n),o&&Ot(t,o),c}(r.Component);jt.displayName="Portal",jt.propTypes={renderTag:c.a.string,renderTo:c.a.any,id:c.a.string,children:c.a.node,className:c.a.any,style:c.a.object,onMount:c.a.func,onOpen:c.a.func,onUpdate:c.a.func,portalMount:c.a.func},jt.defaultProps={renderTag:"span",renderTo:null,onMount:function(){return null},onOpen:function(){return null},onUpdate:function(){return null},onUnmount:function(){return null}};var Pt=jt,kt={trapEvent:function(e){e&&(e.preventDefault(),e.stopPropagation(),e.nativeEvent&&e.nativeEvent.preventDefault&&e.nativeEvent.preventDefault(),e.nativeEvent&&e.nativeEvent.stopPropagation&&e.nativeEvent.stopPropagation())},trap:function(e){return kt.trapEvent(e)},trapImmediate:function(e){e.stopImmediatePropagation&&e.stopImmediatePropagation(),e.nativeEvent&&e.nativeEvent.stopImmediatePropagation&&e.nativeEvent.stopImmediatePropagation(),kt.trap(e)}},Nt=kt,Tt={ENTER:13,ESCAPE:27,SPACE:32,LEFT:37,UP:38,RIGHT:39,DOWN:40,TAB:9,DELETE:46,BACKSPACE:8},Lt=Tt;var Vt=function(e){return[].slice.call(e.querySelectorAll("*"),0).filter((function(e){return function(e){var t=e.getAttribute("tabindex");null===t&&(t=void 0);var n=isNaN(t);return(n||t>=0)&&function(e,t){var n=e.nodeName.toLowerCase();return/input|select|textarea|button|object/.test(n)?!e.disabled:"a"===n&&e.href||t}(e,!n)}(e)}))},Rt=!("undefined"==typeof window||!window.document||!window.document.createElement),Dt=Rt&&Boolean(window.addEventListener||window.attachEvent),It=(Rt&&Boolean(window.screen),null),At=null,Ft=function(e){if(Rt&&It&&e.keyCode===Lt.TAB){var t=Vt(It);if(t[e.shiftKey?0:t.length-1]===document.activeElement||It===document.activeElement)e.preventDefault(),t[e.shiftKey?t.length-1:0].focus()}},Bt={focusAncestor:function(e){var t=e.isPortal;if(Rt)if(t){var n=window.pageYOffset;It.focus({preventScroll:!0}),window.scrollTo(window.pageXOffset,n)}else It.focus()},hasOrAncestorHasFocus:function(){return Rt&&(document.activeElement===It||It.contains(document.activeElement))},returnFocusToStoredElement:function(){if(Rt){try{At.focus()}catch(e){console.warn("You tried to return focus to ".concat(At," but it is not in the DOM anymore"))}At=null}},setupScopedFocus:function(e){var t=e.ancestorElement;It=t,window.addEventListener("keydown",Ft,!1)},storeActiveElement:function(){At=Rt?document.activeElement:null},teardownScopedFocus:function(){It=null,Rt&&window.removeEventListener("keydown",Ft)}},qt=function(e,t){var n;switch(e){case"top left":n="top-start";break;case"top right":n="top-end";break;case"right top":n="right-start";break;case"right bottom":n="right-end";break;case"bottom left":n="bottom-start";break;case"bottom right":n="bottom-end";break;case"left top":n="left-start";break;case"left bottom":n="left-end";break;default:n=e}return t===je.RTL&&(n.indexOf("left")>-1?n=n.replace("left","right"):n.indexOf("right")>-1?n=n.replace("right","left"):n.indexOf("start")>-1?n=n.replace("start","end"):n.indexOf("end")>-1&&(n=n.replace("end","start"))),n},Kt=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return t.flipped?i()({"slds-nubbin_top":"top"===e,"slds-nubbin_top-left":"top left"===e,"slds-nubbin_top-right":"top right"===e,"slds-nubbin_bottom":"bottom"===e,"slds-nubbin_bottom-left":"bottom left"===e,"slds-nubbin_bottom-right":"bottom right"===e,"slds-nubbin_left":"left"===e,"slds-nubbin_left-bottom":"left bottom"===e,"slds-nubbin_left-top":"left top"===e,"slds-nubbin_right":"right"===e,"slds-nubbin_right-bottom":"right bottom"===e,"slds-nubbin_right-top":"right top"===e}):i()({"slds-nubbin_top":"bottom"===e,"slds-nubbin_top-left":"bottom left"===e,"slds-nubbin_top-right":"bottom right"===e,"slds-nubbin_bottom":"top"===e,"slds-nubbin_bottom-left":"top left"===e,"slds-nubbin_bottom-right":"top right"===e,"slds-nubbin_left":"right"===e,"slds-nubbin_left-bottom":"right bottom"===e,"slds-nubbin_left-top":"right top"===e,"slds-nubbin_right":"left"===e,"slds-nubbin_right-bottom":"left bottom"===e,"slds-nubbin_right-top":"left top"===e})},Wt=1/Math.sqrt(2),Ut=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.placement,n=0,r=0,o=24,a=16*Wt,c=.5*e.offsets.reference.width,s=.5*e.offsets.reference.height;return"top"===t?n=-1*a:"top-end"===t?(n=-1*a,r=o-c):"top-start"===t&&(n=-1*a,r=c-o),"bottom"===t?n=a:"bottom-end"===t?(n=a,r=o-c):"bottom-start"===t&&(n=a,r=c-o),"right"===t?r=a:"right-end"===t?(r=a,n=o-s):"right-start"===t&&(r=a,n=s-o),"left"===t?r=-1*a:"left-end"===t?(r=-1*a,n=o-s):"left-start"===t&&(r=-1*a,n=s-o),{left:r,top:n}};function Gt(e){return(Gt="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function Yt(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function Qt(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function Jt(e,t){return(Jt=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function Xt(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=Zt(e);if(t){var o=Zt(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return $t(this,n)}}function $t(e,t){return!t||"object"!==Gt(t)&&"function"!=typeof t?function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e):t}function Zt(e){return(Zt=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}var en=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&Jt(e,t)}(a,e);var t,n,r,o=Xt(a);function a(){return Yt(this,a),o.apply(this,arguments)}return t=a,(n=[{key:"getChildContext",value:function(){return{iconPath:this.props.iconPath,onRequestIconPath:this.props.onRequestIconPath,actionSprite:this.props.actionSprite,customSprite:this.props.customSprite,doctypeSprite:this.props.doctypeSprite,standardSprite:this.props.standardSprite,utilitySprite:this.props.utilitySprite}}},{key:"render",value:function(){return this.props.children}}])&&Qt(t.prototype,n),r&&Qt(t,r),a}(o.a.Component);en.displayName="SLDSIconSettings",en.childContextTypes={iconPath:c.a.string,onRequestIconPath:c.a.func,actionSprite:c.a.string,customSprite:c.a.string,doctypeSprite:c.a.string,standardSprite:c.a.string,utilitySprite:c.a.string},en.propTypes={iconPath:c.a.string,onRequestIconPath:c.a.func,actionSprite:c.a.string,customSprite:c.a.string,doctypeSprite:c.a.string,standardSprite:c.a.string,utilitySprite:c.a.string};var tn=en;function nn(e){return(nn="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function rn(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function on(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?rn(Object(n),!0).forEach((function(t){dn(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):rn(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function an(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function cn(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function sn(e,t){return(sn=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function ln(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=hn(e);if(t){var o=hn(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return pn(this,n)}}function pn(e,t){return!t||"object"!==nn(t)&&"function"!=typeof t?un(e):t}function un(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function hn(e){return(hn=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function dn(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var fn=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&sn(e,t)}(c,e);var t,n,r,a=ln(c);function c(){var e;an(this,c);for(var t=arguments.length,n=new Array(t),r=0;r<t;r++)n[r]=arguments[r];return dn(un(e=a.call.apply(a,[this].concat(n))),"state",{triggerPopperJS:!1,isOpen:!1}),dn(un(e),"getPropOffsetsInPixels",(function(e){var t=e.split(" ");return{vertical:parseInt(t[0],10),horizontal:parseInt(t[1],10)}})),dn(un(e),"getPopperStyles",(function(){var t=e.state.popperData;if(!e.popper||!t)return{position:"absolute",pointerEvents:"none"};var n=t.offsets.popper.position,r=e.getPropOffsetsInPixels(e.props.offset),o=e.props.hasNubbin?Ut(e.state.popperData):{left:0,top:0},a=t.offsets.popper.left+o.left+r.horizontal,c=t.offsets.popper.top+o.top+r.vertical;return on(on({},t.style),{},{left:isNaN(a)?0:a,top:isNaN(c)?0:c,right:"inherit",position:n})})),dn(un(e),"setDialogContent",(function(t){e.dialogContent=t,e.state.triggerPopperJS||e.setState({triggerPopperJS:!0})})),dn(un(e),"handleClickOutside",(function(){e.handleClose()})),dn(un(e),"handleClose",(function(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};n.componentWillUnmount||e.setState({triggerPopperJS:!0}),e.props.onClose&&e.props.onClose(t,n)})),dn(un(e),"handleClick",(function(e){e.nativeEvent&&(e.nativeEvent.preventDefault(),e.nativeEvent.stopPropagation())})),dn(un(e),"handleKeyDown",(function(t){t.keyCode===Lt.TAB&&e.props.closeOnTabKey&&(Nt.trap(t),e.handleClose(t)),e.props.onKeyDown&&e.props.onKeyDown(t)})),dn(un(e),"handleOpen",(function(){"popover"===e.props.variant&&e.dialogContent&&(Bt.storeActiveElement(),Bt.setupScopedFocus({ancestorElement:e.dialogContent}),Bt.hasOrAncestorHasFocus()||Bt.focusAncestor({isPortal:"overflowBoundaryElement"===e.props.position})),e.props.onOpen&&e.props.onOpen(void 0,{portal:e.dialogContent})})),dn(un(e),"createPopper",(function(){var t=e.props.onRequestTargetElement(),n=e.dialogContent,r=qt(e.props.align,e.props.direction),o={applyStyle:{enabled:!1},preventOverflow:{enabled:!e.props.hasStaticAlignment,boundariesElement:"absolute"===e.props.position?"scrollParent":"viewport"},hide:{enabled:!1},flip:{enabled:!e.props.hasStaticAlignment},removeOnDestroy:!0,updateState:{enabled:!0,order:900,fn:function(t){return(e.state.popperData&&!wt()(t.offsets,e.state.popperData.offsets)||!e.state.popperData)&&e.setState({popperData:t}),t}}};t||console.error("Target node not found!",t),n||console.error("Popper node not found!",n),e.popper=new yt.a(t,n,{placement:r,eventsEnabled:!0,modifiers:o}),e.popper.scheduleUpdate()})),dn(un(e),"destroyPopper",(function(){e.popper&&e.popper.destroy()})),e}return t=c,(n=[{key:"componentDidMount",value:function(){"absolute"!==this.props.position&&"relative"!==this.props.position||this.handleOpen()}},{key:"UNSAFE_componentWillUpdate",value:function(){this.popper&&this.popper.scheduleUpdate()}},{key:"componentDidUpdate",value:function(e,t){!0===this.state.triggerPopperJS&&!1===t.triggerPopperJS&&("absolute"===this.props.position||"overflowBoundaryElement"===this.props.position)&&this.dialogContent&&this.props.onRequestTargetElement()&&this.createPopper()}},{key:"componentWillUnmount",value:function(){"popover"===this.props.variant&&(Bt.teardownScopedFocus(),Bt.returnFocusToStoredElement()),"absolute"!==this.props.position&&"overflowBoundaryElement"!==this.props.position||this.destroyPopper(),this.handleClose(void 0,{componentWillUnmount:!0})}},{key:"render",value:function(){var e=this,t={},n="popover"===this.props.variant?"dialog":this.props.variant;"absolute"!==this.props.position&&"overflowBoundaryElement"!==this.props.position||(t=on(on({},t),{},{outline:0},this.getPopperStyles())),"target"===this.props.inheritWidthOf&&this.props.onRequestTargetElement()?t.width=this.props.onRequestTargetElement().getBoundingClientRect().width:"menu"===this.props.inheritWidthOf&&this.dialogContent&&this.dialogContent.querySelector(".slds-listbox")&&(t.width=this.dialogContent.querySelector(".slds-listbox").getBoundingClientRect().width),t=on(on({},t),this.props.style);var r="popover"===this.props.variant?"section":"div",a=o.a.createElement(r,on({className:i()(dn({"absolute-positioned":"absolute"===this.props.position,"portal-positioned":"overflowBoundaryElement"===this.props.position},"".concat(this.props.outsideClickIgnoreClass),"overflowBoundaryElement"===this.props.position),this.props.hasNubbin&&Kt(this.props.align,this.state.popperData),this.props.contentsClassName)||void 0,style:t,onMouseDown:this.props.onMouseDown,onKeyDown:this.handleKeyDown,onMouseEnter:this.props.onMouseEnter,onMouseLeave:this.props.onMouseLeave,ref:this.setDialogContent,role:n,tabIndex:"popover"===this.props.variant?"-1":void 0},this.props.containerProps),this.props.children),c={absolute:function(){return a},relative:function(){return a},overflowBoundaryElement:function(){var t=Object.keys(tn.childContextTypes).filter((function(t){return Boolean(e.context[t])})).reduce((function(t,n){return on(on({},t),dn({},n,e.context[n]))}),{}),n=o.a.createElement(Pe.Provider,{value:e.props.direction},o.a.createElement(tn,t,a));return o.a.createElement(Pt,{onOpen:e.handleOpen,portalMount:e.props.portalMount},n)}};return c[this.props.position]&&c[this.props.position]()}}])&&cn(t.prototype,n),r&&cn(t,r),c}(o.a.Component);dn(fn,"displayName","SLDSDialog"),dn(fn,"propTypes",{align:c.a.oneOf(["top","top left","top right","right","right top","right bottom","bottom","bottom left","bottom right","left","left top","left bottom"]),className:c.a.oneOfType([c.a.array,c.a.object,c.a.string]),contentsClassName:c.a.oneOfType([c.a.array,c.a.object,c.a.string]),children:c.a.node.isRequired,closeOnTabKey:c.a.bool,containerProps:c.a.object,direction:c.a.oneOf([je.LTR,je.RTL]),hasNubbin:c.a.bool,hasStaticAlignment:c.a.bool,inheritWidthOf:c.a.oneOf(["target","menu","none"]),offset:c.a.string,onClose:c.a.func,onKeyDown:c.a.func,onMouseEnter:c.a.func,onMouseLeave:c.a.func,onOpen:c.a.func,onRequestTargetElement:c.a.func.isRequired,outsideClickIgnoreClass:c.a.string,portalMount:c.a.func,position:c.a.oneOf(["absolute","overflowBoundaryElement","relative"]).isRequired,style:c.a.object,variant:c.a.oneOf(["dropdown","popover","tooltip"])}),dn(fn,"defaultProps",{align:"bottom left",direction:je.LTR,offset:"0px 0px",outsideClickIgnoreClass:"ignore-react-onclickoutside"}),fn.contextTypes={iconPath:c.a.string,onRequestIconPath:c.a.func,actionSprite:c.a.string,customSprite:c.a.string,doctypeSprite:c.a.string,standardSprite:c.a.string,utilitySprite:c.a.string};var vn=st(fn);var mn=function(){},gn=n(30),yn=function(){var e=i.a.apply(void 0,arguments);return""===e?void 0:e},bn=n(31),wn=n.n(bn);function zn(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function xn(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?zn(Object(n),!0).forEach((function(t){_n(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):zn(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function _n(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var On={assistiveText:{},category:"standard",colorVariant:"default",size:"medium"},Mn=function(e){mn(X,e,gn);var t=e.category,n=e.className,r=e.colorVariant,a=e.containerClassName,c=e.containerStyle,s=e.icon,i=e.inverse,l=e.name,p=e.path,u=e.size,h=e.title,d=e.productTheme,f=e.style;d&&(f=xn({backgroundColor:wn.a[d]},f));var v="string"==typeof e.assistiveText?e.assistiveText:xn(xn({},On.assistiveText),e.assistiveText).label,m=l?l.replace(/_/g,"-"):"";return o.a.createElement("span",{className:yn(_n({"slds-icon_container":"utility"!==t,"slds-icon_container_circle":"action"===t},"slds-icon-".concat(t,"-").concat(m),"utility"!==t&&"doctype"!==t&&!p),a),style:c,title:h},o.a.createElement(ut,{"aria-hidden":"true",category:t,className:yn(n,"slds-icon",{"slds-icon_xx-small":"xx-small"===u,"slds-icon_x-small":"x-small"===u,"slds-icon_small":"small"===u,"slds-icon_large":"large"===u,"slds-icon-text-default":"default"===r&&"utility"===t?!i:i,"slds-icon-text-warning":"warning"===r,"slds-icon-text-error":"error"===r,"slds-icon-text-light":"light"===r}),icon:s,name:l,path:p,style:f}),v?o.a.createElement("span",{className:"slds-assistive-text"},v):"")};Mn.displayName=X,Mn.propTypes={assistiveText:c.a.shape({label:c.a.string}),category:c.a.oneOf(["action","custom","doctype","standard","utility"]).isRequired,className:c.a.oneOfType([c.a.array,c.a.object,c.a.string]),containerClassName:c.a.oneOfType([c.a.array,c.a.object,c.a.string]),containerStyle:c.a.object,colorVariant:c.a.oneOf(["base","default","error","light","warning"]),icon:c.a.object,inverse:c.a.bool,name:c.a.string,path:c.a.string,productTheme:c.a.oneOf(["global-setup","service-cloud","industry-cloud","sales-cloud","commerce-cloud","community-cloud","marketing-cloud","quip"]),size:c.a.oneOf(["xx-small","x-small","small","medium","large"]),style:c.a.object,title:c.a.string},Mn.defaultProps=On;var Sn=Mn;var Cn=function(){},En=n(32);function Hn(e){return(Hn="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function jn(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function Pn(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function kn(e,t){return(kn=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function Nn(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=Vn(e);if(t){var o=Vn(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return Tn(this,n)}}function Tn(e,t){return!t||"object"!==Hn(t)&&"function"!=typeof t?Ln(e):t}function Ln(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function Vn(e){return(Vn=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function Rn(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var Dn={align:c.a.oneOf(["top","top left","top right","right","right top","right bottom","bottom","bottom left","bottom right","left","left top","left bottom"]).isRequired,assistiveText:c.a.shape({tooltipTipLearnMoreIcon:c.a.string,triggerLearnMoreIcon:c.a.string}),children:c.a.node,content:c.a.node.isRequired,dialogClassName:c.a.oneOfType([c.a.array,c.a.object,c.a.string]),hasAnchoredNubbin:c.a.bool,hasStaticAlignment:c.a.bool,hoverCloseDelay:c.a.number,hoverOpenDelay:c.a.number,id:c.a.string,labels:c.a.shape({learnMoreAfter:c.a.string,learnMoreBefore:c.a.string}),isOpen:c.a.bool,onRequestTargetElement:c.a.func,triggerClassName:c.a.oneOfType([c.a.array,c.a.object,c.a.string]),position:c.a.oneOf(["absolute","overflowBoundaryElement","relative"]),triggerStyle:c.a.object,theme:c.a.oneOf(["info","error"]),variant:c.a.oneOf(["base","learnMore","list-item"])},In={assistiveText:{tooltipTipLearnMoreIcon:"this link",triggerLearnMoreIcon:"Help"},align:"top",content:o.a.createElement("span",null,"Tooltip"),labels:{learnMoreAfter:"to learn more.",learnMoreBefore:"Click"},hoverCloseDelay:50,hoverOpenDelay:0,position:"absolute",theme:"info",variant:"base"},An=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&kn(e,t)}(c,e);var t,n,r,a=Nn(c);function c(e){var t;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,c),Rn(Ln(t=a.call(this,e)),"handleCancel",(function(){clearTimeout(t.tooltipTimeout),t.setState({isOpen:!1})})),Rn(Ln(t),"handleMouseEnter",(function(){clearTimeout(t.tooltipTimeout),t.tooltipTimeout=setTimeout((function(){t.isUnmounting||t.setState({isOpen:!0})}),t.props.hoverOpenDelay)})),Rn(Ln(t),"handleMouseLeave",(function(){clearTimeout(t.tooltipTimeout),t.tooltipTimeout=setTimeout((function(){t.isUnmounting||t.setState({isOpen:!1})}),t.props.hoverCloseDelay)})),Rn(Ln(t),"saveTriggerRef",(function(e){t.trigger=e,t.state.triggerRendered||t.setState({triggerRendered:!0})})),t.state={isOpen:!1},t.tooltipTimeout={},Cn(ie,e,En),t.generatedId=p.a.generate(),t}return t=c,(n=[{key:"componentWillUnmount",value:function(){this.isUnmounting=!0}},{key:"getAnchoredNubbinStyles",value:function(){if(this.props.hasAnchoredNubbin){var e=this.props.align.split(" ")[0],t={height:"0",position:"relative",width:"0"},n={backgroundColor:"#16325c",content:"",height:"1rem",position:"absolute",transform:"rotate(45deg)",width:"1rem"},r={height:this.trigger?this.trigger.getBoundingClientRect().height:0,width:this.trigger?this.trigger.getBoundingClientRect().width:0};switch(e){case"bottom":t.left="".concat(r.width/2,"px"),t.top="".concat(r.height,"px"),n.left="-8px",n.top="3px";break;case"left":t.left="0",t.top="".concat(r.height/2,"px"),n.left="-19px",n.top="-9px";break;case"right":t.left="".concat(r.width,"px"),t.top="".concat(r.height/2,"px"),n.left="3px",n.top="-9px";break;default:t.left="".concat(r.width/2,"px"),t.top="0",n.left="-8px",n.top="-19px"}return o.a.createElement(o.a.Fragment,null,o.a.createElement("style",null,"#".concat(this.getId(),":after, #").concat(this.getId(),":before {\n\tdisplay: none;\n}")),this.getIsOpen()?o.a.createElement("div",{style:t},o.a.createElement("div",{style:n})):null)}return null}},{key:"getContent",value:function(){var e,t=this,n=0===o.a.Children.count(this.props.children);return e=n&&this.props.onClickTrigger?[o.a.createElement("a",{href:"javascript:void(0)",onClick:this.props.onClickTrigger},o.a.createElement(Sn,{category:"utility",name:"info",assistiveText:{label:this.props.assistiveText.triggerLearnMoreIcon},size:"x-small"}))]:n?[o.a.createElement(or,{"aria-disabled":!0,assistiveText:{icon:this.props.assistiveText.triggerLearnMoreIcon},iconCategory:"utility",iconName:"info",variant:"icon"})]:this.props.children,o.a.Children.map(e,(function(e,n){return o.a.cloneElement(e,{key:n,"aria-describedby":t.getIsOpen()?t.getId():void 0,onBlur:t.handleMouseLeave,onFocus:t.handleMouseEnter,onMouseEnter:t.handleMouseEnter,onMouseLeave:t.handleMouseLeave})}))}},{key:"getId",value:function(){return this.props.id||this.generatedId}},{key:"getIsOpen",value:function(){return void 0===this.props.isOpen?this.state.isOpen:this.props.isOpen}},{key:"getTooltip",value:function(){var e=this,t=this.getIsOpen(),n=this.props.align,r="error"===this.props.variant;return t?o.a.createElement(vn,{closeOnTabKey:!0,hasNubbin:!0,contentsClassName:i()("slds-popover","slds-popover_tooltip",{"slds-theme_error":"error"===this.props.theme||r},this.props.dialogClassName),align:n,context:this.context,hasStaticAlignment:this.props.hasStaticAlignment,onClose:this.handleCancel,onRequestTargetElement:function(){return e.getTooltipTarget()},position:this.props.position,variant:"tooltip",containerProps:{id:this.getId()}},this.getTooltipContent()):o.a.createElement("span",null)}},{key:"getTooltipContent",value:function(){return o.a.createElement("div",{className:"slds-popover__body"},this.props.content,"learnMore"===this.props.variant&&this.props.onClickTrigger?o.a.createElement("div",{className:"slds-m-top_x-small","aria-hidden":"true"},this.props.labels.learnMoreBefore," ",o.a.createElement(Sn,{assistiveText:{label:this.props.assistiveText.tooltipTipLearnMoreIcon},category:"utility",inverse:!0,name:"info",size:"x-small"})," ",this.props.labels.learnMoreAfter," "):null)}},{key:"getTooltipTarget",value:function(){return this.props.onRequestTargetElement?this.props.onRequestTargetElement():this.props.target?this.props.target:this.trigger}},{key:"render",value:function(){var e=function(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?jn(Object(n),!0).forEach((function(t){Rn(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):jn(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}({display:"inline-block",lineHeight:"1"},this.props.triggerStyle);return o.a.createElement("div",{className:i()("slds-tooltip-trigger",this.props.triggerClassName),style:e,ref:this.saveTriggerRef},this.getAnchoredNubbinStyles(),this.getContent(),this.getTooltip())}}])&&Pn(t.prototype,n),r&&Pn(t,r),c}(o.a.Component);An.contextTypes={iconPath:c.a.string},An.displayName="SLDSPopoverTooltip",An.propTypes=Dn,An.defaultProps=In;var Fn=An;function Bn(e){return Object.keys(e).reduce((function(t,n){return"aria-"===n.substr(0,5)&&(t[n]=e[n]),t}),{})}function qn(e){return Object.keys(e).reduce((function(t,n){return"data-"===n.substr(0,5)&&(t[n]=e[n]),t}),{})}var Kn=new Set(["form","formAction","formEncType","formMethod","formNoValidate","formTarget"]);function Wn(e){return(Wn="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function Un(){return(Un=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}function Gn(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function Yn(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?Gn(Object(n),!0).forEach((function(t){tr(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Gn(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function Qn(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function Jn(e,t){return(Jn=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function Xn(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=er(e);if(t){var o=er(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return $n(this,n)}}function $n(e,t){return!t||"object"!==Wn(t)&&"function"!=typeof t?Zn(e):t}function Zn(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function er(e){return(er=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function tr(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var nr={assistiveText:{icon:""},disabled:!1,hint:!1,iconSize:"medium",responsive:!1,type:"button",variant:"neutral"},rr=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&Jn(e,t)}(c,e);var t,n,r,a=Xn(c);function c(e){var t;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,c),tr(Zn(t=a.call(this,e)),"getClassName",(function(){var e,n="icon"===t.props.variant,r=t.props.iconVariant,o="more"===r,a="border"===r,c="global-header"===r,s="base"!==t.props.variant&&!r&&!t.props.inverse&&"link"!==t.props.variant||"bare"===r,l=t.props.inverse&&!n,p=t.props.inverse&&n&&!o&&!a,u=t.props.inverse&&o,h=t.props.inverse&&a;return"global-header"===r&&(r="container"),i()((tr(e={"slds-button":"link"!==t.props.variant},"slds-button_".concat(t.props.variant),s),tr(e,"slds-button_inverse",l),tr(e,"slds-button_icon-inverse",p||u),tr(e,"slds-button_icon-border-inverse",h),tr(e,"slds-button_icon-".concat(r),r&&!h),tr(e,"slds-global-header__button_icon",c),tr(e,"slds-button_icon-".concat(t.props.iconSize),r&&"medium"!==t.props.iconSize),tr(e,"slds-button_reset","link"===t.props.variant),tr(e,"slds-text-link","link"===t.props.variant),e),t.props.className)})),tr(Zn(t),"handleClick",(function(e){t.props.onClick&&t.props.onClick(e,{})})),tr(Zn(t),"renderIcon",(function(e){var n=!t.props.iconSize||t.props.iconVariant?null:t.props.iconSize;return o.a.createElement(vt,{category:t.props.iconCategory||"utility",className:i()({"slds-global-header__icon":"global-header"===t.props.iconVariant},t.props.iconClassName),hint:t.props.hint,inverse:t.props.inverse,name:e,path:t.props.iconPath,position:t.props.iconPosition,size:n})})),tr(Zn(t),"renderLabel",(function(){var e=t.props.iconName||t.props.iconPath,n="string"==typeof t.props.assistiveText?t.props.assistiveText:Yn(Yn({},nr.assistiveText),t.props.assistiveText).icon;return e&&n?o.a.createElement("span",{className:"slds-assistive-text"},n):t.props.label})),tr(Zn(t),"renderButton",(function(){var e=Bn(t.props),n=qn(t.props),r=function(e){return Object.keys(e).reduce((function(t,n){return Kn.has(n)&&(t[n]=e[n]),t}),{})}(t.props);return o.a.createElement("button",Un({className:t.getClassName(),disabled:t.props.disabled,id:t.props.id,onBlur:t.props.onBlur,onClick:t.handleClick,onFocus:t.props.onFocus,onKeyDown:t.props.onKeyDown,onKeyPress:t.props.onKeyPress,onKeyUp:t.props.onKeyUp,onMouseDown:t.props.onMouseDown,onMouseEnter:t.props.onMouseEnter,onMouseLeave:t.props.onMouseLeave,onMouseUp:t.props.onMouseUp,ref:function(e){t.props.buttonRef&&t.props.buttonRef(e)},tabIndex:t.props.tabIndex,title:t.props.title,type:t.props.type||"button",style:t.props.style},e,n,r),"right"===t.props.iconPosition?t.renderLabel():null,t.props.iconName||t.props.iconPath?t.renderIcon(t.props.iconName):null,"more"===t.props.iconVariant?o.a.createElement(vt,{category:"utility",name:"down",size:"x-small",className:t.props.iconClassName}):null,"left"!==t.props.iconPosition&&t.props.iconPosition?null:t.renderLabel(),t.props.children)})),tr(Zn(t),"renderTooltip",(function(){return o.a.createElement(Fn,{content:t.props.tooltip},t.renderButton)})),mt(x,e,gt),t}return t=c,(n=[{key:"render",value:function(){return this.props.tooltip?this.renderTooltip():this.renderButton()}}])&&Qn(t.prototype,n),r&&Qn(t,r),c}(o.a.Component);tr(rr,"displayName",x),tr(rr,"propTypes",{assistiveText:c.a.shape({icon:c.a.string}),buttonRef:c.a.func,className:c.a.oneOfType([c.a.array,c.a.object,c.a.string]),disabled:c.a.bool,hint:c.a.bool,iconCategory:Ee()(c.a.oneOf(["action","custom","doctype","standard","utility"]),(function(e){return!!e.iconName})),iconClassName:c.a.oneOfType([c.a.array,c.a.object,c.a.string]),iconName:c.a.string,iconPath:c.a.string,iconPosition:c.a.oneOf(["left","right"]),iconSize:c.a.oneOf(["x-small","small","medium","large"]),iconVariant:c.a.oneOf(["bare","container","border","border-filled","brand","more","global-header"]),id:c.a.string,inverse:c.a.bool,label:c.a.oneOfType([c.a.string,c.a.node]),onBlur:c.a.func,onClick:c.a.func,onFocus:c.a.func,onKeyDown:c.a.func,onKeyPress:c.a.func,onKeyUp:c.a.func,onMouseDown:c.a.func,onMouseEnter:c.a.func,onMouseLeave:c.a.func,onMouseUp:c.a.func,responsive:c.a.bool,tabIndex:c.a.string,type:c.a.oneOf(["reset","submit","button"]),title:c.a.string,tooltip:c.a.node,variant:c.a.oneOf(["base","link","neutral","brand","outline-brand","destructive","success","text-destructive","icon"]),style:c.a.object}),tr(rr,"defaultProps",nr);var or=rr,ar={children:c.a.node,expanded:c.a.bool.isRequired,id:c.a.oneOfType([c.a.number,c.a.string]).isRequired,panelContentActions:c.a.node,onKeyDownSummary:c.a.func,onTogglePanel:c.a.func.isRequired,refs:c.a.shape({summaryButton:c.a.func}),summary:c.a.oneOfType([c.a.string,c.a.node]).isRequired,title:c.a.string},cr=function(e){var t=e.children,n=e.expanded,r=e.id,a=e.panelContentActions,c=e.summary,s=e.title,l=e.onClickSummary,p=e.onKeyDownSummary,u=e.onTogglePanel,h=e.refs;return o.a.createElement("li",{className:"slds-accordion__list-item"},o.a.createElement("section",{className:i()("slds-accordion__section",{"slds-is-open":n})},o.a.createElement("div",{className:"slds-accordion__summary"},o.a.createElement("h3",{className:"slds-text-heading_small slds-accordion__summary-heading slds-has-flexi-truncate"},o.a.createElement(or,{"aria-controls":"".concat(r,"-accordion-panel"),"aria-expanded":n,buttonRef:h.summaryButton,className:"slds-button_reset slds-accordion__summary-action",iconCategory:"utility",iconClassName:"slds-accordion__summary-action-icon slds-button__icon slds-button__icon_left",iconName:"switch",id:"".concat(r,"-accordion-button"),onKeyDown:p,onClick:function(e){l(),u(e)},variant:"base"},o.a.createElement("span",{className:"slds-truncate",title:s||c},c))),a),o.a.createElement("div",{"aria-hidden":!n,className:"slds-accordion__content",id:"".concat(r,"-accordion-panel")},t)))},sr=cr;cr.propTypes=ar,cr.displayName="SLDSAccordionPanel";var ir=n(4),lr=n.n(ir);var pr=function(){},ur=n(33);function hr(e){return(hr="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function dr(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function fr(e,t){return(fr=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function vr(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=yr(e);if(t){var o=yr(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return mr(this,n)}}function mr(e,t){return!t||"object"!==hr(t)&&"function"!=typeof t?gr(e):t}function gr(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function yr(e){return(yr=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}var br={assistiveText:c.a.shape({closeButton:c.a.oneOfType([c.a.string,c.a.node])}),className:c.a.oneOfType([c.a.array,c.a.object,c.a.string]),dismissible:c.a.bool,icon:c.a.node,labels:c.a.shape({heading:c.a.oneOfType([c.a.string,c.a.node]),headingLink:c.a.oneOfType([c.a.string,c.a.node])}),onClickHeadingLink:c.a.func,onRequestClose:c.a.func,style:c.a.object,variant:c.a.oneOf(["error","info","offline","warning"]).isRequired},wr={assistiveText:{closeButton:"Close"},labels:{},variant:"info"},zr=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&fr(e,t)}(c,e);var t,n,r,a=vr(c);function c(e){var t,n,r,o;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,c),t=a.call(this,e),n=gr(t),o=function(e){t.closeButton=e,t.state.isInitialRender&&(Bt.storeActiveElement(),t.closeButton&&t.closeButton.focus(),t.setState({isInitialRender:!1}))},(r="saveButtonRef")in n?Object.defineProperty(n,r,{value:o,enumerable:!0,configurable:!0,writable:!0}):n[r]=o,t.state={isInitialRender:!0},pr(u,e,ur),t}return t=c,(n=[{key:"componentWillUnmount",value:function(){Bt.returnFocusToStoredElement()}},{key:"render",value:function(){var e=lr()({},wr.assistiveText,this.props.assistiveText),t=lr()({},wr.labels,this.props.labels),n=t.heading||this.props.content,r=this.props.onRequestClose||this.props.onDismiss,a={info:o.a.createElement(Sn,{category:"utility",name:"info"}),offline:o.a.createElement(Sn,{category:"utility",name:"offline"}),warning:o.a.createElement(Sn,{category:"utility",name:"warning"}),error:o.a.createElement(Sn,{category:"utility",name:"error"})},c=this.props.icon?this.props.icon:a[this.props.variant];this.props.iconName&&this.props.iconCategory&&(c=o.a.createElement(Sn,{category:this.props.iconCategory,name:this.props.iconName}));var s=o.a.cloneElement(c,{containerClassName:"slds-m-right_x-small",inverse:!0,size:"x-small"});return o.a.createElement("div",{className:yn("slds-notify slds-notify_alert slds-theme_alert-texture",{"slds-theme_info":"info"===this.props.variant,"slds-theme_warning":"warning"===this.props.variant,"slds-theme_error":"error"===this.props.variant,"slds-theme_offline":"offline"===this.props.variant},this.props.className),role:"alert",style:this.props.style},o.a.createElement("span",{className:"slds-assistive-text"},{info:"info",warning:"warning",error:"error",offline:"offline"}[this.props.variant]),s,o.a.createElement("h2",null,n," ",t.headingLink?o.a.createElement("a",{onClick:this.props.onClickHeadingLink,href:"javascript:void(0);"},t.headingLink):null),this.props.dismissible?o.a.createElement(or,{assistiveText:{icon:e.closeButton},buttonRef:this.saveButtonRef,className:"slds-notify__close",iconCategory:"utility",iconName:"close",iconSize:"medium",inverse:!0,onClick:r,title:e.closeButton,variant:"icon"}):null)}}])&&dr(t.prototype,n),r&&dr(t,r),c}(o.a.Component);zr.defaultProps=wr,zr.displayName=u,zr.propTypes=br;var xr=zr;function _r(e){return(_r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function Or(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function Mr(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function Sr(e,t){return(Sr=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function Cr(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=Hr(e);if(t){var o=Hr(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return Er(this,n)}}function Er(e,t){return!t||"object"!==_r(t)&&"function"!=typeof t?function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e):t}function Hr(e){return(Hr=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}var jr={className:c.a.oneOfType([c.a.array,c.a.object,c.a.string]),children:c.a.node},Pr=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&Sr(e,t)}(c,e);var t,n,r,a=Cr(c);function c(){return Or(this,c),a.apply(this,arguments)}return t=c,(n=[{key:"render",value:function(){return o.a.createElement("div",{className:yn("slds-notify-container",this.props.className)},this.props.children)}}])&&Mr(t.prototype,n),r&&Mr(t,r),c}(o.a.Component);Pr.displayName="SLDSAlertContainer",Pr.propTypes=jr;var kr=Pr,Nr=n(5),Tr=n.n(Nr),Lr=function(){},Vr=function(){};var Rr=function(){},Dr=n(13),Ir=n(20),Ar=n.n(Ir);var Fr,Br=function(){},qr="assets/",Kr={setAssetsPath:function(e){e&&(qr=e)},getAssetsPath:function(){return String(qr)},setAppElement:function(e){e&&(Fr=e,Ar.a.setAppElement(e))},getAppElement:function(){return Fr}};var Wr=function(){},Ur=n(34);function Gr(e){return(Gr="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function Yr(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function Qr(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?Yr(Object(n),!0).forEach((function(t){Jr(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Yr(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function Jr(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Xr(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function $r(e,t){return($r=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function Zr(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=no(e);if(t){var o=no(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return eo(this,n)}}function eo(e,t){return!t||"object"!==Gr(t)&&"function"!=typeof t?to(e):t}function to(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function no(e){return(no=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}var ro="undefined"!=typeof document,oo="undefined"!=typeof window,ao={align:c.a.oneOf(["top","center"]),ariaHideApp:c.a.bool,assistiveText:c.a.shape({dialogLabel:c.a.string,dialogLabelledBy:c.a.string,closeButton:c.a.string}),children:c.a.node.isRequired,className:c.a.oneOfType([c.a.array,c.a.object,c.a.string]),containerClassName:c.a.oneOfType([c.a.array,c.a.object,c.a.string]),contentClassName:c.a.oneOfType([c.a.array,c.a.object,c.a.string]),contentStyle:c.a.object,directional:c.a.bool,disableClose:c.a.bool,dismissOnClickOutside:c.a.bool,onRequestClose:c.a.func,footer:c.a.oneOfType([c.a.array,c.a.node]),header:c.a.node,headerClassName:c.a.oneOfType([c.a.array,c.a.object,c.a.string]),id:c.a.string,isOpen:c.a.bool.isRequired,parentSelector:c.a.func,portalClassName:c.a.oneOfType([c.a.array,c.a.object,c.a.string]),prompt:c.a.oneOf(["success","warning","error","wrench","offline","info"]),size:c.a.oneOf(["small","medium","large"]),tagline:c.a.node,title:c.a.node,heading:c.a.node,toast:c.a.node},co={assistiveText:{dialogLabel:"",dialogLabelledBy:"",closeButton:"Close"},align:"center",ariaHideApp:!0},so=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&$r(e,t)}(c,e);var t,n,r,a=Zr(c);function c(e){var t;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,c),(t=a.call(this,e)).state={isClosing:!1},t.handleModalClick=t.handleModalClick.bind(to(t)),t.closeModal=t.closeModal.bind(to(t)),t.dismissModalOnClickOutside=t.dismissModalOnClickOutside.bind(to(t)),t.generatedId=p.a.generate(),Br(re,e,Ur),e.ariaHideApp&&Wr(),t}return t=c,(n=[{key:"componentDidMount",value:function(){this.setReturnFocus(),this.updateBodyScroll()}},{key:"componentDidUpdate",value:function(e,t){if(this.props.isOpen!==e.isOpen&&this.updateBodyScroll(),this.state.isClosing!==t.isClosing&&this.state.isClosing&&!this.isUnmounting){var n=xt.a.findDOMNode(this);n&&n.parentNode&&n.parentNode.getAttribute("data-slds-modal")&&(xt.a.unmountComponentAtNode(n),document.body.removeChild(n))}}},{key:"componentWillUnmount",value:function(){this.isUnmounting=!0,this.clearBodyScroll()}},{key:"getId",value:function(){return this.props.id||this.generatedId}},{key:"getBorderRadius",value:function(){var e=".25rem",t=this.props.title||this.props.heading||this.props.header?{}:{borderTopLeftRadius:e,borderTopRightRadius:e},n=this.props.footer?{}:{borderBottomLeftRadius:e,borderBottomRightRadius:e};return Qr(Qr({},t),n)}},{key:"getModal",value:function(){var e="top"===this.props.align?{justifyContent:"flex-start"}:null,t=this.getBorderRadius(),n=this.props.contentStyle||{},r=Qr(Qr({},t),n),a=null;return this.props.assistiveText.dialogLabelledBy?a=this.props.assistiveText.dialogLabelledBy:this.props.assistiveText.dialogLabel||!this.props.heading&&!this.props.title||(a="".concat(this.getId(),"-heading")),o.a.createElement("section",{"aria-describedby":"".concat(this.getId(),"-modal-content"),"aria-label":this.props.assistiveText.dialogLabel,"aria-labelledby":a,"aria-modal":!0,className:i()("slds-modal","slds-fade-in-open",this.props.size?"slds-modal_".concat(this.props.size):null,{"slds-modal_prompt":this.isPrompt()},this.props.className),onClick:this.dismissModalOnClickOutside,role:this.props.disableClose?"alertdialog":"dialog"},o.a.createElement("div",{className:i()("slds-modal__container",this.props.containerClassName),style:e},this.headerComponent(),o.a.createElement("div",{className:i()("slds-modal__content",this.props.contentClassName),id:"".concat(this.getId(),"-modal-content"),style:r,onClick:this.handleModalClick},this.props.children),this.footerComponent()))}},{key:"setReturnFocus",value:function(){this.setState({returnFocusTo:ro?document.activeElement:null})}},{key:"clearBodyScroll",value:function(){oo&&ro&&document.body&&(document.body.style.overflow="inherit")}},{key:"closeModal",value:function(){this.props.disableClose||this.dismissModal()}},{key:"dismissModal",value:function(){this.setState({isClosing:!0}),this.state.returnFocusTo&&this.state.returnFocusTo.focus&&this.state.returnFocusTo.focus(),this.props.onRequestClose&&this.props.onRequestClose()}},{key:"dismissModalOnClickOutside",value:function(){(void 0!==this.props.dismissOnClickOutside?this.props.dismissOnClickOutside:!this.props.disableClose)&&this.dismissModal()}},{key:"footerComponent",value:function(){var e=null,t=this.props.footer,n={"slds-modal__footer":!0,"slds-modal__footer_directional":this.props.directional,"slds-theme_default":this.isPrompt()};return t&&(e=o.a.createElement("footer",{className:i()(n,this.props.footerClassNames),onClick:this.handleModalClick},this.props.footer)),e}},{key:"handleModalClick",value:function(e){e&&e.stopPropagation&&e.stopPropagation()}},{key:"handleSubmitModal",value:function(){this.closeModal()}},{key:"headerComponent",value:function(){var e,t=this.props.header,n=!t&&!(this.props.heading||this.props.title)&&!this.props.tagline,r=Qr(Qr({},co.assistiveText),this.props.assistiveText),a=this.props.closeButtonAssistiveText||r.closeButton,c=o.a.createElement(or,{assistiveText:{icon:a},iconCategory:"utility",iconName:"close",iconSize:"large",inverse:!0,className:"slds-button_icon slds-modal__close",onClick:this.closeModal,title:a,variant:"icon"});return(!t&&(this.props.heading||this.props.title)||this.props.tagline)&&(t=o.a.createElement("div",null,this.props.toast,o.a.createElement("h2",{className:i()({"slds-text-heading_small":this.isPrompt(),"slds-text-heading_medium":!this.isPrompt()}),id:"".concat(this.getId(),"-heading")},this.props.heading?this.props.heading:this.props.title),this.props.tagline?o.a.createElement("p",{className:"slds-m-top_x-small"},this.props.tagline):null)),o.a.createElement("header",{className:i()("slds-modal__header",(e={"slds-modal__header_empty":n},Jr(e,"slds-theme_".concat(this.props.prompt),this.isPrompt()),Jr(e,"slds-theme_alert-texture",this.isPrompt()),e),this.props.headerClassName),onClick:this.handleModalClick},this.props.disableClose?null:c,t)}},{key:"isPrompt",value:function(){return void 0!==this.props.prompt}},{key:"updateBodyScroll",value:function(){oo&&ro&&document.body&&(this.props.isOpen?document.body.style.overflow="hidden":document.body.style.overflow="inherit")}},{key:"render",value:function(){return o.a.createElement(Ar.a,{ariaHideApp:this.props.ariaHideApp,contentLabel:"Modal",isOpen:this.props.isOpen,onRequestClose:this.closeModal,style:{content:{position:"default",top:"default",left:"default",right:"default",bottom:"default",border:"default",background:"default",overflow:"default",WebkitOverflowScrolling:"default",borderRadius:"default",outline:"default",padding:"default"},overlay:{zIndex:8e3,backgroundColor:"default"}},parentSelector:this.props.parentSelector,portalClassName:i()("ReactModalPortal",this.props.portalClassName)},this.getModal(),o.a.createElement("div",{className:"slds-backdrop slds-backdrop_open"}))}}])&&Xr(t.prototype,n),r&&Xr(t,r),c}(o.a.Component);so.displayName=re,so.propTypes=ao,so.defaultProps=co;var io=so;function lo(e){return(lo="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function po(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function uo(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?po(Object(n),!0).forEach((function(t){bo(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):po(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function ho(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function fo(e,t){return(fo=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function vo(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=yo(e);if(t){var o=yo(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return mo(this,n)}}function mo(e,t){return!t||"object"!==lo(t)&&"function"!=typeof t?go(e):t}function go(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function yo(e){return(yo=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function bo(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var wo={assistiveText:{trigger:"Open App Launcher"},ariaHideApp:!0,title:"App Launcher"},zo=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&fo(e,t)}(c,e);var t,n,r,a=vo(c);function c(e){var t;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,c),bo(go(t=a.call(this,e)),"openAppLauncher",(function(e){t.setState({isOpen:!0}),Tr()(t.props.triggerOnClick)&&t.props.triggerOnClick(e,{})})),bo(go(t),"closeAppLauncher",(function(e){t.setState({isOpen:!1}),Tr()(t.props.onClose)&&t.props.onClose(e,{})})),bo(go(t),"renderSearch",(function(){var e;return t.props.search&&(e=o.a.createElement("div",{className:"slds-app-launcher__header-search",ref:function(e){if(e){if(!t.focusedOnSearch){var n=e.querySelector("input");n&&setTimeout((function(){n.focus(),t.focusedOnSearch=!0}),0)}}else t.focusedOnSearch=!1}},t.props.search)),e})),t.generatedId=p.a.generate(),t.state={isOpen:!1},Rr(h,e,Dr),t}return t=c,(n=[{key:"getId",value:function(){return this.props.id||this.generatedId}},{key:"render",value:function(){var e=void 0!==this.props.isOpen?this.props.isOpen:this.state.isOpen,t=this.props.noTruncate?{maxWidth:"none"}:null,n=o.a.createElement(o.a.Fragment,null,o.a.createElement("h2",{className:"slds-text-heading_medium",id:"".concat(this.getId(),"-app-launcher-title")},this.props.title),this.renderSearch(),this.props.modalHeaderButton?this.props.modalHeaderButton:o.a.createElement("span",{className:"slds-size_1-of-7"})),r=uo(uo({},wo.assistiveText),this.props.assistiveText),a=this.props.triggerAssistiveText||r.trigger;return o.a.createElement("div",{className:"slds-context-bar__item slds-context-bar__dropdown-trigger slds-dropdown-trigger slds-dropdown-trigger_click slds-no-hover",style:t},o.a.createElement("div",{className:"slds-context-bar__icon-action"},o.a.createElement("button",{"aria-haspopup":"true",className:"slds-button slds-icon-waffle_container slds-context-bar__button",onClick:this.openAppLauncher,title:a,type:"button"},o.a.createElement("span",{className:"slds-icon-waffle"},o.a.createElement("span",{className:"slds-r1"}),o.a.createElement("span",{className:"slds-r2"}),o.a.createElement("span",{className:"slds-r3"}),o.a.createElement("span",{className:"slds-r4"}),o.a.createElement("span",{className:"slds-r5"}),o.a.createElement("span",{className:"slds-r6"}),o.a.createElement("span",{className:"slds-r7"}),o.a.createElement("span",{className:"slds-r8"}),o.a.createElement("span",{className:"slds-r9"})),a&&o.a.createElement("span",{className:"slds-assistive-text"},a))),o.a.createElement(io,{ariaHideApp:this.props.ariaHideApp,assistiveText:{dialogLabelledBy:"".concat(this.getId(),"-app-launcher-title")},className:i()("slds-app-launcher",this.props.modalClassName),contentClassName:"slds-app-launcher__content slds-p-around_medium",contentStyle:{minHeight:"90%"},isOpen:e,onRequestClose:this.closeAppLauncher,size:"large",header:n,headerClassName:"slds-grid slds-grid_align-spread slds-grid_vertical-align-center"},this.props.children),this.props.triggerName?o.a.createElement("span",{className:"slds-context-bar__label-action slds-context-bar__app-name"},this.props.noTruncate?this.props.triggerName:o.a.createElement("span",{className:"slds-truncate",title:this.props.triggerName},this.props.triggerName)):null)}}])&&ho(t.prototype,n),r&&ho(t,r),c}(o.a.Component);bo(zo,"displayName",h),bo(zo,"propTypes",{assistiveText:c.a.shape({trigger:c.a.string}),ariaHideApp:c.a.bool,children:c.a.node.isRequired,id:c.a.string,isOpen:c.a.bool,modalClassName:c.a.oneOfType([c.a.array,c.a.object,c.a.string]),modalHeaderButton:c.a.node,noTruncate:c.a.bool,onClose:c.a.func,search:c.a.node,title:c.a.string,triggerName:c.a.node,triggerOnClick:c.a.func}),bo(zo,"defaultProps",wo);var xo=zo;function _o(e){return(_o="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function Oo(){return(Oo=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}function Mo(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function So(e,t){return(So=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function Co(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=jo(e);if(t){var o=jo(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return Eo(this,n)}}function Eo(e,t){return!t||"object"!==_o(t)&&"function"!=typeof t?Ho(e):t}function Ho(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function jo(e){return(jo=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function Po(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var ko={assistiveText:c.a.shape({toggleSection:c.a.string}),children:c.a.node,className:c.a.oneOfType([c.a.array,c.a.object,c.a.string]),id:c.a.string,isOpen:c.a.bool,nonCollapsible:c.a.bool,onToggleOpen:c.a.func,title:c.a.string.isRequired},No=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&So(e,t)}(c,e);var t,n,r,a=Co(c);function c(e){var t;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,c),Po(Ho(t=a.call(this,e)),"getId",(function(){return t.props.id||t.generatedId})),Po(Ho(t),"toggleOpen",(function(e){t.props.onToggleOpen?t.props.onToggleOpen(e,{isOpen:t.props.isOpen}):t.setState((function(e){return{isOpen:!e.isOpen}}))})),t.generatedId=p.a.generate(),t.state={isOpen:!0},t}return t=c,(n=[{key:"render",value:function(){var e="".concat(this.getId(),"-expanded-section-content"),t=void 0!==this.props.isOpen?this.props.isOpen:this.state.isOpen,n={"aria-controls":e,"aria-expanded":!!t},r=o.a.createElement("span",{className:i()("slds-truncate",{"slds-p-horizontal_small":!!this.props.nonCollapsible}),title:this.props.title},this.props.title);return o.a.createElement("div",{className:i()("slds-section",{"slds-is-open":t},this.props.className)},o.a.createElement("h3",{className:i()("slds-section__title",{"slds-theme_shade":!!this.props.nonCollapsible})},this.props.nonCollapsible?r:o.a.createElement(or,Oo({assistiveText:{icon:this.props.assistiveText.toggleSection},iconCategory:"utility",iconClassName:"slds-section__title-action-icon slds-button__icon_left",iconName:"switch",onClick:this.toggleOpen,className:"slds-section__title-action",variant:"base"},n),r)),o.a.createElement("div",{"aria-hidden":!t,className:"slds-section__content",id:e},this.props.children))}}])&&Mo(t.prototype,n),r&&Mo(t,r),c}(o.a.Component);No.displayName="SLDSExpandableSection",No.propTypes=ko,No.defaultProps={assistiveText:{toggleSection:"Toggle visibility of section"},nonCollapsible:!1};var To=No;function Lo(e){return(Lo="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function Vo(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function Ro(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?Vo(Object(n),!0).forEach((function(t){Ko(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Vo(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function Do(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function Io(e,t){return(Io=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function Ao(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=qo(e);if(t){var o=qo(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return Fo(this,n)}}function Fo(e,t){return!t||"object"!==Lo(t)&&"function"!=typeof t?Bo(e):t}function Bo(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function qo(e){return(qo=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function Ko(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var Wo=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&Io(e,t)}(c,e);var t,n,r,a=Ao(c);function c(e){var t;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,c),Ko(Bo(t=a.call(this,e)),"state",{isOpen:!0}),Ko(Bo(t),"toggleOpen",(function(e,n){t.props.onToggleOpen?t.props.onToggleOpen(e,n):t.setState((function(e){return{isOpen:!e.isOpen}}))})),Rr(d,e,Dr),t}return t=c,(n=[{key:"render",value:function(){var e=Ro(Ro({},this.props),{isOpen:void 0!==this.props.isOpen?this.props.isOpen:this.state.isOpen,onToggleOpen:this.toggleOpen}),t="tiles",n=o.a.Children.map(this.props.children,(function(e){var n="slds-p-horizontal_small slds-size_1-of-1 slds-medium-size_1-of-3";return(e&&e.type&&e.type.displayName!==f||e&&!e.type)&&(t="links"),"links"===t&&(n="slds-col_padded slds-p-vertical_xx-small slds-size_1-of-5"),o.a.createElement("li",{className:n},e)}));return o.a.createElement(To,e,o.a.createElement("ul",{className:i()("slds-grid slds-wrap",{"slds-grid_pull-padded":"tiles"===t})},n))}}])&&Do(t.prototype,n),r&&Do(t,r),c}(o.a.Component);Ko(Wo,"displayName",d),Ko(Wo,"propTypes",{assistiveText:c.a.shape({toggleSection:c.a.string}),children:c.a.node,className:c.a.oneOfType([c.a.array,c.a.object,c.a.string]),id:c.a.string,isOpen:c.a.bool,nonCollapsible:c.a.bool,onToggleOpen:c.a.func,title:c.a.string.isRequired});var Uo=Wo,Go=n(25),Yo=n.n(Go),Qo=function(e){if(e.search){var t;if("string"==typeof e.children)t=o.a.createElement(Yo.a,{className:e.className,matchClass:null,matchElement:"mark",search:e.search,title:e.children},e.children);else{if(e.children.props){var n=e.children.props.children;t=n instanceof Array?n.map((function(t){return"string"==typeof t?o.a.createElement(Yo.a,{key:t,className:e.className,matchClass:null,matchElement:"mark",search:e.search,title:t},t):t})):n}}return o.a.createElement("span",null,t)}return"string"==typeof e.children?o.a.createElement("span",{className:e.className,title:e.children},e.children):o.a.createElement("span",{className:e.className},e.children)};Qo.displayName="SLDSHighlighter",Qo.propTypes={children:c.a.oneOfType([c.a.string,c.a.number,c.a.bool,c.a.node]),className:c.a.string,search:c.a.any};var Jo=Qo;function Xo(e){return(Xo="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function $o(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function Zo(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function ea(e,t){return(ea=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function ta(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=ra(e);if(t){var o=ra(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return na(this,n)}}function na(e,t){return!t||"object"!==Xo(t)&&"function"!=typeof t?function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e):t}function ra(e){return(ra=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function oa(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var aa=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&ea(e,t)}(c,e);var t,n,r,a=ta(c);function c(){return $o(this,c),a.apply(this,arguments)}return t=c,(n=[{key:"render",value:function(){var e=this,t=this.props.title;return t||"string"!=typeof this.props.children||(t=this.props.children),o.a.createElement("a",{href:this.props.href,className:i()("slds-truncate",this.props.className),onClick:function(t){e.props.onClick&&(t.preventDefault(),e.props.onClick(t,{href:e.props.href}))},title:t},o.a.createElement(Jo,{search:this.props.search},this.props.children))}}])&&Zo(t.prototype,n),r&&Zo(t,r),c}(o.a.Component);oa(aa,"displayName","SLDSAppLauncherLink"),oa(aa,"propTypes",{children:c.a.node,className:c.a.oneOfType([c.a.array,c.a.object,c.a.string]),href:c.a.string,onClick:c.a.func,search:c.a.string,title:c.a.string}),oa(aa,"defaultProps",{href:"javascript:void(0);"});var ca=aa,sa=n(35),ia=n.n(sa);function la(e){return(la="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function pa(e,t){if(null==e)return{};var n,r,o=function(e,t){if(null==e)return{};var n,r,o={},a=Object.keys(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)>=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}function ua(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function ha(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function da(e,t){return(da=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function fa(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=ga(e);if(t){var o=ga(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return va(this,n)}}function va(e,t){return!t||"object"!==la(t)&&"function"!=typeof t?ma(e):t}function ma(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function ga(e){return(ga=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function ya(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var ba,wa,za="undefined"!=typeof document,xa=function(){return 0};za&&(ba=document.createElement("canvas")).getContext&&(document.createDocumentFragment().appendChild(ba),wa=ba.getContext("2d"),xa=ia()((function(e,t){return wa.font=t,wa.measureText(e).width})));var _a=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&da(e,t)}(c,e);var t,n,r,a=fa(c);function c(){var e;ua(this,c);for(var t=arguments.length,n=new Array(t),r=0;r<t;r++)n[r]=arguments[r];return ya(ma(e=a.call.apply(a,[this].concat(n))),"state",{}),ya(ma(e),"onResize",(function(){e.update(e.props)})),ya(ma(e),"getRenderText",(function(t,n){if(t){e.scope=t;var r=n||e.props,a=(r.containerClassName,r.line),c=r.prefix,s=r.suffix,i=r.text,l=r.textTruncateChild,p=r.truncateText,u=r.wrapper,h=pa(r,["containerClassName","line","prefix","suffix","text","textTruncateChild","truncateText","wrapper"]),d=e.scope.getBoundingClientRect().width,f=window.getComputedStyle(e.scope),v=[f["font-weight"],f["font-style"],f["font-size"],f["font-family"]].join(" ");if(0!==d){var m,g,y=i;if(d<xa(i,v)){for(var b=1,w=i.length,z="",x=0,_=0,O=a,M=0,S=!1,C=-1;0!==O;){var E="",H=0;for(c&&O===a-1&&(E+=" ".concat(c),H=.66*c.length),O||(E+=p,s&&(E+=" ".concat(s)));b<=w;){if(z=i.substr(_,b),!((M=xa(z+E,v)+H)<d)){var j=0;do{if(b-=1," "===(z=i.substr(_,b))[z.length-1]&&(z=i.substr(_,b-1)),S&&(C=z.lastIndexOf(" "))>-1&&(b=C,z=i.substr(_,b)),(M=xa(z+E,v)+H)===j){b=0;break}j=M}while(M>=d);_+=b;break}-1===(x=i.indexOf(" ",b+1))?(b+=1,S=!1):(S=!0,b=x)}if(b>=w){_=w;break}O-=1}_!==w&&(y="".concat(i.substr(0,_)).concat(p," "),m=l)}g=u?u(y,m):o.a.createElement("div",h,y,m),e.setState({renderText:g})}else e.setState({renderText:null})}})),ya(ma(e),"update",(function(t){e.getRenderText(e.scope,t)})),e}return t=c,(n=[{key:"componentDidMount",value:function(){window.addEventListener("resize",this.onResize,!1)}},{key:"componentDidUpdate",value:function(e){e.text!==this.props.text&&this.update(e)}},{key:"componentWillUnmount",value:function(){window.removeEventListener("resize",this.onResize,!1)}},{key:"render",value:function(){var e=this.props.containerClassName;return o.a.createElement("div",{ref:this.getRenderText,className:e,style:{overflow:"hidden"}},this.state.renderText)}}])&&ha(t.prototype,n),r&&ha(t,r),c}(o.a.Component);ya(_a,"displayName","TextTruncate"),ya(_a,"propTypes",{containerClassName:c.a.string,line:c.a.number,prefix:c.a.string,suffix:c.a.string,text:c.a.string,textTruncateChild:c.a.node,truncateText:c.a.string,wrapper:c.a.func}),ya(_a,"defaultProps",{line:1,text:"",truncateText:"…"});var Oa=_a;function Ma(e){return(Ma="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function Sa(){return(Sa=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}function Ca(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function Ea(e,t){return(Ea=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function Ha(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=ka(e);if(t){var o=ka(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return ja(this,n)}}function ja(e,t){return!t||"object"!==Ma(t)&&"function"!=typeof t?Pa(e):t}function Pa(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function ka(e){return(ka=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}var Na={assistiveText:c.a.shape({dragIconText:c.a.string}),className:c.a.oneOfType([c.a.array,c.a.object,c.a.string]),description:c.a.string,descriptionHeading:c.a.string,href:c.a.string,iconBackgroundColor:c.a.string,iconNode:c.a.node,iconText:c.a.string,isOpenTooltip:c.a.bool,moreLabel:c.a.string,onClick:c.a.func,search:c.a.string,title:c.a.string.isRequired},Ta=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&Ea(e,t)}(c,e);var t,n,r,a=Ha(c);function c(e){var t,n,r,o;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,c),t=a.call(this,e),n=Pa(t),o=function(e){t.props.onClick&&(e.preventDefault(),t.props.onClick(e,{href:t.props.href}))},(r="handleClick")in n?Object.defineProperty(n,r,{value:o,enumerable:!0,configurable:!0,writable:!0}):n[r]=o,Rr(f,e,Dr),t}return t=c,(n=[{key:"render",value:function(){var e=this,t={};return this.props.iconBackgroundColor&&(t.backgroundColor=this.props.iconBackgroundColor),o.a.createElement("div",{className:i()("slds-app-launcher__tile slds-text-link_reset slds-is-draggable",this.props.className),onClick:this.handleClick,role:"button",tabIndex:"0"},o.a.createElement("div",{className:"slds-app-launcher__tile-figure"},this.props.iconNode||o.a.createElement("span",{className:"slds-avatar slds-avatar_large"},o.a.createElement("abbr",{className:"slds-avatar__initials slds-icon-custom-27",style:t,title:this.props.title},this.props.iconText)),o.a.createElement("div",{className:"slds-m-top_xxx-small"},o.a.createElement(or,Sa({assistiveText:{icon:this.props.assistiveText.dragIconText},iconCategory:"utility",iconName:"rows",title:this.props.assistiveText.dragIconText,variant:"icon"},{"aria-pressed":!1})))),o.a.createElement("div",{className:"slds-app-launcher__tile-body"},o.a.createElement("a",{href:this.props.href},o.a.createElement(Jo,{search:this.props.search},this.props.title)),o.a.createElement(Oa,{line:2,prefix:this.props.descriptionHeading&&this.props.descriptionHeading.toUpperCase(),suffix:this.props.moreLabel,text:this.props.description,textTruncateChild:o.a.createElement(Fn,{align:"bottom",content:o.a.createElement(Jo,{search:this.props.search},this.props.description),isOpen:this.props.isOpenTooltip},o.a.createElement(or,{className:"slds-button_reset slds-text-link",variant:"base"},this.props.moreLabel)),wrapper:function(t,n){return o.a.createElement(o.a.Fragment,null,e.props.descriptionHeading&&o.a.createElement("div",{className:"slds-text-heading_label",style:{letterSpacing:"0.025rem"}},e.props.descriptionHeading," "),o.a.createElement(Jo,{search:e.props.search},t),n&&" ",n)}})))}}])&&Ca(t.prototype,n),r&&Ca(t,r),c}(o.a.Component);Ta.displayName=f,Ta.defaultProps={assistiveText:{dragIconText:"Reorder"},href:"javascript:void(0);",moreLabel:" More"},Ta.propTypes=Na;var La=Ta;var Va=function(){},Ra=n(36);function Da(e){return(Da="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function Ia(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function Aa(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?Ia(Object(n),!0).forEach((function(t){Fa(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Ia(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function Fa(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Ba(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function qa(e,t){return(qa=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function Ka(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=Ua(e);if(t){var o=Ua(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return Wa(this,n)}}function Wa(e,t){return!t||"object"!==Da(t)&&"function"!=typeof t?function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e):t}function Ua(e){return(Ua=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}var Ga={assistiveText:c.a.shape({icon:c.a.string}),imgAlt:c.a.string,imgSrc:c.a.string,initials:c.a.string,inverse:c.a.bool,label:c.a.string,variant:c.a.oneOf(["entity","user"]).isRequired,size:c.a.oneOf(["x-small","small","medium","large"]).isRequired,title:c.a.string},Ya={assistiveText:{icon:"User or Account Icon"},imgAlt:"",size:"medium",title:"user avatar",variant:"user"},Qa=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&qa(e,t)}(c,e);var t,n,r,a=Ka(c);function c(e){var t;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,c),(t=a.call(this,e)).state={imgLoadError:!1},Va(v,e,Ra),t}return t=c,(n=[{key:"buildInitials",value:function(){var e=this.props.label.trim(),t=e.split(" ");return t.length>1?t[0].charAt(0).toUpperCase()+t[t.length-1].charAt(0).toUpperCase():(e[0]||"").toUpperCase()+(e[1]||"").toLowerCase()}},{key:"handleImageError",value:function(){return this.setState((function(){return{imgLoadError:!0}}))}},{key:"renderBaseAvatar",value:function(){var e=this,t=this.props,n=t.imgAlt,r=t.imgSrc,a=t.title;return o.a.createElement("img",{alt:n,src:r,onError:function(){return e.handleImageError()},title:a})}},{key:"renderIconAvatar",value:function(){var e=this.props.variant,t="string"==typeof this.props.assistiveText?this.props.assistiveText:Aa(Aa({},Ya.assistiveText),this.props.assistiveText).icon;return o.a.createElement(Sn,{assistiveText:{label:t},category:"standard",name:"entity"===e?"account":"user"})}},{key:"renderInitialsAvatar",value:function(){var e=this.props,t=e.initials,n=e.inverse,r=e.label,a=e.variant;return o.a.createElement("abbr",{className:yn("slds-avatar__initials",{"slds-avatar__initials_inverse":n,"slds-icon-standard-account":"entity"===a,"slds-icon-standard-user":"user"===a}),title:r},t||this.buildInitials())}},{key:"render",value:function(){var e=this,t=this.props,n=t.imgSrc,r=t.initials,a=t.variant,c=t.label,s=t.size;return o.a.createElement("div",null,o.a.createElement("span",{className:yn("slds-avatar",{"slds-avatar_circle":"user"===a,"slds-avatar_x-small":"x-small"===s,"slds-avatar_small":"small"===s,"slds-avatar_medium":"medium"===s,"slds-avatar_large":"large"===s})},!e.state.imgLoadError&&n?e.renderBaseAvatar():r||c&&c.trim()?e.renderInitialsAvatar():e.renderIconAvatar()))}}])&&Ba(t.prototype,n),r&&Ba(t,r),c}(o.a.Component);Qa.defaultProps=Ya,Qa.displayName="SLDSAvatar",Qa.propTypes=Ga;var Ja=Qa;function Xa(e){return(Xa="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function $a(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function Za(e,t){return(Za=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function ec(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=nc(e);if(t){var o=nc(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return tc(this,n)}}function tc(e,t){return!t||"object"!==Xa(t)&&"function"!=typeof t?function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e):t}function nc(e){return(nc=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}var rc=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&Za(e,t)}(c,e);var t,n,r,a=ec(c);function c(e){var t;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,c),(t=a.call(this,e)).generatedId=p.a.generate(),t}return t=c,(n=[{key:"getId",value:function(){return this.props.id||this.generatedId}},{key:"render",value:function(){var e=this.props.icon&&o.a.createElement("span",{className:i()("slds-badge__icon","slds-badge__icon_".concat(this.props.iconAlignment)),style:this.props.style},this.props.icon);return o.a.createElement("span",{id:this.getId(),className:i()("slds-badge",{"slds-badge_inverse":"inverse"===this.props.color,"slds-badge_lightest":"light"===this.props.color,"slds-theme_success":"success"===this.props.color,"slds-theme_warning":"warning"===this.props.color,"slds-theme_error":"error"===this.props.color},this.props.className)},"left"===this.props.iconAlignment?o.a.createElement(o.a.Fragment,null,e,this.props.content):o.a.createElement(o.a.Fragment,null,this.props.content,e))}}])&&$a(t.prototype,n),r&&$a(t,r),c}(o.a.Component);rc.displayName="SLDSBadge",rc.propTypes={className:c.a.oneOfType([c.a.array,c.a.object,c.a.string]),id:c.a.string,style:c.a.object,color:c.a.oneOf(["default","inverse","light","success","warning","error"]),iconAlignment:c.a.oneOf(["left","right"]),content:c.a.oneOfType([c.a.string,c.a.node])},rc.defaultProps={iconAlignment:"left",color:"default"};var oc=rc;function ac(e){return(ac="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function cc(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function sc(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?cc(Object(n),!0).forEach((function(t){ic(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):cc(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function ic(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function lc(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function pc(e,t,n){return t&&lc(e.prototype,t),n&&lc(e,n),e}function uc(e,t){return(uc=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function hc(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=fc(e);if(t){var o=fc(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return dc(this,n)}}function dc(e,t){return!t||"object"!==ac(t)&&"function"!=typeof t?function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e):t}function fc(e){return(fc=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}var vc=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&uc(e,t)}(n,e);var t=hc(n);function n(e){var r;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,n),(r=t.call(this,e)).generatedId=p.a.generate(),r}return pc(n,null,[{key:"injectLightningBlueStyles",value:function(){return o.a.createElement("style",null,".slds-brand-band.dsr-brand-band_lightning-blue:before {\n\tbackground-image: url(/assets/images/themes/oneSalesforce/banner-brand-default.png), linear-gradient(to top, rgba(175, 197, 222, 0) 0, #1B5F9E);\n}\n.slds-brand-band.dsr-brand-band_lightning-blue:after {\n\tbackground-image: linear-gradient(to bottom, rgba(175, 197, 222, 0) 60%, #AFC5DE);\n}")}}]),pc(n,[{key:"getId",value:function(){return this.props.id||this.generatedId}},{key:"render",value:function(){var e=this.props;return o.a.createElement("div",{style:sc({background:"rgb(176, 196, 223)",height:"100%",position:"relative",width:"100%",zIndex:1},e.styleContainer)},n.injectLightningBlueStyles(),o.a.createElement("div",{className:yn("slds-brand-band",{"slds-brand-band_small":"small"===e.size,"slds-brand-band_medium":"medium"===e.size,"slds-brand-band_large":"large"===e.size,"slds-brand-band_cover":"cover"===e.backgroundSize,"slds-brand-band_none":"none"===e.image,"dsr-brand-band_lightning-blue":!0},e.className),id:this.getId(),style:e.style},e.children))}}]),n}(o.a.Component);vc.displayName="SLDSBrandBand",vc.propTypes={children:c.a.node,className:c.a.oneOfType([c.a.array,c.a.object,c.a.string]),id:c.a.string,image:c.a.oneOf(["default","none"]),backgroundSize:c.a.oneOf(["contain","cover"]),size:c.a.oneOf(["small","medium","large"]),style:c.a.object,styleContainer:c.a.object,theme:c.a.oneOf(["default","lightning-blue"])},vc.defaultProps={backgroundSize:"contain",image:"default",size:"medium",theme:"default"};var mc=vc;var gc=function(){},yc=n(37);function bc(e,t,n){return e===t||(e.correspondingElement?e.correspondingElement.classList.contains(n):e.classList.contains(n))}var wc,zc,xc=(void 0===wc&&(wc=0),function(){return++wc}),_c={},Oc={},Mc=["touchstart","touchmove"];function Sc(e,t){var n=null;return-1!==Mc.indexOf(t)&&zc&&(n={passive:!e.props.preventDefault}),n}var Cc=function(e,t){var n,o,a=e.displayName||e.name||"Component";return o=n=function(n){var o,c;function s(e){var r;return(r=n.call(this,e)||this).__outsideClickHandler=function(e){if("function"!=typeof r.__clickOutsideHandlerProp){var t=r.getInstance();if("function"!=typeof t.props.handleClickOutside){if("function"!=typeof t.handleClickOutside)throw new Error("WrappedComponent: "+a+" lacks a handleClickOutside(event) function for processing outside click events.");t.handleClickOutside(e)}else t.props.handleClickOutside(e)}else r.__clickOutsideHandlerProp(e)},r.__getComponentNode=function(){var e=r.getInstance();return t&&"function"==typeof t.setClickOutsideRef?t.setClickOutsideRef()(e):"function"==typeof e.setClickOutsideRef?e.setClickOutsideRef():Object(zt.findDOMNode)(e)},r.enableOnClickOutside=function(){if("undefined"!=typeof document&&!Oc[r._uid]){void 0===zc&&(zc=function(){if("undefined"!=typeof window&&"function"==typeof window.addEventListener){var e=!1,t=Object.defineProperty({},"passive",{get:function(){e=!0}}),n=function(){};return window.addEventListener("testPassiveEventSupport",n,t),window.removeEventListener("testPassiveEventSupport",n,t),e}}()),Oc[r._uid]=!0;var e=r.props.eventTypes;e.forEach||(e=[e]),_c[r._uid]=function(e){var t;null!==r.componentNode&&(r.props.preventDefault&&e.preventDefault(),r.props.stopPropagation&&e.stopPropagation(),r.props.excludeScrollbar&&(t=e,document.documentElement.clientWidth<=t.clientX||document.documentElement.clientHeight<=t.clientY)||function(e,t,n){if(e===t)return!0;for(;e.parentNode;){if(bc(e,t,n))return!0;e=e.parentNode}return e}(e.target,r.componentNode,r.props.outsideClickIgnoreClass)===document&&r.__outsideClickHandler(e))},e.forEach((function(e){document.addEventListener(e,_c[r._uid],Sc(r,e))}))}},r.disableOnClickOutside=function(){delete Oc[r._uid];var e=_c[r._uid];if(e&&"undefined"!=typeof document){var t=r.props.eventTypes;t.forEach||(t=[t]),t.forEach((function(t){return document.removeEventListener(t,e,Sc(r,t))})),delete _c[r._uid]}},r.getRef=function(e){return r.instanceRef=e},r._uid=xc(),r}c=n,(o=s).prototype=Object.create(c.prototype),o.prototype.constructor=o,o.__proto__=c;var i=s.prototype;return i.getInstance=function(){if(!e.prototype.isReactComponent)return this;var t=this.instanceRef;return t.getInstance?t.getInstance():t},i.componentDidMount=function(){if("undefined"!=typeof document&&document.createElement){var e=this.getInstance();if(t&&"function"==typeof t.handleClickOutside&&(this.__clickOutsideHandlerProp=t.handleClickOutside(e),"function"!=typeof this.__clickOutsideHandlerProp))throw new Error("WrappedComponent: "+a+" lacks a function for processing outside click events specified by the handleClickOutside config option.");this.componentNode=this.__getComponentNode(),this.props.disableOnClickOutside||this.enableOnClickOutside()}},i.componentDidUpdate=function(){this.componentNode=this.__getComponentNode()},i.componentWillUnmount=function(){this.disableOnClickOutside()},i.render=function(){var t=this.props,n=(t.excludeScrollbar,function(e,t){if(null==e)return{};var n,r,o={},a=Object.keys(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)>=0||(o[n]=e[n]);if(Object.getOwnPropertySymbols){var c=Object.getOwnPropertySymbols(e);for(r=0;r<c.length;r++)n=c[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}(t,["excludeScrollbar"]));return e.prototype.isReactComponent?n.ref=this.getRef:n.wrappedRef=this.getRef,n.disableOnClickOutside=this.disableOnClickOutside,n.enableOnClickOutside=this.enableOnClickOutside,Object(r.createElement)(e,n)},s}(r.Component),n.displayName="OnClickOutside("+a+")",n.defaultProps={eventTypes:["mousedown","touchstart"],excludeScrollbar:t&&t.excludeScrollbar||!1,outsideClickIgnoreClass:"ignore-react-onclickoutside",preventDefault:!1,stopPropagation:!1},n.getClass=function(){return e.getClass?e.getClass():e},o},Ec=function(e){return o.a.createElement("span",{className:"slds-truncate",title:e.label},e.icon,e.label)};Ec.displayName="SLDSListItemLabel",Ec.propTypes={data:c.a.object,icon:c.a.node,index:c.a.number,inverted:c.a.bool,isSelected:c.a.bool,label:c.a.string,value:c.a.any},Ec.defaultProps={data:{},index:0,inverted:!1,isSelected:!1,label:"",value:null};var Hc=Ec;function jc(e){return(jc="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function Pc(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function kc(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?Pc(Object(n),!0).forEach((function(t){Fc(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Pc(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function Nc(){return(Nc=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}function Tc(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function Lc(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function Vc(e,t){return(Vc=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function Rc(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=Ac(e);if(t){var o=Ac(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return Dc(this,n)}}function Dc(e,t){return!t||"object"!==jc(t)&&"function"!=typeof t?Ic(e):t}function Ic(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function Ac(e){return(Ac=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function Fc(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var Bc=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&Vc(e,t)}(c,e);var t,n,r,a=Rc(c);function c(){var e;Tc(this,c);for(var t=arguments.length,n=new Array(t),r=0;r<t;r++)n[r]=arguments[r];return Fc(Ic(e=a.call.apply(a,[this].concat(n))),"getLabel",(function(){var t=e.props.labelRenderer;return o.a.createElement(t,{checkmark:e.props.checkmark,data:e.props.data,icon:e.getIcon("left"),index:e.props.index,inverted:e.props.inverted,isSelected:e.props.isSelected,label:e.props.label,value:e.props.value})})),Fc(Ic(e),"getIcon",(function(t){var n=["slds-icon-text-default"],r=e.props["".concat(t,"Icon")];return"left"===t?(e.props.checkmark&&(n.push("slds-icon_selected"),r={category:"utility",name:"check"}),n.push("slds-m-right_x-small")):n.push("slds-m-left_small"),r?o.a.createElement(Sn,Nc({className:i()(n),position:t,size:"x-small"},r)):null})),Fc(Ic(e),"handleClick",(function(t){"link"===e.props.type&&"javascript:void(0);"!==e.props.href||Nt.trapImmediate(t),e.props.onSelect&&e.props.onSelect(e.props.index)})),Fc(Ic(e),"handleMouseDown",(function(e){Nt.trapImmediate(e)})),e}return t=c,(n=[{key:"render",value:function(){switch(this.props.type){case"header":return o.a.createElement("li",{className:i()("slds-dropdown__header",{"slds-has-divider_top-space":"top"===this.props.divider,"slds-has-divider_bottom-space":"bottom"===this.props.divider},this.props.className),onMouseDown:this.handleMouseDown,role:"separator"},o.a.createElement("span",null,this.props.label));case"divider":return o.a.createElement("li",{className:i()("slds-has-divider",this.props.className),onMouseDown:this.handleMouseDown,role:"separator"});case"link":case"item":default:var e=o.a.createElement("a",{"aria-checked":this.props.checkmark&&this.props.isSelected,"aria-disabled":this.props["aria-disabled"],href:this.props.href,"data-index":this.props.index,onClick:this.handleClick,role:this.props.checkmark?"menuitemcheckbox":"menuitem",tabIndex:"-1"},this.getLabel(),this.getIcon("right"));if(this.props.tooltipContent&&this.props.tooltipTemplate){var t=Nc({},this.props.tooltipTemplate.props),n=kc(kc({},t),{},{content:this.props.tooltipContent,id:"".concat(this.props.id,"-tooltip"),triggerStyle:kc({width:"100%"},t.triggerStyle||{})});e=o.a.cloneElement(this.props.tooltipTemplate,n,e)}return o.a.createElement("li",{"aria-selected":null===this.props.checkmark?this.props.isSelected:null,className:i()("slds-dropdown__item",{"slds-is-selected":this.props.isSelected},this.props.className),id:this.props.id,onMouseDown:this.handleMouseDown,role:"presentation"},e)}}}])&&Lc(t.prototype,n),r&&Lc(t,r),c}(o.a.Component);Fc(Bc,"displayName","SLDSListItem"),Fc(Bc,"propTypes",{"aria-disabled":c.a.bool,className:c.a.oneOfType([c.a.array,c.a.object,c.a.string]),checkmark:c.a.bool,data:c.a.object,divider:c.a.oneOf(["top","bottom"]),href:c.a.string,id:c.a.string.isRequired,index:c.a.number.isRequired,inverted:c.a.bool,isSelected:c.a.bool,label:c.a.string,labelRenderer:c.a.func,leftIcon:c.a.shape({category:c.a.string,name:c.a.string}),onSelect:c.a.func.isRequired,rightIcon:c.a.shape({category:c.a.string,name:c.a.string}),tooltipContent:c.a.oneOfType([c.a.node,c.a.string]),tooltipTemplate:c.a.node,type:c.a.string,value:c.a.any}),Fc(Bc,"defaultProps",{data:{},href:"javascript:void(0);",inverted:!1,isSelected:!1,label:"",labelRenderer:Hc,value:null});var qc=Bc;function Kc(e){return(Kc="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function Wc(){return(Wc=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}function Uc(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function Gc(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function Yc(e,t){return(Yc=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function Qc(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=Xc(e);if(t){var o=Xc(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return Jc(this,n)}}function Jc(e,t){return!t||"object"!==Kc(t)&&"function"!=typeof t?function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e):t}function Xc(e){return(Xc=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function $c(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var Zc=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&Yc(e,t)}(c,e);var t,n,r,a=Qc(c);function c(){return Uc(this,c),a.apply(this,arguments)}return t=c,(n=[{key:"render",value:function(){var e,t,n=this;return this.props.length&&(e="slds-dropdown_length-".concat(this.props.length)),t=o.a.createElement("ul",{"aria-labelledby":this.props.triggerId,className:i()("dropdown__list",e,this.props.className),role:"menu"},this.props.options.map((function(e,t){var r=n.props.getListItemId(t),a=t===n.props.selectedIndex,c=!!n.props.selectedIndices&&-1!==n.props.selectedIndices.indexOf(t);return o.a.createElement(qc,Wc({},e,{"aria-disabled":e.disabled,checkmark:n.props.checkmark&&(a||c),data:e,id:r,index:t,isSelected:a||c,key:"".concat(r,"-").concat(e.value),labelRenderer:n.props.itemRenderer,onSelect:n.props.onSelect,ref:function(e){return n.props.itemRefs(e,t)},tooltipTemplate:n.props.tooltipMenuItem}))}))),this.props.tooltipMenuItem&&(t=o.a.createElement(o.a.Fragment,null,o.a.createElement("style",{dangerouslySetInnerHTML:{__html:".slds-dropdown__item > .slds-tooltip-trigger > a {\n\tposition: relative;\n\tdisplay: -ms-flexbox;\n\tdisplay: flex;\n\t-ms-flex-pack: justify;\n\tjustify-content: space-between;\n\t-ms-flex-align: center;\n\talign-items: center;\n\tpadding: 0.5rem 0.75rem;\n\tcolor: #080707;\n\twhite-space: nowrap;\n\tcursor: pointer;\n}\n\n.slds-dropdown__item > .slds-tooltip-trigger > a:active {\n text-decoration: none;\n background-color: #ecebea;\n}\n\n.slds-dropdown__item > .slds-tooltip-trigger > a:hover,\n.slds-dropdown__item > .slds-tooltip-trigger > a:focus {\n outline: 0;\n text-decoration: none;\n background-color: #f3f2f2;\n}\n"}}),t)),t}}])&&Gc(t.prototype,n),r&&Gc(t,r),c}(o.a.Component);$c(Zc,"displayName",$),$c(Zc,"propTypes",{checkmark:c.a.bool,className:c.a.string,getListItemId:c.a.func,itemRefs:c.a.func,itemRenderer:c.a.func,length:c.a.oneOf([null,"5","7","10",5,7,10]),onSelect:c.a.func,options:c.a.array,selectedIndex:c.a.number,tooltipMenuItem:c.a.node,triggerId:c.a.string}),$c(Zc,"defaultProps",{length:"5",options:[],selectedIndex:-1});var es=Zc;function ts(e){return(ts="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function ns(){return(ns=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}function rs(e,t){if(null==e)return{};var n,r,o=function(e,t){if(null==e)return{};var n,r,o={},a=Object.keys(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)>=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}function os(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function as(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function cs(e,t){return(cs=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function ss(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=ls(e);if(t){var o=ls(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return is(this,n)}}function is(e,t){return!t||"object"!==ts(t)&&"function"!=typeof t?function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e):t}function ls(e){return(ls=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function ps(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var us=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&cs(e,t)}(c,e);var t,n,r,a=ss(c);function c(){return os(this,c),a.apply(this,arguments)}return t=c,(n=[{key:"render",value:function(){var e=this.props,t=e.assistiveText,n=(e.children,e.className),r=e.id,a=(e.isInline,e.isOpen),c=e.onBlur,s=e.menu,l=e.onClick,p=e.onFocus,u=e.onKeyDown,h=e.onMouseDown,d=e.onMouseEnter,f=e.onMouseLeave,v=e.triggerRef,m=e.triggerClassName,g=rs(e,["assistiveText","children","className","id","isInline","isOpen","onBlur","menu","onClick","onFocus","onKeyDown","onMouseDown","onMouseEnter","onMouseLeave","triggerRef","triggerClassName"]),y="hover"===this.props.openOn?"click":this.props.openOn,b={};return 0!==o.a.Children.count(this.props.children)&&o.a.Children.forEach(this.props.children,(function(e){e&&e.type.displayName===or.displayName&&(b=e.props)})),o.a.createElement("div",{className:i()("slds-dropdown-trigger slds-dropdown-trigger_".concat(y),{"slds-is-open":a},m),id:r,onBlur:c,onClick:l,onKeyDown:u,onFocus:p,onMouseDown:h,onMouseEnter:d,onMouseLeave:f},o.a.createElement(or,ns({assistiveText:t,className:n,"aria-expanded":a,"aria-haspopup":!0},g,b,{buttonRef:v})),s)}}])&&as(t.prototype,n),r&&as(t,r),c}(o.a.Component);ps(us,"displayName",te),ps(us,"propTypes",{children:c.a.element,className:c.a.oneOfType([c.a.array,c.a.object,c.a.string]),id:c.a.string,isOpen:c.a.bool,menu:c.a.node,onBlur:c.a.func,onClick:c.a.func,onFocus:c.a.func,onKeyDown:c.a.func,onMouseDown:c.a.func,onMouseEnter:c.a.func,onMouseLeave:c.a.func,openOn:c.a.oneOf(["hover","click","hybrid"]),triggerRef:c.a.func,triggerClassName:c.a.oneOfType([c.a.array,c.a.object,c.a.string])});var hs=us;var ds=function(){},fs=n(38);var vs=function(){var e=this;return this.buffer="",function(t){return e.timeout&&(clearTimeout(e.timeout),e.timeout=void 0),e.timeout=setTimeout((function(){e.buffer=""}),400),e.buffer=e.buffer+t,e.buffer}},ms=n(11),gs=n.n(ms);function ys(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){if("undefined"==typeof Symbol||!(Symbol.iterator in Object(e)))return;var n=[],r=!0,o=!1,a=void 0;try{for(var c,s=e[Symbol.iterator]();!(r=(c=s.next()).done)&&(n.push(c.value),!t||n.length!==t);r=!0);}catch(e){o=!0,a=e}finally{try{r||null==s.return||s.return()}finally{if(o)throw a}}return n}(e,t)||function(e,t){if(!e)return;if("string"==typeof e)return bs(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return bs(e,t)}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function bs(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}var ws=function(e){var t,n=e.componentContext,r=e.currentFocusedIndex,o=e.isOpen,a=e.event,c=e.key,s=e.keyCode,i=e.navigableItems,l=e.onFocus,p=e.onSelect,u=e.target,h=e.toggleOpen,d=i.indexes,f=d.length-1,v=c||String.fromCharCode(s);v=/^[ -~]$/.test(v)?v.toLowerCase():null;var m=s===Lt.ENTER||s===Lt.SPACE||s===Lt.UP;if(s===Lt.ESCAPE)o&&h();else if(o)if(s===Lt.ENTER||s===Lt.SPACE)p(r);else{var g=d.indexOf(r);if(s===Lt.DOWN)if(g<f){t=d[g+1]}else{var y=ys(d,1);t=y[0]}else if(s===Lt.UP){if(g>0)t=d[g-1];else t=d[f]}else if(v){var b=i.keyBuffer(v),w=0;b.length>1&&new RegExp("^[".concat(gs()(v),"]+$")).test(b)&&(w=b.length),i.forEach((function(e){(void 0===t&&e.text.substr(0,b.length)===b||w>0&&e.text.substr(0,1)===v)&&(w-=1,t=e.index)}))}}else{var z=ys(d,1);t=z[0],(m||v)&&h(),m&&n.trigger&&xt.a.findDOMNode(n.trigger)===u&&n.handleClick(a)}return l(t),t};function zs(e){return(zs="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function xs(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function _s(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?xs(Object(n),!0).forEach((function(t){Ps(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):xs(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function Os(){return(Os=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}function Ms(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function Ss(e,t){return(Ss=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function Cs(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=js(e);if(t){var o=js(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return Es(this,n)}}function Es(e,t){return!t||"object"!==zs(t)&&"function"!=typeof t?Hs(e):t}function Hs(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function js(e){return(js=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function Ps(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var ks,Ns="undefined"!=typeof document,Ts=Ns?document.createElement("span"):{style:{}};Ts.style.top=0,Ts.style.left=0,Ts.style.width="100%",Ts.style.height="100%",Ts.style.position="absolute";var Ls=function(){},Vs=function(e){var t=[];return t.indexes=[],t.keyBuffer=new vs,Array.isArray(e)&&e.forEach((function(e,n){(function(e){return"header"!==e.type&&"divider"!==e.type&&!e.disabled})(e)&&(t.push({index:n,text:"".concat(e.label).toLowerCase()}),t.indexes.push(n))})),t};var Rs={top:"bottom","top left":"bottom left","top right":"bottom right",bottom:"top","bottom left":"top left","bottom right":"top right"},Ds={align:c.a.oneOf(["center","left","right"]),assistiveText:c.a.object,buttonClassName:c.a.oneOfType([c.a.array,c.a.object,c.a.string]),buttonInverse:c.a.bool,buttonVariant:c.a.oneOf(["base","neutral","brand","destructive","icon"]),checkmark:c.a.bool,children:c.a.node,className:c.a.oneOfType([c.a.array,c.a.object,c.a.string]),containerClassName:c.a.oneOfType([c.a.array,c.a.object,c.a.string]),disabled:c.a.bool,hasStaticAlignment:c.a.bool,hint:c.a.bool,hoverCloseDelay:c.a.number,iconCategory:Ee()(c.a.oneOf(["action","custom","doctype","standard","utility"]),(function(e){return!!e.iconName})),iconName:c.a.string,iconPosition:c.a.oneOf(["left","right"]),iconVariant:c.a.oneOf(["bare","container","border","border-filled","small","more"]),iconSize:c.a.oneOf(["x-small","small","medium","large"]),id:c.a.string,inverse:c.a.bool,isOpen:c.a.bool,label:c.a.oneOfType([c.a.string,c.a.node]),listItemRenderer:c.a.func,length:c.a.oneOf([null,"5","7","10",5,7,10]),menuPosition:c.a.oneOf(["absolute","overflowBoundaryElement","relative"]),menuStyle:c.a.object,nubbinPosition:c.a.oneOf(["top left","top","top right","bottom left","bottom","bottom right"]),onBlur:c.a.func,onClick:c.a.func,onFocus:c.a.func,openOn:c.a.oneOf(["hover","click","hybrid"]),onKeyDown:c.a.func,onMouseDown:c.a.func,onMouseEnter:c.a.func,onMouseLeave:c.a.func,onSelect:c.a.func,onOpen:c.a.func,onClose:c.a.func,options:c.a.array,style:c.a.object,tabIndex:c.a.string,overlay:c.a.oneOfType([c.a.bool,c.a.func]),value:c.a.oneOfType([c.a.number,c.a.string,c.a.array]),tooltip:c.a.node,tooltipMenuItem:c.a.node,triggerClassName:c.a.oneOfType([c.a.array,c.a.object,c.a.string]),multiple:c.a.bool,width:c.a.oneOf(["xx-small","x-small","small","medium","bottom","large"])},Is=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&Ss(e,t)}(c,e);var t,n,r,a=Cs(c);function c(e){var t;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,c),Ps(Hs(t=a.call(this,e)),"getId",(function(){return t.props.id||t.generatedId})),Ps(Hs(t),"getIsOpen",(function(){return!!("boolean"==typeof t.props.isOpen?t.props.isOpen:t.state.isOpen)})),Ps(Hs(t),"getIndexByValue",(function(e,t){var n=-1;return t&&t.length&&t.some((function(t,r){return!(!t||t.value!==e)&&(n=r,!0)})),n})),Ps(Hs(t),"getValueByIndex",(function(e){return t.props.options[e]})),Ps(Hs(t),"getListItemRenderer",(function(){return t.props.listItemRenderer?t.props.listItemRenderer:Hc})),Ps(Hs(t),"getListItemId",(function(e){var n;if(void 0!==e){var r=Tr()(t.getId)?t.getId():t.props.id;n="".concat(r,"-item-").concat(e)}return n})),Ps(Hs(t),"setFocus",(function(){t.isHover||t.isUnmounting||!t.trigger||xt.a.findDOMNode(t.trigger).focus()})),Ps(Hs(t),"getMenu",(function(){return xt.a.findDOMNode(t.list)})),Ps(Hs(t),"getMenuItem",(function(e){if(void 0!==e&&t.listItems)return xt.a.findDOMNode(t.listItems[e])})),Ps(Hs(t),"getCurrentSelectedIndices",(function(e){if(!0===t.props.multiple){var n=[];return Array.isArray(e.value)?n=e.value:n.push(e.value),{selectedIndices:(n=n.filter((function(n){return-1!==t.getIndexByValue(n,e.options)}))).map((function(n){return t.getIndexByValue(n,e.options)}))}}return{selectedIndex:t.getIndexByValue(e.value,e.options)}})),Ps(Hs(t),"saveRefToTrigger",(function(e){t.trigger=e,t.state.triggerRendered||t.setState({triggerRendered:!0})})),Ps(Hs(t),"saveRefToTriggerContainer",(function(e){t.triggerContainer=e,t.trigger||(t.trigger=e)})),Ps(Hs(t),"saveRefToList",(function(e){t.list=e})),Ps(Hs(t),"saveRefToListItem",(function(e,n){t.listItems||(t.listItems={}),t.listItems[n]=e,n===t.state.focusedIndex&&t.handleKeyboardFocus(t.state.focusedIndex)})),Ps(Hs(t),"handleClose",(function(){t.getIsOpen()&&(ks===Hs(t)&&(ks=void 0),t.setState({isOpen:!1}),t.isHover=!1,t.props.onClose&&t.props.onClose())})),Ps(Hs(t),"handleOpen",(function(){t.getIsOpen()||(ks&&Tr()(ks.handleClose)&&ks.handleClose(),ks=Hs(t),t.setState({isOpen:!0}),t.props.onOpen&&t.props.onOpen())})),Ps(Hs(t),"handleMouseEnter",(function(e){var n=t.getIsOpen();t.isHover=!0,n||"hover"!==t.props.openOn?clearTimeout(t.isClosing):t.handleOpenForHover(),t.props.onMouseEnter&&t.props.onMouseEnter(e)})),Ps(Hs(t),"handleMouseLeave",(function(e){t.getIsOpen()&&(t.isClosing=setTimeout((function(){t.handleCloseForHover()}),t.props.hoverCloseDelay)),t.props.onMouseLeave&&t.props.onMouseLeave(e)})),Ps(Hs(t),"handleCloseForHover",(function(){t.getIsOpen()&&t.handleClose()})),Ps(Hs(t),"handleOpenForHover",(function(){t.getIsOpen()||(t.handleOpen(),t.setFocus())})),Ps(Hs(t),"handleClick",(function(e){t.getIsOpen()?t.handleClose():(t.handleOpen(),t.setFocus()),t.props.onClick&&t.props.onClick(e)})),Ps(Hs(t),"handleFocus",(function(e){t.props.onFocus&&t.props.onFocus(e)})),Ps(Hs(t),"handleClickCustomContent",(function(){t.setFocus(),t.handleClose(),t.props.onSelect&&t.props.onSelect()})),Ps(Hs(t),"handleSelect",(function(e){if(t.props.multiple){if(t.props.multiple&&-1===t.state.selectedIndices.indexOf(e)){var n=t.state.selectedIndices.concat(e);t.setState({selectedIndices:n})}else if(t.props.multiple){var r=t.state.selectedIndices.indexOf(e),o=t.state.selectedIndices;o.splice(r,1),t.setState({selectedIndices:o})}}else t.setState({selectedIndex:e}),t.handleClose(),t.setFocus();if(t.props.onSelect){var a=t.getValueByIndex(e);t.props.onSelect(a,{option:a,optionIndex:e})}})),Ps(Hs(t),"handleKeyDown",(function(e){if(e.keyCode){if(e.keyCode!==Lt.ENTER&&e.keyCode!==Lt.SPACE&&e.keyCode!==Lt.DOWN&&e.keyCode!==Lt.UP||Nt.trap(e),e.keyCode!==Lt.TAB){var n=t.getIsOpen();t.handleKeyboardNavigate({event:e,isOpen:n,key:e.key,keyCode:e.keyCode,onSelect:t.handleSelect,target:e.target,toggleOpen:t.toggleOpen})}else t.handleCancel();t.props.onKeyDown&&t.props.onKeyDown(e)}})),Ps(Hs(t),"handleCancel",(function(){t.setFocus(),t.handleClose()})),Ps(Hs(t),"handleClickOutside",(function(){t.handleClose()})),Ps(Hs(t),"handleKeyboardNavigate",(function(e){var n=e.event,r=e.isOpen,o=void 0===r||r,a=e.keyCode,c=e.onFocus,s=void 0===c?t.handleKeyboardFocus:c,i=e.onSelect,l=e.target,p=e.toggleOpen,u=void 0===p?Ls:p;ws({componentContext:Hs(t),currentFocusedIndex:t.state.focusedIndex,event:n,isOpen:o,keyCode:a,navigableItems:t.navigableItems,onFocus:s,onSelect:i,target:l,toggleOpen:u})})),Ps(Hs(t),"handleKeyboardFocus",(function(e){t.state.focusedIndex!==e&&t.setState({focusedIndex:e});var n,r=Tr()(t.getMenu)?t.getMenu():(n=Hs(t),xt.a.findDOMNode(n).querySelector("ul.dropdown__list")),o=Tr()(t.getMenuItem)?t.getMenuItem(e,r):function(e){var t,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:document;return e&&(t=n.getElementById(e)),t}(t.getListItemId(e));o&&(t.focusMenuItem(o),t.scrollToMenuItem(r,o))})),Ps(Hs(t),"focusMenuItem",(function(e){e.getElementsByTagName("a")[0].focus()})),Ps(Hs(t),"scrollToMenuItem",(function(e,t){if(e&&t){var n=e.offsetHeight,r=e.scrollTop,o=t.offsetTop-e.offsetTop;if(o<r)e.scrollTop=o;else{var a=r+n+e.offsetTop,c=o+t.offsetHeight+e.offsetTop;c>a&&(e.scrollTop=c-n-e.offsetTop)}}})),Ps(Hs(t),"toggleOpen",(function(){var e=t.getIsOpen();t.setFocus(),e?t.handleClose():t.handleOpen()})),Ps(Hs(t),"renderDefaultMenuContent",(function(e){return o.a.createElement(es,Os({key:"".concat(t.getId(),"-dropdown-list"),checkmark:t.props.checkmark,getListItemId:t.getListItemId,itemRefs:t.saveRefToListItem,itemRenderer:t.getListItemRenderer(),onCancel:t.handleCancel,onSelect:t.handleSelect,options:t.props.options,ref:t.saveRefToList,selectedIndex:t.props.multiple?void 0:t.state.selectedIndex,selectedIndices:t.props.multiple?t.state.selectedIndices:void 0,tooltipMenuItem:t.props.tooltipMenuItem,triggerId:t.getId(),length:t.props.length},e))})),Ps(Hs(t),"renderMenuContent",(function(e){var n=[];return o.a.Children.forEach(e,(function(e){if(e&&e.type.displayName===$)n.push(t.renderDefaultMenuContent(e.props));else if(e){var r=o.a.cloneElement(e,{onClick:t.handleClickCustomContent,key:p.a.generate()});n.push(r)}})),0===n.length&&(n=null),n||t.renderDefaultMenuContent()})),Ps(Hs(t),"renderDialog",(function(e,n,r){var a,c="bottom",s=!1;t.props.nubbinPosition?(s=!0,c=Rs[t.props.nubbinPosition]):t.props.align&&(c="center"===t.props.align?"bottom":"bottom ".concat(t.props.align));var l=Rs[c].split(" ");a=i()(l.map((function(e){return"slds-dropdown_".concat(e)})));var p=t.props.isInline?"relative":t.props.menuPosition,u={};return"center"!==t.props.align||s||(u.transform="none"),n?o.a.createElement(vn,{align:c,className:i()(t.props.containerClassName),closeOnTabKey:!0,contentsClassName:i()("slds-dropdown","slds-dropdown_".concat(t.props.width),"slds-text-align_left","ignore-react-onclickoutside",t.props.className,a,{"slds-dropdown_inverse":t.props.inverse}),context:t.context,hasNubbin:s,hasStaticAlignment:t.props.hasStaticAlignment,inheritWidthOf:t.props.inheritTargetWidth?"target":"none",offset:t.props.offset,onClose:t.handleClose,onKeyDown:t.handleKeyDown,outsideClickIgnoreClass:r,position:p,style:_s(_s({},u),t.props.menuStyle),onRequestTargetElement:function(){return t.trigger}},t.renderMenuContent(e)):null})),Ps(Hs(t),"renderOverlay",(function(e){Tr()(Ts)&&Ns?Ts(e,Ts):t.props.overlay&&e&&!t.overlay&&Ns?(t.overlay=Ts,document.querySelector("body").appendChild(t.overlay)):!e&&t.overlay&&t.overlay.parentNode&&(t.overlay.parentNode.removeChild(t.overlay),t.overlay=void 0)})),ds(ee,e,fs),t.generatedId=p.a.generate();var n=t.getCurrentSelectedIndices(e);return t.state=_s({focusedIndex:-1,selectedIndex:-1,selectedIndices:[]},n),t.navigableItems=Vs(e.options),t}return t=c,(n=[{key:"componentDidUpdate",value:function(e){if(e.value!==this.props.value){var t=this.getCurrentSelectedIndices(e);this.setState(t)}e.isOpen!==this.props.isOpen&&this.setFocus(),wt()(e.options,this.props.options)||(this.navigableItems=Vs(e.options))}},{key:"componentWillUnmount",value:function(){ks===this&&(ks=void 0),this.isUnmounting=!0,this.renderOverlay(!1)}},{key:"render",value:function(){var e=hs,t={},n=[];o.a.Children.forEach(this.props.children,(function(r){r&&r.type.displayName===te?(t=r.props,e=r.type):r&&n.push(r)})),0===n.length&&(n=null);var r="ignore-click-".concat(this.getId()),a=!this.props.disabled&&this.getIsOpen()&&!!this.trigger;return this.renderOverlay(a),o.a.createElement(e,Os({"aria-haspopup":!0,assistiveText:this.props.assistiveText,className:i()(r,this.props.buttonClassName),disabled:this.props.disabled,hint:this.props.hint,iconCategory:this.props.iconCategory,iconName:this.props.iconName,iconPosition:this.props.iconPosition,iconSize:this.props.iconSize,iconVariant:this.props.iconVariant,id:this.getId(),inverse:this.props.buttonInverse,isOpen:a,label:this.props.label,menu:this.renderDialog(n,a,r),onBlur:this.props.onBlur,onClick:"click"===this.props.openOn||"hybrid"===this.props.openOn?this.handleClick:this.props.onClick,onFocus:"hover"===this.props.openOn?this.handleFocus:null,onKeyDown:this.handleKeyDown,onMouseDown:this.props.onMouseDown,onMouseEnter:"hover"===this.props.openOn||"hybrid"===this.props.openOn?this.handleMouseEnter:null,onMouseLeave:"hover"===this.props.openOn||"hybrid"===this.props.openOn?this.handleMouseLeave:null,openOn:this.props.openOn,ref:this.saveRefToTriggerContainer,style:this.props.style,tabIndex:this.props.tabIndex||(a?"-1":"0"),tooltip:this.props.tooltip,triggerClassName:this.props.triggerClassName,triggerRef:this.saveRefToTrigger,variant:this.props.buttonVariant},t))}}])&&Ms(t.prototype,n),r&&Ms(t,r),c}(o.a.Component);Ps(Is,"displayName",ee),Is.contextTypes={iconPath:c.a.string},Is.propTypes=Ds,Is.defaultProps={align:"left",hoverCloseDelay:300,length:"5",menuPosition:"absolute",openOn:"click",width:"medium",inverse:!1};var As=Is,Fs=Cc(As);function Bs(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function qs(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?Bs(Object(n),!0).forEach((function(t){Ks(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Bs(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function Ks(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var Ws={assistiveText:c.a.shape({label:c.a.string}),id:c.a.string,overflowDropdownMenu:c.a.node,styleContainer:c.a.object,trail:c.a.array.isRequired},Us={assistiveText:{label:"Breadcrumbs"}},Gs=function(e){gc(m,e,yc);var t=e.overflowDropdownMenu,n=e.trail,r="string"==typeof e.assistiveText?e.assistiveText:qs(qs({},Us.assistiveText),e.assistiveText).label;return o.a.createElement("nav",{role:"navigation","aria-label":r,style:e.styleContainer},o.a.createElement("ol",{className:"slds-breadcrumb slds-list_horizontal"},t&&function(e,t){var n=qs(qs({},e.props),{},{id:"".concat(t.id,"-dropdown"),iconCategory:"utility",iconName:"threedots",iconVariant:"bare",threedots:!0});return o.a.createElement("li",{className:"slds-breadcrumb__item"},o.a.createElement(Fs,n))}(t,e),n.map((function(e,t){return o.a.createElement("li",{key:t,className:"slds-breadcrumb__item"},e)}))))};Gs.displayName=m,Gs.propTypes=Ws,Gs.defaultProps=Us;var Ys=Gs;function Qs(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function Js(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?Qs(Object(n),!0).forEach((function(t){Xs(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Qs(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function Xs(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var $s={assistiveText:c.a.shape({backIcon:c.a.string,helpIcon:c.a.string,icon:c.a.string}),children:c.a.node,className:c.a.oneOfType([c.a.array,c.a.object,c.a.string]),events:c.a.shape({onClickBack:c.a.func,onClickHelp:c.a.func}),iconCategory:c.a.string,iconClassName:c.a.oneOfType([c.a.array,c.a.object,c.a.string]),iconName:c.a.string,iconPath:c.a.string,labels:c.a.shape({back:c.a.string,help:c.a.string,pageType:c.a.string,title:c.a.string}),style:c.a.object},Zs={assistiveText:{backIcon:"Back",helpIcon:"Help",icon:"Builder"},iconCategory:"utility",iconName:"builder",labels:{back:"Back",help:"Help",pageType:"Page Type",title:"App Name"}},ei=function(e){var t,n,r,a,c,s=Js(Js({},Zs.assistiveText),e.assistiveText),l=Js(Js({},{}),e.events),p=Js(Js({},Zs.labels),e.labels),u=[];return o.a.Children.forEach(e.children,(function(e){if(e)switch(e.type.displayName){case y:t=e;break;case z:n=e;break;case g:u.push(e)}})),e.iconPath?c=e.iconPath:(r=e.iconCategory,a=e.iconName),o.a.createElement("div",{style:{position:"relative",height:"100px"}},o.a.createElement("div",{className:i()("slds-builder-header_container",e.className),style:e.style},o.a.createElement("header",{className:"slds-builder-header"},o.a.createElement("div",{className:"slds-builder-header__item"},o.a.createElement("div",{className:"slds-builder-header__item-label slds-media slds-media_center"},o.a.createElement("div",{className:"slds-media__figure"},o.a.createElement(Sn,{assistiveText:{label:s.icon},category:r,containerClassName:i()("slds-icon_container","slds-icon-utility-builder","slds-current-color",e.iconClassName),name:a,path:c,size:"x-small"})),o.a.createElement("div",{className:"slds-media__body"},p.title))),t,u.length>0?u:o.a.createElement("div",{className:"slds-builder-header__item slds-has-flexi-truncate"},o.a.createElement("h1",{className:"slds-builder-header__item-label"},o.a.createElement("span",{className:"slds-truncate",title:p.pageType},p.pageType))),o.a.createElement("div",{className:"slds-builder-header__item slds-builder-header__utilities"},o.a.createElement("div",{className:"slds-builder-header__utilities-item"},o.a.createElement("a",{href:"javascript:void(0);",className:"slds-builder-header__item-action slds-media slds-media_center",onClick:l.onClickBack},o.a.createElement("div",{className:"slds-media__figure"},o.a.createElement(Sn,{assistiveText:{label:s.backIcon},category:"utility",containerClassName:"slds-icon_container slds-icon-utility-settings slds-current-color",name:"back",size:"x-small"})),o.a.createElement("div",{className:"slds-media__body"},p.back))),o.a.createElement("div",{className:"slds-builder-header__utilities-item"},o.a.createElement("a",{href:"javascript:void(0);",className:"slds-builder-header__item-action slds-media slds-media_center",onClick:l.onClickHelp},o.a.createElement("div",{className:"slds-media__figure"},o.a.createElement(Sn,{assistiveText:{label:s.helpIcon},category:"utility",containerClassName:"slds-icon_container slds-icon-utility-settings slds-current-color",name:"help",size:"x-small"})),o.a.createElement("div",{className:"slds-media__body"},p.help))))),n))};ei.displayName="SLDSBuilderHeader",ei.propTypes=$s,ei.defaultProps=Zs;var ti=ei,ni={children:c.a.node},ri=function(e){return o.a.createElement("div",{className:"slds-builder-header__item",style:{width:"100%"}},o.a.createElement("div",{className:"slds-builder-header__item-label"},e.children))};ri.displayName=g,ri.propTypes=ni;var oi=ri,ai={children:c.a.node},ci=function(e){return o.a.createElement("nav",{className:"slds-builder-header__item slds-builder-header__nav"},o.a.createElement("ul",{className:"slds-builder-header__nav-list"},o.a.Children.map(e.children,(function(e){return e.type.displayName===w||e.type.displayName===b?e:null}))))};ci.displayName=y,ci.propTypes=ai;var si=ci;function ii(e,t){if(null==e)return{};var n,r,o=function(e,t){if(null==e)return{};var n,r,o={},a=Object.keys(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)>=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}var li=As.propTypes,pi=function(e){var t=e.iconCategory,n=e.iconName,r=e.label,a=e.assistiveText,c=ii(e,["iconCategory","iconName","label","assistiveText"]);return o.a.createElement("li",{className:"slds-builder-header__nav-item"},o.a.createElement(Fs,c,o.a.createElement(hs,null,o.a.createElement(or,{className:"slds-builder-header__item-action slds-media slds-media_center",variant:"base"},o.a.createElement("span",{className:"slds-media__figure"},o.a.createElement(Sn,{assistiveText:{label:a&&a.icon},category:t,containerClassName:"slds-icon_container slds-icon-utility-page slds-current-color",name:n,size:"x-small"})),o.a.createElement("span",{className:"slds-media__body"},o.a.createElement("span",{className:"slds-truncate",title:r},r),o.a.createElement(Sn,{category:"utility",containerClassName:"slds-icon_container slds-icon-utility-chevrondown slds-current-color slds-m-left_small",name:"chevrondown",size:"x-small"}))))))};pi.displayName=b,pi.propTypes=li;var ui=pi;function hi(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function di(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?hi(Object(n),!0).forEach((function(t){fi(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):hi(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function fi(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var vi={assistiveText:c.a.shape({icon:c.a.string}),iconCategory:c.a.oneOf(["action","custom","doctype","standard","utility"]),iconName:c.a.string,iconPath:c.a.string,label:c.a.string,onClick:c.a.func},mi={},gi=function(e){var t=di(di({},mi),e.assistiveText);return o.a.createElement("li",{className:"slds-builder-header__nav-item"},o.a.createElement("a",{className:"slds-builder-header__item-action slds-media slds-media_center",href:"javascript:void(0)",onClick:e.onClick},o.a.createElement("span",{className:"slds-media__figure"},o.a.createElement(Sn,{assistiveText:{label:t.icon},category:e.iconCategory,containerClassName:"slds-icon_container slds-icon-utility-settings slds-current-color",name:e.iconName,path:e.iconPath,size:"x-small"})),o.a.createElement("span",{className:"slds-media__body"},o.a.createElement("span",{className:"slds-truncate",title:e.label},e.label))))};gi.displayName=w,gi.propTypes=vi;var yi=gi;function bi(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function wi(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?bi(Object(n),!0).forEach((function(t){zi(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):bi(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function zi(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var xi={assistiveText:c.a.shape({actions:c.a.string}),children:c.a.node,onRenderActions:c.a.func},_i={assistiveText:{actions:"Actions"}},Oi=function(e){var t=wi(wi({},_i.assistiveText),e.assistiveText);return o.a.createElement("div",{className:"slds-builder-toolbar",role:"toolbar"},o.a.Children.map(e.children,(function(e){return e.type.displayName===_?o.a.createElement("div",{className:"slds-builder-toolbar__item-group","aria-label":e.props.label},e):null})),o.a.createElement("div",{className:"slds-builder-toolbar__actions","aria-label":t.actions},e.onRenderActions&&e.onRenderActions()))};Oi.displayName=z,Oi.propTypes=xi,Oi.defaultProps=_i;var Mi=Oi;function Si(e){return(Si="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function Ci(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function Ei(e,t){return(Ei=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function Hi(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=Pi(e);if(t){var o=Pi(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return ji(this,n)}}function ji(e,t){return!t||"object"!==Si(t)&&"function"!=typeof t?function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e):t}function Pi(e){return(Pi=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}var ki={children:c.a.node.isRequired,className:c.a.oneOfType([c.a.array,c.a.object,c.a.string]),classNameContainer:c.a.oneOfType([c.a.array,c.a.object,c.a.string]),id:c.a.string,labels:c.a.shape({error:c.a.string,label:c.a.string}),variant:c.a.oneOf(["checkbox","list"])},Ni={labels:{}},Ti=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&Ei(e,t)}(c,e);var t,n,r,a=Hi(c);function c(e){var t;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,c),(t=a.call(this,e)).generatedId=p.a.generate(),t}return t=c,(n=[{key:"getId",value:function(){return this.props.id||this.generatedId}},{key:"render",value:function(){var e,t=this,n=lr()({},Ni.labels,this.props.labels),r=o.a.Children.count(this.props.children)-1,a=this.props.children;return r>0&&(a=o.a.Children.map(this.props.children,(function(e,t){var n;return t===r&&(n=o.a.cloneElement(e,{triggerClassName:"slds-button_last"})),n||e}))),"checkbox"===this.props.variant?(a=o.a.Children.map(this.props.children,(function(e){var r={variant:"button-group"};return n.error&&(r["aria-describedby"]="button-group-error-".concat(t.getId())),o.a.cloneElement(e,r)})),e=o.a.createElement("div",{className:i()("slds-checkbox_button-group",this.props.className),id:this.getId()},a)):e="list"===this.props.variant?o.a.createElement("ul",{className:i()("slds-button-group-list",this.props.className),id:this.getId()},o.a.Children.map(this.props.children,(function(e){return o.a.createElement("li",null,e)}))):o.a.createElement("div",{className:i()("slds-button-group",this.props.className),id:this.getId(),role:"group"},a),("checkbox"===this.props.variant||this.props.labels.label)&&(e=o.a.createElement("fieldset",{className:i()("slds-form-element",{"slds-has-error":n.error},this.props.classNameContainer)},o.a.createElement("legend",{className:"slds-form-element__legend slds-form-element__label"},this.props.labels.label),o.a.createElement("div",{className:"slds-form-element__control"},e,n.error?o.a.createElement("div",{className:"slds-form-element__help",id:"button-group-error-".concat(this.getId())},n.error):null))),e}}])&&Ci(t.prototype,n),r&&Ci(t,r),c}(o.a.Component);Ti.displayName=_,Ti.propTypes=ki,Ti.defaultProps=Ni;var Li=Ti;var Vi=function(){},Ri=n(39);function Di(e){return(Di="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function Ii(){return(Ii=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}function Ai(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function Fi(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?Ai(Object(n),!0).forEach((function(t){Yi(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Ai(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function Bi(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function qi(e,t){return(qi=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function Ki(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=Gi(e);if(t){var o=Gi(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return Wi(this,n)}}function Wi(e,t){return!t||"object"!==Di(t)&&"function"!=typeof t?Ui(e):t}function Ui(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function Gi(e){return(Gi=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function Yi(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var Qi={active:c.a.bool,assistiveText:c.a.shape({icon:c.a.string}),disabled:c.a.bool,icon:c.a.node,onBlur:c.a.func,onClick:c.a.func,onFocus:c.a.func,onKeyDown:c.a.func,onKeyPress:c.a.func,onKeyUp:c.a.func,onMouseDown:c.a.func,onMouseEnter:c.a.func,responsive:c.a.bool,stateOne:c.a.object,stateTwo:c.a.object,stateThree:c.a.object,tabIndex:c.a.string,variant:c.a.oneOf(["base","neutral","brand","destructive","icon","icon-filled"])},Ji={assistiveText:{icon:""},disabled:!1,iconSize:"medium",responsive:!1,stateOne:{iconName:"add",label:"Follow"},stateTwo:{iconName:"check",label:"Following"},stateThree:{iconName:"close",label:"Unfollow"}},Xi=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&qi(e,t)}(c,e);var t,n,r,a=Ki(c);function c(e){var t;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,c),Yi(Ui(t=a.call(this,e)),"handleBlur",(function(e){t.props.onBlur&&t.props.onBlur(e),e.currentTarget.blur()})),Yi(Ui(t),"handleClick",(function(e){Tr()(t.props.onClick)&&t.props.onClick(e),"boolean"!=typeof t.props.active&&t.setState((function(e){return{active:!e.active}}))})),t.state={active:!1},Vi(O,e,Ri),t}return t=c,(n=[{key:"getClassName",value:function(e){return i()(this.props.className,"slds-button",{"slds-button_neutral":"icon"!==this.props.variant&&"icon-filled"!==this.props.variant,"slds-button_inverse":"inverse"===this.props.variant,"slds-not-selected":!e,"slds-is-selected":e,"slds-max-small-button_stretch":this.props.responsive,"slds-button_icon-border":"icon"===this.props.variant,"slds-button_icon-border-filled":"icon-filled"===this.props.variant})}},{key:"render",value:function(){var e=this.props,t=e.active,n=e.disabled,r=e.icon,a=e.iconName,c=e.iconSize,s=e.id,i=e.onFocus,l=e.onKeyDown,p=e.onKeyPress,u=e.onKeyUp,h=e.onMouseDown,d=e.onMouseEnter,f=e.stateOne,v=e.stateTwo,m=e.stateThree,g=e.tabIndex,y=e.variant,b={disabled:n,size:"small",className:"slds-button__icon_stateful"},w="string"==typeof this.props.assistiveText?this.props.assistiveText:Fi(Fi({},Ji.assistiveText),this.props.assistiveText).icon,z="boolean"==typeof t?t:this.state.active,x=Bn(this.props);return"icon"===y||"icon-filled"===y?(0===Object.keys(x).length&&(x={"aria-live":"polite"}),o.a.createElement("button",Ii({},x,{className:this.getClassName(z),disabled:n,id:s,onBlur:this.handleBlur,onClick:this.handleClick,onFocus:i,onKeyDown:l,onKeyPress:p,onKeyUp:u,onMouseDown:h,onMouseEnter:d,onMouseLeave:this.handleBlur,tabIndex:g,type:"button"}),r?o.a.cloneElement(r,Fi(Fi({},b),r.props)):o.a.createElement(vt,{disabled:n,name:a,size:c,className:"slds-button__icon_stateful"}),w?o.a.createElement("span",{className:"slds-assistive-text"},w):null)):(b.position="left",0===Object.keys(x).length&&(x={"aria-live":"assertive"}),o.a.createElement("button",Ii({},x,{className:this.getClassName(z),disabled:n,id:s,onBlur:this.handleBlur,onClick:this.handleClick,onFocus:i,onKeyDown:l,onKeyPress:p,onKeyUp:u,onMouseEnter:d,onMouseLeave:this.handleBlur,tabIndex:g,type:"button"}),o.a.createElement("span",{className:"slds-text-not-selected"},f.icon?o.a.cloneElement(f.icon,Fi(Fi(Fi({},b),f.icon.props),{},{size:"small"})):o.a.createElement(vt,{disabled:n,name:f.iconName,size:"small",position:"left",className:"slds-button__icon_stateful"}),f.label),o.a.createElement("span",{className:"slds-text-selected"},v.icon?o.a.cloneElement(v.icon,Fi(Fi(Fi({},b),v.icon.props),{},{size:"small"})):o.a.createElement(vt,{disabled:n,name:v.iconName,size:"small",position:"left",className:"slds-button__icon_stateful"}),v.label),o.a.createElement("span",{className:"slds-text-selected-focus"},m.icon?o.a.cloneElement(m.icon,Fi(Fi(Fi({},b),m.icon.props),{},{size:"small"})):o.a.createElement(vt,{disabled:n,name:m.iconName,size:"small",position:"left",className:"slds-button__icon_stateful"}),m.label)))}}])&&Bi(t.prototype,n),r&&Bi(t,r),c}(o.a.Component);Xi.displayName=O,Xi.propTypes=Qi,Xi.defaultProps=Ji;var $i=Xi;function Zi(e){return(Zi="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function el(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function tl(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function nl(e,t){return(nl=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function rl(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=al(e);if(t){var o=al(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return ol(this,n)}}function ol(e,t){return!t||"object"!==Zi(t)&&"function"!=typeof t?function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e):t}function al(e){return(al=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function cl(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var sl="slds-media",il="slds-media__figure",ll="slds-media__body",pl=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&nl(e,t)}(c,e);var t,n,r,a=rl(c);function c(){return el(this,c),a.apply(this,arguments)}return t=c,(n=[{key:"render",value:function(){return o.a.createElement("div",{className:i()(sl,{"slds-media_center":this.props.verticalCenter,"slds-has-flexi-truncate":this.props.canTruncate},this.props.className)},this.props.figure?o.a.createElement("div",{className:il},this.props.figure," "):null,o.a.createElement("div",{className:ll},this.props.body))}}])&&tl(t.prototype,n),r&&tl(t,r),c}(o.a.Component);cl(pl,"displayName","SLDSMediaObject"),cl(pl,"propTypes",{canTruncate:c.a.bool,className:c.a.oneOfType([c.a.array,c.a.object,c.a.string]),body:c.a.node,figure:c.a.node,verticalCenter:c.a.bool});var ul=pl;function hl(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function dl(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var fl=function(e,t){var n=o.a.cloneElement(e,{id:e.props.id||t});return o.a.createElement("div",{className:"slds-input-has-icon slds-input-has-icon_left slds-size_1-of-3"},n)};fl.displayName="renderFilter";var vl=function(e){var t=null;("string"==typeof e.heading||e.heading instanceof String)&&(t=e.heading);var n,r=o.a.createElement("h2",{id:e.headingId,className:"slds-text-heading_small slds-truncate",title:t},e.heading);n=e.header?o.a.cloneElement(e.header,function(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?hl(Object(n),!0).forEach((function(t){dl(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):hl(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}({figure:e.icon,body:r,verticalCenter:!0,canTruncate:!0},e.header.props)):o.a.createElement(ul,{figure:e.icon,body:r,verticalCenter:!0,canTruncate:!0});var a=!!e.filter||null;return o.a.createElement("div",{className:i()("slds-card__header","slds-grid")},n,e.filter?fl(e.filter,e.filterId):null,o.a.createElement("div",{id:e.headerActionsId,className:i()("slds-no-flex",{"slds-size_1-of-3":a,"slds-text-align_right":a})},e.headerActions))};vl.displayName="SLDSCardHeader",vl.propTypes={filter:c.a.node,filterId:c.a.string,header:c.a.node,headerActions:c.a.node,headerActionsId:c.a.string,heading:c.a.oneOfType([c.a.element,c.a.string]).isRequired,headingId:c.a.string,icon:c.a.node};var ml=vl,gl=function(e){return o.a.createElement("div",{className:i()("slds-card__body",e.className),id:e.id},e.children)};gl.displayName="SLDSCardBody",gl.propTypes={children:c.a.node,className:c.a.oneOfType([c.a.array,c.a.object,c.a.string]),id:c.a.string};var yl=gl,bl=function(e){return o.a.createElement("div",{className:"slds-card__footer"},e.children)};bl.displayName="SLDSCardFooter",bl.propTypes={children:c.a.node};var wl=bl,zl=function(e){return o.a.createElement("div",{className:"slds-p-horizontal_small"},o.a.createElement("div",{className:"slds-text-align_center slds-m-bottom_x-large"},o.a.createElement("h3",{className:"slds-text-heading_small slds-p-top_large slds-p-bottom_large"},e.heading),e.children))};zl.displayName="SLDSCardEmpty",zl.propTypes={children:c.a.node,heading:c.a.string},zl.defaultProps={heading:"No Related Items"};var xl=zl,_l="__body",Ol="__header-actions",Ml="__heading",Sl="__filter-input",Cl=function(e){var t=e.id?e.id+_l:null,n=e.id?e.id+Sl:null,r=e.id?e.id+Ml:null,a=e.id?e.id+Ol:null,c=e.empty;return!0===c&&(c=o.a.createElement(xl,{id:e.id,heading:e.heading})),o.a.createElement("article",{id:e.id,className:i()("slds-card",e.className),style:e.style},!e.hasNoHeader&&o.a.createElement(ml,{header:e.header,headingId:r,icon:e.icon,filter:e.filter,filterId:n,heading:e.heading,headerActions:e.headerActions,headerActionsId:a}),c?o.a.createElement(yl,{id:t,className:e.bodyClassName},c):o.a.createElement(yl,{id:t,className:e.bodyClassName},e.children),e.footer?o.a.createElement(wl,null,e.footer):null)};Cl.displayName="SLDSCard",Cl.defaultProps={heading:"Related Items"},Cl.propTypes={bodyClassName:c.a.oneOfType([c.a.array,c.a.object,c.a.string]),children:c.a.node,className:c.a.oneOfType([c.a.array,c.a.object,c.a.string]),empty:c.a.oneOfType([c.a.bool,c.a.node]),filter:c.a.node,footer:c.a.node,hasNoHeader:c.a.bool,header:c.a.node,heading:c.a.oneOfType([c.a.node,c.a.string]).isRequired,headerActions:c.a.node,icon:c.a.node,id:c.a.string,style:c.a.object};var El=Cl;function Hl(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function jl(){return(jl=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}function Pl(e,t){if(null==e)return{};var n,r,o=function(e,t){if(null==e)return{};var n,r,o={},a=Object.keys(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)>=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}var kl=function(e){var t=e.category,n=e.iconPosition,r=e.name,a=e.path,c=e.onClick,s=e.variant,l=Pl(e,["category","iconPosition","name","path","onClick","variant"]),p={combobox:o.a.createElement("span",{className:"slds-icon_container slds-input__icon slds-input__icon_right"},o.a.createElement(ut,jl({"aria-hidden":!0,category:t,className:i()("slds-icon slds-icon_x-small slds-icon-text-default"),name:r,path:a},l))),base:o.a.createElement(ut,jl({"aria-hidden":!0,category:t,className:i()("slds-input__icon slds-icon-text-default",Hl({},"slds-input__icon_".concat(n),n)),name:r,path:a},l))};return Tr()(c)?o.a.createElement(or,jl({className:i()("slds-input__icon",Hl({},"slds-input__icon_".concat(n),n)),iconCategory:t,iconName:r,iconPath:a,onClick:c,variant:"icon"},l)):p[s]};kl.displayName="SLDSIconInput",kl.propTypes={category:c.a.string,iconPosition:c.a.oneOf(["left","right"]),name:c.a.string,path:c.a.string,onClick:c.a.func,variant:c.a.oneOf(["base","combobox"])},kl.defaultProps={category:"utility",variant:"base"};var Nl=kl;var Tl=function(){},Ll=n(40);function Vl(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function Rl(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?Vl(Object(n),!0).forEach((function(t){Dl(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Vl(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function Dl(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var Il={assistiveText:c.a.shape({label:c.a.string}),containerClassName:c.a.string,containerStyle:c.a.object,hasContainer:c.a.bool,id:c.a.string,isDelayed:c.a.bool,isInput:c.a.bool,isInline:c.a.bool,size:c.a.oneOf(["xx-small","x-small","small","medium","large"]),variant:c.a.oneOf(["base","brand","inverse"])},Al={assistiveText:{label:"Loading..."},isDelayed:!1,isInline:!1,isInput:!1,hasContainer:!0,size:"medium",variant:"base"},Fl=function(e){Tl(he,e,Ll);var t=e.containerClassName,n=e.containerStyle,r=e.id,a=e.isDelayed,c=e.isInline,s=e.isInput,l=e.hasContainer,p=e.size,u=e.variant,h="string"==typeof e.assistiveText?e.assistiveText:Rl(Rl({},Al.assistiveText),e.assistiveText).label,d=i()("slds-spinner",Dl({"slds-spinner_inline":c,"slds-input__spinner":s,"slds-spinner_brand":"brand"===u,"slds-spinner_inverse":"inverse"===u,"slds-spinner_delayed":a},"slds-spinner_".concat(p),p)),f=o.a.createElement("div",{"aria-hidden":"false",className:d,id:r,role:"status"},h&&o.a.createElement("span",{className:"slds-assistive-text"},h),o.a.createElement("div",{className:"slds-spinner__dot-a"}),o.a.createElement("div",{className:"slds-spinner__dot-b"}));return l?o.a.createElement("div",{className:i()(t,"slds-spinner_container"),style:n},f):f};Fl.displayName=he,Fl.propTypes=Il,Fl.defaultProps=Al;var Bl=Fl;function ql(){return(ql=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}function Kl(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function Wl(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?Kl(Object(n),!0).forEach((function(t){Ul(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Kl(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function Ul(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Gl(e,t){if(null==e)return{};var n,r,o=function(e,t){if(null==e)return{};var n,r,o={},a=Object.keys(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)>=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}var Yl="counter",Ql={"aria-activedescendant":c.a.string,"aria-autocomplete":c.a.string,"aria-controls":c.a.string,"aria-describedby":c.a.string,"aria-expanded":c.a.bool,"aria-haspopup":c.a.oneOfType([c.a.bool,c.a.string]),"aria-labelledby":c.a.string,"aria-owns":c.a.string,"aria-required":c.a.bool,assistiveText:c.a.shape({spinner:c.a.string}),autoComplete:c.a.string,className:c.a.oneOfType([c.a.array,c.a.object,c.a.string]),containerClassName:c.a.oneOfType([c.a.array,c.a.object,c.a.string]),containerProps:c.a.object,disabled:c.a.bool,fixedTextLeft:c.a.oneOfType([c.a.node,c.a.string]),fixedTextRight:c.a.oneOfType([c.a.node,c.a.string]),hasSpinner:c.a.bool,iconLeft:c.a.node,iconRight:c.a.node,id:c.a.string.isRequired,inputRef:c.a.func,isStatic:c.a.bool,label:c.a.string,onBlur:c.a.func,onChange:c.a.func,onClick:c.a.func,onFocus:c.a.func,onInput:c.a.func,onInvalid:c.a.func,onKeyDown:c.a.func,onKeyPress:c.a.func,onKeyUp:c.a.func,onSelect:c.a.func,onSubmit:c.a.func,placeholder:c.a.string,minLength:c.a.string,minValue:c.a.number,maxLength:c.a.string,maxValue:c.a.number,name:c.a.string,readOnly:c.a.bool,required:c.a.bool,role:c.a.string,step:c.a.number,style:c.a.object,tabIndex:c.a.string,type:c.a.oneOf(["text","password","datetime","datetime-local","date","month","time","week","number","email","url","search","tel","color"]),value:c.a.oneOfType([c.a.number,c.a.string]),variant:c.a.oneOf(["base",Yl]),defaultValue:c.a.oneOfType([c.a.number,c.a.string])},Jl={assistiveText:{spinner:"Loading ..."},type:"text"},Xl=function(e){var t=Bn(e);t["aria-describedby"]=e.hasSpinner?"loading-status-icon ".concat(e["aria-describedby"]):e["aria-describedby"];var n=e.containerProps,r=n.className,a=Gl(n,["className"]),c=Wl(Wl({},Jl.assistiveText),e.assistiveText);return o.a.createElement("div",ql({className:i()(r,{"slds-input-has-icon":e.variant!==Yl&&(e.iconLeft||e.iconRight),"slds-input-has-icon_left":e.iconLeft&&!e.iconRight,"slds-input-has-icon_right":!e.iconLeft&&e.iconRight,"slds-input-has-icon_left-right":e.variant!==Yl&&e.iconLeft&&e.iconRight,"slds-input-has-fixed-addon":e.fixedTextLeft||e.fixedTextRight,"slds-has-divider_bottom":e.isStatic})},a),e.iconLeft&&e.iconLeft,e.fixedTextLeft&&o.a.createElement("span",{className:"slds-form-element__addon"},e.fixedTextLeft),!e.isStatic&&o.a.createElement("input",ql({autoComplete:e.autoComplete,className:i()("slds-input",{"slds-text-align_left":e.variant===Yl&&e.readOnly},e.className),disabled:e.disabled,id:e.id,min:e.minValue,minLength:e.minLength,max:e.maxValue,maxLength:e.maxLength,name:e.name,onBlur:e.onBlur,onChange:e.onChange,onClick:e.onClick,onFocus:e.onFocus,onInput:e.onInput,onInvalid:e.onInvalid,onKeyDown:e.onKeyDown,onKeyPress:e.onKeyPress,onKeyUp:e.onKeyUp,onSelect:e.onSelect,onSubmit:e.onSubmit,placeholder:e.placeholder,readOnly:e.readOnly,ref:e.inputRef,required:e.required,role:e.role,step:e.step,style:e.style,tabIndex:e.tabIndex,type:e.type},t,void 0!==e.value?{value:e.value}:{defaultValue:e.defaultValue})),e.hasSpinner?o.a.createElement("div",{className:"slds-input__icon-group slds-input__icon-group_right"},o.a.createElement(Bl,{assistiveText:{label:c.spinner},id:"loading-status-icon",isInput:!0,size:"x-small",variant:"brand"}),e.iconRight&&e.iconRight):e.iconRight&&e.iconRight,e.fixedTextRight&&o.a.createElement("span",{className:"slds-form-element__addon"},e.fixedTextRight),e.isStatic&&o.a.createElement("span",{className:i()("slds-form-element__static","slds-grid",{"slds-grid_align-spread":e.variant!==Yl}),onClick:e.onClick},e.value,e.inlineEditTrigger))};Xl.displayName="SLDSInnerInput",Xl.propTypes=Ql,Xl.defaultProps=Jl;var $l=Xl,Zl={assistiveText:c.a.object,className:c.a.oneOfType([c.a.array,c.a.object,c.a.string]),htmlFor:c.a.string,label:c.a.string,required:c.a.bool,variant:c.a.oneOf(["base","static"])},ep=function(e){var t=e.label||e.assistiveText&&e.assistiveText.label,n={base:o.a.createElement("label",{className:i()("slds-form-element__label",{"slds-assistive-text":e.assistiveText&&!e.label},e.className),htmlFor:e.htmlFor},e.required&&o.a.createElement("abbr",{className:"slds-required",title:"required"},"*"),t),static:o.a.createElement("span",{className:i()("slds-form-element__label",e.className)},t)};return t?n[e.variant]:null};ep.displayName="Label",ep.propTypes=Zl,ep.defaultProps={variant:"base"};var tp=ep;var np=function(){},rp=n(21),op={removeUndefined:function(e){var t={};return Object.keys(e).forEach((function(n){void 0!==e[n]&&(t[n]=e[n])})),t}};function ap(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function cp(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?ap(Object(n),!0).forEach((function(t){sp(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):ap(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function sp(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var ip={assistiveText:c.a.shape({triggerLearnMoreIcon:c.a.string}),fieldLevelHelpTooltip:c.a.node.isRequired},lp={triggerClassName:"slds-form-element__icon",triggerStyle:{position:"static"},variant:"learnMore"},pp=function(e){var t=e.fieldLevelHelpTooltip,n=e.assistiveText,r=void 0===n?{}:n;return t?o.a.createElement(Fn,cp(cp(cp({},lp),t.props),{},{assistiveText:cp(cp({},t.props.assistiveText),op.removeUndefined(r))})):null};pp.propTypes=ip,pp.displayName="FieldLevelHelpTooltip";var up=pp;function hp(e){return(hp="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function dp(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function fp(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?dp(Object(n),!0).forEach((function(t){xp(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):dp(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function vp(){return(vp=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}function mp(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function gp(e,t){return(gp=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function yp(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=zp(e);if(t){var o=zp(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return bp(this,n)}}function bp(e,t){return!t||"object"!==hp(t)&&"function"!=typeof t?wp(e):t}function wp(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function zp(e){return(zp=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function xp(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var _p="counter",Op="Decrement",Mp="Increment",Sp={assistiveText:{decrement:"".concat(Op," ").concat(_p),increment:"".concat(Mp," ").concat(_p)},type:"text"},Cp=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&gp(e,t)}(c,e);var t,n,r,a=yp(c);function c(e){var t;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,c),xp(wp(t=a.call(this,e)),"getId",(function(){return t.props.id||t.generatedId})),xp(wp(t),"getErrorId",(function(){return t.props["aria-describedby"]||t.generatedErrorId})),xp(wp(t),"getValueAsNumber",(function(){var e=0;return void 0!==t.props.value?e=Number(t.props.value):t.inputRef&&(e=Number(t.inputRef.value)),e})),xp(wp(t),"getCounterButtonIcon",(function(e){var n=t.getValueAsNumber(),r=!1;return(t.props.disabled||e===Mp&&void 0!==t.props.maxValue&&n>=t.props.maxValue||e===Op&&void 0!==t.props.minValue&&n<=t.props.minValue)&&(r=!0),o.a.createElement(or,{assistiveText:{icon:t.props.assistiveText[e.toLowerCase()]},className:i()("slds-button_icon-small","slds-input__button_".concat(e.toLowerCase())),disabled:r,iconCategory:"utility",iconName:e===Op?"ban":"new",onKeyDown:function(n){13===n.keyCode&&t.performStep(e,n)},onKeyUp:t.stopStepping,onMouseDown:function(n){t.performStep(e,n)},onMouseLeave:t.stopStepping,onMouseUp:t.stopStepping,variant:"icon"})})),xp(wp(t),"getIconRender",(function(e,n){var r,a={assistiveText:{icon:t.props[n]&&t.props[n].props.assistiveText||t.props.iconAssistiveText},category:t.props[n]&&t.props[n].props.category||t.props.iconCategory,name:t.props[n]&&t.props[n].props.name||t.props.iconName,onClick:t.props[n]&&t.props[n].props.onClick||t.props.onIconClick};return t.props[n]&&e&&t.props[n]?r=o.a.cloneElement(t.props[n],{iconPosition:"".concat(e)}):a.name&&(r=o.a.createElement(Nl,vp({iconPosition:e},a))),r})),xp(wp(t),"setInputRef",(function(e){t.inputRef=e,t.props.inputRef&&t.props.inputRef(e)})),xp(wp(t),"handleChange",(function(e){if(t.props.onChange){var n={value:e.target.value};t.props.variant===_p&&(n.number=Number(n.value)),t.props.onChange(e,n)}})),xp(wp(t),"performStep",(function(e,n){clearTimeout(t.stepping.timeout);var r=t.props.maxValue,o=t.props.minValue,a=void 0!==t.props.step?Number(t.props.step):1,c=t.getValueAsNumber(),s=!1;if(e===Op&&void 0!==r&&c>r)c=Number(r),s=!0;else if(e===Mp&&void 0!==o&&c<o)c=Number(o),s=!0;else{var i=String(a).search(/\./)>=0?String(a).split(".")[1].length:0,l=0;void 0!==o&&(l=(c-o)%a),c=l>0?e===Op?c-l:c+(a-l):e===Op?c-a:c+a,c=Number(c.toFixed(i)),void 0!==r&&c>r||void 0!==o&&c<o||(s=!0)}s&&(void 0===t.props.value&&t.inputRef?(t.inputRef.value=String(c),t.forceUpdate()):t.props.onChange&&t.props.onChange(n,{number:c,value:String(c)})),e===Mp&&void 0!==r&&c>=r||e===Op&&void 0!==o&&c<=o?t.stopStepping():t.stepping.timeout=setTimeout((function(){t.stepping.currentDelay=t.stepping.speedDelay,t.performStep(e)}),t.stepping.currentDelay)})),xp(wp(t),"stopStepping",(function(){clearTimeout(t.stepping.timeout),t.stepping.currentDelay=t.stepping.initialDelay})),t.inputRef=null,t.stepping={currentDelay:500,initialDelay:500,speedDelay:75,timeout:{}},np(R,e,rp),t.generatedId=p.a.generate(),e.errorText&&(t.generatedErrorId=p.a.generate()),t}return t=c,(n=[{key:"render",value:function(){var e=fp(fp({},Sp.assistiveText),this.props.assistiveText),t=this.props.variant===_p?this.setInputRef:this.props.inputRef,n=null,r=null,a=this.props.label||e&&e.label;return this.props.iconLeft||("left"===this.props.iconPosition||void 0===this.props.iconPosition)&&this.props.iconName?n=this.getIconRender("left","iconLeft"):this.props.variant!==_p||this.props.isStatic||this.props.readOnly||(n=this.getCounterButtonIcon(Op)),this.props.iconRight||"right"===this.props.iconPosition&&this.props.iconName?r=this.getIconRender("right","iconRight"):this.props.variant!==_p||this.props.isStatic||this.props.readOnly||(r=this.getCounterButtonIcon(Mp)),o.a.createElement("div",{className:i()("slds-form-element",{"slds-has-error":this.props.errorText},this.props.className),style:this.props.styleContainer},o.a.createElement(tp,{assistiveText:e,htmlFor:this.props.isStatic?void 0:this.getId(),label:this.props.label,required:this.props.required,variant:this.props.isStatic?"static":"base"}),this.props.fieldLevelHelpTooltip&&a?o.a.createElement(up,{assistiveText:{triggerLearnMoreIcon:e.fieldLevelHelpButton},fieldLevelHelpTooltip:this.props.fieldLevelHelpTooltip}):null,o.a.createElement($l,{"aria-activedescendant":this.props["aria-activedescendant"],"aria-autocomplete":this.props["aria-autocomplete"],"aria-controls":this.props["aria-controls"],"aria-labelledby":this.props["aria-labelledby"],"aria-describedby":this.getErrorId(),"aria-expanded":this.props["aria-expanded"],"aria-owns":this.props["aria-owns"],"aria-required":this.props["aria-required"],autoComplete:this.props.autoComplete,className:i()({"slds-input_counter":this.props.variant===_p,"slds-p-horizontal_none":this.props.variant===_p&&this.props.readOnly}),containerProps:{className:"slds-form-element__control"},defaultValue:this.props.defaultValue,disabled:this.props.disabled,fixedTextLeft:this.props.fixedTextLeft,fixedTextRight:this.props.fixedTextRight,hasSpinner:this.props.hasSpinner,id:this.getId(),iconLeft:n,iconRight:r,inlineEditTrigger:this.props.inlineEditTrigger,isStatic:this.props.isStatic,minLength:this.props.minLength,minValue:this.props.minValue,maxLength:this.props.maxLength,maxValue:this.props.maxValue,name:this.props.name,onBlur:this.props.onBlur,onChange:this.handleChange,onClick:this.props.onClick,onFocus:this.props.onFocus,onInput:this.props.onInput,onInvalid:this.props.onInvalid,onKeyDown:this.props.onKeyDown,onKeyPress:this.props.onKeyPress,onKeyUp:this.props.onKeyUp,onSelect:this.props.onSelect,onSubmit:this.props.onSubmit,placeholder:this.props.placeholder,inputRef:t,readOnly:this.props.readOnly,required:this.props.required,role:this.props.role,assistiveText:this.props.assistiveText,type:this.props.variant===_p?"number":this.props.type,value:this.props.value,variant:this.props.variant,step:this.props.step,style:this.props.styleInput}),this.props.inlineHelpText&&o.a.createElement("div",{className:"slds-form-element__help"},this.props.inlineHelpText),this.props.errorText&&o.a.createElement("div",{id:this.getErrorId(),className:"slds-form-element__help"},this.props.errorText),this.props.children)}}])&&mp(t.prototype,n),r&&mp(t,r),c}(o.a.Component);xp(Cp,"displayName",R),xp(Cp,"propTypes",{"aria-activedescendant":c.a.string,"aria-autocomplete":c.a.string,"aria-controls":c.a.string,"aria-describedby":c.a.string,"aria-expanded":c.a.bool,"aria-haspopup":c.a.bool,"aria-labelledby":c.a.string,"aria-owns":c.a.string,"aria-required":c.a.bool,assistiveText:c.a.shape({label:c.a.string,spinner:c.a.string}),autoComplete:c.a.string,children:c.a.node,className:c.a.oneOfType([c.a.array,c.a.object,c.a.string]),defaultValue:c.a.oneOfType([c.a.number,c.a.string]),disabled:c.a.bool,errorText:c.a.oneOfType([c.a.node,c.a.string]),fieldLevelHelpTooltip:c.a.node,fixedTextLeft:c.a.oneOfType([c.a.node,c.a.string]),fixedTextRight:c.a.oneOfType([c.a.node,c.a.string]),hasSpinner:c.a.bool,iconLeft:c.a.node,iconRight:c.a.node,id:c.a.string,inlineHelpText:c.a.oneOfType([c.a.node,c.a.string]),inputRef:c.a.func,isStatic:c.a.bool,label:c.a.string,onBlur:c.a.func,onChange:c.a.func,onClick:c.a.func,onFocus:c.a.func,onInput:c.a.func,onInvalid:c.a.func,onKeyDown:c.a.func,onKeyPress:c.a.func,onKeyUp:c.a.func,onSelect:c.a.func,onSubmit:c.a.func,placeholder:c.a.string,minLength:c.a.string,minValue:c.a.number,maxLength:c.a.string,maxValue:c.a.number,name:c.a.string,readOnly:c.a.bool,required:c.a.bool,role:c.a.string,step:c.a.number,styleInput:c.a.object,styleContainer:c.a.object,type:c.a.oneOf(["text","password","datetime","datetime-local","date","month","time","week","number","email","url","search","tel","color"]),value:c.a.oneOfType([c.a.number,c.a.string]),variant:c.a.oneOf(["base",_p])}),xp(Cp,"defaultProps",Sp);var Ep=Cp;function Hp(){return(Hp=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}function jp(e,t){if(null==e)return{};var n,r,o=function(e,t){if(null==e)return{};var n,r,o={},a=Object.keys(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)>=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}var Pp=function(e){var t=e.id,n=e.placeholder,r=e.onChange,a=jp(e,["id","placeholder","onChange"]);return o.a.createElement(Ep,Hp({},a,{assistiveText:{label:n},iconLeft:o.a.createElement(Nl,{name:"search",category:"utility"}),id:t,onChange:r,placeholder:n}))};Pp.displayName="SLDSCardFilter",Pp.propTypes={id:c.a.string,onChange:c.a.func,placeholder:c.a.string.isRequired},Pp.defaultProps={placeholder:"Find in List"};var kp=Pp;function Np(e){return(Np="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function Tp(e){return function(e){if(Array.isArray(e))return Lp(e)}(e)||function(e){if("undefined"!=typeof Symbol&&Symbol.iterator in Object(e))return Array.from(e)}(e)||function(e,t){if(!e)return;if("string"==typeof e)return Lp(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return Lp(e,t)}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Lp(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function Vp(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function Rp(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function Dp(e,t){return(Dp=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function Ip(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=Bp(e);if(t){var o=Bp(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return Ap(this,n)}}function Ap(e,t){return!t||"object"!==Np(t)&&"function"!=typeof t?Fp(e):t}function Fp(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function Bp(e){return(Bp=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function qp(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var Kp=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&Dp(e,t)}(c,e);var t,n,r,a=Ip(c);function c(){var e;Vp(this,c);for(var t=arguments.length,n=new Array(t),r=0;r<t;r++)n[r]=arguments[r];return qp(Fp(e=a.call.apply(a,[this].concat(n))),"onFocus",(function(t){e["indicator".concat(e.props.currentIndex)].focus(),e.props.onFocus&&e.props.onFocus(t)})),e}return t=c,(n=[{key:"componentDidUpdate",value:function(){this.props.hasFocus&&this["indicator".concat(this.props.currentIndex)]&&this["indicator".concat(this.props.currentIndex)].focus()}},{key:"render",value:function(){var e=this,t=this.props;return o.a.createElement("ul",{className:"slds-carousel__indicators slds-col slds-text-align_center",role:"tablist"},Tp(Array(t.noOfIndicators).keys()).map((function(n){var r=n===t.currentIndex,a=i()("slds-carousel__indicator-action",t.className,{"slds-is-active":r}),c="".concat(n),s="".concat(n),l="";if(t.items&&t.items.length>0){l=t.items[n].id;for(var p=n*t.itemsPerPanel,u="",h=p;h<p+t.itemsPerPanel;h+=1)t.items[h]&&t.items[h].heading&&(u=u?"".concat(u,", "):"",u+=t.items[h].heading);u&&(c=u,s=u)}return o.a.createElement("li",{className:"slds-carousel__indicator slds-m-horizontal_xx-small",key:n,role:"presentation",style:{margin:0,padding:"0 5px"}},o.a.createElement("a",{ref:function(t){e["indicator".concat(n)]=t},id:"indicator-id-".concat(t.carouselId,"-").concat(n),className:a,role:"tab",tabIndex:r?"0":"-1","aria-selected":r,"aria-controls":t.getPanelId({carouselId:t.carouselId,itemId:l}),title:s,onBlur:t.onBlur,onClick:function(e){return t.onClick(e,n)},onFocus:e.onFocus},o.a.createElement("span",{className:"slds-assistive-text"},c)))})))}}])&&Rp(t.prototype,n),r&&Rp(t,r),c}(o.a.Component);Kp.displayName="SLDSCarouselIndicators",Kp.defaultProps={currentIndex:0},Kp.propTypes={carouselId:c.a.string,className:c.a.oneOfType([c.a.array,c.a.object,c.a.string]),currentIndex:c.a.number,hasFocus:c.a.bool,items:c.a.array,itemsPerPanel:c.a.number,noOfIndicators:c.a.number.isRequired,onBlur:c.a.func,onClick:c.a.func,onFocus:c.a.func};var Wp=Kp;function Up(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function Gp(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?Up(Object(n),!0).forEach((function(t){Yp(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Up(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function Yp(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var Qp=function(e){return o.a.createElement("div",{className:"slds-carousel__col-center slds-is-absolute",style:Gp(Gp({},e.inlineStyle),{},{margin:"-12px 0 0",top:"50%"})},o.a.createElement(or,{assistiveText:{icon:e.assistiveText},className:"slds-button_icon slds-carousel__button",disabled:e.isDisabled,iconCategory:"utility",iconName:e.iconName,iconVariant:"border-filled",iconSize:"small",onClick:e.onClick,variant:"icon"}))};Qp.displayName="SLDSCarouselNavigators",Qp.propTypes={assistiveText:c.a.string,iconName:c.a.oneOf(["chevronleft","chevronright"]),isDisabled:c.a.bool,inlineStyle:c.a.object,onClick:c.a.func};var Jp=Qp,Xp=function(e){return o.a.createElement("div",{id:e.getPanelId({carouselId:e.carouselId,itemId:e.id}),className:"slds-carousel__panel slds-m-horizontal_xx-small slds-list_horizontal",role:"tabpanel","aria-hidden":"false","aria-labelledby":"indicator-id-".concat(e.carouselId,"-").concat(e.panelIndex),style:{margin:0,maxWidth:"".concat(e.itemWidth,"px"),padding:"0 6px"}},e.onRenderItem?e.onRenderItem({item:e}):o.a.createElement("a",{className:"slds-carousel__panel-action slds-text-link_reset",href:e.href,onClick:e.onClick,onFocus:e.onFocus,style:{backgroundColor:"white",width:"100%"},tabIndex:e.isInCurrentPanel?"0":"-1"},o.a.createElement("div",{className:"slds-carousel__image"},o.a.createElement("img",{src:e.src,alt:e.imageAssistiveText||e.heading})),o.a.createElement("div",{className:"slds-carousel__content",style:{height:"auto"}},o.a.createElement("h2",{className:"slds-carousel__content-title"},e.heading),o.a.createElement("div",{className:"slds-p-bottom_x-small slds-text-body_small",style:{minHeight:"40px"}},e.description),e.buttonLabel&&o.a.createElement(or,{label:e.buttonLabel,tabIndex:e.isInCurrentPanel?"0":"-1",variant:"neutral"}))))};Xp.displayName="SLDSCarouselItem",Xp.propTypes={buttonLabel:c.a.string,carouselId:c.a.string,className:c.a.oneOfType([c.a.array,c.a.object,c.a.string]),description:c.a.oneOfType([c.a.string,c.a.node]),heading:c.a.oneOfType([c.a.string,c.a.object]).isRequired,href:c.a.string,id:c.a.number.isRequired,imageAssistiveText:c.a.string,isInCurrentPanel:c.a.bool,itemWidth:c.a.number,onFocus:c.a.func,onRenderItem:c.a.func,panelIndex:c.a.number,src:c.a.string.isRequired},Xp.defaultProps={href:"javascript:void(0);"};var $p=Xp,Zp=function(e){return o.a.createElement("span",{className:"slds-carousel__autoplay",style:{left:"66px"}},o.a.createElement(or,{assistiveText:{icon:e.assistiveText},className:"slds-button_icon",disabled:e.isDisabled,iconCategory:"utility",iconName:e.isAutoplayOn?"pause":"play",iconVariant:"border-filled",iconSize:"x-small",onClick:e.onClick,variant:"icon"}))};Zp.displayName="SLDSCarouselAutoplayButton",Zp.propTypes={assistiveText:c.a.string,isAutoplayOn:c.a.bool,onClick:c.a.func},Zp.defaultProps={isAutoplayOn:!1};var eu=Zp;function tu(e){return(tu="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function nu(){return(nu=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}function ru(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function ou(e,t){return(ou=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function au(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=iu(e);if(t){var o=iu(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return cu(this,n)}}function cu(e,t){return!t||"object"!==tu(t)&&"function"!=typeof t?su(e):t}function su(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function iu(e){return(iu=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function lu(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var pu=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&ou(e,t)}(c,e);var t,n,r,a=au(c);function c(e){var t;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,c),lu(su(t=a.call(this,e)),"onNextPanelHandler",(function(e){var n=t.getCurrentPanel()+1;n>t.nrOfPanels-1&&(n=0),t.setCurrentPanel(e,n,t.changeTranslationAutomatically)})),lu(su(t),"onPreviousPanelHandler",(function(e){var n=t.getCurrentPanel()-1;n<0&&(n=t.nrOfPanels-1),t.setCurrentPanel(e,n,t.changeTranslationAutomatically)})),lu(su(t),"onIndicatorBlur",(function(){t.setState({indicatorsHaveFocus:!1})})),lu(su(t),"onIndicatorClickHandler",(function(e,n){t.setCurrentPanel(e,n,t.changeTranslationAutomatically),t.setState({indicatorsHaveFocus:!0}),t.getIsAutoplayOn()&&t.stopAutoplay(e)})),lu(su(t),"onIndicatorFocus",(function(e){t.setState({indicatorsHaveFocus:!0}),t.getIsAutoplayOn()&&t.stopAutoplay(e)})),lu(su(t),"onAutoplayBtnClick",(function(e){var n=t.getIsAutoplayOn();if(t.props.onRequestAutoplayToggle)t.props.onRequestAutoplayToggle(e,{isAutoplayOn:n});else{var r=n?t.stopAutoplay:t.startAutoplay;t.setState({isAutoplayOn:!n}),r(e)}})),lu(su(t),"getPanelId",(function(e){var t=e.carouselId,n=e.itemId;return"content-id-".concat(t,"-").concat(n)})),lu(su(t),"setDimensions",(function(){Rt&&void 0!==t.stageItem&&void 0!==t.stageItem.current&&void 0!==t.stageItem.current.offsetWidth&&t.setState({stageWidth:t.stageItem.current.offsetWidth},t.changeTranslationAutomatically)})),lu(su(t),"setTranslationAmount",(function(e,n){t.setState({translateX:e},n)})),lu(su(t),"setCurrentPanel",(function(e,n,r){t.props.onRequestPanelChange?t.props.onRequestPanelChange(e,{currentPanel:t.getCurrentPanel(),requestedPanel:n}):t.setState({currentPanel:n},r)})),lu(su(t),"startAutoplay",(function(e){t.autoplayId=setInterval((function(){t.canGoToNext()?t.onNextPanelHandler(e):t.props.isInfinite?t.setCurrentPanel(e,0,t.changeTranslationAutomatically):t.stopAutoplay(e)}),t.props.autoplayInterval)})),lu(su(t),"stopAutoplay",(function(e,n){t.autoplayId&&clearInterval(t.autoplayId),n||(t.props.onRequestAutoplayToggle?t.props.onRequestAutoplayToggle(e,{isAutoplayOn:t.getIsAutoplayOn()}):t.setState({isAutoplayOn:!1}))})),lu(su(t),"changeTranslationAutomatically",(function(){t.setTranslationAmount(-(t.state.stageWidth||t.stageWidth)*t.getCurrentPanel())})),lu(su(t),"canGoToNext",(function(){return t.getCurrentPanel()<t.nrOfPanels-1})),lu(su(t),"canGoToPrevious",(function(){return t.getCurrentPanel()>0})),lu(su(t),"handleKeyDown",(function(e){var n,r=(lu(n={},Lt.LEFT,(function(){(t.props.isInfinite||t.canGoToPrevious())&&(t.onPreviousPanelHandler(e),t.setState({indicatorsHaveFocus:!0}),t.getIsAutoplayOn()&&t.stopAutoplay(e))})),lu(n,Lt.RIGHT,(function(){(t.props.isInfinite||t.canGoToNext())&&(t.onNextPanelHandler(e),t.setState({indicatorsHaveFocus:!0}),t.getIsAutoplayOn()&&t.stopAutoplay(e))})),n);r[e.keyCode]&&(Nt.trapImmediate(e),r[e.keyCode]())})),t.nrOfPanels=Math.ceil(e.items.length/e.itemsPerPanel),t.stageItem=o.a.createRef(),t.state={currentPanel:void 0!==e.currentPanel?e.currentPanel:0,indicatorsHaveFocus:!1,isAutoplayOn:void 0!==e.isAutoplayOn?e.isAutoplayOn:e.hasAutoplay,stageWidth:0,translateX:-1e6},t.generatedId=p.a.generate(),t}return t=c,(n=[{key:"componentDidMount",value:function(){Rt&&void 0!==this.stageItem&&void 0!==this.stageItem.current&&void 0!==this.stageItem.current.offsetWidth&&(this.stageWidth=this.stageItem.current.offsetWidth),Dt&&window.addEventListener("resize",this.setDimensions,!1),this.changeTranslationAutomatically(),this.getIsAutoplayOn()&&this.startAutoplay({mountAutoplayEvent:!0})}},{key:"componentDidUpdate",value:function(e){void 0!==this.props.currentPanel&&e.currentPanel!==this.props.currentPanel&&this.changeTranslationAutomatically(),void 0!==this.props.isAutoplayOn&&e.isAutoplayOn!==this.props.isAutoplayOn&&(this.props.isAutoplayOn?this.startAutoplay({updateAutoplayEvent:!0}):this.stopAutoplay({updateAutoplayEvent:!0},!0)),e.items.length===this.props.items.length&&e.itemsPerPanel===this.props.itemsPerPanel||(this.nrOfPanels=Math.ceil(this.props.items.length/this.props.itemsPerPanel))}},{key:"componentWillUnmount",value:function(){Dt&&window.removeEventListener("resize",this.setDimensions,!1),this.stopAutoplay({unmountAutoplayEvent:!0},!0)}},{key:"getCurrentPanel",value:function(){return void 0!==this.props.currentPanel?this.props.currentPanel:this.state.currentPanel}},{key:"getIsAutoplayOn",value:function(){return void 0!==this.props.isAutoplayOn?this.props.isAutoplayOn:this.state.isAutoplayOn}},{key:"render",value:function(){var e=this,t=this.props,n=t.hasAutoplay,r=t.hasPreviousNextPanelNavigation,a=t.isInfinite,c=this.getCurrentPanel(),s=this.props.id||this.generatedId,l=!(a||this.canGoToPrevious()),p=!(a||this.canGoToNext()),u=(this.state.stageWidth||this.stageWidth)/this.props.itemsPerPanel,h=r?{marginLeft:"44px",marginRight:"44px"}:{};return o.a.createElement("div",{className:i()("slds-carousel",this.props.className),id:s,onKeyDown:this.handleKeyDown},o.a.createElement("div",{className:"slds-grid_vertical slds-col slds-path__scroller"},n&&o.a.createElement(eu,{assistiveText:this.props.assistiveText.autoplayButton,isAutoplayOn:this.getIsAutoplayOn(),onClick:this.onAutoplayBtnClick}),o.a.createElement("div",{className:"slds-is-relative",style:h},r&&o.a.createElement(Jp,{assistiveText:this.props.assistiveText.previousPanel,iconName:"chevronleft",isDisabled:l,onClick:function(t){e.getIsAutoplayOn()&&e.stopAutoplay(t),e.onPreviousPanelHandler(t)},inlineStyle:{left:"-38px"}}),o.a.createElement("div",{ref:this.stageItem,className:"slds-carousel__stage slds-show"},o.a.createElement("div",{className:"slds-carousel__panels slds-is-relative",style:{transform:"translateX(".concat(this.state.translateX,"px)")}},this.props.items.map((function(t,n){return o.a.createElement($p,nu({carouselId:s,getPanelId:e.getPanelId,onClick:function(n){e.props.onItemClick(n,{item:t})},onFocus:function(t){e.getIsAutoplayOn()&&e.stopAutoplay(t)},onRenderItem:e.props.onRenderItem},t,{isInCurrentPanel:n>=c*e.props.itemsPerPanel&&n<c*e.props.itemsPerPanel+e.props.itemsPerPanel,itemWidth:u,key:t.id,panelIndex:Math.ceil((n+1)/e.props.itemsPerPanel)-1}))})))),r&&o.a.createElement(Jp,{assistiveText:this.props.assistiveText.nextPanel,iconName:"chevronright",isDisabled:p,onClick:function(t){e.getIsAutoplayOn()&&e.stopAutoplay(t),e.onNextPanelHandler(t)},inlineStyle:{right:"-38px"}})),o.a.createElement(Wp,{noOfIndicators:this.nrOfPanels,carouselId:s,currentIndex:c,getPanelId:this.getPanelId,hasFocus:this.state.indicatorsHaveFocus,onBlur:this.onIndicatorBlur,onClick:this.onIndicatorClickHandler,onFocus:this.onIndicatorFocus,items:this.props.items,itemsPerPanel:this.props.itemsPerPanel})))}}])&&ru(t.prototype,n),r&&ru(t,r),c}(o.a.Component);lu(pu,"displayName","SLDSCarousel"),lu(pu,"propTypes",{assistiveText:c.a.object,autoplayInterval:c.a.number,className:c.a.oneOfType([c.a.array,c.a.object,c.a.string]),currentPanel:c.a.number,hasAutoplay:c.a.bool,hasPreviousNextPanelNavigation:c.a.bool,id:c.a.string,isAutoplayOn:c.a.bool,isInfinite:c.a.bool,items:c.a.array.isRequired,itemsPerPanel:c.a.number,onRenderItem:c.a.func,onRequestAutoplayToggle:c.a.func,onRequestPanelChange:c.a.func,onItemClick:c.a.func}),lu(pu,"defaultProps",{assistiveText:{autoplayButton:"Start / Stop auto-play",nextPanel:"Next Panel",previousPanel:"Previous Panel"},autoplayInterval:4e3,hasAutoplay:!1,hasPreviousNextPanelNavigation:!1,isInfinite:!1,itemsPerPanel:1});var uu=pu;var hu=function(){},du=n(41);function fu(e){return(fu="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function vu(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function mu(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?vu(Object(n),!0).forEach((function(t){Ou(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):vu(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function gu(){return(gu=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}function yu(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function bu(e,t){return(bu=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function wu(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=_u(e);if(t){var o=_u(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return zu(this,n)}}function zu(e,t){return!t||"object"!==fu(t)&&"function"!=typeof t?xu(e):t}function xu(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function _u(e){return(_u=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function Ou(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var Mu={"aria-controls":c.a.string,"aria-describedby":c.a.string,"aria-labelledby":c.a.string,"aria-owns":c.a.string,"aria-required":c.a.bool,assistiveText:c.a.shape({heading:c.a.string,label:c.a.string}),checked:c.a.bool,defaultChecked:c.a.bool,className:c.a.oneOfType([c.a.array,c.a.object,c.a.string]),disabled:c.a.bool,errorText:c.a.string,id:c.a.string,indeterminate:c.a.bool,labels:c.a.shape({heading:c.a.string,label:c.a.string,toggleDisabled:c.a.string,toggleEnabled:c.a.string}),name:c.a.string,onBlur:c.a.func,onChange:c.a.func,onFocus:c.a.func,onKeyDown:c.a.func,onKeyPress:c.a.func,onKeyUp:c.a.func,readOnly:c.a.bool,required:c.a.bool,role:c.a.string,variant:c.a.oneOf(["base","toggle","button-group","visual-picker"]),coverable:c.a.bool,vertical:c.a.bool,onRenderVisualPicker:c.a.func,onRenderVisualPickerSelected:c.a.func,onRenderVisualPickerNotSelected:c.a.func,size:c.a.oneOf(["medium","large"])},Su={assistiveText:{},labels:{toggleDisabled:"Disabled",toggleEnabled:"Enabled"},variant:"base"},Cu=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&bu(e,t)}(c,e);var t,n,r,a=wu(c);function c(e){var t;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,c),Ou(xu(t=a.call(this,e)),"getId",(function(){return t.props.id||t.generatedId})),Ou(xu(t),"getErrorId",(function(){return t.props.errorText?"".concat(t.getId(),"-error-text"):void 0})),Ou(xu(t),"getAriaDescribedBy",(function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=e.idArray,r=void 0===n?[]:n;return r.concat(t.props["aria-describedby"],t.getErrorId()).filter(Boolean).join(" ")||void 0})),Ou(xu(t),"handleChange",(function(e){var n=t.props,r=n.checked,o=n.indeterminate,a=n.onChange;"function"==typeof a&&(t.props.oldEventParameterOrder?a(e.target.checked,e,{checked:!!o||!r,indeterminate:!1}):a(e,{checked:!!o||!r,indeterminate:!1}))})),Ou(xu(t),"handleKeyDown",(function(e){e.keyCode&&(e.keyCode!==Lt.ENTER&&e.keyCode!==Lt.SPACE||(Nt.trapImmediate(e),t.handleChange(e)))})),Ou(xu(t),"renderButtonGroupVariant",(function(e,n,r,a){return o.a.createElement("span",{className:"slds-button slds-checkbox_button"},o.a.createElement("input",gu({disabled:e.disabled},void 0!==e.checked?{checked:e.checked}:{defaultChecked:e.defaultChecked},{id:t.getId(),name:e.name,onBlur:e.onBlur,onChange:t.handleChange,onFocus:e.onFocus,onKeyDown:e.onKeyDown,onKeyPress:e.onKeyPress,onKeyUp:e.onKeyUp,ref:function(e){t.input=e},role:e.role,required:e.required,type:"checkbox"},n,{"aria-describedby":t.getAriaDescribedBy()})),o.a.createElement("label",{className:"slds-checkbox_button__label",htmlFor:t.getId()},o.a.createElement("span",{className:"slds-checkbox_faux"},a.label),r.label?o.a.createElement("span",{className:"slds-assistive-text"},r.label):null))})),Ou(xu(t),"renderBaseVariant",(function(e,n,r,a){return o.a.createElement("div",{className:i()("slds-form-element",{"is-required":e.required,"slds-has-error":e.errorText},e.className)},o.a.createElement("div",{className:"slds-form-element__control"},o.a.createElement("span",{className:"slds-checkbox"},e.required?o.a.createElement("abbr",{className:"slds-required",title:"required"},"*"):null,o.a.createElement("input",gu({disabled:e.disabled},void 0!==e.checked?{checked:e.checked}:{defaultChecked:e.defaultChecked},{id:t.getId(),name:e.name,onBlur:e.onBlur,onChange:t.handleChange,onFocus:e.onFocus,onKeyDown:e.onKeyDown,onKeyPress:e.onKeyPress,onKeyUp:e.onKeyUp,ref:function(n){n&&(n.indeterminate=e.indeterminate),t.input=n},role:e.role,required:e.required,type:"checkbox"},n,{"aria-describedby":t.getAriaDescribedBy()})),o.a.createElement("label",{className:"slds-checkbox__label",htmlFor:t.getId(),id:e.labelId},o.a.createElement("span",{className:"slds-checkbox_faux"}),a.label?o.a.createElement("span",{className:"slds-form-element__label"},a.label):null,r.label?o.a.createElement("span",{className:"slds-assistive-text"},r.label):null))),e.errorText?o.a.createElement("div",{className:"slds-form-element__help",id:t.getErrorId()},e.errorText):null)})),Ou(xu(t),"renderToggleVariant",(function(e,n,r,a){return o.a.createElement("div",{className:i()("slds-form-element",{"is-required":e.required,"slds-has-error":e.errorText},e.className)},o.a.createElement("label",{className:"slds-checkbox_toggle slds-grid",htmlFor:t.getId()},e.required?o.a.createElement("abbr",{className:"slds-required",title:"required"},"*"):null,a.label?o.a.createElement("span",{className:"slds-form-element__label slds-m-bottom_none"},a.label):null,r.label?o.a.createElement("span",{className:"slds-assistive-text"},r.label):null,o.a.createElement("input",gu({disabled:e.disabled,id:t.getId()},void 0!==e.checked?{checked:e.checked}:{defaultChecked:e.defaultChecked},{name:e.name,onBlur:e.onBlur,onChange:t.handleChange,onFocus:e.onFocus,onKeyDown:e.onKeyDown,onKeyPress:e.onKeyPress,onKeyUp:e.onKeyUp,ref:function(e){t.input=e},role:e.role,required:e.required,type:"checkbox"},n,{"aria-describedby":t.getAriaDescribedBy({idArray:["".concat(t.getId(),"-desc")]})})),o.a.createElement("span",{id:"".concat(t.getId(),"-desc"),className:"slds-checkbox_faux_container","aria-live":"assertive"},o.a.createElement("span",{className:"slds-checkbox_faux"}),o.a.createElement("span",{className:"slds-checkbox_on"},a.toggleEnabled),o.a.createElement("span",{className:"slds-checkbox_off"},a.toggleDisabled))),e.errorText?o.a.createElement("div",{className:"slds-form-element__help",id:t.getErrorId()},e.errorText):null)})),Ou(xu(t),"renderVisualPickerVariant",(function(e,n,r){return o.a.createElement("span",{className:i()("slds-visual-picker","slds-visual-picker_".concat(t.props.size),t.props.vertical?"slds-visual-picker_vertical":null)},o.a.createElement("input",gu({disabled:e.disabled},void 0!==e.checked?{checked:e.checked}:{defaultChecked:e.defaultChecked},{id:t.getId(),name:e.name,onBlur:e.onBlur,onChange:t.handleChange,onFocus:e.onFocus,onKeyDown:e.onKeyDown,onKeyPress:e.onKeyPress,onKeyUp:e.onKeyUp,ref:function(e){t.input=e},role:e.role,required:e.required,type:"checkbox"},n,{"aria-describedby":t.getAriaDescribedBy()})),o.a.createElement("label",{className:"slds-checkbox_button__label",htmlFor:t.getId()},t.props.coverable?o.a.createElement("div",{className:"slds-visual-picker__figure slds-visual-picker__icon slds-align_absolute-center"},o.a.createElement("span",{className:"slds-is-selected"},t.props.onRenderVisualPickerSelected()),o.a.createElement("span",{className:"slds-is-not-selected"},t.props.onRenderVisualPickerNotSelected())):o.a.createElement("span",{className:"slds-visual-picker__figure slds-visual-picker__text slds-align_absolute-center"},t.props.onRenderVisualPicker()),t.props.vertical?null:o.a.createElement("span",{className:"slds-visual-picker__body"},t.props.labels.heading?o.a.createElement("span",{className:"slds-text-heading_small"},t.props.labels.heading):null,o.a.createElement("span",{className:"slds-text-title"},t.props.labels.label),r.label||r.heading?o.a.createElement("span",{className:"slds-assistive-text"},r.label||r.heading):null),t.props.coverable?null:o.a.createElement("span",{className:"slds-icon_container slds-visual-picker__text-check"},o.a.createElement(Sn,{assistiveText:t.props.assistiveText,category:"utility",name:"check",colorVariant:"base",size:"x-small"}))))})),hu(L,t.props,du),t.generatedId=p.a.generate(),t}return t=c,(n=[{key:"render",value:function(){var e=Bn(this.props);"toggle"===this.props.variant&&(e["aria-describedby"]="".concat(this.getId(),"-desc"));var t=mu(mu(mu({},Su.assistiveText),"string"==typeof this.props.assistiveText?{label:this.props.assistiveText}:{}),"object"===fu(this.props.assistiveText)?this.props.assistiveText:{}),n=mu(mu(mu({},Su.labels),this.props.label?{label:this.props.label}:{}),this.props.labels),r={base:this.renderBaseVariant,"button-group":this.renderButtonGroupVariant,toggle:this.renderToggleVariant,"visual-picker":this.renderVisualPickerVariant};return r[this.props.variant]?r[this.props.variant](this.props,e,t,n):r.base(this.props,e,t,n)}}])&&yu(t.prototype,n),r&&yu(t,r),c}(o.a.Component);Cu.displayName=L,Cu.propTypes=Mu,Cu.defaultProps=Su;var Eu=Cu;var Hu=function(){};function ju(e){return(ju="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function Pu(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function ku(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function Nu(e,t){return(Nu=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function Tu(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=Vu(e);if(t){var o=Vu(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return Lu(this,n)}}function Lu(e,t){return!t||"object"!==ju(t)&&"function"!=typeof t?function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e):t}function Vu(e){return(Vu=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}var Ru,Du,Iu,Au=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&Nu(e,t)}(c,e);var t,n,r,a=Tu(c);function c(){return Pu(this,c),a.apply(this,arguments)}return t=c,(n=[{key:"render",value:function(){var e;return(this.props.errorTextWorkingColor||this.props.color.errors)&&(e="color-picker-custom-error-".concat(this.props.id)),o.a.createElement("div",{className:"slds-color-picker__custom-inputs"},o.a.createElement(Ep,{"aria-describedby":e,className:i()("slds-color-picker__input-custom-hex",{"slds-has-error":this.props.color.errors&&this.props.color.errors.hex}),id:"color-picker-input-hex-".concat(this.props.id),label:this.props.labels.hexLabel,maxLength:"7",onChange:this.props.onHexChange,value:this.props.color.hex}),o.a.createElement(Ep,{"aria-describedby":e,className:i()("slds-color-picker__input-custom-r",{"slds-has-error":this.props.color.errors&&this.props.color.errors.red}),id:"color-picker-input-r-".concat(this.props.id),label:this.props.labels.redAbbreviated,onChange:this.props.onRedChange,maxLength:"3",value:String(this.props.color.rgb.red)}),o.a.createElement(Ep,{"aria-describedby":e,className:i()("slds-color-picker__input-custom-g",{"slds-has-error":this.props.color.errors&&this.props.color.errors.green}),id:"color-picker-input-g-".concat(this.props.id),label:this.props.labels.greenAbbreviated,onChange:this.props.onGreenChange,maxLength:"3",value:String(this.props.color.rgb.green)}),o.a.createElement(Ep,{"aria-describedby":e,className:i()("slds-color-picker__input-custom-b",{"slds-has-error":this.props.color.errors&&this.props.color.errors.blue}),id:"color-picker-input-b-".concat(this.props.id),label:this.props.labels.blueAbbreviated,onChange:this.props.onBlueChange,maxLength:"3",value:String(this.props.color.rgb.blue)}))}}])&&ku(t.prototype,n),r&&ku(t,r),c}(o.a.Component);Iu="SLDSCustomColorForm",(Du="displayName")in(Ru=Au)?Object.defineProperty(Ru,Du,{value:Iu,enumerable:!0,configurable:!0,writable:!0}):Ru[Du]=Iu;var Fu=Au;function Bu(e){return(Bu="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function qu(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function Ku(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?qu(Object(n),!0).forEach((function(t){Wu(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):qu(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function Wu(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Uu(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function Gu(e,t){return(Gu=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function Yu(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=Ju(e);if(t){var o=Ju(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return Qu(this,n)}}function Qu(e,t){return!t||"object"!==Bu(t)&&"function"!=typeof t?function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e):t}function Ju(e){return(Ju=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}var Xu={assistiveText:c.a.shape({label:c.a.string,required:c.a.string}),children:c.a.node.isRequired,className:c.a.oneOfType([c.a.array,c.a.object,c.a.string]),labels:c.a.shape({error:c.a.string,label:c.a.string}),onChange:c.a.func,disabled:c.a.bool,required:c.a.bool,name:c.a.string,errorId:c.a.string,variant:c.a.oneOf(["base","button-group"])},$u={assistiveText:{required:"Required"},labels:{},variant:"base"},Zu=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&Gu(e,t)}(c,e);var t,n,r,a=Yu(c);function c(e){var t;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,c),(t=a.call(this,e)).generatedName=p.a.generate(),t.generatedErrorId=p.a.generate(),t}return t=c,(n=[{key:"getErrorId",value:function(){if(this.hasError())return this.props.errorId||this.generatedErrorId}},{key:"getName",value:function(){return this.props.name||this.generatedName}},{key:"hasError",value:function(){return!!this.labels.error}},{key:"render",value:function(){var e=this;this.labels=this.props.labels?lr()({},$u.labels,this.props.labels):$u.labels;var t=Ku(Ku({},$u.assistiveText),this.props.assistiveText),n=o.a.Children.map(this.props.children,(function(t){return o.a.cloneElement(t,{name:e.getName(),onChange:e.props.onChange,"aria-describedby":e.getErrorId(),disabled:e.props.disabled})}));return o.a.createElement("fieldset",{className:i()("slds-form-element",{"slds-has-error":this.labels.error})},o.a.createElement("legend",{className:i()("slds-form-element__legend","slds-form-element__label",t.label?"slds-assistive-text":"")},this.props.required?o.a.createElement("abbr",{className:"slds-required",title:"required"},"*",o.a.createElement("div",{className:"slds-assistive-text"},t.required," ")):null,t.label?t.label:this.labels.label),o.a.createElement("div",{className:i()("slds-form-element__control",this.props.className)},"button-group"===this.props.variant?o.a.createElement("div",{style:this.props.style,className:"slds-radio_button-group"},n):n,this.labels.error?o.a.createElement("div",{id:this.getErrorId(),className:"slds-form-element__help"},this.labels.error):null))}}])&&Uu(t.prototype,n),r&&Uu(t,r),c}(o.a.Component);Zu.displayName="SLDSRadioGroup",Zu.propTypes=Xu,Zu.defaultProps=$u;var eh=Zu;function th(){return(th=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}function nh(e,t){if(null==e)return{};var n,r,o=function(e,t){if(null==e)return{};var n,r,o={},a=Object.keys(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)>=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}var rh={assistiveText:c.a.shape({label:c.a.string}),children:c.a.node.isRequired,className:c.a.oneOfType([c.a.array,c.a.object,c.a.string]),labels:c.a.shape({error:c.a.string,label:c.a.string}),onChange:c.a.func,disabled:c.a.bool,required:c.a.bool,name:c.a.string,errorId:c.a.string},oh=function(e){e.variant;var t=nh(e,["variant"]);return o.a.createElement(eh,th({variant:"button-group"},t))};oh.displayName="SLDSRadioButtonGroup",oh.propTypes=rh,oh.defaultProps={labels:{},assistiveText:{}};var ah=oh;function ch(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function sh(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var ih=function(e){var t=e.color,n=e.style,r=e.label,a=e.labels,c=function(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?ch(Object(n),!0).forEach((function(t){sh(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):ch(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}({backgroundColor:t},n),s=r||t;return t||(c.backgroundImage="linear-gradient(-45deg, white 47%, #870500 0, #870500 53%, white 0)",a&&a.swatchTabTransparentSwatch&&(s=a.swatchTabTransparentSwatch)),o.a.createElement("span",{className:"slds-swatch",style:c},o.a.createElement("span",{className:"slds-assistive-text"},s))};ih.propTypes={color:c.a.string.isRequired};var lh=ih;var ph=function(){},uh=n(42);function hh(e){return(hh="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function dh(){return(dh=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}function fh(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function vh(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?fh(Object(n),!0).forEach((function(t){xh(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):fh(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function mh(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function gh(e,t){return(gh=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function yh(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=zh(e);if(t){var o=zh(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return bh(this,n)}}function bh(e,t){return!t||"object"!==hh(t)&&"function"!=typeof t?wh(e):t}function wh(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function zh(e){return(zh=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function xh(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var _h={assistiveText:c.a.shape({label:c.a.string}),"aria-describedby":c.a.string,"aria-labelledby":c.a.string,checked:c.a.bool,className:c.a.oneOfType([c.a.array,c.a.object,c.a.string]),defaultChecked:c.a.bool,disabled:c.a.bool,id:c.a.string,labels:c.a.shape({heading:c.a.string,label:c.a.string}),name:c.a.string,onChange:c.a.func,value:c.a.string,variant:c.a.oneOf(["base","button-group","swatch","visual-picker"]),coverable:c.a.bool,vertical:c.a.bool,onRenderVisualPicker:c.a.func,onRenderVisualPickerSelected:c.a.func,onRenderVisualPickerNotSelected:c.a.func,description:c.a.string,size:c.a.oneOf(["medium","large"]),refs:c.a.shape({input:c.a.func})},Oh={assistiveText:{},variant:"base",coverable:!1},Mh=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&gh(e,t)}(c,e);var t,n,r,a=yh(c);function c(e){var t;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,c),xh(wh(t=a.call(this,e)),"handleChange",(function(e,n){t.preventDuplicateChangeEvent?t.preventDuplicateChangeEvent=!1:(t.preventDuplicateChangeEvent=Boolean(n),t.props.onChange&&t.props.onChange(e,{checked:!t.props.checked}))})),t.preventDuplicateChangeEvent=!1,t}return t=c,(n=[{key:"UNSAFE_componentWillMount",value:function(){ph(de,this.props,uh),this.generatedId=p.a.generate()}},{key:"getId",value:function(){return this.props.id||this.generatedId}},{key:"render",value:function(){var e,t=this,n=Bn(this.props),r=qn(this.props),a=vh(vh(vh({},Oh.labels),this.props.label?{label:this.props.label}:{}),this.props.labels);return e="swatch"===this.props.variant?o.a.createElement("label",{style:{border:"1px"},className:"slds-radio_button__label",htmlFor:this.getId()},o.a.createElement("span",null,o.a.createElement(lh,{label:a.label,style:this.props.style,color:this.props.value}))):"button-group"===this.props.variant?o.a.createElement("label",{className:"slds-radio_button__label",htmlFor:this.getId()},o.a.createElement("span",{className:"slds-radio_faux"},a.label)):"visual-picker"===this.props.variant?o.a.createElement("label",{htmlFor:this.getId()},this.props.coverable?o.a.createElement("div",{className:"slds-visual-picker__figure slds-visual-picker__icon slds-align_absolute-center"},o.a.createElement("span",{className:"slds-is-selected"},this.props.onRenderVisualPickerSelected()),o.a.createElement("span",{className:"slds-is-not-selected"},this.props.onRenderVisualPickerNotSelected())):o.a.createElement("span",{className:"slds-visual-picker__figure slds-visual-picker__text slds-align_absolute-center"},this.props.onRenderVisualPicker()),this.props.vertical?null:o.a.createElement("span",{className:"slds-visual-picker__body"},a.heading?o.a.createElement("span",{className:"slds-text-heading_small"},a.heading):null,o.a.createElement("span",{className:"slds-text-title"},a.label)),this.props.coverable?null:o.a.createElement("span",{className:"slds-icon_container slds-visual-picker__text-check"},o.a.createElement(Sn,{assistiveText:this.props.assistiveText,category:"utility",name:"check",colorVariant:"base",size:"x-small"}))):o.a.createElement("label",{className:"slds-radio__label",htmlFor:this.getId(),id:this.props.labelId},o.a.createElement("span",{className:"slds-radio_faux"}),o.a.createElement("span",{className:"slds-form-element__label"},a.label),this.props.assistiveText.label?o.a.createElement("span",{className:"slds-assistive-text"},this.props.assistiveText.label):null),o.a.createElement("span",{className:i()("visual-picker"===this.props.variant?"slds-visual-picker_".concat(this.props.size):null,{"slds-radio":"base"===this.props.variant||"swatch"===this.props.variant,"slds-button slds-radio_button":"button-group"===this.props.variant,"slds-visual-picker":"visual-picker"===this.props.variant,"slds-visual-picker_vertical":"visual-picker"===this.props.variant&&this.props.vertical},this.props.className)},o.a.createElement("input",dh({type:"radio",id:this.getId(),name:this.props.name,value:this.props.value},void 0!==this.props.checked?{checked:this.props.checked}:{defaultChecked:this.props.defaultChecked},{onChange:function(e){t.handleChange(e)},onClick:function(e){t.props.checked&&t.props.deselectable&&t.handleChange(e)},onKeyPress:function(e){var n=e.charCode;n===Lt.SPACE&&t.props.checked&&t.props.deselectable?t.handleChange(e,!0):(n===Lt.ENTER&&t.props.checked&&t.props.deselectable||!t.props.checked)&&t.handleChange(e)},disabled:this.props.disabled},n,r,{ref:function(e){t.props.refs&&t.props.refs.input&&t.props.refs.input(e)}})),e)}}])&&mh(t.prototype,n),r&&mh(t,r),c}(o.a.Component);Mh.displayName=de,Mh.propTypes=_h,Mh.defaultProps=Oh;var Sh=Mh,Ch=Sh,Eh={aliceblue:"#f0f8ff",antiquewhite:"#faebd7",aqua:"#00ffff",aquamarine:"#7fffd4",azure:"#f0ffff",beige:"#f5f5dc",bisque:"#ffe4c4",black:"#000000",blanchedalmond:"#ffebcd",blue:"#0000ff",blueviolet:"#8a2be2",brown:"#a52a2a",burlywood:"#deb887",cadetblue:"#5f9ea0",chartreuse:"#7fff00",chocolate:"#d2691e",coral:"#ff7f50",cornflowerblue:"#6495ed",cornsilk:"#fff8dc",crimson:"#dc143c",cyan:"#00ffff",darkblue:"#00008b",darkcyan:"#008b8b",darkgoldenrod:"#b8860b",darkgray:"#a9a9a9",darkgreen:"#006400",darkkhaki:"#bdb76b",darkmagenta:"#8b008b",darkolivegreen:"#556b2f",darkorange:"#ff8c00",darkorchid:"#9932cc",darkred:"#8b0000",darksalmon:"#e9967a",darkseagreen:"#8fbc8f",darkslateblue:"#483d8b",darkslategray:"#2f4f4f",darkturquoise:"#00ced1",darkviolet:"#9400d3",deeppink:"#ff1493",deepskyblue:"#00bfff",dimgray:"#696969",dodgerblue:"#1e90ff",firebrick:"#b22222",floralwhite:"#fffaf0",forestgreen:"#228b22",fuchsia:"#ff00ff",gainsboro:"#dcdcdc",ghostwhite:"#f8f8ff",gold:"#ffd700",goldenrod:"#daa520",gray:"#808080",green:"#008000",greenyellow:"#adff2f",honeydew:"#f0fff0",hotpink:"#ff69b4",indianred:"#cd5c5c",indigo:"#4b0082",ivory:"#fffff0",khaki:"#f0e68c",lavender:"#e6e6fa",lavenderblush:"#fff0f5",lawngreen:"#7cfc00",lemonchiffon:"#fffacd",lightblue:"#add8e6",lightcoral:"#f08080",lightcyan:"#e0ffff",lightgoldenrodyellow:"#fafad2",lightgrey:"#d3d3d3",lightgreen:"#90ee90",lightpink:"#ffb6c1",lightsalmon:"#ffa07a",lightseagreen:"#20b2aa",lightskyblue:"#87cefa",lightslategray:"#778899",lightsteelblue:"#b0c4de",lightyellow:"#ffffe0",lime:"#00ff00",limegreen:"#32cd32",linen:"#faf0e6",magenta:"#ff00ff",maroon:"#800000",mediumaquamarine:"#66cdaa",mediumblue:"#0000cd",mediumorchid:"#ba55d3",mediumpurple:"#9370d8",mediumseagreen:"#3cb371",mediumslateblue:"#7b68ee",mediumspringgreen:"#00fa9a",mediumturquoise:"#48d1cc",mediumvioletred:"#c71585",midnightblue:"#191970",mintcream:"#f5fffa",mistyrose:"#ffe4e1",moccasin:"#ffe4b5",navajowhite:"#ffdead",navy:"#000080",oldlace:"#fdf5e6",olive:"#808000",olivedrab:"#6b8e23",orange:"#ffa500",orangered:"#ff4500",orchid:"#da70d6",palegoldenrod:"#eee8aa",palegreen:"#98fb98",paleturquoise:"#afeeee",palevioletred:"#d87093",papayawhip:"#ffefd5",peachpuff:"#ffdab9",peru:"#cd853f",pink:"#ffc0cb",plum:"#dda0dd",powderblue:"#b0e0e6",purple:"#800080",rebeccapurple:"#663399",red:"#ff0000",rosybrown:"#bc8f8f",royalblue:"#4169e1",saddlebrown:"#8b4513",salmon:"#fa8072",sandybrown:"#f4a460",seagreen:"#2e8b57",seashell:"#fff5ee",sienna:"#a0522d",silver:"#c0c0c0",skyblue:"#87ceeb",slateblue:"#6a5acd",slategray:"#708090",snow:"#fffafa",springgreen:"#00ff7f",steelblue:"#4682b4",tan:"#d2b48c",teal:"#008080",thistle:"#d8bfd8",tomato:"#ff6347",turquoise:"#40e0d0",violet:"#ee82ee",wheat:"#f5deb3",white:"#ffffff",whitesmoke:"#f5f5f5",yellow:"#ffff00",yellowgreen:"#9acd32"},Hh=/^#([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i,jh={getNewColor:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if(e.hex){if(t?!t(e.hex):!this.isValidHex(e.hex))return lr()({},n,{hex:e.hex,errors:lr()({},n.errors,{hex:!0}),hsv:{hue:"",saturation:"",value:""},rgb:{red:"",green:"",blue:""}});var r={hex:e.hex,hsv:this.getHsvFromHex(e.hex),rgb:this.getRgbFromHex(e.hex)};return e.name&&(r.name=e.name),r}if("red"in e||"blue"in e||"green"in e){var o=lr()({},n.rgb,e),a=this.getRgbErrors(o);return Object.values(a).includes(!0)?lr()({},n,{rgb:o,errors:lr()({},n.errors,a)}):{hex:this.getHexFromRgb(o),hsv:this.getHsvFromRgb(o),rgb:o}}if("hue"in e||"saturation"in e||"value"in e){var c=lr()({},n.hsv,e);return{hex:this.getHexFromHsv(c),hsv:c,rgb:this.getRgbFromHsv(c)}}return{hex:"",hsv:{hue:"",saturation:"",value:""},rgb:{red:"",green:"",blue:""}}},getDeltaColor:function(e,t,n){var r=function(e){return Math.min(Math.max(e,0),100)};return this.getNewColor({saturation:r(n.hsv.saturation+(e.saturation||0)),value:r(n.hsv.value+(e.value||0))},t,n)},isValidHex:function(e){return!e||Hh.test(this.toSixDigitHex(e))},getRgbErrors:function(e){return Object.entries(e).reduce((function(e,t){return e[t[0]]=function(e){return isNaN(e)||Math.floor(e)!==Number(e)||e<0||e>=256}(t[1]),e}),{})},getHsvFromHex:function(e){return this.getHsvFromRgb(this.getRgbFromHex(e))},getHexFromHsv:function(e){var t=e.hue,n=e.saturation,r=e.value;return this.getHexFromRgb(this.getRgbFromHsv({hue:t,saturation:n,value:r}))},getHexFromNamedColor:function(e){return Eh[e.toLowerCase()]||null},getHsvFromRgb:function(e){var t,n=e.red/255,r=e.green/255,o=e.blue/255,a=Math.max(n,r,o),c=Math.min(n,r,o),s=a-c;return a===c?t=0:(t=n===a?(r-o)/s+(r<o?6:0):r===a?(o-n)/s+2:(n-r)/s+4,t*=60),{hue:t,saturation:0===a?0:s/a*100,value:100*a}},getRgbFromHsv:function(e){var t,n,r,o=e.hue/360,a=e.saturation/100,c=e.value/100,s=Math.floor(6*o),i=6*o-s,l=c*(1-a),p=c*(1-i*a),u=c*(1-(1-i)*a);switch(s%6){case 0:t=c,n=u,r=l;break;case 1:t=p,n=c,r=l;break;case 2:t=l,n=c,r=u;break;case 3:t=l,n=p,r=c;break;case 4:t=u,n=l,r=c;break;default:t=c,n=l,r=p}return{red:Math.round(255*t),blue:Math.round(255*r),green:Math.round(255*n)}},getHexFromRgb:function(e){var t=e.red,n=e.green,r=e.blue;function o(e){return"0".concat(Math.round(e).toString(16)).substr(-2)}return"#".concat(o(t)).concat(o(n)).concat(o(r))},getRgbFromHex:function(e){var t=Hh.exec(this.toSixDigitHex(e));return{red:parseInt(t[1],16),green:parseInt(t[2],16),blue:parseInt(t[3],16)}},toSixDigitHex:function(e){var t=/^#([a-f\d])([a-f\d])([a-f\d])$/i.exec(e);return t?"#".concat(t[1]).concat(t[1]).concat(t[2]).concat(t[2]).concat(t[3]).concat(t[3]):e}};function Ph(e){return(Ph="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function kh(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function Nh(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?kh(Object(n),!0).forEach((function(t){Fh(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):kh(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function Th(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function Lh(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function Vh(e,t){return(Vh=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function Rh(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=Ah(e);if(t){var o=Ah(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return Dh(this,n)}}function Dh(e,t){return!t||"object"!==Ph(t)&&"function"!=typeof t?Ih(e):t}function Ih(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function Ah(e){return(Ah=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function Fh(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var Bh={border:"1px solid #9e9e9e",boxShadow:"rgb(117, 112, 112) 1px 1px 1px",marginRight:"2px"},qh={border:"1px solid #9e9e9e",marginRight:"2px"},Kh=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&Vh(e,t)}(c,e);var t,n,r,a=Rh(c);function c(){var e;Th(this,c);for(var t=arguments.length,n=new Array(t),r=0;r<t;r++)n[r]=arguments[r];return Fh(Ih(e=a.call.apply(a,[this].concat(n))),"handleSwatchChange",(function(t){e.setState({isTransparentSelected:""===t.target.value}),e.props.onSwatchChange(t)})),Fh(Ih(e),"isTransparent",(function(){return""===e.props.color.hex})),e}return t=c,(n=[{key:"render",value:function(){var e=this,t=this.isTransparent()?Nh({},qh):Nh({},Bh),n=this.isTransparent()?Nh({},Bh):Nh({},qh),r=this.props.previousColor.hex?this.props.previousColor:jh.getNewColor({hex:"#000000"}),a=this.isTransparent()?r:this.props.color;return o.a.createElement("div",null,o.a.createElement("p",{className:"slds-assistive-text",id:"color-picker-instructions-".concat(this.props.id)},this.props.assistiveText.saturationValueGrid),o.a.createElement("div",{className:"slds-color-picker__custom-range",style:{background:"hsl(".concat(a.hsv.hue,", 100%, 50%)")},onClick:function(t){!function(e,t,n){var r=n.onSaturationValueChange,o=e.currentTarget.getBoundingClientRect();t.focus(),r(e,{saturation:Math.round((e.clientX-o.left)/o.width*100),value:Math.round((o.bottom-e.clientY)/o.height*100)})}(t,e.rangeIndicator,{onSaturationValueChange:e.props.onSaturationValueChange})},role:"presentation"},o.a.createElement("a",{"aria-atomic":"true","aria-describedby":"color-picker-instructions-".concat(this.props.id),"aria-live":"assertive",className:"slds-color-picker__range-indicator",onKeyDown:function(t){!function(e,t){var n,r=t.onSaturationNavigate,o=t.onValueNavigate,a=(Fh(n={},Lt.LEFT,(function(t){r(e,{delta:-1*t})})),Fh(n,Lt.RIGHT,(function(t){r(e,{delta:t})})),Fh(n,Lt.UP,(function(t){o(e,{delta:t})})),Fh(n,Lt.DOWN,(function(t){o(e,{delta:-1*t})})),n);a[e.keyCode]&&(e.preventDefault(),a[e.keyCode](e.shiftKey?10:1))}(t,Nh({},e.props))},ref:function(t){e.rangeIndicator=t},role:"button",style:{bottom:"".concat(a.hsv.value,"%"),left:"".concat(a.hsv.saturation,"%")},tabIndex:0},o.a.createElement("span",{className:"slds-assistive-text"},"Saturation ".concat(a.hsv.saturation,"% Brightness: ").concat(a.hsv.value,"%")))),o.a.createElement("div",{className:"slds-color-picker__hue-and-preview"},o.a.createElement("label",{className:"slds-assistive-text",htmlFor:"color-picker-input-range-".concat(this.props.id)},this.props.assistiveText.hueSlider),o.a.createElement("input",{type:"range",min:"0",max:"360",className:"slds-color-picker__hue-slider",id:"color-picker-input-range-".concat(this.props.id),value:a.hsv.hue,onChange:this.props.onHueChange}),o.a.createElement(ah,{name:"".concat(this.props.id,"-color-picker-swatch-toggle-button-group"),assistiveText:{label:"Toggle Transparency"},style:{border:"none",borderRadius:"unset"},onChange:this.handleSwatchChange},o.a.createElement(Ch,{checked:!this.isTransparent(),id:"color-picker-active-working-color-swatch-".concat(this.props.id),key:"working-color",labels:{label:this.props.labels.customTabActiveWorkingColorSwatch},style:t,value:a.hex,variant:"swatch"}),o.a.createElement(Ch,{checked:this.isTransparent(),id:"color-picker-transparent-swatch-".concat(this.props.id),key:"transparent",labels:{label:this.props.labels.customTabTransparentSwatch},style:n,value:"",variant:"swatch"}))))}}])&&Lh(t.prototype,n),r&&Lh(t,r),c}(o.a.Component);Fh(Kh,"displayName","SLDSHsvColor");var Wh=Kh;function Uh(e){return(Uh="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function Gh(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function Yh(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function Qh(e,t){return(Qh=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function Jh(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=$h(e);if(t){var o=$h(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return Xh(this,n)}}function Xh(e,t){return!t||"object"!==Uh(t)&&"function"!=typeof t?function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e):t}function $h(e){return($h=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}var Zh=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&Qh(e,t)}(c,e);var t,n,r,a=Jh(c);function c(){return Gh(this,c),a.apply(this,arguments)}return t=c,(n=[{key:"render",value:function(){var e;return e=this.props.errorTextWorkingColor?this.props.errorTextWorkingColor:this.props.color.errors&&this.props.color.errors.hex?this.props.labels.invalidColor:this.props.labels.invalidComponent,o.a.createElement("div",{className:"slds-color-picker__custom"},o.a.createElement(Wh,{assistiveText:this.props.assistiveText,color:this.props.color,id:this.props.id,labels:this.props.labels,onHueChange:this.props.onHueChange,onSaturationValueChange:this.props.onSaturationValueChange,onSaturationNavigate:this.props.onSaturationNavigate,onValueNavigate:this.props.onValueNavigate,onSwatchChange:this.props.onSwatchChange,previousColor:this.props.previousColor}),o.a.createElement(Fu,{color:this.props.color,id:this.props.id,errorTextWorkingColor:this.props.errorTextWorkingColor,labels:this.props.labels,onBlueChange:this.props.onBlueChange,onGreenChange:this.props.onGreenChange,onHexChange:this.props.onHexChange,onRedChange:this.props.onRedChange}),this.props.errorTextWorkingColor||this.props.color.errors?o.a.createElement("p",{className:"slds-form-error slds-color-picker__input-custom-error",id:"color-picker-custom-error-".concat(this.props.id)},e):"")}}])&&Yh(t.prototype,n),r&&Yh(t,r),c}(o.a.Component);!function(e,t,n){t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n}(Zh,"displayName","SLDSCustomColor");var ed=Zh,td=n(7),nd=n.n(td);function rd(e){return(rd="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function od(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function ad(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function cd(e,t){return(cd=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function sd(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=ld(e);if(t){var o=ld(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return id(this,n)}}function id(e,t){return!t||"object"!==rd(t)&&"function"!=typeof t?function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e):t}function ld(e){return(ld=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}var pd={border:"1px solid #141414",borderRadius:"2px",margin:"3px"},ud={border:"1px solid white",borderRadius:"2px"},hd=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&cd(e,t)}(c,e);var t,n,r,a=sd(c);function c(){return od(this,c),a.apply(this,arguments)}return t=c,(n=[{key:"render",value:function(){var e=this;return o.a.createElement("li",{className:"slds-color-picker__swatch",style:this.props.workingColor&&this.props.workingColor.hex===this.props.color?pd:{},role:"presentation"},o.a.createElement("a",{"aria-selected":this.props.workingColor&&this.props.workingColor.hex===this.props.color,className:"slds-color-picker__swatch-trigger",onClick:function(t){!function(e,t){var n=t.hex,r=t.onSelect;e.preventDefault(),r(e,{hex:n})}(t,{hex:e.props.color,onSelect:e.props.onSelect})},ref:this.props.swatchOptionRef,role:"option",style:this.props.workingColor&&this.props.workingColor===this.props.color?ud:{},tabIndex:this.props.tabIndex},o.a.createElement(lh,{color:this.props.color,labels:this.props.labels})))}}])&&ad(t.prototype,n),r&&ad(t,r),c}(o.a.Component);!function(e,t,n){t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n}(hd,"displayName","SLDSSwatchOption");var dd=hd;function fd(e){return(fd="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function vd(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function md(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function gd(e,t){return(gd=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function yd(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=zd(e);if(t){var o=zd(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return bd(this,n)}}function bd(e,t){return!t||"object"!==fd(t)&&"function"!=typeof t?wd(e):t}function wd(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function zd(e){return(zd=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function xd(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var _d=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&gd(e,t)}(c,e);var t,n,r,a=yd(c);function c(e){var t;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,c),xd(wd(t=a.call(this,e)),"selectPreviousColor",(function(e,n){var r=nd()(n.swatchColors,(function(e){return e===n.color.hex})),o=-1===r||r===n.swatchColors.length-1?0:r+1,a=n.swatchColors[o];n.onSelect(e,{hex:a}),t.swatchColorRefs[a].focus()})),xd(wd(t),"selectNextColor",(function(e,n){var r,o=nd()(n.swatchColors,(function(e){return e===n.color.hex}));r=0===o?n.swatchColors.length-1:-1===o?0:o-1;var a=n.swatchColors[r];n.onSelect(e,{hex:a}),t.swatchColorRefs[a].focus()})),xd(wd(t),"handleKeyDown",(function(e,n){var r,o=(xd(r={},Lt.RIGHT,(function(){n.direction===je.RTL?t.selectNextColor(e,n):t.selectPreviousColor(e,n)})),xd(r,Lt.DOWN,(function(){t.selectPreviousColor(e,n)})),xd(r,Lt.LEFT,(function(){n.direction===je.RTL?t.selectPreviousColor(e,n):t.selectNextColor(e,n)})),xd(r,Lt.UP,(function(){t.selectNextColor(e,n)})),r);e.keyCode&&o[e.keyCode]&&(Nt.trapEvent(e),o[e.keyCode]())})),xd(wd(t),"addRef",(function(e){return function(n){t.swatchColorRefs[e]=n}})),t.swatchColorRefs={},t}return t=c,(n=[{key:"render",value:function(){var e=this,t=this.props.swatchColors.includes(this.props.color.hex);return o.a.createElement("ul",{className:"slds-color-picker__swatches",role:"listbox",onKeyDown:function(t){e.handleKeyDown(t,function(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?vd(Object(n),!0).forEach((function(t){xd(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):vd(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}({},e.props))}},this.props.swatchColors.map((function(n,r){return o.a.createElement(dd,{color:n,key:n,labels:e.props.labels,onSelect:e.props.onSelect,swatchOptionRef:e.addRef(n),workingColor:e.props.color,tabIndex:e.props.color&&e.props.color.hex===n||0===r&&!t?0:-1})})))}}])&&md(t.prototype,n),r&&md(t,r),c}(o.a.Component);xd(_d,"displayName","SLDSSwatchPicker");var Od=st(_d),Md=function(e){var t=e.id,n=e.className,r=e.children,a=e.variant;return o.a.createElement("ul",{id:"".concat(t,"-slds-tabs__nav"),className:i()(n,{"slds-tabs_default__nav":"default"===a,"slds-tabs_scoped__nav":"scoped"===a,"slds-vertical-tabs__nav":"vertical"===a}),role:"tablist","aria-orientation":"vertical"===a?"vertical":void 0},r)};Md.displayName="SLDSTabsList",Md.propTypes={id:c.a.string,className:c.a.oneOfType([c.a.array,c.a.object,c.a.string]),children:c.a.oneOfType([c.a.object,c.a.array]),variant:c.a.oneOf(["default","scoped","vertical"])};var Sd=Md;function Cd(e){return(Cd="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function Ed(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function Hd(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function jd(e,t){return(jd=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function Pd(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=Td(e);if(t){var o=Td(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return kd(this,n)}}function kd(e,t){return!t||"object"!==Cd(t)&&"function"!=typeof t?Nd(e):t}function Nd(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function Td(e){return(Td=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function Ld(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var Vd=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&jd(e,t)}(c,e);var t,n,r,a=Pd(c);function c(){var e;Ed(this,c);for(var t=arguments.length,n=new Array(t),r=0;r<t;r++)n[r]=arguments[r];return Ld(Nd(e=a.call.apply(a,[this].concat(n))),"checkFocus",(function(){e.props.selected&&e.props.focus&&e.node&&e.node.focus()})),e}return t=c,(n=[{key:"componentDidMount",value:function(){this.checkFocus()}},{key:"componentDidUpdate",value:function(){this.checkFocus()}},{key:"render",value:function(){var e,t,n,r=this,a=this.props,c=a.selected,s=a.disabled,l=a.panelId,p=a.activeTabClassName,u=a.disabledTabClassName,h=a.className,d=a.children,f=a.id,v=a.variant,m=a.hasError;return n=c?"0":"-1",o.a.createElement("li",{className:i()(h,(e={},Ld(e,p,c),Ld(e,u,s),Ld(e,"slds-tabs_default__item","default"===v),Ld(e,"slds-tabs_scoped__item","scoped"===v),Ld(e,"slds-vertical-tabs__nav-item","vertical"===v),e)),role:"presentation",id:f,title:"string"==typeof d?d:null},o.a.createElement("a",{className:i()((t={},Ld(t,p,c),Ld(t,u,s),Ld(t,"slds-tabs_default__link","default"===v),Ld(t,"slds-tabs_scoped__link","scoped"===v),Ld(t,"slds-vertical-tabs__link","vertical"===v),t)),href:"javascript:void(0);",role:"tab",ref:function(e){r.node=e},tabIndex:n,"aria-controls":l,"aria-disabled":s,"aria-selected":c?"true":"false"},d,m&&o.a.createElement("span",{className:i()({"slds-tabs__right-icon":"vertical"!==v,"slds-vertical-tabs__right-icon":"vertical"===v})},o.a.createElement(Sn,{assistiveText:{label:this.props.assistiveText.withErrorIcon},category:"utility",containerClassName:"slds-icon_container slds-icon-utility-error",size:"x-small",name:"error",colorVariant:"error",title:this.props.assistiveText.withErrorIcon}))))}}])&&Hd(t.prototype,n),r&&Hd(t,r),c}(o.a.Component);Ld(Vd,"displayName","SLDSTab"),Ld(Vd,"propTypes",{className:c.a.string,id:c.a.string,focus:c.a.bool,selected:c.a.bool,disabled:c.a.bool,activeTabClassName:c.a.string,disabledTabClassName:c.a.string,panelId:c.a.string,children:c.a.oneOfType([c.a.string,c.a.element]),variant:c.a.oneOf(["default","scoped","vertical"]),hasError:c.a.bool,assistiveText:c.a.shape({withErrorIcon:c.a.string})}),Ld(Vd,"defaultProps",{focus:!1,selected:!1,activeTabClassName:"slds-is-active",disabledTabClassName:"slds-disabled",variant:"default",hasError:!1,assistiveText:{withErrorIcon:"This item has an error"}});var Rd=Vd;function Dd(e,t){if(null==e)return{};var n,r,o=function(e,t){if(null==e)return{};var n,r,o={},a=Object.keys(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)>=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}var Id=function(e){var t=e.className,n=e.children,r=e.variant,a=e.selected,c=e.id,s=e.tabId;Dd(e,["className","children","variant","selected","id","tabId"]);return o.a.createElement("div",{"aria-labelledby":s,className:i()(t,{"slds-show":a,"slds-hide":!a,"slds-tabs_default__content":"default"===r,"slds-tabs_scoped__content":"scoped"===r,"slds-vertical-tabs__content":"vertical"===r}),id:c,role:"tabpanel"},n.props.children)};Id.displayName="SLDSTabPanel",Id.propTypes={children:c.a.oneOfType([c.a.array,c.a.object,c.a.string]),className:c.a.string,id:c.a.string,selected:c.a.bool,variant:c.a.oneOf(["default","scoped","vertical"]),tabId:c.a.string},Id.defaultProps={variant:"default",selected:!1};var Ad=Id;function Fd(e){return(Fd="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function Bd(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function qd(e,t){return(qd=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function Kd(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=Gd(e);if(t){var o=Gd(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return Wd(this,n)}}function Wd(e,t){return!t||"object"!==Fd(t)&&"function"!=typeof t?Ud(e):t}function Ud(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function Gd(e){return(Gd=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function Yd(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Qd(e){return!(!e.classList||!e.classList.contains("slds-disabled"))||(e.getAttribute?"true"===e.getAttribute("aria-disabled"):!!e.props.disabled)}var Jd={id:c.a.string,children:c.a.oneOfType([c.a.arrayOf(c.a.node),c.a.node,c.a.element]).isRequired,className:c.a.oneOfType([c.a.array,c.a.object,c.a.string]),defaultSelectedIndex:c.a.number,onSelect:c.a.func,variant:c.a.oneOf(["default","scoped","vertical"]),selectedIndex:c.a.number},Xd=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&qd(e,t)}(c,e);var t,n,r,a=Kd(c);function c(e){var t;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,c),Yd(Ud(t=a.call(this,e)),"handleClick",(function(e){var n=e.target;do{if(t.isTabFromContainer(n)){if(Qd(n))return;var r=n.parentNode;"LI"===r.nodeName&&(r=(n=n.parentNode).parentNode);var o=[].slice.call(r.children).indexOf(n);return void t.setSelected(o)}}while(null!==(n=n.parentNode))})),Yd(Ud(t),"handleKeyDown",(function(e){if(t.isTabFromContainer(e.target)){var n=t.getSelectedIndex(),r=!1;e.keyCode===Lt.LEFT||e.keyCode===Lt.UP?(n=t.getPrevTab(n),r=!0):e.keyCode!==Lt.RIGHT&&e.keyCode!==Lt.DOWN||(n=t.getNextTab(n),r=!0),r&&Nt.trap(e),t.setSelected(n,!0)}})),t.tabs=[],t.generatedId=p.a.generate(),t.flavor=t.getVariant(),t.state={selectedIndex:e.defaultSelectedIndex},t}return t=c,(n=[{key:"getNextTab",value:function(e){for(var t=this.getTabsCount(),n=e+1;n<t;n++)if(!Qd(this.getTab(n)))return n;for(var r=0;r<e;r++)if(!Qd(this.getTab(r)))return r;return e}},{key:"getPanelsCount",value:function(){return this.props.children?o.a.Children.count(this.props.children):0}},{key:"getPrevTab",value:function(e){for(var t=e;t--;)if(!Qd(this.getTab(t)))return t;for(t=this.getTabsCount();t-- >e;)if(!Qd(this.getTab(t)))return t;return e}},{key:"getSelectedIndex",value:function(){return Number.isInteger(this.props.selectedIndex)?this.props.selectedIndex:this.state.selectedIndex}},{key:"getTab",value:function(e){return this.tabs[e].tab}},{key:"getTabNode",value:function(e){return this.tabs[e].node}},{key:"getTabsCount",value:function(){return this.props.children?o.a.Children.count(this.props.children):0}},{key:"getVariant",value:function(){return this.props.variant||"default"}},{key:"setSelected",value:function(e,t){if(!(e<0||e>=this.getTabsCount())){var n,r=this.getSelectedIndex();Tr()(this.props.onSelect)&&(n=this.props.onSelect(e,r)),!1!==n&&e!==this.state.selectedIndex&&this.setState({selectedIndex:e,focus:!0===t})}}},{key:"isTabFromContainer",value:function(e){if(!function(e){return"A"===e.nodeName&&"tab"===e.getAttribute("role")||"LI"===e.nodeName&&(e.classList.contains("slds-tabs_default__item")||e.classList.contains("slds-tabs_scoped__item")||e.classList.contains("slds-vertical-tabs__nav-item"))}(e))return!1;var t=e.parentElement;do{if(t===this.tabsNode)return!0;if(t.getAttribute("data-tabs"))break;t=t.parentElement}while(t);return!1}},{key:"renderTabPanels",value:function(e){var t=this,n=o.a.Children.toArray(this.props.children),r=this.getSelectedIndex();return n.map((function(a,c){var s="".concat(e,"-slds-tabs_tab-").concat(c),i="".concat(e,"-slds-tabs_panel-").concat(c),l=r===c,p=t.getVariant();return o.a.createElement(Ad,{key:a.key,selected:l,id:i,tabId:s,variant:p},n[c])}))}},{key:"renderTabsList",value:function(e){var t=this,n=o.a.Children.toArray(this.props.children);return o.a.createElement(Sd,{id:e,variant:this.getVariant()},n.map((function(n,r){var a="".concat(e,"-slds-tabs_tab-").concat(r),c="".concat(e,"-slds-tabs_panel-").concat(r),s=t.getSelectedIndex()===r,i=s&&t.state.focus,l=t.getVariant();return o.a.createElement(Rd,{key:n.key,ref:function(e){t.tabs[r]={tab:n,node:e},t.state.focus&&t.setState({focus:!1})},focus:i,selected:s,id:a,panelId:c,disabled:n.props.disabled,variant:l,hasError:n.props.hasError,assistiveText:n.props.assistiveText},n.props.label)})))}},{key:"render",value:function(){var e=this,t=this.props,n=t.className,r=t.id,a=void 0===r?this.generatedId:r,c=t.variant,s=void 0===c?this.getVariant:c;return o.a.createElement("div",{id:a,className:i()({"slds-tabs_default":"default"===s,"slds-tabs_scoped":"scoped"===s,"slds-vertical-tabs":"vertical"===s},n),onClick:this.handleClick,onKeyDown:this.handleKeyDown,"data-tabs":!0,ref:function(t){e.tabsNode=t}},this.renderTabsList(a),this.renderTabPanels(a))}}])&&Bd(t.prototype,n),r&&Bd(t,r),c}(o.a.Component);Xd.displayName="SLDSTabs",Xd.propTypes=Jd,Xd.defaultProps={defaultSelectedIndex:0,variant:"default"};var $d=Xd,Zd=function(e){var t=e.children;return o.a.createElement("div",null,o.a.Children.toArray(t))};Zd.displayName="SLDSTabsPanel",Zd.propTypes={label:c.a.oneOfType([c.a.string,c.a.element]).isRequired,children:c.a.oneOfType([c.a.arrayOf(c.a.node),c.a.node,c.a.element]).isRequired,hasError:c.a.bool,assistiveText:c.a.shape({withErrorIcon:c.a.string})};var ef=Zd;var tf=function(){},nf=n(43),rf=function(e){var t=e.isOpen,n=e.handleClick,r=e.keyCode,o=e.eventTarget,a=e.trigger,c=e.toggleOpen;switch(r){case Lt.ESCAPE:t&&c();break;case Lt.ENTER:t||function(e){var t=e.trigger,n=e.eventTarget,r=e.handleClick;t&&xt.a.findDOMNode(t)===n&&r(event)}({trigger:a,eventTarget:o,handleClick:n})}};function of(e){return(of="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function af(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function cf(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?af(Object(n),!0).forEach((function(t){ff(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):af(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function sf(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function lf(e,t){return(lf=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function pf(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=df(e);if(t){var o=df(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return uf(this,n)}}function uf(e,t){return!t||"object"!==of(t)&&"function"!=typeof t?hf(e):t}function hf(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function df(e){return(df=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function ff(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var vf,mf="undefined"!=typeof document,gf=mf?document.createElement("span"):{style:{}};gf.style.top=0,gf.style.left=0,gf.style.width="100%",gf.style.height="100%",gf.style.position="absolute";var yf={align:"right",assistiveText:{closeButton:"Close dialog"},hasNoCloseButton:!1,hasNoNubbin:!1,hoverCloseDelay:300,openOn:"click",position:"absolute",variant:"base"},bf=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&lf(e,t)}(c,e);var t,n,r,a=pf(c);function c(e){var t;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,c),ff(hf(t=a.call(this,e)),"state",{isOpen:!1}),ff(hf(t),"getId",(function(){return t.props.id||t.generatedId})),ff(hf(t),"getIsOpen",(function(){return!t.props.disabled&&!!("boolean"==typeof t.props.isOpen?t.props.isOpen:t.state.isOpen)})),ff(hf(t),"getMenu",(function(){return t.dialog})),ff(hf(t),"getTargetElement",(function(){return t.props.onRequestTargetElement&&t.props.onRequestTargetElement()?t.props.onRequestTargetElement():t.trigger})),ff(hf(t),"setMenuRef",(function(e){t.dialog=e})),ff(hf(t),"setContainerRef",(function(e){t.trigger=e,t.state.inputRendered||t.setState({inputRendered:!0})})),ff(hf(t),"handleDialogClose",(function(e,n){var r=n&&n.componentWillUnmount||!1;vf===hf(t)&&(vf=void 0),t.props.onClose&&t.props.onClose(e,{componentWillUnmount:r})})),ff(hf(t),"handleClose",(function(e,n){t.getIsOpen()&&(t.props.onRequestClose&&t.props.onRequestClose(e,n),vf===hf(t)&&(vf=void 0),t.setState({isOpen:!1}),t.isHover=!1)})),ff(hf(t),"handleOpen",(function(){t.getIsOpen()||(vf&&Tr()(vf.handleClose)&&vf.handleClose(void 0,{trigger:"newPopover",id:vf.getId()}),vf=hf(t),t.setState({isOpen:!0}))})),ff(hf(t),"handleMouseEnter",(function(e){var n=t.getIsOpen();t.isHover=!0,n||"hover"!==t.props.openOn?clearTimeout(t.isClosing):t.handleOpen(),t.props.onMouseEnter&&t.props.onMouseEnter(e)})),ff(hf(t),"handleMouseLeave",(function(e){t.getIsOpen()&&(t.isClosing=setTimeout((function(){t.handleClose()}),t.props.hoverCloseDelay)),t.props.onMouseLeave&&t.props.onMouseLeave(e)})),ff(hf(t),"handleClick",(function(e,n){var r=n.triggerOnClickCallback;t.getIsOpen()?t.handleClose():t.handleOpen(),t.props.onClick&&t.props.onClick(e),r&&r(e)})),ff(hf(t),"handleFocus",(function(e){t.getIsOpen()||t.handleOpen(),t.props.onFocus&&t.props.onFocus(e)})),ff(hf(t),"handleKeyDown",(function(e){if(e.keyCode){if(e.keyCode!==Lt.TAB){var n=t.getIsOpen();rf({event:e,isOpen:n,handleClick:t.handleClick,key:e.key,keyCode:e.keyCode,targetTarget:e.target,toggleOpen:t.toggleOpenFromKeyboard,trigger:t.trigger})}t.props.onKeyDown&&t.props.onKeyDown(e)}})),ff(hf(t),"handleCancel",(function(e){t.handleClose(e,{trigger:"cancel"})})),ff(hf(t),"handleClickOutside",(function(e){t.handleClose(e,{trigger:"clickOutside"})})),ff(hf(t),"toggleOpenFromKeyboard",(function(e){t.getIsOpen()?t.handleCancel(e):t.handleOpen()})),ff(hf(t),"renderDialog",(function(e,n){var r=hf(t).props,a=r.offset,c=cf(cf({},yf.assistiveText),t.props.assistiveText),s=r.closeButtonAssistiveText||c.closeButton,l="error"===t.props.variant||"warning"===t.props.variant,p=t.props.heading||l,u={error:o.a.createElement(Sn,{category:"utility",name:"error",size:"x-small",inverse:!0}),warning:o.a.createElement(Sn,{category:"utility",name:"warning",size:"x-small",inverse:!0})},h={base:o.a.createElement("header",{className:i()("slds-popover__header",{"slds-p-vertical_medium":"walkthrough"===r.variant})},o.a.createElement("h2",{id:t.props.ariaLabelledby||"".concat(t.getId(),"-dialog-heading"),className:i()({"slds-text-heading_small":"walkthrough"!==r.variant,"slds-text-heading_medium":"walkthrough"===r.variant})},t.props.heading)),themed:o.a.createElement("header",{className:"slds-popover__header"},o.a.createElement(ul,{body:o.a.createElement("h2",{id:t.props.ariaLabelledby||"".concat(t.getId(),"-dialog-heading"),className:"slds-truncate slds-text-heading_medium",title:r.heading},r.heading),figure:u[t.props.variant],verticalCenter:!0}))},d=null;p&&"walkthrough-action"!==r.variant&&"feature"!==r.variant&&(d=h[l?"themed":"base"]);var f=null;f="error"===r.variant||"warning"===r.variant?o.a.createElement("div",null,o.a.createElement("div",{id:"".concat(t.getId(),"-dialog-body"),className:i()("slds-popover__body",t.props.classNameBody),style:{borderBottom:"none"}},r.body),o.a.createElement("div",{style:{position:"absolute",bottom:0,left:0,width:"100%",textAlign:"center",margin:0,padding:"5px 0",backgroundImage:"linear-gradient(to bottom, transparent, rgba(255,255,255,100)"}})):"walkthrough-action"===r.variant||"feature"===r.variant?o.a.createElement("div",{className:i()("slds-popover__body",t.props.classNameBody),id:"".concat(t.getId(),"-dialog-body")},o.a.createElement("div",{className:"slds-media"},o.a.createElement("div",{className:"slds-media__figure"},"walkthrough-action"===r.variant?o.a.createElement(Sn,{category:"utility",name:"touch_action",size:"small",inverse:!0}):t.props.icon),o.a.createElement("div",{className:"slds-media__body"},r.heading?o.a.createElement("h2",{id:t.props.ariaLabelledby||"".concat(t.getId(),"-dialog-heading"),className:"slds-text-heading_small"},r.heading):null,r.body,r.stepText?o.a.createElement("p",{className:"slds-m-top_medium slds-text-title"},r.stepText):null))):o.a.createElement("div",{id:"".concat(t.getId(),"-dialog-body"),className:i()("slds-popover__body",t.props.classNameBody)},r.body);var v=null;return r.footer?v=o.a.createElement("footer",{className:i()("slds-popover__footer",t.props.classNameFooter,t.props.footerClassName),style:t.props.footerStyle},t.props.footer):"walkthrough-action"!==r.variant&&(r.footerWalkthroughActions||r.stepText)&&(v=o.a.createElement("footer",{className:"slds-popover__footer"},o.a.createElement("div",{className:"slds-grid slds-grid_vertical-align-center"},r.stepText?o.a.createElement("span",{className:"slds-text-title"},r.stepText):null,r.footerWalkthroughActions?o.a.createElement("div",{className:"slds-col_bump-left",style:{display:"inline-block"}},r.footerWalkthroughActions):null))),e?o.a.createElement(vn,{hasNubbin:!t.props.hasNoNubbin,align:r.align,contentsClassName:i()(t.props.contentsClassName,"ignore-react-onclickoutside","slds-popover",{"slds-popover_error":"error"===r.variant},{"slds-popover_walkthrough":"walkthrough"===r.variant||"walkthrough-action"===r.variant||"feature"===r.variant},{"slds-popover_walkthrough-alt":"walkthrough-action"===r.variant},{"slds-popover_feature":"feature"===r.variant},{"slds-popover_warning":"warning"===r.variant},r.className),context:t.context,hasStaticAlignment:r.hasStaticAlignment,offset:a,onCancel:t.handleClose,onClose:t.handleDialogClose,onOpen:t.props.onOpen,onKeyDown:t.handleKeyDown,onMouseEnter:"hover"===r.openOn?t.handleMouseEnter:null,onMouseLeave:"hover"===r.openOn?t.handleMouseLeave:null,outsideClickIgnoreClass:n,onRequestTargetElement:function(){return t.getTargetElement()},position:t.props.position,style:t.props.style,variant:"popover",ref:t.setMenuRef,containerProps:{id:"".concat(t.getId(),"-popover"),"aria-labelledby":t.props.ariaLabelledby||"".concat(t.getId(),"-dialog-heading"),"aria-describedby":"".concat(t.getId(),"-dialog-body")}},!t.props.hasNoCloseButton&&o.a.createElement(or,{assistiveText:{icon:s},iconCategory:"utility",iconName:"close",className:i()("slds-button slds-button_icon-small slds-float_right slds-popover__close slds-button_icon",{"slds-button_icon-inverse":"walkthrough"===r.variant||"walkthrough-action"===r.variant||"feature"===r.variant}),onClick:t.handleCancel,variant:"icon",inverse:"error"===t.props.variant||"warning"===t.props.variant}),d,f,v):null})),ff(hf(t),"renderOverlay",(function(e){Tr()(gf)&&mf?gf(e,gf):t.props.overlay&&e&&!t.overlay&&mf?(t.overlay=gf,document.querySelector("body").appendChild(t.overlay)):!e&&t.overlay&&t.overlay.parentNode&&(t.overlay.parentNode.removeChild(t.overlay),t.overlay=void 0)})),t.generatedId=p.a.generate(),tf(se,e,nf),t}return t=c,(n=[{key:"componentWillUnmount",value:function(){vf===this&&(vf=void 0),this.isUnmounting=!0,this.renderOverlay(!1)}},{key:"render",value:function(){var e=this,t=[],n="ignore-click-".concat(this.getId()),r=null;o.a.Children.forEach(this.props.children,(function(n,a){0===a?r=o.a.cloneElement(n,cf({"aria-haspopup":"dialog",id:e.getId(),onClick:"click"===e.props.openOn||"hybrid"===e.props.openOn?function(t){e.handleClick(t,{triggerOnClickCallback:n.props.onClick})}:n.props.onClick,onFocus:"hover"===e.props.openOn?e.handleFocus:null,onMouseDown:e.props.onMouseDown,onMouseEnter:"hover"===e.props.openOn||"hybrid"===e.props.openOn?e.handleMouseEnter:null,onMouseLeave:"hover"===e.props.openOn||"hybrid"===e.props.openOn?e.handleMouseLeave:null,tabIndex:n.props.tabIndex||"0"},n.props)):t.push(n)})),this.renderOverlay(this.getIsOpen());var a={display:this.props.hasNoTriggerStyles?void 0:"inline-block"};return o.a.createElement("div",{className:this.props.triggerClassName,style:a,ref:this.setContainerRef},r,t.length>0?t:null,this.renderDialog(this.getIsOpen(),n))}}])&&sf(t.prototype,n),r&&sf(t,r),c}(o.a.Component);ff(bf,"displayName",se),ff(bf,"propTypes",{align:c.a.oneOf(["top","top left","top right","right","right top","right bottom","bottom","bottom left","bottom right","left","left top","left bottom"]),assistiveText:c.a.shape({closeButton:c.a.string}),ariaLabelledby:c.a.string,children:c.a.node.isRequired,body:c.a.oneOfType([c.a.node,c.a.array]).isRequired,classNameBody:c.a.oneOfType([c.a.array,c.a.object,c.a.string]),classNameFooter:c.a.oneOfType([c.a.array,c.a.object,c.a.string]),disabled:c.a.bool,footer:c.a.node,footerStyle:c.a.object,footerWalkthroughActions:c.a.oneOfType([c.a.node,c.a.arrayOf(c.a.node)]),hasNoCloseButton:c.a.bool,hasNoNubbin:c.a.bool,hasStaticAlignment:c.a.bool,hasNoTriggerStyles:c.a.bool,heading:c.a.oneOfType([c.a.string,c.a.node]),icon:c.a.node,id:c.a.string,isOpen:c.a.bool,onClick:c.a.func,onClose:c.a.func,onKeyDown:c.a.func,onMouseDown:c.a.func,onOpen:c.a.func,onRequestClose:c.a.func,onRequestTargetElement:c.a.func,position:c.a.oneOf(["absolute","overflowBoundaryElement","relative"]),stepText:c.a.string,style:c.a.object,overlay:c.a.oneOfType([c.a.bool,c.a.func]),triggerClassName:c.a.oneOfType([c.a.array,c.a.object,c.a.string]),variant:c.a.oneOf(["base","error","feature","walkthrough","walkthrough-action","warning"])}),ff(bf,"defaultProps",yf),bf.contextTypes={iconPath:c.a.string};var wf=Cc(bf),zf=n(44);function xf(e){return(xf="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function _f(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function Of(e,t){return(Of=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function Mf(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=Ef(e);if(t){var o=Ef(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return Sf(this,n)}}function Sf(e,t){return!t||"object"!==xf(t)&&"function"!=typeof t?Cf(e):t}function Cf(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function Ef(e){return(Ef=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function Hf(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var jf={assistiveText:c.a.shape({label:c.a.string,hueSlider:c.a.string,saturationValueGrid:c.a.string}),className:c.a.oneOfType([c.a.array,c.a.object,c.a.string]),classNameMenu:c.a.oneOfType([c.a.array,c.a.object,c.a.string]),id:c.a.string,disabled:c.a.bool,errorText:c.a.string,errorTextWorkingColor:c.a.string,events:c.a.shape({onChange:c.a.func,onClose:c.a.func,onOpen:c.a.func,onRequestClose:c.a.func,onRequestOpen:c.a.func,onValidateColor:c.a.func,onValidateWorkingColor:c.a.func,onWorkingColorChange:c.a.func}),hasStaticAlignment:c.a.bool,hideInput:c.a.bool,isOpen:c.a.bool,labels:c.a.shape({blueAbbreviated:c.a.string,cancelButton:c.a.string,customTab:c.a.string,customTabActiveWorkingColorSwatch:c.a.string,customTabTransparentSwatch:c.a.string,greenAbbreviated:c.a.string,hexLabel:c.a.string,invalidColor:c.a.string,invalidComponent:c.a.string,label:c.a.string,redAbbreviated:c.a.string,swatchTab:c.a.string,swatchTabTransparentSwatch:c.a.string,submitButton:c.a.string}),menuPosition:c.a.oneOf(["absolute","overflowBoundaryElement","relative"]),swatchColors:c.a.arrayOf(c.a.string),defaultSelectedTab:c.a.oneOf(["swatches","custom"]),variant:c.a.oneOf(["base","swatches","custom"]),value:c.a.string,valueWorking:c.a.string},Pf={assistiveText:{saturationValueGrid:"Use arrow keys to select a saturation and brightness, on an x and y axis.",hueSlider:"Select Hue"},events:{},labels:{blueAbbreviated:"B",cancelButton:"Cancel",customTab:"Custom",customTabActiveWorkingColorSwatch:"Working Color",customTabTransparentSwatch:"Transparent Swatch",greenAbbreviated:"G",hexLabel:"Hex",invalidColor:"The color entered is invalid",invalidComponent:"The value needs to be an integer from 0-255",redAbbreviated:"R",submitButton:"Done",swatchTab:"Default",swatchTabTransparentSwatch:"Transparent Swatch"},menuPosition:"absolute",swatchColors:["#e3abec","#c2dbf7","#9fd6ff","#9de7da","#9df0c0","#fff099","#fed49a","#d073e0","#86baf3","#5ebbff","#44d8be","#3be282","#ffe654","#ffb758","#bd35bd","#5779c1","#5679c0","#00aea9","#3cba4c","#f5bc25","#f99221","#580d8c","#001970","#0a2399","#0b7477","#0b6b50","#b67e11","#b85d0d",""],defaultSelectedTab:"swatches",variant:"base"},kf=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&Of(e,t)}(c,e);var t,n,r,a=Mf(c);function c(e){var t;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,c),Hf(Cf(t=a.call(this,e)),"handleSwatchChange",(function(e){t.setWorkingColor(e,{hex:e.target.value})})),Hf(Cf(t),"handleOnRequestClose",(function(e,n){var r=n.trigger;"clickOutside"!==r&&"cancel"!==r||t.handleCancelState(),t.props.onRequestClose&&t.props.onRequestClose(e,{trigger:r})})),Hf(Cf(t),"handleClickOutside",(function(e){t.handleCancelButtonClick(e)})),Hf(Cf(t),"handleCancel",(function(e){t.handleCancelState(),t.props.onRequestClose&&t.props.onRequestClose(e,{trigger:"cancel"})})),Hf(Cf(t),"handleCancelState",(function(){var e=jh.getNewColor({hex:t.state.currentColor},t.props.events.onValidateWorkingColor);t.setState({isOpen:!1,workingColor:e,previousWorkingColor:e})})),Hf(Cf(t),"handleHexInputChange",(function(e,n){var r=n.labels,o=e.target.value,a=jh.getHexFromNamedColor(o),c=!1;c=t.props.events.onValidateColor?t.props.events.onValidateColor(o):!!a||jh.isValidHex(o),t.setState({currentColor:o,workingColor:jh.getNewColor({hex:a||o,name:a?o.toLowerCase():null},t.props.events.onValidateWorkingColor),colorErrorMessage:c?"":r.invalidColor}),t.props.events.onChange&&t.props.events.onChange(e,{color:o,isValid:c})})),Hf(Cf(t),"handleSaturationValueChange",(function(e,n){var r=n.saturation,o=n.value;t.setWorkingColor(e,{saturation:r,value:o})})),Hf(Cf(t),"handleSubmitButtonClick",(function(e){t.setState({isOpen:!1,currentColor:t.state.workingColor.hex,colorErrorMessage:""}),t.props.events.onChange&&t.props.events.onChange(e,{color:t.state.workingColor.hex,isValid:!0})})),Hf(Cf(t),"handleSwatchButtonClick",(function(){var e=jh.getNewColor({hex:t.state.workingColor.hex},t.props.events.onValidateWorkingColor);t.setState({isOpen:!t.state.isOpen,workingColor:e,previousWorkingColor:t.state.previousWorkingColor}),t.props.onRequestOpen&&t.props.onRequestOpen()})),Hf(Cf(t),"handleSwatchSelect",(function(e,n){var r=n.hex;t.setWorkingColor(e,{hex:r})})),t.generatedId=e.id||p.a.generate();var n=jh.getNewColor({hex:e.valueWorking||e.value},e.events.onValidateWorkingColor);return t.state={currentColor:null!=e.value?e.value:"",disabled:e.disabled,isOpen:e.isOpen,workingColor:n,previousWorkingColor:n,colorErrorMessage:e.errorText},Hu(S,e,zf),t}return t=c,(n=[{key:"componentDidUpdate",value:function(e){var t={};this.props.value!==e.value&&(t.currentColor=this.props.value),this.props.valueWorking!==e.valueWorking&&(t.workingColor=jh.getNewColor({hex:this.props.valueWorking},this.props.events.onValidateWorkingColor)),this.props.disabled!==e.disabled&&(t.disabled=this.props.disabled),0!==Object.entries(t).length&&this.setState(t)}},{key:"getInput",value:function(e){var t=this,n=e.labels;return this.props.hideInput?null:o.a.createElement(Ep,{"aria-describedby":!this.state.isOpen&&this.state.colorErrorMessage?"color-picker-summary-error-".concat(this.generatedId):void 0,className:i()("slds-color-picker__summary-input","slds-align-top",{"slds-has-error":!!this.state.colorErrorMessage}),disabled:this.props.disabled,id:"color-picker-summary-input-".concat(this.generatedId),onChange:function(e){t.handleHexInputChange(e,{labels:n})},value:this.state.currentColor})}},{key:"getDefaultTab",value:function(e){var t=e.labels;return("base"===this.props.variant||"swatches"===this.props.variant)&&o.a.createElement(ef,{label:t.swatchTab},o.a.createElement(Od,{color:this.state.workingColor,labels:t,onSelect:this.handleSwatchSelect,swatchColors:this.props.swatchColors}))}},{key:"getCustomTab",value:function(e){var t=e.labels;return("base"===this.props.variant||"custom"===this.props.variant)&&o.a.createElement(ef,{label:t.customTab},o.a.createElement(ed,{assistiveText:this.props.assistiveText,id:this.generatedId,color:this.state.workingColor,errorTextWorkingColor:this.props.errorTextWorkingColor,previousColor:this.state.previousWorkingColor,labels:t,onBlueChange:this.handleColorChange("blue"),onGreenChange:this.handleColorChange("green"),onHexChange:this.handleColorChange("hex"),onHueChange:this.handleColorChange("hue"),onRedChange:this.handleColorChange("red"),onSwatchChange:this.handleSwatchChange,onSaturationValueChange:this.handleSaturationValueChange,onSaturationNavigate:this.handleNavigate("saturation"),onValueNavigate:this.handleNavigate("value")}))}},{key:"getPopover",value:function(e){var t=e.labels,n=o.a.createElement($d,{id:"color-picker-tabs-".concat(this.generatedId),defaultSelectedIndex:"custom"===this.props.defaultSelectedTab?1:0},this.getDefaultTab({labels:t}),this.getCustomTab({labels:t})),r=o.a.createElement("div",{className:"slds-color-picker__selector-footer"},o.a.createElement(or,{className:"slds-color-picker__selector-cancel",id:"color-picker-footer-cancel-".concat(this.generatedId),label:t.cancelButton,onClick:this.handleCancel,variant:"neutral"}),o.a.createElement(or,{className:"slds-color-picker__selector-submit",disabled:Object.keys(this.state.workingColor.errors||{}).length>0,id:"color-picker-footer-submit-".concat(this.generatedId),label:t.submitButton,onClick:this.handleSubmitButtonClick,variant:"brand"}));return o.a.createElement(wf,{ariaLabelledby:"color-picker-label-".concat(this.generatedId),align:"bottom left",body:n,className:i()("slds-color-picker__selector",this.props.classNameMenu),footer:r,hasNoCloseButton:!0,hasNoNubbin:!0,hasStaticAlignment:this.props.hasStaticAlignment,id:"slds-color-picker__selector-".concat(this.generatedId),isOpen:this.state.isOpen,onClose:this.props.onClose,onOpen:this.props.onOpen,onRequestClose:this.handleOnRequestClose,position:this.props.menuPosition},o.a.createElement(or,{className:"slds-color-picker__summary-button",disabled:this.props.disabled,iconClassName:"slds-m-left_xx-small",iconPosition:"right",iconVariant:"more",id:"slds-color-picker__summary-button-".concat(this.generatedId),label:o.a.createElement(lh,{color:this.state.currentColor,labels:t}),onClick:this.handleSwatchButtonClick,variant:"icon"}))}},{key:"setWorkingColor",value:function(e,t){var n=jh.getNewColor(t,this.props.events.onValidateWorkingColor,this.state.workingColor);this.setState({workingColor:n,previousWorkingColor:this.state.workingColor}),this.props.events.onWorkingColorChange&&this.props.events.onWorkingColorChange(e,{color:n})}},{key:"handleColorChange",value:function(e){var t=this;return function(n){var r={};r[e]=n.target.value,t.setWorkingColor(n,r)}}},{key:"handleNavigate",value:function(e){var t=this;return function(n,r){var o=r.delta,a={};a[e]=o;var c=jh.getDeltaColor(a,t.props.events.onValidateWorkingColor,t.state.workingColor);t.setState({workingColor:c,previousWorkingColor:t.state.workingColor}),t.props.events.onWorkingColorChange&&t.props.events.onWorkingColorChange(n,{color:c})}}},{key:"render",value:function(){var e=this,t=lr()({},Pf.labels,this.props.labels);return o.a.createElement("div",{className:i()("slds-color-picker",this.props.className),ref:function(t){e.wrapper=t}},o.a.createElement("div",{className:"slds-color-picker__summary"},o.a.createElement("label",{className:i()("slds-color-picker__summary-label",this.props.assistiveText.label?"slds-assistive-text":""),htmlFor:this.props.hideInput?void 0:"color-picker-summary-input-".concat(this.generatedId),id:"color-picker-label-".concat(this.generatedId)},this.props.assistiveText.label?this.props.assistiveText.label:t.label),this.getPopover({labels:t}),this.getInput({labels:t}),!this.state.isOpen&&this.state.colorErrorMessage?o.a.createElement("p",{className:"slds-form-error",id:"color-picker-summary-error-".concat(this.generatedId)},this.state.colorErrorMessage):""))}}])&&_f(t.prototype,n),r&&_f(t,r),c}(o.a.Component);Hf(kf,"displayName",S),Hf(kf,"propTypes",jf),Hf(kf,"defaultProps",Pf);var Nf=kf,Tf=n(12),Lf=n.n(Tf),Vf=n(15),Rf=n.n(Vf);function Df(e,t){if(null==e)return{};var n,r,o=function(e,t){if(null==e)return{};var n,r,o={},a=Object.keys(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)>=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}function If(){return(If=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}function Af(e){return function(e){if(Array.isArray(e))return Ff(e)}(e)||function(e){if("undefined"!=typeof Symbol&&Symbol.iterator in Object(e))return Array.from(e)}(e)||function(e,t){if(!e)return;if("string"==typeof e)return Ff(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return Ff(e,t)}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Ff(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function Bf(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function qf(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?Bf(Object(n),!0).forEach((function(t){Kf(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Bf(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function Kf(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var Wf={activeOption:c.a.object,activeOptionIndex:c.a.number,className:c.a.oneOfType([c.a.array,c.a.object,c.a.string]),classNameMenu:c.a.oneOfType([c.a.array,c.a.object,c.a.string]),classNameMenuSubHeader:c.a.oneOfType([c.a.array,c.a.object,c.a.string]),inheritWidthOf:c.a.oneOf(["target","menu","none"]),inputId:c.a.string,itemVisibleLength:c.a.oneOf([5,7,10]),labels:c.a.shape({noOptionsFound:c.a.oneOfType([c.a.node,c.a.string]).isRequired}),onRenderMenuItem:c.a.func,menuRef:c.a.oneOfType([c.a.func,c.a.object]),maxWidth:c.a.string,onSelect:c.a.func,options:c.a.array,resetActiveOption:c.a.func,selection:c.a.array,hasMenuSpinner:c.a.bool,optionsAddItem:c.a.arrayOf(c.a.shape({id:c.a.string,icon:c.a.node,label:c.a.oneOfType([c.a.string,c.a.func])})),optionsSearchEntity:c.a.arrayOf(c.a.shape({id:c.a.string,icon:c.a.node,label:c.a.oneOfType([c.a.string,c.a.func])})),tooltipMenuItemDisabled:c.a.element,variant:c.a.oneOf(["icon-title-subtitle","checkbox"]),isSelected:c.a.func,assistiveText:c.a.object},Uf=function(e,t){if(!e||0===e.length||!t||0===t.length)return e;var n=e.toLowerCase().indexOf(t.toLowerCase());return n>-1?o.a.createElement(o.a.Fragment,null,e.substr(0,n),o.a.createElement("span",{key:"bold",className:"slds-text-title_bold"},"".concat(e.substr(n,t.length))),e.substr(n+t.length)):e},Gf=function(e,t){return null==e||"string"==typeof e?e:e(t)},Yf=function(e){var t="menu"===e.inheritWidthOf?"inherit":void 0;t="menu"===e.inheritWidthOf&&e.maxWidth?e.maxWidth:t;var n=function(e){var t=[];if(e.optionsSearchEntity.length>0){var n=e.optionsSearchEntity.map((function(e){return qf(qf({},e),{},{type:"header"})}));t.push.apply(t,Af(n))}if(t.push.apply(t,Af(e.options)),e.optionsAddItem.length>0){var r=e.optionsAddItem.map((function(e){return qf(qf({},e),{},{type:"footer"})}));t.push.apply(t,Af(r))}return t}(e).map((function(t,n){var r=n===e.activeOptionIndex&&e.activeOption&&wt()(t.id,e.activeOption.id),a=e.isSelected({selection:e.selection,option:t})&&("header"!==t.type||"footer"===t.type),c=e.onRenderMenuItem;if("separator"===t.type)return t.label?o.a.createElement("li",{className:"slds-dropdown__header slds-truncate",title:t.label,role:"separator",key:"menu-separator-".concat(t.id)},o.a.createElement("span",{className:i()("slds-listbox__option-header",e.classNameMenuSubHeader)},t.label)):o.a.createElement("li",{className:"slds-has-divider_top-space",role:"separator",key:"menu-separator-".concat(t.id)});if("header"===t.type)return o.a.createElement("li",{key:"menu-header-".concat(t.id,"}"),role:"presentation",className:"slds-listbox__item"},o.a.createElement("div",{onClick:t.disabled?null:function(n){e.onSelect(n,{option:t})},"aria-selected":r,id:"".concat(e.inputId,"-listbox-option-").concat(t.id),className:i()("slds-media slds-listbox__option","slds-listbox__option_entity slds-listbox__option_term",{"slds-has-focus":r}),role:"option"},o.a.createElement("span",{className:"slds-media__figure slds-listbox__option-icon"},t.icon),o.a.createElement("span",{className:"slds-media__body"},Gf(t.label,e.inputValue))));if("footer"===t.type)return o.a.createElement("li",{key:"menu-footer-".concat(t.id,"}"),role:"presentation",className:"slds-listbox__item"},o.a.createElement("div",{"aria-selected":r,onClick:t.disabled?null:function(n){e.onSelect(n,{option:t})},id:"".concat(e.inputId,"-listbox-option-").concat(t.id),className:i()("slds-media slds-listbox__option","slds-listbox__option_entity slds-listbox__option_term",{"slds-has-focus":r}),role:"option"},o.a.createElement("span",{className:"slds-media__figure slds-listbox__option-icon"},t.icon),o.a.createElement("span",{className:"slds-media__body"},Gf(t.label,e.inputValue))));var s={},l="".concat(e.inputId,"-listbox-option-help-").concat(t.id);t.disabled&&e.tooltipMenuItemDisabled&&r&&(s["aria-describedby"]=l),t.disabled&&(s["aria-disabled"]=!!t.disabled,s.style={cursor:"default"});var p,u={"icon-title-subtitle":o.a.createElement("span",If({"aria-selected":r},s,{id:"".concat(e.inputId,"-listbox-option-").concat(t.id),key:"menu-subtitle-".concat(t.id),className:i()("slds-media slds-listbox__option","slds-listbox__option_entity slds-listbox__option_has-meta",{"slds-has-focus":r}),onClick:t.disabled?null:function(n){e.onSelect(n,{option:t})},role:"option"}),t.icon&&!e.onRenderMenuItem?o.a.createElement("span",{className:"slds-media__figure"},t.icon):null,e.onRenderMenuItem?o.a.createElement(c,{assistiveText:e.assistiveText,selected:a,option:t}):o.a.createElement("span",{className:"slds-media__body"},o.a.createElement("span",{className:i()("slds-listbox__option-text","slds-listbox__option-text_entity",{"slds-disabled-text":t.disabled})},Uf(t.label,e.inputValue)),o.a.createElement("span",{className:i()("slds-listbox__option-meta slds-listbox__option-meta_entity",{"slds-disabled-text":t.disabled})},Uf(t.subTitle,e.inputValue)))),checkbox:o.a.createElement("span",If({"aria-selected":r},s,{id:"".concat(e.inputId,"-listbox-option-").concat(t.id),key:"menu-checkbox-".concat(t.id),className:i()("slds-media slds-listbox__option"," slds-listbox__option_plain slds-media_small slds-media_center",{"slds-has-focus":r,"slds-is-selected":a}),onClick:t.disabled?null:function(n){e.onSelect(n,{selection:e.selection,option:t})},role:"option"}),o.a.createElement("span",{className:"slds-media__figure"},o.a.createElement(Sn,{className:"slds-listbox__icon-selected",category:"utility",name:"check",size:"x-small"})),o.a.createElement("span",{className:"slds-media__body"},e.onRenderMenuItem?o.a.createElement(c,{assistiveText:e.assistiveText,selected:a,option:t}):o.a.createElement("span",{className:i()("slds-truncate",{"slds-disabled-text":t.disabled}),title:t.label},a?o.a.createElement("span",{className:"slds-assistive-text"},e.assistiveText.optionSelectedInMenu):null," ",t.label)))};if(t.disabled&&e.tooltipMenuItemDisabled){var h=e.tooltipMenuItemDisabled.props,d=h.content,f=Df(h,["content"]),v=qf({align:"top",content:t.tooltipContent||d,id:l,position:"absolute",silenceTriggerTabbableWarning:!0,triggerStyle:{width:"100%"}},f);r&&(v.isOpen=!0),p=o.a.cloneElement(e.tooltipMenuItemDisabled,v,u[e.variant])}else p=u[e.variant];return o.a.createElement("li",{className:"slds-listbox__item",key:"menu-option-".concat(t.id),role:"presentation"},p)}));return o.a.createElement("ul",{className:i()("slds-listbox slds-listbox_vertical slds-dropdown slds-dropdown_fluid",{"slds-dropdown_length-with-icon-5":5===e.itemVisibleLength,"slds-dropdown_length-with-icon-7":7===e.itemVisibleLength,"slds-dropdown_length-with-icon-10":10===e.itemVisibleLength},e.classNameMenu),ref:e.menuRef,role:"presentation",style:{width:"menu"===e.inheritWidthOf?"auto":void 0,maxWidth:t,position:"relative"!==e.menuPosition?"relative":void 0}},n.length?n:o.a.createElement("li",{className:"slds-listbox__item slds-listbox__status",role:"status","aria-live":"polite"},o.a.createElement("span",{className:"slds-m-left_x-large slds-p-vertical_medium"},e.labels.noOptionsFound)),e.hasMenuSpinner&&o.a.createElement("li",{role:"presentation",className:"slds-listbox__item"},o.a.createElement("div",{className:"slds-align_absolute-center slds-p-top_medium"},o.a.createElement(Bl,{assistiveText:{label:e.assistiveText.loadingMenuItems},hasContainer:!1,isInline:!0,size:"x-small"}))))};Yf.displayName="Menu",Yf.propTypes=Wf,Yf.defaultProps={inputValue:"",menuRef:function(){},optionsAddItem:[],optionsSearchEntity:[]};var Qf=Yf,Jf={assistiveText:c.a.object,htmlFor:c.a.string,label:c.a.oneOfType([c.a.node,c.a.string]),required:c.a.bool,variant:c.a.oneOf(["base","static"])},Xf=function(e){var t=e.label||e.assistiveText&&e.assistiveText.label,n={base:o.a.createElement("label",{className:i()("slds-form-element__label",{"slds-assistive-text":e.assistiveText&&!e.label}),htmlFor:e.htmlFor},e.required&&o.a.createElement("abbr",{className:"slds-required",title:"required"},"*"),t),static:o.a.createElement("span",{className:"slds-form-element__label"},t)};return t?n[e.variant]:null};Xf.displayName="Label",Xf.propTypes=Jf,Xf.defaultProps={variant:"base"};var $f=Xf,Zf=function(e,t){var n=t.callbacks,r=void 0===n?{}:n,o=t.shiftCallbacks,a=void 0===o?{}:o,c=t.stopPropagation,s=void 0===c||c;e.shiftKey&&e.keyCode&&a[e.keyCode]?(s&&Nt.trapEvent(e),a[e.keyCode].callback(e,a[e.keyCode].data)):e.keyCode&&r[e.keyCode]?(s&&Nt.trapEvent(e),r[e.keyCode].callback(e,r[e.keyCode].data)):e.keyCode&&r.other&&(r.other.stopPropagation&&Nt.trapEvent(e),r.other.callback(e,r.other.data))};function ev(e){return(ev="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function tv(){return(tv=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}function nv(e,t){if(null==e)return{};var n,r,o=function(e,t){if(null==e)return{};var n,r,o={},a=Object.keys(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)>=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}function rv(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function ov(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function av(e,t){return(av=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function cv(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=lv(e);if(t){var o=lv(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return sv(this,n)}}function sv(e,t){return!t||"object"!==ev(t)&&"function"!=typeof t?iv(e):t}function iv(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function lv(e){return(lv=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function pv(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var uv={assistiveText:c.a.shape({remove:c.a.string}),avatar:c.a.element,bare:c.a.bool,children:c.a.node,className:c.a.oneOfType([c.a.array,c.a.object,c.a.string]),hasError:c.a.bool,href:c.a.string,icon:c.a.element,labels:c.a.shape({label:c.a.string,title:c.a.string,removeTitle:c.a.string}),onBlur:c.a.func,onClick:c.a.func,onFocus:c.a.func,onKeyDown:c.a.func,onRemove:c.a.func,variant:c.a.oneOf(["link","option"])},hv=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&av(e,t)}(c,e);var t,n,r,a=cv(c);function c(){var e;rv(this,c);for(var t=arguments.length,n=new Array(t),r=0;r<t;r++)n[r]=arguments[r];return pv(iv(e=a.call.apply(a,[this].concat(n))),"getHref",(function(){return"string"==typeof e.props.href?e.props.href:"javascript:void(0);"})),pv(iv(e),"blur",(function(){e.root.blur()})),pv(iv(e),"focus",(function(){e.root.focus()})),pv(iv(e),"handleKeyDown",(function(t){if("function"==typeof e.props.onKeyDown){for(var n,r=arguments.length,o=new Array(r>1?r-1:0),a=1;a<r;a++)o[a-1]=arguments[a];if((n=e.props.onKeyDown).call.apply(n,[null,t].concat(o)),t.defaultPrevented)return}switch(t.keyCode){case Lt.ENTER:"function"==typeof e.props.onClick&&(Nt.trap(t),e.props.onClick());break;case Lt.BACKSPACE:case Lt.DELETE:"function"==typeof e.props.onRemove&&(Nt.trap(t),e.props.onRemove())}})),pv(iv(e),"handleRef",(function(t){e.root=t})),pv(iv(e),"restProps",(function(){var t=e.props;t.bare,t.hasError,t.variant,t.className,t.onClick,t.onRemove,t.labels,t.assistiveText,t.children,t.href,t.icon,t.avatar,t.onKeyDown;return nv(t,["bare","hasError","variant","className","onClick","onRemove","labels","assistiveText","children","href","icon","avatar","onKeyDown"])})),pv(iv(e),"renderIcon",(function(){var t=e.props.icon||e.props.avatar;return t?o.a.createElement("span",{className:"slds-pill__icon_container"},t):null})),pv(iv(e),"renderLabel",(function(){return e.props.labels.label?"link"===e.props.variant?o.a.createElement("a",{href:e.getHref(),className:"slds-pill__action",title:e.props.labels.title||e.props.labels.label,onClick:e.props.onClick},o.a.createElement("span",{className:"slds-pill__label"},e.props.labels.label)):o.a.createElement("span",{className:"slds-pill__label",title:e.props.labels.title||e.props.labels.label},e.props.labels.label):e.props.children})),pv(iv(e),"renderRemoveIcon",(function(){return"function"==typeof e.props.onRemove?o.a.createElement("span",{className:"slds-icon_container slds-pill__remove",title:e.props.labels.removeTitle,role:"button",onClick:e.props.onRemove},o.a.createElement(ut,{style:{cursor:"pointer"},category:"utility",className:"slds-icon slds-icon_x-small slds-icon-text-default",name:"close"}),o.a.createElement("span",{className:"slds-assistive-text"},e.props.assistiveText.remove||e.props.labels.removeTitle)):null})),e}return t=c,(n=[{key:"render",value:function(){var e;switch(this.props.variant){case"link":e="button";break;case"option":e="option"}return o.a.createElement("span",tv({},this.restProps(),{role:e,className:i()("slds-pill",{"slds-pill_link":"link"===this.props.variant,"slds-has-error":this.props.hasError,"slds-pill_bare":this.props.bare},this.props.className),onClick:this.props.labels.label&&"link"===this.props.variant?null:this.props.onClick,onKeyDown:"function"==typeof this.props.onRemove?this.handleKeyDown:null,ref:this.handleRef}),this.renderIcon(),this.renderLabel(),this.renderRemoveIcon())}}])&&ov(t.prototype,n),r&&ov(t,r),c}(o.a.Component);hv.displayName="SLDSPill",hv.defaultProps={variant:"link",labels:{},assistiveText:{}},hv.propTypes=uv;var dv=hv;function fv(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function vv(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?fv(Object(n),!0).forEach((function(t){mv(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):fv(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function mv(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var gv={active:c.a.bool,assistiveText:c.a.shape({remove:c.a.string}),avatar:c.a.element,bare:c.a.bool,eventData:c.a.object,events:c.a.shape({onClick:c.a.func,onFocus:c.a.func,onRequestFocus:c.a.func.isRequired,onRequestFocusOnNextPill:c.a.func.isRequired,onRequestFocusOnPreviousPill:c.a.func.isRequired,onRequestRemove:c.a.func.isRequired}),hasError:c.a.bool,icon:c.a.element,labels:c.a.shape({label:c.a.string.isRequired,removeTitle:c.a.string}),requestFocus:c.a.bool,title:c.a.string,tabIndex:c.a.number},yv={assistiveText:c.a.shape({remove:", Press delete or backspace to remove"}),labels:{remove:"Remove"},events:{}},bv=function(e){var t=lr()({},yv.assistiveText,e.assistiveText),n=lr()({},yv.labels,e.labels);return o.a.createElement(dv,{avatar:e.avatar,bare:e.bare,hasError:e.hasError,tabIndex:e.tabIndex||"0",icon:e.icon,variant:"option",labels:n,assistiveText:{remove:t.remove},"aria-selected":"true",onBlur:e.events.onBlur,onClick:"function"==typeof e.events.onClick?function(t){e.events.onClick&&e.events.onClick(t,vv({},e.eventData))}:null,onFocus:function(t){e.events.onFocus&&e.events.onFocus(t,vv({},e.eventData))},onRemove:function(t){Nt.trap(t),function(e,t){var n=t.events,r=t.data;Nt.trap(e),n.onRequestRemove(e,r)}(t,{events:e.events,data:e.eventData})},onKeyDown:function(t){!function(e,t){var n,r=t.events,o=t.data;Zf(e,{callbacks:(n={},mv(n,Lt.BACKSPACE,{callback:r.onRequestRemove,data:o}),mv(n,Lt.DELETE,{callback:r.onRequestRemove,data:o}),mv(n,Lt.LEFT,{callback:r.onRequestFocusOnPreviousPill,data:vv(vv({},o),{},{direction:"previous"})}),mv(n,Lt.RIGHT,{callback:r.onRequestFocusOnNextPill,data:vv(vv({},o),{},{direction:"next"})}),n)})}(t,{events:e.events,data:e.eventData})},ref:function(t){e.requestFocus&&e.active&&e.events.onRequestFocus(void 0,{ref:t})}})};bv.displayName="Pill",bv.propTypes=gv,bv.defaultProps=yv;var wv=bv;var zv=function(e){return e.$$typeof&&"Symbol(react.element)"===e.$$typeof.toString()||e.type&&"function"==typeof e.type};function xv(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function _v(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?xv(Object(n),!0).forEach((function(t){Ov(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):xv(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function Ov(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var Mv={activeOption:c.a.object,activeOptionIndex:c.a.number,assistiveText:c.a.shape({label:c.a.string,removePill:c.a.string,selectedListboxLabel:c.a.string}),className:c.a.oneOfType([c.a.array,c.a.object,c.a.string]),events:c.a.shape({onClickPill:c.a.func,onPillFocus:c.a.func.isRequired,onRequestFocus:c.a.func.isRequired,onRequestFocusOnNextPill:c.a.func.isRequired,onRequestFocusOnPreviousPill:c.a.func.isRequired,onRequestRemove:c.a.func.isRequired}),id:c.a.string,isBare:c.a.bool,isInline:c.a.bool,isPillContainer:c.a.bool,listboxAriaOrientation:c.a.string,listboxRole:c.a.string,containerAriaOrientation:c.a.string,containerRole:c.a.string,labels:c.a.shape({label:c.a.string,remove:c.a.string,title:c.a.string}),renderAtSelectionLength:c.a.number,selectedListboxRef:c.a.func,selection:c.a.array,style:c.a.object,listboxHasFocus:c.a.bool,variant:c.a.oneOf(["base","inline-listbox","readonly"])},Sv=function(e){return e.selection.length>=e.renderAtSelectionLength?o.a.createElement("div",{className:i()({"slds-pill_container":e.isPillContainer},e.className)||void 0,id:e.id,ref:function(t){e.selectedListboxRef&&e.selectedListboxRef(t)},style:e.style,role:e.containerRole,"aria-orientation":e.containerAriaOrientation},o.a.createElement("ul",{className:i()("slds-listbox",{"slds-listbox_inline":e.isInline,"slds-listbox_horizontal":!e.isInline,"slds-p-top_xxx-small":!e.isInline}),"aria-label":e.assistiveText.selectedListboxLabel,role:e.listboxRole,"aria-orientation":e.listboxAriaOrientation},e.selection.map((function(t,n){var r=n===e.activeOptionIndex,a=function(e){var t=e.icon,n=null;return t&&(zv(t)||t instanceof HTMLElement?n=t:t.category&&t.name&&(n=o.a.createElement(Sn,{category:t.category,name:t.name,title:t.title||e.label}))),n}(t),c=a?null:function(e){var t=e.avatar,n=null;return t&&(zv(t)||t instanceof HTMLElement?n=t:t.imgSrc&&(n=o.a.createElement(Ja,{imgSrc:t.imgSrc,title:t.title||e.label,variant:t.variant||"user"}))),n}(t);return o.a.createElement("li",{role:"presentation",className:"slds-listbox__item",key:"".concat(e.id,"-list-item-").concat(t.id)},o.a.createElement(wv,{active:r&&e.listboxHasFocus,assistiveText:{remove:e.assistiveText.removePill},avatar:c,bare:t.bare||e.isBare,error:t.error,events:{onBlur:e.events.onBlurPill,onClick:"function"==typeof e.events.onClickPill?function(t,r){e.events.onClickPill(t,_v(_v({},r),{},{index:n}))}:null,onFocus:function(t,r){e.events.onPillFocus(t,_v(_v({},r),{},{index:n}))},onRequestFocusOnNextPill:e.events.onRequestFocusOnNextPill,onRequestFocusOnPreviousPill:e.events.onRequestFocusOnPreviousPill,onRequestRemove:function(t,r){e.events.onRequestRemove(t,_v(_v({},r),{},{index:n}))},onRequestFocus:e.events.onRequestFocus},eventData:{option:t},hasError:t.error,icon:a,labels:{label:t.label,removeTitle:e.labels.removePillTitle},requestFocus:e.listboxHasFocus,tabIndex:r?0:-1}))})))):null};Sv.displayName="SelectedListBox",Sv.propTypes=Mv,Sv.defaultProps={listboxAriaOrientation:"horizontal",listboxRole:"listbox",renderAtSelectionLength:1};var Cv=Sv,Ev=function(e){var t,n=e.key,r=e.keyBuffer,o=e.keyCode,a=e.options,c=n||String.fromCharCode(o),s=r(c=/^[ -~]$/.test(c)?c.toLowerCase():null),i=0;return s.length>1&&new RegExp("^[".concat(gs()(c),"]+$")).test(s)&&(i=s.length),a.forEach((function(e,n){var r=String(e.label).toLowerCase();(void 0===t&&r.substr(0,s.length)===s||i>0&&r.substr(0,1)===c)&&(i-=1,t=n)})),t},Hv=function(e){var t=e.container,n=e.focusedIndex,r=e.itemTag,o=void 0===r?"li":r,a=e.scrollPadding,c=void 0===a?4:a,s=t.querySelector("".concat(o,":nth-child(").concat(n+1,")"));s&&(s.offsetHeight-t.scrollTop+s.offsetTop>=t.offsetHeight?t.scrollTop=s.offsetHeight+s.offsetTop-t.offsetHeight+c:s.offsetTop<=t.scrollTop&&(t.scrollTop=s.offsetTop-c))};var jv,Pv=function(){},kv=n(45);function Nv(e){return(Nv="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function Tv(){return(Tv=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}function Lv(e){return function(e){if(Array.isArray(e))return Vv(e)}(e)||function(e){if("undefined"!=typeof Symbol&&Symbol.iterator in Object(e))return Array.from(e)}(e)||function(e,t){if(!e)return;if("string"==typeof e)return Vv(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return Vv(e,t)}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Vv(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function Rv(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function Dv(e,t){return(Dv=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function Iv(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=Bv(e);if(t){var o=Bv(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return Av(this,n)}}function Av(e,t){return!t||"object"!==Nv(t)&&"function"!=typeof t?Fv(e):t}function Fv(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function Bv(e){return(Bv=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function qv(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var Kv="undefined"!=typeof document,Wv={assistiveText:c.a.shape({label:c.a.string,loadingMenuItems:c.a.string,optionSelectedInMenu:c.a.string,popoverLabel:c.a.string,removeSingleSelectedOption:c.a.string,removePill:c.a.string,selectedListboxLabel:c.a.string}),"aria-describedby":c.a.string,className:c.a.oneOfType([c.a.array,c.a.object,c.a.string]),classNameContainer:c.a.oneOfType([c.a.array,c.a.object,c.a.string]),classNameMenu:c.a.oneOfType([c.a.array,c.a.object,c.a.string]),classNameMenuSubHeader:c.a.oneOfType([c.a.array,c.a.object,c.a.string]),events:c.a.shape({onBlur:c.a.func,onChange:c.a.func,onClose:c.a.func,onFocus:c.a.func,onOpen:c.a.func,onRequestClose:c.a.func,onRequestOpen:c.a.func,onRequestRemoveSelectedOption:c.a.func,onSelect:c.a.func,onSubmit:c.a.func}),errorText:c.a.string,fieldLevelHelpTooltip:c.a.node,hasInputSpinner:c.a.bool,hasMenuSpinner:c.a.bool,hasStaticAlignment:c.a.bool,id:c.a.string,input:c.a.node,labels:c.a.shape({label:c.a.oneOfType([c.a.node,c.a.string]),multipleOptionsSelected:c.a.string,noOptionsFound:c.a.oneOfType([c.a.node,c.a.string]),placeholder:c.a.string,placeholderReadOnly:c.a.string,removePillTitle:c.a.string}),isOpen:c.a.bool,inheritWidthOf:c.a.oneOf(["target","menu","none"]),onRenderMenuItem:c.a.func,menuPosition:c.a.oneOf(["absolute","overflowBoundaryElement","relative"]),menuMaxWidth:c.a.string,multiple:c.a.bool,options:c.a.arrayOf(c.a.PropTypes.shape({id:c.a.string.isRequired,icon:c.a.node,label:c.a.string,subTitle:c.a.string,type:c.a.string,disabled:c.a.boolean,tooltipContent:c.a.node})),menuItemVisibleLength:c.a.oneOf([5,7,10]),predefinedOptionsOnly:c.a.bool,popover:c.a.node,required:c.a.bool,selection:c.a.arrayOf(c.a.PropTypes.shape({id:c.a.string.isRequired,icon:c.a.node,label:c.a.string,subTitle:c.a.string,type:c.a.string})).isRequired,selectedListboxRef:c.a.func,singleInputDisabled:c.a.bool,tooltipMenuItemDisabled:c.a.element,value:c.a.string,defaultValue:c.a.string,optionsAddItem:c.a.arrayOf(c.a.shape({id:c.a.string,icon:c.a.node,label:c.a.oneOfType([c.a.string,c.a.func])})),optionsSearchEntity:c.a.arrayOf(c.a.shape({id:c.a.string,icon:c.a.node,label:c.a.oneOfType([c.a.string,c.a.func])})),entityCombobox:c.a.node,variant:c.a.oneOf(["base","inline-listbox","popover","readonly"])},Uv={assistiveText:{loadingMenuItems:"Loading",optionSelectedInMenu:"Current Selection:",removeSingleSelectedOption:"Remove selected option",removePill:", Press delete or backspace to remove",selectedListboxLabel:"Selected Options:"},events:{},labels:{cancelButton:"Cancel",doneButton:"Done",noOptionsFound:"No matches found.",optionDisabledTooltipLabel:"This option is disabled.",placeholderReadOnly:"Select an Option",removePillTitle:"Remove"},inheritWidthOf:"target",menuPosition:"absolute",optionsSearchEntity:[],optionsAddItem:[],required:!1,selection:[],singleInputDisabled:!1,variant:"base"},Gv=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&Dv(e,t)}(c,e);var t,n,r,a=Iv(c);function c(e){var t;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,c),qv(Fv(t=a.call(this,e)),"getCustomPopoverProps",(function(e,n){var r=n.assistiveText,a=n.labels,c=o.a.createElement("div",null,o.a.createElement("div",{className:"slds-assistive-text",id:"".concat(t.getId(),"-label")},r.popoverLabel),e),s=o.a.createElement("div",null,o.a.createElement(or,{label:a.cancelButton,onClick:function(e){t.handleClose(e,{trigger:"cancel"})}}),o.a.createElement(or,{label:a.doneButton,variant:"brand",onClick:t.handleClose})),i={ariaLabelledby:"".concat(t.getId(),"-label"),align:"bottom",body:c,className:"slds-popover_full-width",footer:s,footerClassName:"slds-popover__footer_form",hasNoNubbin:!0,id:t.getId(),isOpen:t.state.isOpen,hasNoTriggerStyles:!0,onOpen:t.handleOpen,onClose:t.handleClose,onRequestClose:t.handleClose},l=lr()(i,t.props.popover?t.props.popover.props:{});return l.body=c,delete l.children,l})),qv(Fv(t),"getId",(function(){return t.props.id||t.generatedId})),qv(Fv(t),"getIsActiveOption",(function(){return t.state.activeOption&&-1!==t.state.activeOptionIndex})),qv(Fv(t),"getIsOpen",(function(){return!!("boolean"==typeof t.props.isOpen?t.props.isOpen:t.state.isOpen)})),qv(Fv(t),"getNewActiveOptionIndex",(function(e){var t=e.activeOptionIndex,n=e.offset,r=e.options,o=t+n,a=r.length>o&&o>=0&&"separator"===r[o].type?o+n:o;return r.length>o&&o>=0?a:t})),qv(Fv(t),"getOptions",(function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:t.props,n=e,r=[];return n.optionsSearchEntity.length>0&&r.push.apply(r,Lv(n.optionsSearchEntity)),n.options&&r.push.apply(r,Lv(n.options)),n.optionsAddItem.length>0&&r.push.apply(r,Lv(n.optionsAddItem)),r})),qv(Fv(t),"getTargetElement",(function(){return t.inputRef})),qv(Fv(t),"setInputRef",(function(e){t.inputRef=e,t.state.inputRendered||t.setState({inputRendered:!0})})),qv(Fv(t),"setSelectedListboxRef",(function(e){t.selectedListboxRef=e,t.props.selectedListboxRef&&t.props.selectedListboxRef(e)})),qv(Fv(t),"handleBlurPill",(function(){t.setState({listboxHasFocus:!1})})),qv(Fv(t),"handleClickOutside",(function(e){t.handleRequestClose(e,{})})),qv(Fv(t),"handleClose",(function(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=n.trigger,o=t.getIsOpen();o&&(jv===Fv(t)&&(jv=void 0),t.setState({activeOption:void 0,activeOptionIndex:-1,isOpen:!1}),"popover"===t.props.variant&&"cancel"===r&&t.props.popover.props.onClose&&t.props.popover.props.onClose(e,{trigger:r}),t.props.events.onClose&&t.props.events.onClose(e,{}))})),qv(Fv(t),"handleInputBlur",(function(e){setTimeout((function(){var n=!!Kv&&document.activeElement;n&&"DIV"===n.tagName&&n.id==="".concat(t.getId(),"-listbox")?t.inputRef&&t.inputRef.focus():t.props.popover||t.handleClose(e)}),200),t.props.events.onBlur&&t.props.events.onBlur(e)})),qv(Fv(t),"handleInputChange",(function(e){t.requestOpenMenu(),t.props.events&&t.props.events.onChange&&t.props.events.onChange(e,{value:e.target.value})})),qv(Fv(t),"handleInputFocus",(function(e){t.props.events.onFocus&&t.props.events.onFocus(e,{})})),qv(Fv(t),"handleInputSubmit",(function(e){t.state.activeOption&&t.state.activeOption.disabled||(!t.state.activeOption||"header"!==t.state.activeOption.type&&"footer"!==t.state.activeOption.type?t.getIsActiveOption()?t.handleSelect(e,{option:t.state.activeOption,selection:t.props.selection}):!t.props.predefinedOptionsOnly&&""!==e.target.value&&t.props.events.onSubmit&&t.props.events.onSubmit(e,{value:e.target.value}):t.state.activeOption.onClick(e))})),qv(Fv(t),"handleKeyDown",(function(e){var n,r=(qv(n={},Lt.DOWN,{callback:t.handleKeyDownDown}),qv(n,Lt.ENTER,{callback:t.handleInputSubmit}),qv(n,Lt.ESCAPE,{callback:t.handleClose}),qv(n,Lt.UP,{callback:t.handleKeyDownUp}),n);"readonly"===t.props.variant&&(t.props.selection.length>2?r[Lt.TAB]={callback:t.handleKeyDownTab}:r[Lt.TAB]=void 0,r.other={callback:t.handleKeyDownOther,stopPropagation:!1}),Zf(e,{callbacks:r})})),qv(Fv(t),"handleKeyDownDown",(function(e){e.shiftKey||t.openDialog(),"popover"!==t.props.variant&&t.handleNavigateListboxMenu(e,{direction:"next"})})),qv(Fv(t),"handleKeyDownTab",(function(){t.selectedListboxRef&&t.setState({listboxHasFocus:!0})})),qv(Fv(t),"handleKeyDownUp",(function(e){!e.shiftKey&&t.getIsOpen()&&t.handleNavigateListboxMenu(e,{direction:"previous"})})),qv(Fv(t),"handleKeyDownOther",(function(e){var n=Ev({key:e.key,keyBuffer:t.menuKeyBuffer,keyCode:e.keyCode,options:t.getOptions()});void 0!==n&&(t.getIsOpen()&&Hv({container:t.menuRef,focusedIndex:n}),t.setState({activeOption:t.getOptions()[n],activeOptionIndex:n}))})),qv(Fv(t),"handleNavigateListboxMenu",(function(e,n){var r=n.direction,o={next:1,previous:-1};t.setState((function(e){var n=t.getNewActiveOptionIndex({activeOptionIndex:e.activeOptionIndex,offset:o[r],options:t.getOptions()});return t.getIsOpen()&&Hv({container:t.menuRef,focusedIndex:n}),{activeOption:t.getOptions()[n],activeOptionIndex:n}}))})),qv(Fv(t),"handleNavigateSelectedListbox",(function(e,n){var r=n.direction,o={next:1,previous:-1};t.setState((function(e){var n,a=e.activeSelectedOptionIndex+1===t.props.selection.length&&"next"===r,c=0===e.activeSelectedOptionIndex&&"previous"===r;if(a)n={activeSelectedOption:t.props.selection[0],activeSelectedOptionIndex:0,listboxHasFocus:!0};else if(c)n={activeSelectedOption:t.props.selection[t.props.selection.length-1],activeSelectedOptionIndex:t.props.selection.length-1,listboxHasFocus:!0};else{var s=t.getNewActiveOptionIndex({activeOptionIndex:e.activeSelectedOptionIndex,offset:o[r],options:t.props.selection});n={activeSelectedOption:t.props.selection[s],activeSelectedOptionIndex:s,listboxHasFocus:!0}}return n}))})),qv(Fv(t),"handleOpen",(function(e,n){if(t.getIsOpen()){if(jv=Fv(t),t.setState({isOpen:!0}),t.props.events.onOpen&&t.props.events.onOpen(e,n),"readonly"===t.props.variant&&null!==t.menuRef){var r=nd()(t.getOptions(),(function(e){return wt()(e,t.props.selection[0])}));t.setState({activeOptionIndex:r}),Hv({container:t.menuRef,focusedIndex:r})}}else jv&&Tr()(jv.handleClose)&&jv.handleClose()})),qv(Fv(t),"handlePillFocus",(function(e,n){var r=n.option,o=n.index;t.state.listboxHasFocus||t.setState({activeSelectedOption:r,activeSelectedOptionIndex:o,listboxHasFocus:!0})})),qv(Fv(t),"handleRemoveSelectedOption",(function(e,n){var r=n.option,o=n.index;e.preventDefault();var a=1===t.props.selection.length,c=2===t.props.selection.length&&"readonly"===t.props.variant&&t.props.multiple,s=o+1===t.props.selection.length;(a||c)&&t.inputRef?t.inputRef.focus():s?t.setState({activeSelectedOption:t.props.selection[o-1],activeSelectedOptionIndex:o-1,listboxHasFocus:!0}):t.setState({activeSelectedOption:t.props.selection[o+1],activeSelectedOptionIndex:o,listboxHasFocus:!0}),t.props.events.onRequestRemoveSelectedOption&&t.props.events.onRequestRemoveSelectedOption(e,{selection:Rf()(t.props.selection,r)})})),qv(Fv(t),"handleRequestClose",(function(e,n){t.props.events.onRequestClose&&t.props.events.onRequestClose(e,n),t.getIsOpen()&&t.handleClose(e,{trigger:"cancel"})})),qv(Fv(t),"handleRequestFocusSelectedListbox",(function(e,n){var r=n.ref;r&&(t.activeSelectedOptionRef=r,t.activeSelectedOptionRef.focus())})),qv(Fv(t),"handleSelect",(function(e,n){var r,o=n.selection,a=n.option,c=t.isSelected({selection:o,option:a}),s=!t.props.multiple&&!c,i=t.props.multiple&&!c;r=s?[a]:i?[].concat(Lv(t.props.selection),[a]):Rf()(t.props.selection,a),t.props.events.onSelect&&t.props.events.onSelect(e,{selection:r}),t.handleClose()})),qv(Fv(t),"isSelected",(function(e){var t=e.selection,n=e.option;return!!Lf()(t,n)})),qv(Fv(t),"openDialog",(function(){t.props.events.onRequestOpen?t.props.events.onRequestOpen():t.setState({isOpen:!0})})),qv(Fv(t),"requestOpenMenu",(function(){(!t.props.multiple&&0===t.props.selection.length&&"inline-listbox"===t.props.variant||t.props.multiple||"readonly"===t.props.variant)&&t.openDialog()})),qv(Fv(t),"renderBase",(function(e){var n=e.assistiveText,r=e.labels,a=e.props,c=e.userDefinedProps;return o.a.createElement("div",{className:"slds-form-element__control"},o.a.createElement("div",{className:"slds-combobox_container"},o.a.createElement("div",{className:i()("slds-combobox","slds-dropdown-trigger","slds-dropdown-trigger_click","ignore-react-onclickoutside",{"slds-is-open":t.getIsOpen()},{"slds-has-error":a.errorText},a.className),role:"combobox"},o.a.createElement($l,Tv({"aria-autocomplete":"list","aria-controls":t.getIsOpen()?"".concat(t.getId(),"-listbox"):void 0,"aria-activedescendant":t.state.activeOption?"".concat(t.getId(),"-listbox-option-").concat(t.state.activeOption.id):null,"aria-describedby":t.getErrorId(),"aria-expanded":t.getIsOpen(),"aria-haspopup":"listbox",role:"combobox",autoComplete:"off",className:"slds-combobox__input",containerProps:{className:"slds-combobox__form-element",role:"none"},hasSpinner:t.props.hasInputSpinner,iconRight:o.a.createElement(Nl,{category:"utility",name:"search",title:r.inputIconTitle}),id:t.getId(),onFocus:t.handleInputFocus,onBlur:t.handleInputBlur,onKeyDown:t.handleKeyDown,inputRef:t.setInputRef,onClick:function(){t.openDialog()},onChange:t.handleInputChange,placeholder:r.placeholder,defaultValue:a.defaultValue,readOnly:!(!a.predefinedOptionsOnly||!t.state.activeOption),required:a.required,value:a.predefinedOptionsOnly&&t.state.activeOption&&t.state.activeOption.label||a.value},c.input)),t.getDialog({menuRenderer:t.renderMenu({assistiveText:n,labels:r})}))),o.a.createElement(Cv,{activeOption:t.state.activeSelectedOption,activeOptionIndex:t.state.activeSelectedOptionIndex,assistiveText:n,events:{onBlurPill:t.handleBlurPill,onPillFocus:t.handlePillFocus,onRequestFocus:t.handleRequestFocusSelectedListbox,onRequestFocusOnNextPill:t.handleNavigateSelectedListbox,onRequestFocusOnPreviousPill:t.handleNavigateSelectedListbox,onRequestRemove:t.handleRemoveSelectedOption},id:"".concat(t.getId(),"-selected-listbox"),labels:r,selectedListboxRef:t.setSelectedListboxRef,selection:a.selection,listboxHasFocus:t.state.listboxHasFocus}),a.errorText&&o.a.createElement("div",{className:"slds-has-error"},o.a.createElement("div",{id:t.getErrorId(),className:"slds-form-element__help slds-has-error"},a.errorText)))})),qv(Fv(t),"renderInlineMultiple",(function(e){var n=e.assistiveText,r=e.labels,a=e.props,c=e.userDefinedProps;return o.a.createElement("div",{className:"slds-form-element__control"},o.a.createElement("div",{className:i()("slds-combobox_container",{"slds-has-inline-listbox":a.selection.length})},a.selection.length?o.a.createElement(Cv,{activeOption:t.state.activeSelectedOption,activeOptionIndex:t.state.activeSelectedOptionIndex,assistiveText:n,containerRole:"listbox",containerAriaOrientation:"horizontal",listboxRole:"group",listboxAriaOrientation:null,events:{onBlurPill:t.handleBlurPill,onPillFocus:t.handlePillFocus,onRequestFocus:t.handleRequestFocusSelectedListbox,onRequestFocusOnNextPill:t.handleNavigateSelectedListbox,onRequestFocusOnPreviousPill:t.handleNavigateSelectedListbox,onRequestRemove:t.handleRemoveSelectedOption},id:"".concat(t.getId(),"-selected-listbox"),labels:r,selectedListboxRef:t.setSelectedListboxRef,selection:a.selection,listboxHasFocus:t.state.listboxHasFocus}):null,o.a.createElement("div",{className:i()("slds-combobox","slds-dropdown-trigger","slds-dropdown-trigger_click","ignore-react-onclickoutside",{"slds-is-open":t.getIsOpen()},{"slds-has-error":a.errorText},a.className),role:"combobox"},o.a.createElement($l,Tv({"aria-autocomplete":"list","aria-controls":t.getIsOpen()?"".concat(t.getId(),"-listbox"):void 0,"aria-activedescendant":t.state.activeOption?"".concat(t.getId(),"-listbox-option-").concat(t.state.activeOption.id):null,"aria-describedby":t.getErrorId(),"aria-expanded":t.getIsOpen(),"aria-haspopup":"listbox",role:"combobox",defaultValue:a.defaultValue,autoComplete:"off",className:"slds-combobox__input",containerProps:{className:"slds-combobox__form-element",role:"none"},hasSpinner:t.props.hasInputSpinner,iconRight:o.a.createElement(Nl,{category:"utility",name:"search",title:r.inputIconTitle}),id:t.getId(),onFocus:t.handleInputFocus,onBlur:t.handleInputBlur,onKeyDown:t.handleKeyDown,inputRef:t.setInputRef,onClick:function(){t.openDialog()},onChange:t.handleInputChange,placeholder:r.placeholder,readOnly:!(!a.predefinedOptionsOnly||!t.state.activeOption),required:a.required,value:a.predefinedOptionsOnly&&t.state.activeOption&&t.state.activeOption.label||a.value},c.input)),t.getDialog({menuRenderer:t.renderMenu({assistiveText:n,labels:r})}),a.errorText&&o.a.createElement("div",{id:t.getErrorId(),className:"slds-form-element__help"},a.errorText))))})),qv(Fv(t),"renderInlineSingle",(function(e){var n=e.assistiveText,r=e.labels,a=e.props,c=e.userDefinedProps,s=a.selection[0]&&a.selection[0].icon?o.a.cloneElement(a.selection[0].icon,{containerClassName:"slds-combobox__input-entity-icon"}):null,l=a.selection[0]&&a.selection[0].label?a.selection[0].label:a.value;return o.a.createElement("div",{className:"slds-form-element__control"},o.a.createElement("div",{className:i()("slds-combobox_container",{"slds-has-inline-listbox":a.selection.length})},o.a.createElement("div",{className:i()("slds-combobox","slds-dropdown-trigger","slds-dropdown-trigger_click","ignore-react-onclickoutside",{"slds-is-open":t.getIsOpen()},{"slds-has-error":a.errorText},a.className),role:"combobox"},o.a.createElement($l,Tv({defaultValue:a.defaultValue,"aria-autocomplete":"list","aria-controls":t.getIsOpen()?"".concat(t.getId(),"-listbox"):void 0,"aria-activedescendant":t.state.activeOption?"".concat(t.getId(),"-listbox-option-").concat(t.state.activeOption.id):null,"aria-describedby":t.getErrorId(),"aria-expanded":t.getIsOpen(),"aria-haspopup":"listbox",role:"combobox",autoComplete:"off",className:"slds-combobox__input",containerProps:{className:"slds-combobox__form-element",role:"none"},disabled:t.props.singleInputDisabled,hasSpinner:t.props.hasInputSpinner,iconRight:a.selection.length?o.a.createElement(Nl,{assistiveText:{icon:n.removeSingleSelectedOption},buttonRef:function(e){t.buttonRef=e},category:"utility",iconPosition:"right",name:"close",onClick:function(e){t.handleRemoveSelectedOption(e,{option:a.selection[0]})}}):o.a.createElement(Nl,{category:"utility",name:"search"}),iconLeft:s,id:t.getId(),onFocus:t.handleInputFocus,onBlur:t.handleInputBlur,onKeyDown:t.handleKeyDown,inputRef:t.setInputRef,onClick:function(){t.requestOpenMenu()},onChange:function(e){a.selection.length||t.handleInputChange(e)},placeholder:r.placeholder,readOnly:!(!a.predefinedOptionsOnly||!t.state.activeOption)||!!a.selection.length,required:a.required,value:a.predefinedOptionsOnly?t.state.activeOption&&t.state.activeOption.label||a.value:l},c.input)),t.getDialog({menuRenderer:t.renderMenu({assistiveText:n,labels:r})}),a.errorText&&o.a.createElement("div",{id:t.getErrorId(),className:"slds-form-element__help"},a.errorText))))})),qv(Fv(t),"renderMenu",(function(e){var n=e.assistiveText,r=e.labels,a="readonly"===t.props.variant?5:null;return o.a.createElement(Qf,{assistiveText:n,activeOption:t.state.activeOption,activeOptionIndex:t.state.activeOptionIndex,classNameMenu:t.props.classNameMenu,classNameMenuSubHeader:t.props.classNameMenuSubHeader,clearActiveOption:t.clearActiveOption,inheritWidthOf:t.props.inheritWidthOf,inputId:t.getId(),inputValue:t.props.value,isSelected:t.isSelected,itemVisibleLength:t.props.menuItemVisibleLength||a,labels:r,hasMenuSpinner:t.props.hasMenuSpinner,menuItem:t.props.menuItem,menuPosition:t.props.menuPosition,menuRef:function(e){t.menuRef=e},maxWidth:t.props.menuMaxWidth,options:t.props.options,optionsAddItem:t.props.optionsAddItem,optionsSearchEntity:t.props.optionsSearchEntity,onSelect:t.handleSelect,onRenderMenuItem:t.props.onRenderMenuItem?t.props.onRenderMenuItem:t.props.menuItem,selection:t.props.selection,tooltipMenuItemDisabled:t.props.tooltipMenuItemDisabled,variant:{base:"icon-title-subtitle","inline-listbox":"icon-title-subtitle",readonly:"checkbox"}[t.props.variant]})})),qv(Fv(t),"renderPopover",(function(e){var n=e.assistiveText,r=e.labels,a=e.props,c=t.getCustomPopoverProps(t.props.popover.props.body,{assistiveText:n,labels:r});return o.a.createElement("div",{className:"slds-form-element__control"},o.a.createElement("div",{className:"slds-combobox_container"},o.a.createElement("div",{className:i()("slds-combobox","slds-dropdown-trigger","slds-dropdown-trigger_click","ignore-react-onclickoutside",{"slds-is-open":t.getIsOpen()},{"slds-has-error":a.errorText},a.className),role:"combobox"},o.a.createElement(wf,c,o.a.createElement($l,{"aria-autocomplete":"none","aria-controls":t.getIsOpen()?"".concat(t.getId(),"-popover"):void 0,"aria-describedby":t.getErrorId(),"aria-expanded":t.getIsOpen(),"aria-haspopup":"dialog",role:"combobox",autoComplete:"off",className:"slds-combobox__input",containerProps:{className:"slds-combobox__form-element",role:"none"},iconRight:o.a.createElement(Nl,{category:"utility",name:"down",variant:"combobox"}),id:t.getId(),onFocus:t.handleInputFocus,onBlur:t.handleInputBlur,onKeyDown:t.handleKeyDown,inputRef:t.setInputRef,onClick:function(){t.openDialog()},onChange:t.handleInputChange,placeholder:r.placeholder,readOnly:!0,required:a.required,value:a.value})))),a.errorText&&o.a.createElement("div",{className:"slds-has-error"},o.a.createElement("div",{id:t.getErrorId(),className:"slds-form-element__help slds-has-error"},a.errorText)))})),qv(Fv(t),"renderReadOnlyMultiple",(function(e){var n=e.assistiveText,r=e.labels,a=e.props,c=e.userDefinedProps,s=a.selection.length>1?r.multipleOptionsSelected||"".concat(a.selection.length," options selected"):a.selection[0]&&a.selection[0].label||"";return o.a.createElement("div",{className:"slds-form-element__control"},o.a.createElement("div",{className:"slds-combobox_container"},o.a.createElement("div",{className:i()("slds-combobox","slds-dropdown-trigger","slds-dropdown-trigger_click","ignore-react-onclickoutside",{"slds-is-open":t.getIsOpen()},{"slds-has-error":a.errorText},a.className),role:"combobox"},o.a.createElement($l,Tv({defaultValue:a.defaultValue,"aria-autocomplete":"list","aria-controls":t.getIsOpen()?"".concat(t.getId(),"-listbox"):void 0,"aria-activedescendant":t.state.activeOption?"".concat(t.getId(),"-listbox-option-").concat(t.state.activeOption.id):null,"aria-describedby":t.getErrorId(),"aria-expanded":t.getIsOpen(),"aria-haspopup":"listbox",role:"combobox",autoComplete:"off",className:"slds-combobox__input",containerProps:{className:"slds-combobox__form-element",role:"none"},iconRight:o.a.createElement(Nl,{category:"utility",name:"down",variant:"combobox"}),id:t.getId(),onFocus:t.handleInputFocus,onBlur:t.handleInputBlur,onKeyDown:t.handleKeyDown,inputRef:t.setInputRef,onClick:function(){t.requestOpenMenu()},onChange:function(e){a.selection.length||t.handleInputChange(e)},placeholder:r.placeholderReadOnly,readOnly:!0,required:a.required,value:s},c.input)),t.getDialog({menuRenderer:t.renderMenu({assistiveText:n,labels:r})}))),o.a.createElement(Cv,{activeOption:t.state.activeSelectedOption,activeOptionIndex:t.state.activeSelectedOptionIndex,assistiveText:n,events:{onBlurPill:t.handleBlurPill,onPillFocus:t.handlePillFocus,onRequestFocus:t.handleRequestFocusSelectedListbox,onRequestFocusOnNextPill:t.handleNavigateSelectedListbox,onRequestFocusOnPreviousPill:t.handleNavigateSelectedListbox,onRequestRemove:t.handleRemoveSelectedOption},id:"".concat(t.getId(),"-selected-listbox"),labels:r,selectedListboxRef:t.setSelectedListboxRef,selection:a.selection,listboxHasFocus:t.state.listboxHasFocus,variant:t.props.variant,renderAtSelectionLength:2}),a.errorText&&o.a.createElement("div",{className:"slds-has-error"},o.a.createElement("div",{id:t.getErrorId(),className:"slds-form-element__help slds-has-error"},a.errorText)))})),qv(Fv(t),"renderReadOnlySingle",(function(e){var n=e.assistiveText,r=e.labels,a=e.props,c=e.userDefinedProps,s=a.selection[0]&&a.selection[0].label||"";return o.a.createElement("div",{className:"slds-form-element__control"},o.a.createElement("div",{className:"slds-combobox_container"},o.a.createElement("div",{className:i()("slds-combobox","slds-dropdown-trigger","slds-dropdown-trigger_click","ignore-react-onclickoutside",{"slds-is-open":t.getIsOpen()},{"slds-has-error":a.errorText},a.className),role:"combobox"},o.a.createElement($l,Tv({defaultValue:a.defaultValue,"aria-autocomplete":"list","aria-controls":t.getIsOpen()?"".concat(t.getId(),"-listbox"):void 0,"aria-activedescendant":t.state.activeOption?"".concat(t.getId(),"-listbox-option-").concat(t.state.activeOption.id):null,"aria-describedby":t.getErrorId(),"aria-expanded":t.getIsOpen(),"aria-haspopup":"listbox",role:"combobox",autoComplete:"off",className:"slds-combobox__input",containerProps:{className:"slds-combobox__form-element",role:"none"},disabled:t.props.singleInputDisabled,iconRight:o.a.createElement(Nl,{category:"utility",name:"down",variant:"combobox"}),id:t.getId(),onFocus:t.handleInputFocus,onBlur:t.handleInputBlur,onKeyDown:t.handleKeyDown,inputRef:t.setInputRef,onClick:function(){t.requestOpenMenu()},onChange:function(e){a.selection.length||t.handleInputChange(e)},placeholder:r.placeholderReadOnly,readOnly:!0,required:a.required,value:t.state.activeOption&&t.state.activeOption.label||s},c.input)),t.getDialog({menuRenderer:t.renderMenu({assistiveText:n,labels:r})}),a.errorText&&o.a.createElement("div",{id:t.getErrorId(),className:"slds-form-element__help"},a.errorText))))})),t.state={activeOption:void 0,activeOptionIndex:-1,activeSelectedOption:t.props.selection&&t.props.selection[0]||void 0,activeSelectedOptionIndex:0,listboxHasFocus:!1,isOpen:"boolean"==typeof e.isOpen&&e.isOpen},t.menuKeyBuffer=new vs,t.menuRef=void 0,t.selectedListboxRef=null,Pv(C,e,kv),t.generatedId=p.a.generate(),t.generatedErrorId=p.a.generate(),t}return t=c,(n=[{key:"componentDidUpdate",value:function(e){var t=this;if(wt()(this.getOptions(),this.getOptions(e)))this.props.isOpen!==e.isOpen&&this.setState({activeOption:void 0,activeOptionIndex:-1,isOpen:e.isOpen});else{var n=nd()(this.getOptions(e),(function(e){return wt()(e,t.state.activeOption)}));-1!==n?this.setState({activeOptionIndex:n}):this.setState({activeOption:void 0,activeOptionIndex:-1})}this.props.selection&&0===this.props.selection.length&&e.selection.length>0&&this.setState({activeSelectedOption:e.selection[0],activeSelectedOptionIndex:0})}},{key:"componentWillUnmount",value:function(){jv===this&&(jv=void 0)}},{key:"getDialog",value:function(e){var t=e.menuRenderer,n=this.props.isInline?"relative":this.props.menuPosition;return!this.props.disabled&&this.getIsOpen()?o.a.createElement(vn,{align:"bottom left",context:this.context,hasStaticAlignment:this.props.hasStaticAlignment,inheritWidthOf:this.props.inheritWidthOf,onClose:this.handleClose,onMouseDown:function(e){e.preventDefault()},onOpen:this.handleOpen,onRequestTargetElement:this.getTargetElement,position:n,containerProps:{id:"".concat(this.getId(),"-listbox"),role:"listbox"}},t):null}},{key:"getErrorId",value:function(){return this.props["aria-describedby"]||this.props.errorText&&this.generatedErrorId}},{key:"render",value:function(){var e=this.props,t=lr()({},Uv.assistiveText,e.assistiveText),n=lr()({},Uv.labels,this.props.labels),r=n.label||t&&t.label,a={};e.input&&(a.input=e.input.props);var c={assistiveText:t,labels:n,props:this.props,userDefinedProps:a},s=this.props.multiple?"multiple":"single",l={base:{multiple:this.renderBase,single:this.renderBase},"inline-listbox":{multiple:this.renderInlineMultiple,single:this.renderInlineSingle},popover:{multiple:this.renderPopover,single:this.renderPopover},readonly:{multiple:this.renderReadOnlyMultiple,single:this.renderReadOnlySingle}},p=l[this.props.variant][s],u=o.a.createElement("div",{className:i()("slds-form-element",e.classNameContainer)},e.entityCombobox?null:o.a.createElement($f,{assistiveText:this.props.assistiveText,htmlFor:this.getId(),label:n.label,required:e.required}),this.props.fieldLevelHelpTooltip&&r?o.a.createElement(up,{fieldLevelHelpTooltip:this.props.fieldLevelHelpTooltip}):null,p?l[this.props.variant][s](c):l.base.multiple(c));return e.entityCombobox?o.a.createElement("div",{className:"slds-form-element"},o.a.createElement($f,{assistiveText:e.assistiveText,htmlFor:this.getId(),label:n.label,required:e.required}),o.a.createElement("div",{className:"slds-form-element__control"},o.a.createElement("div",{className:"slds-combobox-group"},o.a.createElement("div",{className:"slds-combobox_object-switcher slds-combobox-addon_start"},e.entityCombobox),o.a.createElement("div",{className:"slds-combobox_container slds-combobox-addon_end"},u)))):u}}])&&Rv(t.prototype,n),r&&Rv(t,r),c}(o.a.Component);Gv.contextTypes={iconPath:c.a.string},Gv.displayName=C,Gv.propTypes=Wv,Gv.defaultProps=Uv;var Yv=Gv,Qv=st(Cc(Yv,{excludeScrollbar:!0})),Jv=function(e){var t=e.inputValue,n=e.limit,r=void 0===n?10:n,o=e.options,a=e.selection,c=new RegExp(gs()(t),"ig");return o.filter((function(e){var n=!!e.label&&e.label.match(c),r=!!e.subTitle&&e.subTitle.match(c),o="separator"===e.type,s=!a.some((function(t){return t.id===e.id}));return(!t||o||n||r)&&s})).splice(0,r)};var Xv=function(){},$v=n(46),Zv=n(47),em=n(14),tm=n.n(em),nm=function(e){var t=o.a.isValidElement(e.children)?e.children.props.children:e.children,n=o.a.createElement("div",{className:i()({"slds-truncate":e.fixedLayout}),title:e.title||t},e.children),r=o.a.createElement("td",{className:e.className,"data-label":e.label,role:e.fixedLayout?"gridcell":null,style:e.width?{width:e.width}:null,headers:e.headerId},n);return e.primaryColumn&&(r=o.a.createElement("th",{className:e.className,"data-label":e.label,role:e.fixedLayout?"gridcell":null,style:e.width?{width:e.width}:null},n)),r};nm.displayName=H,nm.propTypes={children:c.a.oneOfType([c.a.node,c.a.string]),className:c.a.oneOfType([c.a.array,c.a.object,c.a.string]),fixedLayout:c.a.bool,item:c.a.object,primaryColumn:c.a.bool,property:c.a.string,title:c.a.string,width:c.a.string};var rm=nm;function om(e){return(om="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function am(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function cm(e,t){return(cm=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function sm(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=lm(e);if(t){var o=lm(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return im(this,n)}}function im(e,t){return!t||"object"!==om(t)&&"function"!=typeof t?function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e):t}function lm(e){return(lm=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}var pm=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&cm(e,t)}(n,e);var t=sm(n);function n(){return am(this,n),t.apply(this,arguments)}return n}(o.a.Component);pm.displayName=j,pm.propTypes={children:c.a.element,isDefaultSortDescending:c.a.bool,isSorted:c.a.bool,label:c.a.oneOfType([c.a.string,c.a.node]),primaryColumn:c.a.bool,property:c.a.string,sortable:c.a.bool,sortDirection:c.a.oneOf(["desc","asc"]),title:c.a.string,truncate:c.a.bool,width:c.a.string};var um=pm,hm=function(e){return o.a.createElement("div",{className:"slds-cell-fixed",style:{display:"flex",flexDirection:"row",flexWrap:"nowrap"}},e.children)};var dm=function(){};function fm(e){return(fm="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function vm(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function mm(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function gm(e,t){return(gm=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function ym(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=zm(e);if(t){var o=zm(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return bm(this,n)}}function bm(e,t){return!t||"object"!==fm(t)&&"function"!=typeof t?wm(e):t}function wm(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function zm(e){return(zm=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function xm(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var _m=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&gm(e,t)}(c,e);var t,n,r,a=ym(c);function c(){var e;vm(this,c);for(var t=arguments.length,n=new Array(t),r=0;r<t;r++)n[r]=arguments[r];return xm(wm(e=a.call.apply(a,[this].concat(n))),"state",{sortDirection:null}),xm(wm(e),"handleSort",(function(t){var n=function(e,t){switch(e){case"asc":return"desc";case"desc":return"asc";case null:return t?"desc":"asc";default:return"asc"}}(e.props.sortDirection||e.state.sortDirection,e.props.isDefaultSortDescending),r={property:e.props.property,sortDirection:n};e.setState({sortDirection:n}),Tr()(e.props.onSort)&&e.props.onSort(r,t)})),e}return t=c,(n=[{key:"componentDidMount",value:function(){dm(j,this.props)}},{key:"componentDidUpdate",value:function(e){!0===e.isSorted&&!1===this.props.isSorted&&this.setState({sortDirection:null})}},{key:"render",value:function(){var e,t=this,n=this.props,r=n.fixedHeader,a=n.isSorted,c=n.label,s=n.sortable,l=n.width,p=fm(c),u=this.props.sortDirection||this.state.sortDirection||this.props.isDefaultSortDescending&&"desc",h=a?"desc"===u?"descending":"ascending":"none",d={sortable:o.a.createElement("a",{href:"javascript:void(0)",className:"slds-th__action slds-text-link_reset",onClick:this.handleSort,role:"button",tabIndex:"0"},o.a.createElement("span",{className:"slds-assistive-text"},this.props.assistiveTextForColumnSort||this.props.assistiveText.columnSort," "),o.a.createElement("span",{className:"slds-truncate",title:"string"===p?c:void 0},c),o.a.createElement(Sn,{className:"slds-is-sortable__icon",category:"utility",name:"desc"===u?"arrowdown":"arrowup",size:"x-small"}),u?o.a.createElement("span",{className:"slds-assistive-text","aria-atomic":"true"},"asc"===u?this.props.assistiveTextForColumnSortedAscending||this.props.assistiveText.columnSortedAscending:this.props.assistiveTextForColumnSortedDescending||this.props.assistiveText.columnSortedDescending):null),notSortable:o.a.createElement("span",{className:"slds-p-horizontal_x-small",style:{display:"flex"}},o.a.createElement("span",{className:"slds-truncate",title:"string"===p?c:void 0},c))},f=this.props.fixedLayout?d[s?"sortable":"notSortable"]:o.a.createElement("div",{className:"slds-truncate",title:"string"===p?c:void 0},c);return o.a.createElement("th",{"aria-label":"string"===p?c:void 0,"aria-sort":h,className:i()((e={"slds-is-sortable":s,"slds-is-sorted":a},xm(e,"slds-is-sorted_".concat(u),u),xm(e,"slds-is-sorted_asc",a&&!u),e)),ref:function(e){t.props.cellRef&&t.props.cellRef(e)},scope:"col",style:r||l?{height:r?0:null,lineHeight:r?0:null,width:l||null}:null},r?o.a.cloneElement(f,{style:{display:"flex",height:0,overflow:"hidden",paddingBottom:0,paddingTop:0,visibility:"hidden"}}):f,r?o.a.createElement(hm,null,o.a.cloneElement(f,{style:{alignItems:"center",display:"flex",flex:"1 1 auto",lineHeight:1.25,width:"100%"},tabIndex:s?0:null})):null)}}])&&mm(t.prototype,n),r&&mm(t,r),c}(o.a.Component);xm(_m,"displayName","SLDSDataTableHeaderCell"),xm(_m,"propTypes",{assistiveText:c.a.shape({actionsHeader:c.a.string,columnSort:c.a.string,columnSortedAscending:c.a.string,columnSortedDescending:c.a.string,selectAllRows:c.a.string,selectRow:c.a.string}),cellRef:c.a.func,fixedHeader:c.a.bool,id:c.a.string.isRequired,isDefaultSortDescending:c.a.bool,isSorted:c.a.bool,label:c.a.oneOfType([c.a.string,c.a.node]),onSort:c.a.func,property:c.a.string,sortable:c.a.bool,sortDirection:c.a.oneOf(["desc","asc"]),width:c.a.string});var Om=_m;function Mm(e){return(Mm="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function Sm(){return(Sm=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}function Cm(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function Em(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function Hm(e,t){return(Hm=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function jm(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=Nm(e);if(t){var o=Nm(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return Pm(this,n)}}function Pm(e,t){return!t||"object"!==Mm(t)&&"function"!=typeof t?km(e):t}function km(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function Nm(e){return(Nm=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function Tm(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var Lm=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&Hm(e,t)}(c,e);var t,n,r,a=jm(c);function c(){var e;Cm(this,c);for(var t=arguments.length,n=new Array(t),r=0;r<t;r++)n[r]=arguments[r];return Tm(km(e=a.call.apply(a,[this].concat(n))),"getActionsHeader",(function(){var t=e.props.fixedHeader,n=function(t){return o.a.createElement("div",{className:"slds-th__action",style:t},o.a.createElement("span",{className:"slds-assistive-text"},e.props.assistiveText.actionsHeader))},r=null;return e.props.showRowActions&&(r=o.a.createElement("th",{ref:function(t){e.props.headerRefs&&e.props.headerRefs(t,"action")},scope:"col",style:{height:t?0:null,lineHeight:t?0:null,width:"3.25rem"}},n(t?{height:0,overflow:"hidden",paddingBottom:0,paddingTop:0,visibility:"hidden"}:null),t?o.a.createElement(hm,null,n({lineHeight:1,width:"100%"})):null)),r})),Tm(km(e),"getSelectHeader",(function(){var t=e.props,n=t.canSelectRows,r=t.fixedHeader,a=function(t,r,a){var c=null;return"radio"===n?c=o.a.createElement("div",{className:"slds-truncate slds-assistive-text",id:"".concat(e.props.id,"-column-group-header-row-select"),title:e.props.assistiveText.selectRowGroup},e.props.assistiveText.selectRowGroup):!0!==n&&"checkbox"!==n||(c=o.a.createElement("div",{className:"slds-th__action slds-th__action_form","aria-hidden":a&&!0,style:r},a?null:o.a.createElement("span",{id:"".concat(e.props.id,"-column-group-header-row-select"),className:"slds-assistive-text"},e.props.assistiveText.selectAllRows),o.a.createElement(Eu,{assistiveText:{label:e.props.assistiveText.selectAllRows},checked:e.props.allSelected,indeterminate:e.props.indeterminateSelected,id:"".concat(e.props.id,"-").concat(t),name:a?void 0:"SelectAll",onChange:e.props.onToggleAll}))),c},c=null;return n&&(c=o.a.createElement("th",{className:"slds-text-align_right",ref:function(t){e.props.headerRefs&&e.props.headerRefs(t,"select")},scope:"col",style:{height:r?0:null,lineHeight:r?0:null,width:"3.25rem"}},a("SelectAll-fixed-header",r?{display:"flex",height:0,overflow:"hidden",paddingBottom:0,paddingTop:0,visibility:"hidden"}:null,r&&"ariaHidden"),r?o.a.createElement(hm,null,a("SelectAll",{display:"flex",justifyContent:"flex-end",lineHeight:1,width:"100%"})):null)),c})),e}return t=c,(n=[{key:"render",value:function(){var e=this,t=this.getActionsHeader(),n=this.getSelectHeader();return o.a.createElement("thead",null,o.a.createElement("tr",{className:"slds-line-height_reset"},n,this.props.columns.map((function(t,n){return o.a.createElement(Om,Sm({assistiveText:e.props.assistiveText,cellRef:function(t){e.props.headerRefs&&e.props.headerRefs(t,n)},fixedHeader:e.props.fixedHeader,id:"".concat(e.props.id,"-").concat(t.props.property),key:"".concat(e.props.id,"-").concat(t.props.property),onSort:e.props.onSort},t.props))})),t))}}])&&Em(t.prototype,n),r&&Em(t,r),c}(o.a.Component);Tm(Lm,"displayName",P),Tm(Lm,"propTypes",{assistiveText:c.a.shape({actionsHeader:c.a.string,columnSort:c.a.string,columnSortedAscending:c.a.string,columnSortedDescending:c.a.string,selectAllRows:c.a.string,selectRow:c.a.string}),allSelected:c.a.bool,headerRefs:c.a.func,indeterminateSelected:c.a.bool,canSelectRows:c.a.oneOfType([c.a.bool,c.a.oneOf(["checkbox","radio"])]),columns:c.a.arrayOf(c.a.shape({Cell:c.a.func,props:c.a.object})),fixedHeader:c.a.bool,id:c.a.string,onToggleAll:c.a.func,onSort:c.a.func,showRowActions:c.a.bool});var Vm=Lm;function Rm(e){return(Rm="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function Dm(){return(Dm=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}function Im(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function Am(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function Fm(e,t){return(Fm=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function Bm(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=Wm(e);if(t){var o=Wm(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return qm(this,n)}}function qm(e,t){return!t||"object"!==Rm(t)&&"function"!=typeof t?Km(e):t}function Km(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function Wm(e){return(Wm=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function Um(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var Gm=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&Fm(e,t)}(c,e);var t,n,r,a=Bm(c);function c(){var e;Im(this,c);for(var t=arguments.length,n=new Array(t),r=0;r<t;r++)n[r]=arguments[r];return Um(Km(e=a.call.apply(a,[this].concat(n))),"isSelected",(function(){return!!Lf()(e.props.selection,e.props.item)})),Um(Km(e),"handleToggle",(function(t,n){var r=n.checked;return e.props.onToggle(e.props.item,r,t)})),e}return t=c,(n=[{key:"render",value:function(){var e=this,t={},n=this.isSelected();return this.props.canSelectRows&&(t["aria-selected"]=n?"true":"false"),o.a.createElement("tr",Dm({},t,{className:i()(this.props.className,{"slds-hint-parent":this.props.rowActions,"slds-is-selected":this.props.canSelectRows&&n})}),this.props.canSelectRows?o.a.createElement("td",{role:this.props.fixedLayout?"gridcell":null,className:"slds-text-align_right","data-label":this.props.stacked?"Select Row":void 0,style:{width:"3.25rem"}},"radio"===this.props.canSelectRows?o.a.createElement(Sh,{assistiveText:{label:"".concat(this.props.assistiveText.selectRow," ").concat(Number(this.props.index)+1)},"aria-labelledby":"".concat(this.props.id,"-SelectRow-label ").concat(this.props.tableId,"-SLDSDataTableHead-column-group-header-row-select"),checked:n,className:"slds-m-right_x-small",id:"".concat(this.props.id,"-SelectRow"),labelId:"".concat(this.props.id,"-SelectRow-label"),name:"".concat(this.props.tableId,"-SelectRow"),onChange:this.handleToggle}):o.a.createElement(Eu,{assistiveText:{label:"".concat(this.props.assistiveText.selectRow," ").concat(Number(this.props.index)+1)},"aria-labelledby":"".concat(this.props.id,"-SelectRow-label ").concat(this.props.tableId,"-SLDSDataTableHead-column-group-header-row-select"),checked:n,id:"".concat(this.props.id,"-SelectRow"),labelId:"".concat(this.props.id,"-SelectRow-label"),name:"SelectRow".concat(this.props.index+1),onChange:this.handleToggle})):null,this.props.columns.map((function(t){var n=t.Cell,r="".concat(e.props.id,"-").concat(H,"-").concat(t.props.property);return o.a.createElement(n,Dm({},t.props,{className:t.props.truncate?"slds-truncate":null,fixedLayout:e.props.fixedLayout,rowHeader:t.props.primaryColumn,id:r,item:e.props.item,key:r,width:t.props.width,headerId:e.props.item.headerId,columns:e.props.columns}),e.props.item[t.props.property])})),this.props.rowActions?o.a.cloneElement(this.props.rowActions,{id:"".concat(this.props.id,"-").concat(k),item:this.props.item}):null)}}])&&Am(t.prototype,n),r&&Am(t,r),c}(o.a.Component);Um(Gm,"displayName",N),Um(Gm,"propTypes",{assistiveText:c.a.shape({actionsHeader:c.a.string,columnSort:c.a.string,columnSortedAscending:c.a.string,columnSortedDescending:c.a.string,selectAllRows:c.a.string,selectRow:c.a.string}),canSelectRows:c.a.oneOfType([c.a.bool,c.a.oneOf(["checkbox","radio"])]),className:c.a.string,columns:c.a.arrayOf(c.a.shape({Cell:c.a.func,props:c.a.object})),fixedLayout:c.a.bool,id:c.a.string.isRequired,item:c.a.object.isRequired,onToggle:c.a.func,rowActions:c.a.element,selection:c.a.array,tableId:c.a.string});var Ym=Gm;function Qm(e){return(Qm="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function Jm(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function Xm(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?Jm(Object(n),!0).forEach((function(t){ag(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Jm(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function $m(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function Zm(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function eg(e,t){return(eg=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function tg(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=og(e);if(t){var o=og(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return ng(this,n)}}function ng(e,t){return!t||"object"!==Qm(t)&&"function"!=typeof t?rg(e):t}function rg(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function og(e){return(og=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function ag(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var cg=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&eg(e,t)}(c,e);var t,n,r,a=tg(c);function c(){var e;$m(this,c);for(var t=arguments.length,n=new Array(t),r=0;r<t;r++)n[r]=arguments[r];return ag(rg(e=a.call.apply(a,[this].concat(n))),"handleClick",(function(e){Nt.trap(e)})),ag(rg(e),"handleSelect",(function(t){Tr()(e.props.onAction)&&e.props.onAction(e.props.item,t),e.props.dropdown&&Tr()(e.props.dropdown.props.onSelect)&&e.props.dropdown.props.onSelect(t)})),e}return t=c,(n=[{key:"render",value:function(){var e={align:"right",buttonClassName:"slds-button_icon-x-small",buttonVariant:"icon",iconCategory:"utility",iconName:"down",iconSize:"small",iconVariant:"border-filled",assistiveText:this.props.assistiveText,className:this.props.className,options:this.props.options,hint:!this.props.noHint,id:this.props.id},t=this.props.dropdown?this.props.dropdown.props:{},n=Xm(Xm(Xm({},e),t),{},{onSelect:this.handleSelect});return o.a.createElement("td",{className:"","data-label":"Actions",onClick:this.handleClick,style:{width:"3.25rem"}},o.a.createElement(Fs,n))}}])&&Zm(t.prototype,n),r&&Zm(t,r),c}(o.a.Component);ag(cg,"displayName",k),ag(cg,"propTypes",{assistiveText:c.a.object,className:c.a.string,id:c.a.string,item:c.a.object,noHint:c.a.bool,onAction:c.a.func,options:c.a.array,dropdown:c.a.node}),ag(cg,"defaultProps",{assistiveText:{icon:"Actions"},noHint:!1,options:[]});var sg=cg;function ig(e){return(ig="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function lg(){return(lg=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}function pg(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function ug(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?pg(Object(n),!0).forEach((function(t){zg(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):pg(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function hg(e,t){if(null==e)return{};var n,r,o=function(e,t){if(null==e)return{};var n,r,o={},a=Object.keys(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)>=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}function dg(e){return function(e){if(Array.isArray(e))return fg(e)}(e)||function(e){if("undefined"!=typeof Symbol&&Symbol.iterator in Object(e))return Array.from(e)}(e)||function(e,t){if(!e)return;if("string"==typeof e)return fg(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return fg(e,t)}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function fg(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function vg(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function mg(e,t){return(mg=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function gg(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=wg(e);if(t){var o=wg(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return yg(this,n)}}function yg(e,t){return!t||"object"!==ig(t)&&"function"!=typeof t?bg(e):t}function bg(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function wg(e){return(wg=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function zg(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var xg=function(e){return Array.isArray(e)?e.length:0},_g={assistiveText:{actionsHeader:"Actions",columnSort:"Sort by: ",columnSortedAscending:"Sorted Ascending",columnSortedDescending:"Sorted Descending",selectAllRows:"Select all rows",selectRow:"Select row",selectRowGroup:"Choose a row to select",loadingMore:"Loading more"},selection:[],hasMore:!1,loadMoreOffset:20},Og=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&mg(e,t)}(c,e);var t,n,r,a=gg(c);function c(e){var t;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,c),zg(bg(t=a.call(this,e)),"handleToggleAll",(function(e,n){var r=n.checked;if("function"==typeof t.props.onChange){var o=(r?dg(t.props.items):[]).filter((function(e){return"header-row"!==e.type}));t.props.onChange(o,e)}if("function"==typeof t.props.onRowChange){var a=(r?dg(t.props.items):[]).filter((function(e){return"header-row"!==e.type}));t.props.onRowChange(e,{selection:a})}})),zg(bg(t),"handleRowToggle",(function(e,n,r){var o,a;"function"==typeof t.props.onChange&&(o=n?"radio"===t.props.selectRows?[e]:[].concat(dg(t.props.selection),[e]):Rf()(t.props.selection,e),t.props.onChange(o,r));"function"==typeof t.props.onRowChange&&(a=n?"radio"===t.props.selectRows?[e]:[].concat(dg(t.props.selection),[e]):Rf()(t.props.selection,e),t.props.onRowChange(r,{selection:a}))})),zg(bg(t),"resizeFixedHeaders",(function(e){var n=[].concat(t.headerRefs.select,t.headerRefs.column,t.headerRefs.action);if(t.props.onFixedHeaderResize)t.props.onFixedHeaderResize(e,{headerRefs:n,scrollerRef:t.scrollerRef});else if(n.length>0){var r=0;Rt&&(r=document.documentElement.scrollLeft),n.forEach((function(e){if(e&&Rt){var n=e.getBoundingClientRect().left+r,o=0;t.scrollerRef&&(o=t.scrollerRef.getBoundingClientRect().left+r);var a=e.querySelector(".slds-cell-fixed");a&&(a.style.left="".concat(n-o,"px"),a.style.width="".concat(e.offsetWidth,"px"))}}))}})),zg(bg(t),"onScrollerScroll",(function(){if(t.props.hasMore&&t.props.onLoadMore){var e=t.scrollerRef;e.scrollTop+e.offsetHeight>e.scrollHeight-t.props.loadMoreOffset&&t.props.onLoadMore()}})),zg(bg(t),"toggleFixedHeaderListeners",(function(e){if(t.props.onToggleFixedHeaderListeners)t.props.onToggleFixedHeaderListeners({},{attach:e,resizeHandler:t.resizeFixedHeaders,scrollerRef:t.scrollerRef});else{var n=["".concat(e?"add":"remove","EventListener")];Dt&&(window[n]("resize",t.resizeFixedHeaders),window[n]("resize",t.onScrollerScroll)),Dt&&t.scrollerRef&&(t.scrollerRef[n]("scroll",t.resizeFixedHeaders),t.scrollerRef[n]("scroll",t.onScrollerScroll))}})),t.generatedId=p.a.generate(),t.headerRefs={action:[],column:[],select:[]},t.scrollerRef=null,Xv(E,e,$v),t}return t=c,(n=[{key:"componentDidMount",value:function(){this.props.fixedHeader&&(this.toggleFixedHeaderListeners(!0),this.resizeFixedHeaders())}},{key:"componentDidUpdate",value:function(){this.props.fixedHeader&&this.resizeFixedHeaders()}},{key:"componentWillUnmount",value:function(){this.toggleFixedHeaderListeners(!1)}},{key:"getId",value:function(){return this.props.id||this.generatedId}},{key:"render",value:function(){var e=this,t={},n=xg(this.props.items),r=xg(this.props.selection),a=xg(this.props.items.filter((function(e){return"header-row"!==e.type}))),c=!!(this.props.selectRows&&a>0)&&this.props.selectRows,s=c&&a===r,l=c&&a!==r&&0!==r,u=[],h=null;o.a.Children.forEach(this.props.children,(function(t){if(t&&t.type.displayName===um.displayName){var n,r=t.props,a=r.children,c=hg(r,["children"]),s=lr()({},e.props);delete s.children,lr()(s,c),a&&a.type.displayName===H?(n=a.type,lr()(s,a.props)):n=rm,u.push({Cell:n,props:s,dataTableProps:e.props})}else if(t&&t.type.displayName===sg.displayName){var i=t.props.dropdown,l={};e.props.fixedHeader&&(l.menuPosition="overflowBoundaryElement"),h=o.a.cloneElement(t,{dropdown:i?o.a.cloneElement(i,l):null})}}));var d=ug(ug({},_g.assistiveText),this.props.assistiveText);this.props.assistiveTextForActionsHeader&&(d.actionsHeader=this.props.assistiveTextForActionsHeader),this.props.assistiveTextForSelectAllRows&&(d.selectAllRows=this.props.assistiveTextForSelectAllRows),this.props.assistiveTextForColumnSortedAscending&&(d.columnSortedAscending=this.props.assistiveTextForColumnSortedAscending),this.props.assistiveTextForColumnSortedDescending&&(d.columnSortedDescending=this.props.assistiveTextForColumnSortedDescending),this.props.assistiveTextForColumnSort&&(d.columnSort=this.props.assistiveTextForColumnSort),this.props.assistiveTextForSelectRow&&(d.selectRow=this.props.assistiveTextForSelectRow),this.props.selectRows&&"radio"!==this.props.selectRows&&(t["aria-multiselectable"]="true"),this.headerRefs={action:h?this.headerRefs.action:[],column:this.headerRefs.column.slice(0,u.length),select:c?this.headerRefs.select:[]};var f=o.a.createElement(o.a.Fragment,null,o.a.createElement("table",lg({},t,{className:i()("slds-table",{"slds-table_fixed-layout":this.props.fixedLayout,"slds-table_header-fixed":this.props.fixedHeader,"slds-table_resizable-cols":this.props.fixedLayout,"slds-table_bordered":!this.props.unborderedRow,"slds-table_cell-buffer":!this.props.fixedLayout&&!this.props.unbufferedCell,"slds-max-medium-table_stacked":this.props.stacked,"slds-max-medium-table_stacked-horizontal":this.props.stackedHorizontal,"slds-table_striped":this.props.striped,"slds-table_col-bordered":this.props.columnBordered,"slds-no-row-hover":this.props.noRowHover},this.props.className),id:this.getId(),role:this.props.fixedLayout?"grid":null,style:this.props.style}),o.a.createElement(Vm,{assistiveText:d,allSelected:s,fixedHeader:this.props.fixedHeader,headerRefs:function(t,n){"action"===n||"select"===n?t?e.headerRefs[n][0]=t:e.headerRefs[n]=[]:e.headerRefs.column[n]=t},indeterminateSelected:l,canSelectRows:c,columns:u,id:"".concat(this.getId(),"-").concat(P),onToggleAll:this.handleToggleAll,onSort:this.props.onSort,showRowActions:!!h}),o.a.createElement("tbody",null,n>0?this.props.items.map((function(t,n){var r=e.getId()&&t.id?"".concat(e.getId(),"-").concat(N,"-").concat(t.id):p.a.generate();return e.props.onRenderSubHeadingRow&&"header-row"===t.type?e.props.onRenderSubHeadingRow({assistiveText:d,classNameRow:t.classNameRow,columns:u,key:r,id:r,tableId:e.getId(),item:t}):o.a.createElement(Ym,{assistiveText:d,canSelectRows:c,className:t.classNameRow,columns:u,fixedLayout:e.props.fixedLayout,id:r,index:n,item:t,key:r,onToggle:e.handleRowToggle,selection:e.props.selection,rowActions:h,tableId:e.getId()})})):null)),this.props.fixedHeader&&this.props.hasMore&&o.a.createElement("div",{className:"slds-is-relative slds-p-around_large"},o.a.createElement(Bl,{assistiveText:{label:this.props.assistiveText.loadingMore},hasContainer:!1,size:"small",variant:"brand"})));if(this.props.fixedHeader){var v="1px solid ".concat(Zv.colorGray5),m={borderTop:v,height:"100%"};this.props.joined&&(m.borderBottom=v,m.borderLeft=v,m.borderRight=v,m.borderTop="none",m.borderRadius=em.tableBorderRadius),f=o.a.createElement("div",{className:"slds-table_header-fixed_container",style:m,onScroll:function(t){var n=t.target.scrollLeft;n>0&&(t.target.scrollLeft=0,e.scrollerRef&&(e.scrollerRef.scrollLeft=n))}},o.a.createElement("div",{className:"slds-table_header-fixed_scroller",ref:function(t){e.scrollerRef=t},style:{height:"100%",overflow:"auto"}},f))}return f}}])&&vg(t.prototype,n),r&&vg(t,r),c}(o.a.Component);zg(Og,"displayName",E),zg(Og,"propTypes",{assistiveText:c.a.shape({actionsHeader:c.a.string,columnSort:c.a.string,columnSortedAscending:c.a.string,columnSortedDescending:c.a.string,selectAllRows:c.a.string,selectRow:c.a.string,selectRowGroup:c.a.string,loadingMore:c.a.string}),children:c.a.node,className:c.a.oneOfType([c.a.array,c.a.object,c.a.string]),columnBordered:c.a.bool,fixedHeader:c.a.bool,fixedLayout:c.a.bool,hasMore:c.a.bool,onRenderSubHeadingRow:c.a.func,id:c.a.string,items:c.a.arrayOf(c.a.shape({id:c.a.string.isRequired,classNameRow:c.a.string})).isRequired,joined:c.a.bool,loadMoreOffset:c.a.number,noRowHover:c.a.bool,onFixedHeaderResize:c.a.func,onLoadMore:c.a.func,onRowChange:c.a.func,onSort:c.a.func,onToggleFixedHeaderListeners:c.a.func,selection:c.a.array,selectRows:c.a.oneOfType([c.a.bool,c.a.oneOf(["checkbox","radio"])]),stacked:c.a.bool,stackedHorizontal:c.a.bool,striped:c.a.bool,style:c.a.object,unborderedRow:c.a.bool,unbufferedCell:c.a.bool}),zg(Og,"defaultProps",_g);var Mg=Og,Sg=function(e){return o.a.createElement(rm,e,o.a.createElement(Jo,{search:e.search},e.children))};Sg.displayName=H,Sg.propTypes={children:c.a.oneOfType([c.a.node,c.a.string]),search:c.a.any};var Cg=Sg,Eg={firstDayOfMonth:function(e){var t=new Date(e);return t.setDate(1),t},isFirstDayOfMonth:function(e){return 1===e.getDate()},isLastDayOfMonth:function(e){return!Eg.isSameMonth(e,Eg.addDays(e,1))},isSameMonth:function(e,t){return!(!e||!t)&&(e.getFullYear()===t.getFullYear()&&e.getMonth()===t.getMonth())},isSameDay:function(e,t){return!(!e||!t)&&(e.getFullYear()===t.getFullYear()&&e.getMonth()===t.getMonth()&&e.getDate()===t.getDate())},isCurrentMonth:function(e){return!!e&&Eg.isSameMonth(e,new Date)},isToday:function(e){return!!e&&Eg.isSameDay(e,new Date)},isEqual:function(e,t){return e.getTime()===t.getTime()},addDays:function(e,t){var n=new Date(e);return n.setDate(n.getDate()+parseInt(t,10)),n},addWeeks:function(e,t){return Eg.addDays(e,7*parseInt(t,10))},nearestWeekDay:function(e,t){var n=t-e.getDay();return n<0&&(n+=7),Eg.addDays(e,n)},isLeapYear:function(e){return e%4==0&&e%100!=0||e%400==0},getDaysInMonth:function(e,t){return[31,Eg.isLeapYear(e)?29:28,31,30,31,30,31,31,30,31,30,31][t]},addMonths:function(e,t){var n=new Date(e),r=n.getDate();return n.setDate(1),n.setMonth(n.getMonth()+t),n.setDate(Math.min(r,Eg.getDaysInMonth(n.getFullYear(),n.getMonth()))),n}},Hg=Eg;function jg(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function Pg(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var kg=function(e){var t=Hg.isSameMonth(e.date,e.initialDateForCalendarRender),n=Hg.isToday(e.date),r=Hg.isSameDay(e.date,e.selectedDate),a=Hg.isFirstDayOfMonth(e.date),c=!t||e.disabled;return o.a.createElement("td",{"aria-disabled":c,"aria-selected":r,className:i()({"slds-is-today":n,"slds-disabled-text":c,"slds-is-selected":r}),onClick:function(t){!function(e,t){var n=t.date;(0,t.onSelectDate)(e,{date:n})}(t,{date:e.date,onSelectDate:e.onSelectDate})},onKeyDown:function(t){!function(e,t){var n,r=t.date,o=t.onCalendarBlur,a=t.onSelectDate,c=t.onKeyboardNavigateToPreviousDay,s=t.onKeyboardNavigateToNextDay,i=t.onKeyboardNavigateToPreviousWeek,l=t.onKeyboardNavigateToNextWeek,p=t.direction,u=(Pg(n={},Lt.SPACE,(function(){a(e,{date:r})})),Pg(n,Lt.ENTER,(function(){a(e,{date:r})})),Pg(n,Lt.TAB,(function(){o(e,{direction:"next"})})),Pg(n,Lt.LEFT,(function(){p===je.RTL?s(e,{date:r}):c(e,{date:r})})),Pg(n,Lt.RIGHT,(function(){p===je.RTL?c(e,{date:r}):s(e,{date:r})})),Pg(n,Lt.UP,(function(){i(e,{date:r})})),Pg(n,Lt.DOWN,(function(){l(e,{date:r})})),n),h=Pg({},Lt.TAB,(function(){o(e,{direction:"previous"})}));e.keyCode&&(e.shiftKey&&u[e.keyCode]?(Nt.trapEvent(e),h[e.keyCode]()):u[e.keyCode]&&(Nt.trapEvent(e),u[e.keyCode]()))}(t,function(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?jg(Object(n),!0).forEach((function(t){Pg(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):jg(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}({},e))},ref:function(n){r&&e.selectedDateRef(n),e.calendarHasFocus&&Hg.isSameDay(e.focusedDate,e.date)&&t&&e.onRequestInternalFocusDate(void 0,{date:e.date,ref:n})},role:"gridcell",tabIndex:!e.calendarHasFocus&&a&&t?0:-1},o.a.createElement("span",{className:"slds-day"},n?o.a.createElement("span",{className:"slds-assistive-text"},"".concat(e.todayLabel,": ")):null,e.date.getDate()))};kg.displayName="SLDSDatepickerCalendarDay",kg.propTypes={calendarHasFocus:c.a.bool.isRequired,date:c.a.instanceOf(Date).isRequired,disabled:c.a.bool,initialDateForCalendarRender:c.a.instanceOf(Date).isRequired,onCalendarBlur:c.a.func.isRequired,onKeyboardNavigateToNextDay:c.a.func.isRequired,onKeyboardNavigateToNextWeek:c.a.func.isRequired,onKeyboardNavigateToPreviousDay:c.a.func.isRequired,onKeyboardNavigateToPreviousWeek:c.a.func.isRequired,onSelectDate:c.a.func.isRequired,selectedDate:c.a.instanceOf(Date).isRequired,selectedDateRef:c.a.func.isRequired,todayLabel:c.a.string.isRequired,focusedDate:c.a.instanceOf(Date),onRequestInternalFocusDate:c.a.func};var Ng=st(kg),Tg=function(e){for(var t=[],n=e.firstDayOfWeek,r=0;r<7;r+=1)t.push(o.a.createElement(Ng,{calendarHasFocus:e.calendarHasFocus,date:n,disabled:e.dateDisabled({date:n}),focusedDate:e.focusedDate,initialDateForCalendarRender:e.initialDateForCalendarRender,key:n.toString(),onKeyboardNavigateToNextDay:e.onKeyboardNavigateToNextDay,onKeyboardNavigateToNextWeek:e.onKeyboardNavigateToNextWeek,onKeyboardNavigateToPreviousDay:e.onKeyboardNavigateToPreviousDay,onKeyboardNavigateToPreviousWeek:e.onKeyboardNavigateToPreviousWeek,onCalendarBlur:e.onCalendarBlur,onRequestInternalFocusDate:e.onRequestInternalFocusDate,onSelectDate:e.onSelectDate,selectedDate:e.selectedDate,selectedDateRef:e.selectedDateRef,todayLabel:e.todayLabel})),n=Hg.addDays(n,1);return o.a.createElement("tr",{className:"week",key:t[0].toString()},t)};Tg.propTypes={initialDateForCalendarRender:c.a.instanceOf(Date).isRequired,calendarHasFocus:c.a.bool.isRequired,dateDisabled:c.a.func,firstDayOfWeek:c.a.instanceOf(Date).isRequired,focusedDate:c.a.instanceOf(Date).isRequired,onCalendarBlur:c.a.func.isRequired,onKeyboardNavigateToNextDay:c.a.func.isRequired,onKeyboardNavigateToNextWeek:c.a.func.isRequired,onKeyboardNavigateToPreviousDay:c.a.func.isRequired,onKeyboardNavigateToPreviousWeek:c.a.func.isRequired,onRequestInternalFocusDate:c.a.func.isRequired,onSelectDate:c.a.func.isRequired,selectedDate:c.a.instanceOf(Date).isRequired,selectedDateRef:c.a.func.isRequired,todayLabel:c.a.string.isRequired},Tg.displayName="SLDSDatepickerWeek";var Lg=Tg;function Vg(e){return(Vg="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function Rg(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function Dg(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function Ig(e,t){return(Ig=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function Ag(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=qg(e);if(t){var o=qg(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return Fg(this,n)}}function Fg(e,t){return!t||"object"!==Vg(t)&&"function"!=typeof t?Bg(e):t}function Bg(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function qg(e){return(qg=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function Kg(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var Wg=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&Ig(e,t)}(c,e);var t,n,r,a=Ag(c);function c(){var e;Rg(this,c);for(var t=arguments.length,n=new Array(t),r=0;r<t;r++)n[r]=arguments[r];return Kg(Bg(e=a.call.apply(a,[this].concat(n))),"state",{focusedDate:e.props.initialDateForCalendarRender,calendarHasFocus:!0,todayFocus:!1}),Kg(Bg(e),"setCalendarRenderSeedDate",(function(t){Hg.isEqual(e.props.initialDateForCalendarRender,t.initialDateForCalendarRender)||(e.setState({focusedDate:e.props.initialDateForCalendarRender}),e.props.onRequestInternalFocusDate(void 0,{date:e.props.initialDateForCalendarRender,triggerCallback:!0}))})),Kg(Bg(e),"handleSelectDate",(function(t,n){var r=n.date;e.props.dateDisabled({date:r})||(e.setState({selected:r}),e.props.onSelectDate(t,{date:r}))})),Kg(Bg(e),"handleRequestClose",(function(t){e.props.onRequestClose&&e.props.onRequestClose(t,{})})),Kg(Bg(e),"handleKeyboardNavigateToPreviousDay",(function(t,n){var r=n.date,o=Hg.addDays(r,-1);Hg.isSameMonth(o,r)?(e.setState({focusedDate:o}),e.props.onRequestInternalFocusDate(t,{date:o,triggerCallback:!0})):e.props.onChangeMonth(t,o)})),Kg(Bg(e),"handleKeyboardNavigateToNextDay",(function(t,n){var r=n.date,o=Hg.addDays(r,1);Hg.isSameMonth(o,r)?(e.setState({focusedDate:o}),e.props.onRequestInternalFocusDate(t,{date:o,triggerCallback:!0})):e.props.onChangeMonth(t,o)})),Kg(Bg(e),"handleKeyboardNavigateToPreviousWeek",(function(t,n){var r=n.date,o=Hg.addDays(r,-7);Hg.isSameMonth(o,r)?(e.setState({focusedDate:o}),e.props.onRequestInternalFocusDate(t,{date:o,triggerCallback:!0})):e.props.onChangeMonth(t,o)})),Kg(Bg(e),"handleKeyboardNavigateToNextWeek",(function(t,n){var r=n.date,o=Hg.addDays(r,7);Hg.isSameMonth(o,r)?(e.setState({focusedDate:o}),e.props.onRequestInternalFocusDate(t,{date:o,triggerCallback:!0})):e.props.onChangeMonth(t,o)})),Kg(Bg(e),"renderWeeks",(function(){var t,n=e.props.isIsoWeekday?1:0,r=Hg.firstDayOfMonth(e.props.initialDateForCalendarRender);if(r.getDay()>n||r.getDay()<n){var a=Hg.addWeeks(r,-1);t=Hg.nearestWeekDay(a,n)}else t=r;for(var c=[],s=!1,i=t.getMonth(),l=0;!s;)c.push(o.a.createElement(Lg,{calendarHasFocus:e.state.calendarHasFocus,dateDisabled:e.props.dateDisabled,firstDayOfWeek:t,key:t.toString(),focusedDate:e.state.focusedDate,initialDateForCalendarRender:e.props.initialDateForCalendarRender,onCalendarBlur:e.props.onCalendarBlur,onKeyboardNavigateToPreviousDay:e.handleKeyboardNavigateToPreviousDay,onKeyboardNavigateToNextDay:e.handleKeyboardNavigateToNextDay,onKeyboardNavigateToPreviousWeek:e.handleKeyboardNavigateToPreviousWeek,onKeyboardNavigateToNextWeek:e.handleKeyboardNavigateToNextWeek,onRequestClose:e.handleRequestClose,onRequestInternalFocusDate:e.props.onRequestInternalFocusDate,onSelectDate:e.handleSelectDate,selectedDate:e.props.selectedDate,selectedDateRef:e.props.selectedDateRef,todayLabel:e.props.todayLabel})),t=Hg.addWeeks(t,1),s=l>2&&i!==t.getMonth(),l+=1,i=t.getMonth();for(var p=0;c.length<6;)p+=1,c.push(o.a.createElement("tr",{key:"extra_".concat(p),className:"week"},o.a.createElement("td",{"aria-disabled":"true","aria-selected":"false",className:"slds-disabled-text"},o.a.createElement("span",{className:"slds-day "}," "))));return c})),e}return t=c,(n=[{key:"componentDidUpdate",value:function(e){this.setCalendarRenderSeedDate(e)}},{key:"render",value:function(){var e=this,t=o.a.createElement("th",null,o.a.createElement("abbr",{title:this.props.weekDayLabels[0]},this.props.abbreviatedWeekDayLabels[0]));return o.a.createElement("div",{className:"calendar"},o.a.createElement("table",{className:"datepicker__month",role:"grid","aria-labelledby":"".concat(this.props.id,"-month")},o.a.createElement("thead",null,o.a.createElement("tr",null,this.props.isIsoWeekday?null:t,o.a.createElement("th",{scope:"col"},o.a.createElement("abbr",{title:this.props.weekDayLabels[1]},this.props.abbreviatedWeekDayLabels[1])),o.a.createElement("th",{scope:"col"},o.a.createElement("abbr",{title:this.props.weekDayLabels[2]},this.props.abbreviatedWeekDayLabels[2])),o.a.createElement("th",{scope:"col"},o.a.createElement("abbr",{title:this.props.weekDayLabels[3]},this.props.abbreviatedWeekDayLabels[3])),o.a.createElement("th",{scope:"col"},o.a.createElement("abbr",{title:this.props.weekDayLabels[4]},this.props.abbreviatedWeekDayLabels[4])),o.a.createElement("th",{scope:"col"},o.a.createElement("abbr",{title:this.props.weekDayLabels[5]},this.props.abbreviatedWeekDayLabels[5])),o.a.createElement("th",{scope:"col"},o.a.createElement("abbr",{title:this.props.weekDayLabels[6]},this.props.abbreviatedWeekDayLabels[6])),this.props.isIsoWeekday&&t)),o.a.createElement("tbody",null,this.renderWeeks(),o.a.createElement("tr",null,o.a.createElement("td",{colSpan:"7",role:"gridcell"},o.a.createElement("a",{href:"javascript:void(0)",tabIndex:"0",className:"slds-show_inline-block slds-p-bottom_x-small",onClick:function(t){e.handleSelectDate(t,{date:new Date})},onKeyDown:this.props.onLastFocusableNodeKeyDown,ref:this.props.todayRef},this.props.todayLabel))))))}}])&&Dg(t.prototype,n),r&&Dg(t,r),c}(o.a.Component);Kg(Wg,"displayName","SLDSDatepickerCalendar"),Kg(Wg,"propTypes",{abbreviatedWeekDayLabels:c.a.array.isRequired,dateDisabled:c.a.func,id:c.a.string.isRequired,initialDateForCalendarRender:c.a.instanceOf(Date).isRequired,isIsoWeekday:c.a.bool,onCalendarBlur:c.a.func.isRequired,onChangeMonth:c.a.func.isRequired,onRequestInternalFocusDate:c.a.func,onRequestClose:c.a.func.isRequired,onSelectDate:c.a.func.isRequired,selectedDate:c.a.instanceOf(Date),selectedDateRef:c.a.func,todayLabel:c.a.string.isRequired,onLastFocusableNodeKeyDown:c.a.func,todayRef:c.a.func,weekDayLabels:c.a.array.isRequired});var Ug=Wg;function Gg(e){return(Gg="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function Yg(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function Qg(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function Jg(e,t){return(Jg=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function Xg(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=ey(e);if(t){var o=ey(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return $g(this,n)}}function $g(e,t){return!t||"object"!==Gg(t)&&"function"!=typeof t?Zg(e):t}function Zg(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function ey(e){return(ey=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function ty(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var ny=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&Jg(e,t)}(c,e);var t,n,r,a=Xg(c);function c(){var e;Yg(this,c);for(var t=arguments.length,n=new Array(t),r=0;r<t;r++)n[r]=arguments[r];return ty(Zg(e=a.call.apply(a,[this].concat(n))),"getOptions",(function(){for(var t=new Date,n=t.getFullYear()+e.props.relativeYearFrom,r=t.getFullYear()+e.props.relativeYearTo,o=[],a=n;a<r;a+=1)o.push({label:"".concat(a),value:a,id:String(o.length)});return o})),ty(Zg(e),"getSelectedValueOption",(function(){var t=e.props.initialDateForCalendarRender.getFullYear();return e.getOptions().filter((function(e){return e.value===t}))})),ty(Zg(e),"handleSelect",(function(t,n){var r=n.selection[0];r&&e.props.onChangeMonth(new Date(e.props.initialDateForCalendarRender.setFullYear(parseInt(r.value,10))))})),e}return t=c,(n=[{key:"render",value:function(){var e=this.getSelectedValueOption();return o.a.createElement("div",{className:"slds-form-element slds-align-content-center"},o.a.createElement(Yv,{assistiveText:{label:this.props.assistiveTextYear},className:"slds-shrink-none",classNameMenu:"slds-datepicker",events:{onSelect:this.handleSelect},id:"".concat(this.props.id,"-year-picklist"),inheritWidthOf:"target",menuPosition:"relative",multiple:!1,options:this.getOptions(),labels:{placeholder:"Year"},selection:e,value:e.value,variant:"readonly"}))}}])&&Qg(t.prototype,n),r&&Qg(t,r),c}(o.a.Component);ty(ny,"displayName","SLDSDatepickerYearSelector"),ty(ny,"propTypes",{assistiveTextYear:c.a.string.isRequired,id:c.a.string,initialDateForCalendarRender:c.a.instanceOf(Date).isRequired,onChangeMonth:c.a.func.isRequired,relativeYearFrom:c.a.number,relativeYearTo:c.a.number});var ry=ny;function oy(e){return(oy="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function ay(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function cy(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function sy(e,t){return(sy=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function iy(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=uy(e);if(t){var o=uy(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return ly(this,n)}}function ly(e,t){return!t||"object"!==oy(t)&&"function"!=typeof t?py(e):t}function py(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function uy(e){return(uy=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function hy(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var dy=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&sy(e,t)}(c,e);var t,n,r,a=iy(c);function c(){var e;ay(this,c);for(var t=arguments.length,n=new Array(t),r=0;r<t;r++)n[r]=arguments[r];return hy(py(e=a.call.apply(a,[this].concat(n))),"getMonthLabel",(function(){return e.props.monthLabels[new Date(e.props.initialDateForCalendarRender).getMonth()]})),hy(py(e),"getYearLabel",(function(){return new Date(e.props.initialDateForCalendarRender).getFullYear()})),hy(py(e),"handleClick",(function(e){e.preventDefault(),e.stopPropagation()})),hy(py(e),"handleYearSelect",(function(t){e.props.onChangeMonth(void 0,t)})),hy(py(e),"previousMonthClicked",(function(){e.props.onChangeMonth(void 0,Hg.addMonths(e.props.initialDateForCalendarRender,-1))})),hy(py(e),"nextMonthClicked",(function(){e.props.onChangeMonth(void 0,Hg.addMonths(e.props.initialDateForCalendarRender,1))})),e}return t=c,(n=[{key:"render",value:function(){var e=this;return o.a.createElement("div",{className:"slds-datepicker__filter slds-grid"},o.a.createElement("div",{className:"slds-datepicker__filter_month slds-grid slds-grid_align-spread slds-grow",style:{flex:1.75}},o.a.createElement("div",{className:"slds-align-middle"},o.a.createElement(or,{assistiveText:{icon:this.props.assistiveTextPreviousMonth},iconCategory:"utility",iconName:"left",iconVariant:"container",onKeyDown:this.props.onPreviousMonthKeyDown,onClick:this.previousMonthClicked,buttonRef:function(t){e.props.previousMonthRef(t)},variant:"icon",type:"button"})),o.a.createElement("h2",{id:"".concat(this.props.id,"-month"),className:"slds-align-middle","aria-live":"assertive","aria-atomic":!0},this.getMonthLabel()," ",o.a.createElement("span",{className:"slds-assistive-text"},this.getYearLabel())),o.a.createElement("div",{className:"slds-align-middle"},o.a.createElement(or,{assistiveText:{icon:this.props.assistiveTextNextMonth},iconCategory:"utility",iconName:"right",iconVariant:"container",onClick:this.nextMonthClicked,variant:"icon",type:"button"}))),o.a.createElement(ry,{assistiveTextYear:this.props.assistiveTextYear,id:this.props.id,initialDateForCalendarRender:this.props.initialDateForCalendarRender,onChangeMonth:this.handleYearSelect,relativeYearFrom:this.props.relativeYearFrom,relativeYearTo:this.props.relativeYearTo}))}}])&&cy(t.prototype,n),r&&cy(t,r),c}(o.a.Component);hy(dy,"displayName","SLDSDatepickerMonthNavigation"),hy(dy,"propTypes",{assistiveTextNextMonth:c.a.string.isRequired,assistiveTextPreviousMonth:c.a.string.isRequired,assistiveTextYear:c.a.string.isRequired,id:c.a.string,initialDateForCalendarRender:c.a.instanceOf(Date).isRequired,onChangeMonth:c.a.func.isRequired,monthLabels:c.a.array.isRequired,onPreviousMonthKeyDown:c.a.func,previousMonthRef:c.a.func.isRequired,relativeYearFrom:c.a.number,relativeYearTo:c.a.number});var fy=dy;function vy(e){return(vy="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function my(e,t){if(null==e)return{};var n,r,o=function(e,t){if(null==e)return{};var n,r,o={},a=Object.keys(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)>=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}function gy(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function yy(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function by(e,t){return(by=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function wy(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=_y(e);if(t){var o=_y(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return zy(this,n)}}function zy(e,t){return!t||"object"!==vy(t)&&"function"!=typeof t?xy(e):t}function xy(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function _y(e){return(_y=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function Oy(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var My=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&by(e,t)}(c,e);var t,n,r,a=wy(c);function c(){var e;gy(this,c);for(var t=arguments.length,n=new Array(t),r=0;r<t;r++)n[r]=arguments[r];return Oy(xy(e=a.call.apply(a,[this].concat(n))),"state",{initialDateForCalendarRender:e.props.selectedDate}),Oy(xy(e),"handleCalendarBlur",(function(t,n){var r=n.direction;"next"===r&&e.previousMonthRef?(e.props.onCalendarFocus&&e.props.onCalendarFocus(t,{direction:r,ref:e.previousMonthRef}),e.previousMonthRef.focus()):"previous"===r&&e.todayRef&&(e.props.onCalendarFocus&&e.props.onCalendarFocus(t,{direction:r,ref:e.todayRef}),e.todayRef.focus())})),Oy(xy(e),"handleFirstFocusableNodeKeyDown",(function(e){e.shiftKey&&e.keyCode===Lt.TAB&&Nt.trapEvent(e)})),Oy(xy(e),"handleInitialDateForCalendarRenderChange",(function(t,n){e.setState({initialDateForCalendarRender:n})})),Oy(xy(e),"handleKeyDown",(function(t){t.keyCode===Lt.ESCAPE&&(Nt.trapEvent(t),e.props.onRequestClose(t,{}))})),Oy(xy(e),"handleLastFocusableNodeKeyDown",(function(e){e.shiftKey||e.keyCode!==Lt.TAB||Nt.trapEvent(e)})),Oy(xy(e),"handleRequestClose",(function(t){e.props.onRequestClose&&e.props.onRequestClose(t,{})})),Oy(xy(e),"handleRequestFocusDate",(function(t,n){if(n.ref&&e.props.canFocusCalendar&&n.ref.focus(),e.props.onCalendarFocus&&n.triggerCallback){n.triggerCallback;var r=my(n,["triggerCallback"]);e.props.onCalendarFocus(t,r)}})),e}return t=c,(n=[{key:"render",value:function(){var e=this;return o.a.createElement("div",{className:i()({"slds-datepicker":this.props.isolated},this.props.className),"aria-hidden":"false","data-selection":"single",onKeyDown:this.handleKeyDown},o.a.createElement(fy,{assistiveTextNextMonth:this.props.assistiveTextNextMonth,assistiveTextPreviousMonth:this.props.assistiveTextPreviousMonth,assistiveTextYear:this.props.assistiveTextYear,id:this.props.id,initialDateForCalendarRender:this.state.initialDateForCalendarRender,monthLabels:this.props.monthLabels,onChangeMonth:this.handleInitialDateForCalendarRenderChange,previousMonthRef:function(t){e.previousMonthRef=t},onPreviousMonthKeyDown:this.handleFirstFocusableNodeKeyDown,relativeYearFrom:this.props.relativeYearFrom,relativeYearTo:this.props.relativeYearTo}),o.a.createElement(Ug,{abbreviatedWeekDayLabels:this.props.abbreviatedWeekDayLabels,dateDisabled:this.props.dateDisabled,id:this.props.id,initialDateForCalendarRender:this.state.initialDateForCalendarRender,isIsoWeekday:this.props.isIsoWeekday,onCalendarBlur:this.handleCalendarBlur,onChangeMonth:this.handleInitialDateForCalendarRenderChange,onRequestClose:this.handleRequestClose,onRequestInternalFocusDate:this.handleRequestFocusDate,onSelectDate:this.props.onSelectDate,selectedDate:this.props.selectedDate,selectedDateRef:this.props.selectedDateRef,todayLabel:this.props.todayLabel,todayRef:function(t){e.todayRef=t},onLastFocusableNodeKeyDown:this.handleLastFocusableNodeKeyDown,weekDayLabels:this.props.weekDayLabels}))}}])&&yy(t.prototype,n),r&&yy(t,r),c}(o.a.Component);Oy(My,"displayName","DatepickerCalendarWrapper"),Oy(My,"propTypes",{assistiveTextNextMonth:c.a.string.isRequired,assistiveTextPreviousMonth:c.a.string.isRequired,assistiveTextYear:c.a.string.isRequired,abbreviatedWeekDayLabels:c.a.array.isRequired,canFocusCalendar:c.a.bool.isRequired,className:c.a.oneOfType([c.a.array,c.a.object,c.a.string]),dateDisabled:c.a.func,id:c.a.string,isIsoWeekday:c.a.bool,isolated:c.a.bool,monthLabels:c.a.array.isRequired,onCalendarFocus:c.a.func,onRequestClose:c.a.func.isRequired,onSelectDate:c.a.func.isRequired,relativeYearFrom:c.a.number.isRequired,relativeYearTo:c.a.number.isRequired,selectedDate:c.a.instanceOf(Date),selectedDateRef:c.a.func,todayLabel:c.a.string.isRequired,weekDayLabels:c.a.array.isRequired}),Oy(My,"defaultProps",{selectedDate:new Date,value:new Date});var Sy=My;var Cy=function(){},Ey=n(48);function Hy(e){return(Hy="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function jy(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function Py(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?jy(Object(n),!0).forEach((function(t){Dy(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):jy(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function ky(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function Ny(e,t){return(Ny=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function Ty(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=Ry(e);if(t){var o=Ry(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return Ly(this,n)}}function Ly(e,t){return!t||"object"!==Hy(t)&&"function"!=typeof t?Vy(e):t}function Vy(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function Ry(e){return(Ry=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function Dy(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var Iy={assistiveText:c.a.shape({nextMonth:c.a.string,openCalendar:c.a.string,previousMonth:c.a.string,year:c.a.string}),align:c.a.oneOf(["left","right"]),className:c.a.oneOfType([c.a.array,c.a.object,c.a.string]),disabled:c.a.bool,dateDisabled:c.a.func,formatter:c.a.func,formattedValue:c.a.string,hasStaticAlignment:c.a.bool,id:c.a.string,labels:c.a.shape({abbreviatedWeekDays:c.a.array,label:c.a.string,months:c.a.array,placeholder:c.a.string,today:c.a.string,weekDays:c.a.array}),input:c.a.node,isOpen:c.a.bool,isIsoWeekday:c.a.bool,menuPosition:c.a.oneOf(["absolute","overflowBoundaryElement","relative"]),onCalendarFocus:c.a.func,onChange:c.a.func,onClose:c.a.func,onOpen:c.a.func,onRequestClose:c.a.func,onRequestOpen:c.a.func,parser:c.a.func,relativeYearFrom:c.a.number,relativeYearTo:c.a.number,triggerClassName:c.a.oneOfType([c.a.array,c.a.object,c.a.string]),value:c.a.instanceOf(Date)},Ay={align:"left",assistiveText:{nextMonth:"Next month",openCalendar:"Open Calendar",previousMonth:"Previous month",year:"Year"},formatter:function(e){return e?"".concat(e.getMonth()+1,"/").concat(e.getDate(),"/").concat(e.getFullYear()):""},labels:{abbreviatedWeekDays:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],placeholder:"Pick a Date",today:"Today",weekDays:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"]},menuPosition:"absolute",parser:function(e){return Lr(!1,"Please use an external library for date parsing and internationalization like MomentJS (https://github.com/moment/moment/) instead of the default parser."),new Date(e)},relativeYearFrom:-10,relativeYearTo:10,dateDisabled:function(){return!1}},Fy=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&Ny(e,t)}(c,e);var t,n,r,a=Ty(c);function c(e){var t;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,c),Dy(Vy(t=a.call(this,e)),"getDatePicker",(function(e){var n,r=e.labels,a=e.assistiveText;return n=t.props.value?t.props.formatter(t.props.value)?t.parseDate(t.props.formatter(t.props.value)):t.props.value:t.state.formattedValue?t.parseDate(t.state.formattedValue):t.state.value,o.a.createElement(Sy,{abbreviatedWeekDayLabels:t.props.abbreviatedWeekDayLabels||t.props.abbrWeekDayLabels||r.abbreviatedWeekDays,assistiveTextNextMonth:t.props.assistiveTextNextMonth||a.nextMonth,assistiveTextPreviousMonth:t.props.assistiveTextPreviousMonth||a.previousMonth,assistiveTextYear:a.year,canFocusCalendar:t.state.isOpenFromIcon,id:t.getId(),isIsoWeekday:t.props.isIsoWeekday,monthLabels:t.props.monthLabels||r.months,onCalendarFocus:t.props.onCalendarFocus,dateDisabled:t.props.dateDisabled,onRequestClose:t.handleRequestClose,onSelectDate:t.handleCalendarChange,relativeYearFrom:t.props.relativeYearFrom,relativeYearTo:t.props.relativeYearTo,selectedDate:n||new Date,selectedDateRef:function(e){t.selectedDateCell=e},todayLabel:t.props.todayLabel||r.today,weekDayLabels:t.props.weekDayLabels||r.weekDays})})),Dy(Vy(t),"getDialog",(function(e){var n=e.labels,r=e.assistiveText,a=t.props.isInline?"relative":t.props.menuPosition,c="relative"!==t.props.menuPosition?{transform:"none"}:{};return!t.props.disabled&&t.getIsOpen()?o.a.createElement(vn,{align:"bottom ".concat(t.props.align),contentsClassName:i()("slds-datepicker slds-dropdown",{"slds-dropdown_right":"relative"===t.props.menuPosition&&"right"===t.props.align,"slds-dropdown_left":"relative"===t.props.menuPosition&&"left"===t.props.align},t.props.className),context:t.context,hasStaticAlignment:t.props.hasStaticAlignment,style:c,onClose:t.handleClose,onOpen:t.handleOpen,onRequestTargetElement:function(){return t.inputRef},position:a,portalMount:t.props.portalMount},t.getDatePicker({labels:n,assistiveText:r})):null})),Dy(Vy(t),"getId",(function(){return t.props.id||t.generatedId})),Dy(Vy(t),"getIsOpen",(function(){return!!("boolean"==typeof t.props.isOpen?t.props.isOpen:t.state.isOpen)})),Dy(Vy(t),"getInputProps",(function(e){var n=e.assistiveText,r=e.labels,a={iconRight:o.a.createElement(Nl,{assistiveText:{icon:t.props.assistiveTextOpenCalendar||n.openCalendar},"aria-haspopup":!0,"aria-expanded":t.getIsOpen(),category:"utility",name:"event",onClick:function(){t.openDialogFromIcon()},type:"button"}),inputRef:function(e){t.setInputRef(e)},id:t.getId(),onChange:t.handleInputChange,onClick:function(){t.openDialog()},onKeyDown:t.handleKeyDown,value:t.props.value?t.props.formatter(t.props.value):t.state.inputValue},c={disabled:t.props.disabled,label:t.props.label||r.label,onBlur:t.props.onBlur,onFocus:t.props.onFocus,placeholder:t.props.placeholder||r.placeholder,required:t.props.required},s=t.props.children&&t.props.children.props,i=Py(Py({},s),{},{onClick:function(){t.openDialog(),s&&s.onClick&&s.onClick()}}),l=t.props.input&&t.props.input.props;return Py(Py(Py(Py({},a),c),i),l)})),Dy(Vy(t),"setInputRef",(function(e){t.inputRef=e,t.state.inputRendered||t.setState({inputRendered:!0})})),Dy(Vy(t),"handleCalendarChange",(function(e,n){var r=n.date;t.props.value||t.setState({value:r,formattedValue:t.props.formatter(r),inputValue:t.props.formatter(r)}),t.handleRequestClose(),t.props.onChange&&t.props.onChange(e,{date:r,formattedDate:t.props.formatter(r),timezoneOffset:r.getTimezoneOffset()}),t.props.onDateChange&&t.props.onDateChange(r,t.props.formatter(r))})),Dy(Vy(t),"handleClickOutside",(function(){t.handleRequestClose()})),Dy(Vy(t),"handleClose",(function(){t.props.onClose&&t.props.onClose()})),Dy(Vy(t),"handleInputChange",(function(e){"boolean"!=typeof t.props.isOpen&&t.state.isOpen&&t.setState({isOpen:!1}),t.setState({formattedValue:e.target.value,inputValue:e.target.value});var n=t.props.parser(e.target.value);t.props.onChange&&t.props.onChange(e,{date:n,formattedDate:e.target.value,timezoneOffset:n.getTimezoneOffset()})})),Dy(Vy(t),"handleKeyDown",(function(e){!e.keyCode||e.shiftKey||e.keyCode!==Lt.DOWN&&e.keyCode!==Lt.UP||(Nt.trapEvent(e),t.setState({isOpen:!0})),e.keyCode!==Lt.ESCAPE&&e.keyCode!==Lt.ENTER||(Nt.trapEvent(e),t.setState({isOpen:!1})),t.props.onKeyDown&&t.props.onKeyDown(e,{})})),Dy(Vy(t),"handleOpen",(function(e,n){var r=n.portal;t.props.onOpen&&t.props.onOpen(e,{portal:r}),t.selectedDateCell&&t.state.isOpenFromIcon&&t.selectedDateCell.focus()})),Dy(Vy(t),"handleRequestClose",(function(){t.props.onRequestClose&&t.props.onRequestClose(),t.getIsOpen()&&(t.setState({isOpen:!1,isOpenFromIcon:!1}),t.inputRef&&t.inputRef.focus())})),Dy(Vy(t),"openDialogFromIcon",(function(){t.setState({isOpenFromIcon:!0}),t.openDialog(!0)})),Dy(Vy(t),"openDialog",(function(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];e||t.setState({isOpenFromIcon:!1}),t.props.onRequestOpen?t.props.onRequestOpen():t.setState({isOpen:!0})})),Dy(Vy(t),"parseDate",(function(e){var n=t.props.parser(e);return("[object Date]"!==Object.prototype.toString.call(n)||isNaN(n.getTime()))&&(n=new Date),n}));var n=e.formattedValue||e.strValue,r=e.formatter(e.value),s=e.value?r:n;return t.state={isOpen:!1,isOpenFromIcon:!1,value:e.value,formattedValue:s||"",inputValue:s||""},t.generatedId=p.a.generate(),Cy(T,e,Ey),t}return t=c,(n=[{key:"render",value:function(){var e=lr()({},Ay.labels,this.props.labels),t=lr()({},Ay.assistiveText,this.props.assistiveText),n=this.getInputProps({assistiveText:t,labels:e}),r=this.props.children?o.a.cloneElement(this.props.children,Py({},n)):o.a.createElement(Ep,n);return o.a.createElement("div",{className:i()("slds-dropdown-trigger","slds-dropdown-trigger_click","ignore-react-onclickoutside",{"slds-is-open":this.getIsOpen()},this.props.triggerClassName)},r,this.getDialog({labels:e,assistiveText:t}))}}])&&ky(t.prototype,n),r&&ky(t,r),c}(o.a.Component);Fy.contextTypes={iconPath:c.a.string},Fy.displayName=T,Fy.propTypes=Iy,Fy.defaultProps=Ay;var By=Cc(Fy);function qy(e){return(qy="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function Ky(e){return function(e){if(Array.isArray(e))return Wy(e)}(e)||function(e){if("undefined"!=typeof Symbol&&Symbol.iterator in Object(e))return Array.from(e)}(e)||function(e,t){if(!e)return;if("string"==typeof e)return Wy(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return Wy(e,t)}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Wy(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function Uy(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function Gy(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function Yy(e,t){return(Yy=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function Qy(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=Xy(e);if(t){var o=Xy(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return Jy(this,n)}}function Jy(e,t){return!t||"object"!==qy(t)&&"function"!=typeof t?function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e):t}function Xy(e){return(Xy=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}var $y={assistiveText:c.a.shape({label:c.a.string}),className:c.a.oneOfType([c.a.array,c.a.object,c.a.string]),isPaused:c.a.bool,isStatic:c.a.bool,scorePolarity:c.a.oneOf(["positive","negative"]),strengthLevel:c.a.oneOf(["-3","-2","-1","0","1","2","3",-3,-2,-1,0,1,2,3]),title:c.a.string.isRequired,trendDirection:c.a.oneOf(["down","up","neutral"]),variant:c.a.oneOf(["ellie","eq","score","strength","trend","typing","waffle"]).isRequired},Zy=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&Yy(e,t)}(c,e);var t,n,r,a=Qy(c);function c(){return Uy(this,c),a.apply(this,arguments)}return t=c,(n=[{key:"getIconChildren",value:function(){var e=[],t=this.props.title?this.props.title:"".concat(this.props.variant.charAt(0).toUpperCase()).concat(this.props.variant.slice(1));return"ellie"===this.props.variant?e=[o.a.createElement("svg",{viewBox:"0 0 280 14","aria-hidden":"true"},o.a.createElement("circle",{cx:"7",cy:"7",r:"4"}),o.a.createElement("circle",{cx:"7",cy:"7",r:"3"}),o.a.createElement("circle",{cx:"21",cy:"7",r:"4"}),o.a.createElement("circle",{cx:"21",cy:"7",r:"3"}),o.a.createElement("circle",{cx:"35",cy:"7",r:"4"}),o.a.createElement("circle",{cx:"35",cy:"7",r:"3"}),o.a.createElement("circle",{cx:"49",cy:"7",r:"4"}),o.a.createElement("circle",{cx:"49",cy:"7",r:"3"}),o.a.createElement("circle",{cx:"63",cy:"7",r:"4"}),o.a.createElement("circle",{cx:"63",cy:"7",r:"3"}),o.a.createElement("circle",{cx:"77",cy:"7",r:"4"}),o.a.createElement("circle",{cx:"77",cy:"7",r:"3"}),o.a.createElement("circle",{cx:"91",cy:"7",r:"4"}),o.a.createElement("circle",{cx:"91",cy:"7",r:"3"}),o.a.createElement("circle",{cx:"105",cy:"7",r:"4"}),o.a.createElement("circle",{cx:"105",cy:"7",r:"3"}),o.a.createElement("circle",{cx:"119",cy:"7",r:"4"}),o.a.createElement("circle",{cx:"119",cy:"7",r:"3"}),o.a.createElement("circle",{cx:"133",cy:"7",r:"4"}),o.a.createElement("circle",{cx:"133",cy:"7",r:"3"}),o.a.createElement("circle",{cx:"147",cy:"7",r:"4"}),o.a.createElement("circle",{cx:"147",cy:"7",r:"3"}),o.a.createElement("circle",{cx:"161",cy:"7",r:"4"}),o.a.createElement("circle",{cx:"161",cy:"7",r:"3"}),o.a.createElement("circle",{cx:"175",cy:"7",r:"4"}),o.a.createElement("circle",{cx:"175",cy:"7",r:"3"}),o.a.createElement("circle",{cx:"189",cy:"7",r:"4"}),o.a.createElement("circle",{cx:"189",cy:"7",r:"3"}),o.a.createElement("circle",{cx:"203",cy:"7",r:"4"}),o.a.createElement("circle",{cx:"203",cy:"7",r:"3"}),o.a.createElement("circle",{cx:"217",cy:"7",r:"4"}),o.a.createElement("circle",{cx:"217",cy:"7",r:"3"}),o.a.createElement("circle",{cx:"231",cy:"7",r:"4"}),o.a.createElement("circle",{cx:"231",cy:"7",r:"3"}),o.a.createElement("circle",{cx:"245",cy:"7",r:"4"}),o.a.createElement("circle",{cx:"245",cy:"7",r:"3"}),o.a.createElement("circle",{cx:"259",cy:"7",r:"4"}),o.a.createElement("circle",{cx:"259",cy:"7",r:"3"}),o.a.createElement("circle",{cx:"273",cy:"7",r:"4"}),o.a.createElement("circle",{cx:"273",cy:"7",r:"3"}))]:"eq"===this.props.variant?e=[o.a.createElement("div",{className:"slds-icon-eq__bar"}),o.a.createElement("div",{className:"slds-icon-eq__bar"}),o.a.createElement("div",{className:"slds-icon-eq__bar"})]:"score"===this.props.variant?e=[o.a.createElement("svg",{viewBox:"0 0 5 5",className:"slds-icon-score__positive","aria-hidden":"true"},o.a.createElement("circle",{cx:"50%",cy:"50%",r:"1.875"})),o.a.createElement("svg",{viewBox:"0 0 5 5",className:"slds-icon-score__negative","aria-hidden":"true"},o.a.createElement("circle",{cx:"50%",cy:"50%",r:"1.875"}))]:"strength"===this.props.variant?e=[o.a.createElement("svg",{viewBox:"0 0 27 7","aria-hidden":"true"},o.a.createElement("circle",{r:"3.025",cx:"3.5",cy:"3.5"}),o.a.createElement("circle",{r:"3.025",cx:"13.5",cy:"3.5"}),o.a.createElement("circle",{r:"3.025",cx:"23.5",cy:"3.5"}))]:"trend"===this.props.variant?e=[o.a.createElement("svg",{viewBox:"0 0 16 16","aria-hidden":"true"},o.a.createElement("path",{className:"slds-icon-trend__arrow",d:"M.75 8H11M8 4.5L11.5 8 8 11.5"}),o.a.createElement("circle",{className:"slds-icon-trend__circle",cy:"8",cx:"8",r:"7.375",transform:"rotate(-28 8 8) scale(-1 1) translate(-16 0)"}))]:"typing"===this.props.variant?(e=[o.a.createElement("span",{className:"slds-icon-typing__dot"}),o.a.createElement("span",{className:"slds-icon-typing__dot"}),o.a.createElement("span",{className:"slds-icon-typing__dot"})],this.props.title||(t="User is typing")):"waffle"===this.props.variant&&(e=[o.a.createElement("span",{className:"slds-icon-waffle"},o.a.createElement("span",{className:"slds-r1"}),o.a.createElement("span",{className:"slds-r2"}),o.a.createElement("span",{className:"slds-r3"}),o.a.createElement("span",{className:"slds-r4"}),o.a.createElement("span",{className:"slds-r5"}),o.a.createElement("span",{className:"slds-r6"}),o.a.createElement("span",{className:"slds-r7"}),o.a.createElement("span",{className:"slds-r8"}),o.a.createElement("span",{className:"slds-r9"}))],this.props.title||(t="Open App Launcher")),e.push(o.a.createElement("span",{className:"slds-assistive-text"},this.props.assistiveText&&this.props.assistiveText.label?this.props.assistiveText.label:t)),e}},{key:"render",value:function(){var e=this.getIconChildren(),t=[{"slds-is-animated":!this.props.isStatic,"slds-is-paused":this.props.isPaused}],n={title:this.props.title},r="span";return"waffle"===this.props.variant?(t.unshift("slds-button","slds-icon-waffle_container"),r="button"):(t.unshift("slds-icon-".concat(this.props.variant)),"eq"===this.props.variant?r="div":"score"===this.props.variant?n["data-slds-state"]=this.props.scorePolarity?this.props.scorePolarity:"positive":"strength"===this.props.variant?n["data-slds-strength"]=void 0!==this.props.strengthLevel?"".concat(this.props.strengthLevel):"0":"trend"===this.props.variant&&(n["data-slds-trend"]=this.props.trendDirection?this.props.trendDirection:"neutral")),n.className=yn(t,this.props.className),o.a.createElement.apply(o.a,[r,n].concat(Ky(e)))}}])&&Gy(t.prototype,n),r&&Gy(t,r),c}(o.a.Component);Zy.displayName="SLDSDynamicIcon",Zy.propTypes=$y;var eb=Zy;function tb(e){return(tb="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function nb(){return(nb=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}function rb(e,t){if(null==e)return{};var n,r,o=function(e,t){if(null==e)return{};var n,r,o={},a=Object.keys(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)>=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}function ob(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function ab(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function cb(e,t){return(cb=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function sb(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=pb(e);if(t){var o=pb(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return ib(this,n)}}function ib(e,t){return!t||"object"!==tb(t)&&"function"!=typeof t?lb(e):t}function lb(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function pb(e){return(pb=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function ub(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var hb={labels:{cancel:"Cancel",save:"Save"}},db=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&cb(e,t)}(c,e);var t,n,r,a=sb(c);function c(){var e;ob(this,c);for(var t=arguments.length,n=new Array(t),r=0;r<t;r++)n[r]=arguments[r];return ub(lb(e=a.call.apply(a,[this].concat(n))),"handleOpen",(function(){e.setState({isOpen:!0})})),ub(lb(e),"handleClose",(function(){e.setState({isOpen:!1})})),e}return t=c,(n=[{key:"render",value:function(){var e=this.props,t=e.onCancel,n=e.onSave,r=rb(e,["onCancel","onSave"]),a=this.props.children?this.props.children:o.a.createElement(or,{assistiveText:{icon:"Edit: Status"},className:"slds-button_reset",disabled:this.props.disabled,iconCategory:"utility",iconClassName:"slds-button__icon slds-button__icon_hint",iconName:"edit",onClick:this.props.handleOpen,variant:"icon",style:{verticalAlign:"middle"}}),c=lr()({},hb.labels,this.props.labels);return o.a.createElement(wf,nb({classNameFooter:["slds-p-top_xxx-small","slds-p-bottom_xx-small","slds-p-right_large"],classNameBody:["slds-p-bottom_xx-small"],footer:o.a.createElement("div",{className:"slds-text-align_right slds-text-align_right slds-p-bottom_x-small slds-p-right_xx-small"},o.a.createElement(or,{label:c.cancel,onClick:t}),o.a.createElement(or,{disabled:!this.props.isModified,variant:"brand",label:c.save,onClick:n})),footerStyle:{borderTop:"0px"},onClose:this.handleClose,onRequestClose:this.handleClose,onOpen:this.handleOpen},r),a)}}])&&ab(t.prototype,n),r&&ab(t,r),c}(o.a.Component);ub(db,"displayName","SLDSPopoverEditDialog"),ub(db,"propTypes",{disabled:c.a.bool,id:c.a.string,isModified:c.a.bool,labels:c.a.shape({cancel:c.a.oneOfType([c.a.string,c.a.node]),save:c.a.oneOfType([c.a.string,c.a.node])}),onCancel:c.a.func,onSave:c.a.func,popover:c.a.node}),db.defaultProps=hb;var fb=db;function vb(e){return(vb="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function mb(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function gb(e,t,n){return t&&mb(e.prototype,t),n&&mb(e,n),e}function yb(e,t){return(yb=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function bb(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=zb(e);if(t){var o=zb(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return wb(this,n)}}function wb(e,t){return!t||"object"!==vb(t)&&"function"!=typeof t?function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e):t}function zb(e){return(zb=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}var xb={assistiveText:c.a.shape({label:c.a.string,addCondition:c.a.string,addGroup:c.a.string}),id:c.a.string,children:c.a.node,className:c.a.oneOfType([c.a.array,c.a.object,c.a.string]),events:c.a.shape({onChangeTrigger:c.a.func,onChangeCustomLogicValue:c.a.func,onAddCondition:c.a.func,onAddGroup:c.a.func}),focusOnMount:c.a.bool,labels:c.a.shape({addCondition:c.a.string,addGroup:c.a.string,customLogic:c.a.string,label:c.a.string,takeAction:c.a.string,triggerAll:c.a.string,triggerAlways:c.a.string,triggerAny:c.a.string,triggerCustom:c.a.string,triggerFormula:c.a.string}),isRoot:c.a.bool,triggerType:c.a.oneOf(["all","any","custom","always","formula"]),customLogicValue:c.a.string},_b={triggerType:"all",customLogicValue:"",labels:{label:"",takeAction:"Take Action When",customLogic:"Custom Logic",addCondition:"Add Condition",addGroup:"Add Group",triggerAll:"All Conditions Are Met",triggerAny:"Any Condition Is Met",triggerCustom:"Custom Logic Is Met",triggerAlways:"Always (No Criteria)",triggerFormula:"Formula Evaluates To True"}},Ob=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&yb(e,t)}(n,e);var t=bb(n);function n(e){var r;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,n),(r=t.call(this,e)).generatedId=p.a.generate(),r}return gb(n,null,[{key:"triggerChange",value:function(e,t){var n=t.selection[0].id,r="";return"1"===n?r="all":"2"===n?r="any":"3"===n?r="custom":"4"===n?r="always":"5"===n&&(r="formula"),r}}]),gb(n,[{key:"componentDidMount",value:function(){if(this.props.focusOnMount&&this.rootNode){var e=this.rootNode.querySelector("input");e&&e.focus()}}},{key:"getId",value:function(){return this.props.id||this.generatedId}},{key:"getTriggers",value:function(){var e=lr()({},_b.labels,this.props.labels);return[{id:"1",label:e.triggerAll},{id:"2",label:e.triggerAny},{id:"3",label:e.triggerCustom},{id:"4",label:e.triggerAlways},{id:"5",label:e.triggerFormula}]}},{key:"getTriggerSelection",value:function(){var e=this.props.triggerType,t=this.getTriggers(),n=[];return"all"===e?n.push(t[0]):"any"===e?n.push(t[1]):"custom"===e?n.push(t[2]):"always"===e?n.push(t[3]):"formula"===e&&n.push(t[4]),n}},{key:"render",value:function(){var e=this,t=lr()({},_b.assistiveText,this.props.assistiveText),r=lr()({},_b.labels,this.props.labels),a=o.a.createElement(Qv,{events:{onSelect:function(t,r){return e.props.events.onChangeTrigger(t,{triggerType:n.triggerChange(t,r)})}},id:"".concat(this.getId(),"-take-action-trigger"),multiple:!1,options:this.getTriggers(),variant:"readonly",labels:{label:r.takeAction},selection:this.getTriggerSelection()}),c="always"!==this.props.triggerType&&"formula"!==this.props.triggerType?o.a.createElement("div",{className:"slds-expression__buttons"},o.a.createElement(or,{iconCategory:"utility",iconName:"add",iconPosition:"left",id:"".concat(this.getId(),"-add-condition-button"),label:r.addCondition,assistiveText:{icon:t.addCondition},onClick:this.props.events.onAddCondition}),this.props.isRoot?o.a.createElement(or,{iconCategory:"utility",iconName:"add",iconPosition:"left",id:"".concat(this.getId(),"-add-group-button"),label:r.addGroup,assistiveText:{icon:t.addGroup},onClick:this.props.events.onAddGroup}):null):null,s=null;return"always"!==this.props.triggerType&&(s=this.props.isRoot&&"formula"===this.props.triggerType?this.props.children:o.a.createElement(o.a.Fragment,null,"custom"===this.props.triggerType?o.a.createElement(Ep,{label:r.customLogic,className:"slds-expression__custom-logic",id:"".concat(this.getId(),"-custom-logic-input"),value:this.props.customLogicValue,variant:"base",onChange:this.props.events.onChangeCustomLogicValue}):null,o.a.createElement("ul",null,this.props.children))),this.props.isRoot?"formula"===this.props.triggerType?o.a.createElement(o.a.Fragment,null,o.a.createElement("div",{className:"slds-expression__options"},a),s):o.a.createElement("div",{className:i()(this.props.className),id:this.getId()},o.a.createElement("div",{className:"slds-expression__options"},a),s,c):o.a.createElement("li",{className:i()("slds-expression__group",this.props.className),id:this.getId(),ref:function(t){e.rootNode=t}},o.a.createElement("fieldset",null,o.a.createElement("legend",{className:"slds-expression__legend slds-expression__legend_group"},o.a.createElement("span",null,r.label),o.a.createElement("span",{className:"slds-assistive-text"},t.label)),o.a.createElement("div",{className:"slds-expression__options"},a),s,c))}}]),n}(o.a.Component);Ob.displayName="SLDSExpressionGroup",Ob.propTypes=xb,Ob.defaultProps=_b;var Mb=Ob;function Sb(e){return(Sb="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function Cb(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function Eb(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function Hb(e,t){return(Hb=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function jb(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=kb(e);if(t){var o=kb(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return Pb(this,n)}}function Pb(e,t){return!t||"object"!==Sb(t)&&"function"!=typeof t?function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e):t}function kb(e){return(kb=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}var Nb={id:c.a.string,children:c.a.node,events:c.a.shape({onChangeTrigger:c.a.func,onAddGroup:c.a.func,onAddCondition:c.a.func,onChangeCustomLogicValue:c.a.func}),labels:c.a.shape({addCondition:c.a.string,addGroup:c.a.string,customLogic:c.a.string,takeAction:c.a.string,title:c.a.string,triggerAll:c.a.string,triggerAlways:c.a.string,triggerAny:c.a.string,triggerCustom:c.a.string,triggerFormula:c.a.string}),className:c.a.oneOfType([c.a.array,c.a.object,c.a.string]),triggerType:c.a.oneOf(["all","any","custom","always","formula"]),customLogicValue:c.a.string},Tb={labels:{title:"Conditions"}},Lb=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&Hb(e,t)}(c,e);var t,n,r,a=jb(c);function c(){return Cb(this,c),a.apply(this,arguments)}return t=c,(n=[{key:"UNSAFE_componentWillMount",value:function(){this.generatedId=p.a.generate()}},{key:"getId",value:function(){return this.props.id||this.generatedId}},{key:"render",value:function(){var e=lr()({},Tb.labels,this.props.labels);return o.a.createElement("div",{className:i()("slds-expression",this.props.className),id:this.getId()},o.a.createElement("h2",{className:"slds-expression__title"},e.title),o.a.createElement(Mb,{isRoot:!0,id:"".concat(this.getId(),"-group"),events:this.props.events,labels:e,customLogicValue:this.props.customLogicValue,triggerType:this.props.triggerType},this.props.children))}}])&&Eb(t.prototype,n),r&&Eb(t,r),c}(o.a.Component);Lb.displayName="SLDSExpression",Lb.propTypes=Nb,Lb.defaultProps=Tb;var Vb=Lb;function Rb(e){return(Rb="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function Db(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function Ib(e,t){return(Ib=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function Ab(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=Bb(e);if(t){var o=Bb(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return Fb(this,n)}}function Fb(e,t){return!t||"object"!==Rb(t)&&"function"!=typeof t?function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e):t}function Bb(e){return(Bb=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}var qb={assistiveText:c.a.shape({title:c.a.string,deleteIcon:c.a.string}),id:c.a.string,className:c.a.oneOfType([c.a.array,c.a.object,c.a.string]),events:c.a.shape({onChangeResource:c.a.func,onChangeOperator:c.a.func,onChangeValue:c.a.func,onDelete:c.a.func}).isRequired,focusOnMount:c.a.bool,labels:c.a.shape({deleteCondition:c.a.string,label:c.a.string,operator:c.a.string,resource:c.a.string,value:c.a.string}),isSubCondition:c.a.bool,resourcesList:c.a.arrayOf(c.a.object),resourceSelected:c.a.object,operatorsList:c.a.arrayOf(c.a.object),operatorSelected:c.a.object,value:c.a.string},Kb={assistiveText:{title:"Condition",deleteIcon:"Delete Condition"},labels:{label:"",operator:"Operator",resource:"Resource",value:"Value",deleteCondition:"Delete Condition"},value:""},Wb=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&Ib(e,t)}(c,e);var t,n,r,a=Ab(c);function c(e){var t;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,c),(t=a.call(this,e)).generatedId=p.a.generate(),t}return t=c,(n=[{key:"componentDidMount",value:function(){if(this.props.focusOnMount&&this.rootNode){var e=this.rootNode.querySelector("input");e&&e.focus()}}},{key:"getId",value:function(){return this.props.id||this.generatedId}},{key:"render",value:function(){var e=this,t=lr()({},Kb.assistiveText,this.props.assistiveText),n=lr()({},Kb.labels,this.props.labels);return o.a.createElement("li",{className:i()("slds-expression__row",{"slds-expression__row_group":this.props.isSubCondition},this.props.className),id:this.getId(),ref:function(t){e.rootNode=t}},o.a.createElement("fieldset",null,o.a.createElement("legend",{className:"slds-expression__legend"},o.a.createElement("span",null,n.label),o.a.createElement("span",{className:"slds-assistive-text"},t.title)),o.a.createElement("div",{className:"slds-grid slds-gutters_xx-small"},o.a.createElement("div",{className:"slds-col"},o.a.createElement(Qv,{events:{onSelect:this.props.events.onChangeResource},id:"".concat(this.getId(),"-resource-selector"),multiple:!1,variant:"readonly",labels:{label:n.resource},options:this.props.resourcesList,selection:[this.props.resourceSelected]})),o.a.createElement("div",{className:"slds-col slds-grow-none"},o.a.createElement(Qv,{events:{onSelect:this.props.events.onChangeOperator},id:"".concat(this.getId(),"-operator-selector"),multiple:!1,variant:"readonly",labels:{label:n.operator},options:this.props.operatorsList,selection:[this.props.operatorSelected],singleInputDisabled:!this.props.resourceSelected})),o.a.createElement("div",{className:"slds-col"},o.a.createElement(Ep,{id:"".concat(this.getId(),"-input"),label:n.value,value:this.props.value,onChange:this.props.events.onChangeValue,disabled:!this.props.resourceSelected})),o.a.createElement("div",{className:"slds-col slds-grow-none"},o.a.createElement("div",{className:"slds-form-element"},o.a.createElement("span",{className:"slds-form-element__label"}," "),o.a.createElement("div",{className:"slds-form-element__control"},o.a.createElement(or,{id:"".concat(this.getId(),"-delete-button"),variant:"outline-brand",iconCategory:"utility",iconName:"delete",iconVariant:"border-filled",onClick:this.props.events.onDelete,assistiveText:{icon:t.deleteIcon},title:n.deleteCondition})))))))}}])&&Db(t.prototype,n),r&&Db(t,r),c}(o.a.Component);Wb.displayName="SLDSExpressionCondition",Wb.propTypes=qb,Wb.defaultProps=Kb;var Ub=Wb,Gb=n(49),Yb=n.n(Gb);function Qb(e){return(Qb="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function Jb(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function Xb(e,t){return(Xb=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function $b(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=tw(e);if(t){var o=tw(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return Zb(this,n)}}function Zb(e,t){return!t||"object"!==Qb(t)&&"function"!=typeof t?ew(e):t}function ew(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function tw(e){return(tw=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}var nw={assistiveText:c.a.shape({help:c.a.string}),id:c.a.string,className:c.a.oneOfType([c.a.array,c.a.object,c.a.string]),events:c.a.shape({onChangeTextEditor:c.a.func,onClickHelp:c.a.func,onClickCheckSyntax:c.a.func}),labels:c.a.shape({label:c.a.string,checkSyntax:c.a.string,textArea:c.a.string}),resourceCombobox:c.a.node,functionCombobox:c.a.node,operatorInput:c.a.node,textEditorValue:c.a.node},rw={assistiveText:{help:"Help"},labels:{label:"Formula",checkSyntax:"Check Syntax",textArea:"Text Area"}},ow=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&Xb(e,t)}(c,e);var t,n,r,a=$b(c);function c(){var e;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,c),function(e,t,n){t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n}(ew(e=a.call(this)),"handleTextEditorChange",(function(t){var n=t.target.value;void 0===e.props.textEditorValue&&e.setState({textEditorValue:n}),e.props.events&&e.props.events.onChangeTextEditor&&e.props.events.onChangeTextEditor(t,{textEditorValue:n})})),e.textEditorRef=o.a.createRef(),e.state={textEditorValue:"Compose formula..."},e.generatedId=p.a.generate(),e}return t=c,(n=[{key:"getId",value:function(){return this.props.id||this.generatedId}},{key:"render",value:function(){var e=lr()({},rw.assistiveText,this.props.assistiveText),t=lr()({},rw.labels,this.props.labels);return o.a.createElement(o.a.Fragment,null,o.a.createElement("div",{id:this.getId(),className:i()("slds-expression_formula__rte",this.props.className)},o.a.createElement("div",{className:"slds-form-element"},o.a.createElement("span",{className:"slds-form-element__label"},t.label),o.a.createElement("div",{className:"slds-form-element__control"},o.a.createElement("div",{className:"slds-rich-text-editor slds-grid slds-grid_vertical slds-nowrap"},o.a.createElement("div",{role:"toolbar",className:"slds-rich-text-editor__toolbar slds-shrink-none"},o.a.createElement("div",{className:"slds-rich-text-editor__col slds-rich-text-editor__col_grow"},this.props.resourceCombobox),o.a.createElement("div",{className:"slds-rich-text-editor__col slds-rich-text-editor__col_grow"},this.props.functionCombobox),o.a.createElement("div",{className:"slds-rich-text-editor__col slds-rich-text-editor__col_grow"},this.props.operatorInput),o.a.createElement("div",{className:"slds-rich-text-editor__col"},o.a.createElement(or,{assistiveText:{icon:e.help},className:"slds-button_icon-container",id:"".concat(this.getId(),"-help-button"),variant:"icon",iconCategory:"utility",iconName:"help",onClick:this.props.events.onClickHelp,title:e.help}))),o.a.createElement("div",{className:"slds-rich-text-editor__textarea slds-grid"},o.a.createElement(Yb.a,{id:"".concat(this.getId(),"-content-editor"),"aria-label":this.props.labels.textArea,className:"slds-rich-text-area__content slds-text-color_weak slds-grow",innerRef:this.textEditorRef,html:void 0!==this.props.textEditorValue?this.props.textEditorValue:this.state.textEditorValue,onChange:this.handleTextEditorChange,disabled:!1})))))),o.a.createElement("div",{className:"slds-m-top_small"},o.a.createElement(or,{id:"".concat(this.getId(),"-check-syntax-button"),variant:"neutral",label:t.checkSyntax,onClick:this.props.events.onClickCheckSyntax})))}}])&&Jb(t.prototype,n),r&&Jb(t,r),c}(o.a.Component);ow.displayName="SLDSExpressionFormula",ow.propTypes=nw,ow.defaultProps=rw;var aw=ow,cw=function(e){return e.isLoading?o.a.createElement(o.a.Fragment,null,o.a.createElement("span",{className:"slds-assistive-text"},e.assistiveText.link),o.a.createElement(Bl,{size:"medium",variant:"base",assistiveText:{label:e.assistiveText.loading},containerStyle:{zIndex:"1"}})):e.image?o.a.createElement(o.a.Fragment,null,o.a.createElement("span",{className:"slds-assistive-text"},e.assistiveText.link),o.a.createElement("img",{alt:e.assistiveText.image||e.labels.title,src:e.image})):o.a.createElement(o.a.Fragment,null,o.a.createElement("span",{className:"slds-assistive-text"},e.assistiveText.link),o.a.createElement("span",{className:"slds-file__icon slds-icon_container",title:e.labels.title},o.a.cloneElement(e.icon,{size:null})))};cw.displayName="SLDSFilesFigure",cw.propTypes={assistiveText:c.a.shape({image:c.a.string}),isLoading:c.a.bool,image:c.a.string,labels:c.a.shape({title:c.a.string.isRequired})},cw.defaultProps={isLoading:!1};var sw=cw,iw=function(e){var t=o.a.createElement("div",{className:"slds-file__actions-menu"},o.a.createElement("div",{className:"slds-button-group",role:"group"},"function"==typeof e.onClickDownload?o.a.createElement(or,{type:"button",variant:"icon",iconSize:"x-small",onClick:e.onClickDownload,title:"Download",className:"slds-button_icon-inverse"},o.a.createElement(Sn,{assistiveText:{label:e.assistiveText.download},category:"utility",name:"download",size:"xx-small",inverse:e.hasNoVisibleTitle})):null,e.moreActionsDropdown?o.a.cloneElement(e.moreActionsDropdown,{assistiveText:{icon:e.assistiveText.moreActions},overlay:!1,buttonVariant:"icon",buttonInverse:e.hasNoVisibleTitle,className:"dsr-file__more-actions-dropdown ",triggerClassName:"dsr-file__more-actions"}):null));return"function"==typeof e.onClickDownload||e.moreActionsDropdown?e.hasNoVisibleTitle?o.a.createElement("div",{className:"slds-file__title slds-file__title_scrim"},t):t:null};iw.displayName="SLDSFilesActions",iw.propTypes={onClickDownload:c.a.func,moreActionsDropdown:c.a.node,hasNoVisibleTitle:c.a.bool};var lw=iw;function pw(e){return(pw="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function uw(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function hw(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?uw(Object(n),!0).forEach((function(t){dw(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):uw(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function dw(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function fw(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function vw(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function mw(e,t){return(mw=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function gw(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=bw(e);if(t){var o=bw(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return yw(this,n)}}function yw(e,t){return!t||"object"!==pw(t)&&"function"!=typeof t?function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e):t}function bw(e){return(bw=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}var ww={assistiveText:c.a.shape({download:c.a.string,image:c.a.string,link:c.a.string,loading:c.a.string,moreActions:c.a.string}),className:c.a.oneOfType([c.a.array,c.a.object,c.a.string]),crop:c.a.oneOf(["16-by-9","4-by-3","1-by-1"]),id:c.a.string,onClickDownload:c.a.func,onClickImage:c.a.func,moreActionsDropdown:c.a.node,icon:c.a.node,externalIcon:c.a.node,image:c.a.string,isLoading:c.a.bool,href:c.a.string,labels:c.a.shape({title:c.a.string.isRequired}),hasNoVisibleTitle:c.a.bool},zw={assistiveText:{download:"download",link:"Preview:",loading:"loading",moreActions:"more actions"},crop:"16-by-9",href:"javascript:void(0);",isLoading:!1,hasNoVisibleTitle:!1},xw=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&mw(e,t)}(c,e);var t,n,r,a=gw(c);function c(){return fw(this,c),a.apply(this,arguments)}return t=c,r=[{key:"injectMoreActionsStyles",value:function(){return o.a.createElement("style",null,"\n\t\t\t\t\t.dsr-file__more-actions-dropdown ul.dropdown__list li.slds-dropdown__item > a:before\n\t\t\t\t\t{ background: none; }\n\t\t\t\t\t.dsr-file__more-actions-dropdown ul.dropdown__list li.slds-dropdown__item > a:after\n\t\t\t\t\t{ background: none; }\n\t\t\t\t\t.dsr-file__more-actions > button:first-child\n\t\t\t\t\t{ border-radius: 0 0.25rem 0.25rem 0!important;}\n\t\t\t")}}],(n=[{key:"UNSAFE_componentWillMount",value:function(){this.generatedId=p.a.generate()}},{key:"getId",value:function(){return this.props.id||this.generatedId}},{key:"render",value:function(){var e=hw(hw({},zw.assistiveText),this.props.assistiveText);return o.a.createElement("div",{id:this.getId(),className:i()("slds-file","slds-file_card",this.props.hasNoVisibleTitle?null:"slds-has-title",this.props.className)},o.a.createElement("figure",null,o.a.createElement("a",{href:this.props.href,className:i()("slds-file__crop",this.props.crop?"slds-file__crop_".concat(this.props.crop):null),onClick:this.props.onClickImage},o.a.createElement(sw,{assistiveText:e,labels:{title:this.props.labels.title},isLoading:this.props.isLoading,image:this.props.image,icon:this.props.icon})),this.props.hasNoVisibleTitle?null:o.a.createElement("figcaption",{className:"slds-file__title slds-file__title_card"},o.a.createElement("div",{className:"slds-media__figure slds-line-height_reset"},this.props.icon?o.a.cloneElement(this.props.icon,{size:"x-small"}):null),o.a.createElement("div",{className:"slds-media__body"},o.a.createElement("span",{className:"slds-file__text slds-truncate",title:this.props.labels.title},this.props.labels.title)))),this.props.externalIcon?o.a.createElement("div",{className:"slds-file__external-icon"},o.a.cloneElement(this.props.externalIcon,{containerClassName:"slds-file__icon slds-icon_container"})):null,this.props.moreActionsDropdown?c.injectMoreActionsStyles():null,o.a.createElement(lw,{assistiveText:e,hasNoVisibleTitle:this.props.hasNoVisibleTitle,onClickDownload:this.props.onClickDownload,moreActionsDropdown:this.props.moreActionsDropdown}))}}])&&vw(t.prototype,n),r&&vw(t,r),c}(o.a.Component);xw.displayName="SLDSFilesFile",xw.propTypes=ww,xw.defaultProps=zw;var _w=xw;function Ow(e){return(Ow="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function Mw(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function Sw(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function Cw(e,t){return(Cw=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function Ew(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=jw(e);if(t){var o=jw(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return Hw(this,n)}}function Hw(e,t){return!t||"object"!==Ow(t)&&"function"!=typeof t?function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e):t}function jw(e){return(jw=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}var Pw={className:c.a.oneOfType([c.a.array,c.a.object,c.a.string]),id:c.a.string,crop:c.a.oneOf(["16-by-9","4-by-3","1-by-1"]),columnClassName:c.a.string},kw=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&Cw(e,t)}(c,e);var t,n,r,a=Ew(c);function c(){return Mw(this,c),a.apply(this,arguments)}return t=c,(n=[{key:"UNSAFE_componentWillMount",value:function(){this.generatedId=p.a.generate()}},{key:"getId",value:function(){return this.props.id||this.generatedId}},{key:"render",value:function(){var e=this,t=o.a.Children.map(this.props.children,(function(t){return o.a.createElement("li",{className:i()("slds-p-horizontal_xx-small slds-size_1-of-3 slds-medium-size_1-of-4",e.props.columnClassName)},o.a.cloneElement(t,{crop:t.props.crop?t.props.crop:e.props.crop}))}));return o.a.createElement("ul",{className:i()("slds-grid slds-grid_pull-padded",this.props.className),id:this.getId()},t)}}])&&Sw(t.prototype,n),r&&Sw(t,r),c}(o.a.Component);kw.displayName="SLDSFiles",kw.propTypes=Pw,kw.defaultProps={crop:"4-by-3"};var Nw=kw;function Tw(e){return(Tw="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function Lw(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function Vw(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?Lw(Object(n),!0).forEach((function(t){Rw(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Lw(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function Rw(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Dw(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function Iw(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function Aw(e,t){return(Aw=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function Fw(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=qw(e);if(t){var o=qw(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return Bw(this,n)}}function Bw(e,t){return!t||"object"!==Tw(t)&&"function"!=typeof t?function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e):t}function qw(e){return(qw=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}var Kw={assistiveText:c.a.shape({count:c.a.string,image:c.a.string,link:c.a.string}),className:c.a.oneOfType([c.a.array,c.a.object,c.a.string]),id:c.a.string,crop:c.a.oneOf(["16-by-9","4-by-3","1-by-1"]),image:c.a.string,count:c.a.string,href:c.a.string},Ww={assistiveText:{count:"more files",image:"Show more files",link:"Preview:"},crop:"16-by-9",href:"javascript:void(0);"},Uw=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&Aw(e,t)}(c,e);var t,n,r,a=Fw(c);function c(){return Dw(this,c),a.apply(this,arguments)}return t=c,(n=[{key:"UNSAFE_componentWillMount",value:function(){this.generatedId=p.a.generate()}},{key:"getId",value:function(){return this.props.id||this.generatedId}},{key:"render",value:function(){var e=Vw(Vw({},Ww.assistiveText),this.props.assistiveText);return o.a.createElement("div",{className:i()("slds-file slds-file_card",this.props.className),id:this.getId()},o.a.createElement("figure",null,o.a.createElement("a",{href:this.props.href,className:i()("slds-file__crop",this.props.crop?"slds-file__crop_".concat(this.props.crop):null)},o.a.createElement("div",{className:"slds-file_overlay"}),o.a.createElement("span",{className:"slds-assistive-text"},e.link),o.a.createElement("img",{src:this.props.image,alt:e.image})),o.a.createElement("figcaption",{className:"slds-file__title slds-file__title_overlay slds-align_absolute-center slds-text-heading_large"},o.a.createElement("div",{className:"slds-media slds-media_small slds-media_center"},o.a.createElement("div",{className:"slds-media__figure slds-line-height_reset"}),o.a.createElement("div",{className:"slds-media__body"},o.a.createElement("span",{className:"slds-file__text slds-truncate",title:this.props.count},o.a.createElement("span",null,this.props.count),o.a.createElement("span",{className:"slds-assistive-text"},e.count)))))))}}])&&Iw(t.prototype,n),r&&Iw(t,r),c}(o.a.Component);Uw.displayName="SLDSFilesMore",Uw.propTypes=Kw,Uw.defaultProps=Ww;var Gw=Uw;function Yw(e){return(Yw="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function Qw(){return(Qw=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}function Jw(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function Xw(e,t){return(Xw=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function $w(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=tz(e);if(t){var o=tz(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return Zw(this,n)}}function Zw(e,t){return!t||"object"!==Yw(t)&&"function"!=typeof t?ez(e):t}function ez(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function tz(e){return(tz=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function nz(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var rz=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&Xw(e,t)}(c,e);var t,n,r,a=$w(c);function c(e){var t;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,c),nz(ez(t=a.call(this,e)),"state",{popoverIsOpen:!!t.props.popover&&t.props.popover.props.isOpen}),nz(ez(t),"getId",(function(){return t.props.id||t.generatedId})),nz(ez(t),"getCustomPopoverProps",(function(e){var n=e.assistiveText,r=o.a.createElement("div",null,o.a.createElement("h4",{className:"slds-assistive-text",id:"".concat(t.getId(),"-popover-heading")},n.editFilterHeading),t.props.children,o.a.createElement("div",{className:"slds-m-top_small slds-text-align_right"},o.a.createElement(or,{className:"slds-col_bump-left",label:"Done",onClick:t.handleChange}))),a={ariaLabelledby:"".concat(t.getId(),"-popover-heading"),align:t.props.align,body:r,heading:"",id:t.getId(),isOpen:t.state.popoverIsOpen,offset:"right"===t.props.align?"0px -35px":void 0,onClose:t.handleClose,onRequestClose:t.handleClose,position:"overflowBoundaryElement",triggerClassName:"slds-grow"},c=lr()(a,t.props.popover?t.props.popover.props:{});return delete c.children,c})),nz(ez(t),"handleFilterClick",(function(){t.setState({popoverIsOpen:!0}),t.props.onClick&&t.props.onClick()})),nz(ez(t),"handleClose",(function(){t.setState({popoverIsOpen:!1})})),nz(ez(t),"handleChange",(function(e){t.setState({popoverIsOpen:!1}),t.props.onChange&&t.props.onChange(e,{id:t.getId()})})),nz(ez(t),"handleRemove",(function(e){t.props.onRemove&&t.props.onRemove(e,{id:t.getId()})})),t.generatedId=p.a.generate(),t}return t=c,(n=[{key:"render",value:function(){var e={editFilter:this.props.assistiveTextEditFilter||this.props.assistiveText.editFilter,editFilterHeading:this.props.assistiveTextEditFilterHeading||this.props.assistiveText.editFilterHeading,removeFilter:this.props.assistiveTextRemoveFilter||this.props.assistiveText.removeFilter||"Remove Filter: ".concat(this.props.property," ").concat(this.props.predicate)},t=this.getCustomPopoverProps({assistiveText:e});return o.a.createElement("div",{className:i()("slds-filters__item","slds-grid","slds-grid_vertical-align-center",{"slds-is-locked":this.props.isLocked,"slds-is-new":this.props.isNew,"slds-has-error":this.props.isError},this.props.className)},this.props.isLocked||!this.props.children&&!this.props.popover?o.a.createElement("button",{"aria-describedby":this.props.isError?"".concat(this.getId(),"-error"):void 0,className:"slds-button_reset slds-grow slds-has-blur-focus",disabled:!0,type:"button"},o.a.createElement("span",{className:"slds-show slds-text-body_small"},this.props.property),o.a.createElement("span",{className:"slds-show"},this.props.predicate)):o.a.createElement(wf,Qw({},t,{silenceDeprecatedPropertyWarning:!0}),o.a.createElement("button",{className:"slds-button_reset slds-grow slds-has-blur-focus",onClick:this.handleFilterClick,"aria-describedby":this.props.isError?"".concat(this.getId(),"-error"):void 0,type:"button"},o.a.createElement("span",{className:"slds-assistive-text"},e.editFilter),this.props.property?o.a.createElement("span",{className:"slds-show slds-text-body_small"},this.props.property):null,o.a.createElement("span",{className:"slds-show"},this.props.predicate))),this.props.isPermanent||this.props.isLocked?null:o.a.createElement(or,{assistiveText:{icon:e.removeFilter},hint:!0,iconCategory:"utility",iconName:"delete",iconSize:"small",iconVariant:"bare",onClick:this.handleRemove,title:e.removeFilter,variant:"icon"}))}}])&&Jw(t.prototype,n),r&&Jw(t,r),c}(o.a.Component);nz(rz,"displayName","SLDSFilter"),nz(rz,"propTypes",{align:c.a.oneOf(["left","right"]),assistiveText:c.a.shape({editFilter:c.a.string,editFilterHeading:c.a.string,removeFilter:c.a.string}),children:c.a.node,className:c.a.oneOfType([c.a.array,c.a.object,c.a.string]),isError:c.a.bool,id:c.a.string,isLocked:c.a.bool,isNew:c.a.bool,isPermanent:c.a.bool,onChange:c.a.func,onRemove:c.a.func,onClick:c.a.func,popover:c.a.node,predicate:c.a.node,property:c.a.node}),nz(rz,"defaultProps",{align:"left",assistiveText:{editFilter:"Edit filter:",editFilterHeading:"Choose filter criteria"},predicate:"New Filter"});var oz=rz;var az=function(){},cz=n(50);function sz(e){return(sz="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function iz(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function lz(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?iz(Object(n),!0).forEach((function(t){mz(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):iz(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function pz(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function uz(e,t){return(uz=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function hz(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=vz(e);if(t){var o=vz(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return dz(this,n)}}function dz(e,t){return!t||"object"!==sz(t)&&"function"!=typeof t?fz(e):t}function fz(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function vz(e){return(vz=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function mz(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var gz={assistiveText:{skipToNav:"Skip to Navigation",skipToContent:"Skip to Main Content"},logoSrc:"/assets/images/logo-noname.svg"},yz=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&uz(e,t)}(c,e);var t,n,r,a=hz(c);function c(e){var t;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,c),mz(fz(t=a.call(this,e)),"handleSkipToContent",(function(e){Nt.trap(e),t.props.onSkipToContent(e)})),mz(fz(t),"handleSkipToNav",(function(e){Nt.trap(e),t.props.onSkipToNav(e)})),az(A,e,cz),t}return t=c,(n=[{key:"render",value:function(){var e,t,n=lz(lz({},gz.assistiveText),this.props.assistiveText),r=(mz(e={},F,[]),mz(e,B,[]),mz(e,q,[]),mz(e,K,[]),mz(e,U,[]),mz(e,G,[]),mz(e,Y,[]),e);return o.a.Children.forEach(this.props.children,(function(e){e&&(e.type.displayName===W?t=e:r[e.type.displayName]&&r[e.type.displayName].push(e))})),r=[].concat(r[F],r[G],r[B],r[U],r[q],r[Y],r[K]),o.a.createElement("header",{className:"slds-global-header_container"},this.props.onSkipToNav?o.a.createElement("a",{href:"javascript:void(0);",className:"slds-assistive-text slds-assistive-text_focus",onClick:this.handleSkipToNav},this.props.skipToNavAssistiveText||n.skipToNav):null,this.props.onSkipToContent?o.a.createElement("a",{href:"javascript:void(0);",className:"slds-assistive-text slds-assistive-text_focus",onClick:this.handleSkipToContent},this.props.skipToContentAssistiveText||n.skipToContent):null,o.a.createElement("div",{className:"slds-global-header slds-grid slds-grid_align-spread"},o.a.createElement("div",{className:"slds-global-header__item"},o.a.createElement("div",{className:"slds-global-header__logo",style:{backgroundImage:"url(".concat(this.props.logoSrc,")")}})),t,o.a.createElement("div",{className:"slds-global-header__item"},o.a.createElement("ul",{className:"slds-global-actions"},r.map((function(e,t){return o.a.createElement("li",{className:"slds-global-actions__item",key:"actions-item-".concat(t)},e)}))))),this.props.navigation)}}])&&pz(t.prototype,n),r&&pz(t,r),c}(o.a.Component);mz(yz,"displayName",A),mz(yz,"propTypes",{assistiveText:c.a.shape({skipToNav:c.a.string,skipToContent:c.a.string}),children:c.a.node,logoSrc:c.a.string,navigation:c.a.node,onSkipToContent:c.a.func,onSkipToNav:c.a.func}),mz(yz,"defaultProps",gz);var bz=yz;function wz(){return(wz=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}function zz(e,t){if(null==e)return{};var n,r,o=function(e,t){if(null==e)return{};var n,r,o={},a=Object.keys(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)>=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}var xz=function(e){az("SLDSGlobalHeaderButton",e);var t=e.buttonVariant,n=zz(e,["buttonVariant"]),r=o.a.createElement(or,wz({iconVariant:"global-header",variant:"icon"},n));return"dropdown"===t?r:o.a.createElement("li",null,r)};xz.displayName=Y;var _z=xz;function Oz(e){return(Oz="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function Mz(){return(Mz=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}function Sz(e,t){if(null==e)return{};var n,r,o=function(e,t){if(null==e)return{};var n,r,o={},a=Object.keys(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)>=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}function Cz(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function Ez(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function Hz(e,t){return(Hz=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function jz(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=Nz(e);if(t){var o=Nz(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return Pz(this,n)}}function Pz(e,t){return!t||"object"!==Oz(t)&&"function"!=typeof t?kz(e):t}function kz(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function Nz(e){return(Nz=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function Tz(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var Lz=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&Hz(e,t)}(c,e);var t,n,r,a=jz(c);function c(){var e;Cz(this,c);for(var t=arguments.length,n=new Array(t),r=0;r<t;r++)n[r]=arguments[r];return Tz(kz(e=a.call.apply(a,[this].concat(n))),"renderAvatar",(function(){var t=e.props.avatar;return"string"==typeof t?o.a.createElement("span",{className:"slds-avatar slds-avatar_circle slds-avatar_medium"},o.a.createElement("img",{src:t,alt:""})):t||null})),e}return t=c,(n=[{key:"render",value:function(){var e=this.props,t=e.className,n=e.id,r=e.isOpen,a=e.globalAction,c=e.menu,s=e.onBlur,l=e.onClick,p=e.onFocus,u=e.onKeyDown,h=e.onMouseDown,d=e.onMouseEnter,f=e.onMouseLeave,v=e.triggerRef,m=Sz(e,["className","id","isOpen","globalAction","menu","onBlur","onClick","onFocus","onKeyDown","onMouseDown","onMouseEnter","onMouseLeave","triggerRef"]);return o.a.createElement("li",{"aria-haspopup":"true",className:i()("slds-dropdown-trigger slds-dropdown-trigger_click",{"slds-is-open":r,"slds-p-around_xx-small":a},t),id:n,onBlur:s,onClick:l,onFocus:p,onKeyDown:u,onMouseDown:h,onMouseEnter:d,onMouseLeave:f,ref:v},o.a.createElement(_z,Mz({className:i()({"slds-global-header__button_icon-actions":a}),iconClassName:i()({"slds-global-header__icon-actions":a}),"aria-haspopup":"true",buttonVariant:"dropdown"},m),this.renderAvatar()),c)}}])&&Ez(t.prototype,n),r&&Ez(t,r),c}(o.a.Component);Tz(Lz,"displayName",te),Tz(Lz,"propTypes",{avatar:c.a.oneOfType([c.a.string,c.a.node]),className:c.a.oneOfType([c.a.array,c.a.object,c.a.string]),id:c.a.string,isOpen:c.a.bool,globalAction:c.a.bool,menu:c.a.node,onBlur:c.a.func,onClick:c.a.func,onFocus:c.a.func,onKeyDown:c.a.func,onMouseDown:c.a.func,onMouseEnter:c.a.func,onMouseLeave:c.a.func,openOn:c.a.oneOf(["hover","click","hybrid"]),positioned:c.a.bool,triggerRef:c.a.func});var Vz=Lz;function Rz(){return(Rz=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}function Dz(e,t){if(null==e)return{};var n,r,o=function(e,t){if(null==e)return{};var n,r,o={},a=Object.keys(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)>=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}var Iz=function(e){az("SLDSGlobalHeaderDropdown",e);var t,n=e.globalAction,r=e.iconVariant,a=Dz(e,["globalAction","iconVariant"]);return n&&(t="container"),o.a.createElement(Fs,Rz({nubbinPosition:"top right"},a),o.a.createElement(Vz,{globalAction:n,iconSize:n&&"small",iconVariant:t||r}))};Iz.displayName=Y,Iz.propTypes={align:c.a.oneOf(["left","right"]),className:c.a.string,buttonClassName:c.a.oneOfType([c.a.array,c.a.object,c.a.string]),iconName:c.a.string,iconVariant:c.a.oneOf(["bare","container","border","border-filled","more","global-header"]),id:c.a.string,globalAction:c.a.bool,nubbinPosition:c.a.oneOf(["top left","top","top right","bottom left","bottom","bottom right"]),offset:c.a.string,onSelect:c.a.func,options:c.a.array.isRequired},Iz.defaultProps={align:"right",buttonVariant:"icon",iconVariant:"global-header",nubbinPosition:"top right"};var Az=Iz;function Fz(e){return(Fz="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function Bz(){return(Bz=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}function qz(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function Kz(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function Wz(e,t){return(Wz=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function Uz(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=Qz(e);if(t){var o=Qz(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return Gz(this,n)}}function Gz(e,t){return!t||"object"!==Fz(t)&&"function"!=typeof t?Yz(e):t}function Yz(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function Qz(e){return(Qz=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function Jz(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var Xz={assistiveText:c.a.shape({action:c.a.string,more:c.a.string}),actionDisabled:c.a.bool,actionSelected:c.a.bool,onToggleActionSelected:c.a.func,popover:c.a.node},$z=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&Wz(e,t)}(c,e);var t,n,r,a=Uz(c);function c(){var e;qz(this,c);for(var t=arguments.length,n=new Array(t),r=0;r<t;r++)n[r]=arguments[r];return Jz(Yz(e=a.call.apply(a,[this].concat(n))),"toggleActionSelected",(function(t){e.props.onToggleActionSelected&&e.props.onToggleActionSelected(t,{actionSelected:e.props.actionSelected||!1})})),e}return t=c,(n=[{key:"render",value:function(){var e=this,t={},n=lr()({align:"bottom",body:o.a.createElement("span",null),triggerClassName:"slds-dropdown-trigger slds-dropdown-trigger_click"},this.props.popover?this.props.popover.props:{});return delete n.children,this.props.actionSelected&&(t["aria-pressed"]=!0),o.a.createElement("div",{className:"slds-global-actions__favorites slds-dropdown-trigger slds-dropdown-trigger_click"},o.a.createElement("div",{className:"slds-button-group"},o.a.createElement(or,Bz({assistiveText:{icon:this.props.assistiveText.action},className:i()("slds-button_icon slds-global-actions__favorites-action",{"slds-is-disabled":this.props.actionDisabled,"slds-is-selected":this.props.actionSelected}),disabled:this.props.actionDisabled,iconCategory:"utility",iconName:"favorite",iconSize:"small",iconVariant:"border",onClick:this.toggleActionSelected,onKeyDown:function(t){t.keyCode===Lt.ENTER&&(Nt.trapImmediate(t),e.toggleActionSelected(t))},title:this.props.assistiveText.action,variant:"icon"},t)),o.a.createElement(wf,n,o.a.createElement(or,{assistiveText:{icon:this.props.assistiveText.more},className:"slds-button_icon slds-global-actions__favorites-more",iconCategory:"utility",iconName:"down",iconSize:"small",iconVariant:"border",style:{borderLeft:"0",borderRadius:"0 .25rem .25rem 0"},title:this.props.assistiveText.more,variant:"icon"}))))}}])&&Kz(t.prototype,n),r&&Kz(t,r),c}(o.a.Component);$z.displayName=F,$z.defaultProps={assistiveText:{action:"Toggle Favorite",more:"View Favorites"}},$z.propTypes=Xz;var Zz=$z;function ex(e){return(ex="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function tx(){return(tx=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}function nx(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function rx(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function ox(e,t){return(ox=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function ax(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=sx(e);if(t){var o=sx(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return cx(this,n)}}function cx(e,t){return!t||"object"!==ex(t)&&"function"!=typeof t?function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e):t}function sx(e){return(sx=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}var ix={assistiveText:c.a.shape({triggerButton:c.a.string}),popover:c.a.node},lx=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&ox(e,t)}(c,e);var t,n,r,a=ax(c);function c(){return nx(this,c),a.apply(this,arguments)}return t=c,(n=[{key:"render",value:function(){var e=lr()({align:"bottom",body:o.a.createElement("span",null),triggerClassName:"slds-dropdown-trigger slds-dropdown-trigger_click"},this.props.popover?this.props.popover.props:{});return delete e.children,o.a.createElement(wf,e,o.a.createElement(or,tx({assistiveText:{icon:this.props.assistiveText.triggerButton},className:"slds-button_icon slds-global-actions__help slds-global-actions__item-action",iconCategory:"utility",iconClassName:"slds-global-header__icon",iconName:"question",iconSize:"small",iconVariant:"container",title:this.props.assistiveText.triggerButton,variant:"icon"},{"aria-haspopup":!0})))}}])&&rx(t.prototype,n),r&&rx(t,r),c}(o.a.Component);lx.displayName=B,lx.defaultProps={assistiveText:{triggerButton:"Help and Training"}},lx.propTypes=ix;var px=lx;function ux(e){return(ux="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function hx(){return(hx=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}function dx(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function fx(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function vx(e,t){return(vx=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function mx(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=yx(e);if(t){var o=yx(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return gx(this,n)}}function gx(e,t){return!t||"object"!==ux(t)&&"function"!=typeof t?function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e):t}function yx(e){return(yx=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}var bx={assistiveText:c.a.shape({newNotificationsAfter:c.a.string,newNotificationsBefore:c.a.string,noNotifications:c.a.string}),notificationCount:c.a.number,popover:c.a.node},wx=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&vx(e,t)}(c,e);var t,n,r,a=mx(c);function c(){return dx(this,c),a.apply(this,arguments)}return t=c,(n=[{key:"render",value:function(){var e={"aria-live":"assertive"},t=this.props.notificationCount,n=lr()({align:"bottom right",body:o.a.createElement("span",null),triggerClassName:"slds-dropdown-trigger slds-dropdown-trigger_click"},this.props.popover?this.props.popover.props:{}),r=this.props.assistiveText.noNotifications;return delete n.children,t>0?r="".concat(this.props.assistiveText.newNotificationsBefore).concat(t).concat(this.props.assistiveText.newNotificationsAfter):e["aria-atomic"]=!0,o.a.createElement(wf,n,o.a.createElement(or,hx({assistiveText:{icon:r},className:"slds-button_icon slds-global-actions__notifications slds-global-actions__item-action",iconCategory:"utility",iconClassName:"slds-global-header__icon",iconName:"notification",iconSize:"small",iconVariant:"container",title:r,variant:"icon"},e)),t>0?o.a.createElement("span",{"aria-hidden":"true",className:"slds-notification-badge slds-incoming-notification slds-show-notification"},t):o.a.createElement("span",{"aria-hidden":"true",className:"slds-notification-badge"}))}}])&&fx(t.prototype,n),r&&fx(t,r),c}(o.a.Component);wx.displayName=q,wx.defaultProps={assistiveText:{newNotificationsAfter:" new notifications",newNotificationsBefore:"",noNotifications:"No new notifications"},notificationCount:0},wx.propTypes=bx;var zx=wx;function xx(e){return(xx="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function _x(){return(_x=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}function Ox(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function Mx(e,t){return(Mx=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function Sx(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=Ex(e);if(t){var o=Ex(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return Cx(this,n)}}function Cx(e,t){return!t||"object"!==xx(t)&&"function"!=typeof t?function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e):t}function Ex(e){return(Ex=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}var Hx=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&Mx(e,t)}(c,e);var t,n,r,a=Sx(c);function c(e){var t;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,c),t=a.call(this,e),az(K,e),t}return t=c,(n=[{key:"render",value:function(){var e=lr()({align:"bottom right",body:o.a.createElement("span",null),className:this.props.className,heading:this.props.userName,id:this.props.id,triggerClassName:"slds-dropdown-trigger slds-dropdown-trigger_click"},this.props.popover?this.props.popover.props:{}),t="data:image/jpeg;base64,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";return delete e.children,t=this.props.avatar?this.props.avatar:t,o.a.createElement(wf,e,o.a.createElement(or,_x({className:i()("slds-global-actions__avatar slds-global-actions__item-action",this.props.buttonClassName),title:this.props.userName,variant:"icon"},{"aria-haspopup":!0}),"string"==typeof t?o.a.createElement("span",{className:"slds-avatar slds-avatar_circle slds-avatar_medium"},o.a.createElement("img",{alt:this.props.userName,src:t,title:"User avatar"})):t||null))}}])&&Ox(t.prototype,n),r&&Ox(t,r),c}(o.a.Component);Hx.displayName=K,Hx.propTypes={className:c.a.string,avatar:c.a.oneOfType([c.a.string,c.a.node]),buttonClassName:c.a.oneOfType([c.a.array,c.a.object,c.a.string]),id:c.a.string,popover:c.a.node,userName:c.a.string},Hx.defaultProps={userName:"User Name"};var jx=Hx,Px=function(e){return o.a.createElement("div",{className:"slds-global-header__item slds-global-header__item_search"},e.combobox)};Px.displayName=W,Px.propTypes={combobox:c.a.node.isRequired};var kx=Px;function Nx(e){return(Nx="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function Tx(){return(Tx=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}function Lx(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function Vx(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function Rx(e,t){return(Rx=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function Dx(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=Ax(e);if(t){var o=Ax(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return Ix(this,n)}}function Ix(e,t){return!t||"object"!==Nx(t)&&"function"!=typeof t?function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e):t}function Ax(e){return(Ax=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}var Fx={assistiveText:c.a.shape({triggerButton:c.a.string}),dropdown:c.a.node},Bx=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&Rx(e,t)}(c,e);var t,n,r,a=Dx(c);function c(){return Lx(this,c),a.apply(this,arguments)}return t=c,(n=[{key:"render",value:function(){var e=lr()({align:"right",nubbinPosition:"top right"},this.props.dropdown?this.props.dropdown.props:{}),t=e.children||null;return delete e.children,o.a.createElement(Fs,e,o.a.createElement(hs,null,o.a.createElement(or,Tx({assistiveText:{icon:this.props.assistiveText.triggerButton},className:"slds-button_icon slds-global-actions__setup slds-global-actions__item-action",iconCategory:"utility",iconClassName:"slds-global-header__icon",iconName:"setup",iconSize:"small",iconVariant:"container",title:this.props.assistiveText.triggerButton,variant:"icon"},{"aria-haspopup":!0}))),t)}}])&&Vx(t.prototype,n),r&&Vx(t,r),c}(o.a.Component);Bx.displayName=U,Bx.defaultProps={assistiveText:{triggerButton:"Setup"}},Bx.propTypes=Fx;var qx=Bx;function Kx(e){return(Kx="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function Wx(){return(Wx=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}function Ux(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function Gx(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function Yx(e,t){return(Yx=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function Qx(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=Xx(e);if(t){var o=Xx(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return Jx(this,n)}}function Jx(e,t){return!t||"object"!==Kx(t)&&"function"!=typeof t?function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e):t}function Xx(e){return(Xx=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}var $x={assistiveText:c.a.shape({triggerButton:c.a.string}),dropdown:c.a.node},Zx=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&Yx(e,t)}(c,e);var t,n,r,a=Qx(c);function c(){return Ux(this,c),a.apply(this,arguments)}return t=c,(n=[{key:"render",value:function(){var e=lr()({align:"right",nubbinPosition:"top right"},this.props.dropdown?this.props.dropdown.props:{}),t=e.children||null;return delete e.children,o.a.createElement(Fs,e,o.a.createElement(hs,null,o.a.createElement(or,Wx({assistiveText:{icon:this.props.assistiveText.triggerButton},className:"slds-button_icon slds-global-actions__task slds-global-actions__item-action",iconCategory:"utility",iconName:"add",iconSize:"small",iconVariant:"container",title:this.props.assistiveText.triggerButton,variant:"icon"},{"aria-haspopup":!0}))),t)}}])&&Gx(t.prototype,n),r&&Gx(t,r),c}(o.a.Component);Zx.displayName=G,Zx.defaultProps={assistiveText:{triggerButton:"Global Actions"}},Zx.propTypes=$x;var e_=Zx;function t_(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var n_=function(e){var t,n,r,a,c;return o.a.createElement("div",{className:i()("slds-context-bar",(t={},t_(t,"slds-context-bar_theme-".concat(e.cloud),e.cloud),t_(t,"slds-context-bar_theme-".concat(e.theme),e.theme),t),e.className)},(n=e.children,c=[],o.a.Children.forEach(n,(function(e){e&&e.type.displayName===J&&("primary"===e.props.region?r=e:"secondary"===e.props.region?c.push(e):"tertiary"===e.props.region&&(a=e))})),[r].concat(c,[a])))};n_.propTypes={children:c.a.node,className:c.a.oneOfType([c.a.array,c.a.object,c.a.string]),cloud:c.a.string,theme:c.a.oneOf(["light","dark"])},n_.defaultProps={},n_.displayName="SLDSGlobalNavigationBar";var r_=n_;function o_(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function a_(e,t){if(null==e)return{};var n,r,o=function(e,t){if(null==e)return{};var n,r,o={},a=Object.keys(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)>=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}var c_=function(e){var t=e.active,n=e.dividerPosition,r=a_(e,["active","dividerPosition"]);return o.a.createElement("li",{className:i()("slds-context-bar__item",o_({"slds-is-active":t},"slds-context-bar__item_divider-".concat(n),n))},o.a.createElement(or,r))};c_.displayName="SLDSGlobalNavigationBarButton",c_.propTypes={active:c.a.bool,dividerPosition:c.a.oneOf(["left","right"])},c_.defaultProps={className:"slds-context-bar__label-action slds-text-body_regular",style:{lineHeight:"inherit"},variant:"base"};var s_=c_;var i_=function(){},l_=n(22);function p_(e){return(p_="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function u_(){return(u_=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}function h_(e,t){if(null==e)return{};var n,r,o=function(e,t){if(null==e)return{};var n,r,o={},a=Object.keys(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)>=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}function d_(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function f_(e,t){return(f_=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function v_(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=g_(e);if(t){var o=g_(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return m_(this,n)}}function m_(e,t){return!t||"object"!==p_(t)&&"function"!=typeof t?function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e):t}function g_(e){return(g_=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function y_(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var b_=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&f_(e,t)}(c,e);var t,n,r,a=v_(c);function c(e){var t;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,c),t=a.call(this,e),i_(te,t.props,l_),t}return t=c,(n=[{key:"render",value:function(){var e=this.props,t=e.active,n=e.activeBackgroundColor,r=e.className,a=e.dividerPosition,c=e.id,s=e.isOpen,l=e.label,p=e.menu,u=e.onBlur,h=e.onClick,d=e.onFocus,f=e.onKeyDown,v=e.onMouseDown,m=e.onMouseEnter,g=e.onMouseLeave,y=e.triggerRef,b=h_(e,["active","activeBackgroundColor","className","dividerPosition","id","isOpen","label","menu","onBlur","onClick","onFocus","onKeyDown","onMouseDown","onMouseEnter","onMouseLeave","triggerRef"]),w={},z=tm.a.brandPrimaryTransparent10;return t&&(w.backgroundColor=n,w.borderBottomColor=n),s&&(w.backgroundColor=z),o.a.createElement("li",{"aria-haspopup":"true",className:i()("slds-context-bar__item slds-context-bar__dropdown-trigger slds-dropdown-trigger slds-dropdown-trigger_click",y_({"slds-is-open":s,"slds-is-active":t},"slds-context-bar__item_divider-".concat(a),a),r),id:c,onBlur:u,onClick:h,onFocus:d,onKeyDown:f,onMouseDown:v,onMouseEnter:m,onMouseLeave:g,ref:y,style:w},o.a.createElement("a",{className:"slds-context-bar__label-action",title:l},o.a.createElement("span",{className:"slds-truncate",title:l},l)),o.a.createElement("div",{className:"slds-context-bar__icon-action slds-p-left_none"},o.a.createElement(or,u_({assistiveText:this.props.assistiveText},b,{className:"slds-context-bar__button","aria-haspopup":"true",iconCategory:"utility",iconName:"chevrondown",iconVariant:"bare",variant:"icon"}))),p)}}])&&d_(t.prototype,n),r&&d_(t,r),c}(o.a.Component);y_(b_,"displayName",te),y_(b_,"propTypes",{active:c.a.bool,activeBackgroundColor:c.a.string,assistiveText:c.a.shape({icon:c.a.string}),className:c.a.oneOfType([c.a.array,c.a.object,c.a.string]),dividerPosition:c.a.oneOf(["left","right"]),id:c.a.string,isOpen:c.a.bool,label:c.a.string,menu:c.a.node,onBlur:c.a.func,onClick:c.a.func,onFocus:c.a.func,onKeyDown:c.a.func,onMouseDown:c.a.func,onMouseEnter:c.a.func,onMouseLeave:c.a.func,triggerRef:c.a.func}),y_(b_,"defaultProps",{assistiveText:{icon:"Open menu item submenu"}});var w_=b_;function z_(){return(z_=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}function x_(e,t){if(null==e)return{};var n,r,o=function(e,t){if(null==e)return{};var n,r,o={},a=Object.keys(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)>=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}var __=function(e){i_(Q,e,l_);var t=e.active,n=e.activeBackgroundColor,r=e.assistiveText,a=e.dividerPosition,c=x_(e,["active","activeBackgroundColor","assistiveText","dividerPosition"]);return o.a.createElement(Fs,z_({align:"right",hasStaticAlignment:!0,hoverCloseDelay:400,length:e.length,menuPosition:"relative"},c),o.a.createElement(w_,{active:t,assistiveText:r,activeBackgroundColor:n,dividerPosition:a}))};__.displayName=Q,__.propTypes={active:c.a.bool,activeBackgroundColor:c.a.string,assistiveText:c.a.shape({icon:c.a.string}),align:c.a.oneOf(["left","right"]),className:c.a.string,dividerPosition:c.a.oneOf(["left","right"]),buttonClassName:c.a.oneOfType([c.a.array,c.a.object,c.a.string]),id:c.a.string,length:c.a.oneOf([null,"5","7","10"]),offset:c.a.string,onSelect:c.a.func,options:c.a.array.isRequired},__.defaultProps={align:"right",length:null};var O_=__;function M_(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var S_=function(e){var t=e.className,n=e.dividerPosition,r=e.id,a=e.label;return o.a.createElement("li",{className:"slds-context-bar__item slds-no-hover"},o.a.createElement("span",{id:r,style:{color:tm.a.colorTextLinkDisabled},className:i()("slds-context-bar__label-action",M_({},"slds-context-bar__item_divider-".concat(n),n),t)},o.a.createElement("span",{className:"slds-truncate"},a)))};S_.displayName="SLDSGlobalNavigationBarLabel",S_.propTypes={className:c.a.oneOfType([c.a.array,c.a.object,c.a.string]),dividerPosition:c.a.oneOf(["left","right"]),id:c.a.string,label:c.a.string};var C_=S_;function E_(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var H_=function(e){var t=e.active,n=e.activeBackgroundColor,r=e.assistiveText,a=e.className,c=e.dividerPosition,s=e.href,l=e.id,p=e.label,u=e.onBlur,h=e.onClick,d=e.onFocus,f=e.onKeyDown,v=e.onKeyPress,m=e.onKeyUp,g=e.onMouseEnter,y=e.onMouseLeave,b=e.tabIndex,w=t?{backgroundColor:n,borderBottomColor:n}:null;return o.a.createElement("li",{className:i()("slds-context-bar__item",E_({"slds-is-active":t},"slds-context-bar__item_divider-".concat(c),c)),id:l,style:w},o.a.createElement("a",{href:s,className:i()("slds-context-bar__label-action",a),onBlur:u,onClick:Tr()(h)?function(e){return function(e,t,n){e.preventDefault(),n(e,{href:t})}(e,s,h)}:null,onFocus:d,onKeyDown:f,onKeyPress:v,onKeyUp:m,onMouseEnter:g,onMouseLeave:y,tabIndex:b,title:p},t?o.a.createElement("span",{className:"slds-assistive-text"},r.activeDescriptor):null,o.a.createElement("span",{className:"slds-truncate",title:p},p)))};H_.displayName="SLDSGlobalNavigationBarLink",H_.propTypes={active:c.a.bool,activeBackgroundColor:c.a.string,assistiveText:c.a.shape({activeDescriptor:c.a.string}),className:c.a.oneOfType([c.a.array,c.a.object,c.a.string]),dividerPosition:c.a.oneOf(["left","right"]),href:c.a.string,id:c.a.string,label:c.a.string,onBlur:c.a.func,onClick:c.a.func,onFocus:c.a.func,onKeyDown:c.a.func,onKeyPress:c.a.func,onKeyUp:c.a.func,onMouseEnter:c.a.func,onMouseLeave:c.a.func,tabIndex:c.a.string},H_.defaultProps={assistiveText:{activeDescriptor:"Current page:"},href:"javascript:void(0);"};var j_=H_;function P_(e){return(P_="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function k_(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function N_(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function T_(e,t){return(T_=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function L_(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=R_(e);if(t){var o=R_(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return V_(this,n)}}function V_(e,t){return!t||"object"!==P_(t)&&"function"!=typeof t?function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e):t}function R_(e){return(R_=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function D_(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var I_=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&T_(e,t)}(c,e);var t,n,r,a=L_(c);function c(){return k_(this,c),a.apply(this,arguments)}return t=c,(n=[{key:"render",value:function(){var e,t=this.props.dividerPosition?"slds-context-bar__item_divider-".concat(this.props.dividerPosition):null;switch(this.props.region){case"primary":e=function(e,t,n){return o.a.createElement("div",{className:i()("slds-context-bar__primary",e,t)},n)}(t,this.props.className,this.props.children);break;case"secondary":e=function(e,t,n,r){return r?o.a.createElement("nav",{className:i()("slds-context-bar__secondary",e,t),role:"navigation"},o.a.createElement("ul",{className:"slds-grid"},n)):o.a.createElement("div",{className:i()("slds-context-bar__secondary",e,t)},o.a.createElement("ul",{className:"slds-grid"},n))}(t,this.props.className,this.props.children,this.props.navigation);break;case"tertiary":e=function(e,t,n){return o.a.createElement("div",{className:i()("slds-context-bar__tertiary","slds-col_bump-left",e,t)},o.a.createElement("ul",{className:"slds-grid"},n))}(t,this.props.className,this.props.children)}return e}}])&&N_(t.prototype,n),r&&N_(t,r),c}(o.a.Component);D_(I_,"displayName",J),D_(I_,"propTypes",{children:c.a.node,dividerPosition:c.a.oneOf(["left","right"]),className:c.a.oneOfType([c.a.array,c.a.object,c.a.string]),navigation:c.a.bool,region:c.a.oneOf(["primary","secondary","tertiary"]).isRequired});var A_=I_;var F_=function(){},B_=n(51);function q_(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function K_(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var W_=function(e){var t=e.className,n=e.illustration,r=e.heading,a=e.messageBody,c=e.name,s=e.path,i=e.size,l=e.style;F_("Illustration",e,B_);var p,u=c?c.replace(/_| /g,"-").toLowerCase():"",h=function(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?q_(Object(n),!0).forEach((function(t){K_(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):q_(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}({},l);return"large"!==i||h.height||(h.height="400px"),n?p=o.a.createElement(We,{className:"slds-illustration__svg","aria-hidden":"true",data:n,name:u,style:h}):s&&(p=o.a.createElement("svg",{className:"slds-illustration__svg","aria-hidden":"true",name:u,style:h},o.a.createElement("use",{xlinkHref:s}))),o.a.createElement("div",{className:yn(t,"slds-illustration",{"slds-illustration_small":"small"===i,"slds-illustration_large":"large"===i})},p,o.a.createElement("div",{className:"slds-text-longform"},r?o.a.createElement("h3",{className:"slds-text-heading_medium"},r):null,a?o.a.createElement("p",{className:"slds-text-body_regular"},a):null))};W_.displayName="SLDSIllustration",W_.propTypes={className:c.a.oneOfType([c.a.array,c.a.object,c.a.string]),heading:c.a.string,illustration:c.a.object,internalIllustration:c.a.bool.isRequired,messageBody:c.a.oneOfType([c.a.string,c.a.node]),name:c.a.string,path:c.a.string,size:c.a.oneOf(["small","large"]),style:c.a.object},W_.defaultProps={internalIllustration:!0,size:"small",style:{}};var U_=W_;var G_=function(){};function Y_(e){return(Y_="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function Q_(){return(Q_=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}function J_(e,t){if(null==e)return{};var n,r,o=function(e,t){if(null==e)return{};var n,r,o={},a=Object.keys(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)>=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}function X_(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function $_(e,t){return($_=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function Z_(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=nO(e);if(t){var o=nO(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return eO(this,n)}}function eO(e,t){return!t||"object"!==Y_(t)&&"function"!=typeof t?tO(e):t}function tO(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function nO(e){return(nO=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function rO(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var oO={className:c.a.oneOfType([c.a.array,c.a.object,c.a.string]),name:c.a.string,disabled:c.a.bool,id:c.a.string.isRequired,onChange:c.a.func,onKeyUp:c.a.func,onEnterEditMode:c.a.func,onLeaveEditMode:c.a.func,type:c.a.oneOf(["text","password","datetime","datetime-local","date","month","time","week","number","email","url","search","tel","color"]),value:c.a.string.isRequired},aO=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&$_(e,t)}(c,e);var t,n,r,a=Z_(c);function c(e){var t;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,c),rO(tO(t=a.call(this,e)),"endEditMode",(function(e){t.willSave&&(clearTimeout(t.willSave),delete t.willSave),t.setState({isEditing:!1,value:null}),t.props.onLeaveEditMode&&Tr()(t.props.onLeaveEditMode)&&t.props.onLeaveEditMode(void 0,e)})),rO(tO(t),"handleBlur",(function(){t.willSave||(t.willSave=setTimeout(t.saveEdits,200)),t.props.onLeaveEditMode&&Tr()(t.props.onLeaveEditMode)&&t.props.onLeaveEditMode()})),rO(tO(t),"handleChange",(function(e){t.setState({value:e.target.value})})),rO(tO(t),"handleKeyDown",(function(e){e.keyCode&&(e.keyCode===Lt.ESCAPE?t.saveEdits({cancel:!0}):e.keyCode===Lt.ENTER&&t.saveEdits())})),rO(tO(t),"handleKeyUp",(function(e){e.keyCode&&t.props.onKeyUp&&Tr()(t.props.onKeyUp)&&t.props.onKeyUp(e,{value:t.state.value})})),rO(tO(t),"saveEdits",(function(e){e&&!0===e.cancel||Tr()(t.props.onChange)&&t.props.onChange({value:t.state.value}),t.endEditMode(e)})),rO(tO(t),"triggerEditMode",(function(){t.props.disabled||(t.autoFocus=!0,t.setState({isEditing:!0,value:t.props.value}),Tr()(t.props.onEnterEditMode)&&t.props.onEnterEditMode())})),t.state={isEditing:!1,value:null},G_(V,e),t}return t=c,(n=[{key:"componentDidUpdate",value:function(){this.autoFocus&&(this.inputNode&&(this.inputNode.focus(),this.inputNode.select()),this.autoFocus=!1)}},{key:"render",value:function(){var e=this,t=this.props,n=t.assistiveText,r=t.disabled,a=t.value,c=t.name,s=J_(t,["assistiveText","disabled","value","name"]);return o.a.createElement(Ep,Q_({},s,{iconRight:this.state.isEditing?o.a.createElement(Nl,{category:"utility",name:"close",position:"right",onClick:this.endEditMode,tabIndex:"-1"}):null,disabled:r,inlineEditTrigger:o.a.createElement(or,{assistiveText:{icon:n},className:"slds-m-left_x-small",disabled:r,iconCategory:"utility",iconName:"edit",iconPosition:"right",iconSize:"small",variant:"icon"}),onBlur:this.handleBlur,onChange:this.handleChange,onClick:this.state.isEditing?null:this.triggerEditMode,onKeyDown:this.handleKeyDown,onKeyUp:this.handleKeyUp,isStatic:!this.state.isEditing,name:c,value:this.state.isEditing?this.state.value:a,inputRef:function(t){e.inputNode=t}}))}}])&&X_(t.prototype,n),r&&X_(t,r),c}(o.a.Component);aO.displayName=V,aO.propTypes=oO,aO.defaultProps={assistiveText:"Edit text",type:"text"};var cO=aO;function sO(){return(sO=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}function iO(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function lO(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?iO(Object(n),!0).forEach((function(t){pO(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):iO(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function pO(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function uO(e,t){if(null==e)return{};var n,r,o=function(e,t){if(null==e)return{};var n,r,o={},a=Object.keys(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)>=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}var hO={assistiveText:{}},dO=function(e){var t=e.clearable,n=e.onClear,r=e.onSearch,a=e.placeholder,c=uO(e,["clearable","onClear","onSearch","placeholder"]);np(I,c,rp);var s="string"==typeof c.assistiveText?c.assistiveText:lO(lO({},hO.assistiveText),c.assistiveText).label;return o.a.createElement(Ep,sO({assistiveText:{label:s},iconLeft:o.a.createElement(Nl,{assistiveText:{icon:"Search"},category:"utility",name:"search",onClick:r}),iconRight:t?o.a.createElement(Nl,{assistiveText:{icon:"Clear"},category:"utility",name:"clear",onClick:n}):null,onKeyDown:r?function(e){return function(e,t){e.keyCode===Lt.ENTER&&(Nt.trapImmediate(e),t(e))}(e,r)}:null,placeholder:a},c))};dO.displayName=I,dO.propTypes={assistiveText:c.a.shape({label:c.a.string}),clearable:c.a.bool,onClear:c.a.func,onSearch:c.a.func,placeholder:c.a.string},dO.defaultProps=hO;var fO=dO;function vO(e){return(vO="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function mO(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function gO(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?mO(Object(n),!0).forEach((function(t){OO(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):mO(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function yO(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function bO(e,t){return(bO=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function wO(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=_O(e);if(t){var o=_O(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return zO(this,n)}}function zO(e,t){return!t||"object"!==vO(t)&&"function"!=typeof t?xO(e):t}function xO(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function _O(e){return(_O=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function OO(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var MO={className:c.a.oneOfType([c.a.array,c.a.object,c.a.string]),classNameContainer:c.a.oneOfType([c.a.array,c.a.object,c.a.string]),defaultLocation:c.a.shape({id:c.a.string.isRequired,name:c.a.string.isRequired,address:c.a.string.isRequired}).isRequired,id:c.a.string,labels:c.a.shape({title:c.a.string}),locations:c.a.arrayOf(c.a.shape({id:c.a.string.isRequired,name:c.a.string.isRequired,address:c.a.string.isRequired})).isRequired,onClickLocation:c.a.func,googleAPIKey:c.a.string.isRequired,selection:c.a.shape({id:c.a.string.isRequired,name:c.a.string.isRequired,address:c.a.string.isRequired})},SO={title:"Interactive Map"},CO=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&bO(e,t)}(c,e);var t,n,r,a=wO(c);function c(e){var t;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,c),OO(xO(t=a.call(this,e)),"handleClick",(function(e,n){"function"==typeof t.props.onClickLocation&&t.props.onClickLocation(e,t.props.locations[n]),t.map&&t.map.focus()})),t.generatedId=p.a.generate(),t}return t=c,(n=[{key:"getId",value:function(){return this.props.id||this.generatedId}},{key:"render",value:function(){var e=this,t=gO(gO({},SO),this.props.labels);return o.a.createElement("div",{id:this.getId(),className:i()("slds-grid",{"slds-has-coordinates":this.props.locations},this.props.classNameContainer)},o.a.createElement("div",{className:"slds-map_container",style:{padding:"4px"}},o.a.createElement("div",{className:i()("slds-map",this.props.className),ref:function(t){e.map=t},tabIndex:0,title:t.title},o.a.createElement("iframe",{id:"".concat(this.getId(),"-google-map"),src:"https://www.google.com/maps/embed/v1/place?key=".concat(this.props.googleAPIKey,"&q=").concat(encodeURIComponent(this.props.selection?this.props.selection.address:this.props.defaultLocation.address)),title:t.title}))),this.props.locations.length>1?o.a.createElement("div",{className:"slds-coordinates"},o.a.createElement("div",{className:"slds-coordinates__header"},o.a.createElement("h2",{className:"slds-coordinates__title"},"".concat(t.title," (").concat(this.props.locations.length,")"))),o.a.createElement("ul",{className:"slds-coordinates__list"},this.props.locations.map((function(t,n){return o.a.createElement("li",{key:t.id,className:"slds-coordinates__item"},o.a.createElement("span",{className:"slds-assistive-text","aria-live":"polite"},"".concat(t.name," is currently selected")),o.a.createElement("button",{type:"button",onClick:function(t){return e.handleClick(t,n)},className:"slds-coordinates__item-action slds-button_reset slds-media","aria-pressed":e.props.selection&&e.props.selection.id===t.id},o.a.createElement("span",{className:"slds-media__figure"},o.a.createElement(Sn,{category:"standard",name:"account"})),o.a.createElement("span",{className:"slds-media__body"},o.a.createElement("span",{className:"slds-text-link"},t.name),o.a.createElement("span",null,t.address))))})))):null)}}])&&yO(t.prototype,n),r&&yO(t,r),c}(o.a.Component);CO.displayName="SLDSLocationMap",CO.propTypes=MO;var EO=CO;function HO(e){return(HO="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function jO(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function PO(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function kO(e,t){return(kO=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function NO(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=VO(e);if(t){var o=VO(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return TO(this,n)}}function TO(e,t){return!t||"object"!==HO(t)&&"function"!=typeof t?LO(e):t}function LO(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function VO(e){return(VO=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function RO(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var DO=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&kO(e,t)}(c,e);var t,n,r,a=NO(c);function c(){var e;jO(this,c);for(var t=arguments.length,n=new Array(t),r=0;r<t;r++)n[r]=arguments[r];return RO(LO(e=a.call.apply(a,[this].concat(n))),"handleClick",(function(){e.props.onClose&&e.props.onClose()})),e}return t=c,(n=[{key:"UNSAFE_componentWillReceiveProps",value:function(e){e.isActive!==this.props.isActive&&!0===e.isActive&&this.props.setFocus("searchRecords")}},{key:"render",value:function(){var e="slds-lookup__item-action slds-lookup__item-action_label";return this.props.isActive&&(e+=" slds-theme_shade"),o.a.createElement("div",{className:"js-slds-lookup__item",onMouseDown:Nt.trapImmediate,onClick:this.handleClick},o.a.createElement("a",{id:"searchRecords",href:"javascript:void(0);",className:e},o.a.createElement("span",{className:"lookup__item-action-label"},o.a.createElement(Sn,{name:"search",category:"utility",size:"x-small",className:"slds-icon-text-default"}),o.a.createElement("span",{className:"slds-truncate"},this.props.searchTerm))))}}])&&PO(t.prototype,n),r&&PO(t,r),c}(o.a.Component);DO.displayName="LookupDefaultHeader",DO.propTypes={},DO.defaultProps={};var IO=DO;function AO(e){return(AO="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function FO(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function BO(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function qO(e,t){return(qO=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function KO(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=GO(e);if(t){var o=GO(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return WO(this,n)}}function WO(e,t){return!t||"object"!==AO(t)&&"function"!=typeof t?UO(e):t}function UO(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function GO(e){return(GO=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function YO(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var QO=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&qO(e,t)}(c,e);var t,n,r,a=KO(c);function c(){var e;FO(this,c);for(var t=arguments.length,n=new Array(t),r=0;r<t;r++)n[r]=arguments[r];return YO(UO(e=a.call.apply(a,[this].concat(n))),"handleClick",(function(){e.props.onClose&&e.props.onClose()})),e}return t=c,(n=[{key:"UNSAFE_componentWillReceiveProps",value:function(e){e.isActive!==this.props.isActive&&!0===e.isActive&&this.props.setFocus("newItem")}},{key:"render",value:function(){var e="slds-lookup__item-action slds-lookup__item-action_label";return this.props.isActive&&(e+=" slds-theme_shade"),o.a.createElement("div",{className:"js-slds-lookup__item",onClick:this.handleClick,onMouseDown:Nt.trapImmediate},o.a.createElement("a",{id:"newItem",href:"javascript:void(0);",className:e},o.a.createElement("span",{className:"lookup__item-action-label"},o.a.createElement(Sn,{name:"add",category:"utility",size:"x-small",className:"slds-icon-text-default"}),o.a.createElement("span",{className:"slds-truncate"},this.props.newItemLabel?this.props.newItemLabel:"Add New Item"))))}}])&&BO(t.prototype,n),r&&BO(t,r),c}(o.a.Component);QO.displayName="LookupDefaultFooter",QO.propTypes={},QO.defaultProps={};var JO=QO,XO={data:c.a.object},$O=function(e){return o.a.createElement("li",{className:"slds-p-around_x-small slds-lookup__divider",tabIndex:"-1"},o.a.createElement("span",{className:"slds-m-left_x-small"},o.a.createElement("strong",null,e.data.label)))};$O.displayName="LookupDefaultSectionDivider",$O.propTypes=XO;var ZO=$O;var eM=function(){};function tM(e){return(tM="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function nM(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function rM(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function oM(e,t){return(oM=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function aM(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=iM(e);if(t){var o=iM(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return cM(this,n)}}function cM(e,t){return!t||"object"!==tM(t)&&"function"!=typeof t?sM(e):t}function sM(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function iM(e){return(iM=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function lM(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var pM={data:c.a.object,handleItemFocus:c.a.func,href:c.a.string,iconCategory:c.a.string,id:c.a.string,index:c.a.number,isActive:c.a.bool,isDisabled:c.a.bool,listItemLabelRenderer:c.a.func,onSelect:c.a.func,searchTerm:c.a.string,setFocus:c.a.func},uM=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&oM(e,t)}(c,e);var t,n,r,a=aM(c);function c(){var e;nM(this,c);for(var t=arguments.length,n=new Array(t),r=0;r<t;r++)n[r]=arguments[r];return lM(sM(e=a.call.apply(a,[this].concat(n))),"handleClick",(function(){return e.props.onSelect(e.props.id,e.props.data)})),e}return t=c,(n=[{key:"UNSAFE_componentWillReceiveProps",value:function(e){e.isActive!==this.props.isActive&&!0===e.isActive&&(this.scrollFocus(),this.props.setFocus(this.props.id))}},{key:"getCustomLabel",value:function(){var e=this.props.listItemLabelRenderer;return o.a.createElement(e,this.props)}},{key:"getIcon",value:function(){return this.props.iconName&&!this.props.listItemLabelRenderer?o.a.createElement("span",{className:"slds-media__figure"},o.a.createElement(Sn,{category:this.props.iconCategory,inverse:this.props.iconInverse,key:this.props.iconName,name:this.props.iconName,size:"small"})):null}},{key:"getLabel",value:function(){var e;if(this.props.children.data.subTitle)e=o.a.createElement("div",{className:"slds-media__body"},o.a.createElement("div",{className:"slds-lookup__result-text"},this.props.children.label),o.a.createElement("span",{className:"slds-lookup__result-meta slds-text-body_small"},this.props.children.data.subTitle));else{var t=i()("slds-lookup__result-text",{"slds-m-left_x-small":!this.props.iconName});e=o.a.createElement("div",{className:"slds-media__body"},o.a.createElement("div",{className:t},this.props.children.label))}return e}},{key:"scrollFocus",value:function(){var e=this.itemRef.offsetHeight;e&&this.props.handleItemFocus&&this.props.handleItemFocus(this.props.index,e)}},{key:"render",value:function(){var e=this,t="js-slds-lookup__item",n=this.props.id;return this.props.isActive&&(t+=" slds-theme_shade"),o.a.createElement("li",{className:t,ref:function(t){e.itemRef=t}},o.a.createElement("a",{"aria-disabled":this.props.isDisabled,className:"slds-lookup__item-action slds-media slds-media_center",href:this.props.href,id:n,onClick:this.handleClick,onMouseDown:Nt.trapImmediate,ref:n,role:"option",tabIndex:"-1"},this.getIcon(),this.props.listItemLabelRenderer?this.getCustomLabel():this.getLabel()))}}])&&rM(t.prototype,n),r&&rM(t,r),c}(o.a.Component);uM.displayName="Lookup-Menu-Item",uM.propTypes=pM;var hM=uM;function dM(e){return(dM="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function fM(){return(fM=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}function vM(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function mM(e,t){return(mM=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function gM(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=wM(e);if(t){var o=wM(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return yM(this,n)}}function yM(e,t){return!t||"object"!==dM(t)&&"function"!=typeof t?bM(e):t}function bM(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function wM(e){return(wM=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}var zM={boldRegex:c.a.instanceOf(RegExp),emptyMessage:c.a.oneOfType([c.a.string,c.a.element]),filterWith:c.a.func,focusIndex:c.a.number,getListLength:c.a.func,iconCategory:c.a.string,items:c.a.array,label:c.a.string,listLength:c.a.number,searchTerm:c.a.string,setFocus:c.a.func},xM=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&mM(e,t)}(c,e);var t,n,r,a=gM(c);function c(e){var t;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,c),function(e,t,n){t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n}(bM(t=a.call(this,e)),"handleItemFocus",(function(e,n){t.listRef&&(t.listRef.scrollTop=e*n)})),t.state={filteredItems:t.filteredItems()},t}return t=c,(n=[{key:"componentDidUpdate",value:function(e){var t=[].slice.call(this.listRef.children).filter((function(e){return e.className.indexOf("js-slds-lookup__item")>-1||e.className.indexOf("slds-lookup__divider")>-1})).length;this.props.getListLength(t),e.items===this.props.items&&e.filter===this.props.filter&&e.searchTerm===this.props.searchTerm||this.setState({filteredItems:this.filteredItems()})}},{key:"getFilteredItemForIndex",value:function(e){return e>-1&&this.state.filteredItems&&e<this.state.filteredItems.length?this.state.filteredItems[e]:null}},{key:"filter",value:function(e){return this.props.filterWith(this.props.searchTerm,e)}},{key:"filterEmptySections",value:function(e){var t=[];return e.forEach((function(n,r){if(n&&n.data&&"section"===n.data.type){if(r+1<e.length){var o=e[r+1];o.data&&"section"!==o.data.type&&t.push(n)}}else t.push(n)})),t}},{key:"filteredItems",value:function(){return this.filterEmptySections(this.props.items.filter(this.filter,this))}},{key:"renderContent",value:function(){return 0===this.state.filteredItems.length?o.a.createElement("li",{className:"slds-lookup__message","aria-live":"polite"},o.a.createElement("span",{className:"slds-m-left_x-large slds-p-vertical_medium"},this.props.emptyMessage)):this.renderItems()}},{key:"renderFooter",value:function(){return this.props.footer}},{key:"renderHeader",value:function(){return this.props.header}},{key:"renderItems",value:function(){var e=this,t=this.props.focusIndex;return this.state.filteredItems.map((function(n,r){var a=n.id,c=!1;if(c=e.props.header?t===r+1:t===r,"section"===n.data.type&&e.props.sectionDividerRenderer){var s=e.props.sectionDividerRenderer;return o.a.createElement(s,fM({data:n.data,key:"section_header_".concat(a)},e.props))}return o.a.createElement(hM,{boldRegex:e.props.boldRegex,data:n.data,handleItemFocus:e.handleItemFocus,iconCategory:e.props.iconCategory,iconInverse:e.props.iconInverse,iconName:e.props.iconName,id:a,index:r,isActive:c,key:a,listItemLabelRenderer:e.props.listItemLabelRenderer,onSelect:e.props.onSelect,searchTerm:e.props.searchTerm,setFocus:e.props.setFocus},n)}))}},{key:"renderSectionDivider",value:function(){return this.props.sectionDivider}},{key:"render",value:function(){var e=this;return o.a.createElement("section",{id:"menuContainer",className:"ignore-react-onclickoutside"},this.renderHeader(),o.a.createElement("ul",{id:"list",className:"slds-lookup__list",role:"presentation",ref:function(t){t&&(e.listRef=t)}},this.renderContent()),this.renderFooter())}}])&&vM(t.prototype,n),r&&vM(t,r),c}(o.a.Component);xM.displayName="Lookup-Menu",xM.propTypes=zM,xM.defaultProps={emptyMessage:"No matches found."};var _M,OM,MM=xM;function SM(e){return(SM="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function CM(){return(CM=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}function EM(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function HM(e,t){return(HM=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function jM(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=NM(e);if(t){var o=NM(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return PM(this,n)}}function PM(e,t){return!t||"object"!==SM(t)&&"function"!=typeof t?kM(e):t}function kM(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function NM(e){return(NM=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function TM(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var LM=function(e){return(e||"").toString().replace(/^\s+/,"")},VM=(OM=_M=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&HM(e,t)}(c,e);var t,n,r,a=jM(c);function c(e){var t;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,c),TM(kM(t=a.call(this,e)),"state",{currentFocus:null,focusIndex:null,items:[],listLength:t.props.options.length,searchTerm:LM(t.props.searchTerm),selectedIndex:t.props.selectedItem}),TM(kM(t),"getClassName",(function(){return i()(t.props.className,"slds-form-element slds-lookup",{"slds-has-selection":t.isSelected(),"slds-is-open":t.getIsOpen()})})),TM(kM(t),"setFirstIndex",(function(){var e=0,n=t.state.items[0];t.menuComponent&&t.menuComponent.getFilteredItemForIndex&&(n=t.menuComponent.getFilteredItemForIndex(e)),n&&"section"===n.data.type&&(e+=1),t.setState({focusIndex:e})})),TM(kM(t),"getHeader",(function(){var e=t.props.headerRenderer,n=0===t.state.focusIndex;return o.a.createElement(e,CM({ref:function(e){t.headerComponent=e}},t.props,{focusIndex:t.state.focusIndex,isActive:n,onClose:t.handleClose,searchTerm:t.state.searchTerm,setFocus:t.setFocus}))})),TM(kM(t),"getFooter",(function(){var e=t.props.footerRenderer,n=t.getNumFocusableItems(),r=t.state.focusIndex===n;return o.a.createElement(e,CM({ref:function(e){t.footerComponent=e}},t.props,{focusIndex:t.state.focusIndex,isActive:r,onClose:t.handleClose,setFocus:t.setFocus}))})),TM(kM(t),"setFocus",(function(e){t.setState({currentFocus:e})})),TM(kM(t),"getIsOpen",(function(){return!!("boolean"==typeof t.props.isOpen?t.props.isOpen:t.state.isOpen)})),TM(kM(t),"getListLength",(function(e){e!==t.state.listLength&&t.setState({listLength:e})})),TM(kM(t),"getNumFocusableItems",(function(){var e=0;return t.footerComponent&&(e+=1),t.headerComponent&&(e+=1),t.state.listLength-1+e})),TM(kM(t),"increaseIndex",(function(){var e=t.getNumFocusableItems(),n=t.state.focusIndex<e?t.state.focusIndex+1:0,r=t.menuComponent.getFilteredItemForIndex(n);r&&"section"===r.data.type&&(n+=1),t.setState({focusIndex:n})})),TM(kM(t),"decreaseIndex",(function(){var e=t.getNumFocusableItems(),n=t.state.focusIndex>0?t.state.focusIndex-1:e,r=t.menuComponent.getFilteredItemForIndex(n);r&&"section"===r.data.type&&(n=0===n?e:n-1),t.setState({focusIndex:n})})),TM(kM(t),"selectItem",(function(e){if(e){var n=e.replace("item-","");t.selectItemByIndex(n)}})),TM(kM(t),"selectItemByIndex",(function(e){if(e>=0&&e<t.state.items.length){t.props.onRequestClose&&t.props.onRequestClose(),t.setState({isOpen:!1,selectedIndex:e,searchTerm:""});var n=t.state.items[e].data;t.props.onSelect&&t.props.onSelect(n)}})),TM(kM(t),"handleDeleteSelected",(function(){t.props.onRequestOpen&&t.props.onRequestOpen(),t.setState({selectedIndex:null,isOpen:!0}),t.focusInput(),t.props.onUnselect&&t.props.onUnselect()})),TM(kM(t),"handleClose",(function(){t.props.onRequestClose&&t.props.onRequestClose(),t.setState({isOpen:!1,focusIndex:null,currentFocus:null})})),TM(kM(t),"handleClickOutside",(function(){t.handleClose()})),TM(kM(t),"handleEscape",(function(e){t.getIsOpen()&&e&&Nt.trap(e),t.handleClose()})),TM(kM(t),"handleCancel",(function(){t.handleClose()})),TM(kM(t),"handleClick",(function(){t.props.onRequestOpen&&t.props.onRequestOpen(),t.setState({isOpen:!0})})),TM(kM(t),"handleBlur",(function(e){if(t.props.onBlur){var n=e.target||e.currentTarget;t.props.onBlur(n.value)}})),TM(kM(t),"handleFocus",(function(e){if(t.props.onFocus){var n=e.target||e.currentTarget;t.props.onFocus(n.value)}t.props.onRequestOpen&&t.props.onRequestOpen(),t.setState({isOpen:!0})})),TM(kM(t),"handleChange",(function(e){var n=e.target||e.currentTarget;t.setState({searchTerm:LM(n.value)}),t.props.onChange&&t.props.onChange(n.value)})),TM(kM(t),"handleKeyDown",(function(e){if(e.keyCode)if(e.keyCode===Lt.ESCAPE?t.handleEscape(e):e.keyCode===Lt.TAB?(setTimeout((function(){t.handleClose()}),200),t.handleBlur(e)):t.handleClick(),e.keyCode===Lt.DOWN)Nt.trapImmediate(e),null===t.state.focusIndex?t.setFirstIndex():t.increaseIndex();else if(e.keyCode===Lt.UP){Nt.trapImmediate(e);var n=t.getNumFocusableItems();null===t.state.focusIndex?t.setState({focusIndex:n}):t.decreaseIndex()}else e.keyCode===Lt.ENTER&&null!==t.state.focusIndex&&(Nt.trapImmediate(e),t.headerComponent&&0===t.state.focusIndex?t.headerComponent.handleClick():t.footerComponent&&t.state.focusIndex===t.state.listLength+1?t.footerComponent.handleClick():t.selectItem(t.state.currentFocus))})),TM(kM(t),"handlePillKeyDown",(function(e){e.keyCode&&(e.keyCode!==Lt.DELETE&&e.keyCode!==Lt.BACKSPACE||(Nt.trapImmediate(e),t.handleDeleteSelected()))})),TM(kM(t),"inputRefId",(function(){return"".concat(t.props.label,"Lookup")})),TM(kM(t),"focusInput",(function(){t.focusOnRender=!0})),TM(kM(t),"isSelected",(function(){return!isNaN(parseInt(t.state.selectedIndex,10))&&t.state.selectedIndex>=0})),TM(kM(t),"modifyItems",(function(e){var n=e.map((function(e,t){return{id:"item-".concat(t),label:e.label,data:e}}));t.setState({items:n})})),TM(kM(t),"renderMenuContent",(function(){return o.a.createElement(MM,{ref:function(e){t.menuComponent=e},emptyMessage:t.props.emptyMessage,filterWith:t.props.filterWith,focusIndex:t.state.focusIndex,footer:t.props.footerRenderer?t.getFooter():null,getListLength:t.getListLength,header:t.props.headerRenderer?t.getHeader():null,iconCategory:t.props.iconCategory,iconInverse:t.props.iconInverse,iconName:t.props.iconName,items:t.state.items,label:t.props.label,listItemLabelRenderer:t.props.listItemLabelRenderer,listLength:t.state.listLength,onSelect:t.selectItem,searchTerm:t.state.searchTerm,sectionDividerRenderer:t.props.sectionDividerRenderer,setFocus:t.setFocus})})),TM(kM(t),"renderInlineMenu",(function(){return t.getIsOpen()?o.a.createElement("div",{className:"ignore-react-onclickoutside slds-lookup__menu",role:"listbox"},t.renderMenuContent()):null})),TM(kM(t),"renderSeparateMenu",(function(){var e=t.props.isInline?"relative":t.props.menuPosition;return t.getIsOpen()?o.a.createElement(vn,{align:"bottom",className:"slds-lookup__menu slds-show",closeOnTabKey:!0,contentsClassName:"slds-lookup__menu slds-show",context:t.context,inheritWidthOf:"target",onClose:t.handleCancel,hasStaticAlignement:!t.props.flippable,constrainToScrollParent:t.props.constrainToScrollParent,onRequestTargetElement:function(){return t.input},position:e},t.renderMenuContent()):null})),TM(kM(t),"renderInput",(function(){return o.a.createElement(Ep,{"aria-activedescendant":t.state.currentFocus?t.state.currentFocus:"","aria-autocomplete":"list","aria-describedby":t.props.describedById,"aria-expanded":!!t.getIsOpen(),assistiveText:t.props.assistiveText,className:"slds-lookup__search-input",disabled:t.props.disabled,iconRight:o.a.createElement(Nl,{assistiveText:{icon:"Search"},category:"utility",name:"search"}),id:t.inputRefId(),onBlur:t.handleBlur,onChange:t.handleChange,onClick:t.handleClick,onFocus:t.handleFocus,onKeyDown:t.handleKeyDown,inputRef:function(e){t.input=e,t.focusOnRender&&(t.input.focus(),t.focusOnRender=!1)},placeholder:t.props.placeholder,role:"combobox",type:"text",value:t.state.searchTerm})})),TM(kM(t),"renderSelectedItem",(function(){var e=t.props.options[t.state.selectedIndex].label,n=t.props.iconName?o.a.createElement(Sn,{category:t.props.iconCategory,className:"slds-icon slds-pill__icon",inverse:t.props.iconInverse,name:t.props.iconName}):null,r=t.props.iconName?"slds-pill__label":"slds-pill__label slds-m-left_x-small";return o.a.createElement("div",{className:"slds-pill__container"},o.a.createElement("a",{href:"javascript:void(0)",className:"slds-pill",ref:function(e){t.pills[t.state.selectedIndex]=e},onKeyDown:t.handlePillKeyDown},n,o.a.createElement("span",{className:r},e),o.a.createElement(or,{assistiveText:{icon:"Press delete to remove"},className:"slds-pill__remove slds-button_icon-bare",iconCategory:"utility",iconName:"close",onClick:t.handleDeleteSelected,tabIndex:"-1",variant:"icon"})))})),TM(kM(t),"renderLabel",(function(){var e=t.props.required?o.a.createElement("span",{className:"slds-required"},"*"):null;return t.isSelected()?o.a.createElement("span",{className:"slds-form-element__label",style:{width:"100%"}},e,t.props.label):o.a.createElement("label",{className:"slds-form-element__label",htmlFor:t.inputRefId(),style:{width:"100%"}},e,t.props.label)})),eM(Z,e),t.pills=[],t}return t=c,(n=[{key:"componentDidMount",value:function(){this.modifyItems(this.props.options)}},{key:"UNSAFE_componentWillReceiveProps",value:function(e){e.options&&this.modifyItems(e.options),e.selectedItem===this.props.selectedItem&&wt()(e.options,this.props.options)||this.setState({selectedIndex:e.selectedItem})}},{key:"componentDidUpdate",value:function(e,t){!isNaN(parseInt(t.selectedIndex,10))&&isNaN(parseInt(this.state.selectedIndex,10))?this.input&&this.input.focus():isNaN(parseInt(t.selectedIndex,10))&&!isNaN(parseInt(this.state.selectedIndex,10))&&this.pills[this.state.selectedIndex]&&this.pills[this.state.selectedIndex].focus()}},{key:"render",value:function(){var e;this.props.isInline?e=!0:void 0!==this.props.modal&&(e=!this.props.modal);var t=TM({"slds-form-element__control":!0},"slds-input-has-icon slds-input-has-icon_".concat(this.props.iconPosition),!this.isSelected());return o.a.createElement("div",{className:this.getClassName(),"data-select":"single","data-scope":"single",onScroll:this.props.onScroll},this.props.label?this.renderLabel():null,o.a.createElement("div",{className:i()(t)},this.isSelected()?this.renderSelectedItem():null,this.isSelected()?null:this.renderInput()),e?this.renderInlineMenu():this.renderSeparateMenu())}}])&&EM(t.prototype,n),r&&EM(t,r),c}(o.a.Component),TM(_M,"displayName",Z),TM(_M,"propTypes",{assistiveText:c.a.oneOfType([c.a.object,c.a.string]),className:c.a.oneOfType([c.a.array,c.a.object,c.a.string]),constrainToScrollParent:c.a.bool,describedById:c.a.string,menuPosition:c.a.string,disabled:c.a.bool,emptyMessage:c.a.oneOfType([c.a.string,c.a.element]),filterWith:c.a.func,flippable:c.a.bool,footerRenderer:c.a.func,headerRenderer:c.a.func,iconCategory:c.a.string,iconInverse:c.a.bool,iconName:c.a.string,iconPosition:c.a.oneOf(["left","right"]),isInline:c.a.bool,isOpen:c.a.bool,label:c.a.string,listItemLabelRenderer:c.a.func,onBlur:c.a.func,onChange:c.a.func,onFocus:c.a.func,onRequestClose:c.a.func,onRequestOpen:c.a.func,onScroll:c.a.func,onSelect:c.a.func,onUnselect:c.a.func,options:c.a.array.isRequired,placeholder:c.a.string,required:c.a.bool,searchTerm:c.a.string,sectionDividerRenderer:c.a.func,selectedItem:c.a.number}),TM(_M,"defaultProps",{constrainToScrollParent:!0,filterWith:function(e,t){return!e||(t.data&&"section"===t.data.type||t.label.match(new RegExp(gs()(e),"ig")))},iconPosition:"right",searchTerm:"",menuPosition:"absolute"}),OM);VM.contextTypes={iconPath:c.a.string};var RM=Cc(VM,{excludeScrollbar:!0}),DM=n(24);var IM=function(){},AM=function(){},FM=function(e){var t=[];return t.indexes=[],t.keyBuffer=new vs,Array.isArray(e)&&e.forEach((function(e,n){(function(e){return"header"!==e.type&&"divider"!==e.type&&!e.disabled})(e)&&(t.push({index:n,text:"".concat(e.label).toLowerCase()}),t.indexes.push(n))})),t};var BM=n.n(DM)()({displayName:ne,propTypes:{buttonRef:c.a.func,className:c.a.string,checkmark:c.a.bool,disabled:c.a.bool,errorText:c.a.string,id:c.a.string,isInline:c.a.bool,label:c.a.string,labels:c.a.shape({multipleOptionsSelected:c.a.string}),listItemRenderer:c.a.func,onClick:c.a.func,onSelect:c.a.func,onPillRemove:c.a.func,options:c.a.array.isRequired,placeholder:c.a.string,required:c.a.bool,value:c.a.node,initValueIndex:c.a.number},getDefaultProps:function(){return{inheritTargetWidth:!0,placeholder:"Select an Option",checkmark:!0,labels:{multipleOptionsSelected:"Multiple Options Selected"},menuPosition:"absolute"}},getInitialState:function(){return{focusedIndex:this.props.initValueIndex?this.props.initValueIndex:-1,selectedIndex:this.props.initValueIndex?this.props.initValueIndex:-1,selectedIndices:[],currentPillLabel:""}},UNSAFE_componentWillMount:function(){if(IM(ne,this.props),this.generatedId=p.a.generate(),this.props.errorText&&(this.generatedErrorId=p.a.generate()),"undefined"!=typeof window&&window.addEventListener("click",this.closeOnClick,!1),this.props.multiple){var e=this.getIndexByValue(this.props),t=this.state.selectedIndices;-1!==e&&t.push(e),this.setState({selectedIndices:t})}else this.setState({selectedIndex:this.getIndexByValue(this.props)});this.navigableItems=FM(this.props.options)},UNSAFE_componentWillReceiveProps:function(e){if(this.props.value!==e.value||this.props.options.length!==e.length)if(!0!==this.props.multiple)this.setState({selectedIndex:this.getIndexByValue(e)});else{var t=this.getIndexByValue(e);if(-1!==t){var n=this.state.selectedIndices.concat(t);this.setState({selectedIndices:n})}}e.options&&(this.navigableItems=FM(e.options))},componentWillUnmount:function(){this.isUnmounting=!0,window.removeEventListener("click",this.closeOnClick,!1)},getListItemId:function(e){var t;if(void 0!==e){var n=Tr()(this.getId)?this.getId():this.props.id;t="".concat(n,"-item-").concat(e)}return t},getId:function(){return this.props.id||this.generatedId},getErrorId:function(){return this.props["aria-describedby"]||this.generatedErrorId},getClickEventName:function(){return"SLDS".concat(this.getId(),"ClickEvent")},getIndexByValue:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.props,t=e.value,n=e.options,r=-1;return n&&n.length&&n.some((function(e,n){return!(!e||e.value!==t)&&(r=n,!0)})),r},getValueByIndex:function(e){return this.props.options[e]},getListItemRenderer:function(){return this.props.listItemRenderer?this.props.listItemRenderer:Hc},setFocus:function(){!this.isUnmounting&&this.button&&this.button.focus()},handleSelect:function(e){if(this.props.multiple){var t;if(-1===this.state.selectedIndices.indexOf(e))t=this.state.selectedIndices.concat(e);else{var n=this.state.selectedIndices.indexOf(e);(t=this.state.selectedIndices).splice(n,1)}this.setState({selectedIndices:t})}else this.setState({selectedIndex:e}),this.handleClose(),this.setFocus();if(this.props.onSelect){var r=this.getValueByIndex(e);this.props.onSelect(r,{option:r,optionIndex:e})}},handleClose:function(){this.setState({isOpen:!1})},handleClick:function(e){e&&(e.nativeEvent[this.getClickEventName()]=!0),this.state.isOpen?this.handleClose():(this.setState({isOpen:!0}),this.setFocus(),this.props.onClick&&this.props.onClick(e))},handleMouseDown:function(e){e&&(Nt.trapImmediate(e),e.nativeEvent[this.getClickEventName()]=!0)},handleKeyDown:function(e){if(e.keyCode)if(e.keyCode!==Lt.ENTER&&e.keyCode!==Lt.SPACE&&e.keyCode!==Lt.DOWN&&e.keyCode!==Lt.UP||Nt.trap(e),e.keyCode!==Lt.TAB){var t=e.keyCode===Lt.ENTER||e.keyCode===Lt.DOWN||e.keyCode===Lt.UP,n="BUTTON"===e.target.tagName;t&&n&&this.props.onClick&&this.props.onClick(e),this.handleKeyboardNavigate({isOpen:this.state.isOpen||!1,keyCode:e.keyCode,onSelect:this.handleSelect,toggleOpen:this.toggleOpen})}else this.handleCancel()},handleCancel:function(){this.setFocus(),this.handleClose()},handleKeyboardNavigate:function(e){var t=e.event,n=e.isOpen,r=void 0===n||n,o=e.keyCode,a=e.onFocus,c=void 0===a?this.handleKeyboardFocus:a,s=e.onSelect,i=e.target,l=e.toggleOpen,p=void 0===l?AM:l;ws({componentContext:this,currentFocusedIndex:this.state.focusedIndex,event:t,isOpen:r,keyCode:o,navigableItems:this.navigableItems,onFocus:c,onSelect:s,target:i,toggleOpen:p})},handleKeyboardFocus:function(e){this.state.focusedIndex!==e&&this.setState({focusedIndex:e});var t,n=Tr()(this.getMenu)?this.getMenu():(t=this,xt.a.findDOMNode(t).querySelector("ul.dropdown__list")),r=Tr()(this.getMenuItem)?this.getMenuItem(e,n):function(e){var t,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:document;return e&&(t=n.getElementById(e)),t}(this.getListItemId(e));r&&(this.focusMenuItem(r),this.scrollToMenuItem(n,r))},focusMenuItem:function(e){e.getElementsByTagName("a")[0].focus()},scrollToMenuItem:function(e,t){if(e&&t){var n=e.offsetHeight,r=e.scrollTop,o=t.offsetTop-e.offsetTop;if(o<r)e.scrollTop=o;else{var a=r+n+e.offsetTop,c=o+t.offsetHeight+e.offsetTop;c>a&&(e.scrollTop=c-n-e.offsetTop)}}},closeOnClick:function(e){!e[this.getClickEventName()]&&this.state.isOpen&&this.handleClose()},toggleOpen:function(){this.setState({isOpen:!this.state.isOpen})},saveRefToList:function(e){this.list=e},saveRefToListItem:function(e,t){this.listItems||(this.listItems={}),this.listItems[t]=e,t===this.state.focusedIndex&&this.handleKeyboardFocus(this.state.focusedIndex)},saveRefToTrigger:function(e){this.button=e,this.props.buttonRef&&this.props.buttonRef(this.button),this.state.triggerRendered||this.setState({triggerRendered:!0})},renderMenuContent:function(){return o.a.createElement(es,{checkmark:this.props.checkmark,getListItemId:this.getListItemId,itemRefs:this.saveRefToListItem,itemRenderer:this.getListItemRenderer(),onCancel:this.handleCancel,onSelect:this.handleSelect,options:this.props.options,ref:this.saveRefToList,selectedIndex:this.props.multiple?void 0:this.state.selectedIndex,selectedIndices:this.props.multiple?this.state.selectedIndices:void 0,triggerId:this.getId()})},renderInlineMenu:function(){return!this.props.disabled&&this.state.isOpen?o.a.createElement("div",{className:"slds-dropdown slds-dropdown_left",style:{maxHeight:"20em",overflowX:"hidden",minWidth:"100%"}},this.renderMenuContent()):null},renderDialog:function(){var e=this;return!this.props.disabled&&this.state.isOpen?o.a.createElement(vn,{closeOnTabKey:!0,constrainToScrollParent:this.props.constrainToScrollParent,contentsClassName:"slds-dropdown slds-dropdown_left",context:this.context,flippable:!0,onClose:this.handleCancel,onKeyDown:this.handleKeyDown,onRequestTargetElement:function(){return e.button},inheritWidthOf:this.props.inheritTargetWidth?"target":"none",position:this.props.menuPosition},this.renderMenuContent()):null},renderTrigger:function(){var e,t;if(this.props.isInline?e=!0:void 0!==this.props.modal&&(e=!this.props.modal),this.props.multiple&&0===this.state.selectedIndices.length)t=this.props.placeholder;else if(this.props.multiple&&1===this.state.selectedIndices.length){t=this.props.options[this.state.selectedIndices].label}else if(this.props.multiple&&this.state.selectedIndices.length>1)t=this.props.labels.multipleOptionsSelected;else{var n=this.props.options[this.state.selectedIndex];t=n&&n.label?n.label:this.props.placeholder}return o.a.createElement("div",{className:i()("slds-picklist slds-dropdown-trigger slds-dropdown-trigger_click",{"slds-is-open":this.state.isOpen},this.props.className),onKeyDown:this.handleKeyDown,onMouseDown:this.handleMouseDown},o.a.createElement("button",{"aria-describedby":this.getErrorId(),"aria-expanded":this.state.isOpen,"aria-haspopup":"true",className:"slds-button slds-button_neutral slds-picklist__label",disabled:this.props.disabled,id:this.getId(),onClick:this.props.disabled?void 0:this.handleClick,ref:this.saveRefToTrigger,tabIndex:this.state.isOpen?-1:0,type:"button"},o.a.createElement("span",{className:"slds-truncate"},t),o.a.createElement(Sn,{name:"down",category:"utility"})),e?this.renderInlineMenu():this.renderDialog())},renderPills:function(){var e=this,t=this.state.selectedIndices.map((function(t){var n=e.getValueByIndex(t).label;return o.a.createElement("li",{className:"slds-listbox__item",key:"pill-".concat(t),role:"presentation"},o.a.createElement(wv,{eventData:{item:e.props.options[t],index:t},events:{onRequestFocus:function(){},onRequestFocusOnNextPill:function(){},onRequestFocusOnPreviousPill:function(){},onRequestRemove:function(t,n){var r=e.state.selectedIndices,o=n.index;if(r.splice(e.state.selectedIndices.indexOf(o),1),e.setState({selectedIndices:r}),e.props.onPillRemove){var a=e.getValueByIndex(o);e.props.onPillRemove(a,{option:a,optionIndex:o})}}},labels:{label:n}}))}));return o.a.createElement("div",{id:"listbox-selections-unique-id",orientation:"horizontal",role:"listbox"},o.a.createElement("ul",{className:"slds-listbox slds-listbox_inline slds-p-top_xxx-small",role:"group","aria-label":"Selected Options:"},t))},render:function(){var e=this.props,t=e.className,n=e.errorText,r=e.label,a=e.required?o.a.createElement("span",{style:{color:"red"}},"* "):null;return o.a.createElement("div",{className:i()("slds-form-element",{"slds-has-error":n},t)},this.props.label?o.a.createElement("label",{className:"slds-form-element__label",htmlFor:this.getId(),style:{width:"100%"}},a,r):null,this.renderTrigger(),this.renderPills(),n&&o.a.createElement("div",{id:this.getErrorId(),className:"slds-form-element__help"},n))}});BM.contextTypes={iconPath:c.a.string};var qM=BM,KM={open:function(e){var t;Vr("components/modal/trigger.jsx","This component is deprecated and appears to have been created in order to do modals in portals which is what current Modal has done for years."),Rt&&((t=document.createElement("span")).setAttribute("data-slds-modal",!0),document.body.appendChild(t));var n=o.a.createElement(io,{heading:e.title,footer:e.footer,isOpen:!0},e.content);xt.a.render(n,t)}},WM=n(52);var UM=function(){},GM=function(e){return o.a.createElement("li",{className:i()("slds-nav-vertical__item",{"slds-is-active":e.isSelected})},o.a.createElement("a",{"data-id":e.item.id,href:e.item.url||"javascript:void(0);",className:"slds-nav-vertical__action","aria-describedby":e.categoryId,"aria-current":!!e.isSelected||void 0,onClick:function(t){!function(e,t){Tr()(t.onSelect)&&t.onSelect(e,{item:t.item})}(t,e)}},e.item.label))};GM.displayName="SLDSVerticalNavigationItem",GM.propTypes={item:c.a.shape({id:c.a.string.isRequired,label:c.a.string.isRequired,url:c.a.string}),isSelected:c.a.bool,categoryId:c.a.string.isRequired,onSelect:c.a.func},GM.defaultProps={isSelected:!1};var YM=GM;function QM(e){return(QM="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function JM(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function XM(e,t){return(XM=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function $M(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=tS(e);if(t){var o=tS(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return ZM(this,n)}}function ZM(e,t){return!t||"object"!==QM(t)&&"function"!=typeof t?eS(e):t}function eS(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function tS(e){return(tS=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function nS(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var rS=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&XM(e,t)}(c,e);var t,n,r,a=$M(c);function c(e){var t;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,c),nS(eS(t=a.call(this,e)),"getId",(function(){return t.props.id||t.generatedId})),nS(eS(t),"getSelectedId",(function(){var e,n=t.props.categories;return t.props.selectedId?e=t.props.selectedId:n.length>0&&n[0].items&&n[0].items.length>0&&(e=n[0].items[0].id),e})),t.generatedId=p.a.generate(),UM(ge,e,WM),t}return t=c,(n=[{key:"render",value:function(){var e=this,t=this.getId();return o.a.createElement("nav",{id:t,className:i()("slds-nav-vertical",this.props.className)},this.props.categories.map((function(n){var r="".concat(t,"-").concat(n.id),a=e.getSelectedId();return o.a.createElement("div",{key:"".concat(r,"-header"),className:"slds-nav-vertical__section"},o.a.createElement("h2",{id:r,className:"slds-nav-vertical__title"},n.label),o.a.createElement("ul",{key:r},n.items.map((function(t){return o.a.createElement(YM,{key:t.id,item:t,isSelected:t.id===a,categoryId:r,onSelect:e.props.onSelect})}))))})))}}])&&JM(t.prototype,n),r&&JM(t,r),c}(o.a.Component);nS(rS,"displayName",ge),nS(rS,"propTypes",{id:c.a.string,className:c.a.oneOfType([c.a.array,c.a.object,c.a.string]),categories:c.a.array,selectedId:c.a.string,onSelect:c.a.func}),nS(rS,"defaultProps",{});var oS=rS;var aS=function(){};function cS(e){return(cS="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function sS(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function iS(e,t){return(iS=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function lS(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=hS(e);if(t){var o=hS(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return pS(this,n)}}function pS(e,t){return!t||"object"!==cS(t)&&"function"!=typeof t?uS(e):t}function uS(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function hS(e){return(hS=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function dS(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var fS={iconCategory:c.a.string,className:c.a.string,content:c.a.node.isRequired,dismissible:c.a.bool,duration:c.a.number,iconName:c.a.string,isOpen:c.a.bool.isRequired,onDismiss:c.a.func,texture:c.a.bool,theme:c.a.oneOf(["success","warning","error","offline"]),variant:c.a.oneOf(["alert","toast"]).isRequired},vS=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&iS(e,t)}(c,e);var t,n,r,a=lS(c);function c(e){var t;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,c),dS(uS(t=a.call(this,e)),"onDismiss",(function(){t.timeout&&(clearTimeout(t.timeout),t.timeout=null),t.props.onDismiss&&t.props.onDismiss(),t.state.returnFocusTo&&t.state.returnFocusTo.focus&&t.state.returnFocusTo.focus()})),t.state={},t.timeout=null,t}return t=c,(n=[{key:"componentDidMount",value:function(){var e=this;aS("Notification",this.props),this.props.duration&&(this.timeout=setTimeout((function(){e.onDismiss()}),this.props.duration))}},{key:"UNSAFE_componentWillReceiveProps",value:function(e){var t=this;e.duration&&(this.timeout&&clearTimeout(this.timeout),e.isOpen&&(this.timeout=setTimeout((function(){t.onDismiss()}),this.props.duration))),e.isOpen!==this.props.isOpen&&this.setState({returnFocusTo:document.activeElement})}},{key:"componentDidUpdate",value:function(e){if(e.isOpen!==this.props.isOpen){var t=this.dismissBtnRef;t&&t.focus()}}},{key:"getClassName",value:function(){var e;return i()(this.props.className,"slds-notify",(dS(e={},"slds-notify_".concat(this.props.variant),this.props.variant),dS(e,"slds-theme_".concat(this.props.theme),this.props.theme),dS(e,"slds-theme_alert-texture",this.props.texture),e))}},{key:"blankContent",value:function(){return o.a.createElement("div",null)}},{key:"renderAlertContent",value:function(){return o.a.createElement("h2",{id:"dialogTitle"},this.renderIcon(),this.props.content)}},{key:"renderClose",value:function(){var e=this;if(this.props.dismissible){var t=null;return"toast"===this.props.variant&&(t="large"),o.a.createElement(or,{assistiveText:{icon:"Dismiss Notification"},iconCategory:"utility",iconName:"close",iconSize:t,inverse:!0,className:"slds-notify__close",onClick:this.onDismiss,buttonRef:function(t){e.dismissBtnRef=t},variant:"icon"})}return null}},{key:"renderContent",value:function(){return o.a.createElement("div",null,o.a.createElement("span",{className:"slds-assistive-text"},this.props.theme),this.renderClose(),"toast"===this.props.variant?this.renderToastContent():null,"alert"===this.props.variant?this.renderAlertContent():null)}},{key:"renderIcon",value:function(){if(this.props.iconName){var e="";return"alert"===this.props.variant?e="slds-m-right_x-small":"toast"===this.props.variant&&(e="slds-m-right_small slds-col slds-no-flex"),o.a.createElement(Sn,{category:this.props.iconCategory,className:e,inverse:!0,name:this.props.iconName,size:"small"})}return null}},{key:"renderToastContent",value:function(){return o.a.createElement("section",{className:"notify__content slds-grid"},this.renderIcon(),o.a.createElement("div",{className:"slds-col slds-align-middle"},o.a.createElement("h2",{id:"dialogTitle",className:"slds-text-heading_small"},this.props.content)))}},{key:"render",value:function(){var e;e=this.props.isOpen?"toast"===this.props.variant?{width:"auto",left:"50%",transform:"translateX(-50%)"}:{width:"100%"}:{width:"0px"};var t=this.props.isOpen?null:{display:"none"};return o.a.createElement("div",{className:"slds-notify-container",style:e},o.a.createElement("div",{className:this.getClassName(),role:"alertdialog","aria-labelledby":"dialogTitle",style:t},this.props.isOpen?this.renderContent():this.blankContent()))}}])&&sS(t.prototype,n),r&&sS(t,r),c}(o.a.Component);vS.displayName="Notification",vS.propTypes=fS,vS.defaultProps={iconCategory:"utility",dismissible:!0,isOpen:!1,texture:!1};var mS=vS;var gS=function(){},yS=n(53),bS={className:c.a.oneOfType([c.a.array,c.a.object,c.a.string]),content:c.a.node,variant:c.a.string},wS=function(e){if(!e.content)return null;var t=i()({"slds-page-header__name-meta":"base"===e.variant,"slds-page-header__meta-text":"object-home"===e.variant||"objectHome"===e.variant||"related-list"===e.variant||"relatedList"===e.variant},e.className);return"string"==typeof e.content?o.a.createElement("p",{className:t},e.content):o.a.createElement("div",{className:t},e.content)};wS.displayName="PageHeaderInfo",wS.propTypes=bS;var zS=wS,xS={content:c.a.node,trail:c.a.array},_S=function(e){return e.trail&&e.trail.length>0?o.a.createElement(Ys,{styleContainer:e.style,trail:e.trail}):e.content?"string"==typeof e.content?o.a.createElement("span",null,e.content):e.content:null};_S.displayName="PageHeaderLabel",_S.propTypes=xS;var OS=_S;function MS(e){return(MS="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function SS(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function CS(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function ES(e,t){return(ES=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function HS(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=PS(e);if(t){var o=PS(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return jS(this,n)}}function jS(e,t){return!t||"object"!==MS(t)&&"function"!=typeof t?function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e):t}function PS(e){return(PS=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}var kS={align:c.a.oneOf(["top","middle","bottom"]),className:c.a.oneOfType([c.a.array,c.a.object,c.a.string]),content:c.a.node,label:c.a.node,truncate:c.a.bool},NS=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&ES(e,t)}(c,e);var t,n,r,a=HS(c);function c(){return SS(this,c),a.apply(this,arguments)}return t=c,(n=[{key:"render",value:function(){if(!this.props.content)return null;var e=i()("slds-page-header__title",this.props.className,function(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}({"slds-truncate":this.props.truncate},"slds-align-".concat(this.props.align),this.props.align));return o.a.createElement("div",{className:"slds-page-header__name-title"},o.a.createElement("h1",null,o.a.createElement(OS,{content:this.props.label}),o.a.createElement("span",{className:e,title:"string"==typeof this.props.content?this.props.content:void 0},this.props.content)))}}])&&CS(t.prototype,n),r&&CS(t,r),c}(r.Component);NS.displayName="PageHeaderTitle",NS.propTypes=kS,NS.defaultProps={title:"Page Header Title",truncate:!0};var TS=NS;function LS(e){return(LS="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function VS(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function RS(e,t){return(RS=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function DS(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=AS(e);if(t){var o=AS(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return IS(this,n)}}function IS(e,t){return!t||"object"!==LS(t)&&"function"!=typeof t?function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e):t}function AS(e){return(AS=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}var FS={className:c.a.oneOfType([c.a.array,c.a.object,c.a.string]),content:c.a.node,flavor:c.a.string,label:c.a.node,truncate:c.a.bool},BS=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&RS(e,t)}(c,e);var t,n,r,a=DS(c);function c(e){var t;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,c),(t=a.call(this,e)).state={showTooltip:!1},t}return t=c,(n=[{key:"componentDidMount",value:function(){this.renderFieldTruncation()}},{key:"componentDidUpdate",value:function(e){this.props.content!==e.content&&this.renderFieldTruncation()}},{key:"renderContent",value:function(){var e=this,t=this.props,n=t.content,r=t.truncate;if("string"==typeof n){var a=i()({"slds-truncate":r});return o.a.createElement("div",{className:a,ref:function(t){e.fieldContentRef=t},title:n},n)}return n}},{key:"renderContentWithTooltip",value:function(){var e=this.props,t=e.content,n=e.truncate,r=i()({"slds-truncate":n});return o.a.createElement(Fn,{align:"top",title:t,triggerStyle:{display:"inline"}},o.a.createElement("div",{className:r,tabIndex:"0",title:t},t))}},{key:"renderFieldTruncation",value:function(){var e=this.fieldContentRef;e&&e.scrollWidth>e.offsetWidth?this.setState({showTooltip:!0}):this.setState({showTooltip:!1})}},{key:"renderLabel",value:function(){var e=this.props,t=e.label,n=e.truncate;if("string"==typeof t){var r=i()("slds-text-title",{"slds-truncate":n});return o.a.createElement("div",{className:r,title:t},t)}return t}},{key:"render",value:function(){var e=this.props,t=e.className,n=e.flavor,r=i()("slds-page-header__detail-block",t,function(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}({},"slds-size_".concat(n),n));return o.a.createElement("li",{className:r},this.renderLabel(),this.state.showTooltip?this.renderContentWithTooltip():this.renderContent())}}])&&VS(t.prototype,n),r&&VS(t,r),c}(r.Component);BS.displayName="PageHeaderDetailRow",BS.propTypes=FS,BS.defaultProps={content:"",label:"",truncate:!0};var qS=BS;function KS(e){return(KS="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function WS(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function US(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function GS(e,t){return(GS=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function YS(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=JS(e);if(t){var o=JS(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return QS(this,n)}}function QS(e,t){return!t||"object"!==KS(t)&&"function"!=typeof t?function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e):t}function JS(e){return(JS=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}var XS={children:c.a.node,className:c.a.oneOfType([c.a.array,c.a.object,c.a.string]),details:c.a.array},$S=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&GS(e,t)}(c,e);var t,n,r,a=YS(c);function c(){return WS(this,c),a.apply(this,arguments)}return t=c,(n=[{key:"renderDetails",value:function(){return void 0!==this.props.children?this.props.children:this.props.details?this.props.details.map((function(e,t){var n="page-header-detail-block-".concat(t);return o.a.createElement(qS,{key:n,flavor:e.flavor,label:e.label,content:e.content,truncate:e.truncate})})):null}},{key:"render",value:function(){var e=i()("slds-page-header__detail-row",this.props.className);return o.a.createElement("ul",{className:e},this.renderDetails())}}])&&US(t.prototype,n),r&&US(t,r),c}(r.Component);$S.displayName="PageHeaderDetailRow",$S.propTypes=XS,$S.defaultProps={};var ZS=$S;function eC(e){return(eC="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function tC(){return(tC=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}function nC(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function rC(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function oC(e,t){return(oC=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function aC(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=sC(e);if(t){var o=sC(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return cC(this,n)}}function cC(e,t){return!t||"object"!==eC(t)&&"function"!=typeof t?function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e):t}function sC(e){return(sC=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}var iC={className:c.a.oneOfType([c.a.array,c.a.object,c.a.string]),type:c.a.oneOf(["actions","controls"])},lC=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&oC(e,t)}(c,e);var t,n,r,a=aC(c);function c(){return nC(this,c),a.apply(this,arguments)}return t=c,(n=[{key:"render",value:function(){var e,t,n,r;return"actions"===this.props.type?this.props.onRenderActions?e=this.props.onRenderActions():this.props.contentRight&&(e=this.props.contentRight,t=!0):this.props.onRenderControls?e=this.props.onRenderControls():this.props.navRight&&(e=this.props.navRight,t=!0),e?(e.type&&e.type.displayName===ce?r=e:e.props&&e.props.children&&(r=[],o.a.Children.forEach(e.props.children,(function(e){e&&e.type&&e.type.displayName===ce&&r.push(e)}))),t&&(!r||r.length<1)&&(n="string"!=typeof e?o.a.createElement("div",tC({className:"slds-page-header__controls"},e.props)):o.a.createElement("div",{className:"slds-page-header__controls"},e)),o.a.createElement("div",{className:i()("slds-page-header__col-".concat(this.props.type),this.props.className)},n||o.a.createElement("div",{className:"slds-page-header__controls"},r))):null}}])&&rC(t.prototype,n),r&&rC(t,r),c}(r.Component);lC.displayName="PageHeaderControls",lC.propTypes=iC,lC.defaultProps={};var pC=lC,uC={icon:c.a.node,info:c.a.node,onRenderControls:c.a.func,title:c.a.node,variant:c.a.string},hC=function(e){var t;if(e.iconName)t=o.a.createElement(Sn,{category:e.iconCategory,className:"slds-page-header__icon",name:e.iconName,position:e.iconPosition,size:e.iconSize,variant:e.iconVariant});else if(e.icon){var n="slds-page-header__icon";e.icon.props&&(n=i()(e.icon.props.className,n)),t=o.a.cloneElement(e.icon,{className:n})}return o.a.createElement("div",{className:"slds-page-header__row"},o.a.createElement("div",{className:"slds-page-header__col-title"},o.a.createElement(ul,{body:o.a.createElement(o.a.Fragment,null,o.a.createElement("div",{className:"slds-page-header__name"},o.a.createElement(TS,{content:e.title})),o.a.createElement(zS,{content:e.info,variant:e.variant})),figure:t})),o.a.createElement(pC,{className:"slds-align-middle",navRight:e.navRight,onRenderControls:e.onRenderControls,type:"controls"}))};hC.displayName="PageHeaderBase",hC.propTypes=uC;var dC=hC,fC={details:c.a.array,label:c.a.node,icon:c.a.element,onRenderActions:c.a.func,title:c.a.node},vC=function(e){var t;if(e.iconName)t=o.a.createElement(Sn,{category:e.iconCategory,className:"slds-page-header__icon",name:e.iconName,position:e.iconPosition,size:e.iconSize,variant:e.iconVariant});else if(e.icon){var n="slds-page-header__icon";e.icon.props&&(n=i()(e.icon.props.className,n)),t=o.a.cloneElement(e.icon,{className:n})}return o.a.createElement(o.a.Fragment,null,o.a.createElement("div",{className:"slds-page-header__row"},o.a.createElement("div",{className:"slds-page-header__col-title"},o.a.createElement(ul,{body:o.a.createElement(o.a.Fragment,null,o.a.createElement("div",{className:"slds-page-header__name"},o.a.createElement(TS,{content:e.title,label:e.label}))),figure:t})),o.a.createElement(pC,{contentRight:e.contentRight,onRenderActions:e.onRenderActions,type:"actions"})),e.details?o.a.createElement("div",{className:"slds-page-header__row slds-page-header__row_gutters"},o.a.createElement("div",{className:"slds-page-header__col-details"},o.a.createElement(ZS,{details:e.details}))):null)};vC.displayName="PageHeaderRecordHome",vC.propTypes=fC;var mC=vC,gC={label:c.a.node,icon:c.a.element,info:c.a.node,nameSwitcherDropdown:c.a.node,onRenderActions:c.a.func,onRenderControls:c.a.func,title:c.a.node,trail:c.a.array,variant:c.a.string},yC=function(e){var t;if(e.iconName)t=o.a.createElement(Sn,{category:e.iconCategory,className:"slds-page-header__icon",name:e.iconName,position:e.iconPosition,size:e.iconSize,variant:e.iconVariant});else if(e.icon){var n="slds-page-header__icon";e.icon.props&&(n=i()(e.icon.props.className,n)),t=o.a.cloneElement(e.icon,{className:n})}return o.a.createElement(o.a.Fragment,null,o.a.createElement("div",{className:"slds-page-header__row"},o.a.createElement("div",{className:"slds-page-header__col-title"},o.a.createElement(ul,{body:o.a.createElement(o.a.Fragment,null,e.trail?o.a.createElement(OS,{style:{lineHeight:"1.3"},trail:e.trail}):null,o.a.createElement("div",{className:"slds-page-header__name"},o.a.createElement(TS,{content:e.title,label:e.trail?null:e.label}),e.nameSwitcherDropdown?o.a.createElement("div",{className:"slds-page-header__name-switcher"},e.nameSwitcherDropdown):null)),figure:t})),o.a.createElement(pC,{className:i()({"slds-align-middle slds-p-bottom_none":!e.onRenderControls&&!e.navRight}),contentRight:e.contentRight,onRenderActions:e.onRenderActions,type:"actions"})),o.a.createElement("div",{className:"slds-page-header__row"},o.a.createElement("div",{className:"slds-page-header__col-meta"},o.a.createElement(zS,{content:e.info,variant:e.variant})),o.a.createElement(pC,{className:i()({"slds-align-middle":!e.onRenderActions&&!e.comntentRight}),navRight:e.navRight,onRenderControls:e.onRenderControls,type:"controls"})))};yC.displayName="PageHeaderObjectHome",yC.propTypes=gC;var bC=yC,wC={label:c.a.node,info:c.a.node,onRenderActions:c.a.func,onRenderControls:c.a.func,title:c.a.node,trail:c.a.array,variant:c.a.string},zC=function(e){return o.a.createElement(o.a.Fragment,null,o.a.createElement("div",{className:"slds-page-header__row"},o.a.createElement("div",{className:"slds-page-header__col-title"},o.a.createElement(OS,{content:e.label,trail:e.trail}),o.a.createElement(ul,{body:o.a.createElement("div",{className:"slds-page-header__name"},o.a.createElement(TS,{content:e.title,label:e.label}))})),o.a.createElement(pC,{contentRight:e.contentRight,onRenderActions:e.onRenderActions,type:"actions"})),o.a.createElement("div",{className:"slds-page-header__row"},o.a.createElement("div",{className:"slds-page-header__col-meta"},o.a.createElement(zS,{content:e.info,variant:e.variant})),o.a.createElement(pC,{navRight:e.navRight,onRenderControls:e.onRenderControls,type:"controls"})))};zC.displayName="PageHeaderRelatedList",zC.propTypes=wC,zC.defaultProps={};var xC=zC;function _C(e){return(_C="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function OC(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function MC(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function SC(e,t){return(SC=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function CC(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=HC(e);if(t){var o=HC(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return EC(this,n)}}function EC(e,t){return!t||"object"!==_C(t)&&"function"!=typeof t?function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e):t}function HC(e){return(HC=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}var jC={className:c.a.oneOfType([c.a.array,c.a.object,c.a.string]),details:c.a.array,label:c.a.oneOfType([c.a.string,c.a.element]),icon:c.a.element,info:c.a.oneOfType([c.a.string,c.a.element]),joined:c.a.bool,nameSwitcherDropdown:c.a.node,onRenderActions:c.a.func,onRenderControls:c.a.func,title:c.a.oneOfType([c.a.string,c.a.element]),trail:c.a.array,variant:c.a.oneOf(["base","object-home","record-home","related-list"])},PC=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&SC(e,t)}(c,e);var t,n,r,a=CC(c);function c(){return OC(this,c),a.apply(this,arguments)}return t=c,(n=[{key:"componentDidMount",value:function(){gS(ae,this.props,yS)}},{key:"render",value:function(){var e,t=this.props,n=t.className,r=t.variant,a=i()("slds-page-header",{"slds-page-header_record-home":"record-home"===r||"recordHome"===r,"slds-page-header_related-list":"related-list"===r||"relatedList"===r,"slds-page-header_joined":this.props.joined},n);switch(r){case"object-home":case"objectHome":e=bC;break;case"record-home":case"recordHome":e=mC;break;case"related-list":case"relatedList":e=xC;break;default:e=dC}return o.a.createElement("div",{className:a},o.a.createElement(e,this.props))}}])&&MC(t.prototype,n),r&&MC(t,r),c}(r.Component);PC.displayName="SLDSPageHeader",PC.propTypes=jC,PC.defaultProps={variant:"base"};var kC=PC,NC={className:c.a.oneOfType([c.a.array,c.a.object,c.a.string])},TC=function(e){return o.a.createElement("div",{className:i()("slds-page-header__control",e.className)},e.children)};TC.displayName=ce,TC.propTypes=NC;var LC=TC;function VC(e){return(VC="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function RC(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function DC(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function IC(e,t){return(IC=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function AC(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=BC(e);if(t){var o=BC(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return FC(this,n)}}function FC(e,t){return!t||"object"!==VC(t)&&"function"!=typeof t?function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e):t}function BC(e){return(BC=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}var qC=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&IC(e,t)}(c,e);var t,n,r,a=AC(c);function c(){return RC(this,c),a.apply(this,arguments)}return t=c,(n=[{key:"render",value:function(){return o.a.createElement("div",{className:i()("slds-panel","slds-grid","slds-grid_vertical","slds-nowrap",{"slds-panel_filters":"filters"===this.props.variant},this.props.className)},o.a.createElement("div",{className:"slds-form_stacked slds-grow slds-scrollable_y slds-grid slds-grid_vertical"},this.props.children))}}])&&DC(t.prototype,n),r&&DC(t,r),c}(o.a.Component);qC.displayName="SLDSPanel",qC.propTypes={children:c.a.node,className:c.a.oneOfType([c.a.array,c.a.object,c.a.string]),variant:c.a.oneOf(["filters"])};var KC=qC;var WC=function(){},UC=function(e){var t=e.addFilterLabel,n=e.onClickAdd,r=e.onClickRemoveAll,a=e.removeAllLabel;return o.a.createElement("div",{className:"slds-filters__footer slds-grid slds-shrink-none"},o.a.createElement(or,{label:t,onClick:n,variant:"link"}),o.a.createElement(or,{className:"slds-col_bump-left",label:a,onClick:r,variant:"link"}))};UC.displayName="SLDSPanelFilterFooter",UC.propTypes={addFilterLabel:c.a.node.isRequired,onClickAdd:c.a.func.isRequired,onClickRemoveAll:c.a.func.isRequired,removeAllLabel:c.a.node.isRequired};var GC=UC,YC=function(e){var t=e.assistiveText,n=e.cancelLabel,r=e.heading,a=e.modified,c=e.onRequestCancel,s=e.onRequestClose,i=e.onRequestSave,l=e.saveLabel;return a?o.a.createElement("div",{className:"slds-filters__header slds-grid slds-has-divider_bottom-space slds-grid_align-spread"},o.a.createElement(or,{label:n,onClick:c,variant:"neutral"}),o.a.createElement(or,{label:l,onClick:i,variant:"brand"})):o.a.createElement("div",{className:"slds-filters__header slds-grid slds-has-divider_bottom-space"},o.a.createElement("h2",{className:"slds-align-middle slds-text-heading_small"},r),o.a.createElement(or,{className:"slds-col_bump-left",assistiveText:{icon:t.closeButton},iconCategory:"utility",iconName:"forward",iconVariant:"bare",iconSize:"small",onClick:s,title:t.closeButton,variant:"icon"}))};YC.displayName="SLDSPanelFilterHeader",YC.propTypes={assistiveText:c.a.shape({closeButton:c.a.string}),cancelLabel:c.a.string,heading:c.a.node,modified:c.a.bool,onRequestCancel:c.a.func,onRequestClose:c.a.func,onRequestSave:c.a.func,saveLabel:c.a.string};var QC=YC;function JC(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function XC(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?JC(Object(n),!0).forEach((function(t){$C(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):JC(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function $C(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var ZC={addFilterLabel:"Add Filter",cancelLabel:"Cancel",assistiveText:{closeButton:"Close Filter Panel"},heading:"Filter",saveLabel:"Save",removeAllLabel:"Remove All"},eE=function(e){WC(oe,e);var t=e.children,n=e.errorLabel,r=e.footer,a=e.header,c=e.variant,s=e.addFilterLabel,i=e.onClickAdd,l=e.onClickRemoveAll,p=e.removeAllLabel,u=e.cancelLabel,h=e.heading,d=e.modified,f=e.onRequestCancel,v=e.onRequestClose,m=e.onRequestSave,g=e.saveLabel,y=XC(XC({},ZC.assistiveText),e.assistiveText);return e.assistiveTextCloseFilterPanel&&(y.closeButton=e.assistiveTextCloseFilterPanel),o.a.createElement("div",{className:"slds-filters"},"panel"===c?o.a.createElement(QC,{assistiveText:y,cancelLabel:u,heading:h,modified:d,onRequestCancel:f,onRequestClose:v,onRequestSave:m,saveLabel:g}):a||null,o.a.createElement("div",{className:"slds-filters__body"},n?o.a.createElement("div",{className:"slds-text-color_error slds-m-bottom_x-small",role:"alert"},n):null,t),"panel"===c?o.a.createElement(GC,{addFilterLabel:s,onClickAdd:i,onClickRemoveAll:l,removeAllLabel:p}):r||null)};eE.displayName=oe,eE.propTypes={assistiveText:c.a.shape({closeButton:c.a.string}),addFilterLabel:c.a.node,cancelLabel:c.a.string,children:c.a.node,errorLabel:c.a.string,footer:c.a.node,header:c.a.node,heading:c.a.oneOfType([c.a.node,c.a.string]),modified:c.a.bool,onClickAdd:c.a.func,onClickRemoveAll:c.a.func,onRequestCancel:c.a.func,onRequestClose:c.a.func,onRequestSave:c.a.func,removeAllLabel:c.a.node,saveLabel:c.a.string,variant:c.a.oneOf(["panel"])},eE.defaultProps=ZC;var tE=eE;function nE(e){return(nE="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function rE(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function oE(e,t,n){return t&&rE(e.prototype,t),n&&rE(e,n),e}function aE(e,t){return(aE=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function cE(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=iE(e);if(t){var o=iE(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return sE(this,n)}}function sE(e,t){return!t||"object"!==nE(t)&&"function"!=typeof t?function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e):t}function iE(e){return(iE=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}var lE=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&aE(e,t)}(n,e);var t=cE(n);function n(e){var r;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,n),(r=t.call(this,e)).generatedId=p.a.generate(),r}return oE(n,null,[{key:"propTypes",value:function(){return{children:c.a.node}}}]),oE(n,[{key:"render",value:function(){var e=this,t=o.a.Children.map(this.props.children,(function(t,n){var r,a=t&&t.props.id?t.props.id:"".concat(e.generatedId,"-").concat(n);return t&&t.props.errorLabel&&(r=o.a.cloneElement(t,{isError:!0})),t?o.a.createElement("li",{className:"slds-item slds-hint-parent"},r||t,t.props.errorLabel?o.a.createElement("p",{id:"".concat(a,"-error"),className:"slds-text-color_error slds-m-top_xx-small"},t.props.errorLabel):null):null}));return o.a.createElement("ol",{className:"slds-list_vertical slds-list_vertical-space"},t)}}]),n}(o.a.Component);!function(e,t,n){t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n}(lE,"displayName","SLDSFilterList");var pE=lE,uE=function(e){var t=e.heading,n=e.isLocked,r=e.lockedHeading;return o.a.createElement("h3",{className:i()("slds-text-body_small","slds-m-vertical_x-small",{"slds-grid":n})},n?r:t,n?o.a.createElement(Sn,{className:"slds-m-left_x-small",assistiveText:{label:"locked"},category:"utility",name:"lock",size:"x-small"}):null)};uE.displayName="SLDSPanelFilterListHeading",uE.propTypes={heading:c.a.oneOfType([c.a.node,c.a.string]),isLocked:c.a.bool,lockedHeading:c.a.string},uE.defaultProps={heading:"Matching all these filters",lockedHeading:"Locked filters"};var hE=uE;function dE(e){return(dE="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function fE(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function vE(e,t){return(vE=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function mE(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=bE(e);if(t){var o=bE(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return gE(this,n)}}function gE(e,t){return!t||"object"!==dE(t)&&"function"!=typeof t?yE(e):t}function yE(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function bE(e){return(bE=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function wE(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var zE={assistiveText:c.a.shape({listboxLabel:c.a.string,removePill:c.a.string}),className:c.a.oneOfType([c.a.array,c.a.object,c.a.string]),id:c.a.string,labels:c.a.shape({removePillTitle:c.a.string}),options:c.a.arrayOf(c.a.shape({avatar:c.a.oneOfType([c.a.node,c.a.shape({imgSrc:c.a.string,title:c.a.string,variant:c.a.string})]),bare:c.a.bool,error:c.a.bool,icon:c.a.oneOfType([c.a.node,c.a.shape({category:c.a.string,name:c.a.string})]),id:c.a.string,label:c.a.oneOfType([c.a.node,c.a.string]),title:c.a.string})),onClickPill:c.a.func,onRequestRemovePill:c.a.func,style:c.a.object,variant:c.a.oneOf(["base","bare"])},xE=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&vE(e,t)}(c,e);var t,n,r,a=mE(c);function c(e){var t;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,c),wE(yE(t=a.call(this,e)),"getId",(function(){return t.props.id||t.generatedId})),wE(yE(t),"getNewActiveOptionIndex",(function(e){var t=e.activeOptionIndex,n=t+e.offset;return e.options.length>n&&n>=0?n:t})),wE(yE(t),"handleBlurPill",(function(){t.preserveFocus?t.preserveFocus=!1:t.setState({listboxHasFocus:!1})})),wE(yE(t),"handleClickPill",(function(e,n){t.props.onClickPill&&t.props.onClickPill(e,{index:n.index,option:n.option})})),wE(yE(t),"handlePillFocus",(function(e,n){t.state.listboxHasFocus||t.setState({activeSelectedOption:n.option,activeSelectedOptionIndex:n.index,listboxHasFocus:!0})})),wE(yE(t),"handleNavigatePillContainer",(function(e,n){var r=n.direction,o={next:1,previous:-1};t.setState((function(e){var n,a=t.props.options,c=e.activeSelectedOptionIndex+1===a.length&&"next"===r,s=0===e.activeSelectedOptionIndex&&"previous"===r;if(c)n={activeSelectedOption:a[0],activeSelectedOptionIndex:0,listboxHasFocus:!0};else if(s)n={activeSelectedOption:a[a.length-1],activeSelectedOptionIndex:a.length-1,listboxHasFocus:!0};else{var i=t.getNewActiveOptionIndex({activeOptionIndex:e.activeSelectedOptionIndex,offset:o[r],options:a});n={activeSelectedOption:a[i],activeSelectedOptionIndex:i,listboxHasFocus:!0}}return t.preserveFocus=!0,n}))})),wE(yE(t),"handleRequestFocusPillContainer",(function(e,n){var r=n.ref;r&&(t.activeSelectedOptionRef=r,t.activeSelectedOptionRef.focus())})),wE(yE(t),"handleRequestRemove",(function(e,n){t.props.onRequestRemovePill&&(t.preserveFocus=!0,t.props.onRequestRemovePill(e,{index:n.index,option:n.option}))})),wE(yE(t),"resetActiveSelectedOption",(function(){var e=t.props.options,n=t.state.activeSelectedOptionIndex;e[n]||(n=e.length>0&&n>=e.length?e.length-1:0),t.setState({activeSelectedOption:e[n]||void 0,activeSelectedOptionIndex:n,listboxHasFocus:!!e[n]})})),t.state={activeSelectedOption:t.props.options&&t.props.options[0]||void 0,activeSelectedOptionIndex:0,listboxHasFocus:!1},t.activeSelectedOptionRef=null,t.generatedId=p.a.generate(),t.preserveFocus=!1,t}return t=c,(n=[{key:"componentDidUpdate",value:function(){(this.props.options&&this.props.options.length>0&&!this.props.options[this.state.activeSelectedOptionIndex]||this.preserveFocus)&&(this.resetActiveSelectedOption(),this.preserveFocus=!1)}},{key:"render",value:function(){return this.props.options.length>0?o.a.createElement(Cv,{activeOption:this.state.activeSelectedOption,activeOptionIndex:this.state.activeSelectedOptionIndex,assistiveText:{removePill:this.props.assistiveText.removePill,selectedListboxLabel:this.props.assistiveText.listboxLabel},className:this.props.className,events:{onBlurPill:this.handleBlurPill,onClickPill:this.handleClickPill,onPillFocus:this.handlePillFocus,onRequestFocus:this.handleRequestFocusPillContainer,onRequestFocusOnNextPill:this.handleNavigatePillContainer,onRequestFocusOnPreviousPill:this.handleNavigatePillContainer,onRequestRemove:this.handleRequestRemove},id:"".concat(this.getId(),"-listbox-of-pill-options"),isBare:"bare"===this.props.variant,isPillContainer:!0,labels:this.props.labels,listboxHasFocus:this.state.listboxHasFocus,renderAtSelectionLength:0,selection:this.props.options,style:this.props.style}):null}}])&&fE(t.prototype,n),r&&fE(t,r),c}(o.a.Component);xE.displayName="SLDSPillContainer",xE.defaultProps={assistiveText:{listboxLabel:"Selected Options:",removePill:"Press delete or backspace to remove"},labels:{removePillTitle:"Remove"}},xE.propTypes=zE;var _E=xE;function OE(e){return(OE="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function ME(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function SE(e,t){return(SE=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function CE(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=HE(e);if(t){var o=HE(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return EE(this,n)}}function EE(e,t){return!t||"object"!==OE(t)&&"function"!=typeof t?function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e):t}function HE(e){return(HE=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}var jE={assistiveText:c.a.shape({progress:c.a.string}),id:c.a.string,className:c.a.oneOfType([c.a.array,c.a.object,c.a.string]),labels:c.a.shape({label:c.a.oneOfType([c.a.string,c.a.node]),complete:c.a.oneOfType([c.a.string,c.a.node])}),radius:c.a.oneOf(["circular"]),color:c.a.oneOf(["success"]),thickness:c.a.oneOf(["x-small","small","medium","large"]),value:c.a.number.isRequired,orientation:c.a.oneOf(["horizontal","vertical"]),style:c.a.object},PE={assistiveText:{progress:"Progress"},labels:{complete:"Complete"},orientation:"horizontal",style:{height:"100%"}},kE=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&SE(e,t)}(c,e);var t,n,r,a=CE(c);function c(e){var t;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,c),(t=a.call(this,e)).generatedId=p.a.generate(),t}return t=c,(n=[{key:"getId",value:function(){return this.props.id||this.generatedId}},{key:"getDescription",value:function(e){var t=e.labels;return t.label?o.a.createElement("div",{className:"slds-grid slds-grid_align-spread slds-p-bottom_x-small",id:"progress-bar-label-".concat(this.getId())},o.a.createElement("span",null,t.label),o.a.createElement("span",null,o.a.createElement("strong",null,this.props.value,"% ",t.complete))):""}},{key:"render",value:function(){var e=lr()({},PE.labels,this.props.labels),t=lr()({},PE.assistiveText,this.props.assistiveText),n=lr()({},PE.style,this.props.style);return o.a.createElement("div",{id:this.getId(),style:n},"horizontal"===this.props.orientation&&this.getDescription({labels:e}),o.a.createElement("div",{"aria-labelledby":"horizontal"===this.props.orientation&&e.label?"progress-bar-label-".concat(this.getId()):void 0,"aria-valuemin":"0","aria-valuemax":"100","aria-valuenow":this.props.value,"aria-valuetext":"".concat(t.progress,": ").concat(this.props.value,"%"),role:"progressbar",className:i()("slds-progress-bar",this.props.radius?"slds-progress-bar_".concat(this.props.radius):null,this.props.thickness?"slds-progress-bar_".concat(this.props.thickness):null,this.props.className,{"slds-progress-bar_vertical":"vertical"===this.props.orientation})},o.a.createElement("span",{className:i()("slds-progress-bar__value",this.props.color?"slds-progress-bar__value_".concat(this.props.color):null),style:"vertical"===this.props.orientation?{height:"".concat(this.props.value,"%")}:{width:"".concat(this.props.value,"%")}},o.a.createElement("span",{className:"slds-assistive-text"},"".concat(t.progress,": "),"".concat(this.props.value,"%")))))}}])&&ME(t.prototype,n),r&&ME(t,r),c}(o.a.Component);kE.displayName="SLDSProgressBar",kE.propTypes=jE,kE.defaultProps=PE;var NE=kE;function TE(e){return(TE="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function LE(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function VE(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function RE(e,t){return(RE=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function DE(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=AE(e);if(t){var o=AE(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return IE(this,n)}}function IE(e,t){return!t||"object"!==TE(t)&&"function"!=typeof t?function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e):t}function AE(e){return(AE=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}var FE={assistiveText:c.a.shape({completedStep:c.a.string,disabledStep:c.a.string,percentage:c.a.string,step:c.a.string}),id:c.a.oneOfType([c.a.number,c.a.string]),index:c.a.number,isCompleted:c.a.bool,isDisabled:c.a.bool,isError:c.a.bool,isSelected:c.a.bool,label:c.a.node,onClick:c.a.func,onFocus:c.a.func,step:c.a.object,tooltipIsOpen:c.a.bool,tooltipPosition:c.a.oneOf(["absolute","overflowBoundaryElement","relative"])},BE=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&RE(e,t)}(c,e);var t,n,r,a=DE(c);function c(){return LE(this,c),a.apply(this,arguments)}return t=c,(n=[{key:"buttonIcon",value:function(e,t,n){var r={isSelected:n.isSelected,isError:n.isError,isCompleted:n.isCompleted,isDisabled:n.isDisabled,step:n.step},a=e?o.a.createElement(vt,{category:"utility",name:this.props.isError?"error":"success"}):null;return n.isDisabled?o.a.createElement("a",{className:i()("slds-button",{"slds-button_icon":e},"slds-progress__marker",{"slds-progress__marker_icon":e},"slds-is-disabled"),"aria-disabled":!0,"aria-describedby":"progress-indicator-tooltip-".concat(this.props.step.id||this.props.index),style:{cursor:"not-allowed"},tabIndex:0,role:"button"},a,o.a.createElement("span",{className:"slds-assistive-text"},this.props.step.assistiveText||o.a.createElement(o.a.Fragment,null,"".concat(n.assistiveText.step," ").concat(n.index+1,": "),n.step.label,"- ".concat(t)))):o.a.createElement("button",{className:i()("slds-button",{"slds-button_icon":e},"slds-progress__marker",{"slds-progress__marker_icon":e}),onClick:function(e){return n.onClick(e,r)},onFocus:function(e){return n.onFocus(e,r)},"aria-describedby":"progress-indicator-tooltip-".concat(this.props.step.id||this.props.index),"aria-current":this.props.isSelected?"step":null,type:"button"},a,o.a.createElement("span",{className:"slds-assistive-text"},this.props.step.assistiveText||o.a.createElement(o.a.Fragment,null,"".concat(n.assistiveText.step," ").concat(n.index+1,": "),n.step.label,t?" - ".concat(t):"")))}},{key:"render",value:function(){var e=this.props.isCompleted||this.props.isError,t="";this.props.isError?t=this.props.assistiveText.errorStep:this.props.isCompleted?t=this.props.assistiveText.completedStep:this.props.isDisabled&&(t=this.props.assistiveText.disabledStep);var n={align:"top",id:"progress-indicator-tooltip-".concat(this.props.step.id||this.props.index),content:this.props.step.label,theme:"info",position:this.props.tooltipPosition,triggerStyle:{display:e?"":"flex"}};return this.props.tooltipIsOpen&&(n.isOpen=!0),o.a.createElement("li",{className:i()("slds-progress__item",{"slds-is-completed":this.props.isCompleted,"slds-is-active":this.props.isSelected&&!this.props.isError,"slds-has-error":this.props.isError})},o.a.createElement(Fn,n,this.buttonIcon(e,t,this.props)))}}])&&VE(t.prototype,n),r&&VE(t,r),c}(o.a.Component);BE.propTypes=FE,BE.displayName="SLDSProgressIndicatorStep";var qE=BE;function KE(e){return(KE="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function WE(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function UE(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function GE(e,t){return(GE=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function YE(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=JE(e);if(t){var o=JE(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return QE(this,n)}}function QE(e,t){return!t||"object"!==KE(t)&&"function"!=typeof t?function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e):t}function JE(e){return(JE=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}var XE={assistiveText:c.a.shape({percentage:c.a.string}),value:c.a.string.isRequired},$E=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&GE(e,t)}(c,e);var t,n,r,a=YE(c);function c(){return WE(this,c),a.apply(this,arguments)}return t=c,(n=[{key:"render",value:function(){return o.a.createElement("div",{className:i()("slds-progress-bar slds-progress-bar_x-small",{"slds-progress-bar_vertical":"vertical"===this.props.orientation}),"aria-valuemin":"0","aria-valuemax":"100","aria-valuenow":this.props.value,role:"progressbar"},o.a.createElement("span",{className:"slds-progress-bar__value",style:"vertical"===this.props.orientation?{height:"".concat(this.props.value,"%")}:{width:"".concat(this.props.value,"%")}},o.a.createElement("span",{className:"slds-assistive-text"},this.props.assistiveText.percentage||"Progress: ".concat(this.props.value,"%"))))}}])&&UE(t.prototype,n),r&&UE(t,r),c}(o.a.Component);$E.displayName="ProgressBar",$E.propTypes=XE;var ZE=$E;function eH(e){return(eH="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function tH(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function nH(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function rH(e,t){return(rH=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function oH(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=cH(e);if(t){var o=cH(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return aH(this,n)}}function aH(e,t){return!t||"object"!==eH(t)&&"function"!=typeof t?function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e):t}function cH(e){return(cH=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}var sH={assistiveText:c.a.shape({percentage:c.a.string}),children:c.a.node,className:c.a.oneOfType([c.a.array,c.a.object,c.a.string]),id:c.a.string.isRequired,orientation:c.a.oneOf(["horizontal","vertical"]),value:c.a.string.isRequired,variant:c.a.oneOf(["base","modal","setup-assistant"])},iH=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&rH(e,t)}(c,e);var t,n,r,a=oH(c);function c(){return tH(this,c),a.apply(this,arguments)}return t=c,(n=[{key:"getId",value:function(){return this.props.id}},{key:"render",value:function(){return o.a.createElement("div",{id:this.getId(),className:i()("slds-progress",{"slds-progress_shade":"modal"===this.props.variant},{"slds-progress_vertical":"vertical"===this.props.orientation},{"slds-progress_success":"setup-assistant"===this.props.variant},this.props.className)},o.a.createElement("ol",{className:i()("slds-progress__list",{"slds-progress__list-bordered":"setup-assistant"===this.props.variant})},this.props.children),"vertical"!==this.props.orientation&&o.a.createElement(ZE,{value:this.props.value,orientation:this.props.orientation,assistiveText:this.props.assistiveText}))}}])&&nH(t.prototype,n),r&&nH(t,r),c}(o.a.Component);iH.propTypes=sH,iH.displayName="SLDSProgressIndicatorProgress";var lH=iH;function pH(e){return(pH="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function uH(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function hH(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function dH(e,t){return(dH=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function fH(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=gH(e);if(t){var o=gH(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return vH(this,n)}}function vH(e,t){return!t||"object"!==pH(t)&&"function"!=typeof t?mH(e):t}function mH(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function gH(e){return(gH=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function yH(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var bH={index:c.a.number,isCompleted:c.a.bool,isError:c.a.bool,isSelected:c.a.bool,onClick:c.a.func,step:c.a.object,variant:c.a.string},wH=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&dH(e,t)}(c,e);var t,n,r,a=fH(c);function c(){var e;uH(this,c);for(var t=arguments.length,n=new Array(t),r=0;r<t;r++)n[r]=arguments[r];return yH(mH(e=a.call.apply(a,[this].concat(n))),"stepIcon",(function(t){var n={isSelected:e.props.isSelected,isError:e.props.isError,isCompleted:e.props.isCompleted,step:e.props.step},r=t?o.a.createElement(Sn,{category:"utility",size:"x-small",name:e.props.isError?"error":"success"}):null;return e.props.onClick?o.a.createElement("button",{className:i()("slds-button slds-progress__marker",{"slds-progress__marker_icon":t,"slds-progress__marker_icon-success":"setup-assistant"===e.props.variant&&t&&!e.props.isError}),type:"button",onClick:function(t){return e.props.onClick(t,n)}},r):o.a.createElement("span",{className:i()("slds-progress__marker",{"slds-progress__marker_icon":t,"slds-progress__marker_icon-success":"setup-assistant"===e.props.variant&&t&&!e.props.isError})},r)})),yH(mH(e),"renderStepContent",(function(){return e.props.step.onRenderSetupAssistantAction||e.props.step.setupAssistantEstimatedTime?o.a.createElement("div",{id:"progress-indicator-vertical-label-".concat(e.props.step.id||e.props.index),className:"slds-progress__item_content slds-grid slds-grid_align-spread"},o.a.createElement("div",{className:"slds-size_3-of-4"},e.props.step.label),o.a.createElement("div",{className:"slds-grid slds-grid_align-end slds-size_1-of-4"},o.a.createElement("div",{className:"slds-media__figure slds-media__figure_reverse"},e.props.step.onRenderSetupAssistantAction,e.props.step.setupAssistantEstimatedTime&&o.a.createElement("p",{className:"slds-text-align_right slds-text-color_weak slds-p-top_medium"},e.props.step.setupAssistantEstimatedTime)))):o.a.createElement("div",{id:"progress-indicator-vertical-label-".concat(e.props.step.id||e.props.index),className:"slds-progress__item_content slds-grid slds-grid_align-spread"},e.props.step.label)})),e}return t=c,(n=[{key:"render",value:function(){var e=this.props.isCompleted||this.props.isError;return o.a.createElement("li",{className:i()("slds-progress__item",{"slds-is-completed":this.props.isCompleted,"slds-is-active":this.props.isSelected&&!this.props.isError,"slds-has-error":this.props.isError})},this.stepIcon(e),this.renderStepContent())}}])&&hH(t.prototype,n),r&&hH(t,r),c}(o.a.Component);wH.propTypes=bH,wH.displayName="SLDSProgressIndicatorStepVertical";var zH=wH;function xH(e){return(xH="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function _H(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function OH(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?_H(Object(n),!0).forEach((function(t){MH(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):_H(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function MH(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function SH(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function CH(e,t){return(CH=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function EH(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=jH(e);if(t){var o=jH(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return HH(this,n)}}function HH(e,t){return!t||"object"!==xH(t)&&"function"!=typeof t?function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e):t}function jH(e){return(jH=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}var PH={assistiveText:c.a.shape({completedStep:c.a.string,disabledStep:c.a.string,percentage:c.a.string,step:c.a.string}),className:c.a.oneOfType([c.a.array,c.a.object,c.a.string]),completedSteps:c.a.array,disabledSteps:c.a.array,errorSteps:c.a.array,id:c.a.string,orientation:c.a.oneOf(["horizontal","vertical"]),onStepClick:c.a.func,onStepFocus:c.a.func,selectedStep:c.a.object.isRequired,steps:c.a.array.isRequired,tooltipIsOpenSteps:c.a.array,variant:c.a.oneOf(["base","modal","setup-assistant"]),tooltipPosition:c.a.oneOf(["absolute","overflowBoundaryElement","relative"])},kH=[{id:0,label:"tooltip label #1"},{id:1,label:"tooltip label #2"},{id:2,label:"tooltip label #3"},{id:3,label:"tooltip label #4"},{id:4,label:"tooltip label #5"}],NH={assistiveText:{completedStep:"Completed",disabledStep:"Disabled",errorStep:"Error",step:"Step"},errorSteps:[],completedSteps:[],disabledSteps:[],orientation:"horizontal",selectedStep:kH[0],variant:"base",onStepClick:function(){},onStepFocus:function(){}};function TH(e,t){if(!e||!t)return!1;var n=Array.isArray(t)?t:[t];return!!Lf()(n,(function(t){return t===e||(void 0!==t.id&&void 0!==e.id?t.id===e.id:JSON.stringify(t)===JSON.stringify(e))}))}var LH=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&CH(e,t)}(c,e);var t,n,r,a=EH(c);function c(e){var t;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,c),(t=a.call(this,e)).generatedId=p.a.generate(),t}return t=c,(n=[{key:"componentWillUnmount",value:function(){this.isUnmounting=!0}},{key:"getId",value:function(){return this.props.id||this.generatedId}},{key:"getSteps",value:function(){return e=this.props.steps,t=void 0!==e,n=Array.isArray(e)&&e.every((function(e){return void 0!==e.label})),t&&n?this.props.steps:kH;var e,t,n}},{key:"render",value:function(){for(var e=this,t=OH(OH({},NH.assistiveText),this.props.assistiveText),n=this.props,r=n.selectedStep,a=n.disabledSteps,c=n.errorSteps,s=n.completedSteps,i=this.getSteps(),l=0,p=0;p<i.length;p+=1)void 0===i[p].id&&(i[p].id=p),TH(i[p],this.props.selectedStep)&&(l=p);var u="setup-assistant"===this.props.variant?"vertical":this.props.orientation,h=this.props.tooltipPosition||("modal"===this.props.variant?"absolute":"overflowBoundaryElement"),d="vertical"===u?zH:qE;return o.a.createElement(lH,{assistiveText:t,id:this.getId(),orientation:u,value:0===l?"0":"".concat(l/(i.length-1)*100),variant:this.props.variant,className:this.props.className},i.map((function(n,i){return o.a.createElement(d,{assistiveText:t,key:"".concat(e.getId(),"-").concat(n.id),id:e.getId(),index:i,isSelected:TH(n,r),isDisabled:TH(n,a),isError:TH(n,c),isCompleted:TH(n,s),onClick:e.props.onStepClick,onFocus:e.props.onStepFocus,step:n,tooltipIsOpen:TH(n,e.props.tooltipIsOpenSteps),tooltipPosition:h,variant:e.props.variant})})))}}])&&SH(t.prototype,n),r&&SH(t,r),c}(o.a.Component);LH.displayName="SLDSProgressIndicator",LH.propTypes=PH,LH.defaultProps=NH;var VH=LH,RH={id:c.a.string,className:c.a.oneOfType([c.a.array,c.a.object,c.a.string]),fillPercentDecimal:c.a.number,flowDirection:c.a.oneOf(["drain","fill"]),size:c.a.oneOf(["medium","large"])},DH=function(e){var t,n,r,a,c={height:"large"===e.size?"2rem":"1.5rem"};return"fill"===e.flowDirection&&(c.transform="scaleX(1) rotate(-90deg)"),o.a.createElement("div",{id:e.id,className:i()("slds-progress-ring",e.className)},o.a.createElement("div",{"aria-valuemin":"0","aria-valuemax":"100","aria-valuenow":100*e.fillPercentDecimal,className:"slds-progress-ring__progress",role:"progressbar",style:c},o.a.createElement("svg",{viewBox:"-1 -1 2 2"},o.a.createElement("path",{className:"slds-progress-ring__path",d:(a=e.fillPercentDecimal,t=a>.5?1:0,n=Math.cos(2*Math.PI*a),r=Math.sin(2*Math.PI*a),"M 1 0 A 1 1 0 ".concat(t," 1 ").concat(n," ").concat(r," L 0 0"))}))),o.a.createElement("div",{className:"slds-progress-ring__content"},e.children))};DH.displayName="SLDSProgressRingShape",DH.propTypes=RH,DH.defaultProps={fillPercentDecimal:0};var IH,AH=DH;function FH(e){return(FH="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function BH(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function qH(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function KH(e,t){return(KH=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function WH(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=GH(e);if(t){var o=GH(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return UH(this,n)}}function UH(e,t){return!t||"object"!==FH(t)&&"function"!=typeof t?function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e):t}function GH(e){return(GH=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function YH(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var QH=Object.freeze({ACTIVE:"active",WARNING:"warning",EXPIRED:"expired",COMPLETE:"complete"}),JH=(YH(IH={},QH.ACTIVE,"slds-progress-ring_active-step"),YH(IH,QH.WARNING,"slds-progress-ring_warning"),YH(IH,QH.EXPIRED,"slds-progress-ring_expired"),YH(IH,QH.COMPLETE,"slds-progress-ring_complete"),IH),XH={id:c.a.string,className:c.a.oneOfType([c.a.array,c.a.object,c.a.string]),theme:c.a.oneOf(["active","warning","expired","complete"]),icon:c.a.node,hasIcon:c.a.bool,value:c.a.number.isRequired,flowDirection:c.a.oneOf(["drain","fill"]),size:c.a.oneOf(["medium","large"])},$H=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&KH(e,t)}(c,e);var t,n,r,a=WH(c);function c(){return BH(this,c),a.apply(this,arguments)}return t=c,(n=[{key:"icon",value:function(){var e="";return this.props.hasIcon&&(this.props.icon?e=this.props.icon:this.props.theme===QH.WARNING?e=o.a.createElement(Sn,{category:"utility",name:"warning",title:"Warning"}):this.props.theme===QH.EXPIRED?e=o.a.createElement(Sn,{category:"utility",name:"error",title:"Expired"}):this.props.theme===QH.COMPLETE&&(e=o.a.createElement(Sn,{category:"utility",name:"check",title:"Complete"}))),e}},{key:"percentDecimal",value:function(){return this.props.value/100}},{key:"themeClass",value:function(){return JH[this.props.theme]||""}},{key:"render",value:function(){return o.a.createElement(AH,{id:this.props.id,size:this.props.size,className:i()(this.props.className,this.themeClass(),{"slds-progress-ring_large":"large"===this.props.size}),fillPercentDecimal:this.percentDecimal(),flowDirection:this.props.flowDirection},this.icon())}}])&&qH(t.prototype,n),r&&qH(t,r),c}(o.a.Component);$H.displayName="SLDSProgressRing",$H.propTypes=XH,$H.defaultProps={flowDirection:"drain",size:"medium"};var ZH=$H,ej=n(54);var tj=function(){};function nj(e){return(nj="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function rj(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function oj(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?rj(Object(n),!0).forEach((function(t){aj(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):rj(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function aj(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function cj(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function sj(e,t){return(sj=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function ij(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=pj(e);if(t){var o=pj(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return lj(this,n)}}function lj(e,t){return!t||"object"!==nj(t)&&"function"!=typeof t?function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e):t}function pj(e){return(pj=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}var uj={assistiveText:c.a.shape({icon:c.a.string}),className:c.a.oneOfType([c.a.array,c.a.object,c.a.string]),icon:c.a.node,theme:c.a.oneOf(["dark","light"])},hj=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&sj(e,t)}(c,e);var t,n,r,a=ij(c);function c(e){var t;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,c),t=a.call(this,e),tj(ue,e,ej),t}return t=c,(n=[{key:"render",value:function(){var e;if(this.props.icon){var t={};this.props.assistiveText&&this.props.assistiveText.icon&&(t.label=this.props.assistiveText.icon),this.props.icon.props.assistiveText&&(t=oj(oj({},t),this.props.icon.props.assistiveText)),e=o.a.cloneElement(this.props.icon,oj(oj({},this.props.icon.props),{},{assistiveText:t}))}else e=o.a.createElement(Sn,{assistiveText:{label:this.props.assistiveText&&this.props.assistiveText.icon||"Info"},category:"utility",name:this.props.iconName||"info",colorVariant:"dark"===this.props.theme?"base":void 0,size:"small"});return o.a.createElement("div",{className:i()("slds-scoped-notification","slds-media","slds-media_center",{"slds-scoped-notification_light":"light"===this.props.theme,"slds-scoped-notification_dark":"dark"===this.props.theme},this.props.className),role:"status"},o.a.createElement("div",{className:"slds-media__figure"},e),o.a.createElement("div",{className:"slds-media__body"},this.props.children))}}])&&cj(t.prototype,n),r&&cj(t,r),c}(o.a.Component);hj.displayName=ue,hj.propTypes=uj,hj.defaultProps={};var dj=hj;var fj=function(){},vj=n(17);function mj(e){return(mj="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function gj(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function yj(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function bj(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function wj(e,t){return(wj=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function zj(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=_j(e);if(t){var o=_j(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return xj(this,n)}}function xj(e,t){return!t||"object"!==mj(t)&&"function"!=typeof t?function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e):t}function _j(e){return(_j=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}var Oj={children:c.a.node,className:c.a.oneOfType([c.a.array,c.a.object,c.a.string]),id:c.a.string,isCard:c.a.bool,onStepToggleIsOpen:c.a.func,progressBar:c.a.node},Mj=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&wj(e,t)}(c,e);var t,n,r,a=zj(c);function c(e){var t;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,c),(t=a.call(this,e)).generatedId=p.a.generate(),t}return t=c,(n=[{key:"componentDidMount",value:function(){fj(le,this.props,vj)}},{key:"componentDidUpdate",value:function(){fj(le,this.props,vj)}},{key:"getId",value:function(){return this.props.id||this.generatedId}},{key:"render",value:function(){var e=this,t=o.a.createElement("ol",{id:this.getId(),className:i()("slds-setup-assistant",this.props.className)},o.a.Children.map(this.props.children,(function(t,n){return t.type.displayName!==pe?null:o.a.cloneElement(t,function(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?gj(Object(n),!0).forEach((function(t){yj(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):gj(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}({index:n,onToggleIsOpen:e.props.onStepToggleIsOpen,stepNumber:n+1},t.props))})));return this.props.isCard?o.a.createElement("section",{className:"slds-card"},o.a.createElement("header",{className:"slds-theme_shade slds-p-around_medium slds-m-bottom_small"},this.props.progressBar),t):o.a.createElement(o.a.Fragment,null,t)}}])&&bj(t.prototype,n),r&&bj(t,r),c}(o.a.Component);Mj.displayName=le,Mj.propTypes=Oj,Mj.defaultProps={isCard:!1};var Sj=Mj;function Cj(e){return(Cj="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function Ej(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function Hj(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?Ej(Object(n),!0).forEach((function(t){Vj(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Ej(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function jj(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function Pj(e,t){return(Pj=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function kj(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=Lj(e);if(t){var o=Lj(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return Nj(this,n)}}function Nj(e,t){return!t||"object"!==Cj(t)&&"function"!=typeof t?Tj(e):t}function Tj(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function Lj(e){return(Lj=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function Vj(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var Rj={assistiveText:c.a.shape({expandStep:c.a.string}),className:c.a.oneOfType([c.a.array,c.a.object,c.a.string]),description:c.a.oneOfType([c.a.string,c.a.node]),estimatedTime:c.a.oneOfType([c.a.string,c.a.node]),heading:c.a.oneOfType([c.a.string,c.a.node]),id:c.a.string,index:c.a.number,isExpandable:c.a.bool,isOpen:c.a.bool,onRenderAction:c.a.func,onRenderContent:c.a.func,onRenderFigure:c.a.func,onToggleIsOpen:c.a.func,progress:c.a.number,stepNumber:c.a.number},Dj={assistiveText:{expandStep:"Expand Step"}},Ij=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&Pj(e,t)}(c,e);var t,n,r,a=kj(c);function c(e){var t;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,c),Vj(Tj(t=a.call(this,e)),"toggleIsOpen",(function(e){t.props.onToggleIsOpen?t.props.onToggleIsOpen(e,{index:t.props.index,isOpen:t.getIsOpen(),step:t.props}):t.setState({isOpen:!t.getIsOpen()})})),t.generatedId=p.a.generate(),t.state={isOpen:e.isOpen||!1},fj(pe,t.props,vj),t}return t=c,(n=[{key:"getId",value:function(){return this.props.id||this.generatedId}},{key:"getIsOpen",value:function(){return void 0!==this.props.isOpen?this.props.isOpen:this.state.isOpen}},{key:"renderMediaContent",value:function(){return o.a.createElement(o.a.Fragment,null,o.a.createElement("div",{className:"slds-setup-assistant__step-summary-content slds-media__body"},o.a.createElement("h3",{className:"slds-setup-assistant__step-summary-title slds-text-heading_small"},this.props.isExpandable?o.a.createElement(or,{"aria-controls":"".concat(this.getId(),"-detail-content"),className:"slds-button_reset",label:this.props.heading,onClick:this.toggleIsOpen,variant:"base"}):this.props.heading),o.a.createElement("p",null,this.props.description)),o.a.createElement("div",{className:"slds-media__figure slds-media__figure_reverse"},this.props.onRenderAction?this.props.onRenderAction():null,this.props.estimatedTime?o.a.createElement("p",{className:i()("slds-text-align_right","slds-text-color_weak",{"slds-p-top_medium":void 0!==this.props.onRenderAction})},this.props.estimatedTime):null))}},{key:"renderSummary",value:function(){var e,t;if(this.props.progress>0&&this.props.progress<100?t="active":100===this.props.progress&&(t="complete"),this.props.onRenderFigure){if((e=this.props.onRenderFigure())&&e.type&&e.type.displayName===X){var n={position:"relative",top:this.props.isExpandable?"5px":"-3px"};e.props.containerStyle&&(n=Hj(Hj({},n),e.props.containerStyle)),e=o.a.cloneElement(e,Hj(Hj({},e.props),{},{containerStyle:n,size:"small"})),e=o.a.createElement("div",{className:"slds-media__figure"},e)}}else void 0!==this.props.progress&&(e=o.a.createElement("div",{className:"slds-media__figure"},o.a.createElement(ZH,{hasIcon:!0,icon:100===this.props.progress?null:this.props.stepNumber,flowDirection:"fill",size:"large",theme:t,value:this.props.progress})));return o.a.createElement("div",{className:"slds-setup-assistant__step-summary"},o.a.createElement("div",{className:"slds-media"},e,this.props.isExpandable||void 0!==this.props.progress?o.a.createElement("div",{className:"slds-media__body slds-m-top_x-small"},o.a.createElement("div",{className:"slds-media"},this.renderMediaContent())):this.renderMediaContent()))}},{key:"render",value:function(){var e=lr()({},Dj.assistiveText,this.props.assistiveText);return o.a.createElement("li",{className:i()("slds-setup-assistant__item",this.props.className),id:this.getId()},o.a.createElement("article",{className:"slds-setup-assistant__step"},this.props.isExpandable?o.a.createElement("div",{className:i()("slds-summary-detail",{"slds-is-open":this.getIsOpen()})},o.a.createElement(or,{assistiveText:{icon:e.expandStep},"aria-controls":"".concat(this.getId(),"-detail-content"),className:"slds-m-right_x-small slds-m-top_x-small",iconCategory:"utility",iconClassName:"slds-summary-detail__action-icon",iconName:"switch",onClick:this.toggleIsOpen,variant:"icon"}),o.a.createElement("div",{className:"slds-container_fluid"},o.a.createElement("div",{className:"slds-summary-detail__title"},this.renderSummary()),o.a.createElement("div",{className:"slds-summary-detail__content",id:"".concat(this.getId(),"-detail-content")},o.a.createElement("div",{className:"slds-setup-assistant__step-detail"},this.props.onRenderContent?this.props.onRenderContent():null)))):this.renderSummary()))}}])&&jj(t.prototype,n),r&&jj(t,r),c}(o.a.Component);Ij.displayName=pe,Ij.propTypes=Rj,Ij.defaultProps=Dj;var Aj=Ij;function Fj(e){return(Fj="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function Bj(){return(Bj=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}function qj(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function Kj(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?qj(Object(n),!0).forEach((function(t){Xj(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):qj(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function Wj(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function Uj(e,t){return(Uj=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function Gj(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=Jj(e);if(t){var o=Jj(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return Yj(this,n)}}function Yj(e,t){return!t||"object"!==Fj(t)&&"function"!=typeof t?Qj(e):t}function Qj(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function Jj(e){return(Jj=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function Xj(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var $j={"aria-describedby":c.a.string,assistiveText:c.a.shape({disabled:c.a.string,label:c.a.string}),classNameContainer:c.a.oneOfType([c.a.array,c.a.object,c.a.string]),defaultValue:c.a.number,disabled:c.a.bool,errorText:c.a.string,id:c.a.string,label:c.a.string,max:c.a.number,min:c.a.number,name:c.a.string,onChange:c.a.func,onInput:c.a.func,size:c.a.oneOf(["x-small","small","medium","large"]),step:c.a.number,value:c.a.number,vertical:c.a.bool},Zj={assistiveText:{disabled:"Disabled"},min:0,max:100,step:1},eP=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&Uj(e,t)}(c,e);var t,n,r,a=Gj(c);function c(e){var t;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,c),Xj(Qj(t=a.call(this,e)),"handleChange",(function(e){Tr()(t.props.onChange)&&t.props.onChange(e,{value:Number(e.target.value)})})),Xj(Qj(t),"handleInput",(function(e){Tr()(t.props.onInput)&&t.props.onInput(e,{value:Number(e.target.value)})})),t.generatedId=p.a.generate(),t.props.errorText&&(t.generatedErrorId=p.a.generate()),t}return t=c,(n=[{key:"getId",value:function(){return this.props.id||this.generatedId}},{key:"getErrorId",value:function(){return this.props["aria-describedby"]||this.generatedErrorId}},{key:"render",value:function(){var e=Bn(this.props);e["aria-describedby"]=this.getErrorId();var t=Kj(Kj({},Zj.assistiveText),this.props.assistiveText),n=this.props.label||this.props.assistiveText&&this.props.assistiveText.label;return o.a.createElement("div",{className:i()("slds-form-element",{"slds-has-error":this.props.errorText},this.props.classNameContainer)},o.a.createElement("label",{className:i()("slds-form-element__label",{"slds-assistive-text":this.props.assistiveText&&!this.props.label}),htmlFor:this.getId()},o.a.createElement("span",{className:"slds-slider-label"},n?o.a.createElement("span",{className:"slds-slider-label__label"},n):null,o.a.createElement("span",{className:"slds-slider-label__range"},this.props.min," - ",this.props.max),this.props.disabled?o.a.createElement("span",{className:"slds-assistive-text"}," ",t.disabled):null)),o.a.createElement("div",{className:"slds-form-element__control"},o.a.createElement("div",{className:i()("slds-slider",{"slds-slider_vertical":this.props.vertical,"slds-size_x-small":"x-small"===this.props.size,"slds-size_small":"small"===this.props.size,"slds-size_medium":"medium"===this.props.size,"slds-size_large":"large"===this.props.size})},o.a.createElement("input",Bj({type:"range",id:this.getId(),name:this.props.name,className:"slds-slider__range",min:this.props.min,max:this.props.max,step:this.props.step,disabled:this.props.disabled,onChange:this.handleChange,onInput:this.handleInput},e,void 0!==this.props.value?{value:this.props.value}:{defaultValue:this.props.defaultValue})),o.a.createElement("span",{className:"slds-slider__value","aria-hidden":"true"},this.props.value||this.props.defaultValue||"0")),this.props.errorText?o.a.createElement("div",{id:this.getErrorId(),className:"slds-form-element__help"},this.props.errorText):null))}}])&&Wj(t.prototype,n),r&&Wj(t,r),c}(o.a.Component);Xj(eP,"displayName","SLDSSlider"),Xj(eP,"propTypes",$j),Xj(eP,"defaultProps",Zj);var tP=eP,nP={assistiveText:c.a.shape({toggleButtonOpen:c.a.string.isRequired,toggleButtonClose:c.a.string.isRequired}),ariaControls:c.a.string.isRequired,isOpen:c.a.bool.isRequired,events:c.a.shape({onClick:c.a.func.isRequired})},rP=function(e){var t=e.isOpen,n=e.assistiveText,r=e.ariaControls,a=e.events,c=t?n.toggleButtonOpen:n.toggleButtonClose;return o.a.createElement(or,{className:i()("slds-button slds-button_icon slds-split-view__toggle-button",{"slds-is-open":t}),"aria-expanded":t,"aria-controls":r,title:c,variant:"base",iconName:"left",iconCategory:"utility",iconSize:"x-small",onClick:a.onClick,assistiveText:{icon:c}})};rP.displayName="SLDSSplitViewToggleButton",rP.propTypes=nP,rP.defaultProps={};var oP=rP;function aP(e){return(aP="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function cP(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function sP(e,t){return(sP=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function iP(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=pP(e);if(t){var o=pP(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return lP(this,n)}}function lP(e,t){return!t||"object"!==aP(t)&&"function"!=typeof t?function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e):t}function pP(e){return(pP=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function uP(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var hP={assistiveText:c.a.shape({toggleButtonOpen:c.a.string,toggleButtonClose:c.a.string}),id:c.a.string,className:c.a.oneOfType([c.a.array,c.a.object,c.a.string]),isOpen:c.a.bool,events:c.a.shape({onClose:c.a.func,onOpen:c.a.func}),master:c.a.oneOfType([c.a.arrayOf(c.a.element),c.a.element]).isRequired,masterWidth:c.a.string,detail:c.a.oneOfType([c.a.arrayOf(c.a.element),c.a.element]).isRequired},dP=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&sP(e,t)}(c,e);var t,n,r,a=iP(c);function c(e){var t;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,c),(t=a.call(this,e)).state={isOpen:"boolean"!=typeof e.isOpen||e.isOpen},t.generatedId=p.a.generate(),t}return t=c,(n=[{key:"getId",value:function(){return this.props.id||this.generatedId}},{key:"getIsOpen",value:function(){return"boolean"==typeof this.props.isOpen?this.props.isOpen:this.state.isOpen}},{key:"getMasterViewId",value:function(){return"master_view_".concat(this.getId())}},{key:"toggle",value:function(e){"boolean"!=typeof this.props.isOpen&&this.setState((function(e){return{isOpen:!e.isOpen}}));var t=this.getIsOpen();t&&this.props.events.onClose?this.props.events.onClose(e):!t&&this.props.events.onOpen&&this.props.events.onOpen(e)}},{key:"render",value:function(){var e=this;return o.a.createElement("div",{id:this.getId(),className:i()("slds-grid",this.props.className),style:{height:"100%"}},o.a.createElement("div",{style:{maxWidth:this.getIsOpen()?this.props.masterWidth:"0",minWidth:this.getIsOpen()?this.props.masterWidth:"0"},className:i()("slds-split-view_container",{"slds-is-open":this.getIsOpen()},{"slds-is-closed":!this.getIsOpen()})},o.a.createElement(oP,{assistiveText:this.props.assistiveText,ariaControls:this.getMasterViewId(),isOpen:this.getIsOpen(),events:{onClick:function(t){return e.toggle(t)}}}),o.a.createElement("article",{id:this.getMasterViewId(),className:"slds-split-view slds-grid slds-grid_vertical slds-grow slds-scrollable_none"},this.getIsOpen()?this.props.master:null)),o.a.createElement("div",{style:{marginLeft:"0.75rem"},className:"slds-grow slds-scrollable_y"},this.props.detail))}}])&&cP(t.prototype,n),r&&cP(t,r),c}(o.a.Component);uP(dP,"displayName","SLDSSplitView"),uP(dP,"propTypes",hP),uP(dP,"defaultProps",{assistiveText:{toggleButtonOpen:"Close split view",toggleButtonClose:"Open split view"},events:{},masterWidth:"20rem"});var fP=dP;function vP(){return(vP=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}function mP(e,t){if(null==e)return{};var n,r,o=function(e,t){if(null==e)return{};var n,r,o={},a=Object.keys(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)>=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}var gP=function(e){var t=e.className,n=mP(e,["className"]);return o.a.createElement(kC,vP({className:i()("slds-split-view__header slds-has-bottom-magnet",t)},n))};gP.displayName="SLDSSplitViewHeader",gP.propTypes={},gP.defaultProps={};var yP=gP,bP={item:c.a.shape({label:c.a.string,topRightText:c.a.string,bottomLeftText:c.a.string,bottomRightText:c.a.string})},wP=function(e){var t=e.item;return o.a.createElement("div",null,o.a.createElement("div",{className:"slds-grid slds-wrap"},o.a.createElement("span",{className:"slds-truncate slds-text-body_regular slds-text-color_default",title:t.label},t.label),o.a.createElement("span",{className:"slds-truncate slds-col_bump-left",title:t.topRightText},t.topRightText)),o.a.createElement("div",{className:"slds-grid slds-wrap"},o.a.createElement("span",{className:"slds-truncate",title:t.bottomLeftText},t.bottomLeftText),o.a.createElement("span",{className:"slds-truncate slds-col_bump-left",title:t.bottomLeftText},t.bottomRightText)))};wP.displayName="SLDSSplitViewListItemContent",wP.propTypes=bP,wP.defaultProps={};var zP=wP;function xP(e){return(xP="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function _P(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function OP(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function MP(e,t){return(MP=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function SP(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=EP(e);if(t){var o=EP(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return CP(this,n)}}function CP(e,t){return!t||"object"!==xP(t)&&"function"!=typeof t?function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e):t}function EP(e){return(EP=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function HP(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var jP={assistiveText:c.a.shape({unreadItem:c.a.string}),item:c.a.object.isRequired,multiple:c.a.bool,isFocused:c.a.bool.isRequired,isSelected:c.a.bool.isRequired,isUnread:c.a.bool,events:c.a.shape({onClick:c.a.func.isRequired}),listItemRef:c.a.func},PP={assistiveText:{unreadItem:"Unread Item"},events:{}},kP=function(e){var t=function(t){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&MP(e,t)}(s,t);var n,r,a,c=SP(s);function s(){return _P(this,s),c.apply(this,arguments)}return n=s,(r=[{key:"onClick",value:function(e){this.props.events.onClick(e,{item:this.props.item,isSelected:this.props.isSelected,isUnread:this.props.isUnread})}},{key:"unread",value:function(){return this.props.isUnread?o.a.createElement("abbr",{className:"slds-indicator_unread",title:this.props.assistiveText.unreadItem,"aria-label":this.props.assistiveText.unreadItem},o.a.createElement("span",{className:"slds-assistive-text"},"●")):null}},{key:"render",value:function(){var t=this;return o.a.createElement("li",{className:i()("slds-split-view__list-item",{"slds-is-unread":this.props.isUnread}),role:"presentation"},o.a.createElement("a",{className:"slds-split-view__list-item-action slds-grow slds-has-flexi-truncate",role:"option",ref:this.props.listItemRef,"aria-selected":this.props.multiple?!!this.props.isSelected:this.props.isSelected,tabIndex:this.props.isFocused?0:-1,href:"javascript:void(0);",onClick:function(e){return t.onClick(e)}},this.unread(),o.a.createElement(e,this.props)))}}])&&OP(n.prototype,r),a&&OP(n,a),s}(o.a.Component);return HP(t,"displayName","".concat("SLDSSplitViewListItemWithContent","(").concat(e.displayName||e.name||"Component",")")),HP(t,"propTypes",jP),HP(t,"defaultProps",PP),t};function NP(e){return(NP="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function TP(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){if("undefined"==typeof Symbol||!(Symbol.iterator in Object(e)))return;var n=[],r=!0,o=!1,a=void 0;try{for(var c,s=e[Symbol.iterator]();!(r=(c=s.next()).done)&&(n.push(c.value),!t||n.length!==t);r=!0);}catch(e){o=!0,a=e}finally{try{r||null==s.return||s.return()}finally{if(o)throw a}}return n}(e,t)||VP(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function LP(e){return function(e){if(Array.isArray(e))return RP(e)}(e)||function(e){if("undefined"!=typeof Symbol&&Symbol.iterator in Object(e))return Array.from(e)}(e)||VP(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function VP(e,t){if(e){if("string"==typeof e)return RP(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?RP(e,t):void 0}}function RP(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function DP(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function IP(e,t){return(IP=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function AP(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=BP(e);if(t){var o=BP(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return FP(this,n)}}function FP(e,t){return!t||"object"!==NP(t)&&"function"!=typeof t?function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e):t}function BP(e){return(BP=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function qP(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var KP=Object.freeze({UP:"up",DOWN:"down"}),WP={assistiveText:c.a.shape({list:c.a.string,sort:c.a.shape({sortedBy:c.a.string,descending:c.a.string,ascending:c.a.string}),unreadItem:c.a.string}),className:c.a.oneOfType([c.a.array,c.a.object,c.a.string]),events:c.a.shape({onSelect:c.a.func.isRequired,onSort:c.a.func}),id:c.a.string,labels:c.a.shape({header:c.a.string}),sortDirection:c.a.oneOf([KP.UP,KP.DOWN]),multiple:c.a.bool,options:c.a.array.isRequired,selection:c.a.array,unread:c.a.array,listItem:c.a.func},UP=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&IP(e,t)}(c,e);var t,n,r,a=AP(c);function c(e){var t;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,c),(t=a.call(this,e)).listItemComponents={},t.state={currentSelectedItem:null,currentFocusedListItem:{index:0,item:null}},t.ListItemWithContent=kP(e.listItem||zP),t}return t=c,(n=[{key:"componentDidMount",value:function(){this.focusFirstItem()}},{key:"isListItemFocused",value:function(e){return this.state.currentFocusedListItem.item===e}},{key:"isSelected",value:function(e){return this.props.selection.includes(e)}},{key:"isUnread",value:function(e){return this.props.unread.includes(e)}},{key:"handleKeyDown",value:function(e){this.props.multiple&&"a"===e.key&&e.ctrlKey?(Nt.trap(e),this.props.options===this.props.selection?this.deselectAllListItems(e):this.selectAllListItems(e)):"ArrowUp"===e.key?(Nt.trap(e),this.moveToPreviousItem(e)):"ArrowDown"===e.key&&(Nt.trap(e),this.moveToNextItem(e))}},{key:"moveToNextItem",value:function(e){var t=this.state.currentFocusedListItem.index===this.props.options.length-1?0:this.state.currentFocusedListItem.index+1;this.moveToIndex(e,t)}},{key:"moveToPreviousItem",value:function(e){var t=0===this.state.currentFocusedListItem.index?this.props.options.length-1:this.state.currentFocusedListItem.index-1;this.moveToIndex(e,t)}},{key:"moveToIndex",value:function(e,t){var n=this.props.options[t];this.focusItem(n)}},{key:"focusFirstItem",value:function(){var e=this,t=this.props.options.find((function(t){return e.props.selection.includes(t)}))||this.props.options[0];t&&this.focusItem(t,!0)}},{key:"focusItem",value:function(e,t){var n=this.props.options.indexOf(e);t||this.listItemComponents[n].focus(),this.setState({currentFocusedListItem:{index:n,item:e}})}},{key:"deselectAllListItems",value:function(e){this.setState({currentSelectedItem:null}),this.props.events.onSelect(e,{selectedItems:[],item:null})}},{key:"selectAllListItems",value:function(e){this.props.events.onSelect(e,{selectedItems:this.props.options,item:this.state.currentSelectedItem})}},{key:"selectListItem",value:function(e,t){var n=[e];if(this.props.multiple)if(t.metaKey)n=this.props.selection.includes(e)?this.props.selection.filter((function(t){return t!==e})):[e].concat(LP(this.props.selection));else if(t.shiftKey){var r=TP([this.props.options.indexOf(this.state.currentSelectedItem),this.props.options.indexOf(e)].sort(),2),o=r[0],a=r[1],c=this.props.options.slice(o,a+1);n=[].concat(LP(c),LP(this.props.selection.filter((function(e){return!c.includes(e)}))))}this.setState({currentSelectedItem:e}),this.props.events.onSelect(t,{selectedItems:n,item:e})}},{key:"handleOnSelect",value:function(e,t){var n=t.item;this.selectListItem(n,e),this.focusItem(n)}},{key:"sortDirection",value:function(){return this.props.sortDirection?o.a.createElement(Sn,{category:"utility",name:this.props.sortDirection===KP.DOWN?"arrowdown":"arrowup",size:"xx-small",className:"slds-align-top"}):null}},{key:"headerWrapper",value:function(e){return this.props.events.onSort?o.a.createElement("a",{"aria-live":"polite",style:{borderTop:"0"},href:"javascript:void(0);",role:"button",className:"slds-split-view__list-header slds-grid slds-text-link_reset",onClick:this.props.events.onSort},e):o.a.createElement("div",{style:{borderTop:"0"},className:"slds-split-view__list-header slds-grid"},e)}},{key:"header",value:function(){return this.props.labels.header?this.headerWrapper(o.a.createElement("span",{"aria-sort":this.props.sortDirection===KP.DOWN?this.props.assistiveText.sort.descending:this.props.assistiveText.sort.ascending},o.a.createElement("span",{className:"slds-assistive-text"},this.props.assistiveText.sort.sortedBy,": "),o.a.createElement("span",null,this.props.labels.header,this.sortDirection()),o.a.createElement("span",{className:"slds-assistive-text"},"- ",this.props.sortDirection===KP.DOWN?this.props.assistiveText.sort.descending:this.props.assistiveText.sort.ascending))):null}},{key:"addListItemComponent",value:function(e,t){this.listItemComponents[t]=e}},{key:"listItems",value:function(){var e=this,t=this.ListItemWithContent;return this.props.options.map((function(n,r){return o.a.createElement(t,{key:n.id||r,assistiveText:{unreadItem:e.props.assistiveText.unreadItem},listItemRef:function(t){e.addListItemComponent(t,r)},item:n,isFocused:e.isListItemFocused(n),isSelected:e.isSelected(n),isUnread:e.isUnread(n),events:{onClick:function(t,n){return e.handleOnSelect(t,n)}},multiple:e.props.multiple})}))}},{key:"render",value:function(){var e=this;return o.a.createElement("div",{id:this.props.id,className:i()("slds-grid slds-grid_vertical slds-scrollable_none",this.props.className)},this.header(),o.a.createElement("ul",{className:"slds-scrollable_y","aria-label":this.props.assistiveText.list,"aria-multiselectable":this.props.multiple,role:"listbox",onKeyDown:function(t){return e.handleKeyDown(t)}},this.listItems()))}}])&&DP(t.prototype,n),r&&DP(t,r),c}(o.a.Component);qP(UP,"displayName","SLDSSplitViewListbox"),qP(UP,"propTypes",WP),qP(UP,"defaultProps",{assistiveText:{list:"Select an item to open it in a new workspace tab.",sort:{sortedBy:"Sorted by",descending:"Descending",ascending:"Ascending"}},events:{},labels:{},selection:[],unread:[]});var GP=UP;var YP=function(){},QP=n(55);function JP(e){return(JP="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function XP(){return(XP=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}function $P(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function ZP(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function ek(e,t){return(ek=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function tk(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=ok(e);if(t){var o=ok(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return nk(this,n)}}function nk(e,t){return!t||"object"!==JP(t)&&"function"!=typeof t?rk(e):t}function rk(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function ok(e){return(ok=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function ak(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var ck=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&ek(e,t)}(c,e);var t,n,r,a=tk(c);function c(e){var t;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,c),ak(rk(t=a.call(this,e)),"getId",(function(){return t.props.id||t.generatedId})),ak(rk(t),"getErrorId",(function(){return t.props["aria-describedby"]||t.generatedErrorId})),YP(D,e,QP),t.generatedId=p.a.generate(),e.errorText&&(t.generatedErrorId=p.a.generate()),t}return t=c,(n=[{key:"render",value:function(){var e=this.props,t=e.autoFocus,n=e.children,r=e.className,a=e.classNameContainer,c=e.disabled,s=e.errorText,l=e.textareaRef,p=e.label,u=e.onBlur,h=e.onChange,d=e.onClick,f=e.onFocus,v=e.onInput,m=e.onInvalid,g=e.onKeyDown,y=e.onKeyPress,b=e.onKeyUp,w=e.onSelect,z=e.onSubmit,x=e.maxLength,_=e.name,O=e.placeholder,M=e.required,S=e.role,C=e.value,E=e.defaultValue,H=e.wrap,j=Bn(this.props),P="string"==typeof this.props.assistiveText?this.props.assistiveText:function(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?$P(Object(n),!0).forEach((function(t){ak(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):$P(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}({},this.props.assistiveText).label,k=p||P;return o.a.createElement("div",{className:i()("slds-form-element",{"slds-has-error":s},a)},k&&o.a.createElement("label",{className:i()("slds-form-element__label",{"slds-assistive-text":P&&!p}),htmlFor:this.getId()},M&&o.a.createElement("abbr",{className:"slds-required",title:"required"},"*"),k),o.a.createElement("div",{className:i()("slds-form-element__control")},o.a.createElement("textarea",XP({className:i()("slds-textarea",r),autoFocus:t,disabled:c,id:this.getId(),maxLength:x,name:_,onBlur:u,onChange:h,onClick:d,onFocus:f,onInput:v,onInvalid:m,onKeyDown:g,onKeyPress:y,onKeyUp:b,onSelect:w,onSubmit:z,placeholder:O,ref:l,role:S,required:M,wrap:H,value:C,defaultValue:E},j))),s&&o.a.createElement("div",{id:this.getErrorId(),className:"slds-form-element__help"},s),n)}}])&&ZP(t.prototype,n),r&&ZP(t,r),c}(o.a.Component);ak(ck,"displayName",D),ak(ck,"propTypes",{assistiveText:c.a.shape({label:c.a.string}),"aria-activedescendant":c.a.string,"aria-autocomplete":c.a.string,"aria-controls":c.a.string,"aria-describedby":c.a.string,"aria-expanded":c.a.bool,"aria-haspopup":c.a.bool,"aria-labelledby":c.a.string,"aria-owns":c.a.string,"aria-required":c.a.bool,autoFocus:c.a.bool,children:c.a.node,className:c.a.oneOfType([c.a.array,c.a.object,c.a.string]),classNameContainer:c.a.oneOfType([c.a.array,c.a.object,c.a.string]),disabled:c.a.bool,errorText:c.a.string,id:c.a.string,textareaRef:c.a.func,label:c.a.string,onBlur:c.a.func,onChange:c.a.func,onClick:c.a.func,onFocus:c.a.func,onInput:c.a.func,onInvalid:c.a.func,onKeyDown:c.a.func,onKeyPress:c.a.func,onKeyUp:c.a.func,onSelect:c.a.func,onSubmit:c.a.func,maxLength:c.a.string,name:c.a.string,placeholder:c.a.string,required:c.a.bool,value:c.a.string,defaultValue:c.a.string,wrap:c.a.oneOf(["soft","hard"])});var sk=ck,ik=n(56),lk=n.n(ik);var pk=function(){};function uk(e){return(uk="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function hk(){return(hk=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}function dk(e,t){if(null==e)return{};var n,r,o=function(e,t){if(null==e)return{};var n,r,o={},a=Object.keys(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)>=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}function fk(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function vk(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function mk(e,t){return(mk=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function gk(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=wk(e);if(t){var o=wk(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return yk(this,n)}}function yk(e,t){return!t||"object"!==uk(t)&&"function"!=typeof t?bk(e):t}function bk(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function wk(e){return(wk=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function zk(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var xk=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&mk(e,t)}(c,e);var t,n,r,a=gk(c);function c(){var e;fk(this,c);for(var t=arguments.length,n=new Array(t),r=0;r<t;r++)n[r]=arguments[r];return zk(bk(e=a.call.apply(a,[this].concat(n))),"handleKeyDown",(function(t){e.props.onKeyDown&&t.keyCode&&(t.keyCode!==Lt.ENTER&&t.keyCode!==Lt.DOWN&&t.keyCode!==Lt.UP&&t.keyCode!==Lt.ESCAPE||e.props.onKeyDown(t))})),e}return t=c,(n=[{key:"render",value:function(){var e=this.props,t=e.iconRight,n=e.menu,r=e.onBlur,a=e.onFocus,c=(e.onKeyDown,e.onMouseDown),s=e.triggerRef,i=dk(e,["iconRight","menu","onBlur","onFocus","onKeyDown","onMouseDown","triggerRef"]);return o.a.createElement("div",{onBlur:r,onFocus:a,onKeyDown:this.handleKeyDown,onMouseDown:c},o.a.createElement(Ep,hk({iconRight:t},i,{inputRef:s}),n))}}])&&vk(t.prototype,n),r&&vk(t,r),c}(o.a.Component);zk(xk,"displayName",te),zk(xk,"propTypes",{iconRight:c.a.node,id:c.a.string,label:c.a.string,menu:c.a.node,onBlur:c.a.func,onClick:c.a.func,onFocus:c.a.func,onKeyDown:c.a.func,onMouseDown:c.a.func,triggerRef:c.a.func,value:c.a.string});var _k=xk,Ok=n(57);function Mk(e){return(Mk="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function Sk(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function Ck(e,t){return(Ck=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function Ek(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=Pk(e);if(t){var o=Pk(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return Hk(this,n)}}function Hk(e,t){return!t||"object"!==Mk(t)&&"function"!=typeof t?jk(e):t}function jk(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function Pk(e){return(Pk=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function kk(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var Nk=function(e){var t=e.props,n=new Date,r=[];n.setHours(0),n.setMinutes(0),n.setSeconds(0),n.setMilliseconds(0);for(var o=new Date(n);n.getDate()===o.getDate();){var a=t.formatter(o);r.push({label:a,value:new Date(o)}),o.setMinutes(o.getMinutes()+t.stepInMinutes)}return r},Tk=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&Ck(e,t)}(c,e);var t,n,r,a=Ek(c);function c(e){var t;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,c),kk(jk(t=a.call(this,e)),"state",{value:t.props.value,strValue:t.props.strValue,options:Nk({props:t.props})}),kk(jk(t),"parseDate",(function(e){var n=t.props.parser(e);return lk()(n)&&!isNaN(n.getTime())?n:new Date})),kk(jk(t),"handleChange",(function(e,n){t.setState({value:e,strValue:n}),t.props.onDateChange&&t.props.onDateChange(e,n)})),kk(jk(t),"handleSelect",(function(e){e&&e.value&&t.handleChange(e.value,e.label)})),kk(jk(t),"handleInputChange",(function(e){var n=e.target.value;if(t.setState({strValue:n}),t.props.onDateChange){var r=t.props.parser(n);t.props.onDateChange(r,n)}})),pk(fe,e,Ok),t}return t=c,(n=[{key:"UNSAFE_componentWillReceiveProps",value:function(e){e.value&&this.props.value&&this.props.value.getTime()!==e.value.getTime()&&this.setState({value:e.value,strValue:this.props.formatter(e.value)}),e.strValue!==this.props.value&&this.setState({strValue:e.strValue})}},{key:"render",value:function(){return o.a.createElement(Fs,{checkmark:!1,constrainToScrollParent:this.props.constrainToScrollParent,disabled:this.props.disabled,inheritTargetWidth:this.props.inheritTargetWidth,label:this.props.label,listItemRenderer:this.props.listItemRenderer,menuStyle:{maxHeight:"20em",overflowX:"hidden",minWidth:"100%"},menuPosition:this.props.menuPosition,onSelect:this.handleSelect,options:this.state.options},o.a.createElement(_k,{iconRight:o.a.createElement(Nl,{category:"utility",name:"clock"}),onChange:this.handleInputChange,placeholder:this.props.placeholder,required:this.props.required,type:"text",value:this.state.strValue}))}}])&&Sk(t.prototype,n),r&&Sk(t,r),c}(o.a.Component);kk(Tk,"displayName",fe),kk(Tk,"propTypes",{constrainToScrollParent:c.a.bool,disabled:c.a.bool,formatter:c.a.func,inheritTargetWidth:c.a.bool,label:c.a.string,listItemRenderer:c.a.func,menuPosition:c.a.oneOf(["absolute","overflowBoundaryElement","relative"]),onDateChange:c.a.func,parser:c.a.func,placeholder:c.a.string,required:c.a.bool,stepInMinutes:c.a.number,strValue:c.a.string,value:c.a.instanceOf(Date)}),kk(Tk,"defaultProps",{formatter:function(e){return e?e.toLocaleTimeString(navigator.language,{hour:"2-digit",minute:"2-digit"}):null},parser:function(e){var t=(new Date).toLocaleString(navigator.language,{year:"numeric",month:"numeric",day:"numeric"});return new Date("".concat(t," ").concat(e))},menuPosition:"absolute",value:null,stepInMinutes:30});var Lk=Tk;var Vk=function(){},Rk=n(58);function Dk(e){return(Dk="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function Ik(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function Ak(e,t){return(Ak=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function Fk(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=Kk(e);if(t){var o=Kk(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return Bk(this,n)}}function Bk(e,t){return!t||"object"!==Dk(t)&&"function"!=typeof t?qk(e):t}function qk(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function Kk(e){return(Kk=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function Wk(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var Uk={assistiveText:c.a.shape({closeButton:c.a.oneOfType([c.a.string,c.a.node])}),className:c.a.oneOfType([c.a.array,c.a.object,c.a.string]),duration:c.a.number,labels:c.a.shape({details:c.a.oneOfType([c.a.string,c.a.node]),heading:c.a.oneOfType([c.a.string,c.a.node]),headingLink:c.a.oneOfType([c.a.string,c.a.node])}),onClickHeadingLink:c.a.func,icon:c.a.node,onRequestClose:c.a.func,style:c.a.object,variant:c.a.oneOf(["error","info","success","warning"]).isRequired},Gk={assistiveText:{closeButton:"Close",error:"error",info:"info",success:"success",warning:"warning"},variant:"info"},Yk=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&Ak(e,t)}(c,e);var t,n,r,a=Fk(c);function c(e){var t;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,c),Wk(qk(t=a.call(this,e)),"onClose",(function(){t.clearTimeout(),t.props.onRequestClose&&t.props.onRequestClose()})),Wk(qk(t),"clearTimeout",(function(){t.timeout&&(clearTimeout(t.timeout),t.timeout=null)})),Wk(qk(t),"saveToastRef",(function(e){t.toast=e,t.state.isInitialRender&&(Bt.storeActiveElement(),t.toast&&t.toast.focus(),t.setState({isInitialRender:!1}))})),t.state={isInitialRender:!0},t.timeout=null,t.toast=null,Vk(ve,e,Rk),t}return t=c,(n=[{key:"componentDidMount",value:function(){var e=this;this.props.duration&&(this.timeout=setTimeout((function(){e.onClose()}),this.props.duration))}},{key:"componentWillUnmount",value:function(){this.clearTimeout(),Bt.returnFocusToStoredElement()}},{key:"render",value:function(){var e=lr()({},Gk.assistiveText,this.props.assistiveText),t=lr()({},Gk.labels,this.props.labels),n=t.heading||this.props.content,r={info:e.info,success:e.success,warning:e.warning,error:e.error},a={info:o.a.createElement(Sn,{category:"utility",name:"info"}),success:o.a.createElement(Sn,{category:"utility",name:"success"}),warning:o.a.createElement(Sn,{category:"utility",name:"warning"}),error:o.a.createElement(Sn,{category:"utility",name:"error"})},c=this.props.icon?this.props.icon:a[this.props.variant],s=o.a.cloneElement(c,{containerClassName:"slds-m-right_small slds-no-flex slds-align-top",inverse:!0,size:"small"});return o.a.createElement("div",{className:yn("slds-notify slds-notify_toast",{"slds-theme_info":"info"===this.props.variant,"slds-theme_success":"success"===this.props.variant,"slds-theme_warning":"warning"===this.props.variant,"slds-theme_error":"error"===this.props.variant},this.props.className),ref:this.saveToastRef,role:"status",style:this.props.style,tabIndex:0},o.a.createElement("span",{className:"slds-assistive-text"},r[this.props.variant]),s,o.a.createElement("div",{className:"slds-notify__content"},o.a.createElement("h2",{className:"slds-text-heading_small"},n," ",t.headingLink?o.a.createElement("a",{onClick:this.props.onClickHeadingLink,href:"javascript:void(0);"},t.headingLink):null),t.details?o.a.createElement("p",null,t.details):null),o.a.createElement(or,{assistiveText:{icon:e.closeButton},className:"slds-notify__close",iconCategory:"utility",iconName:"close",iconSize:"large",inverse:!0,onClick:this.props.onRequestClose,title:e.closeButton,variant:"icon"}))}}])&&Ik(t.prototype,n),r&&Ik(t,r),c}(o.a.Component);Yk.defaultProps=Gk,Yk.displayName=ve,Yk.propTypes=Uk;var Qk=Yk;function Jk(e){return(Jk="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function Xk(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function $k(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function Zk(e,t){return(Zk=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function eN(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=nN(e);if(t){var o=nN(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return tN(this,n)}}function tN(e,t){return!t||"object"!==Jk(t)&&"function"!=typeof t?function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e):t}function nN(e){return(nN=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}var rN={className:c.a.oneOfType([c.a.array,c.a.object,c.a.string]),children:c.a.node},oN=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&Zk(e,t)}(c,e);var t,n,r,a=eN(c);function c(){return Xk(this,c),a.apply(this,arguments)}return t=c,(n=[{key:"render",value:function(){return o.a.createElement("div",{className:yn("slds-notify-container",this.props.className)},this.props.children)}}])&&$k(t.prototype,n),r&&$k(t,r),c}(o.a.Component);oN.displayName="SLDSToastContainer",oN.propTypes=rN;var aN=oN;function cN(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var sN=function(e){var t=e.event,n=e.props,r=e.fromFocus;Nt.trap(t),Tr()(n.onSelect)&&n.onSelect({event:t,data:{node:n.node,select:!n.node.selected,treeIndex:n.treeIndex},fromFocus:r})},iN=function(e,t){if(t.focusedNodeIndex===t.treeIndex){var n=(r=t.flattenedNodes,o=t.node,a=r.map((function(e){return e.node})),r[(nd()(a,{id:o.id})+1)%r.length]);t.onSelect({event:e,data:{node:n.node,select:!0,treeIndex:n.treeIndex},clearSelectedNodes:!0})}var r,o,a},lN=function(e,t){if(t.focusedNodeIndex===t.treeIndex){var n=(r=t.flattenedNodes,o=t.node,a=r.map((function(e){return e.node})),(c=nd()(a,{id:o.id})-1)<0&&(c+=r.length),r[c]);t.onSelect({event:e,data:{node:n.node,select:!0,treeIndex:n.treeIndex},clearSelectedNodes:!0})}var r,o,a,c},pN=function(e,t){var n;Zf(e,{callbacks:(n={},cN(n,Lt.DOWN,{callback:function(e){return iN(e,t)}}),cN(n,Lt.UP,{callback:function(e){return lN(e,t)}}),cN(n,Lt.LEFT,{callback:function(e){return function(e,t){var n=t.flattenedNodes.map((function(e){return e.node})),r=nd()(n,{id:t.parent.id});-1!==r&&t.onExpand({event:e,data:{node:t.parent,select:!0,expand:!t.parent.expanded,treeIndex:t.flattenedNodes[r].treeIndex}})}(e,t)}}),cN(n,Lt.ENTER,{callback:function(e){return function(e,t){sN({event:e,props:t})}(e,t)}}),n)})},uN=function(e){var t=0===e.selectedNodeIndexes.length&&e.treeIndex===e.flattenedNodes[0].treeIndex;return e.treeIndex===e.focusedNodeIndex||t?0:-1},hN=function(e){var t=e.node.selected,n=e.treeIndex===e.focusedNodeIndex;return o.a.createElement("li",{id:"".concat(e.treeId,"-").concat(e.node.id),role:"treeitem","aria-level":e.level,"aria-selected":t?"true":"false",tabIndex:uN(e),onKeyDown:function(t){return pN(t,e)},onFocus:function(t){return function(e,t){t.treeHasFocus||t.focusedNodeIndex||e.target!==e.currentTarget||sN({event:e,props:t})}(t,e)},onBlur:e.onNodeBlur,ref:function(t){e.treeHasFocus&&t&&n&&t.focus()}},o.a.createElement("div",{className:i()("slds-tree__item",{"slds-is-selected":t}),onClick:function(t){sN({event:t,props:e})}},o.a.createElement(or,{tabIndex:"-1","aria-hidden":!0,assistiveText:{icon:""},role:"presentation",iconCategory:"utility",iconName:"chevronright",iconSize:"small",variant:"icon",className:"slds-m-right_small slds-is-disabled",disabled:!0}),o.a.createElement("span",{className:"slds-size_1-of-1"},o.a.createElement(Jo,{search:e.searchTerm,className:"slds-tree__item-label slds-truncate"},e.label))))};hN.displayName="SLDSTreeItem",hN.propTypes={htmlId:c.a.string.isRequired,label:c.a.oneOfType([c.a.node,c.a.string]).isRequired,level:c.a.number.isRequired,node:c.a.object.isRequired,onExpand:c.a.func.isRequired,onSelect:c.a.func,searchTerm:c.a.string,treeId:c.a.string,treeIndex:c.a.string,flattenedNodes:c.a.arrayOf(c.a.object),selectedNodeIndexes:c.a.arrayOf(c.a.string),focusedNodeIndex:c.a.string,onNodeBlur:c.a.func,treeHasFocus:c.a.bool,parent:c.a.object},hN.defaultProps={selected:!1,selectedNodeIndexes:[]};var dN=hN,fN={htmlId:c.a.oneOfType([c.a.number,c.a.string]).isRequired,initalClassName:c.a.oneOfType([c.a.array,c.a.object,c.a.string]),initialStyle:c.a.object},vN=function(e,t){return o.a.createElement("ul",{"aria-labelledby":"".concat(t.htmlId,"__heading"),className:i()("slds-tree",t.initalClassName),onScroll:function(e){!function(e,t){var n=e.target.scrollTop/(e.target.scrollHeight-e.target.clientHeight)*100;Tr()(t.onScroll)&&t.onScroll(e,{percentage:n})}(e,t)},role:"tree",style:t.initialStyle},e)};vN.displayName="TreeInitialNode",vN.propTypes=fN;var mN=vN;function gN(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var yN={htmlId:c.a.oneOfType([c.a.number,c.a.string]).isRequired,label:c.a.oneOfType([c.a.node,c.a.string]),level:c.a.number.isRequired,node:c.a.object.isRequired,onExpand:c.a.func.isRequired,onSelect:c.a.func,searchTerm:c.a.string,treeIndex:c.a.string,flattenedNodes:c.a.arrayOf(c.a.object),selectedNodeIndexes:c.a.arrayOf(c.a.string),focusedNodeIndex:c.a.string,onNodeBlur:c.a.func,treeHasFocus:c.a.bool,parent:c.a.object},bN=function(e,t){Nt.trap(e),Tr()(t.onExpand)&&t.onExpand({event:e,data:{node:t.node,expand:!t.node.expanded,treeIndex:t.treeIndex}})},wN=function(e){var t=e.event,n=e.props,r=e.fromFocus;Nt.trap(t),Tr()(n.onSelect)&&n.onSelect({event:t,data:{node:n.node,select:!n.node.selected,treeIndex:n.treeIndex},fromFocus:r})},zN=function(e,t){if(t.focusedNodeIndex===t.treeIndex){var n=(r=t.flattenedNodes,o=t.node,a=r.map((function(e){return e.node})),r[(nd()(a,{id:o.id})+1)%r.length]);t.onSelect({event:e,data:{node:n.node,select:!0,treeIndex:n.treeIndex},clearSelectedNodes:!0})}var r,o,a},xN=function(e,t){if(t.focusedNodeIndex===t.treeIndex){var n=(r=t.flattenedNodes,o=t.node,a=r.map((function(e){return e.node})),(c=nd()(a,{id:o.id})-1)<0&&(c+=r.length),r[c]);t.onSelect({event:e,data:{node:n.node,select:!0,treeIndex:n.treeIndex},clearSelectedNodes:!0})}var r,o,a,c},_N=function(e,t){var n;Zf(e,{callbacks:(n={},gN(n,Lt.DOWN,{callback:function(e){return zN(e,t)}}),gN(n,Lt.UP,{callback:function(e){return xN(e,t)}}),gN(n,Lt.RIGHT,{callback:function(e){return function(e,t){t.node.expanded?t.getNodes(t.node)&&t.getNodes(t.node).length>0&&zN(e,t):bN(e,t)}(e,t)}}),gN(n,Lt.LEFT,{callback:function(e){return function(e,t){if(t.node.expanded)bN(e,t);else{var n=t.flattenedNodes.map((function(e){return e.node})),r=nd()(n,{id:t.parent.id});-1!==r&&t.onExpand({event:e,data:{node:t.parent,select:!0,expand:!t.parent.expanded,treeIndex:t.flattenedNodes[r].treeIndex}})}}(e,t)}}),gN(n,Lt.ENTER,{callback:function(e){return function(e,t){wN({event:e,props:t})}(e,t)}}),n)})},ON=function(e){var t=0===e.selectedNodeIndexes.length&&e.treeIndex===e.flattenedNodes[0].treeIndex;return e.treeIndex===e.focusedNodeIndex||t?0:-1},MN=function(e,t){var n=t.node.expanded,r=t.node.selected,a=t.treeIndex===t.focusedNodeIndex,c=t.node.loading,s=o.a.createElement("div",{style:{display:"block",paddingLeft:"".concat(1.5*t.level+1.5,"rem"),marginTop:".5rem"}},o.a.createElement("div",{style:{borderRadius:"15rem",display:"block",marginBottom:".75rem",height:".5rem",backgroundColor:"rgb(224, 229, 238)",width:"40%"}}),o.a.createElement("div",{style:{borderRadius:"15rem",display:"block",marginBottom:".75rem",height:".5rem",backgroundColor:"rgb(224, 229, 238)",width:"80%"}}),o.a.createElement("div",{style:{borderRadius:"15rem",display:"block",marginBottom:".75rem",height:".5rem",backgroundColor:"rgb(224, 229, 238)",width:"60%"}})),l=t.node.assistiveText||("string"==typeof t.node.label?t.node.label:null);return o.a.createElement("li",{id:t.htmlId,role:"treeitem","aria-level":t.level,"aria-expanded":n?"true":"false","aria-label":t.node.nodes&&t.node.nodes.length>0?l:null,tabIndex:ON(t),onKeyDown:function(e){return _N(e,t)},onFocus:function(e){return function(e,t){t.treeHasFocus||t.focusedNodeIndex||e.target!==e.currentTarget||wN({event:e,props:t,fromFocus:!0})}(e,t)},onBlur:t.onNodeBlur,ref:function(e){t.treeHasFocus&&e&&a&&e.focus()}},o.a.createElement("div",{className:i()("slds-tree__item",{"slds-is-selected":r}),onClick:function(e){wN({event:e,props:t})}},o.a.createElement(or,{"aria-hidden":!0,assistiveText:{icon:"Expand Tree Branch"},iconCategory:"utility",iconName:"chevronright",iconSize:"small",variant:"icon",className:"slds-m-right_small",role:"presentation","aria-controls":t.htmlId,onClick:function(e){bN(e,t)},tabIndex:"-1"}),o.a.createElement("span",{className:"slds-size_1-of-1",id:"".concat(t.htmlId,"__label")},o.a.createElement(Jo,{search:t.searchTerm,className:"slds-tree__item-label slds-truncate"},t.label))),c?s:null,o.a.createElement("ul",{className:i()({"slds-is-expanded":n,"slds-is-collapsed":!n}),role:"group","aria-labelledby":"".concat(t.htmlId,"__label")},n&&!c?e:null))};MN.displayName="Branch",MN.propTypes=yN;var SN=MN,CN=function e(t){var n,r="",a=t.treeId,c=t.level,s=t.onExpand,i=t.searchTerm;return Array.isArray(t.getNodes(t.node))&&(n=t.getNodes(t.node).map((function(n,l){var u="".concat(t.treeId,"-").concat(n.id);return r="".concat(l),t.treeIndex&&(r="".concat(t.treeIndex,"-").concat(r)),"branch"===n.type?o.a.createElement(e,{getNodes:t.getNodes,htmlId:u,key:n.id,label:n.label,level:c+1,node:n,flattenedNodes:t.flattenedNodes,selectedNodeIndexes:t.selectedNodeIndexes,focusedNodeIndex:t.focusedNodeIndex,treeHasFocus:t.treeHasFocus,onNodeBlur:t.onNodeBlur,nodes:n.nodes,onSelect:t.onSelect,onExpand:s,searchTerm:i,treeId:a,treeIndex:r,parent:t.node}):o.a.createElement(dN,{label:n.label,htmlId:u,key:p.a.generate(),level:c+1,node:n,flattenedNodes:t.flattenedNodes,selectedNodeIndexes:t.selectedNodeIndexes,focusedNodeIndex:t.focusedNodeIndex,treeHasFocus:t.treeHasFocus,onNodeBlur:t.onNodeBlur,onSelect:t.onSelect,onExpand:s,searchTerm:i,treeIndex:r,treeId:a,parent:t.node})}))),0===t.level?mN(n,t):SN(n,t)};CN.displayName="SLDSTreeBranch",CN.propTypes={getNodes:c.a.func,htmlId:c.a.oneOfType([c.a.number,c.a.string]).isRequired,index:c.a.number,initial:c.a.bool,initalClassName:c.a.oneOfType([c.a.array,c.a.object,c.a.string]),initialStyle:c.a.object,label:c.a.oneOfType([c.a.node,c.a.string]),level:c.a.number.isRequired,node:c.a.object.isRequired,onSelect:c.a.func,onExpand:c.a.func.isRequired,searchTerm:c.a.string,treeId:c.a.string,treeIndex:c.a.string,flattenedNodes:c.a.arrayOf(c.a.object),selectedNodeIndexes:c.a.arrayOf(c.a.string),focusedNodeIndex:c.a.string,onNodeBlur:c.a.func,treeHasFocus:c.a.bool,parent:c.a.object},CN.defaultProps={level:0,label:"",treeIndex:"",selectedNodeIndexes:[]};var EN=CN;var HN=function(){},jN=n(59);function PN(e){return(PN="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function kN(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function NN(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?kN(Object(n),!0).forEach((function(t){AN(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):kN(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function TN(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function LN(e,t){return(LN=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function VN(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=IN(e);if(t){var o=IN(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return RN(this,n)}}function RN(e,t){return!t||"object"!==PN(t)&&"function"!=typeof t?DN(e):t}function DN(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function IN(e){return(IN=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function AN(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var FN={assistiveText:c.a.shape({label:c.a.string}),className:c.a.oneOfType([c.a.array,c.a.object,c.a.string]),listClassName:c.a.oneOfType([c.a.array,c.a.object,c.a.string]),getNodes:c.a.func,heading:c.a.oneOfType([c.a.node,c.a.string]),id:c.a.string.isRequired,nodes:c.a.arrayOf(c.a.oneOfType([c.a.number,c.a.string,c.a.shape({id:c.a.oneOfType([c.a.number,c.a.string]).isRequired,label:c.a.oneOfType([c.a.node,c.a.string]).isRequired,type:c.a.string.isRequired})])).isRequired,onClick:c.a.func.isRequired,onExpandClick:c.a.func.isRequired,onScroll:c.a.func,searchTerm:c.a.string,listStyle:c.a.object},BN={assistiveText:{},getNodes:function(e){return e.nodes}},qN=function e(t,n){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"",o=!(arguments.length>3&&void 0!==arguments[3])||arguments[3];if(!t.nodes)return[{node:t,treeIndex:r}];var a=[{node:t,treeIndex:r}];if(t.expanded)for(var c=0;c<t.nodes.length;c+=1){var s=o?t.nodes[c]:n(t)[c];a=a.concat(e(s,n,r?"".concat(r,"-").concat(c):"".concat(c),!1))}return a},KN=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&LN(e,t)}(c,e);var t,n,r,a=VN(c);function c(e){var t;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,c),AN(DN(t=a.call(this,e)),"handleSelect",(function(e){var n,r=e.event,o=e.data,a=e.clearSelectedNodes,c=e.fromFocus;a&&t.state.flattenedNodes.forEach((function(e){e.node.selected&&(e.node.selected=!1)})),c||t.props.onClick(r,o),n=o.select?t.state.selectedNodeIndexes.concat([o.treeIndex]):t.state.selectedNodeIndexes.filter((function(e){return e!==o.treeIndex})),t.treeHasFocus=!0,t.setState({focusedNodeIndex:o.treeIndex,selectedNodeIndexes:n})})),AN(DN(t),"handleNodeBlur",(function(){t.treeHasFocus=!1})),AN(DN(t),"handleExpand",(function(e){var n=e.event,r=e.data;t.treeHasFocus=!0,t.props.onExpandClick(n,r),r.select&&t.setState({focusedNodeIndex:r.treeIndex})}));var n,r=qN({nodes:t.props.getNodes({nodes:t.props.nodes}),expanded:!0},t.props.getNodes).slice(1),o=Lf()(r,(function(e){return e.node.selected})),s=[];return o&&(s.push(o.treeIndex),n=o.treeIndex),t.state={flattenedNodes:r,selectedNodeIndexes:s,focusedNodeIndex:n},HN(me,e,jN),t}return t=c,r=[{key:"getDerivedStateFromProps",value:function(e){return{flattenedNodes:qN({nodes:e.getNodes({nodes:e.nodes}),expanded:!0},e.getNodes).slice(1)}}}],(n=[{key:"render",value:function(){var e="string"==typeof this.props.assistiveText?this.props.assistiveText:NN(NN({},BN.assistiveText),this.props.assistiveText).label,t=e||this.props.heading;return o.a.createElement("div",{id:this.props.id,className:i()("slds-tree_container",this.props.className)},o.a.createElement("h4",{className:i()("slds-tree__group-header",{"slds-assistive-text":e}),id:"".concat(this.props.id,"__heading")},t),o.a.createElement(EN,{getNodes:this.props.getNodes,initalClassName:this.props.listClassName,htmlId:this.props.id,initialStyle:this.props.listStyle,level:0,node:{nodes:this.props.nodes},flattenedNodes:this.state.flattenedNodes,selectedNodeIndexes:this.state.selectedNodeIndexes,focusedNodeIndex:this.state.focusedNodeIndex,treeHasFocus:this.treeHasFocus,onNodeBlur:this.handleNodeBlur,onSelect:this.handleSelect,onExpand:this.handleExpand,onScroll:this.props.onScroll,searchTerm:this.props.searchTerm,treeId:this.props.id}))}}])&&TN(t.prototype,n),r&&TN(t,r),c}(o.a.Component);KN.displayName=me,KN.propTypes=FN,KN.defaultProps=BN;var WN=KN,UN={children:c.a.node,className:c.a.oneOfType([c.a.array,c.a.object,c.a.string]),labels:c.a.shape({timeLeft:c.a.string,timeLeftUnit:c.a.string,timeLeftUnitAfter:c.a.string}),onRenderActions:c.a.func,style:c.a.object},GN={labels:{timeLeftUnitAfter:"left in trial"}},YN=function(e){var t=lr()({},GN.labels,e.labels);return o.a.createElement("div",{className:i()("slds-trial-header slds-grid",e.className),style:e.style},o.a.createElement("div",{className:"slds-grid"},e.children),o.a.createElement("div",{className:"slds-grid slds-grid_vertical-align-center slds-col_bump-left"},o.a.createElement("span",{className:"slds-box slds-box_xx-small slds-theme_default"},t.timeLeft),o.a.createElement("span",{className:"slds-m-horizontal_x-small"},t.timeLeftUnit," ".concat(t.timeLeftUnitAfter)),e.onRenderActions()))};YN.displayName="SLDSTrialBar",YN.propTypes=UN,YN.defaultProps=GN;var QN=YN;function JN(){return(JN=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}var XN=or.propTypes,$N=function(e){return o.a.createElement(or,JN({},e,{inverse:!0,style:{border:0,padding:0},className:"slds-m-right_small"}))};$N.propTypes=XN,$N.displayName="SLDSTrialBarButton";var ZN=$N;function eT(){return(eT=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}function tT(e,t){if(null==e)return{};var n,r,o=function(e,t){if(null==e)return{};var n,r,o={},a=Object.keys(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)>=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}var nT=As.propTypes,rT=function(e){var t=e.label,n=tT(e,["label"]);return o.a.createElement(Fs,eT({},n,{inverse:!0}),o.a.createElement(hs,{triggerClassName:"slds-grid"},o.a.createElement(or,{inverse:!0,style:{border:0,height:"100%",padding:0},iconCategory:"utility",iconName:"right",iconPosition:"left",label:t})))};rT.propTypes=nT,rT.displayName="SLDSTrialBarDropdown";var oT=rT;function aT(e){return(aT="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function cT(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function sT(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function iT(e,t){return(iT=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function lT(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=uT(e);if(t){var o=uT(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return pT(this,n)}}function pT(e,t){return!t||"object"!==aT(t)&&"function"!=typeof t?function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e):t}function uT(e){return(uT=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}var hT={id:c.a.string,children:c.a.node,className:c.a.oneOfType([c.a.array,c.a.object,c.a.string]),label:c.a.string,coverable:c.a.bool,vertical:c.a.bool,links:c.a.bool,size:c.a.oneOf(["medium","large"])},dT=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&iT(e,t)}(c,e);var t,n,r,a=lT(c);function c(){return cT(this,c),a.apply(this,arguments)}return t=c,(n=[{key:"UNSAFE_componentWillMount",value:function(){this.generatedId=p.a.generate()}},{key:"render",value:function(){var e=this,t=o.a.Children.map(this.props.children,(function(t,n){return o.a.cloneElement(t,{index:"".concat(e.props.id||e.generatedId,"-").concat(n),coverable:e.props.coverable,variant:"visual-picker",name:"".concat(e.props.id||e.generatedId,"_options"),size:e.props.size,vertical:!!e.props.vertical})}));return this.props.links?o.a.createElement("div",{className:"slds-form-element__control"},this.props.children):o.a.createElement("fieldset",{id:this.props.id,className:i()("slds-form-element",this.props.className)},o.a.createElement("legend",{className:"slds-form-element__legend slds-form-element__label"},this.props.label),o.a.createElement("div",{className:"slds-form-element__control"},t))}}])&&sT(t.prototype,n),r&&sT(t,r),c}(o.a.Component);dT.displayName="SLDSVisualPicker",dT.propTypes=hT,dT.defaultProps={size:"medium",vertical:!1,links:!1};var fT=dT;function vT(e){return(vT="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function mT(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function gT(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function yT(e,t){return(yT=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function bT(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=zT(e);if(t){var o=zT(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return wT(this,n)}}function wT(e,t){return!t||"object"!==vT(t)&&"function"!=typeof t?function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e):t}function zT(e){return(zT=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}var xT={id:c.a.string,className:c.a.oneOfType([c.a.array,c.a.object,c.a.string]),href:c.a.string,icon:c.a.node,title:c.a.string,description:c.a.string},_T=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&yT(e,t)}(c,e);var t,n,r,a=bT(c);function c(){return mT(this,c),a.apply(this,arguments)}return t=c,(n=[{key:"render",value:function(){return o.a.createElement("a",{href:this.props.href,id:this.props.id,className:i()("slds-box","slds-box_link","slds-theme_default","slds-box_x-small","slds-media","slds-visual-picker_vertical",this.props.className)},o.a.createElement("div",{className:"slds-media__figure slds-media__figure_fixed-width slds-align_absolute-center slds-m-left_xx-small"},this.props.icon),o.a.createElement("div",{className:"slds-media__body slds-border_left slds-p-around_small"},o.a.createElement("h2",{className:"slds-truncate slds-text-heading_small",title:this.props.title},this.props.title),o.a.createElement("p",{className:"slds-m-top_small"},this.props.description)))}}])&&gT(t.prototype,n),r&&gT(t,r),c}(o.a.Component);_T.displayName="SLDSVisualPickerLink",_T.propTypes=xT;var OT=_T;function MT(e){return(MT="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function ST(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function CT(e,t){return(CT=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function ET(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=jT(e);if(t){var o=jT(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return HT(this,n)}}function HT(e,t){return!t||"object"!==MT(t)&&"function"!=typeof t?function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e):t}function jT(e){return(jT=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}var PT={className:c.a.oneOfType([c.a.array,c.a.object,c.a.string]),id:c.a.string,isOpen:c.a.bool,labels:c.a.shape({title:c.a.string,description:c.a.string,unitsCompletedAfter:c.a.string}),variant:c.a.oneOf(["steps","info-only","splash","trailhead-connected"]),onRenderInfoActions:c.a.func,onRequestClose:c.a.func,infoBadge:c.a.node,doNotShowAgainCheckbox:c.a.node},kT={labels:{unitsCompletedAfter:"units completed"},variant:"steps",isOpen:!0},NT=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&CT(e,t)}(c,e);var t,n,r,a=ET(c);function c(e){var t;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,c),(t=a.call(this,e)).state={completedSteps:0,totalSteps:0,progress:0},t}return t=c,(n=[{key:"UNSAFE_componentWillMount",value:function(){this.generatedId=p.a.generate(),this.getCount()}},{key:"getId",value:function(){return this.props.id||this.generatedId}},{key:"getCount",value:function(){var e=o.a.Children.count(this.props.children),t=o.a.Children.toArray(this.props.children).filter((function(e){return e.props.isComplete})).length,n=t/e*100;this.setState({totalSteps:e,completedSteps:t,progress:n})}},{key:"render",value:function(){var e=this,t=lr()({},kT.labels,this.props.labels),n=o.a.createElement("div",{className:i()("slds-welcome-mat__info-content",this.props.className),id:"".concat(this.getId(),"-content")},o.a.createElement("h2",{className:"slds-welcome-mat__info-title",id:"".concat(this.getId(),"-label")},t.title),o.a.createElement("div",{className:"slds-welcome-mat__info-description slds-text-longform"},o.a.createElement("p",null,t.description)),"info-only"===this.props.variant||"splash"===this.props.variant?o.a.createElement("div",{className:"slds-welcome-mat__info-actions"},this.props.onRenderInfoActions()?this.props.onRenderInfoActions():null,o.a.createElement("div",{className:"slds-m-top_large"},this.props.doNotShowAgainCheckbox?this.props.doNotShowAgainCheckbox:null)):null,"steps"!==this.props.variant&&"trailhead-connected"!==this.props.variant||!this.props.children?null:o.a.createElement(o.a.Fragment,null,o.a.createElement("div",{className:i()("slds-welcome-mat__info-progress",this.state.completedSteps===this.state.totalSteps?"slds-welcome-mat__info-progress_complete":null)},"trailhead-connected"===this.props.variant?o.a.Children.map(this.props.infoBadge,(function(t){return o.a.cloneElement(t,{isComplete:e.state.completedSteps===e.state.totalSteps||null})})):null,this.state.completedSteps!==this.state.totalSteps||"trailhead-connected"!==this.props.variant?o.a.createElement(o.a.Fragment,null,"trailhead-connected"===this.props.variant?o.a.createElement("p",null,this.state.completedSteps,"/",this.state.totalSteps," ".concat(t.unitsCompletedAfter)):o.a.createElement("p",null,o.a.createElement("strong",null,this.state.completedSteps,"/",this.state.totalSteps," ".concat(t.unitsCompletedAfter))),o.a.createElement(NE,{value:this.state.progress,radius:"circular"})):null)));return o.a.createElement(io,{assistiveText:{dialogLabelledBy:"".concat(this.getId(),"-label")},isOpen:this.props.isOpen,onRequestClose:this.props.onRequestClose,size:"small",id:"".concat(this.getId(),"-modal")},o.a.createElement("div",{className:i()("slds-welcome-mat",{"slds-welcome-mat_info-only":"info-only"===this.props.variant},this.props.children?null:"slds-welcome-mat_splash"),id:this.getId()},o.a.createElement("div",{className:"slds-welcome-mat__content slds-grid"},this.props.children?o.a.createElement(o.a.Fragment,null,o.a.createElement("div",{className:"slds-welcome-mat__info slds-size_1-of-2"},n),o.a.createElement("div",{className:i()("slds-welcome-mat__tiles","slds-size_1-of-2","info-only"===this.props.variant?"slds-welcome-mat__tiles_info-only":null)},o.a.Children.map(this.props.children,(function(t){return o.a.cloneElement(t,{variant:e.props.variant})})))):o.a.createElement("div",{className:"slds-welcome-mat__info slds-size_1-of-1"},n))))}}])&&ST(t.prototype,n),r&&ST(t,r),c}(o.a.Component);NT.displayName="SLDSWelcomeMat",NT.propTypes=PT,NT.defaultProps=kT;var TT=NT;function LT(e){return(LT="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function VT(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function RT(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function DT(e,t){return(DT=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function IT(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=FT(e);if(t){var o=FT(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return AT(this,n)}}function AT(e,t){return!t||"object"!==LT(t)&&"function"!=typeof t?function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e):t}function FT(e){return(FT=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}var BT={assistiveText:c.a.shape({completed:c.a.string}),className:c.a.oneOfType([c.a.array,c.a.object,c.a.string]),id:c.a.string,image:c.a.string,isComplete:c.a.bool,onCompleteRenderActions:c.a.func},qT=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&DT(e,t)}(c,e);var t,n,r,a=IT(c);function c(){return VT(this,c),a.apply(this,arguments)}return t=c,(n=[{key:"UNSAFE_componentWillMount",value:function(){this.generatedId=p.a.generate()}},{key:"getId",value:function(){return this.props.id||this.generatedId}},{key:"getCompletedText",value:function(){return this.props.assistiveText&&this.props.assistiveText.completed?this.props.assistiveText.completed:"Completed"}},{key:"render",value:function(){return o.a.createElement("div",{id:this.getId(),className:this.props.className},o.a.createElement("div",{className:"slds-welcome-mat__info-badge-container"},o.a.createElement("img",{className:"slds-welcome-mat__info-badge",src:this.props.image,width:"50",height:"50",alt:""}),o.a.createElement(Sn,{category:"action",name:"check",assistiveText:{label:this.getCompletedText()}})),this.props.children,this.props.isComplete?this.props.onCompleteRenderActions():null)}}])&&RT(t.prototype,n),r&&RT(t,r),c}(o.a.Component);qT.displayName="SLDSWelcomeMatBadge",qT.propTypes=BT,qT.defaultProps={isComplete:!1,variant:"steps"};var KT=qT;function WT(e){return(WT="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function UT(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function GT(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?UT(Object(n),!0).forEach((function(t){YT(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):UT(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function YT(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function QT(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function JT(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function XT(e,t){return(XT=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function $T(e){var t=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}();return function(){var n,r=eL(e);if(t){var o=eL(this).constructor;n=Reflect.construct(r,arguments,o)}else n=r.apply(this,arguments);return ZT(this,n)}}function ZT(e,t){return!t||"object"!==WT(t)&&"function"!=typeof t?function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e):t}function eL(e){return(eL=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}var tL={assistiveText:c.a.shape({completedIcon:c.a.string}),className:c.a.oneOfType([c.a.array,c.a.object,c.a.string]),id:c.a.string,title:c.a.string,description:c.a.string,href:c.a.string,icon:c.a.node,isComplete:c.a.bool,variant:c.a.oneOf(["steps","info-only","splash","trailhead-connected"])},nL={assistiveText:{completedIcon:"Completed"},isComplete:!1,variant:"steps"},rL=function(e){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&XT(e,t)}(c,e);var t,n,r,a=$T(c);function c(){return QT(this,c),a.apply(this,arguments)}return t=c,(n=[{key:"UNSAFE_componentWillMount",value:function(){this.generatedId=p.a.generate()}},{key:"getId",value:function(){return this.props.id||this.generatedId}},{key:"render",value:function(){var e=GT(GT({},nL.assistiveText),this.props.assistiveText),t=o.a.createElement(o.a.Fragment,null,o.a.createElement("div",{className:i()("slds-media__figure","slds-media__figure_fixed-width","slds-align_absolute-center")},o.a.createElement("div",{className:"slds-welcome-mat__tile-figure"},o.a.createElement("div",{className:"slds-welcome-mat__tile-icon-container"},this.props.icon,this.props.isComplete&&"info-only"!==this.props.variant?o.a.createElement(Sn,{assistiveText:{label:e.completedIcon},category:"action",name:"check",title:e.completedIcon}):null))),o.a.createElement("div",{className:"slds-media__body"},o.a.createElement("div",{className:"slds-welcome-mat__tile-body"},o.a.createElement("h3",{className:"slds-welcome-mat__tile-title"},this.props.title),o.a.createElement("p",{className:"slds-welcome-mat__tile-description"},this.props.description))));return o.a.createElement("div",{id:this.getId(),className:i()("slds-welcome-mat__tile","info-only"===this.props.variant?"slds-welcome-mat__tile_info-only":null,this.props.isComplete&&"info-only"!==this.props.variant?"slds-welcome-mat__tile_complete":null,this.props.className)},"info-only"===this.props.variant?o.a.createElement("div",{className:"slds-media"},t):o.a.createElement("a",{href:this.props.href,className:"slds-box slds-box_link slds-media"},t))}}])&&JT(t.prototype,n),r&&JT(t,r),c}(o.a.Component);rL.displayName="SLDSWelcomeMatTile",rL.propTypes=tL,rL.defaultProps=nL;var oL=rL;function aL(e){return function(e){if(Array.isArray(e))return cL(e)}(e)||function(e){if("undefined"!=typeof Symbol&&Symbol.iterator in Object(e))return Array.from(e)}(e)||function(e,t){if(!e)return;if("string"==typeof e)return cL(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return cL(e,t)}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function cL(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}var sL=function(e){var t,n=e.subheadings,r=e.filteredOptions,o=aL(n),a={noSubHeaderType:[]};return o.forEach((function(e){e.id&&(a[e.id]=[e])})),r.forEach((function(e){a[e.type]?a[e.type].push(e):a.noSubHeaderType.push(e)})),(t=[]).concat.apply(t,aL(Object.values(a)))},iL=function(e){var t=e.action,n=e.event,r=e.eventName,o=e.data,a=e.customLog;a&&n?a({eventName:r,event:n,data:o}):t&&n?t(r)(n,o):console&&console.log&&console.log(r,n,o)}}])})); +//# sourceMappingURL=design-system-react.min.js.map \ No newline at end of file diff --git a/design-system-react.min.js.LICENSE.txt b/design-system-react.min.js.LICENSE.txt new file mode 100644 index 0000000000..8da23ccb0c --- /dev/null +++ b/design-system-react.min.js.LICENSE.txt @@ -0,0 +1,83 @@ +/* +object-assign +(c) Sindre Sorhus +@license MIT +*/ + +/*! + Copyright (c) 2015 Jed Watson. + Based on code that is Copyright 2013-2015, Facebook, Inc. + All rights reserved. +*/ + +/*! + Copyright (c) 2017 Jed Watson. + Licensed under the MIT License (MIT), see + http://jedwatson.github.io/classnames +*/ + +/*! + * Adapted from jQuery UI core + * + * http://jqueryui.com + * + * Copyright 2014 jQuery Foundation and other contributors + * Released under the MIT license. + * http://jquery.org/license + * + * http://api.jqueryui.com/category/ui-core/ + */ + +/*! + * design-system-react + * v0.10.31 + * Copyright (c) 2015-present, Salesforce.com, Inc. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * * Neither the name of the Salesforce.com nor the + * names of its contributors may be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY + * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +/**! + * @fileOverview Kickass library to create and place poppers near their reference elements. + * @version 1.12.9 + * @license + * Copyright (c) 2016 Federico Zivolo and contributors + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + */ diff --git a/design-system-react.min.js.map b/design-system-react.min.js.map new file mode 100644 index 0000000000..52949b03de --- /dev/null +++ b/design-system-react.min.js.map @@ -0,0 +1 @@ +{"version":3,"sources":["webpack://[name]/webpack/universalModuleDefinition","webpack://[name]/webpack/bootstrap","webpack://[name]/./node_modules/prop-types/index.js","webpack://[name]/external {\"amd\":\"react\",\"commonjs\":\"react\",\"commonjs2\":\"react\",\"root\":\"React\"}","webpack://[name]/./node_modules/classnames/index.js","webpack://[name]/./node_modules/shortid/index.js","webpack://[name]/./node_modules/lodash.assign/index.js","webpack://[name]/./node_modules/lodash.isfunction/index.js","webpack://[name]/external {\"amd\":\"react-dom\",\"commonjs\":\"react-dom\",\"commonjs2\":\"react-dom\",\"root\":\"ReactDOM\"}","webpack://[name]/./node_modules/lodash.findindex/index.js","webpack://[name]/./node_modules/warning/warning.js","webpack://[name]/./node_modules/lodash.isequal/index.js","webpack://[name]/(webpack)/buildin/global.js","webpack://[name]/./node_modules/lodash.escaperegexp/index.js","webpack://[name]/./node_modules/lodash.find/index.js","webpack://[name]/./utilities/design-tokens/dist/salesforce-skin.common.js","webpack://[name]/./node_modules/lodash.reject/index.js","webpack://[name]/(webpack)/buildin/module.js","webpack://[name]/./node_modules/shortid/lib/alphabet.js","webpack://[name]/./node_modules/react-required-if/index.js","webpack://[name]/./node_modules/react-modal/lib/index.js","webpack://[name]/./node_modules/react-modal/lib/helpers/safeHTMLElement.js","webpack://[name]/./node_modules/create-react-class/index.js","webpack://[name]/./node_modules/react-highlighter/lib/highlighter.js","webpack://[name]/./node_modules/react-modal/lib/helpers/tabbable.js","webpack://[name]/./node_modules/react-modal/lib/helpers/ariaAppHider.js","webpack://[name]/./node_modules/popper.js/dist/esm/popper.js","webpack://[name]/./utilities/product-tokens/icon-backgrounds.js","webpack://[name]/./node_modules/lodash.memoize/index.js","webpack://[name]/./utilities/design-tokens/dist/palette-colors.common.js","webpack://[name]/./node_modules/react-contenteditable/lib/react-contenteditable.js","webpack://[name]/./node_modules/lodash.isdate/index.js","webpack://[name]/./node_modules/prop-types/factoryWithThrowingShims.js","webpack://[name]/./node_modules/prop-types/lib/ReactPropTypesSecret.js","webpack://[name]/./node_modules/shortid/lib/index.js","webpack://[name]/./node_modules/shortid/lib/random/random-from-seed.js","webpack://[name]/./node_modules/shortid/lib/build.js","webpack://[name]/./node_modules/shortid/lib/generate.js","webpack://[name]/./node_modules/shortid/lib/random/random-byte-browser.js","webpack://[name]/./node_modules/nanoid/format.browser.js","webpack://[name]/./node_modules/shortid/lib/is-valid.js","webpack://[name]/./node_modules/shortid/lib/util/cluster-worker-id-browser.js","webpack://[name]/./node_modules/react-modal/lib/components/Modal.js","webpack://[name]/./node_modules/react-modal/lib/components/ModalPortal.js","webpack://[name]/./node_modules/react-modal/lib/helpers/focusManager.js","webpack://[name]/./node_modules/react-modal/lib/helpers/scopeTab.js","webpack://[name]/./node_modules/react-modal/node_modules/warning/browser.js","webpack://[name]/./node_modules/exenv/index.js","webpack://[name]/./node_modules/react-modal/lib/helpers/classList.js","webpack://[name]/./node_modules/react-lifecycles-compat/react-lifecycles-compat.es.js","webpack://[name]/./node_modules/react-highlighter/lib/regExpPropType.js","webpack://[name]/./node_modules/escape-string-regexp/index.js","webpack://[name]/./node_modules/blacklist/index.js","webpack://[name]/./node_modules/create-react-class/factory.js","webpack://[name]/./node_modules/object-assign/index.js","webpack://[name]/./node_modules/react-contenteditable/node_modules/fast-deep-equal/index.js","webpack://[name]/./utilities/constants.js","webpack://[name]/./components/accordion/index.jsx","webpack://[name]/./components/icon/button-icon/check-props.js","webpack://[name]/./components/utilities/UNSAFE_direction/index.jsx","webpack://[name]/./components/utilities/utility-icon/check-props.js","webpack://[name]/./components/utilities/utility-icon/svg.jsx","webpack://[name]/./icons/utility/index.js","webpack://[name]/./icons/action/index.js","webpack://[name]/./icons/custom/index.js","webpack://[name]/./icons/doctype/index.js","webpack://[name]/./icons/standard/index.js","webpack://[name]/./components/utilities/UNSAFE_direction/private/language-direction.jsx","webpack://[name]/./components/utilities/utility-icon/index.jsx","webpack://[name]/./components/icon/button-icon/index.jsx","webpack://[name]/./components/button/check-props.js","webpack://[name]/./components/utilities/dialog/portal.jsx","webpack://[name]/./utilities/event.js","webpack://[name]/./utilities/key-code.js","webpack://[name]/./utilities/tabbable.js","webpack://[name]/./utilities/execution-environment.js","webpack://[name]/./utilities/dom-element-focus.js","webpack://[name]/./utilities/dialog-helpers.js","webpack://[name]/./components/icon-settings/index.jsx","webpack://[name]/./components/utilities/dialog/index.jsx","webpack://[name]/./components/icon/check-props.js","webpack://[name]/./utilities/class-names.js","webpack://[name]/./components/icon/index.jsx","webpack://[name]/./components/tooltip/check-props.js","webpack://[name]/./components/tooltip/index.jsx","webpack://[name]/./utilities/get-aria-props.js","webpack://[name]/./utilities/get-data-props.js","webpack://[name]/./utilities/get-form-props.js","webpack://[name]/./components/button/index.jsx","webpack://[name]/./components/accordion/panel.jsx","webpack://[name]/./components/alert/check-props.js","webpack://[name]/./components/alert/index.jsx","webpack://[name]/./components/alert/container.jsx","webpack://[name]/./utilities/warning/low-priority-warning.js","webpack://[name]/./utilities/warning/component-is-deprecated.js","webpack://[name]/./components/app-launcher/check-props.js","webpack://[name]/./components/modal/check-props.js","webpack://[name]/./components/settings.js","webpack://[name]/./utilities/warning/check-app-element-set.js","webpack://[name]/./components/modal/index.jsx","webpack://[name]/./components/app-launcher/index.jsx","webpack://[name]/./components/expandable-section/index.jsx","webpack://[name]/./components/app-launcher/expandable-section.jsx","webpack://[name]/./components/utilities/highlighter/index.jsx","webpack://[name]/./components/app-launcher/link.jsx","webpack://[name]/./components/utilities/truncate/index.jsx","webpack://[name]/./components/app-launcher/tile.jsx","webpack://[name]/./components/avatar/check-props.js","webpack://[name]/./components/avatar/index.jsx","webpack://[name]/./components/badge/index.jsx","webpack://[name]/./components/brand-band/index.jsx","webpack://[name]/./components/breadcrumb/check-props.js","webpack://[name]/./node_modules/react-onclickoutside/dist/react-onclickoutside.es.js","webpack://[name]/./components/utilities/menu-list/item-label.jsx","webpack://[name]/./components/utilities/menu-list/item.jsx","webpack://[name]/./components/utilities/menu-list/index.jsx","webpack://[name]/./components/menu-dropdown/button-trigger.jsx","webpack://[name]/./components/menu-dropdown/check-props.js","webpack://[name]/./utilities/key-buffer.js","webpack://[name]/./utilities/keyboard-navigate.js","webpack://[name]/./components/menu-dropdown/menu-dropdown.jsx","webpack://[name]/./components/menu-dropdown/index.jsx","webpack://[name]/./components/breadcrumb/index.jsx","webpack://[name]/./components/builder-header/index.jsx","webpack://[name]/./components/builder-header/misc.jsx","webpack://[name]/./components/builder-header/nav.jsx","webpack://[name]/./components/builder-header/nav-dropdown.jsx","webpack://[name]/./components/builder-header/nav-link.jsx","webpack://[name]/./components/builder-header/toolbar.jsx","webpack://[name]/./components/button-group/index.jsx","webpack://[name]/./components/button-stateful/check-props.js","webpack://[name]/./components/button-stateful/index.jsx","webpack://[name]/./components/media-object/index.jsx","webpack://[name]/./components/card/private/header.jsx","webpack://[name]/./components/card/private/body.jsx","webpack://[name]/./components/card/private/footer.jsx","webpack://[name]/./components/card/empty.jsx","webpack://[name]/./components/card/index.jsx","webpack://[name]/./components/icon/input-icon/index.jsx","webpack://[name]/./components/spinner/check-props.js","webpack://[name]/./components/spinner/index.jsx","webpack://[name]/./components/input/private/inner-input.jsx","webpack://[name]/./components/utilities/label/index.jsx","webpack://[name]/./components/input/check-props.js","webpack://[name]/./utilities/object.js","webpack://[name]/./components/tooltip/private/field-level-help-tooltip.jsx","webpack://[name]/./components/input/index.jsx","webpack://[name]/./components/card/filter.jsx","webpack://[name]/./components/carousel/private/carousel-indicators.jsx","webpack://[name]/./components/carousel/private/previous-next-carousel-navigator.jsx","webpack://[name]/./components/carousel/private/carousel-item.jsx","webpack://[name]/./components/carousel/private/auto-play-button.jsx","webpack://[name]/./components/carousel/index.jsx","webpack://[name]/./components/checkbox/check-props.js","webpack://[name]/./components/checkbox/index.jsx","webpack://[name]/./components/color-picker/check-props.js","webpack://[name]/./components/color-picker/private/custom-color-form.jsx","webpack://[name]/./components/radio-group/index.jsx","webpack://[name]/./components/radio-button-group/index.jsx","webpack://[name]/./components/color-picker/private/swatch.jsx","webpack://[name]/./components/radio/check-props.js","webpack://[name]/./components/radio/index.jsx","webpack://[name]/./components/radio-button-group/radio.jsx","webpack://[name]/./utilities/color.js","webpack://[name]/./components/color-picker/private/hsv-color.jsx","webpack://[name]/./components/color-picker/private/custom-color.jsx","webpack://[name]/./components/color-picker/private/swatch-option.jsx","webpack://[name]/./components/color-picker/private/swatch-picker.jsx","webpack://[name]/./components/tabs/private/tabs-list.jsx","webpack://[name]/./components/tabs/private/tab.jsx","webpack://[name]/./components/tabs/private/tab-panel.jsx","webpack://[name]/./components/tabs/index.jsx","webpack://[name]/./components/tabs/panel.jsx","webpack://[name]/./components/popover/check-props.js","webpack://[name]/./utilities/keyboard-navigable-dialog.js","webpack://[name]/./components/popover/popover.jsx","webpack://[name]/./components/popover/index.jsx","webpack://[name]/./components/color-picker/index.jsx","webpack://[name]/./components/combobox/private/menu.jsx","webpack://[name]/./components/forms/private/label.jsx","webpack://[name]/./utilities/key-callbacks.js","webpack://[name]/./components/pill/index.jsx","webpack://[name]/./components/utilities/pill/index.jsx","webpack://[name]/./utilities/is-react-component.js","webpack://[name]/./components/pill-container/private/selected-listbox.jsx","webpack://[name]/./utilities/key-letter-menu-item-select.js","webpack://[name]/./utilities/menu-item-select-scroll.js","webpack://[name]/./components/combobox/check-props.js","webpack://[name]/./components/combobox/combobox.jsx","webpack://[name]/./components/combobox/index.jsx","webpack://[name]/./components/combobox/filter.js","webpack://[name]/./components/data-table/check-props.js","webpack://[name]/./components/data-table/cell.jsx","webpack://[name]/./components/data-table/column.jsx","webpack://[name]/./components/data-table/private/cell-fixed.jsx","webpack://[name]/./components/data-table/column-check-props.js","webpack://[name]/./components/data-table/private/header-cell.jsx","webpack://[name]/./components/data-table/private/head.jsx","webpack://[name]/./components/data-table/private/row.jsx","webpack://[name]/./components/data-table/row-actions.jsx","webpack://[name]/./components/data-table/index.jsx","webpack://[name]/./components/data-table/highlight-cell.jsx","webpack://[name]/./utilities/date.js","webpack://[name]/./components/date-picker/private/day.jsx","webpack://[name]/./components/date-picker/private/week.jsx","webpack://[name]/./components/date-picker/private/calendar.jsx","webpack://[name]/./components/date-picker/private/year-picklist.jsx","webpack://[name]/./components/date-picker/private/navigation.jsx","webpack://[name]/./components/date-picker/private/calendar-wrapper.jsx","webpack://[name]/./components/date-picker/check-props.js","webpack://[name]/./components/date-picker/date-picker.jsx","webpack://[name]/./components/date-picker/index.jsx","webpack://[name]/./components/dynamic-icon/index.jsx","webpack://[name]/./components/popover/edit-dialog.jsx","webpack://[name]/./components/expression/group.jsx","webpack://[name]/./components/expression/index.jsx","webpack://[name]/./components/expression/condition.jsx","webpack://[name]/./components/expression/formula.jsx","webpack://[name]/./components/files/private/file-figure.jsx","webpack://[name]/./components/files/private/file-actions.jsx","webpack://[name]/./components/files/file.jsx","webpack://[name]/./components/files/index.jsx","webpack://[name]/./components/files/more-files.jsx","webpack://[name]/./components/filter/index.jsx","webpack://[name]/./components/global-header/check-props.js","webpack://[name]/./components/global-header/index.jsx","webpack://[name]/./components/global-header/button.jsx","webpack://[name]/./components/global-header/private/dropdown-trigger.jsx","webpack://[name]/./components/global-header/dropdown.jsx","webpack://[name]/./components/global-header/favorites.jsx","webpack://[name]/./components/global-header/help.jsx","webpack://[name]/./components/global-header/notifications.jsx","webpack://[name]/./components/global-header/profile.jsx","webpack://[name]/./components/global-header/search.jsx","webpack://[name]/./components/global-header/setup.jsx","webpack://[name]/./components/global-header/task.jsx","webpack://[name]/./components/global-navigation-bar/index.jsx","webpack://[name]/./components/global-navigation-bar/button.jsx","webpack://[name]/./components/global-navigation-bar/check-props.js","webpack://[name]/./components/global-navigation-bar/dropdown-trigger.jsx","webpack://[name]/./components/global-navigation-bar/dropdown.jsx","webpack://[name]/./components/global-navigation-bar/label.jsx","webpack://[name]/./components/global-navigation-bar/link.jsx","webpack://[name]/./components/global-navigation-bar/region.jsx","webpack://[name]/./components/illustration/check-props.js","webpack://[name]/./components/illustration/index.jsx","webpack://[name]/./components/forms/input/inline-check-props.js","webpack://[name]/./components/forms/input/inline.jsx","webpack://[name]/./components/input/search.jsx","webpack://[name]/./components/location-map/index.jsx","webpack://[name]/./components/lookup/header.jsx","webpack://[name]/./components/lookup/menu/default-footer/index.jsx","webpack://[name]/./components/lookup/footer.jsx","webpack://[name]/./components/lookup/menu/default-header/index.jsx","webpack://[name]/./components/lookup/section-divider.jsx","webpack://[name]/./components/lookup/menu/default-section-divider/index.jsx","webpack://[name]/./components/lookup/check-props.js","webpack://[name]/./components/lookup/private/item.jsx","webpack://[name]/./components/lookup/private/menu.jsx","webpack://[name]/./components/lookup/menu/index.js","webpack://[name]/./components/lookup/lookup.jsx","webpack://[name]/./components/lookup/index.jsx","webpack://[name]/./components/menu-picklist/check-props.js","webpack://[name]/./components/menu-picklist/index.jsx","webpack://[name]/./components/modal/trigger.jsx","webpack://[name]/./components/vertical-navigation/check-props.js","webpack://[name]/./components/vertical-navigation/private/item.jsx","webpack://[name]/./components/vertical-navigation/index.jsx","webpack://[name]/./components/notification/check-props.js","webpack://[name]/./components/notification/index.jsx","webpack://[name]/./components/page-header/check-props.js","webpack://[name]/./components/page-header/private/info.jsx","webpack://[name]/./components/page-header/private/label.jsx","webpack://[name]/./components/page-header/private/title.jsx","webpack://[name]/./components/page-header/private/detail-block.jsx","webpack://[name]/./components/page-header/private/detail-row.jsx","webpack://[name]/./components/page-header/private/controls.jsx","webpack://[name]/./components/page-header/private/base/index.jsx","webpack://[name]/./components/page-header/private/record-home/index.jsx","webpack://[name]/./components/page-header/private/object-home/index.jsx","webpack://[name]/./components/page-header/private/related-list/index.jsx","webpack://[name]/./components/page-header/index.jsx","webpack://[name]/./components/page-header/control.jsx","webpack://[name]/./components/panel/index.jsx","webpack://[name]/./components/panel/filtering/check-props.js","webpack://[name]/./components/panel/filtering/private/panel-footer.jsx","webpack://[name]/./components/panel/filtering/private/panel-header.jsx","webpack://[name]/./components/panel/filtering/group.jsx","webpack://[name]/./components/panel/filtering/list.jsx","webpack://[name]/./components/panel/filtering/list-heading.jsx","webpack://[name]/./components/pill-container/index.jsx","webpack://[name]/./components/progress-bar/index.jsx","webpack://[name]/./components/progress-indicator/private/step.jsx","webpack://[name]/./components/progress-indicator/private/progress-bar.jsx","webpack://[name]/./components/progress-indicator/private/progress.jsx","webpack://[name]/./components/progress-indicator/private/step-vertical.jsx","webpack://[name]/./components/progress-indicator/index.jsx","webpack://[name]/./components/progress-ring/private/ring-shape.jsx","webpack://[name]/./components/progress-ring/index.jsx","webpack://[name]/./components/scoped-notification/check-props.js","webpack://[name]/./components/scoped-notification/index.jsx","webpack://[name]/./components/setup-assistant/check-props.js","webpack://[name]/./components/setup-assistant/index.jsx","webpack://[name]/./components/setup-assistant/step.jsx","webpack://[name]/./components/slider/index.jsx","webpack://[name]/./components/split-view/private/toggle-button.jsx","webpack://[name]/./components/split-view/index.jsx","webpack://[name]/./components/split-view/header.jsx","webpack://[name]/./components/split-view/private/list-item-content.jsx","webpack://[name]/./components/split-view/private/list-item-with-content.jsx","webpack://[name]/./components/split-view/listbox.jsx","webpack://[name]/./components/textarea/check-props.js","webpack://[name]/./components/textarea/index.jsx","webpack://[name]/./components/time-picker/check-props.js","webpack://[name]/./components/time-picker/private/dropdown-trigger.jsx","webpack://[name]/./components/time-picker/index.jsx","webpack://[name]/./components/toast/check-props.js","webpack://[name]/./components/toast/index.jsx","webpack://[name]/./components/toast/container.jsx","webpack://[name]/./components/tree/private/item.jsx","webpack://[name]/./components/tree/private/render-initial-branch.jsx","webpack://[name]/./components/tree/private/render-branch.jsx","webpack://[name]/./components/tree/private/branch.jsx","webpack://[name]/./components/tree/check-props.js","webpack://[name]/./components/tree/index.jsx","webpack://[name]/./components/trial-bar/index.jsx","webpack://[name]/./components/trial-bar/button.jsx","webpack://[name]/./components/trial-bar/dropdown.jsx","webpack://[name]/./components/visual-picker/index.jsx","webpack://[name]/./components/visual-picker/link.jsx","webpack://[name]/./components/welcome-mat/index.jsx","webpack://[name]/./components/welcome-mat/info-badge.jsx","webpack://[name]/./components/welcome-mat/tile.jsx","webpack://[name]/./components/combobox/add-subheadings.js","webpack://[name]/./utilities/log.js"],"names":["root","factory","exports","module","require","define","amd","window","__WEBPACK_EXTERNAL_MODULE__1__","__WEBPACK_EXTERNAL_MODULE__6__","installedModules","__webpack_require__","moduleId","i","l","modules","call","m","c","d","name","getter","o","Object","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","prototype","hasOwnProperty","p","s","hasOwn","classNames","classes","arguments","length","arg","argType","push","Array","isArray","inner","apply","join","default","MAX_SAFE_INTEGER","argsTag","funcTag","genTag","reIsUint","func","thisArg","args","transform","objectProto","objectToString","toString","propertyIsEnumerable","nativeKeys","keys","nativeMax","Math","max","nonEnumShadows","arrayLikeKeys","inherited","result","isObjectLike","isArrayLike","isArrayLikeObject","isArguments","iteratee","index","baseTimes","String","skipIndexes","isIndex","assignValue","objValue","eq","undefined","test","isPrototype","Ctor","constructor","other","isLength","tag","isObject","isFunction","type","assigner","assign","source","props","customizer","newValue","copyObject","baseKeys","start","array","otherArgs","this","baseRest","sources","guard","isIterateeCall","freeGlobal","global","freeSelf","self","Function","nativeObjectToString","symToStringTag","baseGetTag","isOwn","unmasked","e","getRawTag","HASH_UNDEFINED","INFINITY","MAX_INTEGER","NAN","arrayTag","boolTag","dateTag","errorTag","mapTag","numberTag","objectTag","promiseTag","regexpTag","setTag","stringTag","symbolTag","weakMapTag","arrayBufferTag","dataViewTag","reIsDeepProp","reIsPlainProp","reLeadingDot","rePropName","reTrim","reEscapeChar","reIsBadHex","reIsBinary","reIsHostCtor","reIsOctal","typedArrayTags","freeParseInt","parseInt","freeExports","nodeType","freeModule","freeProcess","process","nodeUtil","binding","nodeIsTypedArray","isTypedArray","arraySome","predicate","isHostObject","mapToArray","map","size","forEach","setToArray","set","uid","arrayProto","funcProto","coreJsData","maskSrcKey","exec","IE_PROTO","funcToString","reIsNative","RegExp","replace","Uint8Array","splice","DataView","getNative","Map","Promise","Set","WeakMap","nativeCreate","dataViewCtorString","toSource","mapCtorString","promiseCtorString","setCtorString","weakMapCtorString","symbolProto","symbolValueOf","valueOf","symbolToString","Hash","entries","clear","entry","ListCache","MapCache","SetCache","values","__data__","add","Stack","assocIndexOf","baseGet","path","isKey","castPath","toKey","baseHasIn","baseIsEqual","bitmask","stack","equalFunc","objIsArr","othIsArr","objTag","othTag","getTag","objIsObj","othIsObj","isSameTag","equalArrays","byteLength","byteOffset","buffer","message","convert","isPartial","stacked","equalByTag","objIsWrapped","othIsWrapped","objUnwrapped","othUnwrapped","objProps","objLength","othLength","skipCtor","othValue","compared","objCtor","othCtor","equalObjects","baseIsEqualDeep","baseIsNative","isMasked","baseIteratee","identity","srcValue","isStrictComparable","matchesStrictComparable","defaultValue","hasFunc","hasPath","hasIn","UNORDERED_COMPARE_FLAG","baseMatchesProperty","matchData","getMatchData","noCustomizer","data","baseIsMatch","baseMatches","basePropertyDeep","proto","stringToPath","arrLength","seen","arrValue","othIndex","has","getMapData","getValue","pop","cache","pairs","LARGE_ARRAY_SIZE","isSymbol","ArrayBuffer","resolve","ctorString","memoize","string","baseToString","match","number","quote","resolver","TypeError","memoized","Cache","baseUnary","fromIndex","remainder","isBinary","slice","toNumber","toFinite","fromRight","baseFindIndex","warning","moduleExports","Buffer","nativeGetSymbols","getOwnPropertySymbols","nativeIsBuffer","isBuffer","isArr","isArg","isBuff","isType","baseIsArguments","getAllKeys","keysFunc","symbolsFunc","offset","arrayPush","baseGetAllKeys","getSymbols","resIndex","arrayFilter","symbol","g","reRegExpChar","reHasRegExpChar","findIndexFunc","find","collection","iterable","colorBackgroundRowActive","colorBackgroundModalBrand","colorBackgroundNotification","colorBackgroundNotificationNew","colorBackgroundNotificationBadgeActive","colorBackgroundNotificationBadgeHover","colorContrastPrimary","colorBackgroundRowHover","colorForegroundPrimary","colorBackgroundErrorDark","colorBackgroundInfo","colorBackgroundTempModalTint","colorBackgroundReminderHover","brandBandColorBackgroundSecondaryTransparent","colorBackgroundNotificationBadge","colorBackgroundIndicatorDot","cardWrapperColorBackground","colorBackgroundAltInverse","popoverWalkthroughHeaderImage","colorBackgroundInputDisabled","colorBackgroundRowNew","colorBackgroundToggleHover","popoverWalkthroughColorBackground","colorBackgroundSuccessDark","colorBackgroundReminder","colorBackgroundStencil","colorBackgroundAlt2","colorBackgroundWarning","colorBackgroundButtonSuccessHover","popoverWalkthroughAltImage","colorBackgroundUtilityBarHover","progressColorBorderShade","colorBackgroundHighlightSearch","colorBackgroundToggle","colorBackgroundAnchor","popoverWalkthroughAltNubbinColorBackground","colorBackgroundDestructiveHover","progressColorBackgroundShade","colorBackground","colorBrandDark","colorBackgroundButtonSuccess","colorBackgroundBackdrop","colorBrand","colorBackgroundChromeDesktop","pageHeaderColorBackground","colorBackgroundModalButtonActive","colorBackgroundDestructive","colorBackgroundInputCheckboxSelected","colorBackgroundInputCheckbox","colorBackgroundPrimary","colorBackgroundSuccess","colorBackgroundInputCheckboxDisabled","colorBackgroundPill","colorBackgroundSpinnerDot","colorBackgroundBrandPrimaryFocus","colorBackgroundOffline","tableColorBackgroundHeaderHover","colorBackgroundBackdropTint","colorBackgroundBrandPrimaryActive","colorBackgroundInputActive","popoverWalkthroughColorBackgroundAlt","brandBandColorBackgroundSecondary","tableColorBackgroundHeader","colorBackgroundStencilAlt","colorBackgroundScrollbar","colorBackgroundToggleDisabled","colorBackgroundToast","colorBackgroundBrandPrimaryHover","colorBackgroundChromeMobile","brandBandColorBackgroundPrimaryTransparent","colorBackgroundCustomer","colorBackgroundError","colorContrastSecondary","colorBackgroundBrowser","colorBackgroundAlt","colorBackgroundPost","colorBackgroundBrandPrimary","colorBackgroundRowSelected","colorBackgroundInput","colorBackgroundToastSuccess","colorBackgroundImageOverlay","colorBrandDarker","colorBackgroundTempModal","colorBackgroundSelection","colorBackgroundShade","colorBackgroundModal","colorBackgroundDestructiveActive","colorBackgroundToggleActiveHover","colorBackgroundPayload","colorBackgroundModalButton","colorBackgroundUtilityBarActive","colorBackgroundButtonSuccessActive","buttonColorBackgroundPrimary","colorBackgroundToastError","colorBackgroundOrgSwitcherArrow","colorBackgroundInverse","colorBackgroundToggleActive","colorPickerSliderThumbColorBackground","pageColorBackgroundPrimary","colorBackgroundShadeDark","colorBackgroundNotificationBadgeFocus","colorBackgroundActionbarIconUtility","colorBackgroundScrollbarTrack","colorBackgroundInputError","brandBandColorBackgroundPrimary","colorBackgroundHighlight","colorBackgroundSecondary","popoverWalkthroughHeaderColorBackground","brandBandDefaultImage","bannerUserDefaultImage","bannerGroupDefaultImage","colorBorderInputCheckboxSelectedCheckmark","colorBorderButtonInverseDisabled","colorBorderIconInverseHintHover","colorBorderErrorDark","colorBorderIconInverseHint","colorBorderBrandDark","colorBorderInfo","colorBorderWarning","colorBorderTabActive","colorStrokeDisabled","colorBorderDestructiveHover","colorBorder","colorBorderInputDisabled","colorBorderSuccessDark","colorBorderReminder","colorStrokeBrandActive","colorBorderButtonBrandDisabled","pageHeaderColorBorder","colorBorderDestructive","colorBorderPrimary","colorBorderButtonDefault","colorBorderSeparatorAlt2","colorBorderOffline","colorBorderBrandPrimaryFocus","colorBorderSuccess","colorBorderSeparator","colorBorderBrand","colorBorderBrandPrimaryHover","colorBorderSelectionActive","colorBorderButtonBrand","colorBorderError","colorBorderSelectionHover","colorBorderBrandPrimaryActive","colorBorderInputActive","colorBorderInput","colorBorderBrandPrimary","colorBorderToggleChecked","colorBorderRowSelectedHover","colorBorderCustomer","colorBorderSelection","colorBorderCanvasElementSelectionHover","cardColorBorder","colorBorderRowSelected","buttonColorBorderPrimary","colorBorderSeparatorAlt","colorBorderCanvasElementSelection","colorStrokeBrandHover","colorBorderInverse","colorStrokeHeaderButton","colorBorderDestructiveActive","colorBorderErrorAlt","pageHeaderJoinedColorBorder","colorStrokeBrand","colorBorderTabSelected","cardFooterColorBorder","colorBorderSeparatorInverse","pageHeaderBorderRadius","tableBorderRadius","pageHeaderShadow","shadowSoftPrimaryHover","shadowButtonFocus","shadowHeader","shadowSoftPrimary","shadowHardPrimary","shadowActionOverflowFooter","cardShadow","shadowReminder","shadowDocked","shadowInlineEdit","shadowDrag","shadowDropDown","shadowFocusInset","shadowSoftPrimaryActive","shadowButtonFocusInverse","shadowImage","formLabelFontSize","inputStaticFontSize","inputStaticFontWeight","tabsFontWeight","cardFontWeight","pageHeaderTitleFontWeight","componentSpacingMargin","componentSpacingPadding","templateGutters","templateProfileGutters","tableCellSpacing","cardSpacingMargin","cardFooterPadding","cardFooterTextAlign","colorTextIconInverse","colorTextActionLabel","colorTextLinkInverse","colorTextButtonInverseDisabled","colorTextIconInverseHintHover","colorTextInputIcon","colorTextLinkInverseActive","colorTextActionLabelActive","colorTextIconInverseActive","colorTextTabLabelSelected","colorTextWarning","colorTextIconInverseHint","colorTextTabLabelDisabled","colorTextButtonDefaultHover","colorTextInputDisabled","colorTextTertiary","colorTextLinkFocus","colorTextButtonDefault","colorTextIconDefaultDisabled","colorTextLinkDisabled","colorTextDefault","colorTextInverseActive","colorTextButtonBrandDisabled","colorTextPrimary","colorTextLinkPrimaryFocus","colorTextButtonBrandHover","colorTextLinkHover","colorTextTabLabelFocus","colorTextSuccess","colorTextWeak","colorTextPlaceholderInverse","colorTextIconDefaultHover","colorTextIconDefaultHintBorderless","colorTextPill","colorTextLinkPrimaryHover","colorTextLink","colorTextWarningAlt","colorTextButtonBrand","colorTextTabLabelActive","colorTextIconDefault","colorTextBrand","colorTextTabLabelHover","colorTextButtonDefaultDisabled","colorTextToast","colorTextToggleDisabled","colorTextBrowser","colorTextLinkPrimaryActive","colorTextError","colorTextLinkPrimary","colorTextBrowserActive","colorTextTabLabel","colorTextCustomer","colorTextIconDefaultActive","colorTextBrandPrimary","colorTextLinkActive","colorTextIconDefaultHint","colorTextButtonBrandActive","colorTextRequired","colorTextIconBrand","colorTextInverseHover","colorTextModal","colorTextButtonInverse","buttonColorTextPrimary","colorTextModalButton","colorTextLinkInverseDisabled","colorTextInverse","colorTextButtonDefaultActive","colorTextIconInverseDisabled","colorTextButtonDefaultHint","colorTextIconUtility","colorTextIconInverseHover","colorTextPlaceholder","colorTextInverseWeak","colorTextSecondary","colorTextInputFocusInverse","colorTextStageLeft","colorTextLinkInverseHover","colorTextSuccessInverse","colorTextLabel","FUNC_ERROR_TEXT","eachFunc","baseEach","baseFor","baseFilter","createBaseFor","negate","webpackPolyfill","deprecate","paths","children","alphabet","previousSeed","shuffled","randomFromSeed","ORIGINAL","reset","setCharacters","_alphabet_","Error","unique","split","filter","item","ind","arr","lastIndexOf","getShuffled","characterIndex","sourceArray","targetArray","nextValue","floor","shuffle","characters","seed","lookup","condition","propName","componentName","isRequired","obj","_Modal","_Modal2","canUseDOM","_exenv","EE","SafeHTMLElement","HTMLElement","React","ReactNoopUpdateQueue","Component","updater","isValidElement","RegExpPropType","escapeStringRegexp","blacklist","createReactClass","PropTypes","removeDiacritics","str","normalize","blacklistChars","indexOf","Highlighter","displayName","count","propTypes","search","oneOfType","bool","caseSensitive","ignoreDiacritics","diacriticsBlacklist","matchElement","matchClass","matchStyle","render","createElement","renderElement","subject","isScalar","hasSearch","getSearch","highlightChildren","flags","getMatchBoundaries","matches","first","last","remaining","remainingCleaned","renderPlain","boundaries","nonMatch","renderHighlight","className","style","defaultProps","element","querySelectorAll","tabbable","tabbableNode","hidesContents","zeroSize","offsetWidth","offsetHeight","innerHTML","getComputedStyle","getPropertyValue","focusable","isTabIndexNotNaN","nodeName","toLowerCase","disabled","href","parentElement","document","body","parentNode","visible","tabIndex","getAttribute","isTabIndexNaN","isNaN","assertNodeList","setElement","useElement","_safeHTMLElement","el","globalElement","validateElement","hide","appElement","setAttribute","show","removeAttribute","documentNotReadyOrSSRTesting","resetForTesting","_warning","_warning2","nodeList","selector","isBrowser","longerTimeoutBrowsers","timeoutDuration","navigator","userAgent","debounce","fn","called","then","scheduled","setTimeout","functionToCheck","getStyleComputedProperty","css","getParentNode","host","getScrollParent","ownerDocument","_getStyleComputedProp","overflow","overflowX","overflowY","getOffsetParent","offsetParent","documentElement","getRoot","node","findCommonOffsetParent","element1","element2","order","compareDocumentPosition","Node","DOCUMENT_POSITION_FOLLOWING","end","range","createRange","setStart","setEnd","commonAncestorContainer","contains","firstElementChild","element1root","getScroll","side","upperSide","html","scrollingElement","getBordersSize","styles","axis","sideA","sideB","parseFloat","isIE10","isIE10$1","appVersion","getSize","computedStyle","getWindowSizes","height","width","classCallCheck","instance","Constructor","createClass","defineProperties","target","descriptor","configurable","writable","protoProps","staticProps","_extends","getClientRect","offsets","right","left","bottom","top","getBoundingClientRect","rect","scrollTop","scrollLeft","err","sizes","clientWidth","clientHeight","horizScrollbar","vertScrollbar","getOffsetRectRelativeToArbitraryNode","parent","isHTML","childrenRect","parentRect","scrollParent","borderTopWidth","borderLeftWidth","marginTop","marginLeft","subtract","modifier","includeScroll","isFixed","getBoundaries","popper","reference","padding","boundariesElement","relativeOffset","innerWidth","innerHeight","getViewportOffsetRectRelativeToArtbitraryNode","boundariesNode","_getWindowSizes","getArea","_ref","computeAutoPlacement","placement","refRect","rects","sortedAreas","area","sort","a","b","filteredAreas","_ref2","computedPlacement","variation","getReferenceOffsets","state","getOuterSizes","x","marginBottom","y","marginRight","getOppositePlacement","hash","matched","getPopperOffsets","referenceOffsets","popperRect","popperOffsets","isHoriz","mainSide","secondarySide","measurement","secondaryMeasurement","check","runModifiers","modifiers","ends","prop","findIndex","cur","console","warn","enabled","update","isDestroyed","arrowStyles","attributes","flipped","options","flip","originalPlacement","position","isCreated","onUpdate","onCreate","isModifierEnabled","modifierName","some","getSupportedPropertyName","prefixes","upperProp","charAt","toUpperCase","prefix","toCheck","destroy","disableEventListeners","removeOnDestroy","removeChild","getWindow","defaultView","attachToScrollParents","event","callback","scrollParents","isBody","addEventListener","passive","setupEventListeners","updateBound","scrollElement","eventsEnabled","enableEventListeners","scheduleUpdate","cancelAnimationFrame","removeEventListener","isNumeric","isFinite","setStyles","unit","isModifierRequired","requestingName","requestedName","requesting","_requesting","requested","placements","validPlacements","clockwise","counter","concat","reverse","BEHAVIORS","parseOffset","basePlacement","useHeight","fragments","frag","trim","divider","splitRegex","ops","op","mergeWithPrevious","reduce","toValue","index2","Defaults","shift","shiftvariation","_data$offsets","isVertical","shiftOffsets","preventOverflow","priority","primary","escapeWithReference","secondary","min","keepTogether","opSide","arrow","_data$offsets$arrow","arrowElement","querySelector","len","sideCapitalized","altSide","arrowElementSize","center","popperMarginSide","popperBorderSide","sideValue","round","placementOpposite","flipOrder","behavior","step","refOffsets","overlapsRef","overflowsLeft","overflowsRight","overflowsTop","overflowsBottom","overflowsBoundaries","flippedVariation","flipVariations","getOppositeVariation","subtractLength","bound","computeStyle","legacyGpuAccelerationOption","gpuAcceleration","offsetParentRect","prefixedProperty","willChange","invertTop","invertLeft","applyStyle","onLoad","modifierOptions","Popper","_this","requestAnimationFrame","jquery","Utils","PopperUtils","quip","brandHeaderContrastWeakDisabled","colorGray11","brandPrimaryTransparent10","colorGray12","brandBackgroundDarkTransparent","brandHeader","brandLightActive","brandHeaderContrastWarm","brandHeaderIconDisabled","brandHeaderContrastActive","brandBackgroundPrimary","brandPrimary","brandHeaderContrastWeakActive","brandContrastActive","brandHeaderContrastCool","brandHeaderContrastInverse","brandDark","brandAccessible","brandBackgroundDark","brandTextLinkActive","colorGray1","colorGray2","brandHeaderIconActive","colorGray3","brandHeaderIcon","brandDisabled","brandTextLink","colorGray4","colorGray5","colorGray6","brandAccessibleActive","colorGray7","brandDarkActive","colorGray8","brandHeaderContrastInverseActive","brandHeaderContrastCoolActive","colorGray9","brandContrast","brandHeaderContrastWeak","brandPrimaryActive","brandBackgroundPrimaryTransparent","brandHeaderContrast","brandPrimaryTransparent","brandHeaderContrastWarmActive","brandPrimaryTransparent40","brandLight","colorGray10","extendStatics","__extends","setPrototypeOf","__proto__","__","__assign","__createBinding","k","k2","__setModuleDefault","v","__importStar","mod","__rest","__importDefault","fast_deep_equal_1","normalizeHtml","ContentEditable","_super","lastHtml","innerRef","current","createRef","getEl","emitChange","originalEvt","onChange","evt","_a","tagName","ref","onInput","onBlur","onKeyUp","onKeyDown","contentEditable","dangerouslySetInnerHTML","__html","shouldComponentUpdate","nextProps","componentDidUpdate","createTextNode","appendChild","isTargetFocused","activeElement","nodeValue","sel","getSelection","collapse","removeAllRanges","addRange","focus","replaceCaret","nodeIsDate","isDate","ReactPropTypesSecret","emptyFunction","emptyFunctionWithReset","resetWarningCache","shim","location","propFullName","secret","getShim","ReactPropTypes","any","arrayOf","elementType","instanceOf","objectOf","oneOf","shape","exact","checkPropTypes","build","isValid","clusterWorkerId","generate","seedValue","worker","workerId","newCharacters","_seed_","previousSeconds","seconds","Date","now","random","format","done","loopCounter","pow","randomByte","crypto","msCrypto","getRandomValues","bytes","mask","log","LN2","id","bodyOpenClassName","portalClassName","_createClass","_react","_react2","_interopRequireDefault","_reactDom2","_propTypes2","_ModalPortal2","ariaAppHider","newObj","_interopRequireWildcard","_safeHTMLElement2","_reactLifecyclesCompat","_classCallCheck","_possibleConstructorReturn","ReferenceError","isReact16","createPortal","getCreatePortal","unstable_renderSubtreeIntoContainer","getParentElement","parentSelector","Modal","_Component","_temp","_len","_key","getPrototypeOf","removePortal","unmountComponentAtNode","portalRef","portal","renderPortal","defaultStyles","subClass","superClass","_inherits","prevProps","prevParent","nextParent","_","snapshot","_props","isOpen","closesAt","closeTimeoutMS","beforeClose","closeWithTimeout","content","overlay","htmlOpenClassName","base","afterOpen","overlayClassName","onAfterOpen","onRequestClose","ariaHideApp","shouldFocusAfterRender","shouldCloseOnOverlayClick","shouldReturnFocusAfterClose","aria","role","contentLabel","shouldCloseOnEsc","overlayRef","contentRef","backgroundColor","border","background","WebkitOverflowScrolling","borderRadius","outline","polyfill","_typeof","iterator","focusManager","_scopeTab2","classList","CLASS_NAMES","ariaHiddenInstances","ModalPortal","setOverlayRef","setContentRef","afterClose","_this$props","remove","getElementsByTagName","returnFocus","teardownScopedFocus","popWithoutFocus","onAfterClose","open","beforeOpen","clearTimeout","closeTimer","setState","setupScopedFocus","markForFocusLater","close","closeWithoutTimeout","focusContent","contentHasFocus","handleKeyDown","keyCode","stopPropagation","requestClose","handleOverlayOnClick","shouldClose","ownerHandlesClose","handleContentOnMouseUp","handleOverlayOnMouseDown","preventDefault","handleContentOnClick","handleContentOnMouseDown","shouldBeClosed","buildClassName","which","additional","attributesFromObject","items","acc","moveFromContentToOverlay","prevState","_props2","contentStyles","overlayStyles","onClick","onMouseDown","onMouseUp","testId","handleBlur","handleFocus","focusLaterElements","toFocus","modalElement","attachEvent","detachEvent","_tabbable","_tabbable2","needToFocus","shiftKey","head","tail","checkSafari","ExecutionEnvironment","canUseWorkers","Worker","canUseEventListeners","canUseViewport","screen","dumpClassLists","htmlClassList","docBodyClassList","classString","classListRef","poll","incrementReference","decrementReference","componentWillMount","getDerivedStateFromProps","componentWillReceiveProps","componentWillUpdate","nextState","__reactInternalSnapshotFlag","__reactInternalSnapshot","getSnapshotBeforeUpdate","isReactComponent","foundWillMountName","foundWillReceivePropsName","foundWillUpdateName","UNSAFE_componentWillMount","UNSAFE_componentWillReceiveProps","UNSAFE_componentWillUpdate","newApiName","maybeSnapshot","__suppressDeprecationWarning","propType","matchOperatorsRe","src","copy","_assign","emptyObject","_invariant","f","error","argIndex","framesToPop","MIXINS_KEY","ReactComponent","injectedMixins","ReactClassInterface","mixins","statics","contextTypes","childContextTypes","getDefaultProps","getInitialState","getChildContext","componentDidMount","componentWillUnmount","updateComponent","ReactClassStaticInterface","RESERVED_SPEC_KEYS","mixSpecIntoComponent","createMergedResultFunction","mixStaticSpecIntoComponent","autobind","validateMethodOverride","isAlreadyDefined","specPolicy","ReactClassMixin","spec","autoBindPairs","__reactAutoBindPairs","isReactClassMethod","createChainedFunction","mergeIntoWithNoDuplicateKeys","one","two","bindAutoBindMethod","component","method","IsMountedPreMixin","__isMounted","IsMountedPostMixin","replaceState","newState","enqueueReplaceState","isMounted","ReactClassComponent","context","autoBindKey","bindAutoBindMethods","refs","initialState","methodName","propIsEnumerable","toObject","val","test1","getOwnPropertyNames","test2","fromCharCode","test3","letter","shouldUseNative","from","symbols","to","keyList","hasProp","equal","arrA","arrB","dateA","dateB","getTime","regexpA","regexpB","ALERT","APP_LAUNCHER","APP_LAUNCHER_EXPANDABLE_SECTION","APP_LAUNCHER_TILE","AVATAR","BREADCRUMB","BUILDER_HEADER_MISC","BUILDER_HEADER_NAV","BUILDER_HEADER_NAV_DROPDOWN","BUILDER_HEADER_NAV_LINK","BUILDER_HEADER_TOOLBAR","BUTTON","BUTTON_GROUP","BUTTON_STATEFUL","BUTTON_ICON","COLOR_PICKER","COMBOBOX","DATA_TABLE","DATA_TABLE_CELL","DATA_TABLE_COLUMN","DATA_TABLE_HEAD","DATA_TABLE_ROW_ACTIONS","DATA_TABLE_ROW","DATE_PICKER","CHECKBOX","FORMS_INLINE_EDIT","INPUT","TEXTAREA","SEARCH","GLOBAL_HEADER","GLOBAL_HEADER_FAVORITES","GLOBAL_HEADER_HELP","GLOBAL_HEADER_NOTIFICATIONS","GLOBAL_HEADER_PROFILE","GLOBAL_HEADER_SEARCH","GLOBAL_HEADER_SETUP","GLOBAL_HEADER_TASK","GLOBAL_HEADER_TOOL","GLOBAL_NAVIGATION_BAR_DROPDOWN","GLOBAL_NAVIGATION_BAR_REGION","ICON","LIST","LOOKUP","MENU_DROPDOWN","MENU_DROPDOWN_TRIGGER","MENU_PICKLIST","MODAL","PANEL_FILTER_GROUP","PAGE_HEADER","PAGE_HEADER_CONTROL","POPOVER","POPOVER_TOOLTIP","SETUP_ASSISTANT","SETUP_ASSISTANT_STEP","SCOPED_NOTIFICATION","SPINNER","RADIO","TIME_PICKER","TOAST","TREE","VERTICAL_NAVIGATION","Accordion","currButtonIndex","summaryButtons","generatedId","shortid","buttonIndex","button","btnInArr","Children","child","cloneElement","summaryButton","addSummaryButton","onClickSummary","onKeyDownSummary","checkProps","DIRECTIONS","UNSAFE_DirectionSettings","createContext","Svg","circles","ellipses","groups","getShapes","shapes","getGroups","ellipse","getEllipses","circle","getCircles","getPaths","viewBox","rest","aria-hidden","getSVG","icons","activity","ad_set","adduser","adjust_value","advanced_function","advertising","agent_home","agent_session","aggregation_policy","alert","all","anchor","animal_and_nature","announcement","answer","answered_twice","anywhere_alert","anywhere_chat","apex","apex_plugin","approval","apps","archive","arrow_bottom","arrow_left","arrow_right","arrow_top","arrowdown","arrowup","asset_warranty","assignment","attach","automate","away","back","ban","block_visitor","bold","bookmark","bottom_align","breadcrumbs","broadcast","brush","bucket","bug","builder","bundle_config","bundle_policy","button_choice","calculated_insights","campaign","cancel_file_request","cancel_transfer","capacity_plan","capslock","cart","case","cases","center_align","center_align_text","change_owner","change_record_type","chart","chat","checkin","checkout","chevrondown","chevronleft","chevronright","chevronup","choice","classic_interface","clock","collapse_all","collection_variable","color_swatch","comments","company","component_customization","connected_apps","constant","contact_request","contract","contract_alt","copy_to_clipboard","crossfilter","currency","currency_input","custom_apps","cut","dash","data_mapping","database","datadotcom","date_input","date_time","dayview","delete","description","desktop","desktop_and_phone","desktop_console","dialing","diamond","dislike","display_rich_text","display_text","dock_panel","down","download","drag","drag_and_drop","duration_downscale","dynamic_record_choice","edit","edit_form","education","einstein","email","email_open","emoji","end_call","end_chat","end_messaging_session","engage","enter","erect_window","event_ext","events","expand","expand_all","expand_alt","fallback","favorite","feed","file","filterlist","filter_criteria","filter_criteria_rule","flow","flow_alt","food_and_drink","form","formula","forward","forward_up","freeze_column","frozen","fulfillment_order","full_width_view","global_constant","graph","help","help_center","help_doc_ext","hide_mobile","hierarchy","high_velocity_sales","holiday_operating_hours","home","image","in_app_assistant","inbox","incoming_call","info","info_alt","insert_tag_field","insert_template","inspector_panel","internal_share","italic","jump_to_bottom","jump_to_left","jump_to_right","jump_to_top","justify_text","kanban","key_dates","keyboard_dismiss","keypad","knowledge_base","layers","layout","leave_conference","left_align","left_align_text","level_down","level_up","light_bulb","lightning_extension","lightning_inspector","like","link","linked","list","listen","live_message","location_permit","lock","locker_service_api_viewer","locker_service_console","log_a_call","logout","loop","lower_flag","macros","magicwand","mark_all_as_read","matrix","meet_content_source","meet_focus_content","meet_focus_equal","meet_focus_presenter","meet_present_panel","merge","merge_field","metrics","middle_align","minimize_window","missed_call","money","moneybag","monthlyview","move","multi_picklist","multi_select_checkbox","muted","new","new_direct_message","new_window","news","note","notebook","notification","number_input","office365","offline","offline_briefcase","offline_cached","omni_channel","open_folder","opened_folder","orchestrator","org_chart","outbound_call","outcome","package","package_org","package_org_beta","page","palette","password","paste","pause","pause_alt","payment_gateway","pdf_ext","people","percent","phone_landscape","phone_portrait","photo","picklist","picklist_choice","picklist_type","pin","pinned","planning_poker","play","podcast_webinar","pop_in","power","preview","price_book_entries","price_books","pricing_workspace","print","privately_shared","product_quantity_rules","product_service_campaign","product_service_campaign_item","product_warranty_term","product_workspace","products","profile","promotions","prompt","prompt_edit","propagation_policy","puzzle","question","question_mark","questions_and_answers","quick_text","quotation_marks","radio_button","rating","reassign","recipe","record","record_create","record_delete","record_lookup","record_update","recurring_exception","recycle_bin_empty","recycle_bin_full","redo","refresh","relate","reminder","remove_formatting","remove_link","reply","reply_all","report_issue","reset_password","resource_absence","resource_capacity","resource_territory","restriction_policy","retail_execution","retweet","ribbon","richtextbulletedlist","richtextindent","richtextnumberedlist","richtextoutdent","right_align","right_align_text","rotate","routing_offline","rows","rules","salesforce1","salesforce_page","save","section","send","sentiment_negative","sentiment_neutral","serialized_product","serialized_product_transaction","service_territory_policy","settings","setup","setup_assistant_guide","setup_modal","share","share_file","share_mobile","share_post","shield","shift_pattern","shift_pattern_entry","shift_scheduling_operation","shift_ui","shopping_bag","shortcuts","side_list","signpost","skip","skip_back","skip_forward","slider","smiley_and_people","sms","snippet","sobject","sobject_collection","socialshare","sort_policy","spinner","stage","stage_collection","standard_objects","steps","stop","store","strategy","strikethrough","success","summary","summarydetail","survey","swarm_request","swarm_session","switch","sync","system_and_global_variable","table","table_settings","tablet_landscape","tablet_portrait","tabset","talent_development","target_mode","task","text","text_background_color","text_color","text_template","textarea","textbox","threedots","threedots_vertical","thunder","tile_card_list","toggle","toggle_panel_bottom","toggle_panel_left","toggle_panel_right","toggle_panel_top","top_align","topic","topic2","touch_action","tracker","trail","trailblazer_ext","trailhead","trailhead_alt","trailhead_ext","transparent","travel_and_places","trending","turn_off_notifications","type_tool","undelete","undeprecate","underline","undo","unlinked","unlock","unmuted","up","upload","user","user_role","variable","variation_attribute_setup","variation_products","video","voicemail_drop","volume_high","volume_low","volume_off","waits","warranty_term","watchlist","weeklyview","wellness","wifi","work_forecast","work_order_type","world","yubi_key","zoomin","zoomout","add_contact","add_file","add_photo_video","add_relationship","canvas","clone","defer","dial_in","edit_groups","edit_relationship","follow","following","freeze_user","goal","google_news","join_group","lead_convert","leave_group","log_event","manage_perm_sets","more","new_account","new_campaign","new_case","new_child_case","new_contact","new_custom1","new_custom10","new_custom100","new_custom11","new_custom12","new_custom13","new_custom14","new_custom15","new_custom16","new_custom17","new_custom18","new_custom19","new_custom2","new_custom20","new_custom21","new_custom22","new_custom23","new_custom24","new_custom25","new_custom26","new_custom27","new_custom28","new_custom29","new_custom3","new_custom30","new_custom31","new_custom32","new_custom33","new_custom34","new_custom35","new_custom36","new_custom37","new_custom38","new_custom39","new_custom4","new_custom40","new_custom41","new_custom42","new_custom43","new_custom44","new_custom45","new_custom46","new_custom47","new_custom48","new_custom49","new_custom5","new_custom50","new_custom51","new_custom52","new_custom53","new_custom54","new_custom55","new_custom56","new_custom57","new_custom58","new_custom59","new_custom6","new_custom60","new_custom61","new_custom62","new_custom63","new_custom64","new_custom65","new_custom66","new_custom67","new_custom68","new_custom69","new_custom7","new_custom70","new_custom71","new_custom72","new_custom73","new_custom74","new_custom75","new_custom76","new_custom77","new_custom78","new_custom79","new_custom8","new_custom80","new_custom81","new_custom82","new_custom83","new_custom84","new_custom85","new_custom86","new_custom87","new_custom88","new_custom89","new_custom9","new_custom90","new_custom91","new_custom92","new_custom93","new_custom94","new_custom95","new_custom96","new_custom97","new_custom98","new_custom99","new_event","new_group","new_lead","new_note","new_notebook","new_opportunity","new_person_account","new_task","password_unlock","question_post_action","recall","reject","remove_relationship","script","share_link","share_poll","share_thanks","submit_for_approval","update_status","user_activation","view_relationship","web_link","custom1","custom10","custom100","custom101","custom102","custom103","custom104","custom105","custom106","custom107","custom108","custom109","custom11","custom110","custom111","custom112","custom113","custom12","custom13","custom14","custom15","custom16","custom17","custom18","custom19","custom2","custom20","custom21","custom22","custom23","custom24","custom25","custom26","custom27","custom28","custom29","custom3","custom30","custom31","custom32","custom33","custom34","custom35","custom36","custom37","custom38","custom39","custom4","custom40","custom41","custom42","custom43","custom44","custom45","custom46","custom47","custom48","custom49","custom5","custom50","custom51","custom52","custom53","custom54","custom55","custom56","custom57","custom58","custom59","custom6","custom60","custom61","custom62","custom63","custom64","custom65","custom66","custom67","custom68","custom69","custom7","custom70","custom71","custom72","custom73","custom74","custom75","custom76","custom77","custom78","custom79","custom8","custom80","custom81","custom82","custom83","custom84","custom85","custom86","custom87","custom88","custom89","custom9","custom90","custom91","custom92","custom93","custom94","custom95","custom96","custom97","custom98","custom99","ai","attachment","audio","box_notes","csv","eps","excel","exe","flash","folder","gdoc","gdocs","gform","gpres","gsheet","keynote","library_folder","mp4","pack","pages","pdf","ppt","psd","quip_doc","quip_sheet","quip_slide","rtf","slide","stypi","txt","unknown","visio","webex","word","xml","zip","account","action_list_component","actions_and_buttons","activation_target","activations","address","answer_best","answer_private","answer_public","app","apps_admin","article","asset_action","asset_action_source","asset_downtime_period","asset_object","asset_relationship","asset_state_period","assigned_resource","avatar","avatar_loading","bot","bot_training","branch_merge","brand","business_hours","buyer_account","buyer_group","calibration","call_coaching","call_history","campaign_members","cancel_checkout","care_request_reviewer","carousel","case_change_status","case_comment","case_email","case_log_a_call","case_milestone","case_transcript","case_wrap_up","catalog","category","channel_program_history","channel_program_levels","channel_program_members","channel_programs","client","cms","coaching","code_playground","contact","contact_list","contract_line_item","custom","custom_component_task","custom_notification","customer_360","customer_lifecycle_analytics","customer_portal_users","customers","dashboard","dashboard_ea","data_integration_hub","data_model","data_streams","dataset","decision","delegated_account","device","document_reference","drafts","einstein_replies","email_chatter","employee","employee_asset","employee_contact","employee_job","employee_job_position","employee_organization","empty","endorsement","entitlement","entitlement_policy","entitlement_process","entitlement_template","entity","entity_milestone","environment_hub","expense","expense_report","expense_report_entry","feedback","filiter_criteria_rule","first_non_empty","forecasts","generic_loading","goals","group_loading","guidance_center","household","immunization","individual","insights","instore_locations","investment_account","invocable_action","iot_context","iot_orchestrations","javascript_button","job_family","job_position","job_profile","knowledge","lead","lead_insights","lead_list","letterhead","lightning_component","lightning_usage","list_email","live_chat","live_chat_visitor","logging","maintenance_asset","maintenance_plan","maintenance_work_rule","marketing_actions","medication_ingredient","messaging_conversation","messaging_session","messaging_user","observation_component","omni_supervisor","operating_hours","opportunity","opportunity_contact_role","opportunity_splits","order_item","orders","output","partner_fund_allocation","partner_fund_claim","partner_fund_request","partner_marketing_budget","partners","past_chat","performance","person_account","planogram","portal_roles","portal_roles_and_subordinates","post","practitioner_role","pricebook","procedure","procedure_detail","process_exception","product","product_consumed","product_item","product_item_transaction","product_request","product_request_line_item","product_required","product_transfer","proposition","question_best","question_feed","queue","quotes","read_receipts","recent","record_signature_task","recycle_bin","related_list","relationship","reply_text","report","resource_preference","resource_skill","return_order","return_order_line_item","reward","rtc_presence","sales_cadence","sales_cadence_target","sales_channel","sales_path","sales_value","salesforce_cms","scan_card","schedule_objective","scheduling_constraint","scheduling_policy","segments","selling_model","service_appointment","service_appointment_capacity_usage","service_contract","service_crew","service_crew_member","service_report","service_request","service_request_detail","service_resource","service_territory","service_territory_location","service_territory_member","shift_preference","shift_template","shift_type","shipment","skill","skill_entity","skill_requirement","snippets","social","solution","sossession","store_group","story","task2","team_member","template","thanks","thanks_loading","timesheet","timesheet_entry","timeslot","today","travel_mode","unmatched","visit_templates","visits","visualforce_page","voice_call","webcart","work_capacity_limit","work_capacity_usage","work_contract","work_order","work_order_item","work_plan","work_plan_rule","work_plan_template","work_plan_template_entry","work_queue","work_step","work_step_template","work_type","work_type_group","LanguageDirectionHOC","WrappedComponent","direction","Consumer","getWrappedComponent","UtilityIcon","assistiveText","icon","inlineData","modifiedPath","inlineIcons","action","SLDS_ICONS_ACTION","SLDS_ICONS_CUSTOM","doctype","SLDS_ICONS_DOCTYPE","standard","SLDS_ICONS_STANDARD","utility","SLDS_ICONS_UTILITY","onRequestIconPath","svgAssetName","RTL","iconPath","actionSprite","customSprite","doctypeSprite","standardSprite","utilitySprite","LanguageDirection","ButtonIcon","inverse","hint","documentDefined","Portal","portalNode","unmountPortal","only","renderTo","parentParentNode","getPortalParentNode","renderTag","portalNodeInstance","onMount","ReactDOM","getChildren","setupPortalNode","portalMount","reactElement","domContainerNode","updateCallback","updatePortal","onOpen","onUnmount","EventUtil","trapEvent","nativeEvent","trap","trapImmediate","stopImmediatePropagation","ENTER","ESCAPE","SPACE","LEFT","UP","RIGHT","DOWN","TAB","DELETE","BACKSPACE","findTabbableDescendants","Boolean","ancestor","focusLaterElement","handleScopedKeyDown","KEYS","tabbableElements","findTabbableElement","ElementFocus","focusAncestor","isPortal","pageYOffset","preventScroll","scrollTo","pageXOffset","hasOrAncestorHasFocus","returnFocusToStoredElement","ancestorElement","storeActiveElement","mapPropToPopperPlacement","align","getNubbinClassName","popperData","ROTATED_HEIGHT","sqrt","getNubbinMargins","DISTANCE_OFFSET_PX","ROTATED_HEIGHT_PX","halfWidth","halfHeight","IconSettings","Dialog","triggerPopperJS","offsetString","offsetArray","vertical","horizontal","pointerEvents","propOffsets","getPropOffsetsInPixels","nubbinOffsets","hasNubbin","dialogContent","handleClose","onClose","closeOnTabKey","variant","DOMElementFocus","onRequestTargetElement","hasStaticAlignment","updateState","isEqual","handleOpen","createPopper","destroyPopper","getPopperStyles","inheritWidthOf","outerTag","contents","outsideClickIgnoreClass","contentsClassName","onMouseEnter","onMouseLeave","setDialogContent","containerProps","subRenders","absolute","relative","overflowBoundaryElement","truthyIconSettingsContext","accumulatedContext","wrapped","Provider","LTR","classNamesWrapper","colorVariant","Icon","componentDoc","containerClassName","containerStyle","title","productTheme","IconBackgrounds","label","kababCaseName","tooltipTipLearnMoreIcon","triggerLearnMoreIcon","dialogClassName","hasAnchoredNubbin","hoverCloseDelay","hoverOpenDelay","labels","learnMoreAfter","learnMoreBefore","triggerClassName","triggerStyle","theme","Tooltip","tooltipTimeout","isUnmounting","trigger","triggerRendered","alignment","nubbinContainerStyles","nubbinStyles","triggerDimensions","Fragment","getId","getIsOpen","noChildrenProvided","onClickTrigger","aria-disabled","iconCategory","iconName","handleMouseLeave","onFocus","handleMouseEnter","deprecatedWay","handleCancel","getTooltipTarget","getTooltipContent","containerStyles","display","lineHeight","saveTriggerRef","getAnchoredNubbinStyles","getContent","getTooltip","getAriaProps","prev","substr","getDataProps","formPropsSet","iconSize","responsive","Button","isIcon","iconVariant","iconMore","iconBorder","iconGlobalHeader","showButtonVariant","plainInverseBtn","plainInverseIcon","moreInverseIcon","borderInverseIcon","iconClassName","iconPosition","iconOnly","assistiveTextIcon","ariaProps","dataProps","formProps","getFormProps","getClassName","handleClick","onKeyPress","buttonRef","renderLabel","renderIcon","tooltip","renderButton","renderTooltip","requiredIf","expanded","panelContentActions","onTogglePanel","AccordionPanel","aria-controls","aria-expanded","closeButton","dismissible","heading","headingLink","onClickHeadingLink","Alert","isInitialRender","onDismiss","defaultIcons","clonedIcon","saveButtonRef","AlertContainer","lowPriorityWarning","appRoot","assetsPath","setAssetsPath","getAssetsPath","setAppElement","getAppElement","checkAppElementIsSet","windowDefined","dialogLabel","dialogLabelledBy","contentClassName","contentStyle","directional","disableClose","dismissOnClickOutside","footer","header","headerClassName","tagline","toast","isClosing","handleModalClick","closeModal","dismissModalOnClickOutside","setReturnFocus","updateBodyScroll","findDOMNode","clearBodyScroll","borderRadiusValue","borderTopRadius","borderTopLeftRadius","borderTopRightRadius","borderBottomRadius","borderBottomLeftRadius","borderBottomRightRadius","modalStyle","justifyContent","getBorderRadius","contentStyleFromProps","aria-describedby","aria-label","aria-labelledby","aria-modal","isPrompt","headerComponent","footerComponent","returnFocusTo","dismissModal","hasFooter","footerClass","footerClassNames","headerContent","headerEmpty","closeButtonAssistiveText","zIndex","getModal","AppLauncher","triggerOnClick","returnVal","focusedOnSearch","input","noTruncate","maxWidth","customModalHeader","renderSearch","modalHeaderButton","triggerAssistiveText","aria-haspopup","openAppLauncher","modalClassName","minHeight","closeAppLauncher","triggerName","toggleSection","nonCollapsible","onToggleOpen","ExpandableSection","contentId","buttonAriaProps","titleNode","toggleOpen","AppLauncherExpandableSection","expandableSectionProps","ulChildrenType","ulContent","liClasses","AppLauncherLink","canvasContext","measureWidth","getContext","createDocumentFragment","font","measureText","TextTruncate","scope","line","suffix","textTruncateChild","truncateText","wrapper","scopeWidth","renderText","outputText","currentPos","maxTextLength","truncatedText","splitPos","startPos","displayLine","lastIsEng","lastSpaceIndex","ext","extraWidthDueToPrefixStyle","lastWidth","getRenderText","onResize","dragIconText","descriptionHeading","iconBackgroundColor","iconNode","iconText","isOpenTooltip","moreLabel","AppLauncherTile","iconStyles","letterSpacing","imgAlt","imgSrc","initials","Avatar","imgLoadError","nameParts","alt","onError","handleImageError","iconAssistiveText","buildInitials","renderBaseAvatar","renderInitialsAvatar","renderIconAvatar","Badge","iconAlignment","color","BrandBand","styleContainer","injectLightningBlueStyles","backgroundSize","isNodeFound","componentNode","ignoreClass","correspondingElement","passiveEventSupport","handlersMap","enabledInstances","touchEvents","getEventHandlerOptions","eventName","handlerOptions","config","_class","onClickOutside","__outsideClickHandler","__clickOutsideHandlerProp","getInstance","handleClickOutside","__getComponentNode","setClickOutsideRef","enableOnClickOutside","_uid","noop","testPassiveEventSupport","eventTypes","excludeScrollbar","clientX","clientY","findHighest","disableOnClickOutside","getRef","instanceRef","_proto","excluded","sourceKeys","sourceSymbolKeys","wrappedRef","getClass","ListItemLabel","inverted","isSelected","ListItem","Label","labelRenderer","checkmark","getIcon","classnames","iconProps","onSelect","handleMouseDown","itemContents","aria-checked","data-index","getLabel","tooltipContent","tooltipTemplate","tooltipTemplateProps","tooltipProps","aria-selected","leftIcon","rightIcon","ListItemLabelRenderer","List","lengthClassName","triggerId","option","getListItemId","isSingleSelected","selectedIndex","isMultipleSelected","selectedIndices","itemRenderer","listItem","itemRefs","tooltipMenuItem","Trigger","isInline","menu","triggerRef","deprecatedPropsFromMenuDropdown","openOn","propsFromGrandchildButton","KeyBuffer","timeout","keyboardNavigate","focusedIndex","componentContext","currentFocusedIndex","navigableItems","indexes","lastIndex","ch","openMenuKeys","navigableIndex","pattern","keyBuffer","consecutive","escapeRegExp","currentOpenDropdown","getNavigableItems","itemIsSelectable","DropdownToDialogNubbinMapping","buttonClassName","buttonInverse","buttonVariant","listItemRenderer","menuPosition","menuStyle","nubbinPosition","multiple","MenuDropdown","foundIndex","menuItemId","menuId","isHover","listItems","getIndexByValue","triggerContainer","handleKeyboardFocus","handleOpenForHover","handleCloseForHover","setFocus","currentIndices","deselectIndex","currentSelected","getValueByIndex","optionIndex","handleKeyboardNavigate","handleSelect","componentRef","getMenu","menuItem","getMenuItem","getElementById","focusMenuItem","scrollToMenuItem","menuHeight","menuTop","menuItemTop","offsetTop","menuBottom","menuItemBottom","customListProps","saveRefToListItem","getListItemRenderer","onCancel","saveRefToList","customContent","customContentWithListPropInjection","renderDefaultMenuContent","clonedCustomContent","handleClickCustomContent","positionClassName","positions","menuStylesBase","inheritTargetWidth","renderMenuContent","currentSelectedIndices","getCurrentSelectedIndices","renderOverlay","CurrentTrigger","DefaultTrigger","CustomTriggerChildProps","renderDialog","saveRefToTriggerContainer","saveRefToTrigger","overflowDropdownMenu","Breadcrumb","overflowDropdownMenuProps","getBreadcrumbDropdown","crumb","backIcon","helpIcon","onClickBack","onClickHelp","pageType","BuilderHeader","nav","toolbar","misc","BuilderHeaderMisc","BuilderHeaderNav","BuilderHeaderNavDropdown","BuilderHeaderNavLink","actions","onRenderActions","BuilderHeaderToolbar","classNameContainer","ButtonGroup","zeroIndexLength","newChild","cloneProps","active","stateOne","stateTwo","stateThree","ButtonStateful","currentTarget","blur","defaultIconProps","isActive","cssClasses","MediaObject","verticalCenter","canTruncate","figure","renderFilter","clonedFilter","CardHeader","Header","headingId","hasFilter","filterId","headerActionsId","headerActions","CardBody","CardFooter","CardEmpty","idSuffixes","Card","bodyId","hasNoHeader","bodyClassName","InputIcon","variants","combobox","hasContainer","isDelayed","isInput","Spinner","spinnerClassName","COUNTER","autoComplete","fixedTextLeft","fixedTextRight","hasSpinner","iconLeft","iconRight","inputRef","isStatic","onInvalid","onSubmit","placeholder","minLength","minValue","maxLength","maxValue","readOnly","required","InnerInput","inlineEditTrigger","htmlFor","labelText","static","helpers","removeUndefined","fieldLevelHelpTooltip","FieldLevelHelpTooltip","objectHelpers","DECREMENT","INCREMENT","decrement","increment","Input","generatedErrorId","Number","getValueAsNumber","performStep","stopStepping","iconPositionProp","deprecatedProps","onIconClick","stepping","valueChanged","decimalPlaces","minOverflow","toFixed","forceUpdate","currentDelay","speedDelay","initialDelay","errorText","setInputRef","hasRenderedLabel","getIconRender","getCounterButtonIcon","fieldLevelHelpButton","aria-activedescendant","aria-autocomplete","getErrorId","aria-owns","aria-required","handleChange","styleInput","inlineHelpText","Filter","CarouselIndicators","currentIndex","hasFocus","noOfIndicators","isSelectedPanel","indicatorActionClassName","startItemIndex","itemsPerPanel","autoIndicatorText","margin","carouselId","getPanelId","itemId","previousNextCarouselNavigator","inlineStyle","isDisabled","CarouselItem","panelIndex","itemWidth","onRenderItem","isInCurrentPanel","imageAssistiveText","buttonLabel","AutoplayButton","isAutoplayOn","Carousel","next","getCurrentPanel","nrOfPanels","setCurrentPanel","changeTranslationAutomatically","indicatorsHaveFocus","panel","getIsAutoplayOn","stopAutoplay","onRequestAutoplayToggle","actionToTake","startAutoplay","stageItem","stageWidth","amount","cb","translateX","onRequestPanelChange","currentPanel","requestedPanel","autoplayId","setInterval","canGoToNext","onNextPanelHandler","isInfinite","autoplayInterval","ignoreCallbacksAndStateUpdates","clearInterval","setTranslationAmount","keyDownCallbacks","canGoToPrevious","onPreviousPanelHandler","ceil","hasAutoplay","setDimensions","mountAutoplayEvent","updateAutoplayEvent","unmountAutoplayEvent","hasPreviousNextPanelNavigation","isPreviousBtnDisabled","isNextBtnDisabled","carouselMargins","autoplayButton","onAutoplayBtnClick","previousPanel","onItemClick","nextPanel","onIndicatorBlur","onIndicatorClickHandler","onIndicatorFocus","checked","defaultChecked","indeterminate","toggleDisabled","toggleEnabled","coverable","onRenderVisualPicker","onRenderVisualPickerSelected","onRenderVisualPickerNotSelected","Checkbox","idArray","oldEventParameterOrder","getAriaDescribedBy","labelId","aria-live","renderBaseVariant","renderButtonGroupVariant","renderToggleVariant","renderVisualPickerVariant","CustomColorForm","describedBy","errorTextWorkingColor","errors","hex","hexLabel","onHexChange","red","redAbbreviated","onRedChange","rgb","green","greenAbbreviated","onGreenChange","blue","blueAbbreviated","onBlueChange","errorId","RadioGroup","generatedName","hasError","getName","RadioButtonGroup","Swatch","innerStyle","backgroundImage","swatchTabTransparentSwatch","Radio","preventDuplicateChangeEvent","radio","deselectable","charCode","COLOR_NAMES","aliceblue","antiquewhite","aqua","aquamarine","azure","beige","bisque","black","blanchedalmond","blueviolet","brown","burlywood","cadetblue","chartreuse","chocolate","coral","cornflowerblue","cornsilk","crimson","cyan","darkblue","darkcyan","darkgoldenrod","darkgray","darkgreen","darkkhaki","darkmagenta","darkolivegreen","darkorange","darkorchid","darkred","darksalmon","darkseagreen","darkslateblue","darkslategray","darkturquoise","darkviolet","deeppink","deepskyblue","dimgray","dodgerblue","firebrick","floralwhite","forestgreen","fuchsia","gainsboro","ghostwhite","gold","goldenrod","gray","greenyellow","honeydew","hotpink","indianred","indigo","ivory","khaki","lavender","lavenderblush","lawngreen","lemonchiffon","lightblue","lightcoral","lightcyan","lightgoldenrodyellow","lightgrey","lightgreen","lightpink","lightsalmon","lightseagreen","lightskyblue","lightslategray","lightsteelblue","lightyellow","lime","limegreen","linen","magenta","maroon","mediumaquamarine","mediumblue","mediumorchid","mediumpurple","mediumseagreen","mediumslateblue","mediumspringgreen","mediumturquoise","mediumvioletred","midnightblue","mintcream","mistyrose","moccasin","navajowhite","navy","oldlace","olive","olivedrab","orange","orangered","orchid","palegoldenrod","palegreen","paleturquoise","palevioletred","papayawhip","peachpuff","peru","pink","plum","powderblue","purple","rebeccapurple","rosybrown","royalblue","saddlebrown","salmon","sandybrown","seagreen","seashell","sienna","silver","skyblue","slateblue","slategray","snow","springgreen","steelblue","tan","teal","thistle","tomato","turquoise","violet","wheat","white","whitesmoke","yellow","yellowgreen","HEX_REGEX","ColorUtils","getNewColor","customHexValidator","oldColor","isValidHex","hsv","hue","saturation","returnColor","getHsvFromHex","getRgbFromHex","getRgbErrors","includes","getHexFromRgb","getHsvFromRgb","getHexFromHsv","getRgbFromHsv","getDeltaColor","limitValue","toSixDigitHex","keyValue","getHexFromNamedColor","redRatio","greenRatio","blueRatio","delta","hueRatio","satRatio","valRatio","q","getHex","selectedStyle","boxShadow","unselectedStyle","HsvColor","isTransparentSelected","onSwatchChange","swatchStyle","isTransparent","transparentSwatchStyle","fallbackWorkingColor","previousColor","workingColor","saturationValueGrid","rangeIndicator","onSaturationValueChange","aria-atomic","onSaturationNavigate","onValueNavigate","multiplier","hueSlider","onHueChange","handleSwatchChange","customTabActiveWorkingColorSwatch","customTabTransparentSwatch","CustomColor","invalidColor","invalidComponent","selectedInnerStyle","SwatchOption","swatchOptionRef","SwatchPicker","swatchColors","nextIndex","prevColor","swatchColorRefs","prevIndex","nextColor","selectNextColor","selectPreviousColor","isSelectedColorInSwatch","addRef","TabsList","aria-orientation","Tab","selected","checkFocus","panelId","activeTabClassName","disabledTabClassName","withErrorIcon","TabPanel","tabId","isTabDisabled","defaultSelectedIndex","Tabs","isTabFromContainer","setSelected","getSelectedIndex","getPrevTab","getNextTab","tabs","flavor","getVariant","getTabsCount","getTab","isInteger","tab","shouldContinue","isTabNode","nodeAncestor","tabsNode","parentId","toArray","data-tabs","renderTabsList","renderTabPanels","Panel","KeyboardNavigableDialog","eventTarget","internalHandleClick","currentOpenPopover","hasNoCloseButton","hasNoNubbin","Popover","dialog","inputRendered","triggerOnClickCallback","keyboardNavigableDialog","targetTarget","toggleOpenFromKeyboard","hasThemedHeader","hasDefinedHeader","headerIcon","headerVariants","ariaLabelledby","themed","classNameBody","borderBottom","textAlign","stepText","classNameFooter","footerClassName","footerStyle","footerWalkthroughActions","handleDialogClose","getTargetElement","setMenuRef","otherChildren","clonedTrigger","hasNoTriggerStyles","setContainerRef","classNameMenu","onRequestOpen","onValidateColor","onValidateWorkingColor","onWorkingColorChange","hideInput","cancelButton","customTab","swatchTab","submitButton","defaultSelectedTab","valueWorking","ColorPicker","setWorkingColor","handleCancelState","handleCancelButtonClick","currentColor","previousWorkingColor","namedColorHex","colorErrorMessage","handleHexInputChange","handleSwatchSelect","handleColorChange","handleSaturationValueChange","handleNavigate","popoverBody","getDefaultTab","getCustomTab","popoverFooter","handleSubmitButtonClick","handleOnRequestClose","handleSwatchButtonClick","newColor","colorProperties","getPopover","getInput","activeOption","activeOptionIndex","classNameMenuSubHeader","inputId","itemVisibleLength","noOptionsFound","onRenderMenuItem","menuRef","resetActiveOption","selection","hasMenuSpinner","optionsAddItem","optionsSearchEntity","tooltipMenuItemDisabled","setBold","searchTerm","labelProp","Menu","menuOptions","localOptionsSearchEntity","localOptionsAddItem","getOptions","optionData","MenuItem","inputValue","disabledProps","tooltipId","cursor","subTitle","checkbox","optionSelectedInMenu","userDefinedTooltipProps","silenceTriggerTabbableWarning","loadingMenuItems","mapKeyEventCallbacks","callbacks","shiftCallbacks","bare","removeTitle","onRemove","Pill","defaultPrevented","getHref","restProps","handleRef","renderRemoveIcon","eventData","onRequestFocus","onRequestFocusOnNextPill","onRequestFocusOnPreviousPill","onRequestRemove","requestFocus","handleClickRemove","$$typeof","removePill","selectedListboxLabel","onClickPill","onPillFocus","isBare","isPillContainer","listboxAriaOrientation","listboxRole","containerAriaOrientation","containerRole","renderAtSelectionLength","selectedListboxRef","listboxHasFocus","SelectedListBox","renderIndex","hasTabIndex","iconObject","avatarObject","getAvatar","onBlurPill","removePillTitle","keyLetterMenuItemSelect","itemLabel","menuItemSelectScroll","container","itemTag","scrollPadding","domItem","popoverLabel","removeSingleSelectedOption","onRequestRemoveSelectedOption","hasInputSpinner","multipleOptionsSelected","placeholderReadOnly","menuMaxWidth","boolean","menuItemVisibleLength","predefinedOptionsOnly","popover","singleInputDisabled","entityCombobox","doneButton","optionDisabledTooltipLabel","Combobox","defaultPopoverProps","popoverProps","newIndex","localProps","handleRequestClose","requestOpenMenu","getIsActiveOption","handleKeyDownDown","handleInputSubmit","handleKeyDownUp","handleKeyDownTab","handleKeyDownOther","openDialog","handleNavigateListboxMenu","menuKeyBuffer","previous","getNewActiveOptionIndex","isLastOptionAndRightIsPressed","activeSelectedOptionIndex","isFirstOptionAndLeftIsPressed","activeSelectedOption","onlyOnePillAndInputExists","isReadOnlyAndTwoPillsExists","lastPillWasRemoved","activeSelectedOptionRef","newSelection","singleSelectAndSelectedWasNotClicked","multiSelectAndSelectedWasNotClicked","userDefinedProps","inputIconTitle","handleInputFocus","handleInputBlur","handleInputChange","getDialog","menuRenderer","renderMenu","handleBlurPill","handlePillFocus","handleRequestFocusSelectedListbox","handleNavigateSelectedListbox","handleRemoveSelectedOption","setSelectedListboxRef","readonlyItemVisibleLength","clearActiveOption","readonly","getCustomPopoverProps","subRenderParameters","multipleOrSingle","renderBase","single","renderInlineMultiple","renderInlineSingle","renderPopover","renderReadOnlyMultiple","renderReadOnlySingle","variantExists","mainCombobox","limit","inputValueRegExp","searchTermFoundInLabel","searchTermFoundInSubtitle","isSeparator","notAlreadySelected","DataTableCell","childText","fixedLayout","cell","data-label","headers","headerId","primaryColumn","DataTableColumn","isDefaultSortDescending","isSorted","sortable","sortDirection","truncate","CellFixed","flexDirection","flexWrap","DataTableHeaderCell","onSort","fixedHeader","labelType","ariaSort","fixedLayoutSubRenders","handleSort","assistiveTextForColumnSort","columnSort","assistiveTextForColumnSortedAscending","columnSortedAscending","assistiveTextForColumnSortedDescending","columnSortedDescending","notSortable","headerCellContent","aria-sort","cellRef","paddingBottom","paddingTop","visibility","alignItems","flex","actionsHeader","selectAllRows","selectRow","DataTableHead","showRowActions","headerRefs","canSelectRows","idSuffix","ariaHidden","selectRowGroup","allSelected","indeterminateSelected","onToggleAll","selectHeader","getActionsHeader","getSelectHeader","columns","column","Cell","DataTableRow","onToggle","rowActions","tableId","handleToggle","cellId","rowHeader","DataTableRowActions","onAction","dropdown","defaultDropdownProps","noHint","dropdownProps","loadingMore","hasMore","loadMoreOffset","DataTable","onRowChange","selectRows","select","onFixedHeaderResize","scrollerRef","documentScrollLeft","columnLeft","wrapperLeft","cellFixed","onLoadMore","scrollHeight","onToggleFixedHeaderListeners","resizeHandler","resizeFixedHeaders","onScrollerScroll","toggleFixedHeaderListeners","numRows","numSelected","numNonHeaderRows","RowActions","columnProps","dataTableProps","dropdownPropOverrides","assistiveTextForActionsHeader","assistiveTextForSelectAllRows","assistiveTextForSelectRow","unborderedRow","unbufferedCell","stackedHorizontal","striped","columnBordered","noRowHover","handleToggleAll","rowId","onRenderSubHeadingRow","classNameRow","handleRowToggle","borderTop","joined","borderLeft","borderRight","onScroll","containerScrollLeft","DataTableHighlightCell","DateUtil","firstDayOfMonth","date","newDate","setDate","isFirstDayOfMonth","getDate","isLastDayOfMonth","isSameMonth","addDays","d1","d2","getFullYear","getMonth","isSameDay","isCurrentMonth","isToday","deltaDays","addWeeks","deltaWeeks","nearestWeekDay","weekDayIndex","getDay","isLeapYear","year","getDaysInMonth","month","addMonths","dateOfNewDate","setMonth","DatepickerCalendarDay","initialDateForCalendarRender","isSelectedDay","selectedDate","onSelectDate","onCalendarBlur","onKeyboardNavigateToPreviousDay","onKeyboardNavigateToNextDay","onKeyboardNavigateToPreviousWeek","onKeyboardNavigateToNextWeek","shiftKeyDownCallbacks","selectedDateRef","calendarHasFocus","focusedDate","onRequestInternalFocusDate","todayLabel","DatepickerWeek","days","firstDayOfWeek","dateDisabled","DatepickerCalendar","todayFocus","triggerCallback","prevDate","onChangeMonth","nextDate","firstDayOfWeekOffset","isIsoWeekday","prevWeek","weeks","monthIndex","handleKeyboardNavigateToPreviousDay","handleKeyboardNavigateToNextDay","handleKeyboardNavigateToPreviousWeek","handleKeyboardNavigateToNextWeek","handleSelectDate","extraWeeks","setCalendarRenderSeedDate","sunday","weekDayLabels","abbreviatedWeekDayLabels","renderWeeks","colSpan","onLastFocusableNodeKeyDown","todayRef","DatepickerYearSelector","fromYear","relativeYearFrom","toYear","relativeYearTo","opts","selectedYear","selectedValue","setFullYear","getSelectedValueOption","assistiveTextYear","DatepickerMonthNavigation","monthLabels","assistiveTextPreviousMonth","onPreviousMonthKeyDown","previousMonthClicked","previousMonthRef","getMonthLabel","getYearLabel","assistiveTextNextMonth","nextMonthClicked","handleYearSelect","DatepickerCalendarWrapper","onCalendarFocus","canFocusCalendar","modifiedData","isolated","data-selection","handleInitialDateForCalendarRenderChange","handleFirstFocusableNodeKeyDown","handleCalendarBlur","handleRequestFocusDate","handleLastFocusableNodeKeyDown","nextMonth","openCalendar","previousMonth","formatter","formattedValue","abbreviatedWeekDays","months","weekDays","parser","Datepicker","parseDate","abbrWeekDayLabels","isOpenFromIcon","handleCalendarChange","selectedDateCell","getDatePicker","defaultInputProps","assistiveTextOpenCalendar","openDialogFromIcon","topLevelDeprecatedComponentProps","childrenProps","childrenPropInputProps","inputRenderProps","formattedDate","timezoneOffset","getTimezoneOffset","onDateChange","isRequestFromIcon","parsedDate","strValue","dateString","initDate","inputProps","getInputProps","inputToRender","isPaused","scorePolarity","strengthLevel","trendDirection","DynamicIcon","defaultAssistiveText","cx","cy","getIconChildren","unshift","cancel","EditDialog","onSave","verticalAlign","isModified","addCondition","addGroup","onChangeTrigger","onChangeCustomLogicValue","onAddCondition","onAddGroup","focusOnMount","customLogic","takeAction","triggerAll","triggerAlways","triggerAny","triggerCustom","triggerFormula","isRoot","triggerType","customLogicValue","ExpressionGroup","rootNode","Triggers","getTriggers","triggerCombobox","triggerChange","getTriggerSelection","buttons","Expression","deleteIcon","onChangeResource","onChangeOperator","onChangeValue","onDelete","deleteCondition","operator","resource","isSubCondition","resourcesList","resourceSelected","operatorsList","operatorSelected","ExpressionCondition","onChangeTextEditor","onClickCheckSyntax","checkSyntax","textArea","resourceCombobox","functionCombobox","operatorInput","textEditorValue","ExpressionFormula","textEditorRef","handleTextEditorChange","FileFigure","isLoading","loading","FileActions","onClickDownload","hasNoVisibleTitle","moreActionsDropdown","moreActions","crop","onClickImage","externalIcon","File","injectMoreActionsStyles","columnClassName","Files","files","MoreFiles","popoverIsOpen","editFilterHeading","editFilter","assistiveTextEditFilter","assistiveTextEditFilterHeading","removeFilter","assistiveTextRemoveFilter","isLocked","isNew","isError","silenceDeprecatedPropertyWarning","handleFilterClick","isPermanent","handleRemove","skipToNav","skipToContent","logoSrc","GlobalHeader","onSkipToContent","onSkipToNav","handleSkipToNav","skipToNavAssistiveText","handleSkipToContent","skipToContentAssistiveText","actionItem","navigation","GlobalHeaderButton","btn","GlobalHeaderDropdownTrigger","globalAction","renderAvatar","positioned","GlobalHeaderDropdown","iconVariantOverride","actionDisabled","actionSelected","onToggleActionSelected","GlobalHeaderFavorites","actionAriaProps","toggleActionSelected","triggerButton","GlobalHeaderHelp","newNotificationsAfter","newNotificationsBefore","noNotifications","notificationCount","GlobalHeaderNotifications","notificationsAssistiveText","GlobalHeaderProfile","userName","GlobalHeaderSearch","GlobalHeaderSetup","dropdownChildren","GlobalHeaderTask","GlobalNavigationBar","primaryRegion","tertiaryRegion","secondaryRegions","cloud","region","GlobalNavigationButton","dividerPosition","GlobalNavigationDropdownTrigger","activeBackgroundColor","listItemstyle","hoverBackgroundColor","colors","borderBottomColor","GlobalNavigationBarDropdown","GlobalNavigationBarLabel","GlobalNavigationBarLink","activeDescriptor","Region","dividerClass","renderPrimary","renderSecondary","renderTertiary","Illustration","illustration","messageBody","illustrationSvg","xlinkHref","internalIllustration","onEnterEditMode","onLeaveEditMode","InlineEdit","willSave","isEditing","saveEdits","endEditMode","autoFocus","inputNode","triggerEditMode","handleKeyUp","Search","clearable","onClear","onSearch","defaultLocation","locations","onClickLocation","googleAPIKey","LocationMap","encodeURIComponent","aria-pressed","DefaultHeader","DefaultFooter","newItemLabel","DefaultSectionDivider","handleItemFocus","listItemLabelRenderer","Item","scrollFocus","iconInverse","labelClassName","itemRef","itemClassName","li","getCustomLabel","boldRegex","emptyMessage","filterWith","focusIndex","getListLength","listLength","itemIndex","itemHeight","listRef","filteredItems","nextItem","filterEmptySections","renderItems","sectionDividerRenderer","SectionDivider","sectionDivider","renderHeader","renderContent","renderFooter","normalizeSearchTerm","Lookup","currentFocus","selectedItem","nextFocusIndex","filteredItem","menuComponent","getFilteredItemForIndex","headerRenderer","headerActive","Footer","footerRenderer","numFocusable","getNumFocusableItems","footerActive","qty","prevFocusIndex","selectItemByIndex","focusInput","onUnselect","handleEscape","setFirstIndex","increaseIndex","decreaseIndex","selectItem","handleDeleteSelected","focusOnRender","itemsToModify","getFooter","getHeader","hasStaticAlignement","flippable","constrainToScrollParent","describedById","inputRefId","pill","pills","handlePillKeyDown","modifyItems","newProps","modal","formElementControlClasses","data-select","data-scope","renderSelectedItem","renderInput","renderInlineMenu","renderSeparateMenu","term","MenuPicklist","onPillRemove","initValueIndex","currentPillLabel","closeOnClick","currentSelectedIndex","getClickEventName","isTrigger","maxHeight","minWidth","renderTrigger","renderPills","selectedPills","selectedPill","pillLabel","newData","orientation","requiredElem","ModalTrigger","cfg","componentIsDeprecated","comp","data-id","url","categoryId","aria-current","VerticalNavigation","selectedId","categories","rootId","getSelectedId","duration","texture","Notification","dismissBtnRef","dismissBtn","renderClose","renderToastContent","renderAlertContent","alertStyles","blankContent","Info","Title","DetailBlock","showTooltip","renderFieldTruncation","labelClasses","field","fieldContentRef","fieldContent","scrollWidth","renderContentWithTooltip","details","DetailRow","detail","renderDetails","Controls","controls","isUsingLegacyProp","legacyControls","vettedControls","contentRight","onRenderControls","navRight","Base","iconClasses","RecordHome","nameSwitcherDropdown","ObjectHome","comntentRight","RelatedList","PageHeader","Variant","Control","PanelFilterFooter","addFilterLabel","onClickAdd","onClickRemoveAll","removeAllLabel","PanelFilterHeader","cancelLabel","modified","onRequestCancel","onRequestSave","saveLabel","PanelFilterGroup","errorLabel","assistiveTextCloseFilterPanel","PanelFilterList","clonedChild","PanelFilterListHeading","lockedHeading","listboxLabel","onRequestRemovePill","PillContainer","preserveFocus","resetActiveSelectedOption","handleClickPill","handleRequestFocusPillContainer","handleNavigatePillContainer","handleRequestRemove","progress","complete","radius","thickness","ProgressBar","getDescription","aria-valuemin","aria-valuemax","aria-valuenow","aria-valuetext","completedStep","disabledStep","percentage","isCompleted","tooltipIsOpen","tooltipPosition","Step","status","errorStep","buttonIcon","Progress","StepVertical","onRenderSetupAssistantAction","setupAssistantEstimatedTime","stepIcon","renderStepContent","completedSteps","disabledSteps","errorSteps","onStepClick","onStepFocus","selectedStep","tooltipIsOpenSteps","defaultSteps","findStep","itemsArray","arrayItem","JSON","stringify","ProgressIndicator","isStepsDefined","stepLabelsDefined","every","allSteps","getSteps","currentStep","StepComponent","fillPercentDecimal","flowDirection","ProgressRingShape","isLong","arcX","arcY","fillPercent","progressStyles","cos","PI","sin","THEME_OPTIONS","freeze","ACTIVE","WARNING","EXPIRED","COMPLETE","THEME_CLASSES","hasIcon","ProgressRing","themeClass","percentDecimal","ScopedNotification","isCard","onStepToggleIsOpen","progressBar","SetupAssistant","onToggleIsOpen","stepNumber","expandStep","estimatedTime","isExpandable","onRenderAction","onRenderContent","onRenderFigure","toggleIsOpen","progressRingTheme","renderMediaContent","renderSummary","Slider","handleInput","propsTypes","toggleButtonOpen","toggleButtonClose","ariaControls","SplitViewToggleButton","toggleAssistiveText","master","masterWidth","SplitView","getMasterViewId","SplitViewHeader","topRightText","bottomLeftText","bottomRightText","SplitViewListItemContent","unreadItem","isFocused","isUnread","listItemRef","listItemWithContent","ListItemContent","ListItemWithContent","unread","SORT_OPTIONS","sortedBy","descending","ascending","SplitViewListbox","listItemComponents","currentSelectedItem","currentFocusedListItem","focusFirstItem","ctrlKey","eventUtil","deselectAllListItems","selectAllListItems","moveToPreviousItem","moveToNextItem","moveToIndex","previousFocusIndex","focusItem","firstSelectedItem","setDataOnly","selectedItems","metaKey","begin","addToSelection","selectListItem","headerWrapper","addListItemComponent","isListItemFocused","meta","handleOnSelect","aria-multiselectable","Textarea","textareaRef","wrap","assistiveTextLabel","TimepickerDropdownTrigger","baseDate","setHours","setMinutes","setSeconds","setMilliseconds","curDate","formatted","getMinutes","stepInMinutes","Timepicker","toLocaleTimeString","language","hour","minute","timeStr","dateStr","toLocaleString","day","Toast","assistiveTextVariant","saveToastRef","ToastContainer","fromFocus","treeIndex","focusedNodeIndex","flattenedNode","flattenedNodes","nodes","clearSelectedNodes","onExpand","handleKeyDownLeft","handleKeyDownEnter","getTabIndex","initialFocus","selectedNodeIndexes","treeId","aria-level","level","treeHasFocus","onNodeBlur","htmlId","initalClassName","initialStyle","renderInitialNode","handleScroll","handleExpand","getNodes","handleKeyDownRight","RenderBranch","isExpanded","loader","paddingLeft","Branch","RenderInitialBranch","initial","listClassName","onExpandClick","listStyle","flattenTree","firstLevel","curNode","Tree","selectedNode","headingText","handleNodeBlur","timeLeft","timeLeftUnit","timeLeftUnitAfter","TrialBar","TrialBarButton","TrialBarDropdown","links","VisualPicker","VisualPickerLink","unitsCompletedAfter","onRenderInfoActions","infoBadge","doNotShowAgainCheckbox","WelcomeMat","totalSteps","getCount","isComplete","splash","completed","onCompleteRenderActions","InfoBadge","getCompletedText","completedIcon","Tile","addSubheadings","subheadings","filteredOptions","subheadingsCopy","sortedOptions","noSubHeaderType","subH","customLog"],"mappings":"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AG,IAAI7hI,EAAE,MACzB,4BAAQ4hI,GAAG,KAAKC,GAAG,IAAI7hI,EAAE,MACzB,4BAAQ4hI,GAAG,KAAKC,GAAG,IAAI7hI,EAAE,MACzB,4BAAQ4hI,GAAG,KAAKC,GAAG,IAAI7hI,EAAE,MACzB,4BAAQ4hI,GAAG,KAAKC,GAAG,IAAI7hI,EAAE,MACzB,4BAAQ4hI,GAAG,KAAKC,GAAG,IAAI7hI,EAAE,MACzB,4BAAQ4hI,GAAG,KAAKC,GAAG,IAAI7hI,EAAE,MACzB,4BAAQ4hI,GAAG,KAAKC,GAAG,IAAI7hI,EAAE,MACzB,4BAAQ4hI,GAAG,KAAKC,GAAG,IAAI7hI,EAAE,MACzB,4BAAQ4hI,GAAG,KAAKC,GAAG,IAAI7hI,EAAE,MACzB,4BAAQ4hI,GAAG,MAAMC,GAAG,IAAI7hI,EAAE,MAC1B,4BAAQ4hI,GAAG,MAAMC,GAAG,IAAI7hI,EAAE,MAC1B,4BAAQ4hI,GAAG,MAAMC,GAAG,IAAI7hI,EAAE,MAC1B,4BAAQ4hI,GAAG,MAAMC,GAAG,IAAI7hI,EAAE,MAC1B,4BAAQ4hI,GAAG,MAAMC,GAAG,IAAI7hI,EAAE,MAC1B,4BAAQ4hI,GAAG,MAAMC,GAAG,IAAI7hI,EAAE,MAC1B,4BAAQ4hI,GAAG,MAAMC,GAAG,IAAI7hI,EAAE,MAC1B,4BAAQ4hI,GAAG,MAAMC,GAAG,IAAI7hI,EAAE,MAC1B,4BAAQ4hI,GAAG,MAAMC,GAAG,IAAI7hI,EAAE,MAC1B,4BAAQ4hI,GAAG,MAAMC,GAAG,IAAI7hI,EAAE,MAC1B,4BAAQ4hI,GAAG,MAAMC,GAAG,IAAI7hI,EAAE,MAC1B,4BAAQ4hI,GAAG,MAAMC,GAAG,IAAI7hI,EAAE,MAC1B,4BAAQ4hI,GAAG,MAAMC,GAAG,IAAI7hI,EAAE,MAC1B,4BAAQ4hI,GAAG,MAAMC,GAAG,IAAI7hI,EAAE,MAC1B,4BAAQ4hI,GAAG,MAAMC,GAAG,IAAI7hI,EAAE,MAC1B,4BAAQ4hI,GAAG,MAAMC,GAAG,IAAI7hI,EAAE,MAC1B,4BAAQ4hI,GAAG,MAAMC,GAAG,IAAI7hI,EAAE,MAC1B,4BAAQ4hI,GAAG,MAAMC,GAAG,IAAI7hI,E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","file":"design-system-react.min.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"react\"), require(\"react-dom\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"react\", \"react-dom\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"design-system-react\"] = factory(require(\"react\"), require(\"react-dom\"));\n\telse\n\t\troot[\"design-system-react\"] = factory(root[\"React\"], root[\"ReactDOM\"]);\n})(window, function(__WEBPACK_EXTERNAL_MODULE__1__, __WEBPACK_EXTERNAL_MODULE__6__) {\nreturn "," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"/\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 60);\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nif (process.env.NODE_ENV !== 'production') {\n var ReactIs = require('react-is');\n\n // By explicitly using `prop-types` you are opting into new development behavior.\n // http://fb.me/prop-types-in-prod\n var throwOnDirectAccess = true;\n module.exports = require('./factoryWithTypeCheckers')(ReactIs.isElement, throwOnDirectAccess);\n} else {\n // By explicitly using `prop-types` you are opting into new production behavior.\n // http://fb.me/prop-types-in-prod\n module.exports = require('./factoryWithThrowingShims')();\n}\n","module.exports = __WEBPACK_EXTERNAL_MODULE__1__;","/*!\n Copyright (c) 2017 Jed Watson.\n Licensed under the MIT License (MIT), see\n http://jedwatson.github.io/classnames\n*/\n/* global define */\n\n(function () {\n\t'use strict';\n\n\tvar hasOwn = {}.hasOwnProperty;\n\n\tfunction classNames () {\n\t\tvar classes = [];\n\n\t\tfor (var i = 0; i < arguments.length; i++) {\n\t\t\tvar arg = arguments[i];\n\t\t\tif (!arg) continue;\n\n\t\t\tvar argType = typeof arg;\n\n\t\t\tif (argType === 'string' || argType === 'number') {\n\t\t\t\tclasses.push(arg);\n\t\t\t} else if (Array.isArray(arg) && arg.length) {\n\t\t\t\tvar inner = classNames.apply(null, arg);\n\t\t\t\tif (inner) {\n\t\t\t\t\tclasses.push(inner);\n\t\t\t\t}\n\t\t\t} else if (argType === 'object') {\n\t\t\t\tfor (var key in arg) {\n\t\t\t\t\tif (hasOwn.call(arg, key) && arg[key]) {\n\t\t\t\t\t\tclasses.push(key);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn classes.join(' ');\n\t}\n\n\tif (typeof module !== 'undefined' && module.exports) {\n\t\tclassNames.default = classNames;\n\t\tmodule.exports = classNames;\n\t} else if (typeof define === 'function' && typeof define.amd === 'object' && define.amd) {\n\t\t// register as 'classnames', consistent with npm package name\n\t\tdefine('classnames', [], function () {\n\t\t\treturn classNames;\n\t\t});\n\t} else {\n\t\twindow.classNames = classNames;\n\t}\n}());\n","'use strict';\nmodule.exports = require('./lib/index');\n","/**\n * lodash (Custom Build) <https://lodash.com/>\n * Build: `lodash modularize exports=\"npm\" -o ./`\n * Copyright jQuery Foundation and other contributors <https://jquery.org/>\n * Released under MIT license <https://lodash.com/license>\n * Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>\n * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n */\n\n/** Used as references for various `Number` constants. */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n funcTag = '[object Function]',\n genTag = '[object GeneratorFunction]';\n\n/** Used to detect unsigned integer values. */\nvar reIsUint = /^(?:0|[1-9]\\d*)$/;\n\n/**\n * A faster alternative to `Function#apply`, this function invokes `func`\n * with the `this` binding of `thisArg` and the arguments of `args`.\n *\n * @private\n * @param {Function} func The function to invoke.\n * @param {*} thisArg The `this` binding of `func`.\n * @param {Array} args The arguments to invoke `func` with.\n * @returns {*} Returns the result of `func`.\n */\nfunction apply(func, thisArg, args) {\n switch (args.length) {\n case 0: return func.call(thisArg);\n case 1: return func.call(thisArg, args[0]);\n case 2: return func.call(thisArg, args[0], args[1]);\n case 3: return func.call(thisArg, args[0], args[1], args[2]);\n }\n return func.apply(thisArg, args);\n}\n\n/**\n * The base implementation of `_.times` without support for iteratee shorthands\n * or max array length checks.\n *\n * @private\n * @param {number} n The number of times to invoke `iteratee`.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns the array of results.\n */\nfunction baseTimes(n, iteratee) {\n var index = -1,\n result = Array(n);\n\n while (++index < n) {\n result[index] = iteratee(index);\n }\n return result;\n}\n\n/**\n * Creates a unary function that invokes `func` with its argument transformed.\n *\n * @private\n * @param {Function} func The function to wrap.\n * @param {Function} transform The argument transform.\n * @returns {Function} Returns the new function.\n */\nfunction overArg(func, transform) {\n return function(arg) {\n return func(transform(arg));\n };\n}\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objectToString = objectProto.toString;\n\n/** Built-in value references. */\nvar propertyIsEnumerable = objectProto.propertyIsEnumerable;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeKeys = overArg(Object.keys, Object),\n nativeMax = Math.max;\n\n/** Detect if properties shadowing those on `Object.prototype` are non-enumerable. */\nvar nonEnumShadows = !propertyIsEnumerable.call({ 'valueOf': 1 }, 'valueOf');\n\n/**\n * Creates an array of the enumerable property names of the array-like `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @param {boolean} inherited Specify returning inherited property names.\n * @returns {Array} Returns the array of property names.\n */\nfunction arrayLikeKeys(value, inherited) {\n // Safari 8.1 makes `arguments.callee` enumerable in strict mode.\n // Safari 9 makes `arguments.length` enumerable in strict mode.\n var result = (isArray(value) || isArguments(value))\n ? baseTimes(value.length, String)\n : [];\n\n var length = result.length,\n skipIndexes = !!length;\n\n for (var key in value) {\n if ((inherited || hasOwnProperty.call(value, key)) &&\n !(skipIndexes && (key == 'length' || isIndex(key, length)))) {\n result.push(key);\n }\n }\n return result;\n}\n\n/**\n * Assigns `value` to `key` of `object` if the existing value is not equivalent\n * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * for equality comparisons.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {string} key The key of the property to assign.\n * @param {*} value The value to assign.\n */\nfunction assignValue(object, key, value) {\n var objValue = object[key];\n if (!(hasOwnProperty.call(object, key) && eq(objValue, value)) ||\n (value === undefined && !(key in object))) {\n object[key] = value;\n }\n}\n\n/**\n * The base implementation of `_.keys` which doesn't treat sparse arrays as dense.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction baseKeys(object) {\n if (!isPrototype(object)) {\n return nativeKeys(object);\n }\n var result = [];\n for (var key in Object(object)) {\n if (hasOwnProperty.call(object, key) && key != 'constructor') {\n result.push(key);\n }\n }\n return result;\n}\n\n/**\n * The base implementation of `_.rest` which doesn't validate or coerce arguments.\n *\n * @private\n * @param {Function} func The function to apply a rest parameter to.\n * @param {number} [start=func.length-1] The start position of the rest parameter.\n * @returns {Function} Returns the new function.\n */\nfunction baseRest(func, start) {\n start = nativeMax(start === undefined ? (func.length - 1) : start, 0);\n return function() {\n var args = arguments,\n index = -1,\n length = nativeMax(args.length - start, 0),\n array = Array(length);\n\n while (++index < length) {\n array[index] = args[start + index];\n }\n index = -1;\n var otherArgs = Array(start + 1);\n while (++index < start) {\n otherArgs[index] = args[index];\n }\n otherArgs[start] = array;\n return apply(func, this, otherArgs);\n };\n}\n\n/**\n * Copies properties of `source` to `object`.\n *\n * @private\n * @param {Object} source The object to copy properties from.\n * @param {Array} props The property identifiers to copy.\n * @param {Object} [object={}] The object to copy properties to.\n * @param {Function} [customizer] The function to customize copied values.\n * @returns {Object} Returns `object`.\n */\nfunction copyObject(source, props, object, customizer) {\n object || (object = {});\n\n var index = -1,\n length = props.length;\n\n while (++index < length) {\n var key = props[index];\n\n var newValue = customizer\n ? customizer(object[key], source[key], key, object, source)\n : undefined;\n\n assignValue(object, key, newValue === undefined ? source[key] : newValue);\n }\n return object;\n}\n\n/**\n * Creates a function like `_.assign`.\n *\n * @private\n * @param {Function} assigner The function to assign values.\n * @returns {Function} Returns the new assigner function.\n */\nfunction createAssigner(assigner) {\n return baseRest(function(object, sources) {\n var index = -1,\n length = sources.length,\n customizer = length > 1 ? sources[length - 1] : undefined,\n guard = length > 2 ? sources[2] : undefined;\n\n customizer = (assigner.length > 3 && typeof customizer == 'function')\n ? (length--, customizer)\n : undefined;\n\n if (guard && isIterateeCall(sources[0], sources[1], guard)) {\n customizer = length < 3 ? undefined : customizer;\n length = 1;\n }\n object = Object(object);\n while (++index < length) {\n var source = sources[index];\n if (source) {\n assigner(object, source, index, customizer);\n }\n }\n return object;\n });\n}\n\n/**\n * Checks if `value` is a valid array-like index.\n *\n * @private\n * @param {*} value The value to check.\n * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index.\n * @returns {boolean} Returns `true` if `value` is a valid index, else `false`.\n */\nfunction isIndex(value, length) {\n length = length == null ? MAX_SAFE_INTEGER : length;\n return !!length &&\n (typeof value == 'number' || reIsUint.test(value)) &&\n (value > -1 && value % 1 == 0 && value < length);\n}\n\n/**\n * Checks if the given arguments are from an iteratee call.\n *\n * @private\n * @param {*} value The potential iteratee value argument.\n * @param {*} index The potential iteratee index or key argument.\n * @param {*} object The potential iteratee object argument.\n * @returns {boolean} Returns `true` if the arguments are from an iteratee call,\n * else `false`.\n */\nfunction isIterateeCall(value, index, object) {\n if (!isObject(object)) {\n return false;\n }\n var type = typeof index;\n if (type == 'number'\n ? (isArrayLike(object) && isIndex(index, object.length))\n : (type == 'string' && index in object)\n ) {\n return eq(object[index], value);\n }\n return false;\n}\n\n/**\n * Checks if `value` is likely a prototype object.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a prototype, else `false`.\n */\nfunction isPrototype(value) {\n var Ctor = value && value.constructor,\n proto = (typeof Ctor == 'function' && Ctor.prototype) || objectProto;\n\n return value === proto;\n}\n\n/**\n * Performs a\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * comparison between two values to determine if they are equivalent.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'a': 1 };\n * var other = { 'a': 1 };\n *\n * _.eq(object, object);\n * // => true\n *\n * _.eq(object, other);\n * // => false\n *\n * _.eq('a', 'a');\n * // => true\n *\n * _.eq('a', Object('a'));\n * // => false\n *\n * _.eq(NaN, NaN);\n * // => true\n */\nfunction eq(value, other) {\n return value === other || (value !== value && other !== other);\n}\n\n/**\n * Checks if `value` is likely an `arguments` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n * else `false`.\n * @example\n *\n * _.isArguments(function() { return arguments; }());\n * // => true\n *\n * _.isArguments([1, 2, 3]);\n * // => false\n */\nfunction isArguments(value) {\n // Safari 8.1 makes `arguments.callee` enumerable in strict mode.\n return isArrayLikeObject(value) && hasOwnProperty.call(value, 'callee') &&\n (!propertyIsEnumerable.call(value, 'callee') || objectToString.call(value) == argsTag);\n}\n\n/**\n * Checks if `value` is classified as an `Array` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array, else `false`.\n * @example\n *\n * _.isArray([1, 2, 3]);\n * // => true\n *\n * _.isArray(document.body.children);\n * // => false\n *\n * _.isArray('abc');\n * // => false\n *\n * _.isArray(_.noop);\n * // => false\n */\nvar isArray = Array.isArray;\n\n/**\n * Checks if `value` is array-like. A value is considered array-like if it's\n * not a function and has a `value.length` that's an integer greater than or\n * equal to `0` and less than or equal to `Number.MAX_SAFE_INTEGER`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is array-like, else `false`.\n * @example\n *\n * _.isArrayLike([1, 2, 3]);\n * // => true\n *\n * _.isArrayLike(document.body.children);\n * // => true\n *\n * _.isArrayLike('abc');\n * // => true\n *\n * _.isArrayLike(_.noop);\n * // => false\n */\nfunction isArrayLike(value) {\n return value != null && isLength(value.length) && !isFunction(value);\n}\n\n/**\n * This method is like `_.isArrayLike` except that it also checks if `value`\n * is an object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array-like object,\n * else `false`.\n * @example\n *\n * _.isArrayLikeObject([1, 2, 3]);\n * // => true\n *\n * _.isArrayLikeObject(document.body.children);\n * // => true\n *\n * _.isArrayLikeObject('abc');\n * // => false\n *\n * _.isArrayLikeObject(_.noop);\n * // => false\n */\nfunction isArrayLikeObject(value) {\n return isObjectLike(value) && isArrayLike(value);\n}\n\n/**\n * Checks if `value` is classified as a `Function` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a function, else `false`.\n * @example\n *\n * _.isFunction(_);\n * // => true\n *\n * _.isFunction(/abc/);\n * // => false\n */\nfunction isFunction(value) {\n // The use of `Object#toString` avoids issues with the `typeof` operator\n // in Safari 8-9 which returns 'object' for typed array and other constructors.\n var tag = isObject(value) ? objectToString.call(value) : '';\n return tag == funcTag || tag == genTag;\n}\n\n/**\n * Checks if `value` is a valid array-like length.\n *\n * **Note:** This method is loosely based on\n * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.\n * @example\n *\n * _.isLength(3);\n * // => true\n *\n * _.isLength(Number.MIN_VALUE);\n * // => false\n *\n * _.isLength(Infinity);\n * // => false\n *\n * _.isLength('3');\n * // => false\n */\nfunction isLength(value) {\n return typeof value == 'number' &&\n value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;\n}\n\n/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n var type = typeof value;\n return !!value && (type == 'object' || type == 'function');\n}\n\n/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return !!value && typeof value == 'object';\n}\n\n/**\n * Assigns own enumerable string keyed properties of source objects to the\n * destination object. Source objects are applied from left to right.\n * Subsequent sources overwrite property assignments of previous sources.\n *\n * **Note:** This method mutates `object` and is loosely based on\n * [`Object.assign`](https://mdn.io/Object/assign).\n *\n * @static\n * @memberOf _\n * @since 0.10.0\n * @category Object\n * @param {Object} object The destination object.\n * @param {...Object} [sources] The source objects.\n * @returns {Object} Returns `object`.\n * @see _.assignIn\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * }\n *\n * function Bar() {\n * this.c = 3;\n * }\n *\n * Foo.prototype.b = 2;\n * Bar.prototype.d = 4;\n *\n * _.assign({ 'a': 0 }, new Foo, new Bar);\n * // => { 'a': 1, 'c': 3 }\n */\nvar assign = createAssigner(function(object, source) {\n if (nonEnumShadows || isPrototype(source) || isArrayLike(source)) {\n copyObject(source, keys(source), object);\n return;\n }\n for (var key in source) {\n if (hasOwnProperty.call(source, key)) {\n assignValue(object, key, source[key]);\n }\n }\n});\n\n/**\n * Creates an array of the own enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects. See the\n * [ES spec](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)\n * for more details.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keys(new Foo);\n * // => ['a', 'b'] (iteration order is not guaranteed)\n *\n * _.keys('hi');\n * // => ['0', '1']\n */\nfunction keys(object) {\n return isArrayLike(object) ? arrayLikeKeys(object) : baseKeys(object);\n}\n\nmodule.exports = assign;\n","/**\n * Lodash (Custom Build) <https://lodash.com/>\n * Build: `lodash modularize exports=\"npm\" -o ./`\n * Copyright JS Foundation and other contributors <https://js.foundation/>\n * Released under MIT license <https://lodash.com/license>\n * Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>\n * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n */\n\n/** `Object#toString` result references. */\nvar asyncTag = '[object AsyncFunction]',\n funcTag = '[object Function]',\n genTag = '[object GeneratorFunction]',\n nullTag = '[object Null]',\n proxyTag = '[object Proxy]',\n undefinedTag = '[object Undefined]';\n\n/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/** Built-in value references. */\nvar Symbol = root.Symbol,\n symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * The base implementation of `getTag` without fallbacks for buggy environments.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nfunction baseGetTag(value) {\n if (value == null) {\n return value === undefined ? undefinedTag : nullTag;\n }\n return (symToStringTag && symToStringTag in Object(value))\n ? getRawTag(value)\n : objectToString(value);\n}\n\n/**\n * A specialized version of `baseGetTag` which ignores `Symbol.toStringTag` values.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the raw `toStringTag`.\n */\nfunction getRawTag(value) {\n var isOwn = hasOwnProperty.call(value, symToStringTag),\n tag = value[symToStringTag];\n\n try {\n value[symToStringTag] = undefined;\n var unmasked = true;\n } catch (e) {}\n\n var result = nativeObjectToString.call(value);\n if (unmasked) {\n if (isOwn) {\n value[symToStringTag] = tag;\n } else {\n delete value[symToStringTag];\n }\n }\n return result;\n}\n\n/**\n * Converts `value` to a string using `Object.prototype.toString`.\n *\n * @private\n * @param {*} value The value to convert.\n * @returns {string} Returns the converted string.\n */\nfunction objectToString(value) {\n return nativeObjectToString.call(value);\n}\n\n/**\n * Checks if `value` is classified as a `Function` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a function, else `false`.\n * @example\n *\n * _.isFunction(_);\n * // => true\n *\n * _.isFunction(/abc/);\n * // => false\n */\nfunction isFunction(value) {\n if (!isObject(value)) {\n return false;\n }\n // The use of `Object#toString` avoids issues with the `typeof` operator\n // in Safari 9 which returns 'object' for typed arrays and other constructors.\n var tag = baseGetTag(value);\n return tag == funcTag || tag == genTag || tag == asyncTag || tag == proxyTag;\n}\n\n/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n var type = typeof value;\n return value != null && (type == 'object' || type == 'function');\n}\n\nmodule.exports = isFunction;\n","module.exports = __WEBPACK_EXTERNAL_MODULE__6__;","/**\n * lodash (Custom Build) <https://lodash.com/>\n * Build: `lodash modularize exports=\"npm\" -o ./`\n * Copyright jQuery Foundation and other contributors <https://jquery.org/>\n * Released under MIT license <https://lodash.com/license>\n * Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>\n * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n */\n\n/** Used as the size to enable large array optimizations. */\nvar LARGE_ARRAY_SIZE = 200;\n\n/** Used as the `TypeError` message for \"Functions\" methods. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/** Used to compose bitmasks for comparison styles. */\nvar UNORDERED_COMPARE_FLAG = 1,\n PARTIAL_COMPARE_FLAG = 2;\n\n/** Used as references for various `Number` constants. */\nvar INFINITY = 1 / 0,\n MAX_SAFE_INTEGER = 9007199254740991,\n MAX_INTEGER = 1.7976931348623157e+308,\n NAN = 0 / 0;\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n funcTag = '[object Function]',\n genTag = '[object GeneratorFunction]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n objectTag = '[object Object]',\n promiseTag = '[object Promise]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n symbolTag = '[object Symbol]',\n weakMapTag = '[object WeakMap]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n dataViewTag = '[object DataView]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/** Used to match property names within property paths. */\nvar reIsDeepProp = /\\.|\\[(?:[^[\\]]*|([\"'])(?:(?!\\1)[^\\\\]|\\\\.)*?\\1)\\]/,\n reIsPlainProp = /^\\w*$/,\n reLeadingDot = /^\\./,\n rePropName = /[^.[\\]]+|\\[(?:(-?\\d+(?:\\.\\d+)?)|([\"'])((?:(?!\\2)[^\\\\]|\\\\.)*?)\\2)\\]|(?=(?:\\.|\\[\\])(?:\\.|\\[\\]|$))/g;\n\n/**\n * Used to match `RegExp`\n * [syntax characters](http://ecma-international.org/ecma-262/7.0/#sec-patterns).\n */\nvar reRegExpChar = /[\\\\^$.*+?()[\\]{}|]/g;\n\n/** Used to match leading and trailing whitespace. */\nvar reTrim = /^\\s+|\\s+$/g;\n\n/** Used to match backslashes in property paths. */\nvar reEscapeChar = /\\\\(\\\\)?/g;\n\n/** Used to detect bad signed hexadecimal string values. */\nvar reIsBadHex = /^[-+]0x[0-9a-f]+$/i;\n\n/** Used to detect binary string values. */\nvar reIsBinary = /^0b[01]+$/i;\n\n/** Used to detect host constructors (Safari). */\nvar reIsHostCtor = /^\\[object .+?Constructor\\]$/;\n\n/** Used to detect octal string values. */\nvar reIsOctal = /^0o[0-7]+$/i;\n\n/** Used to detect unsigned integer values. */\nvar reIsUint = /^(?:0|[1-9]\\d*)$/;\n\n/** Used to identify `toStringTag` values of typed arrays. */\nvar typedArrayTags = {};\ntypedArrayTags[float32Tag] = typedArrayTags[float64Tag] =\ntypedArrayTags[int8Tag] = typedArrayTags[int16Tag] =\ntypedArrayTags[int32Tag] = typedArrayTags[uint8Tag] =\ntypedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] =\ntypedArrayTags[uint32Tag] = true;\ntypedArrayTags[argsTag] = typedArrayTags[arrayTag] =\ntypedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] =\ntypedArrayTags[dataViewTag] = typedArrayTags[dateTag] =\ntypedArrayTags[errorTag] = typedArrayTags[funcTag] =\ntypedArrayTags[mapTag] = typedArrayTags[numberTag] =\ntypedArrayTags[objectTag] = typedArrayTags[regexpTag] =\ntypedArrayTags[setTag] = typedArrayTags[stringTag] =\ntypedArrayTags[weakMapTag] = false;\n\n/** Built-in method references without a dependency on `root`. */\nvar freeParseInt = parseInt;\n\n/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\n/** Detect free variable `exports`. */\nvar freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;\n\n/** Detect free variable `module`. */\nvar freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;\n\n/** Detect the popular CommonJS extension `module.exports`. */\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n\n/** Detect free variable `process` from Node.js. */\nvar freeProcess = moduleExports && freeGlobal.process;\n\n/** Used to access faster Node.js helpers. */\nvar nodeUtil = (function() {\n try {\n return freeProcess && freeProcess.binding('util');\n } catch (e) {}\n}());\n\n/* Node.js helper references. */\nvar nodeIsTypedArray = nodeUtil && nodeUtil.isTypedArray;\n\n/**\n * A specialized version of `_.some` for arrays without support for iteratee\n * shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {boolean} Returns `true` if any element passes the predicate check,\n * else `false`.\n */\nfunction arraySome(array, predicate) {\n var index = -1,\n length = array ? array.length : 0;\n\n while (++index < length) {\n if (predicate(array[index], index, array)) {\n return true;\n }\n }\n return false;\n}\n\n/**\n * The base implementation of `_.findIndex` and `_.findLastIndex` without\n * support for iteratee shorthands.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {Function} predicate The function invoked per iteration.\n * @param {number} fromIndex The index to search from.\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction baseFindIndex(array, predicate, fromIndex, fromRight) {\n var length = array.length,\n index = fromIndex + (fromRight ? 1 : -1);\n\n while ((fromRight ? index-- : ++index < length)) {\n if (predicate(array[index], index, array)) {\n return index;\n }\n }\n return -1;\n}\n\n/**\n * The base implementation of `_.property` without support for deep paths.\n *\n * @private\n * @param {string} key The key of the property to get.\n * @returns {Function} Returns the new accessor function.\n */\nfunction baseProperty(key) {\n return function(object) {\n return object == null ? undefined : object[key];\n };\n}\n\n/**\n * The base implementation of `_.times` without support for iteratee shorthands\n * or max array length checks.\n *\n * @private\n * @param {number} n The number of times to invoke `iteratee`.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns the array of results.\n */\nfunction baseTimes(n, iteratee) {\n var index = -1,\n result = Array(n);\n\n while (++index < n) {\n result[index] = iteratee(index);\n }\n return result;\n}\n\n/**\n * The base implementation of `_.unary` without support for storing metadata.\n *\n * @private\n * @param {Function} func The function to cap arguments for.\n * @returns {Function} Returns the new capped function.\n */\nfunction baseUnary(func) {\n return function(value) {\n return func(value);\n };\n}\n\n/**\n * Gets the value at `key` of `object`.\n *\n * @private\n * @param {Object} [object] The object to query.\n * @param {string} key The key of the property to get.\n * @returns {*} Returns the property value.\n */\nfunction getValue(object, key) {\n return object == null ? undefined : object[key];\n}\n\n/**\n * Checks if `value` is a host object in IE < 9.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a host object, else `false`.\n */\nfunction isHostObject(value) {\n // Many host objects are `Object` objects that can coerce to strings\n // despite having improperly defined `toString` methods.\n var result = false;\n if (value != null && typeof value.toString != 'function') {\n try {\n result = !!(value + '');\n } catch (e) {}\n }\n return result;\n}\n\n/**\n * Converts `map` to its key-value pairs.\n *\n * @private\n * @param {Object} map The map to convert.\n * @returns {Array} Returns the key-value pairs.\n */\nfunction mapToArray(map) {\n var index = -1,\n result = Array(map.size);\n\n map.forEach(function(value, key) {\n result[++index] = [key, value];\n });\n return result;\n}\n\n/**\n * Creates a unary function that invokes `func` with its argument transformed.\n *\n * @private\n * @param {Function} func The function to wrap.\n * @param {Function} transform The argument transform.\n * @returns {Function} Returns the new function.\n */\nfunction overArg(func, transform) {\n return function(arg) {\n return func(transform(arg));\n };\n}\n\n/**\n * Converts `set` to an array of its values.\n *\n * @private\n * @param {Object} set The set to convert.\n * @returns {Array} Returns the values.\n */\nfunction setToArray(set) {\n var index = -1,\n result = Array(set.size);\n\n set.forEach(function(value) {\n result[++index] = value;\n });\n return result;\n}\n\n/** Used for built-in method references. */\nvar arrayProto = Array.prototype,\n funcProto = Function.prototype,\n objectProto = Object.prototype;\n\n/** Used to detect overreaching core-js shims. */\nvar coreJsData = root['__core-js_shared__'];\n\n/** Used to detect methods masquerading as native. */\nvar maskSrcKey = (function() {\n var uid = /[^.]+$/.exec(coreJsData && coreJsData.keys && coreJsData.keys.IE_PROTO || '');\n return uid ? ('Symbol(src)_1.' + uid) : '';\n}());\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objectToString = objectProto.toString;\n\n/** Used to detect if a method is native. */\nvar reIsNative = RegExp('^' +\n funcToString.call(hasOwnProperty).replace(reRegExpChar, '\\\\$&')\n .replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g, '$1.*?') + '$'\n);\n\n/** Built-in value references. */\nvar Symbol = root.Symbol,\n Uint8Array = root.Uint8Array,\n propertyIsEnumerable = objectProto.propertyIsEnumerable,\n splice = arrayProto.splice;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeKeys = overArg(Object.keys, Object),\n nativeMax = Math.max;\n\n/* Built-in method references that are verified to be native. */\nvar DataView = getNative(root, 'DataView'),\n Map = getNative(root, 'Map'),\n Promise = getNative(root, 'Promise'),\n Set = getNative(root, 'Set'),\n WeakMap = getNative(root, 'WeakMap'),\n nativeCreate = getNative(Object, 'create');\n\n/** Used to detect maps, sets, and weakmaps. */\nvar dataViewCtorString = toSource(DataView),\n mapCtorString = toSource(Map),\n promiseCtorString = toSource(Promise),\n setCtorString = toSource(Set),\n weakMapCtorString = toSource(WeakMap);\n\n/** Used to convert symbols to primitives and strings. */\nvar symbolProto = Symbol ? Symbol.prototype : undefined,\n symbolValueOf = symbolProto ? symbolProto.valueOf : undefined,\n symbolToString = symbolProto ? symbolProto.toString : undefined;\n\n/**\n * Creates a hash object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Hash(entries) {\n var index = -1,\n length = entries ? entries.length : 0;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n/**\n * Removes all key-value entries from the hash.\n *\n * @private\n * @name clear\n * @memberOf Hash\n */\nfunction hashClear() {\n this.__data__ = nativeCreate ? nativeCreate(null) : {};\n}\n\n/**\n * Removes `key` and its value from the hash.\n *\n * @private\n * @name delete\n * @memberOf Hash\n * @param {Object} hash The hash to modify.\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction hashDelete(key) {\n return this.has(key) && delete this.__data__[key];\n}\n\n/**\n * Gets the hash value for `key`.\n *\n * @private\n * @name get\n * @memberOf Hash\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction hashGet(key) {\n var data = this.__data__;\n if (nativeCreate) {\n var result = data[key];\n return result === HASH_UNDEFINED ? undefined : result;\n }\n return hasOwnProperty.call(data, key) ? data[key] : undefined;\n}\n\n/**\n * Checks if a hash value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Hash\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction hashHas(key) {\n var data = this.__data__;\n return nativeCreate ? data[key] !== undefined : hasOwnProperty.call(data, key);\n}\n\n/**\n * Sets the hash `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Hash\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the hash instance.\n */\nfunction hashSet(key, value) {\n var data = this.__data__;\n data[key] = (nativeCreate && value === undefined) ? HASH_UNDEFINED : value;\n return this;\n}\n\n// Add methods to `Hash`.\nHash.prototype.clear = hashClear;\nHash.prototype['delete'] = hashDelete;\nHash.prototype.get = hashGet;\nHash.prototype.has = hashHas;\nHash.prototype.set = hashSet;\n\n/**\n * Creates an list cache object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction ListCache(entries) {\n var index = -1,\n length = entries ? entries.length : 0;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n/**\n * Removes all key-value entries from the list cache.\n *\n * @private\n * @name clear\n * @memberOf ListCache\n */\nfunction listCacheClear() {\n this.__data__ = [];\n}\n\n/**\n * Removes `key` and its value from the list cache.\n *\n * @private\n * @name delete\n * @memberOf ListCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction listCacheDelete(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n return false;\n }\n var lastIndex = data.length - 1;\n if (index == lastIndex) {\n data.pop();\n } else {\n splice.call(data, index, 1);\n }\n return true;\n}\n\n/**\n * Gets the list cache value for `key`.\n *\n * @private\n * @name get\n * @memberOf ListCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction listCacheGet(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n return index < 0 ? undefined : data[index][1];\n}\n\n/**\n * Checks if a list cache value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf ListCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction listCacheHas(key) {\n return assocIndexOf(this.__data__, key) > -1;\n}\n\n/**\n * Sets the list cache `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf ListCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the list cache instance.\n */\nfunction listCacheSet(key, value) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n data.push([key, value]);\n } else {\n data[index][1] = value;\n }\n return this;\n}\n\n// Add methods to `ListCache`.\nListCache.prototype.clear = listCacheClear;\nListCache.prototype['delete'] = listCacheDelete;\nListCache.prototype.get = listCacheGet;\nListCache.prototype.has = listCacheHas;\nListCache.prototype.set = listCacheSet;\n\n/**\n * Creates a map cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction MapCache(entries) {\n var index = -1,\n length = entries ? entries.length : 0;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n/**\n * Removes all key-value entries from the map.\n *\n * @private\n * @name clear\n * @memberOf MapCache\n */\nfunction mapCacheClear() {\n this.__data__ = {\n 'hash': new Hash,\n 'map': new (Map || ListCache),\n 'string': new Hash\n };\n}\n\n/**\n * Removes `key` and its value from the map.\n *\n * @private\n * @name delete\n * @memberOf MapCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction mapCacheDelete(key) {\n return getMapData(this, key)['delete'](key);\n}\n\n/**\n * Gets the map value for `key`.\n *\n * @private\n * @name get\n * @memberOf MapCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction mapCacheGet(key) {\n return getMapData(this, key).get(key);\n}\n\n/**\n * Checks if a map value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf MapCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction mapCacheHas(key) {\n return getMapData(this, key).has(key);\n}\n\n/**\n * Sets the map `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf MapCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the map cache instance.\n */\nfunction mapCacheSet(key, value) {\n getMapData(this, key).set(key, value);\n return this;\n}\n\n// Add methods to `MapCache`.\nMapCache.prototype.clear = mapCacheClear;\nMapCache.prototype['delete'] = mapCacheDelete;\nMapCache.prototype.get = mapCacheGet;\nMapCache.prototype.has = mapCacheHas;\nMapCache.prototype.set = mapCacheSet;\n\n/**\n *\n * Creates an array cache object to store unique values.\n *\n * @private\n * @constructor\n * @param {Array} [values] The values to cache.\n */\nfunction SetCache(values) {\n var index = -1,\n length = values ? values.length : 0;\n\n this.__data__ = new MapCache;\n while (++index < length) {\n this.add(values[index]);\n }\n}\n\n/**\n * Adds `value` to the array cache.\n *\n * @private\n * @name add\n * @memberOf SetCache\n * @alias push\n * @param {*} value The value to cache.\n * @returns {Object} Returns the cache instance.\n */\nfunction setCacheAdd(value) {\n this.__data__.set(value, HASH_UNDEFINED);\n return this;\n}\n\n/**\n * Checks if `value` is in the array cache.\n *\n * @private\n * @name has\n * @memberOf SetCache\n * @param {*} value The value to search for.\n * @returns {number} Returns `true` if `value` is found, else `false`.\n */\nfunction setCacheHas(value) {\n return this.__data__.has(value);\n}\n\n// Add methods to `SetCache`.\nSetCache.prototype.add = SetCache.prototype.push = setCacheAdd;\nSetCache.prototype.has = setCacheHas;\n\n/**\n * Creates a stack cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Stack(entries) {\n this.__data__ = new ListCache(entries);\n}\n\n/**\n * Removes all key-value entries from the stack.\n *\n * @private\n * @name clear\n * @memberOf Stack\n */\nfunction stackClear() {\n this.__data__ = new ListCache;\n}\n\n/**\n * Removes `key` and its value from the stack.\n *\n * @private\n * @name delete\n * @memberOf Stack\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction stackDelete(key) {\n return this.__data__['delete'](key);\n}\n\n/**\n * Gets the stack value for `key`.\n *\n * @private\n * @name get\n * @memberOf Stack\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction stackGet(key) {\n return this.__data__.get(key);\n}\n\n/**\n * Checks if a stack value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Stack\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction stackHas(key) {\n return this.__data__.has(key);\n}\n\n/**\n * Sets the stack `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Stack\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the stack cache instance.\n */\nfunction stackSet(key, value) {\n var cache = this.__data__;\n if (cache instanceof ListCache) {\n var pairs = cache.__data__;\n if (!Map || (pairs.length < LARGE_ARRAY_SIZE - 1)) {\n pairs.push([key, value]);\n return this;\n }\n cache = this.__data__ = new MapCache(pairs);\n }\n cache.set(key, value);\n return this;\n}\n\n// Add methods to `Stack`.\nStack.prototype.clear = stackClear;\nStack.prototype['delete'] = stackDelete;\nStack.prototype.get = stackGet;\nStack.prototype.has = stackHas;\nStack.prototype.set = stackSet;\n\n/**\n * Creates an array of the enumerable property names of the array-like `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @param {boolean} inherited Specify returning inherited property names.\n * @returns {Array} Returns the array of property names.\n */\nfunction arrayLikeKeys(value, inherited) {\n // Safari 8.1 makes `arguments.callee` enumerable in strict mode.\n // Safari 9 makes `arguments.length` enumerable in strict mode.\n var result = (isArray(value) || isArguments(value))\n ? baseTimes(value.length, String)\n : [];\n\n var length = result.length,\n skipIndexes = !!length;\n\n for (var key in value) {\n if ((inherited || hasOwnProperty.call(value, key)) &&\n !(skipIndexes && (key == 'length' || isIndex(key, length)))) {\n result.push(key);\n }\n }\n return result;\n}\n\n/**\n * Gets the index at which the `key` is found in `array` of key-value pairs.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} key The key to search for.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction assocIndexOf(array, key) {\n var length = array.length;\n while (length--) {\n if (eq(array[length][0], key)) {\n return length;\n }\n }\n return -1;\n}\n\n/**\n * The base implementation of `_.get` without support for default values.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Array|string} path The path of the property to get.\n * @returns {*} Returns the resolved value.\n */\nfunction baseGet(object, path) {\n path = isKey(path, object) ? [path] : castPath(path);\n\n var index = 0,\n length = path.length;\n\n while (object != null && index < length) {\n object = object[toKey(path[index++])];\n }\n return (index && index == length) ? object : undefined;\n}\n\n/**\n * The base implementation of `getTag`.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nfunction baseGetTag(value) {\n return objectToString.call(value);\n}\n\n/**\n * The base implementation of `_.hasIn` without support for deep paths.\n *\n * @private\n * @param {Object} [object] The object to query.\n * @param {Array|string} key The key to check.\n * @returns {boolean} Returns `true` if `key` exists, else `false`.\n */\nfunction baseHasIn(object, key) {\n return object != null && key in Object(object);\n}\n\n/**\n * The base implementation of `_.isEqual` which supports partial comparisons\n * and tracks traversed objects.\n *\n * @private\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @param {Function} [customizer] The function to customize comparisons.\n * @param {boolean} [bitmask] The bitmask of comparison flags.\n * The bitmask may be composed of the following flags:\n * 1 - Unordered comparison\n * 2 - Partial comparison\n * @param {Object} [stack] Tracks traversed `value` and `other` objects.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n */\nfunction baseIsEqual(value, other, customizer, bitmask, stack) {\n if (value === other) {\n return true;\n }\n if (value == null || other == null || (!isObject(value) && !isObjectLike(other))) {\n return value !== value && other !== other;\n }\n return baseIsEqualDeep(value, other, baseIsEqual, customizer, bitmask, stack);\n}\n\n/**\n * A specialized version of `baseIsEqual` for arrays and objects which performs\n * deep comparisons and tracks traversed objects enabling objects with circular\n * references to be compared.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Function} [customizer] The function to customize comparisons.\n * @param {number} [bitmask] The bitmask of comparison flags. See `baseIsEqual`\n * for more details.\n * @param {Object} [stack] Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction baseIsEqualDeep(object, other, equalFunc, customizer, bitmask, stack) {\n var objIsArr = isArray(object),\n othIsArr = isArray(other),\n objTag = arrayTag,\n othTag = arrayTag;\n\n if (!objIsArr) {\n objTag = getTag(object);\n objTag = objTag == argsTag ? objectTag : objTag;\n }\n if (!othIsArr) {\n othTag = getTag(other);\n othTag = othTag == argsTag ? objectTag : othTag;\n }\n var objIsObj = objTag == objectTag && !isHostObject(object),\n othIsObj = othTag == objectTag && !isHostObject(other),\n isSameTag = objTag == othTag;\n\n if (isSameTag && !objIsObj) {\n stack || (stack = new Stack);\n return (objIsArr || isTypedArray(object))\n ? equalArrays(object, other, equalFunc, customizer, bitmask, stack)\n : equalByTag(object, other, objTag, equalFunc, customizer, bitmask, stack);\n }\n if (!(bitmask & PARTIAL_COMPARE_FLAG)) {\n var objIsWrapped = objIsObj && hasOwnProperty.call(object, '__wrapped__'),\n othIsWrapped = othIsObj && hasOwnProperty.call(other, '__wrapped__');\n\n if (objIsWrapped || othIsWrapped) {\n var objUnwrapped = objIsWrapped ? object.value() : object,\n othUnwrapped = othIsWrapped ? other.value() : other;\n\n stack || (stack = new Stack);\n return equalFunc(objUnwrapped, othUnwrapped, customizer, bitmask, stack);\n }\n }\n if (!isSameTag) {\n return false;\n }\n stack || (stack = new Stack);\n return equalObjects(object, other, equalFunc, customizer, bitmask, stack);\n}\n\n/**\n * The base implementation of `_.isMatch` without support for iteratee shorthands.\n *\n * @private\n * @param {Object} object The object to inspect.\n * @param {Object} source The object of property values to match.\n * @param {Array} matchData The property names, values, and compare flags to match.\n * @param {Function} [customizer] The function to customize comparisons.\n * @returns {boolean} Returns `true` if `object` is a match, else `false`.\n */\nfunction baseIsMatch(object, source, matchData, customizer) {\n var index = matchData.length,\n length = index,\n noCustomizer = !customizer;\n\n if (object == null) {\n return !length;\n }\n object = Object(object);\n while (index--) {\n var data = matchData[index];\n if ((noCustomizer && data[2])\n ? data[1] !== object[data[0]]\n : !(data[0] in object)\n ) {\n return false;\n }\n }\n while (++index < length) {\n data = matchData[index];\n var key = data[0],\n objValue = object[key],\n srcValue = data[1];\n\n if (noCustomizer && data[2]) {\n if (objValue === undefined && !(key in object)) {\n return false;\n }\n } else {\n var stack = new Stack;\n if (customizer) {\n var result = customizer(objValue, srcValue, key, object, source, stack);\n }\n if (!(result === undefined\n ? baseIsEqual(srcValue, objValue, customizer, UNORDERED_COMPARE_FLAG | PARTIAL_COMPARE_FLAG, stack)\n : result\n )) {\n return false;\n }\n }\n }\n return true;\n}\n\n/**\n * The base implementation of `_.isNative` without bad shim checks.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a native function,\n * else `false`.\n */\nfunction baseIsNative(value) {\n if (!isObject(value) || isMasked(value)) {\n return false;\n }\n var pattern = (isFunction(value) || isHostObject(value)) ? reIsNative : reIsHostCtor;\n return pattern.test(toSource(value));\n}\n\n/**\n * The base implementation of `_.isTypedArray` without Node.js optimizations.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n */\nfunction baseIsTypedArray(value) {\n return isObjectLike(value) &&\n isLength(value.length) && !!typedArrayTags[objectToString.call(value)];\n}\n\n/**\n * The base implementation of `_.iteratee`.\n *\n * @private\n * @param {*} [value=_.identity] The value to convert to an iteratee.\n * @returns {Function} Returns the iteratee.\n */\nfunction baseIteratee(value) {\n // Don't store the `typeof` result in a variable to avoid a JIT bug in Safari 9.\n // See https://bugs.webkit.org/show_bug.cgi?id=156034 for more details.\n if (typeof value == 'function') {\n return value;\n }\n if (value == null) {\n return identity;\n }\n if (typeof value == 'object') {\n return isArray(value)\n ? baseMatchesProperty(value[0], value[1])\n : baseMatches(value);\n }\n return property(value);\n}\n\n/**\n * The base implementation of `_.keys` which doesn't treat sparse arrays as dense.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction baseKeys(object) {\n if (!isPrototype(object)) {\n return nativeKeys(object);\n }\n var result = [];\n for (var key in Object(object)) {\n if (hasOwnProperty.call(object, key) && key != 'constructor') {\n result.push(key);\n }\n }\n return result;\n}\n\n/**\n * The base implementation of `_.matches` which doesn't clone `source`.\n *\n * @private\n * @param {Object} source The object of property values to match.\n * @returns {Function} Returns the new spec function.\n */\nfunction baseMatches(source) {\n var matchData = getMatchData(source);\n if (matchData.length == 1 && matchData[0][2]) {\n return matchesStrictComparable(matchData[0][0], matchData[0][1]);\n }\n return function(object) {\n return object === source || baseIsMatch(object, source, matchData);\n };\n}\n\n/**\n * The base implementation of `_.matchesProperty` which doesn't clone `srcValue`.\n *\n * @private\n * @param {string} path The path of the property to get.\n * @param {*} srcValue The value to match.\n * @returns {Function} Returns the new spec function.\n */\nfunction baseMatchesProperty(path, srcValue) {\n if (isKey(path) && isStrictComparable(srcValue)) {\n return matchesStrictComparable(toKey(path), srcValue);\n }\n return function(object) {\n var objValue = get(object, path);\n return (objValue === undefined && objValue === srcValue)\n ? hasIn(object, path)\n : baseIsEqual(srcValue, objValue, undefined, UNORDERED_COMPARE_FLAG | PARTIAL_COMPARE_FLAG);\n };\n}\n\n/**\n * A specialized version of `baseProperty` which supports deep paths.\n *\n * @private\n * @param {Array|string} path The path of the property to get.\n * @returns {Function} Returns the new accessor function.\n */\nfunction basePropertyDeep(path) {\n return function(object) {\n return baseGet(object, path);\n };\n}\n\n/**\n * The base implementation of `_.toString` which doesn't convert nullish\n * values to empty strings.\n *\n * @private\n * @param {*} value The value to process.\n * @returns {string} Returns the string.\n */\nfunction baseToString(value) {\n // Exit early for strings to avoid a performance hit in some environments.\n if (typeof value == 'string') {\n return value;\n }\n if (isSymbol(value)) {\n return symbolToString ? symbolToString.call(value) : '';\n }\n var result = (value + '');\n return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result;\n}\n\n/**\n * Casts `value` to a path array if it's not one.\n *\n * @private\n * @param {*} value The value to inspect.\n * @returns {Array} Returns the cast property path array.\n */\nfunction castPath(value) {\n return isArray(value) ? value : stringToPath(value);\n}\n\n/**\n * A specialized version of `baseIsEqualDeep` for arrays with support for\n * partial deep comparisons.\n *\n * @private\n * @param {Array} array The array to compare.\n * @param {Array} other The other array to compare.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Function} customizer The function to customize comparisons.\n * @param {number} bitmask The bitmask of comparison flags. See `baseIsEqual`\n * for more details.\n * @param {Object} stack Tracks traversed `array` and `other` objects.\n * @returns {boolean} Returns `true` if the arrays are equivalent, else `false`.\n */\nfunction equalArrays(array, other, equalFunc, customizer, bitmask, stack) {\n var isPartial = bitmask & PARTIAL_COMPARE_FLAG,\n arrLength = array.length,\n othLength = other.length;\n\n if (arrLength != othLength && !(isPartial && othLength > arrLength)) {\n return false;\n }\n // Assume cyclic values are equal.\n var stacked = stack.get(array);\n if (stacked && stack.get(other)) {\n return stacked == other;\n }\n var index = -1,\n result = true,\n seen = (bitmask & UNORDERED_COMPARE_FLAG) ? new SetCache : undefined;\n\n stack.set(array, other);\n stack.set(other, array);\n\n // Ignore non-index properties.\n while (++index < arrLength) {\n var arrValue = array[index],\n othValue = other[index];\n\n if (customizer) {\n var compared = isPartial\n ? customizer(othValue, arrValue, index, other, array, stack)\n : customizer(arrValue, othValue, index, array, other, stack);\n }\n if (compared !== undefined) {\n if (compared) {\n continue;\n }\n result = false;\n break;\n }\n // Recursively compare arrays (susceptible to call stack limits).\n if (seen) {\n if (!arraySome(other, function(othValue, othIndex) {\n if (!seen.has(othIndex) &&\n (arrValue === othValue || equalFunc(arrValue, othValue, customizer, bitmask, stack))) {\n return seen.add(othIndex);\n }\n })) {\n result = false;\n break;\n }\n } else if (!(\n arrValue === othValue ||\n equalFunc(arrValue, othValue, customizer, bitmask, stack)\n )) {\n result = false;\n break;\n }\n }\n stack['delete'](array);\n stack['delete'](other);\n return result;\n}\n\n/**\n * A specialized version of `baseIsEqualDeep` for comparing objects of\n * the same `toStringTag`.\n *\n * **Note:** This function only supports comparing values with tags of\n * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {string} tag The `toStringTag` of the objects to compare.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Function} customizer The function to customize comparisons.\n * @param {number} bitmask The bitmask of comparison flags. See `baseIsEqual`\n * for more details.\n * @param {Object} stack Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction equalByTag(object, other, tag, equalFunc, customizer, bitmask, stack) {\n switch (tag) {\n case dataViewTag:\n if ((object.byteLength != other.byteLength) ||\n (object.byteOffset != other.byteOffset)) {\n return false;\n }\n object = object.buffer;\n other = other.buffer;\n\n case arrayBufferTag:\n if ((object.byteLength != other.byteLength) ||\n !equalFunc(new Uint8Array(object), new Uint8Array(other))) {\n return false;\n }\n return true;\n\n case boolTag:\n case dateTag:\n case numberTag:\n // Coerce booleans to `1` or `0` and dates to milliseconds.\n // Invalid dates are coerced to `NaN`.\n return eq(+object, +other);\n\n case errorTag:\n return object.name == other.name && object.message == other.message;\n\n case regexpTag:\n case stringTag:\n // Coerce regexes to strings and treat strings, primitives and objects,\n // as equal. See http://www.ecma-international.org/ecma-262/7.0/#sec-regexp.prototype.tostring\n // for more details.\n return object == (other + '');\n\n case mapTag:\n var convert = mapToArray;\n\n case setTag:\n var isPartial = bitmask & PARTIAL_COMPARE_FLAG;\n convert || (convert = setToArray);\n\n if (object.size != other.size && !isPartial) {\n return false;\n }\n // Assume cyclic values are equal.\n var stacked = stack.get(object);\n if (stacked) {\n return stacked == other;\n }\n bitmask |= UNORDERED_COMPARE_FLAG;\n\n // Recursively compare objects (susceptible to call stack limits).\n stack.set(object, other);\n var result = equalArrays(convert(object), convert(other), equalFunc, customizer, bitmask, stack);\n stack['delete'](object);\n return result;\n\n case symbolTag:\n if (symbolValueOf) {\n return symbolValueOf.call(object) == symbolValueOf.call(other);\n }\n }\n return false;\n}\n\n/**\n * A specialized version of `baseIsEqualDeep` for objects with support for\n * partial deep comparisons.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Function} customizer The function to customize comparisons.\n * @param {number} bitmask The bitmask of comparison flags. See `baseIsEqual`\n * for more details.\n * @param {Object} stack Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction equalObjects(object, other, equalFunc, customizer, bitmask, stack) {\n var isPartial = bitmask & PARTIAL_COMPARE_FLAG,\n objProps = keys(object),\n objLength = objProps.length,\n othProps = keys(other),\n othLength = othProps.length;\n\n if (objLength != othLength && !isPartial) {\n return false;\n }\n var index = objLength;\n while (index--) {\n var key = objProps[index];\n if (!(isPartial ? key in other : hasOwnProperty.call(other, key))) {\n return false;\n }\n }\n // Assume cyclic values are equal.\n var stacked = stack.get(object);\n if (stacked && stack.get(other)) {\n return stacked == other;\n }\n var result = true;\n stack.set(object, other);\n stack.set(other, object);\n\n var skipCtor = isPartial;\n while (++index < objLength) {\n key = objProps[index];\n var objValue = object[key],\n othValue = other[key];\n\n if (customizer) {\n var compared = isPartial\n ? customizer(othValue, objValue, key, other, object, stack)\n : customizer(objValue, othValue, key, object, other, stack);\n }\n // Recursively compare objects (susceptible to call stack limits).\n if (!(compared === undefined\n ? (objValue === othValue || equalFunc(objValue, othValue, customizer, bitmask, stack))\n : compared\n )) {\n result = false;\n break;\n }\n skipCtor || (skipCtor = key == 'constructor');\n }\n if (result && !skipCtor) {\n var objCtor = object.constructor,\n othCtor = other.constructor;\n\n // Non `Object` object instances with different constructors are not equal.\n if (objCtor != othCtor &&\n ('constructor' in object && 'constructor' in other) &&\n !(typeof objCtor == 'function' && objCtor instanceof objCtor &&\n typeof othCtor == 'function' && othCtor instanceof othCtor)) {\n result = false;\n }\n }\n stack['delete'](object);\n stack['delete'](other);\n return result;\n}\n\n/**\n * Gets the data for `map`.\n *\n * @private\n * @param {Object} map The map to query.\n * @param {string} key The reference key.\n * @returns {*} Returns the map data.\n */\nfunction getMapData(map, key) {\n var data = map.__data__;\n return isKeyable(key)\n ? data[typeof key == 'string' ? 'string' : 'hash']\n : data.map;\n}\n\n/**\n * Gets the property names, values, and compare flags of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the match data of `object`.\n */\nfunction getMatchData(object) {\n var result = keys(object),\n length = result.length;\n\n while (length--) {\n var key = result[length],\n value = object[key];\n\n result[length] = [key, value, isStrictComparable(value)];\n }\n return result;\n}\n\n/**\n * Gets the native function at `key` of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the method to get.\n * @returns {*} Returns the function if it's native, else `undefined`.\n */\nfunction getNative(object, key) {\n var value = getValue(object, key);\n return baseIsNative(value) ? value : undefined;\n}\n\n/**\n * Gets the `toStringTag` of `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nvar getTag = baseGetTag;\n\n// Fallback for data views, maps, sets, and weak maps in IE 11,\n// for data views in Edge < 14, and promises in Node.js.\nif ((DataView && getTag(new DataView(new ArrayBuffer(1))) != dataViewTag) ||\n (Map && getTag(new Map) != mapTag) ||\n (Promise && getTag(Promise.resolve()) != promiseTag) ||\n (Set && getTag(new Set) != setTag) ||\n (WeakMap && getTag(new WeakMap) != weakMapTag)) {\n getTag = function(value) {\n var result = objectToString.call(value),\n Ctor = result == objectTag ? value.constructor : undefined,\n ctorString = Ctor ? toSource(Ctor) : undefined;\n\n if (ctorString) {\n switch (ctorString) {\n case dataViewCtorString: return dataViewTag;\n case mapCtorString: return mapTag;\n case promiseCtorString: return promiseTag;\n case setCtorString: return setTag;\n case weakMapCtorString: return weakMapTag;\n }\n }\n return result;\n };\n}\n\n/**\n * Checks if `path` exists on `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Array|string} path The path to check.\n * @param {Function} hasFunc The function to check properties.\n * @returns {boolean} Returns `true` if `path` exists, else `false`.\n */\nfunction hasPath(object, path, hasFunc) {\n path = isKey(path, object) ? [path] : castPath(path);\n\n var result,\n index = -1,\n length = path.length;\n\n while (++index < length) {\n var key = toKey(path[index]);\n if (!(result = object != null && hasFunc(object, key))) {\n break;\n }\n object = object[key];\n }\n if (result) {\n return result;\n }\n var length = object ? object.length : 0;\n return !!length && isLength(length) && isIndex(key, length) &&\n (isArray(object) || isArguments(object));\n}\n\n/**\n * Checks if `value` is a valid array-like index.\n *\n * @private\n * @param {*} value The value to check.\n * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index.\n * @returns {boolean} Returns `true` if `value` is a valid index, else `false`.\n */\nfunction isIndex(value, length) {\n length = length == null ? MAX_SAFE_INTEGER : length;\n return !!length &&\n (typeof value == 'number' || reIsUint.test(value)) &&\n (value > -1 && value % 1 == 0 && value < length);\n}\n\n/**\n * Checks if `value` is a property name and not a property path.\n *\n * @private\n * @param {*} value The value to check.\n * @param {Object} [object] The object to query keys on.\n * @returns {boolean} Returns `true` if `value` is a property name, else `false`.\n */\nfunction isKey(value, object) {\n if (isArray(value)) {\n return false;\n }\n var type = typeof value;\n if (type == 'number' || type == 'symbol' || type == 'boolean' ||\n value == null || isSymbol(value)) {\n return true;\n }\n return reIsPlainProp.test(value) || !reIsDeepProp.test(value) ||\n (object != null && value in Object(object));\n}\n\n/**\n * Checks if `value` is suitable for use as unique object key.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is suitable, else `false`.\n */\nfunction isKeyable(value) {\n var type = typeof value;\n return (type == 'string' || type == 'number' || type == 'symbol' || type == 'boolean')\n ? (value !== '__proto__')\n : (value === null);\n}\n\n/**\n * Checks if `func` has its source masked.\n *\n * @private\n * @param {Function} func The function to check.\n * @returns {boolean} Returns `true` if `func` is masked, else `false`.\n */\nfunction isMasked(func) {\n return !!maskSrcKey && (maskSrcKey in func);\n}\n\n/**\n * Checks if `value` is likely a prototype object.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a prototype, else `false`.\n */\nfunction isPrototype(value) {\n var Ctor = value && value.constructor,\n proto = (typeof Ctor == 'function' && Ctor.prototype) || objectProto;\n\n return value === proto;\n}\n\n/**\n * Checks if `value` is suitable for strict equality comparisons, i.e. `===`.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` if suitable for strict\n * equality comparisons, else `false`.\n */\nfunction isStrictComparable(value) {\n return value === value && !isObject(value);\n}\n\n/**\n * A specialized version of `matchesProperty` for source values suitable\n * for strict equality comparisons, i.e. `===`.\n *\n * @private\n * @param {string} key The key of the property to get.\n * @param {*} srcValue The value to match.\n * @returns {Function} Returns the new spec function.\n */\nfunction matchesStrictComparable(key, srcValue) {\n return function(object) {\n if (object == null) {\n return false;\n }\n return object[key] === srcValue &&\n (srcValue !== undefined || (key in Object(object)));\n };\n}\n\n/**\n * Converts `string` to a property path array.\n *\n * @private\n * @param {string} string The string to convert.\n * @returns {Array} Returns the property path array.\n */\nvar stringToPath = memoize(function(string) {\n string = toString(string);\n\n var result = [];\n if (reLeadingDot.test(string)) {\n result.push('');\n }\n string.replace(rePropName, function(match, number, quote, string) {\n result.push(quote ? string.replace(reEscapeChar, '$1') : (number || match));\n });\n return result;\n});\n\n/**\n * Converts `value` to a string key if it's not a string or symbol.\n *\n * @private\n * @param {*} value The value to inspect.\n * @returns {string|symbol} Returns the key.\n */\nfunction toKey(value) {\n if (typeof value == 'string' || isSymbol(value)) {\n return value;\n }\n var result = (value + '');\n return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result;\n}\n\n/**\n * Converts `func` to its source code.\n *\n * @private\n * @param {Function} func The function to process.\n * @returns {string} Returns the source code.\n */\nfunction toSource(func) {\n if (func != null) {\n try {\n return funcToString.call(func);\n } catch (e) {}\n try {\n return (func + '');\n } catch (e) {}\n }\n return '';\n}\n\n/**\n * This method is like `_.find` except that it returns the index of the first\n * element `predicate` returns truthy for instead of the element itself.\n *\n * @static\n * @memberOf _\n * @since 1.1.0\n * @category Array\n * @param {Array} array The array to inspect.\n * @param {Function} [predicate=_.identity]\n * The function invoked per iteration.\n * @param {number} [fromIndex=0] The index to search from.\n * @returns {number} Returns the index of the found element, else `-1`.\n * @example\n *\n * var users = [\n * { 'user': 'barney', 'active': false },\n * { 'user': 'fred', 'active': false },\n * { 'user': 'pebbles', 'active': true }\n * ];\n *\n * _.findIndex(users, function(o) { return o.user == 'barney'; });\n * // => 0\n *\n * // The `_.matches` iteratee shorthand.\n * _.findIndex(users, { 'user': 'fred', 'active': false });\n * // => 1\n *\n * // The `_.matchesProperty` iteratee shorthand.\n * _.findIndex(users, ['active', false]);\n * // => 0\n *\n * // The `_.property` iteratee shorthand.\n * _.findIndex(users, 'active');\n * // => 2\n */\nfunction findIndex(array, predicate, fromIndex) {\n var length = array ? array.length : 0;\n if (!length) {\n return -1;\n }\n var index = fromIndex == null ? 0 : toInteger(fromIndex);\n if (index < 0) {\n index = nativeMax(length + index, 0);\n }\n return baseFindIndex(array, baseIteratee(predicate, 3), index);\n}\n\n/**\n * Creates a function that memoizes the result of `func`. If `resolver` is\n * provided, it determines the cache key for storing the result based on the\n * arguments provided to the memoized function. By default, the first argument\n * provided to the memoized function is used as the map cache key. The `func`\n * is invoked with the `this` binding of the memoized function.\n *\n * **Note:** The cache is exposed as the `cache` property on the memoized\n * function. Its creation may be customized by replacing the `_.memoize.Cache`\n * constructor with one whose instances implement the\n * [`Map`](http://ecma-international.org/ecma-262/7.0/#sec-properties-of-the-map-prototype-object)\n * method interface of `delete`, `get`, `has`, and `set`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to have its output memoized.\n * @param {Function} [resolver] The function to resolve the cache key.\n * @returns {Function} Returns the new memoized function.\n * @example\n *\n * var object = { 'a': 1, 'b': 2 };\n * var other = { 'c': 3, 'd': 4 };\n *\n * var values = _.memoize(_.values);\n * values(object);\n * // => [1, 2]\n *\n * values(other);\n * // => [3, 4]\n *\n * object.a = 2;\n * values(object);\n * // => [1, 2]\n *\n * // Modify the result cache.\n * values.cache.set(object, ['a', 'b']);\n * values(object);\n * // => ['a', 'b']\n *\n * // Replace `_.memoize.Cache`.\n * _.memoize.Cache = WeakMap;\n */\nfunction memoize(func, resolver) {\n if (typeof func != 'function' || (resolver && typeof resolver != 'function')) {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n var memoized = function() {\n var args = arguments,\n key = resolver ? resolver.apply(this, args) : args[0],\n cache = memoized.cache;\n\n if (cache.has(key)) {\n return cache.get(key);\n }\n var result = func.apply(this, args);\n memoized.cache = cache.set(key, result);\n return result;\n };\n memoized.cache = new (memoize.Cache || MapCache);\n return memoized;\n}\n\n// Assign cache to `_.memoize`.\nmemoize.Cache = MapCache;\n\n/**\n * Performs a\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * comparison between two values to determine if they are equivalent.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'a': 1 };\n * var other = { 'a': 1 };\n *\n * _.eq(object, object);\n * // => true\n *\n * _.eq(object, other);\n * // => false\n *\n * _.eq('a', 'a');\n * // => true\n *\n * _.eq('a', Object('a'));\n * // => false\n *\n * _.eq(NaN, NaN);\n * // => true\n */\nfunction eq(value, other) {\n return value === other || (value !== value && other !== other);\n}\n\n/**\n * Checks if `value` is likely an `arguments` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n * else `false`.\n * @example\n *\n * _.isArguments(function() { return arguments; }());\n * // => true\n *\n * _.isArguments([1, 2, 3]);\n * // => false\n */\nfunction isArguments(value) {\n // Safari 8.1 makes `arguments.callee` enumerable in strict mode.\n return isArrayLikeObject(value) && hasOwnProperty.call(value, 'callee') &&\n (!propertyIsEnumerable.call(value, 'callee') || objectToString.call(value) == argsTag);\n}\n\n/**\n * Checks if `value` is classified as an `Array` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array, else `false`.\n * @example\n *\n * _.isArray([1, 2, 3]);\n * // => true\n *\n * _.isArray(document.body.children);\n * // => false\n *\n * _.isArray('abc');\n * // => false\n *\n * _.isArray(_.noop);\n * // => false\n */\nvar isArray = Array.isArray;\n\n/**\n * Checks if `value` is array-like. A value is considered array-like if it's\n * not a function and has a `value.length` that's an integer greater than or\n * equal to `0` and less than or equal to `Number.MAX_SAFE_INTEGER`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is array-like, else `false`.\n * @example\n *\n * _.isArrayLike([1, 2, 3]);\n * // => true\n *\n * _.isArrayLike(document.body.children);\n * // => true\n *\n * _.isArrayLike('abc');\n * // => true\n *\n * _.isArrayLike(_.noop);\n * // => false\n */\nfunction isArrayLike(value) {\n return value != null && isLength(value.length) && !isFunction(value);\n}\n\n/**\n * This method is like `_.isArrayLike` except that it also checks if `value`\n * is an object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array-like object,\n * else `false`.\n * @example\n *\n * _.isArrayLikeObject([1, 2, 3]);\n * // => true\n *\n * _.isArrayLikeObject(document.body.children);\n * // => true\n *\n * _.isArrayLikeObject('abc');\n * // => false\n *\n * _.isArrayLikeObject(_.noop);\n * // => false\n */\nfunction isArrayLikeObject(value) {\n return isObjectLike(value) && isArrayLike(value);\n}\n\n/**\n * Checks if `value` is classified as a `Function` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a function, else `false`.\n * @example\n *\n * _.isFunction(_);\n * // => true\n *\n * _.isFunction(/abc/);\n * // => false\n */\nfunction isFunction(value) {\n // The use of `Object#toString` avoids issues with the `typeof` operator\n // in Safari 8-9 which returns 'object' for typed array and other constructors.\n var tag = isObject(value) ? objectToString.call(value) : '';\n return tag == funcTag || tag == genTag;\n}\n\n/**\n * Checks if `value` is a valid array-like length.\n *\n * **Note:** This method is loosely based on\n * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.\n * @example\n *\n * _.isLength(3);\n * // => true\n *\n * _.isLength(Number.MIN_VALUE);\n * // => false\n *\n * _.isLength(Infinity);\n * // => false\n *\n * _.isLength('3');\n * // => false\n */\nfunction isLength(value) {\n return typeof value == 'number' &&\n value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;\n}\n\n/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n var type = typeof value;\n return !!value && (type == 'object' || type == 'function');\n}\n\n/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return !!value && typeof value == 'object';\n}\n\n/**\n * Checks if `value` is classified as a `Symbol` primitive or object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a symbol, else `false`.\n * @example\n *\n * _.isSymbol(Symbol.iterator);\n * // => true\n *\n * _.isSymbol('abc');\n * // => false\n */\nfunction isSymbol(value) {\n return typeof value == 'symbol' ||\n (isObjectLike(value) && objectToString.call(value) == symbolTag);\n}\n\n/**\n * Checks if `value` is classified as a typed array.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n * @example\n *\n * _.isTypedArray(new Uint8Array);\n * // => true\n *\n * _.isTypedArray([]);\n * // => false\n */\nvar isTypedArray = nodeIsTypedArray ? baseUnary(nodeIsTypedArray) : baseIsTypedArray;\n\n/**\n * Converts `value` to a finite number.\n *\n * @static\n * @memberOf _\n * @since 4.12.0\n * @category Lang\n * @param {*} value The value to convert.\n * @returns {number} Returns the converted number.\n * @example\n *\n * _.toFinite(3.2);\n * // => 3.2\n *\n * _.toFinite(Number.MIN_VALUE);\n * // => 5e-324\n *\n * _.toFinite(Infinity);\n * // => 1.7976931348623157e+308\n *\n * _.toFinite('3.2');\n * // => 3.2\n */\nfunction toFinite(value) {\n if (!value) {\n return value === 0 ? value : 0;\n }\n value = toNumber(value);\n if (value === INFINITY || value === -INFINITY) {\n var sign = (value < 0 ? -1 : 1);\n return sign * MAX_INTEGER;\n }\n return value === value ? value : 0;\n}\n\n/**\n * Converts `value` to an integer.\n *\n * **Note:** This method is loosely based on\n * [`ToInteger`](http://www.ecma-international.org/ecma-262/7.0/#sec-tointeger).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to convert.\n * @returns {number} Returns the converted integer.\n * @example\n *\n * _.toInteger(3.2);\n * // => 3\n *\n * _.toInteger(Number.MIN_VALUE);\n * // => 0\n *\n * _.toInteger(Infinity);\n * // => 1.7976931348623157e+308\n *\n * _.toInteger('3.2');\n * // => 3\n */\nfunction toInteger(value) {\n var result = toFinite(value),\n remainder = result % 1;\n\n return result === result ? (remainder ? result - remainder : result) : 0;\n}\n\n/**\n * Converts `value` to a number.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to process.\n * @returns {number} Returns the number.\n * @example\n *\n * _.toNumber(3.2);\n * // => 3.2\n *\n * _.toNumber(Number.MIN_VALUE);\n * // => 5e-324\n *\n * _.toNumber(Infinity);\n * // => Infinity\n *\n * _.toNumber('3.2');\n * // => 3.2\n */\nfunction toNumber(value) {\n if (typeof value == 'number') {\n return value;\n }\n if (isSymbol(value)) {\n return NAN;\n }\n if (isObject(value)) {\n var other = typeof value.valueOf == 'function' ? value.valueOf() : value;\n value = isObject(other) ? (other + '') : other;\n }\n if (typeof value != 'string') {\n return value === 0 ? value : +value;\n }\n value = value.replace(reTrim, '');\n var isBinary = reIsBinary.test(value);\n return (isBinary || reIsOctal.test(value))\n ? freeParseInt(value.slice(2), isBinary ? 2 : 8)\n : (reIsBadHex.test(value) ? NAN : +value);\n}\n\n/**\n * Converts `value` to a string. An empty string is returned for `null`\n * and `undefined` values. The sign of `-0` is preserved.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to process.\n * @returns {string} Returns the string.\n * @example\n *\n * _.toString(null);\n * // => ''\n *\n * _.toString(-0);\n * // => '-0'\n *\n * _.toString([1, 2, 3]);\n * // => '1,2,3'\n */\nfunction toString(value) {\n return value == null ? '' : baseToString(value);\n}\n\n/**\n * Gets the value at `path` of `object`. If the resolved value is\n * `undefined`, the `defaultValue` is returned in its place.\n *\n * @static\n * @memberOf _\n * @since 3.7.0\n * @category Object\n * @param {Object} object The object to query.\n * @param {Array|string} path The path of the property to get.\n * @param {*} [defaultValue] The value returned for `undefined` resolved values.\n * @returns {*} Returns the resolved value.\n * @example\n *\n * var object = { 'a': [{ 'b': { 'c': 3 } }] };\n *\n * _.get(object, 'a[0].b.c');\n * // => 3\n *\n * _.get(object, ['a', '0', 'b', 'c']);\n * // => 3\n *\n * _.get(object, 'a.b.c', 'default');\n * // => 'default'\n */\nfunction get(object, path, defaultValue) {\n var result = object == null ? undefined : baseGet(object, path);\n return result === undefined ? defaultValue : result;\n}\n\n/**\n * Checks if `path` is a direct or inherited property of `object`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Object\n * @param {Object} object The object to query.\n * @param {Array|string} path The path to check.\n * @returns {boolean} Returns `true` if `path` exists, else `false`.\n * @example\n *\n * var object = _.create({ 'a': _.create({ 'b': 2 }) });\n *\n * _.hasIn(object, 'a');\n * // => true\n *\n * _.hasIn(object, 'a.b');\n * // => true\n *\n * _.hasIn(object, ['a', 'b']);\n * // => true\n *\n * _.hasIn(object, 'b');\n * // => false\n */\nfunction hasIn(object, path) {\n return object != null && hasPath(object, path, baseHasIn);\n}\n\n/**\n * Creates an array of the own enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects. See the\n * [ES spec](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)\n * for more details.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keys(new Foo);\n * // => ['a', 'b'] (iteration order is not guaranteed)\n *\n * _.keys('hi');\n * // => ['0', '1']\n */\nfunction keys(object) {\n return isArrayLike(object) ? arrayLikeKeys(object) : baseKeys(object);\n}\n\n/**\n * This method returns the first argument it receives.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Util\n * @param {*} value Any value.\n * @returns {*} Returns `value`.\n * @example\n *\n * var object = { 'a': 1 };\n *\n * console.log(_.identity(object) === object);\n * // => true\n */\nfunction identity(value) {\n return value;\n}\n\n/**\n * Creates a function that returns the value at `path` of a given object.\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Util\n * @param {Array|string} path The path of the property to get.\n * @returns {Function} Returns the new accessor function.\n * @example\n *\n * var objects = [\n * { 'a': { 'b': 2 } },\n * { 'a': { 'b': 1 } }\n * ];\n *\n * _.map(objects, _.property('a.b'));\n * // => [2, 1]\n *\n * _.map(_.sortBy(objects, _.property(['a', 'b'])), 'a.b');\n * // => [1, 2]\n */\nfunction property(path) {\n return isKey(path) ? baseProperty(toKey(path)) : basePropertyDeep(path);\n}\n\nmodule.exports = findIndex;\n","/**\n * Copyright (c) 2014-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\n/**\n * Similar to invariant but only logs a warning if the condition is not met.\n * This can be used to log issues in development environments in critical\n * paths. Removing the logging code for production environments will keep the\n * same logic and follow the same code paths.\n */\n\nvar __DEV__ = process.env.NODE_ENV !== 'production';\n\nvar warning = function() {};\n\nif (__DEV__) {\n var printWarning = function printWarning(format, args) {\n var len = arguments.length;\n args = new Array(len > 1 ? len - 1 : 0);\n for (var key = 1; key < len; key++) {\n args[key - 1] = arguments[key];\n }\n var argIndex = 0;\n var message = 'Warning: ' +\n format.replace(/%s/g, function() {\n return args[argIndex++];\n });\n if (typeof console !== 'undefined') {\n console.error(message);\n }\n try {\n // --- Welcome to debugging React ---\n // This error was thrown as a convenience so that you can use this stack\n // to find the callsite that caused this warning to fire.\n throw new Error(message);\n } catch (x) {}\n }\n\n warning = function(condition, format, args) {\n var len = arguments.length;\n args = new Array(len > 2 ? len - 2 : 0);\n for (var key = 2; key < len; key++) {\n args[key - 2] = arguments[key];\n }\n if (format === undefined) {\n throw new Error(\n '`warning(condition, format, ...args)` requires a warning ' +\n 'message argument'\n );\n }\n if (!condition) {\n printWarning.apply(null, [format].concat(args));\n }\n };\n}\n\nmodule.exports = warning;\n","/**\n * Lodash (Custom Build) <https://lodash.com/>\n * Build: `lodash modularize exports=\"npm\" -o ./`\n * Copyright JS Foundation and other contributors <https://js.foundation/>\n * Released under MIT license <https://lodash.com/license>\n * Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>\n * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n */\n\n/** Used as the size to enable large array optimizations. */\nvar LARGE_ARRAY_SIZE = 200;\n\n/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1,\n COMPARE_UNORDERED_FLAG = 2;\n\n/** Used as references for various `Number` constants. */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n asyncTag = '[object AsyncFunction]',\n boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n funcTag = '[object Function]',\n genTag = '[object GeneratorFunction]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n nullTag = '[object Null]',\n objectTag = '[object Object]',\n promiseTag = '[object Promise]',\n proxyTag = '[object Proxy]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n symbolTag = '[object Symbol]',\n undefinedTag = '[object Undefined]',\n weakMapTag = '[object WeakMap]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n dataViewTag = '[object DataView]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/**\n * Used to match `RegExp`\n * [syntax characters](http://ecma-international.org/ecma-262/7.0/#sec-patterns).\n */\nvar reRegExpChar = /[\\\\^$.*+?()[\\]{}|]/g;\n\n/** Used to detect host constructors (Safari). */\nvar reIsHostCtor = /^\\[object .+?Constructor\\]$/;\n\n/** Used to detect unsigned integer values. */\nvar reIsUint = /^(?:0|[1-9]\\d*)$/;\n\n/** Used to identify `toStringTag` values of typed arrays. */\nvar typedArrayTags = {};\ntypedArrayTags[float32Tag] = typedArrayTags[float64Tag] =\ntypedArrayTags[int8Tag] = typedArrayTags[int16Tag] =\ntypedArrayTags[int32Tag] = typedArrayTags[uint8Tag] =\ntypedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] =\ntypedArrayTags[uint32Tag] = true;\ntypedArrayTags[argsTag] = typedArrayTags[arrayTag] =\ntypedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] =\ntypedArrayTags[dataViewTag] = typedArrayTags[dateTag] =\ntypedArrayTags[errorTag] = typedArrayTags[funcTag] =\ntypedArrayTags[mapTag] = typedArrayTags[numberTag] =\ntypedArrayTags[objectTag] = typedArrayTags[regexpTag] =\ntypedArrayTags[setTag] = typedArrayTags[stringTag] =\ntypedArrayTags[weakMapTag] = false;\n\n/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\n/** Detect free variable `exports`. */\nvar freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;\n\n/** Detect free variable `module`. */\nvar freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;\n\n/** Detect the popular CommonJS extension `module.exports`. */\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n\n/** Detect free variable `process` from Node.js. */\nvar freeProcess = moduleExports && freeGlobal.process;\n\n/** Used to access faster Node.js helpers. */\nvar nodeUtil = (function() {\n try {\n return freeProcess && freeProcess.binding && freeProcess.binding('util');\n } catch (e) {}\n}());\n\n/* Node.js helper references. */\nvar nodeIsTypedArray = nodeUtil && nodeUtil.isTypedArray;\n\n/**\n * A specialized version of `_.filter` for arrays without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {Array} Returns the new filtered array.\n */\nfunction arrayFilter(array, predicate) {\n var index = -1,\n length = array == null ? 0 : array.length,\n resIndex = 0,\n result = [];\n\n while (++index < length) {\n var value = array[index];\n if (predicate(value, index, array)) {\n result[resIndex++] = value;\n }\n }\n return result;\n}\n\n/**\n * Appends the elements of `values` to `array`.\n *\n * @private\n * @param {Array} array The array to modify.\n * @param {Array} values The values to append.\n * @returns {Array} Returns `array`.\n */\nfunction arrayPush(array, values) {\n var index = -1,\n length = values.length,\n offset = array.length;\n\n while (++index < length) {\n array[offset + index] = values[index];\n }\n return array;\n}\n\n/**\n * A specialized version of `_.some` for arrays without support for iteratee\n * shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {boolean} Returns `true` if any element passes the predicate check,\n * else `false`.\n */\nfunction arraySome(array, predicate) {\n var index = -1,\n length = array == null ? 0 : array.length;\n\n while (++index < length) {\n if (predicate(array[index], index, array)) {\n return true;\n }\n }\n return false;\n}\n\n/**\n * The base implementation of `_.times` without support for iteratee shorthands\n * or max array length checks.\n *\n * @private\n * @param {number} n The number of times to invoke `iteratee`.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns the array of results.\n */\nfunction baseTimes(n, iteratee) {\n var index = -1,\n result = Array(n);\n\n while (++index < n) {\n result[index] = iteratee(index);\n }\n return result;\n}\n\n/**\n * The base implementation of `_.unary` without support for storing metadata.\n *\n * @private\n * @param {Function} func The function to cap arguments for.\n * @returns {Function} Returns the new capped function.\n */\nfunction baseUnary(func) {\n return function(value) {\n return func(value);\n };\n}\n\n/**\n * Checks if a `cache` value for `key` exists.\n *\n * @private\n * @param {Object} cache The cache to query.\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction cacheHas(cache, key) {\n return cache.has(key);\n}\n\n/**\n * Gets the value at `key` of `object`.\n *\n * @private\n * @param {Object} [object] The object to query.\n * @param {string} key The key of the property to get.\n * @returns {*} Returns the property value.\n */\nfunction getValue(object, key) {\n return object == null ? undefined : object[key];\n}\n\n/**\n * Converts `map` to its key-value pairs.\n *\n * @private\n * @param {Object} map The map to convert.\n * @returns {Array} Returns the key-value pairs.\n */\nfunction mapToArray(map) {\n var index = -1,\n result = Array(map.size);\n\n map.forEach(function(value, key) {\n result[++index] = [key, value];\n });\n return result;\n}\n\n/**\n * Creates a unary function that invokes `func` with its argument transformed.\n *\n * @private\n * @param {Function} func The function to wrap.\n * @param {Function} transform The argument transform.\n * @returns {Function} Returns the new function.\n */\nfunction overArg(func, transform) {\n return function(arg) {\n return func(transform(arg));\n };\n}\n\n/**\n * Converts `set` to an array of its values.\n *\n * @private\n * @param {Object} set The set to convert.\n * @returns {Array} Returns the values.\n */\nfunction setToArray(set) {\n var index = -1,\n result = Array(set.size);\n\n set.forEach(function(value) {\n result[++index] = value;\n });\n return result;\n}\n\n/** Used for built-in method references. */\nvar arrayProto = Array.prototype,\n funcProto = Function.prototype,\n objectProto = Object.prototype;\n\n/** Used to detect overreaching core-js shims. */\nvar coreJsData = root['__core-js_shared__'];\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Used to detect methods masquerading as native. */\nvar maskSrcKey = (function() {\n var uid = /[^.]+$/.exec(coreJsData && coreJsData.keys && coreJsData.keys.IE_PROTO || '');\n return uid ? ('Symbol(src)_1.' + uid) : '';\n}());\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/** Used to detect if a method is native. */\nvar reIsNative = RegExp('^' +\n funcToString.call(hasOwnProperty).replace(reRegExpChar, '\\\\$&')\n .replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g, '$1.*?') + '$'\n);\n\n/** Built-in value references. */\nvar Buffer = moduleExports ? root.Buffer : undefined,\n Symbol = root.Symbol,\n Uint8Array = root.Uint8Array,\n propertyIsEnumerable = objectProto.propertyIsEnumerable,\n splice = arrayProto.splice,\n symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeGetSymbols = Object.getOwnPropertySymbols,\n nativeIsBuffer = Buffer ? Buffer.isBuffer : undefined,\n nativeKeys = overArg(Object.keys, Object);\n\n/* Built-in method references that are verified to be native. */\nvar DataView = getNative(root, 'DataView'),\n Map = getNative(root, 'Map'),\n Promise = getNative(root, 'Promise'),\n Set = getNative(root, 'Set'),\n WeakMap = getNative(root, 'WeakMap'),\n nativeCreate = getNative(Object, 'create');\n\n/** Used to detect maps, sets, and weakmaps. */\nvar dataViewCtorString = toSource(DataView),\n mapCtorString = toSource(Map),\n promiseCtorString = toSource(Promise),\n setCtorString = toSource(Set),\n weakMapCtorString = toSource(WeakMap);\n\n/** Used to convert symbols to primitives and strings. */\nvar symbolProto = Symbol ? Symbol.prototype : undefined,\n symbolValueOf = symbolProto ? symbolProto.valueOf : undefined;\n\n/**\n * Creates a hash object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Hash(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n/**\n * Removes all key-value entries from the hash.\n *\n * @private\n * @name clear\n * @memberOf Hash\n */\nfunction hashClear() {\n this.__data__ = nativeCreate ? nativeCreate(null) : {};\n this.size = 0;\n}\n\n/**\n * Removes `key` and its value from the hash.\n *\n * @private\n * @name delete\n * @memberOf Hash\n * @param {Object} hash The hash to modify.\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction hashDelete(key) {\n var result = this.has(key) && delete this.__data__[key];\n this.size -= result ? 1 : 0;\n return result;\n}\n\n/**\n * Gets the hash value for `key`.\n *\n * @private\n * @name get\n * @memberOf Hash\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction hashGet(key) {\n var data = this.__data__;\n if (nativeCreate) {\n var result = data[key];\n return result === HASH_UNDEFINED ? undefined : result;\n }\n return hasOwnProperty.call(data, key) ? data[key] : undefined;\n}\n\n/**\n * Checks if a hash value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Hash\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction hashHas(key) {\n var data = this.__data__;\n return nativeCreate ? (data[key] !== undefined) : hasOwnProperty.call(data, key);\n}\n\n/**\n * Sets the hash `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Hash\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the hash instance.\n */\nfunction hashSet(key, value) {\n var data = this.__data__;\n this.size += this.has(key) ? 0 : 1;\n data[key] = (nativeCreate && value === undefined) ? HASH_UNDEFINED : value;\n return this;\n}\n\n// Add methods to `Hash`.\nHash.prototype.clear = hashClear;\nHash.prototype['delete'] = hashDelete;\nHash.prototype.get = hashGet;\nHash.prototype.has = hashHas;\nHash.prototype.set = hashSet;\n\n/**\n * Creates an list cache object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction ListCache(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n/**\n * Removes all key-value entries from the list cache.\n *\n * @private\n * @name clear\n * @memberOf ListCache\n */\nfunction listCacheClear() {\n this.__data__ = [];\n this.size = 0;\n}\n\n/**\n * Removes `key` and its value from the list cache.\n *\n * @private\n * @name delete\n * @memberOf ListCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction listCacheDelete(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n return false;\n }\n var lastIndex = data.length - 1;\n if (index == lastIndex) {\n data.pop();\n } else {\n splice.call(data, index, 1);\n }\n --this.size;\n return true;\n}\n\n/**\n * Gets the list cache value for `key`.\n *\n * @private\n * @name get\n * @memberOf ListCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction listCacheGet(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n return index < 0 ? undefined : data[index][1];\n}\n\n/**\n * Checks if a list cache value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf ListCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction listCacheHas(key) {\n return assocIndexOf(this.__data__, key) > -1;\n}\n\n/**\n * Sets the list cache `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf ListCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the list cache instance.\n */\nfunction listCacheSet(key, value) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n ++this.size;\n data.push([key, value]);\n } else {\n data[index][1] = value;\n }\n return this;\n}\n\n// Add methods to `ListCache`.\nListCache.prototype.clear = listCacheClear;\nListCache.prototype['delete'] = listCacheDelete;\nListCache.prototype.get = listCacheGet;\nListCache.prototype.has = listCacheHas;\nListCache.prototype.set = listCacheSet;\n\n/**\n * Creates a map cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction MapCache(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n/**\n * Removes all key-value entries from the map.\n *\n * @private\n * @name clear\n * @memberOf MapCache\n */\nfunction mapCacheClear() {\n this.size = 0;\n this.__data__ = {\n 'hash': new Hash,\n 'map': new (Map || ListCache),\n 'string': new Hash\n };\n}\n\n/**\n * Removes `key` and its value from the map.\n *\n * @private\n * @name delete\n * @memberOf MapCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction mapCacheDelete(key) {\n var result = getMapData(this, key)['delete'](key);\n this.size -= result ? 1 : 0;\n return result;\n}\n\n/**\n * Gets the map value for `key`.\n *\n * @private\n * @name get\n * @memberOf MapCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction mapCacheGet(key) {\n return getMapData(this, key).get(key);\n}\n\n/**\n * Checks if a map value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf MapCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction mapCacheHas(key) {\n return getMapData(this, key).has(key);\n}\n\n/**\n * Sets the map `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf MapCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the map cache instance.\n */\nfunction mapCacheSet(key, value) {\n var data = getMapData(this, key),\n size = data.size;\n\n data.set(key, value);\n this.size += data.size == size ? 0 : 1;\n return this;\n}\n\n// Add methods to `MapCache`.\nMapCache.prototype.clear = mapCacheClear;\nMapCache.prototype['delete'] = mapCacheDelete;\nMapCache.prototype.get = mapCacheGet;\nMapCache.prototype.has = mapCacheHas;\nMapCache.prototype.set = mapCacheSet;\n\n/**\n *\n * Creates an array cache object to store unique values.\n *\n * @private\n * @constructor\n * @param {Array} [values] The values to cache.\n */\nfunction SetCache(values) {\n var index = -1,\n length = values == null ? 0 : values.length;\n\n this.__data__ = new MapCache;\n while (++index < length) {\n this.add(values[index]);\n }\n}\n\n/**\n * Adds `value` to the array cache.\n *\n * @private\n * @name add\n * @memberOf SetCache\n * @alias push\n * @param {*} value The value to cache.\n * @returns {Object} Returns the cache instance.\n */\nfunction setCacheAdd(value) {\n this.__data__.set(value, HASH_UNDEFINED);\n return this;\n}\n\n/**\n * Checks if `value` is in the array cache.\n *\n * @private\n * @name has\n * @memberOf SetCache\n * @param {*} value The value to search for.\n * @returns {number} Returns `true` if `value` is found, else `false`.\n */\nfunction setCacheHas(value) {\n return this.__data__.has(value);\n}\n\n// Add methods to `SetCache`.\nSetCache.prototype.add = SetCache.prototype.push = setCacheAdd;\nSetCache.prototype.has = setCacheHas;\n\n/**\n * Creates a stack cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Stack(entries) {\n var data = this.__data__ = new ListCache(entries);\n this.size = data.size;\n}\n\n/**\n * Removes all key-value entries from the stack.\n *\n * @private\n * @name clear\n * @memberOf Stack\n */\nfunction stackClear() {\n this.__data__ = new ListCache;\n this.size = 0;\n}\n\n/**\n * Removes `key` and its value from the stack.\n *\n * @private\n * @name delete\n * @memberOf Stack\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction stackDelete(key) {\n var data = this.__data__,\n result = data['delete'](key);\n\n this.size = data.size;\n return result;\n}\n\n/**\n * Gets the stack value for `key`.\n *\n * @private\n * @name get\n * @memberOf Stack\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction stackGet(key) {\n return this.__data__.get(key);\n}\n\n/**\n * Checks if a stack value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Stack\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction stackHas(key) {\n return this.__data__.has(key);\n}\n\n/**\n * Sets the stack `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Stack\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the stack cache instance.\n */\nfunction stackSet(key, value) {\n var data = this.__data__;\n if (data instanceof ListCache) {\n var pairs = data.__data__;\n if (!Map || (pairs.length < LARGE_ARRAY_SIZE - 1)) {\n pairs.push([key, value]);\n this.size = ++data.size;\n return this;\n }\n data = this.__data__ = new MapCache(pairs);\n }\n data.set(key, value);\n this.size = data.size;\n return this;\n}\n\n// Add methods to `Stack`.\nStack.prototype.clear = stackClear;\nStack.prototype['delete'] = stackDelete;\nStack.prototype.get = stackGet;\nStack.prototype.has = stackHas;\nStack.prototype.set = stackSet;\n\n/**\n * Creates an array of the enumerable property names of the array-like `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @param {boolean} inherited Specify returning inherited property names.\n * @returns {Array} Returns the array of property names.\n */\nfunction arrayLikeKeys(value, inherited) {\n var isArr = isArray(value),\n isArg = !isArr && isArguments(value),\n isBuff = !isArr && !isArg && isBuffer(value),\n isType = !isArr && !isArg && !isBuff && isTypedArray(value),\n skipIndexes = isArr || isArg || isBuff || isType,\n result = skipIndexes ? baseTimes(value.length, String) : [],\n length = result.length;\n\n for (var key in value) {\n if ((inherited || hasOwnProperty.call(value, key)) &&\n !(skipIndexes && (\n // Safari 9 has enumerable `arguments.length` in strict mode.\n key == 'length' ||\n // Node.js 0.10 has enumerable non-index properties on buffers.\n (isBuff && (key == 'offset' || key == 'parent')) ||\n // PhantomJS 2 has enumerable non-index properties on typed arrays.\n (isType && (key == 'buffer' || key == 'byteLength' || key == 'byteOffset')) ||\n // Skip index properties.\n isIndex(key, length)\n ))) {\n result.push(key);\n }\n }\n return result;\n}\n\n/**\n * Gets the index at which the `key` is found in `array` of key-value pairs.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} key The key to search for.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction assocIndexOf(array, key) {\n var length = array.length;\n while (length--) {\n if (eq(array[length][0], key)) {\n return length;\n }\n }\n return -1;\n}\n\n/**\n * The base implementation of `getAllKeys` and `getAllKeysIn` which uses\n * `keysFunc` and `symbolsFunc` to get the enumerable property names and\n * symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Function} keysFunc The function to get the keys of `object`.\n * @param {Function} symbolsFunc The function to get the symbols of `object`.\n * @returns {Array} Returns the array of property names and symbols.\n */\nfunction baseGetAllKeys(object, keysFunc, symbolsFunc) {\n var result = keysFunc(object);\n return isArray(object) ? result : arrayPush(result, symbolsFunc(object));\n}\n\n/**\n * The base implementation of `getTag` without fallbacks for buggy environments.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nfunction baseGetTag(value) {\n if (value == null) {\n return value === undefined ? undefinedTag : nullTag;\n }\n return (symToStringTag && symToStringTag in Object(value))\n ? getRawTag(value)\n : objectToString(value);\n}\n\n/**\n * The base implementation of `_.isArguments`.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n */\nfunction baseIsArguments(value) {\n return isObjectLike(value) && baseGetTag(value) == argsTag;\n}\n\n/**\n * The base implementation of `_.isEqual` which supports partial comparisons\n * and tracks traversed objects.\n *\n * @private\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @param {boolean} bitmask The bitmask flags.\n * 1 - Unordered comparison\n * 2 - Partial comparison\n * @param {Function} [customizer] The function to customize comparisons.\n * @param {Object} [stack] Tracks traversed `value` and `other` objects.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n */\nfunction baseIsEqual(value, other, bitmask, customizer, stack) {\n if (value === other) {\n return true;\n }\n if (value == null || other == null || (!isObjectLike(value) && !isObjectLike(other))) {\n return value !== value && other !== other;\n }\n return baseIsEqualDeep(value, other, bitmask, customizer, baseIsEqual, stack);\n}\n\n/**\n * A specialized version of `baseIsEqual` for arrays and objects which performs\n * deep comparisons and tracks traversed objects enabling objects with circular\n * references to be compared.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} [stack] Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction baseIsEqualDeep(object, other, bitmask, customizer, equalFunc, stack) {\n var objIsArr = isArray(object),\n othIsArr = isArray(other),\n objTag = objIsArr ? arrayTag : getTag(object),\n othTag = othIsArr ? arrayTag : getTag(other);\n\n objTag = objTag == argsTag ? objectTag : objTag;\n othTag = othTag == argsTag ? objectTag : othTag;\n\n var objIsObj = objTag == objectTag,\n othIsObj = othTag == objectTag,\n isSameTag = objTag == othTag;\n\n if (isSameTag && isBuffer(object)) {\n if (!isBuffer(other)) {\n return false;\n }\n objIsArr = true;\n objIsObj = false;\n }\n if (isSameTag && !objIsObj) {\n stack || (stack = new Stack);\n return (objIsArr || isTypedArray(object))\n ? equalArrays(object, other, bitmask, customizer, equalFunc, stack)\n : equalByTag(object, other, objTag, bitmask, customizer, equalFunc, stack);\n }\n if (!(bitmask & COMPARE_PARTIAL_FLAG)) {\n var objIsWrapped = objIsObj && hasOwnProperty.call(object, '__wrapped__'),\n othIsWrapped = othIsObj && hasOwnProperty.call(other, '__wrapped__');\n\n if (objIsWrapped || othIsWrapped) {\n var objUnwrapped = objIsWrapped ? object.value() : object,\n othUnwrapped = othIsWrapped ? other.value() : other;\n\n stack || (stack = new Stack);\n return equalFunc(objUnwrapped, othUnwrapped, bitmask, customizer, stack);\n }\n }\n if (!isSameTag) {\n return false;\n }\n stack || (stack = new Stack);\n return equalObjects(object, other, bitmask, customizer, equalFunc, stack);\n}\n\n/**\n * The base implementation of `_.isNative` without bad shim checks.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a native function,\n * else `false`.\n */\nfunction baseIsNative(value) {\n if (!isObject(value) || isMasked(value)) {\n return false;\n }\n var pattern = isFunction(value) ? reIsNative : reIsHostCtor;\n return pattern.test(toSource(value));\n}\n\n/**\n * The base implementation of `_.isTypedArray` without Node.js optimizations.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n */\nfunction baseIsTypedArray(value) {\n return isObjectLike(value) &&\n isLength(value.length) && !!typedArrayTags[baseGetTag(value)];\n}\n\n/**\n * The base implementation of `_.keys` which doesn't treat sparse arrays as dense.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction baseKeys(object) {\n if (!isPrototype(object)) {\n return nativeKeys(object);\n }\n var result = [];\n for (var key in Object(object)) {\n if (hasOwnProperty.call(object, key) && key != 'constructor') {\n result.push(key);\n }\n }\n return result;\n}\n\n/**\n * A specialized version of `baseIsEqualDeep` for arrays with support for\n * partial deep comparisons.\n *\n * @private\n * @param {Array} array The array to compare.\n * @param {Array} other The other array to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} stack Tracks traversed `array` and `other` objects.\n * @returns {boolean} Returns `true` if the arrays are equivalent, else `false`.\n */\nfunction equalArrays(array, other, bitmask, customizer, equalFunc, stack) {\n var isPartial = bitmask & COMPARE_PARTIAL_FLAG,\n arrLength = array.length,\n othLength = other.length;\n\n if (arrLength != othLength && !(isPartial && othLength > arrLength)) {\n return false;\n }\n // Assume cyclic values are equal.\n var stacked = stack.get(array);\n if (stacked && stack.get(other)) {\n return stacked == other;\n }\n var index = -1,\n result = true,\n seen = (bitmask & COMPARE_UNORDERED_FLAG) ? new SetCache : undefined;\n\n stack.set(array, other);\n stack.set(other, array);\n\n // Ignore non-index properties.\n while (++index < arrLength) {\n var arrValue = array[index],\n othValue = other[index];\n\n if (customizer) {\n var compared = isPartial\n ? customizer(othValue, arrValue, index, other, array, stack)\n : customizer(arrValue, othValue, index, array, other, stack);\n }\n if (compared !== undefined) {\n if (compared) {\n continue;\n }\n result = false;\n break;\n }\n // Recursively compare arrays (susceptible to call stack limits).\n if (seen) {\n if (!arraySome(other, function(othValue, othIndex) {\n if (!cacheHas(seen, othIndex) &&\n (arrValue === othValue || equalFunc(arrValue, othValue, bitmask, customizer, stack))) {\n return seen.push(othIndex);\n }\n })) {\n result = false;\n break;\n }\n } else if (!(\n arrValue === othValue ||\n equalFunc(arrValue, othValue, bitmask, customizer, stack)\n )) {\n result = false;\n break;\n }\n }\n stack['delete'](array);\n stack['delete'](other);\n return result;\n}\n\n/**\n * A specialized version of `baseIsEqualDeep` for comparing objects of\n * the same `toStringTag`.\n *\n * **Note:** This function only supports comparing values with tags of\n * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {string} tag The `toStringTag` of the objects to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} stack Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction equalByTag(object, other, tag, bitmask, customizer, equalFunc, stack) {\n switch (tag) {\n case dataViewTag:\n if ((object.byteLength != other.byteLength) ||\n (object.byteOffset != other.byteOffset)) {\n return false;\n }\n object = object.buffer;\n other = other.buffer;\n\n case arrayBufferTag:\n if ((object.byteLength != other.byteLength) ||\n !equalFunc(new Uint8Array(object), new Uint8Array(other))) {\n return false;\n }\n return true;\n\n case boolTag:\n case dateTag:\n case numberTag:\n // Coerce booleans to `1` or `0` and dates to milliseconds.\n // Invalid dates are coerced to `NaN`.\n return eq(+object, +other);\n\n case errorTag:\n return object.name == other.name && object.message == other.message;\n\n case regexpTag:\n case stringTag:\n // Coerce regexes to strings and treat strings, primitives and objects,\n // as equal. See http://www.ecma-international.org/ecma-262/7.0/#sec-regexp.prototype.tostring\n // for more details.\n return object == (other + '');\n\n case mapTag:\n var convert = mapToArray;\n\n case setTag:\n var isPartial = bitmask & COMPARE_PARTIAL_FLAG;\n convert || (convert = setToArray);\n\n if (object.size != other.size && !isPartial) {\n return false;\n }\n // Assume cyclic values are equal.\n var stacked = stack.get(object);\n if (stacked) {\n return stacked == other;\n }\n bitmask |= COMPARE_UNORDERED_FLAG;\n\n // Recursively compare objects (susceptible to call stack limits).\n stack.set(object, other);\n var result = equalArrays(convert(object), convert(other), bitmask, customizer, equalFunc, stack);\n stack['delete'](object);\n return result;\n\n case symbolTag:\n if (symbolValueOf) {\n return symbolValueOf.call(object) == symbolValueOf.call(other);\n }\n }\n return false;\n}\n\n/**\n * A specialized version of `baseIsEqualDeep` for objects with support for\n * partial deep comparisons.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} stack Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction equalObjects(object, other, bitmask, customizer, equalFunc, stack) {\n var isPartial = bitmask & COMPARE_PARTIAL_FLAG,\n objProps = getAllKeys(object),\n objLength = objProps.length,\n othProps = getAllKeys(other),\n othLength = othProps.length;\n\n if (objLength != othLength && !isPartial) {\n return false;\n }\n var index = objLength;\n while (index--) {\n var key = objProps[index];\n if (!(isPartial ? key in other : hasOwnProperty.call(other, key))) {\n return false;\n }\n }\n // Assume cyclic values are equal.\n var stacked = stack.get(object);\n if (stacked && stack.get(other)) {\n return stacked == other;\n }\n var result = true;\n stack.set(object, other);\n stack.set(other, object);\n\n var skipCtor = isPartial;\n while (++index < objLength) {\n key = objProps[index];\n var objValue = object[key],\n othValue = other[key];\n\n if (customizer) {\n var compared = isPartial\n ? customizer(othValue, objValue, key, other, object, stack)\n : customizer(objValue, othValue, key, object, other, stack);\n }\n // Recursively compare objects (susceptible to call stack limits).\n if (!(compared === undefined\n ? (objValue === othValue || equalFunc(objValue, othValue, bitmask, customizer, stack))\n : compared\n )) {\n result = false;\n break;\n }\n skipCtor || (skipCtor = key == 'constructor');\n }\n if (result && !skipCtor) {\n var objCtor = object.constructor,\n othCtor = other.constructor;\n\n // Non `Object` object instances with different constructors are not equal.\n if (objCtor != othCtor &&\n ('constructor' in object && 'constructor' in other) &&\n !(typeof objCtor == 'function' && objCtor instanceof objCtor &&\n typeof othCtor == 'function' && othCtor instanceof othCtor)) {\n result = false;\n }\n }\n stack['delete'](object);\n stack['delete'](other);\n return result;\n}\n\n/**\n * Creates an array of own enumerable property names and symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names and symbols.\n */\nfunction getAllKeys(object) {\n return baseGetAllKeys(object, keys, getSymbols);\n}\n\n/**\n * Gets the data for `map`.\n *\n * @private\n * @param {Object} map The map to query.\n * @param {string} key The reference key.\n * @returns {*} Returns the map data.\n */\nfunction getMapData(map, key) {\n var data = map.__data__;\n return isKeyable(key)\n ? data[typeof key == 'string' ? 'string' : 'hash']\n : data.map;\n}\n\n/**\n * Gets the native function at `key` of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the method to get.\n * @returns {*} Returns the function if it's native, else `undefined`.\n */\nfunction getNative(object, key) {\n var value = getValue(object, key);\n return baseIsNative(value) ? value : undefined;\n}\n\n/**\n * A specialized version of `baseGetTag` which ignores `Symbol.toStringTag` values.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the raw `toStringTag`.\n */\nfunction getRawTag(value) {\n var isOwn = hasOwnProperty.call(value, symToStringTag),\n tag = value[symToStringTag];\n\n try {\n value[symToStringTag] = undefined;\n var unmasked = true;\n } catch (e) {}\n\n var result = nativeObjectToString.call(value);\n if (unmasked) {\n if (isOwn) {\n value[symToStringTag] = tag;\n } else {\n delete value[symToStringTag];\n }\n }\n return result;\n}\n\n/**\n * Creates an array of the own enumerable symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of symbols.\n */\nvar getSymbols = !nativeGetSymbols ? stubArray : function(object) {\n if (object == null) {\n return [];\n }\n object = Object(object);\n return arrayFilter(nativeGetSymbols(object), function(symbol) {\n return propertyIsEnumerable.call(object, symbol);\n });\n};\n\n/**\n * Gets the `toStringTag` of `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nvar getTag = baseGetTag;\n\n// Fallback for data views, maps, sets, and weak maps in IE 11 and promises in Node.js < 6.\nif ((DataView && getTag(new DataView(new ArrayBuffer(1))) != dataViewTag) ||\n (Map && getTag(new Map) != mapTag) ||\n (Promise && getTag(Promise.resolve()) != promiseTag) ||\n (Set && getTag(new Set) != setTag) ||\n (WeakMap && getTag(new WeakMap) != weakMapTag)) {\n getTag = function(value) {\n var result = baseGetTag(value),\n Ctor = result == objectTag ? value.constructor : undefined,\n ctorString = Ctor ? toSource(Ctor) : '';\n\n if (ctorString) {\n switch (ctorString) {\n case dataViewCtorString: return dataViewTag;\n case mapCtorString: return mapTag;\n case promiseCtorString: return promiseTag;\n case setCtorString: return setTag;\n case weakMapCtorString: return weakMapTag;\n }\n }\n return result;\n };\n}\n\n/**\n * Checks if `value` is a valid array-like index.\n *\n * @private\n * @param {*} value The value to check.\n * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index.\n * @returns {boolean} Returns `true` if `value` is a valid index, else `false`.\n */\nfunction isIndex(value, length) {\n length = length == null ? MAX_SAFE_INTEGER : length;\n return !!length &&\n (typeof value == 'number' || reIsUint.test(value)) &&\n (value > -1 && value % 1 == 0 && value < length);\n}\n\n/**\n * Checks if `value` is suitable for use as unique object key.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is suitable, else `false`.\n */\nfunction isKeyable(value) {\n var type = typeof value;\n return (type == 'string' || type == 'number' || type == 'symbol' || type == 'boolean')\n ? (value !== '__proto__')\n : (value === null);\n}\n\n/**\n * Checks if `func` has its source masked.\n *\n * @private\n * @param {Function} func The function to check.\n * @returns {boolean} Returns `true` if `func` is masked, else `false`.\n */\nfunction isMasked(func) {\n return !!maskSrcKey && (maskSrcKey in func);\n}\n\n/**\n * Checks if `value` is likely a prototype object.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a prototype, else `false`.\n */\nfunction isPrototype(value) {\n var Ctor = value && value.constructor,\n proto = (typeof Ctor == 'function' && Ctor.prototype) || objectProto;\n\n return value === proto;\n}\n\n/**\n * Converts `value` to a string using `Object.prototype.toString`.\n *\n * @private\n * @param {*} value The value to convert.\n * @returns {string} Returns the converted string.\n */\nfunction objectToString(value) {\n return nativeObjectToString.call(value);\n}\n\n/**\n * Converts `func` to its source code.\n *\n * @private\n * @param {Function} func The function to convert.\n * @returns {string} Returns the source code.\n */\nfunction toSource(func) {\n if (func != null) {\n try {\n return funcToString.call(func);\n } catch (e) {}\n try {\n return (func + '');\n } catch (e) {}\n }\n return '';\n}\n\n/**\n * Performs a\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * comparison between two values to determine if they are equivalent.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'a': 1 };\n * var other = { 'a': 1 };\n *\n * _.eq(object, object);\n * // => true\n *\n * _.eq(object, other);\n * // => false\n *\n * _.eq('a', 'a');\n * // => true\n *\n * _.eq('a', Object('a'));\n * // => false\n *\n * _.eq(NaN, NaN);\n * // => true\n */\nfunction eq(value, other) {\n return value === other || (value !== value && other !== other);\n}\n\n/**\n * Checks if `value` is likely an `arguments` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n * else `false`.\n * @example\n *\n * _.isArguments(function() { return arguments; }());\n * // => true\n *\n * _.isArguments([1, 2, 3]);\n * // => false\n */\nvar isArguments = baseIsArguments(function() { return arguments; }()) ? baseIsArguments : function(value) {\n return isObjectLike(value) && hasOwnProperty.call(value, 'callee') &&\n !propertyIsEnumerable.call(value, 'callee');\n};\n\n/**\n * Checks if `value` is classified as an `Array` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array, else `false`.\n * @example\n *\n * _.isArray([1, 2, 3]);\n * // => true\n *\n * _.isArray(document.body.children);\n * // => false\n *\n * _.isArray('abc');\n * // => false\n *\n * _.isArray(_.noop);\n * // => false\n */\nvar isArray = Array.isArray;\n\n/**\n * Checks if `value` is array-like. A value is considered array-like if it's\n * not a function and has a `value.length` that's an integer greater than or\n * equal to `0` and less than or equal to `Number.MAX_SAFE_INTEGER`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is array-like, else `false`.\n * @example\n *\n * _.isArrayLike([1, 2, 3]);\n * // => true\n *\n * _.isArrayLike(document.body.children);\n * // => true\n *\n * _.isArrayLike('abc');\n * // => true\n *\n * _.isArrayLike(_.noop);\n * // => false\n */\nfunction isArrayLike(value) {\n return value != null && isLength(value.length) && !isFunction(value);\n}\n\n/**\n * Checks if `value` is a buffer.\n *\n * @static\n * @memberOf _\n * @since 4.3.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a buffer, else `false`.\n * @example\n *\n * _.isBuffer(new Buffer(2));\n * // => true\n *\n * _.isBuffer(new Uint8Array(2));\n * // => false\n */\nvar isBuffer = nativeIsBuffer || stubFalse;\n\n/**\n * Performs a deep comparison between two values to determine if they are\n * equivalent.\n *\n * **Note:** This method supports comparing arrays, array buffers, booleans,\n * date objects, error objects, maps, numbers, `Object` objects, regexes,\n * sets, strings, symbols, and typed arrays. `Object` objects are compared\n * by their own, not inherited, enumerable properties. Functions and DOM\n * nodes are compared by strict equality, i.e. `===`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'a': 1 };\n * var other = { 'a': 1 };\n *\n * _.isEqual(object, other);\n * // => true\n *\n * object === other;\n * // => false\n */\nfunction isEqual(value, other) {\n return baseIsEqual(value, other);\n}\n\n/**\n * Checks if `value` is classified as a `Function` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a function, else `false`.\n * @example\n *\n * _.isFunction(_);\n * // => true\n *\n * _.isFunction(/abc/);\n * // => false\n */\nfunction isFunction(value) {\n if (!isObject(value)) {\n return false;\n }\n // The use of `Object#toString` avoids issues with the `typeof` operator\n // in Safari 9 which returns 'object' for typed arrays and other constructors.\n var tag = baseGetTag(value);\n return tag == funcTag || tag == genTag || tag == asyncTag || tag == proxyTag;\n}\n\n/**\n * Checks if `value` is a valid array-like length.\n *\n * **Note:** This method is loosely based on\n * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.\n * @example\n *\n * _.isLength(3);\n * // => true\n *\n * _.isLength(Number.MIN_VALUE);\n * // => false\n *\n * _.isLength(Infinity);\n * // => false\n *\n * _.isLength('3');\n * // => false\n */\nfunction isLength(value) {\n return typeof value == 'number' &&\n value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;\n}\n\n/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n var type = typeof value;\n return value != null && (type == 'object' || type == 'function');\n}\n\n/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return value != null && typeof value == 'object';\n}\n\n/**\n * Checks if `value` is classified as a typed array.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n * @example\n *\n * _.isTypedArray(new Uint8Array);\n * // => true\n *\n * _.isTypedArray([]);\n * // => false\n */\nvar isTypedArray = nodeIsTypedArray ? baseUnary(nodeIsTypedArray) : baseIsTypedArray;\n\n/**\n * Creates an array of the own enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects. See the\n * [ES spec](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)\n * for more details.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keys(new Foo);\n * // => ['a', 'b'] (iteration order is not guaranteed)\n *\n * _.keys('hi');\n * // => ['0', '1']\n */\nfunction keys(object) {\n return isArrayLike(object) ? arrayLikeKeys(object) : baseKeys(object);\n}\n\n/**\n * This method returns a new empty array.\n *\n * @static\n * @memberOf _\n * @since 4.13.0\n * @category Util\n * @returns {Array} Returns the new empty array.\n * @example\n *\n * var arrays = _.times(2, _.stubArray);\n *\n * console.log(arrays);\n * // => [[], []]\n *\n * console.log(arrays[0] === arrays[1]);\n * // => false\n */\nfunction stubArray() {\n return [];\n}\n\n/**\n * This method returns `false`.\n *\n * @static\n * @memberOf _\n * @since 4.13.0\n * @category Util\n * @returns {boolean} Returns `false`.\n * @example\n *\n * _.times(2, _.stubFalse);\n * // => [false, false]\n */\nfunction stubFalse() {\n return false;\n}\n\nmodule.exports = isEqual;\n","var g;\n\n// This works in non-strict mode\ng = (function() {\n\treturn this;\n})();\n\ntry {\n\t// This works if eval is allowed (see CSP)\n\tg = g || new Function(\"return this\")();\n} catch (e) {\n\t// This works if the window reference is available\n\tif (typeof window === \"object\") g = window;\n}\n\n// g can still be undefined, but nothing to do about it...\n// We return undefined, instead of nothing here, so it's\n// easier to handle this case. if(!global) { ...}\n\nmodule.exports = g;\n","/**\n * lodash (Custom Build) <https://lodash.com/>\n * Build: `lodash modularize exports=\"npm\" -o ./`\n * Copyright jQuery Foundation and other contributors <https://jquery.org/>\n * Released under MIT license <https://lodash.com/license>\n * Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>\n * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n */\n\n/** Used as references for various `Number` constants. */\nvar INFINITY = 1 / 0;\n\n/** `Object#toString` result references. */\nvar symbolTag = '[object Symbol]';\n\n/**\n * Used to match `RegExp`\n * [syntax characters](http://ecma-international.org/ecma-262/6.0/#sec-patterns).\n */\nvar reRegExpChar = /[\\\\^$.*+?()[\\]{}|]/g,\n reHasRegExpChar = RegExp(reRegExpChar.source);\n\n/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objectToString = objectProto.toString;\n\n/** Built-in value references. */\nvar Symbol = root.Symbol;\n\n/** Used to convert symbols to primitives and strings. */\nvar symbolProto = Symbol ? Symbol.prototype : undefined,\n symbolToString = symbolProto ? symbolProto.toString : undefined;\n\n/**\n * The base implementation of `_.toString` which doesn't convert nullish\n * values to empty strings.\n *\n * @private\n * @param {*} value The value to process.\n * @returns {string} Returns the string.\n */\nfunction baseToString(value) {\n // Exit early for strings to avoid a performance hit in some environments.\n if (typeof value == 'string') {\n return value;\n }\n if (isSymbol(value)) {\n return symbolToString ? symbolToString.call(value) : '';\n }\n var result = (value + '');\n return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result;\n}\n\n/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return !!value && typeof value == 'object';\n}\n\n/**\n * Checks if `value` is classified as a `Symbol` primitive or object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a symbol, else `false`.\n * @example\n *\n * _.isSymbol(Symbol.iterator);\n * // => true\n *\n * _.isSymbol('abc');\n * // => false\n */\nfunction isSymbol(value) {\n return typeof value == 'symbol' ||\n (isObjectLike(value) && objectToString.call(value) == symbolTag);\n}\n\n/**\n * Converts `value` to a string. An empty string is returned for `null`\n * and `undefined` values. The sign of `-0` is preserved.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to process.\n * @returns {string} Returns the string.\n * @example\n *\n * _.toString(null);\n * // => ''\n *\n * _.toString(-0);\n * // => '-0'\n *\n * _.toString([1, 2, 3]);\n * // => '1,2,3'\n */\nfunction toString(value) {\n return value == null ? '' : baseToString(value);\n}\n\n/**\n * Escapes the `RegExp` special characters \"^\", \"$\", \"\\\", \".\", \"*\", \"+\",\n * \"?\", \"(\", \")\", \"[\", \"]\", \"{\", \"}\", and \"|\" in `string`.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category String\n * @param {string} [string=''] The string to escape.\n * @returns {string} Returns the escaped string.\n * @example\n *\n * _.escapeRegExp('[lodash](https://lodash.com/)');\n * // => '\\[lodash\\]\\(https://lodash\\.com/\\)'\n */\nfunction escapeRegExp(string) {\n string = toString(string);\n return (string && reHasRegExpChar.test(string))\n ? string.replace(reRegExpChar, '\\\\$&')\n : string;\n}\n\nmodule.exports = escapeRegExp;\n","/**\n * lodash (Custom Build) <https://lodash.com/>\n * Build: `lodash modularize exports=\"npm\" -o ./`\n * Copyright jQuery Foundation and other contributors <https://jquery.org/>\n * Released under MIT license <https://lodash.com/license>\n * Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>\n * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n */\n\n/** Used as the size to enable large array optimizations. */\nvar LARGE_ARRAY_SIZE = 200;\n\n/** Used as the `TypeError` message for \"Functions\" methods. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/** Used to compose bitmasks for comparison styles. */\nvar UNORDERED_COMPARE_FLAG = 1,\n PARTIAL_COMPARE_FLAG = 2;\n\n/** Used as references for various `Number` constants. */\nvar INFINITY = 1 / 0,\n MAX_SAFE_INTEGER = 9007199254740991,\n MAX_INTEGER = 1.7976931348623157e+308,\n NAN = 0 / 0;\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n funcTag = '[object Function]',\n genTag = '[object GeneratorFunction]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n objectTag = '[object Object]',\n promiseTag = '[object Promise]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n symbolTag = '[object Symbol]',\n weakMapTag = '[object WeakMap]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n dataViewTag = '[object DataView]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/** Used to match property names within property paths. */\nvar reIsDeepProp = /\\.|\\[(?:[^[\\]]*|([\"'])(?:(?!\\1)[^\\\\]|\\\\.)*?\\1)\\]/,\n reIsPlainProp = /^\\w*$/,\n reLeadingDot = /^\\./,\n rePropName = /[^.[\\]]+|\\[(?:(-?\\d+(?:\\.\\d+)?)|([\"'])((?:(?!\\2)[^\\\\]|\\\\.)*?)\\2)\\]|(?=(?:\\.|\\[\\])(?:\\.|\\[\\]|$))/g;\n\n/**\n * Used to match `RegExp`\n * [syntax characters](http://ecma-international.org/ecma-262/7.0/#sec-patterns).\n */\nvar reRegExpChar = /[\\\\^$.*+?()[\\]{}|]/g;\n\n/** Used to match leading and trailing whitespace. */\nvar reTrim = /^\\s+|\\s+$/g;\n\n/** Used to match backslashes in property paths. */\nvar reEscapeChar = /\\\\(\\\\)?/g;\n\n/** Used to detect bad signed hexadecimal string values. */\nvar reIsBadHex = /^[-+]0x[0-9a-f]+$/i;\n\n/** Used to detect binary string values. */\nvar reIsBinary = /^0b[01]+$/i;\n\n/** Used to detect host constructors (Safari). */\nvar reIsHostCtor = /^\\[object .+?Constructor\\]$/;\n\n/** Used to detect octal string values. */\nvar reIsOctal = /^0o[0-7]+$/i;\n\n/** Used to detect unsigned integer values. */\nvar reIsUint = /^(?:0|[1-9]\\d*)$/;\n\n/** Used to identify `toStringTag` values of typed arrays. */\nvar typedArrayTags = {};\ntypedArrayTags[float32Tag] = typedArrayTags[float64Tag] =\ntypedArrayTags[int8Tag] = typedArrayTags[int16Tag] =\ntypedArrayTags[int32Tag] = typedArrayTags[uint8Tag] =\ntypedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] =\ntypedArrayTags[uint32Tag] = true;\ntypedArrayTags[argsTag] = typedArrayTags[arrayTag] =\ntypedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] =\ntypedArrayTags[dataViewTag] = typedArrayTags[dateTag] =\ntypedArrayTags[errorTag] = typedArrayTags[funcTag] =\ntypedArrayTags[mapTag] = typedArrayTags[numberTag] =\ntypedArrayTags[objectTag] = typedArrayTags[regexpTag] =\ntypedArrayTags[setTag] = typedArrayTags[stringTag] =\ntypedArrayTags[weakMapTag] = false;\n\n/** Built-in method references without a dependency on `root`. */\nvar freeParseInt = parseInt;\n\n/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\n/** Detect free variable `exports`. */\nvar freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;\n\n/** Detect free variable `module`. */\nvar freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;\n\n/** Detect the popular CommonJS extension `module.exports`. */\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n\n/** Detect free variable `process` from Node.js. */\nvar freeProcess = moduleExports && freeGlobal.process;\n\n/** Used to access faster Node.js helpers. */\nvar nodeUtil = (function() {\n try {\n return freeProcess && freeProcess.binding('util');\n } catch (e) {}\n}());\n\n/* Node.js helper references. */\nvar nodeIsTypedArray = nodeUtil && nodeUtil.isTypedArray;\n\n/**\n * A specialized version of `_.some` for arrays without support for iteratee\n * shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {boolean} Returns `true` if any element passes the predicate check,\n * else `false`.\n */\nfunction arraySome(array, predicate) {\n var index = -1,\n length = array ? array.length : 0;\n\n while (++index < length) {\n if (predicate(array[index], index, array)) {\n return true;\n }\n }\n return false;\n}\n\n/**\n * The base implementation of `_.findIndex` and `_.findLastIndex` without\n * support for iteratee shorthands.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {Function} predicate The function invoked per iteration.\n * @param {number} fromIndex The index to search from.\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction baseFindIndex(array, predicate, fromIndex, fromRight) {\n var length = array.length,\n index = fromIndex + (fromRight ? 1 : -1);\n\n while ((fromRight ? index-- : ++index < length)) {\n if (predicate(array[index], index, array)) {\n return index;\n }\n }\n return -1;\n}\n\n/**\n * The base implementation of `_.property` without support for deep paths.\n *\n * @private\n * @param {string} key The key of the property to get.\n * @returns {Function} Returns the new accessor function.\n */\nfunction baseProperty(key) {\n return function(object) {\n return object == null ? undefined : object[key];\n };\n}\n\n/**\n * The base implementation of `_.times` without support for iteratee shorthands\n * or max array length checks.\n *\n * @private\n * @param {number} n The number of times to invoke `iteratee`.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns the array of results.\n */\nfunction baseTimes(n, iteratee) {\n var index = -1,\n result = Array(n);\n\n while (++index < n) {\n result[index] = iteratee(index);\n }\n return result;\n}\n\n/**\n * The base implementation of `_.unary` without support for storing metadata.\n *\n * @private\n * @param {Function} func The function to cap arguments for.\n * @returns {Function} Returns the new capped function.\n */\nfunction baseUnary(func) {\n return function(value) {\n return func(value);\n };\n}\n\n/**\n * Gets the value at `key` of `object`.\n *\n * @private\n * @param {Object} [object] The object to query.\n * @param {string} key The key of the property to get.\n * @returns {*} Returns the property value.\n */\nfunction getValue(object, key) {\n return object == null ? undefined : object[key];\n}\n\n/**\n * Checks if `value` is a host object in IE < 9.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a host object, else `false`.\n */\nfunction isHostObject(value) {\n // Many host objects are `Object` objects that can coerce to strings\n // despite having improperly defined `toString` methods.\n var result = false;\n if (value != null && typeof value.toString != 'function') {\n try {\n result = !!(value + '');\n } catch (e) {}\n }\n return result;\n}\n\n/**\n * Converts `map` to its key-value pairs.\n *\n * @private\n * @param {Object} map The map to convert.\n * @returns {Array} Returns the key-value pairs.\n */\nfunction mapToArray(map) {\n var index = -1,\n result = Array(map.size);\n\n map.forEach(function(value, key) {\n result[++index] = [key, value];\n });\n return result;\n}\n\n/**\n * Creates a unary function that invokes `func` with its argument transformed.\n *\n * @private\n * @param {Function} func The function to wrap.\n * @param {Function} transform The argument transform.\n * @returns {Function} Returns the new function.\n */\nfunction overArg(func, transform) {\n return function(arg) {\n return func(transform(arg));\n };\n}\n\n/**\n * Converts `set` to an array of its values.\n *\n * @private\n * @param {Object} set The set to convert.\n * @returns {Array} Returns the values.\n */\nfunction setToArray(set) {\n var index = -1,\n result = Array(set.size);\n\n set.forEach(function(value) {\n result[++index] = value;\n });\n return result;\n}\n\n/** Used for built-in method references. */\nvar arrayProto = Array.prototype,\n funcProto = Function.prototype,\n objectProto = Object.prototype;\n\n/** Used to detect overreaching core-js shims. */\nvar coreJsData = root['__core-js_shared__'];\n\n/** Used to detect methods masquerading as native. */\nvar maskSrcKey = (function() {\n var uid = /[^.]+$/.exec(coreJsData && coreJsData.keys && coreJsData.keys.IE_PROTO || '');\n return uid ? ('Symbol(src)_1.' + uid) : '';\n}());\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objectToString = objectProto.toString;\n\n/** Used to detect if a method is native. */\nvar reIsNative = RegExp('^' +\n funcToString.call(hasOwnProperty).replace(reRegExpChar, '\\\\$&')\n .replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g, '$1.*?') + '$'\n);\n\n/** Built-in value references. */\nvar Symbol = root.Symbol,\n Uint8Array = root.Uint8Array,\n propertyIsEnumerable = objectProto.propertyIsEnumerable,\n splice = arrayProto.splice;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeKeys = overArg(Object.keys, Object),\n nativeMax = Math.max;\n\n/* Built-in method references that are verified to be native. */\nvar DataView = getNative(root, 'DataView'),\n Map = getNative(root, 'Map'),\n Promise = getNative(root, 'Promise'),\n Set = getNative(root, 'Set'),\n WeakMap = getNative(root, 'WeakMap'),\n nativeCreate = getNative(Object, 'create');\n\n/** Used to detect maps, sets, and weakmaps. */\nvar dataViewCtorString = toSource(DataView),\n mapCtorString = toSource(Map),\n promiseCtorString = toSource(Promise),\n setCtorString = toSource(Set),\n weakMapCtorString = toSource(WeakMap);\n\n/** Used to convert symbols to primitives and strings. */\nvar symbolProto = Symbol ? Symbol.prototype : undefined,\n symbolValueOf = symbolProto ? symbolProto.valueOf : undefined,\n symbolToString = symbolProto ? symbolProto.toString : undefined;\n\n/**\n * Creates a hash object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Hash(entries) {\n var index = -1,\n length = entries ? entries.length : 0;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n/**\n * Removes all key-value entries from the hash.\n *\n * @private\n * @name clear\n * @memberOf Hash\n */\nfunction hashClear() {\n this.__data__ = nativeCreate ? nativeCreate(null) : {};\n}\n\n/**\n * Removes `key` and its value from the hash.\n *\n * @private\n * @name delete\n * @memberOf Hash\n * @param {Object} hash The hash to modify.\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction hashDelete(key) {\n return this.has(key) && delete this.__data__[key];\n}\n\n/**\n * Gets the hash value for `key`.\n *\n * @private\n * @name get\n * @memberOf Hash\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction hashGet(key) {\n var data = this.__data__;\n if (nativeCreate) {\n var result = data[key];\n return result === HASH_UNDEFINED ? undefined : result;\n }\n return hasOwnProperty.call(data, key) ? data[key] : undefined;\n}\n\n/**\n * Checks if a hash value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Hash\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction hashHas(key) {\n var data = this.__data__;\n return nativeCreate ? data[key] !== undefined : hasOwnProperty.call(data, key);\n}\n\n/**\n * Sets the hash `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Hash\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the hash instance.\n */\nfunction hashSet(key, value) {\n var data = this.__data__;\n data[key] = (nativeCreate && value === undefined) ? HASH_UNDEFINED : value;\n return this;\n}\n\n// Add methods to `Hash`.\nHash.prototype.clear = hashClear;\nHash.prototype['delete'] = hashDelete;\nHash.prototype.get = hashGet;\nHash.prototype.has = hashHas;\nHash.prototype.set = hashSet;\n\n/**\n * Creates an list cache object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction ListCache(entries) {\n var index = -1,\n length = entries ? entries.length : 0;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n/**\n * Removes all key-value entries from the list cache.\n *\n * @private\n * @name clear\n * @memberOf ListCache\n */\nfunction listCacheClear() {\n this.__data__ = [];\n}\n\n/**\n * Removes `key` and its value from the list cache.\n *\n * @private\n * @name delete\n * @memberOf ListCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction listCacheDelete(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n return false;\n }\n var lastIndex = data.length - 1;\n if (index == lastIndex) {\n data.pop();\n } else {\n splice.call(data, index, 1);\n }\n return true;\n}\n\n/**\n * Gets the list cache value for `key`.\n *\n * @private\n * @name get\n * @memberOf ListCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction listCacheGet(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n return index < 0 ? undefined : data[index][1];\n}\n\n/**\n * Checks if a list cache value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf ListCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction listCacheHas(key) {\n return assocIndexOf(this.__data__, key) > -1;\n}\n\n/**\n * Sets the list cache `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf ListCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the list cache instance.\n */\nfunction listCacheSet(key, value) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n data.push([key, value]);\n } else {\n data[index][1] = value;\n }\n return this;\n}\n\n// Add methods to `ListCache`.\nListCache.prototype.clear = listCacheClear;\nListCache.prototype['delete'] = listCacheDelete;\nListCache.prototype.get = listCacheGet;\nListCache.prototype.has = listCacheHas;\nListCache.prototype.set = listCacheSet;\n\n/**\n * Creates a map cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction MapCache(entries) {\n var index = -1,\n length = entries ? entries.length : 0;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n/**\n * Removes all key-value entries from the map.\n *\n * @private\n * @name clear\n * @memberOf MapCache\n */\nfunction mapCacheClear() {\n this.__data__ = {\n 'hash': new Hash,\n 'map': new (Map || ListCache),\n 'string': new Hash\n };\n}\n\n/**\n * Removes `key` and its value from the map.\n *\n * @private\n * @name delete\n * @memberOf MapCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction mapCacheDelete(key) {\n return getMapData(this, key)['delete'](key);\n}\n\n/**\n * Gets the map value for `key`.\n *\n * @private\n * @name get\n * @memberOf MapCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction mapCacheGet(key) {\n return getMapData(this, key).get(key);\n}\n\n/**\n * Checks if a map value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf MapCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction mapCacheHas(key) {\n return getMapData(this, key).has(key);\n}\n\n/**\n * Sets the map `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf MapCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the map cache instance.\n */\nfunction mapCacheSet(key, value) {\n getMapData(this, key).set(key, value);\n return this;\n}\n\n// Add methods to `MapCache`.\nMapCache.prototype.clear = mapCacheClear;\nMapCache.prototype['delete'] = mapCacheDelete;\nMapCache.prototype.get = mapCacheGet;\nMapCache.prototype.has = mapCacheHas;\nMapCache.prototype.set = mapCacheSet;\n\n/**\n *\n * Creates an array cache object to store unique values.\n *\n * @private\n * @constructor\n * @param {Array} [values] The values to cache.\n */\nfunction SetCache(values) {\n var index = -1,\n length = values ? values.length : 0;\n\n this.__data__ = new MapCache;\n while (++index < length) {\n this.add(values[index]);\n }\n}\n\n/**\n * Adds `value` to the array cache.\n *\n * @private\n * @name add\n * @memberOf SetCache\n * @alias push\n * @param {*} value The value to cache.\n * @returns {Object} Returns the cache instance.\n */\nfunction setCacheAdd(value) {\n this.__data__.set(value, HASH_UNDEFINED);\n return this;\n}\n\n/**\n * Checks if `value` is in the array cache.\n *\n * @private\n * @name has\n * @memberOf SetCache\n * @param {*} value The value to search for.\n * @returns {number} Returns `true` if `value` is found, else `false`.\n */\nfunction setCacheHas(value) {\n return this.__data__.has(value);\n}\n\n// Add methods to `SetCache`.\nSetCache.prototype.add = SetCache.prototype.push = setCacheAdd;\nSetCache.prototype.has = setCacheHas;\n\n/**\n * Creates a stack cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Stack(entries) {\n this.__data__ = new ListCache(entries);\n}\n\n/**\n * Removes all key-value entries from the stack.\n *\n * @private\n * @name clear\n * @memberOf Stack\n */\nfunction stackClear() {\n this.__data__ = new ListCache;\n}\n\n/**\n * Removes `key` and its value from the stack.\n *\n * @private\n * @name delete\n * @memberOf Stack\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction stackDelete(key) {\n return this.__data__['delete'](key);\n}\n\n/**\n * Gets the stack value for `key`.\n *\n * @private\n * @name get\n * @memberOf Stack\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction stackGet(key) {\n return this.__data__.get(key);\n}\n\n/**\n * Checks if a stack value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Stack\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction stackHas(key) {\n return this.__data__.has(key);\n}\n\n/**\n * Sets the stack `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Stack\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the stack cache instance.\n */\nfunction stackSet(key, value) {\n var cache = this.__data__;\n if (cache instanceof ListCache) {\n var pairs = cache.__data__;\n if (!Map || (pairs.length < LARGE_ARRAY_SIZE - 1)) {\n pairs.push([key, value]);\n return this;\n }\n cache = this.__data__ = new MapCache(pairs);\n }\n cache.set(key, value);\n return this;\n}\n\n// Add methods to `Stack`.\nStack.prototype.clear = stackClear;\nStack.prototype['delete'] = stackDelete;\nStack.prototype.get = stackGet;\nStack.prototype.has = stackHas;\nStack.prototype.set = stackSet;\n\n/**\n * Creates an array of the enumerable property names of the array-like `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @param {boolean} inherited Specify returning inherited property names.\n * @returns {Array} Returns the array of property names.\n */\nfunction arrayLikeKeys(value, inherited) {\n // Safari 8.1 makes `arguments.callee` enumerable in strict mode.\n // Safari 9 makes `arguments.length` enumerable in strict mode.\n var result = (isArray(value) || isArguments(value))\n ? baseTimes(value.length, String)\n : [];\n\n var length = result.length,\n skipIndexes = !!length;\n\n for (var key in value) {\n if ((inherited || hasOwnProperty.call(value, key)) &&\n !(skipIndexes && (key == 'length' || isIndex(key, length)))) {\n result.push(key);\n }\n }\n return result;\n}\n\n/**\n * Gets the index at which the `key` is found in `array` of key-value pairs.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} key The key to search for.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction assocIndexOf(array, key) {\n var length = array.length;\n while (length--) {\n if (eq(array[length][0], key)) {\n return length;\n }\n }\n return -1;\n}\n\n/**\n * The base implementation of `_.get` without support for default values.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Array|string} path The path of the property to get.\n * @returns {*} Returns the resolved value.\n */\nfunction baseGet(object, path) {\n path = isKey(path, object) ? [path] : castPath(path);\n\n var index = 0,\n length = path.length;\n\n while (object != null && index < length) {\n object = object[toKey(path[index++])];\n }\n return (index && index == length) ? object : undefined;\n}\n\n/**\n * The base implementation of `getTag`.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nfunction baseGetTag(value) {\n return objectToString.call(value);\n}\n\n/**\n * The base implementation of `_.hasIn` without support for deep paths.\n *\n * @private\n * @param {Object} [object] The object to query.\n * @param {Array|string} key The key to check.\n * @returns {boolean} Returns `true` if `key` exists, else `false`.\n */\nfunction baseHasIn(object, key) {\n return object != null && key in Object(object);\n}\n\n/**\n * The base implementation of `_.isEqual` which supports partial comparisons\n * and tracks traversed objects.\n *\n * @private\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @param {Function} [customizer] The function to customize comparisons.\n * @param {boolean} [bitmask] The bitmask of comparison flags.\n * The bitmask may be composed of the following flags:\n * 1 - Unordered comparison\n * 2 - Partial comparison\n * @param {Object} [stack] Tracks traversed `value` and `other` objects.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n */\nfunction baseIsEqual(value, other, customizer, bitmask, stack) {\n if (value === other) {\n return true;\n }\n if (value == null || other == null || (!isObject(value) && !isObjectLike(other))) {\n return value !== value && other !== other;\n }\n return baseIsEqualDeep(value, other, baseIsEqual, customizer, bitmask, stack);\n}\n\n/**\n * A specialized version of `baseIsEqual` for arrays and objects which performs\n * deep comparisons and tracks traversed objects enabling objects with circular\n * references to be compared.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Function} [customizer] The function to customize comparisons.\n * @param {number} [bitmask] The bitmask of comparison flags. See `baseIsEqual`\n * for more details.\n * @param {Object} [stack] Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction baseIsEqualDeep(object, other, equalFunc, customizer, bitmask, stack) {\n var objIsArr = isArray(object),\n othIsArr = isArray(other),\n objTag = arrayTag,\n othTag = arrayTag;\n\n if (!objIsArr) {\n objTag = getTag(object);\n objTag = objTag == argsTag ? objectTag : objTag;\n }\n if (!othIsArr) {\n othTag = getTag(other);\n othTag = othTag == argsTag ? objectTag : othTag;\n }\n var objIsObj = objTag == objectTag && !isHostObject(object),\n othIsObj = othTag == objectTag && !isHostObject(other),\n isSameTag = objTag == othTag;\n\n if (isSameTag && !objIsObj) {\n stack || (stack = new Stack);\n return (objIsArr || isTypedArray(object))\n ? equalArrays(object, other, equalFunc, customizer, bitmask, stack)\n : equalByTag(object, other, objTag, equalFunc, customizer, bitmask, stack);\n }\n if (!(bitmask & PARTIAL_COMPARE_FLAG)) {\n var objIsWrapped = objIsObj && hasOwnProperty.call(object, '__wrapped__'),\n othIsWrapped = othIsObj && hasOwnProperty.call(other, '__wrapped__');\n\n if (objIsWrapped || othIsWrapped) {\n var objUnwrapped = objIsWrapped ? object.value() : object,\n othUnwrapped = othIsWrapped ? other.value() : other;\n\n stack || (stack = new Stack);\n return equalFunc(objUnwrapped, othUnwrapped, customizer, bitmask, stack);\n }\n }\n if (!isSameTag) {\n return false;\n }\n stack || (stack = new Stack);\n return equalObjects(object, other, equalFunc, customizer, bitmask, stack);\n}\n\n/**\n * The base implementation of `_.isMatch` without support for iteratee shorthands.\n *\n * @private\n * @param {Object} object The object to inspect.\n * @param {Object} source The object of property values to match.\n * @param {Array} matchData The property names, values, and compare flags to match.\n * @param {Function} [customizer] The function to customize comparisons.\n * @returns {boolean} Returns `true` if `object` is a match, else `false`.\n */\nfunction baseIsMatch(object, source, matchData, customizer) {\n var index = matchData.length,\n length = index,\n noCustomizer = !customizer;\n\n if (object == null) {\n return !length;\n }\n object = Object(object);\n while (index--) {\n var data = matchData[index];\n if ((noCustomizer && data[2])\n ? data[1] !== object[data[0]]\n : !(data[0] in object)\n ) {\n return false;\n }\n }\n while (++index < length) {\n data = matchData[index];\n var key = data[0],\n objValue = object[key],\n srcValue = data[1];\n\n if (noCustomizer && data[2]) {\n if (objValue === undefined && !(key in object)) {\n return false;\n }\n } else {\n var stack = new Stack;\n if (customizer) {\n var result = customizer(objValue, srcValue, key, object, source, stack);\n }\n if (!(result === undefined\n ? baseIsEqual(srcValue, objValue, customizer, UNORDERED_COMPARE_FLAG | PARTIAL_COMPARE_FLAG, stack)\n : result\n )) {\n return false;\n }\n }\n }\n return true;\n}\n\n/**\n * The base implementation of `_.isNative` without bad shim checks.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a native function,\n * else `false`.\n */\nfunction baseIsNative(value) {\n if (!isObject(value) || isMasked(value)) {\n return false;\n }\n var pattern = (isFunction(value) || isHostObject(value)) ? reIsNative : reIsHostCtor;\n return pattern.test(toSource(value));\n}\n\n/**\n * The base implementation of `_.isTypedArray` without Node.js optimizations.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n */\nfunction baseIsTypedArray(value) {\n return isObjectLike(value) &&\n isLength(value.length) && !!typedArrayTags[objectToString.call(value)];\n}\n\n/**\n * The base implementation of `_.iteratee`.\n *\n * @private\n * @param {*} [value=_.identity] The value to convert to an iteratee.\n * @returns {Function} Returns the iteratee.\n */\nfunction baseIteratee(value) {\n // Don't store the `typeof` result in a variable to avoid a JIT bug in Safari 9.\n // See https://bugs.webkit.org/show_bug.cgi?id=156034 for more details.\n if (typeof value == 'function') {\n return value;\n }\n if (value == null) {\n return identity;\n }\n if (typeof value == 'object') {\n return isArray(value)\n ? baseMatchesProperty(value[0], value[1])\n : baseMatches(value);\n }\n return property(value);\n}\n\n/**\n * The base implementation of `_.keys` which doesn't treat sparse arrays as dense.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction baseKeys(object) {\n if (!isPrototype(object)) {\n return nativeKeys(object);\n }\n var result = [];\n for (var key in Object(object)) {\n if (hasOwnProperty.call(object, key) && key != 'constructor') {\n result.push(key);\n }\n }\n return result;\n}\n\n/**\n * The base implementation of `_.matches` which doesn't clone `source`.\n *\n * @private\n * @param {Object} source The object of property values to match.\n * @returns {Function} Returns the new spec function.\n */\nfunction baseMatches(source) {\n var matchData = getMatchData(source);\n if (matchData.length == 1 && matchData[0][2]) {\n return matchesStrictComparable(matchData[0][0], matchData[0][1]);\n }\n return function(object) {\n return object === source || baseIsMatch(object, source, matchData);\n };\n}\n\n/**\n * The base implementation of `_.matchesProperty` which doesn't clone `srcValue`.\n *\n * @private\n * @param {string} path The path of the property to get.\n * @param {*} srcValue The value to match.\n * @returns {Function} Returns the new spec function.\n */\nfunction baseMatchesProperty(path, srcValue) {\n if (isKey(path) && isStrictComparable(srcValue)) {\n return matchesStrictComparable(toKey(path), srcValue);\n }\n return function(object) {\n var objValue = get(object, path);\n return (objValue === undefined && objValue === srcValue)\n ? hasIn(object, path)\n : baseIsEqual(srcValue, objValue, undefined, UNORDERED_COMPARE_FLAG | PARTIAL_COMPARE_FLAG);\n };\n}\n\n/**\n * A specialized version of `baseProperty` which supports deep paths.\n *\n * @private\n * @param {Array|string} path The path of the property to get.\n * @returns {Function} Returns the new accessor function.\n */\nfunction basePropertyDeep(path) {\n return function(object) {\n return baseGet(object, path);\n };\n}\n\n/**\n * The base implementation of `_.toString` which doesn't convert nullish\n * values to empty strings.\n *\n * @private\n * @param {*} value The value to process.\n * @returns {string} Returns the string.\n */\nfunction baseToString(value) {\n // Exit early for strings to avoid a performance hit in some environments.\n if (typeof value == 'string') {\n return value;\n }\n if (isSymbol(value)) {\n return symbolToString ? symbolToString.call(value) : '';\n }\n var result = (value + '');\n return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result;\n}\n\n/**\n * Casts `value` to a path array if it's not one.\n *\n * @private\n * @param {*} value The value to inspect.\n * @returns {Array} Returns the cast property path array.\n */\nfunction castPath(value) {\n return isArray(value) ? value : stringToPath(value);\n}\n\n/**\n * Creates a `_.find` or `_.findLast` function.\n *\n * @private\n * @param {Function} findIndexFunc The function to find the collection index.\n * @returns {Function} Returns the new find function.\n */\nfunction createFind(findIndexFunc) {\n return function(collection, predicate, fromIndex) {\n var iterable = Object(collection);\n if (!isArrayLike(collection)) {\n var iteratee = baseIteratee(predicate, 3);\n collection = keys(collection);\n predicate = function(key) { return iteratee(iterable[key], key, iterable); };\n }\n var index = findIndexFunc(collection, predicate, fromIndex);\n return index > -1 ? iterable[iteratee ? collection[index] : index] : undefined;\n };\n}\n\n/**\n * A specialized version of `baseIsEqualDeep` for arrays with support for\n * partial deep comparisons.\n *\n * @private\n * @param {Array} array The array to compare.\n * @param {Array} other The other array to compare.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Function} customizer The function to customize comparisons.\n * @param {number} bitmask The bitmask of comparison flags. See `baseIsEqual`\n * for more details.\n * @param {Object} stack Tracks traversed `array` and `other` objects.\n * @returns {boolean} Returns `true` if the arrays are equivalent, else `false`.\n */\nfunction equalArrays(array, other, equalFunc, customizer, bitmask, stack) {\n var isPartial = bitmask & PARTIAL_COMPARE_FLAG,\n arrLength = array.length,\n othLength = other.length;\n\n if (arrLength != othLength && !(isPartial && othLength > arrLength)) {\n return false;\n }\n // Assume cyclic values are equal.\n var stacked = stack.get(array);\n if (stacked && stack.get(other)) {\n return stacked == other;\n }\n var index = -1,\n result = true,\n seen = (bitmask & UNORDERED_COMPARE_FLAG) ? new SetCache : undefined;\n\n stack.set(array, other);\n stack.set(other, array);\n\n // Ignore non-index properties.\n while (++index < arrLength) {\n var arrValue = array[index],\n othValue = other[index];\n\n if (customizer) {\n var compared = isPartial\n ? customizer(othValue, arrValue, index, other, array, stack)\n : customizer(arrValue, othValue, index, array, other, stack);\n }\n if (compared !== undefined) {\n if (compared) {\n continue;\n }\n result = false;\n break;\n }\n // Recursively compare arrays (susceptible to call stack limits).\n if (seen) {\n if (!arraySome(other, function(othValue, othIndex) {\n if (!seen.has(othIndex) &&\n (arrValue === othValue || equalFunc(arrValue, othValue, customizer, bitmask, stack))) {\n return seen.add(othIndex);\n }\n })) {\n result = false;\n break;\n }\n } else if (!(\n arrValue === othValue ||\n equalFunc(arrValue, othValue, customizer, bitmask, stack)\n )) {\n result = false;\n break;\n }\n }\n stack['delete'](array);\n stack['delete'](other);\n return result;\n}\n\n/**\n * A specialized version of `baseIsEqualDeep` for comparing objects of\n * the same `toStringTag`.\n *\n * **Note:** This function only supports comparing values with tags of\n * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {string} tag The `toStringTag` of the objects to compare.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Function} customizer The function to customize comparisons.\n * @param {number} bitmask The bitmask of comparison flags. See `baseIsEqual`\n * for more details.\n * @param {Object} stack Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction equalByTag(object, other, tag, equalFunc, customizer, bitmask, stack) {\n switch (tag) {\n case dataViewTag:\n if ((object.byteLength != other.byteLength) ||\n (object.byteOffset != other.byteOffset)) {\n return false;\n }\n object = object.buffer;\n other = other.buffer;\n\n case arrayBufferTag:\n if ((object.byteLength != other.byteLength) ||\n !equalFunc(new Uint8Array(object), new Uint8Array(other))) {\n return false;\n }\n return true;\n\n case boolTag:\n case dateTag:\n case numberTag:\n // Coerce booleans to `1` or `0` and dates to milliseconds.\n // Invalid dates are coerced to `NaN`.\n return eq(+object, +other);\n\n case errorTag:\n return object.name == other.name && object.message == other.message;\n\n case regexpTag:\n case stringTag:\n // Coerce regexes to strings and treat strings, primitives and objects,\n // as equal. See http://www.ecma-international.org/ecma-262/7.0/#sec-regexp.prototype.tostring\n // for more details.\n return object == (other + '');\n\n case mapTag:\n var convert = mapToArray;\n\n case setTag:\n var isPartial = bitmask & PARTIAL_COMPARE_FLAG;\n convert || (convert = setToArray);\n\n if (object.size != other.size && !isPartial) {\n return false;\n }\n // Assume cyclic values are equal.\n var stacked = stack.get(object);\n if (stacked) {\n return stacked == other;\n }\n bitmask |= UNORDERED_COMPARE_FLAG;\n\n // Recursively compare objects (susceptible to call stack limits).\n stack.set(object, other);\n var result = equalArrays(convert(object), convert(other), equalFunc, customizer, bitmask, stack);\n stack['delete'](object);\n return result;\n\n case symbolTag:\n if (symbolValueOf) {\n return symbolValueOf.call(object) == symbolValueOf.call(other);\n }\n }\n return false;\n}\n\n/**\n * A specialized version of `baseIsEqualDeep` for objects with support for\n * partial deep comparisons.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Function} customizer The function to customize comparisons.\n * @param {number} bitmask The bitmask of comparison flags. See `baseIsEqual`\n * for more details.\n * @param {Object} stack Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction equalObjects(object, other, equalFunc, customizer, bitmask, stack) {\n var isPartial = bitmask & PARTIAL_COMPARE_FLAG,\n objProps = keys(object),\n objLength = objProps.length,\n othProps = keys(other),\n othLength = othProps.length;\n\n if (objLength != othLength && !isPartial) {\n return false;\n }\n var index = objLength;\n while (index--) {\n var key = objProps[index];\n if (!(isPartial ? key in other : hasOwnProperty.call(other, key))) {\n return false;\n }\n }\n // Assume cyclic values are equal.\n var stacked = stack.get(object);\n if (stacked && stack.get(other)) {\n return stacked == other;\n }\n var result = true;\n stack.set(object, other);\n stack.set(other, object);\n\n var skipCtor = isPartial;\n while (++index < objLength) {\n key = objProps[index];\n var objValue = object[key],\n othValue = other[key];\n\n if (customizer) {\n var compared = isPartial\n ? customizer(othValue, objValue, key, other, object, stack)\n : customizer(objValue, othValue, key, object, other, stack);\n }\n // Recursively compare objects (susceptible to call stack limits).\n if (!(compared === undefined\n ? (objValue === othValue || equalFunc(objValue, othValue, customizer, bitmask, stack))\n : compared\n )) {\n result = false;\n break;\n }\n skipCtor || (skipCtor = key == 'constructor');\n }\n if (result && !skipCtor) {\n var objCtor = object.constructor,\n othCtor = other.constructor;\n\n // Non `Object` object instances with different constructors are not equal.\n if (objCtor != othCtor &&\n ('constructor' in object && 'constructor' in other) &&\n !(typeof objCtor == 'function' && objCtor instanceof objCtor &&\n typeof othCtor == 'function' && othCtor instanceof othCtor)) {\n result = false;\n }\n }\n stack['delete'](object);\n stack['delete'](other);\n return result;\n}\n\n/**\n * Gets the data for `map`.\n *\n * @private\n * @param {Object} map The map to query.\n * @param {string} key The reference key.\n * @returns {*} Returns the map data.\n */\nfunction getMapData(map, key) {\n var data = map.__data__;\n return isKeyable(key)\n ? data[typeof key == 'string' ? 'string' : 'hash']\n : data.map;\n}\n\n/**\n * Gets the property names, values, and compare flags of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the match data of `object`.\n */\nfunction getMatchData(object) {\n var result = keys(object),\n length = result.length;\n\n while (length--) {\n var key = result[length],\n value = object[key];\n\n result[length] = [key, value, isStrictComparable(value)];\n }\n return result;\n}\n\n/**\n * Gets the native function at `key` of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the method to get.\n * @returns {*} Returns the function if it's native, else `undefined`.\n */\nfunction getNative(object, key) {\n var value = getValue(object, key);\n return baseIsNative(value) ? value : undefined;\n}\n\n/**\n * Gets the `toStringTag` of `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nvar getTag = baseGetTag;\n\n// Fallback for data views, maps, sets, and weak maps in IE 11,\n// for data views in Edge < 14, and promises in Node.js.\nif ((DataView && getTag(new DataView(new ArrayBuffer(1))) != dataViewTag) ||\n (Map && getTag(new Map) != mapTag) ||\n (Promise && getTag(Promise.resolve()) != promiseTag) ||\n (Set && getTag(new Set) != setTag) ||\n (WeakMap && getTag(new WeakMap) != weakMapTag)) {\n getTag = function(value) {\n var result = objectToString.call(value),\n Ctor = result == objectTag ? value.constructor : undefined,\n ctorString = Ctor ? toSource(Ctor) : undefined;\n\n if (ctorString) {\n switch (ctorString) {\n case dataViewCtorString: return dataViewTag;\n case mapCtorString: return mapTag;\n case promiseCtorString: return promiseTag;\n case setCtorString: return setTag;\n case weakMapCtorString: return weakMapTag;\n }\n }\n return result;\n };\n}\n\n/**\n * Checks if `path` exists on `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Array|string} path The path to check.\n * @param {Function} hasFunc The function to check properties.\n * @returns {boolean} Returns `true` if `path` exists, else `false`.\n */\nfunction hasPath(object, path, hasFunc) {\n path = isKey(path, object) ? [path] : castPath(path);\n\n var result,\n index = -1,\n length = path.length;\n\n while (++index < length) {\n var key = toKey(path[index]);\n if (!(result = object != null && hasFunc(object, key))) {\n break;\n }\n object = object[key];\n }\n if (result) {\n return result;\n }\n var length = object ? object.length : 0;\n return !!length && isLength(length) && isIndex(key, length) &&\n (isArray(object) || isArguments(object));\n}\n\n/**\n * Checks if `value` is a valid array-like index.\n *\n * @private\n * @param {*} value The value to check.\n * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index.\n * @returns {boolean} Returns `true` if `value` is a valid index, else `false`.\n */\nfunction isIndex(value, length) {\n length = length == null ? MAX_SAFE_INTEGER : length;\n return !!length &&\n (typeof value == 'number' || reIsUint.test(value)) &&\n (value > -1 && value % 1 == 0 && value < length);\n}\n\n/**\n * Checks if `value` is a property name and not a property path.\n *\n * @private\n * @param {*} value The value to check.\n * @param {Object} [object] The object to query keys on.\n * @returns {boolean} Returns `true` if `value` is a property name, else `false`.\n */\nfunction isKey(value, object) {\n if (isArray(value)) {\n return false;\n }\n var type = typeof value;\n if (type == 'number' || type == 'symbol' || type == 'boolean' ||\n value == null || isSymbol(value)) {\n return true;\n }\n return reIsPlainProp.test(value) || !reIsDeepProp.test(value) ||\n (object != null && value in Object(object));\n}\n\n/**\n * Checks if `value` is suitable for use as unique object key.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is suitable, else `false`.\n */\nfunction isKeyable(value) {\n var type = typeof value;\n return (type == 'string' || type == 'number' || type == 'symbol' || type == 'boolean')\n ? (value !== '__proto__')\n : (value === null);\n}\n\n/**\n * Checks if `func` has its source masked.\n *\n * @private\n * @param {Function} func The function to check.\n * @returns {boolean} Returns `true` if `func` is masked, else `false`.\n */\nfunction isMasked(func) {\n return !!maskSrcKey && (maskSrcKey in func);\n}\n\n/**\n * Checks if `value` is likely a prototype object.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a prototype, else `false`.\n */\nfunction isPrototype(value) {\n var Ctor = value && value.constructor,\n proto = (typeof Ctor == 'function' && Ctor.prototype) || objectProto;\n\n return value === proto;\n}\n\n/**\n * Checks if `value` is suitable for strict equality comparisons, i.e. `===`.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` if suitable for strict\n * equality comparisons, else `false`.\n */\nfunction isStrictComparable(value) {\n return value === value && !isObject(value);\n}\n\n/**\n * A specialized version of `matchesProperty` for source values suitable\n * for strict equality comparisons, i.e. `===`.\n *\n * @private\n * @param {string} key The key of the property to get.\n * @param {*} srcValue The value to match.\n * @returns {Function} Returns the new spec function.\n */\nfunction matchesStrictComparable(key, srcValue) {\n return function(object) {\n if (object == null) {\n return false;\n }\n return object[key] === srcValue &&\n (srcValue !== undefined || (key in Object(object)));\n };\n}\n\n/**\n * Converts `string` to a property path array.\n *\n * @private\n * @param {string} string The string to convert.\n * @returns {Array} Returns the property path array.\n */\nvar stringToPath = memoize(function(string) {\n string = toString(string);\n\n var result = [];\n if (reLeadingDot.test(string)) {\n result.push('');\n }\n string.replace(rePropName, function(match, number, quote, string) {\n result.push(quote ? string.replace(reEscapeChar, '$1') : (number || match));\n });\n return result;\n});\n\n/**\n * Converts `value` to a string key if it's not a string or symbol.\n *\n * @private\n * @param {*} value The value to inspect.\n * @returns {string|symbol} Returns the key.\n */\nfunction toKey(value) {\n if (typeof value == 'string' || isSymbol(value)) {\n return value;\n }\n var result = (value + '');\n return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result;\n}\n\n/**\n * Converts `func` to its source code.\n *\n * @private\n * @param {Function} func The function to process.\n * @returns {string} Returns the source code.\n */\nfunction toSource(func) {\n if (func != null) {\n try {\n return funcToString.call(func);\n } catch (e) {}\n try {\n return (func + '');\n } catch (e) {}\n }\n return '';\n}\n\n/**\n * This method is like `_.find` except that it returns the index of the first\n * element `predicate` returns truthy for instead of the element itself.\n *\n * @static\n * @memberOf _\n * @since 1.1.0\n * @category Array\n * @param {Array} array The array to inspect.\n * @param {Function} [predicate=_.identity]\n * The function invoked per iteration.\n * @param {number} [fromIndex=0] The index to search from.\n * @returns {number} Returns the index of the found element, else `-1`.\n * @example\n *\n * var users = [\n * { 'user': 'barney', 'active': false },\n * { 'user': 'fred', 'active': false },\n * { 'user': 'pebbles', 'active': true }\n * ];\n *\n * _.findIndex(users, function(o) { return o.user == 'barney'; });\n * // => 0\n *\n * // The `_.matches` iteratee shorthand.\n * _.findIndex(users, { 'user': 'fred', 'active': false });\n * // => 1\n *\n * // The `_.matchesProperty` iteratee shorthand.\n * _.findIndex(users, ['active', false]);\n * // => 0\n *\n * // The `_.property` iteratee shorthand.\n * _.findIndex(users, 'active');\n * // => 2\n */\nfunction findIndex(array, predicate, fromIndex) {\n var length = array ? array.length : 0;\n if (!length) {\n return -1;\n }\n var index = fromIndex == null ? 0 : toInteger(fromIndex);\n if (index < 0) {\n index = nativeMax(length + index, 0);\n }\n return baseFindIndex(array, baseIteratee(predicate, 3), index);\n}\n\n/**\n * Iterates over elements of `collection`, returning the first element\n * `predicate` returns truthy for. The predicate is invoked with three\n * arguments: (value, index|key, collection).\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Collection\n * @param {Array|Object} collection The collection to inspect.\n * @param {Function} [predicate=_.identity]\n * The function invoked per iteration.\n * @param {number} [fromIndex=0] The index to search from.\n * @returns {*} Returns the matched element, else `undefined`.\n * @example\n *\n * var users = [\n * { 'user': 'barney', 'age': 36, 'active': true },\n * { 'user': 'fred', 'age': 40, 'active': false },\n * { 'user': 'pebbles', 'age': 1, 'active': true }\n * ];\n *\n * _.find(users, function(o) { return o.age < 40; });\n * // => object for 'barney'\n *\n * // The `_.matches` iteratee shorthand.\n * _.find(users, { 'age': 1, 'active': true });\n * // => object for 'pebbles'\n *\n * // The `_.matchesProperty` iteratee shorthand.\n * _.find(users, ['active', false]);\n * // => object for 'fred'\n *\n * // The `_.property` iteratee shorthand.\n * _.find(users, 'active');\n * // => object for 'barney'\n */\nvar find = createFind(findIndex);\n\n/**\n * Creates a function that memoizes the result of `func`. If `resolver` is\n * provided, it determines the cache key for storing the result based on the\n * arguments provided to the memoized function. By default, the first argument\n * provided to the memoized function is used as the map cache key. The `func`\n * is invoked with the `this` binding of the memoized function.\n *\n * **Note:** The cache is exposed as the `cache` property on the memoized\n * function. Its creation may be customized by replacing the `_.memoize.Cache`\n * constructor with one whose instances implement the\n * [`Map`](http://ecma-international.org/ecma-262/7.0/#sec-properties-of-the-map-prototype-object)\n * method interface of `delete`, `get`, `has`, and `set`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to have its output memoized.\n * @param {Function} [resolver] The function to resolve the cache key.\n * @returns {Function} Returns the new memoized function.\n * @example\n *\n * var object = { 'a': 1, 'b': 2 };\n * var other = { 'c': 3, 'd': 4 };\n *\n * var values = _.memoize(_.values);\n * values(object);\n * // => [1, 2]\n *\n * values(other);\n * // => [3, 4]\n *\n * object.a = 2;\n * values(object);\n * // => [1, 2]\n *\n * // Modify the result cache.\n * values.cache.set(object, ['a', 'b']);\n * values(object);\n * // => ['a', 'b']\n *\n * // Replace `_.memoize.Cache`.\n * _.memoize.Cache = WeakMap;\n */\nfunction memoize(func, resolver) {\n if (typeof func != 'function' || (resolver && typeof resolver != 'function')) {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n var memoized = function() {\n var args = arguments,\n key = resolver ? resolver.apply(this, args) : args[0],\n cache = memoized.cache;\n\n if (cache.has(key)) {\n return cache.get(key);\n }\n var result = func.apply(this, args);\n memoized.cache = cache.set(key, result);\n return result;\n };\n memoized.cache = new (memoize.Cache || MapCache);\n return memoized;\n}\n\n// Assign cache to `_.memoize`.\nmemoize.Cache = MapCache;\n\n/**\n * Performs a\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * comparison between two values to determine if they are equivalent.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'a': 1 };\n * var other = { 'a': 1 };\n *\n * _.eq(object, object);\n * // => true\n *\n * _.eq(object, other);\n * // => false\n *\n * _.eq('a', 'a');\n * // => true\n *\n * _.eq('a', Object('a'));\n * // => false\n *\n * _.eq(NaN, NaN);\n * // => true\n */\nfunction eq(value, other) {\n return value === other || (value !== value && other !== other);\n}\n\n/**\n * Checks if `value` is likely an `arguments` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n * else `false`.\n * @example\n *\n * _.isArguments(function() { return arguments; }());\n * // => true\n *\n * _.isArguments([1, 2, 3]);\n * // => false\n */\nfunction isArguments(value) {\n // Safari 8.1 makes `arguments.callee` enumerable in strict mode.\n return isArrayLikeObject(value) && hasOwnProperty.call(value, 'callee') &&\n (!propertyIsEnumerable.call(value, 'callee') || objectToString.call(value) == argsTag);\n}\n\n/**\n * Checks if `value` is classified as an `Array` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array, else `false`.\n * @example\n *\n * _.isArray([1, 2, 3]);\n * // => true\n *\n * _.isArray(document.body.children);\n * // => false\n *\n * _.isArray('abc');\n * // => false\n *\n * _.isArray(_.noop);\n * // => false\n */\nvar isArray = Array.isArray;\n\n/**\n * Checks if `value` is array-like. A value is considered array-like if it's\n * not a function and has a `value.length` that's an integer greater than or\n * equal to `0` and less than or equal to `Number.MAX_SAFE_INTEGER`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is array-like, else `false`.\n * @example\n *\n * _.isArrayLike([1, 2, 3]);\n * // => true\n *\n * _.isArrayLike(document.body.children);\n * // => true\n *\n * _.isArrayLike('abc');\n * // => true\n *\n * _.isArrayLike(_.noop);\n * // => false\n */\nfunction isArrayLike(value) {\n return value != null && isLength(value.length) && !isFunction(value);\n}\n\n/**\n * This method is like `_.isArrayLike` except that it also checks if `value`\n * is an object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array-like object,\n * else `false`.\n * @example\n *\n * _.isArrayLikeObject([1, 2, 3]);\n * // => true\n *\n * _.isArrayLikeObject(document.body.children);\n * // => true\n *\n * _.isArrayLikeObject('abc');\n * // => false\n *\n * _.isArrayLikeObject(_.noop);\n * // => false\n */\nfunction isArrayLikeObject(value) {\n return isObjectLike(value) && isArrayLike(value);\n}\n\n/**\n * Checks if `value` is classified as a `Function` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a function, else `false`.\n * @example\n *\n * _.isFunction(_);\n * // => true\n *\n * _.isFunction(/abc/);\n * // => false\n */\nfunction isFunction(value) {\n // The use of `Object#toString` avoids issues with the `typeof` operator\n // in Safari 8-9 which returns 'object' for typed array and other constructors.\n var tag = isObject(value) ? objectToString.call(value) : '';\n return tag == funcTag || tag == genTag;\n}\n\n/**\n * Checks if `value` is a valid array-like length.\n *\n * **Note:** This method is loosely based on\n * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.\n * @example\n *\n * _.isLength(3);\n * // => true\n *\n * _.isLength(Number.MIN_VALUE);\n * // => false\n *\n * _.isLength(Infinity);\n * // => false\n *\n * _.isLength('3');\n * // => false\n */\nfunction isLength(value) {\n return typeof value == 'number' &&\n value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;\n}\n\n/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n var type = typeof value;\n return !!value && (type == 'object' || type == 'function');\n}\n\n/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return !!value && typeof value == 'object';\n}\n\n/**\n * Checks if `value` is classified as a `Symbol` primitive or object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a symbol, else `false`.\n * @example\n *\n * _.isSymbol(Symbol.iterator);\n * // => true\n *\n * _.isSymbol('abc');\n * // => false\n */\nfunction isSymbol(value) {\n return typeof value == 'symbol' ||\n (isObjectLike(value) && objectToString.call(value) == symbolTag);\n}\n\n/**\n * Checks if `value` is classified as a typed array.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n * @example\n *\n * _.isTypedArray(new Uint8Array);\n * // => true\n *\n * _.isTypedArray([]);\n * // => false\n */\nvar isTypedArray = nodeIsTypedArray ? baseUnary(nodeIsTypedArray) : baseIsTypedArray;\n\n/**\n * Converts `value` to a finite number.\n *\n * @static\n * @memberOf _\n * @since 4.12.0\n * @category Lang\n * @param {*} value The value to convert.\n * @returns {number} Returns the converted number.\n * @example\n *\n * _.toFinite(3.2);\n * // => 3.2\n *\n * _.toFinite(Number.MIN_VALUE);\n * // => 5e-324\n *\n * _.toFinite(Infinity);\n * // => 1.7976931348623157e+308\n *\n * _.toFinite('3.2');\n * // => 3.2\n */\nfunction toFinite(value) {\n if (!value) {\n return value === 0 ? value : 0;\n }\n value = toNumber(value);\n if (value === INFINITY || value === -INFINITY) {\n var sign = (value < 0 ? -1 : 1);\n return sign * MAX_INTEGER;\n }\n return value === value ? value : 0;\n}\n\n/**\n * Converts `value` to an integer.\n *\n * **Note:** This method is loosely based on\n * [`ToInteger`](http://www.ecma-international.org/ecma-262/7.0/#sec-tointeger).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to convert.\n * @returns {number} Returns the converted integer.\n * @example\n *\n * _.toInteger(3.2);\n * // => 3\n *\n * _.toInteger(Number.MIN_VALUE);\n * // => 0\n *\n * _.toInteger(Infinity);\n * // => 1.7976931348623157e+308\n *\n * _.toInteger('3.2');\n * // => 3\n */\nfunction toInteger(value) {\n var result = toFinite(value),\n remainder = result % 1;\n\n return result === result ? (remainder ? result - remainder : result) : 0;\n}\n\n/**\n * Converts `value` to a number.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to process.\n * @returns {number} Returns the number.\n * @example\n *\n * _.toNumber(3.2);\n * // => 3.2\n *\n * _.toNumber(Number.MIN_VALUE);\n * // => 5e-324\n *\n * _.toNumber(Infinity);\n * // => Infinity\n *\n * _.toNumber('3.2');\n * // => 3.2\n */\nfunction toNumber(value) {\n if (typeof value == 'number') {\n return value;\n }\n if (isSymbol(value)) {\n return NAN;\n }\n if (isObject(value)) {\n var other = typeof value.valueOf == 'function' ? value.valueOf() : value;\n value = isObject(other) ? (other + '') : other;\n }\n if (typeof value != 'string') {\n return value === 0 ? value : +value;\n }\n value = value.replace(reTrim, '');\n var isBinary = reIsBinary.test(value);\n return (isBinary || reIsOctal.test(value))\n ? freeParseInt(value.slice(2), isBinary ? 2 : 8)\n : (reIsBadHex.test(value) ? NAN : +value);\n}\n\n/**\n * Converts `value` to a string. An empty string is returned for `null`\n * and `undefined` values. The sign of `-0` is preserved.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to process.\n * @returns {string} Returns the string.\n * @example\n *\n * _.toString(null);\n * // => ''\n *\n * _.toString(-0);\n * // => '-0'\n *\n * _.toString([1, 2, 3]);\n * // => '1,2,3'\n */\nfunction toString(value) {\n return value == null ? '' : baseToString(value);\n}\n\n/**\n * Gets the value at `path` of `object`. If the resolved value is\n * `undefined`, the `defaultValue` is returned in its place.\n *\n * @static\n * @memberOf _\n * @since 3.7.0\n * @category Object\n * @param {Object} object The object to query.\n * @param {Array|string} path The path of the property to get.\n * @param {*} [defaultValue] The value returned for `undefined` resolved values.\n * @returns {*} Returns the resolved value.\n * @example\n *\n * var object = { 'a': [{ 'b': { 'c': 3 } }] };\n *\n * _.get(object, 'a[0].b.c');\n * // => 3\n *\n * _.get(object, ['a', '0', 'b', 'c']);\n * // => 3\n *\n * _.get(object, 'a.b.c', 'default');\n * // => 'default'\n */\nfunction get(object, path, defaultValue) {\n var result = object == null ? undefined : baseGet(object, path);\n return result === undefined ? defaultValue : result;\n}\n\n/**\n * Checks if `path` is a direct or inherited property of `object`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Object\n * @param {Object} object The object to query.\n * @param {Array|string} path The path to check.\n * @returns {boolean} Returns `true` if `path` exists, else `false`.\n * @example\n *\n * var object = _.create({ 'a': _.create({ 'b': 2 }) });\n *\n * _.hasIn(object, 'a');\n * // => true\n *\n * _.hasIn(object, 'a.b');\n * // => true\n *\n * _.hasIn(object, ['a', 'b']);\n * // => true\n *\n * _.hasIn(object, 'b');\n * // => false\n */\nfunction hasIn(object, path) {\n return object != null && hasPath(object, path, baseHasIn);\n}\n\n/**\n * Creates an array of the own enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects. See the\n * [ES spec](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)\n * for more details.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keys(new Foo);\n * // => ['a', 'b'] (iteration order is not guaranteed)\n *\n * _.keys('hi');\n * // => ['0', '1']\n */\nfunction keys(object) {\n return isArrayLike(object) ? arrayLikeKeys(object) : baseKeys(object);\n}\n\n/**\n * This method returns the first argument it receives.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Util\n * @param {*} value Any value.\n * @returns {*} Returns `value`.\n * @example\n *\n * var object = { 'a': 1 };\n *\n * console.log(_.identity(object) === object);\n * // => true\n */\nfunction identity(value) {\n return value;\n}\n\n/**\n * Creates a function that returns the value at `path` of a given object.\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Util\n * @param {Array|string} path The path of the property to get.\n * @returns {Function} Returns the new accessor function.\n * @example\n *\n * var objects = [\n * { 'a': { 'b': 2 } },\n * { 'a': { 'b': 1 } }\n * ];\n *\n * _.map(objects, _.property('a.b'));\n * // => [2, 1]\n *\n * _.map(_.sortBy(objects, _.property(['a', 'b'])), 'a.b');\n * // => [1, 2]\n */\nfunction property(path) {\n return isKey(path) ? baseProperty(toKey(path)) : basePropertyDeep(path);\n}\n\nmodule.exports = find;\n","module.exports = {\n\t// Used as the background color for the active state on rows or items on list-like components.\n\tcolorBackgroundRowActive: 'rgb(236, 235, 234)',\n\t// Brandable modal header\n\tcolorBackgroundModalBrand: 'rgb(0, 112, 210)',\n\t// Background color for notification list item.\n\tcolorBackgroundNotification: 'rgb(255, 255, 255)',\n\t// Background color for a new notification list item.\n\tcolorBackgroundNotificationNew: 'rgb(243, 242, 242)',\n\t// Notifications badge background color.\n\tcolorBackgroundNotificationBadgeActive: 'rgb(0, 57, 107)',\n\t// Notifications badge background color.\n\tcolorBackgroundNotificationBadgeHover: 'rgb(0, 95, 178)',\n\tcolorContrastPrimary: 'rgb(243, 242, 242)',\n\t// Used as the background color for the hover state on rows or items on list-like components.\n\tcolorBackgroundRowHover: 'rgb(243, 242, 242)',\n\tcolorForegroundPrimary: 'rgb(255, 255, 255)',\n\t// Dark color for UI elements related to errors. Accessible with white text.\n\tcolorBackgroundErrorDark: 'rgb(194, 57, 52)',\n\t// Background color for UI elements related to providing neutral information (not error, success, or warning).\n\tcolorBackgroundInfo: 'rgb(112, 110, 107)',\n\t// The color of the mask overlay that appears when you enter a modal state.\n\tcolorBackgroundTempModalTint: 'rgba(43, 40, 38, 0.6)',\n\t// Background color for reminder notification on hover\n\tcolorBackgroundReminderHover: 'rgb(255, 255, 255)',\n\t// Winter 18 token, this has been deprecated. Please use BRAND_BACKGROUND_DARK_TRANSPARENT instead. These RGBA values need to be updated if BRAND_BAND_COLOR_BACKGROUND_PRIMARY changes, solves webkit bug\n\tbrandBandColorBackgroundSecondaryTransparent: 'rgba(253, 253, 253, 0)',\n\t// Notifications badge background color.\n\tcolorBackgroundNotificationBadge: 'rgb(194, 57, 52)',\n\t// Color of the indicator dot.\n\tcolorBackgroundIndicatorDot: 'rgb(22, 50, 92)',\n\tcardWrapperColorBackground: 'rgb(255, 255, 255)',\n\t// Alternative background color for dark portions of the app.\n\tcolorBackgroundAltInverse: 'rgb(22, 50, 92)',\n\tpopoverWalkthroughHeaderImage: '/assets/images/popovers/popover-header.png',\n\t// Disabled input\n\tcolorBackgroundInputDisabled: 'rgb(236, 235, 234)',\n\t// Used as the background color for the new state on rows or items on list-like components.\n\tcolorBackgroundRowNew: 'rgb(217, 255, 223)',\n\t// Hovered toggle background color.\n\tcolorBackgroundToggleHover: 'rgb(150, 148, 146)',\n\tpopoverWalkthroughColorBackground: 'rgb(3, 46, 97)',\n\t// Dark color for UI elements that have to do with success. Accessible with white text.\n\tcolorBackgroundSuccessDark: 'rgb(4, 132, 75)',\n\t// Background color for reminder notification\n\tcolorBackgroundReminder: 'rgb(244, 246, 249)',\n\t// Used as background for loading stencils on white background.\n\tcolorBackgroundStencil: 'rgb(243, 242, 242)',\n\t// Used when further differentiation is needed because colorBackground and colorBackgroundAlt are both being used in close proximity.\n\tcolorBackgroundAlt2: 'rgb(243, 242, 242)',\n\t// Color for UI elements that have to do with warning.\n\tcolorBackgroundWarning: 'rgb(255, 183, 93)',\n\t// Hovered background color for success buttons\n\tcolorBackgroundButtonSuccessHover: 'rgb(4, 132, 75)',\n\tpopoverWalkthroughAltImage: '/assets/images/popovers/popover-action.png',\n\t// Hover color for utility bar item.\n\tcolorBackgroundUtilityBarHover: 'rgb(236, 235, 234)',\n\tprogressColorBorderShade: 'rgb(243, 242, 242)',\n\t// Background color for highlighting text in search results.\n\tcolorBackgroundHighlightSearch: 'rgb(255, 240, 63)',\n\t// Toggle background color.\n\tcolorBackgroundToggle: 'rgb(176, 173, 171)',\n\t// Use COLOR_BACKGROUND_PAGE_HEADER instead.\n\tcolorBackgroundAnchor: 'rgb(243, 242, 242)',\n\tpopoverWalkthroughAltNubbinColorBackground: 'rgb(33, 92, 160)',\n\t// Hover color for UI elements related to destructive actions.\n\tcolorBackgroundDestructiveHover: 'rgb(166, 26, 20)',\n\tprogressColorBackgroundShade: 'rgb(243, 242, 242)',\n\t// Default background color for the whole app.\n\tcolorBackground: 'rgb(243, 242, 242)',\n\t// Our product brand blue, darkened to meet accessibility color contrast ratios with white text.\n\tcolorBrandDark: 'rgb(0, 112, 210)',\n\t// Background color for success buttons\n\tcolorBackgroundButtonSuccess: 'rgb(75, 202, 129)',\n\t// The color of the mask overlay that appears when you enter a modal state.\n\tcolorBackgroundBackdrop: 'rgba(255, 255, 255, 0.75)',\n\t// Our product brand blue.\n\tcolorBrand: 'rgb(21, 137, 238)',\n\t// Background color for default desktop chrome (ex. global header)\n\tcolorBackgroundChromeDesktop: 'rgb(255, 255, 255)',\n\t// Default Page Header background color\n\tpageHeaderColorBackground: 'rgb(243, 242, 242)',\n\t// Active button backgrounds on modal headers\n\tcolorBackgroundModalButtonActive: 'rgba(0, 0, 0, 0.16)',\n\t// Color for UI elements related to destructive actions.\n\tcolorBackgroundDestructive: 'rgb(194, 57, 52)',\n\t// Selected checkboxes\n\tcolorBackgroundInputCheckboxSelected: 'rgb(21, 137, 238)',\n\t// Default checkboxes\n\tcolorBackgroundInputCheckbox: 'rgb(255, 255, 255)',\n\tcolorBackgroundPrimary: 'rgb(243, 242, 242)',\n\t// Color for UI elements that have to do with success.\n\tcolorBackgroundSuccess: 'rgb(75, 202, 129)',\n\t// Disabled checkboxes\n\tcolorBackgroundInputCheckboxDisabled: 'rgb(221, 219, 218)',\n\t// Background color for pills.\n\tcolorBackgroundPill: 'rgb(255, 255, 255)',\n\t// Color of the spinner dot.\n\tcolorBackgroundSpinnerDot: 'rgb(176, 173, 171)',\n\tcolorBackgroundBrandPrimaryFocus: 'rgb(0, 95, 178)',\n\t// Color for UI elements related to the offline state.\n\tcolorBackgroundOffline: 'rgb(62, 62, 60)',\n\ttableColorBackgroundHeaderHover: 'rgb(255, 255, 255)',\n\t// The color of the mask overlay that provides user feedback on interaction.\n\tcolorBackgroundBackdropTint: 'rgb(250, 250, 249)',\n\tcolorBackgroundBrandPrimaryActive: 'rgb(0, 95, 178)',\n\t// Selected input field (when user has clicked or tabbed into field)\n\tcolorBackgroundInputActive: 'rgb(255, 255, 255)',\n\tpopoverWalkthroughColorBackgroundAlt: 'rgb(22, 74, 133)',\n\t// Winter 18 token, this has been deprecated. Please use BRAND_BACKGROUND_PRIMARY_DARK instead.\n\tbrandBandColorBackgroundSecondary: 'rgb(253, 253, 253)',\n\ttableColorBackgroundHeader: 'rgb(250, 250, 249)',\n\t// Used as an alternate background for loading stencils on gray backgrounds.\n\tcolorBackgroundStencilAlt: 'rgb(236, 235, 234)',\n\t// The background color of an internal scrollbar.\n\tcolorBackgroundScrollbar: 'rgb(236, 235, 234)',\n\t// Disabled toggle background color.\n\tcolorBackgroundToggleDisabled: 'rgb(176, 173, 171)',\n\t// Background color for toast messaging.\n\tcolorBackgroundToast: 'rgb(112, 110, 107)',\n\tcolorBackgroundBrandPrimaryHover: 'rgb(0, 95, 178)',\n\t// Background color for default mobile chrome (ex. global header)\n\tcolorBackgroundChromeMobile: 'rgb(0, 112, 210)',\n\t// Winter 18 token, this has been deprecated. Please use BRAND_BACKGROUND_PRIMARY_TRANSPARENT instead. These RGBA values need to be updated if BRAND_BAND_COLOR_BACKGROUND_PRIMARY changes, solves webkit bug\n\tbrandBandColorBackgroundPrimaryTransparent: 'rgba(253, 253, 253, 0)',\n\t// Background color for UI elements related to the concept of an external user or customer.\n\tcolorBackgroundCustomer: 'rgb(255, 154, 60)',\n\t// Color for UI elements related to errors.\n\tcolorBackgroundError: 'rgb(212, 80, 76)',\n\tcolorContrastSecondary: 'rgb(243, 242, 242)',\n\t// Secondary top bar background color (child browser, file preview, etc.)\n\tcolorBackgroundBrowser: 'rgb(112, 110, 107)',\n\t// Second default background color for the app.\n\tcolorBackgroundAlt: 'rgb(255, 255, 255)',\n\t// Background color of comment posts in the feed.\n\tcolorBackgroundPost: 'rgb(250, 250, 249)',\n\tcolorBackgroundBrandPrimary: 'rgb(0, 112, 210)',\n\t// Used as the background color for selected rows or items on list-like components.\n\tcolorBackgroundRowSelected: 'rgb(236, 235, 234)',\n\t// Default input field\n\tcolorBackgroundInput: 'rgb(255, 255, 255)',\n\t// Background color for success toast messaging.\n\tcolorBackgroundToastSuccess: 'rgb(4, 132, 75)',\n\t// Color of mask overlay that sits on top of an image when text is present.\n\tcolorBackgroundImageOverlay: 'rgba(0, 0, 0, 0.4)',\n\t// Our product brand blue, darkened even further.\n\tcolorBrandDarker: 'rgb(0, 95, 178)',\n\t// Used as the default background color for temporary dialog elements, such as the progress spinner background.\n\tcolorBackgroundTempModal: 'rgb(150, 148, 146)',\n\t// Background color for text selected with a mouse.\n\tcolorBackgroundSelection: 'rgb(216, 237, 255)',\n\t// Used as gray background when more contrast is desired.\n\tcolorBackgroundShade: 'rgb(236, 235, 234)',\n\t// Standard modal header\n\tcolorBackgroundModal: 'rgb(255, 255, 255)',\n\t// Active color for UI elements related to destructive actions.\n\tcolorBackgroundDestructiveActive: 'rgb(135, 5, 0)',\n\t// Hovered active toggle background color.\n\tcolorBackgroundToggleActiveHover: 'rgb(0, 95, 178)',\n\t// Background color for payloads in the feed.\n\tcolorBackgroundPayload: 'rgb(250, 250, 249)',\n\t// Button backgrounds on modal headers\n\tcolorBackgroundModalButton: 'rgba(0, 0, 0, 0.07)',\n\t// Active color for utility bar item.\n\tcolorBackgroundUtilityBarActive: 'rgb(21, 137, 238)',\n\t// Active background color for success buttons\n\tcolorBackgroundButtonSuccessActive: 'rgb(4, 132, 75)',\n\tbuttonColorBackgroundPrimary: 'rgb(255, 255, 255)',\n\t// Background color for error toast messaging.\n\tcolorBackgroundToastError: 'rgb(194, 57, 52)',\n\t// Stage left org switcher dropdown arrow background color.\n\tcolorBackgroundOrgSwitcherArrow: 'rgb(6, 28, 63)',\n\t// Default background color for dark portions of the app (like Stage Left or tooltips).\n\tcolorBackgroundInverse: 'rgb(6, 28, 63)',\n\t// Active toggle background color.\n\tcolorBackgroundToggleActive: 'rgb(0, 112, 210)',\n\tcolorPickerSliderThumbColorBackground: 'rgb(243, 242, 242)',\n\t// Winter 18 token, this has been deprecated. Please use BRAND_BACKGROUND_PRIMARY instead.\n\tpageColorBackgroundPrimary: 'rgb(253, 253, 253)',\n\t// Used as gray background in conjunction with Shade when more contrast is desired.\n\tcolorBackgroundShadeDark: 'rgb(221, 219, 218)',\n\t// Notifications badge background color.\n\tcolorBackgroundNotificationBadgeFocus: 'rgb(0, 95, 178)',\n\t// Background for utility icons that live in the action bar on mobile.\n\tcolorBackgroundActionbarIconUtility: 'rgb(112, 110, 107)',\n\t// The background color of an internal scrollbar track.\n\tcolorBackgroundScrollbarTrack: 'rgb(201, 199, 197)',\n\t// Background color for input field that has encountered an error.\n\tcolorBackgroundInputError: 'rgb(255, 221, 225)',\n\t// Winter 18 token, this has been deprecated. Please use BRAND_BACKGROUND_PRIMARY instead.\n\tbrandBandColorBackgroundPrimary: 'rgb(253, 253, 253)',\n\t// Background color for highlighting UI elements.\n\tcolorBackgroundHighlight: 'rgb(250, 255, 189)',\n\tcolorBackgroundSecondary: 'rgb(255, 255, 255)',\n\tpopoverWalkthroughHeaderColorBackground: 'rgb(22, 74, 133)',\n\tbrandBandDefaultImage:\n\t\t'/assets/images/themes/oneSalesforce/banner-brand-default.png',\n\tbannerUserDefaultImage:\n\t\t'/assets/images/themes/oneSalesforce/banner-user-default.png',\n\tbannerGroupDefaultImage:\n\t\t'/assets/images/themes/oneSalesforce/banner-group-public-default.png',\n\t// The borders to create the checkmark\n\tcolorBorderInputCheckboxSelectedCheckmark: 'rgb(255, 255, 255)',\n\t// Border color for disabled inverse button.\n\tcolorBorderButtonInverseDisabled: 'rgba(255, 255, 255, 0.15)',\n\t// Hovered border color for a button with an icon that has a parent element that has a hover state\n\tcolorBorderIconInverseHintHover: 'rgba(255, 255, 255, 0.75)',\n\t// Dark alternative border color for UI elements related to errors.\n\tcolorBorderErrorDark: 'rgb(234, 130, 136)',\n\t// Border color for a button with an icon that has a parent element that has a hover state\n\tcolorBorderIconInverseHint: 'rgba(255, 255, 255, 0.5)',\n\t// Our product brand blue, darkened to meet accessibility color contrast ratios with white text.\n\tcolorBorderBrandDark: 'rgb(0, 112, 210)',\n\t// Border color for UI elements related to providing neutral information (not error, success, or warning).\n\tcolorBorderInfo: 'rgb(112, 110, 107)',\n\t// Border color for UI elements that have to do with warnings.\n\tcolorBorderWarning: 'rgb(255, 183, 93)',\n\t// Border color for an active tab.\n\tcolorBorderTabActive: 'rgb(255, 255, 255)',\n\t// Disabled stroke color.\n\tcolorStrokeDisabled: 'rgb(236, 235, 234)',\n\t// Hover border color for UI elements that have to do with destructive actions.\n\tcolorBorderDestructiveHover: 'rgb(166, 26, 20)',\n\t// Default border color for UI elements.\n\tcolorBorder: 'rgb(221, 219, 218)',\n\t// Border color on disabled form elements.\n\tcolorBorderInputDisabled: 'rgb(201, 199, 197)',\n\t// Dark alternative border color for UI elements that have to do with success.\n\tcolorBorderSuccessDark: 'rgb(4, 132, 75)',\n\t// Border color on notification reminders.\n\tcolorBorderReminder: 'rgb(236, 235, 234)',\n\t// Active stroke color for our product brand blue.\n\tcolorStrokeBrandActive: 'rgb(22, 50, 92)',\n\t// Border color for brandable primary button - disabled state\n\tcolorBorderButtonBrandDisabled: 'rgba(0, 0, 0, 0)',\n\tpageHeaderColorBorder: 'rgb(221, 219, 218)',\n\t// Border color for UI elements that have to do with destructive actions.\n\tcolorBorderDestructive: 'rgb(194, 57, 52)',\n\tcolorBorderPrimary: 'rgb(221, 219, 218)',\n\t// Border color for default secondary button\n\tcolorBorderButtonDefault: 'rgb(221, 219, 218)',\n\t// Darkest separator color - used as an alternate separator color when more differentiation is desired.\n\tcolorBorderSeparatorAlt2: 'rgb(201, 199, 197)',\n\t// Border color for UI elements related to the offline state.\n\tcolorBorderOffline: 'rgb(62, 62, 60)',\n\tcolorBorderBrandPrimaryFocus: 'rgb(0, 95, 178)',\n\t// Border color for UI elements that have to do with success.\n\tcolorBorderSuccess: 'rgb(75, 202, 129)',\n\t// Lightest separator color - used as default separator on white backgrounds.\n\tcolorBorderSeparator: 'rgb(243, 242, 242)',\n\t// Our product brand blue.\n\tcolorBorderBrand: 'rgb(21, 137, 238)',\n\tcolorBorderBrandPrimaryHover: 'rgb(0, 95, 178)',\n\t// Used to delineate the boundary of a component that is being clicked. Specific to builders.\n\tcolorBorderSelectionActive: 'rgb(243, 242, 242)',\n\t// Border color for brandable primary button\n\tcolorBorderButtonBrand: 'rgb(0, 112, 210)',\n\t// Border color for UI elements that have to do with errors.\n\tcolorBorderError: 'rgb(194, 57, 52)',\n\t// Used to delineate the boundary of a component that is being hovered over. Specific to builders.\n\tcolorBorderSelectionHover: 'rgb(21, 137, 238)',\n\tcolorBorderBrandPrimaryActive: 'rgb(0, 95, 178)',\n\t// Border color on active form elements.\n\tcolorBorderInputActive: 'rgb(21, 137, 238)',\n\t// Border color on form elements.\n\tcolorBorderInput: 'rgb(221, 219, 218)',\n\tcolorBorderBrandPrimary: 'rgb(0, 112, 210)',\n\t// These borders create the faux checkmark when the checkbox toggle is in the checked state.\n\tcolorBorderToggleChecked: 'rgb(255, 255, 255)',\n\t// Used as the border color for the hover state on selected rows or items on list-like components.\n\tcolorBorderRowSelectedHover: 'rgb(21, 137, 238)',\n\t// Border color for UI elements related to the concept of an external user or customer.\n\tcolorBorderCustomer: 'rgb(255, 154, 60)',\n\t// Used to delineate the boundary of a selected component. Specific to builders.\n\tcolorBorderSelection: 'rgb(0, 112, 210)',\n\t// Used to delineate the boundary of a selected canvas element that is being hovered over. Specific to builders.\n\tcolorBorderCanvasElementSelectionHover: 'rgb(0, 95, 178)',\n\tcardColorBorder: 'rgb(221, 219, 218)',\n\t// Used as the border color for selected rows or items on list-like components.\n\tcolorBorderRowSelected: 'rgb(0, 112, 210)',\n\tbuttonColorBorderPrimary: 'rgb(221, 219, 218)',\n\t// Medium separator color - used as default separator on light gray backgrounds.\n\tcolorBorderSeparatorAlt: 'rgb(221, 219, 218)',\n\t// Used to delineate the boundary of a selected canvas element. Specific to builders.\n\tcolorBorderCanvasElementSelection: 'rgb(94, 180, 255)',\n\t// Hover stroke color for our product brand blue.\n\tcolorStrokeBrandHover: 'rgb(0, 112, 210)',\n\t// Border color to match UI elements using color-background-inverse.\n\tcolorBorderInverse: 'rgb(6, 28, 63)',\n\t// Stroke color for our global header buttons.\n\tcolorStrokeHeaderButton: 'rgb(176, 173, 171)',\n\t// Active border color for UI elements that have to do with destructive actions.\n\tcolorBorderDestructiveActive: 'rgb(135, 5, 0)',\n\t// Alternative border color for UI elements related to errors.\n\tcolorBorderErrorAlt: 'rgb(234, 130, 136)',\n\tpageHeaderJoinedColorBorder: 'rgb(221, 219, 218)',\n\t// Our product brand blue.\n\tcolorStrokeBrand: 'rgb(0, 112, 210)',\n\t// Border color for a selected tab in a tab group.\n\tcolorBorderTabSelected: 'rgb(0, 112, 210)',\n\tcardFooterColorBorder: 'rgb(221, 219, 218)',\n\t// Used as a separator on dark backgrounds, such as stage left navigation.\n\tcolorBorderSeparatorInverse: 'rgb(42, 66, 108)',\n\tpageHeaderBorderRadius: '0.25rem',\n\ttableBorderRadius: '0 0 0.25rem 0.25rem',\n\t// Hard dropshadow on page header\n\tpageHeaderShadow: '0 2px 2px 0 rgba(0, 0, 0, 0.1)',\n\tshadowSoftPrimaryHover: 'rgba(0, 0, 0, 0.20) 0 3px 6px',\n\t// Custom glow for focus states on UI elements with explicit containers.\n\tshadowButtonFocus: '0 0 3px #0070D2',\n\t// Shadow for header.\n\tshadowHeader: '0 2px 4px rgba(0, 0, 0, 0.07)',\n\t// Soft dropshadow found on general UI elements such as containers\n\tshadowSoftPrimary: 'rgba(0, 0, 0, 0.1) 0 2px 2px',\n\t// Hard dropshadow found on general UI elements such as containers\n\tshadowHardPrimary: 'rgba(0, 0, 0, 0.1) 0 2px 0',\n\t// Shadow above overflow menu close bar.\n\tshadowActionOverflowFooter: '0 -2px 4px #fafaf9',\n\t// Hard dropshadow found on outer cards\n\tcardShadow: '0 2px 2px 0 rgba(0, 0, 0, 0.1)',\n\t// Shadow for notifications that should be elevated above other components but under modals.\n\tshadowReminder: '0 2px 3px 0 rgba(0, 0, 0, 0.20)',\n\t// Shadow on elements that are docked to the bottom of the viewport.\n\tshadowDocked: '0 -2px 2px 0 rgba(0, 0, 0, 0.16)',\n\t// Shadow to make inline edit card pop out.\n\tshadowInlineEdit: '0 2px 4px 4px rgba(0, 0, 0, 0.16)',\n\t// Shadow for drag-n-drop.\n\tshadowDrag: '0 2px 4px 0 rgba(0, 0, 0, 0.40)',\n\t// Shadow for drop down.\n\tshadowDropDown: '0 2px 3px 0 rgba(0, 0, 0, 0.16)',\n\t// Inset shadow for editable grid\n\tshadowFocusInset: '0 0 2px 2px #1589EE inset',\n\tshadowSoftPrimaryActive: 'rgba(0, 0, 0, 0.20) 0 1px 1px',\n\t// Custom glow for focus states on UI elements with explicit containers on dark or vibrantly colored backgrounds.\n\tshadowButtonFocusInverse: '0 0 3px #ecebea',\n\t// Shadow on images.\n\tshadowImage: '0 1px 1px rgba(0, 0, 0, 0.16)',\n\tformLabelFontSize: '.75rem',\n\tinputStaticFontSize: '0.875rem',\n\tinputStaticFontWeight: '400',\n\t// Use for active tab.\n\ttabsFontWeight: '700',\n\t// Use for active tab.\n\tcardFontWeight: '700',\n\tpageHeaderTitleFontWeight: '700',\n\t//\n\tcomponentSpacingMargin: '0.75rem',\n\t//\n\tcomponentSpacingPadding: '1rem',\n\t//\n\ttemplateGutters: '0.75rem',\n\t//\n\ttemplateProfileGutters: '8rem 0.75rem 0.75rem',\n\t//\n\ttableCellSpacing: '0.25rem 0.5rem',\n\t//\n\tcardSpacingMargin: '0.75rem',\n\t//\n\tcardFooterPadding: '0.75rem 1rem',\n\tcardFooterTextAlign: 'center',\n\t// Icon color on dark background\n\tcolorTextIconInverse: 'rgb(255, 255, 255)',\n\t// Action label text color\n\tcolorTextActionLabel: 'rgb(112, 110, 107)',\n\t// Link color on dark background\n\tcolorTextLinkInverse: 'rgb(255, 255, 255)',\n\t// Text color for a button that has a parent element that has a hover state. This is the default text/icon color for that button before its parent has been hovered over.\n\tcolorTextButtonInverseDisabled: 'rgba(255, 255, 255, 0.15)',\n\t// Hovered icon color for a button that has a parent element that has a hover state\n\tcolorTextIconInverseHintHover: 'rgba(255, 255, 255, 0.75)',\n\t// Input icon\n\tcolorTextInputIcon: 'rgb(176, 173, 171)',\n\t// Link color on dark background - active state\n\tcolorTextLinkInverseActive: 'rgba(255, 255, 255, 0.5)',\n\t// Action label active text color\n\tcolorTextActionLabelActive: 'rgb(62, 62, 60)',\n\t// Icon color on dark background - active state\n\tcolorTextIconInverseActive: 'rgb(255, 255, 255)',\n\t// Color for text on a selected tab in a tab group.\n\tcolorTextTabLabelSelected: 'rgb(0, 112, 210)',\n\t// Color for texts or icons that are related to warnings on a dark background.\n\tcolorTextWarning: 'rgb(255, 183, 93)',\n\t// Icon color for a button that has a parent element that has a hover state on a dark background. This is the default text/icon color for that button before its parent has been hovered over.\n\tcolorTextIconInverseHint: 'rgba(255, 255, 255, 0.5)',\n\t// Color for disabled text in a tab group.\n\tcolorTextTabLabelDisabled: 'rgb(236, 235, 234)',\n\t// Text color for default secondary button - hover state\n\tcolorTextButtonDefaultHover: 'rgb(0, 112, 210)',\n\t// Input disabled text\n\tcolorTextInputDisabled: 'rgb(112, 110, 107)',\n\t// Tertiary body text color\n\tcolorTextTertiary: 'rgb(150, 148, 146)',\n\t// Focus link text\n\tcolorTextLinkFocus: 'rgb(0, 95, 178)',\n\t// Text color for default secondary button\n\tcolorTextButtonDefault: 'rgb(0, 112, 210)',\n\t// Default icon color - disabled state\n\tcolorTextIconDefaultDisabled: 'rgb(221, 219, 218)',\n\t// Disabled link text\n\tcolorTextLinkDisabled: 'rgb(22, 50, 92)',\n\t// Body text color\n\tcolorTextDefault: 'rgb(62, 62, 60)',\n\t// Active state on a standalone link on a dark background.\n\tcolorTextInverseActive: 'rgb(94, 180, 255)',\n\t// Text color for brandable primary button - disabled state\n\tcolorTextButtonBrandDisabled: 'rgb(255, 255, 255)',\n\t// Primary body text color\n\tcolorTextPrimary: 'rgb(62, 62, 60)',\n\tcolorTextLinkPrimaryFocus: 'rgb(0, 95, 178)',\n\t// Text color for brandable primary button - hover state\n\tcolorTextButtonBrandHover: 'rgb(255, 255, 255)',\n\t// Hover link text\n\tcolorTextLinkHover: 'rgb(0, 95, 178)',\n\t// Color for text in focus state in a tab group.\n\tcolorTextTabLabelFocus: 'rgb(0, 95, 178)',\n\t// Text color for success text.\n\tcolorTextSuccess: 'rgb(2, 126, 70)',\n\t// Color for text that is purposefully de-emphasized to create visual hierarchy.\n\tcolorTextWeak: 'rgb(112, 110, 107)',\n\t// Input placeholder text on dark backgrounds.\n\tcolorTextPlaceholderInverse: 'rgb(236, 235, 234)',\n\t// Default icon color - hover state.\n\tcolorTextIconDefaultHover: 'rgb(0, 112, 210)',\n\t// Icon color for a button that has a parent element that has a hover state. This is the default text/icon color for that button before its parent has been hovered over.\n\tcolorTextIconDefaultHintBorderless: 'rgb(236, 235, 234)',\n\t// Text color for pills.\n\tcolorTextPill: 'rgb(0, 112, 210)',\n\tcolorTextLinkPrimaryHover: 'rgb(0, 95, 178)',\n\t// Link text (508)\n\tcolorTextLink: 'rgb(0, 109, 204)',\n\t// Color for texts that are related to warnings on a light background.\n\tcolorTextWarningAlt: 'rgb(132, 72, 0)',\n\t// Text color for brandable primary button\n\tcolorTextButtonBrand: 'rgb(255, 255, 255)',\n\t// Color for text in active state in a tab group.\n\tcolorTextTabLabelActive: 'rgb(0, 57, 107)',\n\t// Default icon color.\n\tcolorTextIconDefault: 'rgb(112, 110, 107)',\n\t// Our product brand blue.\n\tcolorTextBrand: 'rgb(21, 137, 238)',\n\t// Color for text in hover state in a tab group.\n\tcolorTextTabLabelHover: 'rgb(0, 95, 178)',\n\t// Text color for default secondary button - disabled state\n\tcolorTextButtonDefaultDisabled: 'rgb(221, 219, 218)',\n\t// Color for text on toast messages.\n\tcolorTextToast: 'rgb(236, 235, 234)',\n\t// Color for disabled toggles\n\tcolorTextToggleDisabled: 'rgb(221, 219, 218)',\n\t// Top bar icon color\n\tcolorTextBrowser: 'rgb(255, 255, 255)',\n\tcolorTextLinkPrimaryActive: 'rgb(0, 95, 178)',\n\t// Error text for inputs and error misc\n\tcolorTextError: 'rgb(194, 57, 52)',\n\tcolorTextLinkPrimary: 'rgb(0, 112, 210)',\n\t// Top bar active icon color\n\tcolorTextBrowserActive: 'rgba(0, 0, 0, 0.4)',\n\t// Color for default text in a tab group.\n\tcolorTextTabLabel: 'rgb(22, 50, 92)',\n\t// Customer text used in anchor subtitle\n\tcolorTextCustomer: 'rgb(255, 154, 60)',\n\t// Default icon color - active state.\n\tcolorTextIconDefaultActive: 'rgb(0, 57, 107)',\n\t// Text color found on any primary brand color\n\tcolorTextBrandPrimary: 'rgb(255, 255, 255)',\n\t// Active link text\n\tcolorTextLinkActive: 'rgb(0, 57, 107)',\n\t// Icon color for a button that has a parent element that has a hover state. This is the default text/icon color for that button before its parent has been hovered over.\n\tcolorTextIconDefaultHint: 'rgb(176, 173, 171)',\n\t// Text color for brandable primary button - active state\n\tcolorTextButtonBrandActive: 'rgb(255, 255, 255)',\n\t// Color of required field marker.\n\tcolorTextRequired: 'rgb(194, 57, 52)',\n\t// Color for non-interactive icons that represent a selected item in a list\n\tcolorTextIconBrand: 'rgb(0, 112, 210)',\n\t// Hover state on a standalone link on a dark background.\n\tcolorTextInverseHover: 'rgb(176, 173, 171)',\n\t// Modal header title\n\tcolorTextModal: 'rgb(255, 255, 255)',\n\t// Text color for a button that has a parent element that has a hover state. This is the default text/icon color for that button before its parent has been hovered over.\n\tcolorTextButtonInverse: 'rgb(236, 235, 234)',\n\tbuttonColorTextPrimary: 'rgb(255, 255, 255)',\n\t// Modal header button text color\n\tcolorTextModalButton: 'rgb(112, 110, 107)',\n\t// Link color on dark background - disabled state\n\tcolorTextLinkInverseDisabled: 'rgba(255, 255, 255, 0.15)',\n\t// Inverse text color for dark backgrounds\n\tcolorTextInverse: 'rgb(255, 255, 255)',\n\t// Text color for default secondary button - active state\n\tcolorTextButtonDefaultActive: 'rgb(0, 112, 210)',\n\t// Icon color on dark background - disabled state\n\tcolorTextIconInverseDisabled: 'rgba(255, 255, 255, 0.15)',\n\t// Text color for a button that has a parent element that has a hover state. This is the default text/icon color for that button before its parent has been hovered over.\n\tcolorTextButtonDefaultHint: 'rgb(176, 173, 171)',\n\t// Color for interactive utility icons\n\tcolorTextIconUtility: 'rgb(176, 173, 171)',\n\t// Icon color on dark background - hover state\n\tcolorTextIconInverseHover: 'rgb(255, 255, 255)',\n\t// Input placeholder text.\n\tcolorTextPlaceholder: 'rgb(112, 110, 107)',\n\t// Weak inverse text color for dark backgrounds\n\tcolorTextInverseWeak: 'rgb(176, 173, 171)',\n\t// Secondary body text color\n\tcolorTextSecondary: 'rgb(112, 110, 107)',\n\t// Typed input text\n\tcolorTextInputFocusInverse: 'rgb(22, 50, 92)',\n\t// Text in stage left navigation.\n\tcolorTextStageLeft: 'rgb(236, 235, 234)',\n\t// Link color on dark background - hover state\n\tcolorTextLinkInverseHover: 'rgba(255, 255, 255, 0.75)',\n\t// Text color for success text on dark backgrounds.\n\tcolorTextSuccessInverse: 'rgb(75, 202, 129)',\n\t// Text color for field labels.\n\tcolorTextLabel: 'rgb(112, 110, 107)',\n};\n","/**\n * lodash (Custom Build) <https://lodash.com/>\n * Build: `lodash modularize exports=\"npm\" -o ./`\n * Copyright jQuery Foundation and other contributors <https://jquery.org/>\n * Released under MIT license <https://lodash.com/license>\n * Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>\n * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n */\n\n/** Used as the size to enable large array optimizations. */\nvar LARGE_ARRAY_SIZE = 200;\n\n/** Used as the `TypeError` message for \"Functions\" methods. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/** Used to compose bitmasks for comparison styles. */\nvar UNORDERED_COMPARE_FLAG = 1,\n PARTIAL_COMPARE_FLAG = 2;\n\n/** Used as references for various `Number` constants. */\nvar INFINITY = 1 / 0,\n MAX_SAFE_INTEGER = 9007199254740991;\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n funcTag = '[object Function]',\n genTag = '[object GeneratorFunction]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n objectTag = '[object Object]',\n promiseTag = '[object Promise]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n symbolTag = '[object Symbol]',\n weakMapTag = '[object WeakMap]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n dataViewTag = '[object DataView]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/** Used to match property names within property paths. */\nvar reIsDeepProp = /\\.|\\[(?:[^[\\]]*|([\"'])(?:(?!\\1)[^\\\\]|\\\\.)*?\\1)\\]/,\n reIsPlainProp = /^\\w*$/,\n reLeadingDot = /^\\./,\n rePropName = /[^.[\\]]+|\\[(?:(-?\\d+(?:\\.\\d+)?)|([\"'])((?:(?!\\2)[^\\\\]|\\\\.)*?)\\2)\\]|(?=(?:\\.|\\[\\])(?:\\.|\\[\\]|$))/g;\n\n/**\n * Used to match `RegExp`\n * [syntax characters](http://ecma-international.org/ecma-262/7.0/#sec-patterns).\n */\nvar reRegExpChar = /[\\\\^$.*+?()[\\]{}|]/g;\n\n/** Used to match backslashes in property paths. */\nvar reEscapeChar = /\\\\(\\\\)?/g;\n\n/** Used to detect host constructors (Safari). */\nvar reIsHostCtor = /^\\[object .+?Constructor\\]$/;\n\n/** Used to detect unsigned integer values. */\nvar reIsUint = /^(?:0|[1-9]\\d*)$/;\n\n/** Used to identify `toStringTag` values of typed arrays. */\nvar typedArrayTags = {};\ntypedArrayTags[float32Tag] = typedArrayTags[float64Tag] =\ntypedArrayTags[int8Tag] = typedArrayTags[int16Tag] =\ntypedArrayTags[int32Tag] = typedArrayTags[uint8Tag] =\ntypedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] =\ntypedArrayTags[uint32Tag] = true;\ntypedArrayTags[argsTag] = typedArrayTags[arrayTag] =\ntypedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] =\ntypedArrayTags[dataViewTag] = typedArrayTags[dateTag] =\ntypedArrayTags[errorTag] = typedArrayTags[funcTag] =\ntypedArrayTags[mapTag] = typedArrayTags[numberTag] =\ntypedArrayTags[objectTag] = typedArrayTags[regexpTag] =\ntypedArrayTags[setTag] = typedArrayTags[stringTag] =\ntypedArrayTags[weakMapTag] = false;\n\n/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\n/** Detect free variable `exports`. */\nvar freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;\n\n/** Detect free variable `module`. */\nvar freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;\n\n/** Detect the popular CommonJS extension `module.exports`. */\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n\n/** Detect free variable `process` from Node.js. */\nvar freeProcess = moduleExports && freeGlobal.process;\n\n/** Used to access faster Node.js helpers. */\nvar nodeUtil = (function() {\n try {\n return freeProcess && freeProcess.binding('util');\n } catch (e) {}\n}());\n\n/* Node.js helper references. */\nvar nodeIsTypedArray = nodeUtil && nodeUtil.isTypedArray;\n\n/**\n * A specialized version of `_.filter` for arrays without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {Array} Returns the new filtered array.\n */\nfunction arrayFilter(array, predicate) {\n var index = -1,\n length = array ? array.length : 0,\n resIndex = 0,\n result = [];\n\n while (++index < length) {\n var value = array[index];\n if (predicate(value, index, array)) {\n result[resIndex++] = value;\n }\n }\n return result;\n}\n\n/**\n * A specialized version of `_.some` for arrays without support for iteratee\n * shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {boolean} Returns `true` if any element passes the predicate check,\n * else `false`.\n */\nfunction arraySome(array, predicate) {\n var index = -1,\n length = array ? array.length : 0;\n\n while (++index < length) {\n if (predicate(array[index], index, array)) {\n return true;\n }\n }\n return false;\n}\n\n/**\n * The base implementation of `_.property` without support for deep paths.\n *\n * @private\n * @param {string} key The key of the property to get.\n * @returns {Function} Returns the new accessor function.\n */\nfunction baseProperty(key) {\n return function(object) {\n return object == null ? undefined : object[key];\n };\n}\n\n/**\n * The base implementation of `_.times` without support for iteratee shorthands\n * or max array length checks.\n *\n * @private\n * @param {number} n The number of times to invoke `iteratee`.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns the array of results.\n */\nfunction baseTimes(n, iteratee) {\n var index = -1,\n result = Array(n);\n\n while (++index < n) {\n result[index] = iteratee(index);\n }\n return result;\n}\n\n/**\n * The base implementation of `_.unary` without support for storing metadata.\n *\n * @private\n * @param {Function} func The function to cap arguments for.\n * @returns {Function} Returns the new capped function.\n */\nfunction baseUnary(func) {\n return function(value) {\n return func(value);\n };\n}\n\n/**\n * Gets the value at `key` of `object`.\n *\n * @private\n * @param {Object} [object] The object to query.\n * @param {string} key The key of the property to get.\n * @returns {*} Returns the property value.\n */\nfunction getValue(object, key) {\n return object == null ? undefined : object[key];\n}\n\n/**\n * Checks if `value` is a host object in IE < 9.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a host object, else `false`.\n */\nfunction isHostObject(value) {\n // Many host objects are `Object` objects that can coerce to strings\n // despite having improperly defined `toString` methods.\n var result = false;\n if (value != null && typeof value.toString != 'function') {\n try {\n result = !!(value + '');\n } catch (e) {}\n }\n return result;\n}\n\n/**\n * Converts `map` to its key-value pairs.\n *\n * @private\n * @param {Object} map The map to convert.\n * @returns {Array} Returns the key-value pairs.\n */\nfunction mapToArray(map) {\n var index = -1,\n result = Array(map.size);\n\n map.forEach(function(value, key) {\n result[++index] = [key, value];\n });\n return result;\n}\n\n/**\n * Creates a unary function that invokes `func` with its argument transformed.\n *\n * @private\n * @param {Function} func The function to wrap.\n * @param {Function} transform The argument transform.\n * @returns {Function} Returns the new function.\n */\nfunction overArg(func, transform) {\n return function(arg) {\n return func(transform(arg));\n };\n}\n\n/**\n * Converts `set` to an array of its values.\n *\n * @private\n * @param {Object} set The set to convert.\n * @returns {Array} Returns the values.\n */\nfunction setToArray(set) {\n var index = -1,\n result = Array(set.size);\n\n set.forEach(function(value) {\n result[++index] = value;\n });\n return result;\n}\n\n/** Used for built-in method references. */\nvar arrayProto = Array.prototype,\n funcProto = Function.prototype,\n objectProto = Object.prototype;\n\n/** Used to detect overreaching core-js shims. */\nvar coreJsData = root['__core-js_shared__'];\n\n/** Used to detect methods masquerading as native. */\nvar maskSrcKey = (function() {\n var uid = /[^.]+$/.exec(coreJsData && coreJsData.keys && coreJsData.keys.IE_PROTO || '');\n return uid ? ('Symbol(src)_1.' + uid) : '';\n}());\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objectToString = objectProto.toString;\n\n/** Used to detect if a method is native. */\nvar reIsNative = RegExp('^' +\n funcToString.call(hasOwnProperty).replace(reRegExpChar, '\\\\$&')\n .replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g, '$1.*?') + '$'\n);\n\n/** Built-in value references. */\nvar Symbol = root.Symbol,\n Uint8Array = root.Uint8Array,\n propertyIsEnumerable = objectProto.propertyIsEnumerable,\n splice = arrayProto.splice;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeKeys = overArg(Object.keys, Object);\n\n/* Built-in method references that are verified to be native. */\nvar DataView = getNative(root, 'DataView'),\n Map = getNative(root, 'Map'),\n Promise = getNative(root, 'Promise'),\n Set = getNative(root, 'Set'),\n WeakMap = getNative(root, 'WeakMap'),\n nativeCreate = getNative(Object, 'create');\n\n/** Used to detect maps, sets, and weakmaps. */\nvar dataViewCtorString = toSource(DataView),\n mapCtorString = toSource(Map),\n promiseCtorString = toSource(Promise),\n setCtorString = toSource(Set),\n weakMapCtorString = toSource(WeakMap);\n\n/** Used to convert symbols to primitives and strings. */\nvar symbolProto = Symbol ? Symbol.prototype : undefined,\n symbolValueOf = symbolProto ? symbolProto.valueOf : undefined,\n symbolToString = symbolProto ? symbolProto.toString : undefined;\n\n/**\n * Creates a hash object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Hash(entries) {\n var index = -1,\n length = entries ? entries.length : 0;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n/**\n * Removes all key-value entries from the hash.\n *\n * @private\n * @name clear\n * @memberOf Hash\n */\nfunction hashClear() {\n this.__data__ = nativeCreate ? nativeCreate(null) : {};\n}\n\n/**\n * Removes `key` and its value from the hash.\n *\n * @private\n * @name delete\n * @memberOf Hash\n * @param {Object} hash The hash to modify.\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction hashDelete(key) {\n return this.has(key) && delete this.__data__[key];\n}\n\n/**\n * Gets the hash value for `key`.\n *\n * @private\n * @name get\n * @memberOf Hash\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction hashGet(key) {\n var data = this.__data__;\n if (nativeCreate) {\n var result = data[key];\n return result === HASH_UNDEFINED ? undefined : result;\n }\n return hasOwnProperty.call(data, key) ? data[key] : undefined;\n}\n\n/**\n * Checks if a hash value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Hash\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction hashHas(key) {\n var data = this.__data__;\n return nativeCreate ? data[key] !== undefined : hasOwnProperty.call(data, key);\n}\n\n/**\n * Sets the hash `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Hash\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the hash instance.\n */\nfunction hashSet(key, value) {\n var data = this.__data__;\n data[key] = (nativeCreate && value === undefined) ? HASH_UNDEFINED : value;\n return this;\n}\n\n// Add methods to `Hash`.\nHash.prototype.clear = hashClear;\nHash.prototype['delete'] = hashDelete;\nHash.prototype.get = hashGet;\nHash.prototype.has = hashHas;\nHash.prototype.set = hashSet;\n\n/**\n * Creates an list cache object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction ListCache(entries) {\n var index = -1,\n length = entries ? entries.length : 0;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n/**\n * Removes all key-value entries from the list cache.\n *\n * @private\n * @name clear\n * @memberOf ListCache\n */\nfunction listCacheClear() {\n this.__data__ = [];\n}\n\n/**\n * Removes `key` and its value from the list cache.\n *\n * @private\n * @name delete\n * @memberOf ListCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction listCacheDelete(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n return false;\n }\n var lastIndex = data.length - 1;\n if (index == lastIndex) {\n data.pop();\n } else {\n splice.call(data, index, 1);\n }\n return true;\n}\n\n/**\n * Gets the list cache value for `key`.\n *\n * @private\n * @name get\n * @memberOf ListCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction listCacheGet(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n return index < 0 ? undefined : data[index][1];\n}\n\n/**\n * Checks if a list cache value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf ListCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction listCacheHas(key) {\n return assocIndexOf(this.__data__, key) > -1;\n}\n\n/**\n * Sets the list cache `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf ListCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the list cache instance.\n */\nfunction listCacheSet(key, value) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n data.push([key, value]);\n } else {\n data[index][1] = value;\n }\n return this;\n}\n\n// Add methods to `ListCache`.\nListCache.prototype.clear = listCacheClear;\nListCache.prototype['delete'] = listCacheDelete;\nListCache.prototype.get = listCacheGet;\nListCache.prototype.has = listCacheHas;\nListCache.prototype.set = listCacheSet;\n\n/**\n * Creates a map cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction MapCache(entries) {\n var index = -1,\n length = entries ? entries.length : 0;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n/**\n * Removes all key-value entries from the map.\n *\n * @private\n * @name clear\n * @memberOf MapCache\n */\nfunction mapCacheClear() {\n this.__data__ = {\n 'hash': new Hash,\n 'map': new (Map || ListCache),\n 'string': new Hash\n };\n}\n\n/**\n * Removes `key` and its value from the map.\n *\n * @private\n * @name delete\n * @memberOf MapCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction mapCacheDelete(key) {\n return getMapData(this, key)['delete'](key);\n}\n\n/**\n * Gets the map value for `key`.\n *\n * @private\n * @name get\n * @memberOf MapCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction mapCacheGet(key) {\n return getMapData(this, key).get(key);\n}\n\n/**\n * Checks if a map value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf MapCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction mapCacheHas(key) {\n return getMapData(this, key).has(key);\n}\n\n/**\n * Sets the map `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf MapCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the map cache instance.\n */\nfunction mapCacheSet(key, value) {\n getMapData(this, key).set(key, value);\n return this;\n}\n\n// Add methods to `MapCache`.\nMapCache.prototype.clear = mapCacheClear;\nMapCache.prototype['delete'] = mapCacheDelete;\nMapCache.prototype.get = mapCacheGet;\nMapCache.prototype.has = mapCacheHas;\nMapCache.prototype.set = mapCacheSet;\n\n/**\n *\n * Creates an array cache object to store unique values.\n *\n * @private\n * @constructor\n * @param {Array} [values] The values to cache.\n */\nfunction SetCache(values) {\n var index = -1,\n length = values ? values.length : 0;\n\n this.__data__ = new MapCache;\n while (++index < length) {\n this.add(values[index]);\n }\n}\n\n/**\n * Adds `value` to the array cache.\n *\n * @private\n * @name add\n * @memberOf SetCache\n * @alias push\n * @param {*} value The value to cache.\n * @returns {Object} Returns the cache instance.\n */\nfunction setCacheAdd(value) {\n this.__data__.set(value, HASH_UNDEFINED);\n return this;\n}\n\n/**\n * Checks if `value` is in the array cache.\n *\n * @private\n * @name has\n * @memberOf SetCache\n * @param {*} value The value to search for.\n * @returns {number} Returns `true` if `value` is found, else `false`.\n */\nfunction setCacheHas(value) {\n return this.__data__.has(value);\n}\n\n// Add methods to `SetCache`.\nSetCache.prototype.add = SetCache.prototype.push = setCacheAdd;\nSetCache.prototype.has = setCacheHas;\n\n/**\n * Creates a stack cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Stack(entries) {\n this.__data__ = new ListCache(entries);\n}\n\n/**\n * Removes all key-value entries from the stack.\n *\n * @private\n * @name clear\n * @memberOf Stack\n */\nfunction stackClear() {\n this.__data__ = new ListCache;\n}\n\n/**\n * Removes `key` and its value from the stack.\n *\n * @private\n * @name delete\n * @memberOf Stack\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction stackDelete(key) {\n return this.__data__['delete'](key);\n}\n\n/**\n * Gets the stack value for `key`.\n *\n * @private\n * @name get\n * @memberOf Stack\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction stackGet(key) {\n return this.__data__.get(key);\n}\n\n/**\n * Checks if a stack value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Stack\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction stackHas(key) {\n return this.__data__.has(key);\n}\n\n/**\n * Sets the stack `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Stack\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the stack cache instance.\n */\nfunction stackSet(key, value) {\n var cache = this.__data__;\n if (cache instanceof ListCache) {\n var pairs = cache.__data__;\n if (!Map || (pairs.length < LARGE_ARRAY_SIZE - 1)) {\n pairs.push([key, value]);\n return this;\n }\n cache = this.__data__ = new MapCache(pairs);\n }\n cache.set(key, value);\n return this;\n}\n\n// Add methods to `Stack`.\nStack.prototype.clear = stackClear;\nStack.prototype['delete'] = stackDelete;\nStack.prototype.get = stackGet;\nStack.prototype.has = stackHas;\nStack.prototype.set = stackSet;\n\n/**\n * Creates an array of the enumerable property names of the array-like `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @param {boolean} inherited Specify returning inherited property names.\n * @returns {Array} Returns the array of property names.\n */\nfunction arrayLikeKeys(value, inherited) {\n // Safari 8.1 makes `arguments.callee` enumerable in strict mode.\n // Safari 9 makes `arguments.length` enumerable in strict mode.\n var result = (isArray(value) || isArguments(value))\n ? baseTimes(value.length, String)\n : [];\n\n var length = result.length,\n skipIndexes = !!length;\n\n for (var key in value) {\n if ((inherited || hasOwnProperty.call(value, key)) &&\n !(skipIndexes && (key == 'length' || isIndex(key, length)))) {\n result.push(key);\n }\n }\n return result;\n}\n\n/**\n * Gets the index at which the `key` is found in `array` of key-value pairs.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} key The key to search for.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction assocIndexOf(array, key) {\n var length = array.length;\n while (length--) {\n if (eq(array[length][0], key)) {\n return length;\n }\n }\n return -1;\n}\n\n/**\n * The base implementation of `_.forEach` without support for iteratee shorthands.\n *\n * @private\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array|Object} Returns `collection`.\n */\nvar baseEach = createBaseEach(baseForOwn);\n\n/**\n * The base implementation of `_.filter` without support for iteratee shorthands.\n *\n * @private\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {Array} Returns the new filtered array.\n */\nfunction baseFilter(collection, predicate) {\n var result = [];\n baseEach(collection, function(value, index, collection) {\n if (predicate(value, index, collection)) {\n result.push(value);\n }\n });\n return result;\n}\n\n/**\n * The base implementation of `baseForOwn` which iterates over `object`\n * properties returned by `keysFunc` and invokes `iteratee` for each property.\n * Iteratee functions may exit iteration early by explicitly returning `false`.\n *\n * @private\n * @param {Object} object The object to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @param {Function} keysFunc The function to get the keys of `object`.\n * @returns {Object} Returns `object`.\n */\nvar baseFor = createBaseFor();\n\n/**\n * The base implementation of `_.forOwn` without support for iteratee shorthands.\n *\n * @private\n * @param {Object} object The object to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Object} Returns `object`.\n */\nfunction baseForOwn(object, iteratee) {\n return object && baseFor(object, iteratee, keys);\n}\n\n/**\n * The base implementation of `_.get` without support for default values.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Array|string} path The path of the property to get.\n * @returns {*} Returns the resolved value.\n */\nfunction baseGet(object, path) {\n path = isKey(path, object) ? [path] : castPath(path);\n\n var index = 0,\n length = path.length;\n\n while (object != null && index < length) {\n object = object[toKey(path[index++])];\n }\n return (index && index == length) ? object : undefined;\n}\n\n/**\n * The base implementation of `getTag`.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nfunction baseGetTag(value) {\n return objectToString.call(value);\n}\n\n/**\n * The base implementation of `_.hasIn` without support for deep paths.\n *\n * @private\n * @param {Object} [object] The object to query.\n * @param {Array|string} key The key to check.\n * @returns {boolean} Returns `true` if `key` exists, else `false`.\n */\nfunction baseHasIn(object, key) {\n return object != null && key in Object(object);\n}\n\n/**\n * The base implementation of `_.isEqual` which supports partial comparisons\n * and tracks traversed objects.\n *\n * @private\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @param {Function} [customizer] The function to customize comparisons.\n * @param {boolean} [bitmask] The bitmask of comparison flags.\n * The bitmask may be composed of the following flags:\n * 1 - Unordered comparison\n * 2 - Partial comparison\n * @param {Object} [stack] Tracks traversed `value` and `other` objects.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n */\nfunction baseIsEqual(value, other, customizer, bitmask, stack) {\n if (value === other) {\n return true;\n }\n if (value == null || other == null || (!isObject(value) && !isObjectLike(other))) {\n return value !== value && other !== other;\n }\n return baseIsEqualDeep(value, other, baseIsEqual, customizer, bitmask, stack);\n}\n\n/**\n * A specialized version of `baseIsEqual` for arrays and objects which performs\n * deep comparisons and tracks traversed objects enabling objects with circular\n * references to be compared.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Function} [customizer] The function to customize comparisons.\n * @param {number} [bitmask] The bitmask of comparison flags. See `baseIsEqual`\n * for more details.\n * @param {Object} [stack] Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction baseIsEqualDeep(object, other, equalFunc, customizer, bitmask, stack) {\n var objIsArr = isArray(object),\n othIsArr = isArray(other),\n objTag = arrayTag,\n othTag = arrayTag;\n\n if (!objIsArr) {\n objTag = getTag(object);\n objTag = objTag == argsTag ? objectTag : objTag;\n }\n if (!othIsArr) {\n othTag = getTag(other);\n othTag = othTag == argsTag ? objectTag : othTag;\n }\n var objIsObj = objTag == objectTag && !isHostObject(object),\n othIsObj = othTag == objectTag && !isHostObject(other),\n isSameTag = objTag == othTag;\n\n if (isSameTag && !objIsObj) {\n stack || (stack = new Stack);\n return (objIsArr || isTypedArray(object))\n ? equalArrays(object, other, equalFunc, customizer, bitmask, stack)\n : equalByTag(object, other, objTag, equalFunc, customizer, bitmask, stack);\n }\n if (!(bitmask & PARTIAL_COMPARE_FLAG)) {\n var objIsWrapped = objIsObj && hasOwnProperty.call(object, '__wrapped__'),\n othIsWrapped = othIsObj && hasOwnProperty.call(other, '__wrapped__');\n\n if (objIsWrapped || othIsWrapped) {\n var objUnwrapped = objIsWrapped ? object.value() : object,\n othUnwrapped = othIsWrapped ? other.value() : other;\n\n stack || (stack = new Stack);\n return equalFunc(objUnwrapped, othUnwrapped, customizer, bitmask, stack);\n }\n }\n if (!isSameTag) {\n return false;\n }\n stack || (stack = new Stack);\n return equalObjects(object, other, equalFunc, customizer, bitmask, stack);\n}\n\n/**\n * The base implementation of `_.isMatch` without support for iteratee shorthands.\n *\n * @private\n * @param {Object} object The object to inspect.\n * @param {Object} source The object of property values to match.\n * @param {Array} matchData The property names, values, and compare flags to match.\n * @param {Function} [customizer] The function to customize comparisons.\n * @returns {boolean} Returns `true` if `object` is a match, else `false`.\n */\nfunction baseIsMatch(object, source, matchData, customizer) {\n var index = matchData.length,\n length = index,\n noCustomizer = !customizer;\n\n if (object == null) {\n return !length;\n }\n object = Object(object);\n while (index--) {\n var data = matchData[index];\n if ((noCustomizer && data[2])\n ? data[1] !== object[data[0]]\n : !(data[0] in object)\n ) {\n return false;\n }\n }\n while (++index < length) {\n data = matchData[index];\n var key = data[0],\n objValue = object[key],\n srcValue = data[1];\n\n if (noCustomizer && data[2]) {\n if (objValue === undefined && !(key in object)) {\n return false;\n }\n } else {\n var stack = new Stack;\n if (customizer) {\n var result = customizer(objValue, srcValue, key, object, source, stack);\n }\n if (!(result === undefined\n ? baseIsEqual(srcValue, objValue, customizer, UNORDERED_COMPARE_FLAG | PARTIAL_COMPARE_FLAG, stack)\n : result\n )) {\n return false;\n }\n }\n }\n return true;\n}\n\n/**\n * The base implementation of `_.isNative` without bad shim checks.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a native function,\n * else `false`.\n */\nfunction baseIsNative(value) {\n if (!isObject(value) || isMasked(value)) {\n return false;\n }\n var pattern = (isFunction(value) || isHostObject(value)) ? reIsNative : reIsHostCtor;\n return pattern.test(toSource(value));\n}\n\n/**\n * The base implementation of `_.isTypedArray` without Node.js optimizations.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n */\nfunction baseIsTypedArray(value) {\n return isObjectLike(value) &&\n isLength(value.length) && !!typedArrayTags[objectToString.call(value)];\n}\n\n/**\n * The base implementation of `_.iteratee`.\n *\n * @private\n * @param {*} [value=_.identity] The value to convert to an iteratee.\n * @returns {Function} Returns the iteratee.\n */\nfunction baseIteratee(value) {\n // Don't store the `typeof` result in a variable to avoid a JIT bug in Safari 9.\n // See https://bugs.webkit.org/show_bug.cgi?id=156034 for more details.\n if (typeof value == 'function') {\n return value;\n }\n if (value == null) {\n return identity;\n }\n if (typeof value == 'object') {\n return isArray(value)\n ? baseMatchesProperty(value[0], value[1])\n : baseMatches(value);\n }\n return property(value);\n}\n\n/**\n * The base implementation of `_.keys` which doesn't treat sparse arrays as dense.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction baseKeys(object) {\n if (!isPrototype(object)) {\n return nativeKeys(object);\n }\n var result = [];\n for (var key in Object(object)) {\n if (hasOwnProperty.call(object, key) && key != 'constructor') {\n result.push(key);\n }\n }\n return result;\n}\n\n/**\n * The base implementation of `_.matches` which doesn't clone `source`.\n *\n * @private\n * @param {Object} source The object of property values to match.\n * @returns {Function} Returns the new spec function.\n */\nfunction baseMatches(source) {\n var matchData = getMatchData(source);\n if (matchData.length == 1 && matchData[0][2]) {\n return matchesStrictComparable(matchData[0][0], matchData[0][1]);\n }\n return function(object) {\n return object === source || baseIsMatch(object, source, matchData);\n };\n}\n\n/**\n * The base implementation of `_.matchesProperty` which doesn't clone `srcValue`.\n *\n * @private\n * @param {string} path The path of the property to get.\n * @param {*} srcValue The value to match.\n * @returns {Function} Returns the new spec function.\n */\nfunction baseMatchesProperty(path, srcValue) {\n if (isKey(path) && isStrictComparable(srcValue)) {\n return matchesStrictComparable(toKey(path), srcValue);\n }\n return function(object) {\n var objValue = get(object, path);\n return (objValue === undefined && objValue === srcValue)\n ? hasIn(object, path)\n : baseIsEqual(srcValue, objValue, undefined, UNORDERED_COMPARE_FLAG | PARTIAL_COMPARE_FLAG);\n };\n}\n\n/**\n * A specialized version of `baseProperty` which supports deep paths.\n *\n * @private\n * @param {Array|string} path The path of the property to get.\n * @returns {Function} Returns the new accessor function.\n */\nfunction basePropertyDeep(path) {\n return function(object) {\n return baseGet(object, path);\n };\n}\n\n/**\n * The base implementation of `_.toString` which doesn't convert nullish\n * values to empty strings.\n *\n * @private\n * @param {*} value The value to process.\n * @returns {string} Returns the string.\n */\nfunction baseToString(value) {\n // Exit early for strings to avoid a performance hit in some environments.\n if (typeof value == 'string') {\n return value;\n }\n if (isSymbol(value)) {\n return symbolToString ? symbolToString.call(value) : '';\n }\n var result = (value + '');\n return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result;\n}\n\n/**\n * Casts `value` to a path array if it's not one.\n *\n * @private\n * @param {*} value The value to inspect.\n * @returns {Array} Returns the cast property path array.\n */\nfunction castPath(value) {\n return isArray(value) ? value : stringToPath(value);\n}\n\n/**\n * Creates a `baseEach` or `baseEachRight` function.\n *\n * @private\n * @param {Function} eachFunc The function to iterate over a collection.\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {Function} Returns the new base function.\n */\nfunction createBaseEach(eachFunc, fromRight) {\n return function(collection, iteratee) {\n if (collection == null) {\n return collection;\n }\n if (!isArrayLike(collection)) {\n return eachFunc(collection, iteratee);\n }\n var length = collection.length,\n index = fromRight ? length : -1,\n iterable = Object(collection);\n\n while ((fromRight ? index-- : ++index < length)) {\n if (iteratee(iterable[index], index, iterable) === false) {\n break;\n }\n }\n return collection;\n };\n}\n\n/**\n * Creates a base function for methods like `_.forIn` and `_.forOwn`.\n *\n * @private\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {Function} Returns the new base function.\n */\nfunction createBaseFor(fromRight) {\n return function(object, iteratee, keysFunc) {\n var index = -1,\n iterable = Object(object),\n props = keysFunc(object),\n length = props.length;\n\n while (length--) {\n var key = props[fromRight ? length : ++index];\n if (iteratee(iterable[key], key, iterable) === false) {\n break;\n }\n }\n return object;\n };\n}\n\n/**\n * A specialized version of `baseIsEqualDeep` for arrays with support for\n * partial deep comparisons.\n *\n * @private\n * @param {Array} array The array to compare.\n * @param {Array} other The other array to compare.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Function} customizer The function to customize comparisons.\n * @param {number} bitmask The bitmask of comparison flags. See `baseIsEqual`\n * for more details.\n * @param {Object} stack Tracks traversed `array` and `other` objects.\n * @returns {boolean} Returns `true` if the arrays are equivalent, else `false`.\n */\nfunction equalArrays(array, other, equalFunc, customizer, bitmask, stack) {\n var isPartial = bitmask & PARTIAL_COMPARE_FLAG,\n arrLength = array.length,\n othLength = other.length;\n\n if (arrLength != othLength && !(isPartial && othLength > arrLength)) {\n return false;\n }\n // Assume cyclic values are equal.\n var stacked = stack.get(array);\n if (stacked && stack.get(other)) {\n return stacked == other;\n }\n var index = -1,\n result = true,\n seen = (bitmask & UNORDERED_COMPARE_FLAG) ? new SetCache : undefined;\n\n stack.set(array, other);\n stack.set(other, array);\n\n // Ignore non-index properties.\n while (++index < arrLength) {\n var arrValue = array[index],\n othValue = other[index];\n\n if (customizer) {\n var compared = isPartial\n ? customizer(othValue, arrValue, index, other, array, stack)\n : customizer(arrValue, othValue, index, array, other, stack);\n }\n if (compared !== undefined) {\n if (compared) {\n continue;\n }\n result = false;\n break;\n }\n // Recursively compare arrays (susceptible to call stack limits).\n if (seen) {\n if (!arraySome(other, function(othValue, othIndex) {\n if (!seen.has(othIndex) &&\n (arrValue === othValue || equalFunc(arrValue, othValue, customizer, bitmask, stack))) {\n return seen.add(othIndex);\n }\n })) {\n result = false;\n break;\n }\n } else if (!(\n arrValue === othValue ||\n equalFunc(arrValue, othValue, customizer, bitmask, stack)\n )) {\n result = false;\n break;\n }\n }\n stack['delete'](array);\n stack['delete'](other);\n return result;\n}\n\n/**\n * A specialized version of `baseIsEqualDeep` for comparing objects of\n * the same `toStringTag`.\n *\n * **Note:** This function only supports comparing values with tags of\n * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {string} tag The `toStringTag` of the objects to compare.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Function} customizer The function to customize comparisons.\n * @param {number} bitmask The bitmask of comparison flags. See `baseIsEqual`\n * for more details.\n * @param {Object} stack Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction equalByTag(object, other, tag, equalFunc, customizer, bitmask, stack) {\n switch (tag) {\n case dataViewTag:\n if ((object.byteLength != other.byteLength) ||\n (object.byteOffset != other.byteOffset)) {\n return false;\n }\n object = object.buffer;\n other = other.buffer;\n\n case arrayBufferTag:\n if ((object.byteLength != other.byteLength) ||\n !equalFunc(new Uint8Array(object), new Uint8Array(other))) {\n return false;\n }\n return true;\n\n case boolTag:\n case dateTag:\n case numberTag:\n // Coerce booleans to `1` or `0` and dates to milliseconds.\n // Invalid dates are coerced to `NaN`.\n return eq(+object, +other);\n\n case errorTag:\n return object.name == other.name && object.message == other.message;\n\n case regexpTag:\n case stringTag:\n // Coerce regexes to strings and treat strings, primitives and objects,\n // as equal. See http://www.ecma-international.org/ecma-262/7.0/#sec-regexp.prototype.tostring\n // for more details.\n return object == (other + '');\n\n case mapTag:\n var convert = mapToArray;\n\n case setTag:\n var isPartial = bitmask & PARTIAL_COMPARE_FLAG;\n convert || (convert = setToArray);\n\n if (object.size != other.size && !isPartial) {\n return false;\n }\n // Assume cyclic values are equal.\n var stacked = stack.get(object);\n if (stacked) {\n return stacked == other;\n }\n bitmask |= UNORDERED_COMPARE_FLAG;\n\n // Recursively compare objects (susceptible to call stack limits).\n stack.set(object, other);\n var result = equalArrays(convert(object), convert(other), equalFunc, customizer, bitmask, stack);\n stack['delete'](object);\n return result;\n\n case symbolTag:\n if (symbolValueOf) {\n return symbolValueOf.call(object) == symbolValueOf.call(other);\n }\n }\n return false;\n}\n\n/**\n * A specialized version of `baseIsEqualDeep` for objects with support for\n * partial deep comparisons.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Function} customizer The function to customize comparisons.\n * @param {number} bitmask The bitmask of comparison flags. See `baseIsEqual`\n * for more details.\n * @param {Object} stack Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction equalObjects(object, other, equalFunc, customizer, bitmask, stack) {\n var isPartial = bitmask & PARTIAL_COMPARE_FLAG,\n objProps = keys(object),\n objLength = objProps.length,\n othProps = keys(other),\n othLength = othProps.length;\n\n if (objLength != othLength && !isPartial) {\n return false;\n }\n var index = objLength;\n while (index--) {\n var key = objProps[index];\n if (!(isPartial ? key in other : hasOwnProperty.call(other, key))) {\n return false;\n }\n }\n // Assume cyclic values are equal.\n var stacked = stack.get(object);\n if (stacked && stack.get(other)) {\n return stacked == other;\n }\n var result = true;\n stack.set(object, other);\n stack.set(other, object);\n\n var skipCtor = isPartial;\n while (++index < objLength) {\n key = objProps[index];\n var objValue = object[key],\n othValue = other[key];\n\n if (customizer) {\n var compared = isPartial\n ? customizer(othValue, objValue, key, other, object, stack)\n : customizer(objValue, othValue, key, object, other, stack);\n }\n // Recursively compare objects (susceptible to call stack limits).\n if (!(compared === undefined\n ? (objValue === othValue || equalFunc(objValue, othValue, customizer, bitmask, stack))\n : compared\n )) {\n result = false;\n break;\n }\n skipCtor || (skipCtor = key == 'constructor');\n }\n if (result && !skipCtor) {\n var objCtor = object.constructor,\n othCtor = other.constructor;\n\n // Non `Object` object instances with different constructors are not equal.\n if (objCtor != othCtor &&\n ('constructor' in object && 'constructor' in other) &&\n !(typeof objCtor == 'function' && objCtor instanceof objCtor &&\n typeof othCtor == 'function' && othCtor instanceof othCtor)) {\n result = false;\n }\n }\n stack['delete'](object);\n stack['delete'](other);\n return result;\n}\n\n/**\n * Gets the data for `map`.\n *\n * @private\n * @param {Object} map The map to query.\n * @param {string} key The reference key.\n * @returns {*} Returns the map data.\n */\nfunction getMapData(map, key) {\n var data = map.__data__;\n return isKeyable(key)\n ? data[typeof key == 'string' ? 'string' : 'hash']\n : data.map;\n}\n\n/**\n * Gets the property names, values, and compare flags of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the match data of `object`.\n */\nfunction getMatchData(object) {\n var result = keys(object),\n length = result.length;\n\n while (length--) {\n var key = result[length],\n value = object[key];\n\n result[length] = [key, value, isStrictComparable(value)];\n }\n return result;\n}\n\n/**\n * Gets the native function at `key` of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the method to get.\n * @returns {*} Returns the function if it's native, else `undefined`.\n */\nfunction getNative(object, key) {\n var value = getValue(object, key);\n return baseIsNative(value) ? value : undefined;\n}\n\n/**\n * Gets the `toStringTag` of `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nvar getTag = baseGetTag;\n\n// Fallback for data views, maps, sets, and weak maps in IE 11,\n// for data views in Edge < 14, and promises in Node.js.\nif ((DataView && getTag(new DataView(new ArrayBuffer(1))) != dataViewTag) ||\n (Map && getTag(new Map) != mapTag) ||\n (Promise && getTag(Promise.resolve()) != promiseTag) ||\n (Set && getTag(new Set) != setTag) ||\n (WeakMap && getTag(new WeakMap) != weakMapTag)) {\n getTag = function(value) {\n var result = objectToString.call(value),\n Ctor = result == objectTag ? value.constructor : undefined,\n ctorString = Ctor ? toSource(Ctor) : undefined;\n\n if (ctorString) {\n switch (ctorString) {\n case dataViewCtorString: return dataViewTag;\n case mapCtorString: return mapTag;\n case promiseCtorString: return promiseTag;\n case setCtorString: return setTag;\n case weakMapCtorString: return weakMapTag;\n }\n }\n return result;\n };\n}\n\n/**\n * Checks if `path` exists on `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Array|string} path The path to check.\n * @param {Function} hasFunc The function to check properties.\n * @returns {boolean} Returns `true` if `path` exists, else `false`.\n */\nfunction hasPath(object, path, hasFunc) {\n path = isKey(path, object) ? [path] : castPath(path);\n\n var result,\n index = -1,\n length = path.length;\n\n while (++index < length) {\n var key = toKey(path[index]);\n if (!(result = object != null && hasFunc(object, key))) {\n break;\n }\n object = object[key];\n }\n if (result) {\n return result;\n }\n var length = object ? object.length : 0;\n return !!length && isLength(length) && isIndex(key, length) &&\n (isArray(object) || isArguments(object));\n}\n\n/**\n * Checks if `value` is a valid array-like index.\n *\n * @private\n * @param {*} value The value to check.\n * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index.\n * @returns {boolean} Returns `true` if `value` is a valid index, else `false`.\n */\nfunction isIndex(value, length) {\n length = length == null ? MAX_SAFE_INTEGER : length;\n return !!length &&\n (typeof value == 'number' || reIsUint.test(value)) &&\n (value > -1 && value % 1 == 0 && value < length);\n}\n\n/**\n * Checks if `value` is a property name and not a property path.\n *\n * @private\n * @param {*} value The value to check.\n * @param {Object} [object] The object to query keys on.\n * @returns {boolean} Returns `true` if `value` is a property name, else `false`.\n */\nfunction isKey(value, object) {\n if (isArray(value)) {\n return false;\n }\n var type = typeof value;\n if (type == 'number' || type == 'symbol' || type == 'boolean' ||\n value == null || isSymbol(value)) {\n return true;\n }\n return reIsPlainProp.test(value) || !reIsDeepProp.test(value) ||\n (object != null && value in Object(object));\n}\n\n/**\n * Checks if `value` is suitable for use as unique object key.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is suitable, else `false`.\n */\nfunction isKeyable(value) {\n var type = typeof value;\n return (type == 'string' || type == 'number' || type == 'symbol' || type == 'boolean')\n ? (value !== '__proto__')\n : (value === null);\n}\n\n/**\n * Checks if `func` has its source masked.\n *\n * @private\n * @param {Function} func The function to check.\n * @returns {boolean} Returns `true` if `func` is masked, else `false`.\n */\nfunction isMasked(func) {\n return !!maskSrcKey && (maskSrcKey in func);\n}\n\n/**\n * Checks if `value` is likely a prototype object.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a prototype, else `false`.\n */\nfunction isPrototype(value) {\n var Ctor = value && value.constructor,\n proto = (typeof Ctor == 'function' && Ctor.prototype) || objectProto;\n\n return value === proto;\n}\n\n/**\n * Checks if `value` is suitable for strict equality comparisons, i.e. `===`.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` if suitable for strict\n * equality comparisons, else `false`.\n */\nfunction isStrictComparable(value) {\n return value === value && !isObject(value);\n}\n\n/**\n * A specialized version of `matchesProperty` for source values suitable\n * for strict equality comparisons, i.e. `===`.\n *\n * @private\n * @param {string} key The key of the property to get.\n * @param {*} srcValue The value to match.\n * @returns {Function} Returns the new spec function.\n */\nfunction matchesStrictComparable(key, srcValue) {\n return function(object) {\n if (object == null) {\n return false;\n }\n return object[key] === srcValue &&\n (srcValue !== undefined || (key in Object(object)));\n };\n}\n\n/**\n * Converts `string` to a property path array.\n *\n * @private\n * @param {string} string The string to convert.\n * @returns {Array} Returns the property path array.\n */\nvar stringToPath = memoize(function(string) {\n string = toString(string);\n\n var result = [];\n if (reLeadingDot.test(string)) {\n result.push('');\n }\n string.replace(rePropName, function(match, number, quote, string) {\n result.push(quote ? string.replace(reEscapeChar, '$1') : (number || match));\n });\n return result;\n});\n\n/**\n * Converts `value` to a string key if it's not a string or symbol.\n *\n * @private\n * @param {*} value The value to inspect.\n * @returns {string|symbol} Returns the key.\n */\nfunction toKey(value) {\n if (typeof value == 'string' || isSymbol(value)) {\n return value;\n }\n var result = (value + '');\n return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result;\n}\n\n/**\n * Converts `func` to its source code.\n *\n * @private\n * @param {Function} func The function to process.\n * @returns {string} Returns the source code.\n */\nfunction toSource(func) {\n if (func != null) {\n try {\n return funcToString.call(func);\n } catch (e) {}\n try {\n return (func + '');\n } catch (e) {}\n }\n return '';\n}\n\n/**\n * The opposite of `_.filter`; this method returns the elements of `collection`\n * that `predicate` does **not** return truthy for.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} [predicate=_.identity] The function invoked per iteration.\n * @returns {Array} Returns the new filtered array.\n * @see _.filter\n * @example\n *\n * var users = [\n * { 'user': 'barney', 'age': 36, 'active': false },\n * { 'user': 'fred', 'age': 40, 'active': true }\n * ];\n *\n * _.reject(users, function(o) { return !o.active; });\n * // => objects for ['fred']\n *\n * // The `_.matches` iteratee shorthand.\n * _.reject(users, { 'age': 40, 'active': true });\n * // => objects for ['barney']\n *\n * // The `_.matchesProperty` iteratee shorthand.\n * _.reject(users, ['active', false]);\n * // => objects for ['fred']\n *\n * // The `_.property` iteratee shorthand.\n * _.reject(users, 'active');\n * // => objects for ['barney']\n */\nfunction reject(collection, predicate) {\n var func = isArray(collection) ? arrayFilter : baseFilter;\n return func(collection, negate(baseIteratee(predicate, 3)));\n}\n\n/**\n * Creates a function that memoizes the result of `func`. If `resolver` is\n * provided, it determines the cache key for storing the result based on the\n * arguments provided to the memoized function. By default, the first argument\n * provided to the memoized function is used as the map cache key. The `func`\n * is invoked with the `this` binding of the memoized function.\n *\n * **Note:** The cache is exposed as the `cache` property on the memoized\n * function. Its creation may be customized by replacing the `_.memoize.Cache`\n * constructor with one whose instances implement the\n * [`Map`](http://ecma-international.org/ecma-262/7.0/#sec-properties-of-the-map-prototype-object)\n * method interface of `delete`, `get`, `has`, and `set`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to have its output memoized.\n * @param {Function} [resolver] The function to resolve the cache key.\n * @returns {Function} Returns the new memoized function.\n * @example\n *\n * var object = { 'a': 1, 'b': 2 };\n * var other = { 'c': 3, 'd': 4 };\n *\n * var values = _.memoize(_.values);\n * values(object);\n * // => [1, 2]\n *\n * values(other);\n * // => [3, 4]\n *\n * object.a = 2;\n * values(object);\n * // => [1, 2]\n *\n * // Modify the result cache.\n * values.cache.set(object, ['a', 'b']);\n * values(object);\n * // => ['a', 'b']\n *\n * // Replace `_.memoize.Cache`.\n * _.memoize.Cache = WeakMap;\n */\nfunction memoize(func, resolver) {\n if (typeof func != 'function' || (resolver && typeof resolver != 'function')) {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n var memoized = function() {\n var args = arguments,\n key = resolver ? resolver.apply(this, args) : args[0],\n cache = memoized.cache;\n\n if (cache.has(key)) {\n return cache.get(key);\n }\n var result = func.apply(this, args);\n memoized.cache = cache.set(key, result);\n return result;\n };\n memoized.cache = new (memoize.Cache || MapCache);\n return memoized;\n}\n\n// Assign cache to `_.memoize`.\nmemoize.Cache = MapCache;\n\n/**\n * Creates a function that negates the result of the predicate `func`. The\n * `func` predicate is invoked with the `this` binding and arguments of the\n * created function.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Function\n * @param {Function} predicate The predicate to negate.\n * @returns {Function} Returns the new negated function.\n * @example\n *\n * function isEven(n) {\n * return n % 2 == 0;\n * }\n *\n * _.filter([1, 2, 3, 4, 5, 6], _.negate(isEven));\n * // => [1, 3, 5]\n */\nfunction negate(predicate) {\n if (typeof predicate != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n return function() {\n var args = arguments;\n switch (args.length) {\n case 0: return !predicate.call(this);\n case 1: return !predicate.call(this, args[0]);\n case 2: return !predicate.call(this, args[0], args[1]);\n case 3: return !predicate.call(this, args[0], args[1], args[2]);\n }\n return !predicate.apply(this, args);\n };\n}\n\n/**\n * Performs a\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * comparison between two values to determine if they are equivalent.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'a': 1 };\n * var other = { 'a': 1 };\n *\n * _.eq(object, object);\n * // => true\n *\n * _.eq(object, other);\n * // => false\n *\n * _.eq('a', 'a');\n * // => true\n *\n * _.eq('a', Object('a'));\n * // => false\n *\n * _.eq(NaN, NaN);\n * // => true\n */\nfunction eq(value, other) {\n return value === other || (value !== value && other !== other);\n}\n\n/**\n * Checks if `value` is likely an `arguments` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n * else `false`.\n * @example\n *\n * _.isArguments(function() { return arguments; }());\n * // => true\n *\n * _.isArguments([1, 2, 3]);\n * // => false\n */\nfunction isArguments(value) {\n // Safari 8.1 makes `arguments.callee` enumerable in strict mode.\n return isArrayLikeObject(value) && hasOwnProperty.call(value, 'callee') &&\n (!propertyIsEnumerable.call(value, 'callee') || objectToString.call(value) == argsTag);\n}\n\n/**\n * Checks if `value` is classified as an `Array` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array, else `false`.\n * @example\n *\n * _.isArray([1, 2, 3]);\n * // => true\n *\n * _.isArray(document.body.children);\n * // => false\n *\n * _.isArray('abc');\n * // => false\n *\n * _.isArray(_.noop);\n * // => false\n */\nvar isArray = Array.isArray;\n\n/**\n * Checks if `value` is array-like. A value is considered array-like if it's\n * not a function and has a `value.length` that's an integer greater than or\n * equal to `0` and less than or equal to `Number.MAX_SAFE_INTEGER`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is array-like, else `false`.\n * @example\n *\n * _.isArrayLike([1, 2, 3]);\n * // => true\n *\n * _.isArrayLike(document.body.children);\n * // => true\n *\n * _.isArrayLike('abc');\n * // => true\n *\n * _.isArrayLike(_.noop);\n * // => false\n */\nfunction isArrayLike(value) {\n return value != null && isLength(value.length) && !isFunction(value);\n}\n\n/**\n * This method is like `_.isArrayLike` except that it also checks if `value`\n * is an object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array-like object,\n * else `false`.\n * @example\n *\n * _.isArrayLikeObject([1, 2, 3]);\n * // => true\n *\n * _.isArrayLikeObject(document.body.children);\n * // => true\n *\n * _.isArrayLikeObject('abc');\n * // => false\n *\n * _.isArrayLikeObject(_.noop);\n * // => false\n */\nfunction isArrayLikeObject(value) {\n return isObjectLike(value) && isArrayLike(value);\n}\n\n/**\n * Checks if `value` is classified as a `Function` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a function, else `false`.\n * @example\n *\n * _.isFunction(_);\n * // => true\n *\n * _.isFunction(/abc/);\n * // => false\n */\nfunction isFunction(value) {\n // The use of `Object#toString` avoids issues with the `typeof` operator\n // in Safari 8-9 which returns 'object' for typed array and other constructors.\n var tag = isObject(value) ? objectToString.call(value) : '';\n return tag == funcTag || tag == genTag;\n}\n\n/**\n * Checks if `value` is a valid array-like length.\n *\n * **Note:** This method is loosely based on\n * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.\n * @example\n *\n * _.isLength(3);\n * // => true\n *\n * _.isLength(Number.MIN_VALUE);\n * // => false\n *\n * _.isLength(Infinity);\n * // => false\n *\n * _.isLength('3');\n * // => false\n */\nfunction isLength(value) {\n return typeof value == 'number' &&\n value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;\n}\n\n/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n var type = typeof value;\n return !!value && (type == 'object' || type == 'function');\n}\n\n/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return !!value && typeof value == 'object';\n}\n\n/**\n * Checks if `value` is classified as a `Symbol` primitive or object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a symbol, else `false`.\n * @example\n *\n * _.isSymbol(Symbol.iterator);\n * // => true\n *\n * _.isSymbol('abc');\n * // => false\n */\nfunction isSymbol(value) {\n return typeof value == 'symbol' ||\n (isObjectLike(value) && objectToString.call(value) == symbolTag);\n}\n\n/**\n * Checks if `value` is classified as a typed array.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n * @example\n *\n * _.isTypedArray(new Uint8Array);\n * // => true\n *\n * _.isTypedArray([]);\n * // => false\n */\nvar isTypedArray = nodeIsTypedArray ? baseUnary(nodeIsTypedArray) : baseIsTypedArray;\n\n/**\n * Converts `value` to a string. An empty string is returned for `null`\n * and `undefined` values. The sign of `-0` is preserved.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to process.\n * @returns {string} Returns the string.\n * @example\n *\n * _.toString(null);\n * // => ''\n *\n * _.toString(-0);\n * // => '-0'\n *\n * _.toString([1, 2, 3]);\n * // => '1,2,3'\n */\nfunction toString(value) {\n return value == null ? '' : baseToString(value);\n}\n\n/**\n * Gets the value at `path` of `object`. If the resolved value is\n * `undefined`, the `defaultValue` is returned in its place.\n *\n * @static\n * @memberOf _\n * @since 3.7.0\n * @category Object\n * @param {Object} object The object to query.\n * @param {Array|string} path The path of the property to get.\n * @param {*} [defaultValue] The value returned for `undefined` resolved values.\n * @returns {*} Returns the resolved value.\n * @example\n *\n * var object = { 'a': [{ 'b': { 'c': 3 } }] };\n *\n * _.get(object, 'a[0].b.c');\n * // => 3\n *\n * _.get(object, ['a', '0', 'b', 'c']);\n * // => 3\n *\n * _.get(object, 'a.b.c', 'default');\n * // => 'default'\n */\nfunction get(object, path, defaultValue) {\n var result = object == null ? undefined : baseGet(object, path);\n return result === undefined ? defaultValue : result;\n}\n\n/**\n * Checks if `path` is a direct or inherited property of `object`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Object\n * @param {Object} object The object to query.\n * @param {Array|string} path The path to check.\n * @returns {boolean} Returns `true` if `path` exists, else `false`.\n * @example\n *\n * var object = _.create({ 'a': _.create({ 'b': 2 }) });\n *\n * _.hasIn(object, 'a');\n * // => true\n *\n * _.hasIn(object, 'a.b');\n * // => true\n *\n * _.hasIn(object, ['a', 'b']);\n * // => true\n *\n * _.hasIn(object, 'b');\n * // => false\n */\nfunction hasIn(object, path) {\n return object != null && hasPath(object, path, baseHasIn);\n}\n\n/**\n * Creates an array of the own enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects. See the\n * [ES spec](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)\n * for more details.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keys(new Foo);\n * // => ['a', 'b'] (iteration order is not guaranteed)\n *\n * _.keys('hi');\n * // => ['0', '1']\n */\nfunction keys(object) {\n return isArrayLike(object) ? arrayLikeKeys(object) : baseKeys(object);\n}\n\n/**\n * This method returns the first argument it receives.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Util\n * @param {*} value Any value.\n * @returns {*} Returns `value`.\n * @example\n *\n * var object = { 'a': 1 };\n *\n * console.log(_.identity(object) === object);\n * // => true\n */\nfunction identity(value) {\n return value;\n}\n\n/**\n * Creates a function that returns the value at `path` of a given object.\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Util\n * @param {Array|string} path The path of the property to get.\n * @returns {Function} Returns the new accessor function.\n * @example\n *\n * var objects = [\n * { 'a': { 'b': 2 } },\n * { 'a': { 'b': 1 } }\n * ];\n *\n * _.map(objects, _.property('a.b'));\n * // => [2, 1]\n *\n * _.map(_.sortBy(objects, _.property(['a', 'b'])), 'a.b');\n * // => [1, 2]\n */\nfunction property(path) {\n return isKey(path) ? baseProperty(toKey(path)) : basePropertyDeep(path);\n}\n\nmodule.exports = reject;\n","module.exports = function(module) {\n\tif (!module.webpackPolyfill) {\n\t\tmodule.deprecate = function() {};\n\t\tmodule.paths = [];\n\t\t// module.parent = undefined by default\n\t\tif (!module.children) module.children = [];\n\t\tObject.defineProperty(module, \"loaded\", {\n\t\t\tenumerable: true,\n\t\t\tget: function() {\n\t\t\t\treturn module.l;\n\t\t\t}\n\t\t});\n\t\tObject.defineProperty(module, \"id\", {\n\t\t\tenumerable: true,\n\t\t\tget: function() {\n\t\t\t\treturn module.i;\n\t\t\t}\n\t\t});\n\t\tmodule.webpackPolyfill = 1;\n\t}\n\treturn module;\n};\n","'use strict';\n\nvar randomFromSeed = require('./random/random-from-seed');\n\nvar ORIGINAL = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_-';\nvar alphabet;\nvar previousSeed;\n\nvar shuffled;\n\nfunction reset() {\n shuffled = false;\n}\n\nfunction setCharacters(_alphabet_) {\n if (!_alphabet_) {\n if (alphabet !== ORIGINAL) {\n alphabet = ORIGINAL;\n reset();\n }\n return;\n }\n\n if (_alphabet_ === alphabet) {\n return;\n }\n\n if (_alphabet_.length !== ORIGINAL.length) {\n throw new Error('Custom alphabet for shortid must be ' + ORIGINAL.length + ' unique characters. You submitted ' + _alphabet_.length + ' characters: ' + _alphabet_);\n }\n\n var unique = _alphabet_.split('').filter(function(item, ind, arr){\n return ind !== arr.lastIndexOf(item);\n });\n\n if (unique.length) {\n throw new Error('Custom alphabet for shortid must be ' + ORIGINAL.length + ' unique characters. These characters were not unique: ' + unique.join(', '));\n }\n\n alphabet = _alphabet_;\n reset();\n}\n\nfunction characters(_alphabet_) {\n setCharacters(_alphabet_);\n return alphabet;\n}\n\nfunction setSeed(seed) {\n randomFromSeed.seed(seed);\n if (previousSeed !== seed) {\n reset();\n previousSeed = seed;\n }\n}\n\nfunction shuffle() {\n if (!alphabet) {\n setCharacters(ORIGINAL);\n }\n\n var sourceArray = alphabet.split('');\n var targetArray = [];\n var r = randomFromSeed.nextValue();\n var characterIndex;\n\n while (sourceArray.length > 0) {\n r = randomFromSeed.nextValue();\n characterIndex = Math.floor(r * sourceArray.length);\n targetArray.push(sourceArray.splice(characterIndex, 1)[0]);\n }\n return targetArray.join('');\n}\n\nfunction getShuffled() {\n if (shuffled) {\n return shuffled;\n }\n shuffled = shuffle();\n return shuffled;\n}\n\n/**\n * lookup shuffled letter\n * @param index\n * @returns {string}\n */\nfunction lookup(index) {\n var alphabetShuffled = getShuffled();\n return alphabetShuffled[index];\n}\n\nfunction get () {\n return alphabet || ORIGINAL;\n}\n\nmodule.exports = {\n get: get,\n characters: characters,\n seed: setSeed,\n lookup: lookup,\n shuffled: getShuffled\n};\n","module.exports = function requiredIf(type, condition) {\n return function(props, propName, componentName) {\n if (typeof type !== \"function\") {\n return new Error(\n 'Invalid react-required-if prop type supplied to ' + componentName + '. Validation failed.'\n );\n }\n\n if (typeof condition !== \"function\") {\n return new Error(\n 'Invalid react-required-if condition supplied to ' + componentName + '. Validation failed.'\n );\n }\n\n var test = condition(props) ? type.isRequired : type;\n return test.apply(this, arguments);\n };\n};\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _Modal = require(\"./components/Modal\");\n\nvar _Modal2 = _interopRequireDefault(_Modal);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = _Modal2.default;\nmodule.exports = exports[\"default\"];","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.canUseDOM = undefined;\n\nvar _exenv = require(\"exenv\");\n\nvar _exenv2 = _interopRequireDefault(_exenv);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar EE = _exenv2.default;\n\nvar SafeHTMLElement = EE.canUseDOM ? window.HTMLElement : {};\n\nvar canUseDOM = exports.canUseDOM = EE.canUseDOM;\n\nexports.default = SafeHTMLElement;","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\n'use strict';\n\nvar React = require('react');\nvar factory = require('./factory');\n\nif (typeof React === 'undefined') {\n throw Error(\n 'create-react-class could not find the React object. If you are using script tags, ' +\n 'make sure that React is being loaded before create-react-class.'\n );\n}\n\n// Hack to grab NoopUpdateQueue from isomorphic React\nvar ReactNoopUpdateQueue = new React.Component().updater;\n\nmodule.exports = factory(\n React.Component,\n React.isValidElement,\n ReactNoopUpdateQueue\n);\n","var React = require('react');\nvar RegExpPropType = require('./regExpPropType');\nvar escapeStringRegexp = require('escape-string-regexp');\nvar blacklist = require('blacklist');\nvar createReactClass = require('create-react-class');\nvar PropTypes = require('prop-types');\n\nfunction removeDiacritics(str, blacklist) {\n if (!String.prototype.normalize) {\n // Fall back to original string\n return str;\n }\n\n if (!blacklist) {\n // No blacklist, just remove all\n return str.normalize('NFD').replace(/[\\u0300-\\u036f]/g, '');\n }\n else {\n var blacklistChars = blacklist.split('');\n\n // Remove all diacritics that are not a part of a blacklisted character\n // First char cannot be a diacritic\n return str.normalize('NFD').replace(/.[\\u0300-\\u036f]+/g, function(m) {\n return blacklistChars.indexOf(m.normalize()) > -1 ? m.normalize() : m[0];\n });\n }\n}\n\nvar Highlighter = createReactClass({\n displayName: 'Highlighter',\n count: 0,\n propTypes: {\n search: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.number,\n PropTypes.bool,\n RegExpPropType\n ]).isRequired,\n caseSensitive: PropTypes.bool,\n ignoreDiacritics: PropTypes.bool,\n diacriticsBlacklist: PropTypes.string,\n matchElement: PropTypes.oneOfType([PropTypes.string, PropTypes.func]),\n matchClass: PropTypes.string,\n matchStyle: PropTypes.object\n },\n\n render: function() {\n var props = blacklist(\n this.props,\n 'search',\n 'caseSensitive',\n 'ignoreDiacritics',\n 'diacriticsBlacklist',\n 'matchElement',\n 'matchClass',\n 'matchStyle'\n );\n\n return React.createElement('span', props, this.renderElement(this.props.children));\n },\n\n /**\n * A wrapper to the highlight method to determine when the highlighting\n * process should occur.\n *\n * @param {string} subject\n * The body of text that will be searched for highlighted words.\n *\n * @return {Array}\n * An array of ReactElements\n */\n renderElement: function(subject) {\n if (this.isScalar() && this.hasSearch()) {\n var search = this.getSearch();\n return this.highlightChildren(subject, search);\n }\n\n return this.props.children;\n },\n\n /**\n * Determine if props are valid types for processing.\n *\n * @return {Boolean}\n */\n isScalar: function() {\n return (/string|number|boolean/).test(typeof this.props.children);\n },\n\n /**\n * Determine if required search prop is defined and valid.\n *\n * @return {Boolean}\n */\n hasSearch: function() {\n return (typeof this.props.search !== 'undefined') && this.props.search;\n },\n\n /**\n * Get the search prop, but always in the form of a regular expression. Use\n * this as a proxy to this.props.search for consistency.\n *\n * @return {RegExp}\n */\n getSearch: function() {\n if (this.props.search instanceof RegExp) {\n return this.props.search;\n }\n\n var flags = '';\n if (!this.props.caseSensitive) {\n flags +='i';\n }\n\n var search = this.props.search;\n if (typeof this.props.search === 'string') {\n search = escapeStringRegexp(search);\n }\n\n if (this.props.ignoreDiacritics) {\n search = removeDiacritics(search, this.props.diacriticsBlacklist);\n }\n\n return new RegExp(search, flags);\n },\n\n /**\n * Get the indexes of the first and last characters of the matched string.\n *\n * @param {string} subject\n * The string to search against.\n *\n * @param {RegExp} search\n * The regex search query.\n *\n * @return {Object}\n * An object consisting of \"first\" and \"last\" properties representing the\n * indexes of the first and last characters of a matching string.\n */\n getMatchBoundaries: function(subject, search) {\n var matches = search.exec(subject);\n if (matches) {\n return {\n first: matches.index,\n last: matches.index + matches[0].length\n };\n }\n },\n\n /**\n * Determines which strings of text should be highlighted or not.\n *\n * @param {string} subject\n * The body of text that will be searched for highlighted words.\n * @param {string} search\n * The search used to search for highlighted words.\n *\n * @return {Array}\n * An array of ReactElements\n */\n highlightChildren: function(subject, search) {\n var children = [];\n var remaining = subject;\n\n while (remaining) {\n var remainingCleaned = (this.props.ignoreDiacritics\n ? removeDiacritics(remaining, this.props.diacriticsBlacklist)\n : remaining\n );\n\n if (!search.test(remainingCleaned)) {\n children.push(this.renderPlain(remaining));\n return children;\n }\n\n var boundaries = this.getMatchBoundaries(remainingCleaned, search);\n\n if (boundaries.first === 0 && boundaries.last === 0) {\n // Regex zero-width match\n return children;\n }\n\n // Capture the string that leads up to a match...\n var nonMatch = remaining.slice(0, boundaries.first);\n if (nonMatch) {\n children.push(this.renderPlain(nonMatch));\n }\n\n // Now, capture the matching string...\n var match = remaining.slice(boundaries.first, boundaries.last);\n if (match) {\n children.push(this.renderHighlight(match));\n }\n\n // And if there's anything left over, recursively run this method again.\n remaining = remaining.slice(boundaries.last);\n\n }\n\n return children;\n },\n\n /**\n * Responsible for rending a non-highlighted element.\n *\n * @param {string} string\n * A string value to wrap an element around.\n *\n * @return {ReactElement}\n */\n renderPlain: function(string) {\n this.count++;\n return React.createElement('span', { key: this.count, children: string });\n },\n\n /**\n * Responsible for rending a highlighted element.\n *\n * @param {string} string\n * A string value to wrap an element around.\n *\n * @return {ReactElement}\n */\n renderHighlight: function(string) {\n this.count++;\n return React.createElement(this.props.matchElement, {\n key: this.count,\n className: this.props.matchClass,\n style: this.props.matchStyle,\n children: string\n });\n }\n});\n\nHighlighter.defaultProps = {\n caseSensitive: false,\n ignoreDiacritics: false,\n diacriticsBlacklist: '',\n matchElement: 'mark',\n matchClass: 'highlight',\n matchStyle: {}\n};\n\nmodule.exports = Highlighter;\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = findTabbableDescendants;\n/*!\n * Adapted from jQuery UI core\n *\n * http://jqueryui.com\n *\n * Copyright 2014 jQuery Foundation and other contributors\n * Released under the MIT license.\n * http://jquery.org/license\n *\n * http://api.jqueryui.com/category/ui-core/\n */\n\nvar tabbableNode = /input|select|textarea|button|object/;\n\nfunction hidesContents(element) {\n var zeroSize = element.offsetWidth <= 0 && element.offsetHeight <= 0;\n\n // If the node is empty, this is good enough\n if (zeroSize && !element.innerHTML) return true;\n\n // Otherwise we need to check some styles\n var style = window.getComputedStyle(element);\n return zeroSize ? style.getPropertyValue(\"overflow\") !== \"visible\" : style.getPropertyValue(\"display\") == \"none\";\n}\n\nfunction visible(element) {\n var parentElement = element;\n while (parentElement) {\n if (parentElement === document.body) break;\n if (hidesContents(parentElement)) return false;\n parentElement = parentElement.parentNode;\n }\n return true;\n}\n\nfunction focusable(element, isTabIndexNotNaN) {\n var nodeName = element.nodeName.toLowerCase();\n var res = tabbableNode.test(nodeName) && !element.disabled || (nodeName === \"a\" ? element.href || isTabIndexNotNaN : isTabIndexNotNaN);\n return res && visible(element);\n}\n\nfunction tabbable(element) {\n var tabIndex = element.getAttribute(\"tabindex\");\n if (tabIndex === null) tabIndex = undefined;\n var isTabIndexNaN = isNaN(tabIndex);\n return (isTabIndexNaN || tabIndex >= 0) && focusable(element, !isTabIndexNaN);\n}\n\nfunction findTabbableDescendants(element) {\n return [].slice.call(element.querySelectorAll(\"*\"), 0).filter(tabbable);\n}\nmodule.exports = exports[\"default\"];","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.assertNodeList = assertNodeList;\nexports.setElement = setElement;\nexports.validateElement = validateElement;\nexports.hide = hide;\nexports.show = show;\nexports.documentNotReadyOrSSRTesting = documentNotReadyOrSSRTesting;\nexports.resetForTesting = resetForTesting;\n\nvar _warning = require(\"warning\");\n\nvar _warning2 = _interopRequireDefault(_warning);\n\nvar _safeHTMLElement = require(\"./safeHTMLElement\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar globalElement = null;\n\nfunction assertNodeList(nodeList, selector) {\n if (!nodeList || !nodeList.length) {\n throw new Error(\"react-modal: No elements were found for selector \" + selector + \".\");\n }\n}\n\nfunction setElement(element) {\n var useElement = element;\n if (typeof useElement === \"string\" && _safeHTMLElement.canUseDOM) {\n var el = document.querySelectorAll(useElement);\n assertNodeList(el, useElement);\n useElement = \"length\" in el ? el[0] : el;\n }\n globalElement = useElement || globalElement;\n return globalElement;\n}\n\nfunction validateElement(appElement) {\n if (!appElement && !globalElement) {\n (0, _warning2.default)(false, [\"react-modal: App element is not defined.\", \"Please use `Modal.setAppElement(el)` or set `appElement={el}`.\", \"This is needed so screen readers don't see main content\", \"when modal is opened. It is not recommended, but you can opt-out\", \"by setting `ariaHideApp={false}`.\"].join(\" \"));\n\n return false;\n }\n\n return true;\n}\n\nfunction hide(appElement) {\n if (validateElement(appElement)) {\n (appElement || globalElement).setAttribute(\"aria-hidden\", \"true\");\n }\n}\n\nfunction show(appElement) {\n if (validateElement(appElement)) {\n (appElement || globalElement).removeAttribute(\"aria-hidden\");\n }\n}\n\nfunction documentNotReadyOrSSRTesting() {\n globalElement = null;\n}\n\nfunction resetForTesting() {\n globalElement = null;\n}","/**!\n * @fileOverview Kickass library to create and place poppers near their reference elements.\n * @version 1.12.9\n * @license\n * Copyright (c) 2016 Federico Zivolo and contributors\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 all\n * 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 THE\n * SOFTWARE.\n */\nvar isBrowser = typeof window !== 'undefined' && typeof document !== 'undefined';\nvar longerTimeoutBrowsers = ['Edge', 'Trident', 'Firefox'];\nvar timeoutDuration = 0;\nfor (var i = 0; i < longerTimeoutBrowsers.length; i += 1) {\n if (isBrowser && navigator.userAgent.indexOf(longerTimeoutBrowsers[i]) >= 0) {\n timeoutDuration = 1;\n break;\n }\n}\n\nfunction microtaskDebounce(fn) {\n var called = false;\n return function () {\n if (called) {\n return;\n }\n called = true;\n window.Promise.resolve().then(function () {\n called = false;\n fn();\n });\n };\n}\n\nfunction taskDebounce(fn) {\n var scheduled = false;\n return function () {\n if (!scheduled) {\n scheduled = true;\n setTimeout(function () {\n scheduled = false;\n fn();\n }, timeoutDuration);\n }\n };\n}\n\nvar supportsMicroTasks = isBrowser && window.Promise;\n\n/**\n* Create a debounced version of a method, that's asynchronously deferred\n* but called in the minimum time possible.\n*\n* @method\n* @memberof Popper.Utils\n* @argument {Function} fn\n* @returns {Function}\n*/\nvar debounce = supportsMicroTasks ? microtaskDebounce : taskDebounce;\n\n/**\n * Check if the given variable is a function\n * @method\n * @memberof Popper.Utils\n * @argument {Any} functionToCheck - variable to check\n * @returns {Boolean} answer to: is a function?\n */\nfunction isFunction(functionToCheck) {\n var getType = {};\n return functionToCheck && getType.toString.call(functionToCheck) === '[object Function]';\n}\n\n/**\n * Get CSS computed property of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Eement} element\n * @argument {String} property\n */\nfunction getStyleComputedProperty(element, property) {\n if (element.nodeType !== 1) {\n return [];\n }\n // NOTE: 1 DOM access here\n var css = getComputedStyle(element, null);\n return property ? css[property] : css;\n}\n\n/**\n * Returns the parentNode or the host of the element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} parent\n */\nfunction getParentNode(element) {\n if (element.nodeName === 'HTML') {\n return element;\n }\n return element.parentNode || element.host;\n}\n\n/**\n * Returns the scrolling parent of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} scroll parent\n */\nfunction getScrollParent(element) {\n // Return body, `getScroll` will take care to get the correct `scrollTop` from it\n if (!element) {\n return document.body;\n }\n\n switch (element.nodeName) {\n case 'HTML':\n case 'BODY':\n return element.ownerDocument.body;\n case '#document':\n return element.body;\n }\n\n // Firefox want us to check `-x` and `-y` variations as well\n\n var _getStyleComputedProp = getStyleComputedProperty(element),\n overflow = _getStyleComputedProp.overflow,\n overflowX = _getStyleComputedProp.overflowX,\n overflowY = _getStyleComputedProp.overflowY;\n\n if (/(auto|scroll)/.test(overflow + overflowY + overflowX)) {\n return element;\n }\n\n return getScrollParent(getParentNode(element));\n}\n\n/**\n * Returns the offset parent of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Element} offset parent\n */\nfunction getOffsetParent(element) {\n // NOTE: 1 DOM access here\n var offsetParent = element && element.offsetParent;\n var nodeName = offsetParent && offsetParent.nodeName;\n\n if (!nodeName || nodeName === 'BODY' || nodeName === 'HTML') {\n if (element) {\n return element.ownerDocument.documentElement;\n }\n\n return document.documentElement;\n }\n\n // .offsetParent will return the closest TD or TABLE in case\n // no offsetParent is present, I hate this job...\n if (['TD', 'TABLE'].indexOf(offsetParent.nodeName) !== -1 && getStyleComputedProperty(offsetParent, 'position') === 'static') {\n return getOffsetParent(offsetParent);\n }\n\n return offsetParent;\n}\n\nfunction isOffsetContainer(element) {\n var nodeName = element.nodeName;\n\n if (nodeName === 'BODY') {\n return false;\n }\n return nodeName === 'HTML' || getOffsetParent(element.firstElementChild) === element;\n}\n\n/**\n * Finds the root node (document, shadowDOM root) of the given element\n * @method\n * @memberof Popper.Utils\n * @argument {Element} node\n * @returns {Element} root node\n */\nfunction getRoot(node) {\n if (node.parentNode !== null) {\n return getRoot(node.parentNode);\n }\n\n return node;\n}\n\n/**\n * Finds the offset parent common to the two provided nodes\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element1\n * @argument {Element} element2\n * @returns {Element} common offset parent\n */\nfunction findCommonOffsetParent(element1, element2) {\n // This check is needed to avoid errors in case one of the elements isn't defined for any reason\n if (!element1 || !element1.nodeType || !element2 || !element2.nodeType) {\n return document.documentElement;\n }\n\n // Here we make sure to give as \"start\" the element that comes first in the DOM\n var order = element1.compareDocumentPosition(element2) & Node.DOCUMENT_POSITION_FOLLOWING;\n var start = order ? element1 : element2;\n var end = order ? element2 : element1;\n\n // Get common ancestor container\n var range = document.createRange();\n range.setStart(start, 0);\n range.setEnd(end, 0);\n var commonAncestorContainer = range.commonAncestorContainer;\n\n // Both nodes are inside #document\n\n if (element1 !== commonAncestorContainer && element2 !== commonAncestorContainer || start.contains(end)) {\n if (isOffsetContainer(commonAncestorContainer)) {\n return commonAncestorContainer;\n }\n\n return getOffsetParent(commonAncestorContainer);\n }\n\n // one of the nodes is inside shadowDOM, find which one\n var element1root = getRoot(element1);\n if (element1root.host) {\n return findCommonOffsetParent(element1root.host, element2);\n } else {\n return findCommonOffsetParent(element1, getRoot(element2).host);\n }\n}\n\n/**\n * Gets the scroll value of the given element in the given side (top and left)\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @argument {String} side `top` or `left`\n * @returns {number} amount of scrolled pixels\n */\nfunction getScroll(element) {\n var side = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'top';\n\n var upperSide = side === 'top' ? 'scrollTop' : 'scrollLeft';\n var nodeName = element.nodeName;\n\n if (nodeName === 'BODY' || nodeName === 'HTML') {\n var html = element.ownerDocument.documentElement;\n var scrollingElement = element.ownerDocument.scrollingElement || html;\n return scrollingElement[upperSide];\n }\n\n return element[upperSide];\n}\n\n/*\n * Sum or subtract the element scroll values (left and top) from a given rect object\n * @method\n * @memberof Popper.Utils\n * @param {Object} rect - Rect object you want to change\n * @param {HTMLElement} element - The element from the function reads the scroll values\n * @param {Boolean} subtract - set to true if you want to subtract the scroll values\n * @return {Object} rect - The modifier rect object\n */\nfunction includeScroll(rect, element) {\n var subtract = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n\n var scrollTop = getScroll(element, 'top');\n var scrollLeft = getScroll(element, 'left');\n var modifier = subtract ? -1 : 1;\n rect.top += scrollTop * modifier;\n rect.bottom += scrollTop * modifier;\n rect.left += scrollLeft * modifier;\n rect.right += scrollLeft * modifier;\n return rect;\n}\n\n/*\n * Helper to detect borders of a given element\n * @method\n * @memberof Popper.Utils\n * @param {CSSStyleDeclaration} styles\n * Result of `getStyleComputedProperty` on the given element\n * @param {String} axis - `x` or `y`\n * @return {number} borders - The borders size of the given axis\n */\n\nfunction getBordersSize(styles, axis) {\n var sideA = axis === 'x' ? 'Left' : 'Top';\n var sideB = sideA === 'Left' ? 'Right' : 'Bottom';\n\n return parseFloat(styles['border' + sideA + 'Width'], 10) + parseFloat(styles['border' + sideB + 'Width'], 10);\n}\n\n/**\n * Tells if you are running Internet Explorer 10\n * @method\n * @memberof Popper.Utils\n * @returns {Boolean} isIE10\n */\nvar isIE10 = undefined;\n\nvar isIE10$1 = function () {\n if (isIE10 === undefined) {\n isIE10 = navigator.appVersion.indexOf('MSIE 10') !== -1;\n }\n return isIE10;\n};\n\nfunction getSize(axis, body, html, computedStyle) {\n return Math.max(body['offset' + axis], body['scroll' + axis], html['client' + axis], html['offset' + axis], html['scroll' + axis], isIE10$1() ? html['offset' + axis] + computedStyle['margin' + (axis === 'Height' ? 'Top' : 'Left')] + computedStyle['margin' + (axis === 'Height' ? 'Bottom' : 'Right')] : 0);\n}\n\nfunction getWindowSizes() {\n var body = document.body;\n var html = document.documentElement;\n var computedStyle = isIE10$1() && getComputedStyle(html);\n\n return {\n height: getSize('Height', body, html, computedStyle),\n width: getSize('Width', body, html, computedStyle)\n };\n}\n\nvar classCallCheck = function (instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n};\n\nvar createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\n\n\n\n\n\nvar defineProperty = function (obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n};\n\nvar _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n};\n\n/**\n * Given element offsets, generate an output similar to getBoundingClientRect\n * @method\n * @memberof Popper.Utils\n * @argument {Object} offsets\n * @returns {Object} ClientRect like output\n */\nfunction getClientRect(offsets) {\n return _extends({}, offsets, {\n right: offsets.left + offsets.width,\n bottom: offsets.top + offsets.height\n });\n}\n\n/**\n * Get bounding client rect of given element\n * @method\n * @memberof Popper.Utils\n * @param {HTMLElement} element\n * @return {Object} client rect\n */\nfunction getBoundingClientRect(element) {\n var rect = {};\n\n // IE10 10 FIX: Please, don't ask, the element isn't\n // considered in DOM in some circumstances...\n // This isn't reproducible in IE10 compatibility mode of IE11\n if (isIE10$1()) {\n try {\n rect = element.getBoundingClientRect();\n var scrollTop = getScroll(element, 'top');\n var scrollLeft = getScroll(element, 'left');\n rect.top += scrollTop;\n rect.left += scrollLeft;\n rect.bottom += scrollTop;\n rect.right += scrollLeft;\n } catch (err) {}\n } else {\n rect = element.getBoundingClientRect();\n }\n\n var result = {\n left: rect.left,\n top: rect.top,\n width: rect.right - rect.left,\n height: rect.bottom - rect.top\n };\n\n // subtract scrollbar size from sizes\n var sizes = element.nodeName === 'HTML' ? getWindowSizes() : {};\n var width = sizes.width || element.clientWidth || result.right - result.left;\n var height = sizes.height || element.clientHeight || result.bottom - result.top;\n\n var horizScrollbar = element.offsetWidth - width;\n var vertScrollbar = element.offsetHeight - height;\n\n // if an hypothetical scrollbar is detected, we must be sure it's not a `border`\n // we make this check conditional for performance reasons\n if (horizScrollbar || vertScrollbar) {\n var styles = getStyleComputedProperty(element);\n horizScrollbar -= getBordersSize(styles, 'x');\n vertScrollbar -= getBordersSize(styles, 'y');\n\n result.width -= horizScrollbar;\n result.height -= vertScrollbar;\n }\n\n return getClientRect(result);\n}\n\nfunction getOffsetRectRelativeToArbitraryNode(children, parent) {\n var isIE10 = isIE10$1();\n var isHTML = parent.nodeName === 'HTML';\n var childrenRect = getBoundingClientRect(children);\n var parentRect = getBoundingClientRect(parent);\n var scrollParent = getScrollParent(children);\n\n var styles = getStyleComputedProperty(parent);\n var borderTopWidth = parseFloat(styles.borderTopWidth, 10);\n var borderLeftWidth = parseFloat(styles.borderLeftWidth, 10);\n\n var offsets = getClientRect({\n top: childrenRect.top - parentRect.top - borderTopWidth,\n left: childrenRect.left - parentRect.left - borderLeftWidth,\n width: childrenRect.width,\n height: childrenRect.height\n });\n offsets.marginTop = 0;\n offsets.marginLeft = 0;\n\n // Subtract margins of documentElement in case it's being used as parent\n // we do this only on HTML because it's the only element that behaves\n // differently when margins are applied to it. The margins are included in\n // the box of the documentElement, in the other cases not.\n if (!isIE10 && isHTML) {\n var marginTop = parseFloat(styles.marginTop, 10);\n var marginLeft = parseFloat(styles.marginLeft, 10);\n\n offsets.top -= borderTopWidth - marginTop;\n offsets.bottom -= borderTopWidth - marginTop;\n offsets.left -= borderLeftWidth - marginLeft;\n offsets.right -= borderLeftWidth - marginLeft;\n\n // Attach marginTop and marginLeft because in some circumstances we may need them\n offsets.marginTop = marginTop;\n offsets.marginLeft = marginLeft;\n }\n\n if (isIE10 ? parent.contains(scrollParent) : parent === scrollParent && scrollParent.nodeName !== 'BODY') {\n offsets = includeScroll(offsets, parent);\n }\n\n return offsets;\n}\n\nfunction getViewportOffsetRectRelativeToArtbitraryNode(element) {\n var html = element.ownerDocument.documentElement;\n var relativeOffset = getOffsetRectRelativeToArbitraryNode(element, html);\n var width = Math.max(html.clientWidth, window.innerWidth || 0);\n var height = Math.max(html.clientHeight, window.innerHeight || 0);\n\n var scrollTop = getScroll(html);\n var scrollLeft = getScroll(html, 'left');\n\n var offset = {\n top: scrollTop - relativeOffset.top + relativeOffset.marginTop,\n left: scrollLeft - relativeOffset.left + relativeOffset.marginLeft,\n width: width,\n height: height\n };\n\n return getClientRect(offset);\n}\n\n/**\n * Check if the given element is fixed or is inside a fixed parent\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @argument {Element} customContainer\n * @returns {Boolean} answer to \"isFixed?\"\n */\nfunction isFixed(element) {\n var nodeName = element.nodeName;\n if (nodeName === 'BODY' || nodeName === 'HTML') {\n return false;\n }\n if (getStyleComputedProperty(element, 'position') === 'fixed') {\n return true;\n }\n return isFixed(getParentNode(element));\n}\n\n/**\n * Computed the boundaries limits and return them\n * @method\n * @memberof Popper.Utils\n * @param {HTMLElement} popper\n * @param {HTMLElement} reference\n * @param {number} padding\n * @param {HTMLElement} boundariesElement - Element used to define the boundaries\n * @returns {Object} Coordinates of the boundaries\n */\nfunction getBoundaries(popper, reference, padding, boundariesElement) {\n // NOTE: 1 DOM access here\n var boundaries = { top: 0, left: 0 };\n var offsetParent = findCommonOffsetParent(popper, reference);\n\n // Handle viewport case\n if (boundariesElement === 'viewport') {\n boundaries = getViewportOffsetRectRelativeToArtbitraryNode(offsetParent);\n } else {\n // Handle other cases based on DOM element used as boundaries\n var boundariesNode = void 0;\n if (boundariesElement === 'scrollParent') {\n boundariesNode = getScrollParent(getParentNode(reference));\n if (boundariesNode.nodeName === 'BODY') {\n boundariesNode = popper.ownerDocument.documentElement;\n }\n } else if (boundariesElement === 'window') {\n boundariesNode = popper.ownerDocument.documentElement;\n } else {\n boundariesNode = boundariesElement;\n }\n\n var offsets = getOffsetRectRelativeToArbitraryNode(boundariesNode, offsetParent);\n\n // In case of HTML, we need a different computation\n if (boundariesNode.nodeName === 'HTML' && !isFixed(offsetParent)) {\n var _getWindowSizes = getWindowSizes(),\n height = _getWindowSizes.height,\n width = _getWindowSizes.width;\n\n boundaries.top += offsets.top - offsets.marginTop;\n boundaries.bottom = height + offsets.top;\n boundaries.left += offsets.left - offsets.marginLeft;\n boundaries.right = width + offsets.left;\n } else {\n // for all the other DOM elements, this one is good\n boundaries = offsets;\n }\n }\n\n // Add paddings\n boundaries.left += padding;\n boundaries.top += padding;\n boundaries.right -= padding;\n boundaries.bottom -= padding;\n\n return boundaries;\n}\n\nfunction getArea(_ref) {\n var width = _ref.width,\n height = _ref.height;\n\n return width * height;\n}\n\n/**\n * Utility used to transform the `auto` placement to the placement with more\n * available space.\n * @method\n * @memberof Popper.Utils\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction computeAutoPlacement(placement, refRect, popper, reference, boundariesElement) {\n var padding = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : 0;\n\n if (placement.indexOf('auto') === -1) {\n return placement;\n }\n\n var boundaries = getBoundaries(popper, reference, padding, boundariesElement);\n\n var rects = {\n top: {\n width: boundaries.width,\n height: refRect.top - boundaries.top\n },\n right: {\n width: boundaries.right - refRect.right,\n height: boundaries.height\n },\n bottom: {\n width: boundaries.width,\n height: boundaries.bottom - refRect.bottom\n },\n left: {\n width: refRect.left - boundaries.left,\n height: boundaries.height\n }\n };\n\n var sortedAreas = Object.keys(rects).map(function (key) {\n return _extends({\n key: key\n }, rects[key], {\n area: getArea(rects[key])\n });\n }).sort(function (a, b) {\n return b.area - a.area;\n });\n\n var filteredAreas = sortedAreas.filter(function (_ref2) {\n var width = _ref2.width,\n height = _ref2.height;\n return width >= popper.clientWidth && height >= popper.clientHeight;\n });\n\n var computedPlacement = filteredAreas.length > 0 ? filteredAreas[0].key : sortedAreas[0].key;\n\n var variation = placement.split('-')[1];\n\n return computedPlacement + (variation ? '-' + variation : '');\n}\n\n/**\n * Get offsets to the reference element\n * @method\n * @memberof Popper.Utils\n * @param {Object} state\n * @param {Element} popper - the popper element\n * @param {Element} reference - the reference element (the popper will be relative to this)\n * @returns {Object} An object containing the offsets which will be applied to the popper\n */\nfunction getReferenceOffsets(state, popper, reference) {\n var commonOffsetParent = findCommonOffsetParent(popper, reference);\n return getOffsetRectRelativeToArbitraryNode(reference, commonOffsetParent);\n}\n\n/**\n * Get the outer sizes of the given element (offset size + margins)\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element\n * @returns {Object} object containing width and height properties\n */\nfunction getOuterSizes(element) {\n var styles = getComputedStyle(element);\n var x = parseFloat(styles.marginTop) + parseFloat(styles.marginBottom);\n var y = parseFloat(styles.marginLeft) + parseFloat(styles.marginRight);\n var result = {\n width: element.offsetWidth + y,\n height: element.offsetHeight + x\n };\n return result;\n}\n\n/**\n * Get the opposite placement of the given one\n * @method\n * @memberof Popper.Utils\n * @argument {String} placement\n * @returns {String} flipped placement\n */\nfunction getOppositePlacement(placement) {\n var hash = { left: 'right', right: 'left', bottom: 'top', top: 'bottom' };\n return placement.replace(/left|right|bottom|top/g, function (matched) {\n return hash[matched];\n });\n}\n\n/**\n * Get offsets to the popper\n * @method\n * @memberof Popper.Utils\n * @param {Object} position - CSS position the Popper will get applied\n * @param {HTMLElement} popper - the popper element\n * @param {Object} referenceOffsets - the reference offsets (the popper will be relative to this)\n * @param {String} placement - one of the valid placement options\n * @returns {Object} popperOffsets - An object containing the offsets which will be applied to the popper\n */\nfunction getPopperOffsets(popper, referenceOffsets, placement) {\n placement = placement.split('-')[0];\n\n // Get popper node sizes\n var popperRect = getOuterSizes(popper);\n\n // Add position, width and height to our offsets object\n var popperOffsets = {\n width: popperRect.width,\n height: popperRect.height\n };\n\n // depending by the popper placement we have to compute its offsets slightly differently\n var isHoriz = ['right', 'left'].indexOf(placement) !== -1;\n var mainSide = isHoriz ? 'top' : 'left';\n var secondarySide = isHoriz ? 'left' : 'top';\n var measurement = isHoriz ? 'height' : 'width';\n var secondaryMeasurement = !isHoriz ? 'height' : 'width';\n\n popperOffsets[mainSide] = referenceOffsets[mainSide] + referenceOffsets[measurement] / 2 - popperRect[measurement] / 2;\n if (placement === secondarySide) {\n popperOffsets[secondarySide] = referenceOffsets[secondarySide] - popperRect[secondaryMeasurement];\n } else {\n popperOffsets[secondarySide] = referenceOffsets[getOppositePlacement(secondarySide)];\n }\n\n return popperOffsets;\n}\n\n/**\n * Mimics the `find` method of Array\n * @method\n * @memberof Popper.Utils\n * @argument {Array} arr\n * @argument prop\n * @argument value\n * @returns index or -1\n */\nfunction find(arr, check) {\n // use native find if supported\n if (Array.prototype.find) {\n return arr.find(check);\n }\n\n // use `filter` to obtain the same behavior of `find`\n return arr.filter(check)[0];\n}\n\n/**\n * Return the index of the matching object\n * @method\n * @memberof Popper.Utils\n * @argument {Array} arr\n * @argument prop\n * @argument value\n * @returns index or -1\n */\nfunction findIndex(arr, prop, value) {\n // use native findIndex if supported\n if (Array.prototype.findIndex) {\n return arr.findIndex(function (cur) {\n return cur[prop] === value;\n });\n }\n\n // use `find` + `indexOf` if `findIndex` isn't supported\n var match = find(arr, function (obj) {\n return obj[prop] === value;\n });\n return arr.indexOf(match);\n}\n\n/**\n * Loop trough the list of modifiers and run them in order,\n * each of them will then edit the data object.\n * @method\n * @memberof Popper.Utils\n * @param {dataObject} data\n * @param {Array} modifiers\n * @param {String} ends - Optional modifier name used as stopper\n * @returns {dataObject}\n */\nfunction runModifiers(modifiers, data, ends) {\n var modifiersToRun = ends === undefined ? modifiers : modifiers.slice(0, findIndex(modifiers, 'name', ends));\n\n modifiersToRun.forEach(function (modifier) {\n if (modifier['function']) {\n // eslint-disable-line dot-notation\n console.warn('`modifier.function` is deprecated, use `modifier.fn`!');\n }\n var fn = modifier['function'] || modifier.fn; // eslint-disable-line dot-notation\n if (modifier.enabled && isFunction(fn)) {\n // Add properties to offsets to make them a complete clientRect object\n // we do this before each modifier to make sure the previous one doesn't\n // mess with these values\n data.offsets.popper = getClientRect(data.offsets.popper);\n data.offsets.reference = getClientRect(data.offsets.reference);\n\n data = fn(data, modifier);\n }\n });\n\n return data;\n}\n\n/**\n * Updates the position of the popper, computing the new offsets and applying\n * the new style.<br />\n * Prefer `scheduleUpdate` over `update` because of performance reasons.\n * @method\n * @memberof Popper\n */\nfunction update() {\n // if popper is destroyed, don't perform any further update\n if (this.state.isDestroyed) {\n return;\n }\n\n var data = {\n instance: this,\n styles: {},\n arrowStyles: {},\n attributes: {},\n flipped: false,\n offsets: {}\n };\n\n // compute reference element offsets\n data.offsets.reference = getReferenceOffsets(this.state, this.popper, this.reference);\n\n // compute auto placement, store placement inside the data object,\n // modifiers will be able to edit `placement` if needed\n // and refer to originalPlacement to know the original value\n data.placement = computeAutoPlacement(this.options.placement, data.offsets.reference, this.popper, this.reference, this.options.modifiers.flip.boundariesElement, this.options.modifiers.flip.padding);\n\n // store the computed placement inside `originalPlacement`\n data.originalPlacement = data.placement;\n\n // compute the popper offsets\n data.offsets.popper = getPopperOffsets(this.popper, data.offsets.reference, data.placement);\n data.offsets.popper.position = 'absolute';\n\n // run the modifiers\n data = runModifiers(this.modifiers, data);\n\n // the first `update` will call `onCreate` callback\n // the other ones will call `onUpdate` callback\n if (!this.state.isCreated) {\n this.state.isCreated = true;\n this.options.onCreate(data);\n } else {\n this.options.onUpdate(data);\n }\n}\n\n/**\n * Helper used to know if the given modifier is enabled.\n * @method\n * @memberof Popper.Utils\n * @returns {Boolean}\n */\nfunction isModifierEnabled(modifiers, modifierName) {\n return modifiers.some(function (_ref) {\n var name = _ref.name,\n enabled = _ref.enabled;\n return enabled && name === modifierName;\n });\n}\n\n/**\n * Get the prefixed supported property name\n * @method\n * @memberof Popper.Utils\n * @argument {String} property (camelCase)\n * @returns {String} prefixed property (camelCase or PascalCase, depending on the vendor prefix)\n */\nfunction getSupportedPropertyName(property) {\n var prefixes = [false, 'ms', 'Webkit', 'Moz', 'O'];\n var upperProp = property.charAt(0).toUpperCase() + property.slice(1);\n\n for (var i = 0; i < prefixes.length - 1; i++) {\n var prefix = prefixes[i];\n var toCheck = prefix ? '' + prefix + upperProp : property;\n if (typeof document.body.style[toCheck] !== 'undefined') {\n return toCheck;\n }\n }\n return null;\n}\n\n/**\n * Destroy the popper\n * @method\n * @memberof Popper\n */\nfunction destroy() {\n this.state.isDestroyed = true;\n\n // touch DOM only if `applyStyle` modifier is enabled\n if (isModifierEnabled(this.modifiers, 'applyStyle')) {\n this.popper.removeAttribute('x-placement');\n this.popper.style.left = '';\n this.popper.style.position = '';\n this.popper.style.top = '';\n this.popper.style[getSupportedPropertyName('transform')] = '';\n }\n\n this.disableEventListeners();\n\n // remove the popper if user explicity asked for the deletion on destroy\n // do not use `remove` because IE11 doesn't support it\n if (this.options.removeOnDestroy) {\n this.popper.parentNode.removeChild(this.popper);\n }\n return this;\n}\n\n/**\n * Get the window associated with the element\n * @argument {Element} element\n * @returns {Window}\n */\nfunction getWindow(element) {\n var ownerDocument = element.ownerDocument;\n return ownerDocument ? ownerDocument.defaultView : window;\n}\n\nfunction attachToScrollParents(scrollParent, event, callback, scrollParents) {\n var isBody = scrollParent.nodeName === 'BODY';\n var target = isBody ? scrollParent.ownerDocument.defaultView : scrollParent;\n target.addEventListener(event, callback, { passive: true });\n\n if (!isBody) {\n attachToScrollParents(getScrollParent(target.parentNode), event, callback, scrollParents);\n }\n scrollParents.push(target);\n}\n\n/**\n * Setup needed event listeners used to update the popper position\n * @method\n * @memberof Popper.Utils\n * @private\n */\nfunction setupEventListeners(reference, options, state, updateBound) {\n // Resize event listener on window\n state.updateBound = updateBound;\n getWindow(reference).addEventListener('resize', state.updateBound, { passive: true });\n\n // Scroll event listener on scroll parents\n var scrollElement = getScrollParent(reference);\n attachToScrollParents(scrollElement, 'scroll', state.updateBound, state.scrollParents);\n state.scrollElement = scrollElement;\n state.eventsEnabled = true;\n\n return state;\n}\n\n/**\n * It will add resize/scroll events and start recalculating\n * position of the popper element when they are triggered.\n * @method\n * @memberof Popper\n */\nfunction enableEventListeners() {\n if (!this.state.eventsEnabled) {\n this.state = setupEventListeners(this.reference, this.options, this.state, this.scheduleUpdate);\n }\n}\n\n/**\n * Remove event listeners used to update the popper position\n * @method\n * @memberof Popper.Utils\n * @private\n */\nfunction removeEventListeners(reference, state) {\n // Remove resize event listener on window\n getWindow(reference).removeEventListener('resize', state.updateBound);\n\n // Remove scroll event listener on scroll parents\n state.scrollParents.forEach(function (target) {\n target.removeEventListener('scroll', state.updateBound);\n });\n\n // Reset state\n state.updateBound = null;\n state.scrollParents = [];\n state.scrollElement = null;\n state.eventsEnabled = false;\n return state;\n}\n\n/**\n * It will remove resize/scroll events and won't recalculate popper position\n * when they are triggered. It also won't trigger onUpdate callback anymore,\n * unless you call `update` method manually.\n * @method\n * @memberof Popper\n */\nfunction disableEventListeners() {\n if (this.state.eventsEnabled) {\n cancelAnimationFrame(this.scheduleUpdate);\n this.state = removeEventListeners(this.reference, this.state);\n }\n}\n\n/**\n * Tells if a given input is a number\n * @method\n * @memberof Popper.Utils\n * @param {*} input to check\n * @return {Boolean}\n */\nfunction isNumeric(n) {\n return n !== '' && !isNaN(parseFloat(n)) && isFinite(n);\n}\n\n/**\n * Set the style to the given popper\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element - Element to apply the style to\n * @argument {Object} styles\n * Object with a list of properties and values which will be applied to the element\n */\nfunction setStyles(element, styles) {\n Object.keys(styles).forEach(function (prop) {\n var unit = '';\n // add unit if the value is numeric and is one of the following\n if (['width', 'height', 'top', 'right', 'bottom', 'left'].indexOf(prop) !== -1 && isNumeric(styles[prop])) {\n unit = 'px';\n }\n element.style[prop] = styles[prop] + unit;\n });\n}\n\n/**\n * Set the attributes to the given popper\n * @method\n * @memberof Popper.Utils\n * @argument {Element} element - Element to apply the attributes to\n * @argument {Object} styles\n * Object with a list of properties and values which will be applied to the element\n */\nfunction setAttributes(element, attributes) {\n Object.keys(attributes).forEach(function (prop) {\n var value = attributes[prop];\n if (value !== false) {\n element.setAttribute(prop, attributes[prop]);\n } else {\n element.removeAttribute(prop);\n }\n });\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} data.styles - List of style properties - values to apply to popper element\n * @argument {Object} data.attributes - List of attribute properties - values to apply to popper element\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The same data object\n */\nfunction applyStyle(data) {\n // any property present in `data.styles` will be applied to the popper,\n // in this way we can make the 3rd party modifiers add custom styles to it\n // Be aware, modifiers could override the properties defined in the previous\n // lines of this modifier!\n setStyles(data.instance.popper, data.styles);\n\n // any property present in `data.attributes` will be applied to the popper,\n // they will be set as HTML attributes of the element\n setAttributes(data.instance.popper, data.attributes);\n\n // if arrowElement is defined and arrowStyles has some properties\n if (data.arrowElement && Object.keys(data.arrowStyles).length) {\n setStyles(data.arrowElement, data.arrowStyles);\n }\n\n return data;\n}\n\n/**\n * Set the x-placement attribute before everything else because it could be used\n * to add margins to the popper margins needs to be calculated to get the\n * correct popper offsets.\n * @method\n * @memberof Popper.modifiers\n * @param {HTMLElement} reference - The reference element used to position the popper\n * @param {HTMLElement} popper - The HTML element used as popper.\n * @param {Object} options - Popper.js options\n */\nfunction applyStyleOnLoad(reference, popper, options, modifierOptions, state) {\n // compute reference element offsets\n var referenceOffsets = getReferenceOffsets(state, popper, reference);\n\n // compute auto placement, store placement inside the data object,\n // modifiers will be able to edit `placement` if needed\n // and refer to originalPlacement to know the original value\n var placement = computeAutoPlacement(options.placement, referenceOffsets, popper, reference, options.modifiers.flip.boundariesElement, options.modifiers.flip.padding);\n\n popper.setAttribute('x-placement', placement);\n\n // Apply `position` to popper before anything else because\n // without the position applied we can't guarantee correct computations\n setStyles(popper, { position: 'absolute' });\n\n return options;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction computeStyle(data, options) {\n var x = options.x,\n y = options.y;\n var popper = data.offsets.popper;\n\n // Remove this legacy support in Popper.js v2\n\n var legacyGpuAccelerationOption = find(data.instance.modifiers, function (modifier) {\n return modifier.name === 'applyStyle';\n }).gpuAcceleration;\n if (legacyGpuAccelerationOption !== undefined) {\n console.warn('WARNING: `gpuAcceleration` option moved to `computeStyle` modifier and will not be supported in future versions of Popper.js!');\n }\n var gpuAcceleration = legacyGpuAccelerationOption !== undefined ? legacyGpuAccelerationOption : options.gpuAcceleration;\n\n var offsetParent = getOffsetParent(data.instance.popper);\n var offsetParentRect = getBoundingClientRect(offsetParent);\n\n // Styles\n var styles = {\n position: popper.position\n };\n\n // floor sides to avoid blurry text\n var offsets = {\n left: Math.floor(popper.left),\n top: Math.floor(popper.top),\n bottom: Math.floor(popper.bottom),\n right: Math.floor(popper.right)\n };\n\n var sideA = x === 'bottom' ? 'top' : 'bottom';\n var sideB = y === 'right' ? 'left' : 'right';\n\n // if gpuAcceleration is set to `true` and transform is supported,\n // we use `translate3d` to apply the position to the popper we\n // automatically use the supported prefixed version if needed\n var prefixedProperty = getSupportedPropertyName('transform');\n\n // now, let's make a step back and look at this code closely (wtf?)\n // If the content of the popper grows once it's been positioned, it\n // may happen that the popper gets misplaced because of the new content\n // overflowing its reference element\n // To avoid this problem, we provide two options (x and y), which allow\n // the consumer to define the offset origin.\n // If we position a popper on top of a reference element, we can set\n // `x` to `top` to make the popper grow towards its top instead of\n // its bottom.\n var left = void 0,\n top = void 0;\n if (sideA === 'bottom') {\n top = -offsetParentRect.height + offsets.bottom;\n } else {\n top = offsets.top;\n }\n if (sideB === 'right') {\n left = -offsetParentRect.width + offsets.right;\n } else {\n left = offsets.left;\n }\n if (gpuAcceleration && prefixedProperty) {\n styles[prefixedProperty] = 'translate3d(' + left + 'px, ' + top + 'px, 0)';\n styles[sideA] = 0;\n styles[sideB] = 0;\n styles.willChange = 'transform';\n } else {\n // othwerise, we use the standard `top`, `left`, `bottom` and `right` properties\n var invertTop = sideA === 'bottom' ? -1 : 1;\n var invertLeft = sideB === 'right' ? -1 : 1;\n styles[sideA] = top * invertTop;\n styles[sideB] = left * invertLeft;\n styles.willChange = sideA + ', ' + sideB;\n }\n\n // Attributes\n var attributes = {\n 'x-placement': data.placement\n };\n\n // Update `data` attributes, styles and arrowStyles\n data.attributes = _extends({}, attributes, data.attributes);\n data.styles = _extends({}, styles, data.styles);\n data.arrowStyles = _extends({}, data.offsets.arrow, data.arrowStyles);\n\n return data;\n}\n\n/**\n * Helper used to know if the given modifier depends from another one.<br />\n * It checks if the needed modifier is listed and enabled.\n * @method\n * @memberof Popper.Utils\n * @param {Array} modifiers - list of modifiers\n * @param {String} requestingName - name of requesting modifier\n * @param {String} requestedName - name of requested modifier\n * @returns {Boolean}\n */\nfunction isModifierRequired(modifiers, requestingName, requestedName) {\n var requesting = find(modifiers, function (_ref) {\n var name = _ref.name;\n return name === requestingName;\n });\n\n var isRequired = !!requesting && modifiers.some(function (modifier) {\n return modifier.name === requestedName && modifier.enabled && modifier.order < requesting.order;\n });\n\n if (!isRequired) {\n var _requesting = '`' + requestingName + '`';\n var requested = '`' + requestedName + '`';\n console.warn(requested + ' modifier is required by ' + _requesting + ' modifier in order to work, be sure to include it before ' + _requesting + '!');\n }\n return isRequired;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction arrow(data, options) {\n var _data$offsets$arrow;\n\n // arrow depends on keepTogether in order to work\n if (!isModifierRequired(data.instance.modifiers, 'arrow', 'keepTogether')) {\n return data;\n }\n\n var arrowElement = options.element;\n\n // if arrowElement is a string, suppose it's a CSS selector\n if (typeof arrowElement === 'string') {\n arrowElement = data.instance.popper.querySelector(arrowElement);\n\n // if arrowElement is not found, don't run the modifier\n if (!arrowElement) {\n return data;\n }\n } else {\n // if the arrowElement isn't a query selector we must check that the\n // provided DOM node is child of its popper node\n if (!data.instance.popper.contains(arrowElement)) {\n console.warn('WARNING: `arrow.element` must be child of its popper element!');\n return data;\n }\n }\n\n var placement = data.placement.split('-')[0];\n var _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n\n var isVertical = ['left', 'right'].indexOf(placement) !== -1;\n\n var len = isVertical ? 'height' : 'width';\n var sideCapitalized = isVertical ? 'Top' : 'Left';\n var side = sideCapitalized.toLowerCase();\n var altSide = isVertical ? 'left' : 'top';\n var opSide = isVertical ? 'bottom' : 'right';\n var arrowElementSize = getOuterSizes(arrowElement)[len];\n\n //\n // extends keepTogether behavior making sure the popper and its\n // reference have enough pixels in conjuction\n //\n\n // top/left side\n if (reference[opSide] - arrowElementSize < popper[side]) {\n data.offsets.popper[side] -= popper[side] - (reference[opSide] - arrowElementSize);\n }\n // bottom/right side\n if (reference[side] + arrowElementSize > popper[opSide]) {\n data.offsets.popper[side] += reference[side] + arrowElementSize - popper[opSide];\n }\n data.offsets.popper = getClientRect(data.offsets.popper);\n\n // compute center of the popper\n var center = reference[side] + reference[len] / 2 - arrowElementSize / 2;\n\n // Compute the sideValue using the updated popper offsets\n // take popper margin in account because we don't have this info available\n var css = getStyleComputedProperty(data.instance.popper);\n var popperMarginSide = parseFloat(css['margin' + sideCapitalized], 10);\n var popperBorderSide = parseFloat(css['border' + sideCapitalized + 'Width'], 10);\n var sideValue = center - data.offsets.popper[side] - popperMarginSide - popperBorderSide;\n\n // prevent arrowElement from being placed not contiguously to its popper\n sideValue = Math.max(Math.min(popper[len] - arrowElementSize, sideValue), 0);\n\n data.arrowElement = arrowElement;\n data.offsets.arrow = (_data$offsets$arrow = {}, defineProperty(_data$offsets$arrow, side, Math.round(sideValue)), defineProperty(_data$offsets$arrow, altSide, ''), _data$offsets$arrow);\n\n return data;\n}\n\n/**\n * Get the opposite placement variation of the given one\n * @method\n * @memberof Popper.Utils\n * @argument {String} placement variation\n * @returns {String} flipped placement variation\n */\nfunction getOppositeVariation(variation) {\n if (variation === 'end') {\n return 'start';\n } else if (variation === 'start') {\n return 'end';\n }\n return variation;\n}\n\n/**\n * List of accepted placements to use as values of the `placement` option.<br />\n * Valid placements are:\n * - `auto`\n * - `top`\n * - `right`\n * - `bottom`\n * - `left`\n *\n * Each placement can have a variation from this list:\n * - `-start`\n * - `-end`\n *\n * Variations are interpreted easily if you think of them as the left to right\n * written languages. Horizontally (`top` and `bottom`), `start` is left and `end`\n * is right.<br />\n * Vertically (`left` and `right`), `start` is top and `end` is bottom.\n *\n * Some valid examples are:\n * - `top-end` (on top of reference, right aligned)\n * - `right-start` (on right of reference, top aligned)\n * - `bottom` (on bottom, centered)\n * - `auto-right` (on the side with more space available, alignment depends by placement)\n *\n * @static\n * @type {Array}\n * @enum {String}\n * @readonly\n * @method placements\n * @memberof Popper\n */\nvar placements = ['auto-start', 'auto', 'auto-end', 'top-start', 'top', 'top-end', 'right-start', 'right', 'right-end', 'bottom-end', 'bottom', 'bottom-start', 'left-end', 'left', 'left-start'];\n\n// Get rid of `auto` `auto-start` and `auto-end`\nvar validPlacements = placements.slice(3);\n\n/**\n * Given an initial placement, returns all the subsequent placements\n * clockwise (or counter-clockwise).\n *\n * @method\n * @memberof Popper.Utils\n * @argument {String} placement - A valid placement (it accepts variations)\n * @argument {Boolean} counter - Set to true to walk the placements counterclockwise\n * @returns {Array} placements including their variations\n */\nfunction clockwise(placement) {\n var counter = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n var index = validPlacements.indexOf(placement);\n var arr = validPlacements.slice(index + 1).concat(validPlacements.slice(0, index));\n return counter ? arr.reverse() : arr;\n}\n\nvar BEHAVIORS = {\n FLIP: 'flip',\n CLOCKWISE: 'clockwise',\n COUNTERCLOCKWISE: 'counterclockwise'\n};\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction flip(data, options) {\n // if `inner` modifier is enabled, we can't use the `flip` modifier\n if (isModifierEnabled(data.instance.modifiers, 'inner')) {\n return data;\n }\n\n if (data.flipped && data.placement === data.originalPlacement) {\n // seems like flip is trying to loop, probably there's not enough space on any of the flippable sides\n return data;\n }\n\n var boundaries = getBoundaries(data.instance.popper, data.instance.reference, options.padding, options.boundariesElement);\n\n var placement = data.placement.split('-')[0];\n var placementOpposite = getOppositePlacement(placement);\n var variation = data.placement.split('-')[1] || '';\n\n var flipOrder = [];\n\n switch (options.behavior) {\n case BEHAVIORS.FLIP:\n flipOrder = [placement, placementOpposite];\n break;\n case BEHAVIORS.CLOCKWISE:\n flipOrder = clockwise(placement);\n break;\n case BEHAVIORS.COUNTERCLOCKWISE:\n flipOrder = clockwise(placement, true);\n break;\n default:\n flipOrder = options.behavior;\n }\n\n flipOrder.forEach(function (step, index) {\n if (placement !== step || flipOrder.length === index + 1) {\n return data;\n }\n\n placement = data.placement.split('-')[0];\n placementOpposite = getOppositePlacement(placement);\n\n var popperOffsets = data.offsets.popper;\n var refOffsets = data.offsets.reference;\n\n // using floor because the reference offsets may contain decimals we are not going to consider here\n var floor = Math.floor;\n var overlapsRef = placement === 'left' && floor(popperOffsets.right) > floor(refOffsets.left) || placement === 'right' && floor(popperOffsets.left) < floor(refOffsets.right) || placement === 'top' && floor(popperOffsets.bottom) > floor(refOffsets.top) || placement === 'bottom' && floor(popperOffsets.top) < floor(refOffsets.bottom);\n\n var overflowsLeft = floor(popperOffsets.left) < floor(boundaries.left);\n var overflowsRight = floor(popperOffsets.right) > floor(boundaries.right);\n var overflowsTop = floor(popperOffsets.top) < floor(boundaries.top);\n var overflowsBottom = floor(popperOffsets.bottom) > floor(boundaries.bottom);\n\n var overflowsBoundaries = placement === 'left' && overflowsLeft || placement === 'right' && overflowsRight || placement === 'top' && overflowsTop || placement === 'bottom' && overflowsBottom;\n\n // flip the variation if required\n var isVertical = ['top', 'bottom'].indexOf(placement) !== -1;\n var flippedVariation = !!options.flipVariations && (isVertical && variation === 'start' && overflowsLeft || isVertical && variation === 'end' && overflowsRight || !isVertical && variation === 'start' && overflowsTop || !isVertical && variation === 'end' && overflowsBottom);\n\n if (overlapsRef || overflowsBoundaries || flippedVariation) {\n // this boolean to detect any flip loop\n data.flipped = true;\n\n if (overlapsRef || overflowsBoundaries) {\n placement = flipOrder[index + 1];\n }\n\n if (flippedVariation) {\n variation = getOppositeVariation(variation);\n }\n\n data.placement = placement + (variation ? '-' + variation : '');\n\n // this object contains `position`, we want to preserve it along with\n // any additional property we may add in the future\n data.offsets.popper = _extends({}, data.offsets.popper, getPopperOffsets(data.instance.popper, data.offsets.reference, data.placement));\n\n data = runModifiers(data.instance.modifiers, data, 'flip');\n }\n });\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction keepTogether(data) {\n var _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n\n var placement = data.placement.split('-')[0];\n var floor = Math.floor;\n var isVertical = ['top', 'bottom'].indexOf(placement) !== -1;\n var side = isVertical ? 'right' : 'bottom';\n var opSide = isVertical ? 'left' : 'top';\n var measurement = isVertical ? 'width' : 'height';\n\n if (popper[side] < floor(reference[opSide])) {\n data.offsets.popper[opSide] = floor(reference[opSide]) - popper[measurement];\n }\n if (popper[opSide] > floor(reference[side])) {\n data.offsets.popper[opSide] = floor(reference[side]);\n }\n\n return data;\n}\n\n/**\n * Converts a string containing value + unit into a px value number\n * @function\n * @memberof {modifiers~offset}\n * @private\n * @argument {String} str - Value + unit string\n * @argument {String} measurement - `height` or `width`\n * @argument {Object} popperOffsets\n * @argument {Object} referenceOffsets\n * @returns {Number|String}\n * Value in pixels, or original string if no values were extracted\n */\nfunction toValue(str, measurement, popperOffsets, referenceOffsets) {\n // separate value from unit\n var split = str.match(/((?:\\-|\\+)?\\d*\\.?\\d*)(.*)/);\n var value = +split[1];\n var unit = split[2];\n\n // If it's not a number it's an operator, I guess\n if (!value) {\n return str;\n }\n\n if (unit.indexOf('%') === 0) {\n var element = void 0;\n switch (unit) {\n case '%p':\n element = popperOffsets;\n break;\n case '%':\n case '%r':\n default:\n element = referenceOffsets;\n }\n\n var rect = getClientRect(element);\n return rect[measurement] / 100 * value;\n } else if (unit === 'vh' || unit === 'vw') {\n // if is a vh or vw, we calculate the size based on the viewport\n var size = void 0;\n if (unit === 'vh') {\n size = Math.max(document.documentElement.clientHeight, window.innerHeight || 0);\n } else {\n size = Math.max(document.documentElement.clientWidth, window.innerWidth || 0);\n }\n return size / 100 * value;\n } else {\n // if is an explicit pixel unit, we get rid of the unit and keep the value\n // if is an implicit unit, it's px, and we return just the value\n return value;\n }\n}\n\n/**\n * Parse an `offset` string to extrapolate `x` and `y` numeric offsets.\n * @function\n * @memberof {modifiers~offset}\n * @private\n * @argument {String} offset\n * @argument {Object} popperOffsets\n * @argument {Object} referenceOffsets\n * @argument {String} basePlacement\n * @returns {Array} a two cells array with x and y offsets in numbers\n */\nfunction parseOffset(offset, popperOffsets, referenceOffsets, basePlacement) {\n var offsets = [0, 0];\n\n // Use height if placement is left or right and index is 0 otherwise use width\n // in this way the first offset will use an axis and the second one\n // will use the other one\n var useHeight = ['right', 'left'].indexOf(basePlacement) !== -1;\n\n // Split the offset string to obtain a list of values and operands\n // The regex addresses values with the plus or minus sign in front (+10, -20, etc)\n var fragments = offset.split(/(\\+|\\-)/).map(function (frag) {\n return frag.trim();\n });\n\n // Detect if the offset string contains a pair of values or a single one\n // they could be separated by comma or space\n var divider = fragments.indexOf(find(fragments, function (frag) {\n return frag.search(/,|\\s/) !== -1;\n }));\n\n if (fragments[divider] && fragments[divider].indexOf(',') === -1) {\n console.warn('Offsets separated by white space(s) are deprecated, use a comma (,) instead.');\n }\n\n // If divider is found, we divide the list of values and operands to divide\n // them by ofset X and Y.\n var splitRegex = /\\s*,\\s*|\\s+/;\n var ops = divider !== -1 ? [fragments.slice(0, divider).concat([fragments[divider].split(splitRegex)[0]]), [fragments[divider].split(splitRegex)[1]].concat(fragments.slice(divider + 1))] : [fragments];\n\n // Convert the values with units to absolute pixels to allow our computations\n ops = ops.map(function (op, index) {\n // Most of the units rely on the orientation of the popper\n var measurement = (index === 1 ? !useHeight : useHeight) ? 'height' : 'width';\n var mergeWithPrevious = false;\n return op\n // This aggregates any `+` or `-` sign that aren't considered operators\n // e.g.: 10 + +5 => [10, +, +5]\n .reduce(function (a, b) {\n if (a[a.length - 1] === '' && ['+', '-'].indexOf(b) !== -1) {\n a[a.length - 1] = b;\n mergeWithPrevious = true;\n return a;\n } else if (mergeWithPrevious) {\n a[a.length - 1] += b;\n mergeWithPrevious = false;\n return a;\n } else {\n return a.concat(b);\n }\n }, [])\n // Here we convert the string values into number values (in px)\n .map(function (str) {\n return toValue(str, measurement, popperOffsets, referenceOffsets);\n });\n });\n\n // Loop trough the offsets arrays and execute the operations\n ops.forEach(function (op, index) {\n op.forEach(function (frag, index2) {\n if (isNumeric(frag)) {\n offsets[index] += frag * (op[index2 - 1] === '-' ? -1 : 1);\n }\n });\n });\n return offsets;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @argument {Number|String} options.offset=0\n * The offset value as described in the modifier description\n * @returns {Object} The data object, properly modified\n */\nfunction offset(data, _ref) {\n var offset = _ref.offset;\n var placement = data.placement,\n _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n\n var basePlacement = placement.split('-')[0];\n\n var offsets = void 0;\n if (isNumeric(+offset)) {\n offsets = [+offset, 0];\n } else {\n offsets = parseOffset(offset, popper, reference, basePlacement);\n }\n\n if (basePlacement === 'left') {\n popper.top += offsets[0];\n popper.left -= offsets[1];\n } else if (basePlacement === 'right') {\n popper.top += offsets[0];\n popper.left += offsets[1];\n } else if (basePlacement === 'top') {\n popper.left += offsets[0];\n popper.top -= offsets[1];\n } else if (basePlacement === 'bottom') {\n popper.left += offsets[0];\n popper.top += offsets[1];\n }\n\n data.popper = popper;\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction preventOverflow(data, options) {\n var boundariesElement = options.boundariesElement || getOffsetParent(data.instance.popper);\n\n // If offsetParent is the reference element, we really want to\n // go one step up and use the next offsetParent as reference to\n // avoid to make this modifier completely useless and look like broken\n if (data.instance.reference === boundariesElement) {\n boundariesElement = getOffsetParent(boundariesElement);\n }\n\n var boundaries = getBoundaries(data.instance.popper, data.instance.reference, options.padding, boundariesElement);\n options.boundaries = boundaries;\n\n var order = options.priority;\n var popper = data.offsets.popper;\n\n var check = {\n primary: function primary(placement) {\n var value = popper[placement];\n if (popper[placement] < boundaries[placement] && !options.escapeWithReference) {\n value = Math.max(popper[placement], boundaries[placement]);\n }\n return defineProperty({}, placement, value);\n },\n secondary: function secondary(placement) {\n var mainSide = placement === 'right' ? 'left' : 'top';\n var value = popper[mainSide];\n if (popper[placement] > boundaries[placement] && !options.escapeWithReference) {\n value = Math.min(popper[mainSide], boundaries[placement] - (placement === 'right' ? popper.width : popper.height));\n }\n return defineProperty({}, mainSide, value);\n }\n };\n\n order.forEach(function (placement) {\n var side = ['left', 'top'].indexOf(placement) !== -1 ? 'primary' : 'secondary';\n popper = _extends({}, popper, check[side](placement));\n });\n\n data.offsets.popper = popper;\n\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction shift(data) {\n var placement = data.placement;\n var basePlacement = placement.split('-')[0];\n var shiftvariation = placement.split('-')[1];\n\n // if shift shiftvariation is specified, run the modifier\n if (shiftvariation) {\n var _data$offsets = data.offsets,\n reference = _data$offsets.reference,\n popper = _data$offsets.popper;\n\n var isVertical = ['bottom', 'top'].indexOf(basePlacement) !== -1;\n var side = isVertical ? 'left' : 'top';\n var measurement = isVertical ? 'width' : 'height';\n\n var shiftOffsets = {\n start: defineProperty({}, side, reference[side]),\n end: defineProperty({}, side, reference[side] + reference[measurement] - popper[measurement])\n };\n\n data.offsets.popper = _extends({}, popper, shiftOffsets[shiftvariation]);\n }\n\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by update method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction hide(data) {\n if (!isModifierRequired(data.instance.modifiers, 'hide', 'preventOverflow')) {\n return data;\n }\n\n var refRect = data.offsets.reference;\n var bound = find(data.instance.modifiers, function (modifier) {\n return modifier.name === 'preventOverflow';\n }).boundaries;\n\n if (refRect.bottom < bound.top || refRect.left > bound.right || refRect.top > bound.bottom || refRect.right < bound.left) {\n // Avoid unnecessary DOM access if visibility hasn't changed\n if (data.hide === true) {\n return data;\n }\n\n data.hide = true;\n data.attributes['x-out-of-boundaries'] = '';\n } else {\n // Avoid unnecessary DOM access if visibility hasn't changed\n if (data.hide === false) {\n return data;\n }\n\n data.hide = false;\n data.attributes['x-out-of-boundaries'] = false;\n }\n\n return data;\n}\n\n/**\n * @function\n * @memberof Modifiers\n * @argument {Object} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {Object} The data object, properly modified\n */\nfunction inner(data) {\n var placement = data.placement;\n var basePlacement = placement.split('-')[0];\n var _data$offsets = data.offsets,\n popper = _data$offsets.popper,\n reference = _data$offsets.reference;\n\n var isHoriz = ['left', 'right'].indexOf(basePlacement) !== -1;\n\n var subtractLength = ['top', 'left'].indexOf(basePlacement) === -1;\n\n popper[isHoriz ? 'left' : 'top'] = reference[basePlacement] - (subtractLength ? popper[isHoriz ? 'width' : 'height'] : 0);\n\n data.placement = getOppositePlacement(placement);\n data.offsets.popper = getClientRect(popper);\n\n return data;\n}\n\n/**\n * Modifier function, each modifier can have a function of this type assigned\n * to its `fn` property.<br />\n * These functions will be called on each update, this means that you must\n * make sure they are performant enough to avoid performance bottlenecks.\n *\n * @function ModifierFn\n * @argument {dataObject} data - The data object generated by `update` method\n * @argument {Object} options - Modifiers configuration and options\n * @returns {dataObject} The data object, properly modified\n */\n\n/**\n * Modifiers are plugins used to alter the behavior of your poppers.<br />\n * Popper.js uses a set of 9 modifiers to provide all the basic functionalities\n * needed by the library.\n *\n * Usually you don't want to override the `order`, `fn` and `onLoad` props.\n * All the other properties are configurations that could be tweaked.\n * @namespace modifiers\n */\nvar modifiers = {\n /**\n * Modifier used to shift the popper on the start or end of its reference\n * element.<br />\n * It will read the variation of the `placement` property.<br />\n * It can be one either `-end` or `-start`.\n * @memberof modifiers\n * @inner\n */\n shift: {\n /** @prop {number} order=100 - Index used to define the order of execution */\n order: 100,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: shift\n },\n\n /**\n * The `offset` modifier can shift your popper on both its axis.\n *\n * It accepts the following units:\n * - `px` or unitless, interpreted as pixels\n * - `%` or `%r`, percentage relative to the length of the reference element\n * - `%p`, percentage relative to the length of the popper element\n * - `vw`, CSS viewport width unit\n * - `vh`, CSS viewport height unit\n *\n * For length is intended the main axis relative to the placement of the popper.<br />\n * This means that if the placement is `top` or `bottom`, the length will be the\n * `width`. In case of `left` or `right`, it will be the height.\n *\n * You can provide a single value (as `Number` or `String`), or a pair of values\n * as `String` divided by a comma or one (or more) white spaces.<br />\n * The latter is a deprecated method because it leads to confusion and will be\n * removed in v2.<br />\n * Additionally, it accepts additions and subtractions between different units.\n * Note that multiplications and divisions aren't supported.\n *\n * Valid examples are:\n * ```\n * 10\n * '10%'\n * '10, 10'\n * '10%, 10'\n * '10 + 10%'\n * '10 - 5vh + 3%'\n * '-10px + 5vh, 5px - 6%'\n * ```\n * > **NB**: If you desire to apply offsets to your poppers in a way that may make them overlap\n * > with their reference element, unfortunately, you will have to disable the `flip` modifier.\n * > More on this [reading this issue](https://github.com/FezVrasta/popper.js/issues/373)\n *\n * @memberof modifiers\n * @inner\n */\n offset: {\n /** @prop {number} order=200 - Index used to define the order of execution */\n order: 200,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: offset,\n /** @prop {Number|String} offset=0\n * The offset value as described in the modifier description\n */\n offset: 0\n },\n\n /**\n * Modifier used to prevent the popper from being positioned outside the boundary.\n *\n * An scenario exists where the reference itself is not within the boundaries.<br />\n * We can say it has \"escaped the boundaries\" — or just \"escaped\".<br />\n * In this case we need to decide whether the popper should either:\n *\n * - detach from the reference and remain \"trapped\" in the boundaries, or\n * - if it should ignore the boundary and \"escape with its reference\"\n *\n * When `escapeWithReference` is set to`true` and reference is completely\n * outside its boundaries, the popper will overflow (or completely leave)\n * the boundaries in order to remain attached to the edge of the reference.\n *\n * @memberof modifiers\n * @inner\n */\n preventOverflow: {\n /** @prop {number} order=300 - Index used to define the order of execution */\n order: 300,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: preventOverflow,\n /**\n * @prop {Array} [priority=['left','right','top','bottom']]\n * Popper will try to prevent overflow following these priorities by default,\n * then, it could overflow on the left and on top of the `boundariesElement`\n */\n priority: ['left', 'right', 'top', 'bottom'],\n /**\n * @prop {number} padding=5\n * Amount of pixel used to define a minimum distance between the boundaries\n * and the popper this makes sure the popper has always a little padding\n * between the edges of its container\n */\n padding: 5,\n /**\n * @prop {String|HTMLElement} boundariesElement='scrollParent'\n * Boundaries used by the modifier, can be `scrollParent`, `window`,\n * `viewport` or any DOM element.\n */\n boundariesElement: 'scrollParent'\n },\n\n /**\n * Modifier used to make sure the reference and its popper stay near eachothers\n * without leaving any gap between the two. Expecially useful when the arrow is\n * enabled and you want to assure it to point to its reference element.\n * It cares only about the first axis, you can still have poppers with margin\n * between the popper and its reference element.\n * @memberof modifiers\n * @inner\n */\n keepTogether: {\n /** @prop {number} order=400 - Index used to define the order of execution */\n order: 400,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: keepTogether\n },\n\n /**\n * This modifier is used to move the `arrowElement` of the popper to make\n * sure it is positioned between the reference element and its popper element.\n * It will read the outer size of the `arrowElement` node to detect how many\n * pixels of conjuction are needed.\n *\n * It has no effect if no `arrowElement` is provided.\n * @memberof modifiers\n * @inner\n */\n arrow: {\n /** @prop {number} order=500 - Index used to define the order of execution */\n order: 500,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: arrow,\n /** @prop {String|HTMLElement} element='[x-arrow]' - Selector or node used as arrow */\n element: '[x-arrow]'\n },\n\n /**\n * Modifier used to flip the popper's placement when it starts to overlap its\n * reference element.\n *\n * Requires the `preventOverflow` modifier before it in order to work.\n *\n * **NOTE:** this modifier will interrupt the current update cycle and will\n * restart it if it detects the need to flip the placement.\n * @memberof modifiers\n * @inner\n */\n flip: {\n /** @prop {number} order=600 - Index used to define the order of execution */\n order: 600,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: flip,\n /**\n * @prop {String|Array} behavior='flip'\n * The behavior used to change the popper's placement. It can be one of\n * `flip`, `clockwise`, `counterclockwise` or an array with a list of valid\n * placements (with optional variations).\n */\n behavior: 'flip',\n /**\n * @prop {number} padding=5\n * The popper will flip if it hits the edges of the `boundariesElement`\n */\n padding: 5,\n /**\n * @prop {String|HTMLElement} boundariesElement='viewport'\n * The element which will define the boundaries of the popper position,\n * the popper will never be placed outside of the defined boundaries\n * (except if keepTogether is enabled)\n */\n boundariesElement: 'viewport'\n },\n\n /**\n * Modifier used to make the popper flow toward the inner of the reference element.\n * By default, when this modifier is disabled, the popper will be placed outside\n * the reference element.\n * @memberof modifiers\n * @inner\n */\n inner: {\n /** @prop {number} order=700 - Index used to define the order of execution */\n order: 700,\n /** @prop {Boolean} enabled=false - Whether the modifier is enabled or not */\n enabled: false,\n /** @prop {ModifierFn} */\n fn: inner\n },\n\n /**\n * Modifier used to hide the popper when its reference element is outside of the\n * popper boundaries. It will set a `x-out-of-boundaries` attribute which can\n * be used to hide with a CSS selector the popper when its reference is\n * out of boundaries.\n *\n * Requires the `preventOverflow` modifier before it in order to work.\n * @memberof modifiers\n * @inner\n */\n hide: {\n /** @prop {number} order=800 - Index used to define the order of execution */\n order: 800,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: hide\n },\n\n /**\n * Computes the style that will be applied to the popper element to gets\n * properly positioned.\n *\n * Note that this modifier will not touch the DOM, it just prepares the styles\n * so that `applyStyle` modifier can apply it. This separation is useful\n * in case you need to replace `applyStyle` with a custom implementation.\n *\n * This modifier has `850` as `order` value to maintain backward compatibility\n * with previous versions of Popper.js. Expect the modifiers ordering method\n * to change in future major versions of the library.\n *\n * @memberof modifiers\n * @inner\n */\n computeStyle: {\n /** @prop {number} order=850 - Index used to define the order of execution */\n order: 850,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: computeStyle,\n /**\n * @prop {Boolean} gpuAcceleration=true\n * If true, it uses the CSS 3d transformation to position the popper.\n * Otherwise, it will use the `top` and `left` properties.\n */\n gpuAcceleration: true,\n /**\n * @prop {string} [x='bottom']\n * Where to anchor the X axis (`bottom` or `top`). AKA X offset origin.\n * Change this if your popper should grow in a direction different from `bottom`\n */\n x: 'bottom',\n /**\n * @prop {string} [x='left']\n * Where to anchor the Y axis (`left` or `right`). AKA Y offset origin.\n * Change this if your popper should grow in a direction different from `right`\n */\n y: 'right'\n },\n\n /**\n * Applies the computed styles to the popper element.\n *\n * All the DOM manipulations are limited to this modifier. This is useful in case\n * you want to integrate Popper.js inside a framework or view library and you\n * want to delegate all the DOM manipulations to it.\n *\n * Note that if you disable this modifier, you must make sure the popper element\n * has its position set to `absolute` before Popper.js can do its work!\n *\n * Just disable this modifier and define you own to achieve the desired effect.\n *\n * @memberof modifiers\n * @inner\n */\n applyStyle: {\n /** @prop {number} order=900 - Index used to define the order of execution */\n order: 900,\n /** @prop {Boolean} enabled=true - Whether the modifier is enabled or not */\n enabled: true,\n /** @prop {ModifierFn} */\n fn: applyStyle,\n /** @prop {Function} */\n onLoad: applyStyleOnLoad,\n /**\n * @deprecated since version 1.10.0, the property moved to `computeStyle` modifier\n * @prop {Boolean} gpuAcceleration=true\n * If true, it uses the CSS 3d transformation to position the popper.\n * Otherwise, it will use the `top` and `left` properties.\n */\n gpuAcceleration: undefined\n }\n};\n\n/**\n * The `dataObject` is an object containing all the informations used by Popper.js\n * this object get passed to modifiers and to the `onCreate` and `onUpdate` callbacks.\n * @name dataObject\n * @property {Object} data.instance The Popper.js instance\n * @property {String} data.placement Placement applied to popper\n * @property {String} data.originalPlacement Placement originally defined on init\n * @property {Boolean} data.flipped True if popper has been flipped by flip modifier\n * @property {Boolean} data.hide True if the reference element is out of boundaries, useful to know when to hide the popper.\n * @property {HTMLElement} data.arrowElement Node used as arrow by arrow modifier\n * @property {Object} data.styles Any CSS property defined here will be applied to the popper, it expects the JavaScript nomenclature (eg. `marginBottom`)\n * @property {Object} data.arrowStyles Any CSS property defined here will be applied to the popper arrow, it expects the JavaScript nomenclature (eg. `marginBottom`)\n * @property {Object} data.boundaries Offsets of the popper boundaries\n * @property {Object} data.offsets The measurements of popper, reference and arrow elements.\n * @property {Object} data.offsets.popper `top`, `left`, `width`, `height` values\n * @property {Object} data.offsets.reference `top`, `left`, `width`, `height` values\n * @property {Object} data.offsets.arrow] `top` and `left` offsets, only one of them will be different from 0\n */\n\n/**\n * Default options provided to Popper.js constructor.<br />\n * These can be overriden using the `options` argument of Popper.js.<br />\n * To override an option, simply pass as 3rd argument an object with the same\n * structure of this object, example:\n * ```\n * new Popper(ref, pop, {\n * modifiers: {\n * preventOverflow: { enabled: false }\n * }\n * })\n * ```\n * @type {Object}\n * @static\n * @memberof Popper\n */\nvar Defaults = {\n /**\n * Popper's placement\n * @prop {Popper.placements} placement='bottom'\n */\n placement: 'bottom',\n\n /**\n * Whether events (resize, scroll) are initially enabled\n * @prop {Boolean} eventsEnabled=true\n */\n eventsEnabled: true,\n\n /**\n * Set to true if you want to automatically remove the popper when\n * you call the `destroy` method.\n * @prop {Boolean} removeOnDestroy=false\n */\n removeOnDestroy: false,\n\n /**\n * Callback called when the popper is created.<br />\n * By default, is set to no-op.<br />\n * Access Popper.js instance with `data.instance`.\n * @prop {onCreate}\n */\n onCreate: function onCreate() {},\n\n /**\n * Callback called when the popper is updated, this callback is not called\n * on the initialization/creation of the popper, but only on subsequent\n * updates.<br />\n * By default, is set to no-op.<br />\n * Access Popper.js instance with `data.instance`.\n * @prop {onUpdate}\n */\n onUpdate: function onUpdate() {},\n\n /**\n * List of modifiers used to modify the offsets before they are applied to the popper.\n * They provide most of the functionalities of Popper.js\n * @prop {modifiers}\n */\n modifiers: modifiers\n};\n\n/**\n * @callback onCreate\n * @param {dataObject} data\n */\n\n/**\n * @callback onUpdate\n * @param {dataObject} data\n */\n\n// Utils\n// Methods\nvar Popper = function () {\n /**\n * Create a new Popper.js instance\n * @class Popper\n * @param {HTMLElement|referenceObject} reference - The reference element used to position the popper\n * @param {HTMLElement} popper - The HTML element used as popper.\n * @param {Object} options - Your custom options to override the ones defined in [Defaults](#defaults)\n * @return {Object} instance - The generated Popper.js instance\n */\n function Popper(reference, popper) {\n var _this = this;\n\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n classCallCheck(this, Popper);\n\n this.scheduleUpdate = function () {\n return requestAnimationFrame(_this.update);\n };\n\n // make update() debounced, so that it only runs at most once-per-tick\n this.update = debounce(this.update.bind(this));\n\n // with {} we create a new object with the options inside it\n this.options = _extends({}, Popper.Defaults, options);\n\n // init state\n this.state = {\n isDestroyed: false,\n isCreated: false,\n scrollParents: []\n };\n\n // get reference and popper elements (allow jQuery wrappers)\n this.reference = reference && reference.jquery ? reference[0] : reference;\n this.popper = popper && popper.jquery ? popper[0] : popper;\n\n // Deep merge modifiers options\n this.options.modifiers = {};\n Object.keys(_extends({}, Popper.Defaults.modifiers, options.modifiers)).forEach(function (name) {\n _this.options.modifiers[name] = _extends({}, Popper.Defaults.modifiers[name] || {}, options.modifiers ? options.modifiers[name] : {});\n });\n\n // Refactoring modifiers' list (Object => Array)\n this.modifiers = Object.keys(this.options.modifiers).map(function (name) {\n return _extends({\n name: name\n }, _this.options.modifiers[name]);\n })\n // sort the modifiers by order\n .sort(function (a, b) {\n return a.order - b.order;\n });\n\n // modifiers have the ability to execute arbitrary code when Popper.js get inited\n // such code is executed in the same order of its modifier\n // they could add new properties to their options configuration\n // BE AWARE: don't add options to `options.modifiers.name` but to `modifierOptions`!\n this.modifiers.forEach(function (modifierOptions) {\n if (modifierOptions.enabled && isFunction(modifierOptions.onLoad)) {\n modifierOptions.onLoad(_this.reference, _this.popper, _this.options, modifierOptions, _this.state);\n }\n });\n\n // fire the first update to position the popper in the right place\n this.update();\n\n var eventsEnabled = this.options.eventsEnabled;\n if (eventsEnabled) {\n // setup event listeners, they will take care of update the position in specific situations\n this.enableEventListeners();\n }\n\n this.state.eventsEnabled = eventsEnabled;\n }\n\n // We can't use class properties because they don't get listed in the\n // class prototype and break stuff like Sinon stubs\n\n\n createClass(Popper, [{\n key: 'update',\n value: function update$$1() {\n return update.call(this);\n }\n }, {\n key: 'destroy',\n value: function destroy$$1() {\n return destroy.call(this);\n }\n }, {\n key: 'enableEventListeners',\n value: function enableEventListeners$$1() {\n return enableEventListeners.call(this);\n }\n }, {\n key: 'disableEventListeners',\n value: function disableEventListeners$$1() {\n return disableEventListeners.call(this);\n }\n\n /**\n * Schedule an update, it will run on the next UI update available\n * @method scheduleUpdate\n * @memberof Popper\n */\n\n\n /**\n * Collection of utilities useful when writing custom modifiers.\n * Starting from version 1.7, this method is available only if you\n * include `popper-utils.js` before `popper.js`.\n *\n * **DEPRECATION**: This way to access PopperUtils is deprecated\n * and will be removed in v2! Use the PopperUtils module directly instead.\n * Due to the high instability of the methods contained in Utils, we can't\n * guarantee them to follow semver. Use them at your own risk!\n * @static\n * @private\n * @type {Object}\n * @deprecated since version 1.8\n * @member Utils\n * @memberof Popper\n */\n\n }]);\n return Popper;\n}();\n\n/**\n * The `referenceObject` is an object that provides an interface compatible with Popper.js\n * and lets you use it as replacement of a real DOM node.<br />\n * You can use this method to position a popper relatively to a set of coordinates\n * in case you don't have a DOM node to use as reference.\n *\n * ```\n * new Popper(referenceObject, popperNode);\n * ```\n *\n * NB: This feature isn't supported in Internet Explorer 10\n * @name referenceObject\n * @property {Function} data.getBoundingClientRect\n * A function that returns a set of coordinates compatible with the native `getBoundingClientRect` method.\n * @property {number} data.clientWidth\n * An ES6 getter that will return the width of the virtual reference element.\n * @property {number} data.clientHeight\n * An ES6 getter that will return the height of the virtual reference element.\n */\n\n\nPopper.Utils = (typeof window !== 'undefined' ? window : global).PopperUtils;\nPopper.placements = placements;\nPopper.Defaults = Defaults;\n\nexport default Popper;\n//# sourceMappingURL=popper.js.map\n","// The following colors may not be accessible with text color or inverse white on this background color. They do not all pass WCAG AA Color Contrast Ratios.\n// https://webaim.org/resources/contrastchecker/?fcolor=FFFFFF&bcolor=FFC20E\nmodule.exports = {\n\t'global-setup': '#2A739E',\n\t'service-cloud': '#7f2443',\n\t'industry-cloud': '#4c2248',\n\t'sales-cloud': '#00857d',\n\t'commerce-cloud': '#41693d',\n\t'community-cloud': '#ffc20e',\n\t'marketing-cloud': '#ea7600',\n\tquip: '#cf451d',\n};\n","/**\n * lodash (Custom Build) <https://lodash.com/>\n * Build: `lodash modularize exports=\"npm\" -o ./`\n * Copyright jQuery Foundation and other contributors <https://jquery.org/>\n * Released under MIT license <https://lodash.com/license>\n * Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>\n * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n */\n\n/** Used as the `TypeError` message for \"Functions\" methods. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/** `Object#toString` result references. */\nvar funcTag = '[object Function]',\n genTag = '[object GeneratorFunction]';\n\n/**\n * Used to match `RegExp`\n * [syntax characters](http://ecma-international.org/ecma-262/7.0/#sec-patterns).\n */\nvar reRegExpChar = /[\\\\^$.*+?()[\\]{}|]/g;\n\n/** Used to detect host constructors (Safari). */\nvar reIsHostCtor = /^\\[object .+?Constructor\\]$/;\n\n/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\n/**\n * Gets the value at `key` of `object`.\n *\n * @private\n * @param {Object} [object] The object to query.\n * @param {string} key The key of the property to get.\n * @returns {*} Returns the property value.\n */\nfunction getValue(object, key) {\n return object == null ? undefined : object[key];\n}\n\n/**\n * Checks if `value` is a host object in IE < 9.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a host object, else `false`.\n */\nfunction isHostObject(value) {\n // Many host objects are `Object` objects that can coerce to strings\n // despite having improperly defined `toString` methods.\n var result = false;\n if (value != null && typeof value.toString != 'function') {\n try {\n result = !!(value + '');\n } catch (e) {}\n }\n return result;\n}\n\n/** Used for built-in method references. */\nvar arrayProto = Array.prototype,\n funcProto = Function.prototype,\n objectProto = Object.prototype;\n\n/** Used to detect overreaching core-js shims. */\nvar coreJsData = root['__core-js_shared__'];\n\n/** Used to detect methods masquerading as native. */\nvar maskSrcKey = (function() {\n var uid = /[^.]+$/.exec(coreJsData && coreJsData.keys && coreJsData.keys.IE_PROTO || '');\n return uid ? ('Symbol(src)_1.' + uid) : '';\n}());\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objectToString = objectProto.toString;\n\n/** Used to detect if a method is native. */\nvar reIsNative = RegExp('^' +\n funcToString.call(hasOwnProperty).replace(reRegExpChar, '\\\\$&')\n .replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g, '$1.*?') + '$'\n);\n\n/** Built-in value references. */\nvar splice = arrayProto.splice;\n\n/* Built-in method references that are verified to be native. */\nvar Map = getNative(root, 'Map'),\n nativeCreate = getNative(Object, 'create');\n\n/**\n * Creates a hash object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Hash(entries) {\n var index = -1,\n length = entries ? entries.length : 0;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n/**\n * Removes all key-value entries from the hash.\n *\n * @private\n * @name clear\n * @memberOf Hash\n */\nfunction hashClear() {\n this.__data__ = nativeCreate ? nativeCreate(null) : {};\n}\n\n/**\n * Removes `key` and its value from the hash.\n *\n * @private\n * @name delete\n * @memberOf Hash\n * @param {Object} hash The hash to modify.\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction hashDelete(key) {\n return this.has(key) && delete this.__data__[key];\n}\n\n/**\n * Gets the hash value for `key`.\n *\n * @private\n * @name get\n * @memberOf Hash\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction hashGet(key) {\n var data = this.__data__;\n if (nativeCreate) {\n var result = data[key];\n return result === HASH_UNDEFINED ? undefined : result;\n }\n return hasOwnProperty.call(data, key) ? data[key] : undefined;\n}\n\n/**\n * Checks if a hash value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Hash\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction hashHas(key) {\n var data = this.__data__;\n return nativeCreate ? data[key] !== undefined : hasOwnProperty.call(data, key);\n}\n\n/**\n * Sets the hash `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Hash\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the hash instance.\n */\nfunction hashSet(key, value) {\n var data = this.__data__;\n data[key] = (nativeCreate && value === undefined) ? HASH_UNDEFINED : value;\n return this;\n}\n\n// Add methods to `Hash`.\nHash.prototype.clear = hashClear;\nHash.prototype['delete'] = hashDelete;\nHash.prototype.get = hashGet;\nHash.prototype.has = hashHas;\nHash.prototype.set = hashSet;\n\n/**\n * Creates an list cache object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction ListCache(entries) {\n var index = -1,\n length = entries ? entries.length : 0;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n/**\n * Removes all key-value entries from the list cache.\n *\n * @private\n * @name clear\n * @memberOf ListCache\n */\nfunction listCacheClear() {\n this.__data__ = [];\n}\n\n/**\n * Removes `key` and its value from the list cache.\n *\n * @private\n * @name delete\n * @memberOf ListCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction listCacheDelete(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n return false;\n }\n var lastIndex = data.length - 1;\n if (index == lastIndex) {\n data.pop();\n } else {\n splice.call(data, index, 1);\n }\n return true;\n}\n\n/**\n * Gets the list cache value for `key`.\n *\n * @private\n * @name get\n * @memberOf ListCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction listCacheGet(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n return index < 0 ? undefined : data[index][1];\n}\n\n/**\n * Checks if a list cache value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf ListCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction listCacheHas(key) {\n return assocIndexOf(this.__data__, key) > -1;\n}\n\n/**\n * Sets the list cache `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf ListCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the list cache instance.\n */\nfunction listCacheSet(key, value) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n data.push([key, value]);\n } else {\n data[index][1] = value;\n }\n return this;\n}\n\n// Add methods to `ListCache`.\nListCache.prototype.clear = listCacheClear;\nListCache.prototype['delete'] = listCacheDelete;\nListCache.prototype.get = listCacheGet;\nListCache.prototype.has = listCacheHas;\nListCache.prototype.set = listCacheSet;\n\n/**\n * Creates a map cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction MapCache(entries) {\n var index = -1,\n length = entries ? entries.length : 0;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n/**\n * Removes all key-value entries from the map.\n *\n * @private\n * @name clear\n * @memberOf MapCache\n */\nfunction mapCacheClear() {\n this.__data__ = {\n 'hash': new Hash,\n 'map': new (Map || ListCache),\n 'string': new Hash\n };\n}\n\n/**\n * Removes `key` and its value from the map.\n *\n * @private\n * @name delete\n * @memberOf MapCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction mapCacheDelete(key) {\n return getMapData(this, key)['delete'](key);\n}\n\n/**\n * Gets the map value for `key`.\n *\n * @private\n * @name get\n * @memberOf MapCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction mapCacheGet(key) {\n return getMapData(this, key).get(key);\n}\n\n/**\n * Checks if a map value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf MapCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction mapCacheHas(key) {\n return getMapData(this, key).has(key);\n}\n\n/**\n * Sets the map `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf MapCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the map cache instance.\n */\nfunction mapCacheSet(key, value) {\n getMapData(this, key).set(key, value);\n return this;\n}\n\n// Add methods to `MapCache`.\nMapCache.prototype.clear = mapCacheClear;\nMapCache.prototype['delete'] = mapCacheDelete;\nMapCache.prototype.get = mapCacheGet;\nMapCache.prototype.has = mapCacheHas;\nMapCache.prototype.set = mapCacheSet;\n\n/**\n * Gets the index at which the `key` is found in `array` of key-value pairs.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} key The key to search for.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction assocIndexOf(array, key) {\n var length = array.length;\n while (length--) {\n if (eq(array[length][0], key)) {\n return length;\n }\n }\n return -1;\n}\n\n/**\n * The base implementation of `_.isNative` without bad shim checks.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a native function,\n * else `false`.\n */\nfunction baseIsNative(value) {\n if (!isObject(value) || isMasked(value)) {\n return false;\n }\n var pattern = (isFunction(value) || isHostObject(value)) ? reIsNative : reIsHostCtor;\n return pattern.test(toSource(value));\n}\n\n/**\n * Gets the data for `map`.\n *\n * @private\n * @param {Object} map The map to query.\n * @param {string} key The reference key.\n * @returns {*} Returns the map data.\n */\nfunction getMapData(map, key) {\n var data = map.__data__;\n return isKeyable(key)\n ? data[typeof key == 'string' ? 'string' : 'hash']\n : data.map;\n}\n\n/**\n * Gets the native function at `key` of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the method to get.\n * @returns {*} Returns the function if it's native, else `undefined`.\n */\nfunction getNative(object, key) {\n var value = getValue(object, key);\n return baseIsNative(value) ? value : undefined;\n}\n\n/**\n * Checks if `value` is suitable for use as unique object key.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is suitable, else `false`.\n */\nfunction isKeyable(value) {\n var type = typeof value;\n return (type == 'string' || type == 'number' || type == 'symbol' || type == 'boolean')\n ? (value !== '__proto__')\n : (value === null);\n}\n\n/**\n * Checks if `func` has its source masked.\n *\n * @private\n * @param {Function} func The function to check.\n * @returns {boolean} Returns `true` if `func` is masked, else `false`.\n */\nfunction isMasked(func) {\n return !!maskSrcKey && (maskSrcKey in func);\n}\n\n/**\n * Converts `func` to its source code.\n *\n * @private\n * @param {Function} func The function to process.\n * @returns {string} Returns the source code.\n */\nfunction toSource(func) {\n if (func != null) {\n try {\n return funcToString.call(func);\n } catch (e) {}\n try {\n return (func + '');\n } catch (e) {}\n }\n return '';\n}\n\n/**\n * Creates a function that memoizes the result of `func`. If `resolver` is\n * provided, it determines the cache key for storing the result based on the\n * arguments provided to the memoized function. By default, the first argument\n * provided to the memoized function is used as the map cache key. The `func`\n * is invoked with the `this` binding of the memoized function.\n *\n * **Note:** The cache is exposed as the `cache` property on the memoized\n * function. Its creation may be customized by replacing the `_.memoize.Cache`\n * constructor with one whose instances implement the\n * [`Map`](http://ecma-international.org/ecma-262/7.0/#sec-properties-of-the-map-prototype-object)\n * method interface of `delete`, `get`, `has`, and `set`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to have its output memoized.\n * @param {Function} [resolver] The function to resolve the cache key.\n * @returns {Function} Returns the new memoized function.\n * @example\n *\n * var object = { 'a': 1, 'b': 2 };\n * var other = { 'c': 3, 'd': 4 };\n *\n * var values = _.memoize(_.values);\n * values(object);\n * // => [1, 2]\n *\n * values(other);\n * // => [3, 4]\n *\n * object.a = 2;\n * values(object);\n * // => [1, 2]\n *\n * // Modify the result cache.\n * values.cache.set(object, ['a', 'b']);\n * values(object);\n * // => ['a', 'b']\n *\n * // Replace `_.memoize.Cache`.\n * _.memoize.Cache = WeakMap;\n */\nfunction memoize(func, resolver) {\n if (typeof func != 'function' || (resolver && typeof resolver != 'function')) {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n var memoized = function() {\n var args = arguments,\n key = resolver ? resolver.apply(this, args) : args[0],\n cache = memoized.cache;\n\n if (cache.has(key)) {\n return cache.get(key);\n }\n var result = func.apply(this, args);\n memoized.cache = cache.set(key, result);\n return result;\n };\n memoized.cache = new (memoize.Cache || MapCache);\n return memoized;\n}\n\n// Assign cache to `_.memoize`.\nmemoize.Cache = MapCache;\n\n/**\n * Performs a\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * comparison between two values to determine if they are equivalent.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'a': 1 };\n * var other = { 'a': 1 };\n *\n * _.eq(object, object);\n * // => true\n *\n * _.eq(object, other);\n * // => false\n *\n * _.eq('a', 'a');\n * // => true\n *\n * _.eq('a', Object('a'));\n * // => false\n *\n * _.eq(NaN, NaN);\n * // => true\n */\nfunction eq(value, other) {\n return value === other || (value !== value && other !== other);\n}\n\n/**\n * Checks if `value` is classified as a `Function` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a function, else `false`.\n * @example\n *\n * _.isFunction(_);\n * // => true\n *\n * _.isFunction(/abc/);\n * // => false\n */\nfunction isFunction(value) {\n // The use of `Object#toString` avoids issues with the `typeof` operator\n // in Safari 8-9 which returns 'object' for typed array and other constructors.\n var tag = isObject(value) ? objectToString.call(value) : '';\n return tag == funcTag || tag == genTag;\n}\n\n/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n var type = typeof value;\n return !!value && (type == 'object' || type == 'function');\n}\n\nmodule.exports = memoize;\n","module.exports = {\n\t// Disabled state of BRAND_HEADER_CONTRAST_WEAK\n\tbrandHeaderContrastWeakDisabled: 'rgba(166, 166, 166, 0.25)',\n\t// Gray Color 11\n\tcolorGray11: 'rgb(62, 62, 60)',\n\t// Transparent value of BRAND_PRIMARY at 10%\n\tbrandPrimaryTransparent10: 'rgba(21, 137, 238, 0.1)',\n\t// Gray Color 12\n\tcolorGray12: 'rgb(43, 40, 38)',\n\t// These RGBA values need to be updated if BRAND_BACKGROUND_DARK changes, solves webkit bug\n\tbrandBackgroundDarkTransparent: 'rgba(221, 219, 218, 0)',\n\t// Background color a branded app header\n\tbrandHeader: 'rgb(255, 255, 255)',\n\t// Active / Hover state of BRAND_LIGHT\n\tbrandLightActive: 'rgb(227, 229, 237)',\n\t// Variant of BRAND_HEADER_CONTRAST that provides a warm color\n\tbrandHeaderContrastWarm: 'rgb(191, 2, 1)',\n\t// Disabled state of BRAND_HEADER_ICON\n\tbrandHeaderIconDisabled: 'rgba(145, 145, 145, 0.25)',\n\t// Active / Hover state of BRAND_HEADER_CONTRAST\n\tbrandHeaderContrastActive: 'rgb(80, 80, 80)',\n\t// Primary page background color\n\tbrandBackgroundPrimary: 'rgb(250, 250, 249)',\n\t// Primary brand color\n\tbrandPrimary: 'rgb(21, 137, 238)',\n\t// Active / Hover state of BRAND_HEADER_CONTRAST_WEAK\n\tbrandHeaderContrastWeakActive: 'rgb(129, 129, 129)',\n\t// Active / Hover state of BRAND_CONTRAST\n\tbrandContrastActive: 'rgb(13, 14, 18)',\n\t// Variant of BRAND_HEADER_CONTRAST that provides a cool color\n\tbrandHeaderContrastCool: 'rgb(0, 85, 131)',\n\t// Variant of BRAND_HEADER that is accessible with BRAND_HEADER\n\tbrandHeaderContrastInverse: 'rgb(255, 255, 255)',\n\t// Dark variant of BRAND that is accessible with light colors\n\tbrandDark: 'rgb(24, 35, 55)',\n\t// Dark variant of BRAND that is accessible with white\n\tbrandAccessible: 'rgb(0, 112, 210)',\n\t// Dark variant of BRAND_BACKGROUND_PRIMARY, used within gradient of background color\n\tbrandBackgroundDark: 'rgb(232, 232, 232)',\n\t// Active / Hover state of BRAND_TEXT_LINK\n\tbrandTextLinkActive: 'rgb(0, 95, 178)',\n\t// Gray Color 1\n\tcolorGray1: 'rgb(255, 255, 255)',\n\t// Gray Color 2\n\tcolorGray2: 'rgb(250, 250, 249)',\n\t// Active / Hover state of BRAND_HEADER_ICON\n\tbrandHeaderIconActive: 'rgb(129, 129, 129)',\n\t// Gray Color 3\n\tcolorGray3: 'rgb(243, 242, 242)',\n\t// Icons of BRAND_HEADER that is accessible with BRAND_HEADER\n\tbrandHeaderIcon: 'rgb(145, 145, 145)',\n\t// Disabled state of BRAND_A11Y\n\tbrandDisabled: 'rgb(201, 199, 197)',\n\t// Primary text link brand color\n\tbrandTextLink: 'rgb(0, 109, 204)',\n\t// Gray Color 4\n\tcolorGray4: 'rgb(236, 235, 234)',\n\t// Gray Color 5\n\tcolorGray5: 'rgb(221, 219, 218)',\n\t// Gray Color 6\n\tcolorGray6: 'rgb(201, 199, 197)',\n\t// Active / Hover state of BRAND_A11Y\n\tbrandAccessibleActive: 'rgb(0, 95, 178)',\n\t// Gray Color 7\n\tcolorGray7: 'rgb(176, 173, 171)',\n\t// Active / Hover state of BRAND_DARK\n\tbrandDarkActive: 'rgb(37, 48, 69)',\n\t// Gray Color 8\n\tcolorGray8: 'rgb(150, 148, 146)',\n\t// Active / Hover state of BRAND_HEADER_CONTRAST\n\tbrandHeaderContrastInverseActive: 'rgb(238, 238, 238)',\n\t// Active / Hover state of BRAND_HEADER_CONTRAST_COOL\n\tbrandHeaderContrastCoolActive: 'rgb(0, 85, 131)',\n\t// Gray Color 9\n\tcolorGray9: 'rgb(112, 110, 107)',\n\t// Variant of BRAND that is accessible with BRAND\n\tbrandContrast: 'rgb(26, 27, 30)',\n\t// Weak contrast ratio, useful for iconography\n\tbrandHeaderContrastWeak: 'rgb(145, 145, 145)',\n\t// Active / Hover state of BRAND_PRIMARY\n\tbrandPrimaryActive: 'rgb(0, 122, 221)',\n\t// These RGBA values need to be updated if BRAND_BACKGROUND_PRIMARY changes, solves webkit bug\n\tbrandBackgroundPrimaryTransparent: 'rgba(250, 250, 249, 0)',\n\t// Variant of BRAND_HEADER that is accessible with BRAND_HEADER\n\tbrandHeaderContrast: 'rgb(94, 94, 94)',\n\t// Transparent value of BRAND_PRIMARY\n\tbrandPrimaryTransparent: 'rgba(21, 137, 238, 0.1)',\n\t// Active / Hover state of BRAND_HEADER_CONTRAST_WARM\n\tbrandHeaderContrastWarmActive: 'rgb(172, 0, 0)',\n\t// Transparent value of BRAND_PRIMARY at 40%\n\tbrandPrimaryTransparent40: 'rgba(21, 137, 238, 0.4)',\n\t// Light variant of BRAND that is accessible with dark colors\n\tbrandLight: 'rgb(244, 246, 254)',\n\t// Gray Color 10\n\tcolorGray10: 'rgb(81, 79, 77)',\n};\n","\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nvar __rest = (this && this.__rest) || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n t[p[i]] = s[p[i]];\n }\n return t;\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar React = __importStar(require(\"react\"));\nvar fast_deep_equal_1 = __importDefault(require(\"fast-deep-equal\"));\nvar PropTypes = __importStar(require(\"prop-types\"));\nfunction normalizeHtml(str) {\n return str && str.replace(/ |\\u202F|\\u00A0/g, ' ');\n}\nfunction replaceCaret(el) {\n // Place the caret at the end of the element\n var target = document.createTextNode('');\n el.appendChild(target);\n // do not move caret if element was not focused\n var isTargetFocused = document.activeElement === el;\n if (target !== null && target.nodeValue !== null && isTargetFocused) {\n var sel = window.getSelection();\n if (sel !== null) {\n var range = document.createRange();\n range.setStart(target, target.nodeValue.length);\n range.collapse(true);\n sel.removeAllRanges();\n sel.addRange(range);\n }\n if (el instanceof HTMLElement)\n el.focus();\n }\n}\n/**\n * A simple component for an html element with editable contents.\n */\nvar ContentEditable = /** @class */ (function (_super) {\n __extends(ContentEditable, _super);\n function ContentEditable() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.lastHtml = _this.props.html;\n _this.el = typeof _this.props.innerRef === 'function' ? { current: null } : React.createRef();\n _this.getEl = function () { return (_this.props.innerRef && typeof _this.props.innerRef !== 'function' ? _this.props.innerRef : _this.el).current; };\n _this.emitChange = function (originalEvt) {\n var el = _this.getEl();\n if (!el)\n return;\n var html = el.innerHTML;\n if (_this.props.onChange && html !== _this.lastHtml) {\n // Clone event with Object.assign to avoid\n // \"Cannot assign to read only property 'target' of object\"\n var evt = Object.assign({}, originalEvt, {\n target: {\n value: html\n }\n });\n _this.props.onChange(evt);\n }\n _this.lastHtml = html;\n };\n return _this;\n }\n ContentEditable.prototype.render = function () {\n var _this = this;\n var _a = this.props, tagName = _a.tagName, html = _a.html, innerRef = _a.innerRef, props = __rest(_a, [\"tagName\", \"html\", \"innerRef\"]);\n return React.createElement(tagName || 'div', __assign(__assign({}, props), { ref: typeof innerRef === 'function' ? function (current) {\n innerRef(current);\n _this.el.current = current;\n } : innerRef || this.el, onInput: this.emitChange, onBlur: this.props.onBlur || this.emitChange, onKeyUp: this.props.onKeyUp || this.emitChange, onKeyDown: this.props.onKeyDown || this.emitChange, contentEditable: !this.props.disabled, dangerouslySetInnerHTML: { __html: html } }), this.props.children);\n };\n ContentEditable.prototype.shouldComponentUpdate = function (nextProps) {\n var props = this.props;\n var el = this.getEl();\n // We need not rerender if the change of props simply reflects the user's edits.\n // Rerendering in this case would make the cursor/caret jump\n // Rerender if there is no element yet... (somehow?)\n if (!el)\n return true;\n // ...or if html really changed... (programmatically, not by user edit)\n if (normalizeHtml(nextProps.html) !== normalizeHtml(el.innerHTML)) {\n return true;\n }\n // Handle additional properties\n return props.disabled !== nextProps.disabled ||\n props.tagName !== nextProps.tagName ||\n props.className !== nextProps.className ||\n props.innerRef !== nextProps.innerRef ||\n !fast_deep_equal_1.default(props.style, nextProps.style);\n };\n ContentEditable.prototype.componentDidUpdate = function () {\n var el = this.getEl();\n if (!el)\n return;\n // Perhaps React (whose VDOM gets outdated because we often prevent\n // rerendering) did not update the DOM. So we update it manually now.\n if (this.props.html !== el.innerHTML) {\n el.innerHTML = this.props.html;\n }\n this.lastHtml = this.props.html;\n replaceCaret(el);\n };\n ContentEditable.propTypes = {\n html: PropTypes.string.isRequired,\n onChange: PropTypes.func,\n disabled: PropTypes.bool,\n tagName: PropTypes.string,\n className: PropTypes.string,\n style: PropTypes.object,\n innerRef: PropTypes.oneOfType([\n PropTypes.object,\n PropTypes.func,\n ])\n };\n return ContentEditable;\n}(React.Component));\nexports.default = ContentEditable;\n","/**\n * lodash (Custom Build) <https://lodash.com/>\n * Build: `lodash modularize exports=\"npm\" -o ./`\n * Copyright jQuery Foundation and other contributors <https://jquery.org/>\n * Released under MIT license <https://lodash.com/license>\n * Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>\n * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n */\n\n/** `Object#toString` result references. */\nvar dateTag = '[object Date]';\n\n/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\n/** Detect free variable `exports`. */\nvar freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;\n\n/** Detect free variable `module`. */\nvar freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;\n\n/** Detect the popular CommonJS extension `module.exports`. */\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n\n/** Detect free variable `process` from Node.js. */\nvar freeProcess = moduleExports && freeGlobal.process;\n\n/** Used to access faster Node.js helpers. */\nvar nodeUtil = (function() {\n try {\n return freeProcess && freeProcess.binding('util');\n } catch (e) {}\n}());\n\n/* Node.js helper references. */\nvar nodeIsDate = nodeUtil && nodeUtil.isDate;\n\n/**\n * The base implementation of `_.unary` without support for storing metadata.\n *\n * @private\n * @param {Function} func The function to cap arguments for.\n * @returns {Function} Returns the new capped function.\n */\nfunction baseUnary(func) {\n return function(value) {\n return func(value);\n };\n}\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objectToString = objectProto.toString;\n\n/**\n * The base implementation of `_.isDate` without Node.js optimizations.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a date object, else `false`.\n */\nfunction baseIsDate(value) {\n return isObjectLike(value) && objectToString.call(value) == dateTag;\n}\n\n/**\n * Checks if `value` is classified as a `Date` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a date object, else `false`.\n * @example\n *\n * _.isDate(new Date);\n * // => true\n *\n * _.isDate('Mon April 23 2012');\n * // => false\n */\nvar isDate = nodeIsDate ? baseUnary(nodeIsDate) : baseIsDate;\n\n/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return !!value && typeof value == 'object';\n}\n\nmodule.exports = isDate;\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactPropTypesSecret = require('./lib/ReactPropTypesSecret');\n\nfunction emptyFunction() {}\nfunction emptyFunctionWithReset() {}\nemptyFunctionWithReset.resetWarningCache = emptyFunction;\n\nmodule.exports = function() {\n function shim(props, propName, componentName, location, propFullName, secret) {\n if (secret === ReactPropTypesSecret) {\n // It is still safe when called from React.\n return;\n }\n var err = new Error(\n 'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +\n 'Use PropTypes.checkPropTypes() to call them. ' +\n 'Read more at http://fb.me/use-check-prop-types'\n );\n err.name = 'Invariant Violation';\n throw err;\n };\n shim.isRequired = shim;\n function getShim() {\n return shim;\n };\n // Important!\n // Keep this list in sync with production version in `./factoryWithTypeCheckers.js`.\n var ReactPropTypes = {\n array: shim,\n bool: shim,\n func: shim,\n number: shim,\n object: shim,\n string: shim,\n symbol: shim,\n\n any: shim,\n arrayOf: getShim,\n element: shim,\n elementType: shim,\n instanceOf: getShim,\n node: shim,\n objectOf: getShim,\n oneOf: getShim,\n oneOfType: getShim,\n shape: getShim,\n exact: getShim,\n\n checkPropTypes: emptyFunctionWithReset,\n resetWarningCache: emptyFunction\n };\n\n ReactPropTypes.PropTypes = ReactPropTypes;\n\n return ReactPropTypes;\n};\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED';\n\nmodule.exports = ReactPropTypesSecret;\n","'use strict';\n\nvar alphabet = require('./alphabet');\nvar build = require('./build');\nvar isValid = require('./is-valid');\n\n// if you are using cluster or multiple servers use this to make each instance\n// has a unique value for worker\n// Note: I don't know if this is automatically set when using third\n// party cluster solutions such as pm2.\nvar clusterWorkerId = require('./util/cluster-worker-id') || 0;\n\n/**\n * Set the seed.\n * Highly recommended if you don't want people to try to figure out your id schema.\n * exposed as shortid.seed(int)\n * @param seed Integer value to seed the random alphabet. ALWAYS USE THE SAME SEED or you might get overlaps.\n */\nfunction seed(seedValue) {\n alphabet.seed(seedValue);\n return module.exports;\n}\n\n/**\n * Set the cluster worker or machine id\n * exposed as shortid.worker(int)\n * @param workerId worker must be positive integer. Number less than 16 is recommended.\n * returns shortid module so it can be chained.\n */\nfunction worker(workerId) {\n clusterWorkerId = workerId;\n return module.exports;\n}\n\n/**\n *\n * sets new characters to use in the alphabet\n * returns the shuffled alphabet\n */\nfunction characters(newCharacters) {\n if (newCharacters !== undefined) {\n alphabet.characters(newCharacters);\n }\n\n return alphabet.shuffled();\n}\n\n/**\n * Generate unique id\n * Returns string id\n */\nfunction generate() {\n return build(clusterWorkerId);\n}\n\n// Export all other functions as properties of the generate function\nmodule.exports = generate;\nmodule.exports.generate = generate;\nmodule.exports.seed = seed;\nmodule.exports.worker = worker;\nmodule.exports.characters = characters;\nmodule.exports.isValid = isValid;\n","'use strict';\n\n// Found this seed-based random generator somewhere\n// Based on The Central Randomizer 1.3 (C) 1997 by Paul Houle (houle@msc.cornell.edu)\n\nvar seed = 1;\n\n/**\n * return a random number based on a seed\n * @param seed\n * @returns {number}\n */\nfunction getNextValue() {\n seed = (seed * 9301 + 49297) % 233280;\n return seed/(233280.0);\n}\n\nfunction setSeed(_seed_) {\n seed = _seed_;\n}\n\nmodule.exports = {\n nextValue: getNextValue,\n seed: setSeed\n};\n","'use strict';\n\nvar generate = require('./generate');\nvar alphabet = require('./alphabet');\n\n// Ignore all milliseconds before a certain time to reduce the size of the date entropy without sacrificing uniqueness.\n// This number should be updated every year or so to keep the generated id short.\n// To regenerate `new Date() - 0` and bump the version. Always bump the version!\nvar REDUCE_TIME = 1567752802062;\n\n// don't change unless we change the algos or REDUCE_TIME\n// must be an integer and less than 16\nvar version = 7;\n\n// Counter is used when shortid is called multiple times in one second.\nvar counter;\n\n// Remember the last time shortid was called in case counter is needed.\nvar previousSeconds;\n\n/**\n * Generate unique id\n * Returns string id\n */\nfunction build(clusterWorkerId) {\n var str = '';\n\n var seconds = Math.floor((Date.now() - REDUCE_TIME) * 0.001);\n\n if (seconds === previousSeconds) {\n counter++;\n } else {\n counter = 0;\n previousSeconds = seconds;\n }\n\n str = str + generate(version);\n str = str + generate(clusterWorkerId);\n if (counter > 0) {\n str = str + generate(counter);\n }\n str = str + generate(seconds);\n return str;\n}\n\nmodule.exports = build;\n","'use strict';\n\nvar alphabet = require('./alphabet');\nvar random = require('./random/random-byte');\nvar format = require('nanoid/format');\n\nfunction generate(number) {\n var loopCounter = 0;\n var done;\n\n var str = '';\n\n while (!done) {\n str = str + format(random, alphabet.get(), 1);\n done = number < (Math.pow(16, loopCounter + 1 ) );\n loopCounter++;\n }\n return str;\n}\n\nmodule.exports = generate;\n","'use strict';\n\nvar crypto = typeof window === 'object' && (window.crypto || window.msCrypto); // IE 11 uses window.msCrypto\n\nvar randomByte;\n\nif (!crypto || !crypto.getRandomValues) {\n randomByte = function(size) {\n var bytes = [];\n for (var i = 0; i < size; i++) {\n bytes.push(Math.floor(Math.random() * 256));\n }\n return bytes;\n };\n} else {\n randomByte = function(size) {\n return crypto.getRandomValues(new Uint8Array(size));\n };\n}\n\nmodule.exports = randomByte;\n","// This file replaces `format.js` in bundlers like webpack or Rollup,\n// according to `browser` config in `package.json`.\n\nmodule.exports = function (random, alphabet, size) {\n // We can’t use bytes bigger than the alphabet. To make bytes values closer\n // to the alphabet, we apply bitmask on them. We look for the closest\n // `2 ** x - 1` number, which will be bigger than alphabet size. If we have\n // 30 symbols in the alphabet, we will take 31 (00011111).\n // We do not use faster Math.clz32, because it is not available in browsers.\n var mask = (2 << Math.log(alphabet.length - 1) / Math.LN2) - 1\n // Bitmask is not a perfect solution (in our example it will pass 31 bytes,\n // which is bigger than the alphabet). As a result, we will need more bytes,\n // than ID size, because we will refuse bytes bigger than the alphabet.\n\n // Every hardware random generator call is costly,\n // because we need to wait for entropy collection. This is why often it will\n // be faster to ask for few extra bytes in advance, to avoid additional calls.\n\n // Here we calculate how many random bytes should we call in advance.\n // It depends on ID length, mask / alphabet size and magic number 1.6\n // (which was selected according benchmarks).\n\n // -~f => Math.ceil(f) if n is float number\n // -~i => i + 1 if n is integer number\n var step = -~(1.6 * mask * size / alphabet.length)\n var id = ''\n\n while (true) {\n var bytes = random(step)\n // Compact alternative for `for (var i = 0; i < step; i++)`\n var i = step\n while (i--) {\n // If random byte is bigger than alphabet even after bitmask,\n // we refuse it by `|| ''`.\n id += alphabet[bytes[i] & mask] || ''\n // More compact than `id.length + 1 === size`\n if (id.length === +size) return id\n }\n }\n}\n","'use strict';\nvar alphabet = require('./alphabet');\n\nfunction isShortId(id) {\n if (!id || typeof id !== 'string' || id.length < 6 ) {\n return false;\n }\n\n var nonAlphabetic = new RegExp('[^' +\n alphabet.get().replace(/[|\\\\{}()[\\]^$+*?.-]/g, '\\\\$&') +\n ']');\n return !nonAlphabetic.test(id);\n}\n\nmodule.exports = isShortId;\n","'use strict';\n\nmodule.exports = 0;\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.bodyOpenClassName = exports.portalClassName = undefined;\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _react = require(\"react\");\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _reactDom = require(\"react-dom\");\n\nvar _reactDom2 = _interopRequireDefault(_reactDom);\n\nvar _propTypes = require(\"prop-types\");\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar _ModalPortal = require(\"./ModalPortal\");\n\nvar _ModalPortal2 = _interopRequireDefault(_ModalPortal);\n\nvar _ariaAppHider = require(\"../helpers/ariaAppHider\");\n\nvar ariaAppHider = _interopRequireWildcard(_ariaAppHider);\n\nvar _safeHTMLElement = require(\"../helpers/safeHTMLElement\");\n\nvar _safeHTMLElement2 = _interopRequireDefault(_safeHTMLElement);\n\nvar _reactLifecyclesCompat = require(\"react-lifecycles-compat\");\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar portalClassName = exports.portalClassName = \"ReactModalPortal\";\nvar bodyOpenClassName = exports.bodyOpenClassName = \"ReactModal__Body--open\";\n\nvar isReact16 = _reactDom2.default.createPortal !== undefined;\n\nvar getCreatePortal = function getCreatePortal() {\n return isReact16 ? _reactDom2.default.createPortal : _reactDom2.default.unstable_renderSubtreeIntoContainer;\n};\n\nfunction getParentElement(parentSelector) {\n return parentSelector();\n}\n\nvar Modal = function (_Component) {\n _inherits(Modal, _Component);\n\n function Modal() {\n var _ref;\n\n var _temp, _this, _ret;\n\n _classCallCheck(this, Modal);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, (_ref = Modal.__proto__ || Object.getPrototypeOf(Modal)).call.apply(_ref, [this].concat(args))), _this), _this.removePortal = function () {\n !isReact16 && _reactDom2.default.unmountComponentAtNode(_this.node);\n var parent = getParentElement(_this.props.parentSelector);\n parent.removeChild(_this.node);\n }, _this.portalRef = function (ref) {\n _this.portal = ref;\n }, _this.renderPortal = function (props) {\n var createPortal = getCreatePortal();\n var portal = createPortal(_this, _react2.default.createElement(_ModalPortal2.default, _extends({ defaultStyles: Modal.defaultStyles }, props)), _this.node);\n _this.portalRef(portal);\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n _createClass(Modal, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n if (!_safeHTMLElement.canUseDOM) return;\n\n if (!isReact16) {\n this.node = document.createElement(\"div\");\n }\n this.node.className = this.props.portalClassName;\n\n var parent = getParentElement(this.props.parentSelector);\n parent.appendChild(this.node);\n\n !isReact16 && this.renderPortal(this.props);\n }\n }, {\n key: \"getSnapshotBeforeUpdate\",\n value: function getSnapshotBeforeUpdate(prevProps) {\n var prevParent = getParentElement(prevProps.parentSelector);\n var nextParent = getParentElement(this.props.parentSelector);\n return { prevParent: prevParent, nextParent: nextParent };\n }\n }, {\n key: \"componentDidUpdate\",\n value: function componentDidUpdate(prevProps, _, snapshot) {\n if (!_safeHTMLElement.canUseDOM) return;\n var _props = this.props,\n isOpen = _props.isOpen,\n portalClassName = _props.portalClassName;\n\n\n if (prevProps.portalClassName !== portalClassName) {\n this.node.className = portalClassName;\n }\n\n var prevParent = snapshot.prevParent,\n nextParent = snapshot.nextParent;\n\n if (nextParent !== prevParent) {\n prevParent.removeChild(this.node);\n nextParent.appendChild(this.node);\n }\n\n // Stop unnecessary renders if modal is remaining closed\n if (!prevProps.isOpen && !isOpen) return;\n\n !isReact16 && this.renderPortal(this.props);\n }\n }, {\n key: \"componentWillUnmount\",\n value: function componentWillUnmount() {\n if (!_safeHTMLElement.canUseDOM || !this.node || !this.portal) return;\n\n var state = this.portal.state;\n var now = Date.now();\n var closesAt = state.isOpen && this.props.closeTimeoutMS && (state.closesAt || now + this.props.closeTimeoutMS);\n\n if (closesAt) {\n if (!state.beforeClose) {\n this.portal.closeWithTimeout();\n }\n\n setTimeout(this.removePortal, closesAt - now);\n } else {\n this.removePortal();\n }\n }\n }, {\n key: \"render\",\n value: function render() {\n if (!_safeHTMLElement.canUseDOM || !isReact16) {\n return null;\n }\n\n if (!this.node && isReact16) {\n this.node = document.createElement(\"div\");\n }\n\n var createPortal = getCreatePortal();\n return createPortal(_react2.default.createElement(_ModalPortal2.default, _extends({\n ref: this.portalRef,\n defaultStyles: Modal.defaultStyles\n }, this.props)), this.node);\n }\n }], [{\n key: \"setAppElement\",\n value: function setAppElement(element) {\n ariaAppHider.setElement(element);\n }\n\n /* eslint-disable react/no-unused-prop-types */\n\n /* eslint-enable react/no-unused-prop-types */\n\n }]);\n\n return Modal;\n}(_react.Component);\n\nModal.propTypes = {\n isOpen: _propTypes2.default.bool.isRequired,\n style: _propTypes2.default.shape({\n content: _propTypes2.default.object,\n overlay: _propTypes2.default.object\n }),\n portalClassName: _propTypes2.default.string,\n bodyOpenClassName: _propTypes2.default.string,\n htmlOpenClassName: _propTypes2.default.string,\n className: _propTypes2.default.oneOfType([_propTypes2.default.string, _propTypes2.default.shape({\n base: _propTypes2.default.string.isRequired,\n afterOpen: _propTypes2.default.string.isRequired,\n beforeClose: _propTypes2.default.string.isRequired\n })]),\n overlayClassName: _propTypes2.default.oneOfType([_propTypes2.default.string, _propTypes2.default.shape({\n base: _propTypes2.default.string.isRequired,\n afterOpen: _propTypes2.default.string.isRequired,\n beforeClose: _propTypes2.default.string.isRequired\n })]),\n appElement: _propTypes2.default.instanceOf(_safeHTMLElement2.default),\n onAfterOpen: _propTypes2.default.func,\n onRequestClose: _propTypes2.default.func,\n closeTimeoutMS: _propTypes2.default.number,\n ariaHideApp: _propTypes2.default.bool,\n shouldFocusAfterRender: _propTypes2.default.bool,\n shouldCloseOnOverlayClick: _propTypes2.default.bool,\n shouldReturnFocusAfterClose: _propTypes2.default.bool,\n parentSelector: _propTypes2.default.func,\n aria: _propTypes2.default.object,\n data: _propTypes2.default.object,\n role: _propTypes2.default.string,\n contentLabel: _propTypes2.default.string,\n shouldCloseOnEsc: _propTypes2.default.bool,\n overlayRef: _propTypes2.default.func,\n contentRef: _propTypes2.default.func\n};\nModal.defaultProps = {\n isOpen: false,\n portalClassName: portalClassName,\n bodyOpenClassName: bodyOpenClassName,\n role: \"dialog\",\n ariaHideApp: true,\n closeTimeoutMS: 0,\n shouldFocusAfterRender: true,\n shouldCloseOnEsc: true,\n shouldCloseOnOverlayClick: true,\n shouldReturnFocusAfterClose: true,\n parentSelector: function parentSelector() {\n return document.body;\n }\n};\nModal.defaultStyles = {\n overlay: {\n position: \"fixed\",\n top: 0,\n left: 0,\n right: 0,\n bottom: 0,\n backgroundColor: \"rgba(255, 255, 255, 0.75)\"\n },\n content: {\n position: \"absolute\",\n top: \"40px\",\n left: \"40px\",\n right: \"40px\",\n bottom: \"40px\",\n border: \"1px solid #ccc\",\n background: \"#fff\",\n overflow: \"auto\",\n WebkitOverflowScrolling: \"touch\",\n borderRadius: \"4px\",\n outline: \"none\",\n padding: \"20px\"\n }\n};\n\n\n(0, _reactLifecyclesCompat.polyfill)(Modal);\n\nexports.default = Modal;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _react = require(\"react\");\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _propTypes = require(\"prop-types\");\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar _focusManager = require(\"../helpers/focusManager\");\n\nvar focusManager = _interopRequireWildcard(_focusManager);\n\nvar _scopeTab = require(\"../helpers/scopeTab\");\n\nvar _scopeTab2 = _interopRequireDefault(_scopeTab);\n\nvar _ariaAppHider = require(\"../helpers/ariaAppHider\");\n\nvar ariaAppHider = _interopRequireWildcard(_ariaAppHider);\n\nvar _classList = require(\"../helpers/classList\");\n\nvar classList = _interopRequireWildcard(_classList);\n\nvar _safeHTMLElement = require(\"../helpers/safeHTMLElement\");\n\nvar _safeHTMLElement2 = _interopRequireDefault(_safeHTMLElement);\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\n// so that our CSS is statically analyzable\nvar CLASS_NAMES = {\n overlay: \"ReactModal__Overlay\",\n content: \"ReactModal__Content\"\n};\n\nvar TAB_KEY = 9;\nvar ESC_KEY = 27;\n\nvar ariaHiddenInstances = 0;\n\nvar ModalPortal = function (_Component) {\n _inherits(ModalPortal, _Component);\n\n function ModalPortal(props) {\n _classCallCheck(this, ModalPortal);\n\n var _this = _possibleConstructorReturn(this, (ModalPortal.__proto__ || Object.getPrototypeOf(ModalPortal)).call(this, props));\n\n _this.setOverlayRef = function (overlay) {\n _this.overlay = overlay;\n _this.props.overlayRef && _this.props.overlayRef(overlay);\n };\n\n _this.setContentRef = function (content) {\n _this.content = content;\n _this.props.contentRef && _this.props.contentRef(content);\n };\n\n _this.afterClose = function () {\n var _this$props = _this.props,\n appElement = _this$props.appElement,\n ariaHideApp = _this$props.ariaHideApp,\n htmlOpenClassName = _this$props.htmlOpenClassName,\n bodyOpenClassName = _this$props.bodyOpenClassName;\n\n // Remove classes.\n\n bodyOpenClassName && classList.remove(document.body, bodyOpenClassName);\n\n htmlOpenClassName && classList.remove(document.getElementsByTagName(\"html\")[0], htmlOpenClassName);\n\n // Reset aria-hidden attribute if all modals have been removed\n if (ariaHideApp && ariaHiddenInstances > 0) {\n ariaHiddenInstances -= 1;\n\n if (ariaHiddenInstances === 0) {\n ariaAppHider.show(appElement);\n }\n }\n\n if (_this.props.shouldFocusAfterRender) {\n if (_this.props.shouldReturnFocusAfterClose) {\n focusManager.returnFocus();\n focusManager.teardownScopedFocus();\n } else {\n focusManager.popWithoutFocus();\n }\n }\n\n if (_this.props.onAfterClose) {\n _this.props.onAfterClose();\n }\n };\n\n _this.open = function () {\n _this.beforeOpen();\n if (_this.state.afterOpen && _this.state.beforeClose) {\n clearTimeout(_this.closeTimer);\n _this.setState({ beforeClose: false });\n } else {\n if (_this.props.shouldFocusAfterRender) {\n focusManager.setupScopedFocus(_this.node);\n focusManager.markForFocusLater();\n }\n\n _this.setState({ isOpen: true }, function () {\n _this.setState({ afterOpen: true });\n\n if (_this.props.isOpen && _this.props.onAfterOpen) {\n _this.props.onAfterOpen();\n }\n });\n }\n };\n\n _this.close = function () {\n if (_this.props.closeTimeoutMS > 0) {\n _this.closeWithTimeout();\n } else {\n _this.closeWithoutTimeout();\n }\n };\n\n _this.focusContent = function () {\n return _this.content && !_this.contentHasFocus() && _this.content.focus();\n };\n\n _this.closeWithTimeout = function () {\n var closesAt = Date.now() + _this.props.closeTimeoutMS;\n _this.setState({ beforeClose: true, closesAt: closesAt }, function () {\n _this.closeTimer = setTimeout(_this.closeWithoutTimeout, _this.state.closesAt - Date.now());\n });\n };\n\n _this.closeWithoutTimeout = function () {\n _this.setState({\n beforeClose: false,\n isOpen: false,\n afterOpen: false,\n closesAt: null\n }, _this.afterClose);\n };\n\n _this.handleKeyDown = function (event) {\n if (event.keyCode === TAB_KEY) {\n (0, _scopeTab2.default)(_this.content, event);\n }\n\n if (_this.props.shouldCloseOnEsc && event.keyCode === ESC_KEY) {\n event.stopPropagation();\n _this.requestClose(event);\n }\n };\n\n _this.handleOverlayOnClick = function (event) {\n if (_this.shouldClose === null) {\n _this.shouldClose = true;\n }\n\n if (_this.shouldClose && _this.props.shouldCloseOnOverlayClick) {\n if (_this.ownerHandlesClose()) {\n _this.requestClose(event);\n } else {\n _this.focusContent();\n }\n }\n _this.shouldClose = null;\n };\n\n _this.handleContentOnMouseUp = function () {\n _this.shouldClose = false;\n };\n\n _this.handleOverlayOnMouseDown = function (event) {\n if (!_this.props.shouldCloseOnOverlayClick && event.target == _this.overlay) {\n event.preventDefault();\n }\n };\n\n _this.handleContentOnClick = function () {\n _this.shouldClose = false;\n };\n\n _this.handleContentOnMouseDown = function () {\n _this.shouldClose = false;\n };\n\n _this.requestClose = function (event) {\n return _this.ownerHandlesClose() && _this.props.onRequestClose(event);\n };\n\n _this.ownerHandlesClose = function () {\n return _this.props.onRequestClose;\n };\n\n _this.shouldBeClosed = function () {\n return !_this.state.isOpen && !_this.state.beforeClose;\n };\n\n _this.contentHasFocus = function () {\n return document.activeElement === _this.content || _this.content.contains(document.activeElement);\n };\n\n _this.buildClassName = function (which, additional) {\n var classNames = (typeof additional === \"undefined\" ? \"undefined\" : _typeof(additional)) === \"object\" ? additional : {\n base: CLASS_NAMES[which],\n afterOpen: CLASS_NAMES[which] + \"--after-open\",\n beforeClose: CLASS_NAMES[which] + \"--before-close\"\n };\n var className = classNames.base;\n if (_this.state.afterOpen) {\n className = className + \" \" + classNames.afterOpen;\n }\n if (_this.state.beforeClose) {\n className = className + \" \" + classNames.beforeClose;\n }\n return typeof additional === \"string\" && additional ? className + \" \" + additional : className;\n };\n\n _this.attributesFromObject = function (prefix, items) {\n return Object.keys(items).reduce(function (acc, name) {\n acc[prefix + \"-\" + name] = items[name];\n return acc;\n }, {});\n };\n\n _this.state = {\n afterOpen: false,\n beforeClose: false\n };\n\n _this.shouldClose = null;\n _this.moveFromContentToOverlay = null;\n return _this;\n }\n\n _createClass(ModalPortal, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n if (this.props.isOpen) {\n this.open();\n }\n }\n }, {\n key: \"componentDidUpdate\",\n value: function componentDidUpdate(prevProps, prevState) {\n if (process.env.NODE_ENV !== \"production\") {\n if (prevProps.bodyOpenClassName !== this.props.bodyOpenClassName) {\n // eslint-disable-next-line no-console\n console.warn('React-Modal: \"bodyOpenClassName\" prop has been modified. ' + \"This may cause unexpected behavior when multiple modals are open.\");\n }\n if (prevProps.htmlOpenClassName !== this.props.htmlOpenClassName) {\n // eslint-disable-next-line no-console\n console.warn('React-Modal: \"htmlOpenClassName\" prop has been modified. ' + \"This may cause unexpected behavior when multiple modals are open.\");\n }\n }\n\n if (this.props.isOpen && !prevProps.isOpen) {\n this.open();\n } else if (!this.props.isOpen && prevProps.isOpen) {\n this.close();\n }\n\n // Focus only needs to be set once when the modal is being opened\n if (this.props.shouldFocusAfterRender && this.state.isOpen && !prevState.isOpen) {\n this.focusContent();\n }\n }\n }, {\n key: \"componentWillUnmount\",\n value: function componentWillUnmount() {\n this.afterClose();\n clearTimeout(this.closeTimer);\n }\n }, {\n key: \"beforeOpen\",\n value: function beforeOpen() {\n var _props = this.props,\n appElement = _props.appElement,\n ariaHideApp = _props.ariaHideApp,\n htmlOpenClassName = _props.htmlOpenClassName,\n bodyOpenClassName = _props.bodyOpenClassName;\n\n // Add classes.\n\n bodyOpenClassName && classList.add(document.body, bodyOpenClassName);\n\n htmlOpenClassName && classList.add(document.getElementsByTagName(\"html\")[0], htmlOpenClassName);\n\n if (ariaHideApp) {\n ariaHiddenInstances += 1;\n ariaAppHider.hide(appElement);\n }\n }\n\n // Don't steal focus from inner elements\n\n }, {\n key: \"render\",\n value: function render() {\n var _props2 = this.props,\n className = _props2.className,\n overlayClassName = _props2.overlayClassName,\n defaultStyles = _props2.defaultStyles;\n\n var contentStyles = className ? {} : defaultStyles.content;\n var overlayStyles = overlayClassName ? {} : defaultStyles.overlay;\n\n return this.shouldBeClosed() ? null : _react2.default.createElement(\n \"div\",\n {\n ref: this.setOverlayRef,\n className: this.buildClassName(\"overlay\", overlayClassName),\n style: _extends({}, overlayStyles, this.props.style.overlay),\n onClick: this.handleOverlayOnClick,\n onMouseDown: this.handleOverlayOnMouseDown\n },\n _react2.default.createElement(\n \"div\",\n _extends({\n ref: this.setContentRef,\n style: _extends({}, contentStyles, this.props.style.content),\n className: this.buildClassName(\"content\", className),\n tabIndex: \"-1\",\n onKeyDown: this.handleKeyDown,\n onMouseDown: this.handleContentOnMouseDown,\n onMouseUp: this.handleContentOnMouseUp,\n onClick: this.handleContentOnClick,\n role: this.props.role,\n \"aria-label\": this.props.contentLabel\n }, this.attributesFromObject(\"aria\", this.props.aria || {}), this.attributesFromObject(\"data\", this.props.data || {}), {\n \"data-testid\": this.props.testId\n }),\n this.props.children\n )\n );\n }\n }]);\n\n return ModalPortal;\n}(_react.Component);\n\nModalPortal.defaultProps = {\n style: {\n overlay: {},\n content: {}\n },\n defaultStyles: {}\n};\nModalPortal.propTypes = {\n isOpen: _propTypes2.default.bool.isRequired,\n defaultStyles: _propTypes2.default.shape({\n content: _propTypes2.default.object,\n overlay: _propTypes2.default.object\n }),\n style: _propTypes2.default.shape({\n content: _propTypes2.default.object,\n overlay: _propTypes2.default.object\n }),\n className: _propTypes2.default.oneOfType([_propTypes2.default.string, _propTypes2.default.object]),\n overlayClassName: _propTypes2.default.oneOfType([_propTypes2.default.string, _propTypes2.default.object]),\n bodyOpenClassName: _propTypes2.default.string,\n htmlOpenClassName: _propTypes2.default.string,\n ariaHideApp: _propTypes2.default.bool,\n appElement: _propTypes2.default.instanceOf(_safeHTMLElement2.default),\n onAfterOpen: _propTypes2.default.func,\n onAfterClose: _propTypes2.default.func,\n onRequestClose: _propTypes2.default.func,\n closeTimeoutMS: _propTypes2.default.number,\n shouldFocusAfterRender: _propTypes2.default.bool,\n shouldCloseOnOverlayClick: _propTypes2.default.bool,\n shouldReturnFocusAfterClose: _propTypes2.default.bool,\n role: _propTypes2.default.string,\n contentLabel: _propTypes2.default.string,\n aria: _propTypes2.default.object,\n data: _propTypes2.default.object,\n children: _propTypes2.default.node,\n shouldCloseOnEsc: _propTypes2.default.bool,\n overlayRef: _propTypes2.default.func,\n contentRef: _propTypes2.default.func,\n testId: _propTypes2.default.string\n};\nexports.default = ModalPortal;\nmodule.exports = exports[\"default\"];","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.handleBlur = handleBlur;\nexports.handleFocus = handleFocus;\nexports.markForFocusLater = markForFocusLater;\nexports.returnFocus = returnFocus;\nexports.popWithoutFocus = popWithoutFocus;\nexports.setupScopedFocus = setupScopedFocus;\nexports.teardownScopedFocus = teardownScopedFocus;\n\nvar _tabbable = require(\"../helpers/tabbable\");\n\nvar _tabbable2 = _interopRequireDefault(_tabbable);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar focusLaterElements = [];\nvar modalElement = null;\nvar needToFocus = false;\n\nfunction handleBlur() {\n needToFocus = true;\n}\n\nfunction handleFocus() {\n if (needToFocus) {\n needToFocus = false;\n if (!modalElement) {\n return;\n }\n // need to see how jQuery shims document.on('focusin') so we don't need the\n // setTimeout, firefox doesn't support focusin, if it did, we could focus\n // the element outside of a setTimeout. Side-effect of this implementation\n // is that the document.body gets focus, and then we focus our element right\n // after, seems fine.\n setTimeout(function () {\n if (modalElement.contains(document.activeElement)) {\n return;\n }\n var el = (0, _tabbable2.default)(modalElement)[0] || modalElement;\n el.focus();\n }, 0);\n }\n}\n\nfunction markForFocusLater() {\n focusLaterElements.push(document.activeElement);\n}\n\n/* eslint-disable no-console */\nfunction returnFocus() {\n var toFocus = null;\n try {\n if (focusLaterElements.length !== 0) {\n toFocus = focusLaterElements.pop();\n toFocus.focus();\n }\n return;\n } catch (e) {\n console.warn([\"You tried to return focus to\", toFocus, \"but it is not in the DOM anymore\"].join(\" \"));\n }\n}\n/* eslint-enable no-console */\n\nfunction popWithoutFocus() {\n focusLaterElements.length > 0 && focusLaterElements.pop();\n}\n\nfunction setupScopedFocus(element) {\n modalElement = element;\n\n if (window.addEventListener) {\n window.addEventListener(\"blur\", handleBlur, false);\n document.addEventListener(\"focus\", handleFocus, true);\n } else {\n window.attachEvent(\"onBlur\", handleBlur);\n document.attachEvent(\"onFocus\", handleFocus);\n }\n}\n\nfunction teardownScopedFocus() {\n modalElement = null;\n\n if (window.addEventListener) {\n window.removeEventListener(\"blur\", handleBlur);\n document.removeEventListener(\"focus\", handleFocus);\n } else {\n window.detachEvent(\"onBlur\", handleBlur);\n document.detachEvent(\"onFocus\", handleFocus);\n }\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = scopeTab;\n\nvar _tabbable = require(\"./tabbable\");\n\nvar _tabbable2 = _interopRequireDefault(_tabbable);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction scopeTab(node, event) {\n var tabbable = (0, _tabbable2.default)(node);\n\n if (!tabbable.length) {\n // Do nothing, since there are no elements that can receive focus.\n event.preventDefault();\n return;\n }\n\n var shiftKey = event.shiftKey;\n var head = tabbable[0];\n var tail = tabbable[tabbable.length - 1];\n\n // proceed with default browser behavior on tab.\n // Focus on last element on shift + tab.\n if (node === document.activeElement) {\n if (!shiftKey) return;\n target = tail;\n }\n\n var target;\n if (tail === document.activeElement && !shiftKey) {\n target = head;\n }\n\n if (head === document.activeElement && shiftKey) {\n target = tail;\n }\n\n if (target) {\n event.preventDefault();\n target.focus();\n return;\n }\n\n // Safari radio issue.\n //\n // Safari does not move the focus to the radio button,\n // so we need to force it to really walk through all elements.\n //\n // This is very error prone, since we are trying to guess\n // if it is a safari browser from the first occurence between\n // chrome or safari.\n //\n // The chrome user agent contains the first ocurrence\n // as the 'chrome/version' and later the 'safari/version'.\n var checkSafari = /(\\bChrome\\b|\\bSafari\\b)\\//.exec(navigator.userAgent);\n var isSafariDesktop = checkSafari != null && checkSafari[1] != \"Chrome\" && /\\biPod\\b|\\biPad\\b/g.exec(navigator.userAgent) == null;\n\n // If we are not in safari desktop, let the browser control\n // the focus\n if (!isSafariDesktop) return;\n\n var x = tabbable.indexOf(document.activeElement);\n\n if (x > -1) {\n x += shiftKey ? -1 : 1;\n }\n\n // If the tabbable element does not exist,\n // focus head/tail based on shiftKey\n if (typeof tabbable[x] === \"undefined\") {\n event.preventDefault();\n target = shiftKey ? tail : head;\n target.focus();\n return;\n }\n\n event.preventDefault();\n\n tabbable[x].focus();\n}\nmodule.exports = exports[\"default\"];","/**\n * Copyright 2014-2015, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n */\n\n'use strict';\n\n/**\n * Similar to invariant but only logs a warning if the condition is not met.\n * This can be used to log issues in development environments in critical\n * paths. Removing the logging code for production environments will keep the\n * same logic and follow the same code paths.\n */\n\nvar warning = function() {};\n\nif (process.env.NODE_ENV !== 'production') {\n warning = function(condition, format, args) {\n var len = arguments.length;\n args = new Array(len > 2 ? len - 2 : 0);\n for (var key = 2; key < len; key++) {\n args[key - 2] = arguments[key];\n }\n if (format === undefined) {\n throw new Error(\n '`warning(condition, format, ...args)` requires a warning ' +\n 'message argument'\n );\n }\n\n if (format.length < 10 || (/^[s\\W]*$/).test(format)) {\n throw new Error(\n 'The warning format should be able to uniquely identify this ' +\n 'warning. Please, use a more descriptive format than: ' + format\n );\n }\n\n if (!condition) {\n var argIndex = 0;\n var message = 'Warning: ' +\n format.replace(/%s/g, function() {\n return args[argIndex++];\n });\n if (typeof console !== 'undefined') {\n console.error(message);\n }\n try {\n // This error was thrown as a convenience so that you can use this stack\n // to find the callsite that caused this warning to fire.\n throw new Error(message);\n } catch(x) {}\n }\n };\n}\n\nmodule.exports = warning;\n","/*!\n Copyright (c) 2015 Jed Watson.\n Based on code that is Copyright 2013-2015, Facebook, Inc.\n All rights reserved.\n*/\n/* global define */\n\n(function () {\n\t'use strict';\n\n\tvar canUseDOM = !!(\n\t\ttypeof window !== 'undefined' &&\n\t\twindow.document &&\n\t\twindow.document.createElement\n\t);\n\n\tvar ExecutionEnvironment = {\n\n\t\tcanUseDOM: canUseDOM,\n\n\t\tcanUseWorkers: typeof Worker !== 'undefined',\n\n\t\tcanUseEventListeners:\n\t\t\tcanUseDOM && !!(window.addEventListener || window.attachEvent),\n\n\t\tcanUseViewport: canUseDOM && !!window.screen\n\n\t};\n\n\tif (typeof define === 'function' && typeof define.amd === 'object' && define.amd) {\n\t\tdefine(function () {\n\t\t\treturn ExecutionEnvironment;\n\t\t});\n\t} else if (typeof module !== 'undefined' && module.exports) {\n\t\tmodule.exports = ExecutionEnvironment;\n\t} else {\n\t\twindow.ExecutionEnvironment = ExecutionEnvironment;\n\t}\n\n}());\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.dumpClassLists = dumpClassLists;\nvar htmlClassList = {};\nvar docBodyClassList = {};\n\nfunction dumpClassLists() {\n if (process.env.NODE_ENV !== \"production\") {\n var classes = document.getElementsByTagName(\"html\")[0].className;\n var buffer = \"Show tracked classes:\\n\\n\";\n\n buffer += \"<html /> (\" + classes + \"):\\n\";\n for (var x in htmlClassList) {\n buffer += \" \" + x + \" \" + htmlClassList[x] + \"\\n\";\n }\n\n classes = document.body.className;\n\n // eslint-disable-next-line max-len\n buffer += \"\\n\\ndoc.body (\" + classes + \"):\\n\";\n for (var _x in docBodyClassList) {\n buffer += \" \" + _x + \" \" + docBodyClassList[_x] + \"\\n\";\n }\n\n buffer += \"\\n\";\n\n // eslint-disable-next-line no-console\n console.log(buffer);\n }\n}\n\n/**\n * Track the number of reference of a class.\n * @param {object} poll The poll to receive the reference.\n * @param {string} className The class name.\n * @return {string}\n */\nvar incrementReference = function incrementReference(poll, className) {\n if (!poll[className]) {\n poll[className] = 0;\n }\n poll[className] += 1;\n return className;\n};\n\n/**\n * Drop the reference of a class.\n * @param {object} poll The poll to receive the reference.\n * @param {string} className The class name.\n * @return {string}\n */\nvar decrementReference = function decrementReference(poll, className) {\n if (poll[className]) {\n poll[className] -= 1;\n }\n return className;\n};\n\n/**\n * Track a class and add to the given class list.\n * @param {Object} classListRef A class list of an element.\n * @param {Object} poll The poll to be used.\n * @param {Array} classes The list of classes to be tracked.\n */\nvar trackClass = function trackClass(classListRef, poll, classes) {\n classes.forEach(function (className) {\n incrementReference(poll, className);\n classListRef.add(className);\n });\n};\n\n/**\n * Untrack a class and remove from the given class list if the reference\n * reaches 0.\n * @param {Object} classListRef A class list of an element.\n * @param {Object} poll The poll to be used.\n * @param {Array} classes The list of classes to be untracked.\n */\nvar untrackClass = function untrackClass(classListRef, poll, classes) {\n classes.forEach(function (className) {\n decrementReference(poll, className);\n poll[className] === 0 && classListRef.remove(className);\n });\n};\n\n/**\n * Public inferface to add classes to the document.body.\n * @param {string} bodyClass The class string to be added.\n * It may contain more then one class\n * with ' ' as separator.\n */\nvar add = exports.add = function add(element, classString) {\n return trackClass(element.classList, element.nodeName.toLowerCase() == \"html\" ? htmlClassList : docBodyClassList, classString.split(\" \"));\n};\n\n/**\n * Public inferface to remove classes from the document.body.\n * @param {string} bodyClass The class string to be added.\n * It may contain more then one class\n * with ' ' as separator.\n */\nvar remove = exports.remove = function remove(element, classString) {\n return untrackClass(element.classList, element.nodeName.toLowerCase() == \"html\" ? htmlClassList : docBodyClassList, classString.split(\" \"));\n};","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nfunction componentWillMount() {\n // Call this.constructor.gDSFP to support sub-classes.\n var state = this.constructor.getDerivedStateFromProps(this.props, this.state);\n if (state !== null && state !== undefined) {\n this.setState(state);\n }\n}\n\nfunction componentWillReceiveProps(nextProps) {\n // Call this.constructor.gDSFP to support sub-classes.\n // Use the setState() updater to ensure state isn't stale in certain edge cases.\n function updater(prevState) {\n var state = this.constructor.getDerivedStateFromProps(nextProps, prevState);\n return state !== null && state !== undefined ? state : null;\n }\n // Binding \"this\" is important for shallow renderer support.\n this.setState(updater.bind(this));\n}\n\nfunction componentWillUpdate(nextProps, nextState) {\n try {\n var prevProps = this.props;\n var prevState = this.state;\n this.props = nextProps;\n this.state = nextState;\n this.__reactInternalSnapshotFlag = true;\n this.__reactInternalSnapshot = this.getSnapshotBeforeUpdate(\n prevProps,\n prevState\n );\n } finally {\n this.props = prevProps;\n this.state = prevState;\n }\n}\n\n// React may warn about cWM/cWRP/cWU methods being deprecated.\n// Add a flag to suppress these warnings for this special case.\ncomponentWillMount.__suppressDeprecationWarning = true;\ncomponentWillReceiveProps.__suppressDeprecationWarning = true;\ncomponentWillUpdate.__suppressDeprecationWarning = true;\n\nfunction polyfill(Component) {\n var prototype = Component.prototype;\n\n if (!prototype || !prototype.isReactComponent) {\n throw new Error('Can only polyfill class components');\n }\n\n if (\n typeof Component.getDerivedStateFromProps !== 'function' &&\n typeof prototype.getSnapshotBeforeUpdate !== 'function'\n ) {\n return Component;\n }\n\n // If new component APIs are defined, \"unsafe\" lifecycles won't be called.\n // Error if any of these lifecycles are present,\n // Because they would work differently between older and newer (16.3+) versions of React.\n var foundWillMountName = null;\n var foundWillReceivePropsName = null;\n var foundWillUpdateName = null;\n if (typeof prototype.componentWillMount === 'function') {\n foundWillMountName = 'componentWillMount';\n } else if (typeof prototype.UNSAFE_componentWillMount === 'function') {\n foundWillMountName = 'UNSAFE_componentWillMount';\n }\n if (typeof prototype.componentWillReceiveProps === 'function') {\n foundWillReceivePropsName = 'componentWillReceiveProps';\n } else if (typeof prototype.UNSAFE_componentWillReceiveProps === 'function') {\n foundWillReceivePropsName = 'UNSAFE_componentWillReceiveProps';\n }\n if (typeof prototype.componentWillUpdate === 'function') {\n foundWillUpdateName = 'componentWillUpdate';\n } else if (typeof prototype.UNSAFE_componentWillUpdate === 'function') {\n foundWillUpdateName = 'UNSAFE_componentWillUpdate';\n }\n if (\n foundWillMountName !== null ||\n foundWillReceivePropsName !== null ||\n foundWillUpdateName !== null\n ) {\n var componentName = Component.displayName || Component.name;\n var newApiName =\n typeof Component.getDerivedStateFromProps === 'function'\n ? 'getDerivedStateFromProps()'\n : 'getSnapshotBeforeUpdate()';\n\n throw Error(\n 'Unsafe legacy lifecycles will not be called for components using new component APIs.\\n\\n' +\n componentName +\n ' uses ' +\n newApiName +\n ' but also contains the following legacy lifecycles:' +\n (foundWillMountName !== null ? '\\n ' + foundWillMountName : '') +\n (foundWillReceivePropsName !== null\n ? '\\n ' + foundWillReceivePropsName\n : '') +\n (foundWillUpdateName !== null ? '\\n ' + foundWillUpdateName : '') +\n '\\n\\nThe above lifecycles should be removed. Learn more about this warning here:\\n' +\n 'https://fb.me/react-async-component-lifecycle-hooks'\n );\n }\n\n // React <= 16.2 does not support static getDerivedStateFromProps.\n // As a workaround, use cWM and cWRP to invoke the new static lifecycle.\n // Newer versions of React will ignore these lifecycles if gDSFP exists.\n if (typeof Component.getDerivedStateFromProps === 'function') {\n prototype.componentWillMount = componentWillMount;\n prototype.componentWillReceiveProps = componentWillReceiveProps;\n }\n\n // React <= 16.2 does not support getSnapshotBeforeUpdate.\n // As a workaround, use cWU to invoke the new lifecycle.\n // Newer versions of React will ignore that lifecycle if gSBU exists.\n if (typeof prototype.getSnapshotBeforeUpdate === 'function') {\n if (typeof prototype.componentDidUpdate !== 'function') {\n throw new Error(\n 'Cannot polyfill getSnapshotBeforeUpdate() for components that do not define componentDidUpdate() on the prototype'\n );\n }\n\n prototype.componentWillUpdate = componentWillUpdate;\n\n var componentDidUpdate = prototype.componentDidUpdate;\n\n prototype.componentDidUpdate = function componentDidUpdatePolyfill(\n prevProps,\n prevState,\n maybeSnapshot\n ) {\n // 16.3+ will not execute our will-update method;\n // It will pass a snapshot value to did-update though.\n // Older versions will require our polyfilled will-update value.\n // We need to handle both cases, but can't just check for the presence of \"maybeSnapshot\",\n // Because for <= 15.x versions this might be a \"prevContext\" object.\n // We also can't just check \"__reactInternalSnapshot\",\n // Because get-snapshot might return a falsy value.\n // So check for the explicit __reactInternalSnapshotFlag flag to determine behavior.\n var snapshot = this.__reactInternalSnapshotFlag\n ? this.__reactInternalSnapshot\n : maybeSnapshot;\n\n componentDidUpdate.call(this, prevProps, prevState, snapshot);\n };\n }\n\n return Component;\n}\n\nexport { polyfill };\n","var regExpPropType = function (props, propName, componentName, location) {\n if (!(props[propName] instanceof RegExp)) {\n var propType = typeof props[propName];\n\n return new Error(\n (\"Invalid \" + location + \" `\" + propName + \"` of type `\" + propType + \"` \") +\n (\"supplied to `\" + componentName + \"`, expected `RegExp`.\")\n );\n }\n};\n\nmodule.exports = regExpPropType;\n","'use strict';\n\nvar matchOperatorsRe = /[|\\\\{}()[\\]^$+*?.]/g;\n\nmodule.exports = function (str) {\n\tif (typeof str !== 'string') {\n\t\tthrow new TypeError('Expected a string');\n\t}\n\n\treturn str.replace(matchOperatorsRe, '\\\\$&');\n};\n","module.exports = function blacklist (src) {\n var copy = {}\n var filter = arguments[1]\n\n if (typeof filter === 'string') {\n filter = {}\n for (var i = 1; i < arguments.length; i++) {\n filter[arguments[i]] = true\n }\n }\n\n for (var key in src) {\n // blacklist?\n if (filter[key]) continue\n\n copy[key] = src[key]\n }\n\n return copy\n}\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\n'use strict';\n\nvar _assign = require('object-assign');\n\n// -- Inlined from fbjs --\n\nvar emptyObject = {};\n\nif (process.env.NODE_ENV !== 'production') {\n Object.freeze(emptyObject);\n}\n\nvar validateFormat = function validateFormat(format) {};\n\nif (process.env.NODE_ENV !== 'production') {\n validateFormat = function validateFormat(format) {\n if (format === undefined) {\n throw new Error('invariant requires an error message argument');\n }\n };\n}\n\nfunction _invariant(condition, format, a, b, c, d, e, f) {\n validateFormat(format);\n\n if (!condition) {\n var error;\n if (format === undefined) {\n error = new Error('Minified exception occurred; use the non-minified dev environment ' + 'for the full error message and additional helpful warnings.');\n } else {\n var args = [a, b, c, d, e, f];\n var argIndex = 0;\n error = new Error(format.replace(/%s/g, function () {\n return args[argIndex++];\n }));\n error.name = 'Invariant Violation';\n }\n\n error.framesToPop = 1; // we don't care about invariant's own frame\n throw error;\n }\n}\n\nvar warning = function(){};\n\nif (process.env.NODE_ENV !== 'production') {\n var printWarning = function printWarning(format) {\n for (var _len = arguments.length, args = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n var argIndex = 0;\n var message = 'Warning: ' + format.replace(/%s/g, function () {\n return args[argIndex++];\n });\n if (typeof console !== 'undefined') {\n console.error(message);\n }\n try {\n // --- Welcome to debugging React ---\n // This error was thrown as a convenience so that you can use this stack\n // to find the callsite that caused this warning to fire.\n throw new Error(message);\n } catch (x) {}\n };\n\n warning = function warning(condition, format) {\n if (format === undefined) {\n throw new Error('`warning(condition, format, ...args)` requires a warning ' + 'message argument');\n }\n\n if (format.indexOf('Failed Composite propType: ') === 0) {\n return; // Ignore CompositeComponent proptype check.\n }\n\n if (!condition) {\n for (var _len2 = arguments.length, args = Array(_len2 > 2 ? _len2 - 2 : 0), _key2 = 2; _key2 < _len2; _key2++) {\n args[_key2 - 2] = arguments[_key2];\n }\n\n printWarning.apply(undefined, [format].concat(args));\n }\n };\n}\n\n// /-- Inlined from fbjs --\n\nvar MIXINS_KEY = 'mixins';\n\n// Helper function to allow the creation of anonymous functions which do not\n// have .name set to the name of the variable being assigned to.\nfunction identity(fn) {\n return fn;\n}\n\nvar ReactPropTypeLocationNames;\nif (process.env.NODE_ENV !== 'production') {\n ReactPropTypeLocationNames = {\n prop: 'prop',\n context: 'context',\n childContext: 'child context'\n };\n} else {\n ReactPropTypeLocationNames = {};\n}\n\nfunction factory(ReactComponent, isValidElement, ReactNoopUpdateQueue) {\n /**\n * Policies that describe methods in `ReactClassInterface`.\n */\n\n var injectedMixins = [];\n\n /**\n * Composite components are higher-level components that compose other composite\n * or host components.\n *\n * To create a new type of `ReactClass`, pass a specification of\n * your new class to `React.createClass`. The only requirement of your class\n * specification is that you implement a `render` method.\n *\n * var MyComponent = React.createClass({\n * render: function() {\n * return <div>Hello World</div>;\n * }\n * });\n *\n * The class specification supports a specific protocol of methods that have\n * special meaning (e.g. `render`). See `ReactClassInterface` for\n * more the comprehensive protocol. Any other properties and methods in the\n * class specification will be available on the prototype.\n *\n * @interface ReactClassInterface\n * @internal\n */\n var ReactClassInterface = {\n /**\n * An array of Mixin objects to include when defining your component.\n *\n * @type {array}\n * @optional\n */\n mixins: 'DEFINE_MANY',\n\n /**\n * An object containing properties and methods that should be defined on\n * the component's constructor instead of its prototype (static methods).\n *\n * @type {object}\n * @optional\n */\n statics: 'DEFINE_MANY',\n\n /**\n * Definition of prop types for this component.\n *\n * @type {object}\n * @optional\n */\n propTypes: 'DEFINE_MANY',\n\n /**\n * Definition of context types for this component.\n *\n * @type {object}\n * @optional\n */\n contextTypes: 'DEFINE_MANY',\n\n /**\n * Definition of context types this component sets for its children.\n *\n * @type {object}\n * @optional\n */\n childContextTypes: 'DEFINE_MANY',\n\n // ==== Definition methods ====\n\n /**\n * Invoked when the component is mounted. Values in the mapping will be set on\n * `this.props` if that prop is not specified (i.e. using an `in` check).\n *\n * This method is invoked before `getInitialState` and therefore cannot rely\n * on `this.state` or use `this.setState`.\n *\n * @return {object}\n * @optional\n */\n getDefaultProps: 'DEFINE_MANY_MERGED',\n\n /**\n * Invoked once before the component is mounted. The return value will be used\n * as the initial value of `this.state`.\n *\n * getInitialState: function() {\n * return {\n * isOn: false,\n * fooBaz: new BazFoo()\n * }\n * }\n *\n * @return {object}\n * @optional\n */\n getInitialState: 'DEFINE_MANY_MERGED',\n\n /**\n * @return {object}\n * @optional\n */\n getChildContext: 'DEFINE_MANY_MERGED',\n\n /**\n * Uses props from `this.props` and state from `this.state` to render the\n * structure of the component.\n *\n * No guarantees are made about when or how often this method is invoked, so\n * it must not have side effects.\n *\n * render: function() {\n * var name = this.props.name;\n * return <div>Hello, {name}!</div>;\n * }\n *\n * @return {ReactComponent}\n * @required\n */\n render: 'DEFINE_ONCE',\n\n // ==== Delegate methods ====\n\n /**\n * Invoked when the component is initially created and about to be mounted.\n * This may have side effects, but any external subscriptions or data created\n * by this method must be cleaned up in `componentWillUnmount`.\n *\n * @optional\n */\n componentWillMount: 'DEFINE_MANY',\n\n /**\n * Invoked when the component has been mounted and has a DOM representation.\n * However, there is no guarantee that the DOM node is in the document.\n *\n * Use this as an opportunity to operate on the DOM when the component has\n * been mounted (initialized and rendered) for the first time.\n *\n * @param {DOMElement} rootNode DOM element representing the component.\n * @optional\n */\n componentDidMount: 'DEFINE_MANY',\n\n /**\n * Invoked before the component receives new props.\n *\n * Use this as an opportunity to react to a prop transition by updating the\n * state using `this.setState`. Current props are accessed via `this.props`.\n *\n * componentWillReceiveProps: function(nextProps, nextContext) {\n * this.setState({\n * likesIncreasing: nextProps.likeCount > this.props.likeCount\n * });\n * }\n *\n * NOTE: There is no equivalent `componentWillReceiveState`. An incoming prop\n * transition may cause a state change, but the opposite is not true. If you\n * need it, you are probably looking for `componentWillUpdate`.\n *\n * @param {object} nextProps\n * @optional\n */\n componentWillReceiveProps: 'DEFINE_MANY',\n\n /**\n * Invoked while deciding if the component should be updated as a result of\n * receiving new props, state and/or context.\n *\n * Use this as an opportunity to `return false` when you're certain that the\n * transition to the new props/state/context will not require a component\n * update.\n *\n * shouldComponentUpdate: function(nextProps, nextState, nextContext) {\n * return !equal(nextProps, this.props) ||\n * !equal(nextState, this.state) ||\n * !equal(nextContext, this.context);\n * }\n *\n * @param {object} nextProps\n * @param {?object} nextState\n * @param {?object} nextContext\n * @return {boolean} True if the component should update.\n * @optional\n */\n shouldComponentUpdate: 'DEFINE_ONCE',\n\n /**\n * Invoked when the component is about to update due to a transition from\n * `this.props`, `this.state` and `this.context` to `nextProps`, `nextState`\n * and `nextContext`.\n *\n * Use this as an opportunity to perform preparation before an update occurs.\n *\n * NOTE: You **cannot** use `this.setState()` in this method.\n *\n * @param {object} nextProps\n * @param {?object} nextState\n * @param {?object} nextContext\n * @param {ReactReconcileTransaction} transaction\n * @optional\n */\n componentWillUpdate: 'DEFINE_MANY',\n\n /**\n * Invoked when the component's DOM representation has been updated.\n *\n * Use this as an opportunity to operate on the DOM when the component has\n * been updated.\n *\n * @param {object} prevProps\n * @param {?object} prevState\n * @param {?object} prevContext\n * @param {DOMElement} rootNode DOM element representing the component.\n * @optional\n */\n componentDidUpdate: 'DEFINE_MANY',\n\n /**\n * Invoked when the component is about to be removed from its parent and have\n * its DOM representation destroyed.\n *\n * Use this as an opportunity to deallocate any external resources.\n *\n * NOTE: There is no `componentDidUnmount` since your component will have been\n * destroyed by that point.\n *\n * @optional\n */\n componentWillUnmount: 'DEFINE_MANY',\n\n /**\n * Replacement for (deprecated) `componentWillMount`.\n *\n * @optional\n */\n UNSAFE_componentWillMount: 'DEFINE_MANY',\n\n /**\n * Replacement for (deprecated) `componentWillReceiveProps`.\n *\n * @optional\n */\n UNSAFE_componentWillReceiveProps: 'DEFINE_MANY',\n\n /**\n * Replacement for (deprecated) `componentWillUpdate`.\n *\n * @optional\n */\n UNSAFE_componentWillUpdate: 'DEFINE_MANY',\n\n // ==== Advanced methods ====\n\n /**\n * Updates the component's currently mounted DOM representation.\n *\n * By default, this implements React's rendering and reconciliation algorithm.\n * Sophisticated clients may wish to override this.\n *\n * @param {ReactReconcileTransaction} transaction\n * @internal\n * @overridable\n */\n updateComponent: 'OVERRIDE_BASE'\n };\n\n /**\n * Similar to ReactClassInterface but for static methods.\n */\n var ReactClassStaticInterface = {\n /**\n * This method is invoked after a component is instantiated and when it\n * receives new props. Return an object to update state in response to\n * prop changes. Return null to indicate no change to state.\n *\n * If an object is returned, its keys will be merged into the existing state.\n *\n * @return {object || null}\n * @optional\n */\n getDerivedStateFromProps: 'DEFINE_MANY_MERGED'\n };\n\n /**\n * Mapping from class specification keys to special processing functions.\n *\n * Although these are declared like instance properties in the specification\n * when defining classes using `React.createClass`, they are actually static\n * and are accessible on the constructor instead of the prototype. Despite\n * being static, they must be defined outside of the \"statics\" key under\n * which all other static methods are defined.\n */\n var RESERVED_SPEC_KEYS = {\n displayName: function(Constructor, displayName) {\n Constructor.displayName = displayName;\n },\n mixins: function(Constructor, mixins) {\n if (mixins) {\n for (var i = 0; i < mixins.length; i++) {\n mixSpecIntoComponent(Constructor, mixins[i]);\n }\n }\n },\n childContextTypes: function(Constructor, childContextTypes) {\n if (process.env.NODE_ENV !== 'production') {\n validateTypeDef(Constructor, childContextTypes, 'childContext');\n }\n Constructor.childContextTypes = _assign(\n {},\n Constructor.childContextTypes,\n childContextTypes\n );\n },\n contextTypes: function(Constructor, contextTypes) {\n if (process.env.NODE_ENV !== 'production') {\n validateTypeDef(Constructor, contextTypes, 'context');\n }\n Constructor.contextTypes = _assign(\n {},\n Constructor.contextTypes,\n contextTypes\n );\n },\n /**\n * Special case getDefaultProps which should move into statics but requires\n * automatic merging.\n */\n getDefaultProps: function(Constructor, getDefaultProps) {\n if (Constructor.getDefaultProps) {\n Constructor.getDefaultProps = createMergedResultFunction(\n Constructor.getDefaultProps,\n getDefaultProps\n );\n } else {\n Constructor.getDefaultProps = getDefaultProps;\n }\n },\n propTypes: function(Constructor, propTypes) {\n if (process.env.NODE_ENV !== 'production') {\n validateTypeDef(Constructor, propTypes, 'prop');\n }\n Constructor.propTypes = _assign({}, Constructor.propTypes, propTypes);\n },\n statics: function(Constructor, statics) {\n mixStaticSpecIntoComponent(Constructor, statics);\n },\n autobind: function() {}\n };\n\n function validateTypeDef(Constructor, typeDef, location) {\n for (var propName in typeDef) {\n if (typeDef.hasOwnProperty(propName)) {\n // use a warning instead of an _invariant so components\n // don't show up in prod but only in __DEV__\n if (process.env.NODE_ENV !== 'production') {\n warning(\n typeof typeDef[propName] === 'function',\n '%s: %s type `%s` is invalid; it must be a function, usually from ' +\n 'React.PropTypes.',\n Constructor.displayName || 'ReactClass',\n ReactPropTypeLocationNames[location],\n propName\n );\n }\n }\n }\n }\n\n function validateMethodOverride(isAlreadyDefined, name) {\n var specPolicy = ReactClassInterface.hasOwnProperty(name)\n ? ReactClassInterface[name]\n : null;\n\n // Disallow overriding of base class methods unless explicitly allowed.\n if (ReactClassMixin.hasOwnProperty(name)) {\n _invariant(\n specPolicy === 'OVERRIDE_BASE',\n 'ReactClassInterface: You are attempting to override ' +\n '`%s` from your class specification. Ensure that your method names ' +\n 'do not overlap with React methods.',\n name\n );\n }\n\n // Disallow defining methods more than once unless explicitly allowed.\n if (isAlreadyDefined) {\n _invariant(\n specPolicy === 'DEFINE_MANY' || specPolicy === 'DEFINE_MANY_MERGED',\n 'ReactClassInterface: You are attempting to define ' +\n '`%s` on your component more than once. This conflict may be due ' +\n 'to a mixin.',\n name\n );\n }\n }\n\n /**\n * Mixin helper which handles policy validation and reserved\n * specification keys when building React classes.\n */\n function mixSpecIntoComponent(Constructor, spec) {\n if (!spec) {\n if (process.env.NODE_ENV !== 'production') {\n var typeofSpec = typeof spec;\n var isMixinValid = typeofSpec === 'object' && spec !== null;\n\n if (process.env.NODE_ENV !== 'production') {\n warning(\n isMixinValid,\n \"%s: You're attempting to include a mixin that is either null \" +\n 'or not an object. Check the mixins included by the component, ' +\n 'as well as any mixins they include themselves. ' +\n 'Expected object but got %s.',\n Constructor.displayName || 'ReactClass',\n spec === null ? null : typeofSpec\n );\n }\n }\n\n return;\n }\n\n _invariant(\n typeof spec !== 'function',\n \"ReactClass: You're attempting to \" +\n 'use a component class or function as a mixin. Instead, just use a ' +\n 'regular object.'\n );\n _invariant(\n !isValidElement(spec),\n \"ReactClass: You're attempting to \" +\n 'use a component as a mixin. Instead, just use a regular object.'\n );\n\n var proto = Constructor.prototype;\n var autoBindPairs = proto.__reactAutoBindPairs;\n\n // By handling mixins before any other properties, we ensure the same\n // chaining order is applied to methods with DEFINE_MANY policy, whether\n // mixins are listed before or after these methods in the spec.\n if (spec.hasOwnProperty(MIXINS_KEY)) {\n RESERVED_SPEC_KEYS.mixins(Constructor, spec.mixins);\n }\n\n for (var name in spec) {\n if (!spec.hasOwnProperty(name)) {\n continue;\n }\n\n if (name === MIXINS_KEY) {\n // We have already handled mixins in a special case above.\n continue;\n }\n\n var property = spec[name];\n var isAlreadyDefined = proto.hasOwnProperty(name);\n validateMethodOverride(isAlreadyDefined, name);\n\n if (RESERVED_SPEC_KEYS.hasOwnProperty(name)) {\n RESERVED_SPEC_KEYS[name](Constructor, property);\n } else {\n // Setup methods on prototype:\n // The following member methods should not be automatically bound:\n // 1. Expected ReactClass methods (in the \"interface\").\n // 2. Overridden methods (that were mixed in).\n var isReactClassMethod = ReactClassInterface.hasOwnProperty(name);\n var isFunction = typeof property === 'function';\n var shouldAutoBind =\n isFunction &&\n !isReactClassMethod &&\n !isAlreadyDefined &&\n spec.autobind !== false;\n\n if (shouldAutoBind) {\n autoBindPairs.push(name, property);\n proto[name] = property;\n } else {\n if (isAlreadyDefined) {\n var specPolicy = ReactClassInterface[name];\n\n // These cases should already be caught by validateMethodOverride.\n _invariant(\n isReactClassMethod &&\n (specPolicy === 'DEFINE_MANY_MERGED' ||\n specPolicy === 'DEFINE_MANY'),\n 'ReactClass: Unexpected spec policy %s for key %s ' +\n 'when mixing in component specs.',\n specPolicy,\n name\n );\n\n // For methods which are defined more than once, call the existing\n // methods before calling the new property, merging if appropriate.\n if (specPolicy === 'DEFINE_MANY_MERGED') {\n proto[name] = createMergedResultFunction(proto[name], property);\n } else if (specPolicy === 'DEFINE_MANY') {\n proto[name] = createChainedFunction(proto[name], property);\n }\n } else {\n proto[name] = property;\n if (process.env.NODE_ENV !== 'production') {\n // Add verbose displayName to the function, which helps when looking\n // at profiling tools.\n if (typeof property === 'function' && spec.displayName) {\n proto[name].displayName = spec.displayName + '_' + name;\n }\n }\n }\n }\n }\n }\n }\n\n function mixStaticSpecIntoComponent(Constructor, statics) {\n if (!statics) {\n return;\n }\n\n for (var name in statics) {\n var property = statics[name];\n if (!statics.hasOwnProperty(name)) {\n continue;\n }\n\n var isReserved = name in RESERVED_SPEC_KEYS;\n _invariant(\n !isReserved,\n 'ReactClass: You are attempting to define a reserved ' +\n 'property, `%s`, that shouldn\\'t be on the \"statics\" key. Define it ' +\n 'as an instance property instead; it will still be accessible on the ' +\n 'constructor.',\n name\n );\n\n var isAlreadyDefined = name in Constructor;\n if (isAlreadyDefined) {\n var specPolicy = ReactClassStaticInterface.hasOwnProperty(name)\n ? ReactClassStaticInterface[name]\n : null;\n\n _invariant(\n specPolicy === 'DEFINE_MANY_MERGED',\n 'ReactClass: You are attempting to define ' +\n '`%s` on your component more than once. This conflict may be ' +\n 'due to a mixin.',\n name\n );\n\n Constructor[name] = createMergedResultFunction(Constructor[name], property);\n\n return;\n }\n\n Constructor[name] = property;\n }\n }\n\n /**\n * Merge two objects, but throw if both contain the same key.\n *\n * @param {object} one The first object, which is mutated.\n * @param {object} two The second object\n * @return {object} one after it has been mutated to contain everything in two.\n */\n function mergeIntoWithNoDuplicateKeys(one, two) {\n _invariant(\n one && two && typeof one === 'object' && typeof two === 'object',\n 'mergeIntoWithNoDuplicateKeys(): Cannot merge non-objects.'\n );\n\n for (var key in two) {\n if (two.hasOwnProperty(key)) {\n _invariant(\n one[key] === undefined,\n 'mergeIntoWithNoDuplicateKeys(): ' +\n 'Tried to merge two objects with the same key: `%s`. This conflict ' +\n 'may be due to a mixin; in particular, this may be caused by two ' +\n 'getInitialState() or getDefaultProps() methods returning objects ' +\n 'with clashing keys.',\n key\n );\n one[key] = two[key];\n }\n }\n return one;\n }\n\n /**\n * Creates a function that invokes two functions and merges their return values.\n *\n * @param {function} one Function to invoke first.\n * @param {function} two Function to invoke second.\n * @return {function} Function that invokes the two argument functions.\n * @private\n */\n function createMergedResultFunction(one, two) {\n return function mergedResult() {\n var a = one.apply(this, arguments);\n var b = two.apply(this, arguments);\n if (a == null) {\n return b;\n } else if (b == null) {\n return a;\n }\n var c = {};\n mergeIntoWithNoDuplicateKeys(c, a);\n mergeIntoWithNoDuplicateKeys(c, b);\n return c;\n };\n }\n\n /**\n * Creates a function that invokes two functions and ignores their return vales.\n *\n * @param {function} one Function to invoke first.\n * @param {function} two Function to invoke second.\n * @return {function} Function that invokes the two argument functions.\n * @private\n */\n function createChainedFunction(one, two) {\n return function chainedFunction() {\n one.apply(this, arguments);\n two.apply(this, arguments);\n };\n }\n\n /**\n * Binds a method to the component.\n *\n * @param {object} component Component whose method is going to be bound.\n * @param {function} method Method to be bound.\n * @return {function} The bound method.\n */\n function bindAutoBindMethod(component, method) {\n var boundMethod = method.bind(component);\n if (process.env.NODE_ENV !== 'production') {\n boundMethod.__reactBoundContext = component;\n boundMethod.__reactBoundMethod = method;\n boundMethod.__reactBoundArguments = null;\n var componentName = component.constructor.displayName;\n var _bind = boundMethod.bind;\n boundMethod.bind = function(newThis) {\n for (\n var _len = arguments.length,\n args = Array(_len > 1 ? _len - 1 : 0),\n _key = 1;\n _key < _len;\n _key++\n ) {\n args[_key - 1] = arguments[_key];\n }\n\n // User is trying to bind() an autobound method; we effectively will\n // ignore the value of \"this\" that the user is trying to use, so\n // let's warn.\n if (newThis !== component && newThis !== null) {\n if (process.env.NODE_ENV !== 'production') {\n warning(\n false,\n 'bind(): React component methods may only be bound to the ' +\n 'component instance. See %s',\n componentName\n );\n }\n } else if (!args.length) {\n if (process.env.NODE_ENV !== 'production') {\n warning(\n false,\n 'bind(): You are binding a component method to the component. ' +\n 'React does this for you automatically in a high-performance ' +\n 'way, so you can safely remove this call. See %s',\n componentName\n );\n }\n return boundMethod;\n }\n var reboundMethod = _bind.apply(boundMethod, arguments);\n reboundMethod.__reactBoundContext = component;\n reboundMethod.__reactBoundMethod = method;\n reboundMethod.__reactBoundArguments = args;\n return reboundMethod;\n };\n }\n return boundMethod;\n }\n\n /**\n * Binds all auto-bound methods in a component.\n *\n * @param {object} component Component whose method is going to be bound.\n */\n function bindAutoBindMethods(component) {\n var pairs = component.__reactAutoBindPairs;\n for (var i = 0; i < pairs.length; i += 2) {\n var autoBindKey = pairs[i];\n var method = pairs[i + 1];\n component[autoBindKey] = bindAutoBindMethod(component, method);\n }\n }\n\n var IsMountedPreMixin = {\n componentDidMount: function() {\n this.__isMounted = true;\n }\n };\n\n var IsMountedPostMixin = {\n componentWillUnmount: function() {\n this.__isMounted = false;\n }\n };\n\n /**\n * Add more to the ReactClass base class. These are all legacy features and\n * therefore not already part of the modern ReactComponent.\n */\n var ReactClassMixin = {\n /**\n * TODO: This will be deprecated because state should always keep a consistent\n * type signature and the only use case for this, is to avoid that.\n */\n replaceState: function(newState, callback) {\n this.updater.enqueueReplaceState(this, newState, callback);\n },\n\n /**\n * Checks whether or not this composite component is mounted.\n * @return {boolean} True if mounted, false otherwise.\n * @protected\n * @final\n */\n isMounted: function() {\n if (process.env.NODE_ENV !== 'production') {\n warning(\n this.__didWarnIsMounted,\n '%s: isMounted is deprecated. Instead, make sure to clean up ' +\n 'subscriptions and pending requests in componentWillUnmount to ' +\n 'prevent memory leaks.',\n (this.constructor && this.constructor.displayName) ||\n this.name ||\n 'Component'\n );\n this.__didWarnIsMounted = true;\n }\n return !!this.__isMounted;\n }\n };\n\n var ReactClassComponent = function() {};\n _assign(\n ReactClassComponent.prototype,\n ReactComponent.prototype,\n ReactClassMixin\n );\n\n /**\n * Creates a composite component class given a class specification.\n * See https://facebook.github.io/react/docs/top-level-api.html#react.createclass\n *\n * @param {object} spec Class specification (which must define `render`).\n * @return {function} Component constructor function.\n * @public\n */\n function createClass(spec) {\n // To keep our warnings more understandable, we'll use a little hack here to\n // ensure that Constructor.name !== 'Constructor'. This makes sure we don't\n // unnecessarily identify a class without displayName as 'Constructor'.\n var Constructor = identity(function(props, context, updater) {\n // This constructor gets overridden by mocks. The argument is used\n // by mocks to assert on what gets mounted.\n\n if (process.env.NODE_ENV !== 'production') {\n warning(\n this instanceof Constructor,\n 'Something is calling a React component directly. Use a factory or ' +\n 'JSX instead. See: https://fb.me/react-legacyfactory'\n );\n }\n\n // Wire up auto-binding\n if (this.__reactAutoBindPairs.length) {\n bindAutoBindMethods(this);\n }\n\n this.props = props;\n this.context = context;\n this.refs = emptyObject;\n this.updater = updater || ReactNoopUpdateQueue;\n\n this.state = null;\n\n // ReactClasses doesn't have constructors. Instead, they use the\n // getInitialState and componentWillMount methods for initialization.\n\n var initialState = this.getInitialState ? this.getInitialState() : null;\n if (process.env.NODE_ENV !== 'production') {\n // We allow auto-mocks to proceed as if they're returning null.\n if (\n initialState === undefined &&\n this.getInitialState._isMockFunction\n ) {\n // This is probably bad practice. Consider warning here and\n // deprecating this convenience.\n initialState = null;\n }\n }\n _invariant(\n typeof initialState === 'object' && !Array.isArray(initialState),\n '%s.getInitialState(): must return an object or null',\n Constructor.displayName || 'ReactCompositeComponent'\n );\n\n this.state = initialState;\n });\n Constructor.prototype = new ReactClassComponent();\n Constructor.prototype.constructor = Constructor;\n Constructor.prototype.__reactAutoBindPairs = [];\n\n injectedMixins.forEach(mixSpecIntoComponent.bind(null, Constructor));\n\n mixSpecIntoComponent(Constructor, IsMountedPreMixin);\n mixSpecIntoComponent(Constructor, spec);\n mixSpecIntoComponent(Constructor, IsMountedPostMixin);\n\n // Initialize the defaultProps property after all mixins have been merged.\n if (Constructor.getDefaultProps) {\n Constructor.defaultProps = Constructor.getDefaultProps();\n }\n\n if (process.env.NODE_ENV !== 'production') {\n // This is a tag to indicate that the use of these method names is ok,\n // since it's used with createClass. If it's not, then it's likely a\n // mistake so we'll warn you to use the static property, property\n // initializer or constructor respectively.\n if (Constructor.getDefaultProps) {\n Constructor.getDefaultProps.isReactClassApproved = {};\n }\n if (Constructor.prototype.getInitialState) {\n Constructor.prototype.getInitialState.isReactClassApproved = {};\n }\n }\n\n _invariant(\n Constructor.prototype.render,\n 'createClass(...): Class specification must implement a `render` method.'\n );\n\n if (process.env.NODE_ENV !== 'production') {\n warning(\n !Constructor.prototype.componentShouldUpdate,\n '%s has a method called ' +\n 'componentShouldUpdate(). Did you mean shouldComponentUpdate()? ' +\n 'The name is phrased as a question because the function is ' +\n 'expected to return a value.',\n spec.displayName || 'A component'\n );\n warning(\n !Constructor.prototype.componentWillRecieveProps,\n '%s has a method called ' +\n 'componentWillRecieveProps(). Did you mean componentWillReceiveProps()?',\n spec.displayName || 'A component'\n );\n warning(\n !Constructor.prototype.UNSAFE_componentWillRecieveProps,\n '%s has a method called UNSAFE_componentWillRecieveProps(). ' +\n 'Did you mean UNSAFE_componentWillReceiveProps()?',\n spec.displayName || 'A component'\n );\n }\n\n // Reduce time spent doing lookups by setting these on the prototype.\n for (var methodName in ReactClassInterface) {\n if (!Constructor.prototype[methodName]) {\n Constructor.prototype[methodName] = null;\n }\n }\n\n return Constructor;\n }\n\n return createClass;\n}\n\nmodule.exports = factory;\n","/*\nobject-assign\n(c) Sindre Sorhus\n@license MIT\n*/\n\n'use strict';\n/* eslint-disable no-unused-vars */\nvar getOwnPropertySymbols = Object.getOwnPropertySymbols;\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\nvar propIsEnumerable = Object.prototype.propertyIsEnumerable;\n\nfunction toObject(val) {\n\tif (val === null || val === undefined) {\n\t\tthrow new TypeError('Object.assign cannot be called with null or undefined');\n\t}\n\n\treturn Object(val);\n}\n\nfunction shouldUseNative() {\n\ttry {\n\t\tif (!Object.assign) {\n\t\t\treturn false;\n\t\t}\n\n\t\t// Detect buggy property enumeration order in older V8 versions.\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=4118\n\t\tvar test1 = new String('abc'); // eslint-disable-line no-new-wrappers\n\t\ttest1[5] = 'de';\n\t\tif (Object.getOwnPropertyNames(test1)[0] === '5') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test2 = {};\n\t\tfor (var i = 0; i < 10; i++) {\n\t\t\ttest2['_' + String.fromCharCode(i)] = i;\n\t\t}\n\t\tvar order2 = Object.getOwnPropertyNames(test2).map(function (n) {\n\t\t\treturn test2[n];\n\t\t});\n\t\tif (order2.join('') !== '0123456789') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test3 = {};\n\t\t'abcdefghijklmnopqrst'.split('').forEach(function (letter) {\n\t\t\ttest3[letter] = letter;\n\t\t});\n\t\tif (Object.keys(Object.assign({}, test3)).join('') !==\n\t\t\t\t'abcdefghijklmnopqrst') {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn true;\n\t} catch (err) {\n\t\t// We don't expect any of the above to throw, but better to be safe.\n\t\treturn false;\n\t}\n}\n\nmodule.exports = shouldUseNative() ? Object.assign : function (target, source) {\n\tvar from;\n\tvar to = toObject(target);\n\tvar symbols;\n\n\tfor (var s = 1; s < arguments.length; s++) {\n\t\tfrom = Object(arguments[s]);\n\n\t\tfor (var key in from) {\n\t\t\tif (hasOwnProperty.call(from, key)) {\n\t\t\t\tto[key] = from[key];\n\t\t\t}\n\t\t}\n\n\t\tif (getOwnPropertySymbols) {\n\t\t\tsymbols = getOwnPropertySymbols(from);\n\t\t\tfor (var i = 0; i < symbols.length; i++) {\n\t\t\t\tif (propIsEnumerable.call(from, symbols[i])) {\n\t\t\t\t\tto[symbols[i]] = from[symbols[i]];\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\treturn to;\n};\n","'use strict';\n\nvar isArray = Array.isArray;\nvar keyList = Object.keys;\nvar hasProp = Object.prototype.hasOwnProperty;\n\nmodule.exports = function equal(a, b) {\n if (a === b) return true;\n\n if (a && b && typeof a == 'object' && typeof b == 'object') {\n var arrA = isArray(a)\n , arrB = isArray(b)\n , i\n , length\n , key;\n\n if (arrA && arrB) {\n length = a.length;\n if (length != b.length) return false;\n for (i = length; i-- !== 0;)\n if (!equal(a[i], b[i])) return false;\n return true;\n }\n\n if (arrA != arrB) return false;\n\n var dateA = a instanceof Date\n , dateB = b instanceof Date;\n if (dateA != dateB) return false;\n if (dateA && dateB) return a.getTime() == b.getTime();\n\n var regexpA = a instanceof RegExp\n , regexpB = b instanceof RegExp;\n if (regexpA != regexpB) return false;\n if (regexpA && regexpB) return a.toString() == b.toString();\n\n var keys = keyList(a);\n length = keys.length;\n\n if (length !== keyList(b).length)\n return false;\n\n for (i = length; i-- !== 0;)\n if (!hasProp.call(b, keys[i])) return false;\n\n for (i = length; i-- !== 0;) {\n key = keys[i];\n if (!equal(a[key], b[key])) return false;\n }\n\n return true;\n }\n\n return a!==a && b!==b;\n};\n","// ## Components\nexport const ACCORDION = 'SLDSAccordion';\nexport const ACCORDION_PANEL = 'SLDSAccordionPanel';\nexport const ALERT = 'SLDSAlert';\nexport const ALERT_CONTAINER = 'SLDSAlertContainer';\nexport const APP_LAUNCHER = 'SLDSAppLauncher';\nexport const APP_LAUNCHER_EXPANDABLE_SECTION =\n\t'SLDSAppLauncherExpandableSection';\n/* Remove at next breaking change */\nexport const APP_LAUNCHER_SECTION = 'SLDSAppLauncherSection';\nexport const APP_LAUNCHER_LINK = 'SLDSAppLauncherLink';\nexport const APP_LAUNCHER_TILE = 'SLDSAppLauncherTile';\nexport const APP_LAUNCHER_HEADER = 'SLDSAppLauncherHeader';\nexport const AVATAR = 'SLDSAvatar';\nexport const BADGE = 'SLDSBadge';\n\nexport const BRAND_BAND = 'SLDSBrandBand';\n\n/* Remove at next breaking change */\nexport const BREAD_CRUMB = 'SLDSBreadcrumb';\n\nexport const BREADCRUMB = 'SLDSBreadcrumb';\nexport const BUILDER_HEADER = 'SLDSBuilderHeader';\nexport const BUILDER_HEADER_MISC = 'SLDSBuilderHeaderMisc';\nexport const BUILDER_HEADER_NAV = 'SLDSBuilderHeaderNav';\nexport const BUILDER_HEADER_NAV_DROPDOWN = 'SLDSBuilderHeaderNavDropdown';\nexport const BUILDER_HEADER_NAV_LINK = 'SLDSBuilderHeaderNavLink';\nexport const BUILDER_HEADER_TOOLBAR = 'SLDSBuilderHeaderToolbar';\nexport const BUTTON = 'SLDSButton';\nexport const BUTTON_GROUP = 'SLDSButtonGroup';\nexport const BUTTON_STATEFUL = 'SLDSButtonStateful';\nexport const BUTTON_ICON = 'SLDSButtonIcon'; // a non-interctive icon wrapper for SLDSUtilityIcon\nexport const CARD = 'SLDSCard';\nexport const CARD_BODY = 'SLDSCardBody';\nexport const CARD_EMPTY = 'SLDSCardEmpty';\nexport const CARD_FILTER = 'SLDSCardFilter';\nexport const CARD_FOOTER = 'SLDSCardFooter';\nexport const CARD_HEADER = 'SLDSCardHeader';\nexport const CAROUSEL = 'SLDSCarousel';\nexport const CAROUSEL_INDICATORS = 'SLDSCarouselIndicators';\nexport const CAROUSEL_ITEM = 'SLDSCarouselItem';\nexport const CAROUSEL_NAVIGATORS = 'SLDSCarouselNavigators';\nexport const CAROUSEL_AUTOPLAY_BUTTON = 'SLDSCarouselAutoplayButton';\nexport const COLOR_PICKER = 'SLDSColorPicker';\nexport const COMBOBOX = 'SLDSCombobox';\nexport const DATA_TABLE = 'SLDSDataTable';\nexport const DATA_TABLE_CELL = 'SLDSDataTableCell';\nexport const DATA_TABLE_COLUMN = 'SLDSDataTableColumn';\nexport const DATA_TABLE_HEAD = 'SLDSDataTableHead';\nexport const DATA_TABLE_HEADER_CELL = 'SLDSDataTableHeaderCell';\nexport const DATA_TABLE_ROW_ACTIONS = 'SLDSDataTableRowActions';\nexport const DATA_TABLE_ROW = 'SLDSDataTableRow';\nexport const DATE_PICKER = 'SLDSDatePicker';\nexport const DEPRECATED_WARNING = 'SLDSDeprecatedWarning';\nexport const DYNAMIC_ICON = 'SLDSDynamicIcon';\nexport const DIALOG = 'SLDSDialog';\nexport const FILES = 'SLDSFiles';\nexport const FILES_FILE = `SLDSFilesFile`;\nexport const FILES_MORE = `SLDSFilesMore`;\nexport const FILES_FIGURE = 'SLDSFilesFigure';\nexport const FILES_ACTIONS = 'SLDSFilesActions';\nexport const EXPANDABLE_SECTION = 'SLDSExpandableSection';\nexport const EXPRESSION = 'SLDSExpression';\nexport const EXPRESSION_GROUP = 'SLDSExpressionGroup';\nexport const EXPRESSION_CONDITION = 'SLDSExpressionCondition';\nexport const EXPRESSION_FORMULA = 'SLDSExpressionFormula';\nexport const FILTER = 'SLDSFilter';\nexport const CHECKBOX = 'SLDSCheckbox';\nexport const FORMS_INLINE_EDIT = 'SLDSInlineEdit';\nexport const INPUT = 'SLDSInput';\nexport const TEXTAREA = 'SLDSTextarea';\nexport const SEARCH = 'SLDSSearch';\nexport const GLOBAL_HEADER = 'SLDSGlobalHeader';\nexport const GLOBAL_HEADER_BUTTON = 'SLDSGlobalHeaderButton';\nexport const GLOBAL_HEADER_DROPDOWN = 'SLDSGlobalHeaderDropdown';\nexport const GLOBAL_HEADER_FAVORITES = 'SLDSGlobalHeaderFavorites';\nexport const GLOBAL_HEADER_HELP = 'SLDSGlobalHeaderHelp';\nexport const GLOBAL_HEADER_NOTIFICATIONS = 'SLDSGlobalHeaderNotifications';\nexport const GLOBAL_HEADER_PROFILE = 'SLDSGlobalHeaderProfile';\nexport const GLOBAL_HEADER_SEARCH = 'SLDSGlobalHeaderSearch';\nexport const GLOBAL_HEADER_SETUP = 'SLDSGlobalHeaderSetup';\nexport const GLOBAL_HEADER_TASK = 'SLDSGlobalHeaderTask';\nexport const GLOBAL_HEADER_TOOL = 'SLDSGlobalHeaderTool';\nexport const GLOBAL_NAVIGATION_BAR = 'SLDSGlobalNavigationBar';\nexport const GLOBAL_NAVIGATION_BAR_BUTTON = 'SLDSGlobalNavigationBarButton';\nexport const GLOBAL_NAVIGATION_BAR_DROPDOWN = 'SLDSGlobalNavigationBarDropdown';\nexport const GLOBAL_NAVIGATION_BAR_LABEL = 'SLDSGlobalNavigationBarLabel';\nexport const GLOBAL_NAVIGATION_BAR_LINK = 'SLDSGlobalNavigationBarLink';\nexport const GLOBAL_NAVIGATION_BAR_REGION = 'SLDSGlobalNavigationBarRegion';\nexport const GLOBAL_NAVIGATION_BAR_APP_LAUNCHER =\n\t'SLDSGlobalNavigationBarAppLauncher';\nexport const GRID = 'SLDSGrid';\nexport const HIGHLIGHTER = 'SLDSHighlighter';\nexport const ICON = 'SLDSIcon';\nexport const ICON_SETTINGS = 'SLDSIconSettings';\nexport const ICON_INPUT = 'SLDSIconInput';\nexport const ILLUSTRATION = 'SLDSIllustration';\nexport const LIST = 'SLDSList';\nexport const LIST_ITEM = 'SLDSListItem';\nexport const LIST_ITEM_LABEL = 'SLDSListItemLabel';\nexport const LISTBOX_OF_PILL_OPTIONS = 'SLDSListboxOfPillOptions';\nexport const LOCATION_MAP = 'SLDSLocationMap';\nexport const LOOKUP = 'SLDSLookup';\nexport const MEDIA_OBJECT = 'SLDSMediaObject';\nexport const MENU_DROPDOWN = 'SLDSMenuDropdown';\nexport const MENU_DROPDOWN_TRIGGER = 'SLDSMenuDropdownTrigger';\nexport const MENU_PICKLIST = 'SLDSMenuPicklist';\nexport const MODAL = 'SLDSModal';\nexport const NOTIFICATION = 'SLDSNotification';\nexport const PANEL = 'SLDSPanel';\nexport const PANEL_FILTER_GROUP = 'SLDSFilterGroup';\nexport const PANEL_FILTER_LIST = 'SLDSFilterList';\nexport const PANEL_FILTER_LIST_HEADING = 'SLDSPanelFilterListHeading';\nexport const PAGE_HEADER = 'SLDSPageHeader';\nexport const PAGE_HEADER_CONTROL = 'SLDSPageHeaderControl';\nexport const PILL = 'SLDSPill';\nexport const PILL_CONTAINER = 'SLDSPillContainer';\nexport const POPOVER = 'SLDSPopover';\nexport const POPOVER_EDIT_DIALOG = 'SLDSPopoverEditDialog';\nexport const POPOVER_TOOLTIP = 'SLDSPopoverTooltip';\nexport const PROGRESS_INDICATOR = 'SLDSProgressIndicator';\nexport const PROGRESS_INDICATOR_PROGRESS = 'SLDSProgressIndicatorProgress';\nexport const PROGRESS_INDICATOR_STEP = 'SLDSProgressIndicatorStep';\nexport const PROGRESS_INDICATOR_STEP_VERTICAL =\n\t'SLDSProgressIndicatorStepVertical';\nexport const PROGRESS_RING = 'SLDSProgressRing';\nexport const PROGRESS_BAR = 'SLDSProgressBar';\nexport const SETUP_ASSISTANT = 'SLDSSetupAssistant';\nexport const SETUP_ASSISTANT_STEP = 'SLDSSetupAssistantStep';\nexport const SCOPED_NOTIFICATION = 'SLDSScopedNotification';\nexport const SLIDER = 'SLDSSlider';\nexport const SPINNER = 'SLDSSpinner';\nexport const SPLIT_VIEW = 'SLDSSplitView';\nexport const SPLIT_VIEW_HEADER = 'SLDSSplitViewHeader';\nexport const SPLIT_VIEW_LISTBOX = 'SLDSSplitViewListbox';\nexport const RADIO = 'SLDSRadio';\nexport const RADIO_GROUP = 'SLDSRadioGroup';\nexport const RADIO_BUTTON_GROUP = 'SLDSRadioButtonGroup';\nexport const TAB = 'SLDSTab';\nexport const TAB_ITEM = 'SLDSTabItem';\nexport const TAB_PANEL = 'SLDSTabPanel';\nexport const TABS = 'SLDSTabs';\nexport const TABS_LIST = 'SLDSTabsList';\nexport const TABS_PANEL = 'SLDSTabsPanel';\nexport const TIME_PICKER = 'SLDSTimepicker';\nexport const TOAST = 'SLDSToast';\nexport const TOAST_CONTAINER = 'SLDSToastContainer';\nexport const TREE = 'SLDSTree';\nexport const TREE_BRANCH = 'SLDSTreeBranch';\nexport const TREE_ITEM = 'SLDSTreeItem';\nexport const TRIAL_BAR = 'SLDSTrialBar';\nexport const TRIAL_BAR_DROPDOWN = 'SLDSTrialBarDropdown';\nexport const TRIAL_BAR_BUTTON = 'SLDSTrialBarButton';\nexport const VERTICAL_NAVIGATION = 'SLDSVerticalNavigation';\nexport const VERTICAL_NAVIGATION_ITEM = 'SLDSVerticalNavigationItem';\nexport const VISUAL_PICKER = 'SLDSVisualPicker';\nexport const VISUAL_PICKER_LINK = 'SLDSVisualPickerLink';\nexport const WELCOME_MAT = 'SLDSWelcomeMat';\nexport const WELCOME_MAT_TILE = 'SLDSWelcomeMatTile';\nexport const WELCOME_MAT_BADGE = 'SLDSWelcomeMatBadge';\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// Implements the [Accordion design\n// pattern](https://www.lightningdesignsystem.com/components/accordion/) in\n// React. Based on SLDS v2.4.3\n\nimport React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport shortid from 'shortid';\n\nimport { ACCORDION } from '../../utilities/constants';\n\nconst propTypes = {\n\t/**\n\t * CSS class names to be added to the accordion component. _Tested with snapshot testing._\n\t */\n\tclassName: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\t/**\n\t * HTML id for accordion component. _Tested with snapshot testing._\n\t */\n\tid: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n\t/**\n\t * The panel content for the Accordion component. Accordion panels should be added as <AccordionPanel />. Event handler for the accordion panels should be added to `<AccordionPanel />`. Optional `panelContentActions` component may be passed as prop. _Tested with Mocha framework and snapshot testing._\n\t *\n\t * Example:\n\t * ```\n\t * <SLDSAccordion>\n\t * <SLDSAccordionpanel />\n\t * <SLDSAccordionpanel />\n\t * <SLDSAccordionpanel />\n\t * </SLDSAccordion>\n\t * ```\n\t */\n\tchildren: PropTypes.node.isRequired,\n};\n\n/**\n * An accordion allows a user to toggle the display of sections of content.\n * The accordion component wraps accordion panels that can be selected and expanded. It accepts children to define the content displayed within.\n */\nclass Accordion extends Component {\n\tconstructor(props) {\n\t\tsuper(props);\n\t\tthis.state = { currButtonIndex: 0 };\n\t\tthis.summaryButtons = [];\n\t\tthis.generatedId = shortid.generate();\n\t}\n\n\tcomponentDidUpdate(prevProps, prevState) {\n\t\tif (\n\t\t\tthis.state.currButtonIndex !== null &&\n\t\t\tthis.state.currButtonIndex !== prevState.currButtonIndex\n\t\t) {\n\t\t\tthis.summaryButtons[this.state.currButtonIndex].focus();\n\t\t}\n\t}\n\n\tonClickSummary() {\n\t\tthis.setState({ currButtonIndex: null });\n\t}\n\n\tonKeyDownSummary(e) {\n\t\tlet buttonIndex = this.state.currButtonIndex;\n\t\tif (buttonIndex === null) {\n\t\t\tbuttonIndex = this.summaryButtons.findIndex(\n\t\t\t\t(el) => el.id === e.target.id\n\t\t\t);\n\t\t}\n\n\t\tif (e.key === 'ArrowDown') {\n\t\t\te.preventDefault();\n\t\t\tif (buttonIndex < this.props.children.length - 1) {\n\t\t\t\tthis.setState({\n\t\t\t\t\tcurrButtonIndex: buttonIndex + 1,\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\tthis.setState({ currButtonIndex: 0 });\n\t\t\t}\n\t\t} else if (e.key === 'ArrowUp') {\n\t\t\te.preventDefault();\n\t\t\tif (buttonIndex > 0) {\n\t\t\t\tthis.setState({\n\t\t\t\t\tcurrButtonIndex: buttonIndex - 1,\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\tthis.setState({ currButtonIndex: this.props.children.length - 1 });\n\t\t\t}\n\t\t}\n\t}\n\n\taddSummaryButton(button) {\n\t\tconst btnInArr = this.summaryButtons.find((el) => button === el);\n\t\tif (button !== null && btnInArr === undefined) {\n\t\t\t// eslint-disable-next-line fp/no-mutating-methods\n\t\t\tthis.summaryButtons.push(button);\n\t\t}\n\t}\n\n\trender() {\n\t\treturn (\n\t\t\t<ul\n\t\t\t\tname={this.props.id || this.generatedId}\n\t\t\t\tclassName={classNames('slds-accordion', this.props.className)}\n\t\t\t>\n\t\t\t\t{React.Children.map(this.props.children, (child) =>\n\t\t\t\t\tReact.cloneElement(child, {\n\t\t\t\t\t\trefs: { summaryButton: this.addSummaryButton.bind(this) },\n\t\t\t\t\t\tonClickSummary: this.onClickSummary.bind(this),\n\t\t\t\t\t\tonKeyDownSummary: this.onKeyDownSummary.bind(this),\n\t\t\t\t\t})\n\t\t\t\t)}\n\t\t\t</ul>\n\t\t);\n\t}\n}\n\nAccordion.displayName = ACCORDION;\nAccordion.propTypes = propTypes;\n\nexport default Accordion;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n/* eslint-disable import/no-mutable-exports */\n\nimport sunsetProperty from '../../../utilities/warning/sunset-property';\n\nlet checkProps = function checkPropsFunction() {};\n\nif (process.env.NODE_ENV !== 'production') {\n\tcheckProps = function checkPropsFunction(COMPONENT, props) {\n\t\t/* eslint-disable max-len */\n\t\tsunsetProperty(\n\t\t\tCOMPONENT,\n\t\t\tprops.assistiveText,\n\t\t\t'assistiveText',\n\t\t\t'The wrapping span and assistive text has been removed from this component in order to make it a more pure \"higher-level component\" of `UtilityIcon`.'\n\t\t);\n\t};\n}\n\nexport default checkProps;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\nimport React from 'react';\n\n// Constants to specify directions: Left-to-Right (ltr) or Right-to-Left (rtl)\nconst DIRECTIONS = {};\nDIRECTIONS.LTR = 'ltr';\nDIRECTIONS.RTL = 'rtl';\n\n/*\n * Use this React context to wrap your component(s) to specify direction. Use either `DIRECTIONS.LTR` (ltr) or `DIRECTIONS.LTR` (rtl).\n * It's also expected that the `HTML` document of your markup has `dir='ltr'` or `dir='rtl'` attribute set.\n * The dir attribute is essential to set the direction of text to display and enable HTML in right-to-left.\n * For instance, setting `dir='rtl'` will cause block elements and table columns to start on the right and flow from right to left.\n *\n * Note: (1) This context is prefixed with UNSAFE because it is not a publicly supported feature.\n * (2) When testing this feature in the storybooks, styles consumed from `salesforce-lightning-design-system.css` may appear broken.\n * This is expected since Design System React loads only the LTR version since SLDS doesn't ship a static version of RTL.\n * Example on how to use the context to set your component right-to-left:\n * <UNSAFE_DirectionSettings.Provider value=\"rtl\">\n * <Combobox ... />\n * </UNSAFE_DirectionSettings.Provider>\n */\n// eslint-disable-next-line camelcase\nconst UNSAFE_DirectionSettings = React.createContext('ltr');\n\n// eslint-disable-next-line camelcase\nexport { UNSAFE_DirectionSettings as default, DIRECTIONS };\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n/* eslint-disable import/no-mutable-exports */\n\nimport urlExists from '../../../utilities/warning/url-exists';\nimport { DIRECTIONS } from '../UNSAFE_direction';\n\nlet checkProps = function checkPropsFunction() {};\n\nif (process.env.NODE_ENV !== 'production') {\n\tcheckProps = function checkPropsFunction(COMPONENT, props) {\n\t\tif (\n\t\t\t!props.context[`${props.category}Sprite`] &&\n\t\t\t!props.context.onRequestIconPath\n\t\t) {\n\t\t\tconst modifiedPath = props.path || props.context.iconPath;\n\t\t\tconst svgAssetName =\n\t\t\t\tprops.direction === DIRECTIONS.RTL ? 'symbols-rtl.svg' : 'symbols.svg';\n\t\t\turlExists(\n\t\t\t\tCOMPONENT,\n\t\t\t\t`${modifiedPath}/${props.category}-sprite/svg/${svgAssetName}#${props.name}`\n\t\t\t);\n\t\t}\n\t};\n}\n\nexport default checkProps;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\nimport React from 'react';\n\nclass Svg extends React.Component {\n\tstatic displayName = 'Svg';\n\n\tgetPaths = (paths) => {\n\t\tif (paths instanceof Array) {\n\t\t\treturn paths.map((item) => <path {...item} />);\n\t\t}\n\t\treturn <path key=\"pathSVG\" {...paths} />;\n\t};\n\n\tgetCircles = (circles) => {\n\t\tif (circles instanceof Array) {\n\t\t\treturn circles.map((item) => <circle {...item} />);\n\t\t}\n\t\treturn <circle key=\"circleSVG\" {...circles} />;\n\t};\n\n\tgetEllipses = (ellipses) => {\n\t\tif (ellipses instanceof Array) {\n\t\t\treturn ellipses.map((item) => <ellipse {...item} />);\n\t\t}\n\t\treturn <ellipse key=\"ellipseSVG\" {...ellipses} />;\n\t};\n\n\tgetGroups = (groups) => {\n\t\tif (groups instanceof Array) {\n\t\t\treturn groups.map((item) => <g>{this.getShapes(item)}</g>);\n\t\t}\n\n\t\treturn <g key=\"groupsSVG\">{this.getShapes(groups)}</g>;\n\t};\n\n\tgetShapes = (data) => {\n\t\tconst shapes = [];\n\n\t\tif (data) {\n\t\t\tif (data.g) {\n\t\t\t\t// eslint-disable-next-line fp/no-mutating-methods\n\t\t\t\tshapes.push(this.getGroups(data.g));\n\t\t\t}\n\n\t\t\tif (data.ellipse) {\n\t\t\t\t// eslint-disable-next-line fp/no-mutating-methods\n\t\t\t\tshapes.push(this.getEllipses(data.ellipse));\n\t\t\t}\n\n\t\t\tif (data.circle) {\n\t\t\t\t// eslint-disable-next-line fp/no-mutating-methods\n\t\t\t\tshapes.push(this.getCircles(data.circle));\n\t\t\t}\n\n\t\t\tif (data.path) {\n\t\t\t\t// eslint-disable-next-line fp/no-mutating-methods\n\t\t\t\tshapes.push(this.getPaths(data.path));\n\t\t\t}\n\t\t}\n\t\treturn shapes;\n\t};\n\n\tgetSVG = ({ viewBox, ...rest }, props) => (\n\t\t<svg\n\t\t\taria-hidden={props['aria-hidden']}\n\t\t\tclassName={props.className}\n\t\t\tviewBox={viewBox}\n\t\t\tname={props.name}\n\t\t\tstyle={props.style}\n\t\t>\n\t\t\t{this.getShapes(rest)}\n\t\t</svg>\n\t);\n\n\trender() {\n\t\tconst { data, ...props } = this.props;\n\n\t\treturn data ? this.getSVG(data, props) : null;\n\t}\n}\n\nexport default Svg;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n\nlet icons = {}; if ('__INCLUDE_SLDS_ICONS__' === '__INCLUDE_SLDS_ICONS__') { icons = {\nactivity:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M37.618 11.67c-1.54.5-2.783.98-3.723 1.438-.747.364-1.687.901-2.814 1.61.086 1.882.084 3.463-.009 4.754-.094 1.304-.342 3.173-.746 5.63l-.001.003c2.815 2.028 4.848 3.56 6.11 4.604.163.135.633.584.856.783l4.344-1.82.028-.074c.627-1.347 1.145-3.186 1.54-5.507.322-1.899.376-3.99.159-6.276l-5.744-5.144zm-1.51-2.66l-.085-.302A19.816 19.816 0 0026 6c-1.963 0-3.86.285-5.653.816l-.032.77c-.002.548.006 1.172.025 1.871 1.69.237 3.111.549 4.273.941 1.167.395 2.652 1.07 4.478 2.029 1.39-.887 2.55-1.558 3.49-2.016.946-.461 2.12-.927 3.526-1.4zM22.165 42.95c3.618-.378 6.074-.736 7.317-1.06 1.421-.371 2.7-.724 3.83-1.054.86-2.042 1.409-3.576 1.648-4.6.192-.82.397-1.923.616-3.31-.383-.338-.735-.64-1.056-.906-1.257-1.04-3.382-2.637-6.362-4.777-1.382.809-2.58 1.367-3.62 1.675-1.12.332-2.855.604-5.256.835-.88 1.877-1.447 3.354-1.697 4.414-.254 1.078-.492 2.575-.71 4.482.879 1.017 1.622 1.774 2.23 2.271.628.514 1.648 1.19 3.06 2.03zM9.433 37.355h4.577c.2-1.58.419-2.87.657-3.877.273-1.16.817-2.63 1.634-4.424-1.055-1.218-2.377-2.756-2.987-3.701-.524-.811-1.314-1.703-2.217-3.899a5.903 5.903 0 00-1.272.288c-1.127.393-2.356 1.045-3.684 1.958A20.36 20.36 0 006 26.1c0 4.169 1.266 8.043 3.433 11.255zm35.895-6.076a20.187 20.187 0 00.625-6.562c-.333 1.675-.74 3.122-1.225 4.344.15.253.274.536.37.848.101.33.178.787.23 1.37zM10.57 18.5l.13-.214c1.413-2.31 2.502-3.924 3.305-4.882.739-.883 1.853-1.95 3.356-3.226a73.318 73.318 0 01-.045-2.184A20.155 20.155 0 007.04 19.696a15.17 15.17 0 011.852-.795 8.697 8.697 0 011.678-.403zM37.154 42.78c-1.708.587-4.01 1.253-6.913 2.011-1.408.368-3.925.738-7.601 1.125 1.092.186 2.215.283 3.36.283 4.127 0 7.966-1.26 11.154-3.42zM50 26.1c0 13.3-10.755 24.1-24 24.1S2 39.4 2 26.1 12.755 2 26 2s24 10.8 24 24.1z\"}},\nad_set:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":[{\"path\":{\"d\":\"M22.5 5.1h-17c-.8 0-1.5.7-1.5 1.5v15.9c0 .8.7 1.5 1.5 1.5h17c.8 0 1.5-.7 1.5-1.5V6.6c0-.8-.7-1.5-1.5-1.5zm-2.6 8.2H8.1V9.2h11.8v4.1zM46.5 5.1h-17c-.8 0-1.5.7-1.5 1.5v15.9c0 .8.7 1.5 1.5 1.5h17c.8 0 1.5-.7 1.5-1.5V6.6c0-.8-.7-1.5-1.5-1.5zm-2.6 8.2H32.1V9.2h11.8v4.1z\"}},{\"path\":{\"d\":\"M22.5 28h-17c-.8 0-1.5.7-1.5 1.5v15.9c0 .8.7 1.5 1.5 1.5h17c.8 0 1.5-.7 1.5-1.5V29.5c0-.8-.7-1.5-1.5-1.5zm-2.6 8.2H8.1v-4.1h11.8v4.1zM46.5 28h-17c-.8 0-1.5.7-1.5 1.5v15.9c0 .8.7 1.5 1.5 1.5h17c.8 0 1.5-.7 1.5-1.5V29.5c0-.8-.7-1.5-1.5-1.5zm-2.6 8.2H32.1v-4.1h11.8v4.1z\"}}]},\nadd:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M30 29h16.5c.8 0 1.5-.7 1.5-1.5v-3c0-.8-.7-1.5-1.5-1.5H30c-.6 0-1-.4-1-1V5.5c0-.8-.7-1.5-1.5-1.5h-3c-.8 0-1.5.7-1.5 1.5V22c0 .6-.4 1-1 1H5.5c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5H22c.6 0 1 .4 1 1v16.5c0 .8.7 1.5 1.5 1.5h3c.8 0 1.5-.7 1.5-1.5V30c0-.6.4-1 1-1z\"}},\nadduser:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M21.9 37c0-2.7.9-5.8 2.3-8.2 1.7-3 3.6-4.2 5.1-6.4 2.5-3.7 3-9 1.4-13-1.6-4.1-5.4-6.5-9.8-6.4s-8 2.8-9.4 6.9c-1.6 4.5-.9 9.9 2.7 13.3 1.5 1.4 2.9 3.6 2.1 5.7-.7 2-3.1 2.9-4.8 3.7-3.9 1.7-8.6 4.1-9.4 8.7C1.3 45.1 3.9 49 8 49h17c.8 0 1.3-1 .8-1.6-2.5-2.9-3.9-6.6-3.9-10.4z\"},{\"d\":\"M37.9 25c-6.6 0-12 5.4-12 12s5.4 12 12 12 12-5.4 12-12-5.4-12-12-12zM44 38c0 .6-.5 1-1.1 1H40v3c0 .6-.5 1-1.1 1h-2c-.6 0-.9-.4-.9-1v-3h-3.1c-.6 0-.9-.4-.9-1v-2c0-.6.3-1 .9-1H36v-3c0-.6.3-1 .9-1h2c.6 0 1.1.4 1.1 1v3h2.9c.6 0 1.1.4 1.1 1v2z\"}]}},\nadjust_value:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M23 14.91a6.55 6.55 0 11-6.52 6.55A6.53 6.53 0 0123 14.91zm20.7 15.72a.58.58 0 000-.84l-4.12-4.12a.59.59 0 00-.42-.18.61.61 0 00-.43.18L27.39 37.05l-1.7 5.69a.8.8 0 00.79 1 .55.55 0 00.18 0L32.35 42zm-1.45-7.75L46.4 27a.63.63 0 00.43.18.59.59 0 00.42-.18c.73-.73 2.06-1.94 2.06-1.94a2 2 0 000-2.91L47.13 20a2 2 0 00-1.41-.54 2.34 2.34 0 00-1.5.54s-1.33 1.31-1.93 2a.58.58 0 000 .88zM40.1 8.27H6a4 4 0 00-3.93 4v19.07A4 4 0 006 35.28h18.84l3.95-3.94H10.54A4.53 4.53 0 006 26.76v-9.88a4.53 4.53 0 004.56-4.57h25a4.53 4.53 0 004.56 4.57v3L44 15.91v-3.6a4 4 0 00-3.9-4.04z\"}},\nadvanced_function:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M43 6.9V4c0-.8-.7-1.5-1.5-1.5H11.8c-.8 0-1.5.7-1.5 1.5v3.1c0 .3 0 .7.3 1L25.2 26 10.6 43.9c-.2.3-.3.6-.3 1V48c0 .8.7 1.5 1.5 1.5h29.7c.8 0 1.5-.7 1.5-1.5v-2.9c0-.8-.7-1.5-1.5-1.5H18.4l13.3-16.3c.3-.4.4-.8.4-1.4 0-.5-.2-1-.5-1.4L18.4 8.4h23.1c.8 0 1.5-.7 1.5-1.5z\"}},\nadvertising:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M23 27.2h.4c.2-2.7 1.2-5.1 2.7-7-.8-.8-1.8-1.3-3.1-1.3-2.4 0-4.2 1.8-4.2 4.2 0 2.3 1.8 4.1 4.2 4.1z\"},{\"d\":\"M24.2 35.2c.5 0 1-.1 1.2-.1-.8-1.3-1.4-2.7-1.7-4H23c-4.5 0-8.4-3.6-8.4-8.4 0-4.5 3.6-8.4 8.4-8.4 2.5 0 4.9 1.1 6.4 2.9 1.2-.7 2.5-1.1 3.9-1.3-2.3-3.3-6.1-5.4-10.4-5.4-7.2 0-12.6 5.7-12.6 12.6S16 35.7 23.2 35.4c.4-.1.7-.1 1-.2z\"},{\"d\":\"M49.9 45.5v1.4c0 1.6-1.4 3-3 3H22.8c-1.6 0-3-1.4-3-3v-1.4c0-3.6 4.3-5.9 8.3-7.7l.4-.2c.3-.1.6-.1.9.1 1.6 1.1 3.5 1.6 5.4 1.6 1.9 0 3.8-.6 5.4-1.6.3-.2.6-.2.9-.1l.4.2c4.2 1.8 8.4 4 8.4 7.7zM34.8 19.8c4.2 0 7.5 3.7 7.5 8.3s-3.3 8.3-7.5 8.3-7.5-3.7-7.5-8.3 3.4-8.3 7.5-8.3z\"},{\"d\":\"M18.5 39.2c-6.9-2-12.2-8.5-12.2-16.1 0-9.3 7.5-16.8 16.8-16.8 6.9 0 13.1 4.1 15.6 10.2 2 .8 3.8 2.1 5.1 3.8C42.3 9.8 33.6 2.1 23 2.1 11.3 2.1 2.1 11.3 2.1 23c0 9.2 5.8 17 14.2 19.7.4-1.4 1.2-2.5 2.2-3.5z\"}]}},\nagent_home:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M26.71 2.32l23 23a1.15 1.15 0 01.29 1.11c-.08.4-.64.64-1 .64h-5V49a.92.92 0 01-1 1H9a1 1 0 01-1-.88V27H3a.77.77 0 01-.87-.64.87.87 0 01.23-1.11l23-23a1 1 0 011.35.07zM18.29 38h-4.24a.88.88 0 00-.88.88v5.43a.88.88 0 00.88.88h4.24a.89.89 0 00.88-.88v-5.43a.89.89 0 00-.88-.88zm9.59-7.2h-4.24a.9.9 0 00-.88.88v12.63a.89.89 0 00.88.88h4.24a.89.89 0 00.88-.88V31.68a.9.9 0 00-.88-.88zm9.59-7.19h-4.23a.87.87 0 00-.88.88v19.82a.87.87 0 00.88.88h4.23a.87.87 0 00.88-.88V24.49a.87.87 0 00-.88-.88z\",\"fill-rule\":\"evenodd\"}},\nagent_session:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M26 4C12.7 4 2.1 13.8 2.1 25.9c0 3.8 1.1 7.4 2.9 10.6.3.5.4 1.1.2 1.7l-3.1 8.5c-.3.8.5 1.5 1.3 1.3l8.6-3.3c.5-.2 1.1-.1 1.7.2 3.6 2 7.9 3.2 12.5 3.2C39.3 48 50 38.3 50 26.1 49.9 13.8 39.2 4 26 4zm-6.5 32c0 .5-.4.9-.9.9h-4.2c-.5 0-.9-.4-.9-.9v-5.4c0-.5.4-.9.9-.9h4.2c.5 0 .9.4.9.9V36zm9.6 0c0 .5-.4.9-.9.9H24c-.5 0-.9-.4-.9-.9V23.3c0-.5.4-.9.9-.9h4.2c.5 0 .9.4.9.9V36zm9.6 0c0 .5-.4.9-.9.9h-4.2c-.5 0-.9-.4-.9-.9V16.1c0-.5.4-.9.9-.9h4.2c.5 0 .9.4.9.9V36z\"}},\naggregation_policy:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M49.29 43.08l-7.4-7.35a2 2 0 00-.23-.18v-3.18h3.48a1 1 0 00.65-.23 1 1 0 00.14-1.4l-5.9-7-.12-.14a1 1 0 00-1.4.17l-5.89 7a1 1 0 00-.23.63 1 1 0 001 1h3.47v2.88a2.3 2.3 0 00-.68.45l-7.48 7.32a2.4 2.4 0 000 3.39 2.45 2.45 0 003.39 0l4.7-4.67v5.86a2.42 2.42 0 004.84 0v-5.4l4.24 4.22a2.45 2.45 0 003.39 0 2.38 2.38 0 00.03-3.37zM14.38 2H8.14A6.07 6.07 0 002 8v4.8a6.07 6.07 0 006.14 6h6.24a6.07 6.07 0 006.14-6V8a6.07 6.07 0 00-6.14-6zM12 14h-1.48a3.6 3.6 0 010-7.2H12a3.6 3.6 0 010 7.2zM37.74 18.8a6.07 6.07 0 006.14-6V8a6.07 6.07 0 00-6.14-6H31.5a6.07 6.07 0 00-6.14 6v4.8a6.07 6.07 0 006.14 6zm-7.47-8.4a3.6 3.6 0 013.6-3.6h1.49a3.6 3.6 0 110 7.2h-1.49a3.6 3.6 0 01-3.6-3.6zM14.38 23.6H8.14a6.07 6.07 0 00-6.14 6v4.8a6.07 6.07 0 006.14 6h6.24a6.07 6.07 0 006.14-6v-4.8a6.07 6.07 0 00-6.14-6zM12 35.6h-1.48a3.6 3.6 0 110-7.2H12a3.6 3.6 0 010 7.2z\",\"fill-rule\":\"evenodd\"}},\nalert:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M34.7 31l-.4.1c-1.5.5-3.1-.2-3.7-1.7l-3.3-8.8c-2.6-7-10.5-10.4-17.4-7.5C3.4 15.8.5 23.4 2.9 30L6 38.5c.5 1.5-.3 3.1-1.7 3.6l-.4.1c-1.7.6-2.5 2.6-1.9 4.3l.4 1.1c.2.5.9.9 1.5.6l34.4-12.7c.6-.2.9-1 .7-1.6l-.4-1.1c-.3-1.6-2.2-2.5-3.9-1.8zm-8.4 12.6l-7.5 2.8c-.5.2-.7.8-.4 1.2 1.2 2 3.7 2.8 5.9 2 2.2-.8 3.5-3.1 3.2-5.3-.2-.5-.8-.8-1.2-.7zM49.2 28.6c1.7-5.7.8-11.8-2.3-16.8-3.1-5.1-8.2-8.6-14-9.7-.5-.1-.9.2-.9.6l-.5 2.8c-.1.4.2.7.6.8 4.5.9 8.5 3.7 11 7.7s3.1 8.8 1.9 13.3c-.1.4.1.8.5.9l2.7.9c.5 0 .9-.1 1-.5zM38.2 17c-1.6-2.6-4.2-4.3-7.2-4.9-.4-.1-.8.2-.9.6l-.3 2.9c0 .4.2.7.6.8 1.7.4 3.2 1.4 4.1 2.9.9 1.5 1.2 3.3.7 4.9-.1.3.1.7.4.8l2.7 1.1c.4.2.8-.1 1-.5.9-2.9.5-6-1.1-8.6z\"}},\nall:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M31.6 21.6c-1.2 0-2.2-1-2.2-2.2V5.5c0-1.2 1-2.2 2.2-2.2h14.2c1.2 0 2.2 1 2.2 2.2v13.9c0 1.2-1 2.2-2.2 2.2H31.6zM37.7 29.8l-8.2 8.9c-.5.5-.5 1.3 0 1.9l8.2 8.9c.5.6 1.5.6 2 0l8.2-8.9c.5-.5.5-1.3 0-1.9l-8.2-8.9c-.5-.6-1.4-.6-2 0z\"},{\"d\":\"M4.8 6.5L12 2.4c.7-.4 1.5-.4 2.1 0l7.1 4.1c.7.4 1.1 1.1 1.1 1.9v8.2c0 .8-.4 1.5-1.1 1.9l-7.1 4.1c-.7.4-1.5.4-2.1 0l-7.2-4.1c-.7-.4-1.1-1.1-1.1-1.9V8.4c0-.8.4-1.5 1.1-1.9z\"}],\"circle\":{\"cx\":\"13\",\"cy\":\"39.4\",\"r\":\"9.3\"}},\nanchor:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M48 35.7l-2.4-10.2c-.3-1.1-1.7-1.5-2.5-.8l-7.7 7.1c-.9.8-.5 2.2.6 2.5l3.3 1c-.3.7-.6 1.4-1 2-1.8 3-4.7 4.9-9.3 5.5v-25c2.6-1.1 4.4-3.7 4.4-6.7 0-4-3.3-7.3-7.3-7.3-4.1 0-7.3 3.3-7.3 7.3 0 3 1.8 5.5 4.4 6.7v25c-4.6-.6-7.5-2.5-9.3-5.5-.4-.7-.7-1.3-1-2l3.3-1c1.1-.3 1.4-1.8.6-2.5l-7.8-7c-.9-.8-2.2-.4-2.5.8L4 35.7c-.3 1.1.8 2.1 1.9 1.8l2.6-.8c.4 1.1.8 2.1 1.4 3.1 2.9 4.9 8.2 7.8 16 7.8s13-2.9 16-7.8c.6-1 1.1-2.1 1.4-3.1l2.6.8c1.3.3 2.3-.7 2.1-1.8zM26 14.2c-1.6 0-2.9-1.3-2.9-2.9s1.3-2.9 2.9-2.9 2.9 1.3 2.9 2.9-1.3 2.9-2.9 2.9z\"}},\nanimal_and_nature:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M17.39 4.603c2.698-1.014 5.568-1.52 8.61-1.52s5.912.506 8.61 1.52a5 5 0 018.84 4.678C44.69 10.32 45.54 13.56 46 19c.394 3.008 2.987 12.067 3 14 .052 7.96-7.614 13.626-23 17-15.333-3.294-23-8.96-23-17 .047-2.053 2.5-10.9 3-14 .603-5.289 1.47-8.495 2.602-9.619a5 5 0 018.787-4.778zm3.578 18.092a4 4 0 00-2.795 4.066l.39 6.253a7.451 7.451 0 0014.874 0l.382-6.119A4 4 0 0031 22.822 18.168 18.168 0 0025.646 22c-1.641 0-3.2.232-4.678.695zM36 23c1.657 0 3-1.79 3-4s-1.343-4-3-4-3 1.79-3 4 1.343 4 3 4zm-20 0c1.657 0 3-1.79 3-4s-1.343-4-3-4-3 1.79-3 4 1.343 4 3 4zm13.074 4.709c-1.768 2.03-4.624 2.022-6.347-.018-1.723-2.04-.277-3.7 3.214-3.691 3.49.01 4.9 1.679 3.133 3.709z\"}},\nannouncement:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M22.7 45.4l-1.3-1c-1.4-1-1.4-3-1.4-4v-2.9c0-.8-.7-1.5-1.5-1.5h-6c-.8 0-1.5.7-1.5 1.5v7.7c0 2.7 1.6 4.8 4.1 4.8H20c2.9 0 3.1-2 3.1-2s.5-1.8-.4-2.6zM45 18V4.4v-.1c0-2.4-3-3.1-4.6-1.5l-8.9 8.4c-1.4 1.2-3.2 1.7-5 1.7H11.3C6.1 13 2 17.5 2 22.7v.2c0 5.2 4.1 9.1 9.3 9.1h15.2c1.9 0 3.7.8 5.1 2l8.8 8.6c1.6 1.6 4.6 1 4.6-1.4V27.6c3 0 4.8-2.1 4.8-4.8 0-2.7-1.8-4.8-4.8-4.8z\"}}},\nanswer:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M26 4C12.7 4 2 13.8 2 26c0 3.9 1.1 7.5 3 10.8.2.4.3.9.2 1.3L3 45c-.4 1.3.8 2.4 2.1 2l7-2.4c.5-.2 1-.1 1.4.2 3.7 2.1 8 3.3 12.6 3.3 13.3 0 24-9.8 24-22C49.9 13.8 39.2 4 26 4zm11.5 17.1l-12.2 12c-.5.5-1 .7-1.7.7-.6 0-1.2-.2-1.7-.7L16 27.3c-.5-.5-.5-1.2 0-1.6l1.7-1.6c.5-.5 1.2-.5 1.7 0l4.2 4.2 10.5-10.4c.5-.5 1.2-.5 1.7 0l1.7 1.6c.4.4.4 1.2 0 1.6z\"}},\nanswered_twice:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M17.6 11.4c-8.9 0-16 6.5-16 14.7 0 2.6.7 5 2 7.2.1.3.2.6.1.9l-1.5 4.6c-.3.9.5 1.6 1.4 1.3l4.7-1.6c.3-.1.7-.1.9.1 2.5 1.4 5.3 2.2 8.4 2.2 8.9 0 16-6.5 16-14.7s-7.2-14.7-16-14.7zm7.7 11.4l-8.1 8c-.3.3-.7.5-1.1.5-.4 0-.8-.1-1.1-.5l-4-3.9c-.3-.3-.3-.8 0-1.1l1.1-1.1c.3-.3.8-.3 1.1 0l2.8 2.8 7-6.9c.3-.3.8-.3 1.1 0l1.1 1.1c.4.3.4.8.1 1.1z\"},{\"d\":\"M34.3 11.4h-4.2c4.7 3.4 8.2 8.8 8.2 14.7 0 5.9-3.7 11.5-8.2 14.7h4.2c8.9 0 16-6.5 16-14.7-.1-8.2-7.2-14.7-16-14.7z\"}]},\nanywhere_alert:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M50 47.33A45.34 45.34 0 004.67 2a2.67 2.67 0 100 5.33 40 40 0 0140 40 2.67 2.67 0 105.33 0z\"},{\"d\":\"M32.67 47.33a28 28 0 00-28-28 2.67 2.67 0 100 5.34 22.65 22.65 0 0122.66 22.66 2.67 2.67 0 005.34 0zM4.67 36.67a10.66 10.66 0 0110.66 10.66 2.67 2.67 0 11-5.33 0v-.39A5.34 5.34 0 004.67 42a2.67 2.67 0 110-5.33z\"}]}},\nanywhere_chat:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M26 2.7c-13.21 0-24 9.62-24 21.59v.42a20.64 20.64 0 007.71 15.43l.32.27v.08a11.05 11.05 0 01-3.1 4.67 1.79 1.79 0 001.45 3.12l1.17-.17.53-.08c4.76-.73 8.13-1.59 10.23-2.66l.15-.08.5.11a27.38 27.38 0 005.06.48c13.21 0 24-9.62 24-21.59S39.21 2.7 26 2.7z\"}},\napex:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M48.5 40h-27c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h27c.8 0 1.5-.7 1.5-1.5v-3c0-.8-.7-1.5-1.5-1.5zM25.4 21.8L6 6.3c-.6-.5-1.5-.4-2 .3L2.3 9c-.5.7-.3 1.6.3 2.1l13.8 11c.5.4.5 1.2 0 1.6l-13.8 11c-.6.5-.8 1.5-.3 2.1L4 39.4c.5.7 1.4.8 2 .3l19.4-15.5c.8-.6.8-1.8 0-2.4z\"}},\napex_plugin:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M26.2 18.1L37.3 7c.6-.6.6-1.5 0-2.1l-2.4-2.4c-.6-.6-1.5-.6-2.1 0L21.7 13.6l4.5 4.5zM38.4 30.7l11.1-11.1c.6-.6.6-1.5 0-2.1l-2.4-2.4c-.6-.6-1.5-.6-2.1 0L33.9 26.2l4.5 4.5zM36.8 39.9c.2-.2.3-.5.4-.8.1-.4 0-.8-.2-1.1-.1-.1-.1-.2-.2-.2L14.3 15.3c-.2-.3-.7-.4-1.1-.4-.4 0-.8.2-1.1.5-.2.2-.4.3-.6.5-.1.1-.2.3-.3.4-.1.2-.3.3-.4.5-.1.2-.3.4-.4.6-.2.2-.3.5-.4.8-.2.3-.3.6-.4.9-.2.3-.3.7-.4 1.1-.2.4-.3.8-.4 1.2-.1.5-.3.9-.4 1.4-.1.5-.2 1-.3 1.6-.1.6-.2 1.2-.3 1.7-.1.6-.2 1.3-.2 1.9-.1.7-.1 1.4-.1 2.2v2.4c0 .9 0 1.7.1 2.6 0 .9.1 1.9.2 2.8 0 .3.1.5.1.8H8L2.8 44c-.8.4-.8 1.4-.3 2l3.7 3.7c.6.6 1.5.6 2.1 0l5.2-5.2c1.9.2 3.7.3 5.6.3 1.6 0 3.1 0 4.7-.1 1.3-.1 2.6-.2 3.8-.5 1-.2 2-.4 3-.7.8-.2 1.6-.5 2.3-.9.6-.3 1.2-.6 1.7-.9.7-.4 1.4-1 2-1.6l.2-.2z\"}},\napproval:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M45.2 29.2h-8.8c-2.6 0-4.8-2.2-4.8-4.8.4-7.1 3.7-7.5 4-12.1.3-4.8-2.7-9.1-7.4-10.1C22 .9 16.4 5.6 16.4 11.6c0 5.3 3.6 5.3 4 12.8 0 2.6-2.2 4.8-4.8 4.8H6.8C4.2 29.2 2 31.3 2 34v3.2c0 .9.7 1.6 1.6 1.6h44.8c.9 0 1.6-.7 1.6-1.6V34c0-2.7-2.2-4.8-4.8-4.8zm.1 14.4H6.7c-.9 0-1.5.7-1.5 1.5v.1c0 2.6 2.2 4.8 4.8 4.8h32.1c2.6 0 4.7-2.2 4.7-4.8v-.1c0-.8-.7-1.5-1.5-1.5z\"}},\napps:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M13 4H7C5.3 4 4 5.3 4 7v6c0 1.7 1.3 3 3 3h6c1.7 0 3-1.3 3-3V7c0-1.7-1.3-3-3-3zM13 36H7c-1.7 0-3 1.3-3 3v6c0 1.7 1.3 3 3 3h6c1.7 0 3-1.3 3-3v-6c0-1.7-1.3-3-3-3zM13 20H7c-1.7 0-3 1.3-3 3v6c0 1.7 1.3 3 3 3h6c1.7 0 3-1.3 3-3v-6c0-1.7-1.3-3-3-3zM29 4h-6c-1.7 0-3 1.3-3 3v6c0 1.7 1.3 3 3 3h6c1.7 0 3-1.3 3-3V7c0-1.7-1.3-3-3-3zM29 36h-6c-1.7 0-3 1.3-3 3v6c0 1.7 1.3 3 3 3h6c1.7 0 3-1.3 3-3v-6c0-1.7-1.3-3-3-3zM29 20h-6c-1.7 0-3 1.3-3 3v6c0 1.7 1.3 3 3 3h6c1.7 0 3-1.3 3-3v-6c0-1.7-1.3-3-3-3zM45 4h-6c-1.7 0-3 1.3-3 3v6c0 1.7 1.3 3 3 3h6c1.7 0 3-1.3 3-3V7c0-1.7-1.3-3-3-3zM45 36h-6c-1.7 0-3 1.3-3 3v6c0 1.7 1.3 3 3 3h6c1.7 0 3-1.3 3-3v-6c0-1.7-1.3-3-3-3zM45 20h-6c-1.7 0-3 1.3-3 3v6c0 1.7 1.3 3 3 3h6c1.7 0 3-1.3 3-3v-6c0-1.7-1.3-3-3-3z\"}},\narchive:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M45.2 2.3H6.8C4.2 2.3 2 4.5 2 7.1v4.8c0 .9.7 1.6 1.6 1.6h44.8c.9 0 1.6-.7 1.6-1.6V7.1c0-2.6-2.2-4.8-4.8-4.8zM46.6 17.5H5.5c-.9 0-1.6.7-1.6 1.6v26.4c0 2.6 2.2 4.8 4.8 4.8h34.8c2.6 0 4.8-2.2 4.8-4.8V19.1c-.1-.9-.8-1.6-1.7-1.6zm-13.8 8H19.2c-1.1 0-2-.9-2-2s.9-2 2-2h13.6c1.1 0 2 .9 2 2s-.9 2-2 2z\"}},\narrow_bottom:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M42.34 41.83a2 2 0 012 2V48a2 2 0 01-2 2H9.66a2 2 0 01-2-2v-4.13a2 2 0 012-2zM28 2a2.12 2.12 0 012.05 2v17.4a1.3 1.3 0 002.24.92l4.8-4.69a2 2 0 012.86 0l2.86 2.75a1.86 1.86 0 010 2.76l-15.42 15a2 2 0 01-2.86 0l-15.32-15a1.86 1.86 0 010-2.76L12 17.63a2 2 0 012.86 0l4.8 4.69a1.3 1.3 0 002.24-.92V4A2.19 2.19 0 0124 2h4z\"}},\narrow_left:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M10.17 42.34a2 2 0 01-2 2H4a2 2 0 01-2-2V9.66a2 2 0 012-2h4.13a2 2 0 012 2zM50 28a2.11 2.11 0 01-2 2.05H30.6a1.3 1.3 0 00-.92 2.24l4.69 4.8a2 2 0 010 2.86l-2.75 2.86a1.87 1.87 0 01-2.76 0l-15-15.42a2 2 0 010-2.86l15-15.32a1.87 1.87 0 012.76 0L34.37 12a2 2 0 010 2.86l-4.69 4.8a1.3 1.3 0 00.92 2.24H48a2.2 2.2 0 012 2.1z\",\"fill-rule\":\"evenodd\"}},\narrow_right:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M41.83 9.66a2 2 0 012-2H48a2 2 0 012 2v32.68a2 2 0 01-2 2h-4.13a2 2 0 01-2-2zM2 24a2.11 2.11 0 012-2h17.4a1.3 1.3 0 00.92-2.24l-4.69-4.8a2 2 0 010-2.86l2.75-2.9a1.87 1.87 0 012.76 0l15 15.42a2 2 0 010 2.86l-15 15.32a1.87 1.87 0 01-2.76 0L17.63 40a2 2 0 010-2.86l4.69-4.8a1.3 1.3 0 00-.92-2.24H4A2.2 2.2 0 012 28z\",\"fill-rule\":\"evenodd\"}},\narrow_top:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M9.66 10.17a2 2 0 01-2-2V4a2 2 0 012-2h32.68a2 2 0 012 2v4.13a2 2 0 01-2 2zM24 50a2.12 2.12 0 01-2.05-2V30.6a1.3 1.3 0 00-2.24-.92l-4.8 4.69a2 2 0 01-2.86 0l-2.9-2.75a1.86 1.86 0 010-2.76l15.42-15a2 2 0 012.86 0l15.32 15a1.86 1.86 0 010 2.76L40 34.37a2 2 0 01-2.86 0l-4.8-4.69a1.3 1.3 0 00-2.24.92V48a2.19 2.19 0 01-2.1 2h-4z\"}},\narrowdown:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M9.6 31c-.8.8-.8 1.9 0 2.7l15 14.7c.8.8 2 .8 2.8 0l15.1-14.7c.8-.8.8-1.9 0-2.7l-2.8-2.7c-.8-.8-2-.8-2.8 0l-4.7 4.6c-.8.8-2.2.3-2.2-.9V5c0-1-.9-2-2-2h-4c-1.1 0-2 1.1-2 2v27c0 1.2-1.4 1.7-2.2.9l-4.7-4.6c-.8-.8-2-.8-2.8 0L9.6 31z\"}},\narrowup:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M41.4 21c.8-.8.8-1.9 0-2.7l-15-14.7c-.8-.8-2-.8-2.8 0l-15 14.7c-.8.8-.8 1.9 0 2.7l2.8 2.7c.8.8 2 .8 2.8 0l4.7-4.6c.8-.8 2.2-.2 2.2.9v27c0 1 .9 2 2 2h4c1.1 0 2-1.1 2-2V20c0-1.2 1.4-1.7 2.2-.9l4.7 4.6c.8.8 2 .8 2.8 0l2.6-2.7z\"}},\nasset_warranty:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M38.78 26.78c1.41 0 2.53 1.53 3.78 2.06s3.18.23 4.14 1.24.7 2.84 1.23 4.14S50 36.58 50 38s-1.53 2.54-2.07 3.78-.24 3.22-1.23 4.14-2.85.7-4.14 1.24-2.37 2.06-3.78 2.06-2.54-1.53-3.78-2.06-3.18-.23-4.13-1.24-.72-2.84-1.24-4.14-2.08-2.36-2.08-3.78 1.53-2.54 2.07-3.78.23-3.19 1.24-4.14 2.83-.7 4.13-1.24 2.36-2.06 3.79-2.06zm2.86-24a2.23 2.23 0 012.17 2.16V26.4l-.21-.09c-1.58-.67-3-2.64-4.82-2.64-1.35 0-2.5 1.1-3.64 1.93v-7.81a.77.77 0 00-.21-.56.79.79 0 00-.57-.21h-1.64a.68.68 0 00-.47.21.73.73 0 00-.21.56v9a12.29 12.29 0 00-2.25.45v-9.45A.76.76 0 0029 17a.78.78 0 00-.78.77v10.67a9.1 9.1 0 00-.77 3.21H11.23a.73.73 0 00-.48.21.69.69 0 00-.2.56v.87a.74.74 0 00.2.47.82.82 0 00.56.22h15.34c-.85 1.25-2.2 2.52-2.2 4 0 1.85 2 3.24 2.64 4.83a7 7 0 01.41 1.63H15.78v2.25a2.22 2.22 0 01-2.17 2.17h-2.47A2.22 2.22 0 019 46.71v-2.13H4.17A2.21 2.21 0 012 42.41V4.94a2.21 2.21 0 012.17-2.16zM43 34.31a.57.57 0 00-.81 0l-4.37 5-2-2a.56.56 0 00-.79 0l-.81.77a.52.52 0 00-.06.72l.06.06L37 41.63a1.21 1.21 0 00.82.36 1 1 0 00.81-.36l5.2-5.76a.63.63 0 000-.78zM14.48 17h-3.25a.73.73 0 00-.48.21.69.69 0 00-.2.56V29.5a.7.7 0 00.76.68h3.11a.73.73 0 00.77-.68V17.79a.72.72 0 00-.67-.77zm4.62 0h-1.7a.73.73 0 00-.48.21.7.7 0 00-.21.56V29.5a.82.82 0 00.22.47.77.77 0 00.56.21H19a.73.73 0 00.6-.18.74.74 0 00.22-.56V17.79a.74.74 0 00-.22-.56.72.72 0 00-.6-.23zm7 0h-3.28a.73.73 0 00-.48.21.7.7 0 00-.21.56V29.5a.72.72 0 00.76.68H26a.74.74 0 00.78-.68V17.79a.74.74 0 00-.67-.79zm8.52-3.87H11.23a.78.78 0 00-.48.21.71.71 0 00-.2.57v.85a.71.71 0 00.73.69h23.24a.77.77 0 00.56-.21.72.72 0 00.21-.57v-.76a.72.72 0 00-.21-.57.77.77 0 00-.56-.21z\"}},\nassignment:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M3.6 29.8h44.6c.9 0 1.6.7 1.6 1.6v3.2c0 .9-.7 1.6-1.6 1.6H3.6c-.9 0-1.6-.7-1.6-1.6v-3.2c0-.9.7-1.6 1.6-1.6zM3.6 15.6h44.6c.9 0 1.6.7 1.6 1.6v3.2c0 .9-.7 1.6-1.6 1.6H3.6c-.9 0-1.6-.7-1.6-1.6v-3.2c0-.8.7-1.6 1.6-1.6z\"}},\nattach:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M17.6 36.7c.6.6 1.5.5 2.1 0l10-10c.7-.7 1.9-.8 2.8 0 .9.8.8 2.2 0 3L20.2 41.8c-2.7 2.7-7.2 2.7-9.9 0l-.1-.1c-2.7-2.7-2.7-7.2 0-9.9l21.7-21.7c2.7-2.7 7.2-2.7 9.9 0l.1.1c2.7 2.7 2.7 7.2 0 9.9l-.1.1c-.5.5-.6 1.2-.2 1.8.6 1.1 1.1 2.3 1.4 3.5.2.8 1.1 1 1.7.5.8-.8 1.5-1.6 1.5-1.6 5.1-5.1 5.1-13.4 0-18.5H46C40.9.8 32.6.8 27.5 5.9L5.8 27.5C.7 32.6.7 40.9 5.8 46l.2.2c5.1 5.1 13.3 5.1 18.4 0l12.4-12.3c3.2-3.2 3.1-8.4-.2-11.6-3.2-3.1-8.4-2.9-11.5.3l-9.8 9.8c-.6.6-.6 1.6 0 2.2l2.3 2.1z\"}},\nautomate:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M26.1 16.4c-5.3 0-9.7 4.3-9.7 9.7s4.3 9.7 9.7 9.7c5.3 0 9.7-4.3 9.7-9.7s-4.4-9.7-9.7-9.7zm0 16.7c-3.9 0-7.1-3.2-7.1-7.1 0-3.9 3.2-7.1 7.1-7.1 3.9 0 7.1 3.2 7.1 7.1-.1 3.9-3.3 7.1-7.1 7.1z\"},{\"d\":\"M49.3 32.1c.5-1.9.8-4 .8-6.1 0-2.1-.3-4.1-.8-6.1h-2.7c-.4-1.5-1-2.9-1.7-4.2l1.9-1.9c-2.1-3.5-5-6.5-8.6-8.6l-1.9 1.9c-1.3-.7-2.7-1.3-4.2-1.7V2.8c-1.9-.5-4-.8-6.1-.8-2.1 0-4.1.3-6.1.8v2.7c-1.4.4-2.8 1-4.1 1.7l-2-1.9c-3.6 2.1-6.5 5.1-8.6 8.6l1.9 1.9c-.7 1.3-1.3 2.7-1.7 4.2H2.8c-.5 1.9-.8 3.9-.8 6s.3 4.1.8 6.1h2.7c.4 1.5 1 2.9 1.7 4.2l-1.9 1.9c2.1 3.5 5 6.5 8.6 8.6l1.9-1.9c1.3.7 2.7 1.3 4.2 1.7v2.7c1.9.5 4 .8 6.1.8 2.1 0 4.1-.3 6.1-.8v-2.7c1.5-.4 2.9-1 4.2-1.7l1.9 1.9c3.5-2.1 6.5-5 8.6-8.6L45 36.3c.7-1.3 1.3-2.7 1.7-4.2h2.6zm-5.8 6.5c-.7.9-1.4 1.8-2.3 2.6-.8.8-1.7 1.6-2.6 2.3l-1.9-1.9c-2.1 1.5-4.6 2.5-7.2 3v2.6c-1.1.2-2.3.3-3.5.3-1.2 0-2.3-.1-3.5-.3v-2.6c-2.6-.5-5.1-1.5-7.2-3l-1.9 1.9a28.482 28.482 0 01-4.9-4.9l1.9-1.9c-1.5-2.1-2.5-4.6-3-7.2H4.8c-.2-1.1-.3-2.3-.3-3.5 0-1.2.1-2.3.3-3.5h2.7c.5-2.6 1.5-5.1 3-7.2l-1.9-1.9a28.482 28.482 0 014.9-4.9l1.9 1.9c2.1-1.5 4.6-2.5 7.2-3V4.8c1.1-.2 2.3-.3 3.5-.3 1.2 0 2.3.1 3.5.3v2.7c2.6.5 5.1 1.5 7.2 3l1.9-1.9c.9.7 1.8 1.4 2.6 2.3.8.8 1.6 1.7 2.3 2.6l-1.9 1.9c1.5 2.1 2.5 4.6 3 7.2h2.7c.2 1.1.3 2.3.3 3.5 0 1.2-.1 2.3-.3 3.5h-2.7c-.5 2.6-1.5 5.1-3 7.2l1.8 1.8z\"}]}},\naway:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M43 9C33.6-.3 18.4-.3 9 9S-.3 33.6 9 43s24.6 9.3 34 0 9.3-24.6 0-34zm-29.7 4.3c7-7 18.5-7 25.5 0 2.8 2.8 4.5 6.2 5 9.7H8.2c.6-3.6 2.3-7 5.1-9.7z\"}},\nback:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M48.6 23H15.4c-.9 0-1.3-1.1-.7-1.7l9.6-9.6c.6-.6.6-1.5 0-2.1l-2.2-2.2c-.6-.6-1.5-.6-2.1 0L2.5 25c-.6.6-.6 1.5 0 2.1L20 44.6c.6.6 1.5.6 2.1 0l2.1-2.1c.6-.6.6-1.5 0-2.1l-9.6-9.6c-.6-.7-.2-1.8.7-1.8h33.2c.8 0 1.5-.6 1.5-1.4v-3c0-.8-.6-1.6-1.4-1.6z\"}},\nban:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M26 2C12.8 2 2 12.8 2 26s10.8 24 24 24 24-10.8 24-24S39.2 2 26 2zm11.9 25.7c-.1.7-.7 1.3-1.5 1.3H15.6c-.8 0-1.4-.5-1.5-1.3-.1-1.2-.1-2.3 0-3.4.1-.7.7-1.3 1.5-1.3h20.8c.8 0 1.4.6 1.5 1.3.1 1.2.1 2.3 0 3.4z\"}},\nblock_visitor:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M64.7 19.1v.4-.4z\"},{\"d\":\"M22 37c0-2.7.9-5.8 2.3-8.2 1.7-3 3.6-4.2 5.1-6.4 2.5-3.7 3-9 1.4-13C29.2 5.3 25.4 2.9 21 3s-8 2.8-9.4 6.9c-1.6 4.5-.9 9.9 2.7 13.3 1.5 1.4 2.9 3.6 2.1 5.7-.7 2-3.1 2.9-4.8 3.7-3.9 1.7-8.6 4.1-9.4 8.7C1.4 45.1 4 49 8.1 49h17c.8 0 1.3-1 .8-1.6C23.4 44.5 22 40.8 22 37z\"},{\"d\":\"M46.5 28.5c-4.7-4.7-12.3-4.7-17 0s-4.7 12.3 0 17 12.3 4.7 17 0 4.7-12.3 0-17zm-14.2 2.8c2.7-2.7 6.7-3.1 9.8-1.2l-11 11c-1.9-3.1-1.5-7.1 1.2-9.8zm11.4 11.4c-2.7 2.6-6.7 3-9.8 1.3l11-11c1.8 3 1.4 7-1.2 9.7z\"}]},\nbold:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M41 19c0-6-4.8-11-10.5-11H14c-1.1 0-2 .9-2 2v33c0 1.1.9 2 2 2h16.5C36.2 45 41 40 41 34c0-2.9-1.1-5.5-2.9-7.5 1.8-2 2.9-4.6 2.9-7.5zM30.5 38H19v-8h11.5c1.9 0 3.6 1.9 3.6 4s-1.7 4-3.6 4zm0-15H19v-8h11.5c1.9 0 3.6 1.9 3.6 4s-1.7 4-3.6 4z\"}},\nbookmark:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M37.3 49.6l-9.9-9.9c-.6-.6-1.5-.6-2.1 0l-10.6 10c-.7.6-1.7.2-1.7-.7V6c0-2.2 1.8-4 4-4h18c2.2 0 4 1.8 4 4v42.9c0 .9-1.1 1.4-1.7.7z\"}},\nbottom_align:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"rect\":[{\"x\":\"2\",\"y\":\"43.6\",\"width\":\"48\",\"height\":\"6.4\",\"rx\":\"1.6\"},{\"data-name\":\"Rectangle\",\"x\":\"18.8\",\"y\":\"2\",\"width\":\"14.4\",\"height\":\"37.6\",\"rx\":\"3.2\"}]},\nbreadcrumbs:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M8.4 42c-.6 0-1-.4-1-1V10.9c0-.6.4-1 1-1h8.1c.4 0 .9.2 1.2.5L29.3 25c.4.5.4 1.3 0 1.9L17.6 41.5c-.3.4-.8.6-1.3.6L8.4 42z\"},{\"d\":\"M44.3 25L32.6 10.5c-.5-.6-1.4-.8-2.1-.2l-2.3 1.9c-.7.5-.8 1.5-.2 2.1L37.5 26 28 37.8c-.5.6-.4 1.6.2 2.1l2.3 1.9c.7.5 1.5.4 2.1-.2L44.3 27c.4-.8.4-1.5 0-2z\"}]},\nbroadcast:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":[{\"path\":[{\"d\":\"M2 18.992c0 5.832 2.28 11.292 6.362 15.374.902.899 2.28.899 3.181 0 .902-.9.902-2.279 0-3.183-3.233-3.231-5.036-7.58-5.088-12.19.053-4.612 1.855-8.959 5.088-12.193.902-.901.902-2.279 0-3.181-.901-.9-2.28-.901-3.181 0A21.61 21.61 0 002 18.992z\"},{\"d\":\"M14.723 28.004c.902.902 2.28.902 3.182 0 .9-.9.9-2.278 0-3.181-1.538-1.537-2.438-3.605-2.438-5.831-.001-2.227.847-4.241 2.438-5.832.9-.901.9-2.279 0-3.181-.902-.9-2.28-.901-3.182 0a12.715 12.715 0 00-3.71 9.012c0 3.394 1.325 6.628 3.71 9.013z\"}]},{\"path\":[{\"d\":\"M43.499 3.618c-.901-.901-2.28-.9-3.181 0-.901.902-.901 2.28 0 3.181 3.232 3.234 5.035 7.581 5.089 12.193-.054 4.611-1.855 8.959-5.089 12.191-.901.901-.901 2.28 0 3.182.899.9 2.277.9 3.181 0a21.614 21.614 0 006.36-15.374c0-5.83-2.277-11.29-6.36-15.373z\"},{\"d\":\"M40.85 18.992c-.002-3.392-1.326-6.627-3.713-9.012-.9-.901-2.279-.9-3.181 0-.901.902-.899 2.28 0 3.181 1.591 1.59 2.438 3.604 2.438 5.832 0 2.226-.9 4.294-2.438 5.831-.901.902-.899 2.279 0 3.181.901.902 2.28.902 3.181 0a12.724 12.724 0 003.713-9.013z\"}]}],\"path\":{\"d\":\"M23.662 24.349a5.858 5.858 0 012.247-11.268 5.856 5.856 0 012.28 11.253l-.03 2.759v20.844c0 .601-.524 1.125-1.125 1.052h-2.249c-.599 0-1.125-.525-1.125-1.125V27.02l.002-2.671z\"}},\nbrush:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M49.4 2.7C46-.8 27 10 15.4 28.6c-.5.9-.2 2 .7 2.4 2.6 1.2 4.7 3.4 5.8 6.1.4 1 1.5 1.3 2.4.7 18-11.9 28.5-31.6 25.1-35.1zM11.9 35.2C10.4 35.2 9 36 8 37h-.1c-.5 0-1 .8-1.4 1.5-1.6 2.7-1.9 5.9-4.3 9.4-.4.6-.3 1.5.4 1.7 3.4 1.1 9.5.1 12.5-2.1v.1c1-.2.7-.6 1-.6 1.1-2 2-3 2-4.9-.1-3.7-2.7-6.9-6.2-6.9z\"}}},\nbucket:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M49 11c0-6.2-9.8-9-19-9s-19 2.8-19 9v.4C2.4 14 1 19.5 1 22.6c0 3 1.5 6.1 4.1 8.3 2.3 1.9 5.1 3 7.9 3.1h.8c6.5-.2 12.9-2.3 14.7-5.9-.9-.7-1.5-1.9-1.5-3.1 0-2.2 1.8-4 4-4s4 1.8 4 4c0 1.7-1 3.1-2.5 3.7-2 5.6-10 9.3-19.5 9.3v6c0 3.3 7.6 6 17 6s17-2.7 17-6V15.3c1.3-1.2 2-2.6 2-4.3zM30 8c6.6 0 10.8 1.5 12.4 2.6.3.2.3.6 0 .8C40.8 12.5 36.6 14 30 14s-10.8-1.5-12.4-2.6c-.3-.2-.3-.6 0-.8C19.2 9.5 23.4 8 30 8zM7.7 27.8C6 26.4 5 24.5 5 22.6c0-4.5 4.1-6.6 7.7-7.5l.3.3V30c-1.9-.1-3.8-.9-5.3-2.2z\"}},\nbug:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M19.6 10h12.8a1.51 1.51 0 001.43-1.75A8 8 0 0026 2a8.05 8.05 0 00-7.83 6.24A1.51 1.51 0 0019.6 10z\"},{\"d\":\"M47.59 30.8A2.4 2.4 0 0050 28.24 2.47 2.47 0 0047.43 26h-7v-4c4.64-1.84 7.91-6.8 8-12.71a2.48 2.48 0 00-2-2.48 2.39 2.39 0 00-2.8 2.4 9.14 9.14 0 01-3.92 7.83 4.87 4.87 0 00-4.08-2.24H16.41a4.87 4.87 0 00-4.08 2.24 9 9 0 01-3.92-7.66 2.53 2.53 0 00-2.24-2.56 2.39 2.39 0 00-2.55 2.4c0 5.91 3.35 11 8 12.79v4h-7A2.53 2.53 0 002 28.24a2.44 2.44 0 002.41 2.56h7.2v4C7 36.64 3.7 41.59 3.62 47.51a2.48 2.48 0 002 2.48 2.39 2.39 0 002.8-2.4 9 9 0 013.84-7.76 14.4 14.4 0 009.27 9.44 1.61 1.61 0 002.08-1.52V28.56A2.53 2.53 0 0125.84 26a2.44 2.44 0 012.56 2.4v19.35a1.58 1.58 0 002.08 1.52 14.4 14.4 0 009.27-9.44 9.25 9.25 0 013.84 7.6A2.53 2.53 0 0045.83 50a2.4 2.4 0 002.56-2.4c0-5.92-3.36-11-8-12.79v-4z\"}]}},\nbuilder:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M11.5 17h-8c-.8 0-1.5.7-1.5 1.5V44c0 2.2 1.8 4 4 4h5.5c.8 0 1.5-.7 1.5-1.5v-28c0-.8-.7-1.5-1.5-1.5zM48.5 17h-30c-.8 0-1.5.7-1.5 1.5v28c0 .8.7 1.5 1.5 1.5H46c2.2 0 4-1.8 4-4V18.5c0-.8-.7-1.5-1.5-1.5zM46 4H6C3.8 4 2 5.8 2 8v3.5c0 .8.7 1.5 1.5 1.5h45c.8 0 1.5-.7 1.5-1.5V8c0-2.2-1.8-4-4-4z\"}}},\nbundle_config:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M14.4 2H8a6 6 0 00-6 6v6a6 6 0 006 6h6.4a6 6 0 006-6V8a6 6 0 00-6-6zm-2.87 13.1h-.66a4.1 4.1 0 010-8.19h.66a4.1 4.1 0 010 8.19zM31.2 20h6.4a6 6 0 006-6V8a6 6 0 00-6-6h-6.4a6 6 0 00-6 6v6a6 6 0 006 6zm2.87-13.09h.66a4.1 4.1 0 010 8.19h-.66a4.1 4.1 0 010-8.19zM14.4 24.93L8 25a6 6 0 00-6 6v5.87a6 6 0 006 6h6.4a6 6 0 006-6v-5.94a6 6 0 00-6-6zM11.53 38h-.66a4.1 4.1 0 010-8.19h.66a4.1 4.1 0 010 8.19zM49.27 35.07a14.83 14.83 0 01-1.88-.22.22.22 0 01-.2-.21 18.39 18.39 0 00-.84-2v-.32c.32-.53.84-1.06 1.15-1.6a.82.82 0 00-.11-1.06l-2.08-2.14a.78.78 0 00-.52-.21 2.36 2.36 0 00-.52.21c-.52.32-1 .86-1.56 1.18a.1.1 0 00-.11.09h-.1c-.73-.21-1.25-.64-2-.85a.23.23 0 01-.21-.21c-.1-.64-.1-1.18-.21-1.82a.89.89 0 00-.52-.85.33.33 0 00-.21-.11h-3a.86.86 0 00-.52.11c-.21.21-.52.53-.52.85a11.15 11.15 0 01-.21 1.82.23.23 0 01-.21.21c-.73.21-1.25.64-2 .85h-.1c-.11 0-.11 0-.21-.1-.52-.32-.94-.86-1.56-1.18a.62.62 0 00-.53-.21c-.31 0-.31.11-.62.21l-2.08 2.14a.82.82 0 00-.11 1.06c.31.54.83 1 1.15 1.6a.21.21 0 010 .3c-.21.75-.63 1.28-.84 2a.22.22 0 01-.2.21c-.63.11-1.15.11-1.78.22a.87.87 0 00-.83.64v3.62a1.59 1.59 0 00.82.7 9.73 9.73 0 011.78.22.22.22 0 01.2.21c.21.75.63 1.28.84 2 0 .1.1.21 0 .32-.32.53-.84 1.06-1.15 1.6a.82.82 0 00.11 1.06l2.08 2.14c.21.21.31.21.62.21a1.63 1.63 0 00.53-.21c.5-.42 1-.81 1.56-1.18.1 0 .1-.1.21-.1h.1c.73.21 1.25.64 2 .85a.23.23 0 01.21.21c.1.64.1 1.28.21 1.92s.31.75.83.75h3c.52 0 .73-.21.84-.75s.1-1.28.21-1.92a.22.22 0 01.2-.21 18.46 18.46 0 002-.85h.11a.09.09 0 01.1.1c.52.32 1 .86 1.56 1.18a.86.86 0 00.53.21c.2 0 .31-.11.62-.21l2.08-2.14a.82.82 0 00.11-1.06c-.31-.54-.83-1-1.15-1.6a.21.21 0 010-.3c.21-.75.63-1.28.84-2a.22.22 0 01.2-.21c.63-.11 1.26-.11 1.88-.22s.73-.32.73-.85v-3c.01-.78-.2-1-.72-1.1zm-6.9 2.45a4.93 4.93 0 01-4.67 4.8 4.65 4.65 0 01-4.7-4.6v-.2a4.69 4.69 0 019.37-.43 3.09 3.09 0 010 .43z\"}},\nbundle_policy:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M37.55 22.55a2 2 0 00-2.83 0L30.43 27a2.11 2.11 0 000 2.92l9.62 9.94a2 2 0 002.83 0l4.29-4.44a2.11 2.11 0 000-2.92l-9.62-9.94zM31.8 39a2.37 2.37 0 00-3.35 0l-6.22 6.27h-.06a2.42 2.42 0 00.06 3.34 2.37 2.37 0 003.35 0l6.22-6.22h.06a2.42 2.42 0 00-.02-3.39zM47.68 45.2h-9.76a2.4 2.4 0 100 4.8h9.76A2.36 2.36 0 0050 47.6a2.36 2.36 0 00-2.32-2.4zM13.6 2H8a6.11 6.11 0 00-6 6.2V11a6.11 6.11 0 006 6.2h5.6a6.11 6.11 0 006-6.2V8.2a6.11 6.11 0 00-6-6.2zm-1.51 10.4H9.5a2.75 2.75 0 01-2.7-2.8 2.75 2.75 0 012.71-2.8h2.59a2.75 2.75 0 012.7 2.8 2.75 2.75 0 01-2.71 2.8zM30.4 17.2H36a6.11 6.11 0 006-6.2V8.2A6.11 6.11 0 0036 2h-5.6a6.11 6.11 0 00-6 6.2V11a6.11 6.11 0 006 6.2zm1.51-10.4h2.59a2.75 2.75 0 012.7 2.8 2.75 2.75 0 01-2.71 2.79H31.9a2.75 2.75 0 01-2.7-2.8 2.75 2.75 0 012.71-2.79zM13.6 22H8a6.11 6.11 0 00-6 6.2V31a6.11 6.11 0 006 6.2h5.6a6.11 6.11 0 006-6.2v-2.8a6.11 6.11 0 00-6-6.2zm-1.51 10.4H9.51a2.8 2.8 0 010-5.6h2.58a2.8 2.8 0 110 5.6z\",\"fill-rule\":\"evenodd\"}},\nbutton_choice:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M31.998 12c1.468-.001 3 1.133 3 4.135V26c0 1.513 1.38 2.111 1.98 2.311L43.8 30.8c2.9 1.1 4.7 4.2 3.9 7.4l-3.2 10.4c-.2.8-.9 1.4-1.8 1.4H26.6c-.8 0-1.5-.4-1.8-1.1L18.365 33.96c-.421-.978-.143-1.765.835-2.361 1.8-1.3 4.5.04 5.6 1.94l1.616 2.203c.636 1.208 2.584 1.208 2.584-.592V16.135C29 13.133 30.53 12 31.998 12zM46 2c2.2 0 4 1.8 4 4v15c0 1.882-1.819 4.003-4 4h-5.99C39 25 39 24.188 39 24.06V15.5c0-3.845-1.981-7.5-7-7.5s-7 3.188-7 7.5v8.56a.96.96 0 01-1.012.94H6c-2.2 0-4-1.8-4-4V6c0-2.2 1.8-4 4-4z\"}},\ncalculated_insights:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M44 6.81a6 6 0 00-4.77 9.56l-5 8.82h-.63a6 6 0 00-3 .81l-6.35-4.67A5.9 5.9 0 0024.4 20a6 6 0 10-10.73 3.67L8.52 33.2H8a5.94 5.94 0 00-3.69 1.25 6 6 0 108.41 1.08L17.89 26h.51a5.94 5.94 0 003-.8l6.35 4.67a5.9 5.9 0 00-.15 1.33 6 6 0 1010.78-3.58l5-8.82H44a6 6 0 100-12z\",\"fill-rule\":\"evenodd\"}},\ncall:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M48.5 37.9L42.4 33c-1.4-1.1-3.4-1.2-4.8-.1l-5.2 3.8c-.6.5-1.5.4-2.1-.2l-7.8-7-7-7.8c-.6-.6-.6-1.4-.2-2.1l3.8-5.2c1.1-1.4 1-3.4-.1-4.8l-4.9-6.1c-1.5-1.8-4.2-2-5.9-.3L3 8.4c-.8.8-1.2 1.9-1.2 3 .5 10.2 5.1 19.9 11.9 26.7S30.2 49.5 40.4 50c1.1.1 2.2-.4 3-1.2l5.2-5.2c1.9-1.5 1.8-4.3-.1-5.7z\"}},\ncampaign:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M26 .8C12.1.8.8 12.1.8 26S12.1 51.2 26 51.2 51.2 39.9 51.2 26 39.9.8 26 .8zm0 45.4C14.9 46.2 5.8 37.1 5.8 26S14.9 5.8 26 5.8 46.2 14.9 46.2 26 37.1 46.2 26 46.2zm0-35.3c-8.3 0-15.1 6.8-15.1 15.1S17.7 41.1 26 41.1 41.1 34.3 41.1 26 34.3 10.9 26 10.9zm0 25.2c-5.5 0-10.1-4.5-10.1-10.1S20.5 15.9 26 15.9 36.1 20.5 36.1 26 31.5 36.1 26 36.1zM26 21c-2.8 0-5 2.3-5 5s2.3 5 5 5 5-2.3 5-5-2.2-5-5-5z\"}},\ncancel_file_request:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M28.6 11.4h5.1c.6 0 1.1-.5 1.1-1.1 0-.3-.1-.5-.3-.8l-7.2-7.1c-.2-.2-.4-.3-.7-.3-.6 0-1.1.5-1.1 1.1v5.1c0 1.7 1.4 3.1 3.1 3.1z\"},{\"d\":\"M24.6 40.6c0-6.8 4.2-12.6 10.2-14.9v-8.1c0-.9-.7-1.6-1.6-1.6h-7.8c-2.6 0-4.7-2.1-4.7-4.6V3.6c.1-.8-.6-1.5-1.5-1.5H6.8c-2.6 0-4.7 2.1-4.7 4.6v29.4c0 2.6 2.1 4.6 4.7 4.6h17.8v-.1zM31.8 34.6l6 6-6 6c-.6.6-.6 1.6 0 2.1l.7.7c.6.6 1.6.6 2.1 0l6-6 6 6c.6.6 1.6.6 2.1 0l.7-.7c.6-.6.6-1.6 0-2.1l-6-6 6-6c.6-.6.6-1.6 0-2.1l-.7-.7c-.6-.6-1.6-.6-2.1 0l-6 6-6-6c-.6-.6-1.6-.6-2.1 0l-.7.7c-.6.5-.6 1.5 0 2.1z\"}]}},\ncancel_transfer:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M25.1 12.3v-3c4 0 7.2 3.2 7.2 7.2h-3l4.6 5.7c.3.3.7.3.9 0l4.6-5.7h-3c0-6.3-5.2-11.4-11.4-11.4v-3l-5.7 4.6c-.3.3-.2.7.1.9l5.7 4.7zM26.3 33.6c-1.2-1.6-3.5-2.7-5.8-3.8-2.4-1-2.7-2-2.7-3s.6-2.1 1.4-2.8c1.3-1.3 2.1-3.2 2.1-5.3 0-4-2.4-7.5-6.5-7.5h-.4c-4.1 0-6.5 3.5-6.5 7.5 0 2.2.7 4 2.1 5.3.8.7 1.4 1.7 1.4 2.8 0 1-.3 2-2.7 3-3.4 1.5-6.6 3.1-6.7 6.3.3 2.3 1.8 3.9 3.8 3.9h17.9c.3 0 .7-.1 1-.2.1-2.2.6-4.3 1.6-6.2zM31.8 34.6l6 6-6 6c-.6.6-.6 1.6 0 2.1l.7.7c.6.6 1.6.6 2.1 0l6-6 6 6c.6.6 1.6.6 2.1 0l.7-.7c.6-.6.6-1.6 0-2.1l-6-6 6-6c.6-.6.6-1.6 0-2.1l-.7-.7c-.6-.6-1.6-.6-2.1 0l-6 6-6-6c-.6-.6-1.6-.6-2.1 0l-.7.7c-.6.5-.6 1.5 0 2.1z\"}},\ncapacity_plan:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M43.3 6h-1.73a.74.74 0 00-.67.8V10a6.37 6.37 0 01-6.3 6.4H17.4a6.37 6.37 0 01-6.3-6.4V6.67a.74.74 0 00-.8-.67H8.7A4.77 4.77 0 004 10.8v34.4A4.77 4.77 0 008.7 50h34.6a4.77 4.77 0 004.7-4.8V10.8A4.77 4.77 0 0043.3 6zM25.92 45a12 12 0 01.16-24 12 12 0 01-.16 24z\"},{\"d\":\"M16.91 11.6h17.86a1.59 1.59 0 001.63-1.55V6.8A4.81 4.81 0 0031.6 2H20.4a4.82 4.82 0 00-4.8 4.8V10a1.47 1.47 0 001.31 1.6zM32.23 27.2A9.09 9.09 0 0026 24.4v8.8h8.77a7.32 7.32 0 00-2.54-6z\"}]},\ncapslock:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M43.6 21.1L27.2 2.5c-.6-.7-1.8-.7-2.4 0L8.4 21.1c-.6.7-.1 1.9.9 1.9H17v12.5c0 .8.7 1.5 1.5 1.5h15c.8 0 1.5-.7 1.5-1.5V23h7.7c1 0 1.5-1.2.9-1.9zM33.5 43h-15c-.8 0-1.5.7-1.5 1.5v4c0 .8.7 1.5 1.5 1.5h15c.8 0 1.5-.7 1.5-1.5v-4c0-.8-.7-1.5-1.5-1.5z\"}}},\ncart:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M20.1 26H44c.7 0 1.4-.5 1.5-1.2l4.4-15.4c.3-1.1-.5-2-1.5-2H11.5l-.6-2.3C10.6 4 9.6 3.3 8.6 3.3h-4c-1.3 0-2.5 1-2.6 2.3C1.9 7 3.1 8.2 4.4 8.2h2.3l7.6 25.7c.3 1.1 1.2 1.8 2.3 1.8h28.2c1.3 0 2.5-1 2.6-2.3.1-1.4-1.1-2.6-2.4-2.6H20.2c-1.1 0-2-.7-2.3-1.7V29c-.5-1.5.7-3 2.2-3z\"},\"circle\":[{\"cx\":\"20.6\",\"cy\":\"44.6\",\"r\":\"4\"},{\"cx\":\"40.1\",\"cy\":\"44.6\",\"r\":\"4\"}]}},\ncase:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M17.2 11.3h2.9c.4 0 .7-.3.7-.7V8.4h10.3v2.2c0 .4.3.7.7.7h2.9c.4 0 .7-.3.7-.7V8.4C35.4 6 33.4 4 31 4H20.9c-2.4 0-4.4 2-4.4 4.4v2.2c0 .4.2.7.7.7zm26.4 4.4H8.4c-2.4 0-4.4 2-4.4 4.4v23.5C4 46 6 48 8.4 48h35.2c2.4 0 4.4-2 4.4-4.4V20.1c0-2.4-2-4.4-4.4-4.4z\"}},\ncases:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M9 3.5C9 2.7 8.3 2 7.5 2h-4C2.7 2 2 2.7 2 3.5v31c0 .8.7 1.5 1.5 1.5h4c.8 0 1.5-.7 1.5-1.5v-31zM50 3.5c0-.8-.7-1.5-1.5-1.5h-4c-.8 0-1.5.7-1.5 1.5v31c0 .8.7 1.5 1.5 1.5h4c.8 0 1.5-.7 1.5-1.5v-31zM37.5 2h-3c-.8 0-1.5.8-1.5 1.6V16c0 .4.2.7.6.9 1.7.9 3.2 2 4.5 3.3.3.3.9.1.9-.3V3.6c0-.8-.7-1.6-1.5-1.6zM24.1 15.2c.6-.1 1.3-.1 1.9-.1s1.3 0 1.9.1 1.1-.4 1.1-1V3.6c0-.8-.7-1.6-1.5-1.6h-3c-.8 0-1.5.8-1.5 1.6v10.6c0 .6.5 1.1 1.1 1zM13.9 20.2c1.3-1.4 2.9-2.5 4.6-3.3.3-.2.5-.5.5-.9V3.6c0-.8-.7-1.6-1.5-1.6h-3c-.8 0-1.5.8-1.5 1.6v16.3c0 .4.5.6.9.3zM26 19.1c-7.2 0-13 5.8-13 13 0 2.2.6 4.4 1.6 6.2l-7.1 7.1c-.6.6-.6 1.5 0 2.1l2.1 2.1c.6.6 1.5.6 2.1 0l6.9-6.9c2.1 1.5 4.7 2.4 7.4 2.4 7.2 0 13-5.8 13-13s-5.8-13-13-13zm0 20c-3.9 0-7-3.1-7-7s3.1-7 7-7 7 3.1 7 7-3.1 7-7 7z\"}}},\ncenter_align:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"rect\":[{\"x\":\"2\",\"y\":\"23.6\",\"width\":\"48\",\"height\":\"6.4\",\"rx\":\"1.6\"},{\"data-name\":\"Rectangle\",\"x\":\"19\",\"y\":\"2\",\"width\":\"14.4\",\"height\":\"48\",\"rx\":\"3.2\"}]},\ncenter_align_text:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M48 6.5c0-.8-.7-1.5-1.5-1.5h-41C4.7 5 4 5.7 4 6.5v3c0 .8.7 1.5 1.5 1.5h41c.8 0 1.5-.7 1.5-1.5v-3zM42 18.5c0-.8-.7-1.5-1.5-1.5h-29c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h29c.8 0 1.5-.7 1.5-1.5v-3zM40 42.5c0-.8-.7-1.5-1.5-1.5h-25c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h25c.8 0 1.5-.7 1.5-1.5v-3zM48 30.5c0-.8-.7-1.5-1.5-1.5h-41c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h41c.8 0 1.5-.7 1.5-1.5v-3z\"}},\nchange_owner:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M27.3 37.6c-3-1.2-3.5-2.3-3.5-3.5 0-1.2.8-2.3 1.8-3.2 1.8-1.5 2.6-3.9 2.6-6.4 0-4.7-2.9-8.5-8.3-8.5s-8.3 3.8-8.3 8.5c0 2.5.8 4.9 2.6 6.4 1 .9 1.8 2 1.8 3.2 0 1.2-.5 2.3-3.5 3.5-4.4 1.8-8.6 3.8-8.7 7.6C4 47.8 6 50 8.5 50h23c2.5 0 4.5-2.2 4.5-4.7-.1-3.8-4.3-5.9-8.7-7.7zM44.5 19c0-7.4-6.1-13.5-13.5-13.5V2l-6.8 5.5c-.3.3-.2.8.1 1.1L31 14v-3.5c4.7 0 8.5 3.8 8.5 8.5H36l5.5 6.8c.3.3.8.3 1.1 0L48 19h-3.5z\"}},\nchange_record_type:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M20 37.5c0-.8-.7-1.5-1.5-1.5h-15c-.8 0-1.5.7-1.5 1.5v11c0 .8.7 1.5 1.5 1.5h15c.8 0 1.5-.7 1.5-1.5v-11zM8.1 22H3.2c-1 0-1.5.9-.9 1.4l8 8.3c.4.3 1 .3 1.4 0l8-8.3c.6-.6.1-1.4-.9-1.4h-4.7c0-5 4.9-10 9.9-10V6C15 6 8.1 13 8.1 22zM41.8 20.3c-.4-.3-1-.3-1.4 0l-8 8.3c-.6.6-.1 1.4.9 1.4h4.8c0 6-4.1 10-10.1 10v6c9 0 16.1-7 16.1-16H49c1 0 1.5-.9.9-1.4l-8.1-8.3zM50 3.5c0-.8-.7-1.5-1.5-1.5h-15c-.8 0-1.5.7-1.5 1.5v11c0 .8.7 1.5 1.5 1.5h15c.8 0 1.5-.7 1.5-1.5v-11z\"}},\nchart:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M45.5 23.4L25 34.7c-1.4.7-3-.3-3-1.8V8.4c0-1-1-1.8-1.9-1.5-10 2.8-17.2 12.5-16 23.6 1.1 10.1 9.2 18.3 19.4 19.4C36.8 51.3 48 41 48 28c0-1.2-.1-2.4-.3-3.6-.2-1-1.3-1.5-2.2-1z\"},{\"d\":\"M27.7 28l19.7-10.5c1.2-.6 1.6-2.2.8-3.3C43.7 8 36.7 3.5 28.7 2.2 27.3 1.9 26 3 26 4.4V27c0 .9.9 1.4 1.7 1z\"}]}},\nchat:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M26 4C12.7 4 2.1 13.8 2.1 25.9c0 3.8 1.1 7.4 2.9 10.6.3.5.4 1.1.2 1.7l-3.1 8.5c-.3.8.5 1.5 1.3 1.3l8.6-3.3c.5-.2 1.1-.1 1.7.2 3.6 2 7.9 3.2 12.5 3.2C39.3 48 50 38.3 50 26.1 49.9 13.8 39.2 4 26 4zM14 30c-2.2 0-4-1.8-4-4s1.8-4 4-4 4 1.8 4 4-1.8 4-4 4zm12 0c-2.2 0-4-1.8-4-4s1.8-4 4-4 4 1.8 4 4-1.8 4-4 4zm12 0c-2.2 0-4-1.8-4-4s1.8-4 4-4 4 1.8 4 4-1.8 4-4 4z\"}},\ncheck:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M19.1 42.5L2.6 25.9c-.6-.6-.6-1.6 0-2.2l2.2-2.2c.6-.6 1.6-.6 2.2 0L19.4 34c.4.4 1.1.4 1.5 0L45.2 9.5c.6-.6 1.6-.6 2.2 0l2.2 2.2c.6.6.6 1.6 0 2.2L21.3 42.5c-.6.7-1.6.7-2.2 0z\"}},\ncheckin:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M26 2C15.5 2 7 10.5 7 21.1c0 13.2 13.6 25.3 17.8 28.5.7.6 1.7.6 2.5 0C31.5 46.3 45 34.3 45 21.1 45 10.5 36.5 2 26 2zm0 27c-4.4 0-8-3.6-8-8s3.6-8 8-8 8 3.6 8 8-3.6 8-8 8z\"}},\ncheckout:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M38.67 27.35a11.33 11.33 0 11-11.32 11.32 11.34 11.34 0 0111.32-11.32zM20.36 37.63a4 4 0 11-4 4 4 4 0 014-4zm22.44-3.56l-6.06 6.79L34 38.09a.79.79 0 00-1.11 0l-1.11 1.07a.7.7 0 00-.07 1l.07.08L35.6 44a1.62 1.62 0 001.14.48 1.47 1.47 0 001.13-.48l7.19-7.87a.83.83 0 000-1l-1.12-1.05a.79.79 0 00-1.11 0zM8.2 2a2.42 2.42 0 012.25 1.7l.62 2.16h35.29a1.5 1.5 0 011.54 1.45 1.24 1.24 0 01-.06.47l-4.18 14.65a1.42 1.42 0 01-.52.82 16.42 16.42 0 00-4.47-.64 16 16 0 00-5.47 1H19.36a2.2 2.2 0 00-2.22 2.18 2.11 2.11 0 00.13.75v.08a2.26 2.26 0 002.17 1.62h7.1a16 16 0 00-2.77 4.61H16a2.32 2.32 0 01-2.25-1.7L6.5 6.62H4.33A2.37 2.37 0 012 4.22v-.06A2.46 2.46 0 014.48 2H8.2z\"}},\nchevrondown:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M47.6 17.8L27.1 38.5c-.6.6-1.6.6-2.2 0L4.4 17.8c-.6-.6-.6-1.6 0-2.2l2.2-2.2c.6-.6 1.6-.6 2.2 0l16.1 16.3c.6.6 1.6.6 2.2 0l16.1-16.2c.6-.6 1.6-.6 2.2 0l2.2 2.2c.5.6.5 1.5 0 2.1z\"}},\nchevronleft:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M34.2 47.7L13.4 27.2c-.6-.6-.6-1.6 0-2.2L34.2 4.5c.6-.6 1.6-.6 2.2 0l2.2 2.2c.6.6.6 1.6 0 2.2L22.1 25c-.6.6-.6 1.6 0 2.2l16.3 16.1c.6.6.6 1.6 0 2.2l-2.2 2.2c-.5.5-1.4.5-2 0z\"}},\nchevronright:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M17.9 4.4l20.7 20.5c.6.6.6 1.6 0 2.2L17.9 47.6c-.6.6-1.6.6-2.2 0l-2.2-2.2c-.6-.6-.6-1.6 0-2.2l16.3-16.1c.6-.6.6-1.6 0-2.2L13.6 8.8c-.6-.6-.6-1.6 0-2.2l2.2-2.2c.6-.5 1.5-.5 2.1 0z\"}},\nchevronup:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M4.4 34.2l20.5-20.7c.6-.6 1.6-.6 2.2 0l20.5 20.7c.6.6.6 1.6 0 2.2l-2.2 2.2c-.6.6-1.6.6-2.2 0L27.1 22.2c-.6-.6-1.6-.6-2.2 0L8.8 38.5c-.6.6-1.6.6-2.2 0l-2.2-2.2c-.5-.6-.5-1.5 0-2.1z\"}},\nchoice:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"circle\":{\"cx\":\"26\",\"cy\":\"26\",\"r\":\"11.2\"},\"path\":{\"d\":\"M26 2C12.8 2 2 12.8 2 26s10.8 24 24 24 24-10.8 24-24S39.2 2 26 2zm0 41.6c-9.7 0-17.6-7.9-17.6-17.6S16.3 8.4 26 8.4 43.6 16.3 43.6 26 35.7 43.6 26 43.6z\"}}},\nclassic_interface:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M25.5 35.7v-8.5s-3.8 5.7-6.2 9.6-2.1 7-2.1 7c0 3.1 2.3 5.7 5.1 5.7 1.7 0 3.2-.9 4.1-2.4.9 1.3 2.3 2 3.9 2 2.8 0 5.1-2.5 5.1-5.7 0-.3-.1-.6-.1-.9 0-4.2-9.2-15.5-9.2-15.5V35.7l1.2 2.9c0 .1.1.2.1.4 0 .7-.6 1.3-1.3 1.3-.7 0-1.3-.6-1.3-1.3 0-.1 0-.3.1-.4l.6-2.9M15.9 28.3l8-3s-6.6-1.6-11.2-2.5c-4.6-.9-7.3.5-7.3.5C2.5 24.4.9 27.4 1.8 30c.6 1.6 2 2.7 3.7 3.1-.9 1.3-1.1 2.9-.6 4.4 1 2.6 4.1 3.9 7.1 2.8.3-.1.6-.3.8-.4 4-1.4 11.3-14 11.3-14l-7.8 2.9-.3.1-2.3 2.1c-.1.1-.2.1-.3.2-.7.3-1.5-.1-1.7-.8-.3-.7.1-1.5.8-1.7.1 0 .3-.1.4-.1l3-.3M19.9 16.4l5.1 6.9s-.4-6.8-.8-11.4C23.8 7.3 21.7 5 21.7 5c-1.9-2.5-5.2-3.2-7.4-1.5-1.4 1-2 2.7-1.9 4.4-1.5-.5-3.1-.3-4.4.6-2.2 1.7-2.5 5.1-.7 7.6.2.2.4.5.6.7 2.5 3.4 16.7 6.9 16.7 6.9l-5-6.7-.2-.2-2.7-1.6-.3-.3c-.4-.6-.3-1.4.3-1.9.6-.4 1.4-.3 1.9.3.1.1.1.2.2.3l1.1 2.8M36.1 28.3l-8-3s6.6-1.6 11.2-2.5c4.6-.9 7.3.5 7.3.5 2.9 1.1 4.5 4.1 3.6 6.7-.6 1.6-2 2.7-3.7 3.1.9 1.3 1.1 2.9.6 4.4-1 2.6-4.1 3.9-7.1 2.8-.3-.1-.6-.3-.8-.4-4-1.4-11.3-14-11.3-14l7.8 2.9.3.1 2.3 2.1c.1.1.2.1.3.2.7.3 1.5-.1 1.7-.8.3-.7-.1-1.5-.8-1.7-.1 0-.3-.1-.4-.1l-3-.3M31.7 16.4l-5.1 6.9s.4-6.8.8-11.4S29.9 5 29.9 5c1.9-2.5 5.2-3.2 7.4-1.5 1.4 1 2 2.7 1.9 4.4 1.5-.4 3.1-.2 4.3.7 2.2 1.7 2.5 5.1.7 7.6-.2.2-.4.5-.6.7-2.4 3.3-16.6 6.7-16.6 6.7l5-6.7.2-.2 2.7-1.6.3-.3c.4-.6.3-1.4-.3-1.9-.6-.4-1.4-.3-1.9.3-.1.1-.1.2-.2.3l-1.1 2.9\"}}},\nclear:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M26 2C12.7 2 2 12.7 2 26s10.7 24 24 24 24-10.7 24-24S39.3 2 26 2zm4.9 24.8l7.8 7.8c.4.4.4 1 0 1.4l-2.8 2.8c-.4.4-1 .4-1.4 0L26.7 31c-.4-.4-1-.4-1.4 0l-7.8 7.8c-.4.4-1 .4-1.4 0L13.3 36c-.4-.4-.4-1 0-1.4l7.8-7.8c.4-.4.4-1 0-1.4l-7.9-7.9c-.4-.4-.4-1 0-1.4l2.8-2.8c.4-.4 1-.4 1.4 0l7.9 7.9c.4.4 1 .4 1.4 0l7.8-7.8c.4-.4 1-.4 1.4 0l2.8 2.8c.4.4.4 1 0 1.4l-7.8 7.8c-.3.4-.3 1 0 1.4z\"}},\nclock:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M26 2C12.8 2 2 12.8 2 26s10.8 24 24 24 24-10.8 24-24S39.2 2 26 2zm0 42c-9.9 0-18-8.1-18-18S16.1 8 26 8s18 8.1 18 18-8.1 18-18 18z\"},{\"d\":\"M29.4 26.2c-.3-.3-.4-.7-.4-1.1v-9.6c0-.8-.7-1.5-1.5-1.5h-3c-.8 0-1.5.7-1.5 1.5v12.1c0 .4.2.8.4 1.1l7.4 7.4c.6.6 1.5.6 2.1 0L35 34c.6-.6.6-1.5 0-2.1l-5.6-5.7z\"}]}},\nclose:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M31 25.4l13-13.1c.6-.6.6-1.5 0-2.1l-2-2.1c-.6-.6-1.5-.6-2.1 0L26.8 21.2c-.4.4-1 .4-1.4 0L12.3 8c-.6-.6-1.5-.6-2.1 0l-2.1 2.1c-.6.6-.6 1.5 0 2.1l13.1 13.1c.4.4.4 1 0 1.4L8 39.9c-.6.6-.6 1.5 0 2.1l2.1 2.1c.6.6 1.5.6 2.1 0L25.3 31c.4-.4 1-.4 1.4 0l13.1 13.1c.6.6 1.5.6 2.1 0L44 42c.6-.6.6-1.5 0-2.1L31 26.8c-.4-.4-.4-1 0-1.4z\"}},\ncollapse_all:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M48 9.5c0-.8-.7-1.5-1.5-1.5h-41C4.7 8 4 8.7 4 9.5v3c0 .8.7 1.5 1.5 1.5h41c.8 0 1.5-.7 1.5-1.5v-3zM48 39.5c0-.8-.7-1.5-1.5-1.5h-41c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h41c.8 0 1.5-.7 1.5-1.5v-3zM34.5 29c.8 0 1.5-.7 1.5-1.5v-3c0-.8-.7-1.5-1.5-1.5h-17c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h17z\"}},\ncollection:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M12 2.17h14v23.5l.31.46.57-.1 5.66-5.14.39-.12.42.11L38.6 26l.6.1.28-.46V2h3.28a6 6 0 013 1.12 5.22 5.22 0 011.57 2.74v39.43a4.2 4.2 0 01-.88 3.15A4.58 4.58 0 0142.81 50H12.32c-.24 0-1.52.27-3.38-1.54a5.28 5.28 0 01-1.48-3.56v-1.29H5.87a3.15 3.15 0 01-3.19-3.34c.06-3 3.14-3 3.14-3h1.64v-8H5.87a3.09 3.09 0 01-3.19-3.19 3.24 3.24 0 013.19-3.34h1.59v-7.83H5.87a3.11 3.11 0 01-3.19-3.1 3.15 3.15 0 013.19-3.28h1.59v-1.9a4.78 4.78 0 011.19-2.92A5.14 5.14 0 0112 2.17z\"}},\ncollection_variable:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M45 2H7C4.2 2 2 4.2 2 7v38c0 2.7 2.2 5 5 5h38c2.7 0 5-2.2 5-5V7c0-2.8-2.2-5-5-5zm-2.4 39.4c-.1.6-.7 1.1-1.4 1.1h-31c-.6 0-1.1-.6-1.1-1.3V10.6c0-.6.6-1.1 1.3-1.1h31c.6 0 1.1.6 1.1 1.3v30.6z\"},{\"d\":\"M33 22.4c1 0 3.1-.8 3.1-3.6s-2-2.9-2.6-2.9c-1.2 0-2.4.9-3.5 2.7-1.1 1.9-2.3 3.9-2.3 3.9-.3-1.3-.5-2.4-.6-2.9-.2-1.1-1.5-3.6-4.3-3.6-2.7 0-5.2 1.6-5.2 1.6-.5.3-.8.8-.8 1.4 0 .9.7 1.7 1.7 1.7.3 0 .5-.1.7-.2 0 0 2.1-1.2 2.5 0 .1.3.2.7.4 1.1.5 1.8 1 3.9 1.4 5.8L21.7 30s-2-.7-3.1-.7-3.1.8-3.1 3.6 2 2.9 2.6 2.9c1.2 0 2.4-.9 3.5-2.7 1.1-1.9 2.3-3.9 2.3-3.9.4 1.7.6 3.1.8 3.6.7 1.9 2.2 3.1 4.3 3.1 0 0 2.1 0 4.7-1.4.6-.2 1-.8 1-1.5 0-.9-.7-1.7-1.7-1.7-.3 0-.5.1-.7.2 0 0-1.8 1-2.4.2-.4-.8-.8-2-1.1-3.3-.3-1.2-.6-2.7-.8-4.1l1.8-2.6c.2 0 2.2.7 3.2.7z\"}]},\ncolor_swatch:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M35.435 9.494l7.071 7.071.002-.002a4 4 0 010 5.657l-.002.002L24 40.703V15.264l5.777-5.771h.001a4 4 0 015.656.002l.001-.001zM50 36v10a4 4 0 01-4 4H21l18-18h7a4 4 0 014 4zM2 41.046V6a4 4 0 014-4h10a4 4 0 014 4v35.046a9 9 0 01-18 0zM11 45a4 4 0 100-8 4 4 0 000 8z\"}},\ncomments:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M47.8 31c-.1-.4-.1-.8.1-1.2 1.3-2.3 2.1-4.9 2.1-7.7 0-8.8-7.6-16-17-16-4.4 0-8.4 1.6-11.4 4.2C31.9 11.5 40 19.9 40 30.1c0 2.5-.5 4.9-1.4 7.1 1.1-.4 2.2-.9 3.2-1.4.4-.2.8-.3 1.2-.1l6.1 2.4c.6.2 1.1-.3.9-.9L47.8 31z\"},{\"d\":\"M19 14.1c-9.4 0-17 7.2-17 16 0 2.8.8 5.4 2.1 7.7.2.4.3.8.1 1.2L2 45.1c-.2.6.3 1.1.9.9L9 43.6c.4-.1.8-.1 1.2.1 2.6 1.5 5.6 2.3 8.8 2.3 9.4 0 17-7.2 17-16 0-8.7-7.6-15.9-17-15.9z\"}]},\ncompany:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M21 4H7C5.3 4 4 5.3 4 7v40c0 .5.5 1 1 1h4c.6 0 1-.4 1-1v-6c0-.6.4-1 1-1h6c.6 0 1 .4 1 1v6c0 .6.4 1 1 1h3c1.1 0 2-.9 2-2V7c0-1.7-1.3-3-3-3zm-9 31.5c0 .3-.2.5-.5.5h-3c-.3 0-.5-.2-.5-.5v-5c0-.3.2-.5.5-.5h3c.3 0 .5.2.5.5v5zm0-10c0 .3-.2.5-.5.5h-3c-.3 0-.5-.2-.5-.5v-5c0-.3.2-.5.5-.5h3c.3 0 .5.2.5.5v5zm0-10c0 .3-.2.5-.5.5h-3c-.3 0-.5-.2-.5-.5v-5c0-.3.2-.5.5-.5h3c.3 0 .5.2.5.5v5zm8 20c0 .3-.2.5-.5.5h-3c-.3 0-.5-.2-.5-.5v-5c0-.3.2-.5.5-.5h3c.3 0 .5.2.5.5v5zm0-10c0 .3-.2.5-.5.5h-3c-.3 0-.5-.2-.5-.5v-5c0-.3.2-.5.5-.5h3c.3 0 .5.2.5.5v5zm0-10c0 .3-.2.5-.5.5h-3c-.3 0-.5-.2-.5-.5v-5c0-.3.2-.5.5-.5h3c.3 0 .5.2.5.5v5zM45 14H31c-1.7 0-3 1.3-3 3v30c0 .5.5 1 1 1h4c.6 0 1-.4 1-1v-6c0-.6.4-1 1-1h6c.6 0 1 .4 1 1v6c0 .6.4 1 1 1h3c1.1 0 2-.9 2-2V17c0-1.7-1.3-3-3-3zm-9 21.5c0 .3-.2.5-.5.5h-3c-.3 0-.5-.2-.5-.5v-5c0-.3.2-.5.5-.5h3c.3 0 .5.2.5.5v5zm0-10c0 .3-.2.5-.5.5h-3c-.3 0-.5-.2-.5-.5v-5c0-.3.2-.5.5-.5h3c.3 0 .5.2.5.5v5zm8 10c0 .3-.2.5-.5.5h-3c-.3 0-.5-.2-.5-.5v-5c0-.3.2-.5.5-.5h3c.3 0 .5.2.5.5v5zm0-10c0 .3-.2.5-.5.5h-3c-.3 0-.5-.2-.5-.5v-5c0-.3.2-.5.5-.5h3c.3 0 .5.2.5.5v5z\"}},\ncomponent_customization:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M50 5.4C50 2 47.2 2 47.2 2H4.9c-.5.1-2.9.3-2.9 3v14.2c.1.6.6 2.8 3 2.8h42.2c3.1 0 2.8-2.7 2.8-2.7V5.4zM49.1 35.3c-.6-.1-1.2-.1-1.8-.2-.1 0-.2-.1-.2-.2-.2-.7-.6-1.4-.8-1.9v-.3c.3-.5.8-1 1.1-1.5.2-.3.2-.7-.1-1l-2-2c-.1-.1-.3-.2-.5-.2-.1 0-.3.1-.5.2-.5.3-1 .8-1.5 1.1-.1 0-.1.1-.1.1h-.1c-.7-.2-1.2-.6-1.9-.8-.1 0-.2-.1-.2-.2-.1-.6-.1-1.1-.2-1.7 0-.3-.1-.6-.5-.8-.1-.1-.2-.1-.2-.1h-2.9c-.2 0-.3 0-.5.1-.2.2-.5.5-.5.8 0 .6-.1 1.1-.2 1.7 0 .1-.1.2-.2.2-.7.2-1.2.6-1.9.8h-.1c-.1 0-.1 0-.2-.1-.5-.3-.9-.8-1.5-1.1-.1-.1-.2-.2-.5-.2s-.3.1-.6.2l-2 2c-.3.3-.3.7-.1 1 .3.5.8.9 1.1 1.5.1.1.1.2 0 .3-.2.7-.6 1.2-.8 1.9 0 .1-.1.2-.2.2-.6.1-1.1.1-1.7.2-.3 0-.7.2-.8.6v3.4c.2.3.5.5.8.6.6 0 1.1.1 1.7.2.1 0 .2.1.2.2.2.7.6 1.2.8 1.9 0 .1.1.2 0 .3-.3.5-.8 1-1.1 1.5-.2.3-.2.7.1 1l2 2c.2.2.3.2.6.2.1 0 .3-.1.5-.2.5-.3.9-.8 1.5-1.1.1 0 .1-.1.2-.1h.1c.7.2 1.2.6 1.9.8.1 0 .2.1.2.2.1.6.1 1.2.2 1.8 0 .5.3.7.8.7h2.9c.5 0 .7-.2.8-.7.1-.6.1-1.2.2-1.8 0-.1.1-.2.2-.2.7-.2 1.4-.6 1.9-.8h.1s.1 0 .1.1c.5.3 1 .8 1.5 1.1.1.1.3.2.5.2s.3-.1.6-.2l2-2c.3-.3.3-.7.1-1-.3-.5-.8-.9-1.1-1.5-.1-.1-.1-.2 0-.3.2-.7.6-1.2.8-1.9 0-.1.1-.2.2-.2.6-.1 1.2-.1 1.8-.2.5 0 .7-.3.7-.8v-2.8c0-.7-.2-.9-.7-1zM38 42.1c-2.6 0-4.5-2-4.5-4.5s2-4.5 4.5-4.5 4.5 2 4.5 4.5c-.1 2.4-2.1 4.5-4.5 4.5zM23.4 27.8c-.1-1.6-1.5-1.8-1.9-1.8H3.8c-.5 0-1.8.2-1.8 2v20.6c.1.5.4 1.4 2 1.4h17.5c2 0 2-2.3 2-2.3v-2.4c0-1 .2-2.1-.4-3.1-.1-.2-.2-.3-.3-.5s-.2-.3-.3-.5c-.6-.9-.5-2-.5-3.1 0-1 0-2.1.5-3 .2-.4.5-.8.7-1.2.4-.6.4-1.4.4-2.1l-.2-4z\"}}},\nconnected_apps:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M23.8 31.2L20 48.8c-.2 1 1.1 1.7 1.7.9l21-26c.6-.7.1-1.7-.7-1.7H30.8c-.8 0-1.3-.9-.9-1.5l9.9-16.2c.6-1-.1-2.3-1.3-2.3H20.8c-1.1 0-2 .7-2.4 1.7L10.1 28c-.3 1 .4 2 1.4 2h11.4c.6 0 1.1.6.9 1.2z\"}},\nconstant:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M49.1 7.7c-.3-.3-.6-.4-1-.4-3.8-.2-7.7.1-11.5.2H23.1c-4.1 0-7.4.9-10.5 3.7-2 1.8-3.9 4.4-5.4 6.7-.1.3-.2.5-.2.9 0 .8.7 1.5 1.5 1.5.9 0 1.1-.6 1.5-1.2.4-.7.9-1.3 1.5-1.8 2.1-1.9 4.9-3 7.7-2.7-2.4 6.6-5.7 14.2-10.5 19.4-2 2.2-5.4 4.4-6.1 7.4-.8 3.1 2.4 3.9 4.7 3 3-1.2 4.9-4.3 6.4-7 1.9-3.3 3.6-6.8 5-10.3 1.5-3.5 2.9-6.9 4.4-10.4.9-2.1 1.1-2.1 3.3-2.1h5.9c-2.2 4.8-4.3 9.7-6.2 14.6-1.5 3.7-4.2 9.2-2.3 13.2 1.9 4 7.2 2.5 10.1.5 2.9-2.1 4.9-5.4 6.5-8.6.3-.6.6-1.2.4-1.9-.2-.6-.8-.9-1.4-.9-1.4 0-1.6 1.6-2.1 2.6-.8 1.7-2.6 3.2-4.5 2.9-4.4-.6-.5-8.6.3-10.7.8-2.2 1.7-4.4 2.7-6.5.5-1.2 1-2.5 1.7-3.7.8-1.5.8-1.5 2.6-1.6 1.5-.1 5.9.7 7.2-.1 1.1-.7 1.7-3.3 2.2-5.2.1-.6-.1-1.1-.4-1.5z\"}},\ncontact_request:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M25.4 27c-.6.2-.9.9-.4 1.4l4.4 4.5c.5.5.5 1.2 0 1.7l-1.7 1.7c-.5.5-1.2.5-1.7 0L15.3 25.5c-.5-.5-.5-1.2 0-1.7L26 13.1c.5-.5 1.2-.5 1.7 0l1.7 1.7c.5.5.5 1.2 0 1.7L24.9 21c-.5.5.4 1.4.4 1.4 10.2.3 18.1 7 20.5 16.1C48.4 34.9 50 30.6 50 26 49.9 13.7 39.2 4 26 4S2.2 13.8 2.2 25.8c0 3.8 1.1 7.4 2.9 10.6.3.5.4 1.1.2 1.7l-3.1 8.5c-.3.8.5 1.5 1.3 1.3l8.7-3.3c.5-.2 1.1-.1 1.7.2 3.6 2 7.9 3.2 12.5 3.2 5.9-.1 11.4-2.1 15.5-5.5-1.1-8.5-8-15.1-16.5-15.5z\"}},\ncontract:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M29.6 24H45c1 0 1.3-1.1.5-1.9l-4.9-5 9-9.1c.5-.5.5-1.4 0-1.9l-3.7-3.7c-.5-.4-1.3-.4-1.9.1l-9 9-5.1-4.9c-.8-.8-1.9-.5-1.9.5v15.4c0 .7.9 1.5 1.6 1.5zM22.4 28H7c-1 0-1.3 1.1-.5 1.9l4.9 5-9 9.1c-.5.5-.5 1.4 0 1.9l3.7 3.7c.5.5 1.3.5 1.9 0l9.1-9.1 5.1 4.9c.7.9 1.8.6 1.8-.4V29.7c0-.7-.9-1.7-1.6-1.7zM28 29.6V45c0 1 1.1 1.3 1.9.5l5-4.9 9.1 9c.5.5 1.4.5 1.9 0l3.7-3.7c.4-.5.4-1.3-.1-1.9l-9-9 4.9-5.1c.8-.8.5-1.9-.5-1.9H29.5c-.7 0-1.5.9-1.5 1.6zM24 22.4V7c0-1-1.1-1.3-1.9-.5l-5 4.9-9.1-9c-.5-.5-1.4-.5-1.9 0L2.4 6.1c-.5.5-.5 1.3 0 1.9l9.1 9.1-4.9 5.1c-.9.7-.6 1.8.4 1.8h15.3c.7 0 1.7-.9 1.7-1.6z\"}},\ncontract_alt:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M29.6 23.9H45c1 0 1.3-1.1.5-1.9l-4.9-5 9-9.1c.5-.5.5-1.4 0-1.9l-3.7-3.7c-.5-.4-1.3-.4-1.9.1l-9 9-5.1-4.9C29.1 5.7 28 6 28 7v15.4c0 .7.9 1.5 1.6 1.5zM22.4 28H7c-1 0-1.3 1.1-.5 1.9l4.9 5-9 9.1c-.5.5-.5 1.4 0 1.9l3.7 3.7c.5.5 1.3.5 1.9 0l9.1-9.1 5.1 4.9c.7.9 1.8.6 1.8-.4V29.7c0-.7-.9-1.7-1.6-1.7z\"}},\ncopy:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M44 2H18c-2.2 0-4 1.8-4 4v2h24c2.2 0 4 1.8 4 4v28h2c2.2 0 4-1.8 4-4V6c0-2.2-1.8-4-4-4z\"},{\"d\":\"M38 16c0-2.2-1.8-4-4-4H8c-2.2 0-4 1.8-4 4v30c0 2.2 1.8 4 4 4h26c2.2 0 4-1.8 4-4V16zm-18 7c0 .6-.4 1-1 1h-8c-.6 0-1-.4-1-1v-2c0-.6.4-1 1-1h8c.6 0 1 .4 1 1v2zm8 16c0 .6-.4 1-1 1H11c-.6 0-1-.4-1-1v-2c0-.6.4-1 1-1h16c.6 0 1 .4 1 1v2zm4-8c0 .6-.4 1-1 1H11c-.6 0-1-.4-1-1v-2c0-.6.4-1 1-1h20c.6 0 1 .4 1 1v2z\"}]},\ncopy_to_clipboard:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M17.4 11.6h17.3c.9 0 1.6-.7 1.6-1.6V6.8c0-2.6-2.1-4.8-4.7-4.8h-11c-2.6 0-4.7 2.2-4.7 4.8V10c-.1.9.6 1.6 1.5 1.6z\"},{\"d\":\"M43.3 6h-1.6c-.5 0-.8.3-.8.8V10c0 3.5-2.8 6.4-6.3 6.4H17.4c-3.5 0-6.3-2.9-6.3-6.4V6.8c0-.5-.3-.8-.8-.8H8.7C6.1 6 4 8.2 4 10.8v34.4C4 47.8 6.1 50 8.7 50h34.6c2.6 0 4.7-2.2 4.7-4.8V10.8C48 8.2 45.9 6 43.3 6z\"}]}},\ncrossfilter:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M35 9c-1.7 0-3.3.2-4.8.7 1.8 1.5 3.4 3.3 4.7 5.3h.1c6.1 0 11 4.9 11 11s-4.9 11-11 11c-1.5 0-3-.3-4.3-.9.8-1.1 1.5-2.3 2-3.5.2-.5.4-.9.5-1.4.5-1.6.8-3.4.8-5.2 0-9.4-7.6-17-17-17S0 16.6 0 26s7.6 17 17 17c1.7 0 3.3-.2 4.8-.7-1.8-1.5-3.4-3.3-4.7-5.3H17c-6.1 0-11-4.9-11-11s4.9-11 11-11c1.5 0 3 .3 4.4.9C19.3 18.7 18 22.2 18 26c0 9.4 7.6 17 17 17s17-7.6 17-17S44.4 9 35 9z\"}},\ncurrency:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M45.1 10.9H6.9c-2.4 0-4.4 2-4.4 4.4v21.3c0 2.4 2 4.4 4.4 4.4h38.2c2.4 0 4.4-2 4.4-4.4V15.4c0-2.5-2-4.5-4.4-4.5zM12 36.6c0-2.9-2.3-5.1-5.1-5.1v-11c2.9 0 5.1-2.3 5.1-5.1h28c0 2.9 2.3 5.1 5.1 5.1v11c-2.9 0-5.1 2.3-5.1 5.1H12z\"},\"circle\":{\"cx\":\"26\",\"cy\":\"25.6\",\"r\":\"7.3\"}}},\ncurrency_input:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M35.9 37.6c2.7-4.5 2.2-10.4-1.7-14.3-4.5-4.5-11.9-4.5-16.4 0-3.9 3.9-4.4 9.8-1.7 14.3h19.8z\"},{\"d\":\"M49.5 7.2v37.6c0 2.6-2.1 4.7-4.7 4.7H7.2c-2.6 0-4.7-2.1-4.7-4.7V7.2c0-2.6 2.1-4.7 4.7-4.7h37.6c2.6 0 4.7 2.1 4.7 4.7zm-39.2 36h31.3c.9 0 1.6-.7 1.6-1.6V10.3c0-.9-.7-1.6-1.6-1.6H10.3c-.9 0-1.6.7-1.6 1.6v31.3c.1.9.8 1.6 1.6 1.6z\"}]},\ncustom_apps:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M49.4 12.2c-.2-.6-.9-.7-1.4-.3L39.9 20c-.6.6-1.6.6-2.2 0L32 14.3c-.6-.6-.6-1.6 0-2.2L40.2 4c.4-.4.2-1.1-.3-1.4-1.4-.4-2.9-.6-4.3-.6-8.5 0-15.3 7.3-14.3 16 .2 1.4.5 2.6 1 3.8L3.6 40.4c-2.2 2.2-2.2 5.8 0 7.9 1.1 1.1 2.6 1.7 4 1.7s2.9-.6 4-1.7l18.6-18.6c1.2.5 2.5.8 3.8 1 8.7 1 16-5.8 16-14.3 0-1.5-.2-2.9-.6-4.2z\"}},\ncut:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M40.7 31.4c-1.7-.4-3.3-.2-4.7.3L13.9 2.4c-.3-.4-1-.5-1.4-.2l-.8.6c-1.7 1.3-2 3.8-.7 5.6l10.6 14c.4.5.4 1.3 0 1.8l-5.7 7.5c-1.4-.5-3.1-.6-4.7-.3-3.7.8-6.6 3.8-7.1 7.5-.8 5.9 4.4 11 10.5 10 3.6-.6 6.5-3.4 7.3-6.9.5-2.5 0-4.8-1.2-6.5l4.2-5.6c.6-.8 1.8-.8 2.4 0l4.2 5.6c-1.2 1.9-1.7 4.2-1.2 6.5.7 3.6 3.7 6.3 7.3 6.9 6.1 1 11.3-4.1 10.5-10-.9-3.8-3.8-6.8-7.4-7.5zM12.9 43.1c-1.7 0-3-1.3-3-3s1.3-3 3-3 3 1.3 3 3-1.3 3-3 3zm26 0c-1.7 0-3-1.3-3-3s1.3-3 3-3 3 1.3 3 3c-.1 1.7-1.4 3-3 3zM31.3 18.9c.4.5 1.2.5 1.6 0l8-10.5c1.1-1.5 1-3.5-.1-4.9l.1-.1-.1.1c-.2-.3-1.5-1.3-1.5-1.3-.4-.3-1.1-.2-1.4.2l-8.8 11.7c-.4.5-.4 1.3 0 1.8l2.2 3z\"}}},\ndash:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M50 27.5c0 .8-.7 1.5-1.5 1.5h-45c-.8 0-1.5-.7-1.5-1.5v-3c0-.8.7-1.5 1.5-1.5h45c.8 0 1.5.7 1.5 1.5v3z\"}},\ndata_mapping:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M44.5 21a5.5 5.5 0 11-4.9 8h-.91c-5.39.06-7.29 1.7-10.31 7.34l-.17.33-.2.38c-1.8 3.37-2.82 4.9-4.66 6.52C20.76 45.84 17.42 47 13 47h-.6a5.5 5.5 0 110-5h.91c5.49-.06 7.36-1.76 10.48-7.67L24 34a27.18 27.18 0 013.11-5H12.4a5.5 5.5 0 110-5h27.2a5.53 5.53 0 014.68-3zm0-19a5.5 5.5 0 11-4.9 8H12.4a5.5 5.5 0 110-5h27.2a5.5 5.5 0 014.9-3z\"}},\ndatabase:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M45.4 9c0-3.8-8.7-6.9-19.4-6.9S6.6 5.2 6.6 9v2.4c0 3.8 8.7 6.9 19.4 6.9s19.4-3.1 19.4-6.9V9z\"},{\"d\":\"M6.6 17c0 3 8.7 5.4 19.4 5.4S45.4 20 45.4 17v4.9c0 3.8-8.7 6.9-19.4 6.9S6.6 25.7 6.6 21.9V17z\"},{\"d\":\"M6.6 17c0 3 8.7 5.4 19.4 5.4S45.4 20 45.4 17v4.9c0 3.8-8.7 6.9-19.4 6.9S6.6 25.7 6.6 21.9V17z\"},{\"d\":\"M6.6 27.5c0 3 8.7 5.4 19.4 5.4s19.4-2.4 19.4-5.4v4.9c0 3.8-8.7 6.9-19.4 6.9s-19.4-3-19.4-6.8v-5z\"},{\"d\":\"M6.6 38.1c0 3 8.7 5.4 19.4 5.4s19.4-2.4 19.4-5.4V43c0 3.8-8.7 6.9-19.4 6.9S6.6 46.8 6.6 43v-4.9z\"}]},\ndatadotcom:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M42.5 49.1h-5.3c-.3-1.9-.5-3.6-.5-5.1h-.1c-2.5 4-6.6 6-12.2 6-4.8 0-8.5-1.6-11.1-4.9-2.6-3.3-3.8-7.6-3.8-12.8 0-3.4.6-6.4 1.9-9.1s3.1-4.9 5.5-6.4c2.4-1.6 5.2-2.4 8.4-2.4 4.6 0 8.3 1.5 11.1 4.4V2.1H42v39.6c0 2.4.2 4.9.5 7.4zm-6.2-14.5V23.9c-1.3-1.7-2.8-2.9-4.5-3.8-1.7-.8-3.6-1.2-5.8-1.2-3.3 0-5.9 1.2-7.8 3.7-1.9 2.5-2.8 5.7-2.8 9.6 0 4.1.9 7.3 2.7 9.7 1.8 2.4 4.4 3.6 7.6 3.6 3.2 0 5.8-1 7.7-3.1 2-2 2.9-4.6 2.9-7.8z\"}},\ndate_input:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M46.3 19.7H5.7c-.9 0-1.6.7-1.6 1.6v23.5c0 2.6 2.1 4.7 4.7 4.7h34.4c2.6 0 4.7-2.1 4.7-4.7V21.3c0-.9-.7-1.6-1.6-1.6zM18.2 41.6c0 .9-.7 1.6-1.6 1.6h-3.1c-.9 0-1.6-.7-1.6-1.6v-3.1c0-.9.7-1.6 1.6-1.6h3.1c.9 0 1.6.7 1.6 1.6v3.1zm10.9 0c0 .9-.7 1.6-1.6 1.6h-3.1c-.9 0-1.6-.7-1.6-1.6v-3.1c0-.9.7-1.6 1.6-1.6h3.1c.9 0 1.6.7 1.6 1.6v3.1zm0-10.9c0 .9-.7 1.6-1.6 1.6h-3.1c-.9 0-1.6-.7-1.6-1.6v-3.1c0-.9.7-1.6 1.6-1.6h3.1c.9 0 1.6.7 1.6 1.6v3.1zm11 0c0 .9-.7 1.6-1.6 1.6h-3.1c-.9 0-1.6-.7-1.6-1.6v-3.1c0-.9.7-1.6 1.6-1.6h3.1c.9 0 1.6.7 1.6 1.6v3.1zm3.1-23.5h-3.9V5.6c0-1.7-1.4-3.1-3.1-3.1-1.7 0-3.1 1.4-3.1 3.1v1.6H19V5.6c0-1.7-1.4-3.1-3.1-3.1s-3.1 1.4-3.1 3.1v1.6h-4c-2.6 0-4.7 2.1-4.7 4.7v1.6c0 .9.7 1.6 1.6 1.6h40.7c.9 0 1.6-.7 1.6-1.6v-1.6c-.1-2.6-2.2-4.7-4.8-4.7z\"}},\ndate_time:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M43.6 6.8h-4V5.2c0-1.8-1.4-3.2-3.2-3.2-1.8 0-3.2 1.4-3.2 3.2v1.6H18.8V5.2c0-1.8-1.4-3.2-3.2-3.2s-3.2 1.4-3.2 3.2v1.6h-4c-2.6 0-4.8 2.2-4.8 4.8v1.6c0 .9.7 1.6 1.6 1.6h41.6c.9 0 1.6-.7 1.6-1.6v-1.6c0-2.6-2.2-4.8-4.8-4.8zM46.8 19.6H5.2c-.9 0-1.6.7-1.6 1.6v24c0 2.6 2.2 4.8 4.8 4.8h35.2c2.6 0 4.8-2.2 4.8-4.8v-24c0-.9-.7-1.6-1.6-1.6zM26 46.7c-6.6 0-11.9-5.4-11.9-11.9 0-6.6 5.4-11.9 11.9-11.9s11.9 5.4 11.9 11.9c0 6.6-5.3 11.9-11.9 11.9z\"},{\"d\":\"M27.2 34.3v-5.1c0-.4-.4-.8-.8-.8h-.8c-.4 0-.8.4-.8.8v5.6c0 .3.1.6.4.8l3.8 3.8c.3.3.8.3 1.1 0l.6-.6c.3-.3.3-.8 0-1.1l-3.5-3.4z\"}]},\ndayview:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M44 7h-5V5c0-1.6-1.3-3-3-3-1.6 0-3 1.3-3 3v2H19V5c0-1.6-1.3-3-3-3-1.6 0-3 1.3-3 3v2H8c-2.2 0-4 1.8-4 4v2.5c0 .8.7 1.5 1.5 1.5h41c.8 0 1.5-.7 1.5-1.5V11c0-2.2-1.8-4-4-4zM46.5 20h-41c-.8 0-1.5.7-1.5 1.5V46c0 2.2 1.8 4 4 4h36c2.2 0 4-1.8 4-4V21.5c0-.8-.7-1.5-1.5-1.5zM29 42v.2c0 .8-1 1.8-2 1.8s-2-1-2-2V32l-1.5 1.6c-.3.3-.6.4-1 .4-.8 0-1.5-.7-1.5-1.5 0-.4.2-.8.5-1.1l3.9-3.9c.4-.4.9-.6 1.5-.6 1.1 0 2.1.9 2.1 2V42z\"}},\ndelete:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M45.5 10H33V6c0-2.2-1.8-4-4-4h-6c-2.2 0-4 1.8-4 4v4H6.5c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h39c.8 0 1.5-.7 1.5-1.5v-3c0-.8-.7-1.5-1.5-1.5zM23 7c0-.6.4-1 1-1h4c.6 0 1 .4 1 1v3h-6V7zM41.5 20h-31c-.8 0-1.5.7-1.5 1.5V45c0 2.8 2.2 5 5 5h24c2.8 0 5-2.2 5-5V21.5c0-.8-.7-1.5-1.5-1.5zM23 42c0 .6-.4 1-1 1h-2c-.6 0-1-.4-1-1V28c0-.6.4-1 1-1h2c.6 0 1 .4 1 1v14zm10 0c0 .6-.4 1-1 1h-2c-.6 0-1-.4-1-1V28c0-.6.4-1 1-1h2c.6 0 1 .4 1 1v14z\"}}},\ndeprecate:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M48 7H4c-1.1 0-2 .9-2 2v26c0 1.1.9 2 2 2h16.2c1 5.7 5.9 10 11.8 10s10.9-4.3 11.8-10H48c1.1 0 2-.9 2-2V9c0-1.1-.9-2-2-2zm-8.6 32.6l-2.8 2.8-4.6-4.6-4.6 4.6-2.8-2.8 4.6-4.6-4.6-4.6 2.8-2.8 4.6 4.6 4.6-4.6 2.8 2.8-4.6 4.6 4.6 4.6zM46 33h-2.2c-1-5.7-5.9-10-11.8-10s-10.9 4.3-11.8 10H6V11h40v22z\"}},\ndescription:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M44 4H8C5.8 4 4 5.8 4 8v36c0 2.2 1.8 4 4 4h36c2.2 0 4-1.8 4-4V8c0-2.2-1.8-4-4-4zM12 14c0-.6.4-1 1-1h10c.6 0 1 .4 1 1v10c0 .6-.4 1-1 1H13c-.6 0-1-.4-1-1V14zm24 26c0 .6-.4 1-1 1H13c-.6 0-1-.4-1-1v-2c0-.6.4-1 1-1h22c.6 0 1 .4 1 1v2zm4-8c0 .6-.4 1-1 1H13c-.6 0-1-.4-1-1v-2c0-.6.4-1 1-1h26c.6 0 1 .4 1 1v2zm0-8c0 .6-.4 1-1 1H29c-.6 0-1-.4-1-1v-2c0-.6.4-1 1-1h10c.6 0 1 .4 1 1v2zm0-8c0 .6-.4 1-1 1H29c-.6 0-1-.4-1-1v-2c0-.6.4-1 1-1h10c.6 0 1 .4 1 1v2z\"}},\ndesktop:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M50 6c0-2.2-1.8-4-4-4H6C3.8 2 2 3.8 2 6v26c0 2.2 1.8 4 4 4h40c2.2 0 4-1.8 4-4V6zm-6 22.5c0 .8-.7 1.5-1.5 1.5h-33c-.8 0-1.5-.7-1.5-1.5v-19C8 8.7 8.7 8 9.5 8h33c.8 0 1.5.7 1.5 1.5v19zM33 44h-3c-.6 0-1-.4-1-1v-2c0-.6-.4-1-1-1h-4c-.6 0-1 .4-1 1v2c0 .6-.4 1-1 1h-3c-2.2 0-4 1.8-4 4v.5c0 .8.7 1.5 1.5 1.5h19c.8 0 1.5-.7 1.5-1.5V48c0-2.2-1.8-4-4-4z\"}}},\ndesktop_and_phone:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M50 20.5c0-1.2-1-2.2-2.2-2.2H33.7c-1.2 0-2.2 1-2.2 2.2v23.7c0 1.2 1 2.2 2.2 2.2h14.1c1.2 0 2.2-1 2.2-2.2V20.5z\"},{\"d\":\"M46.7 40.2c0 .4-.4.9-.9.9H35.6c-.4 0-.9-.4-.9-.9V23.5c0-.4.4-.9.9-.9h10.2c.4 0 .9.4.9.9v16.7z\"}],\"g\":{\"path\":{\"d\":\"M27.7 29.4H8.4c-.7 0-1.3-.7-1.3-1.3V11.9c0-.7.7-1.3 1.3-1.3h28.1c.7 0 1.3.7 1.3 1.3v2.5h5.1V9c0-1.8-1.6-3.4-3.4-3.4H5.4C3.6 5.6 2 7.2 2 9v22.2c0 1.8 1.6 3.4 3.4 3.4h22.3v-5.2zM27.7 44.2v-3h-1.9c-.5 0-.9-.4-.9-.9v-1.7c0-.5-.4-.9-.9-.9h-3.4c-.5 0-.9.4-.9.9v1.7c0 .5-.4.9-.9.9h-2.6c-1.8 0-3.4 1.6-3.4 3.4v.4c0 .7.7 1.3 1.3 1.3h14.1c-.4-.6-.5-1.3-.5-2.1z\"}},\"circle\":{\"cx\":\"40.8\",\"cy\":\"43.8\",\"r\":\"1.6\"}},\ndesktop_console:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M33 44h-3c-.6 0-1-.4-1-1v-2c0-.6-.4-1-1-1h-4c-.6 0-1 .4-1 1v2c0 .6-.4 1-1 1h-3c-2.2 0-4 1.8-4 4v.5c0 .8.7 1.5 1.5 1.5h19c.8 0 1.5-.7 1.5-1.5V48c0-2.2-1.8-4-4-4zM46 2H6C3.8 2 2 3.8 2 6v26c0 2.2 1.8 4 4 4h40c2.2 0 4-1.8 4-4V6c0-2.2-1.8-4-4-4zM8 28.5v-19C8 8.7 8.7 8 9.5 8h6v22h-6c-.8 0-1.5-.7-1.5-1.5zm36 0c0 .8-.7 1.5-1.5 1.5h-21V8h21c.8 0 1.5.7 1.5 1.5v19z\"}}},\ndialing:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M48.5 37.9L42.4 33c-1.4-1.1-3.4-1.2-4.8-.1l-5.2 3.8c-.6.5-1.5.4-2.1-.2l-7.8-7-7-7.8c-.6-.6-.6-1.4-.2-2.1l3.8-5.2c1.1-1.4 1-3.4-.1-4.8l-4.9-6.1c-1.5-1.8-4.2-2-5.9-.3L3 8.4c-.8.8-1.2 1.9-1.2 3 .5 10.2 5.1 19.9 11.9 26.7S30.2 49.5 40.4 50c1.1.1 2.2-.4 3-1.2l5.2-5.2c1.9-1.5 1.8-4.3-.1-5.7z\"},{\"d\":\"M42 24.5c1.2-1.7 1.9-3.8 1.9-6C43.8 12.7 39.1 8 33.3 8c-2.2 0-4.3.7-6 1.9L23 5.5C25.8 3.3 29.4 2 33.3 2c9.1 0 16.6 7.4 16.6 16.6 0 3.9-1.3 7.5-3.6 10.3L42 24.5z\"}],\"circle\":{\"cx\":\"33.4\",\"cy\":\"18.4\",\"r\":\"4.5\"}}},\ndiamond:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",\"d\":\"M24.4 49.2c.9.9 2.2.9 3.1 0l21.9-21.9c.9-.9.9-2.2 0-3.1L27.6 2.4c-.9-.9-2.2-.9-3.1 0L2.6 24.3c-.9.9-.9 2.2 0 3.1l21.8 21.8z\"}},\ndislike:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M12 29.5V9c0-2.2-1.8-4-4-4H5.5C4.7 5 4 5.7 4 6.5v23c0 .8.7 1.5 1.5 1.5h5c.8 0 1.5-.7 1.5-1.5zM48 26V13.5C48 4.8 41.1 4 33.6 4c-7.1 0-9.4 2.7-16.2 3-.8 0-1.4.7-1.4 1.5v20c0 .8.7 1.5 1.5 1.5 4.8 0 8.5 5.2 8.5 10.5v6c0 .8.7 1.5 1.5 1.5H30c2.2 0 4-1.8 4-4V34c0-2.2 1.8-4 4-4h6c2.2 0 4-1.8 4-4z\"}},\ndisplay_rich_text:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M4.1 43.1H48c.9 0 1.6.7 1.6 1.6v3.1c0 .9-.7 1.6-1.6 1.6H4.1c-.9 0-1.6-.7-1.6-1.6v-3.1c0-.9.7-1.6 1.6-1.6zM4.1 29H48c.9 0 1.6.7 1.6 1.6v3.1c0 .9-.7 1.6-1.6 1.6H4.1c-.9 0-1.6-.7-1.6-1.6v-3.1c0-.9.7-1.6 1.6-1.6zM32 14.9h16c.9 0 1.6.7 1.6 1.6v3.1c0 .9-.7 1.6-1.6 1.6H32c-.9 0-1.6-.7-1.6-1.6v-3.1c0-.9.7-1.6 1.6-1.6zM24.1 21.6L16.7 3.3c-.2-.3-.5-.6-.9-.6h-5.7c-.3 0-.7.2-.8.6L2.5 21.6c-.1.3.1.8.5.8h3.6c.3 0 .7-.3.8-.6l1.4-3.9h8.7l1.5 3.9c.1.3.5.6.8.6h3.6c.5 0 .8-.4.7-.8zm-13.6-8.5l2.3-5.8h.5l2.5 5.8h-5.3z\"}},\ndisplay_text:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M43.5 2.5H8.6c-3.4 0-6.1 2.7-6.1 6.1v34.7c0 3.4 2.7 6.1 6.1 6.1h34.8c3.4 0 6.1-2.7 6.1-6.1V8.6c.1-3.4-2.7-6.1-6-6.1zM10.6 12.7c0-1.1.9-2 2-2h22.9c1.1 0 2 .9 2 2v2.1c0 1.1-.9 2-2 2h-23c-1.1 0-2-.9-2-2v-2.1zm24.1 26.6c0 1.1-.9 2-2 2h-20c-1.1 0-2-.9-2-2v-2c0-1.1.9-2 2-2h20c1.1 0 2 .9 2 2v2zM41.4 27c0 1.1-.9 2-2 2H12.7c-1.1 0-2-.9-2-2v-2c0-1.1.9-2 2-2h26.6c1.1 0 2 .9 2 2v2z\"}},\ndock_panel:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M1.908 35V9c0-3.9 3.1-7 7-7h26c3.9 0 7 3.1 7 7v3h-6V9c0-.601-.4-1-1-1h-26c-.6 0-1 .399-1 1v26c0 .6.4 1 1 1h3v6h-3c-3.9 0-7-3.1-7-7z\"},{\"d\":\"M45.908 16h-26c-2.2 0-4 1.799-4 4v26c0 2.199 1.8 4 4 4h26c2.199 0 4-1.801 4-4V20c0-2.201-1.801-4-4-4zm-4.015 25.184c0 .49-.307.795-.857.795H29.41c-.488 0-1.039-.428-1.039-.918v-1.773c0-.49.551-.979 1.039-.979h4.834c.551 0 .795-.613.428-.979l-10.4-10.403a.888.888 0 010-1.285l1.285-1.284a.887.887 0 011.285 0l10.4 10.4c.367.43.979.123.979-.426v-4.835c0-.552.551-.979 1.041-.979h1.836c.488 0 .795.488.795.979v11.687z\"}]},\ndown:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M8.3 14h35.4c1 0 1.7 1.3.9 2.2L27.3 37.4c-.6.8-1.9.8-2.5 0L7.3 16.2c-.7-.9-.1-2.2 1-2.2z\"}},\ndownload:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M48.5 31h-3c-.8 0-1.5.7-1.5 1.5v10c0 .8-.7 1.5-1.5 1.5h-33c-.8 0-1.5-.7-1.5-1.5v-10c0-.8-.7-1.5-1.5-1.5h-3c-.8 0-1.5.7-1.5 1.5V46c0 2.2 1.8 4 4 4h40c2.2 0 4-1.8 4-4V32.5c0-.8-.7-1.5-1.5-1.5z\"},{\"d\":\"M25 37.6c.6.6 1.5.6 2.1 0l13.5-13.5c.6-.6.6-1.5 0-2.1l-2.1-2.1c-.6-.6-1.5-.6-2.1 0l-5.6 5.6c-.6.6-1.7.2-1.7-.7V3.5C29 2.7 28.2 2 27.5 2h-3c-.8 0-1.5.7-1.5 1.5v21.2c0 .9-1.1 1.3-1.7.7l-5.6-5.6c-.6-.6-1.5-.6-2.1 0L11.5 22c-.6.6-.6 1.5 0 2.1L25 37.6z\"}]}},\ndrag:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M30.9 34.3c0 1.8-2.2 2.5-3.2 1l-2-4.3c-1.1-1.9-3.5-2.3-5.3-1.1l-1.3 1 6.7 15.9c.3.7 1 1.1 1.8 1.1h17.6c.9 0 1.6-.6 1.8-1.4l3.1-11.1c.8-3.1-1-6.1-3.8-7.2l-8-2.7c-11.3-4.1-7.6 8.4-7.4 8.8zM1.8 28.5h5.8v5.8H1.8zM14.4 4h5.8v5.8h-5.8zM14.4 42h5.8v5.8h-5.8zM1.8 15.8h5.8v5.8H1.8zM1.8 4.1h5.8v5.8H1.8zM27.1 4h5.8v5.8h-5.8zM39.8 4h5.8v5.8h-5.8zM1.8 42.1h5.8v5.8H1.8zM39.8 16.8h5.8v5.8h-5.8z\"}},\ndrag_and_drop:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M20 4c2.2 0 4 1.8 4 4s-1.8 4-4 4-4-1.8-4-4 1.8-4 4-4zm12 0c2.2 0 4 1.8 4 4s-1.8 4-4 4-4-1.8-4-4 1.8-4 4-4zM20 16c2.2 0 4 1.8 4 4s-1.8 4-4 4-4-1.8-4-4 1.8-4 4-4zm12 0c2.2 0 4 1.8 4 4s-1.8 4-4 4-4-1.8-4-4 1.8-4 4-4zM20 28c2.2 0 4 1.8 4 4s-1.8 4-4 4-4-1.8-4-4 1.8-4 4-4zm12 0c2.2 0 4 1.8 4 4s-1.8 4-4 4-4-1.8-4-4 1.8-4 4-4zM20 40c2.2 0 4 1.8 4 4s-1.8 4-4 4-4-1.8-4-4 1.8-4 4-4zm12 0c2.2 0 4 1.8 4 4s-1.8 4-4 4-4-1.8-4-4 1.8-4 4-4z\"}},\nduration_downscale:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M17.08 2H8a6 6 0 00-6 6v5.68a6 6 0 006.08 5.92h9.06a6 6 0 006-6V7.94A6 6 0 0017.08 2zm-3.26 12.8h-2.5a4 4 0 010-8h2.5a4 4 0 010 8zM34.5 19.6h9.06a6 6 0 006-6V7.94A6 6 0 0043.5 2h-9.06a6 6 0 00-6 6v5.66a6 6 0 006.06 5.94zm3.24-12.8h2.5a4 4 0 010 8h-2.5a4 4 0 010-8zM17.08 24.4H8a6 6 0 00-6 6v5.68A6 6 0 008.08 42h9.06a6 6 0 006-6v-5.66a6 6 0 00-6.06-5.94zm-3.26 12.8h-2.5a4 4 0 110-8h2.5a4 4 0 010 8zM49.83 40.12a.84.84 0 00-.23-.23l-1.84-1.52a1.42 1.42 0 00-1.84 0L42.82 41c-.53.45-1.45.17-1.45-.5v-15a1.27 1.27 0 00-1.32-1.12h-2.63a1.33 1.33 0 00-1.32 1.12v14.95c0 .67-.92.95-1.45.5l-3.09-2.58a1.44 1.44 0 00-1.85 0l-1.77 1.52a.92.92 0 00-.23 1.28.84.84 0 00.23.23l9.88 8.26a1.42 1.42 0 001.84 0l9.94-8.26a.92.92 0 00.23-1.28z\"}},\ndynamic_record_choice:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M20.8 43v-.3C13.7 40.4 8.5 33.9 8.5 26c0-9.6 7.9-17.5 17.5-17.5S43.5 16.4 43.5 26c0 1.6-.2 3.2-.6 4.7.2.2.5.3.7.5.3 0 .6-.1.9-.1 1.6 0 3.2.5 4.4 1.2.6-2 .9-4.1.9-6.3C49.7 12.8 39 2.1 25.9 2.1S2.1 12.8 2.1 25.9c0 12.6 9.8 22.9 22.2 23.7-2-1.4-3.5-3.9-3.5-6.6z\"},{\"d\":\"M31.3 28.8c1.5 0 2.9.4 4.2 1 .3-.1.6-.2 1-.2.4-1.1.6-2.3.6-3.6 0-6.1-4.9-11-11-11s-11 4.9-11 11c0 4.9 3.2 9 7.6 10.5.4-4.4 4.1-7.7 8.6-7.7z\"},{\"d\":\"M35.2 34.6c.8-.8 1.9-1.3 3.2-1.3 1.7 0 3.1.9 3.9 2.2.6-.2 1.4-.5 2.2-.5 2.9 0 5.4 2.5 5.4 5.3 0 2.9-2.5 5.3-5.4 5.3-.3 0-.7 0-1-.1-.6 1.2-2 2-3.4 2-.6 0-1.2-.2-1.7-.4-.7 1.6-2.3 2.7-4.1 2.7-2 0-3.6-1.2-4.2-2.9-.2 0-.6.1-.9.1-2.3 0-4.2-1.8-4.2-4.1 0-1.5.8-2.9 2.1-3.6-.2-.6-.4-1.2-.4-1.9 0-2.6 2.2-4.8 4.8-4.8 1.4.1 2.8.9 3.7 2z\"}]},\nedit:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M9.5 33.4l8.9 8.9c.4.4 1 .4 1.4 0L42 20c.4-.4.4-1 0-1.4l-8.8-8.8c-.4-.4-1-.4-1.4 0L9.5 32.1c-.4.4-.4 1 0 1.3zM36.1 5.7c-.4.4-.4 1 0 1.4l8.8 8.8c.4.4 1 .4 1.4 0l2.5-2.5c1.6-1.5 1.6-3.9 0-5.5l-4.7-4.7c-1.6-1.6-4.1-1.6-5.7 0l-2.3 2.5zM2.1 48.2c-.2 1 .7 1.9 1.7 1.7l10.9-2.6c.4-.1.7-.3.9-.5l.2-.2c.2-.2.3-.9-.1-1.3l-9-9c-.4-.4-1.1-.3-1.3-.1l-.2.2c-.3.3-.4.6-.5.9L2.1 48.2z\"}}},\nedit_form:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M31.4 15.3h8.2c.6 0 1.1-.5 1.1-1.1 0-.3-.1-.5-.3-.8L30.2 3.3c-.3-.2-.5-.3-.8-.3-.6 0-1.1.5-1.1 1.1v8.1c0 1.7 1.4 3.1 3.1 3.1zM49.5 25.7l-.9-.9c-.6-.6-1.5-.6-2.2 0L34.5 36.7c-.1.1 0 .2 0 .3v2.5c0 .2 0 .4.2.4h2.6c.1 0 .2-.1.3-.1L49.5 28c.7-.8.7-1.7 0-2.3z\"},{\"d\":\"M39.9 44.4H32.8c-1.6 0-2.9-1.3-2.9-2.9v-5.4c0-.8.2-1.6.9-2.1l9.5-9.5c.3-.3.5-.7.5-1.1v-2c0-.8-.7-1.5-1.5-1.5h-11c-2.6 0-4.6-2.1-4.6-4.6V4.5c0-.8-.7-1.5-1.6-1.5H6.6C4.1 3 2 5.1 2 7.6v36.8C2 46.9 4.1 49 6.6 49H36c2.2 0 4.2-1.6 4.6-3.7.1-.4-.3-.9-.7-.9zM8.2 16.8c0-.8.7-1.5 1.5-1.5h6.2c.9 0 1.5.7 1.5 1.5v1.5c0 .8-.7 1.5-1.5 1.5H9.7c-.9 0-1.5-.7-1.5-1.5v-1.5zm15.5 19.9c0 .8-.7 1.5-1.5 1.5H9.7c-.9 0-1.5-.7-1.5-1.5v-1.5c0-.8.7-1.5 1.5-1.5h12.4c.9 0 1.5.7 1.5 1.5v1.5zm3.1-9.2c0 .8-.7 1.5-1.5 1.5H9.7c-.9 0-1.5-.7-1.5-1.5V26c0-.8.7-1.5 1.5-1.5h15.5c.9 0 1.5.7 1.5 1.5v1.5z\"}]}},\neducation:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M25.8 26.7c-1.2.1-2.3-.4-3.5-.8-6.3-2.1-12.7-4.2-19-6.3-.4-.2-.7-.3-1-.6-.4-.3-.4-.7 0-1 .3-.2.7-.5 1.1-.6 6.8-2 13.5-4 20.3-6.1 1.5-.5 3.1-.5 4.7 0l20.1 6c.4.2.8.3 1.2.6.5.3.5.8 0 1.1-.3.2-.6.4-1 .5-6.7 2.2-13.4 4.5-20.2 6.7-.9.4-1.7.5-2.7.5zM12.5 27c-1-.2-1.2.4-1.2.9v7.6c0 .9.3 1.4.9 2 .2.2.5.4.7.6 1.6 1.1 3.5 1.8 5.4 2.3 3.8 1 7.6 1.2 11.5.7 2.5-.3 5-1 7.3-2 1-.5 2-1 2.7-1.8.5-.5.7-1 .6-1.7.1-2.4.1-4.9.1-7.4 0-1.4-1-1.2-1.4-1.1-3.5 1.2-7.2 2.3-10.7 3.5-1.8.6-3.5.6-5.2 0L12.5 27zM45.9 24.7c-.3.1-.4.2-.4.6v6.8c0 .2-.1.5-.2.7-.5 1.2-1 2.4-1.4 3.6-.4 1.1-.2 2.3.6 3.1.2.3.6.6.9.8.3.3.8.4 1.2.5.7.1 1.3-.3 1.8-.7.2-.2.5-.4.7-.7.6-.8.7-1.8.5-2.7-.3-1.4-.9-2.6-1.5-3.8-.2-.2-.2-.6-.2-.8v-7.4c0-.5-.4-.4-.6-.3l-1.4.3z\"}}},\neinstein:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M28.7 42.1c7.2.2 7.4 1.6 7.4 7.2v.7c-2.8 0-2.8-2.3-4-2.3 0 .8-.7 1.5-2 2.3-.8-1.5-1.4-2.3-2-2.3 0 .7-.6 1.4-1.8 2.2l-.3.1c-1.3-.8-2-1.5-2-2.3-.6 0-1.3.8-2 2.3-1.3-.8-2-1.5-2-2.3-1.3 0-1.3 2.3-4 2.3v-.9c0-5.3.4-6.7 6.9-7v.4a3 3 0 006 0 .41.41 0 01-.2-.4zm1.5-35.3c3 3.6 2.4 5.3 2.5 6.4a11.91 11.91 0 017.8.8c1.8.9 2.9 2.3 3 3.3a4.69 4.69 0 00-3 1.5 14.94 14.94 0 016.1 3.9 17.05 17.05 0 013.3 5.6.77.77 0 010 .8 22.86 22.86 0 01-3.1 2.8 41.42 41.42 0 01-4.1 2.7c1.6 1 2.4 1.9 2.5 2.9-1.7.5-2.7.9-3.8 1.3-.5.2-1.5.5-2.6.9 1.6-10.5-5-11.5-8-11.5-2.1 0-3.3 1.7-5.1 1.7s-2.9-1.7-5.1-1.7S12.2 30 13.3 39a12.66 12.66 0 01-1.8-.7 21.17 21.17 0 00-5-.9.53.53 0 01-.6-.4.38.38 0 010-.15v-.3a10 10 0 012.4-4.3c.7-.7 2-1.6 2.5-1.5a8.68 8.68 0 00-3.4-3.1 19.5 19.5 0 00-4.8-1.3c-.5-.1-.8-.1-.5-1 1.7-4.3 3.7-7 6.1-8.2a11.26 11.26 0 016-1.5 9 9 0 00-1-2.5A12.94 12.94 0 0012 11.2a.76.76 0 01.1-1c.1 0 .2-.1.3-.1a6.64 6.64 0 013.1.2 8.08 8.08 0 013.9 2.7A36.29 36.29 0 0018 2.8c-.1-2.2 9.2.4 12.2 4zm-7.5 27.3c.8 0 1.5 1.1 1.5 2.5s-.7 2.5-1.5 2.5-1.5-1.1-1.5-2.5.7-2.5 1.5-2.5zm6.6 0c.8 0 1.5 1.1 1.5 2.5s-.7 2.5-1.5 2.5-1.5-1.1-1.5-2.5.6-2.5 1.5-2.5z\"}},\nemail:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M24.9 30.1c.6.6 1.5.6 2.1 0l22.6-21c.4-.8.3-2.1-1.3-2.1l-44.7.1c-1.2 0-2.2 1.1-1.3 2.1l22.6 20.9z\"},{\"d\":\"M50 17.3c0-1-1.2-1.6-2-.9L30.3 32.7c-1.2 1.1-2.7 1.7-4.3 1.7s-3.1-.6-4.3-1.6L4.1 16.4c-.8-.7-2-.2-2 .9C2 17 2 40 2 40c0 2.2 1.8 4 4 4h40c2.2 0 4-1.8 4-4V17.3z\"}]}},\nemail_open:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M45.8 28.1c0-.8-1-1.3-1.7-.7L29.5 40.9c-1 .9-2.2 1.4-3.6 1.4s-2.6-.5-3.6-1.3L7.8 27.4c-.7-.6-1.7-.2-1.7.7-.1-.2-.1 18-.1 18 0 1.8 1.5 3.3 3.3 3.3h33.1c1.8 0 3.3-1.5 3.3-3.3v-18z\"},{\"d\":\"M45.6 20.6c.2-.2.3-.4.3-.6 0-.3-.1-.5-.3-.7L26.8 2c-.5-.5-1.2-.5-1.7 0L6.5 19.2c-.1.1-.1.2-.2.2v.1c0 .1-.1.2-.1.3 0 .3.1.5.3.7L25 37.7c.5.5 1.2.5 1.7 0l18.9-17.1c0 .1 0 0 0 0z\"}]},\nemoji:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M50.1 26c0 13.3-10.8 24.1-24.1 24.1S1.9 39.3 1.9 26 12.7 1.9 26 1.9 50.1 12.7 50.1 26zM18.3 15.8c-2.4 0-4.3 1.9-4.3 4.3s1.9 4.3 4.3 4.3 4.3-1.9 4.3-4.3-1.9-4.3-4.3-4.3zm15.5 0c-2.4 0-4.3 1.9-4.3 4.3s1.9 4.3 4.3 4.3 4.3-1.9 4.3-4.3-1.9-4.3-4.3-4.3zm-.2 16.7c-2 1.8-4.7 2.8-7.6 2.8-2.8 0-5.4-1-7.5-2.7l-.9-.8c-.3-.2-.5-.3-1.1-.3-1.1 0-1.9.9-1.9 1.9 0 .5.2 1 .6 1.4l.7.6c2.7 2.4 6.3 3.8 10.1 3.8 3.9 0 7.5-1.5 10.2-3.9l.5-.5c.4-.4.6-.9.6-1.4 0-1.1-.9-1.9-1.9-1.9-.5 0-.9.2-1.2.4l-.6.6z\"}},\nend_call:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M48.5 5.6l-2.1-2.1c-.6-.6-1.7-.5-2.4.3L20.5 27.3l-5-5.6c-.6-.6-.6-1.4-.2-2.1l3.8-5.2c1.1-1.4 1-3.4-.1-4.8l-4.9-6.1c-1.5-1.8-4.2-2-5.9-.3L3 8.4c-.8.8-1.2 1.9-1.2 3 .5 9.2 4.2 18 10 24.6l-8 8c-.7.7-.8 1.8-.3 2.4l2.1 2.1c.6.6 1.7.5 2.4-.3L48.2 8c.8-.7.9-1.8.3-2.4zM48.5 37.9L42.4 33c-1.4-1.1-3.4-1.2-4.8-.1l-5.2 3.8c-.6.5-1.5.4-2.1-.2l-2.4-2.2-8.5 8.5c6.1 4.1 13.4 6.8 21 7.2 1.1.1 2.2-.4 3-1.2l5.2-5.2c1.9-1.5 1.8-4.3-.1-5.7z\"}},\nend_chat:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M24.6 40.6c0-8.8 7.2-16 16-16 1.5 0 2.9.2 4.2.6.2-1.1.3-2.1.3-3.2C45 11 35.4 2.2 23.6 2.2 11.7 2.2 2.2 11 2.2 21.8c0 3.4 1 6.6 2.6 9.5.3.4.4 1 .2 1.5l-2.8 7.6c-.3.7.4 1.3 1.2 1.2l7.7-3c.4-.2 1-.1 1.5.2 3.2 1.8 7.1 2.9 11.2 2.9h.8v-1.1zm9.8-22.3c2 0 3.6 1.6 3.6 3.6s-1.6 3.6-3.6 3.6-3.6-1.6-3.6-3.6 1.6-3.6 3.6-3.6zm-21.5 7.1c-2 0-3.6-1.6-3.6-3.6s1.6-3.6 3.6-3.6 3.6 1.6 3.6 3.6-1.7 3.6-3.6 3.6zm10.7 0c-2 0-3.6-1.6-3.6-3.6s1.6-3.6 3.6-3.6 3.6 1.6 3.6 3.6-1.6 3.6-3.6 3.6z\"},{\"d\":\"M31.7 34.6l6 6-6 6c-.6.6-.6 1.6 0 2.1l.7.7c.6.6 1.6.6 2.1 0l6-6 6 6c.6.6 1.6.6 2.1 0l.7-.7c.6-.6.6-1.6 0-2.1l-6-6 6-6c.6-.6.6-1.6 0-2.1l-.7-.7c-.6-.6-1.6-.6-2.1 0l-6 6-6-6c-.6-.6-1.6-.6-2.1 0l-.7.7c-.5.5-.5 1.5 0 2.1z\"}]},\nend_messaging_session:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M24.6 40.6c0-2.8.7-5.4 2-7.7h-2.3c-.5 0-.8-.3-.8-.8v-9.2c0-.5.3-.8.8-.8h9.2c.5 0 .8.3.8.8v3c1.9-.8 4.1-1.3 6.3-1.3 1.5 0 2.9.2 4.2.6.2-1.1.3-2.2.3-3.3-.1-11-9.6-19.8-21.5-19.8S2.2 10.9 2.2 21.7c0 3.4 1 6.6 2.6 9.5.3.4.4 1 .2 1.5l-2.8 7.6c-.3.7.4 1.3 1.2 1.2l7.7-3c.4-.2 1-.1 1.5.2 3.2 1.8 7.1 2.9 11.2 2.9h.8v-1zM12.8 12.2c0-.5.3-.8.8-.8h19.9c.5 0 .8.3.8.8v4.6c0 .5-.4.8-.9.8H13.6c-.5 0-.8-.3-.8-.8v-4.6zM19 32.1c0 .5-.4.8-.9.8h-4.6c-.5 0-.8-.3-.8-.8v-9.2c0-.5.3-.8.8-.8h4.7c.5 0 .8.3.8.8v9.2z\"},{\"d\":\"M31.8 34.6l6 6-6 6c-.6.6-.6 1.6 0 2.1l.7.7c.6.6 1.6.6 2.1 0l6-6 6 6c.6.6 1.6.6 2.1 0l.7-.7c.6-.6.6-1.6 0-2.1l-6-6 6-6c.6-.6.6-1.6 0-2.1l-.7-.7c-.6-.6-1.6-.6-2.1 0l-6 6-6-6c-.6-.6-1.6-.6-2.1 0l-.7.7c-.6.6-.6 1.6 0 2.1z\"}]},\nengage:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"fill-rule\":\"evenodd\",\"d\":\"M26.5 4.25c12.801 0 23.25 9.388 23.25 21.068 0 11.68-10.449 21.069-23.25 21.069-1.662 0-3.303-.158-4.9-.469l-.487-.101-.143.076c-2.032 1.04-5.305 1.882-9.913 2.597l-.517.08-1.128.162c-1.725.25-2.714-1.901-1.403-3.049 1.315-1.15 2.314-2.66 2.998-4.555l.025-.077-.317-.26c-4.595-3.848-7.338-9.241-7.46-15.066l-.005-.407C3.25 13.638 13.699 4.25 26.5 4.25zm7 26.75h-14a2 2 0 100 4h14a2 2 0 100-4zm4-7.5h-22a2 2 0 100 4h22a2 2 0 100-4zm-4-7.5h-14a2 2 0 100 4h14a2 2 0 100-4z\"}},\nenter:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M44 30.5s.1 1.6-1.5 1.6H15.2c-.9 0-1.3-1.2-.7-1.8l5.6-5.6c.6-.6.6-1.5 0-2.1L18 20.5c-.6-.6-1.5-.6-2.1 0L2.4 34c-.6.6-.6 1.5 0 2.1L16 49.6c.6.6 1.5.6 2.1 0l2.1-2.1c.6-.6.6-1.5 0-2.1l-5.6-5.6c-.6-.7-.2-1.7.7-1.7h33.2c.7 0 1.5-.8 1.5-1.6v-33c0-.7-.7-1.5-1.5-1.5h-3c-.8 0-1.5.8-1.5 1.5v27z\"}},\nerect_window:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M50 6.5c0 .8-.7 1.5-1.5 1.5h-45C2.7 8 2 7.3 2 6.5v-3C2 2.7 2.7 2 3.5 2h45c.8 0 1.5.7 1.5 1.5v3z\"}},\nerror:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M26 2C12.8 2 2 12.8 2 26s10.8 24 24 24 24-10.8 24-24S39.2 2 26 2zM8 26c0-9.9 8.1-18 18-18 3.9 0 7.5 1.2 10.4 3.3L11.3 36.4C9.2 33.5 8 29.9 8 26zm18 18c-3.9 0-7.5-1.2-10.4-3.3l25.1-25.1C42.8 18.5 44 22.1 44 26c0 9.9-8.1 18-18 18z\"}},\nevent:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M46.5 20h-41c-.8 0-1.5.7-1.5 1.5V46c0 2.2 1.8 4 4 4h36c2.2 0 4-1.8 4-4V21.5c0-.8-.7-1.5-1.5-1.5zM19 42c0 .6-.4 1-1 1h-4c-.6 0-1-.4-1-1v-4c0-.6.4-1 1-1h4c.6 0 1 .4 1 1v4zm0-10c0 .6-.4 1-1 1h-4c-.6 0-1-.4-1-1v-4c0-.6.4-1 1-1h4c.6 0 1 .4 1 1v4zm10 10c0 .6-.4 1-1 1h-4c-.6 0-1-.4-1-1v-4c0-.6.4-1 1-1h4c.6 0 1 .4 1 1v4zm0-10c0 .6-.4 1-1 1h-4c-.6 0-1-.4-1-1v-4c0-.6.4-1 1-1h4c.6 0 1 .4 1 1v4zm10 10c0 .6-.4 1-1 1h-4c-.6 0-1-.4-1-1v-4c0-.6.4-1 1-1h4c.6 0 1 .4 1 1v4zm0-10c0 .6-.4 1-1 1h-4c-.6 0-1-.4-1-1v-4c0-.6.4-1 1-1h4c.6 0 1 .4 1 1v4zM44 7h-5V5c0-1.6-1.3-3-3-3-1.6 0-3 1.3-3 3v2H19V5c0-1.6-1.3-3-3-3-1.6 0-3 1.3-3 3v2H8c-2.2 0-4 1.8-4 4v2.5c0 .8.7 1.5 1.5 1.5h41c.8 0 1.5-.7 1.5-1.5V11c0-2.2-1.8-4-4-4z\"}}},\nevent_ext:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M49.83 32.45A1.43 1.43 0 0048.44 31h-12A1.43 1.43 0 0035 32.44v1.44a1.43 1.43 0 001.4 1.44h6.14l-11 11a1.42 1.42 0 000 2l1 1a1.54 1.54 0 001.09.45 1.32 1.32 0 00.94-.38l11-11v6A1.43 1.43 0 0047 45.83h1.53a1.43 1.43 0 001.47-1.4zM3.45 12.48h31.91a1.24 1.24 0 001.25-1.23V10a3.8 3.8 0 00-3.76-3.69h-3.06V5a2.43 2.43 0 00-4.86 0v1.28H13.87V5A2.44 2.44 0 009 5v1.28H5.88A3.69 3.69 0 002.19 10v1.28a1.24 1.24 0 001.25 1.23zM36.53 25.13v-7.79a1.25 1.25 0 00-1.22-1.26H3.45a1.24 1.24 0 00-1.26 1.22v18.46a3.69 3.69 0 003.69 3.69h18.5a16.82 16.82 0 0112.15-14.32zm-11-2.85a1.24 1.24 0 011.2-1.28h2.43a1.24 1.24 0 011.26 1.22v2.47A1.24 1.24 0 0129.25 26h-2.52a1.25 1.25 0 01-1.25-1.23zm-12.23 11a1.23 1.23 0 01-1.25 1.23H9.56a1.24 1.24 0 01-1.25-1.23v-2.46a1.25 1.25 0 011.23-1.25H12a1.25 1.25 0 011.26 1.22zm0-8.54A1.24 1.24 0 0112.08 26H9.56a1.25 1.25 0 01-1.25-1.23v-2.49A1.24 1.24 0 019.51 21H12a1.24 1.24 0 011.26 1.22zm8.54 8.54a1.25 1.25 0 01-1.22 1.26h-2.51a1.24 1.24 0 01-1.26-1.22v-2.5a1.24 1.24 0 011.23-1.25h2.46a1.25 1.25 0 011.25 1.23zM20.54 26h-2.43a1.25 1.25 0 01-1.26-1.22v-2.5a1.24 1.24 0 011.2-1.28h2.49a1.24 1.24 0 011.25 1.23v2.46A1.24 1.24 0 0120.62 26z\"}}},\nevents:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M8.8 9C4.4 13.5 2 19.4 2 25.6 2 27 3.1 28 4.4 28s2.4-1.1 2.4-2.4c-.1-4.9 1.9-9.6 5.4-13.1s8.3-5.4 13.1-5.4c1.4 0 2.4-1.1 2.4-2.4 0-1.4-1.1-2.4-2.4-2.4C19.2 2.2 13.2 4.6 8.8 9zm2.9 16.6c0 1.4 1 2.4 2.4 2.4s2.4-1.1 2.4-2.4c0-2.3.9-4.6 2.6-6.2 1.7-1.7 3.9-2.5 6.2-2.6 1.4 0 2.4-1.1 2.4-2.4 0-1.4-1-2.4-2.4-2.4-3.6 0-7.1 1.4-9.7 3.9-.4.5-4.1 4.2-3.9 9.7zM45.5 15.2c-.9-1.2-2.1-2.6-2.3-2.8-.3-.2-.7-.4-1.1-.4-.4 0-.8.1-1 .4L31 22.4c-2.4-2-6-1.9-8.3.4-2.3 2.3-2.4 5.9-.4 8.3l-9.7 9.7c-.3.3-.5.7-.5 1.1 0 .5.2 1 .6 1.3l2.7 2c3.7 2.9 8.3 4.5 13.2 4.5 11.8 0 21.4-9.6 21.4-21.4 0-4.8-1.7-9.4-4.5-13.1z\"}},\nexpand:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M48.8 2H33.3c-1 0-1.3.9-.5 1.7l4.9 4.9-9 9c-.5.5-.5 1.3 0 1.9l3.7 3.7c.5.5 1.3.5 1.9 0l9.1-9.1 4.9 4.9c.8.8 1.7.5 1.7-.5V3.1c0-.6-.6-1.1-1.2-1.1zM3.5 50h15.4c1 0 1.3-1.1.5-1.9l-4.9-5 9-9.1c.5-.5.5-1.4 0-1.9l-3.7-3.7c-.5-.5-1.3-.5-1.9 0l-9 9-5-4.9C3 31.7 2 32 2 33v15.4c0 .7.8 1.6 1.5 1.6zM50 48.8V33.3c0-1-.9-1.3-1.7-.5l-4.9 4.9-9-9c-.5-.5-1.3-.5-1.9 0l-3.7 3.7c-.5.5-.5 1.3 0 1.9l9.1 9.1-4.9 4.9c-.8.8-.5 1.7.5 1.7h15.4c.6 0 1.1-.6 1.1-1.2zM2 3.5v15.4c0 1 1.1 1.3 1.9.5l5-4.9 9.1 9c.5.5 1.4.5 1.9 0l3.7-3.7c.5-.5.5-1.3 0-1.9l-9-9 4.9-5C20.3 3 20 2 19 2H3.6C2.9 2 2 2.8 2 3.5z\"}},\nexpand_all:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M48 9.5c0-.8-.7-1.5-1.5-1.5h-41C4.7 8 4 8.7 4 9.5v3c0 .8.7 1.5 1.5 1.5h41c.8 0 1.5-.7 1.5-1.5v-3zM48 39.5c0-.8-.7-1.5-1.5-1.5h-41c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h41c.8 0 1.5-.7 1.5-1.5v-3zM30 29h4.5c.8 0 1.5-.7 1.5-1.5v-3c0-.8-.7-1.5-1.5-1.5H30c-.6 0-1-.4-1-1v-4.5c0-.8-.7-1.5-1.5-1.5h-3c-.8 0-1.5.7-1.5 1.5V22c0 .6-.4 1-1 1h-4.5c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5H22c.6 0 1 .4 1 1v4.5c0 .8.7 1.5 1.5 1.5h3c.8 0 1.5-.7 1.5-1.5V30c0-.6.4-1 1-1z\"}},\nexpand_alt:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M48.8 2H33.3c-1 0-1.3.9-.5 1.7l4.9 4.9-9 9c-.5.5-.5 1.3 0 1.9l3.7 3.7c.5.5 1.3.5 1.9 0l9.1-9.1 4.9 4.9c.8.8 1.7.5 1.7-.5V3.1c0-.6-.6-1.1-1.2-1.1zM3.5 50h15.4c1 0 1.3-1.1.5-1.9l-4.9-5 9-9.1c.5-.5.5-1.4 0-1.9l-3.7-3.7c-.5-.5-1.3-.5-1.9 0l-9 9-5-4.9C3 31.7 2 32 2 33v15.4c0 .7.8 1.6 1.5 1.6z\"}},\nfallback:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M28 3.5l-3 14.6c0 .6.4.9.9.9h15.6c1.1 0 1.8 1.3 1.3 2.3l-17 27.9c-.7 1.4-2.8.9-2.8-.7l3-17.2c0-.6-.5-.4-1.1-.4H8.5c-1.1 0-1.9-1.6-1.3-2.6l18-25.5c.7-1.3 2.8-.9 2.8.7z\"}},\nfavorite:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M27.4 3.1l4.6 15c.2.6.8.9 1.4.9h15c1.5 0 2.1 2 .9 2.9l-12.2 9c-.5.4-.7 1.1-.5 1.7L42.4 48c.4 1.4-1.1 2.6-2.3 1.7L27 39.9c-.5-.4-1.2-.4-1.8 0L12 49.7c-1.2.9-2.8-.3-2.3-1.7l5.6-15.4c.2-.6 0-1.3-.5-1.7l-12.2-9c-1.2-.9-.5-2.9.9-2.9h15c.7 0 1.2-.2 1.4-.9L24.6 3c.4-1.4 2.4-1.3 2.8.1z\"}},\nfeed:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M25.2 43c-.3 0-.7-.1-1.1-.3-.6-.3-1.1-1-1.2-1.6L17.2 18l-4.9 11c-.3.9-1.1 1.4-2 1.4H3.5c-.8 0-1.5-.6-1.5-1.4v-1.5c0-.8.7-1.5 1.5-1.5h5.2l6.9-15.7c.4-.8 1.3-1.4 2.3-1.3 1 .1 1.8.7 2 1.7l5.9 23.4L33.7 17c.4-.9 1.3-1.4 2.2-1.3.8.1 1.6.7 2 1.5l3.9 8.9h6.8c.8 0 1.5.7 1.5 1.5V29c0 .8-.7 1.5-1.5 1.5h-8.2c-.9 0-1.7-.5-2.1-1.3l-2.5-5.7-8.4 18.3c-.5.7-1.2 1.2-2.2 1.2z\"}},\nfile:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M9.7 36.1V11.3c-2.6 0-4.7 2.1-4.7 4.6v29.4C5 47.9 7.1 50 9.7 50H33c2.6 0 4.7-2.1 4.7-4.6H19c-5.1 0-9.3 0-9.3-9.3z\"},{\"d\":\"M45.4 15.9h-7.8c-2.6 0-4.7-2.1-4.7-4.6V3.5c.1-.8-.6-1.5-1.5-1.5H19c-2.6 0-4.7 2.1-4.7 4.6V36c0 2.6 2.1 4.6 4.7 4.6h23.3c2.6 0 4.7-2.1 4.7-4.6V17.5c0-.9-.7-1.6-1.6-1.6z\"},{\"d\":\"M46.7 9.4l-7.2-7.1c-.2-.2-.4-.3-.7-.3-.6 0-1.1.5-1.1 1.1v5.1c0 1.7 1.4 3.1 3.1 3.1h5.1c.6 0 1.1-.5 1.1-1.1 0-.3-.1-.5-.3-.8z\"}]}},\nfilter:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M24.4 31.8c-.6-.6-1.5-.6-2.1 0l-3.6 3.6c-.6.6-1.7.2-1.7-.7V21.5c0-.8-.7-1.5-1.5-1.5h-3c-.8 0-1.5.7-1.5 1.5v13.2c0 .9-1.1 1.3-1.7.7l-3.6-3.6c-.6-.6-1.5-.6-2.1 0L1.4 34c-.6.6-.6 1.5 0 2.1l11.5 11.5c.6.6 1.5.6 2.1 0L26.6 36c.6-.6.6-1.5 0-2.1l-2.2-2.1zM51 9.5c0-.8-.7-1.5-1.5-1.5h-37c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h37c.8 0 1.5-.7 1.5-1.5v-3zM51 21.5c0-.8-.7-1.5-1.5-1.5h-27c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h27c.8 0 1.5-.7 1.5-1.5v-3zM51 33.5c0-.8-.7-1.5-1.5-1.5h-17c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h17c.8 0 1.5-.7 1.5-1.5v-3z\"}}},\nfilterlist:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M48.3 4H3.9C2.4 4 1.7 5.7 2.6 6.8L22 29.5c.6.7.9 1.7.9 2.6v14.4c0 .8.8 1.5 1.6 1.5h3c.8 0 1.4-.7 1.4-1.5V32.1c0-1 .4-1.9 1.1-2.6L49.6 6.8c.9-1.1.2-2.8-1.3-2.8z\"}},\nfilter_criteria:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M16.35 10.4h18.89A1.74 1.74 0 0037 8.67V5.2A5.22 5.22 0 0031.77 0h-12a5.22 5.22 0 00-5.2 5.2v3.47a1.87 1.87 0 001.78 1.73z\"},{\"d\":\"M8.55 4.33a.82.82 0 01.86.87v3.47a6.94 6.94 0 006.85 6.93h18.89A6.88 6.88 0 0042 8.67V5.2a.82.82 0 01.87-.87h1.73a5.22 5.22 0 015.2 5.2V46.8a5.22 5.22 0 01-5.2 5.2H6.81a5.2 5.2 0 01-5.11-5.2V9.53a5.2 5.2 0 015.11-5.2h1.74zm27 19.94h-19.2a.75.75 0 00-.61 1.21l8.41 9.88a2 2 0 01.43 1.13v6.24a.75.75 0 00.69.69h1.3a.67.67 0 00.61-.69v-6.24a1.39 1.39 0 01.52-1.13l8.49-9.88a.73.73 0 00-.6-1.21z\"}]},\nfilter_criteria_rule:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M27.4 2A1.58 1.58 0 0129 3.6v11.2a3.89 3.89 0 004.2 4.2h11.2a1.58 1.58 0 011.6 1.6v24.6a4.87 4.87 0 01-4.8 4.8H10.8A4.87 4.87 0 016 45.2V6.8A4.87 4.87 0 0110.8 2h16.6zm7.52 24H17.08a.68.68 0 00-.52 1.12l7.79 9.12a1.65 1.65 0 01.36 1v5.78a.66.66 0 00.65.6h1.2a.58.58 0 00.56-.6v-5.73a1.47 1.47 0 01.45-1l7.87-9.12a.68.68 0 00-.52-1.17zM34.2 2a1.4 1.4 0 01.9.3l10.6 10.6a1.4 1.4 0 01.3.9 1.2 1.2 0 01-1.1 1.2h-8.5a3.5 3.5 0 01-3.4-3.4V3.1A1.2 1.2 0 0134.2 2z\"}},\nflow:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M49.9 10.6c-2.1-4.1-7.4-11.7-17.2-7.2-6.1 2.8-9.5 4.4-9.5 4.4l-8.8 3.8c-2.5 1.2-7.9-.5-11-1.6-.9-.3-1.7.6-1.3 1.5 2.1 4.1 7.4 11.7 17.2 7.2 6.1-2.8 18.3-8.1 18.3-8.1 2.5-1.2 7.9.5 11 1.6.9.2 1.7-.7 1.3-1.6zM28.8 23.4c-1.1.6-5.5 2.6-5.5 2.6l-4.4 1.9c-2.2 1.2-6.9-.4-9.7-1.5-.8-.4-1.5.6-1.1 1.4 1.8 4 6.5 11.2 15.1 6.8 5.4-2.7 9.9-4.5 9.9-4.5 2.2-1.2 6.9.4 9.7 1.5.8.3 1.5-.6 1.1-1.5-1.8-3.9-6.5-11.1-15.1-6.7zm-3.2 17.7c-.9.5-2.4 1.4-2.4 1.4-1.7 1.1-5.2-.3-7.3-1.3-.6-.3-1.1.6-.8 1.4 1.3 3.6 4.8 10.1 11.3 6.1 2.4-1.5 2.4-1.4 2.4-1.4 1.8-.9 5.2.3 7.3 1.3.6.3 1.1-.6.8-1.4-1.3-3.6-4.6-9.8-11.3-6.1z\"}},\nflow_alt:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M42.3 4.9H30.4C29.6 3.2 27.9 2 26 2c-2.6 0-4.8 2.2-4.8 4.8s2.2 4.8 4.8 4.8c2 0 3.7-1.2 4.4-2.9h11.9c2.1 0 3.8 1.7 3.8 3.8v7.7c0 2.1-1.7 3.8-3.8 3.8h-5.8v-5.8c0-1.6-1.3-2.9-2.9-2.9H18.3c-1.6 0-2.9 1.3-2.9 2.9V24H9.7C5.5 24 2 27.4 2 31.7v7.7c0 4.2 3.4 7.7 7.7 7.7h11.9C22.3 48.8 24 50 26 50c2.6 0 4.8-2.2 4.8-4.8 0-2.6-2.2-4.8-4.8-4.8-2 0-3.7 1.2-4.4 2.9H9.7c-2.1 0-3.8-1.7-3.8-3.8v-7.7c0-2.1 1.7-3.8 3.8-3.8h5.8v5.8c0 1.6 1.3 2.9 2.9 2.9h15.4c1.6 0 2.9-1.3 2.9-2.9V28h5.8c4.2 0 7.7-3.4 7.7-7.7v-7.7c-.2-4.3-3.7-7.7-7.9-7.7z\"}},\nfood_and_drink:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M40.881 24C39.937 31.865 33.526 37 28 37H16.002c-5.997 0-13-5.99-13-15V8a2 2 0 012-2H44a6 6 0 016 6v6a6 6 0 01-6 6h-3.119zM39 6zm1.593 34c.74 0 1.407.675 1.407 1.425v.075c0 2.475-2 4.5-4.444 4.5H6.444C4 46 2 43.975 2 41.5v-.075C2 40.675 2.667 40 3.407 40h37.186zM41 11v8h2a2 2 0 002-2v-4a2 2 0 00-2-2h-2z\"}},\nform:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"rect\":[{\"fill\":\"none\",\"height\":\"4.8\",\"rx\":\"1.6\",\"width\":\"27.2\",\"x\":\"12.4\",\"y\":\"26\"},{\"fill\":\"none\",\"height\":\"4.8\",\"rx\":\"1.6\",\"width\":\"24\",\"x\":\"12.4\",\"y\":\"35.6\"}],\"g\":{\"path\":[{\"d\":\"M36.4 14.8h8.48A1.09 1.09 0 0046 13.68a1 1 0 00-.32-.8L35.12 2.32a1 1 0 00-.8-.32 1.09 1.09 0 00-1.12 1.12v8.48a3.21 3.21 0 003.2 3.2z\"},{\"d\":\"M44.4 19.6H33.2a4.81 4.81 0 01-4.8-4.8V3.6A1.6 1.6 0 0026.8 2h-16A4.81 4.81 0 006 6.8v38.4a4.81 4.81 0 004.8 4.8h30.4a4.81 4.81 0 004.8-4.8v-24a1.6 1.6 0 00-1.6-1.6zm-32-1.6a1.62 1.62 0 011.6-1.55h6.55A1.56 1.56 0 0122.12 18v1.59a1.63 1.63 0 01-1.59 1.58H14a1.55 1.55 0 01-1.58-1.58zm24 20.77a1.6 1.6 0 01-1.6 1.6H14a1.6 1.6 0 01-1.6-1.6V37.2a1.6 1.6 0 011.6-1.6h20.8a1.6 1.6 0 011.6 1.6zm3.2-9.6A1.6 1.6 0 0138 30.8H14a1.6 1.6 0 01-1.6-1.6v-1.6A1.6 1.6 0 0114 26h24a1.6 1.6 0 011.6 1.6z\"}]}},\nformula:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M30.2 3.2c-.8-.6-1.9-.9-3.2-.9-.3 0-.6 0-.9.1-3.5.5-5.8 3.8-7.2 6.8-.6 1.4-1.2 2.9-1.7 4.4-.3.7-.5 1.4-.8 2.1 0 .1-.4 1.5-.5 1.5h-3.6c-.5 0-.9.4-.9.9s.4.9.9.9h3.1l-1.8 7.5C12 34.7 9.7 44.2 9.1 45.9c-.6 1.7-1.4 2.6-2.5 2.6-.2 0-.4 0-.5-.1-.1-.1-.2-.2-.2-.4 0-.1.1-.4.3-.7.2-.3.3-.7.3-1 0-.7-.2-1.2-.7-1.6-.4-.4-.9-.6-1.5-.6s-1.1.2-1.6.6c-.5.4-.7 1-.7 1.7 0 1 .4 1.8 1.2 2.5.8.7 1.8 1 3.1 1 2.1 0 4.1-1 5.5-2.6.9-1 1.5-2.2 2.1-3.5 1.8-3.9 2.7-8.2 3.7-12.3 1-4.2 2-8.4 2.9-12.7H24c.5 0 .9-.4.9-.9s-.4-.9-.9-.9h-3.1c1.7-6.6 3.7-11.1 4.1-11.8.7-1.1 1.4-1.7 2.1-1.7.3 0 .5.1.6.2.1.2.1.3.1.4 0 .1-.1.3-.3.7-.2.4-.3.8-.3 1.2 0 .6.2 1 .6 1.4.4.4.9.6 1.5.6s1.1-.2 1.5-.6c.4-.4.6-1 .6-1.7.1-1.1-.3-1.9-1.2-2.5zM46.1 23.2c1.3 0 3.8-1 3.8-4.4 0-3.3-2.4-3.5-3.1-3.5-1.5 0-2.9 1.1-4.2 3.3-1.3 2.3-2.7 4.7-2.7 4.7-.3-1.6-.6-2.9-.7-3.5-.3-1.4-1.9-4.4-5.2-4.4-3.3 0-6.3 1.9-6.3 1.9-.6.4-.9 1-.9 1.7 0 1.1.9 2 2 2 .3 0 .6-.1.9-.2 0 0 2.5-1.4 3 0 .2.4.3.9.4 1.4.6 2.2 1.2 4.7 1.7 7l-2.2 3.1s-2.4-.9-3.7-.9-3.8 1-3.8 4.4 2.4 3.5 3.1 3.5c1.5 0 2.9-1.1 4.2-3.3 1.3-2.3 2.7-4.7 2.7-4.7.4 2 .8 3.7 1 4.4.8 2.3 2.7 3.7 5.3 3.7 0 0 2.6 0 5.7-1.7.7-.3 1.3-1 1.3-1.9 0-1.1-.9-2-2-2-.3 0-.6.1-.9.2 0 0-2.2 1.2-2.9.3-.5-1-1-2.4-1.3-4-.3-1.5-.7-3.2-1-4.9l2.2-3.2c-.1.1 2.4 1 3.6 1z\"}},\nforward:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M3.4 29h33.2c.9 0 1.3 1.1.7 1.7l-9.6 9.6c-.6.6-.6 1.5 0 2.1l2.2 2.2c.6.6 1.5.6 2.1 0L49.5 27c.6-.6.6-1.5 0-2.1L32 7.4c-.6-.6-1.5-.6-2.1 0l-2.1 2.1c-.6.6-.6 1.5 0 2.1l9.6 9.6c.6.7.2 1.8-.7 1.8H3.5c-.8 0-1.5.6-1.5 1.4v3c0 .8.6 1.6 1.4 1.6z\"}},\nforward_up:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M8.2 49.6l31.5-31.5c.9-.9 2.3-.2 2.3.9v18.2c0 1.1.9 2 2 2h4.2c1.1 0 2-.9 2-2L50 4.1c0-1.1-.9-2-2-2H14.8c-1.1 0-2 .9-2 2v4c0 1.1.9 2 2 2H33c1.2.1 1.9 1.5 1 2.4L2.6 43.9c-.8.8-.9 2-.1 2.7l2.8 2.8c.8.8 2.1 1 2.9.2z\"}},\nfreeze_column:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M14.5 44a1.54 1.54 0 011.5 1.5v3a1.54 1.54 0 01-1.5 1.5h-9A1.54 1.54 0 014 48.5v-3A1.54 1.54 0 015.5 44zm19.6 0c.59 0 1.1.7 1.1 1.5v3c0 .8-.51 1.5-1.1 1.5h-6.6c-.59 0-1.1-.7-1.1-1.5v-3c0-.8.51-1.5 1.1-1.5zm12.8 0c.59 0 1.1.7 1.1 1.5v3c0 .8-.51 1.5-1.1 1.5h-6.6c-.59 0-1.1-.7-1.1-1.5v-3c0-.8.51-1.5 1.1-1.5zM21.6 14a.8.8 0 01.8.8v34.4a.8.8 0 01-.8.8h-.8a.8.8 0 01-.8-.8V14.8a.8.8 0 01.8-.8zm-7.1 20a1.54 1.54 0 011.5 1.5v3a1.54 1.54 0 01-1.5 1.5h-9A1.54 1.54 0 014 38.5v-3A1.54 1.54 0 015.5 34zm19.6 0c.59 0 1.1.7 1.1 1.5v3c0 .8-.51 1.5-1.1 1.5h-6.6c-.59 0-1.1-.7-1.1-1.5v-3c0-.8.51-1.5 1.1-1.5zm12.8 0c.59 0 1.1.7 1.1 1.5v3c0 .8-.51 1.5-1.1 1.5h-6.6c-.59 0-1.1-.7-1.1-1.5v-3c0-.8.51-1.5 1.1-1.5zM14.5 24a1.54 1.54 0 011.5 1.5v3a1.54 1.54 0 01-1.5 1.5h-9A1.54 1.54 0 014 28.5v-3A1.54 1.54 0 015.5 24zm19.6 0c.59 0 1.1.7 1.1 1.5v3c0 .8-.51 1.5-1.1 1.5h-6.6c-.59 0-1.1-.7-1.1-1.5v-3c0-.8.51-1.5 1.1-1.5zm12.8 0c.59 0 1.1.7 1.1 1.5v3c0 .8-.51 1.5-1.1 1.5h-6.6c-.59 0-1.1-.7-1.1-1.5v-3c0-.8.51-1.5 1.1-1.5zM14.5 14a1.54 1.54 0 011.5 1.5v3a1.54 1.54 0 01-1.5 1.5h-9A1.54 1.54 0 014 18.5v-3A1.54 1.54 0 015.5 14zm19.6 0c.59 0 1.1.7 1.1 1.5v3c0 .8-.51 1.5-1.1 1.5h-6.6c-.59 0-1.1-.7-1.1-1.5v-3c0-.8.51-1.5 1.1-1.5zm12.8 0c.59 0 1.1.7 1.1 1.5v3c0 .8-.51 1.5-1.1 1.5h-6.6c-.59 0-1.1-.7-1.1-1.5v-3c0-.8.51-1.5 1.1-1.5zm-.4-12A1.54 1.54 0 0148 3.5v5a1.54 1.54 0 01-1.5 1.5h-41A1.54 1.54 0 014 8.5v-5A1.54 1.54 0 015.5 2z\"}},\nfrozen:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M27 3c.6 0 1 .4 1 1v45.9c0 .6-.4 1-1 1h-2c-.6 0-1-.4-1-1V4c0-.6.4-1 1-1h2z\"},{\"d\":\"M26 17.2l-8.1-8.1c-.4-.4-.4-1 0-1.4l1.4-1.4c.4-.4 1-.4 1.4 0l5.3 5.3 5.3-5.3c.4-.4 1-.4 1.4 0l1.4 1.4c.4.4.4 1 0 1.4L26 17.2M26 36.7l8.1 8.1c.4.4.4 1 0 1.4l-1.4 1.4c-.4.4-1 .4-1.4 0L26 42.3l-5.3 5.3c-.4.4-1 .4-1.4 0l-1.4-1.4c-.4-.4-.4-1 0-1.4l8.1-8.1M47.1 15.6c.3.5.2 1.1-.4 1.4L7.2 40.3c-.5.3-1.1.2-1.4-.4l-1-1.7c-.3-.5-.2-1.1.4-1.4l39.5-23.4c.5-.3 1.1-.2 1.4.4l1 1.8z\"},{\"d\":\"M34.4 22l2.8-11.1c.1-.6.6-.9 1.2-.7l1.9.5c.6.1.9.6.7 1.2l-1.9 7.3 7.3 1.9c.6.1.9.6.7 1.2l-.5 1.9c-.1.6-.6.9-1.2.7l-11-2.9M17.6 31.9L14.8 43c-.1.6-.6.9-1.2.7l-1.9-.5c-.6-.1-.9-.6-.7-1.2l1.9-7.3-7.3-1.9c-.6-.1-.9-.6-.7-1.2l.5-1.9c.1-.6.6-.9 1.2-.7l11 2.9M5.9 13.9c.3-.5.9-.7 1.4-.4l39.5 23.4c.5.3.7.9.4 1.4l-1 1.7c-.3.5-.9.7-1.4.4L5.2 17c-.5-.3-.7-.9-.4-1.4l1.1-1.7z\"},{\"d\":\"M17.6 22L6.5 24.9c-.6.1-1.1-.1-1.2-.7l-.5-1.9c-.1-.6.1-1.1.7-1.2l7.3-1.9-1.9-7.3c-.1-.6.1-1.1.7-1.2l1.9-.5c.6-.1 1.1.1 1.2.7L17.6 22M34.3 31.9L45.4 29c.6-.1 1.1.1 1.2.7l.5 1.9c.1.6-.1 1.1-.7 1.2l-7.3 1.9L41 42c.1.6-.1 1.1-.7 1.2l-1.9.5c-.6.1-1.1-.1-1.2-.7l-2.9-11.1\"}]},\nfulfillment_order:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M24.3 36.5c.7 0 1.4.1 2 .3L15.5 6.2l-1-3c-.3-.9-1.2-1.3-2-1L3.1 5.3c-.9.3-1.3 1.2-1 2l1 3c.3.9 1.2 1.3 2 1L10 9.7l9.9 28.1c1.3-.8 2.8-1.3 4.4-1.3zM41.2 29.2l-9.9 3.5c-1 .4-2.2-.2-2.5-1.2l-3.5-9.9c-.4-1 .2-2.2 1.2-2.5l9.9-3.5c1-.4 2.2.2 2.5 1.2l3.5 9.9c.4 1-.2 2.1-1.2 2.5zM31.8 12.9l-6.7 2.3c-1 .4-2.2-.2-2.5-1.2l-2.3-6.7c-.4-1 .2-2.2 1.2-2.5l6.7-2.3c1-.4 2.2.2 2.5 1.2l2.3 6.7c.4.9-.1 2.1-1.2 2.5zM49.9 35.5l-1-3c-.3-.9-1.2-1.3-2-1l-18.2 6.3c1.9 1.2 3.2 3.2 3.6 5.5L49 37.6c.8-.3 1.2-1.2.9-2.1zM24.3 39.1c-3 0-5.5 2.5-5.5 5.5s2.5 5.5 5.5 5.5 5.5-2.5 5.5-5.5c0-3.1-2.5-5.5-5.5-5.5z\"}}},\nfull_width_view:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M48.5 4h-45C2.7 4 2 4.7 2 5.5v5c0 .8.7 1.5 1.5 1.5h45c.8 0 1.5-.7 1.5-1.5v-5c-.1-.8-.7-1.5-1.5-1.5zM10.7 16h-7c-.8 0-1.5.7-1.5 1.5v29.8c0 .8.7 1.5 1.5 1.5h7c.8 0 1.5-.7 1.5-1.5V17.5c0-.8-.7-1.5-1.5-1.5zM48.5 16h-7c-.8 0-1.5.7-1.5 1.5v29.8c0 .8.7 1.5 1.5 1.5h7c.8 0 1.5-.7 1.5-1.5V17.5c0-.8-.7-1.5-1.5-1.5zM34.5 16H17.7c-.8 0-1.5.7-1.5 1.5v29.8c0 .8.7 1.5 1.5 1.5h16.8c.8 0 1.5-.7 1.5-1.5V17.5c0-.8-.7-1.5-1.5-1.5z\"}}},\nglobal_constant:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M28.6 28.2c2.6-2 5.4-2.3 7.3-2.3l7.1-.1c.7 0 1.4 0 2.1-.1.9 0 1.8-.1 2.6-.1h2.1C49.9 12.5 39.1 1.8 26 1.8S2.1 12.5 2.1 25.6c0 11.5 8.2 21.1 19 23.4-.2-.8-.1-1.6.1-2.4.3-1.4 1.1-2.5 1.9-3.3-2.5-2.5-4.6-8.2-5-15.2h5.5v6.4c.2-.5.3-1 .6-1.4 1-1.4 2.1-2.9 3.4-4.2.2-.2.5-.4.6-.6l.4-.1zm16.3-4.8h-6.3c-.2-5.7-1.5-10.6-3.4-14.3 5.3 2.9 8.9 8.2 9.7 14.3zM28.4 7.7c2.7 2.3 5.1 8.2 5.5 15.7h-5.5V7.7zm-4.8 0v15.7h-5.5c.4-7.5 2.8-13.4 5.5-15.7zM7.1 28.2h6.3c.2 5.7 1.5 10.6 3.4 14.3-5.3-2.9-8.9-8.2-9.7-14.3zm6.2-4.8H7.1c.8-6.1 4.5-11.4 9.7-14.3-1.9 3.7-3.1 8.7-3.5 14.3z\"},{\"d\":\"M24.6 41.9c.3-.2.6-.6.8-.7.2-.3.6-.6.8-1-1.3-.6-2.2-1.7-2.6-3v5.7c.4-.5.7-.8 1-1z\"}]},\"path\":{\"d\":\"M49.6 29.9c-.2-.2-.3-.2-.5-.2-2-.1-4.1.1-6 .1l-7.1.1c-2.1 0-3.9.5-5.6 2-1 1-2.1 2.3-2.9 3.5-.1.2-.2.3-.2.5 0 .5.4.8.8.8.5 0 .6-.3.8-.6s.5-.6.8-1c1.1-1 2.6-1.6 4.1-1.4-1.3 3.5-3 7.5-5.6 10.3-1 1.1-2.9 2.3-3.3 3.9-.4 1.7 1.3 2.1 2.5 1.6 1.6-.6 2.5-2.3 3.4-3.7 1-1.8 1.9-3.6 2.6-5.4.8-1.8 1.6-3.7 2.3-5.5.5-1.1.6-1.1 1.8-1.1h3.1c-1.1 2.5-2.2 5.1-3.3 7.7-.8 2-2.2 4.9-1.2 7 1 2.1 3.8 1.4 5.3.2 1.6-1.1 2.5-2.9 3.4-4.5.2-.3.3-.6.2-1-.2-.3-.4-.5-.7-.5-.7 0-.9.9-1.1 1.4-.4.9-1.4 1.7-2.4 1.5-2.3-.3-.2-4.5.2-5.7.4-1.2.9-2.3 1.4-3.4.3-.6.6-1.4.9-2 .4-.8.4-.8 1.4-.9.8 0 3.1.4 3.8-.1.6-.4.9-1.8 1.2-2.8.2-.3.2-.5-.1-.8z\"}},\ngraph:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M2 45.5c0 2.2 1.8 4 4 4h42.4c.9 0 1.6-.7 1.6-1.6v-2.8c0-.9-.7-1.6-1.6-1.6H9.5c-.8 0-1.5-.7-1.5-1.5V4.1c0-.9-.7-1.6-1.6-1.6H3.6c-.9 0-1.6.7-1.6 1.6v41.4z\"},{\"d\":\"M49.7 14.1c0-1.7-1.3-3-3-3-.9 0-1.6.4-2.2.9l-8.6 8.6L30 15l-.1-.1-.2-.2c-.1 0-.1-.1-.2-.1-.1-.1-.2-.1-.3-.2-.1 0-.1-.1-.2-.1s-.2-.1-.4-.1c-.1 0-.1 0-.2-.1-.2 0-.4-.1-.6-.1-.2 0-.4 0-.6.1-.1 0-.1 0-.2.1-.1 0-.3.1-.4.1-.1 0-.1.1-.2.1-.1.1-.2.1-.3.2-.1 0-.1.1-.2.2s-.2.1-.3.2L14.2 26.5c-.6.6-1 1.3-1 2.2 0 1.7 1.3 3 3 3 .7 0 1.4-.3 1.9-.7l9.8-9.7 5.7 5.6c.1.1.2.1.3.2l.2.2c.1.1.2.1.3.2.1 0 .1.1.2.1.1.1.3.1.4.1.1 0 .1 0 .2.1.2 0 .4.1.6.1.2 0 .4 0 .6-.1h.2c.1 0 .2-.1.4-.1.1 0 .1-.1.2-.1s.2-.1.3-.2c.1 0 .1-.1.2-.1l.1-.1.1-.1.1-.1 10.8-10.7c.5-.6.9-1.3.9-2.2z\"}]},\ngroups:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M15.9 28c-1.4-2.1-2.1-4.5-2.1-7.2 0-4.6 1.9-8.4 4.9-10.7-1-1.8-3-3.1-5.6-3.1-4.4 0-6.9 3.6-6.9 7.7 0 2.2.7 4.1 2.2 5.4.8.8 1.5 1.8 1.5 2.8s-.4 2-2.9 3.1c-3.6 1.6-6.9 3.8-7 7.1.1 2.2 1.5 3.9 3.6 3.9h3.3c.5 0 1-.3 1.3-.8 1.6-2.9 4.6-4.7 7.1-6 .9-.4 1.1-1.5.6-2.2zM45.1 26c-2.5-1.1-2.9-2-2.9-3.1s.7-2.1 1.5-2.8c1.5-1.4 2.2-3.2 2.2-5.4 0-4.1-2.4-7.7-6.9-7.7-2.6 0-4.6 1.3-5.7 3.1 3 2.3 4.9 6.1 4.9 10.7 0 2.7-.7 5.1-2.1 7.2-.5.8-.2 1.8.6 2.2 2.5 1.2 5.5 3.1 7.1 6 .3.5.8.8 1.3.8h3.3c2.1 0 3.5-1.7 3.5-3.9.1-3.3-3.2-5.5-6.8-7.1z\"},{\"d\":\"M32.7 33.3c-2.7-1.2-3.2-2.3-3.2-3.4 0-1.2.8-2.3 1.7-3.1 1.6-1.5 2.5-3.6 2.5-6 0-4.5-2.7-8.4-7.6-8.4s-7.6 3.9-7.6 8.4c0 2.4.9 4.5 2.5 6 .9.9 1.7 2 1.7 3.1 0 1.2-.4 2.2-3.2 3.4-4 1.7-7.8 3.6-7.9 7.2 0 2.4 1.8 4.4 4.1 4.4h20.8c2.3 0 4.1-2 4.1-4.4-.1-3.5-3.9-5.4-7.9-7.2z\"}]}},\nhelp:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M28.4 38h-5c-.8 0-1.4-.6-1.4-1.4v-1.5c0-4.2 2.7-8 6.7-9.4 1.2-.4 2.3-1.1 3.2-2.1 5-6 .4-13.2-5.6-13.4-2.2-.1-4.3.7-5.9 2.2-1.3 1.2-2.1 2.7-2.3 4.4-.1.6-.7 1.1-1.5 1.1h-5c-.9 0-1.6-.7-1.5-1.6.4-3.8 2.1-7.2 4.8-9.9 3.2-3 7.3-4.6 11.7-4.5C34.9 2.2 41.7 9 42 17.3c.3 7-4 13.3-10.5 15.7-.9.4-1.5 1.1-1.5 2v1.5c0 .9-.8 1.5-1.6 1.5zM30 48.5c0 .8-.7 1.5-1.5 1.5h-5c-.8 0-1.5-.7-1.5-1.5v-5c0-.8.7-1.5 1.5-1.5h5c.8 0 1.5.7 1.5 1.5v5z\"}},\nhelp_center:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M25.7 2C12.4 2.2 1.9 13.1 2 26.3 2.2 39.6 13.1 50.1 26.3 50c13.3-.2 23.8-11.1 23.7-24.3C49.8 12.4 38.9 1.9 25.7 2zm0 3.2c3.6-.1 7 .8 9.9 2.3l-3.2 5.4c-1.9-1-4.1-1.5-6.4-1.5s-4.5.5-6.4 1.5l-3.2-5.4c2.8-1.4 5.9-2.3 9.3-2.3zM12.9 32.4l-5.4 3.2c-1.4-2.8-2.3-6-2.3-9.4-.1-3.6.8-7 2.3-9.9l5.4 3.2c-1 1.9-1.5 4.1-1.5 6.4s.5 4.6 1.5 6.5zm13.4 14.4c-3.6.1-7-.8-9.9-2.3l3.2-5.4c1.9 1 4.1 1.5 6.4 1.5s4.5-.5 6.4-1.5l3.2 5.4c-2.8 1.4-5.9 2.3-9.3 2.3zm-.3-9.3c-6.4 0-11.5-5.2-11.5-11.5 0-6.4 5.2-11.5 11.5-11.5 6.4 0 11.5 5.2 11.5 11.5 0 6.4-5.1 11.5-11.5 11.5zm13.1-5.1c1-1.9 1.5-4.1 1.5-6.4s-.5-4.5-1.5-6.4l5.4-3.2c1.4 2.8 2.3 6 2.3 9.4.1 3.6-.8 7-2.3 9.9l-5.4-3.3z\"}},\nhelp_doc_ext:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M49.83 32.45A1.43 1.43 0 0048.44 31h-12A1.43 1.43 0 0035 32.44v1.44a1.43 1.43 0 001.4 1.44h6.14l-11 11a1.42 1.42 0 000 2l1 1a1.54 1.54 0 001.09.45 1.32 1.32 0 00.94-.38l11-11v6A1.43 1.43 0 0047 45.83h1.53a1.43 1.43 0 001.47-1.4zM19.91 32.07h-4.08A1.12 1.12 0 0114.68 31v-1.3a8.18 8.18 0 015.47-7.7 6.16 6.16 0 002.61-1.71 6.56 6.56 0 00-9.38-9.15 5.77 5.77 0 00-1.88 3.6 1.17 1.17 0 01-1.23.89H6.19A1.17 1.17 0 015 14.46v-.1a13.31 13.31 0 013.89-8.08 13.38 13.38 0 019.55-3.68 13.1 13.1 0 014 25.39 1.83 1.83 0 00-1.23 1.63v1.23a1.27 1.27 0 01-1.3 1.22zm1.3 8.57A1.24 1.24 0 0120 41.87h-4.09a1.27 1.27 0 01-1.23-1.23v-4.08a1.25 1.25 0 011.23-1.22H20a1.25 1.25 0 011.22 1.22z\"}}},\nhide:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M51.8 25.1c-1.6-3.2-3.7-6.1-6.3-8.4L37 25.1v.9c0 6.1-4.9 11-11 11h-.9l-5.4 5.4c2 .4 4.1.7 6.2.7 11.3 0 21.1-6.6 25.8-16.1.4-.7.4-1.3.1-1.9zM48.5 5.6l-2.1-2.1c-.6-.6-1.7-.5-2.4.3l-7.3 7.3C33.4 9.7 29.8 9 26 9 14.7 9 4.9 15.6.2 25.1c-.3.6-.3 1.3 0 1.8 2.2 4.5 5.5 8.2 9.6 11l-6 6.1c-.7.7-.8 1.8-.3 2.4l2.1 2.1c.6.6 1.7.5 2.4-.3L48.2 8c.8-.7.9-1.8.3-2.4zM15 26c0-6.1 4.9-11 11-11 2 0 3.8.5 5.4 1.4l-3 3c-.8-.2-1.6-.4-2.4-.4-3.9 0-7 3.1-7 7 0 .8.2 1.6.4 2.4l-3 3C15.5 29.8 15 28 15 26z\"}}},\nhide_mobile:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M36.1 25.3v14.1c0 .7-.6 1.4-1.4 1.4H20.6L12 49.4c.6.4 1.3.6 2 .6h24c2 0 3.7-1.7 3.7-3.7V19.7l-5.6 5.6zM26 48.1c-1.6 0-2.8-1.2-2.8-2.8s1.2-2.8 2.8-2.8 2.8 1.2 2.8 2.8-1.2 2.8-2.8 2.8zM10.3 45.6l5.7-5.7v-.1l20.2-20.2v.1l5.5-5.5v-.1l7-7c.7-.6.8-1.7.3-2.2L47 3c-.6-.6-1.6-.5-2.2.3l-3.1 3.1v-.7C41.7 3.7 40 2 38 2H14c-2 0-3.7 1.7-3.7 3.7v32.1l-7.1 7.1c-.6.6-.7 1.6-.2 2.1l1.9 2c.6.6 1.6.5 2.2-.3l3.2-3.1zm5.5-34.8c0-.7.6-1.4 1.4-1.4h17.5c.7 0 1.4.6 1.4 1.4V12L15.8 32.2V10.8z\"}}},\nhierarchy:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M23.1 23H10.8c-.7 0-1.4.6-1.4 1.3v10.5H5.3c-.7 0-1.4.7-1.4 1.4v10c0 .7.7 1.4 1.4 1.4H19c.7 0 1.4-.7 1.4-1.4v-10c0-.7-.7-1.4-1.4-1.4h-4.1v-6.4h21.9v6.4h-4.1c-.7 0-1.4.7-1.4 1.4v10c0 .7.7 1.4 1.4 1.4h13.7c.7 0 1.3-.7 1.3-1.4v-10c0-.7-.6-1.4-1.3-1.4h-4.2V24.3c0-.7-.7-1.3-1.4-1.3H28.6v-6.4h4.1c.7 0 1.3-.7 1.3-1.4v-10c0-.7-.6-1.4-1.3-1.4H19c-.7 0-1.4.7-1.4 1.4v10c0 .7.7 1.4 1.4 1.4h4.2V23z\"}},\nhigh_velocity_sales:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M50 3.2c0-1-.6-1.2-.9-1.2H28.4c-1.5 0-1.5 1.5-1.5 1.5v2.9c0 1.3.8 1.6 1.2 1.6h14.4c.6.1 1.5.5 1.5 2.1v13.6c.1.4.3 1.3 1.5 1.3h3.2s1.3 0 1.3-1.5V3.2z\"},{\"d\":\"M37.5 15.7c.1-1-.6-1.2-.9-1.2H15.9c-1.5 0-1.5 1.5-1.5 1.5v2.9c0 1.3.8 1.6 1.2 1.6H30c.6.1 1.5.5 1.5 2.1v13.6c.1.4.3 1.3 1.5 1.3h3.2s1.3 0 1.3-1.5V15.7z\"},{\"d\":\"M5.3 48.8c.2.2 1 .8 2.1-.3l10.4-10.4c.3-.3 1.2-1 1.2.4v10.2c.1.4.3 1.3 1.5 1.3h3.2s1.3 0 1.3-1.5V28.2c0-1-.6-1.1-.9-1.2H3.4c-1.5 0-1.5 1.5-1.5 1.5v2.9c0 1.3.8 1.6 1.2 1.6h9.6c.4 0 1.6.1.5 1.2l-10 10.2S2 45.5 3 46.5l2.3 2.3z\"}]}},\nholiday_operating_hours:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M38.71 25.59a11.3 11.3 0 0111.29 11v.29a11.29 11.29 0 01-11 11.29h-.29a11.3 11.3 0 01-.3-22.59zm-.45 3.08v.1l-1.66 5.32a.4.4 0 01-.4.32h-5.43a.58.58 0 00-.39 1l.07.06 4.31 3.18a.55.55 0 01.2.51v.09l-2 5.43a.53.53 0 00.74.65h.07l4.67-3.45a.53.53 0 01.55-.06l.08.06 4.63 3.45a.52.52 0 00.83-.51v-.09l-2-5.43a.56.56 0 01.11-.53l.07-.07L47 35.43a.57.57 0 00-.23-1h-5.44a.52.52 0 01-.45-.23v-.09l-1.67-5.31a.52.52 0 00-.95-.13zM21.84 3a19.89 19.89 0 0119.84 19.84v.24a14.26 14.26 0 00-2.47-.31h-.9v-.25a16.47 16.47 0 10-16.47 16.79 16.32 16.32 0 002.91-.26 14.19 14.19 0 00.92 3.26 19.36 19.36 0 01-3.83.37 19.84 19.84 0 010-39.68zM22 14.3a1.06 1.06 0 011 1V22a1.06 1.06 0 00.27.76l3.81 3.93a1 1 0 010 1.45l-1.43 1.44a1 1 0 01-1.43 0l-5-5.1a1.4 1.4 0 01-.28-.76v-8.38a1.06 1.06 0 011-1H22z\"}},\nhome:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M49 27h-5v22c0 .6-.4 1-1 1H33c-.6 0-1-.4-1-1V32H20v17c0 .6-.4 1-1 1H9c-.6 0-1-.4-1-1V27H3c-.4 0-.8-.2-.9-.6-.2-.4-.1-.8.2-1.1l23-23c.4-.4 1.1-.4 1.4 0l23 23c.3.3.3.7.2 1.1s-.5.6-.9.6z\"}},\nidentity:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M46 8H34.9s.1.7.1 1c0 3.9-3.1 7-7 7h-6c-3.9 0-7-3.1-7-7 0-.3 0-1 .1-1H6c-2.2 0-4 1.8-4 4v30c0 2.2 1.8 4 4 4h40c2.2 0 4-1.8 4-4V12c0-2.2-1.8-4-4-4zM21.7 38H10.3C9 38 8 36.8 8 35.5c0-2 2.1-3.1 4.3-4 1.5-.6 1.7-1.2 1.7-1.9 0-.6-.4-1.2-.9-1.7-.9-.8-1.4-2-1.4-3.3 0-2.5 1.5-4.6 4.2-4.6s4.2 2.1 4.2 4.6c0 1.3-.5 2.5-1.4 3.3-.5.5-.9 1.1-.9 1.7 0 .6.2 1.2 1.7 1.9 2.2.9 4.3 2 4.3 4 .2 1.3-.8 2.5-2.1 2.5zM44 34c0 .6-.4 1-1 1H29c-.6 0-1-.4-1-1v-2c0-.6.4-1 1-1h14c.6 0 1 .4 1 1v2zm2-8c0 .6-.4 1-1 1H29c-.6 0-1-.4-1-1v-2c0-.6.4-1 1-1h16c.6 0 1 .4 1 1v2z\"},{\"d\":\"M22 12h6c1.7 0 3-1.3 3-3s-1.3-3-3-3h-6c-1.7 0-3 1.3-3 3s1.3 3 3 3z\"}]}},\nimage:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M50 10c0-2.2-1.8-4-4-4H6c-2.2 0-4 1.8-4 4v32c0 2.2 1.8 4 4 4h40c2.2 0 4-1.8 4-4V10zM39.6 38h-29c-1.2 0-1.9-1.3-1.3-2.3l8.8-15.3c.4-.7 1.3-.7 1.7 0l5.3 9.1c.4.6 1.3.7 1.7.1l4.3-6.2c.4-.6 1.3-.6 1.7 0L40.7 36c.6.9 0 2-1.1 2zM37 20c-2.2 0-4-1.8-4-4s1.8-4 4-4 4 1.8 4 4-1.8 4-4 4z\"}},\nin_app_assistant:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M49.9 33.6l-2-4.2 2-4.2c.2-.3 0-.8-.3-.9-.1 0-.2-.1-.3-.1h-6.5c-.5-1.3-1.8-4.5-3-6.3-1.5-2.4-3.2-4.4-5.2-6-2.3-1.9-4.9-3.5-7.9-4.7l-.7-.1-.7.2c-.1 0-1.2.4-2.9 1.2-1.4.7-3 1.7-4.6 3-3.1 2.5-5.5 5.5-7.2 9-.5 1.1-1.1 2.4-1.6 3.8H2.7c-.1 0-.2 0-.3.1-.3.1-.5.6-.4.9l1.8 4.2L2 33.7v.2c0 .4.3.7.7.7h4.5V36.4c0 .7 0 1.5.1 2v1.3l1.2.7c.1 0 2 1.1 5.1 2.2 2.8 1 7.3 2.2 12.7 2.2 4.7 0 9.3-.9 13.7-2.7 1.3-.5 2.5-1.1 3.6-1.7l1-.5.2-.8.1-.7v-2.1c0-.4 0-.6-.1-.8 0-.2-.1-.4-.1-1h4.6c.4 0 .7-.3.7-.7 0 0 0-.1-.1-.2zm-8.5 3.6c0 .2 0 .4-.1.6-.9.5-1.8.9-2.7 1.3-4 1.6-8.1 2.4-12.4 2.4-4.9 0-9-1.1-11.6-2-1.9-.7-3.3-1.3-4-1.7v-1.3-.8c0-.3 0-.5.1-2.6.2-2.9.9-5.6 1.4-7.1.5-1.5 1.1-2.9 1.6-4 1.5-3.1 3.6-5.6 6.3-7.8 1.7-1.4 3.1-2.2 3.9-2.6.9-.4 1.6-.7 2-.9 2.4 1 4.5 2.3 6.4 3.9 1.7 1.4 3.2 3.1 4.5 5.3 1 1.6 2.4 5 2.8 6 0 0 1.3 4.2 1.4 7 .1 2.2.1 2.6.2 3.1 0 .2 0 .3.1.5v.7z\"},{\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",\"d\":\"M25.8 38c-.6 0-1-.2-1.4-.5-.4-.4-.6-.9-.6-1.5s.2-1.1.6-1.4c.4-.4.9-.6 1.5-.6s1.1.2 1.4.6c.4.4.6.9.6 1.4 0 .6-.2 1.1-.6 1.5-.5.4-1 .5-1.5.5zM19.1 23.2c0-.9.3-1.7.8-2.6.6-.9 1.4-1.6 2.4-2.2 1.1-.6 2.3-.9 3.7-.9 1.3 0 2.5.2 3.5.7 1 .5 1.8 1.1 2.3 2 .5.8.8 1.7.8 2.7 0 .8-.2 1.4-.5 2-.3.6-.7 1.1-1.1 1.5-.4.4-1.2 1.1-2.3 2.1-.3.3-.6.5-.7.7-.2.2-.3.4-.4.6-.1.2-.2.4-.2.5 0 .2-.1.5-.2.9-.2.9-.7 1.4-1.6 1.4-.5 0-.9-.2-1.2-.5-.3-.1-.4-.6-.4-1.2 0-.8.1-1.4.4-2 .2-.6.5-1 .9-1.5.4-.4.9-.9 1.6-1.5.6-.5 1-.9 1.3-1.1.3-.3.5-.5.7-.9.2-.3.3-.7.3-1 0-.7-.3-1.3-.8-1.8s-1.2-.7-2.1-.7c-1 0-1.7.3-2.2.8-.5.5-.9 1.2-1.2 2.2-.3 1-.9 1.5-1.8 1.5-.5 0-.9-.2-1.3-.5-.5-.4-.7-.8-.7-1.2z\"}]},\ninbox:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M50 8c0-2.2-1.8-4-4-4H6C3.8 4 2 5.8 2 8v36c0 2.2 1.8 4 4 4h40c2.2 0 4-1.8 4-4V8zM19 35c0 .6-.4 1-1 1H9c-.6 0-1-.4-1-1v-4c0-.6.4-1 1-1h9c.6 0 1 .4 1 1v4zm0-10c0 .6-.4 1-1 1H9c-.6 0-1-.4-1-1v-4c0-.6.4-1 1-1h9c.6 0 1 .4 1 1v4zm0-10c0 .6-.4 1-1 1H9c-.6 0-1-.4-1-1v-4c0-.6.4-1 1-1h9c.6 0 1 .4 1 1v4zm25 26c0 .6-.4 1-1 1H24c-.6 0-1-.4-1-1V11c0-.6.4-1 1-1h19c.6 0 1 .4 1 1v30z\"}},\nincoming_call:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M48.5 37.9L42.4 33c-1.4-1.1-3.4-1.2-4.8-.1l-5.2 3.8c-.6.5-1.5.4-2.1-.2l-7.8-7-7-7.8c-.6-.6-.6-1.4-.2-2.1l3.8-5.2c1.1-1.4 1-3.4-.1-4.8l-4.9-6.1c-1.5-1.8-4.2-2-5.9-.3L3 8.4c-.8.8-1.2 1.9-1.2 3 .5 10.2 5.1 19.9 11.9 26.7S30.2 49.5 40.4 50c1.1.1 2.2-.4 3-1.2l5.2-5.2c1.9-1.5 1.8-4.3-.1-5.7z\"},{\"d\":\"M29.6 24H45c1 0 1.3-1.1.5-1.9l-4.9-5 9-9.1c.5-.5.5-1.4 0-1.9l-3.7-3.7c-.5-.5-1.3-.5-1.9 0l-9.1 9.1-5.1-4.9C29.1 5.7 28 6 28 7v15.3c0 .7.9 1.7 1.6 1.7z\"}]},\ninfo:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M26 2C12.7 2 2 12.7 2 26s10.7 24 24 24 24-10.7 24-24S39.3 2 26 2zm0 12.1c1.7 0 3 1.3 3 3s-1.3 3-3 3-3-1.3-3-3 1.3-3 3-3zm5 21c0 .5-.4.9-1 .9h-8c-.5 0-1-.3-1-.9v-2c0-.5.4-1.1 1-1.1.5 0 1-.3 1-.9v-4c0-.5-.4-1.1-1-1.1-.5 0-1-.3-1-.9v-2c0-.5.4-1.1 1-1.1h6c.5 0 1 .5 1 1.1v8c0 .5.4.9 1 .9.5 0 1 .5 1 1.1v2z\"}},\ninfo_alt:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M26 2C12.7 2 2 12.7 2 26s10.7 24 24 24 24-10.7 24-24S39.3 2 26 2zm0 42C16 44 8 36 8 26S16 8 26 8s18 8 18 18-8 18-18 18z\"},{\"d\":\"M26 14.1c1.7 0 3 1.3 3 3s-1.3 3-3 3-3-1.3-3-3 1.3-3 3-3zM31 35.1c0 .5-.4.9-1 .9h-8c-.5 0-1-.3-1-.9v-2c0-.5.4-1.1 1-1.1.5 0 1-.3 1-.9v-4c0-.5-.4-1.1-1-1.1-.5 0-1-.3-1-.9v-2c0-.5.4-1.1 1-1.1h6c.5 0 1 .5 1 1.1v8c0 .5.4.9 1 .9.5 0 1 .5 1 1.1v2z\"}]},\ninsert_tag_field:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M16.3 12.2L14 10.3c-.7-.5-1.5-.4-2.1.2L.3 25.1c-.4.5-.4 1.3 0 1.9L12 41.5c.5.6 1.4.8 2.1.2l2.3-1.9c.7-.5.8-1.5.2-2.1L7.2 26l9.5-11.7c.4-.6.3-1.5-.4-2.1zM51.7 25.1L40 10.6c-.5-.6-1.4-.8-2.1-.2l-2.3 1.9c-.7.5-.8 1.5-.2 2.1l9.5 11.7-9.5 11.7c-.5.6-.4 1.6.2 2.1l2.3 1.9c.7.5 1.5.4 2.1-.2L51.7 27c.4-.7.4-1.4 0-1.9zM31.6 10.8l-3-.7c-.8-.2-1.7.3-1.9 1.1l-7.4 28.4c-.2.8.3 1.6 1.1 1.8l3 .7c.8.2 1.7-.3 1.9-1.1l7.4-28.4c.2-.9-.3-1.6-1.1-1.8z\"}},\ninsert_template:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M48.5 38H44v-4.5c0-.8-.7-1.5-1.5-1.5h-3c-.8 0-1.5.7-1.5 1.5V38h-4.5c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5H38v4.5c0 .8.7 1.5 1.5 1.5h3c.8 0 1.5-.7 1.5-1.5V44h4.5c.8 0 1.5-.7 1.5-1.5v-3c0-.8-.7-1.5-1.5-1.5zM34 29.5c0-.8.7-1.5 1.5-1.5H38V6c0-2.2-1.8-4-4-4H6C3.8 2 2 3.8 2 6v28c0 2.2 1.8 4 4 4h22v-2.5c0-.8.7-1.5 1.5-1.5H34v-4.5zM16 11c0 .6-.4 1-1 1H9c-.6 0-1-.4-1-1V9c0-.6.4-1 1-1h6c.6 0 1 .4 1 1v2zm12 16c0 .6-.4 1-1 1H9c-.6 0-1-.4-1-1v-2c0-.6.4-1 1-1h18c.6 0 1 .4 1 1v2zm4-8c0 .6-.4 1-1 1H9c-.6 0-1-.4-1-1v-2c0-.6.4-1 1-1h22c.6 0 1 .4 1 1v2z\"}},\ninspector_panel:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M3.8 45.3h45c.8 0 1.5-.7 1.5-1.5v-8.3c0-.8-.7-1.5-1.5-1.5h-45c-.8 0-1.5.7-1.5 1.5v8.3c0 .8.7 1.5 1.5 1.5zm0-38.6c-.8 0-1.6.7-1.6 1.5v20.4c0 .7.8 1.4 1.6 1.4h44.8c.8 0 1.5-.7 1.5-1.5V8.2c0-.8-.7-1.5-1.5-1.5H3.8z\"}},\ninternal_share:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",\"d\":\"M2.3 37.9v.2c0 .8.6 1.4 1.4 1.4.4 0 .7-.1 1-.4 0 0 10.1-10.9 22.5-7.6v11c0 .8.6 1.4 1.4 1.4.3 0 .5-.1.7-.2l20.1-17.1c.3-.3.5-.7.5-1.1 0-.4-.2-.8-.4-1L29.4 8.2c-.2-.1-.5-.2-.8-.2-.8 0-1.4.6-1.4 1.4v10.3c-.1 0-19.9-3-24.9 18.2z\"}},\nitalic:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M38 12.3V11c0-1.1-.9-2-2-2H22c-1.1 0-2 .9-2 2v2c0 1.1.9 2 2 2 1.7 0 3 1.6 2.6 3.2L21 35.8c-.3 1.3-1.4 2.2-2.6 2.2H16c-1.1 0-2 .9-2 2v2c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2v-2c0-1.1-.9-2-2-2-1.7 0-3-1.6-2.6-3.2L31 17.2c.3-1.3 1.4-2.2 2.6-2.2h1.7c1.5 0 2.7-1.2 2.7-2.7z\"}},\njump_to_bottom:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M40.6 30.4L27.1 44c-.6.6-1.6.6-2.2 0L11.4 30.4c-.6-.6-.6-1.6 0-2.2l2.2-2.2c.6-.6 1.6-.6 2.2 0l9.1 9.4c.6.6 1.6.6 2.2 0l9.1-9.3c.6-.6 1.6-.6 2.2 0l2.2 2.2c.5.6.5 1.5 0 2.1z\"},{\"d\":\"M40.6 12.3L27.1 26.1c-.6.6-1.6.6-2.2 0L11.4 12.3c-.6-.6-.6-1.6 0-2.2l2.2-2.2c.6-.6 1.6-.6 2.2 0l9.1 9.4c.6.6 1.6.6 2.2 0L36.2 8c.6-.6 1.6-.6 2.2 0l2.2 2.2c.5.6.5 1.6 0 2.1z\"}]}},\njump_to_left:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M21.5 40.6L7.9 27.1a1.57 1.57 0 010-2.2l13.6-13.5a1.57 1.57 0 012.2 0l2.2 2.2a1.57 1.57 0 010 2.2l-9.4 9.1a1.57 1.57 0 000 2.2l9.3 9.1a1.57 1.57 0 010 2.2l-2.2 2.2a1.66 1.66 0 01-2.1 0z\"},{\"d\":\"M39.6 40.6L25.8 27.1a1.57 1.57 0 010-2.2l13.8-13.5a1.57 1.57 0 012.2 0l2.2 2.2a1.57 1.57 0 010 2.2l-9.4 9.1a1.57 1.57 0 000 2.2l9.3 9.1a1.57 1.57 0 010 2.2l-2.2 2.2a1.66 1.66 0 01-2.1 0z\"}]},\njump_to_right:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M30.4 11.3L44 24.8a1.57 1.57 0 010 2.2L30.4 40.5a1.57 1.57 0 01-2.2 0L26 38.3a1.57 1.57 0 010-2.2l9.4-9.1a1.57 1.57 0 000-2.2l-9.3-9.1a1.57 1.57 0 010-2.2l2.2-2.2a1.66 1.66 0 012.1 0z\"},{\"d\":\"M12.3 11.3l13.8 13.5a1.57 1.57 0 010 2.2L12.3 40.5a1.57 1.57 0 01-2.2 0l-2.2-2.2a1.57 1.57 0 010-2.2l9.4-9.1a1.57 1.57 0 000-2.2L8 15.7a1.57 1.57 0 010-2.2l2.2-2.2a1.66 1.66 0 012.1 0z\"}]},\njump_to_top:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M11.4 21.6L24.9 7.9c.6-.6 1.6-.6 2.2 0l13.5 13.7c.6.6.6 1.6 0 2.2L38.4 26c-.6.6-1.6.6-2.2 0l-9.1-9.4c-.6-.6-1.6-.6-2.2 0l-9.1 9.3c-.6.6-1.6.6-2.2 0l-2.2-2.2c-.5-.6-.5-1.5 0-2.1z\"},{\"d\":\"M11.4 39.7L24.9 26c.6-.6 1.6-.6 2.2 0l13.5 13.7c.6.6.6 1.6 0 2.2l-2.2 2.2c-.6.6-1.6.6-2.2 0l-9.1-9.4c-.6-.6-1.6-.6-2.2 0L15.8 44c-.6.6-1.6.6-2.2 0l-2.2-2.2c-.5-.6-.5-1.6 0-2.1z\"}]}},\njustify_text:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M48 6.5c0-.8-.7-1.5-1.5-1.5h-41C4.7 5 4 5.7 4 6.5v3c0 .8.7 1.5 1.5 1.5h41c.8 0 1.5-.7 1.5-1.5v-3zM48 18.5c0-.8-.7-1.5-1.5-1.5h-41c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h41c.8 0 1.5-.7 1.5-1.5v-3zM48 42.5c0-.8-.7-1.5-1.5-1.5h-41c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h41c.8 0 1.5-.7 1.5-1.5v-3zM48 30.5c0-.8-.7-1.5-1.5-1.5h-41c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h41c.8 0 1.5-.7 1.5-1.5v-3z\"}},\nkanban:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M32 17.5c0-.8-.7-1.5-1.5-1.5h-9c-.8 0-1.5.7-1.5 1.5v27c0 .8.7 1.5 1.5 1.5h9c.8 0 1.5-.7 1.5-1.5v-27zM14 17.5c0-.8-.7-1.5-1.5-1.5h-9c-.8 0-1.5.7-1.5 1.5v31c0 .8.7 1.5 1.5 1.5h9c.8 0 1.5-.7 1.5-1.5v-31zM50 17.5c0-.8-.7-1.5-1.5-1.5h-9c-.8 0-1.5.7-1.5 1.5v23c0 .8.7 1.5 1.5 1.5h9c.8 0 1.5-.7 1.5-1.5v-23zM50 3.5c0-.8-.7-1.5-1.5-1.5h-45C2.7 2 2 2.7 2 3.5v5c0 .8.7 1.5 1.5 1.5h45c.8 0 1.5-.7 1.5-1.5v-5z\"}},\nkey:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M6.51 12a.77.77 0 011.41.48v.41c0 9 7.09 16.27 15.74 16.27h.71a1.53 1.53 0 011.57 1.06l4.41 12.69a2.13 2.13 0 01-.08 1.22l-2.36 5.45a.77.77 0 01-1 .41l-5.35-2.52a.84.84 0 01-.48-1l.63-2.52a.82.82 0 00-.39-1.06l-1.81-.81a.9.9 0 01-.39-1l.7-2.52a.82.82 0 00-.39-1.06l-1.26-.57a.79.79 0 01-.39-1l.79-2.36a.82.82 0 00-.4-1.06l-2.36-1.06a.8.8 0 01-.41-.45l-.55-1.54a11.11 11.11 0 01-5.43-2.12 11.74 11.74 0 01-4.17-12.55A10.21 10.21 0 016.51 12zm5.55 2.54A11.28 11.28 0 0123.8 2a11.38 11.38 0 0110 7.6 10.64 10.64 0 01.2 6.49l12.7 13.27a1.4 1.4 0 01.48 1.2v5.84a.76.76 0 01-.8.8h-6a.78.78 0 01-.8-.64L39.21 34a.75.75 0 00-.79-.8h-2a.78.78 0 01-.8-.64l-.4-2.56a.76.76 0 00-.8-.8h-1.35a.79.79 0 01-.8-.72L32 26a.76.76 0 00-.8-.8h-2.69A.73.73 0 0128 25l-1.11-1.19a11.17 11.17 0 01-14.78-9.28zM21.6 7.6a4 4 0 000 8 4 4 0 004-4 4 4 0 00-4-4z\"}},\nkey_dates:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M46.8 19.6a1.6 1.6 0 011.59 1.45V45.2a4.82 4.82 0 01-4.58 4.8H8.4a4.82 4.82 0 01-4.8-4.59V21.2a1.6 1.6 0 011.45-1.59H46.8zm-21.38 4.63v.11l-2.18 6.86a.53.53 0 01-.54.41h-6.93a.75.75 0 00-.49 1.25l.08.07L20.92 37a.72.72 0 01.25.67v.11l-2.55 7a.68.68 0 001 .83l.08-.06 6-4.45a.7.7 0 01.73-.06l.09.06 6 4.45a.68.68 0 001.07-.67v-.1l-2.64-7a.72.72 0 01.15-.7l.08-.08 5.56-4.09a.74.74 0 00-.31-1.31h-7.04a.67.67 0 01-.6-.31v-.1l-2.1-6.82a.67.67 0 00-1.27-.14zM36.4 2a3.21 3.21 0 013.2 3.2v1.6h4a4.81 4.81 0 014.8 4.8v1.6a1.6 1.6 0 01-1.6 1.6H5.2a1.6 1.6 0 01-1.6-1.6v-1.6a4.81 4.81 0 014.8-4.8h4V5.2a3.2 3.2 0 016.4 0v1.6h14.4V5.2A3.21 3.21 0 0136.4 2z\"}},\nkeyboard_dismiss:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M48 34.066c1.1 0 2-.9 2-2v-26c0-1.1-.9-2-2-2H4c-1.1 0-2 .9-2 2v26c0 1.1.9 2 2 2h44zm-42-4v-22h40v22H6z\"},{\"d\":\"M13.665 13.398c0 .8-.7 1.5-1.5 1.5h-.998c-.8 0-1.5-.7-1.5-1.5V12.4c0-.8.7-1.5 1.5-1.5h.998c.8 0 1.5.7 1.5 1.5v.998zM19.402 12.4c0-.801-.7-1.5-1.5-1.5h-.998c-.8 0-1.5.699-1.5 1.5v.998c0 .799.7 1.5 1.5 1.5h.998c.8 0 1.5-.701 1.5-1.5V12.4zM30.878 13.398c0 .8-.698 1.5-1.5 1.5h-.998c-.799 0-1.5-.7-1.5-1.5V12.4c0-.8.701-1.5 1.5-1.5h.998c.802 0 1.5.7 1.5 1.5v.998zM25.14 13.398c0 .8-.699 1.5-1.5 1.5h-.998c-.799 0-1.5-.7-1.5-1.5V12.4c0-.8.701-1.5 1.5-1.5h.998c.801 0 1.5.7 1.5 1.5v.998zM42.354 12.4c0-.801-.699-1.5-1.5-1.5h-.998c-.799 0-1.5.699-1.5 1.5v.998c0 .799.701 1.5 1.5 1.5h.998c.801 0 1.5-.701 1.5-1.5V12.4zM36.615 12.4c0-.801-.699-1.5-1.5-1.5h-.998c-.799 0-1.5.699-1.5 1.5v.998c0 .799.701 1.5 1.5 1.5h.998c.801 0 1.5-.701 1.5-1.5V12.4zM13.665 19.402c0 .8-.7 1.5-1.5 1.5h-.998c-.8 0-1.5-.7-1.5-1.5v-.998c0-.8.7-1.5 1.5-1.5h.998c.8 0 1.5.7 1.5 1.5v.998zM19.402 18.404c0-.801-.7-1.5-1.5-1.5h-.998c-.8 0-1.5.699-1.5 1.5v.998c0 .799.7 1.5 1.5 1.5h.998c.8 0 1.5-.701 1.5-1.5v-.998zM30.878 19.402c0 .8-.698 1.5-1.5 1.5h-.998c-.799 0-1.5-.7-1.5-1.5v-.998c0-.8.701-1.5 1.5-1.5h.998c.802 0 1.5.7 1.5 1.5v.998zM25.14 19.402c0 .8-.699 1.5-1.5 1.5h-.998c-.799 0-1.5-.7-1.5-1.5v-.998c0-.8.701-1.5 1.5-1.5h.998c.801 0 1.5.7 1.5 1.5v.998zM42.354 18.404c0-.801-.699-1.5-1.5-1.5h-.998c-.799 0-1.5.699-1.5 1.5v.998c0 .799.701 1.5 1.5 1.5h.998c.801 0 1.5-.701 1.5-1.5v-.998zM36.615 18.404c0-.801-.699-1.5-1.5-1.5h-.998c-.799 0-1.5.699-1.5 1.5v.998c0 .799.701 1.5 1.5 1.5h.998c.801 0 1.5-.701 1.5-1.5v-.998zM13.665 25.408c0 .801-.7 1.5-1.5 1.5h-.998c-.8 0-1.5-.7-1.5-1.5v-.998c0-.8.7-1.5 1.5-1.5h.998c.8 0 1.5.7 1.5 1.5v.998zM36.615 24.41c0-.801-.7-1.5-1.5-1.5H16.904c-.8 0-1.5.699-1.5 1.5v.998c0 .8.7 1.5 1.5 1.5h18.211c.8 0 1.5-.701 1.5-1.5v-.998zM42.354 24.41c0-.801-.699-1.5-1.5-1.5h-.998c-.799 0-1.5.699-1.5 1.5v.998c0 .8.701 1.5 1.5 1.5h.998c.801 0 1.5-.701 1.5-1.5v-.998zM18.116 37.227h15.792c.447 0 .759.58.4.981l-7.718 9.457c-.266.356-.847.356-1.115 0l-7.807-9.457c-.311-.401-.043-.981.448-.981z\"}]},\nkeypad:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M8.55 36.91A6.55 6.55 0 112 43.45a6.54 6.54 0 016.55-6.54zm17.45 0a6.55 6.55 0 11-6.55 6.54A6.55 6.55 0 0126 36.91zm17.45 0a6.55 6.55 0 11-6.54 6.54 6.54 6.54 0 016.54-6.54zM8.55 19.45A6.55 6.55 0 112 26a6.55 6.55 0 016.55-6.55zm17.45 0A6.55 6.55 0 1119.45 26 6.56 6.56 0 0126 19.45zm17.45 0A6.55 6.55 0 1136.91 26a6.55 6.55 0 016.54-6.55zM8.55 2A6.55 6.55 0 112 8.55 6.54 6.54 0 018.55 2zM26 2a6.55 6.55 0 11-6.55 6.55A6.55 6.55 0 0126 2zm17.45 0a6.55 6.55 0 11-6.54 6.55A6.55 6.55 0 0143.45 2z\",\"fill-rule\":\"evenodd\"}},\nknowledge_base:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M9.5 35h13c.8 0 1.5-.7 1.5-1.5V10c0-1.7-1.8-3-3.2-3H9.5C8.7 7 8 7.7 8 8.5v25c0 .8.7 1.5 1.5 1.5z\"},{\"d\":\"M49.2 11.6c-.6-.2-1.2.3-1.2 1v24.9c0 .8-.7 1.5-1.5 1.5h-41c-.8 0-1.5-.7-1.5-1.5V12.7c0-.7-.8-1.2-1.4-.9C1.1 12.5 0 14.1 0 16v23c0 2.2 1.8 4 4 4h16.5c.8 0 1.5.7 1.5 1.5s.7 1.5 1.5 1.5h5c.8 0 1.5-.7 1.5-1.5s.7-1.5 1.5-1.5H48c2.2 0 4-1.8 4-4V16c0-2.1-.7-3.9-2.8-4.4z\"},{\"d\":\"M29.5 35h13c.8 0 1.5-.7 1.5-1.5v-25c0-.8-.7-1.5-1.5-1.5H31.2C29.7 7 28 8.3 28 10v23.5c0 .8.7 1.5 1.5 1.5z\"}]}},\nlayers:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M36 20c0-2.2-1.8-4-4-4H6c-2.2 0-4 1.8-4 4v26c0 2.2 1.8 4 4 4h26c2.2 0 4-1.8 4-4V20z\"},{\"d\":\"M43 2H17c-3.9 0-7 3.1-7 7v3h26c2.2 0 4 1.8 4 4v26h3c3.9 0 7-3.1 7-7V9c0-3.9-3.1-7-7-7z\"}]},\nlayout:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M48 50H4c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h44c1.1 0 2 .9 2 2v44c0 1.1-.9 2-2 2zM6 46h40V6H6v40z\"},{\"d\":\"M39 20H13c-.6 0-1-.4-1-1v-6c0-.6.4-1 1-1h26c.6 0 1 .4 1 1v6c0 .6-.4 1-1 1zM19 40h-6c-.6 0-1-.4-1-1V27c0-.6.4-1 1-1h6c.6 0 1 .4 1 1v12c0 .6-.4 1-1 1zM39 40H27c-.6 0-1-.4-1-1V27c0-.6.4-1 1-1h12c.6 0 1 .4 1 1v12c0 .6-.4 1-1 1z\"}]},\nleave_conference:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M25.7 22.4c-.5.7-.2 1.7.6 2.2 1.6.9 3.4 1.9 4.9 3.3 2.5-1.9 5.5-3 8.8-3.2-1.1-1.9-3.4-3.2-5.8-4.3-2.3-1-2.8-1.9-2.8-3 0-1 .7-1.9 1.4-2.8 1.4-1.3 2.1-3.1 2.1-5.3.1-4-2.2-7.5-6.4-7.5-2.5 0-4.2 1.3-5.4 3.1 2.9 2.2 4.6 6 4.6 10.3-.1 2.8-.8 5.2-2 7.2zM31.8 34.7l6 6-6 6c-.6.6-.6 1.6 0 2.1l.7.7c.6.6 1.6.6 2.1 0l6-6 6 6c.6.6 1.6.6 2.1 0l.7-.7c.6-.6.6-1.6 0-2.1l-6-6 6-6c.6-.6.6-1.6 0-2.1l-.7-.7c-.6-.6-1.6-.6-2.1 0l-6 6-6-6c-.6-.6-1.6-.6-2.1 0l-.7.7c-.5.5-.5 1.5 0 2.1z\"},{\"d\":\"M28.2 30.7c-1.4-1.4-3.5-2.3-5.6-3.3-2.6-1.1-3-2.2-3-3.3 0-1.1.7-2.3 1.6-3.1 1.5-1.5 2.3-3.6 2.3-6 0-4.5-2.6-8.4-7.2-8.4h-.5c-4.6 0-7.2 3.9-7.2 8.4 0 2.4.8 4.5 2.3 6 .9.8 1.6 1.9 1.6 3.1 0 1.1-.3 2.2-3 3.3-3.8 1.7-7.3 3.4-7.5 7 .2 2.5 1.9 4.4 4.1 4.4h18.6c.5-3.1 1.7-5.9 3.5-8.1z\"}]}},\nleft:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M38 8.3v35.4c0 1-1.3 1.7-2.2.9L14.6 27.3c-.8-.6-.8-1.9 0-2.5L35.8 7.3c.9-.7 2.2-.1 2.2 1z\"}},\nleft_align:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"rect\":[{\"x\":\"2\",\"y\":\"2\",\"width\":\"6.4\",\"height\":\"48\",\"rx\":\"1.6\"},{\"data-name\":\"Rectangle\",\"x\":\"11.6\",\"y\":\"18.8\",\"width\":\"38.4\",\"height\":\"14.16\",\"rx\":\"3.2\"}]},\nleft_align_text:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M48 6.5c0-.8-.7-1.5-1.5-1.5h-41C4.7 5 4 5.7 4 6.5v3c0 .8.7 1.5 1.5 1.5h41c.8 0 1.5-.7 1.5-1.5v-3zM40 18.5c0-.8-.7-1.5-1.5-1.5h-33c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h33c.8 0 1.5-.7 1.5-1.5v-3zM40 42.5c0-.8-.7-1.5-1.5-1.5h-33c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h33c.8 0 1.5-.7 1.5-1.5v-3zM48 30.5c0-.8-.7-1.5-1.5-1.5h-41c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h41c.8 0 1.5-.7 1.5-1.5v-3z\"}},\nlevel_down:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M8 11.9c0-.7-.7-1.5-1.5-1.5h-3c-.8 0-1.5.8-1.5 1.5v16.2c0 .8.8 1.6 1.5 1.6h33.2c.9 0 1.3 1 .7 1.7L31.8 37c-.6.6-.6 1.5 0 2.1l2.1 2.1c.6.6 1.5.6 2.1 0l13.6-13.5c.6-.6.6-1.5 0-2.1L36.1 12.1c-.6-.6-1.5-.6-2.1 0l-2.1 2.1c-.6.6-.6 1.5 0 2.1l5.6 5.6c.6.6.2 1.8-.7 1.8H9.5c-1.6 0-1.5-1.6-1.5-1.6V11.9z\"}},\nlevel_up:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M3.5 44c-.7 0-1.5.7-1.5 1.5v3c0 .8.8 1.5 1.5 1.5h23.9c.8 0 1.6-.8 1.6-1.5V15.3c0-.9 1-1.3 1.7-.7l5.6 5.6c.6.6 1.5.6 2.1 0l2.1-2.1c.6-.6.6-1.5 0-2.1L27 2.4c-.6-.6-1.5-.6-2.1 0L11.4 15.9c-.6.6-.6 1.5 0 2.1l2.1 2.1c.6.6 1.5.6 2.1 0l5.6-5.6c.6-.6 1.8-.2 1.8.7v27.3c0 1.6-1.6 1.5-1.6 1.5H3.5z\"}},\nlight_bulb:{\"path\":{\"d\":\"M24.12 2.69A16.11 16.11 0 009.69 17a15.9 15.9 0 005.85 13.65 4.92 4.92 0 011.87 3.82v.08a4 4 0 004.05 4h9a4 4 0 004.05-4v-.08a4.92 4.92 0 011.87-3.82 15.88 15.88 0 005.93-12.24C42.36 9.09 34 1.68 24.12 2.69zM33 43.16H19a1.56 1.56 0 00-1.56 1.56 4.69 4.69 0 004.68 4.68h7.8a4.69 4.69 0 004.68-4.68 1.56 1.56 0 00-1.6-1.56z\"}},\nlightning_extension:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M47.6 37.6c-.5-.1-1.1-.1-1.6-.2-.1 0-.2-.1-.2-.2-.2-.6-.5-1.2-.7-1.7v-.3c.3-.4.7-.9 1-1.3.2-.3.2-.6-.1-.9l-1.8-1.8c-.1-.1-.3-.2-.4-.2s-.3.1-.4.2c-.4.3-.9.7-1.3 1-.1 0-.1.1-.1.1h-.1c-.6-.2-1.1-.5-1.7-.7-.1 0-.2-.1-.2-.2-.1-.5-.1-1-.2-1.5 0-.3-.1-.5-.4-.7-.1-.1-.2-.1-.2-.1h-2.6c-.2 0-.3 0-.4.1-.2.2-.4.4-.4.7 0 .5-.1 1-.2 1.5 0 .1-.1.2-.2.2-.6.2-1.1.5-1.7.7h-.1c-.1 0-.1 0-.2-.1-.4-.3-.8-.7-1.3-1-.1-.1-.2-.2-.4-.2s-.3.1-.5.2L29.4 33c-.3.3-.3.6-.1.9.3.4.7.8 1 1.3.1.1.1.2 0 .3-.2.6-.5 1.1-.7 1.7 0 .1-.1.2-.2.2-.5.1-1 .1-1.5.2-.3 0-.6.2-.7.5v3c.2.3.4.4.7.5.5 0 1 .1 1.5.2.1 0 .2.1.2.2.2.6.5 1.1.7 1.7 0 .1.1.2 0 .3-.3.4-.7.9-1 1.3-.2.3-.2.6.1.9l1.8 1.8c.2.2.3.2.5.2.1 0 .3-.1.4-.2.4-.3.8-.7 1.3-1 .1 0 .1-.1.2-.1h.1c.6.2 1.1.5 1.7.7.1 0 .2.1.2.2.1.5.1 1.1.2 1.6 0 .4.3.6.7.6H39c.4 0 .6-.2.7-.6.1-.5.1-1.1.2-1.6 0-.1.1-.2.2-.2.6-.2 1.2-.5 1.7-.7h.1s.1 0 .1.1c.4.3.9.7 1.3 1 .1.1.3.2.4.2.2 0 .3-.1.5-.2l1.8-1.8c.3-.3.3-.6.1-.9-.3-.4-.7-.8-1-1.3-.1-.1-.1-.2 0-.3.2-.6.5-1.1.7-1.7 0-.1.1-.2.2-.2.5-.1 1.1-.1 1.6-.2.4 0 .6-.3.6-.7v-2.5c0-.5-.2-.7-.6-.8zm-9.8 6s-.1 0 0 0c-2.3 0-4-1.8-4-4s1.8-4 4-4 4 1.8 4 4c-.1 2.2-1.9 4-4 4zM38.7 20.7c-.2-.8-.8-1.3-1.6-1.3h-9.6c-1.2 0-.6-1-.6-1 .2-.4.4-.7.5-1.1 2.2-4.3 4.3-8.6 6.5-12.9.8-1.2 0-2.4-1.4-2.4H14.6c-.9 0-1.3.3-1.7 1.1-3 7.6-6 15.1-8.9 22.7 0 .2-.1.4-.1.5-.1 1 .6 1.7 1.7 1.7h9.7c.7.1 2.1.4 1.4 2.2-1.2 3.1-2.4 6.1-3.6 9.2-1.2 2.8-2.3 5.6-3.4 8.4-.4 1 0 1.9 1 2.2.7.2 1.2-.1 1.7-.6 4-4.2 8-8.4 12-12.7.5-.5.9-1 1.4-1.5.6-.6.5-1.6.5-1.6 0-1 .3-1.9 1.1-2.7l1.8-1.8c.7-.7 1.6-1.1 2.6-1.1.7 0 1.1-.3 1.3-.4l.1-.1c1.7-1.8 3.5-3.7 5.2-5.5.3-.3.5-.8.3-1.3z\"}},\nlightning_inspector:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M40.9 23.6h-.5v-.8c0-5-4.1-9.1-9.1-9.1-2.4 0-4.5.9-6.1 2.4-1.3-3.4-4.6-5.9-8.5-5.9-5 0-9.1 4.1-9.1 9.1 0 1.7.5 3.2 1.2 4.6-4 1-6.9 4.5-6.9 8.8 0 4.9 3.8 8.8 8.7 9h30.2c5 0 9.1-4.1 9.1-9.1s-4-9-9-9zm-24.6.8l7.8-3.7c.3-.2.8-.2 1.1 0l7.8 3.7c.5.2.5.8 0 1.1l-7.8 3.7c-.3.2-.8.2-1.1 0l-7.8-3.7c-.4-.2-.4-.9 0-1.1zm16.8 9.2l-7.8 3.7c-.3.2-.8.2-1.1 0l-7.8-3.7c-.5-.2-.5-.8 0-1.1l1-.5c.1-.1.3-.1.5 0l6.3 3c.3.2.8.2 1.1 0l6.2-3c.1-.1.3-.1.5 0l1 .5c.5.2.5.9.1 1.1zm0-4l-7.8 3.7c-.3.2-.8.2-1.1 0l-7.8-3.7c-.5-.2-.5-.8 0-1.1l1.1-.5c.1-.1.3-.1.5 0l6.2 3c.3.2.8.2 1.1 0l6.2-3c.1-.1.3-.1.5 0l1.1.5c.4.2.4.8 0 1.1z\"}},\nlike:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M10.5 21h-5c-.8 0-1.5.7-1.5 1.5v23c0 .8.7 1.5 1.5 1.5H8c2.2 0 4-1.8 4-4V22.5c0-.8-.7-1.5-1.5-1.5zM44 22h-6c-2.2 0-4-1.8-4-4V8c0-2.2-1.8-4-4-4h-2.5c-.8 0-1.5.7-1.5 1.5v6c0 5.3-3.7 10.5-8.5 10.5-.8 0-1.5.7-1.5 1.5v20c0 .8.6 1.5 1.4 1.5 6.8.3 9.1 3 16.2 3 7.5 0 14.4-.8 14.4-9.5V26c0-2.2-1.8-4-4-4z\"}}},\nlink:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M27.2 41.7l-2.1-.3c-.7-.1-1.4-.3-2.1-.6-.4-.1-.9 0-1.2.3l-.5.5c-2.9 2.9-7.6 3.2-10.6.6-3.4-2.9-3.5-8.1-.4-11.2l7.6-7.6c1-1 2.2-1.6 3.4-2 1.6-.4 3.3-.3 4.8.3.9.4 1.8.9 2.6 1.7.4.4.7.8 1 1.3.4.7 1.3.8 1.8.2l2.8-2.8c.4-.4.4-1 .1-1.5-.4-.6-.9-1.1-1.4-1.6-.7-.7-1.5-1.4-2.4-1.9-1.4-.9-3-1.5-4.7-1.8-3.1-.6-6.5-.1-9.3 1.4-1.1.6-2.2 1.4-3.1 2.3l-7.3 7.3C.9 31.6.5 40.2 5.6 45.6c5.3 5.8 14.3 5.9 19.8.4l2.5-2.5c.7-.5.2-1.7-.7-1.8z\"},{\"d\":\"M45.6 5.8c-5.5-5.1-14.1-4.7-19.3.6L24 8.6c-.7.7-.2 1.9.7 2 1.4.1 2.8.4 4.2.8.4.1.9 0 1.2-.3l.5-.5c2.9-2.9 7.6-3.2 10.6-.6 3.4 2.9 3.5 8.1.4 11.2L34 28.8c-1 1-2.2 1.6-3.4 2-1.6.4-3.3.3-4.8-.3-.9-.4-1.8-.9-2.6-1.7-.4-.4-.7-.8-1-1.3-.4-.7-1.3-.8-1.8-.2l-2.8 2.8c-.4.4-.4 1-.1 1.5.4.6.9 1.1 1.4 1.6.7.7 1.6 1.4 2.4 1.9 1.4.9 3 1.5 4.6 1.8 3.1.6 6.5.1 9.3-1.4 1.1-.6 2.2-1.4 3.1-2.3l7.6-7.6c5.6-5.5 5.4-14.5-.3-19.8z\"}]}},\nlinked:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M17.3 36.1l-1.1-1.4s-.7-1-.9-1.6c-.2-.3-.5-.5-.9-.5h-.6c-3.5 0-6.5-2.6-6.7-6-.3-3.8 2.8-6.9 6.5-6.9h9.1c1.2 0 2.3.4 3.2.8 1.2.7 2.2 1.8 2.7 3.1.3.8.5 1.6.5 2.6 0 .5-.1.9-.2 1.4-.2.7.3 1.3 1 1.2h3.4c.5 0 .8-.4 1-.8.1-.6.1-1.2.1-1.8 0-.8-.1-1.7-.3-2.6-.3-1.4-.9-2.7-1.7-3.9-1.5-2.2-3.8-4-6.4-4.7-1-.3-2.2-.5-3.2-.5H14c-6.3 0-11.7 4.9-11.9 11.2-.3 6.6 5 12.1 11.6 12.1h3c.7-.1 1.1-1.1.6-1.7zm32.6-10.5c-.2-6.3-5.6-11.3-11.9-11.2l-2.7-.1c-.8 0-1.3 1-.8 1.6.8.9 1.4 1.9 2 3 .2.3.5.5.9.5h.6c3.5 0 6.5 2.6 6.7 6 .3 3.8-2.8 6.9-6.5 6.9h-9.1c-1.2 0-2.3-.4-3.2-.8-1.2-.7-2.2-1.8-2.7-3.1-.3-.8-.5-1.6-.5-2.6 0-.5.1-.9.2-1.4.2-.7-.3-1.3-1-1.2h-3.4c-.5 0-.8.4-1 .8-.1.6-.1 1.2-.1 1.8 0 .8.1 1.8.3 2.6.3 1.4.9 2.7 1.7 3.8 1.5 2.2 3.8 4 6.4 4.7 1 .3 2.2.5 3.2.5h9.1c6.7.3 12-5.2 11.8-11.8z\"}},\nlist:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M8 10.5C8 9.7 7.3 9 6.5 9h-3C2.7 9 2 9.7 2 10.5v3c0 .8.7 1.5 1.5 1.5h3c.8 0 1.5-.7 1.5-1.5v-3zM50 10.5c0-.8-.7-1.5-1.5-1.5h-35c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h35c.8 0 1.5-.7 1.5-1.5v-3zM8 24.5c0-.8-.7-1.5-1.5-1.5h-3c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h3c.8 0 1.5-.7 1.5-1.5v-3zM46 24.5c0-.8-.7-1.5-1.5-1.5h-31c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h31c.8 0 1.5-.7 1.5-1.5v-3zM8 38.5c0-.8-.7-1.5-1.5-1.5h-3c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h3c.8 0 1.5-.7 1.5-1.5v-3zM50 38.5c0-.8-.7-1.5-1.5-1.5h-35c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h35c.8 0 1.5-.7 1.5-1.5v-3z\"}}},\nlisten:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M50.6 30.2C50.6 15.8 39.7 4 26.2 4S1.7 15.8 1.7 30.2c0 3.4.6 6.8 1.8 10 1.4 3.9 4.9 6.7 9.1 6.8 1.2 0 2.2-1 2.2-2.2V32.3c0-1.2-1-2.2-2.2-2.2-2.2 0-4.3.8-5.9 2-.1-.7-.1-1.3-.1-2 0-11.8 8.8-21.3 19.6-21.3s19.6 9.6 19.6 21.3c0 .7 0 1.4-.1 2-1.6-1.3-3.6-2.1-5.9-2.1-1.2 0-2.2 1-2.2 2.2v12.4c0 1.2 1 2.2 2.2 2.2 2.4 0 4.9-.9 6.5-2.7 1.7-1.8 2.5-3.8 3.2-6.2.7-2.4 1.1-5 1.1-7.7z\"}},\nlive_message:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M46 2H22c-2.2 0-4 1.8-4 4v.1c3.6.4 6.9 1.7 9.6 3.8h14.8c.8 0 1.6.8 1.6 1.6v27c0 .8-.8 1.4-1.6 1.4h-17c-.8 0-1.4-.6-1.4-1.4v-.1c0-.1-.1-.3-.2-.3-1.7.8-3.6 1.3-5.5 1.5-.2.2-.3.4-.3.9v5.4c0 2.2 1.7 4 3.9 4h24c2.2 0 4.1-1.8 4.1-4V6c0-2.2-1.8-4-4-4zM34 48c-1.7 0-3-1.3-3-3s1.3-3 3-3 3 1.3 3 3-1.3 3-3 3z\"},{\"d\":\"M2 22.9C2 30 8.3 35.7 15.9 35.8c2.7 0 5.2-.7 7.3-1.9.4-.2.7-.2 1-.1l5 1.9c.5.1.9-.3.8-.8l-1.8-5c-.1-.4-.1-.7.1-1 1.1-1.9 1.7-4 1.7-6.2 0-7-6.2-12.7-14-12.7-7.7 0-13.9 5.7-14 12.9z\"}]},\nlocation:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M48.8 9.5L34.4 2.3c-.7-.3-1.5-.3-2.1 0L19 9 5.6 2.3c-.8-.4-1.8-.4-2.5.1-.7.4-1.1 1.2-1.1 2v36c0 .9.5 1.7 1.3 2.1l14.4 7.2c.7.3 1.5.3 2.1 0L33.2 43l13.3 6.7c.3.2.7.3 1.1.3.4 0 .9-.1 1.3-.4.7-.4 1.1-1.2 1.1-2v-36c0-.9-.4-1.7-1.2-2.1zM45 14.1v19c0 1.1-1 1.9-2 1.5-3.7-1.4-.7-7.6-3.4-11-2.5-3.1-5.7.1-8.8-4.8-2.9-4.7 1-8.1 4.6-9.9.5-.2 1-.2 1.4 0l7.4 3.7c.6.3.8.9.8 1.5zM24.9 41.9c-.6.3-1.3.2-1.8-.2-1-.9-1.8-2.3-1.8-3.7 0-2.4-4-1.6-4-6.4 0-3.9-4.6-4.9-8.5-4.5-1 .1-1.7-.6-1.7-1.6V10.9c0-1.2 1.2-2 2.2-1.4l8.6 4.3c.1 0 .2.1.2.1l.3.2c3.6 2.1 2.9 3.8 1.4 6.4-1.7 2.9-2.4 0-4.8-.8s-4.8.8-4 2.4 3.2 0 4.8 1.6 1.6 4 6.4 2.4 5.6-.8 7.2.8c1.6 1.6 2.4 4.8 0 7.2-1.4 1.4-2 4.4-2.6 6.4-.1.4-.4.8-.8 1l-1.1.4z\"}},\nlocation_permit:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M39.18 11.4l-9.12-9.12a1.1 1.1 0 00-.71-.28 1 1 0 00-1 1v7.26A2.71 2.71 0 0031.06 13h7.26a1 1 0 001-1c.14-.17.14-.31-.14-.6zm.28 7.26A1.42 1.42 0 0038 17.24h-9.65a4.13 4.13 0 01-4.13-4.13V3.42A1.42 1.42 0 0022.8 2H9a4.13 4.13 0 00-4.15 4.13v33.19A4.13 4.13 0 009 43.45h14.1c1.14 0 1.42-.71 1.28-2a13.94 13.94 0 013-10.25c3.42-4 9.12-4.27 10-4.27s2.28 0 2.14-1.29zm-29.77-8l3.42-.43a.14.14 0 00.14-.14L14.82 7a.42.42 0 01.57 0L17 10.12l.14.14 3.42.43a.28.28 0 01.14.43l-2.57 2.56V14l.57 3.42c0 .15-.14.43-.42.29l-3-1.57H15l-3 1.57c-.14.14-.43 0-.43-.29L12 14v-.28l-2.59-2.46a1.09 1.09 0 01.28-.57zm12.54 23.25a1.43 1.43 0 01-1.43 1.42h-9a1.43 1.43 0 01-1.43-1.42v-1.43a1.43 1.43 0 011.43-1.42h9a1.43 1.43 0 011.43 1.42zm7.54-8.41a1.43 1.43 0 01-1.42 1.43H11.83a1.43 1.43 0 01-1.43-1.43v-1.42a1.43 1.43 0 011.43-1.43h16.66a1.43 1.43 0 011.43 1.43v1.42zM37.32 37a2 2 0 102 2 2.14 2.14 0 00-2-2z\"},{\"data-name\":\"Shape\",\"d\":\"M37.32 30.34a9.83 9.83 0 109.83 9.83 10 10 0 00-9.83-9.83zM37.61 46a.44.44 0 01-.61 0c-1-.85-4.42-3.7-4.42-7A4.7 4.7 0 0142 39c-.12 3.31-3.39 6.16-4.39 7z\"}]},\nlock:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M11 19h4c.6 0 1-.3 1-.9V18c0-5.7 4.9-10.4 10.7-10 5.3.4 9.3 5 9.3 10.4v-.3c0 .6.4.9 1 .9h4c.6 0 1-.3 1-.9V18c0-9.1-7.6-16.4-16.8-16-8.5.4-15 7.6-15.2 16.1.1.5.5.9 1 .9zM10 18.1v0zM46 27c0-2.2-1.8-4-4-4H10c-2.2 0-4 1.8-4 4v19c0 2.2 1.8 4 4 4h32c2.2 0 4-1.8 4-4V27zM30.6 42.7c.2.6-.3 1.3-1 1.3h-7.3c-.7 0-1.1-.6-1-1.3l1.8-6c-1.5-1-2.4-2.8-2.1-4.8.4-1.9 1.9-3.4 3.9-3.8 3.2-.6 6 1.7 6 4.7 0 1.6-.8 3.1-2.1 3.9l1.8 6z\"}}},\nlocker_service_api_viewer:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M18 38.5c0 .8.7 1.5 1.5 1.5h2.6c-.1-.7-.1-1.3-.1-2 0-1.4.2-2.7.5-4h-3c-.8 0-1.5.7-1.5 1.5v3zM28.5 14h-9c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h9c.8 0 1.5-.7 1.5-1.5v-3c0-.8-.7-1.5-1.5-1.5zM3.5 10h41c.8 0 1.5-.7 1.5-1.5v-5c0-.8-.7-1.5-1.5-1.5h-41C2.7 2 2 2.7 2 3.5v5c0 .8.7 1.5 1.5 1.5zM44.5 20c.8 0 1.5-.7 1.5-1.5v-3c0-.8-.7-1.5-1.5-1.5h-9c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h9zM18 28.5c0 .8.7 1.5 1.5 1.5h4.6c1.3-2.3 3.2-4.2 5.4-5.6-.3-.3-.6-.4-1-.4h-9c-.8 0-1.5.7-1.5 1.5v3zM12.5 14h-9c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h9c.8 0 1.5-.7 1.5-1.5v-3c0-.8-.7-1.5-1.5-1.5zM23.1 44h-3.6c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h7.9c-1.9-1.6-3.3-3.7-4.3-6zM12.5 34h-9c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h9c.8 0 1.5-.7 1.5-1.5v-3c0-.8-.7-1.5-1.5-1.5zM12.5 44h-9c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h9c.8 0 1.5-.7 1.5-1.5v-3c0-.8-.7-1.5-1.5-1.5zM12.5 24h-9c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h9c.8 0 1.5-.7 1.5-1.5v-3c0-.8-.7-1.5-1.5-1.5zM37.9 26.1c-6.6 0-12 5.4-12 12s5.4 12 12 12 12-5.4 12-12-5.4-12-12-12zm7.9 8.5l-9.6 9.7c-.2.2-.5.2-.7 0l-5.6-5.6c-.2-.2-.2-.5 0-.7l2.1-2.1c.2-.2.5-.2.7 0l2.9 2.9c.1.1.4.1.5 0l6.9-7c.2-.2.5-.2.7 0l2.1 2.1c.3.2.3.5 0 .7z\"}}},\nlocker_service_console:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M47.7 9.1c-.9-2.2-2-4.2-3.3-6.1-.6-.8-1.7-.9-2.3-.2-1.9 1.8-4.6 2.8-7.4 2.8-3 0-5.7-1.2-7.7-3.2-.6-.6-1.6-.6-2.2 0-2 2-4.7 3.2-7.7 3.2-2.8 0-5.4-1-7.4-2.8-.7-.6-1.8-.5-2.3.2C6.1 4.8 5 6.9 4.1 9.1c0 0-2.4 4.9-2 13V22.9c0 .4.1.8.1 1.2v.1C3.6 37.6 13.5 48.3 26 50c12.6-1.8 22.4-12.5 23.8-25.9v-.3c0-.2 0-.5.1-.8.7-8.6-2.2-13.9-2.2-13.9zm-6.8 10.3L24.3 36.3c-.4.4-.9.4-1.3 0l-9.7-9.8c-.4-.4-.4-.9 0-1.3l1.3-1.3c.4-.4.9-.4 1.3 0l7.3 7.4c.2.2.6.2.9 0l14.3-14.4c.4-.4.9-.4 1.3 0l1.3 1.3c.3.3.3.9-.1 1.2z\"}},\nlog_a_call:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M43 2H13.5c-2.6 0-4.8 2.4-4.8 4.8v1.6H7.1C5.4 8.4 4 9.8 4 11.6s1.4 3.2 3.1 3.2h1.6v8H7.1C5.4 22.8 4 24.2 4 26s1.4 3.2 3.1 3.2h1.6v8H7.1c-1.7 0-3.1 1.4-3.1 3.2 0 1.8 1.4 3.2 3.1 3.2h1.6v1.6c0 2.4 2.2 4.8 4.8 4.8H43c2.6 0 5-2.4 5-5V6.6C48 3.9 45.6 2 43 2zm-2.8 32.2L38 36.5c-.5.5-1.2.8-1.8.7-5.2-.3-10-2.7-13.5-6.2s-5.8-8.5-6.1-13.8c0-.7.2-1.4.7-1.8l2.2-2.2c1-1 2.7-1 3.6.2l2 2.6c.7.9.7 2.1.1 3l-1.7 2.5c-.2.3-.2.8.1 1l3.6 4.1 4 3.7c.3.3.7.3 1 .1l2.4-1.8c.9-.6 2.1-.6 3 .1l2.5 2.1c1.1.6 1.1 2.4.1 3.4z\"}},\nlogout:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M21 48.5v-3c0-.8-.7-1.5-1.5-1.5h-10c-.8 0-1.5-.7-1.5-1.5v-33C8 8.7 8.7 8 9.5 8h10c.8 0 1.5-.7 1.5-1.5v-3c0-.8-.7-1.5-1.5-1.5H6C3.8 2 2 3.8 2 6v40c0 2.2 1.8 4 4 4h13.5c.8 0 1.5-.7 1.5-1.5z\"},{\"d\":\"M49.6 27c.6-.6.6-1.5 0-2.1L36.1 11.4c-.6-.6-1.5-.6-2.1 0l-2.1 2.1c-.6.6-.6 1.5 0 2.1l5.6 5.6c.6.6.2 1.7-.7 1.7H15.5c-.8 0-1.5.6-1.5 1.4v3c0 .8.7 1.6 1.5 1.6h21.2c.9 0 1.3 1.1.7 1.7l-5.6 5.6c-.6.6-.6 1.5 0 2.1l2.1 2.1c.6.6 1.5.6 2.1 0L49.6 27z\"}]}},\nloop:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M47.2 32.6c0 .1 0 .1-.1.2-.3.9-.5 1.8-.9 2.6-.4.9-.8 1.9-1.3 2.7-1 1.8-2.2 3.4-3.6 4.8s-3 2.7-4.7 3.7c-1.7 1-3.6 1.9-5.6 2.4-2 .6-4.1.8-6.2.8C12.3 50 2 39.7 2 27.1S12.3 4.2 24.9 4.2c4.3 0 8.3 1.2 11.7 3.2 1.7 1 3.2 2.2 4.5 3.5.4.3.7.6 1 1 .8.6 1.3.2 1.3-.8V3.6c0-.8.8-1.6 1.6-1.6h3.2c.9 0 1.6.8 1.7 1.6v19.6c0 .8-.6 1.4-1.4 1.4H28.9c-.9 0-1.5-.6-1.5-1.5v-3.3c0-.9.8-1.6 1.6-1.6h7.5c.6 0 1.2-.2 1.4-.5-2.9-4-7.6-6.6-13-6.6-8.9 0-16 7.2-16 16s7.2 16 16 16c7 0 12.9-4.4 15.1-10.6 0 0 .3-1.4 1.4-1.4H46c.7 0 1.3.5 1.3 1.2-.1.1-.1.2-.1.3z\"}},\nlower_flag:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M6.6 2h-3c-.8 0-1.5.7-1.5 1.5v45c0 .8.7 1.5 1.5 1.5h3c.8 0 1.5-.7 1.5-1.5v-45c0-.8-.7-1.5-1.5-1.5zM40.6 24.6c2.7 0 5.2.7 7.5 1.9V6.6c0-.7-.8-1.2-1.5-.8-16 8.4-14.2-8.8-33.5-2.1-.6.2-1 .8-1 1.4v23.3c0 .7.7 1.2 1.3.9 7.7-2.6 11.9-1.3 15.4.6 2.9-3.3 7.1-5.3 11.8-5.3zM31.8 34.6l6 6-6 6c-.6.6-.6 1.6 0 2.1l.7.7c.6.6 1.6.6 2.1 0l6-6 6 6c.6.6 1.6.6 2.1 0l.7-.7c.6-.6.6-1.6 0-2.1l-6-6 6-6c.6-.6.6-1.6 0-2.1l-.7-.7c-.6-.6-1.6-.6-2.1 0l-6 6-6-6c-.6-.6-1.6-.6-2.1 0l-.7.7c-.6.5-.6 1.5 0 2.1z\"}},\nmacros:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M37.2 40.2c-.2.4-.6.5-1 .5h-4.7c-.4 0-.7-.3-.7-.7 0-.1.1-.3.1-.4l.1-.1.2-.2 10.3-12.5c.3-.4.4-1 .2-1.4 0-.1-.1-.2-.1-.2L30.9 12.5c-.1-.1-.1-.3-.1-.4 0-.4.4-.7.7-.7h4.7c.4 0 .8.1 1 .5l11.1 13.4c.2.2.2.5.2.7 0 .3-.1.6-.2.8L37.2 40.2z\"},{\"d\":\"M25.6 40.2c-.2.4-.6.5-1 .5h-4.7c-.4 0-.7-.3-.7-.7 0-.1.1-.3.1-.4l.1-.1.2-.2 10.3-12.5c.3-.4.4-1 .2-1.4 0-.1-.1-.2-.1-.2L19.3 12.5c-.1-.1-.1-.3-.1-.4 0-.4.4-.7.7-.7h4.7c.4 0 .8.1 1 .5l11.1 13.4c.2.2.2.5.2.7 0 .3-.1.6-.2.8L25.6 40.2z\"},{\"d\":\"M14 40.2c-.2.4-.6.5-1 .5H4.2c-.4 0-.7-.3-.7-.7 0-.1.1-.3.1-.4l.1-.1.2-.2 10.3-12.5c.3-.4.4-1 .2-1.4 0-.1-.1-.2-.1-.2L3.6 12.5c-.1-.1-.1-.3-.1-.4 0-.4.4-.7.7-.7h8.7c.4 0 .8.1 1 .5L25 25.3c.2.2.2.5.2.7 0 .3-.1.6-.2.8L14 40.2z\"}]},\nmagicwand:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M28.2 21c-.4-.4-1-.4-1.4 0L2.9 44.9c-1.2 1.2-1.2 3 0 4.2 1.2 1.2 3 1.2 4.2 0L31 25.2c.4-.4.4-1 0-1.4L28.2 21zM35.2 21l3.2-3.2c.6-.6.6-1.5 0-2.1l-2.1-2.1c-.6-.6-1.5-.6-2.1 0L31 16.8c-.4.4-.4 1 0 1.4l2.8 2.8c.4.4 1 .4 1.4 0zM10.4 11.6c3.8 1.2 6.8 4.1 8 8 .2.6 1 .6 1.2 0 1.2-3.8 4.1-6.8 8-8 .6-.2.6-1 0-1.2-3.8-1.2-6.8-4.1-8-8-.2-.6-1-.6-1.2 0-1.2 3.8-4.1 6.8-8 8-.5.2-.5 1 0 1.2zM49.6 30.5c-3.4-1.1-6-3.7-7.1-7.1-.2-.5-.9-.5-1.1 0-1.1 3.4-3.7 6-7.1 7.1-.5.2-.5.9 0 1.1 3.4 1.1 6 3.7 7.1 7.1.2.5.9.5 1.1 0 1.1-3.4 3.7-6 7.1-7.1.5-.2.5-1 0-1.1zM38.3 8.4c2.6.8 4.5 2.7 5.3 5.3.1.4.7.4.8 0 .8-2.6 2.7-4.5 5.3-5.3.4-.1.4-.7 0-.8-2.6-.8-4.5-2.7-5.3-5.3-.1-.4-.7-.4-.8 0-.8 2.6-2.7 4.5-5.3 5.3-.4.1-.4.7 0 .8z\"}}},\nmark_all_as_read:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M24 7l-1.7-1.7c-.5-.5-1.2-.5-1.7 0L10 15.8l-4.3-4.2c-.5-.5-1.2-.5-1.7 0l-1.7 1.7c-.5.5-.5 1.2 0 1.7l5.9 5.9c.5.5 1.1.7 1.7.7.6 0 1.2-.2 1.7-.7L24 8.7c.4-.4.4-1.2 0-1.7zM48.4 18.4H27.5c-.9 0-1.6-.7-1.6-1.6v-3.2c0-.9.7-1.6 1.6-1.6h20.9c.9 0 1.6.7 1.6 1.6v3.2c0 .9-.7 1.6-1.6 1.6zM48.4 32.7H9.8c-.9 0-1.6-.7-1.6-1.6v-3.2c0-.9.7-1.6 1.6-1.6h38.6c.9 0 1.6.7 1.6 1.6v3.2c0 .9-.7 1.6-1.6 1.6zM48.4 47H9.8c-.9 0-1.6-.7-1.6-1.6v-3.2c0-.9.7-1.6 1.6-1.6h38.6c.9 0 1.6.7 1.6 1.6v3.2c0 .9-.7 1.6-1.6 1.6z\"}},\nmatrix:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M48 3.5c0-.8-.7-1.5-1.5-1.5h-31c-.8 0-1.5.7-1.5 1.5v5c0 .8.7 1.5 1.5 1.5h31c.8 0 1.5-.7 1.5-1.5v-5zM10 15.5c0-.8-.7-1.5-1.5-1.5h-3c-.8 0-1.5.7-1.5 1.5v13c0 .8.7 1.5 1.5 1.5h3c.8 0 1.5-.7 1.5-1.5v-13zM10 35.5c0-.8-.7-1.5-1.5-1.5h-3c-.8 0-1.5.7-1.5 1.5v13c0 .8.7 1.5 1.5 1.5h3c.8 0 1.5-.7 1.5-1.5v-13zM29 15.5c0-.8-.7-1.5-1.5-1.5h-12c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h12c.8 0 1.5-.7 1.5-1.5v-3zM48 15.5c0-.8-.7-1.5-1.5-1.5h-12c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h12c.8 0 1.5-.7 1.5-1.5v-3zM29 25.5c0-.8-.7-1.5-1.5-1.5h-12c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h12c.8 0 1.5-.7 1.5-1.5v-3zM48 25.5c0-.8-.7-1.5-1.5-1.5h-12c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h12c.8 0 1.5-.7 1.5-1.5v-3zM29 35.5c0-.8-.7-1.5-1.5-1.5h-12c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h12c.8 0 1.5-.7 1.5-1.5v-3zM48 35.5c0-.8-.7-1.5-1.5-1.5h-12c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h12c.8 0 1.5-.7 1.5-1.5v-3zM29 45.5c0-.8-.7-1.5-1.5-1.5h-12c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h12c.8 0 1.5-.7 1.5-1.5v-3zM48 45.5c0-.8-.7-1.5-1.5-1.5h-12c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h12c.8 0 1.5-.7 1.5-1.5v-3z\"}},\nmeet_content_source:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M46.31 7.54H5.69A3.69 3.69 0 002 11.23v29.54a3.69 3.69 0 003.69 3.69h40.62A3.69 3.69 0 0050 40.77V11.23a3.69 3.69 0 00-3.69-3.69zm0 32.31a.93.93 0 01-.93.92H6.62a.93.93 0 01-.93-.92V14a.93.93 0 01.93-.92h38.76a.93.93 0 01.93.92z\"},{\"d\":\"M26.52 17a.7.7 0 00-1-.1.47.47 0 00-.1.1l-6.57 7.12a.88.88 0 000 1.19L20 26.52a.71.71 0 001 .1l.1-.1 2.42-2.61a.57.57 0 01.81 0 .56.56 0 01.15.37v10.16a.8.8 0 00.72.85h1.59a.87.87 0 00.83-.85V24.26a.53.53 0 01.9-.4l2.42 2.66a.87.87 0 001.15 0l1.1-1.18a.88.88 0 000-1.19z\"}]}},\nmeet_focus_content:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M9.9 27.41a4.29 4.29 0 014.29 4.29v.38a4.47 4.47 0 01-1.42 3.35 2.48 2.48 0 00-.94 1.81c0 .58.24 1.16 1.5 1.81l1.29.58c1.81.89 3.39 1.81 3.44 3.62A2.39 2.39 0 0116 45.52H4.05a2.39 2.39 0 01-2.3-2.45c0-1.72 1.59-2.73 3.44-3.62l.67-.29.33-.16C7.76 38.35 8 37.78 8 37.2a2.73 2.73 0 00-.94-1.81A4.46 4.46 0 015.64 32a4.3 4.3 0 013.94-4.62zM46.13 7.48a3.62 3.62 0 013.62 3.62v27.17a3.63 3.63 0 01-3.62 3.63H20.64A5.43 5.43 0 0018 38.27h27.15a.9.9 0 00.9-.9V13.82a.9.9 0 00-.9-.9H8.92a.9.9 0 00-.9.9H8v11.09a6.51 6.51 0 00-3.63 2.37V11.1A3.63 3.63 0 018 7.48z\",\"fill-rule\":\"evenodd\"}},\nmeet_focus_equal:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M46.31 11.23A3.69 3.69 0 0150 14.92v22.16a3.69 3.69 0 01-3.69 3.69H19.43a5.65 5.65 0 005.28-3.69h20.67a.93.93 0 00.93-.93V17.69a.93.93 0 00-.93-.92H19a7.75 7.75 0 00-6.8-3.69h-.42a3.7 3.7 0 013.19-1.85zm-34.16 4.62a5.28 5.28 0 015.34 5.22 4.18 4.18 0 010 .5 5.44 5.44 0 01-1.75 4.1 2.94 2.94 0 00-1.18 2.18c0 .7.31 1.4 1.84 2.16l1.07.48.7.33.69.33c1.84 1 3.36 2.16 3.41 3.93a2.93 2.93 0 01-2.6 3H4.88a2.92 2.92 0 01-2.88-3V35c0-2 1.74-3.18 3.82-4.17l.67-.3 1-.44c2-.83 2.23-1.52 2.23-2.33a3.25 3.25 0 00-1.18-2.1 5.41 5.41 0 01-1.84-4.1 5.28 5.28 0 014.81-5.71 5.86 5.86 0 01.64 0z\",\"fill-rule\":\"evenodd\"}},\nmeet_focus_presenter:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"fill-rule\":\"evenodd\",\"path\":{\"d\":\"M47.6 27.92H32.27a2.86 2.86 0 00-2.87 2.87v11.5a2.87 2.87 0 002.87 2.88H47.6a2.88 2.88 0 002.88-2.88v-11.5a2.87 2.87 0 00-2.88-2.87zm1 14.37a1 1 0 01-1 1H32.27a1 1 0 01-1-1v-9.58a1 1 0 011-1H47.6a1 1 0 011 1zM27.48 16.74c0-5.31-3.13-9.91-8.63-9.91s-8.62 4.6-8.62 9.91a9.71 9.71 0 002.82 7.08A5.71 5.71 0 0115 27.48c0 1.41-.46 2.58-3.6 4-4.49 2-8.76 4.26-8.87 8.49a4.91 4.91 0 004.64 5.19h20.12a5.73 5.73 0 01-.77-2.88V31.6l-.25-.12c-3-1.42-3.6-2.7-3.6-4a5.27 5.27 0 011.91-3.66 9.75 9.75 0 002.9-7.08z\"}}},\nmeet_present_panel:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M31.54 4H10.17a4.15 4.15 0 00-4 3.93H4.82a2.69 2.69 0 00-2.69 2.68 2.62 2.62 0 002.67 2.53h1.34v5.33H4.82a2.62 2.62 0 10-.44 5.23 1.62 1.62 0 00.44 0h1.32V29H4.82a2.68 2.68 0 00-2.69 2.65 2.63 2.63 0 002.63 2.63h1.38a3.67 3.67 0 003.39 3.94 3.42 3.42 0 00.64 0H26V37a13.46 13.46 0 019.56-13V7.88A4 4 0 0031.54 4zm-8.62 25.68A1.35 1.35 0 0121.53 31H13.6a1.36 1.36 0 01-1.43-1.29v-1.34a1.37 1.37 0 011.41-1.31h7.91a1.35 1.35 0 011.43 1.28v1.33zm5.14-7.94c0 .73-.77 1.3-1.83 1.3h-12.3c-1 0-1.83-.57-1.83-1.3v-1.25c0-.74.77-1.31 1.83-1.31H26.3c1 0 1.84.57 1.84 1.31zm3.15-7.94a1.45 1.45 0 01-1.58 1.3H13.75a1.45 1.45 0 01-1.58-1.3v-1.31a1.45 1.45 0 011.57-1.32h16a1.45 1.45 0 011.58 1.31zM49.77 32.23a1.3 1.3 0 00-1.23-1.32H37.9a1.3 1.3 0 00-.9.36 1.34 1.34 0 00-.37.74v1.52a1.27 1.27 0 001.23 1.31h5.51l-9.74 10a1.34 1.34 0 000 1.84l.89.92a1.34 1.34 0 001 .4 1.18 1.18 0 00.83-.35l9.74-10.05v5.51a1.3 1.3 0 00.36.94 1.24 1.24 0 00.9.39h1.36a1.21 1.21 0 00.92-.37 1.36 1.36 0 00.37-.7v-.17z\"}}},\nmerge:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M42.3 44c-5.6-2.7-9.6-7.5-11.6-13-.8-2-1.3-4.3-1.5-6.3v-3.5H40c.8 0 1.4-.9.8-1.8l-14.2-17c-.5-.6-1.6-.6-2 0l-13.8 17c-.5.6 0 1.8.8 1.8h10.9v3.5c-.3 2.1-.8 4.4-1.5 6.3-2 5.5-6 10.3-11.6 13-.8.3-1.1 1.3-.8 2l1.3 3.1c.4.8 1.3 1.1 2.1.6 6-2.9 10.8-7.5 13.7-13 3 5.5 7.7 10.1 13.8 13 .8.4 1.8.3 2.1-.6l1.3-3.1c.6-.7.2-1.6-.6-2z\"}},\nmerge_field:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M16.5 39.9h-.7c-2.3 0-3.2-1.3-3.2-3.5 0-1 .1-1.9.3-2.9.2-1 .3-2 .3-3.1 0-2.6-1.1-4-2.9-4.4 1.8-.5 2.9-1.8 2.9-4.4 0-1.1-.1-2.1-.3-3.1-.2-1-.3-1.9-.3-2.9 0-2.2.8-3.5 3.2-3.5h.7c.6 0 1.1-.5 1.1-1.1 0-.6-.5-1.1-1.1-1.1h-3.8c-3.4 0-5.9 1.6-5.9 5.3 0 1.1.2 2.2.3 3.4.2 1.1.3 2.3.3 3.4 0 1.3-.3 2.7-2.5 2.9h-.1c-.6 0-1.1.5-1.1 1.1s.5 1 1.1 1.1H5c2.2.3 2.5 1.8 2.5 2.9 0 1.1-.2 2.2-.3 3.3s-.3 2.2-.3 3.3c0 4.1 2.5 5.5 5.9 5.5h3.8c.6 0 1.1-.5 1.1-1.1-.1-.6-.6-1.1-1.2-1.1zM35.5 39.9h.7c2.3 0 3.2-1.3 3.2-3.5 0-1-.1-1.9-.3-2.9-.2-1-.3-2-.3-3.1 0-2.6 1.1-4 2.9-4.4-1.8-.5-2.9-1.8-2.9-4.4 0-1.1.1-2.1.3-3.1.2-1 .3-1.9.3-2.9 0-2.2-.8-3.5-3.2-3.5h-.7c-.6 0-1.1-.5-1.1-1.1 0-.6.5-1.1 1.1-1.1h3.8c3.4 0 5.9 1.6 5.9 5.3 0 1.1-.2 2.2-.3 3.4-.2 1.1-.3 2.3-.3 3.4 0 1.3.3 2.7 2.5 2.9h.1c.6 0 1.1.5 1.1 1.1s-.5 1-1.1 1.1H47c-2.2.3-2.5 1.8-2.5 2.9 0 1.1.2 2.2.3 3.3s.3 2.2.3 3.3c0 4.1-2.5 5.5-5.9 5.5h-3.8c-.6 0-1.1-.5-1.1-1.1.1-.6.6-1.1 1.2-1.1z\"}},\nmetrics:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M44.9 2H7.1C4.3 2 2 4.3 2 7.1v37.7C2 47.7 4.3 50 7.1 50h37.7c2.8 0 5.1-2.3 5.1-5.1V7.1c.1-2.8-2.2-5.1-5-5.1zM15.7 39.7c0 .9-.8 1.7-1.7 1.7h-1.7c-.9 0-1.7-.8-1.7-1.7v-9.4c0-.9.8-1.7 1.7-1.7H14c.9 0 1.7.8 1.7 1.7v9.4zm8.6 0c0 .9-.8 1.7-1.7 1.7h-1.7c-.9 0-1.7-.8-1.7-1.7V17.4c0-.9.8-1.7 1.7-1.7h1.7c.9 0 1.7.8 1.7 1.7v22.3zm8.6 0c0 .9-.8 1.7-1.7 1.7h-1.7c-.9 0-1.7-.8-1.7-1.7V12.3c0-.9.8-1.7 1.7-1.7h1.7c.9 0 1.7.8 1.7 1.7v27.4zm8.5 0c0 .9-.8 1.7-1.7 1.7H38c-.9 0-1.7-.8-1.7-1.7V23.4c0-.9.8-1.7 1.7-1.7h1.7c.9 0 1.7.8 1.7 1.7v16.3z\"}},\nmiddle_align:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"rect\":[{\"x\":\"22\",\"y\":\"2\",\"width\":\"6.4\",\"height\":\"48\",\"rx\":\"1.6\"},{\"data-name\":\"Rectangle\",\"x\":\"2\",\"y\":\"19\",\"width\":\"48\",\"height\":\"14.4\",\"rx\":\"3.2\"}]},\nminimize_window:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M50 48.5c0 .8-.7 1.5-1.5 1.5h-45c-.8 0-1.5-.7-1.5-1.5v-3c0-.8.7-1.5 1.5-1.5h45c.8 0 1.5.7 1.5 1.5v3z\"}},\nmissed_call:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M34.7 40.3c.7 0 1.2.5 1.4 1.1l.8 5.4c.2 1.5 1.4 2.6 2.9 2.8l6.5.7c2 .2 3.7-1.3 3.7-3.3v-6.2c0-1-.4-1.8-1.1-2.5-6.4-5.8-14.9-8.8-23-8.8s-16.6 3-23 8.8c-.6.6-.9 1.6-.9 2.5V47c-.2 2 1.5 3.6 3.5 3.3l6.5-.7c1.5-.2 2.7-1.3 2.9-2.8l.8-5.4c.1-.7.7-1.1 1.4-1.1 0 0 8.4-.7 17.6 0zM39.7 12.6c.5-.5 1.4-.1 1.4.6v6.7c0 .7.5 1.2 1.2 1.2h2.5c.7 0 1.2-.5 1.2-1.2l.1-16.1c0-.7-.5-1.2-1.2-1.2h-16c-.7 0-1.2.5-1.2 1.2v2.5c0 .7.5 1.2 1.2 1.2h6.7c.7 0 1.1.9.6 1.4l-9.4 9.4c-.3.3-.9.3-1.3 0L10.1 3c-.5-.5-1.3-.5-1.8 0L6.4 4.8c-.5.5-.5 1.3 0 1.9l18.8 18.9c.5.6 1.3.6 1.9 0l12.6-13z\"}},\nmoney:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M30.1 26.1c0-2.3 1.4-4.3 3.3-5.3-.3-3.9-3.5-6.9-7.5-6.9-4.1 0-7.5 3.4-7.5 7.5s3.4 7.5 7.5 7.5c1.5 0 3-.5 4.1-1.3v-1.5z\"},{\"d\":\"M30.1 36.4v-1.9c0-.7.1-1.3.3-1.9H12.8c0-2.9-2.3-5.3-5.3-5.3V16.1c2.9 0 5.3-2.3 5.3-5.3h26.3c0 2.9 2.3 5.3 5.3 5.3v4h3.8c.7 0 1.3.1 1.9.3V9.7c0-2.5-2-4.5-4.5-4.5H6.5C4 5.2 2 7.2 2 9.7v24.2c0 2.5 2 4.5 4.5 4.5h24c-.2-.6-.4-1.3-.4-2zM50 44.9c0 1-1 1.9-2 1.9H36c-1 0-1.9-.9-1.9-1.9V43c0-1 .9-1.9 1.9-1.9h12.1c1 0 1.9.9 1.9 1.9v1.9z\"},{\"d\":\"M50 36.5c0 1-1 1.9-2 1.9H36c-1 0-1.9-.9-1.9-1.9v-1.9c0-1 .9-1.9 1.9-1.9h12.1c1 0 1.9.9 1.9 1.9v1.9zM50 28c0 1-1 1.9-2 1.9H36c-1 0-1.9-.9-1.9-1.9v-1.9c0-1 .9-1.9 1.9-1.9h12.1c1 0 1.9.9 1.9 1.9V28z\"}]},\nmoneybag:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M20.5 9.1c.2.6.8.9 1.4.9H30c.6 0 1.2-.3 1.4-.9l3.2-5.9c.2-.6-.2-1.2-.8-1.2H18.2c-.6 0-1 .6-.7 1.1l3 6zM30.7 14.7h-9.4C13.4 14.7 7 21.2 7 29.2v16c0 2.6 2.1 4.8 4.8 4.8h28.4c2.6 0 4.8-2.2 4.8-4.8v-16c0-8-6.5-14.5-14.3-14.5zm-2.3 27v2.7c0 .5-.5.8-1 .8h-3.2c-.5 0-.6-.3-.6-.8v-2.6c-2.4-.5-4.4-1.5-4.9-2-.6-.6-.8-1.1-.3-1.8l1-1.6c.2-.4.7-.6 1.2-.6.3 0 .6.1.8.2h.1c1.6 1 3 1.4 4 1.4 1.1 0 2-.6 2-1.2 0-.5-.3-1.3-3.3-2.3-2.7-1-6-2.6-6-6.3 0-2.2 1.4-4.7 5.4-5.5v-2.4c0-.5.2-.8.6-.8h3.2c.5 0 1 .3 1 .8V22c1.6.4 3.3 1.2 3.9 1.6.3.2.5.6.6 1 .1.4-.1.8-.3 1L31.2 27c-.3.4-.9.7-1.3.7-.2 0-.5-.1-.7-.2-1.6-.9-2.9-1.4-3.8-1.4-1.3 0-1.9.6-1.9 1 0 .6.3 1.2 3 2.2 3.3 1.1 7 2.9 7 6.7.1 2.6-2 4.9-5.1 5.7z\"}},\nmonthlyview:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M44 7h-5V5c0-1.6-1.3-3-3-3-1.6 0-3 1.3-3 3v2H19V5c0-1.6-1.3-3-3-3-1.6 0-3 1.3-3 3v2H8c-2.2 0-4 1.8-4 4v2.5c0 .8.7 1.5 1.5 1.5h41c.8 0 1.5-.7 1.5-1.5V11c0-2.2-1.8-4-4-4zM46.5 20h-41c-.8 0-1.5.7-1.5 1.5V46c0 2.2 1.8 4 4 4h36c2.2 0 4-1.8 4-4V21.5c0-.8-.7-1.5-1.5-1.5zM21.1 44c-2.4 0-5.1-.9-5.9-2.2-.1-.2-.2-.4-.2-.7 0-.9.8-1.6 1.6-1.6.3 0 .6.1.9.2 1.1.6 2.4 1 3.5 1 2 0 3.1-.9 3.1-2.1 0-1.3-1-1.9-3.3-1.9-1.3.2-2.2-.4-2.2-1.6 0-.9.6-1.5 1.6-1.5 2.1.1 3.6-.4 3.6-1.8 0-1.3-1.3-1.9-3-1.9-1.1 0-2.2.3-3.2.9-.2.2-.5.2-.8.2-.8 0-1.5-.6-1.5-1.5 0-.4.2-.8.5-1.1 1.3-1.1 3.1-1.8 5.4-1.8 3.8 0 6.2 1.7 6.2 4.5 0 2.1-1.8 3.4-3.6 3.8 1.7.2 3.8 1.5 3.8 3.9C27.5 42 25 44 21.1 44zM37 42.1c0 .9-.5 1.9-1.5 1.9-.9 0-1.5-.9-1.5-1.9V31.8l-2.1 1.9c-.3.3-.7.4-1.1.4-.8 0-1.5-.6-1.5-1.5 0-.4.1-.7.4-1l3.8-3.8c.4-.4.9-.7 1.5-.7 1.1 0 2 1 2 2.1v12.9z\"}},\nmove:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M49.7 25.3l-8.3-9c-.6-.6-1.4-.1-1.4.9V23H30c-.6 0-1-.4-1-1V12h5.9c1 0 1.5-.9.9-1.4l-9-8.3c-.4-.3-1-.3-1.4 0l-9 8.3c-.6.6-.1 1.4.9 1.4H23v10c0 .6-.4 1-1 1H12v-5.9c0-1-.9-1.5-1.4-.9l-8.3 9c-.3.4-.3 1 0 1.4l8.3 9c.6.6 1.4.1 1.4-.9V29h10c.6 0 1 .4 1 1v10h-5.9c-1 0-1.5.9-.9 1.4l9 8.3c.4.3 1 .3 1.4 0l9-8.3c.6-.6.1-1.4-.9-1.4H29V30c0-.6.4-1 1-1h10v5.9c0 1 .9 1.5 1.4.9l8.3-9c.4-.5.4-1.1 0-1.5z\"}},\nmulti_picklist:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M44.4 2H18.8C16.2 2 14 4.2 14 6.8v.8c0 .5.3.8.8.8H38c2.6 0 4.8 2.2 4.8 4.8V38c0 .5.3.8.8.8h.8c2.6 0 4.8-2.2 4.8-4.8V6.8C49.2 4.2 47 2 44.4 2z\"},{\"d\":\"M33.2 13.2H7.6c-2.6 0-4.8 2.2-4.8 4.8v27.2C2.8 47.8 5 50 7.6 50h25.6c2.6 0 4.8-2.2 4.8-4.8V18c0-2.6-2.2-4.8-4.8-4.8zM14 42c0 .9-.7 1.6-1.6 1.6h-1.6c-.9 0-1.6-.7-1.6-1.6v-1.6c0-.9.7-1.6 1.6-1.6h1.6c.9 0 1.6.7 1.6 1.6V42zm0-9.6c0 .9-.7 1.6-1.6 1.6h-1.6c-.9 0-1.6-.7-1.6-1.6v-1.6c0-.9.7-1.6 1.6-1.6h1.6c.9 0 1.6.7 1.6 1.6v1.6zm0-9.6c0 .9-.7 1.6-1.6 1.6h-1.6c-.9 0-1.6-.7-1.6-1.6v-1.6c0-.9.7-1.6 1.6-1.6h1.6c.9 0 1.6.7 1.6 1.6v1.6zM31.6 42c0 .9-.7 1.6-1.6 1.6H18.9c-.9 0-1.6-.7-1.6-1.6v-1.6c0-.9.7-1.6 1.6-1.6H30c.9 0 1.6.7 1.6 1.6V42zm0-9.6c0 .9-.7 1.6-1.6 1.6H18.9c-.9 0-1.6-.7-1.6-1.6v-1.6c0-.9.7-1.6 1.6-1.6H30c.9 0 1.6.7 1.6 1.6v1.6zm0-9.6c0 .9-.7 1.6-1.6 1.6H18.9c-.9 0-1.6-.7-1.6-1.6v-1.6c0-.9.7-1.6 1.6-1.6H30c.9 0 1.6.7 1.6 1.6v1.6z\"}]},\nmulti_select_checkbox:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M44 2.5H19c-2.6 0-4.7 2.1-4.7 4.7V8c0 .5.3.8.8.8h22.7c2.6 0 4.7 2.1 4.7 4.7v24.3c0 .5.3.8.8.8h.7c2.6 0 4.7-2.1 4.7-4.7V7.2c0-2.6-2.1-4.7-4.7-4.7z\"},{\"d\":\"M33 13.5H8c-2.6 0-4.7 2.1-4.7 4.7v26.6c0 2.6 2.1 4.7 4.7 4.7h25c2.6 0 4.7-2.1 4.7-4.7V18.2c.1-2.6-2.1-4.7-4.7-4.7zm-2 13.3l-12 12c-.5.5-1 .7-1.6.7-.5 0-1.2-.2-1.6-.7L10 33c-.5-.5-.5-1.2 0-1.6l1.6-1.6c.5-.5 1.2-.5 1.6 0l4.2 4.2 10.3-10.3c.5-.5 1.2-.5 1.6 0l1.6 1.6c.5.3.5 1.1.1 1.5z\"}]},\nmuted:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M48.5 5.6l-2.1-2.1c-.6-.6-1.7-.5-2.4.3l-10 10V9.9C34 5.5 30.5 2 26.1 2h-.2C21.5 2 18 5.5 18 9.9v14.5c0 1.5.4 3 1.2 4.2l-3.5 3.5C14 30 13 27.3 13 24.4v-4c0-1.4-1.1-2.4-2.5-2.4S8 19 8 20.4v4c0 4.3 1.6 8.2 4.2 11.2L3.8 44c-.7.7-.8 1.8-.3 2.4l2.1 2.1c.6.6 1.7.5 2.4-.3L48.2 8c.8-.7.9-1.8.3-2.4zM39 23.2v1.2c0 7-5.8 12.8-13 12.8h-.9l-3.9 4.1c.8.2 1.8.4 2.8.6V45h-4.5c-1.4 0-2.5 1.1-2.5 2.5s1.1 2.5 2.5 2.5h13.1c1.4 0 2.5-1.1 2.5-2.5S33.9 45 32.5 45H28v-3.2c9-1.2 16-8.6 16-17.4v-4c0-.6-.3-1.2-.6-1.6L39 23.2z\"}},\nnew:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M43 9C33.6-.3 18.4-.3 9 9-.3 18.4-.3 33.6 9 43c9.4 9.4 24.6 9.4 33.9 0 9.4-9.4 9.4-24.6.1-34zm-1 19c0 .6-.4 1-1 1H30c-.5 0-1 .5-1 1v11c0 .5-.5 1-1 1h-4c-.6 0-1-.4-1-1V30c0-.6-.4-1-1-1H11c-.6 0-1-.4-1-1v-4c0-.5.5-1 1-1h11c.6 0 1-.4 1-1V11c0-.5.5-1 1-1h4c.5 0 1 .4 1 1v11c0 .6.4 1 1 1h11c.5 0 1 .5 1 1v4z\"}},\nnew_direct_message:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M45.5 17l-3.4 3.5c-.6.6-.9 1.3-.9 2.1V40c0 .8-.7 1.5-1.5 1.5h-27c-.8 0-1.5-.7-1.5-1.5V13c0-.8.7-1.5 1.5-1.5h17.5c.8 0 1.6-.3 2.1-.9l3.4-3.4c.6-.6.2-1.7-.7-1.7H9.2c-2.2 0-4 1.8-4 4v34c0 2.2 1.8 4 4 4h34c2.2 0 4-1.8 4-4V17.7c0-.9-1.1-1.3-1.7-.7z\"},{\"d\":\"M18.9 30.7l3.7 3.7c.2.2.4.2.6 0l19.4-19.9c.2-.2.2-.4 0-.6L39 10.3c-.2-.2-.4-.2-.6 0L18.9 30.1c-.2.2-.2.4 0 .6zM40.1 8.6c-.2.2-.2.4 0 .6l3.6 3.6c.2.2.4.2.6 0l2.5-2.5c.7-.6.7-1.6 0-2.3L45 6.2c-.7-.7-1.7-.7-2.4 0-.1 0-2.5 2.4-2.5 2.4zM15.6 36.9c-.1.4.3.8.7.7.6-.2 1.3-.3 1.9-.5.5-.1 1-.2 1.5-.4.5-.1 1-.2 1.4-.4.2-.1.6-.5.3-.8l-3.8-3.8c-.3-.3-.6 0-.7.2-.3.4-.4 1-.5 1.4-.1.5-.3 1-.4 1.5-.1.9-.2 1.5-.4 2.1z\"}]},\nnew_window:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M48.7 2H29.6c-.8 0-1.6.5-1.6 1.3v3c0 .8.7 1.7 1.6 1.7h7.9c.9 0 1.4 1 .7 1.6l-17 17c-.6.6-.6 1.5 0 2.1l2.1 2.1c.6.6 1.5.6 2.1 0l17-17c.6-.6 1.6-.2 1.6.7v7.9c0 .8.8 1.7 1.6 1.7h2.9c.8 0 1.5-.9 1.5-1.7v-19c0-.9-.5-1.4-1.3-1.4z\"},{\"d\":\"M36.3 25.5L32.9 29c-.6.6-.9 1.3-.9 2.1v11.4c0 .8-.7 1.5-1.5 1.5h-21c-.8 0-1.5-.7-1.5-1.5v-21c0-.8.7-1.5 1.5-1.5H21c.8 0 1.6-.3 2.1-.9l3.4-3.4c.6-.6.2-1.7-.7-1.7H6c-2.2 0-4 1.8-4 4v28c0 2.2 1.8 4 4 4h28c2.2 0 4-1.8 4-4V26.2c0-.9-1.1-1.3-1.7-.7z\"}]}},\nnews:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M50.5 6h-41C8.7 6 8 6.7 8 7.5V38c0 1.2-1.1 2.2-2.3 2-1-.2-1.7-1.1-1.7-2.1V16c0-.6-.4-1-1-1H1.5c-.8 0-1.5.7-1.5 1.5V42c0 2.2 1.8 4 4 4h44c2.2 0 4-1.8 4-4V7.5c0-.8-.7-1.5-1.5-1.5zM28 35c0 .6-.4 1-1 1H15c-.6 0-1-.4-1-1v-2c0-.6.4-1 1-1h12c.6 0 1 .4 1 1v2zm0-8c0 .6-.4 1-1 1H15c-.6 0-1-.4-1-1v-2c0-.6.4-1 1-1h12c.6 0 1 .4 1 1v2zm18 8c0 .6-.4 1-1 1H33c-.6 0-1-.4-1-1v-2c0-.6.4-1 1-1h12c.6 0 1 .4 1 1v2zm0-8c0 .6-.4 1-1 1H33c-.6 0-1-.4-1-1v-2c0-.6.4-1 1-1h12c.6 0 1 .4 1 1v2zm0-8c0 .6-.4 1-1 1H15c-.6 0-1-.4-1-1v-6c0-.6.4-1 1-1h30c.6 0 1 .4 1 1v6z\"}},\nnote:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M41.4 39.7l-.9.9c-1 1-2.3 1.5-3.7 1.5h-2.6c-2.4 0-5-1.9-5-5.2v-2.5c0-2 .9-3.2 1.4-3.9l10.8-11c.3-.3.6-1 .6-1.4V9.8C42 7.2 39.8 5 37.2 5H11.6C9 5 6.8 7.4 6.8 9.8H5.2C3.4 9.8 2 11.3 2 13.1s1.4 3.2 3.2 3.2h1.6v6.5H5.2C3.4 22.8 2 24.2 2 26s1.4 3.2 3.2 3.2h1.6v6.5H5.2c-1.8 0-3.2 1.5-3.2 3.2 0 1.8 1.4 3.2 3.2 3.2h1.6c0 3.2 2.2 4.8 4.8 4.8H37.2c2.6 0 4.8-2.2 4.8-4.8V40c0-.5-.2-.6-.6-.3zm-8.2-22.6c0 .9-.7 1.6-1.6 1.6h-16c-.9 0-1.6-.7-1.6-1.6v-1.6c0-.9.7-1.6 1.6-1.6h16c.9 0 1.6.7 1.6 1.6v1.6zM26 36.5c0 .9-.7 1.6-1.6 1.6h-8.8c-.9 0-1.6-.7-1.6-1.6v-1.6c0-.9.7-1.6 1.6-1.6h8.8c.9 0 1.6.7 1.6 1.6v1.6zm2.4-9.7c0 .9-.7 1.6-1.6 1.6H15.6c-.9 0-1.6-.7-1.6-1.6v-1.6c0-.9.7-1.6 1.6-1.6h11.2c.9 0 1.6.7 1.6 1.6v1.6z\"},{\"d\":\"M49.5 22.4l-1-1c-.6-.6-1.6-.6-2.2 0L34.1 34c-.1 0-.1.2-.1.2v2.7c0 .2 0 .4.2.4h2.6c.1 0 .2-.1.3-.1l12.3-12.4c.8-.7.8-1.7.1-2.4z\"}]},\nnotebook:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M44 2H14c-2.2 0-4 1.8-4 4v3H7c-1.7 0-3 1.3-3 3s1.3 3 3 3h3v8H7c-1.7 0-3 1.3-3 3s1.3 3 3 3h3v8H7c-1.7 0-3 1.3-3 3s1.3 3 3 3h3v3c0 2.2 1.8 4 4 4h30c2.2 0 4-1.8 4-4V6c0-2.2-1.8-4-4-4zm-7 34c0 .6-.4 1-1 1H22c-.6 0-1-.4-1-1v-2c0-.6.4-1 1-1h14c.6 0 1 .4 1 1v2zm2-8c0 .6-.4 1-1 1H20c-.6 0-1-.4-1-1v-2c0-.6.4-1 1-1h18c.6 0 1 .4 1 1v2zm2-10c0 .6-.4 1-1 1H18c-.6 0-1-.4-1-1v-6c0-.6.4-1 1-1h22c.6 0 1 .4 1 1v6z\"}},\nnotification:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M46 33h-.5c-1.9 0-3.5-1.6-3.5-3.5V18c0-9.1-7.6-16.4-16.8-16C16.6 2.4 10 9.8 10 18.5v11.1c0 1.9-1.6 3.4-3.5 3.4H6c-2.2 0-4 1.9-4 4.1v1.5c0 .7.7 1.4 1.5 1.4h45c.8 0 1.5-.7 1.5-1.5V37c0-2.2-1.8-4-4-4zM30.9 44h-9.8c-.6 0-1.1.6-1 1.2.5 2.8 3 4.8 5.9 4.8s5.4-2.1 5.9-4.8c.1-.6-.4-1.2-1-1.2z\"}}},\nnumber_input:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M44.8 49.5H7.2c-2.6 0-4.7-2.1-4.7-4.7V7.2c0-2.6 2.1-4.7 4.7-4.7h37.6c2.6 0 4.7 2.1 4.7 4.7v37.6c0 2.6-2.1 4.7-4.7 4.7zm-36-39.2v31.3c0 .9.7 1.6 1.6 1.6h31.3c.9 0 1.6-.7 1.6-1.6V10.3c0-.9-.7-1.6-1.6-1.6H10.4c-.9.1-1.6.8-1.6 1.6z\"},{\"d\":\"M36.2 20.3h-2.9l1.2-4.8v-.1c0-.2-.1-.4-.4-.4h-2.3c-.2 0-.3.1-.4.3l-1.2 4.9h-5.8l1.2-4.8v-.1c0-.2-.1-.4-.4-.4h-2.3c-.2 0-.3.1-.4.3l-1.3 4.9H18c-.2 0-.3.1-.4.3l-.6 2.2v.1c0 .2.1.4.4.4h3L19 28.7h-3.1c-.2 0-.3.1-.4.3l-.6 2.2v.1c0 .2.1.4.4.4h2.9L17 36.5v.1c0 .2.1.4.4.4h2.3c.2 0 .3-.1.4-.3l1.3-5h5.7L26 36.4v.1c0 .2.1.4.4.4h2.3c.2 0 .3-.1.4-.3l1.3-5h3.2c.2 0 .3-.1.4-.3l.6-2.2V29c0-.2-.1-.4-.4-.4h-3l1.4-5.6h3.1c.2 0 .3-.1.4-.3l.6-2.2v-.1c-.1.1-.3-.1-.5-.1zm-8.1 8.5h-5.8l1.4-5.6h5.7l-1.3 5.6z\"}]},\noffice365:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M6 40.6z\"},\"g\":{\"path\":{\"d\":\"M30.8 49.5c.6.2 1.3.2 1.9 0l11.9-3.9c.8-.3 1.4-1 1.4-1.9v-36c0-.6-.4-1.2-1-1.4L32.9 2.2c-.7-.2-1.4-.2-2 0L7 11.4c-.6.2-1 .8-1 1.4v27.1c0 .6.4 1.2 1 1.4l23.8 8.2zm1.2-6.7c0 .6-.5 1.1-1 1l-20-2.7c-.5-.1-.9-.5-.9-1v-.4c0-.4.2-.7.7-.9l3.8-1.8c.4-.2.6-.5.6-.9V14.8c0-.5.3-.9.8-1l15-3.4c.6-.1 1.2.3 1.2 1v31.4z\"}}},\noffline:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M34.7 36.1c.5-.5.5-1.3 0-1.8l-1.8-1.8c-.5-.5-1.3-.5-1.8 0l-4.4 4.4c-.3.3-.9.3-1.2 0l-4.4-4.4c-.5-.5-1.3-.5-1.8 0l-1.8 1.8c-.5.5-.5 1.3 0 1.8l4.4 4.4c.3.3.3.9 0 1.2l-4.4 4.4c-.5.5-.5 1.3 0 1.8l1.8 1.8c.5.5 1.3.5 1.8 0l4.4-4.4c.3-.3.9-.3 1.2 0l4.4 4.4c.5.5 1.3.5 1.8 0l1.8-1.8c.5-.5.5-1.3 0-1.8l-4.4-4.4c-.3-.3-.3-.9 0-1.2l4.4-4.4zM47.7 11.6c-5.5-6.1-13.3-9.5-21.6-9.5S10 5.5 4.5 11.6c-.4.4-.3 1.1.1 1.4l3 2.6c.4.4 1 .3 1.4-.1 4.4-4.7 10.6-7.4 17.1-7.4s12.7 2.7 17.1 7.4c.4.4 1 .4 1.4.1l3-2.6c.4-.4.5-1 .1-1.4zM26.1 16.1c-4.2 0-8.2 1.8-11 5-.4.4-.3 1.1.1 1.5l3.2 2.4c.4.3 1 .3 1.3-.1 1.7-1.8 4-2.8 6.4-2.8s4.7 1 6.3 2.7c.3.4.9.4 1.3.1l3.2-2.4c.5-.4.5-1 .1-1.5-2.7-3.1-6.7-4.9-10.9-4.9z\"}}},\noffline_briefcase:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M45.2 14.9H6.8A4.77 4.77 0 002 19.6v25.6A4.87 4.87 0 006.8 50h38.4a4.87 4.87 0 004.8-4.8V19.6a4.77 4.77 0 00-4.8-4.7zM17.4 29.8l1.4-1.4a1 1 0 011.4 0l2.4 2.4a.63.63 0 00.9 0 .61.61 0 00.2-.52V21.6a1.08 1.08 0 011-1H27a1 1 0 011 1v8.7a.65.65 0 001.1.5l2.4-2.4a1 1 0 011.4 0l1.4 1.4a1 1 0 010 1.4l-7.8 7.6a1 1 0 01-1.4 0l-7.7-7.6a1 1 0 010-1.4zm17.8 14a1 1 0 01-1 1H17.8a1 1 0 01-1-1v-2.1a1 1 0 011-1h16.4a1 1 0 011 1zM15.7 10h3.2a.74.74 0 00.8-.67V6.8h12.7v2.4a.74.74 0 00.67.8h3.33a.74.74 0 00.8-.67V6.8A4.87 4.87 0 0032.4 2H19.7a4.8 4.8 0 00-4.8 4.8v2.4a.74.74 0 00.67.8z\"}},\noffline_cached:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M38.6 20.4c-1-6.5-6.7-11.5-13.5-11.5-7.6 0-13.7 6.1-13.7 13.7 0 .3 0 .7.1 1-5 .4-8.9 4.6-8.9 9.6 0 5.4 4.3 9.7 9.7 9.7h11.5l-8.1-8.1c-.4-.4-.4-.9 0-1.3l1.3-1.3c.4-.4.9-.4 1.3 0l3.5 3.5c.4.4 1.1.1 1.1-.4V21.8c0-.4.5-.9 1-.9h1.9c.5 0 .9.4.9.9v13.4c0 .6.8.8 1.1.4l3.5-3.5c.4-.4.9-.4 1.3 0l1.3 1.3c.4.4.4.9 0 1.3L26 42.9h12.3c6.1-.1 11-5.1 11-11.3.1-6.1-4.7-11-10.7-11.2z\"}},\nomni_channel:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M47.2 2.7H34.6c-.8 0-1.1.7-.4 1.4l4 4 .5.5-7.5 7.4c-.6.6-.6 1.6-.1 2.2 0 0 5.1 5.2 4.6 11.1 0 8.4-6.1 15.1-14.5 15.1-6.2.6-11.1-5.1-11.1-5.1-.6-.6-1.5-.6-2.1 0L4.3 43c-.6.6-.6 1.5 0 2.1l1.2 1.2c.6.6 1.5.6 2.1 0L9 45c3.4 2.7 7.7 4.2 12.3 4.2 11 0 19.9-8.9 19.9-19.9 0-4.6-1.6-8.9-4.2-12.3l5.1-5.1.7.7 4 4c.6.7 1.4.4 1.4-.4V3.6c-.1-.5-.5-.9-1-.9z\"},\"circle\":{\"cx\":\"21.1\",\"cy\":\"29.5\",\"r\":\"9.9\"}},\nopen:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M8 35v-.6.6z\"},\"g\":{\"path\":[{\"d\":\"M46 2H6C3.8 2 2 3.8 2 6v36c0 2.2 1.8 4 4 4h12c.6 0 1-.4 1-1v-4c0-.6-.4-1-1-1H9.5c-.8 0-1.5-.7-1.5-1.5v-25c0-.8.7-1.5 1.5-1.5h33c.8 0 1.5.7 1.5 1.5v25c0 .8-.7 1.5-1.5 1.5H34c-.6 0-1 .4-1 1v4c0 .6.4 1 1 1h12c2.2 0 4-1.8 4-4V6c0-2.2-1.8-4-4-4z\"},{\"d\":\"M37.5 34.6l2.1-2.1c.6-.6.6-1.5 0-2.1L27 17.8c-.6-.6-1.5-.6-2.1 0L12.4 30.3c-.6.6-.6 1.5 0 2.1l2.1 2.1c.6.6 1.5.6 2.1 0l4.6-4.6c.6-.6 1.8-.2 1.8.7v17.9c0 .8.6 1.5 1.4 1.5h3c.8 0 1.6-.7 1.6-1.5V30.6c0-.9 1-1.3 1.7-.7l4.6 4.7c.6.5 1.6.5 2.2 0z\"}]}},\nopen_folder:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M46 14H23.3c-1.4 0-2.7-.8-3.5-2l-3.5-6c-.7-1.2-2-2-3.5-2H6C3.8 4 2 5.8 2 8v36c0 2.2 1.8 4 4 4h40c2.2 0 4-1.8 4-4V18c0-2.2-1.8-4-4-4z\"},{\"d\":\"M46 6H21.9c-.4 0-.6.4-.4.7l1.6 2.7c.2.4.5.6.9.6h22c1.1 0 2.2.2 3.1.6.4.2.9-.1.9-.6 0-2.2-1.8-4-4-4z\"}]}},\nopened_folder:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M44 15c0-2.2-1.8-4-4-4H25.3c-1.8 0-3.5-2-3.5-2l-2.5-3s-1.2-2-3.5-2H12C9.8 4 8 5.8 8 8v9h36v-2zM46.9 21H5.1c-2 0-3.5 1.9-3 3.8l5.7 21c.4 1.3 1.6 2.2 3 2.2h30.5c1.4 0 2.7-.9 3-2.2l5.7-21c.4-1.9-1.1-3.8-3.1-3.8z\"}}},\norchestrator:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M36.4 3.14a1.62 1.62 0 00-2.24-1 1.65 1.65 0 00-.59 2.38l7.28 18.18c.45.95 1.28 1.51 2.21 1.06a1.76 1.76 0 00.63-2.47zM26.2 15.75c4.11 0 7.41 3.74 7.41 8.37s-3.3 8.37-7.41 8.37-7.41-3.74-7.41-8.37 3.3-8.37 7.41-8.37zM9.11 34.34l10.67 1.2L22.24 50h-3a1.87 1.87 0 01-1.79-1.39l-2.18-7.84-9.09-1a4.77 4.77 0 01-3.88-6.3L7 19.79A2.79 2.79 0 0110.52 18a2.86 2.86 0 011.73 3.63L8.33 33.09a.94.94 0 00.78 1.25zM33.36 50h-3.2l2.43-14.29 10.09 1.91a.94.94 0 001.08-1.14l-1.42-6.4a2.85 2.85 0 012.07-3.44 2.8 2.8 0 013.38 2.1L49.87 38a4.73 4.73 0 01-5.38 5.8l-7.7-1.46-1.62 6.27A1.87 1.87 0 0133.36 50zM23.31 37.29a1.1 1.1 0 01-1.68-.95v-1.77a1.1 1.1 0 011.68-1l2.89 1.83zM26.2 35.45l2.88-1.83a1.1 1.1 0 011.69 1v1.77a1.11 1.11 0 01-1.69.95z\"}},\norg_chart:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"rect\":[{\"x\":\"34.78\",\"y\":\"2.83\",\"width\":\"13.16\",\"height\":\"13.15\",\"rx\":\"1.21\"},{\"x\":\"34.78\",\"y\":\"35.52\",\"width\":\"13.16\",\"height\":\"13.15\",\"rx\":\"1.21\"}],\"path\":{\"d\":\"M46.73 19.18H36a1.2 1.2 0 00-1.2 1.2v3.71h-7.38l-.16-14.65A1.5 1.5 0 0025.76 8H15.65V4a1.22 1.22 0 00-1.2-1.21H3.71A1.21 1.21 0 002.5 4v10.78A1.21 1.21 0 003.7 16h10.75a1.22 1.22 0 001.2-1.21V11h8.62l.17 14.64a1.51 1.51 0 001.5 1.49h8.84v4a1.21 1.21 0 001.22 1.2h10.73a1.22 1.22 0 001.2-1.21V20.38a1.2 1.2 0 00-1.2-1.2z\"}},\noutbound_call:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M48.5 37.9L42.4 33c-1.4-1.1-3.4-1.2-4.8-.1l-5.2 3.8c-.6.5-1.5.4-2.1-.2l-7.8-7-7-7.8c-.6-.6-.6-1.4-.2-2.1l3.8-5.2c1.1-1.4 1-3.4-.1-4.8l-4.9-6.1c-1.5-1.8-4.2-2-5.9-.3L3 8.4c-.8.8-1.2 1.9-1.2 3 .5 10.2 5.1 19.9 11.9 26.7S30.2 49.5 40.4 50c1.1.1 2.2-.4 3-1.2l5.2-5.2c1.9-1.5 1.8-4.3-.1-5.7z\"},{\"d\":\"M48.4 2H33c-1 0-1.3 1.1-.5 1.9l4.9 5-9 9.1c-.5.5-.5 1.4 0 1.9l3.7 3.7c.5.5 1.3.5 1.9 0l9.1-9.1 5.1 4.9c.7.9 1.8.6 1.8-.4V3.7C50 3 49.1 2 48.4 2z\"}]}},\noutcome:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M36.2 11.6l-.1-.1c-.6-.5-1.5-.5-2 .1l-2.2 2.1c-.6.6-.5 1.5 0 2l5.6 5.6c.2.2.3.4.3.7 0 .6-.4 1.1-1 1.1H15.6c-.8 0-1.5.6-1.5 1.4v3c.1.8.7 1.5 1.5 1.6h21.3c.2 0 .4.1.5.2.5.4.5 1 .2 1.5L32 36.5c-.6.6-.5 1.5 0 2l2.1 2.2c.6.6 1.5.5 2 0l13.5-13.5c.6-.6.5-1.5 0-2L36.2 11.6z\"},{\"d\":\"M21.1 17.2h3c.8 0 1.5-.7 1.5-1.5V6.1c0-2.2-1.8-4-4-4H6.1c-2.2 0-4 1.8-4 4v40c0 2.2 1.8 4 4 4h15.4c2.2 0 4-1.8 4-4v-9.5c0-.8-.7-1.5-1.5-1.5h-3c-.8 0-1.5.7-1.5 1.5v5.9c0 .8-.7 1.5-1.5 1.5H9.6c-.8 0-1.5-.7-1.5-1.5v-33c0-.8.7-1.5 1.5-1.5H18c.8 0 1.5.7 1.5 1.5v6.1c.1.9.7 1.6 1.6 1.6z\"}]},\noverflow:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M37.3 9.9H15.8c-2.1 0-3.7 1.7-3.7 3.7v.6c0 .3.3.6.6.6h19.6c2.1 0 3.7 1.7 3.7 3.7v22.1c0 .3.3.6.6.6h.6c2.1 0 3.7-1.7 3.7-3.7V13.6c.1-2-1.6-3.7-3.6-3.7z\"},{\"d\":\"M45.3 2H23.8c-2.1 0-3.7 1.7-3.7 3.7v.6c0 .3.3.6.6.6h19.6c2.1 0 3.7 1.7 3.7 3.7v22.1c0 .3.3.6.6.6h.6c2.1 0 3.7-1.7 3.7-3.7V5.7c.1-2-1.6-3.7-3.6-3.7z\"},{\"d\":\"M32.6 21.8c0-2-1.7-3.7-3.7-3.7H6.7c-2.1 0-3.7 1.7-3.7 3.7v24.5c0 2 1.7 3.7 3.7 3.7h22.2c2.1 0 3.7-1.7 3.7-3.7V21.8z\"}]},\npackage:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M44.4 24h-7.9l-3.3 4H44v6H8v-6h10.7l-3.3-4H7.6c-2 0-3.6 1.6-3.6 3.6V47c0 1.7 1.3 3 3 3h38c1.7 0 3-1.3 3-3V27.6c0-2-1.6-3.6-3.6-3.6z\"},{\"d\":\"M23 3.5V16h-6.9c-1 0-1.5.9-.9 1.4l10 12.3c.4.3 1 .3 1.4 0l10-12.3c.6-.6.1-1.4-.9-1.4H29V3.5c0-.8-.7-1.5-1.5-1.5h-3c-.8 0-1.5.7-1.5 1.5z\"}]},\npackage_org:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M44.4 23H31.9l-4 4H44v6H8v-6h8.1l-4-4H7.6c-2 0-3.6 1.6-3.6 3.6V46c0 1.7 1.3 3 3 3h38c1.7 0 3-1.3 3-3V26.6c0-2-1.6-3.6-3.6-3.6z\"},{\"d\":\"M20.6 25.8c.8.8 2 .8 2.8 0l19-19c.4-.4.4-1 0-1.4l-2.8-2.8c-.4-.4-1-.4-1.4 0L22 18.8l-6.7-6.7c-.4-.4-1-.4-1.4 0l-2.8 2.8c-.4.4-.4 1 0 1.4l9.5 9.5z\"}]},\npackage_org_beta:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M44.4 23h-5.8c-.4 1.5-1.1 2.8-2.1 4H44v6H8v-6h6v-4H7.6c-2 0-3.6 1.6-3.6 3.6V46c0 1.7 1.3 3 3 3h38c1.7 0 3-1.3 3-3V26.6c0-2-1.6-3.6-3.6-3.6z\"},{\"d\":\"M35 9.9C35 6 31.6 3 27.8 3h-8.3c-.8 0-1.5.7-1.5 1.5v21c0 .8.7 1.5 1.5 1.5H28c3.9 0 7-3.2 6.9-7.1 0-1.9-.8-3.6-2.1-4.8 1.4-1.4 2.2-3.2 2.2-5.2zM22 7h6c1.6 0 3 1.3 3 3 0 1.6-1.3 3-3 3h-6V7zm9 13c0 1.6-1.3 3-3 3h-6v-6h6c1.7 0 3 1.3 3 3z\"}]},\npage:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M44.4 19H33.2c-2.6 0-4.2-1.6-4.2-4.2V3.6c0-.9-.7-1.6-1.6-1.6H10.8C8.2 2 6 4.2 6 6.8v38.4c0 2.6 2.2 4.8 4.8 4.8h30.4c2.6 0 4.8-2.2 4.8-4.8V20.6c0-.9-.7-1.6-1.6-1.6z\"},{\"d\":\"M45.7 12.9L35.1 2.3c-.2-.2-.6-.3-.9-.3-.6 0-1.2.5-1.2 1.1v8.5c0 1.8 1.6 3.4 3.4 3.4h8.5c.6 0 1.1-.6 1.1-1.2 0-.3-.1-.7-.3-.9z\"}]},\npalette:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M49.5 17.3C47.2 7.8 37.2 2 26.2 2 12.8 2 2 12.7 2 26s10.8 24 24.2 24c18.6 0 17.1-9.4 11.2-13.1-3.5-2.2-5.4-7.3-1.9-10.9 6.5-6.7 17 4 14-8.7zM13 34c-2.8 0-5-2.2-5-5s2.2-5 5-5 5 2.2 5 5-2.2 5-5 5zm1-19c0-2.8 2.2-5 5-5s5 2.2 5 5-2.2 5-5 5-5-2.2-5-5zm11 29c-2.8 0-5-2.2-5-5s2.2-5 5-5 5 2.2 5 5-2.2 5-5 5zm9-26c-2.8 0-5-2.2-5-5s2.2-5 5-5 5 2.2 5 5-2.2 5-5 5z\"}},\npassword:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M44.8 49.5H7.2c-2.6 0-4.7-2.1-4.7-4.7V7.2c0-2.6 2.1-4.7 4.7-4.7h37.6c2.6 0 4.7 2.1 4.7 4.7v37.6c0 2.5-2.1 4.7-4.7 4.7zM8.9 10.3v31.3c0 .9.7 1.6 1.6 1.6h31.2c.9 0 1.6-.7 1.6-1.6V10.3c0-.9-.7-1.6-1.6-1.6H10.4c-.8.1-1.5.8-1.5 1.6z\"},{\"d\":\"M38.8 23.8l-.9-3c-.3-.8-1.1-1.3-2-1L29.1 22v-6.7c0-.9-.7-1.6-1.6-1.6h-3.1c-.9 0-1.6.7-1.6 1.6V22l-6.6-2.2c-.8-.3-1.7.2-2 1l-.9 3c-.3.8.2 1.7 1 2l6.2 2-4.5 6.1c-.5.7-.3 1.7.4 2.2l2.6 1.8c.7.5 1.7.3 2.2-.4l4.9-6.8 4.9 6.8c.5.7 1.5.9 2.2.4l2.6-1.8c.7-.5.9-1.5.4-2.2l-4.5-6.2 6.1-2c.8-.2 1.2-1 1-1.9z\"}]},\npaste:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M17.5 12h17c.8 0 1.5-.7 1.5-1.5V6c0-2.2-1.8-4-4-4H20c-2.2 0-4 1.8-4 4v4.5c0 .8.7 1.5 1.5 1.5z\"},{\"d\":\"M44 6h-2.5c-.8 0-1.5.7-1.5 1.5V12c0 2.2-1.8 4-4 4H16c-2.2 0-4-1.8-4-4V7.5c0-.8-.7-1.5-1.5-1.5H8c-2.2 0-4 1.8-4 4v36c0 2.2 1.8 4 4 4h36c2.2 0 4-1.8 4-4V10c0-2.2-1.8-4-4-4zm-6 35c0 .6-.4 1-1 1H15c-.6 0-1-.4-1-1v-2c0-.6.4-1 1-1h22c.6 0 1 .4 1 1v2zm0-8c0 .6-.4 1-1 1H15c-.6 0-1-.4-1-1v-2c0-.6.4-1 1-1h22c.6 0 1 .4 1 1v2zm0-8c0 .6-.4 1-1 1H15c-.6 0-1-.4-1-1v-2c0-.6.4-1 1-1h22c.6 0 1 .4 1 1v2z\"}]}},\npause:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M30 43c0 1 .9 2 2 2h4c1.1 0 2-1.1 2-2V9c0-1-.9-2-2-2h-4c-1.1 0-2 1.1-2 2v34zM14 43c0 1 .9 2 2 2h4c1.1 0 2-1.1 2-2V9c0-1-.9-2-2-2h-4c-1.1 0-2 1.1-2 2v34z\"}},\npause_alt:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M9.009 8.977c9.395-9.303 24.587-9.303 33.982 0 9.295 9.402 9.395 24.706 0 34.009s-24.687 9.402-33.982 0c-9.295-9.403-9.395-24.707 0-34.01zm16.991-1c-9.895 0-17.99 8.102-17.99 18.004 0 9.903 8.095 18.005 17.99 18.005 9.995 0 17.99-8.002 17.99-18.005S35.896 7.977 26 7.977zM21.75 15c.966 0 1.75.895 1.75 2v18c0 1.105-.784 2-1.75 2h-3.5c-.966 0-1.75-.895-1.75-2V17c0-1.105.784-2 1.75-2zm12 0c.966 0 1.75.895 1.75 2v18c0 1.105-.784 2-1.75 2h-3.5c-.966 0-1.75-.895-1.75-2V17c0-1.105.784-2 1.75-2z\",\"fill-rule\":\"evenodd\"}},\npayment_gateway:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M19.56 6.29a17.94 17.94 0 000 35.87h.8V27.94c0-1.06.81-2.42 1.88-2.42h15.2c0-.59.06-1 .06-1.32A18 18 0 0019.56 6.29zm14.32 16.4h-4.62a26.74 26.74 0 00-2.54-10.76 14.52 14.52 0 017.16 10.76zM17.51 10.9v11.79h-4.1c.31-5.62 2.08-10.06 4.1-11.79zm0 14.86v11.78c-2-1.73-3.79-6.15-4.1-11.78zm4.1-3.07V10.9c2 1.73 3.8 6.17 4.1 11.79zm-9.22-10.76a27.62 27.62 0 00-2.53 10.76H5.21a14.48 14.48 0 017.18-10.76zM5.22 26.27h4.65A26.74 26.74 0 0012.39 37a14.5 14.5 0 01-7.17-10.73z\",\"fill-rule\":\"evenodd\"},{\"d\":\"M47.5 28.56H25.73a2.5 2.5 0 00-2.5 2.5v12.15a2.5 2.5 0 002.5 2.5H47.5a2.5 2.5 0 002.5-2.5V31.06a2.5 2.5 0 00-2.5-2.5zM28.66 43.21a2.92 2.92 0 00-2.84-3h-.08V34a2.93 2.93 0 003-2.84v-.07h15.81A2.91 2.91 0 0047.42 34h.08v6.25a2.93 2.93 0 00-3 2.86v.09z\",\"fill-rule\":\"evenodd\"}],\"circle\":{\"cx\":\"36.61\",\"cy\":\"36.92\",\"r\":\"4.2\"}}},\npdf_ext:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M28.6 11.4h5.1a1.11 1.11 0 001.1-1.1 1.32 1.32 0 00-.3-.8l-7.2-7.1a.89.89 0 00-.7-.3 1.11 1.11 0 00-1.1 1.1v5.1a3.12 3.12 0 003.1 3.1zM49.83 32.45A1.43 1.43 0 0048.44 31h-12A1.43 1.43 0 0035 32.44v1.44a1.43 1.43 0 001.4 1.44h6.14l-11 11a1.42 1.42 0 000 2l1 1a1.54 1.54 0 001.09.45 1.32 1.32 0 00.94-.38l11-11v6A1.43 1.43 0 0047 45.83h1.53a1.43 1.43 0 001.47-1.4zM18.35 20.68h-1.46v4.93h1.46a1.56 1.56 0 001.56-1.1 3.93 3.93 0 00.24-1.44 3.61 3.61 0 00-.36-1.77 1.53 1.53 0 00-1.44-.62zM11.29 20.93a1.27 1.27 0 00-.84-.25H9v2.23h1.46a1.18 1.18 0 00.84-.28 1.09 1.09 0 00.3-.86 1 1 0 00-.33-.84z\"},{\"d\":\"M33.24 16H25.4a4.67 4.67 0 01-4.7-4.6V3.6a1.42 1.42 0 00-1.34-1.5H6.8a4.67 4.67 0 00-4.7 4.6v29.4a4.6 4.6 0 004.62 4.6H24.6v-.1a15.92 15.92 0 0110.2-14.9v-8.1a1.58 1.58 0 00-1.56-1.6zm-20.75 7.65a2.93 2.93 0 01-1.89.56H9v2.71H7.49v-7.55h3.24a2.64 2.64 0 011.76.63 2.3 2.3 0 01.66 1.8 2.35 2.35 0 01-.66 1.85zm8.66 1.9A2.73 2.73 0 0118.62 27h-3.26v-7.63h3.26a3.85 3.85 0 011.17.17 2.49 2.49 0 011.28.95 3.43 3.43 0 01.54 1.22 5.6 5.6 0 01.14 1.29 5 5 0 01-.6 2.55zm7.92-4.84h-3.81v1.74h3.34v1.31h-3.34v3.16h-1.57v-7.54h5.38z\"}]}},\npeople:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M42 22.3c-2.8-1.1-3.2-2.2-3.2-3.3s.8-2.2 1.8-3c1.7-1.4 2.6-3.5 2.6-5.8 0-4.4-2.9-8.2-8-8.2-4.7 0-7.5 3.2-7.9 7.1 0 .4.2.7.5.9 3.8 2.4 6.1 6.6 6.1 11.7 0 3.8-1.5 7.2-4.2 9.6-.2.2-.2.6 0 .8.7.5 2.3 1.2 3.3 1.7.3.1.5.2.8.2h12.1c2.3 0 4.1-1.9 4.1-4v-.6c0-3.5-3.8-5.4-8-7.1z\"},{\"d\":\"M28.6 36.2c-3.4-1.4-3.9-2.6-3.9-3.9 0-1.3 1-2.6 2.1-3.6 2-1.7 3.1-4.1 3.1-6.9 0-5.2-3.4-9.7-9.6-9.7-6.1 0-9.6 4.5-9.6 9.7 0 2.8 1.1 5.2 3.1 6.9 1.1 1 2.1 2.3 2.1 3.6 0 1.3-.5 2.6-4 3.9-5 2-9.9 4.3-9.9 8.5V46c0 2.2 1.8 4 4.1 4h27.7c2.3 0 4.2-1.8 4.2-4v-1.4c0-4.1-4.4-6.4-9.4-8.4z\"}]}},\npercent:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M39.55 26A10.5 10.5 0 1050 36.5 10.5 10.5 0 0039.55 26zm0 16.14a5.65 5.65 0 115.6-5.64 5.64 5.64 0 01-5.6 5.64zM23 15.5a10.48 10.48 0 10-3.07 7.43A10.5 10.5 0 0023 15.5zm-10.5 5.64a5.65 5.65 0 114-1.65 5.63 5.63 0 01-4.01 1.65zm26.71-15A.8.8 0 0038.49 5h-3a.83.83 0 00-.64.4l-22 40.41a.78.78 0 000 .78.79.79 0 00.68.39h3a.8.8 0 00.64-.4l22-40.41z\"}},\nphone_landscape:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M52 13c0-2.2-1.8-4-4-4H4c-2.2 0-4 1.8-4 4v26c0 2.2 1.8 4 4 4h44c2.2 0 4-1.8 4-4V13zM5 29c-1.7 0-3-1.3-3-3s1.3-3 3-3 3 1.3 3 3-1.3 3-3 3zm39 6.5c0 .8-.7 1.5-1.5 1.5h-31c-.8 0-1.5-.7-1.5-1.5v-19c0-.8.7-1.5 1.5-1.5h31c.8 0 1.5.7 1.5 1.5v19z\"}},\nphone_portrait:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M43 4c0-2.2-1.8-4-4-4H13c-2.2 0-4 1.8-4 4v44c0 2.2 1.8 4 4 4h26c2.2 0 4-1.8 4-4V4zM26 50c-1.7 0-3-1.3-3-3s1.3-3 3-3 3 1.3 3 3-1.3 3-3 3zm11-9.5c0 .8-.7 1.5-1.5 1.5h-19c-.8 0-1.5-.7-1.5-1.5v-31c0-.8.7-1.5 1.5-1.5h19c.8 0 1.5.7 1.5 1.5v31z\"}},\nphoto:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M26 20c-4.4 0-8 3.6-8 8s3.6 8 8 8 8-3.6 8-8-3.6-8-8-8z\"},{\"d\":\"M46 14h-5.2c-1.4 0-2.6-.7-3.4-1.8l-2.3-3.5C34.4 7 32.7 6 30.9 6h-9.8c-1.8 0-3.5 1-4.3 2.7l-2.3 3.5c-.7 1.1-2 1.8-3.4 1.8H6c-2.2 0-4 1.8-4 4v24c0 2.2 1.8 4 4 4h40c2.2 0 4-1.8 4-4V18c0-2.2-1.8-4-4-4zM26 40c-6.6 0-12-5.4-12-12s5.4-12 12-12 12 5.4 12 12-5.4 12-12 12z\"}]}},\npicklist:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M48 41c1.1 0 2-.9 2-2V13c0-1.1-.9-2-2-2H4c-1.1 0-2 .9-2 2v26c0 1.1.9 2 2 2h44zM6 37V15h40v22H6z\"},{\"d\":\"M32.5 23h9.3c.3 0 .4.3.2.5l-4.6 5.3c-.2.2-.5.2-.7 0l-4.6-5.3c-.1-.2.1-.5.4-.5z\"}]},\npicklist_choice:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M6.9 33.7H3.7c-.9 0-1.6.7-1.6 1.6v3.2c0 .9.7 1.6 1.6 1.6H7c.9-.1 1.5-.8 1.4-1.6v-3.2c.1-.9-.6-1.6-1.5-1.6zM16.5 11.8h31.6c.9 0 1.6-.7 1.6-1.6V7c0-.9-.7-1.6-1.6-1.6H16.5c-.9 0-1.6.7-1.6 1.6v3.2c0 .9.7 1.6 1.6 1.6zM16.5 26h31.6c.9 0 1.6-.7 1.6-1.6v-3.2c0-.9-.7-1.6-1.6-1.6H16.5c-.9 0-1.6.7-1.6 1.6v3.2c0 .8.7 1.6 1.6 1.6zM6.9 5.4H3.7c-.9 0-1.6.7-1.6 1.6v3.2c0 .9.7 1.6 1.6 1.6H7c.9-.1 1.5-.8 1.4-1.6V6.9c.1-.8-.6-1.5-1.5-1.5zM6.9 19.5H3.7c-.9 0-1.6.7-1.6 1.6v3.2c0 .9.7 1.6 1.6 1.6H7c.9-.1 1.5-.8 1.4-1.6v-3.2c.1-.8-.6-1.6-1.5-1.6zM20.9 39.7c0-1.8.6-3.6 1.7-5v-.5-.6h-6.1c-.9 0-1.6.7-1.6 1.6v3.2c0 .9.7 1.6 1.6 1.6h4.4v-.3zM35.2 31.4c.8-.8 1.9-1.3 3.2-1.3 1.7 0 3.1.9 3.9 2.2.6-.2 1.4-.5 2.2-.5 2.9 0 5.4 2.5 5.4 5.3 0 2.9-2.5 5.3-5.4 5.3-.3 0-.7 0-1-.1-.6 1.2-2 2-3.4 2-.6 0-1.2-.2-1.7-.4-.7 1.6-2.3 2.7-4.1 2.7-2 0-3.6-1.2-4.2-2.9-.2 0-.6.1-.9.1-2.3 0-4.2-1.8-4.2-4.1 0-1.5.8-2.9 2.1-3.6-.2-.6-.4-1.2-.4-1.9 0-2.6 2.2-4.8 4.8-4.8 1.4.1 2.9.8 3.7 2z\"}},\npicklist_type:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M48.3 14.9H16.4c-.9 0-1.6-.7-1.6-1.6v-3.2c0-.9.7-1.6 1.6-1.6h31.9c.9 0 1.6.7 1.6 1.6v3.2c0 .9-.7 1.6-1.6 1.6zM48.3 29.2H16.4c-.9 0-1.6-.7-1.6-1.6v-3.2c0-.9.7-1.6 1.6-1.6h31.9c.9 0 1.6.7 1.6 1.6v3.2c0 .9-.7 1.6-1.6 1.6zM6.9 29.2H3.7c-.9 0-1.6-.7-1.6-1.6v-3.2c0-.9.7-1.6 1.6-1.6h3.2c.9 0 1.6.7 1.6 1.6v3.2c0 .9-.7 1.6-1.6 1.6zM6.9 14.9H3.7c-.9 0-1.6-.7-1.6-1.6v-3.2c0-.9.7-1.6 1.6-1.6h3.2c.9 0 1.6.7 1.6 1.6v3.2c0 .9-.7 1.6-1.6 1.6zM6.9 43.5H3.7c-.9 0-1.6-.7-1.6-1.6v-3.2c0-.9.7-1.6 1.6-1.6h3.2c.9 0 1.6.7 1.6 1.6v3.2c0 .9-.7 1.6-1.6 1.6zM48.3 43.5H16.4c-.9 0-1.6-.7-1.6-1.6v-3.2c0-.9.7-1.6 1.6-1.6h31.9c.9 0 1.6.7 1.6 1.6v3.2c0 .9-.7 1.6-1.6 1.6z\"}},\npin:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M49.5 15.4L36 1.9c-1.4-1.4-3.6-1.4-5 0s-1.4 3.6 0 5l.7.7-16.2 10.7-.5-.5c-1.4-1.4-3.6-1.4-5 0s-1.4 3.6 0 5l7.2 7.2L2.4 44.8c-1.4 1.4-1.4 3.7 0 5.1 1.4 1.4 3.7 1.4 5.1 0L22.3 35l6.3 6.3c1.4 1.4 3.6 1.4 5 0s1.4-3.6 0-5l-.5-.5 10.6-16.3.7.7c1.4 1.4 3.6 1.4 5 0 1.4-1.2 1.4-3.4.1-4.8z\"}},\npinned:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M36.9 23.7h-.5L33 7.9h.9c1.6 0 2.9-1.3 2.9-2.9s-1.3-2.9-2.9-2.9H18.1c-1.6 0-2.9 1.3-2.9 2.9s1.3 2.9 2.9 2.9h.9l-3.3 15.8h-.5c-1.6 0-2.9 1.3-2.9 2.9s1.3 2.9 2.9 2.9h8.4v17.4c0 1.6 1.3 3 3 3s3-1.3 3-3V29.6H37c1.6 0 2.9-1.3 2.9-2.9s-1.4-3-3-3z\"}},\nplanning_poker:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M48.34 10l-6.27-2v29.12L49.88 13a2.41 2.41 0 00-1.53-3zM20.52 5.59L16.81 6.8 3.66 11.08a2.42 2.42 0 00-1.55 3l10.18 31.35a2.41 2.41 0 003 1.57l14-4.56 2.85-.94a2.39 2.39 0 001.56-3L23.59 7.14a2.4 2.4 0 00-3-1.57zM37.34 34.06V7.3a2.41 2.41 0 00-2.41-2.41H27.8a6.07 6.07 0 01.32.8l9.05 27.75a5.24 5.24 0 01.17.62z\"}}},\nplay:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M8 43.7V8.3c0-1 1.3-1.7 2.2-.9l33.2 17.3c.8.6.8 1.9 0 2.5L10.2 44.7c-.9.7-2.2.1-2.2-1z\"}},\npodcast_webinar:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M48 22.8c0-4.9-1.8-9.6-5-13.2l-.4-.4C38.6 4.8 32.6 2 26 2 19.7 2 13.9 4.6 9.9 8.6h-.1C6.1 12.4 4 17.5 4 22.8 4 28.1 6.1 33.2 9.9 37c.8.8 2 .8 2.8 0s.8-2.1 0-2.9c-2.9-2.9-4.6-7-4.6-11.2 0-3.7 1.3-7.1 3.4-9.9.4-.5.7-.9 1.2-1.3.1-.1.2-.2.2-.3C16.2 8 20.9 6 26 6c9.8 0 17.8 7.6 17.9 16.9 0 4.2-1.7 8.3-4.7 11.2-.8.8-.8 2.1 0 2.9s2.1.8 2.9 0c3.8-3.8 5.9-8.8 5.9-14.2z\"},{\"d\":\"M39.6 22.9c0-.1 0-.1 0 0 0-.1 0-.1 0 0 0-.1 0-.1 0 0 0-7.2-6.1-13-13.6-13-6.2 0-11.4 3.9-13.1 9.2-.4 1.2-.6 2.4-.6 3.7 0 3.1 1.2 6.1 3.4 8.3.8.8 2.1.8 2.9 0 .8-.8.8-2.1 0-2.9-1.4-1.4-2.2-3.3-2.2-5.3 0-4.9 4.5-8.8 9.6-8.8s9.6 4 9.6 8.8c0 2-.8 3.9-2.2 5.3-.8.8-.8 2.1 0 2.9.8.8 2 .8 2.8 0 2.2-2.2 3.4-5.1 3.4-8.2zM28.2 32.4h-4.4c-1.7 0-3.2 1.4-3.2 3.2v11.3c0 1.7 1.4 3.2 3.2 3.2h4.4c1.7 0 3.2-1.4 3.2-3.2V35.5c0-1.7-1.5-3.1-3.2-3.1z\"}],\"circle\":{\"cx\":\"26\",\"cy\":\"23.2\",\"r\":\"5.4\"}}},\npop_in:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M22 31.3h19.1c.8 0 1.6-.5 1.6-1.3v-3c0-.8-.7-1.7-1.6-1.7h-7.9c-.9 0-1.4-1-.7-1.6l17-17c.6-.6.6-1.5 0-2.1l-2.1-2.1c-.6-.6-1.5-.6-2.1 0l-17 17c-.6.6-1.6.2-1.6-.7v-7.9c0-.8-.8-1.7-1.6-1.7h-2.9c-.8 0-1.5.9-1.5 1.7v19c.1.9.5 1.3 1.3 1.4z\"},{\"d\":\"M37 35.3h-4c-.6 0-1 .4-1 1v6.2c0 .8-.7 1.5-1.5 1.5h-21c-.8 0-1.5-.7-1.5-1.5v-21c0-.8.7-1.5 1.4-1.5h6.3c.6 0 1-.4 1-1v-4c0-.6-.4-1-1-1H6c-2.2 0-4 1.8-4 4v28c0 2.2 1.8 4 4 4h28c2.2 0 4-1.8 4-4v-9.7c0-.6-.4-1-1-1z\"}]},\npower:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M34.4 7.7c-.7-.3-1.4.2-1.4.9v3.8c0 .7.4 1.4 1 1.7 5.3 3 8.7 9 7.9 15.7-.8 7.3-6.7 13.3-14.1 14.1C18.2 45 10 37.4 10 28c0-5.9 3.2-11.1 8-13.9.6-.3 1-1 1-1.7V8.6c0-.7-.7-1.2-1.4-.9C9.1 11.2 3.2 20 4.1 30c.9 10.3 9.1 18.7 19.4 19.9C36.7 51.3 48 41 48 28c0-9.2-5.6-17-13.6-20.3z\"},{\"d\":\"M29 3.5c0-.8-.7-1.5-1.5-1.5h-3c-.8 0-1.5.7-1.5 1.5v17c0 .8.7 1.5 1.5 1.5h3c.8 0 1.5-.7 1.5-1.5v-17z\"}]}},\npreview:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M51.8 25.1C47.1 15.6 37.3 9 26 9S4.9 15.6.2 25.1c-.3.6-.3 1.3 0 1.8C4.9 36.4 14.7 43 26 43s21.1-6.6 25.8-16.1c.3-.6.3-1.2 0-1.8zM26 37c-6.1 0-11-4.9-11-11s4.9-11 11-11 11 4.9 11 11-4.9 11-11 11z\"},{\"d\":\"M26 19c-3.9 0-7 3.1-7 7s3.1 7 7 7 7-3.1 7-7-3.1-7-7-7z\"}]}},\nprice_book_entries:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M25 2.3l11.7.2a5.51 5.51 0 012.5 1l4.6 4.6 4.6 4.6a3.55 3.55 0 011 2.5l.3 11.8a3.55 3.55 0 01-1 2.5L29.5 48.7a3.69 3.69 0 01-5 0L13.9 38.1 3.3 27.5a3.69 3.69 0 010-5L22.5 3.3a3.55 3.55 0 012.5-1zM18.6 21l-1.9 1.8a.85.85 0 000 1.3l11.2 11.2a.85.85 0 001.3 0l1.9-1.9a.85.85 0 000-1.3L19.7 21a.65.65 0 00-1.1 0zm5.3-5.4L22 17.5a.85.85 0 000 1.3L33.2 30a.85.85 0 001.3 0l1.9-1.9a.85.85 0 000-1.3L25.1 15.6a.91.91 0 00-1.2 0zM42 10a3.69 3.69 0 00-5 0 3.69 3.69 0 000 5 3.69 3.69 0 005 0 3.69 3.69 0 000-5z\"}},\nprice_books:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M8.6 36.9V29H7a3.22 3.22 0 01-3.2-3.2 3.26 3.26 0 013-3.2h1.8v-7.9H7a3.22 3.22 0 01-3.2-3.2 3.26 3.26 0 013-3.2h1.8V6.8a4.79 4.79 0 014.6-4.6h30c2.6 0 4.9 1.65 5 4.15V44.6a5.39 5.39 0 01-4.8 5.2h-30A5.26 5.26 0 018.5 45v-1.7H7a3.22 3.22 0 01-3.2-3.2 3.26 3.26 0 013-3.2zm18.9-23.2a2 2 0 00-1.5.6L14.8 25.4a2.05 2.05 0 000 2.9l12.3 12.3a2.05 2.05 0 002.9 0l11.2-11.2a2 2 0 00.6-1.5l-.2-6.8a1.68 1.68 0 00-.6-1.4l-5.3-5.4a2.25 2.25 0 00-1.4-.6zm-3.9 10.8a.48.48 0 01.7 0l6.5 6.5a.48.48 0 010 .7l-1.1 1.1a.48.48 0 01-.7 0l-6.5-6.5a.48.48 0 010-.7zm3.2-3a.48.48 0 01.7 0L34 28a.48.48 0 010 .7l-1 1a.48.48 0 01-.7 0l-6.5-6.5a.48.48 0 010-.7zm10.5-3.3a2.05 2.05 0 11-2.9 0 2.05 2.05 0 012.9 0z\"}},\npricing_workspace:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M15.1 2.1a1.63 1.63 0 011.7 1.7v1.1a1.63 1.63 0 01-1.7 1.7H10a3.4 3.4 0 00-3.4 3.2V42a3.4 3.4 0 003.2 3.4H42a3.4 3.4 0 003.4-3.2v-5.3a1.63 1.63 0 011.7-1.7h1.1a1.63 1.63 0 011.7 1.7v6.2a6.81 6.81 0 01-6.8 6.8H8.9a6.81 6.81 0 01-6.8-6.8V8.9a6.81 6.81 0 016.8-6.8z\",\"fill-rule\":\"evenodd\"},{\"d\":\"M29.7 4.9l8.4.2a4 4 0 011.8.7l3.3 3.3 3.3 3.3a2.41 2.41 0 01.7 1.8l.2 8.4a2.64 2.64 0 01-.7 1.9L32.9 38.4a2.53 2.53 0 01-3.6 0l-7.6-7.6-7.6-7.6a2.53 2.53 0 010-3.6L27.9 5.7a2.34 2.34 0 011.8-.8zM25 18.4l-1.4 1.4a.75.75 0 000 .9l8.1 8.1a.75.75 0 00.9 0l1.4-1.4a.75.75 0 000-.9l-8.1-8.1a.56.56 0 00-.9 0zm3.8-3.8L27.5 16a.75.75 0 000 .9l8.1 8.1a.75.75 0 00.9 0l1.4-1.4a.75.75 0 000-.9l-8.1-8.1c-.3-.3-.6-.3-1 0zm13.1-4.1a2.55 2.55 0 100 3.6 2.54 2.54 0 000-3.6z\"}]},\nprint:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M46.5 17.4h-41c-2.2 0-4 1.8-4 4v14c0 2.2 1.8 4 4 4h5.9v5.8c0 2.2 1.8 4 4 4h21.3c2.2 0 4-1.8 4-4v-5.8h5.9c2.2 0 4-1.8 4-4v-14c-.1-2.2-1.9-4-4.1-4zM8.3 27.7c-1.7 0-3-1.3-3-3s1.3-3 3-3 3 1.3 3 3-1.3 3-3 3zm27.6 15.4c0 .8-.7 1.5-1.5 1.5h-17c-.8 0-1.5-.7-1.5-1.5v-9.8c0-.8.7-1.5 1.5-1.5h17c.8 0 1.5.7 1.5 1.5v9.8zM40.5 11.1c0 .8-.7 1.5-1.5 1.5H12.8c-.8 0-1.5-.7-1.5-1.5V4.3c0-.8.7-1.5 1.5-1.5H39c.8 0 1.5.7 1.5 1.5v6.8z\"}}},\npriority:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M9 3.5C9 2.7 8.3 2 7.5 2h-3C3.7 2 3 2.7 3 3.5v45c0 .8.7 1.5 1.5 1.5h3c.8 0 1.5-.7 1.5-1.5v-45zM47.5 7.7c-16 8.4-14.2-8.8-33.5-2.1-.6.2-1 .8-1 1.4v23.3c0 .7.7 1.2 1.3.9 19.2-6.4 17.2 11.2 33.9 1.8.5-.3.8-.8.8-1.3V8.5c0-.7-.8-1.2-1.5-.8z\"}}},\nprivately_shared:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M35.6 39.5c-.7-4.1-4.9-6.2-8.3-7.7-1.5-.7-3.6-1.5-4.2-3.3-.4-1-.2-2 .3-2.9.9-.9 1.7-1.7 2.4-2.8.2-.3.3-.5.5-.8 2-2.9 2.3-6.9 1.1-10.2-1.2-3.6-4.4-6-8.3-6.1h-.6c-3.9.1-7.1 2.5-8.3 6.1-1.2 3.4-.9 7.3 1.1 10.2.1.3.3.5.5.8.7 1.1 1.6 1.9 2.4 2.8.4.9.6 1.9.3 2.9-.6 1.8-2.7 2.6-4.2 3.3-3.4 1.5-7.6 3.6-8.3 7.7-.7 3.4 1.6 6.8 5.2 6.8h23.6c3.2 0 5.5-3.4 4.8-6.8zM41.3 9.9c4.1-.2 7.4 3 7.4 7.1 0 .3-.2.4-.4.4h-1.8c-.3 0-.4-.1-.4-.4v.1c0-2.4-1.8-4.4-4.1-4.6-2.6-.2-4.7 1.9-4.7 4.4 0 .3-.2.4-.4.4h-1.8c-.2 0-.4-.2-.4-.4 0-3.6 2.9-6.8 6.6-7z\"},{\"d\":\"M48.7 19.2H34.6c-1 0-1.8.8-1.8 1.8v8.4c0 1 .8 1.8 1.8 1.8h14.1c1 0 1.8-.8 1.8-1.8V21c0-1-.8-1.8-1.8-1.8zm-5 8.7c.1.3-.1.6-.4.6H40c-.3 0-.5-.3-.4-.6l.8-2.6c-.7-.4-1.1-1.2-.9-2.1.2-.8.8-1.5 1.7-1.7 1.4-.3 2.6.7 2.6 2.1 0 .7-.4 1.4-.9 1.7l.8 2.6z\"}]},\nprocess:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M16.2 23.2l8.5-10.6c.6-.8 1.8-.8 2.4 0l8.5 10.7c.3.4.7.7 1.2.7h9.6c.8 0 1.6-.7 1.6-1.5V8c0-2.2-1.9-4-4.1-4H8C5.8 4 4 5.8 4 8v14.5c0 .8.7 1.5 1.5 1.5H15c.5 0 .9-.4 1.2-.8zM35.7 28.8l-8.5 10.6c-.6.8-1.8.8-2.4 0l-8.5-10.7c-.4-.3-.8-.7-1.3-.7H5.5c-.8 0-1.5.7-1.5 1.5V44c0 2.2 1.8 4 4 4h36c2.2 0 4-1.8 4-4V29.5c0-.8-.7-1.5-1.5-1.5h-9.6c-.5 0-.9.4-1.2.8z\"}},\nproduct_quantity_rules:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M21.45 32.64H5.36a1.29 1.29 0 00-1.28 1.29v1.28a1.28 1.28 0 001.28 1.28h16.09a1.28 1.28 0 001.28-1.28v-1.28a1.29 1.29 0 00-1.28-1.29zM21.45 41.66H5.36A1.29 1.29 0 004.08 43v1.32a1.28 1.28 0 001.28 1.28h16.09a1.28 1.28 0 001.28-1.28V43a1.29 1.29 0 00-1.24-1.34zM46.65 32.64H30.57a1.29 1.29 0 00-1.28 1.29v1.28a1.28 1.28 0 001.28 1.28h16.08a1.28 1.28 0 001.29-1.27v-1.29a1.29 1.29 0 00-1.29-1.29zM46.65 41.66H30.57A1.29 1.29 0 0029.29 43v1.32a1.28 1.28 0 001.28 1.28h16.08a1.28 1.28 0 001.29-1.27V43a1.29 1.29 0 00-1.24-1.34zM38.61 6.52a10.17 10.17 0 1010.17 10.17A10.19 10.19 0 0038.61 6.52zm5 10.88a.63.63 0 01-.61.6h-8.79a.6.6 0 01-.64-.55 8.66 8.66 0 010-1.44.66.66 0 01.64-.55H43a.64.64 0 01.63.55 9.22 9.22 0 010 1.39zM20.63 9.45a10.21 10.21 0 100 14.44 10.21 10.21 0 000-14.44zm-.43 8.07a.4.4 0 01-.38.42h-4.71a.45.45 0 00-.43.43V23a.44.44 0 01-.42.42h-1.7a.4.4 0 01-.43-.37v-4.68a.4.4 0 00-.37-.43H7a.4.4 0 01-.43-.37v-1.75a.45.45 0 01.43-.43h4.67a.4.4 0 00.42-.38V10.3a.47.47 0 01.43-.43h1.7a.42.42 0 01.42.42V15a.4.4 0 00.38.42h4.72a.45.45 0 01.42.43z\"}},\nproduct_service_campaign:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M24 35.33a.81.81 0 01.81.71v11.52A2.44 2.44 0 0122.49 50H6.07a2.45 2.45 0 01-2.44-2.28V36.15a.81.81 0 01.71-.81H24zm23.61 0a.82.82 0 01.81.71v11.52A2.44 2.44 0 0146.09 50H29.67a2.44 2.44 0 01-2.43-2.28V36.15a.81.81 0 01.71-.81h19.61zM17.69 38.7l-.09.07-4.6 5.06-2.11-2a.62.62 0 00-.79-.07l-.08.07-.87.78a.49.49 0 00-.07.71l.07.08 3 2.83a1.25 1.25 0 00.87.36 1.15 1.15 0 00.87-.36l5.52-5.84a.63.63 0 00.06-.72l-.06-.07-.87-.78a.61.61 0 00-.85-.12zm23.61 0l-.09.07-4.66 5.06-2.11-2a.61.61 0 00-.78-.07l-.09.07-.87.78a.49.49 0 00-.06.71l.06.08 3 2.83a1.25 1.25 0 00.87.36 1.14 1.14 0 00.87-.36L43 40.34a.65.65 0 000-.72v-.07l-.87-.78a.61.61 0 00-.83-.07zM22.54 27.18a2.36 2.36 0 012.27 2.28v2.61a.81.81 0 01-.66.81H2.76a.78.78 0 01-.76-.7v-2.55a2.38 2.38 0 012.13-2.44h18.41zm25.18 0A2.36 2.36 0 0150 29.46v2.61a.81.81 0 01-.66.81h-21.4a.78.78 0 01-.75-.71v-2.54a2.38 2.38 0 012.13-2.44h18.4zm-12-17a.81.81 0 01.8.71v11.48a2.44 2.44 0 01-2.28 2.44H17.87a2.46 2.46 0 01-2.44-2.29V11a.81.81 0 01.71-.8h19.62zm-6.27 3.37l-.08.07-4.66 5.06-2.11-2a.61.61 0 00-.78-.07l-.09.07-.87.78a.5.5 0 00-.07.71l.07.08 3 2.82a1.22 1.22 0 00.87.37 1.13 1.13 0 00.87-.37l5.53-5.83a.65.65 0 00.05-.72l-.05-.07-.87-.78a.62.62 0 00-.77-.15zM35.76 2a2.44 2.44 0 012.43 2.28v2.61a.83.83 0 01-.71.81H14.62a.81.81 0 01-.81-.7V4.44A2.44 2.44 0 0116.08 2z\"}},\nproduct_service_campaign_item:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M45.2 19.6a1.6 1.6 0 011.59 1.45V43.6a4.82 4.82 0 01-4.59 4.8H10a4.82 4.82 0 01-4.8-4.59V21.2a1.6 1.6 0 011.45-1.59H45.2zm-12.39 6.67l-.11.08-9.16 9.93-4.15-4a1.2 1.2 0 00-1.61-.08l-.1.08L16 33.8a1 1 0 00-.09 1.44l.09.1 5.86 5.55a2.47 2.47 0 001.71.71 2.27 2.27 0 001.71-.71l4.9-5.16.39-.41.52-.55 5-5.3A1.25 1.25 0 0036.2 28l-.07-.09-1.72-1.54a1.19 1.19 0 00-1.6-.1zM45.2 3.6A4.81 4.81 0 0150 8.4v4.8a1.6 1.6 0 01-1.6 1.6H3.6A1.6 1.6 0 012 13.2V8.4a4.81 4.81 0 014.8-4.8z\"}},\nproduct_warranty_term:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M38.77 25.61c1.42 0 2.54 1.54 3.79 2.07s3.19.24 4.13 1.24.71 2.84 1.24 4.14S50 35.42 50 36.84s-1.54 2.54-2.07 3.78-.23 3.19-1.24 4.14-2.83.7-4.13 1.24-2.37 2.06-3.79 2.06S36.23 46.53 35 46s-3.19-.24-4.13-1.24-.71-2.84-1.24-4.14-2.07-2.36-2.07-3.78 1.53-2.54 2.07-3.78.23-3.19 1.24-4.14 2.83-.71 4.13-1.24 2.36-2.07 3.77-2.07zM26.71 41a4.82 4.82 0 01.38.7c.5 1.22.47 2.83.89 4.08H3.39A1.5 1.5 0 012 44.15v-1.59A1.51 1.51 0 013.39 41h23.32zM43 33.18a.55.55 0 00-.81 0l-4.38 5-2-2a.55.55 0 00-.81 0l-.82.77a.52.52 0 000 .77l2.8 2.8a1.13 1.13 0 00.82.35 1.05 1.05 0 00.82-.35l5.19-5.77a.62.62 0 000-.77zM6.65 12.3A1.38 1.38 0 018 13.73V36a1.38 1.38 0 01-1.32 1.43H3.33A1.39 1.39 0 012 36V13.73a1.39 1.39 0 011.33-1.43h3.32zm19 0a1.43 1.43 0 011.43 1.43V32c-.68 1.57-2.63 3-2.63 4.81a2.48 2.48 0 00.06.54h-3.16A1.43 1.43 0 0119.92 36V13.73a1.43 1.43 0 011.43-1.43h4.3zm-9.71 0a1.52 1.52 0 011.59 1.43V36a1.52 1.52 0 01-1.59 1.43h-1.6A1.52 1.52 0 0112.75 36V13.73a1.52 1.52 0 011.59-1.43h1.6zm17.91 0a1.52 1.52 0 011.6 1.43v10.48a7 7 0 01-1.5.94 19.63 19.63 0 01-3.28.69V13.73a1.52 1.52 0 011.59-1.43h1.59zm8.63 0a1.39 1.39 0 011.33 1.43v11.5l-.21-.08c-1.58-.67-3-2.63-4.83-2.63a2.79 2.79 0 00-.94.17v-9a1.39 1.39 0 011.33-1.43h3.32zm-.07-8.36a1.51 1.51 0 011.4 1.59v1.59a1.51 1.51 0 01-1.4 1.59h-39A1.5 1.5 0 012 7.12V5.53a1.5 1.5 0 011.39-1.59h39z\"}},\nproduct_workspace:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M15.2 2.2a1.63 1.63 0 011.7 1.7V5a1.63 1.63 0 01-1.7 1.7h-5.1a3.4 3.4 0 00-3.4 3.2v32a3.4 3.4 0 003.2 3.4h32a3.4 3.4 0 003.4-3.2v-5.3a1.63 1.63 0 011.7-1.7h1.1a1.63 1.63 0 011.7 1.7V43a6.81 6.81 0 01-6.8 6.8H9A6.81 6.81 0 012.2 43V9A6.81 6.81 0 019 2.2z\",\"fill-rule\":\"evenodd\"},{\"d\":\"M40.4 25.4l3.1-3.1a1 1 0 000-1.5L31 8.2a1 1 0 00-1.5 0l-3.1 3.1a1 1 0 000 1.5l12.5 12.5a1 1 0 001.5.1zM47.4 18.3l1.5-1.5a1 1 0 000-1.5L36.5 2.7a1 1 0 00-1.5 0l-1.5 1.5a1 1 0 000 1.5L46 18.3a1 1 0 001.4 0zM36.8 28.9c.6-.6.5-1.1.1-1.5L24.4 14.9a1 1 0 00-1.5 0l-.1.1a1 1 0 000 1.5L35.3 29a1 1 0 001.5-.1zM32.4 33.3l.7-.7a1 1 0 000-1.5L20.7 18.5a1 1 0 00-1.5 0l-.7.7a1 1 0 000 1.5L31 33.2c.3.6.9.6 1.4.1zM25.7 40.1l3.1-3.1a1 1 0 000-1.5L16.3 22.9a1 1 0 00-1.5 0L11.7 26a1 1 0 000 1.5L24.2 40a1 1 0 001.5.1z\"}]},\nproducts:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M31.9 39.5h6a1.42 1.42 0 001.5-1.5V14a1.42 1.42 0 00-1.5-1.5h-6a1.42 1.42 0 00-1.5 1.5v24a1.42 1.42 0 001.5 1.5zM45.4 39.5h3a1.42 1.42 0 001.5-1.5V14a1.42 1.42 0 00-1.5-1.5h-3a1.42 1.42 0 00-1.5 1.5v24a1.42 1.42 0 001.5 1.5zM25 39.5a1.37 1.37 0 001.5-1.5V14a1.42 1.42 0 00-1.5-1.5 1.42 1.42 0 00-1.5 1.5v24a1.37 1.37 0 001.5 1.5zM16.6 39.5H18a1.42 1.42 0 001.5-1.5V14a1.42 1.42 0 00-1.5-1.5h-1.5A1.42 1.42 0 0015 14v24a1.45 1.45 0 001.6 1.5zM3.6 39.5h6a1.42 1.42 0 001.5-1.5V14a1.42 1.42 0 00-1.5-1.5h-6A1.42 1.42 0 002.1 14v24a1.47 1.47 0 001.5 1.5z\"}}},\nprofile:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"circle\":{\"cx\":\"26\",\"cy\":\"20.7\",\"r\":\"6.15\"},\"path\":{\"d\":\"M27.14 2.72a1.89 1.89 0 00-2.28 0c-8.42 6.34-16.37 12.33-16.37 24A16.92 16.92 0 0013.19 39c.24.24.48.47.74.7a17.9 17.9 0 0010.53 4.19L22.74 47s-2 2.68 2.69 2.68h1.14c4.72 0 2.68-2.68 2.68-2.68l-1.71-3.06a17.9 17.9 0 0010.53-4.19c3.56-3.13 5.44-7.64 5.44-13 0-11.7-7.95-17.69-16.37-24.03zm10.1 32.37a9.74 9.74 0 01-1 1.13A10.77 10.77 0 0016 35.67 10.17 10.17 0 0114.53 34a15 15 0 01-1.94-10.84c1.24-6.62 6.07-11 13.41-16.56 8.57 6.52 13.73 11.4 13.73 20.08a13.73 13.73 0 01-2.49 8.41z\"}},\npromotions:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M33.39 28.66a3.12 3.12 0 103.15 3.13 3.12 3.12 0 00-3.15-3.13zM18.52 17.08a3.12 3.12 0 103.12 3.13 3.12 3.12 0 00-3.12-3.13z\"},{\"d\":\"M48.77 22.84l-2.61-3.13a5.61 5.61 0 01-1.31-3.24l-.3-4a5.13 5.13 0 00-4.69-4.78l-3.49-.28a7.36 7.36 0 01-4.2-1.79l-2.65-2.33a5.15 5.15 0 00-6.7-.06l-2.88 2.43a6.64 6.64 0 01-3.79 1.54l-3.74.26a5.14 5.14 0 00-4.78 4.7l-.27 3.41a7.49 7.49 0 01-1.8 4.24l-2.29 2.64a5.14 5.14 0 00-.06 6.69l2.49 3a6.21 6.21 0 011.42 3.56l.28 3.85a5.15 5.15 0 004.69 4.78l3.5.31a7.23 7.23 0 014.18 1.78l2.66 2.3a5.17 5.17 0 006.7.05l3.05-2.55a5.9 5.9 0 013.4-1.36l4-.29a5.13 5.13 0 004.78-4.69l.29-3.24a8.18 8.18 0 012-4.64l2.13-2.43a5.12 5.12 0 00-.01-6.73zm-36-2.63A5.8 5.8 0 1118.58 26a5.79 5.79 0 01-5.82-5.76zm8.39 17.11a.46.46 0 01-.35.23h-1.73a.45.45 0 01-.37-.22.42.42 0 010-.43l12.12-22.25a.51.51 0 01.36-.22H33a.43.43 0 01.21.58zm18.13-5.54a4.51 4.51 0 10-.08 0z\"}]},\nprompt:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",\"d\":\"M47 4.5H5c-1.7 0-3 1.3-3 3v30.6c0 1.7 1.3 3 3 3h14.5l3.6 5.2c1 1.4 2.8 1.7 4.2.7l.6-.6 4.2-5.3H47c1.7 0 3-1.3 3-3V7.5c0-1.7-1.3-3-3-3z\"}},\nprompt_edit:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",\"d\":\"M47 4.5H5c-1.7 0-3 1.3-3 3v30.6c0 1.7 1.3 3 3 3h14.5l3.6 5.2c1 1.4 2.8 1.7 4.2.7l.6-.6 4.2-5.3H47c1.7 0 3-1.3 3-3V7.5c0-1.7-1.3-3-3-3zM21.3 32c-.2.2-.3.3-.5.3l-5 1.2c-.5.1-.9-.3-.8-.8l1.2-5c0-.1.1-.3.2-.4l.1-.1c.1-.1.4-.1.6 0l4.2 4.2c.1.2.1.5 0 .6zm12.1-12.3L23.1 30c-.2.2-.5.2-.6 0l-4.1-4.1c-.2-.1-.2-.4 0-.6L28.6 15c.2-.2.5-.2.6 0l4.1 4.1c.2.2.2.4.1.6zm3.1-3l-1.2 1.2c-.2.2-.5.2-.6 0l-4.1-4.1c-.2-.2-.2-.5 0-.6l1.1-1.2c.7-.7 1.9-.7 2.6 0l2.2 2.2c.7.7.7 1.8 0 2.5z\"}},\npropagation_policy:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M13.6 2H8a6 6 0 00-6 6v4a6 6 0 006 6h5.6a6 6 0 006-6V8a6 6 0 00-6-6zm-2 11.2H10a3.2 3.2 0 010-6.4h1.6a3.2 3.2 0 010 6.4zM30.4 18H36a6 6 0 006-6V8a6 6 0 00-6-6h-5.6a6 6 0 00-6 6v4a6 6 0 006 6zm2-11.2H34a3.2 3.2 0 110 6.4h-1.6a3.2 3.2 0 110-6.4zM13.6 22.8H8a6 6 0 00-6 6v4a6 6 0 006 6h5.6a6 6 0 006-6v-4a6 6 0 00-6-6zm-2 11.2H10a3.2 3.2 0 110-6.4h1.6a3.2 3.2 0 110 6.4zM47.6 39.6h-8v-2.82a7.2 7.2 0 10-4.8 0v2.82h-8a2.39 2.39 0 00-2.4 2.4v5.62A2.39 2.39 0 0026.8 50a2.39 2.39 0 002.38-2.4v-3.2h5.6v3.22A2.39 2.39 0 0037.2 50a2.39 2.39 0 002.38-2.4v-3.2h5.6v3.22A2.39 2.39 0 0047.6 50a2.39 2.39 0 002.4-2.4V42a2.39 2.39 0 00-2.4-2.4zm-10.4-12a2.4 2.4 0 11-2.4 2.4 2.39 2.39 0 012.42-2.4z\",\"fill-rule\":\"evenodd\"}},\npush:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M44 2H20c-2.2 0-4 1.8-4 4v.1c0 .7.4 1.4 1 1.8.3.2 4.1 4 4.1 4 .3.3.8 0 .8-.4 0-.8.7-1.6 1.5-1.6h17c.8 0 1.6.8 1.6 1.6v27c0 .8-.8 1.4-1.6 1.4h-17c-.8 0-1.4-.6-1.4-1.4v-.1c0-.4-.5-.6-.8-.3 0 0-3.8 3.8-4.2 4-.6.4-1 1-1 1.8v2c0 2.2 1.7 4 3.9 4h24c2.2 0 4.1-1.8 4.1-4V6c0-2.2-1.8-4-4-4zM32 48c-1.7 0-3-1.3-3-3s1.3-3 3-3 3 1.3 3 3-1.3 3-3 3z\"},{\"d\":\"M27.6 23.9L15.1 11.4c-.6-.6-1.5-.6-2.1 0l-2.1 2.1c-.6.6-.6 1.5 0 2.1l4.6 4.6c.6.6.2 1.7-.7 1.7H1.5c-.8.1-1.5.8-1.5 1.6v3c0 .8.7 1.5 1.5 1.5h13.2c.9 0 1.3 1.1.7 1.7l-4.6 4.6c-.6.6-.6 1.5 0 2.1l2.1 2.1c.6.6 1.5.6 2.1 0L27.6 26c.5-.5.5-1.5 0-2.1z\"}]}},\npuzzle:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M45 38.4c-.2 2.7-.5 5.6-1 8.4-.1.8-1 1.7-1.8 1.8-5.4.6-10.7 1-16.1 1-5.3 0-10.7-.3-16-1-.8-.1-1.7-.9-1.8-1.8-.7-4.4-1.1-8.9-1.1-13.4s.4-9 1.1-13.4c.1-.8 1-1.6 1.8-1.8 3.3-.4 6.5-.6 9.7-.8 0 0 2.6-.1 2.4-2.6-.2-2.2-4-3.7-4-7.4 0-3 3-5.4 7.9-5.4 4.8 0 7.8 2.4 7.8 5.4 0 3.8-3.7 5.2-3.9 7.4-.2 2.4 2.4 2.6 2.4 2.6 3.3.1 6.6.4 9.8.8.8.1 1.7.9 1.8 1.8.5 3.1.8 6 1 9.1 0 .9-.7 1.8-1.6 1.8h-.9c-.9 0-2.3-.7-2.9-1.4 0 0-2.1-2.2-4.4-2.3-3.7-.1-6.5 3.1-6.5 6.6s2.8 6.8 6.4 6.7c2.2-.1 4.4-2.3 4.4-2.3.7-.6 2-1.2 2.9-1.2h.9c1.1 0 1.8.6 1.7 1.4z\"}},\nquestion:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M28.4 38h-5c-.8 0-1.4-.6-1.4-1.4v-1.5c0-4.2 2.7-8 6.7-9.4 1.2-.4 2.3-1.1 3.2-2.1 5-6 .4-13.2-5.6-13.4-2.2-.1-4.3.7-5.9 2.2-1.3 1.2-2.1 2.7-2.3 4.4-.1.6-.7 1.1-1.5 1.1h-5c-.9 0-1.6-.7-1.5-1.6.4-3.8 2.1-7.2 4.8-9.9 3.2-3 7.3-4.6 11.7-4.5C34.9 2.2 41.7 9 42 17.3c.3 7-4 13.3-10.5 15.7-.9.4-1.5 1.1-1.5 2v1.5c0 .9-.8 1.5-1.6 1.5zM30 48.5c0 .8-.7 1.5-1.5 1.5h-5c-.8 0-1.5-.7-1.5-1.5v-5c0-.8.7-1.5 1.5-1.5h5c.8 0 1.5.7 1.5 1.5v5z\"}},\nquestion_mark:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M26.7 42.8c.8 0 1.5.7 1.5 1.5v3.2c0 .8-.7 1.5-1.5 1.5h-3.2c-.8 0-1.5-.7-1.5-1.5v-3.2c0-.8.7-1.5 1.5-1.5h3.2zM28.2 35.1c0-2.1 1.3-4 3.1-4.8h.1c5.2-2.1 8.8-7.2 8.8-13.2 0-7.8-6.4-14.2-14.2-14.2-7.2 0-13.2 5.3-14.2 12.2v.1c-.1.9.6 1.6 1.5 1.6h3.2c.8 0 1.4-.5 1.5-1.1v-.2c.7-3.7 4-6.5 7.9-6.5 4.5 0 8.1 3.6 8.1 8.1 0 2.1-.8 4-2.1 5.5l-.1.1c-.9 1-2.1 1.6-3.3 2-4 1.4-6.7 5.2-6.7 9.4v1.5c0 .8.6 1.4 1.4 1.4h3.2c.8 0 1.6-.6 1.6-1.5l.2-.4z\"}}},\nquestions_and_answers:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M50 28c0-3.9-2.5-7.3-6-8.5C43.7 9.8 35.8 2 26 2S8.3 9.8 8 19.5c-3.5 1.2-6 4.6-6 8.5 0 4.2 2.9 7.7 6.7 8.7C10.9 44.4 17.8 50 26 50s15.1-5.6 17.3-13.3c3.8-1 6.7-4.5 6.7-8.7zm-10-9l-.1-.1.4.1H40zM26 46c-7.7 0-14-6.5-14-14.4 0-2 .4-5 1.2-6.8.1-.3.3-.6.4-.9 3-1.2 5.6-3.3 7.3-6 3.5 4.4 9 7.4 15.1 7.4 2.1 0 2.7.1 2.9 0 .4 1.3.8 2.9.9 4.5-.6 2.5-4.5 4.9-10 5.2-.2-.5-.8-1-1.4-1h-5c-.8 0-1.4.8-1.4 1.6v3c0 .8.6 1.4 1.4 1.4h5c.7 0 1.2-.3 1.4-.9 3.6-.1 6.8-1.1 9.3-2.6C37.2 42 32.1 46 26 46z\"}},\nquick_text:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M26.1 3.3C12.5 3.3 1.5 13.4 1.5 25.8c0 3.9 1.1 7.6 3 10.9.3.5.4 1.1.2 1.7l-3.2 8.7c-.3.8.5 1.5 1.3 1.3l8.8-3.4c.5-.2 1.1-.1 1.7.2 3.7 2.1 8.1 3.3 12.9 3.3 13.5-.1 24.5-10.1 24.5-22.6 0-12.5-11-22.6-24.6-22.6zM14.7 25c0-.5.4-1 1-1h15.9c.5 0 1 .4 1 1v2c0 .5-.4 1-1 1h-16c-.5 0-1-.4-1-1v-2zm22.9 9.6c0 .5-.4 1-1 1h-21c-.5 0-1-.4-1-1v-1.9c0-.5.4-1 1-1h21c.5 0 1 .4 1 1v1.9zm0-15.3c0 .5-.4 1-1 1h-21c-.5 0-1-.4-1-1v-1.9c0-.5.4-1 1-1h21c.5 0 1 .4 1 1v1.9z\"}},\nquip:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M24.5 2.1c-12 .7-21.7 10.4-22.4 22.4C1.1 38.3 12.2 50 26 50h24V26C50 12.2 38.3 1.1 24.5 2.1zm-9.9 13.4c0-.9.7-1.6 1.6-1.6h19.6c.9 0 1.6.7 1.6 1.6v1.6c0 .9-.7 1.6-1.6 1.6H16.1c-.9 0-1.6-.7-1.6-1.6.1.1.1-1.6.1-1.6zm22.8 20.8c0 .9-.7 1.6-1.6 1.6H16.1c-.9 0-1.6-.7-1.6-1.6v-1.6c0-.9.7-1.6 1.6-1.6h19.6c.9 0 1.6.7 1.6 1.6v1.6h.1zm6-9.5c0 .9-.7 1.6-1.6 1.6H10.1c-.9 0-1.6-.7-1.6-1.6v-1.6c0-.9.7-1.6 1.6-1.6h31.7c.9 0 1.6.7 1.6 1.6v1.6z\"}},\nquotation_marks:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M44.3 6.5c-9 0-15.9 7-15.9 16V44c0 .8.7 1.5 1.5 1.5h17c.8 0 1.5-.7 1.5-1.5V27c0-.8-.7-1.5-1.5-1.5H34.4v-3c0-5 4.9-10 9.9-10h2.6c.8 0 1.5-.7 1.5-1.5V8c0-.8-.7-1.5-1.5-1.5h-2.6zM19.5 6.5c-9 0-15.9 7-15.9 16V44c0 .8.7 1.5 1.5 1.5h17c.8 0 1.5-.7 1.5-1.5V27c0-.8-.7-1.5-1.5-1.5H9.6v-3c0-5 4.9-10 9.9-10h2.6c.8 0 1.5-.7 1.5-1.5V8c0-.8-.7-1.5-1.5-1.5h-2.6z\"}}},\nquote:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M45.2 2.1H27.7c-1.1-.1-2.1.5-2.9 1.3L3.4 24.9c-1.8 1.8-1.8 4.9 0 6.8l17 17c1.8 1.8 4.9 1.8 6.8 0l21.7-21.8c.8-.8 1.3-2.1 1.2-3.2V6.9c-.1-2.6-2.3-4.8-4.9-4.8zM27.9 37.3l-1.1 1.1c-.6.6-1.6.6-2.2 0L13.7 27.6c-.6-.6-.6-1.6 0-2.2l1.1-1.1c.6-.6 1.6-.6 2.2 0l10.9 10.9c.7.5.7 1.5 0 2.1zm6.4-6.4L33.2 32c-.6.6-1.6.6-2.2 0L20.1 21.2c-.6-.6-.6-1.6 0-2.2l1.1-1.1c.6-.6 1.6-.6 2.2 0l10.9 10.9c.7.5.7 1.5 0 2.1zm4.5-13.6c-2.2 0-4-1.8-4-4s1.8-4 4-4 4 1.8 4 4-1.8 4-4 4z\"}},\nradio_button:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M13.1 28.5C7.2 28.5 2.5 33.2 2.5 39s4.7 10.6 10.6 10.6c5.8 0 10.6-4.7 10.6-10.6-.1-5.8-4.8-10.5-10.6-10.5zm0 16.4c-3.2 0-5.9-2.6-5.9-5.9s2.6-5.9 5.9-5.9S19 35.7 19 39s-2.7 5.9-5.9 5.9zM38.9 28.5c-5.8 0-10.6 4.7-10.6 10.6 0 5.8 4.7 10.6 10.6 10.6 5.8 0 10.6-4.7 10.6-10.6 0-5.9-4.7-10.6-10.6-10.6zM13.1 2.5C7.2 2.5 2.5 7.2 2.5 13.1c0 5.8 4.7 10.6 10.6 10.6 5.8 0 10.6-4.7 10.6-10.6-.1-5.9-4.8-10.6-10.6-10.6zm0 16.4c-3.2 0-5.9-2.6-5.9-5.9s2.6-5.9 5.9-5.9S19 9.7 19 13s-2.7 5.9-5.9 5.9zM38.9 2.5c-5.8 0-10.6 4.7-10.6 10.6 0 5.8 4.7 10.6 10.6 10.6 5.8 0 10.6-4.7 10.6-10.6 0-5.9-4.7-10.6-10.6-10.6z\"}},\nrating:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M27.413 3.101l4.6 15c.2.6.8.9 1.4.9h15c1.5 0 2.1 2 .9 2.9l-12.2 9c-.5.4-.7 1.1-.5 1.7l5.8 15.4c.4 1.4-1.1 2.6-2.3 1.7l-13.1-9.8c-.5-.4-1.2-.4-1.8 0l-13.2 9.8c-1.2.9-2.8-.3-2.3-1.7l5.6-15.4c.2-.6 0-1.3-.5-1.7l-12.2-9c-1.2-.9-.5-2.9.9-2.9h15c.7 0 1.2-.2 1.4-.9l4.7-15.1c.4-1.4 2.4-1.3 2.8.1zm-1.4 9.701C26 14.17 26 33.542 26 34.495c.187.153 2.933 2.194 8.24 6.125.7.525 1.574-.175 1.34-.992L32.31 31.02c-.35-.77 0-1.271.43-1.535l6.866-4.789c.7-.525.35-1.691-.525-1.691h-8.06c-.35 0-1.268-.117-1.517-1.016l-2.67-8.545a.89.89 0 00-.82-.642z\"}},\nreassign:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M23.2 10.2C18.1 5.1 10 3.5 2.9 5.7c-.3 0-.7.5-.7 1.3v3.9c0 .8.7 1 1.1.9 5.4-2.2 12-1.2 16.3 3.3l1.1 1.1c.6.6.1 1.7-.7 1.7h-7.8c-.8 0-1.5.6-1.5 1.5v3c0 .8.6 1.5 1.5 1.5l19.2.2c.8 0 1.5-.6 1.5-1.5L33 3.5c0-.8-.6-1.5-1.5-1.5h-3c-.8 0-1.6.6-1.6 1.4l-.1 7.9c0 .8-1.1 1.3-1.7.7.1.1-1.9-1.8-1.9-1.8z\"},{\"d\":\"M3.5 27.8h3c.8 0 1.5.7 1.5 1.5v13.2c0 .8.7 1.5 1.5 1.5h33c.8 0 1.5-.7 1.5-1.5V16.9c0-.8-.7-1.5-1.5-1.5h-4c-.8 0-1.5-.7-1.5-1.5v-3c0-.8.7-1.5 1.5-1.5H46c2.2 0 4 1.8 4 4V46c0 2.2-1.8 4-4 4H6c-2.2 0-4-1.8-4-4V29.3c0-.8.7-1.5 1.5-1.5z\"}]},\nrecipe:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M31.2 4.24A2.24 2.24 0 1129 2a2.24 2.24 0 012.2 2.24zM23 12.56a3 3 0 10-3-3 3 3 0 003 3zm19.44 31l-10-15.36V20a2.14 2.14 0 002.4-2.24A2 2 0 0033 15.6H19.2a2 2 0 00-2 2 2.09 2.09 0 000 .25 2.16 2.16 0 002.4 2.24v8.31l-10 15.2a4.26 4.26 0 00-.24 4.24A3.91 3.91 0 0012.88 50H39a3.9 3.9 0 003.52-2.16 4 4 0 00-.16-4.24zm-18.8-14V20.4h4.8v9.28l4.72 7.52H18.88z\",\"fill-rule\":\"evenodd\"}},\nrecord:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M26 8c9.9 0 18 8.1 18 18s-8.1 18-18 18S8 35.9 8 26 16.1 8 26 8z\"}},\nrecord_create:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M40.8 7.7\"},\"g\":{\"path\":[{\"d\":\"M17.2 11.6h17.6c.9 0 1.6-.7 1.6-1.6V6.8c0-2.6-2.2-4.8-4.8-4.8H20.4c-2.6 0-4.8 2.2-4.8 4.8V10c0 .9.7 1.6 1.6 1.6z\"},{\"d\":\"M43.6 6H42c-.5 0-.8.3-.8.8V10c0 3.5-2.9 6.4-6.4 6.4H17.2c-3.5 0-6.4-2.9-6.4-6.4V6.8c0-.5-.3-.8-.8-.8H8.4c-2.6 0-4.8 2.2-4.8 4.8v34.4c0 2.6 2.2 4.8 4.8 4.8h35.2c2.6 0 4.8-2.2 4.8-4.8V10.8c0-2.6-2.2-4.8-4.8-4.8zm-5.9 28.2c0 .4-.4.8-.8.8h-8.8c-.3 0-.5.2-.5.5v8.8c0 .4-.4.8-.8.8h-1.6c-.4 0-.8-.4-.8-.8v-8.8c0-.3-.2-.5-.5-.5h-8.8c-.4 0-.8-.4-.8-.8v-1.6c0-.4.4-.8.8-.8h8.8c.3 0 .5-.2.5-.5v-8.8c0-.4.4-.8.8-.8h1.6c.4 0 .8.4.8.8v8.8c0 .3.2.5.5.5h8.8c.4 0 .8.4.8.8v1.6z\"}]}},\nrecord_delete:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M17.2 11.6h17.6c.9 0 1.6-.7 1.6-1.6V6.8c0-2.6-2.2-4.8-4.8-4.8H20.4c-2.6 0-4.8 2.2-4.8 4.8V10c0 .9.7 1.6 1.6 1.6z\"},{\"d\":\"M43.6 6H42c-.5 0-.8.3-.8.8V10c0 3.5-2.9 6.4-6.4 6.4H17.2c-3.5 0-6.4-2.9-6.4-6.4V6.8c0-.5-.3-.8-.8-.8H8.4c-2.6 0-4.8 2.2-4.8 4.8v34.4c0 2.6 2.2 4.8 4.8 4.8h35.2c2.6 0 4.8-2.2 4.8-4.8V10.8c0-2.6-2.2-4.8-4.8-4.8zm-9.3 36.4c0 1.4-1.1 2.4-2.4 2.4H20.1c-1.4 0-2.4-1.1-2.4-2.4V32.1c0-.4.3-.7.7-.7h15.2c.4 0 .7.3.7.7v10.3zm2-14.9c0 .4-.3.7-.7.7H16.5c-.4 0-.7-.3-.7-.7V26c0-.4.3-.7.7-.7h6.1v-2c0-1.1.9-2 2-2h2.9c1.1 0 2 .9 2 2v2h6.1c.4 0 .7.3.7.7v1.5z\"},{\"d\":\"M24 34.8h-1c-.3 0-.5.2-.5.5V41c0 .3.2.5.5.5h1c.3 0 .5-.2.5-.5v-5.7c0-.3-.2-.5-.5-.5zM28.9 34.8h-1c-.3 0-.5.2-.5.5V41c0 .3.2.5.5.5h1c.3 0 .5-.2.5-.5v-5.7c0-.3-.2-.5-.5-.5zM27 23.4h-2c-.3 0-.5.2-.5.5v1.5h2.9v-1.5c.1-.3-.1-.5-.4-.5z\"}]}},\nrecord_lookup:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M17.2 11.6h17.6c.9 0 1.6-.7 1.6-1.6V6.8c0-2.6-2.2-4.8-4.8-4.8H20.4c-2.6 0-4.8 2.2-4.8 4.8V10c0 .9.7 1.6 1.6 1.6z\"},{\"d\":\"M43.6 6H42c-.5 0-.8.3-.8.8V10c0 3.5-2.9 6.4-6.4 6.4H17.2c-3.5 0-6.4-2.9-6.4-6.4V6.8c0-.5-.3-.8-.8-.8H8.4c-2.6 0-4.8 2.2-4.8 4.8v34.4c0 2.6 2.2 4.8 4.8 4.8h35.2c2.6 0 4.8-2.2 4.8-4.8V10.8c0-2.6-2.2-4.8-4.8-4.8zm-6.1 38.1l-1 1c-.3.3-.7.3-1 0L29 38.6c-1.9 1.3-4.2 2-6.7 1.6-4.2-.6-7.5-4.1-7.9-8.3-.6-5.8 4.3-10.7 10.1-10.1 4.3.4 7.7 3.7 8.3 7.9.4 2.5-.3 4.9-1.6 6.7l6.5 6.5c.1.4.1.8-.2 1.2z\"},{\"d\":\"M23.5 24.8c-3.5 0-6.3 2.9-6.3 6.3 0 3.5 2.8 6.3 6.3 6.3s6.3-2.8 6.3-6.3-2.8-6.3-6.3-6.3z\"}]}},\nrecord_update:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M40.8 7.7\"},\"g\":{\"path\":[{\"d\":\"M17.2 11.6h17.6c.9 0 1.6-.7 1.6-1.6V6.8c0-2.6-2.2-4.8-4.8-4.8H20.4c-2.6 0-4.8 2.2-4.8 4.8V10c0 .9.7 1.6 1.6 1.6z\"},{\"d\":\"M43.6 6H42c-.5 0-.8.3-.8.8V10c0 3.5-2.9 6.4-6.4 6.4H17.2c-3.5 0-6.4-2.9-6.4-6.4V6.8c0-.5-.3-.8-.8-.8H8.4c-2.6 0-4.8 2.2-4.8 4.8v34.4c0 2.6 2.2 4.8 4.8 4.8h35.2c2.6 0 4.8-2.2 4.8-4.8V10.8c0-2.6-2.2-4.8-4.8-4.8zM34 30.4L21.2 43.2l-5.6 1.6c-.5.1-1-.4-.9-.9l1.6-5.5 12.8-12.8c.2-.2.5-.2.7 0l4.1 4.2c.3.1.3.4.1.6zm3.7-3.7l-1.6 1.6c-.2.2-.5.2-.7 0l-4.2-4.2c-.2-.2-.2-.5 0-.7l1.6-1.6c.7-.8 2-.8 2.7 0l2.1 2.1c.9.8.9 2 .1 2.8z\"}]}},\nrecurring_exception:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M39 35L27.8 23.9l-.8-.8-9.9-9.9-4.4-4.4L7.9 4c-.7-.8-1.8-.9-2.4-.3L3.4 5.8c-.5.5-.5 1.3-.1 2l40.5 40.6.1.1c.7.7 1.8.8 2.4.3l2.1-2.1c.6-.6.5-1.7-.3-2.4l-4.7-4.7L39 35zM24.9 11c4 0 7.8 1.6 10.6 4.4.5.4.9.9 1.2 1.4.3.8-.4 1.2-1.3 1.2h-7.3l6 6h12.6c.7 0 1.3-.6 1.3-1.3V4.5c-.2-.8-.9-1.5-1.7-1.5h-3c-.8 0-1.5.7-1.5 1.5v7c0 .9-.5 1.3-1.2.7-.3-.4-.6-.7-1-1-5-5-12-7.1-19.2-5.7-1.3.3-2.5.6-3.7 1.2l4.8 4.8c1-.4 2.2-.5 3.4-.5zM26.9 41.4c-4 0-7.8-1.6-10.6-4.4-.5-.4-.9-.9-1.2-1.4-.3-.8.4-1.2 1.3-1.2h7c.1 0 .2 0 .4-.1l-5.9-5.9H5.2c-.7 0-1.3.6-1.3 1.3v18.2c.1.8.8 1.5 1.6 1.5h3c.8 0 1.5-.7 1.5-1.5v-7c0-.9.5-1.3 1.2-.7.3.4.6.7 1 1 5 5 12 7.1 19.2 5.7 1.3-.3 2.5-.6 3.7-1.2l-4.8-4.8c-1.1.3-2.2.5-3.4.5z\"}},\nrecycle_bin_empty:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M45.5 10H32.9V6c0-2.2-1.8-4-4-4h-6c-2.2 0-4 1.8-4 4v4H6.4c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h39c.8 0 1.5-.7 1.5-1.5v-3c0-.8-.6-1.5-1.4-1.5zm-16.7 0h-5.9V7c0-.6.4-1 1-1h4c.6 0 1 .4 1 1v3zM41.5 20h-31c-.8 0-1.5.7-1.5 1.5V45c0 2.8 2.2 5 5 5h24c2.8 0 5-2.2 5-5V21.5c-.1-.8-.7-1.5-1.5-1.5zM23.2 44.9l-5 .1c-.2 0-2.1 0-3.4-2-1.4-2.2-.3-4 1.2-6.6l-1.4-1c-.2-.1-.2-.2-.2-.4s.1-.2.3-.3l3.9-1 .3-.1c.2 0 .3 0 .5.3l.1.3.9 4c0 .2 0 .3-.2.4-.2.1-.3.1-.5 0l-1.3-.8c-1.4 2.3-1.6 3-1.2 3.6.4.6 1 .7 1 .7l5-.1c.5 0 1 .2 1.2.6.2.2.2.5.2.7.1.9-.6 1.6-1.4 1.6zm3.6-14.6c0-.2.1-.3.2-.4l1.4-.6c-1.2-2.4-1.7-3-2.4-3-.8 0-1 .4-1.1.5L22.3 31c-.2.4-.7.6-1.2.6-.2 0-.5-.1-.7-.2-.6-.4-.9-1.3-.4-1.9l2.6-4.2c.1-.2 1.1-1.8 3.4-1.8 2.6 0 3.5 1.9 5 4.6l1.6-.7c.2-.1.3 0 .4.1.1.1.2.2.1.4L31.7 32c0 .1-.1.2-.2.2-.2.1-.3 0-.3 0l-4.1-1.5c-.2-.1-.3-.2-.3-.4zm10.5 12.3c-1.2 2.2-3.4 2.2-6.4 2.2l-.1 1.8c0 .2-.1.3-.2.3s-.2.1-.4-.1l-3-3.1c-.2-.2 0-.5 0-.5l.2-.2 3.2-2.8c.2-.1.2-.2.4-.1s.2.2.2.4V42c2.6 0 3.4-.1 3.8-.7.3-.6.2-1.1.1-1.2l-2.5-4.3c-.2-.4-.2-1 0-1.4.2-.2.3-.4.6-.6.6-.4 1.5-.2 1.9.6l2.5 4.3c0 .2.8 1.8-.3 3.9z\"}}},\nrecycle_bin_full:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M44.2 7.1L32.2 9l-.6-3.8c-.3-2.1-2.3-3.5-4.4-3.2l-5.8 1c-2.1.3-3.5 2.3-3.2 4.4l.6 3.8L7 13.1c-.8.1-1.3.9-1.2 1.7l.5 2.8c.1.8.9 1.3 1.7 1.2l37.1-6c.8-.1 1.3-.9 1.2-1.7l-.5-2.8c-.1-.7-.9-1.3-1.6-1.2zM28.3 9.7l-5.6.9-.5-2.8c-.1-.5.2-1 .8-1.1l3.8-.6c.5-.1 1 .2 1.1.8l.4 2.8zM41.4 21h-30c-.8 0-1.5.7-1.5 1.5v22.7c0 2.7 2.1 4.8 4.8 4.8h23.2c2.7 0 4.8-2.1 4.8-4.8V22.5c.1-.8-.5-1.5-1.3-1.5zM23.8 45.1l-4.9.1c-.2 0-2 0-3.2-1.9-1.3-2.1-.3-3.9 1.2-6.4l-1.4-.9c-.2-.1-.2-.2-.2-.4s.1-.2.3-.3l3.8-.9.3-.1c.2 0 .3 0 .5.3l.1.3.8 3.9c0 .2 0 .3-.2.4-.2.1-.3.1-.5 0l-1.2-.8c-1.3 2.2-1.5 2.9-1.2 3.5.4.6.9.7.9.7l4.8-.1c.5 0 .9.2 1.2.6.2.2.2.5.2.7.1.6-.5 1.3-1.3 1.3zM27.3 31c0-.2.1-.3.2-.4l1.3-.6c-1.2-2.3-1.6-2.9-2.3-2.9-.8 0-1 .4-1.1.5l-2.5 4.1c-.2.4-.7.6-1.2.6-.2 0-.5-.1-.7-.2-.6-.4-.8-1.2-.4-1.9l2.5-4.1c.1-.2 1.1-1.7 3.3-1.7 2.5 0 3.4 1.9 4.8 4.5l1.5-.7c.2-.1.3 0 .4.1.1.1.2.2.1.4L32 32.6c0 .1-.1.2-.2.2h-.3l-3.9-1.5c-.3 0-.3-.1-.3-.3zm10.1 11.8c-1.2 2.2-3.2 2.2-6.2 2.1l-.1 1.7c0 .2-.1.3-.2.3s-.2.1-.4-.1l-2.9-3c-.2-.2 0-.5 0-.5l.2-.2 3.1-2.7c.2-.1.2-.2.4-.1s.2.2.2.4l-.1 1.5c2.5 0 3.3-.1 3.6-.7s.2-1.1.1-1.2l-2.4-4.2c-.2-.4-.2-.9 0-1.3.2-.2.3-.4.5-.5.6-.4 1.5-.2 1.9.5l2.4 4.2c.1.3 1 1.8-.1 3.8zM21.4 18.9L38.9 16l.1 2.9z\"}},\nredo:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M35.5 12.5h.7c1 0 1-.7.4-1.3l-4.9-4.9c-.6-.5-.6-1.5 0-2.1l2.1-2.1c.5-.6 1.5-.6 2.1 0L48.8 15c.5.5.5 1.3 0 1.8l-13 13c-.6.5-1.3.5-1.9-.1l-2.2-2.2c-.6-.6-.7-1.5-.1-2.1l4.9-4.9c.7-.7.9-1.3.1-1.7-.3-.1-1.1-.1-1.1-.1H21.6c-7.1 0-12.8 5.7-12.8 12.8s5.7 12.8 12.8 12.8h8.1c.8 0 1.4.7 1.4 1.5V49c0 .8-.5 1.4-1.3 1.4h-8.2C11.2 50.4 2.7 42 2.7 31.5s8.5-18.9 18.9-18.9l13.9-.1z\"}},\nrefresh:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M46.5 4h-3c-.8 0-1.5.7-1.5 1.5v7c0 .9-.5 1.3-1.2.7-.3-.4-.6-.7-1-1-5-5-12-7.1-19.2-5.7-2.5.5-4.9 1.5-7 2.9-6.1 4-9.6 10.5-9.7 17.5-.1 5.4 2 10.8 5.8 14.7 4 4.2 9.4 6.5 15.2 6.5 5.1 0 9.9-1.8 13.7-5 .7-.6.7-1.6.1-2.2l-2.1-2.1c-.5-.5-1.4-.6-2-.1-3.6 3-8.5 4.2-13.4 3-1.3-.3-2.6-.9-3.8-1.6C11.7 36.6 9 30 10.6 23.4c.3-1.3.9-2.6 1.6-3.8C15 14.7 19.9 12 25.1 12c4 0 7.8 1.6 10.6 4.4.5.4.9.9 1.2 1.4.3.8-.4 1.2-1.3 1.2h-7c-.8 0-1.5.7-1.5 1.5v3.1c0 .8.6 1.4 1.4 1.4h18.3c.7 0 1.3-.6 1.3-1.3V5.5C48 4.7 47.3 4 46.5 4z\"}},\nrelate:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M36 20c0-2.2-1.8-4-4-4H6c-2.2 0-4 1.8-4 4v26c0 2.2 1.8 4 4 4h26c2.2 0 4-1.8 4-4V20zm-8 14c0 .5-.5 1-1 1h-6v6c0 .5-.5 1-1 1h-2c-.5 0-1-.5-1-1v-6h-6c-.5 0-1-.5-1-1v-2c0-.5.5-1 1-1h6v-6c0-.5.5-1 1-1h2c.5 0 1 .5 1 1v6h6c.5 0 1 .5 1 1v2z\"},{\"d\":\"M43 42h-3v-6h3c.6 0 1-.4 1-1V9c0-.6-.4-1-1-1H17c-.6 0-1 .4-1 1v3h-6V9c0-3.9 3.1-7 7-7h26c3.9 0 7 3.1 7 7v26c0 3.9-3.1 7-7 7z\"}]},\nreminder:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M64.7 19.1v.4-.4z\"},{\"d\":\"M50.3 7.5c-.6-3-3.1-5.5-6.2-5.9-2.2-.3-4.2.4-5.8 1.6-.5.4-.4 1.1.2 1.4 3.7 2 6.9 4.8 9.4 8.2.3.5 1.1.5 1.4 0 1-1.5 1.4-3.3 1-5.3zM13.5 4.7c.5-.2.6-1 .2-1.4-1.5-1.3-3.6-2-5.8-1.6-3.1.4-5.7 2.8-6.2 5.8-.3 2 .1 3.8 1.1 5.3.3.5 1.1.5 1.4 0 2.4-3.3 5.5-6.2 9.3-8.1zM26 6.5c-12.1 0-22 9.9-22 22 0 4.9 1.6 9.4 4.3 13L5 44.8c-1.3 1.3-1.3 3.3 0 4.6.7.7 1.5 1 2.3 1 .8 0 1.6-.3 2.3-1l3.3-3.3c3.7 2.7 8.2 4.3 13.1 4.3s9.4-1.6 13-4.3l3.3 3.3c.7.7 1.5 1 2.4 1 .8 0 1.6-.3 2.3-1 1.3-1.3 1.3-3.3 0-4.6l-3.3-3.3c2.7-3.6 4.3-8.1 4.3-13 0-12.2-9.8-22-22-22zM10.5 28.4c0-8.5 7-15.4 15.5-15.4s15.5 6.9 15.5 15.5S34.6 43.9 26 43.9 10.5 37 10.5 28.4zm18-.9v-6.4c0-1.4-1.1-2.4-2.4-2.4s-2.4 1.1-2.4 2.4v7.3c0 .7.2 1.3.7 1.7l5.7 5.7c.5.5 1.1.7 1.7.7.6 0 1.2-.2 1.7-.7 1-1 1-2.5 0-3.4l-5-4.9z\"}]},\nremove_formatting:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M45.1 40.9l4.6-4.6c.4-.4.4-1 0-1.4l-2.8-2.8c-.4-.4-1-.4-1.4 0L41 36.8l-4.3-4.3c-.4-.4-1-.4-1.4 0l-2.8 2.8c-.4.4-.4 1 0 1.4l4.3 4.3-4.2 4.2c-.4.4-.4 1 0 1.4l2.8 2.8c.4.4 1 .4 1.4 0l4.2-4.2 4.5 4.5c.4.4 1 .4 1.4 0l2.8-2.8c.4-.4.4-1 0-1.4l-4.6-4.6zM4.8 8h10.8l-4.1 23.2c-.2 1 .5 1.8 1.4 1.8H18c.7 0 1.4-.5 1.5-1.2L23.7 8h11c.7 0 1.4-.5 1.5-1.3l.5-3c.2-.9-.5-1.7-1.5-1.7h-30c-.7 0-1.3.5-1.4 1.3l-.5 3c-.2.9.5 1.7 1.5 1.7zM28 38.5c0-.8-.7-1.5-1.5-1.5h-23c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h23c.8 0 1.5-.7 1.5-1.5v-3z\"}},\nremove_link:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M24 36.6c-.6 0-1.2-.1-1.8-.3-.6-.1-1.3-.3-1.9-.5-.4-.1-.8 0-1 .2l-.4.4c-2.5 2.5-6.6 2.8-9.3.5-2.9-2.6-3.1-7.1-.3-9.8l6.6-6.6c.9-.9 1.9-1.4 3-1.7 1.4-.4 2.9-.3 4.2.3.8.3 1.6.8 2.2 1.5.3.3.6.7.9 1.2.3.6 1.1.7 1.6.2l2.5-2.5c.4-.4.4-.9.1-1.3-.4-.5-.8-.9-1.2-1.4-.6-.6-1.4-1.2-2.1-1.7-1.3-.8-2.6-1.3-4.1-1.6-2.7-.5-5.6-.1-8.2 1.3-1 .5-1.9 1.2-2.7 2l-6.4 6.4c-4.6 4.6-5 12.1-.5 16.9 4.7 5 12.6 5.2 17.4.3l2.2-2.2c.5-.5.1-1.5-.8-1.6z\"},{\"d\":\"M40.5 22.5c4.8-4.8 4.7-12.7-.3-17.4C35.4.7 27.9 1 23.3 5.6l-2 2c-.6.6-.2 1.6.6 1.7 1.2.1 2.5.3 3.7.7.4.1.8 0 1-.2l.4-.4c2.5-2.5 6.6-2.8 9.3-.5 2.9 2.6 3.1 7.1.3 9.8L30 25.3c-.9.9-1.9 1.4-3 1.7-1.4.4-2.9.3-4.2-.3-.8-.3-1.6-.8-2.2-1.5-.3-.3-.6-.7-.8-1.1-.3-.6-1.1-.7-1.6-.2l-2.4 2.4c-.4.4-.4.9-.1 1.3.4.5.7.9 1.2 1.4.7.7 1.4 1.2 2.1 1.7 1.3.8 2.6 1.3 4.1 1.6 2.7.5 5.6.1 8.2-1.3 1-.5 1.9-1.2 2.7-2l6.5-6.5zM45.1 41l4.6-4.6c.4-.4.4-1 0-1.4l-2.8-2.8c-.4-.4-1-.4-1.4 0L41 36.9l-4.3-4.3c-.4-.4-1-.4-1.4 0l-2.8 2.8c-.4.4-.4 1 0 1.4l4.3 4.3-4.2 4.2c-.4.4-.4 1 0 1.4l2.8 2.8c.4.4 1 .4 1.4 0l4.2-4.2 4.5 4.5c.4.4 1 .4 1.4 0l2.8-2.8c.4-.4.4-1 0-1.4L45.1 41z\"}]},\nreplace:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M20 37.5c0-.8-.7-1.5-1.5-1.5h-15c-.8 0-1.5.7-1.5 1.5v11c0 .8.7 1.5 1.5 1.5h15c.8 0 1.5-.7 1.5-1.5v-11zM8.1 22H3.2c-1 0-1.5.9-.9 1.4l8 8.3c.4.3 1 .3 1.4 0l8-8.3c.6-.6.1-1.4-.9-1.4h-4.7c0-5 4.9-10 9.9-10V6C15 6 8.1 13 8.1 22zM41.8 20.3c-.4-.3-1-.3-1.4 0l-8 8.3c-.6.6-.1 1.4.9 1.4h4.8c0 6-4.1 10-10.1 10v6c9 0 16.1-7 16.1-16H49c1 0 1.5-.9.9-1.4l-8.1-8.3zM50 3.5c0-.8-.7-1.5-1.5-1.5h-15c-.8 0-1.5.7-1.5 1.5v11c0 .8.7 1.5 1.5 1.5h15c.8 0 1.5-.7 1.5-1.5v-11z\"}},\nreply:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M19.2 18.1s-1.1-1.1-.5-1.7l5.6-5.6c.6-.6.6-1.5 0-2.1l-2.1-2.2c-.6-.6-1.5-.6-2.1 0L6.6 20c-.6.6-.6 1.5 0 2.1l13.5 13.5c.6.6 1.5.6 2.1 0l2.1-2.1c.6-.6.6-1.5 0-2.1l-5.5-5.6c-.6-.6-.2-1.5.5-1.7 11.1.4 20.1 9.3 20.8 20.6 0 .8.7 1.4 1.5 1.4h3c.9 0 1.4-.7 1.3-1.6-.7-14.5-11.7-25.9-26.7-26.4z\"}},\nreply_all:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M24.4 18.1s-1.1-1.1-.5-1.7l5.6-5.6c.6-.6.6-1.5 0-2.1l-2.1-2.2c-.6-.6-1.5-.6-2.1 0L11.8 20c-.6.6-.6 1.5 0 2.1l13.5 13.5c.6.6 1.5.6 2.1 0l2.1-2.1c.6-.6.6-1.5 0-2.1L24 25.8c-.6-.6-.2-1.5.5-1.7 11.1.4 20.1 9.3 20.8 20.6 0 .8.7 1.4 1.5 1.4h3c.9 0 1.4-.7 1.3-1.6-.7-14.5-11.7-25.9-26.7-26.4z\"},{\"d\":\"M5.4 20.4L17 8.8c.6-.6.6-1.5 0-2.1l-.1-.2c-.6-.6-1.5-.6-2.1 0L1.3 20c-.6.6-.6 1.5 0 2.1l13.5 13.5c.6.6 1.5.6 2.1 0l.1-.1c.6-.6.6-1.5 0-2.1L5.5 21.8s-.7-.6-.1-1.4z\"}]},\nreport_issue:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M22.8 45.7v1c0 1.2-.9 2.1-2.1 2.1H4.1c-1.2 0-2.1-.9-2.1-2.1v-1c0-2.5 3-4.1 5.7-5.3.1 0 .2-.1.3-.2.2-.1.5-.1.7 0 1.1.7 2.4 1.1 3.8 1.1 1.3 0 2.6-.4 3.8-1.1.2-.1.4-.1.6 0 .1 0 .2.1.3.2 2.7 1.3 5.6 2.8 5.6 5.3z\"},{\"d\":\"M34.8 3.2c-8.5 0-15.3 6.5-15.3 14.5 0 2.5.7 5 2 7.2.1.2.2.5.2.8L20 30.3c-.2.6.2 1.1.7 1.3.2.1.4.1.6 0l4.5-1.6c.3-.1.6-.1.8.1 2.4 1.4 5.2 2.2 8 2.2 8.5 0 15.3-6.6 15.3-14.6.1-8-6.8-14.5-15.1-14.5zm-1.1 5.7h3v7l-.3 4.6H34l-.2-4.6v-7zm1.5 17.3c-1.4 0-1.8-.8-1.8-1.8s.4-1.8 1.8-1.8 1.8.8 1.8 1.8c.1 1-.4 1.8-1.8 1.8z\"}],\"ellipse\":{\"cx\":\"12.4\",\"cy\":\"33.7\",\"rx\":\"5.2\",\"ry\":\"5.7\"}}},\nreset_password:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M42 23H10c-2.2 0-4 1.8-4 4v19c0 2.2 1.8 4 4 4h32c2.2 0 4-1.8 4-4V27c0-2.2-1.8-4-4-4zM31 44.5c-1.5 1-3.2 1.5-5 1.5-.6 0-1.2-.1-1.8-.2-2.4-.5-4.4-1.8-5.7-3.8l3.3-2.2c.7 1.1 1.9 1.9 3.2 2.1 1.3.3 2.6 0 3.8-.8 2.3-1.5 2.9-4.7 1.4-6.9-.7-1.1-1.9-1.9-3.2-2.1-1.3-.3-2.6 0-3.8.8-.3.2-.5.4-.7.6L26 37h-9v-9l2.6 2.6c.4-.4.9-.8 1.3-1.1 2-1.3 4.4-1.8 6.8-1.4 2.4.5 4.4 1.8 5.7 3.8 2.8 4.2 1.7 9.8-2.4 12.6zM10 18.1v0zM11 19h4c.6 0 1-.3 1-.9V18c0-5.7 4.9-10.4 10.7-10 5.3.4 9.3 5 9.3 10.4v-.3c0 .6.4.9 1 .9h4c.6 0 1-.3 1-.9V18c0-9.1-7.6-16.4-16.8-16-8.5.4-15 7.6-15.2 16.1.1.5.5.9 1 .9z\"}}},\nresource_absence:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M21.9 37c0-2.7.9-5.8 2.3-8.2 1.7-3 3.6-4.2 5.1-6.4 2.5-3.7 3-9 1.4-13-1.6-4.1-5.4-6.5-9.8-6.4s-8 2.8-9.4 6.9c-1.6 4.5-.9 9.9 2.7 13.3 1.5 1.4 2.9 3.6 2.1 5.7-.7 2-3.1 2.9-4.8 3.7-3.9 1.7-8.6 4.1-9.4 8.7C1.3 45.1 3.9 49 8 49h17c.8 0 1.3-1 .8-1.6-2.5-2.9-3.9-6.6-3.9-10.4z\"},{\"d\":\"M46.4 28.5c-4.7-4.7-12.3-4.7-17 0-4.7 4.7-4.7 12.3 0 17 4.7 4.7 12.3 4.7 17 0 4.7-4.7 4.7-12.3 0-17zm-3.5 10.6c.4.4.4 1.1-.1 1.5L41.4 42c-.4.4-.9.4-1.3-.1L38 39.8 35.8 42c-.4.4-.9.4-1.3-.1L33 40.5c-.4-.4-.5-.9-.1-1.3l2.2-2.2-2.1-2.2c-.4-.4-.5-.9-.1-1.3l1.4-1.4c.4-.4 1.1-.5 1.5-.1l2.1 2.1L40 32c.4-.4 1.1-.5 1.5-.1l1.4 1.4c.4.4.4 1.1-.1 1.5l-2.1 2.1 2.2 2.2z\"}]},\nresource_capacity:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M37.9 25c-6.7 0-12.1 5.5-12.1 12.2s5.4 12.1 12.1 12.1S50 43.8 50 37.2 44.6 25 37.9 25zm8.5 13.4h-8.8v-9.3s3.3-.2 6.3 2.9 2.5 6.4 2.5 6.4z\"},{\"d\":\"M22.2 37.3c0-2.7.9-5.9 2.3-8.3 1.7-3 3.6-4.2 5.1-6.5 2.5-3.7 3-9.1 1.4-13.1-1.6-4.1-5.4-6.5-9.9-6.4-4.4.1-8.1 2.8-9.5 7-1.6 4.5-.9 10 2.7 13.4 1.5 1.4 2.9 3.6 2.1 5.8-.7 2-3.1 2.9-4.8 3.7-3.9 1.7-8.7 4.1-9.5 8.8-.8 3.8 1.8 7.8 5.9 7.8h17.1c.8 0 1.3-1 .8-1.6-2.3-3-3.7-6.7-3.7-10.6z\"}]},\nresource_territory:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M26.7 29c2-2.9 4.1-4.3 5.5-6.5 2.5-3.7 3-9 1.4-13C32 5.4 28.2 3 23.8 3.1s-8 2.8-9.4 6.9c-1.6 4.5-.9 9.9 2.7 13.3 1.5 1.4 2.9 3.6 2.1 5.7-.7 2-3.1 2.9-4.8 3.7-3.9 1.7-8.6 4.1-9.4 8.7-.8 3.8 1.8 7.7 5.9 7.7h18c.8 0 1.5-.9 1-1.5-2.5-2.9-5.1-6.7-5.1-10.5-.2-2.7.6-5.7 1.9-8.1z\"},{\"d\":\"M37.7 39.4c-2.1 0-3.9-1.7-3.9-3.8s1.7-3.8 3.9-3.8c2.1 0 3.9 1.7 3.9 3.8 0 2.1-1.8 3.8-3.9 3.8zm0-13c-5.1 0-9.2 4.1-9.2 9.2 0 6.3 6.6 12.2 8.6 13.7.3.3.8.3 1.2 0 2-1.6 8.6-7.4 8.6-13.7 0-5.1-4.1-9.2-9.2-9.2z\"}]},\nrestriction_policy:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M37.2 24.4A12.8 12.8 0 1050 37.2a12.8 12.8 0 00-12.8-12.8zm5.6 15.2H31.6a2.4 2.4 0 010-4.8h11.2a2.4 2.4 0 110 4.8zM13.6 2H8a6 6 0 00-6 6v4.8a6 6 0 006 6h5.6a6 6 0 006-6V8a6 6 0 00-6-6zm-2.4 12h-.8a3.6 3.6 0 010-7.2h.8a3.6 3.6 0 110 7.2zM30.4 18.8H36a6 6 0 006-6V8a6 6 0 00-6-6h-5.6a6 6 0 00-6 6v4.8a6 6 0 006 6zm2.4-12h.8a3.6 3.6 0 110 7.2h-.8a3.6 3.6 0 110-7.2zM13.6 23.6H8a6 6 0 00-6 6v4.8a6 6 0 006 6h5.6a6 6 0 006-6v-4.8a6 6 0 00-6-6zm-2.4 12h-.8a3.6 3.6 0 110-7.2h.8a3.6 3.6 0 110 7.2z\",\"fill-rule\":\"evenodd\"}},\nretail_execution:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M17.4 11.6h17.3c.9 0 1.6-.7 1.6-1.6V6.8c0-2.6-2.1-4.8-4.7-4.8h-11c-2.6 0-4.7 2.2-4.7 4.8V10c-.1.9.6 1.6 1.5 1.6z\"},{\"d\":\"M43.3 6h-1.6c-.5 0-.8.3-.8.8V10c0 3.5-2.8 6.4-6.3 6.4H17.4c-3.5 0-6.3-2.9-6.3-6.4V6.8c0-.5-.3-.8-.8-.8H8.7C6.1 6 4 8.2 4 10.8v34.4C4 47.8 6.1 50 8.7 50h34.6c2.6 0 4.7-2.2 4.7-4.8V10.8C48 8.2 45.9 6 43.3 6zm-6.6 21.1l-12 12c-.5.5-1 .7-1.6.7-.5 0-1.2-.2-1.6-.7l-5.8-5.8c-.5-.5-.5-1.2 0-1.6l1.6-1.6c.5-.5 1.2-.5 1.6 0l4.2 4.2L33.4 24c.5-.5 1.2-.5 1.6 0l1.6 1.6c.5.3.5 1.1.1 1.5z\"}]}},\nretweet:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M51.6 28.8l-2.1-2.1c-.6-.6-1.5-.6-2.1 0l-2.7 2.7c-.7.7-1.7.2-1.7-.7V12c0-2.2-1.8-4-4-4H24.5c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h11c.8 0 1.5.7 1.5 1.5v13.2c0 .9-1.1 1.3-1.8.7l-2.6-2.6c-.6-.6-1.6-.6-2.1 0L28.4 29c-.6.6-.6 1.5 0 2.1l10.5 10.5c.6.6 1.5.6 2.1 0L51.6 31c.5-.6.5-1.6 0-2.2zM27.5 38h-11c-.8 0-1.5-.7-1.5-1.5V23.3c0-.9 1.1-1.3 1.8-.7l2.6 2.6c.6.6 1.6.6 2.1 0l2.1-2.1c.6-.6.6-1.5 0-2.1L13.2 10.4c-.6-.6-1.5-.6-2.1 0L.4 21c-.6.6-.6 1.5 0 2.1l2.1 2.1c.6.6 1.5.6 2.1 0l2.7-2.7c.6-.6 1.7-.2 1.7.7V40c0 2.2 1.9 4 4.1 4h14.5c.8 0 1.5-.7 1.5-1.5v-3c-.1-.8-.8-1.5-1.6-1.5z\"}}},\nribbon:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M24.1 36.7L14.7 50l-2.4-6.4H5.9l8.2-11.1c1.6 1 3.3 1.1 4.5 1.4.4.1.9.2 1.1.2.2.1.6.4.8.6.9.6 2.1 1.5 3.6 2zm15.2-4.2c-1.6 1-3.3 1.1-4.5 1.4-.4.1-1 .2-1.2.2-.2.1-.6.4-.8.6-.9.6-2 1.6-3.5 2.1L38.7 50l2.4-6.4h6.4l-8.2-11.1zM26.7 11.6c-3.1 0-5.6 2.5-5.6 5.6s2.5 5.6 5.6 5.6 5.6-2.5 5.6-5.6-2.5-5.6-5.6-5.6zm15.2 5.6c0 1.9-2.1 3.4-2.8 5.1-.7 1.8-.3 4.3-1.7 5.6-1.3 1.3-3.8 1-5.6 1.7-1.7.7-3.2 2.8-5.1 2.8s-3.4-2.1-5.1-2.8c-1.8-.7-4.3-.3-5.6-1.7-1.3-1.3-1-3.8-1.7-5.6-.7-1.7-2.8-3.2-2.8-5.1s2.1-3.4 2.8-5.1c.7-1.8.3-4.3 1.7-5.6 1.3-1.3 3.8-1 5.6-1.7 1.7-.7 3.2-2.8 5.1-2.8s3.4 2.1 5.1 2.8c1.8.7 4.3.3 5.6 1.7 1.3 1.3 1 3.8 1.7 5.6.7 1.7 2.8 3.2 2.8 5.1zm-4.8 0c0-5.8-4.6-10.4-10.4-10.4s-10.4 4.6-10.4 10.4 4.6 10.4 10.4 10.4S37.1 23 37.1 17.2z\"}},\nrichtextbulletedlist:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M8 13.5c0 .8-.7 1.5-1.5 1.5h-3c-.8 0-1.5-.7-1.5-1.5v-3C2 9.7 2.7 9 3.5 9h3c.8 0 1.5.7 1.5 1.5v3zm42-3c0-.8-.7-1.5-1.5-1.5h-35c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h35c.8 0 1.5-.7 1.5-1.5v-3zm-42 14c0-.8-.7-1.5-1.5-1.5h-3c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h3c.8 0 1.5-.7 1.5-1.5v-3zm38 0c0-.8-.7-1.5-1.5-1.5h-31c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h31c.8 0 1.5-.7 1.5-1.5v-3zm-38 14c0-.8-.7-1.5-1.5-1.5h-3c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h3c.8 0 1.5-.7 1.5-1.5v-3zm42 0c0-.8-.7-1.5-1.5-1.5h-35c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h35c.8 0 1.5-.7 1.5-1.5v-3z\"}},\nrichtextindent:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M52 11.5c0-.8-.7-1.5-1.5-1.5h-17c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h17c.8 0 1.5-.7 1.5-1.5v-3zM48 35.5c0-.8-.7-1.5-1.5-1.5h-13c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h13c.8 0 1.5-.7 1.5-1.5v-3zM52 23.5c0-.8-.7-1.5-1.5-1.5h-17c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h17c.8 0 1.5-.7 1.5-1.5v-3zM28 5.5c0-.8-.7-1.5-1.5-1.5h-3c-.8 0-1.5.7-1.5 1.5v41c0 .8.7 1.5 1.5 1.5h3c.8 0 1.5-.7 1.5-1.5v-41zM9.4 15.3c-.6-.6-1.4-.1-1.4.9V22H1.5c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5H8v5.9c0 1 .9 1.5 1.4.9l8.3-9c.3-.4.3-1 0-1.4l-8.3-9.1z\"}},\nrichtextnumberedlist:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M50 6.5v3c0 .8-.7 1.5-1.5 1.5h-27c-.8 0-1.5-.7-1.5-1.5v-3c0-.8.7-1.5 1.5-1.5h27c.8 0 1.5.7 1.5 1.5zM21.5 21h18c.8 0 1.5-.7 1.5-1.5v-3c0-.8-.7-1.5-1.5-1.5h-18c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5zm27 9h-27c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h27c.8 0 1.5-.7 1.5-1.5v-3c0-.8-.7-1.5-1.5-1.5zm-9 10h-18c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h18c.8 0 1.5-.7 1.5-1.5v-3c0-.8-.7-1.5-1.5-1.5zM3.5 8H6v12.5c0 .8.7 1.5 1.5 1.5h1c.8 0 1.5-.7 1.5-1.5V6c0-1.1-.9-2-2-2H3.5C2.7 4 2 4.7 2 5.5v1C2 7.3 2.7 8 3.5 8zM12 28H3.5c-.8 0-1.5.7-1.5 1.5v1c0 .8.7 1.5 1.5 1.5H10v4H4c-1.1 0-2 .9-2 2v8c0 1.1.9 2 2 2h8.5c.8 0 1.5-.7 1.5-1.5v-1c0-.8-.7-1.5-1.5-1.5H6v-4h6c1.1 0 2-.9 2-2v-8c0-1.1-.9-2-2-2z\"}},\nrichtextoutdent:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M16.4 22H10v-5.9c0-1-.9-1.5-1.4-.9l-8.3 9c-.3.4-.3 1 0 1.4l8.3 9c.6.6 1.4.1 1.4-.9V28h6.4c.8 0 1.6-.7 1.6-1.5v-3c0-.8-.8-1.5-1.6-1.5zM52 11.5c0-.8-.7-1.5-1.5-1.5h-17c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h17c.8 0 1.5-.7 1.5-1.5v-3zM48 35.5c0-.8-.7-1.5-1.5-1.5h-13c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h13c.8 0 1.5-.7 1.5-1.5v-3zM52 23.5c0-.8-.7-1.5-1.5-1.5h-17c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h17c.8 0 1.5-.7 1.5-1.5v-3zM28 5.5c0-.8-.7-1.5-1.5-1.5h-3c-.8 0-1.5.7-1.5 1.5v41c0 .8.7 1.5 1.5 1.5h3c.8 0 1.5-.7 1.5-1.5v-41z\"}},\nright:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M14 43.7V8.3c0-1 1.3-1.7 2.2-.9l21.2 17.3c.8.6.8 1.9 0 2.5L16.2 44.7c-.9.7-2.2.1-2.2-1z\"}},\nright_align:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"rect\":[{\"x\":\"43.6\",\"y\":\"2\",\"width\":\"6.4\",\"height\":\"48\",\"rx\":\"1.6\"},{\"data-name\":\"Rectangle\",\"x\":\"2\",\"y\":\"18.8\",\"width\":\"37.6\",\"height\":\"14.4\",\"rx\":\"3.2\"}]},\nright_align_text:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M46.5 5h-41C4.7 5 4 5.7 4 6.5v3c0 .8.7 1.5 1.5 1.5h41c.8 0 1.5-.7 1.5-1.5v-3c0-.8-.7-1.5-1.5-1.5zM46.5 17h-33c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h33c.8 0 1.5-.7 1.5-1.5v-3c0-.8-.7-1.5-1.5-1.5zM46.5 41h-33c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h33c.8 0 1.5-.7 1.5-1.5v-3c0-.8-.7-1.5-1.5-1.5zM46.5 29h-41c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h41c.8 0 1.5-.7 1.5-1.5v-3c0-.8-.7-1.5-1.5-1.5z\"}},\nrotate:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M48.5 2h-3c-.8 0-1.5.7-1.5 1.5v7c0 .9-1 1.5-1.6.8C37.7 6.1 31 3.4 23.7 4.1c-2.6.2-5.1 1-7.4 2.2-1.2.6-2.4 1.3-3.4 2.1-.7.5-.8 1.6-.2 2.3l2.1 2.1c.5.5 1.3.6 1.9.2 1.2-.8 2.5-1.5 3.9-2.1.6-.2 1.3-.4 2-.6 6.3-1.2 12.3 1.3 15.7 5.4 1.2 1.4.3 2.3-.7 2.3h-7c-.8 0-1.6.7-1.6 1.5v3c0 .8.8 1.5 1.6 1.5h18.2c.7 0 1.2-.6 1.2-1.3V3.5c0-.8-.7-1.5-1.5-1.5zM39.4 37.4c-.6-.6-1.5-.6-2.1 0-1.6 1.6-3.6 2.9-5.8 3.7-.6.2-1.3.4-2 .6-6.3 1.2-12.3-1.3-15.7-5.4-1.2-1.4-.3-2.3.7-2.3h7c.8 0 1.5-.7 1.5-1.5v-3c0-.8-.7-1.5-1.5-1.5H3.3c-.7 0-1.3.6-1.3 1.3v19.2c0 .8.7 1.5 1.5 1.5h3c.8 0 1.5-.7 1.5-1.5v-7c0-.9 1-1.5 1.6-.8 4.6 5.2 11.4 7.9 18.7 7.2 2.6-.2 5.1-1 7.4-2.2 2.2-1.1 4.1-2.5 5.7-4.1.6-.6.6-1.6 0-2.1l-2-2.1z\"}}},\nrouting_offline:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M43 9C33.6-.3 18.4-.3 9 9S-.3 33.6 9 43s24.6 9.3 34 0 9.3-24.6 0-34zM26 44c-9.9 0-18-8.1-18-18S16.1 8 26 8s18 8 18 18-8 18-18 18z\"}},\nrows:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M46.5 14h-41c-.8 0-1.5-.7-1.5-1.5v-3C4 8.7 4.7 8 5.5 8h41c.8 0 1.5.7 1.5 1.5v3c0 .8-.7 1.5-1.5 1.5zM46.5 28.9h-41c-.8 0-1.5-.7-1.5-1.5v-3c0-.7.7-1.4 1.5-1.4h41c.8 0 1.5.7 1.5 1.5v3c0 .7-.7 1.4-1.5 1.4zM46.5 44h-41c-.8 0-1.5-.7-1.5-1.5v-3c0-.8.7-1.5 1.5-1.5h41c.8 0 1.5.7 1.5 1.5v3c0 .8-.7 1.5-1.5 1.5z\"}},\nrules:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M50.1 25.4L42 17.3c-.4-.4-1.1-.4-1.5 0L39 18.8c-.4.4-.4 1.1 0 1.5l2.5 2.5c.4.4.1 1.2-.5 1.2H18.9l13.2-13.1c.4-.4 1.2-.1 1.2.5V15c0 .6.4 1 1 1h2.1c.6 0 1-.4 1-1V3.4c0-.6-.4-1-1-1H25c-.5 0-1 .5-1 1.1v2c0 .6.4 1 1 1h3.6c.6 0 .9.7.5 1.2L12.9 23.9H3c-.6 0-1 .5-1 1.1v2.1c0 .6.6 1.1 1.1 1.1h10l16.1 16.1c.4.4.1 1.2-.5 1.2h-3.6c-.6 0-1 .4-1 1v2c0 .5.4 1 1 1.1h11.4c.6 0 1-.4 1-1V37.1c0-.6-.4-1-1-1h-2.1c-.6 0-1 .4-1 1v3.6c0 .6-.7.9-1.2.5L19 28.2h22.1c.6 0 .9.8.5 1.2L39 31.9c-.4.4-.4 1.1 0 1.5l1.5 1.5c.4.4 1.1.4 1.5 0l8.1-8c.4-.5.4-1.1 0-1.5z\"}},\nsalesforce1:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M21.7 11.9c1.7-1.7 4-2.8 6.6-2.8 3.4 0 6.4 1.9 8 4.7 1.4-.6 2.9-1 4.5-1C47 12.8 52 17.8 52 24s-5 11.2-11.2 11.2c-.8 0-1.5-.1-2.2-.2-1.4 2.5-4.1 4.2-7.2 4.2-1.3 0-2.5-.3-3.6-.8-1.4 3.3-4.7 5.6-8.6 5.6-4 0-7.5-2.5-8.8-6.1-.6.1-1.2.2-1.8.2-4.8 0-8.7-3.9-8.7-8.7 0-3.2 1.7-6 4.3-7.5-.5-1.2-.8-2.6-.8-4 0-5.5 4.5-10 10.1-10 3.5.1 6.4 1.6 8.2 4\"}},\nsalesforce_page:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M44.44 19H33.2a3.89 3.89 0 01-4.2-3.55 3.53 3.53 0 010-.65V3.6A1.58 1.58 0 0027.44 2H10.8A4.87 4.87 0 006 6.8v38.4a4.87 4.87 0 004.8 4.8h30.4a4.87 4.87 0 004.8-4.8V20.6a1.58 1.58 0 00-1.56-1.6zM33.59 39.35a3.92 3.92 0 01-1.08-.1 4.19 4.19 0 01-3.68 2.16A5.24 5.24 0 0127 41a4.88 4.88 0 01-4.43 2.91A4.72 4.72 0 0118 40.78c-.22 0-.65.11-1 .11a4.49 4.49 0 01-4.54-4.42 4.39 4.39 0 012.27-3.89 6.33 6.33 0 01-.44-2.06 5.26 5.26 0 015.19-5.18 5.92 5.92 0 014.06 2.14A4.79 4.79 0 0127 26.06a4.91 4.91 0 014.21 2.38 7.49 7.49 0 012.38-.54 5.93 5.93 0 015.83 5.73 5.85 5.85 0 01-5.83 5.72z\"},{\"d\":\"M36.4 15h8.5a1.2 1.2 0 001.1-1.2 1.4 1.4 0 00-.3-.9L35.1 2.3a1.4 1.4 0 00-.9-.3A1.2 1.2 0 0033 3.1v8.5a3.49 3.49 0 003.4 3.4z\"}]}},\nsave:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M37.1 4v13.6c0 1-.8 1.9-1.9 1.9H13.9c-1 0-1.9-.8-1.9-1.9V4H8C5.8 4 4 5.8 4 8v36c0 2.2 1.8 4 4 4h36c2.2 0 4-1.8 4-4V11.2L40.8 4h-3.7zm7 38.1c0 1-.8 1.9-1.9 1.9H9.9c-1 0-1.9-.8-1.9-1.9V25.4c0-1 .8-1.9 1.9-1.9h32.3c1 0 1.9.8 1.9 1.9v16.7z\"},{\"d\":\"M24.8 13.6c0 1 .8 1.9 1.9 1.9h4.6c1 0 1.9-.8 1.9-1.9V4h-8.3l-.1 9.6z\"}]},\nscreen:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M50 6c0-2.2-1.8-4-4-4H6C3.8 2 2 3.8 2 6v27.7c0 2.2 1.8 4 4 4h40c2.2 0 4-1.8 4-4V6zm-6 24.2c0 .8-.7 1.5-1.5 1.5h-33c-.8 0-1.5-.7-1.5-1.5V9.5C8 8.7 8.7 8 9.5 8h33c.8 0 1.5.7 1.5 1.5v20.7zM19 44c-2.2 0-4 1.8-4 4v.5c0 .8.7 1.5 1.5 1.5h19c.8 0 1.5-.7 1.5-1.5V48c0-2.2-1.8-4-4-4H19z\"},{\"d\":\"M18 26.7h-4.1c-.6 0-1-.5-1-1V14c0-.6.4-1 1-1H18c.5 0 1 .4 1 1v11.7c0 .6-.5 1-1 1zM38.1 26.7H24.8c-.6 0-1-.4-1-1V14c0-.6.4-1 1-1h13.3c.5 0 1 .4 1 1v11.7c0 .6-.5 1-1 1z\"}]},\nsearch:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M49.598 45.298l-13.4-13.3c2.7-3.8 4.1-8.6 3.4-13.7-1.2-8.6-8.2-15.4-16.9-16.2-11.8-1.2-21.8 8.8-20.6 20.7.8 8.6 7.6 15.7 16.2 16.9 5.1.7 9.9-.7 13.7-3.4l13.3 13.3c.6.6 1.5.6 2.1 0l2.1-2.1c.6-.6.6-1.6.1-2.2zm-41.6-24.4c0-7.1 5.8-12.9 12.9-12.9 7.1 0 12.9 5.8 12.9 12.9 0 7.1-5.8 12.9-12.9 12.9-7.1 0-12.9-5.7-12.9-12.9z\",\"fill-rule\":\"evenodd\"}},\nsection:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",\"d\":\"M47.6 29.2h-8c-1.3 0-2.4-1.1-2.4-2.4v-1.6c0-1.3 1.1-2.4 2.4-2.4h8c1.3 0 2.4 1.1 2.4 2.4v1.6c0 1.3-1.1 2.4-2.4 2.4M30 29.2h-8c-1.3 0-2.4-1.1-2.4-2.4v-1.6c0-1.3 1.1-2.4 2.4-2.4h8c1.3 0 2.4 1.1 2.4 2.4v1.6c0 1.3-1.1 2.4-2.4 2.4M12.4 29.2h-8C3 29.2 2 28.1 2 26.8v-1.6c0-1.3 1.1-2.4 2.4-2.4h8c1.3 0 2.4 1.1 2.4 2.4v1.6c0 1.3-1.1 2.4-2.4 2.4M43.6 34H8.4c-1.8 0-3.2 1.4-3.2 3.2v8c0 1.8 1.4 3.2 3.2 3.2h35.2c1.8 0 3.2-1.4 3.2-3.2v-8c0-1.8-1.5-3.2-3.2-3.2zM42 42.8c0 .4-.4.8-.8.8H10.8c-.4 0-.8-.4-.8-.8v-3.2c0-.4.4-.8.8-.8h30.4c.4 0 .8.4.8.8v3.2zM43.6 3.6H8.4C6.6 3.6 5.2 5 5.2 6.8v8c0 1.8 1.4 3.2 3.2 3.2h35.2c1.8 0 3.2-1.4 3.2-3.2v-8c0-1.8-1.5-3.2-3.2-3.2zM42 12.4c0 .4-.4.8-.8.8H10.8c-.4 0-.8-.4-.8-.8V9.2c0-.4.4-.8.8-.8h30.4c.4 0 .8.4.8.8v3.2z\"}},\nsend:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M2.1 44.5l4.4-16.3h18.6c.5 0 1-.5 1-1v-2c0-.5-.5-1-1-1H6.5l-4.3-16C2.1 8 2 7.7 2 7.4c0-.7.7-1.4 1.5-1.3.2 0 .3.1.5.1l45 18.5c.6.2 1 .8 1 1.4s-.4 1.1-.9 1.3L4 46.4c-.2.1-.4.1-.6.1-.8-.1-1.4-.7-1.4-1.5 0-.2 0-.3.1-.5z\"}},\nsentiment_negative:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M26 2C12.8 2 2 12.8 2 26.1s10.8 24.1 24 24.1 24-10.8 24-24.1S39.2 2 26 2zm-9 13c1.7 0 3 1.8 3 4s-1.3 4-3 4-3-1.8-3-4 1.3-4 3-4zm-3 23.7c.5-6.1 5-11.2 12.1-11.2 7 0 11.4 5.1 11.9 11.2H14zM35 23c-1.7 0-3-1.8-3-4s1.3-4 3-4 3 1.8 3 4-1.3 4-3 4z\"}},\nsentiment_neutral:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M26 2C12.8 2 2 12.8 2 26.1s10.8 24.1 24 24.1 24-10.8 24-24.1S39.2 2 26 2zm-9 13c1.7 0 3 1.8 3 4s-1.3 4-3 4-3-1.8-3-4 1.3-4 3-4zm21 19.1c0 1.1-.9 1.9-1.9 1.9H15.9c-1.1 0-1.9-.9-1.9-1.9V34c0-1.1.9-1.9 1.9-1.9H36c1.1 0 2 .9 2 2zM35 23c-1.7 0-3-1.8-3-4s1.3-4 3-4 3 1.8 3 4-1.3 4-3 4z\"}},\nserialized_product:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M45.06 19.3a1.6 1.6 0 011.58 1.47v22.72a4.81 4.81 0 01-4.55 4.83h-32a4.82 4.82 0 01-4.74-4.62V20.92a1.61 1.61 0 011.44-1.61h38.27zm-8.59 22.93H15.53a.74.74 0 00-.74.73v.74a.74.74 0 00.74.73h20.94a.74.74 0 00.74-.73V43a.74.74 0 00-.74-.77zM17.4 27.14h-1.87a.74.74 0 00-.74.74v11.4a.74.74 0 00.74.74h1.87a.75.75 0 00.75-.74v-11.4a.75.75 0 00-.75-.74zm19.07 0H34.6a.75.75 0 00-.75.74v11.4a.75.75 0 00.75.74h1.87a.74.74 0 00.74-.74v-11.4a.74.74 0 00-.74-.74zm-9.35 0h-2.24a.75.75 0 00-.75.74v11.4a.75.75 0 00.75.74h2.24a.75.75 0 00.75-.74v-11.4a.75.75 0 00-.75-.74zm4.49 0h-.75a.75.75 0 00-.75.74v11.4a.75.75 0 00.75.74h.75a.74.74 0 00.74-.74v-11.4a.74.74 0 00-.74-.74zm-9.72 0h-.75a.75.75 0 00-.75.74v11.4a.75.75 0 00.75.74h.75a.75.75 0 00.75-.74v-11.4a.75.75 0 00-.75-.74zm14.58-4H15.53a.74.74 0 00-.74.73v.74a.74.74 0 00.74.73h20.94a.74.74 0 00.74-.73v-.74a.74.74 0 00-.74-.77zM45.2 3.67A4.81 4.81 0 0150 8.46v4.78a1.6 1.6 0 01-1.6 1.6H3.6a1.6 1.6 0 01-1.6-1.6V8.46a4.81 4.81 0 014.8-4.79z\"}},\nserialized_product_transaction:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M43.76 42a1.53 1.53 0 011.44 1.6v1.6a1.53 1.53 0 01-1.44 1.6H3.44A1.53 1.53 0 012 45.2v-1.6A1.53 1.53 0 013.44 42zM7 13.2a1.45 1.45 0 011.4 1.46v22.68A1.45 1.45 0 017 38.8H3.42A1.45 1.45 0 012 37.34V14.66a1.45 1.45 0 011.42-1.46zm19 0a1.54 1.54 0 011.6 1.46v22.68A1.54 1.54 0 0126 38.8h-4.8a1.54 1.54 0 01-1.6-1.46V14.66a1.54 1.54 0 011.6-1.46zm-9.6 0a1.54 1.54 0 011.6 1.46v22.68a1.54 1.54 0 01-1.6 1.46h-1.6a1.54 1.54 0 01-1.6-1.46V14.66a1.54 1.54 0 011.6-1.46zm22.9 0a1.13 1.13 0 01.86.42l9.47 10.65a1.44 1.44 0 01.37 1 1.41 1.41 0 01-.37 1L40.2 36.78a1.12 1.12 0 01-.86.42 1.1 1.1 0 01-.86-.42l-1.72-1.93a1.44 1.44 0 01-.37-1 1.41 1.41 0 01.37-1l3-3.34a1 1 0 00.17-1 .82.82 0 00-.75-.57h-7a1.5 1.5 0 01-1.31-1.4v-2.73a1.41 1.41 0 011.31-1.39h7a.84.84 0 00.75-.57 1 1 0 00-.17-1l-3-3.33a1.45 1.45 0 01-.36-1 1.48 1.48 0 01.36-1l1.73-1.94a1.1 1.1 0 01.81-.38zm4.46-8a1.53 1.53 0 011.44 1.6v1.6a1.53 1.53 0 01-1.44 1.6H3.44A1.53 1.53 0 012 8.4V6.8a1.53 1.53 0 011.44-1.6z\"}},\nservice_territory_policy:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M17.05 2H8a6.08 6.08 0 00-6 6.09v5.68a6 6 0 006 6.09h9.05a6 6 0 006-6.09V8.09a6 6 0 00-6-6.09zm-3.26 13H11.3a4.06 4.06 0 010-8.12h2.49a4.06 4.06 0 110 8.12zM34.42 19.86h9a6 6 0 006-6.09V8.09a6 6 0 00-6-6.09h-9a6 6 0 00-6 6.09v5.68a6 6 0 006 6.09zm3.25-13h2.49a4.06 4.06 0 110 8.12h-2.49a4.06 4.06 0 010-8.12zM17.05 24.73H8a6.08 6.08 0 00-6 6.09v5.69a6.06 6.06 0 006 6.08h9.05a6.06 6.06 0 006-6.08v-5.69a6 6 0 00-6-6.09zm-3.26 13H11.3a4.06 4.06 0 010-8.12h2.49a4.06 4.06 0 110 8.12zM39.18 24.73c-6 0-10.81 4.47-10.81 10.05 0 6.94 7.74 13.3 10.13 15a1.17 1.17 0 001.42 0C42.31 48 50 41.72 50 34.78c0-5.58-4.84-10.05-10.82-10.05zm0 14.2a4.4 4.4 0 01-4.55-4.21 4.57 4.57 0 019.11 0 4.4 4.4 0 01-4.56 4.21z\"}},\nsettings:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M26.1 19.1c-3.9 0-7 3.1-7 7s3.1 7 7 7 7-3.1 7-7-3.1-7-7-7z\"},{\"d\":\"M47.1 32.4l-3.7-3.1c.2-1.1.3-2.3.3-3.4s-.1-2.3-.3-3.4l3.7-3.1c1.2-1 1.6-2.8.8-4.2l-1.6-2.8c-.6-1-1.7-1.6-2.9-1.6-.4 0-.8.1-1.1.2l-4.6 1.7c-1.8-1.6-3.8-2.7-5.9-3.4L31 4.6c-.3-1.6-1.7-2.5-3.3-2.5h-3.2c-1.6 0-3 .9-3.3 2.5l-.8 4.6c-2.2.7-4.2 1.9-6 3.4l-4.6-1.7c-.4-.1-.7-.2-1.1-.2-1.2 0-2.3.6-2.9 1.6l-1.6 2.8c-.8 1.4-.5 3.2.8 4.2l3.7 3.1c-.2 1.1-.3 2.3-.3 3.4 0 1.2.1 2.3.3 3.4L5 32.3c-1.2 1-1.6 2.8-.8 4.2l1.6 2.8c.6 1 1.7 1.6 2.9 1.6.4 0 .8-.1 1.1-.2l4.6-1.7c1.8 1.6 3.8 2.7 5.9 3.4l.8 4.8c.3 1.6 1.6 2.7 3.3 2.7h3.2c1.6 0 3-1.2 3.3-2.8l.8-4.8c2.3-.8 4.4-2 6.2-3.7l4.3 1.7c.4.1.8.2 1.2.2 1.2 0 2.3-.6 2.9-1.6l1.5-2.6c.9-1.1.5-2.9-.7-3.9zm-21 4.7c-6.1 0-11-4.9-11-11s4.9-11 11-11 11 4.9 11 11-4.9 11-11 11z\"}]}},\nsetup:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M46.8 32.4l-3.7-3.1c.2-1.1.3-2.3.3-3.4s-.1-2.3-.3-3.4l3.7-3.1c1.2-1 1.6-2.8.8-4.2L46 12.3c-.6-1-1.7-1.6-2.9-1.6-.4 0-.8.1-1.1.2l-4.5 1.7c-1.8-1.6-3.8-2.7-5.8-3.4l-.8-4.7C30.6 2.9 29.2 2 27.6 2h-3.2c-1.6 0-3 .9-3.3 2.5l-.8 4.6c-2.2.7-4.1 1.9-5.9 3.4L10 10.8c-.4-.1-.7-.2-1.1-.2-1.2 0-2.3.6-2.9 1.6L4.4 15c-.8 1.4-.5 3.2.8 4.2l3.7 3.1c-.2 1.1-.3 2.3-.3 3.4 0 1.2.1 2.3.3 3.4l-3.7 3.1c-1.2 1-1.6 2.8-.8 4.2l1.6 3c.6 1 1.7 1.6 2.9 1.6.4 0 .8-.1 1.1-.2l4.5-1.7c1.8 1.6 3.8 2.7 5.8 3.4l.8 4.8c.3 1.6 1.6 2.7 3.3 2.7h3.2c1.6 0 3-1.2 3.3-2.8l.8-4.8c2.3-.8 4.3-2 6.1-3.7l4.2 1.7c.4.1.8.2 1.2.2 1.2 0 2.3-.6 2.9-1.6l1.5-2.6c.8-1.2.4-3-.8-4zm-20.7 4.7c-6 0-10.9-4.9-10.9-11s4.8-11 10.9-11S37 20 37 26.1s-4.9 11-10.9 11z\"},{\"d\":\"M29 18h-4.6c-.7 0-1.3.4-1.5 1l-2.8 7.2c-.2.5.2 1.1.8 1.1h4.7l-1.7 6c-.2.6.5.9.9.5l7.1-8.3c.5-.5.1-1.3-.6-1.3h-3.5l3.1-4.9c.3-.5-.1-1.2-.7-1.2H29z\"}]},\nsetup_assistant_guide:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M11.5 24.9c0-.4-.5-.6-.8-.4l-4.5 3.7c-.2.2-.2.5-.2.8v15.9c0 1 1.4 1.5 2.3.8l7.3-5.7c.2-.2.3-.4.1-.7-1.8-2.7-3.6-7.2-4.2-14.4zM21.2 39.8c.2.1.4.2.6.2h8.3c.2 0 .4-.1.6-.2 1.2-.8 6-4.8 6-18.4 0-6.3-1.8-10.7-3.9-13.7C29.7 3.3 26 2 26 2s-3.8 1.3-6.9 5.8c-2.1 3-3.8 7.3-3.8 13.6C15.3 35 20 39 21.2 39.8zM25.9 13c3.3 0 6 2.7 6 6s-2.7 6-6 6-6-2.7-6-6 2.7-6 6-6zM45.7 28.2l-4.4-3.7c-.3-.3-.8-.1-.8.4-.6 7.2-2.4 11.7-4.1 14.5-.1.2-.1.5.1.7l7.3 5.7c.9.7 2.2.2 2.2-.8V29c0-.3 0-.6-.3-.8zM32.2 44.5c-.2-.3-.5-.5-.8-.5h-11c-.3 0-.7.2-.8.5-.4.6-1 1.7-1.4 3.1-.3 1.2.7 2.4 2 2.4h11.4c1.3 0 2.3-1.2 2-2.4-.4-1.5-1-2.6-1.4-3.1z\"}}},\nsetup_modal:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M48.5 2h-45C2.7 2 2 2.7 2 3.5v32.4c0 .8.7 1.5 1.5 1.5h45c.8 0 1.5-.7 1.5-1.5V3.5c0-.8-.7-1.5-1.5-1.5z\"},{\"d\":\"M32 44c1.1 0 2 .9 2 2s-.9 2-2 2-2-.9-2-2 .9-2 2-2m0-2c-2.2 0-4 1.8-4 4s1.8 4 4 4 4-1.8 4-4-1.8-4-4-4z\"}],\"circle\":[{\"cx\":\"20\",\"cy\":\"46\",\"r\":\"4\"},{\"cx\":\"8\",\"cy\":\"46\",\"r\":\"4\"},{\"cx\":\"44\",\"cy\":\"46\",\"r\":\"4\"}]},\nshare:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M48.5 30h-3c-.8 0-1.5.7-1.5 1.5v11c0 .8-.7 1.5-1.5 1.5h-33c-.8 0-1.5-.7-1.5-1.5v-21c0-.8.7-1.5 1.5-1.5h4c.8 0 1.5-.7 1.5-1.5v-3c0-.8-.7-1.5-1.5-1.5H6c-2.2 0-4 1.8-4 4v28c0 2.2 1.8 4 4 4h40c2.2 0 4-1.8 4-4V31.5c0-.8-.7-1.5-1.5-1.5zM34 14c-10 0-19.1 8.9-19.9 19.4-.1.8.6 1.6 1.5 1.6h3c.8 0 1.4-.6 1.5-1.3C20.8 26.2 27.2 20 35 20h1.6c.9 0 1.3 1.1.7 1.7l-5.5 5.6c-.6.6-.6 1.5 0 2.1l2.1 2.1c.6.6 1.5.6 2.1 0L49.6 18c.6-.6.6-1.5 0-2.1L36.1 2.4c-.6-.6-1.5-.6-2.1 0l-2.1 2.1c-.6.6-.7 1.5-.1 2.1l5.6 5.6c.6.6.2 1.7-.7 1.7L34 14z\"}},\nshare_file:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M41 15.9h7.8c.4 0 .7-.5.4-.9l-8.3-8.3c-.4-.3-.9 0-.9.4v7.8c0 .6.4 1 1 1zm8 4H38c-1.1 0-2-.9-2-2v-11c0-.6-.4-1-1-1H21.5c-.8 0-1.5.7-1.5 1.5v4c0 .4.2.8.4 1.1l5.6 5.6c.8.8 1.4 1.9 1.6 3.1.2 1.6-.3 3.1-1.4 4.3L24.6 27c-.5.5-1 .8-1.6 1.1.7.3 1.5.5 2.3.6 2.6.2 4.7 2.4 4.7 5.1V36c0 1.4-.7 2.8-1.7 3.7-1 1-2.5 1.4-3.9 1.3-1.1-.1-2.1-.3-3.2-.5-.6-.2-1.2.3-1.2 1v3.1c0 .8.7 1.5 1.5 1.5h27c.8 0 1.5-.7 1.5-1.5V21c0-.6-.4-1-1-1.1zM26 35.8v-2.2c0-.6-.5-1-1.1-1.1-5.4-.5-9.9-5.1-9.9-10.8v-1.2c0-.6.8-1 1.2-.5l4 4c.4.4 1.1.4 1.5 0l1.5-1.5c.4-.4.4-1.1 0-1.5l-9.7-9.7c-.4-.4-1.1-.4-1.5 0L2.3 21c-.4.4-.4 1.1 0 1.5L3.8 24c.4.4 1.1.5 1.5.1l4.2-4c.5-.5 1.4-.1 1.4.5v1.9c0 7.2 6.3 13.8 13.9 14.4.7 0 1.2-.5 1.2-1.1z\"}},\nshare_mobile:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M41.957 50.438c2.2 0 4-1.799 4-4V19.512c0-2.2-1.8-4-4-4h-7.5c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h4c.801 0 1.5.7 1.5 1.501v19.924c0 .799-.699 1.5-1.5 1.5H13.465c-.8 0-1.5-.701-1.5-1.5V23.013c0-.801.7-1.501 1.5-1.501h4c.8 0 1.5-.699 1.5-1.5v-3c0-.8-.7-1.5-1.5-1.5h-7.5c-2.2 0-4 1.8-4 4v26.925c0 2.198 1.8 4 4 4h31.992v.001z\"},{\"d\":\"M28.952 30.898V11.487h5.899c1 0 1.5-.9.899-1.4l-9-8.3c-.399-.3-1-.3-1.399 0l-9 8.3c-.601.6-.101 1.4.899 1.4h5.7v19.412c0 .802.7 1.602 1.5 1.602h3c.802-.001 1.502-.801 1.502-1.603z\"}]}},\nshare_post:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M26 4C12.7 4 2 13.8 2 26c0 3.9 1.1 7.5 3 10.8.2.4.3.9.2 1.3L3 45c-.4 1.3.8 2.4 2.1 2l7-2.4c.5-.2 1-.1 1.4.2 3.7 2.1 8 3.3 12.6 3.3 13.3 0 24-9.8 24-22C49.8 13.8 39.1 4 26 4z\"}},\nshield:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M4.8 14h42.4c1 0 1.8-1 1.5-2-1-3.3-2.4-6.3-4.3-9-.6-.8-1.7-.9-2.3-.2-1.9 1.8-4.6 2.8-7.4 2.8-3 0-5.7-1.2-7.7-3.2-.6-.6-1.6-.6-2.2 0-2 2-4.7 3.2-7.7 3.2-2.8 0-5.4-1-7.4-2.8-.7-.6-1.8-.5-2.3.2C5.5 5.6 4 8.7 3.1 12c-.1 1 .7 2 1.7 2zM50 20.4c0-.9-.7-1.4-1.6-1.4H3.6c-.9 0-1.6.5-1.6 1.4v.3c0 15 10.4 27.4 24 29.3 13.6-1.9 24-14.3 24-29.2v-.4z\"}}},\nshift_pattern:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M43.6 6.8h-4V5.2a3.2 3.2 0 00-6.4 0v1.6H18.8V5.2a3.2 3.2 0 00-6.4 0v1.6h-4a4.81 4.81 0 00-4.8 4.8v1.6a1.6 1.6 0 001.6 1.6h41.6a1.6 1.6 0 001.6-1.6v-1.6a4.81 4.81 0 00-4.8-4.8zm3.2 12.8a1.6 1.6 0 011.6 1.6v24a4.81 4.81 0 01-4.8 4.8H8.4a4.81 4.81 0 01-4.8-4.8v-24a1.6 1.6 0 011.6-1.6h41.6zM36 41.46h-9.39a.93.93 0 00-.93.93V45a.93.93 0 00.93.93H36a.93.93 0 00.93-.93v-2.61a.93.93 0 00-.93-.93zm0-10.79H15.54a.93.93 0 00-.93.93v6.32a.93.93 0 00.93.93H36a.93.93 0 00.93-.93V31.6a.93.93 0 00-.93-.93zM24.93 23.6h-9.39a.93.93 0 00-.93.93v2.65a.93.93 0 00.93.93h9.39a.93.93 0 00.93-.93v-2.65a.93.93 0 00-.93-.93z\"}},\nshift_pattern_entry:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M27.4 2A1.58 1.58 0 0129 3.6v11.2a3.89 3.89 0 004.2 4.2h11.2a1.58 1.58 0 011.6 1.6v24.6a4.87 4.87 0 01-4.8 4.8H10.8A4.87 4.87 0 016 45.2V6.8A4.87 4.87 0 0110.8 2h16.6zm8.79 38.66H26.8a.93.93 0 00-.93.93v2.65a.93.93 0 00.93.93h9.39a.93.93 0 00.93-.93v-2.65a.93.93 0 00-.93-.93zm0-10.79H15.73a.93.93 0 00-.93.93v6.32a.93.93 0 00.93.93h20.46a.93.93 0 00.93-.93V30.8a.93.93 0 00-.93-.93zM25.12 22.8h-9.39a.93.93 0 00-.93.93v2.65a.93.93 0 00.93.93h9.39a.93.93 0 00.93-.93v-2.65a.93.93 0 00-.93-.93zM34.2 2a1.4 1.4 0 01.9.3l10.6 10.6a1.4 1.4 0 01.3.9 1.2 1.2 0 01-1.1 1.2h-8.5a3.5 3.5 0 01-3.4-3.4V3.1A1.2 1.2 0 0134.2 2z\"}},\nshift_scheduling_operation:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M46.8 19.6a1.6 1.6 0 011.6 1.6v24a4.81 4.81 0 01-4.8 4.8H8.4a4.81 4.81 0 01-4.8-4.8v-24a1.6 1.6 0 011.6-1.6h41.6zM26 22.8a12 12 0 1012 12 12 12 0 00-12-12zm2.3 5.73l4.3 4.2a.62.62 0 010 .73l-4.3 4.15c-.31.31-.73 0-.73-.47v-2.49a4.93 4.93 0 00-5.18 4.68 5.23 5.23 0 000 .56h-3.11a8.23 8.23 0 018.11-8.35h.18V29c0-.52.43-.78.73-.47zM36.4 2a3.21 3.21 0 013.2 3.2v1.6h4a4.81 4.81 0 014.8 4.8v1.6a1.6 1.6 0 01-1.6 1.6H5.2a1.6 1.6 0 01-1.6-1.6v-1.6a4.81 4.81 0 014.8-4.8h4V5.2a3.2 3.2 0 016.4 0v1.6h14.4V5.2A3.21 3.21 0 0136.4 2z\"}},\nshift_ui:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M27.8 40.7H48c1.1 0 2 .9 2 2v5.7c0 1.1-.9 2-2 2H27.8c-1.1 0-2-.9-2-2v-5.7c0-1.1.9-2 2-2zM4 17.5h44c1.1 0 2 .9 2 2v13.6c0 1.1-.9 2-2 2H4c-1.1 0-2-.9-2-2V19.5c0-1.1.9-2 2-2zM4 2.3h20.2c1.1 0 2 .9 2 2V10c0 1.1-.9 2-2 2H4c-1.1 0-2-.9-2-2V4.3c0-1.1.9-2 2-2z\"}}},\nshopping_bag:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M64.7 19.1v.4-.4z\"},{\"d\":\"M44 19.6c0-2.2-1.8-4-4-4h-.7c-.5-6.8-6.2-12.2-13.2-12.2S13.5 8.8 12.9 15.6H12c-2.2 0-4 1.8-4 4l-2 25c0 2.2 1.8 4 4 4h32c2.2 0 4-1.8 4-4l-2-25zM26.1 9.4c3.7 0 6.7 2.7 7.2 6.2H18.9c.6-3.5 3.6-6.2 7.2-6.2zm5.7 18.2H20.2c-1.7 0-3-1.4-3-3s1.4-3 3-3h11.7c1.7 0 3 1.4 3 3s-1.4 3-3.1 3z\"}]},\nshortcuts:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M12.1 2.7h26.5c.9 0 1.6.7 1.6 1.6 0 .5-.2.9-.5 1.2l-7.2 7.2c4.4 3.9 16.7 17.5 2.3 34.9l-.2.2c0 .1-.1.1-.2.2-.3.4-.8.7-1.4.7-.9 0-1.6-.7-1.6-1.6v-.2-.1c0-.1 0-.2.1-.2.5-2.2 3.6-17.2-9.6-23.4l-8.7 8.7c-.3.3-.7.5-1.1.5-.9 0-1.6-.7-1.6-1.6V4.4c-.1-.9.7-1.7 1.6-1.7z\"}},\nside_list:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M48.5 4h-27c-.8 0-1.5.7-1.5 1.5v41c0 .8.7 1.5 1.5 1.5h27c.8 0 1.5-.7 1.5-1.5v-41c0-.8-.7-1.5-1.5-1.5zM14.5 4h-11C2.7 4 2 4.7 2 5.5v5c0 .8.7 1.5 1.5 1.5h11c.8 0 1.5-.7 1.5-1.5v-5c0-.8-.7-1.5-1.5-1.5zM14.5 16h-11c-.8 0-1.5.7-1.5 1.5v5c0 .8.7 1.5 1.5 1.5h11c.8 0 1.5-.7 1.5-1.5v-5c0-.8-.7-1.5-1.5-1.5zM14.5 28h-11c-.8 0-1.5.7-1.5 1.5v5c0 .8.7 1.5 1.5 1.5h11c.8 0 1.5-.7 1.5-1.5v-5c0-.8-.7-1.5-1.5-1.5zM14.5 40h-11c-.8 0-1.5.7-1.5 1.5v5c0 .8.7 1.5 1.5 1.5h11c.8 0 1.5-.7 1.5-1.5v-5c0-.8-.7-1.5-1.5-1.5z\"}},\nsignpost:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M49.5 9l-4.2-3.1c-.6-.4-1.2-.6-1.9-.6H29.2V3.6c0-.9-.7-1.6-1.6-1.6h-3.2c-.9 0-1.6.7-1.6 1.6v1.6h-16c-.9 0-1.6.7-1.6 1.6v6.4c0 .9.7 1.6 1.6 1.6H43.4c.7 0 1.4-.2 1.9-.6l4.2-3.1c.7-.6.7-1.6 0-2.1zM45.2 22.8h-16v-2.4c0-.5-.3-.8-.8-.8h-4.8c-.5 0-.8.3-.8.8v2.4H8.6c-.7 0-1.4.2-1.9.6l-4.2 3.1c-.7.5-.7 1.5 0 2.1l4.2 3.1c.6.4 1.2.6 1.9.6h36.6c.9 0 1.6-.7 1.6-1.6v-6.4c0-.8-.7-1.5-1.6-1.5zM29.2 43.3V38c0-.5-.3-.8-.8-.8h-4.8c-.5 0-.8.3-.8.8v5.3c-3.2.9-5 2.8-5.5 5.2-.2.7.4 1.5 1.2 1.5h15.1c.8 0 1.4-.7 1.2-1.5-.6-2.4-2.4-4.3-5.6-5.2z\"}}},\nskip:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M39.5 32.3v.7c0 1 .7 1 1.3.4l4.9-4.9c.5-.6 1.5-.6 2.1 0l2.1 2.1c.6.5.6 1.5 0 2.1L37 45.6c-.5.5-1.3.5-1.8 0l-13-13c-.5-.6-.5-1.3.1-1.9l2.2-2.2c.6-.6 1.5-.7 2.1-.1l4.9 4.9c.7.7 1.3.9 1.7.1.1-.3.1-1.1.1-1.1V25c0-7.1-5.7-12.8-12.8-12.8S7.7 17.8 7.7 24.9v13.3c0 .8-.7 1.4-1.5 1.4H3c-.8 0-1.4-.5-1.4-1.3V24.9C1.6 14.5 10 6 20.5 6s18.9 8.5 18.9 18.9l.1 7.4z\"}},\nskip_back:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M26 7.9V2.6c0-.5-.6-.8-1.1-.5l-10.3 8.5c-.4.3-.4.9 0 1.2l10.3 8.4c.4.4 1.1 0 1.1-.4v-5.4c8 0 14.6 6.5 14.6 14.6S34 43.5 26 43.5 11.4 37 11.4 28.9c0-2.3.5-4.5 1.5-6.5 0 0 0-.1.1-.2.2-.4.4-.9.6-1.2.3-.5.6-1.3 0-1.8s-3.1-2.6-3.3-2.7c-.2-.1-.9-.8-1.6.2-.4.6-.9 1.5-1.3 2.2 0 .1-.1.1-.1.2-.2.3-.3.6-.4.7-1.3 2.7-2 5.8-2 9.1 0 11.6 9.4 21 21 21s21-9.4 21-21-9.3-21-20.9-21z\"}},\nskip_forward:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M26 7.9V2.6c0-.5.6-.8 1.1-.5l10.3 8.5c.4.3.4.9 0 1.2l-10.3 8.4c-.4.4-1.1 0-1.1-.4v-5.4c-8 0-14.6 6.5-14.6 14.6S18 43.5 26 43.5 40.6 37 40.6 28.9c0-2.3-.5-4.5-1.5-6.5 0 0 0-.1-.1-.2-.2-.4-.4-.9-.6-1.2-.3-.5-.6-1.3 0-1.8s3.1-2.6 3.3-2.7c.2-.1.9-.8 1.6.2.4.6.9 1.5 1.3 2.2 0 .1.1.1.1.2.2.3.3.6.4.7 1.3 2.7 2 5.8 2 9.1 0 11.6-9.4 21-21 21S5 40.6 5 29 14.4 7.9 26 7.9z\"}},\nslider:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M43 23.1h5c1.1 0 2 .9 2 2v2c0 1.1-.9 2-2 2h-5c-.6 0-.9-.5-.8-1 0 0 .3-1 .3-2s-.3-2.1-.3-2.1c-.1-.6.3-1 .8-.9zM10.8 41H4c-1.1 0-2 .9-2 2v2c0 1.1.9 2 2 2h6.8c1 1.8 3 3 5.2 3 3.3 0 6-2.7 6-6s-2.7-6-6-6c-2.2 0-4.2 1.2-5.2 3zM26.2 42s.3 1.1.3 2.1-.3 2-.3 2c-.1.5.2 1 .8 1h21c1.1 0 2-.9 2-2v-2c0-1.1-.9-2-2-2H27c-.6-.1-.9.3-.8.9zM30.2 6s.3 1.1.3 2.1-.3 2-.3 2c-.1.5.2 1 .8 1h17c1.1 0 2-.9 2-2v-2c0-1.1-.9-2-2-2H31c-.5-.1-.9.3-.8.9zM14.8 5H4c-1.1 0-2 .9-2 2v2c0 1.1.9 2 2 2h10.8c1 1.8 3 3 5.2 3 3.3 0 6-2.7 6-6s-2.7-6-6-6c-2.2 0-4.2 1.2-5.2 3zM26.8 23H4c-1.1 0-2 .9-2 2v2c0 1.1.9 2 2 2h22.8c1 1.8 3 3 5.2 3 3.3 0 6-2.7 6-6s-2.7-6-6-6c-2.2 0-4.2 1.2-5.2 3z\"}}},\nsmiley_and_people:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M50 26.1c0 13.3-10.755 24.1-24 24.1S2 39.4 2 26.1 12.755 2 26 2s24 10.8 24 24.1zM17 15c-1.674 0-3 1.767-3 4s1.326 4 3 4 3-1.767 3-4-1.326-4-3-4zm18 0c-1.674 0-3 1.767-3 4s1.326 4 3 4 3-1.767 3-4-1.326-4-3-4zM11 29c.632 7.644 6.158 14 14.921 14C34.685 43 40.368 36.644 41 29H11z\"}},\nsms:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M26 4C12.7 4 2.1 13.8 2.1 25.9c0 3.8 1.1 7.4 2.9 10.6.3.5.4 1.1.2 1.7l-3.1 8.5c-.3.8.5 1.5 1.3 1.3l8.6-3.3c.5-.2 1.1-.1 1.7.2 3.6 2 7.9 3.2 12.5 3.2C39.3 48 50 38.2 50 26.1 49.9 13.8 39.2 4 26 4zm-9.6 25.6c-.3.5-.6 1-1 1.3s-.9.6-1.5.8c-.5.2-1.1.2-1.7.2-.8 0-1.5-.1-2.2-.4-.7-.3-1.4-.7-1.9-1.3l-.2-.2c-.1-.1 0-.3.2-.5L9.7 28c.2-.2.4-.2.5-.1s.2.3.2.3c.2.3.5.5.8.7.5.3 1 .3 1.6.2.2 0 .3-.1.5-.2l.3-.3c.1-.1.1-.3.1-.4 0-.4-.1-.5-.2-.6-.2-.2-.5-.4-.9-.5s-.8-.3-1.3-.4c-.5-.2-1-.4-1.4-.6-.5-.3-.8-.7-1.1-1.1-.3-.5-.5-1.1-.5-1.9 0-.7.1-1.3.4-1.8.3-.5.6-.9 1.1-1.2.4-.3.9-.6 1.5-.7 1.2-.3 2.4-.3 3.6.1.6.2 1.2.6 1.5.8l.3.2c.2.1.1.4-.1.6l-1.5 1.5c-.2.2-.5.2-.7 0-.2-.1-.3-.3-.4-.3-.5-.3-1.2-.4-1.8-.3-.2 0-.3.1-.4.2l-.3.3c-.1.1-.1.2-.1.4 0 .3.1.4.2.5.2.2.5.3.9.5.4.1.8.3 1.3.4.5.2 1 .4 1.4.6.5.3.8.7 1.1 1.1.3.5.5 1.1.5 1.9 0 .6-.1 1.2-.4 1.7zM33 31c0 .6-.5 1-1.1 1h-1c-.6 0-.9-.4-.9-1v-5.9c0-.6-.8-.7-1-.2l-1.7 4.5c-.1.4-.5.6-.9.6h-.7c-.4 0-.8-.3-.9-.6L23 24.9c-.2-.5-1-.4-1 .2V31c0 .6-.5 1-1.1 1h-1c-.6 0-.9-.4-.9-1V20c0-.6.4-1 .9-1h2.6c.4 0 .8.3.9.6l2 5.2c.2.4.8.4.9 0l2-5.2c.1-.4.5-.6.9-.6h2.7c.6 0 1.1.4 1.1 1v11zm10.5-1.3c-.3.5-.6 1-1.1 1.3-.4.3-.9.6-1.5.8s-1.1.2-1.7.2c-.8 0-1.5-.1-2.2-.4-.7-.3-1.4-.7-1.9-1.3l-.2-.2c-.1-.1 0-.3.2-.5l1.6-1.5c.2-.2.4-.2.5-.1s.2.3.2.3c.2.3.5.5.8.7.5.3 1.1.3 1.6.2.2-.1.4-.1.5-.2l.3-.3c.1-.1.1-.3.1-.4 0-.4-.1-.5-.2-.6-.2-.2-.5-.4-.9-.5s-.8-.3-1.3-.4c-.5-.2-1-.4-1.4-.6-.5-.3-.9-.7-1.2-1.1-.3-.5-.5-1.1-.5-1.9 0-.7.1-1.3.4-1.8.3-.5.6-.9 1.1-1.2.4-.3 1-.6 1.5-.7 1.2-.3 2.4-.3 3.6.1.6.2 1.2.6 1.5.9l.3.3c.2.1.1.4-.1.6L42 22.9c-.2.2-.5.2-.7 0-.2-.1-.3-.3-.4-.3-.5-.3-1.2-.4-1.8-.3-.2 0-.3.1-.4.2l-.3.3c-.1.1-.1.3-.1.4 0 .3.1.4.2.5.2.2.5.3.9.5.4.1.8.3 1.3.4.5.2 1 .4 1.4.6.5.3.8.7 1.2 1.1.3.5.5 1.1.5 1.9.1.3 0 1-.3 1.5z\"}},\nsnippet:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M14.5 6h-11C2.7 6 2 6.7 2 7.5v13c0 .8.7 1.5 1.5 1.5h11c.8 0 1.5-.7 1.5-1.5v-13c0-.8-.7-1.5-1.5-1.5zM48.5 6h-27c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h27c.8 0 1.5-.7 1.5-1.5v-3c0-.8-.7-1.5-1.5-1.5zM21.5 22h17c.8 0 1.5-.7 1.5-1.5v-3c0-.8-.7-1.5-1.5-1.5h-17c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5zM14.5 30h-11c-.8 0-1.5.7-1.5 1.5v13c0 .8.7 1.5 1.5 1.5h11c.8 0 1.5-.7 1.5-1.5v-13c0-.8-.7-1.5-1.5-1.5zM48.5 30h-27c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h27c.8 0 1.5-.7 1.5-1.5v-3c0-.8-.7-1.5-1.5-1.5zM38.5 40h-17c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h17c.8 0 1.5-.7 1.5-1.5v-3c0-.8-.7-1.5-1.5-1.5z\"}},\nsobject:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M6.3 4.3h4c-4.8 10.6-4.8 18.6 0 29.2h-4C.7 21.3.8 16.5 6.3 4.3zM23.7 22.4c.4 1.8.7 3.3.9 3.9.3.9.8 1.6 1.4 2.1 1.5-1.2 3.4-1.9 5.4-1.9 1.3 0 2.5.3 3.6.8.2-.3.3-.6.3-.9 0-1-.8-1.8-1.8-1.8-.3 0-.5.1-.8.2 0 0-1.9 1.1-2.6.2-.5-.9-.9-2.1-1.2-3.5-.3-1.3-.6-2.8-.9-4.3l1.9-2.8s2.2.8 3.3.8 3.3-.9 3.3-3.8-2.1-3.1-2.8-3.1c-1.3 0-2.6.9-3.7 2.9s-2.4 4.2-2.4 4.2c-.3-1.4-.5-2.5-.6-3-.2-1.2-1.6-3.9-4.5-3.9s-5.6 1.7-5.6 1.7c-.5.3-.8.9-.8 1.5 0 1 .8 1.8 1.8 1.8.3 0 .5-.1.8-.2 0 0 2.2-1.2 2.7 0 .1.4.3.8.4 1.2.6 1.9 1.1 4.1 1.5 6.2l-1.9 2.7s-2.2-.8-3.3-.8c-1.1 0-3.3.9-3.3 3.8s2.1 3.1 2.8 3.1c1.3 0 2.6-.9 3.7-2.9s2.4-4.2 2.4-4.2zM43.5 28.8c.1 0 .1.1.2.1h.9c1 0 2 .2 2.9.5 3.6-9.4 3-14.4-1.9-25.1h-4c4.1 9 4.7 16.1 1.9 24.5zM35.3 32.4c.8-.8 1.9-1.3 3.2-1.3 1.6 0 3.1.9 3.9 2.2.7-.3 1.4-.5 2.2-.5 3 0 5.4 2.4 5.4 5.4 0 3-2.4 5.4-5.4 5.4-.4 0-.7 0-1.1-.1-.7 1.2-2 2-3.4 2-.6 0-1.2-.2-1.7-.4-.7 1.6-2.3 2.7-4.1 2.7-2 0-3.6-1.2-4.2-2.9-.3 0-.5.1-.9.1-2.3 0-4.2-1.8-4.2-4.1 0-1.5.8-2.9 2.1-3.6-.3-.6-.4-1.2-.4-1.9 0-2.6 2.2-4.8 4.8-4.8 1.5-.1 2.9.7 3.8 1.8z\"}},\nsobject_collection:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M13.6 15.1c-3.4 7.5-3.4 10.5 0 18.1h2.5c-3-6.6-3-11.5-.1-18.1h-2.4zM36.9 29.4c.5-.1 1-.2 1.5-.2.4 0 .7 0 1.1.1 1.7-5.1 1.3-8.1-1.5-14.3h-2.5c2.4 5.4 2.9 9.6 1.4 14.4z\"},{\"d\":\"M22.3 38.4H8.1c-1.1 0-2-.9-2-2V10.2h39.4v20.9c1.5.2 2.8.7 4 1.4V6.1c0-2.2-1.8-4-4-4H6.2c-2.2 0-4 1.8-4 4v32.3c0 2.2 1.8 4 4 4H21c.1-1.4.5-2.8 1.3-4z\"},{\"d\":\"M35.3 34.6c.8-.8 1.9-1.3 3.2-1.3 1.7 0 3.1.9 3.9 2.2.6-.2 1.4-.5 2.2-.5 2.9 0 5.4 2.4 5.4 5.3s-2.4 5.3-5.4 5.3c-.3 0-.7 0-1-.1-.6 1.2-2 2-3.4 2-.6 0-1.2-.2-1.7-.4-.7 1.6-2.3 2.7-4.1 2.7-2 0-3.6-1.2-4.2-2.8-.2 0-.6.1-.9.1-2.3 0-4.2-1.8-4.2-4.1 0-1.5.8-2.8 2.1-3.6-.2-.6-.4-1.2-.4-1.9 0-2.6 2.2-4.7 4.8-4.7 1.5-.1 2.8.7 3.7 1.8zM23 28.9c.7-1.2 1.5-2.5 1.5-2.5.2 1.1.4 2 .6 2.4.2.7.7 1.3 1.3 1.7 1.4-1 3.2-1.6 5.1-1.6h.2c0-.6-.5-1.1-1.1-1.1-.2 0-.3.1-.5.1 0 0-1.2.6-1.6.2-.3-.6-.6-1.3-.7-2.2-.2-.8-.4-1.7-.6-2.7l1.2-1.7s1.3.5 2 .5 2.1-.6 2.1-2.4-1.3-1.9-1.7-1.9c-.8 0-1.6.6-2.3 1.7-.7 1.2-1.5 2.5-1.5 2.5-.2-.9-.3-1.6-.4-1.9-.2-.7-1-2.4-2.8-2.4-1.8 0-3.4 1-3.4 1-.3.2-.5.6-.5.9 0 .6.5 1.1 1.1 1.1.2 0 .3-.1.5-.1 0 0 1.3-.8 1.7 0 .1.2.2.5.2.8.3 1.2.6 2.5.9 3.8l-1.2 1.7s-1.3-.5-2-.5-2.1.6-2.1 2.4 1.3 1.9 1.7 1.9c.9.1 1.7-.5 2.3-1.7z\"}]},\nsocialshare:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M40.9 32c-2.6 0-4.9 1.1-6.5 2.8l-14.6-7.3c.1-.5.1-1 .1-1.6 0-.5-.1-1.1-.1-1.6L34.4 17c1.6 1.8 4 2.9 6.6 2.9 5 0 9-4 9-9s-4-9-9-9-9 4-9 9v.6l-15.1 7.6c-1.7-1.3-3.7-2.1-6-2.1-5 0-9 4-9 9s4 9 9 9c2.3 0 4.3-.8 5.9-2.2l15.1 7.5v.7c0 5 4 9 9 9s9-4 9-9-4-9-9-9z\"}},\nsort:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M27.5 16c.6-.6.6-1.5 0-2.1L16.1 2.4c-.6-.6-1.5-.6-2.1 0L2.5 13.9c-.6.6-.6 1.5 0 2.1l2.1 2.1c.6.6 1.5.6 2.1 0l3.6-3.6c.6-.6 1.7-.2 1.7.7v21.2c0 .8.7 1.5 1.5 1.5h3c.8 0 1.5-.8 1.5-1.5V15.2c0-.9 1.1-1.3 1.7-.7l3.6 3.6c.6.6 1.5.6 2.1 0l2.1-2.1zM49.5 36l-2.1-2c-.6-.6-1.5-.6-2.1 0l-3.6 3.6c-.6.6-1.7.2-1.7-.7V15.5c0-.8-.7-1.5-1.5-1.5h-3c-.8 0-1.5.8-1.5 1.5v21.2c0 .9-1.1 1.3-1.7.7l-3.6-3.6c-.6-.6-1.5-.6-2.1 0L24.5 36c-.6.6-.6 1.5 0 2.1L36 49.6c.6.6 1.5.6 2.1 0l11.5-11.5c.5-.6.5-1.6-.1-2.1z\"}}},\nsort_policy:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M12.84 2H8a6 6 0 00-6 6v3.2a6 6 0 006 6h4.84a6 6 0 006-6V8a6 6 0 00-6-6zm-1.61 10.4h-1.6a2.8 2.8 0 010-5.6h1.6a2.8 2.8 0 010 5.6zM29.7 17.2h4.81a6 6 0 006-6V8a6 6 0 00-6-6H29.7a6 6 0 00-6 6v3.2a6 6 0 006 6zm1.6-10.4h1.61a2.8 2.8 0 110 5.6H31.3a2.8 2.8 0 010-5.6zM12.84 22H8a6 6 0 00-6 6v3.2a6 6 0 006 6h4.84a6 6 0 006-6V28a6 6 0 00-6-6zm-1.61 10.4h-1.6a2.8 2.8 0 010-5.6h1.6a2.8 2.8 0 010 5.6zM49.83 42.54l-1.17-1.13a.82.82 0 00-1.17 0l-2 1.92a.54.54 0 01-.76 0 .55.55 0 01-.16-.38V34a.87.87 0 00-.83-.83H42a.89.89 0 00-.84.83v8.9a.53.53 0 01-.51.55.54.54 0 01-.41-.17l-2-1.92a.82.82 0 00-1.16 0L36 42.49a.74.74 0 00-.08 1 .6.6 0 00.08.08l6.28 6.14a.82.82 0 001.16 0l6.33-6.14a.76.76 0 00.06-1.03zM36.63 30.65l1-1.13a.74.74 0 00.08-1l-.08-.08-6.28-6.14a.82.82 0 00-1.16 0l-6.28 6.14a.74.74 0 00-.08 1l.08.08 1.17 1.13a.82.82 0 001.16 0l2-1.92a.55.55 0 01.78 0 .58.58 0 01.14.34V38a.88.88 0 00.84.83h1.68a.88.88 0 00.83-.83v-8.9a.54.54 0 01.92-.38l2 1.92a.82.82 0 001.2.01z\"}},\nspinner:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M16 27.5v-3c0-.8-.7-1.5-1.5-1.5h-11c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h11c.8 0 1.5-.7 1.5-1.5zM17.9 32c-.6-.6-1.5-.6-2.1 0L8 39.8c-.6.6-.6 1.5 0 2.1l2.1 2.1c.6.6 1.5.6 2.1 0l7.8-7.8c.6-.6.6-1.5 0-2.1L17.9 32zM34.1 20c.6.6 1.5.6 2.1 0l7.8-7.8c.6-.6.6-1.5 0-2.1L41.9 8c-.6-.6-1.5-.6-2.1 0L32 15.7c-.6.6-.6 1.5 0 2.1l2.1 2.2zM12.2 8c-.6-.6-1.5-.6-2.1 0L8 10.1c-.6.6-.6 1.5 0 2.1l7.8 7.8c.6.6 1.5.6 2.1 0l2.1-2.1c.6-.6.6-1.5 0-2.1L12.2 8zM36.3 32c-.6-.6-1.5-.6-2.1 0L32 34.1c-.6.6-.6 1.5 0 2.1l7.8 7.8c.6.6 1.5.6 2.1 0l2.1-2.1c.6-.6.6-1.5 0-2.1L36.3 32zM27.5 36h-3c-.8 0-1.5.7-1.5 1.5v11c0 .8.7 1.5 1.5 1.5h3c.8 0 1.5-.7 1.5-1.5v-11c0-.8-.7-1.5-1.5-1.5zM48.5 23h-11c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h11c.8 0 1.5-.7 1.5-1.5v-3c0-.8-.7-1.5-1.5-1.5zM27.5 2h-3c-.8 0-1.5.7-1.5 1.5v11c0 .8.7 1.5 1.5 1.5h3c.8 0 1.5-.7 1.5-1.5v-11c0-.8-.7-1.5-1.5-1.5z\"}}},\nstage:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"circle\":[{\"cx\":\"46.7\",\"cy\":\"26\",\"r\":\"3.4\"},{\"cx\":\"25.9\",\"cy\":\"26\",\"r\":\"3.4\"},{\"cx\":\"5.4\",\"cy\":\"26\",\"r\":\"3.4\"}],\"path\":{\"d\":\"M11.6 26c0 7.9 6.5 14.4 14.4 14.4S40.3 33.9 40.3 26 33.9 11.6 26 11.6 11.6 18.1 11.6 26zm23.9 0c0 5.3-4.3 9.6-9.6 9.6s-9.6-4.3-9.6-9.6 4.3-9.6 9.6-9.6 9.6 4.3 9.6 9.6z\"}},\nstage_collection:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"circle\":{\"cx\":\"25.9\",\"cy\":\"26\",\"r\":\"3.4\"},\"path\":{\"d\":\"M46.7 22.6c-1.2 0-2.3.7-2.9 1.6h-3.6c-.9-7.1-6.9-12.6-14.3-12.6s-13.4 5.5-14.3 12.6H8.3c-.6-1-1.7-1.6-2.9-1.6C3.5 22.6 2 24.1 2 26s1.5 3.4 3.4 3.4c1.2 0 2.2-.6 2.8-1.6h3.5c.9 7.1 7 12.6 14.3 12.6 7.3 0 13.3-5.5 14.3-12.6h3.6c.6.9 1.6 1.6 2.8 1.6 1.9 0 3.4-1.5 3.4-3.4s-1.5-3.4-3.4-3.4zM26 35.6c-5.3 0-9.6-4.3-9.6-9.6s4.3-9.6 9.6-9.6 9.6 4.3 9.6 9.6-4.4 9.6-9.6 9.6z\"}},\nstandard_objects:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M46.2 38.9L27.4 49.6c-1 .6-2.3.6-3.3 0L5.4 38.9c-.8-.4-.8-1.4 0-1.8l4.4-2.5c.3-.2.7-.2 1 0l11.4 6.5c1.1.6 2.3.9 3.6.9s2.5-.3 3.6-.9l11.4-6.5c.3-.2.7-.2 1 0l4.4 2.5c.8.4.8 1.4 0 1.8z\"},{\"d\":\"M46.2 26.9L27.4 37.6c-1 .6-2.3.6-3.3 0L5.4 26.9c-.8-.4-.8-1.4 0-1.8l4.4-2.5c.3-.2.7-.2 1 0l11.4 6.5c1.1.6 2.3.9 3.6.9s2.5-.3 3.6-.9l11.4-6.5c.3-.2.7-.2 1 0l4.4 2.5c.8.4.8 1.4 0 1.8z\"},{\"d\":\"M24.3 25.6L5.5 14.9c-.8-.4-.8-1.4 0-1.8L24.3 2.4c1-.6 2.3-.6 3.3 0l18.8 10.7c.8.4.8 1.4 0 1.8L27.6 25.6c-1 .5-2.3.5-3.3 0z\"}]},\nsteps:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M44.4 50.2h-7v-4.8h7v4.8zm0-2.3zm-14.1 2.3h-7v-4.8h7v4.8zm-14 0h-7v-4.8h7v4.8zm-9.4-5.9H2.1v-7h4.8v7zm43-1.7h-4.8v-7h4.8v7zm-43-12.3H2.1v-7h4.8v7zm43-1.7h-4.8v-7h4.8v7zm-43-12.3H2.1v-7h4.8v7zm43-1.6h-4.8v-7h4.8v7zm-7.3-8.1h-7V1.8h7v4.8zm-14 0h-7V1.8h7v4.8zm-13.9 0h-7V1.8h7v4.8z\"}},\nstop:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M8 8h36v36H8V8z\"}},\nstore:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M43.1 29.5h-.2c-1.6-.2-2.9-.6-4.1-1.5-.1-.1-.1-.1-.2-.1-.6-.5-1.1-.2-1.4-.1l-.1.1c-1.5 1.1-3.2 1.7-5.2 1.7-2.1 0-3.8-.6-5.4-1.8-.6-.4-1 0-1 0-1.6 1.3-3.4 1.9-5.5 1.9-2 0-3.8-.6-5.3-1.8-.1-.1-.2-.1-.2-.2-.5-.4-1 0-1 0-1.5 1.2-3.2 1.8-5.1 1.9 0 0-.6 0-.6.7v14.9c0 .3.2 1 1.1 1.2h18.5c1-.2 1.1-.9 1.1-1.2v-2.9-7.7c.1-.3.2-.6 1-.6h8.9c.3.1.6.3.6 1v10c0 1.1.8 1.3 1 1.3h2.8c.2 0 1-.2 1-1.3V30.6c.1-.8-.3-1-.7-1.1zM23.2 41v.3c0 .4-.2 1-1.2 1h-8.1c-.9 0-1.1-.4-1.2-.8v-.4-5.7c0-1.4.8-1.5 1.1-1.5h8.5c.3 0 1 .2 1 1.3-.1 2-.1 3.9-.1 5.8zM42.3 25.5c2.2.6 4.1.2 5.7-1.4 1-1 1.7-2.2 1.9-3.5v-.2c-.2-.5-.4-1-.6-1.4-2.4-4.3-4.7-8.6-7-12.9-.3-.6-1-.6-1.2-.6H10.6s-.9 0-1.2.6C7 10.4 4.7 14.8 2.4 19c-.2.4-.4 1-.4 1.6v.2c.2 1.4.8 2.6 1.8 3.5 1.8 1.6 3.8 2 6.2 1.2 1.3-.5 2.2-1.3 3-2.5l.3-.3c.5-.3 1.1-.2 1.5.3.4.6.9 1.2 1.5 1.6 1.7 1.3 3.6 1.5 5.6.9 1.3-.4 2.3-1.3 3-2.5.4-.6 1.4-.7 1.8 0 .2.2.3.5.5.7 1 1.2 2.3 1.9 3.8 2.1 1.4.2 2.8-.2 4.1-1 .7-.5 1.3-1.1 1.7-1.8.5-.6 1.4-.6 1.8 0 .8 1.3 1.8 2.1 3.3 2.5h.4z\"}}},\nstrategy:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M46.9 18.7h-8.1c-1.8 0-3.2 1.4-3.2 3.2v2h-7.5V8.1c0-.5-.5-1-1-1H16.6V5.2c0-1.8-1.4-3.2-3.2-3.2H5.3C3.6 2 2.1 3.4 2.1 5.2v8.1c0 1.8 1.4 3.2 3.2 3.2h8.1c1.8 0 3.2-1.4 3.2-3.2v-1.9H24v12.5h-7.4V22c0-1.8-1.4-3.2-3.2-3.2H5.3c-1.8 0-3.2 1.4-3.2 3.2v8c0 1.8 1.4 3.2 3.2 3.2h8.1c1.8 0 3.2-1.4 3.2-3.2v-1.9H24v12.5h-7.4v-1.8c0-1.8-1.4-3.2-3.2-3.2H5.3c-1.8 0-3.2 1.4-3.2 3.2v8.1c0 1.8 1.4 3.2 3.2 3.2h8.1c1.8 0 3.2-1.4 3.2-3.2V45h10.6c.6 0 1-.6 1-1V28.2h7.5V30c0 1.8 1.4 3.2 3.2 3.2H47c1.8 0 3.2-1.4 3.2-3.2v-8.1c-.1-1.8-1.5-3.2-3.3-3.2zm-34.4-6.3H6.2V6h6.3v6.4zm0 10.4v6.3H6.2v-6.3h6.3zm0 23.2H6.2v-6.3h6.3V46zm33.6-23.2v6.3h-6.3v-6.3h6.3z\"}},\nstrikethrough:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M12.1 18.1c-.2-1-.3-2.2-.3-3.4 0-1.3.3-2.8.9-4.2.6-1.5 1.5-2.9 2.8-4.1 1.2-1.2 2.9-2.3 4.8-3.1 2-.8 4.3-1.3 7.1-1.3 2.5 0 4.9.3 7.2 1 1.8.6 3.5 1.6 5 3 .6.6.6 1.6-.1 2.2l-2.7 2.5c-.6.5-1.5.6-2.1 0-.7-.7-1.5-1.3-2.4-1.8-1.4-.7-3-1.1-4.9-1.1-1.7 0-3.2.2-4.3.7s-2.1 1-2.8 1.8-1.2 1.5-1.5 2.3-.4 1.6-.4 2.2c0 1.1.2 2 .5 2.8.3.7-.2 1.4-.9 1.4h-4.9c-.5 0-.9-.5-1-.9zM39.9 33h-5c-.7 0-1.2.7-.9 1.3.3.6.4 1.4.4 2.2 0 1.2-.3 2.3-.8 3.3-.6 1-1.3 1.7-2.2 2.4-.9.6-1.9 1.1-3 1.4-1.1.3-2.1.5-3.2.5-1.9 0-3.7-.4-5.4-1.2-1.3-.6-2.4-1.4-3.4-2.5-.5-.6-1.5-.7-2.1-.2l-2.8 2.4c-.6.5-.7 1.5-.1 2.1 1.4 1.6 3.2 2.8 5.3 3.6 2.6 1 5.4 1.5 8.4 1.5 2.2 0 4.3-.3 6.2-1 1.9-.6 3.6-1.6 5.1-2.8 1.4-1.2 2.6-2.7 3.4-4.5.8-1.8 1.3-3.7 1.3-5.9 0-.8 0-1.3-.1-2-.2-.2-.6-.6-1.1-.6zM49.9 23.9c-.2-.6-.8-.9-1.4-.9h-45c-.7 0-1.2.3-1.4.9-.1.2-.1.3-.1.5v3c0 .8.7 1.6 1.5 1.6h45c.8 0 1.5-.8 1.5-1.6v-3c0-.2 0-.3-.1-.5z\"}},\nsuccess:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M26 2C12.7 2 2 12.7 2 26s10.7 24 24 24 24-10.7 24-24S39.3 2 26 2zm13.4 18L24.1 35.5c-.6.6-1.6.6-2.2 0L13.5 27c-.6-.6-.6-1.6 0-2.2l2.2-2.2c.6-.6 1.6-.6 2.2 0l4.4 4.5c.4.4 1.1.4 1.5 0L35 15.5c.6-.6 1.6-.6 2.2 0l2.2 2.2c.7.6.7 1.6 0 2.3z\"}},\nsummary:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M48.5 2h-45C2.7 2 2 2.7 2 3.5v5c0 .8.7 1.5 1.5 1.5h45c.8 0 1.5-.7 1.5-1.5v-5c0-.8-.7-1.5-1.5-1.5zM48.5 14h-35c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h35c.8 0 1.5-.7 1.5-1.5v-3c0-.8-.7-1.5-1.5-1.5zM48.5 34h-35c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h35c.8 0 1.5-.7 1.5-1.5v-3c0-.8-.7-1.5-1.5-1.5z\"},{\"d\":\"M48.5 44h-39c-.8 0-1.5-.7-1.5-1.5v-7c0-.8-.7-1.5-1.5-1.5h-3c-.8 0-1.5.7-1.5 1.5v13c0 .8.7 1.5 1.5 1.5h45c.8 0 1.5-.7 1.5-1.5v-3c0-.8-.7-1.5-1.5-1.5zM48.5 24h-39c-.8 0-1.5-.7-1.5-1.5v-7c0-.8-.7-1.5-1.5-1.5h-3c-.8 0-1.5.7-1.5 1.5v13c0 .8.7 1.5 1.5 1.5h45c.8 0 1.5-.7 1.5-1.5v-3c0-.8-.7-1.5-1.5-1.5z\"}]},\nsummarydetail:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M48.5 2h-45C2.7 2 2 2.7 2 3.5v5c0 .8.7 1.5 1.5 1.5h45c.8 0 1.5-.7 1.5-1.5v-5c0-.8-.7-1.5-1.5-1.5zM20.5 14h-7c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h7c.8 0 1.5-.7 1.5-1.5v-3c0-.8-.7-1.5-1.5-1.5zM34.5 14h-7c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h7c.8 0 1.5-.7 1.5-1.5v-3c0-.8-.7-1.5-1.5-1.5zM48.5 14h-7c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h7c.8 0 1.5-.7 1.5-1.5v-3c0-.8-.7-1.5-1.5-1.5zM20.5 34h-7c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h7c.8 0 1.5-.7 1.5-1.5v-3c0-.8-.7-1.5-1.5-1.5zM34.5 34h-7c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h7c.8 0 1.5-.7 1.5-1.5v-3c0-.8-.7-1.5-1.5-1.5zM48.5 34h-7c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h7c.8 0 1.5-.7 1.5-1.5v-3c0-.8-.7-1.5-1.5-1.5z\"},{\"d\":\"M48.5 44h-39c-.8 0-1.5-.7-1.5-1.5v-7c0-.8-.7-1.5-1.5-1.5h-3c-.8 0-1.5.7-1.5 1.5v13c0 .8.7 1.5 1.5 1.5h45c.8 0 1.5-.7 1.5-1.5v-3c0-.8-.7-1.5-1.5-1.5zM48.5 24h-39c-.8 0-1.5-.7-1.5-1.5v-7c0-.8-.7-1.5-1.5-1.5h-3c-.8 0-1.5.7-1.5 1.5v13c0 .8.7 1.5 1.5 1.5h45c.8 0 1.5-.7 1.5-1.5v-3c0-.8-.7-1.5-1.5-1.5z\"}]},\nsurvey:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M5.23 3h35.54A3.29 3.29 0 0144 6.33v3.34A3.29 3.29 0 0140.77 13H5.23A3.29 3.29 0 012 9.67V6.33A3.29 3.29 0 015.23 3zm-.08 15h19.7A3.26 3.26 0 0128 21.33v3.34A3.26 3.26 0 0124.85 28H5.15A3.26 3.26 0 012 24.67v-3.34A3.26 3.26 0 015.15 18zM39 28a11 11 0 11-11 11 11 11 0 0111-11zm7 7.92a.84.84 0 000-1l-1.12-1a.77.77 0 00-1.12 0l-6 6.72-2.72-2.72a.77.77 0 00-1.12 0l-1.12 1a.68.68 0 000 1l3.84 3.76a1.58 1.58 0 001.12.48 1.45 1.45 0 001.12-.48zM5.2 33h18.56a16.14 16.14 0 00-1 5 17.11 17.11 0 00.48 5H5.2A3.28 3.28 0 012 39.67v-3.34A3.28 3.28 0 015.2 33z\"}},\nswarm_request:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"circle\":[{\"cx\":\"20.15\",\"cy\":\"9.99\",\"r\":\"4.28\"},{\"cx\":\"31.84\",\"cy\":\"9.99\",\"r\":\"4.28\"},{\"cx\":\"11.36\",\"cy\":\"19.96\",\"r\":\"5.42\"},{\"cx\":\"40.78\",\"cy\":\"19.96\",\"r\":\"5.42\"},{\"cx\":\"26.07\",\"cy\":\"23.06\",\"r\":\"5.42\"}],\"path\":{\"d\":\"M32.19 46.29a2.79 2.79 0 002.17-.93 3.1 3.1 0 00.93-2.17v-7a4.66 4.66 0 00-4.64-4.64h-9.3a4.66 4.66 0 00-4.64 4.64v7a3.18 3.18 0 003.1 3.1zM12 43.19v-7a9.13 9.13 0 012.63-6.42.81.81 0 00-.08-1.13.79.79 0 00-.46-.19H6.65A4.66 4.66 0 002 33.12v7a3.18 3.18 0 003.1 3.1zM46.9 43.19a2.84 2.84 0 002.17-.93 3.1 3.1 0 00.93-2.17v-7a4.66 4.66 0 00-4.65-4.65h-7.43a.77.77 0 00-.54 1.32A9.28 9.28 0 0140 36.22v7z\"}}},\nswarm_session:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M19 11.48c0 .08.08.16.08.24a.29.29 0 00-.08-.24z\",\"fill-rule\":\"evenodd\"},{\"d\":\"M19.05 11.48c0 .08.08.16.08.24a4.29 4.29 0 00.4.88 6.88 6.88 0 0012.06.47 16.4 16.4 0 0110.69 12.38c.32 0 .64-.08.88-.08A12.35 12.35 0 0147 26 20.84 20.84 0 0032.55 8.6a6.5 6.5 0 00-.72-2.31 7 7 0 00-9.34-3 6.86 6.86 0 00-3.76 7.42 5.52 5.52 0 01.32.77zM15.14 33.75A6.86 6.86 0 009.71 30a8.23 8.23 0 01-.08-1.44 16.84 16.84 0 016.23-12.93 10 10 0 00-.64-1 13.25 13.25 0 01-1.12-3.43 21.13 21.13 0 00-9.18 17.36c0 .88.08 1.68.16 2.56a7 7 0 1010.06 2.63zM49.23 33.75a6.94 6.94 0 00-12.37 6.31c.08.16.24.4.32.56A16.36 16.36 0 0126 45a16.65 16.65 0 01-7.42-1.84 10.24 10.24 0 01-3.36 3.35 20.67 20.67 0 0010.86 3 21.14 21.14 0 0014.85-6.15 6.31 6.31 0 005.35-.4 6.75 6.75 0 002.95-9.21zM19.13 34.15a.32.32 0 00.4.4l2.64-1a.49.49 0 01.56.08 6.34 6.34 0 003.67 1 7.13 7.13 0 007.34-6.87 7.13 7.13 0 00-7.34-6.86 7.12 7.12 0 00-7.27 6.86A7.41 7.41 0 0020 31a.7.7 0 01.08.56z\",\"fill-rule\":\"evenodd\"}]},\nswitch:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M47.6 17.8L27.1 38.5c-.6.6-1.6.6-2.2 0L4.4 17.8c-.6-.6-.6-1.6 0-2.2l2.2-2.2c.6-.6 1.6-.6 2.2 0l16.1 16.3c.6.6 1.6.6 2.2 0l16.1-16.3c.6-.6 1.6-.6 2.2 0l2.2 2.2c.5.7.5 1.6 0 2.2z\"}},\nsymbols:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M33.5 28l1-4h3l-1 4h-3zm-.75 3h3L35 34h3l.75-3H42v-3h-2.5l1-4h3v-3h-2.25l.75-3h-3l-.75 3h-3l.75-3h-3l-.75 3H29v3h2.5l-1 4H27v3h2.75L29 34h3l.75-3zM4 6h44a2 2 0 012 2v36a2 2 0 01-2 2H4a2 2 0 01-2-2V8a2 2 0 012-2zm19.837 20.81c.609-.446 1.096-.84 1.464-1.186.38-.357.708-.797.985-1.319.284-.536.425-1.156.425-1.855 0-.897-.226-1.703-.677-2.411-.45-.707-1.087-1.262-1.905-1.663-.813-.4-1.745-.598-2.794-.598-1.24 0-2.32.232-3.237.698-.913.464-1.726 1.144-2.437 2.036l-.149.187 2.084 1.817.165-.187c.51-.58 1.022-1.009 1.537-1.287.504-.273 1.109-.41 1.817-.41.674 0 1.197.177 1.58.528.38.347.568.808.568 1.4 0 .483-.144.882-.432 1.21-.316.357-.805.775-1.466 1.249-.746.522-1.315 1.008-1.704 1.459-.415.48-.622 1.084-.622 1.802V29h3.14v-.28c0-.316.114-.592.35-.84.265-.28.701-.637 1.308-1.07zM10 18v11h3V18h-3zm1.5 16.5a2 2 0 100-4 2 2 0 000 4zm9 0a2 2 0 100-4 2 2 0 000 4z\"}},\nsync:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M47.9 29.3c0-.8-.7-1.5-1.5-1.5h-3.5c-.8 0-1.4.6-1.4 1.4 0 .2 0 .5-.1.7-.3 1.3-.8 2.5-1.5 3.7-2.8 4.9-7.7 7.6-12.9 7.6-4 0-7.8-1.6-10.6-4.4-.5-.4-.9-.9-1.2-1.4-.3-.8.4-1.2 1.3-1.2h7c.8 0 1.5-.7 1.5-1.5v-3.1c0-.8-.6-1.4-1.4-1.4H5.3c-.7 0-1.3.6-1.3 1.3v18.2c.1.8.8 1.5 1.6 1.5h3c.8 0 1.5-.7 1.5-1.5v-7c0-.9.5-1.3 1.2-.7.3.4.6.7 1 1 5 5 12 7.1 19.2 5.7 2.5-.5 4.9-1.5 7-2.9 5.2-3.4 8.5-8.6 9.4-14.3v-.2zM4.1 22.7c0 .8.7 1.5 1.5 1.5h3.5c.8 0 1.4-.6 1.4-1.4 0-.2 0-.5.1-.7.3-1.3.8-2.5 1.5-3.7 2.8-4.9 7.7-7.6 12.9-7.6 4 0 7.8 1.6 10.6 4.4.5.4.9.9 1.2 1.4.3.8-.4 1.2-1.3 1.2h-7c-.8 0-1.5.7-1.5 1.5v3.1c0 .8.6 1.4 1.4 1.4h18.3c.7 0 1.3-.6 1.3-1.3V4.3c-.1-.8-.8-1.5-1.6-1.5h-3c-.8 0-1.5.7-1.5 1.5v7c0 .9-.5 1.3-1.2.7-.3-.4-.6-.7-1-1-5-5-12-7.1-19.2-5.7-2.5.5-4.9 1.5-7 2.9-5.2 3.4-8.5 8.6-9.4 14.3v.2z\"}},\nsystem_and_global_variable:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M25 46.5c0-3 1.4-5.2 3.4-6.5v-3c-1-.7-1.8-1.8-2.2-3-.4-1.7.2-3.6 1.2-5 .2-.3.6-.6.9-1 .3-.3.7-.6 1.1-.7 2.1-1.1 4.5-1.9 6.9-1.9 2.2 0 4.1.9 5.4 2.2 1.9-1.9 3.9-2.3 5.1-2.3 1.1 0 2.2.2 3.1.7v-.2C50 12.8 39.2 2 26 2S2 12.8 2 26s10.7 24 23.8 24c-.5-1-.8-2.1-.8-3.5zm20-22.9h-6.3C38.5 18 37.2 13 35.3 9.2c5.3 3 8.9 8.3 9.7 14.4zM28.4 7.9c2.7 2.3 5.1 8.2 5.5 15.8h-5.5V7.9zM7 28.4h6.3c.2 5.7 1.5 10.6 3.4 14.4-5.3-2.9-8.9-8.2-9.7-14.4zm6.3-4.8H7c.8-6.2 4.5-11.4 9.8-14.4-2 3.8-3.2 8.8-3.5 14.4zm10.3 20.6c-2.7-2.3-5.1-8.2-5.5-15.8h5.5v15.8zm0-20.6h-5.5c.4-7.5 2.8-13.4 5.5-15.8v15.8z\"},{\"d\":\"M46.4 36c1 0 3.1-.9 3.1-3.6s-2-2.9-2.6-2.9c-1.2 0-2.4.9-3.4 2.7-1.1 1.8-2.3 3.9-2.3 3.9h-.1c-.2-1.3-.5-2.4-.6-2.9-.2-1.1-1.5-3.6-4.2-3.6s-5.2 1.6-5.2 1.6c-.5.3-.8.8-.8 1.4 0 .9.7 1.7 1.7 1.7.2 0 .5-.1.7-.2 0 0 2.1-1.1 2.5 0 .2.3.2.7.4 1.1.6 1.8 1 3.9 1.4 5.8l-1.8 2.5s-2-.7-3-.7-3.1.9-3.1 3.6 2 2.9 2.6 2.9c1.2 0 2.4-.9 3.4-2.7 1-1.8 2.2-3.9 2.2-3.9.3 1.7.6 3 .8 3.6.7 1.9 2.2 3.1 4.3 3.1 0 0 2.2 0 4.6-1.4.6-.2 1-.9 1-1.5 0-.9-.7-1.7-1.7-1.7-.2 0-.5.1-.7.2 0 0-1.8 1-2.4.2-.5-.8-.8-1.9-1.1-3.4-.2-1.2-.6-2.6-.9-4.1l1.8-2.6c.4.1 2.4.9 3.4.9z\"}]},\ntable:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M46.5 2h-41C4.7 2 4 2.7 4 3.5v5c0 .8.7 1.5 1.5 1.5h41c.8 0 1.5-.7 1.5-1.5v-5c0-.8-.7-1.5-1.5-1.5zM14.5 14h-9c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h9c.8 0 1.5-.7 1.5-1.5v-3c0-.8-.7-1.5-1.5-1.5zM30.5 14h-9c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h9c.8 0 1.5-.7 1.5-1.5v-3c0-.8-.7-1.5-1.5-1.5zM46.5 14h-9c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h9c.8 0 1.5-.7 1.5-1.5v-3c0-.8-.7-1.5-1.5-1.5zM14.5 24h-9c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h9c.8 0 1.5-.7 1.5-1.5v-3c0-.8-.7-1.5-1.5-1.5zM30.5 24h-9c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h9c.8 0 1.5-.7 1.5-1.5v-3c0-.8-.7-1.5-1.5-1.5zM46.5 24h-9c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h9c.8 0 1.5-.7 1.5-1.5v-3c0-.8-.7-1.5-1.5-1.5zM14.5 34h-9c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h9c.8 0 1.5-.7 1.5-1.5v-3c0-.8-.7-1.5-1.5-1.5zM30.5 34h-9c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h9c.8 0 1.5-.7 1.5-1.5v-3c0-.8-.7-1.5-1.5-1.5zM46.5 34h-9c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h9c.8 0 1.5-.7 1.5-1.5v-3c0-.8-.7-1.5-1.5-1.5zM14.5 44h-9c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h9c.8 0 1.5-.7 1.5-1.5v-3c0-.8-.7-1.5-1.5-1.5zM30.5 44h-9c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h9c.8 0 1.5-.7 1.5-1.5v-3c0-.8-.7-1.5-1.5-1.5zM46.5 44h-9c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h9c.8 0 1.5-.7 1.5-1.5v-3c0-.8-.7-1.5-1.5-1.5z\"}},\ntable_settings:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M21.5 20h9c.8 0 1.5-.7 1.5-1.5v-3c0-.8-.7-1.5-1.5-1.5h-9c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5zM46.5 14h-9c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h9c.8 0 1.5-.7 1.5-1.5v-3c0-.8-.7-1.5-1.5-1.5zM5.5 10h41c.8 0 1.5-.7 1.5-1.5v-5c0-.8-.7-1.5-1.5-1.5h-41C4.7 2 4 2.7 4 3.5v5c0 .8.7 1.5 1.5 1.5zM48 27.4v-1.9c0-.8-.7-1.5-1.5-1.5h-2.7c1.3.7 2.5 1.6 3.5 2.7.3.2.5.5.7.7zM20 25.5v3c0 .8.7 1.5 1.5 1.5h.7c.7-1.2 1.5-2.3 2.5-3.3 1.1-1.1 2.3-2 3.5-2.7h-6.7c-.8 0-1.5.7-1.5 1.5zM24.7 49.3c-1.5-1.5-2.7-3.3-3.5-5.2-.7.1-1.2.8-1.2 1.5v3c0 .8.7 1.5 1.5 1.5h4c-.3-.3-.5-.6-.8-.8zM14.5 14h-9c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h9c.8 0 1.5-.7 1.5-1.5v-3c0-.8-.7-1.5-1.5-1.5zM14.5 24h-9c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h9c.8 0 1.5-.7 1.5-1.5v-3c0-.8-.7-1.5-1.5-1.5zM14.5 44h-9c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h9c.8 0 1.5-.7 1.5-1.5v-3c0-.8-.7-1.5-1.5-1.5zM14.5 34h-9c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h9c.8 0 1.5-.7 1.5-1.5v-3c0-.8-.7-1.5-1.5-1.5z\"},\"g\":{\"path\":[{\"d\":\"M36.1 35c-1.7 0-3 1.3-3 3s1.3 3 3 3c1.6 0 2.9-1.4 3-3-.1-1.7-1.4-3-3-3z\"},{\"d\":\"M44.5 29.5c-4.7-4.7-12.3-4.7-17 0-4.7 4.7-4.7 12.3 0 17 4.7 4.7 12.3 4.7 17 0 4.7-4.7 4.7-12.3 0-17zm-.6 9.5c0 .3-.1.5-.5.5-.4.1-.8.1-1.2.1-.1 0-.1.1-.1.1-.1.5-.4.8-.5 1.3-.1.1-.1.1 0 .2.2.4.5.7.7 1 .1.2.1.5-.1.7l-1.3 1.3c-.2.1-.3.1-.4.1s-.3-.1-.3-.1c-.3-.2-.7-.5-1-.7 0-.1-.1-.1-.1-.1H39c-.3.1-.8.4-1.3.5-.1 0-.1.1-.1.1-.1.4-.1.8-.1 1.2-.1.3-.5.5-.5.5h-1.9c-.3 0-.5-.1-.5-.5-.1-.4-.1-.8-.1-1.2 0-.1-.1-.1-.1-.1-.5-.1-.8-.4-1.3-.5H33c-.1 0-.1.1-.1.1-.4.2-.7.5-1 .7-.1.1-.3.1-.3.1-.2 0-.3 0-.4-.1l-1.3-1.3c-.2-.2-.2-.5-.1-.7.2-.3.5-.7.7-1 .1-.1 0-.1 0-.2-.1-.5-.4-.8-.5-1.3 0-.1-.1-.1-.1-.1-.4-.1-.7-.1-1.1-.1-.2-.1-.4-.2-.5-.4v-2.2c.1-.3.3-.4.5-.4.4-.1.7-.1 1.1-.1.1 0 .1-.1.1-.1.1-.5.4-.8.5-1.3.1-.1.1-.1 0-.2-.2-.4-.5-.7-.7-1-.1-.2-.1-.5.1-.7l1.3-1.3c.2-.1.2-.1.4-.1s.3.1.3.1c.4.2.7.5 1 .7l.1.1c.5-.1.8-.4 1.3-.5.1 0 .1-.1.1-.1.1-.4.1-.7.1-1.1 0-.2.2-.4.3-.5.1-.1.2-.1.3-.1H37s.1 0 .1.1c.3.1.3.3.3.5.1.4.1.7.1 1.1 0 .1.1.1.1.1.5.1.8.4 1.3.5h.1s0-.1.1-.1c.3-.2.7-.5 1-.7.1-.1.3-.1.3-.1.1 0 .3.1.3.1l1.3 1.3c.2.2.2.5.1.7-.2.3-.5.7-.7 1v.2c.1.3.4.8.5 1.3 0 .1.1.1.1.1.4.1.8.1 1.2.1.3.1.5.2.5.7V39z\"}]}}},\ntablet_landscape:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M50 10c0-2.2-1.8-4-4-4H6c-2.2 0-4 1.8-4 4v32c0 2.2 1.8 4 4 4h40c2.2 0 4-1.8 4-4V10zM6.9 29c-1.7 0-3-1.3-3-3s1.3-3 3-3 3 1.3 3 3-1.4 3-3 3zM44 38.5c0 .8-.7 1.5-1.5 1.5h-29c-.8 0-1.5-.7-1.5-1.5v-25c0-.8.7-1.5 1.5-1.5h29c.8 0 1.5.7 1.5 1.5v25z\"}},\ntablet_portrait:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M46 6c0-2.2-1.8-4-4-4H10C7.8 2 6 3.8 6 6v40c0 2.2 1.8 4 4 4h32c2.2 0 4-1.8 4-4V6zM25.9 48c-1.7 0-3-1.3-3-3s1.3-3 3-3 3 1.3 3 3-1.4 3-3 3zM40 38.5c0 .8-.7 1.5-1.5 1.5h-25c-.8 0-1.5-.7-1.5-1.5v-29c0-.8.7-1.5 1.5-1.5h25c.8 0 1.5.7 1.5 1.5v29z\"}},\ntabset:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M31.6 2H20.4c-.7 0-1.2.6-1.2 1.3v2.5c0 .7.6 1.3 1.2 1.3h11.2c.7 0 1.2-.6 1.2-1.3V3.3c.1-.7-.5-1.3-1.2-1.3zM48.7 2H37.5c-.7 0-1.3.6-1.3 1.3v2.5c0 .7.6 1.3 1.3 1.3h11.2c.7-.1 1.3-.6 1.3-1.3V3.3c0-.7-.6-1.3-1.3-1.3z\"},{\"d\":\"M48.7 10.4H17c-.7 0-1.3-.6-1.3-1.3V3.3c0-.7-.6-1.3-1.3-1.3H3.3C2.6 2 2 2.6 2 3.3v45.5c0 .6.6 1.2 1.3 1.2H48.7c.7 0 1.3-.6 1.3-1.3v-37c0-.7-.6-1.3-1.3-1.3z\"}]},\ntalent_development:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"circle\":{\"cx\":\"16.35\",\"cy\":\"20.81\",\"r\":\"7.21\"},\"path\":[{\"d\":\"M16.35 29.62h-.17A10.76 10.76 0 005.85 40.5v2.58a1.29 1.29 0 001.29 1.29H25.6a1.27 1.27 0 001.26-1.25v-3a10.51 10.51 0 00-10.51-10.5zM31.34 27.77l-4.12 4.39a13.4 13.4 0 012.62 8v3a4.42 4.42 0 01-.21 1.25h.13a18.28 18.28 0 0012.44-4.9L31.36 27.77z\"},{\"d\":\"M41.12 11.54A18.36 18.36 0 0019.19 11a10.2 10.2 0 013.94 17.44 14.64 14.64 0 012.08 1.5l4.67-5v-7.65a1.5 1.5 0 011.5-1.5h6.09a1.5 1.5 0 011.5 1.5v4.19a1.5 1.5 0 01-1.5 1.5h-4.59v2L44.24 37.3a18.35 18.35 0 00-3.12-25.76z\"}]},\ntarget:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M26.2 2.3H26A18.74 18.74 0 007.3 21v.2c0 13 13.4 25 17.6 28.1a2 2 0 002.5 0c4.2-3.3 17.5-15.1 17.5-28.1A19 19 0 0026.2 2.3zM26 7.5a13.53 13.53 0 0110.6 21.9c-1.1-1.6-3.4-2.8-5.6-3.7a.37.37 0 00-.3-.1.85.85 0 00-.7 0 8.12 8.12 0 01-4 1.2 7 7 0 01-4-1.2.85.85 0 00-.7 0 .37.37 0 01-.3.1c-2.2 1-4.5 2.1-5.6 3.8A13.6 13.6 0 0126 7.5z\"},\"ellipse\":{\"cx\":\"26\",\"cy\":\"18.3\",\"rx\":\"5.6\",\"ry\":\"6.2\"}},\ntarget_mode:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M24.56 45.75A1.45 1.45 0 0026 44.3l.08-16.77A1.5 1.5 0 0024.81 26H7.72a1.49 1.49 0 00-1.53 1.29v3.3a1.49 1.49 0 001.29 1.53H13a1.08 1.08 0 011.05 1.05 1.1 1.1 0 01-.25.73L2.56 45.18a1.65 1.65 0 00-.08 2.26l2.18 2.17a1.7 1.7 0 002.25-.08l11.37-11.36a1 1 0 011.45 0 .75.75 0 01.24.73v5.31a1.51 1.51 0 001.29 1.54h3.3z\"},{\"d\":\"M30.53 48.33a24 24 0 0012.57-6.45 23.37 23.37 0 10-33-33.05 23.09 23.09 0 00-6.49 12.49h4.75a18.65 18.65 0 0131.44-9.18 18.66 18.66 0 01-9.11 31.43zm.24-9.6a13.14 13.14 0 005.72-3.46 14 14 0 00-19.82-19.83 13.86 13.86 0 00-3.47 5.8h5a9.21 9.21 0 011.8-2.58 9.35 9.35 0 0113.19 13.22 10.49 10.49 0 01-2.42 1.78z\"}]},\ntask:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M24 7l-1.7-1.7c-.5-.5-1.2-.5-1.7 0L10 15.8l-4.3-4.2c-.5-.5-1.2-.5-1.7 0l-1.7 1.7c-.5.5-.5 1.2 0 1.7l5.9 5.9c.5.5 1.1.7 1.7.7.6 0 1.2-.2 1.7-.7L24 8.7c.4-.4.4-1.2 0-1.7zM48.4 18.4H27.5c-.9 0-1.6-.7-1.6-1.6v-3.2c0-.9.7-1.6 1.6-1.6h20.9c.9 0 1.6.7 1.6 1.6v3.2c0 .9-.7 1.6-1.6 1.6zM48.4 32.7H22.7c-.9 0-1.6-.7-1.6-1.6v-3.2c0-.9.7-1.6 1.6-1.6h25.7c.9 0 1.6.7 1.6 1.6v3.2c0 .9-.7 1.6-1.6 1.6zM13 32.7H9.8c-.9 0-1.6-.7-1.6-1.6v-3.2c0-.9.7-1.6 1.6-1.6H13c.9 0 1.6.7 1.6 1.6v3.2c.1.9-.7 1.6-1.6 1.6zM13 47H9.8c-.9 0-1.6-.7-1.6-1.6v-3.2c0-.9.7-1.6 1.6-1.6H13c.9 0 1.6.7 1.6 1.6v3.2c.1.9-.7 1.6-1.6 1.6zM48.4 47H22.7c-.9 0-1.6-.7-1.6-1.6v-3.2c0-.9.7-1.6 1.6-1.6h25.7c.9 0 1.6.7 1.6 1.6v3.2c0 .9-.7 1.6-1.6 1.6z\"}},\ntext:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M49.4 47.9c-.2-3.2-.3-6.5-.3-9.7 0-1.6 0-3.2.1-4.9 0-1.5.2-3-.4-4.4-1.3-3.2-5.5-3.8-8.5-3.8-1.5 0-3.1.2-4.7.6-1.1.3-2.2.7-3.1 1.2l1 2.5c.2.5.3 1 .4 1.5 2-1 4-1.5 6.1-1.5 3.2 0 4.8 1.3 4.8 3.8v1.2h-2.2c-4.1 0-7.2.6-9.3 1.8-2.3 1.1-3.3 3.2-3.3 6.3 0 2.3.7 4.1 2.1 5.3 1.4 1.2 3.2 1.9 5.4 1.9 1.9 0 3.4-.3 4.6-.8 1.2-.5 2.2-1.4 3-2.5h.1c.1.5.2 1.4.4 2.6 0 .1 3.6 0 3.9 0 0-.4-.1-.7-.1-1.1zM44.8 40c0 .6-.1 1.1-.3 1.6-.1.4-.3.8-.6 1.1-1 1.4-2.6 2.1-4.2 2.3-1 .2-2 .1-3-.1-.8-.1-1.5-.5-2-1.2-.7-1.1-.5-2.8.2-3.8.5-.6 1.2-1 1.9-1.3C38.7 38 41 38 43 38h1.7v2zM29.9 31L18.7 3.4c-.2-.5-.6-.9-1.2-.9H14c-.5 0-1.1.4-1.3.9L2.6 31c-.3.5.2 1.2.7 1.2h3.9c.5 0 1.1-.4 1.3-1L11 24h10l2.9 7.2c.2.5.7 1 1.3 1h3.9c.6 0 1-.7.8-1.2zM13.1 18.5L16 11l3.2 7.5h-6.1z\"}},\ntext_background_color:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M25.9 16l4.3 10h-9l3.9-10h.8zM48 8v36c0 2.2-1.8 4-4 4H8c-2.2 0-4-1.8-4-4V8c0-2.2 1.8-4 4-4h36c2.2 0 4 1.8 4 4zm-5.5 32.7L30.5 11c-.3-.6-.8-1-1.5-1h-7.1c-.6 0-1.2.4-1.4 1l-11 29.7c-.2.6.2 1.3.9 1.3h4.1c.6 0 1.2-.5 1.4-1.1l3.2-8.9h13.4l3.5 8.9c.2.6.8 1.1 1.4 1.1h4.1c.7 0 1.2-.7 1-1.3z\"}},\ntext_color:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M10.4 36h4.1c.6 0 1.2-.5 1.4-1.1l3.2-8.9h13.4l3.5 8.9c.2.6.8 1.1 1.4 1.1h4.1c.7 0 1.2-.7.9-1.3L30.4 5c-.2-.6-.7-1-1.3-1H22c-.6 0-1.2.4-1.4 1l-11 29.7c-.3.6.2 1.3.8 1.3zm14.7-26h.9l4.3 10h-9l3.8-10zM48.5 42h-45c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h45c.8 0 1.5-.7 1.5-1.5v-3c0-.8-.7-1.5-1.5-1.5z\"}},\ntext_template:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M20.1 37.2V37c.2-2.7 2.4-4.9 5.2-4.9H32c-1.1-1.9-.9-4.4.7-6.2l.2-.2 1.6-1.5c.9-1 2.2-1.5 3.4-1.6V6.1c0-2.2-1.8-4-4-4H6.1c-2.2 0-4 1.8-4 4V34c0 2.2 1.8 4 4 4H20v-.8zM8.1 8.3c0-.6.4-1 1-1h6c.6 0 1 .4 1 1v2.8c0 .6-.4 1-1 1h-6c-.6 0-1-.4-1-1V8.3zm0 8.7c0-.6.4-1 1-1H31c.6 0 1 .4 1 1v2.8c0 .6-.4 1-1 1H9.2c-.6 0-1-.4-1-1L8.1 17zm0 11.6v-2.8c0-.6.4-1 1-1h18c.6 0 1 .4 1 1v2.8c0 .6-.4 1-1 1H9.2c-.7 0-1.1-.4-1.1-1z\"},{\"d\":\"M39.2 27c-.6-.5-1.3-.5-1.7 0l-1.7 1.6c-.4.5-.4 1.2 0 1.6l4.4 4.4c.2.2.2.3.2.6 0 .5-.3.8-.8.8H25.3c-.6 0-1.1.5-1.2 1.1v2.4c.1.6.6 1.1 1.2 1.3h14.3c.2 0 .3.1.4.2.3.2.4.8.2 1.1l-4.4 4.4c-.4.5-.4 1.2 0 1.6l1.6 1.7c.5.4 1.2.4 1.6 0l10.6-10.6c.4-.5.4-1.2 0-1.6L39.2 27z\"}]},\ntextarea:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M44.8 49.5H7.2c-2.6 0-4.7-2.1-4.7-4.7V7.2c0-2.6 2.1-4.7 4.7-4.7h37.6c2.6 0 4.7 2.1 4.7 4.7v37.6c0 2.6-2.1 4.7-4.7 4.7zm-36-39.2v31.3c0 .9.7 1.6 1.6 1.6h31.3c.9 0 1.6-.7 1.6-1.6V10.3c0-.9-.7-1.6-1.6-1.6H10.4c-.9.1-1.6.8-1.6 1.6z\"},{\"d\":\"M35.3 27c.8 0 1.6.7 1.6 1.6v6.8c0 .9-.7 1.6-1.6 1.6h-7.2c-.9 0-1.5-.7-1.6-1.6 0-.6.3-1 .6-1.4l1.5-1.5c1-1 2.1-1.9 3.1-2.8.7-.7 1.4-1.3 2.2-2 .2-.2.4-.4.6-.5.4-.2.6-.2.8-.2z\"}]},\ntextbox:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M44.7 49.4H7.3c-2.6 0-4.7-2.1-4.7-4.7V7.3c0-2.6 2.1-4.7 4.7-4.7h37.5c2.6 0 4.7 2.1 4.7 4.7v37.5c-.1 2.5-2.2 4.6-4.8 4.6zm-35.8-39v31.2c0 .9.7 1.6 1.6 1.6h31.2c.9 0 1.6-.7 1.6-1.6V10.4c0-.9-.7-1.6-1.6-1.6H10.5c-.9 0-1.6.7-1.6 1.6z\"},{\"d\":\"M15.2 35.3V16.7c0-.9.7-1.6 1.6-1.6h3.1c.9 0 1.6.7 1.6 1.6v18.6c0 .9-.7 1.6-1.6 1.6h-3.1c-.9 0-1.6-.7-1.6-1.6z\"}]},\nthreedots:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M8 20c3.3 0 6 2.7 6 6s-2.7 6-6 6-6-2.7-6-6 2.7-6 6-6zm18 0c3.3 0 6 2.7 6 6s-2.7 6-6 6-6-2.7-6-6 2.7-6 6-6zm18 0c3.3 0 6 2.7 6 6s-2.7 6-6 6-6-2.7-6-6 2.7-6 6-6z\"}},\nthreedots_vertical:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M20 44c0-3.3 2.7-6 6-6s6 2.7 6 6-2.7 6-6 6-6-2.7-6-6zm0-18c0-3.3 2.7-6 6-6s6 2.7 6 6-2.7 6-6 6-6-2.7-6-6zm0-18c0-3.3 2.7-6 6-6s6 2.7 6 6-2.7 6-6 6-6-2.7-6-6z\"}},\nthunder:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M30.349 3.077a3.704 3.704 0 00-5.222 0l-22.05 22.05a3.702 3.702 0 000 5.221L14.82 42.092a3.703 3.703 0 005.222 0l22.05-22.05a3.706 3.706 0 000-5.222L30.349 3.077zM12.177 5.009c-.522-.522-1.436-.522-1.958 0l-5.204 5.204c-.522.522-.522 1.437 0 1.958l1.958 1.958c.522.521 1.436.521 1.958 0l5.205-5.205c.522-.522.522-1.436 0-1.958l-1.959-1.957zM31.062 36.261c-.522.522-.521 1.437 0 1.958l11.363 11.389c.522.522 1.436.522 1.959 0l5.225-5.225c.521-.521.522-1.436 0-1.959L38.245 31.036c-.522-.522-1.438-.521-1.96 0l-5.223 5.225z\"}}},\ntile_card_list:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M14.5 4h-9C4.7 4 4 4.7 4 5.5v17c0 .8.7 1.5 1.5 1.5h9c.8 0 1.5-.7 1.5-1.5v-17c0-.8-.7-1.5-1.5-1.5zM30.5 4h-9c-.8 0-1.5.7-1.5 1.5v17c0 .8.7 1.5 1.5 1.5h9c.8 0 1.5-.7 1.5-1.5v-17c0-.8-.7-1.5-1.5-1.5zM46.5 4h-9c-.8 0-1.5.7-1.5 1.5v17c0 .8.7 1.5 1.5 1.5h9c.8 0 1.5-.7 1.5-1.5v-17c0-.8-.7-1.5-1.5-1.5zM14.5 28h-9c-.8 0-1.5.7-1.5 1.5v17c0 .8.7 1.5 1.5 1.5h9c.8 0 1.5-.7 1.5-1.5v-17c0-.8-.7-1.5-1.5-1.5zM30.5 28h-9c-.8 0-1.5.7-1.5 1.5v17c0 .8.7 1.5 1.5 1.5h9c.8 0 1.5-.7 1.5-1.5v-17c0-.8-.7-1.5-1.5-1.5zM46.5 28h-9c-.8 0-1.5.7-1.5 1.5v17c0 .8.7 1.5 1.5 1.5h9c.8 0 1.5-.7 1.5-1.5v-17c0-.8-.7-1.5-1.5-1.5z\"}},\ntoggle:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M39.2 2H12.4C6.6 2.2 2 6.9 2 12.8s4.6 10.6 10.4 10.8h26.8c5.9 0 10.8-4.8 10.8-10.8S45.2 2 39.2 2zM12.7 18.8c-3.3 0-6-2.7-6-6s2.7-6 6-6 6 2.7 6 6-2.7 6-6 6zM39.2 28.5H12.4C6.6 28.7 2 33.4 2 39.2S6.6 49.8 12.4 50h26.8c6 0 10.8-4.8 10.8-10.8s-4.8-10.7-10.8-10.7zm.4 18.4H12.3c-4-.2-7.2-3.5-7.2-7.6s3.2-7.4 7.2-7.6h27.3c4 .2 7.2 3.5 7.2 7.6s-3.2 7.4-7.2 7.6z\"},\"circle\":{\"cx\":\"39.2\",\"cy\":\"39.2\",\"r\":\"5.2\"}}},\ntoggle_panel_bottom:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M46 8H6c-1.1 0-2 .9-2 2v32c0 1.1.9 2 2 2h40c1.1 0 2-.9 2-2V10c0-1.1-.9-2-2-2zm-2 32H8V12h36v28z\"},{\"d\":\"M41 38H11.1c-.6 0-1-.4-1-1V27c0-.6.4-1 1-1H41c.6 0 1 .4 1 1v10c0 .6-.4 1-1 1z\"}]},\ntoggle_panel_left:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M46 8H6c-1.1 0-2 .9-2 2v32c0 1.1.9 2 2 2h40c1.1 0 2-.9 2-2V10c0-1.1-.9-2-2-2zm-2 32H8V12h36v28z\"},{\"d\":\"M21 38h-9.9c-.6 0-1-.4-1-1V15c0-.6.4-1 1-1H21c.6 0 1 .4 1 1v22c0 .6-.4 1-1 1z\"}]},\ntoggle_panel_right:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M4 8h44v36H4V8zm4 4v28h36V12H8zm22 2h12v24H30V14z\",\"fill-rule\":\"evenodd\"}},\ntoggle_panel_top:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M46 8H6c-1.1 0-2 .9-2 2v32c0 1.1.9 2 2 2h40c1.1 0 2-.9 2-2V10c0-1.1-.9-2-2-2zm-2 32H8V12h36v28z\"},{\"d\":\"M41 26H11.1c-.6 0-1-.4-1-1V15c0-.6.4-1 1-1H41c.6 0 1 .4 1 1v10c0 .6-.4 1-1 1z\"}]},\ntop_align:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"rect\":[{\"x\":\"2\",\"y\":\"2\",\"width\":\"48\",\"height\":\"6.4\",\"rx\":\"1.6\"},{\"data-name\":\"Rectangle\",\"x\":\"18.8\",\"y\":\"12.4\",\"width\":\"14.4\",\"height\":\"37.6\",\"rx\":\"3.2\"}]},\ntopic:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M17.4 35.3c-.1-.3-.4-.6-.7-.7l-2.2-.6c-.4-.1-.9.1-1.1.5L9.6 41c-1 1.8-.4 2.4 1.4 1.4l6.6-3.8c.4-.2.6-.7.5-1.1l-.7-2.2zM34.6 16.7c.1.3.4.6.7.7l2.2.6c.4.1.9-.1 1.1-.5l3.8-6.6c1-1.8.4-2.4-1.4-1.4l-6.6 3.8c-.4.2-.6.7-.5 1.1l.7 2.3zM13.4 17.6c.2.4.7.6 1.1.5l2.2-.6c.3-.1.6-.4.7-.7l.6-2.2c.1-.4-.1-.9-.5-1.1L11 9.6c-1.8-1-2.4-.4-1.4 1.4l3.8 6.6zM38.6 34.4c-.2-.4-.7-.6-1.1-.5l-2.2.6c-.3.1-.6.4-.7.7l-.6 2.3c-.1.4.1.9.5 1.1l6.6 3.8c1.8 1 2.4.4 1.4-1.4l-3.9-6.6z\"},{\"d\":\"M48.7 25.2l-16.4-4.4c-.6-.1-1-.6-1.1-1.1L26.8 3.3c-.5-1.7-1.2-1.7-1.7 0l-4.4 16.4c-.1.6-.6 1-1.1 1.1L3.3 25.2c-1.7.5-1.7 1.2 0 1.7l16.4 4.4c.6.1 1 .6 1.1 1.1l4.4 16.4c.5 1.7 1.2 1.7 1.7 0l4.4-16.4c.1-.6.6-1 1.1-1.1l16.4-4.4c1.6-.5 1.6-1.3-.1-1.7zM26 30c-2.2 0-4-1.8-4-4s1.8-4 4-4 4 1.8 4 4-1.8 4-4 4z\"}]}},\ntopic2:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M49.2 13.3h-6.5l2.8-10.7v-.2c0-.4-.3-.8-.8-.8h-5.2c-.4 0-.7.3-.8.7l-2.8 11.1h-13l2.8-10.7v-.3c0-.4-.3-.8-.8-.8h-5.2c-.4 0-.7.3-.8.7l-2.9 11H8.8c-.4 0-.7.2-.8.6l-1.3 4.9v.2c0 .4.3.8.8.8h6.8l-3.2 12.5h-7c-.4 0-.7.2-.8.6L2 37.6v.2c0 .4.3.8.8.8h6.6L6.6 49.5v.2c0 .4.3.8.8.8h5.2c.4 0 .7-.2.8-.7l2.9-11.2h12.9l-2.8 10.8v.2c0 .4.3.8.8.8h5.2c.4 0 .7-.2.8-.7L36 38.5h7.1c.4 0 .7-.2.8-.7l1.3-4.9v-.2c0-.4-.3-.8-.8-.8h-6.7L41 19.4h6.9c.4 0 .7-.2.8-.7l1.3-4.9v-.2s-.4-.3-.8-.3zm-18.3 19H18l3.2-12.5h12.9l-3.2 12.5z\"}},\ntouch_action:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M37.8 29.8L29.6 27c-.6-.2-1.1-.8-1.1-1.5V14.6c0-1.7-1.4-3-3.1-3h-.3c-1.7 0-3.1 1.4-3.1 3v21.5c0 1.8-2.3 2.6-3.3 1l-2.1-4.4c-1.1-1.9-3.6-2.4-5.4-1.1l-1.3 1 6.9 16.3c.3.7 1 1.1 1.8 1.1h18.1c.9 0 1.6-.6 1.8-1.4l3.2-11.4c.8-3.2-1-6.3-3.9-7.4z\"},{\"d\":\"M17.2 23v-8.2-.4c.2-4.1 3.5-7.4 7.6-7.6h.8c4.1.2 7.4 3.5 7.6 7.6V23c0 .7.9 1 1.4.6 2.2-2.3 3.5-5.4 3.5-8.7 0-7.4-6.4-13.4-14-12.7-5.8.6-10.6 5-11.5 10.7-.6 4 .6 7.9 3.3 10.7.4.4 1.3.1 1.3-.6z\"}]},\ntracker:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M15.2 28.4V24c5.1-.9 9-5.4 9-10.8 0-6.1-4.9-11-11-11s-11 4.9-11 11c0 5.4 3.9 9.9 9 10.8v4.4c-5.1.9-9 5.4-9 10.8 0 6.1 4.9 11 11 11s11-4.9 11-11c0-5.4-3.9-9.8-9-10.8zm-9-15.2c0-3.9 3.1-7 7-7s7 3.1 7 7-3.1 7-7 7-7-3-7-7zM30.3 9.2h17.9c1.1 0 2 .9 2 2v4c0 1.1-.9 2-2 2H30.3c-1.1 0-2-.9-2-2v-4c0-1.1.9-2 2-2zM30.3 35.2h17.9c1.1 0 2 .9 2 2v4c0 1.1-.9 2-2 2H30.3c-1.1 0-2-.9-2-2v-4c0-1 .9-2 2-2z\"}}},\ntrail:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M27.8 2c3.3 0 5.9 2.6 5.9 5.9s-2.7 5.9-5.9 5.9-5.9-2.6-5.9-5.9S24.5 2 27.8 2zM43 18.1c-1.2-.1-2.3.7-2.4 1.8l-.6 5.8c-.2 0-.3.3-.5.3H34l-3.8-6.7c-.3-.6-.9-1.1-1.6-1.2l-5.8-.8c-1-.1-2 .4-2.4 1.4L16 30c-.3.9.1 1.8.9 2.3l10.8 7.4.9 8.4c.1 1.1 1.1 1.9 2.2 1.9 1.3 0 2.3-1 2.2-2.2l-1-10.3c0-.5-.3-1-.8-1.4l-5.9-6.6 2.2-5.4 2.6 4.5c.4.6 1.1 1.3 1.9 1.3h7.6l-2.2 18c-.1 1.1.7 2 1.9 2.1.1 0 .2-.1.2-.1 1.1 0 2-.8 2.2-1.9L45 20.2c.1-1-.8-2-2-2.1zM12.2 27.7l3.7-9.5c.2-.6.5-1.2.9-1.8l-.5-.1c-3.2-.4-6.2 1.5-7.2 4.4l-2 5.2c-.4 1.1.2 2.4 1.4 2.7l.9.2c1.2.5 2.4-.1 2.8-1.1zM13.6 35.2L9.1 48.6c-.2.7.3 1.3 1 1.3h2.5c.9 0 1.8-.6 2.1-1.4l4.4-9.7-5-3.1c-.1-.2-.3-.4-.5-.5z\"}},\ntrailblazer_ext:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M49.83 32.45A1.43 1.43 0 0048.44 31h-12A1.43 1.43 0 0035 32.44v1.44a1.43 1.43 0 001.4 1.44h6.14l-11 11a1.42 1.42 0 000 2l1 1a1.54 1.54 0 001.09.45 1.32 1.32 0 00.94-.38l11-11v6A1.43 1.43 0 0047 45.83h1.53a1.43 1.43 0 001.47-1.4zM21.94 8.83a10.27 10.27 0 014.67 9 9.7 9.7 0 01-3.21 7.35.46.46 0 000 .62 27.28 27.28 0 002.52 1.3 2.25 2.25 0 00.62.15h5.39a19.84 19.84 0 016.42-2.55l.54-.09a2.94 2.94 0 000-.42v-.46c0-2.68-2.91-4.13-6.13-5.44-2.14-.84-2.45-1.68-2.45-2.52a3.25 3.25 0 011.38-2.3 5.64 5.64 0 002-4.44 5.94 5.94 0 00-5.54-6.32h-.54a5.81 5.81 0 00-6.05 5.44.79.79 0 00.38.68z\"},{\"d\":\"M24.66 38.84a15.42 15.42 0 012.8-7.44 22.49 22.49 0 00-4.9-2.52c-2.61-1.07-3-2-3-3a4.18 4.18 0 011.61-2.76 6.76 6.76 0 002.37-5.28c0-4-2.6-7.42-7.35-7.42a7.09 7.09 0 00-7.35 6.82v.6a6.73 6.73 0 002.38 5.28 4.16 4.16 0 011.6 2.76c0 1-.38 2-3.06 3-3.83 1.54-7.58 3.3-7.58 6.51v1a3.09 3.09 0 003.12 3.06h19.48z\"}]}},\ntrailhead:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M12.3 37l-2.6 3h5.1zM14.7 43.1h5.1l-2.6-2.9zM35.2 41l2.5-2.9 2.6 2.9z\"},{\"d\":\"M26.8 2.2c-.4-.2-.9-.2-1.4 0C11.1 8.2 1.9 22.4 2.2 38v3.4c0 .5.2 1 .7 1.4 6.9 4.6 15 7.1 23.3 7.2h.9c7.9-.3 15.7-2.7 22.3-7.2.4-.3.7-.8.7-1.4V38c.3-15.6-8.9-29.8-23.3-35.8zM13.9 14.8c5.8-6.9 12.3-9.2 12.3-9.2 1.4.6 16.9 6.7 20.2 26.4h-4.1l-7.8-11.3c-.5-.7-1.6-.9-2.4-.4-.2.1-.3.3-.4.4l-2 2.8-5.5-7.9c-.5-.7-1.6-.9-2.4-.4-.2.1-.3.3-.4.4L10.2 31.9l-4.1.1c1.2-7.5 4.3-13 7.8-17.2zM38.1 32H28l2.6-3.8 2.4-3.6 5.1 7.4zM23.7 20.9l4 5.7-3.8 5.3h-9.6l4.1-6.1 4.3-6.4 1 1.5zM27.5 44L26 46.6c-2.9 0-5.6-.4-8.8-1.1-4.1-1-8-2.7-11.6-4.9v-2.5c0-.8 0-1.7.1-2.6h17.6c-1.4 2.1-.7 4.9 1.5 6.2.2.1.4.2.5.3l1.6.7c.6.2.8.8.6 1.3zm19.3-3.5c-2.6 1.6-5.3 2.9-8.1 3.9 0 0-.5.2-.7.2-1.6.5-3.2.9-4.9 1.3-.9.2-1.9.3-2.8.4l.3-.5c1.3-2.2.5-4.9-1.7-6.2-.1-.1-.3-.1-.4-.2l-1.6-.7c-.5-.2-.8-.8-.5-1.4 0-.1.1-.2.1-.2l1.5-1.7h18.7c0 .8.1 1.7.1 2.6v2.5z\"}]},\ntrailhead_alt:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M22.21 36.21a2.72 2.72 0 01-.11.25 6.89 6.89 0 002.42 7.85c1.58 1.24 1.89 1.76 1.73 2.92a7.59 7.59 0 01-1.1 2.77A44.87 44.87 0 012 42.64v-3.7c0-.93 0-1.83.1-2.73h20.11zm27.69 0c.05.9.1 1.8.1 2.73v3.69a45 45 0 01-20.31 7.2 10 10 0 00.54-2c.53-3.73-1.83-5.57-3.24-6.67a2.83 2.83 0 01-1.12-3.25 8.24 8.24 0 01.89-1.67H49.9zM22.5 19.59l4.4 6.47-4.16 6.13h-8.8zM26 2a39.25 39.25 0 0123.48 30.19H43.6l-8.77-12.9a2.08 2.08 0 00-3.33 0l-2.17 3.19-5.17-7.6a2.09 2.09 0 00-3.33 0L9.08 32.19H2.52A39.25 39.25 0 0126 2zm7.17 22l5.56 8.19H27.61z\",\"fill-rule\":\"evenodd\"}},\ntrailhead_ext:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M49.8 32.5a1.37 1.37 0 00-1.4-1.4h-12a1.43 1.43 0 00-1.4 1.4v1.4a1.37 1.37 0 001.4 1.4h6.1l-11 11a1.52 1.52 0 000 2l1 1a1.61 1.61 0 001.1.5 1 1 0 00.9-.4l11-11v6a1.37 1.37 0 001.4 1.4h1.5a1.37 1.37 0 001.4-1.4zM21.8 25.1h7.7l-3.9-5.7z\"},{\"d\":\"M16.8 12.5l.3-.3a1.38 1.38 0 011.8.3l4.2 6 1.5-2.1.3-.3a1.38 1.38 0 011.8.3l6 8.6h3.9a10.46 10.46 0 011.7-.4A28.91 28.91 0 0020.8 2.3a1.08 1.08 0 00-1.1 0A29 29 0 002.3 25h5.8z\"},{\"d\":\"M17.8 15.4l-3.3 4.9-3.1 4.7h7.3l2.9-4.1zM2.1 32.2a1.61 1.61 0 00.5 1.1 32.87 32.87 0 0016 5.4l1.6-2.5 1.1-2a.64.64 0 00-.3-1l-1.2-.5-.4-.2a3.42 3.42 0 01-1.3-4.6c0-.1.1-.1.1-.2H2.1z\"},{\"d\":\"M23.6 35.9c-.5.9-1.1 2.2-1.4 2.8l2.5-.3a15.58 15.58 0 016.5-10.8h-9.5l-1.1 1.6a.73.73 0 00.4 1l1.14.45.36.15a3.42 3.42 0 011.3 4.7z\"}]}},\ntransparent:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M48.5 5.6l-2.1-2.1a1.67 1.67 0 00-2.4.3L32.59 15.21c-.77-1.3-1.51-2.61-2.21-4a36.5 36.5 0 01-3.15-8.36c-.13-.53-.39-.91-1-.89s-.86.4-1 .93c-.06.26-.11.51-.17.76A48.3 48.3 0 0121 13.7 97.47 97.47 0 0114.13 25a16 16 0 00-3 11.12c0 .14 0 .29.06.43L3.8 44a1.87 1.87 0 00-.3 2.4l2.1 2.1a1.67 1.67 0 002.4-.3L48.2 8a1.67 1.67 0 00.3-2.4zM38.42 23.79l-22 22.31a14.47 14.47 0 009.8 3.9 15.48 15.48 0 007-1.44c4.94-2.51 8.11-6.4 8.94-12A15.22 15.22 0 0039 24.66c-.13-.22-.42-.66-.58-.87z\"}},\ntravel_and_places:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M47 21L42.48 8.84C41.76 6.52 39.6 5 37.2 5H14.8c-2.4 0-4.56 1.52-5.36 3.84L5 21c-2.08.56-3 2.56-3 4.8v11.6c0 2.08 2.16 3.88 4 4.6v4.033C6 47.344 6.674 48 8.023 48h5.027c1.3 0 1.95-.656 1.95-1.967V42h22v4.033c0 1.311.663 1.967 1.988 1.967h5.033c1.32 0 1.979-.656 1.979-1.967V41.96c1.84-.64 4-2.4 4-4.56V25.8c0-2.24-.92-4.24-3-4.8zM11 34c-2.24 0-4-1.76-4-4s1.76-4 4-4 4 1.76 4 4-1.76 4-4 4zm16.6-13H11.76c-.56 0-.92-.52-.76-1l3-9c.08-.32.29-1 1-1h22c.78 0 .92.76 1 1l3 9c.2.642-.12 1-.92 1H27.6zM41 34c-2.24 0-4-1.76-4-4s1.76-4 4-4 4 1.76 4 4-1.76 4-4 4z\"}},\ntrending:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M50.1 30.56a1.16 1.16 0 01-2 .82L42.73 26 30.32 36.65a3.39 3.39 0 01-4.92 0l-7.49-8.54-13.34 11.7a1.13 1.13 0 01-1.64 0l-.59-.59a1.13 1.13 0 010-1.64l13.12-17.9a3.39 3.39 0 014.92 0l7.49 7.49 7.61-8.78-4.92-4.45a1.26 1.26 0 01.82-2.11h16.38A2.35 2.35 0 0150 14.3z\"}},\nturn_off_notifications:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M23.4 26.6c.6.6 1.4.6 2 0L46.8 6.9c.4-.7.3-1.9-1.2-1.9H3.4c-1.1 0-2 1.1-1.2 2l21.2 19.6z\"},{\"d\":\"M30.1 37.6c.5-5.6 5-10.2 10.7-10.8.5 0 1-.1 1.4-.1 1.8 0 3.4.4 4.9 1V15.3c0-1-1.2-1.5-1.9-.8L28.6 29.9c-1.1 1-2.6 1.6-4.1 1.6s-3-.6-4.1-1.6L3.8 14.5c-.8-.7-1.9-.2-1.9.8v19.6c0 2.5 2.1 4.6 4.6 4.6h23.7c-.1-.6-.1-1.3-.1-1.9z\"},{\"d\":\"M42.1 31c-4.4 0-8 3.6-8 8s3.6 8 8 8 8-3.6 8-8-3.6-8-8-8zm6 9.6c0 .2-.2.4-.5.4h-11c-.3 0-.5-.2-.5-.4v-3.2c0-.2.2-.4.5-.4h11c.3 0 .5.2.5.4v3.2z\"}]},\ntype:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M48 11H4c-1.1 0-2 .9-2 2v26c0 1.1.9 2 2 2h44c1.1 0 2-.9 2-2V13c0-1.1-.9-2-2-2zm-2 26H6V15h40v22z\"},{\"d\":\"M11.2 21.8h1c.8 0 1.5-.7 1.5-1.5v-1c0-.8-.7-1.5-1.5-1.5h-1c-.8 0-1.5.7-1.5 1.5v1c0 .8.7 1.5 1.5 1.5zM16.9 21.8h1c.8 0 1.5-.7 1.5-1.5v-1c0-.8-.7-1.5-1.5-1.5h-1c-.8 0-1.5.7-1.5 1.5v1c0 .8.7 1.5 1.5 1.5zM28.4 21.8h1c.8 0 1.5-.7 1.5-1.5v-1c0-.8-.7-1.5-1.5-1.5h-1c-.8 0-1.5.7-1.5 1.5v1c0 .8.7 1.5 1.5 1.5zM22.6 21.8h1c.8 0 1.5-.7 1.5-1.5v-1c0-.8-.7-1.5-1.5-1.5h-1c-.8 0-1.5.7-1.5 1.5v1c0 .8.7 1.5 1.5 1.5zM39.9 21.8h1c.8 0 1.5-.7 1.5-1.5v-1c0-.8-.7-1.5-1.5-1.5h-1c-.8 0-1.5.7-1.5 1.5v1c0 .8.7 1.5 1.5 1.5zM34.1 21.8h1c.8 0 1.5-.7 1.5-1.5v-1c0-.8-.7-1.5-1.5-1.5h-1c-.8 0-1.5.7-1.5 1.5v1c0 .8.7 1.5 1.5 1.5zM11.2 27.8h1c.8 0 1.5-.7 1.5-1.5v-1c0-.8-.7-1.5-1.5-1.5h-1c-.8 0-1.5.7-1.5 1.5v1c0 .8.7 1.5 1.5 1.5zM16.9 27.8h1c.8 0 1.5-.7 1.5-1.5v-1c0-.8-.7-1.5-1.5-1.5h-1c-.8 0-1.5.7-1.5 1.5v1c0 .8.7 1.5 1.5 1.5zM28.4 27.8h1c.8 0 1.5-.7 1.5-1.5v-1c0-.8-.7-1.5-1.5-1.5h-1c-.8 0-1.5.7-1.5 1.5v1c0 .8.7 1.5 1.5 1.5zM22.6 27.8h1c.8 0 1.5-.7 1.5-1.5v-1c0-.8-.7-1.5-1.5-1.5h-1c-.8 0-1.5.7-1.5 1.5v1c0 .8.7 1.5 1.5 1.5zM39.9 27.8h1c.8 0 1.5-.7 1.5-1.5v-1c0-.8-.7-1.5-1.5-1.5h-1c-.8 0-1.5.7-1.5 1.5v1c0 .8.7 1.5 1.5 1.5zM34.1 27.8h1c.8 0 1.5-.7 1.5-1.5v-1c0-.8-.7-1.5-1.5-1.5h-1c-.8 0-1.5.7-1.5 1.5v1c0 .8.7 1.5 1.5 1.5zM11.2 33.8h1c.8 0 1.5-.7 1.5-1.5v-1c0-.8-.7-1.5-1.5-1.5h-1c-.8 0-1.5.7-1.5 1.5v1c0 .8.7 1.5 1.5 1.5zM16.9 33.8h18.2c.8 0 1.5-.7 1.5-1.5v-1c0-.8-.7-1.5-1.5-1.5H16.9c-.8 0-1.5.7-1.5 1.5v1c0 .8.7 1.5 1.5 1.5zM39.9 33.8h1c.8 0 1.5-.7 1.5-1.5v-1c0-.8-.7-1.5-1.5-1.5h-1c-.8 0-1.5.7-1.5 1.5v1c0 .8.7 1.5 1.5 1.5z\"}]}},\ntype_tool:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M50.37 47.59L32.74 4a2.41 2.41 0 00-2.2-1.47H20.11A2.21 2.21 0 0018.06 4L1.9 47.59a1.43 1.43 0 001.32 1.91h6a2.36 2.36 0 002.06-1.62L16 34.81h19.68l5.14 13.07a2.36 2.36 0 002.06 1.62h6a1.52 1.52 0 001.49-1.91zM19.08 26l5.73-14.69H26L32.3 26z\"}},\nundelete:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M41.5 20h-31c-.8 0-1.5.7-1.5 1.5V45c0 2.8 2.2 5 5 5h24c2.8 0 5-2.2 5-5V21.5c0-.8-.7-1.5-1.5-1.5zM26 46v-4c3.3 0 6-2.7 6-6s-2.7-6-6-6c-1.6 0-3.1.7-4.2 1.8l2.4 2.4c.3.3.1.9-.4.9h-7.3c-.3 0-.5-.2-.5-.5v-7.3c0-.4.5-.7.9-.4L19 29c1.9-1.8 4.4-2.9 7.1-2.9 5.5 0 10 4.5 10 10S31.5 46 26 46zM45.5 10H33V6c0-2.2-1.8-4-4-4h-6c-2.2 0-4 1.8-4 4v4H6.5c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h39c.8 0 1.5-.7 1.5-1.5v-3c0-.8-.7-1.5-1.5-1.5zM29 10h-6V7c0-.6.4-1 1-1h4c.6 0 1 .4 1 1v3z\"}}},\nundeprecate:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M48 7H4c-1.1 0-2 .9-2 2v26c0 1.1.9 2 2 2h16.2c1 5.7 5.9 10 11.8 10s10.9-4.3 11.8-10H48c1.1 0 2-.9 2-2V9c0-1.1-.9-2-2-2zM30.5 41.3l-5.9-5.9 2.8-2.8 3.1 3.1 7.1-7.1 2.8 2.8-9.9 9.9zM46 33h-2.2c-1-5.7-5.9-10-11.8-10s-10.9 4.3-11.8 10H6V11h40v22z\"}},\nunderline:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M44.5 42h-37c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h37c.8 0 1.5-.7 1.5-1.5v-3c0-.8-.7-1.5-1.5-1.5zM25.3 38C17.8 37.6 12 31.1 12 23.6V10c0-1.1.9-2 2-2h2c1.1 0 2 .9 2 2v13.7c0 4.3 3.2 8 7.5 8.3 4.7.3 8.5-3.4 8.5-8V10c0-1.1.9-2 2-2h2c1.1 0 2 .9 2 2v14c0 8-6.7 14.4-14.7 14z\"}},\nundo:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M30.3 12.6c10.4 0 18.9 8.4 18.9 18.9s-8.5 18.9-18.9 18.9h-8.2c-.8 0-1.3-.6-1.3-1.4v-3.2c0-.8.6-1.5 1.4-1.5h8.1c7.1 0 12.8-5.7 12.8-12.8s-5.7-12.8-12.8-12.8H16.4s-.8 0-1.1.1c-.8.4-.6 1 .1 1.7l4.9 4.9c.6.6.5 1.5-.1 2.1L18 29.7c-.6.6-1.3.6-1.9.1l-13-13c-.5-.5-.5-1.3 0-1.8L16 2.1c.6-.6 1.6-.6 2.1 0l2.1 2.1c.6.6.6 1.6 0 2.1l-4.9 4.9c-.6.6-.6 1.3.4 1.3h.7l13.9.1z\"}},\nunlinked:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M18.1 36.9l9.4-9.5.7-.7 8.4-8.4 3.7-3.7 4.1-4.1c.7-.6.8-1.5.3-2l-1.8-1.8c-.4-.4-1.1-.4-1.7-.1L6.7 40.9v.1c-.6.6-.7 1.5-.3 2l1.8 1.8c.5.5 1.4.4 2-.3l4-4c0 .1 3.9-3.6 3.9-3.6zM18.4 23.1c-.5 0-.8.4-1 .8-.1.6-.1 1.2-.1 1.8 0 .4 0 .8.1 1.2l3.8-3.8h-2.8z\"},{\"d\":\"M8.3 36l4-4c-2.8-.6-5-3-5.2-5.8-.3-3.8 2.8-6.9 6.5-6.9h9.1c.7 0 1.4.1 2.1.4l3.9-3.9c-.9-.5-1.8-1-2.7-1.2-1-.3-2.2-.5-3.2-.5h-8.7c-6.6-.1-12 4.8-12.2 11.1C1.7 29.9 4.3 34 8.3 36zM43.1 15.3l-4 4c2.9.5 5.2 2.9 5.4 5.9.3 3.8-2.8 6.9-6.5 6.9h-9c-.8 0-1.6-.2-2.3-.4l-3.9 3.9c.9.6 1.8 1 2.8 1.3 1 .3 2.2.5 3.2.5H38c6.6.1 11.9-5.4 11.7-12-.2-4.6-2.9-8.3-6.6-10.1z\"},{\"d\":\"M30.1 28.3h3c.5 0 .8-.4 1-.8.1-.6.1-1.2.1-1.8 0-.5 0-.9-.1-1.4l-4 4z\"}]},\nunlock:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M10 18.1v0zM42 23H16v-4.7c0-5.3 4-10 9.3-10.3 4.9-.3 9 2.8 10.3 7.2.1.4.5.8 1 .8h4.1c.6 0 1.1-.6 1-1.2C40.1 7.2 33.3 1.6 25.2 2c-8.5.4-15 7.7-15.2 16.1V23c-2.2 0-4 1.8-4 4v19c0 2.2 1.8 4 4 4h32c2.2 0 4-1.8 4-4V27c0-2.2-1.8-4-4-4zM30.6 42.7c.2.6-.3 1.3-1 1.3h-7.3c-.7 0-1.2-.6-1-1.3l1.8-6c-1.5-1-2.4-2.8-2-4.8.4-1.9 1.9-3.4 3.9-3.8 3.2-.6 6 1.7 6 4.7 0 1.6-.8 3.1-2.1 3.9l1.7 6z\"}}},\nunmuted:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M41.5 18c-1.4 0-2.5 1-2.5 2.4v4c0 7-5.9 12.8-13.1 12.8s-13.1-5.8-13.1-12.8v-4c0-1.4-1.1-2.4-2.5-2.4S8 19 8 20.4v4c0 8.9 6.8 16.2 15.5 17.4v3.4h-4.1c-1.4 0-2.5 1-2.5 2.4S18 50 19.4 50h13.1c1.4 0 2.5-1 2.5-2.4s-1.1-2.4-2.5-2.4h-4.1v-3.4C37.2 40.6 44 33.3 44 24.4v-4c0-1.4-1.1-2.4-2.5-2.4z\"},{\"d\":\"M26 32.4c4.4 0 8-3.6 8-8V9.9C34 5.5 30.5 2 26.1 2h-.2C21.5 2 18 5.5 18 9.9v14.5c0 4.4 3.6 8 8 8z\"}]}},\nup:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M43.7 38H8.3c-1 0-1.7-1.3-.9-2.2l17.3-21.2c.6-.8 1.9-.8 2.5 0l17.5 21.2c.7.9.1 2.2-1 2.2z\"}},\nupload:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M48.5 31h-3c-.8 0-1.5.8-1.5 1.5v10c0 .8-.7 1.5-1.5 1.5h-33c-.8 0-1.5-.7-1.5-1.5v-10c0-.7-.7-1.5-1.5-1.5h-3c-.8 0-1.5.8-1.5 1.5V46c0 2.2 1.8 4 4 4h40c2.2 0 4-1.8 4-4V32.5c0-.7-.7-1.5-1.5-1.5z\"},{\"d\":\"M27 2.4c-.6-.6-1.5-.6-2.1 0L11.4 15.9c-.6.6-.6 1.5 0 2.1l2.1 2.1c.6.6 1.5.6 2.1 0l5.6-5.6c.6-.6 1.8-.2 1.8.7v21.2c0 .8.6 1.5 1.4 1.5h3c.8 0 1.6-.8 1.6-1.5V15.3c0-.9 1-1.3 1.7-.7l5.6 5.6c.6.6 1.5.6 2.1 0l2.1-2.1c.6-.6.6-1.5 0-2.1L27 2.4z\"}]}},\nuser:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M50 43v2.2c0 2.6-2.2 4.8-4.8 4.8H6.8C4.2 50 2 47.8 2 45.2V43c0-5.8 6.8-9.4 13.2-12.2l.6-.3c.5-.2 1-.2 1.5.1 2.6 1.7 5.5 2.6 8.6 2.6s6.1-1 8.6-2.6c.5-.3 1-.3 1.5-.1l.6.3C43.2 33.6 50 37.1 50 43zM26 2c6.6 0 11.9 5.9 11.9 13.2S32.6 28.4 26 28.4s-11.9-5.9-11.9-13.2S19.4 2 26 2z\"}},\nuser_role:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M38.3 27.2a11.4 11.4 0 1011.4 11.4 11.46 11.46 0 00-11.4-11.4zm2 12.4a2.39 2.39 0 01-.9-.2l-4.3 4.3a1.39 1.39 0 01-.9.4 1 1 0 01-.9-.4 1.39 1.39 0 010-1.9l4.3-4.3a2.92 2.92 0 01-.2-.9 3.47 3.47 0 013.4-3.8 2.39 2.39 0 01.9.2c.2 0 .2.2.1.3l-2 1.9a.28.28 0 000 .5l1.3 1.3a.38.38 0 00.6 0l1.9-1.9c.1-.1.4-.1.4.1a3.71 3.71 0 01.2.9 3.57 3.57 0 01-3.9 3.5z\"},{\"d\":\"M25.2 49.8c2.2 0 1-1.5 1-1.5a15.44 15.44 0 01-3.4-9.7 15 15 0 011.4-6.4.77.77 0 01.2-.3c.7-1.4-.7-1.5-.7-1.5a12.1 12.1 0 00-1.9-.1A19.69 19.69 0 002.4 47.1c0 1 .3 2.8 3.4 2.8h19.1c.2-.1.2-.1.3-.1z\"}],\"circle\":{\"cx\":\"21.7\",\"cy\":\"14.9\",\"r\":\"12.9\"}},\nvariable:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M42.6 17.8c2.4 0 7.2-2 7.2-8.4s-4.6-6.8-6.1-6.8c-2.8 0-5.6 2-8.1 6.3-2.5 4.4-5.3 9.1-5.3 9.1h-.1c-.6-3.1-1.1-5.6-1.3-6.7-.5-2.7-3.6-8.4-9.9-8.4-6.4 0-12.2 3.7-12.2 3.7-1 .7-1.7 1.9-1.7 3.3 0 2.1 1.7 3.9 3.9 3.9.6 0 1.2-.2 1.7-.4 0 0 4.8-2.7 5.9 0 .3.8.6 1.7.9 2.7 1.2 4.2 2.4 9.1 3.3 13.5l-4.2 6s-4.7-1.7-7.1-1.7-7.2 2-7.2 8.4 4.6 6.8 6.1 6.8c2.8 0 5.6-2 8.1-6.3 2.5-4.4 5.3-9.1 5.3-9.1.8 4 1.5 7.1 1.9 8.5 1.6 4.5 5.3 7.2 10.1 7.2 0 0 5 0 10.9-3.3 1.4-.6 2.4-2 2.4-3.6 0-2.1-1.7-3.9-3.9-3.9-.6 0-1.2.2-1.7.4 0 0-4.2 2.4-5.6.5-1-2-1.9-4.6-2.6-7.8-.6-2.8-1.3-6.2-2-9.5l4.3-6.2c-.1.1 4.6 1.8 7 1.8z\"}},\nvariation_attribute_setup:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M23.6 3.6A1.39 1.39 0 0022.1 5v22.6a1.26 1.26 0 001.4 1.4h.1a1.31 1.31 0 001.4-1.4V4.9a1.29 1.29 0 00-1.4-1.3zM9.1 3.6H3.5A1.31 1.31 0 002.1 5v22.6A1.37 1.37 0 003.5 29h5.6a1.31 1.31 0 001.4-1.4V4.9a1.41 1.41 0 00-1.4-1.3zM16.9 3.6h-1.4A1.31 1.31 0 0014.1 5v22.6a1.26 1.26 0 001.4 1.4h1.4a1.31 1.31 0 001.4-1.4V4.9a1.24 1.24 0 00-1.4-1.3zM44.4 24.4v.2l.1.7c.2.1.3.2.5.3l.7-.5.6-.2.5-.2V4.9a1.31 1.31 0 00-1.4-1.4h-2.8a1.31 1.31 0 00-1.4 1.4v15.8a4.67 4.67 0 013.2 3.7zM31.7 25l.5.2a3.33 3.33 0 01.6-.3l.1-.6v-.2a4.9 4.9 0 014.1-3.8V4.9a1.34 1.34 0 00-1.4-1.3H30A1.31 1.31 0 0028.6 5v19.9a4.3 4.3 0 011.2-.2 4.9 4.9 0 011.9.3zM47.4 37.8a11.14 11.14 0 00.2-1.7 8.81 8.81 0 00-.2-1.7l1.9-1.6a1.8 1.8 0 00.4-2.2l-.8-1.5a1.76 1.76 0 00-1.5-.8c-.2 0-.4.1-.6.1l-2.3.9a8.26 8.26 0 00-3-1.7l-.4-2.4a1.63 1.63 0 00-1.7-1.2h-1.7a1.66 1.66 0 00-1.7 1.2l-.4 2.3a8.51 8.51 0 00-3.1 1.7l-2.2-.9a1.08 1.08 0 00-.6-.1 1.76 1.76 0 00-1.5.8l-.8 1.4a1.83 1.83 0 00.4 2.2l1.9 1.6a11.14 11.14 0 00-.2 1.7 8.81 8.81 0 00.2 1.7l-1.9 1.7a1.8 1.8 0 00-.4 2.2l.8 1.6a1.76 1.76 0 001.5.8c.2 0 .4-.1.6-.1l2.3-.9a8.26 8.26 0 003 1.7l.4 2.5a1.72 1.72 0 001.7 1.4h1.7a1.72 1.72 0 001.7-1.4l.4-2.5a8.77 8.77 0 003.2-1.9l2.2.9a1.27 1.27 0 00.6.1 1.76 1.76 0 001.5-.8l.7-1.3a1.83 1.83 0 00-.4-2.2zm-8.8 4.1a5.6 5.6 0 115.6-5.6 5.59 5.59 0 01-5.6 5.6z\"},{\"d\":\"M38.5 33.1a3.1 3.1 0 103.1 3.1 3.1 3.1 0 00-3.1-3.1z\"}]},\nvariation_products:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M45 28.2a1.13 1.13 0 00.7-1.2V5a1.31 1.31 0 00-1.4-1.4h-2.8A1.31 1.31 0 0040.1 5v16.8a7.33 7.33 0 014.9 6.4zM29.3 28.3h1.1a7.36 7.36 0 015.7-6.8V5a1.31 1.31 0 00-1.4-1.4h-5.4A1.31 1.31 0 0027.9 5v22a1.24 1.24 0 001.4 1.3zM16.6 3.7h-1.4a1.31 1.31 0 00-1.4 1.4v22a1.26 1.26 0 001.4 1.4h1.4a1.31 1.31 0 001.4-1.4V5a1.41 1.41 0 00-1.4-1.3zM8.9 3.7H3.5A1.24 1.24 0 002.1 5v22a1.37 1.37 0 001.4 1.4h5.4a1.31 1.31 0 001.4-1.4V5a1.34 1.34 0 00-1.4-1.3zM23.1 3.6H23A1.31 1.31 0 0021.6 5v22c-.1.8.5 1.3 1.5 1.3a1.31 1.31 0 001.4-1.4V5a1.31 1.31 0 00-1.4-1.4zM45.9 39.4a4.07 4.07 0 00-4 3.3h-5.4a.46.46 0 00-.4.5v.4a4.25 4.25 0 01-.2 1.1c-.1.2.2.5.4.5h5.8a3.84 3.84 0 003.7 2.4 4.19 4.19 0 004.1-4.1 4.1 4.1 0 00-4-4.1zM33.6 28.8a4 4 0 005.3 3.8l2.8 5.2c.2.2.4.3.6.2a2.85 2.85 0 011.4-.6.48.48 0 00.2-.6l-3-5.5a3.66 3.66 0 00.9-2.5 4.1 4.1 0 10-8.2 0zM35.1 34.6a10 10 0 01-1.4-.8c-.2-.2-.5-.1-.6.2l-2.8 5.4a1.27 1.27 0 00-.6-.1 4.09 4.09 0 102.8 1.1l2.8-5.2a.85.85 0 00-.2-.6z\"}},\nvideo:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M46.9 13.1l-11 7.9v-5.6c0-1.5-1.2-2.7-2.7-2.7H4.7c-1.5 0-2.7 1.2-2.7 2.7v21.3c0 1.5 1.2 2.7 2.7 2.7h28.6c1.5 0 2.7-1.2 2.7-2.7v-5.5L46.9 39c.7.7 1.9.2 1.9-.8V13.9c0-1-1.2-1.5-1.9-.8z\"}},\nvoicemail_drop:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M39 14.8c-6.1 0-11.2 5-11.2 11.2 0 2.2.7 4.3 1.8 6.1h-7.2c1.2-1.8 1.8-3.8 1.8-6.1 0-6.1-5-11.2-11.2-11.2-6.1 0-11.2 5-11.2 11.2 0 6.1 5 11.2 11.2 11.2h25.9c6.1 0 11.2-5 11.2-11.2.1-6.2-4.9-11.2-11.1-11.2zM7.2 25.9c0-3.3 2.7-6 5.9-6 3.3 0 5.9 2.7 5.9 6s-2.7 6-5.9 6-5.9-2.6-5.9-6zM39 32c-3.3 0-5.9-2.7-5.9-6s2.7-6 5.9-6c3.3 0 5.9 2.7 5.9 6 .1 3.3-2.6 6-5.9 6z\"}},\nvolume_high:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M24.6 2.6L12 18H6c-2.2 0-4 1.8-4 4v8c0 2.2 1.8 4 4 4h6l12.6 15.4c1.3 1.3 3.4.4 3.4-1.4V4c0-1.8-2.2-2.7-3.4-1.4zM42.6 8.7c-.4-.4-1-.4-1.4 0l-1.4 1.4c-.4.4-.4 1.1 0 1.4C43.6 15.2 46 20.3 46 26c0 5.7-2.4 10.8-6.2 14.5-.4.4-.4 1 0 1.4l1.4 1.4c.4.4 1 .4 1.4 0C47.1 39 50 32.8 50 26c0-6.8-2.8-13-7.4-17.3z\"},{\"d\":\"M36.3 15.1c-.4-.4-1-.4-1.4 0l-1.4 1.4c-.4.4-.4 1 0 1.4 2.2 2 3.5 4.9 3.5 8.1 0 3.2-1.4 6.1-3.6 8.1-.4.4-.4 1 0 1.4l1.4 1.4c.4.4 1 .4 1.4 0 2.9-2.7 4.8-6.6 4.8-11 0-4.2-1.8-8.1-4.7-10.8z\"}]}},\nvolume_low:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M24.6 2.6L12 18H6c-2.2 0-4 1.8-4 4v8c0 2.2 1.8 4 4 4h6l12.6 15.4c1.3 1.3 3.4.4 3.4-1.4V4c0-1.8-2.2-2.7-3.4-1.4zM36.3 15.1c-.4-.4-1-.4-1.4 0l-1.4 1.4c-.4.4-.4 1 0 1.4 2.2 2 3.5 4.9 3.5 8.1s-1.4 6.1-3.6 8.1c-.4.4-.4 1 0 1.4l1.4 1.4c.4.4 1 .4 1.4 0 2.9-2.7 4.8-6.6 4.8-11 0-4.2-1.8-8.1-4.7-10.8z\"}}},\nvolume_off:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M24.6 2.6L12 18H6c-2.2 0-4 1.8-4 4v8c0 2.2 1.8 4 4 4h6l12.6 15.4c1.3 1.3 3.4.4 3.4-1.4V4c0-1.8-2.2-2.7-3.4-1.4zM44.8 26l4.9-4.9c.4-.4.4-1 0-1.4l-1.4-1.4c-.4-.4-1-.4-1.4 0L42 23.2l-4.9-4.9c-.4-.4-1-.4-1.4 0l-1.4 1.4c-.4.4-.4 1 0 1.4l4.9 4.9-4.9 4.9c-.4.4-.4 1 0 1.4l1.4 1.4c.4.4 1 .4 1.4 0l4.9-4.9 4.9 4.9c.4.4 1 .4 1.4 0l1.4-1.4c.4-.4.4-1 0-1.4L44.8 26z\"}}},\nwaits:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M50 18.4c0-.8-.7-1.5-1.5-1.5h-21c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h14.3L26.3 41.8v.1c-.2.2-.3.5-.3.8v3c0 .8.7 1.5 1.5 1.5h21c.8 0 1.5-.7 1.5-1.5v-3c0-.8-.7-1.5-1.5-1.5h-14l15.2-18.6c.2-.3.3-.7.3-1v-3.2zM26 6.3c0-.8-.7-1.5-1.5-1.5h-21c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h14.3L2.3 29.7v.1c-.2.2-.3.5-.3.8v3c0 .8.7 1.5 1.5 1.5h21c.8 0 1.5-.7 1.5-1.5v-3c0-.8-.7-1.5-1.5-1.5h-14l15.2-18.6c.2-.3.3-.7.3-1V6.3z\"}},\nwarning:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M51.4 42.5l-22.9-37c-1.2-2-3.8-2-5 0L.6 42.5C-.8 44.8.6 48 3.1 48h45.8c2.5 0 4-3.2 2.5-5.5zM26 40c-1.7 0-3-1.3-3-3s1.3-3 3-3 3 1.3 3 3-1.3 3-3 3zm3-9c0 .6-.4 1-1 1h-4c-.6 0-1-.4-1-1V18c0-.6.4-1 1-1h4c.6 0 1 .4 1 1v13z\"}},\nwarranty_term:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M26 2c3 0 5.43 3.29 8.09 4.42s6.82.51 8.84 2.65 1.51 6.07 2.65 8.84S50 23 50 26s-3.29 5.43-4.42 8.09-.51 6.82-2.65 8.84-6.07 1.53-8.84 2.65S29 50 26 50s-5.43-3.29-8.09-4.42-6.82-.51-8.84-2.65-1.53-6.07-2.65-8.84S2 29 2 26s3.29-5.43 4.42-8.09.51-6.82 2.65-8.84 6.07-1.53 8.84-2.65S23 2 26 2zm0 7.58A16.42 16.42 0 1042.42 26 16.47 16.47 0 0026 9.58zm7.62 9.15l1.61 1.52a1.25 1.25 0 010 1.51L25.08 33.07a2.07 2.07 0 01-1.61.7 2.23 2.23 0 01-1.61-.7l-5.49-5.47a1 1 0 01-.1-1.42l.1-.11L18 24.56a1.1 1.1 0 011.54-.07l.07.07 3.89 4 8.59-9.8a1.1 1.1 0 011.53-.03z\"}},\nwatchlist:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M42.9 7h.2l.3.1a2.45 2.45 0 011.4 1l.2.3 4.2 7.4c1.5 2.7.2 3.4-1.1 4.2s-2.5 1.1-3.9-.8l-.1-.2-.7-1.3-6.4 25a3 3 0 01-5.3 1.1l-.1-.1-10.7-16.5-5.5 12a3 3 0 01-2.7 1.8H3.6c-.4 0-1.5-.4-1.5-1.4a4.06 4.06 0 00-.1-1.3v-1.8a1.52 1.52 0 011.44-1.6h7.36l7-15.2a2.94 2.94 0 013.86-1.55A3 3 0 0123 19.3l9.9 15.3 4.6-18.1-.9.5c-1.9 1.3-2.7.7-3.9-.8l-.2-.3c-.8-1.3-1.1-2.6.1-3.5l1-.7L41 7.4a3.14 3.14 0 011.9-.4z\"}},\nweeklyview:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M44 7h-5V5c0-1.6-1.3-3-3-3-1.6 0-3 1.3-3 3v2H19V5c0-1.6-1.3-3-3-3-1.6 0-3 1.3-3 3v2H8c-2.2 0-4 1.8-4 4v2.5c0 .8.7 1.5 1.5 1.5h41c.8 0 1.5-.7 1.5-1.5V11c0-2.2-1.8-4-4-4zM46.5 20h-41c-.8 0-1.5.7-1.5 1.5V46c0 2.2 1.8 4 4 4h36c2.2 0 4-1.8 4-4V21.5c0-.8-.7-1.5-1.5-1.5zm-13.7 9.5l-6.3 13.4c-.3.7-1 1.1-1.8 1.1-1.1 0-1.9-.9-1.9-1.8 0-.2.1-.5.2-.8L28.3 30h-7.6c-.9 0-1.7-.6-1.7-1.5 0-.8.8-1.5 1.7-1.5h10.4c1 0 1.9.8 1.9 1.8 0 .3-.1.5-.2.7z\"}},\nwellness:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M27.42 10.57a1.66 1.66 0 00-1.25-.57 1.66 1.66 0 00-1.25.56c-11.76 13.39-5 24 0 29.07a1.66 1.66 0 001.19.49 1.77 1.77 0 001.24-.54c4.95-5.1 11.48-15.65.07-29.01zM15.66 28.3c-2.66-1.51-6.29-2.38-11.1-2.06a1.27 1.27 0 00-1 .53 1.34 1.34 0 00-.24 1.08c3 14 13 14.75 18.77 13.94a1.35 1.35 0 00.64-.3 23.14 23.14 0 01-7.07-13.19zM36.34 28.3c2.69-1.51 6.29-2.38 11.1-2.06a1.27 1.27 0 011 .53 1.34 1.34 0 01.24 1.08c-3 14-13 14.75-18.77 13.94a1.35 1.35 0 01-.64-.3 23.14 23.14 0 007.07-13.19zM15.38 25c.32-4.56 1.2-6.62 1.61-7.35a22.71 22.71 0 00-6.43-3.46 1.28 1.28 0 00-1.08.09 1.34 1.34 0 00-.64.88 21.65 21.65 0 00-.25 8.41A22.93 22.93 0 0115.38 25zM43.31 15.13a1.29 1.29 0 00-.64-.88 1.28 1.28 0 00-1.08-.09 22.79 22.79 0 00-6.42 3.46c.4.73 1.29 2.79 1.6 7.35a22.93 22.93 0 016.8-1.43 21.27 21.27 0 00-.26-8.41z\"}},\nwifi:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M47.7 15.8c-5.5-6.1-13.3-9.5-21.6-9.5S10 9.7 4.5 15.8c-.4.4-.3 1.1.1 1.4l3 2.6c.4.4 1 .3 1.4-.1 4.4-4.7 10.6-7.4 17.1-7.4s12.7 2.7 17.1 7.4c.4.4 1 .4 1.4.1l3-2.6c.4-.4.5-1 .1-1.4zM26.1 20.3c-4.2 0-8.2 1.8-11 5-.4.4-.3 1.1.1 1.5l3.2 2.4c.4.3 1 .3 1.3-.1 1.7-1.8 4-2.8 6.4-2.8s4.7 1 6.3 2.7c.3.4.9.4 1.3.1l3.2-2.4c.5-.4.5-1 .1-1.5-2.7-3.1-6.7-4.9-10.9-4.9zM26.2 34.2c2.7 0 5 2.2 5 5s-2.2 5-5 5-5-2.2-5-5 2.3-5 5-5z\"}},\nwork_forecast:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M44.88 11.82s-2.38-4.91-7.7-4.91S29.34 12 29.34 12a7.94 7.94 0 00-6.75 0s-2.45-5.05-7.77-5.05-7.7 4.91-7.7 4.91S2.14 22.93 2 32.89s6.48 12.2 9.61 12.2c3.41 0 11.46-1.43 11.05-12.61a3.26 3.26 0 013.07-1.84 4.06 4.06 0 013.68 1.84C29 43.66 37 45.09 40.39 45.09c3.06 0 9.74-2.39 9.61-12.2s-5.12-21.07-5.12-21.07zM12.23 40.73a5.94 5.94 0 115.93-5.94 5.94 5.94 0 01-5.93 5.94zm27.54 0a5.94 5.94 0 115.93-5.94 5.94 5.94 0 01-5.93 5.94z\"}},\nwork_order_type:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M39.3 26.9c0 1-.9 1.9-1.9 1.9H14.6c-1 0-1.9-.9-1.9-1.9V25c0-1 .9-1.9 1.9-1.9h22.9c1 0 1.9.9 1.9 1.9v1.9h-.1zm-3.8 11.4c0 1-.9 1.9-1.9 1.9h-19c-1 0-1.9-.9-1.9-1.9v-1.9c0-1 .9-1.9 1.9-1.9h19.1c1 0 1.9.9 1.9 1.9v1.9h-.1zM12.7 13.5c0-1 .9-1.9 1.9-1.9h19.1c1 0 1.9.9 1.9 1.9v1.9c0 1-.9 1.9-1.9 1.9H14.6c-1 0-1.9-.9-1.9-1.9v-1.9zM41.2 4H10.8C7.6 4 5 6.6 5 9.7v32.4c0 3.1 2.6 5.7 5.7 5.7h30.5c3.1 0 5.7-2.6 5.7-5.7V9.7C47 6.6 44.4 4 41.2 4z\"}},\nworld:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M26 2C12.7 2 2 12.7 2 26s10.7 24 24 24 24-10.7 24-24S39.3 2 26 2zm0 5zm2 .1h-.2.2zM26 45C15.5 45 7 36.5 7 26c0-1 .1-2.1.3-3 1.3.2 2.9.7 3.7 1.5 1.7 1.8 3.6 3.9 5.4 4.3 0 0-.2.1-.4.4-.2.3-.4.9-.4 1.9 0 4.7 4.4 1.9 4.4 6.6 0 4.7 5.3 6.6 5.3 2.8s3.5-5.6 3.5-8.5-2.7-2.8-4.4-3.8c-1.8-.9-2.7-2.4-6.1-1.9-1.8-1.7-2.8-3.1-2-4.7.9-1.7 4.6-2 4.6-4.6s-2.5-3.1-4.3-3.1c-.8 0-2.5-.6-3.9-1.3 1.7-1.7 3.8-3.1 6-4.1 1.6.7 4.3 1.8 6.6 1.8 2.7 0 4.1-1.9 3.7-3.1 4.5.7 8.5 3 11.4 6.2-1.5.9-3.5 1.9-7 1.9-4.6 0-4.6 4.7-1.9 5.6 2.8.9 5.6-1.8 6.5 0 .9 1.8-6.5 1.8-4.6 6.4 1.9 4.6 3.7-.1 5.6 4.5 1.9 4.6 5.6-.7 2.8-4.3-1.2-1.6-.9-6.5 1.9-6.5h.9c.4 1.6.7 3.3.7 5C45 36.5 36.5 45 26 45z\"}},\nyubi_key:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M38.5 14.1h-37c-.8 0-1.5.7-1.5 1.5v21c0 .8.7 1.5 1.5 1.5h37c.8 0 1.5-.7 1.5-1.5v-21c0-.8-.7-1.5-1.5-1.5zM21 32.2c-3.4 0-6.1-2.7-6.1-6.1S17.6 20 21 20s6.1 2.7 6.1 6.1-2.7 6.1-6.1 6.1z\"},{\"d\":\"M50.5 18H36c-.8 0-1.5.7-1.5 1.5v13c0 .8.7 1.5 1.5 1.5h14.5c.8 0 1.5-.7 1.5-1.5v-13c0-.8-.7-1.5-1.5-1.5zm-3.4 4c.6 0 1 .4 1 1v1.9H40V22h7.1zm0 8H40v-2.7h8.1V29c0 .6-.4 1-1 1z\"}],\"circle\":{\"cx\":\"21\",\"cy\":\"26.1\",\"r\":\"1.2\"}}},\nzoomin:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M31 19h-6v-6c0-.6-.4-1-1-1h-4c-.6 0-1 .4-1 1v6h-6c-.6 0-1 .4-1 1v4c0 .6.4 1 1 1h6v6c0 .6.4 1 1 1h4c.6 0 1-.4 1-1v-6h6c.6 0 1-.4 1-1v-4c0-.6-.4-1-1-1z\"},{\"d\":\"M49.6 45.2L38.1 33.8C40.5 30.5 42 26.4 42 22c0-11-9-20-20-20S2 11 2 22s9 20 20 20c4.4 0 8.5-1.5 11.8-3.9l11.5 11.5c.6.6 1.5.6 2.1 0l2.1-2.1c.6-.6.6-1.6.1-2.3zM22 36c-7.7 0-14-6.3-14-14S14.3 8 22 8s14 6.3 14 14-6.3 14-14 14z\"}]},\nzoomout:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M19 25h12c.6 0 1-.4 1-1v-4c0-.6-.4-1-1-1H19M19 19h-6c-.6 0-1 .4-1 1v4c0 .6.4 1 1 1h6\"},{\"d\":\"M49.6 45.3L38.1 33.8C40.5 30.5 42 26.4 42 22c0-11-9-20-20-20S2 11 2 22s9 20 20 20c4.4 0 8.5-1.5 11.8-3.9l11.5 11.5c.6.6 1.5.6 2.1 0l2.1-2.1c.6-.6.6-1.6.1-2.2zM22 36c-7.7 0-14-6.3-14-14S14.3 8 22 8s14 6.3 14 14-6.3 14-14 14z\"}]},\nviewBox:'0 0 52 52'\n}; } export default icons;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n\nlet icons = {}; if ('__INCLUDE_SLDS_ICONS__' === '__INCLUDE_SLDS_ICONS__') { icons = {\nadd_contact:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M46 9H6c-2.7 0-5 2.2-5 5v24c0 2.7 2.3 5 5 5h40c2.8 0 5-2.2 5-5V14c0-2.8-2.2-5-5-5zM24.8 37.2H10.4c-1.6 0-2.8-1.7-2.8-3.4.1-2.5 2.7-4 5.4-5.2 1.9-.8 2.2-1.6 2.2-2.4 0-.8-.5-1.6-1.2-2.2-1.1-1-1.7-2.5-1.7-4.1 0-3.2 1.9-5.8 5.2-5.8s5.2 2.7 5.2 5.8c0 1.7-.6 3.2-1.7 4.1-.7.6-1.2 1.3-1.2 2.2 0 .8.2 1.6 2.2 2.3 2.7 1.2 5.3 2.8 5.4 5.3.3 1.7-1 3.4-2.6 3.4zm19.5-5.8c0 .9-.8 1.7-1.7 1.7h-7.5c-.9 0-1.7-.7-1.7-1.7v-2.5c0-.9.8-1.7 1.7-1.7h7.5c.9 0 1.7.7 1.7 1.7v2.5zm0-9.1c0 .9-.8 1.7-1.7 1.7H30.2c-.9 0-1.7-.7-1.7-1.7v-2.5c0-.9.8-1.7 1.7-1.7h12.5c.9 0 1.7.7 1.7 1.7v2.5z\"}},\nadd_file:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M9.7 36.1V11.3c-2.6 0-4.7 2.1-4.7 4.6v29.4C5 47.9 7.1 50 9.7 50H33c2.6 0 4.7-2.1 4.7-4.6H19c-5.1 0-9.3 0-9.3-9.3zm35.7-20.2h-7.8c-2.6 0-4.7-2.1-4.7-4.6V3.5c.1-.8-.6-1.5-1.5-1.5H19c-2.6 0-4.7 2.1-4.7 4.6V36c0 2.6 2.1 4.6 4.7 4.6h23.3c2.6 0 4.7-2.1 4.7-4.6V17.5c0-.9-.7-1.6-1.6-1.6zm1.3-6.5l-7.2-7.1c-.2-.2-.4-.3-.7-.3-.6 0-1.1.5-1.1 1.1v5.1c0 1.7 1.4 3.1 3.1 3.1h5.1c.6 0 1.1-.5 1.1-1.1 0-.3-.1-.5-.3-.8z\"}},\nadd_photo_video:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M26 20c-4.4 0-8 3.6-8 8s3.6 8 8 8 8-3.6 8-8-3.6-8-8-8zm20-6h-5.2c-1.4 0-2.6-.7-3.4-1.8l-2.3-3.5C34.4 7 32.7 6 30.9 6h-9.8c-1.8 0-3.5 1-4.3 2.7l-2.3 3.5c-.7 1.1-2 1.8-3.4 1.8H6c-2.2 0-4 1.8-4 4v24c0 2.2 1.8 4 4 4h40c2.2 0 4-1.8 4-4V18c0-2.2-1.8-4-4-4zM26 40c-6.6 0-12-5.4-12-12s5.4-12 12-12 12 5.4 12 12-5.4 12-12 12z\"}},\nadd_relationship:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M36 20c0-2.2-1.8-4-4-4H6c-2.2 0-4 1.8-4 4v26c0 2.2 1.8 4 4 4h26c2.2 0 4-1.8 4-4V20zm-8 14c0 .5-.5 1-1 1h-6v6c0 .5-.5 1-1 1h-2c-.5 0-1-.5-1-1v-6h-6c-.5 0-1-.5-1-1v-2c0-.5.5-1 1-1h6v-6c0-.5.5-1 1-1h2c.5 0 1 .5 1 1v6h6c.5 0 1 .5 1 1v2zm15 8h-3v-6h3c.6 0 1-.4 1-1V9c0-.6-.4-1-1-1H17c-.6 0-1 .4-1 1v3h-6V9c0-3.9 3.1-7 7-7h26c3.9 0 7 3.1 7 7v26c0 3.9-3.1 7-7 7z\"}},\nadjust_value:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M23 14.91a6.55 6.55 0 11-6.52 6.55A6.53 6.53 0 0123 14.91zm20.7 15.72a.58.58 0 000-.84l-4.12-4.12a.59.59 0 00-.42-.18.61.61 0 00-.43.18L27.39 37.05l-1.7 5.69a.8.8 0 00.79 1 .55.55 0 00.18 0L32.35 42zm-1.45-7.75L46.4 27a.63.63 0 00.43.18.59.59 0 00.42-.18c.73-.73 2.06-1.94 2.06-1.94a2 2 0 000-2.91L47.13 20a2 2 0 00-1.41-.54 2.34 2.34 0 00-1.5.54s-1.33 1.31-1.93 2a.58.58 0 000 .88zM40.1 8.27H6a4 4 0 00-3.93 4v19.07A4 4 0 006 35.28h18.84l3.95-3.94H10.54A4.53 4.53 0 006 26.76v-9.88a4.53 4.53 0 004.56-4.57h25a4.53 4.53 0 004.56 4.57v3L44 15.91v-3.6a4 4 0 00-3.9-4.04z\"}},\nannouncement:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M22.7 45.4l-1.3-1c-1.4-1-1.4-3-1.4-4v-2.9c0-.8-.7-1.5-1.5-1.5h-6c-.8 0-1.5.7-1.5 1.5v7.7c0 2.7 1.6 4.8 4.1 4.8H20c2.9 0 3.1-2 3.1-2s.5-1.8-.4-2.6zM45 18V4.4v-.1c0-2.4-3-3.1-4.6-1.5l-8.9 8.4c-1.4 1.2-3.2 1.7-5 1.7H11.3C6.1 13 2 17.5 2 22.7v.2c0 5.2 4.1 9.1 9.3 9.1h15.2c1.9 0 3.7.8 5.1 2l8.8 8.6c1.6 1.6 4.6 1 4.6-1.4V27.6c3 0 4.8-2.1 4.8-4.8 0-2.7-1.8-4.8-4.8-4.8z\"}}},\napex:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M48.5 40h-27c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h27c.8 0 1.5-.7 1.5-1.5v-3c0-.8-.7-1.5-1.5-1.5zM25.4 21.8L6 6.3c-.6-.5-1.5-.4-2 .3L2.3 9c-.5.7-.3 1.6.3 2.1l13.8 11c.5.4.5 1.2 0 1.6l-13.8 11c-.6.5-.8 1.5-.3 2.1L4 39.4c.5.7 1.4.8 2 .3l19.4-15.5c.8-.6.8-1.8 0-2.4z\"}}},\napproval:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M19 43.6L2.5 27c-.6-.6-.6-1.6 0-2.2l2.2-2.2c.6-.6 1.6-.6 2.2 0l12.4 12.5c.4.4 1.1.4 1.5 0l24.3-24.5c.6-.6 1.6-.6 2.2 0l2.2 2.2c.6.6.6 1.6 0 2.2L21.2 43.6c-.6.7-1.6.7-2.2 0z\"}},\nback:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M48.5 22H15.3c-.9 0-1.3-1.1-.7-1.7l9.6-9.6c.6-.6.6-1.5 0-2.1L22 6.4c-.6-.6-1.5-.6-2.1 0L2.4 23.9c-.6.6-.6 1.5 0 2.1l17.5 17.5c.6.6 1.5.6 2.1 0l2.1-2.1c.6-.6.6-1.5 0-2.1l-9.6-9.6c-.6-.6-.2-1.7.7-1.7h33.2c.8 0 1.5-.7 1.5-1.5v-3c.1-.8-.6-1.5-1.4-1.5z\"}},\nbug:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M19.7 10.1h12.7c.9 0 1.6-.9 1.4-1.7-.8-3.6-4-6.2-7.8-6.2s-7 2.7-7.8 6.2c-.1.8.6 1.7 1.5 1.7zm27.8 20.7c1.4 0 2.5-1.1 2.4-2.5-.1-1.3-1.2-2.3-2.6-2.3h-7v-4c4.6-1.8 7.9-6.8 7.9-12.6 0-1.2-.8-2.2-2-2.5-1.5-.2-2.8.9-2.8 2.4 0 3.4-1.6 6.4-3.9 7.8-.9-1.4-2.4-2.2-4.1-2.2H16.5c-1.7 0-3.2.9-4.1 2.2-2.3-1.4-3.9-4.3-3.9-7.6 0-1.3-1-2.5-2.2-2.5-1.4-.1-2.5 1-2.5 2.3 0 5.9 3.3 10.9 7.9 12.7v4h-7c-1.3 0-2.5 1-2.5 2.2-.1 1.4 1 2.5 2.4 2.5h7.2v4c-4.6 1.8-7.9 6.8-7.9 12.6 0 1.2.8 2.2 2 2.5 1.5.2 2.8-.9 2.8-2.4 0-3.3 1.5-6.3 3.8-7.7 1.4 4.5 4.8 7.9 9.2 9.4 1 .3 2.1-.5 2.1-1.5V28.5c0-1.3 1-2.5 2.2-2.5 1.4-.1 2.5 1 2.5 2.4v19.2c0 1.1 1 1.8 2.1 1.5 4.4-1.4 7.9-4.9 9.2-9.4 2.2 1.4 3.7 4.3 3.8 7.5 0 1.3 1 2.5 2.2 2.5 1.4.1 2.5-1 2.5-2.4 0-5.9-3.3-10.9-7.9-12.7v-4h7.1v.2z\"}},\ncall:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M48.5 37.8l-6.1-4.9c-1.4-1.1-3.4-1.2-4.8-.1l-5.2 3.8c-.6.5-1.5.4-2.1-.2l-7.8-7-7-7.8c-.6-.6-.6-1.4-.2-2.1l3.8-5.2c1.1-1.4 1-3.4-.1-4.8l-4.9-6.1c-1.5-1.8-4.2-2-5.9-.3l-5 5.2c-.8.8-1.2 2-1.2 3.1.5 10.2 5.1 19.9 11.9 26.7 6.8 6.8 16.5 11.4 26.7 11.9 1.1.1 2.2-.4 3-1.2l5.2-5.2c1.7-1.6 1.6-4.4-.3-5.8z\"}},\ncanvas:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M45 38.4c-.2 2.7-.5 5.6-1 8.4-.1.8-1 1.7-1.8 1.8-5.4.6-10.7 1-16.1 1-5.3 0-10.7-.3-16-1-.8-.1-1.7-.9-1.8-1.8-.7-4.4-1.1-8.9-1.1-13.4s.4-9 1.1-13.4c.1-.8 1-1.6 1.8-1.8 3.3-.4 6.5-.6 9.7-.8 0 0 2.6-.1 2.4-2.6-.2-2.2-4-3.7-4-7.4 0-3 3-5.4 7.9-5.4 4.8 0 7.8 2.4 7.8 5.4 0 3.8-3.7 5.2-3.9 7.4-.2 2.4 2.4 2.6 2.4 2.6 3.3.1 6.6.4 9.8.8.8.1 1.7.9 1.8 1.8.5 3.1.8 6 1 9.1 0 .9-.7 1.8-1.6 1.8h-.9c-.9 0-2.3-.7-2.9-1.4 0 0-2.1-2.2-4.4-2.3-3.7-.1-6.5 3.1-6.5 6.6s2.8 6.8 6.4 6.7c2.2-.1 4.4-2.3 4.4-2.3.7-.6 2-1.2 2.9-1.2h.9c1.1 0 1.8.6 1.7 1.4z\"}},\nchange_owner:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M27.3 37.6c-3-1.2-3.5-2.3-3.5-3.5 0-1.2.8-2.3 1.8-3.2 1.8-1.5 2.6-3.9 2.6-6.4 0-4.7-2.9-8.5-8.3-8.5s-8.3 3.8-8.3 8.5c0 2.5.8 4.9 2.6 6.4 1 .9 1.8 2 1.8 3.2 0 1.2-.5 2.3-3.5 3.5-4.4 1.8-8.6 3.8-8.7 7.6C4 47.8 6 50 8.5 50h23c2.5 0 4.5-2.2 4.5-4.7-.1-3.8-4.3-5.9-8.7-7.7zM44.5 19c0-7.4-6.1-13.5-13.5-13.5V2l-6.8 5.5c-.3.3-.2.8.1 1.1L31 14v-3.5c4.7 0 8.5 3.8 8.5 8.5H36l5.5 6.8c.3.3.8.3 1.1 0L48 19h-3.5z\"}},\nchange_record_type:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M20 37.5c0-.8-.7-1.5-1.5-1.5h-15c-.8 0-1.5.7-1.5 1.5v11c0 .8.7 1.5 1.5 1.5h15c.8 0 1.5-.7 1.5-1.5v-11zM8.1 22H3.2c-1 0-1.5.9-.9 1.4l8 8.3c.4.3 1 .3 1.4 0l8-8.3c.6-.6.1-1.4-.9-1.4h-4.7c0-5 4.9-10 9.9-10V6C15 6 8.1 13 8.1 22zM41.8 20.3c-.4-.3-1-.3-1.4 0l-8 8.3c-.6.6-.1 1.4.9 1.4h4.8c0 6-4.1 10-10.1 10v6c9 0 16.1-7 16.1-16H49c1 0 1.5-.9.9-1.4l-8.1-8.3zM50 3.5c0-.8-.7-1.5-1.5-1.5h-15c-.8 0-1.5.7-1.5 1.5v11c0 .8.7 1.5 1.5 1.5h15c.8 0 1.5-.7 1.5-1.5v-11z\"}},\ncheck:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M19.1 42.5L2.6 25.9c-.6-.6-.6-1.6 0-2.2l2.2-2.2c.6-.6 1.6-.6 2.2 0L19.4 34c.4.4 1.1.4 1.5 0L45.2 9.5c.6-.6 1.6-.6 2.2 0l2.2 2.2c.6.6.6 1.6 0 2.2L21.3 42.5c-.6.7-1.6.7-2.2 0z\"}},\nclone:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M46 2H18c-2.2 0-4 1.8-4 4v2.5c0 .8.7 1.5 1.5 1.5H34c4.4 0 8 3.6 8 8v18.5c0 .8.7 1.5 1.5 1.5H46c2.2 0 4-1.8 4-4V6c0-2.2-1.8-4-4-4z\"},{\"d\":\"M34 14H6c-2.2 0-4 1.8-4 4v28c0 2.2 1.8 4 4 4h28c2.2 0 4-1.8 4-4V18c0-2.2-1.8-4-4-4zm-4 27c0 .6-.4 1-1 1H11c-.6 0-1-.4-1-1v-2c0-.6.4-1 1-1h18c.6 0 1 .4 1 1v2zm0-8c0 .6-.4 1-1 1H11c-.6 0-1-.4-1-1v-2c0-.6.4-1 1-1h18c.6 0 1 .4 1 1v2zm0-8c0 .6-.4 1-1 1H11c-.6 0-1-.4-1-1v-2c0-.6.4-1 1-1h18c.6 0 1 .4 1 1v2z\"}]}},\nclose:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M31.6 25.8l13.1-13.1c.6-.6.6-1.5 0-2.1l-2.1-2.1c-.6-.6-1.5-.6-2.1 0L27.4 21.6c-.4.4-1 .4-1.4 0L12.9 8.4c-.6-.6-1.5-.6-2.1 0l-2.1 2.1c-.6.6-.6 1.5 0 2.1l13.1 13.1c.4.4.4 1 0 1.4L8.6 40.3c-.6.6-.6 1.5 0 2.1l2.1 2.1c.6.6 1.5.6 2.1 0L26 31.4c.4-.4 1-.4 1.4 0l13.1 13.1c.6.6 1.5.6 2.1 0l2.1-2.1c.6-.6.6-1.5 0-2.1L31.6 27.2c-.3-.4-.3-1 0-1.4z\"}},\ndefer:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M26 2C12.8 2 2 12.8 2 26s10.8 24 24 24 24-10.8 24-24S39.2 2 26 2zm0 42c-9.9 0-18-8.1-18-18S16.1 8 26 8s18 8.1 18 18-8.1 18-18 18z\"},{\"d\":\"M29.4 26.2c-.3-.3-.4-.7-.4-1.1v-9.6c0-.8-.7-1.5-1.5-1.5h-3c-.8 0-1.5.7-1.5 1.5v12.1c0 .4.2.8.4 1.1l7.4 7.4c.6.6 1.5.6 2.1 0L35 34c.6-.6.6-1.5 0-2.1l-5.6-5.7z\"}]}},\ndelete:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M45.5 10H33V6c0-2.2-1.8-4-4-4h-6c-2.2 0-4 1.8-4 4v4H6.5c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h39c.8 0 1.5-.7 1.5-1.5v-3c0-.8-.7-1.5-1.5-1.5zM23 7c0-.6.4-1 1-1h4c.6 0 1 .4 1 1v3h-6V7zM41.5 20h-31c-.8 0-1.5.7-1.5 1.5V45c0 2.8 2.2 5 5 5h24c2.8 0 5-2.2 5-5V21.5c0-.8-.7-1.5-1.5-1.5zM23 42c0 .6-.4 1-1 1h-2c-.6 0-1-.4-1-1V28c0-.6.4-1 1-1h2c.6 0 1 .4 1 1v14zm10 0c0 .6-.4 1-1 1h-2c-.6 0-1-.4-1-1V28c0-.6.4-1 1-1h2c.6 0 1 .4 1 1v14z\"}}},\ndescription:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M44 4H8C5.8 4 4 5.8 4 8v36c0 2.2 1.8 4 4 4h36c2.2 0 4-1.8 4-4V8c0-2.2-1.8-4-4-4zM12 14c0-.6.4-1 1-1h10c.6 0 1 .4 1 1v10c0 .6-.4 1-1 1H13c-.6 0-1-.4-1-1V14zm24 26c0 .6-.4 1-1 1H13c-.6 0-1-.4-1-1v-2c0-.6.4-1 1-1h22c.6 0 1 .4 1 1v2zm4-8c0 .6-.4 1-1 1H13c-.6 0-1-.4-1-1v-2c0-.6.4-1 1-1h26c.6 0 1 .4 1 1v2zm0-8c0 .6-.4 1-1 1H29c-.6 0-1-.4-1-1v-2c0-.6.4-1 1-1h10c.6 0 1 .4 1 1v2zm0-8c0 .6-.4 1-1 1H29c-.6 0-1-.4-1-1v-2c0-.6.4-1 1-1h10c.6 0 1 .4 1 1v2z\"}},\ndial_in:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"circle\":[{\"cx\":\"10\",\"cy\":\"10\",\"r\":\"6\"},{\"cx\":\"10\",\"cy\":\"26\",\"r\":\"6\"},{\"cx\":\"26\",\"cy\":\"10\",\"r\":\"6\"},{\"cx\":\"42\",\"cy\":\"10\",\"r\":\"6\"},{\"cx\":\"26\",\"cy\":\"26\",\"r\":\"6\"},{\"cx\":\"42\",\"cy\":\"26\",\"r\":\"6\"},{\"cx\":\"10\",\"cy\":\"42\",\"r\":\"6\"},{\"cx\":\"26\",\"cy\":\"42\",\"r\":\"6\"},{\"cx\":\"42\",\"cy\":\"42\",\"r\":\"6\"}]}},\ndownload:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M48.5 31h-3c-.8 0-1.5.7-1.5 1.5v10c0 .8-.7 1.5-1.5 1.5h-33c-.8 0-1.5-.7-1.5-1.5v-10c0-.8-.7-1.5-1.5-1.5h-3c-.8 0-1.5.7-1.5 1.5V46c0 2.2 1.8 4 4 4h40c2.2 0 4-1.8 4-4V32.5c0-.8-.7-1.5-1.5-1.5z\"},{\"d\":\"M25 37.6c.6.6 1.5.6 2.1 0l13.5-13.5c.6-.6.6-1.5 0-2.1l-2.1-2.1c-.6-.6-1.5-.6-2.1 0l-5.6 5.6c-.6.6-1.7.2-1.7-.7V3.5C29 2.7 28.2 2 27.5 2h-3c-.8 0-1.5.7-1.5 1.5v21.2c0 .9-1.1 1.3-1.7.7l-5.6-5.6c-.6-.6-1.5-.6-2.1 0L11.5 22c-.6.6-.6 1.5 0 2.1L25 37.6z\"}]}},\nedit:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M48.8 7.4l-4.2-4.2c-1.6-1.6-4.1-1.6-5.6 0l-3.3 3.3c-.4.4-.4 1 0 1.4l8.5 8.5c.4.4 1 .4 1.4 0l3.3-3.3c1.5-1.6 1.5-4.1-.1-5.7zM32.9 10.7c-.4-.4-1-.4-1.4 0L5.4 36.8 2.1 48.1c-.3 1.1.7 2.2 1.8 1.9l11.4-3.2h-.1l26.1-26.1c.4-.4.4-1 0-1.4l-8.4-8.6z\"}}},\nedit_groups:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M39.4 31.5c-.2-.2-.6-.2-.8 0L26.9 43.2 25.2 49c-.2.6.4 1.1 1 1l5.9-1.7 11.7-11.7c.2-.2.2-.6 0-.8l-4.4-4.3zM49.4 28l-2.2-2.2c-.8-.8-2.1-.8-2.9 0 0 0-1.3 1.3-2 2.1-.2.2-.2.6 0 .8l4.2 4.2c.2.2.6.2.8 0 .7-.7 2.1-2 2.1-2 .8-.8.8-2.1 0-2.9zM26 13.7c0 2.2-.6 4.3-1.8 6.1-.4.6-.2 1.5.5 1.9 2.2 1.1 4.7 2.5 6.1 4.9.2.4.7.5 1.1.5h2.8c1.8 0 3-1.2 3-3.1-.1-2.8-2.9-4.5-5.9-5.8-2.1-.9-2.4-1.7-2.4-2.6 0-.9.6-1.7 1.3-2.4 1.2-1.1 1.9-2.7 1.9-4.6C32.5 5 30.4 2 26.7 2c-2.2 0-3.9 1.1-4.8 2.7 2.5 1.9 4.1 5.1 4.1 9z\"},{\"d\":\"M27.5 30.3c-.1-3.2-3.3-4.6-6.7-6.1-2.3-1-2.7-1.9-2.7-2.9s.6-2 1.4-2.7c1.4-1.3 2.1-3.1 2.1-5.2 0-3.9-2.3-7.3-6.5-7.3h-.4c-4.2 0-6.5 3.4-6.5 7.3 0 2.1.7 3.9 2.1 5.2.8.7 1.4 1.7 1.4 2.7 0 1-.4 1.9-2.7 2.9-3.4 1.5-6.6 3-6.7 6.1C2.5 32.4 4 34 6 34h18c2 0 3.5-1.6 3.5-3.7z\"}]}},\nedit_relationship:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M43 42h-3v-6h3c.6 0 1-.4 1-1V9c0-.6-.4-1-1-1H17c-.6 0-1 .4-1 1v3h-6V9c0-3.9 3.1-7 7-7h26c3.9 0 7 3.1 7 7v26c0 3.9-3.1 7-7 7z\"},{\"d\":\"M32 16H6c-2.2 0-4 1.8-4 4v26c0 2.2 1.8 4 4 4h26c2.2 0 4-1.8 4-4V20c0-2.2-1.8-4-4-4zM14.8 41.5c-.2.2-.3.2-.5.3l-4.5 1.1c-.4.1-.8-.3-.7-.7l1.1-4.5c0-.1.1-.2.2-.4l.1-.1c.1-.1.4-.1.5 0l3.7 3.7c.2.3.2.6.1.6zm10.9-11l-9.2 9.3c-.2.2-.4.2-.6 0l-3.7-3.7c-.2-.1-.2-.4 0-.5l9.3-9.3c.2-.2.4-.2.6 0l3.7 3.7c0 .1 0 .3-.1.5zm2.8-2.8l-1 1c-.2.2-.4.2-.6 0L23.2 25c-.2-.2-.2-.4 0-.6l1-1c.7-.7 1.7-.7 2.4 0l2 2c.6.7.6 1.7-.1 2.3z\"}]},\nemail:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M24.9 30.1c.6.6 1.5.6 2.1 0l22.6-21c.5-.8.4-2.1-1.2-2.1l-44.8.1c-1.2 0-2.2 1.1-1.3 2.1l22.6 20.9z\"},{\"d\":\"M50 17.3c0-1-1.2-1.6-2-.9L30.3 32.7c-1.2 1.1-2.7 1.7-4.3 1.7s-3.1-.6-4.3-1.6L4.1 16.4c-.8-.7-2-.2-2 .9C2 21.8 2 34 2 40c0 2.2 1.8 4 4 4h40c2.2 0 4-1.8 4-4V17.3z\"}]}},\nfallback:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M28 3.5l-3 14.6c0 .6.4.9.9.9h15.6c1.1 0 1.8 1.3 1.3 2.3l-17 27.9c-.7 1.4-2.8.9-2.8-.7l3-17.2c0-.6-.5-.4-1.1-.4H8.5c-1.1 0-1.9-1.6-1.3-2.6l18-25.5c.7-1.3 2.8-.9 2.8.7z\"}},\nfilter:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M48.2 4H3.8C2.4 4 1.6 5.7 2.5 6.8L22 29.5c.6.7 1 1.7 1 2.6v14.4c0 .8.7 1.5 1.5 1.5h3c.8 0 1.5-.7 1.5-1.5V32.1c0-1 .3-1.9 1-2.6L49.5 6.8c.9-1.1.2-2.8-1.3-2.8z\"}},\nflow:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M49.9 10.6c-2.1-4.1-7.4-11.7-17.2-7.2-6.1 2.8-9.5 4.4-9.5 4.4l-8.8 3.8c-2.5 1.2-7.9-.5-11-1.6-.9-.3-1.7.6-1.3 1.5 2.1 4.1 7.4 11.7 17.2 7.2 6.1-2.8 18.3-8.1 18.3-8.1 2.5-1.2 7.9.5 11 1.6.9.2 1.7-.7 1.3-1.6zM28.8 23.4c-1.1.6-5.5 2.6-5.5 2.6l-4.4 1.9c-2.2 1.2-6.9-.4-9.7-1.5-.8-.4-1.5.6-1.1 1.4 1.8 4 6.5 11.2 15.1 6.8 5.4-2.7 9.9-4.5 9.9-4.5 2.2-1.2 6.9.4 9.7 1.5.8.3 1.5-.6 1.1-1.5-1.8-3.9-6.5-11.1-15.1-6.7zM25.6 41.1c-.9.5-2.4 1.4-2.4 1.4-1.7 1.1-5.2-.3-7.3-1.3-.6-.3-1.1.6-.8 1.4 1.3 3.6 4.8 10.1 11.3 6.1 2.4-1.5 2.4-1.4 2.4-1.4 1.8-.9 5.2.3 7.3 1.3.6.3 1.1-.6.8-1.4-1.3-3.6-4.6-9.8-11.3-6.1z\"}}},\nfollow:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M50.5 38H46v-4.5c0-.8-.7-1.5-1.5-1.5h-3c-.8 0-1.5.7-1.5 1.5V38h-4.5c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5H40v4.5c0 .8.7 1.5 1.5 1.5h3c.8 0 1.5-.7 1.5-1.5V44h4.5c.8 0 1.5-.7 1.5-1.5v-3c0-.8-.7-1.5-1.5-1.5z\"},{\"d\":\"M34 34h1c.6 0 1-.4 1-1v-1c0-2.2 1.8-4 4-4h4.5c.8 0 1.5-.7 1.5-1.5V6c0-2.2-1.8-4-4-4H6C3.8 2 2 3.8 2 6v36c0 2.2 1.8 4 4 4h22.5c.9 0 1.6-.7 1.5-1.6V38c0-2.2 1.8-4 4-4zm-8-23c0-.6.4-1 1-1h10c.6 0 1 .4 1 1v2c0 .6-.4 1-1 1H27c-.6 0-1-.4-1-1v-2zm0 8c0-.6.4-1 1-1h10c.6 0 1 .4 1 1v2c0 .6-.4 1-1 1H27c-.6 0-1-.4-1-1v-2zm-16-8c0-.6.4-1 1-1h10c.6 0 1 .4 1 1v10c0 .6-.4 1-1 1H11c-.6 0-1-.4-1-1V11zm16 26c0 .6-.4 1-1 1H11c-.6 0-1-.4-1-1v-2c0-.6.4-1 1-1h14c.6 0 1 .4 1 1v2zm-15-7c-.6 0-1-.4-1-1v-2c0-.6.4-1 1-1h20c.6 0 1 .4 1 1v2c0 .6-.4 1-1 1H11z\"}]}},\nfollowing:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M49.5 33.6l-2.2-2.2c-.6-.6-1.6-.6-2.2 0L35.7 41c-.4.4-1.1.4-1.5 0l-4.4-4.5c-.6-.6-1.6-.6-2.2 0l-2.2 2.2c-.6.6-.6 1.6 0 2.2l8.4 8.6c.6.6 1.6.6 2.2 0l13.4-13.7c.7-.5.7-1.5.1-2.2z\"},{\"d\":\"M24.7 33.8c1-1 2.2-1.6 3.6-1.8 1.7-.1 3.3.4 4.5 1.6L35 36l7.2-7.4c.8-.8 1.8-1.4 2.9-1.6.5-.1.8-.5.8-1V6c0-2.2-1.8-4-4-4H6C3.8 2 2 3.8 2 6v36c0 2.2 1.8 4 4 4h16.4c.9 0 1.3-1.1.7-1.7l-.5-.5c-2.1-2.2-2.1-5.7 0-7.9l2.1-2.1zM26 11c0-.6.4-1 1-1h10c.6 0 1 .4 1 1v2c0 .6-.4 1-1 1H27c-.6 0-1-.4-1-1v-2zm0 8c0-.6.4-1 1-1h10c.6 0 1 .4 1 1v2c0 .6-.4 1-1 1H27c-.6 0-1-.4-1-1v-2zm-16-8c0-.6.4-1 1-1h10c.6 0 1 .4 1 1v10c0 .6-.4 1-1 1H11c-.6 0-1-.4-1-1V11zm8 26c0 .6-.4 1-.9 1H11c-.5 0-.9-.4-.9-1v-2c0-.6.4-1 .9-1h6.1c.5 0 .9.4.9 1v2zm-7-7c-.6 0-1-.4-1-1v-2c0-.6.4-1 1-1h20c.6 0 1 .4 1 1v2c0 .6-.4 1-1 1H11z\"}]}},\nfreeze_user:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M27 3c.6 0 1 .4 1 1v45.9c0 .6-.4 1-1 1h-2c-.6 0-1-.4-1-1V4c0-.6.4-1 1-1h2z\"},{\"d\":\"M26 17.2l-8.1-8.1c-.4-.4-.4-1 0-1.4l1.4-1.4c.4-.4 1-.4 1.4 0l5.3 5.3 5.3-5.3c.4-.4 1-.4 1.4 0l1.4 1.4c.4.4.4 1 0 1.4L26 17.2M26 36.7l8.1 8.1c.4.4.4 1 0 1.4l-1.4 1.4c-.4.4-1 .4-1.4 0L26 42.3l-5.3 5.3c-.4.4-1 .4-1.4 0l-1.4-1.4c-.4-.4-.4-1 0-1.4l8.1-8.1M47.1 15.6c.3.5.2 1.1-.4 1.4L7.2 40.3c-.5.3-1.1.2-1.4-.4l-1-1.7c-.3-.5-.2-1.1.4-1.4l39.5-23.4c.5-.3 1.1-.2 1.4.4l1 1.8z\"},{\"d\":\"M34.4 22l2.8-11.1c.1-.6.6-.9 1.2-.7l1.9.5c.6.1.9.6.7 1.2l-1.9 7.3 7.3 1.9c.6.1.9.6.7 1.2l-.5 1.9c-.1.6-.6.9-1.2.7l-11-2.9M17.6 31.9L14.8 43c-.1.6-.6.9-1.2.7l-1.9-.5c-.6-.1-.9-.6-.7-1.2l1.9-7.3-7.3-1.9c-.6-.1-.9-.6-.7-1.2l.5-1.9c.1-.6.6-.9 1.2-.7l11 2.9M5.9 13.9c.3-.5.9-.7 1.4-.4l39.5 23.4c.5.3.7.9.4 1.4l-1 1.7c-.3.5-.9.7-1.4.4L5.2 17c-.5-.3-.7-.9-.4-1.4l1.1-1.7z\"},{\"d\":\"M17.6 22L6.5 24.9c-.6.1-1.1-.1-1.2-.7l-.5-1.9c-.1-.6.1-1.1.7-1.2l7.3-1.9-1.9-7.3c-.1-.6.1-1.1.7-1.2l1.9-.5c.6-.1 1.1.1 1.2.7L17.6 22M34.3 31.9L45.4 29c.6-.1 1.1.1 1.2.7l.5 1.9c.1.6-.1 1.1-.7 1.2l-7.3 1.9L41 42c.1.6-.1 1.1-.7 1.2l-1.9.5c-.6.1-1.1-.1-1.2-.7l-2.9-11.1\"}]},\ngoal:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M5 2C3.3 2 2 3.3 2 5v42c0 1.6 1.3 3 3 3 1.6 0 3-1.3 3-3V5c0-1.7-1.3-3-3-3zM48.8 6.5c-13 6.8-23.3-4.9-35.6-.4-.6.2-1.2.8-1.2 1.5V30c0 1.1 1.2 1.9 2.3 1.6 11.8-3.5 22 7.6 34.8.6.5-.3.9-.8.9-1.4V7.2c0-.6-.7-1-1.2-.7zM46 29.2l-.5.2c-1 .5-2.6.6-5.3.6H40v-5c-1.5 0-4.2-.3-6-.7v5.3c-1.7-.3-3.3-.6-4.6-.9-.5-.1-1-.3-1.4-.4v-5.5c-1.7-.5-4.3-1-6-1.4v5.7c-1.2-.2-1.5-.3-2.8-.3-.5 0-.9 0-1.6.1L16 27v-5.8c1-.2 2.2-.2 3.5-.2 1.3 0 1.4.1 2.5.3v-6c-1.1-.2-5-.2-6 .1V9.2l.9-.1c1-.1 4 .1 5.1.4v5.8c1.4.3 3.8.8 5.6 1.3.1 0 .3.1.4.1v-5.8c1.8.5 3.9 1.1 6 1.4V18c1.7.3 4.4.5 6 .5V13h.2c1.6 0 2.7-.4 4.7-.7l1.2-.4v6c-1.8.5-3.7.7-5.6.7h-.4V25h.2c1.9 0 4-.7 5.8-1.5v5.7z\"},{\"d\":\"M28 16.7v6c.4.1.8.2 1.2.4 1.5.4 3.1.9 4.8 1.2v-6.2c-2.1-.4-4.2-.9-6-1.4z\"}]}},\ngoogle_news:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M50.3 5.3l-3.6 3.6c-.4.4-1 .4-1.4 0l-4.6-4.6c-.4-.4-1-.4-1.4 0l-3.6 3.6c-.4.4-1 .4-1.4 0l-3.6-3.6c-.4-.4-1-.4-1.4 0l-3.6 3.6c-.4.4-1 .4-1.4 0l-3.6-3.6c-.4-.4-1-.4-1.4 0l-3.6 3.6c-.4.4-1 .4-1.4 0l-3.6-3.6c-.4-.4-1-.4-1.4 0L5.7 7.9c-.4.4-1 .4-1.4 0L1.7 5.3C1.1 4.7 0 5.1 0 6v38c0 2.2 1.8 4 4 4h44c2.2 0 4-1.8 4-4V6c0-.9-1.1-1.3-1.7-.7zM21 41c0 .6-.4 1-1 1H8c-.6 0-1-.4-1-1V23c0-.6.4-1 1-1h12c.6 0 1 .4 1 1v18zm24 0c0 .6-.4 1-1 1H26c-.6 0-1-.4-1-1v-2c0-.6.4-1 1-1h18c.6 0 1 .4 1 1v2zm0-7H25v-4h20v4zm0-9c0 .6-.4 1-1 1H26c-.6 0-1-.4-1-1v-2c0-.6.4-1 1-1h18c.6 0 1 .4 1 1v2zm0-8c0 .6-.4 1-1 1H8c-.6 0-1-.4-1-1v-2c0-.6.4-1 1-1h36c.6 0 1 .4 1 1v2z\"}},\ninfo:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M26 2C12.7 2 2 12.7 2 26s10.7 24 24 24 24-10.7 24-24S39.3 2 26 2zm0 12.1c1.7 0 3 1.3 3 3s-1.3 3-3 3-3-1.3-3-3 1.3-3 3-3zm5 21c0 .5-.4.9-1 .9h-8c-.5 0-1-.3-1-.9v-2c0-.5.4-1.1 1-1.1.5 0 1-.3 1-.9v-4c0-.5-.4-1.1-1-1.1-.5 0-1-.3-1-.9v-2c0-.5.4-1.1 1-1.1h6c.5 0 1 .5 1 1.1v8c0 .5.4.9 1 .9.5 0 1 .5 1 1.1v2z\"}},\njoin_group:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M36 23.9c-.1-2.8-2.8-4.5-5.7-5.8-2-.9-2.4-1.7-2.4-2.6 0-.9.6-1.7 1.2-2.4C30.4 12 31 10.4 31 8.5 31 5 29 2 25.3 2c-2.2 0-3.7 1.1-4.7 2.7 2.5 1.9 4 5.2 4 9 0 2.2-.6 4.3-1.7 6.1-.4.6-.2 1.5.5 1.9 2.1 1.1 4.5 2.5 5.9 4.9.2.4.6.5 1.1.5h2.7c1.7-.1 2.9-1.3 2.9-3.2z\"},{\"d\":\"M19.7 24.1c-2.3-1-2.6-1.9-2.6-2.9s.6-2 1.4-2.7c1.3-1.3 2-3.1 2-5.2 0-3.9-2.3-7.3-6.3-7.3H14h-.1c-4 0-6.3 3.4-6.3 7.3 0 2.1.7 3.9 2 5.2.8.7 1.4 1.7 1.4 2.7 0 1-.3 1.9-2.6 2.9-3.3 1.5-6.4 3-6.5 6.1C2 32.4 3.5 34 5.4 34h17.4c1.9 0 3.4-1.6 3.4-3.7-.1-3.2-3.3-4.7-6.5-6.2zM48.5 34H44v-4.5c0-.8-.7-1.5-1.5-1.5h-3c-.8 0-1.5.7-1.5 1.5V34h-4.5c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5H38v4.5c0 .8.7 1.5 1.5 1.5h3c.8 0 1.5-.7 1.5-1.5V40h4.5c.8 0 1.5-.7 1.5-1.5v-3c0-.8-.7-1.5-1.5-1.5z\"}]}},\nlead_convert:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M27.6 28.3c-.6.6-.6 1.5 0 2.1l2.1 2.1c.6.6 1.5.6 2.1 0L45.3 19c.6-.6.6-1.5 0-2.1L31.9 3.4c-.6-.6-1.5-.6-2.1 0l-2.1 2.1c-.6.6-.6 1.5 0 2.1l5.7 5.6c1.6 1.8-1 1.7-1 1.7h-8C14.9 15 6.8 22.8 7 32.3 7.2 41.5 14.7 49 24 49h3.5c.8 0 1.5-.7 1.5-1.5v-3c0-.8-.7-1.5-1.5-1.5h-3.2c-5.7 0-10.7-4.2-11.3-9.9-.6-6.6 4.6-12.1 11-12.1h8.6c.7.2 1 1.1.5 1.7l-5.5 5.6z\"}},\nleave_group:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M30.3 22.1c-2-.9-2.4-1.7-2.4-2.6 0-.9.6-1.7 1.2-2.4 1.2-1.1 1.8-2.7 1.8-4.6C31 9 29 6 25.3 6c-2.2 0-3.7 1.1-4.7 2.7 2.5 1.9 4 5.2 4 9 0 2.2-.6 4.3-1.7 6.1-.4.6-.2 1.5.5 1.9 2.1 1.1 4.5 2.5 5.9 4.9.2.4.6.5 1.1.5h2.7c1.7 0 2.9-1.2 2.9-3.1-.1-2.9-2.8-4.6-5.7-5.9z\"},{\"d\":\"M19.7 28.1c-2.3-1-2.6-1.9-2.6-2.9s.6-2 1.4-2.7c1.3-1.3 2-3.1 2-5.2 0-3.9-2.3-7.3-6.3-7.3h-.4c-4 0-6.3 3.4-6.3 7.3 0 2.1.7 3.9 2 5.2.8.7 1.4 1.7 1.4 2.7 0 1-.3 1.9-2.6 2.9-3.3 1.5-6.4 3-6.5 6.1C2 36.4 3.5 38 5.4 38h17.4c1.9 0 3.4-1.6 3.4-3.7-.1-3.2-3.3-4.7-6.5-6.2z\"}]},\"path\":{\"d\":\"M32 42.5v-3c0-.8.7-1.5 1.5-1.5h15c.8 0 1.5.7 1.5 1.5v3c0 .8-.7 1.5-1.5 1.5h-15c-.8 0-1.5-.7-1.5-1.5z\"}},\nlog_a_call:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M42.9 2H12.7C10 2 7.8 4.4 7.8 6.8v1.6H6.2C4.4 8.4 3 9.8 3 11.6s1.4 3.2 3.2 3.2h1.6v8H6.2C4.4 22.8 3 24.2 3 26s1.4 3.2 3.2 3.2h1.6v8H6.2c-1.8 0-3.2 1.4-3.2 3.2 0 1.8 1.4 3.2 3.2 3.2h1.6v1.6c0 2.4 2.2 4.8 4.9 4.8h30.2c2.7 0 5.1-2.4 5.1-5V6.6C48 3.9 45.6 2 42.9 2zM40 34.2l-2.2 2.2c-.5.5-1.2.8-1.8.7-5.3-.3-10.3-2.7-13.8-6.2s-5.9-8.5-6.2-13.8c0-.7.2-1.4.7-1.8l2.2-2.2c1-1 2.8-1 3.7.2l2.1 2.6c.7.9.7 2.1.1 3L23 21.5c-.2.3-.2.8.1 1l3.7 4.1 4.1 3.7c.3.3.7.3 1 .1l2.5-1.8c.9-.6 2.2-.6 3.1.1l2.6 2.1c.9.6 1 2.4-.1 3.4z\"}},\nlog_event:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M38.7 40.2l-4.8 1.6c-.4.1-.9.2-1.3.2-1.4 0-2.8-.7-3.7-1.8-.9-1.1-1.1-2.7-.8-4.1l1.6-5.7 7.5-7.5c.3-.3.1-.9-.4-.9H5.5c-.8 0-1.5.7-1.5 1.5V42c0 2.2 1.8 4 4 4h28c2.2 0 4-1.8 4-4v-.8c0-.7-.7-1.2-1.3-1zM5.5 18h33c.8 0 1.5-.7 1.5-1.5V14c0-2.2-1.8-4-4-4h-3V9c0-1.6-1.3-3-3-3-1.6 0-3 1.3-3 3v1H17V9c0-1.6-1.3-3-3-3-1.6 0-3 1.3-3 3v1H8c-2.2 0-4 1.8-4 4v2.5c0 .8.7 1.5 1.5 1.5z\"},{\"d\":\"M43.5 23.1c-.2-.2-.5-.2-.7 0l-9.4 9.4-1.4 4.7c-.1.5.3.9.8.8l4.7-1.4 9.4-9.4c.2-.2.2-.5 0-.7l-3.4-3.4zM51.5 20.2l-1.8-1.8c-.6-.6-1.7-.6-2.4 0 0 0-1.1 1.1-1.6 1.7-.2.2-.2.5 0 .7l3.4 3.4c.2.2.5.2.7 0 .6-.6 1.7-1.6 1.7-1.6.7-.6.7-1.7 0-2.4z\"}]}},\nmanage_perm_sets:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M45 2H7C4.2 2 2 4.2 2 7v38c0 2.7 2.2 5 5 5h38c2.7 0 5-2.2 5-5V7c0-2.8-2.2-5-5-5zm-1.6 43H8.6c-.9 0-1.6-.7-1.6-1.6V8.6C7 7.7 7.7 7 8.6 7h34.8c.9 0 1.6.7 1.6 1.6v34.8c0 .9-.7 1.6-1.6 1.6z\"},{\"d\":\"M21.9 11.9h-8.3c-.9 0-1.7.7-1.7 1.7v8.3c0 .9.7 1.7 1.7 1.7h8.3c.9 0 1.7-.7 1.7-1.7v-8.3c-.1-.9-.8-1.7-1.7-1.7zM38.4 11.9h-8.3c-.9 0-1.7.7-1.7 1.7v8.3c0 .9.7 1.7 1.7 1.7h8.3c.9 0 1.7-.7 1.7-1.7v-8.3c0-.9-.8-1.7-1.7-1.7zM21.9 28.5h-8.3c-.9 0-1.7.7-1.7 1.7v8.3c0 .9.7 1.7 1.7 1.7h8.3c.9 0 1.7-.7 1.7-1.7v-8.3c-.1-1-.8-1.7-1.7-1.7zM38.4 28.5h-8.3c-.9 0-1.7.7-1.7 1.7v8.3c0 .9.7 1.7 1.7 1.7h8.3c.9 0 1.7-.7 1.7-1.7v-8.3c0-1-.8-1.7-1.7-1.7z\"}]},\nmap:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M48.8 9.5L34.4 2.3c-.7-.3-1.5-.3-2.1 0L19 9 5.6 2.3c-.8-.4-1.8-.4-2.5.1-.7.4-1.1 1.2-1.1 2v36c0 .9.5 1.7 1.3 2.1l14.4 7.2c.7.3 1.5.3 2.1 0L33.2 43l13.3 6.7c.3.2.7.3 1.1.3.4 0 .9-.1 1.3-.4.7-.4 1.1-1.2 1.1-2v-36c0-.9-.4-1.7-1.2-2.1zM45 14.1v19c0 1.1-1 1.9-2 1.5-3.7-1.4-.7-7.6-3.4-11-2.5-3.1-5.7.1-8.8-4.8-2.9-4.7 1-8.1 4.6-9.9.5-.2 1-.2 1.4 0l7.4 3.7c.6.3.8.9.8 1.5zM24.9 41.9c-.6.3-1.3.2-1.8-.2-1-.9-1.8-2.3-1.8-3.7 0-2.4-4-1.6-4-6.4 0-3.9-4.6-4.9-8.5-4.5-1 .1-1.7-.6-1.7-1.6V10.9c0-1.2 1.2-2 2.2-1.4l8.6 4.3c.1 0 .2.1.2.1l.3.2c3.6 2.1 2.9 3.8 1.4 6.4-1.7 2.9-2.4 0-4.8-.8s-4.8.8-4 2.4 3.2 0 4.8 1.6 1.6 4 6.4 2.4 5.6-.8 7.2.8c1.6 1.6 2.4 4.8 0 7.2-1.4 1.4-2 4.4-2.6 6.4-.1.4-.4.8-.8 1l-1.1.4z\"}},\nmore:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M8 20c3.3 0 6 2.7 6 6s-2.7 6-6 6-6-2.7-6-6 2.7-6 6-6zm18 0c3.3 0 6 2.7 6 6s-2.7 6-6 6-6-2.7-6-6 2.7-6 6-6zm18 0c3.3 0 6 2.7 6 6s-2.7 6-6 6-6-2.7-6-6 2.7-6 6-6z\"}},\nnew:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M30 29h16.5c.8 0 1.5-.7 1.5-1.5v-3c0-.8-.7-1.5-1.5-1.5H30c-.6 0-1-.4-1-1V5.5c0-.8-.7-1.5-1.5-1.5h-3c-.8 0-1.5.7-1.5 1.5V22c0 .6-.4 1-1 1H5.5c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5H22c.6 0 1 .4 1 1v16.5c0 .8.7 1.5 1.5 1.5h3c.8 0 1.5-.7 1.5-1.5V30c0-.6.4-1 1-1z\"}},\nnew_account:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M50 26.9c.1-1.7-1.2-2.2-1.7-2.2h-18c-1.6 0-1.8 1.7-1.8 1.8V46H50V26.9zm-12.4 14c0 .9-.7 1.7-1.7 1.7h-1.7c-.9 0-1.7-.8-1.7-1.7v-1.7c0-.9.7-1.7 1.7-1.7h1.7c.9 0 1.7.8 1.7 1.7v1.7zm0-8.5c0 .9-.7 1.7-1.7 1.7h-1.7c-.9 0-1.7-.8-1.7-1.7v-1.7c0-.9.7-1.7 1.7-1.7h1.7c.9 0 1.7.8 1.7 1.7v1.7zm8.3 8.5c0 .9-.7 1.7-1.7 1.7h-1.7c-.9 0-1.7-.8-1.7-1.7v-1.7c0-.9.7-1.7 1.7-1.7h1.7c.9 0 1.7.8 1.7 1.7v1.7zm0-8.5c0 .9-.7 1.7-1.7 1.7h-1.7c-.9 0-1.7-.8-1.7-1.7v-1.7c0-.9.7-1.7 1.7-1.7h1.7c.9 0 1.7.8 1.7 1.7v1.7z\"},{\"d\":\"M33.4 17.9V8.2c.1-1.7-1.1-2.2-1.6-2.2h-28C2.2 6 2 7.7 2 7.8V46h21.5V21.6s0-2 1.8-2h6.5c1 0 1.6-1 1.6-1.7zM11.1 40.1c0 .9-.7 1.7-1.7 1.7H7.8c-.9 0-1.7-.8-1.7-1.7v-1.7c0-.9.7-1.7 1.7-1.7h1.7c.9 0 1.7.8 1.7 1.7v1.7zm0-8.6c0 .9-.7 1.7-1.7 1.7H7.8c-.9 0-1.7-.8-1.7-1.7v-1.7c0-.9.7-1.7 1.7-1.7h1.7c.9 0 1.7.8 1.7 1.7v1.7zm0-8.5c0 .9-.7 1.7-1.7 1.7H7.8c-.9 0-1.7-.8-1.7-1.7v-1.7c0-.9.7-1.7 1.7-1.7h1.7c.9 0 1.7.8 1.7 1.7V23zm0-8.5c0 .9-.7 1.7-1.7 1.7H7.8c-.9 0-1.7-.8-1.7-1.7v-1.7c0-.9.7-1.7 1.7-1.7h1.7c.9 0 1.7.8 1.7 1.7v1.7zm9.1 25.6c0 .9-.7 1.7-1.7 1.7h-1.7c-.9 0-1.7-.8-1.7-1.7v-1.7c0-.9.7-1.7 1.7-1.7h1.7c.9 0 1.7.8 1.7 1.7v1.7zm0-8.6c0 .9-.7 1.7-1.7 1.7h-1.7c-.9 0-1.7-.8-1.7-1.7v-1.7c0-.9.7-1.7 1.7-1.7h1.7c.9 0 1.7.8 1.7 1.7v1.7zm0-8.5c0 .9-.7 1.7-1.7 1.7h-1.7c-.9 0-1.7-.8-1.7-1.7v-1.7c0-.9.7-1.7 1.7-1.7h1.7c.9 0 1.7.8 1.7 1.7V23zm0-8.5c0 .9-.7 1.7-1.7 1.7h-1.7c-.9 0-1.7-.8-1.7-1.7v-1.7c0-.9.7-1.7 1.7-1.7h1.7c.9 0 1.7.8 1.7 1.7v1.7zm9.1 0c0 .9-.7 1.7-1.7 1.7H26c-.9 0-1.7-.8-1.7-1.7v-1.7c0-.9.7-1.7 1.7-1.7h1.7c.9 0 1.7.8 1.7 1.7v1.7z\"}]}},\nnew_campaign:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M26 2C12.8 2 2 12.8 2 26s10.8 24 24 24 24-10.8 24-24S39.2 2 26 2zm0 42c-9.9 0-18-8.1-18-18S16.1 8 26 8s18 8.1 18 18-8.1 18-18 18z\"},{\"d\":\"M26 12c-7.7 0-14 6.3-14 14s6.3 14 14 14 14-6.3 14-14-6.3-14-14-14zm0 22c-4.4 0-8-3.6-8-8s3.6-8 8-8 8 3.6 8 8-3.6 8-8 8z\"},{\"d\":\"M26 22c-2.2 0-4 1.8-4 4s1.8 4 4 4 4-1.8 4-4-1.8-4-4-4z\"}]}},\nnew_case:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M15 13h4c.6 0 1-.4 1-1v-2h12v2c0 .6.4 1 1 1h4c.6 0 1-.4 1-1V9.5c0-3-2.5-5.5-5.5-5.5H19.4c-3 0-5.4 2.4-5.4 5.4V12c0 .6.4 1 1 1zM46 17H6c-2.2 0-4 1.8-4 4v23c0 2.2 1.8 4 4 4h40c2.2 0 4-1.8 4-4V21c0-2.2-1.8-4-4-4z\"}}},\nnew_child_case:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M15 11h4c.6 0 1-.4 1-1V8h10v2c0 .6.4 1 1 1h4c.6 0 1-.4 1-1V7.5c0-3-2.5-5.5-5.5-5.5H19.4c-3 0-5.4 2.4-5.4 5.4V10c0 .6.4 1 1 1zM32 34h2v-2c0-2.2 1.8-4 4-4h6c1.3 0 2.4.6 3.1 1.5.3.4.9.1.9-.3V19c0-2.2-1.8-4-4-4H6c-2.2 0-4 1.8-4 4v23c0 2.2 1.8 4 4 4h21.8c.4 0 .6-.3.5-.7-.2-.4-.3-.8-.3-1.3v-6c0-2.2 1.8-4 4-4z\"},{\"d\":\"M48.5 38H44v-4.5c0-.8-.7-1.5-1.5-1.5h-3c-.8 0-1.5.7-1.5 1.5V38h-4.5c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5H38v4.5c0 .8.7 1.5 1.5 1.5h3c.8 0 1.5-.7 1.5-1.5V44h4.5c.8 0 1.5-.7 1.5-1.5v-3c0-.8-.7-1.5-1.5-1.5z\"}]}},\nnew_contact:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M46 9H6c-2.7 0-5 2.2-5 5v24c0 2.7 2.3 5 5 5h40c2.8 0 5-2.2 5-5V14c0-2.8-2.2-5-5-5zM24.8 37.2H10.4c-1.6 0-2.8-1.7-2.8-3.4.1-2.5 2.7-4 5.4-5.2 1.9-.8 2.2-1.6 2.2-2.4 0-.8-.5-1.6-1.2-2.2-1.1-1-1.7-2.5-1.7-4.1 0-3.2 1.9-5.8 5.2-5.8s5.2 2.7 5.2 5.8c0 1.7-.6 3.2-1.7 4.1-.7.6-1.2 1.3-1.2 2.2 0 .8.2 1.6 2.2 2.3 2.7 1.2 5.3 2.8 5.4 5.3.3 1.7-1 3.4-2.6 3.4zm19.5-5.8c0 .9-.8 1.7-1.7 1.7h-7.5c-.9 0-1.7-.7-1.7-1.7v-2.5c0-.9.8-1.7 1.7-1.7h7.5c.9 0 1.7.7 1.7 1.7v2.5zm0-9.1c0 .9-.8 1.7-1.7 1.7H30.2c-.9 0-1.7-.7-1.7-1.7v-2.5c0-.9.8-1.7 1.7-1.7h12.5c.9 0 1.7.7 1.7 1.7v2.5z\"}},\nnew_custom1:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M29.4 45.5c-1.9 2-5 2-6.9 0-5.8-6.1-16.8-17.7-16.8-17.8-5-5.1-5-13.6 0-18.8 2.4-2.5 5.6-3.9 9-3.9s6.6 1.3 9 3.9l1 1.2c.6.8 1.9.8 2.6 0l.8-1 .1-.1c2.5-2.6 5.7-4 9-4 3.4 0 6.6 1.3 9 3.9 5 5.1 5 13.6 0 18.8 0 .1-10.9 11.7-16.8 17.8z\"}},\nnew_custom10:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M42 48.3c-7.6 3-19.6 2.2-26.1-4.8C.1 26.6 13.9 2 32.9 2c3.2 0 6.2.6 9.1 1.8 1.2.5 1.3 2.1.3 2.8C36.2 10.9 32.1 18 32.1 26c0 8.1 4 15.2 10.1 19.5 1.1.7.9 2.3-.2 2.8z\"}},\nnew_custom100:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M35.5 41.5h-19c-.6 0-.9.5-.8 1.1.8 3.1 5.1 5.5 10.2 5.5 5.2 0 9.5-2.4 10.2-5.5.3-.6-.1-1.1-.6-1.1zM45.2 4H6.8C4.2 4 2 6.2 2 8.9v22.8c0 2.7 2.2 4.9 4.8 4.9h38.4c2.6 0 4.8-2.2 4.8-4.9V8.9C50 6.2 47.8 4 45.2 4zm0 26.1c0 .9-.7 1.6-1.6 1.6H8.4c-.9 0-1.6-.7-1.6-1.6V10.5c0-.9.7-1.6 1.6-1.6h35.2c.9 0 1.6.7 1.6 1.6v19.6z\"}}},\nnew_custom11:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M27.8 3.1l6.4 13.5 14.2 2.2c1.6.2 2.2 2.3 1 3.4L39.1 32.8l2.4 14.8c.2 1.7-1.4 3-2.8 2.2l-12.7-7-12.7 7c-1.4.8-3.1-.5-2.8-2.2l2.4-14.8L2.6 22.2c-1.1-1.2-.5-3.2 1-3.4l14.2-2.2 6.4-13.5c.8-1.5 2.9-1.5 3.6 0z\"}},\nnew_custom12:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"circle\":{\"cx\":\"26\",\"cy\":\"26\",\"r\":\"24\"}},\nnew_custom13:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M45.2 4H6.8C4.2 4 2 6.1 2 8.7v4.7c0 .9.7 1.6 1.6 1.6h44.8c.9 0 1.6-.7 1.6-1.6V8.7C50 6.1 47.8 4 45.2 4zM45.2 19.7H6.8c-.9 0-1.6.7-1.6 1.6v22c0 2.6 2.2 4.7 4.8 4.7h32c2.6 0 4.8-2.1 4.8-4.7v-22c0-.9-.7-1.6-1.6-1.6zm-10.4 7.1c0 1.3-1 2.4-2.4 2.4H19.6c-1.3 0-2.4-1-2.4-2.4 0-1.3 1-2.4 2.4-2.4h12.8c1.4 0 2.4 1 2.4 2.4z\"}}},\nnew_custom14:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M48.4 11.7h-4.8c-1 0-2.1-.5-2.9-1.2l-3.8-3.3C36.1 6.5 35 6 34 6h-9.4c-1.2 0-2.3.5-3.2 1.4l-5 4.1c-.4.3-.4 1-.1 1.4l1.5 1.5c1 .8 2.4 1 3.4.2l4.4-2.7c.6-.4 1.4-.2 1.8.2l13.8 13.6c.3.3.6.8.6 1.3v3.6c0 1 .7 2 1.6 2h4.8c.9 0 1.6-.7 1.6-1.7V13.3c.2-1-.5-1.6-1.4-1.6z\"},{\"d\":\"M34.8 26.2l-8.6-8.5-2.4 1.5c-1.2.7-2.6 1.1-3.9 1.1-1.7 0-3.4-.6-4.8-1.8L11.9 16c-.7-.6-1.1-1.2-1.2-2.1-.2-.9-.8-1.4-1.6-1.4H3.6c-.9 0-1.6.5-1.6 1.4v14.7c0 1 .7 1.6 1.6 1.6h3.2c.2 0 .6-.9.9-1.3 1.2-1.6 3-2.5 4.9-2.8 1.9-.2 3.8.5 5.3 1.9l10 9.2c.9.8 1.5 1.7 1.9 2.8.2.6.9.7 1.3.3l3.8-3.8c1.9-1.9 3.4-6.5 1.6-8.6l-1.7-1.7z\"},{\"d\":\"M14.7 32.2c-1-1-2.6-.8-3.4.3-.9 1.1-.7 2.8.3 3.7l10 9.1c.5.5 1.1.6 1.8.6.6-.1 1.2-.4 1.6-1 .9-1.1.7-2.8-.3-3.7l-10-9z\"}]}},\nnew_custom15:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M42 22.9c-2.8-1.2-3.2-2.2-3.2-3.4 0-1.2.8-2.2 1.8-3.1 1.7-1.5 2.6-3.6 2.6-6 0-4.5-2.8-8.4-7.9-8.4-4.3 0-7 2.9-7.7 6.6-.1.3.1.6.3.8 3.6 2.6 5.8 6.9 5.8 12.1 0 3.6-1.2 6.9-3.4 9.4-.3.4-.2 1 .3 1.3 1.4.6 3 1.4 4.6 2.2.5.3 1 .5 1.6.5H46c2.2 0 4-1.8 4-3.9v-.6c0-3.8-3.9-5.8-8-7.5z\"},{\"d\":\"M27.7 36.1c-3.4-1.4-3.8-2.6-3.8-4s1-2.6 2.1-3.7c1.9-1.8 3-4.2 3-7 0-5.3-3.4-9.8-9.3-9.8s-9.3 4.6-9.3 9.8c0 2.9 1 5.3 3 7 1.1 1 2.1 2.3 2.1 3.7 0 1.4-.5 2.6-3.8 4-4.9 2-9.5 4.3-9.6 8.6v.7C2 47.9 4.2 50 6.9 50h25.6c2.6 0 4.8-2.1 4.8-4.6v-.7c-.1-4.3-4.7-6.6-9.6-8.6z\"}]}},\nnew_custom16:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M43.3 42h-.8V24.4c0-.9-.7-1.6-1.6-1.6h-1.6c-.9 0-1.6.7-1.6 1.6V42H33V24.4c0-.9-.7-1.6-1.6-1.6h-1.6c-.9 0-1.6.7-1.6 1.6V42h-4.7V24.4c0-.9-.7-1.6-1.6-1.6h-1.6c-.9 0-1.6.7-1.6 1.6V42H14V24.4c0-.9-.7-1.6-1.6-1.6h-1.6c-.9 0-1.6.7-1.6 1.6V42h-.5C6.1 42 4 44.2 4 46.8v1.6c0 .9.7 1.6 1.6 1.6h40.9c.9 0 1.6-.7 1.6-1.6v-1.6c-.1-2.6-2.2-4.8-4.8-4.8zM47.2 13.5L27.8 2.6c-.5-.4-1.2-.6-1.8-.6-.6 0-1.3.2-1.8.6L4.8 13.5c-.5.3-.8.8-.8 1.4v1.5c0 .9.7 1.6 1.6 1.6h40.9c.9 0 1.6-.7 1.6-1.6V15c-.1-.6-.4-1.2-.9-1.5zM26 14.8c-2.2 0-3.9-1.8-3.9-4s1.7-4 3.9-4 3.9 1.8 3.9 4-1.7 4-3.9 4z\"}}},\nnew_custom17:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M20.5 9.1c.2.6.8.9 1.4.9H30c.6 0 1.2-.3 1.4-.9l3.2-5.9c.2-.6-.2-1.1-.7-1.1H18.2c-.6 0-1 .6-.7 1.1l3 5.9zM30.7 14.8h-9.4C13.4 14.8 7 21.3 7 29.2v16c0 2.6 2.1 4.8 4.8 4.8h28.4c2.6 0 4.8-2.2 4.8-4.8v-16c0-7.9-6.5-14.4-14.3-14.4zm-2.3 26.9v2.7c0 .5-.5.8-1 .8h-3.2c-.5 0-.6-.3-.6-.8v-2.6c-2.4-.5-4.4-1.5-4.9-2-.6-.6-.8-1.1-.3-1.8l1-1.6c.2-.4.7-.6 1.2-.6.3 0 .6.1.8.2h.1c1.6 1 3 1.4 4 1.4 1.1 0 2-.6 2-1.2 0-.5-.3-1.3-3.3-2.3-2.7-1-6-2.6-6-6.3 0-2.2 1.4-4.7 5.4-5.5v-2.4c0-.5.2-.8.6-.8h3.2c.5 0 1 .3 1 .8V22c1.6.4 3.3 1.2 3.9 1.6.3.2.5.6.6 1 .1.4-.1.8-.3 1L31.4 27c-.3.4-.9.7-1.3.7-.2 0-.5-.1-.7-.2-1.6-.9-2.9-1.4-3.8-1.4-1.3 0-1.9.6-1.9 1 0 .6.3 1.2 3 2.2 3.3 1.1 7 2.9 7 6.7-.1 2.7-2.2 5-5.3 5.7z\"}}},\nnew_custom18:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M31.4 15.3h8.2c.6 0 1.1-.5 1.1-1.1 0-.3-.1-.5-.3-.8L30.2 3.3c-.3-.2-.5-.3-.8-.3-.6 0-1.1.5-1.1 1.1v8.1c0 1.7 1.4 3.1 3.1 3.1zM49.5 25.7l-.9-.9c-.6-.6-1.5-.6-2.2 0L34.5 36.7c-.1.1 0 .2 0 .3v2.5c0 .2 0 .4.2.4h2.6c.1 0 .2-.1.3-.1L49.5 28c.7-.8.7-1.7 0-2.3z\"},{\"d\":\"M39.9 44.4H32.8c-1.6 0-2.9-1.3-2.9-2.9v-5.4c0-.8.2-1.6.9-2.1l9.5-9.5c.3-.3.5-.7.5-1.1v-2c0-.8-.7-1.5-1.5-1.5h-11c-2.6 0-4.6-2.1-4.6-4.6V4.5c0-.8-.7-1.5-1.6-1.5H6.6C4.1 3 2 5.1 2 7.6v36.8C2 46.9 4.1 49 6.6 49H36c2.2 0 4.2-1.6 4.6-3.7.1-.4-.3-.9-.7-.9zM8.2 16.8c0-.8.7-1.5 1.5-1.5h6.2c.9 0 1.5.7 1.5 1.5v1.5c0 .8-.7 1.5-1.5 1.5H9.7c-.9 0-1.5-.7-1.5-1.5v-1.5zm15.5 19.9c0 .8-.7 1.5-1.5 1.5H9.7c-.9 0-1.5-.7-1.5-1.5v-1.5c0-.8.7-1.5 1.5-1.5h12.4c.9 0 1.5.7 1.5 1.5v1.5zm3.1-9.2c0 .8-.7 1.5-1.5 1.5H9.7c-.9 0-1.5-.7-1.5-1.5V26c0-.8.7-1.5 1.5-1.5h15.5c.9 0 1.5.7 1.5 1.5v1.5z\"}]}},\nnew_custom19:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M49.4 12.2c-.2-.6-.9-.7-1.4-.3L39.9 20c-.6.6-1.6.6-2.2 0L32 14.3c-.6-.6-.6-1.6 0-2.2L40.2 4c.4-.4.2-1.1-.3-1.4-1.4-.4-2.9-.6-4.3-.6-8.5 0-15.3 7.3-14.3 16 .2 1.4.5 2.6 1 3.8L3.6 40.4c-2.2 2.2-2.2 5.8 0 7.9 1.1 1.1 2.6 1.7 4 1.7s2.9-.6 4-1.7l18.6-18.6c1.2.5 2.5.8 3.8 1 8.7 1 16-5.8 16-14.3 0-1.5-.2-2.9-.6-4.2z\"}},\nnew_custom2:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M33.3 3.5C30.9 1.9 22.2.4 18.9 5.9c-1.6 2.6.3 7.3 1.8 10.3.4.7 1.2 1.1 2 .8 1-.4 2.2-.6 3.5-.6.8 0 1.6.1 2.4.3.7.2 1.4-.2 1.8-.8.6-1 1.5-2.2 3.1-3.5 3.8-3.3 2.2-7.3-.2-8.9zM29.1 35.1c-1 .3-2 .5-3.1.5-1 0-1.9-.2-2.8-.4-.7-.2-1.5.2-1.8.8-.6 1-1.5 2.3-3.1 3.6-4 3.2-2.4 7.3 0 8.9s11.2 3.1 14.4-2.4c1.5-2.6-.2-7.2-1.7-10.2-.4-.7-1.2-1-1.9-.8zM46.1 18.7c-2.6-1.6-7.3.3-10.3 1.8-.7.4-1.1 1.2-.8 2 .4 1 .6 2.2.6 3.5 0 .8-.1 1.6-.3 2.4-.2.7.2 1.4.8 1.8 1 .6 2.2 1.5 3.5 3.1 3.2 4 7.2 2.4 8.8 0s3.2-11.3-2.3-14.6zM16.9 29c-.3-1-.5-2-.5-3.1 0-1 .2-1.9.4-2.8.2-.7-.2-1.5-.8-1.8-1-.6-2.3-1.5-3.6-3.1-3.2-4-7.3-2.4-8.9 0S.4 29.3 5.9 32.6c2.6 1.5 7.2-.2 10.2-1.7.7-.4 1-1.2.8-1.9z\"},\"circle\":{\"cx\":\"26\",\"cy\":\"26\",\"r\":\"4.8\"}}},\nnew_custom20:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M16.4 24.2c0-.6-.8-1-1.3-.6L3.9 32.1C2.7 33 2 34.5 2 36v3.3c0 .6.6 1 1 .7l12.3-4.6c.6-.2 1-.8 1-1.5.1-.1.1-9.7.1-9.7zM34.1 46.5l-3.3-2.2V8.1c0-2.2-2.3-4.6-3.8-5.8-.6-.5-1.4-.5-2 0-1.4 1.2-3.8 3.6-3.8 5.8V44.4l-3.7 2.4c-.6.5-1.1 1.2-1.1 2v.5c0 .4.3.7.7.7h17.7c.4 0 .9-.3.9-.7-.1-1.2-.7-2.1-1.6-2.8zM48.1 32.1l-11.2-8.6c-.6-.4-1.3 0-1.3.6v9.8c0 .6.4 1.3 1 1.5L49 40.1c.6.2 1-.2 1-.7v-3.3c0-1.6-.7-3.1-1.9-4z\"}}},\nnew_custom21:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M32.1 42.9c-.2-.6-.8-.9-1.4-.9h-9.3c-.6 0-1.2.3-1.4.9l-2.2 5.9c-.2.6.2 1.1.7 1.1h15c.6 0 1-.6.7-1.1l-2.1-5.9zM45.2 2H6.8C4.2 2 2 4.1 2 6.8v25.6c0 2.6 2.2 4.8 4.8 4.8h38.4c2.6 0 4.8-2.2 4.8-4.8V6.8C50 4.1 47.8 2 45.2 2zM26 35.6c-1.4 0-2.4-1-2.4-2.4s1-2.4 2.4-2.4 2.4 1 2.4 2.4-1 2.4-2.4 2.4zm19.2-8c0 .9-.7 1.6-1.6 1.6H8.4c-.9 0-1.6-.7-1.6-1.6V8.4c0-.9.7-1.6 1.6-1.6h35.2c.9 0 1.6.7 1.6 1.6v19.2z\"}}},\nnew_custom22:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M48.1 37.1l-5-4c-1.7-1.4-4.1-1.4-5.8-.2l-4.7 3.4c-.6.5-1.5.4-2.1-.2l-7.8-7-7.1-7.8c-.6-.6-.6-1.4-.2-2.1l3.4-4.7c1.3-1.8 1.2-4.2-.2-5.8l-4-5C13 1.5 9.7 1.3 7.7 3.3L3.4 7.7C2.4 8.7 2 10 2 11.3 2.6 21.5 7.2 31.2 14 38s16.4 11.4 26.6 12c1.4.1 2.6-.5 3.6-1.4l4.3-4.3c2.1-2.1 1.9-5.4-.4-7.2z\"}},\nnew_custom23:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M25 30.6c.6.6 1.5.6 2.2 0L49.8 10c.4-.8.3-2-1.3-2H3.7c-1.2 0-2.2 1.2-1.3 2.1L25 30.6z\"},{\"d\":\"M50 18.8c0-1-1.3-1.6-2-.9L30.4 34c-1.2 1.1-2.7 1.7-4.3 1.7-1.6 0-3.1-.6-4.3-1.7L4.1 18c-.8-.7-2-.2-2 .9v20.4c0 2.6 2.2 4.7 4.8 4.7h38.4c2.6 0 4.8-2.1 4.8-4.7-.1 0-.1-14.2-.1-20.5z\"}]}},\nnew_custom24:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M40.3 2H11.7C9.1 2 7 4.2 7 6.7v.1c0 .9.7 1.6 1.6 1.6h34.8c.9 0 1.6-.7 1.6-1.6v-.1C45 4.2 42.9 2 40.3 2zM40.2 13.2H11.8c-.9 0-1.6.7-1.6 1.6v33.6c0 .9.7 1.6 1.6 1.6h8.8c.9 0 1.5-.7 1.5-1.6V42c0-.9.8-1.6 1.7-1.6h4.6c.9 0 1.7.7 1.7 1.6v6.4c0 .9.6 1.6 1.5 1.6h8.8c.9 0 1.6-.7 1.6-1.6V14.8c-.2-.9-.9-1.6-1.8-1.6zM23.6 34.8c0 .9-.7 1.6-1.6 1.6h-3.2c-.9 0-1.6-.7-1.6-1.6v-3.2c0-.9.7-1.6 1.6-1.6H22c.9 0 1.6.7 1.6 1.6v3.2zm0-11.2c0 .9-.7 1.6-1.6 1.6h-3.2c-.9 0-1.6-.7-1.6-1.6v-3.2c0-.9.7-1.6 1.6-1.6H22c.9 0 1.6.7 1.6 1.6v3.2zm11.1 11.2c0 .9-.7 1.6-1.6 1.6H30c-.9 0-1.6-.7-1.6-1.6v-3.2c0-.9.7-1.6 1.6-1.6h3.2c.9 0 1.6.7 1.6 1.6v3.2zm0-11.2c0 .9-.7 1.6-1.6 1.6H30c-.9 0-1.6-.7-1.6-1.6v-3.2c0-.9.7-1.6 1.6-1.6h3.2c.9 0 1.6.7 1.6 1.6v3.2z\"}}},\nnew_custom25:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M49.8 7.8c-.6-3-3-5.4-6.1-5.8-2.2-.3-4.2.4-5.7 1.6-.5.4-.4 1 .2 1.4 3.7 1.9 6.8 4.7 9.2 8.1.3.5 1 .5 1.4 0 1-1.5 1.4-3.3 1-5.3zM13.7 5c.5-.2.6-1 .2-1.4-1.5-1.3-3.5-1.9-5.7-1.6-3 .4-5.5 2.8-6.1 5.8-.3 1.9.1 3.8 1 5.2.3.5 1 .5 1.4 0 2.4-3.2 5.5-6 9.2-8zM26 6.8c-11.9 0-21.6 9.7-21.6 21.6 0 4.8 1.6 9.3 4.2 12.8l-3.3 3.3c-1.3 1.3-1.3 3.3 0 4.6.6.6 1.4 1 2.2 1s1.6-.3 2.2-1l3.3-3.3c3.7 2.6 8.2 4.2 13 4.2s9.3-1.6 12.8-4.2l3.3 3.3c.7.6 1.5 1 2.3 1s1.6-.3 2.2-1c1.3-1.3 1.3-3.3 0-4.6l-3.3-3.3c2.6-3.5 4.2-8 4.2-12.8.1-11.9-9.6-21.6-21.5-21.6zM10.8 28.4c0-8.4 6.8-15.2 15.2-15.2S41.2 20 41.2 28.4 34.4 43.6 26 43.6s-15.2-6.8-15.2-15.2z\"},{\"d\":\"M28.4 27.4v-6.2c0-1.4-1-2.4-2.4-2.4s-2.4 1-2.4 2.4v7.2c0 .6.2 1.3.7 1.7l5.6 5.6c.5.5 1.1.7 1.7.7s1.2-.2 1.7-.7c1-1 1-2.5 0-3.4l-4.9-4.9z\"}]}},\nnew_custom26:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M6.8 2C4.2 2 2 4.2 2 6.8c0 1.4.6 2.7 1.6 3.6v36.4C3.6 48.6 5 50 6.8 50c1.8 0 3.2-1.4 3.2-3.2V10.4c1-.9 1.6-2.2 1.6-3.6C11.6 4.2 9.4 2 6.8 2zM48.8 10.6c-12.6 6.6-21.1-4.7-33-.4-.6.2-1 .8-1 1.5v20.6c0 1 1 1.8 2.1 1.5 11.4-3.4 19.9 7.3 32.3.5.5-.2.8-.8.8-1.4V11.4c0-.7-.6-1.1-1.2-.8z\"}}},\nnew_custom27:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M6.5 35.6h39c.8 0 1.5-.7 1.5-1.5V10.4C47 8 45 6 42.5 6h-33C7 6 5 8 5 10.4v23.7c0 .9.7 1.5 1.5 1.5zm3-23.7c0-.8.7-1.5 1.5-1.5h30c.8 0 1.5.7 1.5 1.5v17.8c0 .8-.7 1.5-1.5 1.5H11c-.8 0-1.5-.7-1.5-1.5V11.9zM48.5 40.1H32c-.8 0-1.5.7-1.5 1.5s-.7 1.5-1.5 1.5h-6c-.8 0-1.5-.7-1.5-1.5s-.7-1.5-1.5-1.5H3.5c-.8 0-1.5.7-1.5 1.5C2 44 4 46 6.5 46h39c2.5 0 4.5-2 4.5-4.4 0-.9-.7-1.5-1.5-1.5z\"}}},\nnew_custom28:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M37.2 2H14.8C12.2 2 10 4.2 10 6.8v38.4c0 2.6 2.2 4.8 4.8 4.8h22.4c2.6 0 4.8-2.2 4.8-4.8V6.8C42 4.2 39.8 2 37.2 2zM26 48.4c-1.4 0-2.4-1-2.4-2.4s1-2.4 2.4-2.4 2.4 1 2.4 2.4-1 2.4-2.4 2.4zm11.2-8c0 .9-.7 1.6-1.6 1.6H16.4c-.9 0-1.6-.7-1.6-1.6V10c0-.9.7-1.6 1.6-1.6h19.2c.9 0 1.6.7 1.6 1.6v30.4z\"}},\nnew_custom29:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M45.3 8.4h-1.5c-1 0-1.7.8-1.7 1.8V42c0 .1 0 .2.1.3l2 2.8c.2.2.4.2.6 0l2-2.8c.2-.1.2-.1.2-.3V10.2c0-1-.7-1.8-1.7-1.8zM32.5 2H9.8C7.2 2 5 4.2 5 6.8v38.4C5 47.8 7.2 50 9.8 50h22.6c2.7 0 4.8-2.2 4.8-4.8V6.8c.1-2.6-2.1-4.8-4.7-4.8zM21.2 48.4c-1.4 0-2.4-1-2.4-2.4s1-2.4 2.4-2.4 2.4 1 2.4 2.4-1.1 2.4-2.4 2.4zm11.3-8c0 .9-.7 1.6-1.6 1.6H11.5c-.9 0-1.6-.7-1.6-1.6V10c0-.9.7-1.6 1.6-1.6h19.4c.9 0 1.6.7 1.6 1.6v30.4z\"}}},\nnew_custom3:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M26 16.4c-5.3 0-9.6 4.3-9.6 9.6s4.3 9.6 9.6 9.6 9.6-4.3 9.6-9.6-4.3-9.6-9.6-9.6z\"},{\"d\":\"M50 26c0-2.8-6.7-4.2-7.8-6.7-1-2.6 2.7-8.3.8-10.3s-7.7 1.8-10.2.7c-2.6-1-4-7.7-6.8-7.7s-4.2 6.7-6.7 7.8C16.7 10.8 11 7.1 9 9s1.8 7.7.7 10.2c-1 2.6-7.7 4-7.7 6.8s6.7 4.2 7.8 6.7c1 2.6-2.7 8.3-.8 10.3 1.9 1.9 7.7-1.8 10.2-.7 2.5 1 3.9 7.8 6.7 7.8s4.2-6.7 6.7-7.8c2.6-1 8.3 2.6 10.2.7 1.9-1.9-1.8-7.7-.7-10.2 1.2-2.6 7.9-4 7.9-6.8zM26 40.4c-7.9 0-14.4-6.5-14.4-14.4S18.1 11.6 26 11.6 40.4 18.1 40.4 26 33.9 40.4 26 40.4z\"}]}},\nnew_custom30:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M43.2 8.8C38.8 4.4 32.9 2 26.8 2c-1.4 0-2.4 1-2.4 2.4s1 2.4 2.4 2.4c4.9 0 9.5 1.9 13.1 5.4 3.4 3.5 5.4 8.2 5.4 13.1 0 1.4 1 2.4 2.4 2.4s2.4-1 2.4-2.4c-.1-6.2-2.5-12.1-6.9-16.5z\"},{\"d\":\"M26.8 11.6c-1.4 0-2.4 1-2.4 2.4s1 2.4 2.4 2.4c2.3 0 4.6.9 6.3 2.6 1.7 1.7 2.6 3.8 2.6 6.3 0 1.4 1 2.4 2.4 2.4s2.4-1 2.4-2.4c0-3.6-1.4-7.1-4-9.6-2.7-2.6-6.1-4.1-9.7-4.1zM23.3 34.6l2.1-5.6c1.4.6 3 .2 4.2-.9 1.6-1.6 1.6-4.1 0-5.7-1.6-1.6-4.1-1.6-5.7 0-1.2 1.2-1.4 3-.8 4.5l-5.2 2.3-9.4-9.4c-.6-.6-1.8-.6-2.3.1-6 7.2-5.6 18 1.2 24.7 6.7 6.7 17.5 7.1 24.7 1.2.7-.6.7-1.7.1-2.3l-8.9-8.9z\"}]}},\nnew_custom31:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M46.4 20.7l-3.9-12C41.8 6.5 39.6 5 37.2 5H14.8c-2.4 0-4.6 1.5-5.4 3.7l-3.8 12C3.5 21.3 2 23 2 25.2v9.3c0 2 1.4 3.7 3.2 4.4v6.5c0 .9.7 1.6 1.6 1.6h6.4c.9 0 1.6-.7 1.6-1.6v-6.2h22.4v6.2c0 .9.7 1.6 1.6 1.6h6.4c.9 0 1.6-.7 1.6-1.6V39c1.8-.6 3.2-2.3 3.2-4.4v-9.3c0-2.3-1.5-4-3.6-4.6zM10 33.8c-2.2 0-4-1.7-4-3.9S7.8 26 10 26s4 1.7 4 3.9-1.8 3.9-4 3.9zm17.6-13.2H11.8c-.6 0-1-.5-.8-1l3-9.3c.1-.3.4-.5.7-.5h22.4c.3 0 .6.2.7.5l3 9.4c.2.5-.2 1-.8 1H27.6zm13.6 13.2c-2.2 0-4-1.7-4-3.9s1.8-3.9 4-3.9 4 1.7 4 3.9-1.8 3.9-4 3.9z\"}},\nnew_custom32:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M48.8 14.2L30.1 24.9c-.4.2-.8.3-1.2.3-.9 0-1.8-.5-2.2-1.4-.6-1.1 0-2.6 1.1-3.2l6.2-3.5V11c0-.6-.6-1-1.2-.7L10 23.3c-.4.2-.8.3-1.2.3-.8 0-1.7-.4-2.1-1.2-.6-1.1-.2-2.6.9-3.3l3.9-2.2V3.6c.1-.9-.6-1.6-1.5-1.6H3.6C2.7 2 2 2.7 2 3.6v41.6C2 47.8 4.2 50 6.8 50H20.4c.9 0 1.6-.7 1.6-1.6v-5.6c0-.9.7-1.6 1.6-1.6h4.8c.9 0 1.6.7 1.6 1.6v5.6c0 .9.7 1.6 1.6 1.6h13.6c2.6 0 4.8-2.2 4.8-4.8V15c0-.7-.6-1.1-1.2-.8zM14 36.4c0 .9-.7 1.6-1.6 1.6h-1.6c-.9 0-1.6-.7-1.6-1.6v-4.8c0-.9.7-1.6 1.6-1.6h1.6c.9 0 1.6.7 1.6 1.6v4.8zm9.6 0c0 .9-.7 1.6-1.6 1.6h-1.6c-.9 0-1.6-.7-1.6-1.6v-4.8c0-.9.7-1.6 1.6-1.6H22c.9 0 1.6.7 1.6 1.6v4.8zm9.6 0c0 .9-.7 1.6-1.6 1.6H30c-.9 0-1.6-.7-1.6-1.6v-4.8c0-.9.7-1.6 1.6-1.6h1.6c.9 0 1.6.7 1.6 1.6v4.8zm9.6 0c0 .9-.7 1.6-1.6 1.6h-1.6c-.9 0-1.6-.7-1.6-1.6v-4.8c0-.9.7-1.6 1.6-1.6h1.6c.9 0 1.6.7 1.6 1.6v4.8z\"}},\nnew_custom33:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M37.2 19.3H15.5c-.8 0-1.5.7-1.5 1.5v5.9c0 .8.7 1.5 1.5 1.5h21.8c.8 0 1.5-.7 1.5-1.5v-5.9c0-.8-.7-1.5-1.6-1.5zM26.8 26c-1.3 0-2.2-1-2.2-2.2 0-1.3 1-2.2 2.2-2.2s2.2 1 2.2 2.2c0 1.2-1 2.2-2.2 2.2z\"},{\"d\":\"M48.5 9h-45C2.7 9 2 9.7 2 10.5V12c0 1.6 1.3 3 3 3v26.6c0 .7.7 1.4 1.5 1.4H8c.8 0 1.5-.7 1.5-1.5V14.9h33.8v26.6c0 .8.7 1.5 1.5 1.5h1.5c.8 0 1.5-.7 1.5-1.5V14.9H47c1.6 0 3-1.3 3-3v-1.5c0-.7-.7-1.4-1.5-1.4z\"}]}},\nnew_custom34:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M19.6 10h12.8c.9 0 1.6-.9 1.4-1.8C33 4.7 29.8 2 26 2s-7 2.7-7.8 6.2c-.2.9.5 1.8 1.4 1.8z\"},{\"d\":\"M47.6 30.8c1.4 0 2.5-1.1 2.4-2.6-.1-1.2-1.2-2.2-2.6-2.2h-7v-4c4.6-1.8 7.9-6.8 8-12.7 0-1.2-.8-2.2-2-2.5-1.5-.2-2.8.9-2.8 2.4 0 3.4-1.6 6.4-3.9 7.8-.9-1.4-2.4-2.2-4.1-2.2H16.4c-1.7 0-3.2.9-4.1 2.2-2.3-1.4-3.9-4.3-3.9-7.7 0-1.3-1-2.5-2.2-2.6-1.4-.1-2.6 1-2.6 2.4 0 5.9 3.4 11 8 12.8v4h-7c-1.3 0-2.5 1-2.6 2.2-.1 1.4 1 2.6 2.4 2.6h7.2v4c-4.6 1.8-7.9 6.8-8 12.7 0 1.2.8 2.2 2 2.5 1.5.2 2.8-.9 2.8-2.4 0-3.4 1.5-6.3 3.8-7.8 1.4 4.5 4.9 8 9.3 9.4 1 .3 2.1-.5 2.1-1.5v-19c0-1.3 1-2.5 2.2-2.6 1.4-.1 2.6 1 2.6 2.4v19.3c0 1.1 1 1.8 2.1 1.5 4.4-1.4 7.9-5 9.3-9.4 2.2 1.4 3.8 4.3 3.8 7.6 0 1.3 1 2.5 2.2 2.6 1.4.1 2.6-1 2.6-2.4 0-5.9-3.4-11-8-12.8v-4h7.2z\"}]}},\nnew_custom35:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M41.5 18c-1.4 0-2.5 1-2.5 2.4v4c0 7-5.9 12.8-13.1 12.8s-13.1-5.8-13.1-12.8v-4c0-1.4-1.1-2.4-2.5-2.4S8 19 8 20.4v4c0 8.9 6.8 16.2 15.5 17.4v3.4h-4.1c-1.4 0-2.5 1-2.5 2.4S18 50 19.4 50h13.1c1.4 0 2.5-1 2.5-2.4s-1.1-2.4-2.5-2.4h-4.1v-3.4C37.2 40.6 44 33.3 44 24.4v-4c0-1.4-1.1-2.4-2.5-2.4z\"},{\"d\":\"M26 32.4c4.5 0 8.2-3.6 8.2-8V9.9c0-4.4-3.6-7.9-8.1-7.9h-.2c-4.5 0-8.1 3.5-8.1 7.9v14.5c0 4.4 3.7 8 8.2 8z\"}]}},\nnew_custom36:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M17.2 43.6H14c-.5 0-1.1.3-1.3.8l-1.1 1.9c-.6 1.1-.4 2.6.6 3.3.4.3.9.4 1.3.4.8 0 1.6-.4 2-1.2l2.3-4c.4-.6 0-1.2-.6-1.2zM39.4 44.4c-.3-.5-.8-.8-1.3-.8h-3.2c-.6 0-1 .6-.7 1.2l2.3 4c.5.8 1.3 1.2 2 1.2.5 0 .9-.2 1.3-.4 1-.7 1.3-2.2.6-3.3l-1-1.9zM39.3 2H12.7C10.1 2 8 4.2 8 6.8V34c0 2.6 2.1 4.8 4.7 4.8h26.6c2.6 0 4.7-2.2 4.7-4.8V6.8C44 4.2 41.9 2 39.3 2zM15 35.6c-1.3 0-2.3-1-2.3-2.4s1-2.4 2.3-2.4 2.3 1 2.3 2.4-.9 2.4-2.3 2.4zm22 0c-1.3 0-2.3-1-2.3-2.4s1-2.4 2.3-2.4 2.3 1 2.3 2.4-1 2.4-2.3 2.4zm2.3-9.6c0 .9-.7 1.6-1.6 1.6H14.3c-.9 0-1.6-.7-1.6-1.6V10c0-.9.7-1.6 1.6-1.6h23.5c.9 0 1.6.7 1.6 1.6v16z\"}}},\nnew_custom37:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M48.5 30.5h-9.7v-8.8c2 1.7 4.6 2.8 7.5 2.8 1.3 0 2.2-1 2.2-2.2s-1-2.2-2.2-2.2c-4.1 0-7.5-3.7-7.5-8.2V9.5c.8 0 1.5-.7 1.5-1.5V6.5c0-.8-.7-1.5-1.5-1.5h-4.5c-.8 0-1.5.7-1.5 1.5V8c0 .8.7 1.5 1.5 1.5v2.2c0 4.6-3.7 8.2-8.2 8.2s-8.2-3.7-8.2-8.2V9.5c.8 0 1.5-.7 1.5-1.5V6.5c0-.8-.7-1.5-1.5-1.5h-4.5c-.8 0-1.5.7-1.5 1.5V8c0 .8.7 1.5 1.5 1.5v2.2c0 4.6-3.4 8.2-7.5 8.2-1.3 0-2.2 1-2.2 2.2s1 2.2 2.2 2.2c2.8 0 5.5-1.1 7.5-2.8v8.8H3.5c-.8.2-1.5.9-1.5 1.7v3.6c0 .8.7 1.7 1.5 1.7h3v8.1c0 .8.7 1.6 1.5 1.6h4.5c.8 0 1.5-.8 1.5-1.6v-3c0-2.5 2-4.4 4.5-4.4h15c2.5 0 4.5 1.9 4.5 4.4v3c0 .8.7 1.6 1.5 1.6H44c.8 0 1.5-.8 1.5-1.6v-8.1h3c.8 0 1.5-.8 1.5-1.7V32c0-.8-.7-1.5-1.5-1.5zm-30.7-9.1c2.2 1.9 5.1 3.1 8.2 3.1s6-1.1 8.2-3.1v9.1H17.8v-9.1z\"}},\nnew_custom38:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M26 22c-3.5 0-6.4 2.9-6.4 6.4s2.9 6.4 6.4 6.4 6.4-2.9 6.4-6.4S29.5 22 26 22z\"},{\"d\":\"M45.2 14h-6.5c-.6 0-1.2-.3-1.4-1l-2.1-4.4C34.4 7 32.7 6 30.9 6h-9.8c-1.8 0-3.5 1-4.3 2.6L14.7 13c-.2.6-.8 1-1.4 1H6.8C4.2 14 2 16.2 2 18.8v22.4C2 43.8 4.2 46 6.8 46h38.4c2.6 0 4.8-2.2 4.8-4.8V18.8c0-2.6-2.2-4.8-4.8-4.8zM26 39.8c-6.2 0-11.2-5-11.2-11.2s5-11.2 11.2-11.2 11.2 5 11.2 11.2-5 11.2-11.2 11.2z\"}]}},\nnew_custom39:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M36.9 8.9c-.2-.6-.9-1-1.5-.9L3.1 18.4c-.8.2-1.2 1.1-1 1.9l1.3 5c.2.8 1 1.4 1.8 1.2l8.2-1.1c.2.9.6 1.8 1.2 2.5l-7 18.9c-.5 1.2.1 2.6 1.4 3 .2.1.6.2.8.2 1 0 1.9-.6 2.2-1.6l6.6-17.9c.6.2 1 .2 1.6.2s1.1-.1 1.6-.2l6.6 17.9c.3 1 1.3 1.6 2.2 1.6.2 0 .6-.1.8-.2 1.3-.5 1.9-1.8 1.4-3.1l-7-19c.9-1.2 1.4-2.7 1.4-4.3v-.1l11.3-1.6c.7-.1 1.2-.8 1-1.5L36.9 8.9zM49.9 20.2L45.5 3.8c-.3-1.3-1.7-2.1-3-1.8-1.3.3-2.1 1.7-1.8 3l4.4 16.3c.3 1.3 1.7 2.1 3 1.8 1.3-.3 2.1-1.7 1.8-2.9z\"}}},\nnew_custom4:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M6.6 12.2l16.9-9.5c1.5-.9 3.5-.9 5.1 0l16.9 9.5c1.5.9 2.5 2.6 2.5 4.3v19c0 1.8-.9 3.4-2.5 4.3l-16.9 9.5c-1.5.9-3.5.9-5.1 0L6.6 39.8C5.1 38.9 4 37.3 4 35.5v-19c0-1.8 1.1-3.4 2.6-4.3z\"}},\nnew_custom40:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M45.2 8H6.8C4.2 8 2 10.1 2 12.7v26.6C2 41.9 4.2 44 6.8 44h38.4c2.6 0 4.8-2.1 4.8-4.7V12.7c0-2.6-2.2-4.7-4.8-4.7zm0 4.7v4.7H6.8v-4.7h38.4zM6.8 39.3V25.2h38.4v14.1H6.8z\"},{\"d\":\"M20.5 29.1c-1.1 0-2.1.5-2.6 1.4-.1.2-.3.2-.4 0-.6-.9-1.5-1.4-2.6-1.4-1.8 0-3.2 1.4-3.2 3.1 0 1.7 1.4 3.1 3.2 3.1 1.1 0 2.1-.5 2.6-1.4.1-.2.3-.2.4 0 .6.9 1.5 1.4 2.6 1.4h.1c1.7 0 3.1-1.3 3.1-3.1V32c-.1-1.5-1.5-2.9-3.2-2.9zM38.8 29.9h-9.6c-.9 0-1.6.7-1.6 1.6V33c0 .9.7 1.6 1.6 1.6h9.6c.9 0 1.6-.7 1.6-1.6v-1.6c0-.8-.7-1.5-1.6-1.5z\"}]}},\nnew_custom41:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M45.5 11h-39C4 11 2 13 2 15.4v21.2C2 39 4 41 6.5 41h39c2.5 0 4.5-2 4.5-4.4V15.4c0-2.4-2-4.4-4.5-4.4zM11.8 36.6c0-2.9-2.3-5.1-5.2-5.1v-11c2.9 0 5.2-2.3 5.2-5.1h28.5c0 2.9 2.3 5.1 5.2 5.1v11c-2.9 0-5.2 2.3-5.2 5.1H11.8z\"},\"ellipse\":{\"cx\":\"26\",\"cy\":\"25.6\",\"rx\":\"7.5\",\"ry\":\"7.3\"}},\nnew_custom42:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M45.2 4H6.8C4.2 4 2 6.1 2 8.7v4.7c0 .9.7 1.6 1.6 1.6h44.8c.9 0 1.6-.7 1.6-1.6V8.7C50 6.1 47.8 4 45.2 4zM45.2 19.7H6.8c-.9 0-1.6.7-1.6 1.6v22c0 2.6 2.2 4.7 4.8 4.7h32c2.6 0 4.8-2.1 4.8-4.7v-22c0-.9-.7-1.6-1.6-1.6zm-10.4 7.1c0 1.3-1 2.4-2.4 2.4H19.6c-1.3 0-2.4-1-2.4-2.4 0-1.3 1-2.4 2.4-2.4h12.8c1.4 0 2.4 1 2.4 2.4z\"}}},\nnew_custom43:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M49.8 21.2s.1 0 0 0c.1-.2.1-.3.1-.4v-.1-.5-.3-.1s-.1-.1-.1-.2 0-.1-.1-.1c0-.1-.1-.1-.1-.2s-.1-.1-.1-.1L40.8 6.9c-.4-.5-1-.9-1.7-.9H12.9c-.7 0-1.4.4-1.8.9L2.3 19.1c0 .1-.1.1-.1.1-.1.1-.1.1-.1.2s0 .1-.1.1c0 .1-.1.1-.1.2V20.7c0 .1.1.3.1.4v.1c.1.1.1.2.1.3 0 .1.1.1.1.1l.1.1 21.9 23.6.1.1.1.1.1.1s.1 0 .1.1c.1 0 .1.1.1.1s.1 0 .1.1c0 0 .1 0 .1.1 0 0 .1 0 .1.1H26.6s.1 0 .1-.1c0 0 .1 0 .1-.1 0 0 .1 0 .1-.1 0 0 .1 0 .1-.1.1 0 .1-.1.1-.1s.1 0 .1-.1l.1-.1.1-.1.1-.1 21.9-23.6.1-.1c0-.1.1-.1.1-.1.1 0 .2-.1.2-.2zm-23.8-3h-3.5l3.5-5.8 3.5 5.8H26zm0 4.3h4.4L26 36.6l-4.4-14.1H26zm3.8-12.2h5.5l-2 5.7-3.5-5.7zm-11 5.7l-2-5.7h5.5L18.8 16zm-1.7 6.5l4 13-12-13h8zm17.8 0h8l-12 13 4-13zm8.7-4.3H37l2.2-6.1 4.4 6.1zm-30.9-6.1l2.2 6.1H8.4l4.3-6.1z\"}},\nnew_custom44:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M40.7 9.1C36.6 3.8 33.2 2 26 2c-3.2 0-7.1 1.3-8.7 1.6 0-.9-.7-1.6-1.6-1.6h-3.2c-.9 0-1.6.7-1.6 1.6V10c0 .9.7 1.6 1.6 1.6h3.1c.9 0 1.6-.7 1.6-1.6H19c1.3 0 2.3 1 2.3 2.3v.1c0 1.4 1 2.4 2.4 2.4v12.8c-1.7 0-3.1 1.4-3.1 3.2v14.4c0 2.6 2.1 4.8 4.7 4.8h1.6c2.6 0 4.7-2.2 4.7-4.8V30.8c0-1.8-1.4-3.2-3.1-3.2V14.8c1.3 0 2.4-1.8 2.4-3.1v-.1c0-1.2.9-2.2 2.1-2.2 3.1-.2 4.9 1.1 5.7 1.8.5.4 1.3.5 1.7.1.7-.5.9-1.5.3-2.2z\"}},\nnew_custom45:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M13.2 20.8h25.5v10.5H13.2z\"},{\"d\":\"M50 19.5v-4c0-2.5-2-4.5-4.5-4.5h-39C4 11 2 13 2 15.5v4c0 .5.3 1.1.8 1.3 1.8 1.1 3 3 3 5.2s-1.2 4.1-3 5.2c-.5.2-.8.7-.8 1.2v4.1C2 39 4 41 6.5 41h39c2.5 0 4.5-2 4.5-4.5v-4c0-.5-.3-1.1-.8-1.3-1.8-1.1-3-3-3-5.2s1.2-4.1 3-5.2c.5-.3.8-.7.8-1.3zm-8.2 16.3H10.2c-.8 0-1.5-.7-1.5-1.5V17.8c0-.8.7-1.5 1.5-1.5h31.5c.8 0 1.5.7 1.5 1.5v16.5c0 .8-.6 1.5-1.4 1.5z\"}]}},\nnew_custom46:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M34.8 15.6H17.2c-.9 0-1.6.7-1.6 1.6v17.6c0 .9.7 1.6 1.6 1.6h17.6c.9 0 1.6-.7 1.6-1.6V17.2c0-.9-.7-1.6-1.6-1.6z\"},{\"d\":\"M48.8 7.8c.7-.3 1.2-.8 1.2-1.6V3.6c0-.9-.7-1.6-1.6-1.6h-2.6c-.7 0-1.3.5-1.5 1.2-.5 1.6-2 2.8-3.8 2.8s-3.3-1.2-3.8-2.8C36.3 2.5 35.8 2 35 2h-3.7c-.7 0-1.3.5-1.5 1.2-.4 1.6-2 2.8-3.8 2.8-1.8 0-3.3-1.2-3.8-2.8-.3-.7-.8-1.2-1.6-1.2H17c-.7 0-1.3.5-1.5 1.2C15 4.8 13.4 6 11.6 6 9.8 6 8.3 4.8 7.8 3.2 7.5 2.5 7 2 6.2 2H3.6C2.7 2 2 2.7 2 3.6v2.6c0 .8.5 1.3 1.2 1.6 1.6.4 2.8 2 2.8 3.8s-1.2 3.3-2.8 3.8c-.7.3-1.2.8-1.2 1.6v3.7c0 .7.5 1.3 1.2 1.5 1.6.4 2.8 2 2.8 3.8s-1.2 3.3-2.8 3.8c-.7.3-1.2.8-1.2 1.6V35c0 .7.5 1.3 1.2 1.5C4.8 37 6 38.6 6 40.4c0 1.8-1.2 3.3-2.8 3.8-.7.3-1.2.8-1.2 1.6v2.6c0 .9.7 1.6 1.6 1.6h2.6c.7 0 1.3-.5 1.5-1.2.5-1.6 2-2.8 3.8-2.8 1.8 0 3.3 1.2 3.8 2.8.2.7.8 1.2 1.5 1.2h3.7c.7 0 1.3-.5 1.5-1.2.5-1.6 2-2.8 3.8-2.8s3.3 1.2 3.8 2.8c.2.7.8 1.2 1.5 1.2H35c.7 0 1.3-.5 1.5-1.2.5-1.6 2-2.8 3.8-2.8 1.8 0 3.3 1.2 3.8 2.8.2.7.8 1.2 1.5 1.2h2.6c.9 0 1.6-.7 1.6-1.6v-2.6c0-.7-.5-1.3-1.2-1.5-1.6-.5-2.8-2-2.8-3.8s1.2-3.3 2.8-3.8c.7-.2 1.2-.8 1.2-1.5v-3.7c0-.7-.5-1.3-1.2-1.5-1.6-.5-2.8-2-2.8-3.8 0-1.8 1.2-3.3 2.8-3.8.7-.2 1.2-.8 1.2-1.5V17c0-.7-.5-1.3-1.2-1.5-1.6-.5-2.8-2-2.8-3.8s1.4-3.4 3-3.9zm-7.6 28.6c0 2.6-2.2 4.8-4.8 4.8H15.6c-2.6 0-4.8-2.2-4.8-4.8V15.6c0-2.6 2.2-4.8 4.8-4.8h20.8c2.6 0 4.8 2.2 4.8 4.8v20.8z\"}]}},\nnew_custom47:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M36.6 43.6H8.9c-2.7 0-4.9 2.2-4.9 4.8v.1c0 .8.7 1.5 1.5 1.5h34.4c.8 0 1.5-.7 1.5-1.5v-.1c.1-2.6-2.1-4.8-4.8-4.8zM47.5 18.3l-13-11.8 2.1-3.1c.3-.5.1-1.1-.5-1.2-4-.8-6.4 1.9-6.4 1.9-25.1 0-21 27.1-19.8 33.4.2.7.8 1.3 1.6 1.3h22.1c.7 0 1.1-.8.7-1.3-4.5-5.4-6.8-11.4-8.3-15.2-.2-.6.4-1.4 1.1-1 5.9 3 8.4-.2 12.4 2.2 2 1.2 4.4.9 6-.7l2.2-2.2c.4-.6.4-1.6-.2-2.3zm-16.6-2.7c-1.4 0-2.4-1-2.4-2.4s1.1-2.4 2.4-2.4 2.4 1 2.4 2.4-1 2.4-2.4 2.4z\"}}},\nnew_custom48:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M48.4 5.2h-8V3.6c0-.9-.7-1.6-1.6-1.6H13.2c-.9 0-1.6.7-1.6 1.6v1.6h-8c-.9 0-1.6.7-1.6 1.6v10.4c0 4 3.2 7.2 7.2 7.2h3.7c2.2 5.1 7.1 8.7 13 8.8 6.1.1 11.2-3.6 13.4-8.8h3.5c4 0 7.2-3.2 7.2-7.2V6.8c0-.9-.7-1.6-1.6-1.6zM9.2 19.6c-1.4 0-2.4-1-2.4-2.4V10h4.8v8.5c0 .4 0 .7.1 1.1H9.2zm36-2.4c0 1.4-1 2.4-2.4 2.4h-2.5c0-.3.1-.7.1-1V10h4.8v7.2zM34 45.2h-.8c-2.6 0-4.8-2.2-4.8-4.8v-1.6c0-.5-.3-.8-.8-.8h-3.2c-.5 0-.8.3-.8.8v1.6c0 2.6-2.2 4.8-4.8 4.8H18c-.9 0-1.6.7-1.6 1.6v1.6c0 .9.7 1.6 1.6 1.6h16c.9 0 1.6-.7 1.6-1.6v-1.6c0-.9-.7-1.6-1.6-1.6z\"}}},\nnew_custom49:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M26 18.8c-4 0-7.2 3.2-7.2 7.2s3.2 7.2 7.2 7.2 7.2-3.2 7.2-7.2-3.2-7.2-7.2-7.2zM26 30c-2.2 0-4-1.8-4-4s1.8-4 4-4 4 1.8 4 4-1.8 4-4 4z\"},{\"d\":\"M26 2C12.7 2 2 12.7 2 26s10.7 24 24 24 24-10.7 24-24S39.3 2 26 2zm0 42.3c0 1-.8 1.7-1.8 1.6-9.6-.8-17.3-8.5-18.2-18.2 0-.9.7-1.7 1.7-1.7h1.6c.8 0 1.5.6 1.6 1.4.7 7.2 6.5 13 13.7 13.7.8.1 1.4.8 1.4 1.6v1.6zm0-6.3c-6.6 0-12-5.4-12-12s5.4-12 12-12 12 5.4 12 12-5.4 12-12 12zm18.3-12h-1.6c-.8 0-1.5-.6-1.6-1.4-.7-7.2-6.5-13-13.7-13.7-.8-.1-1.4-.8-1.4-1.6V7.7c0-1 .8-1.7 1.8-1.6 9.7.8 17.4 8.6 18.2 18.2 0 .9-.7 1.7-1.7 1.7z\"}]}},\nnew_custom5:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M49.1 5.8C40.9 2.7 31.4 2 23 4.7 15.6 7.1 8 12.6 6.9 20.8c-.2 1.7-.2 3.6.2 5.2.2.9.5 1.7.8 2.6.2.5.3.9.6 1.3-.3.5-.6 1-1 1.4-2.3 3.6-3.9 7.7-4.9 11.8-.4 1.7-1.4 4.3.5 5.5.7.5 1.8.5 2.5.1 1-.6 1.1-1.5 1.3-2.5.7-4.2 2.2-8.4 4.5-12 1.1-1.7 2.3-3.5 3.7-5.1 1.2-1.3 3-3.7 5-3 2 .7 1.9 3 .6 4.2s-2.5 2.5-2.5 4.4c0 1.4.6 2.9 1.8 3.8 1.6 1.3 4.8 1.6 6.7 1.4 4.2-.2 7.7-1.5 11.1-4 4.5-3.1 6.2-8.5 7.1-13.6.6-3.2 1-6.3 2.1-9.3.5-1.3 1.1-2.5 1.8-3.6.3-.6 1-1.2 1.1-1.8.3-.9-.2-1.6-.8-1.8z\"}},\nnew_custom50:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M47.5 31.3c-1.8.9-3.9 1.4-6.1 1.4-2.6 0-5.1-.7-7.2-1.9-.2-.2-.6-.2-.8 0-2.1 1.3-4.6 1.9-7.2 1.9s-5.1-.7-7.2-1.9c-.2-.2-.6-.2-.8 0-2.1 1.3-4.6 1.9-7.2 1.9-2.2 0-4.3-.5-6.1-1.4-.6-.3-1.2.1-1.2.7v9.8c0 1.9 1.1 3.6 2.9 4.5 4 1.8 8.3 3.1 12.9 3.7 1 .2 1.8-.6 1.8-1.6v-6.1c0-2.7 2.2-4.8 4.7-4.8h.1c2.6 0 4.7 2.2 4.7 4.8v6.1c0 1 .9 1.7 1.8 1.6 4.5-.6 8.8-1.9 12.9-3.7 1.8-.8 2.9-2.5 2.9-4.5V32c.2-.6-.4-1-.9-.7zM10.9 27.8c2.9 0 5.4-1.2 7-3.2.3-.4.9-.4 1.2 0 1.6 1.9 4.2 3.2 7 3.2 2.9 0 5.4-1.2 7-3.2.3-.4.9-.4 1.2 0 1.6 1.9 4.2 3.2 7 3.2 4.5 0 8.3-3.2 8.7-7.1.1-.6-.2-1.1-.6-1.5L29 3c-1.8-1.4-4.3-1.4-5.9 0L2.6 19.2c-.4.3-.6.9-.6 1.5.6 4 4.4 7.1 8.9 7.1z\"}}},\nnew_custom51:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M18.5 6.5c2 1.4 3.9 4.6 4.7 7.1.2.6.6 1 1.2 1 .6.2 1 .2 1.6.2.9 0 1.6 0 2.3-.3 2-.7 3.8-1.6 5.3-3.1 2.4-2.5 3.3-6 2.4-8.9-2.9-.9-6.4-.1-8.8 2.4-.7.7-1.3 1.5-1.7 2.4-1.3-2-2.8-3.8-4.5-4.9-1.2-.7-2.7-.3-3.4.9-.6 1.1-.1 2.5.9 3.2zM42.7 18.2c-8.1-4.6-9.8 1.6-16.7 1.6s-8.6-6.2-16.7-1.6C1.5 22.7 3.8 37.4 6.9 43c2.8 4.9 7.9 9.9 18.4 5.1.4-.2.9-.2 1.3 0 10.5 4.8 15.7-.3 18.4-5.1 3.2-5.6 5.5-20.3-2.3-24.8z\"}}},\nnew_custom52:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M49.9 14.1c.2-2.6 0-5.1-.4-7.6-.3-2.1-1.9-3.7-4-4-2.6-.4-5-.6-7.6-.4-.7 0-1 .9-.6 1.4l11.2 11.2c.6.4 1.4 0 1.4-.6zM31 3.8c-.4-.4-1-.6-1.5-.4-6 1.7-11.8 4.9-16.5 9.7-4.6 4.6-7.8 10.2-9.5 16-.2.6 0 1.2.4 1.6l17.4 17.4c.4.4 1 .6 1.6.4 5.8-1.8 11.4-4.9 16-9.5 4.7-4.7 8-10.4 9.7-16.5.2-.6 0-1.1-.4-1.5L31 3.8zm-6.7 31.4c-1 1-2.5 1-3.4 0l-4.5-4.5c-1-1-1-2.5 0-3.4 1-1 2.5-1 3.4 0l4.5 4.5c1 1 1 2.5 0 3.4zm5.6-5.6c-1 1-2.5 1-3.4 0L22 25.1c-1-1-1-2.5 0-3.4 1-1 2.5-1 3.4 0l4.5 4.5c1 1 1 2.5 0 3.4zm5.6-5.6c-1 1-2.5 1-3.4 0l-4.5-4.5c-1-1-1-2.5 0-3.4 1-1 2.5-1 3.4 0l4.5 4.5c1 1 1 2.5 0 3.4zM2.1 37.4c-.2 2.7-.1 5.4.4 8.2.3 2.1 1.9 3.7 4 4 2.7.4 5.4.6 8.2.4.7-.1 1-.9.6-1.4L3.4 36.8c-.4-.4-1.3-.1-1.3.6z\"}}},\nnew_custom53:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M45.4 31.6h-.5c-1.8 0-3.2-1.4-3.2-3.3V17.7c0-9.3-8.2-16.7-17.5-15.6-8 .9-13.9 8-13.9 16.3v9.5c0 2-1.7 3.7-3.6 3.7h-.1c-1.4 0-2.6 1.2-2.6 2.6v1.9c0 1.4 1.2 2.6 2.6 2.6h38.8c1.4 0 2.6-1.2 2.6-2.6v-1.9c0-1.4-1.2-2.6-2.6-2.6zM31.2 43.6H20.8c-.6 0-1.2.5-1 1.1.6 3 3.1 5.3 6.3 5.3s5.7-2.2 6.3-5.3c0-.6-.5-1.1-1.2-1.1z\"}}},\nnew_custom54:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M7.8 26.9c5.2-.9 9.8-3 14.7-5.3 1.6-.7 4.6-2.1 6-2.7.5-.2.8-.7.6-1.3-.4-2.3-2.3-4.2-4.7-4.2h-1.6v-3c0-.9-.8-1.6-1.6-1.6V5.6c0-.9-.7-1.6-1.6-1.6h-3.2c-.9 0-1.6.7-1.6 1.6v3.2c-.8 0-1.6.7-1.6 1.6v3h-1.6c-2.6 0-4.8 2.4-4.8 5.1V26c0 .6.5 1 1 .9zM43.6 42.7s5.8-9 6.4-21.6c0-.9-.7-1.7-1.7-1.7-19 .7-27.9 12.2-44.8 12.9-.9 0-1.5.8-1.5 1.6v6c0 2.6 2 4.6 4.5 4.8 8.4.5 26.4 1.7 36.7 3.4 1 .2 2-.8 1.8-1.8-.2-1.3-.6-2.7-1.4-3.6zm-.8-14.3c-1.4 0-2.4-1-2.4-2.4s1-2.4 2.4-2.4 2.4 1 2.4 2.4-1 2.4-2.4 2.4z\"}}},\nnew_custom55:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M12.5 33.3h9.8c.8 0 1.5-.7 1.5-1.5V9.9c0-1.6-1.5-2.9-3-2.9h-8c-1 0-1.7.7-1.7 1.7v23.2c-.1.7.6 1.4 1.4 1.4z\"},{\"d\":\"M45.5 11.4v23.4c0 1.6-1.4 2.9-3 2.9h-33c-1.7 0-3-1.3-3-2.9V11.4c-2.5 0-4.5 2-4.5 4.4v21.9c0 2.4 2 4.4 4.5 4.4h14.2c.8 0 1.5.7 1.5 1.5s.7 1.5 1.5 1.5h4.5c.8 0 1.5-.7 1.5-1.5s.7-1.5 1.5-1.5h14.2c2.5 0 4.5-2 4.5-4.4V15.8c.1-2.4-1.9-4.4-4.4-4.4z\"},{\"d\":\"M29.8 33.3h9.5c1 0 1.7-.7 1.7-1.7V8.5c0-.8-.7-1.5-1.5-1.5h-8.2c-1.5 0-3 1.3-3 2.9v21.9c-.1.8.6 1.5 1.5 1.5z\"}]}},\nnew_custom56:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M36.2 10.3c-5 5-11.1-1.1-16.7 4.5l-16.1 16c-1.8 1.8-1.8 4.8 0 6.6L9 43l5.6 5.6c1.8 1.8 4.8 1.8 6.6 0l16.2-16.1c5.6-5.6-.6-11.7 4.5-16.7l1.3-1.3c.3-.3.3-.8 0-1.1L38.7 9c-.3-.3-.8-.3-1.1 0l-1.4 1.3zm-3.9 20.5l-5.6 5.6c-.6.6-1.6.6-2.2 0L20 31.9l-4.5-4.5c-.6-.6-.6-1.6 0-2.2l5.6-5.6c.6-.6 1.6-.6 2.2 0l4.5 4.5 4.5 4.5c.7.6.7 1.6 0 2.2zM49.5 5.8l-1.7-1.7-1.7-1.7c-.6-.6-1.6-.6-2.2 0l-2.1 2.1c-.3.3-.3.8 0 1.1l4.4 4.4c.3.3.8.3 1.1 0l2.1-2c.8-.5.8-1.5.1-2.2z\"}}},\nnew_custom57:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M28.4 29v20.2c0 .7.7 1 1.2.7 3.9-2.2 15.8-9.1 15.8-9.1 1.5-.9 2.5-2.6 2.5-4.4V18.3c0-.7-.7-1-1.2-.7l-17.5 10c-.4.3-.8.8-.8 1.4zM26.8 23.3l17.6-10c.6-.3.6-1.1 0-1.4-3.9-2.2-15.9-9.2-15.9-9.2-1.5-.9-3.5-.9-5.1 0 0 0-12 6.9-15.9 9.2-.5.3-.5 1.1.1 1.4l17.6 10c.5.3 1.1.3 1.6 0zM22.7 27.5l-17.5-10c-.5-.3-1.2.1-1.2.8v18.1c0 1.8 1 3.5 2.5 4.4 0 0 11.9 6.9 15.8 9.1.6.3 1.2-.1 1.2-.7V29c.1-.6-.3-1.1-.8-1.5z\"}}},\nnew_custom58:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M39.5 22.8c-1.4 0-2.5-1.1-2.4-2.6.1-1.3 1.2-2.2 2.6-2.2h6.9c.3 0 .6-.2.7-.4.6-1.1 1.1-2.2 1.5-3.3.2-.6-.2-1.1-.7-1.1H43c-1.3 0-2.5-1-2.6-2.2-.1-1.4 1-2.6 2.4-2.6h6.4c.5 0 .8-.3.8-.8V5.2c0-.9-.7-1.6-1.6-1.6h-8.5c-2.4 0-4.3 1.9-4.3 4.3V8c0 4.5-3 8.5-7.2 9.6V11c1.7-1 2.7-2.8 2.4-4.9-.3-2.1-2.1-3.8-4.2-4-2.9-.3-5.4 1.9-5.4 4.8 0 1.8 1 3.3 2.4 4.2v6.7c-4.2-1.1-7.2-5.1-7.2-9.6V8c0-2.4-1.9-4.3-4.3-4.3H3.6c-.9 0-1.6.7-1.6 1.6v2.4c0 .5.3.8.8.8H9c1.3 0 2.5 1 2.6 2.2.1 1.4-1 2.6-2.4 2.6H4c-.6 0-1 .6-.7 1.1.4 1 .9 2.2 1.5 3.3.2.2.4.4.7.4h6.9c1.3 0 2.5 1 2.6 2.2.1 1.4-1 2.6-2.4 2.6h-1.9c-.7 0-1.1 1-.5 1.4 3.4 2.9 7.8 4.9 13.6 4.9v18.2c0 1.3 1 2.5 2.2 2.6 1.4.1 2.6-1 2.6-2.4V29.2c5.8 0 10.2-2.1 13.6-4.9.6-.5.2-1.4-.5-1.4h-2.2z\"}},\nnew_custom59:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M39.7 10.8c.8 0 1.3-.6 1.3-1.4 0-.6-.3-1.1-.9-1.4-1-.6-2.6-3.3-3.2-5-.2-.6-.8-1-1.4-1H16.3c-.6 0-1.3.4-1.4 1-.5 1.6-2.1 4.4-3.1 5-.5.3-.8.8-.8 1.4 0 .8.6 1.4 1.3 1.4h27.4zM11 45.1c0 2.7 2.1 4.9 4.7 4.9h20.5c2.6 0 4.7-2.2 4.7-4.8v-.1c0-.9-.7-1.5-1.5-1.5h-27c-.7 0-1.4.7-1.4 1.5zM41 37.2v-20c0-.9-.7-1.6-1.6-1.6H12.6c-.9 0-1.6.7-1.6 1.6v20c0 .9.7 1.6 1.6 1.6h26.8c.9 0 1.6-.7 1.6-1.6z\"}}},\nnew_custom6:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M26 47H5.2c-2.5 0-4-2.7-2.7-4.9L23.2 6.6c1.2-2.1 4.2-2.1 5.5 0l20.8 35.6c1.3 2.2-.3 4.9-2.7 4.9H26z\"}},\nnew_custom60:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M50 22.2C48.1 10.8 38.1 2 26 2S3.9 10.8 2 22.2c-.1.8.7 1.3 1.3.8 1.2-1 2.7-1.6 4.5-1.6 2.2 0 4.2 1 5.4 2.6.3.4 1 .4 1.3 0 1.3-1.6 3.2-2.6 5.4-2.6s4.2 1 5.4 2.6c.3.4 1 .4 1.3 0 1.3-1.6 3.2-2.6 5.4-2.6s4.2 1 5.4 2.6c.3.4 1 .4 1.3 0 1.3-1.6 3.2-2.6 5.4-2.6 1.7 0 3.3.6 4.5 1.6.7.5 1.5 0 1.4-.8zM35.6 40.4c-1.4 0-2.4 1-2.4 2.4s-1 2.4-2.4 2.4-2.4-1-2.4-2.4V31.6c0-1.4-1-2.4-2.4-2.4s-2.4 1-2.4 2.4v11.2c0 4 3.2 7.2 7.2 7.2s7.2-3.2 7.2-7.2c0-1.4-1-2.4-2.4-2.4z\"}}},\nnew_custom61:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M44.4 2h-3.2c-.9 0-1.6.7-1.6 1.6v3.2c0 .9-.7 1.6-1.6 1.6h-1.6c-.9 0-1.6-.7-1.6-1.6V3.6c0-.9-.6-1.6-1.6-1.6H30c-.9 0-1.6.7-1.6 1.6v3.2c0 .9-.7 1.6-1.6 1.6h-1.6c-.9 0-1.6-.7-1.6-1.6V3.6c0-.9-.7-1.6-1.6-1.6h-3.2c-.9 0-1.6.7-1.6 1.6v3.2c0 .9-.7 1.6-1.6 1.6H14c-.9 0-1.6-.7-1.6-1.6V3.6c0-.9-.7-1.6-1.6-1.6H7.6C6.7 2 6 2.7 6 3.6v8c0 2.6 2.2 4.8 4.8 4.8h30.4c2.6 0 4.8-2.2 4.8-4.8v-8c0-.9-.7-1.6-1.6-1.6zM40.8 22.5c-.1-.8-.8-1.4-1.6-1.4H12.8c-.8 0-1.5.6-1.6 1.4L7.6 48.1c-.2 1 .6 1.8 1.6 1.8h10.3c.9 0 1.7-.7 1.7-1.6v-7.7c0-2.6 2-5 4.6-5 2.7-.1 5 2.1 5 4.8v8c0 .9.8 1.6 1.7 1.6h10.3c1 0 1.8-.9 1.6-1.8l-3.6-25.7z\"}}},\nnew_custom62:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M47.6 41.2H4.4c-1.3 0-2.4 1-2.4 2.4C2 44.9 3 46 4.4 46h43.2c1.3 0 2.4-1 2.4-2.4s-1-2.4-2.4-2.4zM5.2 36.4h27.2v-3.2c0-.9.7-1.6 1.6-1.6h8c.9 0 1.6.7 1.6 1.6v3.2h3.2c.9 0 1.6-.7 1.6-1.6V7.6c0-.9-.7-1.6-1.6-1.6H5.2c-.9 0-1.6.7-1.6 1.6v27.2c0 .9.7 1.6 1.6 1.6zm7.2-20.8c0-.9.7-1.6 1.6-1.6h23.2c.9 0 1.6.7 1.6 1.6v1.6c0 .9-.7 1.6-1.6 1.6H14c-.9 0-1.6-.7-1.6-1.6v-1.6zm0 9.6c0-.9.7-1.6 1.6-1.6h15.2c.9 0 1.6.7 1.6 1.6v1.6c0 .9-.7 1.6-1.6 1.6H14c-.9 0-1.6-.7-1.6-1.6v-1.6z\"}}},\nnew_custom63:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M19.6 34h12.8c.9 0 1.6-.7 1.6-1.6V19.6c0-.9-.7-1.6-1.6-1.6H19.6c-.9 0-1.6.7-1.6 1.6v12.8c0 .9.7 1.6 1.6 1.6z\"},{\"d\":\"M47.6 28.4c1.4 0 2.4-1 2.4-2.4s-1-2.4-2.4-2.4h-4v-4.8h4c1.4 0 2.4-1 2.4-2.4S49 14 47.6 14h-4v-.8c0-2.6-2.2-4.8-4.8-4.8H38v-4C38 3 37 2 35.6 2s-2.4 1-2.4 2.4v4h-4.8v-4C28.4 3 27.4 2 26 2s-2.4 1-2.4 2.4v4h-4.8v-4c0-1.4-1-2.4-2.4-2.4S14 3 14 4.4v4h-.8c-2.6 0-4.8 2.2-4.8 4.8v.8h-4C3 14 2 15 2 16.4s1 2.4 2.4 2.4h4v4.8h-4C3 23.6 2 24.6 2 26s1 2.4 2.4 2.4h4v4.8h-4c-1.4 0-2.4 1-2.4 2.4S3 38 4.4 38h4v.8c0 2.6 2.2 4.8 4.8 4.8h.8v4c0 1.4 1 2.4 2.4 2.4s2.4-1 2.4-2.4v-4h4.8v4c0 1.4 1 2.4 2.4 2.4s2.4-1 2.4-2.4v-4h4.8v4c0 1.4 1 2.4 2.4 2.4s2.4-1 2.4-2.4v-4h.8c2.6 0 4.8-2.2 4.8-4.8V38h4c1.4 0 2.4-1 2.4-2.4s-1-2.4-2.4-2.4h-4v-4.8h4zm-8.8 8c0 1.4-1 2.4-2.4 2.4H15.6c-1.4 0-2.4-1-2.4-2.4V15.6c0-1.4 1-2.4 2.4-2.4h20.8c1.4 0 2.4 1 2.4 2.4v20.8z\"}]}},\nnew_custom64:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M26 2C12.8 2 2 12.8 2 26s10.8 24 24 24 24-10.8 24-24S39.2 2 26 2zm0 41.6c-9.7 0-17.6-7.9-17.6-17.6S16.3 8.4 26 8.4 43.6 16.3 43.6 26 35.7 43.6 26 43.6z\"},{\"d\":\"M35.3 15.7L22 20.5c-.7.2-1.3.8-1.5 1.5l-4.8 13.3c-.2.6.4 1.3 1 1L30 31.5c.7-.2 1.3-.8 1.5-1.5l4.8-13.3c.3-.6-.4-1.3-1-1zM26 29.2c-1.8 0-3.2-1.4-3.2-3.2s1.4-3.2 3.2-3.2 3.2 1.4 3.2 3.2-1.4 3.2-3.2 3.2z\"}]}},\nnew_custom65:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M42.4 38.7H3.5c-.8 0-1.5.7-1.5 1.5v.1C2 42.9 4.1 45 6.7 45h32.6c2.6 0 4.7-2.1 4.7-4.8v-.1c-.1-.7-.8-1.4-1.6-1.4zM40.8 7H3.6c-.7 0-1.4.7-1.4 1.6-.2 2.1-.2 5.9.1 8.2 1 7.4 4.9 13.6 10.2 16.9.2.2.5.2.8.2h16.2c.3 0 .5-.1.8-.2 3-1.9 5.7-4.8 7.4-8.2.9.3 1.9.5 3 .5 5.1 0 9.3-4.3 9.3-9.5S45.9 7 40.8 7zm0 14.2c-.4 0-.8-.1-1.2-.2.8-2.5 1.2-5.2 1.2-8.1v-1.3c2.6 0 4.7 2.1 4.7 4.8s-2.2 4.8-4.7 4.8z\"}}},\nnew_custom66:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M48.6 30.3L37 18.6c-1.8-1.8-4.8-1.8-6.6 0L18.6 30.3c-1.8 1.8-1.8 4.8 0 6.6l11.7 11.7c1.8 1.8 4.8 1.8 6.6 0l11.7-11.7c1.9-1.7 1.9-4.8 0-6.6zm-22 5.3c-1.1 1.1-2.9 1.1-3.9 0-1.1-1.1-1.1-2.9 0-3.9 1.1-1.1 2.9-1.1 3.9 0s1 2.8 0 3.9zm9 9.1c-1.1 1.1-2.9 1.1-3.9 0-1.1-1.1-1.1-2.9 0-3.9 1.1-1.1 2.9-1.1 3.9 0 1 1 1 2.8 0 3.9zm0-18.1c-1.1 1.1-2.9 1.1-3.9 0-1.1-1.1-1.1-2.9 0-3.9 1.1-1.1 2.9-1.1 3.9 0 1 1 1 2.8 0 3.9zm9 9c-1.1 1.1-2.9 1.1-3.9 0-1.1-1.1-1.1-2.9 0-3.9 1.1-1.1 2.9-1.1 3.9 0 1.2 1.1 1.2 2.8 0 3.9zM28.4 12.8v-6c0-2.6-2.2-4.8-4.8-4.8H6.8C4.2 2 2 4.2 2 6.8v16.8c0 2.6 2.2 4.8 4.8 4.8h6c.5 0 1-.2 1.3-.6.2-.3.6-.6.9-1L26.8 15c.3-.3.6-.6 1-.9.4-.3.6-.8.6-1.3zM8.8 24.4c-1.5 0-2.8-1.3-2.8-2.8s1.3-2.8 2.8-2.8 2.8 1.3 2.8 2.8-1.3 2.8-2.8 2.8zm6.4-6.4c-1.5 0-2.8-1.3-2.8-2.8s1.3-2.8 2.8-2.8 2.8 1.3 2.8 2.8-1.3 2.8-2.8 2.8zm6.4-6.4c-1.5 0-2.8-1.3-2.8-2.8S20.1 6 21.6 6c1.5 0 2.8 1.3 2.8 2.8s-1.3 2.8-2.8 2.8z\"}}},\nnew_custom67:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M29.2 28.4l-1-1.7c-.4-.6-1-1-1.8-1-.2 0-.5.1-.7.2l-2.8 1c-1.1-1-2.3-1.6-3.7-2.1l-.5-2.9c-.2-1-1-1.5-2-1.5h-2c-1 0-1.8.6-2 1.6l-.5 2.8c-1.3.5-2.5 1.2-3.7 2.2l-2.8-1c-.2-.1-.5-.2-.7-.2-.7 0-1.4.4-1.8 1l-1 1.7c-.5.9-.3 1.9.5 2.6L5.1 33c-.2.7-.2 1.4-.2 2.1 0 .6.1 1.4.2 2.2l-2.3 1.9c-.8.6-1 1.8-.5 2.6l1 1.7c.4.6 1 1 1.8 1 .2 0 .5-.1.7-.2l2.8-1c1.1 1 2.3 1.7 3.7 2.1l.5 3c.2 1 1 1.7 2 1.7h2c1 0 1.8-.7 2-1.7l.5-3c1.4-.5 2.7-1.3 3.9-2.2l2.6 1c.2.1.5.2.7.2.7 0 1.4-.4 1.8-1l1-1.6c.5-.9.3-2-.5-2.6l-2.3-1.9c.2-.7.2-1.4.2-2.1 0-.7-.1-1.4-.2-2.2l2.3-1.9c.6-.8.8-1.9.4-2.7zM15.7 40.6c-3 0-5.5-2.4-5.5-5.5s2.4-5.5 5.5-5.5c3 0 5.5 2.4 5.5 5.5s-2.6 5.5-5.5 5.5zM49.4 17.1l-1.8-1.5c.1-.6.2-1.1.2-1.7 0-.6-.1-1.2-.2-1.7l1.8-1.5c.6-.5.8-1.4.4-2.1L49 7.2c-.3-.5-.9-.8-1.4-.8-.2 0-.4.1-.6.1l-2.3.9c-.9-.8-1.9-1.4-3-1.7l-.4-2.4c-.2-.8-.8-1.3-1.6-1.3h-1.6c-.8 0-1.5.5-1.6 1.3l-.4 2.3c-1.1.4-2.1 1-3 1.8l-2.3-1c-.2-.1-.4-.1-.6-.1-.6 0-1.1.3-1.4.8L28 8.4c-.4.7-.2 1.6.4 2.1l1.8 1.5c-.1.6-.2 1.1-.2 1.7 0 .6.1 1.2.2 1.7l-1.8 1.5c-.6.5-.8 1.4-.4 2.1l.8 1.4c.3.5.9.8 1.4.8.2 0 .4 0 .6-.1l2.3-.9c.9.8 1.9 1.4 3 1.7l.4 2.3c.2.8.8 1.4 1.6 1.4h1.6c.8 0 1.5-.6 1.6-1.4l.4-2.4c1.1-.4 2.2-1 3.1-1.8l2.2.9c.2.1.4.1.6.1.6 0 1.1-.3 1.4-.8l.8-1.3c.4-.4.2-1.2-.4-1.8zm-10.5 1.3c-2.4 0-4.4-2-4.4-4.4s2-4.4 4.4-4.4 4.4 2 4.4 4.4-1.9 4.4-4.4 4.4z\"}}},\nnew_custom68:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M26 2C12.8 2 2 12.8 2 26s10.8 24 24 24 24-10.8 24-24S39.2 2 26 2zm19 21.6h-6.3c-.2-5.7-1.5-10.6-3.4-14.4 5.3 3 8.9 8.2 9.7 14.4zM23.6 7.8v15.8h-5.5c.4-7.5 2.8-13.4 5.5-15.8zm0 20.6v15.8c-2.7-2.3-5.1-8.2-5.5-15.8h5.5zm4.8 15.8V28.4h5.5c-.4 7.5-2.8 13.4-5.5 15.8zm0-20.6V7.8c2.7 2.3 5.1 8.2 5.5 15.8h-5.5zM16.7 9.2c-1.9 3.8-3.1 8.7-3.4 14.4H7c.8-6.2 4.4-11.4 9.7-14.4zM7 28.4h6.3c.2 5.7 1.5 10.6 3.4 14.4-5.3-3-8.9-8.2-9.7-14.4zm28.3 14.4c1.9-3.8 3.1-8.7 3.4-14.4H45c-.8 6.2-4.4 11.4-9.7 14.4z\"}},\nnew_custom69:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M28.1 22.1c-4.6-3.4-9.2-1.8-12.2 1.1-1.1 1-2.9 1.7-4.8 2.2-2.2.7-4.6 1.4-6.2 3.1-4.6 4.5-3.7 9.8 2.5 16l.1.1.1.1c3.7 3.6 7 5.4 10.1 5.4 2.2 0 4.2-.9 6.2-2.7 1.7-1.6 2.5-3.9 3.2-6.1.6-1.8 1.3-3.7 2.3-4.7 1.8-1.8 2.9-3.8 3.1-5.9.2-1.5-.2-3.7-1.9-5.9 0-.2-1-1.5-2.5-2.7zm-9.9 19.3c-.4.4-1 .6-1.6.6-.6 0-1.1-.2-1.5-.6L10.6 37c-.9-.9-.9-2.2 0-3.1.9-.9 2.2-.9 3.1 0l4.4 4.4c.9.9.9 2.2.1 3.1zm3.8-6.5c-2.2 0-4-1.8-4-4s1.8-4 4-4 4 1.8 4 4-1.8 4-4 4zM49.5 6.2l-3.7-3.7c-.6-.6-1.8-.6-2.5 0l-4.1 4.1c-.6.6-.6 1.8 0 2.5l.2.2-8.2 8.3c-.3.3-.3.9 0 1.2.6.6 1.7 1.5 2.3 2.2.3.3.8.3 1.1 0l8.2-8.2.2.2c.6.6 1.8.6 2.5 0l4.1-4.1c.6-.9.6-2-.1-2.7z\"}}},\nnew_custom7:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M7.1 50C4.3 50 2 47.7 2 44.9V7.1C2 4.3 4.3 2 7.1 2h37.7C47.7 2 50 4.3 50 7.1v37.7c0 2.8-2.3 5.1-5.1 5.1H7.1z\"}},\nnew_custom70:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M24.4 37l-9.2-9.1c-1.9-1.8-5-1.8-6.9 0l-5.8 5.7c-.6.6-.6 1.7 0 2.2L3.6 37l1.1 1.1 9.3 9.1.6.6 1.8 1.7c.6.6 1.7.6 2.3 0l5.8-5.7c1.8-1.8 1.8-4.9-.1-6.8zm-15-3.4l1.2-1.1c.6-.6 1.6-.6 2.2 0l7 6.8c.6.6.6 1.7 0 2.2l-1.2 1.1c-.6.6-1.6.6-2.2 0l-7-6.8c-.7-.6-.7-1.6 0-2.2zM19.4 25.3l7.5 7.3c.2.2.3.2.6.2l3.4-.1c.4 0 .7-.3.7-.7l.1-3c0-.4.3-.7.7-.7l3-.1c.4 0 .7-.3.7-.7l.1-3c0-.4.3-.7.7-.7l3-.1c.4 0 .7-.3.7-.7l.1-3c0-.4.3-.7.7-.7l3-.1c.4 0 .7-.3.7-.7l.1-3c0-.4.3-.6.6-.7l3.3-.5c.6-.1.9-.7.6-1.2L42.8 2.7c-.6-.8-1.7-.9-2.4-.2L19.3 23.3c-.5.5-.5 1.4.1 2z\"}}},\nnew_custom71:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M43 10.9C38.3 6.3 32 3.8 25.3 4 12.5 4.4 2 15.2 2 28v7.4c0 2.6 2.2 4.7 4.8 4.7H10v3.8c0 2 1.5 3.8 3.6 4.1 2.4.2 4.4-1.6 4.4-3.9v-14c0-2-1.5-3.8-3.6-4.1-2.4-.2-4.4 1.6-4.4 3.9v5.5H8.4c-.9 0-1.6-.7-1.6-1.6V28c0-10.4 8.4-19 18.6-19.3 5.3-.2 10.2 1.7 13.9 5.3 3.8 3.6 5.8 8.4 5.8 13.5v6.3c0 .9-.7 1.6-1.6 1.6H42v-5.3c0-2-1.5-3.8-3.6-4.1-2.4-.2-4.4 1.6-4.4 3.9v14c0 2 1.5 3.8 3.6 4.1 2.4.2 4.4-1.6 4.4-3.9v-3.9h3.2c2.6 0 4.8-2.1 4.8-4.7V28c0-6.3-2.4-12.5-7-17.1z\"}},\nnew_custom72:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M47.6 2H4.4C3 2 2 3 2 4.4s1 2.4 2.4 2.4h19.2v5C15 12.9 8.4 20.2 8.4 29.1v5.5c0 5.8 4.6 10.6 10.6 10.6h14.2c5.8 0 10.5-4.7 10.5-10.6V29c0-8.9-6.6-16.2-15.2-17.4V6.8h19.2c1.4 0 2.4-1 2.4-2.4S49 2 47.6 2zM37.2 29c0 .1 0 0 0 0 0 2.3-1.8 4.2-4.2 4.2H19c-2.3 0-4.1-1.8-4.2-4.2v.1-.1.1c.1-6.2 5-11.1 11-11.1h.3c6.1 0 11 5 11.1 11z\"},\"circle\":[{\"cx\":\"6.8\",\"cy\":\"46.8\",\"r\":\"3.2\"},{\"cx\":\"45.2\",\"cy\":\"46.8\",\"r\":\"3.2\"}]}},\nnew_custom73:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M4.8 14h42.4c1 0 1.8-1 1.5-2-1-3.3-2.4-6.3-4.3-9-.6-.8-1.7-.9-2.3-.2-1.9 1.8-4.6 2.8-7.4 2.8-3 0-5.7-1.2-7.7-3.2-.6-.6-1.6-.6-2.2 0-2 2-4.7 3.2-7.7 3.2-2.8 0-5.4-1-7.4-2.8-.6-.6-1.6-.5-2.2.3-1.9 2.6-3.4 5.7-4.3 9-.2.9.6 1.9 1.6 1.9zM50 20.4c0-.9-.7-1.6-1.6-1.6H3.6c-.9 0-1.6.7-1.6 1.6v.3c0 15 10.4 27.4 24 29.3 13.6-1.9 24-14.3 24-29.2v-.4z\"}}},\nnew_custom74:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M30.1 44.4h-8.2c-.9 0-1.6.7-1.6 1.6v2.4c0 .9.7 1.6 1.6 1.6h8.2c.9 0 1.6-.7 1.6-1.6V46c0-.9-.7-1.6-1.6-1.6zM26 2C16 2 8 9.5 8 18.8c0 6 3.4 11.3 8.5 14.2 2 1.1 3.3 3 3.7 5.2.2.7.8 1.3 1.6 1.3h8.5c.8 0 1.5-.6 1.6-1.3.4-2.2 1.7-4.1 3.7-5.2 5-3 8.3-8.2 8.3-14.2C44 9.5 36 2 26 2zm-5.6 7.5c-1.6 3-2.5 6.6-2.6 9.5 0 3 .6 5.8 1.6 8.6.3.7-.4 1.4-1.1 1-7.5-3.8-7-17.6 1.1-20.3.7-.1 1.4.6 1 1.2zm6.3 19.1c-.2.6-1.2.6-1.5 0-1.3-3.1-1.6-6.8-1.7-10.2.1-3.4.4-7 1.7-10.2.2-.6 1.2-.6 1.5 0 1.3 3.1 1.6 6.8 1.7 10.2 0 3.4-.4 7-1.7 10.2zm6.7.1c-.7.3-1.4-.3-1.1-1 1.1-2.9 1.6-6.1 1.7-9.1-.1-2.6-1-6.1-2.6-9-.3-.6.3-1.4 1-1.1 8.1 2.6 8.6 16.5 1 20.2z\"}}},\nnew_custom75:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M26 2c-1.4 0-2.4 1-2.4 2.4v43.2c0 1.4 1 2.4 2.4 2.4 13.2 0 24-10.8 24-24S39.2 2 26 2zm19 21.6h-6.3c-.2-5.7-1.5-10.6-3.4-14.4 5.3 3 8.9 8.2 9.7 14.4zM28.4 44.2V28.4h5.5c-.4 7.5-2.8 13.4-5.5 15.8zm0-20.6V7.8c2.7 2.3 5.1 8.2 5.5 15.8h-5.5zm6.9 19.2c1.9-3.8 3.1-8.7 3.4-14.4H45c-.8 6.2-4.4 11.4-9.7 14.4zM12.8 17.9c.6.5 1.6.4 2.2-.2l4.4-5c.6-.6.6-1.6-.1-2.2l-4.4-4.4c-.6-.6-1.4-.6-2-.2l-.9.6C6 10.8 2 17.9 2 26s4 15.2 10 19.5l.9.6c.6.4 1.4.3 2-.2l4.4-4.4c.6-.6.6-1.6.1-2.2l-4.4-5c-.6-.6-1.5-.7-2.2-.2l-1.7 1.3c-1.8-2.7-2.7-5.9-2.7-9.4s1-6.6 2.7-9.4l1.7 1.3z\"}}},\nnew_custom76:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M25.9 30.4c-.2-.6-.9-1.1-1.6-1h-.7c-9 0-16.3-7.2-16.3-16.1v-.4c0-.8-1.1-1.1-1.5-.5-.6.8-1 1.8-1.3 2.8-1.4 4.6.4 9.6 4.3 12.4 1.8 1.3 3.7 1.9 5.6 2.1l.6 1.5c.1.2.2.4.4.5l2.4 1c.4.2.6.6.4 1l-.8 2.3c-.2.4.1.8.4 1l1.3.6c.4.2.6.6.4 1l-.7 2.5c-.1.4.1.8.4 1l1.9.8c.4.2.6.6.4 1l-.7 2.5c-.1.4.1.8.5 1l5.5 2.5c.4.2.9 0 1.1-.4l2.4-5.4c.2-.4.2-.8.1-1.2l-4.5-12.5z\"},{\"d\":\"M47.5 29.6l-13-13.4c.6-2 .6-4.2-.2-6.5-1.5-4.3-5.5-7.4-10.2-7.7-7-.3-12.7 5.6-12 12.6.6 4.8 4.2 8.8 9 9.7 2.1.4 4.2.2 6-.4l1.1 1.2c.2.2.3.2.6.2h2.8c.5 0 .8.3.8.8l.2 2.5c0 .4.4.7.8.7H35c.5 0 .8.3.8.8l.4 2.6c.1.4.4.6.8.6h2c.5 0 .8.3.8.8l.4 2.6c.1.4.4.6.8.6h6.1c.5 0 .8-.3.8-.8v-5.9c.1-.4-.1-.8-.4-1zm-25.6-14c-2.3 0-4.1-1.8-4.1-4s1.8-4 4.1-4 4.1 1.8 4.1 4-1.8 4-4.1 4z\"}]}},\nnew_custom77:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M11.5 19.6h3.1c.5 0 .8-.3.8-.8v-1.2c0-6.1 4.5-10.8 10.2-10.8s10.2 4.7 10.2 10.8v1.2c0 .5.3.8.8.8h3.1c.5 0 .8-.3.8-.8v-1.2C40.5 8.9 34 2 25.6 2S10.7 8.9 10.7 17.6v1.2c0 .5.3.8.8.8zM41.3 24.4H10.7c-2.6 0-4.7 2.2-4.7 4.8v16c0 2.6 2.1 4.8 4.7 4.8h30.6c2.6 0 4.7-2.2 4.7-4.8v-16c0-2.6-2.1-4.8-4.7-4.8zM29.8 37.3c-.7 1.1-1.1 2.4-.8 3.7l.5 2.4c.2.9-.5 1.8-1.4 1.8h-5c-.9 0-1.6-1-1.4-1.8l.5-2.5c.3-1.3-.1-2.6-.8-3.6-.7-1-1-2.3-.8-3.6.4-1.9 2-3.4 3.9-3.8 3.2-.6 6 1.8 6 4.7 0 1-.3 1.9-.7 2.7z\"}}},\nnew_custom78:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M48.6 9.5L34.2 2.3c-.6-.3-1.4-.3-2.2 0L18.8 8.9 5.4 2.3c-.7-.4-1.6-.4-2.3 0C2.4 2.8 2 3.6 2 4.4v36c0 .9.5 1.8 1.4 2.2l14.4 7.2c.6.3 1.4.3 2.2 0l13.3-6.6 13.4 6.6c.3.2.7.2 1 .2.4 0 .9-.2 1.3-.3.7-.5 1.1-1.3 1.1-2.1v-36c-.1-.9-.6-1.7-1.5-2.1zm-3.4 4.6v19c0 1.1-1.1 1.9-2.2 1.5-3.7-1.4-.8-7.6-3.4-11-2.5-3.1-5.8.1-8.8-4.8-3-4.7 1-8.1 4.6-9.9.5-.2 1-.2 1.4 0l7.4 3.8c.7.2 1 .8 1 1.4zM24.8 41.9c-.6.3-1.3.2-1.8-.2-1-.9-1.8-2.3-1.8-3.7 0-2.4-4-1.6-4-6.4 0-3.8-4.7-5-8.6-4.6-1 .1-1.8-.6-1.8-1.6V10.9c0-1.2 1.3-2 2.3-1.4l8.6 4.3c.1 0 .2.1.2.1l.3.2c3.6 2.1 2.9 3.8 1.4 6.4-1.7 2.9-2.4 0-4.8-.8s-4.8.8-4 2.4 3.2 0 4.8 1.6c1.6 1.6 1.6 4 6.4 2.4 4.8-1.6 5.6-.8 7.2.8 1.6 1.6 2.4 4.8 0 7.2-1.4 1.4-2 4.3-2.6 6.4-.2.4-.4.8-.8 1l-1 .4z\"}},\nnew_custom79:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M17.8 19.3c-2.9 0-5.2 2.3-5.2 5.2s2.3 5.2 5.2 5.2 5.2-2.3 5.2-5.2-2.3-5.2-5.2-5.2z\"},{\"d\":\"M47.8 35.6H33.5v-5.9H35c.8 0 1.5-.7 1.5-1.5v-4.4c0-.8-.7-1.5-1.5-1.5h-1.7C32.1 14.9 25.8 9.2 18 9 9.1 8.9 1.9 16 2 24.7 2.2 33.3 9.4 40 18.1 40h27.4v1.5c0 .8.7 1.5 1.5 1.5h1.5c.8 0 1.5-.7 1.5-1.5v-3.7c0-1.2-1-2.2-2.2-2.2zm-30-1.5c-5.4 0-9.7-4.3-9.7-9.6s4.3-9.6 9.7-9.6 9.7 4.3 9.7 9.6-4.3 9.6-9.7 9.6z\"}]}},\nnew_custom8:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M23.7 3L4.8 23.8c-1.1 1.2-1.1 3.1 0 4.3L23.7 49c1.3 1.4 3.4 1.4 4.6 0l18.9-20.8c1.1-1.2 1.1-3.1 0-4.3L28.3 3c-1.2-1.3-3.4-1.3-4.6 0z\"}},\nnew_custom80:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M9.7 33.7c-4.3 0-7.7 3.4-7.7 7.7S5.5 49 9.7 49s7.7-3.4 7.7-7.7-3.4-7.6-7.7-7.6zm0 10.7c-1.7 0-3.1-1.4-3.1-3.1 0-1.7 1.4-3.1 3.1-3.1s3.1 1.4 3.1 3.1c0 1.7-1.4 3.1-3.1 3.1zM42.3 33.7c-4.3 0-7.7 3.4-7.7 7.7S38 49 42.3 49s7.7-3.4 7.7-7.7-3.5-7.6-7.7-7.6zm0 10.7c-1.7 0-3.1-1.4-3.1-3.1 0-1.7 1.4-3.1 3.1-3.1s3.1 1.4 3.1 3.1c0 1.7-1.4 3.1-3.1 3.1z\"},{\"d\":\"M41.8 29.1c1.7-.1 3.3.2 4.9.8.8.3 1.6-.1 2-.8 3.9-7.4-2.4-10.9-6.4-12.9-1.1-.5-2.3.2-2.3 1.4V22c0 .9-.6 1.8-1.5 1.7-5.7-.9-10.8-6.9-17-6.9s-7 6.1-7 6.1c-4.3 0-8.6-.3-10.5-.8-1.1-.1-2 .6-2 1.6 0 0 0 5.4 7.7 5.4C16 29.1 21.3 33.7 22 40c.2 1.7 0 3.4-.5 4.8-.2.5.2 1.1.9 1.1h7.1c.6 0 1-.5.9-1.1-.5-1.5-.6-3-.5-4.6.6-6 5.7-10.9 11.9-11.1zM2 23.7zM22.4 11.8c.1.6.5 1.1 1.1 1.3l8.2 2.8c.8.2 1.5-.1 1.9-.8l.7-1.3c.3-.5-.1-1.1-.6-1.2-2.4-.2-7.4-1.1-6-3.8 1.3-2.3 4-1.7 5.8-.9.7.3 1.4-.5 1.1-1.1-1.2-2.5-3.9-4-6.7-3.7-3.6.4-6.2 3.9-5.7 7.5l.2 1.2z\"}]}},\nnew_custom81:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M47.5 2c-.8 0-3.1.1-3.9.1-12.3.6-26.5 3.7-27.2 3.9-1 .3-1.6 1.3-1.6 2.2v26.2c-.8-.3-2.1-.5-3.2-.5-5.3 0-9.6 3.6-9.6 8s4.3 8 9.6 8 9.6-3.6 9.6-8V25.6c0-.7.5-1.4 1.2-1.5 3.9-1 9.4-2 19.5-2.6 1-.1 1.7.6 1.7 1.6v8.3c-.8-.3-2.1-.5-3.2-.5-5.3 0-9.6 3.6-9.6 8s4.3 8 9.6 8 9.6-3.6 9.6-8V4.4C50 3 48.9 1.9 47.5 2zm-5.4 12.7c-9.8.6-14.7 1.5-19 2.5-1 .2-1.9-.6-1.9-1.6v-2.5c0-.7.5-1.4 1.3-1.6 4.2-1 9.2-2 19.4-2.6 1-.1 1.7.6 1.7 1.6V13c0 1-.6 1.7-1.5 1.7z\"}},\nnew_custom82:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M48.5 21.5H32.7c-.8 0-1.5.7-1.5 1.5v.7c0 1.2-1 2.2-2.3 2.2-1.2 0-2.3-1-2.3-2.2V23c0-.8-.7-1.5-1.5-1.5h-3.8.1c-4.4.2-8.3 2.8-10.4 6.4-.8-.3-1.6-.4-2.4-.4-3.8 0-6.8 3-6.8 6.7S5 41 8.8 41c.8 0 1.7-.1 2.4-.4 2.1 3.7 6 6.2 10.4 6.4 7.3.4 13.4-5.5 13.4-12.8 0-.4 0-.9-.1-1.3-.1-.7.5-1.5 1.2-1.6l12.7-2.8c.7-.1 1.2-.7 1.2-1.5v-4c0-.8-.7-1.5-1.5-1.5zm-39.8 15c-1.3 0-2.3-1-2.3-2.2s1-2.2 2.3-2.2c.3 0 .7.1.9.2-.2.9-.2 1.9-.2 2.8 0 .5.1.8.2 1.2-.3.1-.6.2-.9.2zM29 16.2c1.3 0 2.3-1 2.3-2.2V7.2C31.2 6 30.2 5 29 5c-1.3 0-2.3 1-2.3 2.2V14c0 1.3 1 2.2 2.3 2.2zM18.2 17c.5.5 1.1.7 1.7.7.5 0 1.1-.1 1.5-.5 1-.8 1.1-2.2.2-3.1l-4.5-5.2c-.8-1-2.3-1-3.2-.2-1 .8-1.1 2.2-.2 3.1l4.5 5.2zM38 17.7c.6 0 1.3-.3 1.7-.7l4.5-5.2c.8-1 .7-2.4-.2-3.1-1-.8-2.4-.7-3.2.2l-4.5 5.2c-.8 1-.7 2.4.2 3.1.4.4 1 .5 1.5.5z\"}}},\nnew_custom83:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M45.7 17.4c.3.3.8.3 1.1 0l1.1-1.1c2.7-2.7 2.8-6.9.2-9.5 0 0-3.4-3.5-3.5-3.5-2.7-2.2-6.5-1.2-8.6 1l-1.1 1.1c-.3.3-.3.8 0 1.1l10.8 10.9zM31.3 9.8c-.3-.3-.8-.3-1.1 0l-22 21.9C7 32.9 6.1 34.3 5.6 36L2.1 46.8c-.2.6-.2 1.4.2 2 .5.8 1.3 1.2 2.1 1.2.2 0 .5 0 .7-.1 0 0 7.4-2.3 11-3.4 1.6-.5 3-1.4 4.2-2.6L42.2 22c.3-.3.3-.8 0-1.1L31.3 9.8zM14.6 41.9c-1.7.6-4.3 1.4-6.6 2.1l2.1-6.6c.2-.9.7-1.6 1.4-2.2l5.4 5.4c-.7.6-1.5 1.1-2.3 1.3z\"}}},\nnew_custom84:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M45.6 37.2H6.4c-1.3 0-2.4 1-2.4 2.4S5 42 6.4 42h3.1l1.3 6.8c.2.7.8 1.2 1.5 1.2h25.8c.7 0 1.3-.5 1.5-1.2l1.3-6.8h4.7c1.3 0 2.4-1 2.4-2.4s-1-2.4-2.4-2.4zM12.6 32.4h11v-4.5c-.9-.6-1.6-1.6-1.6-2.7 0-1.8 1.4-3.2 3.1-3.2 1.7 0 3.1 1.4 3.1 3.2 0 1.2-.6 2.2-1.6 2.7v4.5h11c.9 0 1.6-.7 1.6-1.6v-2.4c0-4.9-4.6-6.6-8.2-8.1-2.4-1-2.8-2-2.8-3s.7-2 1.5-2.7c1.4-1.3 2.3-3.1 2.3-5.3 0-3.9-2.5-7.4-6.9-7.4s-6.9 3.4-6.9 7.4c0 2.2.8 3.9 2.3 5.3.8.7 1.5 1.7 1.5 2.7 0 1-.4 1.9-2.8 3-3.6 1.5-8.2 3.4-8.2 8.1v2.4c.1.9.8 1.6 1.6 1.6z\"}}},\nnew_custom85:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M48.4 5.2h-40V3.6c0-.9-.7-1.6-1.6-1.6H3.6C2.7 2 2 2.7 2 3.6v44.8c0 .9.7 1.6 1.6 1.6h3.2c.9 0 1.6-.7 1.6-1.6V11.6h40c.9 0 1.6-.7 1.6-1.6V6.8c0-.9-.7-1.6-1.6-1.6z\"},{\"d\":\"M45.2 16.4H18c-2.6 0-4.8 2.2-4.8 4.8v17.6c0 2.6 2.2 4.8 4.8 4.8h27.2c2.6 0 4.8-2.2 4.8-4.8V21.2c0-2.6-2.2-4.8-4.8-4.8zM40.8 30h-2v8c0 .5-.3.8-.8.8h-3.2c-.5 0-.8-.3-.8-.8v-4.8c0-.5-.3-.8-.8-.8H30c-.5 0-.8.3-.8.8V38c0 .5-.3.8-.8.8h-3.2c-.5 0-.8-.3-.8-.8v-8h-2c-.4 0-.6-.5-.2-.7l9-8.7c.3-.2.7-.2 1 0l9 8.7c.2.2 0 .7-.4.7z\"}]}},\nnew_custom86:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M16.4 10h3.2c.5 0 .8-.3.8-.8V6.8h11.2v2.4c0 .5.3.8.8.8h3.2c.5 0 .8-.3.8-.8V6.8c0-2.6-2.2-4.8-4.8-4.8H20.4c-2.6 0-4.8 2.2-4.8 4.8v2.4c0 .5.3.8.8.8zM45.2 14.8H6.8C4.2 14.8 2 17 2 19.6v25.6C2 47.8 4.2 50 6.8 50h38.4c2.6 0 4.8-2.2 4.8-4.8V19.6c0-2.6-2.2-4.8-4.8-4.8zM26 43.6c-6.2 0-11.2-5-11.2-11.2s5-11.2 11.2-11.2 11.2 5 11.2 11.2-5 11.2-11.2 11.2z\"},{\"d\":\"M30.8 30h-2.4v-2.4c0-.9-.7-1.6-1.6-1.6h-1.6c-.9 0-1.6.7-1.6 1.6V30h-2.4c-.9 0-1.6.7-1.6 1.6v1.6c0 .9.7 1.6 1.6 1.6h2.4v2.4c0 .9.7 1.6 1.6 1.6h1.6c.9 0 1.6-.7 1.6-1.6v-2.4h2.4c.9 0 1.6-.7 1.6-1.6v-1.6c0-.9-.7-1.6-1.6-1.6z\"}]}},\nnew_custom87:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M45.6 2H6.4C5 2 4 3 4 4.4v38.4c0 1.4 1 2.4 2.4 2.4h.8v2.4c0 1.4 1 2.4 2.4 2.4h1.6c1.3 0 2.4-1 2.4-2.4v-2.4h25.1v2.4c0 1.4 1 2.4 2.4 2.4h1.6c1.3 0 2.4-1 2.4-2.4v-2.4h.8c1.3 0 2.4-1 2.4-2.4V4.4C48 3 47 2 45.6 2zM11.1 40.4c-1.3 0-2.4-1-2.4-2.4V9.2c0-1.4 1-2.4 2.4-2.4H41c1.3 0 2.4 1 2.4 2.4V38c0 1.4-1 2.4-2.4 2.4H11.1z\"},{\"d\":\"M37 11.6H15c-.9 0-1.6.7-1.6 1.6V34c0 .9.7 1.6 1.6 1.6h22c.9 0 1.6-.7 1.6-1.6V13.2c0-.9-.7-1.6-1.6-1.6zM33.3 26h-6.5c-.9 1.6-2.7 3.2-4.9 3.2-3 0-5.3-2.6-5.3-5.6S19 18 21.9 18c2.2 0 4.1 1.6 4.9 3.2h6.4c1.2 0 2.1 1.2 2.1 2.4.1 1.2-.8 2.4-2 2.4z\"}]}},\nnew_custom88:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M48.5 42h-45c-.8 0-1.5.6-1.5 1.4v.1c0 3.6 4.5 6.5 8 6.5h32c3.5 0 8-2.9 8-6.5v-.1c0-.8-.7-1.4-1.5-1.4zM4.4 37.2h14.4c.9 0 1.6-.9 1.6-1.8V7.9c0-.4-.6-.6-.7-.2l-16 28.2c-.3.6.1 1.3.7 1.3zM26.8 37.2h20c1 0 1.7-.9 1.6-1.8-.7-5.8-1.7-23.7-22.1-33.3-.5-.2-1.1.1-1.1.7v32.6c0 .9.7 1.8 1.6 1.8z\"}}},\nnew_custom89:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M32.3 20.7c-.3-.4-1-.3-1.2.2-1 1.4-1.9 3.4-1.9 5.9v8.8c0 1.3-1 2.4-2.4 2.4-1.3 0-2.4-1-2.4-2.4v-2.5V8.3c0-6.1-5.4-7.1-9.3-5.6-1 .3-2 1-2.7 1.8-.5.6-1 1-1.8 1.3-1.4.3-3.9-1-5.2-1.8-.7-.4-1.7-.2-2.1.4l-1 1.4c-.6.7-.3 1.8.4 2.3 1.5 1 3.9 2.5 5.8 2.8 2.8.5 5.4-.4 7.4-2.3l-.1.1c.6-.5 1.5-1.3 2.2-.4 1.6 2.4-4.8 12.9-4.8 28.1v1.3c0 6.5 6.6 12.1 13 12.4 6.9.3 12.6-5.2 12.6-12 0-3.4 1.3-5.7 2.6-7 .3-.3.3-.8 0-1.1l-9.1-9.3zM47.6 28.3c-.6 0-1.2-.2-1.7-.7L33.1 14.9c-1-1-1-2.5 0-3.4 1-1 2.5-1 3.4 0l12.8 12.8c1 1 1 2.5 0 3.4-.5.4-1.1.6-1.7.6z\"}}},\nnew_custom9:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M49.5 17.3C47.2 7.8 37.2 2 26.2 2 12.8 2 2 12.7 2 26s10.8 24 24.2 24c18.6 0 17.1-9.4 11.2-13.1-3.5-2.2-5.4-7.3-1.9-10.9 6.5-6.7 17 4 14-8.7zM13 34c-2.8 0-5-2.2-5-5s2.2-5 5-5 5 2.2 5 5-2.2 5-5 5zm1-19c0-2.8 2.2-5 5-5s5 2.2 5 5-2.2 5-5 5-5-2.2-5-5zm11 29c-2.8 0-5-2.2-5-5s2.2-5 5-5 5 2.2 5 5-2.2 5-5 5zm9-26c-2.8 0-5-2.2-5-5s2.2-5 5-5 5 2.2 5 5-2.2 5-5 5z\"}},\nnew_custom90:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M47.9 6.9L28.4 9.7v27.5c0 .5-.3.8-.8.8h-3.2c-.5 0-.8-.3-.8-.8V10.5L4.8 13.3h-.3c-1.2 0-2.2-.9-2.4-2.1-.2-1.3.7-2.6 1.9-2.7l14.9-2.2c1.4-2.5 4-4.2 7-4.2 2.2 0 4.2.9 5.6 2.3l15.7-2.2c1.3-.2 2.6.7 2.7 2 .2 1.2-.6 2.4-2 2.7z\"},{\"d\":\"M19.1 36.3c.6-.7.7-1.6.3-2.5L13 18.7c-.3-.9-1.2-1.4-2.2-1.4s-1.8.5-2.2 1.4L2.2 33.9c-.3.7-.2 1.5.2 2.2.2.2 3.3 5 8.3 5 2.9 0 5.8-1.6 8.4-4.8zm-8.3-10.5l3.4 8.2H7.4l3.4-8.2zM43.4 13.9c-.4-.9-1.3-1.4-2.2-1.4-1 0-1.8.6-2.2 1.4l-6.4 15.2c-.3.7-.2 1.5.2 2.2.2.2 3.3 5 8.3 5 3 0 5.8-1.6 8.4-4.8.6-.7.7-1.6.3-2.5l-6.4-15.1zM41.2 21l3.4 8.2h-6.9l3.5-8.2zM26 42.8c-4.5 0-9 1.6-12.2 4.3-.3.3-.6.7-.6 1.2v.1c0 .9.7 1.6 1.6 1.6h22.4c.9 0 1.6-.7 1.6-1.6v-.1c0-.5-.2-.9-.6-1.2-3.2-2.7-7.7-4.3-12.2-4.3z\"}]}},\nnew_custom91:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M48.3 12.1c-2.4-.7-4.5-2.4-5.9-4.6-1-1.7-1.1-5.5-3.7-5.5H13.3c-2.6 0-2.6 3.8-3.7 5.5-1.7 2.6-3.8 3.3-6.4 4.8-2.6 1.5-.2 7.9.4 10.2 2.5 8.9 7.2 17.1 14.6 23 2.1 1.7 4.3 3.1 6.7 4.3 2.2 1.1 5.8-2 7.4-3.2 4.2-3 7.6-6.7 10.3-11 2.3-3.7 4.1-7.7 5.4-11.8.5-1.7 1-3.4 1.3-5.1.3-1.4 1-3.7.6-5.1-.2-.7-.9-1.3-1.6-1.5-3.7-1.1 1.1.3 0 0zm-3.5 5.6c-2.2 10.7-7.9 20.7-17.5 26.6L26 45l-1.3-.8c-11.5-7-15.9-18.3-17.5-26.6L7 16l1.4-.9c2.5-1.5 4.8-4.2 6.2-7l.6-1.4h21.6l.4 1c1.4 3 3.8 5.9 6.8 7.6l1 .6v.1l-.2 1.7z\"},{\"d\":\"M25.2 11.6c-1.8 0-6.3 0-7.2.8-1.5 1.4-2.4 3.4-4 4.7-1.7 1.4-.9 2.9-.3 4.8 1.1 3.4 2.6 6.6 4.7 9.6 1 1.5 2.2 3 3.6 4.2.4.4 4.1 4.1 4.1 1.8V13.2c-.1-.9-.1-1.6-.9-1.6z\"}]}},\nnew_custom92:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M45 31.1l-18.2-8.3c-.5-.2-1-.2-1.4 0L7 31.1c-1 .5-1.4 1.7-.7 2.6 1.9 2.7 3.1 6.2 3.6 7.8.2.6.7 1 1.3 1.2 6.3 1.5 11.5 5.1 13.7 6.8.6.5 1.5.5 2.2 0 2.2-1.7 7.4-5.3 13.7-6.8.6-.2 1.1-.6 1.3-1.2.5-1.7 1.7-5.2 3.6-7.8.6-.8.3-2.1-.7-2.6zm-23.8 4.5c-1.4 0-2.4-1.4-2.4-3.2 0-1.8 1-3.2 2.4-3.2s2.4 1.4 2.4 3.2c0 1.8-1 3.2-2.4 3.2zm9.6 0c-1.4 0-2.4-1.4-2.4-3.2 0-1.8 1-3.2 2.4-3.2s2.4 1.4 2.4 3.2c0 1.8-1 3.2-2.4 3.2z\"},{\"d\":\"M13.5 22.9l9.8-4.5c1.2-.6 2.5-.7 3.8-.5.6.1 1.1.3 1.7.6l9.7 4.5c.6.2 1.1-.2 1.1-.7v-3.6c0-.4-.2-.8-.5-1.1-.6-.7-1.9-1.9-4.3-1.9V11c0-.6-.3-1.1-.8-1.4-.9-.5-2.4-1.2-4.8-1.6V3.6c0-.9-.7-1.6-1.6-1.6h-3.2c-.9 0-1.6.7-1.6 1.6v4.3c-2.4.4-3.9 1.1-4.8 1.6-.5.2-.8.8-.8 1.4v4.7c-2.4 0-3.7 1.2-4.3 1.8-.3.3-.5.7-.5 1.1v3.6c0 .6.6 1 1.1.8z\"}]}},\nnew_custom93:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M20.1 26H44c.7 0 1.4-.5 1.5-1.2l4.4-14.9c.3-1-.5-2-1.5-2H11.5l-.6-2.2C10.5 4.7 9.5 4 8.5 4H4.6C3.3 4 2.1 4.9 2 6.2c-.1 1.3 1.1 2.5 2.4 2.5h2.3l7.6 25c.3 1 1.2 1.7 2.3 1.7h28.2c1.3 0 2.5-.9 2.6-2.2.1-1.3-1.1-2.5-2.4-2.5H20.2c-1.1 0-2-.7-2.3-1.6V29c-.5-1.5.7-3 2.2-3z\"},\"ellipse\":[{\"cx\":\"20.6\",\"cy\":\"44.1\",\"rx\":\"4\",\"ry\":\"3.9\"},{\"cx\":\"40.1\",\"cy\":\"44.1\",\"rx\":\"4\",\"ry\":\"3.9\"}]}},\nnew_custom94:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M30.8 16.4v-12c0-1.4-1-2.4-2.4-2.4h-3.2c-1.4 0-2.4 1-2.4 2.4s1 2.4 2.4 2.4h.8v9.6c0 5.3-4.3 9.6-9.6 9.6s-9.6-4.3-9.6-9.6V6.8h.8c1.4 0 2.4-1 2.4-2.4S9 2 7.6 2H4.4C3 2 2 3 2 4.4v12c0 7.9 6.5 14.4 14.4 14.4s14.4-6.5 14.4-14.4z\"},{\"d\":\"M50 26c0-4-3.2-7.2-7.2-7.2S35.6 22 35.6 26c0 3.1 2 5.8 4.8 6.8v1.8c0 5.8-4.8 10.6-10.6 10.6h-.2c-5 0-9.3-3.6-10.4-8.3-.2-.7-.8-1.3-1.6-1.3H16c-1 0-1.8 1-1.6 1.9C15.7 44.6 22 50 29.4 50h.2c8.6 0 15.5-7 15.5-15.4v-1.8c2.9-1 4.9-3.7 4.9-6.8zm-7.2 2.4c-1.4 0-2.4-1-2.4-2.4s1-2.4 2.4-2.4 2.4 1 2.4 2.4-1 2.4-2.4 2.4z\"}]}},\nnew_custom95:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M28.4 10.2V6.8h.8c1.3 0 2.4-1 2.4-2.4 0-1.3-1-2.4-2.4-2.4h-6.4c-1.3 0-2.4 1-2.4 2.4 0 1.3 1 2.4 2.4 2.4h.8v3.4C13.7 11.4 6 19.8 6 30c0 11 9 20 20 20s20-9 20-20c0-10.2-7.7-18.6-17.6-19.8zm-2.4 35c-8.4 0-15.2-6.8-15.2-15.2S17.6 14.8 26 14.8 41.2 21.6 41.2 30 34.4 45.2 26 45.2z\"},{\"d\":\"M31.3 21.8l-3.7 3.7c-.5-.2-1-.3-1.6-.3-2.6 0-4.8 2.2-4.8 4.8s2.2 4.8 4.8 4.8 4.8-2.2 4.8-4.8c0-.6-.1-1.1-.3-1.6l3.7-3.7c.8-.8.8-2.1 0-2.9-.8-.8-2.1-.8-2.9 0z\"}]}},\nnew_custom96:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M49.5 9l-4.2-3.1c-.6-.4-1.2-.6-1.9-.6H29.2V3.6c0-.9-.7-1.6-1.6-1.6h-3.2c-.9 0-1.6.7-1.6 1.6v1.6h-16c-.9 0-1.6.7-1.6 1.6v6.4c0 .9.7 1.6 1.6 1.6H43.4c.7 0 1.4-.2 1.9-.6l4.2-3.1c.7-.6.7-1.6 0-2.1zM45.2 22.8h-16v-2.4c0-.5-.3-.8-.8-.8h-4.8c-.5 0-.8.3-.8.8v2.4H8.6c-.7 0-1.4.2-1.9.6l-4.2 3.1c-.7.5-.7 1.5 0 2.1l4.2 3.1c.6.4 1.2.6 1.9.6h36.6c.9 0 1.6-.7 1.6-1.6v-6.4c0-.8-.7-1.5-1.6-1.5zM29.2 43.3V38c0-.5-.3-.8-.8-.8h-4.8c-.5 0-.8.3-.8.8v5.3c-3.2.9-5 2.8-5.5 5.2-.2.7.4 1.5 1.2 1.5h15.1c.8 0 1.4-.7 1.2-1.5-.6-2.4-2.4-4.3-5.6-5.2z\"}}},\nnew_custom97:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M34.2 29.3v-19C34.2 5.6 30.6 2 26 2h-.1c-4.6 0-8.2 3.7-8.2 8.3v19C15.3 31.6 14 34.7 14 38c0 6.6 5.4 12 12 12s12-5.4 12-12c0-3.4-1.3-6.4-3.8-8.7zM32.3 38H19.7c-.7 0-1.2-.7-1.1-1.4.3-1.8 1.3-3.4 2.7-4.5.5-.5.9-1.1.9-1.8v-20c0-2.2 1.6-3.8 3.7-3.8h.1c2.1 0 3.7 1.7 3.7 3.8v.7h-2.2c-1.3 0-2.2 1-2.2 2.2s1 2.2 2.2 2.2h2.2v3h-2.2c-1.3 0-2.2 1-2.2 2.2s1 2.2 2.2 2.2h2.2v3h-2.2c-1.3 0-2.2 1-2.2 2.2s1 2.2 2.2 2.2h2.2c.1.7.4 1.2.9 1.7 1.4 1.1 2.4 2.8 2.7 4.5.2.9-.3 1.6-1 1.6z\"}},\nnew_custom98:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M49.6 22.1l-5.9-5.9c-.3-.3-.7-.5-1-.5h-6.1c-.8 0-1.5.7-1.5 1.5v12.1c0 .5.5.9 1.1.7 1-.5 2.2-.7 3.4-.7 3.4 0 6.3 1.9 7.9 4.7.2.4.8.5 1.1.2.9-.8 1.5-2 1.5-3.4v-7.7c-.1-.3-.2-.7-.5-1z\"},{\"d\":\"M29 9H3.5C2.7 9 2 9.7 2 10.5v20.4c0 1.4.6 2.6 1.5 3.4.4.3.9.2 1.1-.2 1.5-2.8 4.5-4.7 7.9-4.7 3.8 0 6.9 2.3 8.3 5.6.1.3.4.5.7.5H26c2.5 0 4.5-2 4.5-4.5V10.5c0-.8-.7-1.5-1.5-1.5z\"}],\"circle\":[{\"cx\":\"39.5\",\"cy\":\"38.5\",\"r\":\"4.5\"},{\"cx\":\"12.5\",\"cy\":\"38.5\",\"r\":\"4.5\"}]}},\nnew_custom99:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M45.2 16.6H31.8c-.4-.9-1-1.7-1.7-2.4l5-6.4c.8-1 .6-2.5-.4-3.3-1-.8-2.6-.6-3.4.4L25.8 12c-.5 0-.9-.1-1.4-.1-.5 0-.9.1-1.3.1l-5.6-7.1c-.8-1-2.3-1.2-3.4-.4s-1.1 2.3-.3 3.3l5 6.4c-.7.7-1.3 1.5-1.7 2.4H6.8c-2.6 0-4.8 2.1-4.8 4.7v22C2 45.9 4.2 48 6.8 48h38.4c2.6 0 4.8-2.1 4.8-4.7v-22c0-2.6-2.2-4.7-4.8-4.7zm-6.4 25.1c0 .9-.7 1.6-1.6 1.6H8.4c-.9 0-1.6-.7-1.6-1.6V22.9c0-.9.7-1.6 1.6-1.6h28.8c.9 0 1.6.7 1.6 1.6v18.8zm5.6-7.8c-1.4 0-2.4-1-2.4-2.4s1-2.4 2.4-2.4 2.4 1 2.4 2.4-1 2.4-2.4 2.4zm0-7.9C43 26 42 25 42 23.7c0-1.3 1-2.4 2.4-2.4s2.4 1 2.4 2.4c0 1.3-1 2.3-2.4 2.3z\"}},\nnew_event:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M46.5 20h-41c-.8 0-1.5.7-1.5 1.5V46c0 2.2 1.8 4 4 4h36c2.2 0 4-1.8 4-4V21.5c0-.8-.7-1.5-1.5-1.5zM19 42c0 .6-.4 1-1 1h-4c-.6 0-1-.4-1-1v-4c0-.6.4-1 1-1h4c.6 0 1 .4 1 1v4zm0-10c0 .6-.4 1-1 1h-4c-.6 0-1-.4-1-1v-4c0-.6.4-1 1-1h4c.6 0 1 .4 1 1v4zm10 10c0 .6-.4 1-1 1h-4c-.6 0-1-.4-1-1v-4c0-.6.4-1 1-1h4c.6 0 1 .4 1 1v4zm0-10c0 .6-.4 1-1 1h-4c-.6 0-1-.4-1-1v-4c0-.6.4-1 1-1h4c.6 0 1 .4 1 1v4zm10 10c0 .6-.4 1-1 1h-4c-.6 0-1-.4-1-1v-4c0-.6.4-1 1-1h4c.6 0 1 .4 1 1v4zm0-10c0 .6-.4 1-1 1h-4c-.6 0-1-.4-1-1v-4c0-.6.4-1 1-1h4c.6 0 1 .4 1 1v4zM44 7h-5V5c0-1.6-1.3-3-3-3-1.6 0-3 1.3-3 3v2H19V5c0-1.6-1.3-3-3-3-1.6 0-3 1.3-3 3v2H8c-2.2 0-4 1.8-4 4v2.5c0 .8.7 1.5 1.5 1.5h41c.8 0 1.5-.7 1.5-1.5V11c0-2.2-1.8-4-4-4z\"}}},\nnew_group:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M15.8 28c-1.4-2.1-2.1-4.5-2.1-7.2 0-4.6 1.9-8.4 4.9-10.7-1-1.8-3-3.1-5.6-3.1-4.4 0-6.9 3.6-6.9 7.7 0 2.2.7 4.1 2.2 5.4.8.8 1.5 1.8 1.5 2.8 0 1-.4 2-2.9 3.1-3.6 1.6-6.9 3.8-7 7.1C0 35.3 1.4 37 3.5 37h3.3c.5 0 1-.3 1.3-.8 1.6-2.9 4.6-4.7 7.1-6 .9-.4 1.1-1.5.6-2.2zM45 26c-2.5-1.1-2.9-2-2.9-3.1s.7-2.1 1.5-2.8c1.5-1.4 2.2-3.2 2.2-5.4 0-4.1-2.4-7.7-6.9-7.7-2.6 0-4.6 1.3-5.7 3.1 3 2.3 4.9 6.1 4.9 10.7 0 2.7-.7 5.1-2.1 7.2-.5.8-.2 1.8.6 2.2 2.5 1.2 5.5 3.1 7.1 6 .3.5.8.8 1.3.8h3.3c2.1 0 3.5-1.7 3.5-3.9.1-3.3-3.2-5.5-6.8-7.1z\"},{\"d\":\"M32.6 33.3c-2.7-1.2-3.2-2.3-3.2-3.4 0-1.2.8-2.3 1.7-3.1 1.6-1.5 2.5-3.6 2.5-6 0-4.5-2.7-8.4-7.6-8.4-4.9 0-7.6 3.9-7.6 8.4 0 2.4.9 4.5 2.5 6 .9.9 1.7 2 1.7 3.1 0 1.2-.4 2.2-3.2 3.4-4 1.7-7.8 3.6-7.9 7.2 0 2.4 1.8 4.4 4.1 4.4h20.8c2.3 0 4.1-2 4.1-4.4-.1-3.6-3.9-5.4-7.9-7.2z\"}]}},\nnew_lead:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"circle\":{\"cx\":\"26\",\"cy\":\"9.2\",\"r\":\"7.2\"},\"path\":{\"d\":\"M48.4 21.2H3.6c-1.6 0-2.2 2-.9 2.9l11.7 7.5c.6.4.9 1.1.6 1.8L10.7 48c-.5 1.6 1.6 2.7 2.8 1.5l11.4-12c.6-.7 1.8-.7 2.4 0l11.4 12c1.1 1.2 3.2.1 2.8-1.5L37 33.3c-.2-.6.1-1.4.6-1.8L49.3 24c1.3-.8.7-2.8-.9-2.8z\"}},\nnew_note:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M41.4 39.7l-.9.9c-1 1-2.3 1.5-3.7 1.5h-2.6c-2.4 0-5-1.9-5-5.2v-2.5c0-2 .9-3.2 1.4-3.9l10.8-11c.3-.3.6-1 .6-1.4V9.8C42 7.2 39.8 5 37.2 5H11.6C9 5 6.8 7.4 6.8 9.8H5.2C3.4 9.8 2 11.3 2 13.1s1.4 3.2 3.2 3.2h1.6v6.5H5.2C3.4 22.8 2 24.2 2 26s1.4 3.2 3.2 3.2h1.6v6.5H5.2c-1.8 0-3.2 1.5-3.2 3.2 0 1.8 1.4 3.2 3.2 3.2h1.6c0 3.2 2.2 4.8 4.8 4.8H37.2c2.6 0 4.8-2.2 4.8-4.8V40c0-.5-.2-.6-.6-.3zm-8.2-22.6c0 .9-.7 1.6-1.6 1.6h-16c-.9 0-1.6-.7-1.6-1.6v-1.6c0-.9.7-1.6 1.6-1.6h16c.9 0 1.6.7 1.6 1.6v1.6zM26 36.5c0 .9-.7 1.6-1.6 1.6h-8.8c-.9 0-1.6-.7-1.6-1.6v-1.6c0-.9.7-1.6 1.6-1.6h8.8c.9 0 1.6.7 1.6 1.6v1.6zm2.4-9.7c0 .9-.7 1.6-1.6 1.6H15.6c-.9 0-1.6-.7-1.6-1.6v-1.6c0-.9.7-1.6 1.6-1.6h11.2c.9 0 1.6.7 1.6 1.6v1.6z\"},{\"d\":\"M49.5 22.4l-1-1c-.6-.6-1.6-.6-2.2 0L34.1 34c-.1 0-.1.2-.1.2v2.7c0 .2 0 .4.2.4h2.6c.1 0 .2-.1.3-.1l12.3-12.4c.8-.7.8-1.7.1-2.4z\"}]}},\nnew_notebook:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M44 2H14c-2.2 0-4 1.8-4 4v3H7c-1.7 0-3 1.3-3 3s1.3 3 3 3h3v8H7c-1.7 0-3 1.3-3 3s1.3 3 3 3h3v8H7c-1.7 0-3 1.3-3 3s1.3 3 3 3h3v3c0 2.2 1.8 4 4 4h30c2.2 0 4-1.8 4-4V6c0-2.2-1.8-4-4-4zm-7 34c0 .6-.4 1-1 1H22c-.6 0-1-.4-1-1v-2c0-.6.4-1 1-1h14c.6 0 1 .4 1 1v2zm2-8c0 .6-.4 1-1 1H20c-.6 0-1-.4-1-1v-2c0-.6.4-1 1-1h18c.6 0 1 .4 1 1v2zm2-10c0 .6-.4 1-1 1H18c-.6 0-1-.4-1-1v-6c0-.6.4-1 1-1h22c.6 0 1 .4 1 1v6z\"}},\nnew_opportunity:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M41.8 41H10.2c-.8 0-1.4.7-1.4 1.4v.1c0 2.5 2 4.5 4.5 4.5h25.5c2.5 0 4.5-2 4.5-4.5v-.1c-.1-.7-.7-1.4-1.5-1.4zM45.5 10.2c-2.5 0-4.5 2-4.5 4.5 0 1.4.6 2.6 1.6 3.4-1.3 2.9-4.2 4.9-7.6 4.8-4-.2-7.2-3.4-7.4-7.4 0-.7 0-1.3.1-1.9 1.7-.7 2.9-2.2 2.9-4.2C30.5 7 28.5 5 26 5s-4.5 2-4.5 4.5c0 1.9 1.2 3.5 2.8 4.2.2.6.2 1.2.2 1.9-.2 4-3.4 7.2-7.4 7.4-3.4.2-6.4-1.9-7.7-4.8 1-.8 1.6-2.1 1.6-3.4 0-2.5-2-4.5-4.5-4.5S2 12.3 2 14.8s2 4.5 4.5 4.5l2.1 16c.1.7.7 1.2 1.4 1.2h32c.7 0 1.3-.5 1.4-1.2l2.1-16c2.5 0 4.5-2 4.5-4.5s-2-4.6-4.5-4.6z\"}},\nnew_person_account:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M41.7 33.2c-2.9-1.2-3.4-2.3-3.4-3.5 0-1.2.8-2.3 1.8-3.2 1.7-1.5 2.6-3.7 2.6-6.2 0-4.6-3-8.7-8.2-8.7s-8.2 4-8.2 8.7c0 2.6 1 4.6 2.6 6.2 1 .9 1.8 2 1.8 3.2 0 1.2-.5 2.3-3.4 3.5-4.3 1.8-8.3 4-8.4 7.8 0 2.5 1.9 5 4.3 5h22.4c2.5 0 4.3-2.5 4.3-5 .2-3.7-3.9-6-8.2-7.8z\"},{\"d\":\"M23.4 27.1c-.3-.4-1.9-2.4-1.8-7.8.1-5.3 2.4-6.6 2.4-6.6V7.5c0-.9-.9-1.5-1.5-1.5h-19C2.8 6 2 6.7 2 7.6v34.9h10.8C13.1 33.6 23.3 30 23.3 30c1.5-.8.4-2.5.1-2.9zm-12.8 11c0 .9-.7 1.6-1.6 1.6H7.4c-.9 0-1.6-.7-1.6-1.6v-1.6c0-.9.7-1.6 1.6-1.6H9c.9 0 1.6.7 1.6 1.6v1.6zm0-7.9c0 .9-.7 1.6-1.6 1.6H7.4c-.9 0-1.6-.7-1.6-1.6v-1.6c0-.9.7-1.6 1.6-1.6H9c.9 0 1.6.7 1.6 1.6v1.6zm0-8c0 .9-.7 1.6-1.6 1.6H7.4c-.9 0-1.6-.7-1.6-1.6v-1.6c0-.9.7-1.6 1.6-1.6H9c.9 0 1.6.7 1.6 1.6v1.6zm0-7.9c0 .9-.7 1.6-1.6 1.6H7.4c-.9 0-1.6-.7-1.6-1.6v-1.6c0-.9.7-1.6 1.6-1.6H9c.9 0 1.6.7 1.6 1.6v1.6zm9 15.9c0 .9-.7 1.6-1.6 1.6h-1.6c-.9 0-1.6-.7-1.6-1.6v-1.6c0-.9.7-1.6 1.6-1.6H18c.9 0 1.6.7 1.6 1.6v1.6zm0-8c0 .9-.7 1.6-1.6 1.6h-1.6c-.9 0-1.6-.7-1.6-1.6v-1.6c0-.9.7-1.6 1.6-1.6H18c.9 0 1.6.7 1.6 1.6v1.6zm0-7.9c0 .9-.7 1.6-1.6 1.6h-1.6c-.9 0-1.6-.7-1.6-1.6v-1.6c0-.9.7-1.6 1.6-1.6H18c.9 0 1.6.7 1.6 1.6v1.6z\"}]},\nnew_task:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M24 7l-1.7-1.7c-.5-.5-1.2-.5-1.7 0L10 15.8l-4.3-4.2c-.5-.5-1.2-.5-1.7 0l-1.7 1.7c-.5.5-.5 1.2 0 1.7l5.9 5.9c.5.5 1.1.7 1.7.7.6 0 1.2-.2 1.7-.7L24 8.7c.4-.4.4-1.2 0-1.7zM48.4 18.4H27.5c-.9 0-1.6-.7-1.6-1.6v-3.2c0-.9.7-1.6 1.6-1.6h20.9c.9 0 1.6.7 1.6 1.6v3.2c0 .9-.7 1.6-1.6 1.6zM48.4 32.7H22.7c-.9 0-1.6-.7-1.6-1.6v-3.2c0-.9.7-1.6 1.6-1.6h25.7c.9 0 1.6.7 1.6 1.6v3.2c0 .9-.7 1.6-1.6 1.6zM13 32.7H9.8c-.9 0-1.6-.7-1.6-1.6v-3.2c0-.9.7-1.6 1.6-1.6H13c.9 0 1.6.7 1.6 1.6v3.2c.1.9-.7 1.6-1.6 1.6zM13 47H9.8c-.9 0-1.6-.7-1.6-1.6v-3.2c0-.9.7-1.6 1.6-1.6H13c.9 0 1.6.7 1.6 1.6v3.2c.1.9-.7 1.6-1.6 1.6zM48.4 47H22.7c-.9 0-1.6-.7-1.6-1.6v-3.2c0-.9.7-1.6 1.6-1.6h25.7c.9 0 1.6.7 1.6 1.6v3.2c0 .9-.7 1.6-1.6 1.6z\"}},\npassword_unlock:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M10 18.1v0zM42 23H16v-4.7c0-5.3 4-10 9.3-10.3 4.9-.3 9 2.8 10.3 7.2.1.4.5.8 1 .8h4.1c.6 0 1.1-.6 1-1.2C40.1 7.2 33.3 1.6 25.2 2c-8.5.4-15 7.7-15.2 16.1V23c-2.2 0-4 1.8-4 4v19c0 2.2 1.8 4 4 4h32c2.2 0 4-1.8 4-4V27c0-2.2-1.8-4-4-4zM30.6 42.7c.2.6-.3 1.3-1 1.3h-7.3c-.7 0-1.2-.6-1-1.3l1.8-6c-1.5-1-2.4-2.8-2-4.8.4-1.9 1.9-3.4 3.9-3.8 3.2-.6 6 1.7 6 4.7 0 1.6-.8 3.1-2.1 3.9l1.7 6z\"}}},\npreview:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M51.8 25.1C47.1 15.6 37.3 9 26 9S4.9 15.6.2 25.1c-.3.6-.3 1.3 0 1.8C4.9 36.4 14.7 43 26 43s21.1-6.6 25.8-16.1c.3-.6.3-1.2 0-1.8zM26 37c-6.1 0-11-4.9-11-11s4.9-11 11-11 11 4.9 11 11-4.9 11-11 11z\"},{\"d\":\"M26 19c-3.9 0-7 3.1-7 7s3.1 7 7 7 7-3.1 7-7-3.1-7-7-7z\"}]}},\npriority:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M9 3.5C9 2.7 8.3 2 7.5 2h-3C3.7 2 3 2.7 3 3.5v45c0 .8.7 1.5 1.5 1.5h3c.8 0 1.5-.7 1.5-1.5v-45zM47.5 7.7c-16 8.4-14.2-8.8-33.5-2.1-.6.2-1 .8-1 1.4v23.3c0 .7.7 1.2 1.3.9 19.2-6.4 17.2 11.2 33.9 1.8.5-.3.8-.8.8-1.3V8.5c0-.7-.8-1.2-1.5-.8z\"}}},\nquestion_post_action:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M28.4 38h-5c-.8 0-1.4-.6-1.4-1.4v-1.5c0-4.2 2.7-8 6.7-9.4 1.2-.4 2.3-1.1 3.2-2.1 5-6 .4-13.2-5.6-13.4-2.2-.1-4.3.7-5.9 2.2-1.3 1.2-2.1 2.7-2.3 4.4-.1.6-.7 1.1-1.5 1.1h-5c-.9 0-1.6-.7-1.5-1.6.4-3.8 2.1-7.2 4.8-9.9 3.2-3 7.3-4.6 11.7-4.5C34.9 2.2 41.7 9 42 17.3c.3 7-4 13.3-10.5 15.7-.9.4-1.5 1.1-1.5 2v1.5c0 .9-.8 1.5-1.6 1.5zM30 48.5c0 .8-.7 1.5-1.5 1.5h-5c-.8 0-1.5-.7-1.5-1.5v-5c0-.8.7-1.5 1.5-1.5h5c.8 0 1.5.7 1.5 1.5v5z\"}},\nquote:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M35 23H17c-.6 0-1 .4-1 1v3c0 .6.4 1 1 1h18c.6 0 1-.4 1-1v-3c0-.6-.4-1-1-1zM33 32H19c-.6 0-1 .4-1 1v3c0 .6.4 1 1 1h14c.6 0 1-.4 1-1v-3c0-.6-.4-1-1-1z\"},{\"d\":\"M45.8 12.3l-9.6-9.2c-.8-.7-1.8-1.1-2.8-1.1H18.6c-1 0-2 .4-2.8 1.1l-9.6 9.2c-.8.8-1.2 1.8-1.2 2.9V46c0 2.2 1.8 4 4 4h34c2.2 0 4-1.8 4-4V15.2c0-1.1-.4-2.1-1.2-2.9zM26 5c2.2 0 4 1.8 4 4s-1.8 4-4 4-4-1.8-4-4 1.8-4 4-4zm15 37.5c0 .8-.7 1.5-1.5 1.5h-27c-.8 0-1.5-.7-1.5-1.5v-25c0-.8.7-1.5 1.5-1.5h27c.8 0 1.5.7 1.5 1.5v25z\"}]}},\nrecall:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M18.2 22.6c-.5-.6-.2-1.6.5-1.8h9c6.7 0 12.1 5.7 11.5 12.6-.6 5.9-5.8 10.3-11.8 10.3H24c-.8 0-1.6.7-1.6 1.6v3.1c0 .8.7 1.6 1.6 1.6h3.6c9.7 0 17.5-7.8 17.7-17.4.2-9.9-8.2-18-18.1-18.1h-8.3s-2.7.1-1-1.8l5.9-5.8c.6-.6.6-1.6 0-2.2l-2.2-2.2c-.6-.6-1.6-.6-2.2 0l-14 14.1c-.6.6-.6 1.6 0 2.2l14.1 14.1c.6.6 1.6.6 2.2 0l2.2-2.2c.6-.6.6-1.6 0-2.2l-5.7-5.9z\"}},\nrecord:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M17.4 11.6h17.3c.9 0 1.6-.7 1.6-1.6V6.8c0-2.6-2.1-4.8-4.7-4.8h-11c-2.6 0-4.7 2.2-4.7 4.8V10c-.1.9.6 1.6 1.5 1.6z\"},{\"d\":\"M43.3 6h-1.6c-.5 0-.8.3-.8.8V10c0 3.5-2.8 6.4-6.3 6.4H17.4c-3.5 0-6.3-2.9-6.3-6.4V6.8c0-.5-.3-.8-.8-.8H8.7C6.1 6 4 8.2 4 10.8v34.4C4 47.8 6.1 50 8.7 50h34.6c2.6 0 4.7-2.2 4.7-4.8V10.8C48 8.2 45.9 6 43.3 6zM17.4 40.4c0 .9-.7 1.6-1.6 1.6h-1.6c-.9 0-1.6-.7-1.6-1.6v-1.6c0-.9.7-1.6 1.6-1.6h1.6c.9 0 1.6.7 1.6 1.6v1.6zm0-8c0 .9-.7 1.6-1.6 1.6h-1.6c-.9 0-1.6-.7-1.6-1.6v-1.6c0-.9.7-1.6 1.6-1.6h1.6c.9 0 1.6.7 1.6 1.6v1.6zm0-8c0 .9-.7 1.6-1.6 1.6h-1.6c-.9 0-1.6-.7-1.6-1.6v-1.6c0-.9.7-1.6 1.6-1.6h1.6c.9 0 1.6.7 1.6 1.6v1.6zm22 16c0 .9-.7 1.6-1.6 1.6H22.1c-.9 0-1.6-.7-1.6-1.6v-1.6c0-.9.7-1.6 1.6-1.6h15.7c.9 0 1.6.7 1.6 1.6v1.6zm0-8c0 .9-.7 1.6-1.6 1.6H22.1c-.9 0-1.6-.7-1.6-1.6v-1.6c0-.9.7-1.6 1.6-1.6h15.7c.9 0 1.6.7 1.6 1.6v1.6zm0-8c0 .9-.7 1.6-1.6 1.6H22.1c-.9 0-1.6-.7-1.6-1.6v-1.6c0-.9.7-1.6 1.6-1.6h15.7c.9 0 1.6.7 1.6 1.6v1.6z\"}]},\nrefresh:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M46.5 4h-3c-.8 0-1.5.7-1.5 1.5v7c0 .9-.5 1.3-1.2.7-.3-.4-.6-.7-1-1-5-5-12-7.1-19.2-5.7-2.5.5-4.9 1.5-7 2.9-6.1 4-9.6 10.5-9.7 17.5-.1 5.4 2 10.8 5.8 14.7 4 4.2 9.4 6.5 15.2 6.5 5.1 0 9.9-1.8 13.7-5 .7-.6.7-1.6.1-2.2l-2.1-2.1c-.5-.5-1.4-.6-2-.1-3.6 3-8.5 4.2-13.4 3-1.3-.3-2.6-.9-3.8-1.6C11.7 36.6 9 30 10.6 23.4c.3-1.3.9-2.6 1.6-3.8C15 14.7 19.9 12 25.1 12c4 0 7.8 1.6 10.6 4.4.5.4.9.9 1.2 1.4.3.8-.4 1.2-1.3 1.2h-7c-.8 0-1.5.7-1.5 1.5v3.1c0 .8.6 1.4 1.4 1.4h18.3c.7 0 1.3-.6 1.3-1.3V5.5C48 4.7 47.3 4 46.5 4z\"}},\nreject:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M31.6 25.8l13.1-13.1c.6-.6.6-1.5 0-2.1l-2.1-2.1c-.6-.6-1.5-.6-2.1 0L27.4 21.6c-.4.4-1 .4-1.4 0L12.9 8.4c-.6-.6-1.5-.6-2.1 0l-2.1 2.1c-.6.6-.6 1.5 0 2.1l13.1 13.1c.4.4.4 1 0 1.4L8.6 40.3c-.6.6-.6 1.5 0 2.1l2.1 2.1c.6.6 1.5.6 2.1 0L26 31.4c.4-.4 1-.4 1.4 0l13.1 13.1c.6.6 1.5.6 2.1 0l2.1-2.1c.6-.6.6-1.5 0-2.1L31.6 27.2c-.3-.4-.3-1 0-1.4z\"}},\nremove:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M31.6 25.8l13.1-13.1c.6-.6.6-1.5 0-2.1l-2.1-2.1c-.6-.6-1.5-.6-2.1 0L27.4 21.6c-.4.4-1 .4-1.4 0L12.9 8.4c-.6-.6-1.5-.6-2.1 0l-2.1 2.1c-.6.6-.6 1.5 0 2.1l13.1 13.1c.4.4.4 1 0 1.4L8.6 40.3c-.6.6-.6 1.5 0 2.1l2.1 2.1c.6.6 1.5.6 2.1 0L26 31.4c.4-.4 1-.4 1.4 0l13.1 13.1c.6.6 1.5.6 2.1 0l2.1-2.1c.6-.6.6-1.5 0-2.1L31.6 27.2c-.3-.4-.3-1 0-1.4z\"}},\nremove_relationship:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M36.001 20c0-2.2-1.799-4-4-4H6c-2.199 0-4 1.8-4 4v26c0 2.2 1.801 4 4 4h26.001c2.201 0 4-1.8 4-4V20zM11 35c-.5 0-1-.5-1-1v-2c0-.5.5-1 1-1h16.001c.5 0 1 .5 1 1v2c0 .5-.5 1-1 1H11zm32.001 7h-3v-6h3c.6 0 1-.4 1-1V9c0-.6-.4-1-1-1H17c-.6 0-1 .4-1 1v3h-6V9c0-3.9 3.102-7 7-7h26.001c3.9 0 7 3.1 7 7v26c0 3.9-3.1 7-7 7z\"}},\nreset_password:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M46.5 4h-3c-.8 0-1.5.7-1.5 1.5v7c0 .9-.5 1.3-1.2.7-.3-.4-.6-.7-1-1-5-5-12-7.1-19.2-5.7-2.5.5-4.9 1.5-7 2.9-6.1 4-9.6 10.5-9.7 17.5-.1 5.4 2 10.8 5.8 14.7 4 4.2 9.4 6.5 15.2 6.5 5.1 0 9.9-1.8 13.7-5 .7-.6.7-1.6.1-2.2l-2.1-2.1c-.5-.5-1.4-.6-2-.1-3.6 3-8.5 4.2-13.4 3-1.3-.3-2.6-.9-3.8-1.6C11.7 36.6 9 30 10.6 23.4c.3-1.3.9-2.6 1.6-3.8C15 14.7 19.9 12 25.1 12c4 0 7.8 1.6 10.6 4.4.5.4.9.9 1.2 1.4.3.8-.4 1.2-1.3 1.2h-7c-.8 0-1.5.7-1.5 1.5v3.1c0 .8.6 1.4 1.4 1.4h18.3c.7 0 1.3-.6 1.3-1.3V5.5C48 4.7 47.3 4 46.5 4z\"}},\nscript:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M44 6.8c-8.8 0-15.6 6.9-15.6 15.7v21.1c0 .8.7 1.5 1.5 1.5h16.7c.8 0 1.5-.7 1.5-1.5V27c0-.8-.7-1.5-1.5-1.5H34.2v-2.9c0-4.9 4.8-9.8 9.7-9.8h2.6c.8 0 1.5-.7 1.5-1.5v-3c0-.8-.7-1.5-1.5-1.5H44zm-24.4 0C10.8 6.8 4 13.7 4 22.6v21.1c0 .8.7 1.5 1.5 1.5h16.7c.8 0 1.5-.7 1.5-1.5V27c0-.8-.7-1.5-1.5-1.5H9.9v-2.9c0-4.9 4.8-9.8 9.7-9.8h2.6c.8 0 1.5-.7 1.5-1.5v-3c0-.8-.7-1.5-1.5-1.5h-2.6z\"}},\nshare:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M48.5 30h-3c-.8 0-1.5.7-1.5 1.5v11c0 .8-.7 1.5-1.5 1.5h-33c-.8 0-1.5-.7-1.5-1.5v-21c0-.8.7-1.5 1.5-1.5h4c.8 0 1.5-.7 1.5-1.5v-3c0-.8-.7-1.5-1.5-1.5H6c-2.2 0-4 1.8-4 4v28c0 2.2 1.8 4 4 4h40c2.2 0 4-1.8 4-4V31.5c0-.8-.7-1.5-1.5-1.5z\"},{\"d\":\"M34 14c-10 0-19.1 8.9-19.9 19.4-.1.8.6 1.6 1.5 1.6h3c.8 0 1.4-.6 1.5-1.3C20.8 26.2 27.2 20 35 20h1.6c.9 0 1.3 1.1.7 1.7l-5.5 5.6c-.6.6-.6 1.5 0 2.1l2.1 2.1c.6.6 1.5.6 2.1 0L49.6 18c.6-.6.6-1.5 0-2.1L36.1 2.4c-.6-.6-1.5-.6-2.1 0l-2.1 2.1c-.6.6-.7 1.5-.1 2.1l5.6 5.6c.6.6.2 1.7-.7 1.7L34 14z\"}]}},\nshare_file:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M41 16h7.8c.4 0 .7-.5.4-.9l-8.3-8.3c-.4-.3-.9 0-.9.4V15c0 .6.4 1 1 1z\"},{\"d\":\"M49 20H38c-1.1 0-2-.9-2-2V7c0-.6-.4-1-1-1H21.5c-.8 0-1.5.7-1.5 1.5v4c0 .4.2.8.4 1.1l5.6 5.6c.8.8 1.4 1.9 1.6 3.1.2 1.6-.3 3.1-1.4 4.3L24.6 27c-.5.5-1 .8-1.6 1.1.7.3 1.5.5 2.3.6 2.6.2 4.7 2.4 4.7 5.1V36c0 1.4-.7 2.8-1.7 3.7-1 1-2.5 1.4-3.9 1.3-1.1-.1-2.1-.3-3.2-.5-.6-.2-1.2.3-1.2 1v3.1c0 .8.7 1.5 1.5 1.5h27c.8 0 1.5-.7 1.5-1.5V21c0-.6-.4-1-1-1z\"},{\"d\":\"M26 35.9v-2.2c0-.6-.5-1-1.1-1.1-5.4-.5-9.9-5.1-9.9-10.8v-1.2c0-.6.8-1 1.2-.5l4 4c.4.4 1.1.4 1.5 0l1.5-1.5c.4-.4.4-1.1 0-1.5l-9.7-9.7c-.4-.4-1.1-.4-1.5 0l-9.7 9.7c-.4.4-.4 1.1 0 1.5l1.5 1.5c.4.4 1.1.5 1.5.1l4.2-4c.5-.5 1.4-.1 1.4.5v1.9c0 7.2 6.3 13.8 13.9 14.4.7 0 1.2-.5 1.2-1.1z\"}]}},\nshare_link:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M27.2 41.7l-2.1-.3c-.7-.1-1.4-.3-2.1-.6-.4-.1-.9 0-1.2.3l-.5.5c-2.9 2.9-7.6 3.2-10.6.6-3.4-2.9-3.5-8.1-.4-11.2l7.6-7.6c1-1 2.2-1.6 3.4-2 1.6-.4 3.3-.3 4.8.3.9.4 1.8.9 2.6 1.7.4.4.7.8 1 1.3.4.7 1.3.8 1.8.2l2.8-2.8c.4-.4.4-1 .1-1.5-.4-.6-.9-1.1-1.4-1.6-.7-.7-1.5-1.4-2.4-1.9-1.4-.9-3-1.5-4.7-1.8-3.1-.6-6.5-.1-9.3 1.4-1.1.6-2.2 1.4-3.1 2.3l-7.3 7.3C.9 31.6.5 40.2 5.6 45.6c5.3 5.8 14.3 5.9 19.8.4l2.5-2.5c.7-.5.2-1.7-.7-1.8z\"},{\"d\":\"M45.6 5.8c-5.5-5.1-14.1-4.7-19.3.6L24 8.6c-.7.7-.2 1.9.7 2 1.4.1 2.8.4 4.2.8.4.1.9 0 1.2-.3l.5-.5c2.9-2.9 7.6-3.2 10.6-.6 3.4 2.9 3.5 8.1.4 11.2L34 28.8c-1 1-2.2 1.6-3.4 2-1.6.4-3.3.3-4.8-.3-.9-.4-1.8-.9-2.6-1.7-.4-.4-.7-.8-1-1.3-.4-.7-1.3-.8-1.8-.2l-2.8 2.8c-.4.4-.4 1-.1 1.5.4.6.9 1.1 1.4 1.6.7.7 1.6 1.4 2.4 1.9 1.4.9 3 1.5 4.6 1.8 3.1.6 6.5.1 9.3-1.4 1.1-.6 2.2-1.4 3.1-2.3l7.6-7.6c5.6-5.5 5.4-14.5-.3-19.8z\"}]}},\nshare_poll:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M46.8 2H5.2C3.4 2 2 3.4 2 5.2v6.4c0 1.8 1.4 3.2 3.2 3.2h41.6c1.8 0 3.2-1.4 3.2-3.2V5.2C50 3.4 48.6 2 46.8 2zm-20 9.6V5.2h20v6.4h-20zM46.8 19.6H5.2C3.4 19.6 2 21 2 22.8v6.4c0 1.8 1.4 3.2 3.2 3.2h41.6c1.8 0 3.2-1.4 3.2-3.2v-6.4c0-1.8-1.4-3.2-3.2-3.2zm-27.2 9.6v-6.4h27.2v6.4H19.6zM46.8 37.2H5.2c-1.8 0-3.2 1.4-3.2 3.2v6.4C2 48.6 3.4 50 5.2 50h41.6c1.8 0 3.2-1.4 3.2-3.2v-6.4c0-1.8-1.4-3.2-3.2-3.2zM34 46.8v-6.4h12.8v6.4H34z\"}},\nshare_post:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M26 4C12.7 4 2 13.8 2 26c0 3.9 1.1 7.5 3 10.8.2.4.3.9.2 1.3L3 45c-.4 1.3.8 2.4 2.1 2l7-2.4c.5-.2 1-.1 1.4.2 3.7 2.1 8 3.3 12.6 3.3 13.3 0 24-9.8 24-22C49.8 13.8 39.1 4 26 4z\"}},\nshare_thanks:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M45.2 14h-7c2-3.1 1.8-7.3-.6-9.8C36.2 2.8 34.4 2 32.5 2c-2.1 0-4.2 1-5.7 2.6-.3.3-.6.6-.8 1-.2-.4-.5-.7-.8-1A7.62 7.62 0 0019.5 2c-1.9 0-3.7.8-5 2.2-2.5 2.6-2.6 6.7-.6 9.8h-7C4.2 14 2 16.2 2 18.8V22c0 .9.7 1.6 1.6 1.6h44.8c.9 0 1.6-.7 1.6-1.6v-3.2c0-2.6-2.2-4.8-4.8-4.8zm-21.6 0c-1.7 0-4.1-.6-5.4-2.1-1.2-1.3-1.4-3.4-.2-4.4.5-.5 1-.6 1.5-.6.8 0 1.6.4 2.2 1 1.4 1.5 1.9 4.1 1.9 5.7v.4zm10.2-2.1C32.4 13.3 30 14 28.4 14v-.5c0-1.6.6-4.2 1.9-5.7.6-.6 1.4-1 2.2-1 .4 0 1 .1 1.6.6 1 1.2.9 3.2-.3 4.5zM45.2 28.4H28.4V50h13.8c2.6 0 4.6-2.1 4.6-4.6V30c0-.9-.7-1.6-1.6-1.6zM5.2 30v15.2c0 2.6 2.2 4.8 4.8 4.8h13.6V28.4H6.8c-.9 0-1.6.7-1.6 1.6z\"}},\nsort:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M27.5 16c.6-.6.6-1.5 0-2.1L16.1 2.4c-.6-.6-1.5-.6-2.1 0L2.5 13.9c-.6.6-.6 1.5 0 2.1l2.1 2.1c.6.6 1.5.6 2.1 0l3.6-3.6c.6-.6 1.7-.2 1.7.7v21.2c0 .8.7 1.5 1.5 1.5h3c.8 0 1.5-.8 1.5-1.5V15.2c0-.9 1.1-1.3 1.7-.7l3.6 3.6c.6.6 1.5.6 2.1 0l2.1-2.1zM49.5 36l-2.1-2c-.6-.6-1.5-.6-2.1 0l-3.6 3.6c-.6.6-1.7.2-1.7-.7V15.5c0-.8-.7-1.5-1.5-1.5h-3c-.8 0-1.5.8-1.5 1.5v21.2c0 .9-1.1 1.3-1.7.7l-3.6-3.6c-.6-.6-1.5-.6-2.1 0L24.5 36c-.6.6-.6 1.5 0 2.1L36 49.6c.6.6 1.5.6 2.1 0l11.5-11.5c.5-.6.5-1.6-.1-2.1z\"}}},\nsubmit_for_approval:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M45.2 29.2h-8.8c-2.6 0-4.8-2.2-4.8-4.8.4-7.1 3.7-7.5 4-12.1.3-4.8-2.7-9.1-7.4-10.1C22 .9 16.4 5.6 16.4 11.6c0 5.3 3.6 5.3 4 12.8 0 2.6-2.2 4.8-4.8 4.8H6.8C4.2 29.2 2 31.3 2 34v3.2c0 .9.7 1.6 1.6 1.6h44.8c.9 0 1.6-.7 1.6-1.6V34c0-2.7-2.2-4.8-4.8-4.8zM45.3 43.6H6.7c-.9 0-1.5.7-1.5 1.5v.1c0 2.6 2.2 4.8 4.8 4.8h32.1c2.6 0 4.7-2.2 4.7-4.8v-.1c0-.8-.7-1.5-1.5-1.5z\"}},\nupdate:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M26 2C12.7 2 2 12.7 2 26s10.7 24 24 24 24-10.7 24-24S39.3 2 26 2zm9 15.5c0 .8-.7 1.5-1.5 1.5H24c-.6 0-1 .4-1 1v2c0 .6.4 1 1 1h4c3.9 0 7 3.1 7 7v2c0 3.9-3.1 7-7 7h1v2c0 1.1-.9 2-2 2s-2-.9-2-2v-2h-6.5c-.8 0-1.5-.7-1.5-1.5v-3c0-.8.7-1.5 1.5-1.5H28c.6 0 1-.4 1-1v-2c0-.6-.4-1-1-1h-4c-3.9 0-7-3.1-7-7v-2c0-3.9 3.1-7 7-7h1v-2c0-1.1.9-2 2-2s2 .9 2 2v2h4.5c.8 0 1.5.7 1.5 1.5v3z\"}},\nupdate_status:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M29.8 30.6l1.6 1.6c.4.4 1 .4 1.4 0l4.6-4.7c.4-.4.6-.9.6-1.4V8c0-1.7-1.3-3-3-3H5C3.3 5 2 6.3 2 8v22c0 1.7 1.3 3 3 3h13.7c.5 0 1-.2 1.4-.6l1.7-1.7c.8-.8 1.8-1.4 2.9-1.6 1.8-.4 3.7.2 5.1 1.5zM10 14c0-.6.4-1 1-1h18c.6 0 1 .4 1 1v2c0 .6-.4 1-1 1H11c-.6 0-1-.4-1-1v-2zm1 11c-.6 0-1-.4-1-1v-2c0-.6.4-1 1-1h14c.6 0 1 .4 1 1v2c0 .6-.4 1-1 1H11z\"},{\"d\":\"M49.5 27.7l-2.2-2.2c-.6-.6-1.6-.6-2.2 0L32.8 37.9c-.4.4-1.1.4-1.5 0l-4.4-4.5c-.6-.6-1.6-.6-2.2 0l-2.2 2.2c-.6.6-.6 1.6 0 2.2l8.5 8.6c.6.6 1.6.6 2.2 0L49.5 30c.7-.7.7-1.7 0-2.3z\"}]}},\nupload:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M48.5 31h-3c-.8 0-1.5.8-1.5 1.5v10c0 .8-.7 1.5-1.5 1.5h-33c-.8 0-1.5-.7-1.5-1.5v-10c0-.7-.7-1.5-1.5-1.5h-3c-.8 0-1.5.8-1.5 1.5V46c0 2.2 1.8 4 4 4h40c2.2 0 4-1.8 4-4V32.5c0-.7-.7-1.5-1.5-1.5z\"},{\"d\":\"M27 2.4c-.6-.6-1.5-.6-2.1 0L11.4 15.9c-.6.6-.6 1.5 0 2.1l2.1 2.1c.6.6 1.5.6 2.1 0l5.6-5.6c.6-.6 1.8-.2 1.8.7v21.2c0 .8.6 1.5 1.4 1.5h3c.8 0 1.6-.8 1.6-1.5V15.3c0-.9 1-1.3 1.7-.7l5.6 5.6c.6.6 1.5.6 2.1 0l2.1-2.1c.6-.6.6-1.5 0-2.1L27 2.4z\"}]}},\nuser:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M50 43v2.2c0 2.6-2.2 4.8-4.8 4.8H6.8C4.2 50 2 47.8 2 45.2V43c0-5.8 6.8-9.4 13.2-12.2l.6-.3c.5-.2 1-.2 1.5.1 2.6 1.7 5.5 2.6 8.6 2.6s6.1-1 8.6-2.6c.5-.3 1-.3 1.5-.1l.6.3C43.2 33.6 50 37.1 50 43zM26 2c6.6 0 11.9 5.9 11.9 13.2S32.6 28.4 26 28.4s-11.9-5.9-11.9-13.2S19.4 2 26 2z\"}},\nuser_activation:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M27.5 16c.6-.6.6-1.5 0-2.1L16.1 2.4c-.6-.6-1.5-.6-2.1 0L2.5 13.9c-.6.6-.6 1.5 0 2.1l2.1 2.1c.6.6 1.5.6 2.1 0l3.6-3.6c.6-.6 1.7-.2 1.7.7v21.2c0 .8.7 1.6 1.5 1.6h3c.8 0 1.5-.9 1.5-1.6V15.2c0-.9 1.1-1.3 1.7-.7l3.6 3.6c.6.6 1.5.6 2.1 0l2.1-2.1zM49.5 36l-2.1-2c-.6-.6-1.5-.6-2.1 0l-3.6 3.6c-.6.6-1.7.2-1.7-.7V15.5c0-.8-.7-1.5-1.5-1.5h-3c-.8 0-1.5.8-1.5 1.5v21.2c0 .9-1.1 1.3-1.7.7l-3.6-3.6c-.6-.6-1.5-.6-2.1 0L24.5 36c-.6.6-.6 1.5 0 2.1L36 49.6c.6.6 1.5.6 2.1 0l11.5-11.5c.5-.6.5-1.6-.1-2.1z\"}},\"path\":{\"d\":\"M16 46h-2c-1.1 0-2-.9-2-2v-2c0-1.1.9-2 2-2h2c1.1 0 2 .9 2 2v2c0 1.1-.9 2-2 2zM38 12h-2c-1.1 0-2-.9-2-2V8c0-1.1.9-2 2-2h2c1.1 0 2 .9 2 2v2c0 1.1-.9 2-2 2z\"}},\nview_relationship:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M36 20c0-2.2-1.8-4-4-4H6c-2.2 0-4 1.8-4 4v26c0 2.2 1.8 4 4 4h26c2.2 0 4-1.8 4-4V20z\"},{\"d\":\"M43 42h-3v-6h3c.6 0 1-.4 1-1V9c0-.6-.4-1-1-1H17c-.6 0-1 .4-1 1v3h-6V9c0-3.9 3.1-7 7-7h26c3.9 0 7 3.1 7 7v26c0 3.9-3.1 7-7 7z\"}]},\nweb_link:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M27 2C13.7 2 3 12.7 3 26s10.7 24 24 24 24-10.7 24-24S40.3 2 27 2zm3 34.3c-1.5 1.5-2 4.4-2.6 6.4-.1.4-.4.8-.8 1l-1 .5c-.6.3-1.3.2-1.8-.3-1-.9-1.8-2.3-1.8-3.7 0-2.4-4-1.6-4-6.4 0-3.9-5-6.2-8.6-4.5-.3.1-.6.3-.9.3-.6.2-1.2-.2-1.3-.8C7.1 27.9 7 27 7 26c0-4.8 1.7-9.2 4.5-12.6 0-.1.1-.1.2-.1 2.4-2.8 5.5-5 9.1-6.2.9-.3 1.7.7 1.2 1.5-.4.6-.6 1.2-.6 1.7.1 2.1-1.9 3.4-2.8 3.1-.8-.3-3 1.1-1 2.1l1.1.5c.1 0 .2.1.2.1l.3.2c3.6 2.1 2.9 3.8 1.4 6.4-1.7 2.8-2.4 0-4.8-.8s-4.8.8-4 2.4c.8 1.6 3.2 0 4.8 1.6 1.6 1.6 1.6 4 6.4 2.4 4.8-1.6 5.6-.8 7.2.8 1.4 1.6 2.2 4.8-.2 7.2zm12.7-.2c-1.9-2.2 0-7.3-2.3-10.2-2.5-3.1-5.7.1-8.8-4.8-2.9-4.7.8-8.6 4.6-9.9 1-.4 2.1-.5 3.2-.5.2 0 .5.1.7.3 4.2 3.6 6.9 9 6.9 15 0 3.6-1 7-2.6 9.9-.4.6-1.2.7-1.7.2z\"}},\nviewBox:'0 0 52 52'\n}; } export default icons;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n\nlet icons = {}; if ('__INCLUDE_SLDS_ICONS__' === '__INCLUDE_SLDS_ICONS__') { icons = {\ncustom1:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M54.3 74.1a5.983 5.983 0 01-8.7 0c-7.2-7.699-21-22.399-21-22.5-6.2-6.5-6.2-17.2 0-23.7 3-3.2 7-4.9 11.3-4.9 4.3 0 8.3 1.7 11.3 4.9l1.2 1.5c.8 1 2.4 1 3.2 0l1-1.3.2-.2c3.101-3.3 7.101-5 11.3-5 4.301 0 8.301 1.7 11.301 4.9 6.199 6.5 6.199 17.2 0 23.7C75.3 51.7 61.6 66.4 54.3 74.1z\"}},\ncustom10:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M69.8 77.9c-9.399 3.8-24.2 2.8-32.3-6C18 50.8 35.1 20 58.6 20c3.9 0 7.7.8 11.2 2.2 1.5.6 1.601 2.6.4 3.5C62.6 31.1 57.6 40 57.6 50c0 10.1 4.9 19 12.5 24.4 1.3.9 1.1 2.9-.3 3.5z\"}},\ncustom100:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M61.9 72H38.1c-.7 0-1.1.6-1 1.3 1 3.8 6.4 6.7 12.8 6.7 6.5 0 11.9-2.9 12.8-6.7.3-.7-.2-1.3-.8-1.3zM74 26H26c-3.3 0-6 2.7-6 6v28c0 3.3 2.7 6 6 6h48c3.3 0 6-2.7 6-6V32c0-3.3-2.7-6-6-6zm0 32c0 1.1-.9 2-2 2H28c-1.1 0-2-.9-2-2V34c0-1.1.9-2 2-2h44c1.1 0 2 .9 2 2v24z\"}}},\ncustom101:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M44.885 38.655a7.47 7.47 0 11-.066 14.938 7.47 7.47 0 01.066-14.938zm.505 31.491c.538-.239 1.168-.598 1.939-1.016a36.418 36.418 0 015.889-2.835 39.1 39.1 0 01-1.64-3.765c0-.086-.06-.205-.093-.298a17.263 17.263 0 01-6.6 1.328c-9.46.01-17.2-7.53-17.437-16.986-.237-9.457 7.116-17.375 16.564-17.838 9.449-.463 17.54 6.698 18.23 16.133 3.916.418 6.12 2.357 7.303 4.515.155-1.08.235-2.169.239-3.26.026-13.608-10.881-24.716-24.488-24.936-13.607-.221-24.869 10.526-25.284 24.128-.416 13.602 10.17 25.017 23.764 25.627a26.026 26.026 0 011.614-.81v.013zm29.878 2.238c-2.33-1.05-5.77-3.705-10.876-4.602 1.328-1.4 2.298-3.585 3.32-6.181.598-1.494.478-2.782.478-4.601 0-1.328.24-3.5-.086-4.688C66.968 48.328 64.12 47.2 60.8 47.2c-3.32 0-6.181 1.108-7.303 5.139-.326 1.195-.087 3.32-.087 4.687 0 1.826-.093 3.108.478 4.601 1.016 2.603 1.992 4.78 3.32 6.188-5.125.93-8.538 3.586-10.862 4.602-4.78 2.118-4.807 4.455-4.807 4.455v3.944h38.45v-3.944c.06 0 .06-2.357-4.754-4.482l.033-.006z\",\"fill-rule\":\"evenodd\"}},\ncustom102:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M31.179 60.7h-8.75a1.157 1.157 0 00-1.179 1.143V79.57a1.157 1.157 0 001.179 1.158h8.75a1.157 1.157 0 001.178-1.158V61.836a1.136 1.136 0 00-1.178-1.143v.007zm16.142-5.464h-8.75a1.157 1.157 0 00-1.142 1.135v23.25a1.157 1.157 0 001.178 1.143h8.714a1.157 1.157 0 001.179-1.143v-23.25a1.157 1.157 0 00-1.179-1.142v.007zM63.43 35.157h-8.75A1.157 1.157 0 0053.5 36.3v43.321a1.157 1.157 0 001.179 1.143h8.75a1.157 1.157 0 001.178-1.143V36.3a1.114 1.114 0 00-1.178-1.143zM79.57 21.23h-8.75a1.157 1.157 0 00-1.178 1.142v57.25a1.157 1.157 0 001.178 1.143h8.75a1.157 1.157 0 001.179-1.143v-57.25a1.157 1.157 0 00-1.179-1.142z\",\"fill-rule\":\"evenodd\"}},\ncustom103:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M76.14 54.901c-1.625-.77-4.012-2.713-7.553-3.365.913-1.03 1.591-2.609 2.302-4.513a8.824 8.824 0 00.352-3.365c0-.972.176-2.57-.058-3.45-.796-2.948-2.772-3.75-5.074-3.75s-4.311.828-5.074 3.776c-.235.854-.059 2.445-.059 3.424a9.046 9.046 0 00.352 3.39c.711 1.918 1.39 3.51 2.302 4.514a16.435 16.435 0 00-4.865 1.891 39.241 39.241 0 015.048 2.609c.796.47 1.507.887 2.067 1.148 2.713 1.272 4.22 2.654 5.107 3.913h8.543V58.2s-.058-1.741-3.39-3.306v.006zm-42.014 2.29c.561-.268 1.272-.653 2.067-1.149a38.074 38.074 0 015.074-2.608 16.52 16.52 0 00-4.95-1.898c.913-1.03 1.592-2.609 2.303-4.513a8.824 8.824 0 00.352-3.365c0-.972.176-2.57-.059-3.45-.796-2.948-2.772-3.75-5.074-3.75s-4.304.828-5.074 3.75c-.267.854-.091 2.445-.091 3.424a9.046 9.046 0 00.352 3.39c.711 1.918 1.39 3.51 2.302 4.514-3.508.652-5.87 2.609-7.493 3.365-3.333 1.565-3.365 3.261-3.365 3.261v2.89h8.582a13.096 13.096 0 015.074-3.862zm30.887 1.956c-2.42-1.122-6.02-4.044-11.328-5.048 1.356-1.533 2.387-3.913 3.45-6.757.652-1.65.502-3.039.502-5.047 0-1.474.267-3.835-.091-5.133-1.18-4.396-4.129-5.609-7.611-5.609-3.483 0-6.444 1.246-7.605 5.674-.326 1.272-.058 3.626-.058 5.107 0 2.008-.092 3.424.502 5.048 1.063 2.863 2.067 5.25 3.424 6.782-5.283 1.03-8.824 3.913-11.244 5.048-4.989 2.328-4.989 4.898-4.989 4.898v4.337h40.037v-4.344s0-2.57-4.989-4.924v-.032z\",\"fill-rule\":\"evenodd\"}},\ncustom104:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M72.72 20.574H27.28a3.088 3.088 0 00-3.045 3.088v15.485h51.486V23.706a3.088 3.088 0 00-3-3.132zM45.457 42.279v37.147H72.72a3.088 3.088 0 003.044-3.088V42.28h-30.31zm-21.177 0v34.06a3.062 3.062 0 003.045 3.087h15.132V42.28H24.279z\",\"fill-rule\":\"evenodd\"}},\ncustom105:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M76.053 26.316H23.947a3.6 3.6 0 00-3.552 3.623v2.558a.892.892 0 00.316.71l26.273 21.53a4.263 4.263 0 005.93 0l26.273-21.553a.892.892 0 00.316-.71V29.97a3.576 3.576 0 00-3.45-3.655zM20.418 37.929a.868.868 0 01.498-.79.79.79 0 01.955.143l12.75 11.297a.79.79 0 01.284.64.94.94 0 01-.244.67L21.91 61.93a.79.79 0 01-.956.213.86.86 0 01-.529-.853V37.93h-.008zm0 29.21a.971.971 0 01.285-.67l16.05-14.977a.837.837 0 011.168 0l6.782 6.04a7.697 7.697 0 0010.547 0l6.782-6.04a.868.868 0 011.168 0l16.058 14.945a.908.908 0 01.284.67v2.914a3.608 3.608 0 01-3.553 3.663H23.947a3.608 3.608 0 01-3.552-3.655v-2.913l.023.023zm59.156-5.857a.908.908 0 01-.53.852.868.868 0 01-.955-.213L65.34 49.858a.94.94 0 01-.244-.671.79.79 0 01.316-.64l12.75-11.329a.79.79 0 01.923-.102.9.9 0 01.53.79v23.352l-.04.024z\",\"fill-rule\":\"evenodd\"}},\ncustom106:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M49.643 20.543c-11.905.079-21.496 9.787-21.429 21.693 0 17.585 21.429 37.221 21.429 37.221S71.07 59.05 71.07 42.236c.056-11.9-9.528-21.603-21.428-21.693zm0 31.021a9.286 9.286 0 119.193-9.328 9.286 9.286 0 01-9.193 9.321v.007z\",\"fill-rule\":\"evenodd\"}},\ncustom107:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M77.734 51.48h-5.968v26.188a1.221 1.221 0 01-1.295 1.27H58.545a1.189 1.189 0 01-1.04-1.295V57.447H42.987v20.221c.049.63-.405 1.19-1.033 1.27H30.029a1.221 1.221 0 01-1.295-1.295V51.48h-5.968c-.516 0-1.04-.263-1.04-.78-.263-.516-.263-1.04.262-1.294L49.47 21.922c.517-.516 1.295-.516 1.558 0L78.512 49.43c.517.263.517.779.263 1.295-.255.517-.517.78-1.041.78v-.025z\",\"fill-rule\":\"evenodd\"}},\ncustom108:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"fill-rule\":\"evenodd\",\"path\":[{\"d\":\"M47.9 60.35l.42-2.82 3.96-2.73-.87-3.72h-.54l-4.2-.33-1.62-2.28.93-4.8-3.12-2.01-.39.39-3.15 2.79-2.7-.42-2.64-4.08-3.57.9v.57l-.3 4.29-2.22 1.68-4.68-.99-1.92 3.27.36.42 2.7 3.27-.39 2.82-3.96 2.7.87 3.69.54.06 4.14.33 1.65 2.25-.96 4.8 3.15 1.98.42-.36 3.15-2.82 2.7.42 2.61 4.08 3.6-.9v-.6l.27-4.2 2.22-1.68 4.62.99 1.92-3.27-.36-.42-2.64-3.24v-.03zm-5.49.66a7.2 7.2 0 01-10.08 2.55 7.8 7.8 0 01-2.49-10.44 7.2 7.2 0 0110.08-2.58 7.8 7.8 0 012.49 10.47z\"},{\"d\":\"M75.65 46.28l.42-2.82 3.93-2.7-.87-3.69h-.54l-4.14-.33-1.65-2.34.93-4.8-3.15-1.98-.42.36-3.15 2.79-2.7-.42-2.58-4.08-3.6.9-.06.6L57.8 32l-2.22 1.68-4.62-.96-1.92 3.27.36.45 2.7 3.27-.42 2.82-3.93 2.67.87 3.72h.54l4.14.33 1.62 2.31-.96 4.8 3.15 2.04.42-.36 3.15-2.82 2.7.42 2.61 4.08 3.57-.9.03-.57.3-4.29 2.22-1.68 4.65.96 1.92-3.27-.36-.42-2.67-3.27zm-5.52.66a7.2 7.2 0 01-10.08 2.55 7.752 7.752 0 01-2.46-10.44 7.2 7.2 0 0110.08-2.58 7.8 7.8 0 012.46 10.47z\"}]}},\ncustom109:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M79.651 46.442l-1.395-2.093-4.06 1.751c-5.247-8.449-14.854-14.651-24.88-14.651-14.881-.007-28.967 13.716-28.967 28.249v.893l.063 1.186h7.116l-.09-1.186a8.33 8.33 0 010-.858c0-11.742 9.815-21.321 21.885-21.321a22.019 22.019 0 0118.768 10.381l-13.905 6.042a8.135 8.135 0 00-8.923-.977 7.674 7.674 0 00-3.349 10.528 8.1 8.1 0 0010.793 3.293 7.744 7.744 0 004.242-7.71l12.9-7.674a20.623 20.623 0 011.395 7.445v.858l-.09 1.186h7.116l.063-1.186a8.623 8.623 0 000-.893 25.165 25.165 0 00-2.652-10.891l3.97-2.372z\",\"fill-rule\":\"evenodd\"}},\ncustom11:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M52.2 21.4l8 16.9L77.9 41c2 .3 2.8 2.9 1.3 4.3L66.4 58.5l3 18.5c.3 2.1-1.7 3.7-3.5 2.7L50 70.9l-15.9 8.8c-1.8 1-3.9-.601-3.5-2.7l3-18.5-12.9-13.2c-1.4-1.5-.6-4 1.3-4.3l17.8-2.7 8-16.9c.9-1.9 3.5-1.9 4.4 0z\"}},\ncustom110:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M61.714 20.229H38.286a5.986 5.986 0 00-6.143 5.928v47.536a6.129 6.129 0 006.143 6.071h23.428a6.129 6.129 0 006.143-6.071V26.157a5.986 5.986 0 00-6.143-5.928zm-16.071 3.428h8.714a.55.55 0 01.536.536.607.607 0 01-.536.536h-8.714a.536.536 0 110-1.072zm7.75 51.857a.643.643 0 01-.714.536h-5.536a.55.55 0 01-.536-.536v-2.5c0-.25.286-.643.536-.643h5.571a.714.714 0 01.715.643v2.5h-.036zm10.928-7.357a.629.629 0 01-.678.643H36.357a.629.629 0 01-.714-.643v-39.5a.75.75 0 01.714-.786h27.25c.4.038.7.385.679.786v39.5h.035z\",\"fill-rule\":\"evenodd\"}},\ncustom111:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"fill-rule\":\"evenodd\",\"path\":{\"d\":\"M53.373 45.053c-.06 0-.093 0-.12-.06-2.306-.993-5.7-3.66-10.74-4.566 1.287-1.334 2.28-3.507 3.267-6.087.573-1.473.48-2.733.48-4.533 0-1.334.24-3.447-.093-4.62-1.107-4-3.9-5.074-7.2-5.074-3.3 0-6.12 1.114-7.234 5.074-.326 1.166-.06 3.3-.06 4.62 0 1.8-.093 3.06.48 4.56 1.02 2.553 2 4.713 3.24 6.086-4.98.934-8.373 3.54-10.666 4.534C20.047 47.12 20 49.4 20 49.4v7.593h23.653a20.1 20.1 0 019.72-11.94zM62.827 70.46a7.767 7.767 0 117.766-7.793 7.773 7.773 0 01-7.766 7.793zM80 64.547v-3.88l-.54-.18-4.2-1.334-1.107-2.666 2.127-4.527-2.76-2.76-.513.267-3.9 2-2.667-1.114-1.68-4.706h-3.947l-.146.486-1.38 4.167-2.667 1.113L52 49.28l-2.733 2.76.266.513 2 3.927-1.113 2.667-4.707 1.68v3.9l.54.18 4.174 1.38 1.113 2.666-2.207 4.6 2.76 2.76.507-.266 3.933-2L59.2 75.16l1.68 4.707h3.9l.18-.54 1.38-4.167 2.667-1.113 4.533 2.126 2.76-2.76-.267-.506-2-3.9 1.107-2.667L80 64.547z\"}}},\ncustom112:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M51.121 50.166a56.676 56.676 0 00-25.737 0 7.271 7.271 0 00-4.973 6.513v5.25a7.192 7.192 0 004.973 6.513c.79.197 1.58.316 2.369.474l6.67 9.552c1.224 1.737 2.211 1.421 2.211-.71v-7.895c4.87.16 9.74-.318 14.487-1.42a7.271 7.271 0 004.974-6.514v-5.25a7.16 7.16 0 00-4.974-6.513zm23.526-27.632a72.15 72.15 0 00-35.052 0 7.279 7.279 0 00-4.974 6.553v9.316a7.279 7.279 0 004.974 6.552 71.424 71.424 0 0019.579 2.092v10.974c0 2.092.987 2.447 2.17.71l8.961-12.789a75.61 75.61 0 004.303-.947 7.279 7.279 0 004.974-6.553v-9.316a7.184 7.184 0 00-4.935-6.552v-.04z\",\"fill-rule\":\"evenodd\"}},\ncustom113:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"fill-rule\":\"evenodd\",\"path\":{\"d\":\"M27.16 59.042h45.735a.64.64 0 00.592-.631V26.816c0-.671-.513-.987-1.184-.987h-44.55c-.632 0-1.303.316-1.303.987v31.579c0 .316.395.631.71.631v.016zm3.893-27.947a.608.608 0 01.592-.592H68.3a.608.608 0 01.592.592v22.697a.608.608 0 01-.592.592H31.621a.608.608 0 01-.592-.592V31.095h.024zM79.463 73.34l-5.842-11.843a.663.663 0 00-.513-.355H26.884a.663.663 0 00-.513.355L20.53 73.34a1.255 1.255 0 001.05 1.856H78.42a1.263 1.263 0 001.026-1.856h.016zm-23.479-.735h-11.92a.387.387 0 01-.277-.552l1.697-3.237a.663.663 0 01.513-.355h8.014c.204.009.393.11.513.276l1.697 3.316c.118.197 0 .552-.237.552z\"}}},\ncustom12:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"circle\":{\"cx\":\"50\",\"cy\":\"50\",\"r\":\"30\"}},\ncustom13:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M74 22H26c-3.3 0-6 2.7-6 6v6c0 1.1.9 2 2 2h56c1.1 0 2-.9 2-2v-6c0-3.3-2.7-6-6-6zM74 42H26c-1.1 0-2 .9-2 2v28c0 3.3 2.7 6 6 6h40c3.3 0 6-2.7 6-6V44c0-1.1-.9-2-2-2zm-13 9c0 1.6-1.3 3-3 3H42c-1.6 0-3-1.3-3-3 0-1.6 1.3-3 3-3h16c1.7 0 3 1.3 3 3z\"}}},\ncustom14:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M78 33h-6c-1.3 0-2.6-.6-3.6-1.5l-4.8-4.1c-1-.8-2.3-1.4-3.6-1.4H48.3c-1.5 0-2.9.6-4 1.7l-6.2 5.1c-.5.4-.5 1.2-.1 1.7l1.9 1.8c1.3 1 3 1.2 4.3.3l5.5-3.3c.7-.5 1.7-.3 2.3.3l17.3 16.8c.4.4.7 1 .7 1.6v4.5c0 1.2.9 2.5 2 2.5h6c1.1 0 2-.9 2-2.1V35c0-1.2-.9-2-2-2z\"},{\"d\":\"M61 51L50.2 40.5l-3 1.8c-1.5.9-3.2 1.4-4.9 1.4-2.1 0-4.3-.8-6-2.2l-3.9-3.2c-.9-.7-1.4-1.5-1.5-2.6-.2-1.1-1-1.7-2-1.7H22c-1.1 0-2 .6-2 1.8V54c0 1.2.9 2 2 2h4c.3 0 .7-1.1 1.1-1.6 1.5-2 3.7-3.101 6.1-3.4 2.4-.2 4.7.6 6.6 2.3l12.5 11.4c1.101 1 1.9 2.1 2.4 3.5.3.7 1.1.899 1.6.399L61 63.9c2.4-2.4 4.2-8 2-10.601L61 51z\"},{\"d\":\"M35.9 58.4c-1.3-1.2-3.2-1-4.2.399-1.1 1.4-.9 3.4.4 4.601l12.5 11.3c.6.6 1.4.8 2.2.7.8-.101 1.5-.5 2-1.2 1.1-1.4.9-3.4-.4-4.601L35.9 58.4z\"}]}},\ncustom15:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M70 46.1c-3.5-1.5-4-2.8-4-4.2 0-1.5 1-2.8 2.2-3.9 2.1-1.9 3.2-4.5 3.2-7.5 0-5.6-3.5-10.5-9.801-10.5C56.2 20 52.9 23.6 52 28.2c-.1.4.1.8.4 1 4.5 3.2 7.3 8.6 7.3 15.1 0 4.5-1.5 8.601-4.3 11.7-.4.5-.3 1.3.4 1.6 1.7.7 3.7 1.7 5.7 2.801.6.399 1.3.6 2 .6H75c2.8 0 5-2.2 5-4.9v-.8C80 50.8 75.1 48.3 70 46.1z\"},{\"d\":\"M52.1 62.6c-4.2-1.699-4.8-3.3-4.8-5 0-1.699 1.2-3.3 2.6-4.6 2.4-2.2 3.8-5.2 3.8-8.8 0-6.6-4.2-12.3-11.6-12.3s-11.6 5.7-11.6 12.3c0 3.6 1.3 6.6 3.8 8.8 1.4 1.2 2.6 2.9 2.6 4.6 0 1.7-.6 3.2-4.8 5-6.1 2.5-11.9 5.4-12 10.7v.9c0 3.2 2.7 5.8 6 5.8H58c3.3 0 6-2.6 6-5.8v-.9c0-5.3-5.8-8.2-11.9-10.7z\"}]}},\ncustom16:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M72 70h-1V48c0-1.1-.9-2-2-2h-2c-1.1 0-2 .9-2 2v22h-6V48c0-1.1-.9-2-2-2h-2c-1.1 0-2 .9-2 2v22h-6V48c0-1.1-.9-2-2-2h-2c-1.1 0-2 .9-2 2v22h-6V48c0-1.1-.9-2-2-2h-2c-1.1 0-2 .9-2 2v22h-1c-3.3 0-6 2.7-6 6v2c0 1.1.9 2 2 2h52c1.1 0 2-.9 2-2v-2c0-3.3-2.7-6-6-6zM77 34.4L52.3 20.8c-.7-.5-1.5-.8-2.3-.8-.8 0-1.6.3-2.3.8L23 34.4c-.6.4-1 1-1 1.7V38c0 1.1.9 2 2 2h52c1.1 0 2-.9 2-2v-1.8c0-.7-.4-1.4-1-1.8zM50 36c-2.8 0-5-2.2-5-5s2.2-5 5-5 5 2.2 5 5-2.2 5-5 5z\"}}},\ncustom17:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M43 28.9c.3.7 1 1.1 1.8 1.1H55c.8 0 1.5-.4 1.8-1.1l4-7.4c.3-.7-.2-1.4-.899-1.4H40.1c-.7 0-1.2.8-.9 1.4l3.8 7.4zM55.9 36H44c-9.9 0-18 8.1-18 18v20c0 3.3 2.7 6 6 6h35.9c3.3 0 6.1-2.7 6.1-6V54c0-9.9-8.2-18-18.1-18zM53 69.6V73c0 .6-.6 1-1.2 1h-4c-.6 0-.8-.4-.8-1v-3.3c-3-.601-5.5-1.9-6.2-2.5-.8-.7-1-1.4-.4-2.3l1.3-2c.3-.5.9-.801 1.5-.801.4 0 .7.101 1 .301h.1c2 1.199 3.8 1.8 5.1 1.8 1.4 0 2.5-.7 2.5-1.5 0-.601-.4-1.601-4.2-2.9-3.4-1.2-7.6-3.3-7.6-7.899 0-2.7 1.8-5.9 6.8-6.9v-3c0-.6.3-1 .8-1h4c.6 0 1.2.4 1.2 1v3c2 .5 4.199 1.5 4.899 2 .4.2.601.7.7 1.2s-.1 1-.4 1.3l-1.5 1.8c-.399.5-1.1.9-1.699.9-.3-.001-.6-.101-.9-.201-2-1.1-3.7-1.7-4.8-1.7-1.7 0-2.4.8-2.4 1.3 0 .7.4 1.5 3.8 2.7 4.2 1.4 8.9 3.601 8.9 8.3.1 3.2-2.5 6.1-6.5 7z\"}}},\ncustom18:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M60 36h10.6c.801 0 1.4-.6 1.4-1.4 0-.4-.1-.7-.4-1L58.4 20.4c-.3-.3-.6-.4-1-.4-.8 0-1.4.6-1.4 1.4V32c0 2.2 1.8 4 4 4zM83.4 49.6l-1.2-1.2c-.8-.8-2-.8-2.8 0L64 63.9c-.1.1 0 .2 0 .4v3.3c0 .301 0 .5.3.5h3.3c.1 0 .3-.1.4-.1l15.4-15.4c.8-1 .8-2.2 0-3z\"},{\"d\":\"M70.9 74h-9.1c-2.1 0-3.8-1.7-3.8-3.8v-7c0-1.101.3-2.101 1.1-2.8L71.4 48c.399-.4.6-.9.6-1.4V44c0-1.1-.9-2-2-2H56c-3.3 0-6-2.7-6-6V22c0-1.1-.9-2-2-2H28c-3.3 0-6 2.7-6 6v48c0 3.3 2.7 6 6 6h38c2.9 0 5.4-2.1 5.9-4.8.1-.6-.4-1.2-1-1.2zM30 38c0-1.1.9-2 2-2h8c1.1 0 2 .9 2 2v2c0 1.1-.9 2-2 2h-8c-1.1 0-2-.9-2-2v-2zm20 26c0 1.1-.9 2-2 2H32c-1.1 0-2-.9-2-2v-2c0-1.1.9-2 2-2h16c1.1 0 2 .9 2 2v2zm4-12c0 1.1-.9 2-2 2H32c-1.1 0-2-.9-2-2v-2c0-1.1.9-2 2-2h20c1.1 0 2 .9 2 2v2z\"}]}},\ncustom19:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M79.2 32.8c-.2-.7-1.101-.9-1.7-.4L67.4 42.5c-.801.8-2 .8-2.801 0l-7.1-7.1c-.8-.8-.8-2 0-2.8l10.2-10.2c.5-.5.3-1.4-.4-1.7C65.6 20.3 63.8 20 62 20c-10.6 0-19.1 9.2-17.9 20 .2 1.7.6 3.2 1.2 4.7L22 68.1c-2.7 2.7-2.7 7.2 0 9.9 1.4 1.4 3.2 2.1 5 2.1s3.6-.699 5-2.1l23.3-23.3c1.5.6 3.101 1 4.7 1.2 10.9 1.2 20-7.3 20-17.9 0-1.8-.3-3.6-.8-5.2z\"}},\ncustom2:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M59 22c-3-2-13.8-3.9-18 3-2 3.3.4 9.1 2.2 12.8.5.9 1.5 1.4 2.5 1 1.3-.5 2.8-.8 4.3-.8 1 0 2 .1 3 .4.9.2 1.8-.2 2.2-1 .7-1.3 1.899-2.8 3.8-4.4 5-4 3-9 0-11zM53.8 61.4c-1.2.4-2.5.6-3.8.6-1.2 0-2.4-.2-3.5-.5-.9-.3-1.9.2-2.3 1-.7 1.3-1.9 2.9-3.9 4.5-5 4-3 9.1 0 11.1s13.9 3.9 18-3c1.9-3.199-.3-9-2.1-12.699-.5-.901-1.5-1.301-2.4-1.001zM75 41c-3.3-2-9.1.4-12.8 2.2-.9.5-1.4 1.5-1 2.5.5 1.3.8 2.8.8 4.3 0 1-.1 2-.4 3-.199.9.2 1.8 1 2.2 1.3.7 2.8 1.9 4.4 3.8 4 5 9 3 11 0s3.9-13.9-3-18zM38.6 53.8c-.4-1.2-.6-2.5-.6-3.8 0-1.2.2-2.4.5-3.5.3-.9-.2-1.9-1-2.3-1.3-.7-2.9-1.9-4.5-3.9-4-5-9.1-3-11.1 0s-3.9 13.8 3 18c3.2 1.9 9-.3 12.7-2.1.9-.5 1.3-1.5 1-2.4z\"},\"circle\":{\"cx\":\"50\",\"cy\":\"50\",\"r\":\"6\"}}},\ncustom20:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M38 47.7c0-.8-1-1.3-1.6-.8l-14 10.8c-1.5 1.1-2.4 2.9-2.4 4.8v4.1c0 .7.7 1.2 1.3.9l15.4-5.8c.8-.3 1.3-1 1.3-1.9V47.7zM60.1 75.7L56 73V27.6c0-2.7-2.9-5.7-4.8-7.2-.7-.6-1.8-.6-2.5 0-1.8 1.5-4.8 4.5-4.8 7.2V73l-4.6 3c-.8.6-1.4 1.5-1.4 2.5v.6c0 .5.4.9.9.9h22.1c.5 0 1.1-.4 1.1-.9 0-1.4-.8-2.6-1.9-3.4zM77.6 57.7l-14-10.8a1 1 0 00-1.6.8v12.2c0 .8.5 1.6 1.3 1.899l15.4 5.8c.7.201 1.3-.199 1.3-.899v-4.1c0-2-.9-3.8-2.4-4.9z\"}}},\ncustom21:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M57.6 71.1c-.3-.699-1-1.1-1.8-1.1H44.2c-.8 0-1.5.4-1.8 1.1l-2.7 7.4c-.3.7.2 1.4.9 1.4h18.8c.699 0 1.199-.801.899-1.4L57.6 71.1zM74 20H26c-3.3 0-6 2.7-6 6v32c0 3.3 2.7 6 6 6h48c3.3 0 6-2.7 6-6V26c0-3.3-2.7-6-6-6zM50 62c-1.7 0-3-1.3-3-3s1.3-3 3-3 3 1.3 3 3-1.3 3-3 3zm24-10c0 1.1-.9 2-2 2H28c-1.1 0-2-.9-2-2V28c0-1.1.9-2 2-2h44c1.1 0 2 .9 2 2v24z\"}}},\ncustom22:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M77.7 63.9l-6.2-5a6.002 6.002 0 00-7.3-.2L58.3 63c-.8.6-1.899.5-2.6-.2L46 54l-8.9-9.8c-.7-.7-.8-1.8-.2-2.6l4.3-5.9c1.6-2.2 1.5-5.2-.2-7.3l-5-6.2c-2.2-2.8-6.4-3-8.9-.5l-5.4 5.4c-1.2 1.2-1.8 2.9-1.8 4.5.7 12.7 6.5 24.8 15 33.3s20.5 14.3 33.3 15c1.7.1 3.3-.601 4.5-1.801l5.4-5.399c2.7-2.4 2.4-6.6-.4-8.8z\"}},\ncustom23:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M48.7 56c.8.7 1.899.7 2.7 0l28.3-26.2c.5-1 .399-2.6-1.601-2.6l-56 .1c-1.5 0-2.7 1.4-1.6 2.6L48.7 56z\"},{\"d\":\"M80 41c0-1.3-1.6-2-2.5-1.1l-22 20.4c-1.5 1.4-3.4 2.1-5.4 2.1-2 0-3.9-.7-5.4-2.101L22.6 39.9c-1-.9-2.5-.2-2.5 1.1v26c0 3.3 2.7 6 6 6h48c3.301 0 6-2.7 6-6-.1 0-.1-18-.1-26z\"}]}},\ncustom24:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M68.1 20H31.9c-3.3 0-5.9 2.7-5.9 5.9v.1c0 1.1.9 2 2 2h44c1.1 0 2-.9 2-2v-.1c0-3.2-2.7-5.9-5.9-5.9zM68 34H32c-1.1 0-2 .9-2 2v42c0 1.1.9 2 2 2h11.1c1.1 0 1.9-.9 1.9-2v-8c0-1.1 1-2 2.1-2h5.8c1.1 0 2.1.9 2.1 2v8c0 1.1.8 2 1.9 2H68c1.1 0 2-.9 2-2V36c0-1.1-.9-2-2-2zM47 61c0 1.1-.9 2-2 2h-4c-1.1 0-2-.9-2-2v-4c0-1.1.9-2 2-2h4c1.1 0 2 .9 2 2v4zm0-14c0 1.1-.9 2-2 2h-4c-1.1 0-2-.9-2-2v-4c0-1.1.9-2 2-2h4c1.1 0 2 .9 2 2v4zm14 14c0 1.1-.9 2-2 2h-4c-1.1 0-2-.9-2-2v-4c0-1.1.9-2 2-2h4c1.1 0 2 .9 2 2v4zm0-14c0 1.1-.9 2-2 2h-4c-1.1 0-2-.9-2-2v-4c0-1.1.9-2 2-2h4c1.1 0 2 .9 2 2v4z\"}}},\ncustom25:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M79.8 27.3c-.7-3.7-3.8-6.7-7.6-7.2-2.7-.4-5.2.5-7.101 2-.6.5-.5 1.3.2 1.7 4.601 2.4 8.5 5.9 11.5 10.1.4.6 1.3.6 1.7 0C79.8 32 80.3 29.7 79.8 27.3zM34.6 23.8c.6-.3.7-1.2.2-1.7-1.9-1.6-4.4-2.4-7.1-2-3.8.5-6.9 3.5-7.6 7.2-.4 2.4.1 4.7 1.3 6.5.4.6 1.3.6 1.7 0 3-4.1 6.9-7.6 11.5-10zM50 26c-14.9 0-27 12.1-27 27 0 6 2 11.6 5.3 16l-4.1 4.1c-1.6 1.601-1.6 4.101 0 5.7.8.8 1.8 1.2 2.8 1.2s2-.4 2.8-1.2l4.1-4.1C38.4 78 44 80 50 80s11.6-2 16-5.3l4.1 4.1C71 79.6 72 80 73 80s2-.4 2.8-1.2c1.601-1.6 1.601-4.1 0-5.7L71.7 69C75 64.6 77 59 77 53c0-14.9-12.1-27-27-27zM31 53c0-10.5 8.5-19 19-19s19 8.5 19 19-8.5 19-19 19-19-8.5-19-19z\"},{\"d\":\"M53 51.8V44c0-1.7-1.3-3-3-3s-3 1.3-3 3v9c0 .8.3 1.6.9 2.1l7 7c.6.6 1.4.9 2.1.9s1.5-.3 2.1-.9c1.2-1.199 1.2-3.1 0-4.199L53 51.8z\"}]}},\ncustom26:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M26 20c-3.3 0-6 2.7-6 6 0 1.8.8 3.4 2 4.5V76c0 2.2 1.8 4 4 4s4-1.8 4-4V30.5c1.2-1.1 2-2.7 2-4.5 0-3.3-2.7-6-6-6zM78.5 30.8c-15.7 8.2-26.4-5.9-41.2-.5-.8.3-1.3 1-1.3 1.9V58c0 1.3 1.3 2.3 2.6 1.9 14.2-4.3 24.9 9.1 40.4.6.6-.3 1-1 1-1.7V31.7c0-.8-.8-1.3-1.5-.9z\"}}},\ncustom27:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M24 63h52c1.1 0 2-.9 2-2V29c0-3.3-2.7-6-6-6H28c-3.3 0-6 2.7-6 6v32c0 1.1.9 2 2 2zm4-32c0-1.1.9-2 2-2h40c1.1 0 2 .9 2 2v24c0 1.1-.9 2-2 2H30c-1.1 0-2-.9-2-2V31zM80 69H58c-1.1 0-2 .9-2 2s-.9 2-2 2h-8c-1.1 0-2-.9-2-2s-.9-2-2-2H20c-1.1 0-2 .9-2 2 0 3.3 2.7 6 6 6h52c3.3 0 6-2.7 6-6 0-1.1-.9-2-2-2z\"}}},\ncustom28:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M64 20H36c-3.3 0-6 2.7-6 6v48c0 3.3 2.7 6 6 6h28c3.3 0 6-2.7 6-6V26c0-3.3-2.7-6-6-6zM50 78c-1.7 0-3-1.3-3-3s1.3-3 3-3 3 1.3 3 3-1.3 3-3 3zm14-10c0 1.1-.9 2-2 2H38c-1.1 0-2-.9-2-2V30c0-1.1.9-2 2-2h24c1.1 0 2 .9 2 2v38z\"}},\ncustom29:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M73.9 28h-1.8c-1.2 0-2.1 1-2.1 2.2V70c0 .1 0 .3.1.4l2.5 3.5c.2.199.5.199.801 0l2.5-3.5c.099-.1.099-.2.099-.4V30.2c0-1.2-.9-2.2-2.1-2.2zM58 20H30c-3.3 0-6 2.7-6 6v48c0 3.3 2.7 6 6 6h28c3.3 0 6-2.7 6-6V26c0-3.3-2.7-6-6-6zM44 78c-1.7 0-3-1.3-3-3s1.3-3 3-3 3 1.3 3 3-1.3 3-3 3zm14-10c0 1.1-.9 2-2 2H32c-1.1 0-2-.9-2-2V30c0-1.1.9-2 2-2h24c1.1 0 2 .9 2 2v38z\"}}},\ncustom3:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M50 38c-6.6 0-12 5.4-12 12s5.4 12 12 12 12-5.4 12-12-5.4-12-12-12z\"},{\"d\":\"M80 50c0-3.5-8.4-5.3-9.7-8.4-1.3-3.2 3.3-10.4.9-12.8-2.4-2.4-9.601 2.2-12.8.9-3.1-1.3-4.9-9.7-8.4-9.7s-5.3 8.4-8.4 9.7c-3.2 1.3-10.4-3.3-12.8-.9-2.4 2.4 2.2 9.6.9 12.8-1.3 3.1-9.7 4.9-9.7 8.4s8.4 5.3 9.7 8.4c1.3 3.2-3.3 10.4-.9 12.8 2.4 2.399 9.6-2.2 12.8-.9 3.1 1.3 4.9 9.7 8.4 9.7s5.3-8.4 8.4-9.7c3.2-1.3 10.4 3.3 12.8.9 2.4-2.4-2.2-9.6-.9-12.8 1.3-3.1 9.7-4.9 9.7-8.4zM50 68c-9.9 0-18-8.1-18-18s8.1-18 18-18 18 8.1 18 18-8.1 18-18 18z\"}]}},\ncustom30:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M71.5 28.5C66 23 58.7 20 51 20c-1.7 0-3 1.3-3 3s1.3 3 3 3c6.1 0 11.9 2.4 16.3 6.7C71.6 37.1 74 42.9 74 49c0 1.7 1.3 3 3 3s3-1.3 3-3c0-7.7-3-15-8.5-20.5z\"},{\"d\":\"M51 32c-1.7 0-3 1.3-3 3s1.3 3 3 3c2.9 0 5.7 1.1 7.8 3.2C60.9 43.3 62 46 62 49c0 1.7 1.3 3 3 3s3-1.3 3-3c0-4.5-1.8-8.8-5-12s-7.5-5-12-5zM46.7 60.7l2.6-7c1.8.7 3.8.3 5.3-1.101 2-2 2-5.1 0-7.1s-5.1-2-7.1 0c-1.5 1.5-1.8 3.7-1 5.6L40 54 28.3 42.3c-.8-.8-2.2-.8-2.9.1-7.5 9-7 22.4 1.5 30.8 8.4 8.399 21.8 8.899 30.8 1.5.9-.7.9-2.1.1-2.9L46.7 60.7z\"}]}},\ncustom31:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M75.5 43.2l-4.9-15.4C69.7 24.9 67 23 64 23H36c-3 0-5.7 1.9-6.7 4.8l-4.8 15.4c-2.6.7-4.5 3-4.5 5.8v12c0 2.6 1.7 4.8 4 5.7V75c0 1.1.9 2 2 2h8c1.1 0 2-.9 2-2v-8h28v8c0 1.1.9 2 2 2h8c1.1 0 2-.9 2-2v-8.3c2.3-.8 4-3 4-5.7V49c0-2.8-1.9-5.1-4.5-5.8zM30 60c-2.8 0-5-2.2-5-5s2.2-5 5-5 5 2.2 5 5-2.2 5-5 5zm22-17H32.2c-.7 0-1.2-.7-1-1.3l3.8-12c.1-.4.5-.7.9-.7h28c.399 0 .8.3.899.6l3.8 12.1c.2.6-.3 1.3-1 1.3H52zm17 17c-2.8 0-5-2.2-5-5s2.2-5 5-5 5 2.2 5 5-2.2 5-5 5z\"}},\ncustom32:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M78.5 35.3L55.1 48.6c-.5.3-1 .4-1.5.4-1.1 0-2.199-.6-2.699-1.7-.7-1.4 0-3.2 1.399-4l7.8-4.4v-7.7c0-.8-.8-1.2-1.5-.9L30.1 46.6c-.5.3-1 .4-1.5.4-1 0-2.1-.5-2.6-1.5-.8-1.4-.3-3.3 1.1-4.1l4.9-2.8V22c0-1.1-.9-2-2-2h-8c-1.1 0-2 .9-2 2v52c0 3.3 2.7 6 6 6h17c1.1 0 2-.9 2-2v-7c0-1.1.9-2 2-2h6c1.1 0 2 .9 2 2v7c0 1.1.9 2 2 2h17c3.3 0 6-2.7 6-6V36.2c0-.8-.8-1.3-1.5-.9zM35 63c0 1.1-.9 2-2 2h-2c-1.1 0-2-.9-2-2v-6c0-1.1.9-2 2-2h2c1.1 0 2 .9 2 2v6zm12 0c0 1.1-.9 2-2 2h-2c-1.1 0-2-.9-2-2v-6c0-1.1.9-2 2-2h2c1.1 0 2 .9 2 2v6zm12 0c0 1.1-.9 2-2 2h-2c-1.1 0-2-.9-2-2v-6c0-1.1.9-2 2-2h2c1.1 0 2 .9 2 2v6zm12 0c0 1.1-.9 2-2 2h-2c-1.1 0-2-.9-2-2v-6c0-1.1.9-2 2-2h2c1.1 0 2 .9 2 2v6z\"}},\ncustom33:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M65 42H36c-1.1 0-2 .9-2 2v8c0 1.1.9 2 2 2h29c1.1 0 2-.9 2-2v-8c0-1.1-.9-2-2-2zm-14 9c-1.7 0-3-1.3-3-3s1.3-3 3-3 3 1.3 3 3-1.3 3-3 3z\"},{\"d\":\"M80 28H20c-1.1 0-2 .9-2 2v2c0 2.2 1.8 4 4 4v36c0 1.1.9 2 2 2h2c1.1 0 2-.9 2-2V36h45v36c0 1.1.9 2 2 2h2c1.1 0 2-.9 2-2V36h-1c2.2 0 4-1.8 4-4v-2c0-1.1-.9-2-2-2z\"}]}},\ncustom34:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M42 30h16c1.1 0 2-1.1 1.8-2.2-1-4.5-5-7.8-9.8-7.8s-8.8 3.4-9.8 7.8c-.2 1.1.7 2.2 1.8 2.2z\"},{\"d\":\"M77 56c1.7 0 3.1-1.4 3-3.2-.1-1.6-1.5-2.8-3.2-2.8H68v-5c5.8-2.3 9.9-8.5 10-15.9 0-1.5-1-2.8-2.5-3.1-1.9-.3-3.5 1.1-3.5 3 0 4.3-2 8-4.9 9.8-1.1-1.7-3-2.8-5.1-2.8H38c-2.1 0-4 1.1-5.1 2.8C30 37 28 33.4 28 29.2c0-1.6-1.2-3.1-2.8-3.2-1.8-.1-3.2 1.3-3.2 3 0 7.4 4.2 13.7 10 16v5h-8.8c-1.6 0-3.1 1.2-3.2 2.8-.1 1.7 1.3 3.2 3 3.2h9v5c-5.8 2.3-9.9 8.5-10 15.9 0 1.5 1 2.8 2.5 3.1 1.9.3 3.5-1.1 3.5-3 0-4.2 1.9-7.9 4.8-9.7 1.7 5.601 6.1 10 11.6 11.8 1.3.4 2.6-.6 2.6-1.899v-24c0-1.601 1.2-3.1 2.8-3.2 1.7-.1 3.2 1.3 3.2 3v24.2c0 1.399 1.3 2.3 2.6 1.899 5.5-1.8 9.9-6.199 11.601-11.8 2.8 1.8 4.7 5.4 4.8 9.5 0 1.601 1.2 3.101 2.8 3.2 1.8.1 3.2-1.3 3.2-3 0-7.4-4.2-13.7-10-16v-5H77z\"}]}},\ncustom35:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M69 40c-1.7 0-3 1.3-3 3v5c0 8.8-7.2 16-16 16s-16-7.2-16-16v-5c0-1.7-1.3-3-3-3s-3 1.3-3 3v5c0 11.1 8.3 20.3 19 21.8V74h-5c-1.7 0-3 1.3-3 3s1.3 3 3 3h16c1.7 0 3-1.3 3-3s-1.3-3-3-3h-5v-4.2C63.7 68.3 72 59.1 72 48v-5c0-1.7-1.3-3-3-3z\"},{\"d\":\"M50 58c5.5 0 10-4.5 10-10V29.9c0-5.5-4.4-9.9-9.9-9.9h-.2c-5.5 0-9.9 4.4-9.9 9.9V48c0 5.5 4.5 10 10 10z\"}]}},\ncustom36:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M38.7 72h-4.1c-.7 0-1.4.4-1.7 1l-1.4 2.4c-.8 1.4-.5 3.2.8 4.1.5.4 1.1.5 1.7.5 1 0 2-.5 2.6-1.5l3-5c.4-.7-.1-1.5-.9-1.5zM67.1 73c-.399-.6-1-1-1.699-1H61.3c-.8 0-1.3.8-.899 1.5l3 5C64 79.5 65 80 66 80c.6 0 1.2-.2 1.7-.5 1.3-.9 1.6-2.8.8-4.1L67.1 73zM67 20H33c-3.3 0-6 2.7-6 6v34c0 3.3 2.7 6 6 6h34c3.3 0 6-2.7 6-6V26c0-3.3-2.7-6-6-6zM36 62c-1.7 0-3-1.3-3-3s1.3-3 3-3 3 1.3 3 3-1.3 3-3 3zm28 0c-1.7 0-3-1.3-3-3s1.3-3 3-3 3 1.3 3 3-1.3 3-3 3zm3-12c0 1.1-.9 2-2 2H35c-1.1 0-2-.9-2-2V30c0-1.1.9-2 2-2h30c1.1 0 2 .9 2 2v20z\"}}},\ncustom37:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M80 56H67V44.2c2.7 2.3 6.2 3.8 10 3.8 1.7 0 3-1.3 3-3s-1.3-3-3-3c-5.5 0-10-4.9-10-11v-3c1.1 0 2-.9 2-2v-2c0-1.1-.9-2-2-2h-6c-1.1 0-2 .9-2 2v2c0 1.1.9 2 2 2v3c0 6.1-4.9 11-11 11s-11-4.9-11-11v-3c1.1 0 2-.9 2-2v-2c0-1.1-.9-2-2-2h-6c-1.1 0-2 .9-2 2v2c0 1.1.9 2 2 2v3c0 6.1-4.5 11-10 11-1.7 0-3 1.3-3 3s1.3 3 3 3c3.8 0 7.3-1.4 10-3.8V56H20c-1.1 0-2 .9-2 2v4.8c0 1.101.9 2.2 2 2.2h4v10.8c0 1.101.9 2.2 2 2.2h6c1.1 0 2-1.1 2-2.2v-4c0-3.3 2.7-5.8 6-5.8h20c3.3 0 6 2.5 6 5.8v4c0 1.101.9 2.2 2 2.2h6c1.1 0 2-1.1 2-2.2V65h4c1.1 0 2-1.1 2-2.2V58c0-1.1-.9-2-2-2zM39 43.9c3 2.5 6.8 4.1 11 4.1s8-1.5 11-4.1V56H39V43.9z\"}},\ncustom38:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M50 45c-4.4 0-8 3.6-8 8s3.6 8 8 8 8-3.6 8-8-3.6-8-8-8z\"},{\"d\":\"M74 35h-8.1c-.801 0-1.5-.4-1.801-1.2l-2.6-5.5c-1-2-3.1-3.3-5.4-3.3H43.9c-2.3 0-4.4 1.3-5.4 3.3l-2.6 5.5c-.3.7-1 1.2-1.8 1.2H26c-3.3 0-6 2.7-6 6v28c0 3.3 2.7 6 6 6h48c3.3 0 6-2.7 6-6V41c0-3.3-2.7-6-6-6zM50 67.2c-7.7 0-14-6.3-14-14s6.3-14 14-14 14 6.3 14 14-6.3 14-14 14z\"}]}},\ncustom39:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M63.6 28.6c-.199-.8-1.1-1.3-1.899-1.1l-40.3 13c-1 .3-1.5 1.4-1.3 2.4l1.6 6.2c.3 1 1.3 1.7 2.3 1.5L34.2 49.2c.3 1.1.8 2.2 1.5 3.1L27 75.9c-.6 1.6.2 3.3 1.8 3.899.3.101.7.2 1 .2 1.2 0 2.4-.8 2.8-2l8.2-22.4c.7.2 1.3.2 2 .2s1.4-.1 2-.2L53.1 78c.4 1.2 1.601 2 2.801 2 .3 0 .699-.1 1-.2 1.6-.6 2.399-2.3 1.8-3.899L50 52.2c1.1-1.5 1.8-3.4 1.8-5.4v-.1l14.101-2c.899-.1 1.5-1 1.199-1.9l-3.5-14.2zM79.9 42.7l-5.5-20.4c-.4-1.6-2.101-2.6-3.7-2.2-1.601.4-2.601 2.1-2.2 3.7L74 44.2c.4 1.6 2.1 2.6 3.7 2.2 1.6-.4 2.6-2.1 2.2-3.7z\"}}},\ncustom4:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M26.2 32.7L47 20.8c1.9-1.1 4.3-1.1 6.2 0l20.7 11.9c1.899 1.1 3.1 3.2 3.1 5.4v23.8c0 2.199-1.1 4.3-3.1 5.399L53.2 79.2c-1.9 1.1-4.3 1.1-6.2 0L26.2 67.3c-1.9-1.1-3.2-3.2-3.2-5.4V38.1c0-2.2 1.3-4.3 3.2-5.4z\"}},\ncustom40:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M74 28H26c-3.3 0-6 2.7-6 6v34c0 3.3 2.7 6 6 6h48c3.3 0 6-2.7 6-6V34c0-3.3-2.7-6-6-6zm0 6v6H26v-6h48zM26 68V50h48v18H26z\"},{\"d\":\"M43.1 55c-1.4 0-2.6.7-3.3 1.8-.1.2-.4.2-.5 0-.7-1.1-1.9-1.8-3.3-1.8-2.2 0-4 1.8-4 4s1.8 4 4 4c1.4 0 2.6-.7 3.3-1.8.1-.2.4-.2.5 0 .7 1.1 1.9 1.8 3.3 1.8h.1c2.1 0 3.9-1.7 3.9-3.9v-.2c-.1-2.2-1.8-3.9-4-3.9zM66 56H54c-1.1 0-2 .9-2 2v2c0 1.1.9 2 2 2h12c1.1 0 2-.9 2-2v-2c0-1.1-.9-2-2-2z\"}]}},\ncustom41:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M76 29H24c-3.3 0-6 2.7-6 6v29c0 3.3 2.7 6 6 6h52c3.3 0 6-2.7 6-6V35c0-3.3-2.7-6-6-6zM31 64c0-3.9-3.1-7-7-7V42c3.9 0 7-3.1 7-7h38c0 3.9 3.1 7 7 7v15c-3.9 0-7 3.1-7 7H31z\"},\"circle\":{\"cx\":\"50\",\"cy\":\"49\",\"r\":\"10\"}}},\ncustom42:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M74 22H26c-3.3 0-6 2.7-6 6v6c0 1.1.9 2 2 2h56c1.1 0 2-.9 2-2v-6c0-3.3-2.7-6-6-6zM74 42H26c-1.1 0-2 .9-2 2v28c0 3.3 2.7 6 6 6h40c3.3 0 6-2.7 6-6V44c0-1.1-.9-2-2-2zm-13 9c0 1.6-1.3 3-3 3H42c-1.6 0-3-1.3-3-3 0-1.6 1.3-3 3-3h16c1.7 0 3 1.3 3 3z\"}}},\ncustom43:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M81.7 43.2s.1 0 0 0c.1-.3.2-.4.2-.6v-.2-.6-.4-.2c0-.1-.101-.2-.101-.3s0-.1-.1-.2c0-.1-.101-.2-.2-.3 0-.1-.1-.1-.1-.2l-12-17C68.9 22.5 68 22 67 22H31c-1 0-1.9.5-2.5 1.3l-12 17c0 .1-.1.1-.1.2-.1.1-.1.2-.2.3 0 .1 0 .1-.1.2 0 .1-.1.2-.1.3V42.7c0 .2.1.4.2.5v.1c.1.1.1.3.2.4 0 .1.1.1.1.2l.2.2 30 33 .1.101.1.1.1.099s.1 0 .1.1c.1 0 .1.1.2.1 0 0 .1 0 .1.101 0 0 .1 0 .1.1 0 0 .1 0 .1.101H49.7s.1 0 .1-.101c0 0 .1 0 .1-.1 0 0 .1 0 .1-.101 0 0 .1 0 .1-.1.1 0 .1-.1.2-.1 0 0 .1 0 .1-.101l.1-.1.1-.101.1-.098 30-33 .2-.2c0-.1.1-.1.1-.2.6-.1.7-.2.7-.4zM49 39h-4.8l4.8-8.1 4.8 8.1H49zm0 6h6l-6 19.7L43 45h6zm5.2-17h7.5l-2.8 8-4.7-8zm-15.1 8l-2.8-8h7.5l-4.7 8zm-2.3 9l5.5 18.1L25.8 45h11zm24.4 0h11L55.7 63.1 61.2 45zm12-6h-9l3-8.5 6 8.5zm-42.4-8.5l3 8.5h-9l6-8.5z\"}},\ncustom44:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M69.7 28.9C64.4 22.3 60.1 20 51 20c-4.1 0-9 1.6-11 2 0-1.1-.9-2-2-2h-4c-1.1 0-2 .9-2 2v8c0 1.1.9 2 2 2h4c1.1 0 2-.9 2-2h2.1c1.6 0 2.9 1.3 2.9 2.9v.1c0 1.7 1.3 3 3 3v16c-2.2 0-4 1.8-4 4v18c0 3.3 2.7 6 6 6h2c3.3 0 6-2.7 6-6V56c0-2.2-1.8-4-4-4V36c1.7 0 3-2.2 3-3.9V32c0-1.5 1.2-2.7 2.7-2.8 4-.2 6.2 1.4 7.3 2.3.6.5 1.6.6 2.2.1 1-.6 1.2-1.8.5-2.7z\"}},\ncustom45:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M33 43h34v14H33z\"},{\"d\":\"M82 41.3V36c0-3.3-2.7-6-6-6H24c-3.3 0-6 2.7-6 6v5.3c0 .7.4 1.4 1 1.7 2.4 1.4 4 4 4 6.9 0 3-1.6 5.5-4 6.9-.6.4-1 1-1 1.7V64c0 3.3 2.7 6 6 6h52c3.3 0 6-2.7 6-6v-5.3c0-.7-.4-1.4-1-1.7-2.4-1.4-4-4-4-6.9 0-3 1.6-5.5 4-6.9.6-.5 1-1.1 1-1.9zM71 63H29c-1.1 0-2-.9-2-2V39c0-1.1.9-2 2-2h42c1.1 0 2 .9 2 2v22c0 1.1-.9 2-2 2z\"}]}},\ncustom46:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M61 37H39c-1.1 0-2 .9-2 2v22c0 1.1.9 2 2 2h22c1.1 0 2-.9 2-2V39c0-1.1-.9-2-2-2z\"},{\"d\":\"M78.5 27.2c.9-.3 1.5-1 1.5-1.9V22c0-1.1-.9-2-2-2h-3.3c-.9 0-1.601.6-1.9 1.5-.6 2-2.5 3.5-4.8 3.5s-4.1-1.5-4.8-3.5c-.3-.9-1-1.5-1.9-1.5h-4.6c-.9 0-1.601.6-1.9 1.5-.6 2-2.5 3.5-4.8 3.5s-4.1-1.5-4.8-3.5c-.3-.9-1-1.5-1.9-1.5h-4.6c-.9 0-1.6.6-1.9 1.5-.6 2-2.5 3.5-4.8 3.5-2.2 0-4.1-1.5-4.8-3.5-.3-.9-1-1.5-1.9-1.5H22c-1.1 0-2 .9-2 2v3.3c0 .9.6 1.6 1.5 1.9 2 .6 3.5 2.5 3.5 4.8s-1.5 4.1-3.5 4.8c-.9.3-1.5 1-1.5 1.9v4.6c0 .9.6 1.6 1.5 1.9 2 .6 3.5 2.5 3.5 4.8s-1.5 4.1-3.5 4.8c-.9.3-1.5 1-1.5 1.9v4.6c0 .9.6 1.601 1.5 1.9 2 .6 3.5 2.5 3.5 4.8s-1.5 4.1-3.5 4.8c-.9.3-1.5 1-1.5 1.9V78c0 1.1.9 2 2 2h3.3c.9 0 1.6-.6 1.9-1.5.6-2 2.5-3.5 4.8-3.5 2.2 0 4.1 1.5 4.8 3.5.3.9 1 1.5 1.9 1.5h4.6c.9 0 1.6-.6 1.9-1.5.6-2 2.5-3.5 4.8-3.5s4.1 1.5 4.8 3.5c.3.9 1 1.5 1.9 1.5h4.6c.9 0 1.601-.6 1.9-1.5.6-2 2.5-3.5 4.8-3.5s4.1 1.5 4.8 3.5c.3.9 1 1.5 1.9 1.5H78c1.1 0 2-.9 2-2v-3.3c0-.9-.6-1.601-1.5-1.9-2-.6-3.5-2.5-3.5-4.8s1.5-4.1 3.5-4.8c.9-.3 1.5-1 1.5-1.9v-4.6c0-.9-.6-1.601-1.5-1.9-2-.6-3.5-2.5-3.5-4.8s1.5-4.1 3.5-4.8c.9-.3 1.5-1 1.5-1.9v-4.6c0-.9-.6-1.6-1.5-1.9-2-.6-3.5-2.5-3.5-4.8s1.5-4.1 3.5-4.8zM69 63c0 3.3-2.7 6-6 6H37c-3.3 0-6-2.7-6-6V37c0-3.3 2.7-6 6-6h26c3.3 0 6 2.7 6 6v26z\"}]}},\ncustom47:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M64 72H30c-3.3 0-6 2.7-6 6v.1c0 1 .9 1.9 1.9 1.9h42.2c1 0 1.9-.9 1.9-1.9V78c0-3.3-2.7-6-6-6zM77.4 40.4L61.5 25.6l2.6-3.9c.4-.6.101-1.4-.6-1.5-4.9-1-7.9 2.4-7.9 2.4-30.8 0-25.8 33.9-24.3 41.8.2.899 1 1.6 2 1.6h27.1c.8 0 1.3-1 .8-1.6-5.5-6.7-8.4-14.2-10.2-19-.3-.8.5-1.7 1.3-1.3 7.3 3.7 10.3-.3 15.2 2.8 2.4 1.5 5.4 1.1 7.4-.9l2.699-2.7c.601-.8.601-2.1-.199-2.9zM57 37c-1.7 0-3-1.3-3-3s1.3-3 3-3 3 1.3 3 3-1.3 3-3 3z\"}}},\ncustom48:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M78 24H68v-2c0-1.1-.9-2-2-2H34c-1.1 0-2 .9-2 2v2H22c-1.1 0-2 .9-2 2v13c0 5 4 9 9 9h4.6c2.8 6.4 8.9 10.9 16.3 11 7.6.1 14-4.5 16.7-11H71c5 0 9-4 9-9V26c0-1.1-.9-2-2-2zM29 42c-1.7 0-3-1.3-3-3v-9h6v10.6c0 .5 0 .9.1 1.4H29zm45-3c0 1.7-1.3 3-3 3h-3.1c0-.4.1-.9.1-1.3V30h6v9zM60 74h-1c-3.3 0-6-2.7-6-6v-2c0-.6-.4-1-1-1h-4c-.6 0-1 .4-1 1v2c0 3.3-2.7 6-6 6h-1c-1.1 0-2 .9-2 2v2c0 1.1.9 2 2 2h20c1.1 0 2-.9 2-2v-2c0-1.1-.9-2-2-2z\"}}},\ncustom49:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M50 41c-5 0-9 4-9 9s4 9 9 9 9-4 9-9-4-9-9-9zm0 14c-2.8 0-5-2.2-5-5s2.2-5 5-5 5 2.2 5 5-2.2 5-5 5z\"},{\"d\":\"M50 20c-16.6 0-30 13.4-30 30s13.4 30 30 30 30-13.4 30-30-13.4-30-30-30zm0 52.9c0 1.199-1 2.1-2.2 2-12.1-1-21.7-10.7-22.8-22.8 0-1.1.9-2.1 2.1-2.1h2c1 0 1.9.8 2 1.8.9 9 8.1 16.2 17.1 17.1 1 .1 1.8 1 1.8 2v2zm0-7.9c-8.3 0-15-6.7-15-15s6.7-15 15-15 15 6.7 15 15-6.7 15-15 15zm22.9-15h-2c-1 0-1.9-.8-2-1.8-.9-9-8.1-16.2-17.1-17.1-1-.1-1.8-1-1.8-2v-2c0-1.2 1-2.1 2.2-2 12.1 1 21.7 10.7 22.8 22.8 0 1.1-.9 2.1-2.1 2.1z\"}]}},\ncustom5:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M78.8 25.5c-10.2-3.9-22.1-4.8-32.5-1.4-9.3 3.1-18.8 10-20.2 20.4-.3 2.2-.2 4.5.3 6.6.2 1.101.6 2.2 1 3.301.2.6.4 1.1.7 1.6l-1.2 1.8C24 62.3 22 67.4 20.8 72.6c-.5 2.2-1.7 5.4.6 7 .9.601 2.2.601 3.1.101 1.2-.7 1.4-1.9 1.6-3.2.9-5.3 2.7-10.6 5.6-15.1 1.4-2.2 2.9-4.4 4.6-6.4 1.5-1.6 3.7-4.7 6.2-3.8 2.5.899 2.4 3.8.7 5.3s-3.1 3.1-3.1 5.5c0 1.8.8 3.6 2.3 4.8 2 1.601 6 2 8.4 1.8 5.3-.3 9.601-1.899 13.9-5C70.3 59.7 72.5 52.9 73.6 46.4c.7-4 1.2-8 2.601-11.8.6-1.6 1.399-3.2 2.3-4.6.4-.7 1.2-1.5 1.4-2.3.299-1-.301-1.9-1.101-2.2z\"}},\ncustom50:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M76.6 56.3C74.3 57.4 71.7 58 69 58c-3.3 0-6.3-.9-9-2.4a.912.912 0 00-1 0c-2.6 1.6-5.7 2.4-9 2.4s-6.3-.9-9-2.4a.912.912 0 00-1 0c-2.6 1.6-5.7 2.4-9 2.4-2.7 0-5.3-.6-7.6-1.7-.6-.3-1.4.2-1.4.9v12.1c0 2.4 1.4 4.5 3.6 5.5 5 2.2 10.4 3.8 16.1 4.601 1.2.199 2.3-.801 2.3-2v-7.5c0-3.301 2.7-5.9 5.9-5.9h.1c3.3 0 5.9 2.7 5.9 5.9v7.5c0 1.199 1.1 2.1 2.3 2 5.6-.801 11-2.4 16.1-4.601 2.2-1 3.601-3.1 3.601-5.5V57.2c.099-.7-.701-1.2-1.301-.9zM31 52c3.6 0 6.7-1.5 8.7-3.9.4-.5 1.1-.5 1.5 0 2 2.4 5.2 3.9 8.7 3.9 3.6 0 6.7-1.5 8.7-3.9.4-.5 1.101-.5 1.5 0 2 2.4 5.2 3.9 8.7 3.9 5.601 0 10.3-3.9 10.9-8.8.1-.7-.2-1.4-.8-1.8l-25.3-20c-2.199-1.7-5.3-1.7-7.399 0l-25.5 20c-.6.4-.8 1.1-.8 1.8C20.7 48.2 25.4 52 31 52z\"}}},\ncustom51:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M40.5 25.6c2.5 1.7 5 5.8 6 8.9.2.7.8 1.2 1.5 1.3.7.2 1.3.2 2 .2 1.1 0 2 0 2.9-.4 2.6-.9 4.8-2 6.699-3.9 3.101-3.1 4.2-7.5 3-11.2-3.699-1.1-8.1-.1-11.199 3-.9.9-1.601 1.9-2.2 3-1.6-2.5-3.5-4.7-5.7-6.1-1.5-.9-3.4-.4-4.3 1.1-.6 1.5 0 3.2 1.3 4.1zM71.2 40.2c-10.3-5.8-12.5 2-21.2 2s-10.9-7.8-21.2-2c-10 5.7-7.1 24.1-3.1 31 3.6 6.1 10.1 12.4 23.4 6.4.5-.199 1.2-.199 1.7 0 13.3 6 19.9-.3 23.4-6.399 4.1-6.901 7-25.401-3-31.001z\"}}},\ncustom52:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M79.9 35.1c.199-3.2 0-6.4-.5-9.5-.4-2.6-2.4-4.6-5-5-3.2-.5-6.301-.7-9.5-.5-.9 0-1.301 1.1-.7 1.7l14 14c.6.6 1.7.1 1.7-.7zM56.3 22.3c-.5-.5-1.3-.7-1.899-.5-7.5 2.1-14.7 6.1-20.601 12.1-5.8 5.8-9.7 12.7-11.9 20-.2.699 0 1.5.5 2l21.8 21.8c.5.5 1.3.7 2 .5 7.3-2.2 14.2-6.101 20-11.9 5.899-5.899 10-13 12.1-20.6.2-.7 0-1.4-.5-1.9L56.3 22.3zm-8.4 39.3c-1.2 1.2-3.1 1.2-4.2 0L38.1 56c-1.2-1.2-1.2-3.1 0-4.2 1.2-1.2 3.1-1.2 4.2 0l5.6 5.601c1.2 1.099 1.2 2.999 0 4.199zm7-7c-1.2 1.2-3.101 1.2-4.2 0L45.1 49c-1.2-1.2-1.2-3.1 0-4.2 1.2-1.2 3.1-1.2 4.2 0l5.601 5.6c1.199 1.1 1.199 3-.001 4.2zm7-7.1c-1.2 1.2-3.101 1.2-4.2 0l-5.6-5.6c-1.199-1.2-1.199-3.1 0-4.2 1.2-1.2 3.101-1.2 4.2 0l5.601 5.6c1.199 1.2 1.199 3.1-.001 4.2zM20.1 64.3c-.2 3.4-.1 6.8.5 10.2.4 2.6 2.4 4.6 5 5 3.4.5 6.8.7 10.2.5.9-.1 1.3-1.1.7-1.7L21.8 63.6c-.6-.6-1.7-.2-1.7.7z\"}}},\ncustom53:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M74.7 57h-.6c-2.3 0-4.1-1.8-4.1-4.1V39.7c0-11.6-10.4-20.9-22.3-19.5C37.5 21.3 30 30.2 30 40.5v11.9c0 2.5-2.1 4.6-4.6 4.6h-.1c-1.8 0-3.3 1.5-3.3 3.3v2.4c0 1.8 1.5 3.3 3.3 3.3h49.4c1.8 0 3.3-1.5 3.3-3.3v-2.4c0-1.8-1.5-3.3-3.3-3.3zM56.6 72H43.4c-.8 0-1.5.6-1.3 1.4.7 3.8 4 6.6 8 6.6s7.2-2.7 8-6.6c0-.8-.6-1.4-1.5-1.4z\"}}},\ncustom54:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M27.2 49.1c6.5-1.2 12.2-3.8 18.4-6.7 2-.9 5.7-2.7 7.5-3.5.601-.3 1-.9.801-1.6C53.4 34.4 51 32 48 32h-2v-3.8c0-1.1-1-2.1-2-2.1V22c0-1.1-.9-2.1-2-2.1h-4c-1.1 0-2 .9-2 2.1v4.1c-1 0-2 .9-2 2.1V32h-2c-3.3 0-6 3.1-6 6.5v9.6c0 .6.6 1.1 1.2 1zM72 69.2s7.3-11.4 8-27.5c0-1.2-.9-2.2-2.1-2.2-23.8.9-34.9 15.5-56 16.4-1.1 0-1.9 1-1.9 2v7.6c0 3.3 2.5 5.9 5.6 6.1 10.5.7 33 2.2 45.9 4.301 1.3.199 2.5-1 2.3-2.301-.3-1.5-.8-3.3-1.8-4.4zM71 51c-1.7 0-3-1.3-3-3s1.3-3 3-3 3 1.3 3 3-1.3 3-3 3z\"}}},\ncustom55:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M32 61h13c1.1 0 2-.9 2-2V29c0-2.2-2-4-4-4H32.3C31 25 30 26 30 27.3V59c0 1.1.9 2 2 2z\"},{\"d\":\"M76 31v32c0 2.2-1.8 4-4 4H28c-2.2 0-4-1.8-4-4V31c-3.3 0-6 2.7-6 6v30c0 3.3 2.7 6 6 6h19c1.1 0 2 .9 2 2s.9 2 2 2h6c1.1 0 2-.9 2-2s.9-2 2-2h19c3.3 0 6-2.7 6-6V37c0-3.3-2.7-6-6-6z\"},{\"d\":\"M55 61h12.7c1.3 0 2.3-1 2.3-2.3V27c0-1.1-.9-2-2-2H57c-2 0-4 1.8-4 4v30c0 1.1.9 2 2 2z\"}]}},\ncustom56:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M62.7 30.3c-6.3 6.3-13.9-1.4-20.9 5.6L21.7 56c-2.3 2.3-2.3 6 0 8.3l7 7 7 7c2.3 2.3 6 2.3 8.3 0l20.2-20.2c7-7-.7-14.6 5.6-20.899l1.601-1.6c.399-.4.399-1 0-1.4l-5.5-5.5c-.4-.4-1-.4-1.4 0L62.7 30.3zM57.9 56l-7 7c-.8.8-2 .8-2.8 0l-5.6-5.6-5.6-5.6c-.8-.8-.8-2 0-2.8l7-7c.8-.8 2-.8 2.8 0l5.6 5.6 5.601 5.6c.799.8.799 2-.001 2.8zM79.4 24.7l-2.1-2.1-2.1-2.1c-.8-.8-2-.8-2.8 0l-2.6 2.6c-.399.4-.399 1 0 1.4l5.5 5.5c.4.4 1 .4 1.4 0l2.6-2.6c.9-.6.9-1.9.1-2.7z\"}}},\ncustom57:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M53 52.6V77c0 .8.8 1.2 1.5.9 4.8-2.7 19.4-11 19.4-11 1.9-1.1 3.1-3.1 3.1-5.3V39.7c0-.8-.8-1.2-1.5-.9L54 50.9c-.6.4-1 1-1 1.7zM51 45.8l21.6-12.1c.7-.4.7-1.3 0-1.7-4.8-2.7-19.5-11.1-19.5-11.1a6.237 6.237 0 00-6.2 0S32.2 29.2 27.4 32c-.7.4-.7 1.3 0 1.7L49 45.8c.6.3 1.4.3 2 0zM46 50.9L24.5 38.8c-.7-.4-1.5.1-1.5.9v21.8c0 2.2 1.2 4.2 3.1 5.3 0 0 14.6 8.3 19.4 11 .7.4 1.5-.1 1.5-.899V52.6c0-.7-.4-1.3-1-1.7z\"}}},\ncustom58:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M67 46c-1.7 0-3.1-1.4-3-3.2.1-1.6 1.5-2.8 3.2-2.8h8.6c.4 0 .7-.2.9-.5.8-1.4 1.399-2.8 1.899-4.1.201-.7-.199-1.4-.899-1.4h-6.4c-1.6 0-3.1-1.2-3.2-2.8-.1-1.7 1.3-3.2 3-3.2h8c.601 0 1-.4 1-1v-3c0-1.1-.899-2-2-2H67.4c-3 0-5.4 2.4-5.4 5.4v.1c0 5.6-3.7 10.6-9 12v-8.3c2.1-1.2 3.4-3.5 3-6.2-.4-2.6-2.6-4.7-5.2-5-3.6-.4-6.7 2.4-6.7 6 0 2.2 1.2 4.1 3 5.2v8.4c-5.3-1.4-9-6.4-9-12v-.1c0-3-2.4-5.4-5.4-5.4H22c-1.1 0-2 .9-2 2v3c0 .6.4 1 1 1h7.8c1.6 0 3.1 1.2 3.2 2.8.1 1.7-1.3 3.2-3 3.2h-6.5c-.7 0-1.2.7-.9 1.4.5 1.3 1.1 2.7 1.9 4.1.2.3.5.5.9.5H33c1.6 0 3.1 1.2 3.2 2.8.1 1.7-1.3 3.2-3 3.2h-2.4c-.9 0-1.4 1.2-.6 1.8 4.2 3.6 9.8 6.2 17 6.2v22.8c0 1.6 1.2 3.1 2.8 3.199 1.7.101 3.2-1.3 3.2-3V54c7.2 0 12.8-2.6 17-6.2.7-.6.3-1.8-.601-1.8H67z\"}},\ncustom59:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M68.3 31c1 0 1.7-.8 1.7-1.7 0-.7-.4-1.4-1.1-1.8-1.301-.7-3.301-4.1-4-6.2-.2-.8-1-1.3-1.801-1.3H38.8c-.8 0-1.6.5-1.8 1.3-.6 2-2.7 5.5-3.9 6.2-.6.4-1 1-1 1.8 0 1 .8 1.7 1.7 1.7h34.5zM32 73.9c0 3.399 2.7 6.1 6 6.1h26c3.3 0 6-2.7 6-6v-.1c0-1.101-.9-1.9-1.9-1.9H33.9c-1 0-1.9.9-1.9 1.9zM70 64V39c0-1.1-.9-2-2-2H34c-1.1 0-2 .9-2 2v25c0 1.1.9 2 2 2h34c1.1 0 2-.9 2-2z\"}}},\ncustom6:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M50 76H24c-3.1 0-5-3.4-3.4-6l26-44c1.5-2.6 5.3-2.6 6.9 0l26 44c1.6 2.7-.4 6-3.4 6H50z\"}},\ncustom60:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M80 45.3C77.6 31 65.1 20 50 20S22.4 31 20 45.3c-.2.9.9 1.6 1.6 1 1.5-1.3 3.4-2 5.6-2 2.8 0 5.2 1.3 6.8 3.3.4.5 1.2.5 1.6 0 1.6-2 4-3.3 6.8-3.3s5.2 1.3 6.8 3.3c.4.5 1.2.5 1.6 0 1.601-2 4-3.3 6.8-3.3 2.801 0 5.2 1.3 6.801 3.3.399.5 1.199.5 1.6 0 1.6-2 4-3.3 6.8-3.3 2.101 0 4.101.8 5.601 2 .698.6 1.698 0 1.598-1zM62 68c-1.7 0-3 1.3-3 3s-1.3 3-3 3-3-1.3-3-3V57c0-1.7-1.3-3-3-3s-3 1.3-3 3v14c0 5 4 9 9 9s9-4 9-9c0-1.7-1.3-3-3-3z\"}}},\ncustom61:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M73 20h-4c-1.1 0-2 .9-2 2v4c0 1.1-.9 2-2 2h-2c-1.1 0-2-.9-2-2v-4c0-1.1-.8-2-2-2h-4c-1.1 0-2 .9-2 2v4c0 1.1-.9 2-2 2h-2c-1.1 0-2-.9-2-2v-4c0-1.1-.9-2-2-2h-4c-1.1 0-2 .9-2 2v4c0 1.1-.9 2-2 2h-2c-1.1 0-2-.9-2-2v-4c0-1.1-.9-2-2-2h-4c-1.1 0-2 .9-2 2v10c0 3.3 2.7 6 6 6h38c3.3 0 6-2.7 6-6V22c0-1.1-.9-2-2-2zM68.5 45.7c-.1-1-1-1.7-2-1.7h-33c-1 0-1.9.7-2 1.7l-4.5 32c-.2 1.2.8 2.3 2 2.3h12.9c1.1 0 2.1-.9 2.1-2v-9.7c0-3.3 2.5-6.2 5.8-6.2 3.4-.1 6.2 2.601 6.2 6v10c0 1.101 1 2 2.1 2H71c1.2 0 2.2-1.1 2-2.3l-4.5-32.1z\"}}},\ncustom62:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M77 70H23c-1.6 0-3 1.3-3 3 0 1.6 1.3 3 3 3h54c1.6 0 3-1.3 3-3s-1.3-3-3-3zM24 64h34v-4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2v4h4c1.1 0 2-.9 2-2V28c0-1.1-.9-2-2-2H24c-1.1 0-2 .9-2 2v34c0 1.1.9 2 2 2zm9-26c0-1.1.9-2 2-2h29c1.1 0 2 .9 2 2v2c0 1.1-.9 2-2 2H35c-1.1 0-2-.9-2-2v-2zm0 12c0-1.1.9-2 2-2h19c1.1 0 2 .9 2 2v2c0 1.1-.9 2-2 2H35c-1.1 0-2-.9-2-2v-2z\"}}},\ncustom63:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M42 60h16c1.1 0 2-.9 2-2V42c0-1.1-.9-2-2-2H42c-1.1 0-2 .9-2 2v16c0 1.1.9 2 2 2z\"},{\"d\":\"M77 53c1.7 0 3-1.3 3-3s-1.3-3-3-3h-5v-6h5c1.7 0 3-1.3 3-3s-1.3-3-3-3h-5v-1c0-3.3-2.7-6-6-6h-1v-5c0-1.7-1.3-3-3-3s-3 1.3-3 3v5h-6v-5c0-1.7-1.3-3-3-3s-3 1.3-3 3v5h-6v-5c0-1.7-1.3-3-3-3s-3 1.3-3 3v5h-1c-3.3 0-6 2.7-6 6v1h-5c-1.7 0-3 1.3-3 3s1.3 3 3 3h5v6h-5c-1.7 0-3 1.3-3 3s1.3 3 3 3h5v6h-5c-1.7 0-3 1.3-3 3s1.3 3 3 3h5v1c0 3.3 2.7 6 6 6h1v5c0 1.7 1.3 3 3 3s3-1.3 3-3v-5h6v5c0 1.7 1.3 3 3 3s3-1.3 3-3v-5h6v5c0 1.7 1.3 3 3 3s3-1.3 3-3v-5h1c3.3 0 6-2.7 6-6v-1h5c1.7 0 3-1.3 3-3s-1.3-3-3-3h-5v-6h5zM66 63c0 1.7-1.3 3-3 3H37c-1.7 0-3-1.3-3-3V37c0-1.7 1.3-3 3-3h26c1.7 0 3 1.3 3 3v26z\"}]}},\ncustom64:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M50 20c-16.5 0-30 13.5-30 30s13.5 30 30 30 30-13.5 30-30-13.5-30-30-30zm0 52c-12.1 0-22-9.9-22-22s9.9-22 22-22 22 9.9 22 22-9.9 22-22 22z\"},{\"d\":\"M61.6 37.1l-16.6 6c-.9.3-1.6 1-1.9 1.9l-6 16.6c-.3.8.5 1.6 1.3 1.3l16.6-6c.9-.301 1.6-1 1.9-1.9l6-16.6c.3-.8-.5-1.6-1.3-1.3zM50 54c-2.2 0-4-1.8-4-4s1.8-4 4-4 4 1.8 4 4-1.8 4-4 4z\"}]}},\ncustom65:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M72.1 67H21.9c-1 0-1.9.9-1.9 1.9v.1c0 3.3 2.7 6 6 6h42c3.3 0 6-2.7 6-6v-.1c0-1-.9-1.9-1.9-1.9zM70 27H22.1c-1 0-1.8.9-1.9 2-.3 2.7-.3 7.5.1 10.4 1.3 9.3 6.3 17.2 13.2 21.4.3.2.7.3 1 .3h20.9c.399 0 .699-.1 1-.3 3.899-2.399 7.3-6 9.6-10.4 1.2.4 2.5.6 3.9.6 6.6 0 12-5.4 12-12S76.6 27 70 27zm0 18c-.5 0-1-.1-1.5-.2 1-3.2 1.5-6.6 1.5-10.2V33c3.3 0 6 2.7 6 6s-2.7 6-6 6z\"}}},\ncustom66:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M78.3 55.3L63.7 40.7c-2.3-2.3-6-2.3-8.3 0L40.7 55.3c-2.3 2.3-2.3 6 0 8.3l14.6 14.6c2.3 2.3 6 2.3 8.3 0l14.6-14.6c2.4-2.2 2.4-6 .1-8.3zM50.7 62c-1.4 1.4-3.6 1.4-4.9 0-1.4-1.4-1.4-3.6 0-4.9 1.4-1.399 3.6-1.399 4.9 0 1.3 1.3 1.3 3.5 0 4.9zM62 73.3c-1.4 1.4-3.6 1.4-4.9 0-1.4-1.4-1.4-3.6 0-4.9 1.4-1.4 3.601-1.4 4.9 0 1.3 1.3 1.3 3.5 0 4.9zm0-22.6c-1.4 1.399-3.6 1.399-4.9 0-1.399-1.4-1.399-3.6 0-4.9 1.4-1.4 3.601-1.4 4.9 0 1.3 1.3 1.3 3.5 0 4.9zM73.3 62c-1.399 1.4-3.6 1.4-4.899 0-1.4-1.4-1.4-3.6 0-4.9 1.399-1.4 3.599-1.4 4.899 0 1.4 1.3 1.4 3.5 0 4.9zM53 33.5V26c0-3.3-2.7-6-6-6H26c-3.3 0-6 2.7-6 6v21c0 3.3 2.7 6 6 6h7.5c.6 0 1.2-.3 1.6-.7.3-.399.7-.8 1.1-1.2L51 36.2c.4-.4.8-.7 1.2-1.1.5-.4.8-1 .8-1.6zM28.5 48c-1.9 0-3.5-1.6-3.5-3.5s1.6-3.5 3.5-3.5 3.5 1.6 3.5 3.5-1.6 3.5-3.5 3.5zm8-8c-1.9 0-3.5-1.6-3.5-3.5s1.6-3.5 3.5-3.5 3.5 1.6 3.5 3.5-1.6 3.5-3.5 3.5zm8-8c-1.9 0-3.5-1.6-3.5-3.5s1.6-3.5 3.5-3.5 3.5 1.6 3.5 3.5-1.6 3.5-3.5 3.5z\"}}},\ncustom67:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M54 53.1L52.8 51c-.5-.8-1.3-1.3-2.2-1.3-.3 0-.6.1-.899.2l-3.5 1.3c-1.4-1.2-2.9-2-4.6-2.6L41 45c-.2-1.2-1.3-1.9-2.5-1.9H36c-1.2 0-2.3.7-2.5 2l-.6 3.5c-1.7.6-3.2 1.5-4.6 2.7L24.8 50c-.3-.1-.6-.2-.9-.2-.9 0-1.8.5-2.2 1.3l-1.2 2.1c-.6 1.1-.4 2.399.6 3.2l2.9 2.4c-.2.9-.3 1.8-.3 2.601 0 .8.1 1.8.3 2.699l-2.9 2.4c-1 .8-1.2 2.2-.6 3.2l1.2 2.1c.5.8 1.3 1.3 2.2 1.3.3 0 .6-.1.9-.199l3.5-1.301c1.4 1.2 2.9 2.101 4.6 2.601l.6 3.7C33.7 79.1 34.8 80 36 80h2.5c1.2 0 2.3-.9 2.5-2.1l.6-3.7c1.8-.601 3.4-1.601 4.8-2.8l3.3 1.3c.3.1.6.2.899.2.9 0 1.7-.5 2.2-1.2l1.2-2c.6-1.101.4-2.5-.6-3.3L50.5 64c.2-.9.3-1.8.3-2.6 0-.9-.1-1.801-.3-2.7l2.9-2.4c.9-.8 1.2-2.2.6-3.2zM37.2 68.3c-3.7 0-6.8-3-6.8-6.8s3-6.8 6.8-6.8c3.7 0 6.8 3 6.8 6.8s-3.1 6.8-6.8 6.8zM79.2 39l-2.3-1.9c.1-.7.2-1.4.2-2.1s-.1-1.5-.2-2.1l2.3-1.9c.8-.6 1-1.7.5-2.6l-1-1.7c-.4-.6-1.101-1-1.8-1-.2 0-.5.1-.7.1l-2.9 1.1c-1.1-1-2.399-1.7-3.7-2.1l-.5-3c-.199-1-1-1.6-2-1.6h-2c-1 0-1.899.6-2 1.6l-.5 2.9c-1.4.5-2.6 1.2-3.7 2.2L56 25.6c-.2-.1-.5-.1-.7-.1-.7 0-1.399.4-1.8 1l-1 1.7c-.5.9-.3 2 .5 2.6l2.3 1.9c-.1.7-.2 1.4-.2 2.1 0 .7.101 1.5.2 2.1L53 38.8c-.8.6-1 1.7-.5 2.6l1 1.7c.4.6 1.1 1 1.8 1 .2 0 .5 0 .7-.1l2.9-1.1c1.1 1 2.399 1.7 3.699 2.1l.5 2.9c.2 1 1 1.7 2 1.7h2c1 0 1.9-.7 2-1.7l.5-3c1.4-.5 2.801-1.3 3.9-2.3l2.7 1.1c.2.1.5.1.7.1.699 0 1.399-.4 1.8-1l1-1.6c.501-.4.301-1.5-.499-2.2zm-13.1 1.6c-3 0-5.5-2.5-5.5-5.5s2.5-5.5 5.5-5.5 5.5 2.5 5.5 5.5-2.4 5.5-5.5 5.5z\"}}},\ncustom68:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M50 20c-16.5 0-30 13.5-30 30s13.5 30 30 30 30-13.5 30-30-13.5-30-30-30zm23.8 27h-7.9c-.3-7.1-1.9-13.3-4.3-18 6.6 3.7 11.2 10.3 12.2 18zM47 27.3V47h-6.9c.5-9.4 3.5-16.8 6.9-19.7zM47 53v19.7c-3.4-2.9-6.4-10.3-6.9-19.7H47zm6 19.7V53h6.9c-.5 9.4-3.5 16.8-6.9 19.7zM53 47V27.3c3.4 2.9 6.4 10.3 6.9 19.7H53zM38.4 29c-2.4 4.7-3.9 10.9-4.3 18h-7.9c1-7.7 5.6-14.3 12.2-18zM26.2 53h7.9c.3 7.1 1.9 13.3 4.3 18-6.6-3.7-11.2-10.3-12.2-18zm35.4 18c2.4-4.7 3.9-10.9 4.301-18H73.8c-1 7.7-5.6 14.3-12.2 18z\"}},\ncustom69:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M52.6 45.1c-5.7-4.3-11.5-2.2-15.3 1.4-1.4 1.3-3.6 2.1-6 2.8-2.8.9-5.7 1.8-7.8 3.9-5.6 5.5-4.5 12.1 3.3 19.8l.1.1.1.1c4.6 4.5 8.8 6.7 12.6 6.7 2.8 0 5.3-1.101 7.7-3.4 2.1-2 3.1-4.9 4-7.6.8-2.3 1.6-4.6 2.9-5.9 2.3-2.2 3.6-4.8 3.899-7.4.201-1.9-.199-4.6-2.399-7.4 0 0-1.2-1.6-3.1-3.1zM40.2 69.2c-.5.5-1.2.8-2 .8s-1.4-.3-1.9-.8l-5.5-5.5c-1.1-1.101-1.1-2.8 0-3.9s2.8-1.1 3.9 0l5.5 5.5c1.1 1.1 1.1 2.8 0 3.9zM45 61c-2.8 0-5-2.2-5-5s2.2-5 5-5 5 2.2 5 5-2.2 5-5 5zM79.4 25.2l-4.6-4.6c-.8-.8-2.2-.8-3.1 0l-5.1 5.1c-.8.8-.8 2.2 0 3.1l.2.2-10.3 10.3c-.4.4-.4 1.1 0 1.5.8.7 2.1 1.9 2.9 2.7.399.4 1 .4 1.399 0L71 33.3l.2.2c.8.8 2.2.8 3.1 0l5.101-5.1c.799-.9.799-2.3-.001-3.2z\"}}},\ncustom7:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M28 78c-3.3 0-6-2.7-6-6V28c0-3.3 2.7-6 6-6h44c3.3 0 6 2.7 6 6v44c0 3.3-2.7 6-6 6H28z\"}},\ncustom70:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M47.9 63.8L36.4 52.5c-2.4-2.3-6.2-2.3-8.6 0l-7.2 7.1c-.8.801-.8 2.101 0 2.801L22 63.8l1.4 1.4L35 76.6l.7.7 2.2 2.101c.8.8 2.1.8 2.9 0L48 72.3c2.3-2.3 2.3-6.1-.1-8.5zm-18.7-4.2l1.5-1.399c.8-.8 2-.8 2.8 0l8.7 8.5c.8.8.8 2.1 0 2.8l-1.5 1.4c-.8.8-2 .8-2.8 0l-8.7-8.5c-.8-.801-.8-2.101 0-2.801zM41.7 49.2l9.3 9.1c.2.2.4.3.7.3l4.3-.1c.5 0 .9-.4.9-.9l.1-3.7c0-.5.4-.9.9-.9l3.8-.1c.5 0 .899-.4.899-.9l.101-3.7c0-.5.399-.9.899-.9l3.801-.1c.5 0 .899-.4.899-.9l.101-3.7c0-.5.399-.9.899-.9l3.8-.1c.5 0 .9-.4.9-.9l.1-3.8c0-.5.4-.8.801-.9l4.1-.6c.7-.1 1.1-.9.7-1.5l-8.8-13c-.7-1-2.101-1.1-3-.3l-26.3 26c-.6.6-.6 1.8.1 2.5z\"}}},\ncustom71:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M71.2 30.8c-5.9-5.9-13.8-9-22.1-8.8-16 .5-29.1 14.2-29.1 30.6V62c0 3.3 2.7 6 6 6h4v4.8c0 2.601 1.9 4.9 4.5 5.2 3 .3 5.5-2.1 5.5-5V55.2c0-2.601-1.9-4.9-4.5-5.2-3-.3-5.5 2.1-5.5 5v7h-2c-1.1 0-2-.9-2-2v-7.4C26 39.4 36.5 28.4 49.3 28c6.601-.2 12.7 2.2 17.4 6.8C71.4 39.4 74 45.5 74 52v8c0 1.1-.9 2-2 2h-2v-6.8c0-2.601-1.9-4.9-4.5-5.2-3-.3-5.5 2.1-5.5 5v17.8c0 2.601 1.9 4.9 4.5 5.2 3 .3 5.5-2.1 5.5-5v-5h4c3.3 0 6-2.7 6-6v-9.4c0-8.1-3-16-8.8-21.8z\"}},\ncustom72:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M77 20H23c-1.7 0-3 1.3-3 3s1.3 3 3 3h24v6.2c-10.8 1.4-19 10.6-19 21.7v6.9C28 68.1 33.8 74 41.2 74h17.7C66.2 74 72 68.1 72 60.7v-6.9c0-11.1-8.2-20.3-19-21.7V26h24c1.7 0 3-1.3 3-3s-1.3-3-3-3zM64 53.8c0 .1 0 0 0 0 0 2.9-2.3 5.2-5.2 5.2H41.2c-2.9 0-5.1-2.3-5.2-5.2v.1-.1.101C36.1 46.2 42.2 40 49.8 40h.4c7.6 0 13.7 6.2 13.8 13.8z\"},\"circle\":[{\"cx\":\"26\",\"cy\":\"76\",\"r\":\"4\"},{\"cx\":\"74\",\"cy\":\"76\",\"r\":\"4\"}]}},\ncustom73:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M23.5 35h53c1.3 0 2.3-1.3 1.9-2.5-1.2-4.1-3-7.9-5.4-11.2-.7-1-2.1-1.1-2.9-.3-2.4 2.2-5.7 3.5-9.2 3.5-3.7 0-7.101-1.5-9.601-4-.8-.7-2-.7-2.7 0-2.5 2.5-5.9 4-9.6 4-3.5 0-6.7-1.3-9.2-3.5-.9-.8-2.2-.6-2.9.3-2.4 3.3-4.2 7.1-5.4 11.2C21.2 33.7 22.2 35 23.5 35zM80 43c0-1.1-.9-2-2-2H22c-1.1 0-2 .9-2 2v.4C20 62 33 77.5 50 79.9 67 77.5 80 62 80 43.4V43z\"}}},\ncustom74:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M56 73H46c-1.1 0-2 .9-2 2v3c0 1.1.9 2 2 2h10c1.1 0 2-.9 2-2v-3c0-1.1-.9-2-2-2zM51 20c-12.2 0-22 9.4-22 21 0 7.5 4.1 14.1 10.4 17.8 2.4 1.4 4 3.8 4.5 6.5.2.9 1 1.601 2 1.601h10.4c1 0 1.8-.7 2-1.601.5-2.7 2.101-5.1 4.5-6.5C68.9 55.1 73 48.5 73 41c0-11.6-9.8-21-22-21zm-6.8 9.4c-2 3.8-3.1 8.3-3.2 11.9 0 3.7.7 7.3 2 10.8.4.9-.5 1.7-1.4 1.301C32.4 48.7 33 31.4 43 28c.8-.3 1.6.6 1.2 1.4zm7.7 23.8c-.301.8-1.5.8-1.8 0-1.6-3.9-2-8.5-2.1-12.7.1-4.2.5-8.8 2.1-12.7.3-.8 1.5-.8 1.8 0 1.6 3.9 2 8.5 2.1 12.7-.1 4.2-.5 8.8-2.1 12.7zm8.1.2c-.8.4-1.7-.4-1.4-1.3 1.4-3.6 2-7.6 2.101-11.399-.101-3.2-1.2-7.6-3.2-11.3-.4-.8.4-1.7 1.2-1.4C68.7 31.4 69.3 48.7 60 53.4z\"}}},\ncustom75:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M50 20c-1.7 0-3 1.3-3 3v54c0 1.7 1.3 3 3 3 16.5 0 30-13.5 30-30S66.5 20 50 20zm23.8 27h-7.9c-.3-7.1-1.9-13.3-4.3-18 6.6 3.7 11.2 10.3 12.2 18zM53 72.7V53h6.9c-.5 9.4-3.5 16.8-6.9 19.7zM53 47V27.3c3.4 2.9 6.4 10.3 6.9 19.7H53zm8.6 24c2.4-4.7 3.9-10.9 4.301-18H73.8c-1 7.7-5.6 14.3-12.2 18zM33.5 39.9c.8.6 2 .5 2.7-.3l5.5-6.2c.7-.8.7-2-.1-2.7l-5.5-5.5c-.7-.7-1.7-.8-2.5-.3-.4.2-.7.5-1.1.7C25 31 20 39.9 20 50c0 10.1 5 19 12.5 24.4.4.3.7.5 1.1.699.8.5 1.8.4 2.5-.3l5.5-5.5c.7-.7.8-2 .1-2.7L36.2 60.4c-.7-.801-1.9-.9-2.7-.301L31.4 61.7C29.2 58.3 28 54.3 28 50s1.2-8.3 3.4-11.7l2.1 1.6z\"}}},\ncustom76:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M52.9 55.3c-.3-.8-1.1-1.4-2-1.3H50c-11 0-20-9-20-20v-.5c0-1-1.3-1.4-1.8-.6-.7 1-1.2 2.2-1.6 3.5-1.7 5.7.5 11.9 5.3 15.4 2.2 1.601 4.5 2.3 6.9 2.601l.7 1.899c.1.3.3.5.5.601l3 1.3c.5.2.7.8.5 1.3l-1 2.9c-.2.5.1 1 .5 1.199l1.6.7c.5.2.7.8.5 1.3l-.9 3.1c-.1.5.1 1 .5 1.2l2.3 1c.5.199.7.8.5 1.3l-.8 3.1c-.1.5.1 1 .6 1.2l6.8 3.1c.5.2 1.101 0 1.301-.5l3-6.699c.199-.5.199-1 .1-1.5L52.9 55.3z\"},{\"d\":\"M79.4 54.3L63.5 37.7c.7-2.5.7-5.2-.3-8.1-1.9-5.3-6.8-9.2-12.5-9.5-8.6-.4-15.6 6.9-14.7 15.6.7 6 5.2 10.9 11.1 12.1 2.6.5 5.1.3 7.4-.5l1.4 1.5c.2.2.4.3.7.3H60c.6 0 1 .4 1 1l.3 3.1c0 .5.5.899 1 .899H64c.6 0 1 .4 1 1l.5 3.2c.1.5.5.8 1 .8H69c.6 0 1 .4 1 1l.5 3.2c.1.5.5.8 1 .8H79c.6 0 1-.399 1-1v-7.3c0-.699-.2-1.199-.6-1.499zM48 37c-2.8 0-5-2.2-5-5s2.2-5 5-5 5 2.2 5 5c0 2.7-2.2 5-5 5z\"}]}},\ncustom77:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M32 42h4c.6 0 1-.4 1-1v-1.5C37 31.9 42.7 26 50 26s13 5.9 13 13.5V41c0 .6.4 1 1 1h4c.6 0 1-.4 1-1v-1.5C69 28.6 60.7 20 50 20s-19 8.6-19 19.5V41c0 .6.4 1 1 1zM70 48H31c-3.3 0-6 2.7-6 6v20c0 3.3 2.7 6 6 6h39c3.3 0 6-2.7 6-6V54c0-3.3-2.7-6-6-6zM55.3 64.1c-.899 1.4-1.399 3-1 4.601l.7 3c.2 1.1-.6 2.3-1.8 2.3h-6.4c-1.2 0-2-1.2-1.8-2.3l.7-3.101c.4-1.6-.1-3.199-1-4.5-.9-1.3-1.3-2.899-1-4.5.5-2.399 2.5-4.3 5-4.8 4.1-.8 7.6 2.2 7.6 5.9 0 1.3-.4 2.4-1 3.4z\"}}},\ncustom78:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M78.3 29.3l-18-9c-.8-.4-1.8-.4-2.7 0L41 28.6l-16.7-8.3c-.9-.5-2-.4-2.9.1C20.5 21 20 22 20 23v45c0 1.1.6 2.2 1.7 2.7l18 9c.8.399 1.8.399 2.7 0L59 71.4l16.7 8.3c.4.2.9.3 1.3.3.5 0 1.1-.2 1.6-.4C79.5 79 80 78 80 77V32c0-1.1-.6-2.2-1.7-2.7zM74 35.1v23.7c0 1.4-1.4 2.4-2.7 1.9-4.6-1.8-1-9.5-4.3-13.7-3.1-3.9-7.2.1-11-6-3.7-5.9 1.3-10.1 5.7-12.4.6-.3 1.2-.3 1.8 0l9.3 4.7c.8.3 1.2 1 1.2 1.8zM48.5 69.9c-.7.399-1.6.3-2.2-.301C45 68.5 44 66.7 44 65c0-3-5-2-5-8 0-4.8-5.9-6.2-10.8-5.7-1.2.1-2.2-.8-2.2-2V31.1c0-1.5 1.6-2.5 2.9-1.8l10.8 5.4c.1 0 .2.1.3.1l.4.2c4.5 2.6 3.6 4.8 1.7 8-2.1 3.6-3 0-6-1s-6 1-5 3 4 0 6 2 2 5 8 3 7-1 9 1 3 6 0 9c-1.8 1.8-2.5 5.4-3.3 8-.2.5-.5 1-1 1.3l-1.3.6z\"}},\ncustom79:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M39 41c-3.9 0-7 3.1-7 7s3.1 7 7 7 7-3.1 7-7-3.1-7-7-7z\"},{\"d\":\"M79 63H60v-8h2c1.1 0 2-.9 2-2v-6c0-1.1-.9-2-2-2h-2.3c-1.601-10-10-17.8-20.4-18-11.8-.2-21.5 9.5-21.3 21.3.2 11.6 9.9 20.7 21.5 20.7H76v2c0 1.1.9 2 2 2h2c1.1 0 2-.9 2-2v-5c0-1.7-1.3-3-3-3zm-40-2c-7.2 0-13-5.8-13-13s5.8-13 13-13 13 5.8 13 13-5.8 13-13 13z\"}]}},\ncustom8:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M47 21.3l-24 26c-1.4 1.5-1.4 3.9 0 5.4l24 26c1.6 1.7 4.3 1.7 5.9 0l24-26c1.399-1.5 1.399-3.9 0-5.4l-24-26a4.05 4.05 0 00-5.9 0z\"}},\ncustom80:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M29 60c-5.5 0-10 4.5-10 10s4.5 10 10 10 10-4.5 10-10-4.5-10-10-10zm0 14c-2.2 0-4-1.8-4-4s1.8-4 4-4 4 1.8 4 4-1.8 4-4 4zM71 60c-5.5 0-10 4.5-10 10s4.5 10 10 10 10-4.5 10-10-4.5-10-10-10zm0 14c-2.2 0-4-1.8-4-4s1.8-4 4-4 4 1.8 4 4-1.8 4-4 4z\"},{\"d\":\"M70.4 54c2.199-.1 4.3.3 6.3 1 1 .4 2.1-.1 2.6-1 5.101-9.7-3.1-14.2-8.3-16.8-1.4-.6-3 .3-3 1.8v5.8c0 1.2-.8 2.4-2 2.2-7.4-1.2-14-9-22-9s-9 8-9 8c-5.6 0-11.1-.4-13.6-1-1.2-.3-2.4.7-2.4 2 0 0 0 7 10 7 8.2 0 15 6 15.9 14.2.2 2.2 0 4.399-.6 6.3-.2.7.3 1.4 1.1 1.4h9.2c.801 0 1.301-.7 1.101-1.4-.601-1.9-.8-3.9-.601-6 .7-7.8 7.3-14.2 15.3-14.5zM19 47zM45.3 31.5c.1.8.7 1.5 1.4 1.7l10.6 3.6c1 .3 2-.1 2.5-1l.9-1.7c.399-.7-.101-1.5-.8-1.6-3.101-.3-9.601-1.5-7.7-5 1.7-3 5.2-2.2 7.5-1.2.899.4 1.8-.6 1.399-1.5-1.5-3.2-5-5.2-8.699-4.8-4.7.5-8 5.1-7.4 9.8l.3 1.7z\"}]}},\ncustom81:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M76.9 20c-1 0-3.9.1-4.9.1-15.4.8-33.1 4.6-34 4.9-1.2.4-2 1.6-2 2.8v32.6c-1-.4-2.6-.6-4-.6-6.6 0-12 4.5-12 10s5.4 10 12 10 12-4.5 12-10V49.4c0-.9.6-1.7 1.5-1.9 4.9-1.2 11.7-2.5 24.4-3.3 1.199-.1 2.1.8 2.1 2v10.3c-1-.4-2.6-.6-4-.6-6.6 0-12 4.5-12 10s5.4 10 12 10 12-4.5 12-10V23c0-1.7-1.4-3.1-3.1-3zm-6.8 15.8c-12.2.7-18.4 1.9-23.7 3.1-1.3.3-2.4-.7-2.4-2v-3.1c0-.9.6-1.7 1.6-2 5.2-1.2 11.5-2.5 24.3-3.3 1.199-.1 2.1.8 2.1 2v3.2c0 1.2-.8 2.1-1.9 2.1z\"}},\ncustom82:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M80 44H59c-1.1 0-2 .9-2 2v1c0 1.6-1.3 3-3 3-1.6 0-3-1.3-3-3v-1c0-1.1-.9-2-2-2h-5 .1c-5.9.3-11 3.7-13.8 8.6-1-.399-2.1-.6-3.2-.6-5 0-9 4-9 9s4 9 9 9c1.1 0 2.2-.2 3.2-.6 2.8 4.899 8 8.3 13.8 8.6 9.8.5 17.9-7.3 17.9-17 0-.6 0-1.2-.1-1.8-.101-1 .6-2 1.6-2.2l16.9-3.7c.899-.2 1.6-1 1.6-2V46c0-1.1-.9-2-2-2zM27 64c-1.7 0-3-1.3-3-3s1.3-3 3-3c.4 0 .9.1 1.2.3-.2 1.2-.2 2.5-.2 3.8 0 .601.1 1.101.2 1.601-.4.199-.8.299-1.2.299zM54 37c1.7 0 3-1.3 3-3v-9c0-1.7-1.3-3-3-3s-3 1.3-3 3v9c0 1.7 1.3 3 3 3zM39.7 38c.6.7 1.4 1 2.3 1 .7 0 1.4-.2 2-.7 1.3-1.1 1.4-3 .3-4.2l-6-7c-1.1-1.3-3-1.4-4.2-.3-1.3 1.1-1.4 3-.3 4.2l5.9 7zM66 39c.8 0 1.7-.4 2.3-1l6-7c1.101-1.3.9-3.2-.3-4.2-1.3-1.1-3.2-.9-4.2.3l-6 7c-1.1 1.3-.899 3.2.3 4.2.5.5 1.2.7 1.9.7z\"}}},\ncustom83:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M74.6 39.3c.4.4 1 .4 1.4 0l1.4-1.4c3.4-3.4 3.5-8.6.2-11.9 0 0-4.3-4.4-4.399-4.4-3.4-2.8-8.101-1.5-10.8 1.2L61 24.2c-.4.4-.4 1 0 1.4l13.6 13.7zM56.6 29.8c-.399-.4-1-.4-1.399 0L27.7 57.1c-1.5 1.5-2.6 3.301-3.3 5.4L20.2 76c-.3.8-.2 1.8.2 2.5.6 1 1.6 1.5 2.6 1.5.3 0 .6 0 .9-.1 0 0 9.2-2.9 13.7-4.301 2-.6 3.8-1.699 5.3-3.199L70.3 45c.4-.4.4-1 0-1.4L56.6 29.8zM35.8 69.9c-2.1.699-5.4 1.699-8.2 2.6l2.6-8.2c.3-1.1.9-2 1.7-2.8l6.7 6.7c-.8.8-1.8 1.4-2.8 1.7z\"}}},\ncustom84:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M75 64H25c-1.7 0-3 1.3-3 3s1.3 3 3 3h4l1.7 8.5c.2.9 1 1.5 1.9 1.5h32.9c.9 0 1.7-.6 1.9-1.5L69 70h6c1.7 0 3-1.3 3-3s-1.3-3-3-3zM33 58h14v-5.6c-1.2-.7-2-2-2-3.4 0-2.2 1.8-4 4-4s4 1.8 4 4c0 1.5-.8 2.8-2 3.4V58h14c1.1 0 2-.9 2-2v-3c0-6.1-5.8-8.2-10.4-10.1-3.1-1.3-3.6-2.5-3.6-3.7 0-1.3.9-2.5 1.9-3.4 1.8-1.6 2.899-3.9 2.899-6.6 0-4.9-3.2-9.2-8.8-9.2-5.6 0-8.8 4.3-8.8 9.2 0 2.7 1 4.9 2.9 6.6 1 .9 1.9 2.1 1.9 3.4 0 1.3-.5 2.4-3.6 3.7C36.8 44.8 31 47.2 31 53v3c0 1.1.9 2 2 2z\"}}},\ncustom85:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M78 24H28v-2c0-1.1-.9-2-2-2h-4c-1.1 0-2 .9-2 2v56c0 1.1.9 2 2 2h4c1.1 0 2-.9 2-2V32h50c1.1 0 2-.9 2-2v-4c0-1.1-.9-2-2-2z\"},{\"d\":\"M74 38H40c-3.3 0-6 2.7-6 6v22c0 3.3 2.7 6 6 6h34c3.3 0 6-2.7 6-6V44c0-3.3-2.7-6-6-6zm-5.5 17H66v10c0 .6-.4 1-1 1h-4c-.6 0-1-.4-1-1v-6c0-.6-.4-1-1-1h-4c-.6 0-1 .4-1 1v6c0 .6-.4 1-1 1h-4c-.6 0-1-.4-1-1V55h-2.5c-.5 0-.7-.6-.3-.9l11.2-10.9c.399-.3.899-.3 1.3 0l11.2 10.9c.3.3.1.9-.4.9z\"}]}},\ncustom86:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M38 30h4c.6 0 1-.4 1-1v-3h14v3c0 .6.4 1 1 1h4c.6 0 1-.4 1-1v-3c0-3.3-2.7-6-6-6H43c-3.3 0-6 2.7-6 6v3c0 .6.4 1 1 1zM74 36H26c-3.3 0-6 2.7-6 6v32c0 3.3 2.7 6 6 6h48c3.3 0 6-2.7 6-6V42c0-3.3-2.7-6-6-6zM50 72c-7.7 0-14-6.3-14-14s6.3-14 14-14 14 6.3 14 14-6.3 14-14 14z\"},{\"d\":\"M56 55h-3v-3c0-1.1-.9-2-2-2h-2c-1.1 0-2 .9-2 2v3h-3c-1.1 0-2 .9-2 2v2c0 1.1.9 2 2 2h3v3c0 1.1.9 2 2 2h2c1.1 0 2-.9 2-2v-3h3c1.1 0 2-.9 2-2v-2c0-1.1-.9-2-2-2z\"}]}},\ncustom87:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M75 20H25c-1.7 0-3 1.3-3 3v48c0 1.7 1.3 3 3 3h1v3c0 1.7 1.3 3 3 3h2c1.7 0 3-1.3 3-3v-3h32v3c0 1.7 1.3 3 3 3h2c1.7 0 3-1.3 3-3v-3h1c1.7 0 3-1.3 3-3V23c0-1.7-1.3-3-3-3zM31 68c-1.7 0-3-1.3-3-3V29c0-1.7 1.3-3 3-3h38c1.7 0 3 1.3 3 3v36c0 1.7-1.3 3-3 3H31z\"},{\"d\":\"M64 32H36c-1.1 0-2 .9-2 2v26c0 1.1.9 2 2 2h28c1.1 0 2-.9 2-2V34c0-1.1-.9-2-2-2zm-4.7 18H51c-1.1 2-3.4 4-6.2 4-3.8 0-6.8-3.2-6.8-7s3-7 6.8-7c2.8 0 5.2 2 6.2 4h8.2c1.5 0 2.7 1.5 2.7 3s-1.1 3-2.6 3z\"}]}},\ncustom88:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M78.1 70H21.9c-1 0-1.9.8-1.9 1.8v.1c0 4.5 5.6 8.1 10 8.1h40c4.4 0 10-3.6 10-8.1v-.1c0-1-.9-1.8-1.9-1.8zM23 64h18c1.1 0 2-1.1 2-2.2V27.4c0-.5-.7-.7-.9-.2l-20 35.2c-.3.7.1 1.6.9 1.6zM51 64h25c1.2 0 2.1-1.1 2-2.3-.9-7.2-2.1-29.6-27.6-41.6-.6-.3-1.4.1-1.4.9v40.8c0 1.1.9 2.2 2 2.2z\"}}},\ncustom89:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M57.9 43.4c-.4-.5-1.2-.4-1.5.2-1.2 1.7-2.4 4.3-2.4 7.4v11c0 1.6-1.3 3-3 3-1.6 0-3-1.3-3-3v-3.1-31.101c0-7.7-6.7-8.9-11.6-7C35.1 21.2 33.9 22 33 23c-.6.7-1.3 1.3-2.2 1.6-1.8.6-4.9-1.1-6.5-2.1-.9-.5-2.1-.3-2.7.5l-1.2 1.7c-.7.9-.4 2.3.5 2.9 1.9 1.2 4.9 3.1 7.2 3.5 3.5.6 6.7-.5 9.3-2.9l-.1.1c.7-.6 1.9-1.6 2.7-.5 2 3-6 16.1-6 35.2v1.6c0 8.1 8.2 15.1 16.3 15.5 8.6.4 15.7-6.5 15.7-15 0-4.3 1.6-7.1 3.2-8.8a.967.967 0 000-1.399L57.9 43.4zM77 53c-.8 0-1.5-.3-2.1-.9l-16-16c-1.2-1.2-1.2-3.1 0-4.2 1.199-1.2 3.1-1.2 4.199 0l16 16c1.2 1.2 1.2 3.1 0 4.2-.599.6-1.299.9-2.099.9z\"}}},\ncustom9:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M62 20H45.1c-2.5 0-4.7 1.5-5.6 3.8L29 50.9c-.8 2 .7 4.1 2.8 4.1H49l-6.4 22.4c-.6 2.1 2 3.5 3.4 1.8L72.3 48c1.7-1.9.3-5-2.3-5H57l11.4-18.4c1.199-2-.2-4.6-2.601-4.6H62z\"}},\ncustom90:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M77.4 26L53 29.6V64c0 .6-.4 1-1 1h-4c-.6 0-1-.4-1-1V30.5L23.4 34H23c-1.5 0-2.8-1.1-3-2.6-.2-1.6.9-3.2 2.5-3.4l18.6-2.8c1.7-3.1 5-5.3 8.8-5.3 2.8 0 5.2 1.1 7 2.9L76.6 20c1.601-.2 3.2.9 3.4 2.5.2 1.7-.9 3.2-2.6 3.5z\"},{\"d\":\"M41.3 62.9c.7-.9.9-2 .4-3.101l-8-19C33.3 39.7 32.2 39 31 39s-2.3.7-2.8 1.8l-8 19c-.4.9-.3 1.9.2 2.8.2.3 4.1 6.3 10.4 6.3 3.7 0 7.3-2 10.5-6zM31 49.7L35.3 60h-8.6L31 49.7zM71.8 34.8a3.077 3.077 0 00-5.6 0l-8 19c-.4.9-.3 1.9.2 2.8.2.3 4.1 6.3 10.4 6.3 3.7 0 7.2-2 10.5-6 .7-.9.9-2 .4-3.101L71.8 34.8zM69 43.7L73.3 54h-8.6L69 43.7zM50 71c-5.6 0-11.3 2-15.3 5.4-.4.4-.7.9-.7 1.5v.1c0 1.1.9 2 2 2h28c1.1 0 2-.9 2-2v-.1c0-.601-.2-1.101-.7-1.5C61.3 73 55.6 71 50 71z\"}]}},\ncustom91:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M77.8 32.6c-3-.9-5.6-3-7.3-5.7-1.3-2.1-1.4-6.9-4.6-6.9H34.1c-3.3 0-3.3 4.8-4.6 6.9-2.1 3.3-4.8 4.1-8 6-3.3 1.9-.2 9.9.5 12.7 3.1 11.1 9 21.4 18.2 28.7 2.6 2.101 5.4 3.9 8.4 5.4 2.7 1.399 7.2-2.5 9.2-4C63 72 67.3 67.3 70.7 62c2.899-4.6 5.1-9.6 6.7-14.8.6-2.1 1.2-4.2 1.6-6.4.4-1.8 1.3-4.6.7-6.4-.2-.8-1-1.5-1.9-1.8-4.6-1.4 1.4.4 0 0zm-4.4 7C70.7 53 63.5 65.5 51.6 72.8l-1.6 1-1.6-1C34 64 28.6 49.9 26.6 39.6l-.4-2.1 1.8-1.1c3.1-1.9 6-5.2 7.7-8.7l.8-1.8h27l.5 1.3c1.7 3.8 4.8 7.4 8.5 9.5l1.3.7v.1l-.4 2.1z\"},{\"d\":\"M48.9 32c-2.3 0-7.9 0-9 1-1.9 1.7-3 4.2-5 5.9-2.1 1.8-1.1 3.6-.4 6 1.4 4.2 3.3 8.3 5.9 12 1.3 1.899 2.8 3.699 4.5 5.3.5.5 5.1 5.1 5.1 2.2V34c0-1.1 0-2-1.1-2z\"}]}},\ncustom92:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M73.7 56.4L50.9 46c-.601-.3-1.2-.3-1.8 0L26.3 56.4c-1.3.6-1.7 2.1-.9 3.3 2.4 3.399 3.9 7.8 4.5 9.8.2.8.9 1.3 1.6 1.5 7.9 1.9 14.4 6.4 17.1 8.5.8.6 1.9.6 2.7 0 2.7-2.1 9.3-6.6 17.1-8.5.8-.2 1.399-.7 1.6-1.5.6-2.1 2.1-6.5 4.5-9.8.9-1.1.5-2.7-.8-3.3zM44 62c-1.7 0-3-1.8-3-4s1.3-4 3-4 3 1.8 3 4-1.3 4-3 4zm12 0c-1.7 0-3-1.8-3-4s1.3-4 3-4 3 1.8 3 4-1.3 4-3 4z\"},{\"d\":\"M34.4 46.1l12.2-5.6c1.5-.7 3.1-.9 4.8-.6.699.1 1.399.4 2.1.7l12.1 5.6c.7.3 1.4-.2 1.4-.9v-4.5c0-.5-.2-1-.6-1.4-.8-.9-2.4-2.4-5.4-2.4v-5.9c0-.7-.4-1.4-1-1.7-1.1-.6-3-1.5-6-2V22c0-1.1-.9-2-2-2h-4c-1.1 0-2 .9-2 2v5.4c-3 .5-4.9 1.4-6 2-.6.3-1 1-1 1.7V37c-3 0-4.6 1.5-5.4 2.3-.4.4-.6.9-.6 1.4v4.5c0 .7.7 1.2 1.4.9z\"}]}},\ncustom93:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M42.4 50h29.5c.899 0 1.699-.6 1.899-1.5l5.4-19C79.6 28.2 78.6 27 77.3 27H31.7l-.8-2.8c-.4-1.3-1.6-2.2-2.9-2.2h-4.8c-1.6 0-3.1 1.2-3.2 2.8-.1 1.7 1.3 3.2 3 3.2h2.8l9.4 31.8c.4 1.3 1.5 2.2 2.9 2.2h34.8c1.6 0 3.1-1.2 3.199-2.8.101-1.7-1.3-3.2-3-3.2H42.5c-1.3 0-2.5-.9-2.8-2.1v-.1c-.7-1.9.8-3.8 2.7-3.8z\"},\"circle\":[{\"cx\":\"43\",\"cy\":\"73\",\"r\":\"5\"},{\"cx\":\"67\",\"cy\":\"73\",\"r\":\"5\"}]}},\ncustom94:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M56 38V23c0-1.7-1.3-3-3-3h-4c-1.7 0-3 1.3-3 3s1.3 3 3 3h1v12c0 6.6-5.4 12-12 12s-12-5.4-12-12V26h1c1.7 0 3-1.3 3-3s-1.3-3-3-3h-4c-1.7 0-3 1.3-3 3v15c0 9.9 8.1 18 18 18s18-8.1 18-18z\"},{\"d\":\"M80 50c0-5-4-9-9-9s-9 4-9 9c0 3.9 2.5 7.2 6 8.5v2.2C68 68 62 74 54.7 74h-.3c-6.3 0-11.601-4.5-13-10.4-.2-.899-1-1.6-2-1.6h-2c-1.3 0-2.2 1.2-2 2.4C37.1 73.3 45 80 54.3 80h.3C65.3 80 74 71.3 74 60.7v-2.2c3.5-1.3 6-4.6 6-8.5zm-9 3c-1.7 0-3-1.3-3-3s1.3-3 3-3 3 1.3 3 3-1.3 3-3 3z\"}]}},\ncustom95:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M53 30.2V26h1c1.6 0 3-1.3 3-3 0-1.6-1.3-3-3-3h-8c-1.6 0-3 1.3-3 3 0 1.6 1.3 3 3 3h1v4.2c-12.4 1.5-22 12-22 24.8 0 13.8 11.2 25 25 25s25-11.2 25-25c0-12.8-9.6-23.3-22-24.8zM50 74c-10.5 0-19-8.5-19-19s8.5-19 19-19 19 8.5 19 19-8.5 19-19 19z\"},{\"d\":\"M56.6 44.8L52 49.4c-.6-.2-1.3-.4-2-.4-3.3 0-6 2.7-6 6s2.7 6 6 6 6-2.7 6-6c0-.7-.1-1.4-.4-2l4.601-4.6c1-1 1-2.6 0-3.6-1.001-1.1-2.601-1.1-3.601 0z\"}]}},\ncustom96:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M79.4 28.7l-5.2-3.9c-.7-.5-1.5-.8-2.4-.8H54v-2c0-1.1-.9-2-2-2h-4c-1.1 0-2 .9-2 2v2H26c-1.1 0-2 .9-2 2v8c0 1.1.9 2 2 2h45.7c.899 0 1.7-.3 2.399-.8l5.2-3.9c.901-.7.901-1.9.101-2.6zM74 46H54v-3c0-.6-.4-1-1-1h-6c-.6 0-1 .4-1 1v3H28.3c-.9 0-1.7.3-2.4.8l-5.2 3.9c-.9.6-.9 1.899 0 2.6l5.2 3.9c.7.5 1.5.8 2.4.8H74c1.1 0 2-.9 2-2v-8c0-1.1-.9-2-2-2zM54 71.6V65c0-.6-.4-1-1-1h-6c-.6 0-1 .4-1 1v6.6c-4 1.101-6.2 3.5-6.9 6.5-.2.9.5 1.9 1.5 1.9h18.9c1 0 1.7-.9 1.5-1.9-.8-3-3-5.4-7-6.5z\"}}},\ncustom97:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M60 54.4V29.1C60 22.9 55.2 18 49.1 18h-.2C42.8 18 38 22.9 38 29.1v25.3c-3.2 3-5 7.199-5 11.6 0 8.8 7.2 16 16 16s16-7.2 16-16c0-4.5-1.8-8.6-5-11.6zM57.4 66H40.6c-.9 0-1.6-.9-1.5-1.8.4-2.4 1.7-4.5 3.6-6 .7-.601 1.2-1.5 1.2-2.4V29.1c0-2.9 2.2-5.1 4.9-5.1h.2c2.8 0 4.9 2.2 4.9 5.1v.9h-3c-1.7 0-3 1.3-3 3s1.3 3 3 3h3v4h-3c-1.7 0-3 1.3-3 3s1.3 3 3 3h3v4h-3c-1.7 0-3 1.3-3 3s1.3 3 3 3h3c.1.9.5 1.6 1.199 2.2 1.9 1.5 3.2 3.7 3.601 6 .3.9-.4 1.8-1.3 1.8z\"}},\ncustom98:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M81.4 46.4l-7.8-7.8c-.4-.4-.9-.6-1.4-.6H64c-1.1 0-2 .9-2 2v16c0 .7.7 1.2 1.4.9 1.4-.6 3-.9 4.6-.9 4.5 0 8.4 2.5 10.5 6.2.3.5 1 .7 1.5.3 1.2-1.1 2-2.7 2-4.5V47.8c0-.5-.2-1-.6-1.4z\"},{\"d\":\"M54 29H20c-1.1 0-2 .9-2 2v27c0 1.8.8 3.4 2 4.5.5.4 1.2.3 1.5-.3 2-3.7 6-6.2 10.5-6.2 5 0 9.2 3 11.1 7.4.2.4.5.6.9.6h6c3.3 0 6-2.7 6-6V31c0-1.1-.9-2-2-2z\"}],\"circle\":[{\"cx\":\"68\",\"cy\":\"68\",\"r\":\"6\"},{\"cx\":\"32\",\"cy\":\"68\",\"r\":\"6\"}]}},\ncustom99:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M74 36H57.2c-.5-1.2-1.2-2.2-2.101-3.1l6.301-8.1c1-1.3.8-3.2-.5-4.2-1.301-1-3.2-.8-4.2.5l-7 9c-.6 0-1.1-.1-1.7-.1s-1.1.1-1.6.1l-7-9c-1-1.3-2.9-1.5-4.2-.5-1.3 1-1.5 2.9-.5 4.2l6.3 8.1c-.9.9-1.6 1.9-2.1 3.1H26c-3.3 0-6 2.7-6 6v28c0 3.3 2.7 6 6 6h48c3.3 0 6-2.7 6-6V42c0-3.3-2.7-6-6-6zm-8 32c0 1.1-.9 2-2 2H28c-1.1 0-2-.9-2-2V44c0-1.1.9-2 2-2h36c1.1 0 2 .9 2 2v24zm7-10c-1.7 0-3-1.3-3-3s1.3-3 3-3 3 1.3 3 3-1.3 3-3 3zm0-10c-1.7 0-3-1.3-3-3s1.3-3 3-3 3 1.3 3 3-1.3 3-3 3z\"}},\nviewBox:'0 0 100 100'\n}; } export default icons;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n\nlet icons = {}; if ('__INCLUDE_SLDS_ICONS__' === '__INCLUDE_SLDS_ICONS__') { icons = {\nai:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M5.075.006A5.074 5.074 0 00.002 5.08v53.841a5.073 5.073 0 005.073 5.074h45.774a5.074 5.074 0 005.074-5.074V20.316L37.02.006H5.075z\",\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",\"fill\":\"#FFC35E\"},{\"d\":\"M55.923 20.357v.999h-12.8s-6.312-1.26-6.128-6.707c0 0 .253 5.708 6.003 5.708h12.925z\",\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",\"fill\":\"#FFB446\"},{\"d\":\"M37.02.006v14.56c0 1.656 1.104 5.792 6.104 5.792h12.8L37.02.006z\",\"opacity\":\".5\",\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",\"fill\":\"#fff\"},{\"d\":\"M20.136 53.923a.776.776 0 01-.72-.486l-.9-2.287h-5.978l-.9 2.287a.776.776 0 01-.72.486.804.804 0 01-.811-.792c0-.09.018-.198.054-.288l4.141-10.335a1.304 1.304 0 011.225-.811c.522 0 .99.324 1.188.811l4.177 10.335c.036.09.054.198.054.288 0 .36-.324.792-.81.792zm-4.61-10.569l-2.557 6.463h5.095l-2.538-6.463zm8.513 10.569a.73.73 0 01-.738-.738V42.417c0-.396.324-.72.774-.72.396 0 .72.324.72.72v10.767a.734.734 0 01-.756.739z\",\"fill\":\"#fff\"}]},\nattachment:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",\"path\":[{\"d\":\"M5.113-.026A5.074 5.074 0 00.039 5.048v53.841a5.073 5.073 0 005.074 5.074h45.773a5.074 5.074 0 005.074-5.074V20.284L37.059-.026H5.113z\",\"fill\":\"#8199AF\"},{\"d\":\"M55.977 20.352v1H43.178s-6.312-1.26-6.129-6.707c0 0 .208 5.707 6.004 5.707h12.924z\",\"fill\":\"#617F9B\"},{\"d\":\"M37.074 0v14.561c0 1.656 1.104 5.791 6.104 5.791h12.799L37.074 0z\",\"opacity\":\".5\",\"fill\":\"#fff\"}]},\"path\":{\"d\":\"M26.6 41.467c1.134-1.134 1.134-2.986 0-4.12s-2.986-1.134-4.12 0l-9.167 9.167c-1.134 1.134-1.134 2.986 0 4.12s2.986 1.134 4.12 0l5.625-5.602c.324-.324.324-.856 0-1.181s-.856-.324-1.181 0l-3.542 3.519a1.204 1.204 0 01-1.759 0 1.204 1.204 0 010-1.759l3.519-3.542c1.319-1.296 3.426-1.296 4.722 0 1.296 1.319 1.296 3.426 0 4.722l-5.625 5.625c-2.106 2.106-5.532 2.106-7.662 0-2.106-2.129-2.106-5.555 0-7.662l9.166-9.167c2.13-2.129 5.556-2.129 7.662 0 2.129 2.106 2.129 5.532 0 7.662l-.903.902a4.968 4.968 0 00-.926-2.616l.071-.068z\",\"fill\":\"#fff\"}},\naudio:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",\"path\":[{\"d\":\"M5.151.012A5.073 5.073 0 00.078 5.085v53.842A5.073 5.073 0 005.151 64h45.774A5.074 5.074 0 0056 58.927V20.321L37.097.012H5.151z\",\"fill\":\"#379FD3\"},{\"d\":\"M56 20.357v1H43.2s-6.312-1.26-6.128-6.707c0 0 .208 5.707 6.003 5.707H56z\",\"fill\":\"#2987C8\"},{\"d\":\"M37.097.006v14.561c0 1.656 1.104 5.791 6.104 5.791h12.8L37.097.006z\",\"opacity\":\".5\",\"fill\":\"#fff\"},{\"d\":\"M29.798 34.036L15.633 35.85v13.438c-.738-.205-1.628-.243-2.531-.064-2.009.394-3.325 1.702-2.938 2.918.386 1.215 2.325 1.88 4.333 1.48 1.764-.348 2.994-1.397 3.005-2.473h.002v-10.74l10.422-1.288v8.306c-.75-.212-1.655-.251-2.572-.068-2.03.399-3.357 1.718-2.969 2.947.389 1.229 2.35 1.897 4.379 1.499 1.849-.366 3.116-1.494 3.031-2.621V34.036z\",\"fill\":\"#fff\"}]}},\nbox_notes:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"fill\":\"#277A84\",\"d\":\"M5.112.011A5.074 5.074 0 00.039 5.085v53.841A5.074 5.074 0 005.112 64h45.775a5.074 5.074 0 005.074-5.074V20.321L37.057.011H5.112z\"},{\"fill\":\"#1E5B60\",\"d\":\"M55.96 20.377v1H43.161s-6.312-1.26-6.129-6.707c0 0 .208 5.707 6.004 5.707H55.96z\"},{\"opacity\":\".5\",\"fill\":\"#FFF\",\"d\":\"M37.059.025v14.561c0 1.656 1.104 5.791 6.104 5.791h12.799L37.059.025z\"},{\"fill\":\"#FFF\",\"d\":\"M27.094 39.334l2.105-2.104H10.495s-.361.016-.362.401 0 1.159 0 1.347c0 .187.182.355.375.355l16.586.001zM19.768 46.602l2.104-2.104H10.495s-.361.016-.362.401v1.347c0 .187.182.356.375.356h9.26zM14.708 53.904l.268-2.104h-4.48s-.361.017-.362.402 0 1.16 0 1.346c0 .187.182.356.375.356h4.199zM15.588 53.873s1.672-.03 2.015-.112c.342-.082.406-.146.531-.271l13.104-13.104s-.494.42-1.592-.682c-.869-.87-.487-1.402-.487-1.402s-12.75 12.729-12.99 12.988c-.24.26-.252.404-.274.509-.021.105-.307 2.074-.307 2.074z\"},{\"fill\":\"#FFF\",\"d\":\"M30.742 36.714c-.201.201-.96.938-1.059 1.058-.097.121-.184.227-.104.58.079.353.682 1.354 1.656 1.629 0 0 .299.107.541-.133.24-.242 1.092-1.093 1.092-1.093s.204-.172.042-.621c-.163-.448-.81-1.247-1.582-1.539-.387-.148-.586.119-.586.119z\"}]},\ncsv:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M5.106 0A5.074 5.074 0 00.033 5.074v53.841a5.073 5.073 0 005.073 5.074H50.88a5.074 5.074 0 005.074-5.074V20.31L37.051 0H5.106z\",\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",\"fill\":\"#45B058\"},{\"d\":\"M20.306 43.197a.784.784 0 01.198.522c0 .378-.306.72-.703.72a.638.638 0 01-.504-.234c-.702-.846-1.891-1.387-3.007-1.387-2.629 0-4.627 2.017-4.627 4.88 0 2.845 1.999 4.879 4.627 4.879a3.97 3.97 0 003.007-1.369.697.697 0 01.504-.233c.415 0 .703.359.703.738 0 .18-.072.36-.198.504-.937.972-2.215 1.693-4.015 1.693-3.457 0-6.176-2.521-6.176-6.212s2.719-6.212 6.176-6.212c1.8.001 3.096.721 4.015 1.711zm6.802 10.714c-1.782 0-3.187-.594-4.213-1.495a.71.71 0 01-.234-.54c0-.361.27-.757.702-.757.144 0 .306.036.432.144.828.739 1.98 1.314 3.367 1.314 2.143 0 2.827-1.152 2.827-2.071 0-3.097-7.112-1.386-7.112-5.672 0-1.98 1.764-3.331 4.123-3.331 1.548 0 2.881.467 3.853 1.278a.73.73 0 01.252.54c0 .36-.306.72-.703.72a.68.68 0 01-.432-.162c-.882-.72-1.98-1.044-3.079-1.044-1.44 0-2.467.774-2.467 1.909 0 2.701 7.112 1.152 7.112 5.636.001 1.748-1.187 3.531-4.428 3.531zm16.994-11.254l-4.159 10.335a1.31 1.31 0 01-1.188.81h-.036a1.316 1.316 0 01-1.207-.81L33.37 42.657a.746.746 0 01-.054-.288c0-.36.323-.793.81-.793.306 0 .594.18.72.486l3.889 9.992 3.889-9.992a.767.767 0 01.72-.486.803.803 0 01.758 1.081z\",\"fill\":\"#fff\"}],\"g\":{\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",\"path\":[{\"d\":\"M56.001 20.357v1h-12.8s-6.312-1.26-6.128-6.707c0 0 .208 5.707 6.003 5.707h12.925z\",\"fill\":\"#349C42\"},{\"d\":\"M37.098.006v14.561c0 1.656 1.104 5.791 6.104 5.791h12.8L37.098.006z\",\"opacity\":\".5\",\"fill\":\"#fff\"}]}},\neps:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M5.106.009A5.074 5.074 0 00.033 5.083v53.841a5.073 5.073 0 005.073 5.074H50.88a5.074 5.074 0 005.074-5.074V20.319L37.052.009H5.106z\",\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",\"fill\":\"#FFC35E\"},{\"d\":\"M17.45 53.912h-6.248a1.085 1.085 0 01-1.081-1.081v-9.849c0-.595.486-1.081 1.081-1.081h6.248c.36 0 .648.288.648.685a.645.645 0 01-.648.647h-5.833v3.871h5.708c.36 0 .648.288.648.685 0 .36-.288.648-.648.648h-5.708v4.141h5.833c.36 0 .648.288.648.648 0 .397-.288.686-.648.686zm8.189-4.772h-3.331v4.141a.734.734 0 01-.756.738.73.73 0 01-.738-.738V42.982c0-.595.486-1.081 1.081-1.081h3.745c2.413 0 3.763 1.657 3.763 3.619-.001 1.963-1.387 3.62-3.764 3.62zm-.18-5.906h-3.151v4.573h3.151c1.422 0 2.395-.936 2.395-2.287 0-1.35-.973-2.286-2.395-2.286zm10.259 10.893c-1.782 0-3.187-.594-4.213-1.495a.71.71 0 01-.234-.54c0-.361.27-.757.702-.757.144 0 .306.036.432.144.829.739 1.981 1.314 3.367 1.314 2.143 0 2.827-1.152 2.827-2.071 0-3.097-7.112-1.386-7.112-5.672 0-1.98 1.764-3.331 4.123-3.331 1.548 0 2.881.468 3.853 1.279a.73.73 0 01.252.54c0 .36-.306.72-.702.72a.68.68 0 01-.432-.162c-.882-.72-1.98-1.044-3.079-1.044-1.44 0-2.467.774-2.467 1.909 0 2.701 7.112 1.152 7.112 5.636.001 1.748-1.188 3.53-4.429 3.53z\",\"fill\":\"#fff\"}],\"g\":{\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",\"path\":[{\"d\":\"M56 20.357v1H43.201c-2.438 0-6.312-1.26-6.128-6.707 0 0 .208 5.707 6.003 5.707H56z\",\"fill\":\"#FFB446\"},{\"d\":\"M37.097.006v14.561c0 1.656 1.104 5.791 6.104 5.791H56L37.097.006z\",\"opacity\":\".5\",\"fill\":\"#fff\"}]}},\nexcel:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M5.112.006A5.074 5.074 0 00.039 5.08v53.841a5.073 5.073 0 005.073 5.074h45.774a5.074 5.074 0 005.074-5.074V20.316L37.058.006H5.112z\",\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",\"fill\":\"#45B058\"},{\"d\":\"M19.429 53.938a.64.64 0 01-.54-.27l-3.728-4.97-3.745 4.97a.641.641 0 01-.54.27.71.71 0 01-.72-.72c0-.144.035-.306.144-.432l3.89-5.131-3.619-4.826a.722.722 0 01-.145-.414c0-.342.288-.72.721-.72.216 0 .432.108.576.288l3.438 4.628 3.438-4.646a.643.643 0 01.541-.27c.378 0 .738.306.738.72a.695.695 0 01-.127.414l-3.619 4.808 3.891 5.149a.7.7 0 01.125.414c0 .396-.324.738-.719.738zm9.989-.126h-5.455a1.083 1.083 0 01-1.081-1.08V42.415c0-.396.324-.72.774-.72.396 0 .721.324.721.72V52.48h5.041c.359 0 .648.288.648.648 0 .396-.289.684-.648.684zm6.982.216c-1.782 0-3.188-.594-4.213-1.495a.71.71 0 01-.234-.54c0-.36.27-.756.702-.756.144 0 .306.036.433.144.828.738 1.98 1.314 3.367 1.314 2.143 0 2.826-1.152 2.826-2.071 0-3.097-7.111-1.386-7.111-5.672 0-1.98 1.764-3.331 4.123-3.331 1.548 0 2.881.468 3.853 1.278a.73.73 0 01.253.54c0 .36-.307.72-.703.72a.676.676 0 01-.432-.162c-.883-.72-1.98-1.044-3.079-1.044-1.44 0-2.467.774-2.467 1.909 0 2.701 7.112 1.152 7.112 5.636 0 1.748-1.188 3.53-4.43 3.53z\",\"fill\":\"#fff\"},{\"d\":\"M55.953 20.352v1H43.152s-6.312-1.26-6.127-6.707c0 0 .207 5.707 6.002 5.707h12.926z\",\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",\"fill\":\"#349C42\"},{\"d\":\"M37.049 0v14.561c0 1.656 1.104 5.791 6.104 5.791h12.801L37.049 0z\",\"opacity\":\".5\",\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",\"fill\":\"#fff\"}]},\nexe:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M5.112.025A5.074 5.074 0 00.039 5.099V58.94a5.073 5.073 0 005.073 5.074h45.774a5.074 5.074 0 005.074-5.074V20.335L37.058.025H5.112z\",\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",\"fill\":\"#8199AF\"},{\"d\":\"M17.455 53.919h-6.247a1.084 1.084 0 01-1.081-1.081V42.99c0-.594.486-1.08 1.081-1.08h6.247c.361 0 .648.288.648.684 0 .36-.287.648-.648.648h-5.833v3.871h5.708c.359 0 .648.288.648.685 0 .36-.289.648-.648.648h-5.708v4.141h5.833c.361 0 .648.288.648.648.001.396-.287.684-.648.684zm12.098.126a.643.643 0 01-.541-.27l-3.727-4.97-3.746 4.97a.64.64 0 01-.539.27.712.712 0 01-.721-.72c0-.144.036-.306.145-.432l3.889-5.131-3.619-4.825a.725.725 0 01-.145-.415c0-.342.289-.72.721-.72a.75.75 0 01.576.288l3.439 4.627 3.438-4.646a.641.641 0 01.54-.27c.379 0 .738.306.738.72a.694.694 0 01-.126.415l-3.618 4.808 3.889 5.149a.7.7 0 01.126.414c0 .396-.324.738-.719.738zm10.78-.126h-6.247a1.084 1.084 0 01-1.081-1.081V42.99c0-.594.486-1.08 1.081-1.08h6.247c.36 0 .648.288.648.684 0 .36-.288.648-.648.648H34.5v3.871h5.707c.36 0 .648.288.648.685 0 .36-.288.648-.648.648H34.5v4.141h5.833c.36 0 .648.288.648.648 0 .396-.288.684-.648.684z\",\"fill\":\"#fff\"}],\"g\":{\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",\"path\":[{\"d\":\"M55.961 20.377v1H43.162s-6.312-1.26-6.129-6.708c0 0 .208 5.708 6.004 5.708h12.924z\",\"fill\":\"#617F9B\"},{\"d\":\"M37.059.025v14.561c0 1.656 1.104 5.792 6.104 5.792h12.799L37.059.025z\",\"opacity\":\".5\",\"fill\":\"#fff\"}]}},\nflash:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M5.112.009A5.074 5.074 0 00.039 5.083v53.841a5.073 5.073 0 005.073 5.074h45.775a5.074 5.074 0 005.074-5.074V20.319L37.057.009H5.112z\",\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",\"fill\":\"#E53C3C\"},{\"d\":\"M17.466 43.105h-5.833v3.871h5.708c.36 0 .648.288.648.685 0 .36-.288.648-.648.648h-5.708v4.843a.734.734 0 01-.756.738.73.73 0 01-.738-.738V42.854c0-.594.486-1.081 1.081-1.081h6.248c.36 0 .648.288.648.685a.648.648 0 01-.65.647zm9.558 10.678h-5.456a1.085 1.085 0 01-1.081-1.081V42.385c0-.396.324-.72.774-.72.396 0 .72.324.72.72V52.45h5.042c.36 0 .648.288.648.648.001.397-.287.685-.647.685zm12.222.108a.776.776 0 01-.72-.486l-.9-2.287h-5.978l-.9 2.287a.776.776 0 01-.72.486.804.804 0 01-.811-.792c0-.09.018-.198.054-.288l4.141-10.335a1.304 1.304 0 011.225-.811c.522 0 .99.324 1.188.811l4.177 10.335c.036.09.054.198.054.288 0 .359-.324.792-.81.792zm-4.609-10.569l-2.557 6.464h5.095l-2.538-6.464z\",\"fill\":\"#fff\"}],\"g\":{\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",\"path\":[{\"d\":\"M55.961 20.346v1H43.162s-6.312-1.26-6.129-6.707c0 0 .208 5.707 6.004 5.707h12.924z\",\"fill\":\"#DE2D2D\"},{\"d\":\"M37.059-.006v14.561c0 1.656 1.104 5.791 6.104 5.791h12.799L37.059-.006z\",\"opacity\":\".5\",\"fill\":\"#fff\"}]}},\nfolder:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M51.48 15.46A4.52 4.52 0 0156 20v31a4.52 4.52 0 01-4.52 4.52h-47A4.52 4.52 0 010 51V13a4.52 4.52 0 014.52-4.48H16c3.82 0 4.23 1.14 6.74 4.45 2.07 2.74 7.11 2.49 10.39 2.49z\",\"fill\":\"#003462\"},{\"d\":\"M51.48 18.12H9.24a4.52 4.52 0 00-4.52 4.52v2.84L9.19 19h42.35L56 25.49v-2.85a4.52 4.52 0 00-4.52-4.52z\",\"fill\":\"#87c8f2\"},{\"d\":\"M4.57 55.48h46.91A4.52 4.52 0 0056 51V23.48A4.52 4.52 0 0051.48 19H9.25a4.52 4.52 0 00-4.52 4.52V51a4.65 4.65 0 01-.06.72 2.33 2.33 0 01-4.6 0 4.5 4.5 0 004.5 3.76z\",\"fill\":\"#00a1e0\"}]},\ngdoc:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M5.112.011A5.074 5.074 0 00.039 5.085v53.841A5.074 5.074 0 005.112 64h45.775a5.074 5.074 0 005.074-5.074V20.321L37.057.011H5.112z\",\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",\"fill\":\"#3C8CEA\"},{\"d\":\"M10.133 37.439h21.564v2.059H10.133zm0 4.801h21.564v2.057H10.133zm0 4.801h21.564v2.057H10.133zm0 4.8h12.233v2.058H10.133z\",\"fill\":\"#fff\"}],\"g\":{\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",\"path\":[{\"d\":\"M55.96 20.377v1H43.161s-6.312-1.26-6.129-6.707c0 0 .208 5.707 6.004 5.707H55.96z\",\"fill\":\"#2D6FE4\"},{\"d\":\"M37.058.025v14.561c0 1.656 1.104 5.791 6.104 5.791h12.799L37.058.025z\",\"opacity\":\".5\",\"fill\":\"#fff\"}]}},\ngdocs:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"fill\":\"#3C8CEA\",\"d\":\"M5.1 0C2.3 0 0 2.3 0 5.1v53.8C0 61.7 2.3 64 5.1 64h45.8c2.8 0 5.1-2.3 5.1-5.1V20.3L37.1 0h-32z\"},{\"fill\":\"#2D6FE4\",\"d\":\"M56 20.4v1H43.2s-6.4-1.3-6.2-6.7c0 0 .2 5.7 6 5.7h13z\"},{\"opacity\":\".5\",\"fill\":\"#FFF\",\"d\":\"M37.1 0v14.6c0 1.6 1.1 5.8 6.1 5.8H56L37.1 0z\"},{\"fill\":\"#FFF\",\"d\":\"M25.9 45.1h-7.6v2.2h5.4c-.3 3.2-2.9 4.5-5.4 4.5-3.2 0-5.9-2.5-5.9-6 0-3.4 2.6-6 5.9-6 2.5 0 4.1 1.6 4.1 1.6l1.6-1.6s-2-2.2-5.7-2.2c-4.7 0-8.3 4-8.3 8.2 0 4.2 3.4 8.3 8.4 8.3 4.4 0 7.7-3 7.7-7.5-.1-.9-.2-1.5-.2-1.5z\"}]},\ngform:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"fill\":\"#673AB7\",\"d\":\"M5.113-.026A5.074 5.074 0 00.039 5.048v53.841a5.073 5.073 0 005.074 5.074h45.773a5.074 5.074 0 005.074-5.074V20.284L37.059-.026H5.113z\"},{\"fill\":\"#45317C\",\"d\":\"M55.977 20.352v1H43.178s-6.312-1.26-6.129-6.707c0 0 .208 5.707 6.004 5.707h12.924z\"},{\"opacity\":\".5\",\"fill\":\"#FFF\",\"d\":\"M37.074 0v14.561c0 1.656 1.104 5.791 6.104 5.791h12.799L37.074 0z\"},{\"fill\":\"#FFF\",\"d\":\"M12.739 39.41c0-.4-.3-.7-.7-.7h-1.3c-.4 0-.7.3-.7.7v1.3c0 .4.3.7.7.7h1.3c.4 0 .7-.3.7-.7v-1.3zm18.8 0c0-.4-.3-.7-.7-.7h-15.7c-.4 0-.7.3-.7.7v1.3c0 .4.3.7.7.7h15.7c.4 0 .7-.3.7-.7v-1.3zm-18.8 6.3c0-.4-.3-.7-.7-.7h-1.3c-.4 0-.7.3-.7.7v1.3c0 .4.3.7.7.7h1.3c.4 0 .7-.3.7-.7v-1.3zm18.8 0c0-.4-.4-.7-.8-.7h-15.5c-.4 0-.8.3-.8.7v1.3c0 .4.4.7.8.7h15.5c.4 0 .8-.3.8-.7v-1.3zm-18.8 6.2c0-.4-.3-.7-.7-.7h-1.3c-.4 0-.7.3-.7.7v1.3c0 .4.3.7.7.7h1.3c.4 0 .7-.3.7-.7v-1.3zm18.8 0c0-.4-.3-.7-.7-.7h-15.7c-.4 0-.7.3-.7.7v1.3c0 .4.3.7.7.7h15.7c.4 0 .7-.3.7-.7v-1.3z\"}]},\ngpres:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M5.111.009A5.073 5.073 0 00.039 5.083v53.841a5.073 5.073 0 005.072 5.074h45.775a5.074 5.074 0 005.074-5.074V20.318L37.057.009H5.111z\",\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",\"fill\":\"#F8BE46\"},{\"d\":\"M10.123 37.465v11.9H22.54v-11.9H10.123zm11.289 9.642h-10.16v-7.386h10.16v7.386zm.674-5.128v2.259h8.386v7.385h-10.16v-2.846h-1.129v5.104h12.419V41.979h-9.516z\",\"fill\":\"#fff\"}],\"g\":{\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",\"path\":[{\"d\":\"M55.96 20.377v1H43.161s-6.312-1.26-6.129-6.707c0 0 .208 5.707 6.004 5.707H55.96z\",\"fill\":\"#F6AD34\"},{\"d\":\"M37.058.025v14.561c0 1.656 1.104 5.791 6.104 5.791h12.799L37.058.025z\",\"opacity\":\".5\",\"fill\":\"#fff\"}]}},\ngsheet:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M5.131-.001A5.073 5.073 0 00.059 5.073v53.841a5.073 5.073 0 005.072 5.074h45.775a5.074 5.074 0 005.074-5.074V20.309L37.076-.001H5.131z\",\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",\"fill\":\"#20A971\"},{\"d\":\"M10.107 37.466v16.419h21.521V37.466H10.107zm6.458 15.078h-4.967v-3.58h4.967v3.58zm0-5.012h-4.967v-3.579h4.967v3.579zm0-5.011h-4.967v-3.58h4.967v3.58zm13.632 10.023H18.042v-3.58h12.155v3.58zm0-5.012H18.042v-3.579h12.155v3.579zm0-5.011H18.042v-3.58h12.155v3.58z\",\"fill\":\"#fff\"}],\"g\":{\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",\"path\":[{\"d\":\"M55.98 20.32v1H43.179s-6.312-1.26-6.127-6.707c0 0 .207 5.707 6.002 5.707H55.98z\",\"fill\":\"#189355\"},{\"d\":\"M37.076-.031V14.53c0 1.656 1.104 5.791 6.104 5.791h12.801L37.076-.031z\",\"opacity\":\".5\",\"fill\":\"#fff\"}]}},\nhtml:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M5.135.008A5.074 5.074 0 00.061 5.082v53.84a5.073 5.073 0 005.074 5.074H50.91a5.074 5.074 0 005.074-5.074V20.317L37.081.008H5.135z\",\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",\"fill\":\"#F7622C\"},{\"d\":\"M18.942 50.841a.87.87 0 01-.336-.063l-7.58-3.38c-.483-.21-.798-.714-.798-1.28 0-.504.315-1.008.798-1.219l7.58-3.4a.89.89 0 011.218.84.89.89 0 01-.525.818l-7.034 3.002 7.034 2.982a.868.868 0 01.525.818c0 .546-.462.882-.882.882zm8.464-11.044l-4.43 13.291c-.126.398-.504.629-.903.629-.525 0-.924-.398-.924-.881a.75.75 0 01.063-.295l4.43-13.29a.934.934 0 01.903-.63c.525 0 .903.42.903.902l-.042.274zm10.184 7.6l-7.58 3.38a.886.886 0 01-1.218-.819c0-.357.189-.672.525-.818l7.034-2.982-7.034-3.002a.876.876 0 01-.546-.818c-.021-.547.441-.903.903-.903.105 0 .231.021.336.063l7.58 3.4c.483.211.798.715.798 1.219 0 .567-.315 1.071-.798 1.28z\",\"fill\":\"#fff\"}],\"g\":{\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",\"path\":[{\"d\":\"M55.976 20.352v1H43.177s-6.312-1.26-6.129-6.707c0 0 .208 5.707 6.004 5.707h12.924z\",\"fill\":\"#F54921\"},{\"d\":\"M37.074 0v14.561c0 1.656 1.104 5.791 6.104 5.791h12.799L37.074 0z\",\"opacity\":\".5\",\"fill\":\"#fff\"}]}},\nimage:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",\"path\":[{\"d\":\"M5.125.042A5.074 5.074 0 00.053 5.116v53.841a5.072 5.072 0 005.072 5.073H50.9a5.074 5.074 0 005.074-5.073V20.353L37.07.042H5.125z\",\"fill\":\"#49C9A7\"},{\"d\":\"M55.977 20.352v1H43.178s-6.312-1.26-6.129-6.707c0 0 .208 5.707 6.004 5.707h12.924z\",\"fill\":\"#37BB91\"},{\"d\":\"M37.074 0v14.561c0 1.656 1.104 5.791 6.104 5.791h12.799L37.074 0z\",\"opacity\":\".5\",\"fill\":\"#fff\"}]},\"path\":{\"d\":\"M10.119 53.739V32.835h20.906v20.904H10.119zm18.799-18.843H12.227v12.6h16.691v-12.6zm-9.583 8.384l3.909-5.256 1.207 2.123 1.395-.434.984 5.631H13.748l3.496-3.32 2.091 1.256zm-3.856-3.64c-.91 0-1.649-.688-1.649-1.538 0-.849.739-1.538 1.649-1.538.912 0 1.65.689 1.65 1.538 0 .85-.738 1.538-1.65 1.538z\",\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",\"fill\":\"#fff\"}},\nkeynote:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M5.143.005A5.073 5.073 0 00.071 5.079V58.92a5.073 5.073 0 005.072 5.074h45.775a5.075 5.075 0 005.075-5.074V20.314L37.088.005H5.143z\",\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",\"fill\":\"#DB7A2A\"},{\"d\":\"M17.819 54.013a.73.73 0 01-.54-.252l-4.429-5.275-1.207 1.368v3.403a.734.734 0 01-.756.738.73.73 0 01-.738-.738V42.489c0-.396.324-.72.774-.72.396 0 .72.323.72.72v5.6l5.186-6.067a.674.674 0 01.522-.234c.396 0 .738.306.738.702a.597.597 0 01-.162.414l-4.105 4.682 4.555 5.275a.648.648 0 01.162.433c.001.341-.288.719-.72.719zm10.926-.126h-6.248a1.084 1.084 0 01-1.081-1.08v-9.85c0-.594.486-1.08 1.081-1.08h6.248c.36 0 .648.288.648.685 0 .36-.288.648-.648.648h-5.833v3.871h5.708c.36 0 .648.288.648.684 0 .36-.288.648-.648.648h-5.708v4.142h5.833c.36 0 .648.288.648.647.001.397-.288.685-.648.685zm12.384-11.02l-4.033 5.942v4.447a.734.734 0 01-.756.738.73.73 0 01-.739-.738V48.81l-4.051-5.942a.674.674 0 01-.126-.378c0-.342.27-.72.72-.72.216 0 .468.107.612.306l3.583 5.384 3.583-5.384a.725.725 0 01.576-.288c.396 0 .738.324.738.702a.695.695 0 01-.107.377z\",\"fill\":\"#fff\"}],\"g\":{\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",\"path\":[{\"d\":\"M55.976 20.352v1H43.177s-6.312-1.26-6.129-6.707c0 0 .208 5.707 6.004 5.707h12.924z\",\"fill\":\"#D25B1F\"},{\"d\":\"M37.074 0v14.561c0 1.656 1.104 5.791 6.104 5.791h12.799L37.074 0z\",\"opacity\":\".5\",\"fill\":\"#fff\"}]}},\nlibrary_folder:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"fill\":\"#003462\",\"d\":\"M51.5 15.5c2.5 0 4.5 2 4.5 4.5v31c0 2.5-2 4.5-4.5 4.5h-47C2 55.5 0 53.5 0 51V13c0-2.5 2-4.5 4.5-4.5H16c3.8 0 4.2 1.2 6.7 4.5 2.1 2.7 7.2 2.5 10.4 2.5h18.4z\"},{\"fill\":\"#87C8F2\",\"d\":\"M51.5 18.1H9.2c-2.5 0-4.5 2-4.5 4.5v2.9L9.2 19h42.3l4.5 6.5v-2.9c0-2.5-2-4.5-4.5-4.5z\"},{\"fill\":\"#00A1E0\",\"d\":\"M4.6 55.5h46.9c2.5 0 4.5-2 4.5-4.5V23.5c0-2.5-2-4.5-4.5-4.5H9.3c-2.5-.1-4.5 1.9-4.6 4.4v28.3c0 1.3-1 2.3-2.3 2.3-1.3 0-2.3-1-2.3-2.3.3 2.2 2.3 3.8 4.5 3.8z\"}],\"g\":{\"fill\":\"#FFF\",\"path\":[{\"d\":\"M25.5 37.8h3.6v11.5h-3.6zM31.6 37.8h3.6v11.5h-3.6z\"},{\"d\":\"M46.4 31.8l-15-6.2c-.4-.2-.7-.3-1.1-.3-.1 0-.5 0-1.1.3l-15 6.2c-.3.2-.5.5-.5.8v.9c0 .5.4.9.9.9h2.9v14c0 .5.4.9.9.9h4.5V37.8h-1.8c-.4 0-.6-.2-.6-.6V36c0-.4.2-.6.6-.6H39.4c.4 0 .6.2.6.6v1.2c0 .4-.2.6-.6.6h-1.8v11.5h4.5c.5 0 .9-.4.9-.9V34.5v-.1h2.9c.5 0 .9-.4.9-.9v-.8c.1-.4-.1-.7-.4-.9zm-16.1.5c-1.1 0-1.9-.9-1.9-1.9 0-1.1.9-1.9 1.9-1.9 1.1 0 1.9.9 1.9 1.9 0 1-.8 1.9-1.9 1.9z\"}]}},\nlink:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M5.15.006A5.074 5.074 0 00.078 5.08v53.841a5.072 5.072 0 005.072 5.073h45.775a5.074 5.074 0 005.074-5.073V20.316L37.096.006H5.15z\",\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",\"fill\":\"#0C8FE8\"},{\"d\":\"M28.25 35.611c-2.074-2.097-5.448-2.097-7.545 0l-3.055 3.055c-2.073 2.073-2.073 5.447 0 7.545a1.226 1.226 0 001.734 0 1.19 1.19 0 000-1.732 2.9 2.9 0 010-4.079l3.076-3.055a2.874 2.874 0 014.056 0 2.875 2.875 0 010 4.057l-1.458 1.482c.363.979.502 2.006.41 3.053l2.781-2.781c2.097-2.096 2.097-5.471.001-7.545zm-7.704 5.951a1.251 1.251 0 000 1.755 2.838 2.838 0 010 4.059l-3.055 3.053a2.874 2.874 0 01-4.058 0 2.875 2.875 0 010-4.057l1.459-1.459a7.036 7.036 0 01-.411-3.077l-2.802 2.803c-2.075 2.075-2.075 5.447 0 7.546 2.094 2.074 5.47 2.074 7.544 0l3.076-3.077c2.075-2.075 2.075-5.449 0-7.545a1.246 1.246 0 00-1.753-.001z\",\"fill\":\"#fff\"}],\"g\":{\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",\"path\":[{\"d\":\"M55.977 20.352v1H43.178s-6.312-1.26-6.129-6.707c0 0 .208 5.707 6.004 5.707h12.924z\",\"fill\":\"#0973E2\"},{\"d\":\"M37.074 0v14.561c0 1.656 1.104 5.791 6.104 5.791h12.799L37.074 0z\",\"opacity\":\".5\",\"fill\":\"#fff\"}]}},\nmp4:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",\"path\":[{\"d\":\"M5.116.006A5.073 5.073 0 00.044 5.08v53.841a5.073 5.073 0 005.072 5.074h45.775a5.074 5.074 0 005.074-5.074V20.316L37.062.006H5.116z\",\"fill\":\"#9B64B2\"},{\"d\":\"M55.977 20.352v1H43.178s-6.312-1.26-6.129-6.707c0 0 .208 5.707 6.004 5.707h12.924z\",\"fill\":\"#824B9E\"},{\"d\":\"M37.074 0v14.561c0 1.656 1.104 5.791 6.104 5.791h12.799L37.074 0z\",\"opacity\":\".5\",\"fill\":\"#fff\"}]},\"path\":{\"d\":\"M21.13 53.879a.73.73 0 01-.738-.738v-9.254l-4.033 9.759c-.054.144-.198.233-.378.233a.37.37 0 01-.342-.233l-4.015-9.759v9.254a.734.734 0 01-.756.738.73.73 0 01-.738-.738V42.878c0-.648.558-1.206 1.243-1.206.486 0 .99.288 1.188.756L16 50.8l3.457-8.372c.198-.468.684-.756 1.188-.756.684 0 1.243.558 1.243 1.206v10.263a.737.737 0 01-.758.738zM29.966 49h-3.331v4.141a.734.734 0 01-.756.738.73.73 0 01-.738-.738V42.842c0-.594.486-1.081 1.081-1.081h3.745c2.413 0 3.763 1.657 3.763 3.619-.001 1.964-1.387 3.62-3.764 3.62zm-.18-5.906h-3.151v4.573h3.151c1.422 0 2.395-.936 2.395-2.287 0-1.349-.973-2.286-2.395-2.286zm13.915 7.635h-1.17v2.413a.734.734 0 01-.757.738.73.73 0 01-.738-.738v-2.413h-5.077c-.378 0-.738-.324-.738-.81 0-.162.053-.342.144-.486l4.807-7.22a1.322 1.322 0 011.081-.558c.684 0 1.278.594 1.278 1.26v6.5h1.17c.342 0 .63.288.63.667a.643.643 0 01-.63.647zm-2.665-7.581l-4.213 6.266h4.213v-6.266z\",\"fill\":\"#fff\"}},\noverlay:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M5.15.008A5.073 5.073 0 00.078 5.082v53.841a5.073 5.073 0 005.072 5.074h45.775a5.074 5.074 0 005.074-5.074V20.317L37.096.008H5.15z\",\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",\"fill\":\"#A382D8\"},{\"d\":\"M10.123 34.515v14.081h14.694V34.515H10.123zm5.344 5.343v14.081h14.694V39.858H15.467z\",\"fill\":\"#fff\"},{\"fill\":\"#CBBBEF\",\"d\":\"M15.467 39.858h9.351v8.737h-9.351z\"}],\"g\":{\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",\"path\":[{\"d\":\"M55.977 20.352v1H43.178s-6.312-1.26-6.129-6.707c0 0 .208 5.707 6.004 5.707h12.924z\",\"fill\":\"#8C62CE\"},{\"d\":\"M37.074 0v14.561c0 1.656 1.104 5.791 6.104 5.791h12.799L37.074 0z\",\"opacity\":\".5\",\"fill\":\"#fff\"}]}},\npack:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M5.15.012A5.073 5.073 0 00.078 5.086v53.841A5.073 5.073 0 005.15 64h45.775A5.074 5.074 0 0056 58.927V20.321L37.096.012H5.15z\",\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",\"fill\":\"#4E74B7\"},{\"d\":\"M29.187 40.872v11.917c0 .662-.529 1.191-1.191 1.191H11.311a1.186 1.186 0 01-1.191-1.191V40.872c0-.133.021-.265.065-.375l1.59-4.768a1.184 1.184 0 011.125-.816h13.507c.508 0 .971.331 1.125.816l1.59 4.768c.043.11.065.242.065.375zm-2.45 0l-1.191-3.575H13.76l-1.191 3.575h14.168z\",\"fill\":\"#fff\"}],\"g\":{\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",\"path\":[{\"d\":\"M55.977 20.352v1H43.178s-6.312-1.26-6.129-6.707c0 0 .208 5.707 6.004 5.707h12.924z\",\"fill\":\"#3A57A5\"},{\"d\":\"M37.074 0v14.561c0 1.656 1.104 5.791 6.104 5.791h12.799L37.074 0z\",\"opacity\":\".5\",\"fill\":\"#fff\"}]}},\npages:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M5.111-.006A5.073 5.073 0 00.039 5.068v53.841a5.073 5.073 0 005.072 5.074h45.775a5.074 5.074 0 005.074-5.074V20.304L37.057-.006H5.111z\",\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",\"fill\":\"#6A6AE2\"},{\"d\":\"M14.959 49.006h-3.331v4.142a.734.734 0 01-.756.738.73.73 0 01-.738-.738v-10.3c0-.594.486-1.08 1.081-1.08h3.745c2.413 0 3.763 1.656 3.763 3.619s-1.388 3.619-3.764 3.619zm-.18-5.905h-3.151v4.573h3.151c1.422 0 2.395-.937 2.395-2.287s-.973-2.286-2.395-2.286zm12.06 10.911c-3.421 0-6.176-2.503-6.176-6.23 0-3.727 2.754-6.212 6.176-6.212 1.8 0 3.169.685 4.123 1.639.144.126.198.324.198.504 0 .396-.288.703-.684.703a.669.669 0 01-.486-.217c-.756-.81-1.963-1.296-3.151-1.296-2.629 0-4.627 2.017-4.627 4.879 0 2.845 1.999 4.897 4.627 4.897 1.44 0 2.628-.702 3.223-1.296v-2.449h-3.583c-.36 0-.648-.288-.648-.684 0-.36.288-.648.648-.648h3.998c.594 0 1.08.486 1.08 1.08v2.377c-.001 1.854-2.594 2.953-4.718 2.953zm11.483-.019c-1.782 0-3.187-.594-4.213-1.494a.712.712 0 01-.234-.54c0-.36.27-.757.702-.757.144 0 .306.036.432.145.828.738 1.98 1.314 3.367 1.314 2.143 0 2.827-1.152 2.827-2.07 0-3.098-7.112-1.387-7.112-5.672 0-1.98 1.764-3.331 4.123-3.331 1.548 0 2.881.468 3.853 1.278a.73.73 0 01.252.54c0 .36-.306.72-.703.72a.684.684 0 01-.432-.161c-.882-.721-1.98-1.045-3.079-1.045-1.44 0-2.467.774-2.467 1.909 0 2.7 7.112 1.152 7.112 5.635.001 1.747-1.187 3.529-4.428 3.529z\",\"fill\":\"#fff\"}],\"g\":{\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",\"path\":[{\"d\":\"M55.976 20.352v1H43.177s-6.312-1.26-6.129-6.707c0 0 .208 5.707 6.004 5.707h12.924z\",\"fill\":\"#4F4FDA\"},{\"d\":\"M37.074 0v14.561c0 1.656 1.104 5.791 6.104 5.791h12.799L37.074 0z\",\"opacity\":\".5\",\"fill\":\"#fff\"}]}},\npdf:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"fill\":\"#8C181A\",\"d\":\"M5.1 0C2.3 0 0 2.3 0 5.1v53.8C0 61.7 2.3 64 5.1 64h45.8c2.8 0 5.1-2.3 5.1-5.1V20.3L37.1 0h-32z\"},{\"fill\":\"#6B0D12\",\"d\":\"M56 20.4v1H43.2s-6.3-1.3-6.1-6.7c0 0 .2 5.7 6 5.7H56z\"},{\"opacity\":\".5\",\"fill\":\"#FFF\",\"d\":\"M37.1 0v14.6c0 1.7 1.1 5.8 6.1 5.8H56L37.1 0z\"},{\"fill\":\"#FFF\",\"d\":\"M14.9 49h-3.3v4.1c0 .4-.3.7-.8.7-.4 0-.7-.3-.7-.7V42.9c0-.6.5-1.1 1.1-1.1h3.7c2.4 0 3.8 1.7 3.8 3.6 0 2-1.4 3.6-3.8 3.6zm-.1-5.9h-3.2v4.6h3.2c1.4 0 2.4-.9 2.4-2.3s-1-2.3-2.4-2.3zm10.4 10.7h-3c-.6 0-1.1-.5-1.1-1.1v-9.8c0-.6.5-1.1 1.1-1.1h3c3.7 0 6.2 2.6 6.2 6s-2.4 6-6.2 6zm0-10.7h-2.6v9.3h2.6c2.9 0 4.6-2.1 4.6-4.7.1-2.5-1.6-4.6-4.6-4.6zm16.3 0h-5.8V47h5.7c.4 0 .6.3.6.7s-.3.6-.6.6h-5.7v4.8c0 .4-.3.7-.8.7-.4 0-.7-.3-.7-.7V42.9c0-.6.5-1.1 1.1-1.1h6.2c.4 0 .6.3.6.7.1.3-.2.6-.6.6z\"}]},\nppt:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M5.112-.004A5.074 5.074 0 00.039 5.07v53.841a5.073 5.073 0 005.073 5.074h45.774a5.074 5.074 0 005.074-5.074V20.306L37.058-.004H5.112z\",\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",\"fill\":\"#E34221\"},{\"d\":\"M14.964 49.011h-3.331v4.141a.734.734 0 01-.756.738.73.73 0 01-.738-.738V42.854c0-.594.486-1.081 1.08-1.081h3.745c2.413 0 3.763 1.657 3.763 3.619 0 1.963-1.387 3.619-3.763 3.619zm-.181-5.906h-3.15v4.573h3.15c1.423 0 2.395-.936 2.395-2.287 0-1.349-.972-2.286-2.395-2.286zm11.197 5.906h-3.332v4.141a.734.734 0 01-.756.738.73.73 0 01-.738-.738V42.854c0-.594.486-1.081 1.08-1.081h3.746c2.412 0 3.763 1.657 3.763 3.619 0 1.963-1.387 3.619-3.763 3.619zm-.18-5.906h-3.151v4.573H25.8c1.423 0 2.395-.936 2.395-2.287-.001-1.349-.972-2.286-2.395-2.286zm14.112 0h-3.277v10.047a.734.734 0 01-.756.738.73.73 0 01-.738-.738V43.105h-3.259c-.36 0-.647-.288-.647-.684 0-.361.287-.648.647-.648h8.03c.36 0 .648.288.648.685a.644.644 0 01-.648.647z\",\"fill\":\"#fff\"}],\"g\":{\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",\"path\":[{\"d\":\"M55.977 20.352v1H43.178s-6.312-1.26-6.129-6.707c0 0 .208 5.707 6.004 5.707h12.924z\",\"fill\":\"#DC3119\"},{\"d\":\"M37.074 0v14.561c0 1.656 1.104 5.791 6.104 5.791h12.799L37.074 0z\",\"opacity\":\".5\",\"fill\":\"#fff\"}]}},\npsd:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M5.112.051A5.074 5.074 0 00.039 5.126v53.841a5.073 5.073 0 005.073 5.073h45.775a5.074 5.074 0 005.074-5.073V20.361L37.058.051H5.112z\",\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",\"fill\":\"#0C77C6\"},{\"d\":\"M14.952 49.011h-3.331v4.141a.734.734 0 01-.756.738.73.73 0 01-.738-.738V42.854c0-.594.486-1.081 1.08-1.081h3.745c2.413 0 3.763 1.657 3.763 3.619 0 1.963-1.387 3.619-3.763 3.619zm-.181-5.906h-3.15v4.573h3.15c1.423 0 2.395-.936 2.395-2.287 0-1.349-.972-2.286-2.395-2.286zm10.26 10.894c-1.781 0-3.187-.594-4.213-1.495a.71.71 0 01-.234-.54c0-.36.271-.756.703-.756.144 0 .306.036.432.144.828.739 1.98 1.314 3.367 1.314 2.143 0 2.826-1.152 2.826-2.071 0-3.097-7.111-1.386-7.111-5.672 0-1.98 1.764-3.331 4.123-3.331 1.549 0 2.881.467 3.854 1.278a.73.73 0 01.252.54c0 .36-.307.72-.703.72a.682.682 0 01-.432-.162c-.883-.72-1.98-1.044-3.078-1.044-1.441 0-2.467.774-2.467 1.909 0 2.701 7.111 1.152 7.111 5.636 0 1.748-1.188 3.53-4.43 3.53zm11.215-.216h-3.025c-.594 0-1.08-.487-1.08-1.081v-9.849c0-.594.486-1.081 1.08-1.081h3.025c3.727 0 6.157 2.611 6.157 6.014 0 3.422-2.43 5.997-6.157 5.997zm0-10.678h-2.611v9.345h2.611c2.916 0 4.609-2.088 4.609-4.663 0-2.593-1.638-4.682-4.609-4.682z\",\"fill\":\"#fff\"}],\"g\":{\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",\"path\":[{\"d\":\"M55.977 20.352v1H43.178s-6.312-1.26-6.129-6.707c0 0 .208 5.707 6.004 5.707h12.924z\",\"fill\":\"#0959B7\"},{\"d\":\"M37.074 0v14.561c0 1.656 1.104 5.791 6.104 5.791h12.799L37.074 0z\",\"opacity\":\".5\",\"fill\":\"#fff\"}]}},\nquip_doc:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",\"fill\":\"#3D87F5\",\"d\":\"M0 5.1v53.7C0 61.7 2.3 64 5.1 64h45.7c2.8 0 5.1-2.3 5.1-5.1V21L37 0H5.1C2.3 0 0 2.3 0 5.1z\"},{\"opacity\":\".5\",\"fill\":\"#FFF\",\"d\":\"M37 0l19 21H42.1c-2.8 0-5.2-2.3-5.2-5.2L37 0z\"},{\"opacity\":\".5\",\"fill\":\"#216AC1\",\"d\":\"M37 15.9v1c0 2.8 2.3 5.2 5.2 5.2H56v-1H42.1c-2.8-.1-5.1-2.4-5.1-5.2z\"},{\"fill\":\"#FFF\",\"d\":\"M23.5 46.7h-6.9c-.4 0-.8.3-.8.8s.3.8.8.8h6.9c.4 0 .8-.3.8-.8s-.4-.8-.8-.8zM16.5 41.3h6.9c.4 0 .8-.3.8-.8 0-.4-.3-.8-.8-.8h-6.9c-.4 0-.8.3-.8.8.1.5.4.8.8.8zM14.2 43.2c-.4 0-.8.3-.8.8 0 .4.3.8.8.8h11.5c.4 0 .8-.3.8-.8 0-.4-.3-.8-.8-.8H14.2z\"},{\"fill\":\"#FFF\",\"d\":\"M26.8 36.7c-3.9-3.7-10.1-3.6-13.9.2-3.8 3.8-3.9 10-.2 13.9 1.9 2 4.5 3.2 7.3 3.2h9.2c.4 0 .8-.3.8-.8V44c0-2.8-1.1-5.4-3.2-7.3zm1.6 15.8H20c-2.3 0-4.6-1-6.2-2.7-1.6-1.7-2.4-4-2.3-6.3.3-4.3 3.7-7.7 7.9-7.9h.5c4.7 0 8.5 3.8 8.5 8.5v8.4z\"}]},\nquip_sheet:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",\"fill\":\"#2CAB21\",\"d\":\"M0 5.1v53.7C0 61.7 2.3 64 5.1 64h45.7c2.8 0 5.1-2.3 5.1-5.1V21L37 0H5.1C2.3 0 0 2.3 0 5.1z\"},{\"opacity\":\".5\",\"fill\":\"#FFF\",\"d\":\"M37 0l19 21H42.1c-2.8 0-5.2-2.3-5.2-5.2L37 0z\"},{\"opacity\":\".5\",\"fill\":\"#189355\",\"d\":\"M37 15.9v1c0 2.8 2.3 5.2 5.2 5.2H56v-1H42.1c-2.8-.1-5.1-2.4-5.1-5.2z\"},{\"fill\":\"#FFF\",\"d\":\"M23.5 46.7h-6.9c-.4 0-.8.3-.8.8s.3.8.8.8h6.9c.4 0 .8-.3.8-.8s-.4-.8-.8-.8zM16.5 41.3h6.9c.4 0 .8-.3.8-.8 0-.4-.3-.8-.8-.8h-6.9c-.4 0-.8.3-.8.8.1.5.4.8.8.8zM14.2 43.2c-.4 0-.8.3-.8.8 0 .4.3.8.8.8h11.5c.4 0 .8-.3.8-.8 0-.4-.3-.8-.8-.8H14.2z\"},{\"fill\":\"#FFF\",\"d\":\"M26.8 36.7c-3.9-3.7-10.1-3.6-13.9.2-3.8 3.8-3.9 10-.2 13.9 1.9 2 4.5 3.2 7.3 3.2h9.2c.4 0 .8-.3.8-.8V44c0-2.8-1.1-5.4-3.2-7.3zM20 52.5c-2.3 0-4.6-1-6.2-2.7-1.6-1.7-2.4-4-2.3-6.3.3-4.3 3.7-7.7 7.9-7.9h.5c4.7 0 8.5 3.8 8.5 8.5v8.4H20z\"}]},\nquip_slide:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",\"fill\":\"#8D3DF5\",\"d\":\"M0 5.1v53.7C0 61.7 2.3 64 5.1 64h45.7c2.8 0 5.1-2.3 5.1-5.1V21L37 0H5.1C2.3 0 0 2.3 0 5.1z\"},{\"opacity\":\".5\",\"fill\":\"#FFF\",\"d\":\"M37 0l19 21H42.1c-2.8 0-5.2-2.3-5.2-5.2L37 0z\"},{\"opacity\":\".5\",\"fill\":\"#6D2BD6\",\"d\":\"M37 15.9v1c0 2.8 2.3 5.2 5.2 5.2H56v-1H42.1c-2.8-.1-5.1-2.4-5.1-5.2z\"},{\"fill\":\"#FFF\",\"d\":\"M23.5 46.7h-6.9c-.4 0-.8.3-.8.8s.3.8.8.8h6.9c.4 0 .8-.3.8-.8s-.4-.8-.8-.8zM16.5 41.3h6.9c.4 0 .8-.3.8-.8 0-.4-.3-.8-.8-.8h-6.9c-.4 0-.8.3-.8.8.1.5.4.8.8.8zM14.2 43.2c-.4 0-.8.3-.8.8 0 .4.3.8.8.8h11.5c.4 0 .8-.3.8-.8 0-.4-.3-.8-.8-.8H14.2z\"},{\"fill\":\"#FFF\",\"d\":\"M26.8 36.7c-3.9-3.7-10.1-3.6-13.9.2-3.8 3.8-3.9 10-.2 13.9 1.9 2 4.5 3.2 7.3 3.2h9.2c.4 0 .8-.3.8-.8V44c0-2.8-1.1-5.4-3.2-7.3zM20 52.5c-2.3 0-4.6-1-6.2-2.7-1.6-1.7-2.4-4-2.3-6.3.3-4.3 3.7-7.7 7.9-7.9h.5c4.7 0 8.5 3.8 8.5 8.5v8.4H20z\"}]},\nrtf:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M5.113.006A5.074 5.074 0 00.039 5.08v53.841a5.073 5.073 0 005.074 5.074h45.774a5.074 5.074 0 005.074-5.074V20.316L37.058.006H5.113z\",\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",\"fill\":\"#00A1EE\"},{\"d\":\"M15.611 48.825l2.575 3.907a.756.756 0 01.108.378c0 .36-.306.72-.738.72a.699.699 0 01-.594-.324l-2.935-4.555h-2.395v4.141a.734.734 0 01-.756.738.73.73 0 01-.738-.738V42.793c0-.594.486-1.081 1.081-1.081h3.745c2.197 0 3.763 1.405 3.763 3.619 0 2.161-1.477 3.35-3.116 3.494zm-3.979-5.78v4.591h3.151c1.422 0 2.395-.954 2.395-2.305 0-1.35-.972-2.287-2.395-2.287h-3.151zm17.463 0h-3.277v10.047a.734.734 0 01-.756.738.73.73 0 01-.738-.738V43.045h-3.259c-.36 0-.648-.288-.648-.684 0-.36.288-.648.648-.648h8.031c.36 0 .648.288.648.685a.647.647 0 01-.649.647zm10.295 0h-5.833v3.871h5.708c.36 0 .648.288.648.685 0 .36-.288.648-.648.648h-5.708v4.843a.734.734 0 01-.756.738.73.73 0 01-.738-.738V42.793c0-.594.486-1.081 1.081-1.081h6.248c.36 0 .648.288.648.685a.648.648 0 01-.65.648z\",\"fill\":\"#fff\"}],\"g\":{\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",\"path\":[{\"d\":\"M55.977 20.352v1H43.178s-6.312-1.26-6.129-6.707c0 0 .208 5.707 6.004 5.707h12.924z\",\"fill\":\"#0089E9\"},{\"d\":\"M37.074 0v14.561c0 1.656 1.104 5.791 6.104 5.791h12.799L37.074 0z\",\"opacity\":\".5\",\"fill\":\"#fff\"}]}},\nslide:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M5.15.008A5.074 5.074 0 00.078 5.082v53.842a5.072 5.072 0 005.072 5.073h45.775a5.074 5.074 0 005.074-5.073V20.318L37.096.008H5.15z\",\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",\"fill\":\"#1AB6D9\"},{\"d\":\"M10.121 34.772v19.09h19.918v-19.09H10.121zM28.226 50.24H11.931V38.396h16.295V50.24z\",\"fill\":\"#fff\"},{\"d\":\"M55.977 20.352v1H43.178s-6.312-1.26-6.129-6.707c0 0 .208 5.707 6.004 5.707h12.924z\",\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",\"fill\":\"#13A3CF\"},{\"d\":\"M37.074 0v14.561c0 1.656 1.104 5.791 6.104 5.791h12.799L37.074 0z\",\"opacity\":\".5\",\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",\"fill\":\"#fff\"}]},\nstypi:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",\"path\":[{\"d\":\"M5.072.006A5.073 5.073 0 000 5.08v53.841a5.073 5.073 0 005.072 5.074h45.775a5.074 5.074 0 005.074-5.074V20.315L37.018.006H5.072z\",\"fill\":\"#DDD965\"},{\"d\":\"M55.977 20.352v1H43.178s-6.312-1.26-6.129-6.707c0 0 .208 5.707 6.004 5.707h12.924z\",\"fill\":\"#C1BC45\"},{\"d\":\"M37.074 0v14.561c0 1.656 1.104 5.791 6.104 5.791h12.799L37.074 0z\",\"opacity\":\".5\",\"fill\":\"#fff\"},{\"d\":\"M29.399 34.802H11.768c-.872 0-1.577.706-1.577 1.577v15.99c0 .871.706 1.577 1.577 1.577h13.167l6.04-6.017v-11.55c0-.871-.705-1.577-1.576-1.577z\",\"fill\":\"#fff\"},{\"fill\":\"#DBD75D\",\"d\":\"M13.741 43.553h13.675v1.643H13.741zm0-3.555h13.675v1.641H13.741zm0 7.109h8.867v1.643h-8.867z\"}]}},\ntxt:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M5.151-.036A5.074 5.074 0 00.077 5.038v53.841a5.073 5.073 0 005.074 5.074h45.774a5.074 5.074 0 005.074-5.074V20.274L37.097-.036H5.151z\",\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",\"fill\":\"#F9CA06\"},{\"d\":\"M18.763 43.045h-3.277v10.047a.734.734 0 01-.756.738.73.73 0 01-.738-.738V43.045h-3.259c-.36 0-.648-.288-.648-.684 0-.36.288-.648.648-.648h8.03c.36 0 .648.288.648.685a.645.645 0 01-.648.647zm11.7 10.803a.64.64 0 01-.541-.27l-3.727-4.97-3.745 4.97a.639.639 0 01-.54.27.71.71 0 01-.72-.72c0-.144.036-.306.144-.432l3.889-5.131-3.619-4.826a.721.721 0 01-.144-.414c0-.343.288-.721.72-.721.216 0 .432.108.576.288l3.439 4.627 3.439-4.646a.642.642 0 01.541-.27c.378 0 .738.306.738.721a.7.7 0 01-.126.414l-3.619 4.808 3.89 5.149c.09.126.126.27.126.415a.739.739 0 01-.721.738zm11.195-10.803h-3.277v10.047a.734.734 0 01-.756.738.73.73 0 01-.738-.738V43.045h-3.259c-.36 0-.648-.288-.648-.684 0-.36.288-.648.648-.648h8.03c.36 0 .648.288.648.685a.644.644 0 01-.648.647z\",\"fill\":\"#fff\"}],\"g\":{\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",\"path\":[{\"d\":\"M56.008 20.316v1H43.209s-6.312-1.26-6.129-6.708c0 0 .208 5.708 6.004 5.708h12.924z\",\"fill\":\"#F7BC04\"},{\"d\":\"M37.106-.036v14.561c0 1.656 1.104 5.792 6.104 5.792h12.799L37.106-.036z\",\"opacity\":\".5\",\"fill\":\"#fff\"}]}},\nunknown:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",\"path\":[{\"d\":\"M5.113.007A5.073 5.073 0 00.039 5.081v53.84a5.073 5.073 0 005.074 5.074h45.774a5.074 5.074 0 005.074-5.074V20.315L37.058.007H5.113z\",\"fill\":\"#8199AF\"},{\"d\":\"M55.976 20.352v1H43.177s-6.312-1.26-6.129-6.707c0 0 .208 5.707 6.004 5.707h12.924z\",\"fill\":\"#617F9B\"},{\"d\":\"M37.074 0v14.561c0 1.656 1.104 5.791 6.104 5.791h12.799L37.074 0z\",\"opacity\":\".5\",\"fill\":\"#fff\"}]}},\nvideo:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M5.15.011A5.073 5.073 0 00.078 5.085v53.841A5.073 5.073 0 005.15 64h45.775A5.075 5.075 0 0056 58.926V20.32L37.096.011H5.15z\",\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",\"fill\":\"#8E4C9E\"},{\"d\":\"M24.531 45.529c0 .368-.163.736-.449.981-.205.163-5.255 4.417-11.839 7.095a1.411 1.411 0 01-.511.103 1.35 1.35 0 01-.675-.184 1.229 1.229 0 01-.613-.981c-.021-.144-.307-3.456-.307-7.014s.286-6.87.307-6.993c.021-.408.266-.776.613-1.002.205-.122.43-.184.675-.184.164 0 .348.041.511.103 6.584 2.678 11.634 6.932 11.839 7.115.286.225.449.593.449.961z\",\"fill\":\"#fff\"}],\"g\":{\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",\"path\":[{\"d\":\"M55.977 20.352v1H43.178s-6.312-1.26-6.129-6.707c0 0 .208 5.707 6.004 5.707h12.924z\",\"fill\":\"#713985\"},{\"d\":\"M37.074 0v14.561c0 1.656 1.104 5.791 6.104 5.791h12.799L37.074 0z\",\"opacity\":\".5\",\"fill\":\"#fff\"}]}},\nvisio:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M5.111.006A5.073 5.073 0 00.039 5.08v53.841a5.073 5.073 0 005.072 5.074h45.775a5.074 5.074 0 005.074-5.074V20.315L37.057.006H5.111z\",\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",\"fill\":\"#496AB3\"},{\"d\":\"M20.915 42.686l-4.16 10.334c-.198.486-.684.81-1.188.81h-.036a1.316 1.316 0 01-1.207-.81l-4.141-10.334a.755.755 0 01-.054-.289c0-.36.324-.792.811-.792.306 0 .594.181.72.486l3.889 9.993 3.889-9.993a.767.767 0 01.72-.486c.468 0 .81.378.81.792 0 .09-.018.198-.053.289zm3.147 11.144a.73.73 0 01-.738-.738V42.325c0-.396.324-.721.774-.721.396 0 .72.324.72.721v10.767a.734.734 0 01-.756.738zm7.902.108c-1.782 0-3.187-.594-4.213-1.495a.71.71 0 01-.234-.54c0-.36.27-.756.702-.756.144 0 .306.036.432.145.829.738 1.981 1.314 3.367 1.314 2.143 0 2.827-1.152 2.827-2.071 0-3.097-7.112-1.386-7.112-5.672 0-1.98 1.764-3.33 4.123-3.33 1.548 0 2.881.467 3.853 1.277a.731.731 0 01.252.541c0 .359-.306.72-.702.72a.68.68 0 01-.432-.162c-.882-.72-1.98-1.044-3.079-1.044-1.44 0-2.467.774-2.467 1.909 0 2.701 7.112 1.152 7.112 5.636.001 1.746-1.188 3.528-4.429 3.528z\",\"fill\":\"#fff\"}],\"g\":{\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",\"path\":[{\"d\":\"M55.977 20.352v1H43.178s-6.312-1.26-6.129-6.707c0 0 .208 5.707 6.004 5.707h12.924z\",\"fill\":\"#374FA0\"},{\"d\":\"M37.074 0v14.561c0 1.656 1.104 5.791 6.104 5.791h12.799L37.074 0z\",\"opacity\":\".5\",\"fill\":\"#fff\"}]}},\nwebex:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",\"path\":[{\"d\":\"M5.152.011A5.074 5.074 0 00.078 5.085v53.841A5.074 5.074 0 005.152 64h45.773A5.075 5.075 0 0056 58.926V20.32L37.098.011H5.152z\",\"fill\":\"#80BC4B\"},{\"d\":\"M55.977 20.352v1H43.178s-6.312-1.26-6.129-6.707c0 0 .208 5.707 6.004 5.707h12.924z\",\"fill\":\"#60AB38\"},{\"d\":\"M37.074 0v14.561c0 1.656 1.104 5.791 6.104 5.791h12.799L37.074 0z\",\"opacity\":\".5\",\"fill\":\"#fff\"}]},\"path\":[{\"d\":\"M20.463 53.854c5.161-.271 9.261-4.538 9.261-9.767a9.78 9.78 0 00-9.26-9.767l-.001 19.534z\",\"fill\":\"#CFE8AF\"},{\"d\":\"M19.338 53.852c-5.119-.316-9.174-4.565-9.174-9.764s4.056-9.447 9.174-9.763v19.527z\",\"fill\":\"#fff\"}]},\nword:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"fill-rule\":\"evenodd\",\"path\":[{\"d\":\"M5.11 0A5.07 5.07 0 000 5v53.88A5.07 5.07 0 005.11 64h45.78A5.07 5.07 0 0056 58.88v-38.6L37.06 0z\",\"fill\":\"#107cad\"},{\"d\":\"M56 20.35v1H43.18s-6.31-1.26-6.13-6.71c0 0 .21 5.71 6 5.71z\",\"fill\":\"#084968\"},{\"d\":\"M37.07 0v14.56a5.78 5.78 0 006.11 5.79H56z\",\"fill\":\"#90d0fe\",\"opacity\":\".5\"}]},\"path\":{\"d\":\"M14.24 53.86h-3a1.08 1.08 0 01-1.08-1.08v-9.85a1.08 1.08 0 011.08-1.08h3a6 6 0 110 12zm0-10.67h-2.61v9.34h2.61a4.41 4.41 0 004.61-4.66 4.38 4.38 0 00-4.61-4.68zm14.42 10.89a5.86 5.86 0 01-6-6.21 6 6 0 1111.92 0 5.87 5.87 0 01-5.92 6.21zm0-11.09c-2.7 0-4.41 2.07-4.41 4.88s1.71 4.88 4.41 4.88 4.41-2.09 4.41-4.88S31.35 43 28.66 43zm18.45.38a.75.75 0 01.2.52.71.71 0 01-.7.72.64.64 0 01-.51-.24 4.06 4.06 0 00-3-1.38 4.61 4.61 0 00-4.63 4.88 4.63 4.63 0 004.63 4.88 4 4 0 003-1.37.7.7 0 01.51-.24.72.72 0 01.7.74.78.78 0 01-.2.51 5.33 5.33 0 01-4 1.69 6.22 6.22 0 010-12.43 5.26 5.26 0 014 1.72z\",\"fill\":\"#fff\"}},\nxml:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M5.112-.024A5.074 5.074 0 00.038 5.05v53.841a5.073 5.073 0 005.074 5.074h45.774a5.074 5.074 0 005.074-5.074V20.285L37.058-.024H5.112z\",\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",\"fill\":\"#FC7B24\"},{\"d\":\"M19.371 53.848a.64.64 0 01-.541-.27l-3.727-4.97-3.745 4.97a.638.638 0 01-.54.27.712.712 0 01-.721-.72.66.66 0 01.145-.432l3.889-5.131-3.619-4.826a.721.721 0 01-.144-.414c0-.343.288-.721.72-.721.217 0 .433.108.576.288l3.439 4.627 3.439-4.646a.64.64 0 01.54-.27c.378 0 .737.306.737.721a.7.7 0 01-.125.414l-3.619 4.808 3.889 5.149c.09.126.127.27.127.415a.736.736 0 01-.72.738zm14.455-.018a.73.73 0 01-.738-.738v-9.254l-4.033 9.759c-.055.143-.2.233-.379.233a.37.37 0 01-.342-.234l-4.016-9.759v9.254a.734.734 0 01-.756.738.73.73 0 01-.738-.738V42.829c0-.648.559-1.207 1.242-1.207.486 0 .99.288 1.188.756l3.438 8.373 3.457-8.373c.199-.468.686-.756 1.189-.756.684 0 1.242.558 1.242 1.207v10.263c.002.414-.322.738-.754.738zm10.546-.108h-5.456c-.594 0-1.08-.486-1.08-1.081V42.325c0-.396.324-.721.774-.721.396 0 .72.324.72.721V52.39h5.042c.36 0 .647.288.647.648.001.396-.287.684-.647.684z\",\"fill\":\"#fff\"}],\"g\":{\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",\"path\":[{\"d\":\"M55.977 20.352v1H43.178s-6.312-1.26-6.129-6.707c0 0 .208 5.707 6.004 5.707h12.924z\",\"fill\":\"#FB5C1B\"},{\"d\":\"M37.074 0v14.561c0 1.656 1.104 5.791 6.104 5.791h12.799L37.074 0z\",\"opacity\":\".5\",\"fill\":\"#fff\"}]}},\nzip:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M5.113-.026A5.074 5.074 0 00.039 5.048v53.841a5.073 5.073 0 005.074 5.074h45.773a5.074 5.074 0 005.074-5.074V20.284L37.059-.026H5.113z\",\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",\"fill\":\"#8199AF\"},{\"d\":\"M18.438 53.906h-7.581c-.378 0-.756-.342-.756-.828 0-.18.054-.36.162-.504l6.68-9.345h-6.212c-.36 0-.648-.288-.648-.684 0-.36.288-.648.648-.648h7.454c.378 0 .756.342.756.829 0 .18-.054.36-.162.504l-6.68 9.345h6.338c.36 0 .648.288.648.648.001.395-.287.683-.647.683zm4.012.108a.73.73 0 01-.738-.738V42.509c0-.396.324-.721.774-.721.396 0 .72.324.72.721v10.767a.735.735 0 01-.756.738zm8.839-4.879h-3.331v4.141a.734.734 0 01-.756.738.73.73 0 01-.738-.738V42.977c0-.594.486-1.081 1.081-1.081h3.745c2.413 0 3.763 1.657 3.763 3.619s-1.387 3.62-3.764 3.62zm-.18-5.906h-3.151v4.573h3.151c1.422 0 2.395-.936 2.395-2.287-.001-1.35-.973-2.286-2.395-2.286z\",\"fill\":\"#fff\"}],\"g\":{\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",\"path\":[{\"d\":\"M55.977 20.352v1H43.178s-6.312-1.26-6.129-6.707c0 0 .208 5.707 6.004 5.707h12.924z\",\"fill\":\"#617F9B\"},{\"d\":\"M37.074 0v14.561c0 1.656 1.104 5.791 6.104 5.791h12.799L37.074 0z\",\"opacity\":\".5\",\"fill\":\"#fff\"}]}},\nviewBox:'0 0 56 64'\n}; } export default icons;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n\nlet icons = {}; if ('__INCLUDE_SLDS_ICONS__' === '__INCLUDE_SLDS_ICONS__') { icons = {\naccount:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M79 51.1c.1-2.1-1.4-2.7-2-2.7H55.2c-1.9 0-2.2 2-2.2 2.2V74h26V51.1zM64 67.9c0 1.1-.9 2-2 2h-2c-1.1 0-2-.9-2-2v-2c0-1.1.9-2 2-2h2c1.1 0 2 .9 2 2v2zm0-10.2c0 1.1-.9 2-2 2h-2c-1.1 0-2-.9-2-2v-2c0-1.1.9-2 2-2h2c1.1 0 2 .9 2 2v2zm10 10.2c0 1.1-.9 2-2 2h-2c-1.1 0-2-.9-2-2v-2c0-1.1.9-2 2-2h2c1.1 0 2 .9 2 2v2zm0-10.2c0 1.1-.9 2-2 2h-2c-1.1 0-2-.9-2-2v-2c0-1.1.9-2 2-2h2c1.1 0 2 .9 2 2v2z\"},{\"d\":\"M59 40.3V28.7c.1-2.1-1.4-2.7-2-2.7H23.2c-1.9 0-2.2 2-2.2 2.2V74h26V44.7s0-2.4 2.2-2.4h7.9c1.1 0 1.9-1.2 1.9-2zM32 66.9c0 1.1-.9 2-2 2h-2c-1.1 0-2-.9-2-2v-2c0-1.1.9-2 2-2h2c1.1 0 2 .9 2 2v2zm0-10.3c0 1.1-.9 2-2 2h-2c-1.1 0-2-.9-2-2v-2c0-1.1.9-2 2-2h2c1.1 0 2 .9 2 2v2zm0-10.2c0 1.1-.9 2-2 2h-2c-1.1 0-2-.9-2-2v-2c0-1.1.9-2 2-2h2c1.1 0 2 .9 2 2v2zm0-10.2c0 1.1-.9 2-2 2h-2c-1.1 0-2-.9-2-2v-2c0-1.1.9-2 2-2h2c1.1 0 2 .9 2 2v2zm11 30.7c0 1.1-.9 2-2 2h-2c-1.1 0-2-.9-2-2v-2c0-1.1.9-2 2-2h2c1.1 0 2 .9 2 2v2zm0-10.3c0 1.1-.9 2-2 2h-2c-1.1 0-2-.9-2-2v-2c0-1.1.9-2 2-2h2c1.1 0 2 .9 2 2v2zm0-10.2c0 1.1-.9 2-2 2h-2c-1.1 0-2-.9-2-2v-2c0-1.1.9-2 2-2h2c1.1 0 2 .9 2 2v2zm0-10.2c0 1.1-.9 2-2 2h-2c-1.1 0-2-.9-2-2v-2c0-1.1.9-2 2-2h2c1.1 0 2 .9 2 2v2zm11 0c0 1.1-.9 2-2 2h-2c-1.1 0-2-.9-2-2v-2c0-1.1.9-2 2-2h2c1.1 0 2 .9 2 2v2z\"}]},\naction_list_component:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M48.2 63.9h29.9c1.1 0 2 .9 2 2v4c0 1.1-.9 2-2 2H48.2c-1.1 0-2-.9-2-2v-4c0-1.1.9-2 2-2zM48.2 46h29.9c1.1 0 2 .9 2 2v4c0 1.1-.9 2-2 2H48.2c-1.1 0-2-.9-2-2v-4c0-1.1.9-2 2-2zM48.2 28.2h29.9c1.1 0 2 .9 2 2v4c0 1.1-.9 2-2 2H48.2c-1.1 0-2-.9-2-2v-4c0-1.1.9-2 2-2zM29 28.2c-2.2 0-4 1.8-4 4s1.8 4 4 4 4-1.8 4-4-1.8-4-4-4zM29 63.9c-2.2 0-4 1.8-4 4s1.8 4 4 4 4-1.8 4-4-1.8-4-4-4zM29 41c-5 0-9 4-9 9s4 9 9 9 9-4 9-9-4-9-9-9zm0 12c-1.7 0-3-1.4-3-3 0-1.7 1.4-3 3-3s3 1.4 3 3c0 1.7-1.3 3-3 3z\"}},\nactions_and_buttons:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M48.3 74.5c1 0 1.8-.8 1.8-1.8l.1-20.8c.1-1-.8-1.8-1.6-1.9H27.4c-1-.1-1.8.8-1.9 1.6v4.1c-.1 1 .8 1.8 1.6 1.9H34c.7 0 1.3.6 1.3 1.3 0 .3-.1.7-.3.9l-14 14c-.8.8-.8 2.1-.1 2.8l2.7 2.7c.8.7 2 .6 2.8-.1l14.1-14.1c.5-.5 1.3-.5 1.8 0 .2.2.4.5.3.9v6.6c-.1 1 .8 1.8 1.6 1.9h4.1z\"},{\"d\":\"M55.7 77.7c5.7-1 11.2-3.7 15.6-8 11.3-11.3 11.3-29.7 0-41s-29.7-11.3-41 0c-4.4 4.4-7 9.8-8 15.5h5.9c.9-4.2 3-8.1 6.2-11.4 9-9 23.8-9 32.8 0s9 23.8 0 32.8c-3.2 3.2-7.2 5.3-11.3 6.2l-.2 5.9zm.3-11.9c2.6-.8 5.1-2.2 7.1-4.3 6.8-6.8 6.8-17.8 0-24.6s-17.8-6.8-24.6 0c-2.1 2.1-3.5 4.6-4.3 7.2h6.2c.5-1.2 1.3-2.2 2.2-3.2 4.5-4.5 11.9-4.5 16.4 0s4.5 11.9 0 16.4c-.9.9-1.9 1.6-3 2.2v6.3z\"}]},\nactivation_target:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M75 20.37H57.81a5 5 0 00-5 5v17a5 5 0 005 5H75a5 5 0 005-5v-17a5 5 0 00-5-5zm-1 6v15H58.82v-15zM28 51a1.64 1.64 0 00-1.56 1.71l-.08 3.51A1.64 1.64 0 0028 57.83h6.2a1.08 1.08 0 01.82.33 1.18 1.18 0 01.08 1.71L20.54 74.34a1.68 1.68 0 00-.09 2.37l2.47 2.45a2.12 2.12 0 002.55.08l14.68-14.55a.88.88 0 01.58-.25 1.28 1.28 0 011.4 1.06l.08 5.22a1.64 1.64 0 001.64 1.63l3.54.09A1.65 1.65 0 0049 70.8v-18a1.65 1.65 0 00-1.65-1.64z\"}}},\nactivations:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M78 60a2 2 0 012 2v16a2 2 0 01-2 2H62a2 2 0 01-2-2V62a2 2 0 012-2zM40.2 26.9l12.9.2a1.16 1.16 0 011.2 1.2l.2 12.9a1.16 1.16 0 01-1.2 1.2H51a1.16 1.16 0 01-1.2-1.2l-.1-4a.77.77 0 00-1.3-.6l-7.9 7.9A10.32 10.32 0 0142 50a11.07 11.07 0 01-1.9 6.2l8.3 8.3a.77.77 0 001.3-.6l.1-4a1.16 1.16 0 011.2-1.2l2.4-.1a1.16 1.16 0 011.2 1.2l-.2 12.9a1.16 1.16 0 01-1.2 1.2l-12.9.2a1.16 1.16 0 01-1.2-1.2v-2.3a1.16 1.16 0 011.2-1.2l4-.1a.77.77 0 00.6-1.3l-8.4-8.4A11.24 11.24 0 0131 61a11 11 0 116.2-20.1l7.8-7.8a.77.77 0 00-.6-1.3l-4-.1a1.16 1.16 0 01-1.2-1.2l-.1-2.4a1.08 1.08 0 011.1-1.2zM74 66h-8v8h8zM31 45a5 5 0 105 5 5 5 0 00-5-5zm47-25a2 2 0 012 2v16a2 2 0 01-2 2H62a2 2 0 01-2-2V22a2 2 0 012-2zm-4 6h-8v8h8z\"}},\naddress:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M49 18.92a23.74 23.74 0 00-23.73 23.85c0 16.48 17 31.59 22.23 35.59a2.45 2.45 0 003.12 0c5.24-4.12 22.1-19.11 22.1-35.59A23.74 23.74 0 0049 18.92zm0 33.71a10 10 0 1110-10 10 10 0 01-10 10z\"}},\nagent_home:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M50.93 20.37l28.71 28.77a1.48 1.48 0 01.29 1.4c-.1.5-.79.8-1.29.8h-6.28v27.45c0 .8-.5 1.2-1.3 1.2H28.81a1.18 1.18 0 01-1.29-1V51.34h-6.29a1 1 0 01-1.09-.8 1.09 1.09 0 01.3-1.4l28.7-28.77a1.27 1.27 0 011.79 0zM40.39 65h-5.3A1.11 1.11 0 0034 66.09v6.8a1.11 1.11 0 001.1 1.1h5.3a1.1 1.1 0 001.1-1.1v-6.8A1.09 1.09 0 0040.39 65zm12-9h-5.3A1.11 1.11 0 0046 57.1v15.79a1.11 1.11 0 001.1 1.1h5.3a1.1 1.1 0 001.1-1.1V57.1a1.1 1.1 0 00-1.11-1.1zm12-9h-5.3A1.11 1.11 0 0058 48.1v24.79a1.11 1.11 0 001.1 1.1h5.3a1.1 1.1 0 001.1-1.1V48.1a1.1 1.1 0 00-1.11-1.1z\",\"fill-rule\":\"evenodd\"}},\nagent_session:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M49.2 21.7c-16.6 0-30 12.5-30 28 0 5 1.4 9.6 3.8 13.7.3.5.4 1.1.2 1.6l-2.8 8.9c-.5 1.6 1 3 2.6 2.5l8.8-3.1c.6-.2 1.2-.1 1.7.2 4.6 2.7 10 4.2 15.8 4.2 16.6 0 30-12.5 30-28-.2-15.5-13.6-28-30.1-28zM41 62.1c0 .6-.5 1.1-1.1 1.1h-5.3c-.6 0-1.1-.5-1.1-1.1v-6.8c0-.6.5-1.1 1.1-1.1h5.3c.6 0 1.1.5 1.1 1.1v6.8zm12 0c0 .6-.5 1.1-1.1 1.1h-5.3c-.6 0-1.1-.5-1.1-1.1V46.3c0-.6.5-1.1 1.1-1.1h5.3c.6 0 1.1.5 1.1 1.1v15.8zm12 0c0 .6-.5 1.1-1.1 1.1h-5.3c-.6 0-1.1-.5-1.1-1.1V37.3c0-.6.5-1.1 1.1-1.1h5.3c.6 0 1.1.5 1.1 1.1v24.8z\"}},\naggregation_policy:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M79.13 71.32l-9.26-9.19a4.19 4.19 0 00-.34-.28V58h4.91a1 1 0 00.78-1.64l-7.93-9.44-.13-.13a1 1 0 00-1.41.14l-7.91 9.44a1 1 0 00-.23.65 1 1 0 001 1h4.92v3.49a2.85 2.85 0 00-.92.63l-9.25 9.19a3 3 0 000 4.24 3 3 0 004.24 0l5.9-5.87V77a3 3 0 006 0v-6.73l5.32 5.29a3 3 0 004.24 0 3 3 0 00.07-4.24zM37.12 20H26a6 6 0 00-6 6v9a6 6 0 006 6h11.12a6 6 0 006-6v-9a6 6 0 00-6-6zm-4.54 15h-2a4.5 4.5 0 010-9h2a4.5 4.5 0 010 9zM66.31 41a6 6 0 006-6v-9a6 6 0 00-6-6H55.24a6 6 0 00-6 6v9a6 6 0 006 6zm-6.53-15h2a4.5 4.5 0 010 9h-2a4.5 4.5 0 010-9zM37.12 47H26a6 6 0 00-6 6v9a6 6 0 006 6h11.12a6 6 0 006-6v-9a6 6 0 00-6-6zm-4.54 15h-2a4.5 4.5 0 010-9h2a4.5 4.5 0 010 9z\",\"fill-rule\":\"evenodd\"}},\nall:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M57 44.5c-1.5 0-2.7-1.2-2.7-2.7V24.5c0-1.5 1.2-2.7 2.7-2.7h17.6c1.5 0 2.7 1.2 2.7 2.7v17.3c0 1.5-1.2 2.7-2.7 2.7H57zM64.6 54.7L54.3 65.8c-.6.6-.6 1.7 0 2.3l10.3 11.1c.7.7 1.8.7 2.5 0l10.3-11.1c.6-.6.6-1.7 0-2.3L67.1 54.7c-.7-.7-1.9-.7-2.5 0z\"},{\"d\":\"M23.6 25.7l8.9-5.1c.8-.5 1.8-.5 2.7 0l8.9 5.1c.8.5 1.3 1.4 1.3 2.3v10.2c0 .9-.5 1.8-1.3 2.3l-8.9 5.1c-.8.5-1.8.5-2.7 0l-8.9-5.1c-.8-.5-1.4-1.4-1.4-2.3V28c0-1 .6-1.9 1.4-2.3z\"}],\"circle\":{\"cx\":\"33.8\",\"cy\":\"66.6\",\"r\":\"11.6\"}},\nannouncement:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M46 74.3L44.4 73c-1.8-1.2-1.8-3.7-1.8-5v-3.6c0-1-.9-1.9-1.9-1.9h-7.5c-1 0-1.9.9-1.9 1.9V74c0 3.4 2 6 5.1 6h6.2c3.6 0 3.9-2.5 3.9-2.5s.6-2.2-.5-3.2zM74 40.1v-17-.1c0-3-3.8-3.9-5.8-1.9L57 31.6c-1.8 1.5-4 2.1-6.3 2.1h-19c-6.6.1-11.7 5.7-11.7 12.2v.2c0 6.5 5.1 11.4 11.7 11.4h19.1c2.4 0 4.6 1 6.4 2.5l11 10.7c2 2 5.8 1.2 5.8-1.7V52c3.8 0 6-2.6 6-6 0-3.3-2.3-5.9-6-5.9z\"}}},\nanswer_best:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M49.5 21.5c-16.6 0-30 12.5-30 28 0 5 1.4 9.6 3.8 13.7.3.5.4 1.1.2 1.6l-2.8 8.9c-.5 1.6 1 3 2.6 2.5l8.8-3.1c.6-.2 1.2-.1 1.7.2 4.6 2.7 10 4.2 15.8 4.2 16.6 0 30-12.5 30-28-.1-15.5-13.5-28-30.1-28zm14.4 21.8L48.6 58.6c-.6.6-1.3.9-2.1.9s-1.5-.3-2.1-.9L37 51.2c-.6-.6-.6-1.5 0-2.1l2.1-2.1c.6-.6 1.5-.6 2.1 0l5.3 5.3 13.2-13.2c.6-.6 1.5-.6 2.1 0l2.1 2.1c.6.6.6 1.6 0 2.1z\"},{\"fill-opacity\":\".65\",\"d\":\"M100 100V62l-38 38h38zm-4.2-13.5l-3.1 3.2c-.1.1-.1.2-.1.3l.7 4.5c.1.3-.3.6-.5.4L89 92.8c-.1-.1-.2-.1-.3 0l-4 2.1c-.3.1-.6-.1-.5-.4l.7-4.5c0-.1 0-.3-.1-.3l-3.1-3.2c-.2-.3-.1-.6.2-.7l4.3-.7c.1 0 .2-.1.3-.2l1.9-4.1c.1-.3.5-.3.7 0l1.9 4.1c.1.1.2.2.3.2l4.3.7c.4 0 .4.4.2.7z\"}]},\nanswer_private:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"fill-opacity\":\".65\",\"d\":\"M89 84c-1.1 0-2 .9-2 2v1h4v-1c0-1.1-.9-2-2-2z\"},{\"fill-opacity\":\".65\",\"d\":\"M100 100V62l-38 38h38zm-5-6.5c0 .8-.7 1.5-1.5 1.5h-9c-.8 0-1.5-.7-1.5-1.5v-5c0-.8.7-1.5 1.5-1.5h.5v-1c0-2.2 1.8-4 4-4s4 1.8 4 4v1h.5c.8 0 1.5.7 1.5 1.5v5z\"},{\"d\":\"M49.9 22c-16.6 0-30 12.5-30 28 0 5 1.4 9.6 3.8 13.7.3.5.4 1.1.2 1.6l-2.8 8.9c-.5 1.6 1 3 2.6 2.5l8.8-3.1c.6-.2 1.2-.1 1.7.2 4.6 2.7 10 4.2 15.8 4.2 16.6 0 30-12.5 30-28-.1-15.5-13.4-28-30.1-28zm14.5 21.8L49.1 59.1c-.6.6-1.3.9-2.1.9s-1.5-.3-2.1-.9l-7.4-7.4c-.6-.6-.6-1.5 0-2.1l2.1-2.1c.6-.6 1.5-.6 2.1 0l5.3 5.3 13.2-13.2c.6-.6 1.5-.6 2.1 0l2.1 2.1c.5.6.5 1.6 0 2.1z\"}]},\nanswer_public:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M50 22c-16.6 0-30 12.5-30 28 0 5 1.4 9.6 3.8 13.7.3.5.4 1.1.2 1.6l-2.8 8.9c-.5 1.6 1 3 2.6 2.5l8.8-3.1c.6-.2 1.2-.1 1.7.2 4.6 2.7 10 4.2 15.8 4.2 16.6 0 30-12.5 30-28C80 34.5 66.6 22 50 22zm14.4 21.8L49.1 59.1c-.6.6-1.3.9-2.1.9s-1.5-.3-2.1-.9l-7.4-7.4c-.6-.6-.6-1.5 0-2.1l2.1-2.1c.6-.6 1.5-.6 2.1 0l5.3 5.3 13.2-13.2c.6-.6 1.5-.6 2.1 0l2.1 2.1c.6.6.6 1.6 0 2.1z\"}},\napex:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M78 67.5H44.4c-1 0-1.9.9-1.9 1.9v3.7c0 1 .9 1.9 1.9 1.9H78c1 0 1.9-.9 1.9-1.9v-3.7c0-1.1-.9-1.9-1.9-1.9zM49.2 44.8L25.1 25.4c-.7-.6-1.9-.5-2.5.4l-2.1 3c-.6.9-.4 2 .4 2.6L38 45.1c.6.5.6 1.5 0 2L20.8 60.9c-.7.6-1 1.9-.4 2.6l2.1 3.2c.6.9 1.7 1 2.5.4l24.2-19.3c1-.8 1-2.3 0-3z\"}},\napex_plugin:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M50.2 40l14-14c.7-.7.7-1.9 0-2.6l-3-3c-.7-.7-1.9-.7-2.6 0l-14 14 5.6 5.6zM65.6 55.8l14-14c.7-.7.7-1.9 0-2.6l-3-3c-.7-.7-1.9-.7-2.6 0l-14 14 5.6 5.6zM63.6 67.4c.2-.3.4-.6.5-1 .1-.5 0-1-.3-1.4-.1-.1-.1-.2-.2-.3l-.1-.1-28.2-28.2-.1-.1c-.3-.4-.9-.5-1.3-.5-.6 0-1 .3-1.4.6-.3.2-.5.4-.7.7-.2.2-.3.3-.4.5-.2.2-.3.4-.5.6-.2.3-.4.5-.5.8-.2.3-.4.6-.5 1-.2.4-.4.8-.6 1.1-.2.4-.4.9-.5 1.3-.2.5-.4 1-.5 1.5-.2.6-.3 1.2-.5 1.7-.2.7-.3 1.3-.4 2-.1.7-.3 1.5-.4 2.2l-.3 2.4c-.1.9-.1 1.8-.2 2.7v3c0 1.1 0 2.2.1 3.3.1 1.2.1 2.4.2 3.6 0 .3.1.7.1 1h.2l-6.5 6.5c-.7.7-.7 1.9 0 2.6l4.6 4.6c.7.7 1.9.7 2.6 0l6.5-6.5c2.3.2 4.7.4 7.1.4 2 0 3.9 0 5.9-.2 1.6-.1 3.2-.3 4.8-.6 1.3-.2 2.6-.5 3.8-.9 1-.3 2-.7 2.9-1.1.7-.3 1.5-.7 2.1-1.1.9-.6 1.8-1.2 2.5-2 0 .1.1 0 .2-.1z\"}},\napp:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M62 28H31.5c-1.7 0-3.1 1.4-3.1 3.1v30.5h-4.6c-2.1 0-3.8-1.7-3.8-3.8V23.3c0-2.1 1.7-3.8 3.8-3.8h34.5c2.1 0 3.8 1.7 3.8 3.8V28z\"},{\"d\":\"M41.8 37.6h34.5c2.1 0 3.8 1.7 3.8 3.8v34.5c0 2.1-1.7 3.8-3.8 3.8H41.8c-2.1 0-3.8-1.7-3.8-3.8V41.3c0-2 1.7-3.7 3.8-3.7z\"}]},\napproval:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M74 54H63c-3.3 0-6-2.7-6-6 .5-8.9 4.6-9.4 5-15.1.4-6-3.4-11.4-9.3-12.7C44.9 18.6 38 24.5 38 32c0 6.6 4.5 6.6 5 16 0 3.3-2.7 6-6 6H26c-3.3 0-6 2.7-6 6v4c0 1.1.9 2 2 2h56c1.1 0 2-.9 2-2v-4c0-3.3-2.7-6-6-6zM74.1 72H25.9c-1.1 0-1.9.9-1.9 1.9v.1c0 3.3 2.7 6 6 6h40.1c3.3 0 5.9-2.7 5.9-6v-.1c0-1-.9-1.9-1.9-1.9z\"}},\napps:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M32 20h-8c-2.2 0-4 1.8-4 4v8c0 2.2 1.8 4 4 4h8c2.2 0 4-1.8 4-4v-8c0-2.2-1.8-4-4-4zM54 20h-8c-2.2 0-4 1.8-4 4v8c0 2.2 1.8 4 4 4h8c2.2 0 4-1.8 4-4v-8c0-2.2-1.8-4-4-4zM76 20h-8c-2.2 0-4 1.8-4 4v8c0 2.2 1.8 4 4 4h8c2.2 0 4-1.8 4-4v-8c0-2.2-1.8-4-4-4zM32 42h-8c-2.2 0-4 1.8-4 4v8c0 2.2 1.8 4 4 4h8c2.2 0 4-1.8 4-4v-8c0-2.2-1.8-4-4-4zM54 42h-8c-2.2 0-4 1.8-4 4v8c0 2.2 1.8 4 4 4h8c2.2 0 4-1.8 4-4v-8c0-2.2-1.8-4-4-4zM76 42h-8c-2.2 0-4 1.8-4 4v8c0 2.2 1.8 4 4 4h8c2.2 0 4-1.8 4-4v-8c0-2.2-1.8-4-4-4zM32 64h-8c-2.2 0-4 1.8-4 4v8c0 2.2 1.8 4 4 4h8c2.2 0 4-1.8 4-4v-8c0-2.2-1.8-4-4-4zM54 64h-8c-2.2 0-4 1.8-4 4v8c0 2.2 1.8 4 4 4h8c2.2 0 4-1.8 4-4v-8c0-2.2-1.8-4-4-4zM76 64h-8c-2.2 0-4 1.8-4 4v8c0 2.2 1.8 4 4 4h8c2.2 0 4-1.8 4-4v-8c0-2.2-1.8-4-4-4z\"}},\napps_admin:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M73 21H27c-3.3 0-6 2.7-6 6v46c0 3.3 2.7 6 6 6h46c3.3 0 6-2.7 6-6V27c0-3.3-2.7-6-6-6zm-2 52H29c-1.1 0-2-.9-2-2V29c0-1.1.9-2 2-2h42c1.1 0 2 .9 2 2v42c0 1.1-.9 2-2 2z\"},{\"d\":\"M45 33H35c-1.1 0-2 .9-2 2v10c0 1.1.9 2 2 2h10c1.1 0 2-.9 2-2V35c0-1.1-.9-2-2-2zM65 33H55c-1.1 0-2 .9-2 2v10c0 1.1.9 2 2 2h10c1.1 0 2-.9 2-2V35c0-1.1-.9-2-2-2zM45 53H35c-1.1 0-2 .9-2 2v10c0 1.1.9 2 2 2h10c1.1 0 2-.9 2-2V55c0-1.1-.9-2-2-2zM65 53H55c-1.1 0-2 .9-2 2v10c0 1.1.9 2 2 2h10c1.1 0 2-.9 2-2V55c0-1.1-.9-2-2-2z\"}]},\narticle:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M32 59h13c1.1 0 2-.9 2-2V27c0-2.2-2-4-4-4H32.3C31 23 30 24 30 25.3V57c0 1.1.9 2 2 2z\"},{\"d\":\"M76 29v32c0 2.2-1.8 4-4 4H28c-2.2 0-4-1.8-4-4V29c-3.3 0-6 2.7-6 6v30c0 3.3 2.7 6 6 6h19c1.1 0 2 .9 2 2s.9 2 2 2h6c1.1 0 2-.9 2-2s.9-2 2-2h19c3.3 0 6-2.7 6-6V35c0-3.3-2.7-6-6-6z\"},{\"d\":\"M55 59h12.7c1.3 0 2.3-1 2.3-2.3V25c0-1.1-.9-2-2-2H57c-2 0-4 1.8-4 4v30c0 1.1.9 2 2 2z\"}]},\nasset_action:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M64.2 72.4a3.74 3.74 0 01-3.7-3.9v-2.1a3.49 3.49 0 011-3.1l11.6-11.6V26.8a2.43 2.43 0 00-2.4-2.4H29.3a2.43 2.43 0 00-2.4 2.4v41.5a2.43 2.43 0 002.4 2.4h5.3v2.5a2.43 2.43 0 002.4 2.4h2.8a2.43 2.43 0 002.4-2.4v-2.5H58v2.5a2.43 2.43 0 002.4 2.4h2.8a2.43 2.43 0 002.4-2.4v-.8zM36.3 36.8a.84.84 0 01.9-.9h25.7a.84.84 0 01.9.9v.9a.84.84 0 01-.9.9H37.1a.84.84 0 01-.9-.9v-.9zm27.2 4.3V54a.84.84 0 01-.9.9h-1.7a.84.84 0 01-.9-.9V41.1a.84.84 0 01.9-.9h1.7q.9.15.9.9zm-5.9 0V54a.9.9 0 01-1.8 0V41.1a.84.84 0 01.9-.9q.9.15.9.9zm-3.3 0V54a.84.84 0 01-.9.9H50a.84.84 0 01-.9-.9V41.1a.84.84 0 01.9-.9h3.4c.5.1.9.4.9.9zm-7.7 0V54a.84.84 0 01-.9.9H44a.84.84 0 01-.9-.9V41.1a.84.84 0 01.9-.9h1.7c.5.1.9.4.9.9zm-10.3 0a.84.84 0 01.9-.9h3.4a.84.84 0 01.9.9V54a.84.84 0 01-.9.9h-3.4a.84.84 0 01-.9-.9zm.8 17.9a.84.84 0 01-.9-.9v-.9a.84.84 0 01.9-.9h25.7a.84.84 0 01.9.9v.9a.84.84 0 01-.9.9z\"},{\"d\":\"M79 54.7l-.9-.9a1.57 1.57 0 00-2.2 0L64 65.7c-.1.1 0 .2 0 .3v2.5c0 .2 0 .4.2.4h2.6c.1 0 .2-.1.3-.1L79 57a1.52 1.52 0 000-2.3z\"}]},\nasset_action_source:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M52.1 67.9A15.27 15.27 0 0155 59H37.1a.84.84 0 01-.9-.9v-.9a.84.84 0 01.9-.9h20.2a15.35 15.35 0 012.9-2.1c-.1-.1-.1-.2-.1-.4V41.1a.84.84 0 01.9-.9h1.7a.84.84 0 01.9.9V53a14.3 14.3 0 019.6.5V26.8a2.43 2.43 0 00-2.4-2.4H29.3a2.43 2.43 0 00-2.4 2.4v41.5a2.43 2.43 0 002.4 2.4h5.3v2.5a2.43 2.43 0 002.4 2.4h2.8a2.43 2.43 0 002.4-2.4v-2.5h10.3a8.63 8.63 0 01-.4-2.8zM46.6 54a.84.84 0 01-.9.9H44a.84.84 0 01-.9-.9V41.1a.84.84 0 01.9-.9h1.7a.84.84 0 01.9.9zm7.7 0a.84.84 0 01-.9.9H50a.84.84 0 01-.9-.9V41.1a.84.84 0 01.9-.9h3.4a.84.84 0 01.9.9zm3.3 0a.9.9 0 01-1.8 0V41.1a.9.9 0 111.8 0zM36.3 36.8a.84.84 0 01.9-.9h25.7a.84.84 0 01.9.9v.9a.84.84 0 01-.9.9H37.1a.84.84 0 01-.9-.9v-.9zm0 4.3a.84.84 0 01.9-.9h3.4a.84.84 0 01.9.9V54a.84.84 0 01-.9.9h-3.4a.84.84 0 01-.9-.9z\"},{\"d\":\"M67.6 55.9a12.12 12.12 0 00-12.1 12 12 12 0 0011.9 12 12 12 0 10.2-24zm8 12.5l-5.3 5.4a.67.67 0 01-1 0 11 11 0 01-1-1.1.67.67 0 010-1l1.6-1.7a.45.45 0 00-.3-.8h-9.7a.75.75 0 01-.7-.7V67a.68.68 0 01.7-.7h9.7a.46.46 0 00.3-.8L68.3 64a.67.67 0 010-1l1-1a.67.67 0 011 0l5.3 5.5a.56.56 0 010 .9z\"}]},\nasset_downtime_period:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M50.4 67.8a15.55 15.55 0 012.1-8.8H37.1a.84.84 0 01-.9-.9v-.9a.84.84 0 01.9-.9h17.3a15.37 15.37 0 011.9-1.7.84.84 0 01-.4-.7V41.1a.9.9 0 111.8 0v12.7a11.51 11.51 0 012.5-1.2V41.1a.84.84 0 01.9-.9h1.7a.84.84 0 01.9.9v10.7c.2 0 .5-.1.7-.1a15.88 15.88 0 018.9 2.1v-27a2.43 2.43 0 00-2.4-2.4H29.3a2.43 2.43 0 00-2.4 2.4v41.5a2.43 2.43 0 002.4 2.4h5.3v2.5a2.43 2.43 0 002.4 2.4h2.8a2.43 2.43 0 002.4-2.4v-2.5h8.7a9.29 9.29 0 01-.5-2.9zM46.6 54a.84.84 0 01-.9.9H44a.84.84 0 01-.9-.9V41.1a.84.84 0 01.9-.9h1.7a.84.84 0 01.9.9zm7.7 0a.84.84 0 01-.9.9H50a.84.84 0 01-.9-.9V41.1a.84.84 0 01.9-.9h3.4a.84.84 0 01.9.9zm-18-17.2a.84.84 0 01.9-.9h25.7a.84.84 0 01.9.9v.9a.84.84 0 01-.9.9H37.1a.84.84 0 01-.9-.9v-.9zm0 4.3a.84.84 0 01.9-.9h3.4a.84.84 0 01.9.9V54a.84.84 0 01-.9.9h-3.4a.84.84 0 01-.9-.9z\"},{\"d\":\"M64.7 60.9h1.2a.65.65 0 01.6.6v5.4c0 .2-.1.3-.2.5l-3.5 3.5a.75.75 0 01-.9 0l-.7-.9a.75.75 0 010-.9l2.9-2.9v-4.7a.58.58 0 01.6-.6zm14.1 5.4H77v-.4a11.58 11.58 0 10-11.7 12.4 11.47 11.47 0 008.6-3.6c.2-.2.4-.4.2-.6l-1-1.2a.56.56 0 00-.9 0 9.17 9.17 0 01-7.7 2.9 9.55 9.55 0 01-8.1-8 9.1 9.1 0 0118.1-1.9v.4h-1.8a.65.65 0 00-.6.6c0 .2 0 .3.1.4l3.1 3.8a.67.67 0 001 0l3.1-3.8a.75.75 0 000-.9 1.49 1.49 0 00-.6-.1z\"}]},\nasset_object:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M74.2 20.2H25.8A2.86 2.86 0 0023 23v48.4a2.86 2.86 0 002.8 2.8H32V77a2.86 2.86 0 002.8 2.8H38a2.86 2.86 0 002.8-2.8v-2.9h18.4V77a2.86 2.86 0 002.8 2.8h3.2A2.86 2.86 0 0068 77v-2.9h6.2a2.86 2.86 0 002.8-2.8V23a2.86 2.86 0 00-2.8-2.8zM34 39.6a.94.94 0 011-1h4a.94.94 0 011 1v15a.94.94 0 01-1 1h-4a.94.94 0 01-1-1zm32 19.9a.94.94 0 01-1 1H35a.94.94 0 01-1-1v-1a.94.94 0 011-1h30a.94.94 0 011 1zm-24-4.9v-15a.94.94 0 011-1h2a.94.94 0 011 1v15a.94.94 0 01-1 1h-2a.94.94 0 01-1-1zm7 0v-15a.94.94 0 011-1h4a.94.94 0 011 1v15a.94.94 0 01-1 1h-4a.94.94 0 01-1-1zm7.9 0v-15a1 1 0 012 0v15a1 1 0 01-2 0zm4.9 0v-15a.94.94 0 011-1h2a.94.94 0 011 1v15a.94.94 0 01-1 1h-2a.94.94 0 01-1-1zm4.2-19a.94.94 0 01-1 1H35a.94.94 0 01-1-1v-1a.94.94 0 011-1h30a.94.94 0 011 1z\"}},\nasset_relationship:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M72.8 54.7v-.4c0-9-5.3-16.8-12.9-20.6v-.9c0-5.5-4.5-10-10-10s-10 4.5-10 10v.9C32.3 37.4 27 45.3 27 54.3v.4c-4.1 1.2-7.2 5-7.2 9.6 0 5.5 4.5 10 10 10 2.2 0 4.3-.7 6-2 3.9 3 8.8 4.9 14 4.9s10.1-1.8 14-4.9c1.7 1.2 3.7 2 6 2 5.5 0 10-4.5 10-10 .2-4.5-2.8-8.4-7-9.6zM38.9 68.8c.7-1.4 1.1-2.9 1.1-4.5 0-4.9-3.6-9-8.3-9.8v-.2c0-7 4-13.1 9.8-16.2 1.8 2.8 4.9 4.7 8.5 4.7s6.7-1.9 8.5-4.7c5.8 3.1 9.8 9.2 9.8 16.2v.2c-4.7.8-8.3 4.9-8.3 9.8 0 1.6.4 3.1 1.1 4.5-3.1 2.4-6.9 3.8-11.1 3.8s-8-1.5-11.1-3.8z\"}},\nasset_state_period:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M52.1 67.9A15.27 15.27 0 0155 59H37.1a.84.84 0 01-.9-.9v-.9a.84.84 0 01.9-.9h20.2a15.35 15.35 0 012.9-2.1c-.1-.1-.1-.2-.1-.4V41.1a.84.84 0 01.9-.9h1.7a.84.84 0 01.9.9V53a14.3 14.3 0 019.6.5V26.8a2.43 2.43 0 00-2.4-2.4H29.3a2.43 2.43 0 00-2.4 2.4v41.5a2.43 2.43 0 002.4 2.4h5.3v2.5a2.43 2.43 0 002.4 2.4h2.8a2.43 2.43 0 002.4-2.4v-2.5h10.3a8.63 8.63 0 01-.4-2.8zM46.6 54a.84.84 0 01-.9.9H44a.84.84 0 01-.9-.9V41.1a.84.84 0 01.9-.9h1.7a.84.84 0 01.9.9zm7.7 0a.84.84 0 01-.9.9H50a.84.84 0 01-.9-.9V41.1a.84.84 0 01.9-.9h3.4a.84.84 0 01.9.9zm3.3 0a.9.9 0 01-1.8 0V41.1a.9.9 0 111.8 0zM36.3 36.8a.84.84 0 01.9-.9h25.7a.84.84 0 01.9.9v.9a.84.84 0 01-.9.9H37.1a.84.84 0 01-.9-.9v-.9zm0 4.3a.84.84 0 01.9-.9h3.4a.84.84 0 01.9.9V54a.84.84 0 01-.9.9h-3.4a.84.84 0 01-.9-.9z\"},{\"d\":\"M69.1 68.1a1.42 1.42 0 01-.2-.6v-4.8a.77.77 0 00-.7-.8h-1.5a.77.77 0 00-.7.8v6a1.42 1.42 0 00.2.6l3.7 3.7a.67.67 0 001 0l1.1-1.1a.78.78 0 000-1.1zm-1.6-12.2a12 12 0 00.2 24 12 12 0 0011.9-12 12.12 12.12 0 00-12.1-12zm0 21a9 9 0 119-9 8.94 8.94 0 01-9 9z\"}]},\nasset_warranty:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M66 51c1.77 0 3.17 1.92 4.72 2.58s4 .3 5.17 1.55.89 3.55 1.56 5.17S80 63.23 80 65s-1.92 3.18-2.58 4.73-.3 4-1.56 5.17-3.54.88-5.17 1.55S67.74 79 66 79s-3.18-1.92-4.73-2.58-4-.3-5.17-1.55-.88-3.55-1.55-5.17-2.58-3-2.58-4.73 1.92-3.18 2.58-4.73.3-4 1.55-5.17 3.55-.88 5.17-1.55S64.2 51 66 51zm3.58-30a2.77 2.77 0 012.71 2.71v26.78l-.26-.1c-2-.84-3.77-3.29-6-3.29-1.69 0-3.11 1.36-4.55 2.41v-9.77a.88.88 0 00-.27-.7.91.91 0 00-.7-.27H58.4a1 1 0 00-.59.27.9.9 0 00-.26.7V51a16.06 16.06 0 00-2.81.58V39.74a1 1 0 10-1.93 0v13.31a11.63 11.63 0 00-1 4H31.5a1 1 0 00-.59.27.87.87 0 00-.26.7v1.08a1 1 0 00.27.59.91.91 0 00.7.27h19.2c-1.06 1.6-2.75 3.15-2.75 5 0 2.26 2.45 4 3.3 6a9.64 9.64 0 01.53 2.1H37.23v2.81a2.77 2.77 0 01-2.71 2.7h-3.1a2.76 2.76 0 01-2.71-2.7v-2.64h-6A2.78 2.78 0 0120 70.52V23.68A2.77 2.77 0 0122.71 21h46.84zm1.62 39.42a.71.71 0 00-1 0l-5.47 6.24-2.48-2.52a.69.69 0 00-1 0l-1 1a.63.63 0 000 1l3.5 3.49a1.42 1.42 0 001 .45 1.3 1.3 0 001-.45l6.5-7.21a.78.78 0 000-1zM35.6 38.77h-4.1a1 1 0 00-.59.27.87.87 0 00-.26.7v14.63a1 1 0 00.27.59.91.91 0 00.7.27h3.87a.93.93 0 00.71-.27.9.9 0 00.26-.7V39.74a.9.9 0 00-.26-.7.93.93 0 00-.71-.27zm5.8 0h-2.16a1 1 0 00-.59.27.9.9 0 00-.26.7v14.63a.89.89 0 00.26.59.93.93 0 00.7.27h1.94A.91.91 0 0042 55a.88.88 0 00.27-.7V39.74A.88.88 0 0042 39a.91.91 0 00-.7-.27zm8.71 0H46a.93.93 0 00-.59.27.88.88 0 00-.27.7v14.63a.9.9 0 00.27.59.91.91 0 00.7.27H50a.93.93 0 001-1V39.74a.93.93 0 00-1-1zm10.65-4.84H31.5a1 1 0 00-.59.27.88.88 0 00-.26.7V36a.93.93 0 00.27.59.88.88 0 00.7.27h29a.91.91 0 001-1v-1a.92.92 0 00-.26-.7.89.89 0 00-.71-.26z\"}},\nassigned_resource:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M49.91 20a25.4 25.4 0 1025.18 25.5c0-13.79-11.24-25.5-25.18-25.5zm16.54 23.24L55.93 53.38c-.76.76-1.77.13-1.77-1.14v-6.08c-7.6 0-12.67 5.19-12.67 12.8h-7.6a20.12 20.12 0 0120.27-20.4v-6.21c0-1.27 1.14-1.9 1.77-1.14l10.52 10.26a1.52 1.52 0 010 1.77z\",\"fill-rule\":\"evenodd\"},{\"d\":\"M26 64.21h-1.27A4.75 4.75 0 0020 68.95v6.31A4.74 4.74 0 0024.73 80h50.54A4.75 4.75 0 0080 75.26v-6.31a4.74 4.74 0 00-4.73-4.74h-1.54a30.15 30.15 0 01-47.72 0z\",\"fill-rule\":\"evenodd\"}]},\nassignment:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M22 54.9h56c1.1 0 2 .9 2 2v4c0 1.1-.9 2-2 2H22c-1.1 0-2-.9-2-2v-4c0-1.1.9-2 2-2zM22 37.1h56c1.1 0 2 .9 2 2v4c0 1.1-.9 2-2 2H22c-1.1 0-2-.9-2-2v-4c0-1.1.9-2 2-2z\"}},\navatar:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M80 71.2V74c0 3.3-2.7 6-6 6H26c-3.3 0-6-2.7-6-6v-2.8c0-7.3 8.5-11.7 16.5-15.2.3-.1.5-.2.8-.4.6-.3 1.3-.3 1.9.1C42.4 57.8 46.1 59 50 59c3.9 0 7.6-1.2 10.8-3.2.6-.4 1.3-.4 1.9-.1.3.1.5.2.8.4 8 3.4 16.5 7.8 16.5 15.1z\"},\"ellipse\":{\"cx\":\"50\",\"cy\":\"36.5\",\"rx\":\"14.9\",\"ry\":\"16.5\"}},\navatar_loading:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"opacity\":\".5\",\"path\":{\"d\":\"M80 71.2V74c0 3.3-2.7 6-6 6H26c-3.3 0-6-2.7-6-6v-2.8c0-7.3 8.5-11.7 16.5-15.2.3-.1.5-.2.8-.4.6-.3 1.3-.3 1.9.1C42.4 57.8 46.1 59 50 59s7.6-1.2 10.8-3.2c.6-.4 1.3-.4 1.9-.1.3.1.5.2.8.4 8 3.4 16.5 7.8 16.5 15.1z\"},\"ellipse\":{\"cx\":\"50\",\"cy\":\"36.5\",\"rx\":\"14.9\",\"ry\":\"16.5\"}}},\nbot:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M49.6 25.8c7.2 0 13 5.8 13 13v3.3c-4.3-.5-8.7-.7-13-.7-4.3 0-8.7.2-13 .7v-3.3c0-7.1 5.8-13 13-13zM73.2 63.8l1.3-11.4c2.9.5 5.1 2.9 5.1 5.6 0 3.2-2.9 5.8-6.4 5.8zM25.9 63.8c-3.5 0-6.4-2.6-6.4-5.8 0-2.8 2.2-5.1 5.1-5.6l1.3 11.4zM68.7 44.9c-6.6-.7-12.9-1-19-1s-12.5.3-19 1c-2.2.2-3.8 2.2-3.5 4.3l2 19.4c.2 1.8 1.6 3.3 3.5 3.5 5.6.7 11.3 1 17.1 1s11.5-.3 17.1-1c1.8-.2 3.3-1.7 3.5-3.5l2-19.4c0-2.2-1.5-4.1-3.7-4.3zM38.6 62.5c-1.6 0-2.8-1.6-2.8-3.7s1.3-3.7 2.8-3.7 2.8 1.6 2.8 3.7-1.2 3.7-2.8 3.7zm16.7 4.1c0 .2-.1.4-.2.5-.1.1-.3.2-.5.2h-9.9c-.2 0-.4-.1-.5-.2-.1-.1-.2-.3-.2-.5v-1.8c0-.4.3-.7.7-.7h.2c.4 0 .7.3.7.7v.9h8.1v-.9c0-.4.3-.7.7-.7h.2c.4 0 .7.3.7.7v1.8zm5.3-4.1c-1.6 0-2.8-1.6-2.8-3.7s1.3-3.7 2.8-3.7 2.8 1.6 2.8 3.7-1.2 3.7-2.8 3.7z\"}},\nbot_training:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M54.6 61c-1 .4-2 .7-3.2.8-7.3.8-13.4-4.9-13.4-12 0-1.2.2-2.4.5-3.6.2-.5.8-.6 1.1-.3l6.8 6.8c.5.5 1.3.5 1.9 0l4.8-4.8c.5-.5.5-1.3 0-1.9l-6.8-6.8c-.3-.4-.2-1 .3-1.1 1.1-.3 2.3-.5 3.5-.5 7.1 0 12.8 6.1 12 13.4-.1 1.1-.4 2.1-.8 3.2l12.6 12.6c3.9-4.6 6.2-10.5 6.2-16.8C80 34.5 66.6 22.3 50 22.3c-16.7 0-30 12.3-30 27.4 0 4.8 1.4 9.3 3.6 13.3.4.6.5 1.4.3 2.1L20 75.8c-.4 1 .6 1.9 1.6 1.6l10.9-4.1c.6-.3 1.4-.1 2.1.3 4.5 2.5 9.9 4 15.7 4 6-.1 11.6-1.8 16.3-4.6l-12-12z\"}},\nbranch_merge:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M26.5 70.5c3.4-7 9.4-12 16.3-14.5 2.6-1 5.3-1.6 7.9-1.9h4.4v13.6c0 1.1 1.2 1.7 2.2 1L78.5 51c.8-.6.8-2 0-2.5L57.3 31.2c-.8-.6-2.2 0-2.2 1v13.7h-4.4c-2.7-.3-5.5-1-7.9-1.9-6.8-2.6-12.9-7.5-16.3-14.5-.4-1-1.6-1.4-2.6-1l-3.8 1.6c-1.1.5-1.4 1.6-.8 2.7 3.6 7.6 9.4 13.5 16.2 17.2-6.9 3.7-12.6 9.6-16.2 17.3-.5 1.1-.4 2.2.8 2.7l3.8 1.6c1 .4 2.2-.1 2.6-1.1z\"}},\nbrand:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M79.4 39.1C76.5 27.2 64 20 50.2 20 33.5 20 20 33.4 20 50s13.5 30 30.3 30c23.2 0 21.4-11.8 14-16.4-4.4-2.8-6.8-9.1-2.4-13.6 8.1-8.4 21.2 5 17.5-10.9zM33.7 60c-3.5 0-6.3-2.8-6.3-6.2s2.8-6.2 6.3-6.2 6.2 2.8 6.2 6.2-2.7 6.2-6.2 6.2zM35 36.2c0-3.5 2.8-6.2 6.2-6.2 3.5 0 6.2 2.8 6.2 6.2s-2.8 6.2-6.2 6.2c-3.5.1-6.2-2.6-6.2-6.2zm13.7 36.3c-3.5 0-6.2-2.8-6.2-6.2s2.8-6.2 6.2-6.2c3.5 0 6.2 2.8 6.2 6.2s-2.7 6.2-6.2 6.2zM60 40c-3.5 0-6.2-2.8-6.2-6.2s2.8-6.2 6.2-6.2c3.5 0 6.2 2.8 6.2 6.2S63.5 40 60 40z\"}},\nbundle_config:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M37 20H26a6.07 6.07 0 00-6 6.14v10.24a6.07 6.07 0 006 6.14h11a6.07 6.07 0 006-6.14V26.13A6.07 6.07 0 0037 20zm-5 16.38h-1a5.13 5.13 0 010-10.25h1a5.13 5.13 0 110 10.25zM55 42.52h11a6.07 6.07 0 006-6.14V26.13A6.08 6.08 0 0066 20H55a6.07 6.07 0 00-6 6.14v10.24a6.07 6.07 0 006 6.14zm5-16.39h1a5.13 5.13 0 010 10.25h-1a5.13 5.13 0 010-10.25zM37 48.66H26a6.08 6.08 0 00-6 6.15V65a6.09 6.09 0 006 6.16h11A6.09 6.09 0 0043 65V54.81a6.08 6.08 0 00-6-6.15zM32 65h-1a5.12 5.12 0 010-10.19h1A5.12 5.12 0 0132 65zM79.1 61.33c-.78-.13-1.56-.13-2.35-.26a.29.29 0 01-.26-.27 26.06 26.06 0 00-1-2.53v-.4c.39-.67 1-1.34 1.43-2a1 1 0 00-.13-1.33l-2.6-2.67a1 1 0 00-.65-.26 2.16 2.16 0 00-.65.26c-.66.4-1.31 1.07-2 1.47a.13.13 0 00-.13.13h-.13c-.91-.26-1.56-.8-2.47-1.06a.27.27 0 01-.26-.27c-.13-.8-.13-1.47-.26-2.27A1.1 1.1 0 0067 48.8a.4.4 0 00-.26-.14h-3.8a1.15 1.15 0 00-.65.14c-.26.26-.66.66-.66 1.06a13.38 13.38 0 01-.26 2.27.29.29 0 01-.26.27c-.91.26-1.56.8-2.47 1.06h-.13c-.13 0-.13 0-.26-.13-.64-.52-1.31-1-2-1.47a.76.76 0 00-.65-.26c-.39 0-.39.13-.78.26l-2.6 2.67a1 1 0 00-.13 1.33c.39.67 1 1.21 1.43 2a.25.25 0 010 .35c-.26.93-.78 1.6-1 2.53a.29.29 0 01-.26.27c-.79.13-1.44.13-2.22.26a1.11 1.11 0 00-1 .8v4.55a2.13 2.13 0 001 .8 12.69 12.69 0 012.22.26.28.28 0 01.26.27c.26.93.78 1.6 1 2.53 0 .14.13.27 0 .4-.39.67-1 1.34-1.43 2a1 1 0 00.13 1.34l2.6 2.66c.26.27.39.27.78.27a2 2 0 00.65-.27 21.65 21.65 0 012-1.46c.13 0 .13-.14.26-.14h.13c.91.27 1.56.8 2.47 1.07a.27.27 0 01.26.27c.13.8.13 1.6.26 2.4s.4.93 1 .93h3.78c.66 0 .92-.27 1-.93s.13-1.6.26-2.4a.27.27 0 01.33-.22 25.57 25.57 0 002.47-1.07h.13a.13.13 0 01.13.13c.65.4 1.3 1.06 2 1.46a1 1 0 00.65.27c.26 0 .39-.13.78-.27l2.6-2.66a1.06 1.06 0 00.13-1.34c-.39-.66-1-1.2-1.43-2a.25.25 0 010-.35c.26-.93.78-1.6 1-2.53a.28.28 0 01.26-.27c.79-.13 1.57-.13 2.35-.26s.91-.4.91-1.07v-3.77c.02-.94-.23-1.2-.88-1.34zm-14.47 9.08a5.84 5.84 0 01-5.86-5.8v-.21a5.87 5.87 0 0111.73 0 6.18 6.18 0 01-5.87 6.01z\"}},\nbundle_policy:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"rect\":{\"x\":\"59.5\",\"y\":\"45.5\",\"width\":\"13\",\"height\":\"22\",\"rx\":\"2\",\"transform\":\"rotate(-45 66.003 56.5)\"},\"path\":{\"d\":\"M53.06 66.2L45.28 74a3 3 0 000 4.24 3 3 0 004.24 0l7.77-7.78a3 3 0 10-4.24-4.24zM77 74H65a3 3 0 000 6h12a3 3 0 000-6zM36 20H26a6 6 0 00-6 6v7a6 6 0 006 6h10a6 6 0 006-6v-7a6 6 0 00-6-6zm-3.5 13h-3a3.5 3.5 0 010-7h3a3.5 3.5 0 010 7zM54 39h10a6 6 0 006-6v-7a6 6 0 00-6-6H54a6 6 0 00-6 6v7a6 6 0 006 6zm3.5-13h3a3.5 3.5 0 010 7h-3a3.5 3.5 0 010-7zM36 45H26a6 6 0 00-6 6v7a6 6 0 006 6h10a6 6 0 006-6v-7a6 6 0 00-6-6zm-3.5 13h-3a3.5 3.5 0 010-7h3a3.5 3.5 0 010 7z\",\"fill-rule\":\"evenodd\"}},\nbusiness_hours:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M48.1 35.3h3.2c.9 0 1.6.7 1.6 1.6v14c0 .4-.2.8-.4 1.2l-9 9c-.6.6-1.6.6-2.2 0l-2.2-2.2c-.6-.6-.6-1.6 0-2.2l7.5-7.6V37c-.1-.8.5-1.6 1.4-1.7h.1z\"},{\"d\":\"M84.5 49.2h-4.8c0-.3-.1-.7-.1-1.1-1.3-16.4-15.6-28.7-32-27.5-16.4 1.3-28.7 15.6-27.5 32C21.3 68.1 34 80 49.5 80.2c8.4.2 16.5-3.3 22.2-9.4.5-.5 1-1 .4-1.6l-2.6-3.1c-.9-1.1-1.7-.6-2.4.1-5 5.5-12.4 8.3-19.8 7.5-10.3-1-19.9-10.6-21-20.7-1.3-12.9 8.1-24.5 21-25.8s24.5 8.1 25.8 21H73c.1.4.1.7.1 1.1h-4.7c-.9 0-1.6.7-1.6 1.6 0 .4.1.7.3 1l8 9.7c.7.7 1.8.7 2.5 0l8-9.7c.6-.6.6-1.6 0-2.2-.3-.3-.7-.5-1.1-.5z\"}]},\nbuyer_account:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M61.8 65.5h13.3c.4 0 .8-.3.8-.7l2.4-8.6c.2-.6-.3-1.1-.8-1.1H57l-.3-1.3c-.2-.6-.7-1-1.3-1h-2.2c-.7 0-1.4.6-1.4 1.3-.1.8.6 1.4 1.3 1.4h1.3l1.2 4 3 10.3c.2.6.7 1 1.3 1h15.6c.7 0 1.4-.6 1.4-1.3.1-.8-.6-1.4-1.3-1.4H61.8c-.6 0-1.1-.4-1.3-.9v-.1c-.2-.8.4-1.6 1.3-1.6z\"},{\"d\":\"M61.1 19.9h-39c-2.2 0-2.5 2.3-2.5 2.5v49.5c.1 1.3.9 3.3 4.4 3.3h28.3c3.2 0 3-2.1 2.8-2.9L55 72l-.3-1.1-.2-.6L51.4 60c-.2-.7-1-1-1-1-.5-.3-1-.6-1.3-1-1-1.1-1.5-2.6-1.4-4 .2-2.8 2.6-5 5.4-5h2.2c1.5 0 2.8.6 3.8 1.6l.1.1c.2.2.6.5 1.2.5h1.4c1.3 0 1.4-1.4 1.5-1.8l.1-10.5V23c.1-2.4-1.6-3.1-2.3-3.1zM32.4 67.1c0 1.3-1 2.3-2.3 2.3h-2.3c-1.3 0-2.3-1-2.3-2.3v-2.3c0-1.3 1-2.3 2.3-2.3h2.3c1.3 0 2.3 1 2.3 2.3v2.3zm0-11.9c0 1.3-1 2.3-2.3 2.3h-2.3c-1.3 0-2.3-1-2.3-2.3v-2.3c0-1.3 1-2.3 2.3-2.3h2.3c1.3 0 2.3 1 2.3 2.3v2.3zm0-11.7c0 1.3-1 2.3-2.3 2.3h-2.3c-1.3 0-2.3-1-2.3-2.3v-2.3c0-1.3 1-2.3 2.3-2.3h2.3c1.3 0 2.3 1 2.3 2.3v2.3zm0-11.8c0 1.3-1 2.3-2.3 2.3h-2.3c-1.3 0-2.3-1-2.3-2.3v-2.3c0-1.3 1-2.3 2.3-2.3h2.3c1.3 0 2.3 1 2.3 2.3v2.3zm12.7 35.4c0 1.3-1 2.3-2.3 2.3h-2.3c-1.3 0-2.3-1-2.3-2.3v-2.3c0-1.3 1-2.3 2.3-2.3h2.3c1.3 0 2.3 1 2.3 2.3v2.3zm0-11.9c0 1.3-1 2.3-2.3 2.3h-2.3c-1.3 0-2.3-1-2.3-2.3v-2.3c0-1.3 1-2.3 2.3-2.3h2.3c1.3 0 2.3 1 2.3 2.3v2.3zm0-11.7c0 1.3-1 2.3-2.3 2.3h-2.3c-1.3 0-2.3-1-2.3-2.3v-2.3c0-1.3 1-2.3 2.3-2.3h2.3c1.3 0 2.3 1 2.3 2.3v2.3zm0-11.8c0 1.3-1 2.3-2.3 2.3h-2.3c-1.3 0-2.3-1-2.3-2.3v-2.3c0-1.3 1-2.3 2.3-2.3h2.3c1.3 0 2.3 1 2.3 2.3v2.3zm12.7 11.8c0 1.3-1 2.3-2.3 2.3h-2.3c-1.3 0-2.3-1-2.3-2.3v-2.3c0-1.3 1-2.3 2.3-2.3h2.3c1.3 0 2.3 1 2.3 2.3v2.3zm0-11.8c0 1.3-1 2.3-2.3 2.3h-2.3c-1.3 0-2.3-1-2.3-2.3v-2.3c0-1.3 1-2.3 2.3-2.3h2.3c1.3 0 2.3 1 2.3 2.3v2.3z\"}],\"circle\":[{\"cx\":\"62.1\",\"cy\":\"75.8\",\"r\":\"2.2\"},{\"cx\":\"72.9\",\"cy\":\"75.8\",\"r\":\"2.2\"}]}},\nbuyer_group:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"circle\":[{\"cx\":\"58.7\",\"cy\":\"76.7\",\"r\":\"2.2\"},{\"cx\":\"69.5\",\"cy\":\"76.7\",\"r\":\"2.2\"}],\"path\":[{\"d\":\"M37.3 43.1c-1.5-2.4-2.4-5.2-2.4-8.3 0-5.2 2.2-9.6 5.7-12.2-1.3-2.2-3.5-3.6-6.6-3.6-5.1 0-7.9 4.1-7.9 8.8 0 2.6.9 4.7 2.6 6.3 1 .9 1.8 2 1.8 3.3 0 1.2-.4 2.3-3.3 3.5-4.1 1.9-7.9 4.2-8 8.1 0 2.6 1.7 4.4 4.1 4.4h3.8c.6 0 1.2-.4 1.5-.9 1.9-3.3 5.3-5.5 8.2-6.9.7-.5 1.1-1.7.5-2.5zM58.4 66.4h13.3c.4 0 .8-.3.8-.7l2.4-8.6c.2-.6-.3-1.1-.8-1.1H53.6l-.3-1.3c-.2-.6-.7-1-1.3-1h-2.2c-.7 0-1.4.6-1.4 1.3-.1.8.6 1.4 1.3 1.4H51l1.2 4 3 10.3c.2.6.7 1 1.3 1h15.6c.7 0 1.4-.6 1.4-1.3.1-.8-.6-1.4-1.3-1.4H58.4c-.6 0-1.1-.4-1.3-.9V68c-.2-.8.4-1.6 1.3-1.6z\"},{\"d\":\"M48.4 61.6l-.4-1.5c-.9-.3-1.6-.8-2.2-1.5-.9-1.1-1.4-2.4-1.3-3.8.1-2.8 2.6-5 5.4-5H52c1.8 0 3.4.9 4.4 2.3h5.7c-1.6-1.1-3.5-2-5.4-2.8-3.2-1.3-3.6-2.6-3.6-3.9 0-1.3.9-2.6 1.9-3.6 1.9-1.7 2.9-4.1 2.9-7 0-5.2-3.2-9.7-8.8-9.7s-8.8 4.5-8.8 9.7c0 2.8 1.1 5.2 2.9 7 1.1 1 1.9 2.3 1.9 3.6 0 1.3-.5 2.6-3.6 3.9-4.8 1.9-9.2 4.2-9.3 8.5 0 2.8 2 5.3 4.7 5.3h11.8l-.3-1.5z\"},{\"d\":\"M63.1 34.8c0 3.1-.8 5.9-2.4 8.3-.6.9-.3 2 .7 2.6 2.8 1.3 6 3.3 7.9 6.4h4.8c1 0 1.9.3 2.7.9 1.3-.7 2.1-2.1 2.1-3.9-.1-3.9-3.9-6.3-8-8.2-2.9-1.2-3.3-2.4-3.3-3.5 0-1.2.8-2.4 1.8-3.3 1.7-1.6 2.6-3.7 2.6-6.3 0-4.8-2.8-8.8-7.9-8.8-3.1 0-5.3 1.4-6.6 3.6 3.4 2.6 5.6 6.9 5.6 12.2z\"}]}},\ncalculated_insights:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M72.51 26a7.5 7.5 0 00-6 12l-6.24 11a5 5 0 00-.77 0 7.5 7.5 0 00-3.76 1l-7.93-5.84A7.1 7.1 0 0048 42.5a7.5 7.5 0 10-13.41 4.59L28.14 59h-.64a7.5 7.5 0 105.91 2.88L39.86 50h.64a7.47 7.47 0 003.75-1l7.93 5.84A7.67 7.67 0 0052 56.5 7.5 7.5 0 1065.49 52l6.24-11h.77a7.5 7.5 0 000-15zM72.5 26h.01-.01z\"}},\ncalibration:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M31.9 49.7c-.6.1-1.2.1-1.9.1-.6 0-1.2 0-1.9-.1-.6-.1-1.1.4-1.1 1V78c0 1.1.9 2 2 2h2c1.1 0 2-.9 2-2V50.7c0-.7-.5-1.1-1.1-1zM51.9 70.7c-.6.1-1.2.1-1.9.1-.6 0-1.2 0-1.9-.1-.6-.1-1.1.4-1.1 1V78c0 1.1.9 2 2 2h2c1.1 0 2-.9 2-2v-6.3c0-.7-.5-1.1-1.1-1zM71.9 55.7c-.6.1-1.2.1-1.9.1-.6 0-1.2 0-1.9-.1-.6-.1-1.1.4-1.1 1V78c0 1.1.9 2 2 2h2c1.1 0 2-.9 2-2V56.7c0-.7-.5-1.1-1.1-1zM33 30.7V22c0-1.1-.9-2-2-2h-2c-1.1 0-2 .9-2 2v8.7c-2.4 1.1-4 3.5-4 6.3 0 3.9 3.1 7 7 7s7-3.1 7-7c0-2.8-1.6-5.2-4-6.3zM53 51.7V22c0-1.1-.9-2-2-2h-2c-1.1 0-2 .9-2 2v29.7c-2.4 1.1-4 3.5-4 6.3 0 3.9 3.1 7 7 7s7-3.1 7-7c0-2.8-1.6-5.2-4-6.3zM73 36.7V22c0-1.1-.9-2-2-2h-2c-1.1 0-2 .9-2 2v14.7c-2.4 1.1-4 3.5-4 6.3 0 3.9 3.1 7 7 7s7-3.1 7-7c0-2.8-1.6-5.2-4-6.3z\"}},\ncall:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M77.7 63.9l-6.2-5a6.002 6.002 0 00-7.3-.2L58.3 63c-.8.6-1.899.5-2.6-.2L46 54l-8.9-9.8c-.7-.7-.8-1.8-.2-2.6l4.3-5.9c1.6-2.2 1.5-5.2-.2-7.3l-5-6.2c-2.2-2.8-6.4-3-8.9-.5l-5.4 5.4c-1.2 1.2-1.8 2.9-1.8 4.5.7 12.7 6.5 24.8 15 33.3s20.5 14.3 33.3 15c1.7.1 3.3-.601 4.5-1.801l5.4-5.399c2.7-2.4 2.4-6.6-.4-8.8z\"}},\ncall_coaching:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M41.8 20c2.9 0 5.3 2.6 4.9 5.5l-.7 6.6c-.3 2.2-2 4-4.2 4.4l-6 .9c-.8.1-1.4.8-1.4 1.6v21.9c0 .8.6 1.5 1.4 1.7l6 .9c2.3.3 4 2.2 4.2 4.4l.8 6.6c.4 2.9-1.9 5.6-4.9 5.4h-6.4c-1.4 0-2.8-.5-3.7-1.6C24.6 70.4 21 59.9 21 49.9s3.7-20.5 10.7-28.3c.9-1 2.3-1.6 3.7-1.6zm18.5 12.9c1.1 0 1.9.8 1.9 1.9v30.8c0 1.1-.9 1.9-1.9 1.9-1 0-1.9-.8-1.9-1.9V34.8c0-1 .8-1.9 1.9-1.9zm-8.5 7.3c1.1 0 1.9.8 1.9 1.9v16.2c0 1-.9 1.9-1.9 1.9-1 0-1.9-.8-1.9-1.9V42.1c0-1 .8-1.9 1.9-1.9zm17.2 0c1.1 0 1.9.8 1.9 1.9v15.7c0 1-.9 1.8-1.9 1.8-1 0-1.9-.8-1.9-1.9V42.1c0-1 .8-1.9 1.9-1.9zm8.9 5.6c1.1 0 1.9.8 1.9 1.9v3.6c0 1.1-.8 1.9-1.9 1.9-1 0-1.9-.8-1.9-1.9v-3.6c0-1 .8-1.9 1.9-1.9z\"}},\ncall_history:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M28.1 48c-.1.7-.1 1.3-.1 2h-6c0-.7 0-1.3.1-2h6z\"},{\"d\":\"M50 22c-14.8 0-26.9 11.5-27.9 26 0 .3-.1.7-.1 1h-4.5c-1.3 0-2 1.5-1.2 2.4l7.5 9.1c.6.7 1.7.7 2.3 0l7.5-9.1c.8-1 .1-2.4-1.2-2.4H28v-1c1-11.2 10.5-20 21.9-20 13 0 23.3 11.3 21.9 24.5-1 9.5-10 18.5-19.6 19.4-7.1.7-13.8-1.9-18.5-7-.6-.7-1.4-1.1-2.2-.1l-2.4 2.9c-.5.6-.1 1 .4 1.5 5.4 5.7 12.8 8.9 20.8 8.8 14.4-.2 26.5-11.6 27.5-26C79.1 35.7 66.1 22 50 22z\"},{\"d\":\"M47.2 42.8c.7-.9.7-2.2-.1-3.2L45 37c-1-1.2-2.8-1.3-3.9-.2l-2.4 2.4c-.5.5-.8 1.2-.8 2 .3 5.5 2.8 10.8 6.5 14.4s8.9 6.2 14.4 6.5c.7 0 1.5-.2 2-.8l2.4-2.4c1.1-1.1 1-2.9-.2-3.9l-2.7-2.1c-.9-.7-2.2-.8-3.2-.1l-2.6 1.9c-.3.3-.8.2-1.1-.1l-4.2-3.8-3.8-4.2c-.3-.3-.3-.8-.1-1.1l1.9-2.7z\"}]},\ncampaign:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M50 20c-16.5 0-30 13.5-30 30s13.5 30 30 30 30-13.5 30-30-13.5-30-30-30zm0 54c-13.2 0-24-10.8-24-24s10.8-24 24-24 24 10.8 24 24-10.8 24-24 24z\"},{\"d\":\"M50 32c-9.9 0-18 8.1-18 18s8.1 18 18 18 18-8.1 18-18-8.1-18-18-18zm0 30c-6.6 0-12-5.4-12-12s5.4-12 12-12 12 5.4 12 12-5.4 12-12 12z\"},{\"d\":\"M50 44c-3.3 0-6 2.7-6 6s2.7 6 6 6 6-2.7 6-6-2.7-6-6-6z\"}]},\ncampaign_members:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"fill-opacity\":\".65\",\"d\":\"M100 62v38H62l38-38zm-7.8 27.6c-1.3-.5-1.5-1-1.5-1.6 0-.5.4-1 .8-1.4.8-.7 1.2-1.6 1.2-2.7 0-2.1-1.3-3.8-3.7-3.8s-3.7 1.8-3.7 3.8c0 1.1.4 2.1 1.2 2.7.4.4.8.9.8 1.4s-.2 1-1.5 1.6c-1.9.8-3.8 1.7-3.8 3.4 0 1.1.9 2.1 2 2.1h10c1.1 0 2-1 2-2.1 0-1.8-1.9-2.7-3.8-3.4z\"},{\"d\":\"M50 20c-16.5 0-30 13.5-30 30s13.5 30 30 30 30-13.5 30-30-13.5-30-30-30zm0 54c-13.2 0-24-10.8-24-24s10.8-24 24-24 24 10.8 24 24-10.8 24-24 24z\"},{\"d\":\"M50 32c-9.9 0-18 8.1-18 18s8.1 18 18 18 18-8.1 18-18-8.1-18-18-18zm0 30c-6.6 0-12-5.4-12-12s5.4-12 12-12 12 5.4 12 12-5.4 12-12 12z\"},{\"d\":\"M50 44c-3.3 0-6 2.7-6 6s2.7 6 6 6 6-2.7 6-6-2.7-6-6-6z\"}]},\ncancel_checkout:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M67.643 52C76.698 52 84 59.608 84 68.566a16.5 16.5 0 11-16.357-16.564zm8.457 6.346a1 1 0 00-1.414 0l-7.29 7.296-6.893-6.91v-.002l-.095-.083a1 1 0 00-1.32.083L57.43 60.39a1 1 0 00-.001 1.413l6.895 6.913-6.854 6.848-.084.094a1 1 0 00.083 1.32l1.665 1.665a1 1 0 001.414 0l6.855-6.855 7.25 7.263v.001l.095.084a.999.999 0 001.32-.084l1.658-1.658c.39-.391.39-1.024 0-1.415l-7.25-7.263 7.289-7.29a1 1 0 000-1.414L76.1 58.346zM40.8 67a5.8 5.8 0 110 11.6 5.8 5.8 0 010-11.6zM23.045 15c1.47 0 2.825 1.012 3.277 2.475l.904 3.15h51.527c1.469 0 2.599 1.35 2.146 2.813l-6.102 21.375c-.11.496-.385.912-.755 1.206a23.176 23.176 0 00-6.514-.929c-2.801 0-5.491.498-7.987 1.41H39.317c-2.147 0-3.842 2.138-3.05 4.275v.113c.338 1.35 1.694 2.362 3.163 2.362h10.36A23.535 23.535 0 0045.705 60H34.458c-1.582 0-2.825-1.013-3.277-2.475L20.56 21.75h-3.164c-1.921 0-3.503-1.688-3.39-3.6.113-1.8 1.808-3.15 3.616-3.15z\"}},\ncanvas:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M73.9 65.9c-.2 3.4-.6 7.1-1.2 10.6-.2 1.1-1.2 2.1-2.3 2.2-6.8.9-13.6 1.3-20.4 1.3-6.7 0-13.5-.4-20.2-1.3-1.1-.1-2.1-1.2-2.3-2.2-1-5.6-1.5-11.3-1.5-16.9 0-5.7.5-11.4 1.4-16.9.2-1.1 1.2-2.1 2.3-2.3 4.1-.5 8.2-.8 12.2-1 0 0 3.3-.2 3.1-3.2-.2-2.8-5-4.6-5-9.4 0-3.8 3.8-6.8 9.9-6.8 6.1 0 9.9 3.1 9.9 6.8 0 4.7-4.7 6.6-4.9 9.4-.2 3.1 3 3.2 3 3.2 4.1.2 8.3.5 12.4 1 1.1.2 2.1 1.2 2.3 2.3.7 3.9 1.1 7.4 1.3 11.2.1 1.1-.9 2-2.1 2-.4 0-.7-.1-1.1-.1-1.2 0-2.9-.7-3.7-1.6 0 0-2.7-2.7-5.5-2.7-4.6-.1-8.2 4.1-8.2 8.5s3.5 8.6 8.1 8.5c2.8-.1 5.5-2.9 5.5-2.9.9-.8 2.5-1.6 3.7-1.6.4-.1.7-.1 1.1-.1 1.4.1 2.3 1 2.2 2z\"}},\ncapacity_plan:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M39 32h22a2 2 0 002-2v-4a6 6 0 00-6-6H43a6 6 0 00-6 6v4a2 2 0 002 2zM49.8 48.4v11.4h10.7a9.88 9.88 0 00-3.1-7.8c-3.7-3.8-7.6-3.6-7.6-3.6z\"},{\"d\":\"M72 25h-2a.94.94 0 00-1 1v4a8 8 0 01-8 8H39a8 8 0 01-8-8v-4a.94.94 0 00-1-1h-2a6 6 0 00-6 6v43a6 6 0 006 6h44a6 6 0 006-6V31a6 6 0 00-6-6zm-7.1 34.3a14.9 14.9 0 11-14.8-15 14.94 14.94 0 0114.8 15z\"}]},\ncare_request_reviewer:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M73.3 69.4c-2.3-.9-2.6-1.8-2.6-2.8a3.59 3.59 0 011.4-2.6 6.42 6.42 0 002.1-5c0-3.8-2.3-7-6.3-7s-6.3 3.2-6.3 7a6.78 6.78 0 002.1 5 3.59 3.59 0 011.4 2.6c0 1-.3 1.9-2.6 2.9-3.3 1.5-6.4 3.3-6.5 6.3 0 2 1.5 4.1 3.4 4.1h17.2c1.9 0 3.4-2.1 3.2-4.1-.1-3-3.2-5-6.5-6.4z\"},{\"d\":\"M52 75.8v-.2c.2-5.4 5.2-8.1 8.2-9.5a10.53 10.53 0 01-2.6-7.1 12.59 12.59 0 01.84-4.6H50.1a1.22 1.22 0 01-1.2-1.2v-2.3a1.22 1.22 0 011.2-1.2h12a10.58 10.58 0 0111.15-.22V25.6A5.59 5.59 0 0067.7 20H32.3a5.59 5.59 0 00-5.6 5.6v44.8a5.59 5.59 0 005.6 5.6H52v-.2zm-3.1-40.9a1.22 1.22 0 011.2-1.2h15.2a1.22 1.22 0 011.2 1.2v2.3a1.13 1.13 0 01-1.1 1.2H50.1a1.22 1.22 0 01-1.2-1.2zm-4.1 20.5a.91.91 0 010 1.2l-1.2 1.2a.91.91 0 01-1.2 0L39 54.4l-3.3 3.3a.91.91 0 01-1.2 0l-1.2-1.2a.91.91 0 010-1.2l3.3-3.3-3.3-3.3a.91.91 0 010-1.2l1.2-1.2a.91.91 0 011.2 0l3.3 3.3 3.4-3.4a.91.91 0 011.2 0l1.2 1.2a.91.91 0 010 1.2L41.4 52zm2.8-24.3l-9 9a1.66 1.66 0 01-1.2.5 1.58 1.58 0 01-1.2-.5l-4.3-4.3a.75.75 0 010-1.2l1.2-1.2a.75.75 0 011.2 0l3.1 3.1 7.7-7.7a.75.75 0 011.2 0l1.2 1.2c.3.4.3 1 .1 1.1z\"}]},\ncarousel:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M76.26 37.7h-2.69v26.93h2.69A3.75 3.75 0 0080 60.89V41.44a3.75 3.75 0 00-3.74-3.74zM20 41.44v19.45a3.75 3.75 0 003.74 3.74h2.69V37.7h-2.69A3.75 3.75 0 0020 41.44zM66.46 34.33H33.54a3.75 3.75 0 00-3.74 3.74v26.19A3.75 3.75 0 0033.54 68h32.92a3.75 3.75 0 003.74-3.74V38.07a3.75 3.75 0 00-3.74-3.74zm-5.57 26.94H37.77a1.21 1.21 0 01-1-1.83l7-12.19a.75.75 0 011.35 0l4.23 7.26a.81.81 0 001.35.07l3.44-4.94a.8.8 0 011.35 0l6.28 10a1 1 0 01-.88 1.63zm-.6-14.36a3.18 3.18 0 113.18-3.18 3.18 3.18 0 01-3.18 3.17z\"}},\ncase:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M38 29h4c.6 0 1-.4 1-1v-3h14v3c0 .6.4 1 1 1h4c.6 0 1-.4 1-1v-3c0-3.3-2.7-6-6-6H43c-3.3 0-6 2.7-6 6v3c0 .6.4 1 1 1zM74 35H26c-3.3 0-6 2.7-6 6v32c0 3.3 2.7 6 6 6h48c3.3 0 6-2.7 6-6V41c0-3.3-2.7-6-6-6z\"}},\ncase_change_status:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M38 30h4c.6 0 1-.4 1-1v-3h14v3c0 .6.4 1 1 1h4c.6 0 1-.4 1-1v-3c0-3.3-2.7-6-6-6H43c-3.3 0-6 2.7-6 6v3c0 .6.4 1 1 1zM74 36H26c-3.3 0-6 2.7-6 6v32c0 3.3 2.7 6 6 6h48c3.3 0 6-2.7 6-6V42c0-3.3-2.7-6-6-6zM58.5 58.1L48 70.7c-.6.6-1.6.1-1.4-.7l2.6-9h-6.9c-.8 0-1.4-.8-1.1-1.6l4.2-10.8c.4-.9 1.2-1.5 2.2-1.5h8.3c.9 0 1.5.9 1 1.7L52.4 56h5.2c1 0 1.6 1.3.9 2.1z\"}},\ncase_comment:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M38 30h4c.6 0 1-.4 1-1v-3h14v3c0 .6.4 1 1 1h4c.6 0 1-.4 1-1v-3c0-3.3-2.7-6-6-6H43c-3.3 0-6 2.7-6 6v3c0 .6.4 1 1 1zM74 36H26c-3.3 0-6 2.7-6 6v32c0 3.3 2.7 6 6 6h48c3.3 0 6-2.7 6-6V42c0-3.3-2.7-6-6-6zM50.9 68c-2.3 0-4.4-.6-6.2-1.6-.2-.1-.4-.1-.7-.1L40 68c-.6.2-1.2-.4-1-1l1.7-4.1c.1-.2 0-.5-.1-.6-1-1.6-1.5-3.4-1.5-5.4 0-6.1 5.3-11 11.8-11s11.8 4.9 11.8 11c0 6.2-5.3 11.1-11.8 11.1z\"}},\ncase_email:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M38 30h4c.6 0 1-.4 1-1v-3h14v3c0 .6.4 1 1 1h4c.6 0 1-.4 1-1v-3c0-3.3-2.7-6-6-6H43c-3.3 0-6 2.7-6 6v3c0 .6.4 1 1 1zM74 36H26c-3.3 0-6 2.7-6 6v32c0 3.3 2.7 6 6 6h48c3.3 0 6-2.7 6-6V42c0-3.3-2.7-6-6-6zM37.9 47.1h24.3c.8 0 .9.7.7 1.1L50.6 59.6c-.3.3-.8.3-1.2 0L37.2 48.3c-.5-.6 0-1.2.7-1.2zM63 64c0 1.4-1.6 3-3 3H40c-1.4 0-3-1.6-3-3V53.1c0-.6.7-.9 1.1-.5l9.6 8.9c.6.6 1.5.9 2.3.9s1.7-.3 2.3-.9l9.5-8.9c.4-.4 1.1-.2 1.1.3.1.9.1 10.8.1 11.1z\"}},\ncase_log_a_call:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M38 30h4c.6 0 1-.4 1-1v-3h14v3c0 .6.4 1 1 1h4c.6 0 1-.4 1-1v-3c0-3.3-2.7-6-6-6H43c-3.3 0-6 2.7-6 6v3c0 .6.4 1 1 1zM74 36H26c-3.3 0-6 2.7-6 6v32c0 3.3 2.7 6 6 6h48c3.3 0 6-2.7 6-6V42c0-3.3-2.7-6-6-6zM62.3 66.1l-2.2 2.2c-.5.5-1.1.7-1.8.7-5.1-.3-9.9-2.6-13.3-6-3.4-3.4-5.7-8.2-6-13.3 0-.7.2-1.3.7-1.8l2.2-2.2c1-1 2.7-.9 3.6.2l2 2.5c.7.8.7 2 .1 2.9l-1.7 2.4c-.2.3-.2.8.1 1l3.5 3.9 3.9 3.5c.3.3.7.3 1 .1l2.4-1.7c.9-.6 2.1-.6 2.9.1l2.5 2c1 .8 1.1 2.5.1 3.5z\"}},\ncase_milestone:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M73 36H25.1c-3.3 0-6 2.7-6 6v32c0 3.3 2.7 6 6 6H73c3.3 0 6-2.7 6-6V42c0-3.3-2.7-6-6-6zM40.9 48.6v22c0 1-.7 1.9-1.7 1.9h-.1c-1 0-1.8-.9-1.8-1.9v-22c-.6-.6-.9-1.4-.9-2.2-.1-1.5 1-2.8 2.5-2.9s2.8 1 2.9 2.5v.5c0 .7-.3 1.5-.9 2.1zm21.5 13.8c0 .3-.2.6-.4.8-6.9 4.1-10.8-2.4-17.2-.3-.5.1-1-.1-1.2-.6V49.5c0-.4.2-.8.6-.9 6.6-2.6 10.5 4.2 17.5.2.2-.1.5-.1.6.1.1.1.1.2.1.3v13.2zM37.1 30h4c.5 0 1-.4 1-.9V26h14v3c0 .5.4 1 .9 1h4.1c.5 0 1-.4 1-.9V26c0-3.3-2.7-6-6-6h-14c-3.3 0-6 2.7-6 6v3c0 .5.4 1 .9 1h.1z\"}},\ncase_transcript:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M38 30h4c.6 0 1-.4 1-1v-3h14v3c0 .6.4 1 1 1h4c.6 0 1-.4 1-1v-3c0-3.3-2.7-6-6-6H43c-3.3 0-6 2.7-6 6v3c0 .6.4 1 1 1zM74 36H26c-3.3 0-6 2.7-6 6v32c0 3.3 2.7 6 6 6h48c3.3 0 6-2.7 6-6V42c0-3.3-2.7-6-6-6zM61 67c0 1.7-1.3 3-3 3H44c-1.7 0-3-1.3-3-3V48c0-1.7 1.3-3 3-3h7c.6 0 1 .4 1 1v6c0 1.1.9 2 2 2h6c.6 0 1 .4 1 1v12zm0-15.7c0 .4-.3.7-.7.7H56c-1.1 0-2-.9-2-2v-4.3c0-.4.3-.7.7-.7.2 0 .4.1.5.2l5.6 5.6c.1.1.2.3.2.5z\"}},\ncase_wrap_up:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M37.2 30.1h4a.94.94 0 001-1v-3H58v3a.94.94 0 001 1h4a.94.94 0 001-1v-3a6 6 0 00-6-6H42.2a6 6 0 00-6 6v3a.94.94 0 001 1zM74 36.1H26.2a6 6 0 00-6 6v31.8a6 6 0 006 6H74a6 6 0 006-6V42.1a6.15 6.15 0 00-6-6zm-8.7 16.1L47.9 69.6a3.38 3.38 0 01-4.8 0l-8.4-8.4a1.63 1.63 0 010-2.4l2.4-2.4a1.63 1.63 0 012.4 0l6 6 15-15a1.63 1.63 0 012.4 0l2.4 2.4a1.82 1.82 0 010 2.4z\"}},\ncatalog:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M61.8 29.4l8.9 8.9c2 1.9 2 5.1 0 7L47.5 68.4V36.6l7.2-7.2c1.9-2 5.2-2 7.1 0zM80 62.5V75c0 2.8-2.2 5-5 5H43.8l22.5-22.5H75c2.8 0 5 2.3 5 5zm-60 6.3V25c0-2.8 2.2-5 5-5h12.5c2.8 0 5 2.2 5 5v43.8c0 6.2-5 11.2-11.2 11.2S20 75 20 68.8zm11.2 5c2.8 0 5-2.2 5-5s-2.2-5-5-5-5 2.2-5 5 2.3 5 5 5z\"}},\ncategory:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M61.8 29.4l8.9 8.9c2 1.9 2 5.1 0 7L47.5 68.4V36.6l7.2-7.3c1.9-1.9 5.2-1.9 7.1.1zM37.5 20H25c-2.8 0-5 2.2-5 5v43.8C20 75 25 80 31.2 80s11.2-5 11.2-11.2V25c.1-2.8-2.2-5-4.9-5zm-6.3 53.8c-2.8 0-5-2.2-5-5s2.2-5 5-5 5 2.2 5 5-2.2 5-5 5zM75 57.5h-8.8l-6 6H74L73.9 74H49.8l-6 6H75c2.8 0 5-2.2 5-5V62.5c0-2.7-2.2-5-5-5z\"}},\nchannel_program_history:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M30.7 48.1c1-10.9 10.2-19.4 21.2-19.4 12.6 0 22.6 10.9 21.2 23.7-1 9.2-9.7 17.9-19 18.8-6.9.7-13.4-1.8-17.9-6.8-.6-.7-1.4-1.1-2.1-.1l-2.3 2.8c-.5.6-.1 1 .4 1.5 5.2 5.5 12.4 8.6 20.2 8.5 14-.2 25.7-11.2 26.6-25.2 1.2-15.8-11.4-29-27-29-14.3 0-26.1 11.1-27 25.2 0 .3-.1.7-.1 1h-4.4c-1.3 0-1.9 1.5-1.2 2.3l7.3 8.8c.6.7 1.6.7 2.2 0l7.3-8.8c.8-1 .1-2.3-1.2-2.3h-4.3l.1-1z\"},{\"d\":\"M52.1 38.1c-6.5 0-11.9 5.4-11.9 11.9s5.4 11.9 11.9 11.9S64 56.5 64 50s-5.3-11.9-11.9-11.9zm9.5 10.7h-3.1c-.1-2.8-.8-5.3-1.7-7.1 2.6 1.4 4.4 4.1 4.8 7.1zM51 41v7.8h-2.7c.1-3.7 1.3-6.6 2.7-7.8zm0 10.2V59c-1.3-1.1-2.5-4.1-2.7-7.8H51zm2.3 7.8v-7.8H56c-.1 3.7-1.3 6.6-2.7 7.8zm0-10.2V41c1.3 1.1 2.5 4.1 2.7 7.8h-2.7zm-5.7-7.1c-1 1.9-1.5 4.3-1.7 7.1h-3.1c.3-3 2.1-5.7 4.8-7.1zm-4.9 9.5h3.1c.1 2.8.8 5.3 1.7 7.1-2.6-1.4-4.4-4.1-4.8-7.1zm14 7.1c1-1.9 1.5-4.3 1.7-7.1h3.1c-.3 3-2.1 5.7-4.8 7.1z\"}]},\nchannel_program_levels:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M77.9 47.2l-3.7-1.7c-.5-.3-1.2-.3-1.7 0l-11 5.3c1.8-.6 3.7-.9 5.6-.9 3.1 0 6 .8 8.6 2.2l2.1-1c1.7-.9 1.7-3.1.1-3.9zM20.2 36.9L47 49.6c1.2.6 2.7.6 3.9 0l26.9-12.7c1.6-.8 1.6-2.9 0-3.7L50.9 20.5c-1.2-.6-2.7-.6-3.9 0L20.2 33.3c-1.7.7-1.7 2.9 0 3.6zM20.2 50.9L47 63.7c.7.4 1.5.5 2.3.4 1-4.8 3.9-8.8 7.9-11.4l-6.2 3c-1.2.6-2.7.6-3.9 0L25.6 45.5c-.5-.3-1.2-.3-1.7 0l-3.7 1.7c-1.7.8-1.7 2.9 0 3.7zM49 70.2c-.7 0-1.3-.2-1.9-.4L25.5 59.5c-.5-.3-1.2-.3-1.7 0l-3.6 1.7c-1.6.8-1.6 2.9 0 3.7L47 77.7c1.2.6 2.7.6 3.9 0l.6-.3c-1.3-2.2-2.2-4.6-2.5-7.2z\"}},\"path\":{\"d\":\"M67.2 56.2c-6.5 0-11.9 5.3-11.9 11.9S60.6 80 67.2 80s11.9-5.3 11.9-11.9-5.4-11.9-11.9-11.9zm9.4 10.7h-3.1c-.1-2.8-.8-5.3-1.7-7.1 2.6 1.5 4.4 4.1 4.8 7.1zM66 59.1v7.8h-2.7c.2-3.7 1.3-6.6 2.7-7.8zm0 10.2v7.8c-1.3-1.1-2.5-4.1-2.7-7.8H66zm2.4 7.8v-7.8h2.7c-.2 3.7-1.4 6.7-2.7 7.8zm0-10.2v-7.8c1.3 1.1 2.5 4.1 2.7 7.8h-2.7zm-5.8-7.1c-1 1.9-1.5 4.3-1.7 7.1h-3.1c.3-3 2.2-5.6 4.8-7.1zm-4.8 9.5h3.1c.1 2.8.8 5.3 1.7 7.1-2.6-1.4-4.5-4-4.8-7.1zm14 7.1c1-1.9 1.5-4.3 1.7-7.1h3.1c-.4 3.1-2.2 5.7-4.8 7.1z\"}},\nchannel_program_members:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M48.7 68.1c0-5.9 2.8-11.2 7.2-14.5-1.3-.6-2.6-1.2-4-1.8-4.3-1.8-4.9-3.4-4.9-5.2 0-1.8 1.2-3.4 2.6-4.7 2.5-2.3 3.9-5.4 3.9-9.1 0-6.9-4.3-12.8-11.9-12.8-7.6 0-11.9 5.9-11.9 12.8 0 3.7 1.4 6.9 3.9 9.1 1.4 1.3 2.6 3 2.6 4.7 0 1.7-.7 3.4-4.9 5.2-6.2 2.6-12.1 5.6-12.2 11.2 0 3.7 2.8 7 6.3 7h22.7c.3 0 .5-.1.7-.1 0-.6-.1-1.2-.1-1.8zM67 56.3c-6.5 0-11.9 5.3-11.9 11.9S60.5 80.1 67 80.1s11.9-5.3 11.9-11.9S73.6 56.3 67 56.3zM76.5 67h-3.1c-.1-2.8-.8-5.3-1.7-7.1 2.5 1.4 4.4 4.1 4.8 7.1zm-10.6-7.8V67h-2.7c.1-3.7 1.3-6.6 2.7-7.8zm0 10.2v7.8c-1.3-1.1-2.5-4.1-2.7-7.8h2.7zm2.3 7.8v-7.8H71c-.2 3.7-1.4 6.6-2.8 7.8zm0-10.2v-7.8c1.3 1.1 2.5 4.1 2.7 7.8h-2.7zm-5.8-7.1c-1 1.9-1.5 4.3-1.7 7.1h-3.1c.4-3 2.2-5.7 4.8-7.1zm-4.8 9.5h3.1c.1 2.8.8 5.3 1.7 7.1-2.6-1.5-4.4-4.1-4.8-7.1zm14 7.1c1-1.9 1.5-4.3 1.7-7.1h3.1c-.3 3-2.2 5.6-4.8 7.1z\"}},\nchannel_programs:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M49 20c-16.5 0-30 13.5-30 30s13.5 30 30 30 30-13.5 30-30-13.5-30-30-30zm23.8 27h-7.9c-.3-7.1-1.9-13.3-4.3-18 6.6 3.7 11.2 10.3 12.2 18zM46 27.3V47h-6.9c.5-9.4 3.5-16.8 6.9-19.7zM46 53v19.7c-3.4-2.9-6.4-10.3-6.9-19.7H46zm6 19.7V53h6.9c-.5 9.4-3.5 16.8-6.9 19.7zM52 47V27.3c3.4 2.9 6.4 10.3 6.9 19.7H52zM37.4 29c-2.4 4.7-3.9 10.9-4.3 18h-7.9c1-7.7 5.6-14.3 12.2-18zM25.2 53h7.9c.3 7.1 1.9 13.3 4.3 18-6.6-3.7-11.2-10.3-12.2-18zm35.4 18c2.4-4.7 3.9-10.9 4.3-18h7.9c-1 7.7-5.6 14.3-12.2 18z\"}},\nchart:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M36.2 56.4c1.4 3.1 3.9 5.5 7 7 .9.4 1.3 1.3 1.3 2.2v11.5c0 1.6-1.5 2.8-3.1 2.4C31 76.7 22.8 68.5 20 58.1c-.4-1.5.8-3.1 2.4-3.1H34c.9 0 1.8.5 2.2 1.4zM41.5 19.7c1.5-.4 3.1.8 3.1 2.4v11.5c0 .9-.5 1.8-1.3 2.2-3.1 1.4-5.5 3.9-7 7-.4.9-1.3 1.3-2.2 1.3H22.4c-1.6 0-2.8-1.5-2.4-3.1 2.9-10.3 11.1-18.5 21.5-21.3zM80 49.6c0 14.3-9.1 26.4-21.6 29.9-1.5.4-3-.8-3-2.4V65.4c0-1 .5-1.9 1.3-2.4 4.7-2.4 8-7.5 8-13.4s-3.3-11.1-8-13.4c-.8-.4-1.3-1.4-1.3-2.4V22.1c0-1.6 1.5-2.8 3-2.4C70.9 23.2 80 35.3 80 49.6z\"}},\ncheckout:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M65.84 51.69a14.16 14.16 0 11-14.15 14.15 14.2 14.2 0 0114.15-14.15zM43 64.54a5 5 0 11-5 5 5 5 0 015-5zm28-4.46l-7.58 8.49L60 65.14a1 1 0 00-1.42 0l-1.41 1.31a.86.86 0 000 1.32L62 72.52a2 2 0 001.42.6 1.84 1.84 0 001.41-.6l9-9.81a1 1 0 000-1.31l-1.41-1.32a1 1 0 00-1.42 0zM27.75 20a3 3 0 012.8 2.12l.78 2.7h44.13a1.87 1.87 0 011.84 2.41l-5.23 18.3a1.81 1.81 0 01-.65 1 19.75 19.75 0 00-5.58-.8A20 20 0 0059 47H41.68a2.75 2.75 0 00-2.61 3.66v.1a2.82 2.82 0 002.71 2h8.87a20.26 20.26 0 00-3.5 5.78h-9.63a2.9 2.9 0 01-2.8-2.12l-9.1-30.64h-2.71A3 3 0 0120 22.7a3.06 3.06 0 013.1-2.7h4.65z\"}},\nchoice:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"circle\":{\"cx\":\"50\",\"cy\":\"50\",\"r\":\"13.9\"},\"path\":{\"d\":\"M50 20c-16.5 0-30 13.5-30 30s13.5 30 30 30 30-13.5 30-30-13.5-30-30-30zm0 52c-12.1 0-22-9.9-22-22s9.9-22 22-22 22 9.9 22 22-9.9 22-22 22z\"}}},\nclient:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M44.8 58.3c3.7-2.1 7.2-3.1 11.1-3.1 1.1 0 2.2.1 3.2.2.5.1.6-.1.1-.4-1.9-1.1-4-2.1-6.2-3-4.3-1.8-4.9-3.4-4.9-5.2 0-1.8 1.2-3.4 2.6-4.7 2.5-2.3 3.9-5.4 3.9-9.1 0-6.9-4.3-12.8-11.9-12.8-7.6 0-11.9 5.9-11.9 12.8 0 3.7 1.4 6.9 3.9 9.1 1.4 1.3 2.6 3 2.6 4.7 0 1.7-.7 3.4-4.9 5.2-6.2 2.6-12.1 5.6-12.2 11.2 0 3.7 2.8 7 6.3 7h14.2c1.1 0 2-.9 2-2v-6.5c.1-1.4.8-2.7 2.1-3.4z\"},{\"d\":\"M77.3 64.2c-9.4 2.9-16.8-6-27.1-1.8-.8.3-1.2 1-1.2 1.9V75c0 1.4 1.2 2.3 2.5 1.9 10.2-3.1 17.6 5.8 27.2 1.8.7-.3 1.3-1 1.3-1.9V66.1c0-1.3-1.4-2.3-2.7-1.9zm-12.5 10c-2.2 0-4-1.8-4-4s1.8-4 4-4 4 1.8 4 4-1.8 4-4 4z\"}]}},\ncms:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M60.4 29.9c-2 0-3.8.2-5.5.8 2.1 1.7 3.9 3.8 5.4 6.1h.1c7 0 12.7 5.7 12.7 12.7s-5.7 12.7-12.7 12.7c-1.7 0-3.5-.3-5-1 .9-1.3 1.7-2.7 2.3-4 .2-.6.5-1 .6-1.6.6-1.8.9-3.9.9-6 0-10.8-8.8-19.6-19.6-19.6S20 38.7 20 49.5s8.8 19.6 19.6 19.6c2 0 3.8-.2 5.5-.8-2.1-1.7-3.9-3.8-5.4-6.1h-.1c-7 0-12.7-5.7-12.7-12.7s5.7-12.7 12.7-12.7c1.7 0 3.5.3 5.1 1-2.4 3.2-3.9 7.3-3.9 11.7 0 10.8 8.8 19.6 19.6 19.6S80 60.3 80 49.5s-8.8-19.6-19.6-19.6z\"}},\ncoaching:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M47 53c-1.3 0-2.6.5-3.5 1.5-1.9 1.9-1.9 5.1 0 7.1.9.9 2.2 1.5 3.5 1.5 1.3 0 2.6-.5 3.5-1.5 1.9-1.9 1.9-5.1 0-7.1-.9-1-2.2-1.5-3.5-1.5z\"},{\"d\":\"M79.6 30.6l-6.8-9.8c-.6-.9-1.8-1.1-2.7-.6L36.7 40.9c-3.2 1.9-6 4.7-7.8 8.9-1.8 4.3-2.2 8.9-1.1 13.2-4.3.4-7.8 4-7.8 8.5 0 4.7 3.8 8.5 8.5 8.5 3.5 0 6.5-2.1 7.8-5.1 7.7 4.9 18.1 4 24.9-2.8 6.1-6.1 7.4-15.2 4-22.7-1.2-2.6-.5-5.8 1.9-7.5l12.1-8.6c.8-.5 1-1.8.4-2.7zM28.5 74c-1.4 0-2.5-1.1-2.5-2.5s1.1-2.5 2.5-2.5 2.5 1.1 2.5 2.5-1.1 2.5-2.5 2.5zm26.3-8.2C52.7 67.9 49.9 69 47 69c-2.9 0-5.7-1.1-7.8-3.2-4.3-4.3-4.3-11.3 0-15.6C41.3 48.1 44 47 47 47c2.9 0 5.7 1.1 7.8 3.2 4.3 4.3 4.3 11.3 0 15.6z\"}]},\ncode_playground:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M73.8 20H26.2c-3.4 0-6.2 2.8-6.2 6.2v47.6c0 3.4 2.8 6.2 6.2 6.2h47.6c3.4 0 6.2-2.8 6.2-6.2V26.2c0-3.4-2.8-6.2-6.2-6.2zm-45.5 6.2h43.4c1.1 0 2.1.9 2.1 2.1v3.9H26.2v-3.9c0-1.2.9-2.1 2.1-2.1zm43.4 47.6H28.3c-1.1 0-2.1-.9-2.1-2.1V38.2h47.6v33.5c0 1.2-.9 2.1-2.1 2.1z\"},{\"d\":\"M46.7 63.3l-6.6-6.6 6.6-6.6c.4-.4.4-1 0-1.4l-2.8-2.8c-.4-.4-1-.4-1.4 0l-7.3 7.3-1.5 1.5-1.3 1.3c-.2.2-.3.5-.3.7 0 .3.1.5.3.7l10.2 10.2c.4.4 1 .4 1.4 0l2.8-2.8c.3-.5.3-1.1-.1-1.5zM67.7 55.9l-1.3-1.3-1.5-1.5-7.3-7.3c-.4-.4-1-.4-1.4 0l-2.8 2.8c-.4.4-.4 1 0 1.4l6.6 6.6-6.6 6.6c-.4.4-.4 1 0 1.4l2.8 2.8c.4.4 1 .4 1.4 0l10.2-10.2c.2-.2.3-.5.3-.7-.1-.1-.2-.4-.4-.6z\"}]},\ncollection:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M33.74 20.26h17.43v29.4l.39.57.71-.13 7.06-6.43.49-.15.51.14L67 50l.75.13.36-.57V20.08h4.08s2.58.24 3.74 1.39a6.53 6.53 0 012 3.43v49.31c0 1.85-.17 2.85-1.1 3.94A5.69 5.69 0 0172.21 80h-38c-.31 0-1.9.34-4.22-1.93a6.65 6.65 0 01-1.85-4.44v-1.55h-2a3.93 3.93 0 01-4-4.17c.08-3.69 3.91-3.8 3.91-3.8h2.05v-10h-2a3.86 3.86 0 01-4-4 4 4 0 014-4.18h2v-9.74s-1.49.05-2 0a3.87 3.87 0 01-4-3.87 3.93 3.93 0 014-4.1h2v-2.38a6 6 0 011.48-3.65 6.46 6.46 0 014.16-1.93z\"}},\ncollection_variable:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M73.8 20H26.2c-3.4 0-6.2 2.8-6.2 6.2v47.6c0 3.4 2.8 6.2 6.2 6.2h47.6c3.4 0 6.2-2.8 6.2-6.2V26.2c0-3.4-2.8-6.2-6.2-6.2zm-3 49.3h-.1c0 .8-.8 1.4-1.6 1.4H30.4c-.8 0-1.4-.8-1.4-1.6V30.7c0-.8.8-1.4 1.6-1.4h38.8c.8 0 1.4.8 1.4 1.6v38.4z\"},{\"d\":\"M58.8 45.6c1.3 0 3.9-1.1 3.9-4.5s-2.5-3.6-3.2-3.6c-1.5 0-3 1.1-4.3 3.4-1.3 2.3-2.8 4.9-2.8 4.9h-.1c-.3-1.6-.6-3-.7-3.6-.3-1.4-1.9-4.5-5.3-4.5s-6.5 2-6.5 2c-.6.4-1 1-1 1.8 0 1.1.9 2.1 2.1 2.1.3 0 .6-.1.9-.2 0 0 2.6-1.4 3.1 0 .2.4.3.9.5 1.4.7 2.2 1.3 4.9 1.8 7.3L45 55.3s-2.5-.9-3.8-.9-3.9 1.1-3.9 4.5 2.5 3.6 3.2 3.6c1.5 0 3-1.1 4.3-3.4 1.3-2.3 2.8-4.9 2.8-4.9.4 2.1.8 3.8 1 4.5.9 2.4 2.8 3.9 5.4 3.9 0 0 2.7 0 5.8-1.8.8-.3 1.3-1.1 1.3-1.9 0-1.1-.9-2.1-2.1-2.1-.3 0-.6.1-.9.2 0 0-2.3 1.3-3 .3-.6-1-1-2.4-1.4-4.2-.3-1.5-.7-3.3-1.1-5.1l2.3-3.3c.1 0 2.6.9 3.9.9z\"}]},\nconnected_apps:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M73 21H27c-3.3 0-6 2.7-6 6v46c0 3.3 2.7 6 6 6h46c3.3 0 6-2.7 6-6V27c0-3.3-2.7-6-6-6zm-2 52H29c-1.1 0-2-.9-2-2V29c0-1.1.9-2 2-2h42c1.1 0 2 .9 2 2v42c0 1.1-.9 2-2 2z\"},{\"d\":\"M58.5 47H52l5.7-9.4c.6-1-.1-2.6-1.3-2.6h-8.3c-1.2 0-2.3.8-2.8 1.9l-5.2 13.8c-.4 1 .3 2.3 1.4 2.3h6.6l-3.2 10.9c-.3 1 1 1.6 1.7.8l13.1-15.4c.8-1 .1-2.3-1.2-2.3z\"}]},\nconstant:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M79.4 26.7c-.3-.3-.8-.5-1.2-.5-4.8-.2-9.9.2-14.7.2l-17.2.1c-5.3 0-9.4 1.1-13.4 4.7-2.6 2.4-5 5.7-6.9 8.5-.2.3-.3.7-.3 1.1 0 1.1.9 1.9 1.9 1.9 1.1 0 1.4-.7 1.9-1.5s1.2-1.6 1.9-2.3c2.6-2.5 6.3-3.8 9.9-3.5-3 8.4-7.3 18.1-13.4 24.7-2.5 2.8-6.8 5.7-7.8 9.5-1 3.9 3 5 6.1 3.8 3.9-1.5 6.2-5.5 8.2-8.9 2.4-4.3 4.5-8.6 6.4-13.2 1.9-4.4 3.8-8.9 5.6-13.3 1.1-2.6 1.5-2.7 4.2-2.7h7.5c-2.8 6.1-5.5 12.3-8 18.6-1.9 4.8-5.3 11.7-2.9 16.9 2.4 5.1 9.2 3.2 12.9.6 3.8-2.6 6.2-6.9 8.3-10.9.4-.7.8-1.6.5-2.4-.3-.7-1-1.2-1.8-1.2-1.7 0-2.1 2.1-2.6 3.4-1 2.1-3.4 4.1-5.8 3.7-5.7-.8-.6-10.9.4-13.6 1-2.8 2.2-5.6 3.4-8.3.7-1.6 1.3-3.2 2.1-4.7 1-2 1-1.9 3.3-2 2-.1 7.5.9 9.2-.2 1.3-.9 2.2-4.2 2.8-6.6.2-.8 0-1.5-.5-1.9z\"}},\ncontact:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M74 29H26c-3.3 0-6 2.7-6 6v29c0 3.3 2.7 6 6 6h48c3.3 0 6-2.7 6-6V35c0-3.3-2.7-6-6-6zM48.6 63H31.4c-1.9 0-3.4-2.1-3.4-4.1.1-3 3.2-4.8 6.5-6.3 2.3-1 2.6-1.9 2.6-2.9s-.6-1.9-1.4-2.6c-1.3-1.2-2.1-3-2.1-5 0-3.8 2.3-7 6.3-7s6.3 3.2 6.3 7c0 2-.7 3.8-2.1 5-.8.7-1.4 1.6-1.4 2.6s.3 1.9 2.6 2.8c3.3 1.4 6.4 3.4 6.5 6.4.2 2-1.3 4.1-3.2 4.1zM72 56c0 1.1-.9 2-2 2h-9c-1.1 0-2-.9-2-2v-3c0-1.1.9-2 2-2h9c1.1 0 2 .9 2 2v3zm0-11c0 1.1-.9 2-2 2H55c-1.1 0-2-.9-2-2v-3c0-1.1.9-2 2-2h15c1.1 0 2 .9 2 2v3z\"}},\ncontact_list:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M26.3 22.7c-4.5 0-8.2 3.5-8.2 7.8v44.3c0 4.3 3.7 7.8 8.2 7.8h43.6c4.5 0 8.2-3.5 8.2-7.8V30.5c0-4.3-3.7-7.8-8.2-7.8H26.3zm10.9 18.2c0 1.4-1.2 2.6-2.7 2.6h-2.7c-1.5 0-2.7-1.2-2.7-2.6v-2.6c0-1.4 1.2-2.6 2.7-2.6h2.7c1.5 0 2.7 1.2 2.7 2.6v2.6zm30 0c0 1.4-1.2 2.6-2.7 2.6H45.4c-1.5 0-2.7-1.2-2.7-2.6v-2.6c0-1.4 1.2-2.6 2.7-2.6h19.1c1.5 0 2.7 1.2 2.7 2.6v2.6zM37.2 54c0 1.4-1.2 2.6-2.7 2.6h-2.7c-1.5 0-2.7-1.2-2.7-2.6v-2.6c0-1.4 1.2-2.6 2.7-2.6h2.7c1.5 0 2.7 1.2 2.7 2.6V54zm25 0c0 1.4-1.2 2.6-2.7 2.6H45.4c-1.5 0-2.7-1.2-2.7-2.6v-2.6c0-1.4 1.2-2.6 2.7-2.6h14.1c1.5 0 2.7 1.2 2.7 2.6V54zm-25 13c0 1.4-1.2 2.6-2.7 2.6h-2.7c-1.5 0-2.7-1.2-2.7-2.6v-2.6c0-1.4 1.2-2.6 2.7-2.6h2.7c1.5 0 2.7 1.2 2.7 2.6V67zm30 0c0 1.4-1.2 2.6-2.7 2.6H45.4c-1.5 0-2.7-1.2-2.7-2.6v-2.6c0-1.4 1.2-2.6 2.7-2.6h19.1c1.5 0 2.7 1.2 2.7 2.6V67z\"}},\ncontact_request:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M48.7 50.9c-.7.2-1.1 1.1-.5 1.7l5.5 5.6c.6.6.6 1.5 0 2.1l-2.1 2.1c-.6.6-1.5.6-2.1 0L36 48.9c-.6-.6-.6-1.5 0-2.1l13.5-13.5c.6-.6 1.5-.6 2.1 0l2.1 2.2c.6.6.6 1.5 0 2.1l-5.6 5.6c-.6.6.5 1.7.5 1.7 12.8.4 22.7 8.8 25.8 20.3 3.3-4.4 5.3-9.8 5.3-15.6-.1-15.5-13.5-27.7-30.1-27.7-16.7 0-30 12.3-30 27.4 0 4.8 1.4 9.3 3.6 13.3.4.6.5 1.4.3 2.1l-3.9 10.7c-.4 1 .6 1.9 1.6 1.6L32 72.9c.6-.3 1.4-.1 2.1.3 4.5 2.5 9.9 4 15.7 4 7.5-.1 14.3-2.7 19.5-6.9-1.2-10.7-9.9-19-20.6-19.4z\"}},\ncontract:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M74.6 33.6L61.4 20.4c-.3-.3-.6-.4-1-.4-.8 0-1.4.6-1.4 1.4V32c0 2.2 1.8 4 4 4h10.6c.8 0 1.4-.6 1.4-1.4 0-.4-.1-.7-.4-1z\"},{\"d\":\"M73 42H59c-3.3 0-6-2.7-6-6V22c0-1.1-.9-2-2-2H31c-3.3 0-6 2.7-6 6v48c0 3.3 2.7 6 6 6h38c3.3 0 6-2.7 6-6V44c0-1.1-.9-2-2-2zm-41-9.4l4.9-.7c.1 0 .3-.1.3-.2l2.2-4.5c.2-.3.6-.3.8 0l2.2 4.5c.1.1.2.2.3.2l4.9.7c.3.1.5.5.2.7l-3.6 3.5c-.1.1-.1.2-.1.4l.8 4.9c.1.3-.3.6-.6.4l-4.4-2.3c-.1-.1-.3-.1-.4 0l-4.4 2.3c-.3.2-.7-.1-.6-.4l.8-4.9c0-.1 0-.3-.1-.4l-3.6-3.5c-.1-.2.1-.6.4-.7zM63 66c0 1.1-.9 2-2 2H35c-1.1 0-2-.9-2-2v-2c0-1.1.9-2 2-2h26c1.1 0 2 .9 2 2v2zm4-12c0 1.1-.9 2-2 2H35c-1.1 0-2-.9-2-2v-2c0-1.1.9-2 2-2h30c1.1 0 2 .9 2 2v2z\"}]},\ncontract_line_item:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M63 36h10.6c.8 0 1.4-.6 1.4-1.4 0-.4-.1-.7-.4-1L61.4 20.4c-.3-.3-.6-.4-1-.4-.8 0-1.4.6-1.4 1.4V32c0 2.2 1.8 4 4 4z\"},{\"d\":\"M73 42H59c-3.3 0-6-2.7-6-6V22c0-1.1-.9-2-2-2H31c-3.3 0-6 2.7-6 6v48c0 3.3 2.7 6 6 6h38c3.3 0 6-2.7 6-6V44c0-1.1-.9-2-2-2zM34.6 68.1c-1.7 0-3.1-1.4-3.1-3.1 0-1.7 1.4-3.1 3.1-3.1 1.7 0 3.1 1.4 3.1 3.1 0 1.7-1.4 3.1-3.1 3.1zm0-12c-1.7 0-3.1-1.4-3.1-3.1 0-1.7 1.4-3.1 3.1-3.1 1.7 0 3.1 1.4 3.1 3.1 0 1.8-1.4 3.1-3.1 3.1zm4.9-15.9l-4.4 2.3c-.3.2-.7-.1-.6-.4l.8-4.9c0-.1 0-.3-.1-.4l-3.6-3.5c-.1-.2.1-.6.4-.7l4.9-.7c.1 0 .3-.1.3-.2l2.2-4.5c.2-.3.6-.3.8 0l2.2 4.5c.1.1.2.2.3.2l4.9.7c.3.1.5.5.2.7l-3.6 3.5c-.1.1-.1.2-.1.4l.8 4.9c.1.3-.3.6-.6.4l-4.4-2.3c-.1-.1-.3-.1-.4 0zM67 66c0 1.1-.9 2-2 2H44.7c-1.1 0-2-.9-2-2v-2c0-1.1.9-2 2-2H65c1.1 0 2 .9 2 2v2zm0-12c0 1.1-.9 2-2 2H44.7c-1.1 0-2-.9-2-2v-2c0-1.1.9-2 2-2H65c1.1 0 2 .9 2 2v2z\"}]}},\ncurrency:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M74.4 30.8H25.6c-3.1 0-5.6 2.5-5.6 5.6v27.2c0 3.1 2.5 5.6 5.6 5.6h48.8c3.1 0 5.6-2.5 5.6-5.6V36.4c0-3.1-2.5-5.6-5.6-5.6zM32.2 63.6c0-3.7-2.9-6.6-6.6-6.6V43c3.7 0 6.6-2.9 6.6-6.6h35.6c0 3.7 2.9 6.6 6.6 6.6v14c-3.7 0-6.6 2.9-6.6 6.6H32.2z\"},\"circle\":{\"cx\":\"50\",\"cy\":\"49.5\",\"r\":\"9.4\"}}},\ncurrency_input:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M62.7 64.8c3.5-5.7 2.8-13.3-2.2-18.2-5.8-5.8-15.2-5.8-21 0-4.9 4.9-5.7 12.5-2.2 18.2h25.4z\"},{\"d\":\"M80 26v48c0 3.3-2.7 6-6 6H26c-3.3 0-6-2.7-6-6V26c0-3.3 2.7-6 6-6h48c3.3 0 6 2.7 6 6zM30 71.9h40c1.1 0 2-.9 2-2V30c0-1.1-.9-2-2-2H30c-1.1 0-2 .9-2 2v39.9c0 1.1.9 2 2 2z\"}]},\ncustom:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M79.2 32.8c-.2-.7-1.101-.9-1.7-.4L67.4 42.5c-.801.8-2 .8-2.801 0l-7.1-7.1c-.8-.8-.8-2 0-2.8l10.2-10.2c.5-.5.3-1.4-.4-1.7C65.6 20.3 63.8 20 62 20c-10.6 0-19.1 9.2-17.9 20 .2 1.7.6 3.2 1.2 4.7L22 68.1c-2.7 2.7-2.7 7.2 0 9.9 1.4 1.4 3.2 2.1 5 2.1s3.6-.699 5-2.1l23.3-23.3c1.5.6 3.101 1 4.7 1.2 10.9 1.2 20-7.3 20-17.9 0-1.8-.3-3.6-.8-5.2z\"}},\ncustom_component_task:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M49.91 50.6L45 45.69a1.36 1.36 0 00-2 0l-1.94 2a1.33 1.33 0 000 1.94L48 56.44a2.7 2.7 0 001.95.83 2.67 2.67 0 001.94-.83L66 42.27a1.34 1.34 0 000-2l-1.94-1.94a1.34 1.34 0 00-1.95 0z\"},{\"d\":\"M71.81 54.15a23.31 23.31 0 000-8.6l4.6-3.9a4.28 4.28 0 001-5.3l-2-3.5a4.11 4.11 0 00-3.6-2 3.19 3.19 0 00-1.4.3l-5.8 2.1a22.35 22.35 0 00-7.4-4.3l-1-5.9a3.92 3.92 0 00-4.1-3.1h-4a3.85 3.85 0 00-4.1 3.1l-1 5.8a21.59 21.59 0 00-7.5 4.3l-5.9-2.1a7 7 0 00-1.4-.3 4.2 4.2 0 00-3.6 2l-2 3.5a4.16 4.16 0 001 5.3l4.6 3.9a20.87 20.87 0 00-.4 4.3 20.24 20.24 0 00.4 4.3L23.61 58a4.28 4.28 0 00-1 5.3l2 3.5a4.11 4.11 0 003.6 2 3.19 3.19 0 001.4-.3l5.8-2.1a22.35 22.35 0 007.4 4.3l1 6a4.1 4.1 0 004.1 3.4h4a4.18 4.18 0 004.1-3.5l1-6a22.06 22.06 0 007.8-4.6l5.4 2.1a8 8 0 001.5.3 4.2 4.2 0 003.6-2l1.9-3.3a3.67 3.67 0 00-.8-5zm-3.39-9.34l-4.55 4.56v.78a13.85 13.85 0 11-6.7-11.81l2.45-2.44a4.84 4.84 0 016.89 0l2 2a4.9 4.9 0 011.43 3.7 4.66 4.66 0 01-1.52 3.21z\"}]}},\ncustom_notification:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M53.77 21.87L50 40.11a1 1 0 001.12 1.12h19.52a2 2 0 011.62 2.87L51 79a1.85 1.85 0 01-3.5-.87l3.75-21.48c0-.75-.62-.5-1.37-.5H29.42c-1.37 0-2.37-2-1.62-3.25L50.28 21a1.86 1.86 0 013.49.87z\"}},\ncustomer_360:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M78.8 50.8c.7-.7.7-1.6.4-2.4-.4-.9-1.2-1.4-2.2-1.4-.7 0-1.3.2-1.9.8l-.5.5c-.9-13.2-11.8-23.6-25.2-23.6-13.9 0-25.2 11.3-25.2 25.2s11.3 25.2 25.2 25.2c11.9 0 21.8-8.2 24.5-19.3l4.9-5zM49.4 70.1c-11.2 0-20.2-9.1-20.2-20.2s9.1-20.2 20.2-20.2c10.6 0 19.3 8.2 20.1 18.6l-.5-.5c-.3-.3-.6-.5-1-.6-1-.4-2-.1-2.7.7-.8 1-.8 2.4.1 3.3l3.6 3.6c-2.1 8.7-10.1 15.3-19.6 15.3z\"},\"g\":{\"path\":{\"d\":\"M61.7 57.1v1.1c0 1.4-1.1 2.5-2.5 2.5H39.5c-1.4 0-2.5-1.1-2.5-2.5v-1.1c0-3 3.5-4.8 6.8-6.2.1 0 .2-.1.3-.2.2-.1.5-.1.8 0 1.3.9 2.8 1.4 4.4 1.4s3.1-.5 4.4-1.3c.2-.2.5-.2.8 0 .1 0 .2.1.3.2 3.4 1.3 6.9 3.1 6.9 6.1z\"},\"ellipse\":{\"cx\":\"49.4\",\"cy\":\"42.8\",\"rx\":\"6.1\",\"ry\":\"6.8\"}}},\ncustomer_lifecycle_analytics:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M57.4 38.4a18.1 18.1 0 11-18.1-18.2 18.12 18.12 0 0118.1 18.2zm-24.8-8.2c-1.3 0-2.3 1.3-2.3 3.1 0 1.6.9 3.1 2.3 3.1s2.3-1.3 2.3-3.1c-.2-1.7-1.1-3.1-2.3-3.1zm13.5 0c-1.3 0-2.3 1.3-2.3 3.1 0 1.6.9 3.1 2.3 3.1s2.3-1.3 2.3-3.1-.9-3.1-2.3-3.1zM28 40.7c.5 5.7 4.7 10.6 11.2 10.6a11.28 11.28 0 0011.5-10.6z\"},{\"d\":\"M79.6 45.4a1.37 1.37 0 00-1.4-1.4l-14.6-.1a1.29 1.29 0 00-1.4 1.3v2.6a1.37 1.37 0 001.4 1.4l4.5.1a.89.89 0 01.6 1.5l-20 20.1a1 1 0 01-.9-.2L37.1 59.8a1.37 1.37 0 00-1.8-.1l-.1.1-1.9 1.9a.1.1 0 01-.1.1L20.6 74.4a1.39 1.39 0 000 1.9l1.9 1.9a1.39 1.39 0 001.9 0l10.4-10.3a1.87 1.87 0 012.6-.1l10.2 10.3a1.17 1.17 0 001.9 0l23.2-23.4a.88.88 0 011.5.6l.1 4.5a1.37 1.37 0 001.4 1.4h2.6a1.29 1.29 0 001.4-1.3z\"}]},\ncustomer_portal_users:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M68 48.8c0 1.1-.9 2-2 2H47.4c-1.1 0-2-.9-2-2v-3c0-1.1.9-2 2-2H66c1.1 0 2 .9 2 2v3zM39.4 48.8c0 1.1-.9 2-2 2H34c-1.1 0-2-.9-2-2v-3c0-1.1.9-2 2-2h3.4c1.1 0 2 .9 2 2v3zM39.4 61.8c0 1.1-.9 2-2 2H34c-1.1 0-2-.9-2-2v-3c0-1.1.9-2 2-2h3.4c1.1 0 2 .9 2 2v3zM68 61.8c0 1.1-.9 2-2 2H47.4c-1.1 0-2-.9-2-2v-3c0-1.1.9-2 2-2H66c1.1 0 2 .9 2 2v3z\"},{\"d\":\"M73.8 20H26.2c-3.4 0-6.2 2.8-6.2 6.2v47.6c0 3.4 2.8 6.2 6.2 6.2h47.6c3.4 0 6.2-2.8 6.2-6.2V26.2c0-3.4-2.8-6.2-6.2-6.2zm-26.4 7.4c0-.8.8-1.4 1.6-1.4h23.4c.8 0 1.4.8 1.4 1.6v3c0 .8-.8 1.4-1.6 1.4H48.8c-.8 0-1.4-.8-1.4-1.6v-3zm-8-1.4c1.7 0 3 1.3 3 3s-1.3 3-3 3-3-1.3-3-3 1.3-3 3-3zM29 26c1.7 0 3 1.3 3 3s-1.3 3-3 3-3-1.3-3-3 1.3-3 3-3zm45 46.6c0 .8-.8 1.4-1.6 1.4H68v-2.3c0-1.1-.9-2-2-2H47.4c-1.1 0-2 .9-2 2V74h-6v-2.3c0-1.1-.9-2-2-2H34c-1.1 0-2 .9-2 2V74h-4.6c-.8 0-1.4-.8-1.4-1.6v-33c0-.8.8-1.4 1.6-1.4h45c.8 0 1.4.8 1.4 1.6v33z\"}]},\ncustomers:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"ellipse\":{\"cx\":\"41.3\",\"cy\":\"42.3\",\"rx\":\"12.2\",\"ry\":\"13.5\"},\"path\":{\"d\":\"M52.6 57.4c-3.1 2.8-7 4.5-11.3 4.5-4.3 0-8.3-1.7-11.3-4.6C24.5 59.8 19 63 19 68v2.1c0 2.5 2 4.5 4.5 4.5h35.7c2.5 0 4.5-2 4.5-4.5V68c-.1-5-5.5-8.1-11.1-10.6zM68 47.4c-.2-.1-.3-.2-.5-.3-.4-.2-.9-.2-1.3.1-2.1 1.3-4.6 2.1-7.2 2.1h-1c-.5 1.3-1 2.6-1.7 3.7.4.2.9.3 1.4.6 5.7 2.5 9.7 5.6 12.5 9.8H75c2.2 0 4-1.8 4-4v-1.9c0-4.9-5.7-7.9-11-10.1zM66.9 34.2c0-4.9-3.6-8.9-7.9-8.9-2.2 0-4.1 1-5.6 2.5 3.5 3.6 5.7 8.7 5.7 14.4v.8c4.3 0 7.8-3.9 7.8-8.8z\"}},\ndashboard:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M50 20c-16.5 0-30 13.5-30 30s13.5 30 30 30 30-13.5 30-30-13.5-30-30-30zm0 8c12.1 0 22 9.9 22 22 0 1-.1 2-.2 3h-8.9c-1 0-1.8.7-2 1.7-.8 5.2-5.4 9.3-10.9 9.3s-10.1-4.1-10.9-9.3c-.1-1-1-1.7-2-1.7h-8.9c-.1-1-.2-2-.2-3 0-12.1 9.9-22 22-22z\"},{\"d\":\"M47.7 57.4c2.4 1.3 5.5.3 6.8-2.1 1.9-3.5 5.5-18.9 4.6-19.3-.9-.5-11.6 11.1-13.4 14.7-1.4 2.4-.5 5.4 2 6.7z\"}]},\ndashboard_ea:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M22.5 19.7h20c1.4 0 2.5 1.1 2.5 2.5v54.9c0 1.4-1.1 2.5-2.5 2.5h-20c-1.4 0-2.5-1.1-2.5-2.5V22.2c0-1.4 1.1-2.5 2.5-2.5zM57.5 19.6h20c1.4 0 2.5 1.1 2.5 2.5V42c0 1.4-1.1 2.5-2.5 2.5h-20c-1.4 0-2.5-1.1-2.5-2.5V22.1c0-1.4 1.1-2.5 2.5-2.5zM57.5 54.6h20c1.4 0 2.5 1.1 2.5 2.5V77c0 1.4-1.1 2.5-2.5 2.5h-20c-1.4 0-2.5-1.1-2.5-2.5V57.1c0-1.3 1.1-2.5 2.5-2.5z\"}},\ndata_integration_hub:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M73.9 27c-3.9 0-7.1 3.2-7.1 7.1 0 .6.1 1.1.2 1.6l-6.7 4.4c-2.1-2.4-5.1-4-8.6-4-2.6 0-5 .9-6.9 2.4l-11-7.6c.7-2.9-.8-6.1-3.6-7.4-3.3-1.5-7.2-.1-8.7 3.1s-.1 7.2 3.1 8.7c1.7.8 3.6.8 5.3.1l11.3 7.9c-.5 1.2-.8 2.6-.8 4 0 .8.1 1.5.2 2.3l-6.9 2.5c-.9-1-2.1-1.8-3.6-2.2-3.9-1.1-8 1.2-9.1 5.2-1.1 3.9 1.2 8 5.2 9.1 3.9 1.1 8-1.2 9.1-5.2.1-.4.2-.8.2-1.2l7.9-2.8c2.1 2.2 5 3.6 8.2 3.6h.9l1.1 5.6c-2.1 1.7-3.3 4.4-3 7.2.4 4.6 4.5 7.9 9.1 7.5 4.6-.4 7.9-4.5 7.5-9.1-.4-4.1-3.7-7.2-7.7-7.5l-1.2-5.9c2.8-2 4.7-5.4 4.7-9.1 0-.6-.1-1.2-.1-1.7l7.9-5.2c1 .5 2.1.8 3.2.8 3.9 0 7.1-3.2 7.1-7.1-.1-3.9-3.3-7.1-7.2-7.1zM51.7 54.6c-4 0-7.2-3.2-7.2-7.2s3.2-7.2 7.2-7.2 7.2 3.2 7.2 7.2c0 3.9-3.2 7.2-7.2 7.2z\"},\"circle\":{\"cx\":\"51.8\",\"cy\":\"47.4\",\"r\":\"3.2\"}}},\ndata_mapping:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M73.12 43.75a6.88 6.88 0 11-6.12 10h-1.14c-6.74.08-9.11 2.12-12.88 9.18l-.22.4-.25.48C50.27 68 49 69.94 46.69 72c-3.24 2.84-7.42 4.29-12.94 4.29H33A6.88 6.88 0 1133 70h1.14c6.86-.08 9.2-2.2 13.1-9.58l.25-.48a34.38 34.38 0 013.88-6.19H33a6.88 6.88 0 110-6.25h34a6.86 6.86 0 015.85-3.74zm0-23.75A6.88 6.88 0 1167 30H33a6.88 6.88 0 110-6.25h34A6.86 6.86 0 0173.12 20z\"}},\ndata_model:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M72.7 65.8a6.6 6.6 0 00-3.2.8l-8.8-6.5a11.36 11.36 0 001.2-5.2A11.91 11.91 0 0053 43.4v-10a7 7 0 004-6.2 6.9 6.9 0 10-13.8 0 6.73 6.73 0 004 6.2v10a11.91 11.91 0 00-8.9 11.5 11.36 11.36 0 001.2 5.2l-8.8 6.5a7.22 7.22 0 00-3.2-.8 6.9 6.9 0 106.9 6.9c0-.5-.1-.9-.1-1.3l9.2-6.8a11.61 11.61 0 0013.6 0l9.2 6.8a5.7 5.7 0 00-.1 1.3 6.9 6.9 0 0013.8 0 7.41 7.41 0 00-7.3-6.9zm-21.3-5.1a6.75 6.75 0 01-1.4.2 6.1 6.1 0 01-5.7-4.4 7.72 7.72 0 01-.2-1.5 5.81 5.81 0 013-5.1 6 6 0 016 0 5.81 5.81 0 013 5.1 7.72 7.72 0 01-.2 1.5 6.54 6.54 0 01-4.5 4.2z\"}},\ndata_streams:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M68.8 20.3a10.9 10.9 0 11-10.5 13.9h-.4a5 5 0 00-5 5v4.3l6.3 6.3a1.93 1.93 0 010 2.8L57.9 54a1.93 1.93 0 01-2.8 0L53 51.9v9a10.85 10.85 0 01-10.5 10.9h-.8a10.91 10.91 0 11-10.5-13.9 11 11 0 0110.5 7.9h.4a5 5 0 005-5v-8.7L45.3 54a1.93 1.93 0 01-2.8 0l-1.4-1.4a1.93 1.93 0 010-2.8l5.9-5.9v-4.7a10.85 10.85 0 0110.5-10.9h.8a10.83 10.83 0 0110.5-8zM31.2 63.9a5 5 0 00-5 5 5 5 0 0010 0 5 5 0 00-5-5zm37.6-37.7a5 5 0 00-5 5 5 5 0 1010 0 5 5 0 00-5-5z\"}},\ndatadotcom:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M71.1 80h-6.8c-.4-2.4-.6-4.6-.6-6.5h-.1c-3.2 5.1-8.4 7.7-15.6 7.7-6.1 0-10.9-2-14.2-6.3-3.3-4.2-4.9-9.7-4.9-16.3 0-4.3.8-8.2 2.4-11.6s4-6.3 7-8.2c3.1-2 6.6-3.1 10.7-3.1 5.9 0 10.6 1.9 14.2 5.6V20h7.2v50.6c0 3 .3 6.2.7 9.4zm-7.9-18.5V47.8c-1.7-2.2-3.6-3.7-5.7-4.9-2.2-1-4.6-1.5-7.4-1.5-4.2 0-7.5 1.5-10 4.7s-3.6 7.3-3.6 12.3c0 5.2 1.1 9.3 3.4 12.4s5.6 4.6 9.7 4.6 7.4-1.3 9.8-4c2.6-2.5 3.8-5.8 3.8-9.9z\"}},\ndataset:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M52 20.6l23.4 11.5c1.6.8 2.6 2.4 2.6 4.1V63c0 1.8-1 3.4-2.6 4.1L52 78.6c-1.3.6-2.8.6-4.1 0L24.6 67.1C23 66.3 22 64.7 22 63V36.2c0-1.8 1-3.4 2.6-4.1L48 20.6c1.2-.6 2.8-.6 4 0z\"}},\ndate_input:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M76 42H24c-1.1 0-2 .9-2 2v30c0 3.3 2.7 6 6 6h44c3.3 0 6-2.7 6-6V44c0-1.1-.9-2-2-2zM40 70c0 1.1-.9 2-2 2h-4c-1.1 0-2-.9-2-2v-4c0-1.1.9-2 2-2h4c1.1 0 2 .9 2 2v4zm14 0c0 1.1-.9 2-2 2h-4c-1.1 0-2-.9-2-2v-4c0-1.1.9-2 2-2h4c1.1 0 2 .9 2 2v4zm0-14c0 1.1-.9 2-2 2h-4c-1.1 0-2-.9-2-2v-4c0-1.1.9-2 2-2h4c1.1 0 2 .9 2 2v4zm14 0c0 1.1-.9 2-2 2h-4c-1.1 0-2-.9-2-2v-4c0-1.1.9-2 2-2h4c1.1 0 2 .9 2 2v4zm4-30h-5v-2c0-2.2-1.8-4-4-4s-4 1.8-4 4v2H41v-2c0-2.2-1.8-4-4-4s-4 1.8-4 4v2h-5c-3.3 0-6 2.7-6 6v2c0 1.1.9 2 2 2h52c1.1 0 2-.9 2-2v-2c0-3.3-2.7-6-6-6z\"}},\ndate_time:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M72 26h-5v-2c0-2.2-1.8-4-4-4s-4 1.8-4 4v2H41v-2c0-2.2-1.8-4-4-4s-4 1.8-4 4v2h-5c-3.3 0-6 2.7-6 6v2c0 1.1.9 2 2 2h52c1.1 0 2-.9 2-2v-2c0-3.3-2.7-6-6-6zM76 42H24c-1.1 0-2 .9-2 2v30c0 3.3 2.7 6 6 6h44c3.3 0 6-2.7 6-6V44c0-1.1-.9-2-2-2zM50 75.9c-8.2 0-14.9-6.7-14.9-14.9S41.8 46.1 50 46.1 64.9 52.8 64.9 61 58.2 75.9 50 75.9z\"},{\"d\":\"M51.5 60.4V54c0-.5-.4-1-1-1h-1c-.5 0-1 .4-1 1v7c0 .4.1.8.4 1l4.8 4.8c.4.4 1 .4 1.4 0l.7-.7c.4-.4.4-1 0-1.4l-4.3-4.3z\"}]},\ndecision:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M79.4 28.8l-5.2-3.9c-.8-.5-1.5-.8-2.4-.8H54V22c0-1.1-.9-2-2-2h-4c-1.1 0-2 .9-2 2v2H26c-1.1 0-2 .9-2 2v8c0 1.1.9 2 2 2h45.8c.9 0 1.8-.2 2.4-.8l5.2-3.9c.8-.7.8-1.9 0-2.5zM74 46H54v-3c0-.6-.4-1-1-1h-6c-.6 0-1 .4-1 1v3H28.3c-.9 0-1.8.2-2.4.8l-5.2 3.9c-.9.6-.9 1.9 0 2.6l5.2 3.9c.8.5 1.5.8 2.4.8H74c1.1 0 2-.9 2-2v-8c0-1.1-.9-2-2-2zM54 71.6v-4.9c0-.6-.4-1-1-1h-6c-.6 0-1 .4-1 1v4.9c-4 1.1-6.2 3.5-6.9 6.5-.2.9.5 1.9 1.5 1.9h18.9c1 0 1.8-.9 1.5-1.9-.7-3-3-5.3-7-6.5z\"}},\ndefault:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"opacity\":\".5\",\"d\":\"M44.6 32.8c2.1-2.1 4.9-3.4 8.1-3.4 4.2 0 7.9 2.3 9.9 5.7 1.7-.7 3.6-1.2 5.6-1.2C75.8 34 82 40.1 82 47.6c0 7.6-6.2 13.7-13.8 13.7-.9 0-1.8-.1-2.7-.3-1.7 3-5 5.1-8.8 5.1-1.6 0-3.1-.4-4.4-1-1.8 4-5.8 6.9-10.6 6.9-5 0-9.2-3.1-10.8-7.4-.7.1-1.4.2-2.2.2-5.9 0-10.7-4.7-10.7-10.6 0-3.9 2.1-7.4 5.3-9.2-.7-1.5-1-3.1-1-4.8 0-6.7 5.6-12.2 12.4-12.2 4.1 0 7.7 1.9 9.9 4.8\"}},\ndelegated_account:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M76.8 42.4H54.3c-2 0-2.3 2.1-2.3 2.3v34.2h26.8V45.2c.2-2.2-1.4-2.8-2-2.8zM63.4 73c0 1.1-.9 2.1-2.1 2.1h-2.1c-1.1 0-2.1-.9-2.1-2.1v-2.1c0-1.1.9-2.1 2.1-2.1h2.1c1.1 0 2.1.9 2.1 2.1V73zm0-10.5c0 1.1-.9 2.1-2.1 2.1h-2.1c-1.1 0-2.1-.9-2.1-2.1v-2.1c0-1.1.9-2.1 2.1-2.1h2.1c1.1 0 2.1.9 2.1 2.1v2.1zm0-10.5c0 1.1-.9 2.1-2.1 2.1h-2.1c-1.1 0-2.1-.9-2.1-2.1v-2.1c0-1.1.9-2.1 2.1-2.1h2.1c1.1 0 2.1.9 2.1 2.1V52zm10.3 21c0 1.1-.9 2.1-2.1 2.1h-2.1c-1.1 0-2.1-.9-2.1-2.1v-2.1c0-1.1.9-2.1 2.1-2.1h2.1c1.1 0 2.1.9 2.1 2.1V73zm0-10.5c0 1.1-.9 2.1-2.1 2.1h-2.1c-1.1 0-2.1-.9-2.1-2.1v-2.1c0-1.1.9-2.1 2.1-2.1h2.1c1.1 0 2.1.9 2.1 2.1v2.1zm0-10.5c0 1.1-.9 2.1-2.1 2.1h-2.1c-1.1 0-2.1-.9-2.1-2.1v-2.1c0-1.1.9-2.1 2.1-2.1h2.1c1.1 0 2.1.9 2.1 2.1V52z\"},{\"d\":\"M56 19.2H21.3c-2 0-2.3 2.1-2.3 2.3v57.3h26.8V38.6s0-2.5 2.3-2.5h8c.9-.1 2-.5 2-2.1V22c.1-2.2-1.4-2.8-2.1-2.8zM30.4 72.1c0 1.1-.9 2.1-2.1 2.1h-2.1c-1.1 0-2.1-.9-2.1-2.1V70c0-1.1.9-2.1 2.1-2.1h2.1c1.1 0 2.1.9 2.1 2.1v2.1zm0-10.6c0 1.1-.9 2.1-2.1 2.1h-2.1c-1.1 0-2.1-.9-2.1-2.1v-2.1c0-1.1.9-2.1 2.1-2.1h2.1c1.1 0 2.1.9 2.1 2.1v2.1zm0-10.6c0 1.1-.9 2.1-2.1 2.1h-2.1c-1.1 0-2.1-.9-2.1-2.1v-2.1c0-1.1.9-2.1 2.1-2.1h2.1c1.1 0 2.1.9 2.1 2.1v2.1zm0-10.6c0 1.1-.9 2.1-2.1 2.1h-2.1c-1.1 0-2.1-.9-2.1-2.1v-2.1c0-1.1.9-2.1 2.1-2.1h2.1c1.1 0 2.1.9 2.1 2.1v2.1zm0-10.5c0 1.1-.9 2.1-2.1 2.1h-2.1c-1.1 0-2.1-.9-2.1-2.1v-2.1c0-1.1.9-2.1 2.1-2.1h2.1c1.1 0 2.1.9 2.1 2.1v2.1zm11.3 42.3c0 1.1-.9 2.1-2.1 2.1h-2.1c-1.1 0-2.1-.9-2.1-2.1V70c0-1.1.9-2.1 2.1-2.1h2.1c1.1 0 2.1.9 2.1 2.1v2.1zm0-10.6c0 1.1-.9 2.1-2.1 2.1h-2.1c-1.1 0-2.1-.9-2.1-2.1v-2.1c0-1.1.9-2.1 2.1-2.1h2.1c1.1 0 2.1.9 2.1 2.1v2.1zm0-10.6c0 1.1-.9 2.1-2.1 2.1h-2.1c-1.1 0-2.1-.9-2.1-2.1v-2.1c0-1.1.9-2.1 2.1-2.1h2.1c1.1 0 2.1.9 2.1 2.1v2.1zm0-10.6c0 1.1-.9 2.1-2.1 2.1h-2.1c-1.1 0-2.1-.9-2.1-2.1v-2.1c0-1.1.9-2.1 2.1-2.1h2.1c1.1 0 2.1.9 2.1 2.1v2.1zm0-10.5c0 1.1-.9 2.1-2.1 2.1h-2.1c-1.1 0-2.1-.9-2.1-2.1v-2.1c0-1.1.9-2.1 2.1-2.1h2.1c1.1 0 2.1.9 2.1 2.1v2.1zm11.4 0c0 1.1-1 2.1-2.1 2.1h-2.1c-1.1 0-2.1-.9-2.1-2.1v-2.1c0-1.1.9-2.1 2.1-2.1H51c1.1 0 2.1.9 2.1 2.1v2.1zM79.5 30.5c-.6-.5-1.6-.4-2.1.2l-.8 1c-.7-6.1-5.2-8.6-8.6-9.4l.8-.5c.7-.4.9-1.4.5-2.1s-1.4-.9-2.1-.5l-4 2.6c-.4.2-.6.6-.7 1s0 .8.3 1.2l3.3 4.2c.3.4.7.6 1.2.6.3 0 .7-.1.9-.3.7-.5.8-1.5.3-2.1l-.8-1.1c2.1.5 5.4 2.2 5.9 6.8l-.7-.8c-.6-.6-1.5-.6-2.1 0s-.6 1.5 0 2.1l3.3 3.4c.3.3.7.4 1.1.4h.1c.4 0 .8-.2 1.1-.5l3.4-4.2c.4-.5.3-1.5-.3-2z\"}]}},\ndevice:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M56.59 37.92H53.3v-3.3a2.2 2.2 0 00-2.2-2.19h-2.2a2.2 2.2 0 00-2.2 2.19v3.3h-3.29a2.21 2.21 0 00-2.2 2.2v2.19a2.21 2.21 0 002.2 2.2h3.29v3.3A2.21 2.21 0 0048.9 50h2.2a2.21 2.21 0 002.2-2.2v-3.3h3.29a2.21 2.21 0 002.2-2.2v-2.18a2.21 2.21 0 00-2.2-2.2z\"},{\"d\":\"M79.6 25.33a5 5 0 00-4.93-4.93H25.33a5 5 0 00-4.93 4.93V57.4a5 5 0 004.93 4.93h49.34a5 5 0 004.93-4.93zm-7.4 27.75a1.89 1.89 0 01-1.85 1.85h-40.7a1.89 1.89 0 01-1.85-1.85V29.65a1.89 1.89 0 011.85-1.85h40.7a1.89 1.89 0 011.85 1.85zM58.63 72.2h-3.7A1.16 1.16 0 0153.7 71v-2.5a1.16 1.16 0 00-1.23-1.23h-4.94a1.16 1.16 0 00-1.23 1.23V71a1.16 1.16 0 01-1.23 1.23h-3.7a5 5 0 00-4.94 4.93v.62a1.9 1.9 0 001.85 1.85h23.44a1.9 1.9 0 001.85-1.85v-.62a5 5 0 00-4.94-4.96z\"}]}},\ndisplay_rich_text:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M22 71.8h56c1.1 0 2 .9 2 2v4c0 1.1-.9 2-2 2H22c-1.1 0-2-.9-2-2v-4c0-1.1.9-2 2-2zM22 53.8h56c1.1 0 2 .9 2 2v4c0 1.1-.9 2-2 2H22c-1.1 0-2-.9-2-2v-4c0-1.1.9-2 2-2zM57.6 35.8H78c1.1 0 2 .9 2 2v4c0 1.1-.9 2-2 2H57.6c-1.1 0-2-.9-2-2v-4c0-1.1.9-2 2-2zM47.6 44.4L38.1 21c-.2-.4-.6-.7-1.1-.7h-7.2c-.4 0-.9.3-1 .7L20 44.4c-.1.4.1 1 .7 1h4.6c.4 0 .9-.4 1-.8l1.8-5h11.1l2 5c.1.4.6.8 1 .8h4.6c.6 0 .9-.5.8-1zM30.2 33.6l2.9-7.4h.6l3.2 7.4h-6.7z\"}},\ndisplay_text:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M72.3 20.1H27.8c-4.3 0-7.8 3.5-7.8 7.8v44.3c0 4.3 3.5 7.8 7.8 7.8h44.4c4.3 0 7.8-3.5 7.8-7.8V27.9c.1-4.3-3.4-7.8-7.7-7.8zm-41.9 13c0-1.4 1.2-2.6 2.6-2.6h29.2c1.4 0 2.6 1.2 2.6 2.6v2.7c0 1.4-1.1 2.6-2.5 2.6H33c-1.4 0-2.6-1.2-2.6-2.6v-2.7zm30.8 34c0 1.4-1.1 2.6-2.5 2.6H33c-1.4 0-2.6-1.2-2.6-2.6v-2.6c0-1.4 1.2-2.6 2.6-2.6h25.6c1.4 0 2.6 1.2 2.6 2.6v2.6zm8.4-15.7c0 1.4-1.1 2.6-2.5 2.6H33c-1.4 0-2.6-1.2-2.6-2.6v-2.6c0-1.4 1.2-2.6 2.6-2.6h34c1.4 0 2.6 1.2 2.6 2.6v2.6z\"}},\ndocument:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M73 42H59c-3.3 0-6-2.7-6-6V22c0-1.1-.9-2-2-2H31c-3.3 0-6 2.7-6 6v48c0 3.3 2.7 6 6 6h38c3.3 0 6-2.7 6-6V44c0-1.1-.9-2-2-2z\"},{\"d\":\"M74.6 33.6L61.4 20.4c-.3-.3-.6-.4-1-.4-.8 0-1.4.6-1.4 1.4V32c0 2.2 1.8 4 4 4h10.6c.8 0 1.4-.6 1.4-1.4 0-.4-.1-.7-.4-1z\"}]},\ndocument_reference:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M71.4 69.89l-2.58 5.23a1.5 1.5 0 01-1.34.84h-.08a1.5 1.5 0 01-1.33-1l-3.26-8.83-1.45 3A1.51 1.51 0 0160 70h-5.53a11.12 11.12 0 0022-.1z\"},{\"d\":\"M59.07 67l2.57-5.31a1.49 1.49 0 011.43-.85 1.53 1.53 0 011.33 1l3.27 8.85 1.45-2.93a1.5 1.5 0 011.34-.84h6A11.12 11.12 0 0054.4 67z\"},{\"d\":\"M51.35 68.4a14.16 14.16 0 011.15-5.59h-12a1.7 1.7 0 01-1.7-1.7v-1.69a1.7 1.7 0 011.7-1.7h15.75a14.06 14.06 0 019.23-3.46h.44V40.83a1.69 1.69 0 00-1.69-1.69H52.35A5.11 5.11 0 0147.26 34V22.16a1.71 1.71 0 00-1.7-1.69h-17a5.1 5.1 0 00-5.09 5.09v40.73a5.1 5.1 0 005.09 5.09h23.11a14.23 14.23 0 01-.32-2.98zm6.09-19.17a1.71 1.71 0 011.7 1.7v1.7a1.71 1.71 0 01-1.7 1.69h-17a1.71 1.71 0 01-1.7-1.69v-1.7a1.7 1.7 0 011.7-1.7h17zM35.38 61.11a1.7 1.7 0 01-1.7 1.7H32a1.7 1.7 0 01-1.7-1.7v-1.69a1.7 1.7 0 011.7-1.7h1.7a1.7 1.7 0 011.7 1.7zm0-8.48a1.71 1.71 0 01-1.7 1.69H32a1.71 1.71 0 01-1.7-1.69v-1.7a1.71 1.71 0 011.7-1.7h1.7a1.71 1.71 0 011.7 1.7zM38 42.53a1.71 1.71 0 01-1.7 1.7h-1.7a1.71 1.71 0 01-1.69-1.7v-3.39h-3.4a1.71 1.71 0 01-1.7-1.7v-1.7a1.71 1.71 0 011.7-1.7h3.4v-3.39a1.7 1.7 0 011.7-1.65h1.7A1.71 1.71 0 0138 30.7V34h3.4a1.71 1.71 0 011.7 1.7v1.7a1.71 1.71 0 01-1.7 1.7H38z\"},{\"d\":\"M55.74 34h9a1.15 1.15 0 001.18-1.12v-.06a1.09 1.09 0 00-.34-.85l-11.2-11.2a1.05 1.05 0 00-.84-.34 1.16 1.16 0 00-1.19 1.13v9.06A3.39 3.39 0 0055.74 34z\"}]},\ndrafts:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M73 20H41c-3.3 0-6 2.7-6 6v1c0 .6.4 1 1 1h29c3.3 0 6 2.7 6 6v31c0 .6.4 1 1 1h1c3.3 0 6-2.7 6-6V26c0-3.3-2.7-6-6-6z\"},{\"d\":\"M59 34H27c-3.3 0-6 2.7-6 6v34c0 3.3 2.7 6 6 6h32c3.3 0 6-2.7 6-6V40c0-3.3-2.7-6-6-6zM29 44c0-1.1.9-2 2-2h20c1.1 0 2 .9 2 2v2c0 1.1-.9 2-2 2H31c-1.1 0-2-.9-2-2v-2zm24 26c0 1.1-.9 2-2 2H31c-1.1 0-2-.9-2-2v-2c0-1.1.9-2 2-2h20c1.1 0 2 .9 2 2v2zm4-12c0 1.1-.9 2-2 2H31c-1.1 0-2-.9-2-2v-2c0-1.1.9-2 2-2h24c1.1 0 2 .9 2 2v2z\"}]},\nduration_downscale:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M39.82 20H26.61C23 20 20 22.69 20 26v10c0 3.31 3 6 6.61 6h13.21c3.6 0 6.6-2.69 6.6-6V26c0-3.31-2.96-6-6.6-6zm-5.51 16h-2.2a5.27 5.27 0 01-5.5-5 5.27 5.27 0 015.5-5h2.2a5.28 5.28 0 015.51 5 5.28 5.28 0 01-5.51 5zM59.63 42h13.21c3.61 0 6.61-2.69 6.61-6V26c0-3.31-3-6-6.61-6H59.6C56 20 53 22.69 53 26v10c0 3.31 3 6 6.63 6zm5.51-16h2.2a5.27 5.27 0 015.5 5 5.27 5.27 0 01-5.5 5h-2.2a5.28 5.28 0 01-5.51-5 5.28 5.28 0 015.51-5zM39.82 48H26.61C23 48 20 50.69 20 54v10c0 3.31 3 6 6.61 6h13.21c3.6 0 6.6-2.69 6.6-6V54c0-3.31-2.96-6-6.6-6zm-5.51 16h-2.2a5 5 0 010-10h2.2a5 5 0 010 10zM79.78 67.63a1.15 1.15 0 00-.27-.27l-2.31-1.9a1.78 1.78 0 00-2.3 0L71 68.69c-.66.56-1.81.21-1.81-.63V49.4a1.6 1.6 0 00-1.62-1.4h-3.29a1.65 1.65 0 00-1.65 1.4v18.66c0 .84-1.15 1.19-1.81.63L57 65.46a1.8 1.8 0 00-2.31 0l-2.27 1.9a1.15 1.15 0 00-.29 1.6 1.33 1.33 0 00.29.29l12.35 10.33a1.78 1.78 0 002.3 0l12.44-10.33a1.17 1.17 0 00.27-1.62z\"}},\ndynamic_record_choice:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M43.5 71.4V71C34.5 68.2 28 59.9 28 50c0-12.1 9.9-22 22-22s22 9.9 22 22c0 2-.3 4-.8 5.9l.9.6c.4 0 .7-.1 1.1-.1 2 0 4 .6 5.6 1.5.7-2.5 1.1-5.2 1.1-8 0-16.5-13.5-30-30-30s-30 13.5-30 30c0 15.9 12.4 28.9 28 29.9-2.6-1.8-4.4-4.9-4.4-8.4z\"},{\"d\":\"M56.7 53.5c1.9 0 3.7.5 5.3 1.3l1.2-.3c.5-1.4.8-2.9.8-4.5 0-7.7-6.2-13.9-13.9-13.9S36.2 42.3 36.2 50c0 6.2 4 11.4 9.6 13.3.6-5.6 5.2-9.8 10.9-9.8z\"},{\"d\":\"M61.6 60.8c1-1 2.4-1.7 4-1.7 2.1 0 3.9 1.1 4.9 2.8.8-.3 1.8-.6 2.8-.6 3.7 0 6.8 3.1 6.8 6.7 0 3.7-3.1 6.7-6.8 6.7-.4 0-.9 0-1.3-.1-.8 1.5-2.5 2.5-4.3 2.5-.8 0-1.5-.2-2.2-.5-.9 2-2.9 3.4-5.2 3.4-2.5 0-4.5-1.5-5.3-3.6-.3 0-.7.1-1.1.1-2.9 0-5.3-2.3-5.3-5.2 0-1.9 1-3.6 2.6-4.5-.3-.7-.5-1.5-.5-2.4 0-3.3 2.8-6 6.1-6 1.9.1 3.7 1 4.8 2.4z\"}]},\neducation:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M49.9 51.1c-1.5.1-2.9-.5-4.4-1-7.9-2.6-15.8-5.2-23.6-7.9-.5-.2-.9-.4-1.3-.7-.5-.4-.5-.9 0-1.3.4-.3.9-.6 1.4-.7 8.4-2.5 16.8-5 25.2-7.6 1.9-.6 3.8-.6 5.8 0 8.3 2.5 16.7 5 25 7.5.5.2 1 .4 1.5.7.6.4.6 1 0 1.4-.4.3-.8.5-1.2.6-8.3 2.8-16.7 5.6-25.1 8.3-1.1.5-2.1.7-3.3.7zM33.3 51.5c-1.2-.3-1.5.5-1.5 1.1v9.5c0 1.1.4 1.8 1.1 2.5.3.3.6.5.9.7 2 1.4 4.3 2.3 6.7 2.9 4.7 1.3 9.5 1.5 14.3.9 3.1-.4 6.2-1.2 9.1-2.5 1.3-.6 2.5-1.3 3.4-2.3.6-.6.9-1.2.8-2.1.1-3 .1-6.1.1-9.2 0-1.7-1.2-1.5-1.7-1.4-4.4 1.5-8.9 2.9-13.3 4.4-2.2.7-4.3.7-6.5 0l-13.4-4.5zM74.9 48.6c-.4.1-.5.3-.5.7v8.4c0 .3-.1.6-.2.9-.6 1.5-1.3 3-1.8 4.5-.5 1.4-.2 2.8.8 3.9.3.4.7.7 1.1 1 .4.3 1 .5 1.5.6.9.1 1.6-.4 2.2-.9l.9-.9c.7-.9.9-2.2.6-3.4-.4-1.7-1.1-3.2-1.9-4.7-.2-.3-.3-.7-.3-1v-9.2c0-.6-.5-.5-.7-.4l-1.7.5z\"}}},\neinstein_replies:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M50 22.4c-16.7 0-30 12.3-30 27.4 0 4.8 1.4 9.3 3.6 13.3.4.6.5 1.4.3 2.1L20 75.9c-.4 1 .6 1.9 1.6 1.6l10.9-4.1c.6-.3 1.4-.1 2.1.3 4.5 2.5 9.9 4 15.7 4 16.4-.2 29.8-12.3 29.8-27.6C80 34.6 66.6 22.4 50 22.4zm13.3 24.5l-7 5.2c-.3.2-.4.6-.3 1l3.3 8.8c.2.8-.6 1.5-1.3 1l-7.5-5.6c-.3-.2-.7-.2-1 0l-7.6 5.6c-.7.5-1.6-.2-1.3-1l3.2-8.8c.1-.3 0-.7-.3-1l-7-5.2c-.7-.5-.3-1.7.5-1.7h8.6c.4 0 .7-.1.8-.5l2.7-8.7c.2-.8 1.4-.7 1.6.1l2.6 8.6c.1.3.5.5.8.5h8.6c1 0 1.3 1.2.6 1.7z\"}},\nemail:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M48.7 55c.8.7 1.9.7 2.7 0l28.3-26.2c.5-1 .4-2.6-1.6-2.6l-56 .1c-1.5 0-2.7 1.4-1.6 2.6L48.7 55z\"},{\"d\":\"M80 40c0-1.3-1.6-2-2.5-1.1l-22 20.4c-1.5 1.4-3.4 2.1-5.4 2.1s-3.9-.7-5.4-2.1L22.6 38.9c-1-.9-2.5-.2-2.5 1.1v26c0 3.3 2.7 6 6 6h48c3.3 0 6-2.7 6-6-.1 0-.1-18-.1-26z\"}]},\nemail_chatter:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M48.7 55c.8.7 1.9.7 2.7 0l28.3-26.2c.5-1 .4-2.6-1.6-2.6l-56 .1c-1.5 0-2.7 1.4-1.6 2.6L48.7 55z\"},{\"d\":\"M80 40c0-1.3-1.6-2-2.5-1.1l-22 20.4c-1.5 1.4-3.4 2.1-5.4 2.1s-3.9-.7-5.4-2.1L22.6 38.9c-1-.9-2.5-.2-2.5 1.1v26c0 3.3 2.7 6 6 6h48c3.3 0 6-2.7 6-6-.1 0-.1-18-.1-26z\"}]},\nemployee:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M72.1 46.7c-3-13.8-17.7-23.9-20.6-25.9-.1-.1-.2-.1-.4-.2a3.31 3.31 0 00-2.4 0c-.1 0-.1.1-.2.1-2.9 1.9-17.5 12-20.6 25.8a22.18 22.18 0 004.4 19.1 24.46 24.46 0 0014.7 9l-1.5 2.6a2.48 2.48 0 000 1.7 1.72 1.72 0 001.5.9h6.1a2 2 0 001.5-.9 2.48 2.48 0 000-1.7l-1.5-2.6a24 24 0 0014.7-9 22.33 22.33 0 004.3-18.9zm-8.3 15.7c-.5.6-1.1 1.2-1.7 1.9a13 13 0 00-12-8h-.4a12.29 12.29 0 00-11.7 8c-.6-.6-1.1-1.2-1.7-1.9a17.38 17.38 0 01-3.5-14.7C35.2 37.1 46.1 28.5 50 25.9c3.9 2.7 14.8 11.3 17.2 21.9a16.56 16.56 0 01-3.4 14.6z\"},\"circle\":{\"cx\":\"50\",\"cy\":\"46.3\",\"r\":\"8.4\"}},\nemployee_asset:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M74.8 20.3H25.2a5 5 0 00-5 5v34.3a5 5 0 005 5h49.5a5 5 0 005-5V25.2a4.91 4.91 0 00-4.9-4.9zm-2.5 34.9a2 2 0 01-1.9 1.9H29.6a1.9 1.9 0 01-1.9-1.9V29.6a2 2 0 011.9-1.9h40.7a2 2 0 012 1.9zM41.3 72.3a5 5 0 00-5 5v.6a2 2 0 001.9 1.9h23.5a2 2 0 001.9-1.9v-.6a5 5 0 00-5-5z\"},{\"d\":\"M50.2 44.4h-.4a8.83 8.83 0 00-8.7 7.5c0 .4.1 1.2 1.5 1.2h14.9c1.4 0 1.5-.9 1.5-1.2a9 9 0 00-8.8-7.5z\"}],\"circle\":{\"cx\":\"50.1\",\"cy\":\"37.6\",\"r\":\"5.8\"}},\nemployee_contact:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M73.8 29.7H26.3a6 6 0 00-6 6v28.6a6 6 0 006 6h47.4a6 6 0 006-6V35.7a6.13 6.13 0 00-5.9-6zm-34.9 5.4a7.6 7.6 0 11-7.6 7.6 7.66 7.66 0 017.6-7.6zm9.8 28.3H29.2c-1.7 0-2-1.1-2-1.6a11.45 11.45 0 0111.4-9.9h.4a11.45 11.45 0 0111.4 9.9c.3.5 0 1.6-1.7 1.6zm23.1-6.9a2 2 0 01-2 2H61a2 2 0 01-2-2v-3a2 2 0 012-2h8.8a2 2 0 012 2zm0-11a2 2 0 01-2 2H55a2 2 0 01-2-2v-3a2 2 0 012-2h14.8a2 2 0 012 2z\"}},\nemployee_job:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"circle\":{\"cx\":\"44.6\",\"cy\":\"36.3\",\"r\":\"16\"},\"path\":{\"d\":\"M48.8 79.6c2.7 0 1.2-1.9 1.2-1.9a19.58 19.58 0 01-2.5-20.1l.2-.4a1.17 1.17 0 00-.9-1.9 18.48 18.48 0 00-2.4-.1 24.26 24.26 0 00-24 20.9c0 1.2.4 3.5 4.2 3.5h24.2zM65.2 51.2a14.2 14.2 0 1014.2 14.2 14.25 14.25 0 00-14.2-14.2zM60.4 74a3.5 3.5 0 113.5-3.5 3.54 3.54 0 01-3.5 3.5zm3.5-11.9a1.27 1.27 0 01-.4.7l-2.7 1.5a.48.48 0 01-.7 0l-2.7-1.5a1 1 0 01-.4-.7V59a1 1 0 01.4-.7l2.7-1.5a.48.48 0 01.7 0l2.7 1.5a1 1 0 01.4.7zm2.6-4.3a.68.68 0 01.7-.7h5.2a.68.68 0 01.7.7V63a.68.68 0 01-.7.7h-5.1a.68.68 0 01-.7-.7l-.1-5.2zM73.4 71l-3.1 3.2a.48.48 0 01-.7 0L66.5 71a.48.48 0 010-.7l3.1-3.2a.48.48 0 01.7 0l3.1 3.2a.48.48 0 010 .7z\"}},\nemployee_job_position:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M65.3 51.5a14.25 14.25 0 1014.2 14.3 14.32 14.32 0 00-14.2-14.3zM67.8 67a3.09 3.09 0 01-1.1-.2l-5.4 5.4a1.71 1.71 0 01-1.1.5c-.5 0-.9-.1-1.1-.5a1.82 1.82 0 010-2.4l5.4-5.4a4.47 4.47 0 014-5.8 3.09 3.09 0 011.1.2c.2 0 .2.2.1.4l-2.5 2.4a.37.37 0 000 .6l1.6 1.6a.48.48 0 00.7 0l2.4-2.4c.1-.1.5-.1.5.1a6.53 6.53 0 01.2 1.1 4.47 4.47 0 01-4.8 4.4z\"},{\"d\":\"M48.9 79.7c2.7 0 1.2-1.9 1.2-1.9a19.58 19.58 0 01-2.5-20.1l.2-.4a1.17 1.17 0 00-.9-1.9 18.48 18.48 0 00-2.4-.1 24.54 24.54 0 00-24.2 21c0 1.2.4 3.5 4.2 3.5h23.9a1.75 1.75 0 01.5-.1z\"}],\"circle\":{\"cx\":\"44.6\",\"cy\":\"36.1\",\"r\":\"16.1\"}},\nemployee_organization:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"circle\":{\"cx\":\"63.3\",\"cy\":\"47.6\",\"r\":\"10.7\"},\"path\":{\"d\":\"M63.6 60.3h-.8a16.43 16.43 0 00-16.1 13.9c0 .7.2 2.4 2.7 2.4h27.2c2.5 0 2.7-1.5 2.7-2.4a15.65 15.65 0 00-15.7-13.9zM48.6 58.3c.4-.4.1-.7.1-.7a17.94 17.94 0 01-3.1-10 17.18 17.18 0 013.2-10.2.1.1 0 01.1-.1 1.76 1.76 0 00.4-1.1V25.4a2.15 2.15 0 00-2-2H22.5a2.18 2.18 0 00-2 2.1v46.2H40a24.12 24.12 0 018.6-13.4zm-17 7.7a2.18 2.18 0 01-2.1 2.1h-2.1a2.18 2.18 0 01-2.1-2.1v-2.1a2.18 2.18 0 012.1-2.1h2.1a2.18 2.18 0 012.1 2.1zm0-10.5a2.18 2.18 0 01-2.1 2.1h-2.1a2.18 2.18 0 01-2.1-2.1v-2.1a2.18 2.18 0 012.1-2.1h2.1a2.18 2.18 0 012.1 2.1zm0-10.5a2.18 2.18 0 01-2.1 2.1h-2.1a2.18 2.18 0 01-2.1-2.1v-2.1a2.18 2.18 0 012.1-2.1h2.1a2.18 2.18 0 012.1 2.1zm0-10.5a2.18 2.18 0 01-2.1 2.1h-2.1a2.18 2.18 0 01-2.1-2.1v-2.1a2.18 2.18 0 012.1-2.1h2.1a2.18 2.18 0 012.1 2.1zm11.9 21a2.18 2.18 0 01-2.1 2.1h-2.1a2.18 2.18 0 01-2.1-2.1v-2.1a2.18 2.18 0 012.1-2.1h2.1a2.18 2.18 0 012.1 2.1zm0-10.5a2.18 2.18 0 01-2.1 2.1h-2.1a2.18 2.18 0 01-2.1-2.1v-2.1a2.18 2.18 0 012.1-2.1h2.1a2.18 2.18 0 012.1 2.1zm0-10.5a2.18 2.18 0 01-2.1 2.1h-2.1a2.18 2.18 0 01-2.1-2.1v-2.1a2.18 2.18 0 012.1-2.1h2.1a2.18 2.18 0 012.1 2.1z\"}},\nempty:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"opacity\":\".5\",\"d\":\"M72 78H28c-3.3 0-6-2.7-6-6V28c0-3.3 2.7-6 6-6h44c3.3 0 6 2.7 6 6v44c0 3.3-2.7 6-6 6zM28 30v40c0 1.1.9 2 2 2h40c1.1 0 2-.9 2-2V30c0-1.1-.9-2-2-2H30c-1.1 0-2 .9-2 2z\"}},\nendorsement:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M27.9 42H22c-1.1 0-2 .9-2 2v32.3c0 1.1.9 1.7 2 1.7h2c3.3 0 6-2.7 6-6V44.1c0-1.2-.9-2.1-2.1-2.1zM72 43h-6c-3.3 0-6-2.7-6-6V25c0-3.3-2.7-6-6-6h-4c-1.1 0-2 .9-2 2v8c0 7-3.6 14-10 14-1.1 0-2 .9-2 2v28c0 1.1.8 1.9 1.9 2 8.9.5 14.8 3.9 24.1 3.9 10 0 18-3.2 18-12.7V51c0-4.4-3.6-8-8-8z\"}},\nentitlement:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M71.9 19.9H35.2c-3.7 0-6.9 3.4-6.9 6.9H26c-2.6 0-4.6 2.1-4.6 4.7s2 4.6 4.6 4.6h2.3v9.3H26c-2.6 0-4.6 2-4.6 4.6s2 4.6 4.6 4.6h2.3v9.3H26c-2.6 0-4.6 2.1-4.6 4.6 0 2.6 2 4.6 4.6 4.6h2.3c0 4.6 3.2 6.9 6.9 6.9h36.7c3.7 0 6.9-3.2 6.9-6.9V26.8c-.1-3.7-3.2-6.9-6.9-6.9zM68.1 70c0 1.1-.9 2-2 2H40c-1.1 0-2-.9-2-2v-2c0-1.1.9-2 2-2h26.1c1.1 0 2 .9 2 2v2zM40 50.3l2.1-2.1c.6-.6 1.5-.6 2.1 0l5.2 5.1 12.8-12.7c.6-.6 1.5-.6 2.1 0l2.1 2.1c.5.6.5 1.6 0 2.1l-15 14.8c-.6.6-1.3.8-2.1.8s-1.5-.2-2.1-.8L40 52.4c-.7-.6-.7-1.5 0-2.1zm28.1-17.9c0 1.1-.9 2-2 2H40c-1.1 0-2-.9-2-2v-2c0-1.1.9-2 2-2h26.1c1.1 0 2 .9 2 2v2z\"}},\nentitlement_policy:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M25.4 34.9H36c2.2 0 4-1.8 4-4V20.3c0-.8-.6-1.4-1.4-1.4-.4 0-.7.1-1 .4L24.4 32.5c-.3.3-.4.6-.4 1 0 .8.6 1.4 1.4 1.4z\"},{\"d\":\"M46.4 78.8l4.7-6.4 4.3-5.8c-.1-.4-.1-.7-.2-1v-.1c-.7-.9-1.9-2.5-1.9-4.8s1.2-3.9 1.8-4.8c.1-1 .4-3.1 2.2-4.8 1.6-1.5 3.5-1.8 4.5-2h.1c.9-.7 2.5-1.9 4.8-1.9s3.9 1.2 4.8 1.8c.6.1 1.5.2 2.5.6V24.9c0-3.3-2.7-6-6-6H48c-1.1 0-2 .9-2 2v14c0 3.3-2.7 6-6 6H26c-1.1 0-2 .9-2 2v30c0 3.3 2.7 6 6 6h16.3l.1-.1z\"}]},\"path\":{\"d\":\"M65.2 71.5L60 78.9l-1.3-3.5h-3.5l4.5-6.1c.9.5 1.8.6 2.5.8.2.1.5.1.6.1.1.1.3.2.5.3.4.3 1 .7 1.9 1zm8.4-2.3c-.9.5-1.8.6-2.5.8-.2.1-.5.1-.7.1-.1.1-.3.2-.5.3-.5.3-1.1.9-1.9 1.2l5.2 7.3 1.3-3.5H78l-4.4-6.2zm-7-11.6c-1.7 0-3.1 1.4-3.1 3.1s1.4 3.1 3.1 3.1c1.7 0 3.1-1.4 3.1-3.1s-1.4-3.1-3.1-3.1zm8.5 3.1c0 1.1-1.2 1.9-1.5 2.8-.4 1-.2 2.4-.9 3.1-.7.7-2.1.5-3.1.9-.9.4-1.8 1.5-2.8 1.5s-1.9-1.2-2.8-1.5c-1-.4-2.4-.2-3.1-.9-.7-.7-.5-2.1-.9-3.1-.4-.9-1.5-1.8-1.5-2.8s1.2-1.9 1.5-2.8c.4-1 .2-2.4.9-3.1.7-.7 2.1-.5 3.1-.9.9-.4 1.8-1.5 2.8-1.5s1.9 1.2 2.8 1.5c1 .4 2.4.2 3.1.9.7.7.5 2.1.9 3.1.3 1 1.5 1.8 1.5 2.8zm-2.7 0c0-3.2-2.5-5.8-5.8-5.8-3.2 0-5.8 2.5-5.8 5.8s2.5 5.8 5.8 5.8 5.8-2.6 5.8-5.8z\"}},\nentitlement_process:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M56 79.6V63.1l9.4-10.4h13.3v20c-.1 3.8-3.1 6.8-6.9 6.9H56z\"},{\"d\":\"M50 79.6H35.2c-3.7 0-6.9-2.3-6.9-6.9H26c-2.5 0-4.6-2-4.6-4.5v-.1c0-2.5 2.1-4.6 4.6-4.6h2.3v-9.3H26c-2.5 0-4.6-2.1-4.6-4.6 0-2.5 2.1-4.6 4.6-4.6h2.3v-9.3H26c-2.5 0-4.6-2-4.6-4.5v-.1c0-2.5 2-4.6 4.5-4.7h2.4c.2-3.7 3.2-6.7 6.9-6.9h36.6c3.8.1 6.8 3.1 6.9 6.9v20.2H65L54.3 34.8c-.8-.8-2.2-.8-3 0L39 48.3c-.7.8-.7 2 0 2.8L49.8 63s.1 16.6.2 16.6z\"}]},\nentitlement_template:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M70.5 19.5H33.8c-3.7.1-6.8 3.2-6.9 6.9h-2.3c-2.5 0-4.6 2.1-4.6 4.6v.1c0 2.5 2 4.6 4.5 4.6h2.4V45h-2.3c-2.5 0-4.6 2.1-4.6 4.6 0 2.5 2.1 4.6 4.6 4.6h2.3v9.3h-2.3c-2.5 0-4.6 2-4.6 4.6 0 2.5 2 4.6 4.5 4.6h2.4c0 4.6 3.2 6.9 6.9 6.9h36.7c3.8-.1 6.8-3.1 6.9-6.9V26.4c-.1-3.8-3.1-6.8-6.9-6.9zm-3.3 45.1H36.7v-30h30.5v30z\"},{\"d\":\"M42 45.1h19.9c.4 0 .8-.3.8-.7v-4.6c0-.4-.3-.8-.7-.8H42c-.4 0-.8.3-.8.7v4.6c0 .4.3.8.7.8h.1zM42 60.1h4.6c.4 0 .8-.3.8-.7v-9.1c0-.4-.3-.8-.7-.8H42c-.4 0-.8.3-.8.7v9.1c0 .4.3.8.7.8h.1zM61.8 49.6h-9.2c-.4 0-.8.3-.8.7v9.1c0 .4.3.8.7.8H61.8c.4 0 .8-.3.8-.7v-9.1c0-.4-.3-.8-.7-.8h-.1z\"}]},\nentity:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M74.4 28.7c0-4.8-10.9-8.7-24.4-8.7s-24.4 3.9-24.4 8.7v3c0 4.8 10.9 8.7 24.4 8.7s24.4-3.9 24.4-8.7v-3zm-48.8 10c0 3.8 10.9 6.8 24.4 6.8s24.4-3 24.4-6.8v6.2c0 4.8-10.9 8.7-24.4 8.7s-24.4-3.9-24.4-8.7v-6.2zm0 0c0 3.8 10.9 6.8 24.4 6.8s24.4-3 24.4-6.8v6.2c0 4.8-10.9 8.7-24.4 8.7s-24.4-3.9-24.4-8.7v-6.2zm0 13.2c0 3.8 10.9 6.8 24.4 6.8s24.4-3 24.4-6.8V58c0 4.8-10.9 8.7-24.4 8.7s-24.4-3.8-24.4-8.5v-6.3zm0 13.3c0 3.8 11 6.8 24.4 6.8s24.4-3 24.4-6.8v6.2c0 4.8-10.9 8.7-24.4 8.7s-24.4-3.9-24.4-8.7v-6.2z\"}},\nentity_milestone:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M74.2 32.9L53.1 21.1c-2-1.1-4.4-1.1-6.4 0L25.6 33c-2 1.1-3.2 3.2-3.2 5.4v23.7c.1 2.2 1.3 4.2 3.2 5.4l21.1 11.9c2 1.1 4.4 1.1 6.4 0l21.1-11.9c2-1.1 3.2-3.2 3.1-5.4V38.3c0-2.2-1.2-4.3-3.1-5.4zm-33.4 7.6v25c0 1.2-.9 2.1-2.1 2.2-1.2 0-2.1-1-2.1-2.2v-25c-.7-.7-1.1-1.6-1.1-2.5 0-1.8 1.5-3.2 3.3-3.1s3.2 1.5 3.1 3.3c0 .9-.4 1.7-1.1 2.3zm25.7 15.7c0 .4-.2.7-.5.9-8.3 4.6-12.9-2.8-20.5-.4-.6.2-1.2-.1-1.4-.7V41.5c0-.4.3-.8.7-1 7.9-3 12.5 4.8 20.9.3.3-.1.6 0 .7.2 0 .1.1.2.1.3v14.9z\"}},\nenvironment_hub:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M43.1 47c.4-4.2 1.6-8.3 3.6-11.8 3.3-5.7 8.6-9 15.8-9.2 1.2-3.5 4.6-6 8.5-6 5 0 9 4 9 9s-4 9-9 9c-3.9 0-7.2-2.5-8.5-6-8.1.3-12.5 6.6-13.4 15h13.4c1.2-3.5 4.6-6 8.5-6 5 0 9 4 9 9s-4 9-9 9c-3.9 0-7.3-2.5-8.5-6H49.1c.7 9 4.9 15.1 13.4 15 1.2-3.5 4.6-6 8.5-6 5 0 9 4 9 9s-4 9-9 9c-3.9 0-7.3-2.5-8.5-6-7.4.1-12.8-3.3-16.1-9.1-1.9-3.5-3-7.6-3.3-11.9h-5.6c-1.2 3.5-4.6 6-8.5 6-5 0-9-4-9-9s4-9 9-9c3.9 0 7.3 2.5 8.5 6h5.6zM71 32c1.7 0 3-1.3 3-3s-1.3-3-3-3-3 1.3-3 3 1.3 3 3 3zm0 42c1.7 0 3-1.3 3-3s-1.3-3-3-3-3 1.3-3 3 1.3 3 3 3zm0-21c1.7 0 3-1.3 3-3s-1.3-3-3-3-3 1.3-3 3 1.3 3 3 3zm-42 0c1.7 0 3-1.3 3-3s-1.3-3-3-3-3 1.3-3 3 1.3 3 3 3z\"}},\nevent:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M76 42H24c-1.1 0-2 .9-2 2v30c0 3.3 2.7 6 6 6h44c3.3 0 6-2.7 6-6V44c0-1.1-.9-2-2-2zM40 70c0 1.1-.9 2-2 2h-4c-1.1 0-2-.9-2-2v-4c0-1.1.9-2 2-2h4c1.1 0 2 .9 2 2v4zm0-14c0 1.1-.9 2-2 2h-4c-1.1 0-2-.9-2-2v-4c0-1.1.9-2 2-2h4c1.1 0 2 .9 2 2v4zm14 14c0 1.1-.9 2-2 2h-4c-1.1 0-2-.9-2-2v-4c0-1.1.9-2 2-2h4c1.1 0 2 .9 2 2v4zm0-14c0 1.1-.9 2-2 2h-4c-1.1 0-2-.9-2-2v-4c0-1.1.9-2 2-2h4c1.1 0 2 .9 2 2v4zm14 14c0 1.1-.9 2-2 2h-4c-1.1 0-2-.9-2-2v-4c0-1.1.9-2 2-2h4c1.1 0 2 .9 2 2v4zm0-14c0 1.1-.9 2-2 2h-4c-1.1 0-2-.9-2-2v-4c0-1.1.9-2 2-2h4c1.1 0 2 .9 2 2v4zM72 26h-5v-2c0-2.2-1.8-4-4-4s-4 1.8-4 4v2H41v-2c0-2.2-1.8-4-4-4s-4 1.8-4 4v2h-5c-3.3 0-6 2.7-6 6v2c0 1.1.9 2 2 2h52c1.1 0 2-.9 2-2v-2c0-3.3-2.7-6-6-6z\"}},\nevents:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M71.4 28.6C65.9 23.1 58.6 20 50.9 20c-1.7 0-3 1.3-3 3s1.3 3 3 3c6.1 0 11.9 2.4 16.3 6.7C71.5 37.2 74 43 74 49.1c0 1.7 1.3 3 3 3s3-1.3 3-3c0-7.7-3-15-8.6-20.5zm-20.5 3.5c-1.7 0-3 1.3-3 3s1.3 3 3 3c2.9 0 5.7 1.1 7.8 3.2 2.1 2.1 3.2 4.8 3.2 7.8 0 1.7 1.3 3 3 3s3-1.3 3-3c0-4.5-1.8-8.8-5-12s-7.5-5-12-5zm-4.3 28.7l2.6-7c1.8.7 3.8.3 5.3-1.1 2-2 2-5.1 0-7.1s-5.1-2-7.1 0c-1.5 1.5-1.8 3.7-1 5.6l-6.5 2.9-11.7-11.7c-.8-.8-2.2-.8-2.9.1-7.5 9-7 22.4 1.5 30.9 8.4 8.4 21.8 8.9 30.9 1.5.9-.7.9-2.1.1-2.9L46.6 60.8z\"}},\nexpense:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M75 23.8H25a4.59 4.59 0 00-4.6 4.6V74a1.12 1.12 0 001.9.8l4.1-4.1a1 1 0 011.6 0l5.2 5.2a1 1 0 001.6 0l4.1-4.1a1 1 0 011.6 0l4.1 4.1a1 1 0 001.6 0l4.1-4.1a1 1 0 011.6 0l4.1 4.1a1 1 0 001.6 0l4.1-4.1a1 1 0 011.6 0l4.1 4.1a1 1 0 001.6 0l4.1-4.1a1 1 0 011.6 0l3 3a1.12 1.12 0 001.9-.8V28.3a4.5 4.5 0 00-4.6-4.5zM53 50.4v1.1a5.45 5.45 0 01-3.1 1 5.6 5.6 0 010-11.2 5.59 5.59 0 015.6 5.2 4.48 4.48 0 00-2.5 3.9zm15 14.1a1.52 1.52 0 01-1.5 1.4h-9a1.43 1.43 0 01-1.4-1.4v-1.4a1.43 1.43 0 011.4-1.4h9.1a1.43 1.43 0 011.4 1.4zm0-6.3a1.52 1.52 0 01-1.5 1.4h-9a1.43 1.43 0 01-1.4-1.4v-1.4a1.43 1.43 0 011.4-1.4h9.1a1.43 1.43 0 011.4 1.4zm0-6.4a1.52 1.52 0 01-1.5 1.4h-9a1.43 1.43 0 01-1.4-1.4v-1.4a1.43 1.43 0 011.4-1.4h9.1a1.43 1.43 0 011.4 1.4zm.1-5.7a3.4 3.4 0 00-1.4-.2h-2.9v-3a4 4 0 01-4-4H40a4 4 0 01-4 4v8.4a4 4 0 014 4h13.2a3.4 3.4 0 00-.2 1.4v1.4a6.64 6.64 0 00.3 1.5h-18a3.37 3.37 0 01-3.4-3.4V38.1a3.37 3.37 0 013.4-3.4h29.4a3.37 3.37 0 013.4 3.4z\"}},\nexpense_report:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M39.3 32.1h21.4a2 2 0 002-2v-4a6 6 0 00-5.8-6H43.3a5.91 5.91 0 00-5.8 6v4a1.74 1.74 0 001.8 2z\"},{\"d\":\"M71.4 25.2h-2a.94.94 0 00-1 1v4a7.9 7.9 0 01-7.8 7.9H39.3a7.9 7.9 0 01-7.8-7.9v-4a.94.94 0 00-1-1h-2a5.91 5.91 0 00-5.8 6v42.6a6 6 0 005.8 6h42.9a5.91 5.91 0 005.8-6V31.2a5.79 5.79 0 00-5.8-6zM53 59.4v1.1a5.45 5.45 0 01-3.1 1 5.6 5.6 0 010-11.2 5.59 5.59 0 015.6 5.2 4.48 4.48 0 00-2.5 3.9zm15 14.1a1.52 1.52 0 01-1.5 1.4h-9a1.43 1.43 0 01-1.4-1.4v-1.4a1.43 1.43 0 011.4-1.4h9.1a1.43 1.43 0 011.4 1.4zm0-6.3a1.52 1.52 0 01-1.5 1.4h-9a1.43 1.43 0 01-1.4-1.4v-1.4a1.43 1.43 0 011.4-1.4h9.1a1.43 1.43 0 011.4 1.4zm0-6.4a1.52 1.52 0 01-1.5 1.4h-9a1.43 1.43 0 01-1.4-1.4v-1.4a1.43 1.43 0 011.4-1.4h9.1a1.43 1.43 0 011.4 1.4zm.1-5.7a3.4 3.4 0 00-1.4-.2h-2.9v-3a4 4 0 01-4-4H40a4 4 0 01-4 4v8.4a4 4 0 014 4h13.2a3.4 3.4 0 00-.2 1.4v1.4a6.64 6.64 0 00.3 1.5h-18a3.37 3.37 0 01-3.4-3.4V47.1a3.37 3.37 0 013.4-3.4h29.4a3.37 3.37 0 013.4 3.4z\"}]},\nexpense_report_entry:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M37 31.6h20.4a1.84 1.84 0 001.9-1.9v-3.8a5.66 5.66 0 00-5.5-5.7h-13a5.59 5.59 0 00-5.5 5.7v3.8a1.74 1.74 0 001.7 1.9zM67.3 54.5A12.7 12.7 0 1080 67.2a12.72 12.72 0 00-12.7-12.7zm8.2 9.2L66.2 73a1.94 1.94 0 01-2.6 0L59 68.4a.85.85 0 010-1.3l1.3-1.3a.85.85 0 011.3 0l3.2 3.2 8.1-8.1a.85.85 0 011.3 0l1.3 1.3c.7.6.2 1.2 0 1.5z\"},{\"d\":\"M59.8 52.3a3.91 3.91 0 01-2.7-3.8H37.3a4 4 0 01-4 4V61a4 4 0 014 4h13.6a16.74 16.74 0 018.9-12.7zm-12.6 9.6a5.4 5.4 0 115.4-5.4 5.38 5.38 0 01-5.4 5.4z\"},{\"d\":\"M67.6 25h-1.9a.84.84 0 00-.9.9v3.8a7.56 7.56 0 01-7.4 7.6H37a7.49 7.49 0 01-7.4-7.6v-3.8a.84.84 0 00-.9-.9h-1.9a5.59 5.59 0 00-5.5 5.7v40.6a5.66 5.66 0 005.5 5.7H54a17 17 0 01-3.1-7.7H32.6a3.37 3.37 0 01-3.4-3.4V47.8a3.37 3.37 0 013.4-3.4H62a3.37 3.37 0 013.4 3.4v2.9a13.4 13.4 0 012-.1 15.75 15.75 0 015.8 1.1v-21a5.74 5.74 0 00-5.6-5.7z\"}]},\nfeed:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M49 72c-.4 0-.9-.1-1.4-.4-.8-.4-1.4-1.3-1.6-2.2l-7.8-31.2-6.5 14.9c-.4 1.2-1.5 1.9-2.7 1.9h-9c-1.1 0-2-.9-2-2v-2c0-1.1.9-2 2-2h7l9.2-21.2c.5-1.2 1.7-1.9 3-1.8 1.3.1 2.4 1 2.7 2.3l7.9 31.6 10.4-23.1c.5-1.2 1.7-1.9 3-1.8 1.1.1 2.1.9 2.6 2L71 49h9c1.1 0 2 .9 2 2v2c0 1.1-.9 2-2 2H69c-1.2 0-2.3-.7-2.8-1.8l-3.3-7.7-11.2 24.7c-.5 1.1-1.5 1.8-2.7 1.8z\"}},\nfeedback:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M79.1 56.5c-.1-.4-.1-.9.2-1.2C81 52.2 82 48.7 82 45c0-11.6-9.9-21-22-21-5.2 0-10 1.8-13.8 4.7C58.7 31.4 68 42.2 68 55c0 3.6-.7 7.1-2.1 10.2 2-.5 3.9-1.3 5.7-2.4.4-.2.8-.3 1.2-.1l6.4 2.3c1.1.4 2.2-.7 1.9-1.9l-2-6.6z\"},{\"d\":\"M40 34c-12.1 0-22 9.4-22 21 0 3.7 1 7.2 2.8 10.3.2.4.3.8.2 1.2l-2.1 6.7c-.4 1.2.7 2.3 1.9 1.9l6.4-2.3c.4-.1.9-.1 1.2.1 3.4 2 7.3 3.1 11.6 3.1 12.1 0 22-9.4 22-21s-9.9-21-22-21zM28 59c-2.2 0-4-1.8-4-4s1.8-4 4-4 4 1.8 4 4-1.8 4-4 4zm12 0c-2.2 0-4-1.8-4-4s1.8-4 4-4 4 1.8 4 4-1.8 4-4 4zm12 0c-2.2 0-4-1.8-4-4s1.8-4 4-4 4 1.8 4 4-1.8 4-4 4z\"}]},\nfile:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M29 63V31c-3.3 0-6 2.7-6 6v38c0 3.3 2.7 6 6 6h30c3.3 0 6-2.7 6-6H41c-6.6 0-12 0-12-12z\"},{\"d\":\"M75 37H65c-3.3 0-6-2.7-6-6V21c0-1.1-.9-2-2-2H41c-3.3 0-6 2.7-6 6v38c0 3.3 2.7 6 6 6h30c3.3 0 6-2.7 6-6V39c0-1.1-.9-2-2-2z\"},{\"d\":\"M76.6 28.6l-9.2-9.2c-.3-.3-.6-.4-1-.4-.8 0-1.4.6-1.4 1.4V27c0 2.2 1.8 4 4 4h6.6c.8 0 1.4-.6 1.4-1.4 0-.4-.1-.7-.4-1z\"}]}},\nfiliter_criteria_rule:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M51.75 20a2 2 0 012 2v14A4.86 4.86 0 0059 41.25h14a2 2 0 012 2V74a6.08 6.08 0 01-6 6H31a6.08 6.08 0 01-6-6V26a6.08 6.08 0 016-6h20.75zm9.4 30h-22.3a.86.86 0 00-.65 1.41l9.74 11.39a2.08 2.08 0 01.45 1.31v7.23a.82.82 0 00.81.75h1.5a.73.73 0 00.71-.75v-7.23A1.84 1.84 0 0152 62.8l9.8-11.39a.86.86 0 00-.65-1.41zm-.9-30a1.74 1.74 0 011.13.38l13.24 13.24a1.74 1.74 0 01.38 1.13 1.5 1.5 0 01-1.38 1.5H63A4.38 4.38 0 0158.75 32V21.38a1.5 1.5 0 011.5-1.38z\"}},\nfilter:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M77 20H21c-1.9 0-2.8 2.1-1.6 3.5l24.2 28.6c.8.9 1.1 2.1 1.1 3.3v22.7c0 1 1 1.9 2 1.9h4.4c1 0 1.8-.9 1.8-1.9V55.5c0-1.3.5-2.4 1.4-3.3l24.3-28.6c1.2-1.4.3-3.6-1.6-3.6z\"}},\nfilter_criteria:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M38.86 32h21.81a2 2 0 002-2v-4a6 6 0 00-5.95-6H42.83a6 6 0 00-5.95 6v4a2 2 0 001.98 2z\"},{\"d\":\"M29.93 25a.94.94 0 011 1v4a8 8 0 007.93 8h21.81a8 8 0 007.94-8v-4a.94.94 0 011-1h2a6 6 0 016 6v43a6 6 0 01-6 6H28a6 6 0 01-6-6V31a6 6 0 016-6h2zm31.22 23h-22.3a.86.86 0 00-.65 1.41l9.74 11.39a2.08 2.08 0 01.45 1.31v7.23a.82.82 0 00.81.75h1.5a.73.73 0 00.71-.75v-7.23A1.84 1.84 0 0152 60.8l9.8-11.39a.86.86 0 00-.65-1.41z\"}]},\nfirst_non_empty:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M55.9 49.3l22.7-22.8c.8-.8.8-2 0-2.9l-2.7-2.9c-.8-.8-2-.8-2.9 0L50.1 43.6c-.5.5-1.4.5-1.9 0l-22.8-23c-.8-.8-2-.8-2.9 0l-2.9 2.9c-.8.8-.8 2 0 2.9l22.8 22.8c.5.5.5 1.4 0 1.9L19.6 74c-.8.8-.8 2 0 2.9l2.9 2.9c.8.8 2 .8 2.9 0L48.2 57c.5-.5 1.4-.5 1.9 0l22.6 22.6c.8.8 2 .8 2.9 0l2.9-2.9c.8-.8.8-2 0-2.9L55.9 51.2c-.6-.6-.6-1.4 0-1.9z\"}},\nflow:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M79.9 30.7c-2.6-5.1-9.2-14.6-21.5-9-7.6 3.5-11.9 5.5-11.9 5.5l-11 4.8c-3.1 1.5-9.9-.6-13.7-2-1.1-.4-2.1.8-1.6 1.9 2.6 5.1 9.2 14.6 21.5 9 7.6-3.5 22.9-10.1 22.9-10.1 3.1-1.5 9.9.6 13.7 2 1.1.2 2.1-.9 1.6-2.1zM53.5 46.8c-1.4.8-6.9 3.3-6.9 3.3l-5.5 2.4C38.4 54 32.5 52 29 50.6c-1-.5-1.9.8-1.4 1.8 2.2 5 8.1 14 18.9 8.5 6.7-3.4 12.4-5.6 12.4-5.6 2.7-1.5 8.6.5 12.1 1.9 1 .4 1.9-.8 1.4-1.9-2.3-5-8.2-14-18.9-8.5zM49.5 68.9c-1.1.6-3 1.8-3 1.8-2.1 1.3-6.5-.4-9.1-1.7-.7-.4-1.4.8-1 1.8 1.6 4.5 6 12.6 14.1 7.6 3-1.9 3-1.8 3-1.8 2.2-1.1 6.5.4 9.1 1.6.7.4 1.4-.8 1-1.8-1.6-4.4-5.7-12.1-14.1-7.5z\"}}},\nfolder:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M75 34.7H46.6c-1.8 0-3.4-1-4.4-2.5l-4.4-7.6C37 23 35.4 22 33.5 22H25c-2.8 0-5 2.3-5 5.1v45.8c0 2.8 2.2 5.1 5 5.1h50c2.8 0 5-2.3 5-5.1V39.8c0-2.8-2.2-5.1-5-5.1z\"},{\"d\":\"M75 24.5H44.9c-.5 0-.8.5-.5.9l2 3.4c.2.5.6.8 1.1.8H75c1.4 0 2.8.3 3.9.8.5.3 1.1-.1 1.1-.8 0-2.8-2.2-5.1-5-5.1z\"}]},\nforecasts:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M77.7 29.2S74.2 22 66.4 22s-11.5 7.4-11.5 7.4c-5.2-2.5-9.9 0-9.9 0S41.4 22 33.6 22s-11.3 7.2-11.3 7.2-7.3 16.3-7.5 30.9C14.6 74.5 24.3 78 28.9 78c5 0 16.8-2.1 16.2-18.5 0 0 1.2-2.8 4.5-2.7 4 0 5.4 2.7 5.4 2.7C54.4 75.9 66.2 78 71.1 78c4.5 0 14.3-3.5 14.1-17.9-.2-14.6-7.5-30.9-7.5-30.9zM29.8 71.6c-4.8 0-8.7-3.9-8.7-8.7s3.9-8.7 8.7-8.7 8.7 3.9 8.7 8.7-3.9 8.7-8.7 8.7zm40.4 0c-4.8 0-8.7-3.9-8.7-8.7s3.9-8.7 8.7-8.7 8.7 3.9 8.7 8.7-3.9 8.7-8.7 8.7z\"}},\nform:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"rect\":[{\"fill\":\"none\",\"height\":\"6\",\"rx\":\"2\",\"width\":\"34\",\"x\":\"33\",\"y\":\"50\"},{\"fill\":\"none\",\"height\":\"6\",\"rx\":\"2\",\"width\":\"30\",\"x\":\"33\",\"y\":\"62\"}],\"g\":{\"path\":[{\"d\":\"M63 36h10.6a1.37 1.37 0 001.4-1.4 1.28 1.28 0 00-.4-1L61.4 20.4a1.28 1.28 0 00-1-.4 1.37 1.37 0 00-1.4 1.4V32a4 4 0 004 4z\"},{\"d\":\"M73 42H59a6 6 0 01-6-6V22a2 2 0 00-2-2H31a6 6 0 00-6 6v48a6 6 0 006 6h38a6 6 0 006-6V44a2 2 0 00-2-2zm-40-2a2 2 0 012-2h8.18a2 2 0 012 2v2a2 2 0 01-2 2H35a1.94 1.94 0 01-2-2zm30 26a2 2 0 01-2 2H35a2 2 0 01-2-2v-2a2 2 0 012-2h26a2 2 0 012 2zm4-12a2 2 0 01-2 2H35a2 2 0 01-2-2v-2a2 2 0 012-2h30a2 2 0 012 2z\"}]}},\nformula:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M55.3 21.2c-1.1-.7-2.4-1.1-4.1-1.1-.4 0-.8 0-1.2.1-4.4.7-7.3 4.7-9.1 8.5-.8 1.8-1.5 3.7-2.2 5.5-.3.9-.7 1.7-1 2.6 0 .1-.5 1.8-.6 1.8h-4.5c-.6 0-1.1.5-1.1 1.1 0 .6.5 1.1 1.1 1.1h3.9l-2.2 9.4c-2.2 10.5-5.2 22.5-5.9 24.6-.7 2.2-1.7 3.3-3.1 3.3-.3 0-.5-.1-.7-.2-.2-.1-.3-.3-.3-.5s.1-.5.4-.9c.3-.4.4-.9.4-1.3 0-.8-.3-1.5-.8-2-.6-.5-1.2-.7-1.9-.7s-1.4.3-2 .8c-.1.7-.4 1.4-.4 2.3 0 1.2.5 2.2 1.5 3.1 1 .9 2.3 1.3 4 1.3 2.7 0 5.1-1.2 6.9-3.3 1.1-1.3 1.9-2.8 2.6-4.4 2.2-4.9 3.4-10.3 4.7-15.5 1.3-5.3 2.5-10.6 3.6-15.9h4.3c.6 0 1.1-.5 1.1-1.1 0-.6-.5-1.1-1.1-1.1h-4c2.2-8.3 4.7-14 5.2-14.8.8-1.4 1.7-2.1 2.7-2.1.4 0 .6.1.7.3.1.2.2.4.2.5 0 .1-.1.4-.4.9-.3.5-.4 1-.4 1.5 0 .7.3 1.3.8 1.8s1.2.8 1.9.8 1.4-.3 1.9-.8.8-1.2.8-2.1c-.1-1.7-.6-2.8-1.7-3.5zM75.3 46.4c1.6 0 4.7-1.3 4.7-5.5s-3-4.4-4-4.4c-1.8 0-3.7 1.3-5.3 4.1-1.6 2.8-3.4 6-3.4 6h-.1c-.4-2-.7-3.6-.9-4.4-.3-1.7-2.3-5.5-6.5-5.5s-8 2.4-8 2.4c-.7.4-1.2 1.2-1.2 2.1 0 1.4 1.1 2.5 2.5 2.5.4 0 .8-.1 1.1-.3 0 0 3.2-1.8 3.8 0 .2.5.4 1.1.6 1.7.8 2.7 1.5 5.9 2.2 8.8L58.3 58s-3.1-1.1-4.7-1.1-4.7 1.3-4.7 5.5 3 4.4 4 4.4c1.8 0 3.7-1.3 5.3-4.1 1.6-2.8 3.4-6 3.4-6 .5 2.6 1 4.7 1.3 5.5 1 3 3.4 4.7 6.6 4.7 0 0 3.3 0 7.1-2.2.9-.4 1.6-1.3 1.6-2.3 0-1.4-1.1-2.5-2.5-2.5-.4 0-.8.1-1.1.3 0 0-2.7 1.5-3.7.3-.7-1.3-1.2-3-1.7-5.1-.4-1.9-.9-4.1-1.3-6.2l2.8-4c-.1.1 3 1.2 4.6 1.2z\"}},\nfulfillment_order:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M47.9 63c.9 0 1.7.1 2.5.4L36.9 25.1l-1.2-3.7c-.4-1.1-1.5-1.6-2.5-1.2L21.4 24c-1.1.4-1.6 1.5-1.2 2.5l1.2 3.7c.4 1.1 1.5 1.6 2.5 1.2l6.1-2 12.4 35.1c1.6-.9 3.5-1.5 5.5-1.5zM69 53.9l-12.4 4.4c-1.2.5-2.7-.2-3.1-1.5l-4.4-12.4c-.5-1.2.2-2.7 1.5-3.1L63 36.9c1.2-.5 2.7.2 3.1 1.5l4.4 12.4c.5 1.2-.2 2.6-1.5 3.1zM57.3 33.5l-8.4 2.9c-1.2.5-2.7-.2-3.1-1.5l-2.9-8.4c-.5-1.2.2-2.7 1.5-3.1l8.4-2.9c1.2-.5 2.7.2 3.1 1.5l2.9 8.4c.5 1.1-.2 2.6-1.5 3.1zm22.6 28.2L78.6 58c-.4-1.1-1.5-1.6-2.5-1.2l-22.7 7.9c2.4 1.5 4 4 4.5 6.9l20.9-7.1c1-.5 1.5-1.6 1.1-2.8zm-32 4.5c-3.7 0-6.9 3.1-6.9 6.9 0 3.7 3.1 6.9 6.9 6.9s6.9-3.1 6.9-6.9c0-3.9-3.2-6.9-6.9-6.9z\"}},\ngeneric_loading:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"opacity\":\".15\",\"d\":\"M51.5 22h-3c-.8 0-1.5.7-1.5 1.5v13c0 .8.7 1.5 1.5 1.5h3c.8 0 1.5-.7 1.5-1.5v-13c0-.8-.7-1.5-1.5-1.5zM76.5 47h-13c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h13c.8 0 1.5-.7 1.5-1.5v-3c0-.8-.7-1.5-1.5-1.5zM51.5 62h-3c-.8 0-1.5.7-1.5 1.5v13c0 .8.7 1.5 1.5 1.5h3c.8 0 1.5-.7 1.5-1.5v-13c0-.8-.7-1.5-1.5-1.5zM38 51.5v-3c0-.8-.7-1.5-1.5-1.5h-13c-.8 0-1.5.7-1.5 1.5v3c0 .8.7 1.5 1.5 1.5h13c.8 0 1.5-.7 1.5-1.5zM59.5 42.6c.6.6 1.5.6 2.1 0l9.2-9.2c.6-.6.6-1.5 0-2.1l-2.1-2.1c-.6-.6-1.5-.6-2.1 0l-9.2 9.2c-.6.6-.6 1.5 0 2.1l2.1 2.1zM61.7 57.4c-.6-.6-1.5-.6-2.1 0l-2.1 2.1c-.6.6-.6 1.5 0 2.1l9.2 9.2c.6.6 1.5.6 2.1 0l2.1-2.1c.6-.6.6-1.5 0-2.1l-9.2-9.2zM40.5 57.4c-.6-.6-1.5-.6-2.1 0l-9.2 9.2c-.6.6-.6 1.5 0 2.1l2.1 2.1c.6.6 1.5.6 2.1 0l9.2-9.2c.6-.6.6-1.5 0-2.1l-2.1-2.1zM33.4 29.1c-.6-.6-1.5-.6-2.1 0l-2.1 2.1c-.6.6-.6 1.5 0 2.1l9.2 9.2c.6.6 1.5.6 2.1 0l2.1-2.1c.6-.6.6-1.5 0-2.1l-9.2-9.2z\"}}},\nglobal_constant:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M53.3 53.1c3.3-2.5 6.8-2.9 9.2-2.9l8.9-.1c.9 0 1.7 0 2.7-.1 1.1 0 2.2-.1 3.3-.1H80c0-16.5-13.5-30-30-30s-30 13.5-30 30c0 14.4 10.3 26.5 23.9 29.4-.2-1-.1-2 .1-3 .4-1.7 1.4-3.1 2.4-4.2-3.1-3.2-5.8-10.3-6.3-19.1H47v8c.2-.6.4-1.2.8-1.8 1.2-1.7 2.6-3.7 4.3-5.3.3-.3.6-.5.8-.7l.4-.1zm20.5-6h-7.9c-.3-7.1-1.9-13.3-4.3-18 6.6 3.7 11.2 10.3 12.2 18zM53 27.4c3.4 2.9 6.4 10.3 6.9 19.7H53V27.4zm-6 0v19.7h-6.9c.5-9.4 3.5-16.8 6.9-19.7zM26.2 53.1h7.9c.3 7.1 1.9 13.3 4.3 18-6.6-3.7-11.2-10.3-12.2-18zm7.9-6h-7.9c1-7.7 5.6-14.3 12.2-18-2.4 4.7-3.9 10.9-4.3 18z\"},{\"d\":\"M48.3 70.3c.4-.3.7-.7 1-.9.3-.4.7-.8 1-1.2-1.6-.7-2.8-2.1-3.3-3.8v7.2c.5-.6.9-1 1.3-1.3z\"}]},\"path\":{\"d\":\"M79.7 55.3c-.2-.2-.4-.3-.6-.3-2.5-.1-5.1.1-7.6.1l-8.9.1c-2.7 0-4.9.6-7 2.5-1.3 1.2-2.6 2.9-3.6 4.4-.1.2-.2.4-.2.6 0 .6.5 1 1 1 .6 0 .7-.4 1-.8.3-.4.6-.8 1-1.2 1.4-1.3 3.3-2 5.1-1.8-1.6 4.4-3.8 9.4-7 12.9-1.3 1.4-3.6 2.9-4.1 4.9-.5 2.1 1.6 2.6 3.2 2 2-.8 3.2-2.9 4.3-4.6 1.2-2.2 2.4-4.5 3.3-6.8 1-2.3 2-4.6 2.9-6.9.6-1.4.8-1.4 2.2-1.4h3.9c-1.4 3.2-2.8 6.4-4.1 9.7-1 2.5-2.8 6.1-1.5 8.8 1.3 2.7 4.8 1.7 6.7.3 2-1.4 3.2-3.6 4.3-5.7.2-.4.4-.8.2-1.3-.2-.4-.5-.6-.9-.6-.9 0-1.1 1.1-1.4 1.7-.5 1.1-1.7 2.1-3 1.9-2.9-.4-.3-5.7.2-7.1.5-1.5 1.1-2.9 1.8-4.3.4-.8.7-1.7 1.1-2.5.5-1 .5-1 1.7-1.1 1 0 3.9.5 4.8-.1.7-.5 1.1-2.2 1.5-3.5 0-.3 0-.6-.3-.9z\"}},\ngoals:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M26 20c-3.3 0-6 2.7-6 6 0 1.8.8 3.4 2 4.5V76c0 2.2 1.8 4 4 4s4-1.8 4-4V30.5c1.2-1.1 2-2.7 2-4.5 0-3.3-2.7-6-6-6zM76.5 30.8c-15.7 8.2-24.4-5.9-39.2-.5-.8.3-1.3 1.1-1.3 1.9V58c0 1.3 1.3 2.3 2.6 1.9 14.2-4.3 22.9 9.1 38.4.7.6-.4 1-1 1-1.7V31.7c0-.8-.8-1.3-1.5-.9zM72 44.5c-1.9.5-3.8.5-5.8.5H66v6h.2c2 0 3.9-.1 5.8-.6v5.9c-1.8.6-3.6.8-5.8.8H66v-6c-2 0-4-.3-6-.7v6c-1.4-.3-2.8-.7-4.1-1.1-.7-.2-1.3-.4-1.9-.6v-5.9c-2.2-.7-3.9-1.3-6-1.6v6c-1-.1-2.2-.2-3.5-.2-.9 0-1.7.1-2.5.2v-6c.8-.1 1.7-.2 2.5-.2 1.3 0 2.5.1 3.5.2v-5.7c-1-.2-2.1-.4-3.5-.4-.9 0-1.7.1-2.5.2v-6c.8-.1 1.7-.2 2.5-.2 1.4 0 2.4.2 3.5.4v6c1.5.4 3 1 5.2 1.6.3.1.5.1.8.2v-6c2 .6 3.9 1 6 1.4v5.9c1.9.4 3.9.4 6 .4v-6h.2c2 0 3.9.2 5.8-.2v5.7z\"},{\"d\":\"M54 43.3v5.5c.4.1.9.3 1.3.4 1.6.4 3.1.9 4.7 1.2v-5.7c-2.1-.5-4-.9-6-1.4z\"}]},\ngroup_loading:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"opacity\":\".5\",\"d\":\"M36.7 52.4C35 49.7 34 46.5 34 43c0-5.9 2.5-10.9 6.5-13.9-1.5-2.5-4-4.1-7.5-4.1-5.8 0-9 4.6-9 10 0 2.9 1 5.3 2.9 7.1 1.1 1 2 2.3 2 3.7 0 1.4-.5 2.6-3.8 4-4.7 2.1-9 4.8-9.1 9.2 0 2.9 1.9 5 4.6 5h4.3c.7 0 1.4-.4 1.7-1 2.1-3.8 6-6.2 9.3-7.8 1.1-.5 1.5-1.8.8-2.8zM74.9 49.8c-3.3-1.4-3.8-2.7-3.8-4 0-1.4.9-2.7 2-3.7C75 40.3 76 37.9 76 35c0-5.4-3.2-10-9-10-3.5 0-6 1.6-7.5 4.1 4 3 6.5 7.9 6.5 13.9 0 3.5-.9 6.7-2.7 9.4-.7 1-.3 2.3.8 2.9 3.3 1.6 7.2 4 9.3 7.8.3.6 1 1 1.7 1h4.3c2.7 0 4.6-2.1 4.6-5-.1-4.4-4.4-7.2-9.1-9.3z\"},{\"opacity\":\".5\",\"d\":\"M58.7 59.4c-3.6-1.5-4.1-2.9-4.1-4.4 0-1.5 1-3 2.2-4.1 2.1-1.9 3.3-4.7 3.3-7.9 0-5.9-3.6-11-10-11s-10 5.1-10 11c0 3.2 1.2 5.9 3.3 7.9 1.2 1.1 2.2 2.6 2.2 4.1 0 1.5-.6 2.9-4.1 4.4-5.4 2.2-10.4 4.8-10.5 9.6 0 3.2 2.3 6 5.3 6h27.4c3 0 5.3-2.8 5.3-6-.1-4.8-5.1-7.4-10.3-9.6z\"}]},\ngroups:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M36.7 52.4C35 49.7 34 46.5 34 43c0-5.9 2.5-10.9 6.5-13.9-1.5-2.5-4-4.1-7.5-4.1-5.8 0-9 4.6-9 10 0 2.9 1 5.3 2.9 7.1 1.1 1 2 2.3 2 3.7 0 1.4-.5 2.6-3.8 4-4.7 2.1-9 4.8-9.1 9.2 0 2.9 1.9 5 4.6 5h4.3c.7 0 1.4-.4 1.7-1 2.1-3.8 6-6.2 9.3-7.8 1.1-.5 1.5-1.8.8-2.8zM74.9 49.8c-3.3-1.4-3.8-2.7-3.8-4 0-1.4.9-2.7 2-3.7C75 40.3 76 37.9 76 35c0-5.4-3.2-10-9-10-3.5 0-6 1.6-7.5 4.1 4 3 6.5 7.9 6.5 13.9 0 3.5-.9 6.7-2.7 9.4-.7 1-.3 2.3.8 2.9 3.3 1.6 7.2 4 9.3 7.8.3.6 1 1 1.7 1h4.3c2.7 0 4.6-2.1 4.6-5-.1-4.4-4.4-7.2-9.1-9.3z\"},{\"d\":\"M58.7 59.4c-3.6-1.5-4.1-2.9-4.1-4.4 0-1.5 1-3 2.2-4.1 2.1-1.9 3.3-4.7 3.3-7.9 0-5.9-3.6-11-10-11s-10 5.1-10 11c0 3.2 1.2 5.9 3.3 7.9 1.2 1.1 2.2 2.6 2.2 4.1 0 1.5-.6 2.9-4.1 4.4-5.4 2.2-10.4 4.8-10.5 9.6 0 3.2 2.3 6 5.3 6h27.4c3 0 5.3-2.8 5.3-6-.1-4.8-5.1-7.4-10.3-9.6z\"}]},\nguidance_center:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"rect\":[{\"height\":\"7.26\",\"rx\":\"1.81\",\"width\":\"7.25\",\"x\":\"20.02\",\"y\":\"20.05\"},{\"height\":\"7.33\",\"rx\":\"1.83\",\"width\":\"42\",\"x\":\"32.24\",\"y\":\"20.05\"},{\"height\":\"7.33\",\"rx\":\"1.83\",\"width\":\"42\",\"x\":\"32.24\",\"y\":\"35.04\"},{\"height\":\"7.33\",\"rx\":\"1.83\",\"width\":\"7.33\",\"x\":\"20.02\",\"y\":\"35.04\"},{\"height\":\"7.33\",\"rx\":\"1.83\",\"width\":\"7.33\",\"x\":\"20.02\",\"y\":\"50.03\"}],\"path\":{\"d\":\"M63.71 47.42A16.18 16.18 0 1079.89 63.6a16.22 16.22 0 00-16.18-16.18zm0 28A11.87 11.87 0 1175.58 63.6a11.9 11.9 0 01-11.87 11.86zM70 56.64l-9 3.24a1.61 1.61 0 00-1 1l-3.23 8.95a.55.55 0 00.7.7l8.95-3.23a1.59 1.59 0 001-1l3.24-9a.55.55 0 00-.66-.66zm-6.26 9.11a2.16 2.16 0 112.16-2.15 2.16 2.16 0 01-2.19 2.15zM47.61 50H34.07a1.87 1.87 0 00-1.83 1.83v3.66a1.88 1.88 0 001.83 1.84h9.52A20.89 20.89 0 0147.61 50z\"}}},\nhierarchy:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M46.25 46.251H29.404c-.999 0-1.875.875-1.875 1.875V62.5h-5.654c-1 0-1.875.875-1.875 1.875v13.75c0 1 .875 1.875 1.875 1.875h18.75c1 0 1.875-.875 1.875-1.875v-13.75c0-1-.875-1.875-1.875-1.875h-5.642v-8.749h30.035V62.5h-5.613c-1.001 0-1.875.875-1.875 1.875v13.75c0 1 .874 1.875 1.875 1.875h18.75c1 0 1.875-.875 1.875-1.875v-13.75c0-1-.875-1.875-1.875-1.875H72.49V48.126c0-1-.874-1.875-1.875-1.875H53.75V37.5h5.61c1 0 1.875-.875 1.875-1.875v-13.75c0-1-.875-1.875-1.875-1.875H40.61c-1.001 0-1.875.875-1.875 1.875v13.75c0 1 .874 1.875 1.875 1.875h5.64v8.751z\"}},\nhigh_velocity_sales:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M80 21.5c0-1.2-.7-1.5-1.1-1.5H53.1c-1.9 0-1.9 1.9-1.9 1.9v3.6c0 1.6 1 2 1.5 2h18c.7.1 1.9.6 1.9 2.6v17c.1.5.4 1.6 1.9 1.6h4s1.6 0 1.6-1.9V21.5z\"},{\"d\":\"M64.4 37.1c.1-1.2-.7-1.5-1.1-1.5H37.5c-1.9 0-1.9 1.9-1.9 1.9v3.6c0 1.6 1 2 1.5 2h18c.7.1 1.9.6 1.9 2.6v17c.1.5.4 1.6 1.9 1.6h4s1.6 0 1.6-1.9V37.1z\"},{\"d\":\"M24.2 78.5c.2.2 1.2 1 2.6-.4l13-13c.4-.4 1.5-1.2 1.5.5v12.8c.1.5.4 1.6 1.9 1.6h4s1.6 0 1.6-1.9V52.8c0-1.2-.7-1.4-1.1-1.5H21.9c-1.9 0-1.9 1.9-1.9 1.9v3.6c0 1.6 1 2 1.5 2h12c.5 0 2 .1.6 1.5L21.6 73s-1.5 1.4-.2 2.6l2.8 2.9z\"}]}},\nholiday_operating_hours:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M65.88 50.24A14.12 14.12 0 0180 64v.31a14.12 14.12 0 01-13.8 14.16h-.32a14.12 14.12 0 01-.31-28.23zm-.56 3.86v.11l-2.07 6.66a.52.52 0 01-.52.39H56a.73.73 0 00-.47 1.22l.07.06 5.39 4a.69.69 0 01.25.65v.1l-2.54 6.76a.66.66 0 00.94.81l.08-.06 5.83-4.32a.69.69 0 01.7-.06l.09.06 5.79 4.32a.65.65 0 001-.65v-.1l-2.56-6.79a.7.7 0 01.14-.68l.08-.07 5.39-4a.71.71 0 00-.3-1.27h-6.71a.65.65 0 01-.58-.3v-.09l-2-6.62a.65.65 0 00-1.27-.13zM44.8 22a24.88 24.88 0 0124.81 24.8v.3a18.32 18.32 0 00-3.17-.39h-1v-.25a20.57 20.57 0 10-17 20.61 17.43 17.43 0 001.15 4.07 24.39 24.39 0 01-4.79.47 24.81 24.81 0 010-49.61zm.2 14.13a1.32 1.32 0 011.28 1.29v8.27a1.3 1.3 0 00.34 1l4.76 4.91a1.26 1.26 0 010 1.81l-1.78 1.81a1.24 1.24 0 01-1.79 0l-6.3-6.38a1.82 1.82 0 01-.34-.95V37.42a1.32 1.32 0 011.28-1.29z\"}},\nhome:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M78.8 51.2h-6.3v27.5c0 .8-.5 1.2-1.3 1.2H58.8c-.8 0-1.3-.5-1.3-1.2V57.5h-15v21.2c0 .8-.5 1.2-1.3 1.2H28.8c-.8 0-1.3-.5-1.3-1.2V51.2h-6.3c-.5 0-1-.2-1.1-.8-.3-.5-.1-1 .3-1.4l28.8-28.8c.5-.5 1.4-.5 1.8 0L79.8 49c.4.4.4.9.3 1.4s-.8.8-1.3.8z\"}},\nhousehold:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M51.5 20.6c-.9-.8-2.2-.8-3 0L20.7 46.2c-1.5 1.4-.5 3.8 1.5 3.8H26v24c0 3.3 2.7 6 6 6h36c3.3 0 6-2.7 6-6V50h3.8c2 0 3-2.4 1.5-3.8L51.5 20.6zM36.9 63.9c-.2.3-.6.1-1 .1h-2.4c-1.5 0-2.5-.8-2.5-2.4.1-2.4 2.5-3.6 5.1-4.7 1.8-.8 2.1-1.5 2.1-2.3 0-.8-.5-1.5-1.1-2.1-1.1-1-1.6-2.4-1.6-4 0-3 1.8-5.6 5-5.6 1.9 0 3.3.9 4.2 2.3-2.3 1.8-3.7 4.5-3.7 7.9 0 1.9.5 3.7 1.5 5.2.4.6.2 1.1-.5 1.4-1.7.9-3.9 2.1-5.1 4.2zM57.6 71H42.4c-1.7 0-3-1.6-3-3.4.1-2.7 2.9-4.1 5.8-5.4 2-.9 2.3-1.6 2.3-2.5 0-.9-.6-1.7-1.2-2.3-1.2-1.1-1.8-2.6-1.8-4.4 0-3.3 2-6.2 5.6-6.2s5.6 2.9 5.6 6.2c0 1.8-.6 3.3-1.8 4.4-.7.6-1.2 1.4-1.2 2.3 0 .8.3 1.6 2.3 2.5 2.9 1.3 5.7 2.7 5.8 5.4-.2 1.8-1.5 3.4-3.2 3.4zm8.9-7h-2.4c-.4 0-.8.2-1-.1-1.2-2.1-3.4-3-5.2-3.9-.6-.3-.8-1-.4-1.6 1-1.5 1.5-3.3 1.5-5.2 0-3.3-1.4-6.1-3.6-7.8.8-1.4 2.2-2.3 4.2-2.3 3.3 0 5 2.6 5 5.6 0 1.6-.5 3-1.6 4-.6.6-1.1 1.3-1.1 2.1s.3 1.5 2.1 2.3c2.6 1.2 5.1 2.3 5.1 4.7C69 63.2 68 64 66.5 64z\"}},\nimmunization:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M53.76 31.24a7.19 7.19 0 00-.85-.7A4.13 4.13 0 0047.76 37l.82.82h-.06L35 51.3c-.3.28-.59.57-.8.79a6.85 6.85 0 00-.86 8.15.25.25 0 010 .07 16 16 0 006.42 6.36 6.23 6.23 0 002.57.87 7.1 7.1 0 005.89-2.18L62 51.51a.46.46 0 00.11-.16l.91.91a4.15 4.15 0 105.73-6zM78.09 28.45c-2.19-2.25-4.42-4.45-6.66-6.66a4.72 4.72 0 00-4-1.38 4.77 4.77 0 00-2.58 8.25c.69.68.31.36 1 1.07l-3.11 3a.83.83 0 000 1.19c.36.35 2.75 2.74 3.11 3.08a.85.85 0 001.19 0l3-3.07c.77.78.49.46 1.18 1.14a4.76 4.76 0 106.81-6.65zM31 66.23c-3.61 3.62-6.56 6.66-10.17 10.28a1.74 1.74 0 102.5 2.43c3.58-3.57 6.5-6.57 10.08-10.14.07-.07.13-.16.18-.21l-2.47-2.46z\"}}},\nindividual:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M79.4 72.9l-12 6.8c-.6.4-1.5.4-2.1 0l-11.9-6.8c-.5-.3-.5-.9 0-1.1l2.8-1.6c.2-.1.4-.1.6 0l7.3 4.1c.7.4 1.5.6 2.3.6s1.6-.2 2.3-.6l7.3-4.1c.2-.1.4-.1.6 0l2.8 1.6c.5.2.5.8 0 1.1zm0-7.7l-12 6.8c-.6.4-1.5.4-2.1 0l-11.9-6.8c-.5-.3-.5-.9 0-1.1l2.8-1.6c.2-.1.4-.1.6 0l7.3 4.1c.7.4 1.5.6 2.3.6s1.6-.2 2.3-.6l7.3-4.1c.2-.1.4-.1.6 0l2.8 1.6c.5.2.5.8 0 1.1zm-14-.8l-12-6.8c-.5-.3-.5-.9 0-1.1l12-6.8c.6-.4 1.5-.4 2.1 0l12 6.8c.5.3.5.9 0 1.1l-12 6.8c-.6.3-1.5.3-2.1 0zM51.9 60.5c.5-.3.5-.9 0-1.1l-2.8-1.6H49v-1.3s0-1.7 1.5-2.6c.4-.2 1.2-.6 2.1-1.1-.4-.2-.8-.4-1.2-.5-1.8-.9-4.4-1.8-5.2-4.1-.5-1.2-.2-2.5.4-3.6 1.1-1.1 2.1-2.1 3-3.5.2-.4.4-.6.6-1 2.5-3.6 2.8-8.5 1.4-12.6-1.5-4.4-5.4-7.4-10.2-7.5h-.7c-4.8.1-8.8 3.1-10.2 7.5-1.5 4.2-1.1 9 1.4 12.6.1.4.4.6.6 1 .9 1.4 2 2.3 3 3.5.5 1.1.7 2.3.4 3.6-.7 2.2-3.3 3.2-5.2 4.1-4.2 1.8-9.4 4.4-10.2 9.5-.9 4.2 2 8.4 6.4 8.4H49l2.9-1.9c.5-.3.5-.9 0-1.1l-2.8-1.6H49v-3.2l2.9-1.9z\"}},\ninsights:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M78.3 26.9H31c-.9 0-1.7.8-1.7 1.7v35.2c0 1.4-1.3 2.5-2.7 2.3-1.2-.2-2-1.3-2-2.4V38.5c0-.7-.5-1.2-1.2-1.2h-1.7c-.9 0-1.7.8-1.7 1.7v29.4c0 2.5 2.1 4.6 4.6 4.6H75.4c2.5 0 4.6-2.1 4.6-4.6V28.7c0-1-.8-1.8-1.7-1.8zm-26 33.5c0 .7-.5 1.2-1.2 1.2H37.3c-.7 0-1.2-.5-1.2-1.2v-2.3c0-.7.5-1.2 1.2-1.2h13.8c.7 0 1.2.5 1.2 1.2v2.3zm0-9.2c0 .7-.5 1.2-1.2 1.2H37.3c-.7 0-1.2-.5-1.2-1.2v-2.3c0-.7.5-1.2 1.2-1.2h13.8c.7 0 1.2.5 1.2 1.2v2.3zm20.8 9.2c0 .7-.5 1.2-1.2 1.2H58.1c-.7 0-1.2-.5-1.2-1.2v-2.3c0-.7.5-1.2 1.2-1.2h13.8c.7 0 1.2.5 1.2 1.2v2.3zm0-9.2c0 .7-.5 1.2-1.2 1.2H58.1c-.7 0-1.2-.5-1.2-1.2v-2.3c0-.7.5-1.2 1.2-1.2h13.8c.7 0 1.2.5 1.2 1.2v2.3zm0-9.3c0 .7-.5 1.2-1.2 1.2H37.3c-.7 0-1.2-.5-1.2-1.2V35c0-.7.5-1.2 1.2-1.2h34.6c.7 0 1.2.5 1.2 1.2v6.9z\"}},\ninstore_locations:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M32.1 70.1c-.6 0-1.2-.5-1.2-1.2v-7.3c0-.6.5-1.2 1.2-1.2h7.5c.6 0 1.2.5 1.2 1.2V69c0 .6-.5 1.2-1.2 1.2h-7.5zM46.3 70.1c-.6 0-1.2-.5-1.2-1.2V57.7c0-.6.5-1.2 1.2-1.2h7.5c.6 0 1.2.5 1.2 1.2V69c0 .6-.5 1.2-1.2 1.2h-7.5zM60.5 70.1c-.6 0-1.2-.5-1.2-1.2v-7.3c0-.6.5-1.2 1.2-1.2H68c.6 0 1.2.5 1.2 1.2V69c0 .6-.5 1.2-1.2 1.2h-7.5zM32.1 42.9c-.6 0-1.2-.5-1.2-1.2V31.1c0-.6.5-1.2 1.2-1.2h21.7c.6 0 1.2.5 1.2 1.2v10.7c0 .6-.5 1.2-1.2 1.2H32.1zM60.5 42.9c-.6 0-1.2-.5-1.2-1.2v-7.3c0-.6.5-1.2 1.2-1.2H68c.6 0 1.2.5 1.2 1.2v7.3c0 .6-.5 1.2-1.2 1.2h-7.5z\"},{\"d\":\"M73.8 20H26.2c-3.4 0-6.2 2.8-6.2 6.2v47.6c0 3.4 2.8 6.2 6.2 6.2h47.6c3.4 0 6.2-2.8 6.2-6.2V26.2c0-3.4-2.8-6.2-6.2-6.2zm0 51.7c0 1.2-.9 2.1-2.1 2.1H28.3c-1.1 0-2.1-.9-2.1-2.1v-19h47.6v19zm0-25H26.2V28.3c0-1.2.9-2.1 2.1-2.1h43.4c1.1 0 2.1.9 2.1 2.1v18.4z\"}]}},\ninvestment_account:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M74 27H26c-3.3 0-6 2.7-6 6v34c0 3.3 2.7 6 6 6h48c3.3 0 6-2.7 6-6V33c0-3.3-2.7-6-6-6zm-5 27c0 .9-1 1.3-1.7.7l-4.6-4.6-10.6 9.1c-1.2 1.2-3.1 1.2-4.2 0l-6.4-7.3-11.4 10c-.4.4-1 .4-1.4 0l-.5-.5c-.4-.4-.4-1 0-1.4l11.2-15.3c1.2-1.2 3.1-1.2 4.2 0l6.4 6.4 6.5-7.5-4.2-3.8c-.6-.6-.2-1.8.7-1.8h14c1.1 0 1.9 1 1.9 2.1V54z\"}},\ninvocable_action:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M62.8 71.2V79c0 .6.5 1.1 1.1 1.1.2 0 .5-.1.6-.2l15.1-12.3c.2-.2.3-.5.3-.8 0-.3-.2-.6-.4-.8L64.4 53.1c-.1-.1-.3-.1-.5-.1-.6 0-1.1.5-1.1 1.1v8.3c-9.3 2.5-16.9-5.7-16.9-5.7-.2-.2-.5-.3-.8-.3-.6 0-1.1.5-1.1 1.1v.2c3.8 15.7 18.8 13.5 18.8 13.5z\"},{\"d\":\"M38.2 58.9l-.2-.7V57.3c0-3.9 3.2-7.1 7.1-7.1 1.9 0 3.6.7 5 2.1l.1.1.1.1c.9 1 3.5 3.1 6.6 4V54c0-3.9 3.2-7.1 7.1-7.1 1.5 0 2.5.4 3.2.8l.7.3.6.5 8.5 7.2c2-2 3.2-4.8 3.2-7.8 0-6.2-5-11.2-11.2-11.2h-.6v-1c0-6.2-5.1-11.3-11.3-11.3-3 0-5.6 1.1-7.6 3-1.6-4.2-5.7-7.4-10.6-7.4-6.2 0-11.3 5.1-11.3 11.3 0 2.1.6 4 1.5 5.7-5 1.2-8.6 5.6-8.6 11 0 6.1 4.7 11 10.8 11.2h7.4c-.4-.1-.4-.2-.5-.3z\"}]},\niot_context:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M73 43.5c-3.2 0-6 2.2-6.7 5.2h-4.9c-.8-5.6-5.6-10-11.5-10s-10.7 4.3-11.5 10h-4.9c-.8-3-3.5-5.2-6.7-5.2-3.8 0-7 3.1-7 7 0 3.8 3.1 7 7 7 3.2 0 6-2.2 6.7-5.2h4.9c.8 5 4.7 8.8 9.7 9.6v4.9c-3 .8-5.2 3.5-5.2 6.7 0 3.8 3.1 7 7 7s7-3.1 7-7c0-3.2-2.2-6-5.2-6.7v-4.9c5-.7 8.9-4.6 9.7-9.6h4.9c.8 3 3.5 5.2 6.7 5.2 3.8 0 7-3.1 7-7s-3.1-7-7-7zM53.5 73.4c0 1.9-1.6 3.5-3.5 3.5s-3.5-1.6-3.5-3.5 1.6-3.5 3.5-3.5 3.5 1.6 3.5 3.5z\"},{\"d\":\"M33.3 36c-.8.8-.8 2 0 2.8.8.8 2 .8 2.8 0 7.4-7.4 19.4-7.4 26.8 0 .4.4.9.6 1.4.6s1-.2 1.4-.6c.8-.8.8-2 0-2.8-8.9-9-23.5-9-32.4 0z\"},{\"d\":\"M28.2 32.4C40 20.7 59 20.7 70.8 32.4c.4.4.9.6 1.4.6s1-.2 1.4-.6c.8-.8.8-2 0-2.8-13.3-13.3-34.9-13.3-48.2 0-.8.8-.8 2 0 2.8.8.8 2 .8 2.8 0z\"}]}},\niot_orchestrations:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"fill-rule\":\"evenodd\",\"circle\":[{\"cx\":\"39\",\"cy\":\"32\",\"r\":\"12\"},{\"cx\":\"70\",\"cy\":\"50\",\"r\":\"12\"}],\"path\":[{\"fill-rule\":\"nonzero\",\"d\":\"M39 74a6 6 0 100-12 6 6 0 000 12zm0 6c-6.627 0-12-5.373-12-12s5.373-12 12-12 12 5.373 12 12-5.373 12-12 12zm6.728-38.662c3.582 4.407 8.307 6.98 14.07 7.675a2 2 0 10.479-3.971c-4.741-.571-8.522-2.631-11.445-6.227a2 2 0 10-3.104 2.523z\"},{\"fill-rule\":\"nonzero\",\"d\":\"M43.287 58.624c2.3-5.192 2.449-10.57.45-16.022a2 2 0 10-3.755 1.377c1.644 4.484 1.525 8.788-.352 13.024a2 2 0 103.657 1.62zM47.963 25.753c3.782-2.078 7.668-2.308 11.824-.69 4.007 1.705 6.575 4.907 7.57 8.188.529 1.672.643 2.742.643 6.275a2 2 0 104 0c0-3.906-.154-5.344-.821-7.458-1.312-4.326-4.646-8.482-9.883-10.709-5.308-2.068-10.43-1.765-15.26.888a2 2 0 001.927 3.506zM47.963 74.278c3.782 2.078 7.668 2.308 11.824.689 4.007-1.705 6.575-4.906 7.57-8.187.529-1.672.643-2.742.643-6.276a2 2 0 114 0c0 3.907-.154 5.345-.821 7.459-1.312 4.325-4.646 8.481-9.883 10.708-5.308 2.068-10.43 1.765-15.26-.888a2 2 0 111.927-3.505z\"}]}},\njavascript_button:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M63 36h10.6c.8 0 1.4-.6 1.4-1.4 0-.4-.1-.7-.4-1L61.4 20.4c-.3-.3-.6-.4-1-.4-.8 0-1.4.6-1.4 1.4V32c0 2.2 1.8 4 4 4z\"},{\"d\":\"M73 42H59c-3.3 0-6-2.7-6-6V22c0-1.1-.9-2-2-2H31c-3.3 0-6 2.7-6 6v48c0 3.3 2.7 6 6 6h38c3.3 0 6-2.7 6-6V44c0-1.1-.9-2-2-2zM37.8 66.3c0 2.9-1.4 3.9-3.6 3.9l-1.7-.2.3-1.8 1.2.2c1 0 1.6-.4 1.6-2v-6.5h2.2v6.4zm4.3 3.7c-1 0-2-.2-2.9-.6l.6-1.8c.8.4 1.6.6 2.5.6 1 0 1.6-.4 1.6-1.1s-.5-1-1.7-1.4c-1.2-.4-2.8-1.5-2.8-3s1.4-3 3.8-3c.9 0 1.8.1 2.6.5l-.5 1.8c-.7-.3-1.4-.5-2.1-.5-1 0-1.5.5-1.5 1s.6.9 1.9 1.4 2.6 1.6 2.6 3-1.3 3.1-4.1 3.1z\"}]}},\njob_family:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"circle\":{\"cx\":\"44.6\",\"cy\":\"36.2\",\"r\":\"16.1\"},\"path\":{\"d\":\"M48.8 79.6c2.8 0 1.2-1.9 1.2-1.9a19.22 19.22 0 01-4.2-12 18.65 18.65 0 011.7-7.9l.2-.4a1.17 1.17 0 00-.9-1.9 17.7 17.7 0 00-2.3-.1 24.35 24.35 0 00-24.1 20.9c0 1.2.4 3.5 4.2 3.5h23.7c.4-.2.4-.2.5-.2zM65.3 51.2a14.25 14.25 0 1014.2 14.3 14.25 14.25 0 00-14.2-14.3zm0 4.5a3.22 3.22 0 013.2 3.2 3.06 3.06 0 01-.7 2l2.3 4.3c.1.2 0 .4-.2.4a2.7 2.7 0 00-1.1.5c-.2.1-.4 0-.4-.1l-2.2-4.1a3.08 3.08 0 01-.9.1 3.22 3.22 0 01-3.2-3.2 3.08 3.08 0 013.2-3.1zm-2 8.2L61.1 68a3.26 3.26 0 011 2.3 3.2 3.2 0 11-3.2-3.2h.4l2.3-4.3c.1-.2.2-.2.5-.1a2.87 2.87 0 001.1.6c.1.4.2.6.1.6zm8.3 9.8a3.29 3.29 0 01-3-1.9h-4.4c-.2 0-.4-.2-.2-.4a2.48 2.48 0 00.1-.9v-.2c0-.2.1-.4.2-.4h4.2a3.12 3.12 0 013.1-2.6 3.22 3.22 0 013.2 3.2 3.44 3.44 0 01-3.2 3.2z\"}},\njob_position:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"circle\":{\"cx\":\"46.3\",\"cy\":\"36.3\",\"r\":\"16\"},\"path\":{\"d\":\"M66.6 51.1a11.39 11.39 0 00-11.4 11.4c0 7.7 8.1 15 10.6 16.9a1.09 1.09 0 001.5 0c2.5-2 10.6-9.2 10.6-16.9a11.25 11.25 0 00-11.3-11.4zm0 16a4.7 4.7 0 114.7-4.7 4.76 4.76 0 01-4.7 4.7zM50.4 79.7h1.4c5.2-.5 2.4-3.7 2.4-3.7-3.2-4.6-5-9.1-5-13.5a13.74 13.74 0 01.6-4.2c.2-2-.6-2.5-1-2.7h-.2a18.48 18.48 0 00-2.4-.1 24.26 24.26 0 00-24 20.9c0 1.2.4 3.5 4.2 3.5h23.8c0-.2.1-.2.2-.2z\"}},\njob_profile:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M37.3 31.9h21.8c1.1 0 2-.9 2-2v-4c0-3.3-2.7-5.9-5.9-5.9H41.3c-3.3 0-5.9 2.7-5.9 5.9v4c-.1 1.1.8 2 1.9 2z\"},{\"d\":\"M70 24.9h-2c-.6 0-1 .4-1 1v4c0 4.4-3.6 7.9-7.9 7.9H37.3c-4.4 0-7.9-3.6-7.9-7.9v-4c0-.6-.4-1-1-1h-2c-3.3 0-5.9 2.7-5.9 5.9v40.6c0 3.3 2.7 5.9 5.9 5.9h20c2.8 0 3.1-2.3 3.1-3.1V52.8c0-2.3 1.3-2.8 2-2.8h21.6c2.4 0 2.8-2.1 2.8-2.8V31c.1-3.4-2.6-6.1-5.9-6.1z\"},{\"d\":\"M78.4 60.4H56.6c-.6 0-1.1-.5-1.1-1.1v-2.2c0-.6.5-1.1 1.1-1.1h21.8c.6 0 1.1.5 1.1 1.1v2.2c0 .6-.5 1.1-1.1 1.1zm0 9.8H56.6c-.6 0-1.1-.5-1.1-1.1v-2.2c0-.6.5-1.1 1.1-1.1h21.8c.6 0 1.1.5 1.1 1.1v2.2c0 .6-.5 1.1-1.1 1.1zm0 9.8H56.6c-.6 0-1.1-.5-1.1-1.1v-2.2c0-.6.5-1.1 1.1-1.1h21.8c.6 0 1.1.5 1.1 1.1v2.2c0 .6-.5 1.1-1.1 1.1z\"}]},\nkanban:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M56.5 38.3c0-1-.9-1.9-1.9-1.9H43.4c-1 0-1.9.9-1.9 1.9V72c0 1 .9 1.9 1.9 1.9h11.2c1 0 1.9-.9 1.9-1.9V38.3zm-22.5 0c0-1-.9-1.9-1.9-1.9H20.9c-1 0-1.9.9-1.9 1.9V77c0 1 .9 1.9 1.9 1.9h11.2c1 0 1.9-.9 1.9-1.9V38.3zm45 0c0-1-.9-1.9-1.9-1.9H65.9c-1 0-1.9.9-1.9 1.9V67c0 1 .9 1.9 1.9 1.9h11.2c1 0 1.9-.9 1.9-1.9V38.3zm0-17.5c0-1-.9-1.9-1.9-1.9H20.9c-1 0-1.9.9-1.9 1.9V27c0 1 .9 1.9 1.9 1.9h56.2c1 0 1.9-.9 1.9-1.9v-6.2z\"}},\nkey_dates:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M77.86 41.57a2.14 2.14 0 012.13 2v32.3a6.44 6.44 0 01-6.2 6.42H26.43a6.46 6.46 0 01-6.43-6.2V43.71a2.15 2.15 0 012-2.13h55.86zM49.21 47.8v.11l-2.87 9.2a.72.72 0 01-.74.55h-9.3a1 1 0 00-.63 1.69l.08.08 7.44 5.48a1 1 0 01.34.91v.12l-3.42 9.38a.91.91 0 001.32 1.1l.08-.06 8.05-6a1 1 0 011-.07l.09.07 8 6a.91.91 0 001.43-.94v-.1l-3.53-9.38a.93.93 0 01.15-.94l.09-.09 7.44-5.48a1 1 0 00-.43-1.76h-9.26a.9.9 0 01-.81-.43v-.12L50.88 48a.9.9 0 00-1.67-.2zM63.93 18a4.29 4.29 0 014.28 4.29v2.14h5.36A6.44 6.44 0 0180 30.86V33a2.14 2.14 0 01-2.14 2.14H22.14A2.14 2.14 0 0120 33v-2.14a6.44 6.44 0 016.43-6.43h5.36v-2.14a4.29 4.29 0 118.57 0v2.14h19.28v-2.14A4.3 4.3 0 0163.93 18z\"}},\nknowledge:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M32 59h13c1.1 0 2-.9 2-2V27c0-2.2-2-4-4-4H32.3C31 23 30 24 30 25.3V57c0 1.1.9 2 2 2zm44-30v32c0 2.2-1.8 4-4 4H28c-2.2 0-4-1.8-4-4V29c-3.3 0-6 2.7-6 6v30c0 3.3 2.7 6 6 6h19c1.1 0 2 .9 2 2s.9 2 2 2h6c1.1 0 2-.9 2-2s.9-2 2-2h19c3.3 0 6-2.7 6-6V35c0-3.3-2.7-6-6-6zM55 59h12.7c1.3 0 2.3-1 2.3-2.3V25c0-1.1-.9-2-2-2H57c-2 0-4 1.8-4 4v30c0 1.1.9 2 2 2z\"}},\nlead:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"circle\":{\"cx\":\"50\",\"cy\":\"29\",\"r\":\"9\"},\"path\":{\"d\":\"M78 44H22c-2 0-2.8 2.5-1.1 3.6L35.5 57c.7.5 1.1 1.4.8 2.2l-5.5 18.3c-.6 2 2 3.4 3.5 1.9l14.2-15c.8-.9 2.2-.9 3 0l14.2 15c1.4 1.5 4 .1 3.5-1.9l-5.5-18.3c-.2-.8.1-1.7.8-2.2l14.6-9.4c1.7-1.1.9-3.6-1.1-3.6z\"}},\nlead_insights:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M50 22c-15.5 0-28 12.6-28 28s12.6 28 28 28c15.5 0 28-12.6 28-28S65.5 22 50 22zm0 52.7c-13.6 0-24.7-11-24.7-24.7 0-13.6 11-24.7 24.7-24.7 13.6 0 24.7 11 24.7 24.7 0 13.6-11.1 24.7-24.7 24.7z\"},\"g\":{\"path\":{\"d\":\"M49 49.2c0 2.4-.5 4.5-1.4 6.2-.9 1.7-2.3 3-4.1 4-1.8.9-4 1.4-6.6 1.4v-2c2.9 0 5.2-.7 6.9-2s2.6-3.2 2.8-5.6c-1.6 1.6-3.5 2.4-5.7 2.4-1.2 0-2.3-.3-3.3-.8s-1.7-1.2-2.3-2.2c-.6-1-.8-2.1-.8-3.4 0-1.3.3-2.5.9-3.6.6-1.1 1.4-1.9 2.5-2.5 1.1-.6 2.4-.9 3.9-.9 2.4 0 4.3.8 5.5 2.4s1.7 3.6 1.7 6.6zm-2.4-.4c0-2.3-.4-4-1.1-5.1-.7-1.1-2-1.7-3.7-1.7-1.5 0-2.7.4-3.6 1.3-.8.9-1.2 2.1-1.2 3.6s.4 2.6 1.2 3.4c.8.8 1.9 1.2 3.3 1.2 1.1 0 2-.2 2.9-.7s1.5-1.2 2.2-2zM66.1 49.2c0 2.4-.5 4.5-1.4 6.2-.9 1.7-2.3 3-4.1 4-1.8.9-4 1.4-6.6 1.4v-2c2.9 0 5.2-.7 6.9-2s2.6-3.2 2.8-5.6c-1.6 1.6-3.5 2.4-5.7 2.4-1.2 0-2.3-.3-3.3-.8s-1.7-1.2-2.3-2.2c-.6-1-.8-2.1-.8-3.4 0-1.3.3-2.5.9-3.6.6-1.1 1.4-1.9 2.5-2.5 1.1-.6 2.4-.9 3.9-.9 2.4 0 4.3.8 5.5 2.4s1.7 3.6 1.7 6.6zm-2.5-.4c0-2.3-.4-4-1.1-5.1-.7-1.1-2-1.7-3.7-1.7-1.5 0-2.7.4-3.6 1.3-.8.9-1.2 2.1-1.2 3.6s.4 2.6 1.2 3.4c.8.8 1.9 1.2 3.3 1.2 1.1 0 2-.2 2.9-.7s1.6-1.2 2.2-2z\"}}},\nlead_list:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M37.1 62.3H77c1.1 0 2 .9 2 2v4c0 1.1-.9 2-2 2H37.1c-1.1 0-2-.9-2-2v-4c0-1.1.9-2 2-2zM25 70.3h-4c-1.1 0-2-.9-2-2v-4c0-1.1.9-2 2-2h4c1.1 0 2 .9 2 2v4c.1 1-.7 1.9-1.8 2H25zM25 52.4h-4c-1.1 0-2-.9-2-2v-4c0-1.1.9-2 2-2h4c1.1 0 2 .9 2 2v4c.1 1-.7 1.9-1.8 2H25zM25 34.5h-4c-1.1 0-2-.9-2-2v-4c0-1.1.9-2 2-2h4c1.1 0 2 .9 2 2v4c.1 1-.7 1.9-1.8 2H25zM37.1 44.4h35.1c1.1 0 2 .9 2 2v4c0 1.1-.9 2-2 2H37.1c-1.1 0-2-.9-2-2v-4c0-1.1.9-2 2-2zM37.1 26.6H77c1.1 0 2 .9 2 2v4c0 1.1-.9 2-2 2H37.1c-1.1 0-2-.9-2-2v-4c0-1.1.9-2 2-2z\"}},\nletterhead:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M73.8 20H26.2c-3.4 0-6.2 2.8-6.2 6.2v47.6c0 3.4 2.8 6.2 6.2 6.2h47.6c3.4 0 6.2-2.8 6.2-6.2V26.2c0-3.4-2.8-6.2-6.2-6.2zM71 69.1c0 .8-.8 1.4-1.6 1.4H30.5c-.8 0-1.4-.8-1.4-1.6v-9c0-.8.8-1.4 1.6-1.4h38.9c.8 0 1.4.8 1.4 1.6v9zm0-29.2c0 .8-.8 1.4-1.6 1.4H30.5c-.8 0-1.4-.8-1.4-1.6v-9c0-.8.8-1.4 1.6-1.4h38.9c.8 0 1.4.8 1.4 1.6v9z\"}},\nlightning_component:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M61.1 20H44.2c-2.5 0-4.7 1.5-5.6 3.8L28.1 50.9c-.8 2 .7 4.1 2.8 4.1h17.2l-6.4 22.4c-.6 2.1 2 3.5 3.4 1.8L71.4 48c1.7-1.9.3-5-2.3-5h-13l11.4-18.4c1.2-2-.2-4.6-2.6-4.6h-3.8z\"}},\nlightning_usage:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M19 73.9c0 2.8 2.2 5 5 5h53c1.1 0 2-.9 2-2v-2.1c0-1.1-.9-2-2-2H26.9c-1 0-1.9-.9-1.9-1.9v-50c0-1.1-.9-2-2-2h-2c-1.1 0-2 .9-2 2v53z\"},{\"d\":\"M34.4 57.9c-.8 0-1.5-.3-2.1-.9-1.2-1.2-1.2-3.1 0-4.2l16-15.9c1.2-1.2 3.1-1.2 4.2 0l7.7 7.7 13.5-13.7c1.2-1.2 3.1-1.2 4.2 0 1.2 1.2 1.2 3.1 0 4.2L62.4 50.8c-.6.6-1.3.9-2.1.9s-1.6-.3-2.1-.9l-7.8-7.7L36.6 57c-.6.6-1.4.9-2.2.9z\"}]},\nlink:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M51.5 69.4c-.9-.1-1.7-.2-2.6-.4-.9-.2-1.8-.4-2.7-.7-.5-.2-1.1-.1-1.5.3l-.6.6c-3.6 3.6-9.4 4-13.3.7-4.2-3.7-4.4-10.1-.5-14l9.5-9.5c1.2-1.2 2.7-2.1 4.3-2.5 2-.5 4.1-.4 6 .4 1.2.5 2.3 1.2 3.2 2.1.5.5.9 1.1 1.2 1.7.5.8 1.6 1 2.3.3l3.5-3.5c.5-.5.6-1.3.1-1.9-.5-.7-1.1-1.4-1.7-2-.9-.9-1.9-1.7-3-2.4-1.8-1.1-3.8-1.9-5.8-2.3-3.9-.8-8.1-.2-11.7 1.8-1.4.8-2.7 1.7-3.9 2.9l-9.2 9.2c-6.6 6.6-7.1 17.3-.8 24.1 6.7 7.2 17.9 7.4 24.8.5l3.1-3.1c1-.7.5-2.2-.7-2.3z\"},{\"d\":\"M74.5 24.5c-6.8-6.3-17.6-5.8-24.1.8L47.5 28c-.9.9-.3 2.3.9 2.4 1.8.1 3.5.5 5.3 1.1.5.2 1.1 0 1.5-.3l.6-.6c3.6-3.6 9.4-4 13.3-.7 4.2 3.7 4.4 10.1.5 14l-9.5 9.5c-1.2 1.2-2.7 2.1-4.3 2.5-2 .5-4.1.4-6-.4-1.2-.5-2.3-1.2-3.2-2.1-.5-.5-.9-1-1.2-1.6-.5-.8-1.6-1-2.3-.3L39.6 55c-.5.5-.6 1.3-.1 1.9.5.7 1.1 1.4 1.7 2 .9.9 1.9 1.7 3 2.4 1.8 1 3.8 1.7 5.8 2.1 3.9.8 8.1.2 11.7-1.8 1.4-.8 2.7-1.7 3.9-2.9l9.5-9.5c6.7-6.8 6.6-18.1-.6-24.7z\"}]},\nlist_email:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M64.9 34.9H30.3c-2.7 0-4.8 2.2-4.8 4.8v.8c0 .4.4.8.8.8h32.1c2.7 0 4.8 2.2 4.8 4.8v23c0 .4.4.8.8.8h.8c2.7 0 4.8-2.2 4.8-4.8V39.7c.1-2.6-2.1-4.8-4.7-4.8z\"},{\"d\":\"M75.3 24.6H40.7c-2.7 0-4.8 2.2-4.8 4.8v.8c0 .4.4.8.8.8h32.1c2.7 0 4.8 2.2 4.8 4.8v23c0 .4.4.8.8.8h.8c2.7 0 4.8-2.2 4.8-4.8V29.4c.1-2.6-2.1-4.8-4.7-4.8z\"},{\"d\":\"M38.5 64.2c.5.5 1.2.5 1.7 0l18.3-17c.3-.6.2-1.7-1.1-1.7l-36.1.1c-1 0-1.8.9-1.1 1.7l18.3 16.9zm20.3-10.4c0-.8-1-1.3-1.6-.7L42.9 66.3c-1 .9-2.2 1.4-3.5 1.4-1.3 0-2.5-.5-3.5-1.3L21.7 53.1c-.6-.6-1.6-.2-1.6.7-.1-.2-.1 18.4-.1 18.4 0 1.8 1.5 3.2 3.2 3.2h32.3c1.8 0 3.2-1.5 3.2-3.2V53.8z\"}]},\nlive_chat:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M49.5 21.9c-16.7 0-30 12.3-30 27.4 0 4.8 1.4 9.3 3.6 13.3.4.6.5 1.4.3 2.1l-3.9 10.7c-.4 1 .6 1.9 1.6 1.6L32 72.9c.6-.3 1.4-.1 2.1.3 4.5 2.5 9.9 4 15.7 4 16.4-.2 29.8-12.3 29.8-27.6-.1-15.5-13.5-27.7-30.1-27.7zm-15 32.6c-2.8 0-5-2.3-5-5 0-2.8 2.3-5 5-5 2.8 0 5 2.3 5 5s-2.3 5-5 5zm15 0c-2.8 0-5-2.3-5-5 0-2.8 2.3-5 5-5 2.8 0 5 2.3 5 5s-2.2 5-5 5zm15.1 0c-2.8 0-5-2.3-5-5 0-2.8 2.3-5 5-5s5 2.3 5 5-2.3 5-5 5z\"}},\nlive_chat_visitor:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M50 22.2c-16.6 0-30 12.5-30 28 0 5 1.4 9.6 3.8 13.7.3.5.4 1.1.2 1.6l-2.8 8.9c-.5 1.6 1 3 2.6 2.5l8.8-3.1c.6-.2 1.2-.1 1.7.2 4.6 2.7 10 4.2 15.8 4.2 16.6 0 30-12.5 30-28-.1-15.5-13.6-28-30.1-28zm-5.5 26.5c2.4-1 2.7-1.9 2.7-2.9 0-1.1-.6-2-1.4-2.7-1.4-1.2-2.2-3-2.2-5 0-3.8 2.4-7 6.4-7s6.3 3.2 6.3 7c0 2-.7 3.8-2.1 5-.8.7-1.4 1.6-1.4 2.7 0 1 .3 1.9 2.6 2.8C58.8 50 61.8 52 62 55c.2 2-1.3 4.1-3.2 4.1H41.4C39.5 59.1 38 57 38 55c0-3 3.2-4.8 6.5-6.3zm-3.8 20.5c-1.7 0-3.1-1.4-3.1-3.1 0-1.7 1.4-3.1 3.1-3.1 1.7 0 3.1 1.4 3.1 3.1s-1.4 3.1-3.1 3.1zm9.3 0c-1.7 0-3.1-1.4-3.1-3.1 0-1.7 1.4-3.1 3.1-3.1 1.7 0 3.1 1.4 3.1 3.1s-1.4 3.1-3.1 3.1zm9.3 0c-1.7 0-3.1-1.4-3.1-3.1 0-1.7 1.4-3.1 3.1-3.1s3.1 1.4 3.1 3.1-1.5 3.1-3.1 3.1z\"}},\nlocation:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M77.5 28.28l-18-9a3.2 3.2 0 00-2.62 0l-16.63 8.38-16.75-8.38a3.1 3.1 0 00-3.13.12A2.88 2.88 0 0019 21.91v45a2.92 2.92 0 001.63 2.62l18 9a3.2 3.2 0 002.63 0L58 70.16l16.63 8.38a2.52 2.52 0 001.37.37 2.75 2.75 0 001.62-.5 2.88 2.88 0 001.38-2.5v-45a2.81 2.81 0 00-1.5-2.63zM72.75 34v23.78a1.87 1.87 0 01-2.5 1.88c-4.63-1.75-.88-9.5-4.25-13.75-3.13-3.88-7.13.13-11-6-3.63-5.91 1.25-10.13 5.75-12.38a2.13 2.13 0 011.75 0l9.25 4.63a2 2 0 011 1.84zM47.62 68.78a2.1 2.1 0 01-2.25-.25 6.57 6.57 0 01-2.25-4.63c0-3-5-2-5-8 0-4.87-5.75-6.13-10.63-5.63a1.88 1.88 0 01-2.12-2V30a1.86 1.86 0 012.75-1.75l10.75 5.38a.44.44 0 01.25.13l.37.25c4.5 2.63 3.62 4.75 1.75 8-2.13 3.62-3 0-6-1s-6 1-5 3 4 0 6 2 2 5 8 3 7-1 9 1a6.31 6.31 0 010 9c-1.75 1.75-2.5 5.5-3.25 8a2 2 0 01-1 1.25z\"}},\nlocation_permit:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M66.47 31.75l-11.4-11.39a1.33 1.33 0 00-.89-.36 1.21 1.21 0 00-1.24 1.25v9.08a3.38 3.38 0 003.38 3.38h9.08a1.22 1.22 0 001.25-1.25c.17-.18.17-.35-.18-.71zm.35 9.08A1.78 1.78 0 0065 39.05H52.94a5.17 5.17 0 01-5.17-5.16V21.78A1.78 1.78 0 0046 20H28.72a5.17 5.17 0 00-5.16 5.16v41.49a5.17 5.17 0 005.16 5.16h17.63c1.42 0 1.78-.89 1.6-2.49s-.53-7.84 3.74-12.82 11.4-5.34 12.46-5.34 2.85 0 2.67-1.61zm-37.21-10l4.28-.53a.18.18 0 00.18-.18l2-3.92a.55.55 0 01.72 0l1.95 3.92.18.18 4.28.53a.34.34 0 01.17.53l-3.2 3.21V35l.71 4.27c0 .18-.18.53-.53.35l-3.74-1.95h-.41l-3.74 1.95c-.18.18-.53 0-.53-.35l.53-4.27v-.4l-3.2-3a1.39 1.39 0 01.35-.74zm15.67 29a1.78 1.78 0 01-1.78 1.78H32.28a1.78 1.78 0 01-1.78-1.78V58.1a1.79 1.79 0 011.78-1.78H43.5a1.78 1.78 0 011.78 1.78zm9.44-10.5a1.78 1.78 0 01-1.78 1.78H32.28a1.78 1.78 0 01-1.78-1.78V47.6a1.79 1.79 0 011.78-1.78h20.84a1.78 1.78 0 011.78 1.78v1.78zM64.15 63.8a2.49 2.49 0 102.5 2.49 2.68 2.68 0 00-2.5-2.49z\"},{\"data-name\":\"Shape\",\"d\":\"M64.15 55.43a12.29 12.29 0 1012.29 12.29 12.31 12.31 0 00-12.29-12.29zM64.51 75a.53.53 0 01-.71 0c-1.25-1.06-5.52-4.62-5.52-8.72a5.88 5.88 0 0111.75 0c-.18 4.11-4.27 7.72-5.52 8.72z\"}]},\nlog_a_call:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M69.7 20H32.1c-3.3 0-6.1 3-6.1 6v2h-2c-2.2 0-4 1.8-4 4s1.8 4 4 4h2v10h-2c-2.2 0-4 1.8-4 4s1.8 4 4 4h2v10h-2c-2.2 0-4 1.8-4 4s1.8 4 4 4h2v2c0 3 2.8 6 6.1 6h37.6c3.3 0 6.3-3 6.3-6.3v-48c0-3.3-3-5.7-6.3-5.7zm-3.6 40.3l-2.8 2.8c-.6.6-1.5 1-2.3.9-6.6-.4-12.8-3.4-17.2-7.7-4.4-4.4-7.4-10.6-7.7-17.2 0-.9.3-1.7.9-2.3l2.8-2.8c1.3-1.3 3.5-1.2 4.6.3l2.6 3.2c.9 1.1.9 2.6.1 3.8l-2.2 3.1c-.3.4-.3 1 .1 1.3l4.6 5.1 5.1 4.6c.4.4.9.4 1.3.1l3.1-2.2c1.1-.8 2.7-.8 3.8.1l3.2 2.6c1.2.8 1.3 3 0 4.3z\"}},\nlogging:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M77.2 56.2h-3.7c-1 0-1.8 1-1.8 1.8v12.3c0 1-.9 1.8-1.8 1.8H29.3c-1 0-1.8-.9-1.8-1.8V58c0-.9-.9-1.8-1.8-1.8H22c-1 0-1.8 1-1.8 1.8v16.6c0 2.7 2.2 4.9 4.9 4.9h49.1c2.7 0 4.9-2.2 4.9-4.9V58c-.1-.9-.9-1.8-1.9-1.8zM50.8 21c-.7-.7-1.8-.7-2.6 0L31.6 37.6c-.7.7-.7 1.8 0 2.6l2.6 2.6c.7.7 1.8.7 2.6 0l6.9-6.9c.7-.7 2.2-.2 2.2.9v26c0 1 .7 1.8 1.7 1.8h3.7c1 0 2-1 2-1.8V36.9c0-1.1 1.2-1.6 2.1-.9l6.9 6.9c.7.7 1.8.7 2.6 0l2.6-2.6c.7-.7.7-1.8 0-2.6-.2 0-16.7-16.7-16.7-16.7z\"}},\nloop:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M76.5 58.3c0 .1 0 .2-.1.2-.3 1.1-.7 2.2-1.1 3.3-.5 1.2-1 2.3-1.6 3.4-1.2 2.2-2.7 4.2-4.5 6-1.7 1.8-3.7 3.4-5.9 4.7-2.2 1.3-4.5 2.3-7 3-2.5.7-5.1 1.1-7.7 1.1C32.8 80 20 67.2 20 51.3s12.8-28.6 28.6-28.6c5.3 0 10.3 1.5 14.6 4h.1c2.1 1.2 4 2.7 5.6 4.4.5.4.8.7 1.2 1.2.9.8 1.6.3 1.6-.9V22c0-1.1.9-2 2-2h4c1.1 0 2 .9 2.2 2v24.5c0 .9-.8 1.8-1.8 1.8H53.6c-1.1 0-1.9-.8-1.9-1.9v-4.2c0-1.1.9-2 2-2h9.4c.8 0 1.4-.2 1.7-.7-3.6-5-9.6-8.3-16.2-8.3-11.1 0-20.1 9-20.1 20.1s9 20.1 20.1 20.1c8.7 0 16.1-5.5 18.9-13.3 0 0 .3-1.8 1.7-1.8h5.7c.8 0 1.6.6 1.6 1.5v.5z\"}},\nmacros:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M64.7 67.5c-.2.5-.7.6-1.2.6h-5.8c-.5 0-.9-.4-.9-.9 0-.1.1-.4.1-.5l.1-.1.2-.2L70 50.9c.4-.5.5-1.2.2-1.7 0-.1-.1-.2-.1-.2L56.9 33.2c-.1-.1-.1-.4-.1-.5 0-.5.5-.9.9-.9h5.8c.5 0 1 .1 1.2.6L78.4 49c.2.2.2.6.2.9 0 .4-.1.7-.2 1L64.7 67.5z\"},{\"d\":\"M50.4 67.5c-.2.5-.7.6-1.2.6h-5.8c-.5 0-.9-.4-.9-.9 0-.1.1-.4.1-.5l.1-.1.2-.2 12.7-15.5c.4-.5.5-1.2.2-1.7 0-.1-.1-.2-.1-.2L42.6 33.2c-.1-.1-.1-.4-.1-.5 0-.5.5-.9.9-.9h5.8c.5 0 1 .1 1.2.6L64.1 49c.2.2.2.6.2.9 0 .4-.1.7-.2 1L50.4 67.5z\"},{\"d\":\"M36 67.5c-.2.5-.7.6-1.2.6H23.9c-.5 0-.9-.4-.9-.9 0-.1.1-.4.1-.5l.1-.1.2-.2 12.7-15.5c.4-.5.5-1.2.2-1.7 0-.1-.1-.2-.1-.2l-13-15.8c-.2-.1-.2-.3-.2-.5 0-.5.5-.9.9-.9h10.8c.5 0 1 .1 1.2.6L49.6 49c.2.2.2.6.2.9 0 .4-.1.7-.2 1L36 67.5z\"}]},\nmaintenance_asset:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M46.5 30.5c.2.5.6.8 1.1.8h27.5c1.3 0 2.7.3 3.9.8.5.3 1.1-.1 1.1-.8.1-2.8-2.1-5-4.9-5.1H45c-.3 0-.6.2-.6.5 0 .1 0 .3.1.4l2 3.4z\"},{\"d\":\"M75.1 36.4H46.7c-1.8 0-3.4-1-4.4-2.5l-4.4-7.6c-.8-1.6-2.5-2.6-4.3-2.6h-8.5c-2.8 0-5 2.2-5 5v45.9c-.1 2.8 2.1 5 4.9 5.1h50.1c2.8 0 5-2.2 5-5V41.5c.1-2.8-2.1-5-4.9-5.1h-.1zM62 69.7c-1.1 1.2-2.9 1.2-4.1.1l-.1-.1-9.9-9.9c-.6.3-1.3.4-2 .5-4.2.5-8-2.6-8.5-6.8v-.8c0-.7.1-1.5.3-2.2.1-.2.3-.4.6-.3.1 0 .1 0 .1.1l4.3 4.3c.3.3.9.3 1.2 0l3-3c.3-.3.3-.9 0-1.2l-4.3-4.3c-.2-.2-.1-.5.1-.6l.1-.1c.7-.2 1.5-.3 2.2-.3 4.2 0 7.6 3.4 7.6 7.7v.8c-.1.7-.3 1.3-.5 2l9.9 9.9c1.3 1.1 1.5 2.9.4 4.2-.2 0-.2.1-.4 0z\"}]},\nmaintenance_plan:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M65.7 34h7.9c.9 0 1.7-.8 1.7-1.7 0-.4-.2-.9-.5-1.2L63.5 20c-.3-.3-.7-.5-1.1-.5-.9 0-1.7.8-1.7 1.7v7.9c.2 2.7 2.3 4.8 5 4.9z\"},{\"d\":\"M72.7 41H60.5c-4 0-7.2-3.2-7.3-7.2v-12c.1-1.2-.8-2.2-2-2.3H31.6c-4 0-7.2 3.2-7.3 7.2v45.7c0 4 3.3 7.2 7.3 7.2h36.2c4 0 7.2-3.2 7.3-7.2V43.5c.1-1.3-1-2.5-2.4-2.5zm-6.9 30.8c-.8.8-1.8 1.2-3 1.2-1.1 0-2.2-.4-3-1.2L46 58c-.9.4-1.8.6-2.8.7-5.8.7-11-3.5-11.7-9.3-.2-1.5 0-3 .4-4.4.1-.4.6-.5 1-.2l6 6c.4.5 1.2.5 1.6.1 0 0 .1 0 .1-.1l4.2-4.2c.5-.4.5-1.2.1-1.6 0 0 0-.1-.1-.1l-6-6c-.2-.2-.2-.6 0-.9.1-.1.1-.1.2-.1 1-.2 2.1-.4 3.1-.4 5.9 0 10.6 4.7 10.7 10.6 0 .4 0 .8-.1 1.2-.1 1-.4 1.9-.7 2.8L65.8 66c1.6 1.6 1.6 4.2 0 5.8z\"}]},\nmaintenance_work_rule:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M79.67 49.23l-10-10a1.36 1.36 0 00-1.86 0l-1.86 1.87a1.34 1.34 0 000 1.86L69 46a.89.89 0 01-.09 1.27.87.87 0 01-.53.22H41l16.33-16.25a.89.89 0 011.27.09.87.87 0 01.22.53v4.46a1.18 1.18 0 001.1 1.24h2.71a1.17 1.17 0 001.24-1.09V22a1.17 1.17 0 00-1.1-1.24H48.53a1.36 1.36 0 00-1.24 1.37v2.49a1.18 1.18 0 001.12 1.24H53a.88.88 0 01.86.9.89.89 0 01-.24.58l-20.1 20.03H21.24A1.28 1.28 0 0020 48.69v2.64a1.46 1.46 0 001.36 1.37h12.41l20 20a.9.9 0 01-.1 1.27.85.85 0 01-.52.21h-4.5a1.17 1.17 0 00-1.24 1.1.33.33 0 000 .14v2.49a1.45 1.45 0 001.24 1.37H62.8a1.18 1.18 0 001.2-1.12V63.74a1.18 1.18 0 00-1.12-1.24h-2.7a1.17 1.17 0 00-1.24 1.09v4.61a.88.88 0 01-.89.87.9.9 0 01-.6-.25L41.08 52.7H68.5a.89.89 0 01.62 1.48l-3.22 3.1a1.35 1.35 0 000 1.87L67.76 61a1.34 1.34 0 001.86 0l10-9.92a1.36 1.36 0 00.05-1.85z\"}},\nmarketing_actions:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M47.5 26c-5.1.3-9.2 4.4-9.5 9.5.2-5.2 4.3-9.3 9.5-9.5zM58 35.5c-.3-5.1-4.4-9.2-9.5-9.5 5.2.2 9.3 4.3 9.5 9.5zM63.6 54.8l-10.2-3.5c-.8-.3-1.4-1-1.4-1.9V35.8c0-2.1-1.7-3.8-3.8-3.8h-.4c-2.1 0-3.8 1.7-3.8 3.8v26.9c0 2.3-2.9 3.2-4.1 1.2l-2.6-5.5c-1.4-2.4-4.5-3-6.7-1.4L29 58.2l8.6 20.4c.4.9 1.2 1.4 2.2 1.4h22.6c1.1 0 2-.8 2.3-1.8l4-14.3c.8-3.9-1.4-7.8-5.1-9.1z\"},{\"d\":\"M38 46.2V36v-.5c.3-5.1 4.4-9.2 9.5-9.5h1c5.1.3 9.2 4.4 9.5 9.5v10.7c0 .9 1.1 1.3 1.7.7C62.4 44 64 40.2 64 36c0-9.3-8-16.8-17.5-15.9-7.2.7-13.2 6.3-14.3 13.4-.8 5 .8 9.9 4.1 13.4.6.6 1.7.2 1.7-.7z\"}]},\nmedication_ingredient:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M61.12 21.67H33.89A1.36 1.36 0 0032.53 23v3.74A1.37 1.37 0 0033.89 28h27.2a1.37 1.37 0 001.36-1.29V23a1.36 1.36 0 00-1.33-1.33z\"},{\"d\":\"M68.11 56.27a11.14 11.14 0 1011.13 11.15 11.1 11.1 0 00-11.09-11.15zm0 5.61a1.4 1.4 0 11-1.4 1.4 1.37 1.37 0 011.35-1.39zm2.32 9.75A.43.43 0 0170 72h-3.75a.42.42 0 01-.46-.38v-.92a.5.5 0 01.46-.51.43.43 0 00.46-.4v-1.88a.5.5 0 00-.46-.51.42.42 0 01-.46-.38v-1a.5.5 0 01.46-.51H69a.5.5 0 01.47.51v3.71a.42.42 0 00.44.42.5.5 0 01.47.51z\"},{\"d\":\"M54 67.4a14.15 14.15 0 0110.76-13.71v-13a9.27 9.27 0 00-9.17-9.35h-16a9.27 9.27 0 00-9.36 9.16v2.6h17a1.5 1.5 0 011.5 1.5v17.09a1.5 1.5 0 01-1.5 1.5h-17v7.48a1.44 1.44 0 001.5 1.33h23a13.84 13.84 0 01-.73-4.6z\"}],\"rect\":[{\"x\":\"30.28\",\"y\":\"47.61\",\"width\":\"13.37\",\"height\":\"3.09\",\"rx\":\"1\"},{\"x\":\"30.28\",\"y\":\"55.28\",\"width\":\"9.37\",\"height\":\"3.09\",\"rx\":\"1\"}]},\nmerge:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M70.5 72.5c-7-3.4-12-9.4-14.5-16.3-1-2.6-1.6-5.3-1.9-7.9v-4.4h13.6c1.1 0 1.7-1.2 1-2.2L51 20.5c-.6-.8-2-.8-2.5 0L31.2 41.7c-.6.8 0 2.2 1 2.2h13.7V48.3c-.3 2.7-1 5.5-1.9 7.9-2.6 6.8-7.5 12.9-14.5 16.3-1 .4-1.4 1.6-1 2.6l1.6 3.8c.5 1.1 1.6 1.4 2.7.8 7.6-3.6 13.5-9.4 17.2-16.2 3.7 6.9 9.6 12.6 17.3 16.2 1.1.5 2.2.4 2.7-.8l1.6-3.8c.4-1-.1-2.2-1.1-2.6z\"}},\nmessaging_conversation:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M54.686 71.349c10.594-3.909 16.829-10.49 18.705-19.743C77.926 53.882 81 58.347 81 63.5c0 2.202-.564 4.243-1.544 6.086l1.689 5.37c.402 1.285-.803 2.41-2.089 2.009l-5.219-1.84C71.676 76.332 69.165 77 66.476 77c-4.869 0-9.167-2.227-11.79-5.651zM44.098 22c13.335 0 24.099 10.045 24.179 22.5 0 12.455-10.764 22.5-24.098 22.5-4.66 0-8.997-1.205-12.692-3.375a1.62 1.62 0 00-1.366-.16l-7.069 2.49c-1.285.402-2.49-.723-2.088-2.009l2.25-7.151c.16-.402.08-.884-.162-1.286C21.125 52.214 20 48.518 20 44.5 20 32.045 30.764 22 44.098 22zM32 37a2 2 0 00-2 2v2a2 2 0 002 2h26a2 2 0 002-2v-2a2 2 0 00-2-2H32zm0 11a2 2 0 00-2 2v2a2 2 0 002 2h14a2 2 0 002-2v-2a2 2 0 00-2-2H32z\"}},\nmessaging_session:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M50 22c16.6 0 30 12.5 30.1 28 0 15.5-13.4 28-30 28-5.8 0-11.2-1.5-15.8-4.2-.5-.3-1.1-.4-1.7-.2l-8.8 3.1c-1.6.5-3.1-.9-2.6-2.5l2.8-8.9c.2-.5.1-1.1-.2-1.6C21.4 59.6 20 55 20 50c0-15.5 13.4-28 30-28zm13 23c.6 0 1-.4 1-1v-6c0-.6-.4-1-1-1H37c-.6 0-1 .4-1 1v6c0 .6.4 1 1 1h26zM43 65c.6 0 1-.4 1-1V52c0-.6-.4-1-1-1h-6c-.6 0-1 .4-1 1v12c0 .6.4 1 1 1h6zm20 0c.6 0 1-.4 1-1V52c0-.6-.4-1-1-1H51c-.6 0-1 .4-1 1v12c0 .6.4 1 1 1h12z\"}},\nmessaging_user:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M50 22c16.6 0 30 12.5 30.1 28 0 15.5-13.4 28-30 28-5.8 0-11.2-1.5-15.8-4.2-.5-.3-1.1-.4-1.7-.2l-8.8 3.1c-1.6.5-3.1-.9-2.6-2.5l2.8-8.9c.2-.5.1-1.1-.2-1.6C21.4 59.6 20 55 20 50c0-15.5 13.4-28 30-28zm8.757 42c1.915 0 3.426-2.108 3.225-4.115-.1-3.01-3.225-5.018-6.55-6.423-2.317-.903-2.62-1.806-2.62-2.81 0-1.003.605-1.906 1.411-2.609 1.41-1.204 2.116-3.01 2.116-5.018 0-3.814-2.317-7.025-6.348-7.025-4.03 0-6.348 3.211-6.348 7.025 0 2.007.806 3.814 2.116 5.018.806.703 1.41 1.606 1.41 2.61 0 1.003-.302 1.906-2.62 2.91-3.325 1.505-6.448 3.312-6.549 6.322C38 61.892 39.511 64 41.426 64h17.331z\"}},\nmetrics:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M72 22H28c-3.3 0-6 2.7-6 6v44c0 3.3 2.7 6 6 6h44c3.3 0 6-2.7 6-6V28c0-3.3-2.7-6-6-6zM38 66c0 1.1-.9 2-2 2h-2c-1.1 0-2-.9-2-2V55c0-1.1.9-2 2-2h2c1.1 0 2 .9 2 2v11zm10 0c0 1.1-.9 2-2 2h-2c-1.1 0-2-.9-2-2V40c0-1.1.9-2 2-2h2c1.1 0 2 .9 2 2v26zm10 0c0 1.1-.9 2-2 2h-2c-1.1 0-2-.9-2-2V34c0-1.1.9-2 2-2h2c1.1 0 2 .9 2 2v32zm10 0c0 1.1-.9 2-2 2h-2c-1.1 0-2-.9-2-2V47c0-1.1.9-2 2-2h2c1.1 0 2 .9 2 2v19z\"}},\nmulti_picklist:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M73 20H41c-3.3 0-6 2.7-6 6v1c0 .6.4 1 1 1h29c3.3 0 6 2.7 6 6v31c0 .6.4 1 1 1h1c3.3 0 6-2.7 6-6V26c0-3.3-2.7-6-6-6z\"},{\"d\":\"M59 34H27c-3.3 0-6 2.7-6 6v34c0 3.3 2.7 6 6 6h32c3.3 0 6-2.7 6-6V40c0-3.3-2.7-6-6-6zM35 70c0 1.1-.9 2-2 2h-2c-1.1 0-2-.9-2-2v-2c0-1.1.9-2 2-2h2c1.1 0 2 .9 2 2v2zm0-12c0 1.1-.9 2-2 2h-2c-1.1 0-2-.9-2-2v-2c0-1.1.9-2 2-2h2c1.1 0 2 .9 2 2v2zm0-12c0 1.1-.9 2-2 2h-2c-1.1 0-2-.9-2-2v-2c0-1.1.9-2 2-2h2c1.1 0 2 .9 2 2v2zm22 24c0 1.1-.9 2-2 2H41.2c-1.1 0-2-.9-2-2v-2c0-1.1.9-2 2-2H55c1.1 0 2 .9 2 2v2zm0-12c0 1.1-.9 2-2 2H41.2c-1.1 0-2-.9-2-2v-2c0-1.1.9-2 2-2H55c1.1 0 2 .9 2 2v2zm0-12c0 1.1-.9 2-2 2H41.2c-1.1 0-2-.9-2-2v-2c0-1.1.9-2 2-2H55c1.1 0 2 .9 2 2v2z\"}]},\nmulti_select_checkbox:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M73 20H41c-3.3 0-6 2.7-6 6v1c0 .6.4 1 1 1h29c3.3 0 6 2.7 6 6v31c0 .6.4 1 1 1h1c3.3 0 6-2.7 6-6V26c0-3.3-2.7-6-6-6z\"},{\"d\":\"M59 34H27c-3.3 0-6 2.7-6 6v34c0 3.3 2.7 6 6 6h32c3.3 0 6-2.7 6-6V40c0-3.3-2.7-6-6-6zm-2.7 17L41 66.3c-.6.6-1.3.9-2.1.9-.7 0-1.5-.3-2.1-.9l-7.4-7.4c-.6-.6-.6-1.5 0-2.1l2.1-2.1c.6-.6 1.5-.6 2.1 0l5.3 5.3 13.2-13.2c.6-.6 1.5-.6 2.1 0l2.1 2.1c.5.6.5 1.6 0 2.1z\"}]},\nnews:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M78.3 26.9H31c-.9 0-1.7.8-1.7 1.7v35.2c0 1.4-1.3 2.5-2.7 2.3-1.2-.2-2-1.3-2-2.4V38.5c0-.7-.5-1.2-1.2-1.2h-1.7c-.9 0-1.7.8-1.7 1.7v29.4c0 2.5 2.1 4.6 4.6 4.6H75.4c2.5 0 4.6-2.1 4.6-4.6V28.7c0-1-.8-1.8-1.7-1.8zm-26 33.5c0 .7-.5 1.2-1.2 1.2H37.3c-.7 0-1.2-.5-1.2-1.2v-2.3c0-.7.5-1.2 1.2-1.2h13.8c.7 0 1.2.5 1.2 1.2v2.3zm0-9.2c0 .7-.5 1.2-1.2 1.2H37.3c-.7 0-1.2-.5-1.2-1.2v-2.3c0-.7.5-1.2 1.2-1.2h13.8c.7 0 1.2.5 1.2 1.2v2.3zm20.8 9.2c0 .7-.5 1.2-1.2 1.2H58.1c-.7 0-1.2-.5-1.2-1.2v-2.3c0-.7.5-1.2 1.2-1.2h13.8c.7 0 1.2.5 1.2 1.2v2.3zm0-9.2c0 .7-.5 1.2-1.2 1.2H58.1c-.7 0-1.2-.5-1.2-1.2v-2.3c0-.7.5-1.2 1.2-1.2h13.8c.7 0 1.2.5 1.2 1.2v2.3zm0-9.3c0 .7-.5 1.2-1.2 1.2H37.3c-.7 0-1.2-.5-1.2-1.2V35c0-.7.5-1.2 1.2-1.2h34.6c.7 0 1.2.5 1.2 1.2v6.9z\"}},\nnote:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M71.3 67l-1.1 1.1C69 69.3 67.3 70 65.6 70h-3.3c-3 0-6.3-2.3-6.3-6.5v-3.1c0-2.5 1.1-4 1.8-4.8L71.3 42c.4-.4.7-1.2.7-1.7V30c0-3.3-2.7-6-6-6H34c-3.3 0-6 3-6 6h-2c-2.2 0-4 1.8-4 4s1.8 4 4 4h2v8h-2c-2.2 0-4 1.8-4 4s1.8 4 4 4h2v8h-2c-2.2 0-4 1.8-4 4s1.8 4 4 4h2c0 4 2.7 6 6 6h32c3.3 0 6-2.7 6-6v-2.7c0-.6-.3-.7-.7-.3zM61 39c0 1.1-.9 2-2 2H39c-1.1 0-2-.9-2-2v-2c0-1.1.9-2 2-2h20c1.1 0 2 .9 2 2v2zm-9 24c0 1.1-.9 2-2 2H39c-1.1 0-2-.9-2-2v-2c0-1.1.9-2 2-2h11c1.1 0 2 .9 2 2v2zm3-12c0 1.1-.9 2-2 2H39c-1.1 0-2-.9-2-2v-2c0-1.1.9-2 2-2h14c1.1 0 2 .9 2 2v2z\"},{\"d\":\"M81.4 45.6l-1.2-1.2c-.8-.8-2-.8-2.8 0L62.1 59.9c-.1 0-.1.2-.1.3v3.3c0 .3 0 .5.3.5h3.3c.1 0 .3-.1.4-.1l15.4-15.4c.8-.9.8-2.1 0-2.9z\"}]}},\nnumber_input:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M74 80H26c-3.3 0-6-2.7-6-6V26c0-3.3 2.7-6 6-6h48c3.3 0 6 2.7 6 6v48c0 3.3-2.7 6-6 6zM28.1 30v40c0 1.1.9 2 2 2H70c1.1 0 2-.9 2-2V30c0-1.1-.9-2-2-2H30.1c-1.1 0-2 .9-2 2z\"},{\"d\":\"M63 42.8h-3.7l1.6-6.1v-.1c0-.2-.2-.5-.5-.5h-2.9c-.2 0-.4.2-.5.4l-1.6 6.3H48l1.6-6.1v-.1c0-.2-.2-.5-.5-.5h-2.9c-.2 0-.4.2-.5.4l-1.6 6.3H40c-.2 0-.4.1-.5.3l-.7 2.8v.1c0 .2.2.5.5.5h3.9l-1.8 7.1h-4c-.2 0-.4.1-.5.3l-.7 2.8v.1c0 .2.2.5.5.5h3.7l-1.6 6.2v.1c0 .2.2.5.5.5h2.9c.2 0 .4-.1.5-.4l1.6-6.4h7.3l-1.6 6v.1c0 .2.2.5.5.5h2.9c.2 0 .4-.1.5-.4l1.6-6.4h4.1c.2 0 .4-.1.5-.4l.7-2.8v-.1c0-.2-.2-.5-.5-.5h-3.8l1.8-7.1h3.9c.2 0 .4-.1.5-.4l.7-2.8c.1-.1-.1-.2-.4-.2zM52.7 53.6h-7.4l1.8-7.1h7.3l-1.7 7.1z\"}]},\nobservation_component:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M23.08 32.69h.35l20.55-3v29.12a.82.82 0 00.87.87h3.48a.82.82 0 00.87-.87V28.86l21.25-3.14a2.71 2.71 0 002.26-3 2.63 2.63 0 00-3-2.18l-17.11 2.4a8.48 8.48 0 00-6.1-2.53A8.8 8.8 0 0038.84 25l-16.2 2.43a2.63 2.63 0 00.44 5.23z\"},{\"d\":\"M72.1 52.63a2.52 2.52 0 00.35-2.7l-6.88-16.54a2.67 2.67 0 00-4.87 0l-7 16.54a2.71 2.71 0 00.17 2.44c.16.23 2.84 4.34 7.25 5.28a14.42 14.42 0 018.5-2.73h.25a20.29 20.29 0 002.23-2.29zM59.39 50.1l3.74-9 3.75 9zM39 57.85a2.52 2.52 0 00.35-2.7l-7-16.54a2.47 2.47 0 00-2.3-1.61 2.67 2.67 0 00-2.44 1.57l-7 16.54a2.68 2.68 0 00.18 2.44c.17.26 3.57 5.49 9.05 5.49 3.25.04 6.39-1.7 9.16-5.19zm-12.7-2.52l3.75-9 3.74 9zM55.13 69.44a14.43 14.43 0 01.25-2.65 21.85 21.85 0 00-8.79-1.88 21 21 0 00-13.32 4.7 1.84 1.84 0 00-.61 1.31V71a1.74 1.74 0 001.74 1.74h21.12a14.33 14.33 0 01-.39-3.3zM69.62 79.56a10.2 10.2 0 1110.21-10.19 10.16 10.16 0 01-10.21 10.19zm.91-12.69a1 1 0 00-.7.21c-.56.38-1.12.75-1.67 1.16a3.54 3.54 0 00-.53.56.27.27 0 000 .35.3.3 0 00.34.09c.14 0 .27-.1.4-.15a2.43 2.43 0 01.37-.16c.19-.06.28 0 .28.21a2.17 2.17 0 010 .25c-.39 1.61-.78 3.21-1.18 4.82a.89.89 0 00.45 1.06 1.15 1.15 0 001.16-.1c.54-.35 1.07-.71 1.58-1.11a5.52 5.52 0 00.72-.73.22.22 0 000-.28.27.27 0 00-.3-.11l-.38.14-.44.2c-.17.06-.26 0-.25-.19a2.63 2.63 0 01.06-.39c.37-1.5.73-3 1.1-4.51a1 1 0 00-1.01-1.32zm1.08-2.09a1.55 1.55 0 00-1.78-1.47 1.36 1.36 0 00-1.08 2 1.53 1.53 0 001.7.89 1.48 1.48 0 001.16-1.42z\"}]}},\nomni_supervisor:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M67.225 28.893C60.804 31.476 57.416 37.717 57.036 48h10.216a8 8 0 110 4H57.036c.38 10.283 3.768 16.524 10.19 19.107a8 8 0 11.14 4.291C58.27 72.62 53.483 64.663 53.035 52H47a2 2 0 110-4h6.035c.448-12.662 5.236-20.62 14.33-23.399a8 8 0 11-.14 4.291zM75 31a4 4 0 100-8 4 4 0 000 8zm0 46a4 4 0 100-8 4 4 0 000 8zm0-23a4 4 0 100-8 4 4 0 000 8zM45.074 68H22.463C19.933 68 18 65.62 18 62.942c.149-4.016 4.314-6.099 8.628-8.033 2.975-1.339 3.422-2.38 3.422-3.719s-.893-2.529-1.786-3.421c-1.785-1.637-2.677-3.868-2.677-6.546 0-4.909 2.975-9.223 8.33-9.223 5.356 0 8.33 4.314 8.33 9.223 0 2.678-.892 4.91-2.677 6.546-1.041.892-1.785 2.082-1.785 3.421 0 1.19.446 2.38 3.422 3.72 4.314 1.933 8.479 4.016 8.628 8.032C49.537 65.62 47.603 68 45.075 68z\"}},\noperating_hours:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M53 50.18a1.32 1.32 0 01-.35-1v-8.43a1.35 1.35 0 00-1.32-1.32h-2.61a1.35 1.35 0 00-1.32 1.32v10.66a1.85 1.85 0 00.35 1l6.52 6.52a1.28 1.28 0 001.85 0L58 57a1.28 1.28 0 000-1.85z\",\"fill-rule\":\"evenodd\"},{\"d\":\"M50 28.86A21.14 21.14 0 1071.18 50 21.2 21.2 0 0050 28.86zm0 37A15.85 15.85 0 1165.9 50 15.9 15.9 0 0150 65.85z\",\"fill-rule\":\"evenodd\"},{\"d\":\"M28.82 59.91a15.74 15.74 0 010-19.81L25.31 36a21 21 0 000 27.94zM71.23 40.12a15.74 15.74 0 010 19.81L74.64 64a21 21 0 000-27.94z\",\"fill-rule\":\"evenodd\"}]},\nopportunity:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M71.1 69H28.9c-1 0-1.9.9-1.9 1.9v.1c0 3.3 2.7 6 6 6h34c3.3 0 6-2.7 6-6v-.1c0-1-.9-1.9-1.9-1.9zM76 28c-3.3 0-6 2.7-6 6 0 1.8.8 3.5 2.1 4.6-1.7 3.9-5.6 6.6-10.2 6.4-5.3-.3-9.6-4.6-9.9-9.9 0-.9 0-1.7.2-2.5 2.2-.9 3.8-3 3.8-5.6 0-3.3-2.7-6-6-6s-6 2.7-6 6c0 2.5 1.6 4.7 3.8 5.6.2.8.2 1.6.2 2.5-.3 5.3-4.6 9.6-9.9 9.9-4.6.3-8.6-2.5-10.2-6.4 1.3-1.1 2.1-2.8 2.1-4.6 0-3.3-2.7-6-6-6s-6 2.7-6 6 2.7 6 6 6l2.8 21.4c.1.9.9 1.6 1.9 1.6h42.6c.9 0 1.7-.7 1.9-1.6L76 40c3.3 0 6-2.7 6-6s-2.7-6-6-6z\"}},\nopportunity_contact_role:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M64.9 47.4c-8.2 0-15 6.7-15 15 0 8.2 6.7 15 15 15s15-6.7 15-15-6.8-15-15-15zm7.3 13.1l-2.8 2.8c-.3.3-.4.6-.4.8l.7 4.2c.2 1.2-.9.5-.9.5L65.4 67c-.5-.3-1 0-1 0l-3.5 1.8c-.9.5-.9 0-.9-.4l.7-3.9c.1-.8-.3-1.1-.3-1.2l-2.5-2.4-.3-.3c-.3-.3-.5-.8.6-1l3.5-.5c.5-.1.8-.3.9-.5l1.9-3.9c.1-.3.5-.6.9.2l1.9 3.8c.1.2.4.3.6.4h.3l3.7.5h.1c.2.1.9.3.2.9z\"},{\"d\":\"M48.9 77.2c1 0 1.6-1.2 1-2-3.2-3.6-5-8.2-5-13 0-3.4 1.1-7.2 2.9-10.2 2.1-3.6 4.5-5.1 6.4-7.9 3.1-4.6 3.7-11.2 1.7-16.2-2-5.1-6.7-8.1-12.2-8s-10 3.5-11.7 8.6c-2 5.6-1.1 12.4 3.4 16.6 1.9 1.7 3.5 4.4 2.6 7-.2.5-.8 1.3-2.2 1.9-5.7 2.5-11.5 5.5-14.1 9.7-.5.8-1.5 2.8-1.6 5.6 0 .7 0 1.3.1 2.2 0 .4 0 .4.1.8.3 1.7 1.3 3.2 2.8 4.1.6.3 2 .8 4.7.8h21.1z\"}]},\nopportunity_splits:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M69.3 27.1C64.1 22.7 57.4 20 50 20c-16.5 0-30 13.5-30 30 0 7.4 2.7 14.1 7.1 19.3l42.2-42.2zM34 75.3c4.6 2.9 10.1 4.7 16 4.7 16.5 0 30-13.5 30-30 0-5.9-1.7-11.3-4.7-16L34 75.3z\"}}},\norchestrator:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M63 21.42a2 2 0 00-2.79-1.2c-1.17.56-1.31 1.78-.75 3l9.11 22.73c.55 1.18 1.59 1.88 2.75 1.32a2.2 2.2 0 00.79-3.09zM50.25 37.19c5.14 0 9.26 4.68 9.26 10.46s-4.12 10.47-9.26 10.47S41 53.44 41 47.65s4.11-10.46 9.25-10.46zM28.89 60.43l13.34 1.5L45.3 80h-3.8a2.34 2.34 0 01-2.24-1.73l-2.72-9.8-11.36-1.28a6 6 0 01-4.85-7.87l5.86-17.08a3.49 3.49 0 014.47-2.19 3.58 3.58 0 012.15 4.54l-4.9 14.27a1.18 1.18 0 00.98 1.57zM59.21 80h-4l3-17.86 12.61 2.39a1.19 1.19 0 001.36-1.43l-1.79-8A3.58 3.58 0 0173 50.8a3.5 3.5 0 014.23 2.63L79.83 65a5.9 5.9 0 01-6.72 7.25l-9.63-1.82-2 7.84A2.33 2.33 0 0159.21 80zM46.64 64.11a1.37 1.37 0 01-2.1-1.19v-2.21a1.37 1.37 0 012.1-1.19l3.61 2.3zM50.25 61.82l3.6-2.3A1.38 1.38 0 0156 60.71v2.21a1.38 1.38 0 01-2.11 1.19z\"}},\norder_item:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M21.2 51.9L48 64.6c1.2.6 2.7.6 3.9 0l26.9-12.7c1.6-.8 1.6-2.9 0-3.7L51.9 35.5c-1.2-.6-2.7-.6-3.9 0L21.2 48.3c-1.7.7-1.7 2.9 0 3.6z\"}},\norders:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M78.8 62.1l-3.6-1.7c-.5-.3-1.2-.3-1.7 0L52 70.6c-1.2.6-2.7.6-3.9 0L26.5 60.4c-.5-.3-1.2-.3-1.7 0l-3.6 1.7c-1.6.8-1.6 2.9 0 3.7L48 78.5c1.2.6 2.7.6 3.9 0l26.8-12.7c1.7-.8 1.7-3 .1-3.7z\"},{\"d\":\"M78.8 48.1l-3.7-1.7c-.5-.3-1.2-.3-1.7 0L52 56.6c-1.2.6-2.7.6-3.9 0L26.6 46.4c-.5-.3-1.2-.3-1.7 0l-3.7 1.7c-1.6.8-1.6 2.9 0 3.7L48 64.6c1.2.6 2.7.6 3.9 0l26.8-12.7c1.7-.8 1.7-3 .1-3.8z\"},{\"d\":\"M21.2 37.8L48 50.5c1.2.6 2.7.6 3.9 0l26.8-12.7c1.6-.8 1.6-2.9 0-3.7L51.9 21.4c-1.2-.6-2.7-.6-3.9 0L21.2 34.2c-1.6.7-1.6 2.9 0 3.6z\"}]},\noutcome:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M62.6 31.9c0-.1-.1-.1-.2-.2-.7-.7-1.9-.6-2.5.2l-2.7 2.6-.1.1c-.7.7-.7 1.9.1 2.5l7 7c.2.2.4.5.4.9 0 .7-.5 1.3-1.3 1.3H36.8c-1 0-1.8.8-1.9 1.8v3.8c.1 1 .9 1.8 1.9 2h26.6c.3 0 .5.1.7.3.6.4.7 1.3.2 1.8l-7 7-.1.1c-.7.7-.7 1.9.1 2.5l2.6 2.7.1.1c.7.7 1.9.7 2.5-.1l16.9-16.9.1-.1c.7-.7.7-1.9-.1-2.5L62.6 31.9z\"},{\"d\":\"M43.7 38.9h3.7c1 0 1.9-.9 1.9-1.9V25c0-2.8-2.2-5-5-5H25c-2.8 0-5 2.2-5 5v50c0 2.8 2.2 5 5 5H44.3c2.8 0 5-2.2 5-5V63.2c0-1-.9-1.9-1.9-1.9h-3.7c-1 0-1.9.9-1.9 1.9v7.4c0 1-.9 1.9-1.9 1.9H29.4c-1 0-1.9-.9-1.9-1.9V29.4c0-1 .9-1.9 1.9-1.9h10.5c1 0 1.9.9 1.9 1.9V37c0 1 .8 1.9 1.9 1.9z\"}]},\noutput:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M20.8 53.8h41.5c1.1 0 1.6 1.4.9 2.1l-12 12c-.8.8-.8 1.9 0 2.6l2.8 2.8c.8.8 1.9.8 2.6 0l21.9-22c.8-.8.8-1.9 0-2.6l-22-22c-.8-.8-1.9-.8-2.6 0l-2.6 2.6c-.8.8-.8 1.9 0 2.6l12 12c.8.9.3 2.3-.9 2.3H20.9c-1 0-1.9.8-1.9 1.8v3.8c0 1 .8 2 1.8 2z\"}},\npartner_fund_allocation:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M30.9 65.6l-8.1 8.5c-.3.3-.8.1-.8-.3v-4c0-.4-.4-.9-.8-.9h-1.5c-.4 0-.8.5-.8.9v9.5c0 .5.2.7.7.7h9.5c.4 0 .8-.2.8-.7v-1.5c0-.4-.3-.8-.8-.8h-4c-.5 0-.7-.5-.3-.8l10.4-10.9h-.9c-1.1 0-2.3.1-3.4.3zM73.1 76.2c.3.3.1.8-.4.8h-4c-.4 0-.8.4-.8.8v1.5c0 .4.5.8.8.8h9.5c.5 0 .7-.2.7-.7v-9.5c0-.4-.2-.8-.6-.8h-1.5c-.4 0-.9.3-.9.8v4c0 .4-.5.7-.8.3L70.4 70c-1.2.3-2.3.6-3.5.8l6.2 5.4zM68.8 40.5c-15.2 4.7-27.2-9.7-43.9-2.9-1.3.5-1.9 1.6-1.9 3.1V58c0 2.3 1.9 3.7 4.1 3.1 16.5-5 28.5 9.4 44.1 2.9 1.1-.5 2.1-1.6 2.1-3.1V43.6c-.1-2.1-2.3-3.8-4.5-3.1zM48.6 56.7c-3.6 0-6.5-2.9-6.5-6.5s2.9-6.5 6.5-6.5 6.5 2.9 6.5 6.5-2.9 6.5-6.5 6.5zM48.4 26.6c0-.5-.5-.6-.8-.3l-2.8 2.8c-.3.3-.9.2-1.2 0l-1-1.1c-.3-.3-.2-.7.1-1l6.8-6.8c.3-.3.6-.3 1 0l6.7 6.7c.3.3.4.8.1 1.1l-1 1c-.3.3-.9.2-1.2 0l-2.8-2.8c-.3-.3-.8-.1-.8.3v7.3l-3-.9-.1-6.3z\"}},\npartner_fund_claim:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M56.5 34h9.4c.7 0 1.3-.6 1.3-1.3 0-.3-.1-.6-.3-.9L55.1 20.3c-.3-.2-.6-.3-.9-.3-.7 0-1.3.6-1.3 1.3v9.2c.1 1.9 1.7 3.5 3.6 3.5z\"},{\"d\":\"M38.6 65c0-3.5 2-6.6 5.2-7.8 2.6-1 5.2-1.6 8-1.6 4 0 7.4 1.1 10.5 2 1.7.5 3.3 1 4.8 1.3l.2-18c0-.9-.8-1.7-1.7-1.7H53c-3 0-5.2-2.4-5.2-5.2V21.7c0-.9-.8-1.7-1.8-1.7H28.2c-2.9 0-5.2 2.4-5.2 5.2v42c0 2.9 2.4 5.2 5.2 5.2h10.4V65z\"},{\"d\":\"M72.4 64.9c-9.1 2.8-16.3-5.8-26.2-1.7-.8.3-1.2 1-1.2 1.8v10.4c0 1.4 1.2 2.2 2.4 1.8 9.9-3 17 5.6 26.3 1.7.7-.3 1.3-1 1.3-1.8V66.8c0-1.3-1.3-2.2-2.6-1.9zm-12.1 9.7c-2.1 0-3.9-1.7-3.9-3.9 0-2.1 1.7-3.9 3.9-3.9s3.9 1.7 3.9 3.9-1.7 3.9-3.9 3.9z\"}]},\npartner_fund_request:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M43.7 58.3c3.7-2.1 7.2-3.1 11.1-3.1 1.1 0 2.2.1 3.2.2.5.1.6-.1.1-.4-1.9-1.1-4-2.1-6.2-3-4.3-1.8-4.9-3.4-4.9-5.2 0-1.8 1.2-3.4 2.6-4.7 2.5-2.3 3.9-5.4 3.9-9.1 0-6.9-4.3-12.8-11.9-12.8s-12 5.9-12 12.8c0 3.7 1.4 6.9 3.9 9.1 1.4 1.3 2.6 3 2.6 4.7 0 1.7-.7 3.4-4.9 5.2C25 54.6 19.1 57.6 19 63.3c0 3.7 2.8 7 6.3 7h14.2c1.1 0 2-.9 2-2v-6.5c.2-1.4.9-2.8 2.2-3.5z\"},{\"d\":\"M76.3 64.3c-9.4 2.9-16.8-6-27.2-1.8-.8.3-1.2 1-1.2 1.9v10.7c0 1.4 1.2 2.3 2.5 1.9 10.2-3.1 17.6 5.8 27.3 1.8.7-.3 1.3-1 1.3-1.9V66.2c0-1.3-1.4-2.3-2.7-1.9zm-12.6 10c-2.2 0-4-1.8-4-4s1.8-4 4-4 4 1.8 4 4-1.8 4-4 4z\"}]},\npartner_marketing_budget:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M73.8 37.8c-18.2 5.6-32.5-11.6-52.5-3.5-1.5.6-2.3 2-2.3 3.7v20.7c0 2.7 2.3 4.5 4.8 3.7 19.7-6 34.1 11.2 52.6 3.5 1.4-.6 2.5-1.9 2.5-3.7V41.5c.1-2.5-2.6-4.5-5.1-3.7zM49.6 57.2c-4.3 0-7.7-3.5-7.7-7.7s3.5-7.7 7.7-7.7 7.7 3.5 7.7 7.7-3.5 7.7-7.7 7.7z\"}},\npartners:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M77 31.7h-6c-1.3 0-2.6-.6-3.6-1.5l-4.8-4.1c-1-.8-2.3-1.4-3.6-1.4H47.3c-1.5 0-2.9.6-4 1.7l-6.2 5.1c-.5.4-.5 1.2-.1 1.7l1.9 1.8c1.3 1 3 1.2 4.3.3l5.5-3.3c.7-.5 1.7-.3 2.3.3l17.3 16.8c.4.4.7 1 .7 1.6v4.5c0 1.2.9 2.5 2 2.5h6c1.1 0 2-.9 2-2.1V33.7c0-1.2-.9-2-2-2zm-17 18L49.2 39.2l-3 1.8c-1.5.9-3.2 1.4-4.9 1.4-2.1 0-4.3-.8-6-2.2L31.4 37c-.9-.7-1.4-1.5-1.5-2.6-.2-1.1-1-1.7-2-1.7H21c-1.1 0-2 .6-2 1.8v18.2c0 1.2.9 2 2 2h4c.3 0 .7-1.1 1.1-1.6 1.5-2 3.7-3.1 6.1-3.4 2.4-.2 4.7.6 6.6 2.3l12.5 11.4c1.1 1 1.9 2.1 2.4 3.5.3.7 1.1.9 1.6.4l4.7-4.7c2.4-2.4 4.2-8 2-10.6l-2-2.3zm-25.1 7.4c-1.3-1.2-3.2-1-4.2.4-1.1 1.4-.9 3.4.4 4.6l12.5 11.3c.6.6 1.4.8 2.2.7.8-.1 1.5-.5 2-1.2 1.1-1.4.9-3.4-.4-4.6L34.9 57.1z\"}},\npassword:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M74 80H26c-3.3 0-6-2.7-6-6V26c0-3.3 2.7-6 6-6h48c3.3 0 6 2.7 6 6v48c0 3.3-2.7 6-6 6zM28.1 30v40c0 1.1.9 2 2 2H70c1.1 0 2-.9 2-2V30c0-1.1-.9-2-2-2H30.1c-1.1 0-2 .9-2 2z\"},{\"d\":\"M66.3 47.3l-1.2-3.8c-.3-1-1.5-1.6-2.5-1.3L53.9 45v-8.6c0-1.1-.9-2-2-2h-4c-1.1 0-2 .9-2 2V45l-8.5-2.8c-1-.3-2.2.3-2.5 1.3l-1.2 3.8c-.3 1 .3 2.2 1.3 2.5l7.9 2.6-5.7 7.8c-.6.9-.4 2.2.5 2.8l3.3 2.3c.9.6 2.2.4 2.8-.5l6.3-8.7 6.3 8.7c.6.9 1.9 1.1 2.8.5l3.3-2.3c.9-.6 1.1-1.9.5-2.8l-5.7-7.9 7.8-2.5c.9-.4 1.5-1.5 1.2-2.5z\"}]},\npast_chat:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M49.5 21.9c-16.7 0-30 12.3-30 27.4 0 4.8 1.4 9.3 3.6 13.3.4.6.5 1.4.3 2.1l-3.9 10.7c-.4 1 .6 1.9 1.6 1.6L32 72.9c.6-.3 1.4-.1 2.1.3 4.5 2.5 9.9 4 15.7 4 16.4-.2 29.8-12.3 29.8-27.6-.1-15.5-13.5-27.7-30.1-27.7zm11.7 40.5l-1.4 1.4c-.6.6-1.3.9-2.1.9s-1.5-.3-2.1-.9L46 54.2c-.7-.6-1.2-1.7-1.2-2.8v-14c0-1.7 1.3-3 3-3h2c1.7 0 3 1.3 3 3v12.4l8.4 8.4c.6.6.9 1.3.9 2.1s-.3 1.5-.9 2.1z\"}},\npayment_gateway:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M41.94 25.34a22.45 22.45 0 000 44.88h1V52.43c0-1.33 1-3 2.35-3h19c0-.74.07-1.25.07-1.65a22.52 22.52 0 00-22.42-22.44zm17.91 20.52h-5.78A33.5 33.5 0 0050.9 32.4a18.16 18.16 0 018.95 13.46zM39.37 31.11v14.75h-5.13c.39-7.03 2.61-12.59 5.13-14.75zm0 18.59v14.74c-2.5-2.17-4.74-7.7-5.13-14.74zm5.13-3.84V31.11c2.5 2.16 4.76 7.72 5.13 14.75zM33 32.4a34.57 34.57 0 00-3.2 13.46H24a18.11 18.11 0 019-13.46zm-9 17.94h5.81A33.55 33.55 0 0033 63.76a18.11 18.11 0 01-9-13.42z\",\"fill-rule\":\"evenodd\"},{\"d\":\"M76.89 53.2H49.66a3.13 3.13 0 00-3.13 3.13v15.2a3.13 3.13 0 003.13 3.13h27.23A3.13 3.13 0 0080 71.53v-15.2a3.13 3.13 0 00-3.11-3.13zM53.32 71.53a3.65 3.65 0 00-3.55-3.75h-.1V60a3.65 3.65 0 003.75-3.55v-.14H73.2A3.65 3.65 0 0076.79 60h.1v7.82a3.66 3.66 0 00-3.75 3.58v.11z\",\"fill-rule\":\"evenodd\"}],\"circle\":{\"cx\":\"63.27\",\"cy\":\"63.66\",\"r\":\"5.25\"}}},\npeople:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M80 71.2V74c0 3.3-2.7 6-6 6H26c-3.3 0-6-2.7-6-6v-2.8c0-7.3 8.5-11.7 16.5-15.2.3-.1.5-.2.8-.4.6-.3 1.3-.3 1.9.1C42.4 57.8 46.1 59 50 59c3.9 0 7.6-1.2 10.8-3.2.6-.4 1.3-.4 1.9-.1.3.1.5.2.8.4 8 3.4 16.5 7.8 16.5 15.1z\"},\"ellipse\":{\"cx\":\"50\",\"cy\":\"36.5\",\"rx\":\"14.9\",\"ry\":\"16.5\"}},\nperformance:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M30 20h-2c-3.3 0-6 3-6 6v48c0 3 2.7 6 6 6h2c1.1 0 2-.9 2-2V22c0-1.1-.9-2-2-2zM72 20H40c-1.1 0-2 .9-2 2v56c0 1.1.9 2 2 2h32c3.3 0 6-2.7 6-6V26c0-3.3-2.7-6-6-6zm-2.2 26.8l-5.2 5.3c-.1.1-.2.4-.2.6l1.2 7.5c.1.5-.4.9-.9.7l-6.5-3.6c-.2-.1-.4-.1-.6 0l-6.5 3.6c-.5.2-1-.2-.9-.7l1.2-7.5c0-.2 0-.4-.2-.6L46 46.8c-.4-.4-.2-1 .3-1.1l7.2-1.1c.2 0 .4-.2.5-.4l3.2-6.9c.2-.5.9-.5 1.1 0l3.2 6.9c.1.2.3.3.5.4l7.2 1.1c.8.1 1 .7.6 1.1z\"}},\nperson_account:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M69.5 59c-3.6-1.5-4.2-2.9-4.2-4.4 0-1.5 1-2.9 2.2-4 2.1-1.9 3.3-4.6 3.3-7.8 0-5.8-3.7-10.9-10.2-10.9s-10.2 5-10.2 10.9c0 3.2 1.2 5.8 3.3 7.8 1.2 1.1 2.2 2.5 2.2 4s-.6 2.9-4.2 4.4c-5.3 2.2-10.4 5-10.5 9.8 0 3.1 2.4 6.2 5.4 6.2h27.8c3.1 0 5.4-3.1 5.4-6.2.1-4.7-5-7.5-10.3-9.8z\"},{\"d\":\"M46.6 51.4c-.4-.5-2.4-3-2.2-9.7.1-6.6 3-8.3 3-8.3v-6.5c0-1.1-1.1-1.9-1.9-1.9H21.9c-.9 0-1.9.9-1.9 2v43.6h13.5c.3-11.1 13-15.6 13-15.6 1.9-1 .5-3.1.1-3.6zM30.7 65.1c0 1.1-.9 2-2 2h-2c-1.1 0-2-.9-2-2v-2c0-1.1.9-2 2-2h2c1.1 0 2 .9 2 2v2zm0-9.9c0 1.1-.9 2-2 2h-2c-1.1 0-2-.9-2-2v-2c0-1.1.9-2 2-2h2c1.1 0 2 .9 2 2v2zm0-9.9c0 1.1-.9 2-2 2h-2c-1.1 0-2-.9-2-2v-2c0-1.1.9-2 2-2h2c1.1 0 2 .9 2 2v2zm0-9.9c0 1.1-.9 2-2 2h-2c-1.1 0-2-.9-2-2v-2c0-1.1.9-2 2-2h2c1.1 0 2 .9 2 2v2zm11.2 19.8c0 1.1-.9 2-2 2h-2c-1.1 0-2-.9-2-2v-2c0-1.1.9-2 2-2h2c1.1 0 2 .9 2 2v2zm0-9.9c0 1.1-.9 2-2 2h-2c-1.1 0-2-.9-2-2v-2c0-1.1.9-2 2-2h2c1.1 0 2 .9 2 2v2zm0-9.9c0 1.1-.9 2-2 2h-2c-1.1 0-2-.9-2-2v-2c0-1.1.9-2 2-2h2c1.1 0 2 .9 2 2v2z\"}]},\nphoto:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M36 31h28c.8 0 1.3-.9.8-1.5l-3.3-5.1c-1-2-3.1-3.3-5.4-3.3H43.9c-2.3 0-4.4 1.3-5.4 3.3l-3.3 5.1c-.5.6 0 1.5.8 1.5zM50 49c-4.4 0-8 3.6-8 8s3.6 8 8 8 8-3.6 8-8-3.6-8-8-8z\"},{\"d\":\"M74 37H26c-3.3 0-6 2.7-6 6v28c0 3.3 2.7 6 6 6h48c3.3 0 6-2.7 6-6V43c0-3.3-2.7-6-6-6zM50 71c-7.7 0-14-6.3-14-14s6.3-14 14-14 14 6.3 14 14-6.3 14-14 14z\"}]},\npicklist_choice:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M25.9 59.7h-4c-1.1 0-2 .9-2 2v4c0 1.1.9 2 2 2h4.2c1.1-.1 1.9-1 1.8-2v-4c0-1.1-.9-2-2-2zM38 32h39.9c1.1 0 2-.9 2-2v-4c0-1.1-.9-2-2-2H38c-1.1 0-2 .9-2 2v4c0 1.1.9 2 2 2zM38 49.9h39.9c1.1 0 2-.9 2-2v-4c0-1.1-.9-2-2-2H38c-1.1 0-2 .9-2 2v4c0 1.1.9 2 2 2zM25.9 23.9h-4c-1.1 0-2 .9-2 2v4c0 1.1.9 2 2 2h4.2c1.1-.1 1.9-1 1.8-2v-4c0-1.1-.9-2-2-2zM25.9 41.8h-4c-1.1 0-2 .9-2 2v4c0 1.1.9 2 2 2h4.2c1.1-.1 1.9-1 1.8-2v-4c0-1.1-.9-2-2-2zM43.6 67.3c0-2.3.8-4.5 2.1-6.3v-.6-.7H38c-1.1 0-2 .9-2 2v4c0 1.1.9 2 2 2h5.6v-.4zM61.7 56.8c1-1 2.4-1.7 4-1.7 2.1 0 3.9 1.1 4.9 2.8.8-.3 1.8-.6 2.8-.6 3.7 0 6.8 3.1 6.8 6.7 0 3.7-3.1 6.7-6.8 6.7-.4 0-.9 0-1.3-.1-.8 1.5-2.5 2.5-4.3 2.5-.8 0-1.5-.2-2.2-.5-.9 2-2.9 3.4-5.2 3.4-2.5 0-4.5-1.5-5.3-3.6-.3 0-.7.1-1.1.1-2.9 0-5.3-2.3-5.3-5.2 0-1.9 1-3.6 2.6-4.5-.3-.7-.5-1.5-.5-2.4 0-3.3 2.8-6 6.1-6 1.9 0 3.7.9 4.8 2.4z\"}},\npicklist_type:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M78 36H38c-1.1 0-2-.9-2-2v-4c0-1.1.9-2 2-2h40c1.1 0 2 .9 2 2v4c0 1.1-.9 2-2 2zM78 54H38c-1.1 0-2-.9-2-2v-4c0-1.1.9-2 2-2h40c1.1 0 2 .9 2 2v4c0 1.1-.9 2-2 2zM26 54h-4c-1.1 0-2-.9-2-2v-4c0-1.1.9-2 2-2h4c1.1 0 2 .9 2 2v4c0 1.1-.9 2-2 2zM26 36h-4c-1.1 0-2-.9-2-2v-4c0-1.1.9-2 2-2h4c1.1 0 2 .9 2 2v4c0 1.1-.9 2-2 2zM26 72h-4c-1.1 0-2-.9-2-2v-4c0-1.1.9-2 2-2h4c1.1 0 2 .9 2 2v4c0 1.1-.9 2-2 2zM78 72H38c-1.1 0-2-.9-2-2v-4c0-1.1.9-2 2-2h40c1.1 0 2 .9 2 2v4c0 1.1-.9 2-2 2z\"}},\nplanogram:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M77.4 71.5h-3.3V53.6c0-.9-.8-1.7-1.7-1.7H53.7c-.9 0-1.7.8-1.7 1.7v17.8h-5V53.6c0-.9-.8-1.7-1.7-1.7H26.6c-.9 0-1.7.8-1.7 1.7v17.8h-3.3c-1.1 0-2 .9-2 2v4c0 1.1.9 2 2 2h55.7c1.1 0 2-.9 2-2v-4c.1-1.1-.8-1.9-1.9-1.9zm-20.9-15h13V61h-13v-4.5zm-27.1 0h13V61h-13v-4.5zM77.4 39h-3.3V21.1c0-.9-.8-1.7-1.7-1.7H53.7c-.9 0-1.7.8-1.7 1.7V39h-5V21.1c0-.9-.8-1.7-1.7-1.7H26.6c-.9 0-1.7.8-1.7 1.7V39h-3.3c-1.1 0-2 1-2 2v4c0 1.1.9 2 2 2h55.7c1.1 0 2-.9 2-2v-4c.1-1.2-.8-2-1.9-2zM56.5 24h13v4.5h-13V24zm-27.1 0h13v4.5h-13V24z\"}}},\npoll:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M76 20H24c-2.2 0-4 1.8-4 4v8c0 2.2 1.8 4 4 4h52c2.2 0 4-1.8 4-4v-8c0-2.2-1.8-4-4-4zM51 32v-8h25v8H51zM76 42H24c-2.2 0-4 1.8-4 4v8c0 2.2 1.8 4 4 4h52c2.2 0 4-1.8 4-4v-8c0-2.2-1.8-4-4-4zM42 54v-8h34v8H42zM76 64H24c-2.2 0-4 1.8-4 4v8c0 2.2 1.8 4 4 4h52c2.2 0 4-1.8 4-4v-8c0-2.2-1.8-4-4-4zM60 76v-8h16v8H60z\"}},\nportal:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M72 22H28c-3.3 0-6 2.7-6 6v44c0 3.3 2.7 6 6 6h44c3.3 0 6-2.7 6-6V28c0-3.3-2.7-6-6-6zM59 62.6c.3 1.2-.7 2.4-1.9 2.4H43c-1.3 0-2.2-1.2-1.9-2.4l3.2-11c-3.1-2.2-4.9-6.1-4.1-10.4.8-4 3.9-7.2 7.9-7.9C54.4 32 60 36.9 60 43.2c0 3.5-1.7 6.5-4.3 8.3L59 62.6z\"}},\nportal_roles:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M73.8 20H26.2c-3.4 0-6.2 2.8-6.2 6.2v47.6c0 3.4 2.8 6.2 6.2 6.2h47.6c3.4 0 6.2-2.8 6.2-6.2V26.2c0-3.4-2.8-6.2-6.2-6.2zm-26.4 7.4c0-.8.8-1.4 1.6-1.4h23.4c.8 0 1.4.8 1.4 1.6v3c0 .8-.8 1.4-1.6 1.4H48.8c-.8 0-1.4-.8-1.4-1.6v-3zm-8-1.4c1.7 0 3 1.3 3 3s-1.3 3-3 3-3-1.3-3-3 1.3-3 3-3zM29 26c1.7 0 3 1.3 3 3s-1.3 3-3 3-3-1.3-3-3 1.3-3 3-3zm45 46.6c0 .8-.8 1.4-1.6 1.4h-45c-.8 0-1.4-.8-1.4-1.6v-33c0-.8.8-1.4 1.6-1.4h45c.8 0 1.4.8 1.4 1.6v33z\"},{\"d\":\"M68 52.3c0 1.1-.9 2-2 2h-7.6c-1.1 0-2-.9-2-2v-3c0-1.1.9-2 2-2H66c1.1 0 2 .9 2 2v3zM68 63.3c0 1.1-.9 2-2 2h-7.6c-1.1 0-2-.9-2-2v-3c0-1.1.9-2 2-2H66c1.1 0 2 .9 2 2v3zM49 47.3H33.6c-.8 0-1.6.6-1.6 1.4v15c0 .8.6 1.6 1.4 1.6H48.8c.8 0 1.6-.6 1.6-1.4v-15c0-.8-.6-1.6-1.4-1.6zm-4 14.9h-7.5c-.8 0-1.5-.9-1.5-1.8 0-1.3 1.4-2.1 2.8-2.8 1-.4 1.1-.8 1.1-1.3s-.3-.8-.6-1.1c-.6-.5-.9-1.3-.9-2.2 0-1.7 1-3.1 2.8-3.1 1.7 0 2.8 1.4 2.8 3.1 0 .9-.3 1.7-.9 2.2-.3.3-.6.7-.6 1.1s.1.8 1.1 1.2c1.4.6 2.8 1.5 2.8 2.8.1 1-.6 1.9-1.4 1.9z\"}]},\nportal_roles_and_subordinates:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M68 49.1c0 1.1-.9 2-2 2H47.4c-1.1 0-2-.9-2-2v-3c0-1.1.9-2 2-2H66c1.1 0 2 .9 2 2v3zM39.4 49.1c0 1.1-.9 2-2 2H34c-1.1 0-2-.9-2-2v-3c0-1.1.9-2 2-2h3.4c1.1 0 2 .9 2 2v3z\"},{\"d\":\"M73.8 20H26.2c-3.4 0-6.2 2.8-6.2 6.2v47.6c0 3.4 2.8 6.2 6.2 6.2h47.6c3.4 0 6.2-2.8 6.2-6.2V26.2c0-3.4-2.8-6.2-6.2-6.2zm-26.4 7.4c0-.8.8-1.4 1.6-1.4h23.4c.8 0 1.4.8 1.4 1.6v3c0 .8-.8 1.4-1.6 1.4H48.8c-.8 0-1.4-.8-1.4-1.6v-3zm-8-1.4c1.7 0 3 1.3 3 3s-1.3 3-3 3-3-1.3-3-3 1.3-3 3-3zM29 26c1.7 0 3 1.3 3 3s-1.3 3-3 3-3-1.3-3-3 1.3-3 3-3zm45 46.6c0 .8-.8 1.4-1.6 1.4H68V59.1c0-1.1-.9-2-2-2H34c-1.1 0-2 .9-2 2V74h-4.6c-.8 0-1.4-.8-1.4-1.6v-33c0-.8.8-1.4 1.6-1.4h45c.8 0 1.4.8 1.4 1.6v33z\"}]},\npost:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M49.2 21.7c-16.6 0-30 12.5-30 28 0 5 1.4 9.6 3.8 13.7.3.5.4 1.1.2 1.6l-2.8 8.9c-.5 1.6 1 3 2.6 2.5l8.8-3.1c.6-.2 1.2-.1 1.7.2 4.6 2.7 10 4.2 15.8 4.2 16.6 0 30-12.5 30-28-.2-15.5-13.6-28-30.1-28z\"}},\npractitioner_role:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M50.58 70.89a12.79 12.79 0 01-10.11-9.62 1.93 1.93 0 00-1.89-1.51h-1.89A1.94 1.94 0 0034.81 62a18.2 18.2 0 0017.83 14.74H53a17.14 17.14 0 01-2.42-5.85zM54.24 37.12V23a2.78 2.78 0 00-2.83-2.83h-3.77a2.83 2.83 0 100 5.66h.94v11.29a11.32 11.32 0 01-22.64 0V25.8h.94a2.83 2.83 0 100-5.66h-3.77A2.78 2.78 0 0020.28 23v14.12a17 17 0 0034 0zM67.3 54.58a12.63 12.63 0 1012.63 12.63A12.67 12.67 0 0067.3 54.58zm7.1 17.67a1.88 1.88 0 01-1.89 1.81H62.42a1.83 1.83 0 01-1.89-1.81V72c0-1.69 1.85-2.6 3.78-3.38 1.3-.56 1.5-1 1.5-1.58a2.14 2.14 0 00-.81-1.49 3.48 3.48 0 01-1.18-2.76 3.67 3.67 0 117.33 0A3.7 3.7 0 0170 65.55a2.23 2.23 0 00-.88 1.45c0 .55.16 1 1.5 1.58 1.93.78 3.74 1.69 3.78 3.38z\"}}},\nprice_book_entries:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M48.8 20l14.8.3a5.45 5.45 0 013.1 1.3l5.8 5.8 5.8 5.8a4.39 4.39 0 011.3 3.1l.4 14.9a4.45 4.45 0 01-1.3 3.2L54.4 78.7a4.53 4.53 0 01-6.3 0L34.7 65.3 21.3 51.9a4.53 4.53 0 010-6.3l24.3-24.3a4.45 4.45 0 013.2-1.3zm-8.2 23.7L38.2 46a1 1 0 000 1.6l14.2 14.2a1 1 0 001.6 0l2.4-2.4a1 1 0 000-1.6L42.1 43.7a.94.94 0 00-1.5 0zm6.7-6.8l-2.4 2.4a1 1 0 000 1.6l14.2 14.2a1 1 0 001.6 0l2.4-2.4a1 1 0 000-1.6L48.9 36.9a1.22 1.22 0 00-1.6 0zm22.9-7.1a4.45 4.45 0 100 6.3 4.53 4.53 0 000-6.3z\"}},\nprice_books:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M77.4 72.9c0 3.2-2.8 6.3-5.9 6.4h-37c-3.2 0-5.8-3-6-5.9v-2h-2a3.9 3.9 0 01-.2-7.8h2.2v-9.8h-2a3.9 3.9 0 01-.2-7.8h2.2v-9.8h-2a3.9 3.9 0 01-.2-7.8h2.2v-2.2a6 6 0 015.7-5.7l37 .08c3.2 0 6 2.12 6.2 5.22zM51.8 34.7a2.5 2.5 0 00-1.8.8L36.2 49.2a2.53 2.53 0 000 3.6L51.4 68a2.53 2.53 0 003.6 0l13.8-13.8a2.5 2.5 0 00.8-1.8l-.3-8.4a2.14 2.14 0 00-.8-1.7L62 35.6a3.37 3.37 0 00-1.7-.8zm-4.7 13.4a.56.56 0 01.9 0l8 8a.56.56 0 010 .9l-1.3 1.3a.56.56 0 01-.9 0l-8-8a.56.56 0 010-.9zm3.9-3.8a.56.56 0 01.9 0l8 8a.56.56 0 010 .9l-1.3 1.3a.56.56 0 01-.9 0l-8-8a.56.56 0 010-.9zm12.9-4a2.55 2.55 0 11-3.6 0 2.54 2.54 0 013.6 0z\"}},\npricebook:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M71.7 20H34.1c-3.3 0-6.1 2.8-6.1 5.8V28h-2c-2.2 0-4 1.8-4 4s1.8 4 4 4h2v10h-2c-2.2 0-4 1.8-4 4s1.8 4 4 4h2v10h-2c-2.2 0-4 1.8-4 4s1.8 4 4 4h2v1.8c0 3 2.8 6.2 6.1 6.2h37.6c3.3 0 6.3-3.3 6.3-6.6v-48c0-3.3-3-5.4-6.3-5.4zM43 61c0 .6-.4 1-1 1h-4c-.6 0-1-.4-1-1V39c0-.6.4-1 1-1h4c.6 0 1 .4 1 1v22zm8 0c0 .6-.4 1-1 1h-2c-.6 0-1-.4-1-1V39c0-.6.4-1 1-1h2c.6 0 1 .4 1 1v22zm10 0c0 .6-.4 1-1 1h-4c-.6 0-1-.4-1-1V39c0-.6.4-1 1-1h4c.6 0 1 .4 1 1v22zm8 0c0 .6-.4 1-1 1h-2c-.6 0-1-.4-1-1V39c0-.6.4-1 1-1h2c.6 0 1 .4 1 1v22z\"}},\npricing_workspace:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M36.6 20.5a2.05 2.05 0 012.1 2.1V24a2.05 2.05 0 01-2.1 2.1h-6.3a4.19 4.19 0 00-4.2 4v39.6a4.19 4.19 0 004 4.2h39.6a4.19 4.19 0 004.2-4v-6.5a2.05 2.05 0 012.1-2.1h1.4a2.05 2.05 0 012.1 2.1v7.7a8.39 8.39 0 01-8.4 8.4H28.9a8.39 8.39 0 01-8.4-8.4V28.9a8.39 8.39 0 018.4-8.4z\",\"fill-rule\":\"evenodd\"},{\"d\":\"M54.6 24l10.4.2a4.31 4.31 0 012.2.9l4.1 4.1 4.1 4.1a2.94 2.94 0 01.9 2.2l.2 10.4a3.17 3.17 0 01-.9 2.3L58.5 65.3a3.14 3.14 0 01-4.4 0l-9.4-9.4-9.4-9.4a3.14 3.14 0 010-4.4L52.4 25a2.57 2.57 0 012.2-1zm-5.8 16.6l-1.7 1.7a.78.78 0 000 1.1l10 10a.78.78 0 001.1 0l1.7-1.7a.78.78 0 000-1.1l-10-10a.78.78 0 00-1.1 0zm4.7-4.7l-1.7 1.7a.78.78 0 000 1.1l10 10a.78.78 0 001.1 0l1.7-1.7a.78.78 0 000-1.1l-10-10a.78.78 0 00-1.1 0zm16.1-5a3.11 3.11 0 100 4.4 3.14 3.14 0 000-4.4z\"}]},\nprocedure:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M72 25h-2a.94.94 0 00-1 1v4a8 8 0 01-8 8H39a8 8 0 01-8-8v-4a.94.94 0 00-1-1h-2a6 6 0 00-6 6v43a6 6 0 006 6h44a6 6 0 006-6V31a6 6 0 00-6-6zM28 53.86v-2.07a2.08 2.08 0 012.08-2.08h3.11V46.6a2.08 2.08 0 012.07-2.08h2.08a2.08 2.08 0 012.07 2.08v3.11h3.09a2.08 2.08 0 012.08 2.08v2.07a2.08 2.08 0 01-2.08 2.08h-3.11v3.11a2.07 2.07 0 01-2.07 2.07h-2.08a2.07 2.07 0 01-2.07-2.07v-3.11h-3.11A2.08 2.08 0 0128 53.86zm43.66 17.79A1.32 1.32 0 0170.33 73H29.41a1.33 1.33 0 01-1.33-1.33V69a1.34 1.34 0 011.33-1.33h40.92A1.33 1.33 0 0171.66 69zm0-11.62a1.33 1.33 0 01-1.33 1.33H50.22A1.34 1.34 0 0148.89 60v-2.63A1.34 1.34 0 0150.22 56h20.11a1.33 1.33 0 011.33 1.33zm0-11.63a1.33 1.33 0 01-1.33 1.33H50.41a1.34 1.34 0 01-1.33-1.33v-2.66a1.34 1.34 0 011.33-1.33h19.92a1.33 1.33 0 011.33 1.33z\"},{\"d\":\"M39 32h22a2 2 0 002-2v-4a6 6 0 00-6-6H43a6 6 0 00-6 6v4a2 2 0 002 2z\"}]}},\nprocedure_detail:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M69.7 79.52a10.2 10.2 0 1110.2-10.19 10.17 10.17 0 01-10.2 10.19zm.9-12.69a1.06 1.06 0 00-.7.2c-.56.38-1.12.76-1.66 1.17a2.82 2.82 0 00-.53.56.27.27 0 000 .35.29.29 0 00.35.08 3.12 3.12 0 00.39-.15l.38-.16c.18-.06.28 0 .27.22a1.07 1.07 0 010 .25q-.58 2.4-1.18 4.82a.89.89 0 00.45 1.06 1.13 1.13 0 001.15-.1c.54-.35 1.08-.72 1.59-1.11a5.45 5.45 0 00.71-.73.22.22 0 00.06-.28.27.27 0 00-.3-.11 3 3 0 00-.39.14c-.14.06-.28.14-.43.19s-.27 0-.25-.19a1.59 1.59 0 01.06-.38c.36-1.51.73-3 1.1-4.51a1 1 0 00-1.07-1.32zm1.08-2.1a1.55 1.55 0 00-1.78-1.47 1.38 1.38 0 00-1.08 2 1.55 1.55 0 001.71.89 1.47 1.47 0 001.15-1.42zM34.78 30.47h18.91a1.72 1.72 0 001.71-1.72v-3.44a5.17 5.17 0 00-5.15-5.16h-12a5.17 5.17 0 00-5.15 5.16v3.44a1.73 1.73 0 001.68 1.72z\"},{\"d\":\"M56.1 69.32a13.47 13.47 0 01.5-3.62H26.53a1.15 1.15 0 01-1.14-1.15v-2.28a1.15 1.15 0 011.14-1.14h32.33a13.55 13.55 0 019.44-5.35V29.61a5.17 5.17 0 00-5.16-5.16h-1.72a.82.82 0 00-.86.86v3.44a6.9 6.9 0 01-6.87 6.88H34.78a6.9 6.9 0 01-6.88-6.88v-3.44a.82.82 0 00-.86-.86h-1.72a5.17 5.17 0 00-5.16 5.16v37a5.17 5.17 0 005.16 5.16h31a13.76 13.76 0 01-.22-2.45zm-12.66-27a1.15 1.15 0 011.15-1.14h17.12a1.14 1.14 0 011.14 1.14v2.28a1.15 1.15 0 01-1.14 1.15H44.59a1.16 1.16 0 01-1.15-1.15zm-.16 10a1.15 1.15 0 011.14-1.14h17.29a1.15 1.15 0 011.14 1.14v2.29a1.14 1.14 0 01-1.14 1.14H44.42a1.14 1.14 0 01-1.14-1.14zm-18-3v-1.84a1.8 1.8 0 011.79-1.79h2.67V43a1.79 1.79 0 011.79-1.79h1.78a1.79 1.79 0 011.8 1.79v2.67h2.68a1.79 1.79 0 011.78 1.79v1.78A1.78 1.78 0 0137.79 51h-2.68v2.68a1.78 1.78 0 01-1.78 1.78h-1.78a1.79 1.79 0 01-1.79-1.78V51h-2.67a1.79 1.79 0 01-1.79-1.74z\"}]}},\nprocess:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M37.6 46.3l10.8-13.4c.8-1 2.3-1 3.1 0l10.8 13.4c.4.5 1 .7 1.6.7H76c1.1 0 2-.9 2-2V28c0-3.3-2.7-6-6-6H28c-3.3 0-6 2.7-6 6v17c0 1.1.9 2 2 2h12c.6 0 1.2-.3 1.6-.7zM62.3 53.7L51.5 67.1c-.8 1-2.3 1-3.1 0L37.6 53.7c-.4-.5-1-.7-1.6-.7H24c-1.1 0-2 .9-2 2v17c0 3.3 2.7 6 6 6h44c3.3 0 6-2.7 6-6V55c0-1.1-.9-2-2-2H63.9c-.6 0-1.2.3-1.6.7z\"}}},\nprocess_exception:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M21.84 39.94h9.4a2.4 2.4 0 001.2-.7l8.4-10.5a1.5 1.5 0 012.4 0l8.4 10.5a1.46 1.46 0 001.2.5h9.6a1.58 1.58 0 001.6-1.6V25a4.69 4.69 0 00-4.7-4.7h-34.4a4.69 4.69 0 00-4.7 4.7v13.3a1.58 1.58 0 001.6 1.64zM61.7 48.5a10 10 0 012.24-.28V46a1.58 1.58 0 00-1.6-1.6h-9.4a2.73 2.73 0 00-1.2.6l-8.4 10.5a1.5 1.5 0 01-2.4 0L32.44 45a1.46 1.46 0 00-1.2-.5h-9.4a1.58 1.58 0 00-1.6 1.6v13.3a4.69 4.69 0 004.7 4.7h24.3L55.7 53a10.43 10.43 0 016-4.5zM78.42 72.86L68.35 55.57a4.66 4.66 0 00-1.68-1.68 4.17 4.17 0 00-2.37-.69 5 5 0 00-1.29.2 4.78 4.78 0 00-2.86 2.17L50.07 72.86a4.17 4.17 0 00-.69 2.37A4.71 4.71 0 0054.12 80h20.25a5.08 5.08 0 002.38-.69 4.58 4.58 0 002.17-2.86 4.48 4.48 0 00-.5-3.59zM64.2 75.92a2.18 2.18 0 01-2.2-2.17 2.36 2.36 0 011-1.81 2.17 2.17 0 111.2 4zm2.17-6.52a.67.67 0 01-.69.69h-2.86a.68.68 0 01-.7-.69V60a.68.68 0 01.7-.69h2.86a.67.67 0 01.69.69z\"}},\nproduct:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M22 66h5c1.1 0 2-.9 2-2V33c0-1.1-.9-2-2-2h-5c-1.1 0-2 .9-2 2v31c0 1.1.9 2 2 2zM78 31h-5c-1.1 0-2 .9-2 2v31c0 1.1.9 2 2 2h5c1.1 0 2-.9 2-2V33c0-1.1-.9-2-2-2zM53 66c1.1 0 2-.9 2-2V33c0-1.1-.9-2-2-2h-6c-1.1 0-2 .9-2 2v31c0 1.1.9 2 2 2h6zM65 66c1.1 0 2-.9 2-2V33c0-1.1-.9-2-2-2h-2c-1.1 0-2 .9-2 2v31c0 1.1.9 2 2 2h2zM39 66c1.1 0 2-.9 2-2V33c0-1.1-.9-2-2-2h-2c-1.1 0-2 .9-2 2v31c0 1.1.9 2 2 2h2zM78 72H22c-1.1 0-2 .9-2 2v2c0 1.1.9 2 2 2h56c1.1 0 2-.9 2-2v-2c0-1.1-.9-2-2-2zM78 20H22c-1.1 0-2 .9-2 2v2c0 1.1.9 2 2 2h56c1.1 0 2-.9 2-2v-2c0-1.1-.9-2-2-2z\"}},\nproduct_consumed:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M77.13 55.17h-3.75A1.92 1.92 0 0071.5 57v12.5a1.92 1.92 0 01-1.87 1.88H28.38a1.92 1.92 0 01-1.87-1.87V57a1.92 1.92 0 00-1.87-1.87h-3.76A1.92 1.92 0 0019 57v16.92a5 5 0 005 5h50a5 5 0 005-5V57a1.92 1.92 0 00-1.87-1.83zm-29.38 8.25a1.81 1.81 0 002.63 0l16.87-16.88a1.81 1.81 0 000-2.63l-2.62-2.63a1.81 1.81 0 00-2.62 0l-7 7a1.25 1.25 0 01-2.13-.88V20.79a2.25 2.25 0 00-2-1.87h-3.75a1.92 1.92 0 00-1.87 1.88v26.5a1.25 1.25 0 01-2.13.88l-7-7a1.81 1.81 0 00-2.63 0l-2.63 2.75a1.81 1.81 0 000 2.63z\"}},\nproduct_item:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"rect\":[{\"x\":\"19\",\"y\":\"18.92\",\"width\":\"60\",\"height\":\"16\",\"rx\":\"4\",\"ry\":\"4\"},{\"x\":\"19\",\"y\":\"40.92\",\"width\":\"27\",\"height\":\"16\",\"rx\":\"4\",\"ry\":\"4\"},{\"x\":\"19\",\"y\":\"62.92\",\"width\":\"27\",\"height\":\"16\",\"rx\":\"4\",\"ry\":\"4\"},{\"x\":\"52\",\"y\":\"40.92\",\"width\":\"27\",\"height\":\"16\",\"rx\":\"4\",\"ry\":\"4\"},{\"x\":\"52\",\"y\":\"62.92\",\"width\":\"27\",\"height\":\"16\",\"rx\":\"4\",\"ry\":\"4\"}]},\nproduct_item_transaction:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"rect\":[{\"x\":\"19\",\"y\":\"18.92\",\"width\":\"60\",\"height\":\"16\",\"rx\":\"4\",\"ry\":\"4\"},{\"x\":\"19\",\"y\":\"40.92\",\"width\":\"27\",\"height\":\"16\",\"rx\":\"4\",\"ry\":\"4\"},{\"x\":\"19\",\"y\":\"62.92\",\"width\":\"27\",\"height\":\"16\",\"rx\":\"4\",\"ry\":\"4\"}],\"path\":{\"d\":\"M64.95 72.49a1.45 1.45 0 002.1 0l11.5-11.4a1.45 1.45 0 000-2.1L67 47.49a1.45 1.45 0 00-2.1 0l-2.1 2.1a1.45 1.45 0 000 2.1l3.6 3.6a1 1 0 01-.7 1.7H53.6a1.63 1.63 0 00-1.6 1.5v3A1.71 1.71 0 0053.6 63h12.15a1 1 0 01.7 1.7l-3.6 3.6a1.45 1.45 0 000 2.1z\"}},\nproduct_quantity_rules:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M77 58.48H56.47a1.63 1.63 0 00-1.63 1.63v1.64a1.65 1.65 0 001.63 1.64H77a1.65 1.65 0 001.63-1.64v-1.64A1.63 1.63 0 0077 58.48zM77 70H56.47a1.65 1.65 0 00-1.63 1.64v1.64a1.63 1.63 0 001.63 1.63H77a1.63 1.63 0 001.63-1.63v-1.65A1.64 1.64 0 0077 70zM43.55 58.48H23a1.65 1.65 0 00-1.64 1.63v1.64A1.66 1.66 0 0023 63.39h20.55a1.66 1.66 0 001.64-1.64v-1.64a1.65 1.65 0 00-1.64-1.63zM43.55 70H23a1.66 1.66 0 00-1.64 1.64v1.64A1.64 1.64 0 0023 74.9h20.55a1.65 1.65 0 001.64-1.63v-1.64A1.65 1.65 0 0043.55 70zM66.73 25.14a13 13 0 1013 13 13 13 0 00-13-13zM73.17 39a.82.82 0 01-.82.7H61.11a.78.78 0 01-.81-.7 11.3 11.3 0 010-1.84.82.82 0 01.81-.7h11.24a.82.82 0 01.82.7 11.3 11.3 0 010 1.84zM42.51 28.88a13 13 0 00-18.43 18.43 13 13 0 0018.43-18.43zM42 39.17a.51.51 0 01-.47.55h-6.07a.58.58 0 00-.54.54v6a.58.58 0 01-.54.54h-2.17a.5.5 0 01-.54-.46v-6.08a.51.51 0 00-.48-.54h-6.07a.52.52 0 01-.54-.5V37a.59.59 0 01.54-.55h6a.51.51 0 00.55-.47V30a.58.58 0 01.54-.54h2.17a.54.54 0 01.54.54v6a.5.5 0 00.46.54h6.08A.6.6 0 0142 37z\"}},\nproduct_request:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M77.4 78.1H40.5c-1.2 0-2.3-1-2.3-2.2V71.2c0-1.2 1-2.3 2.2-2.3h37c1.2 0 2.3 1 2.3 2.2V75.8c.1 1.2-.9 2.3-2.3 2.3.1 0 .1 0 0 0zM26.6 78.1H22c-1.2 0-2.3-1-2.3-2.2V71.2c0-1.2 1-2.3 2.2-2.3H26.6c1.2 0 2.3 1 2.3 2.2V75.8c.1 1.2-.9 2.2-2.1 2.3h-.2zM53.8 57.6c-1.2 0-2.3-1-2.3-2.2V50.7c0-1.2 1-2.3 2.2-2.3H77.4c1.2 0 2.3 1 2.3 2.2V55.3c0 1.2-1 2.3-2.2 2.3H53.8zM62.6 37.1c-1.2 0-2.3-1-2.3-2.2V30.2c0-1.2 1-2.3 2.2-2.3h14.9c1.2 0 2.3 1 2.3 2.2V34.8c0 1.2-1 2.3-2.2 2.3H62.6zM20.8 58.2C19.6 47.5 28 36.4 38 34.5l2.7-.6c.5-.1.9-.6.8-1.2 0-.3-.2-.5-.4-.6l-6.7-4.5c-.7-.5-.8-1.4-.3-2v-.1l1.7-2.5c.4-.7 1.4-.9 2-.4h.1L54 33.5c.7.4.9 1.4.4 2v.1l-11 16.2c-.4.7-1.4.9-2 .4h-.1l-2.5-1.7c-.7-.4-.9-1.4-.4-2v-.1l4.4-6.7c.3-.4.3-1.1-.2-1.4-.2-.2-.5-.3-.8-.2l-1.6.3c-7.8 1.5-14.4 10.3-13.7 17.9 0 .7-1.1 1.7-1.9 1.9h-1.9c-.9.1-1.9-1.1-1.9-2z\"}},\nproduct_request_line_item:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M77.8 77.4h-37c-1.2 0-2.3-1-2.3-2.2V70.5c0-1.2 1-2.3 2.2-2.3h37c1.2 0 2.3 1 2.3 2.2V75.1c.1 1.2-.9 2.3-2.2 2.3zM26.9 77.4h-4.6c-1.2 0-2.3-1-2.3-2.2V70.5c0-1.2 1-2.3 2.2-2.3H26.9c1.2 0 2.3 1 2.3 2.2V75.1c.1 1.2-.8 2.2-2 2.3h-.3zM24.4 48.5c6.8-11.7 22.9-17 33.6-11.8l2.9 1.3c1 .5 2-.6 1.7-1.6L59.8 27c-.3-1 .3-2 1.2-2.4l3.4-1.3c.8-.4 1.7 0 2.1.8 0 .1.1.2.1.3l6.8 22.7c.3 1-.2 2.1-1.2 2.4l-22 8.6c-.8.4-1.7 0-2.1-.8 0-.1-.1-.2-.1-.3l-1.1-3.5c-.3-1 .2-2.1 1.2-2.4l9-3.6c.7-.2 1-.9.8-1.6-.1-.3-.3-.6-.6-.7l-1.7-.8c-8.3-4.1-21 .1-26 8.4-.5.8-2.3 1-3.2.6l-1.7-1.6c-.9-.4-.8-2.4-.3-3.3z\"}},\nproduct_required:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"rect\":[{\"x\":\"43.93\",\"y\":\"68.27\",\"width\":\"36.07\",\"height\":\"7.99\",\"rx\":\"2\",\"ry\":\"2\"},{\"x\":\"43.93\",\"y\":\"50.42\",\"width\":\"36.07\",\"height\":\"7.99\",\"rx\":\"2\",\"ry\":\"2\"},{\"x\":\"49.92\",\"y\":\"32.57\",\"width\":\"30.08\",\"height\":\"7.99\",\"rx\":\"2\",\"ry\":\"2\"}],\"path\":[{\"d\":\"M33.82 76.26h-4a2 2 0 01-2-2v-4a2 2 0 012-2h4a2 2 0 012 2v4a1.9 1.9 0 01-2 2zM33.82 58.41h-4a2 2 0 01-2-2v-4a2 2 0 012-2h4a2 2 0 012 2v4a1.9 1.9 0 01-2 2z\",\"fill-rule\":\"evenodd\"},{\"d\":\"M47.55 26.33l-2.12-2.12a1.44 1.44 0 00-2.12 0L30.08 37.32l-5.37-5.24a1.44 1.44 0 00-2.12 0l-2.12 2.12a1.44 1.44 0 000 2.12l7.36 7.36a3 3 0 004.24 0l15.48-15.22a1.69 1.69 0 000-2.13z\",\"fill-rule\":\"evenodd\"}]},\nproduct_service_campaign:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M47.44 61.66a1 1 0 011 .91v14.37a3.06 3.06 0 01-2.87 3H25.08a3.06 3.06 0 01-3-2.88V62.68a1 1 0 01.91-1h24.5zm29.51 0a1 1 0 011 .91v14.37a3.06 3.06 0 01-2.87 3H54.59a3.06 3.06 0 01-3-2.88V62.68a1 1 0 01.91-1H77zm-37.36 4.23l-.09.11-5.82 6.32-2.63-2.55a.77.77 0 00-1-.08l-.09.08-1.09 1a.62.62 0 00-.07.9l.07.08 3.73 3.54a1.56 1.56 0 001.08.45 1.43 1.43 0 001.09-.45l3.14-3.32.63-.67 3.14-3.31a.78.78 0 00.06-.9l-.06-.08-1.09-1a.76.76 0 00-1-.12zm29.51 0L69 66l-5.82 6.32-2.64-2.55a.75.75 0 00-1-.08l-.09.08-1.09 1a.62.62 0 00-.07.9l.07.08 3.73 3.54a1.54 1.54 0 001.08.45 1.43 1.43 0 001.09-.45l3.14-3.32.63-.67 3.14-3.31a.78.78 0 00.06-.9l-.06-.08L70.1 66a.76.76 0 00-1-.11zM45.67 51.48a3 3 0 012.85 2.87v3.24a1 1 0 01-.84 1H21a1 1 0 01-.94-.9v-3.16a3 3 0 012.69-3.05h23zm31.48 0A3 3 0 0180 54.35v3.24a1 1 0 01-.84 1H52.43a1 1 0 01-1-.9v-3.16a3 3 0 012.68-3.05h23zm-15-21.29a1 1 0 011 .91v14.37a3.06 3.06 0 01-2.87 3.05H39.84a3.06 3.06 0 01-3.05-2.87V31.21a1 1 0 01.9-1H62.2zm-7.85 4.22l-.09.08-5.82 6.32-2.59-2.56a.76.76 0 00-1-.07l-.09.07-1.08 1a.61.61 0 00-.07.9l.07.08 3.72 3.53a1.56 1.56 0 001.09.45 1.43 1.43 0 001.08-.45l3.14-3.31.64-.67 3.13-3.32a.78.78 0 00.06-.9l-.06-.07-1.08-1a.77.77 0 00-1-.08zM62.2 20a3.06 3.06 0 013 2.88v3.23a1 1 0 01-.91 1H35.77a1 1 0 01-1-.91v-3.14a3.06 3.06 0 012.87-3H62.2z\"}},\nproduct_service_campaign_item:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M74 42a2 2 0 012 1.85V72a6 6 0 01-5.78 6H30a6 6 0 01-6-5.78V44a2 2 0 011.85-2zm-15.5 8.34l-.12.1-11.45 12.41-5.2-5a1.51 1.51 0 00-2-.1l-.11.1-2.14 1.92a1.2 1.2 0 00-.1 1.81l.1.11 7.33 6.94a3.07 3.07 0 002.14.89 2.81 2.81 0 002.13-.89L55 62.34l.43-.44.42-.45.55-.58.21-.22.42-.44 5.62-5.93a1.54 1.54 0 00.08-1.82l-.08-.1-2.14-1.92a1.51 1.51 0 00-2.01-.1zM74 22a6 6 0 016 6v6a2 2 0 01-2 2H22a2 2 0 01-2-2v-6a6 6 0 016-6z\"}},\nproduct_transfer:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M75.6 20.54h-3.55a1.82 1.82 0 00-1.77 1.77v8.28c0 1.06-1.18 1.77-1.89.95A26 26 0 0046.28 23a22.73 22.73 0 00-8.75 2.6 22.92 22.92 0 00-4 2.48 1.89 1.89 0 00-.24 2.72l2.48 2.48a1.79 1.79 0 002.25.24 28.6 28.6 0 014.61-2.48c.71-.24 1.54-.47 2.36-.71a19.53 19.53 0 0118.56 6.38c1.42 1.66.35 2.72-.83 2.72h-8.28a1.93 1.93 0 00-1.89 1.77v3.55a1.93 1.93 0 001.89 1.77H76A1.47 1.47 0 0077.37 45V22.32a1.82 1.82 0 00-1.77-1.78zM64.84 62.39a1.71 1.71 0 00-2.48 0 18.93 18.93 0 01-6.86 4.37c-.71.24-1.54.47-2.36.71a19.53 19.53 0 01-18.56-6.38c-1.42-1.66-.35-2.72.83-2.72h8.28a1.82 1.82 0 001.77-1.77v-3.55a1.82 1.82 0 00-1.77-1.77H22.16a1.57 1.57 0 00-1.54 1.54v22.7a1.82 1.82 0 001.77 1.77h3.55a1.82 1.82 0 001.77-1.77v-8.28c0-1.06 1.18-1.77 1.89-.95a25.87 25.87 0 0022.11 8.51 22.73 22.73 0 008.75-2.6 25.85 25.85 0 006.74-4.85 1.71 1.71 0 000-2.48z\"}},\nproduct_warranty_term:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M66 49.52c1.77 0 3.17 1.92 4.72 2.58s4 .3 5.17 1.55.89 3.55 1.56 5.17 2.58 3 2.58 4.73-1.92 3.17-2.58 4.73-.3 4-1.56 5.16-3.54.89-5.17 1.56-3 2.58-4.72 2.58-3.21-1.92-4.76-2.58-4-.3-5.17-1.56-.88-3.54-1.55-5.16-2.58-3-2.58-4.73 1.92-3.18 2.58-4.73.3-4 1.55-5.17 3.55-.88 5.17-1.55 2.96-2.58 4.76-2.58zM50.89 68.7a5.77 5.77 0 01.47.88c.62 1.51.59 3.53 1.11 5.1H21.74a1.88 1.88 0 01-1.74-2v-2a1.88 1.88 0 011.74-2h29.15zM71.2 59a.69.69 0 00-1 0l-5.47 6.24-2.48-2.52a.69.69 0 00-1 0l-1 1a.63.63 0 000 1l3.5 3.49a1.42 1.42 0 001 .45 1.3 1.3 0 001-.45l6.5-7.21a.78.78 0 000-1zM25.81 32.87a1.74 1.74 0 011.66 1.79v27.77a1.74 1.74 0 01-1.66 1.8h-4.15a1.74 1.74 0 01-1.66-1.8V34.66a1.74 1.74 0 011.66-1.79h4.15zm23.75 0a1.79 1.79 0 011.79 1.79v22.87c-.86 2-3.3 3.76-3.3 6a3.08 3.08 0 00.08.68h-4a1.8 1.8 0 01-1.79-1.8V34.66a1.79 1.79 0 011.79-1.79h5.37zm-12.14 0a1.91 1.91 0 012 1.79v27.77a1.91 1.91 0 01-2 1.8h-2a1.9 1.9 0 01-2-1.8V34.66a1.9 1.9 0 012-1.79h2zm22.4 0a1.91 1.91 0 012 1.79v13.1a9.36 9.36 0 01-1.87 1.18 22.83 22.83 0 01-4.11.85V34.66a1.91 1.91 0 012-1.79h2zm10.78 0a1.74 1.74 0 011.66 1.79V49l-.26-.1c-2-.84-3.77-3.29-6-3.29a3.37 3.37 0 00-1.18.21V34.66a1.74 1.74 0 011.66-1.79h4.12zm-.08-10.45a1.89 1.89 0 011.74 2v2a1.88 1.88 0 01-1.74 2H21.74a1.88 1.88 0 01-1.74-2v-2a1.88 1.88 0 011.74-2h48.78z\"}},\nproduct_workspace:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M36.6 20.5a2.05 2.05 0 012.1 2.1V24a2.05 2.05 0 01-2.1 2.1h-6.3a4.19 4.19 0 00-4.2 4v39.6a4.19 4.19 0 004 4.2h39.6a4.19 4.19 0 004.2-4v-6.5a2.05 2.05 0 012.1-2.1h1.4a2.05 2.05 0 012.1 2.1v7.7a8.39 8.39 0 01-8.4 8.4H28.9a8.39 8.39 0 01-8.4-8.4V28.9a8.39 8.39 0 018.4-8.4z\",\"fill-rule\":\"evenodd\"},{\"d\":\"M67.8 49.2l3.8-3.8a1.3 1.3 0 000-1.9L56.2 28a1.3 1.3 0 00-1.9 0l-3.8 3.8a1.3 1.3 0 000 1.9L66 49.2a1.19 1.19 0 001.8 0zM76.5 40.5l1.9-1.9a1.3 1.3 0 000-1.9L63 21.2a1.3 1.3 0 00-1.9 0l-1.9 1.9a1.3 1.3 0 000 1.9l15.5 15.5a1.26 1.26 0 001.8 0zM63.4 53.6a1.23 1.23 0 00.1-1.9L48 36.2a1.3 1.3 0 00-1.9 0l-.1.1a1.3 1.3 0 000 1.9l15.5 15.5a1.31 1.31 0 001.9-.1zM57.9 59l.9-.9a1.3 1.3 0 000-1.9L43.4 40.7a1.3 1.3 0 00-1.9 0l-.9.9a1.3 1.3 0 000 1.9L56.1 59a1.12 1.12 0 001.8 0zM49.6 67.4l3.8-3.8a1.3 1.3 0 000-1.9L38 46.2a1.3 1.3 0 00-1.9 0L32.3 50a1.3 1.3 0 000 1.9l15.5 15.5a1.27 1.27 0 001.8 0z\"}]},\nproducts:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M57.6 67.4h7.7a1.78 1.78 0 001.9-1.9v-31a1.78 1.78 0 00-1.9-1.9h-7.7a1.78 1.78 0 00-1.9 1.9v31a1.78 1.78 0 001.9 1.9zM75 67.4h3.9a1.78 1.78 0 001.9-1.9v-31a1.78 1.78 0 00-1.9-1.9H75a1.78 1.78 0 00-1.9 1.9v31a1.84 1.84 0 001.9 1.9zM48.7 67.4a1.81 1.81 0 002-1.9v-31a1.78 1.78 0 00-1.9-1.9h-.1a1.78 1.78 0 00-1.9 1.9v31a1.73 1.73 0 001.9 1.9zM37.8 67.4h1.9a1.78 1.78 0 001.9-1.9v-31a1.78 1.78 0 00-1.9-1.9h-1.9a1.78 1.78 0 00-1.9 1.9v31a1.73 1.73 0 001.9 1.9zM21.1 67.4h7.7a1.78 1.78 0 001.9-1.9v-31a1.78 1.78 0 00-1.9-1.9h-7.7a1.78 1.78 0 00-1.9 1.9v31a1.84 1.84 0 001.9 1.9z\"}},\npromotions:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M59.16 53.31a3.85 3.85 0 103.89 3.86 3.85 3.85 0 00-3.84-3.86h-.05zM40.79 39a3.85 3.85 0 103.85 3.86A3.85 3.85 0 0040.79 39z\"},{\"d\":\"M78.16 46.11l-3.23-3.86a7 7 0 01-1.62-4l-.36-5a6.34 6.34 0 00-5.8-5.9L62.84 27a9.17 9.17 0 01-5.19-2.2L54.38 22a6.37 6.37 0 00-8.28-.07l-3.55 3a8.1 8.1 0 01-4.69 1.9l-4.62.33a6.33 6.33 0 00-5.9 5.8L27 37.14a9.25 9.25 0 01-2.22 5.23L22 45.63a6.35 6.35 0 00-.07 8.27L25 57.56A7.75 7.75 0 0126.71 62l.34 4.76a6.34 6.34 0 005.8 5.9l4.32.38a9 9 0 015.17 2.2l3.28 2.84a6.39 6.39 0 008.28.07L57.67 75a7.33 7.33 0 014.19-1.69l4.9-.35a6.34 6.34 0 005.9-5.8l.36-4a10.15 10.15 0 012.43-5.73l2.64-3a6.35 6.35 0 00.07-8.32zm-44.52-3.24A7.16 7.16 0 1140.83 50a7.15 7.15 0 01-7.19-7.11zM44 64a.56.56 0 01-.43.28h-2.09A.56.56 0 0141 64a.51.51 0 010-.53L56 36a.61.61 0 01.44-.27h2.23a.55.55 0 01.26.73zm22.4-6.84A7.17 7.17 0 1159.22 50a7.17 7.17 0 017.13 7.19z\"}]},\npropagation_policy:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M36 20H26a6 6 0 00-6 6v8a6 6 0 006 6h10a6 6 0 006-6v-8a6 6 0 00-6-6zm-4 14h-2a4 4 0 010-8h2a4 4 0 010 8zM54 40h10a6 6 0 006-6v-8a6 6 0 00-6-6H54a6 6 0 00-6 6v8a6 6 0 006 6zm4-14h2a4 4 0 010 8h-2a4 4 0 010-8zM36 46H26a6 6 0 00-6 6v8a6 6 0 006 6h10a6 6 0 006-6v-8a6 6 0 00-6-6zm-4 14h-2a4 4 0 010-8h2a4 4 0 010 8zM77 67H67v-3.52a9 9 0 10-6 0V67H51a3 3 0 00-3 3v7a3 3 0 006 0v-4h7v4a3 3 0 006 0v-4h7v4a3 3 0 006 0v-7a3 3 0 00-3-3zM64 52a3 3 0 11-3 3 3 3 0 013-3z\",\"fill-rule\":\"evenodd\"}},\nproposition:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M25.8 60.6h-4.5c-.7 0-1.3.6-1.3 1.3V78c0 .7.6 1.3 1.3 1.3h2.2c2 0 3.6-1.6 3.6-3.6V62c.1-.8-.6-1.4-1.3-1.4zM79.9 69.4c-.7-1.6-2-3.3-3.9-3.5-1-.1-2 .3-2.9.6-3.6 1.3-7.2 2.5-10.8 3.8-2.3.8-4.7 1.6-7.2 1.8-1.7.1-3.4 0-5.1 0-.9 0-1.7-.7-1.7-1.7s.7-1.7 1.7-1.7h9.1c1.7 0 3-1.4 3-3s-1.4-3-3-3h-7c-.3 0-2.2-.1-3.4-.6-1.3-.6-3-.7-3-.6H33.4c-1.5 0-2.7 1.2-2.7 2.7v11.3c0 1.3 1 2.4 2.3 2.6h.3c2.3 0 4.6.5 6.9.9 2.3.5 4.5.8 6.9.8 3 .1 6.1-.4 9-1.1 2.9-.8 5.7-1.9 8.5-2.8 4.8-1.6 9.7-3.3 14.5-4.9.6-.3 1.1-.8.8-1.6z\"},{\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",\"d\":\"M58 40.1v15c0 .5.5.7.9.6C61.8 54 70.8 49 70.8 49c1.2-.7 1.9-1.9 1.9-3.3V32.2c0-.5-.5-.7-.9-.6L58.6 39c-.3.3-.6.7-.6 1.1M56.8 36L70 28.6c.4-.2.4-.8 0-1-2.9-1.7-12-6.8-12-6.8a3.7 3.7 0 00-3.8 0l-12 6.8c-.4.2-.4.8 0 1L55.6 36c.3.2.8.2 1.2 0M53.7 39.1l-13.2-7.4c-.4-.2-.9.1-.9.6v13.4c0 1.3.7 2.6 1.9 3.3 0 0 9 5.1 11.9 6.7.4.2.9-.1.9-.6v-15c0-.4-.2-.8-.6-1\"}]}},\nquestion_best:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"fill-rule\":\"evenodd\",\"path\":[{\"d\":\"M100 100V62l-38 38h38zm-3.9-14.4L93 88.8c-.1.1-.1.2-.1.3l.7 4.5c.1.3-.3.6-.5.4l-3.8-2.1c-.1-.1-.2-.1-.3 0L85 94c-.3.1-.6-.1-.5-.4l.7-4.5c0-.1 0-.3-.1-.3L82 85.6c-.2-.3-.1-.6.2-.7l4.3-.7c.1 0 .2-.1.3-.2l1.9-4.1c.1-.3.5-.3.7 0l1.9 4.1c.1.1.2.2.3.2l4.3.7c.3 0 .4.4.2.7z\",\"fill-opacity\":\".65\"},{\"d\":\"M49.9 22c-16.6 0-30 12.5-30 28 0 5 1.4 9.6 3.8 13.7.3.5.4 1.1.2 1.6l-2.8 8.9c-.5 1.6 1 3 2.6 2.5l8.8-3.1c.6-.2 1.2-.1 1.7.2 4.6 2.7 10 4.2 15.8 4.2 16.6 0 30-12.5 30-28-.1-15.5-13.4-28-30.1-28zm3 45c0 1.1-.9 2-2 2h-2c-1.1 0-2-.9-2-2v-2c0-1.1.9-2 2-2h2c1.1 0 2 .9 2 2v2zm.9-12.7c-.4.1-.8.5-.8 1v1.6c0 1.1-.9 2.1-2 2.1h-2c-1.1 0-2-1-2-2.1v-1.6c0-3 2-5.7 4.9-6.7 1.1-.4 2.1-.9 2.7-1.8 3.4-4.5 0-9.7-4.5-9.8-1.6-.1-3.2.6-4.4 1.7-.8.8-1.4 1.8-1.6 2.8-.2.9-1 1.6-1.9 1.6h-2.1c-1.2 0-2.2-1.2-2-2.4.5-2.4 1.6-4.6 3.4-6.3 2.3-2.3 5.4-3.5 8.7-3.4 6.3.2 11.5 5.4 11.7 11.7.2 5.2-3 9.9-8.1 11.6z\"}]}},\nquestion_feed:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M50 22c-16.6 0-30 12.5-30 28 0 5 1.4 9.6 3.8 13.7.3.5.4 1.1.2 1.6l-2.8 8.9c-.5 1.6 1 3 2.6 2.5l8.8-3.1c.6-.2 1.2-.1 1.7.2 4.6 2.7 10 4.2 15.8 4.2 16.6 0 30-12.5 30-28C80 34.5 66.6 22 50 22zm3 45c0 1.1-.9 2-2 2h-2c-1.1 0-2-.9-2-2v-2c0-1.1.9-2 2-2h2c1.1 0 2 .9 2 2v2zm.8-12.7c-.4.1-.8.5-.8 1v1.6c0 1.1-.9 2.1-2 2.1h-2c-1.1 0-2-1-2-2.1v-1.6c0-3 2-5.7 4.9-6.7 1.1-.4 2.1-.9 2.7-1.8 3.4-4.5 0-9.7-4.5-9.8-1.6-.1-3.2.6-4.4 1.7-.8.8-1.4 1.8-1.6 2.8-.2.9-1 1.6-1.9 1.6h-2.1c-1.2 0-2.2-1.2-2-2.4.5-2.4 1.6-4.6 3.4-6.3 2.3-2.3 5.4-3.5 8.7-3.4 6.3.2 11.5 5.4 11.7 11.7.2 5.2-3 9.9-8.1 11.6z\"}},\nqueue:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M67.6 20.1c-2.9 0-5.4 2.1-6.4 5 3.8 1.7 6.7 5.4 7.7 9.9 3.1-.7 5.4-3.7 5.4-7.3 0-4.3-3-7.6-6.7-7.6zM73.8 37.9c-1.3 1.2-2.9 2-4.7 2.3-.3 2.7-1.3 5.2-2.8 7.2h11.1c1.4 0 2.5-1.1 2.5-2.5v-1.2c0-2.7-3-4.4-6.1-5.8zM63.2 50c-2 1.8-4.5 2.9-7.2 2.9-.2 3.1-1.1 5.9-2.5 8.3h14c1.6 0 3-1.3 3-3V57c-.1-3.3-3.7-5.3-7.3-7zM50.3 65.2c-2.8 2.8-6.6 4.4-10.6 4.4-4.1 0-7.9-1.7-10.7-4.6-4.6 2.2-9 5-9 9.1V76c0 2.2 1.8 3.9 3.9 3.9h31.3c2.2 0 3.9-1.8 3.9-3.9v-1.8c0-4.2-4.2-6.9-8.8-9z\"},{\"d\":\"M55.7 29.5c-3.7 0-6.8 2.7-7.7 6.5 3.7 2.4 6.4 6.5 7.5 11.2h.2c4.4 0 8-4 8-8.9.1-4.8-3.5-8.8-8-8.8z\"}],\"ellipse\":{\"cx\":\"39.6\",\"cy\":\"51.6\",\"rx\":\"10.7\",\"ry\":\"11.8\"}},\nquick_text:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M49.5 21.5c-16.7 0-29.9 12.3-29.9 27.4 0 4.8 1.4 9.3 3.6 13.3.4.6.5 1.4.3 2.1L19.6 75c-.4 1 .6 1.9 1.6 1.6L32 72.5c.6-.3 1.4-.1 2.1.3 4.5 2.5 9.9 4 15.7 4 16.4-.1 29.8-12.3 29.8-27.6-.1-15.4-13.5-27.7-30.1-27.7zM35.6 48c0-.6.5-1.2 1.2-1.2h19.4c.6 0 1.2.5 1.2 1.2v2.3c0 .6-.5 1.2-1.2 1.2H36.7c-.6 0-1.2-.5-1.2-1.2V48zm27.9 11.6c0 .6-.5 1.2-1.2 1.2H36.7c-.6 0-1.2-.5-1.2-1.2v-2.3c0-.6.5-1.2 1.2-1.2h25.6c.6 0 1.2.5 1.2 1.2v2.3zm0-18.6c0 .6-.5 1.2-1.2 1.2H36.7c-.6 0-1.2-.5-1.2-1.2v-2.3c0-.6.5-1.2 1.2-1.2h25.6c.6 0 1.2.5 1.2 1.2V41z\"}},\nquip:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M48.1 20.1c-14.9.9-27.1 13.1-28 28C19 65.5 32.8 80 50 80h30V50c0-17.2-14.5-31-31.9-29.9zM35.8 37c0-1.1.9-2 2-2h24.5c1.1 0 2 .9 2 2v2c0 1.1-.9 2-2 2H37.8c-1.1 0-2-.9-2-2v-2zm28.5 26c0 1.1-.9 2-2 2H37.8c-1.1 0-2-.9-2-2v-2c0-1.1.9-2 2-2h24.5c1.1 0 2 .9 2 2v2zm7.5-12c0 1.1-.9 2-2 2H30.2c-1.1 0-2-.9-2-2v-2c0-1.1.9-2 2-2h39.6c1.1 0 2 .9 2 2v2z\"}},\nquip_sheet:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M31.9 38.8h-10c-1 0-1.9.9-1.9 1.9v31.9c0 2.8 2.2 5 5 5h6.9c1 0 1.9-.9 1.9-1.9v-35c0-1.1-.9-1.9-1.9-1.9zm46.2 0H40.6c-1 0-1.9.9-1.9 1.9v35c0 1 .9 1.9 1.9 1.9H75c2.8 0 5-2.2 5-5v-32c0-1-.9-1.8-1.9-1.8zM75 22.5H25c-2.8 0-5 2.2-5 5v4.4c0 1 .9 1.9 1.9 1.9h56.2c1 0 1.9-.9 1.9-1.9v-4.4c0-2.7-2.2-5-5-5z\"}},\nquotes:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M72 22H50.1c-1.4-.1-2.6.6-3.6 1.6L19.7 50.5c-2.3 2.3-2.3 6.1 0 8.5l21.2 21.2c2.3 2.3 6.1 2.3 8.5 0L76.5 53c1-1 1.6-2.6 1.5-4V28c0-3.3-2.7-6-6-6zM50.4 66L49 67.4c-.8.8-2 .8-2.8 0L32.6 53.8c-.8-.8-.8-2 0-2.8l1.4-1.4c.8-.8 2-.8 2.8 0l13.6 13.6c.8.8.8 2 0 2.8zm8-8L57 59.4c-.8.8-2 .8-2.8 0L40.6 45.8c-.8-.8-.8-2 0-2.8l1.4-1.4c.8-.8 2-.8 2.8 0l13.6 13.6c.8.8.8 2 0 2.8zM64 41c-2.8 0-5-2.2-5-5s2.2-5 5-5 5 2.2 5 5-2.2 5-5 5z\"}},\nradio_button:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M33.5 53.1c-7.4 0-13.4 6-13.4 13.4s6 13.4 13.4 13.4 13.4-6 13.4-13.4-6-13.4-13.4-13.4zm0 20.9c-4.1 0-7.5-3.4-7.5-7.5s3.4-7.5 7.5-7.5 7.5 3.4 7.5 7.5c0 4.2-3.4 7.5-7.5 7.5zM66.5 53.1c-7.4 0-13.4 6-13.4 13.4s6 13.4 13.4 13.4 13.4-6 13.4-13.4-6-13.4-13.4-13.4zM33.5 20c-7.4 0-13.4 6-13.4 13.4s6 13.4 13.4 13.4 13.4-6 13.4-13.4S40.9 20 33.5 20zm0 20.9c-4.1 0-7.5-3.4-7.5-7.5s3.4-7.5 7.5-7.5 7.5 3.4 7.5 7.5-3.4 7.5-7.5 7.5zM66.5 20c-7.4 0-13.4 6-13.4 13.4s6 13.4 13.4 13.4 13.4-6 13.4-13.4S73.9 20 66.5 20z\"}},\nread_receipts:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M48.9 43.4c.7.6 1.5.6 2.2 0l23-21.3c.4-.8.3-2.1-1.3-2.1l-45.6.1c-1.2 0-2.2 1.1-1.3 2.1l23 21.2z\"},{\"d\":\"M74.3 31.2c0-1.1-1.3-1.6-2-.9L54.4 46.9c-1.2 1.1-2.8 1.7-4.4 1.7-1.6 0-3.2-.6-4.4-1.7l-18-16.6c-.8-.7-2-.2-2 .9v21.2c0 2.7 2.2 4.9 4.9 4.9h23.9v-6.1c.2-3.3 2.8-6 6.2-6.2h.7c3.3.2 6 2.8 6.2 6.2v6.1h2.2c2.7 0 4.9-2.2 4.9-4.9-.3 0-.3-14.7-.3-21.2z\"}]},\"path\":{\"d\":\"M71.1 63.7l-6.7-2.3c-.5-.2-.9-.7-.9-1.2v-8.9c0-1.4-1.1-2.4-2.5-2.4h-.2c-1.4 0-2.5 1.1-2.5 2.4v17.5c0 1.5-1.9 2.1-2.7.8L53.9 66c-.9-1.5-2.9-2-4.4-.9l-1.1.9L54 79.3c.2.6.8.9 1.5.9h14.7c.7 0 1.3-.5 1.5-1.1l2.6-9.3c.6-2.7-.8-5.2-3.2-6.1z\"}},\nrecent:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M28.1 48c-.1.7-.1 1.3-.1 2h-6c0-.7 0-1.3.1-2h6zM51.5 36h-3c-.8 0-1.5.7-1.5 1.5v13.1c0 .4.2.8.4 1.1l8.4 8.4c.6.6 1.5.6 2.1 0L60 58c.6-.6.6-1.5 0-2.1l-7-7.1V37.5c0-.8-.7-1.5-1.5-1.5z\"},{\"d\":\"M50 22c-14.8 0-26.9 11.5-27.9 26 0 .3-.1.7-.1 1h-4.5c-1.3 0-2 1.5-1.2 2.4l7.5 9.1c.6.7 1.7.7 2.3 0l7.5-9.1c.8-1 .1-2.4-1.2-2.4H28v-1c1-11.2 10.5-20 21.9-20 13 0 23.3 11.3 21.9 24.5-1 9.5-10 18.5-19.6 19.4-7.1.7-13.8-1.9-18.5-7-.6-.7-1.4-1.1-2.2-.1l-2.4 2.9c-.5.6-.1 1 .4 1.5 5.4 5.7 12.8 8.9 20.8 8.8 14.4-.2 26.5-11.6 27.5-26C79.1 35.7 66.1 22 50 22z\"}]},\nrecipe:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M56.5 22.8a2.8 2.8 0 11-2.8-2.8 2.8 2.8 0 012.8 2.8zM46.24 33.2a3.75 3.75 0 10-3.75-3.75 3.75 3.75 0 003.75 3.75zM70.54 72L58 52.75V42.5a2.69 2.69 0 003-2.35 2.26 2.26 0 000-.45 2.49 2.49 0 00-2.25-2.7H41.5a2.5 2.5 0 00-2.5 2.48v.32a2.7 2.7 0 002.56 2.82 3.24 3.24 0 00.44 0V53L29.5 72a5.32 5.32 0 00-.3 5.3 4.88 4.88 0 004.4 2.7h32.7a4.88 4.88 0 004.4-2.7 5 5 0 00-.2-5.3zM47 54.45V43h6v11.6l5.9 9.4H41.1z\",\"fill-rule\":\"evenodd\"}},\nrecord:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M39 32h22c1.1 0 2-.9 2-2v-4c0-3.3-2.7-6-6-6H43c-3.3 0-6 2.7-6 6v4c0 1.1.9 2 2 2z\"},{\"d\":\"M72 25h-2c-.6 0-1 .4-1 1v4c0 4.4-3.6 8-8 8H39c-4.4 0-8-3.6-8-8v-4c0-.6-.4-1-1-1h-2c-3.3 0-6 2.7-6 6v43c0 3.3 2.7 6 6 6h44c3.3 0 6-2.7 6-6V31c0-3.3-2.7-6-6-6zM39 68c0 1.1-.9 2-2 2h-2c-1.1 0-2-.9-2-2v-2c0-1.1.9-2 2-2h2c1.1 0 2 .9 2 2v2zm0-10c0 1.1-.9 2-2 2h-2c-1.1 0-2-.9-2-2v-2c0-1.1.9-2 2-2h2c1.1 0 2 .9 2 2v2zm0-10c0 1.1-.9 2-2 2h-2c-1.1 0-2-.9-2-2v-2c0-1.1.9-2 2-2h2c1.1 0 2 .9 2 2v2zm28 20c0 1.1-.9 2-2 2H45c-1.1 0-2-.9-2-2v-2c0-1.1.9-2 2-2h20c1.1 0 2 .9 2 2v2zm0-10c0 1.1-.9 2-2 2H45c-1.1 0-2-.9-2-2v-2c0-1.1.9-2 2-2h20c1.1 0 2 .9 2 2v2zm0-10c0 1.1-.9 2-2 2H45c-1.1 0-2-.9-2-2v-2c0-1.1.9-2 2-2h20c1.1 0 2 .9 2 2v2z\"}]},\nrecord_create:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M68.4 27.1c.1 0 .1 0 0 0\"},\"g\":{\"path\":[{\"d\":\"M39 32h22c1.1 0 2-.9 2-2v-4c0-3.3-2.7-6-6-6H43c-3.3 0-6 2.7-6 6v4c0 1.1.9 2 2 2z\"},{\"d\":\"M72 25h-2c-.6 0-1 .4-1 1v4c0 4.4-3.6 8-8 8H39c-4.4 0-8-3.6-8-8v-4c0-.6-.4-1-1-1h-2c-3.3 0-6 2.7-6 6v43c0 3.3 2.7 6 6 6h44c3.3 0 6-2.7 6-6V31c0-3.3-2.7-6-6-6zm-7.3 35.2c0 .5-.5 1-1 1h-11c-.4 0-.7.3-.7.7v11c0 .5-.5 1-1 1h-2c-.5 0-1-.5-1-1v-11c0-.4-.3-.7-.7-.7h-11c-.5 0-1-.5-1-1v-2c0-.5.5-1 1-1h11c.4 0 .7-.3.7-.7v-11c0-.5.5-1 1-1h2c.5 0 1 .5 1 1v11c0 .4.3.7.7.7h11c.5 0 1 .5 1 1v2z\"}]}},\nrecord_delete:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M39 32h22c1.1 0 2-.9 2-2v-4c0-3.3-2.7-6-6-6H43c-3.3 0-6 2.7-6 6v4c0 1.1.9 2 2 2z\"},{\"d\":\"M72 25h-2c-.6 0-1 .4-1 1v4c0 4.4-3.6 8-8 8H39c-4.4 0-8-3.6-8-8v-4c0-.6-.4-1-1-1h-2c-3.3 0-6 2.7-6 6v43c0 3.3 2.7 6 6 6h44c3.3 0 6-2.7 6-6V31c0-3.3-2.7-6-6-6zM60.4 70.6c0 1.7-1.3 3.1-3.1 3.1H42.7c-1.7 0-3.1-1.3-3.1-3.1v-13c0-.5.4-.9.9-.9h19c.5 0 .9.4.9.9v13zm2.4-18.7c0 .5-.4.9-.9.9H38.1c-.5 0-.9-.4-.9-.9v-1.8c0-.5.4-.9.9-.9h7.6v-2.4c0-1.3 1.1-2.4 2.4-2.4h3.7c1.3 0 2.4 1.1 2.4 2.4v2.4h7.6c.5 0 .9.4.9.9v1.8z\"},{\"d\":\"M47.6 61h-1.2c-.4 0-.6.2-.6.6v7.1c0 .4.2.6.6.6h1.2c.4 0 .6-.2.6-.6v-7.1c0-.4-.3-.6-.6-.6zM53.7 61h-1.2c-.4 0-.6.2-.6.6v7.1c0 .4.2.6.6.6h1.2c.4 0 .6-.2.6-.6v-7.1c0-.4-.3-.6-.6-.6zM51.2 46.7h-2.4c-.4 0-.6.2-.6.6v1.8h3.7v-1.8c-.1-.4-.3-.6-.7-.6z\"}]}},\nrecord_lookup:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M39 32h22c1.1 0 2-.9 2-2v-4c0-3.3-2.7-6-6-6H43c-3.3 0-6 2.7-6 6v4c0 1.1.9 2 2 2z\"},{\"d\":\"M72 25h-2c-.6 0-1 .4-1 1v4c0 4.4-3.6 8-8 8H39c-4.4 0-8-3.6-8-8v-4c0-.6-.4-1-1-1h-2c-3.3 0-6 2.7-6 6v43c0 3.3 2.7 6 6 6h44c3.3 0 6-2.7 6-6V31c0-3.3-2.7-6-6-6zm-7.7 47.6L63 73.9c-.3.3-.9.3-1.3 0l-8.1-8.1c-2.3 1.6-5.2 2.5-8.4 2.1-5.2-.7-9.4-5.1-9.9-10.3-.7-7.2 5.4-13.4 12.6-12.6 5.3.5 9.6 4.6 10.3 9.9.4 3.1-.4 6.1-2.1 8.4l8.1 8.1c.5.2.5.8.1 1.2z\"},{\"d\":\"M46.9 48.5c-4.4 0-7.9 3.6-7.9 7.9 0 4.4 3.5 7.9 7.9 7.9s7.9-3.5 7.9-7.9-3.5-7.9-7.9-7.9z\"}]}},\nrecord_signature_task:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M77.27 29.57a1.49 1.49 0 00-1-.45 1.33 1.33 0 00-1 .45L74 30.77a.43.43 0 000 .55l3.13 3.13a.52.52 0 00.29.09.35.35 0 00.25-.09l1.21-1.21a1.42 1.42 0 00-.06-2.11zM73.05 32.34a.52.52 0 00-.29-.09.35.35 0 00-.25.09L60 44.78l-1.2 4.15a.57.57 0 00.52.75h.14l4.16-1.21L76.12 36a.38.38 0 000-.49z\"},{\"d\":\"M78.24 38.14l-5.58 5.56v19.18a2 2 0 01-2 2h-42a2 2 0 01-2-2v-23a2 2 0 012-2h34l6-6h-42a6 6 0 00-6 6v27a6 6 0 006 6h46a6 6 0 006-6v-27-.24a2.8 2.8 0 01-.42.5z\"},{\"d\":\"M54.82 50.45c-.94.55-1.82 1.15-2.77 1.65a3.81 3.81 0 01-.87.33.6.6 0 000-.12A4.07 4.07 0 0046.34 49a58.78 58.78 0 00-6.68 2.11 57.84 57.84 0 01-6.95 1.73 1.89 1.89 0 00-1.31 2.31 1.91 1.91 0 002.3 1.31 58.81 58.81 0 006.95-1.73c1.14-.36 2.28-.74 3.41-1.11l2-.65a5 5 0 011.17-.34c.11 0 .13.22.2.37.2.46.33.94.58 1.39a3.25 3.25 0 002.74 1.84c2.24.12 4.12-1.5 6-2.52 2.07-1.19.18-4.43-1.93-3.26z\"}]}},\nrecord_update:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M68.4 27.1c.1 0 .1 0 0 0\"},\"g\":{\"path\":[{\"d\":\"M39 32h22c1.1 0 2-.9 2-2v-4c0-3.3-2.7-6-6-6H43c-3.3 0-6 2.7-6 6v4c0 1.1.9 2 2 2z\"},{\"d\":\"M72 25h-2c-.6 0-1 .4-1 1v4c0 4.4-3.6 8-8 8H39c-4.4 0-8-3.6-8-8v-4c0-.6-.4-1-1-1h-2c-3.3 0-6 2.7-6 6v43c0 3.3 2.7 6 6 6h44c3.3 0 6-2.7 6-6V31c0-3.3-2.7-6-6-6zM60 55.5l-16 16h.1l-7 2c-.7.2-1.3-.5-1.1-1.2l2-6.9 16-16c.2-.2.6-.2.9 0l5.1 5.3c.2.2.2.6 0 .8zm4.6-4.6l-2 2c-.2.2-.6.2-.9 0l-5.2-5.2c-.2-.2-.2-.6 0-.9l2-2c.9-1 2.4-1 3.4 0l2.6 2.6c1.1 1 1.1 2.5.1 3.5z\"}]}},\nrecycle_bin:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M74.4 30H58.8v-5c0-2.7-2.2-5-5-5h-7.5c-2.7 0-5 2.2-5 5v5H25.6c-1 0-1.9.9-1.9 1.9v3.7c0 1 .9 1.9 1.9 1.9h48.7c1 0 1.9-.9 1.9-1.9v-3.7c0-1-.8-1.9-1.8-1.9zm-20.8 0h-7.4v-3.7c0-.7.5-1.2 1.2-1.2h5c.7 0 1.2.5 1.2 1.2V30zM69.4 42.5H30.6c-1 0-1.9.9-1.9 1.9v29.4c0 3.5 2.7 6.2 6.2 6.2h30c3.5 0 6.2-2.7 6.2-6.2V44.4c.1-1-.7-1.9-1.7-1.9zM46.6 73.6l-6.3.1c-.2 0-2.6 0-4.2-2.5-1.7-2.7-.4-5 1.5-8.3l-1.8-1.2c-.2-.1-.3-.3-.2-.5 0-.2.1-.3.4-.4l4.9-1.2.4-.1c.2 0 .4 0 .6.4l.1.4 1.1 5c0 .2 0 .4-.2.5-.2.1-.4.1-.6 0l-1.6-1c-1.7 2.9-2 3.8-1.5 4.5.5.8 1.2.9 1.2.9l6.2-.1c.6 0 1.2.3 1.5.8.2.3.3.6.3.9 0 1-.8 1.8-1.8 1.8zm4.5-18.2c0-.2.1-.4.3-.5l1.7-.8c-1.5-3-2.1-3.7-3-3.7-1 0-1.3.5-1.4.6l-3.3 5.3c-.3.5-.9.8-1.5.8-.3 0-.6-.1-.9-.3-.8-.5-1.1-1.6-.5-2.4l3.3-5.3c.1-.2 1.4-2.2 4.3-2.2 3.2 0 4.4 2.4 6.2 5.8l2-.9c.2-.1.4 0 .5.1s.2.3.1.5l-1.7 5.1c0 .1-.1.2-.3.3-.2.1-.4 0-.4 0l-5.1-1.9c-.2-.1-.3-.3-.3-.5zm13.1 15.3c-1.5 2.8-4.2 2.8-8 2.7l-.1 2.2c0 .2-.1.4-.3.4-.1 0-.3.1-.5-.1L51.6 72c-.3-.3 0-.6 0-.6l.2-.2 4-3.5c.2-.1.3-.2.5-.1s.3.3.3.5l-.1 1.9c3.3 0 4.3-.1 4.7-.9s.2-1.4.1-1.5l-3.1-5.4c-.3-.5-.3-1.2 0-1.7.2-.3.4-.5.7-.7.8-.5 1.9-.2 2.4.7l3.1 5.4c.1.2 1.2 2.2-.2 4.8z\"}}},\nrelated_list:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M74 20H42c-3.3 0-6 2.7-6 6v1c0 .5.4 1 1 1h29c3.3 0 6 2.7 6 6v31c0 .5.4 1 1 1 3.8 0 7-3.1 7-7V26c0-3.3-2.7-6-6-6z\"},{\"d\":\"M28 34c-3.3 0-6 2.7-6 6v34c0 3.3 2.7 6 6 6h32c3.3 0 6-2.7 6-6V40c0-3.3-2.7-6-6-6H28zm8 14c0 1.1-.9 2-2 2h-2c-1.1 0-2-.9-2-2v-2c0-1.1.9-2 2-2h2c1.1 0 2 .9 2 2v2zm22 0c0 1.1-.9 2-2 2H42c-1.1 0-2-.9-2-2v-2c0-1.1.9-2 2-2h14c1.1 0 2 .9 2 2v2zM36 58c0 1.1-.9 2-2 2h-2c-1.1 0-2-.9-2-2v-2c0-1.1.9-2 2-2h2c1.1 0 2 .9 2 2v2zm22 0c0 1.1-.9 2-2 2H42c-1.1 0-2-.9-2-2v-2c0-1.1.9-2 2-2h14c1.1 0 2 .9 2 2v2zM36 68c0 1.1-.9 2-2 2h-2c-1.1 0-2-.9-2-2v-2c0-1.1.9-2 2-2h2c1.1 0 2 .9 2 2v2zm22 0c0 1.1-.9 2-2 2H42c-1.1 0-2-.9-2-2v-2c0-1.1.9-2 2-2h14c1.1 0 2 .9 2 2v2z\"}]},\nrelationship:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M71.25 70.002h-3.751V62.5h3.751c.749 0 1.25-.501 1.25-1.25v-32.5c0-.75-.501-1.25-1.25-1.25h-32.5c-.75 0-1.25.5-1.25 1.25v3.75H30v-3.75A8.696 8.696 0 0138.75 20h32.5A8.696 8.696 0 0180 28.75v32.5c0 4.876-3.872 8.752-8.75 8.752z\"},{\"d\":\"M57.5 37.5H25c-2.749 0-5 2.249-5 5V75c0 2.75 2.251 5 5 5h32.5c2.75 0 5-2.25 5-5V42.5c0-2.75-2.248-5-5-5z\"}]}},\nreply_text:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M48.7 50.9a1 1 0 00-.5 1.7l5.5 5.6a1.45 1.45 0 010 2.1l-2.1 2.1a1.45 1.45 0 01-2.1 0L36 48.9a1.45 1.45 0 010-2.1l13.5-13.5a1.45 1.45 0 012.1 0l2.1 2.2a1.45 1.45 0 010 2.1l-5.6 5.6c-.6.6.5 1.7.5 1.7a27.16 27.16 0 0125.8 20.3 26 26 0 005.3-15.6c-.1-15.5-13.5-27.7-30.1-27.7s-30 12.3-30 27.4a27.56 27.56 0 003.6 13.3 2.58 2.58 0 01.3 2.1l-3.9 10.7a1.25 1.25 0 001.6 1.6L32 72.9a2.33 2.33 0 012.1.3 32.38 32.38 0 0015.7 4 31.63 31.63 0 0019.5-6.9 21.68 21.68 0 00-20.6-19.4z\"}},\nreport:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M39 32h22c1.1 0 2-.9 2-2v-4c0-3.3-2.7-6-6-6H43c-3.3 0-6 2.7-6 6v4c0 1.1.9 2 2 2z\"},{\"d\":\"M72 25h-2c-.6 0-1 .4-1 1v4c0 4.4-3.6 8-8 8H39c-4.4 0-8-3.6-8-8v-4c0-.6-.4-1-1-1h-2c-3.3 0-6 2.7-6 6v43c0 3.3 2.7 6 6 6h44c3.3 0 6-2.7 6-6V31c0-3.3-2.7-6-6-6zM43 66c0 1.1-.9 2-2 2h-2c-1.1 0-2-.9-2-2V56c0-1.1.9-2 2-2h2c1.1 0 2 .9 2 2v10zm10 0c0 1.1-.9 2-2 2h-2c-1.1 0-2-.9-2-2V47c0-1.1.9-2 2-2h2c1.1 0 2 .9 2 2v19zm10 0c0 1.1-.9 2-2 2h-2c-1.1 0-2-.9-2-2V51c0-1.1.9-2 2-2h2c1.1 0 2 .9 2 2v15z\"}]},\nresource_absence:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M49.91 20a25.4 25.4 0 1025.18 25.5c0-13.79-11.24-25.5-25.18-25.5zm16.61 38l-4.73 4.73-12.25-12.27L37.9 62.1l-4.74-4.74L44.8 45.73 33.1 34l4.73-4.73L49.53 41l12.31-12.32 4.74 4.74-12.31 12.31z\",\"fill-rule\":\"evenodd\"},{\"d\":\"M26 64.21h-1.27A4.75 4.75 0 0020 68.95v6.31A4.74 4.74 0 0024.73 80h50.54A4.75 4.75 0 0080 75.26v-6.31a4.74 4.74 0 00-4.73-4.74h-1.54a30.15 30.15 0 01-47.72 0z\",\"fill-rule\":\"evenodd\"}]},\nresource_capacity:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M49.91 20a25.4 25.4 0 1025.18 25.5c0-13.79-11.24-25.5-25.18-25.5zM67.6 46.43H49.29V27s6.87-.42 13.11 6.06 5.2 13.37 5.2 13.37z\",\"fill-rule\":\"evenodd\"},{\"d\":\"M26 64.21h-1.27A4.75 4.75 0 0020 68.95v6.31A4.74 4.74 0 0024.73 80h50.54A4.75 4.75 0 0080 75.26v-6.31a4.74 4.74 0 00-4.73-4.74h-1.54a30.15 30.15 0 01-47.72 0z\",\"fill-rule\":\"evenodd\"}]},\nresource_preference:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M49.91 20a25.4 25.4 0 1025.18 25.5c0-13.79-11.24-25.5-25.18-25.5zM39.24 55.91a2.82 2.82 0 01-3 2.55h-1.9a1.08 1.08 0 01-1.13-1V42.83a1.08 1.08 0 011.13-1h3.77a1.08 1.08 0 011.13 1zM66.39 53c0 5.55-5.2 6.06-10.86 6.06-5.35 0-7.09-1.72-12.22-1.91a1 1 0 01-1.06-1V43.47a1.08 1.08 0 011.13-1 6.71 6.71 0 006.41-6.7V32a1.08 1.08 0 011.13-1h1.89a2.82 2.82 0 013 2.55V40a2.82 2.82 0 003 2.55h4.52a2.82 2.82 0 013 2.55z\",\"fill-rule\":\"evenodd\"},{\"d\":\"M26 64.21h-1.27A4.75 4.75 0 0020 68.95v6.31A4.74 4.74 0 0024.73 80h50.54A4.75 4.75 0 0080 75.26v-6.31a4.74 4.74 0 00-4.73-4.74h-1.54a30.15 30.15 0 01-47.72 0z\",\"fill-rule\":\"evenodd\"}]},\nresource_skill:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M43.85 45.44a6 6 0 1012.07 0 6 6 0 10-12.07 0z\",\"fill-rule\":\"evenodd\"},{\"d\":\"M49.91 20a25.4 25.4 0 1025.18 25.5c0-13.79-11.24-25.5-25.18-25.5zm16.58 33.69l-1.16 1.93a2.66 2.66 0 01-2.13 1.16 2.82 2.82 0 01-.87-.19l-3.19-1.26A14 14 0 0154.49 58l-.58 3.58a2.48 2.48 0 01-2.42 2h-2.41a2.48 2.48 0 01-2.42-2L46.08 58a12 12 0 01-4.45-2.51l-3.38 1.26a2.82 2.82 0 01-.87.19 2.52 2.52 0 01-2.13-1.26l-1.16-2a2.41 2.41 0 01.58-3.09l2.8-2.32a12.69 12.69 0 01-.29-2.61 11.81 11.81 0 01.29-2.51l-2.8-2.32a2.39 2.39 0 01-.58-3.09l1.16-2a2.4 2.4 0 012.13-1.26 2.82 2.82 0 01.87.19l3.38 1.26a13.82 13.82 0 014.45-2.61l.58-3.38A2.31 2.31 0 0149.08 28h2.42a2.32 2.32 0 012.42 1.84l.58 3.48a13.55 13.55 0 014.45 2.51l3.38-1.26a2.82 2.82 0 01.87-.19 2.52 2.52 0 012.13 1.26l1.16 2a2.53 2.53 0 01-.58 3.09l-2.8 2.32a12 12 0 01.29 2.61 11.81 11.81 0 01-.29 2.51l2.8 2.32a2.52 2.52 0 01.58 3.2z\",\"fill-rule\":\"evenodd\"},{\"d\":\"M26 64.21h-1.27A4.75 4.75 0 0020 68.95v6.31A4.74 4.74 0 0024.73 80h50.54A4.75 4.75 0 0080 75.26v-6.31a4.74 4.74 0 00-4.73-4.74h-1.54a30.15 30.15 0 01-47.72 0z\",\"fill-rule\":\"evenodd\"}]},\nrestriction_policy:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M64 48a16 16 0 1016 16 16 16 0 00-16-16zm7 19H57a3 3 0 010-6h14a3 3 0 010 6zM36 20H26a6 6 0 00-6 6v9a6 6 0 006 6h10a6 6 0 006-6v-9a6 6 0 00-6-6zm-4.5 15h-1a4.5 4.5 0 010-9h1a4.5 4.5 0 010 9zM54 41h10a6 6 0 006-6v-9a6 6 0 00-6-6H54a6 6 0 00-6 6v9a6 6 0 006 6zm4.5-15h1a4.5 4.5 0 010 9h-1a4.5 4.5 0 010-9zM36 47H26a6 6 0 00-6 6v9a6 6 0 006 6h10a6 6 0 006-6v-9a6 6 0 00-6-6zm-4.5 15h-1a4.5 4.5 0 010-9h1a4.5 4.5 0 010 9z\",\"fill-rule\":\"evenodd\"}},\nreturn_order:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M22 22.3h36.9c1.2 0 2.3 1 2.3 2.2v4.7c0 1.2-1 2.3-2.2 2.3H22c-1.2 0-2.3-1-2.3-2.2v-4.7c-.1-1.2.9-2.3 2.3-2.3-.1 0-.1 0 0 0zm50.8 0h4.6c1.2 0 2.3 1 2.3 2.2v4.7c0 1.2-1 2.3-2.2 2.3h-4.7c-1.2 0-2.3-1-2.3-2.2v-4.7c-.1-1.2.9-2.2 2.1-2.3h.2zM45.6 42.8c1.2 0 2.3 1 2.3 2.2v4.7c0 1.2-1 2.3-2.2 2.3H22c-1.2 0-2.3-1-2.3-2.2v-4.7c0-1.2 1-2.3 2.2-2.3h23.7zm-8.8 20.5c1.2 0 2.3 1 2.3 2.2v4.7c0 1.2-1 2.3-2.2 2.3H22c-1.2 0-2.3-1-2.3-2.2v-4.7c0-1.2 1-2.3 2.2-2.3h14.9zm41.8-21.1c1.2 10.7-7.2 21.8-17.2 23.7l-2.7.6c-.5.1-.9.6-.8 1.2 0 .3.2.5.4.6l6.7 4.5c.7.5.8 1.4.3 2v.1l-1.7 2.5c-.4.7-1.4.9-2 .4h-.1L45.4 66.9c-.7-.4-.9-1.4-.4-2v-.1l11-16.2c.4-.7 1.4-.9 2-.4h.1l2.5 1.7c.7.4.9 1.4.4 2v.1l-4.4 6.7c-.3.4-.3 1.1.2 1.4.2.2.5.3.8.2l1.6-.3c7.8-1.5 14.4-10.3 13.7-17.9 0-.7 1.1-1.7 1.9-1.9h1.9c.9-.1 1.9 1.1 1.9 2z\"}},\nreturn_order_line_item:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M22.2 23.1h37c1.2 0 2.3 1 2.3 2.2V30c0 1.2-1 2.3-2.2 2.3h-37c-1.2 0-2.3-1-2.3-2.2v-4.7c-.1-1.2.9-2.3 2.2-2.3zm50.9 0h4.6c1.2 0 2.3 1 2.3 2.2V30c0 1.2-1 2.3-2.2 2.3h-4.7c-1.2 0-2.3-1-2.3-2.2v-4.7c-.1-1.2.8-2.2 2-2.3h.3zM75.6 52C68.8 63.7 52.7 69 42 63.8l-2.9-1.3c-1-.5-2 .6-1.7 1.6l2.8 9.4c.3 1-.3 2-1.2 2.4l-3.4 1.3c-.8.4-1.7 0-2.1-.8 0-.1-.1-.2-.1-.3l-6.8-22.7c-.3-1 .2-2.1 1.2-2.4l22-8.6c.8-.4 1.7 0 2.1.8 0 .1.1.2.1.3l1.1 3.5c.3 1-.2 2.1-1.2 2.4l-9 3.6c-.7.2-1 .9-.8 1.6.1.3.3.6.6.7l1.7.8c8.3 4.1 21-.1 26-8.4.5-.8 2.3-1 3.2-.6l1.7 1.6c.9.4.8 2.4.3 3.3z\"}},\nreward:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M46.7 63.4L35 80l-3-8h-8l10.2-13.9c2 1.2 4.1 1.4 5.6 1.7.5.1 1.1.2 1.4.2.2.1.7.5 1 .8 1.2.8 2.7 2 4.5 2.6zm19.1-5.3c-2 1.2-4.1 1.4-5.6 1.7-.5.1-1.2.2-1.5.2-.2.1-.7.5-1 .8-1.1.8-2.5 2-4.4 2.6L65 80l3-8h8L65.8 58.1zM50 32c-3.9 0-7 3.1-7 7s3.1 7 7 7 7-3.1 7-7-3.1-7-7-7zm19 7c0 2.4-2.6 4.3-3.5 6.4-.9 2.2-.4 5.4-2.1 7-1.6 1.6-4.8 1.2-7 2.1-2.1.9-4 3.5-6.4 3.5s-4.3-2.6-6.4-3.5c-2.2-.9-5.4-.4-7-2.1-1.6-1.6-1.2-4.8-2.1-7-.9-2.1-3.5-4-3.5-6.4 0-2.4 2.6-4.3 3.5-6.4.9-2.2.4-5.4 2.1-7 1.6-1.6 4.8-1.2 7-2.1 2.1-.9 4-3.5 6.4-3.5s4.3 2.6 6.4 3.5c2.2.9 5.4.4 7 2.1 1.6 1.6 1.2 4.8 2.1 7 .9 2.1 3.5 4 3.5 6.4zm-6 0c0-7.2-5.8-13-13-13s-13 5.8-13 13 5.8 13 13 13 13-5.8 13-13z\"}},\nrtc_presence:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M61.55 19.75c-11.12 0-20.22 8.64-20.22 19.3a18.75 18.75 0 002.57 9.47 1.58 1.58 0 01.18 1.1l-1.93 6.16a1.37 1.37 0 001.75 1.75l5.88-2.11a1.5 1.5 0 011.1.09 20.77 20.77 0 0010.66 2.85c11.12 0 20.22-8.64 20.22-19.3s-9.09-19.31-20.21-19.31zM45.8 76.21v1.29a2.77 2.77 0 01-2.8 2.75H21a2.77 2.77 0 01-2.76-2.76v-1.28c0-3.35 3.91-5.38 7.58-7a1.38 1.38 0 00.37-.18.85.85 0 01.87 0 9 9 0 005 1.52 9.36 9.36 0 005-1.47.85.85 0 01.87 0 1.38 1.38 0 01.37.18c3.59 1.57 7.5 3.59 7.5 6.95z\"},\"ellipse\":{\"cx\":\"32.01\",\"cy\":\"60.26\",\"rx\":\"6.85\",\"ry\":\"7.58\"}},\nsales_cadence:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M41.7 66.7c.7.7 1.9.7 2.6 0l15.3-15.2c.8-.7.8-1.9.2-2.6l-.2-.2-15.3-15.3c-.7-.8-1.9-.8-2.6-.2l-.2.2-2.8 2.8c-.8.7-.8 1.9-.2 2.6l.2.2 4.8 4.8c.5.5.5 1.4 0 1.9-.2.2-.6.4-.9.4H22.1c-1.1 0-2.1.9-2.1 2v4c.1 1.1 1 1.9 2.1 2h20.7c.7 0 1.3.6 1.3 1.3 0 .3-.1.7-.4.9l-4.8 4.8c-.8.7-.8 1.9-.2 2.6l.2.2 2.8 2.8z\"},{\"d\":\"M63.5 56.3l-4.8 4.8c-.8.7-.8 1.9-.2 2.6l.2.2 2.8 2.8c.7.7 1.9.7 2.6 0l15.3-15.2c.8-.7.8-1.9.2-2.6l-.2-.2-15.3-15.3c-.7-.8-1.9-.8-2.6-.2l-.2.2-2.8 2.8c-.8.7-.8 1.9-.2 2.6l.2.2 4.8 4.8 6.4 6.3-6.2 6.2z\"}]}},\nsales_cadence_target:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M55 25c-5.3 0-10.3 1.7-14.3 4.6l3.6 3.6c3.1-2 6.8-3.1 10.7-3.1 11 0 20 9 20 20s-9 20-20 20c-3.9 0-7.6-1.1-10.7-3.1l-3.8 3.5C44.7 73.3 49.6 75 55 75c13.8 0 25-11.2 25-25S68.8 25 55 25z\"},{\"d\":\"M55 55c2.8 0 5-2.2 5-5s-2.2-5-5-5c-1.6 0-3 .8-3.9 2L40.2 36.2c-.6-.7-1.6-.7-2.2-.2l-.2.2-2.3 2.3c-.7.6-.7 1.6-.2 2.2l.2.2 4 4c.4.4.4 1.2 0 1.6-.2.2-.5.3-.8.3H21.8c-.9 0-1.8.8-1.8 1.7v3.3c.1.9.8 1.6 1.8 1.7H39c.6 0 1.1.5 1.1 1.1 0 .2-.1.6-.3.8l-4 4c-.7.6-.7 1.6-.2 2.2l.2.2 2.3 2.3c.6.6 1.6.6 2.2 0l10.9-10.8c.8 1 2.2 1.7 3.8 1.7z\"},{\"d\":\"M55 60c-1.1 0-2.2-.2-3.2-.5L48 63.3c2.1 1.1 4.5 1.7 7 1.7 8.2 0 15-6.8 15-15s-6.8-15-15-15c-2.5 0-4.9.6-7 1.8l3.7 3.8c1-.4 2.1-.6 3.3-.6 5.5 0 10 4.5 10 10s-4.5 10-10 10z\"}]}},\nsales_channel:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M74.8 45c-.7-3.4-2.1-6.5-3.9-9.2 1.8-2 1.8-5-.1-6.9-1-1-2.3-1.5-3.5-1.5s-2.5.5-3.4 1.4c-2.7-1.7-5.6-3-8.9-3.7 0-2.8-2.2-5-5-5s-5 2.2-5 5c-3.3.7-6.4 2-9.1 3.8-1-1-2.3-1.5-3.5-1.5-1.3 0-2.6.5-3.5 1.5-2 2-2 5.1 0 7.1-1.9 2.6-3.1 5.7-3.9 9-2.7 0-4.9 2.3-4.9 5s2.2 5 4.9 5c.6 3.2 1.9 6.3 3.7 8.9-.1 0-.1.1-.2.1-2 2-2 5.1 0 7.1 1 1 2.3 1.5 3.5 1.5 1.3 0 2.6-.5 3.5-1.5l.1-.1c2.8 1.9 5.9 3.2 9.3 3.9 0 2.8 2.2 5 5 5s5-2.2 5-5c3.3-.7 6.3-2 9-3.7 1 1 2.3 1.5 3.5 1.5 1.3 0 2.6-.5 3.5-1.5 2-2 2-5.1 0-7.1 1.8-2.7 3.1-5.8 3.8-9.1h.1c2.8 0 5-2.2 5-5s-2.3-5-5-5zm-9-14c.1-.1.3-.2.5-.3.3-.2.6-.2.9-.2.5 0 1 .2 1.4.6.6.6.7 1.6.3 2.3-.1.2-.2.3-.3.5-.4.4-.9.6-1.4.6s-1-.2-1.4-.6c-.9-.9-.9-2.1 0-2.9zm-18-6.3c.2-.9 1-1.6 2-1.6s1.8.7 2 1.6v.4c0 1.1-.9 2-2 2s-2-.9-2-2v-.4zm-17 6.3c.4-.4.9-.6 1.4-.6.4 0 .8.1 1.1.3l.3.3c.8.8.8 2 0 2.8-.4.4-.9.6-1.4.6s-1-.2-1.4-.6l-.3-.3c-.5-.8-.5-1.8.3-2.5zM25 52c-.2 0-.3 0-.5-.1-.9-.2-1.5-1-1.5-1.9s.7-1.7 1.5-1.9c.2 0 .3-.1.5-.1 1.1 0 2 .9 2 2s-1 2-2 2zm8.3 16.9l-.2.2c-.3.3-.8.4-1.2.4-.5 0-1-.2-1.4-.6-.4-.4-.6-.9-.6-1.4s.2-.9.4-1.2c0-.1.1-.1.1-.2.4-.4.9-.6 1.4-.6.5 0 1 .2 1.4.6.9.8.9 2 .1 2.8zm18.5 6.4c-.2.9-1 1.6-2 1.6s-1.8-.7-2-1.6v-.4c0-1.1.9-2 2-2s2 .9 2 2v.4zm20-21.3c-.6 3.2-1.8 6.1-3.6 8.7-.3 0-.5-.1-.8-.1-1.3 0-2.6.5-3.5 1.5-1.2 1.2-1.6 2.8-1.4 4.4-2.5 1.7-5.4 3-8.6 3.6-.9-1.3-2.4-2.1-4.1-2.1s-3.2.8-4.1 2.1c-3.3-.6-6.3-1.9-8.9-3.8.2-1.5-.3-3-1.4-4.2-1-1-2.3-1.5-3.5-1.5-.2 0-.4 0-.6.1-1.7-2.5-3-5.4-3.6-8.6 1.3-.9 2.2-2.4 2.2-4.1 0-1.7-.9-3.2-2.2-4.1.6-3.1 1.8-6 3.6-8.6.3 0 .5.1.8.1 1.3 0 2.6-.5 3.5-1.5 1.2-1.2 1.6-2.8 1.4-4.4 2.6-1.8 5.5-3 8.7-3.6.9 1.3 2.4 2.1 4.1 2.1 1.7 0 3.1-.8 4.1-2.1 3 .6 5.9 1.7 8.3 3.4-.3 1.6.1 3.3 1.4 4.5 1 1 2.3 1.5 3.5 1.5.3 0 .7 0 1-.1 1.8 2.6 3 5.5 3.6 8.7-1.2.9-2.1 2.4-2.1 4s.9 3.1 2.2 4.1zm3.2-2h-.3c-1.1 0-2-.9-2-2s.9-2 2-2h.3c.9.2 1.7 1 1.7 2s-.7 1.8-1.7 2z\"},{\"d\":\"M54.8 52.4c-2.1-.9-2.5-1.8-2.5-2.6 0-.9.6-1.8 1.3-2.4 1.2-1.2 1.9-2.8 1.9-4.6 0-3.5-2.1-6.5-5.9-6.5s-5.9 3-5.9 6.5c0 1.9.7 3.5 1.9 4.6.7.7 1.3 1.5 1.3 2.4s-.3 1.7-2.5 2.6c-3.1 1.3-6 2.8-6.1 5.6 0 1.9 1.4 3.4 3.2 3.4h16.3c1.8 0 3.2-1.5 3.2-3.4-.1-2.8-3.1-4.2-6.2-5.6z\"}]},\nsales_path:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M15.2 68.2L29.4 51c.4-.7.4-1.5 0-2.1l-14.2-17c-.1-.2-.2-.4-.2-.6 0-.6.5-1 1-1h20.7c.6 0 1.1.2 1.4.7L53 49c.4.6.4 1.4 0 2.1l-14.8 18c-.3.4-.9.7-1.4.7H16.1c-.6 0-1-.4-1-1-.1-.2 0-.5.1-.6z\"},{\"d\":\"M46.8 68.2L60.9 51c.4-.7.4-1.5 0-2.1l-14.2-17c-.1-.2-.2-.4-.2-.6 0-.6.5-1 1-1h20.7c.6 0 1.1.2 1.4.7l14.9 18c.4.6.4 1.4 0 2.1l-14.8 18c-.3.4-.9.7-1.4.7H47.6c-.6 0-1-.4-1-1 0-.2.1-.5.2-.6z\"}]},\nsales_value:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M79.5 73.9L62.9 57.4c3.4-4.7 5.1-10.7 4.2-17.1C65.6 29.6 56.9 21.1 46 20.1c-14.7-1.5-27.2 11-25.7 25.8 1 10.7 9.5 19.6 20.2 21.1 6.4.9 12.3-.9 17.1-4.2l16.6 16.6c.7.7 1.9.7 2.6 0l2.6-2.6c.8-.9.8-2.1.1-2.9zM54.3 55.7v-4.3c0-.8-.7-1.5-1.5-1.5s-1.5.7-1.5 1.5v6.3c-1.8 1-3.8 1.6-6 1.8v-6c0-.8-.7-1.5-1.5-1.5s-1.5.7-1.5 1.5v6c-2.2-.2-4.2-.8-6-1.8v-6.3c0-.8-.7-1.5-1.5-1.5s-1.5.7-1.5 1.5v4.2c-2.6-2.3-4.5-5.3-5.3-8.9l6.8-5.4 7.1 5.3c.6.5 1.5.4 2-.2l7.4-8.2v5.2c0 .8.7 1.5 1.5 1.5s1.5-.7 1.5-1.5v-9c0-.8-.7-1.5-1.5-1.5h-8c-.8 0-1.5.7-1.5 1.5S44 36 44.8 36h4.5l-6.7 7.5-6.9-5.2c-.5-.4-1.3-.4-1.8 0l-6.2 4.9c.1-8.7 7.3-15.8 16.1-15.8 8.9 0 16.1 7.2 16.1 16.1 0 4.9-2.2 9.3-5.6 12.2z\"}},\nsalesforce_cms:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M66.3 48.4c.3 0 .7-.1.9-.3.8-.5 1-1.6.5-2.4l-6.3-9.6c-.1-.2-.2-.3-.4-.4-.7-.6-1.8-.4-2.4.3l-6.8 8.8-8-11.9c-.1-.2-.3-.3-.5-.5-.8-.5-1.9-.3-2.4.5l-8.6 12.8c-.2.3-.3.6-.3 1 0 .9.8 1.7 1.7 1.7h32.6z\"},{\"fill\":\"none\",\"d\":\"M33.2 54h33.9c.9 0 1.7.8 1.7 1.7s-.8 1.7-1.7 1.7H33.2c-.9 0-1.7-.8-1.7-1.7s.8-1.7 1.7-1.7z\"},{\"d\":\"M33.2 54h33.9c.9 0 1.7.8 1.7 1.7 0 .9-.8 1.7-1.7 1.7H33.2c-.9 0-1.7-.8-1.7-1.7 0-1 .8-1.7 1.7-1.7z\"},{\"fill\":\"none\",\"d\":\"M36.7 62.5h27c.9 0 1.7.8 1.7 1.7 0 .9-.8 1.7-1.7 1.7h-27c-.9 0-1.7-.8-1.7-1.7 0-.9.7-1.7 1.7-1.7z\"},{\"d\":\"M36.7 62.5h27c.9 0 1.7.8 1.7 1.7 0 .9-.8 1.7-1.7 1.7h-27c-.9 0-1.7-.8-1.7-1.7 0-.9.7-1.7 1.7-1.7z\"},{\"d\":\"M75.2 33.9c.8-1.1 1.3-2.4 1.3-3.9 0-3.6-2.9-6.4-6.4-6.4-1.5 0-2.8.5-3.9 1.3-4.7-3-10.2-4.8-16.2-4.8-16.6 0-30 13.4-30 30 0 7.5 2.7 14.3 7.2 19.5-.3.6-.4 1.3-.4 2 0 2.6 2.1 4.7 4.7 4.7 1 0 1.8-.3 2.6-.8 4.6 2.9 10.1 4.6 15.9 4.6 16.6 0 30-13.4 30-30 0-6-1.8-11.5-4.8-16.2zm-5.1-7c1.7 0 3.1 1.4 3.1 3.1s-1.4 3-3.1 3c-1.7 0-3.1-1.3-3.1-3s1.4-3.1 3.1-3.1zM50 76.7c-5.1 0-9.9-1.4-13.9-4 .1-.4.2-.8.2-1.2 0-2.6-2.1-4.7-4.7-4.7-.7 0-1.3.1-1.8.4-3.9-4.6-6.3-10.6-6.3-17.1 0-14.7 11.9-26.6 26.6-26.6 5.2 0 10.1 1.5 14.2 4.1-.3.7-.5 1.5-.5 2.4 0 3.6 2.9 6.4 6.4 6.4.8 0 1.6-.2 2.4-.5 2.6 4.1 4.1 9 4.1 14.2-.1 14.7-12.1 26.6-26.7 26.6z\"}]},\nscan_card:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M74 30H26c-3.3 0-6 2.7-6 6v28c0 3.3 2.7 6 6 6h48c3.3 0 6-2.7 6-6V36c0-3.3-2.7-6-6-6zM25 53c-1.7 0-3-1.3-3-3s1.3-3 3-3 3 1.3 3 3-1.3 3-3 3zm47 9c0 1.1-.9 2-2 2H32c-1.1 0-2-.9-2-2V38c0-1.1.9-2 2-2h38c1.1 0 2 .9 2 2v24z\"},{\"d\":\"M64 42H38c-1.1 0-2 .9-2 2v12c0 1.1.9 2 2 2h26c1.1 0 2-.9 2-2V44c0-1.1-.9-2-2-2z\"}]},\nschedule_objective:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M76 42H24a2 2 0 00-2 2v30a6 6 0 006 6h44a6 6 0 006-6V44a2 2 0 00-2-2zM50 76.1A15.1 15.1 0 1165.1 61 15.15 15.15 0 0150 76.1z\"},{\"d\":\"M50 50.9A10.1 10.1 0 1060.1 61 10.14 10.14 0 0050 50.9zM50 66a5.08 5.08 0 01-5-5 5 5 0 0110 0 5.08 5.08 0 01-5 5zM72 26h-5v-2a4 4 0 00-8 0v2H41v-2a4 4 0 00-8 0v2h-5a6 6 0 00-6 6v2a2 2 0 002 2h52a2 2 0 002-2v-2a6 6 0 00-6-6z\"}]},\nscheduling_constraint:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M76 42H24a2 2 0 00-2 2v30a6 6 0 006 6h44a6 6 0 006-6V44a2 2 0 00-2-2zm-26 4.1a14.88 14.88 0 018.24 2.5L37.6 69.24A14.78 14.78 0 0135.1 61 14.94 14.94 0 0150 46.1zm0 29.8a14.74 14.74 0 01-8.13-2.44l20.59-20.59A14.74 14.74 0 0164.9 61 14.94 14.94 0 0150 75.9zM72 26h-5v-2a4 4 0 00-8 0v2H41v-2a4 4 0 00-8 0v2h-5a6 6 0 00-6 6v2a2 2 0 002 2h52a2 2 0 002-2v-2a6 6 0 00-6-6z\"}},\nscheduling_policy:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M22 74a5.69 5.69 0 005.6 6s32.4.3 32.3 0l-.7-1.4a7.67 7.67 0 01-1.9-4.8 8.31 8.31 0 011.8-4.8 7.39 7.39 0 012.2-4.8 8.52 8.52 0 014.5-2h.1a7.67 7.67 0 014.8-1.9 8.31 8.31 0 014.8 1.8 11 11 0 012.5.6V44c0-1.8-2-2.1-2-2.1H24a2 2 0 00-2 2z\"},{\"d\":\"M68.1 83.1l-5.2 7.4-1.3-3.5h-3.5l4.5-6.1a10.19 10.19 0 002.5.8 1.49 1.49 0 00.6.1 2.19 2.19 0 00.5.3 6.49 6.49 0 001.9 1zm8.4-2.3a10.19 10.19 0 01-2.5.8 1.7 1.7 0 01-.7.1 2.19 2.19 0 01-.5.3 10.46 10.46 0 01-1.9 1.2l5.2 7.3 1.3-3.5h3.5zm-7-11.6a3.1 3.1 0 103.1 3.1 3.12 3.12 0 00-3.1-3.1zm8.5 3.1c0 1.1-1.2 1.9-1.5 2.8s-.2 2.4-.9 3.1-2.1.5-3.1.9-1.8 1.5-2.8 1.5-1.9-1.2-2.8-1.5-2.4-.2-3.1-.9-.5-2.1-.9-3.1-1.5-1.8-1.5-2.8 1.2-1.9 1.5-2.8.2-2.4.9-3.1 2.1-.5 3.1-.9 1.8-1.5 2.8-1.5 1.9 1.2 2.8 1.5 2.4.2 3.1.9.5 2.1.9 3.1 1.5 1.8 1.5 2.8zm-2.7 0a5.8 5.8 0 00-11.6 0 5.68 5.68 0 005.8 5.8 5.74 5.74 0 005.8-5.8zM72 26h-5v-2a4 4 0 00-8 0v2H41v-2a4 4 0 00-8 0v2h-5a6 6 0 00-6 6v2a2 2 0 002 2h52a2 2 0 002-2v-2a6 6 0 00-6-6zM48 70.2c0 1.4-.7 2.6-1.7 2.6H29c-.9 0-1.8-1.2-1.8-2.6v-2.6c0-1.4.8-2.6 1.8-2.6h17.2c.9 0 1.8 1.2 1.8 2.6zM56.9 54.4c0 1.4-.8 2.6-1.9 2.6H29.2c-1.1 0-2-1.2-2-2.6v-2.6c0-1.4.9-2.6 2-2.6H55c1.1 0 2 1.2 2 2.6v2.6z\"}]},\nscreen:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M80 25c0-2.8-2.2-5-5-5H25c-2.8 0-5 2.2-5 5v34.7c0 2.8 2.2 5 5 5h50c2.8 0 5-2.2 5-5V25zm-7.5 30.3c0 1-.9 1.9-1.9 1.9H29.4c-1 0-1.9-.9-1.9-1.9V29.4c0-1 .9-1.9 1.9-1.9h41.2c1 0 1.9.9 1.9 1.9v25.9zM41.2 72.5c-2.8 0-5 2.2-5 5v.6c0 1 .9 1.9 1.9 1.9h23.8c1 0 1.9-.9 1.9-1.9v-.6c0-2.8-2.2-5-5-5H41.2z\"},{\"d\":\"M40.2 50.9h-5.6c-.5 0-1-.5-1-1V34.7c0-.6.5-1 1-1h5.6c.5 0 1 .4 1 1v15.2c0 .5-.5 1-1 1zM65.4 50.9H48.3c-.5 0-1-.5-1-1V34.7c0-.5.5-1 1-1h17.1c.5 0 1 .5 1 1v15.2c0 .6-.5 1-1 1z\"}]},\nsearch:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M79.5 74.1L62.9 57.6c3.4-4.7 5.1-10.7 4.2-17.1C65.6 29.8 56.9 21.3 46 20.3c-14.7-1.5-27.2 11-25.7 25.8 1 10.7 9.5 19.6 20.2 21.1 6.4.9 12.3-.9 17.1-4.2l16.6 16.6c.7.7 1.9.7 2.6 0l2.6-2.6c.8-.9.8-2.1.1-2.9zM27.7 43.7c0-8.8 7.2-16.1 16.1-16.1s16.1 7.2 16.1 16.1-7.2 16.1-16.1 16.1-16.1-7.1-16.1-16.1z\"}},\nsection:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M31 34h38a1 1 0 001-1v-4a1 1 0 00-1-1H31a1 1 0 00-1 1v4a1 1 0 001 1m41 6H28a4 4 0 01-4-4V26a4 4 0 014-4h44a4 4 0 014 4v10a4 4 0 01-4 4M31 72h38a1 1 0 001-1v-4a1 1 0 00-1-1H31a1 1 0 00-1 1v4a1 1 0 001 1m41 6H28a4 4 0 01-4-4V64a4 4 0 014-4h44a4 4 0 014 4v10a4 4 0 01-4 4M77 54H67a3 3 0 01-3-3v-2a3 3 0 013-3h10a3 3 0 013 3v2a3 3 0 01-3 3M55 54H45a3 3 0 01-3-3v-2a3 3 0 013-3h10a3 3 0 013 3v2a3 3 0 01-3 3M33 54H23a3 3 0 01-3-3v-2a3 3 0 013-3h10a3 3 0 013 3v2a3 3 0 01-3 3\",\"fill-rule\":\"evenodd\"}},\nsegments:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M78.8 45.1l-1-2.8-22.7 8.1-.5 1.3a4.81 4.81 0 01-1.7 2.3 4.89 4.89 0 01-7.8-4 5.73 5.73 0 011.4-3.7l.6-.8V20.3l-3.6.8A29 29 0 0027.4 31a29.7 29.7 0 00-6.9 18.9 29.6 29.6 0 0059.2 0 17.72 17.72 0 00-.9-4.8zM66.7 66.8A23.37 23.37 0 0150 73.7a23.61 23.61 0 01-16.7-6.9A23.57 23.57 0 0131.9 35a24.13 24.13 0 019.3-6.8v15.5a11.51 11.51 0 00-2 6.4 10.74 10.74 0 003.2 7.7 11 11 0 007.7 3.2 10.67 10.67 0 006.4-2.1 10.23 10.23 0 003.2-3.7l14-5a23.83 23.83 0 01-7 16.6z\"},{\"d\":\"M55.6 43.9L75.1 37a1.05 1.05 0 00.5-1.7l-.2-.4a29.69 29.69 0 00-20.7-14 1.58 1.58 0 00-1.8 1.6v19.6a2 2 0 00.1.7 2 2 0 002.6 1.1z\"}]},\nselling_model:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M73.41 27.84h-2V25.2a3.29 3.29 0 00-3.26-3.32h-1.1a3.29 3.29 0 00-3.3 3.28v2.67h-9.9V25.2a3.31 3.31 0 00-3.29-3.32h-1.12a3.31 3.31 0 00-3.29 3.32v2.64H35.9V25.2a3.29 3.29 0 00-3.26-3.32H31.5a3.3 3.3 0 00-3.29 3.31v2.64h-1.62A6.61 6.61 0 0020 34.46v37a6.61 6.61 0 006.59 6.63h46.82a6.61 6.61 0 006.59-6.6v-37a6.61 6.61 0 00-6.58-6.64zm-33.55 38H34.3V43h5.56zm8 0h-3.81V43h3.86zm9.33 0h-5.52V43h5.57zm8.46 0h-3.83V43h3.88z\"}},\nserialized_product:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M74 42a2 2 0 012 1.85V72a6 6 0 01-5.78 6H30a6 6 0 01-6-5.78V44a2 2 0 011.85-2zM63.18 70.43H36.82a.94.94 0 00-.94.92v.91a.93.93 0 00.94.91h26.36a.93.93 0 00.94-.91v-.91a.94.94 0 00-.94-.92zm-24-18.7h-2.36a.93.93 0 00-.94.91v14.14a.93.93 0 00.94.92h2.36a.93.93 0 00.94-.92V52.64a.93.93 0 00-.94-.91zm24 0h-2.36a.93.93 0 00-.94.91v14.14a.93.93 0 00.94.92h2.36a.93.93 0 00.94-.92V52.64a.93.93 0 00-.94-.91zm-11.77 0h-2.82a.93.93 0 00-.94.91v14.14a.93.93 0 00.94.92h2.82a.93.93 0 00.94-.92V52.64a.93.93 0 00-.94-.91zm5.65 0h-.94a.93.93 0 00-.94.91v14.14a.93.93 0 00.94.92h.94a.93.93 0 00.94-.92V52.64a.93.93 0 00-.94-.91zm-12.24 0h-.94a.93.93 0 00-.94.91v14.14a.93.93 0 00.94.92h.94a.93.93 0 00.94-.92V52.64a.93.93 0 00-.94-.91zm18.36-5H36.82a.93.93 0 00-.94.91v.91a.93.93 0 00.94.91h26.36a.93.93 0 00.94-.91v-.91a.93.93 0 00-.94-.93zM74 22a6 6 0 016 6v6a2 2 0 01-2 2H22a2 2 0 01-2-2v-6a6 6 0 016-6z\"}},\nserialized_product_transaction:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M72.85 70.32a1.8 1.8 0 011.82 1.77v1.77a1.8 1.8 0 01-1.82 1.76h-51A1.8 1.8 0 0120 73.86v-1.77a1.8 1.8 0 011.82-1.77h51zM26.38 34.1a1.8 1.8 0 011.82 1.77v27.38A1.8 1.8 0 0126.38 65h-4.56A1.8 1.8 0 0120 63.25V35.87a1.8 1.8 0 011.82-1.77zm23.69 0a1.8 1.8 0 011.82 1.77v27.38A1.8 1.8 0 0150.07 65H44.6a1.8 1.8 0 01-1.82-1.77V35.87a1.8 1.8 0 011.82-1.77zm-12.76 0a1.8 1.8 0 011.82 1.77v27.38A1.8 1.8 0 0137.31 65h-1.82a1.8 1.8 0 01-1.82-1.77V35.87a1.8 1.8 0 011.82-1.77zm29.31.57a1.43 1.43 0 011.08.5l11.84 12.94a1.74 1.74 0 01.46 1.18 1.71 1.71 0 01-.46 1.18L67.75 63.3a1.39 1.39 0 01-2.15 0L63.44 61a1.74 1.74 0 010-2.36l3.69-4.05a1.2 1.2 0 00.22-1.22 1 1 0 00-.93-.7h-8.78A1.83 1.83 0 0156 50.92v-3.37a1.76 1.76 0 011.64-1.69h8.73a1 1 0 00.93-.7 1.18 1.18 0 00-.22-1.16l-3.69-4.1a1.76 1.76 0 010-2.37l2.16-2.36a1.43 1.43 0 011.07-.5zm6.23-10.29a1.8 1.8 0 011.82 1.77v1.76a1.8 1.8 0 01-1.82 1.77h-51A1.8 1.8 0 0120 27.91v-1.76a1.8 1.8 0 011.82-1.77h51z\"}},\nservice_appointment:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"rect\":[{\"x\":\"60.31\",\"y\":\"60.99\",\"width\":\"5.48\",\"height\":\"5.48\",\"rx\":\".91\",\"ry\":\".91\"},{\"x\":\"60.31\",\"y\":\"70.12\",\"width\":\"5.48\",\"height\":\"5.48\",\"rx\":\".91\",\"ry\":\".91\"},{\"x\":\"51.17\",\"y\":\"60.99\",\"width\":\"5.48\",\"height\":\"5.48\",\"rx\":\".91\",\"ry\":\".91\"},{\"x\":\"51.17\",\"y\":\"70.12\",\"width\":\"5.48\",\"height\":\"5.48\",\"rx\":\".91\",\"ry\":\".91\"},{\"x\":\"42.03\",\"y\":\"60.99\",\"width\":\"5.48\",\"height\":\"5.48\",\"rx\":\".91\",\"ry\":\".91\"},{\"x\":\"42.03\",\"y\":\"70.12\",\"width\":\"5.48\",\"height\":\"5.48\",\"rx\":\".91\",\"ry\":\".91\"}],\"path\":{\"d\":\"M71.83 20H28.3a8.11 8.11 0 00-8.3 7.81v44.38A8.08 8.08 0 0028.16 80h5.9a3.62 3.62 0 01-.4-1.66V56A1.41 1.41 0 0135 54.6h37.51a1.41 1.41 0 011.37 1.4v22.34a3.62 3.62 0 01-.31 1.47A8 8 0 0080 72.19V27.81c.14-4.25-3.58-7.81-8.17-7.81zM30.78 36.1A2.85 2.85 0 0128 33.35V30.6a2.85 2.85 0 012.76-2.75h14.09a2.85 2.85 0 012.76 2.75v2.75a2.85 2.85 0 01-2.76 2.75zm43.1 14.14a1.41 1.41 0 01-1.37 1.37H35a1.41 1.41 0 01-1.37-1.37V48a3.67 3.67 0 013.66-3.65h4.57v-1.87a2.74 2.74 0 015.48 0v1.82h12.8v-1.82a2.74 2.74 0 015.48 0v1.82h4.57a3.67 3.67 0 013.69 3.7z\",\"fill-rule\":\"evenodd\"}},\nservice_appointment_capacity_usage:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M72 26h-5v-2c0-2.2-1.8-4-4-4s-4 1.8-4 4v2H41v-2c0-2.2-1.8-4-4-4s-4 1.8-4 4v2h-5c-3.3 0-6 2.7-6 6v2c0 1.1.9 2 2 2h52c1.1 0 2-.9 2-2v-2c0-3.3-2.7-6-6-6zM76 42H24c-1.1 0-2 .9-2 2v30c0 3.3 2.7 6 6 6h44c3.3 0 6-2.7 6-6V44c0-1.1-.9-2-2-2zM64.9 61.1c-.1 8.2-6.8 14.9-15 14.8-8.2-.1-14.9-6.8-14.8-15 .1-8.2 6.8-14.9 15-14.8 8.2 0 14.8 6.9 14.8 15z\"},{\"d\":\"M49.8 50.2v11.4h10.7s.6-4-3.1-7.8-7.6-3.6-7.6-3.6z\"}]}},\nservice_contract:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M69.1 28.9L55.9 15.7c-.3-.3-.6-.4-1-.4-.8 0-1.4.6-1.4 1.4v10.6c0 2.2 1.8 4 4 4h10.6c.8 0 1.4-.6 1.4-1.4 0-.4-.1-.7-.4-1zm.4 10.4c0-1.1-.9-2-2-2h-14c-3.3 0-6-2.7-6-6v-14c0-1.1-.9-2-2-2h-20c-3.3 0-6 2.7-6 6v48c0 3.3 2.7 6 6 6h20.3c1.6 0 2-1.1 1.9-2.8s-.7-9 4.3-14.8 13.2-6.2 14.4-6.2c1.2 0 3.2-.1 3.1-1.8s0-10.4 0-10.4zm-43-11.4l4.9-.7c.1 0 .3-.1.3-.2l2.2-4.5c.2-.3.6-.3.8 0l2.2 4.5c.1.1.2.2.3.2l4.9.7c.3.1.5.5.2.7l-3.6 3.5c-.1.1-.1.2-.1.4l.8 4.9c.1.3-.3.6-.6.4l-4.4-2.3c-.1-.1-.3-.1-.4 0l-4.4 2.3c-.3.2-.7-.1-.6-.4l.8-4.9c0-.1 0-.3-.1-.4l-3.6-3.5c-.1-.2.1-.6.4-.7zm18 33.4c0 1.1-.9 2-2 2h-13c-1.1 0-2-.9-2-2v-2c0-1.1.9-2 2-2h13c1.1 0 2 .9 2 2v2zm11-12c0 1.1-.9 2-2 2h-24c-1.1 0-2-.9-2-2v-2c0-1.1.9-2 2-2h24c1.1 0 2 .9 2 2v2z\"},{\"d\":\"M66.3 56.2c-7.9 0-14.3 6.4-14.3 14.3s6.4 14.3 14.3 14.3 14.3-6.4 14.3-14.3-6.5-14.3-14.3-14.3zm2.5 15.6c-.4 0-.8-.1-1.2-.2L62.1 77c-.4.4-.8.5-1.2.5-.5 0-.8-.1-1.2-.5-.6-.6-.6-1.7 0-2.4l5.5-5.5c-.1-.3-.2-.7-.2-1.1-.2-2.5 1.8-4.8 4.3-4.8.4 0 .8.1 1.2.2.2 0 .2.2.1.4l-2.4 2.5c-.2.1-.2.5 0 .6l1.7 1.7c.2.2.5.2.7 0l2.4-2.4c.1-.1.4-.1.4.1.1.4.2.8.2 1.2-.1 2.5-2.2 4.5-4.8 4.3z\"}]}},\nservice_crew:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M60.1 51.3h-3.7v-4.4c0-5.9-3.3-11-8.1-13.5V41c0 4-3.2 7.2-7.2 7.2S33.9 45 33.9 41v-7.8c-4.9 2.6-8.3 7.7-8.3 13.6v4.4H22c-1.2 0-2.1.9-2.1 2.1s.9 2.1 2.1 2.1h38.1c1.2 0 2.1-.9 2.1-2.1s-.9-2-2.1-2z\"},{\"d\":\"M41.2 43.9c1.6 0 2.9-1.3 2.9-2.9v-9.2c-1-.2-2-.3-3-.3s-1.9.1-2.8.3V41c-.1 1.6 1.2 2.9 2.9 2.9z\"}]},\"path\":[{\"d\":\"M41.1 77.3c-8.9 0-16.1-7.9-16.1-17.6h4c0 7.5 5.4 13.6 12.1 13.6s12.1-6.1 12.1-13.6h4c-.1 9.7-7.3 17.6-16.1 17.6zM65.3 31.5c1.1 0 2.1-.9 2.1-2.1v-6.5c-.7-.1-1.4-.2-2.1-.2-.7 0-1.3.1-2 .2v6.5c-.1 1.1.9 2.1 2 2.1zM65.2 57.5v-4c4.3 0 7.9-4 7.9-8.9h4c0 7.1-5.3 12.9-11.9 12.9z\"},{\"d\":\"M78 36.1h-2v-2.6c0-4.1-2.3-7.7-5.7-9.5v5.4c0 2.8-2.3 5-5 5-2.8 0-5-2.3-5-5v-5.5C57 25.6 54.7 29 54.5 33c2.1 2.1 3.6 4.6 4.6 7.3H78c1.2 0 2.1-.9 2.1-2.1s-.9-2.1-2.1-2.1z\"}]},\nservice_crew_member:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M77.3 45.5h-5.5v-6.3c0-8.3-4.7-15.5-11.5-19.2v10.9c0 5.6-4.6 10.2-10.2 10.2s-10.2-4.6-10.2-10.2v-11c-7 3.6-11.8 10.9-11.8 19.4v6.3h-5.5c-1.5 0-2.8 1.2-2.8 2.8v.5c0 1.5 1.2 2.8 2.8 2.8h54.6c1.5 0 2.8-1.2 2.8-2.8v-.5c.1-1.6-1.2-2.9-2.7-2.9z\"},{\"d\":\"M50.1 35.1c2.3 0 4.2-1.9 4.2-4.2V17.8c-1.4-.3-2.8-.4-4.3-.4-1.4 0-2.7.1-4 .4v13.1c0 2.3 1.8 4.2 4.1 4.2z\"}]},\"path\":{\"d\":\"M50 82.6c-12.7 0-23-11.3-23-25.1h6c0 10.5 7.6 19.1 17 19.1S67 68 67 57.5h6c0 13.8-10.3 25.1-23 25.1z\"}},\nservice_report:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M71.8 25h-2a.94.94 0 00-1 1v4a8 8 0 01-7.93 8H39.1a8 8 0 01-7.93-8v-4a.94.94 0 00-1-1h-2a6 6 0 00-5.95 6v43a6 6 0 005.95 6H71.8a6 6 0 005.95-6V31a6 6 0 00-5.95-6zM43.06 66a2 2 0 01-2 2h-2a2 2 0 01-2-2V56a2 2 0 012-2h2a2 2 0 012 2zM53 66a2 2 0 01-2 2h-2a2 2 0 01-2-2V47a2 2 0 012-2h2a2 2 0 012 2zm9.91 0a2 2 0 01-2 2h-2a2 2 0 01-2-2V51a2 2 0 012-2h2a2 2 0 012 2z\",\"fill-rule\":\"evenodd\"},{\"d\":\"M39.1 32h21.8a2 2 0 002-2v-4a6 6 0 00-5.95-6H43.06a6 6 0 00-5.95 6v4a2 2 0 001.99 2z\",\"fill-rule\":\"evenodd\"}]},\nservice_request:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M38.63 57.24a9.33 9.33 0 01-.48 2.47l11.51 12.12a3.64 3.64 0 011 2.52 2.82 2.82 0 01-1.1 2.46 4.08 4.08 0 01-5.19-.13L32.84 64.56a9.49 9.49 0 01-2.5.35 9.68 9.68 0 01-10.13-9.6 8.53 8.53 0 01.48-2.47c0-.42.42-.41.83-.19l5.05 5.52a.77.77 0 001.24 0l3.62-3.43a1 1 0 000-1.45L26.41 48c-.2-.21-.18-.83.23-.82a11.94 11.94 0 012.5-.35 9.26 9.26 0 019.49 10.41z\"},{\"d\":\"M78.67 34.7a15.51 15.51 0 00-3-5.74 13.63 13.63 0 00-6.11-4.16 15.14 15.14 0 00-3.89-.75 13.12 13.12 0 00-5.88.9 15.58 15.58 0 00-5.52 3.79c-.62.65-1.18 1.35-1.79 2l-.14-.18a20.11 20.11 0 00-3.12-3.27 14.81 14.81 0 00-4.28-2.49 13.56 13.56 0 00-5.75-.78 14.49 14.49 0 00-5.52 1.49 14 14 0 00-6.53 6.89 18.63 18.63 0 00-1.63 7.08 17.09 17.09 0 00.27 3.72l.25-.05a16.11 16.11 0 013.07-.4h.19a13.28 13.28 0 0113.4 14.7 8.42 8.42 0 01-.09 1L52.6 69a7.67 7.67 0 012 3.92 106.59 106.59 0 0011.36-9.43 67.92 67.92 0 007.48-8.33 37.33 37.33 0 004.08-6.71A20.19 20.19 0 0079.37 42a19 19 0 00-.7-7.3z\"}]}},\nservice_request_detail:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M69.49 79.64A10.2 10.2 0 1179.7 69.45a10.17 10.17 0 01-10.21 10.19zM70.4 67a1 1 0 00-.7.21c-.56.38-1.12.76-1.67 1.16a3.14 3.14 0 00-.53.56.28.28 0 00.32.44c.14 0 .27-.1.4-.15s.24-.12.37-.16.28 0 .28.21a2.17 2.17 0 010 .25q-.58 2.41-1.18 4.82a.89.89 0 00.45 1.06 1.13 1.13 0 001.16-.1c.54-.35 1.07-.71 1.58-1.1a5.6 5.6 0 00.72-.74.22.22 0 000-.28.25.25 0 00-.3-.1 2.43 2.43 0 00-.38.13l-.44.2c-.17.06-.26 0-.25-.19a2.63 2.63 0 01.06-.39c.37-1.5.73-3 1.1-4.5A1 1 0 0070.4 67zm1.07-2.09a1.54 1.54 0 00-1.78-1.47 1.37 1.37 0 00-1.07 2 1.53 1.53 0 001.7.88 1.47 1.47 0 001.15-1.46zM38.35 56.64a8.67 8.67 0 00.48-2.47 9.23 9.23 0 00-9.45-10.38 13.23 13.23 0 00-2.49.35c-.42 0-.43.61-.23.82l5 5.3a1 1 0 010 1.45l-3.61 3.42a.77.77 0 01-1.24 0l-5-5.5c-.4-.22-.82-.23-.83.18a9.33 9.33 0 00-.48 2.47 9.66 9.66 0 0010.1 9.57 9.35 9.35 0 002.49-.35l11.45 12.05a4 4 0 005.17.13 2.77 2.77 0 001.09-2.46 3.53 3.53 0 00-1-2.5z\"},{\"d\":\"M78.75 31.7a15.63 15.63 0 00-3-5.72 13.56 13.56 0 00-6.1-4.14 15 15 0 00-3.87-.75 13.23 13.23 0 00-5.87.89 15.55 15.55 0 00-5.49 3.79c-.62.64-1.18 1.33-1.79 2l-.14-.17a19.19 19.19 0 00-3.11-3.26 14.81 14.81 0 00-4.26-2.48 13.34 13.34 0 00-5.74-.78 14.61 14.61 0 00-5.5 1.48 14 14 0 00-6.51 6.88 18.62 18.62 0 00-1.62 7 17 17 0 00.25 3.78h.25a15.9 15.9 0 013.06-.4h.19a13.25 13.25 0 0113.35 14.6c0 .34-.05.68-.09 1L52.75 66l.09.11 2.1 2.21A14.71 14.71 0 0169.6 54.77a13.77 13.77 0 011.71.11c.75-.89 1.49-1.79 2.18-2.73a36.55 36.55 0 004.07-6.69A20.59 20.59 0 0079.45 39a19.13 19.13 0 00-.7-7.3z\"}]}},\nservice_resource:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M71.83 20H28.3a8.11 8.11 0 00-8.3 7.81v44.38A8.08 8.08 0 0028.16 80h11c1.1-4.54 6.46-7.17 12.14-9.49 4.24-1.8 4.89-3.34 4.89-5.14s-1.29-3.47-2.7-4.76a11.3 11.3 0 01-3.86-9c0-6.69 4.37-12.6 12-12.6s12 5.79 12 12.6a12.13 12.13 0 01-3.86 9c-1.41 1.41-2.7 3-2.7 4.76s.51 3.34 4.89 5.14a41.53 41.53 0 017.78 3.91 7.28 7.28 0 00.26-2.23V27.81c.14-4.25-3.58-7.81-8.17-7.81zM47.61 33.35a2.85 2.85 0 01-2.76 2.75H30.78A2.85 2.85 0 0128 33.35V30.6a2.85 2.85 0 012.76-2.75h14.09a2.85 2.85 0 012.76 2.75z\",\"fill-rule\":\"evenodd\"}},\nservice_territory:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M56.63 62.11a7.39 7.39 0 01-7.42-7.22 7.27 7.27 0 017.42-7.22 7.22 7.22 0 110 14.43z\",\"fill-rule\":\"evenodd\"},{\"d\":\"M71.83 20H28.3a8.11 8.11 0 00-8.3 7.81v44.38A8.08 8.08 0 0028.16 80h24.41C47.5 75.48 39 66.22 39 56.46a17.32 17.32 0 0134.65 0c0 9.82-8.55 19-13.61 23.54h11.79A8.08 8.08 0 0080 72.19V27.81c.14-4.25-3.58-7.81-8.17-7.81zM47.61 33.35a2.85 2.85 0 01-2.76 2.75H30.78A2.85 2.85 0 0128 33.35V30.6a2.85 2.85 0 012.76-2.75h14.09a2.85 2.85 0 012.76 2.75z\",\"fill-rule\":\"evenodd\"}]},\nservice_territory_location:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M66.3 59.5c-2.2 0-3.9-1.7-4-3.9 0-2.2 1.8-3.9 4-3.9s3.9 1.7 4 3.9c0 2.1-1.8 3.9-4 3.9zM47.4 59.5c-2.2 0-3.9-1.7-4-3.9 0-2.2 1.8-3.9 4-3.9s3.9 1.7 4 3.9c-.1 2.1-1.8 3.8-4 3.9zM56.8 59.5c-2.2 0-3.9-1.7-4-3.9 0-2.2 1.8-3.9 4-3.9s3.9 1.7 4 3.9c0 2.1-1.8 3.9-4 3.9z\"},{\"d\":\"M71.6 20.2H28.1c-4.4-.1-8.1 3.4-8.3 7.8v44.4c.2 4.4 3.8 7.9 8.2 7.8h24.4c-5.1-4.5-13.5-13.8-13.5-23.5 0-9.6 7.7-17.3 17.3-17.3 9.6 0 17.3 7.7 17.3 17.3 0 9.8-8.5 19-13.6 23.5h11.8c4.4 0 8-3.4 8.2-7.8V28c0-4.3-3.8-7.8-8.3-7.8zM47.3 33.5c-.1 1.5-1.3 2.7-2.8 2.8H30.4c-1.5 0-2.8-1.3-2.8-2.8v-2.8c.1-1.5 1.3-2.7 2.8-2.8h14.1c1.5 0 2.8 1.3 2.8 2.8v2.8z\"}]},\nservice_territory_member:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M42.74 42.28A7.12 7.12 0 0150 35.2a7.08 7.08 0 11-7.28 7.08z\",\"fill-rule\":\"evenodd\"},{\"d\":\"M49.91 20a25.4 25.4 0 1025.18 25.5c0-13.79-11.24-25.5-25.18-25.5zm1 43.89a1.44 1.44 0 01-1.89 0c-3.15-2.36-13.56-11.65-13.56-21.56a14.51 14.51 0 0129 0c.02 9.92-10.39 19.05-13.54 21.56z\",\"fill-rule\":\"evenodd\"},{\"d\":\"M26 64.21h-1.27A4.75 4.75 0 0020 68.95v6.31A4.74 4.74 0 0024.73 80h50.54A4.75 4.75 0 0080 75.26v-6.31a4.74 4.74 0 00-4.73-4.74h-1.54a30.15 30.15 0 01-47.72 0z\",\"fill-rule\":\"evenodd\"}]},\nservice_territory_policy:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M39.79 20H26.61A6.36 6.36 0 0020 26.11v10.14a6.37 6.37 0 006.59 6.09h13.2a6.36 6.36 0 006.58-6.09V26.11A6.35 6.35 0 0039.79 20zm-5.5 16.23H32.1a5.29 5.29 0 01-5.49-5.08 5.28 5.28 0 015.49-5.06h2.19a5.29 5.29 0 015.5 5.06 5.3 5.3 0 01-5.5 5.1zM59.54 42.34h13.18a6.37 6.37 0 006.59-6.09V26.11A6.36 6.36 0 0072.72 20H59.54A6.35 6.35 0 0053 26.11v10.14a6.35 6.35 0 006.54 6.09zM65 26.11h2.2a5.28 5.28 0 015.49 5.06 5.29 5.29 0 01-5.49 5.08H65a5.3 5.3 0 01-5.49-5.08A5.28 5.28 0 0165 26.11zM39.79 48.42H26.61A6.35 6.35 0 0020 54.51v10.13a6.35 6.35 0 006.59 6.09h13.2a6.35 6.35 0 006.58-6.09V54.51a6.35 6.35 0 00-6.58-6.09zm-5.5 16.22H32.1a4.51 4.51 0 01-.9 0 5.08 5.08 0 11.9-10.13h2.19a4.51 4.51 0 01.9 0 5.08 5.08 0 11-.9 10.13zM66.47 48.42C59 48.42 53 54 53 61c0 8.68 9.67 16.62 12.66 18.72a1.46 1.46 0 001.77 0C70.43 77.55 80 69.72 80 61c0-7-6-12.58-13.53-12.58zm0 17.73a5.27 5.27 0 115.69-5.25 5.5 5.5 0 01-5.69 5.25z\"}},\nsettings:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M50.1 41.3c-4.9 0-8.8 3.9-8.8 8.8s3.9 8.8 8.8 8.8 8.8-3.9 8.8-8.8-3.9-8.8-8.8-8.8zM76.4 58l-4.6-3.9c.3-1.4.4-2.9.4-4.3s-.1-2.9-.4-4.3l4.6-3.9c1.5-1.3 2-3.5 1-5.3l-2-3.5c-.8-1.3-2.1-2-3.6-2-.5 0-1 .1-1.4.3l-5.8 2.1c-2.3-2-4.8-3.4-7.4-4.3l-1-5.9c-.4-2-2.1-3.1-4.1-3.1h-4c-2 0-3.8 1.1-4.1 3.1l-1 5.8c-2.8.9-5.3 2.4-7.5 4.3L29.6 31c-.5-.1-.9-.3-1.4-.3-1.5 0-2.9.8-3.6 2l-2 3.5c-1 1.8-.6 4 1 5.3l4.6 3.9c-.3 1.4-.4 2.9-.4 4.3 0 1.5.1 2.9.4 4.3l-4.6 3.9c-1.5 1.3-2 3.5-1 5.3l2 3.5c.8 1.3 2.1 2 3.6 2 .5 0 1-.1 1.4-.3l5.8-2.1c2.3 2 4.8 3.4 7.4 4.3l1 6c.4 2 2 3.4 4.1 3.4h4c2 0 3.8-1.5 4.1-3.5l1-6c2.9-1 5.5-2.5 7.8-4.6l5.4 2.1c.5.1 1 .3 1.5.3 1.5 0 2.9-.8 3.6-2l1.9-3.3c1.2-1.5.7-3.7-.8-5zm-26.3 5.9c-7.7 0-13.8-6.2-13.8-13.8s6.2-13.8 13.8-13.8 13.8 6.2 13.8 13.8-6.2 13.8-13.8 13.8z\"}},\nshift:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M72 26h-5v-2c0-2.2-1.8-4-4-4s-4 1.8-4 4v2H41v-2c0-2.2-1.8-4-4-4s-4 1.8-4 4v2h-5c-3.3 0-6 2.7-6 6v2c0 1.1.9 2 2 2h52c1.1 0 2-.9 2-2v-2c0-3.3-2.7-6-6-6zM76 42H24c-1.1 0-2 .9-2 2v30c0 3.3 2.7 6 6 6h44c3.3 0 6-2.7 6-6V44c0-1.1-.9-2-2-2zM50 75.9c-8.2 0-14.9-6.7-14.9-14.9S41.8 46.1 50 46.1 64.9 52.8 64.9 61 58.2 75.9 50 75.9z\"},{\"d\":\"M47.7 67.1c-.4 0-.7-.2-1-.4l-5-5c-.2-.2-.2-.6 0-.9l1.1-1.1c.2-.2.6-.2.9 0l4 4 8.5-8.5c.2-.2.6-.2.9 0l1.1 1.1c.2.2.2.6 0 .9l-9.6 9.6c-.2.1-.5.3-.9.3z\"}]}},\nshift_pattern:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M71.74 26h-5v-2a4 4 0 10-8 0v2h-18v-2a4 4 0 00-8 0v2h-5a6 6 0 00-6 6v2a2 2 0 002 2h52a2 2 0 002-2v-2a6 6 0 00-6-6zm4 16a2 2 0 012 2v30a6 6 0 01-6 6h-44a6 6 0 01-6-6V44a2 2 0 012-2h52zm-13.5 27.32H50.5a1.17 1.17 0 00-1.17 1.16v3.32A1.18 1.18 0 0050.5 75h11.74a1.17 1.17 0 001.16-1.2v-3.32a1.16 1.16 0 00-1.16-1.16zm0-13.49H36.66A1.17 1.17 0 0035.5 57v7.9a1.16 1.16 0 001.16 1.16h25.58a1.16 1.16 0 001.16-1.16V57a1.17 1.17 0 00-1.16-1.17zM48.4 47H36.66a1.16 1.16 0 00-1.16 1.16v3.32a1.17 1.17 0 001.16 1.16H48.4a1.18 1.18 0 001.17-1.16v-3.32A1.17 1.17 0 0048.4 47z\"}},\nshift_pattern_entry:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M51.75 20a2 2 0 012 2v14A4.86 4.86 0 0059 41.25h14a2 2 0 012 2V74a6.08 6.08 0 01-6 6H31a6.08 6.08 0 01-6-6V26a6.08 6.08 0 016-6h20.75zm11 48.32H51a1.17 1.17 0 00-1.17 1.16v3.32A1.18 1.18 0 0051 74h11.74a1.17 1.17 0 001.16-1.2v-3.32a1.16 1.16 0 00-1.16-1.16zm0-13.49H37.16A1.17 1.17 0 0036 56v7.9a1.16 1.16 0 001.16 1.16h25.58a1.16 1.16 0 001.16-1.16V56a1.17 1.17 0 00-1.16-1.17zM48.9 46H37.16A1.16 1.16 0 0036 47.16v3.32a1.17 1.17 0 001.16 1.16H48.9a1.18 1.18 0 001.17-1.16v-3.32A1.17 1.17 0 0048.9 46zm11.35-26a1.74 1.74 0 011.13.38l13.24 13.24a1.74 1.74 0 01.38 1.13 1.5 1.5 0 01-1.38 1.5H63A4.38 4.38 0 0158.75 32V21.38a1.5 1.5 0 011.5-1.38z\"}},\nshift_preference:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M72 26h-5v-2a4 4 0 00-8 0v2H41v-2a4 4 0 00-8 0v2h-5a6 6 0 00-6 6v2a2 2 0 002 2h52a2 2 0 002-2v-2a6 6 0 00-6-6zm4 16H24a2 2 0 00-2 2v30a6 6 0 006 6h44a6 6 0 006-6V44a2 2 0 00-2-2zM50 75.9A14.9 14.9 0 1164.9 61 14.94 14.94 0 0150 75.9zm-6.8-8.7a1.71 1.71 0 01-1.9 1.6h-1.2a.67.67 0 01-.7-.6V59c0-.4.3-.6.7-.6h2.4a.67.67 0 01.7.6zm17.2-1.8c0 3.5-3.3 3.8-6.9 3.8-3.3 0-4.5-1.1-7.7-1.2a.65.65 0 01-.6-.6v-8c0-.4.3-.6.7-.6a4.18 4.18 0 004-4.2v-2.4c0-.4.3-.6.7-.6h1.2a1.71 1.71 0 011.9 1.6v4.1a1.71 1.71 0 001.9 1.6h2.8a1.78 1.78 0 011.9 1.6z\"}},\nshift_scheduling_operation:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M76 42a2 2 0 012 2v30a6 6 0 01-6 6H28a6 6 0 01-6-6V44a2 2 0 012-2zm-26 4a15 15 0 1015 15 15 15 0 00-15-15zm2.87 7.17l5.38 5.25a.75.75 0 010 .9l-5.38 5.19c-.38.39-.9.06-.9-.59v-3.11a6.17 6.17 0 00-6.48 5.86 5.3 5.3 0 000 .69H41.6a10.28 10.28 0 0110.13-10.43H52v-3.18c0-.65.55-.97.87-.58zM63 20a4 4 0 014 4v2h5a6 6 0 016 6v2a2 2 0 01-2 2H24a2 2 0 01-2-2v-2a6 6 0 016-6h5v-2a4 4 0 018 0v2h18v-2a4 4 0 014-4z\"}},\nshift_template:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M72 26h-5v-2a4 4 0 00-8 0v2H41v-2a4 4 0 00-8 0v2h-5a6 6 0 00-6 6v2a2 2 0 002 2h52a2 2 0 002-2v-2a6 6 0 00-6-6zm4 16H24a2 2 0 00-2 2v30a6 6 0 006 6h44a6 6 0 006-6V44a2 2 0 00-2-2zM45.3 74.1a1.09 1.09 0 01-1.1 1H37a1.09 1.09 0 01-1-1.1V59.9a1.09 1.09 0 011.1-1h7.3a1.09 1.09 0 011 1.1l-.1 14.1zm19.9.2a1.09 1.09 0 01-1.1 1H50.7a1.09 1.09 0 01-1-1.1V59.9a1.09 1.09 0 011.1-1h13.5a1.09 1.09 0 011 1.1l-.1 14.3zm.2-20.6a1.09 1.09 0 01-1.1 1H37a1.09 1.09 0 01-1-1.1v-6.3a1.09 1.09 0 011.1-1h27.2a1.09 1.09 0 011 1.1c.1 0 .1 6.3.1 6.3z\"}},\nshift_type:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M72 26h-5v-2c0-2.2-1.8-4-4-4s-4 1.8-4 4v2H41v-2c0-2.2-1.8-4-4-4s-4 1.8-4 4v2h-5c-3.3 0-6 2.7-6 6v2c0 1.1.9 2 2 2h52c1.1 0 2-.9 2-2v-2c0-3.3-2.7-6-6-6zM76 42H24c-1.1 0-2 .9-2 2v30c0 3.3 2.7 6 6 6h44c3.3 0 6-2.7 6-6V44c0-1.1-.9-2-2-2zM42.3 59.9c0-.6.5-1.1 1.1-1.1h19.4c.6 0 1.1.5 1.1 1.1v2.2c0 .6-.5 1.1-1.1 1.1H43.4c-.6 0-1.1-.5-1.1-1.1v-2.2zM37.8 72c.1.6-.4 1.1-1 1.1H34.5c-.6 0-1.1-.5-1.1-1.1v-2.2c0-.6.5-1.1 1.1-1.1h2.2c.6 0 1.1.5 1.1 1.1V72zm0-9.9c.1.6-.4 1.1-1 1.1H34.5c-.6 0-1.1-.5-1.1-1.1v-2.2c0-.6.5-1.1 1.1-1.1h2.2c.6 0 1.1.5 1.1 1.1v2.2zm0-9.9c.1.6-.4 1.1-1 1.1H34.5c-.6 0-1.1-.5-1.1-1.1V50c0-.6.5-1.1 1.1-1.1h2.2c.6 0 1.1.5 1.1 1.1v2.2zM66.6 72c0 .6-.5 1.1-1.1 1.1H43.4c-.6 0-1.1-.5-1.1-1.1v-2.2c0-.6.5-1.1 1.1-1.1h22.1c.6 0 1.1.5 1.1 1.1V72zm0-19.8c0 .6-.5 1.1-1.1 1.1H43.4c-.6 0-1.1-.5-1.1-1.1V50c0-.6.5-1.1 1.1-1.1h22.1c.6 0 1.1.5 1.1 1.1v2.2z\"}}},\nshipment:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M53 53.6V78c0 .6.4 1 1 1 .2 0 .4 0 .5-.1 4.8-2.7 19.4-11 19.4-11 1.9-1.1 3.1-3.1 3.1-5.3V40.7c0-.6-.4-1-1-1-.2 0-.4 0-.5.1L54 51.9c-.6.3-1 1-1 1.7zm-2-6.8l21.6-12.1c.5-.3.6-.9.3-1.4l-.3-.3c-4.8-2.7-19.5-11.1-19.5-11.1-1.9-1.1-4.3-1.1-6.2 0 0 0-14.7 8.3-19.5 11.1-.5.3-.6.9-.3 1.4l.3.3L49 46.8c.6.3 1.4.3 2 0zm-5 5.1L24.5 39.8c-.5-.3-1.1-.1-1.4.4-.1.1-.1.3-.1.5v21.8c0 2.2 1.2 4.2 3.1 5.3 0 0 14.6 8.3 19.4 11 .5.3 1.1.1 1.4-.4.1-.2.1-.4.1-.5V53.6c0-.7-.4-1.4-1-1.7z\"}},\nskill:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M43.84 46.76a5.35 5.35 0 115.46-5.34 5.41 5.41 0 01-5.46 5.34z\",\"fill-rule\":\"evenodd\"},{\"d\":\"M77.33 55.7l-7.27-10.8V44a24 24 0 00-23.87-24 22 22 0 00-5.67.7A23.89 23.89 0 0022.31 44a21.92 21.92 0 003.58 12.7c4.18 6 7 10.8 5.27 17.3a4.58 4.58 0 00.9 4.2 4.43 4.43 0 003.68 1.8h19.6A4.72 4.72 0 0060 76.2a5 5 0 00.2-1.2 2.37 2.37 0 012.39-2H64a4.72 4.72 0 004.68-3.4 41.31 41.31 0 001.48-9.6h5.17a2.78 2.78 0 002.19-1.6 2.86 2.86 0 00-.19-2.7zm-19.84-8.37l-1 1.57a2.22 2.22 0 01-1.76.94 2.38 2.38 0 01-.72-.16l-2.65-1a11.64 11.64 0 01-3.85 2.2l-.48 2.91a2 2 0 01-2 1.65h-2a2 2 0 01-2-1.65l-.48-2.91a10 10 0 01-3.69-2l-2.81 1a2.38 2.38 0 01-.72.16 2.1 2.1 0 01-1.76-1l-1-1.65a1.94 1.94 0 01.48-2.51l2.33-1.89a10.11 10.11 0 01-.24-2.12 9.41 9.41 0 01.24-2l-2.28-1.99a1.92 1.92 0 01-.48-2.51l1-1.65a2 2 0 011.76-1 2.38 2.38 0 01.72.16l2.81 1a11.52 11.52 0 013.69-2.12L41 28a1.91 1.91 0 012-1.57h2a1.92 1.92 0 012 1.49l.48 2.83a11.31 11.31 0 013.69 2l2.81-1a2.38 2.38 0 01.72-.16 2.1 2.1 0 011.76 1l1 1.65A2 2 0 0157 36.8l-2.33 1.89a9.56 9.56 0 01.24 2.12 9.41 9.41 0 01-.24 2L57 44.74a2 2 0 01.49 2.59z\",\"fill-rule\":\"evenodd\"}]},\nskill_entity:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M77.3 55.7L70 44.9V44c0-13.2-10.8-24-24-24-1.9 0-3.8.2-5.7.7C29.7 23.1 22 32.9 22 44c0 4.9 1.2 9.3 3.6 12.7 4.2 6 7 10.8 5.3 17.3-.4 1.5-.1 3 .9 4.2.9 1.2 2.2 1.8 3.7 1.8h19.7c2.3 0 4.3-1.6 4.7-3.8.1-.4.2-.8.2-1.2.2-1.2 1.2-2 2.4-2h1.4c2.2 0 4.1-1.3 4.7-3.4.6-2.3 1.4-5.6 1.5-9.6h5.2c.9 0 1.8-.8 2.2-1.6.4-.8.3-2.1-.2-2.7zM61.4 42c-.8 1.3-2.4 2-4.7 2-12.3 0-13.2 9-13.2 13.3 0 2-1.6 3.7-3.6 3.7h-.3c-1.7 0-3.1-1.2-3.5-2.9-.4-1.8-1.6-2.8-2.8-3.7-.8-.6-1.6-1.2-2-2.1-1.1-2.3-2.2-5-2.2-8.4 0-7.8 5.4-14.6 12.7-16.3 1.4-.3 2.7-.5 4.1-.5 6.8 0 12.9 4.1 15.5 10.3.1.3 1.2 2.7 0 4.6z\"}},\nskill_requirement:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M50.08 57.86a6.77 6.77 0 116.63-6.77 6.71 6.71 0 01-6.63 6.77z\",\"fill-rule\":\"evenodd\"},{\"d\":\"M80.79 46.64h-5.57V26.7a6.8 6.8 0 00-6.69-6.7H31.47a6.8 6.8 0 00-6.69 6.71v19.93h-5.57a3.36 3.36 0 000 6.71h5.57V73.3a6.8 6.8 0 006.69 6.7h37.06a6.8 6.8 0 006.69-6.71V53.36h5.57a3.36 3.36 0 000-6.71zm-14.07 12.8l-1.17 2a2.67 2.67 0 01-2.15 1.19 2.8 2.8 0 01-.88-.2l-3.22-1.29a14 14 0 01-4.68 2.79L54 67.6a2.52 2.52 0 01-2.44 2.09h-2.4a2.52 2.52 0 01-2.44-2.09l-.59-3.68a12.07 12.07 0 01-4.49-2.59l-3.41 1.29a2.8 2.8 0 01-.88.2 2.53 2.53 0 01-2.15-1.29L34 59.44a2.52 2.52 0 01.59-3.19l2.83-2.39a13.32 13.32 0 01-.29-2.69 12.39 12.39 0 01.29-2.59l-2.79-2.38A2.5 2.5 0 0134 43l1.17-2.09a2.42 2.42 0 012.15-1.29 2.8 2.8 0 01.88.2l3.41 1.29a13.88 13.88 0 014.49-2.69l.62-3.42a2.34 2.34 0 012.44-2h2.44a2.35 2.35 0 012.4 1.85l.59 3.58A13.6 13.6 0 0159.11 41l3.41-1.29a2.8 2.8 0 01.88-.2 2.53 2.53 0 012.15 1.29l1.17 2.09a2.65 2.65 0 01-.59 3.19l-2.83 2.39a12.59 12.59 0 01.29 2.69 12.39 12.39 0 01-.29 2.59l2.83 2.39a2.63 2.63 0 01.59 3.3z\",\"fill-rule\":\"evenodd\"}]},\nslider:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M71.25 46.38h6.25a2.5 2.5 0 012.5 2.5v2.5a2.51 2.51 0 01-2.5 2.5h-6.25a1 1 0 01-1-1.26 10 10 0 00.37-2.5 11.87 11.87 0 00-.37-2.62c-.13-.75.37-1.25 1-1.12zM31 68.75h-8.5a2.51 2.51 0 00-2.5 2.5v2.5a2.51 2.51 0 002.5 2.5H31a7.5 7.5 0 100-7.5zM50.25 70a11.87 11.87 0 01.37 2.62 10 10 0 01-.37 2.5 1 1 0 001 1.26H77.5a2.51 2.51 0 002.5-2.5v-2.5a2.5 2.5 0 00-2.5-2.5H51.25c-.75-.13-1.13.37-1 1.12zm5-45a11.87 11.87 0 01.37 2.62 10 10 0 01-.37 2.5 1 1 0 001 1.26H77.5a2.51 2.51 0 002.5-2.5v-2.5a2.5 2.5 0 00-2.5-2.5H56.25c-.63-.13-1.13.37-1 1.12zM36 23.75H22.5a2.51 2.51 0 00-2.5 2.5v2.5a2.51 2.51 0 002.5 2.5H36a7.5 7.5 0 100-7.5zm15 22.5H22.5a2.51 2.51 0 00-2.5 2.5v2.5a2.51 2.51 0 002.5 2.5H51a7.5 7.5 0 100-7.5z\"}},\nsms:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M49.1 21.5c-16.9 0-30.3 12.4-30.3 27.8 0 4.8 1.4 9.4 3.7 13.5.4.6.5 1.4.3 2.2l-3.9 10.8c-.4 1 .6 1.9 1.7 1.7l10.9-4.2c.6-.3 1.4-.1 2.2.3 4.6 2.5 10 4.1 15.9 4.1 16.4-.3 30-12.8 30-28.1-.1-15.7-13.7-28.1-30.5-28.1zM36.9 54c-.4.6-.8 1.3-1.3 1.7-.5.4-1.1.8-1.9 1-.6.3-1.4.3-2.2.3-1 0-1.9-.1-2.8-.5-.9-.4-1.8-.9-2.4-1.7l-.3-.3c-.1-.1 0-.4.3-.6l2-1.9c.3-.3.5-.3.6-.1.1.1.3.4.3.4.3.4.6.6 1 .9.6.4 1.3.4 2 .3.3 0 .4-.1.6-.3l.4-.4c.1-.1.1-.4.1-.5 0-.5-.1-.6-.3-.8-.3-.3-.6-.5-1.1-.6-.5-.1-1-.4-1.7-.5-.6-.3-1.3-.5-1.8-.8-.6-.4-1-.9-1.4-1.4-.4-.6-.6-1.4-.6-2.4 0-.9.1-1.7.5-2.3s.8-1.1 1.4-1.5c.5-.4 1.1-.8 1.9-.9 1.5-.4 3-.4 4.6.1.8.3 1.5.8 1.9 1l.4.3c.3.1.1.5-.1.8l-1.9 1.9c-.3.3-.6.3-.9 0-.3-.1-.4-.4-.5-.4-.6-.4-1.5-.5-2.3-.4-.3 0-.4.1-.5.3l-.2.3c-.1.1-.1.3-.1.5 0 .4.1.5.3.6.3.3.6.4 1.1.6.5.1 1 .4 1.7.5.6.3 1.3.5 1.8.8.6.4 1 .9 1.4 1.4.4.6.6 1.4.6 2.4-.1.8-.2 1.6-.6 2.2zM58 55.8c0 .8-.6 1.3-1.4 1.3h-1.3c-.8 0-1.1-.5-1.1-1.3v-7.5c0-.8-1-.9-1.3-.3l-2.2 5.7c-.1.5-.6.8-1.1.8h-.9c-.5 0-1-.4-1.1-.8L45.3 48c-.3-.6-1.3-.5-1.3.3v7.5c0 .8-.6 1.3-1.4 1.3h-1.3c-.8 0-1.1-.5-1.1-1.3v-14c0-.8.5-1.3 1.1-1.3h3.3c.5 0 1 .4 1.1.8l2.5 6.6c.3.5 1 .5 1.1 0l2.5-6.6c.1-.5.6-.8 1.1-.8h3.4c.8 0 1.4.5 1.4 1.3.3 0 .3 14 .3 14zm13.3-1.7c-.4.6-.8 1.3-1.4 1.7-.5.4-1.1.8-1.9 1-.8.3-1.4.3-2.2.3-1 0-1.9-.1-2.8-.5s-1.8-.9-2.4-1.7l-.3-.3c-.1-.1 0-.4.3-.6l2-1.9c.3-.3.5-.3.6-.1s.3.4.3.4c.3.4.6.6 1 .9.6.4 1.4.4 2 .3.3-.1.5-.1.6-.3l.4-.4s.1-.4.1-.5c0-.5-.1-.6-.3-.8-.3-.3-.6-.5-1.1-.6-.5-.1-1-.4-1.7-.5-.6-.3-1.3-.5-1.8-.8-.6-.4-1.1-.9-1.5-1.4-.4-.6-.6-1.4-.6-2.4 0-.9.1-1.7.5-2.3.4-.6.8-1.1 1.4-1.5.5-.4 1.3-.8 1.9-.9 1.5-.4 3-.4 4.6.1.8.3 1.5.8 1.9 1.1l.4.4c.3.1.1.5-.1.8l-1.9 1.9c-.3.3-.6.3-.9 0-.3-.1-.4-.4-.5-.4-.6-.4-1.5-.5-2.3-.4-.3 0-.4.1-.5.3l-.4.4c-.1.1-.1.4-.1.5 0 .4.1.5.3.6.3.3.6.4 1.1.6.5.1 1 .4 1.7.5.6.3 1.3.5 1.8.8.6.4 1 .9 1.5 1.4.4.6.6 1.4.6 2.4.3.4.1 1.3-.3 1.9z\"}},\nsnippet:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M74.1 23.9c-12.1 0-21.3 9.4-21.3 21.4v28.8c0 1.1.9 2 2 2h22.8c1.1 0 2-.9 2-2V51.3c0-1.1-.9-2-2-2H60.8v-4c0-6.7 6.6-13.4 13.3-13.4h3.5c1.1 0 2-.9 2-2v-4c0-1.1-.9-2-2-2h-3.5zm-33.3 0c-12.1 0-21.3 9.4-21.3 21.4v28.8c0 1.1.9 2 2 2h22.8c1.1 0 2-.9 2-2V51.3c0-1.1-.9-2-2-2H27.6v-4c0-6.7 6.6-13.4 13.3-13.4h3.5c1.1 0 2-.9 2-2v-4c0-1.1-.9-2-2-2h-3.6z\"}},\nsnippets:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M71.8 25.2h-2c-.6 0-1 .4-1 1v4c0 4.4-3.6 7.9-7.9 7.9H39.1c-4.4 0-7.9-3.6-7.9-7.9v-4c0-.6-.4-1-1-1h-2c-3.3 0-5.9 2.7-5.9 5.9v42.6c0 3.3 2.7 5.9 5.9 5.9h43.6c3.3 0 5.9-2.7 5.9-5.9V31.2c.1-3.3-2.6-6-5.9-6zM44.3 48s0 .8-.6.9c-.8.2-1.1.4-1.2.4-.3.3-.4.8-.4 1.7v3.1c0 1.1-.2 2-.5 2.7-.2.5-.6 1-1 1.4 0 0-.7.5 0 1.3.3.2.5.5.7.8.5.8.8 1.8.8 3.1V67c0 .8.2 1.3.5 1.6.1.1.3.2.6.3.1 0 .2.1.3.1.3.2.7.5.7 1.2v2c0 .2-.2.5-.8.5h-.9c-1.4 0-2.7-.5-3.8-1.3-1.2-.9-1.8-2.2-1.8-3.8v-4.3c0-.9-.3-1.6-.8-2.1-.3-.3-.8-.5-1.5-.7-.1 0-.5-.2-.5-.8v-1.6c0-.2.1-.5.5-.7 1-.3 1.4-.6 1.6-.8.5-.5.7-1.3.7-2.3v-3.6c0-.5.1-1.1.3-1.7.3-1 .9-1.9 1.6-2.5.7-.5 1.5-.9 2.4-1.1.5-.1 1.2-.2 2.1-.2.3 0 .9.2.9.9V48h.1zm21.5 11.9c0 .2-.1.5-.5.7-1 .3-1.4.6-1.6.8-.5.5-.7 1.3-.7 2.3v3.6c0 .5-.1 1.1-.3 1.7-.3 1-.9 1.9-1.6 2.5-.7.5-1.5.9-2.4 1.1-.5.1-1.2.2-2.1.2-.3 0-.9-.2-.9-.9V70s0-.8.6-.9c.8-.2 1.1-.4 1.2-.4.3-.3.4-.8.4-1.7v-3.1c0-1.1.2-2 .5-2.7.2-.5.6-1 1-1.4 0 0 .7-.5 0-1.3-.3-.2-.5-.5-.7-.8-.5-.8-.8-1.8-.8-3.1v-3.4c0-.8-.2-1.3-.5-1.6-.1-.1-.3-.2-.6-.3-.1 0-.2-.1-.3-.1-.3-.2-.7-.5-.7-1.2v-2.2c0-.2.2-.5.8-.5h.9c1.4 0 2.7.5 3.8 1.3 1.2.9 1.8 2.2 1.8 3.8v4.3c0 .9.3 1.6.8 2.1.3.3.8.5 1.5.7.1 0 .5.2.5.8v1.6h-.1z\"},{\"d\":\"M39.1 32.2h21.8c1.1 0 2-.9 2-2v-4c0-3.3-2.7-5.9-5.9-5.9H43.1c-3.3 0-5.9 2.7-5.9 5.9v4c-.1 1.1.8 2 1.9 2z\"}]}},\nsobject:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M25.1 22.6h5.1c-6 13.4-6 23.4 0 36.8h-5.1c-6.9-15.4-6.9-21.4 0-36.8zM47.1 45.5c.5 2.3.8 4.1 1.1 4.9.4 1.1 1 2 1.8 2.7 1.9-1.5 4.3-2.3 6.8-2.3 1.6 0 3.1.4 4.6 1 .2-.3.3-.7.3-1.1 0-1.2-1-2.2-2.2-2.2-.4 0-.7.1-1 .2 0 0-2.4 1.4-3.2.3-.6-1.1-1.1-2.6-1.5-4.5-.3-1.6-.8-3.6-1.1-5.4l2.4-3.5s2.7 1 4.1 1 4.2-1.1 4.2-4.8c0-3.7-2.7-3.9-3.5-3.9-1.6 0-3.2 1.2-4.6 3.6-1.4 2.5-3 5.2-3 5.2h-.1c-.4-1.8-.6-3.2-.8-3.8-.3-1.5-2.1-4.8-5.7-4.8-3.7 0-7 2.1-7 2.1-.6.4-1 1.1-1 1.9 0 1.2 1 2.2 2.2 2.2.4 0 .7-.1 1-.2 0 0 2.8-1.6 3.4 0 .2.5.3 1 .5 1.5.7 2.4 1.4 5.2 1.9 7.8l-2.4 3.5s-2.7-1-4.1-1c-1.4 0-4.2 1.1-4.2 4.8 0 3.7 2.7 3.9 3.5 3.9 1.6 0 3.2-1.2 4.6-3.6 1.4-2.8 3-5.5 3-5.5zM72 53.5c.1.1.1.1.2.1.4 0 .7-.1 1.1-.1 1.3 0 2.5.2 3.6.6 4.6-11.8 3.9-18.1-2.2-31.6h-5.1c5.2 11.5 5.9 20.4 2.4 31zM61.7 58.1c1-1 2.4-1.7 4-1.7 2.1 0 3.9 1.1 4.9 2.8.8-.3 1.8-.6 2.8-.6 3.7 0 6.8 3.1 6.8 6.7 0 3.7-3.1 6.7-6.8 6.7-.4 0-.9 0-1.3-.1-.8 1.5-2.5 2.5-4.3 2.5-.8 0-1.5-.2-2.2-.5-.9 2-2.9 3.4-5.2 3.4-2.5 0-4.5-1.5-5.3-3.6-.3 0-.7.1-1.1.1-2.9 0-5.3-2.3-5.3-5.2 0-1.9 1-3.6 2.6-4.5-.3-.7-.5-1.5-.5-2.4 0-3.3 2.8-6 6.1-6 1.9 0 3.7.9 4.8 2.4z\"}},\nsobject_collection:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M34.6 36.5c-4.3 9.5-4.3 13.3 0 22.9h3.2C34 51 34 44.8 37.7 36.5h-3.1zM64.1 54.6c.6-.1 1.3-.2 1.9-.2.5 0 .9 0 1.4.1 2.2-6.4 1.6-10.3-1.9-18.1h-3.2c3 6.7 3.6 12.1 1.8 18.2z\"},{\"d\":\"M45.6 66h-18c-1.4 0-2.5-1.1-2.5-2.5V30.2h49.8v26.5c1.9.2 3.6.9 5.1 1.8V25.1c0-2.8-2.3-5.1-5.1-5.1H25.1c-2.8 0-5.1 2.3-5.1 5.1V66c0 2.8 2.3 5.1 5.1 5.1h18.8c.1-1.9.7-3.6 1.7-5.1z\"},{\"d\":\"M62 61.1c1-1 2.4-1.7 4-1.7 2.1 0 3.9 1.1 4.9 2.8.8-.3 1.8-.6 2.8-.6 3.7 0 6.8 3.1 6.8 6.7 0 3.7-3.1 6.7-6.8 6.7-.4 0-.9 0-1.3-.1-.8 1.5-2.5 2.5-4.3 2.5-.8 0-1.5-.2-2.2-.5-.9 2-2.9 3.4-5.2 3.4-2.5 0-4.5-1.5-5.3-3.6-.3 0-.7.1-1.1.1-2.9 0-5.3-2.3-5.3-5.2 0-1.9 1-3.6 2.6-4.5-.3-.7-.5-1.5-.5-2.4 0-3.3 2.8-6 6.1-6 2 .1 3.7 1 4.8 2.4zM46.5 53.9c.9-1.5 1.9-3.2 1.9-3.2.3 1.4.5 2.5.7 3 .3.9.9 1.6 1.7 2.1 1.8-1.3 4-2 6.4-2h.3c0-.8-.6-1.4-1.4-1.4-.2 0-.4.1-.6.1 0 0-1.5.8-2 .2-.4-.7-.7-1.6-.9-2.8-.2-1-.5-2.2-.7-3.4l1.5-2.2s1.7.6 2.5.6 2.6-.7 2.6-3-1.6-2.4-2.1-2.4c-1 0-2 .7-2.9 2.2-.9 1.5-1.9 3.2-1.9 3.2-.2-1.1-.4-2-.5-2.4-.2-.9-1.3-3-3.5-3-2.3 0-4.3 1.3-4.3 1.3-.4.2-.6.7-.6 1.2 0 .8.6 1.4 1.4 1.4.2 0 .4-.1.6-.1 0 0 1.7-1 2.1 0 .1.3.2.6.3 1 .4 1.5.8 3.2 1.2 4.8l-1.5 2.1s-1.7-.6-2.5-.6-2.6.7-2.6 3 1.6 2.4 2.1 2.4c.9.2 1.9-.6 2.7-2.1z\"}]},\nsocial:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M70 57c-4.8 0-8.9 3.4-9.8 8H47c-.6 0-1 .5-1 1.1v.9c0 1-.1 1.9-.3 2.8-.1.6.4 1.2 1 1.2h14.1c1.5 3.5 5.1 6 9.2 6 5.5 0 10-4.5 10-10s-4.5-10-10-10zM43.3 45.5c-1.2-.5-2.3-1.2-3.3-2-.5-.4-1.2-.2-1.5.3l-7.1 13.3c-.4-.1-.9-.1-1.4-.1-5.5 0-10 4.5-10 10s4.5 10 10 10 10-4.5 10-10c0-2.9-1.2-5.4-3.1-7.3l6.9-12.8c.2-.5 0-1.1-.5-1.4zM50 41c1 0 1.9-.1 2.8-.4l6.9 12.7c.3.5.9.7 1.4.4 1.1-.7 2.2-1.3 3.4-1.7.6-.2.8-.9.5-1.4l-7.2-13.4c1.3-1.7 2.2-3.9 2.2-6.2 0-5.5-4.5-10-10-10s-10 4.5-10 10 4.5 10 10 10z\"}},\nsolution:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M47.6 20.1c-9.8 1.1-17.7 8.8-18.5 18.4-.6 7 2.5 13.4 7.5 17.5 1.5 1.2 2.4 3 2.4 4.9v.1c0 2.8 2.3 5.1 5.2 5.1h11.6c2.9 0 5.2-2.3 5.2-5.1v-.1c0-1.9.9-3.7 2.4-4.9C68 52.2 71 46.6 71 40.3c0-12-10.7-21.5-23.4-20.2zM59 72H41c-1.1 0-2 .9-2 2 0 3.3 2.7 6 6 6h10c3.3 0 6-2.7 6-6 0-1.1-.9-2-2-2z\"}},\nsort:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M50.9 37.7c.7-.7.7-1.9 0-2.6L36.6 20.7c-.7-.7-1.9-.7-2.6 0L19.7 35.1c-.7.7-.7 1.9 0 2.6l2.6 2.6c.7.7 1.9.7 2.6 0l4.5-4.5c.7-.7 2.1-.2 2.1.9v26.4c0 1 .9 1.9 1.9 1.9h3.7c1 0 1.9-1 1.9-1.9V36.7c0-1.1 1.4-1.6 2.1-.9l4.5 4.5c.7.7 1.9.7 2.6 0l2.7-2.6zm27.4 24.9l-2.6-2.5c-.7-.7-1.9-.7-2.6 0l-4.5 4.5c-.7.7-2.1.2-2.1-.9V37.1c0-1-.9-1.9-1.9-1.9h-3.7c-1 0-1.9 1-1.9 1.9v26.4c0 1.1-1.4 1.6-2.1.9l-4.5-4.5c-.7-.7-1.9-.7-2.6 0l-2.6 2.7c-.7.7-.7 1.9 0 2.6l14.3 14.3c.7.7 1.9.7 2.6 0l14.3-14.3c.7-.7.7-2-.1-2.6z\"}},\nsort_policy:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M35.05 20H26a6 6 0 00-6 6v7a6 6 0 006 6h9a6 6 0 006-6v-7a6 6 0 00-5.95-6zm-3.51 13h-2a3.5 3.5 0 010-7h2a3.5 3.5 0 010 7zM53.15 39h9a6 6 0 006-6v-7a6 6 0 00-6-6h-9a6 6 0 00-6 6v7a6 6 0 006 6zm3.48-13h2a3.5 3.5 0 010 7h-2a3.5 3.5 0 110-7zM35.05 45H26a6 6 0 00-6 6v7a6 6 0 006 6h9a6 6 0 006-6v-7a6 6 0 00-5.95-6zm-3.51 13h-2a3.5 3.5 0 110-7h2a3.5 3.5 0 010 7zM79.68 70.59l-1.47-1.39a1 1 0 00-1.41-.06l-.06.06-2.45 2.4a.68.68 0 01-1 0 .63.63 0 01-.2-.48V60a1.08 1.08 0 00-1-1H70a1.11 1.11 0 00-1 1v11.13a.67.67 0 01-.67.67.66.66 0 01-.48-.2l-2.46-2.4a1 1 0 00-1.39-.06v.06l-1.46 1.41a1 1 0 000 1.41l7.85 7.66a1 1 0 001.41.06l.06-.06L79.68 72a1 1 0 000-1.41zM63.06 55.86l.06-.06 1.46-1.41a1 1 0 000-1.41l-7.85-7.67a1 1 0 00-1.41-.06l-.06.06L47.41 53a1 1 0 000 1.41l1.46 1.41a1 1 0 001.41.06l.06-.06 2.46-2.4a.68.68 0 011.15.47V65a1.08 1.08 0 001 1H57a1.13 1.13 0 001-1V53.87a.67.67 0 011.15-.47l2.46 2.4a1 1 0 001.45.06z\"}},\nsossession:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M49.6 18c-17.7.2-31.8 14.8-31.6 32.4.2 17.7 14.8 31.8 32.4 31.6 17.7-.2 31.8-14.8 31.6-32.4-.2-17.7-14.8-31.8-32.4-31.6zm0 4.2c4.8-.1 9.3 1.1 13.2 3.1l-4.3 7.2c-2.6-1.3-5.5-2-8.5-2s-6 .7-8.5 2l-4.3-7.2c3.7-1.9 7.9-3.1 12.4-3.1zM32.5 58.5l-7.2 4.3c-1.9-3.7-3.1-8-3.1-12.5-.1-4.8 1.1-9.3 3.1-13.2l7.2 4.3c-1.3 2.6-2 5.5-2 8.5s.7 6.1 2 8.6zm17.9 19.3c-4.8.1-9.3-1.1-13.2-3.1l4.3-7.2c2.6 1.3 5.5 2 8.5 2s6-.7 8.5-2l4.3 7.2c-3.7 1.9-7.9 3.1-12.4 3.1zM50 65.3c-8.5 0-15.3-6.9-15.3-15.3 0-8.5 6.9-15.3 15.3-15.3 8.5 0 15.3 6.9 15.3 15.3 0 8.5-6.8 15.3-15.3 15.3zm17.5-6.8c1.3-2.6 2-5.5 2-8.5s-.7-6-2-8.5l7.2-4.3c1.9 3.7 3.1 8 3.1 12.5.1 4.8-1.1 9.3-3.1 13.2l-7.2-4.4z\"}},\nstage:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"circle\":[{\"cx\":\"75.9\",\"cy\":\"50\",\"r\":\"4.2\"},{\"cx\":\"49.8\",\"cy\":\"50\",\"r\":\"4.2\"},{\"cx\":\"24.1\",\"cy\":\"50\",\"r\":\"4.2\"}],\"path\":{\"d\":\"M31.9 50c0 9.9 8.1 18 18 18s18-8.1 18-18-8.1-18-18-18-18 8.1-18 18zm30 0c0 6.6-5.4 12-12 12s-12-5.4-12-12 5.4-12 12-12 12 5.4 12 12z\"}},\nstage_collection:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"circle\":{\"cx\":\"49.8\",\"cy\":\"50\",\"r\":\"4.2\"},\"path\":{\"d\":\"M75.9 45.8c-1.5 0-2.9.8-3.6 2.1h-4.5c-1.1-9-8.7-15.9-17.9-15.9S33.1 38.9 32 47.8h-4.3c-.7-1.2-2.1-2.1-3.6-2.1-2.3 0-4.2 1.9-4.2 4.2s1.9 4.2 4.2 4.2c1.5 0 2.8-.8 3.6-1.9h4.4C33.2 61.1 40.8 68 49.9 68c9.1 0 16.7-6.9 17.8-15.7h4.5c.8 1.2 2.1 1.9 3.6 1.9 2.3 0 4.2-1.9 4.2-4.2s-1.8-4.2-4.1-4.2zM49.9 62c-6.6 0-12-5.4-12-12s5.4-12 12-12 12 5.4 12 12-5.4 12-12 12z\"}},\nsteps:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M73 80.3h-8.8v-6H73v6zm0-2.9v-.1.1zm-17.6 2.9h-8.8v-6h8.8v6zm-17.5 0h-8.8v-6h8.8v6zm-11.8-7.4h-6v-8.8h6v8.8zm53.8-2.1h-6V62h6v8.8zM26.1 55.4h-6v-8.8h6v8.8zm53.8-2.1h-6v-8.8h6v8.8zM26.1 37.9h-6v-8.8h6v8.8zm53.8-2.1h-6V27h6v8.8zm-9.1-10.1H62v-6h8.8v6zm-17.5 0h-8.8v-6h8.8v6zm-17.5 0h-8.7v-6h8.8v6z\"}},\nstore:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M71.5 54.4h-.3c-2-.2-3.6-.8-5.2-1.9l-.2-.2c-.7-.6-1.4-.3-1.7-.1l-.1.1c-1.9 1.4-4 2.1-6.5 2.1-2.6 0-4.8-.8-6.8-2.3-.7-.5-1.2 0-1.2 0-2 1.6-4.3 2.4-6.9 2.4-2.5 0-4.7-.7-6.6-2.2-.1-.1-.2-.1-.3-.2-.6-.5-1.2 0-1.2 0-1.9 1.5-4 2.3-6.4 2.4 0 0-.8 0-.8.9V74c0 .4.2 1.3 1.4 1.5h23.2c1.2-.2 1.4-1.1 1.4-1.5v-3.6-9.6c.1-.4.3-.8 1.3-.8h11.1c.4.1.8.4.8 1.3v12.5c0 1.4 1 1.6 1.3 1.6h3.5c.3 0 1.3-.2 1.3-1.6V55.7c-.2-1-.7-1.2-1.1-1.3zm-25 14.4v.4c0 .5-.3 1.3-1.5 1.3H34.8c-1.1 0-1.4-.5-1.5-1V69v-7.1c0-1.8 1-1.9 1.4-1.9h10.6c.4 0 1.2.3 1.2 1.6v7.2zM70.4 49.4c2.7.7 5.1.2 7.1-1.7 1.3-1.2 2.1-2.7 2.3-4.4v-.2c-.2-.6-.5-1.3-.7-1.7-3-5.4-5.9-10.8-8.8-16.2-.4-.7-1.2-.7-1.5-.7h-38s-1.1 0-1.5.7c-3 5.4-5.9 10.9-8.8 16.2-.2.4-.5 1.1-.5 1.8v.2c.2 1.7 1 3.2 2.3 4.4 2.2 2 4.8 2.5 7.7 1.5 1.6-.6 2.8-1.6 3.8-3.1.1-.1.2-.3.4-.4.6-.4 1.4-.3 1.9.4.5.8 1.1 1.5 1.9 2 2.1 1.6 4.5 1.9 7 1.1 1.6-.5 2.9-1.6 3.8-3.1.5-.8 1.7-.9 2.3 0l.6.9c1.3 1.5 2.9 2.4 4.8 2.6 1.8.2 3.5-.2 5.1-1.3.9-.6 1.6-1.4 2.1-2.2.6-.8 1.7-.8 2.2 0 1 1.6 2.3 2.6 4.1 3.1l.4.1z\"}}},\nstore_group:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M77.2 45.2H60.1c-1.6 0-2.8 1.3-2.8 2.8 0 .5.4.9.9.9H79c.5 0 .9-.4.9-.9.1-1.5-1.2-2.8-2.7-2.8zm0 6.6h-17c-.5 0-.9.4-.9.9v19.9c0 .5.4.9.9.9h5.2c.5 0 .9-.4.9-.9v-3.8c0-.5.5-.9 1-.9H70c.5 0 1 .4 1 .9v3.8c0 .5.4.9.9.9h5.2c.5 0 .9-.4.9-.9V52.8c.1-.6-.3-1-.8-1zm-10 12.8c0 .5-.4.9-.9.9h-1.9c-.5 0-.9-.4-.9-.9v-1.9c0-.5.4-.9.9-.9h1.9c.5 0 .9.4.9.9v1.9zm0-6.6c0 .5-.4.9-.9.9h-1.9c-.5 0-.9-.4-.9-.9v-1.9c0-.5.4-.9.9-.9h1.9c.5 0 .9.4.9.9V58zm6.7 6.6c0 .5-.4.9-.9.9h-2c-.5 0-.9-.4-.9-.9v-1.9c0-.5.4-.9.9-.9h1.9c.5 0 .9.4.9.9v1.9zm0-6.6c0 .5-.4.9-.9.9h-2c-.5 0-.9-.4-.9-.9v-1.9c0-.5.4-.9.9-.9h1.9c.5 0 .9.4.9.9V58zM53.1 26.4H24.6C22 26.4 20 28.5 20 31v.1c0 .9.7 1.6 1.6 1.6h34.6c.9 0 1.6-.7 1.6-1.6V31c-.1-2.4-2.2-4.6-4.7-4.6zm-.1 11H24.7c-.9 0-1.6.7-1.6 1.6v33c0 .9.7 1.6 1.6 1.6h8.7c.9 0 1.5-.7 1.5-1.6v-6.3c0-.9.8-1.6 1.6-1.6h4.6c.9 0 1.6.7 1.6 1.6V72c0 .9.6 1.6 1.5 1.6H53c.9 0 1.6-.7 1.6-1.6V39c0-.9-.7-1.6-1.6-1.6zM36.5 58.6c0 .9-.7 1.6-1.6 1.6h-3.1c-.9 0-1.6-.7-1.6-1.6v-3.1c0-.9.7-1.6 1.6-1.6h3.1c.9 0 1.6.7 1.6 1.6v3.1zm0-11c0 .9-.7 1.6-1.6 1.6h-3.1c-.9 0-1.6-.7-1.6-1.6v-3.1c0-.9.7-1.6 1.6-1.6h3.1c.9 0 1.6.7 1.6 1.6v3.1zm11 11c0 .9-.7 1.6-1.6 1.6h-3.1c-.9 0-1.6-.7-1.6-1.6v-3.1c0-.9.7-1.6 1.6-1.6h3.1c.9 0 1.6.7 1.6 1.6v3.1zm0-11c0 .9-.7 1.6-1.6 1.6h-3.1c-.9 0-1.6-.7-1.6-1.6v-3.1c0-.9.7-1.6 1.6-1.6h3.1c.9 0 1.6.7 1.6 1.6v3.1z\"}},\nstory:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M79.9 53.6c.3.4.1.9 0 1-1.6 1.7-2.9 2.8-3.9 3.6-1.6 1.3-4.5 3.2-5.1 3.5 2 1.3 3 2.4 3.1 3.7-2.1.8-3.8 1.3-4.8 1.8-1.5.6-2.5 1.3-4.4 2.4h-.1v-.5c0-3.3.4-4.7 0-7.4s-2.3-6.5-6-7.4c-3.6-.9-8.3 2.6-12.4.9s-5.9-1.2-7.6 1-1.7 3.5-1.7 5.3v7.4c-1.3-.9-3-1.7-5.3-2.4-2-.6-4.1-1-6.3-1.2-.5 0-.8-.4-.8-.9v-.3c.6-2.6 1.6-4.4 3-5.5 1.5-1.4 2.5-2.1 3.1-1.9-1.6-1.9-3-3.3-4.3-4-1.1-.6-3.1-1.2-6-1.7-.4-.1-.6-.5-.6-1v-.3c2.1-5.5 4.6-9 7.6-10.5 3.3-1.5 5.6-2.2 7.5-1.9-.6-1.5-1.1-2.6-1.4-3.3-.3-.5-.6-1.3-1.4-2.3-.3-.4-.3-1 .1-1.3.1 0 .3-.1.4-.1 1.3-.3 2.5-.1 3.9.3 1.8.5 3.4 1.7 4.9 3.5-.1-5.3-.6-9.7-1.8-13.2.2-2.9 12.6-.9 15.6 5.1 2.1 4 3.1 6.7 3.1 8.2 4.1-.9 7.4-.5 9.8 1s3.6 2.9 3.8 4.2c-1.9.4-3.1 1-3.8 1.9 2.3.9 6.3 3.3 7.6 5 1.5 1.9 2.9 4.2 4.2 7.3z\"},{\"d\":\"M46.2 70.2c.9.3 1.4.5 1.9.5.8 0 1.8-.3 3.2-.8 1.8-.8 3.6-.4 4.7.8 1.3 1 1.8 3.4 1.3 4.9-.4.9-1 1.8-2 2.4-.1.1-.4.1-.5.1l-2.2-.4-4.2 1.8c-.1.1-.4.1-.5 0l-3.8-1.8-1.8.4c-.3 0-.5 0-.6-.3-.5-.6-.9-1-1-1.4-.3-.4-.7-1.3-.7-2.7s1.3-2.9 2.3-3.4c1-.4 2.8-.7 3.9-.1z\"}],\"circle\":[{\"cx\":\"55\",\"cy\":\"64.6\",\"r\":\"2.5\"},{\"cx\":\"42.5\",\"cy\":\"64.6\",\"r\":\"2.5\"}]},\nstrategy:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M76.1 40.8H66c-2.2 0-4 1.8-4 4v2.5h-9.4V27.6c0-.6-.6-1.3-1.3-1.3H38v-2.4c0-2.2-1.8-4-4-4H23.9c-2.2 0-4 1.8-4 4V34c0 2.2 1.8 4 4 4H34c2.2 0 4-1.8 4-4v-2.4h9.3v15.7H38V45c0-2.2-1.8-4-4-4H23.9c-2.2 0-4 1.8-4 4v10c0 2.2 1.8 4 4 4H34c2.2 0 4-1.8 4-4v-2.4h9.3v15.7H38V66c0-2.2-1.8-4-4-4H23.9c-2.2 0-4 1.8-4 4v10.1c0 2.2 1.8 4 4 4H34c2.2 0 4-1.8 4-4v-2.4H51.3c.7 0 1.3-.7 1.3-1.3V52.7H62v2.2c0 2.2 1.8 4 4 4h10.1c2.2 0 4-1.8 4-4V44.8c0-2.2-1.8-4-4-4zM34 34H23.9V23.9H34V34zm0 2v-2 2zm0 19H23.9V45H34v10zm0 2v-2 2zm0 19.1H23.9V66H34v10.1zm0 2v-2 2zm42.1-23.2H66V44.8h10.1v10.1zm0 2v-2 2z\"}},\nsurvey:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M24 23h44c2.2 0 4 1.8 4 4v4c0 2.2-1.8 4-4 4H24c-2.2 0-4-1.8-4-4v-4c0-2.2 1.8-4 4-4zM24 41h25c2.2 0 4 1.8 4 4v4c0 2.2-1.8 4-4 4H24c-2.2 0-4-1.8-4-4v-4c0-2.2 1.8-4 4-4zM65.9 52c7.7 0 14 6.3 14 14s-6.3 14-14 14-14-6.3-14-14 6.3-14 14-14zm7.9 10.9c.3-.3.3-1 0-1.3l-1.4-1.3c-.4-.4-1-.4-1.4 0l-7.5 8.4-3.4-3.4c-.4-.4-1-.4-1.4 0l-1.4 1.3c-.4.3-.4.9 0 1.3l4.8 4.7c.4.4.9.6 1.4.6.6 0 1-.2 1.4-.6l8.9-9.7zM24 59h23.2c-.8 2.3-1.2 4.3-1.2 6-.1 2.1.1 4.1.6 6H24c-2.2 0-4-1.8-4-4v-4c0-2.2 1.8-4 4-4z\"}}},\nswarm_request:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"circle\":[{\"cx\":\"41.37\",\"cy\":\"26.44\",\"r\":\"6.32\"},{\"cx\":\"58.63\",\"cy\":\"26.43\",\"r\":\"6.32\"},{\"cx\":\"28.4\",\"cy\":\"41.16\",\"r\":\"8\"},{\"cx\":\"71.81\",\"cy\":\"41.16\",\"r\":\"8\"},{\"cx\":\"50.11\",\"cy\":\"45.73\",\"r\":\"8\"}],\"path\":{\"d\":\"M59.14 80a4.18 4.18 0 003.2-1.37 4.57 4.57 0 001.37-3.2V65.15a6.88 6.88 0 00-6.86-6.86h-13.7a6.88 6.88 0 00-6.86 6.86v10.28A4.68 4.68 0 0040.86 80zM29.32 75.43V65.15a13.41 13.41 0 013.89-9.48 1.18 1.18 0 000-1.67 1.15 1.15 0 00-.77-.33h-11a6.88 6.88 0 00-6.86 6.86v10.33a4.68 4.68 0 004.57 4.57zM80.85 75.43a4.18 4.18 0 003.2-1.37 4.57 4.57 0 001.37-3.2V60.58a6.88 6.88 0 00-6.86-6.86h-11a1.14 1.14 0 00-.8 2 13.68 13.68 0 013.89 9.48v10.23z\"}}},\nswarm_session:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M41.7 30a.33.33 0 00-.1-.28c0 .1.1.2.1.28zM41.7 29.73c0 .09.09.19.09.28a5.44 5.44 0 00.48 1 8.72 8.72 0 0011.67 3.83 9 9 0 003.44-3.16 20.69 20.69 0 0113.4 15.5c.38 0 .76-.1 1.14-.1a16.11 16.11 0 014.79.77 26.15 26.15 0 00-18.08-21.76 8.28 8.28 0 00-.86-2.87 8.73 8.73 0 00-11.67-3.83 8.6 8.6 0 00-4.69 9.28c.1.39.19.77.29 1.06zM36.82 57.56A8.69 8.69 0 0030 52.87a10.46 10.46 0 01-.1-1.81 20.68 20.68 0 017.85-16.17c-.29-.38-.48-.86-.77-1.24a17.19 17.19 0 01-1.43-4.31A26.47 26.47 0 0024.1 51.06c0 1 .09 2.1.19 3.15a8.71 8.71 0 1012.53 3.35zM79.48 57.56A8.68 8.68 0 0064 65.4c.1.19.29.48.39.67a20.17 20.17 0 01-23.25 3.25 12.47 12.47 0 01-4.21 4.21 26.11 26.11 0 0013.57 3.73 26.38 26.38 0 0018.55-7.65 8.21 8.21 0 006.7-.48 8.54 8.54 0 003.73-11.57zM41.79 58.11a.39.39 0 00.48.48l3.25-1.34a.57.57 0 01.67.1 8.34 8.34 0 004.59 1.33c5.07 0 9.19-3.92 9.19-8.6s-4.12-8.61-9.19-8.61a8.93 8.93 0 00-9.08 8.61 8.53 8.53 0 001.15 4.11.84.84 0 01.09.67z\",\"fill-rule\":\"evenodd\"}},\nsystem_and_global_variable:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M48.8 75.6c0-3.7 1.8-6.5 4.2-8.1v-3.7c-1.3-.9-2.3-2.2-2.7-3.7-.5-2.1.2-4.5 1.5-6.2.3-.4.7-.8 1.1-1.2.4-.4.9-.7 1.4-.9 2.6-1.4 5.6-2.4 8.6-2.4 2.7 0 5.1 1.1 6.8 2.7 2.4-2.4 4.9-2.9 6.4-2.9 1.4 0 2.7.3 3.9.9v-.2c0-16.5-13.5-30-30-30S20 33.5 20 50c0 16.4 13.4 29.9 29.8 30-.7-1.3-1-2.7-1-4.4zm25-28.6h-7.9c-.3-7.1-1.9-13.3-4.3-18 6.6 3.7 11.2 10.3 12.2 18zM53 27.3c3.4 2.9 6.4 10.3 6.9 19.7H53V27.3zM26.2 53h7.9c.3 7.1 1.9 13.3 4.3 18-6.6-3.7-11.2-10.3-12.2-18zm7.9-6h-7.9c1-7.7 5.6-14.3 12.2-18-2.4 4.7-3.9 10.9-4.3 18zM47 72.7c-3.4-2.9-6.4-10.3-6.9-19.7H47v19.7zM47 47h-6.9c.5-9.4 3.5-16.8 6.9-19.7V47z\"},{\"d\":\"M75.5 62.4c1.3 0 3.9-1.1 3.9-4.5s-2.5-3.6-3.2-3.6c-1.5 0-3 1.1-4.3 3.4-1.4 2.3-2.9 4.9-2.9 4.9h-.1c-.3-1.6-.6-3-.7-3.6-.3-1.4-1.9-4.5-5.3-4.5s-6.5 2-6.5 2c-.6.4-1 1-1 1.8 0 1.1.9 2.1 2.1 2.1.3 0 .6-.1.9-.2 0 0 2.6-1.4 3.1 0 .2.4.3.9.5 1.4.7 2.2 1.3 4.9 1.8 7.3L61.5 72s-2.5-.9-3.8-.9-3.9 1.1-3.9 4.5 2.5 3.6 3.2 3.6c1.5 0 3-1.1 4.3-3.4 1.3-2.3 2.8-4.9 2.8-4.9.4 2.1.8 3.8 1 4.5.9 2.4 2.8 3.9 5.4 3.9 0 0 2.7 0 5.8-1.8.8-.3 1.3-1.1 1.3-1.9 0-1.1-.9-2.1-2.1-2.1-.3 0-.6.1-.9.2 0 0-2.3 1.3-3 .3-.6-1-1-2.4-1.4-4.2-.3-1.5-.7-3.3-1.1-5.1l2.3-3.3c.3.1 2.8 1 4.1 1z\"}]},\ntask:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M46.6 23.7l-2.1-2.1c-.6-.6-1.5-.6-2.1 0L29.2 34.8l-5.3-5.3c-.6-.6-1.5-.6-2.1 0l-2.1 2.1c-.6.6-.6 1.5 0 2.1l7.4 7.4c.6.6 1.4.9 2.1.9.8 0 1.5-.3 2.1-.9l15.3-15.3c.5-.5.5-1.5 0-2.1zM77 38H51c-1.1 0-2-.9-2-2v-4c0-1.1.9-2 2-2h26c1.1 0 2 .9 2 2v4c0 1.1-.9 2-2 2zM77 56H45c-1.1 0-2-.9-2-2v-4c0-1.1.9-2 2-2h32c1.1 0 2 .9 2 2v4c0 1.1-.9 2-2 2zM33 56h-4c-1.1 0-2-.9-2-2v-4c0-1.1.9-2 2-2h4c1.1 0 2 .9 2 2v4c0 1.1-.9 2-2 2zM33 74h-4c-1.1 0-2-.9-2-2v-4c0-1.1.9-2 2-2h4c1.1 0 2 .9 2 2v4c0 1.1-.9 2-2 2zM77 74H45c-1.1 0-2-.9-2-2v-4c0-1.1.9-2 2-2h32c1.1 0 2 .9 2 2v4c0 1.1-.9 2-2 2z\"}},\ntask2:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M42.6 71c-1.2 0-2.4-.5-3.3-1.4L20.6 50.9c-.8-.8-.8-2 0-2.8l3.7-3.7c.8-.8 2-.8 2.8 0l15.5 15.4 30.3-30.3c.8-.8 2-.8 2.8 0l3.7 3.7c.8.8.8 2 0 2.8L45.8 69.6c-.9.9-2 1.4-3.2 1.4z\"}},\nteam_member:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M57 44H45c-3.3 0-6 2.7-6 6v9c0 1.1.5 2.1 1.2 2.8.7.7 1.7 1.2 2.8 1.2v9c0 3.3 2.7 6 6 6h4c3.3 0 6-2.7 6-6v-9c1.1 0 2.1-.4 2.8-1.2.7-.7 1.2-1.7 1.2-2.8v-9c0-3.3-2.7-6-6-6z\"},{\"d\":\"M36.6 66.7c-.2-.2-.5-.4-.7-.6-1.9-2-3-4.5-3-7.1v-9c0-3.2 1.3-6.2 3.4-8.3.6-.6.1-1.7-.7-1.7H26c-3.3 0-6 2.7-6 6v9c0 1.1.5 2.1 1.2 2.8.7.7 1.7 1.2 2.8 1.2v9c0 3.3 2.7 6 6 6h4c.9 0 1.7-.2 2.4-.5.4-.2.6-.5.6-.9v-5.1c0-.3-.1-.6-.4-.8z\"},{\"d\":\"M76 40h-6-3.6c-.9 0-1.3 1-.7 1.7 2.1 2.2 3.4 5.1 3.4 8.3v9c0 2.6-1 5.1-3 7.1-.2.2-.4.4-.7.6-.2.2-.4.5-.4.8v5.1c0 .4.2.8.6.9.7.3 1.5.5 2.4.5h4c3.3 0 6-2.7 6-6v-9c1.1 0 2.1-.4 2.8-1.2.7-.7 1.2-1.7 1.2-2.8v-9c0-3.3-2.7-6-6-6z\"}],\"circle\":[{\"cx\":\"51\",\"cy\":\"33\",\"r\":\"7\"},{\"cx\":\"32\",\"cy\":\"29\",\"r\":\"7\"},{\"cx\":\"70\",\"cy\":\"29\",\"r\":\"7\"}]},\ntemplate:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M73.8 20H26.2c-3.4 0-6.2 2.8-6.2 6.2v47.6c0 3.4 2.8 6.2 6.2 6.2h47.6c3.4 0 6.2-2.8 6.2-6.2V26.2c0-3.4-2.8-6.2-6.2-6.2zM42.3 69.1c0 .8-.8 1.4-1.6 1.4H30.4c-.8 0-1.4-.8-1.4-1.6V48.8c0-.8.8-1.4 1.6-1.4H41c.8 0 1.4.8 1.4 1.6v20.1zm28.4.2c0 .8-.8 1.4-1.6 1.4H49.9c-.8 0-1.4-.8-1.4-1.6V48.8c0-.8.8-1.4 1.6-1.4h19.3c.8 0 1.4.8 1.4 1.6v20.3zm.2-29.4c0 .8-.8 1.4-1.6 1.4H30.4c-.8 0-1.4-.8-1.4-1.6v-9c0-.8.8-1.4 1.6-1.4h38.9c.8 0 1.4.8 1.4 1.6v9z\"}},\ntext:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M79.9 77.9c-.3-4.1-.4-8.3-.4-12.4 0-2.1 0-4.1.1-6.2 0-1.9.2-3.8-.5-5.6-1.6-4.1-7-4.9-10.9-4.9-2 0-4 .3-6 .8-1.4.4-2.8.9-4 1.5l1.3 3.2c.3.6.4 1.3.5 1.9 2.6-1.2 5.2-1.9 7.8-1.9 4.1 0 6.1 1.6 6.1 4.8v1.5c-.6 0-1.6-.1-2.9-.1-5.2 0-9.1.8-11.9 2.3-2.7 1.6-4.1 4.3-4.1 8.2 0 2.9.9 5.2 2.7 6.8 1.8 1.6 4.1 2.4 6.8 2.4 2.4 0 4.4-.3 5.9-1s2.8-1.7 3.8-3.1h.2c.1.7.2 1.8.5 3.4 0 .1 4.5 0 5 0 .1-.7 0-1.1 0-1.6zM74 67.8c0 .7-.1 1.4-.4 2.1-.2.5-.4 1-.8 1.5-1.2 1.7-3.3 2.6-5.3 3-1.3.2-2.5.1-3.8-.1-1-.2-2-.7-2.5-1.6-.9-1.4-.7-3.6.3-4.9.6-.8 1.5-1.3 2.4-1.6 2.5-.8 5.4-.8 7.9-.8l2.2.1v2.3zM54.9 56.3L40.7 21.1c-.2-.7-.8-1.1-1.5-1.1h-4.5c-.7 0-1.4.5-1.6 1.1l-13 35.2c-.3.7.2 1.5.9 1.5h5c.7 0 1.4-.6 1.6-1.3l3.3-9.2h12.8l3.7 9.2c.2.7.9 1.3 1.6 1.3h4.9c.8 0 1.4-.8 1-1.5zM33.5 40.4l3.7-9.6 4.1 9.6h-7.8z\"}},\ntext_template:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M42.5 63.8v-.2c.2-3.4 3-6.1 6.5-6.1h8.4c-1.4-2.4-1.1-5.5.9-7.7l.2-.2 2-1.9c1.1-1.2 2.7-1.9 4.3-2V25c0-2.7-2.2-5-5-5H25.1c-2.7 0-5 2.2-5 5v34.8c0 2.7 2.2 5 5 5h17.4v-1zM27.6 27.7c0-.7.5-1.2 1.2-1.2h7.5c.7 0 1.2.5 1.2 1.2v3.5c0 .7-.5 1.2-1.2 1.2h-7.5c-.7 0-1.2-.5-1.2-1.2v-3.5zm0 10.9c0-.7.5-1.2 1.2-1.2h27.3c.7 0 1.2.5 1.2 1.2v3.5c0 .7-.5 1.2-1.2 1.2H28.9c-.7 0-1.2-.5-1.2-1.2v-3.5zm0 14.4v-3.5c0-.7.5-1.2 1.2-1.2h22.4c.7 0 1.2.5 1.2 1.2V53c0 .7-.5 1.2-1.2 1.2H28.9c-.8.1-1.3-.4-1.3-1.2z\"},{\"d\":\"M66.3 51.1l-.1-.1c-.6-.5-1.5-.5-2 .1l-2.1 2c-.5.6-.5 1.5 0 2l5.5 5.5c.2.2.3.4.3.7 0 .6-.4 1-1 1H49c-.8 0-1.4.6-1.5 1.4v3c.1.8.7 1.4 1.5 1.6h17.9c.2 0 .4.1.5.2.4.3.5 1 .2 1.4l-5.5 5.5c-.5.6-.5 1.5 0 2l2 2.1c.6.5 1.5.5 2 0l13.2-13.2c.5-.6.5-1.5 0-2l-13-13.2z\"}]},\ntextarea:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M74 80H26c-3.3 0-6-2.7-6-6V26c0-3.3 2.7-6 6-6h48c3.3 0 6 2.7 6 6v48c0 3.3-2.7 6-6 6zM28.1 30v40c0 1.1.9 2 2 2H70c1.1 0 2-.9 2-2V30c0-1.1-.9-2-2-2H30.1c-1.1 0-2 .9-2 2z\"},{\"d\":\"M61.9 51.2c1 0 2 .9 2 2v8.7c0 1.1-.9 2-2 2h-9.2c-1.1 0-2-.9-2-2 0-.7.3-1.3.8-1.8l1.9-1.9c1.3-1.2 2.7-2.4 4-3.6.9-.8 1.8-1.7 2.8-2.5.3-.2.5-.5.8-.6.3-.2.6-.3.9-.3z\"}]},\ntextbox:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M74 80H26c-3.3 0-6-2.7-6-6V26c0-3.3 2.7-6 6-6h48c3.3 0 6 2.7 6 6v48c0 3.3-2.7 6-6 6zM28.1 30v40c0 1.1.9 2 2 2H70c1.1 0 2-.9 2-2V30c0-1.1-.9-2-2-2H30.1c-1.1 0-2 .9-2 2z\"},{\"d\":\"M36.2 61.9V38.1c0-1.1.9-2 2-2h4c1.1 0 2 .9 2 2v23.8c0 1.1-.9 2-2 2h-4c-1.1 0-2-.9-2-2z\"}]},\nthanks:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M74 35h-8.7c2.5-3.9 2.3-9.1-.8-12.3-1.7-1.7-4-2.7-6.4-2.7-2.6 0-5.2 1.2-7.1 3.2-.4.4-.7.8-1 1.3-.3-.5-.6-.9-1-1.3-1.9-2.1-4.5-3.2-7.1-3.2-2.4 0-4.6 1-6.3 2.7-3.1 3.2-3.3 8.4-.8 12.3H26c-3.3 0-6 2.7-6 6v4c0 1.1.9 2 2 2h56c1.1 0 2-.9 2-2v-4c0-3.3-2.7-6-6-6zm-27 0c-2.1 0-5.1-.8-6.8-2.6-1.5-1.6-1.7-4.2-.3-5.5.7-.7 1.4-.8 2-.8 1 0 2 .5 2.7 1.3 1.7 1.9 2.4 5.1 2.4 7.1v.5zm12.8-2.6C58.1 34.2 55.1 35 53 35v-.6c0-2 .7-5.2 2.4-7.1.8-.8 1.8-1.3 2.7-1.3.5 0 1.3.1 2 .8 1.3 1.4 1.2 3.9-.3 5.6zM74 53H53v27h17.2c3.2 0 5.8-2.6 5.8-5.8V55c0-1.1-.9-2-2-2zM24 55v19c0 3.3 2.7 6 6 6h17V53H26c-1.1 0-2 .9-2 2z\"}},\nthanks_loading:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"opacity\":\".5\",\"d\":\"M74 35h-8.7c2.5-3.9 2.3-9.1-.8-12.3-1.7-1.7-4-2.7-6.4-2.7-2.6 0-5.2 1.2-7.1 3.2-.4.4-.7.8-1 1.3-.3-.5-.6-.9-1-1.3-1.9-2.1-4.5-3.2-7.1-3.2-2.4 0-4.6 1-6.3 2.7-3.1 3.2-3.3 8.4-.8 12.3H26c-3.3 0-6 2.7-6 6v4c0 1.1.9 2 2 2h56c1.1 0 2-.9 2-2v-4c0-3.3-2.7-6-6-6zm-27 0c-2.1 0-5.1-.8-6.8-2.6-1.5-1.6-1.7-4.2-.3-5.5.7-.7 1.4-.8 2-.8 1 0 2 .5 2.7 1.3 1.7 1.9 2.4 5.1 2.4 7.1v.5zm12.8-2.6C58.1 34.2 55.1 35 53 35v-.6c0-2 .7-5.2 2.4-7.1.8-.8 1.8-1.3 2.7-1.3.5 0 1.3.1 2 .8 1.3 1.4 1.2 3.9-.3 5.6zM74 53H53v27h17.2c3.2 0 5.8-2.6 5.8-5.8V55c0-1.1-.9-2-2-2zM24 55v19c0 3.3 2.7 6 6 6h17V53H26c-1.1 0-2 .9-2 2z\"}},\ntimesheet:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M70.9 20H29.1c-4.3 0-7.8 3.5-7.8 7.8v44.3c0 4.3 3.5 7.8 7.8 7.8h41.7c4.3 0 7.8-3.5 7.8-7.8V27.8c.1-4.3-3.4-7.8-7.7-7.8zm-2.6 47c0 1.4-1.2 2.6-2.6 2.6H34.3c-1.4 0-2.6-1.2-2.6-2.6v-2.6c0-1.4 1.2-2.6 2.6-2.6h31.3c1.4 0 2.6 1.2 2.6 2.6V67zm0-15.7c0 1.4-1.2 2.6-2.6 2.6H34.3c-1.4 0-2.6-1.2-2.6-2.6v-2.6c0-1.4 1.2-2.6 2.6-2.6h31.3c1.4 0 2.6 1.2 2.6 2.6v2.6zm0-15.6c0 1.4-1.2 2.6-2.6 2.6H34.3c-1.4 0-2.6-1.2-2.6-2.6V33c0-1.4 1.2-2.6 2.6-2.6h31.3c1.4 0 2.6 1.2 2.6 2.6v2.7z\"}},\ntimesheet_entry:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M70.9 20H29.1c-4.3 0-7.8 3.5-7.8 7.8v44.3c0 4.3 3.5 7.8 7.8 7.8h41.7c4.3 0 7.8-3.5 7.8-7.8V27.8c.1-4.3-3.4-7.8-7.7-7.8zm-2.6 47c0 1.4-1.2 2.6-2.6 2.6H34.3c-1.4 0-2.6-1.2-2.6-2.6v-2.6c0-1.4 1.2-2.6 2.6-2.6h31.3c1.4 0 2.6 1.2 2.6 2.6V67zM40.9 50l1.4-1.4c.4-.4 1-.4 1.4 0l3.6 3.6 9-9c.4-.4 1-.4 1.4 0l1.4 1.4c.3.4.3 1.1 0 1.4L48.8 56.5c-.4.4-.9.6-1.4.6-.5 0-1-.2-1.4-.6l-5-5c-.5-.5-.5-1.1-.1-1.5zm27.4-14.3c0 1.4-1.2 2.6-2.6 2.6H34.3c-1.4 0-2.6-1.2-2.6-2.6V33c0-1.4 1.2-2.6 2.6-2.6h31.3c1.4 0 2.6 1.2 2.6 2.6v2.7z\"}},\ntimeslot:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M70.95 20H29.19a7.93 7.93 0 00-8 7.81v44.38A7.9 7.9 0 0029.05 80h41.9a7.9 7.9 0 007.83-7.81V27.81A7.73 7.73 0 0070.95 20zM31.8 33a2.7 2.7 0 012.61-2.6h13.32a2.7 2.7 0 012.61 2.6v2.6a2.7 2.7 0 01-2.61 2.6H34.41a2.7 2.7 0 01-2.61-2.6zM68 67a2.7 2.7 0 01-2.61 2.6H52.17a2.7 2.7 0 01-2.61-2.6v-2.6a2.7 2.7 0 012.61-2.6h13.32A2.58 2.58 0 0168 64.38zm.51-12.39a2.83 2.83 0 01-2.75 2.6H34.41a2.7 2.7 0 01-2.61-2.6v-9.07a2.7 2.7 0 012.61-2.6h31.45a2.7 2.7 0 012.61 2.6z\",\"fill-rule\":\"evenodd\"}},\ntoday:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M50 20c-16.5 0-30 13.5-30 30s13.5 30 30 30 30-13.5 30-30-13.5-30-30-30zm0 54c-13.2 0-24-10.8-24-24s10.8-24 24-24 24 10.8 24 24-10.8 24-24 24z\"},{\"d\":\"M53 48.8V36c0-1.1-.9-2-2-2h-2c-1.1 0-2 .9-2 2v14c0 .8.3 1.6.9 2.1l9.6 9.6c.8.8 2 .8 2.8 0l1.4-1.4c.8-.8.8-2 0-2.8L53 48.8z\"}]},\ntoggle:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M20 33.34a13.43 13.43 0 0113-13.43h33.56a13.45 13.45 0 010 26.89H33a13.44 13.44 0 01-13-13.46zm13.44 7.53a7.53 7.53 0 10-7.52-7.53 7.58 7.58 0 007.52 7.53zM20 66.46A13.44 13.44 0 0133 53h33.56a13.45 13.45 0 010 26.89H33a13.43 13.43 0 01-13-13.43zM67.06 57H32.94a9.53 9.53 0 000 19h34.12a9.53 9.53 0 000-19zm-.5 16a6.53 6.53 0 116.52-6.52A6.58 6.58 0 0166.56 73z\"}},\ntopic:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M61.4 37.2c.2.7.7 1.2 1.4 1.4l2.2.6c.4.1.9-.1 1.1-.5l4.7-8.1c1.1-1.9.5-2.6-1.5-1.5l-8.1 4.7c-.4.2-.6.7-.5 1.1l.7 2.3zM33.9 38.7c.2.4.7.6 1.1.5l2.2-.6c.7-.2 1.2-.7 1.4-1.4l.6-2.2c.1-.4-.1-.9-.5-1.1l-8.1-4.7c-1.9-1.1-2.6-.5-1.5 1.5l4.8 8zM66.1 61.3c-.2-.4-.7-.6-1.1-.5l-2.2.6c-.7.2-1.2.7-1.4 1.4l-.6 2.2c-.1.4.1.9.5 1.1l8.1 4.7c1.9 1.1 2.6.5 1.5-1.5l-4.8-8zM38.6 62.8c-.2-.7-.7-1.2-1.4-1.4l-2.2-.6c-.4-.1-.9.1-1.1.5l-4.7 8.1c-1.1 1.9-.5 2.6 1.5 1.5l8.1-4.7c.4-.2.6-.7.5-1.1l-.7-2.3z\"},{\"d\":\"M78.4 49l-20.5-5.5c-.7-.2-1.2-.7-1.4-1.4L51 21.6c-.6-2.1-1.5-2.1-2.1 0l-5.5 20.5c-.2.7-.7 1.2-1.4 1.4L21.6 49c-2.1.6-2.1 1.5 0 2.1l20.5 5.5c.7.2 1.2.7 1.4 1.4L49 78.4c.6 2.1 1.5 2.1 2.1 0l5.5-20.5c.2-.7.7-1.2 1.4-1.4L78.4 51c2.1-.5 2.1-1.5 0-2zM50 55c-2.8 0-5-2.2-5-5s2.2-5 5-5 5 2.2 5 5-2.2 5-5 5z\"}]},\ntopic2:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M78.2 34.3h-7.9l3.4-13V21c0-.5-.4-1-1-1h-6.3c-.5 0-.9.4-1 .8L62 34.3H46.2l3.4-13V21c0-.5-.4-1-1-1h-6.3c-.5 0-.9.4-1 .8l-3.5 13.4H29c-.5 0-.8.3-1 .7l-1.6 6v.2c0 .5.4 1 1 1h8.3l-3.9 15.2h-8.5c-.5 0-.8.3-1 .7l-1.6 6v.2c0 .5.4 1 1 1h8l-3.4 13.2v.2c0 .5.4 1 1 1h6.3c.5 0 .9-.3 1-.8l3.5-13.7h15.7l-3.4 13.2v.2c0 .5.4 1 1 1h6.3c.5 0 .9-.3 1-.8L62.2 65h8.7c.5 0 .9-.3 1-.8l1.6-6V58c0-.5-.4-1-1-1h-8.2l3.9-15.2h8.4c.5 0 .9-.3 1-.8l1.6-6v-.2c0-.1-.5-.5-1-.5zM56 57.5H40.2l3.9-15.2h15.7L56 57.5z\"}},\ntrailhead:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M32.7 63.8l-3.2 3.7h6.4zM35.7 71.4h6.4l-3.2-3.7zM61.3 68.8l3.2-3.7 3.2 3.7z\"},{\"d\":\"M50.9 20.2c-.5-.3-1.2-.3-1.7 0C31.3 27.8 19.8 45.5 20.1 65v4.3c0 .7.3 1.3.9 1.7 8.6 5.7 18.8 8.9 29.1 9h1.1c9.9-.4 19.6-3.4 27.8-9 .5-.4.9-1 .9-1.7V65c.5-19.5-11-37.2-29-44.8zM34.7 36c7.3-8.6 15.4-11.5 15.4-11.5 1.7.8 21.2 8.4 25.2 33h-5.1l-9.8-14.1c-.7-.9-2-1.2-3-.5-.3.1-.4.4-.5.5L54.4 47l-6.9-9.9c-.7-.9-2-1.2-3-.5-.3.1-.4.4-.5.5L30.1 57.4l-5.1.2c1.5-9.4 5.4-16.4 9.7-21.6zM65 57.6H52.3l3.3-4.7 3-4.4 6.4 9.1zm-18-14l5 7.2-4.7 6.7H35.2l5.1-7.6 5.4-8 1.3 1.7zm4.8 29L50 75.8c-3.7 0-7.1-.5-11-1.4-5.1-1.3-10.1-3.4-14.5-6.1v-3.1c0-1 0-2.1.1-3.3h22.1c-1.7 2.6-.9 6.1 1.8 7.7.3.1.5.3.7.4l2 .9c.6.2.8 1 .6 1.7zm24-4.5c-3.3 2-6.7 3.7-10.2 4.8 0 0-.7.3-.9.3-2 .7-4 1.2-6.1 1.6-1.2.3-2.4.4-3.5.5l.4-.7c1.6-2.7.7-6.1-2.1-7.7-.1-.1-.4-.1-.5-.3l-2-.9c-.7-.3-1-1-.7-1.7 0-.1.1-.3.1-.3l1.8-2.1h23.5c0 1 .1 2.1.1 3.3v3.2z\"}]},\ntrailhead_alt:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M45.27 62.76c-.05.11-.1.2-.14.31a8.62 8.62 0 003 9.82c2 1.54 2.37 2.19 2.17 3.65A9.38 9.38 0 0148.94 80 55.9 55.9 0 0120 70.79v-4.62c0-1.15.06-2.28.13-3.41h25.14zm34.6 0c.07 1.13.13 2.26.13 3.41v4.62a56.27 56.27 0 01-25.39 9 12.2 12.2 0 00.68-2.54c.66-4.66-2.29-7-4.06-8.33a3.59 3.59 0 01-1.4-4.07A9.85 9.85 0 0151 62.76h28.87zM45.62 42l5.5 8.1-5.19 7.65h-11zM50 20a49 49 0 0129.35 37.73H72L61 41.61a2.61 2.61 0 00-4.16 0l-2.72 4-6.42-9.51a2.61 2.61 0 00-4.16 0l-14.7 21.63h-8.19A49 49 0 0150 20zm9 27.5l6.95 10.23H52z\",\"fill-rule\":\"evenodd\"}},\ntravel_mode:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"mask\":{\"id\":\"ooa\",\"height\":\"60\",\"maskUnits\":\"userSpaceOnUse\",\"width\":\"60\",\"x\":\"20\",\"y\":\"20\",\"path\":{\"d\":\"M20 20h60v60H20z\",\"fill-rule\":\"evenodd\"}},\"g\":{\"mask\":\"url(#ooa)\",\"path\":{\"d\":\"M53.77 72.12C54 59.88 62.25 50 72.49 50a22.49 22.49 0 01-18.66 22.12M27.49 50C37.75 50 46 59.88 46.16 72.12A22.5 22.5 0 0127.49 50M50 27.51a22.44 22.44 0 0121.12 15H28.88a22.44 22.44 0 0121.12-15M50 20a30 30 0 1030 30 30 30 0 00-30-30\",\"fill-rule\":\"evenodd\"}}},\nunmatched:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M65.7 46.8c-.1-.5-.5-.8-1-.8H35.3c-.5 0-.9.3-1 .8-.2 1-.3 2.1-.3 3.2s.1 2.2.3 3.2c.1.5.5.8 1 .8h29.4c.5 0 .9-.3 1-.8.2-1 .3-2.1.3-3.2s-.1-2.2-.3-3.2z\"},{\"d\":\"M50 20c-16.5 0-30 13.5-30 30s13.5 30 30 30 30-13.5 30-30-13.5-30-30-30zm0 52c-12.1 0-22-9.9-22-22s9.9-22 22-22 22 9.9 22 22-9.9 22-22 22z\"}]},\nuser:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M80 71.2V74c0 3.3-2.7 6-6 6H26c-3.3 0-6-2.7-6-6v-2.8c0-7.3 8.5-11.7 16.5-15.2.3-.1.5-.2.8-.4.6-.3 1.3-.3 1.9.1C42.4 57.8 46.1 59 50 59c3.9 0 7.6-1.2 10.8-3.2.6-.4 1.3-.4 1.9-.1.3.1.5.2.8.4 8 3.4 16.5 7.8 16.5 15.1z\"},\"ellipse\":{\"cx\":\"50\",\"cy\":\"36.5\",\"rx\":\"14.9\",\"ry\":\"16.5\"}},\nuser_role:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M44 63.3c0-3.4 1.1-7.2 2.9-10.2 2.1-3.7 4.5-5.2 6.4-8 3.1-4.6 3.7-11.2 1.7-16.2-2-5.1-6.7-8.1-12.2-8s-10 3.5-11.7 8.6c-2 5.6-1.1 12.4 3.4 16.6 1.9 1.7 3.6 4.5 2.6 7.1-.9 2.5-3.9 3.6-6 4.6-4.9 2.1-10.7 5.1-11.7 10.9-1 4.7 2.2 9.6 7.4 9.6H48c1 0 1.6-1.2 1-2-3.2-3.6-5-8.2-5-13zm20-15c-8.2 0-15 6.7-15 15s6.7 15 15 15 15-6.7 15-15-6.7-15-15-15zm2.6 16.4c-.4 0-.9-.1-1.2-.2l-5.7 5.7c-.4.4-.9.5-1.2.5-.5 0-.9-.1-1.2-.5-.6-.6-.6-1.7 0-2.5L63 62c-.1-.4-.2-.7-.2-1.2-.2-2.6 1.9-5 4.5-5 .4 0 .9.1 1.2.2.2 0 .2.2.1.4L66 58.9c-.2.1-.2.5 0 .6l1.7 1.7c.2.2.5.2.7 0l2.5-2.5c.1-.1.4-.1.4.1.1.4.2.9.2 1.2.1 2.8-2.1 4.9-4.9 4.7z\"}},\nvariable:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M70.9 39.7c3.1 0 9.1-2.5 9.1-10.6s-5.8-8.5-7.6-8.5c-3.6 0-7.1 2.6-10.2 7.9C59.1 34 55.6 40 55.6 40h-.1c-.8-3.8-1.4-7-1.7-8.4-.6-3.3-4.5-10.6-12.5-10.6S26 25.6 26 25.6c-1.4.9-2.3 2.4-2.3 4.1 0 2.7 2.2 4.9 4.9 4.9.8 0 1.5-.2 2.1-.5 0 0 6.1-3.4 7.4 0 .4 1 .7 2.2 1.1 3.4 1.6 5.2 3 11.4 4.2 17l-5.2 7.6s-5.9-2.1-9-2.1S20 62.5 20 70.6s5.8 8.5 7.6 8.5c3.6 0 7.1-2.6 10.2-7.9 3.1-5.5 6.6-11.5 6.6-11.5 1 5 1.9 9 2.4 10.6 2 5.7 6.6 9.1 12.7 9.1 0 0 6.3 0 13.7-4.2 1.8-.7 3.1-2.5 3.1-4.5 0-2.7-2.2-4.9-4.9-4.9-.8 0-1.5.2-2.1.5 0 0-5.3 3-7.1.6-1.3-2.5-2.4-5.7-3.2-9.7-.8-3.6-1.7-7.8-2.5-11.9l5.3-7.7c.1 0 6 2.1 9.1 2.1z\"}},\nvariation_attribute_setup:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M46.8 23.1a1.66 1.66 0 00-1.8 1.7V52a1.53 1.53 0 001.7 1.7h.1a1.58 1.58 0 001.7-1.7V24.7a1.55 1.55 0 00-1.7-1.6zM29.3 23.1h-6.7a1.58 1.58 0 00-1.7 1.7V52a1.63 1.63 0 001.7 1.7h6.7A1.58 1.58 0 0031 52V24.7a1.66 1.66 0 00-1.7-1.6zM38.8 23.1h-1.7a1.58 1.58 0 00-1.7 1.7V52a1.53 1.53 0 001.7 1.7h1.7a1.58 1.58 0 001.7-1.7V24.7a1.55 1.55 0 00-1.7-1.6zM71.9 48.1v.2l.1.8a2.09 2.09 0 01.6.4l.9-.5.7-.3.6-.2V24.7a1.58 1.58 0 00-1.7-1.7h-3.4a1.58 1.58 0 00-1.7 1.7v19a5.82 5.82 0 013.9 4.4zM56.6 49l.6.2a4.35 4.35 0 01.7-.4l.1-.7v-.2a6 6 0 015-4.6V24.7a1.66 1.66 0 00-1.7-1.6h-6.7a1.58 1.58 0 00-1.7 1.7v24a6.75 6.75 0 011.4-.2 5.76 5.76 0 012.3.4zM75.5 64.3a14.92 14.92 0 00.2-2.1 14.92 14.92 0 00-.2-2.1l2.3-1.9a2.12 2.12 0 00.5-2.6l-1-1.8a2.23 2.23 0 00-1.8-1c-.2 0-.5.1-.7.1L72 54a10.27 10.27 0 00-3.6-2.1l-.5-2.9a2 2 0 00-2.1-1.5h-2a2.08 2.08 0 00-2.1 1.5l-.5 2.8a10.46 10.46 0 00-3.7 2.1l-2.7-1.1a1.48 1.48 0 00-.7-.1 2.23 2.23 0 00-1.8 1l-1 1.7a2 2 0 00.5 2.6l2.3 1.9a14.92 14.92 0 00-.2 2.1 14.92 14.92 0 00.2 2.1l-2.3 2a2.12 2.12 0 00-.5 2.6l1 1.9a2.23 2.23 0 001.8 1c.2 0 .5-.1.7-.1l2.8-1.1a10.27 10.27 0 003.6 2.1l.5 3a2.06 2.06 0 002.1 1.7h2a2.14 2.14 0 002.1-1.7l.5-3a10 10 0 003.8-2.3l2.6 1.1a1.7 1.7 0 00.7.1 2.23 2.23 0 001.8-1l.9-1.6a2 2 0 00-.4-2.6zm-10.6 4.9a6.8 6.8 0 116.8-6.8 6.81 6.81 0 01-6.8 6.8z\"},{\"d\":\"M64.8 58.7a3.7 3.7 0 103.7 3.7 3.7 3.7 0 00-3.7-3.7z\"}]},\nvariation_products:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M73.9 53.3a1.46 1.46 0 00.9-1.5V24.6a1.58 1.58 0 00-1.7-1.7h-3.4a1.58 1.58 0 00-1.7 1.7v20.8a9 9 0 015.9 7.9zM54.5 53.4h1.4a9.07 9.07 0 017-8.4V24.6a1.58 1.58 0 00-1.7-1.7h-6.7a1.58 1.58 0 00-1.7 1.7v27.2a1.55 1.55 0 001.7 1.6zM38.8 22.9h-1.7a1.58 1.58 0 00-1.7 1.7v27.2a1.53 1.53 0 001.7 1.7h1.7a1.58 1.58 0 001.7-1.7V24.6a1.68 1.68 0 00-1.7-1.7zM29.2 22.9h-6.7a1.58 1.58 0 00-1.7 1.7v27.2a1.63 1.63 0 001.7 1.7h6.7a1.58 1.58 0 001.7-1.7V24.6a1.58 1.58 0 00-1.7-1.7zM46.8 22.9h-.1a1.58 1.58 0 00-1.7 1.7v27.2c-.1.9.6 1.6 1.8 1.6a1.58 1.58 0 001.7-1.7V24.6a1.58 1.58 0 00-1.7-1.7zM60 53.9a4.89 4.89 0 005 5 6.75 6.75 0 001.4-.2l3.5 6.4c.2.3.5.4.7.2a4.37 4.37 0 011.7-.8.55.55 0 00.3-.7L68.9 57a4.89 4.89 0 001.1-3.1 5 5 0 00-10 0zM59.9 60.2a.54.54 0 00-.8.2L55.6 67a1.7 1.7 0 00-.7-.1 4.94 4.94 0 103.4 1.3l3.5-6.4c.1-.1 0-.4-.2-.6a15.05 15.05 0 01-1.7-1zM75.1 67a4.94 4.94 0 00-4.9 4.1h-6.7a.56.56 0 00-.5.6v.5a6.75 6.75 0 01-.2 1.4.5.5 0 00.5.6h7.1a5 5 0 004.6 3 5.1 5.1 0 00.1-10.2z\"}},\nvideo:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M77.57 33.37l-14.11 10.2v-7.24A3.44 3.44 0 0060 32.86H23.46A3.44 3.44 0 0020 36.3v27.37a3.44 3.44 0 003.41 3.47h36.71a3.44 3.44 0 003.47-3.43v-7.1l14 10a1.42 1.42 0 002 0 1.39 1.39 0 00.41-1V34.4a1.42 1.42 0 00-2.43-1.07\"}},\nvisit_templates:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M30 58c-1.1 0-2-.9-2-2v-2c0-1.1.9-2 2-2h20c.5 0 .9.2 1.3.5C54.5 49 59 46.6 64 46.1V26c0-3.3-2.7-6-6-6H26c-3.3 0-6 2.7-6 6v34c0 3.3 2.7 6 6 6h20c0-2.8.6-5.5 1.7-8H30zm-2-28c0-1.1.9-2 2-2h20c1.1 0 2 .9 2 2v2c0 1.1-.9 2-2 2H30c-1.1 0-2-.9-2-2v-2zm0 12c0-1.1.9-2 2-2h24c1.1 0 2 .9 2 2v2c0 1.1-.9 2-2 2H30c-1.1 0-2-.9-2-2v-2z\"},{\"d\":\"M66 52c-7.7 0-14 6.3-14 14s6.3 14 14 14 14-6.3 14-14-6.3-14-14-14zm7.9 10.5L65 72.2c-.4.4-.8.6-1.4.6-.5 0-1-.2-1.4-.6l-4.8-4.7c-.4-.4-.4-1 0-1.3l1.4-1.3c.4-.4 1-.4 1.4 0l3.4 3.4 7.5-8.4c.4-.4 1-.4 1.4 0l1.4 1.3c.3.3.3 1 0 1.3z\"}]},\nvisits:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M50.6 52.9c2.6-3.7 5.3-5.6 7.1-8.4 3.2-4.8 3.9-11.6 1.8-16.8-2.1-5.3-7-8.4-12.7-8.3S36.5 23 34.7 28.3c-2.1 5.8-1.2 12.8 3.5 17.2 1.9 1.8 3.7 4.7 2.7 7.4-.9 2.6-4 3.7-6.2 4.8-5 2.2-11.1 5.3-12.1 11.2-1 4.9 2.3 10 7.6 10h23.3c1 0 1.9-1.2 1.3-1.9-3.2-3.7-6.6-8.7-6.6-13.6-.3-3.5.7-7.4 2.4-10.5zm14.2 13.5c-2.7 0-5-2.2-5-4.9s2.2-4.9 5-4.9c2.7 0 5 2.2 5 4.9.1 2.7-2.3 4.9-5 4.9zm0-16.8c-6.6 0-11.9 5.3-11.9 11.9 0 8.1 8.5 15.8 11.1 17.7.4.4 1 .4 1.6 0 2.6-2.1 11.1-9.6 11.1-17.7 0-6.6-5.3-11.9-11.9-11.9z\"}},\nvisualforce_page:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M55.4 53.6c-.6 0-1.2-.5-1.2-1.2v-7.3c0-.6.5-1.2 1.2-1.2h7.5c.6 0 1.2.5 1.2 1.2v7.3c0 .6-.5 1.2-1.2 1.2h-7.5zM58.6 57.9l-4.3 4.7c-.3.3-.3.7 0 1l4.3 4.7c.3.3.8.3 1.1 0l4.3-4.7c.3-.3.3-.7 0-1l-4.3-4.7c-.3-.3-.8-.3-1.1 0z\"},{\"d\":\"M36.4 45.6l3.8-2.2c.3-.2.8-.2 1.1 0l3.8 2.2c.3.2.6.6.6 1v4.3c0 .4-.2.8-.6 1l-3.8 2.2c-.3.2-.8.2-1.1 0l-3.8-2.2c-.3-.2-.6-.6-.6-1v-4.3c0-.4.2-.8.6-1z\"},{\"d\":\"M73.8 20H26.2c-3.4 0-6.2 2.8-6.2 6.2v47.6c0 3.4 2.8 6.2 6.2 6.2h47.6c3.4 0 6.2-2.8 6.2-6.2V26.2c0-3.4-2.8-6.2-6.2-6.2zm0 51.7c0 1.2-.9 2.1-2.1 2.1H28.3c-1.1 0-2.1-.9-2.1-2.1V38.2h47.6v33.5zm0-39.5H26.2v-3.9c0-1.2.9-2.1 2.1-2.1h43.4c1.1 0 2.1.9 2.1 2.1v3.9z\"}],\"circle\":{\"cx\":\"40.7\",\"cy\":\"63\",\"r\":\"4.9\"}}},\nvoice_call:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M77.7 63.9l-6.2-5c-2.1-1.7-5.1-1.8-7.3-.2L58.3 63c-.8.6-1.9.5-2.6-.2L46 54l-8.9-9.8c-.7-.7-.8-1.8-.2-2.6l4.3-5.9c1.6-2.2 1.5-5.2-.2-7.3l-5-6.2c-2.2-2.8-6.4-3-8.9-.5l-5.4 5.4c-1.2 1.2-1.8 2.9-1.8 4.5.7 12.7 6.5 24.8 15 33.3s20.5 14.3 33.3 15c1.7.1 3.3-.6 4.5-1.8l5.4-5.4c2.7-2.4 2.4-6.6-.4-8.8z\"}},\nwaits:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M80 40.5c0-1-.9-1.9-1.9-1.9H51.9c-1 0-1.9.9-1.9 1.9v3.7c0 1 .9 1.9 1.9 1.9h17.8L50.4 69.8s0 .1-.1.1c-.2.3-.4.7-.4 1.1v3.7c0 1 .9 1.9 1.9 1.9h26.3c1 0 1.9-.9 1.9-1.9V71c0-1-.9-1.9-1.9-1.9H60.6l19-23.3c.3-.4.4-.8.3-1.3v-4z\"},{\"d\":\"M50 25.3c0-1-.9-1.9-1.9-1.9H21.9c-1 0-1.9.9-1.9 1.9V29c0 1 .9 1.9 1.9 1.9h17.8L20.4 54.6s0 .1-.1.1c-.2.3-.3.6-.3 1v3.7c0 1 .9 1.9 1.9 1.9h26.3c1 0 1.9-.9 1.9-1.9v-3.7c0-1-.9-1.9-1.9-1.9H30.6l19-23.3c.3-.4.4-.8.3-1.3V25.3z\"}]},\nwarranty_term:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M50 20c3.79 0 6.79 4.11 10.11 5.53s8.52.63 11 3.31 1.89 7.58 3.31 11.05S80 46.21 80 50s-4.11 6.79-5.53 10.11-.63 8.52-3.31 11c-2.53 2.52-7.58 1.89-11 3.31S53.79 80 50 80s-6.79-4.11-10.11-5.53-8.52-.63-11-3.31c-2.52-2.53-1.89-7.58-3.31-11S20 53.79 20 50s4.11-6.79 5.53-10.11.63-8.52 3.31-11 7.58-1.89 11.05-3.36S46.21 20 50 20zm0 9.47A20.53 20.53 0 1070.53 50 20.59 20.59 0 0050 29.47zm9.52 11.44l2 1.9a1.55 1.55 0 010 1.89L48.78 58.84a2.55 2.55 0 01-2 .88 2.76 2.76 0 01-2-.88L37.9 52a1.26 1.26 0 010-1.89l2-1.9a1.37 1.37 0 012 0l4.87 5 10.75-12.3a1.37 1.37 0 012 0z\"}},\nwebcart:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":{\"d\":\"M42.4 50h29.5c.9 0 1.7-.6 1.9-1.5l5.4-19c.4-1.3-.6-2.5-1.9-2.5H31.7l-.8-2.8c-.4-1.3-1.6-2.2-2.9-2.2h-4.8c-1.6 0-3.1 1.2-3.2 2.8-.1 1.7 1.3 3.2 3 3.2h2.8l9.4 31.8c.4 1.3 1.5 2.2 2.9 2.2h34.8c1.6 0 3.1-1.2 3.2-2.8.1-1.7-1.3-3.2-3-3.2H42.5c-1.3 0-2.5-.9-2.8-2.1v-.1c-.7-1.9.8-3.8 2.7-3.8z\"},\"circle\":[{\"cx\":\"43\",\"cy\":\"73\",\"r\":\"5\"},{\"cx\":\"67\",\"cy\":\"73\",\"r\":\"5\"}]}},\nwork_capacity_limit:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M75.9 29.3l-9-8.9c-.3-.3-.6-.4-.9-.4-.8 0-1.4.6-1.4 1.4v6.4c.1 2.1 1.8 3.8 3.9 3.8h6.4c.7 0 1.3-.6 1.3-1.3 0-.4-.1-.7-.3-1zM29.6 62.6v-31c-3.2 0-5.8 2.6-5.8 5.8v36.7c0 3.2 2.6 5.8 5.8 5.9h29.2c3.2 0 5.7-2.5 5.8-5.7H41.3c-6.4 0-11.7 0-11.7-11.7zM51.5 44.3v9H60s.5-3.2-2.4-6.2c-2.9-2.9-6.1-2.8-6.1-2.8z\"},{\"d\":\"M74.2 37.4h-9.8c-3.2.1-5.8-2.5-5.9-5.7V21.9c.1-1-.7-1.8-1.7-1.9H41.2c-3.2-.1-5.8 2.5-5.9 5.7V62.5c0 3.2 2.6 5.8 5.8 5.8H70.3c3.2.1 5.8-2.5 5.9-5.7V39.4c0-1.1-.8-2-2-2zM63.5 53c-.1 6.5-5.4 11.8-11.9 11.7s-11.8-5.4-11.7-11.9c.1-6.5 5.4-11.8 11.9-11.7 6.5 0 11.7 5.4 11.7 11.9z\"}]}},\nwork_capacity_usage:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"g\":{\"path\":[{\"d\":\"M39 32h22c1.1 0 2-.9 2-2v-4c0-3.3-2.7-6-6-6H43c-3.3 0-6 2.7-6 6v4c0 1.1.9 2 2 2zM49.8 48.4v11.4h10.7s.6-4-3.1-7.8-7.6-3.6-7.6-3.6z\"},{\"d\":\"M72 25h-2c-.6 0-1 .4-1 1v4c0 4.4-3.6 8-8 8H39c-4.4 0-8-3.6-8-8v-4c0-.6-.4-1-1-1h-2c-3.3 0-6 2.7-6 6v43c0 3.3 2.7 6 6 6h44c3.3 0 6-2.7 6-6V31c0-3.3-2.7-6-6-6zm-7.1 34.3c-.1 8.2-6.8 14.9-15 14.8-8.2-.1-14.9-6.8-14.8-15 .1-8.2 6.8-14.9 15-14.8 8.2 0 14.8 6.8 14.8 15z\"}]}},\nwork_contract:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M56.3 34h9.1a1.16 1.16 0 001.2-1.2 1.09 1.09 0 00-.4-.9L55 20.6a1.27 1.27 0 00-.9-.4 1.16 1.16 0 00-1.2 1.2v9.1a3.6 3.6 0 003.4 3.5zM63.9 55.2a12.3 12.3 0 1012.3 12.3 12.29 12.29 0 00-12.3-12.3zM66 68.6c-.4 0-.7-.1-1-.1l-4.7 4.6a1.22 1.22 0 01-1 .5 1.28 1.28 0 01-1-.4 1.66 1.66 0 010-2.1l4.7-4.7a2.79 2.79 0 01-.1-1 3.85 3.85 0 013.7-4.1c.4 0 .7.1 1 .1.1 0 .1.1.1.4l-2.1 2.1a.45.45 0 000 .5l1.5 1.5a.63.63 0 00.6 0l2.1-2.1c.1-.1.4-.1.4.1a3.75 3.75 0 01.1 1 4 4 0 01-4.3 3.7z\"},{\"d\":\"M51.6 56.6c4.3-5 11.3-5.3 12.3-5.3s2.7-.1 2.6-1.5 0-8.9 0-8.9a1.63 1.63 0 00-1.7-1.7h-12a5.12 5.12 0 01-5.1-5.1v-12a1.63 1.63 0 00-1.7-1.7H29a5.26 5.26 0 00-5.1 5.1v41.1a5.12 5.12 0 005.1 5.1h17.4s1.7-1 1.6-2.4-.6-7.8 3.6-12.7zM36 24.9a3.7 3.7 0 11-3.7 3.7 3.69 3.69 0 013.7-3.7zm-5.7 12.9a5.62 5.62 0 015.6-4.8h.2a5.62 5.62 0 015.6 4.8.9.9 0 01-1 .9h-9.6c-.8 0-.8-.5-.8-.9zm15 21.9a1.63 1.63 0 01-1.7 1.7H32.4a1.63 1.63 0 01-1.7-1.7V58a1.63 1.63 0 011.7-1.7h11.2a1.63 1.63 0 011.7 1.7zm-12.9-8.6a1.63 1.63 0 01-1.7-1.7v-1.7a1.63 1.63 0 011.7-1.7H53a1.63 1.63 0 011.7 1.7v1.7a1.63 1.63 0 01-1.7 1.7z\"}]},\nwork_forecast:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M77.7 29.2S74.2 22 66.4 22s-11.5 7.4-11.5 7.4a11.67 11.67 0 00-9.9 0S41.4 22 33.6 22s-11.3 7.2-11.3 7.2-7.3 16.3-7.5 30.9C14.6 74.5 24.3 78 28.9 78c5 0 16.8-2.1 16.2-18.5a4.78 4.78 0 014.5-2.7 5.94 5.94 0 015.4 2.7C54.4 75.9 66.2 78 71.1 78c4.5 0 14.3-3.5 14.1-17.9-.2-14.6-7.5-30.9-7.5-30.9zM29.8 71.6a8.7 8.7 0 118.7-8.7 8.71 8.71 0 01-8.7 8.7zm40.4 0a8.7 8.7 0 118.7-8.7 8.71 8.71 0 01-8.7 8.7z\"}},\nwork_order:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M65.2 52.2c-3.6 1.4-5 4.8-5.2 5.3-.3.7-.8.8-.8.8h-18c-.3 0-.6-.4-.8-.7-1.5-3.5-5-6.1-9-6.1-3.7 0-6.9 2-8.6 5-.2.4-.8.5-1.2.2-1-.9-1.6-2.2-1.6-3.6 0 0-.6-11.6 3.3-17.6.7-1 1.2-1.4 2.1-1.4h38c.4 0 .8 0 1.2.3 0 0 4.2 6.4 4.8 7 .5.5 1 .9 2.3 1.2.8.2 8.1 2.8 8.1 2.8.4.2.3.7.3 1.1V53c0 1.4-.4 2.7-1.4 3.6-.4.3-.9.2-1.1-.2-1.7-3-4.8-5-8.5-5-1.5 0-2.7.3-3.9.8\"},\"circle\":[{\"cx\":\"69\",\"cy\":\"61.1\",\"r\":\"4.9\"},{\"cx\":\"31.5\",\"cy\":\"61.1\",\"r\":\"4.9\"}]},\nwork_order_item:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M39 32h22c1.1 0 2-.9 2-2v-4c0-3.3-2.7-6-6-6H43c-3.3 0-6 2.7-6 6v4c0 1.1.9 2 2 2z\"},{\"d\":\"M72 25h-2c-.6 0-1 .4-1 1v4c0 4.4-3.6 8-8 8H39c-4.4 0-8-3.6-8-8v-4c0-.6-.4-1-1-1h-2c-3.3 0-6 2.7-6 6v43c0 3.3 2.7 6 6 6h44c3.3 0 6-2.7 6-6V31c0-3.3-2.7-6-6-6zm-5.2 24L47.6 68.2c-.5.5-1.1.8-1.8.8s-1.4-.3-1.9-.8L33.2 57.5c-.5-.5-.5-1.1 0-1.6l2.1-2.1c.5-.5 1.1-.5 1.6 0l8.8 8.8L63 45.3c.5-.5 1.1-.5 1.6 0l2.1 2.1c.5.5.5 1.2.1 1.6z\"}]},\nwork_plan:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M39 32h22a2 2 0 002-2v-4a6 6 0 00-6-6H43a6 6 0 00-6 6v4a2 2 0 002 2zm33-7h-2a.94.94 0 00-1 1v4a8 8 0 01-8 8H39a8 8 0 01-8-8v-4a.94.94 0 00-1-1h-2a6 6 0 00-6 6v43a6 6 0 006 6h44a6 6 0 006-6V31a6 6 0 00-6-6zM39 68a2 2 0 01-2 2h-2a2 2 0 01-2-2v-2a2 2 0 012-2h2a2 2 0 012 2zm0-10a2 2 0 01-2 2h-2a2 2 0 01-2-2v-2a2 2 0 012-2h2a2 2 0 012 2zm0-10a2 2 0 01-2 2h-2a2 2 0 01-2-2v-2a2 2 0 012-2h2a2 2 0 012 2zm28 20a2 2 0 01-2 2H45a2 2 0 01-2-2v-2a2 2 0 012-2h20a2 2 0 012 2zm0-10a2 2 0 01-2 2H45a2 2 0 01-2-2v-2a2 2 0 012-2h20a2 2 0 012 2zm0-10a2 2 0 01-2 2H45a2 2 0 01-2-2v-2a2 2 0 012-2h20a2 2 0 012 2z\"}},\nwork_plan_rule:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M39.3 32.1h21.4a2 2 0 002-2v-4a6 6 0 00-5.8-6H43.3a5.91 5.91 0 00-5.8 6v4a1.74 1.74 0 001.8 2z\"},{\"d\":\"M71.4 25.2h-2a.94.94 0 00-1 1v4a7.9 7.9 0 01-7.8 7.9H39.3a7.9 7.9 0 01-7.8-7.9v-4a.94.94 0 00-1-1h-2a5.91 5.91 0 00-5.8 6v42.6a6 6 0 005.8 6h42.9a5.91 5.91 0 005.8-6V31.2a5.79 5.79 0 00-5.8-6zM68.7 73a1.49 1.49 0 01-1.2 1.2H56.3c-.7 0-1-.8-.3-1.3l3.6-3.8-7-7H32.4a1.07 1.07 0 01-1-1v-4.5a1.08 1.08 0 011-1h20.2l6.9-7-3.6-3.6c-.5-.6-.3-1.4.4-1.4h11.1a1.49 1.49 0 011.2 1.2v11.1c0 .7-.8 1-1.3.3l-3.6-3.5-6.2 6.2 6.2 6.1 3.6-3.6c.6-.5 1.4-.3 1.4.4z\"}]},\nwork_plan_template:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M33.3 73.5a4.89 4.89 0 01-4.8-4.9v-34h-1.6a4.89 4.89 0 00-4.8 4.9v35.4a4.89 4.89 0 004.8 4.9h35.6a4.89 4.89 0 004.8-4.9v-1.4z\"},{\"d\":\"M46.5 30.2h17.8a1.58 1.58 0 001.6-1.6v-3.3a4.91 4.91 0 00-4.9-4.9H49.7a4.91 4.91 0 00-4.9 4.9v3.3a1.73 1.73 0 001.7 1.6zm26.7-5.7h-1.6a.74.74 0 00-.8.8v3.3a6.57 6.57 0 01-6.5 6.6H46.5a6.57 6.57 0 01-6.5-6.6v-3.3a.74.74 0 00-.8-.8h-1.6a4.91 4.91 0 00-4.9 4.9v35.3a4.91 4.91 0 004.9 4.9h35.6a4.91 4.91 0 004.9-4.9V29.4a4.91 4.91 0 00-4.9-4.9zM46.5 59.8a1.58 1.58 0 01-1.6 1.6h-1.6a1.58 1.58 0 01-1.6-1.6v-1.6a1.58 1.58 0 011.6-1.6h1.6a1.58 1.58 0 011.6 1.6zm0-8.2a1.58 1.58 0 01-1.6 1.6h-1.6a1.58 1.58 0 01-1.6-1.6V50a1.58 1.58 0 011.6-1.6h1.6a1.58 1.58 0 011.6 1.6zm0-8.2a1.58 1.58 0 01-1.6 1.6h-1.6a1.58 1.58 0 01-1.6-1.6v-1.6a1.58 1.58 0 011.6-1.6h1.6a1.58 1.58 0 011.6 1.6zm22.7 16.4a1.58 1.58 0 01-1.6 1.6H51.4a1.58 1.58 0 01-1.6-1.6v-1.6a1.58 1.58 0 011.6-1.6h16.2a1.58 1.58 0 011.6 1.6zm0-8.2a1.58 1.58 0 01-1.6 1.6H51.4a1.58 1.58 0 01-1.6-1.6V50a1.58 1.58 0 011.6-1.6h16.2a1.58 1.58 0 011.6 1.6zm0-8.2a1.58 1.58 0 01-1.6 1.6H51.4a1.58 1.58 0 01-1.6-1.6v-1.6a1.58 1.58 0 011.6-1.6h16.2a1.58 1.58 0 011.6 1.6z\"}]},\nwork_plan_template_entry:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M69.6 59.3a10.2 10.2 0 1010.2 10.2 10.24 10.24 0 00-10.2-10.2zm6.6 7.4l-7.5 7.5a1.45 1.45 0 01-2 0L63 70.6a.67.67 0 010-1l1-1a.67.67 0 011 0l2.6 2.6 6.5-6.5a.67.67 0 011 0l1 1a.76.76 0 01.1 1zM44.5 30h17.8a1.58 1.58 0 001.6-1.6v-3.3a4.91 4.91 0 00-4.9-4.9H47.7a4.91 4.91 0 00-4.9 4.9v3.3a1.73 1.73 0 001.7 1.6zM56.1 73.3H31.4a4.89 4.89 0 01-4.8-4.9v-34H25a4.89 4.89 0 00-4.8 4.9v35.4a4.89 4.89 0 004.8 4.9h34.9a12.11 12.11 0 01-3.8-6.3z\"},{\"d\":\"M35.6 69.5h20.1a15.14 15.14 0 01.7-3.7 13.68 13.68 0 012.3-4.5h-9.4a1.58 1.58 0 01-1.6-1.6V58a1.58 1.58 0 011.6-1.6h16.2c.2 0 .3 0 .4.1a13.61 13.61 0 013.6-.5 13.89 13.89 0 016.5 1.6V29.2a4.91 4.91 0 00-4.9-4.9h-1.6a.74.74 0 00-.8.8v3.3a6.57 6.57 0 01-6.5 6.6H44.5a6.64 6.64 0 01-6.5-6.6v-3.3a.74.74 0 00-.8-.8h-1.6a4.91 4.91 0 00-4.9 4.9v35.3a5.06 5.06 0 004.9 5zm12.1-28a1.58 1.58 0 011.6-1.6h16.2a1.58 1.58 0 011.6 1.6v1.6a1.58 1.58 0 01-1.6 1.6H49.4a1.58 1.58 0 01-1.6-1.6v-1.6zm0 8.2a1.58 1.58 0 011.6-1.6h16.2a1.58 1.58 0 011.6 1.6v1.6a1.58 1.58 0 01-1.6 1.6H49.4a1.58 1.58 0 01-1.6-1.6v-1.6zm-8-8.2a1.58 1.58 0 011.6-1.6h1.6a1.58 1.58 0 011.6 1.6v1.6a1.58 1.58 0 01-1.6 1.6h-1.6a1.58 1.58 0 01-1.6-1.6zm0 8.2a1.58 1.58 0 011.6-1.6h1.6a1.58 1.58 0 011.6 1.6v1.6a1.58 1.58 0 01-1.6 1.6h-1.6a1.58 1.58 0 01-1.6-1.6zm0 8.3a1.58 1.58 0 011.6-1.6h1.6a1.58 1.58 0 011.6 1.6v1.6a1.58 1.58 0 01-1.6 1.6h-1.6a1.58 1.58 0 01-1.6-1.6z\"}]},\nwork_queue:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":{\"d\":\"M47.9 71.8h-26c-1.1 0-2-.9-2-2v-4c0-1.1.9-2 2-2h25.9c1.1 0 2 .9 2 2v4c.1 1-.7 1.9-1.8 2h-.1zM47.9 36h-26c-1.1 0-2-.9-2-2v-4c0-1.1.9-2 2-2h25.9c1.1 0 2 .9 2 2v4c.1 1-.7 1.9-1.8 2h-.1zM61.4 66.6c.7.7 1.9.7 2.6 0l15.3-15.2c.8-.7.8-1.9.2-2.6l-.2-.2L64 33.3c-.7-.8-1.9-.8-2.6-.2l-.2.2-2.8 2.8c-.8.7-.8 1.9-.2 2.6l.2.2 4.8 4.8c.5.5.5 1.4 0 1.9-.2.2-.6.4-.9.4H22.1c-1.1 0-2.1.9-2.1 2v4c.1 1.1 1 1.9 2.1 2h40.4c.7 0 1.3.6 1.3 1.3 0 .3-.1.7-.4.9L58.6 61c-.8.7-.8 1.9-.2 2.6l.2.2 2.8 2.8z\"}},\nwork_step:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M39 32h22a2 2 0 002-2v-4a6 6 0 00-6-6H43a6 6 0 00-6 6v4a2 2 0 002 2z\"},{\"d\":\"M72 25h-2a.94.94 0 00-1 1v4a8 8 0 01-8 8H39a8 8 0 01-8-8v-4a.94.94 0 00-1-1h-2a6 6 0 00-6 6v43a6 6 0 006 6h44a6 6 0 006-6V31a6 6 0 00-6-6zM57 64a2 2 0 01-2 2H34.9a2 2 0 01-2-2v-2a2 2 0 012-2H55a2 2 0 012 2zm10-10a2 2 0 01-2 2H34.9a2 2 0 01-2-2v-2a2 2 0 012-2H65a2 2 0 012 2z\"}]},\nwork_step_template:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M28.5 68.5v-34h-1.6a4.89 4.89 0 00-4.8 4.9v35.4a4.89 4.89 0 004.8 4.9h35.6a4.89 4.89 0 004.8-4.9v-1.4h-34a4.89 4.89 0 01-4.8-4.9zM46.4 30.2h17.7a1.58 1.58 0 001.6-1.6v-3.3a4.89 4.89 0 00-4.8-4.9H49.6a4.82 4.82 0 00-4.8 4.9v3.3a1.64 1.64 0 001.6 1.6z\"},{\"d\":\"M73 24.4h-1.6a.74.74 0 00-.8.8v3.3a6.57 6.57 0 01-6.5 6.6H46.4a6.64 6.64 0 01-6.5-6.6v-3.3a.74.74 0 00-.8-.8h-1.6a4.82 4.82 0 00-4.8 4.9v35.3a4.89 4.89 0 004.8 4.9H73a4.82 4.82 0 004.8-4.9V29.4a4.85 4.85 0 00-4.8-5zM60.9 55.5a1.58 1.58 0 01-1.6 1.6H43.1a1.58 1.58 0 01-1.6-1.6v-1.6a1.58 1.58 0 011.6-1.6h16.2a1.58 1.58 0 011.6 1.6zm8.1-8.2a1.58 1.58 0 01-1.6 1.6H43.1a1.58 1.58 0 01-1.6-1.6v-1.6a1.58 1.58 0 011.6-1.6h24.3a1.58 1.58 0 011.6 1.6z\"}]},\nwork_type:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M75.87 29.25l-9-8.88A1.13 1.13 0 0066 20a1.39 1.39 0 00-1.38 1.38v6.38a3.89 3.89 0 003.87 3.87h6.37a1.39 1.39 0 001.38-1.38 1.66 1.66 0 00-.37-1zM29.63 62.63v-31a5.84 5.84 0 00-5.88 5.75v36.74A5.87 5.87 0 0029.63 80h29.12a5.84 5.84 0 005.88-5.75H41.25c-6.37 0-11.62 0-11.62-11.62z\",\"fill-rule\":\"evenodd\"},{\"d\":\"M74.25 37.38H64.5a5.84 5.84 0 01-5.87-5.75v-9.75A1.77 1.77 0 0056.75 20h-15.5a5.84 5.84 0 00-5.87 5.75V62.5a5.76 5.76 0 005.88 5.75h29.12a5.84 5.84 0 005.88-5.75V39.38a2 2 0 00-2.01-2zM49.91 62.22a2.49 2.49 0 01-2.49 2.49h-5A2.49 2.49 0 0140 62.22v-5a2.49 2.49 0 012.49-2.49h5a2.49 2.49 0 012.49 2.49zm0-13.68A2.49 2.49 0 0147.43 51h-5A2.49 2.49 0 0140 48.54v-5a2.49 2.49 0 012.49-2.49h5a2.49 2.49 0 012.49 2.49zm13.68 13.68a2.49 2.49 0 01-2.49 2.48h-5a2.49 2.49 0 01-2.49-2.49v-5a2.49 2.49 0 012.49-2.49h5a2.49 2.49 0 012.49 2.49zm0-13.68A2.49 2.49 0 0161.1 51h-5a2.49 2.49 0 01-2.49-2.49v-5a2.49 2.49 0 012.49-2.49h5a2.49 2.49 0 012.49 2.49z\",\"fill-rule\":\"evenodd\"}]},\nwork_type_group:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"path\":[{\"d\":\"M79.9 29.3c0-.3-.1-.6-.3-.9l-8.2-8.1c-.1-.2-.4-.3-.7-.3h-7.9-14.2c-2.9-.1-5.3 2.3-5.4 5.2v26.5c0 2.9 2.4 5.3 5.3 5.3h26.1c2.9.1 5.3-2.3 5.4-5.2V30.7l-.1-1.4zm-23.5 21c0 1.3-1 2.3-2.3 2.3h-4.5c-1.2 0-2.2-1.1-2.2-2.3v-4.5c0-1.3 1-2.3 2.3-2.3h4.5c1.3 0 2.3 1 2.3 2.3l-.1 4.5zm0-12.4c0 1.3-1 2.3-2.3 2.3h-4.5c-1.2 0-2.2-1.1-2.2-2.3v-4.5c0-1.3 1-2.3 2.3-2.3h4.5c1.3 0 2.3 1 2.3 2.3l-.1 4.5zm12.5 12.4c0 1.3-1 2.3-2.3 2.3h-4.5c-1.3 0-2.3-1-2.3-2.3v-4.5c0-1.3 1-2.3 2.3-2.3h4.5c1.3 0 2.3 1 2.3 2.3v4.5zm0-12.4c0 1.3-1 2.3-2.3 2.3h-4.5c-1.3 0-2.3-1-2.3-2.3v-4.5c0-1.3 1-2.3 2.3-2.3h4.5c1.3 0 2.3 1 2.3 2.3v4.5z\"},{\"d\":\"M42.8 62.7c-2.9 0-5.3-2.4-5.3-5.3v-5.1-22.2c-3.2 0-5.8 2.6-5.8 5.8v26.6c0 3.2 1.7 5.9 5.8 5.9h25c3.2 0 5.7-2.5 5.8-5.7H42.8z\"},{\"d\":\"M31.1 74.3c-2.9 0-5.3-2.4-5.3-5.3v-5-22.3c-3.2 0-5.8 2.6-5.8 5.8v26.6c0 3.2 1.7 5.9 5.8 5.9h25c3.2 0 5.7-2.5 5.8-5.7H31.1c.1 0 0 0 0 0z\"}]},\nviewBox:'0 0 100 100'\n}; } export default icons;\n","import React, { Component } from 'react';\n// eslint-disable-next-line camelcase\nimport UNSAFE_DirectionSettings from '..';\n\nconst LanguageDirectionHOC = (WrappedComponent) => {\n\tconst componentName =\n\t\tWrappedComponent.displayName || WrappedComponent.name || 'Component';\n\treturn class LanguageDirection extends Component {\n\t\tstatic displayName = `LanguageDirection(${componentName})`;\n\n\t\tgetWrappedComponent = (value) => (\n\t\t\t<WrappedComponent {...this.props} direction={value} />\n\t\t);\n\n\t\trender() {\n\t\t\treturn (\n\t\t\t\t// eslint-disable-next-line react/jsx-pascal-case\n\t\t\t\t<UNSAFE_DirectionSettings.Consumer>\n\t\t\t\t\t{this.getWrappedComponent}\n\t\t\t\t</UNSAFE_DirectionSettings.Consumer>\n\t\t\t);\n\t\t}\n\t};\n};\n\nexport default LanguageDirectionHOC;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\n// This component's `checkProps` which issues warnings to developers about properties\n// when in development mode (similar to React's built in development tools)\nimport checkProps from './check-props';\n\nimport Svg from './svg';\n\nimport SLDS_ICONS_UTILITY from '../../../icons/utility';\nimport SLDS_ICONS_ACTION from '../../../icons/action';\nimport SLDS_ICONS_CUSTOM from '../../../icons/custom';\nimport SLDS_ICONS_DOCTYPE from '../../../icons/doctype';\nimport SLDS_ICONS_STANDARD from '../../../icons/standard';\n\nimport { DIRECTIONS } from '../UNSAFE_direction';\nimport LanguageDirection from '../UNSAFE_direction/private/language-direction';\n\n/*\n * If inline icons are present and icon bundle imports are not just an empty object, then inline icons will be used instead of external icons that require HTTP access.\n */\nconst UtilityIcon = (\n\t{\n\t\tname = '',\n\t\tassistiveText, // eslint-disable-line no-unused-vars\n\t\tcategory,\n\t\ticon,\n\t\tpath,\n\t\tdirection,\n\t\t...rest\n\t},\n\tcontext\n) => {\n\tcheckProps('UtilityIcon', { name, category, path, context });\n\n\tconst inlineIcons = {\n\t\taction: SLDS_ICONS_ACTION,\n\t\tcustom: SLDS_ICONS_CUSTOM,\n\t\tdoctype: SLDS_ICONS_DOCTYPE,\n\t\tstandard: SLDS_ICONS_STANDARD,\n\t\tutility: SLDS_ICONS_UTILITY,\n\t};\n\tlet inlineData;\n\n\tif (icon) {\n\t\t// Use SVG data passed in with `icon` prop\n\t\tinlineData = icon;\n\t} else if (Object.keys(inlineIcons[category]).length) {\n\t\t// Use inline icon data if it exists. ENV variables will have to set to allow this.\n\t\tinlineData = inlineIcons[category][name.toLowerCase()];\n\t\tinlineData.viewBox = inlineIcons[category].viewBox;\n\t}\n\n\tlet modifiedPath;\n\n\tif (path) {\n\t\t// Use `path` prop of Icon if present\n\t\tmodifiedPath = path;\n\t} else if (context.onRequestIconPath) {\n\t\tmodifiedPath = context.onRequestIconPath({ category, name });\n\t} else if (context[`${category}Sprite`]) {\n\t\t// Use category sprite file from IconSettings if present\n\t\tmodifiedPath = `${context[`${category}Sprite`]}#${name}`;\n\t} else {\n\t\t// Otherwise, use external URLs for icons\n\t\tconst svgAssetName =\n\t\t\tdirection === DIRECTIONS.RTL ? 'symbols-rtl.svg' : 'symbols.svg';\n\t\tmodifiedPath =\n\t\t\tcontext.iconPath &&\n\t\t\t`${context.iconPath}/${category}-sprite/svg/${svgAssetName}#${name}`;\n\t}\n\n\treturn inlineData ? (\n\t\t<Svg data={inlineData} name={name} {...rest} />\n\t) : (\n\t\t<svg key={`${name}_${category}`} {...rest}>\n\t\t\t<use href={modifiedPath} />\n\t\t</svg>\n\t);\n};\n\nUtilityIcon.displayName = 'UtilityIcon';\n\nUtilityIcon.propTypes = {\n\tassistiveText: PropTypes.object,\n\tcategory: PropTypes.oneOf([\n\t\t'action',\n\t\t'custom',\n\t\t'doctype',\n\t\t'standard',\n\t\t'utility',\n\t]),\n\t/**\n\t * An SVG object to use instead of name / category, look in `design-system-react/icons` for examples\n\t */\n\ticon: PropTypes.object,\n\t/**\n\t * Name of the icon. Visit <a href='http://www.lightningdesignsystem.com/resources/icons'>Lightning Design System Icons</a> to reference icon names.\n\t */\n\tname: PropTypes.string,\n\t/**\n\t * Path to the icon. This will override any global icon settings.\n\t */\n\tpath: PropTypes.string,\n};\n\nUtilityIcon.defaultProps = {\n\tcategory: 'utility',\n};\n\nUtilityIcon.contextTypes = {\n\ticonPath: PropTypes.string,\n\tonRequestIconPath: PropTypes.func,\n\tactionSprite: PropTypes.string,\n\tcustomSprite: PropTypes.string,\n\tdoctypeSprite: PropTypes.string,\n\tstandardSprite: PropTypes.string,\n\tutilitySprite: PropTypes.string,\n};\n\nexport default LanguageDirection(UtilityIcon);\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// ### React\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\n// ### classNames\n// [github.com/JedWatson/classnames](https://github.com/JedWatson/classnames)\n// This project uses `classnames`, \"a simple javascript utility for conditionally\n// joining classNames together.\"\nimport classNames from 'classnames';\n\n// This component's `checkProps` which issues warnings to developers about properties when in development mode (similar to React's built in development tools)\nimport checkProps from './check-props';\n\n// ### Children\nimport SLDSUtilityIcon from '../../utilities/utility-icon';\n\nimport { BUTTON_ICON } from '../../../utilities/constants';\n\n/**\n * This is a non-interactive wrapper component for `UtilityIcon` that specifies button icon classes for an icon inside a `button` tag. Use of this component by itself is not recommended, but should be used as part of other components to obtain the correct styling for icons within buttons. This component only partially implements [Button Icons](http://www.lightningdesignsystem.com/components/button-icons). It does not return a `button` HTML tag. It only returns an icon for use within a button. Assistive text must also be rendered by the parent.\n */\nconst ButtonIcon = (props) => {\n\tcheckProps(BUTTON_ICON, props);\n\n\treturn (\n\t\t<SLDSUtilityIcon\n\t\t\taria-hidden=\"true\"\n\t\t\tcategory={props.category}\n\t\t\tclassName={classNames(\n\t\t\t\t'slds-button__icon',\n\t\t\t\t{\n\t\t\t\t\t[`slds-button__icon_${props.size}`]:\n\t\t\t\t\t\tprops.size && props.size !== 'medium',\n\t\t\t\t\t'slds-button__icon_inverse-hint': props.inverse && props.hint,\n\t\t\t\t\t'slds-button__icon_hint': props.hint && !props.inverse,\n\t\t\t\t\t[`slds-button__icon_${props.position}`]: props.position,\n\t\t\t\t},\n\t\t\t\tprops.className\n\t\t\t)} // iconClassName has been deprecated\n\t\t\ticon={props.icon}\n\t\t\tname={props.name}\n\t\t\tpath={props.path}\n\t\t/>\n\t);\n};\n\nconst propTypes = {\n\t/**\n\t * Icon category from [lightningdesignsystem.com/icons/](https://www.lightningdesignsystem.com/icons/)\n\t */\n\tcategory: PropTypes.oneOf([\n\t\t'action',\n\t\t'custom',\n\t\t'doctype',\n\t\t'standard',\n\t\t'utility',\n\t]).isRequired,\n\t/**\n\t * Associates an icon button with another element on the page by changes the color of the SVG. Please reference <a href=\"http://www.lightningdesignsystem.com/components/buttons/#hint\">Lightning Design System Buttons > Hint</a>.\n\t */\n\thint: PropTypes.bool,\n\t/**\n\t * An SVG object to use instead of name / category, look in `design-system-react/icons` for examples\n\t */\n\ticon: PropTypes.object,\n\t/**\n\t * Class names to be added to the SVG.\n\t */\n\tclassName: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\t/**\n\t * Setting `inverse` to true will switch the color of the icon: light to dark, dark to light.\n\t */\n\tinverse: PropTypes.bool,\n\t/**\n\t * Name of the icon. Visit <a href='http://www.lightningdesignsystem.com/resources/icons'>Lightning Design System Icons</a> to reference icon names.\n\t */\n\tname: PropTypes.string,\n\t/**\n\t * Path to the icon. This will override any global icon settings.\n\t */\n\tpath: PropTypes.string,\n\t/**\n\t * Adds additional spacing on the opposite side specified between button icon and the button label\n\t */\n\tposition: PropTypes.oneOf(['left', 'right']),\n\t/**\n\t * Size of the icon. Visit [lightningdesignsystem.com/components/icons/#flavor-sizes](https://www.lightningdesignsystem.com/components/icons/#flavor-sizes)\n\t */\n\tsize: PropTypes.oneOf(['x-small', 'small', 'medium', 'large']),\n};\n\nconst defaultProps = {\n\tcategory: 'utility',\n\tsize: 'medium',\n};\n\nButtonIcon.displayName = BUTTON_ICON;\nButtonIcon.propTypes = propTypes;\nButtonIcon.defaultProps = defaultProps;\n\nexport default ButtonIcon;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n/* eslint-disable import/no-mutable-exports */\n\nimport getComponentDocFn from '../../utilities/get-component-doc';\nimport ifOneThenBothRequiredProperty from '../../utilities/warning/if-one-then-both-required-property';\nimport sunsetProperty from '../../utilities/warning/sunset-property';\n\nlet checkProps = function checkPropsFunction() {};\n\nif (process.env.NODE_ENV !== 'production') {\n\tcheckProps = function checkPropsFunction(COMPONENT, props, jsonDoc) {\n\t\tconst createDocUrl = getComponentDocFn(jsonDoc);\n\n\t\t/* eslint-disable max-len */\n\t\t// If iconName is set, iconCategory must also be set.\n\t\tifOneThenBothRequiredProperty(\n\t\t\tCOMPONENT,\n\t\t\tprops,\n\t\t\t{\n\t\t\t\ticonName: props.iconName,\n\t\t\t\ticonCategory: props.iconCategory,\n\t\t\t},\n\t\t\tcreateDocUrl('iconCategory')\n\t\t);\n\n\t\tif (typeof props.assistiveText === 'string') {\n\t\t\tsunsetProperty(\n\t\t\t\tCOMPONENT,\n\t\t\t\tprops.assistiveText,\n\t\t\t\t'assistiveText',\n\t\t\t\t`\\`assistiveText\\` as a string has been deprecated and is now an object to allow for multiple uses in the component. Please use \\`assistiveText.icon\\` instead. ${createDocUrl(\n\t\t\t\t\t'assistiveText'\n\t\t\t\t)}`\n\t\t\t);\n\t\t}\n\t};\n}\n\nexport default checkProps;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\nimport { Component, Children } from 'react';\nimport PropTypes from 'prop-types';\nimport ReactDOM from 'react-dom';\n\n/*\n * This component mounts its children within a disconnected render tree (portal).\n */\n\nconst documentDefined = typeof document !== 'undefined';\nclass Portal extends Component {\n\tconstructor(props) {\n\t\tsuper(props);\n\t\tthis.portalNode = null;\n\t\tthis.state = {\n\t\t\tisOpen: false,\n\t\t};\n\t}\n\n\tcomponentDidMount() {\n\t\tthis.renderPortal();\n\t}\n\n\tcomponentDidUpdate() {\n\t\tthis.renderPortal();\n\t}\n\n\tcomponentWillUnmount() {\n\t\tthis.unmountPortal();\n\t}\n\n\tgetChildren() {\n\t\treturn Children.only(this.props.children);\n\t}\n\n\tgetPortalParentNode() {\n\t\tlet element;\n\t\tif (typeof this.props.renderTo === 'string') {\n\t\t\telement = document.querySelector(this.props.renderTo);\n\t\t} else {\n\t\t\telement = this.props.renderTo || (documentDefined && document.body);\n\t\t}\n\t\treturn element;\n\t}\n\n\tsetupPortalNode() {\n\t\tconst parentParentNode = this.getPortalParentNode();\n\t\tthis.portalNode = {};\n\n\t\tif (documentDefined) {\n\t\t\tthis.portalNode = document.createElement(this.props.renderTag);\n\t\t\tthis.portalNode.setAttribute(\n\t\t\t\t'style',\n\t\t\t\t'display: block; height: 0px; width: 0px;'\n\t\t\t);\n\t\t\tthis.portalNode.setAttribute('className', 'design-system-react-portal');\n\t\t\tparentParentNode.appendChild(this.portalNode);\n\t\t\tthis.portalNodeInstance = this.props.onMount\n\t\t\t\t? this.props.onMount(undefined, { portal: this.portalNode })\n\t\t\t\t: this.portalNode;\n\t\t}\n\t}\n\n\tunmountPortal() {\n\t\tif (this.portalNode) {\n\t\t\tReactDOM.unmountComponentAtNode(this.portalNode);\n\t\t\tthis.portalNode.parentNode.removeChild(this.portalNode);\n\t\t}\n\t\tthis.portalNode = null;\n\t}\n\n\tupdatePortal() {\n\t\tif (this.props.id) {\n\t\t\tthis.portalNode.id = this.props.id;\n\t\t}\n\n\t\tif (this.props.className) {\n\t\t\tthis.portalNode.className = this.props.className;\n\t\t}\n\n\t\tif (this.props.style) {\n\t\t\tObject.keys(this.props.style).forEach((key) => {\n\t\t\t\tthis.portalNode.style[key] = this.props.style[key];\n\t\t\t});\n\t\t}\n\n\t\tif (this.props.onUpdate) {\n\t\t\tthis.portalNodeInstance = this.props.onUpdate(this.portalNodeInstance);\n\t\t}\n\t}\n\n\trenderPortal() {\n\t\t// if no portal contents, then unmount\n\t\tif (!this.getChildren() || !documentDefined) {\n\t\t\tthis.unmountPortal();\n\t\t\treturn;\n\t\t}\n\n\t\tif (!this.portalNode) {\n\t\t\tthis.setupPortalNode();\n\t\t}\n\n\t\tif (this.props.portalMount) {\n\t\t\tthis.props.portalMount({\n\t\t\t\tinstance: this,\n\t\t\t\treactElement: this.getChildren(),\n\t\t\t\tdomContainerNode: this.portalNode,\n\t\t\t\tupdateCallback: () => {\n\t\t\t\t\tthis.updatePortal(); // update after subtree renders\n\t\t\t\t},\n\t\t\t});\n\t\t} else {\n\t\t\t// actual render\n\t\t\tReactDOM.unstable_renderSubtreeIntoContainer(\n\t\t\t\tthis,\n\t\t\t\tthis.getChildren(),\n\t\t\t\tthis.portalNode,\n\t\t\t\t() => {\n\t\t\t\t\tthis.updatePortal(); // update after subtree renders\n\n\t\t\t\t\tif (this.state.isOpen === false) {\n\t\t\t\t\t\tif (this.props.onOpen) {\n\t\t\t\t\t\t\tthis.props.onOpen(undefined, { portal: this.getChildren() });\n\t\t\t\t\t\t}\n\t\t\t\t\t\tthis.setState({ isOpen: true });\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t);\n\t\t}\n\t}\n\n\trender() {\n\t\treturn null;\n\t}\n}\n\nPortal.displayName = 'Portal';\n\nPortal.propTypes = {\n\t/*\n\t * What tag to use for the portal, defaults to `div`.\n\t */\n\trenderTag: PropTypes.string,\n\t/*\n\t * What node the portal is rendered to, defaults to `document.body`.\n\t */\n\trenderTo: PropTypes.any,\n\t/*\n\t * React id prop.\n\t */\n\tid: PropTypes.string,\n\t/*\n\t * Accepts a _single_ element or component.\n\t */\n\tchildren: PropTypes.node,\n\t/*\n\t * ClassName added to .\n\t */\n\tclassName: PropTypes.any,\n\t/*\n\t * An object of styles that are applied to the portal.\n\t */\n\tstyle: PropTypes.object,\n\t/*\n\t * Triggers when Portal render tree mounts. Pass in an undefined event and `{ portal: [node] }``\n\t */\n\tonMount: PropTypes.func,\n\t/*\n\t * Triggers when the portal is mounted.\n\t */\n\tonOpen: PropTypes.func,\n\t/*\n\t * Triggers when Portal re-renders its tree.\n\t */\n\tonUpdate: PropTypes.func,\n\t/**\n\t * If a dialog is `positione=\"overflowBoundaryElement\"`, it will be rendered in a portal or separate render tree. This `portalMount` callback will be triggered instead of the the default `ReactDOM.unstable_renderSubtreeIntoContainer` and the function will mount the portal itself. Consider the following code that bypasses the internal mount and uses an Enzyme wrapper to mount the React root tree to the DOM.\n\t *\n\t * ```\n\t * <Popover\n\t * isOpen\n\t * portalMount={({ instance, reactElement, domContainerNode }) => {\n\t * portalWrapper = Enzyme.mount(reactElement, { attachTo: domContainerNode });\n\t * }}\n\t * onOpen={() => {\n\t * expect(portalWrapper.find(`#my-heading`)).to.exist;\n\t * done();\n\t * }}\n\t * />\n\t * ```\n\t */\n\tportalMount: PropTypes.func,\n};\n\nPortal.defaultProps = {\n\trenderTag: 'span',\n\trenderTo: null,\n\tonMount: () => null,\n\tonOpen: () => null,\n\tonUpdate: () => null,\n\tonUnmount: () => null,\n};\n\nexport default Portal;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\nconst EventUtil = {\n\ttrapEvent: (event) => {\n\t\tif (!event) return;\n\t\tevent.preventDefault();\n\t\tevent.stopPropagation();\n\t\tif (event.nativeEvent && event.nativeEvent.preventDefault) {\n\t\t\tevent.nativeEvent.preventDefault();\n\t\t}\n\n\t\tif (event.nativeEvent && event.nativeEvent.stopPropagation) {\n\t\t\tevent.nativeEvent.stopPropagation();\n\t\t}\n\t},\n\n\ttrap: (event) => EventUtil.trapEvent(event),\n\n\ttrapImmediate: (event) => {\n\t\tif (event.stopImmediatePropagation) {\n\t\t\tevent.stopImmediatePropagation();\n\t\t}\n\n\t\tif (event.nativeEvent && event.nativeEvent.stopImmediatePropagation) {\n\t\t\tevent.nativeEvent.stopImmediatePropagation();\n\t\t}\n\n\t\tEventUtil.trap(event);\n\t},\n};\n\nexport default EventUtil;\n","const keys = {\n\tENTER: 13,\n\tESCAPE: 27,\n\tSPACE: 32,\n\tLEFT: 37,\n\tUP: 38,\n\tRIGHT: 39,\n\tDOWN: 40,\n\tTAB: 9,\n\tDELETE: 46,\n\tBACKSPACE: 8,\n};\n\n// Helpful for interaction/event tests. Use with simulate:\n// `nodes.input.simulate('keyDown', keyObjects.DOWN);`\nconst keyObjects = {\n\tENTER: { key: 'Enter', keyCode: keys.ENTER, which: keys.ENTER },\n\tESCAPE: { key: 'Escape', keyCode: keys.ESCAPE, which: keys.ESCAPE },\n\tSPACE: { key: 'Space', keyCode: keys.SPACE, which: keys.SPACE },\n\tLEFT: { key: 'Left', keyCode: keys.LEFT, which: keys.LEFT },\n\tUP: { key: 'Up', keyCode: keys.UP, which: keys.ESCAPE },\n\tRIGHT: { key: 'Right', keyCode: keys.RIGHT, which: keys.RIGHT },\n\tDOWN: { key: 'Down', keyCode: keys.DOWN, which: keys.DOWN },\n\tTAB: { key: 'Tab', keyCode: keys.TAB, which: keys.TAB },\n\tDELETE: { key: 'Delete', keyCode: keys.DELETE, which: keys.DELETE },\n\tBACKSPACE: {\n\t\tkey: 'Backspace',\n\t\tkeyCode: keys.BACKSPACE,\n\t\twhich: keys.BACKSPACE,\n\t},\n};\n\nexport default keys;\nexport { keyObjects };\n","/*!\n * Adapted from jQuery UI core\n *\n * http://jqueryui.com\n *\n * Copyright 2014 jQuery Foundation and other contributors\n * Released under the MIT license.\n * http://jquery.org/license\n *\n * http://api.jqueryui.com/category/ui-core/\n */\n\nfunction focusable(element, isTabIndexNotNaN) {\n\tconst nodeName = element.nodeName.toLowerCase();\n\tif (/input|select|textarea|button|object/.test(nodeName)) {\n\t\treturn !element.disabled;\n\t\t// eslint-disable-next-line no-else-return\n\t} else if (nodeName === 'a') {\n\t\treturn element.href || isTabIndexNotNaN;\n\t}\n\treturn isTabIndexNotNaN;\n}\n\nfunction tabbable(element) {\n\tlet tabIndex = element.getAttribute('tabindex');\n\tif (tabIndex === null) tabIndex = undefined;\n\tconst isTabIndexNaN = isNaN(tabIndex);\n\treturn (isTabIndexNaN || tabIndex >= 0) && focusable(element, !isTabIndexNaN);\n}\n\nfunction findTabbableDescendants(element) {\n\treturn [].slice\n\t\t.call(element.querySelectorAll('*'), 0)\n\t\t.filter((el) => tabbable(el));\n}\n\nexport default findTabbableDescendants;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\nconst canUseDOM = !!(\n\ttypeof window !== 'undefined' &&\n\twindow.document &&\n\twindow.document.createElement\n);\nconst canUseEventListeners =\n\tcanUseDOM && Boolean(window.addEventListener || window.attachEvent);\nconst canUseViewport = canUseDOM && Boolean(window.screen);\n\nexport { canUseDOM, canUseEventListeners, canUseViewport };\n","import findTabbableElement from './tabbable';\nimport KEYS from './key-code';\nimport { canUseDOM } from './execution-environment';\n\nlet ancestor = null;\nlet focusLaterElement = null;\n\nconst handleScopedKeyDown = (event) => {\n\tif (!canUseDOM || !ancestor || event.keyCode !== KEYS.TAB) {\n\t\treturn;\n\t}\n\tconst tabbableElements = findTabbableElement(ancestor);\n\tconst finalTabbable =\n\t\ttabbableElements[event.shiftKey ? 0 : tabbableElements.length - 1];\n\tconst leavingFinalTabbable =\n\t\tfinalTabbable === document.activeElement ||\n\t\t// handle immediate shift+tab after opening with mouse\n\t\tancestor === document.activeElement;\n\tif (!leavingFinalTabbable) return;\n\tevent.preventDefault();\n\tconst target =\n\t\ttabbableElements[event.shiftKey ? tabbableElements.length - 1 : 0];\n\ttarget.focus();\n};\n\n// PUBLIC methods\n\nconst ElementFocus = {\n\tfocusAncestor: ({ isPortal }) => {\n\t\tif (canUseDOM) {\n\t\t\t// When a portal is used (that is attaching a separate React mount, such as with Popover) programatic focusing within that portal may cause the window to scroll down to the DOM insertion point at the end of `body`. The following prevents the scrolling from occuring.\n\t\t\tif (isPortal) {\n\t\t\t\tconst offset = window.pageYOffset;\n\t\t\t\tancestor.focus({ preventScroll: true });\n\t\t\t\twindow.scrollTo(window.pageXOffset, offset);\n\t\t\t} else {\n\t\t\t\tancestor.focus();\n\t\t\t}\n\t\t}\n\t},\n\thasOrAncestorHasFocus: () =>\n\t\tcanUseDOM &&\n\t\t(document.activeElement === ancestor ||\n\t\t\tancestor.contains(document.activeElement)),\n\treturnFocusToStoredElement: () => {\n\t\tif (canUseDOM) {\n\t\t\ttry {\n\t\t\t\tfocusLaterElement.focus();\n\t\t\t} catch (e) {\n\t\t\t\t// eslint-disable-next-line no-console\n\t\t\t\tconsole.warn(\n\t\t\t\t\t`You tried to return focus to ${focusLaterElement} but it is not in the DOM anymore`\n\t\t\t\t);\n\t\t\t}\n\t\t\tfocusLaterElement = null;\n\t\t}\n\t},\n\tsetupScopedFocus: ({ ancestorElement }) => {\n\t\tancestor = ancestorElement;\n\t\twindow.addEventListener('keydown', handleScopedKeyDown, false);\n\t},\n\tstoreActiveElement: () => {\n\t\tfocusLaterElement = canUseDOM ? document.activeElement : null;\n\t},\n\tteardownScopedFocus: () => {\n\t\tancestor = null;\n\t\tif (canUseDOM) {\n\t\t\twindow.removeEventListener('keydown', handleScopedKeyDown);\n\t\t}\n\t},\n};\n\nexport default ElementFocus;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\nimport classNames from 'classnames';\nimport { DIRECTIONS } from './../components/utilities/UNSAFE_direction';\n\n// Translates the prop into a string popper can use https://popper.js.org/popper-documentation.html#Popper.placements\nconst mapPropToPopperPlacement = (align, direction) => {\n\tlet placement;\n\tswitch (align) {\n\t\tcase 'top left':\n\t\t\tplacement = 'top-start';\n\t\t\tbreak;\n\t\tcase 'top right':\n\t\t\tplacement = 'top-end';\n\t\t\tbreak;\n\t\tcase 'right top':\n\t\t\tplacement = 'right-start';\n\t\t\tbreak;\n\t\tcase 'right bottom':\n\t\t\tplacement = 'right-end';\n\t\t\tbreak;\n\t\tcase 'bottom left':\n\t\t\tplacement = 'bottom-start';\n\t\t\tbreak;\n\t\tcase 'bottom right':\n\t\t\tplacement = 'bottom-end';\n\t\t\tbreak;\n\t\tcase 'left top':\n\t\t\tplacement = 'left-start';\n\t\t\tbreak;\n\t\tcase 'left bottom':\n\t\t\tplacement = 'left-end';\n\t\t\tbreak;\n\t\tdefault:\n\t\t\tplacement = align;\n\t}\n\tif (direction === DIRECTIONS.RTL) {\n\t\tif (placement.indexOf('left') > -1) {\n\t\t\tplacement = placement.replace('left', 'right');\n\t\t} else if (placement.indexOf('right') > -1) {\n\t\t\tplacement = placement.replace('right', 'left');\n\t\t} else if (placement.indexOf('start') > -1) {\n\t\t\tplacement = placement.replace('start', 'end');\n\t\t} else if (placement.indexOf('end') > -1) {\n\t\t\tplacement = placement.replace('end', 'start');\n\t\t}\n\t}\n\treturn placement;\n};\n\nconst getNubbinClassName = (align, popperData = {}) => {\n\tif (popperData.flipped) {\n\t\treturn classNames({\n\t\t\t'slds-nubbin_top': align === 'top',\n\t\t\t'slds-nubbin_top-left': align === 'top left',\n\t\t\t'slds-nubbin_top-right': align === 'top right',\n\t\t\t'slds-nubbin_bottom': align === 'bottom',\n\t\t\t'slds-nubbin_bottom-left': align === 'bottom left',\n\t\t\t'slds-nubbin_bottom-right': align === 'bottom right',\n\t\t\t'slds-nubbin_left': align === 'left',\n\t\t\t'slds-nubbin_left-bottom': align === 'left bottom',\n\t\t\t'slds-nubbin_left-top': align === 'left top',\n\t\t\t'slds-nubbin_right': align === 'right',\n\t\t\t'slds-nubbin_right-bottom': align === 'right bottom',\n\t\t\t'slds-nubbin_right-top': align === 'right top',\n\t\t});\n\t}\n\n\treturn classNames({\n\t\t'slds-nubbin_top': align === 'bottom',\n\t\t'slds-nubbin_top-left': align === 'bottom left',\n\t\t'slds-nubbin_top-right': align === 'bottom right',\n\t\t'slds-nubbin_bottom': align === 'top',\n\t\t'slds-nubbin_bottom-left': align === 'top left',\n\t\t'slds-nubbin_bottom-right': align === 'top right',\n\t\t'slds-nubbin_left': align === 'right',\n\t\t'slds-nubbin_left-bottom': align === 'right bottom',\n\t\t'slds-nubbin_left-top': align === 'right top',\n\t\t'slds-nubbin_right': align === 'left',\n\t\t'slds-nubbin_right-bottom': align === 'left bottom',\n\t\t'slds-nubbin_right-top': align === 'left top',\n\t});\n};\n\nconst DISTANCE_OFFSET = 1.5; // 'rem'\nconst NUBBIN_SIZE = 1; // 'rem'\nconst ROTATED_HEIGHT = NUBBIN_SIZE / Math.sqrt(2); // 'rem'\n/*\n *\n *\n *\n *\n */\n// FIXME - still need to account for border shadow of 2px. probably only needs to be added to the rotated height.\n// TODO - should we convert all rem to pixels right from the get go? Keep units consistent. Memoize the values for perf?\nconst getNubbinMargins = (popperData = {}) => {\n\tconst { placement } = popperData;\n\n\tlet top = 0;\n\tlet left = 0;\n\n\tconst DISTANCE_OFFSET_PX = 16 * DISTANCE_OFFSET; // FIXME - actually do a real convert based on font size.\n\tconst ROTATED_HEIGHT_PX = 16 * ROTATED_HEIGHT; // FIXME - actually do a real convert based on font size.\n\n\tconst halfWidth = popperData.offsets.reference.width * 0.5;\n\tconst halfHeight = popperData.offsets.reference.height * 0.5;\n\n\tif (placement === 'top') {\n\t\ttop = ROTATED_HEIGHT_PX * -1;\n\t} else if (placement === 'top-end') {\n\t\ttop = ROTATED_HEIGHT_PX * -1;\n\t\tleft = DISTANCE_OFFSET_PX - halfWidth;\n\t} else if (placement === 'top-start') {\n\t\ttop = ROTATED_HEIGHT_PX * -1;\n\t\tleft = halfWidth - DISTANCE_OFFSET_PX;\n\t}\n\n\tif (placement === 'bottom') {\n\t\ttop = ROTATED_HEIGHT_PX;\n\t} else if (placement === 'bottom-end') {\n\t\ttop = ROTATED_HEIGHT_PX;\n\t\tleft = DISTANCE_OFFSET_PX - halfWidth;\n\t} else if (placement === 'bottom-start') {\n\t\ttop = ROTATED_HEIGHT_PX;\n\t\tleft = halfWidth - DISTANCE_OFFSET_PX;\n\t}\n\n\tif (placement === 'right') {\n\t\tleft = ROTATED_HEIGHT_PX;\n\t} else if (placement === 'right-end') {\n\t\tleft = ROTATED_HEIGHT_PX;\n\t\ttop = DISTANCE_OFFSET_PX - halfHeight;\n\t} else if (placement === 'right-start') {\n\t\tleft = ROTATED_HEIGHT_PX;\n\t\ttop = halfHeight - DISTANCE_OFFSET_PX;\n\t}\n\n\tif (placement === 'left') {\n\t\tleft = ROTATED_HEIGHT_PX * -1;\n\t} else if (placement === 'left-end') {\n\t\tleft = ROTATED_HEIGHT_PX * -1;\n\t\ttop = DISTANCE_OFFSET_PX - halfHeight;\n\t} else if (placement === 'left-start') {\n\t\tleft = ROTATED_HEIGHT_PX * -1;\n\t\ttop = halfHeight - DISTANCE_OFFSET_PX;\n\t}\n\n\treturn {\n\t\tleft,\n\t\ttop,\n\t};\n};\n\nexport { getNubbinMargins, getNubbinClassName, mapPropToPopperPlacement };\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\nimport { ICON_SETTINGS } from '../../utilities/constants';\n\n/**\n * The Icon Settings component allows for the path to the icons to be specified in all child components and is recommended to be used at the root of the application. It's render function is `return this.props.children`, so it can only have one child node.\n *\n * **Individual sprites**\n * If you are using webpack it is advised to use the sprite properties\n * {actionSprite, standardSprite...} to specify the individual sprite paths so that webpack can\n * easily re-write the paths.\n * ```\n * import actionSprite from '......';\n *\n * <IconSettings actionSprite={actionSprite} ......>\n * ```\n * **Root icon path**\n * Otherwise use the iconPath to specify the root path to where the icon files will be located in you application\n * such as `/assets/icons`.\n */\nclass IconSettings extends React.Component {\n\tgetChildContext() {\n\t\treturn {\n\t\t\ticonPath: this.props.iconPath,\n\t\t\tonRequestIconPath: this.props.onRequestIconPath,\n\t\t\tactionSprite: this.props.actionSprite,\n\t\t\tcustomSprite: this.props.customSprite,\n\t\t\tdoctypeSprite: this.props.doctypeSprite,\n\t\t\tstandardSprite: this.props.standardSprite,\n\t\t\tutilitySprite: this.props.utilitySprite,\n\t\t};\n\t}\n\n\trender() {\n\t\treturn this.props.children;\n\t}\n}\n\nIconSettings.displayName = ICON_SETTINGS;\n\nIconSettings.childContextTypes = {\n\ticonPath: PropTypes.string,\n\tonRequestIconPath: PropTypes.func,\n\tactionSprite: PropTypes.string,\n\tcustomSprite: PropTypes.string,\n\tdoctypeSprite: PropTypes.string,\n\tstandardSprite: PropTypes.string,\n\tutilitySprite: PropTypes.string,\n};\n\nIconSettings.propTypes = {\n\t/**\n\t * Path to the root icon folder\n\t * example: `/assets/icons`\n\t */\n\ticonPath: PropTypes.string,\n\t/**\n\t * Function to allow developers to return a custom icon path--for instance, on the same page with a local anchor (`#down`). This is helpful for when there are Cross-Origin Resource Sharing (CORS) issues with SVGs that are located on another domain such as a CDN. `({category, name}) => { return \\`#${name}\\` }`\n\t */\n\tonRequestIconPath: PropTypes.func,\n\t/**\n\t * Path to the action sprite\n\t * example: '@salesforce-ux/design-system/assets/icons/action-sprite/svg/symbols.svg';\n\t */\n\tactionSprite: PropTypes.string,\n\t/**\n\t * Path to the custom sprite\n\t * example: '@salesforce-ux/design-system/assets/icons/custom-sprite/svg/symbols.svg';\n\t */\n\tcustomSprite: PropTypes.string,\n\t/**\n\t * Path to the doctype sprite\n\t * example: '@salesforce-ux/design-system/assets/icons/doctype-sprite/svg/symbols.svg';\n\t */\n\tdoctypeSprite: PropTypes.string,\n\t/**\n\t * Path to the standard sprite\n\t * example: '@salesforce-ux/design-system/assets/icons/standard-sprite/svg/symbols.svg';\n\t */\n\tstandardSprite: PropTypes.string,\n\t/**\n\t * Path to the utility sprite\n\t * example: '@salesforce-ux/design-system/assets/icons/utility-sprite/svg/symbols.svg';\n\t */\n\tutilitySprite: PropTypes.string,\n};\n\nexport default IconSettings;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\nimport React from 'react';\n\nimport PropTypes from 'prop-types';\n\nimport Popper from 'popper.js';\nimport isEqual from 'lodash.isequal';\n\n// ### classNames\n// [github.com/JedWatson/classnames](https://github.com/JedWatson/classnames)\n// This project uses `classnames`, \"a simple javascript utility for conditionally\n// joining classNames together.\"\nimport classNames from 'classnames';\n\nimport Portal from './portal';\nimport EventUtil from '../../../utilities/event';\nimport KEYS from '../../../utilities/key-code';\nimport DOMElementFocus from '../../../utilities/dom-element-focus';\nimport {\n\tgetNubbinMargins,\n\tgetNubbinClassName,\n\tmapPropToPopperPlacement,\n} from '../../../utilities/dialog-helpers';\n\nimport { DIALOG } from '../../../utilities/constants';\n\n// #### Dialog doesn't pass down <IconSettings> context so repassing it here.\nimport IconSettings from '../../icon-settings';\n// eslint-disable-next-line camelcase\nimport UNSAFE_DirectionSettings, { DIRECTIONS } from '../UNSAFE_direction';\nimport LanguageDirection from '../UNSAFE_direction/private/language-direction';\n\n/*\n * A Dialog is content that is separate from the typical flow of a page. It typically overlays other elements in the document flow. This is achieved with elevation (`z-index`) and one of the following: relative position, absolute position, or a new top-level React render tree (portal). A boundary element is a scrolling ancestor element or the edge of the browser (window/viewport). This element typically has an overflow (overflow-y/overflow-x) style that is scroll, hidden, or auto. Inverted placement is the flipping of the overlay element from top to bottom or left to right in order stay within a boundary element.\n *\n * * Dropdown menu (Combobox, DatePicker, et al.) placement is typically bottom-aligned and should be allowed to invert its placement when inside a boundary element this often happens within a modal. Dropdowns should not overflow boundary elements , since most boundary elements scroll vertically and have space for the menu.\n *\n * * If they are hidden, left and right placed overlay elements (such as Popover and Tooltip) should be placed within a portal element attached to the DOM <body>, but styled to align to its target/trigger. Since scrolling typically occurs on the vertical axis, this allows them to overflow boundary elements and still allow scrolling of content, yet still invert placement for the browser viewport. Portal elements are only necessary if an original ancestor boundary element exists. **No portals are created by default.**\n *\n * * Nubbins/arrows should be repositioned for any new placement/alignment.\n *\n * Allow Overflowing of Boundary Element: Allow applications to create a portal element attached to the DOM <body> to be outside of boundary elements if manual testing shows confusing alignment/poor usability/readability. This should be exception and not the default.\n *\n * Allow Inverted placement: Allow applications to prevent inverted placement if manual testing shows confusing alignment/poor usability/readability.\n *\n * ### How this new Dialog component works\n * * There is no longer an inline render within components. All overlays should go through `Dialog`. `position: relative` just passes on the markup with some additional event listeners. No positional library is used.\n * * The default `position: absolute` will run through three renders. It will first render the overlay at `0px/0px` offset of its parent. It will then store the target DOM node, once the DOM node is set, a state change will occur and tell a PopperJS instance to be created on update, once it is created, a third render is done to update the styles created by PopperJS.\n * * `position: overflowBoundaryElement` will do the same three renders as `absolute` except that the initial render will create a disconnected render tree (portal) on the `body`. Then, the position will change once the target is stored. The portal itself will be rendered multiple times. The first will result in `onOpen` executing. Each update will result in a re-render of the disconnected render-tree.\n *\n * This component is private.\n */\nclass Dialog extends React.Component {\n\tstatic displayName = DIALOG;\n\n\tstatic propTypes = {\n\t\t/**\n\t\t * Alignment of the dialog with respect to the target (assuming left-to-right language direction). For example,\n\t\t * a value of 'left bottom' indicates that the dialog will be rendered below and left-aligned with the target.\n\t\t * Note that setting the direction prop to \"rtl\" will flip the resulting dialog alignment.\n\t\t */\n\t\talign: PropTypes.oneOf([\n\t\t\t'top',\n\t\t\t'top left',\n\t\t\t'top right',\n\t\t\t'right',\n\t\t\t'right top',\n\t\t\t'right bottom',\n\t\t\t'bottom',\n\t\t\t'bottom left',\n\t\t\t'bottom right',\n\t\t\t'left',\n\t\t\t'left top',\n\t\t\t'left bottom',\n\t\t]),\n\t\t/**\n\t\t * CSS classes to be added to the absolutely positioned element.\n\t\t */\n\t\tclassName: PropTypes.oneOfType([\n\t\t\tPropTypes.array,\n\t\t\tPropTypes.object,\n\t\t\tPropTypes.string,\n\t\t]),\n\t\t/**\n\t\t * CSS classes to be added to the wrapping `div` of the contents of the dialog.\n\t\t */\n\t\tcontentsClassName: PropTypes.oneOfType([\n\t\t\tPropTypes.array,\n\t\t\tPropTypes.object,\n\t\t\tPropTypes.string,\n\t\t]),\n\t\t/**\n\t\t * Contents of dialog\n\t\t */\n\t\tchildren: PropTypes.node.isRequired,\n\t\t/**\n\t\t * Closes dialog when tab key is pressed\n\t\t */\n\t\tcloseOnTabKey: PropTypes.bool,\n\t\t/**\n\t\t * Props passed along to wrapping div. This allows one less wrapping `div` to be in the markup. dialog children are expected to be wrapper in a single `div`.\n\t\t */\n\t\tcontainerProps: PropTypes.object,\n\t\t/**\n\t\t * Establishes directional context for component. Defaults to left-to-right.\n\t\t */\n\t\tdirection: PropTypes.oneOf([DIRECTIONS.LTR, DIRECTIONS.RTL]),\n\t\t/**\n\t\t * Will show the nubbin pointing from the dialog to the reference element. Positioning and offsets will be handled.\n\t\t */\n\t\thasNubbin: PropTypes.bool,\n\t\t/**\n\t\t * By default, dialogs will flip their alignment (such as bottom to top) if they extend beyond a boundary element such as a scrolling parent or a window/viewpoint. `hasStaticAlignment` disables this behavior and allows this component to extend beyond boundary elements.\n\t\t */\n\t\thasStaticAlignment: PropTypes.bool,\n\t\t/**\n\t\t * Sets the dialog width to the width of either 'target' (Menus attached to `input` typically follow this UX pattern), 'menu' or 'none.\n\t\t */\n\t\tinheritWidthOf: PropTypes.oneOf(['target', 'menu', 'none']),\n\t\t/**\n\t\t * DEPRECATED - do not add checkProp deprecation message at this level. It is handled at higher level components.\n\t\t * TODO - to be removed.\n\t\t * Offset adds pixels to the absolutely positioned dropdown menu in the format: ([vertical]px [horizontal]px). SHOULD BE OBJECT -----------\n\t\t */\n\t\toffset: PropTypes.string,\n\t\t/**\n\t\t * Called when dialog closes and unmounts.\n\t\t */\n\t\tonClose: PropTypes.func,\n\t\t/**\n\t\t * Called when a key pressed.\n\t\t */\n\t\tonKeyDown: PropTypes.func,\n\t\t/**\n\t\t * Called when mouse hovers over the trigger button. This is only called if `this.props.openOn` is set to `hover`.\n\t\t */\n\t\tonMouseEnter: PropTypes.func,\n\t\t/**\n\t\t * Called when mouse hover leaves the trigger button. This is only called if `this.props.openOn` is set to `hover`.\n\t\t */\n\t\tonMouseLeave: PropTypes.func,\n\t\t/**\n\t\t * Called when dialog opens (that is mounts). The parameters are `undefined, { portal: this.portal }`.\n\t\t */\n\t\tonOpen: PropTypes.func,\n\t\t/**\n\t\t * React component to be aligned with. Function should return a DOM `ref` from the parent component.\n\t\t */\n\t\tonRequestTargetElement: PropTypes.func.isRequired,\n\t\t/**\n\t\t * Triggered when an item in the menu is clicked.\n\t\t */\n\t\toutsideClickIgnoreClass: PropTypes.string,\n\t\t/**\n\t\t * If a dialog is `positione=\"overflowBoundaryElement\"`, it will be rendered in a portal or separate render tree. This `portalMount` callback will be triggered instead of the the default `ReactDOM.unstable_renderSubtreeIntoContainer` and the function will mount the portal itself. Consider the following code that bypasses the internal mount and uses an Enzyme wrapper to mount the React root tree to the DOM.\n\t\t *\n\t\t * ```\n\t\t * <Popover\n\t\t * isOpen\n\t\t * portalMount={({ instance, reactElement, domContainerNode }) => {\n\t\t * portalWrapper = Enzyme.mount(reactElement, { attachTo: domContainerNode });\n\t\t * }}\n\t\t * onOpen={() => {\n\t\t * expect(portalWrapper.find(`#my-heading`)).to.exist;\n\t\t * done();\n\t\t * }}\n\t\t * />\n\t\t * ```\n\t\t */\n\t\tportalMount: PropTypes.func,\n\t\t/**\n\t\t * Please select one of the following:\n\t\t * * `absolute` - (default) The dialog will use `position: absolute` and style attributes to position itself. This allows inverted placement or flipping of the dialog.\n\t\t * * `overflowBoundaryElement` - The dialog will overflow scrolling parents. Use on elements that are aligned to the left or right of their target and don't care about the target being within a scrolling parent. Typically this is a popover or tooltip. Dropdown menus can usually open up and down if no room exists. In order to achieve this a portal element will be created and attached to `body`. This element will render into that detached render tree.\n\t\t * * `relative` - No styling or portals will be used. Menus will be positioned relative to their triggers. This is a great choice for HTML snapshot testing.\n\t\t */\n\t\tposition: PropTypes.oneOf([\n\t\t\t'absolute',\n\t\t\t'overflowBoundaryElement',\n\t\t\t'relative',\n\t\t]).isRequired,\n\t\t/**\n\t\t * An object of CSS styles that are applied to the immediate parent `div` of the contents. Use this instead of margin props.\n\t\t */\n\t\tstyle: PropTypes.object,\n\n\t\t/**\n\t\t * Sets which focus UX pattern to follow. For instance, popovers trap focus and must be exited to regain focus. Dropdowns and Tooltips never have focus.\n\t\t */\n\t\tvariant: PropTypes.oneOf(['dropdown', 'popover', 'tooltip']),\n\t};\n\n\tstatic defaultProps = {\n\t\talign: 'bottom left',\n\t\tdirection: DIRECTIONS.LTR,\n\t\toffset: '0px 0px',\n\t\toutsideClickIgnoreClass: 'ignore-react-onclickoutside',\n\t};\n\n\tstate = {\n\t\ttriggerPopperJS: false,\n\t\tisOpen: false,\n\t};\n\n\tcomponentDidMount() {\n\t\tif (\n\t\t\tthis.props.position === 'absolute' ||\n\t\t\tthis.props.position === 'relative'\n\t\t) {\n\t\t\tthis.handleOpen();\n\t\t}\n\t}\n\n\t// eslint-disable-next-line camelcase, react/sort-comp\n\tUNSAFE_componentWillUpdate() {\n\t\tif (this.popper) {\n\t\t\tthis.popper.scheduleUpdate();\n\t\t}\n\t}\n\n\tcomponentDidUpdate(prevProps, prevState) {\n\t\tif (\n\t\t\tthis.state.triggerPopperJS === true &&\n\t\t\tprevState.triggerPopperJS === false &&\n\t\t\t(this.props.position === 'absolute' ||\n\t\t\t\tthis.props.position === 'overflowBoundaryElement') &&\n\t\t\tthis.dialogContent &&\n\t\t\tthis.props.onRequestTargetElement()\n\t\t) {\n\t\t\tthis.createPopper();\n\t\t}\n\t}\n\n\tcomponentWillUnmount() {\n\t\tif (this.props.variant === 'popover') {\n\t\t\tDOMElementFocus.teardownScopedFocus();\n\t\t\tDOMElementFocus.returnFocusToStoredElement();\n\t\t}\n\n\t\tif (\n\t\t\tthis.props.position === 'absolute' ||\n\t\t\tthis.props.position === 'overflowBoundaryElement'\n\t\t) {\n\t\t\tthis.destroyPopper();\n\t\t}\n\n\t\tthis.handleClose(undefined, { componentWillUnmount: true });\n\t}\n\n\tgetPropOffsetsInPixels = (offsetString) => {\n\t\tconst offsetArray = offsetString.split(' ');\n\t\treturn {\n\t\t\tvertical: parseInt(offsetArray[0], 10),\n\t\t\thorizontal: parseInt(offsetArray[1], 10),\n\t\t};\n\t};\n\n\tgetPopperStyles = () => {\n\t\tconst { popperData } = this.state;\n\t\tif (!this.popper || !popperData) {\n\t\t\treturn {\n\t\t\t\tposition: 'absolute',\n\t\t\t\tpointerEvents: 'none',\n\t\t\t};\n\t\t}\n\n\t\tconst { position } = popperData.offsets.popper;\n\t\tconst propOffsets = this.getPropOffsetsInPixels(this.props.offset);\n\n\t\t// FIXME before merge - gotta rename from margin to offset\n\t\tconst nubbinOffsets = this.props.hasNubbin\n\t\t\t? getNubbinMargins(this.state.popperData)\n\t\t\t: { left: 0, top: 0 };\n\n\t\tconst left =\n\t\t\tpopperData.offsets.popper.left +\n\t\t\tnubbinOffsets.left +\n\t\t\tpropOffsets.horizontal;\n\t\tconst top =\n\t\t\tpopperData.offsets.popper.top + nubbinOffsets.top + propOffsets.vertical;\n\n\t\t// A Dropdown with overflowBoundaryElement position and 'align=right' uses max-width instead of inherited children width\n\t\tconst right = 'inherit';\n\n\t\treturn {\n\t\t\t...popperData.style,\n\t\t\tleft: isNaN(left) ? 0 : left,\n\t\t\ttop: isNaN(top) ? 0 : top,\n\t\t\tright,\n\t\t\tposition,\n\t\t};\n\t};\n\n\t// Render\n\tsetDialogContent = (component) => {\n\t\tthis.dialogContent = component;\n\t\tif (!this.state.triggerPopperJS) {\n\t\t\tthis.setState({ triggerPopperJS: true });\n\t\t}\n\t};\n\n\t/**\n\t * Events\n\t */\n\thandleClickOutside = () => {\n\t\tthis.handleClose();\n\t};\n\n\thandleClose = (event, data = {}) => {\n\t\tif (!data.componentWillUnmount) {\n\t\t\tthis.setState({ triggerPopperJS: true });\n\t\t}\n\t\tif (this.props.onClose) {\n\t\t\tthis.props.onClose(event, data);\n\t\t}\n\t};\n\n\thandleClick = (event) => {\n\t\tif (event.nativeEvent) {\n\t\t\tevent.nativeEvent.preventDefault();\n\t\t\tevent.nativeEvent.stopPropagation();\n\t\t}\n\t};\n\n\thandleKeyDown = (event) => {\n\t\tif (event.keyCode === KEYS.TAB) {\n\t\t\tif (this.props.closeOnTabKey) {\n\t\t\t\tEventUtil.trap(event);\n\t\t\t\tthis.handleClose(event);\n\t\t\t}\n\t\t}\n\n\t\tif (this.props.onKeyDown) {\n\t\t\tthis.props.onKeyDown(event);\n\t\t}\n\t};\n\n\thandleOpen = () => {\n\t\tif (this.props.variant === 'popover' && this.dialogContent) {\n\t\t\tDOMElementFocus.storeActiveElement();\n\t\t\tDOMElementFocus.setupScopedFocus({\n\t\t\t\tancestorElement: this.dialogContent,\n\t\t\t}); // eslint-disable-line react/no-find-dom-node\n\t\t\t// Don't steal focus from inner elements\n\t\t\tif (!DOMElementFocus.hasOrAncestorHasFocus()) {\n\t\t\t\tDOMElementFocus.focusAncestor({\n\t\t\t\t\tisPortal: this.props.position === 'overflowBoundaryElement',\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\n\t\tif (this.props.onOpen) {\n\t\t\tthis.props.onOpen(undefined, { portal: this.dialogContent });\n\t\t}\n\t};\n\n\t/**\n\t * Popper API and helper functions\n\t */\n\n\tcreatePopper = () => {\n\t\tconst reference = this.props.onRequestTargetElement(); // eslint-disable-line react/no-find-dom-node\n\t\tconst popper = this.dialogContent;\n\t\tconst placement = mapPropToPopperPlacement(\n\t\t\tthis.props.align,\n\t\t\tthis.props.direction\n\t\t);\n\t\tconst eventsEnabled = true; // Lets popper listen to events (resize, scroll, etc.)\n\t\tconst modifiers = {\n\t\t\tapplyStyle: { enabled: false },\n\t\t\t// moves dialog in order to not extend a boundary element such as a scrolling parent or a window/viewpoint.\n\t\t\tpreventOverflow: {\n\t\t\t\tenabled: !this.props.hasStaticAlignment,\n\t\t\t\tboundariesElement:\n\t\t\t\t\tthis.props.position === 'absolute' ? 'scrollParent' : 'viewport',\n\t\t\t},\n\t\t\thide: { enabled: false },\n\t\t\t// By default, dialogs will flip their alignment if they extend beyond a boundary element such as a scrolling parent or a window/viewpoint\n\t\t\tflip: {\n\t\t\t\tenabled: !this.props.hasStaticAlignment,\n\t\t\t},\n\t\t\tremoveOnDestroy: true,\n\t\t\tupdateState: {\n\t\t\t\tenabled: true,\n\t\t\t\torder: 900,\n\t\t\t\tfn: (popperData) => {\n\t\t\t\t\tif (\n\t\t\t\t\t\t(this.state.popperData &&\n\t\t\t\t\t\t\t!isEqual(popperData.offsets, this.state.popperData.offsets)) ||\n\t\t\t\t\t\t!this.state.popperData\n\t\t\t\t\t) {\n\t\t\t\t\t\tthis.setState({ popperData });\n\t\t\t\t\t}\n\t\t\t\t\treturn popperData;\n\t\t\t\t},\n\t\t\t},\n\t\t\t// arrow property can also point to an element\n\t\t};\n\t\tif (!reference) {\n\t\t\tconsole.error('Target node not found!', reference); // eslint-disable-line no-console\n\t\t}\n\t\tif (!popper) {\n\t\t\tconsole.error('Popper node not found!', popper); // eslint-disable-line no-console\n\t\t}\n\t\tthis.popper = new Popper(reference, popper, {\n\t\t\tplacement,\n\t\t\teventsEnabled,\n\t\t\tmodifiers,\n\t\t});\n\n\t\tthis.popper.scheduleUpdate();\n\t};\n\n\tdestroyPopper = () => {\n\t\tif (this.popper) {\n\t\t\tthis.popper.destroy();\n\t\t}\n\t};\n\n\trender() {\n\t\tlet style = {};\n\t\tconst role =\n\t\t\tthis.props.variant === 'popover' ? 'dialog' : this.props.variant;\n\t\tif (\n\t\t\tthis.props.position === 'absolute' ||\n\t\t\tthis.props.position === 'overflowBoundaryElement'\n\t\t) {\n\t\t\tstyle = {\n\t\t\t\t...style,\n\t\t\t\toutline: 0,\n\t\t\t\t...this.getPopperStyles(),\n\t\t\t};\n\t\t}\n\n\t\tif (\n\t\t\tthis.props.inheritWidthOf === 'target' &&\n\t\t\tthis.props.onRequestTargetElement()\n\t\t) {\n\t\t\tstyle.width = this.props\n\t\t\t\t.onRequestTargetElement()\n\t\t\t\t.getBoundingClientRect().width;\n\t\t} else if (\n\t\t\tthis.props.inheritWidthOf === 'menu' &&\n\t\t\tthis.dialogContent &&\n\t\t\tthis.dialogContent.querySelector('.slds-listbox')\n\t\t) {\n\t\t\t// inherit menu renderer width\n\t\t\tstyle.width = this.dialogContent\n\t\t\t\t.querySelector('.slds-listbox')\n\t\t\t\t.getBoundingClientRect().width;\n\t\t}\n\n\t\tstyle = {\n\t\t\t...style,\n\t\t\t...this.props.style,\n\t\t};\n\n\t\tconst outerTag = this.props.variant === 'popover' ? 'section' : 'div';\n\n\t\tconst contents = React.createElement(\n\t\t\touterTag,\n\t\t\t{\n\t\t\t\tclassName:\n\t\t\t\t\tclassNames(\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t'absolute-positioned': this.props.position === 'absolute',\n\t\t\t\t\t\t\t'portal-positioned':\n\t\t\t\t\t\t\t\tthis.props.position === 'overflowBoundaryElement',\n\t\t\t\t\t\t\t[`${this.props.outsideClickIgnoreClass}`]:\n\t\t\t\t\t\t\t\tthis.props.position === 'overflowBoundaryElement',\n\t\t\t\t\t\t},\n\t\t\t\t\t\tthis.props.hasNubbin &&\n\t\t\t\t\t\t\tgetNubbinClassName(this.props.align, this.state.popperData),\n\t\t\t\t\t\tthis.props.contentsClassName\n\t\t\t\t\t) || undefined,\n\n\t\t\t\tstyle,\n\t\t\t\tonMouseDown: this.props.onMouseDown,\n\t\t\t\tonKeyDown: this.handleKeyDown,\n\t\t\t\tonMouseEnter: this.props.onMouseEnter,\n\t\t\t\tonMouseLeave: this.props.onMouseLeave,\n\t\t\t\tref: this.setDialogContent,\n\t\t\t\trole,\n\t\t\t\ttabIndex: this.props.variant === 'popover' ? '-1' : undefined,\n\t\t\t\t...this.props.containerProps,\n\t\t\t},\n\n\t\t\tthis.props.children\n\t\t);\n\n\t\tconst subRenders = {\n\t\t\tabsolute: () => contents,\n\t\t\trelative: () => contents,\n\t\t\toverflowBoundaryElement: () => {\n\t\t\t\t// Cycle through current context, create object of\n\t\t\t\t// truthy values, and pass into Portal's context.\n\n\t\t\t\t// TODO: Add test when switched to `ReactDOM.createPortal`\n\t\t\t\tconst truthyIconSettingsContext = Object.keys(\n\t\t\t\t\tIconSettings.childContextTypes\n\t\t\t\t)\n\t\t\t\t\t.filter((key) => Boolean(this.context[key]))\n\t\t\t\t\t.reduce(\n\t\t\t\t\t\t(accumulatedContext, key) => ({\n\t\t\t\t\t\t\t...accumulatedContext,\n\t\t\t\t\t\t\t...{ [key]: this.context[key] },\n\t\t\t\t\t\t}),\n\t\t\t\t\t\t{}\n\t\t\t\t\t);\n\t\t\t\tconst wrapped = (\n\t\t\t\t\t// eslint-disable-next-line\n\t\t\t\t\t<UNSAFE_DirectionSettings.Provider value={this.props.direction}>\n\t\t\t\t\t\t<IconSettings {...truthyIconSettingsContext}>\n\t\t\t\t\t\t\t{contents}\n\t\t\t\t\t\t</IconSettings>\n\t\t\t\t\t</UNSAFE_DirectionSettings.Provider>\n\t\t\t\t);\n\t\t\t\treturn (\n\t\t\t\t\t<Portal onOpen={this.handleOpen} portalMount={this.props.portalMount}>\n\t\t\t\t\t\t{wrapped}\n\t\t\t\t\t</Portal>\n\t\t\t\t);\n\t\t\t},\n\t\t};\n\n\t\treturn subRenders[this.props.position] && subRenders[this.props.position]();\n\t}\n}\n\nDialog.contextTypes = {\n\ticonPath: PropTypes.string,\n\tonRequestIconPath: PropTypes.func,\n\tactionSprite: PropTypes.string,\n\tcustomSprite: PropTypes.string,\n\tdoctypeSprite: PropTypes.string,\n\tstandardSprite: PropTypes.string,\n\tutilitySprite: PropTypes.string,\n};\n\nexport default LanguageDirection(Dialog);\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n/* eslint-disable import/no-mutable-exports */\n\nimport sunsetProperty from '../../utilities/warning/sunset-property';\nimport getComponentDocFn from '../../utilities/get-component-doc';\n\nlet checkProps = function checkPropsFunction() {};\n\nif (process.env.NODE_ENV !== 'production') {\n\tcheckProps = function checkPropsFunction(COMPONENT, props, jsonDoc) {\n\t\tif (typeof props.assistiveText === 'string') {\n\t\t\tconst createDocUrl = getComponentDocFn(jsonDoc);\n\n\t\t\tsunsetProperty(\n\t\t\t\tCOMPONENT,\n\t\t\t\tprops.assistiveText,\n\t\t\t\t'assistiveText',\n\t\t\t\t`\\`assistiveText\\` as a string has been deprecated and is now an object to allow for multiple uses in the component. Please use \\`assistiveText.label\\` instead. ${createDocUrl(\n\t\t\t\t\t'assistiveText'\n\t\t\t\t)}`\n\t\t\t);\n\t\t}\n\t};\n}\n\nexport default checkProps;\n","// ### classNames\n// [github.com/JedWatson/classnames](https://github.com/JedWatson/classnames)\n// This project uses `classnames`, \"a simple javascript utility for conditionally\n// joining classNames together.\"\nimport classNames from 'classnames';\n\n// eslint-disable-next-line fp/no-rest-parameters\nconst classNamesWrapper = (...rest) => {\n\tconst string = classNames(...rest);\n\treturn string === '' ? undefined : string;\n};\n\nexport default classNamesWrapper;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// # Icon Component\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\nimport checkProps from './check-props';\nimport componentDoc from './component.json';\n\n// ### classNames\n// [github.com/JedWatson/classnames](https://github.com/JedWatson/classnames)\n// A simple javascript utility for conditionally joining classNames together.\nimport classNames from '../../utilities/class-names';\n\n// ## Children\nimport UtilityIcon from '../utilities/utility-icon';\n\nimport IconBackgrounds from '../../utilities/product-tokens/icon-backgrounds';\n\nimport { ICON } from '../../utilities/constants';\n\nconst defaultProps = {\n\tassistiveText: {},\n\tcategory: 'standard',\n\tcolorVariant: 'default',\n\tsize: 'medium',\n};\n\n/**\n * The Icon component is the Lightning Design System Icon component and should be used for naked icons. For icons that are buttons, use the <a href='/components/buttons/'>Button component</a> component with <code>variant='icon'</code>.\n */\nconst Icon = (props) => {\n\tcheckProps(ICON, props, componentDoc);\n\tconst {\n\t\tcategory,\n\t\tclassName,\n\t\tcolorVariant,\n\t\tcontainerClassName,\n\t\tcontainerStyle,\n\t\ticon,\n\t\tinverse,\n\t\tname,\n\t\tpath,\n\t\tsize,\n\t\ttitle,\n\t\tproductTheme,\n\t} = props;\n\n\tlet { style } = props;\n\tif (productTheme) {\n\t\tstyle = { backgroundColor: IconBackgrounds[productTheme], ...style };\n\t}\n\tconst assistiveText =\n\t\ttypeof props.assistiveText === 'string'\n\t\t\t? props.assistiveText\n\t\t\t: {\n\t\t\t\t\t...defaultProps.assistiveText,\n\t\t\t\t\t...props.assistiveText,\n\t\t\t }.label;\n\n\tconst kababCaseName = name ? name.replace(/_/g, '-') : '';\n\n\treturn (\n\t\t<span\n\t\t\tclassName={classNames(\n\t\t\t\t{\n\t\t\t\t\t'slds-icon_container': category !== 'utility',\n\t\t\t\t\t'slds-icon_container_circle': category === 'action',\n\t\t\t\t\t[`slds-icon-${category}-${kababCaseName}`]:\n\t\t\t\t\t\tcategory !== 'utility' && category !== 'doctype' && !path,\n\t\t\t\t},\n\t\t\t\tcontainerClassName\n\t\t\t)}\n\t\t\tstyle={containerStyle}\n\t\t\ttitle={title}\n\t\t>\n\t\t\t<UtilityIcon\n\t\t\t\taria-hidden=\"true\"\n\t\t\t\tcategory={category}\n\t\t\t\tclassName={classNames(className, 'slds-icon', {\n\t\t\t\t\t'slds-icon_xx-small': size === 'xx-small',\n\t\t\t\t\t'slds-icon_x-small': size === 'x-small',\n\t\t\t\t\t'slds-icon_small': size === 'small',\n\t\t\t\t\t// medium intentially not present\n\t\t\t\t\t'slds-icon_large': size === 'large',\n\t\t\t\t\t// if category is `utility` and `inverse` is false (default), icon will be dark // return true\n\t\t\t\t\t// if category is `utility` and `inverse` is true, icon will be light // return false\n\t\t\t\t\t// if category is NOT `utility` and `inverse` is false (default), icon will be light // return false\n\t\t\t\t\t// if category is NOT `utility` and `inverse` is true, icon will be dark // return true\n\t\t\t\t\t'slds-icon-text-default':\n\t\t\t\t\t\tcolorVariant === 'default' && category === 'utility'\n\t\t\t\t\t\t\t? !inverse\n\t\t\t\t\t\t\t: inverse,\n\t\t\t\t\t'slds-icon-text-warning': colorVariant === 'warning',\n\t\t\t\t\t'slds-icon-text-error': colorVariant === 'error',\n\t\t\t\t\t'slds-icon-text-light': colorVariant === 'light',\n\t\t\t\t})}\n\t\t\t\ticon={icon}\n\t\t\t\tname={name}\n\t\t\t\tpath={path}\n\t\t\t\tstyle={style}\n\t\t\t/>\n\t\t\t{assistiveText ? (\n\t\t\t\t<span className=\"slds-assistive-text\">{assistiveText}</span>\n\t\t\t) : (\n\t\t\t\t''\n\t\t\t)}\n\t\t</span>\n\t);\n};\n\n// ### Display Name\n// Always use the canonical component name as the React display name.\nIcon.displayName = ICON;\n\n// ### Prop Types\nIcon.propTypes = {\n\t/**\n\t * **Assistive text for accessibility.**\n\t * This object is merged with the default props object on every render.\n\t * * `label`: Text that is visually hidden but read aloud by screenreaders to tell the user what the icon means. Naked icons must have assistive text, however, if you also have visible descriptive text with the icon, declare this prop as <code>assistiveText=''</code>.\n\t */\n\tassistiveText: PropTypes.shape({\n\t\tlabel: PropTypes.string,\n\t}),\n\t/**\n\t * Icon category from [lightningdesignsystem.com/icons/](https://www.lightningdesignsystem.com/icons/)\n\t */\n\tcategory: PropTypes.oneOf([\n\t\t'action',\n\t\t'custom',\n\t\t'doctype',\n\t\t'standard',\n\t\t'utility',\n\t]).isRequired,\n\t/**\n\t * CSS classes that are applied to the SVG.\n\t */\n\tclassName: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\t/**\n\t * CSS classes that are applied to the span.\n\t */\n\tcontainerClassName: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\t/**\n\t * Styles that are applied to the span.\n\t */\n\tcontainerStyle: PropTypes.object,\n\t/**\n\t * Icon color variants\n\t */\n\tcolorVariant: PropTypes.oneOf([\n\t\t'base',\n\t\t'default',\n\t\t'error',\n\t\t'light',\n\t\t'warning',\n\t]),\n\t/**\n\t * A custom SVG object to use instead of the supplied SLDS icons, look in `design-system-react/icons` for examples and syntax.\n\t */\n\ticon: PropTypes.object,\n\t/**\n\t * Setting `inverse` to true will switch the color of the icon: light to dark, dark to light.\n\t */\n\tinverse: PropTypes.bool,\n\t/**\n\t * Name of the icon. Visit <a href='http://www.lightningdesignsystem.com/resources/icons'>Lightning Design System Icons</a> to reference icon names.\n\t */\n\tname: PropTypes.string,\n\t/**\n\t * Path to the icon. This will override any global icon settings\n\t */\n\tpath: PropTypes.string,\n\t/**\n\t * Background theme color for the icon. **Only compatible with icon category `standard`**\n\t */\n\tproductTheme: PropTypes.oneOf([\n\t\t'global-setup',\n\t\t'service-cloud',\n\t\t'industry-cloud',\n\t\t'sales-cloud',\n\t\t'commerce-cloud',\n\t\t'community-cloud',\n\t\t'marketing-cloud',\n\t\t'quip',\n\t]),\n\t/**\n\t * Size of the icon. Visit [lightningdesignsystem.com/components/icons/#flavor-sizes](https://www.lightningdesignsystem.com/components/icons/#flavor-sizes)\n\t */\n\tsize: PropTypes.oneOf(['xx-small', 'x-small', 'small', 'medium', 'large']),\n\t/**\n\t * Custom styles to be passed to the SVG. Could be used to change icon or background color.\n\t */\n\tstyle: PropTypes.object,\n\t/**\n\t * Title attribute for the icon container\n\t */\n\ttitle: PropTypes.string,\n};\n\nIcon.defaultProps = defaultProps;\n\nexport default Icon;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n/* eslint-disable import/no-mutable-exports */\n\nimport React from 'react';\n\nimport deprecatedProperty from '../../utilities/warning/deprecated-property';\nimport deprecatedPropertyValue from '../../utilities/warning/deprecated-property-value';\nimport isTriggerTabbable from '../../utilities/warning/is-trigger-tabbable';\nimport getComponentDocFn from '../../utilities/get-component-doc';\n\nlet checkProps = function checkPropsFunction() {};\n\nif (process.env.NODE_ENV !== 'production') {\n\tcheckProps = function checkPropsFunction(COMPONENT, props, jsonDoc) {\n\t\tconst createDocUrl = getComponentDocFn(jsonDoc);\n\n\t\tif (\n\t\t\tprops.variant === 'base' &&\n\t\t\tReact.Children.count(props.children) !== 0\n\t\t) {\n\t\t\tisTriggerTabbable(\n\t\t\t\tCOMPONENT,\n\t\t\t\tprops.children,\n\t\t\t\tcreateDocUrl(),\n\t\t\t\tprops.silenceTriggerTabbableWarning\n\t\t\t);\n\t\t}\n\n\t\t// Deprecated and changed to another property\n\t\tdeprecatedPropertyValue(\n\t\t\tCOMPONENT,\n\t\t\t{\n\t\t\t\tpropAsString: 'variant',\n\t\t\t\tpropValue: props.variant,\n\t\t\t\tdeprecatedPropValue: 'info',\n\t\t\t\treplacementPropAsString: 'theme',\n\t\t\t\treplacementPropAsValue: 'info',\n\t\t\t},\n\t\t\tcreateDocUrl('theme')\n\t\t);\n\t\tdeprecatedPropertyValue(\n\t\t\tCOMPONENT,\n\t\t\t{\n\t\t\t\tpropAsString: 'variant',\n\t\t\t\tpropValue: props.variant,\n\t\t\t\tdeprecatedPropValue: 'error',\n\t\t\t\treplacementPropAsString: 'theme',\n\t\t\t\treplacementPropAsValue: 'error',\n\t\t\t},\n\t\t\tcreateDocUrl('theme')\n\t\t);\n\t\tdeprecatedProperty(\n\t\t\tCOMPONENT,\n\t\t\tprops.openByDefault,\n\t\t\t'openByDefault',\n\t\t\t'isOpen',\n\t\t\tcreateDocUrl('isOpen')\n\t\t);\n\t\tdeprecatedProperty(\n\t\t\tCOMPONENT,\n\t\t\tprops.target,\n\t\t\t'target',\n\t\t\tundefined,\n\t\t\t`A new positioning library is being implmented under the hood. Please trigger tooltips to appear on their triggers with \\`isOpen\\` and not on other DOM elements. ${createDocUrl(\n\t\t\t\t'isOpen'\n\t\t\t)}` // eslint-disable-line max-len\n\t\t);\n\n\t\tdeprecatedProperty(\n\t\t\tCOMPONENT,\n\t\t\tprops.isInline,\n\t\t\t'isInline',\n\t\t\t'position=\"relative\"',\n\t\t\tcreateDocUrl('position')\n\t\t);\n\t};\n}\n\nexport default checkProps;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// # Tooltip\n\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\nimport classNames from 'classnames';\n\n// ### shortid\n// [npmjs.com/package/shortid](https://www.npmjs.com/package/shortid)\n// shortid is a short, non-sequential, url-friendly, unique id generator\nimport shortid from 'shortid';\n\nimport { POPOVER_TOOLTIP } from '../../utilities/constants';\n\nimport Dialog from '../utilities/dialog';\nimport Icon from '../icon';\n// eslint-disable-next-line import/no-cycle\nimport Button from '../button';\n\n// This component's `checkProps` which issues warnings to developers about properties when in development mode (similar to React's built in development tools)\nimport checkProps from './check-props';\nimport componentDoc from './component.json';\n\n// ### Display Name\n// Always use the canonical component name as the React display name.\nconst displayName = POPOVER_TOOLTIP;\n\nconst propTypes = {\n\t/**\n\t * Alignment of the Tooltip relative to the element that triggers it.\n\t */\n\talign: PropTypes.oneOf([\n\t\t'top',\n\t\t'top left',\n\t\t'top right',\n\t\t'right',\n\t\t'right top',\n\t\t'right bottom',\n\t\t'bottom',\n\t\t'bottom left',\n\t\t'bottom right',\n\t\t'left',\n\t\t'left top',\n\t\t'left bottom',\n\t]).isRequired,\n\t/**\n\t * **Assistive text for accessibility**\n\t * This object is merged with the default props object on every render.\n\t * * `tooltipTipLearnMoreIcon`: This text is inside the info icon within the tooltip content and exists to \"complete the sentence\" for assistive tech users.\n\t * * `triggerLearnMoreIcon`: This text is inside the info icon that triggers the tooltip in order to have text within the link.\n\t */\n\tassistiveText: PropTypes.shape({\n\t\ttooltipTipLearnMoreIcon: PropTypes.string,\n\t\ttriggerLearnMoreIcon: PropTypes.string,\n\t}),\n\t/**\n\t * Pass the one element that triggers the Tooltip as a child. It must be an element with `tabIndex` or an element that already has a `tabIndex` set such as an anchor or a button, so that keyboard users can tab to it.\n\t */\n\tchildren: PropTypes.node,\n\t/**\n\t * Content inside Tooltip.\n\t */\n\tcontent: PropTypes.node.isRequired,\n\t/**\n\t * CSS classes to be added to the popover dialog. That is the element with `.slds-popover` on it.\n\t */\n\tdialogClassName: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\t/**\n\t * Enabling this hides the default nubbin, replacing it with one attached directly to the tooltip trigger. Note: `hasStaticAlignment` should be set to `true` if using this feature as auto-flipping anchored nubbins are not currently supported.\n\t */\n\thasAnchoredNubbin: PropTypes.bool,\n\t/**\n\t * By default, dialogs will flip their alignment (such as bottom to top) if they extend beyond a boundary element such as a scrolling parent or a window/viewpoint. `hasStaticAlignment` disables this behavior and allows this component to extend beyond boundary elements. _Not tested._\n\t */\n\thasStaticAlignment: PropTypes.bool,\n\t/**\n\t * Delay on Tooltip closing in milliseconds. Defaults to 50\n\t */\n\thoverCloseDelay: PropTypes.number,\n\t/**\n\t * Delay on Tooltip opening in milliseconds. Defaults to 0\n\t */\n\thoverOpenDelay: PropTypes.number,\n\t/**\n\t * A unique ID is needed in order to support keyboard navigation, ARIA support, and connect the popover to the triggering element.\n\t */\n\tid: PropTypes.string,\n\t/**\n\t * **Text labels for internationalization**\n\t * This object is merged with the default props object on every render.\n\t * * `learnMoreAfter`: This label appears in the tooltip after the info icon.\n\t * * `learnMoreBefore`: This label appears in the tooltip before the info icon.\n\t */\n\tlabels: PropTypes.shape({\n\t\tlearnMoreAfter: PropTypes.string,\n\t\tlearnMoreBefore: PropTypes.string,\n\t}),\n\t/**\n\t * Forces tooltip to be open. A value of `false` will disable any interaction with the tooltip.\n\t */\n\tisOpen: PropTypes.bool,\n\t/**\n\t * Callback that returns an element or React `ref` to align the Tooltip with.\n\t */\n\tonRequestTargetElement: PropTypes.func,\n\t/**\n\t * CSS classes to be added to tag with `slds-tooltip-trigger`.\n\t */\n\ttriggerClassName: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\t/**\n\t * Please select one of the following:\n\t * * `absolute` - (default) The dialog will use `position: absolute` and style attributes to position itself. This allows inverted placement or flipping of the dialog.\n\t * * `overflowBoundaryElement` - The dialog will overflow scrolling parents. Use on elements that are aligned to the left or right of their target and don't care about the target being within a scrolling parent. Typically this is a popover or tooltip. Dropdown menus can usually open up and down if no room exists. In order to achieve this a portal element will be created and attached to `body`. This element will render into that detached render tree.\n\t * * `relative` - No styling or portals will be used. Menus will be positioned relative to their triggers. This is a great choice for HTML snapshot testing.\n\t */\n\tposition: PropTypes.oneOf([\n\t\t'absolute',\n\t\t'overflowBoundaryElement',\n\t\t'relative',\n\t]),\n\t/**\n\t * Custom styles to be added to wrapping triggering `div`.\n\t */\n\ttriggerStyle: PropTypes.object,\n\t/**\n\t * Determines the theme of tooltip: for informative purpose (blue background) or warning purpose (red background). This used to be `variant`.\n\t */\n\ttheme: PropTypes.oneOf(['info', 'error']),\n\t/**\n\t * Determines the type of the tooltip.\n\t */\n\tvariant: PropTypes.oneOf(['base', 'learnMore', 'list-item']),\n};\n\nconst defaultProps = {\n\tassistiveText: {\n\t\ttooltipTipLearnMoreIcon: 'this link',\n\t\ttriggerLearnMoreIcon: 'Help',\n\t},\n\talign: 'top',\n\t// eslint-disable-next-line react/jsx-curly-brace-presence\n\tcontent: <span>{'Tooltip'}</span>,\n\tlabels: {\n\t\tlearnMoreAfter: 'to learn more.',\n\t\tlearnMoreBefore: 'Click',\n\t},\n\thoverCloseDelay: 50,\n\thoverOpenDelay: 0,\n\tposition: 'absolute',\n\ttheme: 'info',\n\tvariant: 'base',\n};\n\n/**\n * The PopoverTooltip component is variant of the Lightning Design System Popover component. This component wraps an element that triggers it to open. It must be a focusable child element (either a button or an anchor), so that keyboard users can navigate to it.\n */\nclass Tooltip extends React.Component {\n\tconstructor(props) {\n\t\tsuper(props);\n\n\t\tthis.state = {\n\t\t\tisOpen: false,\n\t\t};\n\n\t\tthis.tooltipTimeout = {};\n\n\t\t// `checkProps` issues warnings to developers about properties (similar to React's built in development tools)\n\t\tcheckProps(POPOVER_TOOLTIP, props, componentDoc);\n\n\t\tthis.generatedId = shortid.generate();\n\t}\n\n\tcomponentWillUnmount() {\n\t\tthis.isUnmounting = true;\n\t}\n\n\tgetAnchoredNubbinStyles() {\n\t\tif (this.props.hasAnchoredNubbin) {\n\t\t\tconst alignment = this.props.align.split(' ')[0];\n\t\t\tconst nubbinContainerStyles = {\n\t\t\t\theight: '0',\n\t\t\t\tposition: 'relative',\n\t\t\t\twidth: '0',\n\t\t\t};\n\t\t\tconst nubbinStyles = {\n\t\t\t\tbackgroundColor: '#16325c',\n\t\t\t\tcontent: '',\n\t\t\t\theight: '1rem',\n\t\t\t\tposition: 'absolute',\n\t\t\t\ttransform: 'rotate(45deg)',\n\t\t\t\twidth: '1rem',\n\t\t\t};\n\t\t\tconst triggerDimensions = {\n\t\t\t\theight: this.trigger ? this.trigger.getBoundingClientRect().height : 0,\n\t\t\t\twidth: this.trigger ? this.trigger.getBoundingClientRect().width : 0,\n\t\t\t};\n\n\t\t\tswitch (alignment) {\n\t\t\t\tcase 'bottom': {\n\t\t\t\t\tnubbinContainerStyles.left = `${triggerDimensions.width / 2}px`;\n\t\t\t\t\tnubbinContainerStyles.top = `${triggerDimensions.height}px`;\n\t\t\t\t\tnubbinStyles.left = '-8px';\n\t\t\t\t\tnubbinStyles.top = '3px';\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t\tcase 'left': {\n\t\t\t\t\tnubbinContainerStyles.left = '0';\n\t\t\t\t\tnubbinContainerStyles.top = `${triggerDimensions.height / 2}px`;\n\t\t\t\t\tnubbinStyles.left = '-19px';\n\t\t\t\t\tnubbinStyles.top = '-9px';\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t\tcase 'right': {\n\t\t\t\t\tnubbinContainerStyles.left = `${triggerDimensions.width}px`;\n\t\t\t\t\tnubbinContainerStyles.top = `${triggerDimensions.height / 2}px`;\n\t\t\t\t\tnubbinStyles.left = '3px';\n\t\t\t\t\tnubbinStyles.top = '-9px';\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t\tdefault: {\n\t\t\t\t\tnubbinContainerStyles.left = `${triggerDimensions.width / 2}px`;\n\t\t\t\t\tnubbinContainerStyles.top = '0';\n\t\t\t\t\tnubbinStyles.left = '-8px';\n\t\t\t\t\tnubbinStyles.top = '-19px';\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn (\n\t\t\t\t<React.Fragment>\n\t\t\t\t\t<style>{`#${this.getId()}:after, #${this.getId()}:before {\n\tdisplay: none;\n}`}</style>\n\t\t\t\t\t{this.getIsOpen() ? (\n\t\t\t\t\t\t<div style={nubbinContainerStyles}>\n\t\t\t\t\t\t\t<div style={nubbinStyles} />\n\t\t\t\t\t\t</div>\n\t\t\t\t\t) : null}\n\t\t\t\t</React.Fragment>\n\t\t\t);\n\t\t}\n\n\t\treturn null;\n\t}\n\n\tgetContent() {\n\t\tlet children;\n\t\tconst noChildrenProvided = React.Children.count(this.props.children) === 0;\n\n\t\tif (noChildrenProvided && this.props.onClickTrigger) {\n\t\t\tchildren = [\n\t\t\t\t<a href=\"javascript:void(0)\" onClick={this.props.onClickTrigger}>\n\t\t\t\t\t<Icon\n\t\t\t\t\t\tcategory=\"utility\"\n\t\t\t\t\t\tname=\"info\"\n\t\t\t\t\t\tassistiveText={{\n\t\t\t\t\t\t\tlabel: this.props.assistiveText.triggerLearnMoreIcon,\n\t\t\t\t\t\t}}\n\t\t\t\t\t\tsize=\"x-small\"\n\t\t\t\t\t/>\n\t\t\t\t</a>,\n\t\t\t];\n\t\t} else if (noChildrenProvided) {\n\t\t\tchildren = [\n\t\t\t\t<Button\n\t\t\t\t\taria-disabled\n\t\t\t\t\tassistiveText={{\n\t\t\t\t\t\ticon: this.props.assistiveText.triggerLearnMoreIcon,\n\t\t\t\t\t}}\n\t\t\t\t\ticonCategory=\"utility\"\n\t\t\t\t\ticonName=\"info\"\n\t\t\t\t\tvariant=\"icon\"\n\t\t\t\t/>,\n\t\t\t];\n\t\t} else {\n\t\t\t// eslint-disable-next-line prefer-destructuring\n\t\t\tchildren = this.props.children;\n\t\t}\n\n\t\treturn React.Children.map(children, (child, i) =>\n\t\t\tReact.cloneElement(child, {\n\t\t\t\tkey: i, // eslint-disable-line react/no-array-index-key\n\t\t\t\t'aria-describedby': this.getIsOpen() ? this.getId() : undefined,\n\t\t\t\tonBlur: this.handleMouseLeave,\n\t\t\t\tonFocus: this.handleMouseEnter,\n\t\t\t\tonMouseEnter: this.handleMouseEnter,\n\t\t\t\tonMouseLeave: this.handleMouseLeave,\n\t\t\t})\n\t\t);\n\t}\n\n\tgetId() {\n\t\treturn this.props.id || this.generatedId;\n\t}\n\n\tgetIsOpen() {\n\t\treturn this.props.isOpen === undefined\n\t\t\t? this.state.isOpen\n\t\t\t: this.props.isOpen;\n\t}\n\n\tgetTooltip() {\n\t\tconst isOpen = this.getIsOpen();\n\t\tconst { align } = this.props;\n\n\t\t// REMOVE AT NEXT BREAKING CHANGE (v1.0 or v0.9)\n\t\tconst deprecatedWay = this.props.variant === 'error';\n\n\t\treturn isOpen ? (\n\t\t\t<Dialog\n\t\t\t\tcloseOnTabKey\n\t\t\t\thasNubbin\n\t\t\t\tcontentsClassName={classNames(\n\t\t\t\t\t'slds-popover',\n\t\t\t\t\t'slds-popover_tooltip',\n\t\t\t\t\t{\n\t\t\t\t\t\t'slds-theme_error': this.props.theme === 'error' || deprecatedWay,\n\t\t\t\t\t},\n\t\t\t\t\tthis.props.dialogClassName\n\t\t\t\t)}\n\t\t\t\talign={align}\n\t\t\t\tcontext={this.context}\n\t\t\t\thasStaticAlignment={this.props.hasStaticAlignment}\n\t\t\t\tonClose={this.handleCancel}\n\t\t\t\tonRequestTargetElement={() => this.getTooltipTarget()}\n\t\t\t\tposition={this.props.position}\n\t\t\t\tvariant=\"tooltip\"\n\t\t\t\tcontainerProps={{\n\t\t\t\t\tid: this.getId(),\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\t{this.getTooltipContent()}\n\t\t\t</Dialog>\n\t\t) : (\n\t\t\t<span />\n\t\t);\n\t}\n\n\tgetTooltipContent() {\n\t\treturn (\n\t\t\t<div className=\"slds-popover__body\">\n\t\t\t\t{this.props.content}\n\t\t\t\t{this.props.variant === 'learnMore' && this.props.onClickTrigger ? (\n\t\t\t\t\t<div className=\"slds-m-top_x-small\" aria-hidden=\"true\">\n\t\t\t\t\t\t{this.props.labels.learnMoreBefore}{' '}\n\t\t\t\t\t\t<Icon\n\t\t\t\t\t\t\tassistiveText={{\n\t\t\t\t\t\t\t\tlabel: this.props.assistiveText.tooltipTipLearnMoreIcon,\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\tcategory=\"utility\"\n\t\t\t\t\t\t\tinverse\n\t\t\t\t\t\t\tname=\"info\"\n\t\t\t\t\t\t\tsize=\"x-small\"\n\t\t\t\t\t\t/>{' '}\n\t\t\t\t\t\t{this.props.labels.learnMoreAfter}{' '}\n\t\t\t\t\t</div>\n\t\t\t\t) : null}\n\t\t\t</div>\n\t\t);\n\t}\n\n\tgetTooltipTarget() {\n\t\tif (this.props.onRequestTargetElement) {\n\t\t\treturn this.props.onRequestTargetElement();\n\t\t}\n\n\t\t// for backwards compatibility\n\t\tif (this.props.target) {\n\t\t\treturn this.props.target;\n\t\t}\n\n\t\treturn this.trigger;\n\t}\n\n\thandleCancel = () => {\n\t\tclearTimeout(this.tooltipTimeout);\n\n\t\tthis.setState({\n\t\t\tisOpen: false,\n\t\t});\n\t};\n\n\thandleMouseEnter = () => {\n\t\tclearTimeout(this.tooltipTimeout);\n\n\t\tthis.tooltipTimeout = setTimeout(() => {\n\t\t\tif (!this.isUnmounting) {\n\t\t\t\tthis.setState({\n\t\t\t\t\tisOpen: true,\n\t\t\t\t});\n\t\t\t}\n\t\t}, this.props.hoverOpenDelay);\n\t};\n\n\thandleMouseLeave = () => {\n\t\tclearTimeout(this.tooltipTimeout);\n\n\t\tthis.tooltipTimeout = setTimeout(() => {\n\t\t\tif (!this.isUnmounting) {\n\t\t\t\tthis.setState({\n\t\t\t\t\tisOpen: false,\n\t\t\t\t});\n\t\t\t}\n\t\t}, this.props.hoverCloseDelay);\n\t};\n\n\tsaveTriggerRef = (component) => {\n\t\tthis.trigger = component;\n\t\t// yes, this is a re-render triggered by a render.\n\t\t// Dialog/Popper.js cannot place the popover until\n\t\t// the trigger/target DOM node is mounted. This\n\t\t// way `findDOMNode` is not called and parent\n\t\t// DOM nodes are not queried.\n\t\tif (!this.state.triggerRendered) {\n\t\t\tthis.setState({ triggerRendered: true });\n\t\t}\n\t};\n\n\trender() {\n\t\tconst containerStyles = {\n\t\t\tdisplay: 'inline-block',\n\t\t\tlineHeight: '1',\n\t\t\t...this.props.triggerStyle,\n\t\t};\n\n\t\treturn (\n\t\t\t<div\n\t\t\t\tclassName={classNames(\n\t\t\t\t\t'slds-tooltip-trigger',\n\t\t\t\t\tthis.props.triggerClassName\n\t\t\t\t)}\n\t\t\t\tstyle={containerStyles}\n\t\t\t\tref={this.saveTriggerRef}\n\t\t\t>\n\t\t\t\t{this.getAnchoredNubbinStyles()}\n\t\t\t\t{this.getContent()}\n\t\t\t\t{this.getTooltip()}\n\t\t\t</div>\n\t\t);\n\t}\n}\n\nTooltip.contextTypes = {\n\ticonPath: PropTypes.string,\n};\n\nTooltip.displayName = displayName;\nTooltip.propTypes = propTypes;\nTooltip.defaultProps = defaultProps;\n\nexport default Tooltip;\n","export default function getAriaProps(props) {\n\treturn Object.keys(props).reduce((prev, key) => {\n\t\tif (key.substr(0, 5) === 'aria-') {\n\t\t\t// eslint-disable-next-line no-param-reassign\n\t\t\tprev[key] = props[key];\n\t\t}\n\t\treturn prev;\n\t}, {});\n}\n","export default function getDataProps(props) {\n\treturn Object.keys(props).reduce((prev, key) => {\n\t\tif (key.substr(0, 5) === 'data-') {\n\t\t\t// eslint-disable-next-line no-param-reassign\n\t\t\tprev[key] = props[key];\n\t\t}\n\t\treturn prev;\n\t}, {});\n}\n","const formPropsSet = new Set([\n\t'form',\n\t'formAction',\n\t'formEncType',\n\t'formMethod',\n\t'formNoValidate',\n\t'formTarget',\n]);\n\nexport default function getFormProps(props) {\n\treturn Object.keys(props).reduce((prev, key) => {\n\t\tif (formPropsSet.has(key)) {\n\t\t\t// eslint-disable-next-line no-param-reassign\n\t\t\tprev[key] = props[key];\n\t\t}\n\t\treturn prev;\n\t}, {});\n}\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// Implements the [Button design pattern](https://lightningdesignsystem.com/components/buttons/) in React.\n// Based on SLDS v2.2.1\n\nimport React from 'react';\nimport requiredIf from 'react-required-if';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport ButtonIcon from '../icon/button-icon';\nimport checkProps from './check-props';\nimport componentDoc from './component.json';\n// eslint-disable-next-line import/no-cycle\nimport Tooltip from '../tooltip';\n\nimport getAriaProps from '../../utilities/get-aria-props';\nimport getDataProps from '../../utilities/get-data-props';\nimport getFormProps from '../../utilities/get-form-props';\n\nimport { BUTTON } from '../../utilities/constants';\n\nconst defaultProps = {\n\tassistiveText: { icon: '' },\n\tdisabled: false,\n\thint: false,\n\ticonSize: 'medium',\n\tresponsive: false,\n\ttype: 'button',\n\tvariant: 'neutral',\n};\n\n/**\n * The Button component is the Lightning Design System Button component. The Button should be used for label buttons, icon buttons, or buttons that have both labels and icons.\n * Either a <code>label</code> or <code>assistiveText.icon</code> is required; see the Prop Details table below. For buttons that maintain selected/unselected states, use the <a href=\"#/button-stateful\">ButtonStateful</a> component.\n * Although not listed in the prop table, all `aria-*`, `data-*` and `form*` props will be added to the `button` element if passed in.\n */\nclass Button extends React.Component {\n\tstatic displayName = BUTTON;\n\n\tstatic propTypes = {\n\t\t/**\n\t\t * **Assistive text for accessibility.**\n\t\t * This object is merged with the default props object on every render.\n\t\t * * `icon`: Text that is visually hidden but read aloud by screenreaders to tell the user what the icon means. If the button has an icon and a visible label, you can omit the <code>assistiveText.icon</code> prop and use the <code>label</code> prop.\n\t\t */\n\t\tassistiveText: PropTypes.shape({\n\t\t\ticon: PropTypes.string,\n\t\t}),\n\n\t\t/**\n\t\t * Callback that passes in the DOM reference of the `<button>` DOM node within this component. Primary use is to allow `focus` to be called. You should still test if the node exists, since rendering is asynchronous. `buttonRef={(component) => { if(component) console.log(component); }}`\n\t\t */\n\t\tbuttonRef: PropTypes.func,\n\t\t/**\n\t\t * CSS classes to be added to button.\n\t\t */\n\t\tclassName: PropTypes.oneOfType([\n\t\t\tPropTypes.array,\n\t\t\tPropTypes.object,\n\t\t\tPropTypes.string,\n\t\t]),\n\t\t/**\n\t\t * Disables the button and adds disabled styling.\n\t\t */\n\t\tdisabled: PropTypes.bool,\n\t\t/**\n\t\t * Associates an icon button with another element on the page by changes the color of the SVG. Please reference <a href=\"http://www.lightningdesignsystem.com/components/buttons/#hint\">Lightning Design System Buttons > Hint</a>.\n\t\t */\n\t\thint: PropTypes.bool,\n\t\t/**\n\t\t * Name of the icon category. Visit <a href=\"http://www.lightningdesignsystem.com/resources/icons\">Lightning Design System Icons</a> to reference icon categories.\n\t\t */\n\t\ticonCategory: requiredIf(\n\t\t\tPropTypes.oneOf(['action', 'custom', 'doctype', 'standard', 'utility']),\n\t\t\t(props) => !!props.iconName\n\t\t),\n\t\t/**\n\t\t * CSS classes to be added to icon.\n\t\t */\n\t\ticonClassName: PropTypes.oneOfType([\n\t\t\tPropTypes.array,\n\t\t\tPropTypes.object,\n\t\t\tPropTypes.string,\n\t\t]),\n\t\t/**\n\t\t * Name of the icon. Visit <a href=\"http://www.lightningdesignsystem.com/resources/icons\">Lightning Design System Icons</a> to reference icon names.\n\t\t */\n\t\ticonName: PropTypes.string,\n\t\t/**\n\t\t * Path to the icon. This will override any global icon settings.\n\t\t */\n\t\ticonPath: PropTypes.string,\n\t\t/**\n\t\t * If omitted, icon position is centered.\n\t\t */\n\t\ticonPosition: PropTypes.oneOf(['left', 'right']),\n\t\t/**\n\t\t * Determines the size of the icon.\n\t\t */\n\t\ticonSize: PropTypes.oneOf(['x-small', 'small', 'medium', 'large']),\n\t\t/**\n\t\t * For icon variants, please reference <a href=\"http://www.lightningdesignsystem.com/components/buttons/#icon\">Lightning Design System Icons</a>.\n\t\t */\n\t\ticonVariant: PropTypes.oneOf([\n\t\t\t'bare',\n\t\t\t'container',\n\t\t\t'border',\n\t\t\t'border-filled',\n\t\t\t'brand',\n\t\t\t'more',\n\t\t\t'global-header',\n\t\t]),\n\t\t/**\n\t\t * Id string applied to button node.\n\t\t */\n\t\tid: PropTypes.string,\n\t\t/**\n\t\t * If true, button/icon is white. Meant for buttons or utility icons on dark backgrounds.\n\t\t */\n\t\tinverse: PropTypes.bool,\n\t\t/**\n\t\t * Visible label on the button. If the button is an icon button with no label, you must use the <code>assistiveText.icon</code> prop.\n\t\t */\n\t\tlabel: PropTypes.oneOfType([PropTypes.string, PropTypes.node]),\n\t\t/**\n\t\t * Triggered when focus is removed.\n\t\t */\n\t\tonBlur: PropTypes.func,\n\t\t/**\n\t\t * Triggered when the button is clicked.\n\t\t */\n\t\tonClick: PropTypes.func,\n\t\t/**\n\t\t * Triggered when component is focused.\n\t\t */\n\t\tonFocus: PropTypes.func,\n\t\t/**\n\t\t * Triggered when a key is pressed down\n\t\t */\n\t\tonKeyDown: PropTypes.func,\n\t\t/**\n\t\t * Triggered when a key is pressed and released\n\t\t */\n\t\tonKeyPress: PropTypes.func,\n\t\t/**\n\t\t * Triggered when a key is released\n\t\t */\n\t\tonKeyUp: PropTypes.func,\n\t\t/**\n\t\t * Triggered when a mouse button is pressed down\n\t\t */\n\t\tonMouseDown: PropTypes.func,\n\t\t/**\n\t\t * Triggered when a mouse arrow hovers\n\t\t */\n\t\tonMouseEnter: PropTypes.func,\n\t\t/**\n\t\t * Triggered when a mouse arrow no longer hovers\n\t\t */\n\t\tonMouseLeave: PropTypes.func,\n\t\t/**\n\t\t * Triggered when a mouse button is released\n\t\t */\n\t\tonMouseUp: PropTypes.func,\n\t\t/**\n\t\t * If true, button scales to 100% width on small form factors.\n\t\t */\n\t\tresponsive: PropTypes.bool,\n\t\t/**\n\t\t * Write <code>\"-1\"</code> if you don't want the user to tab to the button.\n\t\t */\n\t\ttabIndex: PropTypes.string,\n\t\t/**\n\t\t * Button type\n\t\t */\n\t\ttype: PropTypes.oneOf(['reset', 'submit', 'button']),\n\t\t/**\n\t\t * HTML title attribute\n\t\t */\n\t\ttitle: PropTypes.string,\n\t\t/**\n\t\t * [Deprecated] Tooltip on button. Button should be a child of `Tooltip` instead.\n\t\t */\n\t\ttooltip: PropTypes.node,\n\t\t/**\n\t\t * Different types of buttons\n\t\t */\n\t\tvariant: PropTypes.oneOf([\n\t\t\t'base',\n\t\t\t'link',\n\t\t\t'neutral',\n\t\t\t'brand',\n\t\t\t'outline-brand',\n\t\t\t'destructive',\n\t\t\t'success',\n\t\t\t'text-destructive',\n\t\t\t'icon',\n\t\t]),\n\t\t/**\n\t\t * Custom styles to be passed to the component\n\t\t */\n\t\tstyle: PropTypes.object,\n\t};\n\n\tstatic defaultProps = defaultProps;\n\n\tconstructor(props) {\n\t\tsuper(props);\n\n\t\t// `checkProps` issues warnings to developers about properties (similar to React's built in development tools)\n\t\tcheckProps(BUTTON, props, componentDoc);\n\t}\n\n\tgetClassName = () => {\n\t\tconst isIcon = this.props.variant === 'icon';\n\n\t\tlet { iconVariant } = this.props;\n\t\tconst iconMore = iconVariant === 'more';\n\t\tconst iconBorder = iconVariant === 'border';\n\t\tconst iconGlobalHeader = iconVariant === 'global-header';\n\n\t\tconst showButtonVariant =\n\t\t\t(this.props.variant !== 'base' &&\n\t\t\t\t!iconVariant &&\n\t\t\t\t!this.props.inverse &&\n\t\t\t\tthis.props.variant !== 'link') ||\n\t\t\ticonVariant === 'bare';\n\t\tconst plainInverseBtn = this.props.inverse && !isIcon;\n\t\tconst plainInverseIcon =\n\t\t\tthis.props.inverse && isIcon && !iconMore && !iconBorder;\n\t\tconst moreInverseIcon = this.props.inverse && iconMore;\n\t\tconst borderInverseIcon = this.props.inverse && iconBorder;\n\n\t\t// After hijacking `iconVariant` to let `Button` know it's in the header, we reset to container style for the actual button CSS.\n\t\tif (iconVariant === 'global-header') {\n\t\t\ticonVariant = 'container';\n\t\t}\n\n\t\treturn classNames(\n\t\t\t{\n\t\t\t\t'slds-button': this.props.variant !== 'link',\n\t\t\t\t[`slds-button_${this.props.variant}`]: showButtonVariant,\n\t\t\t\t'slds-button_inverse': plainInverseBtn,\n\t\t\t\t'slds-button_icon-inverse': plainInverseIcon || moreInverseIcon,\n\t\t\t\t'slds-button_icon-border-inverse': borderInverseIcon,\n\t\t\t\t[`slds-button_icon-${iconVariant}`]: iconVariant && !borderInverseIcon,\n\t\t\t\t'slds-global-header__button_icon': iconGlobalHeader,\n\t\t\t\t// If icon has a container, then we apply the icon size to the container not the svg. Icon size is medium by default, so we don't need to explicitly render it here.\n\t\t\t\t[`slds-button_icon-${this.props.iconSize}`]:\n\t\t\t\t\ticonVariant && this.props.iconSize !== 'medium',\n\t\t\t\t'slds-button_reset': this.props.variant === 'link',\n\t\t\t\t'slds-text-link': this.props.variant === 'link',\n\t\t\t},\n\t\t\tthis.props.className\n\t\t);\n\t};\n\n\thandleClick = (event) => {\n\t\tif (this.props.onClick) {\n\t\t\tthis.props.onClick(event, {});\n\t\t}\n\t};\n\n\trenderIcon = (name) => {\n\t\tconst iconSize =\n\t\t\t!this.props.iconSize || this.props.iconVariant\n\t\t\t\t? null\n\t\t\t\t: this.props.iconSize;\n\t\treturn (\n\t\t\t<ButtonIcon\n\t\t\t\tcategory={this.props.iconCategory || 'utility'} // BREAKING CHANGE we will introduce in 1.0. For the moment, set default prop here if none specified.\n\t\t\t\tclassName={classNames(\n\t\t\t\t\t{\n\t\t\t\t\t\t'slds-global-header__icon':\n\t\t\t\t\t\t\tthis.props.iconVariant === 'global-header',\n\t\t\t\t\t},\n\t\t\t\t\tthis.props.iconClassName\n\t\t\t\t)}\n\t\t\t\thint={this.props.hint}\n\t\t\t\tinverse={this.props.inverse}\n\t\t\t\tname={name}\n\t\t\t\tpath={this.props.iconPath}\n\t\t\t\tposition={this.props.iconPosition}\n\t\t\t\tsize={iconSize}\n\t\t\t/>\n\t\t);\n\t};\n\n\trenderLabel = () => {\n\t\tconst iconOnly = this.props.iconName || this.props.iconPath;\n\t\tconst assistiveTextIcon =\n\t\t\ttypeof this.props.assistiveText === 'string'\n\t\t\t\t? this.props.assistiveText\n\t\t\t\t: {\n\t\t\t\t\t\t...defaultProps.assistiveText,\n\t\t\t\t\t\t...this.props.assistiveText,\n\t\t\t\t }.icon;\n\n\t\treturn iconOnly && assistiveTextIcon ? (\n\t\t\t<span className=\"slds-assistive-text\">{assistiveTextIcon}</span>\n\t\t) : (\n\t\t\tthis.props.label\n\t\t);\n\t};\n\n\trenderButton = () => {\n\t\tconst ariaProps = getAriaProps(this.props);\n\t\tconst dataProps = getDataProps(this.props);\n\t\tconst formProps = getFormProps(this.props);\n\n\t\treturn (\n\t\t\t// eslint-disable-next-line react/button-has-type\n\t\t\t<button\n\t\t\t\tclassName={this.getClassName()}\n\t\t\t\tdisabled={this.props.disabled}\n\t\t\t\tid={this.props.id}\n\t\t\t\tonBlur={this.props.onBlur}\n\t\t\t\tonClick={this.handleClick}\n\t\t\t\tonFocus={this.props.onFocus}\n\t\t\t\tonKeyDown={this.props.onKeyDown}\n\t\t\t\tonKeyPress={this.props.onKeyPress}\n\t\t\t\tonKeyUp={this.props.onKeyUp}\n\t\t\t\tonMouseDown={this.props.onMouseDown}\n\t\t\t\tonMouseEnter={this.props.onMouseEnter}\n\t\t\t\tonMouseLeave={this.props.onMouseLeave}\n\t\t\t\tonMouseUp={this.props.onMouseUp}\n\t\t\t\tref={(component) => {\n\t\t\t\t\tif (this.props.buttonRef) {\n\t\t\t\t\t\tthis.props.buttonRef(component);\n\t\t\t\t\t}\n\t\t\t\t}}\n\t\t\t\ttabIndex={this.props.tabIndex}\n\t\t\t\ttitle={this.props.title}\n\t\t\t\t// eslint-disable-next-line react/button-has-type\n\t\t\t\ttype={this.props.type || 'button'}\n\t\t\t\tstyle={this.props.style}\n\t\t\t\t{...ariaProps}\n\t\t\t\t{...dataProps}\n\t\t\t\t{...formProps}\n\t\t\t>\n\t\t\t\t{this.props.iconPosition === 'right' ? this.renderLabel() : null}\n\n\t\t\t\t{this.props.iconName || this.props.iconPath\n\t\t\t\t\t? this.renderIcon(this.props.iconName)\n\t\t\t\t\t: null}\n\t\t\t\t{this.props.iconVariant === 'more' ? (\n\t\t\t\t\t<ButtonIcon\n\t\t\t\t\t\tcategory=\"utility\"\n\t\t\t\t\t\tname=\"down\"\n\t\t\t\t\t\tsize=\"x-small\"\n\t\t\t\t\t\tclassName={this.props.iconClassName}\n\t\t\t\t\t/>\n\t\t\t\t) : null}\n\n\t\t\t\t{this.props.iconPosition === 'left' || !this.props.iconPosition\n\t\t\t\t\t? this.renderLabel()\n\t\t\t\t\t: null}\n\t\t\t\t{\n\t\t\t\t\tthis.props.children // eslint-disable-line react/prop-types\n\t\t\t\t}\n\t\t\t</button>\n\t\t);\n\t};\n\n\t// This is present for backwards compatibility and should be removed at a future breaking change release. Please wrap a `Button` in a `PopoverTooltip` to achieve the same result. There will be an extra trigger `div` wrapping the `Button` though.\n\trenderTooltip = () => (\n\t\t<Tooltip content={this.props.tooltip}>{this.renderButton}</Tooltip>\n\t);\n\n\trender() {\n\t\treturn this.props.tooltip ? this.renderTooltip() : this.renderButton();\n\t}\n}\n\nexport default Button;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// Implements the [Accordion design\n// pattern](https://www.lightningdesignsystem.com/components/accordion/) in\n// React. Based on SLDS v2.3.2\n\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\n\nimport Button from '../button';\n\nimport { ACCORDION_PANEL } from '../../utilities/constants';\n\nconst propTypes = {\n\t/**\n\t * The panel content for the Accordion component. Accordion panels should be added as <AccordionPanel />. Event handler for the accordion panels should be added to `<AccordionPanel />`. Optional `panelContentActions` component may be passed as prop. _Tested with Mocha framework and snapshot testing._\n\t */\n\tchildren: PropTypes.node,\n\t/**\n\t * Indicates whether item is expanded or not, which should be handled by `onTogglePanel`. _Tested with Mocha framework and snapshot testing._\n\t */\n\texpanded: PropTypes.bool.isRequired,\n\t/**\n\t * Id of the item belonging to this panel. _Tested with snapshot testing._\n\t */\n\tid: PropTypes.oneOfType([PropTypes.number, PropTypes.string]).isRequired,\n\t/**\n\t * Component that can be passed as prop to `<Panel />`. As an example, a menu dropdown could be used here to handle additional actions for each accordion panel. _Tested with Mocha framework._\n\t */\n\tpanelContentActions: PropTypes.node,\n\t/**\n\t * Callback that will run whenever there is a keydown on the panel button. Function doesn't change the state of the component.\n\t */\n\tonKeyDownSummary: PropTypes.func,\n\t/**\n\t * Callback that will run whenever a panel is toggled. Function should handle state to toggle `expanded` prop. _Tested with Mocha framework._\n\t */\n\tonTogglePanel: PropTypes.func.isRequired,\n\t/**\n\t * Ref callback that will pass in panel's `input` tag\n\t */\n\trefs: PropTypes.shape({\n\t\tsummaryButton: PropTypes.func,\n\t}),\n\t/**\n\t * Summary in the span element in the header of this panel. The summary is truncated and so the title element should contain the full text so that it is accessible on hover. _Tested with snapshot testing._\n\t */\n\tsummary: PropTypes.oneOfType([PropTypes.string, PropTypes.node]).isRequired,\n\t/**\n\t * HTML title attribute. _Tested with snapshot testing._\n\t */\n\ttitle: PropTypes.string,\n};\n\n/**\n * The panel content for the Accordion component.\n */\nconst AccordionPanel = ({\n\tchildren,\n\texpanded,\n\tid,\n\tpanelContentActions,\n\tsummary,\n\ttitle,\n\tonClickSummary,\n\tonKeyDownSummary,\n\tonTogglePanel,\n\trefs,\n}) => (\n\t<li className=\"slds-accordion__list-item\">\n\t\t<section\n\t\t\tclassName={classNames('slds-accordion__section', {\n\t\t\t\t'slds-is-open': expanded,\n\t\t\t})}\n\t\t>\n\t\t\t<div className=\"slds-accordion__summary\">\n\t\t\t\t<h3 className=\"slds-text-heading_small slds-accordion__summary-heading slds-has-flexi-truncate\">\n\t\t\t\t\t<Button\n\t\t\t\t\t\taria-controls={`${id}-accordion-panel`}\n\t\t\t\t\t\taria-expanded={expanded}\n\t\t\t\t\t\tbuttonRef={refs.summaryButton}\n\t\t\t\t\t\tclassName=\"slds-button_reset slds-accordion__summary-action\"\n\t\t\t\t\t\ticonCategory=\"utility\"\n\t\t\t\t\t\ticonClassName=\"slds-accordion__summary-action-icon slds-button__icon slds-button__icon_left\"\n\t\t\t\t\t\ticonName=\"switch\"\n\t\t\t\t\t\tid={`${id}-accordion-button`}\n\t\t\t\t\t\tonKeyDown={onKeyDownSummary}\n\t\t\t\t\t\tonClick={(e) => {\n\t\t\t\t\t\t\tonClickSummary();\n\t\t\t\t\t\t\tonTogglePanel(e);\n\t\t\t\t\t\t}}\n\t\t\t\t\t\tvariant=\"base\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<span className=\"slds-truncate\" title={title || summary}>\n\t\t\t\t\t\t\t{summary}\n\t\t\t\t\t\t</span>\n\t\t\t\t\t</Button>\n\t\t\t\t</h3>\n\t\t\t\t{panelContentActions}\n\t\t\t</div>\n\t\t\t<div\n\t\t\t\taria-hidden={!expanded}\n\t\t\t\tclassName=\"slds-accordion__content\"\n\t\t\t\tid={`${id}-accordion-panel`}\n\t\t\t>\n\t\t\t\t{children}\n\t\t\t</div>\n\t\t</section>\n\t</li>\n);\n\nexport default AccordionPanel;\n\nAccordionPanel.propTypes = propTypes;\nAccordionPanel.displayName = ACCORDION_PANEL;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n/* eslint-disable import/no-mutable-exports */\n\nimport sunsetProperty from '../../utilities/warning/sunset-property';\nimport getComponentDocFn from '../../utilities/get-component-doc';\n\nlet checkProps = function checkPropsFunction() {};\n\nif (process.env.NODE_ENV !== 'production') {\n\tcheckProps = function checkPropsFunction(COMPONENT, props, jsonDoc) {\n\t\tconst createDocUrl = getComponentDocFn(jsonDoc);\n\t\t/* eslint-disable max-len */\n\t\tsunsetProperty(\n\t\t\tCOMPONENT,\n\t\t\tprops.iconCategory,\n\t\t\t'iconCategory',\n\t\t\t`Use \\`Icon\\` instead. ${createDocUrl('icon')}`\n\t\t);\n\t\tsunsetProperty(\n\t\t\tCOMPONENT,\n\t\t\tprops.iconName,\n\t\t\t'iconName',\n\t\t\t`Use \\`Icon\\` instead. ${createDocUrl('icon')}`\n\t\t);\n\n\t\tsunsetProperty(\n\t\t\tCOMPONENT,\n\t\t\tprops.content,\n\t\t\t'content',\n\t\t\t`Use \\`labels.heading\\` and \\`labels.headingLink\\` instead.${createDocUrl(\n\t\t\t\t'labels'\n\t\t\t)}`\n\t\t);\n\t\tsunsetProperty(\n\t\t\tCOMPONENT,\n\t\t\tprops.duration,\n\t\t\t'duration',\n\t\t\t`Only Toasts can auto-hide. ${createDocUrl()}`\n\t\t);\n\t\tsunsetProperty(\n\t\t\tCOMPONENT,\n\t\t\tprops.isOpen,\n\t\t\t'isOpen',\n\t\t\t`Use a conditional outside of alert. ${createDocUrl()}`\n\t\t);\n\t\tsunsetProperty(\n\t\t\tCOMPONENT,\n\t\t\tprops.isOpen,\n\t\t\t'onDismiss',\n\t\t\t`Use \\`onRequestClose\\` instead. ${createDocUrl('onRequestClose')}`\n\t\t);\n\t\tsunsetProperty(COMPONENT, props.texture, 'texture', createDocUrl());\n\t\tsunsetProperty(\n\t\t\tCOMPONENT,\n\t\t\tprops.theme,\n\t\t\t'theme',\n\t\t\t`Use \\`variant\\` instead. ${createDocUrl('variant')}`\n\t\t);\n\t};\n}\n\nexport default checkProps;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// # Alert Component\n\n// Implements the [Alert design pattern](https://lightningdesignsystem.com/components/alert/) in React.\n\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport assign from 'lodash.assign';\nimport classNames from '../../utilities/class-names';\nimport Button from '../button';\nimport Icon from '../icon';\nimport checkProps from './check-props';\nimport componentDoc from './component.json';\nimport { ALERT } from '../../utilities/constants';\nimport DOMElementFocus from '../../utilities/dom-element-focus';\n\nconst propTypes = {\n\t/**\n\t * **Assistive text for accessibility**\n\t * This object is merged with the default props object on every render.\n\t * * `closeButton`: This is a visually hidden label for the close button.\n\t * _Tested with snapshot testing._\n\t */\n\tassistiveText: PropTypes.shape({\n\t\tcloseButton: PropTypes.oneOfType([PropTypes.string, PropTypes.node]),\n\t}),\n\t/**\n\t * CSS classes to be added to tag with `.slds-notify_alert`. Uses `classNames` [API](https://github.com/JedWatson/classnames).\n\t * _Tested with snapshot testing._\n\t */\n\tclassName: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\t/**\n\t * Allows user to click a close button. Banners should be dismissible only if they communicate future impact to the system,\n\t * _Tested with snapshot testing._\n\t */\n\tdismissible: PropTypes.bool,\n\t/**\n\t * Icon of type `~/components/icon`. This icon will be cloned and additional props appended. The default icons are:\n\t * * info variant: `utility:info`\n\t * * error variant: `utility:error`\n\t * * offline variant: `utility:offline`\n\t * * warning variant: `utility:warning`\n\t *\n\t * _Tested with snapshot testing._\n\t */\n\ticon: PropTypes.node,\n\t/**\n\t * **Text labels for internationalization**\n\t * This object is merged with the default props object on every render.\n\t * * `heading`: text within heading tag\n\t * * `headingLink`: Text of link that triggers `onClickHeadingLink`. Inline links should pass a keyed array of React components into `labels.heading`.\n\t *\n\t * _Tested with snapshot testing._\n\t */\n\tlabels: PropTypes.shape({\n\t\theading: PropTypes.oneOfType([PropTypes.string, PropTypes.node]),\n\t\theadingLink: PropTypes.oneOfType([PropTypes.string, PropTypes.node]),\n\t}),\n\t/**\n\t * Triggered by link. _Tested with Mocha testing._\n\t */\n\tonClickHeadingLink: PropTypes.func,\n\t/**\n\t * Triggered by close button. This is a controlled component. _Tested with Mocha testing._\n\t */\n\tonRequestClose: PropTypes.func,\n\t/**\n\t * Custom styles to be passed to the component. _Tested with Mocha testing._\n\t */\n\tstyle: PropTypes.object,\n\t/**\n\t * The type of alert. _Tested with snapshot testing._\n\t */\n\tvariant: PropTypes.oneOf(['error', 'info', 'offline', 'warning']).isRequired,\n};\n\nconst defaultProps = {\n\tassistiveText: {\n\t\tcloseButton: 'Close',\n\t},\n\tlabels: {},\n\tvariant: 'info',\n};\n\n/**\n * Alert banners communicate a state that affects the entire system, not just a feature or page. It persists over a session and appears without the user initiating the action. View [banner guidelines](https://www.lightningdesignsystem.com/guidelines/messaging/components/banners/).\n */\n\nclass Alert extends React.Component {\n\tconstructor(props) {\n\t\tsuper(props);\n\t\tthis.state = {\n\t\t\tisInitialRender: true,\n\t\t};\n\n\t\t// `checkProps` issues warnings to developers about properties (similar to React's built in development tools)\n\t\tcheckProps(ALERT, props, componentDoc);\n\t}\n\n\tcomponentWillUnmount() {\n\t\tDOMElementFocus.returnFocusToStoredElement();\n\t}\n\n\tsaveButtonRef = (component) => {\n\t\tthis.closeButton = component;\n\t\tif (this.state.isInitialRender) {\n\t\t\tDOMElementFocus.storeActiveElement();\n\t\t\tif (this.closeButton) {\n\t\t\t\tthis.closeButton.focus();\n\t\t\t}\n\t\t\tthis.setState({ isInitialRender: false });\n\t\t}\n\t};\n\n\trender() {\n\t\t// Merge objects of strings with their default object\n\t\tconst assistiveText = assign(\n\t\t\t{},\n\t\t\tdefaultProps.assistiveText,\n\t\t\tthis.props.assistiveText\n\t\t);\n\t\tconst labels = assign({}, defaultProps.labels, this.props.labels);\n\n\t\t// BACKWARD COMPATIBILITY WITH NOTIFICATION\n\t\tconst heading = labels.heading || this.props.content; // eslint-disable-line react/prop-types\n\t\tconst onRequestClose = this.props.onRequestClose || this.props.onDismiss; // eslint-disable-line react/prop-types\n\n\t\tconst assistiveTextVariant = {\n\t\t\tinfo: 'info',\n\t\t\twarning: 'warning',\n\t\t\terror: 'error',\n\t\t\toffline: 'offline',\n\t\t};\n\n\t\tconst defaultIcons = {\n\t\t\tinfo: <Icon category=\"utility\" name=\"info\" />,\n\t\t\toffline: <Icon category=\"utility\" name=\"offline\" />,\n\t\t\twarning: <Icon category=\"utility\" name=\"warning\" />,\n\t\t\terror: <Icon category=\"utility\" name=\"error\" />,\n\t\t};\n\n\t\tlet icon = this.props.icon\n\t\t\t? this.props.icon\n\t\t\t: defaultIcons[this.props.variant];\n\n\t\t// BACKWARD COMPATIBILITY WITH NOTIFICATION\n\t\tif (this.props.iconName && this.props.iconCategory) {\n\t\t\t// eslint-disable-line react/prop-types\n\t\t\ticon = (\n\t\t\t\t<Icon category={this.props.iconCategory} name={this.props.iconName} />\n\t\t\t);\n\t\t}\n\n\t\tconst clonedIcon = React.cloneElement(icon, {\n\t\t\tcontainerClassName: 'slds-m-right_x-small',\n\t\t\tinverse: true,\n\t\t\tsize: 'x-small',\n\t\t});\n\n\t\t/* eslint-disable no-script-url */\n\t\treturn (\n\t\t\t<div\n\t\t\t\tclassName={classNames(\n\t\t\t\t\t'slds-notify slds-notify_alert slds-theme_alert-texture',\n\t\t\t\t\t{\n\t\t\t\t\t\t'slds-theme_info': this.props.variant === 'info',\n\t\t\t\t\t\t'slds-theme_warning': this.props.variant === 'warning',\n\t\t\t\t\t\t'slds-theme_error': this.props.variant === 'error',\n\t\t\t\t\t\t'slds-theme_offline': this.props.variant === 'offline',\n\t\t\t\t\t},\n\t\t\t\t\tthis.props.className\n\t\t\t\t)}\n\t\t\t\trole=\"alert\"\n\t\t\t\tstyle={this.props.style}\n\t\t\t>\n\t\t\t\t<span className=\"slds-assistive-text\">\n\t\t\t\t\t{assistiveTextVariant[this.props.variant]}\n\t\t\t\t</span>\n\t\t\t\t{clonedIcon}\n\t\t\t\t<h2>\n\t\t\t\t\t{heading}{' '}\n\t\t\t\t\t{labels.headingLink ? (\n\t\t\t\t\t\t<a\n\t\t\t\t\t\t\tonClick={this.props.onClickHeadingLink}\n\t\t\t\t\t\t\thref=\"javascript:void(0);\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{labels.headingLink}\n\t\t\t\t\t\t</a>\n\t\t\t\t\t) : null}\n\t\t\t\t</h2>\n\t\t\t\t{this.props.dismissible ? (\n\t\t\t\t\t<Button\n\t\t\t\t\t\tassistiveText={{ icon: assistiveText.closeButton }}\n\t\t\t\t\t\tbuttonRef={this.saveButtonRef}\n\t\t\t\t\t\tclassName=\"slds-notify__close\"\n\t\t\t\t\t\ticonCategory=\"utility\"\n\t\t\t\t\t\ticonName=\"close\"\n\t\t\t\t\t\ticonSize=\"medium\"\n\t\t\t\t\t\tinverse\n\t\t\t\t\t\tonClick={onRequestClose}\n\t\t\t\t\t\ttitle={assistiveText.closeButton}\n\t\t\t\t\t\tvariant=\"icon\"\n\t\t\t\t\t/>\n\t\t\t\t) : null}\n\t\t\t</div>\n\t\t);\n\t}\n}\n\nAlert.defaultProps = defaultProps;\nAlert.displayName = ALERT;\nAlert.propTypes = propTypes;\n\nexport default Alert;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// # Alert Container Component\n\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from '../../utilities/class-names';\nimport { ALERT_CONTAINER } from '../../utilities/constants';\n\nconst propTypes = {\n\t/**\n\t * CSS classes to be added to tag with `.slds-notify_alert`. Uses `classNames` [API](https://github.com/JedWatson/classnames).\n\t */\n\tclassName: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\t/**\n\t * Alert components\n\t */\n\tchildren: PropTypes.node,\n};\n\n/**\n * A fixed container for alert banners.\n */\n\nclass AlertContainer extends React.Component {\n\trender() {\n\t\treturn (\n\t\t\t<div\n\t\t\t\tclassName={classNames('slds-notify-container', this.props.className)}\n\t\t\t>\n\t\t\t\t{this.props.children}\n\t\t\t</div>\n\t\t);\n\t}\n}\n\nAlertContainer.displayName = ALERT_CONTAINER;\nAlertContainer.propTypes = propTypes;\n\nexport default AlertContainer;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n/* eslint-disable import/no-mutable-exports */\n\nlet lowPriorityWarning = function printWarningFunction() {};\n\nif (process.env.NODE_ENV !== 'production') {\n\t// eslint-disable-next-line fp/no-rest-parameters\n\tconst printWarning = function printWarningFunction(originalMessage, ...args) {\n\t\tlet argIndex = 0;\n\t\tconst message = `Warning: ${originalMessage.replace(/%s/g, () => {\n\t\t\tconst argument = args[argIndex];\n\t\t\targIndex += 1;\n\t\t\treturn argument;\n\t\t})}`;\n\t\tif (typeof console !== 'undefined') {\n\t\t\tconsole.warn(message); // eslint-disable-line no-console\n\t\t}\n\t\ttry {\n\t\t\t// Throw error to enable tracing the callstack.\n\t\t\t// eslint-disable-next-line fp/no-throw\n\t\t\tthrow new Error(message);\n\t\t} catch (event) {} // eslint-disable-line no-empty\n\t};\n\n\t// eslint-disable-next-line fp/no-rest-parameters\n\tlowPriorityWarning = (condition, originalMessage, ...args) => {\n\t\tif (!condition && originalMessage) {\n\t\t\tprintWarning(originalMessage, ...args);\n\t\t}\n\t};\n}\n\nexport default lowPriorityWarning;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n/* eslint-disable import/no-mutable-exports */\n\n// This function will deliver a warning message to the browser console about the component being a deprecated component.\nimport lowPriorityWarning from './low-priority-warning';\n\nlet isPrototype = function isPrototypeFunction() {};\n\nif (process.env.NODE_ENV !== 'production') {\n\tconst hasWarned = {};\n\n\tisPrototype = function isPrototypeFunction(control, props, comment) {\n\t\tconst additionalComment = comment ? ` ${comment}` : '';\n\t\tif (!props.silenceDeprecationWarning && !hasWarned[control]) {\n\t\t\t/* eslint-disable max-len */\n\t\t\tlowPriorityWarning(\n\t\t\t\tfalse,\n\t\t\t\t`[Design System React] ${control} is a deprecated component. Bugfixes can be contributed, but new features and additional alignment with SLDS may be declined.${additionalComment}`\n\t\t\t);\n\t\t\t/* eslint-enable max-len */\n\t\t\thasWarned[control] = true;\n\t\t}\n\t};\n}\n\nexport default isPrototype;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n/* eslint-disable import/no-mutable-exports */\n\nimport deprecatedProperty from '../../utilities/warning/deprecated-property';\nimport componentIsDeprecated from '../../utilities/warning/component-is-deprecated';\nimport getComponentDocFn from '../../utilities/get-component-doc';\nimport oneOfComponent from '../../utilities/warning/one-of-component';\nimport sunsetProperty from '../../utilities/warning/sunset-property';\nimport {\n\tAPP_LAUNCHER,\n\tAPP_LAUNCHER_EXPANDABLE_SECTION,\n\tAPP_LAUNCHER_SECTION,\n\tAPP_LAUNCHER_TILE,\n} from '../../utilities/constants';\n\nlet checkProps = function checkPropsFunction() {};\n\nif (process.env.NODE_ENV !== 'production') {\n\tcheckProps = function checkPropsFunction(COMPONENT, props, jsonDoc) {\n\t\tconst createDocUrl = getComponentDocFn(jsonDoc);\n\n\t\tif (COMPONENT === APP_LAUNCHER) {\n\t\t\tif (props.modalHeaderButton !== undefined) {\n\t\t\t\toneOfComponent(\n\t\t\t\t\tCOMPONENT,\n\t\t\t\t\tprops,\n\t\t\t\t\t'modalHeaderButton',\n\t\t\t\t\t['SLDSButton'],\n\t\t\t\t\tcreateDocUrl('modalHeaderButton')\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tdeprecatedProperty(\n\t\t\t\tCOMPONENT,\n\t\t\t\tprops.triggerAssistiveText,\n\t\t\t\t'triggerAssistiveText',\n\t\t\t\t\"assistiveText['trigger']\",\n\t\t\t\tcreateDocUrl('assistiveText')\n\t\t\t);\n\t\t} else if (COMPONENT === APP_LAUNCHER_EXPANDABLE_SECTION) {\n\t\t\tdeprecatedProperty(\n\t\t\t\tCOMPONENT,\n\t\t\t\tprops.collapseSectionAssistiveText,\n\t\t\t\t'collapseSectionAssistiveText',\n\t\t\t\t\"assistiveText['collapseSection']\",\n\t\t\t\tcreateDocUrl('assistiveText')\n\t\t\t);\n\t\t} else if (COMPONENT === APP_LAUNCHER_SECTION) {\n\t\t\tcomponentIsDeprecated(\n\t\t\t\tCOMPONENT,\n\t\t\t\tprops,\n\t\t\t\t'App Launcher Section has been deprecated. Please use APP_LAUNCHER_EXPANDABLE_SECTION instead.'\n\t\t\t);\n\t\t} else if (COMPONENT === APP_LAUNCHER_TILE) {\n\t\t\tdeprecatedProperty(\n\t\t\t\tCOMPONENT,\n\t\t\t\tprops.descriptionHeading,\n\t\t\t\t'descriptionHeading',\n\t\t\t\tnull,\n\t\t\t\t'Description headings are no longer a part of the SLDS App Launcher Tile spec. Please reach out to DSR admin if there is a special need for this feature'\n\t\t\t);\n\n\t\t\tsunsetProperty(\n\t\t\t\tCOMPONENT,\n\t\t\t\tprops.size,\n\t\t\t\t'size',\n\t\t\t\t'App Launcher Tiles are now all a consistent size according to SLDS specifications'\n\t\t\t);\n\t\t}\n\t};\n}\n\nexport default checkProps;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n/* eslint-disable import/no-mutable-exports */\n/* eslint-disable max-len */\n\nimport deprecatedProperty from '../../utilities/warning/deprecated-property';\nimport getComponentDocFn from '../../utilities/get-component-doc';\n\nlet checkProps = function checkPropsFunction() {};\n\nif (process.env.NODE_ENV !== 'production') {\n\tcheckProps = function checkPropsFunction(COMPONENT, props, jsonDoc) {\n\t\tconst createDocUrl = getComponentDocFn(jsonDoc);\n\t\tdeprecatedProperty(\n\t\t\tCOMPONENT,\n\t\t\tprops.closeButtonAssistiveText,\n\t\t\t'closeButtonAssistiveText',\n\t\t\t\"assistiveText['closeButton']\",\n\t\t\tcreateDocUrl('assistiveText')\n\t\t);\n\t\tdeprecatedProperty(\n\t\t\tCOMPONENT,\n\t\t\tprops.title,\n\t\t\t'title',\n\t\t\t'heading',\n\t\t\tcreateDocUrl('heading')\n\t\t);\n\t\tdeprecatedProperty(\n\t\t\tCOMPONENT,\n\t\t\tprops.dismissible,\n\t\t\t'dismissible',\n\t\t\t'disableClose',\n\t\t\tcreateDocUrl('disableClose')\n\t\t);\n\t};\n}\n\nexport default checkProps;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\nimport Modal from 'react-modal';\n\n/*\n * The following are component utility methods that aid in global settings.\n */\n\nlet assetsPath = 'assets/';\nlet appRoot;\n\nconst settings = {\n\tsetAssetsPath: (path) => {\n\t\tif (path) {\n\t\t\tassetsPath = path;\n\t\t}\n\t},\n\n\tgetAssetsPath: () => String(assetsPath),\n\n\t/*\n\t * The app element allows you to specify the portion of your app that should be hidden (via aria-hidden)\n\tto prevent assistive technologies such as screenreaders from reading content outside of the content of\n\tyour modal. It can be specified in the following ways:\n\t * element\n\tModal.setAppElement(appElement);\n\t * query selector - uses the first element found if you pass in a class.\n\tModal.setAppElement('#your-app-element');\n\t*/\n\tsetAppElement: (el) => {\n\t\tif (el) {\n\t\t\tappRoot = el;\n\t\t\tModal.setAppElement(el);\n\t\t}\n\t},\n\n\tgetAppElement: () => appRoot,\n};\n\nexport default settings;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n/* eslint-disable import/no-mutable-exports */\n\nimport warning from 'warning';\nimport Settings from '../../components/settings';\nimport { canUseDOM } from '../execution-environment';\n\nlet checkAppElementIsSet = function checkAppElementIsSetFunction() {};\n\nif (process.env.NODE_ENV !== 'production') {\n\tcheckAppElementIsSet = function checkAppElementIsSetFunction() {\n\t\tconst appElement = Settings.getAppElement();\n\t\t/* eslint-disable max-len */\n\t\twarning(\n\t\t\tcanUseDOM && Boolean(appElement),\n\t\t\t'[Design System React] App element is not defined. Please use Settings.setAppElement(el).' +\n\t\t\t\t' By default, `Modal` will add `aria-hidden=true` to the `body` tag, but this disables some assistive technologies.' +\n\t\t\t\t' To prevent this you can add Settings.setAppElement(el) to your application with `el` being the root node of your application' +\n\t\t\t\t' that you would like to hide from assistive technologies when the `Modal` is open.'\n\t\t);\n\t};\n}\n\nexport default checkAppElementIsSet;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n/* eslint-disable react/prefer-es6-class, jsx-a11y/no-noninteractive-element-interactions */\n\n// Implements the [Modal design pattern](https://lightningdesignsystem.com/components/modals/) in React.\n// Based on SLDS v2.2.1\n\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport ReactDOM from 'react-dom';\n\nimport classNames from 'classnames';\nimport ReactModal from 'react-modal';\n\n// ### shortid\n// [npmjs.com/package/shortid](https://www.npmjs.com/package/shortid)\n// shortid is a short, non-sequential, url-friendly, unique id generator\nimport shortid from 'shortid';\n\n// This component's `checkProps` which issues warnings to developers about properties when in development mode (similar to React's built in development tools)\nimport checkProps from './check-props';\n\nimport checkAppElementIsSet from '../../utilities/warning/check-app-element-set';\n\nimport Button from '../button';\n\nimport { MODAL } from '../../utilities/constants';\nimport componentDoc from './component.json';\n\nconst documentDefined = typeof document !== 'undefined';\nconst windowDefined = typeof window !== 'undefined';\n\nconst propTypes = {\n\t/**\n\t * Vertical alignment of Modal.\n\t */\n\talign: PropTypes.oneOf(['top', 'center']),\n\t/**\n\t * Boolean indicating if the appElement should be hidden.\n\t */\n\tariaHideApp: PropTypes.bool,\n\t/**\n\t * **Assistive text for accessibility.**\n\t * This object is merged with the default props object on every render.\n\t * * `dialogLabel`: This is a visually hidden label for the dialog. If not provided, `heading` is used.\n\t * * `dialogLabelledBy`: This describes which node labels the dialog. If not provided and dialogLabel is unavailable, `id` is used.\n\t * * `closeButton`: This is a visually hidden label for the close button.\n\t */\n\tassistiveText: PropTypes.shape({\n\t\tdialogLabel: PropTypes.string,\n\t\tdialogLabelledBy: PropTypes.string,\n\t\tcloseButton: PropTypes.string,\n\t}),\n\t/**\n\t * Modal content.\n\t */\n\tchildren: PropTypes.node.isRequired,\n\t/**\n\t * Custom CSS classes for the modal `section` node classed `.slds-modal` and the parent of `.slds-modal__container`. Uses `classNames` [API](https://github.com/JedWatson/classnames).\n\t */\n\tclassName: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\t/**\n\t * Custom CSS classes for the modal's container. This is the child element of `.slds-modal` with class `.slds-modal__container`. Uses `classNames` [API](https://github.com/JedWatson/classnames).\n\t */\n\tcontainerClassName: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\t/**\n\t * Custom CSS classes for the modal's body. This is the element that has overflow rules and should be used to set a static height if desired. Use `classNames` [API](https://github.com/JedWatson/classnames).\n\t */\n\tcontentClassName: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\t/**\n\t * Custom styles for the modal's body. This is the element that has overflow rules and should be used to set a static height if desired.\n\t */\n\tcontentStyle: PropTypes.object,\n\t/**\n\t * If true, modal footer buttons render left and right. An example use case would be for \"back\" and \"next\" buttons.\n\t */\n\tdirectional: PropTypes.bool,\n\t/**\n\t * If true, Modals cannot be dismissed by clicking on the close icon or pressing esc key.\n\t */\n\tdisableClose: PropTypes.bool,\n\t/**\n\t * If true, Modals can be dismissed by clicking outside of modal. If unspecified, defaults to disableClose.\n\t */\n\tdismissOnClickOutside: PropTypes.bool,\n\t/**\n\t * Callback to fire with Modal is dismissed\n\t */\n\tonRequestClose: PropTypes.func,\n\t/**\n\t * Accepts a node or array of nodes that are typically a `Button` or `ProgressIndicator`. If an array, the nodes render on the right side first but are then floated left and right if <code>directional</code> prop is `true`.\n\t */\n\tfooter: PropTypes.oneOfType([PropTypes.array, PropTypes.node]),\n\t/**\n\t * Allows for a custom modal header that does not scroll with modal content. If this is defined, `heading` and `tagline` will be ignored. The close button will still be present.\n\t */\n\theader: PropTypes.node,\n\t/**\n\t * Adds CSS classes to the container surrounding the modal header and the close button. Use `classNames` [API](https://github.com/JedWatson/classnames).\n\t */\n\theaderClassName: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\t/**\n\t * Unique identifier for the modal. The id is automatically generated if not provided\n\t */\n\tid: PropTypes.string,\n\t/**\n\t * Forces the modal to be open or closed.\n\t */\n\tisOpen: PropTypes.bool.isRequired,\n\t/**\n\t * Function whose return value is the mount node to insert the Modal element into. The default is `() => document.body`.\n\t */\n\tparentSelector: PropTypes.func,\n\t/**\n\t * Custom CSS classes for the portal DOM node. This node is a direct descendant of the `body` and is the parent of `ReactModal__Overlay`. Use `classNames` [API](https://github.com/JedWatson/classnames).\n\t */\n\tportalClassName: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\t/**\n\t * Styles the modal as a prompt.\n\t */\n\tprompt: PropTypes.oneOf([\n\t\t'success',\n\t\t'warning',\n\t\t'error',\n\t\t'wrench',\n\t\t'offline',\n\t\t'info',\n\t]),\n\t/**\n\t * Specifies the modal's width. May be deprecated in favor of `width` in the future.\n\t */\n\tsize: PropTypes.oneOf(['small', 'medium', 'large']),\n\t/**\n\t * Content underneath the heading in the modal header.\n\t */\n\ttagline: PropTypes.node,\n\t/**\n\t * Content underneath the title in the modal header.\n\t */\n\ttitle: PropTypes.node,\n\t/**\n\t * Text heading at the top of a modal.\n\t */\n\theading: PropTypes.node,\n\t/**\n\t * Allows adding additional notifications within the modal.\n\t */\n\ttoast: PropTypes.node,\n};\n\nconst defaultProps = {\n\tassistiveText: {\n\t\tdialogLabel: '',\n\t\tdialogLabelledBy: '',\n\t\tcloseButton: 'Close',\n\t},\n\talign: 'center',\n\tariaHideApp: true,\n};\n\n/**\n * The Modal component is used for the Lightning Design System Modal and Notification > Prompt components. The Modal opens from a state change outside of the component itself (pass this state to the <code>isOpen</code> prop). For more details on the Prompt markup, please review the <a href=\"http://www.lightningdesignsystem.com/components/notifications#prompt\">Notifications > Prompt</a>.\n *\n * By default, `Modal` will add `aria-hidden=true` to the `body` tag, but this disables some assistive technologies. To prevent this you can add the following to your application with `#mount` being the root node of your application that you would like to hide from assistive technologies when the `Modal` is open.\n * ```\n * import settings from 'design-system-react/components/settings';\n * settings.setAppElement('#mount');\n * ```\n * This component uses a portalMount (a disconnected React subtree mount) to create a modal as a child of `body`.\n */\nclass Modal extends React.Component {\n\tconstructor(props) {\n\t\tsuper(props);\n\t\tthis.state = {\n\t\t\tisClosing: false,\n\t\t};\n\n\t\t// Bind\n\t\tthis.handleModalClick = this.handleModalClick.bind(this);\n\t\tthis.closeModal = this.closeModal.bind(this);\n\t\tthis.dismissModalOnClickOutside = this.dismissModalOnClickOutside.bind(\n\t\t\tthis\n\t\t);\n\n\t\tthis.generatedId = shortid.generate();\n\t\tcheckProps(MODAL, props, componentDoc);\n\t\tif (props.ariaHideApp) {\n\t\t\tcheckAppElementIsSet();\n\t\t}\n\t}\n\n\tcomponentDidMount() {\n\t\tthis.setReturnFocus();\n\t\tthis.updateBodyScroll();\n\t}\n\n\tcomponentDidUpdate(prevProps, prevState) {\n\t\tif (this.props.isOpen !== prevProps.isOpen) {\n\t\t\tthis.updateBodyScroll();\n\t\t}\n\t\tif (this.state.isClosing !== prevState.isClosing) {\n\t\t\tif (this.state.isClosing) {\n\t\t\t\t// This section of code should be removed once trigger.jsx\n\t\t\t\t// and manager.jsx are removed. They appear to have\n\t\t\t\t// been created in order to do modals in portals.\n\t\t\t\tif (!this.isUnmounting) {\n\t\t\t\t\tconst el = ReactDOM.findDOMNode(this); // eslint-disable-line react/no-find-dom-node\n\t\t\t\t\tif (\n\t\t\t\t\t\tel &&\n\t\t\t\t\t\tel.parentNode &&\n\t\t\t\t\t\tel.parentNode.getAttribute('data-slds-modal')\n\t\t\t\t\t) {\n\t\t\t\t\t\tReactDOM.unmountComponentAtNode(el);\n\t\t\t\t\t\tdocument.body.removeChild(el);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\tcomponentWillUnmount() {\n\t\tthis.isUnmounting = true;\n\t\tthis.clearBodyScroll();\n\t}\n\n\tgetId() {\n\t\treturn this.props.id || this.generatedId;\n\t}\n\n\tgetBorderRadius() {\n\t\tconst borderRadiusValue = '.25rem';\n\t\tconst borderTopRadius =\n\t\t\tthis.props.title || this.props.heading || this.props.header\n\t\t\t\t? {}\n\t\t\t\t: {\n\t\t\t\t\t\tborderTopLeftRadius: borderRadiusValue,\n\t\t\t\t\t\tborderTopRightRadius: borderRadiusValue,\n\t\t\t\t };\n\t\tconst borderBottomRadius = this.props.footer\n\t\t\t? {}\n\t\t\t: {\n\t\t\t\t\tborderBottomLeftRadius: borderRadiusValue,\n\t\t\t\t\tborderBottomRightRadius: borderRadiusValue,\n\t\t\t };\n\t\treturn {\n\t\t\t...borderTopRadius,\n\t\t\t...borderBottomRadius,\n\t\t};\n\t}\n\n\tgetModal() {\n\t\tconst modalStyle =\n\t\t\tthis.props.align === 'top' ? { justifyContent: 'flex-start' } : null;\n\t\tconst borderRadius = this.getBorderRadius();\n\t\tconst contentStyleFromProps = this.props.contentStyle || {};\n\t\tconst contentStyle = {\n\t\t\t...borderRadius,\n\t\t\t...contentStyleFromProps,\n\t\t};\n\t\tlet dialogLabelledBy = null;\n\n\t\tif (this.props.assistiveText.dialogLabelledBy) {\n\t\t\t// eslint-disable-next-line prefer-destructuring\n\t\t\tdialogLabelledBy = this.props.assistiveText.dialogLabelledBy;\n\t\t} else if (\n\t\t\t!this.props.assistiveText.dialogLabel &&\n\t\t\t(this.props.heading || this.props.title)\n\t\t) {\n\t\t\tdialogLabelledBy = `${this.getId()}-heading`;\n\t\t}\n\n\t\treturn (\n\t\t\t// temporarily disabling eslint for the onClicks on the div tags\n\t\t\t/* eslint-disable */\n\t\t\t<section\n\t\t\t\taria-describedby={`${this.getId()}-modal-content`}\n\t\t\t\taria-label={this.props.assistiveText.dialogLabel}\n\t\t\t\taria-labelledby={dialogLabelledBy}\n\t\t\t\taria-modal={true}\n\t\t\t\tclassName={classNames(\n\t\t\t\t\t'slds-modal',\n\t\t\t\t\t'slds-fade-in-open',\n\t\t\t\t\tthis.props.size ? `slds-modal_${this.props.size}` : null,\n\t\t\t\t\t{ 'slds-modal_prompt': this.isPrompt() },\n\t\t\t\t\tthis.props.className\n\t\t\t\t)}\n\t\t\t\tonClick={this.dismissModalOnClickOutside}\n\t\t\t\trole={this.props.disableClose ? 'alertdialog' : 'dialog'}\n\t\t\t>\n\t\t\t\t<div\n\t\t\t\t\tclassName={classNames(\n\t\t\t\t\t\t'slds-modal__container',\n\t\t\t\t\t\tthis.props.containerClassName\n\t\t\t\t\t)}\n\t\t\t\t\tstyle={modalStyle}\n\t\t\t\t>\n\t\t\t\t\t{this.headerComponent()}\n\t\t\t\t\t<div\n\t\t\t\t\t\tclassName={classNames(\n\t\t\t\t\t\t\t'slds-modal__content',\n\t\t\t\t\t\t\tthis.props.contentClassName\n\t\t\t\t\t\t)}\n\t\t\t\t\t\tid={`${this.getId()}-modal-content`}\n\t\t\t\t\t\tstyle={contentStyle}\n\t\t\t\t\t\tonClick={this.handleModalClick}\n\t\t\t\t\t>\n\t\t\t\t\t\t{this.props.children}\n\t\t\t\t\t</div>\n\t\t\t\t\t{this.footerComponent()}\n\t\t\t\t</div>\n\t\t\t</section>\n\t\t\t/* eslint-enable */\n\t\t);\n\t}\n\n\tsetReturnFocus() {\n\t\tthis.setState({\n\t\t\treturnFocusTo: documentDefined ? document.activeElement : null,\n\t\t});\n\t}\n\n\t// eslint-disable-next-line class-methods-use-this\n\tclearBodyScroll() {\n\t\tif (windowDefined && documentDefined && document.body) {\n\t\t\tdocument.body.style.overflow = 'inherit';\n\t\t}\n\t}\n\n\tcloseModal() {\n\t\tif (!this.props.disableClose) {\n\t\t\tthis.dismissModal();\n\t\t}\n\t}\n\n\tdismissModal() {\n\t\tthis.setState({ isClosing: true });\n\t\tif (this.state.returnFocusTo && this.state.returnFocusTo.focus) {\n\t\t\tthis.state.returnFocusTo.focus();\n\t\t}\n\t\tif (this.props.onRequestClose) {\n\t\t\tthis.props.onRequestClose();\n\t\t}\n\t}\n\n\tdismissModalOnClickOutside() {\n\t\t// if dismissOnClickOutside is not set, default its value to disableClose\n\t\tconst dismissOnClickOutside =\n\t\t\tthis.props.dismissOnClickOutside !== undefined\n\t\t\t\t? this.props.dismissOnClickOutside\n\t\t\t\t: !this.props.disableClose;\n\n\t\tif (dismissOnClickOutside) {\n\t\t\tthis.dismissModal();\n\t\t}\n\t}\n\n\tfooterComponent() {\n\t\tlet footer = null;\n\t\tconst hasFooter = this.props.footer;\n\t\tconst footerClass = {\n\t\t\t'slds-modal__footer': true,\n\t\t\t'slds-modal__footer_directional': this.props.directional,\n\t\t\t'slds-theme_default': this.isPrompt(),\n\t\t};\n\n\t\tif (hasFooter) {\n\t\t\tfooter = ( // eslint-disable-next-line jsx-a11y/no-static-element-interactions, jsx-a11y/no-noninteractive-element-interactions\n\t\t\t\t<footer\n\t\t\t\t\tclassName={classNames(footerClass, this.props.footerClassNames)}\n\t\t\t\t\tonClick={this.handleModalClick}\n\t\t\t\t>\n\t\t\t\t\t{this.props.footer}\n\t\t\t\t</footer>\n\t\t\t);\n\t\t}\n\t\treturn footer;\n\t}\n\n\t// eslint-disable-next-line class-methods-use-this\n\thandleModalClick(event) {\n\t\tif (event && event.stopPropagation) {\n\t\t\tevent.stopPropagation();\n\t\t}\n\t}\n\n\thandleSubmitModal() {\n\t\tthis.closeModal();\n\t}\n\n\theaderComponent() {\n\t\tlet headerContent = this.props.header;\n\t\tconst headerEmpty =\n\t\t\t!headerContent &&\n\t\t\t!(this.props.heading || this.props.title) &&\n\t\t\t!this.props.tagline;\n\t\tconst assistiveText = {\n\t\t\t...defaultProps.assistiveText,\n\t\t\t...this.props.assistiveText,\n\t\t};\n\t\tconst closeButtonAssistiveText =\n\t\t\tthis.props.closeButtonAssistiveText || assistiveText.closeButton;\n\t\tconst closeButton = (\n\t\t\t<Button\n\t\t\t\tassistiveText={{ icon: closeButtonAssistiveText }}\n\t\t\t\ticonCategory=\"utility\"\n\t\t\t\ticonName=\"close\"\n\t\t\t\ticonSize=\"large\"\n\t\t\t\tinverse\n\t\t\t\tclassName=\"slds-button_icon slds-modal__close\"\n\t\t\t\tonClick={this.closeModal}\n\t\t\t\ttitle={closeButtonAssistiveText}\n\t\t\t\tvariant=\"icon\"\n\t\t\t/>\n\t\t);\n\n\t\tif (\n\t\t\t(!headerContent && (this.props.heading || this.props.title)) ||\n\t\t\tthis.props.tagline\n\t\t) {\n\t\t\theaderContent = (\n\t\t\t\t<div>\n\t\t\t\t\t{this.props.toast}\n\t\t\t\t\t<h2\n\t\t\t\t\t\tclassName={classNames({\n\t\t\t\t\t\t\t'slds-text-heading_small': this.isPrompt(),\n\t\t\t\t\t\t\t'slds-text-heading_medium': !this.isPrompt(),\n\t\t\t\t\t\t})}\n\t\t\t\t\t\tid={`${this.getId()}-heading`}\n\t\t\t\t\t>\n\t\t\t\t\t\t{this.props.heading ? this.props.heading : this.props.title}\n\t\t\t\t\t</h2>\n\t\t\t\t\t{this.props.tagline ? (\n\t\t\t\t\t\t<p className=\"slds-m-top_x-small\">{this.props.tagline}</p>\n\t\t\t\t\t) : null}\n\t\t\t\t</div>\n\t\t\t);\n\t\t}\n\n\t\treturn (\n\t\t\t// eslint-disable-next-line jsx-a11y/no-static-element-interactions\n\t\t\t<header\n\t\t\t\tclassName={classNames(\n\t\t\t\t\t'slds-modal__header',\n\t\t\t\t\t{\n\t\t\t\t\t\t'slds-modal__header_empty': headerEmpty,\n\t\t\t\t\t\t[`slds-theme_${this.props.prompt}`]: this.isPrompt(),\n\t\t\t\t\t\t'slds-theme_alert-texture': this.isPrompt(),\n\t\t\t\t\t},\n\t\t\t\t\tthis.props.headerClassName\n\t\t\t\t)}\n\t\t\t\tonClick={this.handleModalClick}\n\t\t\t>\n\t\t\t\t{this.props.disableClose ? null : closeButton}\n\t\t\t\t{headerContent}\n\t\t\t</header>\n\t\t);\n\t}\n\n\tisPrompt() {\n\t\treturn this.props.prompt !== undefined;\n\t}\n\n\tupdateBodyScroll() {\n\t\tif (windowDefined && documentDefined && document.body) {\n\t\t\tif (this.props.isOpen) {\n\t\t\t\tdocument.body.style.overflow = 'hidden';\n\t\t\t} else {\n\t\t\t\tdocument.body.style.overflow = 'inherit';\n\t\t\t}\n\t\t}\n\t}\n\n\trender() {\n\t\tconst customStyles = {\n\t\t\tcontent: {\n\t\t\t\tposition: 'default',\n\t\t\t\ttop: 'default',\n\t\t\t\tleft: 'default',\n\t\t\t\tright: 'default',\n\t\t\t\tbottom: 'default',\n\t\t\t\tborder: 'default',\n\t\t\t\tbackground: 'default',\n\t\t\t\toverflow: 'default',\n\t\t\t\tWebkitOverflowScrolling: 'default',\n\t\t\t\tborderRadius: 'default',\n\t\t\t\toutline: 'default',\n\t\t\t\tpadding: 'default',\n\t\t\t},\n\t\t\toverlay: {\n\t\t\t\tzIndex: 8000, // following SLDS guideline for z-index overlay\n\t\t\t\tbackgroundColor: 'default',\n\t\t\t},\n\t\t};\n\n\t\treturn (\n\t\t\t<ReactModal\n\t\t\t\tariaHideApp={this.props.ariaHideApp}\n\t\t\t\tcontentLabel=\"Modal\"\n\t\t\t\tisOpen={this.props.isOpen}\n\t\t\t\tonRequestClose={this.closeModal}\n\t\t\t\tstyle={customStyles}\n\t\t\t\tparentSelector={this.props.parentSelector}\n\t\t\t\tportalClassName={classNames(\n\t\t\t\t\t'ReactModalPortal',\n\t\t\t\t\tthis.props.portalClassName\n\t\t\t\t)}\n\t\t\t>\n\t\t\t\t{this.getModal()}\n\t\t\t\t<div className=\"slds-backdrop slds-backdrop_open\" />\n\t\t\t</ReactModal>\n\t\t);\n\t}\n}\n\nModal.displayName = MODAL;\nModal.propTypes = propTypes;\nModal.defaultProps = defaultProps;\n\nexport default Modal;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// # App Launcher Component\n// Based on SLDS v2.1.0-rc.2\n\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\nimport classNames from 'classnames';\n\nimport isFunction from 'lodash.isfunction';\nimport shortid from 'shortid';\n\n// This component's `checkProps` which issues warnings to developers about properties when in development mode (similar to React's built in development tools)\nimport checkProps from './check-props';\nimport componentDoc from './component.json';\n\n// ## Children\nimport Modal from '../modal';\n\nimport { APP_LAUNCHER } from '../../utilities/constants';\n\nconst defaultProps = {\n\tassistiveText: {\n\t\ttrigger: 'Open App Launcher',\n\t},\n\tariaHideApp: true,\n\ttitle: 'App Launcher',\n};\n\n/**\n * The App Launcher allows the user to quickly access all the apps and functionality with their organization.\n * The App Launcher should generally only be used as a sub-component of the [Global Navigation Bar](/components/global-navigation-bar)\n *\n * USAGE EXAMPLE:\n * ```\n * <AppLauncher>\n * \t<AppLauncherExpandableSection>\n * \t\t<AppLauncherTile />\n * \t\t<AppLauncherTile />\n * \t\t<AppLauncherTile />\n * \t</AppLauncherExpandableSection>\n * \t<AppLauncherExpandableSection>\n * \t\t<AppLauncherTile />\n * \t\t<AppLauncherTile />\n * \t</AppLauncherExpandableSection>\n * </AppLauncher>\n * ```\n *\n * By default, `Modal`, a child component of App Launcher, will add `aria-hidden=true` to the `body` tag, but this disables some assistive technologies. To prevent this you can add the following to your application with `#mount` being the root node of your application that you would like to hide from assistive technologies when the `Modal` is open.\n * ```\n * import settings from 'design-system-react/components/settings';\n * settings.setAppElement('#mount');\n * ```\n */\nclass AppLauncher extends React.Component {\n\t// ### Display Name\n\t// Always use the canonical component name as the React display name.\n\tstatic displayName = APP_LAUNCHER;\n\n\t// ### Prop Types\n\tstatic propTypes = {\n\t\t/**\n\t\t * **Assistive text for accessibility.**\n\t\t * This object is merged with the default props object on every render.\n\t\t * * `trigger`: This is a visually hidden label for the app launcher icon.\n\t\t */\n\t\tassistiveText: PropTypes.shape({\n\t\t\ttrigger: PropTypes.string,\n\t\t}),\n\t\t/**\n\t\t * Boolean indicating if the appElement should be hidden.\n\t\t */\n\t\tariaHideApp: PropTypes.bool,\n\t\t/**\n\t\t * One or more `<AppLauncherExpandableSection />`s, each containing one or more `<AppLauncherTile />`s or `<AppLauncherLink />`s\n\t\t */\n\t\tchildren: PropTypes.node.isRequired,\n\t\t/**\n\t\t * The app launcher id. If not provided, one will be generated for accessibility\n\t\t */\n\t\tid: PropTypes.string,\n\t\t/**\n\t\t * Control the open/close state of the App Launcher\n\t\t */\n\t\tisOpen: PropTypes.bool,\n\t\t/**\n\t\t * CSS classes to be added to App Launcher Modal.\n\t\t */\n\t\tmodalClassName: PropTypes.oneOfType([\n\t\t\tPropTypes.array,\n\t\t\tPropTypes.object,\n\t\t\tPropTypes.string,\n\t\t]),\n\t\t/**\n\t\t * Button that exists in the upper right hand corner of the App Launcher modal\n\t\t */\n\t\tmodalHeaderButton: PropTypes.node,\n\t\t/**\n\t\t * Allows longer application names without truncating them.\n\t\t */\n\t\tnoTruncate: PropTypes.bool,\n\t\t/**\n\t\t * Callback when the App Launcher Modal is closed\n\t\t */\n\t\tonClose: PropTypes.func,\n\t\t/**\n\t\t * Search bar for the Modal's header. Will typically be an instance of `design-system-react/input/search`\n\t\t */\n\t\tsearch: PropTypes.node,\n\t\t/**\n\t\t * Set the App Launcher's title text (for localization)\n\t\t */\n\t\ttitle: PropTypes.string,\n\t\t/**\n\t\t * This is typically the name of the cloud or application\n\t\t */\n\t\ttriggerName: PropTypes.node,\n\t\t/**\n\t\t * Callback when the App Launcher icon is clicked\n\t\t */\n\t\ttriggerOnClick: PropTypes.func,\n\t};\n\n\tstatic defaultProps = defaultProps;\n\n\tconstructor(props) {\n\t\tsuper(props);\n\t\tthis.generatedId = shortid.generate();\n\t\tthis.state = {\n\t\t\tisOpen: false,\n\t\t};\n\n\t\t// `checkProps` issues warnings to developers about properties (similar to React's built in development tools)\n\t\tcheckProps(APP_LAUNCHER, props, componentDoc);\n\t}\n\n\tgetId() {\n\t\treturn this.props.id || this.generatedId;\n\t}\n\n\topenAppLauncher = (event) => {\n\t\tthis.setState({ isOpen: true });\n\n\t\tif (isFunction(this.props.triggerOnClick)) {\n\t\t\tthis.props.triggerOnClick(event, {});\n\t\t}\n\t};\n\n\tcloseAppLauncher = (event) => {\n\t\tthis.setState({ isOpen: false });\n\n\t\tif (isFunction(this.props.onClose)) {\n\t\t\tthis.props.onClose(event, {});\n\t\t}\n\t};\n\n\trenderSearch = () => {\n\t\tlet returnVal;\n\n\t\tif (this.props.search) {\n\t\t\treturnVal = (\n\t\t\t\t<div\n\t\t\t\t\tclassName=\"slds-app-launcher__header-search\"\n\t\t\t\t\tref={(component) => {\n\t\t\t\t\t\tif (component) {\n\t\t\t\t\t\t\tif (!this.focusedOnSearch) {\n\t\t\t\t\t\t\t\tconst input = component.querySelector('input');\n\t\t\t\t\t\t\t\tif (input) {\n\t\t\t\t\t\t\t\t\t// push to end of stack so click event doesn't blur the focus\n\t\t\t\t\t\t\t\t\tsetTimeout(() => {\n\t\t\t\t\t\t\t\t\t\tinput.focus();\n\t\t\t\t\t\t\t\t\t\tthis.focusedOnSearch = true;\n\t\t\t\t\t\t\t\t\t}, 0);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tthis.focusedOnSearch = false;\n\t\t\t\t\t\t}\n\t\t\t\t\t}}\n\t\t\t\t>\n\t\t\t\t\t{this.props.search}\n\t\t\t\t</div>\n\t\t\t);\n\t\t}\n\n\t\treturn returnVal;\n\t};\n\n\trender() {\n\t\tconst isOpen =\n\t\t\tthis.props.isOpen !== undefined ? this.props.isOpen : this.state.isOpen;\n\n\t\t// Should be removed in the future by adding a reset class of some sort.\n\t\tconst style = this.props.noTruncate ? { maxWidth: 'none' } : null;\n\n\t\tconst customModalHeader = (\n\t\t\t<React.Fragment>\n\t\t\t\t<h2\n\t\t\t\t\tclassName=\"slds-text-heading_medium\"\n\t\t\t\t\tid={`${this.getId()}-app-launcher-title`}\n\t\t\t\t>\n\t\t\t\t\t{this.props.title}\n\t\t\t\t</h2>\n\n\t\t\t\t{this.renderSearch()}\n\n\t\t\t\t{this.props.modalHeaderButton ? (\n\t\t\t\t\tthis.props.modalHeaderButton\n\t\t\t\t) : (\n\t\t\t\t\t<span className=\"slds-size_1-of-7\" />\n\t\t\t\t)}\n\t\t\t</React.Fragment>\n\t\t);\n\n\t\t// Not present in SLDS, but is consistent with other implementations of App Launcher. This also prevents resizing/jumping around when filtering. It will start clipping the modal close button at 600px viewport height.\n\t\tconst modalContentStaticHeight = '90%';\n\n\t\tconst assistiveText = {\n\t\t\t...defaultProps.assistiveText,\n\t\t\t...this.props.assistiveText,\n\t\t};\n\t\tconst triggerAssistiveText =\n\t\t\tthis.props.triggerAssistiveText || assistiveText.trigger;\n\t\treturn (\n\t\t\t<div\n\t\t\t\tclassName=\"slds-context-bar__item slds-context-bar__dropdown-trigger slds-dropdown-trigger slds-dropdown-trigger_click slds-no-hover\"\n\t\t\t\tstyle={style}\n\t\t\t>\n\t\t\t\t<div className=\"slds-context-bar__icon-action\">\n\t\t\t\t\t<button\n\t\t\t\t\t\taria-haspopup=\"true\"\n\t\t\t\t\t\tclassName=\"slds-button slds-icon-waffle_container slds-context-bar__button\"\n\t\t\t\t\t\tonClick={this.openAppLauncher}\n\t\t\t\t\t\ttitle={triggerAssistiveText}\n\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<span className=\"slds-icon-waffle\">\n\t\t\t\t\t\t\t<span className=\"slds-r1\" />\n\t\t\t\t\t\t\t<span className=\"slds-r2\" />\n\t\t\t\t\t\t\t<span className=\"slds-r3\" />\n\t\t\t\t\t\t\t<span className=\"slds-r4\" />\n\t\t\t\t\t\t\t<span className=\"slds-r5\" />\n\t\t\t\t\t\t\t<span className=\"slds-r6\" />\n\t\t\t\t\t\t\t<span className=\"slds-r7\" />\n\t\t\t\t\t\t\t<span className=\"slds-r8\" />\n\t\t\t\t\t\t\t<span className=\"slds-r9\" />\n\t\t\t\t\t\t</span>\n\t\t\t\t\t\t{triggerAssistiveText && (\n\t\t\t\t\t\t\t<span className=\"slds-assistive-text\">\n\t\t\t\t\t\t\t\t{triggerAssistiveText}\n\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t)}\n\t\t\t\t\t</button>\n\t\t\t\t</div>\n\t\t\t\t<Modal\n\t\t\t\t\tariaHideApp={this.props.ariaHideApp}\n\t\t\t\t\tassistiveText={{\n\t\t\t\t\t\tdialogLabelledBy: `${this.getId()}-app-launcher-title`,\n\t\t\t\t\t}}\n\t\t\t\t\tclassName={classNames('slds-app-launcher', this.props.modalClassName)}\n\t\t\t\t\tcontentClassName=\"slds-app-launcher__content slds-p-around_medium\"\n\t\t\t\t\tcontentStyle={{ minHeight: modalContentStaticHeight }}\n\t\t\t\t\tisOpen={isOpen}\n\t\t\t\t\tonRequestClose={this.closeAppLauncher}\n\t\t\t\t\tsize=\"large\"\n\t\t\t\t\theader={customModalHeader}\n\t\t\t\t\theaderClassName=\"slds-grid slds-grid_align-spread slds-grid_vertical-align-center\"\n\t\t\t\t>\n\t\t\t\t\t{this.props.children}\n\t\t\t\t</Modal>\n\t\t\t\t{this.props.triggerName ? (\n\t\t\t\t\t<span className=\"slds-context-bar__label-action slds-context-bar__app-name\">\n\t\t\t\t\t\t{this.props.noTruncate ? (\n\t\t\t\t\t\t\tthis.props.triggerName\n\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t<span className=\"slds-truncate\" title={this.props.triggerName}>\n\t\t\t\t\t\t\t\t{this.props.triggerName}\n\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t)}\n\t\t\t\t\t</span>\n\t\t\t\t) : null}\n\t\t\t</div>\n\t\t);\n\t}\n}\n\nexport default AppLauncher;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// # Expandable Section Component\n\n// Implements the [Expandable Section design pattern](https://www.lightningdesignsystem.com/components/expandable-section/) in React.\n\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\nimport classNames from 'classnames';\nimport shortid from 'shortid';\n\nimport Button from '../button';\n\n// ### Event Helpers\n// import KEYS from '../../utilities/key-code';\n// import EventUtil from '../../utilities/event';\n\nimport { EXPANDABLE_SECTION } from '../../utilities/constants';\n\nconst propTypes = {\n\t/**\n\t * **Assistive text for accessibility.**\n\t * * `toggleSection`: Label for the icon that expands / collapses the section\n\t */\n\tassistiveText: PropTypes.shape({\n\t\ttoggleSection: PropTypes.string,\n\t}),\n\t/**\n\t * Contents of the section\n\t */\n\tchildren: PropTypes.node,\n\t/**\n\t * Class names to be added to the `slds-section` classed node\n\t */\n\tclassName: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\t/**\n\t * Unique identifier for the expandable section. The id is automatically generated if not provided\n\t */\n\tid: PropTypes.string,\n\t/**\n\t * Specifies whether the section is expanded or collapsed. If not provided, component will use its own state to manage this itself\n\t */\n\tisOpen: PropTypes.bool,\n\t/**\n\t * Specifies whether the section can be expanded or collapsed. Defaults to `false`\n\t */\n\tnonCollapsible: PropTypes.bool,\n\t/**\n\t * Callback for when the section is expanded or collapsed. Passes event object and data object with `isOpen` bool.\n\t */\n\tonToggleOpen: PropTypes.func,\n\t/**\n\t * The title for the section\n\t */\n\ttitle: PropTypes.string.isRequired,\n};\n\nconst defaultProps = {\n\tassistiveText: {\n\t\ttoggleSection: 'Toggle visibility of section',\n\t},\n\tnonCollapsible: false,\n};\n\n/**\n * Toggle visibility of section content with the Expandable Section\n */\nclass ExpandableSection extends React.Component {\n\tconstructor(props) {\n\t\tsuper(props);\n\t\tthis.generatedId = shortid.generate();\n\t\tthis.state = {\n\t\t\tisOpen: true,\n\t\t};\n\t}\n\n\tgetId = () => this.props.id || this.generatedId;\n\n\ttoggleOpen = (event) => {\n\t\tif (this.props.onToggleOpen) {\n\t\t\tthis.props.onToggleOpen(event, {\n\t\t\t\tisOpen: this.props.isOpen,\n\t\t\t});\n\t\t} else {\n\t\t\tthis.setState((prevState) => ({\n\t\t\t\tisOpen: !prevState.isOpen,\n\t\t\t}));\n\t\t}\n\t};\n\n\trender() {\n\t\tconst contentId = `${this.getId()}-expanded-section-content`;\n\t\tconst isOpen =\n\t\t\tthis.props.isOpen !== undefined ? this.props.isOpen : this.state.isOpen;\n\t\tconst buttonAriaProps = {\n\t\t\t'aria-controls': contentId,\n\t\t\t'aria-expanded': !!isOpen,\n\t\t};\n\t\tconst titleNode = (\n\t\t\t<span\n\t\t\t\tclassName={classNames('slds-truncate', {\n\t\t\t\t\t'slds-p-horizontal_small': !!this.props.nonCollapsible,\n\t\t\t\t})}\n\t\t\t\ttitle={this.props.title}\n\t\t\t>\n\t\t\t\t{this.props.title}\n\t\t\t</span>\n\t\t);\n\n\t\treturn (\n\t\t\t<div\n\t\t\t\tclassName={classNames(\n\t\t\t\t\t'slds-section',\n\t\t\t\t\t{\n\t\t\t\t\t\t'slds-is-open': isOpen,\n\t\t\t\t\t},\n\t\t\t\t\tthis.props.className\n\t\t\t\t)}\n\t\t\t>\n\t\t\t\t<h3\n\t\t\t\t\tclassName={classNames('slds-section__title', {\n\t\t\t\t\t\t'slds-theme_shade': !!this.props.nonCollapsible,\n\t\t\t\t\t})}\n\t\t\t\t>\n\t\t\t\t\t{!this.props.nonCollapsible ? (\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tassistiveText={{\n\t\t\t\t\t\t\t\ticon: this.props.assistiveText.toggleSection,\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\ticonCategory=\"utility\"\n\t\t\t\t\t\t\ticonClassName=\"slds-section__title-action-icon slds-button__icon_left\"\n\t\t\t\t\t\t\ticonName=\"switch\"\n\t\t\t\t\t\t\tonClick={this.toggleOpen}\n\t\t\t\t\t\t\tclassName=\"slds-section__title-action\"\n\t\t\t\t\t\t\tvariant=\"base\"\n\t\t\t\t\t\t\t{...buttonAriaProps}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{titleNode}\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t) : (\n\t\t\t\t\t\ttitleNode\n\t\t\t\t\t)}\n\t\t\t\t</h3>\n\t\t\t\t<div\n\t\t\t\t\taria-hidden={!isOpen}\n\t\t\t\t\tclassName=\"slds-section__content\"\n\t\t\t\t\tid={contentId}\n\t\t\t\t>\n\t\t\t\t\t{this.props.children}\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t);\n\t}\n}\n\nExpandableSection.displayName = EXPANDABLE_SECTION;\nExpandableSection.propTypes = propTypes;\nExpandableSection.defaultProps = defaultProps;\n\nexport default ExpandableSection;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// # App Launcher Expandable Section Component\n\n// ## Dependencies\n\n// ### React\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\n// ### classNames\n// [github.com/JedWatson/classnames](https://github.com/JedWatson/classnames)\n// A simple javascript utility for conditionally joining classNames together.\nimport classNames from 'classnames';\n\n// This component's `checkProps` which issues warnings to developers about properties when in development mode (similar to React's built in development tools)\nimport checkProps from './check-props';\nimport componentDoc from './component.json';\n\n// ## Children\nimport ExpandableSection from '../expandable-section';\n\n// ## Constants\nimport {\n\tAPP_LAUNCHER_EXPANDABLE_SECTION,\n\tAPP_LAUNCHER_TILE,\n} from '../../utilities/constants';\n\n/**\n * App Launcher Sections allow users to categorize App Tiles & Links as well as toggle their display. It is a superset of components/expandable-section with content formatting.\n * All Expandable Section props are compatible with props passed to this component.\n */\nclass AppLauncherExpandableSection extends React.Component {\n\t// ### Display Name\n\t// Always use the canonical component name as the React display name.\n\tstatic displayName = APP_LAUNCHER_EXPANDABLE_SECTION;\n\n\t// ### Prop Types\n\tstatic propTypes = {\n\t\t/**\n\t\t * **Assistive text for accessibility.**\n\t\t * * `toggleSection`: Label for the icon that expands / collapses the section\n\t\t */\n\t\tassistiveText: PropTypes.shape({\n\t\t\ttoggleSection: PropTypes.string,\n\t\t}),\n\t\t/**\n\t\t * Contents of the section\n\t\t */\n\t\tchildren: PropTypes.node,\n\t\t/**\n\t\t * Class names to be added to the `slds-section` classed node\n\t\t */\n\t\tclassName: PropTypes.oneOfType([\n\t\t\tPropTypes.array,\n\t\t\tPropTypes.object,\n\t\t\tPropTypes.string,\n\t\t]),\n\t\t/**\n\t\t * Unique identifier for the expandable section. The id is automatically generated if not provided\n\t\t */\n\t\tid: PropTypes.string,\n\t\t/**\n\t\t * Specifies whether the section is expanded or collapsed. If not provided, component will use its own state to manage this itself\n\t\t */\n\t\tisOpen: PropTypes.bool,\n\t\t/**\n\t\t * Specifies whether the section can be expanded or collapsed. Defaults to `false`\n\t\t */\n\t\tnonCollapsible: PropTypes.bool,\n\t\t/**\n\t\t * Callback for when the section is expanded or collapsed. Passes event object and data object with `isOpen` bool.\n\t\t */\n\t\tonToggleOpen: PropTypes.func,\n\t\t/**\n\t\t * The title for the section\n\t\t */\n\t\ttitle: PropTypes.string.isRequired,\n\t};\n\n\tstate = {\n\t\tisOpen: true,\n\t};\n\n\tconstructor(props) {\n\t\tsuper(props);\n\n\t\tcheckProps(APP_LAUNCHER_EXPANDABLE_SECTION, props, componentDoc);\n\t}\n\n\ttoggleOpen = (event, data) => {\n\t\tif (this.props.onToggleOpen) {\n\t\t\tthis.props.onToggleOpen(event, data);\n\t\t} else {\n\t\t\tthis.setState((prevState) => ({\n\t\t\t\tisOpen: !prevState.isOpen,\n\t\t\t}));\n\t\t}\n\t};\n\n\trender() {\n\t\tconst expandableSectionProps = {\n\t\t\t...this.props,\n\t\t\t...{\n\t\t\t\tisOpen:\n\t\t\t\t\tthis.props.isOpen !== undefined\n\t\t\t\t\t\t? this.props.isOpen\n\t\t\t\t\t\t: this.state.isOpen,\n\t\t\t\tonToggleOpen: this.toggleOpen,\n\t\t\t},\n\t\t};\n\t\tlet ulChildrenType = 'tiles';\n\n\t\tconst ulContent = React.Children.map(this.props.children, (child) => {\n\t\t\tlet liClasses =\n\t\t\t\t'slds-p-horizontal_small slds-size_1-of-1 slds-medium-size_1-of-3';\n\n\t\t\tif (\n\t\t\t\t(child && child.type && child.type.displayName !== APP_LAUNCHER_TILE) ||\n\t\t\t\t(child && !child.type)\n\t\t\t) {\n\t\t\t\tulChildrenType = 'links';\n\t\t\t}\n\n\t\t\tif (ulChildrenType === 'links') {\n\t\t\t\tliClasses = 'slds-col_padded slds-p-vertical_xx-small slds-size_1-of-5';\n\t\t\t}\n\n\t\t\treturn <li className={liClasses}>{child}</li>;\n\t\t});\n\n\t\treturn (\n\t\t\t<ExpandableSection {...expandableSectionProps}>\n\t\t\t\t<ul\n\t\t\t\t\tclassName={classNames('slds-grid slds-wrap', {\n\t\t\t\t\t\t'slds-grid_pull-padded': ulChildrenType === 'tiles',\n\t\t\t\t\t})}\n\t\t\t\t>\n\t\t\t\t\t{ulContent}\n\t\t\t\t</ul>\n\t\t\t</ExpandableSection>\n\t\t);\n\t}\n}\n\nexport default AppLauncherExpandableSection;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// ### React\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\n// ### ReactHighlighter\nimport ReactHighlighter from 'react-highlighter';\n\n// ## Constants\nimport { HIGHLIGHTER } from '../../../utilities/constants';\n\n/**\n * A utility component that highlights occurrences of a particular pattern in its contents.\n */\nconst Highlighter = (props) => {\n\tif (props.search) {\n\t\tlet children;\n\t\tif (typeof props.children === 'string') {\n\t\t\tchildren = (\n\t\t\t\t<ReactHighlighter\n\t\t\t\t\tclassName={props.className}\n\t\t\t\t\tmatchClass={null}\n\t\t\t\t\tmatchElement=\"mark\"\n\t\t\t\t\tsearch={props.search}\n\t\t\t\t\ttitle={props.children}\n\t\t\t\t>\n\t\t\t\t\t{props.children}\n\t\t\t\t</ReactHighlighter>\n\t\t\t);\n\t\t} else {\n\t\t\tconst findString = (nodeArr) =>\n\t\t\t\tnodeArr.map((element) => {\n\t\t\t\t\tlet newElement;\n\t\t\t\t\tif (typeof element === 'string') {\n\t\t\t\t\t\tnewElement = (\n\t\t\t\t\t\t\t<ReactHighlighter\n\t\t\t\t\t\t\t\tkey={element}\n\t\t\t\t\t\t\t\tclassName={props.className}\n\t\t\t\t\t\t\t\tmatchClass={null}\n\t\t\t\t\t\t\t\tmatchElement=\"mark\"\n\t\t\t\t\t\t\t\tsearch={props.search}\n\t\t\t\t\t\t\t\ttitle={element}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{element}\n\t\t\t\t\t\t\t</ReactHighlighter>\n\t\t\t\t\t\t);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tnewElement = element;\n\t\t\t\t\t}\n\t\t\t\t\treturn newElement;\n\t\t\t\t});\n\n\t\t\tif (props.children.props) {\n\t\t\t\tconst node = props.children.props.children;\n\t\t\t\tchildren = node instanceof Array ? findString(node) : node;\n\t\t\t}\n\t\t}\n\n\t\treturn <span>{children}</span>;\n\t}\n\n\tif (typeof props.children === 'string') {\n\t\treturn (\n\t\t\t<span className={props.className} title={props.children}>\n\t\t\t\t{props.children}\n\t\t\t</span>\n\t\t);\n\t}\n\n\treturn <span className={props.className}>{props.children}</span>;\n};\n\n// ### Display Name\nHighlighter.displayName = HIGHLIGHTER;\n\n// ### Prop Types\nHighlighter.propTypes = {\n\t/**\n\t * The full string to display.\n\t */\n\tchildren: PropTypes.oneOfType([\n\t\tPropTypes.string,\n\t\tPropTypes.number,\n\t\tPropTypes.bool,\n\t\tPropTypes.node,\n\t]),\n\tclassName: PropTypes.string,\n\t/**\n\t * The string of text (or Regular Expression) to highlight.\n\t */\n\tsearch: PropTypes.any,\n};\n\nexport default Highlighter;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// # App Launcher Link Component\n\n// ## Dependencies\n\n// ### React\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\n// ### classNames\n// [github.com/JedWatson/classnames](https://github.com/JedWatson/classnames)\n// A simple javascript utility for conditionally joining classNames together.\nimport classNames from 'classnames';\n\n// ### Children\nimport Highlighter from '../utilities/highlighter';\n\n// ## Constants\nimport { APP_LAUNCHER_LINK } from '../../utilities/constants';\n\n/**\n * App Launcher Link component creates simple links to be used in \"All Items\" sections\n */\nclass AppLauncherLink extends React.Component {\n\t// ### Display Name\n\t// Always use the canonical component name as the React display name.\n\tstatic displayName = APP_LAUNCHER_LINK;\n\n\t// ### Prop Types\n\tstatic propTypes = {\n\t\t/**\n\t\t * Contents of the link\n\t\t */\n\t\tchildren: PropTypes.node,\n\t\t/**\n\t\t * Classes to be applied to the link\n\t\t */\n\t\tclassName: PropTypes.oneOfType([\n\t\t\tPropTypes.array,\n\t\t\tPropTypes.object,\n\t\t\tPropTypes.string,\n\t\t]),\n\t\t/**\n\t\t * The `href` attribute of the link. If the `onClick` callback is specified this URL will be prevented from changing the browser's location.\n\t\t */\n\t\thref: PropTypes.string,\n\t\t/**\n\t\t * Callback for when the link is clicked. Passes back event and data object with href prop. Prevents click from changing browser's location if set.\n\t\t */\n\t\tonClick: PropTypes.func,\n\t\t/**\n\t\t * Text used to highlight content in link\n\t\t */\n\t\tsearch: PropTypes.string,\n\t\t/**\n\t\t * The title for the link. If not provided it will attempt to use child content if that content is a string.\n\t\t */\n\t\ttitle: PropTypes.string,\n\t};\n\n\t// ### Default Props\n\tstatic defaultProps = {\n\t\thref: 'javascript:void(0);', // eslint-disable-line no-script-url\n\t};\n\n\trender() {\n\t\tlet { title } = this.props;\n\n\t\tif (!title && typeof this.props.children === 'string') {\n\t\t\ttitle = this.props.children;\n\t\t}\n\n\t\treturn (\n\t\t\t<a\n\t\t\t\thref={this.props.href} // eslint-disable-line no-script-url\n\t\t\t\tclassName={classNames('slds-truncate', this.props.className)}\n\t\t\t\tonClick={(event) => {\n\t\t\t\t\tif (this.props.onClick) {\n\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t\tthis.props.onClick(event, { href: this.props.href });\n\t\t\t\t\t}\n\t\t\t\t}}\n\t\t\t\ttitle={title}\n\t\t\t>\n\t\t\t\t<Highlighter search={this.props.search}>\n\t\t\t\t\t{this.props.children}\n\t\t\t\t</Highlighter>\n\t\t\t</a>\n\t\t);\n\t}\n}\n\nexport default AppLauncherLink;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\nimport React from 'react';\n\nimport PropTypes from 'prop-types';\n\nimport memoize from 'lodash.memoize';\n\nconst documentDefined = typeof document !== 'undefined';\n\nlet canvas;\nlet docFragment;\nlet canvasContext;\nlet measureWidth = () => 0;\n\nif (documentDefined) {\n\tcanvas = document.createElement('canvas');\n\tif (canvas.getContext) {\n\t\tdocFragment = document.createDocumentFragment();\n\t\tdocFragment.appendChild(canvas);\n\t\tcanvasContext = canvas.getContext('2d');\n\t\tmeasureWidth = memoize((text, font) => {\n\t\t\tcanvasContext.font = font;\n\t\t\treturn canvasContext.measureText(text).width;\n\t\t});\n\t}\n}\n\nclass TextTruncate extends React.Component {\n\tstatic displayName = 'TextTruncate';\n\n\tstatic propTypes = {\n\t\tcontainerClassName: PropTypes.string,\n\t\tline: PropTypes.number,\n\t\tprefix: PropTypes.string,\n\t\tsuffix: PropTypes.string,\n\t\ttext: PropTypes.string,\n\t\ttextTruncateChild: PropTypes.node,\n\t\ttruncateText: PropTypes.string,\n\t\twrapper: PropTypes.func,\n\t};\n\n\tstatic defaultProps = {\n\t\tline: 1,\n\t\ttext: '',\n\t\ttruncateText: '…',\n\t};\n\n\tstate = {};\n\n\tcomponentDidMount() {\n\t\twindow.addEventListener('resize', this.onResize, false);\n\t}\n\n\tcomponentDidUpdate(nextProps) {\n\t\tif (nextProps.text !== this.props.text) {\n\t\t\tthis.update(nextProps);\n\t\t}\n\t}\n\n\tcomponentWillUnmount() {\n\t\twindow.removeEventListener('resize', this.onResize, false);\n\t}\n\n\tonResize = () => {\n\t\tthis.update(this.props);\n\t};\n\n\tgetRenderText = (ref, nextProps) => {\n\t\tif (!ref) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis.scope = ref;\n\n\t\t// nextProps will be undefined for resize events, but will change if search or other props are changed\n\t\tlet propsToRender;\n\t\tif (nextProps) {\n\t\t\tpropsToRender = nextProps;\n\t\t} else {\n\t\t\tpropsToRender = this.props;\n\t\t}\n\n\t\tconst {\n\t\t\tcontainerClassName, // eslint-disable-line no-unused-vars\n\t\t\tline,\n\t\t\tprefix,\n\t\t\tsuffix,\n\t\t\ttext,\n\t\t\ttextTruncateChild,\n\t\t\ttruncateText,\n\t\t\twrapper,\n\t\t\t...props\n\t\t} = propsToRender;\n\n\t\tconst scopeWidth = this.scope.getBoundingClientRect().width;\n\t\tconst style = window.getComputedStyle(this.scope);\n\t\tconst font = [\n\t\t\tstyle['font-weight'],\n\t\t\tstyle['font-style'],\n\t\t\tstyle['font-size'],\n\t\t\tstyle['font-family'],\n\t\t].join(' ');\n\n\t\t// return if display:none\n\t\tif (scopeWidth === 0) {\n\t\t\tthis.setState({ renderText: null });\n\t\t\treturn;\n\t\t}\n\n\t\tlet child;\n\t\tlet outputText = text;\n\n\t\t// return if all of text can be displayed\n\t\tif (scopeWidth < measureWidth(text, font)) {\n\t\t\tlet currentPos = 1;\n\t\t\tconst maxTextLength = text.length;\n\t\t\tlet truncatedText = '';\n\t\t\tlet splitPos = 0;\n\t\t\tlet startPos = 0;\n\t\t\tlet displayLine = line;\n\t\t\tlet width = 0;\n\t\t\tlet lastIsEng = false;\n\t\t\tlet lastSpaceIndex = -1;\n\n\t\t\t// eslint-disable-next-line fp/no-loops\n\t\t\twhile (displayLine !== 0) {\n\t\t\t\tlet ext = '';\n\t\t\t\tlet extraWidthDueToPrefixStyle = 0;\n\n\t\t\t\tif (prefix && displayLine === line - 1) {\n\t\t\t\t\text += ` ${prefix}`;\n\t\t\t\t\t// MAGIC NUMBER: (width at letter-spacing of 0.25rems - width at normal) / number of letters\n\t\t\t\t\textraWidthDueToPrefixStyle = prefix.length * 0.66;\n\t\t\t\t}\n\n\t\t\t\tif (!displayLine) {\n\t\t\t\t\text += truncateText;\n\n\t\t\t\t\tif (suffix) {\n\t\t\t\t\t\text += ` ${suffix}`;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t// eslint-disable-next-line fp/no-loops\n\t\t\t\twhile (currentPos <= maxTextLength) {\n\t\t\t\t\ttruncatedText = text.substr(startPos, currentPos);\n\t\t\t\t\twidth =\n\t\t\t\t\t\tmeasureWidth(truncatedText + ext, font) +\n\t\t\t\t\t\textraWidthDueToPrefixStyle;\n\n\t\t\t\t\tif (width < scopeWidth) {\n\t\t\t\t\t\tsplitPos = text.indexOf(' ', currentPos + 1);\n\t\t\t\t\t\tif (splitPos === -1) {\n\t\t\t\t\t\t\tcurrentPos += 1;\n\t\t\t\t\t\t\tlastIsEng = false;\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tlastIsEng = true;\n\t\t\t\t\t\t\tcurrentPos = splitPos;\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\n\t\t\t\t\t\tlet lastWidth = 0;\n\t\t\t\t\t\t// eslint-disable-next-line fp/no-loops\n\t\t\t\t\t\tdo {\n\t\t\t\t\t\t\tcurrentPos -= 1;\n\t\t\t\t\t\t\ttruncatedText = text.substr(startPos, currentPos);\n\t\t\t\t\t\t\tif (truncatedText[truncatedText.length - 1] === ' ') {\n\t\t\t\t\t\t\t\ttruncatedText = text.substr(startPos, currentPos - 1);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tif (lastIsEng) {\n\t\t\t\t\t\t\t\tlastSpaceIndex = truncatedText.lastIndexOf(' ');\n\t\t\t\t\t\t\t\tif (lastSpaceIndex > -1) {\n\t\t\t\t\t\t\t\t\tcurrentPos = lastSpaceIndex;\n\t\t\t\t\t\t\t\t\ttruncatedText = text.substr(startPos, currentPos);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\twidth =\n\t\t\t\t\t\t\t\tmeasureWidth(truncatedText + ext, font) +\n\t\t\t\t\t\t\t\textraWidthDueToPrefixStyle;\n\t\t\t\t\t\t\tif (width === lastWidth) {\n\t\t\t\t\t\t\t\tcurrentPos = 0;\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tlastWidth = width;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} while (width >= scopeWidth);\n\t\t\t\t\t\tstartPos += currentPos;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tif (currentPos >= maxTextLength) {\n\t\t\t\t\tstartPos = maxTextLength;\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\n\t\t\t\tdisplayLine -= 1; // iterate\n\t\t\t}\n\n\t\t\tif (startPos !== maxTextLength) {\n\t\t\t\toutputText = `${text.substr(0, startPos)}${truncateText} `;\n\t\t\t\tchild = textTruncateChild;\n\t\t\t}\n\t\t}\n\n\t\tlet renderText;\n\t\tif (wrapper) {\n\t\t\trenderText = wrapper(outputText, child);\n\t\t} else {\n\t\t\trenderText = (\n\t\t\t\t<div {...props}>\n\t\t\t\t\t{outputText}\n\t\t\t\t\t{child}\n\t\t\t\t</div>\n\t\t\t);\n\t\t}\n\n\t\tthis.setState({ renderText });\n\t};\n\n\tupdate = (nextProps) => {\n\t\tthis.getRenderText(this.scope, nextProps);\n\t};\n\n\trender() {\n\t\tconst { containerClassName } = this.props;\n\n\t\t// inline style override\n\t\treturn (\n\t\t\t<div\n\t\t\t\tref={this.getRenderText}\n\t\t\t\tclassName={containerClassName}\n\t\t\t\tstyle={{ overflow: 'hidden' }}\n\t\t\t>\n\t\t\t\t{this.state.renderText}\n\t\t\t</div>\n\t\t);\n\t}\n}\n\nexport default TextTruncate;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n/* eslint-disable jsx-a11y/no-noninteractive-tabindex */\n\n// # App Launcher Tile Component\n\n// ## Dependencies\n\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\n\n// This component's `checkProps` which issues warnings to developers about properties when in development mode (similar to React's built in development tools)\nimport checkProps from './check-props';\nimport componentDoc from './component.json';\n\n// ## Children\nimport Button from '../button';\nimport Highlighter from '../utilities/highlighter';\nimport Tooltip from '../tooltip';\nimport Truncate from '../utilities/truncate';\n\nimport { APP_LAUNCHER_TILE } from '../../utilities/constants';\n\nconst propTypes = {\n\t/**\n\t * **Assistive text for accessibility.**\n\t * * `dragIconText`: Text that describes the purpose of the drag handle icon.\n\t */\n\tassistiveText: PropTypes.shape({\n\t\tdragIconText: PropTypes.string,\n\t}),\n\t/**\n\t * Class names to be added to the tile.\n\t */\n\tclassName: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\t/**\n\t * The description of the app. Not visible on small tiles.\n\t */\n\tdescription: PropTypes.string,\n\t/**\n\t * Heading for app description. NOTE: this prop is DEPRECATED and use should be avoided\n\t */\n\tdescriptionHeading: PropTypes.string,\n\t/**\n\t * The `href` attribute of the tile. Please pass in bookmarkable URLs from your routing library. If the `onClick` callback is specified this URL will be prevented from changing the browser's location.\n\t */\n\thref: PropTypes.string,\n\t/**\n\t * Background color to be used on the icon. Only applied if iconNode is undefined\n\t */\n\ticonBackgroundColor: PropTypes.string,\n\t/**\n\t * Icon node for app tile. Takes priority over `iconText`\n\t */\n\ticonNode: PropTypes.node,\n\t/**\n\t * Text to be used as an icon. Only renders if iconNode is undefined\n\t */\n\ticonText: PropTypes.string,\n\t/**\n\t * Open the More Tooltip\n\t */\n\tisOpenTooltip: PropTypes.bool,\n\t/**\n\t * The localized text for the \"More information\" tooltip.\n\t */\n\tmoreLabel: PropTypes.string,\n\t/**\n\t * Function that will be executed when clicking on a tile\n\t */\n\tonClick: PropTypes.func,\n\t/**\n\t * Text used to highlight content in app tiles\n\t */\n\tsearch: PropTypes.string,\n\t/**\n\t * App name for the tile's title.\n\t */\n\ttitle: PropTypes.string.isRequired,\n\n\t// Future feature: add Highlighter to Truncate text (https://github.com/ShinyChang/React-Text-Truncate/issues/32)\n};\n\nconst defaultProps = {\n\tassistiveText: {\n\t\tdragIconText: 'Reorder',\n\t},\n\thref: 'javascript:void(0);', // eslint-disable-line no-script-url\n\tmoreLabel: ' More',\n};\n\n/**\n * App Launcher Tiles provide information and links to a user's apps\n */\nclass AppLauncherTile extends React.Component {\n\tconstructor(props) {\n\t\tsuper(props);\n\n\t\t// `checkProps` issues warnings to developers about properties (similar to React's built in development tools)\n\t\tcheckProps(APP_LAUNCHER_TILE, props, componentDoc);\n\t}\n\n\thandleClick = (event) => {\n\t\tif (this.props.onClick) {\n\t\t\tevent.preventDefault();\n\t\t\tthis.props.onClick(event, { href: this.props.href });\n\t\t}\n\t};\n\n\trender() {\n\t\tconst dragButtonAriaProps = { 'aria-pressed': false };\n\t\tconst iconStyles = {};\n\n\t\tif (this.props.iconBackgroundColor) {\n\t\t\ticonStyles.backgroundColor = this.props.iconBackgroundColor;\n\t\t}\n\n\t\treturn (\n\t\t\t<div\n\t\t\t\tclassName={classNames(\n\t\t\t\t\t'slds-app-launcher__tile slds-text-link_reset slds-is-draggable', // NOTE: while the draggable class is here for stylistic purposes, the draggable attribute is not present as draggability has not been implemented yet\n\t\t\t\t\tthis.props.className\n\t\t\t\t)}\n\t\t\t\tonClick={this.handleClick}\n\t\t\t\trole=\"button\"\n\t\t\t\ttabIndex=\"0\"\n\t\t\t>\n\t\t\t\t<div className=\"slds-app-launcher__tile-figure\">\n\t\t\t\t\t{this.props.iconNode || (\n\t\t\t\t\t\t<span className=\"slds-avatar slds-avatar_large\">\n\t\t\t\t\t\t\t<abbr\n\t\t\t\t\t\t\t\tclassName=\"slds-avatar__initials slds-icon-custom-27\"\n\t\t\t\t\t\t\t\tstyle={iconStyles}\n\t\t\t\t\t\t\t\ttitle={this.props.title}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{this.props.iconText}\n\t\t\t\t\t\t\t</abbr>\n\t\t\t\t\t\t</span>\n\t\t\t\t\t)}\n\t\t\t\t\t<div className=\"slds-m-top_xxx-small\">\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tassistiveText={{\n\t\t\t\t\t\t\t\ticon: this.props.assistiveText.dragIconText,\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\ticonCategory=\"utility\"\n\t\t\t\t\t\t\ticonName=\"rows\"\n\t\t\t\t\t\t\ttitle={this.props.assistiveText.dragIconText}\n\t\t\t\t\t\t\tvariant=\"icon\"\n\t\t\t\t\t\t\t{...dragButtonAriaProps}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t\t<div className=\"slds-app-launcher__tile-body\">\n\t\t\t\t\t<a\n\t\t\t\t\t\thref={this.props.href} // eslint-disable-line no-script-url\n\t\t\t\t\t>\n\t\t\t\t\t\t<Highlighter search={this.props.search}>\n\t\t\t\t\t\t\t{this.props.title}\n\t\t\t\t\t\t</Highlighter>\n\t\t\t\t\t</a>\n\t\t\t\t\t<Truncate\n\t\t\t\t\t\tline={2}\n\t\t\t\t\t\tprefix={\n\t\t\t\t\t\t\tthis.props.descriptionHeading &&\n\t\t\t\t\t\t\tthis.props.descriptionHeading.toUpperCase()\n\t\t\t\t\t\t}\n\t\t\t\t\t\tsuffix={this.props.moreLabel}\n\t\t\t\t\t\ttext={this.props.description}\n\t\t\t\t\t\ttextTruncateChild={\n\t\t\t\t\t\t\t<Tooltip\n\t\t\t\t\t\t\t\talign=\"bottom\"\n\t\t\t\t\t\t\t\tcontent={\n\t\t\t\t\t\t\t\t\t<Highlighter search={this.props.search}>\n\t\t\t\t\t\t\t\t\t\t{this.props.description}\n\t\t\t\t\t\t\t\t\t</Highlighter>\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tisOpen={this.props.isOpenTooltip}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\tclassName=\"slds-button_reset slds-text-link\"\n\t\t\t\t\t\t\t\t\tvariant=\"base\"\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{this.props.moreLabel}\n\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t</Tooltip>\n\t\t\t\t\t\t}\n\t\t\t\t\t\twrapper={(text, textTruncateChild) => (\n\t\t\t\t\t\t\t<React.Fragment>\n\t\t\t\t\t\t\t\t{this.props.descriptionHeading && (\n\t\t\t\t\t\t\t\t\t// inline style override\n\t\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\t\tclassName=\"slds-text-heading_label\"\n\t\t\t\t\t\t\t\t\t\tstyle={{ letterSpacing: '0.025rem' }}\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{this.props.descriptionHeading}{' '}\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t<Highlighter search={this.props.search}>{text}</Highlighter>\n\t\t\t\t\t\t\t\t{textTruncateChild && ' '}\n\t\t\t\t\t\t\t\t{textTruncateChild}\n\t\t\t\t\t\t\t</React.Fragment>\n\t\t\t\t\t\t)}\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t);\n\t}\n}\n\nAppLauncherTile.displayName = APP_LAUNCHER_TILE;\nAppLauncherTile.defaultProps = defaultProps;\nAppLauncherTile.propTypes = propTypes;\n\nexport default AppLauncherTile;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n/* eslint-disable import/no-mutable-exports */\n\nimport sunsetProperty from '../../utilities/warning/sunset-property';\nimport getComponentDocFn from '../../utilities/get-component-doc';\n\nlet checkProps = function checkPropsFunction() {};\n\nif (process.env.NODE_ENV !== 'production') {\n\tcheckProps = function checkPropsFunction(COMPONENT, props, jsonDoc) {\n\t\tconst createDocUrl = getComponentDocFn(jsonDoc);\n\t\tif (typeof props.assistiveText === 'string') {\n\t\t\tsunsetProperty(\n\t\t\t\tCOMPONENT,\n\t\t\t\tprops.assistiveText,\n\t\t\t\t'assistiveText',\n\t\t\t\t`\\`assistiveText\\` as a string has been deprecated and is now an object to allow for multiple uses in the component. Please use \\`assistiveText.icon\\` instead. ${createDocUrl(\n\t\t\t\t\t'assistiveText'\n\t\t\t\t)}`\n\t\t\t);\n\t\t}\n\t};\n}\n\nexport default checkProps;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// # Avatar Component\n\n// Implements the [Avatar design pattern](https://lightningdesignsystem.com/components/avatar/) in React.\n\n// ### React\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\n// This component's `checkProps` which issues warnings to developers about properties when in development mode (similar to React's built in development tools)\nimport checkProps from './check-props';\n\n// ### classNames\n// [github.com/JedWatson/classnames](https://github.com/JedWatson/classnames) A\n// simple javascript utility for conditionally joining classNames together.\nimport classNames from '../../utilities/class-names';\nimport { AVATAR } from '../../utilities/constants';\nimport UtilityIcon from '../icon';\nimport componentDoc from './component.json';\n\n// ### Display Name Always use the canonical component name as the React display\n// name.\nconst displayName = AVATAR;\n\n// ### Prop Types\nconst propTypes = {\n\t/**\n\t * **Assistive text for accessibility.**\n\t * This object is merged with the default props object on every render.\n\t * * `icon`: Assistive text for accessibility that labels the icon.\n\t */\n\tassistiveText: PropTypes.shape({\n\t\ticon: PropTypes.string,\n\t}),\n\t/**\n\t * Alt attribute to be applied to image (base case) element.\n\t */\n\timgAlt: PropTypes.string,\n\t/**\n\t * Source attribute to be applied to image (base case) element.\n\t */\n\timgSrc: PropTypes.string,\n\t/**\n\t * Initials attribute to optionally pass in initials directly in case of \"initials\" fallback case.\n\t */\n\tinitials: PropTypes.string,\n\t/**\n\t * Avatar with initials that are dark text on light background\n\t */\n\tinverse: PropTypes.bool,\n\t/**\n\t * Label attibute to display inside \"initials\" fallback case. Will be passed as title prop in `abbr` element to provide more specificity.\n\t */\n\tlabel: PropTypes.string,\n\t/**\n\t * Avatar variants to apply relevant styling (circle: user, square: entity) and icon rendering if applicable.\n\t */\n\tvariant: PropTypes.oneOf(['entity', 'user']).isRequired,\n\t/**\n\t * Size of the icon in \"icon\" fallback case.\n\t */\n\tsize: PropTypes.oneOf(['x-small', 'small', 'medium', 'large']).isRequired,\n\t/**\n\t * Title attribute for the avatar container.\n\t */\n\ttitle: PropTypes.string,\n};\n\nconst defaultProps = {\n\tassistiveText: {\n\t\ticon: 'User or Account Icon',\n\t},\n\timgAlt: '',\n\tsize: 'medium',\n\ttitle: 'user avatar',\n\tvariant: 'user',\n};\n\n/**\n * The avatar component represents an object or entity. An image is the preferred format for an avatar.\n If the `imgSrc` prop is undefined, and if a `label` or `initials` prop is available, the fallback avatar will render with initials. If initals are passed in directly in the `initials` prop, this will render in the fallback avatar. If `initals` prop is unavailable but a `label` prop is available, the fallback avatar will render with built initials of the user name or entity name.\n\n Intials built from the `label` prop will apply the following logic: If the label name contains two words, like first and last name, the first letter of each will be capitalized and returned. For labels that only have a single word name, the first two letters of that word, using one capital and one lower case letter, will be returned. For labels that contain three or more words, the first character of the first and last words will be capitalized and returned.\n\n If `initials` or `label` are not available, the fallback avatar will render a standard icon. If `variant='user'`, a user icon will\n render. If `variant='entity'`, an account icon will render.\n */\n\nclass Avatar extends React.Component {\n\tconstructor(props) {\n\t\tsuper(props);\n\t\tthis.state = {\n\t\t\timgLoadError: false,\n\t\t};\n\n\t\tcheckProps(AVATAR, props, componentDoc);\n\t}\n\n\tbuildInitials() {\n\t\tconst { label } = this.props;\n\t\tconst name = label.trim();\n\t\tconst nameParts = name.split(' ');\n\t\tif (nameParts.length > 1) {\n\t\t\treturn (\n\t\t\t\tnameParts[0].charAt(0).toUpperCase() +\n\t\t\t\tnameParts[nameParts.length - 1].charAt(0).toUpperCase()\n\t\t\t);\n\t\t}\n\t\treturn (name[0] || '').toUpperCase() + (name[1] || '').toLowerCase();\n\t}\n\n\thandleImageError() {\n\t\treturn this.setState(() => ({ imgLoadError: true }));\n\t}\n\n\trenderBaseAvatar() {\n\t\tconst { imgAlt, imgSrc, title } = this.props;\n\t\treturn (\n\t\t\t<img\n\t\t\t\talt={imgAlt}\n\t\t\t\tsrc={imgSrc}\n\t\t\t\tonError={() => this.handleImageError()}\n\t\t\t\ttitle={title}\n\t\t\t/>\n\t\t);\n\t}\n\n\trenderIconAvatar() {\n\t\tconst { variant } = this.props;\n\t\tconst iconAssistiveText =\n\t\t\ttypeof this.props.assistiveText === 'string'\n\t\t\t\t? this.props.assistiveText\n\t\t\t\t: {\n\t\t\t\t\t\t...defaultProps.assistiveText,\n\t\t\t\t\t\t...this.props.assistiveText,\n\t\t\t\t }.icon;\n\t\treturn (\n\t\t\t<UtilityIcon\n\t\t\t\tassistiveText={{ label: iconAssistiveText }}\n\t\t\t\tcategory=\"standard\"\n\t\t\t\tname={variant === 'entity' ? 'account' : 'user'}\n\t\t\t/>\n\t\t);\n\t}\n\n\trenderInitialsAvatar() {\n\t\tconst { initials, inverse, label, variant } = this.props;\n\t\treturn (\n\t\t\t<abbr\n\t\t\t\tclassName={classNames('slds-avatar__initials', {\n\t\t\t\t\t'slds-avatar__initials_inverse': inverse,\n\t\t\t\t\t'slds-icon-standard-account': variant === 'entity',\n\t\t\t\t\t'slds-icon-standard-user': variant === 'user',\n\t\t\t\t})}\n\t\t\t\ttitle={label}\n\t\t\t>\n\t\t\t\t{initials ? initials : this.buildInitials()}\n\t\t\t</abbr>\n\t\t);\n\t}\n\n\trender() {\n\t\tconst { imgSrc, initials, variant, label, size } = this.props;\n\n\t\tconst renderAvatar = () => {\n\t\t\t/* eslint no-unneeded-ternary: */\n\t\t\tif (!this.state.imgLoadError && imgSrc) {\n\t\t\t\treturn this.renderBaseAvatar();\n\t\t\t}\n\t\t\tif (initials || (label && label.trim())) {\n\t\t\t\treturn this.renderInitialsAvatar();\n\t\t\t}\n\t\t\treturn this.renderIconAvatar();\n\t\t};\n\n\t\treturn (\n\t\t\t<div>\n\t\t\t\t<span\n\t\t\t\t\tclassName={classNames('slds-avatar', {\n\t\t\t\t\t\t'slds-avatar_circle': variant === 'user',\n\t\t\t\t\t\t'slds-avatar_x-small': size === 'x-small',\n\t\t\t\t\t\t'slds-avatar_small': size === 'small',\n\t\t\t\t\t\t'slds-avatar_medium': size === 'medium',\n\t\t\t\t\t\t'slds-avatar_large': size === 'large',\n\t\t\t\t\t})}\n\t\t\t\t>\n\t\t\t\t\t{renderAvatar()}\n\t\t\t\t</span>\n\t\t\t</div>\n\t\t);\n\t}\n}\n\nAvatar.defaultProps = defaultProps;\nAvatar.displayName = displayName;\nAvatar.propTypes = propTypes;\n\nexport default Avatar;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// Implements the [Badge design pattern](https://latest-216.lightningdesignsystem.com/components/badges/) in React.\n\n// ## Dependencies\n\n// ### React\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\n\n// ### shortid\n// [npmjs.com/package/shortid](https://www.npmjs.com/package/shortid)\n// shortid is a short, non-sequential, url-friendly, unique id generator\nimport shortid from 'shortid';\n\n// ## Constants\nimport { BADGE } from '../../utilities/constants';\n\n/**\n * Badges are labels which hold small amounts of information.\n */\nclass Badge extends React.Component {\n\tconstructor(props) {\n\t\tsuper(props);\n\t\tthis.generatedId = shortid.generate();\n\t}\n\n\t/**\n\t * Get the Badge's HTML id. Generate a new one if no ID present.\n\t */\n\tgetId() {\n\t\treturn this.props.id || this.generatedId;\n\t}\n\n\trender() {\n\t\tconst icon = this.props.icon && (\n\t\t\t<span\n\t\t\t\tclassName={classNames(\n\t\t\t\t\t'slds-badge__icon',\n\t\t\t\t\t`slds-badge__icon_${this.props.iconAlignment}`\n\t\t\t\t)}\n\t\t\t\tstyle={this.props.style}\n\t\t\t>\n\t\t\t\t{this.props.icon}\n\t\t\t</span>\n\t\t);\n\n\t\treturn (\n\t\t\t<span\n\t\t\t\tid={this.getId()}\n\t\t\t\tclassName={classNames(\n\t\t\t\t\t'slds-badge',\n\t\t\t\t\t{\n\t\t\t\t\t\t'slds-badge_inverse': this.props.color === 'inverse',\n\t\t\t\t\t\t'slds-badge_lightest': this.props.color === 'light',\n\t\t\t\t\t\t'slds-theme_success': this.props.color === 'success',\n\t\t\t\t\t\t'slds-theme_warning': this.props.color === 'warning',\n\t\t\t\t\t\t'slds-theme_error': this.props.color === 'error',\n\t\t\t\t\t},\n\t\t\t\t\tthis.props.className\n\t\t\t\t)}\n\t\t\t>\n\t\t\t\t{this.props.iconAlignment === 'left' ? (\n\t\t\t\t\t<React.Fragment>\n\t\t\t\t\t\t{icon}\n\t\t\t\t\t\t{this.props.content}\n\t\t\t\t\t</React.Fragment>\n\t\t\t\t) : (\n\t\t\t\t\t<React.Fragment>\n\t\t\t\t\t\t{this.props.content}\n\t\t\t\t\t\t{icon}\n\t\t\t\t\t</React.Fragment>\n\t\t\t\t)}\n\t\t\t</span>\n\t\t);\n\t}\n}\n\nBadge.displayName = BADGE;\n\nBadge.propTypes = {\n\t/**\n\t * CSS classes that are applied to the component\n\t */\n\tclassName: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\n\t/**\n\t * Id of component, if desired. If not provided an id is automatically generated\n\t */\n\tid: PropTypes.string,\n\n\t/**\n\t * Custom styles to be passed to the component\n\t */\n\tstyle: PropTypes.object,\n\n\t/**\n\t * Color variant for the badge component\n\t */\n\tcolor: PropTypes.oneOf([\n\t\t'default',\n\t\t'inverse',\n\t\t'light',\n\t\t'success',\n\t\t'warning',\n\t\t'error',\n\t]),\n\n\t/**\n\t * Icon alignment for the badge component\n\t */\n\ticonAlignment: PropTypes.oneOf(['left', 'right']),\n\n\t/**\n\t * Content to be placed inside the badge component\n\t */\n\tcontent: PropTypes.oneOfType([PropTypes.string, PropTypes.node]),\n};\n\nBadge.defaultProps = {\n\ticonAlignment: 'left',\n\tcolor: 'default',\n};\n\nexport default Badge;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// # Brand Band Component\n\n// Implements the [Brand Band design pattern](https://latest-216.lightningdesignsystem.com/components/brand-band/) in React.\n\n// ## Dependencies\n\n// ### React\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\n// ### shortid\n// [npmjs.com/package/shortid](https://www.npmjs.com/package/shortid)\n// shortid is a short, non-sequential, url-friendly, unique id generator\nimport shortid from 'shortid';\n\n// ### classNames\n// [github.com/JedWatson/classnames](https://github.com/JedWatson/classnames)\n// A simple javascript utility for conditionally joining classNames together.\nimport classNames from '../../utilities/class-names';\n\n// ## Constants\nimport { BRAND_BAND } from '../../utilities/constants';\n\n/**\n * The brand band provides theming capability that adds personality and improves information density and contrast.\n *\n * NOTE: you may find that themes other than 'default' fail to load the appropriate styling in your application.\n * If this occurs the cause is very likely to be CSP settings on the server hosting your application protecting against style injections.\n * Changing these settings is not recommended. Instead, add the following styles to any stylesheet provided by the server itself (such as an external stylesheet):\n *\n * When using 'lightning-theme':\n * .slds-brand-band.dsr-brand-band_lightning-blue:before {\n * background-image: url(/assets/images/themes/oneSalesforce/banner-brand-default.png), linear-gradient(to top, rgba(175, 197, 222, 0) 0, #1B5F9E);\n * }\n * .slds-brand-band.dsr-brand-band_lightning-blue:after {\n * background-image: linear-gradient(to bottom, rgba(175, 197, 222, 0) 60%, #AFC5DE);\n * }\n *\n * For more information on the problem, [see this Stack Overflow question](https://stackoverflow.com/questions/17766817/refused-to-apply-inline-style-because-it-violates-the-following-content-security)\n */\nclass BrandBand extends React.Component {\n\tstatic injectLightningBlueStyles() {\n\t\treturn (\n\t\t\t<style>{`.slds-brand-band.dsr-brand-band_lightning-blue:before {\n\tbackground-image: url(/assets/images/themes/oneSalesforce/banner-brand-default.png), linear-gradient(to top, rgba(175, 197, 222, 0) 0, #1B5F9E);\n}\n.slds-brand-band.dsr-brand-band_lightning-blue:after {\n\tbackground-image: linear-gradient(to bottom, rgba(175, 197, 222, 0) 60%, #AFC5DE);\n}`}</style>\n\t\t);\n\t}\n\n\tconstructor(props) {\n\t\tsuper(props);\n\t\tthis.generatedId = shortid.generate();\n\t}\n\n\tgetId() {\n\t\treturn this.props.id || this.generatedId;\n\t}\n\n\trender() {\n\t\tconst { props } = this;\n\n\t\treturn (\n\t\t\t<div\n\t\t\t\tstyle={{\n\t\t\t\t\tbackground: 'rgb(176, 196, 223)',\n\t\t\t\t\theight: '100%',\n\t\t\t\t\tposition: 'relative',\n\t\t\t\t\twidth: '100%',\n\t\t\t\t\tzIndex: 1,\n\t\t\t\t\t...props.styleContainer,\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\t{BrandBand.injectLightningBlueStyles()}\n\t\t\t\t<div\n\t\t\t\t\tclassName={classNames(\n\t\t\t\t\t\t'slds-brand-band',\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t'slds-brand-band_small': props.size === 'small',\n\t\t\t\t\t\t\t'slds-brand-band_medium': props.size === 'medium',\n\t\t\t\t\t\t\t'slds-brand-band_large': props.size === 'large',\n\t\t\t\t\t\t\t'slds-brand-band_cover': props.backgroundSize === 'cover',\n\t\t\t\t\t\t\t'slds-brand-band_none': props.image === 'none',\n\n\t\t\t\t\t\t\t'dsr-brand-band_lightning-blue': true,\n\t\t\t\t\t\t},\n\t\t\t\t\t\tprops.className\n\t\t\t\t\t)}\n\t\t\t\t\tid={this.getId()}\n\t\t\t\t\tstyle={props.style}\n\t\t\t\t>\n\t\t\t\t\t{props.children}\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t);\n\t}\n}\n\nBrandBand.displayName = BRAND_BAND;\n\nBrandBand.propTypes = {\n\t/**\n\t * Primary application grid layout or a white background component such as a `Card` should be passed into this component.\n\t */\n\tchildren: PropTypes.node,\n\n\t/**\n\t * CSS classes that are applied to the component\n\t */\n\tclassName: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\n\t/**\n\t * Id of component, if desired. If not provided an id is automatically generated\n\t */\n\tid: PropTypes.string,\n\n\t/**\n\t * Image of the brand band\n\t */\n\timage: PropTypes.oneOf(['default', 'none']),\n\n\t/**\n\t * Background size of the brand band. Default is 'contain'\n\t */\n\tbackgroundSize: PropTypes.oneOf(['contain', 'cover']),\n\t/**\n\t * Size of the brand band. Default is 'medium'\n\t */\n\tsize: PropTypes.oneOf(['small', 'medium', 'large']),\n\n\t/**\n\t * Custom styles to be passed to the component\n\t */\n\tstyle: PropTypes.object,\n\n\t/**\n\t * Custom styles to be passed to the component container\n\t */\n\tstyleContainer: PropTypes.object,\n\n\t/**\n\t * Different brand band styling.\n\t * NOTE: using 'lightning-blue' may result in incorrect styling depending on server CSP settings. See opening component documentation above for details.\n\t */\n\ttheme: PropTypes.oneOf(['default', 'lightning-blue']),\n};\n\nBrandBand.defaultProps = {\n\tbackgroundSize: 'contain',\n\timage: 'default',\n\tsize: 'medium',\n\ttheme: 'default',\n};\n\nexport default BrandBand;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n/* eslint-disable import/no-mutable-exports */\n\nimport sunsetProperty from '../../utilities/warning/sunset-property';\nimport getComponentDocFn from '../../utilities/get-component-doc';\n\nlet checkProps = function checkPropsFunction() {};\n\nif (process.env.NODE_ENV !== 'production') {\n\tcheckProps = function checkPropsFunction(COMPONENT, props, jsonDoc) {\n\t\tconst createDocUrl = getComponentDocFn(jsonDoc);\n\t\tif (typeof props.assistiveText === 'string') {\n\t\t\tsunsetProperty(\n\t\t\t\tCOMPONENT,\n\t\t\t\tprops.assistiveText,\n\t\t\t\t'assistiveText',\n\t\t\t\t`\\`assistiveText\\` as a string has been deprecated and is now an object to allow for multiple uses in the component. Please use \\`assistiveText.label\\` instead. ${createDocUrl(\n\t\t\t\t\t'assistiveText'\n\t\t\t\t)}`\n\t\t\t);\n\t\t}\n\t};\n}\n\nexport default checkProps;\n","import { Component, createElement } from 'react';\nimport { findDOMNode } from 'react-dom';\n\nfunction _inheritsLoose(subClass, superClass) {\n subClass.prototype = Object.create(superClass.prototype);\n subClass.prototype.constructor = subClass;\n subClass.__proto__ = superClass;\n}\n\nfunction _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n\n return target;\n}\n\n/**\n * Check whether some DOM node is our Component's node.\n */\nfunction isNodeFound(current, componentNode, ignoreClass) {\n if (current === componentNode) {\n return true;\n } // SVG <use/> elements do not technically reside in the rendered DOM, so\n // they do not have classList directly, but they offer a link to their\n // corresponding element, which can have classList. This extra check is for\n // that case.\n // See: http://www.w3.org/TR/SVG11/struct.html#InterfaceSVGUseElement\n // Discussion: https://github.com/Pomax/react-onclickoutside/pull/17\n\n\n if (current.correspondingElement) {\n return current.correspondingElement.classList.contains(ignoreClass);\n }\n\n return current.classList.contains(ignoreClass);\n}\n/**\n * Try to find our node in a hierarchy of nodes, returning the document\n * node as highest node if our node is not found in the path up.\n */\n\nfunction findHighest(current, componentNode, ignoreClass) {\n if (current === componentNode) {\n return true;\n } // If source=local then this event came from 'somewhere'\n // inside and should be ignored. We could handle this with\n // a layered approach, too, but that requires going back to\n // thinking in terms of Dom node nesting, running counter\n // to React's 'you shouldn't care about the DOM' philosophy.\n\n\n while (current.parentNode) {\n if (isNodeFound(current, componentNode, ignoreClass)) {\n return true;\n }\n\n current = current.parentNode;\n }\n\n return current;\n}\n/**\n * Check if the browser scrollbar was clicked\n */\n\nfunction clickedScrollbar(evt) {\n return document.documentElement.clientWidth <= evt.clientX || document.documentElement.clientHeight <= evt.clientY;\n}\n\n// ideally will get replaced with external dep\n// when rafrex/detect-passive-events#4 and rafrex/detect-passive-events#5 get merged in\nvar testPassiveEventSupport = function testPassiveEventSupport() {\n if (typeof window === 'undefined' || typeof window.addEventListener !== 'function') {\n return;\n }\n\n var passive = false;\n var options = Object.defineProperty({}, 'passive', {\n get: function get() {\n passive = true;\n }\n });\n\n var noop = function noop() {};\n\n window.addEventListener('testPassiveEventSupport', noop, options);\n window.removeEventListener('testPassiveEventSupport', noop, options);\n return passive;\n};\n\nfunction autoInc(seed) {\n if (seed === void 0) {\n seed = 0;\n }\n\n return function () {\n return ++seed;\n };\n}\n\nvar uid = autoInc();\n\nvar passiveEventSupport;\nvar handlersMap = {};\nvar enabledInstances = {};\nvar touchEvents = ['touchstart', 'touchmove'];\nvar IGNORE_CLASS_NAME = 'ignore-react-onclickoutside';\n/**\n * Options for addEventHandler and removeEventHandler\n */\n\nfunction getEventHandlerOptions(instance, eventName) {\n var handlerOptions = null;\n var isTouchEvent = touchEvents.indexOf(eventName) !== -1;\n\n if (isTouchEvent && passiveEventSupport) {\n handlerOptions = {\n passive: !instance.props.preventDefault\n };\n }\n\n return handlerOptions;\n}\n/**\n * This function generates the HOC function that you'll use\n * in order to impart onOutsideClick listening to an\n * arbitrary component. It gets called at the end of the\n * bootstrapping code to yield an instance of the\n * onClickOutsideHOC function defined inside setupHOC().\n */\n\n\nfunction onClickOutsideHOC(WrappedComponent, config) {\n var _class, _temp;\n\n var componentName = WrappedComponent.displayName || WrappedComponent.name || 'Component';\n return _temp = _class =\n /*#__PURE__*/\n function (_Component) {\n _inheritsLoose(onClickOutside, _Component);\n\n function onClickOutside(props) {\n var _this;\n\n _this = _Component.call(this, props) || this;\n\n _this.__outsideClickHandler = function (event) {\n if (typeof _this.__clickOutsideHandlerProp === 'function') {\n _this.__clickOutsideHandlerProp(event);\n\n return;\n }\n\n var instance = _this.getInstance();\n\n if (typeof instance.props.handleClickOutside === 'function') {\n instance.props.handleClickOutside(event);\n return;\n }\n\n if (typeof instance.handleClickOutside === 'function') {\n instance.handleClickOutside(event);\n return;\n }\n\n throw new Error(\"WrappedComponent: \" + componentName + \" lacks a handleClickOutside(event) function for processing outside click events.\");\n };\n\n _this.__getComponentNode = function () {\n var instance = _this.getInstance();\n\n if (config && typeof config.setClickOutsideRef === 'function') {\n return config.setClickOutsideRef()(instance);\n }\n\n if (typeof instance.setClickOutsideRef === 'function') {\n return instance.setClickOutsideRef();\n }\n\n return findDOMNode(instance);\n };\n\n _this.enableOnClickOutside = function () {\n if (typeof document === 'undefined' || enabledInstances[_this._uid]) {\n return;\n }\n\n if (typeof passiveEventSupport === 'undefined') {\n passiveEventSupport = testPassiveEventSupport();\n }\n\n enabledInstances[_this._uid] = true;\n var events = _this.props.eventTypes;\n\n if (!events.forEach) {\n events = [events];\n }\n\n handlersMap[_this._uid] = function (event) {\n if (_this.componentNode === null) return;\n\n if (_this.props.preventDefault) {\n event.preventDefault();\n }\n\n if (_this.props.stopPropagation) {\n event.stopPropagation();\n }\n\n if (_this.props.excludeScrollbar && clickedScrollbar(event)) return;\n var current = event.target;\n\n if (findHighest(current, _this.componentNode, _this.props.outsideClickIgnoreClass) !== document) {\n return;\n }\n\n _this.__outsideClickHandler(event);\n };\n\n events.forEach(function (eventName) {\n document.addEventListener(eventName, handlersMap[_this._uid], getEventHandlerOptions(_this, eventName));\n });\n };\n\n _this.disableOnClickOutside = function () {\n delete enabledInstances[_this._uid];\n var fn = handlersMap[_this._uid];\n\n if (fn && typeof document !== 'undefined') {\n var events = _this.props.eventTypes;\n\n if (!events.forEach) {\n events = [events];\n }\n\n events.forEach(function (eventName) {\n return document.removeEventListener(eventName, fn, getEventHandlerOptions(_this, eventName));\n });\n delete handlersMap[_this._uid];\n }\n };\n\n _this.getRef = function (ref) {\n return _this.instanceRef = ref;\n };\n\n _this._uid = uid();\n return _this;\n }\n /**\n * Access the WrappedComponent's instance.\n */\n\n\n var _proto = onClickOutside.prototype;\n\n _proto.getInstance = function getInstance() {\n if (!WrappedComponent.prototype.isReactComponent) {\n return this;\n }\n\n var ref = this.instanceRef;\n return ref.getInstance ? ref.getInstance() : ref;\n };\n\n /**\n * Add click listeners to the current document,\n * linked to this component's state.\n */\n _proto.componentDidMount = function componentDidMount() {\n // If we are in an environment without a DOM such\n // as shallow rendering or snapshots then we exit\n // early to prevent any unhandled errors being thrown.\n if (typeof document === 'undefined' || !document.createElement) {\n return;\n }\n\n var instance = this.getInstance();\n\n if (config && typeof config.handleClickOutside === 'function') {\n this.__clickOutsideHandlerProp = config.handleClickOutside(instance);\n\n if (typeof this.__clickOutsideHandlerProp !== 'function') {\n throw new Error(\"WrappedComponent: \" + componentName + \" lacks a function for processing outside click events specified by the handleClickOutside config option.\");\n }\n }\n\n this.componentNode = this.__getComponentNode(); // return early so we dont initiate onClickOutside\n\n if (this.props.disableOnClickOutside) return;\n this.enableOnClickOutside();\n };\n\n _proto.componentDidUpdate = function componentDidUpdate() {\n this.componentNode = this.__getComponentNode();\n };\n /**\n * Remove all document's event listeners for this component\n */\n\n\n _proto.componentWillUnmount = function componentWillUnmount() {\n this.disableOnClickOutside();\n };\n /**\n * Can be called to explicitly enable event listening\n * for clicks and touches outside of this element.\n */\n\n\n /**\n * Pass-through render\n */\n _proto.render = function render() {\n // eslint-disable-next-line no-unused-vars\n var _props = this.props,\n excludeScrollbar = _props.excludeScrollbar,\n props = _objectWithoutProperties(_props, [\"excludeScrollbar\"]);\n\n if (WrappedComponent.prototype.isReactComponent) {\n props.ref = this.getRef;\n } else {\n props.wrappedRef = this.getRef;\n }\n\n props.disableOnClickOutside = this.disableOnClickOutside;\n props.enableOnClickOutside = this.enableOnClickOutside;\n return createElement(WrappedComponent, props);\n };\n\n return onClickOutside;\n }(Component), _class.displayName = \"OnClickOutside(\" + componentName + \")\", _class.defaultProps = {\n eventTypes: ['mousedown', 'touchstart'],\n excludeScrollbar: config && config.excludeScrollbar || false,\n outsideClickIgnoreClass: IGNORE_CLASS_NAME,\n preventDefault: false,\n stopPropagation: false\n }, _class.getClass = function () {\n return WrappedComponent.getClass ? WrappedComponent.getClass() : WrappedComponent;\n }, _temp;\n}\n\nexport { IGNORE_CLASS_NAME };\nexport default onClickOutsideHOC;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// # List Item Label Component\n\n// ## Dependencies\n\n// ### React\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\n// ## Constants\nimport { LIST_ITEM_LABEL } from '../../../utilities/constants';\n\n/**\n * Component description.\n */\nconst ListItemLabel = (props) => (\n\t<span className=\"slds-truncate\" title={props.label}>\n\t\t{props.icon}\n\t\t{props.label}\n\t</span>\n);\n\nListItemLabel.displayName = LIST_ITEM_LABEL;\n\nListItemLabel.propTypes = {\n\tdata: PropTypes.object,\n\ticon: PropTypes.node,\n\tindex: PropTypes.number,\n\tinverted: PropTypes.bool,\n\tisSelected: PropTypes.bool,\n\tlabel: PropTypes.string,\n\tvalue: PropTypes.any,\n};\n\nListItemLabel.defaultProps = {\n\tdata: {},\n\tindex: 0,\n\tinverted: false,\n\tisSelected: false,\n\tlabel: '',\n\tvalue: null,\n};\n\nexport default ListItemLabel;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n/* eslint-disable jsx-a11y/no-noninteractive-element-interactions */\n\n// # List Item Component\n\n// ## Dependencies\n\n// ### React\nimport React from 'react';\n\nimport PropTypes from 'prop-types';\n\n// ### classNames\nimport classNames from 'classnames';\n\n// ### Icon\nimport Icon from '../../icon';\n\n// ## Children\nimport ListItemLabelRenderer from './item-label';\n\n// ### Event Helpers\nimport EventUtil from '../../../utilities/event';\n\n// ## Constants\nimport { LIST_ITEM } from '../../../utilities/constants';\n\n/**\n * Component description.\n */\nclass ListItem extends React.Component {\n\tstatic displayName = LIST_ITEM;\n\n\tstatic propTypes = {\n\t\t'aria-disabled': PropTypes.bool,\n\t\tclassName: PropTypes.oneOfType([\n\t\t\tPropTypes.array,\n\t\t\tPropTypes.object,\n\t\t\tPropTypes.string,\n\t\t]),\n\t\tcheckmark: PropTypes.bool,\n\t\tdata: PropTypes.object,\n\t\tdivider: PropTypes.oneOf(['top', 'bottom']),\n\t\thref: PropTypes.string,\n\t\tid: PropTypes.string.isRequired,\n\t\tindex: PropTypes.number.isRequired,\n\t\tinverted: PropTypes.bool,\n\t\tisSelected: PropTypes.bool,\n\t\tlabel: PropTypes.string,\n\t\tlabelRenderer: PropTypes.func,\n\t\tleftIcon: PropTypes.shape({\n\t\t\tcategory: PropTypes.string,\n\t\t\tname: PropTypes.string,\n\t\t}),\n\t\tonSelect: PropTypes.func.isRequired,\n\t\trightIcon: PropTypes.shape({\n\t\t\tcategory: PropTypes.string,\n\t\t\tname: PropTypes.string,\n\t\t}),\n\t\ttooltipContent: PropTypes.oneOfType([PropTypes.node, PropTypes.string]),\n\t\ttooltipTemplate: PropTypes.node,\n\t\ttype: PropTypes.string,\n\t\tvalue: PropTypes.any,\n\t};\n\n\tstatic defaultProps = {\n\t\tdata: {},\n\t\thref: 'javascript:void(0);', // eslint-disable-line no-script-url\n\t\tinverted: false,\n\t\tisSelected: false,\n\t\tlabel: '',\n\t\tlabelRenderer: ListItemLabelRenderer,\n\t\tvalue: null,\n\t};\n\n\tgetLabel = () => {\n\t\tconst Label = this.props.labelRenderer;\n\t\treturn (\n\t\t\t<Label\n\t\t\t\tcheckmark={this.props.checkmark}\n\t\t\t\tdata={this.props.data}\n\t\t\t\ticon={this.getIcon('left')}\n\t\t\t\tindex={this.props.index}\n\t\t\t\tinverted={this.props.inverted}\n\t\t\t\tisSelected={this.props.isSelected}\n\t\t\t\tlabel={this.props.label}\n\t\t\t\tvalue={this.props.value}\n\t\t\t/>\n\t\t);\n\t};\n\n\tgetIcon = (position) => {\n\t\tconst classnames = ['slds-icon-text-default'];\n\t\tlet iconProps = this.props[`${position}Icon`];\n\n\t\tif (position === 'left') {\n\t\t\tif (this.props.checkmark) {\n\t\t\t\t// eslint-disable-next-line fp/no-mutating-methods\n\t\t\t\tclassnames.push('slds-icon_selected');\n\t\t\t\ticonProps = {\n\t\t\t\t\tcategory: 'utility',\n\t\t\t\t\tname: 'check',\n\t\t\t\t};\n\t\t\t}\n\n\t\t\t// eslint-disable-next-line fp/no-mutating-methods\n\t\t\tclassnames.push('slds-m-right_x-small');\n\t\t} else {\n\t\t\t// eslint-disable-next-line fp/no-mutating-methods\n\t\t\tclassnames.push('slds-m-left_small');\n\t\t}\n\n\t\tif (iconProps) {\n\t\t\treturn (\n\t\t\t\t<Icon\n\t\t\t\t\tclassName={classNames(classnames)}\n\t\t\t\t\tposition={position}\n\t\t\t\t\tsize=\"x-small\"\n\t\t\t\t\t{...iconProps}\n\t\t\t\t/>\n\t\t\t);\n\t\t}\n\n\t\treturn null;\n\t};\n\n\thandleClick = (event) => {\n\t\tif (\n\t\t\tthis.props.type !== 'link' ||\n\t\t\tthis.props.href === 'javascript:void(0);' // eslint-disable-line no-script-url\n\t\t) {\n\t\t\t// eslint-disable-line no-script-url\n\t\t\tEventUtil.trapImmediate(event);\n\t\t}\n\n\t\tif (this.props.onSelect) {\n\t\t\tthis.props.onSelect(this.props.index);\n\t\t}\n\t};\n\n\thandleMouseDown = (event) => {\n\t\tEventUtil.trapImmediate(event);\n\t};\n\n\trender() {\n\t\tswitch (this.props.type) {\n\t\t\tcase 'header': {\n\t\t\t\treturn (\n\t\t\t\t\t<li\n\t\t\t\t\t\tclassName={classNames(\n\t\t\t\t\t\t\t'slds-dropdown__header',\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t'slds-has-divider_top-space': this.props.divider === 'top',\n\t\t\t\t\t\t\t\t'slds-has-divider_bottom-space':\n\t\t\t\t\t\t\t\t\tthis.props.divider === 'bottom',\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tthis.props.className\n\t\t\t\t\t\t)}\n\t\t\t\t\t\tonMouseDown={this.handleMouseDown}\n\t\t\t\t\t\trole=\"separator\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<span>{this.props.label}</span>\n\t\t\t\t\t</li>\n\t\t\t\t);\n\t\t\t}\n\t\t\tcase 'divider': {\n\t\t\t\treturn (\n\t\t\t\t\t<li\n\t\t\t\t\t\tclassName={classNames('slds-has-divider', this.props.className)}\n\t\t\t\t\t\tonMouseDown={this.handleMouseDown}\n\t\t\t\t\t\trole=\"separator\"\n\t\t\t\t\t/>\n\t\t\t\t);\n\t\t\t}\n\t\t\tcase 'link':\n\t\t\tcase 'item':\n\t\t\tdefault: {\n\t\t\t\t/* eslint-disable jsx-a11y/role-supports-aria-props */\n\t\t\t\tlet itemContents = (\n\t\t\t\t\t<a\n\t\t\t\t\t\taria-checked={this.props.checkmark && this.props.isSelected}\n\t\t\t\t\t\taria-disabled={this.props['aria-disabled']}\n\t\t\t\t\t\thref={this.props.href}\n\t\t\t\t\t\tdata-index={this.props.index}\n\t\t\t\t\t\tonClick={this.handleClick}\n\t\t\t\t\t\trole={this.props.checkmark ? 'menuitemcheckbox' : 'menuitem'}\n\t\t\t\t\t\ttabIndex=\"-1\"\n\t\t\t\t\t>\n\t\t\t\t\t\t{this.getLabel()}\n\t\t\t\t\t\t{this.getIcon('right')}\n\t\t\t\t\t</a>\n\t\t\t\t);\n\n\t\t\t\tif (this.props.tooltipContent && this.props.tooltipTemplate) {\n\t\t\t\t\tconst { ...tooltipTemplateProps } = this.props.tooltipTemplate.props;\n\t\t\t\t\tconst tooltipProps = {\n\t\t\t\t\t\t...tooltipTemplateProps,\n\t\t\t\t\t\tcontent: this.props.tooltipContent,\n\t\t\t\t\t\tid: `${this.props.id}-tooltip`,\n\t\t\t\t\t\ttriggerStyle: {\n\t\t\t\t\t\t\twidth: '100%',\n\t\t\t\t\t\t\t...(tooltipTemplateProps.triggerStyle || {}),\n\t\t\t\t\t\t},\n\t\t\t\t\t};\n\t\t\t\t\titemContents = React.cloneElement(\n\t\t\t\t\t\tthis.props.tooltipTemplate,\n\t\t\t\t\t\ttooltipProps,\n\t\t\t\t\t\titemContents\n\t\t\t\t\t);\n\t\t\t\t}\n\n\t\t\t\treturn (\n\t\t\t\t\t/* eslint-disable jsx-a11y/role-supports-aria-props */\n\t\t\t\t\t// disabled eslint, but using aria-selected on presentation role seems suspicious...\n\t\t\t\t\t<li\n\t\t\t\t\t\taria-selected={\n\t\t\t\t\t\t\tthis.props.checkmark === null ? this.props.isSelected : null\n\t\t\t\t\t\t}\n\t\t\t\t\t\tclassName={classNames(\n\t\t\t\t\t\t\t'slds-dropdown__item',\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t'slds-is-selected': this.props.isSelected,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tthis.props.className\n\t\t\t\t\t\t)}\n\t\t\t\t\t\tid={this.props.id}\n\t\t\t\t\t\tonMouseDown={this.handleMouseDown}\n\t\t\t\t\t\trole=\"presentation\"\n\t\t\t\t\t>\n\t\t\t\t\t\t{itemContents}\n\t\t\t\t\t</li>\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\t}\n}\n\nexport default ListItem;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// # List Component\n\n// ## Dependencies\n\n// ### React\nimport React from 'react';\n\nimport PropTypes from 'prop-types';\n\n// ### classNames\nimport classNames from 'classnames';\n\n// ## Children\nimport ListItem from './item';\n\n// ## Constants\nimport { LIST } from '../../../utilities/constants';\n\n/**\n * Component description.\n */\nclass List extends React.Component {\n\tstatic displayName = LIST;\n\n\tstatic propTypes = {\n\t\t/**\n\t\t * Determines whether or not to show a checkmark for selected items.\n\t\t */\n\t\tcheckmark: PropTypes.bool,\n\t\t/**\n\t\t * CSS classes to be added to `<ul />`.\n\t\t */\n\t\tclassName: PropTypes.string,\n\t\t/**\n\t\t * Used internally to determine the id that will be used for list items.\n\t\t */\n\t\tgetListItemId: PropTypes.func,\n\t\t/**\n\t\t * Used internally to pass references to the individual menu items back up for focusing / scrolling.\n\t\t */\n\t\titemRefs: PropTypes.func,\n\t\t/**\n\t\t * If provided, this function will be used to render the contents of each menu item.\n\t\t */\n\t\titemRenderer: PropTypes.func,\n\t\t/**\n\t\t * Sets the height of the list based on the numeber of items.\n\t\t */\n\t\tlength: PropTypes.oneOf([null, '5', '7', '10', 5, 7, 10]),\n\t\t/**\n\t\t * Triggered when a list item is selected (via mouse or keyboard).\n\t\t */\n\t\tonSelect: PropTypes.func,\n\t\t/**\n\t\t * An array of items to render in the list.\n\t\t */\n\t\toptions: PropTypes.array,\n\t\t/**\n\t\t * The index of the currently selected item in the list.\n\t\t */\n\t\tselectedIndex: PropTypes.number,\n\t\t/**\n\t\t * Accepts a `Tooltip` component to be used as the template for menu item tooltips that appear via the `tooltipContent` options object attribute\n\t\t */\n\t\ttooltipMenuItem: PropTypes.node,\n\t\t/**\n\t\t * The id of the element which triggered this list (in a menu context).\n\t\t */\n\t\ttriggerId: PropTypes.string,\n\t};\n\n\tstatic defaultProps = {\n\t\tlength: '5',\n\t\toptions: [],\n\t\tselectedIndex: -1,\n\t};\n\n\trender() {\n\t\tlet lengthClassName;\n\t\tlet list;\n\n\t\tif (this.props.length) {\n\t\t\tlengthClassName = `slds-dropdown_length-${this.props.length}`;\n\t\t}\n\n\t\tlist = (\n\t\t\t<ul\n\t\t\t\taria-labelledby={this.props.triggerId}\n\t\t\t\tclassName={classNames(\n\t\t\t\t\t'dropdown__list',\n\t\t\t\t\tlengthClassName,\n\t\t\t\t\tthis.props.className\n\t\t\t\t)}\n\t\t\t\trole=\"menu\"\n\t\t\t>\n\t\t\t\t{this.props.options.map((option, index) => {\n\t\t\t\t\tconst id = this.props.getListItemId(index);\n\t\t\t\t\tconst isSingleSelected = index === this.props.selectedIndex;\n\t\t\t\t\tconst isMultipleSelected =\n\t\t\t\t\t\t!!this.props.selectedIndices &&\n\t\t\t\t\t\tthis.props.selectedIndices.indexOf(index) !== -1;\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<ListItem\n\t\t\t\t\t\t\t{...option}\n\t\t\t\t\t\t\taria-disabled={option.disabled}\n\t\t\t\t\t\t\tcheckmark={\n\t\t\t\t\t\t\t\tthis.props.checkmark && (isSingleSelected || isMultipleSelected)\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tdata={option}\n\t\t\t\t\t\t\tid={id}\n\t\t\t\t\t\t\tindex={index}\n\t\t\t\t\t\t\tisSelected={isSingleSelected || isMultipleSelected}\n\t\t\t\t\t\t\tkey={`${id}-${option.value}`}\n\t\t\t\t\t\t\tlabelRenderer={this.props.itemRenderer}\n\t\t\t\t\t\t\tonSelect={this.props.onSelect}\n\t\t\t\t\t\t\tref={(listItem) => this.props.itemRefs(listItem, index)}\n\t\t\t\t\t\t\ttooltipTemplate={this.props.tooltipMenuItem}\n\t\t\t\t\t\t/>\n\t\t\t\t\t);\n\t\t\t\t})}\n\t\t\t</ul>\n\t\t);\n\n\t\tif (this.props.tooltipMenuItem) {\n\t\t\t/* eslint-disable react/no-danger */\n\t\t\tlist = (\n\t\t\t\t<React.Fragment>\n\t\t\t\t\t<style\n\t\t\t\t\t\tdangerouslySetInnerHTML={{\n\t\t\t\t\t\t\t__html: `.slds-dropdown__item > .slds-tooltip-trigger > a {\n\tposition: relative;\n\tdisplay: -ms-flexbox;\n\tdisplay: flex;\n\t-ms-flex-pack: justify;\n\tjustify-content: space-between;\n\t-ms-flex-align: center;\n\talign-items: center;\n\tpadding: 0.5rem 0.75rem;\n\tcolor: #080707;\n\twhite-space: nowrap;\n\tcursor: pointer;\n}\n\n.slds-dropdown__item > .slds-tooltip-trigger > a:active {\n text-decoration: none;\n background-color: #ecebea;\n}\n\n.slds-dropdown__item > .slds-tooltip-trigger > a:hover,\n.slds-dropdown__item > .slds-tooltip-trigger > a:focus {\n outline: 0;\n text-decoration: none;\n background-color: #f3f2f2;\n}\n`,\n\t\t\t\t\t\t}}\n\t\t\t\t\t/>\n\t\t\t\t\t{list}\n\t\t\t\t</React.Fragment>\n\t\t\t);\n\t\t\t/* eslint-enable react/no-danger */\n\t\t}\n\n\t\treturn list;\n\t}\n}\n\nexport default List;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// # Dropdown Trigger Component (Simple Button Flavor) --- SLDS for React\n\n// ### React\n// React is an external dependency of the project.\nimport React from 'react';\n\nimport PropTypes from 'prop-types';\n\n// ### classNames\n// [github.com/JedWatson/classnames](https://github.com/JedWatson/classnames)\n// This project uses `classnames`, \"a simple javascript utility for conditionally\n// joining classNames together.\"\nimport classnames from 'classnames';\n\nimport Button from '../button';\n\n// ### Children\nimport { MENU_DROPDOWN_TRIGGER } from '../../utilities/constants';\n\n/**\n * The Dropdown Button Trigger renders the default trigger button for the dropdown menu. If this component has children, it does not render itself to the DOM. Instead, it renders its child element, `Button`, and all that child's properties. This component may be used as a template to create custom triggers that do not use `Button`.\n */\nclass Trigger extends React.Component {\n\t// ### Display Name\n\t// Always use the canonical component name (set in the core) as the React\n\t// display name.\n\tstatic displayName = MENU_DROPDOWN_TRIGGER;\n\n\t// ### Prop Types\n\tstatic propTypes = {\n\t\t/**\n\t\t * Import the module `design-system-react/dropdown/button-trigger` and render a grandchild of the element type `Button`. Any `props` specified on that `Button` will be assigned to the triggering button. Any `id` prop or event hanlders (`onBlur`, `onClick`, etc.) set on the button grandchild will be overwritten by `MenuDropdown` to allow functionality and accessibility.\n\t\t * ```\n\t\t * <Dropdown>\n\t\t * <Trigger>\n\t\t * <Button iconCategory=\"utility\" iconName=\"settings\" />\n\t\t * </Trigger>\n\t\t * </Dropdown>\n\t\t * ```\n\t\t */\n\t\tchildren: PropTypes.element,\n\t\t/**\n\t\t * CSS classes to be added to triggering button.\n\t\t */\n\t\tclassName: PropTypes.oneOfType([\n\t\t\tPropTypes.array,\n\t\t\tPropTypes.object,\n\t\t\tPropTypes.string,\n\t\t]),\n\t\t/**\n\t\t * A unique ID is needed in order to support keyboard navigation, ARIA support, and connect the dropdown to the triggering button. This is provided by the `MenuDropdown`. Please use `MenuDropdown` to set.\n\t\t */\n\t\tid: PropTypes.string,\n\t\t/**\n\t\t * Informs the trigger on the open/close state of the dropdown menu\n\t\t */\n\t\tisOpen: PropTypes.bool,\n\t\t/**\n\t\t * By Default the dropdown menu is inside a `Dialog` component.\n\t\t */\n\t\tmenu: PropTypes.node,\n\t\t/**\n\t\t * Is only called when `openOn` is set to `hover` and when the triggering button loses focus.\n\t\t */\n\t\tonBlur: PropTypes.func,\n\t\t/**\n\t\t * This prop is passed onto the triggering `Button`. Triggered when the trigger button is clicked.\n\t\t */\n\t\tonClick: PropTypes.func,\n\t\t/**\n\t\t * Is only called when `openOn` is set to `hover` and when the triggering button gains focus.\n\t\t */\n\t\tonFocus: PropTypes.func,\n\t\t/**\n\t\t * Called when a key pressed.\n\t\t */\n\t\tonKeyDown: PropTypes.func,\n\t\t/**\n\t\t * Called when mouse clicks down on the trigger button.\n\t\t */\n\t\tonMouseDown: PropTypes.func,\n\t\t/**\n\t\t * Called when mouse hovers over the trigger button. This is only called if `this.props.openOn` is set to `hover`.\n\t\t */\n\t\tonMouseEnter: PropTypes.func,\n\t\t/**\n\t\t * Called when mouse hover leaves the trigger button. This is only called if `this.props.openOn` is set to `hover`.\n\t\t */\n\t\tonMouseLeave: PropTypes.func,\n\t\t/**\n\t\t * Determines if mouse hover or click opens the dropdown menu. The default of `click` is highly recommended to comply with accessibility standards. If you are planning on using hover, please pause a moment and reconsider.\n\t\t */\n\t\topenOn: PropTypes.oneOf(['hover', 'click', 'hybrid']),\n\t\t/**\n\t\t * The ref of the actual triggering button.\n\t\t */\n\t\ttriggerRef: PropTypes.func,\n\t\t/**\n\t\t * CSS classes to be added to wrapping trigger `div` around the button.\n\t\t */\n\t\ttriggerClassName: PropTypes.oneOfType([\n\t\t\tPropTypes.array,\n\t\t\tPropTypes.object,\n\t\t\tPropTypes.string,\n\t\t]),\n\t};\n\n\t// ### Render\n\trender() {\n\t\t// The following are required for use with dropdown. Any other custom props for `Button` should be set with a `Button` child of this component, and are technically just here for backwards compatibility. See `children` prop description for more information.\n\t\tconst {\n\t\t\tassistiveText,\n\t\t\tchildren, // eslint-disable-line no-unused-vars\n\t\t\tclassName,\n\t\t\tid,\n\t\t\tisInline, // eslint-disable-line no-unused-vars\n\t\t\tisOpen,\n\t\t\tonBlur,\n\t\t\tmenu,\n\t\t\tonClick,\n\t\t\tonFocus,\n\t\t\tonKeyDown,\n\t\t\tonMouseDown,\n\t\t\tonMouseEnter,\n\t\t\tonMouseLeave,\n\t\t\ttriggerRef,\n\t\t\ttriggerClassName,\n\t\t\t...deprecatedPropsFromMenuDropdown\n\t\t} = this.props;\n\n\t\tconst openOn = this.props.openOn === 'hover' ? 'click' : this.props.openOn;\n\n\t\t// Trigger manipulation\n\t\tlet propsFromGrandchildButton = {};\n\t\t// if there are no children, render the default button\n\t\tif (React.Children.count(this.props.children) !== 0) {\n\t\t\tReact.Children.forEach(this.props.children, (child) => {\n\t\t\t\tif (child && child.type.displayName === Button.displayName) {\n\t\t\t\t\tpropsFromGrandchildButton = child.props;\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\n\t\t// If Trigger has a Button child, then use the explicitly declared child's props layered on top of those passed down by dropdown's props to allow manual override\n\t\treturn (\n\t\t\t/* eslint-disable jsx-a11y/no-static-element-interactions */\n\t\t\t<div\n\t\t\t\tclassName={classnames(\n\t\t\t\t\t`slds-dropdown-trigger slds-dropdown-trigger_${openOn}`,\n\t\t\t\t\t{\n\t\t\t\t\t\t'slds-is-open': isOpen,\n\t\t\t\t\t},\n\t\t\t\t\ttriggerClassName\n\t\t\t\t)}\n\t\t\t\tid={id}\n\t\t\t\tonBlur={onBlur}\n\t\t\t\tonClick={onClick}\n\t\t\t\tonKeyDown={onKeyDown}\n\t\t\t\tonFocus={onFocus}\n\t\t\t\tonMouseDown={onMouseDown}\n\t\t\t\tonMouseEnter={onMouseEnter}\n\t\t\t\tonMouseLeave={onMouseLeave}\n\t\t\t>\n\t\t\t\t{/* eslint-disable jsx-a11y/no-static-element-interactions */}\n\t\t\t\t<Button\n\t\t\t\t\tassistiveText={assistiveText}\n\t\t\t\t\tclassName={className}\n\t\t\t\t\taria-expanded={isOpen}\n\t\t\t\t\taria-haspopup\n\t\t\t\t\t{...deprecatedPropsFromMenuDropdown}\n\t\t\t\t\t{...propsFromGrandchildButton}\n\t\t\t\t\tbuttonRef={triggerRef}\n\t\t\t\t/>\n\t\t\t\t{menu}\n\t\t\t</div>\n\t\t);\n\t}\n}\n\nexport default Trigger;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n/* eslint-disable import/no-mutable-exports */\n\nimport oneOfRequiredProperty from '../../utilities/warning/one-of-required-property';\nimport sunsetProperty from '../../utilities/warning/sunset-property';\nimport deprecatedProperty from '../../utilities/warning/deprecated-property';\nimport getComponentDocFn from '../../utilities/get-component-doc';\n\nlet checkProps = function checkPropsFunction() {};\n\nif (process.env.NODE_ENV !== 'production') {\n\tcheckProps = function checkPropsFunction(COMPONENT, props, jsonDoc) {\n\t\tconst createDocUrl = getComponentDocFn(jsonDoc);\n\n\t\tsunsetProperty(\n\t\t\tCOMPONENT,\n\t\t\tprops.forceOpen,\n\t\t\t'forceOpen',\n\t\t\t`Please use \\`isOpen\\` instead. It provides a consistent prop that aligns with other componenents. ${createDocUrl(\n\t\t\t\t'isOpen'\n\t\t\t)}`\n\t\t);\n\n\t\tsunsetProperty(COMPONENT, props.tooltip, 'tooltip', createDocUrl());\n\n\t\tdeprecatedProperty(\n\t\t\tCOMPONENT,\n\t\t\tprops.offset,\n\t\t\t'offset',\n\t\t\tundefined,\n\t\t\t`The manual setting of positional offset of dialog components has been deemed unreliable. Position logic has been re-written to deliver better and more reliable positioning. Please create an issue if you have an edge case not covered by the built-in logic. ${createDocUrl()}`\n\t\t);\n\n\t\toneOfRequiredProperty(\n\t\t\tCOMPONENT,\n\t\t\t{\n\t\t\t\toptions: props.options,\n\t\t\t\tchildren: props.children,\n\t\t\t},\n\t\t\tcreateDocUrl()\n\t\t);\n\n\t\tdeprecatedProperty(\n\t\t\tCOMPONENT,\n\t\t\tprops.isInline,\n\t\t\t'isInline',\n\t\t\t'menuPosition=\"relative\"',\n\t\t\tcreateDocUrl('menuPosition')\n\t\t);\n\t};\n}\n\nexport default checkProps;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\nfunction KeyBuffer() {\n\tthis.buffer = '';\n\n\treturn (key) => {\n\t\tif (this.timeout) {\n\t\t\tclearTimeout(this.timeout);\n\t\t\tthis.timeout = undefined;\n\t\t}\n\n\t\tthis.timeout = setTimeout(() => {\n\t\t\tthis.buffer = '';\n\t\t}, 400);\n\n\t\tthis.buffer = this.buffer + key;\n\t\treturn this.buffer;\n\t};\n}\n\nexport default KeyBuffer;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\nimport ReactDOM from 'react-dom';\nimport escapeRegExp from 'lodash.escaperegexp';\n\nimport KEYS from './key-code';\n\nconst keyboardNavigate = ({\n\tcomponentContext,\n\tcurrentFocusedIndex,\n\tisOpen,\n\tevent,\n\tkey,\n\tkeyCode,\n\tnavigableItems,\n\tonFocus,\n\tonSelect,\n\ttarget,\n\ttoggleOpen,\n}) => {\n\tconst { indexes } = navigableItems;\n\tconst lastIndex = indexes.length - 1;\n\tlet focusedIndex;\n\tlet ch = key || String.fromCharCode(keyCode);\n\n\tif (/^[ -~]$/.test(ch)) {\n\t\tch = ch.toLowerCase();\n\t} else {\n\t\tch = null;\n\t}\n\n\tconst openMenuKeys =\n\t\tkeyCode === KEYS.ENTER || keyCode === KEYS.SPACE || keyCode === KEYS.UP;\n\n\tif (keyCode === KEYS.ESCAPE) {\n\t\tif (isOpen) toggleOpen();\n\t} else if (!isOpen) {\n\t\t[focusedIndex] = indexes;\n\t\tif (openMenuKeys || ch) {\n\t\t\ttoggleOpen();\n\t\t}\n\t\tif (\n\t\t\topenMenuKeys &&\n\t\t\tcomponentContext.trigger &&\n\t\t\t// eslint-disable-next-line react/no-find-dom-node\n\t\t\tReactDOM.findDOMNode(componentContext.trigger) === target\n\t\t) {\n\t\t\tcomponentContext.handleClick(event);\n\t\t}\n\t} else if (keyCode === KEYS.ENTER || keyCode === KEYS.SPACE) {\n\t\tonSelect(currentFocusedIndex);\n\t} else {\n\t\tconst navigableIndex = indexes.indexOf(currentFocusedIndex);\n\n\t\tif (keyCode === KEYS.DOWN) {\n\t\t\tif (navigableIndex < lastIndex) {\n\t\t\t\tconst newNavigableIndex = navigableIndex + 1;\n\t\t\t\tfocusedIndex = indexes[newNavigableIndex];\n\t\t\t} else {\n\t\t\t\t[focusedIndex] = indexes;\n\t\t\t}\n\t\t} else if (keyCode === KEYS.UP) {\n\t\t\tif (navigableIndex > 0) {\n\t\t\t\tconst newNavigableIndex = navigableIndex - 1;\n\t\t\t\tfocusedIndex = indexes[newNavigableIndex];\n\t\t\t} else {\n\t\t\t\tfocusedIndex = indexes[lastIndex];\n\t\t\t}\n\t\t} else if (ch) {\n\t\t\t// Combine subsequent keypresses\n\t\t\tconst pattern = navigableItems.keyBuffer(ch);\n\t\t\tlet consecutive = 0;\n\n\t\t\t// Support for navigating to the next option of the same letter with repeated presses of the same key\n\t\t\tif (\n\t\t\t\tpattern.length > 1 &&\n\t\t\t\tnew RegExp(`^[${escapeRegExp(ch)}]+$`).test(pattern)\n\t\t\t) {\n\t\t\t\tconsecutive = pattern.length;\n\t\t\t}\n\n\t\t\tnavigableItems.forEach((item) => {\n\t\t\t\tif (\n\t\t\t\t\t(focusedIndex === undefined &&\n\t\t\t\t\t\titem.text.substr(0, pattern.length) === pattern) ||\n\t\t\t\t\t(consecutive > 0 && item.text.substr(0, 1) === ch)\n\t\t\t\t) {\n\t\t\t\t\tconsecutive -= 1;\n\t\t\t\t\tfocusedIndex = item.index;\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t}\n\n\tonFocus(focusedIndex);\n\n\treturn focusedIndex;\n};\n\nexport default keyboardNavigate;\n","/* eslint-disable max-lines */\n/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// Implements the [Dropdown design pattern](https://www.lightningdesignsystem.com/components/menus/#flavor-dropdown) in React. Child elements that do not have the display name of the value of `MENU_DROPDOWN_TRIGGER` in `components/constants.js` will be considered custom content and rendered in the popover.\n\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport ReactDOM from 'react-dom';\nimport requiredIf from 'react-required-if';\n\nimport classNames from 'classnames';\n\n// ### isFunction\nimport isFunction from 'lodash.isfunction';\nimport isEqual from 'lodash.isequal';\n\nimport shortid from 'shortid';\n\n// ### Children\nimport Dialog from '../utilities/dialog';\nimport List from '../utilities/menu-list';\nimport ListItem from '../utilities/menu-list/item';\nimport ListItemLabel from '../utilities/menu-list/item-label';\n\n// This is the the default Dropdown Trigger, which expects one button as a child.\nimport DefaultTrigger from './button-trigger';\n\n// This component's `checkProps` which issues warnings to developers about properties\n// when in development mode (similar to React's built in development tools)\nimport checkProps from './check-props';\nimport componentDoc from './component.json';\n\nimport EventUtil from '../../utilities/event';\nimport KeyBuffer from '../../utilities/key-buffer';\nimport keyboardNavigate from '../../utilities/keyboard-navigate';\nimport KEYS from '../../utilities/key-code';\nimport {\n\tMENU_DROPDOWN,\n\tMENU_DROPDOWN_TRIGGER,\n\tLIST,\n} from '../../utilities/constants';\n\nconst documentDefined = typeof document !== 'undefined';\n\n// The overlay is an optional way to allow the dropdown to close on outside\n// clicks even when those clicks are over areas that wouldn't normally fire\n// click or touch events (for example, iframes). A single overlay is shared\n// between all dropdowns in the app.\nconst overlay = documentDefined\n\t? document.createElement('span')\n\t: { style: {} };\noverlay.style.top = 0;\noverlay.style.left = 0;\noverlay.style.width = '100%';\noverlay.style.height = '100%';\noverlay.style.position = 'absolute';\n\nlet currentOpenDropdown;\n\nconst DropdownNubbinPositions = [\n\t'top left',\n\t'top',\n\t'top right',\n\t'bottom left',\n\t'bottom',\n\t'bottom right',\n];\n\n// # Keyboard Navigable mixin\n\nconst noop = () => {};\n\nconst itemIsSelectable = (item) =>\n\titem.type !== 'header' && item.type !== 'divider' && !item.disabled;\n\nconst getNavigableItems = (items) => {\n\tconst navigableItems = [];\n\tnavigableItems.indexes = [];\n\tnavigableItems.keyBuffer = new KeyBuffer();\n\n\tif (Array.isArray(items)) {\n\t\titems.forEach((item, index) => {\n\t\t\tif (itemIsSelectable(item)) {\n\t\t\t\t// eslint-disable-next-line fp/no-mutating-methods\n\t\t\t\tnavigableItems.push({\n\t\t\t\t\tindex,\n\t\t\t\t\ttext: `${item.label}`.toLowerCase(),\n\t\t\t\t});\n\n\t\t\t\t// eslint-disable-next-line fp/no-mutating-methods\n\t\t\t\tnavigableItems.indexes.push(index);\n\t\t\t}\n\t\t});\n\t}\n\n\treturn navigableItems;\n};\n\nfunction getMenu(componentRef) {\n\treturn ReactDOM.findDOMNode(componentRef).querySelector('ul.dropdown__list'); // eslint-disable-line react/no-find-dom-node\n}\n\nfunction getMenuItem(menuItemId, context = document) {\n\tlet menuItem;\n\n\tif (menuItemId) {\n\t\tmenuItem = context.getElementById(menuItemId);\n\t}\n\n\treturn menuItem;\n}\n\n/*\n * Dropdowns with nubbins have a different API from other Dialogs\n *\n * Dialog receives an alignment position and whether it has a nubbin. The nubbin position is inferred from the align.\n * Dropdowns have a nubbinPosition which dictates the align, but in an inverse fashion which then gets inversed back by the Dialog.\n *\n * Since Dialog is the future API and we don't want to break backwards compatability, we currently map to the Dialog api here. Even if Dialog will map it again.\n * TODO - deprecate nubbinPosition in favor for additional `align` values and a flag to show a nubbin.\n */\nconst DropdownToDialogNubbinMapping = {\n\ttop: 'bottom',\n\t'top left': 'bottom left',\n\t'top right': 'bottom right',\n\n\tbottom: 'top',\n\t'bottom left': 'top left',\n\t'bottom right': 'top right',\n};\n\nconst propTypes = {\n\t/**\n\t * Aligns the menu center, right, or left respective to the trigger. This is not intended for use with `nubbinPosition`.\n\t */\n\talign: PropTypes.oneOf(['center', 'left', 'right']),\n\t/**\n\t * This prop is passed onto the triggering `Button`. Text that is visually hidden but read aloud by screenreaders to tell the user what the icon means. You can omit this prop if you are using the `label` prop.\n\t */\n\tassistiveText: PropTypes.object,\n\t/**\n\t * CSS classes to be added to triggering button.\n\t */\n\tbuttonClassName: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\t/**\n\t * If true, button/icon is white. Meant for buttons or utility icons on dark backgrounds.\n\t */\n\tbuttonInverse: PropTypes.bool,\n\t/**\n\t * This prop is passed onto the triggering `Button`. Determines variant of the Button component that triggers dropdown.\n\t */\n\tbuttonVariant: PropTypes.oneOf([\n\t\t'base',\n\t\t'neutral',\n\t\t'brand',\n\t\t'destructive',\n\t\t'icon',\n\t]),\n\t/**\n\t * If true, renders checkmark icon on the selected Menu Item.\n\t */\n\tcheckmark: PropTypes.bool,\n\t/**\n\t * If you need custom content _and_ a list, use a `<Popover>` instead.\n\t */\n\tchildren: PropTypes.node,\n\t/**\n\t * CSS classes to be added to dropdown menu.\n\t */\n\tclassName: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\t/**\n\t * By default, these class names will be added to the absolutely-positioned `Dialog` component.\n\t */\n\tcontainerClassName: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\t/**\n\t * This prop is passed onto the triggering `Button`. Prevent dropdown menu from opening. Also applies disabled styling to trigger button.\n\t */\n\tdisabled: PropTypes.bool,\n\t/**\n\t * Prevents the dropdown from changing position based on the viewport/window. If set to true your dropdowns can extend outside the viewport _and_ overflow outside of a scrolling parent. If this happens, you might want to consider making the dropdowns contents scrollable to fit the menu on the screen. `hasStaticAlignment` disables this behavior and allows this component to extend beyond boundary elements. _Not tested._\n\t */\n\thasStaticAlignment: PropTypes.bool,\n\t/**\n\t * This prop is passed onto the triggering `Button`. Associates an icon button with another element on the page by changes the color of the SVG. Please reference <a href=\"http://www.lightningdesignsystem.com/components/buttons/#hint\">Lightning Design System Buttons > Hint</a>.\n\t */\n\thint: PropTypes.bool,\n\t/**\n\t * Delay on menu closing in milliseconds.\n\t */\n\thoverCloseDelay: PropTypes.number,\n\t/**\n\t * Name of the icon category. Visit <a href=\"http://www.lightningdesignsystem.com/resources/icons\">Lightning Design System Icons</a> to reference icon categories.\n\t */\n\ticonCategory: requiredIf(\n\t\tPropTypes.oneOf(['action', 'custom', 'doctype', 'standard', 'utility']),\n\t\t(props) => !!props.iconName\n\t),\n\t/**\n\t * Name of the icon. Visit <a href=\"http://www.lightningdesignsystem.com/resources/icons\">Lightning Design System Icons</a> to reference icon names.\n\t */\n\ticonName: PropTypes.string,\n\t/**\n\t * If omitted, icon position is centered.\n\t */\n\ticonPosition: PropTypes.oneOf(['left', 'right']),\n\t/**\n\t * For icon variants, please reference <a href=\"http://www.lightningdesignsystem.com/components/buttons/#icon\">Lightning Design System Icons</a>.\n\t */\n\ticonVariant: PropTypes.oneOf([\n\t\t'bare',\n\t\t'container',\n\t\t'border',\n\t\t'border-filled',\n\t\t'small',\n\t\t'more',\n\t]),\n\t/**\n\t * Determines the size of the icon.\n\t */\n\ticonSize: PropTypes.oneOf(['x-small', 'small', 'medium', 'large']),\n\t/**\n\t * A unique ID is needed in order to support keyboard navigation, ARIA support, and connect the dropdown to the triggering button.\n\t */\n\tid: PropTypes.string,\n\t/**\n\t * Adds inverse class to the dropdown\n\t */\n\tinverse: PropTypes.bool,\n\t/**\n\t * Forces the dropdown to be open or closed. See controlled/uncontrolled callback/prop pattern for more on suggested use view [Concepts and Best Practices](https://github.com/salesforce-ux/design-system-react/blob/master/CONTRIBUTING.md#concepts-and-best-practices)\n\t */\n\tisOpen: PropTypes.bool,\n\t/**\n\t * This prop is passed onto the triggering `Button`. Text within the trigger button.\n\t */\n\tlabel: PropTypes.oneOfType([PropTypes.string, PropTypes.node]),\n\t/**\n\t * Custom element that overrides the default Menu Item component.\n\t */\n\tlistItemRenderer: PropTypes.func,\n\t/**\n\t * This prop is passed into the List for the menu. Pass null to make it the size of the content, or a string with an integer from here: https://www.lightningdesignsystem.com/components/menus/#flavor-dropdown-height\n\t */\n\tlength: PropTypes.oneOf([null, '5', '7', '10', 5, 7, 10]),\n\t/**\n\t * Please select one of the following:\n\t * * `absolute` - (default) The dialog will use `position: absolute` and style attributes to position itself. This allows inverted placement or flipping of the dialog.\n\t * * `overflowBoundaryElement` - The dialog will overflow scrolling parents. Use on elements that are aligned to the left or right of their target and don't care about the target being within a scrolling parent. Typically this is a popover or tooltip. Dropdown menus can usually open up and down if no room exists. In order to achieve this a portal element will be created and attached to `body`. This element will render into that detached render tree.\n\t * * `relative` - No styling or portals will be used. Menus will be positioned relative to their triggers. This is a great choice for HTML snapshot testing.\n\t */\n\tmenuPosition: PropTypes.oneOf([\n\t\t'absolute',\n\t\t'overflowBoundaryElement',\n\t\t'relative',\n\t]),\n\t/**\n\t * Style applied to menu element (that is the `.slds-dropdown` element)\n\t */\n\tmenuStyle: PropTypes.object,\n\t/**\n\t * Positions dropdown menu with a nubbin--that is the arrow notch. The placement options correspond to the placement of the nubbin. This is implemeted with CSS classes and is best used with a `Button` with \"icon container\" styling (`iconVariant=\"container\"`). Use with `isInline` prop, since positioning is determined by CSS via absolute-relative positioning, and using an absolutely positioned menu will not position the menu correctly without manual offsets.\n\t */\n\tnubbinPosition: PropTypes.oneOf([\n\t\t'top left',\n\t\t'top',\n\t\t'top right',\n\t\t'bottom left',\n\t\t'bottom',\n\t\t'bottom right',\n\t]),\n\t/**\n\t * Is only called when `openOn` is set to `hover` and when the triggering button loses focus.\n\t */\n\tonBlur: PropTypes.func,\n\t/**\n\t * This prop is passed onto the triggering `Button`. Triggered when the trigger button is clicked.\n\t */\n\tonClick: PropTypes.func,\n\t/**\n\t * Is only called when `openOn` is set to `hover` and when the triggering button gains focus.\n\t */\n\tonFocus: PropTypes.func,\n\t/**\n\t * Determines if mouse hover or click opens or closes the dropdown menu. The default of `click` opens the menu on click, touch, or keyboard navigation and is highly recommended to comply with accessibility standards. The other options are `hover` which opens when the mouse enters the focusable area, and `hybrid` which causes the menu to open on clicking of the trigger, but closes the menu when the mouse leaves the menu and trigger area. If you are planning on using `hover` or `hybrid`, please pause a moment and reconsider.\n\t */\n\topenOn: PropTypes.oneOf(['hover', 'click', 'hybrid']),\n\t/**\n\t * Called when a key pressed.\n\t */\n\tonKeyDown: PropTypes.func,\n\t/**\n\t * Called when mouse clicks down on the trigger button.\n\t */\n\tonMouseDown: PropTypes.func,\n\t/**\n\t * Called when mouse hovers over the trigger button. This is only called if `this.props.openOn` is set to `hover`.\n\t */\n\tonMouseEnter: PropTypes.func,\n\t/**\n\t * Called when mouse hover leaves the trigger button. This is only called if `this.props.openOn` is set to `hover`.\n\t */\n\tonMouseLeave: PropTypes.func,\n\t/**\n\t * Triggered when an item in the menu is clicked.\n\t */\n\tonSelect: PropTypes.func,\n\t/**\n\t * Triggered when the dropdown is opened.\n\t */\n\tonOpen: PropTypes.func,\n\t/**\n\t * Triggered when the dropdown is closed.\n\t */\n\tonClose: PropTypes.func,\n\t/**\n\t * An array of menu item objects. `className` and `id` object keys are applied to the `li` DOM node. `divider` key can have a value of `top` or `bottom`. `rightIcon` and `leftIcon` are not actually `Icon` components, but prop objects that get passed to an `Icon` component. The `href` key will be added to the `a` and its default click event will be prevented. Here is a sample:\n\t * ```\n\t * [{\n\t * className: 'custom-li-class',\n\t * divider: 'bottom',\n\t * label: 'A Header',\n\t * type: 'header'\n\t * }, {\n\t * href: 'http://sfdc.co/',\n\t * id: 'custom-li-id',\n\t * label: 'Has a value',\n\t * leftIcon: {\n\t * name: 'settings',\n\t * category: 'utility'\n\t * },\n\t * rightIcon: {\n\t * name: 'settings',\n\t * category: 'utility'\n\t * },\n\t * type: 'item',\n\t * value: 'B0'\n\t * }, {\n\t * tooltipContent: 'Displays a tooltip when hovered over with this content. The `tooltipMenuItem` prop must be set for this to work.',\n\t * type: 'divider'\n\t * }]\n\t * ```\n\t */\n\toptions: PropTypes.array,\n\t/**\n\t * An object of CSS styles that are applied to the triggering button.\n\t */\n\tstyle: PropTypes.object,\n\t/**\n\t * Write <code>\"-1\"</code> if you don't want the user to tab to the button.\n\t */\n\ttabIndex: PropTypes.string,\n\t/**\n\t * If `true`, adds a transparent overlay when the menu is open to handle outside clicks. Allows clicks on iframes to be captured, but also forces a double-click to interact with other elements. If a function is passed, custom overlay logic may be defined by the app.\n\t */\n\toverlay: PropTypes.oneOfType([PropTypes.bool, PropTypes.func]),\n\t/**\n\t * Current selected menu item.\n\t */\n\tvalue: PropTypes.oneOfType([\n\t\tPropTypes.number,\n\t\tPropTypes.string,\n\t\tPropTypes.array,\n\t]),\n\t/**\n\t * This prop is passed onto the triggering `Button`. It creates a tooltip with the content of the `node` provided.\n\t */\n\ttooltip: PropTypes.node,\n\t/**\n\t * Accepts a `Tooltip` component to be used as the template for menu item tooltips that appear via the `tooltipContent` options object attribute. Must be present for `tooltipContent` to work\n\t */\n\ttooltipMenuItem: PropTypes.node,\n\t/**\n\t * CSS classes to be added to wrapping trigger `div` around the button.\n\t */\n\ttriggerClassName: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\t/**\n\t * Whether this dropdown supports multi select.\n\t */\n\tmultiple: PropTypes.bool,\n\t/**\n\t * To adjust the width of the menu dropdown\n\t */\n\twidth: PropTypes.oneOf([\n\t\t'xx-small',\n\t\t'x-small',\n\t\t'small',\n\t\t'medium',\n\t\t'bottom',\n\t\t'large',\n\t]),\n};\n\nconst defaultProps = {\n\talign: 'left',\n\thoverCloseDelay: 300,\n\tlength: '5',\n\tmenuPosition: 'absolute',\n\topenOn: 'click',\n\twidth: 'medium',\n\tinverse: false,\n};\n\n/**\n * The MenuDropdown component is a variant of the Lightning Design System Menu component. This component\n * may require a polyfill such as [classList](https://github.com/yola/classlist-polyfill) due to\n * [react-onclickoutside](https://github.com/Pomax/react-onclickoutside) if Internet Explorer 11\n * support is needed.\n *\n * This component is wrapped in a [higher order component to listen for clicks outside itself](https://github.com/kentor/react-click-outside) and thus requires use of `ReactDOM`.\n */\nclass MenuDropdown extends React.Component {\n\tstatic displayName = MENU_DROPDOWN;\n\n\tconstructor(props) {\n\t\tsuper(props);\n\n\t\t// `checkProps` issues warnings to developers about properties (similar to React's built in development tools)\n\t\tcheckProps(MENU_DROPDOWN, props, componentDoc);\n\n\t\tthis.generatedId = shortid.generate();\n\n\t\tconst currentSelectedIndices = this.getCurrentSelectedIndices(props);\n\n\t\tthis.state = {\n\t\t\tfocusedIndex: -1,\n\t\t\tselectedIndex: -1,\n\t\t\tselectedIndices: [],\n\t\t\t...currentSelectedIndices,\n\t\t};\n\n\t\tthis.navigableItems = getNavigableItems(props.options);\n\t}\n\n\tcomponentDidUpdate(prevProps) {\n\t\tif (prevProps.value !== this.props.value) {\n\t\t\tconst nextState = this.getCurrentSelectedIndices(prevProps);\n\t\t\t// eslint-disable-next-line react/no-did-update-set-state\n\t\t\tthis.setState(nextState);\n\t\t}\n\n\t\tif (prevProps.isOpen !== this.props.isOpen) {\n\t\t\tthis.setFocus();\n\t\t}\n\n\t\tif (!isEqual(prevProps.options, this.props.options)) {\n\t\t\tthis.navigableItems = getNavigableItems(prevProps.options);\n\t\t}\n\t}\n\n\tcomponentWillUnmount() {\n\t\tif (currentOpenDropdown === this) {\n\t\t\tcurrentOpenDropdown = undefined;\n\t\t}\n\t\tthis.isUnmounting = true;\n\t\tthis.renderOverlay(false);\n\t}\n\n\tgetId = () => this.props.id || this.generatedId;\n\n\tgetIsOpen = () =>\n\t\t!!(typeof this.props.isOpen === 'boolean'\n\t\t\t? this.props.isOpen\n\t\t\t: this.state.isOpen);\n\n\tgetIndexByValue = (value, options) => {\n\t\tlet foundIndex = -1;\n\n\t\tif (options && options.length) {\n\t\t\toptions.some((element, index) => {\n\t\t\t\tif (element && element.value === value) {\n\t\t\t\t\tfoundIndex = index;\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\n\t\t\t\treturn false;\n\t\t\t});\n\t\t}\n\n\t\treturn foundIndex;\n\t};\n\n\tgetValueByIndex = (index) => this.props.options[index];\n\n\tgetListItemRenderer = () =>\n\t\tthis.props.listItemRenderer ? this.props.listItemRenderer : ListItemLabel;\n\n\tgetListItemId = (index) => {\n\t\tlet menuItemId;\n\n\t\tif (index !== undefined) {\n\t\t\tconst menuId = isFunction(this.getId) ? this.getId() : this.props.id;\n\t\t\tmenuItemId = `${menuId}-item-${index}`;\n\t\t}\n\n\t\treturn menuItemId;\n\t};\n\n\tsetFocus = () => {\n\t\tif (!this.isHover && !this.isUnmounting && this.trigger) {\n\t\t\tReactDOM.findDOMNode(this.trigger).focus(); // eslint-disable-line react/no-find-dom-node\n\t\t}\n\t};\n\n\tgetMenu = () => ReactDOM.findDOMNode(this.list); // eslint-disable-line react/no-find-dom-node\n\n\tgetMenuItem = (index) => {\n\t\tif (index !== undefined && this.listItems) {\n\t\t\treturn ReactDOM.findDOMNode(this.listItems[index]); // eslint-disable-line react/no-find-dom-node\n\t\t}\n\n\t\treturn undefined;\n\t};\n\n\tgetCurrentSelectedIndices = (nextProps) => {\n\t\tif (this.props.multiple === true) {\n\t\t\tlet values = [];\n\t\t\tlet currentIndices = [];\n\t\t\tif (!Array.isArray(nextProps.value)) {\n\t\t\t\t// eslint-disable-next-line fp/no-mutating-methods\n\t\t\t\tvalues.push(nextProps.value);\n\t\t\t} else {\n\t\t\t\tvalues = nextProps.value;\n\t\t\t}\n\t\t\tvalues = values.filter(\n\t\t\t\t(value) => this.getIndexByValue(value, nextProps.options) !== -1\n\t\t\t);\n\t\t\tcurrentIndices = values.map((value) =>\n\t\t\t\tthis.getIndexByValue(value, nextProps.options)\n\t\t\t);\n\n\t\t\treturn {\n\t\t\t\tselectedIndices: currentIndices,\n\t\t\t};\n\t\t}\n\n\t\treturn {\n\t\t\tselectedIndex: this.getIndexByValue(nextProps.value, nextProps.options),\n\t\t};\n\t};\n\n\t// Trigger opens, closes, and recieves focus on close\n\tsaveRefToTrigger = (trigger) => {\n\t\tthis.trigger = trigger;\n\n\t\tif (!this.state.triggerRendered) {\n\t\t\tthis.setState({ triggerRendered: true });\n\t\t}\n\t};\n\n\t// TriggerContainer is the wrapping outer DOM element which may differ from the actual trigger which is most likely a `button`.\n\tsaveRefToTriggerContainer = (triggerContainer) => {\n\t\tthis.triggerContainer = triggerContainer;\n\t\tif (!this.trigger) this.trigger = triggerContainer;\n\t};\n\n\tsaveRefToList = (list) => {\n\t\tthis.list = list;\n\t};\n\n\tsaveRefToListItem = (listItem, index) => {\n\t\tif (!this.listItems) {\n\t\t\tthis.listItems = {};\n\t\t}\n\n\t\tthis.listItems[index] = listItem;\n\n\t\tif (index === this.state.focusedIndex) {\n\t\t\tthis.handleKeyboardFocus(this.state.focusedIndex);\n\t\t}\n\t};\n\n\thandleClose = () => {\n\t\tconst isOpen = this.getIsOpen();\n\n\t\tif (isOpen) {\n\t\t\tif (currentOpenDropdown === this) {\n\t\t\t\tcurrentOpenDropdown = undefined;\n\t\t\t}\n\n\t\t\tthis.setState({\n\t\t\t\tisOpen: false,\n\t\t\t});\n\n\t\t\tthis.isHover = false;\n\n\t\t\tif (this.props.onClose) {\n\t\t\t\tthis.props.onClose();\n\t\t\t}\n\t\t}\n\t};\n\n\thandleOpen = () => {\n\t\tconst isOpen = this.getIsOpen();\n\n\t\tif (!isOpen) {\n\t\t\tif (currentOpenDropdown && isFunction(currentOpenDropdown.handleClose)) {\n\t\t\t\tcurrentOpenDropdown.handleClose();\n\t\t\t}\n\n\t\t\tcurrentOpenDropdown = this;\n\n\t\t\tthis.setState({\n\t\t\t\tisOpen: true,\n\t\t\t});\n\n\t\t\tif (this.props.onOpen) {\n\t\t\t\tthis.props.onOpen();\n\t\t\t}\n\t\t}\n\t};\n\n\thandleMouseEnter = (event) => {\n\t\tconst isOpen = this.getIsOpen();\n\n\t\tthis.isHover = true;\n\n\t\tif (!isOpen && this.props.openOn === 'hover') {\n\t\t\tthis.handleOpenForHover();\n\t\t} else {\n\t\t\t// we want this clear when openOn is hover or hybrid\n\t\t\tclearTimeout(this.isClosing);\n\t\t}\n\n\t\tif (this.props.onMouseEnter) {\n\t\t\tthis.props.onMouseEnter(event);\n\t\t}\n\t};\n\n\thandleMouseLeave = (event) => {\n\t\tconst isOpen = this.getIsOpen();\n\n\t\tif (isOpen) {\n\t\t\tthis.isClosing = setTimeout(() => {\n\t\t\t\tthis.handleCloseForHover();\n\t\t\t}, this.props.hoverCloseDelay);\n\t\t}\n\n\t\tif (this.props.onMouseLeave) {\n\t\t\tthis.props.onMouseLeave(event);\n\t\t}\n\t};\n\n\t// Special handlers for openOn === hover\n\t// calling onClick inside onMouseEnter/Leave used to cause double clicking the trigger on hover which caused closing and reopening of the dropdown\n\thandleCloseForHover = () => {\n\t\tconst isOpen = this.getIsOpen();\n\t\tif (isOpen) {\n\t\t\tthis.handleClose();\n\t\t}\n\t};\n\n\thandleOpenForHover = () => {\n\t\tconst isOpen = this.getIsOpen();\n\n\t\tif (!isOpen) {\n\t\t\tthis.handleOpen();\n\t\t\tthis.setFocus();\n\t\t}\n\t};\n\n\thandleClick = (event) => {\n\t\tconst isOpen = this.getIsOpen();\n\n\t\tif (!isOpen) {\n\t\t\tthis.handleOpen();\n\t\t\tthis.setFocus();\n\t\t} else {\n\t\t\tthis.handleClose();\n\t\t}\n\n\t\tif (this.props.onClick) {\n\t\t\tthis.props.onClick(event);\n\t\t}\n\t};\n\n\thandleFocus = (event) => {\n\t\tif (this.props.onFocus) {\n\t\t\tthis.props.onFocus(event);\n\t\t}\n\t};\n\n\thandleClickCustomContent = () => {\n\t\tthis.setFocus();\n\t\tthis.handleClose();\n\n\t\tif (this.props.onSelect) {\n\t\t\tthis.props.onSelect();\n\t\t}\n\t};\n\n\thandleSelect = (index) => {\n\t\tif (!this.props.multiple) {\n\t\t\tthis.setState({ selectedIndex: index });\n\t\t\tthis.handleClose();\n\t\t\tthis.setFocus();\n\t\t} else if (\n\t\t\tthis.props.multiple &&\n\t\t\tthis.state.selectedIndices.indexOf(index) === -1\n\t\t) {\n\t\t\t// eslint-disable-next-line react/no-access-state-in-setstate\n\t\t\tconst currentIndices = this.state.selectedIndices.concat(index);\n\t\t\tthis.setState({\n\t\t\t\tselectedIndices: currentIndices,\n\t\t\t});\n\t\t} else if (this.props.multiple) {\n\t\t\tconst deselectIndex = this.state.selectedIndices.indexOf(index);\n\t\t\t// eslint-disable-next-line react/no-access-state-in-setstate\n\t\t\tconst currentSelected = this.state.selectedIndices;\n\t\t\t// eslint-disable-next-line fp/no-mutating-methods\n\t\t\tcurrentSelected.splice(deselectIndex, 1);\n\t\t\tthis.setState({\n\t\t\t\tselectedIndices: currentSelected,\n\t\t\t});\n\t\t}\n\n\t\tif (this.props.onSelect) {\n\t\t\tconst option = this.getValueByIndex(index);\n\t\t\tthis.props.onSelect(option, { option, optionIndex: index });\n\t\t}\n\t};\n\n\thandleKeyDown = (event) => {\n\t\tif (event.keyCode) {\n\t\t\tif (\n\t\t\t\tevent.keyCode === KEYS.ENTER ||\n\t\t\t\tevent.keyCode === KEYS.SPACE ||\n\t\t\t\tevent.keyCode === KEYS.DOWN ||\n\t\t\t\tevent.keyCode === KEYS.UP\n\t\t\t) {\n\t\t\t\tEventUtil.trap(event);\n\t\t\t}\n\n\t\t\tif (event.keyCode !== KEYS.TAB) {\n\t\t\t\tconst isOpen = this.getIsOpen();\n\n\t\t\t\tthis.handleKeyboardNavigate({\n\t\t\t\t\tevent,\n\t\t\t\t\tisOpen,\n\t\t\t\t\tkey: event.key,\n\t\t\t\t\tkeyCode: event.keyCode,\n\t\t\t\t\tonSelect: this.handleSelect,\n\t\t\t\t\ttarget: event.target,\n\t\t\t\t\ttoggleOpen: this.toggleOpen,\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\tthis.handleCancel();\n\t\t\t}\n\n\t\t\tif (this.props.onKeyDown) {\n\t\t\t\tthis.props.onKeyDown(event);\n\t\t\t}\n\t\t}\n\t};\n\n\thandleCancel = () => {\n\t\tthis.setFocus();\n\t\tthis.handleClose();\n\t};\n\n\thandleClickOutside = () => {\n\t\tthis.handleClose();\n\t};\n\n\t// Handling open / close toggling is optional, and a default implementation is provided for handling focus, but selection _must_ be handled\n\thandleKeyboardNavigate = ({\n\t\tevent,\n\t\tisOpen = true,\n\t\tkeyCode,\n\t\tonFocus = this.handleKeyboardFocus,\n\t\tonSelect,\n\t\ttarget,\n\t\ttoggleOpen = noop,\n\t}) => {\n\t\tkeyboardNavigate({\n\t\t\tcomponentContext: this,\n\t\t\tcurrentFocusedIndex: this.state.focusedIndex,\n\t\t\tevent,\n\t\t\tisOpen,\n\t\t\tkeyCode,\n\t\t\tnavigableItems: this.navigableItems,\n\t\t\tonFocus,\n\t\t\tonSelect,\n\t\t\ttarget,\n\t\t\ttoggleOpen,\n\t\t});\n\t};\n\n\t// This is a bit of an anti-pattern, but it has the upside of being a nice default. Component authors can always override to only set state and do their own focusing in their subcomponents.\n\thandleKeyboardFocus = (focusedIndex) => {\n\t\tif (this.state.focusedIndex !== focusedIndex) {\n\t\t\tthis.setState({ focusedIndex });\n\t\t}\n\n\t\tconst menu = isFunction(this.getMenu) ? this.getMenu() : getMenu(this);\n\n\t\tconst menuItem = isFunction(this.getMenuItem)\n\t\t\t? this.getMenuItem(focusedIndex, menu)\n\t\t\t: getMenuItem(this.getListItemId(focusedIndex));\n\n\t\tif (menuItem) {\n\t\t\tthis.focusMenuItem(menuItem);\n\t\t\tthis.scrollToMenuItem(menu, menuItem);\n\t\t}\n\t};\n\n\tfocusMenuItem = (menuItem) => {\n\t\tmenuItem.getElementsByTagName('a')[0].focus();\n\t};\n\n\tscrollToMenuItem = (menu, menuItem) => {\n\t\tif (menu && menuItem) {\n\t\t\tconst menuHeight = menu.offsetHeight;\n\n\t\t\tconst menuTop = menu.scrollTop;\n\t\t\tconst menuItemTop = menuItem.offsetTop - menu.offsetTop;\n\n\t\t\tif (menuItemTop < menuTop) {\n\t\t\t\t// eslint-disable-next-line no-param-reassign\n\t\t\t\tmenu.scrollTop = menuItemTop;\n\t\t\t} else {\n\t\t\t\tconst menuBottom = menuTop + menuHeight + menu.offsetTop;\n\t\t\t\tconst menuItemBottom =\n\t\t\t\t\tmenuItemTop + menuItem.offsetHeight + menu.offsetTop;\n\n\t\t\t\tif (menuItemBottom > menuBottom) {\n\t\t\t\t\t// eslint-disable-next-line no-param-reassign\n\t\t\t\t\tmenu.scrollTop = menuItemBottom - menuHeight - menu.offsetTop;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t};\n\n\ttoggleOpen = () => {\n\t\tconst isOpen = this.getIsOpen();\n\t\tthis.setFocus();\n\n\t\tif (isOpen) {\n\t\t\tthis.handleClose();\n\t\t} else {\n\t\t\tthis.handleOpen();\n\t\t}\n\t};\n\n\trenderDefaultMenuContent = (customListProps) => (\n\t\t<List\n\t\t\tkey={`${this.getId()}-dropdown-list`}\n\t\t\tcheckmark={this.props.checkmark}\n\t\t\tgetListItemId={this.getListItemId}\n\t\t\titemRefs={this.saveRefToListItem}\n\t\t\titemRenderer={this.getListItemRenderer()}\n\t\t\tonCancel={this.handleCancel}\n\t\t\tonSelect={this.handleSelect}\n\t\t\toptions={this.props.options}\n\t\t\tref={this.saveRefToList}\n\t\t\tselectedIndex={\n\t\t\t\t!this.props.multiple ? this.state.selectedIndex : undefined\n\t\t\t}\n\t\t\tselectedIndices={\n\t\t\t\tthis.props.multiple ? this.state.selectedIndices : undefined\n\t\t\t}\n\t\t\ttooltipMenuItem={this.props.tooltipMenuItem}\n\t\t\ttriggerId={this.getId()}\n\t\t\tlength={this.props.length}\n\t\t\t{...customListProps}\n\t\t/>\n\t);\n\n\trenderMenuContent = (customContent) => {\n\t\t/**\n\t\t * Custom content for dropdown was a hack done in the past. If there's more than a listbox within a dropdown, then it should be a popover as explained for the `children` prop.\n\t\t *\n\t\t * This code block shows how things are done in the past:\n\t\t * ```\n\t\t * <Dropdown>\n\t\t * <Trigger>\n\t\t * <Button iconCategory=\"utility\" iconName=\"settings\" />\n\t\t * </Trigger>\n\t\t * <div>Look ma! This is Custom Content.</div>\n\t\t * <List options={[myArray]}/>\n\t\t * </Dropdown>\n\t\t * ```\n\t\t */\n\t\tlet customContentWithListPropInjection = [];\n\t\t// Dropdown can take a Trigger component as a child and then return it as the parent DOM element.\n\t\tReact.Children.forEach(customContent, (child) => {\n\t\t\tif (child && child.type.displayName === LIST) {\n\t\t\t\t// eslint-disable-next-line fp/no-mutating-methods\n\t\t\t\tcustomContentWithListPropInjection.push(\n\t\t\t\t\tthis.renderDefaultMenuContent(child.props)\n\t\t\t\t);\n\t\t\t} else if (child) {\n\t\t\t\tconst clonedCustomContent = React.cloneElement(child, {\n\t\t\t\t\tonClick: this.handleClickCustomContent,\n\t\t\t\t\tkey: shortid.generate(),\n\t\t\t\t});\n\t\t\t\t// eslint-disable-next-line fp/no-mutating-methods\n\t\t\t\tcustomContentWithListPropInjection.push(clonedCustomContent);\n\t\t\t}\n\t\t});\n\n\t\tif (customContentWithListPropInjection.length === 0) {\n\t\t\tcustomContentWithListPropInjection = null;\n\t\t}\n\n\t\treturn (\n\t\t\tcustomContentWithListPropInjection || this.renderDefaultMenuContent()\n\t\t);\n\t};\n\n\trenderDialog = (customContent, isOpen, outsideClickIgnoreClass) => {\n\t\tlet align = 'bottom';\n\t\tlet hasNubbin = false;\n\t\tlet positionClassName = '';\n\n\t\tif (this.props.nubbinPosition) {\n\t\t\thasNubbin = true;\n\t\t\talign = DropdownToDialogNubbinMapping[this.props.nubbinPosition];\n\t\t} else if (this.props.align) {\n\t\t\talign =\n\t\t\t\tthis.props.align === 'center' ? 'bottom' : `bottom ${this.props.align}`;\n\t\t}\n\n\t\tconst positions = DropdownToDialogNubbinMapping[align].split(' ');\n\t\tpositionClassName = classNames(\n\t\t\tpositions.map((position) => `slds-dropdown_${position}`)\n\t\t);\n\n\t\t// FOR BACKWARDS COMPATIBILITY\n\t\tconst menuPosition = this.props.isInline\n\t\t\t? 'relative'\n\t\t\t: this.props.menuPosition; // eslint-disable-line react/prop-types\n\n\t\tconst menuStylesBase = {};\n\t\tif (this.props.align === 'center' && !hasNubbin) {\n\t\t\tmenuStylesBase.transform = 'none';\n\t\t}\n\n\t\treturn isOpen ? (\n\t\t\t<Dialog\n\t\t\t\talign={align}\n\t\t\t\tclassName={classNames(this.props.containerClassName)}\n\t\t\t\tcloseOnTabKey\n\t\t\t\tcontentsClassName={classNames(\n\t\t\t\t\t'slds-dropdown',\n\t\t\t\t\t`slds-dropdown_${this.props.width}`,\n\t\t\t\t\t'slds-text-align_left',\n\t\t\t\t\t'ignore-react-onclickoutside',\n\t\t\t\t\tthis.props.className,\n\t\t\t\t\tpositionClassName,\n\t\t\t\t\t{\n\t\t\t\t\t\t'slds-dropdown_inverse': this.props.inverse,\n\t\t\t\t\t}\n\t\t\t\t)}\n\t\t\t\tcontext={this.context}\n\t\t\t\thasNubbin={hasNubbin}\n\t\t\t\thasStaticAlignment={this.props.hasStaticAlignment}\n\t\t\t\tinheritWidthOf={this.props.inheritTargetWidth ? 'target' : 'none'}\n\t\t\t\toffset={this.props.offset}\n\t\t\t\tonClose={this.handleClose}\n\t\t\t\tonKeyDown={this.handleKeyDown}\n\t\t\t\toutsideClickIgnoreClass={outsideClickIgnoreClass}\n\t\t\t\tposition={menuPosition}\n\t\t\t\tstyle={{\n\t\t\t\t\t...menuStylesBase,\n\t\t\t\t\t...this.props.menuStyle,\n\t\t\t\t}}\n\t\t\t\tonRequestTargetElement={() => this.trigger}\n\t\t\t>\n\t\t\t\t{this.renderMenuContent(customContent)}\n\t\t\t</Dialog>\n\t\t) : null;\n\t};\n\n\trenderOverlay = (isOpen) => {\n\t\tif (isFunction(overlay) && documentDefined) {\n\t\t\toverlay(isOpen, overlay);\n\t\t} else if (\n\t\t\tthis.props.overlay &&\n\t\t\tisOpen &&\n\t\t\t!this.overlay &&\n\t\t\tdocumentDefined\n\t\t) {\n\t\t\tthis.overlay = overlay;\n\t\t\tdocument.querySelector('body').appendChild(this.overlay);\n\t\t} else if (!isOpen && this.overlay && this.overlay.parentNode) {\n\t\t\tthis.overlay.parentNode.removeChild(this.overlay);\n\t\t\tthis.overlay = undefined;\n\t\t}\n\t};\n\n\trender() {\n\t\t// Dropdowns are used by other components. The default trigger is a button, but some other components use `li` elements. The following allows `MenuDropdown` to be extended by providing a child component with the displayName of `DropdownTrigger`.\n\t\tlet CurrentTrigger = DefaultTrigger;\n\n\t\tlet CustomTriggerChildProps = {};\n\n\t\t// Child elements that do not have the display name of the value of `MENU_DROPDOWN_TRIGGER` in `components/constants.js` will be considered custom content and rendered in the popover.\n\t\tlet customContent = [];\n\n\t\t// Dropdown can take a Trigger component as a child and then return it as the parent DOM element.\n\t\tReact.Children.forEach(this.props.children, (child) => {\n\t\t\tif (child && child.type.displayName === MENU_DROPDOWN_TRIGGER) {\n\t\t\t\t// `CustomTriggerChildProps` is not used by the default button Trigger, but by other triggers\n\t\t\t\tCustomTriggerChildProps = child.props;\n\t\t\t\tCurrentTrigger = child.type;\n\t\t\t} else if (child) {\n\t\t\t\t// eslint-disable-next-line fp/no-mutating-methods\n\t\t\t\tcustomContent.push(child);\n\t\t\t}\n\t\t});\n\n\t\tif (customContent.length === 0) {\n\t\t\tcustomContent = null;\n\t\t}\n\n\t\tconst outsideClickIgnoreClass = `ignore-click-${this.getId()}`;\n\t\tconst isOpen = !this.props.disabled && this.getIsOpen() && !!this.trigger;\n\n\t\tthis.renderOverlay(isOpen);\n\n\t\t/* Below are three sections of props:\n\t\t - The first are the props that may be given by the dropdown component. These may get deprecated in the future.\n\t\t - The next set of props (`CustomTriggerChildProps`) are props that can be overwritten by the end developer.\n\t\t - The final set are props that should not be overwritten, since they are ones that tie the trigger to the dropdown menu.\n\t\t*/\n\n\t\treturn (\n\t\t\t<CurrentTrigger\n\t\t\t\taria-haspopup\n\t\t\t\tassistiveText={this.props.assistiveText}\n\t\t\t\tclassName={classNames(\n\t\t\t\t\toutsideClickIgnoreClass,\n\t\t\t\t\tthis.props.buttonClassName\n\t\t\t\t)}\n\t\t\t\tdisabled={this.props.disabled}\n\t\t\t\thint={this.props.hint}\n\t\t\t\ticonCategory={this.props.iconCategory}\n\t\t\t\ticonName={this.props.iconName}\n\t\t\t\ticonPosition={this.props.iconPosition}\n\t\t\t\ticonSize={this.props.iconSize}\n\t\t\t\ticonVariant={this.props.iconVariant}\n\t\t\t\tid={this.getId()}\n\t\t\t\tinverse={this.props.buttonInverse}\n\t\t\t\tisOpen={isOpen}\n\t\t\t\tlabel={this.props.label}\n\t\t\t\tmenu={this.renderDialog(customContent, isOpen, outsideClickIgnoreClass)}\n\t\t\t\tonBlur={this.props.onBlur}\n\t\t\t\tonClick={\n\t\t\t\t\tthis.props.openOn === 'click' || this.props.openOn === 'hybrid'\n\t\t\t\t\t\t? this.handleClick\n\t\t\t\t\t\t: this.props.onClick\n\t\t\t\t}\n\t\t\t\tonFocus={this.props.openOn === 'hover' ? this.handleFocus : null}\n\t\t\t\tonKeyDown={this.handleKeyDown}\n\t\t\t\tonMouseDown={this.props.onMouseDown}\n\t\t\t\tonMouseEnter={\n\t\t\t\t\tthis.props.openOn === 'hover' || this.props.openOn === 'hybrid'\n\t\t\t\t\t\t? this.handleMouseEnter\n\t\t\t\t\t\t: null\n\t\t\t\t}\n\t\t\t\tonMouseLeave={\n\t\t\t\t\tthis.props.openOn === 'hover' || this.props.openOn === 'hybrid'\n\t\t\t\t\t\t? this.handleMouseLeave\n\t\t\t\t\t\t: null\n\t\t\t\t}\n\t\t\t\topenOn={this.props.openOn}\n\t\t\t\tref={this.saveRefToTriggerContainer}\n\t\t\t\tstyle={this.props.style}\n\t\t\t\ttabIndex={this.props.tabIndex || (isOpen ? '-1' : '0')}\n\t\t\t\ttooltip={this.props.tooltip}\n\t\t\t\ttriggerClassName={this.props.triggerClassName}\n\t\t\t\ttriggerRef={this.saveRefToTrigger}\n\t\t\t\tvariant={this.props.buttonVariant}\n\t\t\t\t{...CustomTriggerChildProps}\n\t\t\t/>\n\t\t);\n\t}\n}\n\nMenuDropdown.contextTypes = {\n\ticonPath: PropTypes.string,\n};\n\nMenuDropdown.propTypes = propTypes;\nMenuDropdown.defaultProps = defaultProps;\n\nexport default MenuDropdown;\nexport { ListItem, ListItemLabel, DropdownNubbinPositions };\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// ### onClickOutside\n// Listen for clicks that occur somewhere in the document, outside of the element itself\nimport onClickOutside from 'react-onclickoutside';\nimport MenuDropdown from './menu-dropdown';\n\nexport default onClickOutside(MenuDropdown);\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n/* eslint-disable jsx-a11y/no-redundant-roles */\n\n// # Breadcrumbs\n\n// Implements the [Breadcrumbs design pattern](https://www.lightningdesignsystem.com/components/breadcrumbs) in React.\n// Based on SLDS v2.1.0-rc.2\n\n// ## Dependencies\n\n// ### React\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\n// This component's `checkProps` which issues warnings to developers about properties when in development mode (similar to React's built in development tools)\nimport checkProps from './check-props';\nimport componentDoc from './component.json';\n\n// ## Constants\nimport { BREADCRUMB } from '../../utilities/constants';\nimport Dropdown from './../menu-dropdown';\n\nconst propTypes = {\n\t/**\n\t * **Assistive text for accessibility.**\n\t * This object is merged with the default props object on every render.\n\t * * `label`: The assistive text for the breadcrumb trail.\n\t */\n\tassistiveText: PropTypes.shape({\n\t\tlabel: PropTypes.string,\n\t}),\n\t/**\n\t * A unique ID is needed in order to support keyboard navigation, ARIA support, and connect the dropdown to the triggering button.\n\t */\n\tid: PropTypes.string,\n\t/**\n\t * Overflow menu of the type [Dropdown](/components/menu-dropdowns)\n\t */\n\toverflowDropdownMenu: PropTypes.node,\n\t/**\n\t * Custom styles to be passed to the containing `nav` tag\n\t */\n\tstyleContainer: PropTypes.object,\n\t/**\n\t * An array of anchor elements that define the path to the current record.\n\t */\n\ttrail: PropTypes.array.isRequired,\n};\n\nconst defaultProps = {\n\tassistiveText: {\n\t\tlabel: 'Breadcrumbs',\n\t},\n};\n\nconst getBreadcrumbDropdown = (overflowDropdownMenu, props) => {\n\tconst overflowDropdownMenuProps = {\n\t\t...overflowDropdownMenu.props,\n\t\tid: `${props.id}-dropdown`,\n\t\ticonCategory: 'utility',\n\t\ticonName: 'threedots',\n\t\ticonVariant: 'bare',\n\t\tthreedots: true,\n\t};\n\treturn (\n\t\t<li className=\"slds-breadcrumb__item\">\n\t\t\t<Dropdown {...overflowDropdownMenuProps} />\n\t\t</li>\n\t);\n};\n\n/**\n * Use breadcrumbs to note the path of a record and help the user to navigate back to the parent.Breadcrumb based on SLDS 2.1.0-dev\n */\nconst Breadcrumb = (props) => {\n\tcheckProps(BREADCRUMB, props, componentDoc);\n\n\tconst { overflowDropdownMenu, trail } = props;\n\tconst assistiveText =\n\t\ttypeof props.assistiveText === 'string'\n\t\t\t? props.assistiveText\n\t\t\t: {\n\t\t\t\t\t...defaultProps.assistiveText,\n\t\t\t\t\t...props.assistiveText,\n\t\t\t }.label;\n\n\treturn (\n\t\t<nav\n\t\t\trole=\"navigation\"\n\t\t\taria-label={assistiveText}\n\t\t\tstyle={props.styleContainer}\n\t\t>\n\t\t\t<ol className=\"slds-breadcrumb slds-list_horizontal\">\n\t\t\t\t{overflowDropdownMenu &&\n\t\t\t\t\tgetBreadcrumbDropdown(overflowDropdownMenu, props)}\n\t\t\t\t{trail.map((crumb, index) => (\n\t\t\t\t\t/* eslint-disable react/no-array-index-key */\n\t\t\t\t\t<li\n\t\t\t\t\t\tkey={index} // There isn't any better reasonable way to identity these\n\t\t\t\t\t\tclassName=\"slds-breadcrumb__item\"\n\t\t\t\t\t>\n\t\t\t\t\t\t{crumb}\n\t\t\t\t\t</li>\n\t\t\t\t))}\n\t\t\t</ol>\n\t\t</nav>\n\t);\n};\n\nBreadcrumb.displayName = BREADCRUMB;\nBreadcrumb.propTypes = propTypes;\nBreadcrumb.defaultProps = defaultProps;\n\nexport default Breadcrumb;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\n\nimport Icon from '../icon';\n\nimport {\n\tBUILDER_HEADER,\n\tBUILDER_HEADER_NAV,\n\tBUILDER_HEADER_TOOLBAR,\n\tBUILDER_HEADER_MISC,\n} from '../../utilities/constants';\n\nconst propTypes = {\n\t/**\n\t * **Assistive text for accessibility**\n\t * This object is merged with the default props object on every render.\n\t * * `backIcon`: Used for the back icon.\n\t * * `helpIcon`: Used for the help icon.\n\t * * `icon`: Used for the main icon next to the header title.\n\t * * _Tested with snapshot testing._\n\t */\n\tassistiveText: PropTypes.shape({\n\t\tbackIcon: PropTypes.string,\n\t\thelpIcon: PropTypes.string,\n\t\ticon: PropTypes.string,\n\t}),\n\t/**\n\t * Provide children of the types `<BuilderHeaderNav />`, `<BuilderHeaderToolbar />`, or `<BuilderHeaderMisc />` to define the structure of the header.\n\t * ```\n\t * <BuilderHeader>\n\t * <BuilderHeaderNav />\n\t * <BuilderHeaderToolbar />\n\t * <BuilderHeaderMisc />\n\t * </BuilderHeader>\n\t * ```\n\t */\n\tchildren: PropTypes.node,\n\t/**\n\t * CSS classes to be added to tag with `.slds-builder-header_container`. Uses `classNames` [API](https://github.com/JedWatson/classnames). _Tested with snapshot testing._\n\t */\n\tclassName: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\t/**\n\t * Event Callbacks\n\t * * `onClickBack`: Called when the Back link is clicked.\n\t * * `onClickHelp`: Called when the Help link is clicked.\n\t * _Tested with Mocha testing._\n\t */\n\tevents: PropTypes.shape({\n\t\tonClickBack: PropTypes.func,\n\t\tonClickHelp: PropTypes.func,\n\t}),\n\t/**\n\t * Category of the title icon from [lightningdesignsystem.com/icons/](https://www.lightningdesignsystem.com/icons/)\n\t */\n\ticonCategory: PropTypes.string,\n\t/**\n\t * CSS classes that are applied to the title icon.\n\t */\n\ticonClassName: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\t/**\n\t * Name of the title icon. Visit <a href='http://www.lightningdesignsystem.com/resources/icons'>Lightning Design System Icons</a> to reference icon names.\n\t */\n\ticonName: PropTypes.string,\n\t/**\n\t * Path to the title icon. This will override any global icon settings.\n\t */\n\ticonPath: PropTypes.string,\n\t/**\n\t * **Text labels for internationalization**\n\t * This object is merged with the default props object on every render.\n\t * * `back`: The label for the Back link.\n\t * * `help`: The label for the Help link.\n\t * * `pageType`: The label that describes the page type.\n\t * * `title`: The label for the page title.\n\t * _Tested with snapshot testing._\n\t */\n\tlabels: PropTypes.shape({\n\t\tback: PropTypes.string,\n\t\thelp: PropTypes.string,\n\t\tpageType: PropTypes.string,\n\t\ttitle: PropTypes.string,\n\t}),\n\t/**\n\t * Custom styles applied to the `.slds-builder-header_container` element.\n\t */\n\tstyle: PropTypes.object,\n};\n\nconst defaultProps = {\n\tassistiveText: {\n\t\tbackIcon: 'Back',\n\t\thelpIcon: 'Help',\n\t\ticon: 'Builder',\n\t},\n\ticonCategory: 'utility',\n\ticonName: 'builder',\n\tlabels: {\n\t\tback: 'Back',\n\t\thelp: 'Help',\n\t\tpageType: 'Page Type',\n\t\ttitle: 'App Name',\n\t},\n};\n\n/**\n * Every builder needs a builder header, which contains basic navigation elements. It also shows the builder type and content name.\n */\nconst BuilderHeader = (props) => {\n\tconst assistiveText = {\n\t\t...defaultProps.assistiveText,\n\t\t...props.assistiveText,\n\t};\n\tconst events = {\n\t\t...{},\n\t\t...props.events,\n\t};\n\tconst labels = {\n\t\t...defaultProps.labels,\n\t\t...props.labels,\n\t};\n\n\tlet nav;\n\tlet toolbar;\n\tconst misc = [];\n\tReact.Children.forEach(props.children, (child) => {\n\t\tif (child) {\n\t\t\tswitch (child.type.displayName) {\n\t\t\t\tcase BUILDER_HEADER_NAV:\n\t\t\t\t\tnav = child;\n\t\t\t\t\tbreak;\n\t\t\t\tcase BUILDER_HEADER_TOOLBAR:\n\t\t\t\t\ttoolbar = child;\n\t\t\t\t\tbreak;\n\t\t\t\tcase BUILDER_HEADER_MISC:\n\t\t\t\t\t// eslint-disable-next-line fp/no-mutating-methods\n\t\t\t\t\tmisc.push(child);\n\t\t\t\t\tbreak;\n\t\t\t\tdefault:\n\t\t\t}\n\t\t}\n\t});\n\n\tlet iconCategory;\n\tlet iconName;\n\tlet iconPath;\n\tif (props.iconPath) {\n\t\t({ iconPath } = props);\n\t} else {\n\t\t({ iconCategory, iconName } = props);\n\t}\n\n\treturn (\n\t\t<div style={{ position: 'relative', height: '100px' }}>\n\t\t\t<div\n\t\t\t\tclassName={classNames('slds-builder-header_container', props.className)}\n\t\t\t\tstyle={props.style}\n\t\t\t>\n\t\t\t\t<header className=\"slds-builder-header\">\n\t\t\t\t\t<div className=\"slds-builder-header__item\">\n\t\t\t\t\t\t<div className=\"slds-builder-header__item-label slds-media slds-media_center\">\n\t\t\t\t\t\t\t<div className=\"slds-media__figure\">\n\t\t\t\t\t\t\t\t<Icon\n\t\t\t\t\t\t\t\t\tassistiveText={{ label: assistiveText.icon }}\n\t\t\t\t\t\t\t\t\tcategory={iconCategory}\n\t\t\t\t\t\t\t\t\tcontainerClassName={classNames(\n\t\t\t\t\t\t\t\t\t\t'slds-icon_container',\n\t\t\t\t\t\t\t\t\t\t'slds-icon-utility-builder',\n\t\t\t\t\t\t\t\t\t\t'slds-current-color',\n\t\t\t\t\t\t\t\t\t\tprops.iconClassName\n\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\tname={iconName}\n\t\t\t\t\t\t\t\t\tpath={iconPath}\n\t\t\t\t\t\t\t\t\tsize=\"x-small\"\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<div className=\"slds-media__body\">{labels.title}</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t\t{nav}\n\n\t\t\t\t\t{misc.length > 0 ? (\n\t\t\t\t\t\tmisc\n\t\t\t\t\t) : (\n\t\t\t\t\t\t<div className=\"slds-builder-header__item slds-has-flexi-truncate\">\n\t\t\t\t\t\t\t<h1 className=\"slds-builder-header__item-label\">\n\t\t\t\t\t\t\t\t<span className=\"slds-truncate\" title={labels.pageType}>\n\t\t\t\t\t\t\t\t\t{labels.pageType}\n\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t</h1>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t)}\n\n\t\t\t\t\t<div className=\"slds-builder-header__item slds-builder-header__utilities\">\n\t\t\t\t\t\t<div className=\"slds-builder-header__utilities-item\">\n\t\t\t\t\t\t\t<a\n\t\t\t\t\t\t\t\thref=\"javascript:void(0);\"\n\t\t\t\t\t\t\t\tclassName=\"slds-builder-header__item-action slds-media slds-media_center\"\n\t\t\t\t\t\t\t\tonClick={events.onClickBack}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<div className=\"slds-media__figure\">\n\t\t\t\t\t\t\t\t\t<Icon\n\t\t\t\t\t\t\t\t\t\tassistiveText={{ label: assistiveText.backIcon }}\n\t\t\t\t\t\t\t\t\t\tcategory=\"utility\"\n\t\t\t\t\t\t\t\t\t\tcontainerClassName=\"slds-icon_container slds-icon-utility-settings slds-current-color\"\n\t\t\t\t\t\t\t\t\t\tname=\"back\"\n\t\t\t\t\t\t\t\t\t\tsize=\"x-small\"\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t<div className=\"slds-media__body\">{labels.back}</div>\n\t\t\t\t\t\t\t</a>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div className=\"slds-builder-header__utilities-item\">\n\t\t\t\t\t\t\t<a\n\t\t\t\t\t\t\t\thref=\"javascript:void(0);\"\n\t\t\t\t\t\t\t\tclassName=\"slds-builder-header__item-action slds-media slds-media_center\"\n\t\t\t\t\t\t\t\tonClick={events.onClickHelp}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<div className=\"slds-media__figure\">\n\t\t\t\t\t\t\t\t\t<Icon\n\t\t\t\t\t\t\t\t\t\tassistiveText={{ label: assistiveText.helpIcon }}\n\t\t\t\t\t\t\t\t\t\tcategory=\"utility\"\n\t\t\t\t\t\t\t\t\t\tcontainerClassName=\"slds-icon_container slds-icon-utility-settings slds-current-color\"\n\t\t\t\t\t\t\t\t\t\tname=\"help\"\n\t\t\t\t\t\t\t\t\t\tsize=\"x-small\"\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t<div className=\"slds-media__body\">{labels.help}</div>\n\t\t\t\t\t\t\t</a>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t</header>\n\t\t\t\t{toolbar}\n\t\t\t</div>\n\t\t</div>\n\t);\n};\n\nBuilderHeader.displayName = BUILDER_HEADER;\nBuilderHeader.propTypes = propTypes;\nBuilderHeader.defaultProps = defaultProps;\nexport default BuilderHeader;\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport { BUILDER_HEADER_MISC } from '../../utilities/constants';\n\nconst propTypes = {\n\t/**\n\t * Provide custom content in place of Page Type label\n\t * ```\n\t * <BuilderHeader>\n\t * <BuilderHeaderMisc>\n\t * Custom content\n\t * </BuilderHeaderMisc>\n\t * </BuilderHeader>\n\t * ```\n\t */\n\tchildren: PropTypes.node,\n};\n\n/**\n * The miscellaneous section of the header.\n */\nconst BuilderHeaderMisc = (props) => (\n\t<div className=\"slds-builder-header__item\" style={{ width: '100%' }}>\n\t\t<div className=\"slds-builder-header__item-label\">{props.children}</div>\n\t</div>\n);\n\nBuilderHeaderMisc.displayName = BUILDER_HEADER_MISC;\nBuilderHeaderMisc.propTypes = propTypes;\nexport default BuilderHeaderMisc;\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport {\n\tBUILDER_HEADER_NAV,\n\tBUILDER_HEADER_NAV_DROPDOWN,\n\tBUILDER_HEADER_NAV_LINK,\n} from '../../utilities/constants';\n\nconst propTypes = {\n\t/**\n\t * Provide children of the types `<BuilderHeaderNavLink />` or `<BuilderHeaderNavDropdown />` to define the structure of the navigation section.\n\t * ```\n\t * <BuilderHeader>\n\t * <BuilderHeaderNav>\n\t * <BuilderHeaderNavLink />\n\t * <BuilderHeaderNavDropdown />\n\t * </BuilderHeaderNav>\n\t * </BuilderHeader>\n\t * ```\n\t */\n\tchildren: PropTypes.node,\n};\n\n/**\n * The navigation section of the header.\n */\nconst BuilderHeaderNav = (props) => (\n\t<nav className=\"slds-builder-header__item slds-builder-header__nav\">\n\t\t<ul className=\"slds-builder-header__nav-list\">\n\t\t\t{React.Children.map(props.children, (child) => {\n\t\t\t\tif (\n\t\t\t\t\tchild.type.displayName === BUILDER_HEADER_NAV_LINK ||\n\t\t\t\t\tchild.type.displayName === BUILDER_HEADER_NAV_DROPDOWN\n\t\t\t\t) {\n\t\t\t\t\treturn child;\n\t\t\t\t}\n\t\t\t\treturn null;\n\t\t\t})}\n\t\t</ul>\n\t</nav>\n);\n\nBuilderHeaderNav.displayName = BUILDER_HEADER_NAV;\nBuilderHeaderNav.propTypes = propTypes;\nexport default BuilderHeaderNav;\n","import React from 'react';\n\nimport Button from '../button';\nimport Icon from '../icon';\nimport Dropdown from '../menu-dropdown';\nimport DropdownTrigger from '../menu-dropdown/button-trigger';\nimport MenuDropdown from '../menu-dropdown/menu-dropdown';\n\nimport { BUILDER_HEADER_NAV_DROPDOWN } from '../../utilities/constants';\n\n// This component accepts the same props as MenuDropdown.\n// eslint-disable-next-line react/forbid-foreign-prop-types\nconst { propTypes } = MenuDropdown;\n\n/**\n * A dropdown within the navigation section of the header.\n */\nconst BuilderHeaderNavDropdown = (props) => {\n\t// Separate props we care about in order to pass others along passively to the dropdown component\n\tconst { iconCategory, iconName, label, assistiveText, ...rest } = props;\n\treturn (\n\t\t<li className=\"slds-builder-header__nav-item\">\n\t\t\t<Dropdown {...rest}>\n\t\t\t\t<DropdownTrigger>\n\t\t\t\t\t<Button\n\t\t\t\t\t\tclassName=\"slds-builder-header__item-action slds-media slds-media_center\"\n\t\t\t\t\t\tvariant=\"base\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<span className=\"slds-media__figure\">\n\t\t\t\t\t\t\t<Icon\n\t\t\t\t\t\t\t\tassistiveText={{\n\t\t\t\t\t\t\t\t\tlabel: assistiveText && assistiveText.icon,\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\tcategory={iconCategory}\n\t\t\t\t\t\t\t\tcontainerClassName=\"slds-icon_container slds-icon-utility-page slds-current-color\"\n\t\t\t\t\t\t\t\tname={iconName}\n\t\t\t\t\t\t\t\tsize=\"x-small\"\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</span>\n\t\t\t\t\t\t<span className=\"slds-media__body\">\n\t\t\t\t\t\t\t<span className=\"slds-truncate\" title={label}>\n\t\t\t\t\t\t\t\t{label}\n\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t<Icon\n\t\t\t\t\t\t\t\tcategory=\"utility\"\n\t\t\t\t\t\t\t\tcontainerClassName=\"slds-icon_container slds-icon-utility-chevrondown slds-current-color slds-m-left_small\"\n\t\t\t\t\t\t\t\tname=\"chevrondown\"\n\t\t\t\t\t\t\t\tsize=\"x-small\"\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</span>\n\t\t\t\t\t</Button>\n\t\t\t\t</DropdownTrigger>\n\t\t\t</Dropdown>\n\t\t</li>\n\t);\n};\n\nBuilderHeaderNavDropdown.displayName = BUILDER_HEADER_NAV_DROPDOWN;\nBuilderHeaderNavDropdown.propTypes = propTypes;\nexport default BuilderHeaderNavDropdown;\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport Icon from '../icon';\n\nimport { BUILDER_HEADER_NAV_LINK } from '../../utilities/constants';\n\nconst propTypes = {\n\t/**\n\t * **Assistive text for accessibility**\n\t * This object is merged with the default props object on every render.\n\t * * `icon`: Used for the icon next to the link text.\n\t * * _Tested with snapshot testing._\n\t */\n\tassistiveText: PropTypes.shape({\n\t\ticon: PropTypes.string,\n\t}),\n\t/**\n\t * Name of the icon category. Visit <a href=\"http://www.lightningdesignsystem.com/resources/icons\">Lightning Design System Icons</a> to reference icon categories.\n\t */\n\ticonCategory: PropTypes.oneOf([\n\t\t'action',\n\t\t'custom',\n\t\t'doctype',\n\t\t'standard',\n\t\t'utility',\n\t]),\n\t/**\n\t * Name of the icon. Visit <a href=\"http://www.lightningdesignsystem.com/resources/icons\">Lightning Design System Icons</a> to reference icon names.\n\t */\n\ticonName: PropTypes.string,\n\t/**\n\t * Path to the icon. This will override any global icon settings.\n\t */\n\ticonPath: PropTypes.string,\n\t/**\n\t * Text for the link.\n\t */\n\tlabel: PropTypes.string,\n\t/**\n\t * Triggered when the link is clicked.\n\t */\n\tonClick: PropTypes.func,\n};\n\nconst defaultProps = {\n\tassistiveText: {},\n\ticonCategory: '',\n\ticonName: '',\n\tlabel: '',\n};\n\n/**\n * A link within the navigation section of the header.\n */\nconst BuilderHeaderNavLink = (props) => {\n\tconst assistiveText = {\n\t\t...defaultProps.assistiveText,\n\t\t...props.assistiveText,\n\t};\n\treturn (\n\t\t<li className=\"slds-builder-header__nav-item\">\n\t\t\t<a\n\t\t\t\tclassName=\"slds-builder-header__item-action slds-media slds-media_center\"\n\t\t\t\thref=\"javascript:void(0)\"\n\t\t\t\tonClick={props.onClick}\n\t\t\t>\n\t\t\t\t<span className=\"slds-media__figure\">\n\t\t\t\t\t<Icon\n\t\t\t\t\t\tassistiveText={{ label: assistiveText.icon }}\n\t\t\t\t\t\tcategory={props.iconCategory}\n\t\t\t\t\t\tcontainerClassName=\"slds-icon_container slds-icon-utility-settings slds-current-color\"\n\t\t\t\t\t\tname={props.iconName}\n\t\t\t\t\t\tpath={props.iconPath}\n\t\t\t\t\t\tsize=\"x-small\"\n\t\t\t\t\t/>\n\t\t\t\t</span>\n\t\t\t\t<span className=\"slds-media__body\">\n\t\t\t\t\t<span className=\"slds-truncate\" title={props.label}>\n\t\t\t\t\t\t{props.label}\n\t\t\t\t\t</span>\n\t\t\t\t</span>\n\t\t\t</a>\n\t\t</li>\n\t);\n};\n\nBuilderHeaderNavLink.displayName = BUILDER_HEADER_NAV_LINK;\nBuilderHeaderNavLink.propTypes = propTypes;\nexport default BuilderHeaderNavLink;\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nimport {\n\tBUILDER_HEADER_TOOLBAR,\n\tBUTTON_GROUP,\n} from '../../utilities/constants';\n\nconst propTypes = {\n\t/**\n\t * **Assistive text for accessibility**\n\t * This object is merged with the default props object on every render.\n\t * * `actions`: Used for the aria-label for the actions section of the toolbar.\n\t * * _Tested with snapshot testing._\n\t */\n\tassistiveText: PropTypes.shape({\n\t\tactions: PropTypes.string,\n\t}),\n\t/**\n\t * Provide children of the type `<ButtonGroup />` to define the structure of the toolbar section.\n\t * ```\n\t * <BuilderHeader>\n\t * <BuilderHeaderToolbar>\n\t * <ButtonGroup />\n\t * <ButtonGroup />\n\t * </BuilderHeaderToolbar>\n\t * </BuilderHeader>\n\t * ```\n\t */\n\tchildren: PropTypes.node,\n\t/**\n\t * Renders the actions section of the header.\n\t */\n\tonRenderActions: PropTypes.func,\n};\n\nconst defaultProps = {\n\tassistiveText: {\n\t\tactions: 'Actions',\n\t},\n};\n\n/**\n * The toolbar section of the header.\n */\nconst BuilderHeaderToolbar = (props) => {\n\tconst assistiveText = {\n\t\t...defaultProps.assistiveText,\n\t\t...props.assistiveText,\n\t};\n\treturn (\n\t\t<div className=\"slds-builder-toolbar\" role=\"toolbar\">\n\t\t\t{React.Children.map(props.children, (child) => {\n\t\t\t\tif (child.type.displayName === BUTTON_GROUP) {\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tclassName=\"slds-builder-toolbar__item-group\"\n\t\t\t\t\t\t\taria-label={child.props.label}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{child}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t\treturn null;\n\t\t\t})}\n\t\t\t<div\n\t\t\t\tclassName=\"slds-builder-toolbar__actions\"\n\t\t\t\taria-label={assistiveText.actions}\n\t\t\t>\n\t\t\t\t{props.onRenderActions && props.onRenderActions()}\n\t\t\t</div>\n\t\t</div>\n\t);\n};\n\nBuilderHeaderToolbar.displayName = BUILDER_HEADER_TOOLBAR;\nBuilderHeaderToolbar.propTypes = propTypes;\nBuilderHeaderToolbar.defaultProps = defaultProps;\nexport default BuilderHeaderToolbar;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// Implements the [Button Group design pattern](https://lightningdesignsystem.com/components/button-groups/) in React.\n// Based on SLDS v2.1.1\n\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\n\nimport assign from 'lodash.assign';\n\n// ### shortid\n// [npmjs.com/package/shortid](https://www.npmjs.com/package/shortid)\n// shortid is a short, non-sequential, url-friendly, unique id generator\nimport shortid from 'shortid';\n\nimport { BUTTON_GROUP } from '../../utilities/constants';\n\nconst propTypes = {\n\t/**\n\t * Children are expected to be components. If last button triggers a dropdown menu, use Dropdown instead of Button. _Tested with snapshot testing._\n\t */\n\tchildren: PropTypes.node.isRequired,\n\t/**\n\t * CSS classes added to `slds-button-group` or `slds-checkbox_button-group` tag\n\t */\n\tclassName: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\t/**\n\t * If the `labels.label` prop is set, a `.slds-form-element` classed fieldset element is added as a container. This prop applies classes to that element\n\t */\n\tclassNameContainer: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\t/**\n\t * HTML id for component.\n\t */\n\tid: PropTypes.string,\n\t/**\n\t * **Text labels for internationalization**\n\t * This object is merged with the default props object on every render.\n\t * * `error`: Message to display when any of Checkboxes are in an error state. _Tested with snapshot testing._\n\t * * `label`: This label appears above the button group. _Tested with snapshot testing._\n\t */\n\tlabels: PropTypes.shape({\n\t\terror: PropTypes.string,\n\t\tlabel: PropTypes.string,\n\t}),\n\t/**\n\t * Use checkbox variant for \"Checkbox Button Group\" styling and add Checkbox components as children _Tested with snapshot testing._\n\t */\n\tvariant: PropTypes.oneOf(['checkbox', 'list']),\n};\n\nconst defaultProps = { labels: {} };\n\n/**\n * The ButtonGroup component wraps other components (ie. Button, MenuDropdown, PopoverTooltip, Checkboxes, etc).\n */\nclass ButtonGroup extends React.Component {\n\tconstructor(props) {\n\t\tsuper(props);\n\t\tthis.generatedId = shortid.generate();\n\t}\n\n\tgetId() {\n\t\treturn this.props.id || this.generatedId;\n\t}\n\n\trender() {\n\t\t// Merge objects of strings with their default object\n\t\tconst labels = assign({}, defaultProps.labels, this.props.labels);\n\n\t\tconst zeroIndexLength = React.Children.count(this.props.children) - 1;\n\t\tlet { children } = this.props;\n\t\tif (zeroIndexLength > 0) {\n\t\t\tchildren = React.Children.map(this.props.children, (child, index) => {\n\t\t\t\tlet newChild;\n\t\t\t\tif (index === zeroIndexLength) {\n\t\t\t\t\tnewChild = React.cloneElement(child, {\n\t\t\t\t\t\ttriggerClassName: 'slds-button_last',\n\t\t\t\t\t});\n\t\t\t\t}\n\n\t\t\t\treturn newChild || child;\n\t\t\t});\n\t\t}\n\n\t\tlet component;\n\n\t\tif (this.props.variant === 'checkbox') {\n\t\t\tchildren = React.Children.map(this.props.children, (child) => {\n\t\t\t\tconst cloneProps = {\n\t\t\t\t\tvariant: 'button-group',\n\t\t\t\t};\n\t\t\t\tif (labels.error) {\n\t\t\t\t\tcloneProps['aria-describedby'] = `button-group-error-${this.getId()}`;\n\t\t\t\t}\n\t\t\t\treturn React.cloneElement(child, cloneProps);\n\t\t\t});\n\n\t\t\tcomponent = (\n\t\t\t\t<div\n\t\t\t\t\tclassName={classNames(\n\t\t\t\t\t\t'slds-checkbox_button-group',\n\t\t\t\t\t\tthis.props.className\n\t\t\t\t\t)}\n\t\t\t\t\tid={this.getId()}\n\t\t\t\t>\n\t\t\t\t\t{children}\n\t\t\t\t</div>\n\t\t\t);\n\t\t} else if (this.props.variant === 'list') {\n\t\t\tcomponent = (\n\t\t\t\t<ul\n\t\t\t\t\tclassName={classNames('slds-button-group-list', this.props.className)}\n\t\t\t\t\tid={this.getId()}\n\t\t\t\t>\n\t\t\t\t\t{React.Children.map(this.props.children, (child) => (\n\t\t\t\t\t\t<li>{child}</li>\n\t\t\t\t\t))}\n\t\t\t\t</ul>\n\t\t\t);\n\t\t} else {\n\t\t\tcomponent = (\n\t\t\t\t<div\n\t\t\t\t\tclassName={classNames('slds-button-group', this.props.className)}\n\t\t\t\t\tid={this.getId()}\n\t\t\t\t\trole=\"group\"\n\t\t\t\t>\n\t\t\t\t\t{children}\n\t\t\t\t</div>\n\t\t\t);\n\t\t}\n\n\t\tif (this.props.variant === 'checkbox' || this.props.labels.label) {\n\t\t\tcomponent = (\n\t\t\t\t<fieldset\n\t\t\t\t\tclassName={classNames(\n\t\t\t\t\t\t'slds-form-element',\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t'slds-has-error': labels.error,\n\t\t\t\t\t\t},\n\t\t\t\t\t\tthis.props.classNameContainer\n\t\t\t\t\t)}\n\t\t\t\t>\n\t\t\t\t\t<legend className=\"slds-form-element__legend slds-form-element__label\">\n\t\t\t\t\t\t{this.props.labels.label}\n\t\t\t\t\t</legend>\n\t\t\t\t\t<div className=\"slds-form-element__control\">\n\t\t\t\t\t\t{component}\n\t\t\t\t\t\t{labels.error ? (\n\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\tclassName=\"slds-form-element__help\"\n\t\t\t\t\t\t\t\tid={`button-group-error-${this.getId()}`}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{labels.error}\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t) : null}\n\t\t\t\t\t</div>\n\t\t\t\t</fieldset>\n\t\t\t);\n\t\t}\n\n\t\treturn component;\n\t}\n}\n\nButtonGroup.displayName = BUTTON_GROUP;\nButtonGroup.propTypes = propTypes;\nButtonGroup.defaultProps = defaultProps;\n\nexport default ButtonGroup;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n/* eslint-disable import/no-mutable-exports */\n\nimport getComponentDocFn from '../../utilities/get-component-doc';\nimport sunsetProperty from '../../utilities/warning/sunset-property';\n\nlet checkProps = function checkPropsFunction() {};\n\nif (process.env.NODE_ENV !== 'production') {\n\tcheckProps = function checkPropsFunction(COMPONENT, props, jsonDoc) {\n\t\tconst createDocUrl = getComponentDocFn(jsonDoc);\n\n\t\tif (typeof props.assistiveText === 'string') {\n\t\t\tsunsetProperty(\n\t\t\t\tCOMPONENT,\n\t\t\t\tprops.assistiveText,\n\t\t\t\t'assistiveText',\n\t\t\t\t`\\`assistiveText\\` as a string has been deprecated and is now an object to allow for multiple uses in the component. Please use \\`assistiveText.icon\\` instead. ${createDocUrl(\n\t\t\t\t\t'assistiveText'\n\t\t\t\t)}`\n\t\t\t);\n\t\t}\n\t};\n}\n\nexport default checkProps;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// Implements the [Button Stateful design pattern](https://lightningdesignsystem.com/components/buttons/#flavor-stateful) in React.\n// Based on SLDS v2.1.1\n\n// ## Dependencies\n\n// ### React\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\n// ### classNames\nimport classNames from 'classnames';\n\n// ### isFunction\nimport isFunction from 'lodash.isfunction';\n\n// This component's `checkProps` which issues warnings to developers about properties when in development mode (similar to React's built in development tools)\nimport checkProps from './check-props';\nimport componentDoc from './component.json';\n\n// ## Children\nimport ButtonIcon from '../icon/button-icon';\n\nimport getAriaProps from '../../utilities/get-aria-props';\nimport { BUTTON_STATEFUL } from '../../utilities/constants';\n\nconst propTypes = {\n\t/**\n\t * Specifies the current state of the button. If set, the button will act as a ['controlled' component](https://facebook.github.io/react/docs/forms.html#controlled-components).\n\t */\n\tactive: PropTypes.bool,\n\t/**\n\t * **Assistive text for accessibility.**\n\t * This object is merged with the default props object on every render.\n\t * * `icon`: Text that is visually hidden but read aloud by screenreaders to tell the user what the icon means. This should also include the state of the button. If the button has an icon and a visible label, you can omit the <code>icon</code> prop and use the <code>label</code> prop.\n\t */\n\tassistiveText: PropTypes.shape({\n\t\ticon: PropTypes.string,\n\t}),\n\t/**\n\t * Disables the button and adds disabled styling.\n\t */\n\tdisabled: PropTypes.bool,\n\t/**\n\t * Icon associated with the stateful button. Accepts an `Icon` component\n\t */\n\ticon: PropTypes.node,\n\t/**\n\t * Triggered when focus is removed.\n\t */\n\tonBlur: PropTypes.func,\n\t/**\n\t * Triggered when the button is clicked.\n\t */\n\tonClick: PropTypes.func,\n\t/**\n\t * Triggered when component is focused.\n\t */\n\tonFocus: PropTypes.func,\n\t/**\n\t * Triggered when a key is pressed down\n\t */\n\tonKeyDown: PropTypes.func,\n\t/**\n\t * Triggered when a key is pressed and released\n\t */\n\tonKeyPress: PropTypes.func,\n\t/**\n\t * Triggered when a key is released\n\t */\n\tonKeyUp: PropTypes.func,\n\t/**\n\t * Triggered when a mouse button is pressed down\n\t */\n\tonMouseDown: PropTypes.func,\n\t/**\n\t * Triggered when a mouse arrow hovers\n\t */\n\tonMouseEnter: PropTypes.func,\n\t/**\n\t * If true, button scales to 100% width on small form factors.\n\t */\n\tresponsive: PropTypes.bool,\n\t/**\n\t * Initial label and icon (optional) of button.\n\t */\n\tstateOne: PropTypes.object,\n\t/**\n\t * Selected label and icon (optional) of button.\n\t */\n\tstateTwo: PropTypes.object,\n\t/**\n\t * Deselect label and icon (optional) of button.\n\t */\n\tstateThree: PropTypes.object,\n\t/**\n\t * Write \"-1\" if you don't want the user to tab to the button.\n\t */\n\ttabIndex: PropTypes.string,\n\t/**\n\t * Different types of buttons\n\t */\n\tvariant: PropTypes.oneOf([\n\t\t'base',\n\t\t'neutral',\n\t\t'brand',\n\t\t'destructive',\n\t\t'icon',\n\t\t'icon-filled',\n\t]),\n};\n\n// i18n\nconst defaultProps = {\n\tassistiveText: { icon: '' },\n\tdisabled: false,\n\ticonSize: 'medium',\n\tresponsive: false,\n\tstateOne: { iconName: 'add', label: 'Follow' },\n\tstateTwo: { iconName: 'check', label: 'Following' },\n\tstateThree: { iconName: 'close', label: 'Unfollow' },\n};\n\n/**\n * The ButtonStateful component is a variant of the Lightning Design System Button component. It is used for buttons that have a state of unselected or selected.\n * For icon buttons, use <code>variant='icon'</code>. For buttons with labels or buttons with labels and icons, pass data to the state props (ie. <code>stateOne={{iconName: 'add', label: 'Join'}}</code>).\n * Although not listed in the prop table, all `aria-*` props will be added to the button element if passed in.\n * If no `aria-*` props are passed in, <code>aria-live='polite'</code> is used for `icon` and `icon-filled` variants,\n * and <code>aria-live='assertive'</code> is used for the remaining variants.\n */\nclass ButtonStateful extends React.Component {\n\tconstructor(props) {\n\t\tsuper(props);\n\t\tthis.state = { active: false };\n\n\t\tcheckProps(BUTTON_STATEFUL, props, componentDoc);\n\t}\n\n\tgetClassName(active) {\n\t\treturn classNames(this.props.className, 'slds-button', {\n\t\t\t'slds-button_neutral':\n\t\t\t\tthis.props.variant !== 'icon' && this.props.variant !== 'icon-filled',\n\t\t\t'slds-button_inverse': this.props.variant === 'inverse',\n\t\t\t'slds-not-selected': !active,\n\t\t\t'slds-is-selected': active,\n\t\t\t'slds-max-small-button_stretch': this.props.responsive,\n\t\t\t'slds-button_icon-border': this.props.variant === 'icon',\n\t\t\t'slds-button_icon-border-filled': this.props.variant === 'icon-filled',\n\t\t});\n\t}\n\n\thandleBlur = (e) => {\n\t\tif (this.props.onBlur) this.props.onBlur(e);\n\t\te.currentTarget.blur();\n\t};\n\n\thandleClick = (e) => {\n\t\tif (isFunction(this.props.onClick)) this.props.onClick(e);\n\t\tif (typeof this.props.active !== 'boolean') {\n\t\t\tthis.setState((prevState) => ({ active: !prevState.active }));\n\t\t}\n\t};\n\n\trender() {\n\t\tconst {\n\t\t\tactive,\n\t\t\tdisabled,\n\t\t\ticon,\n\t\t\ticonName,\n\t\t\ticonSize,\n\t\t\tid,\n\t\t\tonFocus,\n\t\t\tonKeyDown,\n\t\t\tonKeyPress,\n\t\t\tonKeyUp,\n\t\t\tonMouseDown,\n\t\t\tonMouseEnter,\n\t\t\t// onMouseLeave, // This prop isn't used anywhere! But removing it would be a breaking change\n\t\t\tstateOne,\n\t\t\tstateTwo,\n\t\t\tstateThree,\n\t\t\ttabIndex,\n\t\t\tvariant,\n\t\t} = this.props;\n\n\t\tconst defaultIconProps = {\n\t\t\tdisabled,\n\t\t\tsize: 'small',\n\t\t\tclassName: 'slds-button__icon_stateful',\n\t\t};\n\t\tconst iconAssistiveText =\n\t\t\ttypeof this.props.assistiveText === 'string'\n\t\t\t\t? this.props.assistiveText\n\t\t\t\t: {\n\t\t\t\t\t\t...defaultProps.assistiveText,\n\t\t\t\t\t\t...this.props.assistiveText,\n\t\t\t\t }.icon;\n\n\t\tconst isActive = typeof active === 'boolean' ? active : this.state.active;\n\n\t\t// Accept aria-* props\n\t\tlet ariaProps = getAriaProps(this.props);\n\n\t\tif (variant === 'icon' || variant === 'icon-filled') {\n\t\t\t// Default aria attribute for stateful button with icon, if none is specified\n\t\t\tif (Object.keys(ariaProps).length === 0) {\n\t\t\t\tariaProps = { 'aria-live': 'polite' };\n\t\t\t}\n\n\t\t\treturn (\n\t\t\t\t<button\n\t\t\t\t\t{...ariaProps}\n\t\t\t\t\tclassName={this.getClassName(isActive)}\n\t\t\t\t\tdisabled={disabled}\n\t\t\t\t\tid={id}\n\t\t\t\t\tonBlur={this.handleBlur}\n\t\t\t\t\tonClick={this.handleClick}\n\t\t\t\t\tonFocus={onFocus}\n\t\t\t\t\tonKeyDown={onKeyDown}\n\t\t\t\t\tonKeyPress={onKeyPress}\n\t\t\t\t\tonKeyUp={onKeyUp}\n\t\t\t\t\tonMouseDown={onMouseDown}\n\t\t\t\t\tonMouseEnter={onMouseEnter}\n\t\t\t\t\tonMouseLeave={this.handleBlur}\n\t\t\t\t\ttabIndex={tabIndex}\n\t\t\t\t\ttype=\"button\"\n\t\t\t\t>\n\t\t\t\t\t{icon ? (\n\t\t\t\t\t\tReact.cloneElement(icon, {\n\t\t\t\t\t\t\t...defaultIconProps,\n\t\t\t\t\t\t\t...icon.props,\n\t\t\t\t\t\t})\n\t\t\t\t\t) : (\n\t\t\t\t\t\t<ButtonIcon\n\t\t\t\t\t\t\tdisabled={disabled}\n\t\t\t\t\t\t\tname={iconName}\n\t\t\t\t\t\t\tsize={iconSize}\n\t\t\t\t\t\t\tclassName=\"slds-button__icon_stateful\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t)}\n\t\t\t\t\t{iconAssistiveText ? (\n\t\t\t\t\t\t<span className=\"slds-assistive-text\">{iconAssistiveText}</span>\n\t\t\t\t\t) : null}\n\t\t\t\t</button>\n\t\t\t);\n\t\t}\n\n\t\tdefaultIconProps.position = 'left';\n\n\t\t// Default aria attribute for stateful button, if none is specified\n\t\tif (Object.keys(ariaProps).length === 0) {\n\t\t\tariaProps = { 'aria-live': 'assertive' };\n\t\t}\n\n\t\treturn (\n\t\t\t<button\n\t\t\t\t{...ariaProps}\n\t\t\t\tclassName={this.getClassName(isActive)}\n\t\t\t\tdisabled={disabled}\n\t\t\t\tid={id}\n\t\t\t\tonBlur={this.handleBlur}\n\t\t\t\tonClick={this.handleClick}\n\t\t\t\tonFocus={onFocus}\n\t\t\t\tonKeyDown={onKeyDown}\n\t\t\t\tonKeyPress={onKeyPress}\n\t\t\t\tonKeyUp={onKeyUp}\n\t\t\t\tonMouseEnter={onMouseEnter}\n\t\t\t\tonMouseLeave={this.handleBlur}\n\t\t\t\ttabIndex={tabIndex}\n\t\t\t\ttype=\"button\"\n\t\t\t>\n\t\t\t\t<span className=\"slds-text-not-selected\">\n\t\t\t\t\t{stateOne.icon ? (\n\t\t\t\t\t\tReact.cloneElement(stateOne.icon, {\n\t\t\t\t\t\t\t...defaultIconProps,\n\t\t\t\t\t\t\t...stateOne.icon.props,\n\t\t\t\t\t\t\tsize: 'small',\n\t\t\t\t\t\t})\n\t\t\t\t\t) : (\n\t\t\t\t\t\t<ButtonIcon\n\t\t\t\t\t\t\tdisabled={disabled}\n\t\t\t\t\t\t\tname={stateOne.iconName}\n\t\t\t\t\t\t\tsize=\"small\"\n\t\t\t\t\t\t\tposition=\"left\"\n\t\t\t\t\t\t\tclassName=\"slds-button__icon_stateful\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t)}\n\t\t\t\t\t{stateOne.label}\n\t\t\t\t</span>\n\t\t\t\t<span className=\"slds-text-selected\">\n\t\t\t\t\t{stateTwo.icon ? (\n\t\t\t\t\t\tReact.cloneElement(stateTwo.icon, {\n\t\t\t\t\t\t\t...defaultIconProps,\n\t\t\t\t\t\t\t...stateTwo.icon.props,\n\t\t\t\t\t\t\tsize: 'small',\n\t\t\t\t\t\t})\n\t\t\t\t\t) : (\n\t\t\t\t\t\t<ButtonIcon\n\t\t\t\t\t\t\tdisabled={disabled}\n\t\t\t\t\t\t\tname={stateTwo.iconName}\n\t\t\t\t\t\t\tsize=\"small\"\n\t\t\t\t\t\t\tposition=\"left\"\n\t\t\t\t\t\t\tclassName=\"slds-button__icon_stateful\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t)}\n\t\t\t\t\t{stateTwo.label}\n\t\t\t\t</span>\n\t\t\t\t<span className=\"slds-text-selected-focus\">\n\t\t\t\t\t{stateThree.icon ? (\n\t\t\t\t\t\tReact.cloneElement(stateThree.icon, {\n\t\t\t\t\t\t\t...defaultIconProps,\n\t\t\t\t\t\t\t...stateThree.icon.props,\n\t\t\t\t\t\t\tsize: 'small',\n\t\t\t\t\t\t})\n\t\t\t\t\t) : (\n\t\t\t\t\t\t<ButtonIcon\n\t\t\t\t\t\t\tdisabled={disabled}\n\t\t\t\t\t\t\tname={stateThree.iconName}\n\t\t\t\t\t\t\tsize=\"small\"\n\t\t\t\t\t\t\tposition=\"left\"\n\t\t\t\t\t\t\tclassName=\"slds-button__icon_stateful\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t)}\n\t\t\t\t\t{stateThree.label}\n\t\t\t\t</span>\n\t\t\t</button>\n\t\t);\n\t}\n}\n\nButtonStateful.displayName = BUTTON_STATEFUL;\nButtonStateful.propTypes = propTypes;\nButtonStateful.defaultProps = defaultProps;\n\nexport default ButtonStateful;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// ### React\nimport React from 'react';\n\nimport PropTypes from 'prop-types';\n\n// ### classNames\n// [github.com/JedWatson/classnames](https://github.com/JedWatson/classnames)\n// This project uses `classnames`, \"a simple javascript utility for conditionally\n// joining classNames together.\"\nimport classnames from 'classnames';\n\nimport { MEDIA_OBJECT } from '../../utilities/constants';\n\n// Allow for predicatable DOM queries with `querySelectorAll(cssClasses.base)`\nexport const cssClasses = {\n\tbase: 'slds-media',\n\tfigure: 'slds-media__figure',\n\tbody: 'slds-media__body',\n};\n\n/**\n * When you need text and a figure next to each other, use a media object.\n */\nclass MediaObject extends React.Component {\n\t// ### Display Name\n\t// Always use the canonical component name as the React display name.\n\tstatic displayName = MEDIA_OBJECT;\n\n\t// ### Prop Types\n\tstatic propTypes = {\n\t\t/**\n\t\t * Often the body may need to be truncated for correct layout. This is only applicable if using the component within a flexbox container.\n\t\t */\n\t\tcanTruncate: PropTypes.bool,\n\t\t/**\n\t\t * Class names to be added to the component's HTML tag with `slds-media` class.\n\t\t */\n\t\tclassName: PropTypes.oneOfType([\n\t\t\tPropTypes.array,\n\t\t\tPropTypes.object,\n\t\t\tPropTypes.string,\n\t\t]),\n\t\t/**\n\t\t * The body is often text such as a heading or paragraph.\n\t\t */\n\t\tbody: PropTypes.node,\n\t\t/**\n\t\t * The figure is the optional visualization of the text within the body.\n\t\t */\n\t\tfigure: PropTypes.node,\n\t\t/**\n\t\t * Vertically centers the body with the middle of the figure.\n\t\t */\n\t\tverticalCenter: PropTypes.bool,\n\t};\n\n\trender() {\n\t\treturn (\n\t\t\t<div\n\t\t\t\tclassName={classnames(\n\t\t\t\t\tcssClasses.base,\n\t\t\t\t\t{\n\t\t\t\t\t\t'slds-media_center': this.props.verticalCenter,\n\t\t\t\t\t\t'slds-has-flexi-truncate': this.props.canTruncate,\n\t\t\t\t\t},\n\t\t\t\t\tthis.props.className\n\t\t\t\t)}\n\t\t\t>\n\t\t\t\t{this.props.figure ? (\n\t\t\t\t\t<div className={cssClasses.figure}>{this.props.figure} </div>\n\t\t\t\t) : null}\n\t\t\t\t<div className={cssClasses.body}>{this.props.body}</div>\n\t\t\t</div>\n\t\t);\n\t}\n}\n\nexport default MediaObject;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// ### React\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\n// ### classNames\n// [github.com/JedWatson/classnames](https://github.com/JedWatson/classnames)\n// This project uses `classnames`, \"a simple javascript utility for conditionally\n// joining classNames together.\"\nimport classnames from 'classnames';\n\n// ## Children\nimport MediaObject from '../../media-object';\n\nimport { CARD_HEADER } from '../../../utilities/constants';\n\n// Allow for predicatable DOM queries with `querySelectorAll(cssClasses.base)`\nconst idSuffixes = {\n\theaderActions: '__header-actions',\n\theading: '__heading',\n\tfilter: '__filter-input',\n};\n\nconst renderFilter = (filter, id) => {\n\t// allow id to be set by custom header component passed in\n\tconst clonedFilter = React.cloneElement(filter, {\n\t\tid: filter.props.id || id,\n\t});\n\n\treturn (\n\t\t<div className=\"slds-input-has-icon slds-input-has-icon_left slds-size_1-of-3\">\n\t\t\t{clonedFilter}\n\t\t</div>\n\t);\n};\n\nrenderFilter.displayName = 'renderFilter';\n\n/**\n * Card Header is a private component and is not meant to be imported or used for Card's `header` prop. It just happens to have the same file name.\n */\nconst CardHeader = (props) => {\n\tlet title = null;\n\n\tif (typeof props.heading === 'string' || props.heading instanceof String) {\n\t\ttitle = props.heading;\n\t}\n\n\tconst heading = (\n\t\t<h2\n\t\t\tid={props.headingId}\n\t\t\tclassName=\"slds-text-heading_small slds-truncate\"\n\t\t\ttitle={title}\n\t\t>\n\t\t\t{props.heading}\n\t\t</h2>\n\t);\n\n\tlet Header;\n\n\tif (props.header) {\n\t\tHeader = React.cloneElement(props.header, {\n\t\t\tfigure: props.icon,\n\t\t\tbody: heading,\n\t\t\tverticalCenter: true,\n\t\t\tcanTruncate: true,\n\t\t\t...props.header.props,\n\t\t});\n\t} else {\n\t\tHeader = (\n\t\t\t<MediaObject\n\t\t\t\tfigure={props.icon}\n\t\t\t\tbody={heading}\n\t\t\t\tverticalCenter\n\t\t\t\tcanTruncate\n\t\t\t/>\n\t\t);\n\t}\n\n\tconst hasFilter = props.filter ? true : null;\n\n\treturn (\n\t\t<div className={classnames('slds-card__header', 'slds-grid')}>\n\t\t\t{Header}\n\t\t\t{props.filter ? renderFilter(props.filter, props.filterId) : null}\n\t\t\t<div\n\t\t\t\tid={props.headerActionsId}\n\t\t\t\tclassName={classnames('slds-no-flex', {\n\t\t\t\t\t'slds-size_1-of-3': hasFilter,\n\t\t\t\t\t'slds-text-align_right': hasFilter,\n\t\t\t\t})}\n\t\t\t>\n\t\t\t\t{props.headerActions}\n\t\t\t</div>\n\t\t</div>\n\t);\n};\n\n// ### Display Name\n// Always use the canonical component name as the React display name.\nCardHeader.displayName = CARD_HEADER;\n\n// ### Prop Types\nCardHeader.propTypes = {\n\t/**\n\t * Adds a filter input to the card header\n\t */\n\tfilter: PropTypes.node,\n\t/**\n\t * Set the HTML `id` of the card filter.\n\t */\n\tfilterId: PropTypes.string,\n\t/**\n\t * Allows a custom header (the media object with the icon in the first column). `icon`, `heading` and other props are passed in the media object from Card. Use `design-system-react/components/media-object` to create your own.\n\t */\n\theader: PropTypes.node,\n\t/**\n\t * Actions performed on selected items or that relate to the entire group of items such as \"Add Item.\"\"\n\t */\n\theaderActions: PropTypes.node,\n\t/**\n\t * Set the HTML `id` of the card header actions.\n\t */\n\theaderActionsId: PropTypes.string,\n\t/**\n\t * The heading is the name of the related item group.\n\t */\n\theading: PropTypes.oneOfType([PropTypes.element, PropTypes.string])\n\t\t.isRequired,\n\t/**\n\t * Set the HTML `id` of the card heading.\n\t */\n\theadingId: PropTypes.string,\n\t/**\n\t * Icon associated with grouped items\n\t */\n\ticon: PropTypes.node,\n};\n\nexport default CardHeader;\nexport { idSuffixes };\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// ### React\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\n// ### classNames\n// [github.com/JedWatson/classnames](https://github.com/JedWatson/classnames)\n// This project uses `classnames`, \"a simple javascript utility for conditionally joining classNames together.\"\nimport classNames from 'classnames';\n\nimport { CARD_BODY } from '../../../utilities/constants';\n\nconst CardBody = (props) => (\n\t<div className={classNames('slds-card__body', props.className)} id={props.id}>\n\t\t{props.children}\n\t</div>\n);\n\nCardBody.displayName = CARD_BODY;\n\nCardBody.propTypes = {\n\t/**\n\t * Elements to place in the body.\n\t */\n\tchildren: PropTypes.node,\n\t/**\n\t * CSS classes to be added to the card.\n\t */\n\tclassName: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\t/**\n\t * Set the HTML `id` of the body.\n\t */\n\tid: PropTypes.string,\n};\n\nexport default CardBody;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// ### React\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\nimport { CARD_FOOTER } from '../../../utilities/constants';\n\nconst CardFooter = (props) => (\n\t<div className=\"slds-card__footer\">{props.children}</div>\n);\n\nCardFooter.displayName = CARD_FOOTER;\n\nCardFooter.propTypes = {\n\t/**\n\t * Elements to place in the footer.\n\t */\n\tchildren: PropTypes.node,\n};\n\nexport default CardFooter;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// ### React\n// React is an external dependency of the project.\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\nimport { CARD_EMPTY } from '../../utilities/constants';\n\n/**\n * A default empty state for Cards.\n */\nconst CardEmpty = (props) => (\n\t<div className=\"slds-p-horizontal_small\">\n\t\t<div className=\"slds-text-align_center slds-m-bottom_x-large\">\n\t\t\t<h3 className=\"slds-text-heading_small slds-p-top_large slds-p-bottom_large\">\n\t\t\t\t{props.heading}\n\t\t\t</h3>\n\t\t\t{props.children}\n\t\t</div>\n\t</div>\n);\n\n// ### Display Name\n// Always use the canonical component name as the React display name.\nCardEmpty.displayName = CARD_EMPTY;\n\n// ### Prop Types\nCardEmpty.propTypes = {\n\t/**\n\t * Additional call to actions that will render under the heading. Often this is an \"Add Item\" button.\n\t */\n\tchildren: PropTypes.node,\n\t/**\n\t * Primary text for an Empty Card.\n\t */\n\theading: PropTypes.string,\n};\n\nCardEmpty.defaultProps = {\n\theading: 'No Related Items',\n};\n\nexport default CardEmpty;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// # Card Component\n\n// Implements the [Card design pattern](https://www.lightningdesignsystem.com/components/cards/) in React.\n// Based on SLDS v2.2.1\n\n// ### React\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\n// ### classNames\n// [github.com/JedWatson/classnames](https://github.com/JedWatson/classnames)\n// This project uses `classnames`, \"a simple javascript utility for conditionally\n// joining classNames together.\"\nimport classnames from 'classnames';\n\n// ## Children\nimport Header from './private/header';\nimport Body from './private/body';\nimport Footer from './private/footer';\nimport Empty from './empty';\n\nimport { CARD } from '../../utilities/constants';\n\nconst idSuffixes = {\n\tbody: '__body',\n\theaderActions: '__header-actions',\n\theading: '__heading',\n\tfilter: '__filter-input',\n};\n\n/**\n * Cards are used to apply a container around a related grouping of information. It has a header, a body, and an optional footer. It often contains a DataTable or Tile (coming soon). Actions associated with selected items or with all items are included within the header actions. Footer often contains pagination.\n */\nconst Card = (props) => {\n\tconst bodyId = props.id ? props.id + idSuffixes.body : null;\n\tconst filterId = props.id ? props.id + idSuffixes.filter : null;\n\tconst headingId = props.id ? props.id + idSuffixes.heading : null;\n\tconst headerActionsId = props.id ? props.id + idSuffixes.headerActions : null;\n\n\tlet { empty } = props;\n\tif (empty === true) {\n\t\t// Can be overridden by passing in a node to the empty prop\n\t\tempty = <Empty id={props.id} heading={props.heading} />;\n\t}\n\n\treturn (\n\t\t<article\n\t\t\tid={props.id}\n\t\t\tclassName={classnames('slds-card', props.className)}\n\t\t\tstyle={props.style}\n\t\t>\n\t\t\t{!props.hasNoHeader && (\n\t\t\t\t<Header\n\t\t\t\t\theader={props.header}\n\t\t\t\t\theadingId={headingId}\n\t\t\t\t\ticon={props.icon}\n\t\t\t\t\tfilter={props.filter}\n\t\t\t\t\tfilterId={filterId}\n\t\t\t\t\theading={props.heading}\n\t\t\t\t\theaderActions={props.headerActions}\n\t\t\t\t\theaderActionsId={headerActionsId}\n\t\t\t\t/>\n\t\t\t)}\n\t\t\t{!empty ? (\n\t\t\t\t<Body id={bodyId} className={props.bodyClassName}>\n\t\t\t\t\t{props.children}\n\t\t\t\t</Body>\n\t\t\t) : (\n\t\t\t\t<Body id={bodyId} className={props.bodyClassName}>\n\t\t\t\t\t{empty}\n\t\t\t\t</Body>\n\t\t\t)}\n\t\t\t{props.footer ? <Footer>{props.footer}</Footer> : null}\n\t\t</article>\n\t);\n};\n\n// ### Display Name\n// Always use the canonical component name as the React display name.\nCard.displayName = CARD;\n\nCard.defaultProps = {\n\theading: 'Related Items',\n};\n\n// ### Prop Types\nCard.propTypes = {\n\t/**\n\t * CSS classes to be added to the card body (wraps children).\n\t */\n\tbodyClassName: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\t/**\n\t * The main section of the card. It often contains a `DataTable` or `Tile`.\n\t */\n\tchildren: PropTypes.node,\n\t/**\n\t * CSS classes to be added to the card.\n\t */\n\tclassName: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\t/**\n\t * Replaces the body (that is the children) with the specified empty state, this will also remove header actions, the filter, and the icon. If the default empty state is wanted, set to `true`.\n\t */\n\tempty: PropTypes.oneOfType([PropTypes.bool, PropTypes.node]),\n\t/**\n\t * Adds a filter input to the card header.\n\t */\n\tfilter: PropTypes.node,\n\t/**\n\t * Footer often contains pagination.\n\t */\n\tfooter: PropTypes.node,\n\t/**\n\t * Allows card to have no header, and ignores header related props altogether.\n\t */\n\thasNoHeader: PropTypes.bool,\n\t/**\n\t * Allows a custom header (the media object with the icon in the first column). `icon`, `heading` and other props are passed into the media object from Card if present. Use `design-system-react/components/media-object` to create your own custom header.\n\t */\n\theader: PropTypes.node,\n\t/**\n\t * The heading is the name of the related item group and should only contain inline elements.\n\t */\n\theading: PropTypes.oneOfType([PropTypes.node, PropTypes.string]).isRequired,\n\t/**\n\t * Actions to perform on selected items or actions that are not specific to one item such as adding an item. If no group actions are needed, then the number of selected items is often present.\n\t */\n\theaderActions: PropTypes.node,\n\t/**\n\t * Icon associated with the items within the `body`.\n\t */\n\ticon: PropTypes.node,\n\t/**\n\t * Set the HTML `id` of the card. This also sets the `id` of the filter and the header actions.\n\t */\n\tid: PropTypes.string,\n\t/**\n\t * Custom styles to be added to the card.\n\t */\n\tstyle: PropTypes.object,\n};\n\nexport default Card;\nexport { idSuffixes };\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// ### React\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\n// ### classNames\n// [github.com/JedWatson/classnames](https://github.com/JedWatson/classnames)\n// A simple javascript utility for conditionally joining classNames together.\nimport classNames from 'classnames';\n\n// ### isFunction\nimport isFunction from 'lodash.isfunction';\n\n// ## Children\nimport UtilityIcon from '../../utilities/utility-icon';\nimport Button from '../../button';\n\n// ## Constants\nimport { ICON_INPUT } from '../../../utilities/constants';\n\n/**\n * A wrapper for icons that will be rendered inside of an Input\n *\n * If the `onClick` function prop is provided, the `design-system-react/components/button` component is used.\n * If not, the icon will be an instance of `design-system-react/components/utilities/utility-icon`.\n * Checkout out the appropriate component to see what props can be passed along via the `{...props}` rest operator\n */\nconst InputIcon = (props) => {\n\tconst {\n\t\tcategory,\n\t\ticonPosition,\n\t\tname,\n\t\tpath,\n\t\tonClick,\n\t\tvariant,\n\t\t...rest\n\t} = props;\n\n\t// need to pass click event up on SVG\n\n\tconst variants = {\n\t\tcombobox: (\n\t\t\t<span className=\"slds-icon_container slds-input__icon slds-input__icon_right\">\n\t\t\t\t<UtilityIcon\n\t\t\t\t\taria-hidden\n\t\t\t\t\tcategory={category}\n\t\t\t\t\tclassName={classNames(\n\t\t\t\t\t\t'slds-icon slds-icon_x-small slds-icon-text-default'\n\t\t\t\t\t)}\n\t\t\t\t\tname={name}\n\t\t\t\t\tpath={path}\n\t\t\t\t\t{...rest}\n\t\t\t\t/>\n\t\t\t</span>\n\t\t),\n\t\tbase: (\n\t\t\t<UtilityIcon\n\t\t\t\taria-hidden\n\t\t\t\tcategory={category}\n\t\t\t\tclassName={classNames('slds-input__icon slds-icon-text-default', {\n\t\t\t\t\t[`slds-input__icon_${iconPosition}`]: iconPosition,\n\t\t\t\t})}\n\t\t\t\tname={name}\n\t\t\t\tpath={path}\n\t\t\t\t{...rest}\n\t\t\t/>\n\t\t),\n\t};\n\n\treturn isFunction(onClick) ? (\n\t\t<Button\n\t\t\tclassName={classNames('slds-input__icon', {\n\t\t\t\t[`slds-input__icon_${iconPosition}`]: iconPosition,\n\t\t\t})}\n\t\t\ticonCategory={category}\n\t\t\ticonName={name}\n\t\t\ticonPath={path}\n\t\t\tonClick={onClick}\n\t\t\tvariant=\"icon\"\n\t\t\t{...rest}\n\t\t/>\n\t) : (\n\t\tvariants[variant]\n\t);\n};\n\nInputIcon.displayName = ICON_INPUT;\n\nInputIcon.propTypes = {\n\t/**\n\t * Icon category from [lightningdesignsystem.com/icons/](https://www.lightningdesignsystem.com/icons/)\n\t */\n\tcategory: PropTypes.string,\n\t/**\n\t * This is only needed if an input contains two icons, the Input component handles this prop for you.\n\t */\n\ticonPosition: PropTypes.oneOf(['left', 'right']),\n\t/**\n\t * Name of the icon. Visit <a href='http://www.lightningdesignsystem.com/resources/icons'>Lightning Design System Icons</a> to reference icon names.\n\t */\n\tname: PropTypes.string,\n\t/**\n\t * Path to the icon. This will override any global icon settings.\n\t */\n\tpath: PropTypes.string,\n\t/**\n\t * This event fires when the icon is clicked.\n\t */\n\tonClick: PropTypes.func,\n\t/**\n\t * Changes styles of the InputIcon.\n\t */\n\tvariant: PropTypes.oneOf(['base', 'combobox']),\n};\n\nInputIcon.defaultProps = {\n\tcategory: 'utility',\n\tvariant: 'base',\n};\n\nexport default InputIcon;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n/* eslint-disable import/no-mutable-exports */\n\nimport sunsetProperty from '../../utilities/warning/sunset-property';\nimport getComponentDocFn from '../../utilities/get-component-doc';\n\nlet checkProps = function checkPropsFunction() {};\n\nif (process.env.NODE_ENV !== 'production') {\n\tcheckProps = function checkPropsFunction(COMPONENT, props, jsonDoc) {\n\t\tconst createDocUrl = getComponentDocFn(jsonDoc);\n\n\t\tif (typeof props.assistiveText === 'string') {\n\t\t\tsunsetProperty(\n\t\t\t\tCOMPONENT,\n\t\t\t\tprops.assistiveText,\n\t\t\t\t'assistiveText',\n\t\t\t\t`\\`assistiveText\\` as a string has been deprecated and is now an object to allow for multiple uses in the component. Please use \\`assistiveText.label\\` instead. ${createDocUrl(\n\t\t\t\t\t'assistiveText'\n\t\t\t\t)}`\n\t\t\t);\n\t\t}\n\t};\n}\n\nexport default checkProps;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// # Spinner Component --- SLDS for React\n\n// Implements the [Spinner design pattern - 2.1.0-beta.3 (204)](https://latest-204.lightningdesignsystem.com/components/spinners) in React.\n\n// ### React\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\nimport classNames from 'classnames';\n\nimport checkProps from './check-props';\n\n// ## Constants\nimport { SPINNER } from '../../utilities/constants';\n\nimport componentDoc from './component.json';\n\n// ### Prop Types\nconst propTypes = {\n\t/**\n\t * **Assistive text for accessibility.**\n\t * This object is merged with the default props object on every render.\n\t * * `label`: Assistive text that is read out loud to screen readers.\n\t */\n\tassistiveText: PropTypes.shape({\n\t\tlabel: PropTypes.string,\n\t}),\n\t/**\n\t * Custom css classes applied to Spinner container\n\t */\n\tcontainerClassName: PropTypes.string,\n\t/**\n\t * Custom css properties applied to Spinner container\n\t */\n\tcontainerStyle: PropTypes.object,\n\t/**\n\t * Render the spinner inside of a container.\n\t */\n\thasContainer: PropTypes.bool,\n\t/**\n\t * Unique html id placed on div with role=\"status\".\n\t */\n\tid: PropTypes.string,\n\t/**\n\t * Adds delay of 300ms to the spinner\n\t */\n\tisDelayed: PropTypes.bool,\n\t/**\n\t * Add styling to support a spinner inside an input field.\n\t */\n\tisInput: PropTypes.bool,\n\t/**\n\t * Add styling to support an inline spinner inside of the document flow.\n\t */\n\tisInline: PropTypes.bool,\n\t/**\n\t * Determines the size of the spinner\n\t */\n\tsize: PropTypes.oneOf(['xx-small', 'x-small', 'small', 'medium', 'large']),\n\t/**\n\t * Determines the color of the spinner: `base` is gray, `brand` is blue, and `inverse` is white.\n\t */\n\tvariant: PropTypes.oneOf(['base', 'brand', 'inverse']),\n};\n\nconst defaultProps = {\n\tassistiveText: { label: 'Loading...' },\n\tisDelayed: false,\n\tisInline: false,\n\tisInput: false,\n\thasContainer: true,\n\tsize: 'medium',\n\tvariant: 'base',\n};\n\n/**\n * Spinners are CSS loading indicators that should be shown when retrieving data or performing slow computations. In some cases, the first time a parent component loads, a stencil is preferred to indicate network activity.\n */\nconst Spinner = (props) => {\n\tcheckProps(SPINNER, props, componentDoc);\n\tconst {\n\t\tcontainerClassName,\n\t\tcontainerStyle,\n\t\tid,\n\t\tisDelayed,\n\t\tisInline,\n\t\tisInput,\n\t\thasContainer,\n\t\tsize,\n\t\tvariant,\n\t} = props;\n\tconst assistiveText =\n\t\ttypeof props.assistiveText === 'string'\n\t\t\t? props.assistiveText\n\t\t\t: {\n\t\t\t\t\t...defaultProps.assistiveText,\n\t\t\t\t\t...props.assistiveText,\n\t\t\t }.label;\n\n\tconst spinnerClassName = classNames('slds-spinner', {\n\t\t'slds-spinner_inline': isInline,\n\t\t'slds-input__spinner': isInput,\n\t\t'slds-spinner_brand': variant === 'brand',\n\t\t'slds-spinner_inverse': variant === 'inverse',\n\t\t'slds-spinner_delayed': isDelayed,\n\t\t[`slds-spinner_${size}`]: size,\n\t});\n\n\tconst spinner = (\n\t\t<div aria-hidden=\"false\" className={spinnerClassName} id={id} role=\"status\">\n\t\t\t{assistiveText && (\n\t\t\t\t<span className=\"slds-assistive-text\">{assistiveText}</span>\n\t\t\t)}\n\t\t\t<div className=\"slds-spinner__dot-a\" />\n\t\t\t<div className=\"slds-spinner__dot-b\" />\n\t\t</div>\n\t);\n\n\treturn hasContainer ? (\n\t\t<div\n\t\t\tclassName={classNames(containerClassName, 'slds-spinner_container')}\n\t\t\tstyle={containerStyle}\n\t\t>\n\t\t\t{spinner}\n\t\t</div>\n\t) : (\n\t\tspinner\n\t);\n};\n\nSpinner.displayName = SPINNER;\nSpinner.propTypes = propTypes;\nSpinner.defaultProps = defaultProps;\n\nexport default Spinner;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n/* eslint-disable jsx-a11y/aria-activedescendant-has-tabindex */\n\n// ### React\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\nimport classNames from 'classnames';\nimport Spinner from '../../../components/spinner';\n\nimport getAriaProps from '../../../utilities/get-aria-props';\n\nconst COUNTER = 'counter';\n\nconst propTypes = {\n\t'aria-activedescendant': PropTypes.string,\n\t'aria-autocomplete': PropTypes.string,\n\t/**\n\t * An HTML ID that is shared with ARIA-supported devices with the\n\t * `aria-controls` attribute in order to relate the input with\n\t * another region of the page. An example would be a select box\n\t * that shows or hides a panel.\n\t */\n\t'aria-controls': PropTypes.string,\n\t'aria-describedby': PropTypes.string,\n\t'aria-expanded': PropTypes.bool,\n\t'aria-haspopup': PropTypes.oneOfType([PropTypes.bool, PropTypes.string]),\n\t'aria-labelledby': PropTypes.string,\n\t/**\n\t * An HTML ID that is shared with ARIA-supported devices with the\n\t * `aria-controls` attribute in order to relate the input with\n\t * another region of the page. An example would be a search field\n\t * that shows search results.\n\t */\n\t'aria-owns': PropTypes.string,\n\t'aria-required': PropTypes.bool,\n\t/**\n\t * **Assistive text for accessibility.**\n\t * This object is merged with the default props object on every render.\n\t * * `spinner`: Assistive text on the spinner.\n\t */\n\tassistiveText: PropTypes.shape({\n\t\tspinner: PropTypes.string,\n\t}),\n\t/**\n\t * Disabled brower's autocomplete when \"off\" is used.\n\t */\n\tautoComplete: PropTypes.string,\n\t/**\n\t * Class names to be added to the `input` element.\n\t */\n\tclassName: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\t/**\n\t * Class names to be added to the outer container `div` of the input.\n\t */\n\tcontainerClassName: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\t/**\n\t * Props to be added to the outer container `div` of the input (excluding `containerClassName`).\n\t */\n\tcontainerProps: PropTypes.object,\n\t/**\n\t * Disables the input and prevents editing the contents.\n\t */\n\tdisabled: PropTypes.bool,\n\t/**\n\t * Displays text or node to the left of the input. This follows the fixed text input UX pattern.\n\t */\n\tfixedTextLeft: PropTypes.oneOfType([PropTypes.node, PropTypes.string]),\n\t/**\n\t * Displays text or node to the right of the input. This follows the fixed text input UX pattern.\n\t */\n\tfixedTextRight: PropTypes.oneOfType([PropTypes.node, PropTypes.string]),\n\t/**\n\t * If true, loading spinner appears inside input on right hand side.\n\t */\n\thasSpinner: PropTypes.bool,\n\t/**\n\t * Left aligned icon, must be instance of `design-system-react/components/icon/input-icon`\n\t */\n\ticonLeft: PropTypes.node,\n\t/**\n\t * Right aligned icon, must be instance of `design-system-react/components/icon/input-icon`\n\t */\n\ticonRight: PropTypes.node,\n\t/**\n\t * Every input must have a unique ID in order to support keyboard navigation and ARIA support.\n\t */\n\tid: PropTypes.string.isRequired,\n\t/**\n\t * This callback exposes the input reference / DOM node to parent components. `<Parent inputRef={(inputComponent) => this.input = inputComponent} />\n\t */\n\tinputRef: PropTypes.func,\n\t/**\n\t * Displays the value of the input statically. This follows the static input UX pattern.\n\t */\n\tisStatic: PropTypes.bool,\n\t/**\n\t * This label appears above the input.\n\t */\n\tlabel: PropTypes.string,\n\tonBlur: PropTypes.func,\n\t/**\n\t * This callback fires when the input changes. The synthetic React event will be the first parameter to the callback. You will probably want to reference `event.target.value` in your callback. No custom data object is provided.\n\t */\n\tonChange: PropTypes.func,\n\t/**\n\t * This event fires when the input is clicked.\n\t */\n\tonClick: PropTypes.func,\n\tonFocus: PropTypes.func,\n\tonInput: PropTypes.func,\n\tonInvalid: PropTypes.func,\n\tonKeyDown: PropTypes.func,\n\tonKeyPress: PropTypes.func,\n\tonKeyUp: PropTypes.func,\n\tonSelect: PropTypes.func,\n\tonSubmit: PropTypes.func,\n\t/**\n\t * Text that will appear in an empty input.\n\t */\n\tplaceholder: PropTypes.string,\n\tminLength: PropTypes.string,\n\t/**\n\t * Specifies minimum accepted value for an input of type \"number\"\n\t */\n\tminValue: PropTypes.number,\n\tmaxLength: PropTypes.string,\n\t/**\n\t * Specifies maximum accepted value for an input of type \"number\"\n\t */\n\tmaxValue: PropTypes.number,\n\t/**\n\t * Name of the submitted form parameter.\n\t */\n\tname: PropTypes.string,\n\t/**\n\t * Specifies `readOnly` for `input` node.\n\t */\n\treadOnly: PropTypes.bool,\n\t/**\n\t * Highlights the input as a required field (does not perform any validation).\n\t */\n\trequired: PropTypes.bool,\n\t/**\n\t * `role` to be added to `input` node\n\t */\n\trole: PropTypes.string,\n\t/**\n\t * Determines the step size upon increment or decrement. Can be set to decimal values.\n\t */\n\tstep: PropTypes.number,\n\t/**\n\t * Style object to be added to `input` node\n\t */\n\tstyle: PropTypes.object,\n\t/**\n\t * Specifies `tabIndex` for `input` node\n\t */\n\ttabIndex: PropTypes.string,\n\t/**\n\t * The `<Input>` element includes support for all HTML5 types.\n\t */\n\ttype: PropTypes.oneOf([\n\t\t'text',\n\t\t'password',\n\t\t'datetime',\n\t\t'datetime-local',\n\t\t'date',\n\t\t'month',\n\t\t'time',\n\t\t'week',\n\t\t'number',\n\t\t'email',\n\t\t'url',\n\t\t'search',\n\t\t'tel',\n\t\t'color',\n\t]),\n\t/**\n\t * The input is a controlled component, and will always display this value.\n\t */\n\tvalue: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n\t/**\n\t * Which UX pattern of input? The default is `base` while other option is `counter`\n\t */\n\tvariant: PropTypes.oneOf(['base', COUNTER]),\n\t/**\n\t * This is the initial value of an uncontrolled form element and is present only to provide\n\t * compatibility with hybrid framework applications that are not entirely React. It should only\n\t * be used in an application without centralized state (Redux, Flux). \"Controlled components\"\n\t * with centralized state is highly recommended.\n\t * See [Code Overview](https://github.com/salesforce/design-system-react/blob/master/docs/codebase-overview.md#controlled-and-uncontrolled-components) for more information.\n\t */\n\tdefaultValue: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n};\n\nconst defaultProps = {\n\tassistiveText: {\n\t\tspinner: 'Loading ...',\n\t},\n\ttype: 'text',\n};\n\n/*\n * This component was created to allow the DIV wrapped input to be used within other components such as combobox. This components API is not public.\n */\nconst InnerInput = (props) => {\n\tconst ariaProps = getAriaProps(props);\n\tariaProps['aria-describedby'] = props.hasSpinner\n\t\t? `loading-status-icon ${props['aria-describedby']}`\n\t\t: props['aria-describedby'];\n\n\tconst {\n\t\tclassName: containerClassName,\n\t\t...containerProps\n\t} = props.containerProps;\n\n\tconst assistiveText = {\n\t\t...defaultProps.assistiveText,\n\t\t...props.assistiveText,\n\t};\n\n\treturn (\n\t\t<div\n\t\t\tclassName={classNames(containerClassName, {\n\t\t\t\t'slds-input-has-icon':\n\t\t\t\t\tprops.variant !== COUNTER && (props.iconLeft || props.iconRight),\n\t\t\t\t'slds-input-has-icon_left': props.iconLeft && !props.iconRight,\n\t\t\t\t'slds-input-has-icon_right': !props.iconLeft && props.iconRight,\n\t\t\t\t'slds-input-has-icon_left-right':\n\t\t\t\t\tprops.variant !== COUNTER && props.iconLeft && props.iconRight,\n\t\t\t\t'slds-input-has-fixed-addon':\n\t\t\t\t\tprops.fixedTextLeft || props.fixedTextRight,\n\t\t\t\t'slds-has-divider_bottom': props.isStatic,\n\t\t\t})}\n\t\t\t{...containerProps}\n\t\t>\n\t\t\t{props.iconLeft && props.iconLeft}\n\t\t\t{props.fixedTextLeft && (\n\t\t\t\t<span className=\"slds-form-element__addon\">{props.fixedTextLeft}</span>\n\t\t\t)}\n\n\t\t\t{!props.isStatic && (\n\t\t\t\t<input\n\t\t\t\t\tautoComplete={props.autoComplete}\n\t\t\t\t\tclassName={classNames(\n\t\t\t\t\t\t'slds-input',\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t'slds-text-align_left':\n\t\t\t\t\t\t\t\tprops.variant === COUNTER && props.readOnly,\n\t\t\t\t\t\t},\n\t\t\t\t\t\tprops.className\n\t\t\t\t\t)}\n\t\t\t\t\tdisabled={props.disabled}\n\t\t\t\t\tid={props.id}\n\t\t\t\t\tmin={props.minValue}\n\t\t\t\t\tminLength={props.minLength}\n\t\t\t\t\tmax={props.maxValue}\n\t\t\t\t\tmaxLength={props.maxLength}\n\t\t\t\t\tname={props.name}\n\t\t\t\t\tonBlur={props.onBlur}\n\t\t\t\t\tonChange={props.onChange}\n\t\t\t\t\tonClick={props.onClick}\n\t\t\t\t\tonFocus={props.onFocus}\n\t\t\t\t\tonInput={props.onInput}\n\t\t\t\t\tonInvalid={props.onInvalid}\n\t\t\t\t\tonKeyDown={props.onKeyDown}\n\t\t\t\t\tonKeyPress={props.onKeyPress}\n\t\t\t\t\tonKeyUp={props.onKeyUp}\n\t\t\t\t\tonSelect={props.onSelect}\n\t\t\t\t\tonSubmit={props.onSubmit}\n\t\t\t\t\tplaceholder={props.placeholder}\n\t\t\t\t\treadOnly={props.readOnly}\n\t\t\t\t\tref={props.inputRef}\n\t\t\t\t\trequired={props.required}\n\t\t\t\t\trole={props.role}\n\t\t\t\t\tstep={props.step}\n\t\t\t\t\tstyle={props.style}\n\t\t\t\t\ttabIndex={props.tabIndex}\n\t\t\t\t\ttype={props.type}\n\t\t\t\t\t{...ariaProps}\n\t\t\t\t\t/* A form element should not have both value and defaultValue props. */\n\t\t\t\t\t{...(props.value !== undefined\n\t\t\t\t\t\t? { value: props.value }\n\t\t\t\t\t\t: { defaultValue: props.defaultValue })}\n\t\t\t\t/>\n\t\t\t)}\n\n\t\t\t{props.hasSpinner ? (\n\t\t\t\t<div className=\"slds-input__icon-group slds-input__icon-group_right\">\n\t\t\t\t\t<Spinner\n\t\t\t\t\t\tassistiveText={{ label: assistiveText.spinner }}\n\t\t\t\t\t\tid=\"loading-status-icon\"\n\t\t\t\t\t\tisInput\n\t\t\t\t\t\tsize=\"x-small\"\n\t\t\t\t\t\tvariant=\"brand\"\n\t\t\t\t\t/>\n\t\t\t\t\t{props.iconRight && props.iconRight}\n\t\t\t\t</div>\n\t\t\t) : (\n\t\t\t\tprops.iconRight && props.iconRight\n\t\t\t)}\n\n\t\t\t{props.fixedTextRight && (\n\t\t\t\t<span className=\"slds-form-element__addon\">{props.fixedTextRight}</span>\n\t\t\t)}\n\n\t\t\t{/* eslint-disable jsx-a11y/no-static-element-interactions */}\n\t\t\t{props.isStatic && (\n\t\t\t\t<span\n\t\t\t\t\tclassName={classNames('slds-form-element__static', 'slds-grid', {\n\t\t\t\t\t\t'slds-grid_align-spread': props.variant !== COUNTER,\n\t\t\t\t\t})}\n\t\t\t\t\tonClick={props.onClick}\n\t\t\t\t>\n\t\t\t\t\t{props.value}\n\t\t\t\t\t{props.inlineEditTrigger}\n\t\t\t\t</span>\n\t\t\t)}\n\t\t\t{/* eslint-enable jsx-a11y/no-static-element-interactions */}\n\t\t</div>\n\t);\n};\n\nInnerInput.displayName = 'SLDSInnerInput';\nInnerInput.propTypes = propTypes;\nInnerInput.defaultProps = defaultProps;\n\nexport default InnerInput;\n","/* eslint-disable react/jsx-curly-brace-presence */\n/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\n\nconst propTypes = {\n\t/*\n\t * Assistive Text to use instead of a visible label\n\t */\n\tassistiveText: PropTypes.object,\n\t/**\n\t * Class names to be added to the label\n\t */\n\tclassName: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\t/*\n\t * Id of the input associated with this label\n\t */\n\thtmlFor: PropTypes.string,\n\t/*\n\t * Input Label\n\t */\n\tlabel: PropTypes.string,\n\t/*\n\t * Applies label styling for a required form element\n\t */\n\trequired: PropTypes.bool,\n\t/**\n\t * Changes markup of label.\n\t */\n\tvariant: PropTypes.oneOf(['base', 'static']),\n};\n\nconst defaultProps = {\n\tvariant: 'base',\n};\n\n/*\n * Form label. This returns null if there is no label text (hidden or shown)\n */\nconst Label = (props) => {\n\tconst labelText =\n\t\tprops.label || (props.assistiveText && props.assistiveText.label); // One of these is required to pass accessibility tests\n\n\tconst subRenders = {\n\t\tbase: (\n\t\t\t<label\n\t\t\t\tclassName={classNames(\n\t\t\t\t\t'slds-form-element__label',\n\t\t\t\t\t{\n\t\t\t\t\t\t'slds-assistive-text': props.assistiveText && !props.label,\n\t\t\t\t\t},\n\t\t\t\t\tprops.className\n\t\t\t\t)}\n\t\t\t\thtmlFor={props.htmlFor}\n\t\t\t>\n\t\t\t\t{props.required && (\n\t\t\t\t\t<abbr className=\"slds-required\" title=\"required\">\n\t\t\t\t\t\t{'*'}\n\t\t\t\t\t</abbr>\n\t\t\t\t)}\n\t\t\t\t{labelText}\n\t\t\t</label>\n\t\t),\n\t\tstatic: (\n\t\t\t<span className={classNames('slds-form-element__label', props.className)}>\n\t\t\t\t{labelText}\n\t\t\t</span>\n\t\t),\n\t};\n\n\treturn labelText ? subRenders[props.variant] : null;\n};\n\nLabel.displayName = 'Label';\nLabel.propTypes = propTypes;\nLabel.defaultProps = defaultProps;\n\nexport default Label;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n/* eslint-disable import/no-mutable-exports */\n/* eslint-disable max-len */\n\nimport deprecatedProperty from '../../utilities/warning/deprecated-property';\nimport sunsetProperty from '../../utilities/warning/sunset-property';\n// import oneOfRequiredProperty from '../../../utilities/warning/one-of-required-property';\nimport onlyOneOfProperties from '../../utilities/warning/only-one-of-properties';\nimport getComponentDocFn from '../../utilities/get-component-doc';\n\nimport { INPUT, SEARCH } from '../../utilities/constants';\n\nlet checkProps = function checkPropsFunction() {};\n\nif (process.env.NODE_ENV !== 'production') {\n\tcheckProps = function checkPropsFunction(COMPONENT, props = {}, jsonDoc) {\n\t\tconst createDocUrl = getComponentDocFn(jsonDoc);\n\n\t\tif (COMPONENT === INPUT) {\n\t\t\tconst iconDeprecatedMessage = `Please use \\`iconLeft\\` and \\`iconRight\\` to pass in a customized <Icon> component. ${createDocUrl()}`;\n\n\t\t\t// Deprecated and changed to another property\n\t\t\tdeprecatedProperty(\n\t\t\t\tCOMPONENT,\n\t\t\t\tprops.assistiveText && props.assistiveText.fieldLevelHelpButton,\n\t\t\t\t'assistiveText.fieldLevelHelpButton',\n\t\t\t\tundefined,\n\t\t\t\t`Please pass a \\`Tooltip\\` component into \\`fieldLevelHelpTooltip\\` with \\`assistiveText.triggerLearnMoreIcon\\`.`\n\t\t\t);\n\t\t\tdeprecatedProperty(\n\t\t\t\tCOMPONENT,\n\t\t\t\tprops.iconCategory,\n\t\t\t\t'iconCategory',\n\t\t\t\tundefined,\n\t\t\t\ticonDeprecatedMessage\n\t\t\t);\n\t\t\tdeprecatedProperty(\n\t\t\t\tCOMPONENT,\n\t\t\t\tprops.iconName,\n\t\t\t\t'iconName',\n\t\t\t\tundefined,\n\t\t\t\ticonDeprecatedMessage\n\t\t\t);\n\t\t\tdeprecatedProperty(\n\t\t\t\tCOMPONENT,\n\t\t\t\tprops.iconPosition,\n\t\t\t\t'iconPosition',\n\t\t\t\tundefined,\n\t\t\t\ticonDeprecatedMessage\n\t\t\t);\n\t\t\tdeprecatedProperty(\n\t\t\t\tCOMPONENT,\n\t\t\t\tprops.iconAssistiveText,\n\t\t\t\t'iconAssistiveText',\n\t\t\t\tundefined,\n\t\t\t\ticonDeprecatedMessage\n\t\t\t);\n\t\t\tdeprecatedProperty(\n\t\t\t\tCOMPONENT,\n\t\t\t\tprops.onIconClick,\n\t\t\t\t'onIconClick',\n\t\t\t\tundefined,\n\t\t\t\ticonDeprecatedMessage\n\t\t\t);\n\n\t\t\tif (typeof props.assistiveText === 'string') {\n\t\t\t\tsunsetProperty(\n\t\t\t\t\tCOMPONENT,\n\t\t\t\t\tprops.assistiveText,\n\t\t\t\t\t'assistiveText',\n\t\t\t\t\t`AssistiveText as a string has been deprecated and is now an object to allow for multiple uses in the component. Please use either assistiveText.label or assistiveText.spinner. ${createDocUrl(\n\t\t\t\t\t\t'assistiveText'\n\t\t\t\t\t)}`\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tonlyOneOfProperties(\n\t\t\t\tCOMPONENT,\n\t\t\t\t{\n\t\t\t\t\t'assistiveText.label':\n\t\t\t\t\t\tprops.assistiveText && props.assistiveText.label,\n\t\t\t\t\tlabel: props.label,\n\t\t\t\t},\n\t\t\t\tcreateDocUrl('assistiveText')\n\t\t\t);\n\n\t\t\tonlyOneOfProperties(\n\t\t\t\tCOMPONENT,\n\t\t\t\t{\n\t\t\t\t\tfixedTextLeft: props.fixedTextLeft,\n\t\t\t\t\tfixedTextRight: props.fixedTextRight,\n\t\t\t\t},\n\t\t\t\tcreateDocUrl('assistiveText')\n\t\t\t);\n\n\t\t\t/*\n\t\t\t* Once we support horizontal labels, then I think we can enable this check\n\t\t\t*\n\t\t\tif (!props.inlineEditTrigger) {\n\t\t\t\toneOfRequiredProperty(COMPONENT, {\n\t\t\t\t\tassistiveText: props.assistiveText,\n\t\t\t\t\tlabel: props.label\n\t\t\t\t});\n\t\t\t}\n\t\t\t*/\n\t\t} else if (COMPONENT === SEARCH) {\n\t\t\tif (typeof props.assistiveText === 'string') {\n\t\t\t\tsunsetProperty(\n\t\t\t\t\tCOMPONENT,\n\t\t\t\t\tprops.assistiveText,\n\t\t\t\t\t'assistiveText',\n\t\t\t\t\t`\\`assistiveText\\` as a string has been deprecated and is now an object to allow for multiple uses in the component. Please use \\`assistiveText.label\\` instead. ${createDocUrl(\n\t\t\t\t\t\t'assistiveText'\n\t\t\t\t\t)}`\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\t};\n}\n\nexport default checkProps;\n","/*\n * Remove keys with undefined values. This is useful\n * for merging object props like `assistiveText` and `labels`\n * and keeping default prop values.\n */\n\nconst removeUndefined = (obj) => {\n\tconst newObj = {};\n\tObject.keys(obj).forEach((prop) => {\n\t\tif (typeof obj[prop] !== 'undefined') {\n\t\t\tnewObj[prop] = obj[prop];\n\t\t}\n\t});\n\treturn newObj;\n};\n\nconst helpers = { removeUndefined };\n\nexport default helpers;\n","/*\n * Field Level Help Tooltip for input labels\n */\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\nimport Tooltip from '../index';\nimport objectHelpers from '../../../utilities/object';\n\nconst propTypes = {\n\t/*\n\t * Assistive Text object from parent component such as Input, Combobox, etc.\n\t */\n\tassistiveText: PropTypes.shape({\n\t\ttriggerLearnMoreIcon: PropTypes.string,\n\t}),\n\t/*\n\t * Tooltip from external prop\n\t */\n\tfieldLevelHelpTooltip: PropTypes.node.isRequired,\n};\n\nconst defaultProps = {\n\ttriggerClassName: 'slds-form-element__icon',\n\t// This allows `position: absolute` Tooltips to align properly.\n\t// If not present, tooltip will always be below the info icon // instead of above it.\n\ttriggerStyle: { position: 'static' },\n\tvariant: 'learnMore',\n};\n\nconst FieldLevelHelpTooltip = ({ fieldLevelHelpTooltip, assistiveText = {} }) =>\n\tfieldLevelHelpTooltip ? (\n\t\t<Tooltip\n\t\t\t{...{\n\t\t\t\t// internal default props\n\t\t\t\t...defaultProps,\n\t\t\t\t// props from external developer\n\t\t\t\t...fieldLevelHelpTooltip.props,\n\t\t\t\t// allow backwards compatibility with Input's\n\t\t\t\t// assistiveText.fieldLevelHelpButton\n\t\t\t\t// `Input` used to have an `assistiveText.fieldLevelHelpButton`\n\t\t\t\t// prop and that prop needs to override the default Tooltip\n\t\t\t\t// \"Help\" string.\n\t\t\t\tassistiveText: {\n\t\t\t\t\t...fieldLevelHelpTooltip.props.assistiveText,\n\t\t\t\t\t...objectHelpers.removeUndefined(assistiveText),\n\t\t\t\t},\n\t\t\t}}\n\t\t/>\n\t) : null;\n\nFieldLevelHelpTooltip.propTypes = propTypes;\nFieldLevelHelpTooltip.displayName = 'FieldLevelHelpTooltip';\n\nexport default FieldLevelHelpTooltip;\n","/* eslint-disable max-lines */\n/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// # Input Component\n\n// Implements the [Input design pattern](https://lightningdesignsystem.com/components/forms/#flavor-input) in React. Does not yet implement [fixed text](https://lightningdesignsystem.com/components/forms/#flavor-input-input-fixed-text).\n// Based on SLDS v2.2.1\n//\n\n// ### React\nimport React from 'react';\n\nimport PropTypes from 'prop-types';\n\n// ### classNames\n// [github.com/JedWatson/classnames](https://github.com/JedWatson/classnames)\n// This project uses `classnames`, \"a simple javascript utility for conditionally\n// joining classNames together.\"\nimport classNames from 'classnames';\n\n// ### shortid\n// [npmjs.com/package/shortid](https://www.npmjs.com/package/shortid)\n// shortid is a short, non-sequential, url-friendly, unique id generator\nimport shortid from 'shortid';\n\nimport Button from '../button';\n\n// ## Children\nimport InputIcon from '../icon/input-icon';\nimport InnerInput from './private/inner-input';\nimport Label from '../utilities/label';\n\n// This component's `checkProps` which issues warnings to developers about properties when in development mode (similar to React's built in development tools)\nimport checkProps from './check-props';\n\nimport { INPUT } from '../../utilities/constants';\nimport componentDoc from './component.json';\nimport FieldLevelHelpTooltip from '../tooltip/private/field-level-help-tooltip';\n\nconst COUNTER = 'counter';\nconst DECREMENT = 'Decrement';\nconst INCREMENT = 'Increment';\n\nconst defaultProps = {\n\tassistiveText: {\n\t\tdecrement: `${DECREMENT} ${COUNTER}`,\n\t\tincrement: `${INCREMENT} ${COUNTER}`,\n\t},\n\ttype: 'text',\n};\n\n/**\n * The HTML `input` with a label and error messaging.\n */\nclass Input extends React.Component {\n\tstatic displayName = INPUT;\n\n\tstatic propTypes = {\n\t\t/**\n\t\t * The aria-activedescendant attribute contains the ID of the currently active child object that is part of a composite widget within the Document Object Model. It makes do with the overhead of having all or more than one child focusable. As the name specifies, it helps in managing the current active child of the composite widget.\n\t\t */\n\t\t'aria-activedescendant': PropTypes.string,\n\t\t/**\n\t\t * Indicates if the suggestions in a composite widget are values that complete the current textbox input.\n\t\t */\n\t\t'aria-autocomplete': PropTypes.string,\n\t\t/**\n\t\t * An HTML ID that is shared with ARIA-supported devices with the\n\t\t * `aria-controls` attribute in order to relate the input with\n\t\t * another region of the page. An example would be a select box\n\t\t * that shows or hides a panel.\n\t\t */\n\t\t'aria-controls': PropTypes.string,\n\t\t/**\n\t\t * The `aria-describedby` attribute is used to indicate the IDs of the elements that describe the object. It is used to establish a relationship between widgets or groups and text that described them. This is very similar to aria-labelledby: a label describes the essence of an object, while a description provides more information that the user might need.\n\t\t */\n\t\t'aria-describedby': PropTypes.string,\n\t\t/**\n\t\t * Use the `aria-expanded` state to indicate whether regions of the content are collapsible, and to expose whether a region is currently expanded or collapsed.\n\t\t */\n\t\t'aria-expanded': PropTypes.bool,\n\t\t/**\n\t\t * Indicates that the element has a popup context menu or sub-level menu.\n\t\t */\n\t\t'aria-haspopup': PropTypes.bool,\n\t\t/**\n\t\t * The aria-labelledby attribute contains the element IDs of labels in objects such as input elements, widgets, and groups. The attribute establishes relationships between objects and their labels. Assistive technology, such as screen readers, use this attribute to catalog the objects in a document so that users can navigate between them. Without an element ID, the assistive technology cannot catalog the object.\n\t\t */\n\t\t'aria-labelledby': PropTypes.string,\n\t\t/**\n\t\t * An HTML ID that is shared with ARIA-supported devices with the\n\t\t * `aria-controls` attribute in order to relate the input with\n\t\t * another region of the page. An example would be a search field\n\t\t * that shows search results.\n\t\t */\n\t\t'aria-owns': PropTypes.string,\n\t\t/**\n\t\t * The `aria-required` attribute is used to indicate that user input is required on an element before a form can be submitted.\n\t\t */\n\t\t'aria-required': PropTypes.bool,\n\t\t/**\n\t\t * **Assistive text for accessibility**\n\t\t * * `label`: Visually hidden label but read out loud by screen readers.\n\t\t * * `spinner`: Text for loading spinner icon.\n\t\t */\n\t\tassistiveText: PropTypes.shape({\n\t\t\tlabel: PropTypes.string,\n\t\t\tspinner: PropTypes.string,\n\t\t}),\n\t\t/**\n\t\t * Disabled brower's autocomplete when \"off\" is used.\n\t\t */\n\t\tautoComplete: PropTypes.string,\n\t\t/**\n\t\t * Elements are added after the `input`.\n\t\t */\n\t\tchildren: PropTypes.node,\n\t\t/**\n\t\t * Class names to be added to the outer container of the input.\n\t\t */\n\t\tclassName: PropTypes.oneOfType([\n\t\t\tPropTypes.array,\n\t\t\tPropTypes.object,\n\t\t\tPropTypes.string,\n\t\t]),\n\t\t/**\n\t\t * This is the initial value of an uncontrolled form element and\n\t\t * is present only to provide compatibility with hybrid framework\n\t\t * applications that are not entirely React. It should only be used\n\t\t * in an application without centralized state (Redux, Flux).\n\t\t * \"Controlled components\" with centralized state is highly recommended.\n\t\t * See [Code Overview](https://github.com/salesforce/design-system-react/blob/master/docs/codebase-overview.md#controlled-and-uncontrolled-components) for more information.\n\t\t */\n\t\tdefaultValue: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n\t\t/**\n\t\t * Disables the input and prevents editing the contents.\n\t\t */\n\t\tdisabled: PropTypes.bool,\n\t\t/**\n\t\t * Message to display when the input is in an error state. When this is present, also visually highlights the component as in error.\n\t\t */\n\t\terrorText: PropTypes.oneOfType([PropTypes.node, PropTypes.string]),\n\t\t/**\n\t\t * A [Tooltip](https://react.lightningdesignsystem.com/components/tooltips/) component that is displayed next to the label.\n\t\t */\n\t\tfieldLevelHelpTooltip: PropTypes.node,\n\t\t/**\n\t\t * Displays text or node to the left of the input. This follows the fixed text input UX pattern.\n\t\t */\n\t\tfixedTextLeft: PropTypes.oneOfType([PropTypes.node, PropTypes.string]),\n\t\t/**\n\t\t * Displays text or node to the right of the input. This follows the fixed text input UX pattern.\n\t\t */\n\t\tfixedTextRight: PropTypes.oneOfType([PropTypes.node, PropTypes.string]),\n\t\t/**\n\t\t * If true, loading spinner appears inside input on right hand side.\n\t\t */\n\t\thasSpinner: PropTypes.bool,\n\t\t/**\n\t\t * Left aligned icon, must be instace of `design-system-react/components/icon/input-icon`\n\t\t */\n\t\ticonLeft: PropTypes.node,\n\t\t/**\n\t\t * Right aligned icon, must be instace of `design-system-react/components/icon/input-icon`\n\t\t */\n\t\ticonRight: PropTypes.node,\n\t\t/**\n\t\t * Every input must have a unique ID in order to support keyboard navigation and ARIA support.\n\t\t */\n\t\tid: PropTypes.string,\n\t\t/**\n\t\t * Displays help text under the input.\n\t\t */\n\t\tinlineHelpText: PropTypes.oneOfType([PropTypes.node, PropTypes.string]),\n\t\t/**\n\t\t * This callback exposes the input reference / DOM node to parent components. `<Parent inputRef={(inputComponent) => this.input = inputComponent} />\n\t\t */\n\t\tinputRef: PropTypes.func,\n\t\t/**\n\t\t * Displays the value of the input statically. This follows the static input UX pattern.\n\t\t */\n\t\tisStatic: PropTypes.bool,\n\t\t/**\n\t\t * This label appears above the input.\n\t\t */\n\t\tlabel: PropTypes.string,\n\t\t/**\n\t\t * Triggered when focus is removed.\n\t\t */\n\t\tonBlur: PropTypes.func,\n\t\t/**\n\t\t * This callback fires when the input changes. Passes in `event, { value }`.\n\t\t */\n\t\tonChange: PropTypes.func,\n\t\t/**\n\t\t * This event fires when the input is clicked.\n\t\t */\n\t\tonClick: PropTypes.func,\n\t\t/**\n\t\t * Triggered when component is focused.\n\t\t */\n\t\tonFocus: PropTypes.func,\n\t\t/**\n\t\t * Similar to `onchange`. Triggered when an element gets user input.\n\t\t */\n\t\tonInput: PropTypes.func,\n\t\t/**\n\t\t * Triggered when a submittable `<input>` element is invalid.\n\t\t */\n\t\tonInvalid: PropTypes.func,\n\t\t/**\n\t\t * Triggered when a key is pressed down\n\t\t */\n\t\tonKeyDown: PropTypes.func,\n\t\t/**\n\t\t * Triggered when a key is pressed and released\n\t\t */\n\t\tonKeyPress: PropTypes.func,\n\t\t/**\n\t\t * Triggered when a key is released\n\t\t */\n\t\tonKeyUp: PropTypes.func,\n\t\t/**\n\t\t * Triggered after some text has been selected in an element.\n\t\t */\n\t\tonSelect: PropTypes.func,\n\t\t/**\n\t\t * Fires when a form is submitted.\n\t\t */\n\t\tonSubmit: PropTypes.func,\n\t\t/**\n\t\t * Text that will appear in an empty input.\n\t\t */\n\t\tplaceholder: PropTypes.string,\n\t\t/**\n\t\t * Sets the minimum number of characters that an `<input>` can accept.\n\t\t */\n\t\tminLength: PropTypes.string,\n\t\t/**\n\t\t * Specifies minimum accepted value for a counter input\n\t\t */\n\t\tminValue: PropTypes.number,\n\t\t/**\n\t\t * Sets the maximum number of characters that an `<input>` can accept.\n\t\t */\n\t\tmaxLength: PropTypes.string,\n\t\t/**\n\t\t * Specifies maximum accepted value for a counter input\n\t\t */\n\t\tmaxValue: PropTypes.number,\n\t\t/**\n\t\t * Name of the submitted form parameter.\n\t\t */\n\t\tname: PropTypes.string,\n\t\t/**\n\t\t * Displays the value of the input as read-only. This is used in the inline edit UX pattern.\n\t\t */\n\t\treadOnly: PropTypes.bool,\n\t\t/**\n\t\t * Highlights the input as a required field (does not perform any validation).\n\t\t */\n\t\trequired: PropTypes.bool,\n\t\t/**\n\t\t * ARIA role\n\t\t */\n\t\trole: PropTypes.string,\n\t\t/**\n\t\t * Determines the step size upon increment or decrement. Can be set to decimal values.\n\t\t */\n\t\tstep: PropTypes.number,\n\t\t/**\n\t\t * styles to be added to input\n\t\t */\n\t\tstyleInput: PropTypes.object,\n\t\t/**\n\t\t * Custom styles to be passed to the component container\n\t\t */\n\t\tstyleContainer: PropTypes.object,\n\t\t/**\n\t\t * The `<Input>` element includes support for all HTML5 types.\n\t\t */\n\t\ttype: PropTypes.oneOf([\n\t\t\t'text',\n\t\t\t'password',\n\t\t\t'datetime',\n\t\t\t'datetime-local',\n\t\t\t'date',\n\t\t\t'month',\n\t\t\t'time',\n\t\t\t'week',\n\t\t\t'number',\n\t\t\t'email',\n\t\t\t'url',\n\t\t\t'search',\n\t\t\t'tel',\n\t\t\t'color',\n\t\t]),\n\t\t/**\n\t\t * The input is a controlled component, and will always display this value.\n\t\t */\n\t\tvalue: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n\t\t/**\n\t\t * Which UX pattern of input? The default is `base` while other option is `counter`\n\t\t */\n\t\tvariant: PropTypes.oneOf(['base', COUNTER]),\n\t};\n\n\tstatic defaultProps = defaultProps;\n\n\tconstructor(props) {\n\t\tsuper(props);\n\t\tthis.inputRef = null;\n\t\tthis.stepping = {\n\t\t\tcurrentDelay: 500,\n\t\t\tinitialDelay: 500,\n\t\t\tspeedDelay: 75,\n\t\t\ttimeout: {},\n\t\t};\n\n\t\t// `checkProps` issues warnings to developers about properties (similar to React's built in development tools)\n\t\tcheckProps(INPUT, props, componentDoc);\n\n\t\tthis.generatedId = shortid.generate();\n\t\tif (props.errorText) {\n\t\t\tthis.generatedErrorId = shortid.generate();\n\t\t}\n\t}\n\n\tgetId = () => this.props.id || this.generatedId;\n\n\tgetErrorId = () => this.props['aria-describedby'] || this.generatedErrorId;\n\n\tgetValueAsNumber = () => {\n\t\tlet value = 0;\n\n\t\tif (this.props.value !== undefined) {\n\t\t\tvalue = Number(this.props.value);\n\t\t} else if (this.inputRef) {\n\t\t\tvalue = Number(this.inputRef.value);\n\t\t}\n\n\t\treturn value;\n\t};\n\n\tgetCounterButtonIcon = (direction) => {\n\t\tconst value = this.getValueAsNumber();\n\t\tlet disabled = false;\n\n\t\tif (\n\t\t\tthis.props.disabled ||\n\t\t\t(direction === INCREMENT &&\n\t\t\t\tthis.props.maxValue !== undefined &&\n\t\t\t\tvalue >= this.props.maxValue) ||\n\t\t\t(direction === DECREMENT &&\n\t\t\t\tthis.props.minValue !== undefined &&\n\t\t\t\tvalue <= this.props.minValue)\n\t\t) {\n\t\t\tdisabled = true;\n\t\t}\n\n\t\treturn (\n\t\t\t<Button\n\t\t\t\tassistiveText={{\n\t\t\t\t\ticon: this.props.assistiveText[direction.toLowerCase()],\n\t\t\t\t}}\n\t\t\t\tclassName={classNames(\n\t\t\t\t\t'slds-button_icon-small',\n\t\t\t\t\t`slds-input__button_${direction.toLowerCase()}`\n\t\t\t\t)}\n\t\t\t\tdisabled={disabled}\n\t\t\t\ticonCategory=\"utility\"\n\t\t\t\ticonName={direction === DECREMENT ? 'ban' : 'new'}\n\t\t\t\tonKeyDown={(event) => {\n\t\t\t\t\tif (event.keyCode === 13) {\n\t\t\t\t\t\tthis.performStep(direction, event);\n\t\t\t\t\t}\n\t\t\t\t}}\n\t\t\t\tonKeyUp={this.stopStepping}\n\t\t\t\tonMouseDown={(event) => {\n\t\t\t\t\tthis.performStep(direction, event);\n\t\t\t\t}}\n\t\t\t\tonMouseLeave={this.stopStepping}\n\t\t\t\tonMouseUp={this.stopStepping}\n\t\t\t\tvariant=\"icon\"\n\t\t\t/>\n\t\t);\n\t};\n\n\t// This is convoluted to maintain backwards compatibility. Please remove deprecatedProps on next breaking change.\n\tgetIconRender = (position, iconPositionProp) => {\n\t\tlet icon;\n\n\t\t// Remove at next breaking change\n\t\t/* eslint-disable react/prop-types */\n\t\tconst deprecatedProps = {\n\t\t\tassistiveText: {\n\t\t\t\ticon:\n\t\t\t\t\t(this.props[iconPositionProp] &&\n\t\t\t\t\t\tthis.props[iconPositionProp].props.assistiveText) ||\n\t\t\t\t\tthis.props.iconAssistiveText,\n\t\t\t},\n\t\t\tcategory:\n\t\t\t\t(this.props[iconPositionProp] &&\n\t\t\t\t\tthis.props[iconPositionProp].props.category) ||\n\t\t\t\tthis.props.iconCategory,\n\t\t\tname:\n\t\t\t\t(this.props[iconPositionProp] &&\n\t\t\t\t\tthis.props[iconPositionProp].props.name) ||\n\t\t\t\tthis.props.iconName,\n\t\t\tonClick:\n\t\t\t\t(this.props[iconPositionProp] &&\n\t\t\t\t\tthis.props[iconPositionProp].props.onClick) ||\n\t\t\t\tthis.props.onIconClick,\n\t\t};\n\t\t/* eslint-enable react/prop-types */\n\n\t\tif (\n\t\t\tthis.props[iconPositionProp] &&\n\t\t\tposition &&\n\t\t\tthis.props[iconPositionProp]\n\t\t) {\n\t\t\ticon = React.cloneElement(this.props[iconPositionProp], {\n\t\t\t\ticonPosition: `${position}`,\n\t\t\t});\n\t\t} else if (deprecatedProps.name) {\n\t\t\ticon = <InputIcon iconPosition={position} {...deprecatedProps} />;\n\t\t}\n\n\t\treturn icon;\n\t};\n\n\tsetInputRef = (ref) => {\n\t\tthis.inputRef = ref;\n\t\tif (this.props.inputRef) {\n\t\t\tthis.props.inputRef(ref);\n\t\t}\n\t};\n\n\thandleChange = (event) => {\n\t\tif (this.props.onChange) {\n\t\t\tconst data = {\n\t\t\t\tvalue: event.target.value,\n\t\t\t};\n\n\t\t\tif (this.props.variant === COUNTER) {\n\t\t\t\tdata.number = Number(data.value);\n\t\t\t}\n\n\t\t\tthis.props.onChange(event, data);\n\t\t}\n\t};\n\n\tperformStep = (direction, event) => {\n\t\tclearTimeout(this.stepping.timeout);\n\n\t\tconst { maxValue } = this.props;\n\t\tconst { minValue } = this.props;\n\t\tconst step = this.props.step !== undefined ? Number(this.props.step) : 1;\n\t\tlet value = this.getValueAsNumber();\n\t\tlet valueChanged = false;\n\n\t\tif (direction === DECREMENT && maxValue !== undefined && value > maxValue) {\n\t\t\tvalue = Number(maxValue);\n\t\t\tvalueChanged = true;\n\t\t} else if (\n\t\t\tdirection === INCREMENT &&\n\t\t\tminValue !== undefined &&\n\t\t\tvalue < minValue\n\t\t) {\n\t\t\tvalue = Number(minValue);\n\t\t\tvalueChanged = true;\n\t\t} else {\n\t\t\tconst decimalPlaces =\n\t\t\t\tString(step).search(/\\./) >= 0 ? String(step).split('.')[1].length : 0;\n\t\t\tlet minOverflow = 0;\n\n\t\t\tif (minValue !== undefined) {\n\t\t\t\tminOverflow = (value - minValue) % step;\n\t\t\t}\n\n\t\t\tif (minOverflow > 0) {\n\t\t\t\t// Default browser inputs of type number with a min attribute alter the value upon change as needed so\n\t\t\t\t// that with enough decrements it can reach the exact min value. This behavior is reflected here\n\t\t\t\tvalue =\n\t\t\t\t\tdirection === DECREMENT\n\t\t\t\t\t\t? value - minOverflow\n\t\t\t\t\t\t: value + (step - minOverflow);\n\t\t\t} else {\n\t\t\t\tvalue = direction === DECREMENT ? value - step : value + step;\n\t\t\t}\n\n\t\t\tvalue = Number(value.toFixed(decimalPlaces));\n\n\t\t\tif (\n\t\t\t\t!(maxValue !== undefined && value > maxValue) &&\n\t\t\t\t!(minValue !== undefined && value < minValue)\n\t\t\t) {\n\t\t\t\tvalueChanged = true;\n\t\t\t}\n\t\t}\n\n\t\tif (valueChanged) {\n\t\t\t/*\n\t\t\t * Use of `this.forceUpdate` is an anti-pattern. This code only executes if this `input` element is uncontrolled which this library believes is an anti-pattern, also. This code is only present to allow for the edge case of uncontrolled use of an `input`.\n\t\t\t */\n\t\t\tif (this.props.value === undefined && this.inputRef) {\n\t\t\t\tthis.inputRef.value = String(value);\n\t\t\t\tthis.forceUpdate();\n\t\t\t} else if (this.props.onChange) {\n\t\t\t\tthis.props.onChange(event, {\n\t\t\t\t\tnumber: value,\n\t\t\t\t\tvalue: String(value),\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\n\t\tif (\n\t\t\t(direction === INCREMENT &&\n\t\t\t\tmaxValue !== undefined &&\n\t\t\t\tvalue >= maxValue) ||\n\t\t\t(direction === DECREMENT && minValue !== undefined && value <= minValue)\n\t\t) {\n\t\t\tthis.stopStepping();\n\t\t} else {\n\t\t\tthis.stepping.timeout = setTimeout(() => {\n\t\t\t\tthis.stepping.currentDelay = this.stepping.speedDelay;\n\t\t\t\tthis.performStep(direction);\n\t\t\t}, this.stepping.currentDelay);\n\t\t}\n\t};\n\n\tstopStepping = () => {\n\t\tclearTimeout(this.stepping.timeout);\n\t\tthis.stepping.currentDelay = this.stepping.initialDelay;\n\t};\n\n\trender() {\n\t\tconst assistiveText = {\n\t\t\t...defaultProps.assistiveText,\n\t\t\t...this.props.assistiveText,\n\t\t};\n\t\tconst inputRef =\n\t\t\tthis.props.variant === COUNTER ? this.setInputRef : this.props.inputRef;\n\t\tlet iconLeft = null;\n\t\tlet iconRight = null;\n\n\t\tconst hasRenderedLabel =\n\t\t\tthis.props.label || (assistiveText && assistiveText.label);\n\n\t\t// Remove at next breaking change\n\t\t// this is a hack to make left the default prop unless overwritten by `iconPosition=\"right\"`\n\t\tif (\n\t\t\t!!this.props.iconLeft ||\n\t\t\t((this.props.iconPosition === 'left' ||\n\t\t\t\tthis.props.iconPosition === undefined) &&\n\t\t\t\t!!this.props.iconName)\n\t\t) {\n\t\t\ticonLeft = this.getIconRender('left', 'iconLeft');\n\t\t} else if (\n\t\t\tthis.props.variant === COUNTER &&\n\t\t\t!this.props.isStatic &&\n\t\t\t!this.props.readOnly\n\t\t) {\n\t\t\ticonLeft = this.getCounterButtonIcon(DECREMENT);\n\t\t}\n\n\t\tif (\n\t\t\t!!this.props.iconRight ||\n\t\t\t(this.props.iconPosition === 'right' && !!this.props.iconName)\n\t\t) {\n\t\t\ticonRight = this.getIconRender('right', 'iconRight');\n\t\t} else if (\n\t\t\tthis.props.variant === COUNTER &&\n\t\t\t!this.props.isStatic &&\n\t\t\t!this.props.readOnly\n\t\t) {\n\t\t\ticonRight = this.getCounterButtonIcon(INCREMENT);\n\t\t}\n\n\t\treturn (\n\t\t\t<div\n\t\t\t\tclassName={classNames(\n\t\t\t\t\t'slds-form-element',\n\t\t\t\t\t{\n\t\t\t\t\t\t'slds-has-error': this.props.errorText,\n\t\t\t\t\t},\n\t\t\t\t\tthis.props.className\n\t\t\t\t)}\n\t\t\t\tstyle={this.props.styleContainer}\n\t\t\t>\n\t\t\t\t<Label\n\t\t\t\t\tassistiveText={assistiveText}\n\t\t\t\t\thtmlFor={this.props.isStatic ? undefined : this.getId()}\n\t\t\t\t\tlabel={this.props.label}\n\t\t\t\t\trequired={this.props.required}\n\t\t\t\t\tvariant={this.props.isStatic ? 'static' : 'base'}\n\t\t\t\t/>\n\t\t\t\t{this.props.fieldLevelHelpTooltip && hasRenderedLabel ? (\n\t\t\t\t\t<FieldLevelHelpTooltip\n\t\t\t\t\t\tassistiveText={{\n\t\t\t\t\t\t\ttriggerLearnMoreIcon: assistiveText.fieldLevelHelpButton,\n\t\t\t\t\t\t}}\n\t\t\t\t\t\tfieldLevelHelpTooltip={this.props.fieldLevelHelpTooltip}\n\t\t\t\t\t/>\n\t\t\t\t) : null}\n\t\t\t\t<InnerInput\n\t\t\t\t\taria-activedescendant={this.props['aria-activedescendant']}\n\t\t\t\t\taria-autocomplete={this.props['aria-autocomplete']}\n\t\t\t\t\taria-controls={this.props['aria-controls']}\n\t\t\t\t\taria-labelledby={this.props['aria-labelledby']}\n\t\t\t\t\taria-describedby={this.getErrorId()}\n\t\t\t\t\taria-expanded={this.props['aria-expanded']}\n\t\t\t\t\taria-owns={this.props['aria-owns']}\n\t\t\t\t\taria-required={this.props['aria-required']}\n\t\t\t\t\tautoComplete={this.props.autoComplete}\n\t\t\t\t\tclassName={classNames({\n\t\t\t\t\t\t'slds-input_counter': this.props.variant === COUNTER,\n\t\t\t\t\t\t'slds-p-horizontal_none':\n\t\t\t\t\t\t\tthis.props.variant === COUNTER && this.props.readOnly,\n\t\t\t\t\t})}\n\t\t\t\t\tcontainerProps={{\n\t\t\t\t\t\tclassName: 'slds-form-element__control',\n\t\t\t\t\t}}\n\t\t\t\t\tdefaultValue={this.props.defaultValue}\n\t\t\t\t\tdisabled={this.props.disabled}\n\t\t\t\t\tfixedTextLeft={this.props.fixedTextLeft}\n\t\t\t\t\tfixedTextRight={this.props.fixedTextRight}\n\t\t\t\t\thasSpinner={this.props.hasSpinner}\n\t\t\t\t\tid={this.getId()}\n\t\t\t\t\ticonLeft={iconLeft}\n\t\t\t\t\ticonRight={iconRight}\n\t\t\t\t\tinlineEditTrigger={this.props.inlineEditTrigger}\n\t\t\t\t\tisStatic={this.props.isStatic}\n\t\t\t\t\tminLength={this.props.minLength}\n\t\t\t\t\tminValue={this.props.minValue}\n\t\t\t\t\tmaxLength={this.props.maxLength}\n\t\t\t\t\tmaxValue={this.props.maxValue}\n\t\t\t\t\tname={this.props.name}\n\t\t\t\t\tonBlur={this.props.onBlur}\n\t\t\t\t\tonChange={this.handleChange}\n\t\t\t\t\tonClick={this.props.onClick}\n\t\t\t\t\tonFocus={this.props.onFocus}\n\t\t\t\t\tonInput={this.props.onInput}\n\t\t\t\t\tonInvalid={this.props.onInvalid}\n\t\t\t\t\tonKeyDown={this.props.onKeyDown}\n\t\t\t\t\tonKeyPress={this.props.onKeyPress}\n\t\t\t\t\tonKeyUp={this.props.onKeyUp}\n\t\t\t\t\tonSelect={this.props.onSelect}\n\t\t\t\t\tonSubmit={this.props.onSubmit}\n\t\t\t\t\tplaceholder={this.props.placeholder}\n\t\t\t\t\tinputRef={inputRef}\n\t\t\t\t\treadOnly={this.props.readOnly}\n\t\t\t\t\trequired={this.props.required}\n\t\t\t\t\trole={this.props.role}\n\t\t\t\t\tassistiveText={this.props.assistiveText}\n\t\t\t\t\ttype={this.props.variant === COUNTER ? 'number' : this.props.type}\n\t\t\t\t\tvalue={this.props.value}\n\t\t\t\t\tvariant={this.props.variant}\n\t\t\t\t\tstep={this.props.step}\n\t\t\t\t\tstyle={this.props.styleInput}\n\t\t\t\t/>\n\t\t\t\t{this.props.inlineHelpText && (\n\t\t\t\t\t<div className=\"slds-form-element__help\">\n\t\t\t\t\t\t{this.props.inlineHelpText}\n\t\t\t\t\t</div>\n\t\t\t\t)}\n\t\t\t\t{this.props.errorText && (\n\t\t\t\t\t<div id={this.getErrorId()} className=\"slds-form-element__help\">\n\t\t\t\t\t\t{this.props.errorText}\n\t\t\t\t\t</div>\n\t\t\t\t)}\n\t\t\t\t{this.props.children}\n\t\t\t</div>\n\t\t);\n\t}\n}\n\nexport default Input;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// ### React\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\nimport Input from '../input';\nimport InputIcon from '../icon/input-icon';\n\nimport { CARD_FILTER } from '../../utilities/constants';\n\n/**\n * A default filter or search input for Cards that contain items.\n */\nconst Filter = (props) => {\n\tconst { id, placeholder, onChange, ...rest } = props;\n\n\treturn (\n\t\t<Input\n\t\t\t{...rest}\n\t\t\tassistiveText={{ label: placeholder }}\n\t\t\ticonLeft={<InputIcon name=\"search\" category=\"utility\" />}\n\t\t\tid={id}\n\t\t\tonChange={onChange}\n\t\t\tplaceholder={placeholder}\n\t\t/>\n\t);\n};\n\n// ### Display Name\n// Always use the canonical component name as the React display name.\nFilter.displayName = CARD_FILTER;\n\n// ### Prop Types\nFilter.propTypes = {\n\t/**\n\t * The HTML `id` from the card with a suffixe.\n\t */\n\tid: PropTypes.string,\n\t/**\n\t * This callback fires when the input changes.\n\t */\n\tonChange: PropTypes.func,\n\t/**\n\t * Text present in input until the user enters text. This text will also be used for a visually hidden label on the filter `input` element for accessibility.\n\t */\n\tplaceholder: PropTypes.string.isRequired,\n};\n\nFilter.defaultProps = {\n\tplaceholder: 'Find in List',\n};\n\nexport default Filter;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// ### React\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\n// ### classNames\n// [github.com/JedWatson/classnames](https://github.com/JedWatson/classnames)\n// This project uses `classnames`, \"a simple javascript utility for conditionally\n// joining classNames together.\"\nimport classnames from 'classnames';\n\nimport { CAROUSEL_INDICATORS } from '../../../utilities/constants';\n\n/**\n * CarouselIndicators is used to display the list of indicators associated to the number of panels\n * a carousel has\n */\nclass CarouselIndicators extends React.Component {\n\tcomponentDidUpdate() {\n\t\tif (this.props.hasFocus && this[`indicator${this.props.currentIndex}`]) {\n\t\t\tthis[`indicator${this.props.currentIndex}`].focus();\n\t\t}\n\t}\n\n\tonFocus = (event) => {\n\t\tthis[`indicator${this.props.currentIndex}`].focus();\n\t\tif (this.props.onFocus) {\n\t\t\tthis.props.onFocus(event);\n\t\t}\n\t};\n\n\trender() {\n\t\tconst { props } = this;\n\n\t\treturn (\n\t\t\t<ul\n\t\t\t\tclassName=\"slds-carousel__indicators slds-col slds-text-align_center\"\n\t\t\t\trole=\"tablist\"\n\t\t\t>\n\t\t\t\t{[...Array(props.noOfIndicators).keys()].map((index) => {\n\t\t\t\t\tconst isSelectedPanel = index === props.currentIndex;\n\t\t\t\t\tconst indicatorActionClassName = classnames(\n\t\t\t\t\t\t'slds-carousel__indicator-action',\n\t\t\t\t\t\tprops.className,\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t'slds-is-active': isSelectedPanel,\n\t\t\t\t\t\t}\n\t\t\t\t\t);\n\t\t\t\t\tlet assistiveText = `${index}`;\n\t\t\t\t\tlet title = `${index}`;\n\t\t\t\t\tlet id = '';\n\n\t\t\t\t\tif (props.items && props.items.length > 0) {\n\t\t\t\t\t\t// eslint-disable-next-line prefer-destructuring\n\t\t\t\t\t\tid = props.items[index].id;\n\n\t\t\t\t\t\tconst startItemIndex = index * props.itemsPerPanel;\n\t\t\t\t\t\tlet autoIndicatorText = '';\n\n\t\t\t\t\t\t// eslint-disable-next-line fp/no-loops\n\t\t\t\t\t\tfor (\n\t\t\t\t\t\t\tlet i = startItemIndex;\n\t\t\t\t\t\t\ti < startItemIndex + props.itemsPerPanel;\n\t\t\t\t\t\t\ti += 1\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\tif (props.items[i] && props.items[i].heading) {\n\t\t\t\t\t\t\t\tautoIndicatorText = !autoIndicatorText\n\t\t\t\t\t\t\t\t\t? ''\n\t\t\t\t\t\t\t\t\t: `${autoIndicatorText}, `;\n\t\t\t\t\t\t\t\tautoIndicatorText += props.items[i].heading;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif (autoIndicatorText) {\n\t\t\t\t\t\t\tassistiveText = autoIndicatorText;\n\t\t\t\t\t\t\ttitle = autoIndicatorText;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<li\n\t\t\t\t\t\t\tclassName=\"slds-carousel__indicator slds-m-horizontal_xx-small\"\n\t\t\t\t\t\t\tkey={index}\n\t\t\t\t\t\t\trole=\"presentation\"\n\t\t\t\t\t\t\tstyle={{ margin: 0, padding: '0 5px' }}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<a\n\t\t\t\t\t\t\t\tref={(component) => {\n\t\t\t\t\t\t\t\t\tthis[`indicator${index}`] = component;\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\tid={`indicator-id-${props.carouselId}-${index}`}\n\t\t\t\t\t\t\t\tclassName={indicatorActionClassName}\n\t\t\t\t\t\t\t\trole=\"tab\"\n\t\t\t\t\t\t\t\ttabIndex={isSelectedPanel ? '0' : '-1'}\n\t\t\t\t\t\t\t\taria-selected={isSelectedPanel}\n\t\t\t\t\t\t\t\taria-controls={props.getPanelId({\n\t\t\t\t\t\t\t\t\tcarouselId: props.carouselId,\n\t\t\t\t\t\t\t\t\titemId: id,\n\t\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t\t\ttitle={title}\n\t\t\t\t\t\t\t\tonBlur={props.onBlur}\n\t\t\t\t\t\t\t\tonClick={(event) => props.onClick(event, index)}\n\t\t\t\t\t\t\t\tonFocus={this.onFocus}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<span className=\"slds-assistive-text\">{assistiveText}</span>\n\t\t\t\t\t\t\t</a>\n\t\t\t\t\t\t</li>\n\t\t\t\t\t);\n\t\t\t\t})}\n\t\t\t</ul>\n\t\t);\n\t}\n}\n\nCarouselIndicators.displayName = CAROUSEL_INDICATORS;\n\nCarouselIndicators.defaultProps = {\n\tcurrentIndex: 0,\n};\n\n// ### Prop Types\nCarouselIndicators.propTypes = {\n\t/**\n\t * Carousel HTML ID\n\t */\n\tcarouselId: PropTypes.string,\n\t/**\n\t * CSS classes that are applied to the component\n\t */\n\tclassName: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\t/**\n\t * Selected indicator\n\t */\n\tcurrentIndex: PropTypes.number,\n\t/**\n\t * Passed from carousel parent state, dictates if indicator currently has focus\n\t */\n\thasFocus: PropTypes.bool,\n\t/**\n\t * Array of objects with shape, needed for building a carousel items\n\t */\n\titems: PropTypes.array,\n\t/**\n\t * Number of items to be displayed at a time in the carousel\n\t */\n\titemsPerPanel: PropTypes.number,\n\t/**\n\t * Number of indicators to be displayed (corresponds to the number of panels in the carousel)\n\t */\n\tnoOfIndicators: PropTypes.number.isRequired,\n\t/**\n\t * Fires on indicator blur, allows parent carousel to adjust indicatorsHaveFocus state accordingly\n\t */\n\tonBlur: PropTypes.func,\n\t/**\n\t * Triggered when the indicator is clicked.\n\t */\n\tonClick: PropTypes.func,\n\t/**\n\t * Fires on indicator focus, allows parent carousel to adjust indicatorsHaveFocus state accordingly\n\t */\n\tonFocus: PropTypes.func,\n};\n\nexport default CarouselIndicators;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// ### React\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\nimport Button from '../../../components/button';\nimport { CAROUSEL_NAVIGATORS } from '../../../utilities/constants';\n\n/**\n * previousNextCarouselNavigator is used to display previous/next navigation items of the carousel\n */\nconst previousNextCarouselNavigator = (props) => (\n\t<div\n\t\tclassName=\"slds-carousel__col-center slds-is-absolute\"\n\t\tstyle={{ ...props.inlineStyle, margin: '-12px 0 0', top: '50%' }}\n\t>\n\t\t<Button\n\t\t\tassistiveText={{ icon: props.assistiveText }}\n\t\t\tclassName=\"slds-button_icon slds-carousel__button\"\n\t\t\tdisabled={props.isDisabled}\n\t\t\ticonCategory=\"utility\"\n\t\t\ticonName={props.iconName}\n\t\t\ticonVariant=\"border-filled\"\n\t\t\ticonSize=\"small\"\n\t\t\tonClick={props.onClick}\n\t\t\tvariant=\"icon\"\n\t\t/>\n\t</div>\n);\n// /assets/icons/utility-sprite/svg/symbols.svg#right\npreviousNextCarouselNavigator.displayName = CAROUSEL_NAVIGATORS;\n\n// ### Prop Types\npreviousNextCarouselNavigator.propTypes = {\n\t/**\n\t * Description of the previous/next navigation icons for screen-readers.\n\t */\n\tassistiveText: PropTypes.string,\n\t/**\n\t * Name of icon displayed within the navigation button\n\t */\n\ticonName: PropTypes.oneOf(['chevronleft', 'chevronright']),\n\t/**\n\t * Determines where the navigator indicator has been disabled\n\t */\n\tisDisabled: PropTypes.bool,\n\t/**\n\t * Additional styles to be applied to the container\n\t */\n\tinlineStyle: PropTypes.object,\n\t/**\n\t * Triggered when the indicator is clicked.\n\t */\n\tonClick: PropTypes.func,\n};\n\nexport default previousNextCarouselNavigator;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// # CarouselItem Component\n\n// Implements the [CarouselItem design pattern](https://www.lightningdesignsystem.com/components/carousel/) in React.\n\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\nimport Button from '../../button';\n\nimport { CAROUSEL_ITEM } from '../../../utilities/constants';\n\n/**\n * A carousel allows multiple pieces of featured content to occupy an allocated amount of space.\n */\nconst CarouselItem = (props) => (\n\t<div\n\t\tid={props.getPanelId({ carouselId: props.carouselId, itemId: props.id })}\n\t\tclassName=\"slds-carousel__panel slds-m-horizontal_xx-small slds-list_horizontal\"\n\t\trole=\"tabpanel\"\n\t\taria-hidden=\"false\"\n\t\taria-labelledby={`indicator-id-${props.carouselId}-${props.panelIndex}`}\n\t\tstyle={{\n\t\t\tmargin: 0,\n\t\t\tmaxWidth: `${props.itemWidth}px`,\n\t\t\tpadding: '0 6px',\n\t\t}}\n\t>\n\t\t{props.onRenderItem ? (\n\t\t\tprops.onRenderItem({ item: props })\n\t\t) : (\n\t\t\t<a\n\t\t\t\tclassName=\"slds-carousel__panel-action slds-text-link_reset\"\n\t\t\t\thref={props.href}\n\t\t\t\tonClick={props.onClick}\n\t\t\t\tonFocus={props.onFocus}\n\t\t\t\tstyle={{\n\t\t\t\t\tbackgroundColor: 'white',\n\t\t\t\t\twidth: '100%',\n\t\t\t\t}}\n\t\t\t\ttabIndex={props.isInCurrentPanel ? '0' : '-1'}\n\t\t\t>\n\t\t\t\t<div className=\"slds-carousel__image\">\n\t\t\t\t\t<img\n\t\t\t\t\t\tsrc={props.src}\n\t\t\t\t\t\talt={props.imageAssistiveText || props.heading}\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t\t<div className=\"slds-carousel__content\" style={{ height: 'auto' }}>\n\t\t\t\t\t<h2 className=\"slds-carousel__content-title\">{props.heading}</h2>\n\t\t\t\t\t<div\n\t\t\t\t\t\tclassName=\"slds-p-bottom_x-small slds-text-body_small\"\n\t\t\t\t\t\tstyle={{ minHeight: '40px' }}\n\t\t\t\t\t>\n\t\t\t\t\t\t{props.description}\n\t\t\t\t\t</div>\n\t\t\t\t\t{props.buttonLabel && (\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tlabel={props.buttonLabel}\n\t\t\t\t\t\t\ttabIndex={props.isInCurrentPanel ? '0' : '-1'}\n\t\t\t\t\t\t\tvariant=\"neutral\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t)}\n\t\t\t\t</div>\n\t\t\t</a>\n\t\t)}\n\t</div>\n);\n\nCarouselItem.displayName = CAROUSEL_ITEM;\n\nCarouselItem.propTypes = {\n\t/**\n\t * Label of the button to be displayed. If not provided, no button will be rendered.\n\t */\n\tbuttonLabel: PropTypes.string,\n\t/**\n\t * Carousel HTML ID\n\t */\n\tcarouselId: PropTypes.string,\n\t/**\n\t * CSS classes that are applied to the component\n\t */\n\tclassName: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\t/**\n\t * Visible paragraph text to be displayed on the carousel item\n\t */\n\tdescription: PropTypes.oneOfType([PropTypes.string, PropTypes.node]),\n\t/**\n\t * Carousel Item's visible heading\n\t */\n\theading: PropTypes.oneOfType([PropTypes.string, PropTypes.object]).isRequired,\n\thref: PropTypes.string,\n\t/**\n\t * Id of the item component.\n\t */\n\tid: PropTypes.number.isRequired,\n\t/**\n\t * Image alt text\n\t */\n\timageAssistiveText: PropTypes.string,\n\t/**\n\t * Boolean indicating whether this item is currently visible in the active parent carousel panel\n\t */\n\tisInCurrentPanel: PropTypes.bool,\n\t/**\n\t * Width of the carousel item\n\t */\n\titemWidth: PropTypes.number,\n\t/**\n\t * Accepts a callback to handle when the a tag is focused on\n\t */\n\tonFocus: PropTypes.func,\n\t/**\n\t * Accepts a custom carousel item rendering function\n\t */\n\tonRenderItem: PropTypes.func,\n\t/**\n\t * Index of the panel this item belongs to, to be used when associating it to an indicator\n\t */\n\tpanelIndex: PropTypes.number,\n\t/**\n\t * Path of the image to be used\n\t */\n\tsrc: PropTypes.string.isRequired,\n};\n\nCarouselItem.defaultProps = {\n\thref: 'javascript:void(0);',\n};\n\nexport default CarouselItem;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// ### React\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport Button from '../../../components/button';\nimport { CAROUSEL_AUTOPLAY_BUTTON } from '../../../utilities/constants';\n\n/**\n * AutoplayButton is used to start/pause the autoplay iteration of the carousel\n */\nconst AutoplayButton = (props) => (\n\t<span className=\"slds-carousel__autoplay\" style={{ left: '66px' }}>\n\t\t<Button\n\t\t\tassistiveText={{ icon: props.assistiveText }}\n\t\t\tclassName=\"slds-button_icon\"\n\t\t\tdisabled={props.isDisabled}\n\t\t\ticonCategory=\"utility\"\n\t\t\ticonName={props.isAutoplayOn ? 'pause' : 'play'}\n\t\t\ticonVariant=\"border-filled\"\n\t\t\ticonSize=\"x-small\"\n\t\t\tonClick={props.onClick}\n\t\t\tvariant=\"icon\"\n\t\t/>\n\t</span>\n);\nAutoplayButton.displayName = CAROUSEL_AUTOPLAY_BUTTON;\n\n// ### Prop Types\nAutoplayButton.propTypes = {\n\t/**\n\t * Description of the start/pause autoplay button for screen-readers.\n\t */\n\tassistiveText: PropTypes.string,\n\t/**\n\t * Indicates whether autoplay is enabled\n\t */\n\tisAutoplayOn: PropTypes.bool,\n\t/**\n\t * Triggered when the autoplay button is clicked.\n\t */\n\tonClick: PropTypes.func,\n};\n\nAutoplayButton.defaultProps = {\n\tisAutoplayOn: false,\n};\n\nexport default AutoplayButton;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// # Carousel Component\n\n// Implements the [Carousel design pattern](https://www.lightningdesignsystem.com/components/carousel/) in React.\n\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport classnames from 'classnames';\n\n// ### shortid\n// [npmjs.com/package/shortid](https://www.npmjs.com/package/shortid)\n// shortid is a short, non-sequential, url-friendly, unique id generator\nimport shortid from 'shortid';\n\nimport { CAROUSEL } from '../../utilities/constants';\n\nimport {\n\tcanUseDOM,\n\tcanUseEventListeners,\n} from '../../utilities/execution-environment';\n\nimport CarouselIndicators from './private/carousel-indicators';\nimport PreviousNextCarouselNavigator from './private/previous-next-carousel-navigator';\nimport CarouselItem from './private/carousel-item';\nimport AutoplayButton from './private/auto-play-button';\n\n// ### Event Helpers\nimport KEYS from '../../utilities/key-code';\nimport EventUtil from '../../utilities/event';\n\n/* eslint-disable jsx-a11y/no-static-element-interactions */\n\n// ### Default Props\nconst defaultProps = {\n\tassistiveText: {\n\t\tautoplayButton: 'Start / Stop auto-play',\n\t\tnextPanel: 'Next Panel',\n\t\tpreviousPanel: 'Previous Panel',\n\t},\n\tautoplayInterval: 4000,\n\thasAutoplay: false,\n\thasPreviousNextPanelNavigation: false,\n\tisInfinite: false,\n\titemsPerPanel: 1,\n};\n\n/**\n * A carousel allows multiple pieces of featured content to occupy an allocated amount of space.\n * Currently panel index and auto play cannot be controlled by the app.\n */\nclass Carousel extends React.Component {\n\t// ### Display Name\n\t// Always use the canonical component name as the React display name.\n\tstatic displayName = CAROUSEL;\n\n\t// ### Prop Types\n\tstatic propTypes = {\n\t\t/**\n\t\t * Description of the carousel items for screen-readers.\n\t\t */\n\t\tassistiveText: PropTypes.object,\n\t\t/**\n\t\t * Interval for the autoplay iteration\n\t\t */\n\t\tautoplayInterval: PropTypes.number,\n\t\t/**\n\t\t * CSS classes that are applied to the main 'slds-carousel' classed component container\n\t\t */\n\t\tclassName: PropTypes.oneOfType([\n\t\t\tPropTypes.array,\n\t\t\tPropTypes.object,\n\t\t\tPropTypes.string,\n\t\t]),\n\t\t/**\n\t\t * Dictates the currently active/visible carousel panel. Use with `onRequestPanelChange` for a controlled carousel component. If not provided, the carousel will manage this itself via state.\n\t\t */\n\t\tcurrentPanel: PropTypes.number,\n\t\t/**\n\t\t * Boolean showing whether the autoplay button is available or not\n\t\t */\n\t\thasAutoplay: PropTypes.bool,\n\t\t/**\n\t\t * Boolean for displaying the navigation indicators (left/right arrows) of the carousel\n\t\t */\n\t\thasPreviousNextPanelNavigation: PropTypes.bool,\n\t\t/**\n\t\t * Id of component, if desired. If not provided an id is automatically generated\n\t\t */\n\t\tid: PropTypes.string,\n\t\t/**\n\t\t * Boolean that dictates whether autoplay is active or not. Use with `onRequestAutoplayToggle` for a controlled carousel component.\n\t\t */\n\t\tisAutoplayOn: PropTypes.bool,\n\t\t/**\n\t\t * Boolean for infinite loop navigation. Note: if not true autoplay will stop automatically at the last panel.\n\t\t */\n\t\tisInfinite: PropTypes.bool,\n\t\t/**\n\t\t * * **Array of item objects used by the default carousel item renderer.**\n\t\t * Each object can contain:\n\t\t * * `id`: The id of the carousel item. [REQUIRED]\n\t\t * * `heading`: Primary string that will be used as the heading\n\t\t * * `description`: Secondary string that is used to describe the item\n\t\t * * `buttonLabel`: If assigned a call to button action will be rendered with this text, if unassigned no button is rendered\n\t\t * * `imageAssistiveText`: Image alt text, if not present heading will be used instead\n\t\t * * `href`: Used for item link, if not provided 'javascript:void(0);' is used instead\n\t\t * * `src`: Item image src value\n\t\t */\n\t\titems: PropTypes.array.isRequired,\n\t\t/**\n\t\t * Number of items to be displayed at a time in the carousel\n\t\t */\n\t\titemsPerPanel: PropTypes.number,\n\t\t/**\n\t\t * Accepts a custom carousel item rendering function\n\t\t */\n\t\tonRenderItem: PropTypes.func,\n\t\t/**\n\t\t * Called whenever `isAutoplayOn` is requested to be toggled on or off. Use with `isAutoplayOn` prop for a controlled carousel component. Passes an event object and a data object with the current `isAutoplayOn` value as an attribute.\n\t\t */\n\t\tonRequestAutoplayToggle: PropTypes.func,\n\t\t/**\n\t\t * Called whenever the panel is requested to change due to user interaction or auto-play. Use with `currentPanel` for a controlled carousel component. Passes an event object and a data object with `currentPanel` and `requestedPanel` attributes.\n\t\t */\n\t\tonRequestPanelChange: PropTypes.func,\n\t\t/**\n\t\t * Handler for clicking on a carousel item\n\t\t */\n\t\tonItemClick: PropTypes.func,\n\t};\n\n\t// ### Default Props\n\tstatic defaultProps = defaultProps;\n\n\tconstructor(props) {\n\t\tsuper(props);\n\n\t\tthis.nrOfPanels = Math.ceil(props.items.length / props.itemsPerPanel);\n\t\tthis.stageItem = React.createRef();\n\n\t\tthis.state = {\n\t\t\tcurrentPanel: props.currentPanel !== undefined ? props.currentPanel : 0,\n\t\t\tindicatorsHaveFocus: false,\n\t\t\tisAutoplayOn:\n\t\t\t\tprops.isAutoplayOn !== undefined\n\t\t\t\t\t? props.isAutoplayOn\n\t\t\t\t\t: props.hasAutoplay,\n\t\t\tstageWidth: 0,\n\t\t\ttranslateX: -1000000,\n\t\t};\n\n\t\tthis.generatedId = shortid.generate();\n\t}\n\n\tcomponentDidMount() {\n\t\tif (\n\t\t\tcanUseDOM &&\n\t\t\tthis.stageItem !== undefined &&\n\t\t\tthis.stageItem.current !== undefined &&\n\t\t\tthis.stageItem.current.offsetWidth !== undefined\n\t\t) {\n\t\t\tthis.stageWidth = this.stageItem.current.offsetWidth;\n\t\t}\n\n\t\tif (canUseEventListeners) {\n\t\t\twindow.addEventListener('resize', this.setDimensions, false);\n\t\t}\n\n\t\tthis.changeTranslationAutomatically();\n\n\t\tif (this.getIsAutoplayOn()) {\n\t\t\tthis.startAutoplay({ mountAutoplayEvent: true });\n\t\t}\n\t}\n\n\tcomponentDidUpdate(prevProps) {\n\t\tif (\n\t\t\tthis.props.currentPanel !== undefined &&\n\t\t\tprevProps.currentPanel !== this.props.currentPanel\n\t\t) {\n\t\t\tthis.changeTranslationAutomatically();\n\t\t}\n\t\tif (\n\t\t\tthis.props.isAutoplayOn !== undefined &&\n\t\t\tprevProps.isAutoplayOn !== this.props.isAutoplayOn\n\t\t) {\n\t\t\tif (this.props.isAutoplayOn) {\n\t\t\t\tthis.startAutoplay({ updateAutoplayEvent: true });\n\t\t\t} else {\n\t\t\t\tthis.stopAutoplay({ updateAutoplayEvent: true }, true);\n\t\t\t}\n\t\t}\n\t\tif (\n\t\t\tprevProps.items.length !== this.props.items.length ||\n\t\t\tprevProps.itemsPerPanel !== this.props.itemsPerPanel\n\t\t) {\n\t\t\tthis.nrOfPanels = Math.ceil(\n\t\t\t\tthis.props.items.length / this.props.itemsPerPanel\n\t\t\t);\n\t\t}\n\t}\n\n\tcomponentWillUnmount() {\n\t\tif (canUseEventListeners) {\n\t\t\twindow.removeEventListener('resize', this.setDimensions, false);\n\t\t}\n\t\tthis.stopAutoplay({ unmountAutoplayEvent: true }, true);\n\t}\n\n\tonNextPanelHandler = (event) => {\n\t\tlet next = this.getCurrentPanel() + 1;\n\t\tif (next > this.nrOfPanels - 1) {\n\t\t\tnext = 0;\n\t\t}\n\t\tthis.setCurrentPanel(event, next, this.changeTranslationAutomatically);\n\t};\n\n\tonPreviousPanelHandler = (event) => {\n\t\tlet prev = this.getCurrentPanel() - 1;\n\t\tif (prev < 0) {\n\t\t\tprev = this.nrOfPanels - 1;\n\t\t}\n\t\tthis.setCurrentPanel(event, prev, this.changeTranslationAutomatically);\n\t};\n\n\tonIndicatorBlur = () => {\n\t\tthis.setState({ indicatorsHaveFocus: false });\n\t};\n\n\tonIndicatorClickHandler = (event, panel) => {\n\t\tthis.setCurrentPanel(event, panel, this.changeTranslationAutomatically);\n\t\tthis.setState({ indicatorsHaveFocus: true });\n\t\tif (this.getIsAutoplayOn()) {\n\t\t\tthis.stopAutoplay(event);\n\t\t}\n\t};\n\n\tonIndicatorFocus = (event) => {\n\t\tthis.setState({ indicatorsHaveFocus: true });\n\t\tif (this.getIsAutoplayOn()) {\n\t\t\tthis.stopAutoplay(event);\n\t\t}\n\t};\n\n\tonAutoplayBtnClick = (event) => {\n\t\tconst isAutoplayOn = this.getIsAutoplayOn();\n\n\t\tif (this.props.onRequestAutoplayToggle) {\n\t\t\tthis.props.onRequestAutoplayToggle(event, { isAutoplayOn });\n\t\t} else {\n\t\t\tconst actionToTake = isAutoplayOn\n\t\t\t\t? this.stopAutoplay\n\t\t\t\t: this.startAutoplay;\n\n\t\t\tthis.setState({\n\t\t\t\tisAutoplayOn: !isAutoplayOn,\n\t\t\t});\n\t\t\tactionToTake(event);\n\t\t}\n\t};\n\n\tgetPanelId = ({ carouselId, itemId }) => `content-id-${carouselId}-${itemId}`;\n\n\tgetCurrentPanel() {\n\t\treturn this.props.currentPanel !== undefined\n\t\t\t? this.props.currentPanel\n\t\t\t: this.state.currentPanel;\n\t}\n\n\tgetIsAutoplayOn() {\n\t\treturn this.props.isAutoplayOn !== undefined\n\t\t\t? this.props.isAutoplayOn\n\t\t\t: this.state.isAutoplayOn;\n\t}\n\n\tsetDimensions = () => {\n\t\tif (\n\t\t\tcanUseDOM &&\n\t\t\tthis.stageItem !== undefined &&\n\t\t\tthis.stageItem.current !== undefined &&\n\t\t\tthis.stageItem.current.offsetWidth !== undefined\n\t\t) {\n\t\t\tthis.setState(\n\t\t\t\t{ stageWidth: this.stageItem.current.offsetWidth },\n\t\t\t\tthis.changeTranslationAutomatically\n\t\t\t);\n\t\t}\n\t};\n\n\tsetTranslationAmount = (amount, cb) => {\n\t\tthis.setState({ translateX: amount }, cb);\n\t};\n\n\tsetCurrentPanel = (event, amount, cb) => {\n\t\tif (this.props.onRequestPanelChange) {\n\t\t\tthis.props.onRequestPanelChange(event, {\n\t\t\t\tcurrentPanel: this.getCurrentPanel(),\n\t\t\t\trequestedPanel: amount,\n\t\t\t});\n\t\t} else {\n\t\t\tthis.setState({ currentPanel: amount }, cb);\n\t\t}\n\t};\n\n\tstartAutoplay = (event) => {\n\t\tthis.autoplayId = setInterval(() => {\n\t\t\tif (this.canGoToNext()) {\n\t\t\t\tthis.onNextPanelHandler(event);\n\t\t\t} else if (this.props.isInfinite) {\n\t\t\t\tthis.setCurrentPanel(event, 0, this.changeTranslationAutomatically);\n\t\t\t} else {\n\t\t\t\tthis.stopAutoplay(event);\n\t\t\t}\n\t\t}, this.props.autoplayInterval);\n\t};\n\n\tstopAutoplay = (event, ignoreCallbacksAndStateUpdates) => {\n\t\tif (this.autoplayId) {\n\t\t\tclearInterval(this.autoplayId);\n\t\t}\n\n\t\tif (!ignoreCallbacksAndStateUpdates) {\n\t\t\tif (this.props.onRequestAutoplayToggle) {\n\t\t\t\tthis.props.onRequestAutoplayToggle(event, {\n\t\t\t\t\tisAutoplayOn: this.getIsAutoplayOn(),\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\tthis.setState({ isAutoplayOn: false });\n\t\t\t}\n\t\t}\n\t};\n\n\tchangeTranslationAutomatically = () => {\n\t\tthis.setTranslationAmount(\n\t\t\t-((this.state.stageWidth || this.stageWidth) * this.getCurrentPanel())\n\t\t);\n\t};\n\n\tcanGoToNext = () => this.getCurrentPanel() < this.nrOfPanels - 1;\n\n\tcanGoToPrevious = () => this.getCurrentPanel() > 0;\n\n\thandleKeyDown = (event) => {\n\t\tconst keyDownCallbacks = {\n\t\t\t[KEYS.LEFT]: () => {\n\t\t\t\tif (this.props.isInfinite || this.canGoToPrevious()) {\n\t\t\t\t\tthis.onPreviousPanelHandler(event);\n\t\t\t\t\tthis.setState({ indicatorsHaveFocus: true });\n\t\t\t\t\tif (this.getIsAutoplayOn()) {\n\t\t\t\t\t\tthis.stopAutoplay(event);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t},\n\t\t\t[KEYS.RIGHT]: () => {\n\t\t\t\tif (this.props.isInfinite || this.canGoToNext()) {\n\t\t\t\t\tthis.onNextPanelHandler(event);\n\t\t\t\t\tthis.setState({ indicatorsHaveFocus: true });\n\t\t\t\t\tif (this.getIsAutoplayOn()) {\n\t\t\t\t\t\tthis.stopAutoplay(event);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t},\n\t\t};\n\n\t\tif (keyDownCallbacks[event.keyCode]) {\n\t\t\tEventUtil.trapImmediate(event);\n\t\t\tkeyDownCallbacks[event.keyCode]();\n\t\t}\n\t};\n\n\trender() {\n\t\tconst {\n\t\t\thasAutoplay,\n\t\t\thasPreviousNextPanelNavigation,\n\t\t\tisInfinite,\n\t\t} = this.props;\n\t\tconst currentPanel = this.getCurrentPanel();\n\t\tconst id = this.props.id || this.generatedId;\n\t\tconst isPreviousBtnDisabled = !(isInfinite || this.canGoToPrevious());\n\t\tconst isNextBtnDisabled = !(isInfinite || this.canGoToNext());\n\t\tconst itemWidth =\n\t\t\t(this.state.stageWidth || this.stageWidth) / this.props.itemsPerPanel;\n\t\tconst carouselMargins = hasPreviousNextPanelNavigation\n\t\t\t? { marginLeft: '44px', marginRight: '44px' }\n\t\t\t: {};\n\t\treturn (\n\t\t\t<div\n\t\t\t\tclassName={classnames('slds-carousel', this.props.className)}\n\t\t\t\tid={id}\n\t\t\t\tonKeyDown={this.handleKeyDown}\n\t\t\t>\n\t\t\t\t<div className=\"slds-grid_vertical slds-col slds-path__scroller\">\n\t\t\t\t\t{hasAutoplay && (\n\t\t\t\t\t\t<AutoplayButton\n\t\t\t\t\t\t\tassistiveText={this.props.assistiveText.autoplayButton}\n\t\t\t\t\t\t\tisAutoplayOn={this.getIsAutoplayOn()}\n\t\t\t\t\t\t\tonClick={this.onAutoplayBtnClick}\n\t\t\t\t\t\t/>\n\t\t\t\t\t)}\n\t\t\t\t\t<div className=\"slds-is-relative\" style={carouselMargins}>\n\t\t\t\t\t\t{hasPreviousNextPanelNavigation && (\n\t\t\t\t\t\t\t<PreviousNextCarouselNavigator\n\t\t\t\t\t\t\t\tassistiveText={this.props.assistiveText.previousPanel}\n\t\t\t\t\t\t\t\ticonName=\"chevronleft\"\n\t\t\t\t\t\t\t\tisDisabled={isPreviousBtnDisabled}\n\t\t\t\t\t\t\t\tonClick={(event) => {\n\t\t\t\t\t\t\t\t\tif (this.getIsAutoplayOn()) {\n\t\t\t\t\t\t\t\t\t\tthis.stopAutoplay(event);\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tthis.onPreviousPanelHandler(event);\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\tinlineStyle={{ left: '-38px' }}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t)}\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tref={this.stageItem}\n\t\t\t\t\t\t\tclassName=\"slds-carousel__stage slds-show\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\tclassName=\"slds-carousel__panels slds-is-relative\"\n\t\t\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\t\t\ttransform: `translateX(${this.state.translateX}px)`,\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{this.props.items.map((item, index) => (\n\t\t\t\t\t\t\t\t\t<CarouselItem\n\t\t\t\t\t\t\t\t\t\tcarouselId={id}\n\t\t\t\t\t\t\t\t\t\tgetPanelId={this.getPanelId}\n\t\t\t\t\t\t\t\t\t\tonClick={(event) => {\n\t\t\t\t\t\t\t\t\t\t\tthis.props.onItemClick(event, { item });\n\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\tonFocus={(event) => {\n\t\t\t\t\t\t\t\t\t\t\tif (this.getIsAutoplayOn()) {\n\t\t\t\t\t\t\t\t\t\t\t\tthis.stopAutoplay(event);\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\tonRenderItem={this.props.onRenderItem}\n\t\t\t\t\t\t\t\t\t\t{...item}\n\t\t\t\t\t\t\t\t\t\tisInCurrentPanel={\n\t\t\t\t\t\t\t\t\t\t\tindex >= currentPanel * this.props.itemsPerPanel &&\n\t\t\t\t\t\t\t\t\t\t\tindex <\n\t\t\t\t\t\t\t\t\t\t\t\tcurrentPanel * this.props.itemsPerPanel +\n\t\t\t\t\t\t\t\t\t\t\t\t\tthis.props.itemsPerPanel\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\titemWidth={itemWidth}\n\t\t\t\t\t\t\t\t\t\tkey={item.id}\n\t\t\t\t\t\t\t\t\t\tpanelIndex={\n\t\t\t\t\t\t\t\t\t\t\tMath.ceil((index + 1) / this.props.itemsPerPanel) - 1\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t{hasPreviousNextPanelNavigation && (\n\t\t\t\t\t\t\t<PreviousNextCarouselNavigator\n\t\t\t\t\t\t\t\tassistiveText={this.props.assistiveText.nextPanel}\n\t\t\t\t\t\t\t\ticonName=\"chevronright\"\n\t\t\t\t\t\t\t\tisDisabled={isNextBtnDisabled}\n\t\t\t\t\t\t\t\tonClick={(event) => {\n\t\t\t\t\t\t\t\t\tif (this.getIsAutoplayOn()) {\n\t\t\t\t\t\t\t\t\t\tthis.stopAutoplay(event);\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tthis.onNextPanelHandler(event);\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\tinlineStyle={{ right: '-38px' }}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t)}\n\t\t\t\t\t</div>\n\t\t\t\t\t<CarouselIndicators\n\t\t\t\t\t\tnoOfIndicators={this.nrOfPanels}\n\t\t\t\t\t\tcarouselId={id}\n\t\t\t\t\t\tcurrentIndex={currentPanel}\n\t\t\t\t\t\tgetPanelId={this.getPanelId}\n\t\t\t\t\t\thasFocus={this.state.indicatorsHaveFocus}\n\t\t\t\t\t\tonBlur={this.onIndicatorBlur}\n\t\t\t\t\t\tonClick={this.onIndicatorClickHandler}\n\t\t\t\t\t\tonFocus={this.onIndicatorFocus}\n\t\t\t\t\t\titems={this.props.items}\n\t\t\t\t\t\titemsPerPanel={this.props.itemsPerPanel}\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t);\n\t}\n}\n\nexport default Carousel;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n/* eslint-disable import/no-mutable-exports */\n/* eslint-disable max-len */\n\nimport deprecatedEventParameter from '../../utilities/warning/deprecated-event-parameter';\nimport getComponentDocFn from '../../utilities/get-component-doc';\nimport onlyOneOfProperties from '../../utilities/warning/only-one-of-properties';\nimport sunsetProperty from '../../utilities/warning/sunset-property';\n\nlet checkProps = function checkPropsFunction() {};\n\nif (process.env.NODE_ENV !== 'production') {\n\tcheckProps = function checkPropsFunction(COMPONENT, props, jsonDoc) {\n\t\tconst createDocUrl = getComponentDocFn(jsonDoc);\n\n\t\tsunsetProperty(\n\t\t\tCOMPONENT,\n\t\t\tprops.label,\n\t\t\t'label',\n\t\t\t`Use \\`labels.label\\` instead.${createDocUrl('labels')}`\n\t\t);\n\n\t\tdeprecatedEventParameter(\n\t\t\tCOMPONENT,\n\t\t\t{\n\t\t\t\toldEventParameterOrder: props.oldEventParameterOrder,\n\t\t\t\tpropAsString: 'onChange',\n\t\t\t\tpropAsValue: props.onChange,\n\t\t\t},\n\t\t\t`\\`components/forms/checkbox\\` is deprecated. \\`components/checkbox\\` should be used. When this path update is made \\`onChange\\` event parameters will change from \\`onChange(value, event, { value }) to \\`onChange(event, { value }). Please update your event parameters when you change paths.\\` If you are using the CommonJS named import, \\`Checkbox\\` events will break at v1.0 and this warning will be present until then. Please review https://github.com/salesforce/design-system-react/releases when you upgrade. ${createDocUrl(\n\t\t\t\t'onChange'\n\t\t\t)}`\n\t\t);\n\n\t\tif (props.variant === 'toggle' && props.indeterminate === true) {\n\t\t\tonlyOneOfProperties(\n\t\t\t\tCOMPONENT,\n\t\t\t\t{\n\t\t\t\t\tvariant: props.variant,\n\t\t\t\t\tindeterminate: props.indeterminate,\n\t\t\t\t},\n\t\t\t\t`Currently SLDS does not support the \\`indeterminate\\` state in Checkbox Toggle. See SLDS documentation about [Checkbox Toggle](https://lightningdesignsystem.com/components/forms/#flavor-checkbox-toggle-checkbox-toggle) for more information. ${createDocUrl(\n\t\t\t\t\t'variant'\n\t\t\t\t)}`\n\t\t\t);\n\t\t}\n\t};\n}\n\nexport default checkProps;\n","/* eslint-disable react/jsx-curly-brace-presence */\n/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// # Checkbox Component\n\n// Implements the [Checkbox design pattern](https://www.lightningdesignsystem.com/components/forms/#checkbox) in React.\n\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\nimport classNames from 'classnames';\n\n// ### shortid\n// [npmjs.com/package/shortid](https://www.npmjs.com/package/shortid)\n// shortid is a short, non-sequential, url-friendly, unique id generator\nimport shortid from 'shortid';\n\n// ### Event Helpers\nimport KEYS from '../../utilities/key-code';\nimport EventUtil from '../../utilities/event';\n\n// This component's `checkProps` which issues warnings to developers about properties when in development mode (similar to React's built in development tools)\nimport checkProps from './check-props';\nimport componentDoc from './component.json';\n\nimport { CHECKBOX } from '../../utilities/constants';\nimport Icon from '../icon';\n\nimport getAriaProps from '../../utilities/get-aria-props';\n\nconst propTypes = {\n\t/**\n\t * An HTML ID that is shared with ARIA-supported devices with the\n\t * `aria-controls` attribute in order to relate the input with\n\t * another region of the page. An example would be a select box\n\t * that shows or hides a panel.\n\t */\n\t'aria-controls': PropTypes.string,\n\t/**\n\t * The `aria-describedby` attribute is used to indicate the IDs of the elements that describe the object. It is used to establish a relationship between widgets or groups and text that described them. This is very similar to aria-labelledby: a label describes the essence of an object, while a description provides more information that the user might need.\n\t */\n\t'aria-describedby': PropTypes.string,\n\t/**\n\t * The aria-labelledby attribute establishes relationships between objects and their label(s), and its value should be one or more element IDs, which refer to elements that have the text needed for labeling. List multiple element IDs in a space delimited fashion.\n\t */\n\t'aria-labelledby': PropTypes.string,\n\t/**\n\t * `aria-owns` indicate that an element depends on the current one when the relation can't be determined by the hierarchy structure.\n\t */\n\t'aria-owns': PropTypes.string,\n\t/**\n\t * The `aria-required` attribute is used to indicate that user input is required on an element before a form can be submitted.\n\t */\n\t'aria-required': PropTypes.bool,\n\t/**\n\t * **Assistive text for accessibility**\n\t * This object is merged with the default props object on every render.\n\t * * `heading`: This is used as a visually hidden label if, no `labels.heading` is provided.\n\t * * `label`: This is used as a visually hidden label if, no `labels.label` is provided.\n\t */\n\tassistiveText: PropTypes.shape({\n\t\theading: PropTypes.string,\n\t\tlabel: PropTypes.string,\n\t}),\n\t/**\n\t * The Checkbox should be a controlled component, and will always be in the state specified. If checked is not defined, the state of the uncontrolled native `input` component will be used.\n\t */\n\tchecked: PropTypes.bool,\n\t/**\n\t * This is the initial value of an uncontrolled form element and is present only\n\t * to provide compatibility with hybrid framework applications that are not\n\t * entirely React. It should only be used in an application without centralized\n\t * state (Redux, Flux). \"Controlled components\" with centralized state is highly recommended. See [Code Overview](https://github.com/salesforce/design-system-react/blob/master/docs/codebase-overview.md#controlled-and-uncontrolled-components) for more information.\n\t */\n\tdefaultChecked: PropTypes.bool,\n\t/**\n\t * Class names to be added to the outer container of the Checkbox.\n\t */\n\tclassName: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\t/**\n\t * Disables the Checkbox and prevents clicking it.\n\t */\n\tdisabled: PropTypes.bool,\n\t/**\n\t * Message to display when the Checkbox is in an error state. When this is present, also visually highlights the component as in error.\n\t */\n\terrorText: PropTypes.string,\n\t/**\n\t * A unique ID is needed in order to support keyboard navigation and ARIA support. This ID is added to the `input` element\n\t */\n\tid: PropTypes.string,\n\t/**\n\t * The Checkbox will be indeterminate if its state can not be figured out or is partially checked. Once a checkbox is indeterminate, a click should cause it to be checked. Since a user cannot put a checkbox into an indeterminate state, it is assumed you are controlling the value of `checked` with the parent, also, and that this is a controlled component. **Note:** `indeterminate` proptype does nothing in the `toggle` variant, as [SLDS does not support it](https://lightningdesignsystem.com/components/forms/#flavor-checkbox-toggle-checkbox-toggle).\n\t */\n\tindeterminate: PropTypes.bool,\n\t/**\n\t * **Text labels for internationalization**\n\t * This object is merged with the default props object on every render.\n\t * * `heading`: Heading for the visual picker variant\n\t * * `label`: Label for the _enabled_ state of the Toggle variant. Defaults to \"Enabled\".\n\t * * `toggleDisabled`: Label for the _disabled_ state of the Toggle variant. Defaults to \"Disabled\". Note that this uses SLDS language, and meaning, of \"Enabled\" and \"Disabled\"; referring to the state of whatever the checkbox is _toggling_, not whether the checkbox itself is enabled or disabled.\n\t * * `toggleEnabled`: Label for the _enabled_ state of the Toggle variant. Defaults to \"Enabled\".\n\t */\n\tlabels: PropTypes.shape({\n\t\theading: PropTypes.string,\n\t\tlabel: PropTypes.string,\n\t\ttoggleDisabled: PropTypes.string,\n\t\ttoggleEnabled: PropTypes.string,\n\t}),\n\t/**\n\t * Name of the submitted form parameter.\n\t */\n\tname: PropTypes.string,\n\t/**\n\t * This event fires when the Checkbox looses focus. It passes in `{ event }`.\n\t */\n\tonBlur: PropTypes.func,\n\t/**\n\t * This event fires when the Checkbox changes. Passes in `event, { checked }`. This used to be `checked, event, { checked }`.\n\t */\n\tonChange: PropTypes.func,\n\t/**\n\t * This event fires when the Checkbox is focused. It passes in `{ event }`.\n\t */\n\tonFocus: PropTypes.func,\n\t/**\n\t * This event fires when a key is pressed down. It passes in `{ event }`.\n\t */\n\tonKeyDown: PropTypes.func,\n\t/**\n\t * This event fires when a character is typed. See [this article](http://www.bloggingdeveloper.com/post/KeyPress-KeyDown-KeyUp-The-Difference-Between-Javascript-Key-Events.aspx) for more information. It passes in `{ event }`.\n\t */\n\tonKeyPress: PropTypes.func,\n\t/**\n\t * This event fires when a pressed key is released. It passes in `{ event }`.\n\t */\n\tonKeyUp: PropTypes.func,\n\t/**\n\t * Displays the value of the input, but does not allow changes.\n\t */\n\treadOnly: PropTypes.bool,\n\t/**\n\t * Highlights the Checkbox as a required field (does not perform any validation).\n\t */\n\trequired: PropTypes.bool,\n\t/**\n\t * The aria-role of the checkbox.\n\t */\n\trole: PropTypes.string,\n\t/**\n\t * Which UX pattern of checkbox? The default is `base` while other option is `toggle`. (**Note:** `toggle` variant does not support the `indeterminate` feature, because [SLDS does not support it](https://lightningdesignsystem.com/components/forms/#flavor-checkbox-toggle-checkbox-toggle).)\n\t */\n\tvariant: PropTypes.oneOf(['base', 'toggle', 'button-group', 'visual-picker']),\n\t/**\n\t * Determines whether visual picker is coverable when selected (only for visual picker variant)\n\t */\n\tcoverable: PropTypes.bool,\n\t/**\n\t * Determines whether the visual picker should be vertical or horizontal (only for visual picker variant)\n\t */\n\tvertical: PropTypes.bool,\n\t/**\n\t * Allows icon to shown with checkbox (only for non-coverable visual picker variant)\n\t */\n\tonRenderVisualPicker: PropTypes.func,\n\t/**\n\t * Allows icon to shown if checkbox is not selected (only for visual picker variant)\n\t */\n\tonRenderVisualPickerSelected: PropTypes.func,\n\t/**\n\t * Allows icon to shown if checkbox is not selected (only for visual picker variant)\n\t */\n\tonRenderVisualPickerNotSelected: PropTypes.func,\n\t/**\n\t * Size of checkbox in case of visual composer variant\n\t */\n\tsize: PropTypes.oneOf(['medium', 'large']),\n};\n\nconst defaultProps = {\n\tassistiveText: {},\n\tlabels: {\n\t\ttoggleDisabled: 'Disabled',\n\t\ttoggleEnabled: 'Enabled',\n\t},\n\tvariant: 'base',\n};\n\n/**\n * The ability to style checkboxes with CSS varies across browsers. Using this component ensures checkboxes look the same everywhere.\n */\nclass Checkbox extends React.Component {\n\tconstructor(props) {\n\t\tsuper(props);\n\n\t\tcheckProps(CHECKBOX, this.props, componentDoc);\n\t\tthis.generatedId = shortid.generate();\n\t}\n\n\tgetId = () => this.props.id || this.generatedId;\n\n\tgetErrorId = () =>\n\t\tthis.props.errorText ? `${this.getId()}-error-text` : undefined;\n\n\tgetAriaDescribedBy = ({ idArray = [] } = {}) =>\n\t\tidArray\n\t\t\t.concat(this.props['aria-describedby'], this.getErrorId())\n\t\t\t.filter(Boolean)\n\t\t\t.join(' ') || undefined;\n\n\thandleChange = (event) => {\n\t\tconst { checked, indeterminate, onChange } = this.props;\n\n\t\tif (typeof onChange === 'function') {\n\t\t\t// `target.checked` is present twice to maintain backwards compatibility. Please remove first parameter `value` on the next breaking change or when `forms/checkbox` is removed.\n\t\t\tif (this.props.oldEventParameterOrder) {\n\t\t\t\tonChange(event.target.checked, event, {\n\t\t\t\t\tchecked: indeterminate ? true : !checked,\n\t\t\t\t\tindeterminate: false,\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\t// NEW API\n\t\t\t\tonChange(event, {\n\t\t\t\t\tchecked: indeterminate ? true : !checked,\n\t\t\t\t\tindeterminate: false,\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t};\n\n\thandleKeyDown = (event) => {\n\t\tif (event.keyCode) {\n\t\t\tif (event.keyCode === KEYS.ENTER || event.keyCode === KEYS.SPACE) {\n\t\t\t\tEventUtil.trapImmediate(event);\n\t\t\t\tthis.handleChange(event);\n\t\t\t}\n\t\t}\n\t};\n\n\trenderButtonGroupVariant = (props, ariaProps, assistiveText, labels) => (\n\t\t<span className=\"slds-button slds-checkbox_button\">\n\t\t\t<input\n\t\t\t\tdisabled={props.disabled}\n\t\t\t\t/* A form element should not have both checked and defaultChecked props. */\n\t\t\t\t{...(props.checked !== undefined\n\t\t\t\t\t? { checked: props.checked }\n\t\t\t\t\t: { defaultChecked: props.defaultChecked })}\n\t\t\t\tid={this.getId()}\n\t\t\t\tname={props.name}\n\t\t\t\tonBlur={props.onBlur}\n\t\t\t\tonChange={this.handleChange}\n\t\t\t\tonFocus={props.onFocus}\n\t\t\t\tonKeyDown={props.onKeyDown}\n\t\t\t\tonKeyPress={props.onKeyPress}\n\t\t\t\tonKeyUp={props.onKeyUp}\n\t\t\t\tref={(component) => {\n\t\t\t\t\tthis.input = component;\n\t\t\t\t}}\n\t\t\t\trole={props.role}\n\t\t\t\trequired={props.required}\n\t\t\t\ttype=\"checkbox\"\n\t\t\t\t{...ariaProps}\n\t\t\t\taria-describedby={this.getAriaDescribedBy()}\n\t\t\t/>\n\t\t\t<label className=\"slds-checkbox_button__label\" htmlFor={this.getId()}>\n\t\t\t\t<span className=\"slds-checkbox_faux\">{labels.label}</span>\n\t\t\t\t{assistiveText.label ? (\n\t\t\t\t\t<span className=\"slds-assistive-text\">{assistiveText.label}</span>\n\t\t\t\t) : null}\n\t\t\t</label>\n\t\t</span>\n\t);\n\n\trenderBaseVariant = (props, ariaProps, assistiveText, labels) => (\n\t\t<div\n\t\t\tclassName={classNames(\n\t\t\t\t'slds-form-element',\n\t\t\t\t{\n\t\t\t\t\t'is-required': props.required,\n\t\t\t\t\t'slds-has-error': props.errorText,\n\t\t\t\t},\n\t\t\t\tprops.className\n\t\t\t)}\n\t\t>\n\t\t\t<div className=\"slds-form-element__control\">\n\t\t\t\t<span className=\"slds-checkbox\">\n\t\t\t\t\t{props.required ? (\n\t\t\t\t\t\t<abbr className=\"slds-required\" title=\"required\">\n\t\t\t\t\t\t\t{'*'}\n\t\t\t\t\t\t</abbr>\n\t\t\t\t\t) : null}\n\t\t\t\t\t<input\n\t\t\t\t\t\tdisabled={props.disabled}\n\t\t\t\t\t\t/* A form element should not have both checked and defaultChecked props. */\n\t\t\t\t\t\t{...(props.checked !== undefined\n\t\t\t\t\t\t\t? { checked: props.checked }\n\t\t\t\t\t\t\t: { defaultChecked: props.defaultChecked })}\n\t\t\t\t\t\tid={this.getId()}\n\t\t\t\t\t\tname={props.name}\n\t\t\t\t\t\tonBlur={props.onBlur}\n\t\t\t\t\t\tonChange={this.handleChange}\n\t\t\t\t\t\tonFocus={props.onFocus}\n\t\t\t\t\t\tonKeyDown={props.onKeyDown}\n\t\t\t\t\t\tonKeyPress={props.onKeyPress}\n\t\t\t\t\t\tonKeyUp={props.onKeyUp}\n\t\t\t\t\t\tref={(component) => {\n\t\t\t\t\t\t\tif (component) {\n\t\t\t\t\t\t\t\t// eslint-disable-next-line no-param-reassign\n\t\t\t\t\t\t\t\tcomponent.indeterminate = props.indeterminate;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tthis.input = component;\n\t\t\t\t\t\t}}\n\t\t\t\t\t\trole={props.role}\n\t\t\t\t\t\trequired={props.required}\n\t\t\t\t\t\ttype=\"checkbox\"\n\t\t\t\t\t\t{...ariaProps}\n\t\t\t\t\t\taria-describedby={this.getAriaDescribedBy()}\n\t\t\t\t\t/>\n\t\t\t\t\t<label\n\t\t\t\t\t\tclassName=\"slds-checkbox__label\"\n\t\t\t\t\t\thtmlFor={this.getId()}\n\t\t\t\t\t\tid={props.labelId}\n\t\t\t\t\t>\n\t\t\t\t\t\t<span className=\"slds-checkbox_faux\" />\n\t\t\t\t\t\t{labels.label ? (\n\t\t\t\t\t\t\t<span className=\"slds-form-element__label\">{labels.label}</span>\n\t\t\t\t\t\t) : null}\n\t\t\t\t\t\t{assistiveText.label ? (\n\t\t\t\t\t\t\t<span className=\"slds-assistive-text\">{assistiveText.label}</span>\n\t\t\t\t\t\t) : null}\n\t\t\t\t\t</label>\n\t\t\t\t</span>\n\t\t\t</div>\n\t\t\t{props.errorText ? (\n\t\t\t\t<div className=\"slds-form-element__help\" id={this.getErrorId()}>\n\t\t\t\t\t{props.errorText}\n\t\t\t\t</div>\n\t\t\t) : null}\n\t\t</div>\n\t);\n\n\trenderToggleVariant = (props, ariaProps, assistiveText, labels) => (\n\t\t<div\n\t\t\tclassName={classNames(\n\t\t\t\t'slds-form-element',\n\t\t\t\t{\n\t\t\t\t\t'is-required': props.required,\n\t\t\t\t\t'slds-has-error': props.errorText,\n\t\t\t\t},\n\t\t\t\tprops.className\n\t\t\t)}\n\t\t>\n\t\t\t<label className=\"slds-checkbox_toggle slds-grid\" htmlFor={this.getId()}>\n\t\t\t\t{props.required ? (\n\t\t\t\t\t<abbr className=\"slds-required\" title=\"required\">\n\t\t\t\t\t\t{'*'}\n\t\t\t\t\t</abbr>\n\t\t\t\t) : null}\n\t\t\t\t{labels.label ? (\n\t\t\t\t\t<span className=\"slds-form-element__label slds-m-bottom_none\">\n\t\t\t\t\t\t{labels.label}\n\t\t\t\t\t</span>\n\t\t\t\t) : null}\n\t\t\t\t{assistiveText.label ? (\n\t\t\t\t\t<span className=\"slds-assistive-text\">{assistiveText.label}</span>\n\t\t\t\t) : null}\n\t\t\t\t<input\n\t\t\t\t\tdisabled={props.disabled}\n\t\t\t\t\tid={this.getId()}\n\t\t\t\t\t/* A form element should not have both checked and defaultChecked props. */\n\t\t\t\t\t{...(props.checked !== undefined\n\t\t\t\t\t\t? { checked: props.checked }\n\t\t\t\t\t\t: { defaultChecked: props.defaultChecked })}\n\t\t\t\t\tname={props.name}\n\t\t\t\t\tonBlur={props.onBlur}\n\t\t\t\t\tonChange={this.handleChange}\n\t\t\t\t\tonFocus={props.onFocus}\n\t\t\t\t\tonKeyDown={props.onKeyDown}\n\t\t\t\t\tonKeyPress={props.onKeyPress}\n\t\t\t\t\tonKeyUp={props.onKeyUp}\n\t\t\t\t\tref={(component) => {\n\t\t\t\t\t\tthis.input = component;\n\t\t\t\t\t}}\n\t\t\t\t\trole={props.role}\n\t\t\t\t\trequired={props.required}\n\t\t\t\t\ttype=\"checkbox\"\n\t\t\t\t\t{...ariaProps}\n\t\t\t\t\taria-describedby={this.getAriaDescribedBy({\n\t\t\t\t\t\tidArray: [`${this.getId()}-desc`],\n\t\t\t\t\t})}\n\t\t\t\t/>\n\t\t\t\t<span\n\t\t\t\t\tid={`${this.getId()}-desc`}\n\t\t\t\t\tclassName=\"slds-checkbox_faux_container\"\n\t\t\t\t\taria-live=\"assertive\"\n\t\t\t\t>\n\t\t\t\t\t<span className=\"slds-checkbox_faux\" />\n\t\t\t\t\t<span className=\"slds-checkbox_on\">{labels.toggleEnabled}</span>\n\t\t\t\t\t<span className=\"slds-checkbox_off\">{labels.toggleDisabled}</span>\n\t\t\t\t</span>\n\t\t\t</label>\n\t\t\t{props.errorText ? (\n\t\t\t\t<div className=\"slds-form-element__help\" id={this.getErrorId()}>\n\t\t\t\t\t{props.errorText}\n\t\t\t\t</div>\n\t\t\t) : null}\n\t\t</div>\n\t);\n\n\trenderVisualPickerVariant = (props, ariaProps, assistiveText) => (\n\t\t<span\n\t\t\tclassName={classNames(\n\t\t\t\t'slds-visual-picker',\n\t\t\t\t`slds-visual-picker_${this.props.size}`,\n\t\t\t\tthis.props.vertical ? 'slds-visual-picker_vertical' : null\n\t\t\t)}\n\t\t>\n\t\t\t<input\n\t\t\t\tdisabled={props.disabled}\n\t\t\t\t/* A form element should not have both checked and defaultChecked props. */\n\t\t\t\t{...(props.checked !== undefined\n\t\t\t\t\t? { checked: props.checked }\n\t\t\t\t\t: { defaultChecked: props.defaultChecked })}\n\t\t\t\tid={this.getId()}\n\t\t\t\tname={props.name}\n\t\t\t\tonBlur={props.onBlur}\n\t\t\t\tonChange={this.handleChange}\n\t\t\t\tonFocus={props.onFocus}\n\t\t\t\tonKeyDown={props.onKeyDown}\n\t\t\t\tonKeyPress={props.onKeyPress}\n\t\t\t\tonKeyUp={props.onKeyUp}\n\t\t\t\tref={(component) => {\n\t\t\t\t\tthis.input = component;\n\t\t\t\t}}\n\t\t\t\trole={props.role}\n\t\t\t\trequired={props.required}\n\t\t\t\ttype=\"checkbox\"\n\t\t\t\t{...ariaProps}\n\t\t\t\taria-describedby={this.getAriaDescribedBy()}\n\t\t\t/>\n\t\t\t<label className=\"slds-checkbox_button__label\" htmlFor={this.getId()}>\n\t\t\t\t{this.props.coverable ? (\n\t\t\t\t\t<div className=\"slds-visual-picker__figure slds-visual-picker__icon slds-align_absolute-center\">\n\t\t\t\t\t\t<span className=\"slds-is-selected\">\n\t\t\t\t\t\t\t{this.props.onRenderVisualPickerSelected()}\n\t\t\t\t\t\t</span>\n\t\t\t\t\t\t<span className=\"slds-is-not-selected\">\n\t\t\t\t\t\t\t{this.props.onRenderVisualPickerNotSelected()}\n\t\t\t\t\t\t</span>\n\t\t\t\t\t</div>\n\t\t\t\t) : (\n\t\t\t\t\t<span className=\"slds-visual-picker__figure slds-visual-picker__text slds-align_absolute-center\">\n\t\t\t\t\t\t{this.props.onRenderVisualPicker()}\n\t\t\t\t\t</span>\n\t\t\t\t)}\n\t\t\t\t{!this.props.vertical ? (\n\t\t\t\t\t<span className=\"slds-visual-picker__body\">\n\t\t\t\t\t\t{this.props.labels.heading ? (\n\t\t\t\t\t\t\t<span className=\"slds-text-heading_small\">\n\t\t\t\t\t\t\t\t{this.props.labels.heading}\n\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t) : null}\n\t\t\t\t\t\t<span className=\"slds-text-title\">{this.props.labels.label}</span>\n\t\t\t\t\t\t{assistiveText.label || assistiveText.heading ? (\n\t\t\t\t\t\t\t<span className=\"slds-assistive-text\">\n\t\t\t\t\t\t\t\t{assistiveText.label || assistiveText.heading}\n\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t) : null}\n\t\t\t\t\t</span>\n\t\t\t\t) : null}\n\t\t\t\t{!this.props.coverable ? (\n\t\t\t\t\t<span className=\"slds-icon_container slds-visual-picker__text-check\">\n\t\t\t\t\t\t<Icon\n\t\t\t\t\t\t\tassistiveText={this.props.assistiveText}\n\t\t\t\t\t\t\tcategory=\"utility\"\n\t\t\t\t\t\t\tname=\"check\"\n\t\t\t\t\t\t\tcolorVariant=\"base\"\n\t\t\t\t\t\t\tsize=\"x-small\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t</span>\n\t\t\t\t) : null}\n\t\t\t</label>\n\t\t</span>\n\t);\n\n\trender() {\n\t\tconst ariaProps = getAriaProps(this.props);\n\n\t\tif (this.props.variant === 'toggle') {\n\t\t\tariaProps['aria-describedby'] = `${this.getId()}-desc`;\n\t\t}\n\n\t\tconst assistiveText = {\n\t\t\t...defaultProps.assistiveText,\n\t\t\t/* Remove backward compatibility at next breaking change */\n\t\t\t...(typeof this.props.assistiveText === 'string'\n\t\t\t\t? { label: this.props.assistiveText }\n\t\t\t\t: {}),\n\t\t\t...(typeof this.props.assistiveText === 'object'\n\t\t\t\t? this.props.assistiveText\n\t\t\t\t: {}),\n\t\t};\n\t\tconst labels = {\n\t\t\t...defaultProps.labels,\n\t\t\t/* Remove backward compatibility at next breaking change */\n\t\t\t...(this.props.label ? { label: this.props.label } : {}),\n\t\t\t...this.props.labels,\n\t\t};\n\n\t\tconst subRenders = {\n\t\t\tbase: this.renderBaseVariant,\n\t\t\t'button-group': this.renderButtonGroupVariant,\n\t\t\ttoggle: this.renderToggleVariant,\n\t\t\t'visual-picker': this.renderVisualPickerVariant,\n\t\t};\n\t\tconst variantExists = subRenders[this.props.variant];\n\n\t\treturn variantExists\n\t\t\t? subRenders[this.props.variant](\n\t\t\t\t\tthis.props,\n\t\t\t\t\tariaProps,\n\t\t\t\t\tassistiveText,\n\t\t\t\t\tlabels\n\t\t\t )\n\t\t\t: subRenders.base(this.props, ariaProps, assistiveText, labels);\n\t}\n}\n\nCheckbox.displayName = CHECKBOX;\nCheckbox.propTypes = propTypes;\nCheckbox.defaultProps = defaultProps;\n\nexport default Checkbox;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n/* eslint-disable import/no-mutable-exports */\n\nimport onlyOneOfProperties from '../../utilities/warning/only-one-of-properties';\nimport getComponentDocFn from '../../utilities/get-component-doc';\n\nlet checkProps = function checkPropsFunction() {};\n\nif (process.env.NODE_ENV !== 'production') {\n\tcheckProps = function checkPropsFunction(COMPONENT, props, jsonDoc) {\n\t\tconst createDocUrl = getComponentDocFn(jsonDoc);\n\n\t\tonlyOneOfProperties(\n\t\t\tCOMPONENT,\n\t\t\t{\n\t\t\t\t'assistiveText.label': props.assistiveText && props.assistiveText.label,\n\t\t\t\tlabel: props.labels.label,\n\t\t\t},\n\t\t\tcreateDocUrl('assistiveText')\n\t\t);\n\t};\n}\n\nexport default checkProps;\n","import React from 'react';\nimport classNames from 'classnames';\n\nimport Input from '../../input';\n\nclass CustomColorForm extends React.Component {\n\tstatic displayName = 'SLDSCustomColorForm';\n\n\trender() {\n\t\tlet describedBy;\n\n\t\tif (this.props.errorTextWorkingColor || this.props.color.errors) {\n\t\t\tdescribedBy = `color-picker-custom-error-${this.props.id}`;\n\t\t}\n\n\t\treturn (\n\t\t\t<div className=\"slds-color-picker__custom-inputs\">\n\t\t\t\t<Input\n\t\t\t\t\taria-describedby={describedBy}\n\t\t\t\t\tclassName={classNames('slds-color-picker__input-custom-hex', {\n\t\t\t\t\t\t'slds-has-error':\n\t\t\t\t\t\t\tthis.props.color.errors && this.props.color.errors.hex,\n\t\t\t\t\t})}\n\t\t\t\t\tid={`color-picker-input-hex-${this.props.id}`}\n\t\t\t\t\tlabel={this.props.labels.hexLabel}\n\t\t\t\t\tmaxLength=\"7\"\n\t\t\t\t\tonChange={this.props.onHexChange}\n\t\t\t\t\tvalue={this.props.color.hex}\n\t\t\t\t/>\n\t\t\t\t<Input\n\t\t\t\t\taria-describedby={describedBy}\n\t\t\t\t\tclassName={classNames('slds-color-picker__input-custom-r', {\n\t\t\t\t\t\t'slds-has-error':\n\t\t\t\t\t\t\tthis.props.color.errors && this.props.color.errors.red,\n\t\t\t\t\t})}\n\t\t\t\t\tid={`color-picker-input-r-${this.props.id}`}\n\t\t\t\t\tlabel={this.props.labels.redAbbreviated}\n\t\t\t\t\tonChange={this.props.onRedChange}\n\t\t\t\t\tmaxLength=\"3\"\n\t\t\t\t\tvalue={String(this.props.color.rgb.red)}\n\t\t\t\t/>\n\t\t\t\t<Input\n\t\t\t\t\taria-describedby={describedBy}\n\t\t\t\t\tclassName={classNames('slds-color-picker__input-custom-g', {\n\t\t\t\t\t\t'slds-has-error':\n\t\t\t\t\t\t\tthis.props.color.errors && this.props.color.errors.green,\n\t\t\t\t\t})}\n\t\t\t\t\tid={`color-picker-input-g-${this.props.id}`}\n\t\t\t\t\tlabel={this.props.labels.greenAbbreviated}\n\t\t\t\t\tonChange={this.props.onGreenChange}\n\t\t\t\t\tmaxLength=\"3\"\n\t\t\t\t\tvalue={String(this.props.color.rgb.green)}\n\t\t\t\t/>\n\t\t\t\t<Input\n\t\t\t\t\taria-describedby={describedBy}\n\t\t\t\t\tclassName={classNames('slds-color-picker__input-custom-b', {\n\t\t\t\t\t\t'slds-has-error':\n\t\t\t\t\t\t\tthis.props.color.errors && this.props.color.errors.blue,\n\t\t\t\t\t})}\n\t\t\t\t\tid={`color-picker-input-b-${this.props.id}`}\n\t\t\t\t\tlabel={this.props.labels.blueAbbreviated}\n\t\t\t\t\tonChange={this.props.onBlueChange}\n\t\t\t\t\tmaxLength=\"3\"\n\t\t\t\t\tvalue={String(this.props.color.rgb.blue)}\n\t\t\t\t/>\n\t\t\t</div>\n\t\t);\n\t}\n}\n\nexport default CustomColorForm;\n","/* eslint-disable react/jsx-curly-brace-presence */\n/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// Implements the [Radio Group design pattern](https://lightningdesignsystem.com/components/radio-group/) in React.\n// Based on SLDS v2.5.0\n\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\n\nimport shortid from 'shortid';\nimport assign from 'lodash.assign';\n\nimport { RADIO_GROUP } from '../../utilities/constants';\n\nconst propTypes = {\n\t/**\n\t * **Assistive text for accessibility**\n\t * * `label`: This label appears in the legend.\n\t * * `required`: Text to help identify the group as required\n\t */\n\tassistiveText: PropTypes.shape({\n\t\tlabel: PropTypes.string,\n\t\trequired: PropTypes.string,\n\t}),\n\t/**\n\t * Children are expected to be Radio components.\n\t */\n\tchildren: PropTypes.node.isRequired,\n\t/**\n\t * Custom CSS classes added to the node.\n\t */\n\tclassName: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\t/**\n\t * **Text labels for internationalization**\n\t * This object is merged with the default props object on every render.\n\t * * `error`: Message to display when any of Checkboxes are in an error state.\n\t * * `label`: This label appears above the radio group.\n\t */\n\tlabels: PropTypes.shape({\n\t\terror: PropTypes.string,\n\t\tlabel: PropTypes.string,\n\t}),\n\t/**\n\t * This event fires when the radio selection changes.\n\t */\n\tonChange: PropTypes.func,\n\t/**\n\t * Disable all radio inputs.\n\t */\n\tdisabled: PropTypes.bool,\n\t/**\n\t * Adds an indicator that this field is required.\n\t */\n\trequired: PropTypes.bool,\n\t/**\n\t * The name of this radio group.\n\t */\n\tname: PropTypes.string,\n\t/**\n\t * The ID of the error message, for linking to radio inputs with aria-describedby.\n\t */\n\terrorId: PropTypes.string,\n\t/**\n\t * Variants of radio groups such as Radio Button Group\n\t */\n\tvariant: PropTypes.oneOf(['base', 'button-group']),\n};\n\nconst defaultProps = {\n\tassistiveText: { required: 'Required' },\n\tlabels: {},\n\tvariant: 'base',\n};\n\n/**\n * A styled select list that can have a single entry checked at any one time.\n * The RadioGroup component wraps [Radio](/components/radios) components, which should be used as children.\n */\nclass RadioGroup extends React.Component {\n\tconstructor(props) {\n\t\tsuper(props);\n\n\t\tthis.generatedName = shortid.generate();\n\t\tthis.generatedErrorId = shortid.generate();\n\t}\n\n\tgetErrorId() {\n\t\tif (this.hasError()) {\n\t\t\treturn this.props.errorId || this.generatedErrorId;\n\t\t}\n\t\treturn undefined;\n\t}\n\n\tgetName() {\n\t\treturn this.props.name || this.generatedName;\n\t}\n\n\thasError() {\n\t\treturn !!this.labels.error;\n\t}\n\n\trender() {\n\t\t// Merge objects of strings with their default object\n\t\tthis.labels = this.props.labels\n\t\t\t? assign({}, defaultProps.labels, this.props.labels)\n\t\t\t: defaultProps.labels;\n\n\t\tconst assistiveText = {\n\t\t\t...defaultProps.assistiveText,\n\t\t\t...this.props.assistiveText,\n\t\t};\n\t\tconst children = React.Children.map(this.props.children, (child) =>\n\t\t\tReact.cloneElement(child, {\n\t\t\t\tname: this.getName(),\n\t\t\t\tonChange: this.props.onChange,\n\t\t\t\t'aria-describedby': this.getErrorId(),\n\t\t\t\tdisabled: this.props.disabled,\n\t\t\t})\n\t\t);\n\n\t\treturn (\n\t\t\t<fieldset\n\t\t\t\tclassName={classNames('slds-form-element', {\n\t\t\t\t\t'slds-has-error': this.labels.error,\n\t\t\t\t})}\n\t\t\t>\n\t\t\t\t<legend\n\t\t\t\t\tclassName={classNames(\n\t\t\t\t\t\t'slds-form-element__legend',\n\t\t\t\t\t\t'slds-form-element__label',\n\t\t\t\t\t\tassistiveText.label ? 'slds-assistive-text' : ''\n\t\t\t\t\t)}\n\t\t\t\t>\n\t\t\t\t\t{this.props.required ? (\n\t\t\t\t\t\t<abbr className=\"slds-required\" title=\"required\">\n\t\t\t\t\t\t\t{'*'}\n\t\t\t\t\t\t\t<div className=\"slds-assistive-text\">\n\t\t\t\t\t\t\t\t{assistiveText.required}{' '}\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</abbr>\n\t\t\t\t\t) : null}\n\t\t\t\t\t{assistiveText.label ? assistiveText.label : this.labels.label}\n\t\t\t\t</legend>\n\t\t\t\t<div\n\t\t\t\t\tclassName={classNames(\n\t\t\t\t\t\t'slds-form-element__control',\n\t\t\t\t\t\tthis.props.className\n\t\t\t\t\t)}\n\t\t\t\t>\n\t\t\t\t\t{this.props.variant === 'button-group' ? (\n\t\t\t\t\t\t<div style={this.props.style} className=\"slds-radio_button-group\">\n\t\t\t\t\t\t\t{children}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t) : (\n\t\t\t\t\t\tchildren\n\t\t\t\t\t)}\n\n\t\t\t\t\t{this.labels.error ? (\n\t\t\t\t\t\t<div id={this.getErrorId()} className=\"slds-form-element__help\">\n\t\t\t\t\t\t\t{this.labels.error}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t) : null}\n\t\t\t\t</div>\n\t\t\t</fieldset>\n\t\t);\n\t}\n}\n\nRadioGroup.displayName = RADIO_GROUP;\nRadioGroup.propTypes = propTypes;\nRadioGroup.defaultProps = defaultProps;\n\nexport default RadioGroup;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// Implements the [Radio Button Group design pattern](https://lightningdesignsystem.com/components/radio-button-group/) in React.\n// Based on SLDS v2.5.0\n\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\nimport RadioGroup from '../radio-group';\n\nimport { RADIO_BUTTON_GROUP } from '../../utilities/constants';\n\nconst propTypes = {\n\t/**\n\t * **Assistive text for accessibility**\n\t * * `label`: This label appears in the legend.\n\t */\n\tassistiveText: PropTypes.shape({\n\t\tlabel: PropTypes.string,\n\t}),\n\t/**\n\t * Children are expected to be Radio components.\n\t */\n\tchildren: PropTypes.node.isRequired,\n\t/**\n\t * Custom CSS classes added to `slds-radio_button-group` node.\n\t */\n\tclassName: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\t/**\n\t * **Text labels for internationalization**\n\t * This object is merged with the default props object on every render.\n\t * * `error`: Message to display when any of Checkboxes are in an error state.\n\t * * `label`: This label appears above the button group.\n\t */\n\tlabels: PropTypes.shape({\n\t\terror: PropTypes.string,\n\t\tlabel: PropTypes.string,\n\t}),\n\t/**\n\t * This event fires when the radio selection changes.\n\t */\n\tonChange: PropTypes.func,\n\t/**\n\t * Disable all radio inputs.\n\t */\n\tdisabled: PropTypes.bool,\n\t/**\n\t * Adds an indicator that this field is required.\n\t */\n\trequired: PropTypes.bool,\n\t/**\n\t * The name of this radio group.\n\t */\n\tname: PropTypes.string,\n\t/**\n\t * The ID of the error message, for linking to radio inputs with aria-describedby.\n\t */\n\terrorId: PropTypes.string,\n};\n\nconst defaultProps = { labels: {}, assistiveText: {} };\n\n/**\n * A styled select list that can have a single entry checked at any one time.\n * The RadioButtonGroup component wraps [Radio](/components/radios) components, which should be used as children.\n */\nconst RadioButtonGroup = (props) => {\n\t// Separate props we care about in order to pass others along passively to the dropdown component\n\tconst { variant, ...rest } = props;\n\n\treturn <RadioGroup variant=\"button-group\" {...rest} />;\n};\n\nRadioButtonGroup.displayName = RADIO_BUTTON_GROUP;\nRadioButtonGroup.propTypes = propTypes;\nRadioButtonGroup.defaultProps = defaultProps;\n\nexport default RadioButtonGroup;\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nconst Swatch = ({ color, style, label, labels }) => {\n\tconst innerStyle = {\n\t\tbackgroundColor: color,\n\t\t...style,\n\t};\n\tlet assistiveText = label || color;\n\n\t// falsey values output a transparent swatch\n\tif (!color) {\n\t\tinnerStyle.backgroundImage =\n\t\t\t'linear-gradient(-45deg, white 47%, #870500 0, #870500 53%, white 0)';\n\t\tif (labels && labels.swatchTabTransparentSwatch) {\n\t\t\tassistiveText = labels.swatchTabTransparentSwatch;\n\t\t}\n\t}\n\n\treturn (\n\t\t<span className=\"slds-swatch\" style={innerStyle}>\n\t\t\t<span className=\"slds-assistive-text\">{assistiveText}</span>\n\t\t</span>\n\t);\n};\n\nSwatch.propTypes = {\n\tcolor: PropTypes.string.isRequired,\n};\n\nexport default Swatch;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n/* eslint-disable import/no-mutable-exports */\n/* eslint-disable max-len */\n\nimport getComponentDocFn from '../../utilities/get-component-doc';\nimport sunsetProperty from '../../utilities/warning/sunset-property';\n\nlet checkProps = function checkPropsFunction() {};\n\nif (process.env.NODE_ENV !== 'production') {\n\tcheckProps = function checkPropsFunction(COMPONENT, props, jsonDoc) {\n\t\tconst createDocUrl = getComponentDocFn(jsonDoc);\n\n\t\tsunsetProperty(\n\t\t\tCOMPONENT,\n\t\t\tprops.label,\n\t\t\t'label',\n\t\t\t`Use \\`labels.label\\` instead.${createDocUrl('labels')}`\n\t\t);\n\t};\n}\n\nexport default checkProps;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport shortid from 'shortid';\nimport classNames from 'classnames';\n\nimport KEYS from '../../utilities/key-code';\nimport { RADIO } from '../../utilities/constants';\nimport getAriaProps from '../../utilities/get-aria-props';\nimport getDataProps from '../../utilities/get-data-props';\nimport Swatch from '../../components/color-picker/private/swatch';\nimport Icon from '../icon';\n\n// This component's `checkProps` which issues warnings to developers about properties when in development mode (similar to React's built in development tools)\nimport checkProps from './check-props';\nimport componentDoc from './component.json';\n\nconst propTypes = {\n\t/**\n\t * **Assistive text for accessibility**\n\t * This object is merged with the default props object on every render.\n\t * * `label`: This is used as a visually hidden label if, no `labels.label` is provided.\n\t */\n\tassistiveText: PropTypes.shape({\n\t\tlabel: PropTypes.string,\n\t}),\n\t/**\n\t * The ID of an element that describes this radio input. Often used for error messages.\n\t */\n\t'aria-describedby': PropTypes.string,\n\t/**\n\t * The aria-labelledby attribute establishes relationships between objects and their label(s), and its value should be one or more element IDs, which refer to elements that have the text needed for labeling. List multiple element IDs in a space delimited fashion.\n\t */\n\t'aria-labelledby': PropTypes.string,\n\t/**\n\t * This is a controlled component. This radio is checked according to this value.\n\t */\n\tchecked: PropTypes.bool,\n\t/**\n\t * Class name to be passed to radio input wrapper ( `span` element)\n\t */\n\tclassName: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\t/**\n\t * This is the initial value of an uncontrolled form element and is present only to provide compatibility\n\t * with hybrid framework applications that are not entirely React. It should only be used in an application\n\t * without centralized state (Redux, Flux). \"Controlled components\" with centralized state is highly recommended.\n\t * See [Code Overview](https://github.com/salesforce/design-system-react/blob/master/docs/codebase-overview.md#controlled-and-uncontrolled-components) for more information.\n\t */ defaultChecked: PropTypes.bool,\n\t/**\n\t * Disable this radio input.\n\t */\n\tdisabled: PropTypes.bool,\n\t/**\n\t * A unique ID that is used to associating a label to the `input` element. This ID is added to the `input` element.\n\t */\n\tid: PropTypes.string,\n\t/**\n\t * **Text labels for internationalization**\n\t * This object is merged with the default props object on every render.\n\t * * `heading`: Heading for the visual picker variant\n\t * * `label`: Label for the radio input\n\t */\n\tlabels: PropTypes.shape({\n\t\theading: PropTypes.string,\n\t\tlabel: PropTypes.string,\n\t}),\n\t/**\n\t * The name of the radio input group.\n\t */\n\tname: PropTypes.string,\n\t/**\n\t * This event fires when the radio selection changes. Passes in `event, { checked }`.\n\t */\n\tonChange: PropTypes.func,\n\t/**\n\t * The value of this radio input.\n\t */\n\tvalue: PropTypes.string,\n\t/**\n\t * Variant of the Radio button. Base is the default and button-group makes the radio button look like a normal button (should be a child of <RadioButtonGroup>).\n\t */\n\tvariant: PropTypes.oneOf(['base', 'button-group', 'swatch', 'visual-picker']),\n\t/**\n\t * Determines whether visual picker is coverable when selected (only for visual picker variant)\n\t */\n\tcoverable: PropTypes.bool,\n\t/**\n\t * Determines whether the visual picker should be vertical or horizontal (only for visual picker variant)\n\t */\n\tvertical: PropTypes.bool,\n\t/**\n\t * Allows icon to shown if radio is not selected (only for non-coverable visual picker variant)\n\t */\n\tonRenderVisualPicker: PropTypes.func,\n\t/**\n\t * Allows icon to shown if radio is not selected (only for visual picker variant)\n\t */\n\tonRenderVisualPickerSelected: PropTypes.func,\n\t/**\n\t * Allows icon to shown if radio is not selected (only for visual picker variant)\n\t */\n\tonRenderVisualPickerNotSelected: PropTypes.func,\n\t/**\n\t * Shows description for radio option (only for visual picker variant)\n\t */\n\tdescription: PropTypes.string,\n\t/**\n\t * Allows icon to shown if radio is not selected (only for visual picker variant)\n\t */\n\tsize: PropTypes.oneOf(['medium', 'large']),\n\t/**\n\t * Ref callback that will pass in the radio's `input` tag\n\t */\n\trefs: PropTypes.shape({\n\t\tinput: PropTypes.func,\n\t}),\n};\n\nconst defaultProps = {\n\tassistiveText: {},\n\tvariant: 'base',\n\tcoverable: false,\n};\n\n/**\n * A radio input that can have a single input checked at any one time. Radios should be wrapped with\n * a [RadioGroup](/components/radio-group) or [RadioButtonGroup](/components/radio-button-group)\n */\nclass Radio extends React.Component {\n\tconstructor(props) {\n\t\tsuper(props);\n\t\tthis.preventDuplicateChangeEvent = false;\n\t}\n\n\t// eslint-disable-next-line camelcase, react/sort-comp\n\tUNSAFE_componentWillMount() {\n\t\tcheckProps(RADIO, this.props, componentDoc);\n\t\tthis.generatedId = shortid.generate();\n\t}\n\n\tgetId() {\n\t\treturn this.props.id || this.generatedId;\n\t}\n\n\thandleChange = (event, preventDuplicateChangeEvent) => {\n\t\tif (!this.preventDuplicateChangeEvent) {\n\t\t\tthis.preventDuplicateChangeEvent = Boolean(preventDuplicateChangeEvent);\n\t\t\tif (this.props.onChange) {\n\t\t\t\tthis.props.onChange(event, {\n\t\t\t\t\tchecked: !this.props.checked,\n\t\t\t\t});\n\t\t\t}\n\t\t} else {\n\t\t\tthis.preventDuplicateChangeEvent = false;\n\t\t}\n\t};\n\n\trender() {\n\t\tconst ariaProps = getAriaProps(this.props);\n\t\tconst dataProps = getDataProps(this.props);\n\n\t\tlet radio;\n\n\t\tconst labels = {\n\t\t\t...defaultProps.labels,\n\t\t\t/* Remove backward compatibility at next breaking change */\n\t\t\t...(this.props.label ? { label: this.props.label } : {}),\n\t\t\t...this.props.labels,\n\t\t};\n\n\t\tif (this.props.variant === 'swatch') {\n\t\t\tradio = (\n\t\t\t\t<label\n\t\t\t\t\tstyle={{ border: '1px' }}\n\t\t\t\t\tclassName=\"slds-radio_button__label\"\n\t\t\t\t\thtmlFor={this.getId()}\n\t\t\t\t>\n\t\t\t\t\t<span>\n\t\t\t\t\t\t<Swatch\n\t\t\t\t\t\t\tlabel={labels.label}\n\t\t\t\t\t\t\tstyle={this.props.style}\n\t\t\t\t\t\t\tcolor={this.props.value}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</span>\n\t\t\t\t</label>\n\t\t\t);\n\t\t} else if (this.props.variant === 'button-group') {\n\t\t\tradio = (\n\t\t\t\t<label className=\"slds-radio_button__label\" htmlFor={this.getId()}>\n\t\t\t\t\t<span className=\"slds-radio_faux\">{labels.label}</span>\n\t\t\t\t</label>\n\t\t\t);\n\t\t} else if (this.props.variant === 'visual-picker') {\n\t\t\tradio = (\n\t\t\t\t<label htmlFor={this.getId()}>\n\t\t\t\t\t{this.props.coverable ? (\n\t\t\t\t\t\t<div className=\"slds-visual-picker__figure slds-visual-picker__icon slds-align_absolute-center\">\n\t\t\t\t\t\t\t<span className=\"slds-is-selected\">\n\t\t\t\t\t\t\t\t{this.props.onRenderVisualPickerSelected()}\n\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t<span className=\"slds-is-not-selected\">\n\t\t\t\t\t\t\t\t{this.props.onRenderVisualPickerNotSelected()}\n\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t) : (\n\t\t\t\t\t\t<span className=\"slds-visual-picker__figure slds-visual-picker__text slds-align_absolute-center\">\n\t\t\t\t\t\t\t{this.props.onRenderVisualPicker()}\n\t\t\t\t\t\t</span>\n\t\t\t\t\t)}\n\t\t\t\t\t{!this.props.vertical ? (\n\t\t\t\t\t\t<span className=\"slds-visual-picker__body\">\n\t\t\t\t\t\t\t{labels.heading ? (\n\t\t\t\t\t\t\t\t<span className=\"slds-text-heading_small\">\n\t\t\t\t\t\t\t\t\t{labels.heading}\n\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t) : null}\n\t\t\t\t\t\t\t<span className=\"slds-text-title\">{labels.label}</span>\n\t\t\t\t\t\t</span>\n\t\t\t\t\t) : null}\n\t\t\t\t\t{!this.props.coverable ? (\n\t\t\t\t\t\t<span className=\"slds-icon_container slds-visual-picker__text-check\">\n\t\t\t\t\t\t\t<Icon\n\t\t\t\t\t\t\t\tassistiveText={this.props.assistiveText}\n\t\t\t\t\t\t\t\tcategory=\"utility\"\n\t\t\t\t\t\t\t\tname=\"check\"\n\t\t\t\t\t\t\t\tcolorVariant=\"base\"\n\t\t\t\t\t\t\t\tsize=\"x-small\"\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</span>\n\t\t\t\t\t) : null}\n\t\t\t\t</label>\n\t\t\t);\n\t\t} else {\n\t\t\tradio = (\n\t\t\t\t<label\n\t\t\t\t\tclassName=\"slds-radio__label\"\n\t\t\t\t\thtmlFor={this.getId()}\n\t\t\t\t\tid={this.props.labelId}\n\t\t\t\t>\n\t\t\t\t\t<span className=\"slds-radio_faux\" />\n\t\t\t\t\t<span className=\"slds-form-element__label\">{labels.label}</span>\n\t\t\t\t\t{this.props.assistiveText.label ? (\n\t\t\t\t\t\t<span className=\"slds-assistive-text\">\n\t\t\t\t\t\t\t{this.props.assistiveText.label}\n\t\t\t\t\t\t</span>\n\t\t\t\t\t) : null}\n\t\t\t\t</label>\n\t\t\t);\n\t\t}\n\n\t\treturn (\n\t\t\t<span\n\t\t\t\tclassName={classNames(\n\t\t\t\t\tthis.props.variant === 'visual-picker'\n\t\t\t\t\t\t? `slds-visual-picker_${this.props.size}`\n\t\t\t\t\t\t: null,\n\t\t\t\t\t{\n\t\t\t\t\t\t'slds-radio':\n\t\t\t\t\t\t\tthis.props.variant === 'base' || this.props.variant === 'swatch',\n\t\t\t\t\t\t'slds-button slds-radio_button':\n\t\t\t\t\t\t\tthis.props.variant === 'button-group',\n\t\t\t\t\t\t'slds-visual-picker': this.props.variant === 'visual-picker',\n\t\t\t\t\t\t'slds-visual-picker_vertical':\n\t\t\t\t\t\t\tthis.props.variant === 'visual-picker' && this.props.vertical,\n\t\t\t\t\t},\n\t\t\t\t\tthis.props.className\n\t\t\t\t)}\n\t\t\t>\n\t\t\t\t<input\n\t\t\t\t\ttype=\"radio\"\n\t\t\t\t\tid={this.getId()}\n\t\t\t\t\tname={this.props.name}\n\t\t\t\t\tvalue={this.props.value}\n\t\t\t\t\t/* A form element should not have both checked and defaultChecked props. */\n\t\t\t\t\t{...(this.props.checked !== undefined\n\t\t\t\t\t\t? { checked: this.props.checked }\n\t\t\t\t\t\t: { defaultChecked: this.props.defaultChecked })}\n\t\t\t\t\tonChange={(event) => {\n\t\t\t\t\t\tthis.handleChange(event);\n\t\t\t\t\t}}\n\t\t\t\t\tonClick={(event) => {\n\t\t\t\t\t\tif (this.props.checked && this.props.deselectable) {\n\t\t\t\t\t\t\tthis.handleChange(event);\n\t\t\t\t\t\t}\n\t\t\t\t\t}}\n\t\t\t\t\tonKeyPress={(event) => {\n\t\t\t\t\t\tconst { charCode } = event;\n\n\t\t\t\t\t\tif (\n\t\t\t\t\t\t\tcharCode === KEYS.SPACE &&\n\t\t\t\t\t\t\tthis.props.checked &&\n\t\t\t\t\t\t\tthis.props.deselectable\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\tthis.handleChange(event, true);\n\t\t\t\t\t\t} else if (\n\t\t\t\t\t\t\t(charCode === KEYS.ENTER &&\n\t\t\t\t\t\t\t\tthis.props.checked &&\n\t\t\t\t\t\t\t\tthis.props.deselectable) ||\n\t\t\t\t\t\t\t!this.props.checked\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\tthis.handleChange(event);\n\t\t\t\t\t\t}\n\t\t\t\t\t}}\n\t\t\t\t\tdisabled={this.props.disabled}\n\t\t\t\t\t{...ariaProps}\n\t\t\t\t\t{...dataProps}\n\t\t\t\t\tref={(input) => {\n\t\t\t\t\t\tif (this.props.refs && this.props.refs.input) {\n\t\t\t\t\t\t\tthis.props.refs.input(input);\n\t\t\t\t\t\t}\n\t\t\t\t\t}}\n\t\t\t\t/>\n\t\t\t\t{radio}\n\t\t\t</span>\n\t\t);\n\t}\n}\n\nRadio.displayName = RADIO;\nRadio.propTypes = propTypes;\nRadio.defaultProps = defaultProps;\n\nexport default Radio;\n","// Alias\nimport Radio from '../radio/index';\n\nexport default Radio;\n","import assign from 'lodash.assign';\n\nconst COLOR_NAMES = {\n\taliceblue: '#f0f8ff',\n\tantiquewhite: '#faebd7',\n\taqua: '#00ffff',\n\taquamarine: '#7fffd4',\n\tazure: '#f0ffff',\n\tbeige: '#f5f5dc',\n\tbisque: '#ffe4c4',\n\tblack: '#000000',\n\tblanchedalmond: '#ffebcd',\n\tblue: '#0000ff',\n\tblueviolet: '#8a2be2',\n\tbrown: '#a52a2a',\n\tburlywood: '#deb887',\n\tcadetblue: '#5f9ea0',\n\tchartreuse: '#7fff00',\n\tchocolate: '#d2691e',\n\tcoral: '#ff7f50',\n\tcornflowerblue: '#6495ed',\n\tcornsilk: '#fff8dc',\n\tcrimson: '#dc143c',\n\tcyan: '#00ffff',\n\tdarkblue: '#00008b',\n\tdarkcyan: '#008b8b',\n\tdarkgoldenrod: '#b8860b',\n\tdarkgray: '#a9a9a9',\n\tdarkgreen: '#006400',\n\tdarkkhaki: '#bdb76b',\n\tdarkmagenta: '#8b008b',\n\tdarkolivegreen: '#556b2f',\n\tdarkorange: '#ff8c00',\n\tdarkorchid: '#9932cc',\n\tdarkred: '#8b0000',\n\tdarksalmon: '#e9967a',\n\tdarkseagreen: '#8fbc8f',\n\tdarkslateblue: '#483d8b',\n\tdarkslategray: '#2f4f4f',\n\tdarkturquoise: '#00ced1',\n\tdarkviolet: '#9400d3',\n\tdeeppink: '#ff1493',\n\tdeepskyblue: '#00bfff',\n\tdimgray: '#696969',\n\tdodgerblue: '#1e90ff',\n\tfirebrick: '#b22222',\n\tfloralwhite: '#fffaf0',\n\tforestgreen: '#228b22',\n\tfuchsia: '#ff00ff',\n\tgainsboro: '#dcdcdc',\n\tghostwhite: '#f8f8ff',\n\tgold: '#ffd700',\n\tgoldenrod: '#daa520',\n\tgray: '#808080',\n\tgreen: '#008000',\n\tgreenyellow: '#adff2f',\n\thoneydew: '#f0fff0',\n\thotpink: '#ff69b4',\n\tindianred: '#cd5c5c',\n\tindigo: '#4b0082',\n\tivory: '#fffff0',\n\tkhaki: '#f0e68c',\n\tlavender: '#e6e6fa',\n\tlavenderblush: '#fff0f5',\n\tlawngreen: '#7cfc00',\n\tlemonchiffon: '#fffacd',\n\tlightblue: '#add8e6',\n\tlightcoral: '#f08080',\n\tlightcyan: '#e0ffff',\n\tlightgoldenrodyellow: '#fafad2',\n\tlightgrey: '#d3d3d3',\n\tlightgreen: '#90ee90',\n\tlightpink: '#ffb6c1',\n\tlightsalmon: '#ffa07a',\n\tlightseagreen: '#20b2aa',\n\tlightskyblue: '#87cefa',\n\tlightslategray: '#778899',\n\tlightsteelblue: '#b0c4de',\n\tlightyellow: '#ffffe0',\n\tlime: '#00ff00',\n\tlimegreen: '#32cd32',\n\tlinen: '#faf0e6',\n\tmagenta: '#ff00ff',\n\tmaroon: '#800000',\n\tmediumaquamarine: '#66cdaa',\n\tmediumblue: '#0000cd',\n\tmediumorchid: '#ba55d3',\n\tmediumpurple: '#9370d8',\n\tmediumseagreen: '#3cb371',\n\tmediumslateblue: '#7b68ee',\n\tmediumspringgreen: '#00fa9a',\n\tmediumturquoise: '#48d1cc',\n\tmediumvioletred: '#c71585',\n\tmidnightblue: '#191970',\n\tmintcream: '#f5fffa',\n\tmistyrose: '#ffe4e1',\n\tmoccasin: '#ffe4b5',\n\tnavajowhite: '#ffdead',\n\tnavy: '#000080',\n\toldlace: '#fdf5e6',\n\tolive: '#808000',\n\tolivedrab: '#6b8e23',\n\torange: '#ffa500',\n\torangered: '#ff4500',\n\torchid: '#da70d6',\n\tpalegoldenrod: '#eee8aa',\n\tpalegreen: '#98fb98',\n\tpaleturquoise: '#afeeee',\n\tpalevioletred: '#d87093',\n\tpapayawhip: '#ffefd5',\n\tpeachpuff: '#ffdab9',\n\tperu: '#cd853f',\n\tpink: '#ffc0cb',\n\tplum: '#dda0dd',\n\tpowderblue: '#b0e0e6',\n\tpurple: '#800080',\n\trebeccapurple: '#663399',\n\tred: '#ff0000',\n\trosybrown: '#bc8f8f',\n\troyalblue: '#4169e1',\n\tsaddlebrown: '#8b4513',\n\tsalmon: '#fa8072',\n\tsandybrown: '#f4a460',\n\tseagreen: '#2e8b57',\n\tseashell: '#fff5ee',\n\tsienna: '#a0522d',\n\tsilver: '#c0c0c0',\n\tskyblue: '#87ceeb',\n\tslateblue: '#6a5acd',\n\tslategray: '#708090',\n\tsnow: '#fffafa',\n\tspringgreen: '#00ff7f',\n\tsteelblue: '#4682b4',\n\ttan: '#d2b48c',\n\tteal: '#008080',\n\tthistle: '#d8bfd8',\n\ttomato: '#ff6347',\n\tturquoise: '#40e0d0',\n\tviolet: '#ee82ee',\n\twheat: '#f5deb3',\n\twhite: '#ffffff',\n\twhitesmoke: '#f5f5f5',\n\tyellow: '#ffff00',\n\tyellowgreen: '#9acd32',\n};\nconst HEX_REGEX = /^#([a-f\\d]{2})([a-f\\d]{2})([a-f\\d]{2})$/i;\n\nconst ColorUtils = {\n\tgetNewColor(options, customHexValidator, oldColor = {}) {\n\t\tif (options.hex) {\n\t\t\tif (\n\t\t\t\tcustomHexValidator\n\t\t\t\t\t? !customHexValidator(options.hex)\n\t\t\t\t\t: !this.isValidHex(options.hex)\n\t\t\t) {\n\t\t\t\treturn assign({}, oldColor, {\n\t\t\t\t\thex: options.hex,\n\t\t\t\t\terrors: assign({}, oldColor.errors, {\n\t\t\t\t\t\thex: true,\n\t\t\t\t\t}),\n\t\t\t\t\thsv: {\n\t\t\t\t\t\thue: '',\n\t\t\t\t\t\tsaturation: '',\n\t\t\t\t\t\tvalue: '',\n\t\t\t\t\t},\n\t\t\t\t\trgb: {\n\t\t\t\t\t\tred: '',\n\t\t\t\t\t\tgreen: '',\n\t\t\t\t\t\tblue: '',\n\t\t\t\t\t},\n\t\t\t\t});\n\t\t\t}\n\n\t\t\tconst returnColor = {\n\t\t\t\thex: options.hex,\n\t\t\t\thsv: this.getHsvFromHex(options.hex),\n\t\t\t\trgb: this.getRgbFromHex(options.hex),\n\t\t\t};\n\n\t\t\tif (options.name) {\n\t\t\t\treturnColor.name = options.name;\n\t\t\t}\n\n\t\t\treturn returnColor;\n\t\t}\n\n\t\tif ('red' in options || 'blue' in options || 'green' in options) {\n\t\t\tconst rgb = assign({}, oldColor.rgb, options);\n\t\t\tconst errors = this.getRgbErrors(rgb);\n\n\t\t\tif (Object.values(errors).includes(true)) {\n\t\t\t\treturn assign({}, oldColor, {\n\t\t\t\t\trgb,\n\t\t\t\t\terrors: assign({}, oldColor.errors, errors),\n\t\t\t\t});\n\t\t\t}\n\n\t\t\treturn {\n\t\t\t\thex: this.getHexFromRgb(rgb),\n\t\t\t\thsv: this.getHsvFromRgb(rgb),\n\t\t\t\trgb,\n\t\t\t};\n\t\t}\n\n\t\tif ('hue' in options || 'saturation' in options || 'value' in options) {\n\t\t\tconst hsv = assign({}, oldColor.hsv, options);\n\t\t\treturn {\n\t\t\t\thex: this.getHexFromHsv(hsv),\n\t\t\t\thsv,\n\t\t\t\trgb: this.getRgbFromHsv(hsv),\n\t\t\t};\n\t\t}\n\n\t\treturn {\n\t\t\thex: '',\n\t\t\thsv: {\n\t\t\t\thue: '',\n\t\t\t\tsaturation: '',\n\t\t\t\tvalue: '',\n\t\t\t},\n\t\t\trgb: {\n\t\t\t\tred: '',\n\t\t\t\tgreen: '',\n\t\t\t\tblue: '',\n\t\t\t},\n\t\t};\n\t},\n\n\tgetDeltaColor(options, customHexValidator, oldColor) {\n\t\tconst limitValue = (value) => Math.min(Math.max(value, 0), 100);\n\n\t\treturn this.getNewColor(\n\t\t\t{\n\t\t\t\tsaturation: limitValue(\n\t\t\t\t\toldColor.hsv.saturation + (options.saturation || 0)\n\t\t\t\t),\n\t\t\t\tvalue: limitValue(oldColor.hsv.value + (options.value || 0)),\n\t\t\t},\n\t\t\tcustomHexValidator,\n\t\t\toldColor\n\t\t);\n\t},\n\n\tisValidHex(value) {\n\t\treturn !value || HEX_REGEX.test(this.toSixDigitHex(value));\n\t},\n\n\tgetRgbErrors(rgb) {\n\t\tconst hasError = (value) =>\n\t\t\tisNaN(value) ||\n\t\t\tMath.floor(value) !== Number(value) ||\n\t\t\tvalue < 0 ||\n\t\t\tvalue >= 256;\n\n\t\treturn Object.entries(rgb).reduce((errors, keyValue) => {\n\t\t\t// eslint-disable-next-line no-param-reassign\n\t\t\terrors[keyValue[0]] = hasError(keyValue[1]);\n\t\t\treturn errors;\n\t\t}, {});\n\t},\n\n\tgetHsvFromHex(hex) {\n\t\treturn this.getHsvFromRgb(this.getRgbFromHex(hex));\n\t},\n\n\tgetHexFromHsv({ hue, saturation, value }) {\n\t\treturn this.getHexFromRgb(this.getRgbFromHsv({ hue, saturation, value }));\n\t},\n\n\tgetHexFromNamedColor(name) {\n\t\treturn COLOR_NAMES[name.toLowerCase()] || null;\n\t},\n\n\tgetHsvFromRgb({ red, green, blue }) {\n\t\tconst redRatio = red / 255;\n\t\tconst greenRatio = green / 255;\n\t\tconst blueRatio = blue / 255;\n\n\t\tconst max = Math.max(redRatio, greenRatio, blueRatio);\n\t\tconst min = Math.min(redRatio, greenRatio, blueRatio);\n\n\t\tconst delta = max - min;\n\t\tconst saturation = max === 0 ? 0 : (delta / max) * 100;\n\t\tconst value = max * 100;\n\t\tlet hue;\n\n\t\tif (max === min) {\n\t\t\thue = 0;\n\t\t} else {\n\t\t\tif (redRatio === max) {\n\t\t\t\thue =\n\t\t\t\t\t(greenRatio - blueRatio) / delta + (greenRatio < blueRatio ? 6 : 0);\n\t\t\t} else if (greenRatio === max) {\n\t\t\t\thue = (blueRatio - redRatio) / delta + 2;\n\t\t\t} else {\n\t\t\t\thue = (redRatio - greenRatio) / delta + 4;\n\t\t\t}\n\n\t\t\thue *= 60;\n\t\t}\n\n\t\treturn { hue, saturation, value };\n\t},\n\n\tgetRgbFromHsv({ hue, saturation, value }) {\n\t\tconst hueRatio = hue / 360;\n\t\tconst satRatio = saturation / 100;\n\t\tconst valRatio = value / 100;\n\n\t\tlet red;\n\t\tlet green;\n\t\tlet blue;\n\n\t\tconst i = Math.floor(hueRatio * 6);\n\t\tconst f = hueRatio * 6 - i;\n\t\tconst p = valRatio * (1 - satRatio);\n\t\tconst q = valRatio * (1 - f * satRatio);\n\t\tconst t = valRatio * (1 - (1 - f) * satRatio);\n\n\t\tswitch (i % 6) {\n\t\t\tcase 0:\n\t\t\t\tred = valRatio;\n\t\t\t\tgreen = t;\n\t\t\t\tblue = p;\n\t\t\t\tbreak;\n\t\t\tcase 1:\n\t\t\t\tred = q;\n\t\t\t\tgreen = valRatio;\n\t\t\t\tblue = p;\n\t\t\t\tbreak;\n\t\t\tcase 2:\n\t\t\t\tred = p;\n\t\t\t\tgreen = valRatio;\n\t\t\t\tblue = t;\n\t\t\t\tbreak;\n\t\t\tcase 3:\n\t\t\t\tred = p;\n\t\t\t\tgreen = q;\n\t\t\t\tblue = valRatio;\n\t\t\t\tbreak;\n\t\t\tcase 4:\n\t\t\t\tred = t;\n\t\t\t\tgreen = p;\n\t\t\t\tblue = valRatio;\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\tred = valRatio;\n\t\t\t\tgreen = p;\n\t\t\t\tblue = q;\n\t\t}\n\n\t\treturn {\n\t\t\tred: Math.round(red * 255),\n\t\t\tblue: Math.round(blue * 255),\n\t\t\tgreen: Math.round(green * 255),\n\t\t};\n\t},\n\n\tgetHexFromRgb({ red, green, blue }) {\n\t\tfunction getHex(color) {\n\t\t\treturn `0${Math.round(color).toString(16)}`.substr(-2);\n\t\t}\n\t\treturn `#${getHex(red)}${getHex(green)}${getHex(blue)}`;\n\t},\n\n\tgetRgbFromHex(hex) {\n\t\tconst result = HEX_REGEX.exec(this.toSixDigitHex(hex));\n\t\treturn {\n\t\t\tred: parseInt(result[1], 16),\n\t\t\tgreen: parseInt(result[2], 16),\n\t\t\tblue: parseInt(result[3], 16),\n\t\t};\n\t},\n\n\ttoSixDigitHex(value) {\n\t\tconst shortHandHex = /^#([a-f\\d])([a-f\\d])([a-f\\d])$/i;\n\t\tconst match = shortHandHex.exec(value);\n\t\tif (match) {\n\t\t\treturn `#${match[1]}${match[1]}${match[2]}${match[2]}${match[3]}${match[3]}`;\n\t\t}\n\n\t\treturn value;\n\t},\n};\n\nexport default ColorUtils;\n","import React from 'react';\n\nimport KEYS from '../../../utilities/key-code';\nimport RadioButtonGroup from '../../../components/radio-button-group';\nimport Radio from '../../../components/radio-button-group/radio';\nimport ColorUtils from '../../../utilities/color';\n\nconst handleClick = (event, rangeIndicator, { onSaturationValueChange }) => {\n\tconst rect = event.currentTarget.getBoundingClientRect();\n\trangeIndicator.focus();\n\tonSaturationValueChange(event, {\n\t\tsaturation: Math.round(((event.clientX - rect.left) / rect.width) * 100),\n\t\tvalue: Math.round(((rect.bottom - event.clientY) / rect.height) * 100),\n\t});\n};\n\nconst handleKeyDown = (event, { onSaturationNavigate, onValueNavigate }) => {\n\tconst keyDownCallbacks = {\n\t\t[KEYS.LEFT]: (multiplier) => {\n\t\t\tonSaturationNavigate(event, {\n\t\t\t\tdelta: multiplier * -1,\n\t\t\t});\n\t\t},\n\t\t[KEYS.RIGHT]: (multiplier) => {\n\t\t\tonSaturationNavigate(event, {\n\t\t\t\tdelta: multiplier,\n\t\t\t});\n\t\t},\n\t\t[KEYS.UP]: (multiplier) => {\n\t\t\tonValueNavigate(event, {\n\t\t\t\tdelta: multiplier,\n\t\t\t});\n\t\t},\n\t\t[KEYS.DOWN]: (multiplier) => {\n\t\t\tonValueNavigate(event, {\n\t\t\t\tdelta: multiplier * -1,\n\t\t\t});\n\t\t},\n\t};\n\n\tif (keyDownCallbacks[event.keyCode]) {\n\t\tevent.preventDefault();\n\t\tkeyDownCallbacks[event.keyCode](event.shiftKey ? 10 : 1);\n\t}\n};\n\nconst selectedStyle = {\n\tborder: '1px solid #9e9e9e',\n\tboxShadow: 'rgb(117, 112, 112) 1px 1px 1px',\n\tmarginRight: '2px',\n};\n\nconst unselectedStyle = {\n\tborder: '1px solid #9e9e9e',\n\tmarginRight: '2px',\n};\n\nclass HsvColor extends React.Component {\n\tstatic displayName = 'SLDSHsvColor';\n\n\thandleSwatchChange = (event) => {\n\t\tthis.setState({\n\t\t\tisTransparentSelected: event.target.value === '',\n\t\t});\n\t\tthis.props.onSwatchChange(event);\n\t};\n\n\tisTransparent = () => this.props.color.hex === '';\n\n\trender() {\n\t\tconst style = { border: 'none', borderRadius: 'unset' };\n\t\tconst swatchStyle = this.isTransparent()\n\t\t\t? { ...unselectedStyle }\n\t\t\t: { ...selectedStyle };\n\t\tconst transparentSwatchStyle = this.isTransparent()\n\t\t\t? { ...selectedStyle }\n\t\t\t: { ...unselectedStyle };\n\n\t\t// when working color is transparent: either use the previous color or default to black\n\t\tconst fallbackWorkingColor = this.props.previousColor.hex\n\t\t\t? this.props.previousColor\n\t\t\t: ColorUtils.getNewColor({ hex: '#000000' });\n\t\tconst workingColor = this.isTransparent()\n\t\t\t? fallbackWorkingColor\n\t\t\t: this.props.color;\n\n\t\treturn (\n\t\t\t<div>\n\t\t\t\t<p\n\t\t\t\t\tclassName=\"slds-assistive-text\"\n\t\t\t\t\tid={`color-picker-instructions-${this.props.id}`}\n\t\t\t\t>\n\t\t\t\t\t{this.props.assistiveText.saturationValueGrid}\n\t\t\t\t</p>\n\t\t\t\t<div\n\t\t\t\t\tclassName=\"slds-color-picker__custom-range\"\n\t\t\t\t\tstyle={{\n\t\t\t\t\t\tbackground: `hsl(${workingColor.hsv.hue}, 100%, 50%)`,\n\t\t\t\t\t}}\n\t\t\t\t\tonClick={(event) => {\n\t\t\t\t\t\thandleClick(event, this.rangeIndicator, {\n\t\t\t\t\t\t\tonSaturationValueChange: this.props.onSaturationValueChange,\n\t\t\t\t\t\t});\n\t\t\t\t\t}}\n\t\t\t\t\trole=\"presentation\"\n\t\t\t\t>\n\t\t\t\t\t{/* eslint-disable jsx-a11y/anchor-has-content */}\n\t\t\t\t\t<a\n\t\t\t\t\t\taria-atomic=\"true\"\n\t\t\t\t\t\taria-describedby={`color-picker-instructions-${this.props.id}`}\n\t\t\t\t\t\taria-live=\"assertive\"\n\t\t\t\t\t\tclassName=\"slds-color-picker__range-indicator\"\n\t\t\t\t\t\tonKeyDown={(event) => {\n\t\t\t\t\t\t\thandleKeyDown(event, { ...this.props });\n\t\t\t\t\t\t}}\n\t\t\t\t\t\tref={(rangeIndicator) => {\n\t\t\t\t\t\t\tthis.rangeIndicator = rangeIndicator;\n\t\t\t\t\t\t}}\n\t\t\t\t\t\trole=\"button\"\n\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\tbottom: `${workingColor.hsv.value}%`,\n\t\t\t\t\t\t\tleft: `${workingColor.hsv.saturation}%`,\n\t\t\t\t\t\t}}\n\t\t\t\t\t\ttabIndex={0}\n\t\t\t\t\t>\n\t\t\t\t\t\t<span className=\"slds-assistive-text\">{`Saturation ${workingColor.hsv.saturation}% Brightness: ${workingColor.hsv.value}%`}</span>\n\t\t\t\t\t</a>\n\t\t\t\t</div>\n\t\t\t\t<div className=\"slds-color-picker__hue-and-preview\">\n\t\t\t\t\t<label\n\t\t\t\t\t\tclassName=\"slds-assistive-text\"\n\t\t\t\t\t\thtmlFor={`color-picker-input-range-${this.props.id}`}\n\t\t\t\t\t>\n\t\t\t\t\t\t{this.props.assistiveText.hueSlider}\n\t\t\t\t\t</label>\n\t\t\t\t\t<input\n\t\t\t\t\t\ttype=\"range\"\n\t\t\t\t\t\tmin=\"0\"\n\t\t\t\t\t\tmax=\"360\"\n\t\t\t\t\t\tclassName=\"slds-color-picker__hue-slider\"\n\t\t\t\t\t\tid={`color-picker-input-range-${this.props.id}`}\n\t\t\t\t\t\tvalue={workingColor.hsv.hue}\n\t\t\t\t\t\tonChange={this.props.onHueChange}\n\t\t\t\t\t/>\n\t\t\t\t\t<RadioButtonGroup\n\t\t\t\t\t\tname={`${this.props.id}-color-picker-swatch-toggle-button-group`}\n\t\t\t\t\t\tassistiveText={{ label: 'Toggle Transparency' }}\n\t\t\t\t\t\tstyle={style}\n\t\t\t\t\t\tonChange={this.handleSwatchChange}\n\t\t\t\t\t>\n\t\t\t\t\t\t<Radio\n\t\t\t\t\t\t\tchecked={!this.isTransparent()}\n\t\t\t\t\t\t\tid={`color-picker-active-working-color-swatch-${this.props.id}`}\n\t\t\t\t\t\t\tkey=\"working-color\"\n\t\t\t\t\t\t\tlabels={{\n\t\t\t\t\t\t\t\tlabel: this.props.labels.customTabActiveWorkingColorSwatch,\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\tstyle={swatchStyle}\n\t\t\t\t\t\t\tvalue={workingColor.hex}\n\t\t\t\t\t\t\tvariant=\"swatch\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<Radio\n\t\t\t\t\t\t\tchecked={this.isTransparent()}\n\t\t\t\t\t\t\tid={`color-picker-transparent-swatch-${this.props.id}`}\n\t\t\t\t\t\t\tkey=\"transparent\"\n\t\t\t\t\t\t\tlabels={{ label: this.props.labels.customTabTransparentSwatch }}\n\t\t\t\t\t\t\tstyle={transparentSwatchStyle}\n\t\t\t\t\t\t\tvalue=\"\" // transparent\n\t\t\t\t\t\t\tvariant=\"swatch\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t</RadioButtonGroup>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t);\n\t}\n}\n\nexport default HsvColor;\n","import React from 'react';\n\nimport CustomColorForm from './custom-color-form';\nimport HsvColor from './hsv-color';\n\n// using state to manage everything in here because multiple HSV coordinates\n// can map to a single RGB coordinate and we lose that if we're always passing\n// in a hex color\nclass CustomColor extends React.Component {\n\tstatic displayName = 'SLDSCustomColor';\n\n\trender() {\n\t\tlet errorText;\n\n\t\tif (this.props.errorTextWorkingColor) {\n\t\t\terrorText = this.props.errorTextWorkingColor;\n\t\t} else if (this.props.color.errors && this.props.color.errors.hex) {\n\t\t\terrorText = this.props.labels.invalidColor;\n\t\t} else {\n\t\t\terrorText = this.props.labels.invalidComponent;\n\t\t}\n\n\t\treturn (\n\t\t\t<div className=\"slds-color-picker__custom\">\n\t\t\t\t<HsvColor\n\t\t\t\t\tassistiveText={this.props.assistiveText}\n\t\t\t\t\tcolor={this.props.color}\n\t\t\t\t\tid={this.props.id}\n\t\t\t\t\tlabels={this.props.labels}\n\t\t\t\t\tonHueChange={this.props.onHueChange}\n\t\t\t\t\tonSaturationValueChange={this.props.onSaturationValueChange}\n\t\t\t\t\tonSaturationNavigate={this.props.onSaturationNavigate}\n\t\t\t\t\tonValueNavigate={this.props.onValueNavigate}\n\t\t\t\t\tonSwatchChange={this.props.onSwatchChange}\n\t\t\t\t\tpreviousColor={this.props.previousColor}\n\t\t\t\t/>\n\t\t\t\t<CustomColorForm\n\t\t\t\t\tcolor={this.props.color}\n\t\t\t\t\tid={this.props.id}\n\t\t\t\t\terrorTextWorkingColor={this.props.errorTextWorkingColor}\n\t\t\t\t\tlabels={this.props.labels}\n\t\t\t\t\tonBlueChange={this.props.onBlueChange}\n\t\t\t\t\tonGreenChange={this.props.onGreenChange}\n\t\t\t\t\tonHexChange={this.props.onHexChange}\n\t\t\t\t\tonRedChange={this.props.onRedChange}\n\t\t\t\t/>\n\t\t\t\t{this.props.errorTextWorkingColor || this.props.color.errors ? (\n\t\t\t\t\t<p\n\t\t\t\t\t\tclassName=\"slds-form-error slds-color-picker__input-custom-error\"\n\t\t\t\t\t\tid={`color-picker-custom-error-${this.props.id}`}\n\t\t\t\t\t>\n\t\t\t\t\t\t{errorText}\n\t\t\t\t\t</p>\n\t\t\t\t) : (\n\t\t\t\t\t''\n\t\t\t\t)}\n\t\t\t</div>\n\t\t);\n\t}\n}\n\nexport default CustomColor;\n","import React from 'react';\nimport Swatch from './swatch';\n\nconst handleClick = (event, { hex, onSelect }) => {\n\tevent.preventDefault();\n\tonSelect(event, { hex });\n};\nconst selectedStyle = {\n\tborder: '1px solid #141414',\n\tborderRadius: '2px',\n\tmargin: '3px',\n};\n\nconst selectedInnerStyle = {\n\tborder: '1px solid white',\n\tborderRadius: '2px',\n};\n\nclass SwatchOption extends React.Component {\n\tstatic displayName = 'SLDSSwatchOption';\n\n\trender() {\n\t\treturn (\n\t\t\t<li\n\t\t\t\tclassName=\"slds-color-picker__swatch\"\n\t\t\t\tstyle={\n\t\t\t\t\tthis.props.workingColor &&\n\t\t\t\t\tthis.props.workingColor.hex === this.props.color\n\t\t\t\t\t\t? selectedStyle\n\t\t\t\t\t\t: {}\n\t\t\t\t}\n\t\t\t\trole=\"presentation\"\n\t\t\t>\n\t\t\t\t<a\n\t\t\t\t\taria-selected={\n\t\t\t\t\t\tthis.props.workingColor &&\n\t\t\t\t\t\tthis.props.workingColor.hex === this.props.color\n\t\t\t\t\t}\n\t\t\t\t\tclassName=\"slds-color-picker__swatch-trigger\"\n\t\t\t\t\tonClick={(event) => {\n\t\t\t\t\t\thandleClick(event, {\n\t\t\t\t\t\t\thex: this.props.color,\n\t\t\t\t\t\t\tonSelect: this.props.onSelect,\n\t\t\t\t\t\t});\n\t\t\t\t\t}}\n\t\t\t\t\tref={this.props.swatchOptionRef}\n\t\t\t\t\trole=\"option\"\n\t\t\t\t\tstyle={\n\t\t\t\t\t\tthis.props.workingColor &&\n\t\t\t\t\t\tthis.props.workingColor === this.props.color\n\t\t\t\t\t\t\t? selectedInnerStyle\n\t\t\t\t\t\t\t: {}\n\t\t\t\t\t}\n\t\t\t\t\ttabIndex={this.props.tabIndex}\n\t\t\t\t>\n\t\t\t\t\t<Swatch color={this.props.color} labels={this.props.labels} />\n\t\t\t\t</a>\n\t\t\t</li>\n\t\t);\n\t}\n}\n\nexport default SwatchOption;\n","import React from 'react';\nimport findIndex from 'lodash.findindex';\n\nimport SwatchOption from './swatch-option';\nimport KEYS from '../../../utilities/key-code';\nimport EventUtil from '../../../utilities/event';\n\nimport { DIRECTIONS } from '../../utilities/UNSAFE_direction';\nimport LanguageDirection from '../../utilities/UNSAFE_direction/private/language-direction';\n\nclass SwatchPicker extends React.Component {\n\tstatic displayName = 'SLDSSwatchPicker';\n\n\tconstructor(props) {\n\t\tsuper(props);\n\t\tthis.swatchColorRefs = {};\n\t}\n\n\tselectPreviousColor = (event, props) => {\n\t\tconst index = findIndex(\n\t\t\tprops.swatchColors,\n\t\t\t(item) => item === props.color.hex\n\t\t);\n\t\tconst nextIndex =\n\t\t\tindex === -1 || index === props.swatchColors.length - 1 ? 0 : index + 1;\n\t\tconst prevColor = props.swatchColors[nextIndex];\n\t\tprops.onSelect(event, {\n\t\t\thex: prevColor,\n\t\t});\n\n\t\tthis.swatchColorRefs[prevColor].focus();\n\t};\n\n\tselectNextColor = (event, props) => {\n\t\tconst index = findIndex(\n\t\t\tprops.swatchColors,\n\t\t\t(item) => item === props.color.hex\n\t\t);\n\t\tlet prevIndex;\n\t\tif (index === 0) {\n\t\t\tprevIndex = props.swatchColors.length - 1;\n\t\t} else if (index === -1) {\n\t\t\tprevIndex = 0;\n\t\t} else {\n\t\t\tprevIndex = index - 1;\n\t\t}\n\t\tconst nextColor = props.swatchColors[prevIndex];\n\t\tprops.onSelect(event, {\n\t\t\thex: nextColor,\n\t\t});\n\n\t\tthis.swatchColorRefs[nextColor].focus();\n\t};\n\n\thandleKeyDown = (event, props) => {\n\t\tconst keyDownCallbacks = {\n\t\t\t[KEYS.RIGHT]: () => {\n\t\t\t\tif (props.direction === DIRECTIONS.RTL) {\n\t\t\t\t\tthis.selectNextColor(event, props);\n\t\t\t\t} else {\n\t\t\t\t\tthis.selectPreviousColor(event, props);\n\t\t\t\t}\n\t\t\t},\n\t\t\t[KEYS.DOWN]: () => {\n\t\t\t\tthis.selectPreviousColor(event, props);\n\t\t\t},\n\n\t\t\t[KEYS.LEFT]: () => {\n\t\t\t\tif (props.direction === DIRECTIONS.RTL) {\n\t\t\t\t\tthis.selectPreviousColor(event, props);\n\t\t\t\t} else {\n\t\t\t\t\tthis.selectNextColor(event, props);\n\t\t\t\t}\n\t\t\t},\n\t\t\t[KEYS.UP]: () => {\n\t\t\t\tthis.selectNextColor(event, props);\n\t\t\t},\n\t\t};\n\n\t\tif (event.keyCode) {\n\t\t\tif (keyDownCallbacks[event.keyCode]) {\n\t\t\t\tEventUtil.trapEvent(event);\n\t\t\t\tkeyDownCallbacks[event.keyCode]();\n\t\t\t}\n\t\t}\n\t};\n\n\taddRef = (color) => (el) => {\n\t\tthis.swatchColorRefs[color] = el;\n\t};\n\n\trender() {\n\t\tconst isSelectedColorInSwatch = this.props.swatchColors.includes(\n\t\t\tthis.props.color.hex\n\t\t);\n\n\t\treturn (\n\t\t\t<ul\n\t\t\t\tclassName=\"slds-color-picker__swatches\"\n\t\t\t\trole=\"listbox\"\n\t\t\t\tonKeyDown={(event) => {\n\t\t\t\t\tthis.handleKeyDown(event, {\n\t\t\t\t\t\t...this.props,\n\t\t\t\t\t});\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\t{this.props.swatchColors.map((color, index) => (\n\t\t\t\t\t<SwatchOption\n\t\t\t\t\t\tcolor={color}\n\t\t\t\t\t\tkey={color}\n\t\t\t\t\t\tlabels={this.props.labels}\n\t\t\t\t\t\tonSelect={this.props.onSelect}\n\t\t\t\t\t\tswatchOptionRef={this.addRef(color)}\n\t\t\t\t\t\tworkingColor={this.props.color}\n\t\t\t\t\t\ttabIndex={\n\t\t\t\t\t\t\t(this.props.color && this.props.color.hex === color) ||\n\t\t\t\t\t\t\t(index === 0 && !isSelectedColorInSwatch)\n\t\t\t\t\t\t\t\t? 0\n\t\t\t\t\t\t\t\t: -1\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t))}\n\t\t\t</ul>\n\t\t);\n\t}\n}\n\nexport default LanguageDirection(SwatchPicker);\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// # Tabs Component\n\n// Implements the [Tabs design pattern](https://www.lightningdesignsystem.com/components/tabs/) in React.\n\n// ## Dependencies\n\n// ### React\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\n// ### classNames\nimport classNames from 'classnames';\nimport { TABS_LIST } from '../../../utilities/constants';\n\nconst TabsList = ({ id, className, children, variant }) => (\n\t<ul\n\t\tid={`${id}-slds-tabs__nav`}\n\t\tclassName={classNames(className, {\n\t\t\t'slds-tabs_default__nav': variant === 'default',\n\t\t\t'slds-tabs_scoped__nav': variant === 'scoped',\n\t\t\t'slds-vertical-tabs__nav': variant === 'vertical',\n\t\t})}\n\t\trole=\"tablist\"\n\t\taria-orientation={variant === 'vertical' ? 'vertical' : undefined}\n\t>\n\t\t{children}\n\t</ul>\n);\n\nTabsList.displayName = TABS_LIST;\n\nTabsList.propTypes = {\n\t/**\n\t * Inherits the `id` from the parent `<Tabs />` component and appends `-tabs__nav`. Becomes the HTML `id` attribute of UL element that has the class `.slds-tabs_default__nav` on it.\n\t */\n\tid: PropTypes.string,\n\n\t/**\n\t * Class names to be added to the tabs list element.\n\t */\n\tclassName: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\n\t/**\n\t * The `children` are the actual tabs to be rendered as `li` elements. They get created by [tabs/index.jsx](./index.jsx) in the `renderTabsList` function.\n\t */\n\tchildren: PropTypes.oneOfType([PropTypes.object, PropTypes.array]),\n\n\t/**\n\t * If the Tabs should be scoped, vertical, or default (default value)\n\t */\n\tvariant: PropTypes.oneOf(['default', 'scoped', 'vertical']),\n};\n\nexport default TabsList;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n/* eslint-disable jsx-a11y/no-interactive-element-to-noninteractive-role */\n\n// # TabItem Component\n\n// ## Dependencies\n\n// ### React\nimport React from 'react';\n\nimport PropTypes from 'prop-types';\n\n// ### classNames\nimport classNames from 'classnames';\n\n// ## Constants\nimport { TAB } from '../../../utilities/constants';\n\nimport Icon from '../../icon';\n\n/*\n * Disabled Tab CSS has been removed. If you'd like to use the styling, please import it in your module bundler.\n */\n// import '!style-loader!css-loader!../../../styles/tabs/tab.css'; // eslint-disable-line import/no-unresolved\n\nclass Tab extends React.Component {\n\tstatic displayName = TAB;\n\n\tstatic propTypes = {\n\t\t/**\n\t\t * CSS classes to be added to the tab.\n\t\t */\n\t\tclassName: PropTypes.string,\n\n\t\t/**\n\t\t * The HTML ID of this tab. Also used by the `<TabPanel />` it controls as `tabId`.\n\t\t */\n\t\tid: PropTypes.string,\n\n\t\t/**\n\t\t * Whether to apply focus to this tab.\n\t\t */\n\t\tfocus: PropTypes.bool,\n\n\t\t/**\n\t\t * When `true`, the class `.slds-is-active` is applied.\n\t\t */\n\t\tselected: PropTypes.bool,\n\n\t\t/**\n\t\t * When `true`, the HTML attribute `aria-disabled` will be applied. Disabled Tab CSS has been removed. If you'd like to use the styling, please import it in your module bundler. `import 'css-loader!/node_modules/design-system-react/styles/tabs/tab.css';` This feature may be removed in the future due to disabled tabs being inaccessible.\n\t\t */\n\t\tdisabled: PropTypes.bool,\n\n\t\t/**\n\t\t * The CSS class to be applied when this tab is selected. Defaults to `.slds-is-active`. If another class is desired, it should be passed in _along with_ `.slds-is-active`, not _instead_ of it.\n\t\t */\n\t\tactiveTabClassName: PropTypes.string,\n\n\t\t/**\n\t\t * The CSS class to be applied when this tab is disabled. Defaults to `.slds-disabled`. If another class is desired, it should be passed in _along with_ `.slds-disabled`, not _instead_ of it.\n\t\t */\n\t\tdisabledTabClassName: PropTypes.string,\n\n\t\t/**\n\t\t * The HTML ID of `<TabPanel />` this tab controls.\n\t\t */\n\t\tpanelId: PropTypes.string,\n\n\t\t/**\n\t\t * The string or element that is shown as both the title and the label for this tab.\n\t\t */\n\t\tchildren: PropTypes.oneOfType([PropTypes.string, PropTypes.element]),\n\n\t\t/**\n\t\t * If the Tabs should be scoped, vertical, or default (default value)\n\t\t */\n\t\tvariant: PropTypes.oneOf(['default', 'scoped', 'vertical']),\n\n\t\t/**\n\t\t * Show an icon that can be used to communicate when a tab contains a validation error that needs attention\n\t\t */\n\t\thasError: PropTypes.bool,\n\n\t\t/**\n\t\t * **Assistive text for accessibility**\n\t\t * This object is merged with the default props object on every render.\n\t\t * * `withErrorIcon`: This text is for the error icon that will be placed next to the `<Tab />` title\n\t\t */\n\t\tassistiveText: PropTypes.shape({\n\t\t\twithErrorIcon: PropTypes.string,\n\t\t}),\n\t};\n\n\tstatic defaultProps = {\n\t\tfocus: false,\n\t\tselected: false,\n\t\tactiveTabClassName: 'slds-is-active',\n\t\tdisabledTabClassName: 'slds-disabled',\n\t\tvariant: 'default',\n\t\thasError: false,\n\t\tassistiveText: {\n\t\t\twithErrorIcon: 'This item has an error',\n\t\t},\n\t};\n\n\tcomponentDidMount() {\n\t\tthis.checkFocus();\n\t}\n\n\tcomponentDidUpdate() {\n\t\tthis.checkFocus();\n\t}\n\n\tcheckFocus = () => {\n\t\tif (this.props.selected && this.props.focus && this.node) {\n\t\t\tthis.node.focus();\n\t\t}\n\t};\n\n\trender() {\n\t\tconst {\n\t\t\tselected,\n\t\t\tdisabled,\n\t\t\tpanelId,\n\t\t\tactiveTabClassName,\n\t\t\tdisabledTabClassName,\n\t\t\tclassName,\n\t\t\tchildren,\n\t\t\tid,\n\t\t\tvariant,\n\t\t\thasError,\n\t\t} = this.props;\n\t\tlet tabIndex;\n\n\t\t/**\n\t\t * Desired a11y behaviour: The active Tab should get focus when the user presses the\n\t\t * Tab key. After that, Arrow keys should be used to change the focus from one tab\n\t\t * to another. Pressing the Tab key one more time should move the focus away from the\n\t\t * Tab group.\n\t\t *\n\t\t * Here, we put the selected Tab in the navigation path (tabIndex = 0) and remove other\n\t\t * tabs from navigation path (tabIndex = -1).\n\t\t */\n\t\tif (selected) {\n\t\t\ttabIndex = '0';\n\t\t} else {\n\t\t\ttabIndex = '-1';\n\t\t}\n\n\t\treturn (\n\t\t\t<li\n\t\t\t\tclassName={classNames(className, {\n\t\t\t\t\t[activeTabClassName]: selected,\n\t\t\t\t\t[disabledTabClassName]: disabled,\n\t\t\t\t\t'slds-tabs_default__item': variant === 'default',\n\t\t\t\t\t'slds-tabs_scoped__item': variant === 'scoped',\n\t\t\t\t\t'slds-vertical-tabs__nav-item': variant === 'vertical',\n\t\t\t\t})}\n\t\t\t\trole=\"presentation\"\n\t\t\t\tid={id}\n\t\t\t\ttitle={typeof children === 'string' ? children : null}\n\t\t\t>\n\t\t\t\t<a\n\t\t\t\t\tclassName={classNames({\n\t\t\t\t\t\t[activeTabClassName]: selected,\n\t\t\t\t\t\t[disabledTabClassName]: disabled,\n\t\t\t\t\t\t'slds-tabs_default__link': variant === 'default',\n\t\t\t\t\t\t'slds-tabs_scoped__link': variant === 'scoped',\n\t\t\t\t\t\t'slds-vertical-tabs__link': variant === 'vertical',\n\t\t\t\t\t})}\n\t\t\t\t\thref=\"javascript:void(0);\" // eslint-disable-line no-script-url\n\t\t\t\t\trole=\"tab\"\n\t\t\t\t\tref={(node) => {\n\t\t\t\t\t\tthis.node = node;\n\t\t\t\t\t}}\n\t\t\t\t\ttabIndex={tabIndex}\n\t\t\t\t\taria-controls={panelId}\n\t\t\t\t\taria-disabled={disabled}\n\t\t\t\t\taria-selected={selected ? 'true' : 'false'}\n\t\t\t\t>\n\t\t\t\t\t{children}\n\t\t\t\t\t{hasError && (\n\t\t\t\t\t\t<span\n\t\t\t\t\t\t\tclassName={classNames({\n\t\t\t\t\t\t\t\t'slds-tabs__right-icon': variant !== 'vertical',\n\t\t\t\t\t\t\t\t'slds-vertical-tabs__right-icon': variant === 'vertical',\n\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<Icon\n\t\t\t\t\t\t\t\tassistiveText={{\n\t\t\t\t\t\t\t\t\tlabel: this.props.assistiveText.withErrorIcon,\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\tcategory=\"utility\"\n\t\t\t\t\t\t\t\tcontainerClassName=\"slds-icon_container slds-icon-utility-error\"\n\t\t\t\t\t\t\t\tsize=\"x-small\"\n\t\t\t\t\t\t\t\tname=\"error\"\n\t\t\t\t\t\t\t\tcolorVariant=\"error\"\n\t\t\t\t\t\t\t\ttitle={this.props.assistiveText.withErrorIcon}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</span>\n\t\t\t\t\t)}\n\t\t\t\t</a>\n\t\t\t</li>\n\t\t);\n\t}\n}\n\nexport default Tab;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// # Tabs Component\n\n// Implements the [Tabs design pattern](https://www.lightningdesignsystem.com/components/tabs/) in React.\n\n// ## Dependencies\n\n// ### React\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\n// ### classNames\nimport classNames from 'classnames';\nimport { TAB_PANEL } from '../../../utilities/constants';\n\n/**\n * The containers of content that are shown and hidden by `Tabs`.\n */\nconst TabPanel = ({\n\tclassName,\n\tchildren,\n\tvariant,\n\tselected,\n\tid,\n\ttabId,\n\t...attributes // eslint-disable-line no-unused-vars\n}) => (\n\t<div\n\t\taria-labelledby={tabId}\n\t\tclassName={classNames(className, {\n\t\t\t'slds-show': selected,\n\t\t\t'slds-hide': !selected,\n\t\t\t'slds-tabs_default__content': variant === 'default',\n\t\t\t'slds-tabs_scoped__content': variant === 'scoped',\n\t\t\t'slds-vertical-tabs__content': variant === 'vertical',\n\t\t})}\n\t\tid={id}\n\t\trole=\"tabpanel\"\n\t>\n\t\t{children.props.children}\n\t</div>\n);\n\nTabPanel.displayName = TAB_PANEL;\n\nTabPanel.propTypes = {\n\t/**\n\t * The `children` are the contents of the tab panel.\n\t *\n\t * Note that the structure of the `<Tabs />` component **does not** correspond to the DOM structure that is rendered. The `<Tabs />` component requires one or more children of type `<TabsPanel />`, which themselves require a `label` property which will be what shows in the `<Tab />` and has `children`, which end up being the _contents of the tab's corresponding panel_.\n\t *\n\t * The component iterates through each `<TabsPanel />` and rendering one `<Tab />` and one `<TabPanel />` for each of them. The tab(s) end up being children of the `<TabsList />`.\n\t *\n\t * The tab panel component actually returns the _children_ of the _children_ which were provided by the `<TabsPanel />` component.\n\t *\n\t * Due to React's nature, the `<TabsPanel />` component wraps its children in a `div` element which we don't need nor want in our rendered DOM structure, so we just bypass it and get its kids via `{children.props.children}` in the render method below.\n\t * ```\n\t * <Tabs>\n\t * \t<TabsPanel label=\"Tab 1\">\n\t * \t\t<h2 className=\"slds-text-heading_medium\">This is my tab 1 contents!</h2>\n\t * \t\t<p>They show when you click the first tab.</p>\n\t * \t</TabsPanel>\n\t * \t<TabsPanel label=\"Tab 2\">\n\t * \t\t<h2 className=\"slds-text-heading_medium\">This is my tab 2 contents!</h2>\n\t * \t\t<p>They show when you click the second tab.</p>\n\t * \t</TabsPanel>\n\t * </Tabs>\n\t * ```\n\t */\n\tchildren: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\n\t/**\n\t * CSS classes to be added to the tab panel.\n\t */\n\tclassName: PropTypes.string,\n\n\t/**\n\t * The HTML ID of this tab panel. Also used by the `<Tab />`that controls it as `panelId`.\n\t */\n\tid: PropTypes.string,\n\n\t/**\n\t * Whether this panel is hidden or shown. Uses the `.slds-show` and `.slds-hide` classes.\n\t */\n\tselected: PropTypes.bool,\n\n\t/**\n\t * If the Tabs should be scoped, vertical, or default (default value)\n\t */\n\tvariant: PropTypes.oneOf(['default', 'scoped', 'vertical']),\n\n\t/**\n\t * The HTML ID of the `<Tab />` that controls this panel.\n\t */\n\ttabId: PropTypes.string,\n};\n\nTabPanel.defaultProps = {\n\tvariant: 'default',\n\tselected: false,\n};\n\nexport default TabPanel;\n","/* eslint-disable no-else-return */\n/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// # Tabs Component\n\n// Implements the [Tabs design pattern](https://www.lightningdesignsystem.com/components/tabs/) in React.\n\n// ## Dependencies\n\n// ### React\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\n// ### shortid\n// `shortid` is a short, non-sequential, url-friendly, unique id generator. It is used here to provide unique strings for the HTML attribute `id` on the Tabs components. It is only used if the `id` prop is not provided on the man <Tabs /> component.\nimport shortid from 'shortid';\n\n// ### classNames\nimport classNames from 'classnames';\n\n// ### isFunction\nimport isFunction from 'lodash.isfunction';\n\n// Child components\nimport TabsList from './private/tabs-list';\nimport Tab from './private/tab';\nimport TabPanel from './private/tab-panel';\n\n// ## Constants\nimport { TABS } from '../../utilities/constants';\n\n// ### Event Helpers\nimport KEYS from '../../utilities/key-code';\nimport EventUtil from '../../utilities/event';\n\n// Determine if a node from event.target is a Tab element\nfunction isTabNode(node) {\n\treturn (\n\t\t(node.nodeName === 'A' && node.getAttribute('role') === 'tab') ||\n\t\t(node.nodeName === 'LI' &&\n\t\t\t(node.classList.contains('slds-tabs_default__item') ||\n\t\t\t\tnode.classList.contains('slds-tabs_scoped__item') ||\n\t\t\t\tnode.classList.contains('slds-vertical-tabs__nav-item')))\n\t);\n}\n\n// Determine if a tab node is disabled\nfunction isTabDisabled(node) {\n\tif (node.classList && node.classList.contains('slds-disabled')) {\n\t\treturn true;\n\t} else if (node.getAttribute) {\n\t\treturn node.getAttribute('aria-disabled') === 'true';\n\t}\n\n\treturn !!node.props.disabled;\n}\n\n/**\n * Tabs keeps related content in a single container that is shown and hidden through navigation.\n */\nconst displayName = TABS;\nconst propTypes = {\n\t/**\n\t * HTML `id` attribute of primary element that has `.slds-tabs_default` on it. Optional: If one is not supplied, a `shortid` will be created.\n\t */\n\tid: PropTypes.string,\n\n\t/**\n\t * The `children` are the actual tabs and panels to be displayed.\n\t *\n\t * Note that the structure of the `<Tabs />` component **does not** correspond to the DOM structure that is rendered. The `<Tabs />` component requires one or more children of type `<TabsPanel />`, which themselves require a `label` property which will be what shows in the `<Tab />` and has `children`, which end up being the _contents of the tab's corresponding panel_.\n\t *\n\t * The component iterates through each `<TabsPanel />` and rendering one `<Tab />` and one `<TabPanel />` for each of them. The tab(s) end up being children of the `<TabsList />`.\n\t *\n\t * ```\n\t * <Tabs>\n\t * \t<TabsPanel label=\"Tab 1\">\n\t * \t\t<div>\n\t * \t\t\t<h2 className=\"slds-text-heading_medium\">This is my tab 1 contents!</h2>\n\t * \t\t\t<p>They show when you click the first tab.</p>\n\t * \t\t</div>\n\t * \t</TabsPanel>\n\t * \t<TabsPanel label=\"Tab 2\">\n\t * \t\t<div>\n\t * \t\t\t<h2 className=\"slds-text-heading_medium\">This is my tab 2 contents!</h2>\n\t * \t\t\t<p>They show when you click the second tab.</p>\n\t * \t\t</div>\n\t * \t</TabsPanel>\n\t * </Tabs>\n\t * ```\n\t */\n\tchildren: PropTypes.oneOfType([\n\t\tPropTypes.arrayOf(PropTypes.node),\n\t\tPropTypes.node,\n\t\tPropTypes.element,\n\t]).isRequired,\n\n\t/**\n\t * Class names to be added to the container element and is passed along to its children.\n\t */\n\tclassName: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\n\t/**\n\t * The Tab (and corresponding TabPanel) that is selected when the component first renders. Defaults to `0`.\n\t */\n\tdefaultSelectedIndex: PropTypes.number,\n\n\t/**\n\t * This function triggers when a tab is selected.\n\t */\n\tonSelect: PropTypes.func,\n\n\t/**\n\t * If the Tabs should be scoped, vertical, or default (default value)\n\t */\n\tvariant: PropTypes.oneOf(['default', 'scoped', 'vertical']),\n\n\t/**\n\t * The Tab (and corresponding TabPanel) that is currently selected.\n\t */\n\tselectedIndex: PropTypes.number,\n};\nconst defaultProps = {\n\tdefaultSelectedIndex: 0,\n\tvariant: 'default',\n};\n\n/**\n * A tab keeps related content in a single container that is shown and hidden through navigation.\n */\nclass Tabs extends React.Component {\n\tconstructor(props) {\n\t\tsuper(props);\n\t\tthis.tabs = [];\n\n\t\t// If no `id` is supplied in the props we generate one. An HTML ID is _required_ for several elements in a tabs component in order to leverage ARIA attributes for accessibility.\n\t\tthis.generatedId = shortid.generate();\n\t\tthis.flavor = this.getVariant();\n\t\tthis.state = {\n\t\t\tselectedIndex: props.defaultSelectedIndex,\n\t\t};\n\t}\n\n\tgetNextTab(index) {\n\t\tconst count = this.getTabsCount();\n\n\t\t// Look for non-disabled tab from index to the last tab on the right\n\t\t// eslint-disable-next-line no-plusplus\n\t\t// eslint-disable-next-line no-plusplus, fp/no-loops\n\t\tfor (let i = index + 1; i < count; i++) {\n\t\t\tconst tab = this.getTab(i);\n\t\t\tif (!isTabDisabled(tab)) {\n\t\t\t\treturn i;\n\t\t\t}\n\t\t}\n\n\t\t// If no tab found, continue searching from first on left to index\n\t\t// eslint-disable-next-line no-plusplus, fp/no-loops\n\t\tfor (let i = 0; i < index; i++) {\n\t\t\tconst tab = this.getTab(i);\n\t\t\tif (!isTabDisabled(tab)) {\n\t\t\t\treturn i;\n\t\t\t}\n\t\t}\n\n\t\t// No tabs are disabled, return index\n\t\treturn index;\n\t}\n\n\tgetPanelsCount() {\n\t\treturn this.props.children ? React.Children.count(this.props.children) : 0;\n\t}\n\n\tgetPrevTab(index) {\n\t\tlet i = index;\n\n\t\t// Look for non-disabled tab from index to first tab on the left\n\t\t// eslint-disable-next-line fp/no-loops, no-plusplus\n\t\twhile (i--) {\n\t\t\tconst tab = this.getTab(i);\n\t\t\tif (!isTabDisabled(tab)) {\n\t\t\t\treturn i;\n\t\t\t}\n\t\t}\n\n\t\t// If no tab found, continue searching from last tab on right to index\n\t\ti = this.getTabsCount();\n\t\t// eslint-disable-next-line fp/no-loops, no-plusplus\n\t\twhile (i-- > index) {\n\t\t\tconst tab = this.getTab(i);\n\t\t\tif (!isTabDisabled(tab)) {\n\t\t\t\treturn i;\n\t\t\t}\n\t\t}\n\n\t\t// No tabs are disabled, return index\n\t\treturn index;\n\t}\n\n\tgetSelectedIndex() {\n\t\treturn Number.isInteger(this.props.selectedIndex)\n\t\t\t? this.props.selectedIndex\n\t\t\t: this.state.selectedIndex;\n\t}\n\n\tgetTab(index) {\n\t\treturn this.tabs[index].tab;\n\t}\n\n\tgetTabNode(index) {\n\t\treturn this.tabs[index].node;\n\t}\n\n\tgetTabsCount() {\n\t\treturn this.props.children ? React.Children.count(this.props.children) : 0;\n\t}\n\n\tgetVariant() {\n\t\treturn this.props.variant || 'default';\n\t}\n\n\tsetSelected(index, focus) {\n\t\t// Check index boundary\n\t\tif (index < 0 || index >= this.getTabsCount()) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Keep reference to last index for event handler\n\t\tconst last = this.getSelectedIndex();\n\n\t\t/**\n\t\t * This is a temporary solution that could be broken in the future without notification,\n\t\t * since this component is not a controlled component and only relies on internal state.\n\t\t * If this breaks in the future an alternative way to control the state from outside the\n\t\t * component should be present.\n\t\t * */\n\t\tlet shouldContinue;\n\t\t// Call change event handler\n\t\tif (isFunction(this.props.onSelect)) {\n\t\t\tshouldContinue = this.props.onSelect(index, last);\n\t\t}\n\n\t\t// Don't update the state if nothing has changed\n\t\tif (shouldContinue !== false && index !== this.state.selectedIndex) {\n\t\t\tthis.setState({ selectedIndex: index, focus: focus === true });\n\t\t}\n\t}\n\n\thandleClick = (e) => {\n\t\tlet node = e.target;\n\t\t/* eslint-disable no-cond-assign, fp/no-loops */\n\t\tdo {\n\t\t\tif (this.isTabFromContainer(node)) {\n\t\t\t\tif (isTabDisabled(node)) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tlet parentNode = node.parentNode; // eslint-disable-line prefer-destructuring\n\n\t\t\t\tif (parentNode.nodeName === 'LI') {\n\t\t\t\t\tnode = node.parentNode;\n\t\t\t\t\tparentNode = node.parentNode; // eslint-disable-line prefer-destructuring\n\t\t\t\t}\n\n\t\t\t\tconst index = [].slice.call(parentNode.children).indexOf(node);\n\t\t\t\tthis.setSelected(index);\n\t\t\t\treturn;\n\t\t\t}\n\t\t} while ((node = node.parentNode) !== null);\n\t\t/* eslint-enable no-cond-assign */\n\t};\n\n\thandleKeyDown = (event) => {\n\t\tif (this.isTabFromContainer(event.target)) {\n\t\t\tlet index = this.getSelectedIndex();\n\t\t\tlet preventDefault = false;\n\n\t\t\tif (event.keyCode === KEYS.LEFT || event.keyCode === KEYS.UP) {\n\t\t\t\t// Select next tab to the left\n\t\t\t\tindex = this.getPrevTab(index);\n\t\t\t\tpreventDefault = true;\n\t\t\t} else if (event.keyCode === KEYS.RIGHT || event.keyCode === KEYS.DOWN) {\n\t\t\t\t// Select next tab to the right\n\t\t\t\tindex = this.getNextTab(index);\n\t\t\t\tpreventDefault = true;\n\t\t\t}\n\n\t\t\t// Prevent any dumn scrollbars from moving around as we type.\n\t\t\tif (preventDefault) {\n\t\t\t\tEventUtil.trap(event);\n\t\t\t}\n\n\t\t\tthis.setSelected(index, true);\n\t\t}\n\t};\n\n\t/**\n\t * Determine if a node from event.target is a Tab element for the current Tabs container.\n\t * If the clicked element is not a Tab, it returns false.\n\t * If it finds another Tabs container between the Tab and `this`, it returns false.\n\t */\n\tisTabFromContainer(node) {\n\t\t// Return immediately if the clicked element is not a Tab. This prevents tab panel content from selecting a tab.\n\t\tif (!isTabNode(node)) {\n\t\t\treturn false;\n\t\t}\n\n\t\t// Check if the first occurrence of a Tabs container is `this` one.\n\t\tlet nodeAncestor = node.parentElement;\n\t\tdo {\n\t\t\tif (nodeAncestor === this.tabsNode) return true;\n\t\t\telse if (nodeAncestor.getAttribute('data-tabs')) break;\n\t\t\tnodeAncestor = nodeAncestor.parentElement;\n\t\t} while (nodeAncestor);\n\n\t\treturn false;\n\t}\n\n\trenderTabPanels(parentId) {\n\t\tconst children = React.Children.toArray(this.props.children);\n\t\tconst selectedIndex = this.getSelectedIndex();\n\t\tlet result = null;\n\n\t\tresult = children.map((child, index) => {\n\t\t\tconst tabId = `${parentId}-slds-tabs_tab-${index}`;\n\t\t\tconst id = `${parentId}-slds-tabs_panel-${index}`;\n\t\t\tconst selected = selectedIndex === index;\n\t\t\tconst variant = this.getVariant();\n\n\t\t\treturn (\n\t\t\t\t<TabPanel\n\t\t\t\t\tkey={child.key}\n\t\t\t\t\tselected={selected}\n\t\t\t\t\tid={id}\n\t\t\t\t\ttabId={tabId}\n\t\t\t\t\tvariant={variant}\n\t\t\t\t>\n\t\t\t\t\t{children[index]}\n\t\t\t\t</TabPanel>\n\t\t\t);\n\t\t});\n\t\treturn result;\n\t}\n\n\trenderTabsList(parentId) {\n\t\tconst children = React.Children.toArray(this.props.children);\n\n\t\treturn (\n\t\t\t// `parentId` gets consumed by TabsList, adding a suffix of `-tabs__nav`\n\t\t\t<TabsList id={parentId} variant={this.getVariant()}>\n\t\t\t\t{children.map((child, index) => {\n\t\t\t\t\tconst id = `${parentId}-slds-tabs_tab-${index}`;\n\t\t\t\t\tconst panelId = `${parentId}-slds-tabs_panel-${index}`;\n\t\t\t\t\tconst selected = this.getSelectedIndex() === index;\n\t\t\t\t\tconst focus = selected && this.state.focus;\n\t\t\t\t\tconst variant = this.getVariant();\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<Tab\n\t\t\t\t\t\t\tkey={child.key}\n\t\t\t\t\t\t\tref={(node) => {\n\t\t\t\t\t\t\t\tthis.tabs[index] = { tab: child, node };\n\t\t\t\t\t\t\t\tif (this.state.focus) {\n\t\t\t\t\t\t\t\t\tthis.setState({ focus: false });\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\tfocus={focus}\n\t\t\t\t\t\t\tselected={selected}\n\t\t\t\t\t\t\tid={id}\n\t\t\t\t\t\t\tpanelId={panelId}\n\t\t\t\t\t\t\tdisabled={child.props.disabled}\n\t\t\t\t\t\t\tvariant={variant}\n\t\t\t\t\t\t\thasError={child.props.hasError}\n\t\t\t\t\t\t\tassistiveText={child.props.assistiveText}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{child.props.label}\n\t\t\t\t\t\t</Tab>\n\t\t\t\t\t);\n\t\t\t\t})}\n\t\t\t</TabsList>\n\t\t);\n\t}\n\n\trender() {\n\t\tconst {\n\t\t\tclassName,\n\t\t\tid = this.generatedId,\n\t\t\tvariant = this.getVariant,\n\t\t} = this.props;\n\n\t\treturn (\n\t\t\t/* eslint-disable jsx-a11y/no-static-element-interactions */\n\t\t\t<div\n\t\t\t\tid={id}\n\t\t\t\tclassName={classNames(\n\t\t\t\t\t{\n\t\t\t\t\t\t'slds-tabs_default': variant === 'default',\n\t\t\t\t\t\t'slds-tabs_scoped': variant === 'scoped',\n\t\t\t\t\t\t'slds-vertical-tabs': variant === 'vertical',\n\t\t\t\t\t},\n\t\t\t\t\tclassName\n\t\t\t\t)}\n\t\t\t\tonClick={this.handleClick}\n\t\t\t\tonKeyDown={this.handleKeyDown}\n\t\t\t\tdata-tabs\n\t\t\t\tref={(node) => {\n\t\t\t\t\tthis.tabsNode = node;\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\t{/* eslint-enable jsx-a11y/no-static-element-interactions */}\n\t\t\t\t{this.renderTabsList(id)}\n\t\t\t\t{this.renderTabPanels(id)}\n\t\t\t</div>\n\t\t);\n\t}\n}\nTabs.displayName = displayName;\nTabs.propTypes = propTypes;\nTabs.defaultProps = defaultProps;\n\nexport default Tabs;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\nimport { TABS_PANEL } from '../../utilities/constants';\n\n/**\n * The `<TabsPanel />` component allows us to simplify the structure of the `<Tabs />` component.\n\n * Rather than require different (deeply nested) children for tabslist, with its tab(s) as well as tabpanel(s), we provide this `TabsPanel` component which takes a `label` property that will become what is shown on the `<Tab />` that will be associated with it.\n\n * The `children` of the Panel will be fed to the `<TabPanel />` component, while its `label` is handled in `<Tab />`, via `<TabsList />`.\n *\n * ```\n * <TabsPanel label=\"Tab 1\">\n * \t<div>\n * \t\t<h2 className=\"slds-text-heading_medium\">This is my tab 1 contents!</h2>\n * \t\t<p>They show when you click the first tab.</p>\n * \t</div>\n * </TabsPanel>\n * ```\n */\nconst Panel = ({ children }) => <div>{React.Children.toArray(children)}</div>;\n\nPanel.displayName = TABS_PANEL;\n\nPanel.propTypes = {\n\t/**\n\t * The string or element that is handed off to the `<Tab />` component, ends up being the title and the label for the tab associated with its tab panel.\n\t */\n\tlabel: PropTypes.oneOfType([PropTypes.string, PropTypes.element]).isRequired,\n\n\t/**\n\t * The `children` are the actual tab panels to be rendered. They get created by [tabs/index.jsx](./index.jsx) in the `renderTabPanels` function.\n\t *\n\t * Note that the `<TabsPanel />` component inserts a `div` element around the children, because React requires exactly one \"parent\" element returned. The `<TabPanel />` component simply dips down into `children` to get the children of this wrapping `div` so that it does not get rendered in the DOM.\n\t */\n\tchildren: PropTypes.oneOfType([\n\t\tPropTypes.arrayOf(PropTypes.node),\n\t\tPropTypes.node,\n\t\tPropTypes.element,\n\t]).isRequired,\n\n\t/**\n\t * Show an icon on the `<Tab />` next to the title that can be used to communicate when a tab contains a validation error that needs attention\n\t */\n\thasError: PropTypes.bool, // deepscan-disable-line REACT_USELESS_PROP_TYPES\n\n\t/**\n\t * **Assistive text for accessibility**\n\t * This object is merged with the default props object on every render.\n\t * * `withErrorIcon`: This text is for the error icon that will be placed next to the `<Tab />` title\n\t */\n\t/* deepscan-disable REACT_USELESS_PROP_TYPES */\n\tassistiveText: PropTypes.shape({\n\t\twithErrorIcon: PropTypes.string,\n\t}),\n\t/* deepscan-enable REACT_USELESS_PROP_TYPES */\n};\n\nexport default Panel;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n/* eslint-disable import/no-mutable-exports */\n/* eslint-disable max-len */\n\nimport oneOfRequiredProperty from '../../utilities/warning/one-of-required-property';\nimport oneOfComponent from '../../utilities/warning/one-of-component';\nimport deprecatedProperty from '../../utilities/warning/deprecated-property';\nimport getComponentDocFn from '../../utilities/get-component-doc';\nimport incompatibleProps from '../../utilities/warning/incompatible-props';\n\nlet checkProps = function checkPropsFunction() {};\n\nif (process.env.NODE_ENV !== 'production') {\n\tcheckProps = function checkPropsFunction(COMPONENT, props, jsonDoc) {\n\t\tconst createDocUrl = getComponentDocFn(jsonDoc);\n\n\t\toneOfRequiredProperty(\n\t\t\tCOMPONENT,\n\t\t\t{\n\t\t\t\tariaLabelledby: props.ariaLabelledby,\n\t\t\t\theading: props.heading,\n\t\t\t},\n\t\t\tcreateDocUrl()\n\t\t);\n\n\t\tif (props.children !== undefined) {\n\t\t\tif (props.children.length && props.children.length > 1) {\n\t\t\t\toneOfComponent(\n\t\t\t\t\tCOMPONENT,\n\t\t\t\t\tprops,\n\t\t\t\t\t'children[0]',\n\t\t\t\t\t['SLDSButton', 'a', 'button', 'SLDSInnerInput', 'SLDSPopoverTooltip'],\n\t\t\t\t\t` Multiple children of any kind are allowed, but the first child must serve as the trigger component. ${createDocUrl()}`,\n\t\t\t\t\tprops.children[0]\n\t\t\t\t);\n\t\t\t} else {\n\t\t\t\toneOfComponent(\n\t\t\t\t\tCOMPONENT,\n\t\t\t\t\tprops,\n\t\t\t\t\t'children',\n\t\t\t\t\t['SLDSButton', 'a', 'button', 'SLDSInnerInput', 'SLDSPopoverTooltip'],\n\t\t\t\t\tcreateDocUrl()\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\n\t\tdeprecatedProperty(\n\t\t\tCOMPONENT,\n\t\t\tprops.offset,\n\t\t\t'offset',\n\t\t\tundefined,\n\t\t\t`The manual setting of positional offset of dialog components has been deemed unreliable. Position logic has been re-written to deliver better and more reliable positioning. Please create an issue if you have an edge case not covered by the built-in logic. ${createDocUrl()}`,\n\t\t\tprops.silenceDeprecatedPropertyWarning || false\n\t\t);\n\n\t\tdeprecatedProperty(\n\t\t\tCOMPONENT,\n\t\t\tprops.isInline,\n\t\t\t'isInline',\n\t\t\t'position=\"relative\"',\n\t\t\tcreateDocUrl('position')\n\t\t);\n\n\t\tdeprecatedProperty(\n\t\t\tCOMPONENT,\n\t\t\tprops.closeButtonAssistiveText,\n\t\t\t'closeButtonAssistiveText',\n\t\t\t\"assistiveText['closeButton']\",\n\t\t\tcreateDocUrl('assistiveText')\n\t\t);\n\n\t\tincompatibleProps(\n\t\t\tCOMPONENT,\n\t\t\tprops,\n\t\t\t'position',\n\t\t\t['relative'],\n\t\t\t'target',\n\t\t\tnull,\n\t\t\t`${createDocUrl()}`\n\t\t);\n\t};\n}\n\nexport default checkProps;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// # Assistive Technology / Keyboard Navigable Trait for Dialogs with Tabbable content\n\n/*\n * Guidelines for Popover\n *\n * - Focus is trapped. Tabbing to an index outside of the dialog is not allowed. Popover must be closed first via ESC.\n * - There should always be a focusable element inside, to place user focus on such as a close button\n * - Must be dismissible via ESC and a close button\n * - Uses tabIndex in wrapper and has tabbable items within it despite being outside document flow.\n * - Entire popover receives focus when opened and has a aria-labelledby that points to the header id, so it will read the heading,\n * - Must return focus to trigger after closing.\n * - F6 will allow the user to keep popover open and go back to tabbing in “app-context” instead of “dialog-context.” (not implemented, yet)\n */\n\n// ## Dependencies\n\n// ### React\nimport ReactDOM from 'react-dom';\n\n// ### Event Helpers\nimport KEYS from './key-code';\n\n/* eslint-disable react/no-find-dom-node */\n\nconst internalHandleClick = ({ trigger, eventTarget, handleClick }) => {\n\tif (trigger && ReactDOM.findDOMNode(trigger) === eventTarget) {\n\t\t// eslint-disable-line react/no-find-dom-node\n\t\thandleClick(event);\n\t}\n};\n\nconst KeyboardNavigableDialog = ({\n\tisOpen,\n\thandleClick,\n\tkeyCode,\n\teventTarget,\n\ttrigger,\n\ttoggleOpen,\n}) => {\n\tswitch (keyCode) {\n\t\tcase KEYS.ESCAPE:\n\t\t\tif (isOpen) {\n\t\t\t\ttoggleOpen();\n\t\t\t}\n\t\t\tbreak;\n\t\tcase KEYS.ENTER:\n\t\t\tif (!isOpen) {\n\t\t\t\tinternalHandleClick({\n\t\t\t\t\ttrigger,\n\t\t\t\t\teventTarget,\n\t\t\t\t\thandleClick,\n\t\t\t\t});\n\t\t\t}\n\t\t\tbreak;\n\t\tdefault:\n\t\t\tbreak;\n\t}\n};\n\nexport default KeyboardNavigableDialog;\n","/* eslint-disable max-lines */\n/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// # Popover Component\n\n// Implements the [Popover design pattern](https://www.lightningdesignsystem.com/components/popovers) in React.\n\n// ### React\nimport React from 'react';\n\nimport PropTypes from 'prop-types';\n\n// ### classNames\n// [github.com/JedWatson/classnames](https://github.com/JedWatson/classnames)\n// This project uses `classnames`, \"a simple javascript utility for conditionally\n// joining classNames together.\"\nimport classNames from 'classnames';\n\n// ### isFunction\nimport isFunction from 'lodash.isfunction';\n\n// ### shortid\n// [npmjs.com/package/shortid](https://www.npmjs.com/package/shortid)\n// shortid is a short, non-sequential, url-friendly, unique id generator\nimport shortid from 'shortid';\n\n// This component's `checkProps` which issues warnings to developers about properties when in development mode (similar to React's built in development tools)\nimport checkProps from './check-props';\nimport componentDoc from './component.json';\n\nimport Button from '../button';\nimport MediaObject from '../media-object';\nimport Icon from '../icon';\n\n// ### Children\nimport Dialog from '../utilities/dialog';\n\n// #### KeyboardNavigable\nimport keyboardNavigableDialog from '../../utilities/keyboard-navigable-dialog';\n\nimport KEYS from '../../utilities/key-code';\nimport { POPOVER } from '../../utilities/constants';\n\nconst documentDefined = typeof document !== 'undefined';\n\n// The overlay is an optional way to allow the popover to close on outside\n// clicks even when those clicks are over areas that wouldn't normally fire\n// click or touch events (for example, iframes). A single overlay is shared\n// between all popovers in the app.\nconst overlay = documentDefined\n\t? document.createElement('span')\n\t: { style: {} };\noverlay.style.top = 0;\noverlay.style.left = 0;\noverlay.style.width = '100%';\noverlay.style.height = '100%';\noverlay.style.position = 'absolute';\n\nlet currentOpenPopover;\n\n// FIXME - what is this exported for? Probably needs to be deprecated.\nconst PopoverNubbinPositions = [\n\t'top left',\n\t'top',\n\t'top right',\n\t'bottom left',\n\t'bottom',\n\t'bottom right',\n];\n\nconst defaultProps = {\n\talign: 'right',\n\tassistiveText: {\n\t\tcloseButton: 'Close dialog',\n\t},\n\thasNoCloseButton: false,\n\thasNoNubbin: false,\n\thoverCloseDelay: 300,\n\topenOn: 'click',\n\tposition: 'absolute',\n\tvariant: 'base',\n};\n\n/**\n * The Popover component is a non-modal dialog. It should be paired with a clickable trigger such as a `Button`. It traps focus from the page and must be exited if focus needs to be outside the Popover. Use a `Tooltip` if there are no call to actions within the dialog. A `Tooltip` does not need to be clicked. Multiple popovers open at the same time, each with focus trap is not supported.\n */\nclass Popover extends React.Component {\n\t// ### Display Name\n\t// Always use the canonical component name as the React display name.\n\tstatic displayName = POPOVER;\n\n\t// ### Prop Types\n\tstatic propTypes = {\n\t\t/**\n\t\t * Aligns the popover with the respective side of the trigger. That is `top` will place the `Popover` above the trigger.\n\t\t */\n\t\talign: PropTypes.oneOf([\n\t\t\t'top',\n\t\t\t'top left',\n\t\t\t'top right',\n\t\t\t'right',\n\t\t\t'right top',\n\t\t\t'right bottom',\n\t\t\t'bottom',\n\t\t\t'bottom left',\n\t\t\t'bottom right',\n\t\t\t'left',\n\t\t\t'left top',\n\t\t\t'left bottom',\n\t\t]),\n\t\t/**\n\t\t * **Assistive text for accessibility.**\n\t\t * This object is merged with the default props object on every render.\n\t\t * * `closeButton`: This is a visually hidden label for the close button.\n\t\t */\n\t\tassistiveText: PropTypes.shape({\n\t\t\tcloseButton: PropTypes.string,\n\t\t}),\n\t\t/**\n\t\t * HTML `id` of heading for popover. Only use if your header is within your popover body.\n\t\t */\n\t\tariaLabelledby: PropTypes.string,\n\t\t/**\n\t\t * Multiple children of any kind are allowed, but the first child must serve as the trigger component. Many props will be passed into this trigger related to popover interactions. The trigger needs to be a clickable element, such as a `Button` or an anchor tag (`a`).\n\t\t */\n\t\tchildren: PropTypes.node.isRequired,\n\t\t/**\n\t\t * The contents of the popover. This should also accept arrays.\n\t\t */\n\t\tbody: PropTypes.oneOfType([PropTypes.node, PropTypes.array]).isRequired,\n\t\t/**\n\t\t * CSS classes to be added to the popover footer. That is the element with `.slds-popover__body` on it.\n\t\t */\n\t\tclassNameBody: PropTypes.oneOfType([\n\t\t\tPropTypes.array,\n\t\t\tPropTypes.object,\n\t\t\tPropTypes.string,\n\t\t]),\n\t\t/**\n\t\t * CSS classes to be added to the popover footer. That is the element with `.slds-popover__footer` on it.\n\t\t */\n\t\tclassNameFooter: PropTypes.oneOfType([\n\t\t\tPropTypes.array,\n\t\t\tPropTypes.object,\n\t\t\tPropTypes.string,\n\t\t]),\n\t\t/**\n\t\t * This prop is passed onto the triggering `Button`. Prevent popover from opening. Also applies disabled styling to trigger button.\n\t\t */\n\t\tdisabled: PropTypes.bool,\n\t\t/**\n\t\t * A footer is an optional. Buttons are often placed here.\n\t\t */\n\t\tfooter: PropTypes.node,\n\t\t/**\n\t\t * An object of CSS styles that are applied to the `slds-popover__footer` DOM element.\n\t\t */\n\t\tfooterStyle: PropTypes.object,\n\t\t/**\n\t\t * Used with `walkthrough` variant to provide action buttons (ex: \"Next\" / \"Skip\" / etc) for a walkthrough popover footer. Accepts either a single node or array of nodes for multiple buttons.\n\t\t */\n\t\tfooterWalkthroughActions: PropTypes.oneOfType([\n\t\t\tPropTypes.node,\n\t\t\tPropTypes.arrayOf(PropTypes.node),\n\t\t]),\n\t\t/**\n\t\t * Determines if the popover has a close button or not. Default is `false`\n\t\t */\n\t\thasNoCloseButton: PropTypes.bool,\n\t\t/**\n\t\t * Determines if the popover has a nubbin or not. Default is `false`\n\t\t */\n\t\thasNoNubbin: PropTypes.bool,\n\t\t/**\n\t\t * Prevents the Popover from changing position based on the viewport/window. If set to true your popover can extend outside the viewport _and_ overflow outside of a scrolling parent. If this happens, you might want to consider making the popover contents scrollable to fit the menu on the screen. When enabled, `position` `absolute` is used.\n\t\t */\n\t\thasStaticAlignment: PropTypes.bool,\n\t\t/**\n\t\t * Removes `display:inline-block` from the trigger button.\n\t\t */\n\t\thasNoTriggerStyles: PropTypes.bool,\n\t\t/**\n\t\t * All popovers require a heading that labels the popover for assistive technology users. This text will be placed within a heading HTML tag, or in an h2 within the popover body if used with `variant=\"walkthrough-action\"`. A heading is **highly recommended for accessibility reasons.** Please see `ariaLabelledby` prop.\n\t\t */\n\t\theading: PropTypes.oneOfType([PropTypes.string, PropTypes.node]),\n\t\t/**\n\t\t * Icon displayed in the `feature` variant\n\t\t */\n\t\ticon: PropTypes.node,\n\t\t/**\n\t\t * By default, a unique ID will be created at render to support keyboard navigation, ARIA roles, and connect the popover to the triggering button. This ID will be applied to the triggering element. `${id}-popover`, `${id}-dialog-heading`, `${id}-dialog-body` are also created.\n\t\t */\n\t\tid: PropTypes.string,\n\t\t/**\n\t\t * Forces the popover to be open or closed. See controlled/uncontrolled callback/prop pattern for more on suggested use [](https://github.com/salesforce-ux/design-system-react/blob/master/CONTRIBUTING.md#concepts-and-best-practices) You will want this if Popover is to be a controlled component.\n\t\t */\n\t\tisOpen: PropTypes.bool,\n\t\t/**\n\t\t * This function is passed onto the triggering `Button`. Triggered when the trigger button is clicked. You will want this if Popover is to be a controlled component.\n\t\t */\n\t\tonClick: PropTypes.func,\n\t\t/**\n\t\t * This function is triggered when the dialog is closed. This occurs when the Dialog child component (that is the actual popover) is unmounted and removed from the DOM. This function returns `{event, { trigger, componentWillUnmount }`. Trigger can have the values `cancel`, `clickOutside`, or `newPopover`.\n\t\t */\n\t\tonClose: PropTypes.func,\n\t\t/**\n\t\t * Called when a key is pressed.\n\t\t */\n\t\tonKeyDown: PropTypes.func,\n\t\t/**\n\t\t * Called when mouse clicks down on the trigger button.\n\t\t */\n\t\tonMouseDown: PropTypes.func,\n\t\t/**\n\t\t * This function is triggered when the Dialog child component (that is the actual popover) is mounted and added to the DOM. The parameters are `event, { portal: }`. `portal` can be used as a React tree root node.\n\t\t */\n\t\tonOpen: PropTypes.func,\n\t\t/**\n\t\t * This function is triggered when the user clicks outside the Popover or clicks the close button. You will want to define this if Popover is to be a controlled component. Most of the time you will want to set `isOpen` to `false` when this is triggered unless you need to validate something.\n\t\t */\n\t\tonRequestClose: PropTypes.func,\n\t\t/**\n\t\t * Callback that returns an element or React `ref` to align the Popover with. If the target element has not been rendered yet, the popover will use the triggering element as the attachment target instead. NOTE: `position=\"relative\"` is not compatible with custom targets that are not the triggering element.\n\t\t */\n\t\tonRequestTargetElement: PropTypes.func,\n\t\t/**\n\t\t * Please select one of the following:\n\t\t * * `absolute` - (default) The dialog will use `position: absolute` and style attributes to position itself. This allows inverted placement or flipping of the dialog.\n\t\t * * `overflowBoundaryElement` - The dialog will overflow scrolling parents. Use on elements that are aligned to the left or right of their target and don't care about the target being within a scrolling parent. Typically this is a popover or tooltip. Dropdown menus can usually open up and down if no room exists. In order to achieve this a portal element will be created and attached to `body`. This element will render into that detached render tree.\n\t\t * * `relative` - No styling or portals will be used. Menus will be positioned relative to their triggers. This is a great choice for HTML snapshot testing. NOTE: this setting is not compatible with custom targets outside the trigger\n\t\t */\n\t\tposition: PropTypes.oneOf([\n\t\t\t'absolute',\n\t\t\t'overflowBoundaryElement',\n\t\t\t'relative',\n\t\t]),\n\t\t/**\n\t\t * Used with `walkthrough` variant to provide the step text (ex: \"Step 1 of 4\") for a walkthrough popover footer. If used with `variant=\"walkthrough-action\"`, it will be placed in the popover body.\n\t\t */\n\t\tstepText: PropTypes.string,\n\t\t/**\n\t\t * An object of CSS styles that are applied to the `slds-popover` DOM element.\n\t\t */\n\t\tstyle: PropTypes.object,\n\t\t/**\n\t\t * If `true`, adds a transparent overlay when the menu is open to handle outside clicks. Allows clicks on iframes to be captured, but also forces a double-click to interact with other elements. If a function is passed, custom overlay logic may be defined by the app.\n\t\t */\n\t\toverlay: PropTypes.oneOfType([PropTypes.bool, PropTypes.func]),\n\t\t/**\n\t\t * CSS classes to be added to wrapping trigger `div` around the button.\n\t\t */\n\t\ttriggerClassName: PropTypes.oneOfType([\n\t\t\tPropTypes.array,\n\t\t\tPropTypes.object,\n\t\t\tPropTypes.string,\n\t\t]),\n\t\t/**\n\t\t * Determines the type of the popover. `error` and `warning` allows the content body to scroll. Default is `base` _Tested with snaphots._\n\t\t */\n\t\tvariant: PropTypes.oneOf([\n\t\t\t'base',\n\t\t\t'error',\n\t\t\t'feature',\n\t\t\t'walkthrough',\n\t\t\t'walkthrough-action',\n\t\t\t'warning',\n\t\t]),\n\t};\n\n\tstatic defaultProps = defaultProps;\n\n\tstate = {\n\t\tisOpen: false,\n\t};\n\n\tconstructor(props) {\n\t\tsuper(props);\n\n\t\tthis.generatedId = shortid.generate();\n\t\t// `checkProps` issues warnings to developers about properties (similar to React's built in development tools)\n\t\tcheckProps(POPOVER, props, componentDoc);\n\t}\n\n\tcomponentWillUnmount() {\n\t\tif (currentOpenPopover === this) {\n\t\t\tcurrentOpenPopover = undefined;\n\t\t}\n\t\tthis.isUnmounting = true;\n\t\tthis.renderOverlay(false);\n\t}\n\n\tgetId = () => this.props.id || this.generatedId;\n\n\tgetIsOpen = () =>\n\t\t!this.props.disabled &&\n\t\t!!(typeof this.props.isOpen === 'boolean'\n\t\t\t? this.props.isOpen\n\t\t\t: this.state.isOpen);\n\n\tgetMenu = () =>\n\t\t// needed by keyboard navigation\n\t\tthis.dialog;\n\n\tgetTargetElement = () =>\n\t\tthis.props.onRequestTargetElement && this.props.onRequestTargetElement()\n\t\t\t? this.props.onRequestTargetElement()\n\t\t\t: this.trigger;\n\n\tsetMenuRef = (component) => {\n\t\tthis.dialog = component;\n\t};\n\n\tsetContainerRef = (component) => {\n\t\tthis.trigger = component;\n\t\t// yes, this is a re-render triggered by a render.\n\t\t// Dialog/Popper.js cannot place the popover until\n\t\t// the trigger/target DOM node is mounted. This\n\t\t// way `findDOMNode` is not called and parent\n\t\t// DOM nodes are not queried.\n\t\tif (!this.state.inputRendered) {\n\t\t\tthis.setState({ inputRendered: true });\n\t\t}\n\t};\n\n\thandleDialogClose = (event, data) => {\n\t\tconst componentWillUnmount = (data && data.componentWillUnmount) || false;\n\n\t\tif (currentOpenPopover === this) {\n\t\t\tcurrentOpenPopover = undefined;\n\t\t}\n\n\t\tif (this.props.onClose) {\n\t\t\tthis.props.onClose(event, {\n\t\t\t\t// Breaking change: component object reference has been\n\t\t\t\t// removed (`this`), due to endless loop creation.\n\t\t\t\tcomponentWillUnmount,\n\t\t\t});\n\t\t}\n\t};\n\n\thandleClose = (event, data) => {\n\t\tconst isOpen = this.getIsOpen();\n\n\t\tif (isOpen) {\n\t\t\t// call even if closed\n\t\t\tif (this.props.onRequestClose) {\n\t\t\t\tthis.props.onRequestClose(event, data);\n\t\t\t}\n\n\t\t\tif (currentOpenPopover === this) {\n\t\t\t\tcurrentOpenPopover = undefined;\n\t\t\t}\n\n\t\t\tthis.setState({\n\t\t\t\tisOpen: false,\n\t\t\t});\n\n\t\t\tthis.isHover = false;\n\t\t}\n\t};\n\n\thandleOpen = () => {\n\t\tconst isOpen = this.getIsOpen();\n\n\t\tif (!isOpen) {\n\t\t\tif (currentOpenPopover && isFunction(currentOpenPopover.handleClose)) {\n\t\t\t\tcurrentOpenPopover.handleClose(undefined, {\n\t\t\t\t\ttrigger: 'newPopover',\n\t\t\t\t\tid: currentOpenPopover.getId(),\n\t\t\t\t});\n\t\t\t}\n\n\t\t\tcurrentOpenPopover = this;\n\n\t\t\tthis.setState({\n\t\t\t\tisOpen: true,\n\t\t\t});\n\t\t}\n\t};\n\n\t/* props.openOn is not a part of prop-types because it is not a supported feature, but may be needed for backwards compatibility with non-accessible dropdown/popover hybrids. */\n\n\t/* eslint-disable react/prop-types */\n\thandleMouseEnter = (event) => {\n\t\tconst isOpen = this.getIsOpen();\n\n\t\tthis.isHover = true;\n\n\t\tif (!isOpen && this.props.openOn === 'hover') {\n\t\t\tthis.handleOpen();\n\t\t} else {\n\t\t\t// we want this clear when openOn is hover or hybrid\n\t\t\tclearTimeout(this.isClosing);\n\t\t}\n\n\t\tif (this.props.onMouseEnter) {\n\t\t\tthis.props.onMouseEnter(event);\n\t\t}\n\t};\n\n\thandleMouseLeave = (event) => {\n\t\tconst isOpen = this.getIsOpen();\n\n\t\tif (isOpen) {\n\t\t\tthis.isClosing = setTimeout(() => {\n\t\t\t\tthis.handleClose();\n\t\t\t}, this.props.hoverCloseDelay);\n\t\t}\n\n\t\tif (this.props.onMouseLeave) {\n\t\t\tthis.props.onMouseLeave(event);\n\t\t}\n\t};\n\n\t/* eslint-enable react/prop-types */\n\n\thandleClick = (event, { triggerOnClickCallback }) => {\n\t\tconst isOpen = this.getIsOpen();\n\n\t\tif (!isOpen) {\n\t\t\tthis.handleOpen();\n\t\t} else {\n\t\t\tthis.handleClose();\n\t\t}\n\n\t\tif (this.props.onClick) {\n\t\t\tthis.props.onClick(event);\n\t\t}\n\n\t\tif (triggerOnClickCallback) {\n\t\t\ttriggerOnClickCallback(event);\n\t\t}\n\t};\n\n\thandleFocus = (event) => {\n\t\tconst isOpen = this.getIsOpen();\n\n\t\tif (!isOpen) {\n\t\t\tthis.handleOpen();\n\t\t}\n\n\t\tif (this.props.onFocus) {\n\t\t\tthis.props.onFocus(event);\n\t\t}\n\t};\n\n\thandleKeyDown = (event) => {\n\t\tif (event.keyCode) {\n\t\t\tif (event.keyCode !== KEYS.TAB) {\n\t\t\t\tconst isOpen = this.getIsOpen();\n\n\t\t\t\tkeyboardNavigableDialog({\n\t\t\t\t\tevent,\n\t\t\t\t\tisOpen,\n\t\t\t\t\thandleClick: this.handleClick,\n\t\t\t\t\tkey: event.key,\n\t\t\t\t\tkeyCode: event.keyCode,\n\t\t\t\t\ttargetTarget: event.target,\n\t\t\t\t\ttoggleOpen: this.toggleOpenFromKeyboard,\n\t\t\t\t\ttrigger: this.trigger,\n\t\t\t\t});\n\t\t\t}\n\t\t\tif (this.props.onKeyDown) {\n\t\t\t\tthis.props.onKeyDown(event);\n\t\t\t}\n\t\t}\n\t};\n\n\thandleCancel = (event) => {\n\t\tthis.handleClose(event, { trigger: 'cancel' });\n\t};\n\n\thandleClickOutside = (event) => {\n\t\tthis.handleClose(event, { trigger: 'clickOutside' });\n\t};\n\n\ttoggleOpenFromKeyboard = (event) => {\n\t\tconst isOpen = this.getIsOpen();\n\t\tif (isOpen) {\n\t\t\tthis.handleCancel(event);\n\t\t} else {\n\t\t\tthis.handleOpen();\n\t\t}\n\t};\n\n\trenderDialog = (isOpen, outsideClickIgnoreClass) => {\n\t\tconst { props } = this;\n\t\tconst { offset } = props;\n\t\tconst assistiveText = {\n\t\t\t...defaultProps.assistiveText,\n\t\t\t...this.props.assistiveText,\n\t\t};\n\t\tconst closeButtonAssistiveText =\n\t\t\tprops.closeButtonAssistiveText || assistiveText.closeButton;\n\n\t\t// HEADER SUB-RENDERS\n\t\tconst hasThemedHeader =\n\t\t\tthis.props.variant === 'error' || this.props.variant === 'warning';\n\t\tconst hasDefinedHeader = this.props.heading || hasThemedHeader;\n\t\tconst headerIcon = {\n\t\t\terror: <Icon category=\"utility\" name=\"error\" size=\"x-small\" inverse />,\n\t\t\twarning: (\n\t\t\t\t<Icon category=\"utility\" name=\"warning\" size=\"x-small\" inverse />\n\t\t\t),\n\t\t};\n\t\tconst headerVariants = {\n\t\t\tbase: (\n\t\t\t\t<header\n\t\t\t\t\tclassName={classNames('slds-popover__header', {\n\t\t\t\t\t\t'slds-p-vertical_medium': props.variant === 'walkthrough',\n\t\t\t\t\t})}\n\t\t\t\t>\n\t\t\t\t\t<h2\n\t\t\t\t\t\tid={this.props.ariaLabelledby || `${this.getId()}-dialog-heading`}\n\t\t\t\t\t\tclassName={classNames({\n\t\t\t\t\t\t\t'slds-text-heading_small': props.variant !== 'walkthrough',\n\t\t\t\t\t\t\t'slds-text-heading_medium': props.variant === 'walkthrough',\n\t\t\t\t\t\t})}\n\t\t\t\t\t>\n\t\t\t\t\t\t{this.props.heading}\n\t\t\t\t\t</h2>\n\t\t\t\t</header>\n\t\t\t),\n\t\t\tthemed: (\n\t\t\t\t<header className=\"slds-popover__header\">\n\t\t\t\t\t<MediaObject\n\t\t\t\t\t\tbody={\n\t\t\t\t\t\t\t<h2\n\t\t\t\t\t\t\t\tid={\n\t\t\t\t\t\t\t\t\tthis.props.ariaLabelledby || `${this.getId()}-dialog-heading`\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tclassName=\"slds-truncate slds-text-heading_medium\"\n\t\t\t\t\t\t\t\ttitle={props.heading}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{props.heading}\n\t\t\t\t\t\t\t</h2>\n\t\t\t\t\t\t}\n\t\t\t\t\t\tfigure={headerIcon[this.props.variant]}\n\t\t\t\t\t\tverticalCenter\n\t\t\t\t\t/>\n\t\t\t\t</header>\n\t\t\t),\n\t\t};\n\t\tlet header = null;\n\n\t\tif (\n\t\t\thasDefinedHeader &&\n\t\t\tprops.variant !== 'walkthrough-action' &&\n\t\t\tprops.variant !== 'feature'\n\t\t) {\n\t\t\theader = headerVariants[hasThemedHeader ? 'themed' : 'base'];\n\t\t}\n\n\t\t// BODY SUB-RENDERS\n\t\tlet body = null;\n\n\t\tif (props.variant === 'error' || props.variant === 'warning') {\n\t\t\tbody = (\n\t\t\t\t// THIS WRAPPING DIV IS NOT IN SLDS MARKUP\n\t\t\t\t<div>\n\t\t\t\t\t<div\n\t\t\t\t\t\tid={`${this.getId()}-dialog-body`}\n\t\t\t\t\t\tclassName={classNames(\n\t\t\t\t\t\t\t'slds-popover__body',\n\t\t\t\t\t\t\tthis.props.classNameBody\n\t\t\t\t\t\t)}\n\t\t\t\t\t\t// REMOVE IN THE FUTURE: SLDS OVERRIDE\n\t\t\t\t\t\t// Possible solution in future is to use .slds-popover__body_small\n\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\tborderBottom: 'none',\n\t\t\t\t\t\t}}\n\t\t\t\t\t>\n\t\t\t\t\t\t{props.body}\n\t\t\t\t\t</div>\n\t\t\t\t\t<div\n\t\t\t\t\t\t// GRADIENT FOOTER - SLDS OVERRIDE\n\t\t\t\t\t\t// REMOVE IN THE FUTURE (HOPEFULLY)\n\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\tposition: 'absolute',\n\t\t\t\t\t\t\tbottom: 0,\n\t\t\t\t\t\t\tleft: 0,\n\t\t\t\t\t\t\twidth: '100%',\n\t\t\t\t\t\t\ttextAlign: 'center',\n\t\t\t\t\t\t\tmargin: 0,\n\t\t\t\t\t\t\tpadding: '5px 0',\n\t\t\t\t\t\t\t/* \"transparent\" only works here because == rgba(0,0,0,0) */\n\t\t\t\t\t\t\tbackgroundImage:\n\t\t\t\t\t\t\t\t'linear-gradient(to bottom, transparent, rgba(255,255,255,100)',\n\t\t\t\t\t\t}}\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t);\n\t\t} else if (\n\t\t\tprops.variant === 'walkthrough-action' ||\n\t\t\tprops.variant === 'feature'\n\t\t) {\n\t\t\tbody = (\n\t\t\t\t<div\n\t\t\t\t\tclassName={classNames('slds-popover__body', this.props.classNameBody)}\n\t\t\t\t\tid={`${this.getId()}-dialog-body`}\n\t\t\t\t>\n\t\t\t\t\t<div className=\"slds-media\">\n\t\t\t\t\t\t<div className=\"slds-media__figure\">\n\t\t\t\t\t\t\t{props.variant === 'walkthrough-action' ? (\n\t\t\t\t\t\t\t\t<Icon\n\t\t\t\t\t\t\t\t\tcategory=\"utility\"\n\t\t\t\t\t\t\t\t\tname=\"touch_action\"\n\t\t\t\t\t\t\t\t\tsize=\"small\"\n\t\t\t\t\t\t\t\t\tinverse\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\tthis.props.icon\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div className=\"slds-media__body\">\n\t\t\t\t\t\t\t{props.heading ? (\n\t\t\t\t\t\t\t\t<h2\n\t\t\t\t\t\t\t\t\tid={\n\t\t\t\t\t\t\t\t\t\tthis.props.ariaLabelledby ||\n\t\t\t\t\t\t\t\t\t\t`${this.getId()}-dialog-heading`\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tclassName=\"slds-text-heading_small\"\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{props.heading}\n\t\t\t\t\t\t\t\t</h2>\n\t\t\t\t\t\t\t) : null}\n\t\t\t\t\t\t\t{props.body}\n\t\t\t\t\t\t\t{props.stepText ? (\n\t\t\t\t\t\t\t\t<p className=\"slds-m-top_medium slds-text-title\">\n\t\t\t\t\t\t\t\t\t{props.stepText}\n\t\t\t\t\t\t\t\t</p>\n\t\t\t\t\t\t\t) : null}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t);\n\t\t} else {\n\t\t\tbody = (\n\t\t\t\t// DEFAULT - NOT SCROLLABLE\n\t\t\t\t<div\n\t\t\t\t\tid={`${this.getId()}-dialog-body`}\n\t\t\t\t\tclassName={classNames('slds-popover__body', this.props.classNameBody)}\n\t\t\t\t>\n\t\t\t\t\t{props.body}\n\t\t\t\t</div>\n\t\t\t);\n\t\t}\n\n\t\t// FOOTER SUB-RENDERS\n\t\tlet footer = null;\n\n\t\tif (props.footer) {\n\t\t\tfooter = (\n\t\t\t\t<footer\n\t\t\t\t\tclassName={classNames(\n\t\t\t\t\t\t'slds-popover__footer',\n\t\t\t\t\t\tthis.props.classNameFooter,\n\t\t\t\t\t\tthis.props.footerClassName\n\t\t\t\t\t)}\n\t\t\t\t\tstyle={this.props.footerStyle}\n\t\t\t\t>\n\t\t\t\t\t{this.props.footer}\n\t\t\t\t</footer>\n\t\t\t);\n\t\t} else if (\n\t\t\tprops.variant !== 'walkthrough-action' &&\n\t\t\t(props.footerWalkthroughActions || props.stepText)\n\t\t) {\n\t\t\tfooter = (\n\t\t\t\t<footer className=\"slds-popover__footer\">\n\t\t\t\t\t<div className=\"slds-grid slds-grid_vertical-align-center\">\n\t\t\t\t\t\t{props.stepText ? (\n\t\t\t\t\t\t\t<span className=\"slds-text-title\">{props.stepText}</span>\n\t\t\t\t\t\t) : null}\n\t\t\t\t\t\t{props.footerWalkthroughActions ? (\n\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\tclassName=\"slds-col_bump-left\"\n\t\t\t\t\t\t\t\tstyle={{ display: 'inline-block' }}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{props.footerWalkthroughActions}\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t) : null}\n\t\t\t\t\t</div>\n\t\t\t\t</footer>\n\t\t\t);\n\t\t}\n\n\t\t// MAIN RENDER\n\t\treturn isOpen ? (\n\t\t\t<Dialog\n\t\t\t\thasNubbin={!this.props.hasNoNubbin}\n\t\t\t\talign={props.align}\n\t\t\t\tcontentsClassName={classNames(\n\t\t\t\t\tthis.props.contentsClassName,\n\t\t\t\t\t'ignore-react-onclickoutside',\n\t\t\t\t\t'slds-popover',\n\t\t\t\t\t{ 'slds-popover_error': props.variant === 'error' },\n\t\t\t\t\t{\n\t\t\t\t\t\t'slds-popover_walkthrough':\n\t\t\t\t\t\t\tprops.variant === 'walkthrough' ||\n\t\t\t\t\t\t\tprops.variant === 'walkthrough-action' ||\n\t\t\t\t\t\t\tprops.variant === 'feature',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\t'slds-popover_walkthrough-alt':\n\t\t\t\t\t\t\tprops.variant === 'walkthrough-action',\n\t\t\t\t\t},\n\t\t\t\t\t{ 'slds-popover_feature': props.variant === 'feature' },\n\t\t\t\t\t{ 'slds-popover_warning': props.variant === 'warning' },\n\t\t\t\t\tprops.className\n\t\t\t\t)}\n\t\t\t\tcontext={this.context}\n\t\t\t\thasStaticAlignment={props.hasStaticAlignment}\n\t\t\t\toffset={offset}\n\t\t\t\tonCancel={this.handleClose}\n\t\t\t\tonClose={this.handleDialogClose}\n\t\t\t\tonOpen={this.props.onOpen}\n\t\t\t\tonKeyDown={this.handleKeyDown}\n\t\t\t\tonMouseEnter={props.openOn === 'hover' ? this.handleMouseEnter : null}\n\t\t\t\tonMouseLeave={props.openOn === 'hover' ? this.handleMouseLeave : null}\n\t\t\t\toutsideClickIgnoreClass={outsideClickIgnoreClass}\n\t\t\t\tonRequestTargetElement={() => this.getTargetElement()}\n\t\t\t\tposition={this.props.position}\n\t\t\t\tstyle={this.props.style}\n\t\t\t\tvariant=\"popover\"\n\t\t\t\tref={this.setMenuRef}\n\t\t\t\tcontainerProps={{\n\t\t\t\t\tid: `${this.getId()}-popover`,\n\t\t\t\t\t'aria-labelledby':\n\t\t\t\t\t\tthis.props.ariaLabelledby || `${this.getId()}-dialog-heading`,\n\t\t\t\t\t'aria-describedby': `${this.getId()}-dialog-body`,\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\t{!this.props.hasNoCloseButton && (\n\t\t\t\t\t<Button\n\t\t\t\t\t\tassistiveText={{ icon: closeButtonAssistiveText }}\n\t\t\t\t\t\ticonCategory=\"utility\"\n\t\t\t\t\t\ticonName=\"close\"\n\t\t\t\t\t\tclassName={classNames(\n\t\t\t\t\t\t\t'slds-button slds-button_icon-small slds-float_right slds-popover__close slds-button_icon',\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t'slds-button_icon-inverse':\n\t\t\t\t\t\t\t\t\tprops.variant === 'walkthrough' ||\n\t\t\t\t\t\t\t\t\tprops.variant === 'walkthrough-action' ||\n\t\t\t\t\t\t\t\t\tprops.variant === 'feature',\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t)}\n\t\t\t\t\t\tonClick={this.handleCancel}\n\t\t\t\t\t\tvariant=\"icon\"\n\t\t\t\t\t\tinverse={\n\t\t\t\t\t\t\tthis.props.variant === 'error' || this.props.variant === 'warning'\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t)}\n\t\t\t\t{header}\n\t\t\t\t{body}\n\t\t\t\t{footer}\n\t\t\t</Dialog>\n\t\t) : null;\n\t};\n\n\trenderOverlay = (isOpen) => {\n\t\tif (isFunction(overlay) && documentDefined) {\n\t\t\toverlay(isOpen, overlay);\n\t\t} else if (\n\t\t\tthis.props.overlay &&\n\t\t\tisOpen &&\n\t\t\t!this.overlay &&\n\t\t\tdocumentDefined\n\t\t) {\n\t\t\tthis.overlay = overlay;\n\t\t\tdocument.querySelector('body').appendChild(this.overlay);\n\t\t} else if (!isOpen && this.overlay && this.overlay.parentNode) {\n\t\t\tthis.overlay.parentNode.removeChild(this.overlay);\n\t\t\tthis.overlay = undefined;\n\t\t}\n\t};\n\n\trender() {\n\t\tconst otherChildren = [];\n\t\tconst outsideClickIgnoreClass = `ignore-click-${this.getId()}`;\n\t\tlet clonedTrigger = null;\n\n\t\tReact.Children.forEach(this.props.children, (child, index) => {\n\t\t\tif (index === 0) {\n\t\t\t\tclonedTrigger = React.cloneElement(child, {\n\t\t\t\t\t'aria-haspopup': 'dialog',\n\t\t\t\t\tid: this.getId(),\n\t\t\t\t\tonClick:\n\t\t\t\t\t\tthis.props.openOn === 'click' || this.props.openOn === 'hybrid'\n\t\t\t\t\t\t\t? (event) => {\n\t\t\t\t\t\t\t\t\tthis.handleClick(event, {\n\t\t\t\t\t\t\t\t\t\ttriggerOnClickCallback: child.props.onClick,\n\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t }\n\t\t\t\t\t\t\t: child.props.onClick,\n\t\t\t\t\tonFocus: this.props.openOn === 'hover' ? this.handleFocus : null,\n\t\t\t\t\tonMouseDown: this.props.onMouseDown,\n\t\t\t\t\tonMouseEnter:\n\t\t\t\t\t\tthis.props.openOn === 'hover' || this.props.openOn === 'hybrid'\n\t\t\t\t\t\t\t? this.handleMouseEnter\n\t\t\t\t\t\t\t: null,\n\t\t\t\t\tonMouseLeave:\n\t\t\t\t\t\tthis.props.openOn === 'hover' || this.props.openOn === 'hybrid'\n\t\t\t\t\t\t\t? this.handleMouseLeave\n\t\t\t\t\t\t\t: null,\n\t\t\t\t\ttabIndex: child.props.tabIndex || '0',\n\t\t\t\t\t...child.props,\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\t// eslint-disable-next-line fp/no-mutating-methods\n\t\t\t\totherChildren.push(child);\n\t\t\t}\n\t\t});\n\n\t\tthis.renderOverlay(this.getIsOpen());\n\t\tconst containerStyles = {\n\t\t\tdisplay: this.props.hasNoTriggerStyles ? undefined : 'inline-block',\n\t\t};\n\t\treturn (\n\t\t\t<div\n\t\t\t\tclassName={this.props.triggerClassName}\n\t\t\t\tstyle={containerStyles}\n\t\t\t\tref={this.setContainerRef}\n\t\t\t>\n\t\t\t\t{clonedTrigger}\n\t\t\t\t{otherChildren.length > 0 ? otherChildren : null}\n\t\t\t\t{this.renderDialog(this.getIsOpen(), outsideClickIgnoreClass)}\n\t\t\t</div>\n\t\t);\n\t}\n}\n\nPopover.contextTypes = {\n\ticonPath: PropTypes.string,\n};\n\nexport default Popover;\nexport { PopoverNubbinPositions };\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// ### onClickOutside\n// Listen for clicks that occur somewhere in the document, outside of the element itself\nimport onClickOutside from 'react-onclickoutside';\nimport Popover from './popover';\n\nexport default onClickOutside(Popover);\n","/* eslint-disable max-lines */\n/* eslint-disable react/sort-comp */\nimport classNames from 'classnames';\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport shortid from 'shortid';\nimport assign from 'lodash.assign';\n\nimport checkProps from './check-props';\n\nimport CustomColor from './private/custom-color';\nimport Swatch from './private/swatch';\nimport SwatchPicker from './private/swatch-picker';\n\nimport Button from '../button';\nimport Input from '../input';\nimport Tabs from '../tabs';\nimport TabsPanel from '../tabs/panel';\nimport Popover from '../popover';\n\nimport ColorUtils from '../../utilities/color';\n\nimport { COLOR_PICKER } from '../../utilities/constants';\n\nimport componentDoc from './component.json';\n\nconst propTypes = {\n\t/**\n\t * **Assistive text for accessibility**\n\t * * `label`: Visually hidden label but read out loud by screen readers.\n\t * * `hueSlider`: Instructions for hue selection input\n\t * * `saturationValueGrid`: Instructions for using the grid for saturation\n\t * and value selection\n\t */\n\tassistiveText: PropTypes.shape({\n\t\tlabel: PropTypes.string,\n\t\thueSlider: PropTypes.string,\n\t\tsaturationValueGrid: PropTypes.string,\n\t}),\n\t/**\n\t * CSS classes to be added to tag with `.slds-color-picker`. Uses `classNames` [API](https://github.com/JedWatson/classnames). _Tested with snapshot testing._\n\t */\n\tclassName: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\t/**\n\t * CSS classes to be added to tag with `.slds-popover`. Uses `classNames` [API](https://github.com/JedWatson/classnames). _Tested with snapshot testing._\n\t */\n\tclassNameMenu: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\t/**\n\t * Unique ID for component.\n\t */\n\tid: PropTypes.string,\n\t/**\n\t * Disables the input and button.\n\t */\n\tdisabled: PropTypes.bool,\n\t/**\n\t * Message to display when the outer input is in an error state. When this is present, also visually highlights the component as in error.\n\t */\n\terrorText: PropTypes.string,\n\t/**\n\t * Message to display when the custom tab input is in an error state. When this is present, also visually highlights the component as in error.\n\t */\n\terrorTextWorkingColor: PropTypes.string,\n\t/**\n\t * Event Callbacks\n\t * * `onChange`: This function is triggered when done is clicked. This function returns `{event, { color: [string] }}`, which is a hex representation of the color.\n\t * * `onClose`: This function is triggered when the menu is closed. This function returns `{event, { trigger, componentWillUnmount }}`. Trigger can have the values `cancel`, `clickOutside`, or `newPopover`.\n\t * * `onOpen`: This function is triggered when the color-picker menu is mounted and added to the DOM. The parameters are `event, { portal: }`. `portal` can be used as a React tree root node.\n\t * * `onRequestClose`: This function is triggered when the user clicks outside the menu or clicks the close button. You will want to define this if color-picker is to be a controlled component. Most of the time you will want to set `isOpen` to `false` when this is triggered unless you need to validate something.\n\t * \t\t\t\t\t\tThis function returns `{event, {trigger: [string]}}` where `trigger` is either `cancel` or `clickOutside`.\n\t * * `onRequestOpen`: Function called when the color-picker menu would like show.\n\t * * `onValidateColor`: Function that overwrites default color validator and called when validating HEX color on outer input change. If callback returns false, errorText is shown if set.\n\t * * `onValidateWorkingColor`: Function that overwrites default color validator and called when validating HEX color on custom tab inner input change. If callback returns false, errorTextWorkingColor is shown if set.\n\t * * `onWorkingColorChange`: This function is triggered when working color changes (color inside the custom tab). This function returns `{event, { color: [string] }}`, which is a hex representation of the color.\n\t * _Tested with Mocha framework._\n\t */\n\tevents: PropTypes.shape({\n\t\tonChange: PropTypes.func,\n\t\tonClose: PropTypes.func,\n\t\tonOpen: PropTypes.func,\n\t\tonRequestClose: PropTypes.func,\n\t\tonRequestOpen: PropTypes.func,\n\t\tonValidateColor: PropTypes.func,\n\t\tonValidateWorkingColor: PropTypes.func,\n\t\tonWorkingColorChange: PropTypes.func,\n\t}),\n\t/**\n\t * By default, dialogs will flip their alignment (such as bottom to top) if they extend beyond a boundary element such as a scrolling parent or a window/viewpoint. `hasStaticAlignment` disables this behavior and allows this component to extend beyond boundary elements. _Not tested._\n\t */\n\thasStaticAlignment: PropTypes.bool,\n\t/**\n\t * Hides the text input\n\t */\n\thideInput: PropTypes.bool,\n\t/**\n\t * Popover open state\n\t */\n\tisOpen: PropTypes.bool,\n\t/**\n\t * **Text labels for internationalization**\n\t * * `blueAbbreviated`: One letter abbreviation of blue color component\n\t * * `cancelButton`: Text for cancel button on popover\n\t * * `customTab`: Text for custom tab of popover\n\t * * `customTabActiveWorkingColorSwatch`: Label for custom tab active working color swatch\n\t * * `customTabTransparentSwatch`: Label for custom tab active transparent swatch\n\t * * `greenAbbreviated`: One letter abbreviation of green color component\n\t * * `hexLabel`: Label for input of hexadecimal color\n\t * * `invalidColor`: Error message when hex color input is invalid\n\t * * `invalidComponent`: Error message when a component input is invalid\n\t * * `label`: An `input` label as for a `form`\n\t * * `redAbbreviated`: One letter abbreviation of red color component\n\t * * `swatchTab`: Label for swatch tab of popover\n\t * * `submitButton`: Text for submit/done button of popover\n\t */\n\tlabels: PropTypes.shape({\n\t\tblueAbbreviated: PropTypes.string,\n\t\tcancelButton: PropTypes.string,\n\t\tcustomTab: PropTypes.string,\n\t\tcustomTabActiveWorkingColorSwatch: PropTypes.string,\n\t\tcustomTabTransparentSwatch: PropTypes.string,\n\t\tgreenAbbreviated: PropTypes.string,\n\t\thexLabel: PropTypes.string,\n\t\tinvalidColor: PropTypes.string,\n\t\tinvalidComponent: PropTypes.string,\n\t\tlabel: PropTypes.string,\n\t\tredAbbreviated: PropTypes.string,\n\t\tswatchTab: PropTypes.string,\n\t\tswatchTabTransparentSwatch: PropTypes.string,\n\t\tsubmitButton: PropTypes.string,\n\t}),\n\t/**\n\t * Please select one of the following:\n\t * * `absolute` - (default) The dialog will use `position: absolute` and style attributes to position itself. This allows inverted placement or flipping of the dialog.\n\t * * `overflowBoundaryElement` - The dialog will overflow scrolling parents. Use on elements that are aligned to the left or right of their target and don't care about the target being within a scrolling parent. Typically this is a popover or tooltip. Dropdown menus can usually open up and down if no room exists. In order to achieve this a portal element will be created and attached to `body`. This element will render into that detached render tree.\n\t * * `relative` - No styling or portals will be used. Menus will be positioned relative to their triggers. This is a great choice for HTML snapshot testing.\n\t */\n\tmenuPosition: PropTypes.oneOf([\n\t\t'absolute',\n\t\t'overflowBoundaryElement',\n\t\t'relative',\n\t]),\n\t/**\n\t * An array of hex color values which is used to set the options of the\n\t * swatch tab of the colorpicker popover.\n\t * To specify transparent, use empty string as a value.\n\t */\n\tswatchColors: PropTypes.arrayOf(PropTypes.string),\n\t/**\n\t * Determines which tab is visible when dialog opens. Use this prop with `base` variant only.\n\t * Defaults to `swatch` tab.\n\t */\n\tdefaultSelectedTab: PropTypes.oneOf(['swatches', 'custom']),\n\t/**\n\t * Selects which tabs are present for the colorpicker.\n\t * * `base`: both swatches and custom tabs are present\n\t * * `swatches`: only swatch tab is present\n\t * * `custom`: only custom tab is present\n\t * _Tested with snapshot testing._\n\t */\n\tvariant: PropTypes.oneOf(['base', 'swatches', 'custom']),\n\t/**\n\t * Current color in hexadecimal string, including # sign (eg: \"#000000\")\n\t */\n\tvalue: PropTypes.string,\n\t/**\n\t * Current working color in hexadecimal string, including # sign (eg: \"#000000\")\n\t */\n\tvalueWorking: PropTypes.string,\n};\n\nconst defaultProps = {\n\tassistiveText: {\n\t\tsaturationValueGrid:\n\t\t\t'Use arrow keys to select a saturation and brightness, on an x and y axis.',\n\t\thueSlider: 'Select Hue',\n\t},\n\tevents: {},\n\tlabels: {\n\t\tblueAbbreviated: 'B',\n\t\tcancelButton: 'Cancel',\n\t\tcustomTab: 'Custom',\n\t\tcustomTabActiveWorkingColorSwatch: 'Working Color',\n\t\tcustomTabTransparentSwatch: 'Transparent Swatch',\n\t\tgreenAbbreviated: 'G',\n\t\thexLabel: 'Hex',\n\t\tinvalidColor: 'The color entered is invalid',\n\t\tinvalidComponent: 'The value needs to be an integer from 0-255',\n\t\tredAbbreviated: 'R',\n\t\tsubmitButton: 'Done',\n\t\tswatchTab: 'Default',\n\t\tswatchTabTransparentSwatch: 'Transparent Swatch',\n\t},\n\tmenuPosition: 'absolute',\n\tswatchColors: [\n\t\t'#e3abec',\n\t\t'#c2dbf7',\n\t\t'#9fd6ff',\n\t\t'#9de7da',\n\t\t'#9df0c0',\n\t\t'#fff099',\n\t\t'#fed49a',\n\t\t'#d073e0',\n\t\t'#86baf3',\n\t\t'#5ebbff',\n\t\t'#44d8be',\n\t\t'#3be282',\n\t\t'#ffe654',\n\t\t'#ffb758',\n\t\t'#bd35bd',\n\t\t'#5779c1',\n\t\t'#5679c0',\n\t\t'#00aea9',\n\t\t'#3cba4c',\n\t\t'#f5bc25',\n\t\t'#f99221',\n\t\t'#580d8c',\n\t\t'#001970',\n\t\t'#0a2399',\n\t\t'#0b7477',\n\t\t'#0b6b50',\n\t\t'#b67e11',\n\t\t'#b85d0d',\n\t\t'',\n\t],\n\tdefaultSelectedTab: 'swatches',\n\tvariant: 'base',\n};\n\n/**\n * The Unified Color Picker component allows for a fully accessible and configurable color picker, allowing the user to pick from a set of predefined colors (swatches), or to pick a custom color using a HSB selection interface. It can be configured to show one or both of those color selection interfaces. View [component blueprint guidelines](https://lightningdesignsystem.com/components/color-picker/).\n */\nclass ColorPicker extends React.Component {\n\tstatic displayName = COLOR_PICKER;\n\n\tstatic propTypes = propTypes;\n\n\tstatic defaultProps = defaultProps;\n\n\tconstructor(props) {\n\t\tsuper(props);\n\n\t\tthis.generatedId = props.id || shortid.generate();\n\t\tconst workingColor = ColorUtils.getNewColor(\n\t\t\t{\n\t\t\t\thex: props.valueWorking || props.value,\n\t\t\t},\n\t\t\tprops.events.onValidateWorkingColor\n\t\t);\n\t\tthis.state = {\n\t\t\tcurrentColor: props.value != null ? props.value : '',\n\t\t\tdisabled: props.disabled,\n\t\t\tisOpen: props.isOpen,\n\t\t\tworkingColor,\n\t\t\tpreviousWorkingColor: workingColor,\n\t\t\tcolorErrorMessage: props.errorText,\n\t\t};\n\n\t\tcheckProps(COLOR_PICKER, props, componentDoc);\n\t}\n\n\tcomponentDidUpdate(prevProps) {\n\t\t// The following are only present to allow props to update the state if they get out of sync (for instance, the external store is updated).\n\t\tconst nextState = {};\n\n\t\tif (this.props.value !== prevProps.value) {\n\t\t\tnextState.currentColor = this.props.value;\n\t\t}\n\n\t\tif (this.props.valueWorking !== prevProps.valueWorking) {\n\t\t\tnextState.workingColor = ColorUtils.getNewColor(\n\t\t\t\t{\n\t\t\t\t\thex: this.props.valueWorking,\n\t\t\t\t},\n\t\t\t\tthis.props.events.onValidateWorkingColor\n\t\t\t);\n\t\t}\n\n\t\tif (this.props.disabled !== prevProps.disabled) {\n\t\t\tnextState.disabled = this.props.disabled;\n\t\t}\n\n\t\tif (Object.entries(nextState).length !== 0) {\n\t\t\t// eslint-disable-next-line react/no-did-update-set-state\n\t\t\tthis.setState(nextState);\n\t\t}\n\t}\n\n\tgetInput({ labels }) {\n\t\treturn this.props.hideInput ? null : (\n\t\t\t<Input\n\t\t\t\taria-describedby={\n\t\t\t\t\t!this.state.isOpen && this.state.colorErrorMessage\n\t\t\t\t\t\t? `color-picker-summary-error-${this.generatedId}`\n\t\t\t\t\t\t: undefined\n\t\t\t\t}\n\t\t\t\tclassName={classNames(\n\t\t\t\t\t'slds-color-picker__summary-input',\n\t\t\t\t\t'slds-align-top',\n\t\t\t\t\t{\n\t\t\t\t\t\t'slds-has-error': !!this.state.colorErrorMessage,\n\t\t\t\t\t}\n\t\t\t\t)}\n\t\t\t\tdisabled={this.props.disabled}\n\t\t\t\tid={`color-picker-summary-input-${this.generatedId}`}\n\t\t\t\tonChange={(event) => {\n\t\t\t\t\tthis.handleHexInputChange(event, { labels });\n\t\t\t\t}}\n\t\t\t\tvalue={this.state.currentColor}\n\t\t\t/>\n\t\t);\n\t}\n\n\tgetDefaultTab({ labels }) {\n\t\treturn (\n\t\t\t(this.props.variant === 'base' || this.props.variant === 'swatches') && (\n\t\t\t\t<TabsPanel label={labels.swatchTab}>\n\t\t\t\t\t<SwatchPicker\n\t\t\t\t\t\tcolor={this.state.workingColor}\n\t\t\t\t\t\tlabels={labels}\n\t\t\t\t\t\tonSelect={this.handleSwatchSelect}\n\t\t\t\t\t\tswatchColors={this.props.swatchColors}\n\t\t\t\t\t/>\n\t\t\t\t</TabsPanel>\n\t\t\t)\n\t\t);\n\t}\n\n\tgetCustomTab({ labels }) {\n\t\treturn (\n\t\t\t(this.props.variant === 'base' || this.props.variant === 'custom') && (\n\t\t\t\t<TabsPanel label={labels.customTab}>\n\t\t\t\t\t<CustomColor\n\t\t\t\t\t\tassistiveText={this.props.assistiveText}\n\t\t\t\t\t\tid={this.generatedId}\n\t\t\t\t\t\tcolor={this.state.workingColor}\n\t\t\t\t\t\terrorTextWorkingColor={this.props.errorTextWorkingColor}\n\t\t\t\t\t\tpreviousColor={this.state.previousWorkingColor}\n\t\t\t\t\t\tlabels={labels}\n\t\t\t\t\t\tonBlueChange={this.handleColorChange('blue')}\n\t\t\t\t\t\tonGreenChange={this.handleColorChange('green')}\n\t\t\t\t\t\tonHexChange={this.handleColorChange('hex')}\n\t\t\t\t\t\tonHueChange={this.handleColorChange('hue')}\n\t\t\t\t\t\tonRedChange={this.handleColorChange('red')}\n\t\t\t\t\t\tonSwatchChange={this.handleSwatchChange}\n\t\t\t\t\t\tonSaturationValueChange={this.handleSaturationValueChange}\n\t\t\t\t\t\tonSaturationNavigate={this.handleNavigate('saturation')}\n\t\t\t\t\t\tonValueNavigate={this.handleNavigate('value')}\n\t\t\t\t\t/>\n\t\t\t\t</TabsPanel>\n\t\t\t)\n\t\t);\n\t}\n\n\tgetPopover({ labels }) {\n\t\tconst popoverBody = (\n\t\t\t<Tabs\n\t\t\t\tid={`color-picker-tabs-${this.generatedId}`}\n\t\t\t\tdefaultSelectedIndex={\n\t\t\t\t\tthis.props.defaultSelectedTab === 'custom' ? 1 : 0\n\t\t\t\t}\n\t\t\t>\n\t\t\t\t{this.getDefaultTab({ labels })}\n\t\t\t\t{this.getCustomTab({ labels })}\n\t\t\t</Tabs>\n\t\t);\n\t\tconst popoverFooter = (\n\t\t\t<div className=\"slds-color-picker__selector-footer\">\n\t\t\t\t<Button\n\t\t\t\t\tclassName=\"slds-color-picker__selector-cancel\"\n\t\t\t\t\tid={`color-picker-footer-cancel-${this.generatedId}`}\n\t\t\t\t\tlabel={labels.cancelButton}\n\t\t\t\t\tonClick={this.handleCancel}\n\t\t\t\t\tvariant=\"neutral\"\n\t\t\t\t/>\n\t\t\t\t<Button\n\t\t\t\t\tclassName=\"slds-color-picker__selector-submit\"\n\t\t\t\t\tdisabled={\n\t\t\t\t\t\tObject.keys(this.state.workingColor.errors || {}).length > 0\n\t\t\t\t\t}\n\t\t\t\t\tid={`color-picker-footer-submit-${this.generatedId}`}\n\t\t\t\t\tlabel={labels.submitButton}\n\t\t\t\t\tonClick={this.handleSubmitButtonClick}\n\t\t\t\t\tvariant=\"brand\"\n\t\t\t\t/>\n\t\t\t</div>\n\t\t);\n\t\treturn (\n\t\t\t<Popover\n\t\t\t\tariaLabelledby={`color-picker-label-${this.generatedId}`}\n\t\t\t\talign=\"bottom left\"\n\t\t\t\tbody={popoverBody}\n\t\t\t\tclassName={classNames(\n\t\t\t\t\t'slds-color-picker__selector',\n\t\t\t\t\tthis.props.classNameMenu\n\t\t\t\t)}\n\t\t\t\tfooter={popoverFooter}\n\t\t\t\thasNoCloseButton\n\t\t\t\thasNoNubbin\n\t\t\t\thasStaticAlignment={this.props.hasStaticAlignment}\n\t\t\t\tid={`slds-color-picker__selector-${this.generatedId}`}\n\t\t\t\tisOpen={this.state.isOpen}\n\t\t\t\tonClose={this.props.onClose}\n\t\t\t\tonOpen={this.props.onOpen}\n\t\t\t\tonRequestClose={this.handleOnRequestClose}\n\t\t\t\tposition={this.props.menuPosition}\n\t\t\t>\n\t\t\t\t<Button\n\t\t\t\t\tclassName=\"slds-color-picker__summary-button\"\n\t\t\t\t\tdisabled={this.props.disabled}\n\t\t\t\t\ticonClassName=\"slds-m-left_xx-small\"\n\t\t\t\t\ticonPosition=\"right\"\n\t\t\t\t\ticonVariant=\"more\"\n\t\t\t\t\tid={`slds-color-picker__summary-button-${this.generatedId}`}\n\t\t\t\t\tlabel={<Swatch color={this.state.currentColor} labels={labels} />}\n\t\t\t\t\tonClick={this.handleSwatchButtonClick}\n\t\t\t\t\tvariant=\"icon\"\n\t\t\t\t/>\n\t\t\t</Popover>\n\t\t);\n\t}\n\n\tsetWorkingColor(event, color) {\n\t\tconst newColor = ColorUtils.getNewColor(\n\t\t\tcolor,\n\t\t\tthis.props.events.onValidateWorkingColor,\n\t\t\t// eslint-disable-next-line react/no-access-state-in-setstate\n\t\t\tthis.state.workingColor\n\t\t);\n\t\tthis.setState({\n\t\t\tworkingColor: newColor,\n\t\t\t// eslint-disable-next-line react/no-access-state-in-setstate\n\t\t\tpreviousWorkingColor: this.state.workingColor,\n\t\t});\n\n\t\tif (this.props.events.onWorkingColorChange) {\n\t\t\tthis.props.events.onWorkingColorChange(event, { color: newColor });\n\t\t}\n\t}\n\n\thandleSwatchChange = (event) => {\n\t\tthis.setWorkingColor(event, {\n\t\t\thex: event.target.value,\n\t\t});\n\t};\n\n\thandleOnRequestClose = (event, { trigger }) => {\n\t\tif (trigger === 'clickOutside' || trigger === 'cancel') {\n\t\t\tthis.handleCancelState();\n\t\t}\n\n\t\tif (this.props.onRequestClose) {\n\t\t\tthis.props.onRequestClose(event, { trigger });\n\t\t}\n\t};\n\n\thandleClickOutside = (event) => {\n\t\tthis.handleCancelButtonClick(event);\n\t};\n\n\thandleCancel = (event) => {\n\t\tthis.handleCancelState();\n\n\t\tif (this.props.onRequestClose) {\n\t\t\tthis.props.onRequestClose(event, { trigger: 'cancel' });\n\t\t}\n\t};\n\n\thandleCancelState = () => {\n\t\tconst workingColor = ColorUtils.getNewColor(\n\t\t\t{\n\t\t\t\t// eslint-disable-next-line react/no-access-state-in-setstate\n\t\t\t\thex: this.state.currentColor,\n\t\t\t},\n\t\t\tthis.props.events.onValidateWorkingColor\n\t\t);\n\t\tthis.setState({\n\t\t\tisOpen: false,\n\t\t\tworkingColor,\n\t\t\tpreviousWorkingColor: workingColor,\n\t\t});\n\t};\n\n\thandleColorChange(property) {\n\t\treturn (event) => {\n\t\t\tconst colorProperties = {};\n\t\t\tcolorProperties[property] = event.target.value;\n\t\t\tthis.setWorkingColor(event, colorProperties);\n\t\t};\n\t}\n\n\thandleHexInputChange = (event, { labels }) => {\n\t\tconst currentColor = event.target.value;\n\t\tconst namedColorHex = ColorUtils.getHexFromNamedColor(currentColor);\n\t\tlet isValid = false;\n\n\t\tif (this.props.events.onValidateColor) {\n\t\t\tisValid = this.props.events.onValidateColor(currentColor);\n\t\t} else {\n\t\t\tisValid = namedColorHex ? true : ColorUtils.isValidHex(currentColor);\n\t\t}\n\n\t\tthis.setState({\n\t\t\tcurrentColor,\n\t\t\tworkingColor: ColorUtils.getNewColor(\n\t\t\t\t{\n\t\t\t\t\thex: namedColorHex || currentColor,\n\t\t\t\t\tname: namedColorHex ? currentColor.toLowerCase() : null,\n\t\t\t\t},\n\t\t\t\tthis.props.events.onValidateWorkingColor\n\t\t\t),\n\t\t\tcolorErrorMessage: isValid ? '' : labels.invalidColor,\n\t\t});\n\n\t\tif (this.props.events.onChange) {\n\t\t\tthis.props.events.onChange(event, {\n\t\t\t\tcolor: currentColor,\n\t\t\t\tisValid,\n\t\t\t});\n\t\t}\n\t};\n\n\thandleNavigate(property) {\n\t\treturn (event, { delta }) => {\n\t\t\tconst colorProperties = {};\n\t\t\tcolorProperties[property] = delta;\n\t\t\tconst newColor = ColorUtils.getDeltaColor(\n\t\t\t\tcolorProperties,\n\t\t\t\tthis.props.events.onValidateWorkingColor,\n\t\t\t\t// eslint-disable-next-line react/no-access-state-in-setstate\n\t\t\t\tthis.state.workingColor\n\t\t\t);\n\t\t\tthis.setState({\n\t\t\t\tworkingColor: newColor,\n\t\t\t\t// eslint-disable-next-line react/no-access-state-in-setstate\n\t\t\t\tpreviousWorkingColor: this.state.workingColor,\n\t\t\t});\n\n\t\t\tif (this.props.events.onWorkingColorChange) {\n\t\t\t\tthis.props.events.onWorkingColorChange(event, { color: newColor });\n\t\t\t}\n\t\t};\n\t}\n\n\thandleSaturationValueChange = (event, { saturation, value }) => {\n\t\tthis.setWorkingColor(event, {\n\t\t\tsaturation,\n\t\t\tvalue,\n\t\t});\n\t};\n\n\thandleSubmitButtonClick = (event) => {\n\t\tthis.setState({\n\t\t\tisOpen: false,\n\t\t\t// eslint-disable-next-line react/no-access-state-in-setstate\n\t\t\tcurrentColor: this.state.workingColor.hex,\n\t\t\tcolorErrorMessage: '',\n\t\t});\n\t\tif (this.props.events.onChange) {\n\t\t\tthis.props.events.onChange(event, {\n\t\t\t\tcolor: this.state.workingColor.hex,\n\t\t\t\tisValid: true,\n\t\t\t});\n\t\t}\n\t};\n\n\thandleSwatchButtonClick = () => {\n\t\tconst workingColor = ColorUtils.getNewColor(\n\t\t\t{\n\t\t\t\t// eslint-disable-next-line react/no-access-state-in-setstate\n\t\t\t\thex: this.state.workingColor.hex,\n\t\t\t},\n\t\t\tthis.props.events.onValidateWorkingColor\n\t\t);\n\t\tthis.setState({\n\t\t\t// eslint-disable-next-line react/no-access-state-in-setstate\n\t\t\tisOpen: !this.state.isOpen,\n\t\t\tworkingColor,\n\t\t\t// eslint-disable-next-line react/no-access-state-in-setstate\n\t\t\tpreviousWorkingColor: this.state.previousWorkingColor,\n\t\t});\n\t\tif (this.props.onRequestOpen) {\n\t\t\tthis.props.onRequestOpen();\n\t\t}\n\t};\n\n\thandleSwatchSelect = (event, { hex }) => {\n\t\tthis.setWorkingColor(event, {\n\t\t\thex,\n\t\t});\n\t};\n\n\trender() {\n\t\tconst labels = assign({}, defaultProps.labels, this.props.labels);\n\n\t\treturn (\n\t\t\t<div\n\t\t\t\tclassName={classNames('slds-color-picker', this.props.className)}\n\t\t\t\tref={(node) => {\n\t\t\t\t\tthis.wrapper = node;\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\t<div className=\"slds-color-picker__summary\">\n\t\t\t\t\t<label\n\t\t\t\t\t\tclassName={classNames(\n\t\t\t\t\t\t\t'slds-color-picker__summary-label',\n\t\t\t\t\t\t\tthis.props.assistiveText.label ? 'slds-assistive-text' : ''\n\t\t\t\t\t\t)}\n\t\t\t\t\t\thtmlFor={\n\t\t\t\t\t\t\t!this.props.hideInput\n\t\t\t\t\t\t\t\t? `color-picker-summary-input-${this.generatedId}`\n\t\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t\t}\n\t\t\t\t\t\tid={`color-picker-label-${this.generatedId}`}\n\t\t\t\t\t>\n\t\t\t\t\t\t{this.props.assistiveText.label\n\t\t\t\t\t\t\t? this.props.assistiveText.label\n\t\t\t\t\t\t\t: labels.label}\n\t\t\t\t\t</label>\n\t\t\t\t\t{this.getPopover({ labels })}\n\t\t\t\t\t{this.getInput({ labels })}\n\t\t\t\t\t{!this.state.isOpen && this.state.colorErrorMessage ? (\n\t\t\t\t\t\t<p\n\t\t\t\t\t\t\tclassName=\"slds-form-error\"\n\t\t\t\t\t\t\tid={`color-picker-summary-error-${this.generatedId}`}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{this.state.colorErrorMessage}\n\t\t\t\t\t\t</p>\n\t\t\t\t\t) : (\n\t\t\t\t\t\t''\n\t\t\t\t\t)}\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t);\n\t}\n}\n\nexport default ColorPicker;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n/* eslint-disable jsx-a11y/interactive-supports-focus */\n\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport isEqual from 'lodash.isequal';\nimport classNames from 'classnames';\n\nimport Icon from '../../icon';\nimport Spinner from '../../spinner';\n\nconst propTypes = {\n\t/*\n\t * Active descendant in menu\n\t */\n\tactiveOption: PropTypes.object,\n\t/*\n\t * Index of active descendant in menu\n\t */\n\tactiveOptionIndex: PropTypes.number,\n\t/**\n\t * CSS classes to be added to container `div` tag. Uses `classNames` [API](https://github.com/JedWatson/classnames).\n\t */\n\tclassName: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\t/**\n\t * CSS classes to be added to tag with `.slds-dropdown`. Uses `classNames` [API](https://github.com/JedWatson/classnames).\n\t */\n\tclassNameMenu: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\t/**\n\t * CSS classes to be added to menu sub header `span` tag. Uses `classNames` [API](https://github.com/JedWatson/classnames).\n\t */\n\tclassNameMenuSubHeader: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\t/**\n\t * Sets the dialog width to the width of one of the following:\n\t * `target`: (Menus attached to `input` typically follow this UX pattern),\n\t * `menu`: Consider setting a menuMaxWidth if using this value. If not, width will be set to width of largest menu item.\n\t * 'none'\n\t */\n\tinheritWidthOf: PropTypes.oneOf(['target', 'menu', 'none']),\n\t/*\n\t * Id used for assistive technology\n\t */\n\tinputId: PropTypes.string,\n\t/**\n\t * Determines the height of the menu based on SLDS CSS classes.\n\t */\n\titemVisibleLength: PropTypes.oneOf([5, 7, 10]),\n\t/**\n\t * **Text labels for internationalization**\n\t * This object is merged with the default props object on every render.\n\t * * `noOptionsFound`: Custom message that renders when no matches found. The default empty state is just text that says, 'No matches found.'.\n\t */\n\tlabels: PropTypes.shape({\n\t\tnoOptionsFound: PropTypes.oneOfType([PropTypes.node, PropTypes.string])\n\t\t\t.isRequired,\n\t}),\n\t/**\n\t * Accepts a custom menu item rendering function that becomes a custom component and is passed in the following props:\n\t * * `assistiveText`: Object, `assistiveText` prop that is passed into Combobox\n\t * * `option`: Object, option data for item being rendered that is passed into Combobox\n\t * * `selected`: Boolean, allows rendering of `assistiveText.optionSelectedInMenu` in Readonly Combobox\n\t *\n\t * _Tested with snapshot testing._\n\t */\n\tonRenderMenuItem: PropTypes.func,\n\t/**\n\t * Accepts a ref function or object (React.createRef() or otherwise) to store the menu DOM reference once available\n\t */\n\tmenuRef: PropTypes.oneOfType([PropTypes.func, PropTypes.object]),\n\t/*\n\t * Sets a maximum width that the menu will be if `inheritWidthOf` is menu.\n\t */\n\tmaxWidth: PropTypes.string,\n\t/*\n\t * Callback when option is selected with keyboard or mouse\n\t */\n\tonSelect: PropTypes.func,\n\t/*\n\t * Menu options\n\t */\n\toptions: PropTypes.array,\n\t/*\n\t * Callback to remove active descendent\n\t */\n\tresetActiveOption: PropTypes.func,\n\t/*\n\t * Selected options\n\t */\n\tselection: PropTypes.array,\n\t/*\n\t * Adds loading spinner below the options\n\t */\n\thasMenuSpinner: PropTypes.bool,\n\t/*\n\t * Object for creating Add item below the options\n\t */\n\toptionsAddItem: PropTypes.arrayOf(\n\t\tPropTypes.shape({\n\t\t\tid: PropTypes.string,\n\t\t\ticon: PropTypes.node,\n\t\t\tlabel: PropTypes.oneOfType([PropTypes.string, PropTypes.func]),\n\t\t})\n\t),\n\t/*\n\t * Object for creating Search item on top of the options\n\t */\n\toptionsSearchEntity: PropTypes.arrayOf(\n\t\tPropTypes.shape({\n\t\t\tid: PropTypes.string,\n\t\t\ticon: PropTypes.node,\n\t\t\tlabel: PropTypes.oneOfType([PropTypes.string, PropTypes.func]),\n\t\t})\n\t),\n\t/**\n\t * Accepts a tooltip that is displayed when hovering on disabled menu items.\n\t */\n\ttooltipMenuItemDisabled: PropTypes.element,\n\t/**\n\t * Changes styles of the menu option\n\t */\n\tvariant: PropTypes.oneOf(['icon-title-subtitle', 'checkbox']),\n\tisSelected: PropTypes.func,\n\tassistiveText: PropTypes.object,\n};\n\nconst defaultProps = {\n\tinputValue: '',\n\tmenuRef: () => {},\n\toptionsAddItem: [],\n\toptionsSearchEntity: [],\n};\n\nconst getOptions = (props) => {\n\t// use of array.push() is OK, because the array is created on each render\n\tconst options = [];\n\tif (props.optionsSearchEntity.length > 0) {\n\t\tconst localOptionsSearchEntity = props.optionsSearchEntity.map(\n\t\t\t(entity) => ({ ...entity, type: 'header' })\n\t\t);\n\t\t// eslint-disable-next-line fp/no-mutating-methods\n\t\toptions.push(...localOptionsSearchEntity);\n\t}\n\t// eslint-disable-next-line fp/no-mutating-methods\n\toptions.push(...props.options);\n\tif (props.optionsAddItem.length > 0) {\n\t\tconst localOptionsAddItem = props.optionsAddItem.map((entity) => ({\n\t\t\t...entity,\n\t\t\ttype: 'footer',\n\t\t}));\n\t\t// eslint-disable-next-line fp/no-mutating-methods\n\t\toptions.push(...localOptionsAddItem);\n\t}\n\treturn options;\n};\n\nconst setBold = (label, searchTerm) => {\n\tif (!label || label.length === 0 || !searchTerm || searchTerm.length === 0) {\n\t\treturn label;\n\t}\n\tconst position = label.toLowerCase().indexOf(searchTerm.toLowerCase());\n\tif (position > -1) {\n\t\treturn (\n\t\t\t<React.Fragment>\n\t\t\t\t{label.substr(0, position)}\n\t\t\t\t<span key=\"bold\" className=\"slds-text-title_bold\">{`${label.substr(\n\t\t\t\t\tposition,\n\t\t\t\t\tsearchTerm.length\n\t\t\t\t)}`}</span>\n\t\t\t\t{label.substr(position + searchTerm.length)}\n\t\t\t</React.Fragment>\n\t\t);\n\t}\n\treturn label;\n};\n\nconst renderLabel = (labelProp, searchTerm) => {\n\tif (labelProp == null || typeof labelProp === 'string') {\n\t\treturn labelProp;\n\t}\n\n\treturn labelProp(searchTerm);\n};\n\nconst Menu = (props) => {\n\tlet maxWidth = props.inheritWidthOf === 'menu' ? 'inherit' : undefined;\n\tmaxWidth =\n\t\tprops.inheritWidthOf === 'menu' && props.maxWidth\n\t\t\t? props.maxWidth\n\t\t\t: maxWidth;\n\n\t// .slds-dropdown sets the menu to absolute positioning, since it has a relative parent. Absolute positioning removes clientHeight and clientWidth which Popper.js needs to absolute position the menu's wrapping div. Absolute positioning an already absolute positioned element doesn't work. Setting the menu's position to relative allows PopperJS to work it's magic.\n\tconst menuOptions = getOptions(props).map((optionData, index) => {\n\t\tconst active =\n\t\t\tindex === props.activeOptionIndex &&\n\t\t\tprops.activeOption &&\n\t\t\tisEqual(optionData.id, props.activeOption.id);\n\t\tconst selected =\n\t\t\tprops.isSelected({\n\t\t\t\tselection: props.selection,\n\t\t\t\toption: optionData,\n\t\t\t}) &&\n\t\t\t(optionData.type !== 'header' || optionData.type === 'footer');\n\t\tconst MenuItem = props.onRenderMenuItem;\n\n\t\tif (optionData.type === 'separator') {\n\t\t\treturn optionData.label ? (\n\t\t\t\t<li\n\t\t\t\t\tclassName=\"slds-dropdown__header slds-truncate\"\n\t\t\t\t\ttitle={optionData.label}\n\t\t\t\t\trole=\"separator\"\n\t\t\t\t\tkey={`menu-separator-${optionData.id}`}\n\t\t\t\t>\n\t\t\t\t\t<span\n\t\t\t\t\t\tclassName={classNames(\n\t\t\t\t\t\t\t'slds-listbox__option-header',\n\t\t\t\t\t\t\tprops.classNameMenuSubHeader\n\t\t\t\t\t\t)}\n\t\t\t\t\t>\n\t\t\t\t\t\t{optionData.label}\n\t\t\t\t\t</span>\n\t\t\t\t</li>\n\t\t\t) : (\n\t\t\t\t<li\n\t\t\t\t\tclassName=\"slds-has-divider_top-space\"\n\t\t\t\t\trole=\"separator\"\n\t\t\t\t\tkey={`menu-separator-${optionData.id}`}\n\t\t\t\t/>\n\t\t\t);\n\t\t}\n\t\tif (optionData.type === 'header') {\n\t\t\treturn (\n\t\t\t\t<li\n\t\t\t\t\tkey={`menu-header-${optionData.id}}`}\n\t\t\t\t\trole=\"presentation\"\n\t\t\t\t\tclassName=\"slds-listbox__item\"\n\t\t\t\t>\n\t\t\t\t\t<div\n\t\t\t\t\t\tonClick={\n\t\t\t\t\t\t\toptionData.disabled\n\t\t\t\t\t\t\t\t? null\n\t\t\t\t\t\t\t\t: (event) => {\n\t\t\t\t\t\t\t\t\t\tprops.onSelect(event, { option: optionData });\n\t\t\t\t\t\t\t\t }\n\t\t\t\t\t\t}\n\t\t\t\t\t\taria-selected={active}\n\t\t\t\t\t\tid={`${props.inputId}-listbox-option-${optionData.id}`}\n\t\t\t\t\t\tclassName={classNames(\n\t\t\t\t\t\t\t'slds-media slds-listbox__option',\n\t\t\t\t\t\t\t'slds-listbox__option_entity slds-listbox__option_term',\n\t\t\t\t\t\t\t{ 'slds-has-focus': active }\n\t\t\t\t\t\t)}\n\t\t\t\t\t\trole=\"option\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<span className=\"slds-media__figure slds-listbox__option-icon\">\n\t\t\t\t\t\t\t{optionData.icon}\n\t\t\t\t\t\t</span>\n\t\t\t\t\t\t<span className=\"slds-media__body\">\n\t\t\t\t\t\t\t{renderLabel(optionData.label, props.inputValue)}\n\t\t\t\t\t\t</span>\n\t\t\t\t\t</div>\n\t\t\t\t</li>\n\t\t\t);\n\t\t}\n\t\tif (optionData.type === 'footer') {\n\t\t\treturn (\n\t\t\t\t<li\n\t\t\t\t\tkey={`menu-footer-${optionData.id}}`}\n\t\t\t\t\trole=\"presentation\"\n\t\t\t\t\tclassName=\"slds-listbox__item\"\n\t\t\t\t>\n\t\t\t\t\t<div\n\t\t\t\t\t\taria-selected={active}\n\t\t\t\t\t\tonClick={\n\t\t\t\t\t\t\toptionData.disabled\n\t\t\t\t\t\t\t\t? null\n\t\t\t\t\t\t\t\t: (event) => {\n\t\t\t\t\t\t\t\t\t\tprops.onSelect(event, { option: optionData });\n\t\t\t\t\t\t\t\t }\n\t\t\t\t\t\t}\n\t\t\t\t\t\tid={`${props.inputId}-listbox-option-${optionData.id}`}\n\t\t\t\t\t\tclassName={classNames(\n\t\t\t\t\t\t\t'slds-media slds-listbox__option',\n\t\t\t\t\t\t\t'slds-listbox__option_entity slds-listbox__option_term',\n\t\t\t\t\t\t\t{ 'slds-has-focus': active }\n\t\t\t\t\t\t)}\n\t\t\t\t\t\trole=\"option\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<span className=\"slds-media__figure slds-listbox__option-icon\">\n\t\t\t\t\t\t\t{optionData.icon}\n\t\t\t\t\t\t</span>\n\t\t\t\t\t\t<span className=\"slds-media__body\">\n\t\t\t\t\t\t\t{renderLabel(optionData.label, props.inputValue)}\n\t\t\t\t\t\t</span>\n\t\t\t\t\t</div>\n\t\t\t\t</li>\n\t\t\t);\n\t\t}\n\n\t\tconst disabledProps = {};\n\t\tconst tooltipId = `${props.inputId}-listbox-option-help-${optionData.id}`;\n\t\tif (optionData.disabled && props.tooltipMenuItemDisabled && active) {\n\t\t\tdisabledProps['aria-describedby'] = tooltipId;\n\t\t}\n\t\tif (optionData.disabled) {\n\t\t\tdisabledProps['aria-disabled'] = !!optionData.disabled;\n\t\t\tdisabledProps.style = { cursor: 'default' }; // Replace this with a css class name once SLDS has it.\n\t\t}\n\n\t\tconst menuItem = {\n\t\t\t'icon-title-subtitle': (\n\t\t\t\t<span\n\t\t\t\t\taria-selected={active}\n\t\t\t\t\t{...disabledProps}\n\t\t\t\t\tid={`${props.inputId}-listbox-option-${optionData.id}`}\n\t\t\t\t\tkey={`menu-subtitle-${optionData.id}`}\n\t\t\t\t\tclassName={classNames(\n\t\t\t\t\t\t'slds-media slds-listbox__option',\n\t\t\t\t\t\t'slds-listbox__option_entity slds-listbox__option_has-meta',\n\t\t\t\t\t\t{ 'slds-has-focus': active }\n\t\t\t\t\t)}\n\t\t\t\t\tonClick={\n\t\t\t\t\t\toptionData.disabled\n\t\t\t\t\t\t\t? null\n\t\t\t\t\t\t\t: (event) => {\n\t\t\t\t\t\t\t\t\tprops.onSelect(event, { option: optionData });\n\t\t\t\t\t\t\t }\n\t\t\t\t\t}\n\t\t\t\t\trole=\"option\"\n\t\t\t\t>\n\t\t\t\t\t{/* For backward compatibility, */}\n\t\t\t\t\t{optionData.icon && !props.onRenderMenuItem ? (\n\t\t\t\t\t\t<span className=\"slds-media__figure\">{optionData.icon}</span>\n\t\t\t\t\t) : null}\n\t\t\t\t\t{props.onRenderMenuItem ? (\n\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\tassistiveText={props.assistiveText}\n\t\t\t\t\t\t\tselected={selected}\n\t\t\t\t\t\t\toption={optionData}\n\t\t\t\t\t\t/>\n\t\t\t\t\t) : (\n\t\t\t\t\t\t<span className=\"slds-media__body\">\n\t\t\t\t\t\t\t<span\n\t\t\t\t\t\t\t\tclassName={classNames(\n\t\t\t\t\t\t\t\t\t'slds-listbox__option-text',\n\t\t\t\t\t\t\t\t\t'slds-listbox__option-text_entity',\n\t\t\t\t\t\t\t\t\t{ 'slds-disabled-text': optionData.disabled }\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{setBold(optionData.label, props.inputValue)}\n\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t<span\n\t\t\t\t\t\t\t\tclassName={classNames(\n\t\t\t\t\t\t\t\t\t'slds-listbox__option-meta slds-listbox__option-meta_entity',\n\t\t\t\t\t\t\t\t\t{ 'slds-disabled-text': optionData.disabled }\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{setBold(optionData.subTitle, props.inputValue)}\n\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t</span>\n\t\t\t\t\t)}\n\t\t\t\t</span>\n\t\t\t),\n\t\t\tcheckbox: (\n\t\t\t\t<span // eslint-disable-line jsx-a11y/no-static-element-interactions\n\t\t\t\t\taria-selected={active}\n\t\t\t\t\t{...disabledProps}\n\t\t\t\t\tid={`${props.inputId}-listbox-option-${optionData.id}`}\n\t\t\t\t\tkey={`menu-checkbox-${optionData.id}`}\n\t\t\t\t\tclassName={classNames(\n\t\t\t\t\t\t'slds-media slds-listbox__option',\n\t\t\t\t\t\t' slds-listbox__option_plain slds-media_small slds-media_center',\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t'slds-has-focus': active,\n\t\t\t\t\t\t\t'slds-is-selected': selected,\n\t\t\t\t\t\t}\n\t\t\t\t\t)}\n\t\t\t\t\tonClick={\n\t\t\t\t\t\toptionData.disabled\n\t\t\t\t\t\t\t? null\n\t\t\t\t\t\t\t: (event) => {\n\t\t\t\t\t\t\t\t\tprops.onSelect(event, {\n\t\t\t\t\t\t\t\t\t\tselection: props.selection,\n\t\t\t\t\t\t\t\t\t\toption: optionData,\n\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t }\n\t\t\t\t\t}\n\t\t\t\t\trole=\"option\"\n\t\t\t\t>\n\t\t\t\t\t<span className=\"slds-media__figure\">\n\t\t\t\t\t\t<Icon\n\t\t\t\t\t\t\tclassName=\"slds-listbox__icon-selected\"\n\t\t\t\t\t\t\tcategory=\"utility\"\n\t\t\t\t\t\t\tname=\"check\"\n\t\t\t\t\t\t\tsize=\"x-small\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t</span>\n\t\t\t\t\t<span className=\"slds-media__body\">\n\t\t\t\t\t\t{props.onRenderMenuItem ? (\n\t\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\t\tassistiveText={props.assistiveText}\n\t\t\t\t\t\t\t\tselected={selected}\n\t\t\t\t\t\t\t\toption={optionData}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t<span\n\t\t\t\t\t\t\t\tclassName={classNames('slds-truncate', {\n\t\t\t\t\t\t\t\t\t'slds-disabled-text': optionData.disabled,\n\t\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t\t\ttitle={optionData.label}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{selected ? (\n\t\t\t\t\t\t\t\t\t<span className=\"slds-assistive-text\">\n\t\t\t\t\t\t\t\t\t\t{props.assistiveText.optionSelectedInMenu}\n\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t) : null}{' '}\n\t\t\t\t\t\t\t\t{optionData.label}\n\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t)}\n\t\t\t\t\t</span>\n\t\t\t\t</span>\n\t\t\t),\n\t\t};\n\n\t\tlet item;\n\t\tif (optionData.disabled && props.tooltipMenuItemDisabled) {\n\t\t\tconst {\n\t\t\t\tcontent,\n\t\t\t\t...userDefinedTooltipProps\n\t\t\t} = props.tooltipMenuItemDisabled.props;\n\t\t\tconst tooltipProps = {\n\t\t\t\talign: 'top',\n\t\t\t\tcontent: optionData.tooltipContent || content, // either use specific content defined on option or content defined on tooltip component.\n\t\t\t\tid: tooltipId,\n\t\t\t\tposition: 'absolute',\n\t\t\t\tsilenceTriggerTabbableWarning: true,\n\t\t\t\ttriggerStyle: { width: '100%' },\n\t\t\t\t...userDefinedTooltipProps, // we want to allow user defined tooltip pros to overwrite default props, if need be.\n\t\t\t};\n\t\t\tif (active) {\n\t\t\t\t// allows showing the tooltip on keyboard navigation to disabled menu item\n\t\t\t\ttooltipProps.isOpen = true;\n\t\t\t}\n\t\t\titem = React.cloneElement(\n\t\t\t\tprops.tooltipMenuItemDisabled,\n\t\t\t\ttooltipProps,\n\t\t\t\tmenuItem[props.variant]\n\t\t\t);\n\t\t} else {\n\t\t\titem = menuItem[props.variant];\n\t\t}\n\n\t\treturn (\n\t\t\t<li\n\t\t\t\tclassName=\"slds-listbox__item\"\n\t\t\t\tkey={`menu-option-${optionData.id}`}\n\t\t\t\trole=\"presentation\"\n\t\t\t>\n\t\t\t\t{item}\n\t\t\t</li>\n\t\t);\n\t});\n\n\treturn (\n\t\t<ul\n\t\t\tclassName={classNames(\n\t\t\t\t'slds-listbox slds-listbox_vertical slds-dropdown slds-dropdown_fluid',\n\t\t\t\t{\n\t\t\t\t\t'slds-dropdown_length-with-icon-5': props.itemVisibleLength === 5,\n\t\t\t\t\t'slds-dropdown_length-with-icon-7': props.itemVisibleLength === 7,\n\t\t\t\t\t'slds-dropdown_length-with-icon-10': props.itemVisibleLength === 10,\n\t\t\t\t},\n\t\t\t\tprops.classNameMenu\n\t\t\t)}\n\t\t\tref={props.menuRef}\n\t\t\trole=\"presentation\"\n\t\t\tstyle={{\n\t\t\t\twidth: props.inheritWidthOf === 'menu' ? 'auto' : undefined,\n\t\t\t\tmaxWidth,\n\t\t\t\tposition: props.menuPosition !== 'relative' ? 'relative' : undefined,\n\t\t\t}}\n\t\t>\n\t\t\t{menuOptions.length ? (\n\t\t\t\tmenuOptions\n\t\t\t) : (\n\t\t\t\t<li\n\t\t\t\t\tclassName=\"slds-listbox__item slds-listbox__status\"\n\t\t\t\t\trole=\"status\"\n\t\t\t\t\taria-live=\"polite\"\n\t\t\t\t>\n\t\t\t\t\t<span className=\"slds-m-left_x-large slds-p-vertical_medium\">\n\t\t\t\t\t\t{props.labels.noOptionsFound}\n\t\t\t\t\t</span>\n\t\t\t\t</li>\n\t\t\t)}\n\t\t\t{props.hasMenuSpinner && (\n\t\t\t\t<li role=\"presentation\" className=\"slds-listbox__item\">\n\t\t\t\t\t<div className=\"slds-align_absolute-center slds-p-top_medium\">\n\t\t\t\t\t\t<Spinner\n\t\t\t\t\t\t\tassistiveText={{ label: props.assistiveText.loadingMenuItems }}\n\t\t\t\t\t\t\thasContainer={false}\n\t\t\t\t\t\t\tisInline\n\t\t\t\t\t\t\tsize=\"x-small\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t</div>\n\t\t\t\t</li>\n\t\t\t)}\n\t\t</ul>\n\t);\n};\n\nMenu.displayName = 'Menu';\nMenu.propTypes = propTypes;\nMenu.defaultProps = defaultProps;\n\nexport default Menu;\n","/* eslint-disable react/jsx-curly-brace-presence */\n/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\n\nconst propTypes = {\n\t/*\n\t * Assistive Text to use instead of a visible label\n\t */\n\tassistiveText: PropTypes.object,\n\t/*\n\t * Id of the input associated with this label\n\t */\n\thtmlFor: PropTypes.string,\n\t/*\n\t * Input Label or inner node for formatting purposes\n\t */\n\tlabel: PropTypes.oneOfType([PropTypes.node, PropTypes.string]),\n\t/*\n\t * Applies label styling for a required form element\n\t */\n\trequired: PropTypes.bool,\n\t/**\n\t * Changes markup of label.\n\t */\n\tvariant: PropTypes.oneOf(['base', 'static']),\n};\n\nconst defaultProps = {\n\tvariant: 'base',\n};\n\n/*\n * Form label. This returns null if there is no label text (hidden or shown)\n */\nconst Label = (props) => {\n\tconst labelText =\n\t\tprops.label || (props.assistiveText && props.assistiveText.label); // One of these is required to pass accessibility tests\n\n\tconst subRenders = {\n\t\tbase: (\n\t\t\t<label\n\t\t\t\tclassName={classNames('slds-form-element__label', {\n\t\t\t\t\t'slds-assistive-text': props.assistiveText && !props.label,\n\t\t\t\t})}\n\t\t\t\thtmlFor={props.htmlFor}\n\t\t\t>\n\t\t\t\t{props.required && (\n\t\t\t\t\t<abbr className=\"slds-required\" title=\"required\">\n\t\t\t\t\t\t{'*'}\n\t\t\t\t\t</abbr>\n\t\t\t\t)}\n\t\t\t\t{labelText}\n\t\t\t</label>\n\t\t),\n\t\tstatic: <span className=\"slds-form-element__label\">{labelText}</span>,\n\t};\n\n\treturn labelText ? subRenders[props.variant] : null;\n};\n\nLabel.displayName = 'Label';\nLabel.propTypes = propTypes;\nLabel.defaultProps = defaultProps;\n\nexport default Label;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\nimport EventUtil from './event';\n\n/*\n * Helper function that has callbacks passed into it with the key\n * being the keycode of the event. This allows an object literal to\n * control key event callback mapping and avoids a long conditional\n * if statement and uses an enumeration pattern instead.\n */\nconst mapKeyEventCallbacks = (\n\tevent,\n\t{ callbacks = {}, shiftCallbacks = {}, stopPropagation = true }\n) => {\n\tif (event.shiftKey && event.keyCode && shiftCallbacks[event.keyCode]) {\n\t\tif (stopPropagation) {\n\t\t\tEventUtil.trapEvent(event);\n\t\t}\n\t\tshiftCallbacks[event.keyCode].callback(\n\t\t\tevent,\n\t\t\tshiftCallbacks[event.keyCode].data\n\t\t);\n\t} else if (event.keyCode && callbacks[event.keyCode]) {\n\t\tif (stopPropagation) {\n\t\t\tEventUtil.trapEvent(event);\n\t\t}\n\t\tcallbacks[event.keyCode].callback(event, callbacks[event.keyCode].data);\n\t} else if (event.keyCode && callbacks.other) {\n\t\t// You will likely NOT want to stop propagation of all key presses!\n\t\tif (callbacks.other.stopPropagation) {\n\t\t\tEventUtil.trapEvent(event);\n\t\t}\n\t\tcallbacks.other.callback(event, callbacks.other.data);\n\t}\n};\n\nexport default mapKeyEventCallbacks;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// # Pill Component\n// Implements the [Pill design pattern](https://lightningdesignsystem.com/components/pills/) in React.\n\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport { PILL } from '../../utilities/constants';\nimport UtilityIcon from '../utilities/utility-icon';\nimport KEYS from '../../utilities/key-code';\nimport EventUtil from '../../utilities/event';\n\nconst propTypes = {\n\t/**\n\t * **Assistive text for accessibility**\n\t * This object is merged with the default props object on every render.\n\t * * `remove`: This is a visually hidden label for the close button.\n\t * _Tested with snapshot testing._\n\t */\n\tassistiveText: PropTypes.shape({\n\t\tremove: PropTypes.string,\n\t}),\n\t/**\n\t * SLDSAvatar component to show on the left of the pill.\n\t * _Tested with Mocha framework._\n\t */\n\tavatar: PropTypes.element,\n\t/**\n\t * Applies the bare style to the component.\n\t * _Tested with Mocha framework._\n\t */\n\tbare: PropTypes.bool,\n\t/**\n\t * This is a way to specify custom contents for the pill in the case a simple text label is not enough.\n\t * _Tested with Mocha framework._\n\t */\n\tchildren: PropTypes.node,\n\t/**\n\t * CSS classes to be added to tag with `.slds-pill`. Uses `classNames` [API](https://github.com/JedWatson/classnames).\n\t * _Tested with Mocha framework._\n\t */\n\tclassName: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\t/**\n\t * Applies the error style to the component.\n\t * _Tested with Mocha framework._\n\t */\n\thasError: PropTypes.bool,\n\t/**\n\t * An href to use if the pill is shown as a link.\n\t * _Tested with Mocha framework._\n\t */\n\thref: PropTypes.string,\n\t/**\n\t * SLDSIcon component to show on the left of the pill.\n\t * _Tested with Mocha framework._\n\t */\n\ticon: PropTypes.element,\n\t/**\n\t * **Text labels for internationalization**\n\t * This object is merged with the default props object on every render.\n\t * * `label`: Pill's label.\n\t * * `title`: Pill's title.\n\t * * `removeTitle`: A title to use for the remove icon.\n\t *\n\t * _Tested with snapshot testing._\n\t */\n\tlabels: PropTypes.shape({\n\t\tlabel: PropTypes.string,\n\t\ttitle: PropTypes.string,\n\t\tremoveTitle: PropTypes.string,\n\t}),\n\t/**\n\t * `onBlur` callback executes when the component loses focus.\n\t * _Tested with Mocha framework._\n\t */\n\tonBlur: PropTypes.func,\n\t/**\n\t * `onClick` callback executes when a user clicks on the pill or presses the Enter key.\n\t * _Tested with Mocha framework._\n\t */\n\tonClick: PropTypes.func,\n\t/**\n\t * `onFocus` callback executes when the component receives focus.\n\t * _Tested with Mocha framework._\n\t */\n\tonFocus: PropTypes.func,\n\t/**\n\t * `onKeyDown` callback executes when a user presses a key.\n\t * _Tested with Mocha framework._\n\t */\n\tonKeyDown: PropTypes.func,\n\t/**\n\t * `onRemove` callback executes when a user clicks on the pill's remove icon or presses the delete or the backspace keys.\n\t * _Tested with Mocha framework._\n\t */\n\tonRemove: PropTypes.func,\n\t/**\n\t * A variant of a pill\n\t * _Tested with Mocha framework._\n\t */\n\tvariant: PropTypes.oneOf(['link', 'option']),\n};\n\n/**\n * A pill displays a label that can contain links and can be removed from view. Use `PillContainer` for a list of pills in a container that resembles an `input` form field. A pill is useful for displaying read-only text that can be added and removed on demand.\n */\nclass Pill extends React.Component {\n\tgetHref = () =>\n\t\ttypeof this.props.href === 'string'\n\t\t\t? this.props.href\n\t\t\t: 'javascript:void(0);'; // eslint-disable-line no-script-url\n\n\t/**\n\t * Removes focus from the component.\n\t */\n\tblur = () => {\n\t\tthis.root.blur();\n\t};\n\n\t/**\n\t * Give focus to the Pill component.\n\t */\n\tfocus = () => {\n\t\tthis.root.focus();\n\t};\n\n\t// eslint-disable-next-line fp/no-rest-parameters\n\thandleKeyDown = (event, ...rest) => {\n\t\tif (typeof this.props.onKeyDown === 'function') {\n\t\t\t// Make a callback to onKeyDown.\n\t\t\tthis.props.onKeyDown.call(null, event, ...rest);\n\t\t\t// Cancel further handling if the default handling for the event was prevented.\n\t\t\tif (event.defaultPrevented) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\n\t\tswitch (event.keyCode) {\n\t\t\tcase KEYS.ENTER:\n\t\t\t\tif (typeof this.props.onClick === 'function') {\n\t\t\t\t\tEventUtil.trap(event);\n\t\t\t\t\tthis.props.onClick();\n\t\t\t\t}\n\t\t\t\tbreak;\n\n\t\t\tcase KEYS.BACKSPACE:\n\t\t\tcase KEYS.DELETE:\n\t\t\t\tif (typeof this.props.onRemove === 'function') {\n\t\t\t\t\tEventUtil.trap(event);\n\t\t\t\t\tthis.props.onRemove();\n\t\t\t\t}\n\t\t\t\tbreak;\n\n\t\t\tdefault:\n\t\t\t\tbreak;\n\t\t}\n\t};\n\n\thandleRef = (root) => {\n\t\t// Keeping the top-most element to support focus() and blur()\n\t\tthis.root = root;\n\t};\n\n\t/**\n\t * Extracts a set of custom properties. A custom property is a property, which is not described in propTypes of a component.\n\t */\n\trestProps = () => {\n\t\tconst {\n\t\t\tbare,\n\t\t\thasError,\n\t\t\tvariant,\n\t\t\tclassName,\n\t\t\tonClick,\n\t\t\tonRemove,\n\t\t\tlabels,\n\t\t\tassistiveText,\n\t\t\tchildren,\n\t\t\thref,\n\t\t\ticon,\n\t\t\tavatar,\n\t\t\tonKeyDown,\n\t\t\t...other\n\t\t} = this.props;\n\t\treturn other;\n\t};\n\n\trenderIcon = () => {\n\t\tconst icon = this.props.icon || this.props.avatar;\n\t\tif (icon) {\n\t\t\treturn <span className=\"slds-pill__icon_container\">{icon}</span>;\n\t\t}\n\t\treturn null;\n\t};\n\n\trenderLabel = () => {\n\t\tif (this.props.labels.label) {\n\t\t\tif (this.props.variant === 'link') {\n\t\t\t\treturn (\n\t\t\t\t\t<a\n\t\t\t\t\t\thref={this.getHref()}\n\t\t\t\t\t\tclassName=\"slds-pill__action\"\n\t\t\t\t\t\ttitle={this.props.labels.title || this.props.labels.label}\n\t\t\t\t\t\tonClick={this.props.onClick}\n\t\t\t\t\t>\n\t\t\t\t\t\t<span className=\"slds-pill__label\">{this.props.labels.label}</span>\n\t\t\t\t\t</a>\n\t\t\t\t);\n\t\t\t}\n\t\t\treturn (\n\t\t\t\t<span\n\t\t\t\t\tclassName=\"slds-pill__label\"\n\t\t\t\t\ttitle={this.props.labels.title || this.props.labels.label}\n\t\t\t\t>\n\t\t\t\t\t{this.props.labels.label}\n\t\t\t\t</span>\n\t\t\t);\n\t\t}\n\t\treturn this.props.children;\n\t};\n\n\trenderRemoveIcon = () => {\n\t\tif (typeof this.props.onRemove === 'function') {\n\t\t\treturn (\n\t\t\t\t<span // eslint-disable-line jsx-a11y/interactive-supports-focus\n\t\t\t\t\tclassName=\"slds-icon_container slds-pill__remove\"\n\t\t\t\t\ttitle={this.props.labels.removeTitle}\n\t\t\t\t\trole=\"button\"\n\t\t\t\t\tonClick={this.props.onRemove}\n\t\t\t\t>\n\t\t\t\t\t<UtilityIcon\n\t\t\t\t\t\tstyle={{ cursor: 'pointer' }} // remove when fixed by SLDS CSS\n\t\t\t\t\t\tcategory=\"utility\"\n\t\t\t\t\t\tclassName=\"slds-icon slds-icon_x-small slds-icon-text-default\"\n\t\t\t\t\t\tname=\"close\"\n\t\t\t\t\t/>\n\t\t\t\t\t<span className=\"slds-assistive-text\">\n\t\t\t\t\t\t{this.props.assistiveText.remove || this.props.labels.removeTitle}\n\t\t\t\t\t</span>\n\t\t\t\t</span>\n\t\t\t);\n\t\t}\n\n\t\treturn null;\n\t};\n\n\trender() {\n\t\tlet role;\n\t\tswitch (this.props.variant) {\n\t\t\tcase 'link':\n\t\t\t\trole = 'button';\n\t\t\t\tbreak;\n\t\t\tcase 'option':\n\t\t\t\trole = 'option';\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t}\n\n\t\treturn (\n\t\t\t/* eslint-disable jsx-a11y/no-static-element-interactions */\n\t\t\t<span\n\t\t\t\t{...this.restProps()}\n\t\t\t\trole={role}\n\t\t\t\tclassName={classNames(\n\t\t\t\t\t'slds-pill',\n\t\t\t\t\t{\n\t\t\t\t\t\t'slds-pill_link': this.props.variant === 'link',\n\t\t\t\t\t\t'slds-has-error': this.props.hasError,\n\t\t\t\t\t\t'slds-pill_bare': this.props.bare,\n\t\t\t\t\t},\n\t\t\t\t\tthis.props.className\n\t\t\t\t)}\n\t\t\t\tonClick={\n\t\t\t\t\t!this.props.labels.label || this.props.variant !== 'link'\n\t\t\t\t\t\t? this.props.onClick\n\t\t\t\t\t\t: null\n\t\t\t\t}\n\t\t\t\tonKeyDown={\n\t\t\t\t\ttypeof this.props.onRemove === 'function' ? this.handleKeyDown : null\n\t\t\t\t}\n\t\t\t\tref={this.handleRef}\n\t\t\t>\n\t\t\t\t{this.renderIcon()}\n\t\t\t\t{this.renderLabel()}\n\t\t\t\t{this.renderRemoveIcon()}\n\t\t\t</span>\n\t\t);\n\t}\n}\n\nPill.displayName = PILL;\n\nPill.defaultProps = {\n\tvariant: 'link',\n\tlabels: {},\n\tassistiveText: {},\n};\n\nPill.propTypes = propTypes;\n\nexport default Pill;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n/**\n * This Pill component should be used within a listbox and differs from the standalone Pill component which is typically used for actions (such as a link) and not form fields. This component should be used in conjuction with `PillContainer`.\n */\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\nimport assign from 'lodash.assign';\n\nimport KEYS from '../../../utilities/key-code';\nimport mapKeyEventCallbacks from '../../../utilities/key-callbacks';\nimport EventUtil from '../../../utilities/event';\n\nimport SLDSPill from '../../../components/pill';\n\nconst propTypes = {\n\t/**\n\t * Pill is the actively focused pill within a pill container. This will request focus on the DOM node.\n\t */\n\tactive: PropTypes.bool,\n\t/**\n\t * **Assistive text for accessibility**\n\t * This object is merged with the default props object on every render.\n\t * * `pressDeleteOrBackspace`: Informs user of keyboard keys to press in order to remove a pill\n\t */\n\tassistiveText: PropTypes.shape({\n\t\tremove: PropTypes.string,\n\t}),\n\t/**\n\t * SLDSAvatar component to show on the left of the pill.\n\t * _Tested with Mocha framework._\n\t */\n\tavatar: PropTypes.element,\n\t/**\n\t * Applies the bare style to the component.\n\t * _Tested with Mocha framework._\n\t */\n\tbare: PropTypes.bool,\n\t/*\n\t * Pills are often used for selection of a type of entity such as days in a daypicker. This prop allows you to pass in data that will be passed back to the event handler.\n\t */\n\teventData: PropTypes.object,\n\t/*\n\t * Callbacks for various pill events such as click, focus, etc\n\t */\n\tevents: PropTypes.shape({\n\t\tonClick: PropTypes.func,\n\t\tonFocus: PropTypes.func,\n\t\tonRequestFocus: PropTypes.func.isRequired,\n\t\tonRequestFocusOnNextPill: PropTypes.func.isRequired,\n\t\tonRequestFocusOnPreviousPill: PropTypes.func.isRequired,\n\t\tonRequestRemove: PropTypes.func.isRequired,\n\t}),\n\t/**\n\t * Applies the error style to the component.\n\t * _Tested with Mocha framework._\n\t */\n\thasError: PropTypes.bool,\n\t/*\n\t * The icon next to the pill label.\n\t */\n\ticon: PropTypes.element,\n\t/*\n\t * Pill Label\n\t */\n\tlabels: PropTypes.shape({\n\t\tlabel: PropTypes.string.isRequired,\n\t\tremoveTitle: PropTypes.string,\n\t}),\n\t/*\n\t * If true and is active pill in listbox, will trigger `events.onRequestFocus`\n\t */\n\trequestFocus: PropTypes.bool,\n\t/*\n\t * Pill Title\n\t */\n\ttitle: PropTypes.string,\n\t/*\n\t * Allows the user to tab to the node\n\t */\n\ttabIndex: PropTypes.number,\n};\n\nconst defaultProps = {\n\tassistiveText: PropTypes.shape({\n\t\tremove: ', Press delete or backspace to remove',\n\t}),\n\tlabels: {\n\t\tremove: 'Remove',\n\t},\n\tevents: {},\n};\n\nconst handleKeyDown = (event, { events, data }) => {\n\t// Helper function that takes an object literal of callbacks that are triggered with a key event\n\tmapKeyEventCallbacks(event, {\n\t\tcallbacks: {\n\t\t\t[KEYS.BACKSPACE]: { callback: events.onRequestRemove, data },\n\t\t\t[KEYS.DELETE]: { callback: events.onRequestRemove, data },\n\t\t\t[KEYS.LEFT]: {\n\t\t\t\tcallback: events.onRequestFocusOnPreviousPill,\n\t\t\t\tdata: { ...data, direction: 'previous' },\n\t\t\t},\n\t\t\t[KEYS.RIGHT]: {\n\t\t\t\tcallback: events.onRequestFocusOnNextPill,\n\t\t\t\tdata: { ...data, direction: 'next' },\n\t\t\t},\n\t\t},\n\t});\n};\n\nconst handleClickRemove = (event, { events, data }) => {\n\tEventUtil.trap(event);\n\tevents.onRequestRemove(event, data);\n};\n\nconst Pill = (props) => {\n\tconst assistiveText = assign(\n\t\t{},\n\t\tdefaultProps.assistiveText,\n\t\tprops.assistiveText\n\t);\n\tconst labels = assign({}, defaultProps.labels, props.labels);\n\n\treturn (\n\t\t<SLDSPill\n\t\t\tavatar={props.avatar}\n\t\t\tbare={props.bare}\n\t\t\thasError={props.hasError}\n\t\t\ttabIndex={props.tabIndex || '0'}\n\t\t\ticon={props.icon}\n\t\t\tvariant=\"option\"\n\t\t\tlabels={labels}\n\t\t\tassistiveText={{\n\t\t\t\tremove: assistiveText.remove,\n\t\t\t}}\n\t\t\taria-selected=\"true\"\n\t\t\tonBlur={props.events.onBlur}\n\t\t\tonClick={\n\t\t\t\ttypeof props.events.onClick === 'function'\n\t\t\t\t\t? (event) => {\n\t\t\t\t\t\t\tif (props.events.onClick) {\n\t\t\t\t\t\t\t\tprops.events.onClick(event, {\n\t\t\t\t\t\t\t\t\t...props.eventData,\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t}\n\t\t\t\t\t }\n\t\t\t\t\t: null\n\t\t\t}\n\t\t\tonFocus={(event) => {\n\t\t\t\tif (props.events.onFocus) {\n\t\t\t\t\tprops.events.onFocus(event, {\n\t\t\t\t\t\t...props.eventData,\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}}\n\t\t\tonRemove={(event) => {\n\t\t\t\tEventUtil.trap(event);\n\t\t\t\thandleClickRemove(event, {\n\t\t\t\t\tevents: props.events,\n\t\t\t\t\tdata: props.eventData,\n\t\t\t\t});\n\t\t\t}}\n\t\t\tonKeyDown={(event) => {\n\t\t\t\thandleKeyDown(event, {\n\t\t\t\t\tevents: props.events,\n\t\t\t\t\tdata: props.eventData,\n\t\t\t\t});\n\t\t\t}}\n\t\t\tref={(component) => {\n\t\t\t\tif (props.requestFocus && props.active) {\n\t\t\t\t\tprops.events.onRequestFocus(undefined, { ref: component });\n\t\t\t\t}\n\t\t\t}}\n\t\t/>\n\t);\n};\n\nPill.displayName = 'Pill';\nPill.propTypes = propTypes;\nPill.defaultProps = defaultProps;\n\nexport default Pill;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\nfunction isReactComponent(object) {\n\treturn (\n\t\t(object.$$typeof &&\n\t\t\tobject.$$typeof.toString() === 'Symbol(react.element)') ||\n\t\t(object.type && typeof object.type === 'function')\n\t);\n}\n\nexport default isReactComponent;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\nimport classNames from 'classnames';\n\nimport Avatar from '../../avatar';\nimport Icon from '../../icon';\nimport Pill from '../../utilities/pill';\n\nimport isReactComponent from '../../../utilities/is-react-component';\n\nconst propTypes = {\n\t/*\n\t * The option object within the selection prop that should have focus.\n\t */\n\tactiveOption: PropTypes.object,\n\t/*\n\t * The index of the option object within the selection prop that should have focus.\n\t */\n\tactiveOptionIndex: PropTypes.number,\n\t/**\n\t * **Assistive text for accessibility**\n\t * This object is merged with the default props object on every render.\n\t * * `label`: This is used as a visually hidden label if, no `labels.label` is provided.\n\t * * `removePill`: Aids in keyboard interaction with Pills.\n\t * * `selectedListboxLabel`: Used to identify the listbox\n\t */\n\tassistiveText: PropTypes.shape({\n\t\tlabel: PropTypes.string,\n\t\tremovePill: PropTypes.string,\n\t\tselectedListboxLabel: PropTypes.string,\n\t}),\n\t/**\n\t * CSS classes to be added to the top-level `div` tag.\n\t */\n\tclassName: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\t/*\n\t * Callbacks for various pill events such as click, focus, etc\n\t */\n\tevents: PropTypes.shape({\n\t\tonClickPill: PropTypes.func,\n\t\tonPillFocus: PropTypes.func.isRequired,\n\t\tonRequestFocus: PropTypes.func.isRequired,\n\t\tonRequestFocusOnNextPill: PropTypes.func.isRequired,\n\t\tonRequestFocusOnPreviousPill: PropTypes.func.isRequired,\n\t\tonRequestRemove: PropTypes.func.isRequired,\n\t}),\n\t/**\n\t * HTML id for component main container\n\t */\n\tid: PropTypes.string,\n\t/**\n\t * Determines whether component renders as a bare pill container with associated styling for child pills\n\t */\n\tisBare: PropTypes.bool,\n\t/**\n\t * Adds inline (inside of input) styling\n\t */\n\tisInline: PropTypes.bool,\n\t/**\n\t * Determines whether component renders as a pill container with associated styling and behavior\n\t */\n\tisPillContainer: PropTypes.bool,\n\t/**\n\t * The value of `aria-orientation` to use on the listbox element\n\t */\n\tlistboxAriaOrientation: PropTypes.string,\n\t/**\n\t * The value of `role` to use on the listbox element\n\t */\n\tlistboxRole: PropTypes.string,\n\t/**\n\t * The value of `aria-orientation` to use on the container element\n\t */\n\tcontainerAriaOrientation: PropTypes.string,\n\t/**\n\t * The value of `role` to use on the container element\n\t */\n\tcontainerRole: PropTypes.string,\n\t/*\n\t * Pill Label\n\t */\n\tlabels: PropTypes.shape({\n\t\tlabel: PropTypes.string,\n\t\tremove: PropTypes.string,\n\t\ttitle: PropTypes.string,\n\t}),\n\t/**\n\t * Changes styles of the input. Currently `entity` is not supported.\n\t */\n\trenderAtSelectionLength: PropTypes.number,\n\t/**\n\t * This callback exposes the selected listbox reference / DOM node to parent components.\n\t */\n\tselectedListboxRef: PropTypes.func,\n\t/**\n\t * Accepts an array of item objects.\n\t */\n\tselection: PropTypes.array,\n\t/**\n\t * Custom styles to be passed to the top-level `div` tag\n\t */\n\tstyle: PropTypes.object,\n\t/**\n\t * Requests that the active option set focus on render\n\t */\n\tlistboxHasFocus: PropTypes.bool,\n\t/**\n\t * Changes styles of the input. Currently `entity` is not supported.\n\t */\n\tvariant: PropTypes.oneOf(['base', 'inline-listbox', 'readonly']),\n};\n\nconst defaultProps = {\n\tlistboxAriaOrientation: 'horizontal',\n\tlistboxRole: 'listbox',\n\trenderAtSelectionLength: 1,\n};\n\nconst getAvatar = (option) => {\n\tconst avatarObject = option.avatar;\n\tlet avatar = null;\n\n\tif (avatarObject) {\n\t\tif (isReactComponent(avatarObject) || avatarObject instanceof HTMLElement) {\n\t\t\tavatar = avatarObject;\n\t\t} else if (avatarObject.imgSrc) {\n\t\t\tavatar = (\n\t\t\t\t<Avatar\n\t\t\t\t\timgSrc={avatarObject.imgSrc}\n\t\t\t\t\ttitle={avatarObject.title || option.label}\n\t\t\t\t\tvariant={avatarObject.variant || 'user'}\n\t\t\t\t/>\n\t\t\t);\n\t\t}\n\t}\n\n\treturn avatar;\n};\n\nconst getIcon = (option) => {\n\tconst iconObject = option.icon;\n\tlet icon = null;\n\n\tif (iconObject) {\n\t\tif (isReactComponent(iconObject) || iconObject instanceof HTMLElement) {\n\t\t\ticon = iconObject;\n\t\t} else if (iconObject.category && iconObject.name) {\n\t\t\ticon = (\n\t\t\t\t<Icon\n\t\t\t\t\tcategory={iconObject.category}\n\t\t\t\t\tname={iconObject.name}\n\t\t\t\t\ttitle={iconObject.title || option.label}\n\t\t\t\t/>\n\t\t\t);\n\t\t}\n\t}\n\n\treturn icon;\n};\n\nconst SelectedListBox = (props) =>\n\tprops.selection.length >= props.renderAtSelectionLength ? (\n\t\t<div // eslint-disable-line jsx-a11y/role-supports-aria-props\n\t\t\tclassName={\n\t\t\t\tclassNames(\n\t\t\t\t\t{\n\t\t\t\t\t\t'slds-pill_container': props.isPillContainer,\n\t\t\t\t\t},\n\t\t\t\t\tprops.className\n\t\t\t\t) || undefined\n\t\t\t}\n\t\t\tid={props.id}\n\t\t\tref={(ref) => {\n\t\t\t\tif (props.selectedListboxRef) {\n\t\t\t\t\tprops.selectedListboxRef(ref);\n\t\t\t\t}\n\t\t\t}}\n\t\t\tstyle={props.style}\n\t\t\t// Remove role and aria-orientation after slds-has-inline-listbox is deprecated in Combobox\n\t\t\trole={props.containerRole}\n\t\t\taria-orientation={props.containerAriaOrientation}\n\t\t>\n\t\t\t<ul\n\t\t\t\tclassName={classNames('slds-listbox', {\n\t\t\t\t\t'slds-listbox_inline': props.isInline,\n\t\t\t\t\t'slds-listbox_horizontal': !props.isInline,\n\t\t\t\t\t'slds-p-top_xxx-small': !props.isInline,\n\t\t\t\t})}\n\t\t\t\taria-label={props.assistiveText.selectedListboxLabel}\n\t\t\t\trole={props.listboxRole}\n\t\t\t\taria-orientation={props.listboxAriaOrientation}\n\t\t\t>\n\t\t\t\t{props.selection.map((option, renderIndex) => {\n\t\t\t\t\tconst hasTabIndex = renderIndex === props.activeOptionIndex;\n\t\t\t\t\tconst icon = getIcon(option);\n\t\t\t\t\tconst avatar = !icon ? getAvatar(option) : null;\n\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<li\n\t\t\t\t\t\t\trole=\"presentation\"\n\t\t\t\t\t\t\tclassName=\"slds-listbox__item\"\n\t\t\t\t\t\t\tkey={`${props.id}-list-item-${option.id}`}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<Pill\n\t\t\t\t\t\t\t\tactive={hasTabIndex && props.listboxHasFocus}\n\t\t\t\t\t\t\t\tassistiveText={{\n\t\t\t\t\t\t\t\t\tremove: props.assistiveText.removePill,\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\tavatar={avatar}\n\t\t\t\t\t\t\t\tbare={option.bare || props.isBare}\n\t\t\t\t\t\t\t\terror={option.error}\n\t\t\t\t\t\t\t\tevents={{\n\t\t\t\t\t\t\t\t\tonBlur: props.events.onBlurPill,\n\t\t\t\t\t\t\t\t\tonClick:\n\t\t\t\t\t\t\t\t\t\ttypeof props.events.onClickPill === 'function'\n\t\t\t\t\t\t\t\t\t\t\t? (event, data) => {\n\t\t\t\t\t\t\t\t\t\t\t\t\tprops.events.onClickPill(event, {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t...data,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tindex: renderIndex,\n\t\t\t\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t\t\t }\n\t\t\t\t\t\t\t\t\t\t\t: null,\n\t\t\t\t\t\t\t\t\tonFocus: (event, data) => {\n\t\t\t\t\t\t\t\t\t\tprops.events.onPillFocus(event, {\n\t\t\t\t\t\t\t\t\t\t\t...data,\n\t\t\t\t\t\t\t\t\t\t\tindex: renderIndex,\n\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\tonRequestFocusOnNextPill:\n\t\t\t\t\t\t\t\t\t\tprops.events.onRequestFocusOnNextPill,\n\t\t\t\t\t\t\t\t\tonRequestFocusOnPreviousPill:\n\t\t\t\t\t\t\t\t\t\tprops.events.onRequestFocusOnPreviousPill,\n\t\t\t\t\t\t\t\t\tonRequestRemove: (event, data) => {\n\t\t\t\t\t\t\t\t\t\tprops.events.onRequestRemove(event, {\n\t\t\t\t\t\t\t\t\t\t\t...data,\n\t\t\t\t\t\t\t\t\t\t\tindex: renderIndex,\n\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\tonRequestFocus: props.events.onRequestFocus,\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\teventData={{ option }}\n\t\t\t\t\t\t\t\thasError={option.error}\n\t\t\t\t\t\t\t\ticon={icon}\n\t\t\t\t\t\t\t\tlabels={{\n\t\t\t\t\t\t\t\t\tlabel: option.label,\n\t\t\t\t\t\t\t\t\tremoveTitle: props.labels.removePillTitle,\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\trequestFocus={props.listboxHasFocus}\n\t\t\t\t\t\t\t\ttabIndex={hasTabIndex ? 0 : -1}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</li>\n\t\t\t\t\t);\n\t\t\t\t})}\n\t\t\t</ul>\n\t\t</div>\n\t) : null;\n\nSelectedListBox.displayName = 'SelectedListBox';\nSelectedListBox.propTypes = propTypes;\nSelectedListBox.defaultProps = defaultProps;\n\nexport default SelectedListBox;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\nimport escapeRegExp from 'lodash.escaperegexp';\n\n// Determines the focusedIndex of a menu item following keyboard letter presses\nconst keyLetterMenuItemSelect = ({ key, keyBuffer, keyCode, options }) => {\n\tlet ch = key || String.fromCharCode(keyCode);\n\n\tif (/^[ -~]$/.test(ch)) {\n\t\tch = ch.toLowerCase();\n\t} else {\n\t\tch = null;\n\t}\n\n\tconst pattern = keyBuffer(ch);\n\tlet consecutive = 0;\n\tlet focusedIndex;\n\n\t// Support for navigating to the next option of the same letter with repeated presses of the same key\n\tif (\n\t\tpattern.length > 1 &&\n\t\tnew RegExp(`^[${escapeRegExp(ch)}]+$`).test(pattern)\n\t) {\n\t\tconsecutive = pattern.length;\n\t}\n\n\toptions.forEach((item, index) => {\n\t\tconst itemLabel = String(item.label).toLowerCase();\n\n\t\tif (\n\t\t\t(focusedIndex === undefined &&\n\t\t\t\titemLabel.substr(0, pattern.length) === pattern) ||\n\t\t\t(consecutive > 0 && itemLabel.substr(0, 1) === ch)\n\t\t) {\n\t\t\tconsecutive -= 1;\n\t\t\tfocusedIndex = index;\n\t\t}\n\t});\n\n\treturn focusedIndex;\n};\n\nexport default keyLetterMenuItemSelect;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// Scrolls a menu container to the appropriate focused item. Assumes container is positioned (absolute, relative, etc)\nconst menuItemSelectScroll = ({\n\tcontainer,\n\tfocusedIndex,\n\titemTag = 'li',\n\tscrollPadding = 4,\n}) => {\n\tconst domItem = container.querySelector(\n\t\t`${itemTag}:nth-child(${focusedIndex + 1})`\n\t);\n\n\tif (domItem) {\n\t\tif (\n\t\t\tdomItem.offsetHeight - container.scrollTop + domItem.offsetTop >=\n\t\t\tcontainer.offsetHeight\n\t\t) {\n\t\t\t// eslint-disable-next-line no-param-reassign\n\t\t\tcontainer.scrollTop =\n\t\t\t\tdomItem.offsetHeight +\n\t\t\t\tdomItem.offsetTop -\n\t\t\t\tcontainer.offsetHeight +\n\t\t\t\tscrollPadding;\n\t\t} else if (domItem.offsetTop <= container.scrollTop) {\n\t\t\t// eslint-disable-next-line no-param-reassign\n\t\t\tcontainer.scrollTop = domItem.offsetTop - scrollPadding;\n\t\t}\n\t}\n};\n\nexport default menuItemSelectScroll;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n/* eslint-disable import/no-mutable-exports */\n\nimport deprecatedProperty from '../../utilities/warning/deprecated-property';\nimport oneOfRequiredProperty from '../../utilities/warning/one-of-required-property';\nimport getComponentDocFn from '../../utilities/get-component-doc';\n\nlet checkProps = function checkPropsFunction() {};\n\nif (process.env.NODE_ENV !== 'production') {\n\tcheckProps = function checkPropsFunction(COMPONENT, props, jsonDoc) {\n\t\tconst createDocUrl = getComponentDocFn(jsonDoc);\n\t\t/* eslint-disable max-len */\n\t\tdeprecatedProperty(\n\t\t\tCOMPONENT,\n\t\t\tprops.isInline,\n\t\t\t'isInline',\n\t\t\t'menuPosition=\"relative\"',\n\t\t\tcreateDocUrl('menuPosition')\n\t\t);\n\t\tdeprecatedProperty(\n\t\t\tCOMPONENT,\n\t\t\tprops.menuItem,\n\t\t\t'menuItem',\n\t\t\t'onRenderMenuItem',\n\t\t\tcreateDocUrl('onRenderItem')\n\t\t);\n\t\tdeprecatedProperty(\n\t\t\tCOMPONENT,\n\t\t\tprops.readOnlyMenuItemVisibleLength,\n\t\t\t'readOnlyMenuItemVisibleLength',\n\t\t\t'menuItemVisibleLength',\n\t\t\tcreateDocUrl('menuItemVisibleLength')\n\t\t);\n\t\t/* eslint-enable max-len */\n\n\t\tif (props.variant !== 'popover') {\n\t\t\toneOfRequiredProperty(\n\t\t\t\tCOMPONENT,\n\t\t\t\t{\n\t\t\t\t\toptions: props.options,\n\t\t\t\t},\n\t\t\t\tcreateDocUrl('options')\n\t\t\t);\n\t\t} else {\n\t\t\toneOfRequiredProperty(\n\t\t\t\tCOMPONENT,\n\t\t\t\t{\n\t\t\t\t\t\"assistiveText['popoverLabel']\": props.assistiveText.popoverLabel,\n\t\t\t\t},\n\t\t\t\tcreateDocUrl('assistiveText')\n\t\t\t);\n\t\t}\n\t};\n}\n\nexport default checkProps;\n","/* eslint-disable max-lines */\n/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n/* eslint-disable max-lines */\n\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\nimport assign from 'lodash.assign';\nimport find from 'lodash.find';\nimport reject from 'lodash.reject';\nimport isEqual from 'lodash.isequal';\nimport findIndex from 'lodash.findindex';\nimport isFunction from 'lodash.isfunction';\n\nimport classNames from 'classnames';\n\nimport shortid from 'shortid';\n\nimport Button from '../button';\nimport Dialog from '../utilities/dialog';\nimport InnerInput from '../../components/input/private/inner-input';\nimport InputIcon from '../icon/input-icon';\nimport Menu from './private/menu';\nimport Label from '../forms/private/label';\nimport Popover from '../popover';\nimport SelectedListBox from '../pill-container/private/selected-listbox';\n\nimport FieldLevelHelpTooltip from '../tooltip/private/field-level-help-tooltip';\nimport KEYS from '../../utilities/key-code';\nimport KeyBuffer from '../../utilities/key-buffer';\nimport keyLetterMenuItemSelect from '../../utilities/key-letter-menu-item-select';\nimport mapKeyEventCallbacks from '../../utilities/key-callbacks';\nimport menuItemSelectScroll from '../../utilities/menu-item-select-scroll';\n\nimport checkProps from './check-props';\n\nimport { COMBOBOX } from '../../utilities/constants';\nimport componentDoc from './component.json';\n\nlet currentOpenDropdown;\nconst documentDefined = typeof document !== 'undefined';\n\nconst propTypes = {\n\t/**\n\t * **Assistive text for accessibility**\n\t * This object is merged with the default props object on every render.\n\t * * `label`: This is used as a visually hidden label if, no `labels.label` is provided.\n\t * * `loading`: Text added to loading spinner.\n\t * * `optionSelectedInMenu`: Added before selected menu items in Read-only variants (Picklists). The default is `Current Selection:`.\n\t * * `popoverLabel`: Used by popover variant, assistive text for the Popover aria-label.\n\t * * `removeSingleSelectedOption`: Used by inline-listbox, single-select variant to remove the selected item (pill). This is a button with focus. The default is `Remove selected option`.\n\t * * `removePill`: Used by multiple selection Comboboxes to remove a selected item (pill). Focus is on the pill. This is not a button. The default is `, Press delete or backspace to remove`.\n\t * * `selectedListboxLabel`: This is a label for the selected listbox. The grouping of pills for multiple selection Comboboxes. The default is `Selected Options:`.\n\t * _Tested with snapshot testing._\n\t */\n\tassistiveText: PropTypes.shape({\n\t\tlabel: PropTypes.string,\n\t\tloadingMenuItems: PropTypes.string,\n\t\toptionSelectedInMenu: PropTypes.string,\n\t\tpopoverLabel: PropTypes.string,\n\t\tremoveSingleSelectedOption: PropTypes.string,\n\t\tremovePill: PropTypes.string,\n\t\tselectedListboxLabel: PropTypes.string,\n\t}),\n\t/**\n\t * The `aria-describedby` attribute is used to indicate the IDs of the elements that describe the object. It is used to establish a relationship between widgets or groups and text that described them.\n\t * This is very similar to aria-labelledby: a label describes the essence of an object, while a description provides more information that the user might need. _Tested with snapshot testing._\n\t */\n\t'aria-describedby': PropTypes.string,\n\t/**\n\t * CSS classes to be added to tag with `.slds-combobox`. Uses `classNames` [API](https://github.com/JedWatson/classnames). _Tested with snapshot testing._\n\t */\n\tclassName: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\t/**\n\t * CSS classes to be added to top level tag with `.slds-form-element` and not on `.slds-combobox_container`. Uses `classNames` [API](https://github.com/JedWatson/classnames). _Tested with snapshot testing._\n\t */\n\tclassNameContainer: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\t/**\n\t * CSS classes to be added to tag with `.slds-dropdown`. Uses `classNames` [API](https://github.com/JedWatson/classnames). Autocomplete/bass variant menu height should not scroll and should be determined by number items which should be no more than 10. _Tested with snapshot testing._\n\t */\n\tclassNameMenu: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\t/**\n\t * CSS classes to be added to tag with `.slds-dropdown__header`. Uses `classNames` [API](https://github.com/JedWatson/classnames).\n\t */\n\tclassNameMenuSubHeader: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\t/**\n\t * Event Callbacks\n\t * * `onBlur`: Called when `input` removes focus.\n\t * * `onChange`: Called when keyboard events occur within `input`\n\t * * `onClose`: Triggered when the menu has closed.\n\t * * `onFocus`: Called when `input` receives focus.\n\t * * `onOpen`: Triggered when the menu has opened.\n\t * * `onRequestClose`: Function called when the menu would like to hide. Please use with `isOpen`.\n\t * * `onRequestOpen`: Function called when the menu would like to show. Please use with `isOpen`.\n\t * * `onRequestRemoveSelectedOption`: Function called when a single selection option is to be removed.\n\t * * `onSelect`: Function called when a menu item is selected. This includes header and footer items.\n\t * * `onSubmit`: Function called when user presses enter or submits the `input`\n\t * _Tested with Mocha testing._\n\t */\n\tevents: PropTypes.shape({\n\t\tonBlur: PropTypes.func,\n\t\tonChange: PropTypes.func,\n\t\tonClose: PropTypes.func,\n\t\tonFocus: PropTypes.func,\n\t\tonOpen: PropTypes.func,\n\t\tonRequestClose: PropTypes.func,\n\t\tonRequestOpen: PropTypes.func,\n\t\tonRequestRemoveSelectedOption: PropTypes.func,\n\t\tonSelect: PropTypes.func,\n\t\tonSubmit: PropTypes.func,\n\t}),\n\t/**\n\t * Message to display when the input is in an error state. When this is present, also visually highlights the component as in error. _Tested with snapshot testing._\n\t */\n\terrorText: PropTypes.string,\n\t/**\n\t * A [Tooltip](https://react.lightningdesignsystem.com/components/tooltips/) component that is displayed next to the `labels.label`. The props from the component will be merged and override any default props.\n\t */\n\tfieldLevelHelpTooltip: PropTypes.node,\n\t/**\n\t * If true, loading spinner appears inside input on right hand side.\n\t */\n\thasInputSpinner: PropTypes.bool,\n\t/**\n\t * Add loading spinner below the options\n\t */\n\thasMenuSpinner: PropTypes.bool,\n\t/**\n\t * By default, dialogs will flip their alignment (such as bottom to top) if they extend beyond a boundary element such as a scrolling parent or a window/viewpoint. `hasStaticAlignment` disables this behavior and allows this component to extend beyond boundary elements. _Not tested._\n\t */\n\thasStaticAlignment: PropTypes.bool,\n\t/**\n\t * HTML id for component. _Tested with snapshot testing._\n\t */\n\tid: PropTypes.string,\n\t/**\n\t * An [Input](https://react.lightningdesignsystem.com/components/inputs) component.\n\t * The props from this component will override any default props.\n\t */\n\tinput: PropTypes.node,\n\t/**\n\t * **Text labels for internationalization**\n\t * This object is merged with the default props object on every render.\n\t * * `label`: This label appears above the input.\n\t * * `cancelButton`: This label is only used by the dialog variant for the cancel button in the footer of the dialog. The default is `Cancel`\n\t * * `doneButton`: This label is only used by the dialog variant for the done button in the footer of the dialog. The default is `Done`\n\t * * `multipleOptionsSelected`: This label is used by the readonly variant when multiple options are selected. The default is `${props.selection.length} options selected`. This will override the entire string.\n\t * * `noOptionsFound`: Custom message that renders when no matches found. The default empty state is just text that says, 'No matches found.'.\n\t * * `placeholder`: Input placeholder\n\t * * `placeholderReadOnly`: Placeholder for Picklist-like Combobox\n\t * * `removePillTitle`: Title on `X` icon\n\t * _Tested with snapshot testing._\n\t */\n\tlabels: PropTypes.shape({\n\t\tlabel: PropTypes.oneOfType([PropTypes.node, PropTypes.string]),\n\t\tmultipleOptionsSelected: PropTypes.string,\n\t\tnoOptionsFound: PropTypes.oneOfType([PropTypes.node, PropTypes.string]),\n\t\tplaceholder: PropTypes.string,\n\t\tplaceholderReadOnly: PropTypes.string,\n\t\tremovePillTitle: PropTypes.string,\n\t}),\n\t/**\n\t * Forces the dropdown to be open or closed. See controlled/uncontrolled callback/prop pattern for more on suggested use view [Concepts and Best Practices](https://github.com/salesforce-ux/design-system-react/blob/master/CONTRIBUTING.md#concepts-and-best-practices) _Tested with snapshot testing._\n\t */\n\tisOpen: PropTypes.bool,\n\t/**\n\t * Sets the dialog width to the width of one of the following:\n\t * * `target`: Sets the dialog width to the width of the target. (Menus attached to `input` typically follow this UX pattern),\n\t * * `menu`: Consider setting a `menuMaxWidth` if using this value. If not, width will be set to width of largest menu item.\n\t * * `none`: Does not set a width on the dialog. _Tested with snapshot testing._\n\t */\n\tinheritWidthOf: PropTypes.oneOf(['target', 'menu', 'none']),\n\t/**\n\t * Accepts a custom menu item rendering function that becomes a custom component. It should return a React node. The checkmark is still rendered in readonly variants. This function is passed the following props:\n\t * * `assistiveText`: Object, `assistiveText` prop that is passed into Combobox\n\t * * `option`: Object, option data for item being rendered that is passed into Combobox\n\t * * `selected`: Boolean, allows rendering of `assistiveText.optionSelectedInMenu` in Readonly Combobox\n\t *\n\t * _Tested with snapshot testing._\n\t */\n\tonRenderMenuItem: PropTypes.func,\n\t/**\n\t * Please select one of the following:\n\t * * `absolute` - (default) The dialog will use `position: absolute` and style attributes to position itself. This allows inverted placement or flipping of the dialog.\n\t * * `overflowBoundaryElement` - The dialog will overflow scrolling parents. Use on elements that are aligned to the left or right of their target and don't care about the target being within a scrolling parent. Typically this is a popover or tooltip. Dropdown menus can usually open up and down if no room exists. In order to achieve this a portal element will be created and attached to `body`. This element will render into that detached render tree.\n\t * * `relative` - No styling or portals will be used. Menus will be positioned relative to their triggers. This is a great choice for HTML snapshot testing.\n\t */\n\tmenuPosition: PropTypes.oneOf([\n\t\t'absolute',\n\t\t'overflowBoundaryElement',\n\t\t'relative',\n\t]),\n\t/**\n\t * Sets a maximum width that the menu will be used if `inheritWidthOf` is set to `menu`. (Example: 500px) _Tested with snapshot testing._\n\t *\n\t */\n\tmenuMaxWidth: PropTypes.string,\n\t/**\n\t * Allows multiple selections _Tested with mocha testing._\n\t */\n\tmultiple: PropTypes.bool,\n\t/**\n\t * **Array of item objects in the dropdown menu.**\n\t * Each object can contain:\n\t * * `icon`: An `Icon` component. (not used in read-only variant)\n\t * * `id`: A unique identifier string.\n\t * * `label`: A primary string of text for a menu item or group separator.\n\t * * `subTitle`: A secondary string of text added for clarity. (optional)\n\t * * `type`: 'separator' is the only type currently used\n\t * * `disabled`: Set to true to disable this menu item.\n\t * * `tooltipContent`: Content that is displayed in tooltip when item is disabled\n\t * ```\n\t * {\n\t * \tid: '2',\n\t * \tlabel: 'Salesforce.com, Inc.',\n\t * \tsubTitle: 'Account • San Francisco',\n\t * \ttype: 'account',\n\t * disabled: true,\n\t * tooltipContent: \"You don't have permission to select this item.\"\n\t * },\n\t * ```\n\t * Note: At the moment, Combobox does not support two consecutive separators. _Tested with snapshot testing._\n\t */\n\toptions: PropTypes.arrayOf(\n\t\tPropTypes.PropTypes.shape({\n\t\t\tid: PropTypes.string.isRequired,\n\t\t\ticon: PropTypes.node,\n\t\t\tlabel: PropTypes.string,\n\t\t\tsubTitle: PropTypes.string,\n\t\t\ttype: PropTypes.string,\n\t\t\tdisabled: PropTypes.boolean,\n\t\t\ttooltipContent: PropTypes.node,\n\t\t})\n\t),\n\t/**\n\t * Determines the height of the menu based on SLDS CSS classes. This is a `number`. The default for a `readonly` variant is `5`.\n\t */\n\tmenuItemVisibleLength: PropTypes.oneOf([5, 7, 10]),\n\t/**\n\t * Limits auto-complete input submission to one of the provided options. _Tested with mocha testing._\n\t */\n\tpredefinedOptionsOnly: PropTypes.bool,\n\t/**\n\t * A `Popover` component. The props from this popover will be merged and override any default props. This also allows a Combobox's Popover dialog to be a controlled component. _Tested with snapshot testing._\n\t */\n\tpopover: PropTypes.node,\n\t/**\n\t * Applies label styling for a required form element. _Tested with snapshot testing._\n\t */\n\trequired: PropTypes.bool,\n\t/**\n\t * Accepts an array of item objects. For single selection, pass in an array of one object. For item object keys, see `options` prop. _Tested with snapshot testing._\n\t */\n\tselection: PropTypes.arrayOf(\n\t\tPropTypes.PropTypes.shape({\n\t\t\tid: PropTypes.string.isRequired,\n\t\t\ticon: PropTypes.node,\n\t\t\tlabel: PropTypes.string,\n\t\t\tsubTitle: PropTypes.string,\n\t\t\ttype: PropTypes.string,\n\t\t})\n\t).isRequired,\n\t/**\n\t * This callback exposes the selected listbox reference / DOM node to parent components.\n\t */\n\tselectedListboxRef: PropTypes.func,\n\t/**\n\t * Disables the input and prevents editing the contents. This only applies for single readonly and inline-listbox variants.\n\t */\n\tsingleInputDisabled: PropTypes.bool,\n\t/**\n\t * Accepts a tooltip that is displayed when hovering on disabled menu items.\n\t */\n\ttooltipMenuItemDisabled: PropTypes.element,\n\t/**\n\t * Value of input. _This is a controlled component,_ so you will need to control the input value by passing the `value` from `onChange` to a parent component or state manager, and then pass it back into the componet with this prop. Please see examples for more clarification. _Tested with snapshot testing._\n\t */\n\tvalue: PropTypes.string,\n\t/**\n\t * Changes styles of the input and menu. Currently `entity` is not supported.\n\t * The options are:\n\t * * `base`: An autocomplete Combobox also allows a user to select an option from a list, but that list can be affected by what the user types into the input of the Combobox. The SLDS website used to call the autocomplete Combobox its `base` variant.\n\t * * `inline-listbox`: An Entity Autocomplete Combobox or Lookup, is used to search for and select Salesforce Entities.\n\t * * `popover`: A dialog Combobox is best used when a listbox, tree, grid, or tree-grid is not the best solution. This variant allows custom content.\n\t * * `readonly`: A readonly text input that allows a user to select an option from a pre-defined list of options. It does not allow free form user input, nor does it allow the user to modify the selected value.\n\t *\n\t * _Tested with snapshot testing._\n\t */\n\t/**\n\t * Default value of input. Provide uncontroled behaviour\n\t */\n\tdefaultValue: PropTypes.string,\n\t/**\n\t * **Array of item objects in the dropdown menu that is displayed below the list of `options`. `onSelect` fires when selected.**\n\t * Each object can contain:\n\t * * `id`: A unique identifier string.\n\t * * `icon`: An [Icon](/components/icons/) component to be displayed to the left of the menu item `label`.\n\t * * `label`: A primary string of text for a menu item or a function that receives `inputValue` as function parameter and returns text to be displayed in for a menu item.\n\t * ```\n\t * {\n\t * \tid: '1',\n\t * \ticon: (\n\t * \t<Icon\n\t * \t\t\tassistiveText={{ label: 'add' }}\n\t * \t\t\tcategory=\"utility\"\n\t * \t\t\tsize=\"x-small\"\n\t * \t\t\tname=\"add\"\n\t * \t\t/>\n\t * \t),\n\t * \tlabel: 'New Entity'\n\t * }\n\t * ```\n\t * _Tested with snapshot testing._\n\t */\n\toptionsAddItem: PropTypes.arrayOf(\n\t\tPropTypes.shape({\n\t\t\tid: PropTypes.string,\n\t\t\ticon: PropTypes.node,\n\t\t\tlabel: PropTypes.oneOfType([PropTypes.string, PropTypes.func]),\n\t\t})\n\t),\n\t/**\n\t * **Array of item objects in the dropdown menu that is displayed above the list of `options`. `onSelect` fires when selected. **\n\t * Each object can contain:\n\t * * `id`: A unique identifier string.\n\t * * `icon`: An [Icon](/components/icons/) component to be displayed to the left of the menu item `label`.\n\t * * `label`: A primary string of text for a menu item or a function that receives `inputValue` as function parameter and returns text to be displayed in for a menu item.\n\t * ```\n\t * {\n\t *\tid: '1',\n\t *\ticon: (\n\t *\t\t<Icon\n\t *\t\t\tassistiveText={{ label: 'Add in Accounts' }}\n\t *\t\t\tsize=\"x-small\"\n\t *\t\t\tcategory=\"utility\"\n\t *\t\t\tname=\"search\"\n\t *\t\t/>\n\t *\t),\n\t *\tlabel: (searchTerm) => {\n\t *\t\treturn `${searchTerm} in Accounts`;\n\t *\t},\n\t * }\n\t * ```\n\t * _Tested with snapshot testing._\n\t */\n\toptionsSearchEntity: PropTypes.arrayOf(\n\t\tPropTypes.shape({\n\t\t\tid: PropTypes.string,\n\t\t\ticon: PropTypes.node,\n\t\t\tlabel: PropTypes.oneOfType([PropTypes.string, PropTypes.func]),\n\t\t})\n\t),\n\t/**\n\t * Node of type [Combobox](/components/comboboxes/) for creating grouped comboboxes.\n\t */\n\tentityCombobox: PropTypes.node,\n\t/**\n\t * Defines Combobox variant styling and functionality\n\t */\n\tvariant: PropTypes.oneOf(['base', 'inline-listbox', 'popover', 'readonly']),\n};\n\nconst defaultProps = {\n\tassistiveText: {\n\t\tloadingMenuItems: 'Loading',\n\t\toptionSelectedInMenu: 'Current Selection:',\n\t\tremoveSingleSelectedOption: 'Remove selected option',\n\t\tremovePill: ', Press delete or backspace to remove',\n\t\tselectedListboxLabel: 'Selected Options:',\n\t},\n\tevents: {},\n\tlabels: {\n\t\tcancelButton: 'Cancel',\n\t\tdoneButton: `Done`,\n\t\tnoOptionsFound: 'No matches found.',\n\t\toptionDisabledTooltipLabel: 'This option is disabled.',\n\t\tplaceholderReadOnly: 'Select an Option',\n\t\tremovePillTitle: 'Remove',\n\t},\n\tinheritWidthOf: 'target',\n\tmenuPosition: 'absolute',\n\toptionsSearchEntity: [],\n\toptionsAddItem: [],\n\trequired: false,\n\tselection: [],\n\tsingleInputDisabled: false,\n\tvariant: 'base',\n};\n\n/**\n * A widget that provides a user with an input field that is either an autocomplete or readonly, accompanied with a listbox of pre-definfined options.\n */\nclass Combobox extends React.Component {\n\tconstructor(props) {\n\t\tsuper(props);\n\n\t\tthis.state = {\n\t\t\tactiveOption: undefined,\n\t\t\tactiveOptionIndex: -1,\n\t\t\t// seeding initial state with this.props.selection[0]\n\t\t\tactiveSelectedOption:\n\t\t\t\t(this.props.selection && this.props.selection[0]) || undefined,\n\t\t\tactiveSelectedOptionIndex: 0,\n\t\t\tlistboxHasFocus: false,\n\t\t\tisOpen: typeof props.isOpen === 'boolean' ? props.isOpen : false,\n\t\t};\n\n\t\tthis.menuKeyBuffer = new KeyBuffer();\n\t\tthis.menuRef = undefined;\n\t\tthis.selectedListboxRef = null;\n\n\t\t// `checkProps` issues warnings to developers about properties (similar to React's built in development tools)\n\t\tcheckProps(COMBOBOX, props, componentDoc);\n\n\t\tthis.generatedId = shortid.generate();\n\t\tthis.generatedErrorId = shortid.generate();\n\t}\n\n\t/**\n\t * Lifecycle methods\n\t */\n\n\tcomponentDidUpdate(nextProps) {\n\t\t// This logic will maintain the active highlight even when the\n\t\t// option order changes. One example would be the server pushes\n\t\t// data out as the user has the menu open. This logic clears\n\t\t// `activeOption` if the active option is no longer in the options\n\t\t// list. If it's in the options list, then find the new index and\n\t\t// set `activeOptionIndex`\n\t\tif (!isEqual(this.getOptions(), this.getOptions(nextProps))) {\n\t\t\tconst index = findIndex(this.getOptions(nextProps), (item) =>\n\t\t\t\tisEqual(item, this.state.activeOption)\n\t\t\t);\n\t\t\tif (index !== -1) {\n\t\t\t\t// eslint-disable-next-line react/no-did-update-set-state\n\t\t\t\tthis.setState({ activeOptionIndex: index });\n\t\t\t} else {\n\t\t\t\t// eslint-disable-next-line react/no-did-update-set-state\n\t\t\t\tthis.setState({ activeOption: undefined, activeOptionIndex: -1 });\n\t\t\t}\n\t\t} else if (this.props.isOpen !== nextProps.isOpen) {\n\t\t\t// eslint-disable-next-line react/no-did-update-set-state\n\t\t\tthis.setState({\n\t\t\t\tactiveOption: undefined,\n\t\t\t\tactiveOptionIndex: -1,\n\t\t\t\tisOpen: nextProps.isOpen,\n\t\t\t});\n\t\t}\n\n\t\t// there may be issues with tabindex/focus if the app removes an item\n\t\t// from selection while the user is using the listbox\n\t\tconst selectedOptionsRenderIsInitialRender =\n\t\t\tthis.props.selection &&\n\t\t\tthis.props.selection.length === 0 &&\n\t\t\tnextProps.selection.length > 0;\n\t\tif (selectedOptionsRenderIsInitialRender) {\n\t\t\t// eslint-disable-next-line react/no-did-update-set-state\n\t\t\tthis.setState({\n\t\t\t\tactiveSelectedOption: nextProps.selection[0],\n\t\t\t\tactiveSelectedOptionIndex: 0,\n\t\t\t});\n\t\t}\n\t}\n\n\tcomponentWillUnmount() {\n\t\tif (currentOpenDropdown === this) {\n\t\t\tcurrentOpenDropdown = undefined;\n\t\t}\n\t}\n\n\tgetCustomPopoverProps = (body, { assistiveText, labels }) => {\n\t\t/*\n\t\t * Generate the popover props based on passed in popover props. Using the default behavior if not provided by passed in popover\n\t\t */\n\t\tconst popoverBody = (\n\t\t\t<div>\n\t\t\t\t<div className=\"slds-assistive-text\" id={`${this.getId()}-label`}>\n\t\t\t\t\t{assistiveText.popoverLabel}\n\t\t\t\t</div>\n\t\t\t\t{body}\n\t\t\t</div>\n\t\t);\n\n\t\tconst popoverFooter = (\n\t\t\t<div>\n\t\t\t\t<Button\n\t\t\t\t\tlabel={labels.cancelButton}\n\t\t\t\t\tonClick={(e) => {\n\t\t\t\t\t\tthis.handleClose(e, { trigger: 'cancel' });\n\t\t\t\t\t}}\n\t\t\t\t/>\n\t\t\t\t<Button\n\t\t\t\t\tlabel={labels.doneButton}\n\t\t\t\t\tvariant=\"brand\"\n\t\t\t\t\tonClick={this.handleClose}\n\t\t\t\t/>\n\t\t\t</div>\n\t\t);\n\n\t\tconst defaultPopoverProps = {\n\t\t\tariaLabelledby: `${this.getId()}-label`,\n\t\t\talign: 'bottom',\n\t\t\tbody: popoverBody,\n\t\t\tclassName: 'slds-popover_full-width',\n\t\t\tfooter: popoverFooter,\n\t\t\tfooterClassName: 'slds-popover__footer_form',\n\t\t\thasNoNubbin: true,\n\t\t\tid: this.getId(),\n\t\t\tisOpen: this.state.isOpen,\n\t\t\thasNoTriggerStyles: true,\n\t\t\tonOpen: this.handleOpen,\n\t\t\tonClose: this.handleClose,\n\t\t\tonRequestClose: this.handleClose,\n\t\t};\n\n\t\t/* Merge in passed popover's props if there is any to override the default popover props */\n\t\tconst popoverProps = assign(\n\t\t\tdefaultPopoverProps,\n\t\t\tthis.props.popover ? this.props.popover.props : {}\n\t\t);\n\t\tpopoverProps.body = popoverBody;\n\n\t\t// eslint-disable-next-line fp/no-delete\n\t\tdelete popoverProps.children;\n\t\treturn popoverProps;\n\t};\n\n\tgetDialog({ menuRenderer }) {\n\t\t// FOR BACKWARDS COMPATIBILITY\n\t\tconst menuPosition = this.props.isInline\n\t\t\t? 'relative'\n\t\t\t: this.props.menuPosition; // eslint-disable-line react/prop-types\n\n\t\treturn !this.props.disabled && this.getIsOpen() ? (\n\t\t\t<Dialog\n\t\t\t\talign=\"bottom left\"\n\t\t\t\tcontext={this.context}\n\t\t\t\thasStaticAlignment={this.props.hasStaticAlignment}\n\t\t\t\tinheritWidthOf={this.props.inheritWidthOf}\n\t\t\t\tonClose={this.handleClose}\n\t\t\t\tonMouseDown={(event) => {\n\t\t\t\t\t// prevent onBlur\n\t\t\t\t\tevent.preventDefault();\n\t\t\t\t}}\n\t\t\t\tonOpen={this.handleOpen}\n\t\t\t\tonRequestTargetElement={this.getTargetElement}\n\t\t\t\tposition={menuPosition}\n\t\t\t\tcontainerProps={{\n\t\t\t\t\tid: `${this.getId()}-listbox`,\n\t\t\t\t\trole: 'listbox',\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\t{menuRenderer}\n\t\t\t</Dialog>\n\t\t) : null;\n\t}\n\n\tgetErrorId() {\n\t\treturn (\n\t\t\tthis.props['aria-describedby'] ||\n\t\t\t(this.props.errorText && this.generatedErrorId)\n\t\t);\n\t}\n\n\t/**\n\t * Shared class property getter methods\n\t */\n\n\tgetId = () => this.props.id || this.generatedId;\n\n\tgetIsActiveOption = () =>\n\t\tthis.state.activeOption && this.state.activeOptionIndex !== -1;\n\n\tgetIsOpen = () =>\n\t\t!!(typeof this.props.isOpen === 'boolean'\n\t\t\t? this.props.isOpen\n\t\t\t: this.state.isOpen);\n\n\tgetNewActiveOptionIndex = ({ activeOptionIndex, offset, options }) => {\n\t\t// used by menu listbox and selected options listbox\n\t\tconst nextIndex = activeOptionIndex + offset;\n\t\tconst skipIndex =\n\t\t\toptions.length > nextIndex &&\n\t\t\tnextIndex >= 0 &&\n\t\t\toptions[nextIndex].type === 'separator';\n\t\tconst newIndex = skipIndex ? nextIndex + offset : nextIndex;\n\t\tconst hasNewIndex = options.length > nextIndex && nextIndex >= 0;\n\t\treturn hasNewIndex ? newIndex : activeOptionIndex;\n\t};\n\n\tgetOptions = (props = this.props) => {\n\t\tconst localProps = props;\n\t\tconst options = [];\n\t\tif (localProps.optionsSearchEntity.length > 0) {\n\t\t\t// eslint-disable-next-line fp/no-mutating-methods\n\t\t\toptions.push(...localProps.optionsSearchEntity);\n\t\t}\n\n\t\tif (localProps.options) {\n\t\t\t// eslint-disable-next-line fp/no-mutating-methods\n\t\t\toptions.push(...localProps.options);\n\t\t}\n\t\tif (localProps.optionsAddItem.length > 0) {\n\t\t\t// eslint-disable-next-line fp/no-mutating-methods\n\t\t\toptions.push(...localProps.optionsAddItem);\n\t\t}\n\t\treturn options;\n\t};\n\n\tgetTargetElement = () => this.inputRef;\n\n\tsetInputRef = (component) => {\n\t\tthis.inputRef = component;\n\t\t// yes, this is a render triggered by a render.\n\t\t// Dialog/Popper.js cannot place the menu until\n\t\t// the trigger/target DOM node is mounted. This\n\t\t// way `findDOMNode` is not called and parent\n\t\t// DOM nodes are not queried.\n\t\tif (!this.state.inputRendered) {\n\t\t\tthis.setState({ inputRendered: true });\n\t\t}\n\t};\n\n\tsetSelectedListboxRef = (ref) => {\n\t\tthis.selectedListboxRef = ref;\n\t\tif (this.props.selectedListboxRef) {\n\t\t\tthis.props.selectedListboxRef(ref);\n\t\t}\n\t};\n\n\thandleBlurPill = () => {\n\t\tthis.setState({ listboxHasFocus: false });\n\t};\n\n\t/**\n\t * Menu open/close and sub-render methods\n\t */\n\thandleClickOutside = (event) => {\n\t\tthis.handleRequestClose(event, {});\n\t};\n\n\thandleClose = (event, { trigger } = {}) => {\n\t\tconst isOpen = this.getIsOpen();\n\n\t\tif (isOpen) {\n\t\t\tif (currentOpenDropdown === this) {\n\t\t\t\tcurrentOpenDropdown = undefined;\n\t\t\t}\n\n\t\t\tthis.setState({\n\t\t\t\tactiveOption: undefined,\n\t\t\t\tactiveOptionIndex: -1,\n\t\t\t\tisOpen: false,\n\t\t\t});\n\n\t\t\tif (this.props.variant === 'popover' && trigger === 'cancel') {\n\t\t\t\tif (this.props.popover.props.onClose) {\n\t\t\t\t\tthis.props.popover.props.onClose(event, { trigger });\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (this.props.events.onClose) {\n\t\t\t\tthis.props.events.onClose(event, {});\n\t\t\t}\n\t\t}\n\t};\n\n\thandleInputBlur = (event) => {\n\t\t// If menu is open when the input's onBlur event fires, it will close before the onClick of the menu item can fire.\n\t\tsetTimeout(() => {\n\t\t\tconst activeElement = documentDefined ? document.activeElement : false;\n\t\t\t// detect if the scrollbar of the combobox-autocomplete/lookup menu is clicked in IE11. If it is, return focus to input, and do not close menu.\n\t\t\tif (\n\t\t\t\tactiveElement &&\n\t\t\t\tactiveElement.tagName === 'DIV' &&\n\t\t\t\tactiveElement.id === `${this.getId()}-listbox`\n\t\t\t) {\n\t\t\t\tif (this.inputRef) {\n\t\t\t\t\tthis.inputRef.focus();\n\t\t\t\t}\n\t\t\t} else if (!this.props.popover) {\n\t\t\t\tthis.handleClose(event);\n\t\t\t}\n\t\t}, 200);\n\n\t\tif (this.props.events.onBlur) {\n\t\t\tthis.props.events.onBlur(event);\n\t\t}\n\t};\n\n\thandleInputChange = (event) => {\n\t\tthis.requestOpenMenu();\n\t\tif (this.props.events && this.props.events.onChange) {\n\t\t\tthis.props.events.onChange(event, { value: event.target.value });\n\t\t}\n\t};\n\n\thandleInputFocus = (event) => {\n\t\tif (this.props.events.onFocus) {\n\t\t\tthis.props.events.onFocus(event, {});\n\t\t}\n\t};\n\n\thandleInputSubmit = (event) => {\n\t\tif (this.state.activeOption && this.state.activeOption.disabled) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (\n\t\t\tthis.state.activeOption &&\n\t\t\t(this.state.activeOption.type === 'header' ||\n\t\t\t\tthis.state.activeOption.type === 'footer')\n\t\t) {\n\t\t\tthis.state.activeOption.onClick(event);\n\t\t\treturn;\n\t\t}\n\n\t\t// use menu options\n\t\tif (this.getIsActiveOption()) {\n\t\t\tthis.handleSelect(event, {\n\t\t\t\toption: this.state.activeOption,\n\t\t\t\tselection: this.props.selection,\n\t\t\t});\n\t\t\t// use input value, if not limited to predefined options (in the menu)\n\t\t} else if (\n\t\t\t!this.props.predefinedOptionsOnly &&\n\t\t\tevent.target.value !== '' &&\n\t\t\tthis.props.events.onSubmit\n\t\t) {\n\t\t\tthis.props.events.onSubmit(event, {\n\t\t\t\tvalue: event.target.value,\n\t\t\t});\n\t\t}\n\t};\n\n\t/**\n\t * Input and menu keyboard event methods\n\t */\n\n\thandleKeyDown = (event) => {\n\t\tconst callbacks = {\n\t\t\t[KEYS.DOWN]: { callback: this.handleKeyDownDown },\n\t\t\t[KEYS.ENTER]: { callback: this.handleInputSubmit },\n\t\t\t[KEYS.ESCAPE]: { callback: this.handleClose },\n\t\t\t[KEYS.UP]: { callback: this.handleKeyDownUp },\n\t\t};\n\n\t\tif (this.props.variant === 'readonly') {\n\t\t\tif (this.props.selection.length > 2) {\n\t\t\t\tcallbacks[KEYS.TAB] = { callback: this.handleKeyDownTab };\n\t\t\t} else {\n\t\t\t\tcallbacks[KEYS.TAB] = undefined;\n\t\t\t}\n\t\t\tcallbacks.other = {\n\t\t\t\tcallback: this.handleKeyDownOther,\n\t\t\t\tstopPropagation: false,\n\t\t\t};\n\t\t}\n\n\t\t// Helper function that takes an object literal of callbacks that are triggered with a key event\n\t\tmapKeyEventCallbacks(event, { callbacks });\n\t};\n\n\thandleKeyDownDown = (event) => {\n\t\t// Don't open if user is selecting text\n\t\tif (!event.shiftKey) {\n\t\t\tthis.openDialog();\n\t\t}\n\n\t\tif (this.props.variant !== 'popover') {\n\t\t\tthis.handleNavigateListboxMenu(event, { direction: 'next' });\n\t\t}\n\t};\n\n\thandleKeyDownTab = () => {\n\t\tif (this.selectedListboxRef) {\n\t\t\tthis.setState({\n\t\t\t\tlistboxHasFocus: true,\n\t\t\t});\n\t\t}\n\t};\n\n\thandleKeyDownUp = (event) => {\n\t\t// Don't open if user is selecting text\n\t\tif (!event.shiftKey && this.getIsOpen()) {\n\t\t\tthis.handleNavigateListboxMenu(event, { direction: 'previous' });\n\t\t}\n\t};\n\n\thandleKeyDownOther = (event) => {\n\t\tconst activeOptionIndex = keyLetterMenuItemSelect({\n\t\t\tkey: event.key,\n\t\t\tkeyBuffer: this.menuKeyBuffer,\n\t\t\tkeyCode: event.keyCode,\n\t\t\toptions: this.getOptions(),\n\t\t});\n\n\t\tif (activeOptionIndex !== undefined) {\n\t\t\tif (this.getIsOpen()) {\n\t\t\t\tmenuItemSelectScroll({\n\t\t\t\t\tcontainer: this.menuRef,\n\t\t\t\t\tfocusedIndex: activeOptionIndex,\n\t\t\t\t});\n\t\t\t}\n\n\t\t\tthis.setState({\n\t\t\t\tactiveOption: this.getOptions()[activeOptionIndex],\n\t\t\t\tactiveOptionIndex,\n\t\t\t});\n\t\t}\n\t};\n\n\thandleNavigateListboxMenu = (event, { direction }) => {\n\t\tconst offsets = { next: 1, previous: -1 };\n\t\t// takes current/previous state and returns an object with the new state\n\t\tthis.setState((prevState) => {\n\t\t\tconst newIndex = this.getNewActiveOptionIndex({\n\t\t\t\tactiveOptionIndex: prevState.activeOptionIndex,\n\t\t\t\toffset: offsets[direction],\n\t\t\t\toptions: this.getOptions(),\n\t\t\t});\n\n\t\t\t// eslint-disable-next-line react/no-access-state-in-setstate\n\t\t\tif (this.getIsOpen()) {\n\t\t\t\tmenuItemSelectScroll({\n\t\t\t\t\tcontainer: this.menuRef,\n\t\t\t\t\tfocusedIndex: newIndex,\n\t\t\t\t});\n\t\t\t}\n\n\t\t\treturn {\n\t\t\t\tactiveOption: this.getOptions()[newIndex],\n\t\t\t\tactiveOptionIndex: newIndex,\n\t\t\t};\n\t\t});\n\t};\n\n\thandleNavigateSelectedListbox = (event, { direction }) => {\n\t\tconst offsets = { next: 1, previous: -1 };\n\t\tthis.setState((prevState) => {\n\t\t\tconst isLastOptionAndRightIsPressed =\n\t\t\t\tprevState.activeSelectedOptionIndex + 1 ===\n\t\t\t\t\tthis.props.selection.length && direction === 'next';\n\t\t\tconst isFirstOptionAndLeftIsPressed =\n\t\t\t\tprevState.activeSelectedOptionIndex === 0 && direction === 'previous';\n\t\t\tlet newState;\n\n\t\t\tif (isLastOptionAndRightIsPressed) {\n\t\t\t\tnewState = {\n\t\t\t\t\tactiveSelectedOption: this.props.selection[0],\n\t\t\t\t\tactiveSelectedOptionIndex: 0,\n\t\t\t\t\tlistboxHasFocus: true,\n\t\t\t\t};\n\t\t\t} else if (isFirstOptionAndLeftIsPressed) {\n\t\t\t\tnewState = {\n\t\t\t\t\tactiveSelectedOption: this.props.selection[\n\t\t\t\t\t\tthis.props.selection.length - 1\n\t\t\t\t\t],\n\t\t\t\t\tactiveSelectedOptionIndex: this.props.selection.length - 1,\n\t\t\t\t\tlistboxHasFocus: true,\n\t\t\t\t};\n\t\t\t} else {\n\t\t\t\tconst newIndex = this.getNewActiveOptionIndex({\n\t\t\t\t\tactiveOptionIndex: prevState.activeSelectedOptionIndex,\n\t\t\t\t\toffset: offsets[direction],\n\t\t\t\t\toptions: this.props.selection,\n\t\t\t\t});\n\t\t\t\tnewState = {\n\t\t\t\t\tactiveSelectedOption: this.props.selection[newIndex],\n\t\t\t\t\tactiveSelectedOptionIndex: newIndex,\n\t\t\t\t\tlistboxHasFocus: true,\n\t\t\t\t};\n\t\t\t}\n\n\t\t\treturn newState;\n\t\t});\n\t};\n\n\thandleOpen = (event, data) => {\n\t\tconst isOpen = this.getIsOpen();\n\n\t\tif (!isOpen) {\n\t\t\tif (currentOpenDropdown && isFunction(currentOpenDropdown.handleClose)) {\n\t\t\t\tcurrentOpenDropdown.handleClose();\n\t\t\t}\n\t\t} else {\n\t\t\tcurrentOpenDropdown = this;\n\n\t\t\tthis.setState({\n\t\t\t\tisOpen: true,\n\t\t\t});\n\n\t\t\tif (this.props.events.onOpen) {\n\t\t\t\tthis.props.events.onOpen(event, data);\n\t\t\t}\n\n\t\t\tif (this.props.variant === 'readonly' && this.menuRef !== null) {\n\t\t\t\tconst activeOptionIndex = findIndex(this.getOptions(), (item) =>\n\t\t\t\t\tisEqual(item, this.props.selection[0])\n\t\t\t\t);\n\n\t\t\t\tthis.setState({\n\t\t\t\t\tactiveOptionIndex,\n\t\t\t\t});\n\n\t\t\t\tmenuItemSelectScroll({\n\t\t\t\t\tcontainer: this.menuRef,\n\t\t\t\t\tfocusedIndex: activeOptionIndex,\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t};\n\n\thandlePillFocus = (event, { option, index }) => {\n\t\tif (!this.state.listboxHasFocus) {\n\t\t\tthis.setState({\n\t\t\t\tactiveSelectedOption: option,\n\t\t\t\tactiveSelectedOptionIndex: index,\n\t\t\t\tlistboxHasFocus: true,\n\t\t\t});\n\t\t}\n\t};\n\n\t/**\n\t * Selected options with selected listbox event methods\n\t */\n\n\thandleRemoveSelectedOption = (event, { option, index }) => {\n\t\tevent.preventDefault();\n\t\tconst onlyOnePillAndInputExists = this.props.selection.length === 1;\n\t\tconst isReadOnlyAndTwoPillsExists =\n\t\t\tthis.props.selection.length === 2 &&\n\t\t\tthis.props.variant === 'readonly' &&\n\t\t\tthis.props.multiple;\n\t\tconst lastPillWasRemoved = index + 1 === this.props.selection.length;\n\n\t\tif (\n\t\t\t(onlyOnePillAndInputExists || isReadOnlyAndTwoPillsExists) &&\n\t\t\tthis.inputRef\n\t\t) {\n\t\t\tthis.inputRef.focus();\n\t\t} else if (lastPillWasRemoved) {\n\t\t\t// set focus to previous option and index\n\t\t\tthis.setState({\n\t\t\t\tactiveSelectedOption: this.props.selection[index - 1],\n\t\t\t\tactiveSelectedOptionIndex: index - 1,\n\t\t\t\tlistboxHasFocus: true,\n\t\t\t});\n\t\t} else {\n\t\t\t// set focus to next option, but same index\n\t\t\tthis.setState({\n\t\t\t\tactiveSelectedOption: this.props.selection[index + 1],\n\t\t\t\tactiveSelectedOptionIndex: index,\n\t\t\t\tlistboxHasFocus: true,\n\t\t\t});\n\t\t}\n\n\t\tif (this.props.events.onRequestRemoveSelectedOption) {\n\t\t\tthis.props.events.onRequestRemoveSelectedOption(event, {\n\t\t\t\tselection: reject(this.props.selection, option),\n\t\t\t});\n\t\t}\n\t};\n\n\thandleRequestClose = (event, data) => {\n\t\tif (this.props.events.onRequestClose) {\n\t\t\tthis.props.events.onRequestClose(event, data);\n\t\t}\n\t\tif (this.getIsOpen()) {\n\t\t\tthis.handleClose(event, { trigger: 'cancel' });\n\t\t}\n\t};\n\n\thandleRequestFocusSelectedListbox = (event, { ref }) => {\n\t\tif (ref) {\n\t\t\tthis.activeSelectedOptionRef = ref;\n\t\t\tthis.activeSelectedOptionRef.focus();\n\t\t}\n\t};\n\n\thandleSelect = (event, { selection, option }) => {\n\t\tlet newSelection;\n\t\tconst isSelected = this.isSelected({ selection, option });\n\t\tconst singleSelectAndSelectedWasNotClicked =\n\t\t\t!this.props.multiple && !isSelected;\n\t\tconst multiSelectAndSelectedWasNotClicked =\n\t\t\tthis.props.multiple && !isSelected;\n\n\t\tif (singleSelectAndSelectedWasNotClicked) {\n\t\t\tnewSelection = [option];\n\t\t} else if (multiSelectAndSelectedWasNotClicked) {\n\t\t\tnewSelection = [...this.props.selection, option];\n\t\t} else {\n\t\t\tnewSelection = reject(this.props.selection, option);\n\t\t}\n\n\t\tif (this.props.events.onSelect) {\n\t\t\tthis.props.events.onSelect(event, { selection: newSelection });\n\t\t}\n\n\t\tthis.handleClose();\n\n\t\t// if (this.inputRef) {\n\t\t// \tthis.inputRef.focus();\n\t\t// }\n\t};\n\n\tisSelected = ({ selection, option }) => !!find(selection, option);\n\n\topenDialog = () => {\n\t\tif (this.props.events.onRequestOpen) {\n\t\t\tthis.props.events.onRequestOpen();\n\t\t} else {\n\t\t\tthis.setState({\n\t\t\t\tisOpen: true,\n\t\t\t});\n\t\t}\n\t};\n\n\trequestOpenMenu = () => {\n\t\tconst isInlineSingleSelectionAndIsNotSelected =\n\t\t\t!this.props.multiple &&\n\t\t\tthis.props.selection.length === 0 &&\n\t\t\tthis.props.variant === 'inline-listbox';\n\n\t\tif (\n\t\t\tisInlineSingleSelectionAndIsNotSelected ||\n\t\t\tthis.props.multiple ||\n\t\t\tthis.props.variant === 'readonly'\n\t\t) {\n\t\t\tthis.openDialog();\n\t\t}\n\t};\n\n\t/**\n\t * Combobox variant subrenders\n\t * (these can probably be broken into function components\n\t * if state is passed in as a prop)\n\t */\n\n\trenderBase = ({ assistiveText, labels, props, userDefinedProps }) => (\n\t\t<div className=\"slds-form-element__control\">\n\t\t\t<div className=\"slds-combobox_container\">\n\t\t\t\t<div\n\t\t\t\t\tclassName={classNames(\n\t\t\t\t\t\t'slds-combobox',\n\t\t\t\t\t\t'slds-dropdown-trigger',\n\t\t\t\t\t\t'slds-dropdown-trigger_click',\n\t\t\t\t\t\t'ignore-react-onclickoutside',\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t'slds-is-open': this.getIsOpen(),\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t'slds-has-error': props.errorText,\n\t\t\t\t\t\t},\n\t\t\t\t\t\tprops.className\n\t\t\t\t\t)}\n\t\t\t\t\t// Not in ARIA 1.2 spec, temporary for SLDS styles\n\t\t\t\t\trole=\"combobox\" // eslint-disable-line jsx-a11y/role-supports-aria-props, jsx-a11y/role-has-required-aria-props\n\t\t\t\t>\n\t\t\t\t\t<InnerInput\n\t\t\t\t\t\taria-autocomplete=\"list\"\n\t\t\t\t\t\taria-controls={\n\t\t\t\t\t\t\tthis.getIsOpen() ? `${this.getId()}-listbox` : undefined\n\t\t\t\t\t\t}\n\t\t\t\t\t\taria-activedescendant={\n\t\t\t\t\t\t\tthis.state.activeOption\n\t\t\t\t\t\t\t\t? `${this.getId()}-listbox-option-${this.state.activeOption.id}`\n\t\t\t\t\t\t\t\t: null\n\t\t\t\t\t\t}\n\t\t\t\t\t\taria-describedby={this.getErrorId()}\n\t\t\t\t\t\taria-expanded={this.getIsOpen()}\n\t\t\t\t\t\taria-haspopup=\"listbox\"\n\t\t\t\t\t\trole=\"combobox\"\n\t\t\t\t\t\tautoComplete=\"off\"\n\t\t\t\t\t\tclassName=\"slds-combobox__input\"\n\t\t\t\t\t\tcontainerProps={{\n\t\t\t\t\t\t\tclassName: 'slds-combobox__form-element',\n\t\t\t\t\t\t\trole: 'none',\n\t\t\t\t\t\t}}\n\t\t\t\t\t\thasSpinner={this.props.hasInputSpinner}\n\t\t\t\t\t\ticonRight={\n\t\t\t\t\t\t\t<InputIcon\n\t\t\t\t\t\t\t\tcategory=\"utility\"\n\t\t\t\t\t\t\t\tname=\"search\"\n\t\t\t\t\t\t\t\ttitle={labels.inputIconTitle}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t}\n\t\t\t\t\t\tid={this.getId()}\n\t\t\t\t\t\tonFocus={this.handleInputFocus}\n\t\t\t\t\t\tonBlur={this.handleInputBlur}\n\t\t\t\t\t\tonKeyDown={this.handleKeyDown}\n\t\t\t\t\t\tinputRef={this.setInputRef}\n\t\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\t\tthis.openDialog();\n\t\t\t\t\t\t}}\n\t\t\t\t\t\tonChange={this.handleInputChange}\n\t\t\t\t\t\tplaceholder={labels.placeholder}\n\t\t\t\t\t\tdefaultValue={props.defaultValue}\n\t\t\t\t\t\treadOnly={\n\t\t\t\t\t\t\t!!(props.predefinedOptionsOnly && this.state.activeOption)\n\t\t\t\t\t\t}\n\t\t\t\t\t\trequired={props.required}\n\t\t\t\t\t\tvalue={\n\t\t\t\t\t\t\tprops.predefinedOptionsOnly\n\t\t\t\t\t\t\t\t? (this.state.activeOption && this.state.activeOption.label) ||\n\t\t\t\t\t\t\t\t props.value\n\t\t\t\t\t\t\t\t: props.value\n\t\t\t\t\t\t}\n\t\t\t\t\t\t{...userDefinedProps.input}\n\t\t\t\t\t/>\n\t\t\t\t\t{this.getDialog({\n\t\t\t\t\t\tmenuRenderer: this.renderMenu({ assistiveText, labels }),\n\t\t\t\t\t})}\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t\t<SelectedListBox\n\t\t\t\tactiveOption={this.state.activeSelectedOption}\n\t\t\t\tactiveOptionIndex={this.state.activeSelectedOptionIndex}\n\t\t\t\tassistiveText={assistiveText}\n\t\t\t\tevents={{\n\t\t\t\t\tonBlurPill: this.handleBlurPill,\n\t\t\t\t\tonPillFocus: this.handlePillFocus,\n\t\t\t\t\tonRequestFocus: this.handleRequestFocusSelectedListbox,\n\t\t\t\t\tonRequestFocusOnNextPill: this.handleNavigateSelectedListbox,\n\t\t\t\t\tonRequestFocusOnPreviousPill: this.handleNavigateSelectedListbox,\n\t\t\t\t\tonRequestRemove: this.handleRemoveSelectedOption,\n\t\t\t\t}}\n\t\t\t\tid={`${this.getId()}-selected-listbox`}\n\t\t\t\tlabels={labels}\n\t\t\t\tselectedListboxRef={this.setSelectedListboxRef}\n\t\t\t\tselection={props.selection}\n\t\t\t\tlistboxHasFocus={this.state.listboxHasFocus}\n\t\t\t/>\n\t\t\t{props.errorText && (\n\t\t\t\t<div className=\"slds-has-error\">\n\t\t\t\t\t<div\n\t\t\t\t\t\tid={this.getErrorId()}\n\t\t\t\t\t\tclassName=\"slds-form-element__help slds-has-error\"\n\t\t\t\t\t>\n\t\t\t\t\t\t{props.errorText}\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t)}\n\t\t</div>\n\t);\n\n\trenderInlineMultiple = ({\n\t\tassistiveText,\n\t\tlabels,\n\t\tprops,\n\t\tuserDefinedProps,\n\t}) => (\n\t\t<div className=\"slds-form-element__control\">\n\t\t\t<div\n\t\t\t\tclassName={classNames('slds-combobox_container', {\n\t\t\t\t\t'slds-has-inline-listbox': props.selection.length,\n\t\t\t\t})}\n\t\t\t>\n\t\t\t\t{props.selection.length ? (\n\t\t\t\t\t<SelectedListBox\n\t\t\t\t\t\tactiveOption={this.state.activeSelectedOption}\n\t\t\t\t\t\tactiveOptionIndex={this.state.activeSelectedOptionIndex}\n\t\t\t\t\t\tassistiveText={assistiveText}\n\t\t\t\t\t\tcontainerRole=\"listbox\"\n\t\t\t\t\t\tcontainerAriaOrientation=\"horizontal\"\n\t\t\t\t\t\tlistboxRole=\"group\"\n\t\t\t\t\t\tlistboxAriaOrientation={null}\n\t\t\t\t\t\tevents={{\n\t\t\t\t\t\t\tonBlurPill: this.handleBlurPill,\n\t\t\t\t\t\t\tonPillFocus: this.handlePillFocus,\n\t\t\t\t\t\t\tonRequestFocus: this.handleRequestFocusSelectedListbox,\n\t\t\t\t\t\t\tonRequestFocusOnNextPill: this.handleNavigateSelectedListbox,\n\t\t\t\t\t\t\tonRequestFocusOnPreviousPill: this.handleNavigateSelectedListbox,\n\t\t\t\t\t\t\tonRequestRemove: this.handleRemoveSelectedOption,\n\t\t\t\t\t\t}}\n\t\t\t\t\t\tid={`${this.getId()}-selected-listbox`}\n\t\t\t\t\t\tlabels={labels}\n\t\t\t\t\t\tselectedListboxRef={this.setSelectedListboxRef}\n\t\t\t\t\t\tselection={props.selection}\n\t\t\t\t\t\tlistboxHasFocus={this.state.listboxHasFocus}\n\t\t\t\t\t/>\n\t\t\t\t) : null}\n\t\t\t\t<div\n\t\t\t\t\tclassName={classNames(\n\t\t\t\t\t\t'slds-combobox',\n\t\t\t\t\t\t'slds-dropdown-trigger',\n\t\t\t\t\t\t'slds-dropdown-trigger_click',\n\t\t\t\t\t\t'ignore-react-onclickoutside',\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t'slds-is-open': this.getIsOpen(),\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t'slds-has-error': props.errorText,\n\t\t\t\t\t\t},\n\t\t\t\t\t\tprops.className\n\t\t\t\t\t)}\n\t\t\t\t\t// Not in ARIA 1.2 spec, temporary for SLDS styles\n\t\t\t\t\trole=\"combobox\" // eslint-disable-line jsx-a11y/role-supports-aria-props, jsx-a11y/role-has-required-aria-props\n\t\t\t\t>\n\t\t\t\t\t<InnerInput\n\t\t\t\t\t\taria-autocomplete=\"list\"\n\t\t\t\t\t\taria-controls={\n\t\t\t\t\t\t\tthis.getIsOpen() ? `${this.getId()}-listbox` : undefined\n\t\t\t\t\t\t}\n\t\t\t\t\t\taria-activedescendant={\n\t\t\t\t\t\t\tthis.state.activeOption\n\t\t\t\t\t\t\t\t? `${this.getId()}-listbox-option-${this.state.activeOption.id}`\n\t\t\t\t\t\t\t\t: null\n\t\t\t\t\t\t}\n\t\t\t\t\t\taria-describedby={this.getErrorId()}\n\t\t\t\t\t\taria-expanded={this.getIsOpen()}\n\t\t\t\t\t\taria-haspopup=\"listbox\" // eslint-disable-line jsx-a11y/aria-proptypes\n\t\t\t\t\t\trole=\"combobox\"\n\t\t\t\t\t\tdefaultValue={props.defaultValue}\n\t\t\t\t\t\tautoComplete=\"off\"\n\t\t\t\t\t\tclassName=\"slds-combobox__input\"\n\t\t\t\t\t\tcontainerProps={{\n\t\t\t\t\t\t\tclassName: 'slds-combobox__form-element',\n\t\t\t\t\t\t\trole: 'none',\n\t\t\t\t\t\t}}\n\t\t\t\t\t\thasSpinner={this.props.hasInputSpinner}\n\t\t\t\t\t\ticonRight={\n\t\t\t\t\t\t\t<InputIcon\n\t\t\t\t\t\t\t\tcategory=\"utility\"\n\t\t\t\t\t\t\t\tname=\"search\"\n\t\t\t\t\t\t\t\ttitle={labels.inputIconTitle}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t}\n\t\t\t\t\t\tid={this.getId()}\n\t\t\t\t\t\tonFocus={this.handleInputFocus}\n\t\t\t\t\t\tonBlur={this.handleInputBlur}\n\t\t\t\t\t\tonKeyDown={this.handleKeyDown}\n\t\t\t\t\t\tinputRef={this.setInputRef}\n\t\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\t\tthis.openDialog();\n\t\t\t\t\t\t}}\n\t\t\t\t\t\tonChange={this.handleInputChange}\n\t\t\t\t\t\tplaceholder={labels.placeholder}\n\t\t\t\t\t\treadOnly={\n\t\t\t\t\t\t\t!!(props.predefinedOptionsOnly && this.state.activeOption)\n\t\t\t\t\t\t}\n\t\t\t\t\t\trequired={props.required}\n\t\t\t\t\t\tvalue={\n\t\t\t\t\t\t\tprops.predefinedOptionsOnly\n\t\t\t\t\t\t\t\t? (this.state.activeOption && this.state.activeOption.label) ||\n\t\t\t\t\t\t\t\t props.value\n\t\t\t\t\t\t\t\t: props.value\n\t\t\t\t\t\t}\n\t\t\t\t\t\t{...userDefinedProps.input}\n\t\t\t\t\t/>\n\t\t\t\t\t{this.getDialog({\n\t\t\t\t\t\tmenuRenderer: this.renderMenu({ assistiveText, labels }),\n\t\t\t\t\t})}\n\t\t\t\t\t{props.errorText && (\n\t\t\t\t\t\t<div id={this.getErrorId()} className=\"slds-form-element__help\">\n\t\t\t\t\t\t\t{props.errorText}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t)}\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t);\n\n\trenderInlineSingle = ({ assistiveText, labels, props, userDefinedProps }) => {\n\t\tconst iconLeft =\n\t\t\tprops.selection[0] && props.selection[0].icon\n\t\t\t\t? React.cloneElement(props.selection[0].icon, {\n\t\t\t\t\t\tcontainerClassName: 'slds-combobox__input-entity-icon',\n\t\t\t\t })\n\t\t\t\t: null;\n\n\t\tconst value =\n\t\t\tprops.selection[0] && props.selection[0].label\n\t\t\t\t? props.selection[0].label\n\t\t\t\t: props.value;\n\n\t\treturn (\n\t\t\t<div className=\"slds-form-element__control\">\n\t\t\t\t<div\n\t\t\t\t\tclassName={classNames('slds-combobox_container', {\n\t\t\t\t\t\t'slds-has-inline-listbox': props.selection.length,\n\t\t\t\t\t})}\n\t\t\t\t>\n\t\t\t\t\t<div\n\t\t\t\t\t\tclassName={classNames(\n\t\t\t\t\t\t\t'slds-combobox',\n\t\t\t\t\t\t\t'slds-dropdown-trigger',\n\t\t\t\t\t\t\t'slds-dropdown-trigger_click',\n\t\t\t\t\t\t\t'ignore-react-onclickoutside',\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t'slds-is-open': this.getIsOpen(),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t'slds-has-error': props.errorText,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tprops.className\n\t\t\t\t\t\t)}\n\t\t\t\t\t\t// Not in ARIA 1.2 spec, temporary for SLDS styles\n\t\t\t\t\t\trole=\"combobox\" // eslint-disable-line jsx-a11y/role-supports-aria-props, jsx-a11y/role-has-required-aria-props\n\t\t\t\t\t>\n\t\t\t\t\t\t<InnerInput\n\t\t\t\t\t\t\tdefaultValue={props.defaultValue}\n\t\t\t\t\t\t\taria-autocomplete=\"list\"\n\t\t\t\t\t\t\taria-controls={\n\t\t\t\t\t\t\t\tthis.getIsOpen() ? `${this.getId()}-listbox` : undefined\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\taria-activedescendant={\n\t\t\t\t\t\t\t\tthis.state.activeOption\n\t\t\t\t\t\t\t\t\t? `${this.getId()}-listbox-option-${\n\t\t\t\t\t\t\t\t\t\t\tthis.state.activeOption.id\n\t\t\t\t\t\t\t\t\t }`\n\t\t\t\t\t\t\t\t\t: null\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\taria-describedby={this.getErrorId()}\n\t\t\t\t\t\t\taria-expanded={this.getIsOpen()}\n\t\t\t\t\t\t\taria-haspopup=\"listbox\" // eslint-disable-line jsx-a11y/aria-proptypes\n\t\t\t\t\t\t\trole=\"combobox\"\n\t\t\t\t\t\t\tautoComplete=\"off\"\n\t\t\t\t\t\t\tclassName=\"slds-combobox__input\"\n\t\t\t\t\t\t\tcontainerProps={{\n\t\t\t\t\t\t\t\tclassName: 'slds-combobox__form-element',\n\t\t\t\t\t\t\t\trole: 'none',\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\tdisabled={this.props.singleInputDisabled}\n\t\t\t\t\t\t\thasSpinner={this.props.hasInputSpinner}\n\t\t\t\t\t\t\ticonRight={\n\t\t\t\t\t\t\t\tprops.selection.length ? (\n\t\t\t\t\t\t\t\t\t<InputIcon\n\t\t\t\t\t\t\t\t\t\tassistiveText={{\n\t\t\t\t\t\t\t\t\t\t\ticon: assistiveText.removeSingleSelectedOption,\n\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\tbuttonRef={(component) => {\n\t\t\t\t\t\t\t\t\t\t\tthis.buttonRef = component;\n\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\tcategory=\"utility\"\n\t\t\t\t\t\t\t\t\t\ticonPosition=\"right\"\n\t\t\t\t\t\t\t\t\t\tname=\"close\"\n\t\t\t\t\t\t\t\t\t\tonClick={(event) => {\n\t\t\t\t\t\t\t\t\t\t\tthis.handleRemoveSelectedOption(event, {\n\t\t\t\t\t\t\t\t\t\t\t\toption: props.selection[0],\n\t\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t<InputIcon category=\"utility\" name=\"search\" />\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\ticonLeft={iconLeft}\n\t\t\t\t\t\t\tid={this.getId()}\n\t\t\t\t\t\t\tonFocus={this.handleInputFocus}\n\t\t\t\t\t\t\tonBlur={this.handleInputBlur}\n\t\t\t\t\t\t\tonKeyDown={this.handleKeyDown}\n\t\t\t\t\t\t\tinputRef={this.setInputRef}\n\t\t\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\t\t\tthis.requestOpenMenu();\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\tonChange={(event) => {\n\t\t\t\t\t\t\t\tif (!props.selection.length) {\n\t\t\t\t\t\t\t\t\tthis.handleInputChange(event);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\tplaceholder={labels.placeholder}\n\t\t\t\t\t\t\treadOnly={\n\t\t\t\t\t\t\t\t!!(props.predefinedOptionsOnly && this.state.activeOption) ||\n\t\t\t\t\t\t\t\t!!props.selection.length\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\trequired={props.required}\n\t\t\t\t\t\t\tvalue={\n\t\t\t\t\t\t\t\tprops.predefinedOptionsOnly\n\t\t\t\t\t\t\t\t\t? (this.state.activeOption &&\n\t\t\t\t\t\t\t\t\t\t\tthis.state.activeOption.label) ||\n\t\t\t\t\t\t\t\t\t props.value\n\t\t\t\t\t\t\t\t\t: value\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t{...userDefinedProps.input}\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t{this.getDialog({\n\t\t\t\t\t\t\tmenuRenderer: this.renderMenu({ assistiveText, labels }),\n\t\t\t\t\t\t})}\n\t\t\t\t\t\t{props.errorText && (\n\t\t\t\t\t\t\t<div id={this.getErrorId()} className=\"slds-form-element__help\">\n\t\t\t\t\t\t\t\t{props.errorText}\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t)}\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t);\n\t};\n\n\trenderMenu = ({ assistiveText, labels }) => {\n\t\tconst menuVariant = {\n\t\t\tbase: 'icon-title-subtitle',\n\t\t\t'inline-listbox': 'icon-title-subtitle',\n\t\t\treadonly: 'checkbox',\n\t\t};\n\n\t\tconst readonlyItemVisibleLength =\n\t\t\tthis.props.variant === 'readonly' ? 5 : null;\n\n\t\treturn (\n\t\t\t<Menu\n\t\t\t\tassistiveText={assistiveText}\n\t\t\t\tactiveOption={this.state.activeOption}\n\t\t\t\tactiveOptionIndex={this.state.activeOptionIndex}\n\t\t\t\tclassNameMenu={this.props.classNameMenu}\n\t\t\t\tclassNameMenuSubHeader={this.props.classNameMenuSubHeader}\n\t\t\t\tclearActiveOption={this.clearActiveOption}\n\t\t\t\tinheritWidthOf={this.props.inheritWidthOf}\n\t\t\t\tinputId={this.getId()}\n\t\t\t\tinputValue={this.props.value}\n\t\t\t\tisSelected={this.isSelected}\n\t\t\t\titemVisibleLength={\n\t\t\t\t\tthis.props.menuItemVisibleLength || readonlyItemVisibleLength\n\t\t\t\t}\n\t\t\t\tlabels={labels}\n\t\t\t\thasMenuSpinner={this.props.hasMenuSpinner}\n\t\t\t\tmenuItem={this.props.menuItem}\n\t\t\t\tmenuPosition={this.props.menuPosition}\n\t\t\t\tmenuRef={(ref) => {\n\t\t\t\t\tthis.menuRef = ref;\n\t\t\t\t}}\n\t\t\t\tmaxWidth={this.props.menuMaxWidth}\n\t\t\t\toptions={this.props.options}\n\t\t\t\toptionsAddItem={this.props.optionsAddItem}\n\t\t\t\toptionsSearchEntity={this.props.optionsSearchEntity}\n\t\t\t\tonSelect={this.handleSelect}\n\t\t\t\t// For backward compatibility, 'menuItem' prop will be deprecated soon\n\t\t\t\tonRenderMenuItem={\n\t\t\t\t\tthis.props.onRenderMenuItem\n\t\t\t\t\t\t? this.props.onRenderMenuItem\n\t\t\t\t\t\t: this.props.menuItem\n\t\t\t\t}\n\t\t\t\tselection={this.props.selection}\n\t\t\t\ttooltipMenuItemDisabled={this.props.tooltipMenuItemDisabled}\n\t\t\t\tvariant={menuVariant[this.props.variant]}\n\t\t\t/>\n\t\t);\n\t};\n\n\trenderPopover = ({ assistiveText, labels, props }) => {\n\t\tconst popoverProps = this.getCustomPopoverProps(\n\t\t\tthis.props.popover.props.body,\n\t\t\t{ assistiveText, labels }\n\t\t);\n\n\t\treturn (\n\t\t\t<div className=\"slds-form-element__control\">\n\t\t\t\t<div className=\"slds-combobox_container\">\n\t\t\t\t\t<div\n\t\t\t\t\t\tclassName={classNames(\n\t\t\t\t\t\t\t'slds-combobox',\n\t\t\t\t\t\t\t'slds-dropdown-trigger',\n\t\t\t\t\t\t\t'slds-dropdown-trigger_click',\n\t\t\t\t\t\t\t'ignore-react-onclickoutside',\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t'slds-is-open': this.getIsOpen(),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t'slds-has-error': props.errorText,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tprops.className\n\t\t\t\t\t\t)}\n\t\t\t\t\t\t// Not in ARIA 1.2 spec, temporary for SLDS styles\n\t\t\t\t\t\trole=\"combobox\" // eslint-disable-line jsx-a11y/role-supports-aria-props, jsx-a11y/role-has-required-aria-props\n\t\t\t\t\t>\n\t\t\t\t\t\t<Popover {...popoverProps}>\n\t\t\t\t\t\t\t<InnerInput\n\t\t\t\t\t\t\t\taria-autocomplete=\"none\"\n\t\t\t\t\t\t\t\taria-controls={\n\t\t\t\t\t\t\t\t\tthis.getIsOpen() ? `${this.getId()}-popover` : undefined\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\taria-describedby={this.getErrorId()}\n\t\t\t\t\t\t\t\taria-expanded={this.getIsOpen()}\n\t\t\t\t\t\t\t\taria-haspopup=\"dialog\" // eslint-disable-line jsx-a11y/aria-proptypes\n\t\t\t\t\t\t\t\trole=\"combobox\"\n\t\t\t\t\t\t\t\tautoComplete=\"off\"\n\t\t\t\t\t\t\t\tclassName=\"slds-combobox__input\"\n\t\t\t\t\t\t\t\tcontainerProps={{\n\t\t\t\t\t\t\t\t\tclassName: 'slds-combobox__form-element',\n\t\t\t\t\t\t\t\t\trole: 'none',\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\ticonRight={\n\t\t\t\t\t\t\t\t\t<InputIcon\n\t\t\t\t\t\t\t\t\t\tcategory=\"utility\"\n\t\t\t\t\t\t\t\t\t\tname=\"down\"\n\t\t\t\t\t\t\t\t\t\tvariant=\"combobox\"\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tid={this.getId()}\n\t\t\t\t\t\t\t\tonFocus={this.handleInputFocus}\n\t\t\t\t\t\t\t\tonBlur={this.handleInputBlur}\n\t\t\t\t\t\t\t\tonKeyDown={this.handleKeyDown}\n\t\t\t\t\t\t\t\tinputRef={this.setInputRef}\n\t\t\t\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\t\t\t\tthis.openDialog();\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\tonChange={this.handleInputChange}\n\t\t\t\t\t\t\t\tplaceholder={labels.placeholder}\n\t\t\t\t\t\t\t\treadOnly\n\t\t\t\t\t\t\t\trequired={props.required}\n\t\t\t\t\t\t\t\tvalue={props.value}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</Popover>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t\t{props.errorText && (\n\t\t\t\t\t<div className=\"slds-has-error\">\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tid={this.getErrorId()}\n\t\t\t\t\t\t\tclassName=\"slds-form-element__help slds-has-error\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{props.errorText}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t)}\n\t\t\t</div>\n\t\t);\n\t};\n\n\trenderReadOnlyMultiple = ({\n\t\tassistiveText,\n\t\tlabels,\n\t\tprops,\n\t\tuserDefinedProps,\n\t}) => {\n\t\tconst value =\n\t\t\tprops.selection.length > 1\n\t\t\t\t? labels.multipleOptionsSelected ||\n\t\t\t\t `${props.selection.length} options selected`\n\t\t\t\t: (props.selection[0] && props.selection[0].label) || '';\n\n\t\treturn (\n\t\t\t<div className=\"slds-form-element__control\">\n\t\t\t\t<div className=\"slds-combobox_container\">\n\t\t\t\t\t<div\n\t\t\t\t\t\tclassName={classNames(\n\t\t\t\t\t\t\t'slds-combobox',\n\t\t\t\t\t\t\t'slds-dropdown-trigger',\n\t\t\t\t\t\t\t'slds-dropdown-trigger_click',\n\t\t\t\t\t\t\t'ignore-react-onclickoutside',\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t'slds-is-open': this.getIsOpen(),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t'slds-has-error': props.errorText,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tprops.className\n\t\t\t\t\t\t)}\n\t\t\t\t\t\t// Not in ARIA 1.2 spec, temporary for SLDS styles\n\t\t\t\t\t\trole=\"combobox\" // eslint-disable-line jsx-a11y/role-supports-aria-props, jsx-a11y/role-has-required-aria-props\n\t\t\t\t\t>\n\t\t\t\t\t\t<InnerInput\n\t\t\t\t\t\t\tdefaultValue={props.defaultValue}\n\t\t\t\t\t\t\taria-autocomplete=\"list\"\n\t\t\t\t\t\t\taria-controls={\n\t\t\t\t\t\t\t\tthis.getIsOpen() ? `${this.getId()}-listbox` : undefined\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\taria-activedescendant={\n\t\t\t\t\t\t\t\tthis.state.activeOption\n\t\t\t\t\t\t\t\t\t? `${this.getId()}-listbox-option-${\n\t\t\t\t\t\t\t\t\t\t\tthis.state.activeOption.id\n\t\t\t\t\t\t\t\t\t }`\n\t\t\t\t\t\t\t\t\t: null\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\taria-describedby={this.getErrorId()}\n\t\t\t\t\t\t\taria-expanded={this.getIsOpen()}\n\t\t\t\t\t\t\taria-haspopup=\"listbox\" // eslint-disable-line jsx-a11y/aria-proptypes\n\t\t\t\t\t\t\trole=\"combobox\"\n\t\t\t\t\t\t\tautoComplete=\"off\"\n\t\t\t\t\t\t\tclassName=\"slds-combobox__input\"\n\t\t\t\t\t\t\tcontainerProps={{\n\t\t\t\t\t\t\t\tclassName: 'slds-combobox__form-element',\n\t\t\t\t\t\t\t\trole: 'none',\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\ticonRight={\n\t\t\t\t\t\t\t\t<InputIcon category=\"utility\" name=\"down\" variant=\"combobox\" />\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tid={this.getId()}\n\t\t\t\t\t\t\tonFocus={this.handleInputFocus}\n\t\t\t\t\t\t\tonBlur={this.handleInputBlur}\n\t\t\t\t\t\t\tonKeyDown={this.handleKeyDown}\n\t\t\t\t\t\t\tinputRef={this.setInputRef}\n\t\t\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\t\t\tthis.requestOpenMenu();\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\tonChange={(event) => {\n\t\t\t\t\t\t\t\tif (!props.selection.length) {\n\t\t\t\t\t\t\t\t\tthis.handleInputChange(event);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\tplaceholder={labels.placeholderReadOnly}\n\t\t\t\t\t\t\treadOnly\n\t\t\t\t\t\t\trequired={props.required}\n\t\t\t\t\t\t\tvalue={value}\n\t\t\t\t\t\t\t{...userDefinedProps.input}\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t{this.getDialog({\n\t\t\t\t\t\t\tmenuRenderer: this.renderMenu({ assistiveText, labels }),\n\t\t\t\t\t\t})}\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t\t<SelectedListBox\n\t\t\t\t\tactiveOption={this.state.activeSelectedOption}\n\t\t\t\t\tactiveOptionIndex={this.state.activeSelectedOptionIndex}\n\t\t\t\t\tassistiveText={assistiveText}\n\t\t\t\t\tevents={{\n\t\t\t\t\t\tonBlurPill: this.handleBlurPill,\n\t\t\t\t\t\tonPillFocus: this.handlePillFocus,\n\t\t\t\t\t\tonRequestFocus: this.handleRequestFocusSelectedListbox,\n\t\t\t\t\t\tonRequestFocusOnNextPill: this.handleNavigateSelectedListbox,\n\t\t\t\t\t\tonRequestFocusOnPreviousPill: this.handleNavigateSelectedListbox,\n\t\t\t\t\t\tonRequestRemove: this.handleRemoveSelectedOption,\n\t\t\t\t\t}}\n\t\t\t\t\tid={`${this.getId()}-selected-listbox`}\n\t\t\t\t\tlabels={labels}\n\t\t\t\t\tselectedListboxRef={this.setSelectedListboxRef}\n\t\t\t\t\tselection={props.selection}\n\t\t\t\t\tlistboxHasFocus={this.state.listboxHasFocus}\n\t\t\t\t\tvariant={this.props.variant}\n\t\t\t\t\trenderAtSelectionLength={2}\n\t\t\t\t/>\n\t\t\t\t{props.errorText && (\n\t\t\t\t\t<div className=\"slds-has-error\">\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tid={this.getErrorId()}\n\t\t\t\t\t\t\tclassName=\"slds-form-element__help slds-has-error\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{props.errorText}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t)}\n\t\t\t</div>\n\t\t);\n\t};\n\n\trenderReadOnlySingle = ({\n\t\tassistiveText,\n\t\tlabels,\n\t\tprops,\n\t\tuserDefinedProps,\n\t}) => {\n\t\tconst value = (props.selection[0] && props.selection[0].label) || '';\n\n\t\treturn (\n\t\t\t<div className=\"slds-form-element__control\">\n\t\t\t\t<div className=\"slds-combobox_container\">\n\t\t\t\t\t<div // aria attributes have been moved to the `div` wrapping `input` to comply with ARIA 1.1.\n\t\t\t\t\t\tclassName={classNames(\n\t\t\t\t\t\t\t'slds-combobox',\n\t\t\t\t\t\t\t'slds-dropdown-trigger',\n\t\t\t\t\t\t\t'slds-dropdown-trigger_click',\n\t\t\t\t\t\t\t'ignore-react-onclickoutside',\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t'slds-is-open': this.getIsOpen(),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t'slds-has-error': props.errorText,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tprops.className\n\t\t\t\t\t\t)}\n\t\t\t\t\t\t// Not in ARIA 1.2 spec, temporary for SLDS styles\n\t\t\t\t\t\trole=\"combobox\" // eslint-disable-line jsx-a11y/role-supports-aria-props, jsx-a11y/role-has-required-aria-props\n\t\t\t\t\t>\n\t\t\t\t\t\t<InnerInput\n\t\t\t\t\t\t\tdefaultValue={props.defaultValue}\n\t\t\t\t\t\t\taria-autocomplete=\"list\"\n\t\t\t\t\t\t\taria-controls={\n\t\t\t\t\t\t\t\tthis.getIsOpen() ? `${this.getId()}-listbox` : undefined\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\taria-activedescendant={\n\t\t\t\t\t\t\t\tthis.state.activeOption\n\t\t\t\t\t\t\t\t\t? `${this.getId()}-listbox-option-${\n\t\t\t\t\t\t\t\t\t\t\tthis.state.activeOption.id\n\t\t\t\t\t\t\t\t\t }`\n\t\t\t\t\t\t\t\t\t: null\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\taria-describedby={this.getErrorId()}\n\t\t\t\t\t\t\taria-expanded={this.getIsOpen()}\n\t\t\t\t\t\t\taria-haspopup=\"listbox\" // eslint-disable-line jsx-a11y/aria-proptypes\n\t\t\t\t\t\t\trole=\"combobox\"\n\t\t\t\t\t\t\tautoComplete=\"off\"\n\t\t\t\t\t\t\tclassName=\"slds-combobox__input\"\n\t\t\t\t\t\t\tcontainerProps={{\n\t\t\t\t\t\t\t\tclassName: 'slds-combobox__form-element',\n\t\t\t\t\t\t\t\trole: 'none',\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\tdisabled={this.props.singleInputDisabled}\n\t\t\t\t\t\t\ticonRight={\n\t\t\t\t\t\t\t\t<InputIcon category=\"utility\" name=\"down\" variant=\"combobox\" />\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tid={this.getId()}\n\t\t\t\t\t\t\tonFocus={this.handleInputFocus}\n\t\t\t\t\t\t\tonBlur={this.handleInputBlur}\n\t\t\t\t\t\t\tonKeyDown={this.handleKeyDown}\n\t\t\t\t\t\t\tinputRef={this.setInputRef}\n\t\t\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\t\t\tthis.requestOpenMenu();\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\tonChange={(event) => {\n\t\t\t\t\t\t\t\tif (!props.selection.length) {\n\t\t\t\t\t\t\t\t\tthis.handleInputChange(event);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\tplaceholder={labels.placeholderReadOnly}\n\t\t\t\t\t\t\treadOnly\n\t\t\t\t\t\t\trequired={props.required}\n\t\t\t\t\t\t\tvalue={\n\t\t\t\t\t\t\t\t(this.state.activeOption && this.state.activeOption.label) ||\n\t\t\t\t\t\t\t\tvalue\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t{...userDefinedProps.input}\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t{this.getDialog({\n\t\t\t\t\t\t\tmenuRenderer: this.renderMenu({ assistiveText, labels }),\n\t\t\t\t\t\t})}\n\t\t\t\t\t\t{props.errorText && (\n\t\t\t\t\t\t\t<div id={this.getErrorId()} className=\"slds-form-element__help\">\n\t\t\t\t\t\t\t\t{props.errorText}\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t)}\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t);\n\t};\n\n\trender() {\n\t\tconst { props } = this;\n\t\t// Merge objects of strings with their default object\n\t\tconst assistiveText = assign(\n\t\t\t{},\n\t\t\tdefaultProps.assistiveText,\n\t\t\tprops.assistiveText\n\t\t);\n\t\tconst labels = assign({}, defaultProps.labels, this.props.labels);\n\t\tconst hasRenderedLabel =\n\t\t\tlabels.label || (assistiveText && assistiveText.label);\n\t\t// declare user defined props\n\t\tconst userDefinedProps = {};\n\t\tif (props.input) {\n\t\t\t// at the moment we only support overriding the input props\n\t\t\tuserDefinedProps.input = props.input.props;\n\t\t}\n\t\tconst subRenderParameters = {\n\t\t\tassistiveText,\n\t\t\tlabels,\n\t\t\tprops: this.props,\n\t\t\tuserDefinedProps,\n\t\t};\n\t\tconst multipleOrSingle = this.props.multiple ? 'multiple' : 'single';\n\t\tconst subRenders = {\n\t\t\tbase: {\n\t\t\t\tmultiple: this.renderBase, // same\n\t\t\t\tsingle: this.renderBase,\n\t\t\t},\n\t\t\t'inline-listbox': {\n\t\t\t\tmultiple: this.renderInlineMultiple,\n\t\t\t\tsingle: this.renderInlineSingle,\n\t\t\t},\n\t\t\tpopover: {\n\t\t\t\tmultiple: this.renderPopover, // same\n\t\t\t\tsingle: this.renderPopover,\n\t\t\t},\n\t\t\treadonly: {\n\t\t\t\tmultiple: this.renderReadOnlyMultiple,\n\t\t\t\tsingle: this.renderReadOnlySingle,\n\t\t\t},\n\t\t};\n\t\tconst variantExists = subRenders[this.props.variant][multipleOrSingle];\n\n\t\tconst mainCombobox = (\n\t\t\t<div\n\t\t\t\tclassName={classNames('slds-form-element', props.classNameContainer)}\n\t\t\t>\n\t\t\t\t{props.entityCombobox ? null : (\n\t\t\t\t\t<Label\n\t\t\t\t\t\tassistiveText={this.props.assistiveText}\n\t\t\t\t\t\thtmlFor={this.getId()}\n\t\t\t\t\t\tlabel={labels.label}\n\t\t\t\t\t\trequired={props.required}\n\t\t\t\t\t/>\n\t\t\t\t)}\n\t\t\t\t{this.props.fieldLevelHelpTooltip && hasRenderedLabel ? (\n\t\t\t\t\t<FieldLevelHelpTooltip\n\t\t\t\t\t\tfieldLevelHelpTooltip={this.props.fieldLevelHelpTooltip}\n\t\t\t\t\t/>\n\t\t\t\t) : null}\n\t\t\t\t{variantExists\n\t\t\t\t\t? subRenders[this.props.variant][multipleOrSingle](\n\t\t\t\t\t\t\tsubRenderParameters\n\t\t\t\t\t )\n\t\t\t\t\t: subRenders.base.multiple(subRenderParameters)}\n\t\t\t</div>\n\t\t);\n\n\t\treturn props.entityCombobox ? (\n\t\t\t<div className=\"slds-form-element\">\n\t\t\t\t<Label\n\t\t\t\t\tassistiveText={props.assistiveText}\n\t\t\t\t\thtmlFor={this.getId()}\n\t\t\t\t\tlabel={labels.label}\n\t\t\t\t\trequired={props.required}\n\t\t\t\t/>\n\t\t\t\t<div className=\"slds-form-element__control\">\n\t\t\t\t\t<div className=\"slds-combobox-group\">\n\t\t\t\t\t\t<div className=\"slds-combobox_object-switcher slds-combobox-addon_start\">\n\t\t\t\t\t\t\t{props.entityCombobox}\n\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t<div className=\"slds-combobox_container slds-combobox-addon_end\">\n\t\t\t\t\t\t\t{mainCombobox}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t) : (\n\t\t\tmainCombobox\n\t\t);\n\t}\n}\n\nCombobox.contextTypes = {\n\ticonPath: PropTypes.string,\n};\n\nCombobox.displayName = COMBOBOX;\nCombobox.propTypes = propTypes;\nCombobox.defaultProps = defaultProps;\n\nexport default Combobox;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// ### onClickOutside\n// Listen for clicks that occur somewhere in the document, outside of the element itself\nimport onClickOutside from 'react-onclickoutside';\nimport LanguageDirection from '../utilities/UNSAFE_direction/private/language-direction';\nimport Combobox from './combobox';\n\nexport default LanguageDirection(\n\tonClickOutside(Combobox, {\n\t\texcludeScrollbar: true,\n\t})\n);\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\nimport escapeRegExp from 'lodash.escaperegexp';\n\n/**\n * SLDS recommends auto-complete/search inputs menus have a limit of 10 items.\n */\nconst filter = ({ inputValue, limit = 10, options, selection }) => {\n\tconst inputValueRegExp = new RegExp(escapeRegExp(inputValue), 'ig');\n\t// eslint-disable-next-line fp/no-mutating-methods\n\treturn options\n\t\t.filter((option) => {\n\t\t\tconst searchTermFoundInLabel = option.label\n\t\t\t\t? option.label.match(inputValueRegExp)\n\t\t\t\t: false;\n\t\t\tconst searchTermFoundInSubtitle = option.subTitle\n\t\t\t\t? option.subTitle.match(inputValueRegExp)\n\t\t\t\t: false;\n\t\t\tconst isSeparator = option.type === 'separator';\n\t\t\tconst notAlreadySelected = !selection.some((sel) => sel.id === option.id);\n\n\t\t\treturn (\n\t\t\t\t(!inputValue ||\n\t\t\t\t\tisSeparator ||\n\t\t\t\t\tsearchTermFoundInLabel ||\n\t\t\t\t\tsearchTermFoundInSubtitle) &&\n\t\t\t\tnotAlreadySelected\n\t\t\t);\n\t\t})\n\t\t.splice(0, limit);\n};\nexport default filter;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n/* eslint-disable import/no-mutable-exports */\n\nimport deprecatedProperty from '../../utilities/warning/deprecated-property';\nimport getComponentDocFn from '../../utilities/get-component-doc';\nimport sunsetProperty from '../../utilities/warning/sunset-property';\n\nlet checkProps = function checkPropsFunction() {};\n\nif (process.env.NODE_ENV !== 'production') {\n\tcheckProps = function checkPropsFunction(COMPONENT, props, jsonDoc) {\n\t\tconst createDocUrl = getComponentDocFn(jsonDoc);\n\t\t/* eslint-disable max-len */\n\t\t// Deprecated and changed to another property\n\t\tdeprecatedProperty(\n\t\t\tCOMPONENT,\n\t\t\tprops.onChange,\n\t\t\t'onChange',\n\t\t\t'onRowChange',\n\t\t\t'The callback parameters have been changed. `onRowChange` passes in `[event, { selection }` in order to align with other components.'\n\t\t);\n\t\tdeprecatedProperty(\n\t\t\tCOMPONENT,\n\t\t\tprops.compact,\n\t\t\t'compact',\n\t\t\tundefined,\n\t\t\t`compact has been deprecated as non-compact data tables do not exist in SLDS. ${createDocUrl()}`\n\t\t);\n\n\t\tdeprecatedProperty(\n\t\t\tCOMPONENT,\n\t\t\tprops.collection,\n\t\t\t'collection',\n\t\t\t'items',\n\t\t\tcreateDocUrl('items')\n\t\t);\n\t\tdeprecatedProperty(\n\t\t\tCOMPONENT,\n\t\t\tprops.onSelect,\n\t\t\t'onSelect',\n\t\t\t'onChange',\n\t\t\tcreateDocUrl('onChange')\n\t\t);\n\t\tdeprecatedProperty(\n\t\t\tCOMPONENT,\n\t\t\tprops.onDeselect,\n\t\t\t'onDeselect',\n\t\t\t'onChange',\n\t\t\tcreateDocUrl('onChange')\n\t\t);\n\t\tsunsetProperty(\n\t\t\tCOMPONENT,\n\t\t\tprops.sortable,\n\t\t\t'sortable',\n\t\t\t`The table is sortable if one or more of its columns are sortable. ${createDocUrl()}`\n\t\t);\n\n\t\t// Deprecated and moved to a child\n\t\tsunsetProperty(\n\t\t\tCOMPONENT,\n\t\t\tprops.columns,\n\t\t\t'columns',\n\t\t\t`Please provide one or more children of the type <Column /> instead. ${createDocUrl()}`\n\t\t);\n\n\t\tsunsetProperty(\n\t\t\tCOMPONENT,\n\t\t\tprops.bordered,\n\t\t\t'bordered',\n\t\t\t`All SLDS DataTables have row borders by default now. If you do not want row borders, please use \\`unborderedRow\\`. ${createDocUrl(\n\t\t\t\t'unborderedRow'\n\t\t\t)}`\n\t\t);\n\t\t/* eslint-enable max-len */\n\n\t\tdeprecatedProperty(\n\t\t\tCOMPONENT,\n\t\t\tprops.assistiveTextForActionsHeader,\n\t\t\t'assistiveTextForActionsHeader',\n\t\t\t\"assistiveText['actionsHeader']\",\n\t\t\tcreateDocUrl('assistiveText')\n\t\t);\n\t\tdeprecatedProperty(\n\t\t\tCOMPONENT,\n\t\t\tprops.assistiveTextForColumnSort,\n\t\t\t'assistiveTextForColumnSort',\n\t\t\t\"assistiveText['columnSort']\",\n\t\t\tcreateDocUrl('assistiveText')\n\t\t);\n\t\tdeprecatedProperty(\n\t\t\tCOMPONENT,\n\t\t\tprops.assistiveTextForColumnSortedAscending,\n\t\t\t'assistiveTextForColumnSortedAscending',\n\t\t\t\"assistiveText['columnSortedAscending']\",\n\t\t\tcreateDocUrl('assistiveText')\n\t\t);\n\t\tdeprecatedProperty(\n\t\t\tCOMPONENT,\n\t\t\tprops.assistiveTextForColumnSortedDescending,\n\t\t\t'assistiveTextForColumnSortedDescending',\n\t\t\t\"assistiveText['columnSortedDescending']\",\n\t\t\tcreateDocUrl('assistiveText')\n\t\t);\n\t\tdeprecatedProperty(\n\t\t\tCOMPONENT,\n\t\t\tprops.assistiveTextForSelectAllRows,\n\t\t\t'assistiveTextForSelectAllRows',\n\t\t\t\"assistiveText['selectAllRows']\",\n\t\t\tcreateDocUrl('assistiveText')\n\t\t);\n\t\tdeprecatedProperty(\n\t\t\tCOMPONENT,\n\t\t\tprops.assistiveTextForSelectRow,\n\t\t\t'assistiveTextForSelectRow',\n\t\t\t\"assistiveText['selectRow']\",\n\t\t\tcreateDocUrl('assistiveText')\n\t\t);\n\t};\n}\n\nexport default checkProps;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// ### React\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\n// ### classNames\nimport classNames from 'classnames';\n\n// ## Constants\nimport { DATA_TABLE_CELL } from '../../utilities/constants';\n\n/**\n * The default Cell renderer for the DataTable. Pass in any React component with the same `displayName` which takes the same props to provide custom rendering.\n */\nconst DataTableCell = (props) => {\n\tconst childText = React.isValidElement(props.children)\n\t\t? props.children.props.children\n\t\t: props.children;\n\tconst contents = (\n\t\t<div\n\t\t\tclassName={classNames({\n\t\t\t\t'slds-truncate': props.fixedLayout,\n\t\t\t})}\n\t\t\ttitle={props.title || childText}\n\t\t>\n\t\t\t{props.children}\n\t\t</div>\n\t);\n\n\tlet cell = (\n\t\t<td\n\t\t\tclassName={props.className}\n\t\t\tdata-label={props.label}\n\t\t\trole={props.fixedLayout ? 'gridcell' : null}\n\t\t\tstyle={props.width ? { width: props.width } : null}\n\t\t\theaders={props.headerId}\n\t\t>\n\t\t\t{contents}\n\t\t</td>\n\t);\n\n\tif (props.primaryColumn) {\n\t\tcell = (\n\t\t\t<th\n\t\t\t\tclassName={props.className}\n\t\t\t\tdata-label={props.label}\n\t\t\t\trole={props.fixedLayout ? 'gridcell' : null}\n\t\t\t\tstyle={props.width ? { width: props.width } : null}\n\t\t\t>\n\t\t\t\t{contents}\n\t\t\t</th>\n\t\t);\n\t}\n\n\treturn cell;\n};\n\n// ### Display Name\n// Always use the canonical component name as the React display name.\nDataTableCell.displayName = DATA_TABLE_CELL;\n\n// ### Prop Types\nDataTableCell.propTypes = {\n\t/**\n\t * The contents of the cell. This can be simple text or DOM nodes. Equivalent to `props.item[props.property]`\n\t */\n\tchildren: PropTypes.oneOfType([PropTypes.node, PropTypes.string]),\n\t/**\n\t * Class names to be added to the cell.\n\t */\n\tclassName: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\t/**\n\t * Use this if you are creating an advanced table (selectable, sortable, or resizable rows)\n\t */\n\tfixedLayout: PropTypes.bool,\n\t/**\n\t * The item from the items which represents this row.\n\t */\n\titem: PropTypes.object,\n\t/**\n\t * The primary column for a row. This is almost always the first column.\n\t */\n\tprimaryColumn: PropTypes.bool,\n\t/**\n\t * The property of this item to display.\n\t */\n\tproperty: PropTypes.string,\n\t/**\n\t * Shows on hover. Useful for truncated cells.\n\t */\n\ttitle: PropTypes.string,\n\t/**\n\t * Width of column. This is required for advanced/fixed layout tables. Please provide units. (`rems` are recommended)\n\t */\n\twidth: PropTypes.string,\n};\n\nexport default DataTableCell;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n/* eslint-disable react/no-unused-prop-types */\n/* deepscan-disable REACT_USELESS_PROP_TYPES */\n\n// ### React\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\n// ## Constants\nimport { DATA_TABLE_COLUMN } from '../../utilities/constants';\n\n// extends is used below so that react-docgen can detect the component\n\n/**\n * Columns define the structure of the data displayed in the DataTable.\n */\nclass DataTableColumn extends React.Component {}\n\n// ### Display Name\n// Always use the canonical component name as the React display name.\nDataTableColumn.displayName = DATA_TABLE_COLUMN;\n\n// ### Prop Types\nDataTableColumn.propTypes = {\n\t/**\n\t * Use a _higher-order component_ to customize a data table cell that will override the default cell rendering. `CustomDataTableCell` must have the same `displayName` as `DataTableCell` or it will be ignored. If you want complete control of the HTML, including the wrapping `td`, you don't have to use `DataTableCell`.\n\t * ```\n\t * import DataTableCell from 'design-system-react/data-table/cell';\n\t * const CustomDataTableCell = ({ children, ...props }) => (\n\t * <DataTableCell {...props} >\n\t * <a href=\"javascript:void(0);\">{children}</a>\n\t * </DataTableCell>\n\t * );\n\t * CustomDataTableCell.displayName = DataTableCell.displayName;\n\t *\n\t * <DataTable>\n\t * <DataTableColumn />\n\t * <DataTableColumn>\n\t * <DataTableCustomCell />\n\t * </DataTableColumn>\n\t * <DataTableRowActions />\n\t * </DataTable>\n\t * ```\n\t */\n\tchildren: PropTypes.element,\n\t/**\n\t * Some columns, such as \"date last viewed\" or \"date recently updated,\" should sort descending first, since that is what the user probably wants. How often does one want to see their oldest files first in a table? If sortable and the `DataTable`'s parent has not defined the sort order, then ascending (A at the top to Z at the bottom) is the default sort order on first click.\n\t */\n\tisDefaultSortDescending: PropTypes.bool,\n\t/**\n\t * Selects this column as the currently sorted column.\n\t */\n\tisSorted: PropTypes.bool,\n\t/**\n\t * The column label. If a `string` is not passed in, no `title` attribute will be rendered.\n\t */\n\tlabel: PropTypes.oneOfType([PropTypes.string, PropTypes.node]),\n\t/**\n\t * The primary column for a row. This is almost always the first column.\n\t */\n\tprimaryColumn: PropTypes.bool,\n\t/**\n\t * The property which corresponds to this column.\n\t */\n\tproperty: PropTypes.string,\n\t/**\n\t * Whether or not the column is sortable.\n\t */\n\tsortable: PropTypes.bool,\n\t/**\n\t * The current sort direction. If left out the component will track this internally. Required if `isSorted` is true.\n\t */\n\tsortDirection: PropTypes.oneOf(['desc', 'asc']),\n\t/**\n\t * Title used for truncation div within the cell.\n\t */\n\ttitle: PropTypes.string,\n\t/**\n\t * Adds truncate to cell node.\n\t */\n\ttruncate: PropTypes.bool,\n\t/**\n\t * Width of column. This is required for advanced/fixed layout tables. Please provide units. (`rems` are recommended)\n\t */\n\twidth: PropTypes.string,\n};\n\nexport default DataTableColumn;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// ### React\nimport React from 'react';\n\n/**\n * Used internally, provides fixed cell rendering\n */\nconst CellFixed = (props) => (\n\t<div\n\t\tclassName=\"slds-cell-fixed\"\n\t\tstyle={{\n\t\t\tdisplay: 'flex',\n\t\t\tflexDirection: 'row',\n\t\t\tflexWrap: 'nowrap',\n\t\t}}\n\t>\n\t\t{props.children}\n\t</div>\n);\n\nexport default CellFixed;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n/* eslint-disable import/no-mutable-exports */\n\nimport ifOneThenBothRequiredProperty from '../../utilities/warning/if-one-then-both-required-property';\n\nlet checkProps = function checkPropsFunction() {};\n\nif (process.env.NODE_ENV !== 'production') {\n\tcheckProps = function checkPropsFunction(COMPONENT, props) {\n\t\t/* eslint-disable max-len */\n\t\t// Deprecated and changed to another property\n\t\tifOneThenBothRequiredProperty(COMPONENT, props, {\n\t\t\tisSorted: props.isSorted,\n\t\t\tsortDirection: props.sortDirection,\n\t\t});\n\t\t/* eslint-enable max-len */\n\t};\n}\n\nexport default checkProps;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// ### React\nimport React from 'react';\n\nimport PropTypes from 'prop-types';\n\n// ### classNames\nimport classNames from 'classnames';\n\n// ### isFunction\nimport isFunction from 'lodash.isfunction';\n\n// ## Children\nimport CellFixed from './cell-fixed';\nimport Icon from '../../icon';\n\n// This component's `checkProps` which issues warnings to developers about properties when in development mode (similar to React's built in development tools)\nimport checkProps from '../column-check-props';\n\n// ## Constants\nimport {\n\tDATA_TABLE_HEADER_CELL,\n\tDATA_TABLE_COLUMN,\n} from '../../../utilities/constants';\n\n/**\n * Used internally, renders each individual column heading.\n */\nclass DataTableHeaderCell extends React.Component {\n\t// ### Display Name\n\t// Always use the canonical component name as the React display name.\n\tstatic displayName = DATA_TABLE_HEADER_CELL;\n\n\t// ### Prop Types\n\tstatic propTypes = {\n\t\tassistiveText: PropTypes.shape({\n\t\t\tactionsHeader: PropTypes.string,\n\t\t\tcolumnSort: PropTypes.string,\n\t\t\tcolumnSortedAscending: PropTypes.string,\n\t\t\tcolumnSortedDescending: PropTypes.string,\n\t\t\tselectAllRows: PropTypes.string,\n\t\t\tselectRow: PropTypes.string,\n\t\t}),\n\t\tcellRef: PropTypes.func,\n\t\tfixedHeader: PropTypes.bool,\n\t\tid: PropTypes.string.isRequired,\n\t\t/**\n\t\t * Some columns, such as \"date last viewed\" or \"date recently updated,\" should sort descending first, since that is what the user probably wants. How often does one want to see their oldest files first in a table? If sortable and the `DataTable`'s parent has not defined the sort order, then ascending (A at the top to Z at the bottom) is the default sort order on first click.\n\t\t */\n\t\tisDefaultSortDescending: PropTypes.bool,\n\t\t/**\n\t\t * Indicates if column is sorted.\n\t\t */\n\t\tisSorted: PropTypes.bool,\n\t\t/**\n\t\t * The column label.\n\t\t */\n\t\tlabel: PropTypes.oneOfType([PropTypes.string, PropTypes.node]),\n\t\t/**\n\t\t * The function to execute on sort.\n\t\t */\n\t\tonSort: PropTypes.func,\n\t\t/**\n\t\t * The property which corresponds to this column.\n\t\t */\n\t\tproperty: PropTypes.string,\n\t\t/**\n\t\t * Whether or not the column is sortable.\n\t\t */\n\t\tsortable: PropTypes.bool,\n\t\t/**\n\t\t * The current sort direction.\n\t\t */\n\t\tsortDirection: PropTypes.oneOf(['desc', 'asc']),\n\t\t/**\n\t\t * Width of column. This is required for advanced/fixed layout tables. Please provide units. (`rems` are recommended)\n\t\t */\n\t\twidth: PropTypes.string,\n\t};\n\n\tstate = {\n\t\tsortDirection: null,\n\t};\n\n\tcomponentDidMount() {\n\t\tcheckProps(DATA_TABLE_COLUMN, this.props);\n\t}\n\n\tcomponentDidUpdate(prevProps) {\n\t\t// reset sort state when another column is sorted\n\t\tif (prevProps.isSorted === true && this.props.isSorted === false) {\n\t\t\tthis.setState({ sortDirection: null }); // eslint-disable-line react/no-did-update-set-state\n\t\t}\n\t}\n\n\thandleSort = (e) => {\n\t\tconst oldSortDirection =\n\t\t\tthis.props.sortDirection || this.state.sortDirection;\n\t\t// UX pattern: If sortable, and the DataTable's parent has not defined the sort order, then ascending (that is A->Z) is the default sort order on first click. Some columns, such as \"last viewed\" or \"recently updated,\" should sort descending first, since that is what the user probably wants. Who wants to see the oldest files first?\n\t\tconst sortDirection = (function sortDirectionFunction(\n\t\t\tdirection,\n\t\t\tisDefaultSortDescending\n\t\t) {\n\t\t\tswitch (direction) {\n\t\t\t\tcase 'asc':\n\t\t\t\t\treturn 'desc';\n\t\t\t\tcase 'desc':\n\t\t\t\t\treturn 'asc';\n\t\t\t\tcase null:\n\t\t\t\t\treturn isDefaultSortDescending ? 'desc' : 'asc';\n\t\t\t\tdefault:\n\t\t\t\t\treturn 'asc';\n\t\t\t}\n\t\t})(oldSortDirection, this.props.isDefaultSortDescending);\n\t\tconst data = {\n\t\t\tproperty: this.props.property,\n\t\t\tsortDirection,\n\t\t};\n\n\t\tthis.setState({\n\t\t\tsortDirection,\n\t\t});\n\n\t\tif (isFunction(this.props.onSort)) {\n\t\t\tthis.props.onSort(data, e);\n\t\t}\n\t};\n\n\t// ### Render\n\trender() {\n\t\tconst { fixedHeader, isSorted, label, sortable, width } = this.props;\n\n\t\tconst labelType = typeof label;\n\t\t// This decides which arrow to render--which is current sort order if the column is sorted OR the future sort order if the arrow is clicked in the future.\n\t\tconst sortDirection =\n\t\t\tthis.props.sortDirection ||\n\t\t\tthis.state.sortDirection ||\n\t\t\t(this.props.isDefaultSortDescending && 'desc');\n\t\tconst expandedSortDirection =\n\t\t\tsortDirection === 'desc' ? 'descending' : 'ascending';\n\t\tconst ariaSort = isSorted ? expandedSortDirection : 'none';\n\n\t\tconst fixedLayoutSubRenders = {\n\t\t\tsortable: (\n\t\t\t\t<a\n\t\t\t\t\thref=\"javascript:void(0)\" // eslint-disable-line no-script-url\n\t\t\t\t\tclassName=\"slds-th__action slds-text-link_reset\"\n\t\t\t\t\tonClick={this.handleSort}\n\t\t\t\t\trole=\"button\"\n\t\t\t\t\ttabIndex=\"0\"\n\t\t\t\t>\n\t\t\t\t\t<span className=\"slds-assistive-text\">\n\t\t\t\t\t\t{this.props.assistiveTextForColumnSort ||\n\t\t\t\t\t\t\tthis.props.assistiveText.columnSort}{' '}\n\t\t\t\t\t</span>\n\t\t\t\t\t<span\n\t\t\t\t\t\tclassName=\"slds-truncate\"\n\t\t\t\t\t\ttitle={labelType === 'string' ? label : undefined}\n\t\t\t\t\t>\n\t\t\t\t\t\t{label}\n\t\t\t\t\t</span>\n\t\t\t\t\t<Icon\n\t\t\t\t\t\tclassName=\"slds-is-sortable__icon\"\n\t\t\t\t\t\tcategory=\"utility\"\n\t\t\t\t\t\tname={sortDirection === 'desc' ? 'arrowdown' : 'arrowup'}\n\t\t\t\t\t\tsize=\"x-small\"\n\t\t\t\t\t/>\n\t\t\t\t\t{sortDirection ? (\n\t\t\t\t\t\t<span className=\"slds-assistive-text\" aria-atomic=\"true\">\n\t\t\t\t\t\t\t{sortDirection === 'asc'\n\t\t\t\t\t\t\t\t? this.props.assistiveTextForColumnSortedAscending ||\n\t\t\t\t\t\t\t\t this.props.assistiveText.columnSortedAscending\n\t\t\t\t\t\t\t\t: this.props.assistiveTextForColumnSortedDescending ||\n\t\t\t\t\t\t\t\t this.props.assistiveText.columnSortedDescending}\n\t\t\t\t\t\t</span>\n\t\t\t\t\t) : null}\n\t\t\t\t</a>\n\t\t\t),\n\t\t\tnotSortable: (\n\t\t\t\t<span className=\"slds-p-horizontal_x-small\" style={{ display: 'flex' }}>\n\t\t\t\t\t<span\n\t\t\t\t\t\tclassName=\"slds-truncate\"\n\t\t\t\t\t\ttitle={labelType === 'string' ? label : undefined}\n\t\t\t\t\t>\n\t\t\t\t\t\t{label}\n\t\t\t\t\t</span>\n\t\t\t\t</span>\n\t\t\t),\n\t\t};\n\n\t\tconst headerCellContent = this.props.fixedLayout ? (\n\t\t\tfixedLayoutSubRenders[sortable ? 'sortable' : 'notSortable']\n\t\t) : (\n\t\t\t<div\n\t\t\t\tclassName=\"slds-truncate\"\n\t\t\t\ttitle={labelType === 'string' ? label : undefined}\n\t\t\t>\n\t\t\t\t{label}\n\t\t\t</div>\n\t\t);\n\n\t\treturn (\n\t\t\t<th\n\t\t\t\taria-label={labelType === 'string' ? label : undefined}\n\t\t\t\taria-sort={ariaSort}\n\t\t\t\tclassName={classNames({\n\t\t\t\t\t'slds-is-sortable': sortable,\n\t\t\t\t\t'slds-is-sorted': isSorted,\n\t\t\t\t\t[`slds-is-sorted_${sortDirection}`]: sortDirection,\n\t\t\t\t\t'slds-is-sorted_asc': isSorted && !sortDirection, // default for hover, up arrow is ascending which means A is at the top of the table, and Z is at the bottom. You have to think about row numbers abstracting, and not the visual order on the table.\n\t\t\t\t})}\n\t\t\t\tref={(ref) => {\n\t\t\t\t\tif (this.props.cellRef) {\n\t\t\t\t\t\tthis.props.cellRef(ref);\n\t\t\t\t\t}\n\t\t\t\t}}\n\t\t\t\tscope=\"col\"\n\t\t\t\tstyle={\n\t\t\t\t\tfixedHeader || width\n\t\t\t\t\t\t? {\n\t\t\t\t\t\t\t\theight: fixedHeader ? 0 : null,\n\t\t\t\t\t\t\t\tlineHeight: fixedHeader ? 0 : null,\n\t\t\t\t\t\t\t\twidth: width || null,\n\t\t\t\t\t\t }\n\t\t\t\t\t\t: null\n\t\t\t\t}\n\t\t\t>\n\t\t\t\t{fixedHeader\n\t\t\t\t\t? React.cloneElement(headerCellContent, {\n\t\t\t\t\t\t\tstyle: {\n\t\t\t\t\t\t\t\tdisplay: 'flex',\n\t\t\t\t\t\t\t\theight: 0,\n\t\t\t\t\t\t\t\toverflow: 'hidden',\n\t\t\t\t\t\t\t\tpaddingBottom: 0,\n\t\t\t\t\t\t\t\tpaddingTop: 0,\n\t\t\t\t\t\t\t\tvisibility: 'hidden',\n\t\t\t\t\t\t\t},\n\t\t\t\t\t })\n\t\t\t\t\t: headerCellContent}\n\t\t\t\t{fixedHeader ? (\n\t\t\t\t\t<CellFixed>\n\t\t\t\t\t\t{React.cloneElement(headerCellContent, {\n\t\t\t\t\t\t\tstyle: {\n\t\t\t\t\t\t\t\talignItems: 'center',\n\t\t\t\t\t\t\t\tdisplay: 'flex',\n\t\t\t\t\t\t\t\tflex: '1 1 auto',\n\t\t\t\t\t\t\t\tlineHeight: 1.25,\n\t\t\t\t\t\t\t\twidth: '100%',\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\ttabIndex: sortable ? 0 : null,\n\t\t\t\t\t\t})}\n\t\t\t\t\t</CellFixed>\n\t\t\t\t) : null}\n\t\t\t</th>\n\t\t);\n\t}\n}\n\nexport default DataTableHeaderCell;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// ### React\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\n// ## Children\nimport CellFixed from './cell-fixed';\nimport Checkbox from '../../checkbox';\nimport HeaderCell from './header-cell';\n\n// ## Constants\nimport { DATA_TABLE_HEAD } from '../../../utilities/constants';\n\n/**\n * Used internally, provides header row rendering to the DataTable.\n */\nclass DataTableHead extends React.Component {\n\t// ### Display Name\n\t// Always use the canonical component name as the React display name.\n\tstatic displayName = DATA_TABLE_HEAD;\n\n\t// ### Prop Types\n\tstatic propTypes = {\n\t\tassistiveText: PropTypes.shape({\n\t\t\tactionsHeader: PropTypes.string,\n\t\t\tcolumnSort: PropTypes.string,\n\t\t\tcolumnSortedAscending: PropTypes.string,\n\t\t\tcolumnSortedDescending: PropTypes.string,\n\t\t\tselectAllRows: PropTypes.string,\n\t\t\tselectRow: PropTypes.string,\n\t\t}),\n\t\tallSelected: PropTypes.bool,\n\t\theaderRefs: PropTypes.func,\n\t\tindeterminateSelected: PropTypes.bool,\n\t\tcanSelectRows: PropTypes.oneOfType([\n\t\t\tPropTypes.bool,\n\t\t\tPropTypes.oneOf(['checkbox', 'radio']),\n\t\t]),\n\t\tcolumns: PropTypes.arrayOf(\n\t\t\tPropTypes.shape({\n\t\t\t\tCell: PropTypes.func,\n\t\t\t\tprops: PropTypes.object,\n\t\t\t})\n\t\t),\n\t\tfixedHeader: PropTypes.bool,\n\t\tid: PropTypes.string,\n\t\tonToggleAll: PropTypes.func,\n\t\tonSort: PropTypes.func,\n\t\tshowRowActions: PropTypes.bool,\n\t};\n\n\tgetActionsHeader = () => {\n\t\tconst { fixedHeader } = this.props;\n\t\tconst getContent = (style) => (\n\t\t\t<div className=\"slds-th__action\" style={style}>\n\t\t\t\t<span className=\"slds-assistive-text\">\n\t\t\t\t\t{this.props.assistiveText.actionsHeader}\n\t\t\t\t</span>\n\t\t\t</div>\n\t\t);\n\t\tlet actionsHeader = null;\n\n\t\tif (this.props.showRowActions) {\n\t\t\tactionsHeader = (\n\t\t\t\t<th\n\t\t\t\t\tref={(ref) => {\n\t\t\t\t\t\tif (this.props.headerRefs) {\n\t\t\t\t\t\t\tthis.props.headerRefs(ref, 'action');\n\t\t\t\t\t\t}\n\t\t\t\t\t}}\n\t\t\t\t\tscope=\"col\"\n\t\t\t\t\tstyle={{\n\t\t\t\t\t\theight: fixedHeader ? 0 : null,\n\t\t\t\t\t\tlineHeight: fixedHeader ? 0 : null,\n\t\t\t\t\t\twidth: '3.25rem',\n\t\t\t\t\t}}\n\t\t\t\t>\n\t\t\t\t\t{getContent(\n\t\t\t\t\t\tfixedHeader\n\t\t\t\t\t\t\t? {\n\t\t\t\t\t\t\t\t\theight: 0,\n\t\t\t\t\t\t\t\t\toverflow: 'hidden',\n\t\t\t\t\t\t\t\t\tpaddingBottom: 0,\n\t\t\t\t\t\t\t\t\tpaddingTop: 0,\n\t\t\t\t\t\t\t\t\tvisibility: 'hidden',\n\t\t\t\t\t\t\t }\n\t\t\t\t\t\t\t: null\n\t\t\t\t\t)}\n\t\t\t\t\t{fixedHeader ? (\n\t\t\t\t\t\t<CellFixed>\n\t\t\t\t\t\t\t{getContent({\n\t\t\t\t\t\t\t\tlineHeight: 1,\n\t\t\t\t\t\t\t\twidth: '100%',\n\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t</CellFixed>\n\t\t\t\t\t) : null}\n\t\t\t\t</th>\n\t\t\t);\n\t\t}\n\n\t\treturn actionsHeader;\n\t};\n\n\tgetSelectHeader = () => {\n\t\tconst { canSelectRows, fixedHeader } = this.props;\n\t\tconst getContent = (idSuffix, style, ariaHidden) => {\n\t\t\tlet render = null;\n\n\t\t\tif (canSelectRows === 'radio') {\n\t\t\t\trender = (\n\t\t\t\t\t<div\n\t\t\t\t\t\tclassName=\"slds-truncate slds-assistive-text\"\n\t\t\t\t\t\tid={`${this.props.id}-column-group-header-row-select`}\n\t\t\t\t\t\ttitle={this.props.assistiveText.selectRowGroup}\n\t\t\t\t\t>\n\t\t\t\t\t\t{this.props.assistiveText.selectRowGroup}\n\t\t\t\t\t</div>\n\t\t\t\t);\n\t\t\t} else if (canSelectRows === true || canSelectRows === 'checkbox') {\n\t\t\t\trender = (\n\t\t\t\t\t<div\n\t\t\t\t\t\tclassName=\"slds-th__action slds-th__action_form\"\n\t\t\t\t\t\taria-hidden={ariaHidden && true}\n\t\t\t\t\t\tstyle={style}\n\t\t\t\t\t>\n\t\t\t\t\t\t{!ariaHidden ? (\n\t\t\t\t\t\t\t<span\n\t\t\t\t\t\t\t\tid={`${this.props.id}-column-group-header-row-select`}\n\t\t\t\t\t\t\t\tclassName=\"slds-assistive-text\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{this.props.assistiveText.selectAllRows}\n\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t) : null}\n\t\t\t\t\t\t<Checkbox\n\t\t\t\t\t\t\tassistiveText={{\n\t\t\t\t\t\t\t\tlabel: this.props.assistiveText.selectAllRows,\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\tchecked={this.props.allSelected}\n\t\t\t\t\t\t\tindeterminate={this.props.indeterminateSelected}\n\t\t\t\t\t\t\tid={`${this.props.id}-${idSuffix}`}\n\t\t\t\t\t\t\t// There is a checkbox for user interaction and a checkbox for positioning. ariaHidden is for the checkbox for positioning and it should be removed from the accessibility tree.\n\t\t\t\t\t\t\tname={!ariaHidden ? 'SelectAll' : undefined}\n\t\t\t\t\t\t\tonChange={this.props.onToggleAll}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</div>\n\t\t\t\t);\n\t\t\t}\n\n\t\t\treturn render;\n\t\t};\n\n\t\tlet selectHeader = null;\n\n\t\tif (canSelectRows) {\n\t\t\tselectHeader = (\n\t\t\t\t<th\n\t\t\t\t\tclassName=\"slds-text-align_right\"\n\t\t\t\t\tref={(ref) => {\n\t\t\t\t\t\tif (this.props.headerRefs) {\n\t\t\t\t\t\t\tthis.props.headerRefs(ref, 'select');\n\t\t\t\t\t\t}\n\t\t\t\t\t}}\n\t\t\t\t\tscope=\"col\"\n\t\t\t\t\tstyle={{\n\t\t\t\t\t\theight: fixedHeader ? 0 : null,\n\t\t\t\t\t\tlineHeight: fixedHeader ? 0 : null,\n\t\t\t\t\t\twidth: '3.25rem',\n\t\t\t\t\t}}\n\t\t\t\t>\n\t\t\t\t\t{getContent(\n\t\t\t\t\t\t'SelectAll-fixed-header',\n\t\t\t\t\t\tfixedHeader\n\t\t\t\t\t\t\t? {\n\t\t\t\t\t\t\t\t\tdisplay: 'flex',\n\t\t\t\t\t\t\t\t\theight: 0,\n\t\t\t\t\t\t\t\t\toverflow: 'hidden',\n\t\t\t\t\t\t\t\t\tpaddingBottom: 0,\n\t\t\t\t\t\t\t\t\tpaddingTop: 0,\n\t\t\t\t\t\t\t\t\tvisibility: 'hidden',\n\t\t\t\t\t\t\t }\n\t\t\t\t\t\t\t: null,\n\t\t\t\t\t\tfixedHeader && 'ariaHidden'\n\t\t\t\t\t)}\n\t\t\t\t\t{fixedHeader ? (\n\t\t\t\t\t\t<CellFixed>\n\t\t\t\t\t\t\t{getContent('SelectAll', {\n\t\t\t\t\t\t\t\tdisplay: 'flex',\n\t\t\t\t\t\t\t\tjustifyContent: 'flex-end',\n\t\t\t\t\t\t\t\tlineHeight: 1,\n\t\t\t\t\t\t\t\twidth: '100%',\n\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t</CellFixed>\n\t\t\t\t\t) : null}\n\t\t\t\t</th>\n\t\t\t);\n\t\t}\n\n\t\treturn selectHeader;\n\t};\n\n\t// ### Render\n\trender() {\n\t\tconst actionsHeader = this.getActionsHeader();\n\t\tconst selectHeader = this.getSelectHeader();\n\n\t\treturn (\n\t\t\t<thead>\n\t\t\t\t<tr className=\"slds-line-height_reset\">\n\t\t\t\t\t{selectHeader}\n\t\t\t\t\t{this.props.columns.map((column, index) => (\n\t\t\t\t\t\t<HeaderCell\n\t\t\t\t\t\t\tassistiveText={this.props.assistiveText}\n\t\t\t\t\t\t\tcellRef={(ref) => {\n\t\t\t\t\t\t\t\tif (this.props.headerRefs) {\n\t\t\t\t\t\t\t\t\tthis.props.headerRefs(ref, index);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\tfixedHeader={this.props.fixedHeader}\n\t\t\t\t\t\t\tid={`${this.props.id}-${column.props.property}`}\n\t\t\t\t\t\t\tkey={`${this.props.id}-${column.props.property}`}\n\t\t\t\t\t\t\tonSort={this.props.onSort}\n\t\t\t\t\t\t\t{...column.props}\n\t\t\t\t\t\t/>\n\t\t\t\t\t))}\n\t\t\t\t\t{actionsHeader}\n\t\t\t\t</tr>\n\t\t\t</thead>\n\t\t);\n\t}\n}\n\nexport default DataTableHead;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// ### React\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\n// ### classNames\nimport classNames from 'classnames';\n\n// ### find\nimport find from 'lodash.find';\n\n// ## Children\nimport Checkbox from '../../checkbox';\nimport Radio from '../../radio';\n\n// ## Constants\nimport {\n\tDATA_TABLE_ROW,\n\tDATA_TABLE_ROW_ACTIONS,\n\tDATA_TABLE_CELL,\n} from '../../../utilities/constants';\n\n/**\n * Used internally, provides row rendering to the DataTable.\n */\nclass DataTableRow extends React.Component {\n\t// ### Display Name\n\t// Always use the canonical component name as the React display name.\n\tstatic displayName = DATA_TABLE_ROW;\n\n\t// ### Prop Types\n\tstatic propTypes = {\n\t\tassistiveText: PropTypes.shape({\n\t\t\tactionsHeader: PropTypes.string,\n\t\t\tcolumnSort: PropTypes.string,\n\t\t\tcolumnSortedAscending: PropTypes.string,\n\t\t\tcolumnSortedDescending: PropTypes.string,\n\t\t\tselectAllRows: PropTypes.string,\n\t\t\tselectRow: PropTypes.string,\n\t\t}),\n\t\tcanSelectRows: PropTypes.oneOfType([\n\t\t\tPropTypes.bool,\n\t\t\tPropTypes.oneOf(['checkbox', 'radio']),\n\t\t]),\n\t\tclassName: PropTypes.string,\n\t\tcolumns: PropTypes.arrayOf(\n\t\t\tPropTypes.shape({\n\t\t\t\tCell: PropTypes.func,\n\t\t\t\tprops: PropTypes.object,\n\t\t\t})\n\t\t),\n\t\t/**\n\t\t * Use this if you are creating an advanced table (selectable, sortable, or resizable rows)\n\t\t */\n\t\tfixedLayout: PropTypes.bool,\n\t\tid: PropTypes.string.isRequired,\n\t\titem: PropTypes.object.isRequired,\n\t\tonToggle: PropTypes.func,\n\t\trowActions: PropTypes.element,\n\t\tselection: PropTypes.array,\n\t\ttableId: PropTypes.string,\n\t};\n\n\tisSelected = () => !!find(this.props.selection, this.props.item);\n\n\thandleToggle = (e, { checked }) =>\n\t\tthis.props.onToggle(this.props.item, checked, e);\n\n\t// ### Render\n\trender() {\n\t\tconst ariaProps = {};\n\t\tconst isSelected = this.isSelected();\n\n\t\tif (this.props.canSelectRows) {\n\t\t\tariaProps['aria-selected'] = isSelected ? 'true' : 'false';\n\t\t}\n\n\t\t// i18n\n\t\treturn (\n\t\t\t<tr\n\t\t\t\t{...ariaProps}\n\t\t\t\tclassName={classNames(this.props.className, {\n\t\t\t\t\t'slds-hint-parent': this.props.rowActions,\n\t\t\t\t\t'slds-is-selected': this.props.canSelectRows && isSelected,\n\t\t\t\t})}\n\t\t\t>\n\t\t\t\t{this.props.canSelectRows ? (\n\t\t\t\t\t<td\n\t\t\t\t\t\trole={this.props.fixedLayout ? 'gridcell' : null}\n\t\t\t\t\t\tclassName=\"slds-text-align_right\"\n\t\t\t\t\t\tdata-label={this.props.stacked ? 'Select Row' : undefined}\n\t\t\t\t\t\tstyle={{ width: '3.25rem' }}\n\t\t\t\t\t>\n\t\t\t\t\t\t{this.props.canSelectRows === 'radio' ? (\n\t\t\t\t\t\t\t<Radio\n\t\t\t\t\t\t\t\tassistiveText={{\n\t\t\t\t\t\t\t\t\tlabel: `${this.props.assistiveText.selectRow} ${\n\t\t\t\t\t\t\t\t\t\tNumber(this.props.index) + 1\n\t\t\t\t\t\t\t\t\t}`,\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\taria-labelledby={`${this.props.id}-SelectRow-label ${this.props.tableId}-SLDSDataTableHead-column-group-header-row-select`}\n\t\t\t\t\t\t\t\tchecked={isSelected}\n\t\t\t\t\t\t\t\tclassName=\"slds-m-right_x-small\"\n\t\t\t\t\t\t\t\tid={`${this.props.id}-SelectRow`}\n\t\t\t\t\t\t\t\tlabelId={`${this.props.id}-SelectRow-label`}\n\t\t\t\t\t\t\t\tname={`${this.props.tableId}-SelectRow`}\n\t\t\t\t\t\t\t\tonChange={this.handleToggle}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t<Checkbox\n\t\t\t\t\t\t\t\tassistiveText={{\n\t\t\t\t\t\t\t\t\tlabel: `${this.props.assistiveText.selectRow} ${\n\t\t\t\t\t\t\t\t\t\tNumber(this.props.index) + 1\n\t\t\t\t\t\t\t\t\t}`,\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\taria-labelledby={`${this.props.id}-SelectRow-label ${this.props.tableId}-SLDSDataTableHead-column-group-header-row-select`}\n\t\t\t\t\t\t\t\tchecked={isSelected}\n\t\t\t\t\t\t\t\tid={`${this.props.id}-SelectRow`}\n\t\t\t\t\t\t\t\tlabelId={`${this.props.id}-SelectRow-label`}\n\t\t\t\t\t\t\t\tname={`SelectRow${this.props.index + 1}`}\n\t\t\t\t\t\t\t\tonChange={this.handleToggle}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t)}\n\t\t\t\t\t</td>\n\t\t\t\t) : null}\n\t\t\t\t{this.props.columns.map((column) => {\n\t\t\t\t\tconst { Cell } = column;\n\t\t\t\t\tconst cellId = `${this.props.id}-${DATA_TABLE_CELL}-${column.props.property}`;\n\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<Cell\n\t\t\t\t\t\t\t{...column.props}\n\t\t\t\t\t\t\tclassName={column.props.truncate ? 'slds-truncate' : null}\n\t\t\t\t\t\t\tfixedLayout={this.props.fixedLayout}\n\t\t\t\t\t\t\trowHeader={column.props.primaryColumn}\n\t\t\t\t\t\t\tid={cellId}\n\t\t\t\t\t\t\titem={this.props.item}\n\t\t\t\t\t\t\tkey={cellId}\n\t\t\t\t\t\t\twidth={column.props.width}\n\t\t\t\t\t\t\theaderId={this.props.item.headerId}\n\t\t\t\t\t\t\tcolumns={this.props.columns}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{this.props.item[column.props.property]}\n\t\t\t\t\t\t</Cell>\n\t\t\t\t\t);\n\t\t\t\t})}\n\t\t\t\t{this.props.rowActions\n\t\t\t\t\t? React.cloneElement(this.props.rowActions, {\n\t\t\t\t\t\t\tid: `${this.props.id}-${DATA_TABLE_ROW_ACTIONS}`,\n\t\t\t\t\t\t\titem: this.props.item,\n\t\t\t\t\t })\n\t\t\t\t\t: null}\n\t\t\t</tr>\n\t\t);\n\t}\n}\n\nexport default DataTableRow;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n/* eslint-disable jsx-a11y/no-noninteractive-element-interactions */\n\n// ### React\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\n// ### isFunction\nimport isFunction from 'lodash.isfunction';\n\n// ## Children\nimport Dropdown from '../menu-dropdown';\n\n// ### Event Helpers\nimport EventUtil from '../../utilities/event';\n\n// ## Constants\nimport { DATA_TABLE_ROW_ACTIONS } from '../../utilities/constants';\n\n/**\n * RowActions provide a mechanism for defining a menu to display alongside each row in the DataTable.\n */\nclass DataTableRowActions extends React.Component {\n\t// ### Display Name\n\t// Always use the canonical component name as the React display name.\n\tstatic displayName = DATA_TABLE_ROW_ACTIONS;\n\n\t// ### Prop Types\n\tstatic propTypes = {\n\t\t/**\n\t\t * Description of the menu for screenreaders.\n\t\t */\n\t\tassistiveText: PropTypes.object,\n\t\t/**\n\t\t * Class names to be added to the actions menu.\n\t\t */\n\t\tclassName: PropTypes.string,\n\t\t/**\n\t\t * HTML ID to be added to the actions menu.\n\t\t */\n\t\tid: PropTypes.string,\n\t\t/**\n\t\t * `DataTable` row item\n\t\t */\n\t\titem: PropTypes.object,\n\t\t/**\n\t\t * Disable hint styling which changes the color of the dropdown svg on hover over.\n\t\t */\n\t\tnoHint: PropTypes.bool,\n\t\t/**\n\t\t * Triggered when an item is selected.\n\t\t */\n\t\tonAction: PropTypes.func,\n\t\t/**\n\t\t * `Dropdown` options. See `Dropdown`.\n\t\t */\n\t\toptions: PropTypes.array,\n\t\t/**\n\t\t * A [Dropdown](http://react.lightningdesignsystem.com/components/dropdown-menus/) component. The props from this drop will be merged and override any default props.\n\t\t * **Note:** onAction will not be overridden, both `DropDown`'s onSelect(dropDownActionOption) and onAction(rowItem, dropdownActionOption) will be called with appropriate parameters\n\t\t */\n\t\tdropdown: PropTypes.node,\n\t};\n\n\tstatic defaultProps = {\n\t\tassistiveText: { icon: 'Actions' },\n\t\tnoHint: false,\n\t\toptions: [],\n\t};\n\n\thandleClick = (e) => {\n\t\tEventUtil.trap(e);\n\t};\n\n\thandleSelect = (selection) => {\n\t\tif (isFunction(this.props.onAction)) {\n\t\t\tthis.props.onAction(this.props.item, selection);\n\t\t}\n\t\tif (this.props.dropdown && isFunction(this.props.dropdown.props.onSelect)) {\n\t\t\tthis.props.dropdown.props.onSelect(selection);\n\t\t}\n\t};\n\n\t// ### Render\n\trender() {\n\t\t// i18n\n\t\tconst defaultDropdownProps = {\n\t\t\talign: 'right',\n\t\t\tbuttonClassName: 'slds-button_icon-x-small',\n\t\t\tbuttonVariant: 'icon',\n\t\t\ticonCategory: 'utility',\n\t\t\ticonName: 'down',\n\t\t\ticonSize: 'small',\n\t\t\ticonVariant: 'border-filled',\n\t\t\tassistiveText: this.props.assistiveText,\n\t\t\tclassName: this.props.className,\n\t\t\toptions: this.props.options,\n\t\t\thint: !this.props.noHint,\n\t\t\tid: this.props.id,\n\t\t};\n\n\t\tconst props = this.props.dropdown ? this.props.dropdown.props : {};\n\t\tconst dropdownProps = {\n\t\t\t...defaultDropdownProps,\n\t\t\t...props,\n\t\t\tonSelect: this.handleSelect,\n\t\t};\n\n\t\treturn (\n\t\t\t/* eslint-disable jsx-a11y/no-static-element-interactions */\n\t\t\t<td\n\t\t\t\tclassName=\"\"\n\t\t\t\tdata-label=\"Actions\"\n\t\t\t\tonClick={this.handleClick}\n\t\t\t\tstyle={{ width: '3.25rem' }}\n\t\t\t>\n\t\t\t\t{/* eslint-enable jsx-a11y/no-static-element-interactions */}\n\t\t\t\t<Dropdown {...dropdownProps} />\n\t\t\t</td>\n\t\t);\n\t}\n}\n\nexport default DataTableRowActions;\n","/* eslint-disable max-lines */\n/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// # Data Table Component\n\n// Implements the [Data Table design pattern](https://www.lightningdesignsystem.com/components/data-tables) in React.\n\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\n// ### shortid\n// [npmjs.com/package/shortid](https://www.npmjs.com/package/shortid)\n// shortid is a short, non-sequential, url-friendly, unique id generator\nimport shortid from 'shortid';\n\nimport classNames from 'classnames';\nimport assign from 'lodash.assign';\nimport reject from 'lodash.reject';\n\n// This component's `checkProps` which issues warnings to developers about properties when in development mode (similar to React's built in development tools)\nimport checkProps from './check-props';\nimport componentDoc from './component.json';\n\nimport {\n\tcanUseDOM,\n\tcanUseEventListeners,\n} from '../../utilities/execution-environment';\nimport { colorGray5 } from '../../utilities/design-tokens/dist/palette-colors.common';\nimport { tableBorderRadius } from '../../utilities/design-tokens/dist/salesforce-skin.common';\n\n// ## Children\nimport DataTableCell from './cell';\nimport DataTableColumn from './column';\nimport DataTableHead from './private/head';\nimport DataTableRow from './private/row';\nimport DataTableRowActions from './row-actions';\nimport Spinner from '../spinner';\n\nimport {\n\tDATA_TABLE,\n\tDATA_TABLE_CELL,\n\tDATA_TABLE_HEAD,\n\tDATA_TABLE_ROW,\n} from '../../utilities/constants';\n\n// Safely get the length of an array, returning 0 for invalid input.\nconst count = (array) => (Array.isArray(array) ? array.length : 0);\n\nconst defaultProps = {\n\tassistiveText: {\n\t\tactionsHeader: 'Actions',\n\t\tcolumnSort: 'Sort by: ',\n\t\tcolumnSortedAscending: 'Sorted Ascending',\n\t\tcolumnSortedDescending: 'Sorted Descending',\n\t\tselectAllRows: 'Select all rows',\n\t\tselectRow: 'Select row',\n\t\tselectRowGroup: 'Choose a row to select',\n\t\tloadingMore: 'Loading more',\n\t},\n\tselection: [],\n\thasMore: false,\n\tloadMoreOffset: 20,\n};\n\n/**\n * DataTables support the display of structured data in rows and columns with an HTML table. To sort, filter or paginate the table, simply update the data passed in the items to the table and it will re-render itself appropriately. The table will throw a sort event as needed, and helper components for paging and filtering are coming soon.\n *\n * NOTE: for horizontal scrolling with `fixedHeader`-enabled DataTables, see the `style` property description\n */\nclass DataTable extends React.Component {\n\t// ### Display Name\n\t// Always use the canonical component name as the React display name.\n\tstatic displayName = DATA_TABLE;\n\n\t// ### Prop Types\n\tstatic propTypes = {\n\t\t/**\n\t\t * **Assistive text for accessibility.**\n\t\t * This object is merged with the default props object on every render.\n\t\t * * `actionsHeader`: Text for heading of actions column\n\t\t * * `columnSort`: Text for sort action on table column header\n\t\t * * `columnSortedAscending`: Text announced once a column is sorted in ascending order\n\t\t * * `columnSortedDescending`: Text announced once a column is sorted in descending order\n\t\t * * `selectAllRows`: Text for select all checkbox within the table header\n\t\t * * `selectRow`: Text for select row. Default: \"Select row 1\"\n\t\t * * `selectRowGroup`: This is an input group label and is attached to each checkbox or radio. Default is \"Choose a row to select\"\n\t\t */\n\t\tassistiveText: PropTypes.shape({\n\t\t\tactionsHeader: PropTypes.string,\n\t\t\tcolumnSort: PropTypes.string,\n\t\t\tcolumnSortedAscending: PropTypes.string,\n\t\t\tcolumnSortedDescending: PropTypes.string,\n\t\t\tselectAllRows: PropTypes.string,\n\t\t\tselectRow: PropTypes.string,\n\t\t\tselectRowGroup: PropTypes.string,\n\t\t\tloadingMore: PropTypes.string,\n\t\t}),\n\t\t/**\n\t\t * Provide children of the type `<DataTableColumn />` to define the structure of the data being represented and children of the type `<DataTableRowActions />` to define a menu which will be rendered for each item in the grid. Use a _higher-order component_ to customize a data table cell that will override the default cell rendering. `CustomDataTableCell` must have the same `displayName` as `DataTableCell` or it will be ignored. If you want complete control of the HTML, including the wrapping `td`, you don't have to use `DataTableCell`.\n\t\t * ```\n\t\t * import DataTableCell from 'design-system-react/data-table/cell';\n\t\t * const CustomDataTableCell = ({ children, ...props }) => (\n\t\t * <DataTableCell {...props} >\n\t\t * <a href=\"javascript:void(0);\">{children}</a>\n\t\t * </DataTableCell>\n\t\t * );\n\t\t * CustomDataTableCell.displayName = DataTableCell.displayName;\n\t\t *\n\t\t * <DataTable>\n\t\t * <DataTableColumn />\n\t\t * <DataTableColumn>\n\t\t * <DataTableCustomCell />\n\t\t * </DataTableColumn>\n\t\t * <DataTableRowActions />\n\t\t * </DataTable>\n\t\t * ```\n\t\t */\n\t\tchildren: PropTypes.node,\n\t\t/**\n\t\t * Class names to be added to the table.\n\t\t */\n\t\tclassName: PropTypes.oneOfType([\n\t\t\tPropTypes.array,\n\t\t\tPropTypes.object,\n\t\t\tPropTypes.string,\n\t\t]),\n\t\t/**\n\t\t * A variant which adds border to the vertical columns.\n\t\t */\n\t\tcolumnBordered: PropTypes.bool,\n\t\t/**\n\t\t * Use this to enable fixed headers and scrolling columns / rows. Appearance / behavior is consistent only if used in combination with `fixedLayout`. Since scrolling is enabled, columns are not truncated unless a width is set. Due to `overflow:hidden` elements, any dialog components will need a separate render tree (portal) such as with `menuPosition: overflowBoundaryElement` in order to break out of the container.\n\t\t */\n\t\tfixedHeader: PropTypes.bool,\n\t\t/**\n\t\t * Use this if you are creating an advanced table (selectable, sortable, or resizable rows). Columns widths will be truncate based on width and DOM ancestors. See `fixedHeader` to enable horizontal and vertical scrolling.\n\t\t */\n\t\tfixedLayout: PropTypes.bool,\n\t\t/**\n\t\t * When fixedHeader is true, specifies whether there's more data to be loaded and displays a spinner at the bottom of the table if so.\n\t\t */\n\t\thasMore: PropTypes.bool,\n\t\t/**\n\t\t * A render prop for subheadings to describe what the next section of the table is about. This is often a heirarchical data structure and semantic heading levels should be used, but not visually differ. This is not a `role=rowheader` which provides a heading for a row. Basic sorting of columns is not recommended, since this pattern assumes top level groupings. Headings should be visually aligned with selection column when selection pattern is present, so not to be grouped with the previous row.\n * ```\n * const CustomHeaderRow = ({ columns, item } ) => (\n *\t<tr>\n * <th id={item.id} colSpan={columns.length+1} scope=\"colgroup\">\n * <p role=\"heading\" aria-level={item.ariaLevel}>\n * {item.heading}\n * </p>\n * </th>\n * </tr>);\n *CustomHeaderRow.displayName = DataTableCell.displayName;\n * \n * <DataTable items=[{\n type: 'header-row',\n id: 'header-row-example-id-3',\n heading: 'Argentina > Autonomous City of Buenos Aires > Belgrano',\n ariaLevel: 3,\n * }],\n * />\n * ```\n\t\t */\n\t\tonRenderSubHeadingRow: PropTypes.func,\n\t\t/**\n\t\t * A unique ID is needed in order to support keyboard navigation and ARIA support.\n\t\t */\n\t\tid: PropTypes.string,\n\t\t/**\n\t\t * The collection of items to render in the table. This is an array of objects with each object having keys that correspond with the `property` prop of each `DataTableColumn`.\n\t\t *\n\t\t * Use the key `classNameRow` to add a custom class to the item's `<tr>` element.\n\t\t */\n\t\titems: PropTypes.arrayOf(\n\t\t\tPropTypes.shape({\n\t\t\t\tid: PropTypes.string.isRequired,\n\t\t\t\tclassNameRow: PropTypes.string,\n\t\t\t})\n\t\t).isRequired,\n\t\t/**\n\t\t * Makes DataTable joinable with PageHeader by adding appropriate classes/styling\n\t\t */\n\t\tjoined: PropTypes.bool,\n\t\t/**\n\t\t * Determines when to trigger infinite loading based on how many pixels the table's scroll position is from the bottom of the table.\n\t\t */\n\t\tloadMoreOffset: PropTypes.number,\n\t\t/**\n\t\t * A variant which removes hover style on rows\n\t\t */\n\t\tnoRowHover: PropTypes.bool,\n\t\t/**\n\t\t * By default this function resizes the display headers when fixedHeader is `true`, but this behavior can be overridden. Passes an event and a data object with properties `headerRefs`, an array of DOM nodes referencing the `thead th` elements and `scrollerRef`, a DOM node referencing `.slds-table_header-fixed_scroller`\n\t\t */\n\t\tonFixedHeaderResize: PropTypes.func,\n\t\t/**\n\t\t * This function fires when infinite loading loads more data.\n\t\t *\n\t\t * This will be called multiple times while the table is being scrolled within the `loadMoreOffset`. Please track whether or not loading is in progress and check it at the start of this function to avoid executing your callback too many times.\n\t\t */\n\t\tonLoadMore: PropTypes.func,\n\t\t/**\n\t\t * This function fires when the selection of rows changes. This component passes in `event, { selection }` to the function. `selection` is an array of objects from the `items` prop.\n\t\t *\n\t\t * This used to be `onChange` which is deprecated now, so that the parameters can be consistent with other components. `onChange` passed in the selection first and the event wtihout a data object.\n\t\t */\n\t\tonRowChange: PropTypes.func,\n\t\t/**\n\t\t * This function fires when the table should be sorted.\n\t\t */\n\t\tonSort: PropTypes.func,\n\t\t/**\n\t\t * By default this function attaches/detaches listeners for window resize and tbody scrolling when fixedHeader is `true`, but this behavior can be overridden. Passes an event and a data object with an `attach` boolean property to determine whether listeners should be attached, a `resizeHandler` function property that can be called as-needed, and a `scrollerRef` DOM node property that serves as a reference to `.slds-table_header-fixed_scroller`\n\t\t */\n\t\tonToggleFixedHeaderListeners: PropTypes.func,\n\t\t/**\n\t\t * An array of objects of selected rows. See `items` prop for shape of objects.\n\t\t */\n\t\tselection: PropTypes.array,\n\t\t/**\n\t\t * Specifies a row selection UX pattern.\n\t\t * * `checkbox`: Multiple row selection.\n\t\t * * `radio`: _Required_ single row selection.\n\t\t * _This prop used to be a `boolean`, a `true` value will be considered `checkbox` for backwards compatibility._\n\t\t */\n\t\tselectRows: PropTypes.oneOfType([\n\t\t\tPropTypes.bool,\n\t\t\tPropTypes.oneOf(['checkbox', 'radio']),\n\t\t]),\n\t\t/**\n\t\t * A variant which modifies table layout by stacking cells to accommodate smaller viewports. Should not be used at the same time as `stackedHorizontal`.\n\t\t */\n\t\tstacked: PropTypes.bool,\n\t\t/**\n\t\t * A variant which modifies table layout by displaying the header and row data side by side for smaller viewports. Should not be used at the same time as `stacked`.\n\t\t */\n\t\tstackedHorizontal: PropTypes.bool,\n\t\t/**\n\t\t * A variant which adds stripes to alternating rows.\n\t\t */\n\t\tstriped: PropTypes.bool,\n\t\t/**\n\t\t * Custom styles to be passed to the table.\n\t\t * NOTE: for horizontal scrolling in `fixedHeader`-enabled DataTables, apply a `minWidth` style here. If the containing element width is less than the `minWidth` value, horizontal scrolling will occur\n\t\t */\n\t\tstyle: PropTypes.object,\n\t\t/**\n\t\t * Tables have horizontal borders by default. This removes them.\n\t\t */\n\t\tunborderedRow: PropTypes.bool,\n\t\t/**\n\t\t * A variant which removes horizontal padding. CSS class will be removed if `fixedLayout==true`.\n\t\t */\n\t\tunbufferedCell: PropTypes.bool,\n\t};\n\n\tstatic defaultProps = defaultProps;\n\n\tconstructor(props) {\n\t\tsuper(props);\n\t\tthis.generatedId = shortid.generate();\n\t\tthis.headerRefs = {\n\t\t\taction: [],\n\t\t\tcolumn: [],\n\t\t\tselect: [],\n\t\t};\n\t\tthis.scrollerRef = null;\n\n\t\t// `checkProps` issues warnings to developers about properties (similar to React's built in development tools)\n\t\tcheckProps(DATA_TABLE, props, componentDoc);\n\t}\n\n\tcomponentDidMount() {\n\t\tif (this.props.fixedHeader) {\n\t\t\tthis.toggleFixedHeaderListeners(true);\n\t\t\tthis.resizeFixedHeaders();\n\t\t}\n\t}\n\n\tcomponentDidUpdate() {\n\t\tif (this.props.fixedHeader) {\n\t\t\tthis.resizeFixedHeaders();\n\t\t}\n\t}\n\n\tcomponentWillUnmount() {\n\t\tthis.toggleFixedHeaderListeners(false);\n\t}\n\n\tgetId() {\n\t\treturn this.props.id || this.generatedId;\n\t}\n\n\thandleToggleAll = (e, { checked }) => {\n\t\t// REMOVE AT NEXT BREAKING CHANGE\n\t\t// `onChange` is deprecated and replaced with `onRowChange`\n\t\tif (typeof this.props.onChange === 'function') {\n\t\t\tconst selection = (checked ? [...this.props.items] : []).filter(\n\t\t\t\t(item) => item.type !== 'header-row'\n\t\t\t);\n\t\t\tthis.props.onChange(selection, e);\n\t\t}\n\n\t\tif (typeof this.props.onRowChange === 'function') {\n\t\t\tconst selection = (checked ? [...this.props.items] : []).filter(\n\t\t\t\t(item) => item.type !== 'header-row'\n\t\t\t);\n\t\t\tthis.props.onRowChange(e, { selection });\n\t\t}\n\t};\n\n\thandleRowToggle = (item, selected, e) => {\n\t\t// REMOVE AT NEXT BREAKING CHANGE\n\t\t// `onChange` is deprecated and replaced with `onRowChange`\n\t\tif (typeof this.props.onChange === 'function') {\n\t\t\tlet selection;\n\n\t\t\tif (selected) {\n\t\t\t\tselection =\n\t\t\t\t\tthis.props.selectRows === 'radio'\n\t\t\t\t\t\t? [item]\n\t\t\t\t\t\t: [...this.props.selection, item];\n\t\t\t} else {\n\t\t\t\tselection = reject(this.props.selection, item);\n\t\t\t}\n\n\t\t\tthis.props.onChange(selection, e);\n\t\t}\n\t\t// DEPRECATED CODE ENDS HERE\n\n\t\tif (typeof this.props.onRowChange === 'function') {\n\t\t\tlet selection;\n\n\t\t\tif (selected) {\n\t\t\t\tselection =\n\t\t\t\t\tthis.props.selectRows === 'radio'\n\t\t\t\t\t\t? [item]\n\t\t\t\t\t\t: [...this.props.selection, item];\n\t\t\t} else {\n\t\t\t\tselection = reject(this.props.selection, item);\n\t\t\t}\n\n\t\t\tthis.props.onRowChange(e, { selection });\n\t\t}\n\t};\n\n\tresizeFixedHeaders = (event) => {\n\t\tconst headerRefs = [].concat(\n\t\t\tthis.headerRefs.select,\n\t\t\tthis.headerRefs.column,\n\t\t\tthis.headerRefs.action\n\t\t);\n\n\t\tif (this.props.onFixedHeaderResize) {\n\t\t\tthis.props.onFixedHeaderResize(event, {\n\t\t\t\theaderRefs,\n\t\t\t\tscrollerRef: this.scrollerRef,\n\t\t\t});\n\t\t} else if (headerRefs.length > 0) {\n\t\t\tlet documentScrollLeft = 0;\n\n\t\t\tif (canUseDOM) {\n\t\t\t\tdocumentScrollLeft = document.documentElement.scrollLeft;\n\t\t\t}\n\n\t\t\theaderRefs.forEach((column) => {\n\t\t\t\tif (column && canUseDOM) {\n\t\t\t\t\tconst columnLeft =\n\t\t\t\t\t\tcolumn.getBoundingClientRect().left + documentScrollLeft;\n\t\t\t\t\tlet wrapperLeft = 0;\n\n\t\t\t\t\tif (this.scrollerRef) {\n\t\t\t\t\t\twrapperLeft =\n\t\t\t\t\t\t\tthis.scrollerRef.getBoundingClientRect().left +\n\t\t\t\t\t\t\tdocumentScrollLeft;\n\t\t\t\t\t}\n\n\t\t\t\t\tconst cellFixed = column.querySelector('.slds-cell-fixed');\n\n\t\t\t\t\tif (cellFixed) {\n\t\t\t\t\t\tcellFixed.style.left = `${columnLeft - wrapperLeft}px`;\n\t\t\t\t\t\tcellFixed.style.width = `${column.offsetWidth}px`;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t};\n\n\tonScrollerScroll = () => {\n\t\tif (this.props.hasMore && this.props.onLoadMore) {\n\t\t\tconst { scrollTop, offsetHeight, scrollHeight } = this.scrollerRef;\n\t\t\tif (scrollTop + offsetHeight > scrollHeight - this.props.loadMoreOffset) {\n\t\t\t\tthis.props.onLoadMore();\n\t\t\t}\n\t\t}\n\t};\n\n\ttoggleFixedHeaderListeners = (attach) => {\n\t\tif (this.props.onToggleFixedHeaderListeners) {\n\t\t\tthis.props.onToggleFixedHeaderListeners(\n\t\t\t\t{},\n\t\t\t\t{\n\t\t\t\t\tattach,\n\t\t\t\t\tresizeHandler: this.resizeFixedHeaders,\n\t\t\t\t\tscrollerRef: this.scrollerRef,\n\t\t\t\t}\n\t\t\t);\n\t\t} else {\n\t\t\tconst action = [`${attach ? 'add' : 'remove'}EventListener`];\n\t\t\tif (canUseEventListeners) {\n\t\t\t\twindow[action]('resize', this.resizeFixedHeaders);\n\t\t\t\twindow[action]('resize', this.onScrollerScroll);\n\t\t\t}\n\t\t\tif (canUseEventListeners && this.scrollerRef) {\n\t\t\t\tthis.scrollerRef[action]('scroll', this.resizeFixedHeaders);\n\t\t\t\tthis.scrollerRef[action]('scroll', this.onScrollerScroll);\n\t\t\t}\n\t\t}\n\t};\n\n\t// ### Render\n\trender() {\n\t\tconst ariaProps = {};\n\t\tconst numRows = count(this.props.items);\n\t\tconst numSelected = count(this.props.selection);\n\t\tconst numNonHeaderRows = count(\n\t\t\tthis.props.items.filter((item) => item.type !== 'header-row')\n\t\t);\n\t\tconst canSelectRows =\n\t\t\tthis.props.selectRows && numNonHeaderRows > 0\n\t\t\t\t? this.props.selectRows\n\t\t\t\t: false;\n\t\tconst allSelected = canSelectRows && numNonHeaderRows === numSelected;\n\t\tconst indeterminateSelected =\n\t\t\tcanSelectRows && numNonHeaderRows !== numSelected && numSelected !== 0;\n\t\tconst columns = [];\n\t\tlet RowActions = null;\n\n\t\tReact.Children.forEach(this.props.children, (child) => {\n\t\t\tif (child && child.type.displayName === DataTableColumn.displayName) {\n\t\t\t\tconst { children, ...columnProps } = child.props;\n\n\t\t\t\tconst props = assign({}, this.props);\n\t\t\t\t// eslint-disable-next-line fp/no-delete\n\t\t\t\tdelete props.children;\n\t\t\t\tassign(props, columnProps);\n\n\t\t\t\tlet Cell;\n\t\t\t\tif (children && children.type.displayName === DATA_TABLE_CELL) {\n\t\t\t\t\tCell = children.type;\n\t\t\t\t\tassign(props, children.props);\n\t\t\t\t} else {\n\t\t\t\t\tCell = DataTableCell;\n\t\t\t\t}\n\n\t\t\t\t// eslint-disable-next-line fp/no-mutating-methods\n\t\t\t\tcolumns.push({\n\t\t\t\t\tCell,\n\t\t\t\t\tprops,\n\t\t\t\t\tdataTableProps: this.props,\n\t\t\t\t});\n\t\t\t} else if (\n\t\t\t\tchild &&\n\t\t\t\tchild.type.displayName === DataTableRowActions.displayName\n\t\t\t) {\n\t\t\t\tconst { dropdown } = child.props;\n\t\t\t\tconst dropdownPropOverrides = {};\n\t\t\t\tif (this.props.fixedHeader) {\n\t\t\t\t\tdropdownPropOverrides.menuPosition = 'overflowBoundaryElement';\n\t\t\t\t}\n\t\t\t\tRowActions = React.cloneElement(child, {\n\t\t\t\t\tdropdown: dropdown\n\t\t\t\t\t\t? React.cloneElement(dropdown, dropdownPropOverrides)\n\t\t\t\t\t\t: null,\n\t\t\t\t});\n\t\t\t}\n\t\t});\n\n\t\tconst assistiveText = {\n\t\t\t...defaultProps.assistiveText,\n\t\t\t...this.props.assistiveText,\n\t\t};\n\t\tif (this.props.assistiveTextForActionsHeader) {\n\t\t\tassistiveText.actionsHeader = this.props.assistiveTextForActionsHeader;\n\t\t}\n\t\tif (this.props.assistiveTextForSelectAllRows) {\n\t\t\tassistiveText.selectAllRows = this.props.assistiveTextForSelectAllRows;\n\t\t}\n\t\tif (this.props.assistiveTextForColumnSortedAscending) {\n\t\t\tassistiveText.columnSortedAscending = this.props.assistiveTextForColumnSortedAscending;\n\t\t}\n\t\tif (this.props.assistiveTextForColumnSortedDescending) {\n\t\t\tassistiveText.columnSortedDescending = this.props.assistiveTextForColumnSortedDescending;\n\t\t}\n\t\tif (this.props.assistiveTextForColumnSort) {\n\t\t\tassistiveText.columnSort = this.props.assistiveTextForColumnSort;\n\t\t}\n\t\tif (this.props.assistiveTextForSelectRow) {\n\t\t\tassistiveText.selectRow = this.props.assistiveTextForSelectRow;\n\t\t}\n\n\t\tif (this.props.selectRows && this.props.selectRows !== 'radio') {\n\t\t\tariaProps['aria-multiselectable'] = 'true';\n\t\t}\n\n\t\t// This guarantees there are never any old header references if props change\n\t\tthis.headerRefs = {\n\t\t\taction: RowActions ? this.headerRefs.action : [],\n\t\t\tcolumn: this.headerRefs.column.slice(0, columns.length),\n\t\t\tselect: canSelectRows ? this.headerRefs.select : [],\n\t\t};\n\n\t\tlet component = (\n\t\t\t<React.Fragment>\n\t\t\t\t<table\n\t\t\t\t\t{...ariaProps}\n\t\t\t\t\tclassName={classNames(\n\t\t\t\t\t\t'slds-table',\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t'slds-table_fixed-layout': this.props.fixedLayout,\n\t\t\t\t\t\t\t'slds-table_header-fixed': this.props.fixedHeader,\n\t\t\t\t\t\t\t'slds-table_resizable-cols': this.props.fixedLayout,\n\t\t\t\t\t\t\t'slds-table_bordered': !this.props.unborderedRow,\n\t\t\t\t\t\t\t'slds-table_cell-buffer':\n\t\t\t\t\t\t\t\t!this.props.fixedLayout && !this.props.unbufferedCell,\n\t\t\t\t\t\t\t'slds-max-medium-table_stacked': this.props.stacked,\n\t\t\t\t\t\t\t'slds-max-medium-table_stacked-horizontal': this.props\n\t\t\t\t\t\t\t\t.stackedHorizontal,\n\t\t\t\t\t\t\t'slds-table_striped': this.props.striped,\n\t\t\t\t\t\t\t'slds-table_col-bordered': this.props.columnBordered,\n\t\t\t\t\t\t\t'slds-no-row-hover': this.props.noRowHover,\n\t\t\t\t\t\t},\n\t\t\t\t\t\tthis.props.className\n\t\t\t\t\t)}\n\t\t\t\t\tid={this.getId()}\n\t\t\t\t\trole={this.props.fixedLayout ? 'grid' : null}\n\t\t\t\t\tstyle={this.props.style}\n\t\t\t\t>\n\t\t\t\t\t<DataTableHead\n\t\t\t\t\t\tassistiveText={assistiveText}\n\t\t\t\t\t\tallSelected={allSelected}\n\t\t\t\t\t\tfixedHeader={this.props.fixedHeader}\n\t\t\t\t\t\theaderRefs={(ref, index) => {\n\t\t\t\t\t\t\tif (index === 'action' || index === 'select') {\n\t\t\t\t\t\t\t\tif (ref) {\n\t\t\t\t\t\t\t\t\tthis.headerRefs[index][0] = ref;\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\tthis.headerRefs[index] = [];\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tthis.headerRefs.column[index] = ref;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}}\n\t\t\t\t\t\tindeterminateSelected={indeterminateSelected}\n\t\t\t\t\t\tcanSelectRows={canSelectRows}\n\t\t\t\t\t\tcolumns={columns}\n\t\t\t\t\t\tid={`${this.getId()}-${DATA_TABLE_HEAD}`}\n\t\t\t\t\t\tonToggleAll={this.handleToggleAll}\n\t\t\t\t\t\tonSort={this.props.onSort}\n\t\t\t\t\t\tshowRowActions={!!RowActions}\n\t\t\t\t\t/>\n\t\t\t\t\t<tbody>\n\t\t\t\t\t\t{numRows > 0\n\t\t\t\t\t\t\t? this.props.items.map((item, index) => {\n\t\t\t\t\t\t\t\t\tconst rowId =\n\t\t\t\t\t\t\t\t\t\tthis.getId() && item.id\n\t\t\t\t\t\t\t\t\t\t\t? `${this.getId()}-${DATA_TABLE_ROW}-${item.id}`\n\t\t\t\t\t\t\t\t\t\t\t: shortid.generate();\n\t\t\t\t\t\t\t\t\treturn this.props.onRenderSubHeadingRow &&\n\t\t\t\t\t\t\t\t\t\titem.type === 'header-row' ? (\n\t\t\t\t\t\t\t\t\t\tthis.props.onRenderSubHeadingRow({\n\t\t\t\t\t\t\t\t\t\t\tassistiveText,\n\t\t\t\t\t\t\t\t\t\t\tclassNameRow: item.classNameRow,\n\t\t\t\t\t\t\t\t\t\t\tcolumns,\n\t\t\t\t\t\t\t\t\t\t\tkey: rowId,\n\t\t\t\t\t\t\t\t\t\t\tid: rowId,\n\t\t\t\t\t\t\t\t\t\t\ttableId: this.getId(),\n\t\t\t\t\t\t\t\t\t\t\titem,\n\t\t\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t\t<DataTableRow\n\t\t\t\t\t\t\t\t\t\t\tassistiveText={assistiveText}\n\t\t\t\t\t\t\t\t\t\t\tcanSelectRows={canSelectRows}\n\t\t\t\t\t\t\t\t\t\t\tclassName={item.classNameRow}\n\t\t\t\t\t\t\t\t\t\t\tcolumns={columns}\n\t\t\t\t\t\t\t\t\t\t\tfixedLayout={this.props.fixedLayout}\n\t\t\t\t\t\t\t\t\t\t\tid={rowId}\n\t\t\t\t\t\t\t\t\t\t\tindex={index}\n\t\t\t\t\t\t\t\t\t\t\titem={item}\n\t\t\t\t\t\t\t\t\t\t\tkey={rowId}\n\t\t\t\t\t\t\t\t\t\t\tonToggle={this.handleRowToggle}\n\t\t\t\t\t\t\t\t\t\t\tselection={this.props.selection}\n\t\t\t\t\t\t\t\t\t\t\trowActions={RowActions}\n\t\t\t\t\t\t\t\t\t\t\ttableId={this.getId()}\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t })\n\t\t\t\t\t\t\t: // Someday this should be an element to render when the table is empty\n\t\t\t\t\t\t\t null}\n\t\t\t\t\t</tbody>\n\t\t\t\t</table>\n\t\t\t\t{this.props.fixedHeader && this.props.hasMore && (\n\t\t\t\t\t<div className=\"slds-is-relative slds-p-around_large\">\n\t\t\t\t\t\t<Spinner\n\t\t\t\t\t\t\tassistiveText={{ label: this.props.assistiveText.loadingMore }}\n\t\t\t\t\t\t\thasContainer={false}\n\t\t\t\t\t\t\tsize=\"small\"\n\t\t\t\t\t\t\tvariant=\"brand\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t</div>\n\t\t\t\t)}\n\t\t\t</React.Fragment>\n\t\t);\n\n\t\tif (this.props.fixedHeader) {\n\t\t\tconst border = `1px solid ${colorGray5}`;\n\t\t\tconst styles = {\n\t\t\t\tborderTop: border,\n\t\t\t\theight: '100%',\n\t\t\t};\n\n\t\t\tif (this.props.joined) {\n\t\t\t\tstyles.borderBottom = border;\n\t\t\t\tstyles.borderLeft = border;\n\t\t\t\tstyles.borderRight = border;\n\t\t\t\tstyles.borderTop = 'none';\n\t\t\t\tstyles.borderRadius = tableBorderRadius;\n\t\t\t}\n\n\t\t\tcomponent = (\n\t\t\t\t<div\n\t\t\t\t\tclassName=\"slds-table_header-fixed_container\"\n\t\t\t\t\tstyle={styles}\n\t\t\t\t\tonScroll={(e) => {\n\t\t\t\t\t\tconst containerScrollLeft = e.target.scrollLeft;\n\n\t\t\t\t\t\tif (containerScrollLeft > 0) {\n\t\t\t\t\t\t\te.target.scrollLeft = 0;\n\t\t\t\t\t\t\tif (this.scrollerRef) {\n\t\t\t\t\t\t\t\tthis.scrollerRef.scrollLeft = containerScrollLeft;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}}\n\t\t\t\t>\n\t\t\t\t\t<div\n\t\t\t\t\t\tclassName=\"slds-table_header-fixed_scroller\"\n\t\t\t\t\t\tref={(ref) => {\n\t\t\t\t\t\t\tthis.scrollerRef = ref;\n\t\t\t\t\t\t}}\n\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\theight: '100%',\n\t\t\t\t\t\t\toverflow: 'auto',\n\t\t\t\t\t\t}}\n\t\t\t\t\t>\n\t\t\t\t\t\t{component}\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t);\n\t\t}\n\n\t\treturn component;\n\t}\n}\n\nexport default DataTable;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// ### React\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\n// ## Children\nimport DataTableCell from './cell';\nimport Highlighter from '../utilities/highlighter';\n\n// ## Constants\nimport { DATA_TABLE_CELL } from '../../utilities/constants';\n\n/**\n * A Cell renderer for the DataTable that automatically highlights search text.\n */\nconst DataTableHighlightCell = (props) => (\n\t<DataTableCell {...props}>\n\t\t<Highlighter search={props.search}>{props.children}</Highlighter>\n\t</DataTableCell>\n);\n\n// ### Display Name\n// The DataTable looks for components with this name to determine what it should use to render a given column's cells.\nDataTableHighlightCell.displayName = DATA_TABLE_CELL;\n\n// ### Prop Types\nDataTableHighlightCell.propTypes = {\n\t/**\n\t * The contents of the cell. Equivalent to `props.item[props.property]`\n\t */\n\tchildren: PropTypes.oneOfType([PropTypes.node, PropTypes.string]),\n\t/**\n\t * The string of text (or Regular Expression) to highlight.\n\t */\n\tsearch: PropTypes.any,\n};\n\nexport default DataTableHighlightCell;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\nconst DateUtil = {\n\tfirstDayOfMonth(date) {\n\t\tconst newDate = new Date(date);\n\t\tnewDate.setDate(1);\n\t\treturn newDate;\n\t},\n\n\tisFirstDayOfMonth(date) {\n\t\treturn date.getDate() === 1;\n\t},\n\n\tisLastDayOfMonth(date) {\n\t\treturn !DateUtil.isSameMonth(date, DateUtil.addDays(date, 1));\n\t},\n\tisSameMonth(d1, d2) {\n\t\tif (!d1 || !d2) {\n\t\t\treturn false;\n\t\t}\n\t\treturn (\n\t\t\td1.getFullYear() === d2.getFullYear() && d1.getMonth() === d2.getMonth()\n\t\t);\n\t},\n\tisSameDay(d1, d2) {\n\t\tif (!d1 || !d2) {\n\t\t\treturn false;\n\t\t}\n\t\treturn (\n\t\t\td1.getFullYear() === d2.getFullYear() &&\n\t\t\td1.getMonth() === d2.getMonth() &&\n\t\t\td1.getDate() === d2.getDate()\n\t\t);\n\t},\n\tisCurrentMonth(date) {\n\t\tif (!date) {\n\t\t\treturn false;\n\t\t}\n\t\treturn DateUtil.isSameMonth(date, new Date());\n\t},\n\tisToday(date) {\n\t\tif (!date) {\n\t\t\treturn false;\n\t\t}\n\t\treturn DateUtil.isSameDay(date, new Date());\n\t},\n\tisEqual(d1, d2) {\n\t\treturn d1.getTime() === d2.getTime();\n\t},\n\taddDays(date, deltaDays) {\n\t\tconst newDate = new Date(date);\n\t\tnewDate.setDate(newDate.getDate() + parseInt(deltaDays, 10));\n\t\treturn newDate;\n\t},\n\taddWeeks(date, deltaWeeks) {\n\t\treturn DateUtil.addDays(date, parseInt(deltaWeeks, 10) * 7);\n\t},\n\tnearestWeekDay(date, weekDayIndex) {\n\t\tlet delta = weekDayIndex - date.getDay();\n\t\tif (delta < 0) {\n\t\t\tdelta += 7;\n\t\t}\n\t\treturn DateUtil.addDays(date, delta);\n\t},\n\tisLeapYear(year) {\n\t\treturn (year % 4 === 0 && year % 100 !== 0) || year % 400 === 0;\n\t},\n\n\tgetDaysInMonth(year, month) {\n\t\treturn [\n\t\t\t31,\n\t\t\tDateUtil.isLeapYear(year) ? 29 : 28,\n\t\t\t31,\n\t\t\t30,\n\t\t\t31,\n\t\t\t30,\n\t\t\t31,\n\t\t\t31,\n\t\t\t30,\n\t\t\t31,\n\t\t\t30,\n\t\t\t31,\n\t\t][month];\n\t},\n\n\taddMonths(date, value) {\n\t\tconst newDate = new Date(date);\n\t\tconst dateOfNewDate = newDate.getDate();\n\t\tnewDate.setDate(1);\n\t\tnewDate.setMonth(newDate.getMonth() + value);\n\t\tnewDate.setDate(\n\t\t\tMath.min(\n\t\t\t\tdateOfNewDate,\n\t\t\t\tDateUtil.getDaysInMonth(newDate.getFullYear(), newDate.getMonth())\n\t\t\t)\n\t\t);\n\t\treturn newDate;\n\t},\n};\n\nexport default DateUtil;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\n// ### classNames\n// [github.com/JedWatson/classnames](https://github.com/JedWatson/classnames)\n// This project uses `classnames`, \"a simple javascript utility for conditionally\n// joining classNames together.\"\nimport classNames from 'classnames';\n\nimport EventUtil from '../../../utilities/event';\nimport DateUtil from '../../../utilities/date';\nimport KEYS from '../../../utilities/key-code';\n\nimport { DIRECTIONS } from '../../utilities/UNSAFE_direction';\nimport LanguageDirection from '../../utilities/UNSAFE_direction/private/language-direction';\n\nconst handleClick = (event, { date, onSelectDate }) => {\n\tonSelectDate(event, { date });\n};\n\nconst handleKeyDown = (\n\tevent,\n\t{\n\t\tdate,\n\t\tonCalendarBlur,\n\t\tonSelectDate,\n\t\tonKeyboardNavigateToPreviousDay,\n\t\tonKeyboardNavigateToNextDay,\n\t\tonKeyboardNavigateToPreviousWeek,\n\t\tonKeyboardNavigateToNextWeek,\n\t\tdirection,\n\t}\n) => {\n\tconst keyDownCallbacks = {\n\t\t[KEYS.SPACE]: () => {\n\t\t\tonSelectDate(event, { date });\n\t\t},\n\t\t[KEYS.ENTER]: () => {\n\t\t\tonSelectDate(event, { date });\n\t\t},\n\t\t[KEYS.TAB]: () => {\n\t\t\tonCalendarBlur(event, { direction: 'next' });\n\t\t},\n\t\t[KEYS.LEFT]: () => {\n\t\t\tif (direction === DIRECTIONS.RTL) {\n\t\t\t\tonKeyboardNavigateToNextDay(event, { date });\n\t\t\t} else {\n\t\t\t\tonKeyboardNavigateToPreviousDay(event, { date });\n\t\t\t}\n\t\t},\n\t\t[KEYS.RIGHT]: () => {\n\t\t\tif (direction === DIRECTIONS.RTL) {\n\t\t\t\tonKeyboardNavigateToPreviousDay(event, { date });\n\t\t\t} else {\n\t\t\t\tonKeyboardNavigateToNextDay(event, { date });\n\t\t\t}\n\t\t},\n\t\t[KEYS.UP]: () => {\n\t\t\tonKeyboardNavigateToPreviousWeek(event, { date });\n\t\t},\n\t\t[KEYS.DOWN]: () => {\n\t\t\tonKeyboardNavigateToNextWeek(event, { date });\n\t\t},\n\t};\n\n\tconst shiftKeyDownCallbacks = {\n\t\t[KEYS.TAB]: () => {\n\t\t\tonCalendarBlur(event, { direction: 'previous' });\n\t\t},\n\t};\n\n\tif (event.keyCode) {\n\t\tif (event.shiftKey && keyDownCallbacks[event.keyCode]) {\n\t\t\tEventUtil.trapEvent(event);\n\t\t\tshiftKeyDownCallbacks[event.keyCode]();\n\t\t} else if (keyDownCallbacks[event.keyCode]) {\n\t\t\tEventUtil.trapEvent(event);\n\t\t\tkeyDownCallbacks[event.keyCode]();\n\t\t}\n\t}\n};\n\nconst DatepickerCalendarDay = (props) => {\n\tconst isCurrentMonth = DateUtil.isSameMonth(\n\t\tprops.date,\n\t\tprops.initialDateForCalendarRender\n\t);\n\tconst isToday = DateUtil.isToday(props.date);\n\tconst isSelectedDay = DateUtil.isSameDay(props.date, props.selectedDate);\n\tconst isFirstDayOfMonth = DateUtil.isFirstDayOfMonth(props.date);\n\tconst isDisabled = !isCurrentMonth || props.disabled;\n\n\treturn (\n\t\t/* eslint-disable jsx-a11y/no-static-element-interactions */\n\t\t<td\n\t\t\taria-disabled={isDisabled}\n\t\t\taria-selected={isSelectedDay}\n\t\t\tclassName={classNames({\n\t\t\t\t'slds-is-today': isToday,\n\t\t\t\t'slds-disabled-text': isDisabled,\n\t\t\t\t'slds-is-selected': isSelectedDay,\n\t\t\t})}\n\t\t\tonClick={(event) => {\n\t\t\t\thandleClick(event, {\n\t\t\t\t\tdate: props.date,\n\t\t\t\t\tonSelectDate: props.onSelectDate,\n\t\t\t\t});\n\t\t\t}}\n\t\t\tonKeyDown={(event) => {\n\t\t\t\thandleKeyDown(event, {\n\t\t\t\t\t...props,\n\t\t\t\t});\n\t\t\t}}\n\t\t\tref={(component) => {\n\t\t\t\tif (isSelectedDay) {\n\t\t\t\t\tprops.selectedDateRef(component);\n\t\t\t\t}\n\n\t\t\t\tif (\n\t\t\t\t\tprops.calendarHasFocus &&\n\t\t\t\t\tDateUtil.isSameDay(props.focusedDate, props.date) &&\n\t\t\t\t\tisCurrentMonth\n\t\t\t\t) {\n\t\t\t\t\tprops.onRequestInternalFocusDate(undefined, {\n\t\t\t\t\t\tdate: props.date,\n\t\t\t\t\t\tref: component,\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}}\n\t\t\trole=\"gridcell\"\n\t\t\ttabIndex={\n\t\t\t\t!props.calendarHasFocus && isFirstDayOfMonth && isCurrentMonth ? 0 : -1\n\t\t\t}\n\t\t>\n\t\t\t{/* eslint-enable jsx-a11y/no-static-element-interactions */}\n\t\t\t<span className=\"slds-day\">\n\t\t\t\t{isToday ? (\n\t\t\t\t\t<span className=\"slds-assistive-text\">{`${props.todayLabel}: `}</span>\n\t\t\t\t) : null}\n\t\t\t\t{props.date.getDate()}\n\t\t\t</span>\n\t\t</td>\n\t);\n};\n\nDatepickerCalendarDay.displayName = 'SLDSDatepickerCalendarDay';\n\nDatepickerCalendarDay.propTypes = {\n\t/**\n\t * If elements within the calendar have focus. This is helpful for keyboard event trapping.\n\t */\n\tcalendarHasFocus: PropTypes.bool.isRequired,\n\t/**\n\t * Date of day\n\t */\n\tdate: PropTypes.instanceOf(Date).isRequired,\n\t/**\n\t * If date is disabled\n\t */\n\tdisabled: PropTypes.bool,\n\t/**\n\t * Date used to create calendar that is displayed. This is typically the initial day focused when using the keyboard navigation. Focus will be set to this date if available.\n\t */\n\tinitialDateForCalendarRender: PropTypes.instanceOf(Date).isRequired,\n\t/**\n\t * Triggered when the keyboard moves focus off the calendar.\n\t */\n\tonCalendarBlur: PropTypes.func.isRequired,\n\t/**\n\t * For keyboard navigation. Changes the focus to the next day on the calendar. Triggered when right arrow button is pressed.\n\t */\n\tonKeyboardNavigateToNextDay: PropTypes.func.isRequired,\n\t/**\n\t * For keyboard navigation. Changes the focus to the same day in the next week on the calendar. Triggered when down arrow button is pressed.\n\t */\n\tonKeyboardNavigateToNextWeek: PropTypes.func.isRequired,\n\t/**\n\t * For keyboard navigation. Changes the focus to the previous day on the calendar. Triggered when left arrow button is pressed.\n\t */\n\tonKeyboardNavigateToPreviousDay: PropTypes.func.isRequired,\n\t/**\n\t * For keyboard navigation. Changes the focus to the same day in the previous week on the calendar. Triggered when up arrow button is pressed.\n\t */\n\tonKeyboardNavigateToPreviousWeek: PropTypes.func.isRequired,\n\t/**\n\t * Triggered when a date on the calendar is clicked.\n\t */\n\tonSelectDate: PropTypes.func.isRequired,\n\t/**\n\t * Currently selected date. This should be present in the input field.\n\t */\n\tselectedDate: PropTypes.instanceOf(Date).isRequired,\n\t/**\n\t * Component reference / DOM node for selected day.\n\t */\n\tselectedDateRef: PropTypes.func.isRequired,\n\t/**\n\t * Label of shortcut to jump to today within the calendar. Also used for assistive text for the current day.\n\t */\n\ttodayLabel: PropTypes.string.isRequired,\n\tfocusedDate: PropTypes.instanceOf(Date),\n\tonRequestInternalFocusDate: PropTypes.func,\n};\n\nexport default LanguageDirection(DatepickerCalendarDay);\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\nimport Day from './day';\n\nimport DateUtil from '../../../utilities/date';\n\nconst DatepickerWeek = (props) => {\n\tconst days = [];\n\tlet date = props.firstDayOfWeek;\n\n\t// eslint-disable-next-line fp/no-loops\n\tfor (let i = 0; i < 7; i += 1) {\n\t\t// eslint-disable-next-line fp/no-mutating-methods\n\t\tdays.push(\n\t\t\t<Day\n\t\t\t\tcalendarHasFocus={props.calendarHasFocus}\n\t\t\t\tdate={date}\n\t\t\t\tdisabled={props.dateDisabled({ date })}\n\t\t\t\tfocusedDate={props.focusedDate}\n\t\t\t\tinitialDateForCalendarRender={props.initialDateForCalendarRender}\n\t\t\t\tkey={date.toString()}\n\t\t\t\tonKeyboardNavigateToNextDay={props.onKeyboardNavigateToNextDay}\n\t\t\t\tonKeyboardNavigateToNextWeek={props.onKeyboardNavigateToNextWeek}\n\t\t\t\tonKeyboardNavigateToPreviousDay={props.onKeyboardNavigateToPreviousDay}\n\t\t\t\tonKeyboardNavigateToPreviousWeek={\n\t\t\t\t\tprops.onKeyboardNavigateToPreviousWeek\n\t\t\t\t}\n\t\t\t\tonCalendarBlur={props.onCalendarBlur}\n\t\t\t\tonRequestInternalFocusDate={props.onRequestInternalFocusDate}\n\t\t\t\tonSelectDate={props.onSelectDate}\n\t\t\t\tselectedDate={props.selectedDate}\n\t\t\t\tselectedDateRef={props.selectedDateRef}\n\t\t\t\ttodayLabel={props.todayLabel}\n\t\t\t/>\n\t\t);\n\t\tdate = DateUtil.addDays(date, 1);\n\t}\n\n\treturn (\n\t\t<tr className=\"week\" key={days[0].toString()}>\n\t\t\t{days}\n\t\t</tr>\n\t);\n};\n\nDatepickerWeek.propTypes = {\n\t/**\n\t * Date used to create calendar that is displayed. This is typically the initial day focused when using the keyboard navigation. Focus will be set to this date if available.\n\t */\n\tinitialDateForCalendarRender: PropTypes.instanceOf(Date).isRequired,\n\t/**\n\t * Is true if calendar day has focus.\n\t */\n\tcalendarHasFocus: PropTypes.bool.isRequired,\n\t/**\n\t * dateDisabled() takes a date as input argument, returns true if given date should be disabled, otherwise returns false.\n\t */\n\tdateDisabled: PropTypes.func,\n\t/**\n\t * First day of week.\n\t */\n\tfirstDayOfWeek: PropTypes.instanceOf(Date).isRequired,\n\t/**\n\t * Date that has focus.\n\t */\n\tfocusedDate: PropTypes.instanceOf(Date).isRequired,\n\t/**\n\t * Triggered when the keyboard moves focus off the calendar.\n\t */\n\tonCalendarBlur: PropTypes.func.isRequired,\n\t/**\n\t * For keyboard navigation. Changes the focus to the next day on the calendar. Triggered when right arrow button is pressed.\n\t */\n\tonKeyboardNavigateToNextDay: PropTypes.func.isRequired,\n\t/**\n\t * For keyboard navigation. Changes the focus to the same day in the next week on the calendar. Triggered when down arrow button is pressed.\n\t */\n\tonKeyboardNavigateToNextWeek: PropTypes.func.isRequired,\n\t/**\n\t * For keyboard navigation. Changes the focus to the previous day on the calendar. Triggered when left arrow button is pressed.\n\t */\n\tonKeyboardNavigateToPreviousDay: PropTypes.func.isRequired,\n\t/**\n\t * For keyboard navigation. Changes the focus to the same day in the previous week on the calendar. Triggered when up arrow button is pressed.\n\t */\n\tonKeyboardNavigateToPreviousWeek: PropTypes.func.isRequired,\n\t/**\n\t * Triggered when the user wants to focus on a new day witht he keyboard. It returns the keyboard event a data object with the shape: `{date: [Date object]}`. Keyboard event is ommited if a new month is rendered. _Tested with Mocha framework._\n\t */\n\tonRequestInternalFocusDate: PropTypes.func.isRequired,\n\t/**\n\t * Triggered when a date on the calendar is clicked.\n\t */\n\tonSelectDate: PropTypes.func.isRequired,\n\t/**\n\t * Currently selected date. This should be present in the input field.\n\t */\n\tselectedDate: PropTypes.instanceOf(Date).isRequired,\n\t/**\n\t * Component reference / DOM node for selected day.\n\t */\n\tselectedDateRef: PropTypes.func.isRequired,\n\t/**\n\t * Label of shortcut to jump to today within the calendar. Also used for assistive text for the current day.\n\t */\n\ttodayLabel: PropTypes.string.isRequired,\n};\n\nDatepickerWeek.displayName = 'SLDSDatepickerWeek';\n\nexport default DatepickerWeek;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\nimport React from 'react';\n\nimport PropTypes from 'prop-types';\nimport Week from './week';\nimport DateUtil from '../../../utilities/date';\n\nclass DatepickerCalendar extends React.Component {\n\tstatic displayName = 'SLDSDatepickerCalendar';\n\n\tstatic propTypes = {\n\t\t/**\n\t\t * Three letter abbreviations of the days of the week, starting on Sunday.\n\t\t */\n\t\tabbreviatedWeekDayLabels: PropTypes.array.isRequired,\n\t\t/**\n\t\t * dateDisabled() takes a date as input argument, returns true if given date should be disabled, otherwise returns false.\n\t\t */\n\t\tdateDisabled: PropTypes.func,\n\t\t/**\n\t\t * HTML id for component\n\t\t */\n\t\tid: PropTypes.string.isRequired,\n\t\t/**\n\t\t * Date used to create calendar that is displayed. This is typically the initial day focused when using the keyboard navigation. Focus will be set to this date if available.\n\t\t */\n\t\tinitialDateForCalendarRender: PropTypes.instanceOf(Date).isRequired,\n\t\t/**\n\t\t * Makes Monday the first day of the week\n\t\t */\n\t\tisIsoWeekday: PropTypes.bool,\n\t\t/**\n\t\t * Triggered when the keyboard moves focus off the calendar.\n\t\t */\n\t\tonCalendarBlur: PropTypes.func.isRequired,\n\t\t/**\n\t\t * Displayed calendar has changed or re-rendered\n\t\t */\n\t\tonChangeMonth: PropTypes.func.isRequired,\n\t\t/**\n\t\t * Internal callback that will eventually trigger when the keyboard moves focus on the calendar. `{date: [Date object], formattedDate: [string]}`.\n\t\t */\n\t\tonRequestInternalFocusDate: PropTypes.func,\n\t\t/**\n\t\t * Triggered when the calendar is cancelled.\n\t\t */\n\t\tonRequestClose: PropTypes.func.isRequired,\n\t\t/**\n\t\t * Triggered when a date on the calendar is clicked.\n\t\t */\n\t\tonSelectDate: PropTypes.func.isRequired,\n\t\t/**\n\t\t * Currently selected date. This should be present in the input field.\n\t\t */\n\t\tselectedDate: PropTypes.instanceOf(Date),\n\t\t/**\n\t\t * Component reference / DOM node for selected day.\n\t\t */\n\t\tselectedDateRef: PropTypes.func,\n\t\t/**\n\t\t * Label of shortcut to jump to today within the calendar. This is also used for assistive text on today's date.\n\t\t */\n\t\ttodayLabel: PropTypes.string.isRequired,\n\t\t/**\n\t\t * For keyboard navigation. Listens for key presses on the last focusable DOM Node, the \"Today\" link, so that dialog focus can be trapped.\n\t\t */\n\t\tonLastFocusableNodeKeyDown: PropTypes.func,\n\t\t/**\n\t\t * Callback that passes in the DOM reference of the Today `a` DOM node within this component. Primary use is to allow `focus` to be called. You should still test if the node exists, since rendering is asynchronous. `buttonRef={(component) => { if(component) console.log(component); }}`\n\t\t */\n\t\ttodayRef: PropTypes.func,\n\t\t/**\n\t\t * Names of the seven days of the week, starting on Sunday.\n\t\t */\n\t\tweekDayLabels: PropTypes.array.isRequired,\n\t};\n\n\tstate = {\n\t\tfocusedDate: this.props.initialDateForCalendarRender,\n\t\tcalendarHasFocus: true,\n\t\ttodayFocus: false,\n\t};\n\n\tcomponentDidUpdate(prevProps) {\n\t\tthis.setCalendarRenderSeedDate(prevProps);\n\t}\n\n\tsetCalendarRenderSeedDate = (prevProps) => {\n\t\t// Set prop that sets focus in child component once it is rendered. This occurs when the month DOM has changed. This will trigger a re-render, but no DOM change will occur, just a DOM focus.\n\t\tif (\n\t\t\t!DateUtil.isEqual(\n\t\t\t\tthis.props.initialDateForCalendarRender,\n\t\t\t\tprevProps.initialDateForCalendarRender\n\t\t\t)\n\t\t) {\n\t\t\tthis.setState({ focusedDate: this.props.initialDateForCalendarRender });\n\t\t\tthis.props.onRequestInternalFocusDate(undefined, {\n\t\t\t\tdate: this.props.initialDateForCalendarRender,\n\t\t\t\ttriggerCallback: true,\n\t\t\t});\n\t\t}\n\t};\n\n\thandleSelectDate = (event, { date }) => {\n\t\tif (!this.props.dateDisabled({ date })) {\n\t\t\tthis.setState({ selected: date });\n\t\t\tthis.props.onSelectDate(event, { date });\n\t\t}\n\t};\n\n\thandleRequestClose = (event) => {\n\t\tif (this.props.onRequestClose) {\n\t\t\tthis.props.onRequestClose(event, {});\n\t\t}\n\t};\n\n\thandleKeyboardNavigateToPreviousDay = (event, { date }) => {\n\t\tconst prevDate = DateUtil.addDays(date, -1);\n\t\tif (!DateUtil.isSameMonth(prevDate, date)) {\n\t\t\tthis.props.onChangeMonth(event, prevDate);\n\t\t} else {\n\t\t\tthis.setState({ focusedDate: prevDate });\n\t\t\tthis.props.onRequestInternalFocusDate(event, {\n\t\t\t\tdate: prevDate,\n\t\t\t\ttriggerCallback: true,\n\t\t\t});\n\t\t}\n\t};\n\n\thandleKeyboardNavigateToNextDay = (event, { date }) => {\n\t\tconst nextDate = DateUtil.addDays(date, 1);\n\t\tif (!DateUtil.isSameMonth(nextDate, date)) {\n\t\t\tthis.props.onChangeMonth(event, nextDate);\n\t\t} else {\n\t\t\tthis.setState({ focusedDate: nextDate });\n\t\t\tthis.props.onRequestInternalFocusDate(event, {\n\t\t\t\tdate: nextDate,\n\t\t\t\ttriggerCallback: true,\n\t\t\t});\n\t\t}\n\t};\n\n\thandleKeyboardNavigateToPreviousWeek = (event, { date }) => {\n\t\tconst prevDate = DateUtil.addDays(date, -7);\n\t\tif (!DateUtil.isSameMonth(prevDate, date)) {\n\t\t\tthis.props.onChangeMonth(event, prevDate);\n\t\t} else {\n\t\t\tthis.setState({ focusedDate: prevDate });\n\t\t\tthis.props.onRequestInternalFocusDate(event, {\n\t\t\t\tdate: prevDate,\n\t\t\t\ttriggerCallback: true,\n\t\t\t});\n\t\t}\n\t};\n\n\thandleKeyboardNavigateToNextWeek = (event, { date }) => {\n\t\tconst nextDate = DateUtil.addDays(date, 7);\n\t\tif (!DateUtil.isSameMonth(nextDate, date)) {\n\t\t\tthis.props.onChangeMonth(event, nextDate);\n\t\t} else {\n\t\t\tthis.setState({ focusedDate: nextDate });\n\t\t\tthis.props.onRequestInternalFocusDate(event, {\n\t\t\t\tdate: nextDate,\n\t\t\t\ttriggerCallback: true,\n\t\t\t});\n\t\t}\n\t};\n\n\trenderWeeks = () => {\n\t\tconst firstDayOfWeekOffset = this.props.isIsoWeekday ? 1 : 0;\n\n\t\tconst firstDayOfMonth = DateUtil.firstDayOfMonth(\n\t\t\tthis.props.initialDateForCalendarRender\n\t\t);\n\n\t\tlet firstDayOfWeek;\n\t\tif (\n\t\t\tfirstDayOfMonth.getDay() > firstDayOfWeekOffset ||\n\t\t\tfirstDayOfMonth.getDay() < firstDayOfWeekOffset\n\t\t) {\n\t\t\tconst prevWeek = DateUtil.addWeeks(firstDayOfMonth, -1);\n\t\t\tfirstDayOfWeek = DateUtil.nearestWeekDay(prevWeek, firstDayOfWeekOffset);\n\t\t} else {\n\t\t\tfirstDayOfWeek = firstDayOfMonth;\n\t\t}\n\n\t\tconst weeks = [];\n\t\tlet done = false;\n\n\t\tlet monthIndex = firstDayOfWeek.getMonth();\n\t\tlet count = 0;\n\n\t\t// eslint-disable-next-line fp/no-loops\n\t\twhile (!done) {\n\t\t\t// eslint-disable-next-line fp/no-mutating-methods\n\t\t\tweeks.push(\n\t\t\t\t<Week\n\t\t\t\t\tcalendarHasFocus={this.state.calendarHasFocus}\n\t\t\t\t\tdateDisabled={this.props.dateDisabled}\n\t\t\t\t\tfirstDayOfWeek={firstDayOfWeek}\n\t\t\t\t\tkey={firstDayOfWeek.toString()}\n\t\t\t\t\tfocusedDate={this.state.focusedDate}\n\t\t\t\t\tinitialDateForCalendarRender={this.props.initialDateForCalendarRender}\n\t\t\t\t\tonCalendarBlur={this.props.onCalendarBlur}\n\t\t\t\t\tonKeyboardNavigateToPreviousDay={\n\t\t\t\t\t\tthis.handleKeyboardNavigateToPreviousDay\n\t\t\t\t\t}\n\t\t\t\t\tonKeyboardNavigateToNextDay={this.handleKeyboardNavigateToNextDay}\n\t\t\t\t\tonKeyboardNavigateToPreviousWeek={\n\t\t\t\t\t\tthis.handleKeyboardNavigateToPreviousWeek\n\t\t\t\t\t}\n\t\t\t\t\tonKeyboardNavigateToNextWeek={this.handleKeyboardNavigateToNextWeek}\n\t\t\t\t\tonRequestClose={this.handleRequestClose}\n\t\t\t\t\tonRequestInternalFocusDate={this.props.onRequestInternalFocusDate}\n\t\t\t\t\tonSelectDate={this.handleSelectDate}\n\t\t\t\t\tselectedDate={this.props.selectedDate}\n\t\t\t\t\tselectedDateRef={this.props.selectedDateRef}\n\t\t\t\t\ttodayLabel={this.props.todayLabel}\n\t\t\t\t/>\n\t\t\t);\n\n\t\t\t// create new weeks\n\t\t\tfirstDayOfWeek = DateUtil.addWeeks(firstDayOfWeek, 1);\n\t\t\tdone = count > 2 && monthIndex !== firstDayOfWeek.getMonth();\n\t\t\tcount += 1;\n\t\t\tmonthIndex = firstDayOfWeek.getMonth();\n\t\t}\n\t\tlet extraWeeks = 0;\n\t\t// eslint-disable-next-line fp/no-loops\n\t\twhile (weeks.length < 6) {\n\t\t\textraWeeks += 1;\n\t\t\t// eslint-disable-next-line fp/no-mutating-methods\n\t\t\tweeks.push(\n\t\t\t\t<tr key={`extra_${extraWeeks}`} className=\"week\">\n\t\t\t\t\t<td\n\t\t\t\t\t\taria-disabled=\"true\"\n\t\t\t\t\t\taria-selected=\"false\"\n\t\t\t\t\t\tclassName=\"slds-disabled-text\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<span className=\"slds-day \"> </span>\n\t\t\t\t\t</td>\n\t\t\t\t</tr>\n\t\t\t);\n\t\t}\n\n\t\treturn weeks;\n\t};\n\n\trender() {\n\t\tconst sunday = (\n\t\t\t<th>\n\t\t\t\t<abbr title={this.props.weekDayLabels[0]}>\n\t\t\t\t\t{this.props.abbreviatedWeekDayLabels[0]}\n\t\t\t\t</abbr>\n\t\t\t</th>\n\t\t);\n\n\t\treturn (\n\t\t\t<div className=\"calendar\">\n\t\t\t\t<table\n\t\t\t\t\tclassName=\"datepicker__month\"\n\t\t\t\t\trole=\"grid\"\n\t\t\t\t\taria-labelledby={`${this.props.id}-month`}\n\t\t\t\t>\n\t\t\t\t\t<thead>\n\t\t\t\t\t\t<tr>\n\t\t\t\t\t\t\t{this.props.isIsoWeekday ? null : sunday}\n\t\t\t\t\t\t\t<th scope=\"col\">\n\t\t\t\t\t\t\t\t<abbr title={this.props.weekDayLabels[1]}>\n\t\t\t\t\t\t\t\t\t{this.props.abbreviatedWeekDayLabels[1]}\n\t\t\t\t\t\t\t\t</abbr>\n\t\t\t\t\t\t\t</th>\n\t\t\t\t\t\t\t<th scope=\"col\">\n\t\t\t\t\t\t\t\t<abbr title={this.props.weekDayLabels[2]}>\n\t\t\t\t\t\t\t\t\t{this.props.abbreviatedWeekDayLabels[2]}\n\t\t\t\t\t\t\t\t</abbr>\n\t\t\t\t\t\t\t</th>\n\t\t\t\t\t\t\t<th scope=\"col\">\n\t\t\t\t\t\t\t\t<abbr title={this.props.weekDayLabels[3]}>\n\t\t\t\t\t\t\t\t\t{this.props.abbreviatedWeekDayLabels[3]}\n\t\t\t\t\t\t\t\t</abbr>\n\t\t\t\t\t\t\t</th>\n\t\t\t\t\t\t\t<th scope=\"col\">\n\t\t\t\t\t\t\t\t<abbr title={this.props.weekDayLabels[4]}>\n\t\t\t\t\t\t\t\t\t{this.props.abbreviatedWeekDayLabels[4]}\n\t\t\t\t\t\t\t\t</abbr>\n\t\t\t\t\t\t\t</th>\n\t\t\t\t\t\t\t<th scope=\"col\">\n\t\t\t\t\t\t\t\t<abbr title={this.props.weekDayLabels[5]}>\n\t\t\t\t\t\t\t\t\t{this.props.abbreviatedWeekDayLabels[5]}\n\t\t\t\t\t\t\t\t</abbr>\n\t\t\t\t\t\t\t</th>\n\t\t\t\t\t\t\t<th scope=\"col\">\n\t\t\t\t\t\t\t\t<abbr title={this.props.weekDayLabels[6]}>\n\t\t\t\t\t\t\t\t\t{this.props.abbreviatedWeekDayLabels[6]}\n\t\t\t\t\t\t\t\t</abbr>\n\t\t\t\t\t\t\t</th>\n\t\t\t\t\t\t\t{this.props.isIsoWeekday && sunday}\n\t\t\t\t\t\t</tr>\n\t\t\t\t\t</thead>\n\t\t\t\t\t<tbody>\n\t\t\t\t\t\t{this.renderWeeks()}\n\n\t\t\t\t\t\t<tr>\n\t\t\t\t\t\t\t<td colSpan=\"7\" role=\"gridcell\">\n\t\t\t\t\t\t\t\t<a\n\t\t\t\t\t\t\t\t\thref=\"javascript:void(0)\" // eslint-disable-line no-script-url\n\t\t\t\t\t\t\t\t\ttabIndex=\"0\"\n\t\t\t\t\t\t\t\t\tclassName=\"slds-show_inline-block slds-p-bottom_x-small\"\n\t\t\t\t\t\t\t\t\tonClick={(event) => {\n\t\t\t\t\t\t\t\t\t\tthis.handleSelectDate(event, { date: new Date() });\n\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\tonKeyDown={this.props.onLastFocusableNodeKeyDown}\n\t\t\t\t\t\t\t\t\tref={this.props.todayRef}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{this.props.todayLabel}\n\t\t\t\t\t\t\t\t</a>\n\t\t\t\t\t\t\t</td>\n\t\t\t\t\t\t</tr>\n\t\t\t\t\t</tbody>\n\t\t\t\t</table>\n\t\t\t</div>\n\t\t);\n\t}\n}\n\nexport default DatepickerCalendar;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\nimport React from 'react';\n\nimport PropTypes from 'prop-types';\nimport Combobox from '../../combobox/combobox';\n\nclass DatepickerYearSelector extends React.Component {\n\tstatic displayName = 'SLDSDatepickerYearSelector';\n\n\tstatic propTypes = {\n\t\t/**\n\t\t * Label for year picklist/combobox\n\t\t */\n\t\tassistiveTextYear: PropTypes.string.isRequired,\n\t\t/**\n\t\t * HTML id for component\n\t\t */\n\t\tid: PropTypes.string,\n\t\t/**\n\t\t * Date used to create calendar that is displayed. This is typically the initial day focused when using the keyboard navigation. Focus will be set to this date if available.\n\t\t */\n\t\tinitialDateForCalendarRender: PropTypes.instanceOf(Date).isRequired,\n\t\t/**\n\t\t * Displayed calendar has changed or re-rendered\n\t\t */\n\t\tonChangeMonth: PropTypes.func.isRequired,\n\t\t/**\n\t\t * Offset of year from current year that can be selected in the year selection dropdown. (2017 - 5 = 2012).\n\t\t */\n\t\trelativeYearFrom: PropTypes.number,\n\t\t/**\n\t\t * Offset of year from current year that can be selected in the year selection dropdown. (2017 + 5 = 2012).\n\t\t */\n\t\trelativeYearTo: PropTypes.number,\n\t};\n\n\tgetOptions = () => {\n\t\tconst now = new Date();\n\t\tconst fromYear = now.getFullYear() + this.props.relativeYearFrom;\n\t\tconst toYear = now.getFullYear() + this.props.relativeYearTo;\n\t\tconst opts = [];\n\n\t\t// eslint-disable-next-line fp/no-loops\n\t\tfor (let year = fromYear; year < toYear; year += 1) {\n\t\t\t// eslint-disable-next-line fp/no-mutating-methods\n\t\t\topts.push({ label: `${year}`, value: year, id: String(opts.length) });\n\t\t}\n\t\treturn opts;\n\t};\n\n\tgetSelectedValueOption = () => {\n\t\tconst selectedYear = this.props.initialDateForCalendarRender.getFullYear();\n\t\treturn this.getOptions().filter((option) => option.value === selectedYear);\n\t};\n\n\thandleSelect = (event, { selection: selectedValues }) => {\n\t\tconst selectedValue = selectedValues[0]; // safe since we are working with a single selection\n\n\t\tif (selectedValue) {\n\t\t\tthis.props.onChangeMonth(\n\t\t\t\tnew Date(\n\t\t\t\t\tthis.props.initialDateForCalendarRender.setFullYear(\n\t\t\t\t\t\tparseInt(selectedValue.value, 10)\n\t\t\t\t\t)\n\t\t\t\t)\n\t\t\t);\n\t\t}\n\t};\n\n\trender() {\n\t\tconst selection = this.getSelectedValueOption();\n\t\treturn (\n\t\t\t<div className=\"slds-form-element slds-align-content-center\">\n\t\t\t\t<Combobox\n\t\t\t\t\tassistiveText={{ label: this.props.assistiveTextYear }}\n\t\t\t\t\tclassName=\"slds-shrink-none\"\n\t\t\t\t\tclassNameMenu=\"slds-datepicker\"\n\t\t\t\t\tevents={{\n\t\t\t\t\t\tonSelect: this.handleSelect,\n\t\t\t\t\t}}\n\t\t\t\t\tid={`${this.props.id}-year-picklist`}\n\t\t\t\t\tinheritWidthOf=\"target\"\n\t\t\t\t\tmenuPosition=\"relative\"\n\t\t\t\t\tmultiple={false}\n\t\t\t\t\toptions={this.getOptions()}\n\t\t\t\t\tlabels={{\n\t\t\t\t\t\tplaceholder: 'Year',\n\t\t\t\t\t}}\n\t\t\t\t\tselection={selection}\n\t\t\t\t\tvalue={selection.value}\n\t\t\t\t\tvariant=\"readonly\"\n\t\t\t\t/>\n\t\t\t</div>\n\t\t);\n\t}\n}\n\nexport default DatepickerYearSelector;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\nimport React from 'react';\n\nimport PropTypes from 'prop-types';\nimport YearPicklist from './year-picklist';\nimport Button from '../../button';\n\nimport DateUtil from '../../../utilities/date';\n\nclass DatepickerMonthNavigation extends React.Component {\n\tstatic displayName = 'SLDSDatepickerMonthNavigation';\n\n\tstatic propTypes = {\n\t\t/**\n\t\t * Label for button to go to the next month\n\t\t */\n\t\tassistiveTextNextMonth: PropTypes.string.isRequired,\n\t\t/**\n\t\t * Label for button to go to the previous month\n\t\t */\n\t\tassistiveTextPreviousMonth: PropTypes.string.isRequired,\n\t\t/**\n\t\t * Label for year picklist/combobox\n\t\t */\n\t\tassistiveTextYear: PropTypes.string.isRequired,\n\t\t/**\n\t\t * HTML id for component\n\t\t */\n\t\tid: PropTypes.string,\n\t\t/**\n\t\t * Date used to create calendar that is displayed. This is typically the initial day focused when using the keyboard navigation. Focus will be set to this date if available.\n\t\t */\n\t\tinitialDateForCalendarRender: PropTypes.instanceOf(Date).isRequired,\n\t\t/**\n\t\t * Displayed calendar has changed or re-rendered\n\t\t */\n\t\tonChangeMonth: PropTypes.func.isRequired,\n\t\t/**\n\t\t * Names of the months\n\t\t */\n\t\tmonthLabels: PropTypes.array.isRequired,\n\t\t/**\n\t\t * For keyboard navigation. In order to trap focus within the dialog, the first DOM node with a tab index should be listened to.\n\t\t */\n\t\tonPreviousMonthKeyDown: PropTypes.func,\n\t\t/**\n\t\t * Callback that passes in the DOM reference of the `<button>` DOM node within this component. Primary use is to allow `focus` to be called. You should still test if the node exists, since rendering is asynchronous.\n\t\t */\n\t\tpreviousMonthRef: PropTypes.func.isRequired,\n\t\t/**\n\t\t * Offset of year from current year that can be selected in the year selection dropdown. (2017 - 5 = 2012).\n\t\t */\n\t\trelativeYearFrom: PropTypes.number,\n\t\t/**\n\t\t * Offset of year from current year that can be selected in the year selection dropdown. (2017 + 5 = 2012).\n\t\t */\n\t\trelativeYearTo: PropTypes.number,\n\t};\n\n\tgetMonthLabel = () =>\n\t\tthis.props.monthLabels[\n\t\t\tnew Date(this.props.initialDateForCalendarRender).getMonth()\n\t\t];\n\n\tgetYearLabel = () =>\n\t\tnew Date(this.props.initialDateForCalendarRender).getFullYear();\n\n\thandleClick = (event) => {\n\t\tevent.preventDefault();\n\t\tevent.stopPropagation();\n\t};\n\n\thandleYearSelect = (initialDateForCalendarRender) => {\n\t\tthis.props.onChangeMonth(undefined, initialDateForCalendarRender);\n\t};\n\n\tpreviousMonthClicked = () => {\n\t\tthis.props.onChangeMonth(\n\t\t\tundefined,\n\t\t\tDateUtil.addMonths(this.props.initialDateForCalendarRender, -1)\n\t\t);\n\t};\n\n\tnextMonthClicked = () => {\n\t\tthis.props.onChangeMonth(\n\t\t\tundefined,\n\t\t\tDateUtil.addMonths(this.props.initialDateForCalendarRender, 1)\n\t\t);\n\t};\n\n\trender() {\n\t\treturn (\n\t\t\t<div className=\"slds-datepicker__filter slds-grid\">\n\t\t\t\t<div\n\t\t\t\t\tclassName=\"slds-datepicker__filter_month slds-grid slds-grid_align-spread slds-grow\"\n\t\t\t\t\tstyle={{ flex: 1.75 }}\n\t\t\t\t>\n\t\t\t\t\t<div className=\"slds-align-middle\">\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tassistiveText={{ icon: this.props.assistiveTextPreviousMonth }}\n\t\t\t\t\t\t\ticonCategory=\"utility\"\n\t\t\t\t\t\t\ticonName=\"left\"\n\t\t\t\t\t\t\ticonVariant=\"container\"\n\t\t\t\t\t\t\tonKeyDown={this.props.onPreviousMonthKeyDown}\n\t\t\t\t\t\t\tonClick={this.previousMonthClicked}\n\t\t\t\t\t\t\tbuttonRef={(component) => {\n\t\t\t\t\t\t\t\tthis.props.previousMonthRef(component);\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\tvariant=\"icon\"\n\t\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t</div>\n\t\t\t\t\t<h2\n\t\t\t\t\t\tid={`${this.props.id}-month`}\n\t\t\t\t\t\tclassName=\"slds-align-middle\"\n\t\t\t\t\t\taria-live=\"assertive\"\n\t\t\t\t\t\taria-atomic\n\t\t\t\t\t>\n\t\t\t\t\t\t{this.getMonthLabel()}{' '}\n\t\t\t\t\t\t<span className=\"slds-assistive-text\">{this.getYearLabel()}</span>\n\t\t\t\t\t</h2>\n\t\t\t\t\t<div className=\"slds-align-middle\">\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tassistiveText={{ icon: this.props.assistiveTextNextMonth }}\n\t\t\t\t\t\t\ticonCategory=\"utility\"\n\t\t\t\t\t\t\ticonName=\"right\"\n\t\t\t\t\t\t\ticonVariant=\"container\"\n\t\t\t\t\t\t\tonClick={this.nextMonthClicked}\n\t\t\t\t\t\t\tvariant=\"icon\"\n\t\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t\t<YearPicklist\n\t\t\t\t\tassistiveTextYear={this.props.assistiveTextYear}\n\t\t\t\t\tid={this.props.id}\n\t\t\t\t\tinitialDateForCalendarRender={this.props.initialDateForCalendarRender}\n\t\t\t\t\tonChangeMonth={this.handleYearSelect}\n\t\t\t\t\trelativeYearFrom={this.props.relativeYearFrom}\n\t\t\t\t\trelativeYearTo={this.props.relativeYearTo}\n\t\t\t\t/>\n\t\t\t</div>\n\t\t);\n\t}\n}\n\nexport default DatepickerMonthNavigation;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\n// ### classNames\n// [github.com/JedWatson/classnames](https://github.com/JedWatson/classnames)\n// This project uses `classnames`, \"a simple javascript utility for conditionally\n// joining classNames together.\"\nimport classNames from 'classnames';\n\nimport Calendar from './calendar';\nimport CalendarNavigation from './navigation';\n\nimport EventUtil from '../../../utilities/event';\nimport KEYS from '../../../utilities/key-code';\n\nclass DatepickerCalendarWrapper extends React.Component {\n\tstatic displayName = 'DatepickerCalendarWrapper';\n\n\tstatic propTypes = {\n\t\t/**\n\t\t * Label for button to go to the next month\n\t\t */\n\t\tassistiveTextNextMonth: PropTypes.string.isRequired,\n\t\t/**\n\t\t * Label for button to go to the previous month\n\t\t */\n\t\tassistiveTextPreviousMonth: PropTypes.string.isRequired,\n\t\t/**\n\t\t * Label for year picklist/combobox\n\t\t */\n\t\tassistiveTextYear: PropTypes.string.isRequired,\n\t\t/**\n\t\t * One letter abbreviations of the days of the week, starting on Sunday.\n\t\t */ abbreviatedWeekDayLabels: PropTypes.array.isRequired,\n\t\t/**\n\t\t * Whether or not the `CalendarWrapper` can steal focus from the main `Input`\n\t\t */\n\t\tcanFocusCalendar: PropTypes.bool.isRequired,\n\t\t/**\n\t\t * CSS classes to be added to tag with `slds-datepicker`.\n\t\t */\n\t\tclassName: PropTypes.oneOfType([\n\t\t\tPropTypes.array,\n\t\t\tPropTypes.object,\n\t\t\tPropTypes.string,\n\t\t]),\n\t\t/**\n\t\t * dateDisabled() takes a date as input argument, returns true if given date should be disabled, otherwise returns false.\n\t\t */\n\t\tdateDisabled: PropTypes.func,\n\t\t/**\n\t\t * HTML id for component\n\t\t */\n\t\tid: PropTypes.string,\n\t\t/**\n\t\t * Makes Monday the first day of the week\n\t\t */\n\t\tisIsoWeekday: PropTypes.bool,\n\t\t/**\n\t\t * For use of datepicker outside of dropdown.\n\t\t */\n\t\tisolated: PropTypes.bool,\n\t\t/**\n\t\t * Names of the months\n\t\t */\n\t\tmonthLabels: PropTypes.array.isRequired,\n\t\t/**\n\t\t * Triggered when the keyboard moves focus on the calendar. {date: [Date object], formattedDate: [string]} _Tested with Mocha framework._\n\t\t */\n\t\tonCalendarFocus: PropTypes.func,\n\t\t/**\n\t\t * Triggered when the calendar is supposed to close.\n\t\t */\n\t\tonRequestClose: PropTypes.func.isRequired,\n\t\t/**\n\t\t * Triggered when a date on the calendar is clicked.\n\t\t */\n\t\tonSelectDate: PropTypes.func.isRequired,\n\t\t/**\n\t\t * The earliest year that can be selected in the year selection dropdown.\n\t\t */\n\t\trelativeYearFrom: PropTypes.number.isRequired,\n\t\t/**\n\t\t * The maximum year that can be selected in the year selection dropdown.\n\t\t */\n\t\trelativeYearTo: PropTypes.number.isRequired,\n\t\t/**\n\t\t * Currently selected date\n\t\t */\n\t\tselectedDate: PropTypes.instanceOf(Date),\n\t\t/**\n\t\t * Component reference / DOM node for selected day.\n\t\t */\n\t\tselectedDateRef: PropTypes.func,\n\t\t/**\n\t\t * Label of shortcut to jump to today within the calendar. Also used for assistive text for the current day.\n\t\t */\n\t\ttodayLabel: PropTypes.string.isRequired,\n\t\t/**\n\t\t * Names of the seven days of the week, starting on Sunday.\n\t\t */\n\t\tweekDayLabels: PropTypes.array.isRequired,\n\t};\n\n\tstatic defaultProps = {\n\t\tselectedDate: new Date(),\n\t\tvalue: new Date(),\n\t};\n\n\tstate = {\n\t\tinitialDateForCalendarRender: this.props.selectedDate,\n\t};\n\n\thandleCalendarBlur = (event, { direction }) => {\n\t\tif (direction === 'next' && this.previousMonthRef) {\n\t\t\tif (this.props.onCalendarFocus) {\n\t\t\t\tthis.props.onCalendarFocus(event, {\n\t\t\t\t\tdirection,\n\t\t\t\t\tref: this.previousMonthRef,\n\t\t\t\t});\n\t\t\t}\n\t\t\tthis.previousMonthRef.focus();\n\t\t} else if (direction === 'previous' && this.todayRef) {\n\t\t\tif (this.props.onCalendarFocus) {\n\t\t\t\tthis.props.onCalendarFocus(event, {\n\t\t\t\t\tdirection,\n\t\t\t\t\tref: this.todayRef,\n\t\t\t\t});\n\t\t\t}\n\t\t\tthis.todayRef.focus();\n\t\t}\n\t};\n\n\thandleFirstFocusableNodeKeyDown = (event) => {\n\t\tif (event.shiftKey && event.keyCode === KEYS.TAB) {\n\t\t\tEventUtil.trapEvent(event);\n\t\t}\n\t};\n\n\thandleInitialDateForCalendarRenderChange = (\n\t\tevent,\n\t\tinitialDateForCalendarRender\n\t) => {\n\t\tthis.setState({ initialDateForCalendarRender });\n\t};\n\n\thandleKeyDown = (event) => {\n\t\tif (event.keyCode === KEYS.ESCAPE) {\n\t\t\tEventUtil.trapEvent(event);\n\t\t\tthis.props.onRequestClose(event, {});\n\t\t}\n\t};\n\n\thandleLastFocusableNodeKeyDown = (event) => {\n\t\tif (!event.shiftKey && event.keyCode === KEYS.TAB) {\n\t\t\tEventUtil.trapEvent(event);\n\t\t}\n\t};\n\n\thandleRequestClose = (event) => {\n\t\tif (this.props.onRequestClose) {\n\t\t\tthis.props.onRequestClose(event, {});\n\t\t}\n\t};\n\n\thandleRequestFocusDate = (event, data) => {\n\t\t// will be called three times, due to re-render\n\t\tif (data.ref && this.props.canFocusCalendar) {\n\t\t\tdata.ref.focus();\n\t\t}\n\n\t\t// only call on actual DOM event and not on re-render\n\t\tif (this.props.onCalendarFocus && data.triggerCallback) {\n\t\t\tconst { triggerCallback, ...modifiedData } = data; // eslint-disable-line no-unused-vars\n\t\t\tthis.props.onCalendarFocus(event, modifiedData);\n\t\t}\n\t};\n\n\trender() {\n\t\treturn (\n\t\t\t<div // eslint-disable-line jsx-a11y/no-static-element-interactions\n\t\t\t\tclassName={classNames(\n\t\t\t\t\t{\n\t\t\t\t\t\t'slds-datepicker': this.props.isolated,\n\t\t\t\t\t},\n\t\t\t\t\tthis.props.className\n\t\t\t\t)}\n\t\t\t\taria-hidden=\"false\"\n\t\t\t\tdata-selection=\"single\"\n\t\t\t\tonKeyDown={this.handleKeyDown}\n\t\t\t>\n\t\t\t\t<CalendarNavigation\n\t\t\t\t\tassistiveTextNextMonth={this.props.assistiveTextNextMonth}\n\t\t\t\t\tassistiveTextPreviousMonth={this.props.assistiveTextPreviousMonth}\n\t\t\t\t\tassistiveTextYear={this.props.assistiveTextYear}\n\t\t\t\t\tid={this.props.id}\n\t\t\t\t\tinitialDateForCalendarRender={this.state.initialDateForCalendarRender}\n\t\t\t\t\tmonthLabels={this.props.monthLabels}\n\t\t\t\t\tonChangeMonth={this.handleInitialDateForCalendarRenderChange}\n\t\t\t\t\tpreviousMonthRef={(component) => {\n\t\t\t\t\t\tthis.previousMonthRef = component;\n\t\t\t\t\t}}\n\t\t\t\t\tonPreviousMonthKeyDown={this.handleFirstFocusableNodeKeyDown}\n\t\t\t\t\trelativeYearFrom={this.props.relativeYearFrom}\n\t\t\t\t\trelativeYearTo={this.props.relativeYearTo}\n\t\t\t\t/>\n\t\t\t\t<Calendar\n\t\t\t\t\tabbreviatedWeekDayLabels={this.props.abbreviatedWeekDayLabels}\n\t\t\t\t\tdateDisabled={this.props.dateDisabled}\n\t\t\t\t\tid={this.props.id}\n\t\t\t\t\tinitialDateForCalendarRender={this.state.initialDateForCalendarRender}\n\t\t\t\t\tisIsoWeekday={this.props.isIsoWeekday}\n\t\t\t\t\tonCalendarBlur={this.handleCalendarBlur}\n\t\t\t\t\tonChangeMonth={this.handleInitialDateForCalendarRenderChange}\n\t\t\t\t\tonRequestClose={this.handleRequestClose}\n\t\t\t\t\tonRequestInternalFocusDate={this.handleRequestFocusDate}\n\t\t\t\t\tonSelectDate={this.props.onSelectDate}\n\t\t\t\t\tselectedDate={this.props.selectedDate}\n\t\t\t\t\tselectedDateRef={this.props.selectedDateRef}\n\t\t\t\t\ttodayLabel={this.props.todayLabel}\n\t\t\t\t\ttodayRef={(component) => {\n\t\t\t\t\t\tthis.todayRef = component;\n\t\t\t\t\t}}\n\t\t\t\t\tonLastFocusableNodeKeyDown={this.handleLastFocusableNodeKeyDown}\n\t\t\t\t\tweekDayLabels={this.props.weekDayLabels}\n\t\t\t\t/>\n\t\t\t</div>\n\t\t);\n\t}\n}\n\nexport default DatepickerCalendarWrapper;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n/* eslint-disable import/no-mutable-exports */\n/* eslint-disable max-len */\n\nimport deprecatedProperty from '../../utilities/warning/deprecated-property';\nimport getComponentDocFn from '../../utilities/get-component-doc';\n\nlet checkProps = function checkPropsFunction() {};\n\nif (process.env.NODE_ENV !== 'production') {\n\tcheckProps = function checkPropsFunction(COMPONENT, props, jsonDoc) {\n\t\tconst createDocUrl = getComponentDocFn(jsonDoc);\n\n\t\tdeprecatedProperty(\n\t\t\tCOMPONENT,\n\t\t\tprops.children,\n\t\t\t'children',\n\t\t\t'input',\n\t\t\t`Please see \\`input\\` prop description and add your own \\`Input\\`. Props will be shallow merged. ${createDocUrl(\n\t\t\t\t'input'\n\t\t\t)}`\n\t\t);\n\n\t\tdeprecatedProperty(\n\t\t\tCOMPONENT,\n\t\t\tprops.onFocus,\n\t\t\t'onFocus',\n\t\t\tundefined,\n\t\t\t`Please see \\`input\\` prop description and add your own \\`Input\\`. Props will be shallow merged. ${createDocUrl(\n\t\t\t\t'input'\n\t\t\t)}`\n\t\t);\n\n\t\tdeprecatedProperty(\n\t\t\tCOMPONENT,\n\t\t\tprops.onBlur,\n\t\t\t'onBlur',\n\t\t\tundefined,\n\t\t\t`Please see \\`input\\` prop description and add your own \\`Input\\`. Props will be shallow merged. ${createDocUrl(\n\t\t\t\t'input'\n\t\t\t)}`\n\t\t);\n\n\t\tdeprecatedProperty(\n\t\t\tCOMPONENT,\n\t\t\tprops.abbrWeekDayLabels,\n\t\t\t'abbrWeekDayLabels',\n\t\t\t'abbreviatedWeekDayLabels',\n\t\t\t`Prop name has changed. ${createDocUrl('labels')}`\n\t\t);\n\n\t\tdeprecatedProperty(\n\t\t\tCOMPONENT,\n\t\t\tprops.onDateChange,\n\t\t\t'onDateChange',\n\t\t\t'onChange',\n\t\t\t`Please see prop description for \\`onChange\\`. Parameters have changed. The callback receives an event and a data object of the shape: \\`{date: [Date object], formattedDate: [string], timezoneOffset: [number]}\\` ${createDocUrl(\n\t\t\t\t'onChange'\n\t\t\t)}`\n\t\t);\n\n\t\tdeprecatedProperty(\n\t\t\tCOMPONENT,\n\t\t\tprops.onKeyDown,\n\t\t\t'onKeyDown',\n\t\t\tundefined,\n\t\t\t`Please see \\`input\\` prop description and add your own \\`Input\\`. Props will be shallow merged. ${createDocUrl(\n\t\t\t\t'input'\n\t\t\t)}`\n\t\t);\n\n\t\tdeprecatedProperty(\n\t\t\tCOMPONENT,\n\t\t\tprops.onFocus,\n\t\t\t'required',\n\t\t\tundefined,\n\t\t\t`Please see children prop description and add your own \\`Input\\` as a child of Datepicker. ${createDocUrl(\n\t\t\t\t'children'\n\t\t\t)}`\n\t\t);\n\n\t\tdeprecatedProperty(\n\t\t\tCOMPONENT,\n\t\t\tprops.strValue,\n\t\t\t'strValue',\n\t\t\t'formattedValue',\n\t\t\tcreateDocUrl('formattedValue')\n\t\t);\n\n\t\tdeprecatedProperty(\n\t\t\tCOMPONENT,\n\t\t\tprops.isInline,\n\t\t\t'isInline',\n\t\t\t'menuPosition=\"relative\"',\n\t\t\tcreateDocUrl('menuPosition')\n\t\t);\n\t};\n}\n\nexport default checkProps;\n","/* eslint-disable max-lines */\n/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\nimport assign from 'lodash.assign';\n\n// ### classNames\n// [github.com/JedWatson/classnames](https://github.com/JedWatson/classnames)\n// This project uses `classnames`, \"a simple javascript utility for conditionally\n// joining classNames together.\"\nimport classNames from 'classnames';\n\n// ### shortid\n// [npmjs.com/package/shortid](https://www.npmjs.com/package/shortid)\n// shortid is a short, non-sequential, url-friendly, unique id generator\nimport shortid from 'shortid';\n\nimport Dialog from '../utilities/dialog';\nimport CalendarWrapper from './private/calendar-wrapper';\nimport InputIcon from '../icon/input-icon';\nimport Input from '../input';\n\n// This component's `checkProps` which issues warnings to developers about properties\n// when in development mode (similar to React's built in development tools)\nimport checkProps from './check-props';\nimport componentDoc from './component.json';\n\nimport EventUtil from '../../utilities/event';\nimport KEYS from '../../utilities/key-code';\nimport lowPriorityWarning from '../../utilities/warning/low-priority-warning';\n\nimport { DATE_PICKER } from '../../utilities/constants';\n\nconst propTypes = {\n\t/**\n\t * **Assistive text for accessibility**\n\t * This object is merged with the default props object on every render.\n\t * * `nextMonth`: Label for button to go to the next month _Tested with snapshot testing._\n\t * * `openCalendar`: Call to action label for calendar dialog trigger _Tested with snapshot testing._\n\t * * `previousMonth`: Label for button to go to the previous month _Tested with snapshot testing._\n\t */\n\tassistiveText: PropTypes.shape({\n\t\tnextMonth: PropTypes.string,\n\t\topenCalendar: PropTypes.string,\n\t\tpreviousMonth: PropTypes.string,\n\t\tyear: PropTypes.string,\n\t}),\n\t/**\n\t * Aligns the right or left side of the menu with the respective side of the trigger. _Tested with snapshot testing._\n\t */\n\talign: PropTypes.oneOf(['left', 'right']),\n\t/**\n\t * CSS classes to be added to tag with `slds-datepicker`. If you are looking for the outer DOM node (slds-dropdown-trigger), please review `triggerClassName`. _Tested with snapshot testing._\n\t */\n\tclassName: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\t/**\n\t * Disable input and calendar. _Tested with Mocha framework._\n\t */\n\tdisabled: PropTypes.bool,\n\t/**\n\t * This function callback receives a data object with a key of `date`. Write your own validation and return `true` if the date should be disabled, otherwise please return `false`. The value of `date` is the day rendered in the calendar with the current local time and timezone.\n\t */\n\tdateDisabled: PropTypes.func,\n\t/**\n\t * Date formatting function that formats the `value` prop (`value` is an ECMAScript `Date()` object) and returns a string to be rendered as the `input` value. Please use an external library such as [MomentJS](https://github.com/moment/moment/) for date formatting and internationalization. _Tested with snapshot testing._\n\t * The default `formatter` function is:\n\t * ```\n\t * formatter(date) {\n\t * return date\n\t * ? `${date.getMonth() + 1}/${date.getDate()}/${date.getFullYear()}`\n\t * : '';\n\t * }\n\t * ```\n\t */\n\tformatter: PropTypes.func,\n\t/**\n\t * Value of input that gets passed to `parser` prop on initial render. This prop is only present for uncontrolled use of Datepicker which is _highly discouraged_. A better name for this prop would be `defaultFormatedValue`. Please use the `value` prop instead. _Not tested._\n\t */\n\tformattedValue: PropTypes.string,\n\t/**\n\t * Prevents the dropdown from changing position based on the viewport/window. If set to true your dropdowns can extend outside the viewport _and_ overflow outside of a scrolling parent. If this happens, you might want to consider making the dropdowns contents scrollable to fit the menu on the screen. `hasStaticAlignment` disables this behavior and allows this component to extend beyond boundary elements. _Not tested._\n\t */\n\thasStaticAlignment: PropTypes.bool,\n\t/**\n\t * HTML id for component _Tested with snapshot testing._\n\t */\n\tid: PropTypes.string,\n\t/**\n\t * **Text labels for internationalization**\n\t * This object is merged with the default props object on every render.\n\t * * `abbreviatedWeekDays`: Three letter abbreviations of the days of the week, starting on Sunday. _Tested with snapshot testing._\n\t * * `months`: Names of the months. _Tested with snapshot testing._\n\t * * `label`: This label appears above the input.\n\t * * `placeholder`: Placeholder text for input. _Tested with snapshot testing._\n\t * * `today`: Label of shortcut to jump to today within the calendar. This is also used for assistive text on today's date. _Tested with snapshot testing._\n\t * * `weekDays`: Full names of the seven days of the week, starting on Sunday. _Tested with snapshot testing._\n\t */\n\tlabels: PropTypes.shape({\n\t\tabbreviatedWeekDays: PropTypes.array,\n\t\tlabel: PropTypes.string,\n\t\tmonths: PropTypes.array,\n\t\tplaceholder: PropTypes.string,\n\t\ttoday: PropTypes.string,\n\t\tweekDays: PropTypes.array,\n\t}),\n\t/**\n\t * An [Input](http://react.lightningdesignsystem.com/components/inputs/) component. The props from this `Input` component will be merged and override any default props. See [Component composition with prop spread](https://github.com/salesforce/design-system-react/blob/master/docs/codebase-overview.md#component-composition-with-prop-spread) for more information on this methodology.\n\t */\n\tinput: PropTypes.node,\n\t/**\n\t * Forces the dropdown to be open or closed. See controlled/uncontrolled callback/prop pattern for more on suggested use view [Concepts and Best Practices](https://github.com/salesforce-ux/design-system-react/blob/master/CONTRIBUTING.md#concepts-and-best-practices)\n\t */\n\tisOpen: PropTypes.bool,\n\t/**\n\t * Makes Monday the first day of the week. _Tested with snapshot testing._\n\t */\n\tisIsoWeekday: PropTypes.bool,\n\t/**\n\t * Please select one of the following:\n\t * * `absolute` - (default) The dialog will use `position: absolute` and style attributes to position itself. This allows inverted placement or flipping of the dialog.\n\t * * `overflowBoundaryElement` - The dialog will overflow scrolling parents. Use on elements that are aligned to the left or right of their target and don't care about the target being within a scrolling parent. Typically this is a popover or tooltip. Dropdown menus can usually open up and down if no room exists. In order to achieve this a portal element will be created and attached to `body`. This element will render into that detached render tree.\n\t * * `relative` - No styling or portals will be used. Menus will be positioned relative to their triggers. This is a great choice for HTML snapshot testing.\n\t */\n\tmenuPosition: PropTypes.oneOf([\n\t\t'absolute',\n\t\t'overflowBoundaryElement',\n\t\t'relative',\n\t]),\n\t/**\n\t * Triggered when the user wants to focus on a new day with the keyboard. If the target node is a day it will return the keyboard event a data object with the shape: `{date: [Date object]}`. Event will be `null` when new month is re-rendered. _Tested with Mocha framework._\n\t */\n\tonCalendarFocus: PropTypes.func,\n\t/**\n\t * Triggered when the date changes. `onChange` can be used for form validation if needed. It receives an event and a data object in the shape: `{date: [Date object], formattedDate: [string], timezoneOffset: [number]}`. `data.date` is Coordinated Universal Time (UTC), but the days of the calendar are in local time of the user. The `timezoneOffset` is the difference, in minutes, between UTC and the local time. Please note that this means that the offset is positive if the local timezone is behind UTC and negative if it is ahead. `timezoneOffset` is in minutes, for hours divide by `60`. _Tested with Mocha framework._\n\t */\n\tonChange: PropTypes.func,\n\t/**\n\t * Triggered when the calendar is closed. _Tested with Mocha framework._\n\t */\n\tonClose: PropTypes.func,\n\t/**\n\t * Triggered when the calendar has opened. _Tested with Mocha framework._\n\t */\n\tonOpen: PropTypes.func,\n\t/**\n\t * Function called when the calendar dialog would like hide. This will turn the calendar dialog into into a controlled component. Please use with `isOpen`. _Tested with Mocha framework._\n\t */\n\tonRequestClose: PropTypes.func,\n\t/**\n\t * Function called when the calendar dialog would like show. This will turn the calendar dialog into into a controlled component. Please use with `isOpen`. _Tested with Mocha framework._\n\t */\n\tonRequestOpen: PropTypes.func,\n\t/**\n\t * Custom function to parse date string from the `input` value, which must return an ECMAScript `Date()` object. Please use an external library such as [MomentJS](https://github.com/moment/moment/) for date parsing and internationalization. The default `parser` passes the input value to ECMAScript `Date()` and _prays_ for a miracle. **Do not use the default parsing function in production.** _Tested with snapshot testing._\n\t * The default `parser function is:\n\t * ```\n\t * parser(str) {\n\t * return new Date(str);\n\t * }\n\t * ```\n\t */\n\tparser: PropTypes.func,\n\t/**\n\t * Offset of year from current year that can be selected in the year selection dropdown. (2017 - 5 = 2012). _Tested with snapshot testing._\n\t */\n\trelativeYearFrom: PropTypes.number,\n\t/**\n\t * Offset of year from current year that can be selected in the year selection dropdown. (2017 + 5 = 2012). _Tested with snapshot testing._\n\t */\n\trelativeYearTo: PropTypes.number,\n\t/**\n\t * CSS classes to be added to tag with `slds-datepicker-trigger`. This is typically a wrapping `div` around the input. _Tested with snapshot testing._\n\t */\n\ttriggerClassName: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\t/**\n\t * Sets date with a `Date` ECMAScript object. _Tested with snapshot testing._\n\t */\n\tvalue: PropTypes.instanceOf(Date),\n};\n\nconst defaultProps = {\n\talign: 'left',\n\tassistiveText: {\n\t\tnextMonth: 'Next month',\n\t\topenCalendar: 'Open Calendar',\n\t\tpreviousMonth: 'Previous month',\n\t\tyear: 'Year',\n\t},\n\tformatter(date) {\n\t\treturn date\n\t\t\t? `${date.getMonth() + 1}/${date.getDate()}/${date.getFullYear()}`\n\t\t\t: '';\n\t},\n\tlabels: {\n\t\tabbreviatedWeekDays: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'],\n\t\tmonths: [\n\t\t\t'January',\n\t\t\t'February',\n\t\t\t'March',\n\t\t\t'April',\n\t\t\t'May',\n\t\t\t'June',\n\t\t\t'July',\n\t\t\t'August',\n\t\t\t'September',\n\t\t\t'October',\n\t\t\t'November',\n\t\t\t'December',\n\t\t],\n\t\tplaceholder: 'Pick a Date',\n\t\ttoday: 'Today',\n\t\tweekDays: [\n\t\t\t'Sunday',\n\t\t\t'Monday',\n\t\t\t'Tuesday',\n\t\t\t'Wednesday',\n\t\t\t'Thursday',\n\t\t\t'Friday',\n\t\t\t'Saturday',\n\t\t],\n\t},\n\tmenuPosition: 'absolute',\n\tparser(str) {\n\t\tlowPriorityWarning(\n\t\t\tfalse,\n\t\t\t`Please use an external library for date parsing and internationalization like MomentJS (https://github.com/moment/moment/) instead of the default parser.`\n\t\t);\n\t\treturn new Date(str);\n\t},\n\trelativeYearFrom: -10,\n\trelativeYearTo: 10,\n\tdateDisabled: () => false,\n};\n\n/**\n * A date picker is a non-text input form element. You can select a single date from a popup calendar. Please use an external library such as [MomentJS](https://github.com/moment/moment/) for date formatting and parsing and internationalization. You will want to use your date library within the `parser` and `formatter` callbacks.\n *\n * The calendar is rendered with time/dates based on local browser time of the client browser. All dates are in the local user's timezones and time. Another way to put it is if a user selects a date, they are actually selecting midnight in their current time on their current day and not mightnight in UTC. If `Datepicker` is paired with a time and timezone input, you may want to convert dates provided by this component to UTC and then combine the date with your time and timezone input.\n *\n * Pairing with any other component besides an `input` is untested.\n *\n * This component is wrapped in a [higher order component to listen for clicks outside itself](https://github.com/kentor/react-click-outside) and thus requires use of `ReactDOM`.\n */\nclass Datepicker extends React.Component {\n\tconstructor(props) {\n\t\tsuper(props);\n\t\t// Please remove `strValue` on the next breaking change.\n\t\tconst formattedValue = props.formattedValue || props.strValue; // eslint-disable-line react/prop-types\n\t\tconst dateString = props.formatter(props.value);\n\t\tconst initDate = props.value ? dateString : formattedValue;\n\n\t\tthis.state = {\n\t\t\tisOpen: false,\n\t\t\tisOpenFromIcon: false,\n\t\t\tvalue: props.value,\n\t\t\tformattedValue: initDate || '',\n\t\t\tinputValue: initDate || '',\n\t\t};\n\n\t\tthis.generatedId = shortid.generate();\n\n\t\t// `checkProps` issues warnings to developers about properties (similar to React's built in development tools)\n\t\tcheckProps(DATE_PICKER, props, componentDoc);\n\t}\n\n\tgetDatePicker = ({ labels, assistiveText }) => {\n\t\tlet date;\n\t\t// Use props if present. Otherwise, use state.\n\t\tif (this.props.value) {\n\t\t\tdate = this.props.formatter(this.props.value)\n\t\t\t\t? this.parseDate(this.props.formatter(this.props.value))\n\t\t\t\t: this.props.value;\n\t\t} else {\n\t\t\tdate = this.state.formattedValue\n\t\t\t\t? this.parseDate(this.state.formattedValue)\n\t\t\t\t: this.state.value;\n\t\t}\n\n\t\treturn (\n\t\t\t<CalendarWrapper\n\t\t\t\t// Please remove `abbrWeekDayLabels` on the next breaking change.\n\t\t\t\tabbreviatedWeekDayLabels={\n\t\t\t\t\tthis.props.abbreviatedWeekDayLabels || // eslint-disable-line react/prop-types\n\t\t\t\t\tthis.props.abbrWeekDayLabels || // eslint-disable-line react/prop-types\n\t\t\t\t\tlabels.abbreviatedWeekDays\n\t\t\t\t}\n\t\t\t\t/* Remove || for assistiveText at next breaking change */\n\t\t\t\tassistiveTextNextMonth={\n\t\t\t\t\tthis.props.assistiveTextNextMonth || assistiveText.nextMonth // eslint-disable-line react/prop-types\n\t\t\t\t}\n\t\t\t\tassistiveTextPreviousMonth={\n\t\t\t\t\tthis.props.assistiveTextPreviousMonth || assistiveText.previousMonth // eslint-disable-line react/prop-types\n\t\t\t\t}\n\t\t\t\tassistiveTextYear={assistiveText.year}\n\t\t\t\tcanFocusCalendar={this.state.isOpenFromIcon}\n\t\t\t\tid={this.getId()}\n\t\t\t\tisIsoWeekday={this.props.isIsoWeekday}\n\t\t\t\tmonthLabels={\n\t\t\t\t\tthis.props.monthLabels || labels.months // eslint-disable-line react/prop-types\n\t\t\t\t}\n\t\t\t\tonCalendarFocus={this.props.onCalendarFocus}\n\t\t\t\tdateDisabled={this.props.dateDisabled}\n\t\t\t\tonRequestClose={this.handleRequestClose}\n\t\t\t\tonSelectDate={this.handleCalendarChange}\n\t\t\t\trelativeYearFrom={this.props.relativeYearFrom}\n\t\t\t\trelativeYearTo={this.props.relativeYearTo}\n\t\t\t\tselectedDate={date || new Date()}\n\t\t\t\tselectedDateRef={(component) => {\n\t\t\t\t\tthis.selectedDateCell = component;\n\t\t\t\t}}\n\t\t\t\ttodayLabel={\n\t\t\t\t\tthis.props.todayLabel || labels.today // eslint-disable-line react/prop-types\n\t\t\t\t}\n\t\t\t\tweekDayLabels={\n\t\t\t\t\tthis.props.weekDayLabels || labels.weekDays // eslint-disable-line react/prop-types\n\t\t\t\t}\n\t\t\t/>\n\t\t);\n\t};\n\n\tgetDialog = ({ labels, assistiveText }) => {\n\t\t// FOR BACKWARDS COMPATIBILITY\n\t\tconst menuPosition = this.props.isInline\n\t\t\t? 'relative'\n\t\t\t: this.props.menuPosition; // eslint-disable-line react/prop-types\n\n\t\t// SLDS override\n\t\tconst style =\n\t\t\tthis.props.menuPosition !== 'relative' ? { transform: 'none' } : {};\n\n\t\treturn !this.props.disabled && this.getIsOpen() ? (\n\t\t\t<Dialog\n\t\t\t\talign={`bottom ${this.props.align}`}\n\t\t\t\tcontentsClassName={classNames(\n\t\t\t\t\t'slds-datepicker slds-dropdown',\n\t\t\t\t\t{\n\t\t\t\t\t\t'slds-dropdown_right':\n\t\t\t\t\t\t\tthis.props.menuPosition === 'relative' &&\n\t\t\t\t\t\t\tthis.props.align === 'right',\n\t\t\t\t\t\t'slds-dropdown_left':\n\t\t\t\t\t\t\tthis.props.menuPosition === 'relative' &&\n\t\t\t\t\t\t\tthis.props.align === 'left',\n\t\t\t\t\t},\n\t\t\t\t\tthis.props.className\n\t\t\t\t)}\n\t\t\t\tcontext={this.context}\n\t\t\t\thasStaticAlignment={this.props.hasStaticAlignment}\n\t\t\t\tstyle={style}\n\t\t\t\tonClose={this.handleClose}\n\t\t\t\tonOpen={this.handleOpen}\n\t\t\t\tonRequestTargetElement={() => this.inputRef}\n\t\t\t\tposition={menuPosition}\n\t\t\t\tportalMount={this.props.portalMount}\n\t\t\t>\n\t\t\t\t{this.getDatePicker({ labels, assistiveText })}\n\t\t\t</Dialog>\n\t\t) : null;\n\t};\n\n\tgetId = () => this.props.id || this.generatedId;\n\n\tgetIsOpen = () =>\n\t\t!!(typeof this.props.isOpen === 'boolean'\n\t\t\t? this.props.isOpen\n\t\t\t: this.state.isOpen);\n\n\tgetInputProps = ({ assistiveText, labels }) => {\n\t\t/**\n\t\t * 1. DEFAULT: Use default props or state if present.\n\t\t * 2. DEPRECATED API: Use old \"first-level\" props that have been deprecated.\n\t\t * 3. DEPRECATED API: If `children` is present, use props from single child which should be an `<Input/>`\n\t\t * 4. CURRENT API: Use composition with props spread merge from `input` prop.\n\t\t * */\n\n\t\tconst defaultInputProps = {\n\t\t\ticonRight: (\n\t\t\t\t<InputIcon\n\t\t\t\t\t// Remove || for assistiveText at next breaking change\n\t\t\t\t\tassistiveText={{\n\t\t\t\t\t\ticon:\n\t\t\t\t\t\t\tthis.props.assistiveTextOpenCalendar ||\n\t\t\t\t\t\t\tassistiveText.openCalendar, // eslint-disable-line react/prop-types\n\t\t\t\t\t}}\n\t\t\t\t\taria-haspopup\n\t\t\t\t\taria-expanded={this.getIsOpen()}\n\t\t\t\t\tcategory=\"utility\"\n\t\t\t\t\tname=\"event\"\n\t\t\t\t\tonClick={() => {\n\t\t\t\t\t\tthis.openDialogFromIcon();\n\t\t\t\t\t}}\n\t\t\t\t\ttype=\"button\"\n\t\t\t\t/>\n\t\t\t),\n\t\t\tinputRef: (component) => {\n\t\t\t\tthis.setInputRef(component);\n\t\t\t},\n\t\t\tid: this.getId(),\n\t\t\tonChange: this.handleInputChange,\n\t\t\tonClick: () => {\n\t\t\t\tthis.openDialog();\n\t\t\t},\n\t\t\tonKeyDown: this.handleKeyDown,\n\t\t\tvalue: this.props.value\n\t\t\t\t? this.props.formatter(this.props.value)\n\t\t\t\t: this.state.inputValue,\n\t\t};\n\n\t\t// eslint-disable react/prop-types\n\t\tconst topLevelDeprecatedComponentProps = {\n\t\t\tdisabled: this.props.disabled,\n\t\t\tlabel: this.props.label || labels.label,\n\t\t\tonBlur: this.props.onBlur,\n\t\t\tonFocus: this.props.onFocus,\n\t\t\tplaceholder: this.props.placeholder || labels.placeholder,\n\t\t\trequired: this.props.required,\n\t\t};\n\t\t// eslint-enable react/prop-types\n\n\t\tconst childrenProps = this.props.children && this.props.children.props;\n\t\tconst childrenPropInputProps = {\n\t\t\t...childrenProps,\n\t\t\tonClick: () => {\n\t\t\t\tthis.openDialog();\n\t\t\t\tif (childrenProps && childrenProps.onClick) {\n\t\t\t\t\tchildrenProps.onClick();\n\t\t\t\t}\n\t\t\t},\n\t\t};\n\n\t\tconst inputRenderProps = this.props.input && this.props.input.props;\n\n\t\treturn {\n\t\t\t...defaultInputProps,\n\t\t\t...topLevelDeprecatedComponentProps,\n\t\t\t...childrenPropInputProps,\n\t\t\t...inputRenderProps,\n\t\t};\n\t};\n\n\tsetInputRef = (component) => {\n\t\tthis.inputRef = component;\n\t\t// yes, this is a re-render triggered by a render.\n\t\t// Dialog/Popper.js cannot place the popover until\n\t\t// the trigger/target DOM node is mounted. This\n\t\t// way `findDOMNode` is not called and parent\n\t\t// DOM nodes are not queried.\n\t\tif (!this.state.inputRendered) {\n\t\t\tthis.setState({ inputRendered: true });\n\t\t}\n\t};\n\n\thandleCalendarChange = (event, { date }) => {\n\t\tif (!this.props.value) {\n\t\t\tthis.setState({\n\t\t\t\tvalue: date,\n\t\t\t\tformattedValue: this.props.formatter(date),\n\t\t\t\tinputValue: this.props.formatter(date),\n\t\t\t});\n\t\t}\n\n\t\tthis.handleRequestClose();\n\n\t\tif (this.props.onChange) {\n\t\t\tthis.props.onChange(event, {\n\t\t\t\tdate,\n\t\t\t\tformattedDate: this.props.formatter(date),\n\t\t\t\ttimezoneOffset: date.getTimezoneOffset(),\n\t\t\t});\n\t\t}\n\n\t\t// Please remove `onDateChange` on the next breaking change.\n\t\t/* eslint-disable react/prop-types */\n\t\tif (this.props.onDateChange) {\n\t\t\tthis.props.onDateChange(date, this.props.formatter(date));\n\t\t}\n\t\t/* eslint-enable react/prop-types */\n\t};\n\n\thandleClickOutside = () => {\n\t\tthis.handleRequestClose();\n\t};\n\n\thandleClose = () => {\n\t\tif (this.props.onClose) {\n\t\t\tthis.props.onClose();\n\t\t}\n\t};\n\n\thandleInputChange = (event) => {\n\t\t// Typing in the input closes the calendar when it's used as an uncontrolled component\n\t\tif (typeof this.props.isOpen !== 'boolean' && this.state.isOpen) {\n\t\t\tthis.setState({ isOpen: false });\n\t\t}\n\n\t\tthis.setState({\n\t\t\tformattedValue: event.target.value,\n\t\t\tinputValue: event.target.value,\n\t\t});\n\n\t\tconst date = this.props.parser(event.target.value);\n\n\t\tif (this.props.onChange) {\n\t\t\tthis.props.onChange(event, {\n\t\t\t\tdate,\n\t\t\t\tformattedDate: event.target.value,\n\t\t\t\ttimezoneOffset: date.getTimezoneOffset(),\n\t\t\t});\n\t\t}\n\t};\n\n\thandleKeyDown = (event) => {\n\t\t// Don't open if user is selecting text\n\t\tif (\n\t\t\tevent.keyCode &&\n\t\t\t!event.shiftKey &&\n\t\t\t(event.keyCode === KEYS.DOWN || event.keyCode === KEYS.UP)\n\t\t) {\n\t\t\tEventUtil.trapEvent(event);\n\t\t\tthis.setState({ isOpen: true });\n\t\t}\n\n\t\tif (event.keyCode === KEYS.ESCAPE || event.keyCode === KEYS.ENTER) {\n\t\t\tEventUtil.trapEvent(event);\n\t\t\tthis.setState({ isOpen: false });\n\t\t}\n\n\t\t// Please remove `onKeyDown` on the next breaking change.\n\t\t/* eslint-disable react/prop-types */\n\t\tif (this.props.onKeyDown) {\n\t\t\tthis.props.onKeyDown(event, {});\n\t\t}\n\t\t/* eslint-enable react/prop-types */\n\t};\n\n\thandleOpen = (event, { portal }) => {\n\t\tif (this.props.onOpen) {\n\t\t\tthis.props.onOpen(event, { portal });\n\t\t}\n\n\t\tif (this.selectedDateCell && this.state.isOpenFromIcon) {\n\t\t\tthis.selectedDateCell.focus();\n\t\t}\n\t};\n\n\thandleRequestClose = () => {\n\t\tif (this.props.onRequestClose) {\n\t\t\tthis.props.onRequestClose();\n\t\t}\n\n\t\tif (this.getIsOpen()) {\n\t\t\tthis.setState({ isOpen: false, isOpenFromIcon: false });\n\n\t\t\tif (this.inputRef) {\n\t\t\t\tthis.inputRef.focus();\n\t\t\t}\n\t\t}\n\t};\n\n\topenDialogFromIcon = () => {\n\t\tthis.setState({ isOpenFromIcon: true });\n\t\tthis.openDialog(true);\n\t};\n\n\topenDialog = (isRequestFromIcon = false) => {\n\t\tif (!isRequestFromIcon) {\n\t\t\tthis.setState({ isOpenFromIcon: false });\n\t\t}\n\t\tif (this.props.onRequestOpen) {\n\t\t\tthis.props.onRequestOpen();\n\t\t} else {\n\t\t\tthis.setState({ isOpen: true });\n\t\t}\n\t};\n\n\tparseDate = (formattedValue) => {\n\t\tlet parsedDate = this.props.parser(formattedValue);\n\t\tif (\n\t\t\tObject.prototype.toString.call(parsedDate) !== '[object Date]' ||\n\t\t\tisNaN(parsedDate.getTime())\n\t\t) {\n\t\t\tparsedDate = new Date();\n\t\t}\n\t\treturn parsedDate;\n\t};\n\n\trender() {\n\t\t// Merge objects of strings with their default object\n\t\tconst labels = assign({}, defaultProps.labels, this.props.labels);\n\t\tconst assistiveText = assign(\n\t\t\t{},\n\t\t\tdefaultProps.assistiveText,\n\t\t\tthis.props.assistiveText\n\t\t);\n\n\t\tconst inputProps = this.getInputProps({ assistiveText, labels });\n\n\t\t// `children` prop is a deprecated API. Future breaking change should limit Datepicker to only `Input` usage and not a random child node.\n\t\tconst inputToRender = this.props.children ? (\n\t\t\tReact.cloneElement(this.props.children, {\n\t\t\t\t...inputProps,\n\t\t\t})\n\t\t) : (\n\t\t\t<Input {...inputProps} />\n\t\t);\n\n\t\treturn (\n\t\t\t<div\n\t\t\t\tclassName={classNames(\n\t\t\t\t\t'slds-dropdown-trigger',\n\t\t\t\t\t'slds-dropdown-trigger_click',\n\t\t\t\t\t'ignore-react-onclickoutside',\n\t\t\t\t\t{\n\t\t\t\t\t\t'slds-is-open': this.getIsOpen(),\n\t\t\t\t\t},\n\t\t\t\t\tthis.props.triggerClassName\n\t\t\t\t)}\n\t\t\t>\n\t\t\t\t{inputToRender}\n\t\t\t\t{this.getDialog({ labels, assistiveText })}\n\t\t\t</div>\n\t\t);\n\t}\n}\n\nDatepicker.contextTypes = {\n\ticonPath: PropTypes.string,\n};\n\nDatepicker.displayName = DATE_PICKER;\nDatepicker.propTypes = propTypes;\nDatepicker.defaultProps = defaultProps;\n\nexport default Datepicker;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// ### onClickOutside\n// Listen for clicks that occur somewhere in the document, outside of the element itself\nimport onClickOutside from 'react-onclickoutside';\nimport Datepicker from './date-picker';\n\nexport default onClickOutside(Datepicker);\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// # Dynamic Icons Component\n\n// Implements the [Dynamic Icons design pattern](https://www.lightningdesignsystem.com/components/dynamic-icons/) in React.\n\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from '../../utilities/class-names';\n\nimport { DYNAMIC_ICON } from '../../utilities/constants';\n\n// PropTypes for the component\nconst propTypes = {\n\t/**\n\t * **Assistive text for accessibility**\n\t * * `label`: Used as a visually hidden label to describe the dynamic icon.\n\t */\n\tassistiveText: PropTypes.shape({\n\t\tlabel: PropTypes.string,\n\t}),\n\t/**\n\t * CSS class names to be added to the icon.\n\t */\n\tclassName: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\t/**\n\t * Pauses the icon animation if the value is true.\n\t */\n\tisPaused: PropTypes.bool,\n\t/**\n\t * Disables icon animation if set to true\n\t */\n\tisStatic: PropTypes.bool,\n\t/**\n\t * Polarity values for the 'score' variant. Defaults to 'positive'\n\t */\n\tscorePolarity: PropTypes.oneOf(['positive', 'negative']),\n\t/**\n\t * Range of strength values for the 'strength' variant. Defaults to '0'.\n\t */\n\tstrengthLevel: PropTypes.oneOf([\n\t\t'-3',\n\t\t'-2',\n\t\t'-1',\n\t\t'0',\n\t\t'1',\n\t\t'2',\n\t\t'3',\n\t\t-3,\n\t\t-2,\n\t\t-1,\n\t\t0,\n\t\t1,\n\t\t2,\n\t\t3,\n\t]),\n\t/**\n\t * HTML title attribute.\n\t */\n\ttitle: PropTypes.string.isRequired,\n\t/**\n\t * Signals direction for the 'trend' variant. The default value 'neutral' points to the east.\n\t */\n\ttrendDirection: PropTypes.oneOf(['down', 'up', 'neutral']),\n\t/**\n\t * Different types of dynamic icons. Possible variants:\n\t *\n\t * `ellie` - Displays a pulsing blue circle, which pulses and stops after one animation cycle.\n\t * `eq` - Displays an animated graph with three bars that rise and fall randomly.\n\t * `score` - Displays a green filled circle or a red unfilled circle.\n\t * `strength` - Displays three animated horizontal circles that are colored green or red.\n\t * `trend` - Displays animated arrows that point up, down, or straight.\n\t * `waffle` - Displays a 3x3 grid of dots that animates on hover.\n\t */\n\tvariant: PropTypes.oneOf([\n\t\t'ellie',\n\t\t'eq',\n\t\t'score',\n\t\t'strength',\n\t\t'trend',\n\t\t'typing',\n\t\t'waffle',\n\t]).isRequired,\n};\n\n/**\n * A set of delightful animated icons.\n */\nclass DynamicIcon extends React.Component {\n\tgetIconChildren() {\n\t\tlet children = [];\n\t\tlet defaultAssistiveText = this.props.title\n\t\t\t? this.props.title\n\t\t\t: `${this.props.variant\n\t\t\t\t\t.charAt(0)\n\t\t\t\t\t.toUpperCase()}${this.props.variant.slice(1)}`;\n\n\t\tif (this.props.variant === 'ellie') {\n\t\t\tchildren = [\n\t\t\t\t<svg viewBox=\"0 0 280 14\" aria-hidden=\"true\">\n\t\t\t\t\t<circle cx=\"7\" cy=\"7\" r=\"4\" />\n\t\t\t\t\t<circle cx=\"7\" cy=\"7\" r=\"3\" />\n\t\t\t\t\t<circle cx=\"21\" cy=\"7\" r=\"4\" />\n\t\t\t\t\t<circle cx=\"21\" cy=\"7\" r=\"3\" />\n\t\t\t\t\t<circle cx=\"35\" cy=\"7\" r=\"4\" />\n\t\t\t\t\t<circle cx=\"35\" cy=\"7\" r=\"3\" />\n\t\t\t\t\t<circle cx=\"49\" cy=\"7\" r=\"4\" />\n\t\t\t\t\t<circle cx=\"49\" cy=\"7\" r=\"3\" />\n\t\t\t\t\t<circle cx=\"63\" cy=\"7\" r=\"4\" />\n\t\t\t\t\t<circle cx=\"63\" cy=\"7\" r=\"3\" />\n\t\t\t\t\t<circle cx=\"77\" cy=\"7\" r=\"4\" />\n\t\t\t\t\t<circle cx=\"77\" cy=\"7\" r=\"3\" />\n\t\t\t\t\t<circle cx=\"91\" cy=\"7\" r=\"4\" />\n\t\t\t\t\t<circle cx=\"91\" cy=\"7\" r=\"3\" />\n\t\t\t\t\t<circle cx=\"105\" cy=\"7\" r=\"4\" />\n\t\t\t\t\t<circle cx=\"105\" cy=\"7\" r=\"3\" />\n\t\t\t\t\t<circle cx=\"119\" cy=\"7\" r=\"4\" />\n\t\t\t\t\t<circle cx=\"119\" cy=\"7\" r=\"3\" />\n\t\t\t\t\t<circle cx=\"133\" cy=\"7\" r=\"4\" />\n\t\t\t\t\t<circle cx=\"133\" cy=\"7\" r=\"3\" />\n\t\t\t\t\t<circle cx=\"147\" cy=\"7\" r=\"4\" />\n\t\t\t\t\t<circle cx=\"147\" cy=\"7\" r=\"3\" />\n\t\t\t\t\t<circle cx=\"161\" cy=\"7\" r=\"4\" />\n\t\t\t\t\t<circle cx=\"161\" cy=\"7\" r=\"3\" />\n\t\t\t\t\t<circle cx=\"175\" cy=\"7\" r=\"4\" />\n\t\t\t\t\t<circle cx=\"175\" cy=\"7\" r=\"3\" />\n\t\t\t\t\t<circle cx=\"189\" cy=\"7\" r=\"4\" />\n\t\t\t\t\t<circle cx=\"189\" cy=\"7\" r=\"3\" />\n\t\t\t\t\t<circle cx=\"203\" cy=\"7\" r=\"4\" />\n\t\t\t\t\t<circle cx=\"203\" cy=\"7\" r=\"3\" />\n\t\t\t\t\t<circle cx=\"217\" cy=\"7\" r=\"4\" />\n\t\t\t\t\t<circle cx=\"217\" cy=\"7\" r=\"3\" />\n\t\t\t\t\t<circle cx=\"231\" cy=\"7\" r=\"4\" />\n\t\t\t\t\t<circle cx=\"231\" cy=\"7\" r=\"3\" />\n\t\t\t\t\t<circle cx=\"245\" cy=\"7\" r=\"4\" />\n\t\t\t\t\t<circle cx=\"245\" cy=\"7\" r=\"3\" />\n\t\t\t\t\t<circle cx=\"259\" cy=\"7\" r=\"4\" />\n\t\t\t\t\t<circle cx=\"259\" cy=\"7\" r=\"3\" />\n\t\t\t\t\t<circle cx=\"273\" cy=\"7\" r=\"4\" />\n\t\t\t\t\t<circle cx=\"273\" cy=\"7\" r=\"3\" />\n\t\t\t\t</svg>,\n\t\t\t];\n\t\t} else if (this.props.variant === 'eq') {\n\t\t\tchildren = [\n\t\t\t\t<div className=\"slds-icon-eq__bar\" />,\n\t\t\t\t<div className=\"slds-icon-eq__bar\" />,\n\t\t\t\t<div className=\"slds-icon-eq__bar\" />,\n\t\t\t];\n\t\t} else if (this.props.variant === 'score') {\n\t\t\tchildren = [\n\t\t\t\t<svg\n\t\t\t\t\tviewBox=\"0 0 5 5\"\n\t\t\t\t\tclassName=\"slds-icon-score__positive\"\n\t\t\t\t\taria-hidden=\"true\"\n\t\t\t\t>\n\t\t\t\t\t<circle cx=\"50%\" cy=\"50%\" r=\"1.875\" />\n\t\t\t\t</svg>,\n\t\t\t\t<svg\n\t\t\t\t\tviewBox=\"0 0 5 5\"\n\t\t\t\t\tclassName=\"slds-icon-score__negative\"\n\t\t\t\t\taria-hidden=\"true\"\n\t\t\t\t>\n\t\t\t\t\t<circle cx=\"50%\" cy=\"50%\" r=\"1.875\" />\n\t\t\t\t</svg>,\n\t\t\t];\n\t\t} else if (this.props.variant === 'strength') {\n\t\t\tchildren = [\n\t\t\t\t<svg viewBox=\"0 0 27 7\" aria-hidden=\"true\">\n\t\t\t\t\t<circle r=\"3.025\" cx=\"3.5\" cy=\"3.5\" />\n\t\t\t\t\t<circle r=\"3.025\" cx=\"13.5\" cy=\"3.5\" />\n\t\t\t\t\t<circle r=\"3.025\" cx=\"23.5\" cy=\"3.5\" />\n\t\t\t\t</svg>,\n\t\t\t];\n\t\t} else if (this.props.variant === 'trend') {\n\t\t\tchildren = [\n\t\t\t\t<svg viewBox=\"0 0 16 16\" aria-hidden=\"true\">\n\t\t\t\t\t<path\n\t\t\t\t\t\tclassName=\"slds-icon-trend__arrow\"\n\t\t\t\t\t\td=\"M.75 8H11M8 4.5L11.5 8 8 11.5\"\n\t\t\t\t\t/>\n\t\t\t\t\t<circle\n\t\t\t\t\t\tclassName=\"slds-icon-trend__circle\"\n\t\t\t\t\t\tcy=\"8\"\n\t\t\t\t\t\tcx=\"8\"\n\t\t\t\t\t\tr=\"7.375\"\n\t\t\t\t\t\ttransform=\"rotate(-28 8 8) scale(-1 1) translate(-16 0)\"\n\t\t\t\t\t/>\n\t\t\t\t</svg>,\n\t\t\t];\n\t\t} else if (this.props.variant === 'typing') {\n\t\t\tchildren = [\n\t\t\t\t<span className=\"slds-icon-typing__dot\" />,\n\t\t\t\t<span className=\"slds-icon-typing__dot\" />,\n\t\t\t\t<span className=\"slds-icon-typing__dot\" />,\n\t\t\t];\n\t\t\tif (!this.props.title) {\n\t\t\t\tdefaultAssistiveText = 'User is typing';\n\t\t\t}\n\t\t} else if (this.props.variant === 'waffle') {\n\t\t\tchildren = [\n\t\t\t\t<span className=\"slds-icon-waffle\">\n\t\t\t\t\t<span className=\"slds-r1\" />\n\t\t\t\t\t<span className=\"slds-r2\" />\n\t\t\t\t\t<span className=\"slds-r3\" />\n\t\t\t\t\t<span className=\"slds-r4\" />\n\t\t\t\t\t<span className=\"slds-r5\" />\n\t\t\t\t\t<span className=\"slds-r6\" />\n\t\t\t\t\t<span className=\"slds-r7\" />\n\t\t\t\t\t<span className=\"slds-r8\" />\n\t\t\t\t\t<span className=\"slds-r9\" />\n\t\t\t\t</span>,\n\t\t\t];\n\t\t\tif (!this.props.title) {\n\t\t\t\tdefaultAssistiveText = 'Open App Launcher';\n\t\t\t}\n\t\t}\n\n\t\t// eslint-disable-next-line fp/no-mutating-methods\n\t\tchildren.push(\n\t\t\t<span className=\"slds-assistive-text\">\n\t\t\t\t{this.props.assistiveText && this.props.assistiveText.label\n\t\t\t\t\t? this.props.assistiveText.label\n\t\t\t\t\t: defaultAssistiveText}\n\t\t\t</span>\n\t\t);\n\n\t\treturn children;\n\t}\n\n\trender() {\n\t\tconst children = this.getIconChildren();\n\t\tconst classes = [\n\t\t\t{\n\t\t\t\t'slds-is-animated': !this.props.isStatic,\n\t\t\t\t'slds-is-paused': this.props.isPaused,\n\t\t\t},\n\t\t];\n\t\tconst iconProps = {\n\t\t\ttitle: this.props.title,\n\t\t};\n\t\tlet element = 'span';\n\n\t\tif (this.props.variant === 'waffle') {\n\t\t\t// eslint-disable-next-line fp/no-mutating-methods\n\t\t\tclasses.unshift('slds-button', 'slds-icon-waffle_container');\n\t\t\telement = 'button';\n\t\t} else {\n\t\t\t// eslint-disable-next-line fp/no-mutating-methods\n\t\t\tclasses.unshift(`slds-icon-${this.props.variant}`);\n\n\t\t\tif (this.props.variant === 'eq') {\n\t\t\t\telement = 'div';\n\t\t\t} else if (this.props.variant === 'score') {\n\t\t\t\ticonProps['data-slds-state'] = this.props.scorePolarity\n\t\t\t\t\t? this.props.scorePolarity\n\t\t\t\t\t: 'positive';\n\t\t\t} else if (this.props.variant === 'strength') {\n\t\t\t\ticonProps['data-slds-strength'] =\n\t\t\t\t\tthis.props.strengthLevel !== undefined\n\t\t\t\t\t\t? `${this.props.strengthLevel}`\n\t\t\t\t\t\t: '0';\n\t\t\t} else if (this.props.variant === 'trend') {\n\t\t\t\ticonProps['data-slds-trend'] = this.props.trendDirection\n\t\t\t\t\t? this.props.trendDirection\n\t\t\t\t\t: 'neutral';\n\t\t\t}\n\t\t}\n\n\t\ticonProps.className = classNames(classes, this.props.className);\n\n\t\treturn React.createElement(element, iconProps, ...children);\n\t}\n}\n\nDynamicIcon.displayName = DYNAMIC_ICON;\nDynamicIcon.propTypes = propTypes;\n\nexport default DynamicIcon;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// # Edit Dialog Popver Component\n\n// ### React\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport assign from 'lodash.assign';\n\nimport { POPOVER_EDIT_DIALOG } from '../../utilities/constants';\n\nimport Button from '../button';\nimport Popover from './index';\n\nconst defaultProps = {\n\tlabels: {\n\t\tcancel: 'Cancel',\n\t\tsave: 'Save',\n\t},\n};\nclass EditDialog extends React.Component {\n\t// ### Display Name\n\t// Always use the canonical component name as the React display name.\n\tstatic displayName = POPOVER_EDIT_DIALOG;\n\n\t// ### Prop Types\n\tstatic propTypes = {\n\t\t/**\n\t\t * Disables the edit dialog and prevents clicking it.\n\t\t */\n\t\tdisabled: PropTypes.bool,\n\t\t/**\n\t\t * By default, a unique ID will be created at render to support keyboard navigation, ARIA roles, and connect the popover to the triggering button. This ID will be applied to the triggering element. `${id}-popover`, `${id}-dialog-heading`, `${id}-dialog-body` are also created.\n\t\t */\n\t\tid: PropTypes.string,\n\t\t/**\n\t\t * Set to true when inputs within the popover are modified.\n\t\t */\n\t\tisModified: PropTypes.bool,\n\t\t/**\n\t\t * **Text labels for internationalization**\n\t\t * This object is merged with the default props object on every render.\n\t\t * * `cancel`: text for Cancel button\n\t\t * * `save`: text for Save button\n\t\t *\n\t\t * _Tested with snapshot testing._\n\t\t */\n\t\tlabels: PropTypes.shape({\n\t\t\tcancel: PropTypes.oneOfType([PropTypes.string, PropTypes.node]),\n\t\t\tsave: PropTypes.oneOfType([PropTypes.string, PropTypes.node]),\n\t\t}),\n\t\t/**\n\t\t * This function is passed onto the cancel `Button`. Triggered when the trigger button is clicked.\n\t\t */\n\t\tonCancel: PropTypes.func,\n\t\t/**\n\t\t * This function is passed onto the save `Button`. Triggered when the trigger button is clicked.\n\t\t */\n\t\tonSave: PropTypes.func,\n\t\t/**\n\t\t * Popover of type `~/components/popover`. This popover will be cloned and additional props appended, if passed in.\n\t\t */\n\t\tpopover: PropTypes.node,\n\t};\n\n\thandleOpen = () => {\n\t\tthis.setState({ isOpen: true });\n\t};\n\n\thandleClose = () => {\n\t\tthis.setState({ isOpen: false });\n\t};\n\n\trender() {\n\t\tconst { onCancel, onSave, ...restProps } = this.props;\n\n\t\t// trigger button will either be passed in children or defaults to an edit button.\n\t\tconst children = this.props.children ? (\n\t\t\tthis.props.children\n\t\t) : (\n\t\t\t<Button\n\t\t\t\tassistiveText={{ icon: 'Edit: Status' }}\n\t\t\t\tclassName=\"slds-button_reset\"\n\t\t\t\tdisabled={this.props.disabled}\n\t\t\t\ticonCategory=\"utility\"\n\t\t\t\ticonClassName=\"slds-button__icon slds-button__icon_hint\"\n\t\t\t\ticonName=\"edit\"\n\t\t\t\tonClick={this.props.handleOpen}\n\t\t\t\tvariant=\"icon\"\n\t\t\t\tstyle={{ verticalAlign: 'middle' }}\n\t\t\t/>\n\t\t);\n\n\t\tconst labels = assign({}, defaultProps.labels, this.props.labels);\n\n\t\treturn (\n\t\t\t<Popover\n\t\t\t\tclassNameFooter={[\n\t\t\t\t\t'slds-p-top_xxx-small',\n\t\t\t\t\t'slds-p-bottom_xx-small',\n\t\t\t\t\t'slds-p-right_large',\n\t\t\t\t]}\n\t\t\t\tclassNameBody={['slds-p-bottom_xx-small']}\n\t\t\t\tfooter={\n\t\t\t\t\t<div className=\"slds-text-align_right slds-text-align_right slds-p-bottom_x-small slds-p-right_xx-small\">\n\t\t\t\t\t\t<Button label={labels.cancel} onClick={onCancel} />\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tdisabled={!this.props.isModified}\n\t\t\t\t\t\t\tvariant=\"brand\"\n\t\t\t\t\t\t\tlabel={labels.save}\n\t\t\t\t\t\t\tonClick={onSave}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</div>\n\t\t\t\t}\n\t\t\t\tfooterStyle={{ borderTop: '0px' }}\n\t\t\t\tonClose={this.handleClose}\n\t\t\t\tonRequestClose={this.handleClose}\n\t\t\t\tonOpen={this.handleOpen}\n\t\t\t\t{...restProps}\n\t\t\t>\n\t\t\t\t{children}\n\t\t\t</Popover>\n\t\t);\n\t}\n}\n\nEditDialog.defaultProps = defaultProps;\n\nexport default EditDialog;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// Implements the [Expression Group design pattern](https://lightningdesignsystem.com/components/expression/) in React.\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport assign from 'lodash.assign';\n\n// ### shortid\n// [npmjs.com/package/shortid](https://www.npmjs.com/package/shortid)\n// shortid is a short, non-sequential, url-friendly, unique id generator\nimport shortid from 'shortid';\n\nimport { EXPRESSION_GROUP } from '../../utilities/constants';\n\nimport Combobox from '../combobox';\nimport Button from '../button';\nimport Input from '../input';\n\nconst propTypes = {\n\t/**\n\t * **Assistive text for accessibility.**\n\t * * `label`: For users of assistive technology, assistive text for the expression group's label.\n\t * * `addCondition`: For users of assistive technology, assistive text for the Add Condition button's icon.\n\t * * `addGroup`: For users of assistive technology, assistive text for the Add Group button's icon.\n\t */\n\tassistiveText: PropTypes.shape({\n\t\tlabel: PropTypes.string,\n\t\taddCondition: PropTypes.string,\n\t\taddGroup: PropTypes.string,\n\t}),\n\t/**\n\t * HTML id for ExpressionGroup component.\n\t */\n\tid: PropTypes.string,\n\t/**\n\t * `ExpressionGroup` children, accepts `ExpressionCondition`. (Also accepts sub-`ExpressionGroup` if `isRoot`)\n\t */\n\tchildren: PropTypes.node,\n\t/**\n\t * CSS classes to be added to the element with class `.slds-expression__group`. Uses `classNames` [API](https://github.com/JedWatson/classnames).\n\t */\n\tclassName: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\t/**\n\t * Callbacks for various expression group events such as trigger change, add condition etc\n\t */\n\tevents: PropTypes.shape({\n\t\tonChangeTrigger: PropTypes.func,\n\t\tonChangeCustomLogicValue: PropTypes.func,\n\t\tonAddCondition: PropTypes.func,\n\t\tonAddGroup: PropTypes.func,\n\t}),\n\t/**\n\t * If set to true, the component will focus on the first focusable input upon mounting. This is useful for accessibility when adding new groups.\n\t */\n\tfocusOnMount: PropTypes.bool,\n\t/**\n\t * **Text labels for internationalization**\n\t * This object is merged with the default props object on every render.\n\t * * `addCondition`: Label for the Add Condition Button. Defaults to \"Add Condition\"\n\t * * `addGroup`: Label for the Add Group Button. Defaults to \"Add Group\"\n\t * * `customLogic`: Label for the text box for inputting `customLogicValue`, if the `triggerType` is `custom`. Defaults to \"Custom Logic\"\n\t * * `label`: Label for the expression group, to indicate condition connectors based on the parent's trigger-type chosen. Defaults to \"\"\n\t * * `takeAction`: Label for the `triggerType` selector. Defaults to \"Take Action When\"\n\t * * `triggerAll`: Label for the `all` value within the trigger selector\n\t * * `triggerAlways`: Label for the `always` value within the trigger selector\n\t * * `triggerAny`: Label for the `any` value within the trigger selector\n\t * * `triggerCustom`: Label for the `custom` value within the trigger selector\n\t * * `triggerFormula`: Label for the `formula` value within the trigger selector\n\t */\n\tlabels: PropTypes.shape({\n\t\taddCondition: PropTypes.string,\n\t\taddGroup: PropTypes.string,\n\t\tcustomLogic: PropTypes.string,\n\t\tlabel: PropTypes.string,\n\t\ttakeAction: PropTypes.string,\n\t\ttriggerAll: PropTypes.string,\n\t\ttriggerAlways: PropTypes.string,\n\t\ttriggerAny: PropTypes.string,\n\t\ttriggerCustom: PropTypes.string,\n\t\ttriggerFormula: PropTypes.string,\n\t}),\n\t/**\n\t * Whether the group is at root level\n\t */\n\tisRoot: PropTypes.bool,\n\t/**\n\t * Trigger type for the Group\n\t */\n\ttriggerType: PropTypes.oneOf(['all', 'any', 'custom', 'always', 'formula']),\n\t/**\n\t * Sets the input for the custom logic value input box, shown if the `triggerType` is set to `custom`.\n\t */\n\tcustomLogicValue: PropTypes.string,\n};\n\nconst defaultProps = {\n\ttriggerType: 'all',\n\tcustomLogicValue: '',\n\tlabels: {\n\t\tlabel: '',\n\t\ttakeAction: 'Take Action When',\n\t\tcustomLogic: 'Custom Logic',\n\t\taddCondition: 'Add Condition',\n\t\taddGroup: 'Add Group',\n\t\ttriggerAll: 'All Conditions Are Met',\n\t\ttriggerAny: 'Any Condition Is Met',\n\t\ttriggerCustom: 'Custom Logic Is Met',\n\t\ttriggerAlways: 'Always (No Criteria)',\n\t\ttriggerFormula: 'Formula Evaluates To True',\n\t},\n};\n\n/**\n * Expression Group Component\n */\nclass ExpressionGroup extends React.Component {\n\t/**\n\t * Return triggerType selected, processing the triggerType objects generated\n\t */\n\tstatic triggerChange(event, data) {\n\t\tconst selection = data.selection[0].id;\n\t\tlet trigger = '';\n\t\tif (selection === '1') {\n\t\t\ttrigger = 'all';\n\t\t} else if (selection === '2') {\n\t\t\ttrigger = 'any';\n\t\t} else if (selection === '3') {\n\t\t\ttrigger = 'custom';\n\t\t} else if (selection === '4') {\n\t\t\ttrigger = 'always';\n\t\t} else if (selection === '5') {\n\t\t\ttrigger = 'formula';\n\t\t}\n\t\treturn trigger;\n\t}\n\n\tconstructor(props) {\n\t\tsuper(props);\n\t\tthis.generatedId = shortid.generate();\n\t}\n\n\tcomponentDidMount() {\n\t\tif (this.props.focusOnMount && this.rootNode) {\n\t\t\tconst input = this.rootNode.querySelector('input');\n\t\t\tif (input) {\n\t\t\t\tinput.focus();\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Get the Expression Group's HTML id. Generate a new one if no ID present.\n\t */\n\tgetId() {\n\t\treturn this.props.id || this.generatedId;\n\t}\n\n\t/**\n\t * Generate and return trigger type objects, with labels either sent as props or using default props.\n\t */\n\tgetTriggers() {\n\t\tconst labels = assign({}, defaultProps.labels, this.props.labels);\n\t\treturn [\n\t\t\t{ id: '1', label: labels.triggerAll },\n\t\t\t{ id: '2', label: labels.triggerAny },\n\t\t\t{ id: '3', label: labels.triggerCustom },\n\t\t\t{ id: '4', label: labels.triggerAlways },\n\t\t\t{ id: '5', label: labels.triggerFormula },\n\t\t];\n\t}\n\n\t/**\n\t * Returns object of trigger from trigger passed as prop\n\t */\n\tgetTriggerSelection() {\n\t\tconst selection = this.props.triggerType;\n\t\tconst Triggers = this.getTriggers();\n\t\tconst t = [];\n\t\tif (selection === 'all') {\n\t\t\t// eslint-disable-next-line fp/no-mutating-methods\n\t\t\tt.push(Triggers[0]);\n\t\t} else if (selection === 'any') {\n\t\t\t// eslint-disable-next-line fp/no-mutating-methods\n\t\t\tt.push(Triggers[1]);\n\t\t} else if (selection === 'custom') {\n\t\t\t// eslint-disable-next-line fp/no-mutating-methods\n\t\t\tt.push(Triggers[2]);\n\t\t} else if (selection === 'always') {\n\t\t\t// eslint-disable-next-line fp/no-mutating-methods\n\t\t\tt.push(Triggers[3]);\n\t\t} else if (selection === 'formula') {\n\t\t\t// eslint-disable-next-line fp/no-mutating-methods\n\t\t\tt.push(Triggers[4]);\n\t\t}\n\t\treturn t;\n\t}\n\n\trender() {\n\t\tconst assistiveText = assign(\n\t\t\t{},\n\t\t\tdefaultProps.assistiveText,\n\t\t\tthis.props.assistiveText\n\t\t);\n\t\tconst labels = assign({}, defaultProps.labels, this.props.labels);\n\n\t\tconst triggerCombobox = (\n\t\t\t<Combobox\n\t\t\t\tevents={{\n\t\t\t\t\tonSelect: (event, data) =>\n\t\t\t\t\t\tthis.props.events.onChangeTrigger(event, {\n\t\t\t\t\t\t\ttriggerType: ExpressionGroup.triggerChange(event, data),\n\t\t\t\t\t\t}),\n\t\t\t\t}}\n\t\t\t\tid={`${this.getId()}-take-action-trigger`}\n\t\t\t\tmultiple={false}\n\t\t\t\toptions={this.getTriggers()}\n\t\t\t\tvariant=\"readonly\"\n\t\t\t\tlabels={{ label: labels.takeAction }}\n\t\t\t\tselection={this.getTriggerSelection()}\n\t\t\t/>\n\t\t);\n\n\t\tconst buttons =\n\t\t\tthis.props.triggerType !== 'always' &&\n\t\t\tthis.props.triggerType !== 'formula' ? (\n\t\t\t\t<div className=\"slds-expression__buttons\">\n\t\t\t\t\t<Button\n\t\t\t\t\t\ticonCategory=\"utility\"\n\t\t\t\t\t\ticonName=\"add\"\n\t\t\t\t\t\ticonPosition=\"left\"\n\t\t\t\t\t\tid={`${this.getId()}-add-condition-button`}\n\t\t\t\t\t\tlabel={labels.addCondition}\n\t\t\t\t\t\tassistiveText={{ icon: assistiveText.addCondition }}\n\t\t\t\t\t\tonClick={this.props.events.onAddCondition}\n\t\t\t\t\t/>\n\t\t\t\t\t{this.props.isRoot ? (\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\ticonCategory=\"utility\"\n\t\t\t\t\t\t\ticonName=\"add\"\n\t\t\t\t\t\t\ticonPosition=\"left\"\n\t\t\t\t\t\t\tid={`${this.getId()}-add-group-button`}\n\t\t\t\t\t\t\tlabel={labels.addGroup}\n\t\t\t\t\t\t\tassistiveText={{ icon: assistiveText.addGroup }}\n\t\t\t\t\t\t\tonClick={this.props.events.onAddGroup}\n\t\t\t\t\t\t/>\n\t\t\t\t\t) : null}\n\t\t\t\t</div>\n\t\t\t) : null;\n\n\t\tlet body = null;\n\n\t\tif (this.props.triggerType !== 'always') {\n\t\t\tif (this.props.isRoot && this.props.triggerType === 'formula') {\n\t\t\t\tbody = this.props.children;\n\t\t\t} else {\n\t\t\t\tbody = (\n\t\t\t\t\t<React.Fragment>\n\t\t\t\t\t\t{this.props.triggerType === 'custom' ? (\n\t\t\t\t\t\t\t<Input\n\t\t\t\t\t\t\t\tlabel={labels.customLogic}\n\t\t\t\t\t\t\t\tclassName=\"slds-expression__custom-logic\"\n\t\t\t\t\t\t\t\tid={`${this.getId()}-custom-logic-input`}\n\t\t\t\t\t\t\t\tvalue={this.props.customLogicValue}\n\t\t\t\t\t\t\t\tvariant=\"base\"\n\t\t\t\t\t\t\t\tonChange={this.props.events.onChangeCustomLogicValue}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) : null}\n\t\t\t\t\t\t<ul>{this.props.children}</ul>\n\t\t\t\t\t</React.Fragment>\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\n\t\tif (this.props.isRoot) {\n\t\t\tif (this.props.triggerType === 'formula') {\n\t\t\t\treturn (\n\t\t\t\t\t<React.Fragment>\n\t\t\t\t\t\t<div className=\"slds-expression__options\">{triggerCombobox}</div>\n\t\t\t\t\t\t{body}\n\t\t\t\t\t</React.Fragment>\n\t\t\t\t);\n\t\t\t}\n\n\t\t\treturn (\n\t\t\t\t<div className={classNames(this.props.className)} id={this.getId()}>\n\t\t\t\t\t<div className=\"slds-expression__options\">{triggerCombobox}</div>\n\t\t\t\t\t{body}\n\t\t\t\t\t{buttons}\n\t\t\t\t</div>\n\t\t\t);\n\t\t}\n\n\t\treturn (\n\t\t\t<li\n\t\t\t\tclassName={classNames('slds-expression__group', this.props.className)}\n\t\t\t\tid={this.getId()}\n\t\t\t\tref={(rootNode) => {\n\t\t\t\t\tthis.rootNode = rootNode;\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\t<fieldset>\n\t\t\t\t\t<legend className=\"slds-expression__legend slds-expression__legend_group\">\n\t\t\t\t\t\t<span>{labels.label}</span>\n\t\t\t\t\t\t<span className=\"slds-assistive-text\">{assistiveText.label}</span>\n\t\t\t\t\t</legend>\n\t\t\t\t\t<div className=\"slds-expression__options\">{triggerCombobox}</div>\n\t\t\t\t\t{body}\n\t\t\t\t\t{buttons}\n\t\t\t\t</fieldset>\n\t\t\t</li>\n\t\t);\n\t}\n}\n\nExpressionGroup.displayName = EXPRESSION_GROUP;\nExpressionGroup.propTypes = propTypes;\nExpressionGroup.defaultProps = defaultProps;\n\nexport default ExpressionGroup;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// Implements the [Expression design pattern](https://lightningdesignsystem.com/components/expression/) in React.\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\n\n// ### shortid\n// [npmjs.com/package/shortid](https://www.npmjs.com/package/shortid)\n// shortid is a short, non-sequential, url-friendly, unique id generator\nimport shortid from 'shortid';\nimport assign from 'lodash.assign';\nimport { EXPRESSION } from '../../utilities/constants';\nimport ExpressionGroup from './group';\n\nconst propTypes = {\n\t/**\n\t * HTML id for component.\n\t */\n\tid: PropTypes.string,\n\t/**\n\t * `Expression` children, accepts `ExpressionCondition` & `ExpressionGroup`\n\t */\n\tchildren: PropTypes.node,\n\t/**\n\t * Callbacks for various expression events such as trigger change, add group etc\n\t */\n\tevents: PropTypes.shape({\n\t\tonChangeTrigger: PropTypes.func,\n\t\tonAddGroup: PropTypes.func,\n\t\tonAddCondition: PropTypes.func,\n\t\tonChangeCustomLogicValue: PropTypes.func,\n\t}),\n\t/**\n\t * **Text labels for internationalization**\n\t * This object is merged with the default props object on every render.\n\t * * `addCondition`: Label for the Add Condition Button. Defaults to \"Add Condition\"\n\t * * `addGroup`: Label for the Add Group Button. Defaults to \"Add Group\"\n\t * * `customLogic`: Label for the text box for inputting `customLogicValue`, if the `triggerType` is `custom`. Defaults to \"Custom Logic\"\n\t * * `takeAction`: Label for the `triggerType` selector. Defaults to \"Take Action When\"\n\t * * `title` : Title for the Expression. Defaults to \"Conditions\"\n\t * * `triggerAll`: Label for the `all` value within the trigger selector\n\t * * `triggerAlways`: Label for the `always` value within the trigger selector\n\t * * `triggerAny`: Label for the `any` value within the trigger selector\n\t * * `triggerCustom`: Label for the `custom` value within the trigger selector\n\t * * `triggerFormula`: Label for the `formula` value within the trigger selector\n\t */\n\tlabels: PropTypes.shape({\n\t\taddCondition: PropTypes.string,\n\t\taddGroup: PropTypes.string,\n\t\tcustomLogic: PropTypes.string,\n\t\ttakeAction: PropTypes.string,\n\t\ttitle: PropTypes.string,\n\t\ttriggerAll: PropTypes.string,\n\t\ttriggerAlways: PropTypes.string,\n\t\ttriggerAny: PropTypes.string,\n\t\ttriggerCustom: PropTypes.string,\n\t\ttriggerFormula: PropTypes.string,\n\t}),\n\t/**\n\t * CSS classes to be added to the element with class `.slds-expression`. Uses `classNames` [API](https://github.com/JedWatson/classnames).\n\t */\n\tclassName: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\t/**\n\t * Sets the trigger type for the expression.\n\t */\n\ttriggerType: PropTypes.oneOf(['all', 'any', 'custom', 'always', 'formula']),\n\t/**\n\t * Sets the input for the custom logic value input box, shown if the `triggerType` is set to `custom`.\n\t */\n\tcustomLogicValue: PropTypes.string,\n};\n\nconst defaultProps = {\n\tlabels: {\n\t\ttitle: 'Conditions',\n\t},\n};\n\n/**\n * Expression builders help users declaratively construct logical expressions.\n * These expressions can be used when querying for a filtered set of records,\n * creating rules to control when something executes, or any other conditional logic.\n */\nclass Expression extends React.Component {\n\t// eslint-disable-next-line camelcase, react/sort-comp\n\tUNSAFE_componentWillMount() {\n\t\tthis.generatedId = shortid.generate();\n\t}\n\n\t/**\n\t * Get the Expression Group's HTML id. Generate a new one if no ID present.\n\t */\n\tgetId() {\n\t\treturn this.props.id || this.generatedId;\n\t}\n\n\trender() {\n\t\tconst labels = assign({}, defaultProps.labels, this.props.labels);\n\n\t\treturn (\n\t\t\t<div\n\t\t\t\tclassName={classNames('slds-expression', this.props.className)}\n\t\t\t\tid={this.getId()}\n\t\t\t>\n\t\t\t\t<h2 className=\"slds-expression__title\">{labels.title}</h2>\n\t\t\t\t<ExpressionGroup\n\t\t\t\t\tisRoot\n\t\t\t\t\tid={`${this.getId()}-group`}\n\t\t\t\t\tevents={this.props.events}\n\t\t\t\t\tlabels={labels}\n\t\t\t\t\tcustomLogicValue={this.props.customLogicValue}\n\t\t\t\t\ttriggerType={this.props.triggerType}\n\t\t\t\t>\n\t\t\t\t\t{this.props.children}\n\t\t\t\t</ExpressionGroup>\n\t\t\t</div>\n\t\t);\n\t}\n}\n\nExpression.displayName = EXPRESSION;\nExpression.propTypes = propTypes;\nExpression.defaultProps = defaultProps;\n\nexport default Expression;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// Implements the [Expression Condition design pattern](https://lightningdesignsystem.com/components/expression/) in React.\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport assign from 'lodash.assign';\n\n// ### shortid\n// [npmjs.com/package/shortid](https://www.npmjs.com/package/shortid)\n// shortid is a short, non-sequential, url-friendly, unique id generator\nimport shortid from 'shortid';\n\nimport { EXPRESSION_CONDITION } from '../../utilities/constants';\n\nimport Combobox from '../combobox';\nimport Input from '../input';\nimport Button from '../button';\n\nconst propTypes = {\n\t/**\n\t * **Assistive text for accessibility.**\n\t * * `title`: For users of assistive technology, title for the condition fieldset. Defaults to 'Condition'\n\t * * `deleteIcon`: For users of assistive technology, assistive text for the Delete Condition button's icon. Defaults to 'Delete Condition'\n\t */\n\tassistiveText: PropTypes.shape({\n\t\ttitle: PropTypes.string,\n\t\tdeleteIcon: PropTypes.string,\n\t}),\n\t/**\n\t * HTML id for component.\n\t */\n\tid: PropTypes.string,\n\t/**\n\t * CSS classes to be added to the element with class `.slds-expression__row`. Uses `classNames` [API](https://github.com/JedWatson/classnames).\n\t */\n\tclassName: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\t/**\n\t * Callbacks for various expression condition events such as value change, delete etc\n\t */\n\tevents: PropTypes.shape({\n\t\tonChangeResource: PropTypes.func,\n\t\tonChangeOperator: PropTypes.func,\n\t\tonChangeValue: PropTypes.func,\n\t\tonDelete: PropTypes.func,\n\t}).isRequired,\n\t/**\n\t * If set to true, the component will focus on the first focusable input upon mounting. This is useful for accessibility when adding new conditions.\n\t */\n\tfocusOnMount: PropTypes.bool,\n\t/**\n\t * **Text labels for internationalization**\n\t * This object is merged with the default props object on every\n\t * * `deleteCondition`: Title for the delete condition button. Defaults to \"Delete Condition\".\n\t * * `label`: Label for the condition, shown left-most in the row. Left empty on default.\n\t * * `operator`: Label for the operator selection dropdown. Defaults to \"Operator\"\n\t * * `resource`: Label for the resource selection dropdown. Defaults to \"Resource\"\n\t * * `value`: Label for the value input box. Defaults to \"Value\"\n\t */\n\tlabels: PropTypes.shape({\n\t\tdeleteCondition: PropTypes.string,\n\t\tlabel: PropTypes.string,\n\t\toperator: PropTypes.string,\n\t\tresource: PropTypes.string,\n\t\tvalue: PropTypes.string,\n\t}),\n\t/**\n\t * Controls whether the condition is a sub-condition inside a ExpressionGroup\n\t */\n\tisSubCondition: PropTypes.bool,\n\t/**\n\t * **Array of item objects that are options in the resource selection dropdown menu.**\n\t * Each object can contain:\n\t * * `id`: A unique identifier string.\n\t * * `label`: A primary string of text for a menu item.\n\t * ```\n\t * {\n\t * \tid: '1',\n\t * \tlabel: 'Resource 1',\n\t * },\n\t * ```\n\t * Note: The dropdown uses the Combobox Component, and `resourcesList` is\n\t * passed as `options` props to it, and hence shall also support more\n\t * custom objects. Please refer to the Combobox documentation.\n\t */\n\tresourcesList: PropTypes.arrayOf(PropTypes.object),\n\t/**\n\t * Accepts an object from the `resourcesList` which needs to be selected\n\t * for the resource dropdown menu,\n\t */\n\tresourceSelected: PropTypes.object,\n\t/**\n\t * **Array of item objects that are options in the operator selection dropdown menu.**\n\t * Each object can contain:\n\t * * `id`: A unique identifier string.\n\t * * `label`: A primary string of text for a menu item.\n\t * ```\n\t * {\n\t * \tid: '1',\n\t * \tlabel: 'Operator 1',\n\t * },\n\t * ```\n\t * Note: The dropdown uses the Combobox Component, and `operatorList` is\n\t * passed as `options` props to it, and hence shall also support more\n\t * custom objects. Please refer to the Combobox documentation.\n\t */\n\toperatorsList: PropTypes.arrayOf(PropTypes.object),\n\t/**\n\t * Accepts an object from the `operatorSelected` which needs to be selected\n\t * for the operator dropdown menu,\n\t */\n\toperatorSelected: PropTypes.object,\n\t/**\n\t * Sets the input value for the Value input field.\n\t */\n\tvalue: PropTypes.string,\n};\n\nconst defaultProps = {\n\tassistiveText: {\n\t\ttitle: 'Condition',\n\t\tdeleteIcon: 'Delete Condition',\n\t},\n\tlabels: {\n\t\tlabel: '',\n\t\toperator: 'Operator',\n\t\tresource: 'Resource',\n\t\tvalue: 'Value',\n\t\tdeleteCondition: 'Delete Condition',\n\t},\n\tvalue: '',\n};\n/**\n * Expression Condition Component\n */\nclass ExpressionCondition extends React.Component {\n\tconstructor(props) {\n\t\tsuper(props);\n\t\tthis.generatedId = shortid.generate();\n\t}\n\n\tcomponentDidMount() {\n\t\tif (this.props.focusOnMount && this.rootNode) {\n\t\t\tconst input = this.rootNode.querySelector('input');\n\t\t\tif (input) {\n\t\t\t\tinput.focus();\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Get the Expression Condition's HTML id. Generate a new one if no ID present.\n\t */\n\tgetId() {\n\t\treturn this.props.id || this.generatedId;\n\t}\n\n\trender() {\n\t\tconst assistiveText = assign(\n\t\t\t{},\n\t\t\tdefaultProps.assistiveText,\n\t\t\tthis.props.assistiveText\n\t\t);\n\t\tconst labels = assign({}, defaultProps.labels, this.props.labels);\n\t\treturn (\n\t\t\t<li\n\t\t\t\tclassName={classNames(\n\t\t\t\t\t`slds-expression__row`,\n\t\t\t\t\t{ 'slds-expression__row_group': this.props.isSubCondition },\n\t\t\t\t\tthis.props.className\n\t\t\t\t)}\n\t\t\t\tid={this.getId()}\n\t\t\t\tref={(rootNode) => {\n\t\t\t\t\tthis.rootNode = rootNode;\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\t<fieldset>\n\t\t\t\t\t<legend className=\"slds-expression__legend\">\n\t\t\t\t\t\t<span>{labels.label}</span>\n\t\t\t\t\t\t<span className=\"slds-assistive-text\">{assistiveText.title}</span>\n\t\t\t\t\t</legend>\n\t\t\t\t\t<div className=\"slds-grid slds-gutters_xx-small\">\n\t\t\t\t\t\t<div className=\"slds-col\">\n\t\t\t\t\t\t\t<Combobox\n\t\t\t\t\t\t\t\tevents={{\n\t\t\t\t\t\t\t\t\tonSelect: this.props.events.onChangeResource,\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\tid={`${this.getId()}-resource-selector`}\n\t\t\t\t\t\t\t\tmultiple={false}\n\t\t\t\t\t\t\t\tvariant=\"readonly\"\n\t\t\t\t\t\t\t\tlabels={{ label: labels.resource }}\n\t\t\t\t\t\t\t\toptions={this.props.resourcesList}\n\t\t\t\t\t\t\t\tselection={[this.props.resourceSelected]}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div className=\"slds-col slds-grow-none\">\n\t\t\t\t\t\t\t<Combobox\n\t\t\t\t\t\t\t\tevents={{\n\t\t\t\t\t\t\t\t\tonSelect: this.props.events.onChangeOperator,\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\tid={`${this.getId()}-operator-selector`}\n\t\t\t\t\t\t\t\tmultiple={false}\n\t\t\t\t\t\t\t\tvariant=\"readonly\"\n\t\t\t\t\t\t\t\tlabels={{ label: labels.operator }}\n\t\t\t\t\t\t\t\toptions={this.props.operatorsList}\n\t\t\t\t\t\t\t\tselection={[this.props.operatorSelected]}\n\t\t\t\t\t\t\t\tsingleInputDisabled={!this.props.resourceSelected}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div className=\"slds-col\">\n\t\t\t\t\t\t\t<Input\n\t\t\t\t\t\t\t\tid={`${this.getId()}-input`}\n\t\t\t\t\t\t\t\tlabel={labels.value}\n\t\t\t\t\t\t\t\tvalue={this.props.value}\n\t\t\t\t\t\t\t\tonChange={this.props.events.onChangeValue}\n\t\t\t\t\t\t\t\tdisabled={!this.props.resourceSelected}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div className=\"slds-col slds-grow-none\">\n\t\t\t\t\t\t\t<div className=\"slds-form-element\">\n\t\t\t\t\t\t\t\t<span className=\"slds-form-element__label\"> </span>\n\t\t\t\t\t\t\t\t<div className=\"slds-form-element__control\">\n\t\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\t\tid={`${this.getId()}-delete-button`}\n\t\t\t\t\t\t\t\t\t\tvariant=\"outline-brand\"\n\t\t\t\t\t\t\t\t\t\ticonCategory=\"utility\"\n\t\t\t\t\t\t\t\t\t\ticonName=\"delete\"\n\t\t\t\t\t\t\t\t\t\ticonVariant=\"border-filled\"\n\t\t\t\t\t\t\t\t\t\tonClick={this.props.events.onDelete}\n\t\t\t\t\t\t\t\t\t\tassistiveText={{\n\t\t\t\t\t\t\t\t\t\t\ticon: assistiveText.deleteIcon,\n\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\ttitle={labels.deleteCondition}\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t</fieldset>\n\t\t\t</li>\n\t\t);\n\t}\n}\n\nExpressionCondition.displayName = EXPRESSION_CONDITION;\nExpressionCondition.propTypes = propTypes;\nExpressionCondition.defaultProps = defaultProps;\n\nexport default ExpressionCondition;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// Implements the [Expression Formula design pattern](https://lightningdesignsystem.com/components/expression/) in React.\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport assign from 'lodash.assign';\nimport ContentEditable from 'react-contenteditable';\n\n// ### shortid\n// [npmjs.com/package/shortid](https://www.npmjs.com/package/shortid)\n// shortid is a short, non-sequential, url-friendly, unique id generator\nimport shortid from 'shortid';\n\nimport { EXPRESSION_FORMULA } from '../../utilities/constants';\n\nimport Button from '../button';\n\nconst propTypes = {\n\t/**\n\t * **Assistive text for accessibility.**\n\t * * `help`: Assistive text for help icon\n\t */\n\tassistiveText: PropTypes.shape({\n\t\thelp: PropTypes.string,\n\t}),\n\t/**\n\t * HTML id for component.\n\t */\n\tid: PropTypes.string,\n\t/**\n\t * CSS classes to be added to the element with class `.slds-form-element`. Uses `classNames` [API](https://github.com/JedWatson/classnames).\n\t */\n\tclassName: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\t/**\n\t * Callbacks for various expression formula events such as text editor change, check syntax etc\n\t */\n\tevents: PropTypes.shape({\n\t\tonChangeTextEditor: PropTypes.func,\n\t\tonClickHelp: PropTypes.func,\n\t\tonClickCheckSyntax: PropTypes.func,\n\t}),\n\t/**\n\t * **Text labels for internationalization**\n\t * This object is merged with the default props object on every render.\n\t * * `label`: Label for the Expression Formula group.Defaults to \"Formula\"\n\t * * `checkSyntax`: Label for the Check Syntax Button. Defaults to \"Check Syntax\"\n\t * * `textArea`: Label for the `triggerType` selector. Defaults to \"Take Action When\"\n\t */\n\tlabels: PropTypes.shape({\n\t\tlabel: PropTypes.string,\n\t\tcheckSyntax: PropTypes.string,\n\t\ttextArea: PropTypes.string,\n\t}),\n\t/**\n\t * Accepts a single combobox component, to select resource in the expression formula editor\n\t */\n\tresourceCombobox: PropTypes.node,\n\t/**\n\t * Accepts a single combobox component, to select function in the expression formula editor\n\t */\n\tfunctionCombobox: PropTypes.node,\n\t/**\n\t * Accepts a single input component, to enter operator in the expression formula editor\n\t */\n\toperatorInput: PropTypes.node,\n\t/**\n\t * Value for the text editor in expression formula editor\n\t */\n\ttextEditorValue: PropTypes.node,\n};\n\nconst defaultProps = {\n\tassistiveText: {\n\t\thelp: 'Help',\n\t},\n\tlabels: {\n\t\tlabel: 'Formula',\n\t\tcheckSyntax: 'Check Syntax',\n\t\ttextArea: 'Text Area',\n\t},\n};\n/**\n * Expression Formula Component\n */\nclass ExpressionFormula extends React.Component {\n\tconstructor() {\n\t\tsuper();\n\t\tthis.textEditorRef = React.createRef();\n\t\tthis.state = {\n\t\t\ttextEditorValue: 'Compose formula...', // default is set here to preserve functionality if not controlled by props.textEditorValue\n\t\t};\n\t\tthis.generatedId = shortid.generate();\n\t}\n\n\t/**\n\t * Get the Expression Condition's HTML id. Generate a new one if no ID present.\n\t */\n\tgetId() {\n\t\treturn this.props.id || this.generatedId;\n\t}\n\n\thandleTextEditorChange = (event) => {\n\t\tconst textEditorValue = event.target.value;\n\n\t\tif (this.props.textEditorValue === undefined) {\n\t\t\tthis.setState({ textEditorValue });\n\t\t}\n\n\t\tif (this.props.events && this.props.events.onChangeTextEditor) {\n\t\t\tthis.props.events.onChangeTextEditor(event, { textEditorValue });\n\t\t}\n\t};\n\n\trender() {\n\t\tconst assistiveText = assign(\n\t\t\t{},\n\t\t\tdefaultProps.assistiveText,\n\t\t\tthis.props.assistiveText\n\t\t);\n\t\tconst labels = assign({}, defaultProps.labels, this.props.labels);\n\n\t\treturn (\n\t\t\t<React.Fragment>\n\t\t\t\t<div\n\t\t\t\t\tid={this.getId()}\n\t\t\t\t\tclassName={classNames(\n\t\t\t\t\t\t`slds-expression_formula__rte`,\n\t\t\t\t\t\tthis.props.className\n\t\t\t\t\t)}\n\t\t\t\t>\n\t\t\t\t\t<div className=\"slds-form-element\">\n\t\t\t\t\t\t<span className=\"slds-form-element__label\">{labels.label}</span>\n\t\t\t\t\t\t<div className=\"slds-form-element__control\">\n\t\t\t\t\t\t\t<div className=\"slds-rich-text-editor slds-grid slds-grid_vertical slds-nowrap\">\n\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\trole=\"toolbar\"\n\t\t\t\t\t\t\t\t\tclassName=\"slds-rich-text-editor__toolbar slds-shrink-none\"\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<div className=\"slds-rich-text-editor__col slds-rich-text-editor__col_grow\">\n\t\t\t\t\t\t\t\t\t\t{this.props.resourceCombobox}\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t<div className=\"slds-rich-text-editor__col slds-rich-text-editor__col_grow\">\n\t\t\t\t\t\t\t\t\t\t{this.props.functionCombobox}\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t<div className=\"slds-rich-text-editor__col slds-rich-text-editor__col_grow\">\n\t\t\t\t\t\t\t\t\t\t{this.props.operatorInput}\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t<div className=\"slds-rich-text-editor__col\">\n\t\t\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\t\t\tassistiveText={{\n\t\t\t\t\t\t\t\t\t\t\t\ticon: assistiveText.help,\n\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t\tclassName=\"slds-button_icon-container\"\n\t\t\t\t\t\t\t\t\t\t\tid={`${this.getId()}-help-button`}\n\t\t\t\t\t\t\t\t\t\t\tvariant=\"icon\"\n\t\t\t\t\t\t\t\t\t\t\ticonCategory=\"utility\"\n\t\t\t\t\t\t\t\t\t\t\ticonName=\"help\"\n\t\t\t\t\t\t\t\t\t\t\tonClick={this.props.events.onClickHelp}\n\t\t\t\t\t\t\t\t\t\t\ttitle={assistiveText.help}\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t<div className=\"slds-rich-text-editor__textarea slds-grid\">\n\t\t\t\t\t\t\t\t\t<ContentEditable\n\t\t\t\t\t\t\t\t\t\tid={`${this.getId()}-content-editor`}\n\t\t\t\t\t\t\t\t\t\taria-label={this.props.labels.textArea}\n\t\t\t\t\t\t\t\t\t\tclassName=\"slds-rich-text-area__content slds-text-color_weak slds-grow\"\n\t\t\t\t\t\t\t\t\t\tinnerRef={this.textEditorRef}\n\t\t\t\t\t\t\t\t\t\thtml={\n\t\t\t\t\t\t\t\t\t\t\tthis.props.textEditorValue !== undefined\n\t\t\t\t\t\t\t\t\t\t\t\t? this.props.textEditorValue\n\t\t\t\t\t\t\t\t\t\t\t\t: this.state.textEditorValue\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\tonChange={this.handleTextEditorChange}\n\t\t\t\t\t\t\t\t\t\tdisabled={false}\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t\t<div className=\"slds-m-top_small\">\n\t\t\t\t\t<Button\n\t\t\t\t\t\tid={`${this.getId()}-check-syntax-button`}\n\t\t\t\t\t\tvariant=\"neutral\"\n\t\t\t\t\t\tlabel={labels.checkSyntax}\n\t\t\t\t\t\tonClick={this.props.events.onClickCheckSyntax}\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t</React.Fragment>\n\t\t);\n\t}\n}\n\nExpressionFormula.displayName = EXPRESSION_FORMULA;\nExpressionFormula.propTypes = propTypes;\nExpressionFormula.defaultProps = defaultProps;\n\nexport default ExpressionFormula;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// # FileFigure Component\n\n// Implements the [FileFigure design pattern](https://www.lightningdesignsystem.com/components/files/) in React.\n\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\nimport { FILES_FIGURE } from '../../../utilities/constants';\n\nimport Spinner from '../../spinner';\n\n/**\n * A file can have a image, an icon or a loading animation as its thumbnail\n */\nconst FileFigure = (props) => {\n\tif (props.isLoading) {\n\t\treturn (\n\t\t\t<React.Fragment>\n\t\t\t\t<span className=\"slds-assistive-text\">{props.assistiveText.link}</span>\n\t\t\t\t<Spinner\n\t\t\t\t\tsize=\"medium\"\n\t\t\t\t\tvariant=\"base\"\n\t\t\t\t\tassistiveText={{ label: props.assistiveText.loading }}\n\t\t\t\t\tcontainerStyle={{ zIndex: '1' }}\n\t\t\t\t/>\n\t\t\t</React.Fragment>\n\t\t);\n\t}\n\tif (props.image) {\n\t\treturn (\n\t\t\t<React.Fragment>\n\t\t\t\t<span className=\"slds-assistive-text\">{props.assistiveText.link}</span>\n\t\t\t\t<img\n\t\t\t\t\talt={props.assistiveText.image || props.labels.title}\n\t\t\t\t\tsrc={props.image}\n\t\t\t\t/>\n\t\t\t</React.Fragment>\n\t\t);\n\t}\n\treturn (\n\t\t<React.Fragment>\n\t\t\t<span className=\"slds-assistive-text\">{props.assistiveText.link}</span>\n\t\t\t<span\n\t\t\t\tclassName=\"slds-file__icon slds-icon_container\"\n\t\t\t\ttitle={props.labels.title}\n\t\t\t>\n\t\t\t\t{React.cloneElement(props.icon, {\n\t\t\t\t\tsize: null,\n\t\t\t\t})}\n\t\t\t</span>\n\t\t</React.Fragment>\n\t);\n};\n\nFileFigure.displayName = FILES_FIGURE;\n\nFileFigure.propTypes = {\n\tassistiveText: PropTypes.shape({\n\t\timage: PropTypes.string,\n\t}),\n\t/**\n\t * Whether the file figure is loading\n\t */\n\tisLoading: PropTypes.bool,\n\t/**\n\t * Image/Figure for the file\n\t */\n\timage: PropTypes.string,\n\t/**\n\t * Labels for the file figure component\n\t */\n\tlabels: PropTypes.shape({\n\t\ttitle: PropTypes.string.isRequired,\n\t}),\n};\n\nFileFigure.defaultProps = {\n\tisLoading: false,\n};\n\nexport default FileFigure;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// # FileActions Component\n\n// Implements the [FileActions design pattern](https://www.lightningdesignsystem.com/components/files/) in React.\n\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\nimport { FILES_ACTIONS } from '../../../utilities/constants';\nimport Button from '../../button';\nimport Icon from '../../icon';\n\n/**\n * A carousel allows multiple pieces of featured content to occupy an allocated amount of space.\n */\nconst FileActions = (props) => {\n\tconst actions = (\n\t\t<div className=\"slds-file__actions-menu\">\n\t\t\t<div className=\"slds-button-group\" role=\"group\">\n\t\t\t\t{typeof props.onClickDownload === 'function' ? (\n\t\t\t\t\t<Button\n\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\tvariant=\"icon\"\n\t\t\t\t\t\ticonSize=\"x-small\"\n\t\t\t\t\t\tonClick={props.onClickDownload}\n\t\t\t\t\t\ttitle=\"Download\"\n\t\t\t\t\t\tclassName=\"slds-button_icon-inverse\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<Icon\n\t\t\t\t\t\t\tassistiveText={{ label: props.assistiveText.download }}\n\t\t\t\t\t\t\tcategory=\"utility\"\n\t\t\t\t\t\t\tname=\"download\"\n\t\t\t\t\t\t\tsize=\"xx-small\"\n\t\t\t\t\t\t\tinverse={props.hasNoVisibleTitle}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</Button>\n\t\t\t\t) : null}\n\t\t\t\t{props.moreActionsDropdown\n\t\t\t\t\t? React.cloneElement(props.moreActionsDropdown, {\n\t\t\t\t\t\t\tassistiveText: { icon: props.assistiveText.moreActions },\n\t\t\t\t\t\t\toverlay: false,\n\t\t\t\t\t\t\tbuttonVariant: 'icon',\n\t\t\t\t\t\t\tbuttonInverse: props.hasNoVisibleTitle,\n\t\t\t\t\t\t\tclassName: 'dsr-file__more-actions-dropdown ',\n\t\t\t\t\t\t\ttriggerClassName: 'dsr-file__more-actions',\n\t\t\t\t\t })\n\t\t\t\t\t: null}\n\t\t\t</div>\n\t\t</div>\n\t);\n\tif (\n\t\ttypeof props.onClickDownload === 'function' ||\n\t\tprops.moreActionsDropdown\n\t) {\n\t\tif (!props.hasNoVisibleTitle) {\n\t\t\treturn actions;\n\t\t}\n\t\treturn (\n\t\t\t<div className=\"slds-file__title slds-file__title_scrim\">{actions}</div>\n\t\t);\n\t}\n\treturn null;\n};\n\nFileActions.displayName = FILES_ACTIONS;\n\nFileActions.propTypes = {\n\t/**\n\t * Action to be done on clicking download button; doesnt show download button if empty\n\t */\n\tonClickDownload: PropTypes.func,\n\t/**\n\t * Dropdown for More Actions; doesn't show More actions button if empty\n\t */\n\tmoreActionsDropdown: PropTypes.node,\n\t/**\n\t * Labels for the file component\n\t */\n\thasNoVisibleTitle: PropTypes.bool,\n};\n\nexport default FileActions;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// Implements the [Files design pattern](https://lightningdesignsystem.com/components/files/) in React.\n// Based on SLDS v2.4.0\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\n\n// ### shortid\n// [npmjs.com/package/shortid](https://www.npmjs.com/package/shortid)\n// shortid is a short, non-sequential, url-friendly, unique id generator\nimport shortid from 'shortid';\nimport { FILES_FILE } from '../../utilities/constants';\n\nimport FileFigure from './private/file-figure';\nimport FileActions from './private/file-actions';\n\nconst displayName = FILES_FILE;\n\nconst propTypes = {\n\t/**\n\t * **Assistive text for accessibility**\n\t * * download - description for the download button if present\n\t * * image - description for the file image\n\t * * link - description for the file link\n\t * * loading - description for the loading spinner if present\n\t * * moreActions - description for the more actions dropdown if present\n\t */\n\tassistiveText: PropTypes.shape({\n\t\tdownload: PropTypes.string,\n\t\timage: PropTypes.string,\n\t\tlink: PropTypes.string,\n\t\tloading: PropTypes.string,\n\t\tmoreActions: PropTypes.string,\n\t}),\n\t/**\n\t * CSS class names to be added to the container element. `array`, `object`, or `string` are accepted.\n\t */\n\tclassName: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\t/**\n\t * Controls different cropping aspect ratios for the component\n\t */\n\tcrop: PropTypes.oneOf(['16-by-9', '4-by-3', '1-by-1']),\n\t/**\n\t * HTML id for component.\n\t */\n\tid: PropTypes.string,\n\t/**\n\t * Action to be done on clicking download button; doesn't show download button if empty\n\t */\n\tonClickDownload: PropTypes.func,\n\t/**\n\t * Function that is called when image is clicked; can be used instead of href for more advanced event handling\n\t */\n\tonClickImage: PropTypes.func,\n\t/**\n\t * Dropdown for more actions button; doesn't show more actions button if empty\n\t */\n\tmoreActionsDropdown: PropTypes.node,\n\t/**\n\t * Icon associated with the file. Accepts an Icon component\n\t */\n\ticon: PropTypes.node,\n\t/**\n\t * Icon to be shown in top left corner of File component. Accepts an Icon component\n\t */\n\texternalIcon: PropTypes.node,\n\t/**\n\t * Link to thumbnail image\n\t */\n\timage: PropTypes.string,\n\t/**\n\t * Controls whether file preview is loading\n\t */\n\tisLoading: PropTypes.bool,\n\t/**\n\t * Href attribute for image\n\t */\n\thref: PropTypes.string,\n\t/**\n\t * Labels for the File Component\n\t * * image - title for the file. Required.\n\t */\n\tlabels: PropTypes.shape({\n\t\ttitle: PropTypes.string.isRequired,\n\t}),\n\t/**\n\t * Controls whether the file's title should be visible\n\t */\n\thasNoVisibleTitle: PropTypes.bool,\n};\n\nconst defaultProps = {\n\tassistiveText: {\n\t\tdownload: 'download',\n\t\tlink: 'Preview:',\n\t\tloading: 'loading',\n\t\tmoreActions: 'more actions',\n\t},\n\tcrop: '16-by-9',\n\thref: 'javascript:void(0);',\n\tisLoading: false,\n\thasNoVisibleTitle: false,\n};\n/**\n * File is a component that represents content uploaded as an attachment.\n */\nclass File extends React.Component {\n\tstatic injectMoreActionsStyles() {\n\t\treturn (\n\t\t\t<style>{`\n\t\t\t\t\t.dsr-file__more-actions-dropdown ul.dropdown__list li.slds-dropdown__item > a:before\n\t\t\t\t\t{ background: none; }\n\t\t\t\t\t.dsr-file__more-actions-dropdown ul.dropdown__list li.slds-dropdown__item > a:after\n\t\t\t\t\t{ background: none; }\n\t\t\t\t\t.dsr-file__more-actions > button:first-child\n\t\t\t\t\t{ border-radius: 0 0.25rem 0.25rem 0!important;}\n\t\t\t`}</style>\n\t\t);\n\t}\n\n\t// eslint-disable-next-line camelcase, react/sort-comp\n\tUNSAFE_componentWillMount() {\n\t\tthis.generatedId = shortid.generate();\n\t}\n\n\t/**\n\t * Get the File's HTML id. Generate a new one if no ID present.\n\t */\n\tgetId() {\n\t\treturn this.props.id || this.generatedId;\n\t}\n\n\trender() {\n\t\tconst assistiveText = {\n\t\t\t...defaultProps.assistiveText,\n\t\t\t...this.props.assistiveText,\n\t\t};\n\n\t\treturn (\n\t\t\t<div\n\t\t\t\tid={this.getId()}\n\t\t\t\tclassName={classNames(\n\t\t\t\t\t'slds-file',\n\t\t\t\t\t'slds-file_card',\n\t\t\t\t\t!this.props.hasNoVisibleTitle ? 'slds-has-title' : null,\n\t\t\t\t\tthis.props.className\n\t\t\t\t)}\n\t\t\t>\n\t\t\t\t<figure>\n\t\t\t\t\t<a\n\t\t\t\t\t\thref={this.props.href}\n\t\t\t\t\t\tclassName={classNames(\n\t\t\t\t\t\t\t'slds-file__crop',\n\t\t\t\t\t\t\tthis.props.crop ? `slds-file__crop_${this.props.crop}` : null\n\t\t\t\t\t\t)}\n\t\t\t\t\t\tonClick={this.props.onClickImage}\n\t\t\t\t\t>\n\t\t\t\t\t\t<FileFigure\n\t\t\t\t\t\t\tassistiveText={assistiveText}\n\t\t\t\t\t\t\tlabels={{\n\t\t\t\t\t\t\t\ttitle: this.props.labels.title,\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\tisLoading={this.props.isLoading}\n\t\t\t\t\t\t\timage={this.props.image}\n\t\t\t\t\t\t\ticon={this.props.icon}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</a>\n\t\t\t\t\t{!this.props.hasNoVisibleTitle ? (\n\t\t\t\t\t\t<figcaption className=\"slds-file__title slds-file__title_card\">\n\t\t\t\t\t\t\t<div className=\"slds-media__figure slds-line-height_reset\">\n\t\t\t\t\t\t\t\t{this.props.icon\n\t\t\t\t\t\t\t\t\t? React.cloneElement(this.props.icon, {\n\t\t\t\t\t\t\t\t\t\t\tsize: 'x-small',\n\t\t\t\t\t\t\t\t\t })\n\t\t\t\t\t\t\t\t\t: null}\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<div className=\"slds-media__body\">\n\t\t\t\t\t\t\t\t<span\n\t\t\t\t\t\t\t\t\tclassName=\"slds-file__text slds-truncate\"\n\t\t\t\t\t\t\t\t\ttitle={this.props.labels.title}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{this.props.labels.title}\n\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</figcaption>\n\t\t\t\t\t) : null}\n\t\t\t\t</figure>\n\t\t\t\t{this.props.externalIcon ? (\n\t\t\t\t\t<div className=\"slds-file__external-icon\">\n\t\t\t\t\t\t{React.cloneElement(this.props.externalIcon, {\n\t\t\t\t\t\t\tcontainerClassName: 'slds-file__icon slds-icon_container',\n\t\t\t\t\t\t})}\n\t\t\t\t\t</div>\n\t\t\t\t) : null}\n\t\t\t\t{this.props.moreActionsDropdown ? File.injectMoreActionsStyles() : null}\n\t\t\t\t<FileActions\n\t\t\t\t\tassistiveText={assistiveText}\n\t\t\t\t\thasNoVisibleTitle={this.props.hasNoVisibleTitle}\n\t\t\t\t\tonClickDownload={this.props.onClickDownload}\n\t\t\t\t\tmoreActionsDropdown={this.props.moreActionsDropdown}\n\t\t\t\t/>\n\t\t\t</div>\n\t\t);\n\t}\n}\n\nFile.displayName = displayName;\nFile.propTypes = propTypes;\nFile.defaultProps = defaultProps;\n\nexport default File;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// Implements the [Files design pattern](https://lightningdesignsystem.com/components/files/) in React.\n// Based on SLDS v2.4.0\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\n\n// ### shortid\n// [npmjs.com/package/shortid](https://www.npmjs.com/package/shortid)\n// shortid is a short, non-sequential, url-friendly, unique id generator\nimport shortid from 'shortid';\nimport { FILES } from '../../utilities/constants';\n\nconst displayName = FILES;\n\nconst propTypes = {\n\t/**\n\t * CSS class names to be added to the container element. `array`, `object`, or `string` are accepted.\n\t */\n\tclassName: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\t/**\n\t * HTML id for component.\n\t */\n\tid: PropTypes.string,\n\t/**\n\t * Crop ratio for the file preview image\n\t */\n\tcrop: PropTypes.oneOf(['16-by-9', '4-by-3', '1-by-1']),\n\t/**\n\t * Column class names to be added each file in the grid\n\t */\n\tcolumnClassName: PropTypes.string,\n};\n\nconst defaultProps = {\n\tcrop: '4-by-3',\n};\n\n/**\n * Files is a component that wraps multiple file components that represent an attachment\n */\nclass Files extends React.Component {\n\t// eslint-disable-next-line camelcase, react/sort-comp\n\tUNSAFE_componentWillMount() {\n\t\tthis.generatedId = shortid.generate();\n\t}\n\n\t/**\n\t * Get the File's HTML id. Generate a new one if no ID present.\n\t */\n\tgetId() {\n\t\treturn this.props.id || this.generatedId;\n\t}\n\n\trender() {\n\t\tconst files = React.Children.map(this.props.children, (option) => (\n\t\t\t<li\n\t\t\t\tclassName={classNames(\n\t\t\t\t\t`slds-p-horizontal_xx-small slds-size_1-of-3 slds-medium-size_1-of-4`,\n\t\t\t\t\tthis.props.columnClassName\n\t\t\t\t)}\n\t\t\t>\n\t\t\t\t{React.cloneElement(option, {\n\t\t\t\t\tcrop: option.props.crop ? option.props.crop : this.props.crop,\n\t\t\t\t})}\n\t\t\t</li>\n\t\t));\n\n\t\treturn (\n\t\t\t<ul\n\t\t\t\tclassName={classNames(\n\t\t\t\t\t'slds-grid slds-grid_pull-padded',\n\t\t\t\t\tthis.props.className\n\t\t\t\t)}\n\t\t\t\tid={this.getId()}\n\t\t\t>\n\t\t\t\t{files}\n\t\t\t</ul>\n\t\t);\n\t}\n}\n\nFiles.displayName = displayName;\nFiles.propTypes = propTypes;\nFiles.defaultProps = defaultProps;\n\nexport default Files;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// Implements the [Files design pattern](https://lightningdesignsystem.com/components/files/) in React.\n// Based on SLDS v2.4.0\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\n\n// ### shortid\n// [npmjs.com/package/shortid](https://www.npmjs.com/package/shortid)\n// shortid is a short, non-sequential, url-friendly, unique id generator\nimport shortid from 'shortid';\nimport { FILES_MORE } from '../../utilities/constants';\n\nconst displayName = FILES_MORE;\n\nconst propTypes = {\n\t/**\n\t * **Assistive text for accessibility**\n\t * * count - description for the more files count\n\t * * image - description for the image\n\t * * link - description for the more files link\n\t */\n\tassistiveText: PropTypes.shape({\n\t\tcount: PropTypes.string,\n\t\timage: PropTypes.string,\n\t\tlink: PropTypes.string,\n\t}),\n\t/**\n\t * CSS class names to be added to the container element. `array`, `object`, or `string` are accepted.\n\t */\n\tclassName: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\t/**\n\t * HTML id for component.\n\t */\n\tid: PropTypes.string,\n\t/**\n\t * Controls different cropping aspect ratios for the component\n\t */\n\tcrop: PropTypes.oneOf(['16-by-9', '4-by-3', '1-by-1']),\n\t/**\n\t * Link to thumbnail image\n\t */\n\timage: PropTypes.string,\n\t/**\n\t * Controls the number of additional files that is displayed\n\t */\n\tcount: PropTypes.string,\n\t/**\n\t * Href attribute for image\n\t */\n\thref: PropTypes.string,\n};\n\nconst defaultProps = {\n\tassistiveText: {\n\t\tcount: 'more files',\n\t\timage: 'Show more files',\n\t\tlink: 'Preview:',\n\t},\n\tcrop: '16-by-9',\n\thref: 'javascript:void(0);',\n};\n\n/**\n * MoreFiles is a component that represents a number of file contents uploaded as an attachment.\n */\nclass MoreFiles extends React.Component {\n\t// eslint-disable-next-line camelcase, react/sort-comp\n\tUNSAFE_componentWillMount() {\n\t\tthis.generatedId = shortid.generate();\n\t}\n\n\tgetId() {\n\t\treturn this.props.id || this.generatedId;\n\t}\n\n\trender() {\n\t\tconst assistiveText = {\n\t\t\t...defaultProps.assistiveText,\n\t\t\t...this.props.assistiveText,\n\t\t};\n\n\t\treturn (\n\t\t\t<div\n\t\t\t\tclassName={classNames(`slds-file slds-file_card`, this.props.className)}\n\t\t\t\tid={this.getId()}\n\t\t\t>\n\t\t\t\t<figure>\n\t\t\t\t\t<a\n\t\t\t\t\t\thref={this.props.href}\n\t\t\t\t\t\tclassName={classNames(\n\t\t\t\t\t\t\t'slds-file__crop',\n\t\t\t\t\t\t\tthis.props.crop ? `slds-file__crop_${this.props.crop}` : null\n\t\t\t\t\t\t)}\n\t\t\t\t\t>\n\t\t\t\t\t\t<div className=\"slds-file_overlay\" />\n\t\t\t\t\t\t<span className=\"slds-assistive-text\">{assistiveText.link}</span>\n\t\t\t\t\t\t<img src={this.props.image} alt={assistiveText.image} />\n\t\t\t\t\t</a>\n\t\t\t\t\t<figcaption className=\"slds-file__title slds-file__title_overlay slds-align_absolute-center slds-text-heading_large\">\n\t\t\t\t\t\t<div className=\"slds-media slds-media_small slds-media_center\">\n\t\t\t\t\t\t\t<div className=\"slds-media__figure slds-line-height_reset\" />\n\t\t\t\t\t\t\t<div className=\"slds-media__body\">\n\t\t\t\t\t\t\t\t<span\n\t\t\t\t\t\t\t\t\tclassName=\"slds-file__text slds-truncate\"\n\t\t\t\t\t\t\t\t\ttitle={this.props.count}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<span>{this.props.count}</span>\n\t\t\t\t\t\t\t\t\t<span className=\"slds-assistive-text\">\n\t\t\t\t\t\t\t\t\t\t{assistiveText.count}\n\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</figcaption>\n\t\t\t\t</figure>\n\t\t\t</div>\n\t\t);\n\t}\n}\n\nMoreFiles.displayName = displayName;\nMoreFiles.propTypes = propTypes;\nMoreFiles.defaultProps = defaultProps;\n\nexport default MoreFiles;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n/* eslint-disable no-script-url */\n\n// # Filter\n\n// Implements part of the [Panel design pattern](https://www.lightningdesignsystem.com/components/panels) in React.\n// Based on SLDS v2.2.0-rc.1\n\n// ## Dependencies\n\n// ### React\nimport React from 'react';\n\nimport PropTypes from 'prop-types';\n\n// ### assign\nimport assign from 'lodash.assign';\n\n// ### classNames\nimport classNames from 'classnames';\n\n// ### shortid\n// [npmjs.com/package/shortid](https://www.npmjs.com/package/shortid)\n// shortid is a short, non-sequential, url-friendly, unique id generator\nimport shortid from 'shortid';\n\nimport Button from '../button';\nimport Popover from '../popover';\n\n// ## Constants\nimport { FILTER } from '../../utilities/constants';\n\n/**\n * A Filter is a popover with custom trigger. It can be used by [Panel Filtering](/components/panels/). Menus within a Filter Popover will need to not have \"portal mounts\" and be inline.\n */\nclass Filter extends React.Component {\n\tstatic displayName = FILTER;\n\n\tstatic propTypes = {\n\t\t/**\n\t\t * Aligns the popover with the respective side of the trigger. That is `left` will place the `Popover` to the left of the Filter.\n\t\t */\n\t\talign: PropTypes.oneOf(['left', 'right']),\n\t\t/**\n\t\t * **Assistive text for accessibility**\n\t\t * * `removeFilter`: Assistive text for removing a filter. The default is `Remove Filter: this.props.property this.props.predicate`.\n\t\t * * `editFilter`: Assistive text for changing a filter.\n\t\t * * `editFilterHeading`: Assistive text for Popover heading.\n\t\t */\n\t\tassistiveText: PropTypes.shape({\n\t\t\teditFilter: PropTypes.string,\n\t\t\teditFilterHeading: PropTypes.string,\n\t\t\tremoveFilter: PropTypes.string,\n\t\t}),\n\t\t/**\n\t\t * Contents of popover. That is the dropdowns and inputs that set the filter criteria.\n\t\t */\n\t\tchildren: PropTypes.node,\n\t\t/**\n\t\t * Custom CSS classes for `slds-filters__item` node. Uses `classNames` [API](https://github.com/JedWatson/classnames).\n\t\t */\n\t\tclassName: PropTypes.oneOfType([\n\t\t\tPropTypes.array,\n\t\t\tPropTypes.object,\n\t\t\tPropTypes.string,\n\t\t]),\n\t\t/**\n\t\t * Applies error state styling. Per filter error messages are outside this components.\n\t\t */\n\t\tisError: PropTypes.bool,\n\t\t/**\n\t\t * A unique ID is needed in order to support keyboard navigation, ARIA support, and connect the dropdown to the triggering button. An `id` will be generated if none is supplied.\n\t\t */\n\t\tid: PropTypes.string,\n\t\t/**\n\t\t * If true, the filter will not display an editing popover when clicked.\n\t\t */\n\t\tisLocked: PropTypes.bool,\n\t\t/**\n\t\t * Applies new filter styling.\n\t\t */\n\t\tisNew: PropTypes.bool,\n\t\t/**\n\t\t * If true, the filter will not include a remove button.\n\t\t */\n\t\tisPermanent: PropTypes.bool,\n\t\t/**\n\t\t * Will be triggered when Done within the Popover is clicked. This is the place to update the filter props displayed. Callback will recieve parameters: `clickEvent, { id }`. An index into your store may be a good setting for `id`, so that it will be passed back here.\n\t\t */\n\t\tonChange: PropTypes.func,\n\t\t/**\n\t\t * Will be triggered when \"Remove Filter\" button is clicked. Callback will recieve parameters: `clickEvent, { id }`. An index into your store may be a good setting for `id`, so that it will be passed back here.\n\t\t */\n\t\tonRemove: PropTypes.func,\n\t\t/**\n\t\t * Will be triggered when Filter is clicked. This is the place to close/open popover if a custom popover is passed in\n\t\t */\n\t\tonClick: PropTypes.func,\n\t\t/**\n\t\t * A `Popover` component. The props from this popover will be merged and override any default props. This also allows a Filter's Popover dialog to be a controlled component. _Tested with Mocha framework._\n\t\t */\n\t\tpopover: PropTypes.node,\n\t\t/**\n\t\t * The criteria you are filtering for. For instance, if \"Hair Color is PURPLE\" is your filter, \"is PURPLE\" is your filter predicate.\n\t\t */\n\t\tpredicate: PropTypes.node,\n\t\t/**\n\t\t * The property you are filtering. For instance, if \"Hair Color is PURPLE\" is your filter, \"Hair Color\" is your filter property.\n\t\t */\n\t\tproperty: PropTypes.node,\n\t};\n\n\tstatic defaultProps = {\n\t\talign: 'left',\n\t\tassistiveText: {\n\t\t\teditFilter: 'Edit filter:',\n\t\t\teditFilterHeading: 'Choose filter criteria',\n\t\t},\n\t\tpredicate: 'New Filter',\n\t};\n\n\tstate = {\n\t\tpopoverIsOpen: this.props.popover ? this.props.popover.props.isOpen : false,\n\t};\n\n\tconstructor(props) {\n\t\tsuper(props);\n\n\t\tthis.generatedId = shortid.generate();\n\t}\n\n\tgetId = () => this.props.id || this.generatedId;\n\n\tgetCustomPopoverProps = ({ assistiveText }) => {\n\t\t/*\n\t\t * Generate the popover props based on passed in popover props. Using the default behavior if not provided by passed in popover\n\t\t */\n\t\tconst popoverBody = (\n\t\t\t<div>\n\t\t\t\t<h4\n\t\t\t\t\tclassName=\"slds-assistive-text\"\n\t\t\t\t\tid={`${this.getId()}-popover-heading`}\n\t\t\t\t>\n\t\t\t\t\t{assistiveText.editFilterHeading}\n\t\t\t\t</h4>\n\t\t\t\t{this.props.children}\n\t\t\t\t<div className=\"slds-m-top_small slds-text-align_right\">\n\t\t\t\t\t<Button\n\t\t\t\t\t\tclassName=\"slds-col_bump-left\"\n\t\t\t\t\t\tlabel=\"Done\"\n\t\t\t\t\t\tonClick={this.handleChange}\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t);\n\n\t\tconst defaultPopoverProps = {\n\t\t\tariaLabelledby: `${this.getId()}-popover-heading`,\n\t\t\talign: this.props.align,\n\t\t\tbody: popoverBody,\n\t\t\theading: '',\n\t\t\tid: this.getId(),\n\t\t\tisOpen: this.state.popoverIsOpen,\n\t\t\t// MAGIC NUMBERS - REMOVE/REDESIGN WHEN DESIGN FOR RIGHT-ALIGNED FILTERS ARE ADDED TO SLDS\n\t\t\toffset: this.props.align === 'right' ? '0px -35px' : undefined,\n\t\t\tonClose: this.handleClose,\n\t\t\tonRequestClose: this.handleClose,\n\t\t\tposition: 'overflowBoundaryElement',\n\t\t\ttriggerClassName: 'slds-grow',\n\t\t};\n\n\t\t/* Mixin passed popover's props if there is any to override the default popover props */\n\t\tconst popoverProps = assign(\n\t\t\tdefaultPopoverProps,\n\t\t\tthis.props.popover ? this.props.popover.props : {}\n\t\t);\n\t\t// eslint-disable-next-line fp/no-delete\n\t\tdelete popoverProps.children;\n\t\treturn popoverProps;\n\t};\n\n\thandleFilterClick = () => {\n\t\tthis.setState({ popoverIsOpen: true });\n\n\t\tif (this.props.onClick) {\n\t\t\tthis.props.onClick();\n\t\t}\n\t};\n\n\thandleClose = () => {\n\t\tthis.setState({ popoverIsOpen: false });\n\t};\n\n\thandleChange = (event) => {\n\t\tthis.setState({ popoverIsOpen: false });\n\n\t\tif (this.props.onChange) {\n\t\t\tthis.props.onChange(event, { id: this.getId() });\n\t\t}\n\t};\n\n\thandleRemove = (event) => {\n\t\tif (this.props.onRemove) {\n\t\t\tthis.props.onRemove(event, { id: this.getId() });\n\t\t}\n\t};\n\n\trender() {\n\t\t/* Remove at next breaking change */\n\t\tconst assistiveText = {\n\t\t\teditFilter:\n\t\t\t\tthis.props.assistiveTextEditFilter || // eslint-disable-line react/prop-types\n\t\t\t\tthis.props.assistiveText.editFilter,\n\t\t\teditFilterHeading:\n\t\t\t\tthis.props.assistiveTextEditFilterHeading || // eslint-disable-line react/prop-types\n\t\t\t\tthis.props.assistiveText.editFilterHeading,\n\t\t\tremoveFilter:\n\t\t\t\tthis.props.assistiveTextRemoveFilter || // eslint-disable-line react/prop-types\n\t\t\t\tthis.props.assistiveText.removeFilter ||\n\t\t\t\t`Remove Filter: ${this.props.property} ${this.props.predicate}`,\n\t\t};\n\n\t\t/* TODO: Button wrapper for property and predictate should be transitioned to `Button` component. `Button` needs to take custom children first though. */\n\t\tconst popoverProps = this.getCustomPopoverProps({ assistiveText });\n\t\treturn (\n\t\t\t<div\n\t\t\t\tclassName={classNames(\n\t\t\t\t\t'slds-filters__item',\n\t\t\t\t\t'slds-grid',\n\t\t\t\t\t'slds-grid_vertical-align-center',\n\t\t\t\t\t{\n\t\t\t\t\t\t'slds-is-locked': this.props.isLocked,\n\t\t\t\t\t\t'slds-is-new': this.props.isNew,\n\t\t\t\t\t\t'slds-has-error': this.props.isError,\n\t\t\t\t\t},\n\t\t\t\t\tthis.props.className\n\t\t\t\t)}\n\t\t\t>\n\t\t\t\t{!this.props.isLocked && (this.props.children || this.props.popover) ? (\n\t\t\t\t\t<Popover {...popoverProps} silenceDeprecatedPropertyWarning>\n\t\t\t\t\t\t<button\n\t\t\t\t\t\t\tclassName=\"slds-button_reset slds-grow slds-has-blur-focus\"\n\t\t\t\t\t\t\tonClick={this.handleFilterClick}\n\t\t\t\t\t\t\taria-describedby={\n\t\t\t\t\t\t\t\tthis.props.isError ? `${this.getId()}-error` : undefined\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<span className=\"slds-assistive-text\">\n\t\t\t\t\t\t\t\t{assistiveText.editFilter}\n\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t{this.props.property ? (\n\t\t\t\t\t\t\t\t<span className=\"slds-show slds-text-body_small\">\n\t\t\t\t\t\t\t\t\t{this.props.property}\n\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t) : null}\n\t\t\t\t\t\t\t<span className=\"slds-show\">{this.props.predicate}</span>\n\t\t\t\t\t\t</button>\n\t\t\t\t\t</Popover>\n\t\t\t\t) : (\n\t\t\t\t\t<button\n\t\t\t\t\t\taria-describedby={\n\t\t\t\t\t\t\tthis.props.isError ? `${this.getId()}-error` : undefined\n\t\t\t\t\t\t}\n\t\t\t\t\t\tclassName=\"slds-button_reset slds-grow slds-has-blur-focus\"\n\t\t\t\t\t\tdisabled\n\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<span className=\"slds-show slds-text-body_small\">\n\t\t\t\t\t\t\t{this.props.property}\n\t\t\t\t\t\t</span>\n\t\t\t\t\t\t<span className=\"slds-show\">{this.props.predicate}</span>\n\t\t\t\t\t</button>\n\t\t\t\t)}\n\t\t\t\t{\n\t\t\t\t\t// Remove button\n\t\t\t\t\t!this.props.isPermanent && !this.props.isLocked ? (\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tassistiveText={{ icon: assistiveText.removeFilter }}\n\t\t\t\t\t\t\thint\n\t\t\t\t\t\t\ticonCategory=\"utility\"\n\t\t\t\t\t\t\ticonName=\"delete\"\n\t\t\t\t\t\t\ticonSize=\"small\"\n\t\t\t\t\t\t\ticonVariant=\"bare\"\n\t\t\t\t\t\t\tonClick={this.handleRemove}\n\t\t\t\t\t\t\ttitle={assistiveText.removeFilter}\n\t\t\t\t\t\t\tvariant=\"icon\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t) : null\n\t\t\t\t}\n\t\t\t</div>\n\t\t);\n\t}\n}\n\nexport default Filter;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n/* eslint-disable import/no-mutable-exports */\n\nimport componentIsDeprecated from '../../utilities/warning/component-is-deprecated';\nimport deprecatedProperty from '../../utilities/warning/deprecated-property';\nimport getComponentDocFn from '../../utilities/get-component-doc';\nimport sunsetProperty from '../../utilities/warning/sunset-property';\n\n// ## Constants\nimport {\n\tGLOBAL_HEADER_BUTTON,\n\tGLOBAL_HEADER_DROPDOWN,\n\tGLOBAL_HEADER_PROFILE,\n} from '../../utilities/constants';\n\nlet checkProps = function checkPropsFunction() {};\n\nif (process.env.NODE_ENV !== 'production') {\n\tcheckProps = function checkPropsFunction(COMPONENT, props, jsonDoc) {\n\t\tif (\n\t\t\tCOMPONENT === GLOBAL_HEADER_BUTTON ||\n\t\t\tCOMPONENT === GLOBAL_HEADER_DROPDOWN\n\t\t) {\n\t\t\tcomponentIsDeprecated(\n\t\t\t\tCOMPONENT,\n\t\t\t\tprops,\n\t\t\t\t`${COMPONENT} has been deprecated in favor of more-specific global header subcomponents. Please see docs for updated examples.`\n\t\t\t);\n\t\t}\n\n\t\tif (COMPONENT === GLOBAL_HEADER_PROFILE) {\n\t\t\tconst popoverExtraMessage =\n\t\t\t\t'Use the `popover` attribute to provide a `Popover` component with content inside the `body` prop instead.';\n\n\t\t\tsunsetProperty(COMPONENT, props.align, 'align');\n\n\t\t\tsunsetProperty(\n\t\t\t\tCOMPONENT,\n\t\t\t\tprops.children,\n\t\t\t\t'children',\n\t\t\t\tpopoverExtraMessage\n\t\t\t);\n\n\t\t\tsunsetProperty(COMPONENT, props.nubbinPosition, 'nubbinPosition');\n\n\t\t\tsunsetProperty(COMPONENT, props.offset, 'offset');\n\n\t\t\tsunsetProperty(COMPONENT, props.onSelect, 'onSelect');\n\n\t\t\tsunsetProperty(COMPONENT, props.options, 'options', popoverExtraMessage);\n\t\t}\n\n\t\tconst createDocUrl = getComponentDocFn(jsonDoc);\n\n\t\tdeprecatedProperty(\n\t\t\tCOMPONENT,\n\t\t\tprops.skipToContentAssistiveText,\n\t\t\t'skipToContentAssistiveText',\n\t\t\t\"assistiveText['skipToContent']\",\n\t\t\tcreateDocUrl('assistiveText')\n\t\t);\n\t\tdeprecatedProperty(\n\t\t\tCOMPONENT,\n\t\t\tprops.skipToNavAssistiveText,\n\t\t\t'skipToNavAssistiveText',\n\t\t\t\"assistiveText['skipToNav']\",\n\t\t\tcreateDocUrl('assistiveText')\n\t\t);\n\t};\n}\n\nexport default checkProps;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// # Global Header Component\n\n// Implements the [Global Header design pattern](https://www.lightningdesignsystem.com/components/global-header) in React.\n// Based on SLDS v2.1.0-rc.2\n\n// ## Dependencies\n\n// ### React\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\n// This component's `checkProps` which issues warnings to developers about properties when in development mode (similar to React's built in development tools)\nimport checkProps from './check-props';\nimport componentDoc from './component.json';\n\n// ### Event Helpers\nimport EventUtil from '../../utilities/event';\n\n// ## Constants\nimport {\n\tGLOBAL_HEADER,\n\tGLOBAL_HEADER_FAVORITES,\n\tGLOBAL_HEADER_HELP,\n\tGLOBAL_HEADER_NOTIFICATIONS,\n\tGLOBAL_HEADER_PROFILE,\n\tGLOBAL_HEADER_SEARCH,\n\tGLOBAL_HEADER_SETUP,\n\tGLOBAL_HEADER_TASK,\n\tGLOBAL_HEADER_TOOL,\n} from '../../utilities/constants';\n\nconst defaultProps = {\n\tassistiveText: {\n\t\tskipToNav: 'Skip to Navigation',\n\t\tskipToContent: 'Skip to Main Content',\n\t},\n\tlogoSrc: '/assets/images/logo-noname.svg',\n};\n\n/**\n * The global header is the anchor for the Salesforce platform and spans all other parts of the UI. It accepts children to define the items displayed within.\n *\n * Example:\n * ```\n * <SLDSGlobalHeader>\n * <SLDSGlobalHeaderSearch />\n * <SLDSGlobalHeaderButton />\n * <SLDSGlobalHeaderDropdown />\n * <SLDSGlobalHeaderDropdown />\n * <SLDSGlobalHeaderProfile />\n * </SLDSGlobalHeader>\n * ```\n */\nclass GlobalHeader extends React.Component {\n\tstatic displayName = GLOBAL_HEADER;\n\n\tstatic propTypes = {\n\t\t/**\n\t\t * **Assistive text for accessibility.**\n\t\t * This object is merged with the default props object on every render.\n\t\t * * `skipToNav`: The localized text that will be read back for the \"Skip to Navigation\" accessibility link.\n\t\t * * `skipToContent`: The localized text that will be read back for the \"Skip to Main Content\" accessibility link.\n\t\t */\n\t\tassistiveText: PropTypes.shape({\n\t\t\tskipToNav: PropTypes.string,\n\t\t\tskipToContent: PropTypes.string,\n\t\t}),\n\t\t/**\n\t\t * See the component description, this accepts some combination of `SLDSGlobalHeaderSearch`, `SLDSGlobalHeaderButton`, `SLDSGlobalHeaderDropdown`, and `SLDSGlobalHeaderProfile` components.\n\t\t */\n\t\tchildren: PropTypes.node,\n\t\t/**\n\t\t * The Salesforce logo to display in the header.\n\t\t */\n\t\tlogoSrc: PropTypes.string,\n\t\t/**\n\t\t * Pass in the Global Navigation Bar component\n\t\t */\n\t\tnavigation: PropTypes.node,\n\t\t/**\n\t\t * Required for accessibility. Should jump the user to the primary content area.\n\t\t */\n\t\tonSkipToContent: PropTypes.func,\n\t\t/**\n\t\t * Required for accessibility. Should jump the user to the primary navigation.\n\t\t */\n\t\tonSkipToNav: PropTypes.func,\n\t};\n\n\tstatic defaultProps = defaultProps;\n\n\tconstructor(props) {\n\t\tsuper(props);\n\n\t\tcheckProps(GLOBAL_HEADER, props, componentDoc);\n\t}\n\n\thandleSkipToContent = (e) => {\n\t\tEventUtil.trap(e);\n\t\tthis.props.onSkipToContent(e);\n\t};\n\n\thandleSkipToNav = (e) => {\n\t\tEventUtil.trap(e);\n\t\tthis.props.onSkipToNav(e);\n\t};\n\n\trender() {\n\t\tconst assistiveText = {\n\t\t\t...defaultProps.assistiveText,\n\t\t\t...this.props.assistiveText,\n\t\t};\n\t\tlet actions = {\n\t\t\t[GLOBAL_HEADER_FAVORITES]: [],\n\t\t\t[GLOBAL_HEADER_HELP]: [],\n\t\t\t[GLOBAL_HEADER_NOTIFICATIONS]: [],\n\t\t\t[GLOBAL_HEADER_PROFILE]: [],\n\t\t\t[GLOBAL_HEADER_SETUP]: [],\n\t\t\t[GLOBAL_HEADER_TASK]: [],\n\t\t\t[GLOBAL_HEADER_TOOL]: [], // support for deprecated GlobalHeaderButton and GlobalHeaderDropdown\n\t\t};\n\t\tlet search;\n\n\t\tReact.Children.forEach(this.props.children, (child) => {\n\t\t\tif (child) {\n\t\t\t\tif (child.type.displayName === GLOBAL_HEADER_SEARCH) {\n\t\t\t\t\tsearch = child;\n\t\t\t\t} else if (actions[child.type.displayName]) {\n\t\t\t\t\t// eslint-disable-next-line fp/no-mutating-methods\n\t\t\t\t\tactions[child.type.displayName].push(child);\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\n\t\tactions = [].concat(\n\t\t\tactions[GLOBAL_HEADER_FAVORITES],\n\t\t\tactions[GLOBAL_HEADER_TASK],\n\t\t\tactions[GLOBAL_HEADER_HELP],\n\t\t\tactions[GLOBAL_HEADER_SETUP],\n\t\t\tactions[GLOBAL_HEADER_NOTIFICATIONS],\n\t\t\tactions[GLOBAL_HEADER_TOOL], // support for deprecated GlobalHeaderButton and GlobalHeaderDropdown\n\t\t\tactions[GLOBAL_HEADER_PROFILE]\n\t\t);\n\n\t\t/* eslint-disable max-len, no-script-url */\n\t\treturn (\n\t\t\t<header className=\"slds-global-header_container\">\n\t\t\t\t{this.props.onSkipToNav ? (\n\t\t\t\t\t<a\n\t\t\t\t\t\thref=\"javascript:void(0);\"\n\t\t\t\t\t\tclassName=\"slds-assistive-text slds-assistive-text_focus\"\n\t\t\t\t\t\tonClick={this.handleSkipToNav}\n\t\t\t\t\t>\n\t\t\t\t\t\t{this.props.skipToNavAssistiveText || assistiveText.skipToNav}\n\t\t\t\t\t</a>\n\t\t\t\t) : null}\n\t\t\t\t{this.props.onSkipToContent ? (\n\t\t\t\t\t<a\n\t\t\t\t\t\thref=\"javascript:void(0);\"\n\t\t\t\t\t\tclassName=\"slds-assistive-text slds-assistive-text_focus\"\n\t\t\t\t\t\tonClick={this.handleSkipToContent}\n\t\t\t\t\t>\n\t\t\t\t\t\t{this.props.skipToContentAssistiveText ||\n\t\t\t\t\t\t\tassistiveText.skipToContent}\n\t\t\t\t\t</a>\n\t\t\t\t) : null}\n\t\t\t\t<div className=\"slds-global-header slds-grid slds-grid_align-spread\">\n\t\t\t\t\t<div className=\"slds-global-header__item\">\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tclassName=\"slds-global-header__logo\"\n\t\t\t\t\t\t\tstyle={{ backgroundImage: `url(${this.props.logoSrc})` }}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</div>\n\t\t\t\t\t{search}\n\t\t\t\t\t<div className=\"slds-global-header__item\">\n\t\t\t\t\t\t<ul className=\"slds-global-actions\">\n\t\t\t\t\t\t\t{actions.map((actionItem, index) => (\n\t\t\t\t\t\t\t\t<li\n\t\t\t\t\t\t\t\t\tclassName=\"slds-global-actions__item\"\n\t\t\t\t\t\t\t\t\tkey={`actions-item-${index}`} /* eslint-disable-line react/no-array-index-key */\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{actionItem}\n\t\t\t\t\t\t\t\t</li>\n\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t</ul>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t\t{this.props.navigation}\n\t\t\t</header>\n\t\t);\n\t\t/* eslint-enable max-len, no-script-url */\n\t}\n}\n\nexport default GlobalHeader;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// # Global Header Button Component\n// NOTE: THIS COMPONENT HAS BEEN DEPRECATED AND WILL BE REMOVED IN FUTURE MAJOR RELEASES\n\n// ## Dependencies\n\n// ### React\nimport React from 'react';\n\n// ### Button\nimport Button from '../button';\n\n// This component's `checkProps` which issues warnings to developers about properties\n// when in development mode (similar to React's built in development tools)\nimport checkProps from './check-props';\n\n// ## Constants\nimport {\n\tGLOBAL_HEADER_BUTTON,\n\tGLOBAL_HEADER_TOOL,\n} from '../../utilities/constants';\n\n/**\n * A helper component that renders a Button in the tools area of the Global Header. Currently defaults to a bare icon, but this can be overriden if text-based buttons are required.\n */\nconst GlobalHeaderButton = (props) => {\n\tcheckProps(GLOBAL_HEADER_BUTTON, props);\n\tconst { buttonVariant, ...rest } = props;\n\tconst btn = <Button iconVariant=\"global-header\" variant=\"icon\" {...rest} />;\n\treturn buttonVariant === 'dropdown' ? btn : <li>{btn}</li>;\n};\n\nGlobalHeaderButton.displayName = GLOBAL_HEADER_TOOL;\n\nexport default GlobalHeaderButton;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n/* eslint-disable jsx-a11y/no-noninteractive-element-interactions */\n\n// # Global Header Dropdown Component\n\n// ## Dependencies\n\n// ### React\nimport React from 'react';\n\nimport PropTypes from 'prop-types';\n\n// ### classNames\n// [github.com/JedWatson/classnames](https://github.com/JedWatson/classnames)\n// This project uses `classnames`, \"a simple javascript utility for conditionally\n// joining classNames together.\"\nimport classnames from 'classnames';\n\n// ### Dropdown\nimport Button from '../button';\n\n// ### Children\nimport { MENU_DROPDOWN_TRIGGER } from '../../../utilities/constants';\n\n/**\n * The Dropdown Button Trigger renders the default trigger button for the dropdown menu. If this component has children, it does not render itself to the DOM. Instead, it renders its child element, `Button`, and all that child's properties. This component may be used as a template to create custom triggers that do not use `Button`.\n */\nclass GlobalHeaderDropdownTrigger extends React.Component {\n\t// TODO: Make this a stateless component, however dropdowns break when this component becomes stateless.\n\n\t// ### Display Name\n\t// Always use the canonical component name (set in the core) as the React\n\t// display name.\n\tstatic displayName = MENU_DROPDOWN_TRIGGER;\n\n\t// ### Prop Types\n\tstatic propTypes = {\n\t\t/**\n\t\t * An image URL or avatar node to display for the user profile.\n\t\t */\n\t\tavatar: PropTypes.oneOfType([PropTypes.string, PropTypes.node]),\n\t\t/**\n\t\t * CSS classes to be added to `li` element.\n\t\t */\n\t\tclassName: PropTypes.oneOfType([\n\t\t\tPropTypes.array,\n\t\t\tPropTypes.object,\n\t\t\tPropTypes.string,\n\t\t]),\n\t\t/**\n\t\t * A unique ID is needed in order to support keyboard navigation, ARIA support, and connect the dropdown to the triggering button.\n\t\t */\n\t\tid: PropTypes.string,\n\t\t/**\n\t\t * Informs the trigger on the open/close state of the dropdown menu\n\t\t */\n\t\tisOpen: PropTypes.bool,\n\t\t/**\n\t\t * Adds custom styling such as inverse fill and special sizing/spacing\n\t\t */\n\t\tglobalAction: PropTypes.bool,\n\t\t/**\n\t\t * The dropdown menu.\n\t\t */\n\t\tmenu: PropTypes.node,\n\t\t/**\n\t\t * Is only called when `openOn` is set to `hover` and when the triggering li loses focus.\n\t\t */\n\t\tonBlur: PropTypes.func,\n\t\t/**\n\t\t * This prop is passed onto the triggering `li`. Triggered when the trigger li is clicked.\n\t\t */\n\t\tonClick: PropTypes.func,\n\t\t/**\n\t\t * Is only called when `openOn` is set to `hover` and when the triggering li gains focus.\n\t\t */\n\t\tonFocus: PropTypes.func,\n\t\t/**\n\t\t * Called when a key pressed.\n\t\t */\n\t\tonKeyDown: PropTypes.func,\n\t\t/**\n\t\t * Called when mouse clicks down on the trigger li.\n\t\t */\n\t\tonMouseDown: PropTypes.func,\n\t\t/**\n\t\t * Called when mouse hovers over the trigger `li`.\n\t\t */\n\t\tonMouseEnter: PropTypes.func,\n\t\t/**\n\t\t * Called when mouse leaves trigger `li` or the menu.\n\t\t */\n\t\tonMouseLeave: PropTypes.func,\n\t\t/**\n\t\t * Determines if mouse hover or click opens the dropdown menu. The default of `click` is highly recommended to comply with accessibility standards. If you are planning on using hover, please pause a moment and reconsider.\n\t\t */\n\t\topenOn: PropTypes.oneOf(['hover', 'click', 'hybrid']),\n\t\t/**\n\t\t * Set to true if menu is inline and relatively positioned with CSS. This is the typical use case for menus with nubbins.\n\t\t */\n\t\tpositioned: PropTypes.bool,\n\t\t/**\n\t\t * The ref of the actual triggering button.\n\t\t */\n\t\ttriggerRef: PropTypes.func,\n\t};\n\n\trenderAvatar = () => {\n\t\tconst { avatar } = this.props;\n\t\tif (typeof avatar === 'string') {\n\t\t\treturn (\n\t\t\t\t<span className=\"slds-avatar slds-avatar_circle slds-avatar_medium\">\n\t\t\t\t\t<img src={avatar} alt=\"\" />\n\t\t\t\t</span>\n\t\t\t);\n\t\t}\n\t\treturn avatar || null;\n\t};\n\n\t// ### Render\n\trender() {\n\t\t// The following props are provided to the `li`, all others are passed into the `Button`\n\t\tconst {\n\t\t\tclassName,\n\t\t\tid,\n\t\t\tisOpen,\n\t\t\tglobalAction,\n\t\t\tmenu,\n\t\t\tonBlur,\n\t\t\tonClick,\n\t\t\tonFocus,\n\t\t\tonKeyDown,\n\t\t\tonMouseDown,\n\t\t\tonMouseEnter,\n\t\t\tonMouseLeave,\n\t\t\ttriggerRef,\n\t\t\t...rest\n\t\t} = this.props;\n\n\t\treturn (\n\t\t\t/* eslint-disable jsx-a11y/no-static-element-interactions */\n\t\t\t// eslint-disable-next-line jsx-a11y/role-supports-aria-props\n\t\t\t<li\n\t\t\t\taria-haspopup=\"true\"\n\t\t\t\tclassName={classnames(\n\t\t\t\t\t'slds-dropdown-trigger slds-dropdown-trigger_click',\n\t\t\t\t\t{\n\t\t\t\t\t\t'slds-is-open': isOpen,\n\t\t\t\t\t\t'slds-p-around_xx-small': globalAction,\n\t\t\t\t\t},\n\t\t\t\t\tclassName\n\t\t\t\t)}\n\t\t\t\tid={id}\n\t\t\t\tonBlur={onBlur}\n\t\t\t\tonClick={onClick}\n\t\t\t\tonFocus={onFocus}\n\t\t\t\tonKeyDown={onKeyDown}\n\t\t\t\tonMouseDown={onMouseDown}\n\t\t\t\tonMouseEnter={onMouseEnter}\n\t\t\t\tonMouseLeave={onMouseLeave}\n\t\t\t\tref={triggerRef}\n\t\t\t>\n\t\t\t\t{/* eslint-enable jsx-a11y/no-static-element-interactions */}\n\t\t\t\t<Button\n\t\t\t\t\tclassName={classnames({\n\t\t\t\t\t\t'slds-global-header__button_icon-actions': globalAction,\n\t\t\t\t\t})}\n\t\t\t\t\ticonClassName={classnames({\n\t\t\t\t\t\t'slds-global-header__icon-actions': globalAction,\n\t\t\t\t\t})}\n\t\t\t\t\taria-haspopup=\"true\"\n\t\t\t\t\tbuttonVariant=\"dropdown\"\n\t\t\t\t\t{...rest}\n\t\t\t\t>\n\t\t\t\t\t{this.renderAvatar()}\n\t\t\t\t</Button>\n\t\t\t\t{menu}\n\t\t\t</li>\n\t\t);\n\t}\n}\n\nexport default GlobalHeaderDropdownTrigger;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// # Global Header Dropdown Component\n// NOTE: THIS COMPONENT HAS BEEN DEPRECATED AND WILL BE REMOVED IN FUTURE MAJOR RELEASES\n\n// ## Dependencies\n\n// ### React\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\n// ### Dropdown\nimport MenuDropdown from '../menu-dropdown';\nimport GlobalHeaderTrigger from './private/dropdown-trigger';\n\n// This component's `checkProps` which issues warnings to developers about properties\n// when in development mode (similar to React's built in development tools)\nimport checkProps from './check-props';\n\n// ## Constants\nimport {\n\tGLOBAL_HEADER_DROPDOWN,\n\tGLOBAL_HEADER_TOOL,\n} from '../../utilities/constants';\n\n/**\n * This component is an implementation of `MenuDropdown` with a custom trigger. All the properties listed below are provided to the `MenuDropdown` component. Any additional properties are provided to the Custom Trigger (that is the `Button` or `li` tag).\n */\nconst GlobalHeaderDropdown = (props) => {\n\tcheckProps(GLOBAL_HEADER_DROPDOWN, props);\n\n\tconst { globalAction, iconVariant, ...rest } = props;\n\tlet iconVariantOverride;\n\n\tif (globalAction) {\n\t\ticonVariantOverride = 'container';\n\t}\n\n\treturn (\n\t\t<MenuDropdown nubbinPosition=\"top right\" {...rest}>\n\t\t\t<GlobalHeaderTrigger\n\t\t\t\tglobalAction={globalAction}\n\t\t\t\ticonSize={globalAction && 'small'}\n\t\t\t\ticonVariant={iconVariantOverride || iconVariant}\n\t\t\t/>\n\t\t</MenuDropdown>\n\t);\n};\n\n// ### Display Name\n// Always use the canonical component name (set in the core) as the React\n// display name.\nGlobalHeaderDropdown.displayName = GLOBAL_HEADER_TOOL;\n\n// ### Prop Types\nGlobalHeaderDropdown.propTypes = {\n\t/**\n\t * Aligns the right or left side of the menu with the respective side of the trigger. This is not intended for use with `nubbinPosition`.\n\t */\n\talign: PropTypes.oneOf(['left', 'right']),\n\t/**\n\t * Extra classnames to apply to the dropdown menu.\n\t */\n\tclassName: PropTypes.string,\n\t/**\n\t * CSS classes to be added to `li` element.\n\t */\n\tbuttonClassName: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\t/**\n\t * Name of the icon. Visit <a href=\"http://www.lightningdesignsystem.com/resources/icons\">Lightning Design System Icons</a> to reference icon names.\n\t */\n\ticonName: PropTypes.string,\n\t/**\n\t * For icon variants, please reference <a href=\"http://www.lightningdesignsystem.com/components/buttons/#icon\">Lightning Design System Icons</a>.\n\t */\n\ticonVariant: PropTypes.oneOf([\n\t\t'bare',\n\t\t'container',\n\t\t'border',\n\t\t'border-filled',\n\t\t'more',\n\t\t'global-header',\n\t]),\n\t/**\n\t * A unique ID is needed in order to support keyboard navigation, ARIA support, and connect the dropdown to the triggering button.\n\t */\n\tid: PropTypes.string,\n\t/**\n\t * Adds custom styling such as inverse fill and special sizing/spacing\n\t */\n\tglobalAction: PropTypes.bool,\n\t/**\n\t * Positions dropdown menu with a nubbin--that is the arrow notch. The placement options correspond to the placement of the nubbin. This is implemeted with CSS classes and is best used with a `Button` with \"icon container\" styling. Dropdown menus will still be contained to the closest scrolling parent.\n\t */\n\tnubbinPosition: PropTypes.oneOf([\n\t\t'top left',\n\t\t'top',\n\t\t'top right',\n\t\t'bottom left',\n\t\t'bottom',\n\t\t'bottom right',\n\t]),\n\t/**\n\t * Offset adds pixels to the absolutely positioned dropdown menu in the format: ([vertical]px [horizontal]px).\n\t */\n\toffset: PropTypes.string,\n\t/**\n\t * Triggered when an item in the menu is clicked.\n\t */\n\tonSelect: PropTypes.func,\n\t/**\n\t * An array of menu item.\n\t */\n\toptions: PropTypes.array.isRequired,\n};\n\n// ### Default Props\nGlobalHeaderDropdown.defaultProps = {\n\talign: 'right',\n\tbuttonVariant: 'icon',\n\ticonVariant: 'global-header',\n\tnubbinPosition: 'top right',\n};\n\nexport default GlobalHeaderDropdown;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// # Global Header Favorites Component\n// Implements the [Global Header Help design pattern](https://www.lightningdesignsystem.com/components/global-header/#Help) in React.\n\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport assign from 'lodash.assign';\nimport classnames from 'classnames';\n\nimport Button from '../button';\nimport EventUtil from '../../utilities/event';\nimport KEYS from '../../utilities/key-code';\nimport Popover from '../popover';\n\nimport { GLOBAL_HEADER_FAVORITES } from '../../utilities/constants';\n\nconst propTypes = {\n\t/**\n\t * **Assistive text for accessibility**\n\t * * `action`: Description of star button. Default is \"Toggle Favorite.\"\n\t * * `more`: Description of dropdown menu. Default is \"View Favorites.\"\n\t */\n\tassistiveText: PropTypes.shape({\n\t\taction: PropTypes.string,\n\t\tmore: PropTypes.string,\n\t}),\n\t/**\n\t * Disables the favorites action (star) button and not the related Popover.\"\n\t */\n\tactionDisabled: PropTypes.bool,\n\t/**\n\t * Controls whether the favorites action (star) button is selected or not\n\t */\n\tactionSelected: PropTypes.bool,\n\t/**\n\t * This event fires when the favorites action (star) button is toggled. Passes in `event, { actionSelected }`.\n\t */\n\tonToggleActionSelected: PropTypes.func,\n\t/**\n\t * A `Popover` component applied to the favorites more button. The props from this popover will be merged and override any default props. The `children` prop will be ignored.\n\t */\n\tpopover: PropTypes.node,\n};\n\n/**\n * A GlobalHeaderFavorites component. The favorites action is used to \"favorite\" a commonly used page within a user's experience. When a user \"favorites\" a page by pressing the favorites action, the button icon changes color with a small animation to confirm your selection.\n */\nclass GlobalHeaderFavorites extends React.Component {\n\ttoggleActionSelected = (event) => {\n\t\tif (this.props.onToggleActionSelected) {\n\t\t\tthis.props.onToggleActionSelected(event, {\n\t\t\t\tactionSelected: this.props.actionSelected || false,\n\t\t\t});\n\t\t}\n\t};\n\n\trender() {\n\t\tconst actionAriaProps = {};\n\t\tconst popoverProps = assign(\n\t\t\t{\n\t\t\t\talign: 'bottom',\n\t\t\t\tbody: <span />,\n\t\t\t\ttriggerClassName: 'slds-dropdown-trigger slds-dropdown-trigger_click',\n\t\t\t},\n\t\t\tthis.props.popover ? this.props.popover.props : {}\n\t\t);\n\n\t\t// eslint-disable-next-line fp/no-delete\n\t\tdelete popoverProps.children;\n\n\t\tif (this.props.actionSelected) {\n\t\t\tactionAriaProps['aria-pressed'] = true;\n\t\t}\n\n\t\treturn (\n\t\t\t<div className=\"slds-global-actions__favorites slds-dropdown-trigger slds-dropdown-trigger_click\">\n\t\t\t\t<div className=\"slds-button-group\">\n\t\t\t\t\t<Button\n\t\t\t\t\t\tassistiveText={{ icon: this.props.assistiveText.action }}\n\t\t\t\t\t\tclassName={classnames(\n\t\t\t\t\t\t\t'slds-button_icon slds-global-actions__favorites-action',\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t'slds-is-disabled': this.props.actionDisabled,\n\t\t\t\t\t\t\t\t'slds-is-selected': this.props.actionSelected,\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t)}\n\t\t\t\t\t\tdisabled={this.props.actionDisabled}\n\t\t\t\t\t\ticonCategory=\"utility\"\n\t\t\t\t\t\ticonName=\"favorite\"\n\t\t\t\t\t\ticonSize=\"small\"\n\t\t\t\t\t\ticonVariant=\"border\"\n\t\t\t\t\t\tonClick={this.toggleActionSelected}\n\t\t\t\t\t\tonKeyDown={(event) => {\n\t\t\t\t\t\t\tif (event.keyCode === KEYS.ENTER) {\n\t\t\t\t\t\t\t\tEventUtil.trapImmediate(event);\n\t\t\t\t\t\t\t\tthis.toggleActionSelected(event);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}}\n\t\t\t\t\t\ttitle={this.props.assistiveText.action}\n\t\t\t\t\t\tvariant=\"icon\"\n\t\t\t\t\t\t{...actionAriaProps}\n\t\t\t\t\t/>\n\t\t\t\t\t<Popover {...popoverProps}>\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tassistiveText={{ icon: this.props.assistiveText.more }}\n\t\t\t\t\t\t\tclassName=\"slds-button_icon slds-global-actions__favorites-more\"\n\t\t\t\t\t\t\ticonCategory=\"utility\"\n\t\t\t\t\t\t\ticonName=\"down\"\n\t\t\t\t\t\t\ticonSize=\"small\"\n\t\t\t\t\t\t\ticonVariant=\"border\"\n\t\t\t\t\t\t\tstyle={{\n\t\t\t\t\t\t\t\t// this is needed because the popover trigger wrapper janks up the default styles\n\t\t\t\t\t\t\t\tborderLeft: '0',\n\t\t\t\t\t\t\t\tborderRadius: '0 .25rem .25rem 0',\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\ttitle={this.props.assistiveText.more}\n\t\t\t\t\t\t\tvariant=\"icon\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t</Popover>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t);\n\t}\n}\n\nGlobalHeaderFavorites.displayName = GLOBAL_HEADER_FAVORITES;\n\nGlobalHeaderFavorites.defaultProps = {\n\tassistiveText: {\n\t\taction: 'Toggle Favorite',\n\t\tmore: 'View Favorites',\n\t},\n};\n\nGlobalHeaderFavorites.propTypes = propTypes;\n\nexport default GlobalHeaderFavorites;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// # Global Header Help Component\n// Implements the [Global Header Help design pattern](https://www.lightningdesignsystem.com/components/global-header/#Help) in React.\n\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport assign from 'lodash.assign';\nimport Button from '../button';\nimport Popover from '../popover';\n\nimport { GLOBAL_HEADER_HELP } from '../../utilities/constants';\n\nconst propTypes = {\n\t/**\n\t * **Assistive text for accessibility**\n\t * * `triggerButton`: Assistive text for the GlobalHeaderHelp trigger button. The default is `Help and Training`.\n\t */\n\tassistiveText: PropTypes.shape({\n\t\ttriggerButton: PropTypes.string,\n\t}),\n\t/**\n\t * A `Popover` component. The props from this popover will be merged and override any default props. The `children` prop will be ignored.\n\t */\n\tpopover: PropTypes.node,\n};\n\n/**\n * A GlobalHeaderHelp component.\n */\nclass GlobalHeaderHelp extends React.Component {\n\trender() {\n\t\tconst buttonAriaProps = {\n\t\t\t'aria-haspopup': true,\n\t\t};\n\t\tconst popoverProps = assign(\n\t\t\t{\n\t\t\t\talign: 'bottom',\n\t\t\t\tbody: <span />,\n\t\t\t\ttriggerClassName: 'slds-dropdown-trigger slds-dropdown-trigger_click',\n\t\t\t},\n\t\t\tthis.props.popover ? this.props.popover.props : {}\n\t\t);\n\n\t\t// eslint-disable-next-line fp/no-delete\n\t\tdelete popoverProps.children;\n\n\t\treturn (\n\t\t\t<Popover {...popoverProps}>\n\t\t\t\t<Button\n\t\t\t\t\tassistiveText={{ icon: this.props.assistiveText.triggerButton }}\n\t\t\t\t\tclassName=\"slds-button_icon slds-global-actions__help slds-global-actions__item-action\"\n\t\t\t\t\ticonCategory=\"utility\"\n\t\t\t\t\ticonClassName=\"slds-global-header__icon\"\n\t\t\t\t\ticonName=\"question\"\n\t\t\t\t\ticonSize=\"small\"\n\t\t\t\t\ticonVariant=\"container\"\n\t\t\t\t\ttitle={this.props.assistiveText.triggerButton}\n\t\t\t\t\tvariant=\"icon\"\n\t\t\t\t\t{...buttonAriaProps}\n\t\t\t\t/>\n\t\t\t</Popover>\n\t\t);\n\t}\n}\n\nGlobalHeaderHelp.displayName = GLOBAL_HEADER_HELP;\n\nGlobalHeaderHelp.defaultProps = {\n\tassistiveText: {\n\t\ttriggerButton: 'Help and Training',\n\t},\n};\n\nGlobalHeaderHelp.propTypes = propTypes;\n\nexport default GlobalHeaderHelp;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// # Global Header Notifications Component\n// Implements the [Global Header Notifications design pattern](https://www.lightningdesignsystem.com/components/global-header/#Notifications) in React.\n\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport assign from 'lodash.assign';\nimport Button from '../button';\nimport Popover from '../popover';\n\nimport { GLOBAL_HEADER_NOTIFICATIONS } from '../../utilities/constants';\n\nconst propTypes = {\n\t/**\n\t * **Assistive text for accessibility**\n\t * * `newNotificationsAfter`: Assistive text for when there are new notifications, after the notificationCount. The default is ' new notifications'.\n\t * * `newNotificationsBefore`: Assistive text for when there are new notifications, before the notificationCount. The default is ''.\n\t * * `noNotifications`: Assistive text for when there are no new notifications.\n\t */\n\tassistiveText: PropTypes.shape({\n\t\tnewNotificationsAfter: PropTypes.string,\n\t\tnewNotificationsBefore: PropTypes.string,\n\t\tnoNotifications: PropTypes.string,\n\t}),\n\t/**\n\t * Dictates the number of notifications shown in the new notifications badge.\n\t */\n\tnotificationCount: PropTypes.number,\n\t/**\n\t * A `Popover` component. The props from this popover will be merged and override any default props. The `children` prop will be ignored.\n\t */\n\tpopover: PropTypes.node,\n};\n\n/**\n * A GlobalHeaderNotifications component. Notifications are a way to notify a user about a global change within the application.\n */\nclass GlobalHeaderNotifications extends React.Component {\n\trender() {\n\t\tconst buttonAriaProps = {\n\t\t\t'aria-live': 'assertive',\n\t\t};\n\t\tconst { notificationCount } = this.props;\n\t\tconst popoverProps = assign(\n\t\t\t{\n\t\t\t\talign: 'bottom right',\n\t\t\t\tbody: <span />,\n\t\t\t\ttriggerClassName: 'slds-dropdown-trigger slds-dropdown-trigger_click',\n\t\t\t},\n\t\t\tthis.props.popover ? this.props.popover.props : {}\n\t\t);\n\t\tlet notificationsAssistiveText = this.props.assistiveText.noNotifications;\n\n\t\t// eslint-disable-next-line fp/no-delete\n\t\tdelete popoverProps.children;\n\n\t\tif (notificationCount > 0) {\n\t\t\tnotificationsAssistiveText = `${this.props.assistiveText.newNotificationsBefore}${notificationCount}${this.props.assistiveText.newNotificationsAfter}`;\n\t\t} else {\n\t\t\tbuttonAriaProps['aria-atomic'] = true;\n\t\t}\n\n\t\treturn (\n\t\t\t<Popover {...popoverProps}>\n\t\t\t\t<Button\n\t\t\t\t\tassistiveText={{ icon: notificationsAssistiveText }}\n\t\t\t\t\tclassName=\"slds-button_icon slds-global-actions__notifications slds-global-actions__item-action\"\n\t\t\t\t\ticonCategory=\"utility\"\n\t\t\t\t\ticonClassName=\"slds-global-header__icon\"\n\t\t\t\t\ticonName=\"notification\"\n\t\t\t\t\ticonSize=\"small\"\n\t\t\t\t\ticonVariant=\"container\"\n\t\t\t\t\ttitle={notificationsAssistiveText}\n\t\t\t\t\tvariant=\"icon\"\n\t\t\t\t\t{...buttonAriaProps}\n\t\t\t\t/>\n\t\t\t\t{notificationCount > 0 ? (\n\t\t\t\t\t<span\n\t\t\t\t\t\taria-hidden=\"true\"\n\t\t\t\t\t\tclassName=\"slds-notification-badge slds-incoming-notification slds-show-notification\"\n\t\t\t\t\t>\n\t\t\t\t\t\t{notificationCount}\n\t\t\t\t\t</span>\n\t\t\t\t) : (\n\t\t\t\t\t<span aria-hidden=\"true\" className=\"slds-notification-badge\" />\n\t\t\t\t)}\n\t\t\t</Popover>\n\t\t);\n\t}\n}\n\nGlobalHeaderNotifications.displayName = GLOBAL_HEADER_NOTIFICATIONS;\n\nGlobalHeaderNotifications.defaultProps = {\n\tassistiveText: {\n\t\tnewNotificationsAfter: ' new notifications',\n\t\tnewNotificationsBefore: '',\n\t\tnoNotifications: 'No new notifications',\n\t},\n\tnotificationCount: 0,\n};\n\nGlobalHeaderNotifications.propTypes = propTypes;\n\nexport default GlobalHeaderNotifications;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// # Global Header Button Component\n\n// ## Dependencies\n\n// ### React\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\nimport assign from 'lodash.assign';\nimport classnames from 'classnames';\n\nimport checkProps from './check-props';\n\nimport Button from '../button';\nimport Popover from '../popover';\n\n// ## Constants\nimport { GLOBAL_HEADER_PROFILE } from '../../utilities/constants';\n\n/**\n * This component is an `Avatar` component that opens a `Popover` component when clicked.\n */\nclass GlobalHeaderProfile extends React.Component {\n\tconstructor(props) {\n\t\tsuper(props);\n\t\tcheckProps(GLOBAL_HEADER_PROFILE, props);\n\t}\n\n\trender() {\n\t\tconst buttonAriaProps = {\n\t\t\t'aria-haspopup': true,\n\t\t};\n\t\tconst popoverProps = assign(\n\t\t\t{\n\t\t\t\talign: 'bottom right',\n\t\t\t\tbody: <span />,\n\t\t\t\tclassName: this.props.className,\n\t\t\t\theading: this.props.userName,\n\t\t\t\tid: this.props.id,\n\t\t\t\ttriggerClassName: 'slds-dropdown-trigger slds-dropdown-trigger_click',\n\t\t\t},\n\t\t\tthis.props.popover ? this.props.popover.props : {}\n\t\t);\n\t\t// Note: the default avatar is done this way to prevent documentation from showing this giant string\n\t\t/* eslint-disable max-len */\n\t\tlet avatar =\n\t\t\t'data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAASABIAAD/4QBYRXhpZgAATU0AKgAAAAgAAgESAAMAAAABAAEAAIdpAAQAAAABAAAAJgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAAAwaADAAQAAAABAAAAwQAAAAD/7QA4UGhvdG9zaG9wIDMuMAA4QklNBAQAAAAAAAA4QklNBCUAAAAAABDUHYzZjwCyBOmACZjs+EJ+/8AAEQgAwQDBAwEiAAIRAQMRAf/EAB8AAAEFAQEBAQEBAAAAAAAAAAABAgMEBQYHCAkKC//EALUQAAIBAwMCBAMFBQQEAAABfQECAwAEEQUSITFBBhNRYQcicRQygZGhCCNCscEVUtHwJDNicoIJChYXGBkaJSYnKCkqNDU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6g4SFhoeIiYqSk5SVlpeYmZqio6Slpqeoqaqys7S1tre4ubrCw8TFxsfIycrS09TV1tfY2drh4uPk5ebn6Onq8fLz9PX29/j5+v/EAB8BAAMBAQEBAQEBAQEAAAAAAAABAgMEBQYHCAkKC//EALURAAIBAgQEAwQHBQQEAAECdwABAgMRBAUhMQYSQVEHYXETIjKBCBRCkaGxwQkjM1LwFWJy0QoWJDThJfEXGBkaJicoKSo1Njc4OTpDREVGR0hJSlNUVVZXWFlaY2RlZmdoaWpzdHV2d3h5eoKDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uLj5OXm5+jp6vLz9PX29/j5+v/bAEMAAQEBAQEBAgEBAgMCAgIDBAMDAwMEBQQEBAQEBQYFBQUFBQUGBgYGBgYGBgcHBwcHBwgICAgICQkJCQkJCQkJCf/bAEMBAQEBAgICBAICBAkGBQYJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCf/dAAQADf/aAAwDAQACEQMRAD8A+oKKKK/oA/DwooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigD/9D6gooor+gD8PCiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKAP/0fqCiiiv6APw8KKKKACiiigAooooAKKKKACijOOtdhoPw8+IHiqPzvDGh3+op/etreSQf+OqamU1HVsqMW3ZHH0V2GvfDz4geFY/O8T6Hf6cn965t5Ix/wCPKK4/OelEZqWqYSi07MKKKKokKKKKACiiigAooooAKKKKACiiigD/0vqCiiiv6APw8KKKKACiiigAooooAK6Lwn4T8R+OvEdp4R8JWj32o30gjhhjGSzH+QHUk8AVzpOOa/ff/gmL+zjZeFPA5+OXia2zqushksd45itQcbh6GQ85/u4ry84zOOEouq9+nqellWXSxNZU1t19Drf2ZP8AgnF8OvhpYWvij4swx6/r7KHaGQbrW3brhUP3yP7zd+gr9JrHTNN0uBbbTbeO3jQYVY1CgAdgABV6ivx/GY+tiJc9WVz9UwmCpUI8lJWKN9pmm6pA1tqVvHcRuMMsihgQexBBr82f2m/+CcXw6+Jdhc+J/hNDHoGvqpdYYxttbhuuGQfcJ/vL36iv00oowePrYeXPSlYMXgqVePJVVz+MnxZ4T8R+BfEd34R8W2j2Oo2MhjmhkGCrD+YPUEcEVztfvv8A8FOv2cbLxX4HHxy8M22NV0bal9sHMtqTjc3qYzzn+7mvwIBzzX7Bk+ZxxdFVVv19T8rzXLpYas6b26egUUUV6h5oUUUUAFFFFABRRRQAUUUUAf/T+oKKKK/oA/DwooooAKKKKACiiigDX8P6RN4g1+x0G3/1l7cRwL9ZGC/1r+xnwR4csfCHg7S/C2mrst9PtYreNfRY1AFfyI/CO5gsvit4ZvLn/Vxapas2fQSqTX9iULK8KOvQgEflX57xxN3px6an3XBsFapLrp+pJRRRXwJ9sFFFFAHL+NvDtj4u8H6p4X1Jd9vqFrLbyL6rIhU/zr+ObxBpE3h/X77Qbj/WWVxJA31jYr/Sv7PZmVIXdugBJr+O34uXMF78VvE15bf6uXVLplx6GViK++4Gm71I9ND4njKCtTl11/Q89ooor9CPhQooooAKKKKACiiigAooooA//9T6gooor+gD8PCiiigAooooAKKKKAHxTS28qXEBIeNg6kdQVORX9dH7OfxMsfi58FvD/jizlEj3NpGs+P4Z4xtkU/Rga/kUr9Lf+CeX7WVp8F/E8nwx8eXAi8O6zKGjnf7trcnjJPZH4B9Dg+tfMcVZZLEUOaC1jr8up9Hw1mKoVuWe0v6R/RXRUNvcQXcCXVq6yRyAMrKchgeQQR1BqavyY/TQooqG4uILSB7q6dY44wWZmOAoHJJJ6AUAeMftGfEyx+EXwX8QeObyURvbWkiwZ/inkG2NR9WIr+ReWaW4le4nJLyMXYnqSxya/Sv/AIKG/tZ2nxo8Tx/DHwHcCXw7o0paSdPu3VyMjIPdE5A9Tk+lfmjX6zwrlksPQ5prWX5dD8y4lzFV63LDaP8ATCiiivpz5wKKKKACiiigAooooAKKKKAP/9X6gooor+gD8PCiiigAooooAKKKkhhmuZltrZGkkc4VEBLEnsAOTQBHQQCMGv0D+Bf/AATm+N/xaWHWPFEY8MaTJhvMu1JndT/ch4P/AH1iv0ztP+CXf7OUHgt/D1yL2bUnX/kJGUiVW/2UH7vbnsQfrXgYzibCUZcjld+Wp7eE4exVaPMlZeeh+Xn7Nn7f3xV+A1vB4Y1kf8JD4eiG1bad8Swr/wBMpcE4H905Hpiv1S8Jf8FPP2ZdetFm125vNGlx8yXEDPg98GLdkV+ZHxk/4JsfHr4c3M154NhTxRpiklHtvluAvbdEeSf90mviPXfhz8QvDE7WviPQr+ykT7yzW8ikfmK46uVZdjX7SD18n+n/AADrp5lj8GvZzWi7r9T+hPxb/wAFPP2ZdBtGm0K5vNZlx8qW8DJk9smXbgV+V37Sf7f3xV+PFvP4X0Yf8I94elG1raB8yzL/ANNZMA4P90YHrmvj3Q/h18QfE062vh3Qr+9kf7qw28jE/kK+1vg//wAE2vj/APEa4hu/FkCeGNNYgvJdfNOV77YQc5/3iKKWVZdgv3k3r5v9P+AFTM8fjF7OC0fZfr/wT89wABgUV/RNd/8ABLH9n6XwWug2txfQ6oq/8hHzMsz+8eNm3PYYPvX5ofHL/gnd8dPhEs2raDAPE2kx5PnWanzlUd3h5b/vkkV24PiXCV5ckZWfnoceL4fxVGPM43XlqfBFFSSxS28rW9wjRyIcMrAgg+hB6VHXvHihRRRQAUUUUAFFFFABRRRQB//W+oKKKK/oA/DwooooAKKK2/DPh7VPF3iKw8K6InmXmozx28K+ryMFH86UpJK7Gk27I9N+BvwF+IP7QXjBPCPgO2LYwbi6cEQ26f3nb+Q6mv6Iv2cP2IfhH+z/AGUOo/Zl1nxAAPM1C5UMVbv5KHIQe/X3r1f9nX4E+Fv2ffhrZeCPD0S+eED3lxgb55yPnZj6Z4A7Cvd6/KM94kqYiTp0naH5+v8AkfpmTZBToRU6ivL8gooor5c+jCoJLW2mOZY1Y+4BqeigCCO1toTmKNVPsAKnoooAKCM8GiigD4t/aO/Yd+EXx+tJtTS2XRfEBBMeoWyhdzdvOQYDj1P3vev54Pjl8BviF+z94wfwh49tthOWt7lMmG4T+8jY/MHkV/XjXhH7RXwI8LftBfDW98E+IYl88oz2dxgb4JwPkZT6Z4I7ivqMi4kqYeSp1XeH5eh85nOQU68XOmrS/M/keorb8TeHdU8I+I7/AMK62nl3mnTyW8y+jxsVP4cViV+rxkmro/M2mnZhRRRTEFFFFABRRRQB/9f6gooor+gD8PCiiigAr62/YTsLbUv2sfB1tdqGQXEsmD6pC7L+RFfJNe6fszfEWw+E/wAePDPj7VeLSxuwJz/djlUxs3/AQ2a5MfCUqE4x3af5HVgZxjWhKWya/M/rkoqjpupWGs6fDqulzLPbXCCSKRDlWVhkEEVer8LaP2ZMKKKKQBRRRQAUUUUAFFFFABRRVLUtSsNH0+bVdUmW3trdDJJI5wqqoySSaaQNn8tf7dun22m/tY+Mba0UIhuIpMD1eFGP5k18kV7p+0z8RbH4sfHjxN4+0o5tb67Igb+9HEojRv8AgQXNeF1+6YCEo0IRlukvyPxnHTjKtOUdm3+YUUUV1nKFFFFABRRRQB//0PqCiiiv6APw8KKKKACiiigD6v8Agv8Atp/H34F6WugeE9TS602P/V2l8nnRx/7nIZR7A49q9/8A+Hq37SX/AD5aL/4Dy/8Ax2vzRorza2T4WpLnnTTZ6FLNcTCPLCbSP0u/4erftJf8+Wi/+A8v/wAdo/4erftJf8+Wi/8AgPL/APHa/NGisv7Bwf8Az7Rp/bWL/wCfjP0u/wCHq37SX/Plov8A4Dy//HaP+Hq37SX/AD5aL/4Dy/8Ax2vzRoo/sHB/8+0H9tYv/n4z9Lv+Hq37SX/Plov/AIDy/wDx2j/h6t+0l/z5aL/4Dy//AB2vzRoo/sHB/wDPtB/bWL/5+M/S7/h6t+0l/wA+Wi/+A8v/AMdo/wCHq37SX/Plov8A4Dy//Ha/NGij+wcH/wA+0H9tYv8A5+M/S7/h6t+0l/z5aL/4Dy//AB2vAPjR+2n8ffjppbaB4s1NLXTZP9ZaWKeTHJ/v8lmHsTj2r5QorWjk+Fpy54U0mZ1c1xM48s5toKKKK9I88KKKKACiiigAooooA//R+oKKKK/oA/DwooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigD/9L6gooor+gD8PCiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKAP/0/qCiiiv6APw8KKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooA//Z';\n\t\t/* eslint-enable max-len */\n\n\t\t// eslint-disable-next-line fp/no-delete\n\t\tdelete popoverProps.children;\n\n\t\tavatar = this.props.avatar ? this.props.avatar : avatar;\n\n\t\treturn (\n\t\t\t<Popover {...popoverProps}>\n\t\t\t\t<Button\n\t\t\t\t\tclassName={classnames(\n\t\t\t\t\t\t'slds-global-actions__avatar slds-global-actions__item-action',\n\t\t\t\t\t\tthis.props.buttonClassName\n\t\t\t\t\t)}\n\t\t\t\t\ttitle={this.props.userName}\n\t\t\t\t\tvariant=\"icon\"\n\t\t\t\t\t{...buttonAriaProps}\n\t\t\t\t>\n\t\t\t\t\t{typeof avatar === 'string' ? (\n\t\t\t\t\t\t<span className=\"slds-avatar slds-avatar_circle slds-avatar_medium\">\n\t\t\t\t\t\t\t<img alt={this.props.userName} src={avatar} title=\"User avatar\" />\n\t\t\t\t\t\t</span>\n\t\t\t\t\t) : (\n\t\t\t\t\t\tavatar || null\n\t\t\t\t\t)}\n\t\t\t\t</Button>\n\t\t\t</Popover>\n\t\t);\n\t}\n}\n\n// ### Display Name\nGlobalHeaderProfile.displayName = GLOBAL_HEADER_PROFILE;\n\n// ### Prop Types\nGlobalHeaderProfile.propTypes = {\n\t/**\n\t * Extra classnames to apply to the popover.\n\t */\n\tclassName: PropTypes.string,\n\t/**\n\t * An image URL or avatar node to display for the user profile. Defaults to a base64 encoded generic user avatar image string\n\t */\n\tavatar: PropTypes.oneOfType([PropTypes.string, PropTypes.node]),\n\t/**\n\t * CSS classes to be added to the `button` element.\n\t */\n\tbuttonClassName: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\t/**\n\t * A unique ID is needed in order to support keyboard navigation, ARIA support, and connect the popover to the triggering button. If an id is not provided, it will be automatically generated.\n\t */\n\tid: PropTypes.string,\n\t/**\n\t * A `Popover` component. The props from this popover will be merged and override any default props.\n\t */\n\tpopover: PropTypes.node,\n\t/**\n\t * The user name of the profile. Defaults to \"User Name\"\n\t */\n\tuserName: PropTypes.string,\n};\n\n// ### Default Props\nGlobalHeaderProfile.defaultProps = {\n\tuserName: 'User Name',\n};\n\nexport default GlobalHeaderProfile;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// # Global Header Search Component\n\n// ## Dependencies\n\n// ### React\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\n// ## Constants\nimport { GLOBAL_HEADER_SEARCH } from '../../utilities/constants';\n\n/**\n * The GlobalHeaderSearch component is used for application wide search. The form element is implemented as a `Combobox`.\n */\nconst GlobalHeaderSearch = (props) => (\n\t<div className=\"slds-global-header__item slds-global-header__item_search\">\n\t\t{props.combobox}\n\t</div>\n);\n\nGlobalHeaderSearch.displayName = GLOBAL_HEADER_SEARCH;\n\nGlobalHeaderSearch.propTypes = {\n\t/**\n\t * A required `Combobox` component. The props from this combobox will be merged and override any default props.\n\t */\n\tcombobox: PropTypes.node.isRequired,\n};\n\nexport default GlobalHeaderSearch;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// # Global Header Setup Component\n// Implements the [Global Header Setup design pattern](https://www.lightningdesignsystem.com/components/global-header/#Setup) in React.\n\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport assign from 'lodash.assign';\nimport Button from '../button';\nimport Dropdown from '../menu-dropdown';\nimport DropdownTrigger from '../menu-dropdown/button-trigger';\n\nimport { GLOBAL_HEADER_SETUP } from '../../utilities/constants';\n\nconst propTypes = {\n\t/**\n\t * **Assistive text for accessibility**\n\t * * `triggerButton`: Assistive text for the GlobalHeaderSetup trigger button. The default is `Setup`.\n\t */\n\tassistiveText: PropTypes.shape({\n\t\ttriggerButton: PropTypes.string,\n\t}),\n\t/**\n\t * A `Dropdown` component. The props from this dropdown will be merged and override any default props. This also allows custom content to be passed as children and rendered in the dropdown.\n\t */\n\tdropdown: PropTypes.node,\n};\n\n/**\n * A GlobalHeaderSetup component.\n */\nclass GlobalHeaderSetup extends React.Component {\n\trender() {\n\t\tconst buttonAriaProps = {\n\t\t\t'aria-haspopup': true,\n\t\t};\n\t\tconst dropdownProps = assign(\n\t\t\t{\n\t\t\t\talign: 'right',\n\t\t\t\tnubbinPosition: 'top right',\n\t\t\t},\n\t\t\tthis.props.dropdown ? this.props.dropdown.props : {}\n\t\t);\n\t\tconst dropdownChildren = dropdownProps.children || null;\n\n\t\t// eslint-disable-next-line fp/no-delete\n\t\tdelete dropdownProps.children;\n\n\t\treturn (\n\t\t\t<Dropdown {...dropdownProps}>\n\t\t\t\t<DropdownTrigger>\n\t\t\t\t\t<Button\n\t\t\t\t\t\tassistiveText={{ icon: this.props.assistiveText.triggerButton }}\n\t\t\t\t\t\tclassName=\"slds-button_icon slds-global-actions__setup slds-global-actions__item-action\"\n\t\t\t\t\t\ticonCategory=\"utility\"\n\t\t\t\t\t\ticonClassName=\"slds-global-header__icon\"\n\t\t\t\t\t\ticonName=\"setup\"\n\t\t\t\t\t\ticonSize=\"small\"\n\t\t\t\t\t\ticonVariant=\"container\"\n\t\t\t\t\t\ttitle={this.props.assistiveText.triggerButton}\n\t\t\t\t\t\tvariant=\"icon\"\n\t\t\t\t\t\t{...buttonAriaProps}\n\t\t\t\t\t/>\n\t\t\t\t</DropdownTrigger>\n\t\t\t\t{dropdownChildren}\n\t\t\t</Dropdown>\n\t\t);\n\t}\n}\n\nGlobalHeaderSetup.displayName = GLOBAL_HEADER_SETUP;\n\nGlobalHeaderSetup.defaultProps = {\n\tassistiveText: {\n\t\ttriggerButton: 'Setup',\n\t},\n};\n\nGlobalHeaderSetup.propTypes = propTypes;\n\nexport default GlobalHeaderSetup;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// # Global Header Task Component\n// Implements the [Global Header Task design pattern](https://www.lightningdesignsystem.com/components/global-header/#Task) in React.\n\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport assign from 'lodash.assign';\nimport Button from '../button';\nimport Dropdown from '../menu-dropdown';\nimport DropdownTrigger from '../menu-dropdown/button-trigger';\n\nimport { GLOBAL_HEADER_TASK } from '../../utilities/constants';\n\nconst propTypes = {\n\t/**\n\t * **Assistive text for accessibility**\n\t * * `triggerButton`: Assistive text for the GlobalHeaderTask trigger button. The default is `Global Actions`.\n\t */\n\tassistiveText: PropTypes.shape({\n\t\ttriggerButton: PropTypes.string,\n\t}),\n\t/**\n\t * A `Dropdown` component. The props from this dropdown will be merged and override any default props. This also allows custom content to be passed as children and rendered in the dropdown.\n\t */\n\tdropdown: PropTypes.node,\n};\n\n/**\n * A GlobalHeaderTask component.\n */\nclass GlobalHeaderTask extends React.Component {\n\trender() {\n\t\tconst buttonAriaProps = {\n\t\t\t'aria-haspopup': true,\n\t\t};\n\t\tconst dropdownProps = assign(\n\t\t\t{\n\t\t\t\talign: 'right',\n\t\t\t\tnubbinPosition: 'top right',\n\t\t\t},\n\t\t\tthis.props.dropdown ? this.props.dropdown.props : {}\n\t\t);\n\t\tconst dropdownChildren = dropdownProps.children || null;\n\n\t\t// eslint-disable-next-line fp/no-delete\n\t\tdelete dropdownProps.children;\n\n\t\treturn (\n\t\t\t<Dropdown {...dropdownProps}>\n\t\t\t\t<DropdownTrigger>\n\t\t\t\t\t<Button\n\t\t\t\t\t\tassistiveText={{ icon: this.props.assistiveText.triggerButton }}\n\t\t\t\t\t\tclassName=\"slds-button_icon slds-global-actions__task slds-global-actions__item-action\"\n\t\t\t\t\t\ticonCategory=\"utility\"\n\t\t\t\t\t\ticonName=\"add\"\n\t\t\t\t\t\ticonSize=\"small\"\n\t\t\t\t\t\ticonVariant=\"container\"\n\t\t\t\t\t\ttitle={this.props.assistiveText.triggerButton}\n\t\t\t\t\t\tvariant=\"icon\"\n\t\t\t\t\t\t{...buttonAriaProps}\n\t\t\t\t\t/>\n\t\t\t\t</DropdownTrigger>\n\t\t\t\t{dropdownChildren}\n\t\t\t</Dropdown>\n\t\t);\n\t}\n}\n\nGlobalHeaderTask.displayName = GLOBAL_HEADER_TASK;\n\nGlobalHeaderTask.defaultProps = {\n\tassistiveText: {\n\t\ttriggerButton: 'Global Actions',\n\t},\n};\n\nGlobalHeaderTask.propTypes = propTypes;\n\nexport default GlobalHeaderTask;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// # Global Navigation Bar Component\n\n// Implements the [Global Navigation Bar design pattern](https://www.lightningdesignsystem.com/components/global-navigation#flavor-navigation-bar) in React.\n// Based on SLDS v2.1.0-rc.2\n\n// ## Dependencies\n\n// ### React\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\n// ### classNames\nimport classNames from 'classnames';\n\n// ## Constants\nimport {\n\tGLOBAL_NAVIGATION_BAR,\n\tGLOBAL_NAVIGATION_BAR_REGION,\n} from '../../utilities/constants';\n\nconst auditChildren = (children) => {\n\tlet primaryRegion;\n\t// there can be multiple secondary navigation regions\n\tconst secondaryRegions = [];\n\tlet tertiaryRegion;\n\n\tReact.Children.forEach(children, (child) => {\n\t\tif (child && child.type.displayName === GLOBAL_NAVIGATION_BAR_REGION) {\n\t\t\tif (child.props.region === 'primary') {\n\t\t\t\tprimaryRegion = child;\n\t\t\t} else if (child.props.region === 'secondary') {\n\t\t\t\t// eslint-disable-next-line fp/no-mutating-methods\n\t\t\t\tsecondaryRegions.push(child);\n\t\t\t} else if (child.props.region === 'tertiary') {\n\t\t\t\ttertiaryRegion = child;\n\t\t\t}\n\t\t}\n\t});\n\n\treturn [primaryRegion, ...secondaryRegions, tertiaryRegion];\n};\n\n/**\n * Global Navigation Bar represents a list of links that either take the user to another page or parts of the page the user is in.\n */\nconst GlobalNavigationBar = (props) => (\n\t<div\n\t\tclassName={classNames(\n\t\t\t'slds-context-bar',\n\t\t\t{\n\t\t\t\t[`slds-context-bar_theme-${props.cloud}`]: props.cloud,\n\t\t\t\t[`slds-context-bar_theme-${props.theme}`]: props.theme,\n\t\t\t},\n\t\t\tprops.className\n\t\t)}\n\t>\n\t\t{auditChildren(props.children)}\n\t</div>\n);\n\n// ### Prop Types\nGlobalNavigationBar.propTypes = {\n\t/**\n\t * The items to be displayed in the Global Navigation Bar.\n\t */\n\tchildren: PropTypes.node,\n\t/**\n\t * CSS class names to be added to the container element.\n\t */\n\tclassName: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\t/**\n\t * Typically the cloud name (e.g.- \"sales\" or \"marketing\"). This primarily changes the background color.\n\t */\n\tcloud: PropTypes.string,\n\t/**\n\t * Transforms text and interactions (such as hover) to be more visually accessible.\n\t */\n\ttheme: PropTypes.oneOf(['light', 'dark']),\n};\n\nGlobalNavigationBar.defaultProps = {};\n\nGlobalNavigationBar.displayName = GLOBAL_NAVIGATION_BAR;\n\nexport default GlobalNavigationBar;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// # Global Navigation Bar Button Component\n\n// ## Dependencies\n\n// ### React\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\n// ### classNames\nimport classNames from 'classnames';\n\n// ### Button\nimport Button from '../button';\n\n// ## Constants\nimport { GLOBAL_NAVIGATION_BAR_BUTTON } from '../../utilities/constants';\n\n/**\n * A helper component that renders a Button as an item in the Global Navigation Bar. All props are passed onto `Button` except `active` and `dividerPosition`.\n */\nconst GlobalNavigationButton = ({ active, dividerPosition, ...props }) => (\n\t<li\n\t\tclassName={classNames('slds-context-bar__item', {\n\t\t\t'slds-is-active': active,\n\t\t\t[`slds-context-bar__item_divider-${dividerPosition}`]: dividerPosition,\n\t\t})}\n\t>\n\t\t<Button {...props} />\n\t</li>\n);\n\nGlobalNavigationButton.displayName = GLOBAL_NAVIGATION_BAR_BUTTON;\n\n// ### Prop Types\nGlobalNavigationButton.propTypes = {\n\t/**\n\t * Whether the item is active or not.\n\t */\n\tactive: PropTypes.bool,\n\t/**\n\t * Determines position of separating bar.\n\t */\n\tdividerPosition: PropTypes.oneOf(['left', 'right']),\n};\n\n// ### Default Props\nGlobalNavigationButton.defaultProps = {\n\tclassName: 'slds-context-bar__label-action slds-text-body_regular',\n\t// This is a hack since buttons are not supported by Global Navigation\n\t// Bar and have different `font-size` and `line-height` than links or\n\t// dropdowns.\n\tstyle: { lineHeight: 'inherit' },\n\tvariant: 'base',\n};\n\nexport default GlobalNavigationButton;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n/* eslint-disable import/no-mutable-exports */\n\nimport sunsetProperty from '../../utilities/warning/sunset-property';\nimport getComponentDocFn from '../../utilities/get-component-doc';\n\nlet checkProps = function checkPropsFunction() {};\n\nif (process.env.NODE_ENV !== 'production') {\n\tcheckProps = function checkPropsFunction(COMPONENT, props, jsonDoc) {\n\t\tconst createDocUrl = getComponentDocFn(jsonDoc);\n\n\t\tif (typeof props.assistiveText === 'string') {\n\t\t\tsunsetProperty(\n\t\t\t\tCOMPONENT,\n\t\t\t\tprops.assistiveText,\n\t\t\t\t'assistiveText',\n\t\t\t\t`\\`assistiveText\\` as a string has been deprecated and is now an object to allow for multiple uses in the component. Please use \\`assistiveText.icon\\` instead. ${createDocUrl(\n\t\t\t\t\t'assistiveText'\n\t\t\t\t)}`\n\t\t\t);\n\t\t}\n\t};\n}\n\nexport default checkProps;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n/* eslint-disable jsx-a11y/no-noninteractive-element-interactions */\n\n// # Global Navigation Dropdown Component\n\n// ## Dependencies\n\n// ### React\nimport React from 'react';\n\nimport PropTypes from 'prop-types';\n\n// ### classNames\nimport classNames from 'classnames';\n\nimport colors from '../../utilities/design-tokens/dist/salesforce-skin.common.js';\n\nimport checkProps from './check-props';\nimport componentDoc from './component.json';\n\nimport Button from '../button';\n\n// ## Constants\nimport { MENU_DROPDOWN_TRIGGER } from '../../utilities/constants';\n\n/**\n * The Dropdown Button Trigger renders the default trigger button for the dropdown menu. If this component has children, it does not render itself to the DOM. Instead, it renders its child element, `Button`, and all that child's properties. This component may be used as a template to create custom triggers that do not use `Button`.\n */\nclass GlobalNavigationDropdownTrigger extends React.Component {\n\t// ### Display Name\n\t// Always use the canonical component name (set in the core) as the React\n\t// display name.\n\tstatic displayName = MENU_DROPDOWN_TRIGGER;\n\n\t// ### Prop Types\n\tstatic propTypes = {\n\t\t/**\n\t\t * Whether the item is active or not.\n\t\t */\n\t\tactive: PropTypes.bool,\n\t\t/**\n\t\t * Allows alignment of active item with active application background color.\n\t\t */\n\t\tactiveBackgroundColor: PropTypes.string,\n\t\t/**\n\t\t * **Assistive text for accessibility.**\n\t\t * This object is merged with the default props object on every render.\n\t\t * * `icon`: Text that is visually hidden but read aloud by screenreaders to tell the user what the icon means. If the button has an icon and a visible label, you can omit the <code>assistiveText.icon</code> prop and use the <code>label</code> prop.\n\t\t */\n\t\tassistiveText: PropTypes.shape({\n\t\t\ticon: PropTypes.string,\n\t\t}),\n\t\t/**\n\t\t * CSS classes to be added to the 'li'.\n\t\t */\n\t\tclassName: PropTypes.oneOfType([\n\t\t\tPropTypes.array,\n\t\t\tPropTypes.object,\n\t\t\tPropTypes.string,\n\t\t]),\n\t\t/**\n\t\t * Determines position of separating bar.\n\t\t */\n\t\tdividerPosition: PropTypes.oneOf(['left', 'right']),\n\t\t/**\n\t\t * A unique ID is needed in order to support keyboard navigation, ARIA support, and connect the dropdown to the triggering button.\n\t\t */\n\t\tid: PropTypes.string,\n\t\t/**\n\t\t * Allows the dropdown menu to style itself accordingly when open since CSS hover rules cannot take effect if the menu is not inline.\n\t\t */\n\t\tisOpen: PropTypes.bool,\n\t\t/**\n\t\t * Visible label on the dropdown menu trigger button.\n\t\t */\n\t\tlabel: PropTypes.string,\n\t\t/**\n\t\t * The dropdown menu.\n\t\t */\n\t\tmenu: PropTypes.node,\n\t\t/**\n\t\t * Is only called when `openOn` is set to `hover` and when the triggering li loses focus.\n\t\t */\n\t\tonBlur: PropTypes.func,\n\t\t/**\n\t\t * This prop is passed onto the triggering `li`. Triggered when the trigger li is clicked.\n\t\t */\n\t\tonClick: PropTypes.func,\n\t\t/**\n\t\t * Is only called when `openOn` is set to `hover` and when the triggering li gains focus.\n\t\t */\n\t\tonFocus: PropTypes.func,\n\t\t/**\n\t\t * Called when a key pressed.\n\t\t */\n\t\tonKeyDown: PropTypes.func,\n\t\t/**\n\t\t * Called when mouse clicks down on the trigger `li`.\n\t\t */\n\t\tonMouseDown: PropTypes.func,\n\t\t/**\n\t\t * Called when mouse hovers over the trigger `li`.\n\t\t */\n\t\tonMouseEnter: PropTypes.func,\n\t\t/**\n\t\t * Called when mouse leaves trigger `li` or the menu.\n\t\t */\n\t\tonMouseLeave: PropTypes.func,\n\t\t/**\n\t\t * The ref of the actual triggering button.\n\t\t */\n\t\ttriggerRef: PropTypes.func,\n\t};\n\n\tstatic defaultProps = { assistiveText: { icon: 'Open menu item submenu' } };\n\n\tconstructor(props) {\n\t\tsuper(props);\n\t\tcheckProps(MENU_DROPDOWN_TRIGGER, this.props, componentDoc);\n\t}\n\n\t// ### Render\n\trender() {\n\t\tconst {\n\t\t\tactive,\n\t\t\tactiveBackgroundColor,\n\t\t\tclassName,\n\t\t\tdividerPosition,\n\t\t\tid,\n\t\t\tisOpen,\n\t\t\tlabel,\n\t\t\tmenu,\n\t\t\tonBlur,\n\t\t\tonClick,\n\t\t\tonFocus,\n\t\t\tonKeyDown,\n\t\t\tonMouseDown,\n\t\t\tonMouseEnter,\n\t\t\tonMouseLeave,\n\t\t\ttriggerRef,\n\t\t\t...rest\n\t\t} = this.props;\n\n\t\tconst listItemstyle = {};\n\t\t// Uses design token to get correct color\n\t\tconst hoverBackgroundColor = colors.brandPrimaryTransparent10;\n\n\t\tif (active) {\n\t\t\tlistItemstyle.backgroundColor = activeBackgroundColor;\n\t\t\tlistItemstyle.borderBottomColor = activeBackgroundColor;\n\t\t}\n\n\t\t// Per SLDS pattern, set trigger style like hover style, so that hover visuals and menu being open and closed are in same state\n\t\tif (isOpen) {\n\t\t\tlistItemstyle.backgroundColor = hoverBackgroundColor;\n\t\t}\n\n\t\treturn (\n\t\t\t// eslint-disable-next-line jsx-a11y/role-supports-aria-props\n\t\t\t<li\n\t\t\t\taria-haspopup=\"true\"\n\t\t\t\tclassName={classNames(\n\t\t\t\t\t'slds-context-bar__item slds-context-bar__dropdown-trigger slds-dropdown-trigger slds-dropdown-trigger_click',\n\t\t\t\t\t{\n\t\t\t\t\t\t'slds-is-open': isOpen,\n\t\t\t\t\t\t'slds-is-active': active,\n\t\t\t\t\t\t[`slds-context-bar__item_divider-${dividerPosition}`]: dividerPosition,\n\t\t\t\t\t},\n\t\t\t\t\tclassName\n\t\t\t\t)}\n\t\t\t\tid={id}\n\t\t\t\tonBlur={onBlur}\n\t\t\t\tonClick={onClick}\n\t\t\t\tonFocus={onFocus}\n\t\t\t\tonKeyDown={onKeyDown}\n\t\t\t\tonMouseDown={onMouseDown}\n\t\t\t\tonMouseEnter={onMouseEnter}\n\t\t\t\tonMouseLeave={onMouseLeave}\n\t\t\t\tref={triggerRef}\n\t\t\t\tstyle={listItemstyle}\n\t\t\t>\n\t\t\t\t<a className=\"slds-context-bar__label-action\" title={label}>\n\t\t\t\t\t<span className=\"slds-truncate\" title={label}>\n\t\t\t\t\t\t{label}\n\t\t\t\t\t</span>\n\t\t\t\t</a>\n\t\t\t\t<div className=\"slds-context-bar__icon-action slds-p-left_none\">\n\t\t\t\t\t<Button\n\t\t\t\t\t\tassistiveText={this.props.assistiveText}\n\t\t\t\t\t\t{...rest}\n\t\t\t\t\t\tclassName=\"slds-context-bar__button\"\n\t\t\t\t\t\taria-haspopup=\"true\"\n\t\t\t\t\t\ticonCategory=\"utility\"\n\t\t\t\t\t\ticonName=\"chevrondown\"\n\t\t\t\t\t\ticonVariant=\"bare\"\n\t\t\t\t\t\tvariant=\"icon\"\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t\t{menu}\n\t\t\t</li>\n\t\t);\n\t}\n}\n\nexport default GlobalNavigationDropdownTrigger;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// # Global Navigation Dropdown Component\n\n// ## Dependencies\n\n// ### React\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\nimport checkProps from './check-props';\nimport componentDoc from './component.json';\n\n// ### Dropdown\nimport MenuDropdown from '../menu-dropdown';\nimport GlobalNavigationTrigger from './dropdown-trigger';\n\n// ## Constants\nimport { GLOBAL_NAVIGATION_BAR_DROPDOWN } from '../../utilities/constants';\n\n/**\n * This component is an implementation of `MenuDropdown` with a custom trigger. All the properties listed below are provided to the `MenuDropdown` component. Any additional properties are provided to the Custom Trigger (that is the `Button` or `li` tag).\n */\nconst GlobalNavigationBarDropdown = (props) => {\n\tcheckProps(GLOBAL_NAVIGATION_BAR_DROPDOWN, props, componentDoc);\n\n\t// Separate props we care about in order to pass others along passively to the dropdown component\n\tconst {\n\t\tactive,\n\t\tactiveBackgroundColor,\n\t\tassistiveText,\n\t\tdividerPosition,\n\t\t...rest\n\t} = props;\n\n\treturn (\n\t\t<MenuDropdown\n\t\t\talign=\"right\"\n\t\t\thasStaticAlignment\n\t\t\t// only need if using hybrid or hover\n\t\t\thoverCloseDelay={400}\n\t\t\tlength={props.length}\n\t\t\tmenuPosition=\"relative\"\n\t\t\t{...rest}\n\t\t>\n\t\t\t<GlobalNavigationTrigger\n\t\t\t\tactive={active}\n\t\t\t\tassistiveText={assistiveText}\n\t\t\t\tactiveBackgroundColor={activeBackgroundColor}\n\t\t\t\tdividerPosition={dividerPosition}\n\t\t\t/>\n\t\t</MenuDropdown>\n\t);\n};\n\n// ### Display Name\n// Always use the canonical component name (set in the core) as the React\n// display name.\nGlobalNavigationBarDropdown.displayName = GLOBAL_NAVIGATION_BAR_DROPDOWN;\n\n// ### Prop Types\nGlobalNavigationBarDropdown.propTypes = {\n\t/**\n\t * Whether the item is active or not.\n\t */\n\tactive: PropTypes.bool,\n\t/**\n\t * Allows alignment of active item with active application background color.\n\t */\n\tactiveBackgroundColor: PropTypes.string,\n\t/**\n\t * **Assistive text for accessibility.**\n\t * This object is merged with the default props object on every render.\n\t * * `icon`: Text that is visually hidden but read aloud by screenreaders to tell the user what the icon means. If the button has an icon and a visible label, you can omit the <code>assistiveText.icon</code> prop and use the <code>label</code> prop.\n\t */\n\tassistiveText: PropTypes.shape({\n\t\ticon: PropTypes.string,\n\t}),\n\t/**\n\t * Aligns the right or left side of the menu with the respective side of the trigger. This is not intended for use with `nubbinPosition`.\n\t */\n\talign: PropTypes.oneOf(['left', 'right']),\n\t/**\n\t * Extra classnames to apply to the dropdown menu.\n\t */\n\tclassName: PropTypes.string,\n\t/**\n\t * Determines position of separating bar.\n\t */\n\tdividerPosition: PropTypes.oneOf(['left', 'right']),\n\t/**\n\t * CSS classes to be added to `li` element.\n\t */\n\tbuttonClassName: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\t/**\n\t * A unique ID is needed in order to support keyboard navigation, ARIA support, and connect the dropdown to the triggering button.\n\t */\n\tid: PropTypes.string,\n\t/**\n\t * Provided to List to indicate number of items visible in the List. Pass `null` to display all items, or a string containing one of the numeric option values listed under [Dropdown Height](https://www.lightningdesignsystem.com/components/menus/#flavor-dropdown-height) at the right (eg. '5').\n\t */\n\tlength: PropTypes.oneOf([null, '5', '7', '10']),\n\t/**\n\t * Offset adds pixels to the absolutely positioned dropdown menu in the format: ([vertical]px [horizontal]px).\n\t */\n\toffset: PropTypes.string,\n\t/**\n\t * Triggered when an item in the menu is clicked.\n\t */\n\tonSelect: PropTypes.func,\n\t/**\n\t * An array of menu item.\n\t */\n\toptions: PropTypes.array.isRequired,\n};\n\n// ### Default Props\nGlobalNavigationBarDropdown.defaultProps = {\n\talign: 'right',\n\tlength: null,\n};\n\nexport default GlobalNavigationBarDropdown;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// # GlobalNavigationBar Label Component\n\n// ## Dependencies\n\n// ### React\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\n// ### classNames\nimport classNames from 'classnames';\n\nimport colors from '../../utilities/design-tokens/dist/salesforce-skin.common.js';\n\n// ## Constants\nimport { GLOBAL_NAVIGATION_BAR_LABEL } from '../../utilities/constants';\n\n/**\n * Wraps text in the proper markup and removes link styling to support use in the GlobalNavigationBar.\n */\nconst GlobalNavigationBarLabel = (props) => {\n\t// Separate props we care about in order to pass others along passively to the `span` tag\n\tconst { className, dividerPosition, id, label } = props;\n\n\treturn (\n\t\t<li className=\"slds-context-bar__item slds-no-hover\">\n\t\t\t<span\n\t\t\t\tid={id}\n\t\t\t\t// inline style override\n\t\t\t\tstyle={{ color: colors.colorTextLinkDisabled }}\n\t\t\t\tclassName={classNames(\n\t\t\t\t\t'slds-context-bar__label-action',\n\t\t\t\t\t{\n\t\t\t\t\t\t[`slds-context-bar__item_divider-${dividerPosition}`]: dividerPosition,\n\t\t\t\t\t},\n\t\t\t\t\tclassName\n\t\t\t\t)}\n\t\t\t>\n\t\t\t\t<span className=\"slds-truncate\">{label}</span>\n\t\t\t</span>\n\t\t</li>\n\t);\n};\n\nGlobalNavigationBarLabel.displayName = GLOBAL_NAVIGATION_BAR_LABEL;\n\n// ### Prop Types\nGlobalNavigationBarLabel.propTypes = {\n\t/**\n\t * Class names to be added to the `span` element\n\t */\n\tclassName: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\t/**\n\t * Determines position of separating bar.\n\t */\n\tdividerPosition: PropTypes.oneOf(['left', 'right']),\n\t/**\n\t * Id string applied to first <span> inside of <li>\n\t */\n\tid: PropTypes.string,\n\t/**\n\t * Text to show\n\t */\n\tlabel: PropTypes.string,\n};\n\nexport default GlobalNavigationBarLabel;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// # GlobalNavigationBar Link Component\n\n// ## Dependencies\n\n// ### React\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\n// ### classNames\nimport classNames from 'classnames';\n\n// ### isFunction\nimport isFunction from 'lodash.isfunction';\n\n// ## Constants\nimport { GLOBAL_NAVIGATION_BAR_LINK } from '../../utilities/constants';\n\nfunction handleClick(event, href, onClick) {\n\tevent.preventDefault();\n\n\tonClick(event, { href });\n}\n\n/**\n * Wraps a link in the proper markup to support use in the GlobalNavigationBar.\n */\nconst GlobalNavigationBarLink = (props) => {\n\t// Separate props we care about in order to pass others along passively to the `a` tag\n\tconst {\n\t\tactive,\n\t\tactiveBackgroundColor,\n\t\tassistiveText,\n\t\tclassName,\n\t\tdividerPosition,\n\t\thref,\n\t\tid,\n\t\tlabel,\n\t\tonBlur,\n\t\tonClick,\n\t\tonFocus,\n\t\tonKeyDown,\n\t\tonKeyPress,\n\t\tonKeyUp,\n\t\tonMouseEnter,\n\t\tonMouseLeave,\n\t\ttabIndex,\n\t} = props;\n\n\tconst listItemstyle = active\n\t\t? {\n\t\t\t\tbackgroundColor: activeBackgroundColor,\n\t\t\t\tborderBottomColor: activeBackgroundColor,\n\t\t }\n\t\t: null;\n\n\treturn (\n\t\t<li\n\t\t\tclassName={classNames('slds-context-bar__item', {\n\t\t\t\t'slds-is-active': active,\n\t\t\t\t[`slds-context-bar__item_divider-${dividerPosition}`]: dividerPosition,\n\t\t\t})}\n\t\t\tid={id}\n\t\t\tstyle={listItemstyle}\n\t\t>\n\t\t\t<a\n\t\t\t\thref={href}\n\t\t\t\tclassName={classNames('slds-context-bar__label-action', className)}\n\t\t\t\tonBlur={onBlur}\n\t\t\t\tonClick={\n\t\t\t\t\tisFunction(onClick)\n\t\t\t\t\t\t? (event) => handleClick(event, href, onClick)\n\t\t\t\t\t\t: null\n\t\t\t\t}\n\t\t\t\tonFocus={onFocus}\n\t\t\t\tonKeyDown={onKeyDown}\n\t\t\t\tonKeyPress={onKeyPress}\n\t\t\t\tonKeyUp={onKeyUp}\n\t\t\t\tonMouseEnter={onMouseEnter}\n\t\t\t\tonMouseLeave={onMouseLeave}\n\t\t\t\ttabIndex={tabIndex}\n\t\t\t\ttitle={label}\n\t\t\t>\n\t\t\t\t{active ? (\n\t\t\t\t\t<span className=\"slds-assistive-text\">\n\t\t\t\t\t\t{assistiveText.activeDescriptor}\n\t\t\t\t\t</span>\n\t\t\t\t) : null}\n\t\t\t\t<span className=\"slds-truncate\" title={label}>\n\t\t\t\t\t{label}\n\t\t\t\t</span>\n\t\t\t</a>\n\t\t</li>\n\t);\n};\n\nGlobalNavigationBarLink.displayName = GLOBAL_NAVIGATION_BAR_LINK;\n\n// ### Prop Types\nGlobalNavigationBarLink.propTypes = {\n\t/**\n\t * Whether the item is active or not.\n\t */\n\tactive: PropTypes.bool,\n\t/**\n\t * Allows alignment of active item with active application background color. If application background is dark, text color may need to be `#fff`. This can be done with the style prop.\n\t */\n\tactiveBackgroundColor: PropTypes.string,\n\t/**\n\t * **Assistive text for accessibility.**\n\t * * `activeDescriptor`: The text that appears alongside a link that is currently active.\n\t */\n\tassistiveText: PropTypes.shape({\n\t\tactiveDescriptor: PropTypes.string,\n\t}),\n\t/**\n\t * Class names to be added to the anchor element\n\t */\n\tclassName: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\t/**\n\t * Determines position of separating bar.\n\t */\n\tdividerPosition: PropTypes.oneOf(['left', 'right']),\n\t/**\n\t * The `href` attribute of the link. Please pass in bookmarkable URLs from your routing library. Use `GlobalNavigationBarButton` if a \"real URL\" is not desired. If the `onClick` callback is specified this URL will still be prevented from changing the browser's location.\n\t */\n\thref: PropTypes.string,\n\t/**\n\t * The `id` attribute is applied to the `li` tag. _This was recently changed from being on the anchor tag._\n\t */\n\tid: PropTypes.string,\n\t/**\n\t * Text to show for link item.\n\t */\n\tlabel: PropTypes.string,\n\t/**\n\t * Triggered when focus is removed.\n\t */\n\tonBlur: PropTypes.func,\n\t/**\n\t * `function (event, href)` - fires when the link is clicked. If set, the browser location change to the `href` specified will be ignored, but the `href` will be included in an additional parameter passed to the callback.\n\t */\n\tonClick: PropTypes.func,\n\t/**\n\t * Triggered when component is focused.\n\t */\n\tonFocus: PropTypes.func,\n\t/**\n\t * Triggered when a key is pressed down\n\t */\n\tonKeyDown: PropTypes.func,\n\t/**\n\t * Triggered when a key is pressed and released\n\t */\n\tonKeyPress: PropTypes.func,\n\t/**\n\t * Triggered when a key is released\n\t */\n\tonKeyUp: PropTypes.func,\n\t/**\n\t * Triggered when a mouse arrow hovers\n\t */\n\tonMouseEnter: PropTypes.func,\n\t/**\n\t * Triggered when a mouse arrow no longer hovers\n\t */\n\tonMouseLeave: PropTypes.func,\n\t/**\n\t * Write \"-1\" if you don't want the user to tab to the button.\n\t */\n\ttabIndex: PropTypes.string,\n};\n\nGlobalNavigationBarLink.defaultProps = {\n\tassistiveText: {\n\t\tactiveDescriptor: 'Current page:',\n\t},\n\thref: 'javascript:void(0);', // eslint-disable-line no-script-url\n};\n\nexport default GlobalNavigationBarLink;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n/* eslint-disable jsx-a11y/no-redundant-roles */\n\n// # Global Navigation Bar Region Component\n\n// ## Dependencies\n\n// ### React\nimport React from 'react';\n\nimport PropTypes from 'prop-types';\n\n// ### classNames\nimport classNames from 'classnames';\n\n// ## Constants\nimport { GLOBAL_NAVIGATION_BAR_REGION } from '../../utilities/constants';\n\n// List regions for export\nconst regions = ['primary', 'secondary', 'tertiary'];\n\n/* eslint-disable react/display-name */\nconst renderPrimary = (dividerClass, className, children) => (\n\t<div\n\t\tclassName={classNames('slds-context-bar__primary', dividerClass, className)}\n\t>\n\t\t{children}\n\t</div>\n);\n\nconst renderSecondary = (dividerClass, className, children, navigation) => {\n\tlet region;\n\n\tif (navigation) {\n\t\tregion = (\n\t\t\t<nav\n\t\t\t\tclassName={classNames(\n\t\t\t\t\t'slds-context-bar__secondary',\n\t\t\t\t\tdividerClass,\n\t\t\t\t\tclassName\n\t\t\t\t)}\n\t\t\t\trole=\"navigation\"\n\t\t\t>\n\t\t\t\t<ul className=\"slds-grid\">{children}</ul>\n\t\t\t</nav>\n\t\t);\n\t} else {\n\t\tregion = (\n\t\t\t<div\n\t\t\t\tclassName={classNames(\n\t\t\t\t\t'slds-context-bar__secondary',\n\t\t\t\t\tdividerClass,\n\t\t\t\t\tclassName\n\t\t\t\t)}\n\t\t\t>\n\t\t\t\t<ul className=\"slds-grid\">{children}</ul>\n\t\t\t</div>\n\t\t);\n\t}\n\treturn region;\n};\n\nconst renderTertiary = (dividerClass, className, children) => (\n\t<div\n\t\tclassName={classNames(\n\t\t\t'slds-context-bar__tertiary',\n\t\t\t'slds-col_bump-left',\n\t\t\tdividerClass,\n\t\t\tclassName\n\t\t)}\n\t>\n\t\t<ul className=\"slds-grid\">{children}</ul>\n\t</div>\n);\n\n/* eslint-enable react/display-name */\n\n/**\n * Regions make up a GlobalNavigation Bar and typically contain links and dropdowns. The Primary region contains the AppSwitcher, Application Name, and Object Switcher. The secondary region typically has navigation betweens sections of the application. The tertiary region is aligned to the right side of the screen and contains shortcuts or actions.\n */\nclass Region extends React.Component {\n\tstatic displayName = GLOBAL_NAVIGATION_BAR_REGION;\n\n\tstatic propTypes = {\n\t\t/**\n\t\t * Contents of region. Expects `GlobalNavigationBarLink`, `GlobalNavigationBarDropdown`, `GlobalNavigationBarApplicationName`, `AppSwitcher`, but could be any component. This is the place to pass in an Object Switcher until that is supported.\n\t\t */\n\t\tchildren: PropTypes.node,\n\t\t/**\n\t\t * Determines position of separating bar.\n\t\t */\n\t\tdividerPosition: PropTypes.oneOf(['left', 'right']),\n\t\t/**\n\t\t * CSS classes to be added to the region\n\t\t */\n\t\tclassName: PropTypes.oneOfType([\n\t\t\tPropTypes.array,\n\t\t\tPropTypes.object,\n\t\t\tPropTypes.string,\n\t\t]),\n\t\t/**\n\t\t * Wraps the `secondary` region in a `nav` and adds a role attribute\n\t\t */\n\t\tnavigation: PropTypes.bool,\n\t\t/**\n\t\t * Region wrap children in styling specific to that region. When `tertiary`\n\t\t * region is used, secondary region only supports four list items.\n\t\t */\n\t\tregion: PropTypes.oneOf(['primary', 'secondary', 'tertiary']).isRequired,\n\t};\n\n\trender() {\n\t\tlet region;\n\t\tconst dividerClass = this.props.dividerPosition\n\t\t\t? `slds-context-bar__item_divider-${this.props.dividerPosition}`\n\t\t\t: null;\n\n\t\tswitch (this.props.region) {\n\t\t\tcase 'primary':\n\t\t\t\tregion = renderPrimary(\n\t\t\t\t\tdividerClass,\n\t\t\t\t\tthis.props.className,\n\t\t\t\t\tthis.props.children\n\t\t\t\t);\n\t\t\t\tbreak;\n\t\t\tcase 'secondary':\n\t\t\t\tregion = renderSecondary(\n\t\t\t\t\tdividerClass,\n\t\t\t\t\tthis.props.className,\n\t\t\t\t\tthis.props.children,\n\t\t\t\t\tthis.props.navigation\n\t\t\t\t);\n\t\t\t\tbreak;\n\t\t\tcase 'tertiary':\n\t\t\t\tregion = renderTertiary(\n\t\t\t\t\tdividerClass,\n\t\t\t\t\tthis.props.className,\n\t\t\t\t\tthis.props.children\n\t\t\t\t);\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t// do nothing\n\t\t}\n\n\t\treturn region;\n\t}\n}\n\nexport default Region;\nexport { regions };\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n/* eslint-disable import/no-mutable-exports */\n\nimport componentIsDeprecated from '../../utilities/warning/component-is-deprecated';\n\nlet checkProps = function checkPropsFunction() {};\n\nif (process.env.NODE_ENV !== 'production') {\n\tcheckProps = function checkPropsFunction(COMPONENT, props) {\n\t\tcomponentIsDeprecated(\n\t\t\tCOMPONENT,\n\t\t\tprops,\n\t\t\t'This was decided due to issues with shadow DOM preventing imported SVG files from detecting SLDS styles. Please visit https://www.lightningdesignsystem.com/components/illustration/ to copy the provided example code for use in your application.'\n\t\t);\n\t};\n}\n\nexport default checkProps;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// # Illustration Component\n\n// Based on SLDS v2.6.2\n\n// ## Dependencies\n\n// ### React\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\n// This component's `checkProps` which issues warnings to developers about properties\n// when in development mode (similar to React's built in development tools)\nimport checkProps from './check-props';\n\n// ### classNames\n// [github.com/JedWatson/classnames](https://github.com/JedWatson/classnames)\n// A simple javascript utility for conditionally joining classNames together.\nimport classNames from '../../utilities/class-names';\n\n// ## SVG\nimport Svg from '../utilities/utility-icon/svg';\n\n// ## Constants\nimport { ILLUSTRATION } from '../../utilities/constants';\nimport componentDoc from './component.json';\n\n/**\n * An illustration is an image and inline text that work in tandem to communicate a state in a more friendly way.\n */\nconst Illustration = (props) => {\n\tconst {\n\t\tclassName,\n\t\tillustration,\n\t\theading,\n\t\tmessageBody,\n\t\tname,\n\t\tpath,\n\t\tsize,\n\t\tstyle,\n\t} = props;\n\n\tcheckProps('Illustration', props, componentDoc);\n\tconst kababCaseName = name ? name.replace(/_| /g, '-').toLowerCase() : '';\n\tconst styles = { ...style };\n\tlet illustrationSvg;\n\n\t// large illustration svg should have a default height of 400px if not already specified\n\tif (size === 'large' && !styles.height) {\n\t\tstyles.height = '400px';\n\t}\n\n\tif (illustration) {\n\t\t// Use SVG data passed in with `illustration` prop\n\t\tillustrationSvg = (\n\t\t\t<Svg\n\t\t\t\tclassName=\"slds-illustration__svg\"\n\t\t\t\taria-hidden=\"true\"\n\t\t\t\tdata={illustration}\n\t\t\t\tname={kababCaseName}\n\t\t\t\tstyle={styles}\n\t\t\t/>\n\t\t);\n\t} else if (path) {\n\t\tillustrationSvg = (\n\t\t\t<svg\n\t\t\t\tclassName=\"slds-illustration__svg\"\n\t\t\t\taria-hidden=\"true\"\n\t\t\t\tname={kababCaseName}\n\t\t\t\tstyle={styles}\n\t\t\t>\n\t\t\t\t<use xlinkHref={path} />\n\t\t\t</svg>\n\t\t);\n\t}\n\n\treturn (\n\t\t<div\n\t\t\tclassName={classNames(className, 'slds-illustration', {\n\t\t\t\t'slds-illustration_small': size === 'small',\n\t\t\t\t'slds-illustration_large': size === 'large',\n\t\t\t})}\n\t\t>\n\t\t\t{illustrationSvg}\n\t\t\t<div className=\"slds-text-longform\">\n\t\t\t\t{heading ? (\n\t\t\t\t\t<h3 className=\"slds-text-heading_medium\">{heading}</h3>\n\t\t\t\t) : null}\n\t\t\t\t{messageBody ? (\n\t\t\t\t\t<p className=\"slds-text-body_regular\">{messageBody}</p>\n\t\t\t\t) : null}\n\t\t\t</div>\n\t\t</div>\n\t);\n};\n\n// ### Display Name\n// Always use the canonical component name as the React display name.\nIllustration.displayName = ILLUSTRATION;\n\n// ### Prop Types\nIllustration.propTypes = {\n\t/**\n\t * CSS classes that are applied to the SVG. _Tested with Mocha testing._\n\t */\n\tclassName: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\t/**\n\t * A heading text. It is required if illustration is present. _Tested with snapshot testing._ _Tested with Mocha testing._\n\t */\n\theading: PropTypes.string,\n\t/**\n\t * A custom SVG object to use instead of the supplied SLDS illustrations, look in `design-system-react/icons` for examples and syntax. _Tested with snapshot testing._ _Tested with Mocha testing._\n\t */\n\tillustration: PropTypes.object,\n\t/**\n\t * Indicates whether the illustration SVGs are from the design-system-react repo. If yes, set to true.\n\t */\n\tinternalIllustration: PropTypes.bool.isRequired,\n\t/**\n\t * A message body below the heading to further communicate the state of the component. _Tested with snapshot testing._ _Tested with Mocha testing._\n\t */\n\tmessageBody: PropTypes.oneOfType([PropTypes.string, PropTypes.node]),\n\t/**\n\t * Name of the illustration. Visit <a href='https://lightningdesignsystem.com/components/illustration/'>Lightning Design System Illustration</a> to reference illustration names. _Tested with snapshot testing._ _Tested with Mocha testing._\n\t */\n\tname: PropTypes.string,\n\t/**\n\t * Path to the illustration SVG image. _Tested with snapshot testing._\n\t */\n\tpath: PropTypes.string,\n\t/**\n\t * Size of the illustration. _Tested with snapshot testing._ _Tested with Mocha testing._\n\t */\n\tsize: PropTypes.oneOf(['small', 'large']),\n\t/**\n\t * Custom styles to be passed to the illustration SVG. _Tested with Mocha testing._\n\t */\n\tstyle: PropTypes.object,\n};\n\nIllustration.defaultProps = {\n\tinternalIllustration: true,\n\tsize: 'small',\n\tstyle: {},\n};\n\nexport default Illustration;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n/* eslint-disable import/no-mutable-exports */\n/* eslint-disable max-len */\n\nimport componentIsDeprecated from '../../../utilities/warning/component-is-deprecated';\n\nlet checkProps = function checkPropsFunction() {};\n\nif (process.env.NODE_ENV !== 'production') {\n\tcheckProps = function checkPropsFunction(COMPONENT, props) {\n\t\tcomponentIsDeprecated(\n\t\t\tCOMPONENT,\n\t\t\tprops,\n\t\t\t'For a multiple input form, please use the pattern located at https://www.lightningdesignsystem.com/components/form-element/#Record-Detail that swaps out a read-only `Input` with a base `Input`. For a single input, please use a `Popover` paired with `<Button\tcategory=\"utility\" iconName=\"edit\" variant=\"icon\" />` as the trigger.'\n\t\t);\n\t};\n}\n\nexport default checkProps;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// # Inline Edit Component\n\n// Implements an inline edit component based on the [Input design pattern](https://www.lightningdesignsystem.com/components/forms/#input) in React.\n\n// ## Dependencies\n\n// ### React\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\n// ### isFunction\nimport isFunction from 'lodash.isfunction';\n\n// ## Children\nimport Button from '../../button';\nimport Input from '../../input/index';\nimport InputIcon from '../../icon/input-icon';\n\n// ### Event Helpers\nimport KEYS from '../../../utilities/key-code';\n\n// This component's `checkProps` which issues warnings to developers about properties when in development mode (similar to React's built in development tools)\nimport checkProps from './inline-check-props';\n\n// ## Constants\nimport { FORMS_INLINE_EDIT } from '../../../utilities/constants';\n\n// ### Prop Types\nconst propTypes = {\n\t/**\n\t * Class names to be added to the outer container of the input.\n\t */\n\tclassName: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\t/**\n\t * Name of the submitted form parameter.\n\t */\n\tname: PropTypes.string,\n\t/**\n\t * Disables the Inline Edit component and prevents editing the contents.\n\t */\n\tdisabled: PropTypes.bool,\n\t/**\n\t * Every Inline Edit component must have a unique ID in order to support keyboard navigation and ARIA support.\n\t */\n\tid: PropTypes.string.isRequired,\n\t/**\n\t * This event fires when the input changes.\n\t */\n\tonChange: PropTypes.func,\n\t/**\n\t * Function will run when keyup during text edit\n\t */\n\tonKeyUp: PropTypes.func,\n\t/**\n\t * Function will run when we enter edit mode\n\t */\n\tonEnterEditMode: PropTypes.func,\n\t/**\n\t * Function will run when we leave edit mode\n\t */\n\tonLeaveEditMode: PropTypes.func,\n\t/**\n\t * Typically an Inline Edit component will be of the type text, but like the Input element it includes support for all HTML5 types.\n\t */\n\ttype: PropTypes.oneOf([\n\t\t'text',\n\t\t'password',\n\t\t'datetime',\n\t\t'datetime-local',\n\t\t'date',\n\t\t'month',\n\t\t'time',\n\t\t'week',\n\t\t'number',\n\t\t'email',\n\t\t'url',\n\t\t'search',\n\t\t'tel',\n\t\t'color',\n\t]),\n\t/**\n\t * Inline Edit is a controlled component, and will always display this value.\n\t */\n\tvalue: PropTypes.string.isRequired,\n};\n\nconst defaultProps = {\n\tassistiveText: 'Edit text',\n\ttype: 'text',\n};\n\n/**\n * An inline input is rendered as a label by default. When clicked (or tabbed in), it's rendered as an input. When the focus is lost, the current input value is saved and the input is rendered as a label again.\n */\nclass InlineEdit extends React.Component {\n\tconstructor(props) {\n\t\tsuper(props);\n\t\tthis.state = {\n\t\t\tisEditing: false,\n\t\t\tvalue: null,\n\t\t};\n\n\t\tcheckProps(FORMS_INLINE_EDIT, props);\n\t}\n\n\tcomponentDidUpdate() {\n\t\tif (this.autoFocus) {\n\t\t\tif (this.inputNode) {\n\t\t\t\tthis.inputNode.focus();\n\t\t\t\tthis.inputNode.select();\n\t\t\t}\n\t\t\tthis.autoFocus = false;\n\t\t}\n\t}\n\n\tendEditMode = (option) => {\n\t\tif (this.willSave) {\n\t\t\tclearTimeout(this.willSave);\n\t\t\t// eslint-disable-next-line fp/no-delete\n\t\t\tdelete this.willSave;\n\t\t}\n\n\t\tthis.setState({\n\t\t\tisEditing: false,\n\t\t\tvalue: null,\n\t\t});\n\n\t\tif (this.props.onLeaveEditMode && isFunction(this.props.onLeaveEditMode)) {\n\t\t\tthis.props.onLeaveEditMode(undefined, option);\n\t\t}\n\t};\n\n\thandleBlur = () => {\n\t\tif (!this.willSave) {\n\t\t\tthis.willSave = setTimeout(this.saveEdits, 200);\n\t\t}\n\t\tif (this.props.onLeaveEditMode && isFunction(this.props.onLeaveEditMode)) {\n\t\t\tthis.props.onLeaveEditMode();\n\t\t}\n\t};\n\n\thandleChange = (event) => {\n\t\tthis.setState({\n\t\t\tvalue: event.target.value,\n\t\t});\n\t};\n\n\thandleKeyDown = (event) => {\n\t\tif (event.keyCode) {\n\t\t\tif (event.keyCode === KEYS.ESCAPE) {\n\t\t\t\tthis.saveEdits({ cancel: true });\n\t\t\t} else if (event.keyCode === KEYS.ENTER) {\n\t\t\t\tthis.saveEdits();\n\t\t\t}\n\t\t}\n\t};\n\n\thandleKeyUp = (event) => {\n\t\tif (event.keyCode) {\n\t\t\tif (this.props.onKeyUp && isFunction(this.props.onKeyUp)) {\n\t\t\t\tthis.props.onKeyUp(event, {\n\t\t\t\t\tvalue: this.state.value,\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t};\n\n\tsaveEdits = (option) => {\n\t\tif (!(option && option.cancel === true)) {\n\t\t\tif (isFunction(this.props.onChange)) {\n\t\t\t\tthis.props.onChange({\n\t\t\t\t\tvalue: this.state.value,\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t\tthis.endEditMode(option);\n\t};\n\n\ttriggerEditMode = () => {\n\t\tif (!this.props.disabled) {\n\t\t\tthis.autoFocus = true;\n\t\t\tthis.setState({\n\t\t\t\tisEditing: true,\n\t\t\t\tvalue: this.props.value,\n\t\t\t});\n\t\t\tif (isFunction(this.props.onEnterEditMode)) {\n\t\t\t\tthis.props.onEnterEditMode();\n\t\t\t}\n\t\t}\n\t};\n\n\t// ### Render\n\trender() {\n\t\tconst {\n\t\t\tassistiveText,\n\t\t\tdisabled,\n\t\t\tvalue,\n\t\t\tname,\n\n\t\t\t// ### Additional properties\n\t\t\t// Using [object destructuring](https://facebook.github.io/react/docs/transferring-props.html#transferring-with-...-in-jsx) to pass on any properties which are not explicitly defined.\n\t\t\t...rest\n\t\t} = this.props;\n\n\t\treturn (\n\t\t\t<Input\n\t\t\t\t{...rest}\n\t\t\t\ticonRight={\n\t\t\t\t\tthis.state.isEditing ? (\n\t\t\t\t\t\t<InputIcon\n\t\t\t\t\t\t\tcategory=\"utility\"\n\t\t\t\t\t\t\tname=\"close\"\n\t\t\t\t\t\t\tposition=\"right\"\n\t\t\t\t\t\t\tonClick={this.endEditMode}\n\t\t\t\t\t\t\ttabIndex=\"-1\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t) : null\n\t\t\t\t}\n\t\t\t\tdisabled={disabled}\n\t\t\t\tinlineEditTrigger={\n\t\t\t\t\t<Button\n\t\t\t\t\t\tassistiveText={{ icon: assistiveText }}\n\t\t\t\t\t\tclassName=\"slds-m-left_x-small\"\n\t\t\t\t\t\tdisabled={disabled}\n\t\t\t\t\t\ticonCategory=\"utility\"\n\t\t\t\t\t\ticonName=\"edit\"\n\t\t\t\t\t\ticonPosition=\"right\"\n\t\t\t\t\t\ticonSize=\"small\"\n\t\t\t\t\t\tvariant=\"icon\"\n\t\t\t\t\t/>\n\t\t\t\t}\n\t\t\t\tonBlur={this.handleBlur}\n\t\t\t\tonChange={this.handleChange}\n\t\t\t\tonClick={!this.state.isEditing ? this.triggerEditMode : null}\n\t\t\t\tonKeyDown={this.handleKeyDown}\n\t\t\t\tonKeyUp={this.handleKeyUp}\n\t\t\t\tisStatic={!this.state.isEditing}\n\t\t\t\tname={name}\n\t\t\t\tvalue={this.state.isEditing ? this.state.value : value}\n\t\t\t\tinputRef={(input) => {\n\t\t\t\t\tthis.inputNode = input;\n\t\t\t\t}}\n\t\t\t/>\n\t\t);\n\t}\n}\n\nInlineEdit.displayName = FORMS_INLINE_EDIT;\nInlineEdit.propTypes = propTypes;\nInlineEdit.defaultProps = defaultProps;\n\nexport default InlineEdit;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// # Search Component\n\n// Wraps the input to default to a search style.\n\n// ## Dependencies\n\n// ### React\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\n// ## Children\nimport Input from './index';\nimport InputIcon from '../icon/input-icon';\n\nimport checkProps from './check-props';\nimport componentDoc from './component.json';\n\n// ### Event Helpers\nimport KEYS from '../../utilities/key-code';\nimport EventUtil from '../../utilities/event';\n\n// ## Constants\nimport { SEARCH } from '../../utilities/constants';\n\nconst handleKeyDown = (event, onSearch) => {\n\tif (event.keyCode === KEYS.ENTER) {\n\t\tEventUtil.trapImmediate(event);\n\t\tonSearch(event);\n\t}\n};\n\nconst defaultProps = {\n\tassistiveText: {},\n};\n\n/**\n * A `Search` is an `Input` which renders the search icon by default. It can be cleared, too. All `Input` props not specified as props already may be used with this component and will override defaults.\n */\nconst Search = ({ clearable, onClear, onSearch, placeholder, ...props }) => {\n\tcheckProps(SEARCH, props, componentDoc);\n\tconst assistiveText =\n\t\ttypeof props.assistiveText === 'string'\n\t\t\t? props.assistiveText\n\t\t\t: {\n\t\t\t\t\t...defaultProps.assistiveText,\n\t\t\t\t\t...props.assistiveText,\n\t\t\t }.label;\n\treturn (\n\t\t<Input\n\t\t\tassistiveText={{ label: assistiveText }}\n\t\t\ticonLeft={\n\t\t\t\t<InputIcon\n\t\t\t\t\tassistiveText={{ icon: 'Search' }}\n\t\t\t\t\tcategory=\"utility\"\n\t\t\t\t\tname=\"search\"\n\t\t\t\t\tonClick={onSearch}\n\t\t\t\t/>\n\t\t\t}\n\t\t\ticonRight={\n\t\t\t\tclearable ? (\n\t\t\t\t\t<InputIcon\n\t\t\t\t\t\tassistiveText={{ icon: 'Clear' }}\n\t\t\t\t\t\tcategory=\"utility\"\n\t\t\t\t\t\tname=\"clear\"\n\t\t\t\t\t\tonClick={onClear}\n\t\t\t\t\t/>\n\t\t\t\t) : null\n\t\t\t}\n\t\t\tonKeyDown={onSearch ? (event) => handleKeyDown(event, onSearch) : null}\n\t\t\tplaceholder={placeholder}\n\t\t\t{...props}\n\t\t/>\n\t);\n};\n\nSearch.displayName = SEARCH;\n\nSearch.propTypes = {\n\t/**\n\t * **Assistive text for accessibility.**\n\t * This object is merged with the default props object on every render.\n\t * * `label`: Assistive text to search input\n\t */\n\tassistiveText: PropTypes.shape({\n\t\tlabel: PropTypes.string,\n\t}),\n\t/**\n\t * Adds a clear button to right side of the input\n\t */\n\tclearable: PropTypes.bool,\n\t/**\n\t * Triggers when the clear button is clicked\n\t */\n\tonClear: PropTypes.func,\n\t/**\n\t * This event fires when enter is pressed in the `input` or the search button is clicked.\n\t */\n\tonSearch: PropTypes.func,\n\t/**\n\t * Placeholder for the input\n\t */\n\tplaceholder: PropTypes.string,\n};\n\nSearch.defaultProps = defaultProps;\n\nexport default Search;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// Implements the [Map design pattern](https://lightningdesignsystem.com/components/map/) in React.\n// Based on SLDS v2.4.0\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\n// ### shortid\n// [npmjs.com/package/shortid](https://www.npmjs.com/package/shortid)\n// shortid is a short, non-sequential, url-friendly, unique id generator\nimport shortid from 'shortid';\n\nimport Icon from '../icon';\nimport { LOCATION_MAP } from '../../utilities/constants';\n\nconst displayName = LOCATION_MAP;\n\nconst propTypes = {\n\t/**\n\t * CSS class names to be added with `slds-map` class. `array`, `object`, or `string` are accepted.\n\t */\n\tclassName: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\t/**\n\t * CSS class names to be added to the container element. `array`, `object`, or `string` are accepted.\n\t */\n\tclassNameContainer: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\t/**\n\t * Accepts location object that will be shown if no location has been selected. Required\n\t * * `id` : A unique identifier string for the location\n\t * * `name` : Name of the location\n\t * * `address` : Address of the location\n\t */\n\tdefaultLocation: PropTypes.shape({\n\t\tid: PropTypes.string.isRequired,\n\t\tname: PropTypes.string.isRequired,\n\t\taddress: PropTypes.string.isRequired,\n\t}).isRequired,\n\t/**\n\t * HTML id for component.\n\t */\n\tid: PropTypes.string,\n\t/**\n\t * Labels\n\t * * `title` - Title for the LocationMap component.\n\t */\n\tlabels: PropTypes.shape({\n\t\ttitle: PropTypes.string,\n\t}),\n\t/**\n\t * Array of locations objects for the LocationMap component.**\n\t * Each location object can contain:\n\t * * `id` : A unique identifier string for the location\n\t * * `name` : Name of the location\n\t * * `address` : Address of the location\n\t */\n\tlocations: PropTypes.arrayOf(\n\t\tPropTypes.shape({\n\t\t\tid: PropTypes.string.isRequired,\n\t\t\tname: PropTypes.string.isRequired,\n\t\t\taddress: PropTypes.string.isRequired,\n\t\t})\n\t).isRequired,\n\t/**\n\t * Callback function triggered when a location is selected\n\t */\n\tonClickLocation: PropTypes.func,\n\t/**\n\t * Accepts a Google Map API Key that will be used for showing the map\n\t */\n\tgoogleAPIKey: PropTypes.string.isRequired,\n\t/**\n\t * Accepts location object that will be shown when selected\n\t * * `id` : A unique identifier string for the location\n\t * * `name` : Name of the location\n\t * * `address` : Address of the location\n\t */\n\tselection: PropTypes.shape({\n\t\tid: PropTypes.string.isRequired,\n\t\tname: PropTypes.string.isRequired,\n\t\taddress: PropTypes.string.isRequired,\n\t}),\n};\n\nconst defaultProps = {\n\tlabels: {\n\t\ttitle: 'Interactive Map',\n\t},\n};\n\n/**\n * A location map component is used to find and show locations\n */\nclass LocationMap extends React.Component {\n\tconstructor(props) {\n\t\tsuper(props);\n\t\tthis.generatedId = shortid.generate();\n\t}\n\n\t/**\n\t * Get the LocationMap's HTML id. Generate a new one if no ID present.\n\t */\n\tgetId() {\n\t\treturn this.props.id || this.generatedId;\n\t}\n\n\t/**\n\t * Handles clicking of a location\n\t */\n\thandleClick = (event, i) => {\n\t\tif (typeof this.props.onClickLocation === 'function')\n\t\t\tthis.props.onClickLocation(event, this.props.locations[i]);\n\t\tif (this.map) {\n\t\t\tthis.map.focus();\n\t\t}\n\t};\n\n\trender() {\n\t\tconst labels = { ...defaultProps.labels, ...this.props.labels };\n\n\t\treturn (\n\t\t\t<div\n\t\t\t\tid={this.getId()}\n\t\t\t\tclassName={classNames(\n\t\t\t\t\t`slds-grid`,\n\t\t\t\t\t{ 'slds-has-coordinates': this.props.locations },\n\t\t\t\t\tthis.props.classNameContainer\n\t\t\t\t)}\n\t\t\t>\n\t\t\t\t<div className=\"slds-map_container\" style={{ padding: '4px' }}>\n\t\t\t\t\t<div\n\t\t\t\t\t\tclassName={classNames(`slds-map`, this.props.className)}\n\t\t\t\t\t\tref={(map) => {\n\t\t\t\t\t\t\tthis.map = map;\n\t\t\t\t\t\t}}\n\t\t\t\t\t\ttabIndex={0} // eslint-disable-line jsx-a11y/no-noninteractive-tabindex\n\t\t\t\t\t\ttitle={labels.title}\n\t\t\t\t\t>\n\t\t\t\t\t\t<iframe\n\t\t\t\t\t\t\tid={`${this.getId()}-google-map`}\n\t\t\t\t\t\t\tsrc={`https://www.google.com/maps/embed/v1/place?key=${\n\t\t\t\t\t\t\t\tthis.props.googleAPIKey\n\t\t\t\t\t\t\t}&q=${encodeURIComponent(\n\t\t\t\t\t\t\t\tthis.props.selection\n\t\t\t\t\t\t\t\t\t? this.props.selection.address\n\t\t\t\t\t\t\t\t\t: this.props.defaultLocation.address\n\t\t\t\t\t\t\t)}`}\n\t\t\t\t\t\t\ttitle={labels.title}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t\t{this.props.locations.length > 1 ? (\n\t\t\t\t\t<div className=\"slds-coordinates\">\n\t\t\t\t\t\t<div className=\"slds-coordinates__header\">\n\t\t\t\t\t\t\t<h2 className=\"slds-coordinates__title\">\n\t\t\t\t\t\t\t\t{`${labels.title} (${this.props.locations.length})`}\n\t\t\t\t\t\t\t</h2>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<ul className=\"slds-coordinates__list\">\n\t\t\t\t\t\t\t{this.props.locations.map((location, i) => (\n\t\t\t\t\t\t\t\t<li key={location.id} className=\"slds-coordinates__item\">\n\t\t\t\t\t\t\t\t\t<span className=\"slds-assistive-text\" aria-live=\"polite\">\n\t\t\t\t\t\t\t\t\t\t{`${location.name} is currently selected`}\n\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t\t<button\n\t\t\t\t\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\t\t\t\t\tonClick={(event) => this.handleClick(event, i)}\n\t\t\t\t\t\t\t\t\t\tclassName=\"slds-coordinates__item-action slds-button_reset slds-media\"\n\t\t\t\t\t\t\t\t\t\taria-pressed={\n\t\t\t\t\t\t\t\t\t\t\tthis.props.selection &&\n\t\t\t\t\t\t\t\t\t\t\tthis.props.selection.id === location.id\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t<span className=\"slds-media__figure\">\n\t\t\t\t\t\t\t\t\t\t\t<Icon category=\"standard\" name=\"account\" />\n\t\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t\t\t<span className=\"slds-media__body\">\n\t\t\t\t\t\t\t\t\t\t\t<span className=\"slds-text-link\">{location.name}</span>\n\t\t\t\t\t\t\t\t\t\t\t<span>{location.address}</span>\n\t\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t\t\t</li>\n\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t</ul>\n\t\t\t\t\t</div>\n\t\t\t\t) : null}\n\t\t\t</div>\n\t\t);\n\t}\n}\n\nLocationMap.displayName = displayName;\nLocationMap.propTypes = propTypes;\n\nexport default LocationMap;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// Implements the [Lookup design pattern](https://latest-204.lightningdesignsystem.com/components/lookups) in React.\n// Based on SLDS v2.1.0-dev\n\nimport React from 'react';\nimport Icon from '../icon';\nimport EventUtil from '../../utilities/event';\n\nconst displayName = 'LookupDefaultHeader';\nconst propTypes = {};\nconst defaultProps = {};\n\nclass DefaultHeader extends React.Component {\n\t// eslint-disable-next-line camelcase, react/sort-comp\n\tUNSAFE_componentWillReceiveProps(nextProps) {\n\t\tif (\n\t\t\tnextProps.isActive !== this.props.isActive &&\n\t\t\tnextProps.isActive === true\n\t\t) {\n\t\t\tthis.props.setFocus('searchRecords');\n\t\t}\n\t}\n\n\thandleClick = () => {\n\t\tif (this.props.onClose) {\n\t\t\tthis.props.onClose();\n\t\t}\n\t};\n\n\trender() {\n\t\tlet className = 'slds-lookup__item-action slds-lookup__item-action_label';\n\t\tif (this.props.isActive) className += ' slds-theme_shade';\n\n\t\treturn (\n\t\t\t/* eslint-disable jsx-a11y/no-static-element-interactions */\n\t\t\t<div\n\t\t\t\tclassName=\"js-slds-lookup__item\"\n\t\t\t\tonMouseDown={EventUtil.trapImmediate}\n\t\t\t\tonClick={this.handleClick}\n\t\t\t>\n\t\t\t\t{/* eslint-enable jsx-a11y/no-static-element-interactions */}\n\t\t\t\t{/* eslint-disable no-script-url */}\n\t\t\t\t<a id=\"searchRecords\" href=\"javascript:void(0);\" className={className}>\n\t\t\t\t\t{/* eslint-enable no-script-url */}\n\t\t\t\t\t<span className=\"lookup__item-action-label\">\n\t\t\t\t\t\t<Icon\n\t\t\t\t\t\t\tname=\"search\"\n\t\t\t\t\t\t\tcategory=\"utility\"\n\t\t\t\t\t\t\tsize=\"x-small\"\n\t\t\t\t\t\t\tclassName=\"slds-icon-text-default\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<span className=\"slds-truncate\">{this.props.searchTerm}</span>\n\t\t\t\t\t</span>\n\t\t\t\t</a>\n\t\t\t</div>\n\t\t);\n\t}\n}\n\nDefaultHeader.displayName = displayName;\nDefaultHeader.propTypes = propTypes;\nDefaultHeader.defaultProps = defaultProps;\n\nexport default DefaultHeader;\n","// Alias\nimport DefaultHeader from '../../header';\n\nexport default DefaultHeader;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// Implements the [Lookup design pattern](https://latest-204.lightningdesignsystem.com/components/lookups) in React.\n// Based on SLDS v2.1.0-dev\n\nimport React from 'react';\nimport Icon from '../icon';\nimport EventUtil from '../../utilities/event';\n\nconst displayName = 'LookupDefaultFooter';\nconst propTypes = {};\nconst defaultProps = {};\n\nclass DefaultFooter extends React.Component {\n\t// eslint-disable-next-line react/sort-comp, camelcase\n\tUNSAFE_componentWillReceiveProps(nextProps) {\n\t\tif (\n\t\t\tnextProps.isActive !== this.props.isActive &&\n\t\t\tnextProps.isActive === true\n\t\t) {\n\t\t\tthis.props.setFocus('newItem');\n\t\t}\n\t}\n\n\thandleClick = () => {\n\t\tif (this.props.onClose) {\n\t\t\tthis.props.onClose();\n\t\t}\n\t};\n\n\trender() {\n\t\tlet className = 'slds-lookup__item-action slds-lookup__item-action_label';\n\t\tif (this.props.isActive) className += ' slds-theme_shade';\n\n\t\treturn (\n\t\t\t/* eslint-disable jsx-a11y/no-static-element-interactions */\n\t\t\t<div\n\t\t\t\tclassName=\"js-slds-lookup__item\"\n\t\t\t\tonClick={this.handleClick}\n\t\t\t\tonMouseDown={EventUtil.trapImmediate}\n\t\t\t>\n\t\t\t\t{/* eslint-enable jsx-a11y/no-static-element-interactions */}\n\t\t\t\t{/* eslint-disable no-script-url */}\n\t\t\t\t<a id=\"newItem\" href=\"javascript:void(0);\" className={className}>\n\t\t\t\t\t{/* eslint-enable no-script-url */}\n\t\t\t\t\t<span className=\"lookup__item-action-label\">\n\t\t\t\t\t\t<Icon\n\t\t\t\t\t\t\tname=\"add\"\n\t\t\t\t\t\t\tcategory=\"utility\"\n\t\t\t\t\t\t\tsize=\"x-small\"\n\t\t\t\t\t\t\tclassName=\"slds-icon-text-default\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<span className=\"slds-truncate\">\n\t\t\t\t\t\t\t{this.props.newItemLabel\n\t\t\t\t\t\t\t\t? this.props.newItemLabel\n\t\t\t\t\t\t\t\t: 'Add New Item'}\n\t\t\t\t\t\t</span>\n\t\t\t\t\t</span>\n\t\t\t\t</a>\n\t\t\t</div>\n\t\t);\n\t}\n}\n\nDefaultFooter.displayName = displayName;\nDefaultFooter.propTypes = propTypes;\nDefaultFooter.defaultProps = defaultProps;\n\nexport default DefaultFooter;\n","// Alias\nimport DefaultFooter from '../../footer';\n\nexport default DefaultFooter;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\nconst displayName = 'LookupDefaultSectionDivider';\nconst propTypes = {\n\tdata: PropTypes.object,\n};\n\nconst DefaultSectionDivider = (props) => (\n\t<li className=\"slds-p-around_x-small slds-lookup__divider\" tabIndex=\"-1\">\n\t\t<span className=\"slds-m-left_x-small\">\n\t\t\t<strong>{props.data.label}</strong>\n\t\t</span>\n\t</li>\n);\n\nDefaultSectionDivider.displayName = displayName;\nDefaultSectionDivider.propTypes = propTypes;\n\nexport default DefaultSectionDivider;\n","// Alias\nimport DefaultSectionDivider from '../../section-divider';\n\nexport default DefaultSectionDivider;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n/* eslint-disable import/no-mutable-exports */\n\nimport componentIsDeprecated from '../../utilities/warning/component-is-deprecated';\n\nlet checkProps = function checkPropsFunction() {};\n\nif (process.env.NODE_ENV !== 'production') {\n\tcheckProps = function checkPropsFunction(COMPONENT, props) {\n\t\tcomponentIsDeprecated(\n\t\t\tCOMPONENT,\n\t\t\tprops,\n\t\t\t'Please use an auto-complete Combobox instead. It is more accessible and closer aligned to SLDS.'\n\t\t);\n\t};\n}\n\nexport default checkProps;\n","/* eslint-disable prefer-destructuring */\n/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n/* eslint-disable jsx-a11y/role-has-required-aria-props */\n\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport cx from 'classnames';\nimport Icon from '../../icon';\nimport EventUtil from '../../../utilities/event';\n\nconst displayName = 'Lookup-Menu-Item';\nconst propTypes = {\n\tdata: PropTypes.object,\n\thandleItemFocus: PropTypes.func,\n\thref: PropTypes.string,\n\ticonCategory: PropTypes.string,\n\tid: PropTypes.string,\n\tindex: PropTypes.number,\n\tisActive: PropTypes.bool,\n\tisDisabled: PropTypes.bool,\n\tlistItemLabelRenderer: PropTypes.func,\n\tonSelect: PropTypes.func,\n\tsearchTerm: PropTypes.string,\n\tsetFocus: PropTypes.func,\n};\n\nclass Item extends React.Component {\n\t// eslint-disable-next-line camelcase, react/sort-comp\n\tUNSAFE_componentWillReceiveProps(nextProps) {\n\t\tif (\n\t\t\tnextProps.isActive !== this.props.isActive &&\n\t\t\tnextProps.isActive === true\n\t\t) {\n\t\t\tthis.scrollFocus();\n\t\t\tthis.props.setFocus(this.props.id);\n\t\t}\n\t}\n\n\tgetCustomLabel() {\n\t\tconst ListItemLabel = this.props.listItemLabelRenderer;\n\t\treturn <ListItemLabel {...this.props} />;\n\t}\n\n\tgetIcon() {\n\t\tif (this.props.iconName && !this.props.listItemLabelRenderer) {\n\t\t\treturn (\n\t\t\t\t<span className=\"slds-media__figure\">\n\t\t\t\t\t<Icon\n\t\t\t\t\t\tcategory={this.props.iconCategory}\n\t\t\t\t\t\tinverse={this.props.iconInverse}\n\t\t\t\t\t\tkey={this.props.iconName}\n\t\t\t\t\t\tname={this.props.iconName}\n\t\t\t\t\t\tsize=\"small\"\n\t\t\t\t\t/>\n\t\t\t\t</span>\n\t\t\t);\n\t\t}\n\t\treturn null;\n\t}\n\n\tgetLabel() {\n\t\tlet label;\n\t\tif (this.props.children.data.subTitle) {\n\t\t\tlabel = (\n\t\t\t\t<div className=\"slds-media__body\">\n\t\t\t\t\t<div className=\"slds-lookup__result-text\">\n\t\t\t\t\t\t{this.props.children.label}\n\t\t\t\t\t</div>\n\t\t\t\t\t<span className=\"slds-lookup__result-meta slds-text-body_small\">\n\t\t\t\t\t\t{this.props.children.data.subTitle}\n\t\t\t\t\t</span>\n\t\t\t\t</div>\n\t\t\t);\n\t\t} else {\n\t\t\tconst labelClassName = cx('slds-lookup__result-text', {\n\t\t\t\t'slds-m-left_x-small': !this.props.iconName,\n\t\t\t});\n\n\t\t\tlabel = (\n\t\t\t\t<div className=\"slds-media__body\">\n\t\t\t\t\t<div className={labelClassName}>{this.props.children.label}</div>\n\t\t\t\t</div>\n\t\t\t);\n\t\t}\n\t\treturn label;\n\t}\n\n\thandleClick = () => this.props.onSelect(this.props.id, this.props.data);\n\n\t// Scroll menu item based on up/down mouse keys (assumes all items are the same height)\n\tscrollFocus() {\n\t\tconst height = this.itemRef.offsetHeight;\n\t\tif (height && this.props.handleItemFocus) {\n\t\t\tthis.props.handleItemFocus(this.props.index, height);\n\t\t}\n\t}\n\n\trender() {\n\t\tlet itemClassName = 'js-slds-lookup__item';\n\t\tconst id = this.props.id;\n\t\tif (this.props.isActive) itemClassName += ' slds-theme_shade';\n\n\t\treturn (\n\t\t\t// IMPORTANT: anchor id is used to set lookup's input's aria-activedescendant\n\t\t\t<li\n\t\t\t\tclassName={itemClassName}\n\t\t\t\tref={(li) => {\n\t\t\t\t\tthis.itemRef = li;\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\t<a\n\t\t\t\t\taria-disabled={this.props.isDisabled}\n\t\t\t\t\tclassName=\"slds-lookup__item-action slds-media slds-media_center\"\n\t\t\t\t\thref={this.props.href}\n\t\t\t\t\tid={id}\n\t\t\t\t\tonClick={this.handleClick}\n\t\t\t\t\tonMouseDown={EventUtil.trapImmediate}\n\t\t\t\t\tref={id}\n\t\t\t\t\trole=\"option\"\n\t\t\t\t\ttabIndex=\"-1\"\n\t\t\t\t>\n\t\t\t\t\t{this.getIcon()}\n\t\t\t\t\t{this.props.listItemLabelRenderer\n\t\t\t\t\t\t? this.getCustomLabel()\n\t\t\t\t\t\t: this.getLabel()}\n\t\t\t\t</a>\n\t\t\t</li>\n\t\t);\n\t}\n}\n\nItem.displayName = displayName;\nItem.propTypes = propTypes;\n\nexport default Item;\n","/* eslint-disable react/sort-comp */\n/* eslint-disable prefer-destructuring */\n/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport Item from './item';\n\n/* eslint-disable react/no-did-update-set-state */\n\nconst displayName = 'Lookup-Menu';\nconst propTypes = {\n\tboldRegex: PropTypes.instanceOf(RegExp),\n\temptyMessage: PropTypes.oneOfType([PropTypes.string, PropTypes.element]),\n\tfilterWith: PropTypes.func,\n\tfocusIndex: PropTypes.number,\n\tgetListLength: PropTypes.func,\n\ticonCategory: PropTypes.string,\n\titems: PropTypes.array,\n\tlabel: PropTypes.string,\n\tlistLength: PropTypes.number,\n\tsearchTerm: PropTypes.string,\n\tsetFocus: PropTypes.func,\n};\nconst defaultProps = {\n\temptyMessage: 'No matches found.',\n};\nclass Menu extends React.Component {\n\tconstructor(props) {\n\t\tsuper(props);\n\t\tthis.state = { filteredItems: this.filteredItems() };\n\t}\n\n\t// Set filtered list length in parent to determine active indexes for aria-activedescendent\n\tcomponentDidUpdate(prevProps) {\n\t\t// make an array of the children of the list but only count the actual items (but include section dividers)\n\t\tconst childFilter = (child) =>\n\t\t\tchild.className.indexOf('js-slds-lookup__item') > -1 ||\n\t\t\tchild.className.indexOf('slds-lookup__divider') > -1;\n\t\tconst list = [].slice.call(this.listRef.children).filter(childFilter)\n\t\t\t.length;\n\t\tthis.props.getListLength(list);\n\t\tif (\n\t\t\tprevProps.items !== this.props.items ||\n\t\t\tprevProps.filter !== this.props.filter ||\n\t\t\tprevProps.searchTerm !== this.props.searchTerm\n\t\t) {\n\t\t\t// eslint-disable-next-line class-methods-use-this\n\t\t\tthis.setState({\n\t\t\t\tfilteredItems: this.filteredItems(),\n\t\t\t});\n\t\t}\n\t}\n\n\tgetFilteredItemForIndex(i) {\n\t\tif (\n\t\t\ti > -1 &&\n\t\t\tthis.state.filteredItems &&\n\t\t\ti < this.state.filteredItems.length\n\t\t) {\n\t\t\treturn this.state.filteredItems[i];\n\t\t}\n\t\treturn null;\n\t}\n\n\tfilter(item) {\n\t\treturn this.props.filterWith(this.props.searchTerm, item);\n\t}\n\n\t// eslint-disable-next-line class-methods-use-this\n\tfilterEmptySections(items) {\n\t\tconst result = [];\n\t\titems.forEach((item, index) => {\n\t\t\tif (item && item.data && item.data.type === 'section') {\n\t\t\t\tif (index + 1 < items.length) {\n\t\t\t\t\tconst nextItem = items[index + 1];\n\t\t\t\t\tif (nextItem.data && nextItem.data.type !== 'section') {\n\t\t\t\t\t\t// eslint-disable-next-line fp/no-mutating-methods\n\t\t\t\t\t\tresult.push(item);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\t// eslint-disable-next-line fp/no-mutating-methods\n\t\t\t\tresult.push(item);\n\t\t\t}\n\t\t});\n\t\treturn result;\n\t}\n\n\tfilteredItems() {\n\t\treturn this.filterEmptySections(this.props.items.filter(this.filter, this));\n\t}\n\n\t// Scroll menu up/down when using mouse keys\n\thandleItemFocus = (itemIndex, itemHeight) => {\n\t\tif (this.listRef) {\n\t\t\tthis.listRef.scrollTop = itemIndex * itemHeight;\n\t\t}\n\t};\n\n\trenderContent() {\n\t\tif (this.state.filteredItems.length === 0) {\n\t\t\treturn (\n\t\t\t\t<li className=\"slds-lookup__message\" aria-live=\"polite\">\n\t\t\t\t\t<span className=\"slds-m-left_x-large slds-p-vertical_medium\">\n\t\t\t\t\t\t{this.props.emptyMessage}\n\t\t\t\t\t</span>\n\t\t\t\t</li>\n\t\t\t);\n\t\t}\n\n\t\treturn this.renderItems();\n\t}\n\n\trenderFooter() {\n\t\treturn this.props.footer;\n\t}\n\n\trenderHeader() {\n\t\treturn this.props.header;\n\t}\n\n\trenderItems() {\n\t\tconst focusIndex = this.props.focusIndex;\n\t\treturn this.state.filteredItems.map((component, i) => {\n\t\t\t// isActive means it is aria-activedescendant\n\t\t\tconst id = component.id;\n\t\t\tlet isActive = false;\n\t\t\tif (this.props.header) {\n\t\t\t\tisActive = focusIndex === i + 1;\n\t\t\t} else {\n\t\t\t\tisActive = focusIndex === i;\n\t\t\t}\n\t\t\tif (component.data.type === 'section') {\n\t\t\t\tif (this.props.sectionDividerRenderer) {\n\t\t\t\t\tconst SectionDivider = this.props.sectionDividerRenderer;\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<SectionDivider\n\t\t\t\t\t\t\tdata={component.data}\n\t\t\t\t\t\t\tkey={`section_header_${id}`}\n\t\t\t\t\t\t\t{...this.props}\n\t\t\t\t\t\t/>\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn (\n\t\t\t\t<Item\n\t\t\t\t\tboldRegex={this.props.boldRegex}\n\t\t\t\t\tdata={component.data}\n\t\t\t\t\thandleItemFocus={this.handleItemFocus}\n\t\t\t\t\ticonCategory={this.props.iconCategory}\n\t\t\t\t\ticonInverse={this.props.iconInverse}\n\t\t\t\t\ticonName={this.props.iconName}\n\t\t\t\t\tid={id}\n\t\t\t\t\tindex={i}\n\t\t\t\t\tisActive={isActive}\n\t\t\t\t\tkey={id}\n\t\t\t\t\tlistItemLabelRenderer={this.props.listItemLabelRenderer}\n\t\t\t\t\tonSelect={this.props.onSelect}\n\t\t\t\t\tsearchTerm={this.props.searchTerm}\n\t\t\t\t\tsetFocus={this.props.setFocus}\n\t\t\t\t>\n\t\t\t\t\t{component}\n\t\t\t\t</Item>\n\t\t\t);\n\t\t});\n\t}\n\n\trenderSectionDivider() {\n\t\treturn this.props.sectionDivider;\n\t}\n\n\trender() {\n\t\treturn (\n\t\t\t<section id=\"menuContainer\" className=\"ignore-react-onclickoutside\">\n\t\t\t\t{this.renderHeader()}\n\t\t\t\t<ul\n\t\t\t\t\tid=\"list\"\n\t\t\t\t\tclassName=\"slds-lookup__list\"\n\t\t\t\t\trole=\"presentation\"\n\t\t\t\t\tref={(list) => {\n\t\t\t\t\t\tif (list) {\n\t\t\t\t\t\t\tthis.listRef = list;\n\t\t\t\t\t\t}\n\t\t\t\t\t}}\n\t\t\t\t>\n\t\t\t\t\t{this.renderContent()}\n\t\t\t\t</ul>\n\t\t\t\t{this.renderFooter()}\n\t\t\t</section>\n\t\t);\n\t}\n}\n\nMenu.displayName = displayName;\nMenu.propTypes = propTypes;\nMenu.defaultProps = defaultProps;\n\nexport default Menu;\n","// Alias\nimport Menu from '../private/menu';\n\nexport default Menu;\n","/* eslint-disable max-lines */\n/* eslint-disable react/no-access-state-in-setstate */\n/* eslint-disable prefer-destructuring */\n/* eslint-disable max-lines */\n/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n/* eslint-disable jsx-a11y/role-has-required-aria-props */\n\n// # Lookup Component\n\n// Implements the [Lookup design pattern](https://latest-204.lightningdesignsystem.com/components/lookups) in React.\n// Based on SLDS v2.1.0-dev\n\n// ## Dependencies\n\n// ### React\nimport React from 'react';\n\nimport PropTypes from 'prop-types';\nimport escapeRegExp from 'lodash.escaperegexp';\nimport isEqual from 'lodash.isequal';\nimport classNames from 'classnames';\n\n// This component's `checkProps` which issues warnings to developers about properties\n// when in development mode (similar to React's built in development tools)\nimport checkProps from './check-props';\n\n// Children\nimport Dialog from '../utilities/dialog';\nimport Button from '../button';\nimport Icon from '../icon';\nimport InputIcon from '../icon/input-icon';\nimport Input from '../input';\n\n// ### Event Helpers\nimport EventUtil from '../../utilities/event';\nimport KEYS from '../../utilities/key-code';\n\nimport Menu from './menu';\n\nimport { LOOKUP } from '../../utilities/constants';\n\n/**\n * A function that takes a term string and an item and returns a truthy value if the item should be kept.\n */\nconst defaultFilter = (term, item) => {\n\tif (!term) return true;\n\treturn (\n\t\t(item.data && item.data.type === 'section') ||\n\t\titem.label.match(new RegExp(escapeRegExp(term), 'ig'))\n\t);\n};\n\nconst normalizeSearchTerm = (string) =>\n\t(string || '').toString().replace(/^\\s+/, '');\n\n/**\n * ** Lookup is deprecated. Please use an auto-complete Combobox instead.**\n *\n * Lookup is an advanced inline search form. The lookup can parse through single or multi scoped datasets. The parsed dataset can be filtered by single or multi option selects.\n *\n * This component is wrapped in a [higher order component to listen for clicks outside itself](https://github.com/kentor/react-click-outside) and thus requires use of `ReactDOM`.\n */\nconst Lookup = class extends React.Component {\n\tstatic displayName = LOOKUP;\n\n\tstatic propTypes = {\n\t\t/**\n\t\t * If present, the label associated with this `input` is overwritten\n\t\t * by this text and is visually not shown.\n\t\t */\n\t\tassistiveText: PropTypes.oneOfType([PropTypes.object, PropTypes.string]),\n\t\t/**\n\t\t * Class names to be added to the tag classed with `slds-lookup`.\n\t\t */\n\t\tclassName: PropTypes.oneOfType([\n\t\t\tPropTypes.array,\n\t\t\tPropTypes.object,\n\t\t\tPropTypes.string,\n\t\t]),\n\t\t/**\n\t\t * If true, constrains the menu to the scroll parent. Has no effect if `isInline` is `true`.\n\t\t */\n\t\tconstrainToScrollParent: PropTypes.bool,\n\t\t/**\n\t\t * ID for aria-describedby (e.g. for an error message or a description)\n\t\t */\n\t\tdescribedById: PropTypes.string,\n\t\t/**\n\t\t * Please select one of the following:\n\t\t * * `absolute` - (default) The dialog will use `position: absolute` and style attributes to position itself. This allows inverted placement or flipping of the dialog.\n\t\t * * `overflowBoundaryElement` - The dialog will overflow scrolling parents. Use on elements that are aligned to the left or right of their target and don't care about the target being within a scrolling parent. Typically this is a popover or tooltip. Dropdown menus can usually open up and down if no room exists. In order to achieve this a portal element will be created and attached to `body`. This element will render into that detached render tree.\n\t\t * * `relative` - No styling or portals will be used. Menus will be positioned relative to their triggers. This is a great choice for HTML snapshot testing.\n\t\t */\n\t\tmenuPosition: PropTypes.string,\n\t\t/**\n\t\t * This prop is passed onto the `input`. Prevents dropdown menu from opening. Also applies disabled styling to input.\n\t\t */\n\t\tdisabled: PropTypes.bool,\n\t\t/**\n\t\t * Custom message that renders when no matches found. The default empty state is just text that says, 'No matches found.'.\n\t\t */\n\t\temptyMessage: PropTypes.oneOfType([PropTypes.string, PropTypes.element]),\n\t\t/**\n\t\t * Custom function to filter the Lookup items when typing into input field. The default function is case-insensitive and uses the searchTerm to filter Lookup items on their labels.\n\t\t */\n\t\tfilterWith: PropTypes.func,\n\t\t/**\n\t\t * If true, the menu is constrained to the window and may be flipped up. Has no effect if `isInline` is `true`. In other components, its opposite is used `hasStaticAlignment`.\n\t\t */\n\t\tflippable: PropTypes.bool,\n\t\t/**\n\t\t * Custom component for Lookup footer. The default footer allows user to add new item - see <a href='http://www.lightningdesignsystem.com/components/lookups/#base'>Lightning Design System Lookup > Base</a>. To use the default footer, pass in <code>Lookup.DefaultFooter</code>.\n\t\t */\n\t\tfooterRenderer: PropTypes.func,\n\t\t/**\n\t\t * Custom component for Lookup header. The default header has a search icon and shows the search term - see <a href='http://www.lightningdesignsystem.com/components/lookups/#base'>Lightning Design System Lookup > Base</a>. To use the default header, pass in <code>Lookup.DefaultHeader</code>.\n\t\t */\n\t\theaderRenderer: PropTypes.func,\n\t\t/**\n\t\t * Please refer to <a href='http://www.lightningdesignsystem.com/resources/icons'>Lightning Design System Icons</a> to view categories.\n\t\t */\n\t\ticonCategory: PropTypes.string,\n\t\t/**\n\t\t * If true, icon color is white. If false, icon color is the default text color.\n\t\t */\n\t\ticonInverse: PropTypes.bool,\n\t\t/**\n\t\t * Name of icon. Please refer to <a href='http://www.lightningdesignsystem.com/resources/icons'>Lightning Design System Icons</a> to view icon names.\n\t\t */\n\t\ticonName: PropTypes.string,\n\t\t/**\n\t\t * Determines whether the input's icon will display that icon on the left or the right.\n\t\t */\n\t\ticonPosition: PropTypes.oneOf(['left', 'right']),\n\t\t/**\n\t\t * Renders menu within the wrapping trigger as a sibling of the button. By default, you will have an absolutely positioned container at an elevated z-index.\n\t\t */\n\t\tisInline: PropTypes.bool,\n\t\t/**\n\t\t * Whether or not the dropdown menu is open. This overrides the default behavior.\n\t\t */\n\t\tisOpen: PropTypes.bool,\n\t\t/**\n\t\t * Form label for input.\n\t\t */\n\t\tlabel: PropTypes.string,\n\t\t/**\n\t\t * Custom component that overrides the default Lookup Item component.\n\t\t */\n\t\tlistItemLabelRenderer: PropTypes.func,\n\t\t/**\n\t\t * Triggered when input focus is removed.\n\t\t */\n\t\tonBlur: PropTypes.func,\n\t\t/**\n\t\t * Triggered when the contents of the input changes.\n\t\t */\n\t\tonChange: PropTypes.func,\n\t\t/**\n\t\t * Triggered when input is focused.\n\t\t */\n\t\tonFocus: PropTypes.func,\n\t\t/**\n\t\t * Function called when the lookup dropdown would like hide. This will turn the Lookup into into a controlled component. Please use with `isOpen`.\n\t\t */\n\t\tonRequestClose: PropTypes.func,\n\t\t/**\n\t\t * Function called when the lookup dropdown would like show. This will turn the Lookup into into a controlled component. Please use with `isOpen`.\n\t\t */\n\t\tonRequestOpen: PropTypes.func,\n\t\t/**\n\t\t * Triggered when the user scrolls in the dropdown menu.\n\t\t */\n\t\tonScroll: PropTypes.func,\n\t\t/**\n\t\t * Triggered when an item is selected from the dropdown menu.\n\t\t */\n\t\tonSelect: PropTypes.func,\n\t\t/**\n\t\t * Triggered when an item is an item is removed from the input.\n\t\t */\n\t\tonUnselect: PropTypes.func,\n\t\t/**\n\t\t * Item added to the dropdown menu.\n\t\t */\n\t\toptions: PropTypes.array.isRequired,\n\t\t/**\n\t\t * Text that will appear in an empty input.\n\t\t */\n\t\tplaceholder: PropTypes.string,\n\t\t/**\n\t\t * If true, adds asterisk next to input label to indicate it is a required field.\n\t\t */\n\t\trequired: PropTypes.bool,\n\t\t/**\n\t\t * Text passed on to header search input of dropdown menu.\n\t\t */\n\t\tsearchTerm: PropTypes.string,\n\t\t/**\n\t\t * Custom component that overrides the default section divider\n\t\t */\n\t\tsectionDividerRenderer: PropTypes.func,\n\t\t/**\n\t\t * Index of current selected item. To clear the selection, pass in -1.\n\t\t */\n\t\tselectedItem: PropTypes.number,\n\t};\n\n\tstatic defaultProps = {\n\t\tconstrainToScrollParent: true,\n\t\tfilterWith: defaultFilter,\n\t\ticonPosition: 'right',\n\t\tsearchTerm: '',\n\t\tmenuPosition: 'absolute',\n\t};\n\n\tstate = {\n\t\tcurrentFocus: null,\n\t\tfocusIndex: null,\n\t\titems: [],\n\t\tlistLength: this.props.options.length,\n\t\tsearchTerm: normalizeSearchTerm(this.props.searchTerm),\n\t\tselectedIndex: this.props.selectedItem,\n\t};\n\n\tconstructor(props) {\n\t\tsuper(props);\n\n\t\t// `checkProps` issues warnings to developers about properties (similar to React's built in development tools)\n\t\tcheckProps(LOOKUP, props);\n\n\t\t// Keeps track of references of children for keyboard navigation\n\t\tthis.pills = [];\n\t}\n\n\tcomponentDidMount() {\n\t\tthis.modifyItems(this.props.options);\n\t}\n\n\t// eslint-disable-next-line camelcase, react/sort-comp\n\tUNSAFE_componentWillReceiveProps(newProps) {\n\t\tif (newProps.options) {\n\t\t\tthis.modifyItems(newProps.options);\n\t\t}\n\t\tif (\n\t\t\tnewProps.selectedItem !== this.props.selectedItem ||\n\t\t\t!isEqual(newProps.options, this.props.options)\n\t\t) {\n\t\t\tthis.setState({ selectedIndex: newProps.selectedItem });\n\t\t}\n\t}\n\n\tcomponentDidUpdate(prevProps, prevState) {\n\t\tif (\n\t\t\t!isNaN(parseInt(prevState.selectedIndex, 10)) &&\n\t\t\tisNaN(parseInt(this.state.selectedIndex, 10))\n\t\t) {\n\t\t\tif (this.input) {\n\t\t\t\tthis.input.focus();\n\t\t\t}\n\t\t} else if (\n\t\t\tisNaN(parseInt(prevState.selectedIndex, 10)) &&\n\t\t\t!isNaN(parseInt(this.state.selectedIndex, 10))\n\t\t) {\n\t\t\tif (this.pills[this.state.selectedIndex]) {\n\t\t\t\tthis.pills[this.state.selectedIndex].focus();\n\t\t\t}\n\t\t}\n\t}\n\n\tgetClassName = () =>\n\t\tclassNames(this.props.className, 'slds-form-element slds-lookup', {\n\t\t\t'slds-has-selection': this.isSelected(),\n\t\t\t'slds-is-open': this.getIsOpen(),\n\t\t});\n\n\tsetFirstIndex = () => {\n\t\tlet nextFocusIndex = 0;\n\t\tlet filteredItem = this.state.items[0];\n\n\t\tif (this.menuComponent && this.menuComponent.getFilteredItemForIndex) {\n\t\t\tfilteredItem = this.menuComponent.getFilteredItemForIndex(nextFocusIndex);\n\t\t}\n\n\t\tif (filteredItem && filteredItem.data.type === 'section') {\n\t\t\tnextFocusIndex += 1;\n\t\t}\n\n\t\tthis.setState({ focusIndex: nextFocusIndex });\n\t};\n\n\tgetHeader = () => {\n\t\tconst Header = this.props.headerRenderer;\n\t\tconst headerActive = this.state.focusIndex === 0;\n\n\t\treturn (\n\t\t\t<Header\n\t\t\t\tref={(header) => {\n\t\t\t\t\tthis.headerComponent = header;\n\t\t\t\t}}\n\t\t\t\t{...this.props}\n\t\t\t\tfocusIndex={this.state.focusIndex}\n\t\t\t\tisActive={headerActive}\n\t\t\t\tonClose={this.handleClose}\n\t\t\t\tsearchTerm={this.state.searchTerm}\n\t\t\t\tsetFocus={this.setFocus}\n\t\t\t/>\n\t\t);\n\t};\n\n\tgetFooter = () => {\n\t\tconst Footer = this.props.footerRenderer;\n\t\tconst numFocusable = this.getNumFocusableItems();\n\t\tconst footerActive = this.state.focusIndex === numFocusable;\n\n\t\treturn (\n\t\t\t<Footer\n\t\t\t\tref={(footer) => {\n\t\t\t\t\tthis.footerComponent = footer;\n\t\t\t\t}}\n\t\t\t\t{...this.props}\n\t\t\t\tfocusIndex={this.state.focusIndex}\n\t\t\t\tisActive={footerActive}\n\t\t\t\tonClose={this.handleClose}\n\t\t\t\tsetFocus={this.setFocus}\n\t\t\t/>\n\t\t);\n\t};\n\n\tsetFocus = (id) => {\n\t\tthis.setState({ currentFocus: id });\n\t};\n\n\tgetIsOpen = () =>\n\t\t!!(typeof this.props.isOpen === 'boolean'\n\t\t\t? this.props.isOpen\n\t\t\t: this.state.isOpen);\n\n\tgetListLength = (qty) => {\n\t\tif (qty !== this.state.listLength) {\n\t\t\tthis.setState({ listLength: qty });\n\t\t}\n\t};\n\n\tgetNumFocusableItems = () => {\n\t\tlet offset = 0;\n\n\t\tif (this.footerComponent) {\n\t\t\toffset += 1;\n\t\t}\n\n\t\tif (this.headerComponent) {\n\t\t\toffset += 1;\n\t\t}\n\n\t\treturn this.state.listLength - 1 + offset;\n\t};\n\n\t// =================================================\n\t// Using down/up keys, set Focus on list item and assign it to aria-activedescendant attribute in input.\n\t// Need to keep track of filtered list length to be able to increment/decrement the focus index so it's contained to the number of available list items.\n\tincreaseIndex = () => {\n\t\tconst numFocusable = this.getNumFocusableItems();\n\t\tlet nextFocusIndex =\n\t\t\tthis.state.focusIndex < numFocusable ? this.state.focusIndex + 1 : 0;\n\t\tconst filteredItem = this.menuComponent.getFilteredItemForIndex(\n\t\t\tnextFocusIndex\n\t\t);\n\n\t\tif (filteredItem && filteredItem.data.type === 'section') {\n\t\t\tnextFocusIndex += 1;\n\t\t}\n\n\t\tthis.setState({ focusIndex: nextFocusIndex });\n\t};\n\n\tdecreaseIndex = () => {\n\t\tconst numFocusable = this.getNumFocusableItems();\n\t\tlet prevFocusIndex =\n\t\t\tthis.state.focusIndex > 0 ? this.state.focusIndex - 1 : numFocusable;\n\t\tconst filteredItem = this.menuComponent.getFilteredItemForIndex(\n\t\t\tprevFocusIndex\n\t\t);\n\n\t\tif (filteredItem && filteredItem.data.type === 'section') {\n\t\t\tprevFocusIndex = prevFocusIndex === 0 ? numFocusable : prevFocusIndex - 1;\n\t\t}\n\n\t\tthis.setState({ focusIndex: prevFocusIndex });\n\t};\n\n\t// =================================================\n\t// Select menu item (onClick or on key enter/space)\n\tselectItem = (itemId) => {\n\t\tif (itemId) {\n\t\t\tconst index = itemId.replace('item-', '');\n\t\t\tthis.selectItemByIndex(index);\n\t\t}\n\t};\n\n\tselectItemByIndex = (index) => {\n\t\tif (index >= 0 && index < this.state.items.length) {\n\t\t\tif (this.props.onRequestClose) {\n\t\t\t\tthis.props.onRequestClose();\n\t\t\t}\n\t\t\tthis.setState({\n\t\t\t\tisOpen: false,\n\t\t\t\tselectedIndex: index,\n\t\t\t\tsearchTerm: '',\n\t\t\t});\n\t\t\tconst data = this.state.items[index].data;\n\t\t\tif (this.props.onSelect) {\n\t\t\t\tthis.props.onSelect(data);\n\t\t\t}\n\t\t}\n\t};\n\n\thandleDeleteSelected = () => {\n\t\tif (this.props.onRequestOpen) {\n\t\t\tthis.props.onRequestOpen();\n\t\t}\n\t\tthis.setState({\n\t\t\tselectedIndex: null,\n\t\t\tisOpen: true,\n\t\t});\n\n\t\tthis.focusInput();\n\n\t\tif (this.props.onUnselect) {\n\t\t\tthis.props.onUnselect();\n\t\t}\n\t};\n\n\t// =================================================\n\t// Event Listeners on Input\n\thandleClose = () => {\n\t\tif (this.props.onRequestClose) {\n\t\t\tthis.props.onRequestClose();\n\t\t}\n\t\tthis.setState({\n\t\t\tisOpen: false,\n\t\t\tfocusIndex: null,\n\t\t\tcurrentFocus: null,\n\t\t});\n\t};\n\n\thandleClickOutside = () => {\n\t\tthis.handleClose();\n\t};\n\n\thandleEscape = (event) => {\n\t\tif (this.getIsOpen() && event) {\n\t\t\tEventUtil.trap(event);\n\t\t}\n\t\tthis.handleClose();\n\t};\n\n\thandleCancel = () => {\n\t\tthis.handleClose();\n\t};\n\n\thandleClick = () => {\n\t\tif (this.props.onRequestOpen) {\n\t\t\tthis.props.onRequestOpen();\n\t\t}\n\t\tthis.setState({ isOpen: true });\n\t};\n\n\thandleBlur = (event) => {\n\t\tif (this.props.onBlur) {\n\t\t\tconst target = event.target || event.currentTarget;\n\t\t\tthis.props.onBlur(target.value);\n\t\t}\n\t};\n\n\thandleFocus = (event) => {\n\t\tif (this.props.onFocus) {\n\t\t\tconst target = event.target || event.currentTarget;\n\t\t\tthis.props.onFocus(target.value);\n\t\t}\n\t\tif (this.props.onRequestOpen) {\n\t\t\tthis.props.onRequestOpen();\n\t\t}\n\t\tthis.setState({ isOpen: true });\n\t};\n\n\thandleChange = (event) => {\n\t\tconst target = event.target || event.currentTarget;\n\t\tthis.setState({ searchTerm: normalizeSearchTerm(target.value) });\n\t\tif (this.props.onChange) {\n\t\t\tthis.props.onChange(target.value);\n\t\t}\n\t};\n\n\thandleKeyDown = (event) => {\n\t\tif (event.keyCode) {\n\t\t\t// If user hits esc key or tab key, close menu\n\t\t\tif (event.keyCode === KEYS.ESCAPE) {\n\t\t\t\tthis.handleEscape(event);\n\t\t\t} else if (event.keyCode === KEYS.TAB) {\n\t\t\t\t// remove the focus on input, tab focus shoud move to next tabbale elemnt\n\t\t\t\tsetTimeout(() => {\n\t\t\t\t\tthis.handleClose();\n\t\t\t\t}, 200);\n\t\t\t\tthis.handleBlur(event);\n\t\t\t} else {\n\t\t\t\tthis.handleClick();\n\t\t\t}\n\n\t\t\t// If user hits down key, advance aria activedescendant to next item\n\t\t\tif (event.keyCode === KEYS.DOWN) {\n\t\t\t\tEventUtil.trapImmediate(event);\n\t\t\t\tif (this.state.focusIndex === null) {\n\t\t\t\t\tthis.setFirstIndex();\n\t\t\t\t} else {\n\t\t\t\t\tthis.increaseIndex();\n\t\t\t\t}\n\t\t\t} else if (event.keyCode === KEYS.UP) {\n\t\t\t\t// If user hits up key, advance aria activedescendant to previous item\n\t\t\t\tEventUtil.trapImmediate(event);\n\t\t\t\tconst numFocusable = this.getNumFocusableItems();\n\t\t\t\tif (this.state.focusIndex === null) {\n\t\t\t\t\tthis.setState({ focusIndex: numFocusable });\n\t\t\t\t} else {\n\t\t\t\t\tthis.decreaseIndex();\n\t\t\t\t}\n\t\t\t} else if (\n\t\t\t\tevent.keyCode === KEYS.ENTER &&\n\t\t\t\tthis.state.focusIndex !== null\n\t\t\t) {\n\t\t\t\t// If user hits enter, select current activedescendant item\n\t\t\t\tEventUtil.trapImmediate(event);\n\t\t\t\t// If the focus is on the first fixed Action Item in Menu, click it\n\t\t\t\tif (this.headerComponent && this.state.focusIndex === 0) {\n\t\t\t\t\tthis.headerComponent.handleClick();\n\t\t\t\t} else if (\n\t\t\t\t\tthis.footerComponent &&\n\t\t\t\t\tthis.state.focusIndex === this.state.listLength + 1\n\t\t\t\t) {\n\t\t\t\t\t// If the focus is on the last fixed Action Item in Menu, click it\n\t\t\t\t\tthis.footerComponent.handleClick();\n\t\t\t\t} else {\n\t\t\t\t\t// If not, then select menu item\n\t\t\t\t\tthis.selectItem(this.state.currentFocus);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t};\n\n\thandlePillKeyDown = (event) => {\n\t\tif (event.keyCode) {\n\t\t\tif (event.keyCode === KEYS.DELETE || event.keyCode === KEYS.BACKSPACE) {\n\t\t\t\tEventUtil.trapImmediate(event);\n\t\t\t\tthis.handleDeleteSelected();\n\t\t\t}\n\t\t}\n\t};\n\n\tinputRefId = () => `${this.props.label}Lookup`;\n\n\tfocusInput = () => {\n\t\tthis.focusOnRender = true;\n\t};\n\n\tisSelected = () => {\n\t\tconst hasSelection =\n\t\t\t!isNaN(parseInt(this.state.selectedIndex, 10)) &&\n\t\t\tthis.state.selectedIndex >= 0;\n\t\treturn hasSelection;\n\t};\n\n\tmodifyItems = (itemsToModify) => {\n\t\tconst items = itemsToModify.map((item, index) => ({\n\t\t\tid: `item-${index}`,\n\t\t\tlabel: item.label,\n\t\t\tdata: item,\n\t\t}));\n\n\t\tthis.setState({ items });\n\t};\n\n\t// =================================================\n\t// Rendering Things\n\trenderMenuContent = () => (\n\t\t<Menu\n\t\t\tref={(menu) => {\n\t\t\t\tthis.menuComponent = menu;\n\t\t\t}}\n\t\t\temptyMessage={this.props.emptyMessage}\n\t\t\tfilterWith={this.props.filterWith}\n\t\t\tfocusIndex={this.state.focusIndex}\n\t\t\tfooter={this.props.footerRenderer ? this.getFooter() : null}\n\t\t\tgetListLength={this.getListLength}\n\t\t\theader={this.props.headerRenderer ? this.getHeader() : null}\n\t\t\ticonCategory={this.props.iconCategory}\n\t\t\ticonInverse={this.props.iconInverse}\n\t\t\ticonName={this.props.iconName}\n\t\t\titems={this.state.items}\n\t\t\tlabel={this.props.label}\n\t\t\tlistItemLabelRenderer={this.props.listItemLabelRenderer}\n\t\t\tlistLength={this.state.listLength}\n\t\t\tonSelect={this.selectItem}\n\t\t\tsearchTerm={this.state.searchTerm}\n\t\t\tsectionDividerRenderer={this.props.sectionDividerRenderer}\n\t\t\tsetFocus={this.setFocus}\n\t\t/>\n\t);\n\n\trenderInlineMenu = () =>\n\t\tthis.getIsOpen() ? (\n\t\t\t<div\n\t\t\t\tclassName=\"ignore-react-onclickoutside slds-lookup__menu\"\n\t\t\t\trole=\"listbox\"\n\t\t\t>\n\t\t\t\t{this.renderMenuContent()}\n\t\t\t</div>\n\t\t) : null;\n\n\trenderSeparateMenu = () => {\n\t\t// FOR BACKWARDS COMPATIBILITY\n\t\tconst menuPosition = this.props.isInline\n\t\t\t? 'relative'\n\t\t\t: this.props.menuPosition; // eslint-disable-line react/prop-types\n\t\treturn this.getIsOpen() ? (\n\t\t\t<Dialog\n\t\t\t\talign=\"bottom\"\n\t\t\t\tclassName=\"slds-lookup__menu slds-show\"\n\t\t\t\tcloseOnTabKey\n\t\t\t\tcontentsClassName=\"slds-lookup__menu slds-show\"\n\t\t\t\tcontext={this.context}\n\t\t\t\tinheritWidthOf=\"target\"\n\t\t\t\tonClose={this.handleCancel}\n\t\t\t\thasStaticAlignement={!this.props.flippable}\n\t\t\t\tconstrainToScrollParent={this.props.constrainToScrollParent}\n\t\t\t\tonRequestTargetElement={() => this.input}\n\t\t\t\tposition={menuPosition}\n\t\t\t>\n\t\t\t\t{this.renderMenuContent()}\n\t\t\t</Dialog>\n\t\t) : null;\n\t};\n\n\trenderInput = () => (\n\t\t<Input\n\t\t\taria-activedescendant={\n\t\t\t\tthis.state.currentFocus ? this.state.currentFocus : ''\n\t\t\t}\n\t\t\taria-autocomplete=\"list\"\n\t\t\taria-describedby={this.props.describedById}\n\t\t\taria-expanded={!!this.getIsOpen()}\n\t\t\tassistiveText={this.props.assistiveText}\n\t\t\tclassName=\"slds-lookup__search-input\"\n\t\t\tdisabled={this.props.disabled}\n\t\t\ticonRight={\n\t\t\t\t<InputIcon\n\t\t\t\t\tassistiveText={{ icon: 'Search' }}\n\t\t\t\t\tcategory=\"utility\"\n\t\t\t\t\tname=\"search\"\n\t\t\t\t/>\n\t\t\t}\n\t\t\tid={this.inputRefId()}\n\t\t\tonBlur={this.handleBlur}\n\t\t\tonChange={this.handleChange}\n\t\t\tonClick={this.handleClick}\n\t\t\tonFocus={this.handleFocus}\n\t\t\tonKeyDown={this.handleKeyDown}\n\t\t\tinputRef={(component) => {\n\t\t\t\tthis.input = component;\n\t\t\t\tif (this.focusOnRender) {\n\t\t\t\t\tthis.input.focus();\n\t\t\t\t\tthis.focusOnRender = false;\n\t\t\t\t}\n\t\t\t}}\n\t\t\tplaceholder={this.props.placeholder}\n\t\t\trole=\"combobox\"\n\t\t\ttype=\"text\"\n\t\t\tvalue={this.state.searchTerm}\n\t\t/>\n\t);\n\n\trenderSelectedItem = () => {\n\t\tconst selectedItem = this.props.options[this.state.selectedIndex].label;\n\t\tconst renderIcon = this.props.iconName ? (\n\t\t\t<Icon\n\t\t\t\tcategory={this.props.iconCategory}\n\t\t\t\tclassName=\"slds-icon slds-pill__icon\"\n\t\t\t\tinverse={this.props.iconInverse}\n\t\t\t\tname={this.props.iconName}\n\t\t\t/>\n\t\t) : null;\n\t\tconst labelClassName = this.props.iconName\n\t\t\t? 'slds-pill__label'\n\t\t\t: 'slds-pill__label slds-m-left_x-small';\n\n\t\t// i18n\n\t\treturn (\n\t\t\t<div className=\"slds-pill__container\">\n\t\t\t\t{/* eslint-disable no-script-url */}\n\t\t\t\t<a\n\t\t\t\t\thref=\"javascript:void(0)\"\n\t\t\t\t\tclassName=\"slds-pill\"\n\t\t\t\t\tref={(pill) => {\n\t\t\t\t\t\tthis.pills[this.state.selectedIndex] = pill;\n\t\t\t\t\t}}\n\t\t\t\t\tonKeyDown={this.handlePillKeyDown}\n\t\t\t\t>\n\t\t\t\t\t{/* eslint-enable no-script-url */}\n\t\t\t\t\t{renderIcon}\n\t\t\t\t\t<span className={labelClassName}>{selectedItem}</span>\n\t\t\t\t\t<Button\n\t\t\t\t\t\tassistiveText={{ icon: 'Press delete to remove' }}\n\t\t\t\t\t\tclassName=\"slds-pill__remove slds-button_icon-bare\"\n\t\t\t\t\t\ticonCategory=\"utility\"\n\t\t\t\t\t\ticonName=\"close\"\n\t\t\t\t\t\tonClick={this.handleDeleteSelected}\n\t\t\t\t\t\ttabIndex=\"-1\"\n\t\t\t\t\t\tvariant=\"icon\"\n\t\t\t\t\t/>\n\t\t\t\t</a>\n\t\t\t</div>\n\t\t);\n\t};\n\n\trenderLabel = () => {\n\t\tlet inputLabel;\n\t\tconst required = this.props.required ? (\n\t\t\t// eslint-disable-next-line react/jsx-curly-brace-presence\n\t\t\t<span className=\"slds-required\">{'*'}</span>\n\t\t) : null;\n\t\tif (this.isSelected()) {\n\t\t\t// inline style override\n\t\t\tinputLabel = (\n\t\t\t\t<span className=\"slds-form-element__label\" style={{ width: '100%' }}>\n\t\t\t\t\t{required}\n\t\t\t\t\t{this.props.label}\n\t\t\t\t</span>\n\t\t\t);\n\t\t} else {\n\t\t\tinputLabel = (\n\t\t\t\t<label\n\t\t\t\t\tclassName=\"slds-form-element__label\"\n\t\t\t\t\thtmlFor={this.inputRefId()}\n\t\t\t\t\tstyle={{ width: '100%' }}\n\t\t\t\t>\n\t\t\t\t\t{required}\n\t\t\t\t\t{this.props.label}\n\t\t\t\t</label>\n\t\t\t);\n\t\t}\n\t\treturn inputLabel;\n\t};\n\n\trender() {\n\t\tlet isInline;\n\t\t/* eslint-disable react/prop-types */\n\t\tif (this.props.isInline) {\n\t\t\tisInline = true;\n\t\t} else if (this.props.modal !== undefined) {\n\t\t\tisInline = !this.props.modal;\n\t\t}\n\t\t/* eslint-enable react/prop-types */\n\n\t\tconst formElementControlClasses = {\n\t\t\t'slds-form-element__control': true,\n\t\t\t[`slds-input-has-icon slds-input-has-icon_${this.props.iconPosition}`]: !this.isSelected(),\n\t\t};\n\n\t\treturn (\n\t\t\t<div\n\t\t\t\tclassName={this.getClassName()}\n\t\t\t\tdata-select=\"single\"\n\t\t\t\tdata-scope=\"single\"\n\t\t\t\tonScroll={this.props.onScroll}\n\t\t\t>\n\t\t\t\t{this.props.label ? this.renderLabel() : null}\n\t\t\t\t<div className={classNames(formElementControlClasses)}>\n\t\t\t\t\t{this.isSelected() ? this.renderSelectedItem() : null}\n\t\t\t\t\t{!this.isSelected() ? this.renderInput() : null}\n\t\t\t\t</div>\n\t\t\t\t{isInline ? this.renderInlineMenu() : this.renderSeparateMenu()}\n\t\t\t</div>\n\t\t);\n\t}\n};\n\nLookup.contextTypes = {\n\ticonPath: PropTypes.string,\n};\n\nexport default Lookup;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// ### onClickOutside\n// Listen for clicks that occur somewhere in the document, outside of the element itself\nimport onClickOutside from 'react-onclickoutside';\nimport DefaultFooter from './menu/default-footer';\nimport DefaultHeader from './menu/default-header';\nimport DefaultSectionDivider from './menu/default-section-divider';\nimport Lookup from './lookup';\n\nexport default onClickOutside(Lookup, {\n\texcludeScrollbar: true,\n});\n\nexport { DefaultHeader };\nexport { DefaultSectionDivider };\nexport { DefaultFooter };\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n/* eslint-disable import/no-mutable-exports */\n\nimport componentIsDeprecated from '../../utilities/warning/component-is-deprecated';\n\nlet checkProps = function checkPropsFunction() {};\n\nif (process.env.NODE_ENV !== 'production') {\n\tcheckProps = function checkPropsFunction(COMPONENT, props) {\n\t\tcomponentIsDeprecated(\n\t\t\tCOMPONENT,\n\t\t\tprops,\n\t\t\t'Please use an read-only Combobox instead. It is more accessible and closer aligned to SLDS.'\n\t\t);\n\t};\n}\n\nexport default checkProps;\n","/* eslint-disable max-lines */\n/* eslint-disable react/no-access-state-in-setstate */\n/* eslint-disable no-param-reassign */\n/* eslint-disable prefer-destructuring */\n/* eslint-disable max-lines */\n/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n/* eslint-disable react/prefer-es6-class */\n\n// # Picklist Component [DEPRECATED]\n\n// Implements the [Picklist design pattern](https://www.lightningdesignsystem.com/components/menus/#flavor-picklist) in React.\n// Based on SLDS v2.1.0-rc.2\n\nimport React from 'react';\nimport ReactDOM from 'react-dom';\nimport createReactClass from 'create-react-class';\nimport PropTypes from 'prop-types';\nimport isFunction from 'lodash.isfunction';\n\n// ### classNames\n// [github.com/JedWatson/classnames](https://github.com/JedWatson/classnames)\n// This project uses `classnames`, \"a simple javascript utility for conditionally\n// joining classNames together.\"\nimport classNames from 'classnames';\n\n// ### shortid\n// [npmjs.com/package/shortid](https://www.npmjs.com/package/shortid)\n// shortid is a short, non-sequential, url-friendly, unique id generator\nimport shortid from 'shortid';\n\n// This component's `checkProps` which issues warnings to developers about properties\n// when in development mode (similar to React's built in development tools)\nimport checkProps from './check-props';\n\n// ### Children\nimport Dialog from '../utilities/dialog';\nimport Icon from '../icon';\nimport List from '../utilities/menu-list';\nimport ListItemLabel from '../utilities/menu-list/item-label';\nimport Pill from '../utilities/pill';\n\nimport EventUtil from '../../utilities/event';\nimport KeyBuffer from '../../utilities/key-buffer';\nimport keyboardNavigate from '../../utilities/keyboard-navigate';\nimport KEYS from '../../utilities/key-code';\nimport { MENU_PICKLIST } from '../../utilities/constants';\n\nconst noop = () => {};\n\nconst itemIsSelectable = (item) =>\n\titem.type !== 'header' && item.type !== 'divider' && !item.disabled;\n\nconst getNavigableItems = (items) => {\n\tconst navigableItems = [];\n\tnavigableItems.indexes = [];\n\tnavigableItems.keyBuffer = new KeyBuffer();\n\n\tif (Array.isArray(items)) {\n\t\titems.forEach((item, index) => {\n\t\t\tif (itemIsSelectable(item)) {\n\t\t\t\t// eslint-disable-next-line fp/no-mutating-methods\n\t\t\t\tnavigableItems.push({\n\t\t\t\t\tindex,\n\t\t\t\t\ttext: `${item.label}`.toLowerCase(),\n\t\t\t\t});\n\n\t\t\t\t// eslint-disable-next-line fp/no-mutating-methods\n\t\t\t\tnavigableItems.indexes.push(index);\n\t\t\t}\n\t\t});\n\t}\n\n\treturn navigableItems;\n};\n\nfunction getMenuItem(menuItemId, context = document) {\n\tlet menuItem;\n\n\tif (menuItemId) {\n\t\tmenuItem = context.getElementById(menuItemId);\n\t}\n\n\treturn menuItem;\n}\n\nfunction getMenu(componentRef) {\n\treturn ReactDOM.findDOMNode(componentRef).querySelector('ul.dropdown__list'); // eslint-disable-line react/no-find-dom-node\n}\n\n/**\n * ** MenuPicklist is deprecated. Please use a read-only Combobox instead.**\n *\n * The MenuPicklist component is a variant of the Lightning Design System Menu component.\n */\nconst MenuPicklist = createReactClass({\n\t// ### Display Name\n\t// Always use the canonical component name as the React display name.\n\tdisplayName: MENU_PICKLIST,\n\n\t// ### Prop Types\n\tpropTypes: {\n\t\t/**\n\t\t * Callback that passes in the DOM reference of the `<button>` DOM node within this component. Primary use is to allow `focus` to be called. You should still test if the node exists, since rendering is asynchronous. `buttonRef={(component) => { if(component) console.log(component); }}`\n\t\t */\n\t\tbuttonRef: PropTypes.func,\n\t\tclassName: PropTypes.string,\n\t\t/**\n\t\t * If true, renders checkmark icon on the selected Menu Item.\n\t\t */\n\t\tcheckmark: PropTypes.bool,\n\t\tdisabled: PropTypes.bool,\n\t\t/**\n\t\t * Message to display when the input is in an error state. When this is present, also visually highlights the component as in error.\n\t\t */\n\t\terrorText: PropTypes.string,\n\t\t/**\n\t\t * A unique ID is needed in order to support keyboard navigation, ARIA support, and connect the dropdown to the triggering button.\n\t\t */\n\t\tid: PropTypes.string,\n\t\t/**\n\t\t * Renders menu within the wrapping trigger as a sibling of the button. By default, you will have an absolutely positioned container at an elevated z-index.\n\t\t */\n\t\tisInline: PropTypes.bool,\n\t\t/**\n\t\t * Form element label\n\t\t */\n\t\tlabel: PropTypes.string,\n\t\t/**\n\t\t * **Text labels for internationalization**\n\t\t * This object is merged with the default props object on every render.\n\t\t * * `multipleOptionsSelected`: Text to be used when multiple items are selected. \"2 Options Selected\" is a good pattern to use.\n\t\t */\n\t\tlabels: PropTypes.shape({\n\t\t\tmultipleOptionsSelected: PropTypes.string,\n\t\t}),\n\t\t/**\n\t\t * Custom element that overrides the default Menu Item component.\n\t\t */\n\t\tlistItemRenderer: PropTypes.func,\n\t\t/**\n\t\t * Triggered when the trigger button is clicked to open.\n\t\t */\n\t\tonClick: PropTypes.func,\n\t\t/**\n\t\t * Triggered when an item is selected. Passes in the option object that has been selected and a data object in the format: `{ option, optionIndex }`. The first parameter may be deprecated in the future and changed to an event for consistency. Please use the data object.\n\t\t */\n\t\tonSelect: PropTypes.func,\n\t\t/**\n\t\t * Triggered when a pill is removed. Passes in the option object that has been removed and a data object in the format: `{ option, optionIndex }`. The first parameter may be deprecated in the future and changed to an event for consistency. Please use the data object.\n\t\t */\n\t\tonPillRemove: PropTypes.func,\n\t\t/**\n\t\t * Menu item data.\n\t\t */\n\t\toptions: PropTypes.array.isRequired,\n\t\t/**\n\t\t * Text present in trigger button if no items are selected.\n\t\t */\n\t\tplaceholder: PropTypes.string,\n\t\t/**\n\t\t * Add styling of a required form element.\n\t\t */\n\t\trequired: PropTypes.bool,\n\t\t/**\n\t\t * Current selected item.\n\t\t */\n\t\tvalue: PropTypes.node,\n\t\t/**\n\t\t * Initial selected item index.\n\t\t */\n\t\tinitValueIndex: PropTypes.number,\n\t},\n\n\tgetDefaultProps() {\n\t\treturn {\n\t\t\tinheritTargetWidth: true,\n\t\t\tplaceholder: 'Select an Option',\n\t\t\tcheckmark: true,\n\t\t\tlabels: {\n\t\t\t\tmultipleOptionsSelected: 'Multiple Options Selected',\n\t\t\t},\n\t\t\tmenuPosition: 'absolute',\n\t\t};\n\t},\n\n\tgetInitialState() {\n\t\treturn {\n\t\t\tfocusedIndex: this.props.initValueIndex ? this.props.initValueIndex : -1,\n\t\t\tselectedIndex: this.props.initValueIndex ? this.props.initValueIndex : -1,\n\t\t\tselectedIndices: [],\n\t\t\tcurrentPillLabel: '',\n\t\t};\n\t},\n\n\t// eslint-disable-next-line camelcase, react/sort-comp\n\tUNSAFE_componentWillMount() {\n\t\t// `checkProps` issues warnings to developers about properties (similar to React's built in development tools)\n\t\tcheckProps(MENU_PICKLIST, this.props);\n\n\t\tthis.generatedId = shortid.generate();\n\t\tif (this.props.errorText) {\n\t\t\tthis.generatedErrorId = shortid.generate();\n\t\t}\n\n\t\tif (typeof window !== 'undefined') {\n\t\t\twindow.addEventListener('click', this.closeOnClick, false);\n\t\t}\n\n\t\tif (!this.props.multiple) {\n\t\t\tthis.setState({\n\t\t\t\tselectedIndex: this.getIndexByValue(this.props),\n\t\t\t});\n\t\t} else {\n\t\t\tconst currentSelectedIndex = this.getIndexByValue(this.props);\n\t\t\tconst currentIndices = this.state.selectedIndices;\n\t\t\tif (currentSelectedIndex !== -1) {\n\t\t\t\t// eslint-disable-next-line fp/no-mutating-methods\n\t\t\t\tcurrentIndices.push(currentSelectedIndex);\n\t\t\t}\n\t\t\tthis.setState({\n\t\t\t\tselectedIndices: currentIndices,\n\t\t\t});\n\t\t}\n\n\t\tthis.navigableItems = getNavigableItems(this.props.options);\n\t},\n\n\t// eslint-disable-next-line camelcase, react/sort-comp\n\tUNSAFE_componentWillReceiveProps(nextProps) {\n\t\tif (\n\t\t\tthis.props.value !== nextProps.value ||\n\t\t\tthis.props.options.length !== nextProps.length\n\t\t) {\n\t\t\tif (this.props.multiple !== true) {\n\t\t\t\tthis.setState({\n\t\t\t\t\tselectedIndex: this.getIndexByValue(nextProps),\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\tconst currentSelectedIndex = this.getIndexByValue(nextProps);\n\t\t\t\tif (currentSelectedIndex !== -1) {\n\t\t\t\t\tconst currentIndices = this.state.selectedIndices.concat(\n\t\t\t\t\t\tcurrentSelectedIndex\n\t\t\t\t\t);\n\t\t\t\t\tthis.setState({\n\t\t\t\t\t\tselectedIndices: currentIndices,\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tif (nextProps.options) {\n\t\t\tthis.navigableItems = getNavigableItems(nextProps.options);\n\t\t}\n\t},\n\n\tcomponentWillUnmount() {\n\t\tthis.isUnmounting = true;\n\t\twindow.removeEventListener('click', this.closeOnClick, false);\n\t},\n\n\tgetListItemId(index) {\n\t\tlet menuItemId;\n\t\tif (index !== undefined) {\n\t\t\tconst menuId = isFunction(this.getId) ? this.getId() : this.props.id;\n\t\t\tmenuItemId = `${menuId}-item-${index}`;\n\t\t}\n\t\treturn menuItemId;\n\t},\n\n\tgetId() {\n\t\treturn this.props.id || this.generatedId;\n\t},\n\n\tgetErrorId() {\n\t\treturn this.props['aria-describedby'] || this.generatedErrorId;\n\t},\n\n\tgetClickEventName() {\n\t\treturn `SLDS${this.getId()}ClickEvent`;\n\t},\n\n\tgetIndexByValue({ value, options } = this.props) {\n\t\tlet foundIndex = -1;\n\n\t\tif (options && options.length) {\n\t\t\toptions.some((element, index) => {\n\t\t\t\tif (element && element.value === value) {\n\t\t\t\t\tfoundIndex = index;\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\n\t\t\t\treturn false;\n\t\t\t});\n\t\t}\n\n\t\treturn foundIndex;\n\t},\n\n\tgetValueByIndex(index) {\n\t\treturn this.props.options[index];\n\t},\n\n\tgetListItemRenderer() {\n\t\treturn this.props.listItemRenderer\n\t\t\t? this.props.listItemRenderer\n\t\t\t: ListItemLabel;\n\t},\n\n\tsetFocus() {\n\t\tif (!this.isUnmounting && this.button) {\n\t\t\tthis.button.focus();\n\t\t}\n\t},\n\n\thandleSelect(index) {\n\t\tif (!this.props.multiple) {\n\t\t\tthis.setState({ selectedIndex: index });\n\t\t\tthis.handleClose();\n\t\t\tthis.setFocus();\n\t\t} else {\n\t\t\tlet currentIndices;\n\n\t\t\tif (this.state.selectedIndices.indexOf(index) === -1) {\n\t\t\t\tcurrentIndices = this.state.selectedIndices.concat(index);\n\t\t\t} else {\n\t\t\t\tconst deselectIndex = this.state.selectedIndices.indexOf(index);\n\t\t\t\tcurrentIndices = this.state.selectedIndices;\n\t\t\t\t// eslint-disable-next-line fp/no-mutating-methods\n\t\t\t\tcurrentIndices.splice(deselectIndex, 1);\n\t\t\t}\n\n\t\t\tthis.setState({\n\t\t\t\tselectedIndices: currentIndices,\n\t\t\t});\n\t\t}\n\n\t\tif (this.props.onSelect) {\n\t\t\tconst option = this.getValueByIndex(index);\n\t\t\tthis.props.onSelect(option, { option, optionIndex: index });\n\t\t}\n\t},\n\n\thandleClose() {\n\t\tthis.setState({ isOpen: false });\n\t},\n\n\thandleClick(event) {\n\t\tif (event) {\n\t\t\tevent.nativeEvent[this.getClickEventName()] = true;\n\t\t}\n\n\t\tif (!this.state.isOpen) {\n\t\t\tthis.setState({ isOpen: true });\n\t\t\tthis.setFocus();\n\n\t\t\tif (this.props.onClick) {\n\t\t\t\tthis.props.onClick(event);\n\t\t\t}\n\t\t} else {\n\t\t\tthis.handleClose();\n\t\t}\n\t},\n\n\thandleMouseDown(event) {\n\t\tif (event) {\n\t\t\tEventUtil.trapImmediate(event);\n\t\t\tevent.nativeEvent[this.getClickEventName()] = true;\n\t\t}\n\t},\n\n\thandleKeyDown(event) {\n\t\tif (event.keyCode) {\n\t\t\tif (\n\t\t\t\tevent.keyCode === KEYS.ENTER ||\n\t\t\t\tevent.keyCode === KEYS.SPACE ||\n\t\t\t\tevent.keyCode === KEYS.DOWN ||\n\t\t\t\tevent.keyCode === KEYS.UP\n\t\t\t) {\n\t\t\t\tEventUtil.trap(event);\n\t\t\t}\n\n\t\t\tif (event.keyCode !== KEYS.TAB) {\n\t\t\t\t// The outer div with onKeyDown is overriding button onClick so we need to add it here.\n\t\t\t\tconst openMenuKeys =\n\t\t\t\t\tevent.keyCode === KEYS.ENTER ||\n\t\t\t\t\tevent.keyCode === KEYS.DOWN ||\n\t\t\t\t\tevent.keyCode === KEYS.UP;\n\t\t\t\tconst isTrigger = event.target.tagName === 'BUTTON';\n\t\t\t\tif (openMenuKeys && isTrigger && this.props.onClick) {\n\t\t\t\t\tthis.props.onClick(event);\n\t\t\t\t}\n\n\t\t\t\tthis.handleKeyboardNavigate({\n\t\t\t\t\tisOpen: this.state.isOpen || false,\n\t\t\t\t\tkeyCode: event.keyCode,\n\t\t\t\t\tonSelect: this.handleSelect,\n\t\t\t\t\ttoggleOpen: this.toggleOpen,\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\tthis.handleCancel();\n\t\t\t}\n\t\t}\n\t},\n\n\thandleCancel() {\n\t\tthis.setFocus();\n\t\tthis.handleClose();\n\t},\n\n\t// Handling open / close toggling is optional, and a default implementation is provided for handling focus, but selection _must_ be handled\n\thandleKeyboardNavigate({\n\t\tevent,\n\t\tisOpen = true,\n\t\tkeyCode,\n\t\tonFocus = this.handleKeyboardFocus,\n\t\tonSelect,\n\t\ttarget,\n\t\ttoggleOpen = noop,\n\t}) {\n\t\tkeyboardNavigate({\n\t\t\tcomponentContext: this,\n\t\t\tcurrentFocusedIndex: this.state.focusedIndex,\n\t\t\tevent,\n\t\t\tisOpen,\n\t\t\tkeyCode,\n\t\t\tnavigableItems: this.navigableItems,\n\t\t\tonFocus,\n\t\t\tonSelect,\n\t\t\ttarget,\n\t\t\ttoggleOpen,\n\t\t});\n\t},\n\t// This is a bit of an anti-pattern, but it has the upside of being a nice default. Component authors can always override to only set state and do their own focusing in their subcomponents.\n\thandleKeyboardFocus(focusedIndex) {\n\t\tif (this.state.focusedIndex !== focusedIndex) {\n\t\t\tthis.setState({ focusedIndex });\n\t\t}\n\t\tconst menu = isFunction(this.getMenu) ? this.getMenu() : getMenu(this);\n\t\tconst menuItem = isFunction(this.getMenuItem)\n\t\t\t? this.getMenuItem(focusedIndex, menu)\n\t\t\t: getMenuItem(this.getListItemId(focusedIndex));\n\t\tif (menuItem) {\n\t\t\tthis.focusMenuItem(menuItem);\n\t\t\tthis.scrollToMenuItem(menu, menuItem);\n\t\t}\n\t},\n\tfocusMenuItem(menuItem) {\n\t\tmenuItem.getElementsByTagName('a')[0].focus();\n\t},\n\tscrollToMenuItem(menu, menuItem) {\n\t\tif (menu && menuItem) {\n\t\t\tconst menuHeight = menu.offsetHeight;\n\t\t\tconst menuTop = menu.scrollTop;\n\t\t\tconst menuItemTop = menuItem.offsetTop - menu.offsetTop;\n\t\t\tif (menuItemTop < menuTop) {\n\t\t\t\tmenu.scrollTop = menuItemTop;\n\t\t\t} else {\n\t\t\t\tconst menuBottom = menuTop + menuHeight + menu.offsetTop;\n\t\t\t\tconst menuItemBottom =\n\t\t\t\t\tmenuItemTop + menuItem.offsetHeight + menu.offsetTop;\n\t\t\t\tif (menuItemBottom > menuBottom) {\n\t\t\t\t\tmenu.scrollTop = menuItemBottom - menuHeight - menu.offsetTop;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t},\n\n\tcloseOnClick(event) {\n\t\tif (!event[this.getClickEventName()] && this.state.isOpen) {\n\t\t\tthis.handleClose();\n\t\t}\n\t},\n\n\ttoggleOpen() {\n\t\tthis.setState({ isOpen: !this.state.isOpen });\n\t},\n\n\tsaveRefToList(list) {\n\t\tthis.list = list;\n\t},\n\n\tsaveRefToListItem(listItem, index) {\n\t\tif (!this.listItems) {\n\t\t\tthis.listItems = {};\n\t\t}\n\n\t\tthis.listItems[index] = listItem;\n\n\t\tif (index === this.state.focusedIndex) {\n\t\t\tthis.handleKeyboardFocus(this.state.focusedIndex);\n\t\t}\n\t},\n\n\t// Trigger opens, closes, and recieves focus on close\n\tsaveRefToTrigger(trigger) {\n\t\tthis.button = trigger;\n\t\tif (this.props.buttonRef) {\n\t\t\tthis.props.buttonRef(this.button);\n\t\t}\n\n\t\tif (!this.state.triggerRendered) {\n\t\t\tthis.setState({ triggerRendered: true });\n\t\t}\n\t},\n\n\trenderMenuContent() {\n\t\treturn (\n\t\t\t<List\n\t\t\t\tcheckmark={this.props.checkmark}\n\t\t\t\tgetListItemId={this.getListItemId}\n\t\t\t\titemRefs={this.saveRefToListItem}\n\t\t\t\titemRenderer={this.getListItemRenderer()}\n\t\t\t\tonCancel={this.handleCancel}\n\t\t\t\tonSelect={this.handleSelect}\n\t\t\t\toptions={this.props.options}\n\t\t\t\tref={this.saveRefToList}\n\t\t\t\tselectedIndex={\n\t\t\t\t\t!this.props.multiple ? this.state.selectedIndex : undefined\n\t\t\t\t}\n\t\t\t\tselectedIndices={\n\t\t\t\t\tthis.props.multiple ? this.state.selectedIndices : undefined\n\t\t\t\t}\n\t\t\t\ttriggerId={this.getId()}\n\t\t\t/>\n\t\t);\n\t},\n\n\trenderInlineMenu() {\n\t\treturn !this.props.disabled && this.state.isOpen ? (\n\t\t\t<div\n\t\t\t\tclassName=\"slds-dropdown slds-dropdown_left\"\n\t\t\t\t// inline style override\n\t\t\t\tstyle={{\n\t\t\t\t\tmaxHeight: '20em',\n\t\t\t\t\toverflowX: 'hidden',\n\t\t\t\t\tminWidth: '100%',\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\t{this.renderMenuContent()}\n\t\t\t</div>\n\t\t) : null;\n\t},\n\n\trenderDialog() {\n\t\treturn !this.props.disabled && this.state.isOpen ? (\n\t\t\t<Dialog\n\t\t\t\tcloseOnTabKey\n\t\t\t\tconstrainToScrollParent={this.props.constrainToScrollParent}\n\t\t\t\tcontentsClassName=\"slds-dropdown slds-dropdown_left\"\n\t\t\t\tcontext={this.context}\n\t\t\t\tflippable\n\t\t\t\tonClose={this.handleCancel}\n\t\t\t\tonKeyDown={this.handleKeyDown}\n\t\t\t\tonRequestTargetElement={() => this.button}\n\t\t\t\tinheritWidthOf={this.props.inheritTargetWidth ? 'target' : 'none'}\n\t\t\t\tposition={this.props.menuPosition}\n\t\t\t>\n\t\t\t\t{this.renderMenuContent()}\n\t\t\t</Dialog>\n\t\t) : null;\n\t},\n\n\trenderTrigger() {\n\t\tlet isInline;\n\t\t/* eslint-disable react/prop-types */\n\t\tif (this.props.isInline) {\n\t\t\tisInline = true;\n\t\t} else if (this.props.modal !== undefined) {\n\t\t\tisInline = !this.props.modal;\n\t\t}\n\t\t/* eslint-enable react/prop-types */\n\n\t\tlet inputValue;\n\t\tif (this.props.multiple && this.state.selectedIndices.length === 0) {\n\t\t\tinputValue = this.props.placeholder;\n\t\t} else if (this.props.multiple && this.state.selectedIndices.length === 1) {\n\t\t\tconst option = this.props.options[this.state.selectedIndices];\n\t\t\tinputValue = option.label;\n\t\t} else if (this.props.multiple && this.state.selectedIndices.length > 1) {\n\t\t\tinputValue = this.props.labels.multipleOptionsSelected;\n\t\t} else {\n\t\t\tconst option = this.props.options[this.state.selectedIndex];\n\t\t\tinputValue =\n\t\t\t\toption && option.label ? option.label : this.props.placeholder;\n\t\t}\n\n\t\t// TODO: make use of <Button>\n\t\treturn (\n\t\t\t// eslint-disable-next-line jsx-a11y/no-static-element-interactions\n\t\t\t<div\n\t\t\t\tclassName={classNames(\n\t\t\t\t\t'slds-picklist slds-dropdown-trigger slds-dropdown-trigger_click',\n\t\t\t\t\t{ 'slds-is-open': this.state.isOpen },\n\t\t\t\t\tthis.props.className\n\t\t\t\t)}\n\t\t\t\tonKeyDown={this.handleKeyDown}\n\t\t\t\tonMouseDown={this.handleMouseDown}\n\t\t\t>\n\t\t\t\t<button\n\t\t\t\t\taria-describedby={this.getErrorId()}\n\t\t\t\t\taria-expanded={this.state.isOpen}\n\t\t\t\t\taria-haspopup=\"true\"\n\t\t\t\t\tclassName=\"slds-button slds-button_neutral slds-picklist__label\"\n\t\t\t\t\tdisabled={this.props.disabled}\n\t\t\t\t\tid={this.getId()}\n\t\t\t\t\tonClick={!this.props.disabled ? this.handleClick : undefined}\n\t\t\t\t\tref={this.saveRefToTrigger}\n\t\t\t\t\ttabIndex={this.state.isOpen ? -1 : 0}\n\t\t\t\t\ttype=\"button\"\n\t\t\t\t>\n\t\t\t\t\t<span className=\"slds-truncate\">{inputValue}</span>\n\t\t\t\t\t<Icon name=\"down\" category=\"utility\" />\n\t\t\t\t</button>\n\t\t\t\t{isInline ? this.renderInlineMenu() : this.renderDialog()}\n\t\t\t</div>\n\t\t);\n\t},\n\n\trenderPills() {\n\t\tconst selectedPills = this.state.selectedIndices.map((selectedPill) => {\n\t\t\tconst pillLabel = this.getValueByIndex(selectedPill).label;\n\t\t\treturn (\n\t\t\t\t<li\n\t\t\t\t\tclassName=\"slds-listbox__item\"\n\t\t\t\t\tkey={`pill-${selectedPill}`}\n\t\t\t\t\trole=\"presentation\"\n\t\t\t\t>\n\t\t\t\t\t<Pill\n\t\t\t\t\t\teventData={{\n\t\t\t\t\t\t\titem: this.props.options[selectedPill],\n\t\t\t\t\t\t\tindex: selectedPill,\n\t\t\t\t\t\t}}\n\t\t\t\t\t\tevents={{\n\t\t\t\t\t\t\tonRequestFocus: () => {},\n\t\t\t\t\t\t\tonRequestFocusOnNextPill: () => {},\n\t\t\t\t\t\t\tonRequestFocusOnPreviousPill: () => {},\n\t\t\t\t\t\t\tonRequestRemove: (event, data) => {\n\t\t\t\t\t\t\t\tconst newData = this.state.selectedIndices;\n\t\t\t\t\t\t\t\tconst index = data.index;\n\t\t\t\t\t\t\t\t// eslint-disable-next-line fp/no-mutating-methods\n\t\t\t\t\t\t\t\tnewData.splice(this.state.selectedIndices.indexOf(index), 1);\n\t\t\t\t\t\t\t\tthis.setState({ selectedIndices: newData });\n\n\t\t\t\t\t\t\t\tif (this.props.onPillRemove) {\n\t\t\t\t\t\t\t\t\tconst option = this.getValueByIndex(index);\n\t\t\t\t\t\t\t\t\tthis.props.onPillRemove(option, {\n\t\t\t\t\t\t\t\t\t\toption,\n\t\t\t\t\t\t\t\t\t\toptionIndex: index,\n\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t}}\n\t\t\t\t\t\tlabels={{\n\t\t\t\t\t\t\tlabel: pillLabel,\n\t\t\t\t\t\t}}\n\t\t\t\t\t/>\n\t\t\t\t</li>\n\t\t\t);\n\t\t});\n\t\treturn (\n\t\t\t<div\n\t\t\t\tid=\"listbox-selections-unique-id\"\n\t\t\t\torientation=\"horizontal\"\n\t\t\t\trole=\"listbox\"\n\t\t\t>\n\t\t\t\t<ul\n\t\t\t\t\tclassName=\"slds-listbox slds-listbox_inline slds-p-top_xxx-small\"\n\t\t\t\t\trole=\"group\"\n\t\t\t\t\taria-label=\"Selected Options:\"\n\t\t\t\t>\n\t\t\t\t\t{selectedPills}\n\t\t\t\t</ul>\n\t\t\t</div>\n\t\t);\n\t},\n\n\trender() {\n\t\tconst { className, errorText, label, required } = this.props;\n\n\t\tconst requiredElem = required ? (\n\t\t\t// eslint-disable-next-line react/jsx-curly-brace-presence\n\t\t\t<span style={{ color: 'red' }}>{'* '}</span>\n\t\t) : null;\n\n\t\treturn (\n\t\t\t<div\n\t\t\t\tclassName={classNames(\n\t\t\t\t\t'slds-form-element',\n\t\t\t\t\t{\n\t\t\t\t\t\t'slds-has-error': errorText,\n\t\t\t\t\t},\n\t\t\t\t\tclassName\n\t\t\t\t)}\n\t\t\t>\n\t\t\t\t{this.props.label ? (\n\t\t\t\t\t<label\n\t\t\t\t\t\tclassName=\"slds-form-element__label\"\n\t\t\t\t\t\thtmlFor={this.getId()}\n\t\t\t\t\t\t// inline style override\n\t\t\t\t\t\tstyle={{ width: '100%' }}\n\t\t\t\t\t>\n\t\t\t\t\t\t{requiredElem}\n\t\t\t\t\t\t{label}\n\t\t\t\t\t</label>\n\t\t\t\t) : null}\n\t\t\t\t{this.renderTrigger()}\n\t\t\t\t{this.renderPills()}\n\t\t\t\t{errorText && (\n\t\t\t\t\t<div id={this.getErrorId()} className=\"slds-form-element__help\">\n\t\t\t\t\t\t{errorText}\n\t\t\t\t\t</div>\n\t\t\t\t)}\n\t\t\t</div>\n\t\t);\n\t},\n});\n\nMenuPicklist.contextTypes = {\n\ticonPath: PropTypes.string,\n};\n\nexport default MenuPicklist;\nexport { ListItemLabel };\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\nimport React from 'react';\nimport ReactDOM from 'react-dom';\n\nimport componentIsDeprecated from '../../utilities/warning/component-is-deprecated';\n\nimport Modal from './index';\n\nimport { canUseDOM } from '../../utilities/execution-environment';\n\n// This component should be deprecated and appears to have\n// been created in order to do modals in portals.\n\nconst ModalTrigger = {\n\topen: (cfg) => {\n\t\tcomponentIsDeprecated(\n\t\t\t'components/modal/trigger.jsx',\n\t\t\t'This component is deprecated and appears to have been created in order to do modals in portals which is what current Modal has done for years.'\n\t\t);\n\n\t\tlet el;\n\t\tif (canUseDOM) {\n\t\t\tel = document.createElement('span');\n\t\t\tel.setAttribute('data-slds-modal', true);\n\t\t\tdocument.body.appendChild(el);\n\t\t}\n\t\tconst comp = (\n\t\t\t<Modal heading={cfg.title} footer={cfg.footer} isOpen>\n\t\t\t\t{cfg.content}\n\t\t\t</Modal>\n\t\t);\n\n\t\tReactDOM.render(comp, el); // deepscan-disable-line REACT_ASYNC_RENDER_RETURN_VALUE\n\t},\n};\n\nexport default ModalTrigger;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n/* eslint-disable import/no-mutable-exports */\n\nimport deprecatedProperty from '../../utilities/warning/deprecated-property';\n\nlet checkProps = function checkPropsFunction() {};\n\nif (process.env.NODE_ENV !== 'production') {\n\tcheckProps = function checkPropsFunction(COMPONENT, props) {\n\t\tdeprecatedProperty(\n\t\t\tCOMPONENT,\n\t\t\tprops.variant,\n\t\t\t'variant',\n\t\t\tundefined,\n\t\t\t'Shade variant is deprecated as there is no background supported currently. Vertical Navigation now uses a default shade.'\n\t\t);\n\t};\n}\n\nexport default checkProps;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\n// ### classNames\n// [github.com/JedWatson/classnames](https://github.com/JedWatson/classnames)\n// This project uses `classnames`, 'a simple javascript utility for conditionally\n// joining classNames together.'\nimport classNames from 'classnames';\n\n// ### isFunction\nimport isFunction from 'lodash.isfunction';\n\nimport { VERTICAL_NAVIGATION_ITEM } from '../../../utilities/constants';\n\nconst handleClick = (event, props) => {\n\tif (isFunction(props.onSelect)) {\n\t\tprops.onSelect(event, {\n\t\t\titem: props.item,\n\t\t});\n\t}\n};\n\nconst Item = (props) => (\n\t<li\n\t\tclassName={classNames('slds-nav-vertical__item', {\n\t\t\t'slds-is-active': props.isSelected,\n\t\t})}\n\t>\n\t\t<a\n\t\t\tdata-id={props.item.id}\n\t\t\thref={props.item.url || 'javascript:void(0);'} // eslint-disable-line no-script-url\n\t\t\tclassName=\"slds-nav-vertical__action\"\n\t\t\taria-describedby={props.categoryId}\n\t\t\taria-current={props.isSelected ? true : undefined}\n\t\t\tonClick={(event) => {\n\t\t\t\thandleClick(event, props);\n\t\t\t}}\n\t\t>\n\t\t\t{props.item.label}\n\t\t</a>\n\t</li>\n);\n\n// ### Display Name\n// Always use the canonical component name as the React display name.\nItem.displayName = VERTICAL_NAVIGATION_ITEM;\n\n// ### Prop Types\nItem.propTypes = {\n\t/**\n\t * Item to be rendered.\n\t */\n\titem: PropTypes.shape({\n\t\tid: PropTypes.string.isRequired,\n\t\tlabel: PropTypes.string.isRequired,\n\t\turl: PropTypes.string,\n\t}),\n\t/**\n\t * Whether item is selected or not.\n\t */\n\tisSelected: PropTypes.bool,\n\t/**\n\t * ID of the category this item belongs to.\n\t */\n\tcategoryId: PropTypes.string.isRequired,\n\t/**\n\t * Function that will run whenever an item is selected.\n\t */\n\tonSelect: PropTypes.func,\n};\n\nItem.defaultProps = {\n\tisSelected: false,\n};\n\nexport default Item;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// Implements the [Vertical Navigation design pattern](https://lightningdesignsystem.com/components/vertical-navigation/) in React.\n// Based on SLDS v2.2.1\n\nimport React from 'react';\n\nimport PropTypes from 'prop-types';\n\n// ### classNames\n// [github.com/JedWatson/classnames](https://github.com/JedWatson/classnames)\n// This project uses `classnames`, 'a simple javascript utility for conditionally\n// joining classNames together.'\nimport classNames from 'classnames';\n\n// ### shortid\n// [npmjs.com/package/shortid](https://www.npmjs.com/package/shortid)\n// shortid is a short, non-sequential, url-friendly, unique id generator\nimport shortid from 'shortid';\nimport componentDoc from './component.json';\nimport checkProps from './check-props';\n\nimport { VERTICAL_NAVIGATION } from '../../utilities/constants';\n\n// Child components\nimport Item from './private/item';\n\n/**\n * Vertical Navigation represents a list of links that either take the user to another page or parts of the page the user is in.\n */\nclass VerticalNavigation extends React.Component {\n\tstatic displayName = VERTICAL_NAVIGATION;\n\n\tstatic propTypes = {\n\t\t/**\n\t\t * HTML id for component. _Tested with snapshot testing._\n\t\t */\n\t\tid: PropTypes.string,\n\t\t/**\n\t\t * CSS class names to be added to the container element. _Tested with snapshot testing._\n\t\t */\n\t\tclassName: PropTypes.oneOfType([\n\t\t\tPropTypes.array,\n\t\t\tPropTypes.object,\n\t\t\tPropTypes.string,\n\t\t]),\n\t\t/**\n\t\t * Array of categories. The required shape is: `{id: string, label: string, items: array}`. The required shape of an item is `{id: string, label: string, url: string}`. All item ids are expected to be unique. _Tested with snapshot testing._\n\t\t */\n\t\tcategories: PropTypes.array,\n\t\t/**\n\t\t * The ID of the item that is currently selected. Defaults to the ID of the first item. _Tested with Mocha framework._\n\t\t */\n\t\tselectedId: PropTypes.string,\n\t\t/**\n\t\t * Triggered when the selection changes. It receives an event and an item object in the shape: `event, {item: [object] }`. _Tested with Mocha framework._\n\t\t */\n\t\tonSelect: PropTypes.func,\n\t};\n\n\tstatic defaultProps = {};\n\n\tconstructor(props) {\n\t\tsuper(props);\n\n\t\tthis.generatedId = shortid.generate();\n\t\tcheckProps(VERTICAL_NAVIGATION, props, componentDoc);\n\t}\n\n\tgetId = () => this.props.id || this.generatedId;\n\n\tgetSelectedId = () => {\n\t\tconst { categories } = this.props;\n\t\tlet selectedId;\n\t\tif (this.props.selectedId) {\n\t\t\t// eslint-disable-next-line prefer-destructuring\n\t\t\tselectedId = this.props.selectedId;\n\t\t} else if (\n\t\t\tcategories.length > 0 &&\n\t\t\tcategories[0].items &&\n\t\t\tcategories[0].items.length > 0\n\t\t) {\n\t\t\tselectedId = categories[0].items[0].id;\n\t\t}\n\t\treturn selectedId;\n\t};\n\n\trender() {\n\t\tconst rootId = this.getId();\n\t\treturn (\n\t\t\t<nav\n\t\t\t\tid={rootId}\n\t\t\t\tclassName={classNames('slds-nav-vertical', this.props.className)}\n\t\t\t>\n\t\t\t\t{this.props.categories.map((category) => {\n\t\t\t\t\tconst categoryId = `${rootId}-${category.id}`;\n\t\t\t\t\tconst selectedId = this.getSelectedId();\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tkey={`${categoryId}-header`}\n\t\t\t\t\t\t\tclassName=\"slds-nav-vertical__section\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<h2 id={categoryId} className=\"slds-nav-vertical__title\">\n\t\t\t\t\t\t\t\t{category.label}\n\t\t\t\t\t\t\t</h2>\n\t\t\t\t\t\t\t<ul key={categoryId}>\n\t\t\t\t\t\t\t\t{category.items.map((item) => (\n\t\t\t\t\t\t\t\t\t<Item\n\t\t\t\t\t\t\t\t\t\tkey={item.id}\n\t\t\t\t\t\t\t\t\t\titem={item}\n\t\t\t\t\t\t\t\t\t\tisSelected={item.id === selectedId}\n\t\t\t\t\t\t\t\t\t\tcategoryId={categoryId}\n\t\t\t\t\t\t\t\t\t\tonSelect={this.props.onSelect}\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t\t</ul>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t);\n\t\t\t\t})}\n\t\t\t</nav>\n\t\t);\n\t}\n}\n\nexport default VerticalNavigation;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n/* eslint-disable import/no-mutable-exports */\n\nimport componentIsDeprecated from '../../utilities/warning/component-is-deprecated';\n\nlet checkProps = function checkPropsFunction() {};\n\nif (process.env.NODE_ENV !== 'production') {\n\tcheckProps = function checkPropsFunction(COMPONENT, props) {\n\t\tcomponentIsDeprecated(\n\t\t\tCOMPONENT,\n\t\t\tprops,\n\t\t\t'Please use Alert or Toast in the future. Notications is not the same component in SLDS any longer.'\n\t\t);\n\t};\n}\n\nexport default checkProps;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\nimport classNames from 'classnames';\nimport Button from '../button';\nimport Icon from '../icon';\nimport checkProps from './check-props';\n\nconst displayName = 'Notification';\nconst propTypes = {\n\ticonCategory: PropTypes.string,\n\t/**\n\t * Custom classes applied to Notification element.\n\t */\n\tclassName: PropTypes.string,\n\t/**\n\t * Message for Notification.\n\t */\n\tcontent: PropTypes.node.isRequired,\n\t/**\n\t * If true, close button appears for users to dismiss Notification.\n\t */\n\tdismissible: PropTypes.bool,\n\t/**\n\t * If duration exists, the Notification will disappear after that amount of time.\n\t */\n\tduration: PropTypes.number,\n\t/**\n\t * Name of the icon. Visit <a href='http://www.lightningdesignsystem.com/resources/icons'>Lighning Design System Icons</a> to reference icon names.\n\t */\n\ticonName: PropTypes.string,\n\tisOpen: PropTypes.bool.isRequired,\n\tonDismiss: PropTypes.func,\n\t/**\n\t * Styling for Notification background.\n\t */\n\ttexture: PropTypes.bool,\n\t/**\n\t * Styling for Notification background color. Please reference <a href='http://www.lightningdesignsystem.com/components/utilities/themes/#color'>Lighning Design System Themes > Color</a>.\n\t */\n\ttheme: PropTypes.oneOf(['success', 'warning', 'error', 'offline']),\n\tvariant: PropTypes.oneOf(['alert', 'toast']).isRequired,\n};\n\nconst defaultProps = {\n\ticonCategory: 'utility',\n\tdismissible: true,\n\tisOpen: false,\n\ttexture: false,\n};\n\n/**\n * The Notification component is the Alert and Toast variants of the Lightning Design System Notification component. For prompt notifications, use the <a href='#/modal'>Modal</a> component with <code>prompt={true}</code>.\n * The Notification opens from a state change outside of the component itself (pass this state to the <code>isOpen</code> prop).\n */\nclass Notification extends React.Component {\n\tconstructor(props) {\n\t\tsuper(props);\n\t\tthis.state = {};\n\t\tthis.timeout = null;\n\t}\n\n\tcomponentDidMount() {\n\t\tcheckProps('Notification', this.props);\n\n\t\tif (this.props.duration) {\n\t\t\tthis.timeout = setTimeout(() => {\n\t\t\t\tthis.onDismiss();\n\t\t\t}, this.props.duration);\n\t\t}\n\t}\n\n\t// eslint-disable-next-line camelcase, react/sort-comp\n\tUNSAFE_componentWillReceiveProps(nextProps) {\n\t\tif (nextProps.duration) {\n\t\t\tif (this.timeout) {\n\t\t\t\tclearTimeout(this.timeout);\n\t\t\t}\n\t\t\tif (nextProps.isOpen) {\n\t\t\t\tthis.timeout = setTimeout(() => {\n\t\t\t\t\tthis.onDismiss();\n\t\t\t\t}, this.props.duration);\n\t\t\t}\n\t\t}\n\t\tif (nextProps.isOpen !== this.props.isOpen) {\n\t\t\tthis.setState({ returnFocusTo: document.activeElement });\n\t\t}\n\t}\n\n\tcomponentDidUpdate(prevProps) {\n\t\tif (prevProps.isOpen !== this.props.isOpen) {\n\t\t\tconst btn = this.dismissBtnRef;\n\t\t\tif (btn) btn.focus();\n\t\t}\n\t}\n\n\tonDismiss = () => {\n\t\tif (this.timeout) {\n\t\t\tclearTimeout(this.timeout);\n\t\t\tthis.timeout = null;\n\t\t}\n\n\t\tif (this.props.onDismiss) this.props.onDismiss();\n\t\tif (this.state.returnFocusTo && this.state.returnFocusTo.focus) {\n\t\t\tthis.state.returnFocusTo.focus();\n\t\t}\n\t};\n\n\tgetClassName() {\n\t\treturn classNames(this.props.className, 'slds-notify', {\n\t\t\t[`slds-notify_${this.props.variant}`]: this.props.variant,\n\t\t\t[`slds-theme_${this.props.theme}`]: this.props.theme,\n\t\t\t'slds-theme_alert-texture': this.props.texture,\n\t\t});\n\t}\n\n\t/*\n\t * The parent container with role='alert' only announces its content if there is a change inside of it.\n\t * Because React renders the entire element to the DOM, we must switch out a blank div for the real content.\n\t * Bummer, I know.\n\t */\n\t// eslint-disable-next-line class-methods-use-this\n\tblankContent() {\n\t\treturn <div />;\n\t}\n\n\trenderAlertContent() {\n\t\treturn (\n\t\t\t<h2 id=\"dialogTitle\">\n\t\t\t\t{this.renderIcon()}\n\t\t\t\t{this.props.content}\n\t\t\t</h2>\n\t\t);\n\t}\n\n\trenderClose() {\n\t\tif (this.props.dismissible) {\n\t\t\tlet size = null;\n\t\t\tif (this.props.variant === 'toast') size = 'large';\n\n\t\t\t// i18n\n\t\t\treturn (\n\t\t\t\t<Button\n\t\t\t\t\tassistiveText={{ icon: 'Dismiss Notification' }}\n\t\t\t\t\ticonCategory=\"utility\"\n\t\t\t\t\ticonName=\"close\"\n\t\t\t\t\ticonSize={size}\n\t\t\t\t\tinverse\n\t\t\t\t\tclassName=\"slds-notify__close\"\n\t\t\t\t\tonClick={this.onDismiss}\n\t\t\t\t\tbuttonRef={(dismissBtn) => {\n\t\t\t\t\t\tthis.dismissBtnRef = dismissBtn;\n\t\t\t\t\t}}\n\t\t\t\t\tvariant=\"icon\"\n\t\t\t\t/>\n\t\t\t);\n\t\t}\n\n\t\treturn null;\n\t}\n\n\trenderContent() {\n\t\treturn (\n\t\t\t<div>\n\t\t\t\t<span className=\"slds-assistive-text\">{this.props.theme}</span>\n\t\t\t\t{this.renderClose()}\n\t\t\t\t{this.props.variant === 'toast' ? this.renderToastContent() : null}\n\t\t\t\t{this.props.variant === 'alert' ? this.renderAlertContent() : null}\n\t\t\t</div>\n\t\t);\n\t}\n\n\trenderIcon() {\n\t\tif (this.props.iconName) {\n\t\t\tlet classes = '';\n\n\t\t\tif (this.props.variant === 'alert') {\n\t\t\t\tclasses = 'slds-m-right_x-small';\n\t\t\t} else if (this.props.variant === 'toast') {\n\t\t\t\tclasses = 'slds-m-right_small slds-col slds-no-flex';\n\t\t\t}\n\n\t\t\treturn (\n\t\t\t\t<Icon\n\t\t\t\t\tcategory={this.props.iconCategory}\n\t\t\t\t\tclassName={classes}\n\t\t\t\t\tinverse\n\t\t\t\t\tname={this.props.iconName}\n\t\t\t\t\tsize=\"small\"\n\t\t\t\t/>\n\t\t\t);\n\t\t}\n\n\t\treturn null;\n\t}\n\n\trenderToastContent() {\n\t\treturn (\n\t\t\t<section className=\"notify__content slds-grid\">\n\t\t\t\t{this.renderIcon()}\n\t\t\t\t<div className=\"slds-col slds-align-middle\">\n\t\t\t\t\t<h2 id=\"dialogTitle\" className=\"slds-text-heading_small\">\n\t\t\t\t\t\t{this.props.content}\n\t\t\t\t\t</h2>\n\t\t\t\t</div>\n\t\t\t</section>\n\t\t);\n\t}\n\n\trender() {\n\t\t// TODO: If there are multiple notifications on a page, we must 'hide' the ones that aren't open.\n\t\t// Need to find a better way to do this than using width:0 to override slds-notify-container.\n\t\tlet styles;\n\t\tif (!this.props.isOpen) {\n\t\t\tstyles = { width: '0px' };\n\t\t} else {\n\t\t\tstyles =\n\t\t\t\tthis.props.variant === 'toast'\n\t\t\t\t\t? { width: 'auto', left: '50%', transform: 'translateX(-50%)' }\n\t\t\t\t\t: { width: '100%' };\n\t\t}\n\n\t\tconst alertStyles = !this.props.isOpen ? { display: 'none' } : null;\n\t\treturn (\n\t\t\t<div className=\"slds-notify-container\" style={styles}>\n\t\t\t\t<div\n\t\t\t\t\tclassName={this.getClassName()}\n\t\t\t\t\trole=\"alertdialog\"\n\t\t\t\t\taria-labelledby=\"dialogTitle\"\n\t\t\t\t\tstyle={alertStyles}\n\t\t\t\t>\n\t\t\t\t\t{this.props.isOpen ? this.renderContent() : this.blankContent()}\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t);\n\t}\n}\n\nNotification.displayName = displayName;\nNotification.propTypes = propTypes;\nNotification.defaultProps = defaultProps;\n\nexport default Notification;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n/* eslint-disable import/no-mutable-exports */\n\nimport deprecatedPropertyValue from '../../utilities/warning/deprecated-property-value';\nimport deprecatedProperty from '../../utilities/warning/deprecated-property';\nimport getComponentDocFn from '../../utilities/get-component-doc';\nimport renderFunctionReturnContentsLackDisplayName from '../../utilities/warning/render-function-return-contents-lack-display-name';\n\nimport { PAGE_HEADER_CONTROL } from '../../utilities/constants';\n\nlet checkProps = function checkPropsFunction() {};\n\nif (process.env.NODE_ENV !== 'production') {\n\tcheckProps = function checkPropsFunction(COMPONENT, props, jsonDoc) {\n\t\tconst createDocUrl = getComponentDocFn(jsonDoc);\n\n\t\tdeprecatedProperty(\n\t\t\tCOMPONENT,\n\t\t\tprops.iconCategory,\n\t\t\t'iconCategory',\n\t\t\t'icon',\n\t\t\tcreateDocUrl('icon')\n\t\t);\n\n\t\tdeprecatedProperty(\n\t\t\tCOMPONENT,\n\t\t\tprops.iconName,\n\t\t\t'iconName',\n\t\t\t'icon',\n\t\t\tcreateDocUrl('icon')\n\t\t);\n\n\t\tdeprecatedProperty(\n\t\t\tCOMPONENT,\n\t\t\tprops.iconPosition,\n\t\t\t'iconPosition',\n\t\t\t'icon',\n\t\t\tcreateDocUrl('icon')\n\t\t);\n\n\t\tdeprecatedProperty(\n\t\t\tCOMPONENT,\n\t\t\tprops.iconSize,\n\t\t\t'iconSize',\n\t\t\t'icon',\n\t\t\tcreateDocUrl('icon')\n\t\t);\n\n\t\tdeprecatedProperty(\n\t\t\tCOMPONENT,\n\t\t\tprops.iconVariant,\n\t\t\t'iconVariant',\n\t\t\t'icon',\n\t\t\tcreateDocUrl('icon')\n\t\t);\n\n\t\tif (props.variant === 'objectHome') {\n\t\t\tdeprecatedPropertyValue(\n\t\t\t\tCOMPONENT,\n\t\t\t\t{\n\t\t\t\t\tpropAsString: 'variant',\n\t\t\t\t\tpropValue: props.variant,\n\t\t\t\t\tdeprecatedPropValue: 'objectHome',\n\t\t\t\t\treplacementPropAsValue: 'object-home',\n\t\t\t\t},\n\t\t\t\t`Using value of variants in camelCase is deprecated. Use kebab-case ('object-home') instead. ${createDocUrl(\n\t\t\t\t\t'variant'\n\t\t\t\t)}`\n\t\t\t);\n\t\t}\n\n\t\tif (props.variant === 'recordHome') {\n\t\t\tdeprecatedPropertyValue(\n\t\t\t\tCOMPONENT,\n\t\t\t\t{\n\t\t\t\t\tpropAsString: 'variant',\n\t\t\t\t\tpropValue: props.variant,\n\t\t\t\t\tdeprecatedPropValue: 'recordHome',\n\t\t\t\t\treplacementPropAsValue: 'record-home',\n\t\t\t\t},\n\t\t\t\t`Using value of variants in camelCase is deprecated. Use kebab-case ('record-home') instead. ${createDocUrl(\n\t\t\t\t\t'variant'\n\t\t\t\t)}`\n\t\t\t);\n\t\t}\n\n\t\tif (props.variant === 'relatedList') {\n\t\t\tdeprecatedPropertyValue(\n\t\t\t\tCOMPONENT,\n\t\t\t\t{\n\t\t\t\t\tpropAsString: 'variant',\n\t\t\t\t\tpropValue: props.variant,\n\t\t\t\t\tdeprecatedPropValue: 'relatedList',\n\t\t\t\t\treplacementPropAsValue: 'related-list',\n\t\t\t\t},\n\t\t\t\t`Using value of variants in camelCase is deprecated. Use kebab-case ('related-list') instead. ${createDocUrl(\n\t\t\t\t\t'variant'\n\t\t\t\t)}`\n\t\t\t);\n\t\t}\n\n\t\tdeprecatedProperty(\n\t\t\tCOMPONENT,\n\t\t\tprops.contentRight,\n\t\t\t'contentRight',\n\t\t\t'onRenderActions',\n\t\t\tcreateDocUrl('onRenderActions')\n\t\t);\n\n\t\tdeprecatedProperty(\n\t\t\tCOMPONENT,\n\t\t\tprops.navRight,\n\t\t\t'navRight',\n\t\t\t'onRenderControls',\n\t\t\tcreateDocUrl('onRenderControls')\n\t\t);\n\n\t\tif (props.onRenderActions) {\n\t\t\trenderFunctionReturnContentsLackDisplayName(\n\t\t\t\tCOMPONENT,\n\t\t\t\t'onRenderActions',\n\t\t\t\tprops.onRenderActions(),\n\t\t\t\t[PAGE_HEADER_CONTROL],\n\t\t\t\ttrue\n\t\t\t);\n\t\t} else if (props.contentRight) {\n\t\t\trenderFunctionReturnContentsLackDisplayName(\n\t\t\t\tCOMPONENT,\n\t\t\t\t'contentRight',\n\t\t\t\tprops.contentRight,\n\t\t\t\t[PAGE_HEADER_CONTROL],\n\t\t\t\ttrue\n\t\t\t);\n\t\t}\n\n\t\tif (props.onRenderControls) {\n\t\t\trenderFunctionReturnContentsLackDisplayName(\n\t\t\t\tCOMPONENT,\n\t\t\t\t'onRenderControls',\n\t\t\t\tprops.onRenderControls(),\n\t\t\t\t[PAGE_HEADER_CONTROL],\n\t\t\t\ttrue\n\t\t\t);\n\t\t} else if (props.navRight) {\n\t\t\trenderFunctionReturnContentsLackDisplayName(\n\t\t\t\tCOMPONENT,\n\t\t\t\t'navRight',\n\t\t\t\tprops.navRight,\n\t\t\t\t[PAGE_HEADER_CONTROL],\n\t\t\t\ttrue\n\t\t\t);\n\t\t}\n\t};\n}\n\nexport default checkProps;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport classnames from 'classnames';\n\nconst displayName = 'PageHeaderInfo';\nconst propTypes = {\n\t/**\n\t * Optional class name\n\t */\n\tclassName: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\t/**\n\t * Contents of info section\n\t */\n\tcontent: PropTypes.node,\n\t/**\n\t * Variant passed down from page header\n\t */\n\tvariant: PropTypes.string,\n};\n\nconst Info = (props) => {\n\tif (!props.content) return null;\n\n\tconst classes = classnames(\n\t\t{\n\t\t\t'slds-page-header__name-meta': props.variant === 'base',\n\t\t\t'slds-page-header__meta-text':\n\t\t\t\tprops.variant === 'object-home' ||\n\t\t\t\tprops.variant === 'objectHome' ||\n\t\t\t\tprops.variant === 'related-list' ||\n\t\t\t\tprops.variant === 'relatedList',\n\t\t},\n\t\tprops.className\n\t);\n\n\tif (typeof props.content === 'string') {\n\t\treturn <p className={classes}>{props.content}</p>;\n\t}\n\n\treturn <div className={classes}>{props.content}</div>;\n};\n\nInfo.displayName = displayName;\nInfo.propTypes = propTypes;\n\nexport default Info;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\nimport Breadcrumb from '../../breadcrumb';\n\nconst displayName = 'PageHeaderLabel';\nconst propTypes = {\n\t/**\n\t * Contents of label section\n\t */\n\tcontent: PropTypes.node,\n\t/**\n\t * An array of react elements, presumably anchor <a> elements.\n\t */\n\ttrail: PropTypes.array,\n};\n\nconst Label = (props) => {\n\tif (props.trail && props.trail.length > 0) {\n\t\treturn <Breadcrumb styleContainer={props.style} trail={props.trail} />;\n\t}\n\n\tif (props.content) {\n\t\tif (typeof props.content === 'string') {\n\t\t\treturn <span>{props.content}</span>;\n\t\t}\n\n\t\treturn props.content;\n\t}\n\n\treturn null;\n};\n\nLabel.displayName = displayName;\nLabel.propTypes = propTypes;\n\nexport default Label;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\nimport React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport classnames from 'classnames';\n\nimport Label from './label';\n\nconst displayName = 'PageHeaderTitle';\nconst propTypes = {\n\t/**\n\t * Sets the vertical alignment on the title\n\t */\n\talign: PropTypes.oneOf(['top', 'middle', 'bottom']),\n\t/**\n\t * Optional class name\n\t */\n\tclassName: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\t/**\n\t * The title content\n\t */\n\tcontent: PropTypes.node,\n\t/**\n\t * Label node, for variants that require a label within the title\n\t */\n\tlabel: PropTypes.node,\n\t/**\n\t * Sets whether the title will truncate its content responsively.\n\t */\n\ttruncate: PropTypes.bool,\n};\nconst defaultProps = {\n\t// align: 'middle',\n\ttitle: 'Page Header Title',\n\ttruncate: true,\n};\n\nclass Title extends Component {\n\trender() {\n\t\tif (!this.props.content) return null;\n\n\t\tconst classes = classnames(\n\t\t\t'slds-page-header__title',\n\t\t\tthis.props.className,\n\t\t\t{\n\t\t\t\t'slds-truncate': this.props.truncate,\n\t\t\t\t[`slds-align-${this.props.align}`]: this.props.align,\n\t\t\t}\n\t\t);\n\n\t\treturn (\n\t\t\t<div className=\"slds-page-header__name-title\">\n\t\t\t\t<h1>\n\t\t\t\t\t<Label content={this.props.label} />\n\t\t\t\t\t<span\n\t\t\t\t\t\tclassName={classes}\n\t\t\t\t\t\ttitle={\n\t\t\t\t\t\t\ttypeof this.props.content === 'string'\n\t\t\t\t\t\t\t\t? this.props.content\n\t\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t\t}\n\t\t\t\t\t>\n\t\t\t\t\t\t{this.props.content}\n\t\t\t\t\t</span>\n\t\t\t\t</h1>\n\t\t\t</div>\n\t\t);\n\t}\n}\n\nTitle.displayName = displayName;\nTitle.propTypes = propTypes;\nTitle.defaultProps = defaultProps;\n\nexport default Title;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n/* eslint-disable jsx-a11y/no-noninteractive-tabindex */\n\nimport React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport classnames from 'classnames';\nimport Tooltip from '../../tooltip';\n\nconst displayName = 'PageHeaderDetailRow';\nconst propTypes = {\n\t/**\n\t * Optional class name\n\t */\n\tclassName: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\t/**\n\t * The content property can be a string or a React element\n\t */\n\tcontent: PropTypes.node,\n\t/**\n\t * Sets the 'flavor' of a block, which adds the following sizing class: `slds-size_${flavor}`\n\t */\n\tflavor: PropTypes.string,\n\t/**\n\t * Sets the label of a detail block\n\t */\n\tlabel: PropTypes.node,\n\t/**\n\t * Sets whether the fields truncate\n\t */\n\ttruncate: PropTypes.bool,\n};\n\nconst defaultProps = {\n\tcontent: '',\n\tlabel: '',\n\ttruncate: true,\n};\n\nclass DetailBlock extends Component {\n\tconstructor(props) {\n\t\tsuper(props);\n\t\tthis.state = { showTooltip: false };\n\t}\n\n\tcomponentDidMount() {\n\t\tthis.renderFieldTruncation();\n\t}\n\n\tcomponentDidUpdate(prevProps) {\n\t\tif (this.props.content !== prevProps.content) {\n\t\t\tthis.renderFieldTruncation();\n\t\t}\n\t}\n\n\trenderContent() {\n\t\tconst { content, truncate } = this.props;\n\n\t\tif (typeof content === 'string') {\n\t\t\tconst labelClasses = classnames({ 'slds-truncate': truncate });\n\n\t\t\treturn (\n\t\t\t\t<div\n\t\t\t\t\tclassName={labelClasses}\n\t\t\t\t\tref={(field) => {\n\t\t\t\t\t\tthis.fieldContentRef = field;\n\t\t\t\t\t}}\n\t\t\t\t\ttitle={content}\n\t\t\t\t>\n\t\t\t\t\t{content}\n\t\t\t\t</div>\n\t\t\t);\n\t\t}\n\n\t\treturn content;\n\t}\n\n\trenderContentWithTooltip() {\n\t\tconst { content, truncate } = this.props;\n\t\tconst labelClasses = classnames({ 'slds-truncate': truncate });\n\n\t\treturn (\n\t\t\t<Tooltip align=\"top\" title={content} triggerStyle={{ display: 'inline' }}>\n\t\t\t\t<div className={labelClasses} tabIndex=\"0\" title={content}>\n\t\t\t\t\t{content}\n\t\t\t\t</div>\n\t\t\t</Tooltip>\n\t\t);\n\t}\n\n\trenderFieldTruncation() {\n\t\tconst fieldContent = this.fieldContentRef;\n\t\tconst isTruncated =\n\t\t\tfieldContent && fieldContent.scrollWidth > fieldContent.offsetWidth;\n\n\t\tif (isTruncated) {\n\t\t\tthis.setState({ showTooltip: true });\n\t\t} else {\n\t\t\tthis.setState({ showTooltip: false });\n\t\t}\n\t}\n\n\trenderLabel() {\n\t\tconst { label, truncate } = this.props;\n\n\t\tif (typeof label === 'string') {\n\t\t\tconst labelClasses = classnames('slds-text-title', {\n\t\t\t\t'slds-truncate': truncate,\n\t\t\t});\n\n\t\t\treturn (\n\t\t\t\t<div className={labelClasses} title={label}>\n\t\t\t\t\t{label}\n\t\t\t\t</div>\n\t\t\t);\n\t\t}\n\n\t\treturn label;\n\t}\n\n\trender() {\n\t\tconst { className, flavor } = this.props;\n\n\t\tconst classes = classnames('slds-page-header__detail-block', className, {\n\t\t\t[`slds-size_${flavor}`]: flavor,\n\t\t});\n\n\t\treturn (\n\t\t\t<li className={classes}>\n\t\t\t\t{this.renderLabel()}\n\t\t\t\t{this.state.showTooltip\n\t\t\t\t\t? this.renderContentWithTooltip()\n\t\t\t\t\t: this.renderContent()}\n\t\t\t</li>\n\t\t);\n\t}\n}\n\nDetailBlock.displayName = displayName;\nDetailBlock.propTypes = propTypes;\nDetailBlock.defaultProps = defaultProps;\n\nexport default DetailBlock;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\nimport React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport classnames from 'classnames';\nimport DetailBlock from './detail-block';\n\nconst displayName = 'PageHeaderDetailRow';\nconst propTypes = {\n\tchildren: PropTypes.node,\n\t/**\n\t * Optional class name\n\t */\n\tclassName: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\t/**\n\t * An array of detail blocks\n\t */\n\tdetails: PropTypes.array,\n};\nconst defaultProps = {};\n\nclass DetailRow extends Component {\n\trenderDetails() {\n\t\tif (this.props.children !== undefined) {\n\t\t\treturn this.props.children;\n\t\t}\n\n\t\tif (this.props.details) {\n\t\t\treturn this.props.details.map((detail, i) => {\n\t\t\t\tconst key = `page-header-detail-block-${i}`;\n\n\t\t\t\treturn (\n\t\t\t\t\t<DetailBlock\n\t\t\t\t\t\tkey={key}\n\t\t\t\t\t\tflavor={detail.flavor}\n\t\t\t\t\t\tlabel={detail.label}\n\t\t\t\t\t\tcontent={detail.content}\n\t\t\t\t\t\ttruncate={detail.truncate}\n\t\t\t\t\t/>\n\t\t\t\t);\n\t\t\t});\n\t\t}\n\n\t\treturn null;\n\t}\n\n\trender() {\n\t\tconst classes = classnames(\n\t\t\t'slds-page-header__detail-row',\n\t\t\tthis.props.className\n\t\t);\n\n\t\treturn <ul className={classes}>{this.renderDetails()}</ul>;\n\t}\n}\n\nDetailRow.displayName = displayName;\nDetailRow.propTypes = propTypes;\nDetailRow.defaultProps = defaultProps;\n\nexport default DetailRow;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\nimport React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport classnames from 'classnames';\n\n// ## Constants\nimport { PAGE_HEADER_CONTROL } from '../../../utilities/constants';\n\nconst displayName = 'PageHeaderControls';\nconst propTypes = {\n\t/**\n\t * Optional class name\n\t */\n\tclassName: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\t/**\n\t * Type of this controls component ('actions' or 'controls')\n\t */\n\ttype: PropTypes.oneOf(['actions', 'controls']),\n};\nconst defaultProps = {};\n\nclass Controls extends Component {\n\trender() {\n\t\tlet controls;\n\t\tlet isUsingLegacyProp;\n\t\tlet legacyControls;\n\t\tlet vettedControls;\n\n\t\tif (this.props.type === 'actions') {\n\t\t\tif (this.props.onRenderActions) {\n\t\t\t\tcontrols = this.props.onRenderActions();\n\t\t\t} else if (this.props.contentRight) {\n\t\t\t\tcontrols = this.props.contentRight;\n\t\t\t\tisUsingLegacyProp = true;\n\t\t\t}\n\t\t} else if (this.props.onRenderControls) {\n\t\t\tcontrols = this.props.onRenderControls();\n\t\t} else if (this.props.navRight) {\n\t\t\tcontrols = this.props.navRight;\n\t\t\tisUsingLegacyProp = true;\n\t\t}\n\n\t\tif (controls) {\n\t\t\tif (controls.type && controls.type.displayName === PAGE_HEADER_CONTROL) {\n\t\t\t\tvettedControls = controls;\n\t\t\t} else if (controls.props && controls.props.children) {\n\t\t\t\tvettedControls = [];\n\n\t\t\t\tReact.Children.forEach(controls.props.children, (child) => {\n\t\t\t\t\tif (\n\t\t\t\t\t\tchild &&\n\t\t\t\t\t\tchild.type &&\n\t\t\t\t\t\tchild.type.displayName === PAGE_HEADER_CONTROL\n\t\t\t\t\t) {\n\t\t\t\t\t\t// eslint-disable-next-line fp/no-mutating-methods\n\t\t\t\t\t\tvettedControls.push(child);\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t}\n\n\t\t\t// Backward compatibility for older 'contentRight' & 'navRight' structures.\n\t\t\tif (isUsingLegacyProp && (!vettedControls || vettedControls.length < 1)) {\n\t\t\t\tif (typeof controls !== 'string') {\n\t\t\t\t\tlegacyControls = (\n\t\t\t\t\t\t<div className=\"slds-page-header__controls\" {...controls.props} />\n\t\t\t\t\t);\n\t\t\t\t} else {\n\t\t\t\t\tlegacyControls = (\n\t\t\t\t\t\t<div className=\"slds-page-header__controls\">{controls}</div>\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn (\n\t\t\t\t<div\n\t\t\t\t\tclassName={classnames(\n\t\t\t\t\t\t`slds-page-header__col-${this.props.type}`,\n\t\t\t\t\t\tthis.props.className\n\t\t\t\t\t)}\n\t\t\t\t>\n\t\t\t\t\t{legacyControls || (\n\t\t\t\t\t\t<div className=\"slds-page-header__controls\">{vettedControls}</div>\n\t\t\t\t\t)}\n\t\t\t\t</div>\n\t\t\t);\n\t\t}\n\n\t\treturn null;\n\t}\n}\n\nControls.displayName = displayName;\nControls.propTypes = propTypes;\nControls.defaultProps = defaultProps;\n\nexport default Controls;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport classnames from 'classnames';\n\nimport Controls from '../controls';\nimport Icon from '../../../icon';\nimport Info from '../info';\nimport MediaObject from '../../../media-object';\nimport Title from '../title';\n\nconst displayName = 'PageHeaderBase';\nconst propTypes = {\n\t/**\n\t * The page header icon\n\t */\n\ticon: PropTypes.node,\n\t/**\n\t * The info property can be a string or a React element\n\t */\n\tinfo: PropTypes.node,\n\t/**\n\t * Nav content which appears in the upper right hand corner.\n\t * prop 'navRight' will be deprecated soon, use 'onRenderControls' instead\n\t */\n\tonRenderControls: PropTypes.func,\n\t/**\n\t * The title property can be a string or a React element\n\t */\n\ttitle: PropTypes.node,\n\t/**\n\t * The type of component\n\t */\n\tvariant: PropTypes.string,\n};\n\nconst Base = (props) => {\n\tlet icon;\n\n\t// Backwards compatibility\n\tif (props.iconName) {\n\t\ticon = (\n\t\t\t<Icon\n\t\t\t\tcategory={props.iconCategory}\n\t\t\t\tclassName=\"slds-page-header__icon\"\n\t\t\t\tname={props.iconName}\n\t\t\t\tposition={props.iconPosition}\n\t\t\t\tsize={props.iconSize}\n\t\t\t\tvariant={props.iconVariant}\n\t\t\t/>\n\t\t);\n\t} else if (props.icon) {\n\t\tlet iconClasses = 'slds-page-header__icon';\n\n\t\tif (props.icon.props) {\n\t\t\ticonClasses = classnames(props.icon.props.className, iconClasses);\n\t\t}\n\n\t\ticon = React.cloneElement(props.icon, { className: iconClasses });\n\t}\n\n\treturn (\n\t\t<div className=\"slds-page-header__row\">\n\t\t\t<div className=\"slds-page-header__col-title\">\n\t\t\t\t<MediaObject\n\t\t\t\t\tbody={\n\t\t\t\t\t\t<React.Fragment>\n\t\t\t\t\t\t\t<div className=\"slds-page-header__name\">\n\t\t\t\t\t\t\t\t<Title content={props.title} />\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<Info content={props.info} variant={props.variant} />\n\t\t\t\t\t\t</React.Fragment>\n\t\t\t\t\t}\n\t\t\t\t\tfigure={icon}\n\t\t\t\t/>\n\t\t\t</div>\n\t\t\t<Controls\n\t\t\t\tclassName=\"slds-align-middle\"\n\t\t\t\tnavRight={props.navRight}\n\t\t\t\tonRenderControls={props.onRenderControls}\n\t\t\t\ttype=\"controls\"\n\t\t\t/>\n\t\t</div>\n\t);\n};\nBase.displayName = displayName;\nBase.propTypes = propTypes;\n\nexport default Base;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport classnames from 'classnames';\n\nimport Controls from '../controls';\nimport DetailRow from '../detail-row';\nimport Icon from '../../../icon';\nimport MediaObject from '../../../media-object';\nimport Title from '../title';\n\nconst displayName = 'PageHeaderRecordHome';\nconst propTypes = {\n\t/**\n\t * An array of detail blocks (used in \"recordHome\" variant)\n\t */\n\tdetails: PropTypes.array,\n\t/**\n\t * The label property can be a string or a React element\n\t */\n\tlabel: PropTypes.node,\n\t/**\n\t * The page header icon\n\t */\n\ticon: PropTypes.element,\n\t/**\n\t * Content to appear on the right hand side of the page header\n\t * prop 'contentRight' will be deprecated soon, use 'onRenderActions' instead\n\t */\n\tonRenderActions: PropTypes.func,\n\t/**\n\t * The title property can be a string or a React element\n\t */\n\ttitle: PropTypes.node,\n};\n\nconst RecordHome = (props) => {\n\tlet icon;\n\n\t// Backwards compatibility\n\tif (props.iconName) {\n\t\ticon = (\n\t\t\t<Icon\n\t\t\t\tcategory={props.iconCategory}\n\t\t\t\tclassName=\"slds-page-header__icon\"\n\t\t\t\tname={props.iconName}\n\t\t\t\tposition={props.iconPosition}\n\t\t\t\tsize={props.iconSize}\n\t\t\t\tvariant={props.iconVariant}\n\t\t\t/>\n\t\t);\n\t} else if (props.icon) {\n\t\tlet iconClasses = 'slds-page-header__icon';\n\n\t\tif (props.icon.props) {\n\t\t\ticonClasses = classnames(props.icon.props.className, iconClasses);\n\t\t}\n\n\t\ticon = React.cloneElement(props.icon, { className: iconClasses });\n\t}\n\n\treturn (\n\t\t<React.Fragment>\n\t\t\t<div className=\"slds-page-header__row\">\n\t\t\t\t<div className=\"slds-page-header__col-title\">\n\t\t\t\t\t<MediaObject\n\t\t\t\t\t\tbody={\n\t\t\t\t\t\t\t<React.Fragment>\n\t\t\t\t\t\t\t\t<div className=\"slds-page-header__name\">\n\t\t\t\t\t\t\t\t\t<Title content={props.title} label={props.label} />\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</React.Fragment>\n\t\t\t\t\t\t}\n\t\t\t\t\t\tfigure={icon}\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t\t<Controls\n\t\t\t\t\tcontentRight={props.contentRight}\n\t\t\t\t\tonRenderActions={props.onRenderActions}\n\t\t\t\t\ttype=\"actions\"\n\t\t\t\t/>\n\t\t\t</div>\n\t\t\t{props.details ? (\n\t\t\t\t<div className=\"slds-page-header__row slds-page-header__row_gutters\">\n\t\t\t\t\t<div className=\"slds-page-header__col-details\">\n\t\t\t\t\t\t<DetailRow details={props.details} />\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t) : null}\n\t\t</React.Fragment>\n\t);\n};\n\nRecordHome.displayName = displayName;\nRecordHome.propTypes = propTypes;\n\nexport default RecordHome;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport classnames from 'classnames';\n\nimport Controls from '../controls';\nimport Icon from '../../../icon';\nimport Info from '../info';\nimport Label from '../label';\nimport MediaObject from '../../../media-object';\nimport Title from '../title';\n\nconst displayName = 'PageHeaderObjectHome';\nconst propTypes = {\n\t/**\n\t * The label property can be a string or a React element\n\t */\n\tlabel: PropTypes.node,\n\t/**\n\t * The page header icon\n\t */\n\ticon: PropTypes.element,\n\t/**\n\t * The info property can be a string or a React element\n\t */\n\tinfo: PropTypes.node,\n\t/**\n\t * Used with the `object-home` variant. Accepts a node, typically a Dropdown component\n\t */\n\tnameSwitcherDropdown: PropTypes.node,\n\t/**\n\t * Content to appear on the right hand side of the page header\n\t * prop 'contentRight' will be deprecated soon, use 'onRenderActions' instead\n\t */\n\tonRenderActions: PropTypes.func,\n\t/**\n\t * Nav content which appears in the upper right hand corner.\n\t * prop 'navRight' will be deprecated soon, use 'onRenderControls' instead\n\t */\n\tonRenderControls: PropTypes.func,\n\t/**\n\t * The title property can be a string or a React element\n\t */\n\ttitle: PropTypes.node,\n\t/**\n\t * An array of react elements presumably anchor <a> elements.\n\t */\n\ttrail: PropTypes.array,\n\t/**\n\t * The type of component\n\t * Note: Extra options are added to make the version backward compatible\n\t */\n\tvariant: PropTypes.string,\n};\n\nconst ObjectHome = (props) => {\n\tlet icon;\n\n\t// Backwards compatibility\n\tif (props.iconName) {\n\t\ticon = (\n\t\t\t<Icon\n\t\t\t\tcategory={props.iconCategory}\n\t\t\t\tclassName=\"slds-page-header__icon\"\n\t\t\t\tname={props.iconName}\n\t\t\t\tposition={props.iconPosition}\n\t\t\t\tsize={props.iconSize}\n\t\t\t\tvariant={props.iconVariant}\n\t\t\t/>\n\t\t);\n\t} else if (props.icon) {\n\t\tlet iconClasses = 'slds-page-header__icon';\n\n\t\tif (props.icon.props) {\n\t\t\ticonClasses = classnames(props.icon.props.className, iconClasses);\n\t\t}\n\n\t\ticon = React.cloneElement(props.icon, { className: iconClasses });\n\t}\n\n\treturn (\n\t\t<React.Fragment>\n\t\t\t<div className=\"slds-page-header__row\">\n\t\t\t\t<div className=\"slds-page-header__col-title\">\n\t\t\t\t\t<MediaObject\n\t\t\t\t\t\tbody={\n\t\t\t\t\t\t\t<React.Fragment>\n\t\t\t\t\t\t\t\t{props.trail ? (\n\t\t\t\t\t\t\t\t\t<Label style={{ lineHeight: '1.3' }} trail={props.trail} />\n\t\t\t\t\t\t\t\t) : null}\n\t\t\t\t\t\t\t\t<div className=\"slds-page-header__name\">\n\t\t\t\t\t\t\t\t\t<Title\n\t\t\t\t\t\t\t\t\t\tcontent={props.title}\n\t\t\t\t\t\t\t\t\t\tlabel={!props.trail ? props.label : null}\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t{props.nameSwitcherDropdown ? (\n\t\t\t\t\t\t\t\t\t\t<div className=\"slds-page-header__name-switcher\">\n\t\t\t\t\t\t\t\t\t\t\t{props.nameSwitcherDropdown}\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t) : null}\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</React.Fragment>\n\t\t\t\t\t\t}\n\t\t\t\t\t\tfigure={icon}\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t\t<Controls\n\t\t\t\t\tclassName={classnames({\n\t\t\t\t\t\t'slds-align-middle slds-p-bottom_none':\n\t\t\t\t\t\t\t!props.onRenderControls && !props.navRight,\n\t\t\t\t\t})}\n\t\t\t\t\tcontentRight={props.contentRight}\n\t\t\t\t\tonRenderActions={props.onRenderActions}\n\t\t\t\t\ttype=\"actions\"\n\t\t\t\t/>\n\t\t\t</div>\n\t\t\t<div className=\"slds-page-header__row\">\n\t\t\t\t<div className=\"slds-page-header__col-meta\">\n\t\t\t\t\t<Info content={props.info} variant={props.variant} />\n\t\t\t\t</div>\n\t\t\t\t<Controls\n\t\t\t\t\tclassName={classnames({\n\t\t\t\t\t\t'slds-align-middle': !props.onRenderActions && !props.comntentRight,\n\t\t\t\t\t})}\n\t\t\t\t\tnavRight={props.navRight}\n\t\t\t\t\tonRenderControls={props.onRenderControls}\n\t\t\t\t\ttype=\"controls\"\n\t\t\t\t/>\n\t\t\t</div>\n\t\t</React.Fragment>\n\t);\n};\n\nObjectHome.displayName = displayName;\nObjectHome.propTypes = propTypes;\n\nexport default ObjectHome;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\nimport Controls from '../controls';\nimport Info from '../info';\nimport Label from '../label';\nimport MediaObject from '../../../media-object';\nimport Title from '../title';\n\nconst displayName = 'PageHeaderRelatedList';\nconst propTypes = {\n\t/**\n\t * The label property can be a string or a React element\n\t */\n\tlabel: PropTypes.node,\n\t/**\n\t * The info property can be a string or a React element\n\t */\n\tinfo: PropTypes.node,\n\t/**\n\t * Content to appear on the right hand side of the page header\n\t * prop 'contentRight' will be deprecated soon, use 'onRenderActions' instead\n\t */\n\tonRenderActions: PropTypes.func,\n\t/**\n\t * Nav content which appears in the upper right hand corner.\n\t * prop 'navRight' will be deprecated soon, use 'onRenderControls' instead\n\t */\n\tonRenderControls: PropTypes.func,\n\t/**\n\t * The title property can be a string or a React element\n\t */\n\ttitle: PropTypes.node,\n\t/**\n\t * An array of react elements presumably anchor <a> elements.\n\t */\n\ttrail: PropTypes.array,\n\t/**\n\t * The type of component\n\t * Note: Extra options are added to make the version backward compatible\n\t */\n\tvariant: PropTypes.string,\n};\nconst defaultProps = {};\n\nconst RelatedList = (props) => (\n\t<React.Fragment>\n\t\t<div className=\"slds-page-header__row\">\n\t\t\t<div className=\"slds-page-header__col-title\">\n\t\t\t\t<Label content={props.label} trail={props.trail} />\n\t\t\t\t<MediaObject\n\t\t\t\t\tbody={\n\t\t\t\t\t\t<div className=\"slds-page-header__name\">\n\t\t\t\t\t\t\t<Title content={props.title} label={props.label} />\n\t\t\t\t\t\t</div>\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t</div>\n\t\t\t<Controls\n\t\t\t\tcontentRight={props.contentRight}\n\t\t\t\tonRenderActions={props.onRenderActions}\n\t\t\t\ttype=\"actions\"\n\t\t\t/>\n\t\t</div>\n\t\t<div className=\"slds-page-header__row\">\n\t\t\t<div className=\"slds-page-header__col-meta\">\n\t\t\t\t<Info content={props.info} variant={props.variant} />\n\t\t\t</div>\n\t\t\t<Controls\n\t\t\t\tnavRight={props.navRight}\n\t\t\t\tonRenderControls={props.onRenderControls}\n\t\t\t\ttype=\"controls\"\n\t\t\t/>\n\t\t</div>\n\t</React.Fragment>\n);\n\nRelatedList.displayName = displayName;\nRelatedList.propTypes = propTypes;\nRelatedList.defaultProps = defaultProps;\n\nexport default RelatedList;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n/* eslint-disable jsx-a11y/no-redundant-roles */\n\n// # Page Header Component\n\n// Implements the [Page Header design pattern](https://www.lightningdesignsystem.com/components/page-headers) in React.\n// Based on SLDS v2.2.1\n\n// ## Dependencies\n\nimport React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport classnames from 'classnames';\n\n// This component's `checkProps` which issues warnings to developers about properties when in development mode (similar to React's built in development tools)\nimport checkProps from './check-props';\nimport componentDoc from './component.json';\n\nimport Info from './private/info';\nimport Title from './private/title';\nimport DetailRow from './private/detail-row';\nimport DetailBlock from './private/detail-block';\nimport Base from './private/base';\nimport RecordHome from './private/record-home';\nimport ObjectHome from './private/object-home';\nimport RelatedList from './private/related-list';\n\n// ## Constants\nimport { PAGE_HEADER } from '../../utilities/constants';\n\nconst displayName = PAGE_HEADER;\nconst propTypes = {\n\t/**\n\t * Optional class name\n\t */\n\tclassName: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\t/**\n\t * An array of detail blocks (used in \"recordHome\" variant)\n\t */\n\tdetails: PropTypes.array,\n\t/**\n\t * The label property can be a string or a React element\n\t */\n\tlabel: PropTypes.oneOfType([PropTypes.string, PropTypes.element]),\n\t/**\n\t * The page header icon. Expects an Icon component\n\t */\n\ticon: PropTypes.element,\n\t/**\n\t * The info property can be a string or a React element\n\t */\n\tinfo: PropTypes.oneOfType([PropTypes.string, PropTypes.element]),\n\t/**\n\t * Makes PageHeader joinable with DataTable by adding appropriate classes/styling\n\t */\n\tjoined: PropTypes.bool,\n\t/**\n\t * Used with the `object-home` variant. Accepts a node, typically a Dropdown component\n\t */\n\tnameSwitcherDropdown: PropTypes.node,\n\t/**\n\t * Actions content to appear on the upper right side of the page header.\n\t * Returned content must be either a SLDSPageHeaderControl component or an element/fragment with children that are all SLDSPageHeaderControl components.\n\t * Prop 'contentRight' will be deprecated soon, use 'onRenderActions' instead.\n\t */\n\tonRenderActions: PropTypes.func,\n\t/**\n\t * Controls content to appear on the lower right side of the page header.\n\t * Returned content must be either a SLDSPageHeaderControl component or an element/fragment with children that are all SLDSPageHeaderControl components.\n\t * Prop 'navRight' will be deprecated soon, use 'onRenderControls' instead.\n\t */\n\tonRenderControls: PropTypes.func,\n\t/**\n\t * The title property can be a string or a React element\n\t */\n\ttitle: PropTypes.oneOfType([PropTypes.string, PropTypes.element]),\n\t/**\n\t * An array of react elements presumably anchor <a> elements.\n\t */\n\ttrail: PropTypes.array,\n\t/**\n\t * The type of component\n\t * Note: Extra options are added to make the version backward compatible\n\t */\n\tvariant: PropTypes.oneOf([\n\t\t'base',\n\t\t'object-home',\n\t\t'record-home',\n\t\t'related-list',\n\t]),\n};\n\nconst defaultProps = {\n\tvariant: 'base',\n};\n\n/**\n * The PageHeader component adds PageHeader, PageHeader.Info, PageHeader.Title, PageHeader.DetailRow, and PageHeader.DetailBlock.\n */\nclass PageHeader extends Component {\n\tcomponentDidMount() {\n\t\tcheckProps(PAGE_HEADER, this.props, componentDoc);\n\t}\n\n\trender() {\n\t\tconst { className, variant } = this.props;\n\t\tconst classes = classnames(\n\t\t\t'slds-page-header',\n\t\t\t{\n\t\t\t\t'slds-page-header_record-home':\n\t\t\t\t\tvariant === 'record-home' || variant === 'recordHome',\n\t\t\t\t'slds-page-header_related-list':\n\t\t\t\t\tvariant === 'related-list' || variant === 'relatedList',\n\t\t\t\t'slds-page-header_joined': this.props.joined,\n\t\t\t},\n\t\t\tclassName\n\t\t);\n\t\tlet Variant;\n\n\t\tswitch (variant) {\n\t\t\tcase 'object-home':\n\t\t\tcase 'objectHome': // For backward compatibility\n\t\t\t\tVariant = ObjectHome;\n\t\t\t\tbreak;\n\t\t\tcase 'record-home':\n\t\t\tcase 'recordHome': // For backward compatibility\n\t\t\t\tVariant = RecordHome;\n\t\t\t\tbreak;\n\t\t\tcase 'related-list':\n\t\t\tcase 'relatedList': // For backward compatibility\n\t\t\t\tVariant = RelatedList;\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\tVariant = Base;\n\t\t}\n\n\t\treturn (\n\t\t\t<div className={classes}>\n\t\t\t\t<Variant {...this.props} />\n\t\t\t</div>\n\t\t);\n\t}\n}\n\nPageHeader.displayName = displayName;\nPageHeader.propTypes = propTypes;\nPageHeader.defaultProps = defaultProps;\n\nexport default PageHeader;\n\n// NOTE: these are private components and are prone to breaking changes.\n// Do not use these in your app! These exports are for legacy use only.\nexport { Info, Title, DetailRow, DetailBlock };\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport classnames from 'classnames';\n\n// ## Constants\nimport { PAGE_HEADER_CONTROL } from '../../utilities/constants';\n\nconst propTypes = {\n\t/**\n\t * Optional class name\n\t */\n\tclassName: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n};\n\n/**\n * The PageHeaderControl component is used to wrap individual controls within PageHeader 'actions' and 'controls' sections.\n */\nconst Control = (props) => (\n\t<div className={classnames('slds-page-header__control', props.className)}>\n\t\t{props.children}\n\t</div>\n);\n\nControl.displayName = PAGE_HEADER_CONTROL;\nControl.propTypes = propTypes;\n\nexport default Control;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// # Panel - Filter variant\n\n// Implements the [Panel design pattern](https://www.lightningdesignsystem.com/components/panels) in React.\n// Based on SLDS v2.2.0-rc.1\n\n// ## Dependencies\n\n// ### React\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\n// ### classNames\nimport classNames from 'classnames';\n\n// ## Constants\nimport { PANEL } from '../../utilities/constants';\n\n/**\n * A panel provides detailed contextual information or contextual filtering options. [Filter](/components/filters/) component should be used as children. Menus within a Filter Popover will need to not have \"portal mounts\" and be inline. */\nclass Panel extends React.Component {\n\trender() {\n\t\treturn (\n\t\t\t<div\n\t\t\t\tclassName={classNames(\n\t\t\t\t\t'slds-panel',\n\t\t\t\t\t'slds-grid',\n\t\t\t\t\t'slds-grid_vertical',\n\t\t\t\t\t'slds-nowrap',\n\t\t\t\t\t{\n\t\t\t\t\t\t'slds-panel_filters': this.props.variant === 'filters',\n\t\t\t\t\t},\n\t\t\t\t\tthis.props.className\n\t\t\t\t)}\n\t\t\t>\n\t\t\t\t<div className=\"slds-form_stacked slds-grow slds-scrollable_y slds-grid slds-grid_vertical\">\n\t\t\t\t\t{this.props.children}\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t);\n\t}\n}\n\nPanel.displayName = PANEL;\n\nPanel.propTypes = {\n\t/**\n\t * The contents of the panel\n\t */\n\tchildren: PropTypes.node,\n\t/**\n\t * CSS classes to be added to `slds-panel`.\n\t */\n\tclassName: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\t/**\n\t * The type of panel\n\t */\n\tvariant: PropTypes.oneOf(['filters']),\n};\n\nexport default Panel;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n/* eslint-disable import/no-mutable-exports */\n\nimport deprecatedProperty from '../../../utilities/warning/deprecated-property';\n\nlet checkProps = function checkPropsFunction() {};\n\nif (process.env.NODE_ENV !== 'production') {\n\tcheckProps = function checkPropsFunction(COMPONENT, props) {\n\t\tdeprecatedProperty(\n\t\t\tCOMPONENT,\n\t\t\tprops.assistiveTextCloseFilterPanel,\n\t\t\t'assistiveTextCloseFilterPanel',\n\t\t\t\"assistiveText['closeButton']\"\n\t\t);\n\t};\n}\n\nexport default checkProps;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// # Panel Filter Group Footer\n\n// Implements the [Panel design pattern](https://www.lightningdesignsystem.com/components/panels) in React.\n// Based on SLDS v2.2.0-rc.1\n\n// ## Dependencies\n\n// ### React\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\nimport Button from '../../../button';\n\n/**\n * A filtering panel contextual filtering options.\n */\nconst PanelFilterFooter = ({\n\taddFilterLabel,\n\tonClickAdd,\n\tonClickRemoveAll,\n\tremoveAllLabel,\n}) => (\n\t<div className=\"slds-filters__footer slds-grid slds-shrink-none\">\n\t\t<Button label={addFilterLabel} onClick={onClickAdd} variant=\"link\" />\n\t\t<Button\n\t\t\tclassName=\"slds-col_bump-left\"\n\t\t\tlabel={removeAllLabel}\n\t\t\tonClick={onClickRemoveAll}\n\t\t\tvariant=\"link\"\n\t\t/>\n\t</div>\n);\n\nPanelFilterFooter.displayName = 'SLDSPanelFilterFooter';\n\nPanelFilterFooter.propTypes = {\n\t/**\n\t * Localized description of the \"Add Filter\" button in the footer\n\t */\n\taddFilterLabel: PropTypes.node.isRequired,\n\t/**\n\t * Callback triggered when \"Add Filter\" is clicked. Recieves an `event`.\n\t */\n\tonClickAdd: PropTypes.func.isRequired,\n\t/**\n\t * Callback triggered when \"Remove All\" is clicked. Recieves an `event`.\n\t */\n\tonClickRemoveAll: PropTypes.func.isRequired,\n\t/**\n\t * Localized description of the \"Remove All\" button in the footer\n\t */\n\tremoveAllLabel: PropTypes.node.isRequired,\n};\n\nexport default PanelFilterFooter;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// # Panel Filter Group Header\n\n// Implements the [Panel design pattern](https://www.lightningdesignsystem.com/components/panels) in React.\n// Based on SLDS v2.2.0-rc.1\n\n// ## Dependencies\n\n// ### React\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\nimport Button from '../../../button';\n\n/**\n * Header for a Filter Group within a Panel.\n */\nconst PanelFilterHeader = ({\n\tassistiveText,\n\tcancelLabel,\n\theading,\n\tmodified,\n\tonRequestCancel,\n\tonRequestClose,\n\tonRequestSave,\n\tsaveLabel,\n}) =>\n\tmodified ? (\n\t\t<div className=\"slds-filters__header slds-grid slds-has-divider_bottom-space slds-grid_align-spread\">\n\t\t\t<Button label={cancelLabel} onClick={onRequestCancel} variant=\"neutral\" />\n\t\t\t<Button label={saveLabel} onClick={onRequestSave} variant=\"brand\" />\n\t\t</div>\n\t) : (\n\t\t<div className=\"slds-filters__header slds-grid slds-has-divider_bottom-space\">\n\t\t\t<h2 className=\"slds-align-middle slds-text-heading_small\">{heading}</h2>\n\t\t\t<Button\n\t\t\t\tclassName=\"slds-col_bump-left\"\n\t\t\t\tassistiveText={{ icon: assistiveText.closeButton }}\n\t\t\t\ticonCategory=\"utility\"\n\t\t\t\ticonName=\"forward\"\n\t\t\t\ticonVariant=\"bare\"\n\t\t\t\ticonSize=\"small\"\n\t\t\t\tonClick={onRequestClose}\n\t\t\t\ttitle={assistiveText.closeButton}\n\t\t\t\tvariant=\"icon\"\n\t\t\t/>\n\t\t</div>\n\t);\n\nPanelFilterHeader.displayName = 'SLDSPanelFilterHeader';\n\nPanelFilterHeader.propTypes = {\n\t/**\n\t * **Assistive text for accessibility.**\n\t * This object is merged with the default props object on every render.\n\t * * `closeButton`: Localized description of the close button for the panel for screen readers\n\t */\n\tassistiveText: PropTypes.shape({\n\t\tcloseButton: PropTypes.string,\n\t}),\n\t/**\n\t * Label for button that cancels modified filters\n\t */\n\tcancelLabel: PropTypes.string,\n\t/**\n\t * The heading of the filtering panel\n\t */\n\theading: PropTypes.node,\n\t/**\n\t * Shows confirmation heading. Please see `onRequestCancel` and `onRequestSave`.\n\t */\n\tmodified: PropTypes.bool,\n\t/**\n\t * When the panel's cancel button is clicked in order to reset filter panel to previous state.\n\t */\n\tonRequestCancel: PropTypes.func,\n\t/**\n\t * When the panel's close button is clicked. Please place Panel within another element to control position and visibility.\n\t */\n\tonRequestClose: PropTypes.func,\n\t/**\n\t * When the panel's save button is clicked in order to confirm filter panel state.\n\t */\n\tonRequestSave: PropTypes.func,\n\t/**\n\t * Label for button that saves modified filters\n\t */\n\tsaveLabel: PropTypes.string,\n};\n\nexport default PanelFilterHeader;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// # Panel Filter Group\n\n// Implements the Filter part of [Panel design pattern](https://www.lightningdesignsystem.com/components/panels) in React.\n// Based on SLDS v2.2.0-rc.1\n\n// ## Dependencies\n\n// ### React\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\nimport checkProps from './check-props';\n\nimport PanelFilteringFooter from './private/panel-footer';\nimport PanelHeader from './private/panel-header';\n\n// ## Constants\nimport { PANEL_FILTER_GROUP } from '../../../utilities/constants';\n\nconst defaultProps = {\n\taddFilterLabel: 'Add Filter',\n\tcancelLabel: 'Cancel',\n\tassistiveText: {\n\t\tcloseButton: 'Close Filter Panel',\n\t},\n\theading: 'Filter',\n\tsaveLabel: 'Save',\n\tremoveAllLabel: 'Remove All',\n};\n\n/**\n * A filtering panel contextual filtering options.\n */\nconst PanelFilterGroup = (props) => {\n\tcheckProps(PANEL_FILTER_GROUP, props);\n\tconst {\n\t\tchildren,\n\t\terrorLabel,\n\t\tfooter,\n\t\theader,\n\t\tvariant,\n\n\t\t// footer\n\t\taddFilterLabel,\n\t\tonClickAdd,\n\t\tonClickRemoveAll,\n\t\tremoveAllLabel,\n\n\t\t// header\n\t\tcancelLabel,\n\t\theading,\n\t\tmodified,\n\t\tonRequestCancel,\n\t\tonRequestClose,\n\t\tonRequestSave,\n\t\tsaveLabel,\n\t} = props;\n\tconst assistiveText = {\n\t\t...defaultProps.assistiveText,\n\t\t...props.assistiveText,\n\t};\n\tif (props.assistiveTextCloseFilterPanel) {\n\t\tassistiveText.closeButton = props.assistiveTextCloseFilterPanel;\n\t}\n\treturn (\n\t\t<div className=\"slds-filters\">\n\t\t\t{variant === 'panel' ? (\n\t\t\t\t<PanelHeader\n\t\t\t\t\tassistiveText={assistiveText}\n\t\t\t\t\tcancelLabel={cancelLabel}\n\t\t\t\t\theading={heading}\n\t\t\t\t\tmodified={modified}\n\t\t\t\t\tonRequestCancel={onRequestCancel}\n\t\t\t\t\tonRequestClose={onRequestClose}\n\t\t\t\t\tonRequestSave={onRequestSave}\n\t\t\t\t\tsaveLabel={saveLabel}\n\t\t\t\t/>\n\t\t\t) : (\n\t\t\t\theader || null\n\t\t\t)}\n\t\t\t<div className=\"slds-filters__body\">\n\t\t\t\t{errorLabel ? (\n\t\t\t\t\t<div\n\t\t\t\t\t\tclassName=\"slds-text-color_error slds-m-bottom_x-small\"\n\t\t\t\t\t\trole=\"alert\"\n\t\t\t\t\t>\n\t\t\t\t\t\t{errorLabel}\n\t\t\t\t\t</div>\n\t\t\t\t) : null}\n\t\t\t\t{children}\n\t\t\t</div>\n\t\t\t{variant === 'panel' ? (\n\t\t\t\t<PanelFilteringFooter\n\t\t\t\t\taddFilterLabel={addFilterLabel}\n\t\t\t\t\tonClickAdd={onClickAdd}\n\t\t\t\t\tonClickRemoveAll={onClickRemoveAll}\n\t\t\t\t\tremoveAllLabel={removeAllLabel}\n\t\t\t\t/>\n\t\t\t) : (\n\t\t\t\tfooter || null\n\t\t\t)}\n\t\t</div>\n\t);\n};\n\nPanelFilterGroup.displayName = PANEL_FILTER_GROUP;\n\nPanelFilterGroup.propTypes = {\n\t/**\n\t * **Assistive text for accessibility.**\n\t * This object is merged with the default props object on every render.\n\t * * `closeButton`: Localized description of the close button for the panel for screen readers\n\t */\n\tassistiveText: PropTypes.shape({\n\t\tcloseButton: PropTypes.string,\n\t}),\n\t/**\n\t * Localized description of the \"Add Filter\" button in the footer\n\t */\n\taddFilterLabel: PropTypes.node,\n\t/**\n\t * Label for button that cancels modified filters\n\t */\n\tcancelLabel: PropTypes.string,\n\t/**\n\t * Pass in `FilterList`'s of `Filters`:\n\t *\n\t * ```\n\t * <FilterGroup\n\t * variant=\"panel\"\n\t * >\n\t * <FilterList>\n\t * <Filter\n\t * property=\"Show Me\"\n\t * predicate=\"All Wackamoles\"\n\t * >\n\t * {popoverContents}\n\t * </Filter>\n\t * </FilterList>\n\t * </FilterGroup>\n\t * ```\n\t */\n\tchildren: PropTypes.node,\n\t/**\n\t * Label for the error message at the top of the panel.\n\t */\n\terrorLabel: PropTypes.string,\n\t/**\n\t * Allows for customization of footer. This will be added after any `FilterList`'s in the DOM. If using Panel Filter Group outside of a panel, do not set the variant to `panel` and header and footer will be removed.\n\t */\n\tfooter: PropTypes.node,\n\t/**\n\t * Allows for customization of header. This will be added before any `FilterList`'s in the DOM. If using Panel Filter Group outside of a panel, do not set the variant to `panel` and header and footer will be removed.\n\t */\n\theader: PropTypes.node,\n\t/**\n\t * The heading within the header of the filtering panel\n\t */\n\theading: PropTypes.oneOfType([PropTypes.node, PropTypes.string]),\n\t/**\n\t * Shows confirmation heading. Please see `onRequestCancel` and `onRequestSave`.\n\t */\n\tmodified: PropTypes.bool,\n\t/**\n\t * Callback triggered when \"Add Filter\" is clicked. Recieves an `event`.\n\t */\n\tonClickAdd: PropTypes.func,\n\t/**\n\t * Callback triggered when \"Remove All\" is clicked. Recieves an `event`.\n\t */\n\tonClickRemoveAll: PropTypes.func,\n\t/**\n\t * When the panel's cancel button is clicked in order to reset filter panel to previous state.\n\t */\n\tonRequestCancel: PropTypes.func,\n\t/**\n\t * When the panel's close button is clicked. Please place Panel within another element to control position and visibility.\n\t */\n\tonRequestClose: PropTypes.func,\n\t/**\n\t * When the panel's save button is clicked in order to confirm filter panel state.\n\t */\n\tonRequestSave: PropTypes.func,\n\t/**\n\t * Localized description of the \"Remove All\" button in the footer\n\t */\n\tremoveAllLabel: PropTypes.node,\n\t/**\n\t * Label for button that saves modified filters\n\t */\n\tsaveLabel: PropTypes.string,\n\t/**\n\t * Adds in default Panel header and footer\n\t */\n\tvariant: PropTypes.oneOf(['panel']),\n};\n\nPanelFilterGroup.defaultProps = defaultProps;\n\nexport default PanelFilterGroup;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// # Filter List\n\n// Implements the [Panel design pattern](https://www.lightningdesignsystem.com/components/panels) in React.\n// Based on SLDS v2.2.0-rc.1\n\n// ## Dependencies\n\n// ### React\nimport React from 'react';\n\nimport PropTypes from 'prop-types';\n\n// ### shortid\n// [npmjs.com/package/shortid](https://www.npmjs.com/package/shortid)\n// shortid is a short, non-sequential, url-friendly, unique id generator\nimport shortid from 'shortid';\n\n// ## Constants\nimport { PANEL_FILTER_LIST } from '../../../utilities/constants';\n\n/**\n * A list of Filters. This is a higher order component for filters that decorates the filter to work within a Filtering Panel. It also adds support for a Filter error label.\n */\nclass PanelFilterList extends React.Component {\n\tstatic displayName = PANEL_FILTER_LIST;\n\n\tstatic propTypes() {\n\t\treturn {\n\t\t\t/**\n\t\t\t * Pass in `Filter` components\n\t\t\t */\n\t\t\tchildren: PropTypes.node,\n\t\t};\n\t}\n\n\tconstructor(props) {\n\t\tsuper(props);\n\n\t\tthis.generatedId = shortid.generate();\n\t}\n\n\trender() {\n\t\tconst children = React.Children.map(this.props.children, (child, index) => {\n\t\t\tconst id =\n\t\t\t\tchild && child.props.id\n\t\t\t\t\t? child.props.id\n\t\t\t\t\t: `${this.generatedId}-${index}`;\n\n\t\t\tlet clonedChild;\n\n\t\t\tif (child && child.props.errorLabel) {\n\t\t\t\tclonedChild = React.cloneElement(child, {\n\t\t\t\t\tisError: true,\n\t\t\t\t});\n\t\t\t}\n\n\t\t\treturn child ? (\n\t\t\t\t<li className=\"slds-item slds-hint-parent\">\n\t\t\t\t\t{clonedChild || child}\n\t\t\t\t\t{child.props.errorLabel ? (\n\t\t\t\t\t\t<p\n\t\t\t\t\t\t\tid={`${id}-error`}\n\t\t\t\t\t\t\tclassName=\"slds-text-color_error slds-m-top_xx-small\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{child.props.errorLabel}\n\t\t\t\t\t\t</p>\n\t\t\t\t\t) : null}\n\t\t\t\t</li>\n\t\t\t) : null;\n\t\t});\n\n\t\treturn (\n\t\t\t<ol className=\"slds-list_vertical slds-list_vertical-space\">\n\t\t\t\t{children}\n\t\t\t</ol>\n\t\t);\n\t}\n}\n\nexport default PanelFilterList;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// # FIlter List Heading\n\n// Implements the [Panel design pattern](https://www.lightningdesignsystem.com/components/panels) in React.\n// Based on SLDS v2.2.0-rc.1\n\n// ## Dependencies\n\n// ### React\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\n// ### classNames\nimport classNames from 'classnames';\n\nimport Icon from '../../icon';\n\n// ## Constants\nimport { PANEL_FILTER_LIST_HEADING } from '../../../utilities/constants';\n\n/**\n * A filtering panel contextual filtering options.\n */\nconst PanelFilterListHeading = ({ heading, isLocked, lockedHeading }) => (\n\t<h3\n\t\tclassName={classNames('slds-text-body_small', 'slds-m-vertical_x-small', {\n\t\t\t'slds-grid': isLocked,\n\t\t})}\n\t>\n\t\t{isLocked ? lockedHeading : heading}\n\t\t{isLocked ? (\n\t\t\t<Icon\n\t\t\t\tclassName=\"slds-m-left_x-small\"\n\t\t\t\tassistiveText={{ label: 'locked' }}\n\t\t\t\tcategory=\"utility\"\n\t\t\t\tname=\"lock\"\n\t\t\t\tsize=\"x-small\"\n\t\t\t/>\n\t\t) : null}\n\t</h3>\n);\n\nPanelFilterListHeading.displayName = PANEL_FILTER_LIST_HEADING;\n\nPanelFilterListHeading.propTypes = {\n\t/**\n\t * Heading for following PanelFilterList\n\t */\n\theading: PropTypes.oneOfType([PropTypes.node, PropTypes.string]),\n\t/**\n\t * Displayed a heading for a locked list of filters\n\t */\n\tisLocked: PropTypes.bool,\n\t/**\n\t * Heading for a group of filters that are locked\n\t */\n\tlockedHeading: PropTypes.string,\n};\n\nPanelFilterListHeading.defaultProps = {\n\theading: 'Matching all these filters',\n\tlockedHeading: 'Locked filters',\n};\n\nexport default PanelFilterListHeading;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// # Pill Container Component\n// Implements the [Listbox of Pill Options design pattern](https://www.lightningdesignsystem.com/components/pills/?variant=listbox-of-pill-options) in React.\n\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport shortid from 'shortid';\nimport SelectedListBox from './private/selected-listbox';\n\nimport { PILL_CONTAINER } from '../../utilities/constants';\n\nconst propTypes = {\n\t/**\n\t * **Assistive text for accessibility**\n\t * * `listboxLabel`: This is a label for the listbox. The default is `Selected Options:`.\n\t * * `removePill`: Used to remove a selected item (pill). Focus is on the pill. This is not a button. The default is `Press delete or backspace to remove`.\n\t */\n\tassistiveText: PropTypes.shape({\n\t\tlistboxLabel: PropTypes.string,\n\t\tremovePill: PropTypes.string,\n\t}),\n\t/**\n\t * CSS classes to be added to the pill container\n\t */\n\tclassName: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\t/**\n\t * HTML id for pill container\n\t */\n\tid: PropTypes.string,\n\t/**\n\t * **Text labels for internationalization**\n\t * * `removePillTitle`: Title on `X` icon\n\t */\n\tlabels: PropTypes.shape({\n\t\tremovePillTitle: PropTypes.string,\n\t}),\n\t/**\n\t * **Array of pill objects.**\n\t * Each object can contain:\n\t * * `avatar`: An `Avatar` component.\n\t * * `error`: Adds error styling\n\t * * `icon`: An `Icon` component.\n\t * * `id`: A unique identifier string.\n\t * * `label`: A primary string of text.\n\t * * `title`: Text that appears on mouse hover. Most helpful for long labels.\n\t * ```\n\t * {\n\t * \tid: '2',\n\t * \tlabel: 'Salesforce.com, Inc.',\n\t * \ttitle: 'Salesforce.com, Inc. - Want to work here?',\n\t * },\n\t * ```\n\t * `options` with array length of zero will remove this component from the DOM.\n\t */\n\toptions: PropTypes.arrayOf(\n\t\tPropTypes.shape({\n\t\t\tavatar: PropTypes.oneOfType([\n\t\t\t\tPropTypes.node,\n\t\t\t\tPropTypes.shape({\n\t\t\t\t\timgSrc: PropTypes.string,\n\t\t\t\t\ttitle: PropTypes.string,\n\t\t\t\t\tvariant: PropTypes.string,\n\t\t\t\t}),\n\t\t\t]),\n\t\t\tbare: PropTypes.bool,\n\t\t\terror: PropTypes.bool,\n\t\t\ticon: PropTypes.oneOfType([\n\t\t\t\tPropTypes.node,\n\t\t\t\tPropTypes.shape({\n\t\t\t\t\tcategory: PropTypes.string,\n\t\t\t\t\tname: PropTypes.string,\n\t\t\t\t}),\n\t\t\t]),\n\t\t\tid: PropTypes.string,\n\t\t\tlabel: PropTypes.oneOfType([PropTypes.node, PropTypes.string]),\n\t\t\ttitle: PropTypes.string,\n\t\t})\n\t),\n\t/**\n\t * Function called when a pill is clicked\n\t */\n\tonClickPill: PropTypes.func,\n\t/**\n\t * Function called when a pill is requested to be 'removed' via the delete key or 'X' icon click.\n\t */\n\tonRequestRemovePill: PropTypes.func,\n\t/**\n\t * Custom style object to be passed to the pill container\n\t */\n\tstyle: PropTypes.object,\n\t/**\n\t * Specifies the pill styling at the container level. `bare` removes border styling from all pills.\n\t */\n\tvariant: PropTypes.oneOf(['base', 'bare']),\n};\n\n/**\n * A `PillContainer` is a container that holds one or more pills. Use it for a list of pills in a container that resembles an `input` form field. It is not intended for navigation.\n */\nclass PillContainer extends React.Component {\n\tconstructor(props) {\n\t\tsuper(props);\n\n\t\tthis.state = {\n\t\t\t// seeding initial state with this.props.options[0]\n\t\t\tactiveSelectedOption:\n\t\t\t\t(this.props.options && this.props.options[0]) || undefined,\n\t\t\tactiveSelectedOptionIndex: 0,\n\t\t\tlistboxHasFocus: false,\n\t\t};\n\n\t\tthis.activeSelectedOptionRef = null;\n\t\tthis.generatedId = shortid.generate();\n\t\tthis.preserveFocus = false;\n\t}\n\n\tcomponentDidUpdate() {\n\t\tif (\n\t\t\t(this.props.options &&\n\t\t\t\tthis.props.options.length > 0 &&\n\t\t\t\t!this.props.options[this.state.activeSelectedOptionIndex]) ||\n\t\t\tthis.preserveFocus\n\t\t) {\n\t\t\tthis.resetActiveSelectedOption();\n\t\t\tthis.preserveFocus = false;\n\t\t}\n\t}\n\n\tgetId = () => this.props.id || this.generatedId;\n\n\tgetNewActiveOptionIndex = ({ activeOptionIndex, offset, options }) => {\n\t\tconst nextIndex = activeOptionIndex + offset;\n\t\treturn options.length > nextIndex && nextIndex >= 0\n\t\t\t? nextIndex\n\t\t\t: activeOptionIndex;\n\t};\n\n\thandleBlurPill = () => {\n\t\tif (!this.preserveFocus) {\n\t\t\tthis.setState({ listboxHasFocus: false });\n\t\t} else {\n\t\t\tthis.preserveFocus = false;\n\t\t}\n\t};\n\n\thandleClickPill = (event, data) => {\n\t\tif (this.props.onClickPill) {\n\t\t\tthis.props.onClickPill(event, {\n\t\t\t\tindex: data.index,\n\t\t\t\toption: data.option,\n\t\t\t});\n\t\t}\n\t};\n\n\thandlePillFocus = (event, data) => {\n\t\tif (!this.state.listboxHasFocus) {\n\t\t\tthis.setState({\n\t\t\t\tactiveSelectedOption: data.option,\n\t\t\t\tactiveSelectedOptionIndex: data.index,\n\t\t\t\tlistboxHasFocus: true,\n\t\t\t});\n\t\t}\n\t};\n\n\thandleNavigatePillContainer = (event, { direction }) => {\n\t\tconst offsets = { next: 1, previous: -1 };\n\t\tthis.setState((prevState) => {\n\t\t\tconst { options } = this.props;\n\t\t\tconst isLastOptionAndRightIsPressed =\n\t\t\t\tprevState.activeSelectedOptionIndex + 1 === options.length &&\n\t\t\t\tdirection === 'next';\n\t\t\tconst isFirstOptionAndLeftIsPressed =\n\t\t\t\tprevState.activeSelectedOptionIndex === 0 && direction === 'previous';\n\t\t\tlet newState;\n\n\t\t\tif (isLastOptionAndRightIsPressed) {\n\t\t\t\tnewState = {\n\t\t\t\t\tactiveSelectedOption: options[0],\n\t\t\t\t\tactiveSelectedOptionIndex: 0,\n\t\t\t\t\tlistboxHasFocus: true,\n\t\t\t\t};\n\t\t\t} else if (isFirstOptionAndLeftIsPressed) {\n\t\t\t\tnewState = {\n\t\t\t\t\tactiveSelectedOption: options[options.length - 1],\n\t\t\t\t\tactiveSelectedOptionIndex: options.length - 1,\n\t\t\t\t\tlistboxHasFocus: true,\n\t\t\t\t};\n\t\t\t} else {\n\t\t\t\tconst newIndex = this.getNewActiveOptionIndex({\n\t\t\t\t\tactiveOptionIndex: prevState.activeSelectedOptionIndex,\n\t\t\t\t\toffset: offsets[direction],\n\t\t\t\t\toptions,\n\t\t\t\t});\n\t\t\t\tnewState = {\n\t\t\t\t\tactiveSelectedOption: options[newIndex],\n\t\t\t\t\tactiveSelectedOptionIndex: newIndex,\n\t\t\t\t\tlistboxHasFocus: true,\n\t\t\t\t};\n\t\t\t}\n\n\t\t\tthis.preserveFocus = true;\n\t\t\treturn newState;\n\t\t});\n\t};\n\n\thandleRequestFocusPillContainer = (event, { ref }) => {\n\t\tif (ref) {\n\t\t\tthis.activeSelectedOptionRef = ref;\n\t\t\tthis.activeSelectedOptionRef.focus();\n\t\t}\n\t};\n\n\thandleRequestRemove = (event, data) => {\n\t\tif (this.props.onRequestRemovePill) {\n\t\t\tthis.preserveFocus = true;\n\t\t\tthis.props.onRequestRemovePill(event, {\n\t\t\t\tindex: data.index,\n\t\t\t\toption: data.option,\n\t\t\t});\n\t\t}\n\t};\n\n\tresetActiveSelectedOption = () => {\n\t\tconst { options } = this.props;\n\t\tlet { activeSelectedOptionIndex } = this.state;\n\n\t\tif (!options[activeSelectedOptionIndex]) {\n\t\t\tif (options.length > 0 && activeSelectedOptionIndex >= options.length) {\n\t\t\t\tactiveSelectedOptionIndex = options.length - 1;\n\t\t\t} else {\n\t\t\t\tactiveSelectedOptionIndex = 0;\n\t\t\t}\n\t\t}\n\n\t\tthis.setState({\n\t\t\tactiveSelectedOption: options[activeSelectedOptionIndex] || undefined,\n\t\t\tactiveSelectedOptionIndex,\n\t\t\tlistboxHasFocus: !!options[activeSelectedOptionIndex],\n\t\t});\n\t};\n\n\trender() {\n\t\treturn this.props.options.length > 0 ? (\n\t\t\t<SelectedListBox\n\t\t\t\tactiveOption={this.state.activeSelectedOption}\n\t\t\t\tactiveOptionIndex={this.state.activeSelectedOptionIndex}\n\t\t\t\tassistiveText={{\n\t\t\t\t\tremovePill: this.props.assistiveText.removePill,\n\t\t\t\t\tselectedListboxLabel: this.props.assistiveText.listboxLabel,\n\t\t\t\t}}\n\t\t\t\tclassName={this.props.className}\n\t\t\t\tevents={{\n\t\t\t\t\tonBlurPill: this.handleBlurPill,\n\t\t\t\t\tonClickPill: this.handleClickPill,\n\t\t\t\t\tonPillFocus: this.handlePillFocus,\n\t\t\t\t\tonRequestFocus: this.handleRequestFocusPillContainer,\n\t\t\t\t\tonRequestFocusOnNextPill: this.handleNavigatePillContainer,\n\t\t\t\t\tonRequestFocusOnPreviousPill: this.handleNavigatePillContainer,\n\t\t\t\t\tonRequestRemove: this.handleRequestRemove,\n\t\t\t\t}}\n\t\t\t\tid={`${this.getId()}-listbox-of-pill-options`}\n\t\t\t\tisBare={this.props.variant === 'bare'}\n\t\t\t\tisPillContainer\n\t\t\t\tlabels={this.props.labels}\n\t\t\t\tlistboxHasFocus={this.state.listboxHasFocus}\n\t\t\t\trenderAtSelectionLength={0}\n\t\t\t\tselection={this.props.options}\n\t\t\t\tstyle={this.props.style}\n\t\t\t/>\n\t\t) : null;\n\t}\n}\n\nPillContainer.displayName = PILL_CONTAINER;\n\nPillContainer.defaultProps = {\n\tassistiveText: {\n\t\tlistboxLabel: 'Selected Options:',\n\t\tremovePill: 'Press delete or backspace to remove',\n\t},\n\tlabels: {\n\t\tremovePillTitle: 'Remove',\n\t},\n};\n\nPillContainer.propTypes = propTypes;\n\nexport default PillContainer;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// Implements the [Progress Bar design pattern](https://lightningdesignsystem.com/components/progress-ring/) in React.\n// Based on SLDS v2.4.5\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport assign from 'lodash.assign';\n\n// ### shortid\n// [npmjs.com/package/shortid](https://www.npmjs.com/package/shortid)\n// shortid is a short, non-sequential, url-friendly, unique id generator\nimport shortid from 'shortid';\nimport { PROGRESS_BAR } from '../../utilities/constants';\n\nconst propTypes = {\n\t/**\n\t * **Assistive text for accessibility**\n\t * This object is merged with the default props object on every render.\n\t * * `progress`: This is a visually hidden label for the percent of progress.\n\t * _Tested with snapshot testing._\n\t */\n\tassistiveText: PropTypes.shape({ progress: PropTypes.string }),\n\t/**\n\t * HTML id for component.\n\t */\n\tid: PropTypes.string,\n\t/**\n\t * CSS classes to be added to tag with `.slds-progress-bar`. Uses `classNames` [API](https://github.com/JedWatson/classnames).\n\t */\n\tclassName: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\t/**\n\t * Label for the progress bar\n\t */\n\tlabels: PropTypes.shape({\n\t\tlabel: PropTypes.oneOfType([PropTypes.string, PropTypes.node]),\n\t\tcomplete: PropTypes.oneOfType([PropTypes.string, PropTypes.node]),\n\t}),\n\t/**\n\t * Set radius of progress bar\n\t */\n\tradius: PropTypes.oneOf(['circular']),\n\t/**\n\t * Set fill of progress bar\n\t */\n\tcolor: PropTypes.oneOf(['success']),\n\t/**\n\t * Set progress bar thickness\n\t */\n\tthickness: PropTypes.oneOf(['x-small', 'small', 'medium', 'large']),\n\t/**\n\t * Percentage of progress completion, ranging [0, 100].\n\t */\n\tvalue: PropTypes.number.isRequired,\n\t/**\n\t * Orientation of the progress bar to be used\n\t */\n\torientation: PropTypes.oneOf(['horizontal', 'vertical']),\n\t/**\n\t * Custom styles to be passed to the component\n\t */\n\tstyle: PropTypes.object,\n};\n\nconst defaultProps = {\n\tassistiveText: {\n\t\tprogress: 'Progress',\n\t},\n\tlabels: {\n\t\tcomplete: 'Complete',\n\t},\n\torientation: 'horizontal',\n\tstyle: {\n\t\theight: '100%',\n\t},\n};\n\n/**\n * A progress bar component communicates to the user the progress of a particular process\n */\nclass ProgressBar extends React.Component {\n\tconstructor(props) {\n\t\tsuper(props);\n\n\t\tthis.generatedId = shortid.generate();\n\t}\n\n\t/**\n\t * ID as a string\n\t * @returns {string} id\n\t */\n\tgetId() {\n\t\treturn this.props.id || this.generatedId;\n\t}\n\n\t/**\n\t * Enables Descriptive Progress Bar if label is provided\n\t * @returns {string} description\n\t */\n\tgetDescription({ labels }) {\n\t\tif (labels.label) {\n\t\t\treturn (\n\t\t\t\t<div\n\t\t\t\t\tclassName=\"slds-grid slds-grid_align-spread slds-p-bottom_x-small\"\n\t\t\t\t\tid={`progress-bar-label-${this.getId()}`}\n\t\t\t\t>\n\t\t\t\t\t<span>{labels.label}</span>\n\t\t\t\t\t<span>\n\t\t\t\t\t\t<strong>\n\t\t\t\t\t\t\t{this.props.value}\n\t\t\t\t\t\t\t{'% '}\n\t\t\t\t\t\t\t{labels.complete}\n\t\t\t\t\t\t</strong>\n\t\t\t\t\t</span>\n\t\t\t\t</div>\n\t\t\t);\n\t\t}\n\t\treturn '';\n\t}\n\n\trender() {\n\t\tconst labels = assign({}, defaultProps.labels, this.props.labels);\n\t\tconst assistiveText = assign(\n\t\t\t{},\n\t\t\tdefaultProps.assistiveText,\n\t\t\tthis.props.assistiveText\n\t\t);\n\t\tconst style = assign({}, defaultProps.style, this.props.style);\n\t\treturn (\n\t\t\t<div id={this.getId()} style={style}>\n\t\t\t\t{this.props.orientation === 'horizontal' &&\n\t\t\t\t\tthis.getDescription({ labels })}\n\t\t\t\t<div\n\t\t\t\t\taria-labelledby={\n\t\t\t\t\t\tthis.props.orientation === 'horizontal' && labels.label\n\t\t\t\t\t\t\t? `progress-bar-label-${this.getId()}`\n\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t}\n\t\t\t\t\taria-valuemin=\"0\"\n\t\t\t\t\taria-valuemax=\"100\"\n\t\t\t\t\taria-valuenow={this.props.value}\n\t\t\t\t\taria-valuetext={`${assistiveText.progress}: ${this.props.value}%`}\n\t\t\t\t\trole=\"progressbar\"\n\t\t\t\t\tclassName={classNames(\n\t\t\t\t\t\t'slds-progress-bar',\n\t\t\t\t\t\tthis.props.radius ? `slds-progress-bar_${this.props.radius}` : null,\n\t\t\t\t\t\tthis.props.thickness\n\t\t\t\t\t\t\t? `slds-progress-bar_${this.props.thickness}`\n\t\t\t\t\t\t\t: null,\n\t\t\t\t\t\tthis.props.className,\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t'slds-progress-bar_vertical':\n\t\t\t\t\t\t\t\tthis.props.orientation === 'vertical',\n\t\t\t\t\t\t}\n\t\t\t\t\t)}\n\t\t\t\t>\n\t\t\t\t\t<span\n\t\t\t\t\t\tclassName={classNames(\n\t\t\t\t\t\t\t`slds-progress-bar__value`,\n\t\t\t\t\t\t\tthis.props.color\n\t\t\t\t\t\t\t\t? `slds-progress-bar__value_${this.props.color}`\n\t\t\t\t\t\t\t\t: null\n\t\t\t\t\t\t)}\n\t\t\t\t\t\tstyle={\n\t\t\t\t\t\t\tthis.props.orientation === 'vertical'\n\t\t\t\t\t\t\t\t? {\n\t\t\t\t\t\t\t\t\t\theight: `${this.props.value}%`,\n\t\t\t\t\t\t\t\t }\n\t\t\t\t\t\t\t\t: {\n\t\t\t\t\t\t\t\t\t\twidth: `${this.props.value}%`,\n\t\t\t\t\t\t\t\t }\n\t\t\t\t\t\t}\n\t\t\t\t\t>\n\t\t\t\t\t\t<span className=\"slds-assistive-text\">\n\t\t\t\t\t\t\t{`${assistiveText.progress}: `}\n\t\t\t\t\t\t\t{`${this.props.value}%`}\n\t\t\t\t\t\t</span>\n\t\t\t\t\t</span>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t);\n\t}\n}\n\nProgressBar.displayName = PROGRESS_BAR;\nProgressBar.propTypes = propTypes;\nProgressBar.defaultProps = defaultProps;\n\nexport default ProgressBar;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\n// ### classNames\n// [github.com/JedWatson/classnames](https://github.com/JedWatson/classnames)\n// This project uses `classnames`, 'a simple javascript utility for conditionally\n// joining classNames together.'\nimport classNames from 'classnames';\n\n// Child component\nimport Tooltip from '../../tooltip';\nimport { PROGRESS_INDICATOR_STEP } from '../../../utilities/constants';\nimport ButtonIcon from '../../icon/button-icon';\n\n// ### Display Name\nconst displayName = PROGRESS_INDICATOR_STEP;\n\n// ### Prop Types\nconst propTypes = {\n\t/**\n\t * **Assistive text for accessibility**\n\t * This object is merged with the default props object on every render.\n\t * * `completedStep`: Label for a completed step. The default is `Completed Step`\n\t * * `disabledStep`: Label for disabled step. The default is `Disabled Step`\n\t * * `errorStep`: Label for a step with an error. The default is `Error Step`\n\t * * `percentage`: Label for Progress Bar. The default is `Progress: [this.props.value]%`. You will need to calculate the percentage yourself if changing this string.\n\t * * `step`: Label for a step. It will be typically followed by the number of the step such as \"Step 1\".\n\t */\n\tassistiveText: PropTypes.shape({\n\t\tcompletedStep: PropTypes.string,\n\t\tdisabledStep: PropTypes.string,\n\t\tpercentage: PropTypes.string,\n\t\tstep: PropTypes.string,\n\t}),\n\t/**\n\t * Id for Steps, ranging in [0, steps.length).\n\t */\n\tid: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n\t/**\n\t * Index of step. Used for id's if no step ID exists\n\t */\n\tindex: PropTypes.number,\n\t/**\n\t * Determines if the step has been completed\n\t */\n\n\tisCompleted: PropTypes.bool,\n\t/**\n\t * Determines if the step has been disabled\n\t */\n\tisDisabled: PropTypes.bool,\n\t/**\n\t * Determines if the step contains an error\n\t */\n\tisError: PropTypes.bool,\n\t/**\n\t * Determines if the step is currently selected (active)\n\t */\n\tisSelected: PropTypes.bool,\n\t/**\n\t * Label of tooltip attached to the step if applicable.\n\t */\n\tlabel: PropTypes.node,\n\t/**\n\t * Triggered when click on individual steps. By default, it receives an event and returns all info passed to that step.\n\t * users are able to re-define it by passing a function as a prop\n\t */\n\tonClick: PropTypes.func,\n\t/**\n\t * Triggered when focus on individual steps. By default, it receives an event and returns all info passed to that step.\n\t * users are able to re-define it by passing a function as a prop\n\t */\n\tonFocus: PropTypes.func,\n\t/**\n\t * Step object. This is passed into event callbacks.\n\t */\n\tstep: PropTypes.object,\n\t/**\n\t * Determines if the tooltip attached to step is always open.\n\t * This is mainly for dev test purpose.\n\t * Usually the tooltip should only show when hover.\n\t */\n\ttooltipIsOpen: PropTypes.bool,\n\t/**\n\t * Please select one of the following:\n\t * * `absolute` - (default if `variant` is `modal`) The dialog will use `position: absolute` and style attributes to position itself. This allows inverted placement or flipping of the dialog.\n\t * * `overflowBoundaryElement` - (default if `variant` is `base`) The dialog will overflow scrolling parents. Use on elements that are aligned to the left or right of their target and don't care about the target being within a scrolling parent. Typically this is a popover or tooltip. Dropdown menus can usually open up and down if no room exists. In order to achieve this a portal element will be created and attached to `body`. This element will render into that detached render tree.\n\t * * `relative` - No styling or portals will be used. Menus will be positioned relative to their triggers. This is a great choice for HTML snapshot testing.\n\t */\n\ttooltipPosition: PropTypes.oneOf([\n\t\t'absolute',\n\t\t'overflowBoundaryElement',\n\t\t'relative',\n\t]),\n};\n\n/**\n * Step renders a button icon and its tooltip if applied.\n * The button is applied with different css classes under different conditions.\n * Button icons have 4 types of status: completed (success), active (in progress), error (warning) and uncompleted (not approached)\n */\nclass Step extends React.Component {\n\t/**\n\t * buttonIcon represents the button icon used for each step.\n\t * the button is applied with different css classes under different conditions.\n\t */\n\tbuttonIcon(renderIcon, status, props) {\n\t\tconst data = {\n\t\t\tisSelected: props.isSelected,\n\t\t\tisError: props.isError,\n\t\t\tisCompleted: props.isCompleted,\n\t\t\tisDisabled: props.isDisabled,\n\t\t\tstep: props.step,\n\t\t};\n\n\t\tconst icon = renderIcon ? (\n\t\t\t<ButtonIcon\n\t\t\t\tcategory=\"utility\"\n\t\t\t\tname={this.props.isError ? 'error' : 'success'}\n\t\t\t/>\n\t\t) : null;\n\n\t\tconst handleClick = (event) => props.onClick(event, data);\n\t\tconst handleFocus = (event) => props.onFocus(event, data);\n\n\t\tconst stepButton = props.isDisabled ? (\n\t\t\t<a\n\t\t\t\tclassName={classNames(\n\t\t\t\t\t'slds-button',\n\t\t\t\t\t{ 'slds-button_icon': renderIcon },\n\t\t\t\t\t'slds-progress__marker',\n\t\t\t\t\t{ 'slds-progress__marker_icon': renderIcon },\n\t\t\t\t\t'slds-is-disabled'\n\t\t\t\t)}\n\t\t\t\taria-disabled\n\t\t\t\taria-describedby={`progress-indicator-tooltip-${\n\t\t\t\t\tthis.props.step.id || this.props.index\n\t\t\t\t}`}\n\t\t\t\tstyle={{ cursor: 'not-allowed' }}\n\t\t\t\ttabIndex={0}\n\t\t\t\trole=\"button\"\n\t\t\t>\n\t\t\t\t{icon}\n\t\t\t\t<span className=\"slds-assistive-text\">\n\t\t\t\t\t{this.props.step.assistiveText || (\n\t\t\t\t\t\t<React.Fragment>\n\t\t\t\t\t\t\t{`${props.assistiveText.step} ${props.index + 1}: `}\n\t\t\t\t\t\t\t{props.step.label}\n\t\t\t\t\t\t\t{`- ${status}`}\n\t\t\t\t\t\t</React.Fragment>\n\t\t\t\t\t)}\n\t\t\t\t</span>\n\t\t\t</a>\n\t\t) : (\n\t\t\t<button\n\t\t\t\tclassName={classNames(\n\t\t\t\t\t'slds-button',\n\t\t\t\t\t{ 'slds-button_icon': renderIcon },\n\t\t\t\t\t'slds-progress__marker',\n\t\t\t\t\t{ 'slds-progress__marker_icon': renderIcon }\n\t\t\t\t)}\n\t\t\t\tonClick={handleClick}\n\t\t\t\tonFocus={handleFocus}\n\t\t\t\taria-describedby={`progress-indicator-tooltip-${\n\t\t\t\t\tthis.props.step.id || this.props.index\n\t\t\t\t}`}\n\t\t\t\taria-current={this.props.isSelected ? 'step' : null}\n\t\t\t\ttype=\"button\"\n\t\t\t>\n\t\t\t\t{icon}\n\t\t\t\t<span className=\"slds-assistive-text\">\n\t\t\t\t\t{this.props.step.assistiveText || (\n\t\t\t\t\t\t<React.Fragment>\n\t\t\t\t\t\t\t{`${props.assistiveText.step} ${props.index + 1}: `}\n\t\t\t\t\t\t\t{props.step.label}\n\t\t\t\t\t\t\t{status ? ` - ${status}` : ''}\n\t\t\t\t\t\t</React.Fragment>\n\t\t\t\t\t)}\n\t\t\t\t</span>\n\t\t\t</button>\n\t\t);\n\n\t\treturn stepButton;\n\t}\n\n\trender() {\n\t\tconst renderIcon = this.props.isCompleted || this.props.isError;\n\t\tlet status = '';\n\t\tif (this.props.isError) {\n\t\t\tstatus = this.props.assistiveText.errorStep;\n\t\t} else if (this.props.isCompleted) {\n\t\t\tstatus = this.props.assistiveText.completedStep;\n\t\t} else if (this.props.isDisabled) {\n\t\t\tstatus = this.props.assistiveText.disabledStep;\n\t\t}\n\n\t\tconst tooltipProps = {\n\t\t\talign: 'top',\n\t\t\tid: `progress-indicator-tooltip-${\n\t\t\t\tthis.props.step.id || this.props.index\n\t\t\t}`,\n\t\t\tcontent: this.props.step.label,\n\t\t\ttheme: 'info',\n\t\t\tposition: this.props.tooltipPosition,\n\t\t\ttriggerStyle: { display: !renderIcon ? 'flex' : '' },\n\t\t};\n\n\t\t// This is mainly for dev test purpose.\n\t\t// `isOpen` is only set to true if tooltip is specified to be open\n\t\t// Do not set isOpen to false or undefined otherwise, because that will\n\t\t// disable any interaction with tooltips\n\t\tif (this.props.tooltipIsOpen) {\n\t\t\ttooltipProps.isOpen = true;\n\t\t}\n\n\t\treturn (\n\t\t\t<li\n\t\t\t\tclassName={classNames('slds-progress__item', {\n\t\t\t\t\t'slds-is-completed': this.props.isCompleted,\n\t\t\t\t\t'slds-is-active': this.props.isSelected && !this.props.isError,\n\t\t\t\t\t'slds-has-error': this.props.isError,\n\t\t\t\t})}\n\t\t\t>\n\t\t\t\t<Tooltip {...tooltipProps}>\n\t\t\t\t\t{this.buttonIcon(renderIcon, status, this.props)}\n\t\t\t\t</Tooltip>\n\t\t\t</li>\n\t\t);\n\t}\n}\n\nStep.propTypes = propTypes;\nStep.displayName = displayName;\n\nexport default Step; // export is replaced with `ReactDOM.render(<Example />, mountNode);` at runtime\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\n\nconst propTypes = {\n\t/**\n\t * Assistive text for percentage\n\t */\n\tassistiveText: PropTypes.shape({\n\t\tpercentage: PropTypes.string,\n\t}),\n\t/**\n\t * Percentage of progress completion, with range of [0, 100]\n\t */\n\tvalue: PropTypes.string.isRequired,\n};\n/**\n * ProgressBar renders the blue/gray progress bar and dynamically updates its completion percentage\n */\nclass ProgressBar extends React.Component {\n\trender() {\n\t\treturn (\n\t\t\t<div\n\t\t\t\tclassName={classNames('slds-progress-bar slds-progress-bar_x-small', {\n\t\t\t\t\t'slds-progress-bar_vertical': this.props.orientation === 'vertical',\n\t\t\t\t})}\n\t\t\t\taria-valuemin=\"0\"\n\t\t\t\taria-valuemax=\"100\"\n\t\t\t\taria-valuenow={this.props.value}\n\t\t\t\trole=\"progressbar\"\n\t\t\t>\n\t\t\t\t<span\n\t\t\t\t\tclassName=\"slds-progress-bar__value\"\n\t\t\t\t\tstyle={\n\t\t\t\t\t\tthis.props.orientation === 'vertical'\n\t\t\t\t\t\t\t? { height: `${this.props.value}%` }\n\t\t\t\t\t\t\t: { width: `${this.props.value}%` }\n\t\t\t\t\t}\n\t\t\t\t>\n\t\t\t\t\t<span className=\"slds-assistive-text\">\n\t\t\t\t\t\t{this.props.assistiveText.percentage ||\n\t\t\t\t\t\t\t`Progress: ${this.props.value}%`}\n\t\t\t\t\t</span>\n\t\t\t\t</span>\n\t\t\t</div>\n\t\t);\n\t}\n}\n\nProgressBar.displayName = 'ProgressBar';\nProgressBar.propTypes = propTypes;\n\nexport default ProgressBar;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\n// ### classNames\n// [github.com/JedWatson/classnames](https://github.com/JedWatson/classnames)\n// This project uses `classnames`, 'a simple javascript utility for conditionally\n// joining classNames together.'\nimport classNames from 'classnames';\n\nimport ProgressBar from './progress-bar';\n\nimport { PROGRESS_INDICATOR_PROGRESS } from '../../../utilities/constants';\n\n// ### Prop Types\nconst propTypes = {\n\t/**\n\t * Assistive text for percentage\n\t */\n\tassistiveText: PropTypes.shape({\n\t\tpercentage: PropTypes.string,\n\t}),\n\t/**\n\t * Steps in the component\n\t */\n\tchildren: PropTypes.node,\n\t/**\n\t * CSS class names to be added to the container element.\n\t */\n\tclassName: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\t/**\n\t * HTML id for component.\n\t */\n\tid: PropTypes.string.isRequired,\n\t/**\n\t * Determines the orientation of the progress indicator\n\t */\n\torientation: PropTypes.oneOf(['horizontal', 'vertical']),\n\t/**\n\t * Percentage of progress completion, ranging [0, 100]\n\t */\n\tvalue: PropTypes.string.isRequired,\n\t/**\n\t * Determines component style\n\t */\n\tvariant: PropTypes.oneOf(['base', 'modal', 'setup-assistant']),\n};\n\n/**\n * Progress renders all step buttons and a container wrapping these buttongs and a progress bar\n */\nclass Progress extends React.Component {\n\t/**\n\t * Get the progress's HTML id. Generate a new one if no ID present.\n\t */\n\tgetId() {\n\t\treturn this.props.id;\n\t}\n\n\trender() {\n\t\treturn (\n\t\t\t<div\n\t\t\t\tid={this.getId()}\n\t\t\t\tclassName={classNames(\n\t\t\t\t\t'slds-progress',\n\t\t\t\t\t{ 'slds-progress_shade': this.props.variant === 'modal' },\n\t\t\t\t\t{ 'slds-progress_vertical': this.props.orientation === 'vertical' },\n\t\t\t\t\t{ 'slds-progress_success': this.props.variant === 'setup-assistant' },\n\t\t\t\t\tthis.props.className\n\t\t\t\t)}\n\t\t\t>\n\t\t\t\t<ol\n\t\t\t\t\tclassName={classNames('slds-progress__list', {\n\t\t\t\t\t\t'slds-progress__list-bordered':\n\t\t\t\t\t\t\tthis.props.variant === 'setup-assistant',\n\t\t\t\t\t})}\n\t\t\t\t>\n\t\t\t\t\t{this.props.children}\n\t\t\t\t</ol>\n\t\t\t\t{this.props.orientation !== 'vertical' && (\n\t\t\t\t\t<ProgressBar\n\t\t\t\t\t\tvalue={this.props.value}\n\t\t\t\t\t\torientation={this.props.orientation}\n\t\t\t\t\t\tassistiveText={this.props.assistiveText}\n\t\t\t\t\t/>\n\t\t\t\t)}\n\t\t\t</div>\n\t\t);\n\t}\n}\n\nProgress.propTypes = propTypes;\nProgress.displayName = PROGRESS_INDICATOR_PROGRESS;\n\nexport default Progress;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\n// ### classNames\n// [github.com/JedWatson/classnames](https://github.com/JedWatson/classnames)\n// This project uses `classnames`, 'a simple javascript utility for conditionally\n// joining classNames together.'\nimport classNames from 'classnames';\n\n// Child component\nimport { PROGRESS_INDICATOR_STEP_VERTICAL } from '../../../utilities/constants';\nimport Icon from '../../icon';\n\n// ### Display Name\nconst displayName = PROGRESS_INDICATOR_STEP_VERTICAL;\n\n// ### Prop Types\nconst propTypes = {\n\t/**\n\t * Index of step. Used for id's if no step ID exists\n\t */\n\tindex: PropTypes.number,\n\t/**\n\t * Determines if the step has been completed\n\t */\n\tisCompleted: PropTypes.bool,\n\t/**\n\t * Determines if the step contains an error\n\t */\n\tisError: PropTypes.bool,\n\t/**\n\t * Determines if the step is currently selected (active)\n\t */\n\tisSelected: PropTypes.bool,\n\t/**\n\t * Triggered when click on individual steps. By default, it receives an event and returns all info passed to that step.\n\t * users are able to re-define it by passing a function as a prop\n\t */\n\tonClick: PropTypes.func,\n\t/**\n\t * Step object. This is passed into event callbacks.\n\t */\n\tstep: PropTypes.object,\n\t/**\n\t * The variant of the parent progress indicator\n\t */\n\tvariant: PropTypes.string,\n};\n\n/**\n * StepVertical renders a step icon and its step label if applied\n */\nclass StepVertical extends React.Component {\n\t/**\n\t * stepIcon represents the icon used for each step.\n\t */\n\tstepIcon = (renderIcon) => {\n\t\tconst data = {\n\t\t\tisSelected: this.props.isSelected,\n\t\t\tisError: this.props.isError,\n\t\t\tisCompleted: this.props.isCompleted,\n\t\t\tstep: this.props.step,\n\t\t};\n\n\t\tconst icon = renderIcon ? (\n\t\t\t<Icon\n\t\t\t\tcategory=\"utility\"\n\t\t\t\tsize=\"x-small\"\n\t\t\t\tname={this.props.isError ? 'error' : 'success'}\n\t\t\t/>\n\t\t) : null;\n\n\t\tconst handleClick = (event) => this.props.onClick(event, data);\n\n\t\treturn this.props.onClick ? (\n\t\t\t<button\n\t\t\t\tclassName={classNames('slds-button slds-progress__marker', {\n\t\t\t\t\t'slds-progress__marker_icon': renderIcon,\n\t\t\t\t\t'slds-progress__marker_icon-success':\n\t\t\t\t\t\tthis.props.variant === 'setup-assistant' &&\n\t\t\t\t\t\trenderIcon &&\n\t\t\t\t\t\t!this.props.isError,\n\t\t\t\t})}\n\t\t\t\ttype=\"button\"\n\t\t\t\tonClick={handleClick}\n\t\t\t>\n\t\t\t\t{icon}\n\t\t\t</button>\n\t\t) : (\n\t\t\t<span\n\t\t\t\tclassName={classNames('slds-progress__marker', {\n\t\t\t\t\t'slds-progress__marker_icon': renderIcon,\n\t\t\t\t\t'slds-progress__marker_icon-success':\n\t\t\t\t\t\tthis.props.variant === 'setup-assistant' &&\n\t\t\t\t\t\trenderIcon &&\n\t\t\t\t\t\t!this.props.isError,\n\t\t\t\t})}\n\t\t\t>\n\t\t\t\t{icon}\n\t\t\t</span>\n\t\t);\n\t};\n\n\trenderStepContent = () => {\n\t\tif (\n\t\t\tthis.props.step.onRenderSetupAssistantAction ||\n\t\t\tthis.props.step.setupAssistantEstimatedTime\n\t\t) {\n\t\t\treturn (\n\t\t\t\t<div\n\t\t\t\t\tid={`progress-indicator-vertical-label-${\n\t\t\t\t\t\tthis.props.step.id || this.props.index\n\t\t\t\t\t}`}\n\t\t\t\t\tclassName=\"slds-progress__item_content slds-grid slds-grid_align-spread\"\n\t\t\t\t>\n\t\t\t\t\t<div className=\"slds-size_3-of-4\">{this.props.step.label}</div>\n\t\t\t\t\t<div className=\"slds-grid slds-grid_align-end slds-size_1-of-4\">\n\t\t\t\t\t\t<div className=\"slds-media__figure slds-media__figure_reverse\">\n\t\t\t\t\t\t\t{this.props.step.onRenderSetupAssistantAction}\n\t\t\t\t\t\t\t{this.props.step.setupAssistantEstimatedTime && (\n\t\t\t\t\t\t\t\t<p className=\"slds-text-align_right slds-text-color_weak slds-p-top_medium\">\n\t\t\t\t\t\t\t\t\t{this.props.step.setupAssistantEstimatedTime}\n\t\t\t\t\t\t\t\t</p>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t);\n\t\t}\n\t\treturn (\n\t\t\t<div\n\t\t\t\tid={`progress-indicator-vertical-label-${\n\t\t\t\t\tthis.props.step.id || this.props.index\n\t\t\t\t}`}\n\t\t\t\tclassName=\"slds-progress__item_content slds-grid slds-grid_align-spread\"\n\t\t\t>\n\t\t\t\t{this.props.step.label}\n\t\t\t</div>\n\t\t);\n\t};\n\n\trender() {\n\t\tconst renderIcon = this.props.isCompleted || this.props.isError;\n\n\t\treturn (\n\t\t\t<li\n\t\t\t\tclassName={classNames('slds-progress__item', {\n\t\t\t\t\t'slds-is-completed': this.props.isCompleted,\n\t\t\t\t\t'slds-is-active': this.props.isSelected && !this.props.isError,\n\t\t\t\t\t'slds-has-error': this.props.isError,\n\t\t\t\t})}\n\t\t\t>\n\t\t\t\t{this.stepIcon(renderIcon)}\n\t\t\t\t{this.renderStepContent()}\n\t\t\t</li>\n\t\t);\n\t}\n}\n\nStepVertical.propTypes = propTypes;\nStepVertical.displayName = displayName;\n\nexport default StepVertical; // export is replaced with `ReactDOM.render(<Example />, mountNode);` at runtime\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// Implements the [Progress Indicator design pattern](https://lightningdesignsystem.com/components/progress-indicator/) in React.\n// Based on SLDS v2.4.0\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\nimport find from 'lodash.find';\n\n// ### shortid\n// [npmjs.com/package/shortid](https://www.npmjs.com/package/shortid)\n// shortid is a short, non-sequential, url-friendly, unique id generator\nimport shortid from 'shortid';\nimport { PROGRESS_INDICATOR } from '../../utilities/constants';\n\n// Child components\nimport Step from './private/step';\nimport Progress from './private/progress';\nimport StepVertical from './private/step-vertical';\n\nconst displayName = PROGRESS_INDICATOR;\n\nconst propTypes = {\n\t/**\n\t * **Assistive text for accessibility**\n\t * This object is merged with the default props object on every render.\n\t * * `completedStep`: Label for a completed step. The default is `Completed Step`\n\t * * `disabledStep`: Label for disabled step. The default is `Disabled Step`\n\t * * `errorStep`: Label for a step with an error. The default is `Error Step`\n\t * * `percentage`: Label for Progress Bar. The default is `Progress: [this.props.value]%`. You will need to calculate the percentage yourself if changing this string.\n\t * * `step`: Label for a step. It will be typically followed by the number of the step such as \"Step 1\".\n\t */\n\tassistiveText: PropTypes.shape({\n\t\tcompletedStep: PropTypes.string,\n\t\tdisabledStep: PropTypes.string,\n\t\tpercentage: PropTypes.string,\n\t\tstep: PropTypes.string,\n\t}),\n\t/**\n\t * CSS class names to be added to the container element. `array`, `object`, or `string` are accepted.\n\t */\n\tclassName: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\t/**\n\t * Stores all completed steps. It is an array of step objects.\n\t */\n\tcompletedSteps: PropTypes.array,\n\t/**\n\t * Stores all disabled steps. It is an array of step objects. Steps are still clickable/focusable,\n\t * this only disables cursor change and removes onClick and onFocus event callbacks.\n\t */\n\tdisabledSteps: PropTypes.array,\n\t/**\n\t * Stores all error steps. It is an array of step objects and usually there is only one error step, the current step. If an error occurs a second error icon should be placed to the left of related confirmation buttons (e.g. Cancel, Save) and an Error Popover should appear indicating there are errors. These additional items are NOT part of this component. This note was included for visibility purposes. Please refer to [SLDS website](https://www.lightningdesignsystem.com/components/progress-indicator/) for full details **\n\t */\n\terrorSteps: PropTypes.array,\n\t/**\n\t * HTML id for component.\n\t */\n\tid: PropTypes.string,\n\t/**\n\t * Determines the orientation of the progress indicator\n\t */\n\torientation: PropTypes.oneOf(['horizontal', 'vertical']),\n\t/**\n\t * Triggered when an individual step is clicked. By default, it receives an event and returns step state and the step object clicked: `{ isCompleted, isDisabled, isError, isSelected, step }`. Users are able to pass a callback handleClick function in forms of: <function name>(event, data) where data is the callback result.\n\t * ```\n\t * const handleStepClick = function(event, data) { console.log(data); };\n\t * <ProgressIndicator onStepClick={handleStepClick} />\n\t * ```\n\t */\n\tonStepClick: PropTypes.func,\n\t/**\n\t * Triggered when an individual step is focused. By default, it receives an event and returns step state and the step object clicked: `{ isCompleted, isDisabled, isError, isSelected, step }`. Users are able to pass a callback handleClick function in forms of: <function name>(event, data) where data is the callback result.\n\t * ```\n\t * const handleStepFocus = function(event, data) { console.log(data); };\n\t * <ProgressIndicator onStepFocus={handleStepFocus} />\n\t * ```\n\t */\n\tonStepFocus: PropTypes.func,\n\t/**\n\t * Represents the currently selected or active step. It is a step object.\n\t */\n\tselectedStep: PropTypes.object.isRequired,\n\t/**\n\t * It is an array of step objects in the following form:\n\t * ```\n\t * [{\n\t * id: <PropTypes.number> or <PropTypes.string>, has to be unique\n\t * label: <PropTypes.string>, representing the tooltip content\n\t * assistiveText: <PropTypes.string>, The default is `[Step props.index + 1]: [status]`. Status is if the step has been completed or in an error state.\n\t * }],\n\t * ```\n\t */\n\tsteps: PropTypes.array.isRequired,\n\t/**\n\t * Stores all steps with opened tooltips. This property is mainly for development purposes. The tooltip should only show on hover for the user.\n\t */\n\ttooltipIsOpenSteps: PropTypes.array,\n\t/**\n\t * Determines component style.\n\t */\n\tvariant: PropTypes.oneOf(['base', 'modal', 'setup-assistant']),\n\t/**\n\t * Please select one of the following:\n\t * * `absolute` - (default if `variant` is `modal`) The dialog will use `position: absolute` and style attributes to position itself. This allows inverted placement or flipping of the dialog.\n\t * * `overflowBoundaryElement` - (default if `variant` is `base`) The dialog will overflow scrolling parents. Use on elements that are aligned to the left or right of their target and don't care about the target being within a scrolling parent. Typically this is a popover or tooltip. Dropdown menus can usually open up and down if no room exists. In order to achieve this a portal element will be created and attached to `body`. This element will render into that detached render tree.\n\t * * `relative` - No styling or portals will be used. Menus will be positioned relative to their triggers. This is a great choice for HTML snapshot testing.\n\t */\n\ttooltipPosition: PropTypes.oneOf([\n\t\t'absolute',\n\t\t'overflowBoundaryElement',\n\t\t'relative',\n\t]),\n};\n\nconst defaultSteps = [\n\t{ id: 0, label: 'tooltip label #1' },\n\t{ id: 1, label: 'tooltip label #2' },\n\t{ id: 2, label: 'tooltip label #3' },\n\t{ id: 3, label: 'tooltip label #4' },\n\t{ id: 4, label: 'tooltip label #5' },\n];\n\nconst defaultProps = {\n\tassistiveText: {\n\t\tcompletedStep: 'Completed',\n\t\tdisabledStep: 'Disabled',\n\t\terrorStep: 'Error',\n\t\tstep: 'Step',\n\t},\n\terrorSteps: [],\n\tcompletedSteps: [],\n\tdisabledSteps: [],\n\torientation: 'horizontal',\n\tselectedStep: defaultSteps[0],\n\tvariant: 'base',\n\t// click/focus callbacks by default do nothing\n\tonStepClick: () => {},\n\tonStepFocus: () => {},\n};\n\n/**\n * Check if `steps` prop is valid\n */\nfunction checkSteps(steps) {\n\tconst isStepsDefined = steps !== undefined;\n\tconst isLabelDefined = (step) => step.label !== undefined;\n\tconst stepLabelsDefined = Array.isArray(steps) && steps.every(isLabelDefined);\n\n\treturn isStepsDefined && stepLabelsDefined;\n}\n\n/**\n * Check if an item is from an array of items.\n * If items argument is not an array, it will be treated as an object comparison between item & items.\n */\nfunction findStep(item, items) {\n\tif (!item || !items) return false;\n\n\tconst itemsArray = !Array.isArray(items) ? [items] : items;\n\n\treturn !!find(itemsArray, (arrayItem) => {\n\t\tif (arrayItem === item) {\n\t\t\treturn true;\n\t\t}\n\t\tif (arrayItem.id !== undefined && item.id !== undefined) {\n\t\t\treturn arrayItem.id === item.id;\n\t\t}\n\t\treturn JSON.stringify(arrayItem) === JSON.stringify(item);\n\t});\n}\n\n/**\n * Progress Indicator is a component that communicates to the user the progress of a particular process.\n */\nclass ProgressIndicator extends React.Component {\n\tconstructor(props) {\n\t\tsuper(props);\n\n\t\tthis.generatedId = shortid.generate();\n\t}\n\n\tcomponentWillUnmount() {\n\t\tthis.isUnmounting = true;\n\t}\n\n\t/**\n\t * Get the progress indicator's HTML id. Generate a new one if no ID present.\n\t */\n\tgetId() {\n\t\treturn this.props.id || this.generatedId;\n\t}\n\n\tgetSteps() {\n\t\t// check if passed steps are valid\n\t\treturn checkSteps(this.props.steps) ? this.props.steps : defaultSteps;\n\t}\n\n\trender() {\n\t\t// Merge objects of strings with their default object\n\t\tconst assistiveText = {\n\t\t\t...defaultProps.assistiveText,\n\t\t\t...this.props.assistiveText,\n\t\t};\n\n\t\tconst {\n\t\t\tselectedStep,\n\t\t\tdisabledSteps,\n\t\t\terrorSteps,\n\t\t\tcompletedSteps,\n\t\t} = this.props;\n\t\t/** 1. preparing data */\n\t\tconst allSteps = this.getSteps();\n\n\t\tlet currentStep = 0;\n\t\t// find index for the current step\n\t\t// eslint-disable-next-line fp/no-loops\n\t\tfor (let i = 0; i < allSteps.length; i += 1) {\n\t\t\t// assign step an id if it does not have one\n\t\t\tif (allSteps[i].id === undefined) {\n\t\t\t\tallSteps[i].id = i;\n\t\t\t}\n\t\t\tif (findStep(allSteps[i], this.props.selectedStep)) {\n\t\t\t\tcurrentStep = i;\n\t\t\t}\n\t\t}\n\n\t\tconst orientation =\n\t\t\tthis.props.variant === 'setup-assistant'\n\t\t\t\t? 'vertical'\n\t\t\t\t: this.props.orientation;\n\t\t// Set default tooltipPosition\n\t\tconst tooltipPosition =\n\t\t\tthis.props.tooltipPosition ||\n\t\t\t(this.props.variant === 'modal' ? 'absolute' : 'overflowBoundaryElement');\n\t\tconst StepComponent = orientation === 'vertical' ? StepVertical : Step;\n\t\t/** 2. return DOM */\n\t\treturn (\n\t\t\t<Progress\n\t\t\t\tassistiveText={assistiveText}\n\t\t\t\tid={this.getId()}\n\t\t\t\torientation={orientation}\n\t\t\t\tvalue={\n\t\t\t\t\tcurrentStep === 0\n\t\t\t\t\t\t? '0'\n\t\t\t\t\t\t: `${100 * (currentStep / (allSteps.length - 1))}`\n\t\t\t\t}\n\t\t\t\tvariant={this.props.variant}\n\t\t\t\tclassName={this.props.className}\n\t\t\t>\n\t\t\t\t{allSteps.map((step, i) => (\n\t\t\t\t\t<StepComponent\n\t\t\t\t\t\tassistiveText={assistiveText}\n\t\t\t\t\t\tkey={`${this.getId()}-${step.id}`}\n\t\t\t\t\t\tid={this.getId()}\n\t\t\t\t\t\tindex={i}\n\t\t\t\t\t\tisSelected={findStep(step, selectedStep)}\n\t\t\t\t\t\tisDisabled={findStep(step, disabledSteps)}\n\t\t\t\t\t\tisError={findStep(step, errorSteps)}\n\t\t\t\t\t\tisCompleted={findStep(step, completedSteps)}\n\t\t\t\t\t\tonClick={this.props.onStepClick}\n\t\t\t\t\t\tonFocus={this.props.onStepFocus}\n\t\t\t\t\t\tstep={step}\n\t\t\t\t\t\ttooltipIsOpen={findStep(step, this.props.tooltipIsOpenSteps)}\n\t\t\t\t\t\ttooltipPosition={tooltipPosition}\n\t\t\t\t\t\tvariant={this.props.variant}\n\t\t\t\t\t/>\n\t\t\t\t))}\n\t\t\t</Progress>\n\t\t);\n\t}\n}\n\nProgressIndicator.displayName = displayName;\nProgressIndicator.propTypes = propTypes;\nProgressIndicator.defaultProps = defaultProps;\n\nexport default ProgressIndicator;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// Implements the [Progress Ring design pattern](https://lightningdesignsystem.com/components/progress-ring/) in React.\n// Based on SLDS v2.4.5\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\n\nconst PROGRESS_RING_SHAPE = 'SLDSProgressRingShape';\n\nconst propTypes = {\n\t/**\n\t * HTML id for component.\n\t */\n\tid: PropTypes.string,\n\t/**\n\t * CSS class names to be added to the container element. `array`, `object`, or `string` are accepted.\n\t */\n\tclassName: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\t/**\n\t * Decimal percentage drain of the ring [0.0 - 1.0]\n\t */\n\tfillPercentDecimal: PropTypes.number,\n\t/**\n\t * Direction that the progress ring \"flows.\" Default is counter-clockwise, or `drain`. For clockwise flow, use `fill`\n\t */\n\tflowDirection: PropTypes.oneOf(['drain', 'fill']),\n\t/**\n\t * Size of the progress ring. Default is 'medium'\n\t */\n\tsize: PropTypes.oneOf(['medium', 'large']),\n};\n\nconst defaultProps = {\n\tfillPercentDecimal: 0,\n};\n\n/**\n * Generates the string for the D value of the SVG path\n * @param isLong {number} a binary flag if the arc should 'take the long path' (used for > 50% fill)\n * @param arcX {decimal} the arc's x position\n * @param arcY {decimal} the arc's y position\n */\nconst getD = (isLong, arcX, arcY) =>\n\t`M 1 0 A 1 1 0 ${isLong} 1 ${arcX} ${arcY} L 0 0`;\n\n/**\n * Calculates the fill part of the ring\n * @param fillPercent {decimal} Decimal percentage that represents the amount of the ring which is filled with color.\n */\nconst calculateD = (fillPercent) => {\n\tconst isLong = fillPercent > 0.5 ? 1 : 0;\n\tconst arcX = Math.cos(2 * Math.PI * fillPercent);\n\tconst arcY = Math.sin(2 * Math.PI * fillPercent);\n\n\treturn getD(isLong, arcX, arcY);\n};\n\n/**\n * Displays the progress ring shape.\n */\nconst ProgressRingShape = (props) => {\n\tconst progressStyles = { height: props.size === 'large' ? '2rem' : '1.5rem' };\n\n\tif (props.flowDirection === 'fill') {\n\t\tprogressStyles.transform = 'scaleX(1) rotate(-90deg)';\n\t}\n\n\treturn (\n\t\t<div\n\t\t\tid={props.id}\n\t\t\tclassName={classNames('slds-progress-ring', props.className)}\n\t\t>\n\t\t\t<div\n\t\t\t\taria-valuemin=\"0\"\n\t\t\t\taria-valuemax=\"100\"\n\t\t\t\taria-valuenow={props.fillPercentDecimal * 100}\n\t\t\t\tclassName=\"slds-progress-ring__progress\"\n\t\t\t\trole=\"progressbar\"\n\t\t\t\tstyle={progressStyles}\n\t\t\t>\n\t\t\t\t<svg viewBox=\"-1 -1 2 2\">\n\t\t\t\t\t<path\n\t\t\t\t\t\tclassName=\"slds-progress-ring__path\"\n\t\t\t\t\t\td={calculateD(props.fillPercentDecimal)}\n\t\t\t\t\t/>\n\t\t\t\t</svg>\n\t\t\t</div>\n\t\t\t<div className=\"slds-progress-ring__content\">{props.children}</div>\n\t\t</div>\n\t);\n};\n\nProgressRingShape.displayName = PROGRESS_RING_SHAPE;\nProgressRingShape.propTypes = propTypes;\nProgressRingShape.defaultProps = defaultProps;\n\nexport default ProgressRingShape;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// Implements the [Progress Ring design pattern](https://lightningdesignsystem.com/components/progress-ring/) in React.\n// Based on SLDS v2.4.5\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\n\nimport { PROGRESS_RING } from '../../utilities/constants';\nimport Icon from '../icon';\nimport ProgressRingShape from './private/ring-shape';\n\n/**\n * The themes available for the progress ring\n */\nexport const THEME_OPTIONS = Object.freeze({\n\tACTIVE: 'active',\n\tWARNING: 'warning',\n\tEXPIRED: 'expired',\n\tCOMPLETE: 'complete',\n});\n\n/**\n * The CSS classes associated with each theme\n */\nconst THEME_CLASSES = {\n\t[THEME_OPTIONS.ACTIVE]: 'slds-progress-ring_active-step',\n\t[THEME_OPTIONS.WARNING]: 'slds-progress-ring_warning',\n\t[THEME_OPTIONS.EXPIRED]: 'slds-progress-ring_expired',\n\t[THEME_OPTIONS.COMPLETE]: 'slds-progress-ring_complete',\n};\n\nconst propTypes = {\n\t/**\n\t * HTML id for component.\n\t */\n\tid: PropTypes.string,\n\t/**\n\t * CSS classes to be added to tag with `.slds-progress-ring`. Uses `classNames` [API](https://github.com/JedWatson/classnames).\n\t */\n\tclassName: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\t/**\n\t * The theme applied to the ring.\n\t */\n\ttheme: PropTypes.oneOf(['active', 'warning', 'expired', 'complete']),\n\t/**\n\t * Overrides the icon to be displayed.\n\t */\n\ticon: PropTypes.node,\n\t/**\n\t * Display the icon associated with the theme.\n\t */\n\thasIcon: PropTypes.bool,\n\t/**\n\t * Percentage of progress completion, ranging [0, 100].\n\t */\n\tvalue: PropTypes.number.isRequired,\n\t/**\n\t * Direction that the progress ring \"flows.\" Default is counter-clockwise, or `drain`. For clockwise flow, use `fill`\n\t */\n\tflowDirection: PropTypes.oneOf(['drain', 'fill']),\n\t/**\n\t * Size of the progress ring. Default is 'medium'\n\t */\n\tsize: PropTypes.oneOf(['medium', 'large']),\n};\n\nconst defaultProps = {\n\tflowDirection: 'drain',\n\tsize: 'medium',\n};\n\n/**\n * Customizable and configurable progress ring. Will display progress in a circular progress bar factor, and is capable of displaying iconography inside of the ring structure.\n */\nclass ProgressRing extends React.Component {\n\t/**\n\t * Gets the icon to display\n\t * @returns {node} Icon\n\t */\n\ticon() {\n\t\tlet icon = '';\n\n\t\tif (this.props.hasIcon) {\n\t\t\tif (this.props.icon) {\n\t\t\t\t// eslint-disable-next-line prefer-destructuring\n\t\t\t\ticon = this.props.icon;\n\t\t\t} else if (this.props.theme === THEME_OPTIONS.WARNING) {\n\t\t\t\ticon = <Icon category=\"utility\" name=\"warning\" title=\"Warning\" />;\n\t\t\t} else if (this.props.theme === THEME_OPTIONS.EXPIRED) {\n\t\t\t\ticon = <Icon category=\"utility\" name=\"error\" title=\"Expired\" />;\n\t\t\t} else if (this.props.theme === THEME_OPTIONS.COMPLETE) {\n\t\t\t\ticon = <Icon category=\"utility\" name=\"check\" title=\"Complete\" />;\n\t\t\t}\n\t\t}\n\n\t\treturn icon;\n\t}\n\n\t/**\n\t * Percentage as a decimal\n\t * @returns {decimal} Percentage\n\t */\n\tpercentDecimal() {\n\t\treturn this.props.value / 100;\n\t}\n\n\t/**\n\t * Gets the theme CSS class\n\t * @returns {string} Class name\n\t */\n\tthemeClass() {\n\t\treturn THEME_CLASSES[this.props.theme] || '';\n\t}\n\n\trender() {\n\t\treturn (\n\t\t\t<ProgressRingShape\n\t\t\t\tid={this.props.id}\n\t\t\t\tsize={this.props.size}\n\t\t\t\tclassName={classNames(this.props.className, this.themeClass(), {\n\t\t\t\t\t'slds-progress-ring_large': this.props.size === 'large',\n\t\t\t\t})}\n\t\t\t\tfillPercentDecimal={this.percentDecimal()}\n\t\t\t\tflowDirection={this.props.flowDirection}\n\t\t\t>\n\t\t\t\t{this.icon()}\n\t\t\t</ProgressRingShape>\n\t\t);\n\t}\n}\n\nProgressRing.displayName = PROGRESS_RING;\nProgressRing.propTypes = propTypes;\nProgressRing.defaultProps = defaultProps;\n\nexport default ProgressRing;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n/* eslint-disable import/no-mutable-exports */\n\nimport getComponentDocFn from '../../utilities/get-component-doc';\nimport deprecatedProperty from '../../utilities/warning/deprecated-property';\n\nlet checkProps = function checkPropsFunction() {};\n\nif (process.env.NODE_ENV !== 'production') {\n\tcheckProps = function checkPropsFunction(COMPONENT, props, jsonDoc) {\n\t\tconst createDocUrl = getComponentDocFn(jsonDoc);\n\n\t\tdeprecatedProperty(\n\t\t\tCOMPONENT,\n\t\t\tprops.iconName,\n\t\t\t'iconName',\n\t\t\t'icon',\n\t\t\tcreateDocUrl('icon')\n\t\t);\n\t};\n}\n\nexport default checkProps;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// Implements the [Scoped Notification design pattern](https://lightningdesignsystem.com/components/scoped-notifications/) in React.\n// Based on SLDS v2.4.5\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\n\nimport Icon from '../icon';\n\nimport componentDoc from './component.json';\nimport checkProps from './check-props';\n\nimport { SCOPED_NOTIFICATION } from '../../utilities/constants';\n\nconst propTypes = {\n\t/**\n\t * **Assistive text for accessibility.**\n\t * * `icon`: The assistive text for the icon. Is overridden by `label` assistive text passed directly to an `Icon` component via the `icon` prop\n\t */\n\tassistiveText: PropTypes.shape({\n\t\ticon: PropTypes.string,\n\t}),\n\t/**\n\t * CSS classes to be added to tag with `.slds-scoped-notification`. Uses `classNames` [API](https://github.com/JedWatson/classnames).\n\t */\n\tclassName: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\t/**\n\t * The icon to be displayed in the scoped notification. Accepts an `Icon` component\n\t */\n\ticon: PropTypes.node,\n\t/**\n\t * Theme for the scoped notification\n\t */\n\ttheme: PropTypes.oneOf(['dark', 'light']),\n};\n\nconst defaultProps = {};\n\n/**\n * A Scoped Notification Component serve advisory information for the user that is not important enough to justify an alert.\n */\nclass ScopedNotification extends React.Component {\n\tconstructor(props) {\n\t\tsuper(props);\n\t\tcheckProps(SCOPED_NOTIFICATION, props, componentDoc);\n\t}\n\n\trender() {\n\t\tlet icon;\n\n\t\tif (this.props.icon) {\n\t\t\tlet iconAssistiveText = {};\n\n\t\t\tif (this.props.assistiveText && this.props.assistiveText.icon) {\n\t\t\t\ticonAssistiveText.label = this.props.assistiveText.icon;\n\t\t\t}\n\n\t\t\tif (this.props.icon.props.assistiveText) {\n\t\t\t\ticonAssistiveText = {\n\t\t\t\t\t...iconAssistiveText,\n\t\t\t\t\t...this.props.icon.props.assistiveText,\n\t\t\t\t};\n\t\t\t}\n\n\t\t\ticon = React.cloneElement(this.props.icon, {\n\t\t\t\t...this.props.icon.props,\n\t\t\t\tassistiveText: iconAssistiveText,\n\t\t\t});\n\t\t} else {\n\t\t\ticon = (\n\t\t\t\t<Icon\n\t\t\t\t\tassistiveText={{\n\t\t\t\t\t\tlabel:\n\t\t\t\t\t\t\t(this.props.assistiveText && this.props.assistiveText.icon) ||\n\t\t\t\t\t\t\t'Info',\n\t\t\t\t\t}}\n\t\t\t\t\tcategory=\"utility\"\n\t\t\t\t\tname={this.props.iconName || 'info'}\n\t\t\t\t\tcolorVariant={this.props.theme === 'dark' ? 'base' : undefined}\n\t\t\t\t\tsize=\"small\"\n\t\t\t\t/>\n\t\t\t);\n\t\t}\n\n\t\treturn (\n\t\t\t<div\n\t\t\t\tclassName={classNames(\n\t\t\t\t\t`slds-scoped-notification`,\n\t\t\t\t\t`slds-media`,\n\t\t\t\t\t`slds-media_center`,\n\t\t\t\t\t{\n\t\t\t\t\t\t'slds-scoped-notification_light': this.props.theme === 'light',\n\t\t\t\t\t\t'slds-scoped-notification_dark': this.props.theme === 'dark',\n\t\t\t\t\t},\n\t\t\t\t\tthis.props.className\n\t\t\t\t)}\n\t\t\t\trole=\"status\"\n\t\t\t>\n\t\t\t\t<div className=\"slds-media__figure\">{icon}</div>\n\t\t\t\t<div className=\"slds-media__body\">{this.props.children}</div>\n\t\t\t</div>\n\t\t);\n\t}\n}\n\nScopedNotification.displayName = SCOPED_NOTIFICATION;\nScopedNotification.propTypes = propTypes;\nScopedNotification.defaultProps = defaultProps;\n\nexport default ScopedNotification;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n/* eslint-disable import/no-mutable-exports */\n\nimport hasChildrenWithoutDisplayNameof from '../../utilities/warning/has-children-without-display-name-of';\nimport getComponentDocFn from '../../utilities/get-component-doc';\nimport renderFunctionReturnContentsLackDisplayName from '../../utilities/warning/render-function-return-contents-lack-display-name';\n\nimport {\n\tICON,\n\tPROGRESS_INDICATOR,\n\tSETUP_ASSISTANT,\n\tSETUP_ASSISTANT_STEP,\n} from '../../utilities/constants';\n\nlet checkProps = () => {};\n\nif (process.env.NODE_ENV !== 'production') {\n\tcheckProps = (COMPONENT, props, jsonDoc) => {\n\t\tconst createDocUrl = getComponentDocFn(jsonDoc);\n\n\t\tif (COMPONENT === SETUP_ASSISTANT) {\n\t\t\thasChildrenWithoutDisplayNameof(\n\t\t\t\tCOMPONENT,\n\t\t\t\tprops.children,\n\t\t\t\tSETUP_ASSISTANT_STEP,\n\t\t\t\tcreateDocUrl()\n\t\t\t);\n\t\t}\n\n\t\tif (COMPONENT === SETUP_ASSISTANT_STEP && props.onRenderFigure) {\n\t\t\trenderFunctionReturnContentsLackDisplayName(\n\t\t\t\tCOMPONENT,\n\t\t\t\t'onRenderFigure',\n\t\t\t\tprops.onRenderFigure(),\n\t\t\t\t[ICON, PROGRESS_INDICATOR]\n\t\t\t);\n\t\t}\n\t};\n}\n\nexport default checkProps;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// Implements the [Setup Assistant design pattern](https://lightningdesignsystem.com/components/progress-ring/) in React.\n// Based on SLDS v2.4.5\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\n\n// ### shortid\n// [npmjs.com/package/shortid](https://www.npmjs.com/package/shortid)\n// shortid is a short, non-sequential, url-friendly, unique id generator\nimport shortid from 'shortid';\n\n// This component's `checkProps` which issues warnings to developers about properties\n// when in development mode (similar to React's built in development tools)\nimport checkProps from './check-props';\nimport componentDoc from './component.json';\n\nimport {\n\tSETUP_ASSISTANT,\n\tSETUP_ASSISTANT_STEP,\n} from '../../utilities/constants';\n\nconst propTypes = {\n\t/**\n\t * Accepts SetupAssistantStep components only as children.\n\t */\n\tchildren: PropTypes.node,\n\t/**\n\t * CSS classes to be added to tag with `.slds-progress-bar`. Uses `classNames` [API](https://github.com/JedWatson/classnames).\n\t */\n\tclassName: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\t/**\n\t * HTML id for component.\n\t */\n\tid: PropTypes.string,\n\t/**\n\t * Dictates whether this setup assistant has card wrappings and styling\n\t */\n\tisCard: PropTypes.bool,\n\t/**\n\t * Function to handle opening / closing of steps when the step is expandable. Passes event object and step `index`, `isOpen`, and `step` props as data.\n\t */\n\tonStepToggleIsOpen: PropTypes.func,\n\t/**\n\t * Accepts a progress bar component, which will only be visible if `isCard` is enabled\n\t */\n\tprogressBar: PropTypes.node,\n};\n\nconst defaultProps = {\n\tisCard: false,\n};\n\n/**\n * Setup Assistant provides Administrators with a centralized list of tasks for\n * onboarding organizations, clouds, or features within the Salesforce Platform.\n */\nclass SetupAssistant extends React.Component {\n\tconstructor(props) {\n\t\tsuper(props);\n\n\t\tthis.generatedId = shortid.generate();\n\t}\n\n\tcomponentDidMount() {\n\t\tcheckProps(SETUP_ASSISTANT, this.props, componentDoc);\n\t}\n\n\tcomponentDidUpdate() {\n\t\tcheckProps(SETUP_ASSISTANT, this.props, componentDoc);\n\t}\n\n\t/**\n\t * ID as a string\n\t * @returns {string} id\n\t */\n\tgetId() {\n\t\treturn this.props.id || this.generatedId;\n\t}\n\n\trender() {\n\t\tconst steps = (\n\t\t\t<ol\n\t\t\t\tid={this.getId()}\n\t\t\t\tclassName={classNames('slds-setup-assistant', this.props.className)}\n\t\t\t>\n\t\t\t\t{React.Children.map(this.props.children, (child, i) => {\n\t\t\t\t\tif (child.type.displayName !== SETUP_ASSISTANT_STEP) return null;\n\t\t\t\t\treturn React.cloneElement(child, {\n\t\t\t\t\t\tindex: i,\n\t\t\t\t\t\tonToggleIsOpen: this.props.onStepToggleIsOpen,\n\t\t\t\t\t\tstepNumber: i + 1,\n\t\t\t\t\t\t...child.props,\n\t\t\t\t\t});\n\t\t\t\t})}\n\t\t\t</ol>\n\t\t);\n\n\t\treturn this.props.isCard ? (\n\t\t\t<section className=\"slds-card\">\n\t\t\t\t<header className=\"slds-theme_shade slds-p-around_medium slds-m-bottom_small\">\n\t\t\t\t\t{this.props.progressBar}\n\t\t\t\t</header>\n\t\t\t\t{steps}\n\t\t\t</section>\n\t\t) : (\n\t\t\t<React.Fragment>{steps}</React.Fragment>\n\t\t);\n\t}\n}\n\nSetupAssistant.displayName = SETUP_ASSISTANT;\nSetupAssistant.propTypes = propTypes;\nSetupAssistant.defaultProps = defaultProps;\n\nexport default SetupAssistant;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\n\n// ### shortid\n// [npmjs.com/package/shortid](https://www.npmjs.com/package/shortid)\n// shortid is a short, non-sequential, url-friendly, unique id generator\nimport shortid from 'shortid';\nimport assign from 'lodash.assign';\n\n// This component's `checkProps` which issues warnings to developers about properties\n// when in development mode (similar to React's built in development tools)\nimport checkProps from './check-props';\nimport componentDoc from './component.json';\n\nimport Button from '../button';\nimport ProgressRing from '../progress-ring';\n\nimport { ICON, SETUP_ASSISTANT_STEP } from '../../utilities/constants';\n\nconst propTypes = {\n\t/**\n\t * **Assistive text for accessibility**\n\t * This object is merged with the default props object on every render.\n\t * * `expandStep`: Button that examples a step\n\t * _Tested with snapshot testing._\n\t */\n\tassistiveText: PropTypes.shape({\n\t\texpandStep: PropTypes.string,\n\t}),\n\t/**\n\t * CSS class names to be added to the container element. `array`, `object`, or `string` are accepted.\n\t */\n\tclassName: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\t/**\n\t * Detailed description of the step\n\t */\n\tdescription: PropTypes.oneOfType([PropTypes.string, PropTypes.node]),\n\t/**\n\t * Estimated time for completing the step\n\t */\n\testimatedTime: PropTypes.oneOfType([PropTypes.string, PropTypes.node]),\n\t/**\n\t * Heading for the step\n\t */\n\theading: PropTypes.oneOfType([PropTypes.string, PropTypes.node]),\n\t/**\n\t * HTML id for component.\n\t */\n\tid: PropTypes.string,\n\t/**\n\t * Index of the step within the step array\n\t */\n\tindex: PropTypes.number,\n\t/**\n\t * Dictates whether the step can be expanded / collapsed\n\t */\n\tisExpandable: PropTypes.bool,\n\t/**\n\t * If `isExpandable` is true, this prop can be used to control the expanded state. If not provided state will be used instead\n\t */\n\tisOpen: PropTypes.bool,\n\t/**\n\t * Function that is called to render a step's available action(s). Typically returns a Button, Button of variant \"link,\" or Checkbox of variant \"toggle\"\n\t */\n\tonRenderAction: PropTypes.func,\n\t/**\n\t * Function that is called to render step content. Typically returns a ProgressIndicator and/or ScopedNotification component\n\t */\n\tonRenderContent: PropTypes.func,\n\t/**\n\t * Function that is called to render content within the media figure. Expects to be returned an Icon or ProgressRing component\n\t */\n\tonRenderFigure: PropTypes.func,\n\t/**\n\t * Function to handle requests to expand / collapse the step\n\t */\n\tonToggleIsOpen: PropTypes.func,\n\t/**\n\t * Percentage of step completed. No progress indicator will be shown for the step unless this is provided\n\t */\n\tprogress: PropTypes.number,\n\t/**\n\t * Display number for the step. Only appears if progress indicator is enabled. Determined automatically by parent if not provided.\n\t */\n\tstepNumber: PropTypes.number,\n};\n\nconst defaultProps = {\n\tassistiveText: { expandStep: 'Expand Step' },\n};\n\n/**\n * Setup Assistant Step component is used to specify individual items within the Setup Assistant\n * filled with learning and task links along with a recommended sequence that may have progress tracking\n */\nclass Step extends React.Component {\n\tconstructor(props) {\n\t\tsuper(props);\n\t\tthis.generatedId = shortid.generate();\n\t\tthis.state = {\n\t\t\tisOpen: props.isOpen || false,\n\t\t};\n\t\tcheckProps(SETUP_ASSISTANT_STEP, this.props, componentDoc);\n\t}\n\n\tgetId() {\n\t\treturn this.props.id || this.generatedId;\n\t}\n\n\tgetIsOpen() {\n\t\treturn this.props.isOpen !== undefined\n\t\t\t? this.props.isOpen\n\t\t\t: this.state.isOpen;\n\t}\n\n\ttoggleIsOpen = (event) => {\n\t\tif (this.props.onToggleIsOpen) {\n\t\t\tthis.props.onToggleIsOpen(event, {\n\t\t\t\tindex: this.props.index,\n\t\t\t\tisOpen: this.getIsOpen(),\n\t\t\t\tstep: this.props,\n\t\t\t});\n\t\t} else {\n\t\t\tthis.setState({ isOpen: !this.getIsOpen() });\n\t\t}\n\t};\n\n\trenderMediaContent() {\n\t\treturn (\n\t\t\t<React.Fragment>\n\t\t\t\t<div className=\"slds-setup-assistant__step-summary-content slds-media__body\">\n\t\t\t\t\t<h3 className=\"slds-setup-assistant__step-summary-title slds-text-heading_small\">\n\t\t\t\t\t\t{this.props.isExpandable ? (\n\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\taria-controls={`${this.getId()}-detail-content`}\n\t\t\t\t\t\t\t\tclassName=\"slds-button_reset\"\n\t\t\t\t\t\t\t\tlabel={this.props.heading}\n\t\t\t\t\t\t\t\tonClick={this.toggleIsOpen}\n\t\t\t\t\t\t\t\tvariant=\"base\"\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\tthis.props.heading\n\t\t\t\t\t\t)}\n\t\t\t\t\t</h3>\n\t\t\t\t\t<p>{this.props.description}</p>\n\t\t\t\t</div>\n\t\t\t\t<div className=\"slds-media__figure slds-media__figure_reverse\">\n\t\t\t\t\t{this.props.onRenderAction ? this.props.onRenderAction() : null}\n\t\t\t\t\t{this.props.estimatedTime ? (\n\t\t\t\t\t\t<p\n\t\t\t\t\t\t\tclassName={classNames(\n\t\t\t\t\t\t\t\t'slds-text-align_right',\n\t\t\t\t\t\t\t\t'slds-text-color_weak',\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t'slds-p-top_medium': this.props.onRenderAction !== undefined,\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{this.props.estimatedTime}\n\t\t\t\t\t\t</p>\n\t\t\t\t\t) : null}\n\t\t\t\t</div>\n\t\t\t</React.Fragment>\n\t\t);\n\t}\n\n\trenderSummary() {\n\t\tlet figure;\n\t\tlet progressRingTheme;\n\n\t\tif (this.props.progress > 0 && this.props.progress < 100) {\n\t\t\tprogressRingTheme = 'active';\n\t\t} else if (this.props.progress === 100) {\n\t\t\tprogressRingTheme = 'complete';\n\t\t}\n\n\t\tif (this.props.onRenderFigure) {\n\t\t\tfigure = this.props.onRenderFigure();\n\n\t\t\tif (figure && figure.type && figure.type.displayName === ICON) {\n\t\t\t\tlet containerStyle = {\n\t\t\t\t\tposition: 'relative',\n\t\t\t\t\ttop: this.props.isExpandable ? '5px' : '-3px',\n\t\t\t\t};\n\n\t\t\t\tif (figure.props.containerStyle) {\n\t\t\t\t\tcontainerStyle = {\n\t\t\t\t\t\t...containerStyle,\n\t\t\t\t\t\t...figure.props.containerStyle,\n\t\t\t\t\t};\n\t\t\t\t}\n\n\t\t\t\tfigure = React.cloneElement(figure, {\n\t\t\t\t\t...figure.props,\n\t\t\t\t\tcontainerStyle,\n\t\t\t\t\tsize: 'small',\n\t\t\t\t});\n\t\t\t\tfigure = <div className=\"slds-media__figure\">{figure}</div>;\n\t\t\t}\n\t\t} else if (this.props.progress !== undefined) {\n\t\t\tfigure = (\n\t\t\t\t<div className=\"slds-media__figure\">\n\t\t\t\t\t<ProgressRing\n\t\t\t\t\t\thasIcon\n\t\t\t\t\t\ticon={this.props.progress === 100 ? null : this.props.stepNumber}\n\t\t\t\t\t\tflowDirection=\"fill\"\n\t\t\t\t\t\tsize=\"large\"\n\t\t\t\t\t\ttheme={progressRingTheme}\n\t\t\t\t\t\tvalue={this.props.progress}\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t);\n\t\t}\n\n\t\treturn (\n\t\t\t<div className=\"slds-setup-assistant__step-summary\">\n\t\t\t\t<div className=\"slds-media\">\n\t\t\t\t\t{figure}\n\t\t\t\t\t{this.props.isExpandable || this.props.progress !== undefined ? (\n\t\t\t\t\t\t<div className=\"slds-media__body slds-m-top_x-small\">\n\t\t\t\t\t\t\t<div className=\"slds-media\">{this.renderMediaContent()}</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t) : (\n\t\t\t\t\t\tthis.renderMediaContent()\n\t\t\t\t\t)}\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t);\n\t}\n\n\trender() {\n\t\tconst assistiveText = assign(\n\t\t\t{},\n\t\t\tdefaultProps.assistiveText,\n\t\t\tthis.props.assistiveText\n\t\t);\n\t\treturn (\n\t\t\t<li\n\t\t\t\tclassName={classNames(\n\t\t\t\t\t'slds-setup-assistant__item',\n\t\t\t\t\tthis.props.className\n\t\t\t\t)}\n\t\t\t\tid={this.getId()}\n\t\t\t>\n\t\t\t\t<article className=\"slds-setup-assistant__step\">\n\t\t\t\t\t{this.props.isExpandable ? (\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tclassName={classNames('slds-summary-detail', {\n\t\t\t\t\t\t\t\t'slds-is-open': this.getIsOpen(),\n\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\tassistiveText={{ icon: assistiveText.expandStep }}\n\t\t\t\t\t\t\t\taria-controls={`${this.getId()}-detail-content`}\n\t\t\t\t\t\t\t\tclassName=\"slds-m-right_x-small slds-m-top_x-small\"\n\t\t\t\t\t\t\t\ticonCategory=\"utility\"\n\t\t\t\t\t\t\t\ticonClassName=\"slds-summary-detail__action-icon\"\n\t\t\t\t\t\t\t\ticonName=\"switch\"\n\t\t\t\t\t\t\t\tonClick={this.toggleIsOpen}\n\t\t\t\t\t\t\t\tvariant=\"icon\"\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<div className=\"slds-container_fluid\">\n\t\t\t\t\t\t\t\t<div className=\"slds-summary-detail__title\">\n\t\t\t\t\t\t\t\t\t{this.renderSummary()}\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\tclassName=\"slds-summary-detail__content\"\n\t\t\t\t\t\t\t\t\tid={`${this.getId()}-detail-content`}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<div className=\"slds-setup-assistant__step-detail\">\n\t\t\t\t\t\t\t\t\t\t{this.props.onRenderContent\n\t\t\t\t\t\t\t\t\t\t\t? this.props.onRenderContent()\n\t\t\t\t\t\t\t\t\t\t\t: null}\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t) : (\n\t\t\t\t\t\tthis.renderSummary()\n\t\t\t\t\t)}\n\t\t\t\t</article>\n\t\t\t</li>\n\t\t);\n\t}\n}\n\nStep.displayName = SETUP_ASSISTANT_STEP;\nStep.propTypes = propTypes;\nStep.defaultProps = defaultProps;\n\nexport default Step;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// # Slider Component\n\n// Implements the [Slider design pattern](https://www.lightningdesignsystem.com/components/slider/) in React.\n\n// ### React\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\n// ### isFunction\nimport isFunction from 'lodash.isfunction';\n\n// ### classNames\nimport classNames from 'classnames';\n\n// ### shortid\n// [npmjs.com/package/shortid](https://www.npmjs.com/package/shortid)\n// shortid is a short, non-sequential, url-friendly, unique id generator\nimport shortid from 'shortid';\n\nimport { SLIDER } from '../../utilities/constants';\n\nimport getAriaProps from '../../utilities/get-aria-props';\n\nconst propTypes = {\n\t/**\n\t * The `aria-describedby` attribute is used to indicate the IDs of the elements that describe the object. It is used to establish a relationship between widgets or groups and text that described them. This is very similar to aria-labelledby: a label describes the essence of an object, while a description provides more information that the user might need.\n\t */\n\t'aria-describedby': PropTypes.string,\n\t/**\n\t * Assistive text for accessibility**\n\t * `disabled`: Read by screen readers to indicate a disabled slider\n\t * `label`: Visually hidden label but read out loud by screen readers.\n\t */\n\tassistiveText: PropTypes.shape({\n\t\tdisabled: PropTypes.string,\n\t\tlabel: PropTypes.string,\n\t}),\n\t/**\n\t * Class names to be added to the outer container of the Slider.\n\t */\n\tclassNameContainer: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\t/**\n\t * This is the initial value of an uncontrolled form element and is present\n\t * only to provide compatibility with hybrid framework applications that\n\t * are not entirely React. It should only be used in an application without\n\t * centralized state (Redux, Flux). \"Controlled components\" with centralized\n\t * state is highly recommended. See [Code Overview](https://github.com/salesforce/design-system-react/blob/master/docs/codebase-overview.md#controlled-and-uncontrolled-components) for more information.\n\t */\n\tdefaultValue: PropTypes.number,\n\t/**\n\t * Disables the Slider and prevents clicking it. Only available on the horizontal view.\n\t */\n\tdisabled: PropTypes.bool,\n\t/**\n\t * Message to display when the Slider is in an error state. When this is present, also visually highlights the component as in error.\n\t */\n\terrorText: PropTypes.string,\n\t/**\n\t * Set the HTML `id` of the slider.\n\t */\n\tid: PropTypes.string,\n\t/**\n\t * This label appears above the Slider.\n\t */\n\tlabel: PropTypes.string,\n\t/**\n\t * Maximum value of a specified range. Defaults to 100.\n\t */\n\tmax: PropTypes.number,\n\t/**\n\t * Minimum value of a specified range. Defaults to 0.\n\t */\n\tmin: PropTypes.number,\n\t/**\n\t * Name of the submitted form parameter.\n\t */\n\tname: PropTypes.string,\n\t/**\n\t * This event fires whenever the user has modified the data of the control. This callback recieves the following parameters `event, { value: [string] }`.\n\t */\n\tonChange: PropTypes.func,\n\t/**\n\t * This event fires when the value is committed. This callback recieves the following parameters `event, { value: [string] }`.\n\t */\n\tonInput: PropTypes.func,\n\t/**\n\t * Size of the slider.\n\t */\n\tsize: PropTypes.oneOf(['x-small', 'small', 'medium', 'large']),\n\t/**\n\t * By default, the granularity is 1 and the value is always an integer. For example, If you need a value between 5 and 10, accurate to two decimal places, you should set the value of step to 0.01\n\t */\n\tstep: PropTypes.number,\n\t/**\n\t * The Slider should be a controlled component, and will always display this value. This should always be used if you are using a Flux/Redux framework.\n\t */\n\tvalue: PropTypes.number,\n\t/**\n\t * Modifier that makes the slider vertical\n\t */\n\tvertical: PropTypes.bool,\n};\n\nconst defaultProps = {\n\tassistiveText: { disabled: 'Disabled' },\n\tmin: 0,\n\tmax: 100,\n\tstep: 1,\n};\n\n/**\n * The ability to style sliders with CSS varies across browsers. Using this component ensures sliders look the same everywhere.\n */\nclass Slider extends React.Component {\n\tstatic displayName = SLIDER;\n\n\tstatic propTypes = propTypes;\n\n\tstatic defaultProps = defaultProps;\n\n\tconstructor(props) {\n\t\tsuper(props);\n\n\t\tthis.generatedId = shortid.generate();\n\n\t\tif (this.props.errorText) {\n\t\t\tthis.generatedErrorId = shortid.generate();\n\t\t}\n\t}\n\n\tgetId() {\n\t\treturn this.props.id || this.generatedId;\n\t}\n\n\tgetErrorId() {\n\t\treturn this.props['aria-describedby'] || this.generatedErrorId;\n\t}\n\n\thandleChange = (event) => {\n\t\tif (isFunction(this.props.onChange)) {\n\t\t\tthis.props.onChange(event, { value: Number(event.target.value) });\n\t\t}\n\t};\n\n\thandleInput = (event) => {\n\t\tif (isFunction(this.props.onInput)) {\n\t\t\tthis.props.onInput(event, { value: Number(event.target.value) });\n\t\t}\n\t};\n\n\trender() {\n\t\tconst ariaProps = getAriaProps(this.props);\n\t\tariaProps['aria-describedby'] = this.getErrorId();\n\n\t\tconst assistiveText = {\n\t\t\t...defaultProps.assistiveText,\n\t\t\t...this.props.assistiveText,\n\t\t};\n\t\tconst labelText =\n\t\t\tthis.props.label ||\n\t\t\t(this.props.assistiveText && this.props.assistiveText.label);\n\n\t\treturn (\n\t\t\t<div\n\t\t\t\tclassName={classNames(\n\t\t\t\t\t'slds-form-element',\n\t\t\t\t\t{\n\t\t\t\t\t\t'slds-has-error': this.props.errorText,\n\t\t\t\t\t},\n\t\t\t\t\tthis.props.classNameContainer\n\t\t\t\t)}\n\t\t\t>\n\t\t\t\t<label\n\t\t\t\t\tclassName={classNames('slds-form-element__label', {\n\t\t\t\t\t\t'slds-assistive-text':\n\t\t\t\t\t\t\tthis.props.assistiveText && !this.props.label,\n\t\t\t\t\t})}\n\t\t\t\t\thtmlFor={this.getId()}\n\t\t\t\t>\n\t\t\t\t\t<span className=\"slds-slider-label\">\n\t\t\t\t\t\t{labelText ? (\n\t\t\t\t\t\t\t<span className=\"slds-slider-label__label\">{labelText}</span>\n\t\t\t\t\t\t) : null}\n\t\t\t\t\t\t<span className=\"slds-slider-label__range\">\n\t\t\t\t\t\t\t{this.props.min}\n\t\t\t\t\t\t\t{' - '}\n\t\t\t\t\t\t\t{this.props.max}\n\t\t\t\t\t\t</span>\n\t\t\t\t\t\t{this.props.disabled ? (\n\t\t\t\t\t\t\t<span className=\"slds-assistive-text\">\n\t\t\t\t\t\t\t\t{' '}\n\t\t\t\t\t\t\t\t{assistiveText.disabled}\n\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t) : null}\n\t\t\t\t\t</span>\n\t\t\t\t</label>\n\t\t\t\t<div className=\"slds-form-element__control\">\n\t\t\t\t\t<div\n\t\t\t\t\t\tclassName={classNames('slds-slider', {\n\t\t\t\t\t\t\t'slds-slider_vertical': this.props.vertical,\n\t\t\t\t\t\t\t'slds-size_x-small': this.props.size === 'x-small',\n\t\t\t\t\t\t\t'slds-size_small': this.props.size === 'small',\n\t\t\t\t\t\t\t'slds-size_medium': this.props.size === 'medium',\n\t\t\t\t\t\t\t'slds-size_large': this.props.size === 'large',\n\t\t\t\t\t\t})}\n\t\t\t\t\t>\n\t\t\t\t\t\t<input\n\t\t\t\t\t\t\ttype=\"range\"\n\t\t\t\t\t\t\tid={this.getId()}\n\t\t\t\t\t\t\tname={this.props.name}\n\t\t\t\t\t\t\tclassName=\"slds-slider__range\"\n\t\t\t\t\t\t\tmin={this.props.min}\n\t\t\t\t\t\t\tmax={this.props.max}\n\t\t\t\t\t\t\tstep={this.props.step}\n\t\t\t\t\t\t\tdisabled={this.props.disabled}\n\t\t\t\t\t\t\tonChange={this.handleChange}\n\t\t\t\t\t\t\tonInput={this.handleInput}\n\t\t\t\t\t\t\t{...ariaProps}\n\t\t\t\t\t\t\t/* A form element should not have both value and defaultValue props. */\n\t\t\t\t\t\t\t{...(this.props.value !== undefined\n\t\t\t\t\t\t\t\t? { value: this.props.value }\n\t\t\t\t\t\t\t\t: { defaultValue: this.props.defaultValue })}\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<span className=\"slds-slider__value\" aria-hidden=\"true\">\n\t\t\t\t\t\t\t{this.props.value || this.props.defaultValue || '0'}\n\t\t\t\t\t\t</span>\n\t\t\t\t\t</div>\n\t\t\t\t\t{this.props.errorText ? (\n\t\t\t\t\t\t<div id={this.getErrorId()} className=\"slds-form-element__help\">\n\t\t\t\t\t\t\t{this.props.errorText}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t) : null}\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t);\n\t}\n}\n\nexport default Slider;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport Button from '../../button';\n\nexport const DISPLAY_NAME = 'SLDSSplitViewToggleButton';\nexport const TOGGLE_BUTTON_WIDTH = '0.75rem';\n\nconst propsTypes = {\n\t/**\n\t * **Assistive text for accessibility**\n\t * * `toggleButtonOpen`: The button used to open the split view.\n\t * * `toggleButtonClose`: The button used to close the split view.\n\t */\n\tassistiveText: PropTypes.shape({\n\t\ttoggleButtonOpen: PropTypes.string.isRequired,\n\t\ttoggleButtonClose: PropTypes.string.isRequired,\n\t}),\n\t/**\n\t * Unique html id placed on the button for aria-controls\n\t */\n\tariaControls: PropTypes.string.isRequired,\n\t/**\n\t * Determines if the panel is open\n\t */\n\tisOpen: PropTypes.bool.isRequired,\n\t/**\n\t * **Event Callbacks**\n\t * * `onClick`: Called when the button is clicked.\n\t */\n\tevents: PropTypes.shape({\n\t\tonClick: PropTypes.func.isRequired,\n\t}),\n};\n\nconst defaultProps = {};\n\nconst SplitViewToggleButton = ({\n\tisOpen,\n\tassistiveText,\n\tariaControls,\n\tevents,\n}) => {\n\tconst toggleAssistiveText = isOpen\n\t\t? assistiveText.toggleButtonOpen\n\t\t: assistiveText.toggleButtonClose;\n\n\treturn (\n\t\t<Button\n\t\t\tclassName={classNames(\n\t\t\t\t'slds-button slds-button_icon slds-split-view__toggle-button',\n\t\t\t\t{ 'slds-is-open': isOpen }\n\t\t\t)}\n\t\t\taria-expanded={isOpen}\n\t\t\taria-controls={ariaControls}\n\t\t\ttitle={toggleAssistiveText}\n\t\t\tvariant=\"base\"\n\t\t\ticonName=\"left\"\n\t\t\ticonCategory=\"utility\"\n\t\t\ticonSize=\"x-small\"\n\t\t\tonClick={events.onClick}\n\t\t\tassistiveText={{ icon: toggleAssistiveText }}\n\t\t/>\n\t);\n};\n\nSplitViewToggleButton.displayName = DISPLAY_NAME;\nSplitViewToggleButton.propTypes = propsTypes;\nSplitViewToggleButton.defaultProps = defaultProps;\n\nexport default SplitViewToggleButton;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport shortid from 'shortid';\nimport classNames from 'classnames';\n\nimport ToggleButton, { TOGGLE_BUTTON_WIDTH } from './private/toggle-button';\n\nimport { SPLIT_VIEW } from '../../utilities/constants';\n\nconst propTypes = {\n\t/**\n\t * **Assistive text for accessibility**\n\t * * `toggleButtonOpen`: The button used to open the split view.\n\t * * `toggleButtonClose`: The button used to close the split view.\n\t */\n\tassistiveText: PropTypes.shape({\n\t\ttoggleButtonOpen: PropTypes.string,\n\t\ttoggleButtonClose: PropTypes.string,\n\t}),\n\t/**\n\t * HTML Id for the component.\n\t */\n\tid: PropTypes.string,\n\t/**\n\t * CSS classes to be added to the root `div` tag. Uses `classNames` [API](https://github.com/JedWatson/classnames).\n\t */\n\tclassName: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\t/**\n\t * Sets the split view to be open or closed.\n\t */\n\tisOpen: PropTypes.bool,\n\t/**\n\t * Event Callbacks\n\t * * `onClose`: Triggered when the split view has closed.\n\t * * `onOpen`: Triggered when the split view has opened.\n\t */\n\tevents: PropTypes.shape({\n\t\tonClose: PropTypes.func,\n\t\tonOpen: PropTypes.func,\n\t}),\n\t/**\n\t * The React component that is rendered in the master section.\n\t * You need to pass in an array of elements in order for the scrolling to in the SplitViewList to work correctly.\n\t * React requires that you also supply a unique `key` for each element [React Lists and Keys](https://reactjs.org/docs/lists-and-keys.html#keys).\n\t */\n\tmaster: PropTypes.oneOfType([\n\t\tPropTypes.arrayOf(PropTypes.element),\n\t\tPropTypes.element,\n\t]).isRequired,\n\t/**\n\t * The width of the master section.\n\t */\n\tmasterWidth: PropTypes.string,\n\t/**\n\t * The React component that is rendered in the detail section.\n\t */\n\tdetail: PropTypes.oneOfType([\n\t\tPropTypes.arrayOf(PropTypes.element),\n\t\tPropTypes.element,\n\t]).isRequired,\n};\n\nconst defaultProps = {\n\tassistiveText: {\n\t\ttoggleButtonOpen: 'Close split view',\n\t\ttoggleButtonClose: 'Open split view',\n\t},\n\tevents: {},\n\tmasterWidth: '20rem',\n};\n\n/**\n * Split view is used to navigate between records in a list while staying on the same screen.\n */\nclass SplitView extends React.Component {\n\tstatic displayName = SPLIT_VIEW;\n\n\tstatic propTypes = propTypes;\n\n\tstatic defaultProps = defaultProps;\n\n\tconstructor(props) {\n\t\tsuper(props);\n\n\t\tthis.state = {\n\t\t\tisOpen: typeof props.isOpen === 'boolean' ? props.isOpen : true,\n\t\t};\n\n\t\tthis.generatedId = shortid.generate();\n\t}\n\n\tgetId() {\n\t\treturn this.props.id || this.generatedId;\n\t}\n\n\tgetIsOpen() {\n\t\treturn typeof this.props.isOpen === 'boolean'\n\t\t\t? this.props.isOpen\n\t\t\t: this.state.isOpen;\n\t}\n\n\tgetMasterViewId() {\n\t\treturn `master_view_${this.getId()}`;\n\t}\n\n\ttoggle(event) {\n\t\tif (typeof this.props.isOpen !== 'boolean') {\n\t\t\tthis.setState((prevState) => ({\n\t\t\t\tisOpen: !prevState.isOpen,\n\t\t\t}));\n\t\t}\n\n\t\tconst isOpen = this.getIsOpen();\n\n\t\tif (isOpen && this.props.events.onClose) {\n\t\t\tthis.props.events.onClose(event);\n\t\t} else if (!isOpen && this.props.events.onOpen) {\n\t\t\tthis.props.events.onOpen(event);\n\t\t}\n\t}\n\n\trender() {\n\t\treturn (\n\t\t\t<div\n\t\t\t\tid={this.getId()}\n\t\t\t\tclassName={classNames('slds-grid', this.props.className)}\n\t\t\t\tstyle={{\n\t\t\t\t\theight: '100%',\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\t<div\n\t\t\t\t\tstyle={{\n\t\t\t\t\t\tmaxWidth: this.getIsOpen() ? this.props.masterWidth : '0',\n\t\t\t\t\t\tminWidth: this.getIsOpen() ? this.props.masterWidth : '0',\n\t\t\t\t\t}}\n\t\t\t\t\tclassName={classNames(\n\t\t\t\t\t\t'slds-split-view_container',\n\t\t\t\t\t\t{ 'slds-is-open': this.getIsOpen() },\n\t\t\t\t\t\t{ 'slds-is-closed': !this.getIsOpen() }\n\t\t\t\t\t)}\n\t\t\t\t>\n\t\t\t\t\t<ToggleButton\n\t\t\t\t\t\tassistiveText={this.props.assistiveText}\n\t\t\t\t\t\tariaControls={this.getMasterViewId()}\n\t\t\t\t\t\tisOpen={this.getIsOpen()}\n\t\t\t\t\t\tevents={{\n\t\t\t\t\t\t\tonClick: (event) => this.toggle(event),\n\t\t\t\t\t\t}}\n\t\t\t\t\t/>\n\t\t\t\t\t<article\n\t\t\t\t\t\tid={this.getMasterViewId()}\n\t\t\t\t\t\tclassName=\"slds-split-view slds-grid slds-grid_vertical slds-grow slds-scrollable_none\"\n\t\t\t\t\t>\n\t\t\t\t\t\t{this.getIsOpen() ? this.props.master : null}\n\t\t\t\t\t</article>\n\t\t\t\t</div>\n\t\t\t\t<div\n\t\t\t\t\tstyle={{\n\t\t\t\t\t\tmarginLeft: TOGGLE_BUTTON_WIDTH,\n\t\t\t\t\t}}\n\t\t\t\t\tclassName=\"slds-grow slds-scrollable_y\"\n\t\t\t\t>\n\t\t\t\t\t{this.props.detail}\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t);\n\t}\n}\n\nexport default SplitView;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\nimport React from 'react';\nimport classNames from 'classnames';\nimport PageHeader from '../page-header';\n\nimport { SPLIT_VIEW_HEADER } from '../../utilities/constants';\n\nconst propTypes = {};\n\nconst defaultProps = {};\n/**\n * The Split View Header takes the same properties as the [PageHeader](https://react.lightningdesignsystem.com/components/page-headers/) component.\n */\nconst SplitViewHeader = ({ className, ...rest }) => (\n\t<PageHeader\n\t\tclassName={classNames(\n\t\t\t'slds-split-view__header slds-has-bottom-magnet',\n\t\t\tclassName\n\t\t)}\n\t\t{...rest}\n\t/>\n);\n\nSplitViewHeader.displayName = SPLIT_VIEW_HEADER;\nSplitViewHeader.propTypes = propTypes;\nSplitViewHeader.defaultProps = defaultProps;\n\nexport default SplitViewHeader;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\nexport const DISPLAY_NAME = 'SLDSSplitViewListItemContent';\n\nconst propTypes = {\n\t/**\n\t * **Item to be displayed**\n\t * * `label`: The main label displayed on the top left.\n\t * * `topRightText`: The text displayed on the top right.\n\t * * `bottomLeftText`: The text displayed on the bottom left.\n\t * * `bottomRightText`: The text displayed on the bottom right.\n\t */\n\titem: PropTypes.shape({\n\t\tlabel: PropTypes.string,\n\t\ttopRightText: PropTypes.string,\n\t\tbottomLeftText: PropTypes.string,\n\t\tbottomRightText: PropTypes.string,\n\t}),\n};\n\nconst defaultProps = {};\n\nconst SplitViewListItemContent = ({ item }) => (\n\t<div>\n\t\t<div className=\"slds-grid slds-wrap\">\n\t\t\t<span\n\t\t\t\tclassName=\"slds-truncate slds-text-body_regular slds-text-color_default\"\n\t\t\t\ttitle={item.label}\n\t\t\t>\n\t\t\t\t{item.label}\n\t\t\t</span>\n\t\t\t<span\n\t\t\t\tclassName=\"slds-truncate slds-col_bump-left\"\n\t\t\t\ttitle={item.topRightText}\n\t\t\t>\n\t\t\t\t{item.topRightText}\n\t\t\t</span>\n\t\t</div>\n\t\t<div className=\"slds-grid slds-wrap\">\n\t\t\t<span className=\"slds-truncate\" title={item.bottomLeftText}>\n\t\t\t\t{item.bottomLeftText}\n\t\t\t</span>\n\t\t\t<span\n\t\t\t\tclassName=\"slds-truncate slds-col_bump-left\"\n\t\t\t\ttitle={item.bottomLeftText}\n\t\t\t>\n\t\t\t\t{item.bottomRightText}\n\t\t\t</span>\n\t\t</div>\n\t</div>\n);\n\nSplitViewListItemContent.displayName = DISPLAY_NAME;\nSplitViewListItemContent.propTypes = propTypes;\nSplitViewListItemContent.defaultProps = defaultProps;\n\nexport default SplitViewListItemContent;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n/* eslint-disable class-methods-use-this */\n\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\n\nexport const DISPLAY_NAME = 'SLDSSplitViewListItemWithContent';\n\nconst propsTypes = {\n\t/**\n\t * **Assistive text for accessibility**\n\t * * `unreadItem`: The unread indicator.\n\t */\n\tassistiveText: PropTypes.shape({\n\t\tunreadItem: PropTypes.string,\n\t}),\n\t/**\n\t * Item to be displayed\n\t */\n\titem: PropTypes.object.isRequired,\n\t/**\n\t * Allows multiple item to be selection\n\t */\n\tmultiple: PropTypes.bool,\n\t/**\n\t * Shows the item as `focused`.\n\t */\n\tisFocused: PropTypes.bool.isRequired,\n\t/**\n\t * Shows the item as `selected`.\n\t */\n\tisSelected: PropTypes.bool.isRequired,\n\t/**\n\t * Shows the item as `unread`.\n\t */\n\tisUnread: PropTypes.bool,\n\t/**\n\t * **Event Callbacks**\n\t * * `onClick`: Called when the item is clicked.\n\t * * * Event\n\t * * * Meta data\n\t * * * * `item`: The original item.\n\t * * * * `isSelected`: Is the item selected.\n\t * * * * `isUnread`: Is the item unread.\n\t */\n\tevents: PropTypes.shape({\n\t\tonClick: PropTypes.func.isRequired,\n\t}),\n\t/**\n\t * Reference to the list item component\n\t */\n\tlistItemRef: PropTypes.func,\n};\n\nconst defaultProps = {\n\tassistiveText: {\n\t\tunreadItem: 'Unread Item',\n\t},\n\tevents: {},\n};\n\n/**\n * HOC that wraps the list item content with selection and unread functionality.\n * @param ListItemContent {node} A React component\n * @returns {ListItemWithContent} A React component\n */\nconst listItemWithContent = (ListItemContent) => {\n\tclass ListItemWithContent extends React.Component {\n\t\tstatic displayName = `${DISPLAY_NAME}(${\n\t\t\tListItemContent.displayName || ListItemContent.name || 'Component'\n\t\t})`;\n\n\t\tstatic propTypes = propsTypes;\n\n\t\tstatic defaultProps = defaultProps;\n\n\t\tonClick(event) {\n\t\t\tthis.props.events.onClick(event, {\n\t\t\t\titem: this.props.item,\n\t\t\t\tisSelected: this.props.isSelected,\n\t\t\t\tisUnread: this.props.isUnread,\n\t\t\t});\n\t\t}\n\n\t\tunread() {\n\t\t\treturn this.props.isUnread ? (\n\t\t\t\t<abbr\n\t\t\t\t\tclassName=\"slds-indicator_unread\"\n\t\t\t\t\ttitle={this.props.assistiveText.unreadItem}\n\t\t\t\t\taria-label={this.props.assistiveText.unreadItem}\n\t\t\t\t>\n\t\t\t\t\t{/* eslint-disable-next-line react/jsx-curly-brace-presence */}\n\t\t\t\t\t<span className=\"slds-assistive-text\">{'●'}</span>\n\t\t\t\t</abbr>\n\t\t\t) : null;\n\t\t}\n\n\t\trender() {\n\t\t\treturn (\n\t\t\t\t<li\n\t\t\t\t\tclassName={classNames('slds-split-view__list-item', {\n\t\t\t\t\t\t'slds-is-unread': this.props.isUnread,\n\t\t\t\t\t})}\n\t\t\t\t\trole=\"presentation\"\n\t\t\t\t>\n\t\t\t\t\t<a\n\t\t\t\t\t\tclassName=\"slds-split-view__list-item-action slds-grow slds-has-flexi-truncate\"\n\t\t\t\t\t\trole=\"option\"\n\t\t\t\t\t\tref={this.props.listItemRef}\n\t\t\t\t\t\taria-selected={\n\t\t\t\t\t\t\tthis.props.multiple\n\t\t\t\t\t\t\t\t? !!this.props.isSelected\n\t\t\t\t\t\t\t\t: this.props.isSelected\n\t\t\t\t\t\t}\n\t\t\t\t\t\ttabIndex={this.props.isFocused ? 0 : -1}\n\t\t\t\t\t\thref=\"javascript:void(0);\" // eslint-disable-line no-script-url\n\t\t\t\t\t\tonClick={(e) => this.onClick(e)}\n\t\t\t\t\t>\n\t\t\t\t\t\t{this.unread()}\n\t\t\t\t\t\t<ListItemContent {...this.props} />\n\t\t\t\t\t</a>\n\t\t\t\t</li>\n\t\t\t);\n\t\t}\n\t}\n\n\treturn ListItemWithContent;\n};\n\nexport default listItemWithContent;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n/* eslint-disable class-methods-use-this */\n\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport eventUtil from '../../utilities/event';\n\nimport { SPLIT_VIEW_LISTBOX } from '../../utilities/constants';\n\nimport Icon from '../icon';\nimport SplitViewListItemContent from './private/list-item-content';\nimport listItemWithContent from './private/list-item-with-content';\n\nexport const SORT_OPTIONS = Object.freeze({\n\tUP: 'up',\n\tDOWN: 'down',\n});\n\nconst propTypes = {\n\t/**\n\t * **Assistive text for accessibility**\n\t * * `list`: aria label for the list\n\t * * `sort`\n\t * * `sortedBy`: Clickable sort header for the list.\n\t * * `descending`: Descending sorting.\n\t * * `ascending`: Ascending sorting.\n\t */\n\tassistiveText: PropTypes.shape({\n\t\tlist: PropTypes.string,\n\t\tsort: PropTypes.shape({\n\t\t\tsortedBy: PropTypes.string,\n\t\t\tdescending: PropTypes.string,\n\t\t\tascending: PropTypes.string,\n\t\t}),\n\t\tunreadItem: PropTypes.string,\n\t}),\n\t/**\n\t * CSS classes to be added to the parent `div` tag.\n\t */\n\tclassName: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\t/**\n\t * Event Callbacks\n\t * * `onSelect`: Called when a list item is selected. Previously, this event was called when an item was focused. The UX pattern has changed and this event is now called on pressing enter or mouse click.\n\t * * event {object} List item click event\n\t * * Meta {object}\n\t * * selectedItems {array} List of selected items.\n\t * * item {object} Last selected item.\n\t * * `onSort`: Called when the list is sorted.\n\t * * event {object} Sort click event\n\t */\n\tevents: PropTypes.shape({\n\t\tonSelect: PropTypes.func.isRequired,\n\t\tonSort: PropTypes.func,\n\t}),\n\t/**\n\t * HTML id for component.\n\t */\n\tid: PropTypes.string,\n\t/**\n\t * **Text labels for internationalization**\n\t * * `header`: This is the header of the list.\n\t */\n\tlabels: PropTypes.shape({\n\t\theader: PropTypes.string,\n\t}),\n\t/**\n\t * The direction of the sort arrow. Option are:\n\t * * SORT_OPTIONS.UP: `up`\n\t * * SORT_OPTIONS.DOWN: `down`\n\t */\n\tsortDirection: PropTypes.oneOf([SORT_OPTIONS.UP, SORT_OPTIONS.DOWN]),\n\t/**\n\t * Allows multiple item to be selection\n\t */\n\tmultiple: PropTypes.bool,\n\t/**\n\t * The list of items.\n\t * It is recommended that you have a unique `id` for each item.\n\t */\n\toptions: PropTypes.array.isRequired,\n\t/**\n\t * Accepts an array of item objects. For single selection, pass in an array of one object.\n\t */\n\tselection: PropTypes.array,\n\t/**\n\t * Accepts an array of item objects. For single unread, pass in an array of one object.\n\t */\n\tunread: PropTypes.array,\n\t/**\n\t * Custom list item template for the list item content. The select and unread functionality wraps the custom list item.\n\t * This should be a React component that accepts props.\n\t */\n\tlistItem: PropTypes.func,\n};\n\nconst defaultProps = {\n\tassistiveText: {\n\t\tlist: 'Select an item to open it in a new workspace tab.',\n\t\tsort: {\n\t\t\tsortedBy: 'Sorted by',\n\t\t\tdescending: 'Descending',\n\t\t\tascending: 'Ascending',\n\t\t},\n\t},\n\tevents: {},\n\tlabels: {},\n\tselection: [],\n\tunread: [],\n};\n\n/**\n * The menu with the ARIA role of a listbox.\n */\nclass SplitViewListbox extends React.Component {\n\tstatic displayName = SPLIT_VIEW_LISTBOX;\n\n\tstatic propTypes = propTypes;\n\n\tstatic defaultProps = defaultProps;\n\n\tconstructor(props) {\n\t\tsuper(props);\n\n\t\tthis.listItemComponents = {};\n\n\t\tthis.state = {\n\t\t\tcurrentSelectedItem: null,\n\t\t\tcurrentFocusedListItem: {\n\t\t\t\tindex: 0,\n\t\t\t\titem: null,\n\t\t\t},\n\t\t};\n\n\t\t// Generates the list item template\n\t\tthis.ListItemWithContent = listItemWithContent(\n\t\t\tprops.listItem || SplitViewListItemContent\n\t\t);\n\t}\n\n\tcomponentDidMount() {\n\t\tthis.focusFirstItem();\n\t}\n\n\tisListItemFocused(item) {\n\t\treturn this.state.currentFocusedListItem.item === item;\n\t}\n\n\tisSelected(item) {\n\t\treturn this.props.selection.includes(item);\n\t}\n\n\tisUnread(item) {\n\t\treturn this.props.unread.includes(item);\n\t}\n\n\thandleKeyDown(event) {\n\t\tif (this.props.multiple && event.key === 'a' && event.ctrlKey) {\n\t\t\t// select / deselect all\n\t\t\teventUtil.trap(event);\n\t\t\tif (this.props.options === this.props.selection) {\n\t\t\t\tthis.deselectAllListItems(event);\n\t\t\t} else {\n\t\t\t\tthis.selectAllListItems(event);\n\t\t\t}\n\t\t} else if (event.key === 'ArrowUp') {\n\t\t\teventUtil.trap(event);\n\t\t\tthis.moveToPreviousItem(event);\n\t\t} else if (event.key === 'ArrowDown') {\n\t\t\teventUtil.trap(event);\n\t\t\tthis.moveToNextItem(event);\n\t\t}\n\t}\n\n\tmoveToNextItem(event) {\n\t\tconst nextFocusIndex =\n\t\t\tthis.state.currentFocusedListItem.index === this.props.options.length - 1\n\t\t\t\t? 0\n\t\t\t\t: this.state.currentFocusedListItem.index + 1;\n\n\t\tthis.moveToIndex(event, nextFocusIndex);\n\t}\n\n\tmoveToPreviousItem(event) {\n\t\tconst previousFocusIndex =\n\t\t\tthis.state.currentFocusedListItem.index === 0\n\t\t\t\t? this.props.options.length - 1\n\t\t\t\t: this.state.currentFocusedListItem.index - 1;\n\n\t\tthis.moveToIndex(event, previousFocusIndex);\n\t}\n\n\tmoveToIndex(event, index) {\n\t\tconst item = this.props.options[index];\n\n\t\tthis.focusItem(item);\n\t}\n\n\tfocusFirstItem() {\n\t\tconst firstSelectedItem =\n\t\t\tthis.props.options.find((item) => this.props.selection.includes(item)) ||\n\t\t\tthis.props.options[0];\n\n\t\tif (firstSelectedItem) {\n\t\t\tthis.focusItem(firstSelectedItem, true);\n\t\t}\n\t}\n\n\tfocusItem(item, setDataOnly) {\n\t\tconst index = this.props.options.indexOf(item);\n\n\t\tif (!setDataOnly) {\n\t\t\tthis.listItemComponents[index].focus();\n\t\t}\n\n\t\tthis.setState({\n\t\t\tcurrentFocusedListItem: {\n\t\t\t\tindex,\n\t\t\t\titem,\n\t\t\t},\n\t\t});\n\t}\n\n\tdeselectAllListItems(event) {\n\t\tthis.setState({ currentSelectedItem: null });\n\t\tthis.props.events.onSelect(event, {\n\t\t\tselectedItems: [],\n\t\t\titem: null,\n\t\t});\n\t}\n\n\tselectAllListItems(event) {\n\t\tthis.props.events.onSelect(event, {\n\t\t\tselectedItems: this.props.options,\n\t\t\titem: this.state.currentSelectedItem,\n\t\t});\n\t}\n\n\tselectListItem(item, event) {\n\t\tlet selectedItems = [item];\n\n\t\tif (this.props.multiple) {\n\t\t\tif (event.metaKey) {\n\t\t\t\tselectedItems = this.props.selection.includes(item)\n\t\t\t\t\t? this.props.selection.filter((i) => i !== item)\n\t\t\t\t\t: [item, ...this.props.selection];\n\t\t\t} else if (event.shiftKey) {\n\t\t\t\t/* eslint-disable fp/no-mutating-methods */\n\t\t\t\tconst [begin, end] = [\n\t\t\t\t\tthis.props.options.indexOf(this.state.currentSelectedItem),\n\t\t\t\t\tthis.props.options.indexOf(item),\n\t\t\t\t].sort();\n\t\t\t\t/* eslint-enable fp/no-mutating-methods */\n\n\t\t\t\tconst addToSelection = this.props.options.slice(begin, end + 1);\n\n\t\t\t\tselectedItems = [\n\t\t\t\t\t...addToSelection,\n\t\t\t\t\t...this.props.selection.filter((i) => !addToSelection.includes(i)),\n\t\t\t\t];\n\t\t\t}\n\t\t}\n\n\t\tthis.setState({ currentSelectedItem: item });\n\n\t\tthis.props.events.onSelect(event, { selectedItems, item });\n\t}\n\n\thandleOnSelect(event, { item }) {\n\t\tthis.selectListItem(item, event);\n\t\tthis.focusItem(item);\n\t}\n\n\tsortDirection() {\n\t\treturn this.props.sortDirection ? (\n\t\t\t<Icon\n\t\t\t\tcategory=\"utility\"\n\t\t\t\tname={\n\t\t\t\t\tthis.props.sortDirection === SORT_OPTIONS.DOWN\n\t\t\t\t\t\t? 'arrowdown'\n\t\t\t\t\t\t: 'arrowup'\n\t\t\t\t}\n\t\t\t\tsize=\"xx-small\"\n\t\t\t\tclassName=\"slds-align-top\"\n\t\t\t/>\n\t\t) : null;\n\t}\n\n\theaderWrapper(children) {\n\t\treturn this.props.events.onSort ? (\n\t\t\t<a\n\t\t\t\taria-live=\"polite\"\n\t\t\t\tstyle={{ borderTop: '0' }}\n\t\t\t\thref=\"javascript:void(0);\" // eslint-disable-line no-script-url\n\t\t\t\trole=\"button\"\n\t\t\t\tclassName=\"slds-split-view__list-header slds-grid slds-text-link_reset\"\n\t\t\t\tonClick={this.props.events.onSort}\n\t\t\t>\n\t\t\t\t{children}\n\t\t\t</a>\n\t\t) : (\n\t\t\t<div\n\t\t\t\tstyle={{ borderTop: '0' }}\n\t\t\t\tclassName=\"slds-split-view__list-header slds-grid\"\n\t\t\t>\n\t\t\t\t{children}\n\t\t\t</div>\n\t\t);\n\t}\n\n\theader() {\n\t\treturn this.props.labels.header\n\t\t\t? this.headerWrapper(\n\t\t\t\t\t<span\n\t\t\t\t\t\taria-sort={\n\t\t\t\t\t\t\tthis.props.sortDirection === SORT_OPTIONS.DOWN\n\t\t\t\t\t\t\t\t? this.props.assistiveText.sort.descending\n\t\t\t\t\t\t\t\t: this.props.assistiveText.sort.ascending\n\t\t\t\t\t\t}\n\t\t\t\t\t>\n\t\t\t\t\t\t<span className=\"slds-assistive-text\">\n\t\t\t\t\t\t\t{this.props.assistiveText.sort.sortedBy}\n\t\t\t\t\t\t\t{': '}\n\t\t\t\t\t\t</span>\n\t\t\t\t\t\t<span>\n\t\t\t\t\t\t\t{this.props.labels.header}\n\t\t\t\t\t\t\t{this.sortDirection()}\n\t\t\t\t\t\t</span>\n\t\t\t\t\t\t<span className=\"slds-assistive-text\">\n\t\t\t\t\t\t\t{'- '}\n\t\t\t\t\t\t\t{this.props.sortDirection === SORT_OPTIONS.DOWN\n\t\t\t\t\t\t\t\t? this.props.assistiveText.sort.descending\n\t\t\t\t\t\t\t\t: this.props.assistiveText.sort.ascending}\n\t\t\t\t\t\t</span>\n\t\t\t\t\t</span>\n\t\t\t )\n\t\t\t: null;\n\t}\n\n\taddListItemComponent(component, index) {\n\t\tthis.listItemComponents[index] = component;\n\t}\n\n\tlistItems() {\n\t\tconst { ListItemWithContent } = this;\n\n\t\treturn this.props.options.map((item, index) => (\n\t\t\t<ListItemWithContent\n\t\t\t\tkey={item.id || index}\n\t\t\t\tassistiveText={{\n\t\t\t\t\tunreadItem: this.props.assistiveText.unreadItem,\n\t\t\t\t}}\n\t\t\t\tlistItemRef={(component) => {\n\t\t\t\t\tthis.addListItemComponent(component, index);\n\t\t\t\t}}\n\t\t\t\titem={item}\n\t\t\t\tisFocused={this.isListItemFocused(item)}\n\t\t\t\tisSelected={this.isSelected(item)}\n\t\t\t\tisUnread={this.isUnread(item)}\n\t\t\t\tevents={{\n\t\t\t\t\tonClick: (event, meta) => this.handleOnSelect(event, meta),\n\t\t\t\t}}\n\t\t\t\tmultiple={this.props.multiple}\n\t\t\t/>\n\t\t));\n\t}\n\n\trender() {\n\t\treturn (\n\t\t\t<div\n\t\t\t\tid={this.props.id}\n\t\t\t\tclassName={classNames(\n\t\t\t\t\t'slds-grid slds-grid_vertical slds-scrollable_none',\n\t\t\t\t\tthis.props.className\n\t\t\t\t)}\n\t\t\t>\n\t\t\t\t{this.header()}\n\t\t\t\t<ul\n\t\t\t\t\tclassName=\"slds-scrollable_y\"\n\t\t\t\t\taria-label={this.props.assistiveText.list}\n\t\t\t\t\taria-multiselectable={this.props.multiple}\n\t\t\t\t\trole=\"listbox\"\n\t\t\t\t\tonKeyDown={(event) => this.handleKeyDown(event)}\n\t\t\t\t>\n\t\t\t\t\t{this.listItems()}\n\t\t\t\t</ul>\n\t\t\t</div>\n\t\t);\n\t}\n}\n\nexport default SplitViewListbox;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n/* eslint-disable import/no-mutable-exports */\n/* eslint-disable max-len */\n\nimport onlyOneOfProperties from '../../utilities/warning/only-one-of-properties';\nimport sunsetProperty from '../../utilities/warning/sunset-property';\nimport getComponentDocFn from '../../utilities/get-component-doc';\n\nlet checkProps = function checkPropsFunction() {};\n\nif (process.env.NODE_ENV !== 'production') {\n\tcheckProps = function checkPropsFunction(COMPONENT, props, jsonDoc) {\n\t\tconst createDocUrl = getComponentDocFn(jsonDoc);\n\n\t\tonlyOneOfProperties(\n\t\t\tCOMPONENT,\n\t\t\t{\n\t\t\t\tassistiveText: props.assistiveText,\n\t\t\t\tlabel: props.label,\n\t\t\t},\n\t\t\tcreateDocUrl()\n\t\t);\n\n\t\tif (typeof props.assistiveText === 'string') {\n\t\t\tsunsetProperty(\n\t\t\t\tCOMPONENT,\n\t\t\t\tprops.assistiveText,\n\t\t\t\t'assistiveText',\n\t\t\t\t`\\`assistiveText\\` as a string has been deprecated and is now an object to allow for multiple uses in the component. Please use \\`assistiveText.label\\` instead. ${createDocUrl(\n\t\t\t\t\t'assistiveText'\n\t\t\t\t)}`\n\t\t\t);\n\t\t}\n\t};\n}\n\nexport default checkProps;\n","/* eslint-disable react/jsx-curly-brace-presence */\n/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n/* eslint-disable jsx-a11y/no-autofocus */\n\n// # Textarea Component\n\n// Implements the [Textarea design pattern](https://lightningdesignsystem.com/components/textarea).\n// Based on SLDS v2.4.0\n//\n\n// ### React\nimport React from 'react';\n\nimport PropTypes from 'prop-types';\n\n// ### classNames\n// [github.com/JedWatson/classnames](https://github.com/JedWatson/classnames)\n// This project uses `classnames`, \"a simple javascript utility for conditionally\n// joining classNames together.\"\nimport classNames from 'classnames';\n\n// ### shortid\n// [npmjs.com/package/shortid](https://www.npmjs.com/package/shortid)\n// shortid is a short, non-sequential, url-friendly, unique id generator\nimport shortid from 'shortid';\n\n// ## Children\n// This component's `checkProps` which issues warnings to developers about properties when in development mode (similar to React's built in development tools)\nimport checkProps from './check-props';\n\nimport { TEXTAREA } from '../../utilities/constants';\nimport getAriaProps from '../../utilities/get-aria-props';\n\nimport componentDoc from './component.json';\n\n/**\n * A multi-line plain-text editing control.\n */\nclass Textarea extends React.Component {\n\tstatic displayName = TEXTAREA;\n\n\tstatic propTypes = {\n\t\t/**\n\t\t * **Assistive text for accessibility.**\n\t\t * * `label`: If present, the label associated with this `textarea` is overwritten by this text and is visually not shown.\n\t\t */\n\t\tassistiveText: PropTypes.shape({\n\t\t\tlabel: PropTypes.string,\n\t\t}),\n\t\t/**\n\t\t * The aria-activedescendant attribute contains the ID of the currently active child object that is part of a composite widget within the Document Object Model. It makes do with the overhead of having all or more than one child focusable. As the name specifies, it helps in managing the current active child of the composite widget.\n\t\t */\n\t\t'aria-activedescendant': PropTypes.string,\n\t\t/**\n\t\t * Indicates if the suggestions in a composite widget are values that complete the current textbox input.\n\t\t */\n\t\t'aria-autocomplete': PropTypes.string,\n\t\t/**\n\t\t * An HTML ID that is shared with ARIA-supported devices with the\n\t\t * `aria-controls` attribute in order to relate the input with\n\t\t * another region of the page. An example would be a select box\n\t\t * that shows or hides a panel.\n\t\t */\n\t\t'aria-controls': PropTypes.string,\n\t\t/**\n\t\t * The `aria-describedby` attribute is used to indicate the IDs of the elements that describe the object. It is used to establish a relationship between widgets or groups and text that described them. This is very similar to aria-labelledby: a label describes the essence of an object, while a description provides more information that the user might need.\n\t\t */\n\t\t'aria-describedby': PropTypes.string,\n\t\t/**\n\t\t * Use the `aria-expanded` state to indicate whether regions of the content are collapsible, and to expose whether a region is currently expanded or collapsed.\n\t\t */\n\t\t'aria-expanded': PropTypes.bool,\n\t\t/**\n\t\t * Indicates that the element has a popup context menu or sub-level menu.\n\t\t */\n\t\t'aria-haspopup': PropTypes.bool,\n\t\t/**\n\t\t * The aria-labelledby attribute contains the element IDs of labels in objects such as input elements, widgets, and groups. The attribute establishes relationships between objects and their labels. Assistive technology, such as screen readers, use this attribute to catalog the objects in a document so that users can navigate between them. Without an element ID, the assistive technology cannot catalog the object.\n\t\t */\n\t\t'aria-labelledby': PropTypes.string,\n\t\t/**\n\t\t * An HTML ID that is shared with ARIA-supported devices with the\n\t\t * `aria-controls` attribute in order to relate the input with\n\t\t * another region of the page. An example would be a search field\n\t\t * that shows search results.\n\t\t */\n\t\t'aria-owns': PropTypes.string,\n\t\t/**\n\t\t * The `aria-required` attribute is used to indicate that user input is required on an element before a form can be submitted.\n\t\t */\n\t\t'aria-required': PropTypes.bool,\n\t\t/**\n\t\t * Specifies is the textarea should automatically get focus when the page loads. This is typically a poor user experience.\n\t\t */\n\t\tautoFocus: PropTypes.bool,\n\t\t/**\n\t\t * Elements are added after the `textarea`.\n\t\t */\n\t\tchildren: PropTypes.node,\n\t\t/**\n\t\t * Class names to be added to the textarea component.\n\t\t */\n\t\tclassName: PropTypes.oneOfType([\n\t\t\tPropTypes.array,\n\t\t\tPropTypes.object,\n\t\t\tPropTypes.string,\n\t\t]),\n\t\t/** Allows for ability to apply classNames to outer textarea div.\n\t\t */\n\t\tclassNameContainer: PropTypes.oneOfType([\n\t\t\tPropTypes.array,\n\t\t\tPropTypes.object,\n\t\t\tPropTypes.string,\n\t\t]),\n\t\t/**\n\t\t * Disables the textarea and prevents editing the contents.\n\t\t */\n\t\tdisabled: PropTypes.bool,\n\t\t/**\n\t\t * Message to display when the textarea is in an error state. When this is present, also visually highlights the component as in error.\n\t\t */\n\t\terrorText: PropTypes.string,\n\t\t/**\n\t\t * Every textarea must have a unique ID in order to support keyboard navigation and ARIA support.\n\t\t */\n\t\tid: PropTypes.string,\n\t\t/**\n\t\t * This callback exposes the textarea reference / DOM node to parent components. `<Parent textareaRef={(textareaComponent) => this.textarea = textareaComponent} />\n\t\t */\n\t\ttextareaRef: PropTypes.func,\n\t\t/**\n\t\t * This label appears above the textarea.\n\t\t */\n\t\tlabel: PropTypes.string,\n\t\t/**\n\t\t * Triggered when focus is removed.\n\t\t */\n\t\tonBlur: PropTypes.func,\n\t\t/**\n\t\t * This callback fires when the textarea changes. The synthetic React event will be the first parameter to the callback. You will probably want to reference `event.target.value` in your callback. No custom data object is provided.\n\t\t */\n\t\tonChange: PropTypes.func,\n\t\t/**\n\t\t * This event fires when the textarea is clicked.\n\t\t */\n\t\tonClick: PropTypes.func,\n\t\t/**\n\t\t * Triggered when component is focused.\n\t\t */\n\t\tonFocus: PropTypes.func,\n\t\t/**\n\t\t * Similar to `onchange`. Triggered when an element gets user input.\n\t\t */\n\t\tonInput: PropTypes.func,\n\t\t/**\n\t\t * Triggered when a submittable <input> element is invalid.\n\t\t */\n\t\tonInvalid: PropTypes.func,\n\t\t/**\n\t\t * Triggered when a key is pressed down\n\t\t */\n\t\tonKeyDown: PropTypes.func,\n\t\t/**\n\t\t * Triggered when a key is pressed and released\n\t\t */\n\t\tonKeyPress: PropTypes.func,\n\t\t/**\n\t\t * Triggered when a key is released\n\t\t */\n\t\tonKeyUp: PropTypes.func,\n\t\t/**\n\t\t * Triggered after some text has been selected in an element.\n\t\t */\n\t\tonSelect: PropTypes.func,\n\t\t/**\n\t\t * Fires when a form is submitted.\n\t\t */\n\t\tonSubmit: PropTypes.func,\n\t\t/**\n\t\t * Maximum number of characters allowed.\n\t\t */\n\t\tmaxLength: PropTypes.string,\n\t\t/**\n\t\t * Name of the submitted form parameter.\n\t\t */\n\t\tname: PropTypes.string,\n\t\t/**\n\t\t * Text that will appear in an empty textarea.\n\t\t */\n\t\tplaceholder: PropTypes.string,\n\t\t/**\n\t\t * Highlights the textarea as a required field (does not perform any validation).\n\t\t */\n\t\trequired: PropTypes.bool,\n\t\t/**\n\t\t * The textarea is a controlled component, and will always display this value.\n\t\t */\n\t\tvalue: PropTypes.string,\n\t\t/**\n\t\t * The textarea is a uncontrolled component, and this will be the initial value.\n\t\t */\n\t\tdefaultValue: PropTypes.string,\n\t\t/**\n\t\t * Specifies how the text in a text area is to be wrapped when submitted in a form.\n\t\t */\n\t\twrap: PropTypes.oneOf(['soft', 'hard']),\n\t};\n\n\tconstructor(props) {\n\t\tsuper(props);\n\n\t\t// `checkProps` issues warnings to developers about properties (similar to React's built in development tools)\n\t\tcheckProps(TEXTAREA, props, componentDoc);\n\n\t\tthis.generatedId = shortid.generate();\n\t\tif (props.errorText) {\n\t\t\tthis.generatedErrorId = shortid.generate();\n\t\t}\n\t}\n\n\tgetId = () => this.props.id || this.generatedId;\n\n\tgetErrorId = () => this.props['aria-describedby'] || this.generatedErrorId;\n\n\t// ### Render\n\trender() {\n\t\tconst {\n\t\t\tautoFocus,\n\t\t\tchildren,\n\t\t\tclassName,\n\t\t\tclassNameContainer,\n\t\t\tdisabled,\n\t\t\terrorText,\n\t\t\ttextareaRef, // eslint-disable-line react/prop-types\n\t\t\tlabel,\n\t\t\tonBlur,\n\t\t\tonChange,\n\t\t\tonClick,\n\t\t\tonFocus,\n\t\t\tonInput,\n\t\t\tonInvalid,\n\t\t\tonKeyDown,\n\t\t\tonKeyPress,\n\t\t\tonKeyUp,\n\t\t\tonSelect,\n\t\t\tonSubmit,\n\t\t\tmaxLength,\n\t\t\tname,\n\t\t\tplaceholder,\n\t\t\trequired,\n\t\t\trole,\n\t\t\tvalue,\n\t\t\tdefaultValue,\n\t\t\twrap,\n\n\t\t\t// ### Additional properties\n\t\t\t// Using [object destructuring](https://facebook.github.io/react/docs/transferring-props.html#transferring-with-...-in-jsx) to pass on any properties which are not explicitly defined.\n\t\t\t// ...props // Uncomment this if you actually need to send the rest of the props to other elements\n\t\t} = this.props;\n\n\t\tconst ariaProps = getAriaProps(this.props);\n\t\tconst assistiveTextLabel =\n\t\t\ttypeof this.props.assistiveText === 'string'\n\t\t\t\t? this.props.assistiveText\n\t\t\t\t: {\n\t\t\t\t\t\t...this.props.assistiveText,\n\t\t\t\t }.label;\n\n\t\tconst labelText = label || assistiveTextLabel; // One of these is required to pass accessibility tests\n\n\t\treturn (\n\t\t\t<div\n\t\t\t\tclassName={classNames(\n\t\t\t\t\t'slds-form-element',\n\t\t\t\t\t{\n\t\t\t\t\t\t'slds-has-error': errorText,\n\t\t\t\t\t},\n\t\t\t\t\tclassNameContainer\n\t\t\t\t)}\n\t\t\t>\n\t\t\t\t{labelText && (\n\t\t\t\t\t<label\n\t\t\t\t\t\tclassName={classNames('slds-form-element__label', {\n\t\t\t\t\t\t\t'slds-assistive-text': assistiveTextLabel && !label,\n\t\t\t\t\t\t})}\n\t\t\t\t\t\thtmlFor={this.getId()}\n\t\t\t\t\t>\n\t\t\t\t\t\t{required && (\n\t\t\t\t\t\t\t<abbr className=\"slds-required\" title=\"required\">\n\t\t\t\t\t\t\t\t{'*'}\n\t\t\t\t\t\t\t</abbr>\n\t\t\t\t\t\t)}\n\t\t\t\t\t\t{labelText}\n\t\t\t\t\t</label>\n\t\t\t\t)}\n\t\t\t\t<div className={classNames('slds-form-element__control')}>\n\t\t\t\t\t<textarea\n\t\t\t\t\t\tclassName={classNames('slds-textarea', className)}\n\t\t\t\t\t\tautoFocus={autoFocus}\n\t\t\t\t\t\tdisabled={disabled}\n\t\t\t\t\t\tid={this.getId()}\n\t\t\t\t\t\tmaxLength={maxLength}\n\t\t\t\t\t\tname={name}\n\t\t\t\t\t\tonBlur={onBlur}\n\t\t\t\t\t\tonChange={onChange}\n\t\t\t\t\t\tonClick={onClick}\n\t\t\t\t\t\tonFocus={onFocus}\n\t\t\t\t\t\tonInput={onInput}\n\t\t\t\t\t\tonInvalid={onInvalid}\n\t\t\t\t\t\tonKeyDown={onKeyDown}\n\t\t\t\t\t\tonKeyPress={onKeyPress}\n\t\t\t\t\t\tonKeyUp={onKeyUp}\n\t\t\t\t\t\tonSelect={onSelect}\n\t\t\t\t\t\tonSubmit={onSubmit}\n\t\t\t\t\t\tplaceholder={placeholder}\n\t\t\t\t\t\tref={textareaRef}\n\t\t\t\t\t\trole={role}\n\t\t\t\t\t\trequired={required}\n\t\t\t\t\t\twrap={wrap}\n\t\t\t\t\t\tvalue={value}\n\t\t\t\t\t\tdefaultValue={defaultValue}\n\t\t\t\t\t\t{...ariaProps}\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t\t{errorText && (\n\t\t\t\t\t<div id={this.getErrorId()} className=\"slds-form-element__help\">\n\t\t\t\t\t\t{errorText}\n\t\t\t\t\t</div>\n\t\t\t\t)}\n\t\t\t\t{children}\n\t\t\t</div>\n\t\t);\n\t}\n}\n\nexport default Textarea;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n/* eslint-disable import/no-mutable-exports */\n\nimport deprecatedProperty from '../../utilities/warning/deprecated-property';\nimport getComponentDocFn from '../../utilities/get-component-doc';\n\nlet checkProps = function checkPropsFunction() {};\n\nif (process.env.NODE_ENV !== 'production') {\n\tcheckProps = function checkPropsFunction(COMPONENT, props, jsonDoc) {\n\t\tconst createDocUrl = getComponentDocFn(jsonDoc);\n\t\tdeprecatedProperty(\n\t\t\tCOMPONENT,\n\t\t\tprops.isInline,\n\t\t\t'isInline',\n\t\t\t'menuPosition=\"relative\"',\n\t\t\tcreateDocUrl('menuPosition')\n\t\t);\n\t};\n}\n\nexport default checkProps;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// # Timepicker Dropdown Trigger\n\n// ## Dependencies\n\n// ### React\nimport React from 'react';\n\nimport PropTypes from 'prop-types';\n\n// ### Children\nimport Input from '../../input';\n\n// ### Event Helpers\nimport KEYS from '../../../utilities/key-code';\n\n// ## Constants\nimport { MENU_DROPDOWN_TRIGGER } from '../../../utilities/constants';\n\n/**\n * Component description.\n */\nclass TimepickerDropdownTrigger extends React.Component {\n\t// ### Display Name\n\t// Always use the canonical component name (set in the core) as the React\n\t// display name.\n\tstatic displayName = MENU_DROPDOWN_TRIGGER;\n\n\t// ### Prop Types\n\tstatic propTypes = {\n\t\t/**\n\t\t * Icon for right side of trigger\n\t\t */\n\t\ticonRight: PropTypes.node,\n\t\t/**\n\t\t * A unique ID is needed in order to support keyboard navigation, ARIA support, and connect the dropdown to the triggering input.\n\t\t */\n\t\tid: PropTypes.string,\n\t\t/**\n\t\t * This label appears above the input.\n\t\t */\n\t\tlabel: PropTypes.string,\n\t\t/**\n\t\t * The dropdown menu.\n\t\t */\n\t\tmenu: PropTypes.node,\n\t\t/**\n\t\t * Is only called when `openOn` is set to `hover` and when the triggering input loses focus.\n\t\t */\n\t\tonBlur: PropTypes.func,\n\t\t/**\n\t\t * This prop is passed onto the triggering `Input`. Triggered when the trigger input is clicked.\n\t\t */\n\t\tonClick: PropTypes.func,\n\t\t/**\n\t\t * Is only called when `openOn` is set to `hover` and when the triggering input gains focus.\n\t\t */\n\t\tonFocus: PropTypes.func,\n\t\t/**\n\t\t * Called when a key pressed.\n\t\t */\n\t\tonKeyDown: PropTypes.func,\n\t\t/**\n\t\t * Called when mouse clicks down on the trigger input.\n\t\t */\n\t\tonMouseDown: PropTypes.func,\n\t\t/**\n\t\t * The ref of the actual triggering input.\n\t\t */\n\t\ttriggerRef: PropTypes.func,\n\t\t/**\n\t\t * Date\n\t\t */\n\t\tvalue: PropTypes.string,\n\t};\n\n\thandleKeyDown = (event) => {\n\t\tif (this.props.onKeyDown && event.keyCode) {\n\t\t\tif (\n\t\t\t\tevent.keyCode === KEYS.ENTER ||\n\t\t\t\tevent.keyCode === KEYS.DOWN ||\n\t\t\t\tevent.keyCode === KEYS.UP ||\n\t\t\t\tevent.keyCode === KEYS.ESCAPE\n\t\t\t) {\n\t\t\t\tthis.props.onKeyDown(event);\n\t\t\t}\n\t\t}\n\t};\n\n\t// ### Render\n\trender() {\n\t\tconst {\n\t\t\ticonRight,\n\t\t\tmenu,\n\t\t\tonBlur,\n\t\t\tonFocus,\n\t\t\tonKeyDown, // eslint-disable-line no-unused-vars\n\t\t\tonMouseDown,\n\t\t\ttriggerRef,\n\t\t\t...props\n\t\t} = this.props;\n\n\t\treturn (\n\t\t\t/* eslint-disable jsx-a11y/no-static-element-interactions */\n\t\t\t<div\n\t\t\t\tonBlur={onBlur}\n\t\t\t\tonFocus={onFocus}\n\t\t\t\tonKeyDown={this.handleKeyDown}\n\t\t\t\tonMouseDown={onMouseDown}\n\t\t\t>\n\t\t\t\t{/* eslint-enable jsx-a11y/no-static-element-interactions */}\n\t\t\t\t<Input iconRight={iconRight} {...props} inputRef={triggerRef}>\n\t\t\t\t\t{menu}\n\t\t\t\t</Input>\n\t\t\t</div>\n\t\t);\n\t}\n}\n\nexport default TimepickerDropdownTrigger;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// # Timepicker Component\n\n// ## Dependencies\n\n// ### React\nimport React from 'react';\n\nimport PropTypes from 'prop-types';\n\n// ### isDate\nimport isDate from 'lodash.isdate';\n\n// This component's `checkProps` which issues warnings to developers about properties when in development mode (similar to React's built in development tools)\nimport checkProps from './check-props';\n\n// ### Dropdown\nimport InputIcon from '../icon/input-icon';\nimport MenuDropdown from '../menu-dropdown';\nimport TimepickerDropdownTrigger from './private/dropdown-trigger';\n\n// ## Constants\nimport { TIME_PICKER } from '../../utilities/constants';\n\nimport componentDoc from './component.json';\n\nconst getOptions = ({ props }) => {\n\tconst baseDate = new Date();\n\tconst options = [];\n\n\tbaseDate.setHours(0);\n\tbaseDate.setMinutes(0);\n\tbaseDate.setSeconds(0);\n\tbaseDate.setMilliseconds(0);\n\n\tconst curDate = new Date(baseDate);\n\n\t// eslint-disable-next-line fp/no-loops\n\twhile (baseDate.getDate() === curDate.getDate()) {\n\t\tconst formatted = props.formatter(curDate);\n\n\t\t// eslint-disable-next-line fp/no-mutating-methods\n\t\toptions.push({\n\t\t\tlabel: formatted,\n\t\t\tvalue: new Date(curDate),\n\t\t});\n\n\t\tcurDate.setMinutes(curDate.getMinutes() + props.stepInMinutes);\n\t}\n\n\treturn options;\n};\n\n/**\n * Component description.\n */\nclass Timepicker extends React.Component {\n\t// ### Display Name\n\t// Always use the canonical component name as the React display name.\n\tstatic displayName = TIME_PICKER;\n\n\t// ### Prop Types\n\tstatic propTypes = {\n\t\t/**\n\t\t * If true, constrains the menu to the scroll parent. See `Dropdown`.\n\t\t */\n\t\tconstrainToScrollParent: PropTypes.bool,\n\t\t/**\n\t\t * Disables the input and prevents editing the contents.\n\t\t */\n\t\tdisabled: PropTypes.bool,\n\t\t/**\n\t\t * Time formatting function\n\t\t */\n\t\tformatter: PropTypes.func,\n\t\t/**\n\t\t * Sets the dialog width to the width of the target. Menus attached to `input` typically follow this UX pattern.\n\t\t */\n\t\tinheritTargetWidth: PropTypes.bool,\n\t\t/**\n\t\t * This label appears above the input.\n\t\t */\n\t\tlabel: PropTypes.string,\n\t\t/**\n\t\t * Custom element that overrides the default Menu Item component.\n\t\t */\n\t\tlistItemRenderer: PropTypes.func,\n\t\t/**\n\t\t * Please select one of the following:\n\t\t * * `absolute` - (default) The dialog will use `position: absolute` and style attributes to position itself. This allows inverted placement or flipping of the dialog.\n\t\t * * `overflowBoundaryElement` - The dialog will overflow scrolling parents. Use on elements that are aligned to the left or right of their target and don't care about the target being within a scrolling parent. Typically this is a popover or tooltip. Dropdown menus can usually open up and down if no room exists. In order to achieve this a portal element will be created and attached to `body`. This element will render into that detached render tree.\n\t\t * * `relative` - No styling or portals will be used. Menus will be positioned relative to their triggers. This is a great choice for HTML snapshot testing.\n\t\t */\n\t\tmenuPosition: PropTypes.oneOf([\n\t\t\t'absolute',\n\t\t\t'overflowBoundaryElement',\n\t\t\t'relative',\n\t\t]),\n\t\t/**\n\t\t * Receives the props `(dateValue, stringValue)`\n\t\t */\n\t\tonDateChange: PropTypes.func,\n\t\t/**\n\t\t * Parsing date string into Date\n\t\t */\n\t\tparser: PropTypes.func,\n\t\t/**\n\t\t * Text that will appear in an empty input.\n\t\t */\n\t\tplaceholder: PropTypes.string,\n\t\t/**\n\t\t * If true, adds asterisk next to input label to indicate it is a required field.\n\t\t */\n\t\trequired: PropTypes.bool,\n\t\t/**\n\t\t * Frequency of options\n\t\t */\n\t\tstepInMinutes: PropTypes.number,\n\t\t/**\n\t\t * Value for input that is parsed to create an internal state in the `date` format.\n\t\t */\n\t\tstrValue: PropTypes.string,\n\t\t/**\n\t\t * Instance an internal state in the `date` format.\n\t\t */\n\t\tvalue: PropTypes.instanceOf(Date),\n\t};\n\n\tstatic defaultProps = {\n\t\tformatter(date) {\n\t\t\tif (date) {\n\t\t\t\treturn date.toLocaleTimeString(navigator.language, {\n\t\t\t\t\thour: '2-digit',\n\t\t\t\t\tminute: '2-digit',\n\t\t\t\t});\n\t\t\t}\n\n\t\t\treturn null;\n\t\t},\n\t\tparser(timeStr) {\n\t\t\tconst date = new Date();\n\t\t\tconst dateStr = date.toLocaleString(navigator.language, {\n\t\t\t\tyear: 'numeric',\n\t\t\t\tmonth: 'numeric',\n\t\t\t\tday: 'numeric',\n\t\t\t});\n\t\t\treturn new Date(`${dateStr} ${timeStr}`);\n\t\t},\n\t\tmenuPosition: 'absolute',\n\t\tvalue: null,\n\t\tstepInMinutes: 30,\n\t};\n\n\tstate = {\n\t\tvalue: this.props.value,\n\t\tstrValue: this.props.strValue,\n\t\toptions: getOptions({ props: this.props }),\n\t};\n\n\tconstructor(props) {\n\t\tsuper(props);\n\n\t\t// `checkProps` issues warnings to developers about properties (similar to React's built in development tools)\n\t\tcheckProps(TIME_PICKER, props, componentDoc);\n\t}\n\n\t// eslint-disable-next-line camelcase, react/sort-comp\n\tUNSAFE_componentWillReceiveProps(nextProps) {\n\t\tif (nextProps.value && this.props.value) {\n\t\t\tconst currentTime = this.props.value.getTime();\n\t\t\tconst nextTime = nextProps.value.getTime();\n\n\t\t\tif (currentTime !== nextTime) {\n\t\t\t\tthis.setState({\n\t\t\t\t\tvalue: nextProps.value,\n\t\t\t\t\tstrValue: this.props.formatter(nextProps.value),\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t\tif (nextProps.strValue !== this.props.value) {\n\t\t\tthis.setState({ strValue: nextProps.strValue });\n\t\t}\n\t}\n\n\tparseDate = (strValue) => {\n\t\tconst newDate = this.props.parser(strValue);\n\n\t\tif (isDate(newDate)) {\n\t\t\tif (!isNaN(newDate.getTime())) {\n\t\t\t\treturn newDate;\n\t\t\t}\n\t\t}\n\n\t\treturn new Date();\n\t};\n\n\thandleChange = (date, strValue) => {\n\t\tthis.setState({\n\t\t\tvalue: date,\n\t\t\tstrValue,\n\t\t});\n\n\t\tif (this.props.onDateChange) {\n\t\t\tthis.props.onDateChange(date, strValue);\n\t\t}\n\t};\n\n\thandleSelect = (val) => {\n\t\tif (val && val.value) {\n\t\t\tthis.handleChange(val.value, val.label);\n\t\t}\n\t};\n\n\thandleInputChange = (event) => {\n\t\tconst strValue = event.target.value;\n\n\t\tthis.setState({\n\t\t\tstrValue,\n\t\t});\n\n\t\tif (this.props.onDateChange) {\n\t\t\tconst parsedDate = this.props.parser(strValue);\n\t\t\tthis.props.onDateChange(parsedDate, strValue);\n\t\t}\n\t};\n\n\t// ### Render\n\trender() {\n\t\treturn (\n\t\t\t<MenuDropdown\n\t\t\t\tcheckmark={false}\n\t\t\t\tconstrainToScrollParent={this.props.constrainToScrollParent}\n\t\t\t\tdisabled={this.props.disabled}\n\t\t\t\tinheritTargetWidth={this.props.inheritTargetWidth}\n\t\t\t\tlabel={this.props.label}\n\t\t\t\tlistItemRenderer={this.props.listItemRenderer}\n\t\t\t\t// inline style override\n\t\t\t\tmenuStyle={{\n\t\t\t\t\tmaxHeight: '20em',\n\t\t\t\t\toverflowX: 'hidden',\n\t\t\t\t\tminWidth: '100%',\n\t\t\t\t}}\n\t\t\t\tmenuPosition={this.props.menuPosition}\n\t\t\t\tonSelect={this.handleSelect}\n\t\t\t\toptions={this.state.options}\n\t\t\t>\n\t\t\t\t<TimepickerDropdownTrigger\n\t\t\t\t\ticonRight={<InputIcon category=\"utility\" name=\"clock\" />}\n\t\t\t\t\tonChange={this.handleInputChange}\n\t\t\t\t\tplaceholder={this.props.placeholder}\n\t\t\t\t\trequired={this.props.required}\n\t\t\t\t\ttype=\"text\"\n\t\t\t\t\tvalue={this.state.strValue}\n\t\t\t\t/>\n\t\t\t</MenuDropdown>\n\t\t);\n\t}\n}\n\nexport default Timepicker;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n/* eslint-disable import/no-mutable-exports */\n\nimport sunsetProperty from '../../utilities/warning/sunset-property';\nimport getComponentDocFn from '../../utilities/get-component-doc';\n\nlet checkProps = function checkPropsFunction() {};\n\nif (process.env.NODE_ENV !== 'production') {\n\tcheckProps = function checkPropsFunction(COMPONENT, props, jsonDoc) {\n\t\tconst createDocUrl = getComponentDocFn(jsonDoc);\n\n\t\t/* eslint-disable max-len */\n\t\tsunsetProperty(\n\t\t\tCOMPONENT,\n\t\t\tprops.iconCategory,\n\t\t\t'iconCategory',\n\t\t\t`Use \\`Icon\\` instead. ${createDocUrl('icon')}`\n\t\t);\n\t\tsunsetProperty(\n\t\t\tCOMPONENT,\n\t\t\tprops.iconName,\n\t\t\t'iconName',\n\t\t\t`Use \\`Icon\\` instead. ${createDocUrl('icon')}`\n\t\t);\n\n\t\tsunsetProperty(\n\t\t\tCOMPONENT,\n\t\t\tprops.content,\n\t\t\t'content',\n\t\t\t`Use \\`labels.heading\\` and \\`labels.headingLink\\` instead. ${createDocUrl(\n\t\t\t\t'labels'\n\t\t\t)}`\n\t\t);\n\t\tsunsetProperty(\n\t\t\tCOMPONENT,\n\t\t\tprops.isOpen,\n\t\t\t'isOpen',\n\t\t\t`Use a conditional outside of alert. ${createDocUrl()}`\n\t\t);\n\t\tsunsetProperty(\n\t\t\tCOMPONENT,\n\t\t\tprops.isOpen,\n\t\t\t'onDismiss',\n\t\t\t`Use \\`onRequestClose\\` instead. ${createDocUrl('onRequestClose')}`\n\t\t);\n\t\tsunsetProperty(COMPONENT, props.texture, 'texture', createDocUrl());\n\t\tsunsetProperty(\n\t\t\tCOMPONENT,\n\t\t\tprops.theme,\n\t\t\t'theme',\n\t\t\t`Use \\`variant\\` instead. ${createDocUrl('variant')}`\n\t\t);\n\t};\n}\n\nexport default checkProps;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// # Toast Component\n\n// Implements the [Toast design pattern](https://lightningdesignsystem.com/components/toasts/) in React.\n\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\nimport assign from 'lodash.assign';\n\nimport classNames from '../../utilities/class-names';\nimport Button from '../button';\nimport Icon from '../icon';\nimport checkProps from './check-props';\nimport { TOAST } from '../../utilities/constants';\nimport DOMElementFocus from '../../utilities/dom-element-focus';\nimport componentDoc from './component.json';\n\nconst propTypes = {\n\t/**\n\t * **Assistive text for accessibility**\n\t * This object is merged with the default props object on every render.\n\t * * `closeButton`: This is a visually hidden label for the close button.\n\t * * `error`: This is a visually hidden label to mark the toast as an error variant\n\t * * `info`: This is a visually hidden label to mark the toast as an info variant\n\t * * `success`: This is a visually hidden label to mark the toast as an success variant\n\t * * `warning`: This is a visually hidden label to mark the toast as an warning variant\n\t * _Tested with snapshot testing._\n\t */\n\tassistiveText: PropTypes.shape({\n\t\tcloseButton: PropTypes.oneOfType([PropTypes.string, PropTypes.node]),\n\t}),\n\t/**\n\t * CSS classes to be added to tag with `.slds-notify_toast`. Uses `classNames` [API](https://github.com/JedWatson/classnames).\n\t * _Tested with snapshot testing._\n\t */\n\tclassName: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\t/**\n\t * If duration exists, the Toast will disappear after that amount of time. Time in milliseconds. _Tested with Mocha testing._\n\t */\n\tduration: PropTypes.number,\n\t/**\n\t * **Text labels for internationalization**\n\t * This object is merged with the default props object on every render.\n\t * * `details`: Secondary text below heading\n\t * * `heading`: text within heading tag\n\t * * `headingLink`: Text of link that triggers `onClickHeadingLink`. Inline links should pass a keyed array of React components into `labels.heading`.\n\t *\n\t * _Tested with snapshot testing._\n\t */\n\tlabels: PropTypes.shape({\n\t\tdetails: PropTypes.oneOfType([PropTypes.string, PropTypes.node]),\n\t\theading: PropTypes.oneOfType([PropTypes.string, PropTypes.node]),\n\t\theadingLink: PropTypes.oneOfType([PropTypes.string, PropTypes.node]),\n\t}),\n\t/**\n\t * Triggered by link. _Tested with Mocha testing._\n\t */\n\tonClickHeadingLink: PropTypes.func,\n\t/**\n\t * Icon of type `~/components/icon`. This icon will be cloned and additional props appended. The default icons are:\n\t * * info variant: `utility:info`\n\t * * error variant: `utility:error`\n\t * * success variant: `utility:success`\n\t * * warning variant: `utility:warning`\n\t *\n\t * _Tested with snapshot testing._\n\t */\n\ticon: PropTypes.node,\n\t/**\n\t * Triggered by close button. _Tested with Mocha testing._\n\t */\n\tonRequestClose: PropTypes.func,\n\t/**\n\t * Custom styles to be passed to the component. _Tested with Mocha testing._\n\t */\n\tstyle: PropTypes.object,\n\t/**\n\t * The type of Toast. _Tested with snapshot testing._\n\t */\n\tvariant: PropTypes.oneOf(['error', 'info', 'success', 'warning']).isRequired,\n};\n\nconst defaultProps = {\n\tassistiveText: {\n\t\tcloseButton: 'Close',\n\t\terror: 'error',\n\t\tinfo: 'info',\n\t\tsuccess: 'success',\n\t\twarning: 'warning',\n\t},\n\tvariant: 'info',\n};\n\n/**\n * Toast serves as a feedback & confirmation mechanism after the user takes an action. View [banner guidelines](https://www.lightningdesignsystem.com/guidelines/messaging/components/banners/).\n */\n\nclass Toast extends React.Component {\n\tconstructor(props) {\n\t\tsuper(props);\n\t\tthis.state = {\n\t\t\tisInitialRender: true,\n\t\t};\n\t\tthis.timeout = null;\n\t\tthis.toast = null;\n\n\t\t// `checkProps` issues warnings to developers about properties (similar to React's built in development tools)\n\t\tcheckProps(TOAST, props, componentDoc);\n\t}\n\n\tcomponentDidMount() {\n\t\tif (this.props.duration) {\n\t\t\tthis.timeout = setTimeout(() => {\n\t\t\t\tthis.onClose();\n\t\t\t}, this.props.duration);\n\t\t}\n\t}\n\n\tcomponentWillUnmount() {\n\t\tthis.clearTimeout();\n\t\tDOMElementFocus.returnFocusToStoredElement();\n\t}\n\n\tonClose = () => {\n\t\tthis.clearTimeout();\n\n\t\tif (this.props.onRequestClose) {\n\t\t\tthis.props.onRequestClose();\n\t\t}\n\t};\n\n\tclearTimeout = () => {\n\t\tif (this.timeout) {\n\t\t\tclearTimeout(this.timeout);\n\t\t\tthis.timeout = null;\n\t\t}\n\t};\n\n\tsaveToastRef = (toast) => {\n\t\tthis.toast = toast;\n\t\tif (this.state.isInitialRender) {\n\t\t\tDOMElementFocus.storeActiveElement();\n\t\t\tif (this.toast) {\n\t\t\t\tthis.toast.focus();\n\t\t\t}\n\t\t\tthis.setState({ isInitialRender: false });\n\t\t}\n\t};\n\n\trender() {\n\t\t// Merge objects of strings with their default object\n\t\tconst assistiveText = assign(\n\t\t\t{},\n\t\t\tdefaultProps.assistiveText,\n\t\t\tthis.props.assistiveText\n\t\t);\n\t\tconst labels = assign({}, defaultProps.labels, this.props.labels);\n\t\tconst heading = labels.heading || this.props.content; // eslint-disable-line react/prop-types\n\n\t\tconst assistiveTextVariant = {\n\t\t\tinfo: assistiveText.info,\n\t\t\tsuccess: assistiveText.success,\n\t\t\twarning: assistiveText.warning,\n\t\t\terror: assistiveText.error,\n\t\t};\n\n\t\tconst defaultIcons = {\n\t\t\tinfo: <Icon category=\"utility\" name=\"info\" />,\n\t\t\tsuccess: <Icon category=\"utility\" name=\"success\" />,\n\t\t\twarning: <Icon category=\"utility\" name=\"warning\" />,\n\t\t\terror: <Icon category=\"utility\" name=\"error\" />,\n\t\t};\n\n\t\tconst icon = this.props.icon\n\t\t\t? this.props.icon\n\t\t\t: defaultIcons[this.props.variant];\n\n\t\tconst clonedIcon = React.cloneElement(icon, {\n\t\t\tcontainerClassName: 'slds-m-right_small slds-no-flex slds-align-top',\n\t\t\tinverse: true,\n\t\t\tsize: 'small',\n\t\t});\n\n\t\t/* eslint-disable no-script-url */\n\t\treturn (\n\t\t\t<div\n\t\t\t\tclassName={classNames(\n\t\t\t\t\t'slds-notify slds-notify_toast',\n\t\t\t\t\t{\n\t\t\t\t\t\t'slds-theme_info': this.props.variant === 'info',\n\t\t\t\t\t\t'slds-theme_success': this.props.variant === 'success',\n\t\t\t\t\t\t'slds-theme_warning': this.props.variant === 'warning',\n\t\t\t\t\t\t'slds-theme_error': this.props.variant === 'error',\n\t\t\t\t\t},\n\t\t\t\t\tthis.props.className\n\t\t\t\t)}\n\t\t\t\tref={this.saveToastRef}\n\t\t\t\trole=\"status\"\n\t\t\t\tstyle={this.props.style}\n\t\t\t\ttabIndex={0} // eslint-disable-line jsx-a11y/no-noninteractive-tabindex\n\t\t\t>\n\t\t\t\t<span className=\"slds-assistive-text\">\n\t\t\t\t\t{assistiveTextVariant[this.props.variant]}\n\t\t\t\t</span>\n\t\t\t\t{clonedIcon}\n\t\t\t\t<div className=\"slds-notify__content\">\n\t\t\t\t\t<h2 className=\"slds-text-heading_small\">\n\t\t\t\t\t\t{heading}{' '}\n\t\t\t\t\t\t{labels.headingLink ? (\n\t\t\t\t\t\t\t<a\n\t\t\t\t\t\t\t\tonClick={this.props.onClickHeadingLink}\n\t\t\t\t\t\t\t\thref=\"javascript:void(0);\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{labels.headingLink}\n\t\t\t\t\t\t\t</a>\n\t\t\t\t\t\t) : null}\n\t\t\t\t\t</h2>\n\t\t\t\t\t{labels.details ? <p>{labels.details}</p> : null}\n\t\t\t\t</div>\n\t\t\t\t<Button\n\t\t\t\t\tassistiveText={{ icon: assistiveText.closeButton }}\n\t\t\t\t\tclassName=\"slds-notify__close\"\n\t\t\t\t\ticonCategory=\"utility\"\n\t\t\t\t\ticonName=\"close\"\n\t\t\t\t\ticonSize=\"large\"\n\t\t\t\t\tinverse\n\t\t\t\t\tonClick={this.props.onRequestClose}\n\t\t\t\t\ttitle={assistiveText.closeButton}\n\t\t\t\t\tvariant=\"icon\"\n\t\t\t\t/>\n\t\t\t</div>\n\t\t);\n\t}\n}\n\nToast.defaultProps = defaultProps;\nToast.displayName = TOAST;\nToast.propTypes = propTypes;\n\nexport default Toast;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// # Toast Container Component\n\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from '../../utilities/class-names';\nimport { TOAST_CONTAINER } from '../../utilities/constants';\n\nconst propTypes = {\n\t/**\n\t * CSS classes to be added to tag with `.slds-notify-container`. Uses `classNames` [API](https://github.com/JedWatson/classnames).\n\t */\n\tclassName: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\t/**\n\t * Toast components\n\t */\n\tchildren: PropTypes.node,\n};\n\n/**\n * A fixed container for toast banners.\n */\n\nclass ToastContainer extends React.Component {\n\trender() {\n\t\treturn (\n\t\t\t<div\n\t\t\t\tclassName={classNames('slds-notify-container', this.props.className)}\n\t\t\t>\n\t\t\t\t{this.props.children}\n\t\t\t</div>\n\t\t);\n\t}\n}\n\nToastContainer.displayName = TOAST_CONTAINER;\nToastContainer.propTypes = propTypes;\n\nexport default ToastContainer;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// # Tree Item Component\n\n// Implements the [Tree design pattern](https://www.lightningdesignsystem.com/components/tree/) in React.\n\n// ### React\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport findIndex from 'lodash.findindex';\nimport isFunction from 'lodash.isfunction';\n\nimport Button from '../../button';\nimport Highlighter from '../../utilities/highlighter';\n\nimport EventUtil from '../../../utilities/event';\nimport KEYS from '../../../utilities/key-code';\nimport mapKeyEventCallbacks from '../../../utilities/key-callbacks';\nimport { TREE_ITEM } from '../../../utilities/constants';\n\nconst handleSelect = ({ event, props, fromFocus }) => {\n\tEventUtil.trap(event);\n\tif (isFunction(props.onSelect)) {\n\t\tprops.onSelect({\n\t\t\tevent,\n\t\t\tdata: {\n\t\t\t\tnode: props.node,\n\t\t\t\tselect: !props.node.selected,\n\t\t\t\ttreeIndex: props.treeIndex,\n\t\t\t},\n\t\t\tfromFocus,\n\t\t});\n\t}\n};\n\nconst findNextNode = (flattenedNodes, node) => {\n\tconst nodes = flattenedNodes.map((flattenedNode) => flattenedNode.node);\n\tconst index = findIndex(nodes, { id: node.id });\n\treturn flattenedNodes[(index + 1) % flattenedNodes.length];\n};\n\nconst findPreviousNode = (flattenedNodes, node) => {\n\tconst nodes = flattenedNodes.map((flattenedNode) => flattenedNode.node);\n\tlet index = findIndex(nodes, { id: node.id }) - 1;\n\tif (index < 0) {\n\t\tindex += flattenedNodes.length;\n\t}\n\treturn flattenedNodes[index];\n};\n\nconst handleKeyDownDown = (event, props) => {\n\tif (props.focusedNodeIndex === props.treeIndex) {\n\t\t// Select the next visible node\n\t\tconst flattenedNode = findNextNode(props.flattenedNodes, props.node);\n\t\tprops.onSelect({\n\t\t\tevent,\n\t\t\tdata: {\n\t\t\t\tnode: flattenedNode.node,\n\t\t\t\tselect: true,\n\t\t\t\ttreeIndex: flattenedNode.treeIndex,\n\t\t\t},\n\t\t\tclearSelectedNodes: true,\n\t\t});\n\t}\n};\n\nconst handleKeyDownUp = (event, props) => {\n\tif (props.focusedNodeIndex === props.treeIndex) {\n\t\t// Go to the previous visible node\n\t\tconst flattenedNode = findPreviousNode(props.flattenedNodes, props.node);\n\t\tprops.onSelect({\n\t\t\tevent,\n\t\t\tdata: {\n\t\t\t\tnode: flattenedNode.node,\n\t\t\t\tselect: true,\n\t\t\t\ttreeIndex: flattenedNode.treeIndex,\n\t\t\t},\n\t\t\tclearSelectedNodes: true,\n\t\t});\n\t}\n};\n\nconst handleKeyDownLeft = (event, props) => {\n\tconst nodes = props.flattenedNodes.map((flattenedNode) => flattenedNode.node);\n\tconst index = findIndex(nodes, { id: props.parent.id });\n\tif (index !== -1) {\n\t\tprops.onExpand({\n\t\t\tevent,\n\t\t\tdata: {\n\t\t\t\tnode: props.parent,\n\t\t\t\tselect: true,\n\t\t\t\texpand: !props.parent.expanded,\n\t\t\t\ttreeIndex: props.flattenedNodes[index].treeIndex,\n\t\t\t},\n\t\t});\n\t}\n};\n\nconst handleKeyDownEnter = (event, props) => {\n\thandleSelect({ event, props });\n};\n\nconst handleKeyDown = (event, props) => {\n\tmapKeyEventCallbacks(event, {\n\t\tcallbacks: {\n\t\t\t[KEYS.DOWN]: { callback: (evt) => handleKeyDownDown(evt, props) },\n\t\t\t[KEYS.UP]: { callback: (evt) => handleKeyDownUp(evt, props) },\n\t\t\t[KEYS.LEFT]: { callback: (evt) => handleKeyDownLeft(evt, props) },\n\t\t\t[KEYS.ENTER]: { callback: (evt) => handleKeyDownEnter(evt, props) },\n\t\t},\n\t});\n};\n\nconst handleFocus = (event, props) => {\n\tif (\n\t\t!props.treeHasFocus &&\n\t\t!props.focusedNodeIndex &&\n\t\tevent.target === event.currentTarget\n\t) {\n\t\thandleSelect({ event, props });\n\t}\n};\n\nconst getTabIndex = (props) => {\n\tconst initialFocus =\n\t\tprops.selectedNodeIndexes.length === 0 &&\n\t\tprops.treeIndex === props.flattenedNodes[0].treeIndex;\n\treturn props.treeIndex === props.focusedNodeIndex || initialFocus ? 0 : -1;\n};\n\n/**\n * A Tree Item is a non-branching node in a hierarchical list.\n */\nconst Item = (props) => {\n\tconst isSelected = props.node.selected;\n\tconst isFocused = props.treeIndex === props.focusedNodeIndex;\n\n\treturn (\n\t\t<li\n\t\t\tid={`${props.treeId}-${props.node.id}`}\n\t\t\trole=\"treeitem\"\n\t\t\taria-level={props.level}\n\t\t\taria-selected={isSelected ? 'true' : 'false'}\n\t\t\ttabIndex={getTabIndex(props)}\n\t\t\tonKeyDown={(event) => handleKeyDown(event, props)}\n\t\t\tonFocus={(event) => handleFocus(event, props)}\n\t\t\tonBlur={props.onNodeBlur}\n\t\t\tref={(component) => {\n\t\t\t\tif (props.treeHasFocus && component && isFocused) {\n\t\t\t\t\tcomponent.focus();\n\t\t\t\t}\n\t\t\t}}\n\t\t>\n\t\t\t{/* eslint-disable jsx-a11y/no-static-element-interactions */}\n\t\t\t<div\n\t\t\t\tclassName={classNames('slds-tree__item', {\n\t\t\t\t\t'slds-is-selected': isSelected,\n\t\t\t\t})}\n\t\t\t\tonClick={(event) => {\n\t\t\t\t\thandleSelect({ event, props });\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\t{/* eslint-enable jsx-a11y/no-static-element-interactions */}\n\t\t\t\t<Button\n\t\t\t\t\ttabIndex=\"-1\"\n\t\t\t\t\taria-hidden\n\t\t\t\t\tassistiveText={{ icon: '' }}\n\t\t\t\t\trole=\"presentation\"\n\t\t\t\t\ticonCategory=\"utility\"\n\t\t\t\t\ticonName=\"chevronright\"\n\t\t\t\t\ticonSize=\"small\"\n\t\t\t\t\tvariant=\"icon\"\n\t\t\t\t\tclassName=\"slds-m-right_small slds-is-disabled\"\n\t\t\t\t\tdisabled\n\t\t\t\t/>\n\t\t\t\t{/* eslint-disable no-script-url */}\n\t\t\t\t<span className=\"slds-size_1-of-1\">\n\t\t\t\t\t{/* eslint-enable no-script-url */}\n\t\t\t\t\t<Highlighter\n\t\t\t\t\t\tsearch={props.searchTerm}\n\t\t\t\t\t\tclassName=\"slds-tree__item-label slds-truncate\"\n\t\t\t\t\t>\n\t\t\t\t\t\t{props.label}\n\t\t\t\t\t</Highlighter>\n\t\t\t\t</span>\n\t\t\t</div>\n\t\t</li>\n\t);\n};\n\n// ### Display Name\n// Always use the canonical component name as the React display name.\nItem.displayName = TREE_ITEM;\n\n// ### Prop Types\nItem.propTypes = {\n\t/**\n\t * HTML `id` of the wrapping container element joined with the `id` of the node. This will recursively increase as the tree depth increases.\n\t */\n\thtmlId: PropTypes.string.isRequired,\n\t/**\n\t * The text of the tree item.\n\t */\n\tlabel: PropTypes.oneOfType([PropTypes.node, PropTypes.string]).isRequired,\n\t/**\n\t * The number of nestings. Determines the ARIA level and style alignment.\n\t */\n\tlevel: PropTypes.number.isRequired,\n\t/**\n\t * The current node that is being rendered.\n\t */\n\tnode: PropTypes.object.isRequired,\n\t/**\n\t * This function triggers when the expand or collapse icon is clicked or due to keyboard navigation.\n\t */\n\tonExpand: PropTypes.func.isRequired,\n\t/**\n\t * Function that will run whenever an item or branch is selected (click or keyboard).\n\t */\n\tonSelect: PropTypes.func,\n\t/**\n\t * Highlights term if found in node label\n\t */\n\tsearchTerm: PropTypes.string,\n\t/**\n\t * Unique id used for a prefix of all tree nodes\n\t */\n\ttreeId: PropTypes.string,\n\t/**\n\t * Location of node (zero index). First node is `0`. It's first child is `0-0`. This can be used to modify your nodes without searching for the node. This index is only valid if the `nodes` prop is the same as at the time of the event.\n\t */\n\ttreeIndex: PropTypes.string,\n\t/**\n\t * Flattened tree structure.\n\t */\n\tflattenedNodes: PropTypes.arrayOf(PropTypes.object),\n\t/**\n\t * Tree indexes of nodes that are currently selected.\n\t */\n\tselectedNodeIndexes: PropTypes.arrayOf(PropTypes.string),\n\t/**\n\t * Tree index of the node that is currently focused.\n\t */\n\tfocusedNodeIndex: PropTypes.string,\n\t/**\n\t * Callback for when a node is blurred.\n\t */\n\tonNodeBlur: PropTypes.func,\n\t/**\n\t * Sets focus on render.\n\t */\n\ttreeHasFocus: PropTypes.bool,\n\t/**\n\t * This node's parent.\n\t */\n\tparent: PropTypes.object,\n};\n\nItem.defaultProps = {\n\tselected: false,\n\tselectedNodeIndexes: [],\n};\n\nexport default Item;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// # Tree Initial Branch\n\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport isFunction from 'lodash.isfunction';\nimport classNames from 'classnames';\n\nconst propTypes = {\n\t/**\n\t * HTML `id` of the wrapping container element.\n\t */\n\thtmlId: PropTypes.oneOfType([PropTypes.number, PropTypes.string]).isRequired,\n\t/*\n\t * Class names to be added to the top-level `ul` element.\n\t */\n\tinitalClassName: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\t/*\n\t * Styles to be added to the top-level `ul` element. Useful for `overflow:hidden`.\n\t */\n\tinitialStyle: PropTypes.object,\n};\n\nconst handleScroll = (event, props) => {\n\tconst percentage =\n\t\t(event.target.scrollTop /\n\t\t\t(event.target.scrollHeight - event.target.clientHeight)) *\n\t\t100;\n\n\tif (isFunction(props.onScroll)) {\n\t\tprops.onScroll(event, {\n\t\t\tpercentage,\n\t\t});\n\t}\n};\n\nconst renderInitialNode = (children, props) => (\n\t// id intentionally not rendered here, and is present on\n\t// container that includes the header\n\t<ul\n\t\taria-labelledby={`${props.htmlId}__heading`}\n\t\tclassName={classNames('slds-tree', props.initalClassName)}\n\t\tonScroll={(event) => {\n\t\t\thandleScroll(event, props);\n\t\t}}\n\t\trole=\"tree\"\n\t\tstyle={props.initialStyle}\n\t>\n\t\t{children}\n\t</ul>\n);\n\nrenderInitialNode.displayName = 'TreeInitialNode';\nrenderInitialNode.propTypes = propTypes;\n\nexport default renderInitialNode;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// # Tree Branch Component\n\n// Implements the [Tree design pattern](https://www.lightningdesignsystem.com/components/tree/) in React.\n\n// ## Dependencies\n\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport findIndex from 'lodash.findindex';\nimport isFunction from 'lodash.isfunction';\nimport classNames from 'classnames';\n\n// Child components\nimport Button from '../../button';\nimport Highlighter from '../../utilities/highlighter';\n\nimport EventUtil from '../../../utilities/event';\nimport KEYS from '../../../utilities/key-code';\nimport mapKeyEventCallbacks from '../../../utilities/key-callbacks';\n\nconst propTypes = {\n\t/**\n\t * HTML `id` of primary element that has `.slds-tree` on it. This component has a wrapping container element outside of `.slds-tree`.\n\t */\n\thtmlId: PropTypes.oneOfType([PropTypes.number, PropTypes.string]).isRequired,\n\t/**\n\t * The text of the tree item.\n\t */\n\tlabel: PropTypes.oneOfType([PropTypes.node, PropTypes.string]),\n\t/**\n\t * The number of nestings. Determines the ARIA level and style alignment.\n\t */\n\tlevel: PropTypes.number.isRequired,\n\t/**\n\t * The current node that is being rendered.\n\t */\n\tnode: PropTypes.object.isRequired,\n\t/**\n\t * This function triggers when the expand or collapse icon is clicked or due to keyboard navigation.\n\t */\n\tonExpand: PropTypes.func.isRequired,\n\t/**\n\t * Function that will run whenever an item or branch is clicked.\n\t */\n\tonSelect: PropTypes.func,\n\t/**\n\t * Highlights term if found in node label\n\t */\n\tsearchTerm: PropTypes.string,\n\t/**\n\t * Location of node (zero index). First node is `0`. It's first child is `0-0`. This can be used to modify your nodes without searching for the node. This index is only valid if the `nodes` prop is the same as at the time of the event.\n\t */\n\ttreeIndex: PropTypes.string,\n\t/**\n\t * Flattened tree structure.\n\t */\n\tflattenedNodes: PropTypes.arrayOf(PropTypes.object),\n\t/**\n\t * Tree indexes of nodes that are currently selected.\n\t */\n\tselectedNodeIndexes: PropTypes.arrayOf(PropTypes.string),\n\t/**\n\t * Tree index of the node that is currently focused.\n\t */\n\tfocusedNodeIndex: PropTypes.string,\n\t/**\n\t * Callback for when a node is blurred.\n\t */\n\tonNodeBlur: PropTypes.func,\n\t/**\n\t * Sets focus on render.\n\t */\n\ttreeHasFocus: PropTypes.bool,\n\t/**\n\t * This node's parent.\n\t */\n\tparent: PropTypes.object,\n};\n\nconst handleExpand = (event, props) => {\n\tEventUtil.trap(event);\n\tif (isFunction(props.onExpand)) {\n\t\tprops.onExpand({\n\t\t\tevent,\n\t\t\tdata: {\n\t\t\t\tnode: props.node,\n\t\t\t\texpand: !props.node.expanded,\n\t\t\t\ttreeIndex: props.treeIndex,\n\t\t\t},\n\t\t});\n\t}\n};\n\nconst handleSelect = ({ event, props, fromFocus }) => {\n\tEventUtil.trap(event);\n\tif (isFunction(props.onSelect)) {\n\t\tprops.onSelect({\n\t\t\tevent,\n\t\t\tdata: {\n\t\t\t\tnode: props.node,\n\t\t\t\tselect: !props.node.selected,\n\t\t\t\ttreeIndex: props.treeIndex,\n\t\t\t},\n\t\t\tfromFocus,\n\t\t});\n\t}\n};\n\nconst findNextNode = (flattenedNodes, node) => {\n\tconst nodes = flattenedNodes.map((flattenedNode) => flattenedNode.node);\n\tconst index = findIndex(nodes, { id: node.id });\n\treturn flattenedNodes[(index + 1) % flattenedNodes.length];\n};\n\nconst findPreviousNode = (flattenedNodes, node) => {\n\tconst nodes = flattenedNodes.map((flattenedNode) => flattenedNode.node);\n\tlet index = findIndex(nodes, { id: node.id }) - 1;\n\tif (index < 0) {\n\t\tindex += flattenedNodes.length;\n\t}\n\treturn flattenedNodes[index];\n};\n\nconst handleKeyDownDown = (event, props) => {\n\tif (props.focusedNodeIndex === props.treeIndex) {\n\t\t// Select the next visible node\n\t\tconst flattenedNode = findNextNode(props.flattenedNodes, props.node);\n\t\tprops.onSelect({\n\t\t\tevent,\n\t\t\tdata: {\n\t\t\t\tnode: flattenedNode.node,\n\t\t\t\tselect: true,\n\t\t\t\ttreeIndex: flattenedNode.treeIndex,\n\t\t\t},\n\t\t\tclearSelectedNodes: true,\n\t\t});\n\t}\n};\n\nconst handleKeyDownUp = (event, props) => {\n\tif (props.focusedNodeIndex === props.treeIndex) {\n\t\t// Go to the previous visible node\n\t\tconst flattenedNode = findPreviousNode(props.flattenedNodes, props.node);\n\t\tprops.onSelect({\n\t\t\tevent,\n\t\t\tdata: {\n\t\t\t\tnode: flattenedNode.node,\n\t\t\t\tselect: true,\n\t\t\t\ttreeIndex: flattenedNode.treeIndex,\n\t\t\t},\n\t\t\tclearSelectedNodes: true,\n\t\t});\n\t}\n};\n\nconst handleKeyDownRight = (event, props) => {\n\tif (props.node.expanded) {\n\t\tif (props.getNodes(props.node) && props.getNodes(props.node).length > 0) {\n\t\t\thandleKeyDownDown(event, props);\n\t\t}\n\t} else {\n\t\thandleExpand(event, props);\n\t}\n};\n\nconst handleKeyDownLeft = (event, props) => {\n\tif (props.node.expanded) {\n\t\thandleExpand(event, props);\n\t} else {\n\t\tconst nodes = props.flattenedNodes.map(\n\t\t\t(flattenedNode) => flattenedNode.node\n\t\t);\n\t\tconst index = findIndex(nodes, { id: props.parent.id });\n\t\tif (index !== -1) {\n\t\t\tprops.onExpand({\n\t\t\t\tevent,\n\t\t\t\tdata: {\n\t\t\t\t\tnode: props.parent,\n\t\t\t\t\tselect: true,\n\t\t\t\t\texpand: !props.parent.expanded,\n\t\t\t\t\ttreeIndex: props.flattenedNodes[index].treeIndex,\n\t\t\t\t},\n\t\t\t});\n\t\t}\n\t}\n};\n\nconst handleKeyDownEnter = (event, props) => {\n\thandleSelect({ event, props });\n};\n\nconst handleKeyDown = (event, props) => {\n\tmapKeyEventCallbacks(event, {\n\t\tcallbacks: {\n\t\t\t[KEYS.DOWN]: { callback: (evt) => handleKeyDownDown(evt, props) },\n\t\t\t[KEYS.UP]: { callback: (evt) => handleKeyDownUp(evt, props) },\n\t\t\t[KEYS.RIGHT]: { callback: (evt) => handleKeyDownRight(evt, props) },\n\t\t\t[KEYS.LEFT]: { callback: (evt) => handleKeyDownLeft(evt, props) },\n\t\t\t[KEYS.ENTER]: { callback: (evt) => handleKeyDownEnter(evt, props) },\n\t\t},\n\t});\n};\n\nconst handleFocus = (event, props) => {\n\tif (\n\t\t!props.treeHasFocus &&\n\t\t!props.focusedNodeIndex &&\n\t\tevent.target === event.currentTarget\n\t) {\n\t\t// did it happen by mouse?\n\t\thandleSelect({ event, props, fromFocus: true });\n\t}\n};\n\nconst getTabIndex = (props) => {\n\tconst initialFocus =\n\t\tprops.selectedNodeIndexes.length === 0 &&\n\t\tprops.treeIndex === props.flattenedNodes[0].treeIndex;\n\treturn props.treeIndex === props.focusedNodeIndex || initialFocus ? 0 : -1;\n};\n\n// Most of these props come from the nodes array, not from the Tree props\nconst RenderBranch = (children, props) => {\n\tconst isExpanded = props.node.expanded;\n\tconst isSelected = props.node.selected;\n\tconst isFocused = props.treeIndex === props.focusedNodeIndex;\n\tconst isLoading = props.node.loading;\n\n\tconst loader = (\n\t\t<div\n\t\t\tstyle={{\n\t\t\t\tdisplay: 'block',\n\t\t\t\tpaddingLeft: `${1.5 * props.level + 1.5}rem`,\n\t\t\t\tmarginTop: '.5rem',\n\t\t\t}}\n\t\t>\n\t\t\t<div\n\t\t\t\tstyle={{\n\t\t\t\t\tborderRadius: '15rem',\n\t\t\t\t\tdisplay: 'block',\n\t\t\t\t\tmarginBottom: '.75rem',\n\t\t\t\t\theight: '.5rem',\n\t\t\t\t\tbackgroundColor: 'rgb(224, 229, 238)',\n\t\t\t\t\twidth: '40%',\n\t\t\t\t}}\n\t\t\t/>\n\t\t\t<div\n\t\t\t\tstyle={{\n\t\t\t\t\tborderRadius: '15rem',\n\t\t\t\t\tdisplay: 'block',\n\t\t\t\t\tmarginBottom: '.75rem',\n\t\t\t\t\theight: '.5rem',\n\t\t\t\t\tbackgroundColor: 'rgb(224, 229, 238)',\n\t\t\t\t\twidth: '80%',\n\t\t\t\t}}\n\t\t\t/>\n\t\t\t<div\n\t\t\t\tstyle={{\n\t\t\t\t\tborderRadius: '15rem',\n\t\t\t\t\tdisplay: 'block',\n\t\t\t\t\tmarginBottom: '.75rem',\n\t\t\t\t\theight: '.5rem',\n\t\t\t\t\tbackgroundColor: 'rgb(224, 229, 238)',\n\t\t\t\t\twidth: '60%',\n\t\t\t\t}}\n\t\t\t/>\n\t\t</div>\n\t);\n\n\tconst label =\n\t\tprops.node.assistiveText ||\n\t\t(typeof props.node.label === 'string' ? props.node.label : null);\n\treturn (\n\t\t<li\n\t\t\tid={props.htmlId}\n\t\t\trole=\"treeitem\"\n\t\t\taria-level={props.level}\n\t\t\taria-expanded={isExpanded ? 'true' : 'false'}\n\t\t\taria-label={\n\t\t\t\tprops.node.nodes && props.node.nodes.length > 0 ? label : null\n\t\t\t}\n\t\t\ttabIndex={getTabIndex(props)}\n\t\t\tonKeyDown={(event) => handleKeyDown(event, props)}\n\t\t\tonFocus={(event) => handleFocus(event, props)}\n\t\t\tonBlur={props.onNodeBlur}\n\t\t\tref={(component) => {\n\t\t\t\tif (props.treeHasFocus && component && isFocused) {\n\t\t\t\t\tcomponent.focus();\n\t\t\t\t}\n\t\t\t}}\n\t\t>\n\t\t\t{/* eslint-disable jsx-a11y/no-static-element-interactions */}\n\t\t\t<div\n\t\t\t\tclassName={classNames('slds-tree__item', {\n\t\t\t\t\t'slds-is-selected': isSelected,\n\t\t\t\t})}\n\t\t\t\tonClick={(event) => {\n\t\t\t\t\thandleSelect({ event, props });\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\t{/* eslint-enable jsx-a11y/no-static-element-interactions */}\n\t\t\t\t<Button\n\t\t\t\t\taria-hidden\n\t\t\t\t\tassistiveText={{ icon: 'Expand Tree Branch' }}\n\t\t\t\t\ticonCategory=\"utility\"\n\t\t\t\t\ticonName=\"chevronright\"\n\t\t\t\t\ticonSize=\"small\"\n\t\t\t\t\tvariant=\"icon\"\n\t\t\t\t\tclassName=\"slds-m-right_small\"\n\t\t\t\t\trole=\"presentation\"\n\t\t\t\t\taria-controls={props.htmlId}\n\t\t\t\t\tonClick={(event) => {\n\t\t\t\t\t\thandleExpand(event, props);\n\t\t\t\t\t}}\n\t\t\t\t\ttabIndex=\"-1\"\n\t\t\t\t/>\n\t\t\t\t{/* eslint-disable no-script-url */}\n\t\t\t\t<span className=\"slds-size_1-of-1\" id={`${props.htmlId}__label`}>\n\t\t\t\t\t{/* eslint-enable no-script-url */}\n\t\t\t\t\t{\n\t\t\t\t\t\t<Highlighter\n\t\t\t\t\t\t\tsearch={props.searchTerm}\n\t\t\t\t\t\t\tclassName=\"slds-tree__item-label slds-truncate\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{props.label}\n\t\t\t\t\t\t</Highlighter>\n\t\t\t\t\t}\n\t\t\t\t</span>\n\t\t\t</div>\n\t\t\t{isLoading ? loader : null}\n\t\t\t<ul\n\t\t\t\tclassName={classNames({\n\t\t\t\t\t'slds-is-expanded': isExpanded,\n\t\t\t\t\t'slds-is-collapsed': !isExpanded,\n\t\t\t\t})}\n\t\t\t\trole=\"group\"\n\t\t\t\taria-labelledby={`${props.htmlId}__label`}\n\t\t\t>\n\t\t\t\t{isExpanded && !isLoading ? children : null}\n\t\t\t</ul>\n\t\t</li>\n\t);\n};\n\nRenderBranch.displayName = 'Branch';\nRenderBranch.propTypes = propTypes;\n\nexport default RenderBranch;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// # Tree Branch Component\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport shortid from 'shortid';\n\n// Child components\nimport Item from './item';\nimport RenderInitialBranch from './render-initial-branch';\nimport RenderBranch from './render-branch';\n\nimport { TREE_BRANCH } from '../../../utilities/constants';\n\n/**\n * A Tree Item is a non-branching node in a hierarchical list.\n */\nconst Branch = (props) => {\n\tlet treeIndex = '';\n\tlet children;\n\n\tconst { treeId, level, onExpand, searchTerm } = props;\n\n\tif (Array.isArray(props.getNodes(props.node))) {\n\t\tchildren = props.getNodes(props.node).map((node, index) => {\n\t\t\tlet child;\n\t\t\tconst htmlId = `${props.treeId}-${node.id}`;\n\t\t\ttreeIndex = `${index}`;\n\t\t\tif (props.treeIndex) {\n\t\t\t\ttreeIndex = `${props.treeIndex}-${treeIndex}`;\n\t\t\t}\n\t\t\tif (node.type === 'branch') {\n\t\t\t\tchild = (\n\t\t\t\t\t<Branch\n\t\t\t\t\t\tgetNodes={props.getNodes}\n\t\t\t\t\t\thtmlId={htmlId}\n\t\t\t\t\t\tkey={node.id}\n\t\t\t\t\t\tlabel={node.label}\n\t\t\t\t\t\tlevel={level + 1}\n\t\t\t\t\t\tnode={node}\n\t\t\t\t\t\tflattenedNodes={props.flattenedNodes}\n\t\t\t\t\t\tselectedNodeIndexes={props.selectedNodeIndexes}\n\t\t\t\t\t\tfocusedNodeIndex={props.focusedNodeIndex}\n\t\t\t\t\t\ttreeHasFocus={props.treeHasFocus}\n\t\t\t\t\t\tonNodeBlur={props.onNodeBlur}\n\t\t\t\t\t\tnodes={node.nodes}\n\t\t\t\t\t\tonSelect={props.onSelect}\n\t\t\t\t\t\tonExpand={onExpand}\n\t\t\t\t\t\tsearchTerm={searchTerm}\n\t\t\t\t\t\ttreeId={treeId}\n\t\t\t\t\t\ttreeIndex={treeIndex}\n\t\t\t\t\t\tparent={props.node}\n\t\t\t\t\t/>\n\t\t\t\t);\n\t\t\t} else {\n\t\t\t\tchild = (\n\t\t\t\t\t<Item\n\t\t\t\t\t\tlabel={node.label}\n\t\t\t\t\t\thtmlId={htmlId}\n\t\t\t\t\t\tkey={shortid.generate()}\n\t\t\t\t\t\tlevel={level + 1}\n\t\t\t\t\t\tnode={node}\n\t\t\t\t\t\tflattenedNodes={props.flattenedNodes}\n\t\t\t\t\t\tselectedNodeIndexes={props.selectedNodeIndexes}\n\t\t\t\t\t\tfocusedNodeIndex={props.focusedNodeIndex}\n\t\t\t\t\t\ttreeHasFocus={props.treeHasFocus}\n\t\t\t\t\t\tonNodeBlur={props.onNodeBlur}\n\t\t\t\t\t\tonSelect={props.onSelect}\n\t\t\t\t\t\tonExpand={onExpand}\n\t\t\t\t\t\tsearchTerm={searchTerm}\n\t\t\t\t\t\ttreeIndex={treeIndex}\n\t\t\t\t\t\ttreeId={treeId}\n\t\t\t\t\t\tparent={props.node}\n\t\t\t\t\t/>\n\t\t\t\t);\n\t\t\t}\n\t\t\treturn child;\n\t\t});\n\t}\n\n\tconst branch =\n\t\tprops.level === 0\n\t\t\t? RenderInitialBranch(children, props)\n\t\t\t: RenderBranch(children, props);\n\treturn branch;\n};\n\n// ### Display Name\n// Always use the canonical component name as the React display name.\nBranch.displayName = TREE_BRANCH;\n\n// ### Prop Types\nBranch.propTypes = {\n\t/**\n\t * A function that will be called by every branch to receive its child nodes. The parent `node` object with the branch data is passed into this function: `getNodes(node)`. If your state engine is Flux or Redux, then your tree data structure will probably be flattened or normalized within the store. This will allow you to build out your tree without transversing an actual tree of data and may be more performant.\n\t */\n\tgetNodes: PropTypes.func,\n\t/**\n\t * HTML `id` of the wrapping container element joined with the `id` of the node. This will recursively increase as the tree depth increases.\n\t */\n\thtmlId: PropTypes.oneOfType([PropTypes.number, PropTypes.string]).isRequired,\n\t/**\n\t * All tree nodes must have a unique HTML `id` for users of assistive technology. If no `id` key is present in the is provided, one will be generated.\n\t */\n\tindex: PropTypes.number,\n\t/**\n\t * Determines if nodes in the top-level of the tree.\n\t */\n\tinitial: PropTypes.bool,\n\t/*\n\t * Class names to be added to the top-level `ul` element.\n\t */\n\tinitalClassName: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\tinitialStyle: PropTypes.object,\n\t/**\n\t * The text of the tree item.\n\t */\n\tlabel: PropTypes.oneOfType([PropTypes.node, PropTypes.string]),\n\t/**\n\t * The number of nestings. Determines the ARIA level and style alignment.\n\t */\n\tlevel: PropTypes.number.isRequired,\n\t/**\n\t * The current node that is being rendered.\n\t */\n\tnode: PropTypes.object.isRequired,\n\t/**\n\t * Function that will run whenever an item or branch is selected (click or keyboard).\n\t */\n\tonSelect: PropTypes.func,\n\t/**\n\t * This function triggers when the expand or collapse icon is clicked.\n\t */\n\tonExpand: PropTypes.func.isRequired,\n\t/**\n\t * Highlights term if found in node label\n\t */\n\tsearchTerm: PropTypes.string,\n\t/**\n\t * Unique id used for a prefix of all tree nodes. This is the prefix for subsequent `htmlId` props.\n\t */\n\ttreeId: PropTypes.string,\n\t/**\n\t * Location of node (zero index). First node is `0`. It's first child is `0-0`. This can be used to modify your nodes without searching for the node. This index is only valid if the `nodes` prop is the same as at the time of the event.\n\t */\n\ttreeIndex: PropTypes.string,\n\t/**\n\t * Flattened tree structure.\n\t */\n\tflattenedNodes: PropTypes.arrayOf(PropTypes.object),\n\t/**\n\t * Tree indexes of nodes that are currently selected.\n\t */\n\tselectedNodeIndexes: PropTypes.arrayOf(PropTypes.string),\n\t/**\n\t * Tree index of the node that is currently focused.\n\t */\n\tfocusedNodeIndex: PropTypes.string,\n\t/**\n\t * Callback for when a node is blurred.\n\t */\n\tonNodeBlur: PropTypes.func,\n\t/**\n\t * Sets focus on render.\n\t */\n\ttreeHasFocus: PropTypes.bool,\n\t/**\n\t * This node's parent.\n\t */\n\tparent: PropTypes.object,\n};\n\nBranch.defaultProps = {\n\tlevel: 0,\n\tlabel: '',\n\ttreeIndex: '',\n\tselectedNodeIndexes: [],\n};\n\nexport default Branch;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n/* eslint-disable import/no-mutable-exports */\n\nimport oneOfRequiredProperty from '../../utilities/warning/one-of-required-property';\nimport sunsetProperty from '../../utilities/warning/sunset-property';\nimport getComponentDocFn from '../../utilities/get-component-doc';\n\nlet checkProps = function checkPropsFunction() {};\n\nif (process.env.NODE_ENV !== 'production') {\n\tcheckProps = function checkPropsFunction(COMPONENT, props, jsonDoc) {\n\t\tconst createDocUrl = getComponentDocFn(jsonDoc);\n\n\t\t/* eslint-disable max-len */\n\t\toneOfRequiredProperty(\n\t\t\tCOMPONENT,\n\t\t\t{\n\t\t\t\tassistiveText: props.assistiveText,\n\t\t\t\theading: props.heading,\n\t\t\t},\n\t\t\tcreateDocUrl()\n\t\t);\n\t\t/* eslint-enable max-len */\n\n\t\tif (typeof props.assistiveText === 'string') {\n\t\t\tsunsetProperty(\n\t\t\t\tCOMPONENT,\n\t\t\t\tprops.assistiveText,\n\t\t\t\t'assistiveText',\n\t\t\t\t`\\`assistiveText\\` as a string has been deprecated and is now an object to allow for multiple uses in the component. Please use \\`assistiveText.label\\` instead. ${createDocUrl(\n\t\t\t\t\t'assistiveText'\n\t\t\t\t)}`\n\t\t\t);\n\t\t}\n\t};\n}\n\nexport default checkProps;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\nimport classNames from 'classnames';\n\nimport find from 'lodash.find';\n\n// Child components\nimport Branch from './private/branch';\n\n// Similar to React's PropTypes check. When in development mode, it issues errors in the console about properties.\nimport checkProps from './check-props';\nimport componentDoc from './component.json';\n\n// ## Constants\nimport { TREE } from '../../utilities/constants';\n\n// ### Prop Types\nconst propTypes = {\n\t/**\n\t * **Assistive text for accessibility.**\n\t * This object is merged with the default props object on every render.\n\t * * `label`: For users of assistive technology, if set the heading will be hidden. One of `heading` or `assistiveText.label` must be set in order to label the tree.\n\t */\n\tassistiveText: PropTypes.shape({\n\t\tlabel: PropTypes.string,\n\t}),\n\t/**\n\t * Class names to be added to the container element which has the heading and the `ul.slds-tree` element as children.\n\t */\n\tclassName: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\t/**\n\t * Class names to be added to the top-level `ul` element of the tree.\n\t */\n\tlistClassName: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\t/**\n\t * A function that will be called by every branch to receive its child nodes. The parent `node` object with the branch data is passed into this function: `getNodes(node)`. If your state engine is Flux or Redux, then your tree data structure will probably be flattened or normalized within the store. This will allow you to build out your tree without transversing an actual tree of data and may be more performant.\n\t */\n\tgetNodes: PropTypes.func,\n\t/**\n\t * This is the tree's heading and describes its contents. It can be hidden, see `assistiveText`.\n\t * */\n\theading: PropTypes.oneOfType([PropTypes.node, PropTypes.string]),\n\t/**\n\t * HTML `id` of primary element that has `.slds-tree` on it. This component has a wrapping container element outside of `.slds-tree`.\n\t */\n\tid: PropTypes.string.isRequired,\n\t/**\n\t * Array of items starting at the top of the tree. The shape each node in the array is:\n\t * ```\n\t * {\n\t * expanded: boolean,\n\t * id: string,\n\t * label: string or node,\n\t * selected: boolean,\n\t * type: string,\n\t * nodes: array\n\t * }\n\t * ```\n\t * `assistiveText: string` is optional and helpful if the label is not a string. Only `id` and `label` are required. Use `type: 'branch'` for folder and categories.\n\t */\n\tnodes: PropTypes.arrayOf(\n\t\tPropTypes.oneOfType([\n\t\t\tPropTypes.number,\n\t\t\tPropTypes.string,\n\t\t\tPropTypes.shape({\n\t\t\t\tid: PropTypes.oneOfType([PropTypes.number, PropTypes.string])\n\t\t\t\t\t.isRequired,\n\t\t\t\tlabel: PropTypes.oneOfType([PropTypes.node, PropTypes.string])\n\t\t\t\t\t.isRequired,\n\t\t\t\ttype: PropTypes.string.isRequired,\n\t\t\t}),\n\t\t])\n\t).isRequired,\n\t/**\n\t * Function that will run whenever an item or branch is selected due to click or keyboard navigation.\n\t */\n\tonClick: PropTypes.func.isRequired,\n\t/**\n\t * This function triggers when the expand or collapse icon is clicked or due to keyboard navigation.\n\t */\n\tonExpandClick: PropTypes.func.isRequired,\n\t/**\n\t * This function triggers when the top-level `ul` element scrolls. This can be used to implement an \"infinite scroll\" pattern and update the `nodes` prop accordingly.\n\t */\n\tonScroll: PropTypes.func,\n\t/**\n\t * Highlights term if found in node label. This does not auto-expand branches.\n\t */\n\tsearchTerm: PropTypes.string,\n\t/**\n\t * Styles to be added to the top-level `ul` element. Useful for `overflow:hidden`.\n\t */\n\tlistStyle: PropTypes.object,\n};\n\nconst defaultProps = {\n\tassistiveText: {},\n\tgetNodes: (node) => node.nodes,\n};\n\n/* Flattens hierarchical tree structure into a flat array. The\n * first item in the array is the whole tree and therefore should be\n * removed with `slice(1)`.` This means that root cannot call `getNodes()`\n * and should directly reference the `nodes` key. All level after that\n * should use `getNodes()` to access the correct nodes.\n */\nconst flattenTree = (root, getNodes, treeIndex = '', firstLevel = true) => {\n\tif (!root.nodes) {\n\t\treturn [{ node: root, treeIndex }];\n\t}\n\tlet nodes = [{ node: root, treeIndex }];\n\tif (root.expanded) {\n\t\t// eslint-disable-next-line fp/no-loops\n\t\tfor (let index = 0; index < root.nodes.length; index += 1) {\n\t\t\tconst curNode = firstLevel ? root.nodes[index] : getNodes(root)[index];\n\t\t\tnodes = nodes.concat(\n\t\t\t\tflattenTree(\n\t\t\t\t\tcurNode,\n\t\t\t\t\tgetNodes,\n\t\t\t\t\ttreeIndex ? `${treeIndex}-${index}` : `${index}`,\n\t\t\t\t\tfalse\n\t\t\t\t)\n\t\t\t);\n\t\t}\n\t}\n\treturn nodes;\n};\n\n/**\n * A tree is visualization of a structure hierarchy. A branch can be expanded or collapsed. This is a controlled component, since visual state is present in the `nodes` data.\n */\nclass Tree extends React.Component {\n\tconstructor(props) {\n\t\tsuper(props);\n\n\t\t// Find the first selected node and initialize it properly so that can be tabbed to. If no node is selected, it will be selected upon first focus.\n\t\tconst flattenedNodes = flattenTree(\n\t\t\t{\n\t\t\t\tnodes: this.props.getNodes({ nodes: this.props.nodes }),\n\t\t\t\texpanded: true,\n\t\t\t},\n\t\t\tthis.props.getNodes\n\t\t).slice(1);\n\n\t\tconst selectedNode = find(\n\t\t\tflattenedNodes,\n\t\t\t(curNode) => curNode.node.selected\n\t\t);\n\t\tconst selectedNodeIndexes = [];\n\t\tlet focusedNodeIndex;\n\n\t\tif (selectedNode) {\n\t\t\t// eslint-disable-next-line fp/no-mutating-methods\n\t\t\tselectedNodeIndexes.push(selectedNode.treeIndex);\n\t\t\tfocusedNodeIndex = selectedNode.treeIndex;\n\t\t}\n\n\t\tthis.state = {\n\t\t\tflattenedNodes,\n\t\t\tselectedNodeIndexes,\n\t\t\tfocusedNodeIndex,\n\t\t};\n\n\t\tcheckProps(TREE, props, componentDoc);\n\t}\n\n\tstatic getDerivedStateFromProps(nextProps) {\n\t\treturn {\n\t\t\tflattenedNodes: flattenTree(\n\t\t\t\t{\n\t\t\t\t\tnodes: nextProps.getNodes({ nodes: nextProps.nodes }),\n\t\t\t\t\texpanded: true,\n\t\t\t\t},\n\t\t\t\tnextProps.getNodes\n\t\t\t).slice(1),\n\t\t};\n\t}\n\n\thandleSelect = ({ event, data, clearSelectedNodes, fromFocus }) => {\n\t\t// When triggered by a key event, other nodes should be deselected.\n\t\tif (clearSelectedNodes) {\n\t\t\t// TODO: This bad design. This is state modfication. State should be changed via setState only.\n\t\t\tthis.state.flattenedNodes.forEach((flattenedNode) => {\n\t\t\t\tif (flattenedNode.node.selected) {\n\t\t\t\t\t// eslint-disable-next-line no-param-reassign\n\t\t\t\t\tflattenedNode.node.selected = false;\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\n\t\t// Prevent firing twice on first click, due to the handleSelect\n\t\t// triggered by a focus event\n\t\tif (!fromFocus) {\n\t\t\tthis.props.onClick(event, data);\n\t\t}\n\n\t\t// Keep track of the currently selected and focused nodes.\n\t\tlet selectedNodeIndexes;\n\t\tif (data.select) {\n\t\t\tselectedNodeIndexes = this.state.selectedNodeIndexes.concat([\n\t\t\t\tdata.treeIndex,\n\t\t\t]);\n\t\t} else {\n\t\t\tselectedNodeIndexes = this.state.selectedNodeIndexes.filter(\n\t\t\t\t(treeIndex) => treeIndex !== data.treeIndex\n\t\t\t);\n\t\t}\n\t\tthis.treeHasFocus = true;\n\t\tthis.setState({\n\t\t\tfocusedNodeIndex: data.treeIndex,\n\t\t\tselectedNodeIndexes,\n\t\t});\n\t};\n\n\thandleNodeBlur = () => {\n\t\t// There is no need to render when blurring a node because focus is either:\n\t\t// - outside of the tree, or\n\t\t// - focused on another node in the tree, which triggers its own render\n\t\tthis.treeHasFocus = false;\n\t};\n\n\thandleExpand = ({ event, data }) => {\n\t\tthis.treeHasFocus = true;\n\t\tthis.props.onExpandClick(event, data);\n\n\t\tif (data.select) {\n\t\t\tthis.setState({\n\t\t\t\tfocusedNodeIndex: data.treeIndex,\n\t\t\t});\n\t\t}\n\t};\n\n\trender() {\n\t\t// One of these is required to pass accessibility tests\n\t\tconst assistiveText =\n\t\t\ttypeof this.props.assistiveText === 'string'\n\t\t\t\t? this.props.assistiveText\n\t\t\t\t: {\n\t\t\t\t\t\t...defaultProps.assistiveText,\n\t\t\t\t\t\t...this.props.assistiveText,\n\t\t\t\t }.label;\n\t\tconst headingText = assistiveText || this.props.heading;\n\n\t\t// Start the zero level branch--that is the tree root. There is no label for\n\t\t// the tree root, but is required by all other nodes\n\t\treturn (\n\t\t\t<div\n\t\t\t\tid={this.props.id}\n\t\t\t\tclassName={classNames(\n\t\t\t\t\t'slds-tree_container',\n\t\t\t\t\tthis.props.className\n\t\t\t\t)} /* role=\"application\" */\n\t\t\t>\n\t\t\t\t<h4\n\t\t\t\t\tclassName={classNames('slds-tree__group-header', {\n\t\t\t\t\t\t'slds-assistive-text': assistiveText,\n\t\t\t\t\t})}\n\t\t\t\t\tid={`${this.props.id}__heading`}\n\t\t\t\t>\n\t\t\t\t\t{headingText}\n\t\t\t\t</h4>\n\t\t\t\t<Branch\n\t\t\t\t\tgetNodes={this.props.getNodes}\n\t\t\t\t\tinitalClassName={this.props.listClassName}\n\t\t\t\t\thtmlId={this.props.id}\n\t\t\t\t\tinitialStyle={this.props.listStyle}\n\t\t\t\t\tlevel={0}\n\t\t\t\t\tnode={{ nodes: this.props.nodes }}\n\t\t\t\t\tflattenedNodes={this.state.flattenedNodes}\n\t\t\t\t\tselectedNodeIndexes={this.state.selectedNodeIndexes}\n\t\t\t\t\tfocusedNodeIndex={this.state.focusedNodeIndex}\n\t\t\t\t\ttreeHasFocus={this.treeHasFocus}\n\t\t\t\t\tonNodeBlur={this.handleNodeBlur}\n\t\t\t\t\tonSelect={this.handleSelect}\n\t\t\t\t\tonExpand={this.handleExpand}\n\t\t\t\t\tonScroll={this.props.onScroll}\n\t\t\t\t\tsearchTerm={this.props.searchTerm}\n\t\t\t\t\ttreeId={this.props.id}\n\t\t\t\t/>\n\t\t\t</div>\n\t\t);\n\t}\n}\n\nTree.displayName = TREE;\nTree.propTypes = propTypes;\nTree.defaultProps = defaultProps;\n\nexport default Tree;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// Implements the [Trial Bar design pattern](https://lightningdesignsystem.com/components/trial-bar/) in React.\n// Based on SLDS v2.4.5\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\n\nimport assign from 'lodash.assign';\n\nimport { TRIAL_BAR } from '../../utilities/constants';\n\nconst propTypes = {\n\t/**\n\t * Provide children of the types `<TrialBarButton />` or `<TrialBarDropdown />` to define the structure of the trial bar.\n\t * ```\n\t * <TrialBar>\n\t * <TrialBarButton />\n\t * <TrialBarDropdown />\n\t * </TrialBar>\n\t * ```\n\t */\n\tchildren: PropTypes.node,\n\n\t/**\n\t * CSS classes to be added to the component. Uses `classNames` [API](https://github.com/JedWatson/classnames).\n\t */\n\tclassName: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\t/**\n\t * **Text labels for internationalization**\n\t * This object is merged with the default props object on every render.\n\t * * `learnMoreAfter`: Amount of time left in trial, e.g. `30`\n\t * * `learnMoreBefore`: Unit of the amount of time left, e.g. `days`\n\t * * `timeLeftUnitAfter`: String after `timeLeftUnit`\n\t */\n\tlabels: PropTypes.shape({\n\t\ttimeLeft: PropTypes.string,\n\t\ttimeLeftUnit: PropTypes.string,\n\t\ttimeLeftUnitAfter: PropTypes.string,\n\t}),\n\t/**\n\t * Renders the actions section of the trial bar.\n\t */\n\tonRenderActions: PropTypes.func,\n\t/**\n\t * Customs styles to be applied to the component.\n\t */\n\tstyle: PropTypes.object,\n};\n\nconst defaultProps = {\n\tlabels: {\n\t\ttimeLeftUnitAfter: 'left in trial',\n\t},\n};\n\n/**\n * Trial bar components are used to provide an interactive and educational prospect experience for setup.\n */\nconst TrialBar = (props) => {\n\tconst labels = assign({}, defaultProps.labels, props.labels);\n\treturn (\n\t\t<div\n\t\t\tclassName={classNames('slds-trial-header slds-grid', props.className)}\n\t\t\tstyle={props.style}\n\t\t>\n\t\t\t<div className=\"slds-grid\">{props.children}</div>\n\t\t\t<div className=\"slds-grid slds-grid_vertical-align-center slds-col_bump-left\">\n\t\t\t\t<span className=\"slds-box slds-box_xx-small slds-theme_default\">\n\t\t\t\t\t{labels.timeLeft}\n\t\t\t\t</span>\n\t\t\t\t<span className=\"slds-m-horizontal_x-small\">\n\t\t\t\t\t{labels.timeLeftUnit}\n\t\t\t\t\t{` ${labels.timeLeftUnitAfter}`}\n\t\t\t\t</span>\n\t\t\t\t{props.onRenderActions()}\n\t\t\t</div>\n\t\t</div>\n\t);\n};\n\nTrialBar.displayName = TRIAL_BAR;\nTrialBar.propTypes = propTypes;\nTrialBar.defaultProps = defaultProps;\n\nexport default TrialBar;\n","import React from 'react';\nimport Button from '../button';\nimport { TRIAL_BAR_BUTTON } from '../../utilities/constants';\n\n// This component accepts the same props as Button.\n// eslint-disable-next-line react/forbid-foreign-prop-types\nconst { propTypes } = Button;\n\n/**\n * A [Button](/components/buttons/) within the Trial Bar.\n */\nconst TrialBarButton = (props) => (\n\t<Button\n\t\t{...props}\n\t\tinverse\n\t\tstyle={{ border: 0, padding: 0 }}\n\t\tclassName=\"slds-m-right_small\"\n\t/>\n);\n\nTrialBarButton.propTypes = propTypes;\nTrialBarButton.displayName = TRIAL_BAR_BUTTON;\n\nexport default TrialBarButton;\n","import React from 'react';\n\nimport Dropdown from '../menu-dropdown';\nimport DropdownTrigger from '../menu-dropdown/button-trigger';\nimport MenuDropdown from '../menu-dropdown/menu-dropdown';\nimport Button from '../button';\n\nimport { TRIAL_BAR_DROPDOWN } from '../../utilities/constants';\n\n// This component accepts the same props as MenuDropdown.\n// eslint-disable-next-line react/forbid-foreign-prop-types\nconst { propTypes } = MenuDropdown;\n\n/**\n * A [Dropdown](/components/menu-dropdowns/) within the Trial Bar.\n */\nconst TrialBarDropdown = (props) => {\n\tconst { label, ...rest } = props;\n\treturn (\n\t\t<Dropdown {...rest} inverse>\n\t\t\t<DropdownTrigger triggerClassName=\"slds-grid\">\n\t\t\t\t<Button\n\t\t\t\t\tinverse\n\t\t\t\t\tstyle={{ border: 0, height: '100%', padding: 0 }}\n\t\t\t\t\ticonCategory=\"utility\"\n\t\t\t\t\ticonName=\"right\"\n\t\t\t\t\ticonPosition=\"left\"\n\t\t\t\t\tlabel={label}\n\t\t\t\t/>\n\t\t\t</DropdownTrigger>\n\t\t</Dropdown>\n\t);\n};\n\nTrialBarDropdown.propTypes = propTypes;\nTrialBarDropdown.displayName = TRIAL_BAR_DROPDOWN;\nexport default TrialBarDropdown;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// Implements the [Visual Picker design pattern](https://lightningdesignsystem.com/components/visual-picker/) in React.\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\n\n// ### shortid\n// [npmjs.com/package/shortid](https://www.npmjs.com/package/shortid)\n// shortid is a short, non-sequential, url-friendly, unique id generator\nimport shortid from 'shortid';\nimport { VISUAL_PICKER } from '../../utilities/constants';\n\nconst propTypes = {\n\t/**\n\t * HTML id for component.\n\t */\n\tid: PropTypes.string,\n\t/**\n\t * Visual Picker accepts `Checkbox`, `Radio` and `VisualPickerLink` components as children. Please see `Checkbox`, `Radio` and `VisualPickerLink` for props.\n\t */\n\tchildren: PropTypes.node,\n\t/**\n\t * CSS classes to be added to tag with `.slds-form-element`. Uses `classNames` [API](https://github.com/JedWatson/classnames).\n\t */\n\tclassName: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\t/**\n\t * Label for the visual picker\n\t */\n\tlabel: PropTypes.string,\n\t/**\n\t * Whether the visual picker is coverable on selection\n\t */\n\tcoverable: PropTypes.bool,\n\t/**\n\t * Whether the visual picker has a vertical layout\n\t */\n\tvertical: PropTypes.bool,\n\t/**\n\t * Whether the visual picker has links as children\n\t */\n\tlinks: PropTypes.bool,\n\t/**\n\t * Size for visual picker\n\t */\n\tsize: PropTypes.oneOf(['medium', 'large']),\n};\n\nconst defaultProps = {\n\tsize: 'medium',\n\tvertical: false,\n\tlinks: false,\n};\n\n/**\n * Visual Picker Component\n */\nclass VisualPicker extends React.Component {\n\t// eslint-disable-next-line camelcase\n\tUNSAFE_componentWillMount() {\n\t\tthis.generatedId = shortid.generate();\n\t}\n\n\trender() {\n\t\tconst options = React.Children.map(this.props.children, (option, index) =>\n\t\t\tReact.cloneElement(option, {\n\t\t\t\tindex: `${this.props.id || this.generatedId}-${index}`,\n\t\t\t\tcoverable: this.props.coverable,\n\t\t\t\tvariant: 'visual-picker',\n\t\t\t\tname: `${this.props.id || this.generatedId}_options`,\n\t\t\t\tsize: this.props.size,\n\t\t\t\tvertical: !!this.props.vertical,\n\t\t\t})\n\t\t);\n\n\t\treturn this.props.links ? (\n\t\t\t<div className=\"slds-form-element__control\">{this.props.children}</div>\n\t\t) : (\n\t\t\t<fieldset\n\t\t\t\tid={this.props.id}\n\t\t\t\tclassName={classNames(`slds-form-element`, this.props.className)}\n\t\t\t>\n\t\t\t\t<legend className=\"slds-form-element__legend slds-form-element__label\">\n\t\t\t\t\t{this.props.label}\n\t\t\t\t</legend>\n\t\t\t\t<div className=\"slds-form-element__control\">{options}</div>\n\t\t\t</fieldset>\n\t\t);\n\t}\n}\n\nVisualPicker.displayName = VISUAL_PICKER;\nVisualPicker.propTypes = propTypes;\nVisualPicker.defaultProps = defaultProps;\n\nexport default VisualPicker;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// Implements the [Visual Picker Link design pattern](https://lightningdesignsystem.com/components/visual-picker/) in React.\n// Based on SLDS v2.4.5\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\n\nimport { VISUAL_PICKER_LINK } from '../../utilities/constants';\n\nconst propTypes = {\n\t/**\n\t * HTML id for component.\n\t */\n\tid: PropTypes.string,\n\t/**\n\t * CSS classes to be added to tag with `.slds-form-element`. Uses `classNames` [API](https://github.com/JedWatson/classnames).\n\t */\n\tclassName: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\t/**\n\t * URL for the Link\n\t */\n\thref: PropTypes.string,\n\t/**\n\t * Icon node for the Link\n\t */\n\ticon: PropTypes.node,\n\t/**\n\t * Title for the Link\n\t */\n\ttitle: PropTypes.string,\n\t/**\n\t * Description for the Link\n\t */\n\tdescription: PropTypes.string,\n};\n\n/**\n * Visual Picker Link Component\n */\nclass VisualPickerLink extends React.Component {\n\trender() {\n\t\treturn (\n\t\t\t<a\n\t\t\t\thref={this.props.href}\n\t\t\t\tid={this.props.id}\n\t\t\t\tclassName={classNames(\n\t\t\t\t\t'slds-box',\n\t\t\t\t\t'slds-box_link',\n\t\t\t\t\t'slds-theme_default',\n\t\t\t\t\t'slds-box_x-small',\n\t\t\t\t\t'slds-media',\n\t\t\t\t\t'slds-visual-picker_vertical',\n\t\t\t\t\tthis.props.className\n\t\t\t\t)}\n\t\t\t>\n\t\t\t\t<div className=\"slds-media__figure slds-media__figure_fixed-width slds-align_absolute-center slds-m-left_xx-small\">\n\t\t\t\t\t{this.props.icon}\n\t\t\t\t</div>\n\t\t\t\t<div className=\"slds-media__body slds-border_left slds-p-around_small\">\n\t\t\t\t\t<h2\n\t\t\t\t\t\tclassName=\"slds-truncate slds-text-heading_small\"\n\t\t\t\t\t\ttitle={this.props.title}\n\t\t\t\t\t>\n\t\t\t\t\t\t{this.props.title}\n\t\t\t\t\t</h2>\n\t\t\t\t\t<p className=\"slds-m-top_small\">{this.props.description}</p>\n\t\t\t\t</div>\n\t\t\t</a>\n\t\t);\n\t}\n}\nVisualPickerLink.displayName = VISUAL_PICKER_LINK;\nVisualPickerLink.propTypes = propTypes;\n\nexport default VisualPickerLink;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// Implements the [Welcome Mat design pattern](https://lightningdesignsystem.com/components/welcome-mat/) in React.\n// Based on SLDS v2.4.0\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\n// ### shortid\n// [npmjs.com/package/shortid](https://www.npmjs.com/package/shortid)\n// shortid is a short, non-sequential, url-friendly, unique id generator\nimport shortid from 'shortid';\n\nimport assign from 'lodash.assign';\n\nimport Modal from '../modal';\nimport ProgressBar from '../progress-bar';\n\nimport { WELCOME_MAT } from '../../utilities/constants';\n\nconst displayName = WELCOME_MAT;\n\nconst propTypes = {\n\t/**\n\t * CSS class names to be added to the container element. `array`, `object`, or `string` are accepted.\n\t */\n\tclassName: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\t/**\n\t * HTML id for component.\n\t */\n\tid: PropTypes.string,\n\t/**\n\t * Whether the modal is open\n\t */\n\tisOpen: PropTypes.bool,\n\t/**\n\t * **Weclome Mat labels for internationalization**\n\t * This object is merged with the default props object on every render.\n\t * * `title`: Title for the Welcome Mat\n\t * * `description`: Label for the radio input\n\t * * `unitsCompletedAfter`: Label for the radio input\n\t */\n\tlabels: PropTypes.shape({\n\t\ttitle: PropTypes.string,\n\t\tdescription: PropTypes.string,\n\t\tunitsCompletedAfter: PropTypes.string,\n\t}),\n\t/**\n\t *\tVariant of the WelcomeMat\n\t */\n\tvariant: PropTypes.oneOf([\n\t\t'steps',\n\t\t'info-only',\n\t\t'splash',\n\t\t'trailhead-connected',\n\t]),\n\t/**\n\t * Link to learn more button\n\t */\n\tonRenderInfoActions: PropTypes.func,\n\t/**\n\t * Callback to fire when modal is dismissed\n\t */\n\tonRequestClose: PropTypes.func,\n\t/**\n\t * Accepts a single WelcomeMatInfoBadge component, to be used with the trailhead variant\n\t */\n\tinfoBadge: PropTypes.node,\n\t/**\n\t * Do not show again checkbox for info-only variant\n\t */\n\tdoNotShowAgainCheckbox: PropTypes.node,\n};\n\nconst defaultProps = {\n\tlabels: {\n\t\tunitsCompletedAfter: 'units completed',\n\t},\n\tvariant: 'steps',\n\tisOpen: true,\n};\n\n/**\n * A Welcome Mat provides a series of unordered items a user can click to learn about a thematic topic.\n */\nclass WelcomeMat extends React.Component {\n\tconstructor(props) {\n\t\tsuper(props);\n\t\tthis.state = {\n\t\t\tcompletedSteps: 0,\n\t\t\ttotalSteps: 0,\n\t\t\tprogress: 0,\n\t\t};\n\t}\n\n\t// eslint-disable-next-line camelcase, react/sort-comp\n\tUNSAFE_componentWillMount() {\n\t\tthis.generatedId = shortid.generate();\n\t\tthis.getCount();\n\t}\n\n\t/**\n\t * Get the WelcomeMat's HTML id. Generate a new one if no ID present.\n\t */\n\tgetId() {\n\t\treturn this.props.id || this.generatedId;\n\t}\n\n\tgetCount() {\n\t\tconst totalSteps = React.Children.count(this.props.children);\n\t\tconst completedSteps = React.Children.toArray(this.props.children).filter(\n\t\t\t(c) => c.props.isComplete\n\t\t).length;\n\t\tconst progress = (completedSteps / totalSteps) * 100;\n\t\tthis.setState({\n\t\t\ttotalSteps,\n\t\t\tcompletedSteps,\n\t\t\tprogress,\n\t\t});\n\t}\n\n\trender() {\n\t\tconst labels = assign({}, defaultProps.labels, this.props.labels);\n\t\tconst splash = (\n\t\t\t<div\n\t\t\t\tclassName={classNames(\n\t\t\t\t\t'slds-welcome-mat__info-content',\n\t\t\t\t\tthis.props.className\n\t\t\t\t)}\n\t\t\t\tid={`${this.getId()}-content`}\n\t\t\t>\n\t\t\t\t<h2\n\t\t\t\t\tclassName=\"slds-welcome-mat__info-title\"\n\t\t\t\t\tid={`${this.getId()}-label`}\n\t\t\t\t>\n\t\t\t\t\t{labels.title}\n\t\t\t\t</h2>\n\t\t\t\t<div className=\"slds-welcome-mat__info-description slds-text-longform\">\n\t\t\t\t\t<p>{labels.description}</p>\n\t\t\t\t</div>\n\t\t\t\t{this.props.variant === 'info-only' ||\n\t\t\t\tthis.props.variant === 'splash' ? (\n\t\t\t\t\t<div className=\"slds-welcome-mat__info-actions\">\n\t\t\t\t\t\t{this.props.onRenderInfoActions()\n\t\t\t\t\t\t\t? this.props.onRenderInfoActions()\n\t\t\t\t\t\t\t: null}\n\t\t\t\t\t\t<div className=\"slds-m-top_large\">\n\t\t\t\t\t\t\t{this.props.doNotShowAgainCheckbox\n\t\t\t\t\t\t\t\t? this.props.doNotShowAgainCheckbox\n\t\t\t\t\t\t\t\t: null}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t) : null}\n\t\t\t\t{(this.props.variant === 'steps' ||\n\t\t\t\t\tthis.props.variant === 'trailhead-connected') &&\n\t\t\t\tthis.props.children ? (\n\t\t\t\t\t<React.Fragment>\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tclassName={classNames(\n\t\t\t\t\t\t\t\t'slds-welcome-mat__info-progress',\n\t\t\t\t\t\t\t\tthis.state.completedSteps === this.state.totalSteps\n\t\t\t\t\t\t\t\t\t? 'slds-welcome-mat__info-progress_complete'\n\t\t\t\t\t\t\t\t\t: null\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{this.props.variant === 'trailhead-connected'\n\t\t\t\t\t\t\t\t? React.Children.map(this.props.infoBadge, (child) =>\n\t\t\t\t\t\t\t\t\t\tReact.cloneElement(child, {\n\t\t\t\t\t\t\t\t\t\t\tisComplete:\n\t\t\t\t\t\t\t\t\t\t\t\tthis.state.completedSteps === this.state.totalSteps\n\t\t\t\t\t\t\t\t\t\t\t\t\t? true\n\t\t\t\t\t\t\t\t\t\t\t\t\t: null,\n\t\t\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t\t )\n\t\t\t\t\t\t\t\t: null}\n\t\t\t\t\t\t\t{this.state.completedSteps !== this.state.totalSteps ||\n\t\t\t\t\t\t\tthis.props.variant !== 'trailhead-connected' ? (\n\t\t\t\t\t\t\t\t<React.Fragment>\n\t\t\t\t\t\t\t\t\t{this.props.variant === 'trailhead-connected' ? (\n\t\t\t\t\t\t\t\t\t\t<p>\n\t\t\t\t\t\t\t\t\t\t\t{this.state.completedSteps}\n\t\t\t\t\t\t\t\t\t\t\t{`/`}\n\t\t\t\t\t\t\t\t\t\t\t{this.state.totalSteps}\n\t\t\t\t\t\t\t\t\t\t\t{` ${labels.unitsCompletedAfter}`}\n\t\t\t\t\t\t\t\t\t\t</p>\n\t\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t\t<p>\n\t\t\t\t\t\t\t\t\t\t\t<strong>\n\t\t\t\t\t\t\t\t\t\t\t\t{this.state.completedSteps}\n\t\t\t\t\t\t\t\t\t\t\t\t{`/`}\n\t\t\t\t\t\t\t\t\t\t\t\t{this.state.totalSteps}\n\t\t\t\t\t\t\t\t\t\t\t\t{` ${labels.unitsCompletedAfter}`}\n\t\t\t\t\t\t\t\t\t\t\t</strong>\n\t\t\t\t\t\t\t\t\t\t</p>\n\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t<ProgressBar value={this.state.progress} radius=\"circular\" />\n\t\t\t\t\t\t\t\t</React.Fragment>\n\t\t\t\t\t\t\t) : null}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</React.Fragment>\n\t\t\t\t) : null}\n\t\t\t</div>\n\t\t);\n\n\t\treturn (\n\t\t\t<Modal\n\t\t\t\tassistiveText={{\n\t\t\t\t\tdialogLabelledBy: `${this.getId()}-label`,\n\t\t\t\t}}\n\t\t\t\tisOpen={this.props.isOpen}\n\t\t\t\tonRequestClose={this.props.onRequestClose}\n\t\t\t\tsize=\"small\"\n\t\t\t\tid={`${this.getId()}-modal`}\n\t\t\t>\n\t\t\t\t<div\n\t\t\t\t\tclassName={classNames(\n\t\t\t\t\t\t'slds-welcome-mat',\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t'slds-welcome-mat_info-only': this.props.variant === 'info-only',\n\t\t\t\t\t\t},\n\t\t\t\t\t\tthis.props.children ? null : 'slds-welcome-mat_splash'\n\t\t\t\t\t)}\n\t\t\t\t\tid={this.getId()}\n\t\t\t\t>\n\t\t\t\t\t<div className=\"slds-welcome-mat__content slds-grid\">\n\t\t\t\t\t\t{this.props.children ? (\n\t\t\t\t\t\t\t<React.Fragment>\n\t\t\t\t\t\t\t\t<div className=\"slds-welcome-mat__info slds-size_1-of-2\">\n\t\t\t\t\t\t\t\t\t{splash}\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\tclassName={classNames(\n\t\t\t\t\t\t\t\t\t\t'slds-welcome-mat__tiles',\n\t\t\t\t\t\t\t\t\t\t'slds-size_1-of-2',\n\t\t\t\t\t\t\t\t\t\tthis.props.variant === 'info-only'\n\t\t\t\t\t\t\t\t\t\t\t? 'slds-welcome-mat__tiles_info-only'\n\t\t\t\t\t\t\t\t\t\t\t: null\n\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{React.Children.map(this.props.children, (child) =>\n\t\t\t\t\t\t\t\t\t\tReact.cloneElement(child, {\n\t\t\t\t\t\t\t\t\t\t\tvariant: this.props.variant,\n\t\t\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</React.Fragment>\n\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t<div className=\"slds-welcome-mat__info slds-size_1-of-1\">\n\t\t\t\t\t\t\t\t{splash}\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t)}\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</Modal>\n\t\t);\n\t}\n}\n\nWelcomeMat.displayName = displayName;\nWelcomeMat.propTypes = propTypes;\nWelcomeMat.defaultProps = defaultProps;\n\nexport default WelcomeMat;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// Implements the [Welcome Mat InfoBadge design pattern](https://lightningdesignsystem.com/components/welcome-mat/) in React.\n// Based on SLDS v2.4.0\nimport React from 'react';\nimport PropTypes from 'prop-types';\n// ### shortid\n// [npmjs.com/package/shortid](https://www.npmjs.com/package/shortid)\n// shortid is a short, non-sequential, url-friendly, unique id generator\nimport shortid from 'shortid';\n\nimport Icon from '../icon';\n\nimport { WELCOME_MAT_BADGE } from '../../utilities/constants';\n\nconst displayName = WELCOME_MAT_BADGE;\n\nconst propTypes = {\n\t/**\n\t * **Assistive text for accessibility.**\n\t * * `completed` : For users of assistive technology, assistive text for completed icon.\n\t */\n\tassistiveText: PropTypes.shape({\n\t\tcompleted: PropTypes.string,\n\t}),\n\t/**\n\t * CSS class names to be added to the container element. `array`, `object`, or `string` are accepted.\n\t */\n\tclassName: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\t/**\n\t * HTML id for component.\n\t */\n\tid: PropTypes.string,\n\t/**\n\t * Icon for the tile\n\t */\n\timage: PropTypes.string,\n\t/**\n\t * Whether the trail is completed\n\t */\n\tisComplete: PropTypes.bool,\n\t/**\n\t * Actions to be rendered on completion of the trail\n\t */\n\tonCompleteRenderActions: PropTypes.func,\n};\n\nconst defaultProps = {\n\tisComplete: false,\n\tvariant: 'steps',\n};\n\n/**\n * InfoBadge component item represents a tile in a Welcome Mat\n */\nclass InfoBadge extends React.Component {\n\t// eslint-disable-next-line camelcase, react/sort-comp\n\tUNSAFE_componentWillMount() {\n\t\tthis.generatedId = shortid.generate();\n\t}\n\n\t/**\n\t * Get the Welcome Mat Info Badge's HTML id. Generate a new one if no ID present.\n\t */\n\tgetId() {\n\t\treturn this.props.id || this.generatedId;\n\t}\n\n\tgetCompletedText() {\n\t\treturn this.props.assistiveText && this.props.assistiveText.completed\n\t\t\t? this.props.assistiveText.completed\n\t\t\t: 'Completed';\n\t}\n\n\trender() {\n\t\treturn (\n\t\t\t<div id={this.getId()} className={this.props.className}>\n\t\t\t\t<div className=\"slds-welcome-mat__info-badge-container\">\n\t\t\t\t\t<img\n\t\t\t\t\t\tclassName=\"slds-welcome-mat__info-badge\"\n\t\t\t\t\t\tsrc={this.props.image}\n\t\t\t\t\t\twidth=\"50\"\n\t\t\t\t\t\theight=\"50\"\n\t\t\t\t\t\talt=\"\"\n\t\t\t\t\t/>\n\t\t\t\t\t<Icon\n\t\t\t\t\t\tcategory=\"action\"\n\t\t\t\t\t\tname=\"check\"\n\t\t\t\t\t\tassistiveText={{ label: this.getCompletedText() }}\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t\t{this.props.children}\n\t\t\t\t{this.props.isComplete ? this.props.onCompleteRenderActions() : null}\n\t\t\t</div>\n\t\t);\n\t}\n}\n\nInfoBadge.displayName = displayName;\nInfoBadge.propTypes = propTypes;\nInfoBadge.defaultProps = defaultProps;\n\nexport default InfoBadge;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n// Implements the [Welcome Mat Tile design pattern](https://lightningdesignsystem.com/components/welcome-mat/) in React.\n// Based on SLDS v2.4.0\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\n// ### shortid\n// [npmjs.com/package/shortid](https://www.npmjs.com/package/shortid)\n// shortid is a short, non-sequential, url-friendly, unique id generator\nimport shortid from 'shortid';\n\nimport Icon from '../icon';\n\nimport { WELCOME_MAT_TILE } from '../../utilities/constants';\n\nconst displayName = WELCOME_MAT_TILE;\n\nconst propTypes = {\n\t/**\n\t * **Assistive text for accessibility.**\n\t * This object is merged with the default props object on every render.\n\t * * `completeIcon`: Text that is visually hidden but read aloud by screenreaders to tell the user what the complete icon means.\n\t */\n\tassistiveText: PropTypes.shape({\n\t\tcompletedIcon: PropTypes.string,\n\t}),\n\t/**\n\t * CSS class names to be added to the container element. `array`, `object`, or `string` are accepted.\n\t */\n\tclassName: PropTypes.oneOfType([\n\t\tPropTypes.array,\n\t\tPropTypes.object,\n\t\tPropTypes.string,\n\t]),\n\t/**\n\t * HTML id for component.\n\t */\n\tid: PropTypes.string,\n\t/**\n\t * Title for the tile component.\n\t */\n\ttitle: PropTypes.string,\n\t/**\n\t * Description for the tile component.\n\t */\n\tdescription: PropTypes.string,\n\t/**\n\t * Href for the tile link\n\t */\n\thref: PropTypes.string,\n\t/**\n\t * Icon for the tile\n\t */\n\ticon: PropTypes.node,\n\t/**\n\t * Whether the tile is completed\n\t */\n\tisComplete: PropTypes.bool,\n\t/**\n\t * Variant of the Welcome Mat Tile\n\t */\n\tvariant: PropTypes.oneOf([\n\t\t'steps',\n\t\t'info-only',\n\t\t'splash',\n\t\t'trailhead-connected',\n\t]),\n};\n\nconst defaultProps = {\n\tassistiveText: {\n\t\tcompletedIcon: 'Completed',\n\t},\n\tisComplete: false,\n\tvariant: 'steps',\n};\n\n/**\n * Tile component item represents a tile in a Welcome Mat\n */\nclass Tile extends React.Component {\n\t// eslint-disable-next-line camelcase, react/sort-comp\n\tUNSAFE_componentWillMount() {\n\t\tthis.generatedId = shortid.generate();\n\t}\n\n\t/**\n\t * Get the Welcome Mat Tile's HTML id. Generate a new one if no ID present.\n\t */\n\tgetId() {\n\t\treturn this.props.id || this.generatedId;\n\t}\n\n\trender() {\n\t\tconst assistiveText = {\n\t\t\t...defaultProps.assistiveText,\n\t\t\t...this.props.assistiveText,\n\t\t};\n\t\tconst body = (\n\t\t\t<React.Fragment>\n\t\t\t\t<div\n\t\t\t\t\tclassName={classNames(\n\t\t\t\t\t\t'slds-media__figure',\n\t\t\t\t\t\t'slds-media__figure_fixed-width',\n\t\t\t\t\t\t'slds-align_absolute-center'\n\t\t\t\t\t)}\n\t\t\t\t>\n\t\t\t\t\t<div className=\"slds-welcome-mat__tile-figure\">\n\t\t\t\t\t\t<div className=\"slds-welcome-mat__tile-icon-container\">\n\t\t\t\t\t\t\t{this.props.icon}\n\t\t\t\t\t\t\t{this.props.isComplete && this.props.variant !== 'info-only' ? (\n\t\t\t\t\t\t\t\t<Icon\n\t\t\t\t\t\t\t\t\tassistiveText={{\n\t\t\t\t\t\t\t\t\t\tlabel: assistiveText.completedIcon,\n\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\tcategory=\"action\"\n\t\t\t\t\t\t\t\t\tname=\"check\"\n\t\t\t\t\t\t\t\t\ttitle={assistiveText.completedIcon}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t) : null}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t\t<div className=\"slds-media__body\">\n\t\t\t\t\t<div className=\"slds-welcome-mat__tile-body\">\n\t\t\t\t\t\t<h3 className=\"slds-welcome-mat__tile-title\">{this.props.title}</h3>\n\t\t\t\t\t\t<p className=\"slds-welcome-mat__tile-description\">\n\t\t\t\t\t\t\t{this.props.description}\n\t\t\t\t\t\t</p>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</React.Fragment>\n\t\t);\n\n\t\treturn (\n\t\t\t<div\n\t\t\t\tid={this.getId()}\n\t\t\t\tclassName={classNames(\n\t\t\t\t\t'slds-welcome-mat__tile',\n\t\t\t\t\tthis.props.variant === 'info-only'\n\t\t\t\t\t\t? 'slds-welcome-mat__tile_info-only'\n\t\t\t\t\t\t: null,\n\t\t\t\t\tthis.props.isComplete && this.props.variant !== 'info-only'\n\t\t\t\t\t\t? 'slds-welcome-mat__tile_complete'\n\t\t\t\t\t\t: null,\n\t\t\t\t\tthis.props.className\n\t\t\t\t)}\n\t\t\t>\n\t\t\t\t{this.props.variant === 'info-only' ? (\n\t\t\t\t\t<div className=\"slds-media\">{body}</div>\n\t\t\t\t) : (\n\t\t\t\t\t<a\n\t\t\t\t\t\thref={this.props.href}\n\t\t\t\t\t\tclassName=\"slds-box slds-box_link slds-media\"\n\t\t\t\t\t>\n\t\t\t\t\t\t{body}\n\t\t\t\t\t</a>\n\t\t\t\t)}\n\t\t\t</div>\n\t\t);\n\t}\n}\n\nTile.displayName = displayName;\nTile.propTypes = propTypes;\nTile.defaultProps = defaultProps;\n\nexport default Tile;\n","/* eslint-disable fp/no-mutating-methods */\n/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n/**\n * This is a UX pattern recommendation for auto-complete search results that can contain multiple subheadings within the results. It inserts a subheading object based on `option.type === subheading.id` directly before a found option object and only inserts the subheading at the first occurence of that type of option.\n */\n\nconst addSubheadings = ({ subheadings, filteredOptions }) => {\n\t// Let's not mutate things we don't own.\n\tconst subheadingsCopy = [...subheadings];\n\tconst sortedOptions = { noSubHeaderType: [] };\n\n\t// populate an object with subheader ID as the keys\n\tsubheadingsCopy.forEach((subH) => {\n\t\tif (subH.id) {\n\t\t\tsortedOptions[subH.id] = [subH];\n\t\t}\n\t});\n\n\t// sort options into arrays using option type\n\t// if option type and subheader ID are equal, add to array, if no option type, add to noSubHeaderType array\n\tfilteredOptions.forEach((option) => {\n\t\tif (sortedOptions[option.type]) {\n\t\t\tsortedOptions[option.type].push(option);\n\t\t} else {\n\t\t\tsortedOptions.noSubHeaderType.push(option);\n\t\t}\n\t});\n\n\t// get object values by dropping keys\n\t// flatten and remove child arrays, so that we have one array\n\t// `...` operates on each array item, not the array\n\treturn [].concat(...Object.values(sortedOptions));\n};\n\nexport default addSubheadings;\n","/* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved */\n/* Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */\n\n/* eslint-disable no-console */\n\n/**\n * This is a wrapper utility for logging messages to the\n\tuser. This is helpful in using the same examples\n\tfor the documentation site as for the Storybook examples.\n * @param {Function} options.action function that outputs\n * messages to Storybook\n * @param {Event} options.event the browser event\n * @param {String} options.eventName the name of the event\n * @param {Object} options.data callback payload and data object\n * @param {Function} options.customLog Custom logging function. This\n * is helpful for Node debugging and removing console log from tests.\n */\nconst log = ({ action, event, eventName, data, customLog }) => {\n\tif (customLog && event) {\n\t\tcustomLog({ eventName, event, data });\n\t} else if (action && event) {\n\t\t// https://github.com/storybooks/storybook/tree/master/addons/actions\n\t\taction(eventName)(event, data);\n\t} else if (console && console.log) {\n\t\tconsole.log(eventName, event, data);\n\t}\n};\n\nexport default log;\n"],"sourceRoot":""} \ No newline at end of file diff --git a/docs/ISSUE_TEMPLATE.md b/docs/ISSUE_TEMPLATE.md new file mode 100644 index 0000000000..6c06929168 --- /dev/null +++ b/docs/ISSUE_TEMPLATE.md @@ -0,0 +1,17 @@ +Thank you for filing an issue! + +Please review the [frequently asked questions](faq.md) such as: + +* [Why do my icons not show up in IE11?](browser-compatibility.md#internet-explorer-11-support) +* [Why aren't my ES6 imports, icons, styles, or fonts working in Create React App?](create-react-app.md) + +Please include in your issue: + +* If you are working on the problem. Issues may be closed within 30 days if no one is assigned. Maintainers work on this project 20-30 hours per week and have their own prioritized backlog. +* How to duplicate a bug. Line numbers or code to paste into the documentation site examples is helpful. +* If you are a Salesforce employee. You should also create a duplicate work item in your internal ticket system and link to this issue. +* If you plan to work on a new component. Please propose props after reviewing at newly written components and `docs/codebase-overview.md`. + +For Salesforce platform questions, please visit https://success.salesforce.com, https://partners.salesforce.com, or https://salesforce.stackexchange.com + +This project uses SLDS markup, but you should submit HTML/CSS issues to https://github.com/salesforce-ux/design-system. diff --git a/docs/PULL_REQUEST_TEMPLATE.md b/docs/PULL_REQUEST_TEMPLATE.md new file mode 100644 index 0000000000..6e4289ac67 --- /dev/null +++ b/docs/PULL_REQUEST_TEMPLATE.md @@ -0,0 +1,30 @@ +Fixes # + +### Additional description + +--- + +### CONTRIBUTOR checklist (do not remove) +Please complete for every pull request + +* [ ] First-time contributors should sign the Contributor License Agreement. It's a fancy way of saying that you are giving away your contribution to this project. If you haven't before, wait a few minutes and a bot will comment on this pull request with instructions. +* [ ] `npm run lint:fix` has been run and linting passes. +* [ ] Mocha, Jest (Storyshots), and `components/component-docs.json` CI tests pass (`npm test`). +* [ ] Tests have been added for new props to prevent regressions in the future. See [readme](https://github.com/salesforce/design-system-react/blob/master/tests/README.md). +* [ ] Review the appropriate Storybook stories. Open [http://localhost:9001/](http://localhost:9001/). +* [ ] Review tests are passing in the browser. Open [http://localhost:8001/](http://localhost:8001/). +* [ ] Review markup conforms to [SLDS](https://www.lightningdesignsystem.com/) by looking at [DOM snapshot strings](https://facebook.github.io/jest/docs/en/snapshot-testing.html). + +### REVIEWER checklist (do not remove) + +* [ ] TravisCI tests pass. This includes linting, Mocha, Jest, Storyshots, and `components/component-docs.json` tests. +* [ ] Tests have been added for new props to prevent regressions in the future. See [readme](https://github.com/salesforce/design-system-react/blob/master/tests/README.md). +* [ ] Review the appropriate Storybook stories. Open [http://localhost:9001/](http://localhost:9001/). +* [ ] The Accessibility panel of each Storybook story has 0 violations (aXe). Open [http://localhost:9001/](http://localhost:9001/). +* [ ] Review tests are passing in the browser. Open [http://localhost:8001/](http://localhost:8001/). +* [ ] Review markup conforms to [SLDS](https://www.lightningdesignsystem.com/) by looking at [DOM snapshot strings](https://facebook.github.io/jest/docs/en/snapshot-testing.html). +###### Required only if there are markup / UX changes +* [ ] Add year-first date and commit SHA to `last-slds-markup-review` in `package.json` and push. +* [ ] Request a review of the deployed Heroku app by the Salesforce UX Accessibility Team. +* [ ] Add year-first review date, and commit SHA, `last-accessibility-review`, to `package.json` and push. +* [ ] While the contributor's branch is checked out, run `npm run local-update` within locally cloned [site repo](https://github.com/salesforce-ux/design-system-react-site) to confirm the site will function correctly at the next release. diff --git a/docs/README-dist.md b/docs/README-dist.md new file mode 100644 index 0000000000..745d1126e0 --- /dev/null +++ b/docs/README-dist.md @@ -0,0 +1,54 @@ +# Design System for React + +### Accessible, localization-friendly, presentational React components + +## Install + +``` +$ npm install @salesforce-ux/design-system @salesforce/design-system-react +``` + +## Getting Started + +Welcome to the project! :wave: This library is the [React](https://facebook.github.io/react/) implementation of the [Salesforce Lightning Design System](https://www.lightningdesignsystem.com/). This library has a peer dependency on `@salesforce-ux/design-system`, `react`, and `react-dom`. + +* [Getting Started](https://react.lightningdesignsystem.com/getting-started/) +* [Documentation and interactive examples](https://react.lightningdesignsystem.com) + +### Quick Setup (CommonJS) + +A CommonJS-compatible version has been included within the NPM package to allows usage without transpiling. Use the following named `import` syntax to access CommonJS components from `/lib/index.js`: + +``` +import { Button } from '@salesforce/design-system-react'; + +<Button label="Hello Button" /> +``` + +### Recommended Usage (ES6 modules) + +Recommended usage requires that your babel presets are set up correctly. `create-react-app` and environments that do not transpile code within `node_modules` are not compatible with the component import below. All the examples on the [documentation site](https://react.lightningdesignsystem.com/) use this syntax. You can use the Babel preset, `@salesforce/babel-preset-design-system-react`, to get started. [This preset](npmjs.com/package/@salesforce-ux/babel-preset-design-system-react) will keep Babel compatible with Design System React and allow ES6 module benefits such as tree-shaking. + +``` +import Button from '@salesforce/design-system-react/components/button'; + +<Button label="Hello Button" /> +``` + +#### Transpile with `.babelrc` settings + +```json +{ + "presets": ["@salesforce/babel-preset-design-system-react"] +} +``` + +## Licenses + +* Source code is licensed under [BSD 3-Clause](https://git.io/sfdc-license) +* All icons and images are licensed under [Creative Commons Attribution-NoDerivatives 4.0](https://github.com/salesforce/licenses/blob/master/LICENSE-icons-images.txt) +* The Salesforce Sans font is licensed under our [font license](https://github.com/salesforce/licenses/blob/master/LICENSE-font.txt) + +## Got feedback? + +If you have support questions, please post a question to [StackOverflow](https://stackoverflow.com/questions/tagged/design-system-react) and tag with `design-system-react`. If you find any bugs, create a [GitHub Issue](https://github.com/salesforce/design-system-react/issues). diff --git a/docs/SUPPORT.md b/docs/SUPPORT.md new file mode 100644 index 0000000000..b665da4ed7 --- /dev/null +++ b/docs/SUPPORT.md @@ -0,0 +1,3 @@ +If you have non-bug support questions, please post a question to [StackOverflow](https://stackoverflow.com/questions/tagged/design-system-react) and tag with `design-system-react`. + +For contributing, please read the [CONTRIBUTING.md](/CONTRIBUTING.md) and [Test README](/tests/README.md). Then, create an issue to tell others you are working on the issue. If you would like to contribute a feature, create an issue with a list of proposed props to discuss with maintainers. Issues not addressed with pull requests may be closed eventually. diff --git a/docs/browser-compatibility.md b/docs/browser-compatibility.md new file mode 100644 index 0000000000..aae1fb4184 --- /dev/null +++ b/docs/browser-compatibility.md @@ -0,0 +1,18 @@ +# Browser compatibility + +Design System React should be treated as source code for your application build system, and not as a browser-ready library. The recommended way of consuming this library has ES2017+ language features, and therefore cannot be run in the browser without transpiling within your build system. + +The [primary audience for this library is software engineers](https://github.com/salesforce/design-system-react/blob/master/docs/codebase-overview.md#not-bootstrap) with an application build system in place, so they can optimize for loading performance. Although this project will try to make an effort to call out incompatibility with legacy browsers when it is discovered, browser compatibility should be handled by the consuming developer with polyfills. This keeps this library clean of additional helper libraries that will not be needed in the future and may not be needed by every consumer. + +The eventual goal is to remove all polyfills (such as [lodash](https://lodash.com/)) and use native ECMAScript features. For instance, if you need to support IE11, you may consider the polyfills for many of these features found in the [core-js library](https://github.com/zloirock/core-js#commonjs). + +**Please add any additional polyfills that you need to the list below** when you discover them. This library uses the following ECMAScript features: + +* `Array.prototype.findIndex` - use [core-js library](https://github.com/zloirock/core-js#commonjs) +* `Element.classList` - use [classList.js](https://github.com/eligrey/classList.js) + +### Internet Explorer 11 Support + +This library is not shipped to support IE11, but we strive to allow it to be compatible with adding your own polyfills and are open to any changes that are needed to support you in adding your own polyfills. + +* SVG and icon support - SLDS uses external sprite maps. You may try using [SVG for Everybody](https://github.com/jonathantneal/svg4everybody). diff --git a/docs/codebase-overview.md b/docs/codebase-overview.md new file mode 100644 index 0000000000..fc3ce0104e --- /dev/null +++ b/docs/codebase-overview.md @@ -0,0 +1,642 @@ +# Codebase Overview + +### This page will give you an overview of the library codebase organization, conventions, and implementation. Components will always be moving toward this specification, but may not comply currently. + +If you want to [contribute](/CONTRIBUTING.md), we hope that this overview will help you feel more comfortable. + +<!-- START doctoc generated TOC please keep comment here to allow auto update --> + +<!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE --> + +* [Top-Level folders](#top-level-folders) +* [Introduction to presentational components](#introduction-to-presentational-components) + * [Your audience is intermediate to advanced engineers](#your-audience-is-intermediate-to-advanced-engineers) + * [Write clear prop comment descriptions for documentation website](#write-clear-prop-comment-descriptions-for-documentation-website) + * [Prop changes need console warnings](#prop-changes-need-console-warnings) +* [External architecture](#external-architecture) + * [No prop breaking changes without backwards compatibility](#no-prop-breaking-changes-without-backwards-compatibility) + * [Review similar components before proposing a feature](#review-similar-components-before-proposing-a-feature) + * [Rendered text needs a prop. Group assistive text and labels](#rendered-text-needs-a-prop-group-assistive-text-and-labels) + * [Use `isRequired` PropType when possible](#use-isrequired-proptype-when-possible) + * [Prefix `onRequest[ACTION]` to pre-state-change callbacks functions](#prefix-onrequestaction-to-pre-state-change-callbacks-functions) + * [Prefix `on[EVENT]` to post-event callback functions](#prefix-onevent-to-post-event-callback-functions) + * [No return values in event callback functions](#no-return-values-in-event-callback-functions) + * [Allow `id` to be set and unique to the page](#allow-id-to-be-set-and-unique-to-the-page) + * [Callback props should be tested to see if they exist](#callback-props-should-be-tested-to-see-if-they-exist) + * [Prefix render props with `onRender`](#prefix-render-props-with-onrender) + * [Reuse existing component props by using component. No `<Button iconClassName />`.](#reuse-existing-component-props-by-using-component-no-button-iconclassname-) + * [Put private components in `private` folder](#put-private-components-in-private-folder) + * [No global DOM or `window` access](#no-global-dom-or-window-access) + * [Limit global event listeners usage](#limit-global-event-listeners-usage) + * [Limit use of DOM `ref`](#limit-use-of-dom-ref) + * [Use `refs` object for external DOM callbacks](#use-refs-object-for-external-dom-callbacks) + * [`className` class is rendered on `.slds-[COMPONENT]`](#classname-class-is-rendered-on-slds-component) + * [Use `className[NODE]` prefix for other nodes](#use-classnamenode-prefix-for-other-nodes) + * [Boolean props: Use `is`, `has`, and `can` prefixes or `-able` suffix](#boolean-props-use-is-has-and-can-prefixes-or--able-suffix) + * [No truthy defaults for boolean type props](#no-truthy-defaults-for-boolean-type-props) + * [Adding a default prop may be a breaking change](#adding-a-default-prop-may-be-a-breaking-change) + * [Use `event, { key: value }` in callback parameters](#use-event--key-value--in-callback-parameters) + * [Transpile this library before using](#transpile-this-library-before-using) + * [Only propose SLDS components](#only-propose-slds-components) +* [Internal Architecture](#internal-architecture) + * [Example Class](#example-class) + * [Limit component state](#limit-component-state) + * [Use controlled components](#use-controlled-components) + * [React component can differ from DOM hierarchy](#react-component-can-differ-from-dom-hierarchy) + * [Group form elements in the same component](#group-form-elements-in-the-same-component) + * [Use loose coupling and weak connascence](#use-loose-coupling-and-weak-connascence) + * [Use a single return](#use-a-single-return) + * [Define defaults in one location](#define-defaults-in-one-location) + * [Use functions instead of loops](#use-functions-instead-of-loops) + * [No mixins](#no-mixins) + * [Use one stateful component and many stateless sub-components](#use-one-stateful-component-and-many-stateless-sub-components) + * [No DOM node queries](#no-dom-node-queries) + * [Limit external production dependencies.](#limit-external-production-dependencies) + * [Avoid inline styles and non-SLDS classes.](#avoid-inline-styles-and-non-slds-classes) + * [Only extend from `React.Component`](#only-extend-from-reactcomponent) + * [Use `classnames` for conditional CSS classes](#use-classnames-for-conditional-css-classes) + * [Use design tokens for inline styles](#use-design-tokens-for-inline-styles) + * [500+ line files should be avoided](#500-line-files-should-be-avoided) + * [Render style preference: 1) `?:`, 2) `&&`, 3) Enum, 4) Sub-component](#render-style-preference-1--2--3-enum-4-sub-component) + * [Use `handle` prefix on internal callbacks](#use-handle-prefix-on-internal-callbacks) + * [Use entire class name string when rendering conditional class names](#use-entire-class-name-string-when-rendering-conditional-class-names) + * [No variable mutation](#no-variable-mutation) + * [No spread operator on DOM nodes](#no-spread-operator-on-dom-nodes) + * [No props in initial state](#no-props-in-initial-state) +* [Write tests](#write-tests) + * [Test all props](#test-all-props) + * [Components should have 90%+ test coverage](#components-should-have-90%25-test-coverage) +* [Components should be accessible](#components-should-be-accessible) + * [Components should be keyboard accessible](#components-should-be-keyboard-accessible) + * [Use DOM ref to control focus if needed](#use-dom-ref-to-control-focus-if-needed) +* [Writing documentation site examples](#writing-documentation-site-examples) +* [Converting SLDS to Design System React](#converting-slds-to-design-system-react) +* [Babel Preset folder](#babel-preset-folder) +* [Benefits of open source software](#benefits-of-open-source-software) + +<!-- END doctoc generated TOC please keep comment here to allow auto update --> + +### Top-Level folders + +* `components` - React components + * `[COMPONENT]` - components that are part of the public API + * `__tests__` - Mocha and Jest tests + * `__examples__` Examples used in storybook and documentation website + * `__docs__` - storybook and documentation website imports of examples + * `private` - components that are not a part of the public API + * `utilities` - components that are shared between other components (not public API) +* `icons` - Inline icons \[legacy\] +* `preset` - Babel preset published to `@salesforce/babel-preset-design-system-react` +* `scripts` - Build and release tasks +* `styles` - Temporary location for styles (use sparingly) +* `utilities` - Scripts that are not React components including `checkProp` warnings, DOM, and event helpers. (not public API) + +### Introduction to presentational components + +If you are new to React, you may be trained to design components in a more complicated way than they need to be. The goal is for engineers to not have to think about markup and stylesheets. Please prioritize the simple and the flexible. + +The gist of presentational components is to be a template that takes in data and passes out user events and related data to callback functions. One over-simplified way to approach it is to consider these components as [Handlebars templates](http://handlebarsjs.com/) with event listeners. + +* Take data and UI data, such as disabled buttons, from parent via props to display data and UI state correctly. Don't manipulate props with string concatenations, array pushes, and sorting within components. +* Pass mouse and keyboard events and related event data, such as the item data for the item that was clicked, up to parent state machine, so it can decide how to manipulate it's child components' props. +* Parent components should be the only components that change data. Components should be data stateless and only reflect the data they have been given. Only UI state, such as "is this dialog open?" or "is this option active/focused" should be within components. Focus and active state should be maintained internally in order to not introduce these into your state engine store (e.g.- Redux). + +#### Your audience is intermediate to advanced engineers + +This project is not Bootstrap, and we've built [frameworks on top of Bootstrap](https://github.com/ExactTarget/fuelux). The primary audience for this project is software engineers wanting to easily implement the design artifact handed to them. Yes, contributors should over-document and explain as much as you need to, but you do _not_ need to have components just work when you drop them on the page. In short, think functionally and limiting internal component state. + +#### Write clear prop comment descriptions for documentation website + +"I just updated. What just broke and why?" Why does the React child component become the DOM parent node? Write as long of a prop description comment that is needed to understand the concept. These comments are used for the prop tables on the library documentation website. + +#### Prop changes need console warnings + +Need to sunset a prop or change the variable type accepted? Write backward compatible code and add console warnings that will _only run in development_. Use a `checkProp` function to communicate to the developer that they are not using the library correctly. If the warning can become an independent module and work in multiple components, add it to the `design-system-react/utilities` folder. Some examples include: + +* A component has children without a specified `displayName` +* Determine if the trigger can be tabbed to +* Require one of multiple props, but not both or only one of the specified properties +* Warnings of property deprecation, sunsetting, and future changes + +### External architecture + +#### No prop breaking changes without backward compatibility + +Except on rare occasions with considerable thought breaking changes will be denied. Non-backward compatible changes to component props or a new design system version that has breaking changes within it _is_ a breaking change and this library will have to release a major version. + +SLDS markup alignment and class changes within the current design system release cycle are _not_ considered breaking changes in this library although they may break markup queries. When upgrading the design system CSS, please create an archive/stale branch labeled similar to `spring-17-2.2.x`, except using the correct Salesforce release date and SLDS version that the code was intended to support. + +If you need an existing prop changes, please consider some alternatives such as deprecated the old prop and proposing a new prop name (`onChange` to `onRowChange` for instance). + +#### Review similar components before proposing a feature + +Familiarize yourself with concepts used in the rest of the library. + +#### Rendered text needs a prop. Group assistive text and labels + +Be inclusive of non-English users. Any text the user can read (including hidden assistive text for screenreaders) should be able to be set via a prop for internationalization purposes. Within the component, **do not concatenate strings.** This assumes that you know the word order of all languages. Strings should be passed into props in their entirety. Non-visible programmatic keys can be concatenated. + +If the text has a mix of data and words, use a before/after key name or a callback with a return value. All assistive text for accessibility and visible text should be grouped in an object and passed in with a prop, `assistiveText` and `labels` respectively. This will allow consuming developers to easily find and map text to localize it. All visible text labels should allow a propType of `node`. This allows for italics, bold, other inline styling, and adding tooltips. + +#### Use `isRequired` PropType when possible + +Similar to limiting internal state, `isRequired` is explicit and determines the minimal API of each component. It simplifies a component's internal code and removes conditionals. + +#### Prefix `onRequest[ACTION]` to pre-state-change callbacks functions + +Pre-state-change events are events that _request_ a state change from the parent component. Pre-state-change events callbacks should check for an invalid state and prevent the invalid state. For example + +* Pill's `onRequestRemove` would be called before the Pill is removed. A pill is requesting that itself be removed, but it hasn't been removed yet. \* `onRemove` would be called after the Pill is removed. +* "Native" events, like `onClick`, `onKeyDown`, `onFocus` do not have the prefix `onRequest`, since the callback occurs after the specified event. +* `onRequestRemove` occurs _before_ the event of removal, while `onKeyDown` (delete or backspace) on a Pill occurs after a key is pressed down. + +#### Prefix `on[EVENT]` to post-event callback functions + +This is fairly standard React convention. Post-state-change or post-user-action events are called after a state change or a user event and should have the `on` prefix. + +#### No return values in event callback functions + +Event callback props should not communicate with the parent component through return values. To increase clarity, do use `event.preventDefault()` or `return false` within a callback prop to communicate information back to the component. Trapping event bubbling is good, but components should only be communicated with by props cycling back through the state engine. All data needed to change the state or communicate an invalid state should be explicitly provided by a key in the data object of the function parameter. The data object is always the second parameter of the callback. + +#### Allow `id` to be set and unique to the page + +All `id` attributes in a component's DOM should be unique to the page, especially if the same component is used multiple times. A top-level component's `id` prop should be `shortid` generated by default _and_ also be able to be controlled by the consuming developer. `shortid` generated `id` attributes are needed to enable accessibility and sometimes used for a React `key`. Letting the developer set a component's `id` allows library and consuming application DOM snapshots tests to be deterministic. Sub-component `id` props and nodes within a component can be concatenated strings such as `` <div id={`tab-panel-${props.componentId}-${props.panelId}`} role="tabpanel" /> ``. Every `id` should contain the component's `id` prop, since multiple components on the same page could use the same data objects and all HTML element `id`'s should be unique to the page. + +#### Callback props should be tested to see if they exist + +Public callback/handler function props should be tested to see if they exist before execution. Within private child components use `.isRequired` PropType if the callback is needed internally for the component to function. + +#### Prefix render props with `onRender` + +Render props are essentially a callback function that occurs at render and should be given all data that the default render function has access to. Use an `onRender` prefix to signal that it is a standard [render prop](https://reactjs.org/docs/render-props.html) function (e.g.- `onRender[nodeOrComponentName]`). In a menu item render, this would be the `options` object. This functional is always swapped out with a DOM node. + +#### Reuse existing component props by using component. No `<Button iconClassName />`. + +Another kind of render prop is when a prop accepts an existing Design System React component class with a prop API such as the `dropdown` prop of `DataTableRowActions`. _Component composition with prop spread_ is a similar pattern to render props, but differs in that it does an element clone with a shallow prop/object merge in which it is assumed that the prop component passed in overrides any props from its parent. + +In a way, this is "grandparent control" in that it surfaces the internal API of sub-components to the consuming developer in a way that the parent of the parent can control it. The parent component (such as `DataTableRowActions`) shallow merges the props from itself with the component props provided from the developer. The developer's passed in component controlled by the "grandparent" takes precedence and **\*merges in last** which is what you typically want, since a grandparent component controls the parent. That said, overriding internal logic can easily break a component. _Use with caution._ + +This pattern creates a separation of concern and a more declarative approach that relies on child components with their own documented props instead of additional props on the parent component such as `<Button iconClassName />`. Passing in `<Dropdown options={} />` to a `dropdown` prop limits the aliasing of props for child components that already exist (`dropdownOptions` is discouraged) and reduces duplication of `PropType` documentation and increases library maintainability. + +#### Put private components in `private` folder + +React components not in a `private` folder are considered public and are considered within the scope of semantic versioning for breaking changes. + +#### No global DOM or `window` access + +Encapsulate your components. No DOM queries. If `window`, `document` and event listeners are needed for events, you should test for their existence. Their existence is not guaranteed. + +#### Limit global event listeners usage + +The component should not be listening to window events directly. If a menu needs to be smaller to be responsive, consuming applications should listen for the resize event and change the correct props to make the component responsive--or a CSS solution should be found. + +#### Limit use of DOM `ref` + +DOM references should only be used for tasks such as measurement. + +#### Use `refs` object for external DOM callbacks + +If you need to provide a DOM node reference, create an object called `refs` with keys that are semantic names of DOM nodes: `refs: { triggerButton: ()=>{}, triggerInput: ()=>{} }`. `ref` is a reserved prop name. This will return the component React object, _not_ the DOM node. If you use a `refs` object, you may need shallow merge the object with default props. For more information, please review [Exposing DOM Refs to Parent Components](https://facebook.github.io/react/docs/refs-and-the-dom.html#exposing-dom-refs-to-parent-components). + +```javascript +const CustomTextInput (props) => ( + <div><input ref={props.refs.input} /></div> +); + +const Parent () => ( + <CustomTextInput + refs={{ + input: (el) => { + this.inputElement = el; + }, + }} + /> +); +``` + +#### `className` class is rendered on `.slds-[COMPONENT]` + +The `className` prop should be on a consistent node. The classes passed into `className` should be present on the `.slds-[COMPONENT]` node and not on a container node--nor on a child of `.slds-[COMPONENT]`. All other `className` props should be suffixed--such as `classNameMenu` or `classNameContainer`. + +#### Use `className[NODE]` prefix for other nodes + +Use `classNameInput` for the classname on an `input` within a component. + +#### Boolean props: Use `is`, `has`, and `can` prefixes or `-able` suffix + +If a prop is a boolean, please prefix with `is` or `can`, `has`, or suffix it with `-able`. Never default a prop to `true`. + +#### No truthy defaults for boolean type props + +This will prevent consumers from having to write `propName={false}`. HTML defaults many attributes to true if no value is provided, such as `checked` instead of `checked="true"`. To maintain JSX's HTML-like syntax, please avoid asking a developer to use `propName={false}`. This may require using the opposite word, such as `isInline` instead of `isModal`. + +#### Adding a default prop may be a breaking change + +If adding a default prop changes the component visually from what it was without the default prop, it is considered a breaking change. Default props are very helpful and welcome if there are no changes to the component or are part of a new component. One alternative option is to create a value not specified by the design system that results in the originally rendered markup. + +#### Use `event, { key: value }` in callback parameters + +Use consistent callback parameters and names. All render callbacks, that is callbacks that determine what to render, should pass a data object with named key/values as the second parameter. Event callbacks should pass in the synthetic event, then a data object with named key/values that relate to the event. If an event callback doesn't have a user event that triggered it, pass `undefined` as the event. This will look something like `this.props.onCallback(event, { extraInfo: true })`. + +#### Transpile this library before using + +This library will not, and is not, intended to be run in a browser as-is. This library is targeted at engineers that can optimize their builds for performance and target the browsers and environments they need to support with appropriate polyfills. Polyfills should be added at application build time. + +#### Only propose SLDS components + +This library should include only components which have approved patterns in Salesforce's [design system](https://www.lightningdesignsystem.com/). If there is a use case from a designer that conforms to a design pattern, that component should be able to be implemented with this library. This library does NOT conform to Salesforce production per se, but is open to being customized to support patterns in production if they remain generic and flexible. If you are a Salesforce employee and need a component not in SLDS, please email Stephen James. + +### Internal Architecture + +Internal architecture should promote readability and easy maintainance. + +#### Example Class + +```javascript +import React from 'react'; +import PropTypes from 'prop-types'; +import shortid from 'shortid'; +import checkProps from './check-props'; +import { EXTERNAL_CONSTANT } from '../../utilities/constants'; + +const propTypes = { + /** + * The description of this prop (will appear in the documentation site). + */ + title: PropTypes.string.isRequired, +}; + +// These values will also be visible in the documentation site. +const defaultProps = {}; + +/** + * The description of this component (will appear in the documentation site). + */ +class DemoComponent extends React.Component { + static displayName = EXTERNAL_CONSTANT_NAME; + static propTypes = propTypes; + static defaultProps = defaultProps; + + constructor(props) { + super(props); + + // useful for unique DOM IDs + this.generatedId = this.props.id || shortid.generate(); + + // initial state + this.state = {}; + + // Not required. This function issues console warnings to developers about props and is helpful in upgrading. All breaking changes to props must have a warning for developers when they upgrade. + checkProps(EXTERNAL_CONSTANT, this.props); + } + + // Class property bound to instance. Class methods that are not React lifecycle methods should use "fat-arrow" syntax if `this` binding is needed. + toggleOpen = (event, { eventDataKey }) => { + // you can use `this` here + }; + + // Minimize use of multiple renders. More HTML-like JSX is preferred with ternary statements + renderSubComponent = () => null; + + // Render should be last + render() { + return null; + } +} + +export default DemoComponent; +``` + +#### Limit component state + +If the parent application's state engine can handle it with a `prop`, then don't use state. _New components should always start out as controlled by their parent and only be uncontrolled (that has state) if a use case presents itself._ It's better to have a component that needs 20 props set and outputs the correct markup, than to have a component that works with no props set, yet maintains multiple internal states. We like to think of this project as design system templates with minimal logic that happen to work with the React framework. Let the library consumer create a simple _container component_ with state. Read more about [controlled components](#use-controlled-components). + +#### Use controlled components + +* Components should be able to be "controlled"--that exposes a callback and expect their parent to control them with props. Components should be controlled at first and then uncontrolled support added later if needed. +* Prefix callbacks that occur before an event with `onRequest`. Prefix callbacks that occur as a result of an event with `on`. The close button in a Popover will call `onRequestClose` while the Popover will call `onClose` after the Popover has been closed. This is because closing isn't guaranteed with `onRequestClose`, since the parent component will decide. +* Please note that if controlled by its parent, a component will appear broken if just copied and pasted into an application without a parent to control its props. +* Controlled components can be stateless components, but entirely stateless components do complicate DOM selectors for the consuming applications. + +A **controlled** `<input>` has a `value` prop. Rendering a controlled `<input>` will reflect the value of the `value` prop. + +```javascript + render() { + return <input type="text" value="Hello!" />; + } +``` + +User input will have no effect on the rendered element because React has declared the value to be `Hello!`. To update the value in response to user input, you could use the `onChange` event: + +```javascript +class MyForm extends React.Component { + constructor(props) { + super(props); + this.state = { value: 'Hello!' }; + } + + handleChange = (event) => { + this.setState({ value: event.target.value }); + }; + + render() { + return ( + <input + type="text" + value={this.state.value} + onChange={this.handleChange} + /> + ); + } +} +``` + +In this example, we are accepting the value provided by the user and updating the `value` prop of the `<input>` component. This pattern makes it easy to implement interfaces that respond to or validate user interactions. For example: + +```javascript +handleChange = (event) => { + this.setState({ value: event.target.value.substr(0, 140) }); +}; +``` + +This would accept user input and truncate the value to the first 140 characters. + +A **Controlled** component does not maintain its own internal state; the component renders purely based on props. + +_from [Controlled Components](https://facebook.github.io/react/docs/forms.html#controlled-components) in the React documentation._ + +* If a component needs the ability to also manage its own state (that is to be an "uncontrolled" component) in particular situations the parent should still be able to take over and make it controlled simply by passing in a value for the prop. For instance, an `onModalClose` callback could change `isModalOpen` to `false` when it is ready to close the modal. +* For more detail and examples of this pattern, visit [DIMOC: Do It Myself or Callback](https://gist.github.com/jamesgpearce/53a6fc57677870f93248). + +#### React component can differ from DOM hierarchy + +React component hierarchy doesn't always mean HTML tag hierarchy. Sometimes children become the wrapping component. + +#### Group form elements in the same component + +Unless only style changes are needed, variants of form elements types such as checkboxes, radios, and inputs should be grouped in the same component. The underlying structure of a radio or checkbox do not change. All input `type=checkbox` nodes should be in the Checkbox component as a variant. This should be done, so that implementations of the same form elements that have different visual design can more easily be debugged. Bugs in one visual design of a form element are often found in another visual design. + +#### Use loose coupling and weak connascence + +The goal should be that a contributor can understand one piece of code without understanding another and be able to easily make updates in the future. You want weak connascence between components or components and the application (such as events) and not strong connascence. This makes it easier to update one component when modifying another in the future. How easy it will be to change in the future depends on which of the nine [types of connascence](<https://en.wikipedia.org/wiki/Connascence_(computer_programming)>) is being used. For instance, _Connascence of Name_ can be simply updated with Find/Replace. PropTypes and type systems help with _Connascence of Type_. _Connascence of Position_ with parameters is bad because it relies on the correct order of parameters. Objects with named keys should be used to avoid Connascence of Position. + +#### Use a single return + +Please do not short-circuit functions with multiple returns. + +#### Define defaults in one location + +Default props or any default variable value should be defined in one location. Many objects are merged in this library and this simplifies the logic and ensures defaults are not overriding non-defaults. + +#### Use functions instead of loops + +`const getKittenNames = (cats) => cats.filter(isKitten).map(getName)` is a great example of how to get a list of kitten names from a `cats` collection without a `for`, `while`, or `until` loop while only modifying variables within the functional scope. + +#### No mixins + +Avoid implied mixins. Instead, import and use shared code and external libraries as libraries, or use higher-order components in order to more easily trace the code execution. + +#### Use one stateful component and many stateless sub-components + +It is preferable to only have one stateful top-level class per component in this library. For these top-level components, it’s preferable to use `class`. All sub-components should be stateless and manipulated with props if possible. + +* A `Tree` should have state. A `TreeNode` should not. +* A `DataTable` should have state, a `TableColumn` should not. +* Frequently used items such as badges, pills, buttons or icons should probably not have state. + +* Know how smart/stateful React components [work together](https://gist.github.com/trevordmiller/a7791c11228b48f0366b) with [pure/dumb stateless function components](https://facebook.github.io/react/docs/reusable-components.html#stateless-functions). + +#### No DOM node queries + +A `ref` callback is React's [link to a DOM node](https://facebook.github.io/react/docs/refs-and-the-dom.html). It is triggered on render and allows access to the DOM node asynchronously. In most cases within a component, you only need a `ref` for setting focus, but `refs` make testing easier. If you find yourself using `querySelectorAll()` to query parts of this library within your application tests, please stop and submit a contribution that surfaces the DOM node you are needing to test. If you control the contents or children yourself, please use a `ref` bound to your own JSX DOM node to test. For an example, review the `renderDialog` method of `Popover` and its `body` ref. Once surfaced, a DOM `ref` becomes part of the public API and will be treated as such. + +#### Limit external production dependencies. + +Do not add external dependencies _to production dependencies_ list unless absolutely necessary. Always consider the "total cost of ownership" for all dependencies. + +#### Avoid inline styles and non-SLDS classes. + +We are blessed to have a team of great CSS developers working on our design system. Use their CSS or contribute code back to them. Some rare or temporary implementations will be approved. + +#### Only extend from `React.Component` + +Use `class/extend`, but only extend from `React.Component` and never another `class`. This prevents class hierarchies and tight coupling being created beyond the basic `React.Component`. This completely avoids the gorilla-banana problem (“what you wanted was a banana, what you got was a gorilla holding the banana, and the entire jungle” - Joe Armstrong). + +#### Use `classnames` for conditional CSS classes + +This library makes extensive use of the [classnames](https://github.com/JedWatson/classnames) library for feeding conditional CSS classes into `className` attributes and allows a variety of types such as `string`, `object`, and `arrays`. Although longer, static classname strings are preferred more than dynamic classnames (dynamic object keys) due to searchability when updating markup. See [Classnames](#classnames) section for more details. + +#### Use design tokens for inline styles + +Inline styles should be kept to a minimum. The best option is to file a bug either in the internal bug system or at the [SLDS repository](https://github.com/salesforce-ux/design-system). This library contains a copy of design tokens available on the [SLDS site](https://www.lightningdesignsystem.com/design-tokens/). See [here](https://github.com/salesforce/design-system-react/blob/master/utilities/design-tokens/README.md) for more details. + +#### 500+ line files should be avoided + +These files should be broken into sub-components or utility libraries. + +#### Render style preference: 1) `?:`, 2) `&&`, 3) Enum, 4) Sub-component + +Once your data is in a correct structure, your rendering should just respond to changes in your data. Here is a list of ways to render: + +1. Inline ternary operator + * Preferred more than a simple if-else statement + * It is more concise than if-else and can be used within JSX since it’s an expression +1. Logical `&&` operator + * Alternative to ternary. Use when one side of the ternary operation would return null + * Be careful that you don’t run into bugs when using multiple conditions (truthy/falsey values, especially array length of zero) +1. Inline Enum objects + * Great to map different states + * Great to map nested conditions ({prop1: { }}[prop1][prop2]) +1. Higher Order Components or Sub-components + * Create another stateless component and use it to shield away complex conditional rendering + * Components can focus on their main purpose + * This is an abstraction and can only return one node (in React 15) +1. Switch case + * Verbose (break!) + * Can only be JSX-inlined with self-invoking function + * Avoid it, enums are preferred +1. If-else + * Is the most basic conditional rendering + * Beginner friendly + * Cannot be inlined in JSX (needs variables) +1. Multi-level/nested conditional renderings + * Avoid them for the sake of readability + * Split up components into stateless components with their own simple conditional rendering + * Use HOCs instead +1. External templating components + * Avoid them and be comfortable with JSX and JavaScript + +**Sub-render versus ternary example** + +Keep variables inside the `render` function. + +```javascript +// bad +renderSmilingStatement () { + return <div>{this.props.name}{(this.state.isSmiling) ? <span> is smiling</span> : ""}</div>; +}, + +render () { + return <div>{this.props.name}{this.renderSmilingStatement()}</div>; +} +``` + +```javascript +// good +render () { + return ( + <div> + {this.props.name} + {this.state.isSmiling + ? <span> is smiling</span> + : null + } + </div> + ); +} +``` + +#### Use `handle` prefix on internal callbacks + +Name the handler methods after their triggering event. Handler names should: + +* begin with `handle` +* end with the name of the event they handle (eg, `Click`, `Change`) +* be present-tense + +```javascript +// bad +punchABadger () { /*...*/ }, + +render () { + return <div onClick={this.punchABadger} />; +} +``` + +```javascript +// good +handleClick () { /*...*/ }, + +render () { + return <div onClick={this.handleClick} />; +} +``` + +If you need to disambiguate handlers, add additional information between +`handle` and the event name. For example, you can distinguish between `onChange` +handlers: `handleNameChange` and `handleAgeChange`. When you do this, ask +yourself if you should be creating a new component. + +#### Use entire class name string when rendering conditional class names + +Use [classNames](https://www.npmjs.com/package/classnames) to manage conditional classes. This allows you to search the source code for the entire class name in order to update it. Dynamic classnames are difficult to locate. + +```javascript +// best +render () { + return ( + <div className={classnames('MyComponent', { + 'MyComponent--active': this.props.active, + 'MyComponent--link': this.props.variant === 'link', + })} /> +} +``` + +#### No variable mutation + +React tries to [optimize and prevent re-rendering the DOM when possible](https://facebook.github.io/react/docs/optimizing-performance.html#the-power-of-not-mutating-data). Many times this is not what you want. Avoid solitary use of `push`, `pop`, `shift`, `unshift`, `sort`, `reverse`, `splice` and `delete` when mutating arrays. If you ever have to ask yourself, why isn't my component rendering with new props, this is likely the reason. Use the [spread operator](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Spread_syntax) on objects and arrays--or [`Array.concat()`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/concat) on arrays instead of directly modifying these variables that are accessed by reference. You may consider exploring some new ES6 types such as [Set](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Set) which are collections that help store unique values of any type. + +#### No spread operator on DOM nodes + +Be careful with [rest operators](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Functions/rest_parameters) when passively applying unnamed and unknown props to JSX nodes. This concept allows flexibility to the consuming developer, but is difficult to track for maintainers. If rest operators should be used, be sure to deconstruct each one that is actually needed by the JSX nodes, so that the rest operator only handles "unknown props" passed in from the outside developer. In short, don't utilize any properties in the `...props` object within the component. After using `const { active, className, ...rest } = props;` do not go back to using `this.prop.*` anywhere in the render function. + +#### No props in initial state + +Please review [props in getInitialState is an anti-pattern.](https://facebook.github.io/react/tips/props-in-getInitialState-as-anti-pattern.html) + +### Write tests + +#### Test all props + +This allows breaking changes to be detected. If a breaking change doesn't cause at least one test to fail, then add a test. + +* All `props` should be tested. It is OK to test multiple props in the same test for optimization as long as they are isolated and do not affect each other (for instance `id`, `classname`, and `style`). +* All event callbacks should be tested along with any data object keys outside of the synthetic event to confirm the data. The data object, if present, is typically the second parameter of an event callback. +* All mouse and keyboard interactions should be tested. + +#### Components should have 90%+ test coverage + +Coverage can be determined by reviewing the coverage summary at the end of `npm test`. High test coverage does not imply correct logic, but low coverage implies low test quality/quantity. + +* Test should run in headless browsers (`npm test`) and within a "real" browser (`npm start` -> `http://localhost:8001/`) +* Components should be capable to be rendered without a `DOM`. Test for the existence of `document` and `window` before using them. +* For more specifics about testing please review the [testing walkthough](../tests/README.md). + +### Components should be accessible + +* Non-accessible component contributions are permitted but discouraged. These are labeled "prototypes" and do not follow an approved accessible user-experience pattern. Please create an additional issue to follow up with the contribution. + +* [ARIA-1.1 Authoring Practices guide](http://w3c.github.io/aria-practices/) +* [ARIA 1.1](https://www.w3.org/TR/wai-aria-1.1/) - Recommendation Candidate for the new ARIA Spec. +* [ARIA in HTML](http://w3c.github.io/html-aria/) - Reference to answer the question "Should I put ARIA on this?". +* [HTML 5.1](https://www.w3.org/TR/html51/) - Please notice the places where it informs of ARIA role for each element. +* [WCAG](https://www.w3.org/WAI/standards-guidelines/wcag/) - SLDS and this library should be AA compliant. + +#### Components should be keyboard accessible + +* Follow the accessibility guidelines for keyboard events on the SLDS website. + +#### Use DOM ref to control focus if needed + +* One of the key aspects of accessibility with React components is managing a DOM node's `focus` and `blur`. This should be implemented with callback references to DOM nodes and should _not_ use `ReactDOM.findDOMNode()`. Use the current DOM node `ref` prop to create a function that passes the DOM node to a callback that is provided by the parent which will control the focus once the DOM node has been rendered. + +* If a component has a focusable element, such as a button or an input, write a callback function that will pass the `ref` back to its parent. `buttonRef` or `inputRef` are possible prop names. + +## Writing documentation site examples + +* Documentation site code is located in a [private repository](https://github.com/salesforce-ux/design-system-react-site). +* The NPM module for this library is used for component documentation. Therefore, changes to documentation require a new version to be published. +* Documentation site examples use [CodeMirror](https://codemirror.net/) to `eval()` site examples from the NPM module. `import` and `export` statements are ignored by CodeMirror. Exports from `components/index.js` are the only variables available to code examples. Do not `import` any other variables or the site examples will not work. + +## Converting SLDS to Design System React + +* `variant` should be used for significant structure and markup or UX pattern changes that cannot exist at the same time. This may include examples, modifiers, but are usually labeled variants in SLDS. In order to clear, never make the presence of an event callback imply a markup change, other than the event attribute specified. Example: Do not make the addition of `onClick` turn a `span` into an `a` tag. +* `theme` should be used for a single `className` change that cannot exist at the same time as another `className`. These are typically SLDS states or themes, but could be modifiers. Examples: `warning`, `error`, `offline`, `success`. +* Modifiers and states that can exist at the same time and should be props by themselves, so that any combination of them is possible. +* `isOpen` on dialogs and menus should be able to be controlled by their parent component, but _also_ work with internal state if it is value is `undefined` +* SLDS uses styling to hide hidden elements. Please do not render these elements. Examples: menus, dialogs, tab and accordion content panels. +* In order to promote best practices, if components are used in a wrong or suboptimal way, the component should error. For instance, if `id` is a required key in option items, then the component should error out and not fall back to an array index. Custom `checkProps` warnings are the best way to provide a clear error to consuming developers. +* `propType` comments are used in the property tables on the documentation site. Please write in markdown paragraphs. +* ESLint may find errors in SLDS markup. Feel free to ask questions to the SLDS team or core maintainers of this library, but most likely the markup is intentional and well-tested. You may need to disable the error with `eslint-disable-line` or `eslint-disable-next-line`. Consider ESlint lint there to catch the rule, but not the well thought-out exception. +* All filenames should be "kabob case," `this-is-the-file`. Spaces and camel-case should be converted to hyphens. + +# Babel Preset folder + +`/preset` folder contains a Babel 6 preset that makes Design System React compatible with Salesforce’s supported browsers. This is a temporary location until a repository is created. + +This preset enables a module bundler, such as Webpack, to transpile Design System React. Using this will make it easier to upgrade in the future without having to manually reconfigure your Babel settings to be compatible with new language features Design System React may use. + +# Benefits of open source software + +* More efficient and effective development + * Faster Time-to-Market + * Reduced development costs +* Overcoming organizational unit boundaries + * Cost and risk sharing among organizational units + * Collaboration across organizational unit boundaries + * Program-wide information exchange +* More successful reuse + * Use of competences missing at component providers + * Independence between re-users and providers + * Relief of component providers +* Better software product + * Increased code quality + * More innovative development +* More flexible utilization of developers + * Simplified developer deployment + * Collaboration of detached developers +* Enhanced knowledge management + * Community-based learning + * Openness and availability of knowledge +* Higher employee motivation + * Shareable work \* Opportunity to lead engineering community diff --git a/docs/create-react-app-2x.md b/docs/create-react-app-2x.md new file mode 100644 index 0000000000..62539bfef0 --- /dev/null +++ b/docs/create-react-app-2x.md @@ -0,0 +1,142 @@ +# Create React App 2x +Bootstrap React App with create-react-app 2x and Salesforce Lightning Design System (SLDS) without ejecting the webpack config + + +## Resources: +- https://reactjs.org/docs/create-a-new-react-app.html +- https://react.lightningdesignsystem.com/ +- https://www.lightningdesignsystem.com/ + + +## Sample Repo +Follow this repo at https://github.com/synle/create-react-app-salesforce-lightning to view a fully functional create-react-app 2x with Salesforce Lightning Design System + + +## Requirements +Make sure you have node js version >=8. You can have it installed using `nvm`, `n` or just binary from your OS of choice + + +## How to run this demo app +``` +npm install +npm start +``` + + +## Step-by-step instruction +### Bootstrap the app +``` +npx create-react-app my-app +cd my-app +npm start +``` + +### Override create-react-app webpack config +By default, create-react-app hides the webpack config from us, we need to use a package called `rewire` to modify the webpack config to properly install salesforce lightning + +More on that here: https://github.com/timarney/react-app-rewired +``` +npm install react-app-rewired --save-dev +``` + +Then changes the package.json scripts to use `react-app-rewired` +``` +/* package.json */ + +"scripts": { + "start": "react-app-rewired start", + "build": "react-app-rewired build", + "test": "react-app-rewired test --env=jsdom", +} +``` + + +### Customize the `config-overrides.js` for webpack +Create a new file called `config-overrides.js` with the following content +``` +const path = require('path'); + +module.exports = function override(config, env) { + config.module.rules = [ + // salesforce dependencies + // this will compile salesforce lightning as src, not as package + { + test: /\.jsx?$/, + include: [ + 'node_modules/@salesforce/design-system-react', + ].map( + someDir => path.resolve( + process.cwd(), + someDir + ) + ), + loader: require.resolve('babel-loader'), + options: { + presets: [ + "react-app" + ], + }, + }, + ].concat(config.module.rules); + + return config; +} +``` + + +### Add salesforce lightning +``` +npm install --save @salesforce-ux/design-system @salesforce/design-system-react +``` + +### Copy over Salesforce Lightning static asset +Follow the instruction from Salesforce lightning website at https://github.com/salesforce/design-system-react/blob/master/docs/create-react-app.md + +Overall, you need to copy the following items: CSS, Fonts, and icon SVGs +#### Salesforce Lightning CSS +``` +cp node_modules/@salesforce-ux/design-system/assets/styles/salesforce-lightning-design-system.min.css public/ +``` + +#### Salesforce Lightning Fonts +``` +cp -r node_modules/@salesforce-ux/design-system/assets/fonts public/ +``` + +#### Salesforce Lightning Icon SVGs +Note that here I copy the icons into `public/assets` instead of `public` as in the original guide from Salesforce Repo. The reason for this is that most code samples from the SLDS page reference the icon path from `assets/icons`. +``` +mkdir -p public/assets +cp -r node_modules/@salesforce-ux/design-system/assets/icons public/assets +``` + + +#### Salesforce Lightning Images / Illustrations +This is optional. But if you are using Salesforce Illustrations, make sure you copy over the illustrations files from Salesforce module +``` +mkdir -p public/assets +cp -r node_modules/\@salesforce/design-system-react/assets/images public/assets/ +``` + + +### Modify index.html to include Salesforce css +Add the following to your `head` tag +``` +<link rel="stylesheet" type="text/css" href="/salesforce-lightning-design-system.min.css"> +``` + + +### Change Salesforce IconSettings +In your index.js (root / entry point file) to set the path to Salesforce Icon. Just wrap it where you would normally mount your app. +``` +import IconSettings from '@salesforce/design-system-react/components/icon-settings'; + + +<IconSettings iconPath="/icons"> +... +</IconSettings> +``` + + +### Explore and Use Salesforce component +Visit this link to start using Salesforce Lightning Design Components https://react.lightningdesignsystem.com/components diff --git a/docs/create-react-app.md b/docs/create-react-app.md new file mode 100644 index 0000000000..35db2bfb38 --- /dev/null +++ b/docs/create-react-app.md @@ -0,0 +1,25 @@ +# Create React App + +The following tasks will help you get started using Design System React within Create React App 1.x. If you are using Create React App 2.x, please follow this instruction link https://github.com/salesforce/design-system-react/blob/master/docs/create-react-app-2x.md + +Do you have tips to share with other Create React Users users? Please share with the rest of the Create React community and add to the list below. + +## Getting Started + +1. Create a new app + * `create-react-app my-react-app` +1. Install NPM modules + * `cd my-react-app && npm install @salesforce-ux/design-system @salesforce/design-system-react` +1. Copy SLDS CSS file to `public` folder + * `cp node_modules/@salesforce-ux/design-system/assets/styles/salesforce-lightning-design-system.min.css public/` +1. Copy SLDS icons folder to `public` folder + * `cp -r node_modules/@salesforce-ux/design-system/assets/icons public/` +1. Copy SLDS fonts folder to `public` folder + * `cp -r node_modules/@salesforce-ux/design-system/assets/fonts public/` +1. Add CSS file to `index.html` + * `<link rel="stylesheet" type="text/css" href="/salesforce-lightning-design-system.min.css">` +1. Copy examples from [Design System React website](https://react.lightningdesignsystem.com/) into `app.js`. +1. Update imports to named imports (CommonJS build) of Design System React. + * `import { Button, IconSettings } from '@salesforce/design-system-react';` +1. Modify the `iconPath` prop of `IconSettings` to output the correct path to the icons in the public folder. + * `<IconSettings iconPath="/icons">{// doc site examples}</IconSettings>` diff --git a/docs/design-system-react-logo-type.svg b/docs/design-system-react-logo-type.svg new file mode 100644 index 0000000000..8a66ff02c0 --- /dev/null +++ b/docs/design-system-react-logo-type.svg @@ -0,0 +1,28 @@ +<?xml version="1.0" encoding="UTF-8"?> +<svg width="472px" height="152px" viewBox="0 0 472 152" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> + <!-- Generator: Sketch 47.1 (45422) - http://www.bohemiancoding.com/sketch --> + <title>Slice 1 + Created with Sketch. + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/faq.md b/docs/faq.md new file mode 100644 index 0000000000..4e359361ac --- /dev/null +++ b/docs/faq.md @@ -0,0 +1,4 @@ +# Frequently Asked Questions +* [Why do my icons not show up in IE11?](browser-compatibility.md#internet-explorer-11-support) +* [Why aren't my ES6 imports ("unexpected token"), icons, styles, or fonts working in Create React App?](create-react-app.md) +* [Where are icons on the Salesforce platform?](salesforce-platform.md) diff --git a/docs/getting-started.md b/docs/getting-started.md new file mode 100644 index 0000000000..ae42e507e2 --- /dev/null +++ b/docs/getting-started.md @@ -0,0 +1,112 @@ +# Getting Started + +## Install + +``` +$ npm install @salesforce-ux/design-system @salesforce/design-system-react +``` + +## Project Overview + +Design System React is an implementation of the [Lightning Design System](http://www.lightningdesignsystem.com/) where each Design System React component is a specific variant of a component from Lightning Design System. For example, [Combobox](components/comboboxes) represents [Lightning Design System Menu > Dropdown](http://www.lightningdesignsystem.com/components/combobox). + +If you are new to React or an application state container like Redux, please review the tips and tutorials on the [Resources](/resources/) page along with the Concepts and Best Practices section of the [Contributing](/contributing/) page. + +The easiest way to get started with Design System React is to click through to any of our [examples](/components) where you can play with it live. + +Design System React is currently optimized for React ${reactVersion} and Lightning Design System ${sldsVersion}. + +### Quick Setup (CommonJS) + +A CommonJS-compatible version has been included within the NPM package to allows usage without transpiling. Use the following named `import` syntax to access CommonJS components from `/lib/index.js`: + +``` +import { Button } from '@salesforce/design-system-react'; + +